From xen-devel-bounces@lists.xenproject.org Wed Mar 01 00:19:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 00:19:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503803.776103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXABT-0008Tz-5o; Wed, 01 Mar 2023 00:19:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503803.776103; Wed, 01 Mar 2023 00: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 1pXABT-0008Ts-2q; Wed, 01 Mar 2023 00:19:03 +0000
Received: by outflank-mailman (input) for mailman id 503803;
 Wed, 01 Mar 2023 00: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 1pXABR-0008R9-N6; Wed, 01 Mar 2023 00: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 1pXABR-0001OT-Kb; Wed, 01 Mar 2023 00: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 1pXABR-0006Oz-18; Wed, 01 Mar 2023 00:19:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXABR-0000RX-0l; Wed, 01 Mar 2023 00:19: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=3dXzKYSgsq9dXOxOxXcV0HgjgxavWO3ZxUI+i3v7jGY=; b=HTeFdED5nbwz4O6DdbR0/G4Clw
	5+nDpfwYVlZhgswurfkYlJwDlcidQLN+btYlTiw5pQpiwUqLS5nR9sDJzyA9SCbbCONEseLNA+e3K
	Hdr4t/lw8r2bMDDqgPNMO1dLYhmodJPzQZBUpvuAC9ZhdsCjZvsDldyMeZWR081YJK5k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178753-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 178753: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=ae3419fbac845b4d3f3a9fae4cc80c68d82cdf6e
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Mar 2023 00:19:01 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 178042
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-arm64-arm64-xl          17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 178042
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                ae3419fbac845b4d3f3a9fae4cc80c68d82cdf6e
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z    7 days
Failing since        178093  2023-02-22 05:02:47 Z    6 days   13 attempts
Testing same since   178753  2023-02-28 08:44:25 Z    0 days    1 attempts

------------------------------------------------------------
1928 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 01:43:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 01:43:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503811.776113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXBVM-0001bc-K6; Wed, 01 Mar 2023 01:43:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503811.776113; Wed, 01 Mar 2023 01: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 1pXBVM-0001bU-Ew; Wed, 01 Mar 2023 01:43:40 +0000
Received: by outflank-mailman (input) for mailman id 503811;
 Wed, 01 Mar 2023 01:43:39 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pXBVL-0001bK-5u; Wed, 01 Mar 2023 01:43: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 1pXBVK-0001ew-SB; Wed, 01 Mar 2023 01:43:38 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pXBVK-0008Kq-GA; Wed, 01 Mar 2023 01:43:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXBVK-0005fg-Fk; Wed, 01 Mar 2023 01:43:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=iPHMq5jkB8k2o0InSKdl76TwZ1tcCDB7HvhayztOL60=; b=ty+nH76ObFrdyxubF5JMlpHyzL
	cRyeOQ9kE7vtevwITdTsKxU+HACi2jMjrgXD1AC1uH1sicMCVNHWTlEG6FcHwk5kapSNAGUd8n83t
	phs3hiBe6ioHgQVr7iGVmAuF+9uV+zvY9+OX7Kpi+5apCV13/ZuVux4WmtVT7Qkqusfs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178771-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 178771: tolerable trouble: fail/pass/starved - 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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-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-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-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=bfc3780f23ded229f42a2565783e21c32083bbfd
X-Osstest-Versions-That:
    xen=608f85a1818697156b72ace4913a17c8178a0ef5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Mar 2023 01:43:38 +0000

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

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 178616
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 178616
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178616
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178616
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 178616
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 178616
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178616
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 178616
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178616
 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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-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-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-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     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  bfc3780f23ded229f42a2565783e21c32083bbfd
baseline version:
 xen                  608f85a1818697156b72ace4913a17c8178a0ef5

Last test of basis   178616  2023-02-27 01:53:22 Z    1 days
Failing since        178673  2023-02-27 15:09:21 Z    1 days    3 attempts
Testing same since   178726  2023-02-28 02:47:08 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Edwin Török <edwin.torok@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   608f85a181..bfc3780f23  bfc3780f23ded229f42a2565783e21c32083bbfd -> master


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 02:24:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 02:24:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503831.776179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXC93-0007Tb-E2; Wed, 01 Mar 2023 02:24:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503831.776179; Wed, 01 Mar 2023 02: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 1pXC93-0007TU-9c; Wed, 01 Mar 2023 02:24:41 +0000
Received: by outflank-mailman (input) for mailman id 503831;
 Wed, 01 Mar 2023 02: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=U+Ik=6Z=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXC91-0007TN-R0
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 02:24:39 +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 367750c9-b7d8-11ed-969b-2f268f93b82a;
 Wed, 01 Mar 2023 03:24:38 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id D199BB80E95;
 Wed,  1 Mar 2023 02:24:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D5FB4C433EF;
 Wed,  1 Mar 2023 02:24: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: 367750c9-b7d8-11ed-969b-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677637475;
	bh=sKGaTfCyzwdZpShNXy2QehrvmJmBlYrY5TcY938aNBY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=qy83DXzdgmfCmqtkXDAFamzsVp7KFwdWTk2wqYe9LfWxCaGvaCFp4F6I/P2X1WZHX
	 /AW+Jx/KZsIOr6pfTsRljfCkr2E0bc2e3vdPFgrb8YDV9pKxKn3u/lq3vr/pZf+QRr
	 kBG6Xl9wXv1xrlUmSH3KtVHkYk28LGekzYCmkqbLT7MROIOASlPTWwCWPKP3WY/sS8
	 lcJm4zGX3sYtPS7pkCtZOwpJruuB1DRVe5fWQazFvPI3I0ouH7UhKFT9TQhd8aKGVx
	 E2/qlD/J0t1K/G/odfuz/zssQivs78UyBUSdqT5QMIvre3WlDSDl49L/GEYDeywOa4
	 k4JZ4BQW7xqtQ==
Date: Tue, 28 Feb 2023 18:24:32 -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: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] automation: Always pull base image when building a
 container
In-Reply-To: <20230228182226.52201-1-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2302281824250.3680@ubuntu-linux-20-04-desktop>
References: <20230228182226.52201-1-anthony.perard@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 28 Feb 2023, Anthony PERARD wrote:
> Ask docker to check if there's an update of the base image to avoid
> using an old container cached locally.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

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

> ---
>  automation/build/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/automation/build/Makefile b/automation/build/Makefile
> index f1d56ce532..4df43b0407 100644
> --- a/automation/build/Makefile
> +++ b/automation/build/Makefile
> @@ -16,7 +16,7 @@ help:
>  include yocto/yocto.inc
>  
>  %: %.dockerfile ## Builds containers
> -	$(DOCKER_CMD) build -t $(REGISTRY)/$(@D):$(@F) -f $< $(<D)
> +	$(DOCKER_CMD) build --pull -t $(REGISTRY)/$(@D):$(@F) -f $< $(<D)
>  	@if [ ! -z $${PUSH+x} ]; then \
>  		$(DOCKER_CMD) push $(REGISTRY)/$(@D):$(@F); \
>  	fi
> -- 
> Anthony PERARD
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 02:25:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 02:25:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503835.776188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXC9i-0007z8-LE; Wed, 01 Mar 2023 02:25:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503835.776188; Wed, 01 Mar 2023 02: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 1pXC9i-0007z1-Ig; Wed, 01 Mar 2023 02:25:22 +0000
Received: by outflank-mailman (input) for mailman id 503835;
 Wed, 01 Mar 2023 02:25: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=U+Ik=6Z=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXC9h-0007mN-BS
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 02:25:21 +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 4e40bdc6-b7d8-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 03:25:17 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id F3723B80E95;
 Wed,  1 Mar 2023 02:25:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DFBA3C433EF;
 Wed,  1 Mar 2023 02:25: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: 4e40bdc6-b7d8-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677637515;
	bh=tlwaCfkfcxCvHipB4tcmH1hImpj+EBdBH6Kyth40qvI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hK/rdESZIqlJUyCWK5yEmcn5RINoZSORmegCzLpoF5eTbpYWdpn9xKXSqNogVQR/S
	 YNPPMOhP4ZzBCg5DNRDy+F6pk2vurUzkVSgmb7bLJckE/0xRyJ6P5COxCU2yzje0sH
	 ez5s67LHg/9F2/QbRaTsimqxLYXVN+NIub5PWJ3S0fiFLoXsA0Hy75bOOpCLV77xO7
	 geWAECOLN2cl7JORWuc28DxeriZAP9YqPRcsidf+rqvXcR2iZ75S1xupuO80kUge5G
	 xwI8Zty+7OqM3RVjOGW2ibAuHQwNFLq/R/FZ4GUq2yj2umn8USkNW6NlWCWdV1WVE/
	 DynMbXbqs8iJQ==
Date: Tue, 28 Feb 2023 18:25:13 -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: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] automation: Rework archlinux container
In-Reply-To: <20230228181649.51066-1-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2302281825050.3680@ubuntu-linux-20-04-desktop>
References: <20230228181649.51066-1-anthony.perard@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 28 Feb 2023, Anthony PERARD wrote:
> Base image "archlinux/base" isn't available anymore,
>     https://lists.archlinux.org/pipermail/arch-dev-public/2020-November/030181.html
> 
> But instead of switching to archlinux/archlinux, we will use the
> official image from Docker. Main difference is that the first one is
> updated daily while the second is updated weekly.
> 
> Also, as we will install the packages from "base-devel" anyway, switch
> to the "base-devel" tag.
> 
> "dev86" package is now available from the main repo, no need for
> multilib repo anymore.
> 
> It is recommended to initialise local signing key used by pacman, so
> let's do that.
> 
> Replace "markdown" by "discount" as the former isn't available anymore
> and has been replaced by the later.
> 
> Also, clean pacman's cache.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

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


> ---
> 
> Notes:
>     Testing done here:
>     https://gitlab.com/xen-project/people/anthonyper/xen/-/pipelines/791402512
> 
>  automation/build/archlinux/current.dockerfile | 11 +++++------
>  1 file changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/automation/build/archlinux/current.dockerfile b/automation/build/archlinux/current.dockerfile
> index d46fc9d9ca..13fb472d9e 100644
> --- a/automation/build/archlinux/current.dockerfile
> +++ b/automation/build/archlinux/current.dockerfile
> @@ -1,16 +1,15 @@
> -FROM archlinux/base
> +FROM archlinux:base-devel
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> -# Enable multilib repo, for dev86 package
> -RUN echo $'[multilib]\nInclude = /etc/pacman.d/mirrorlist' >> /etc/pacman.conf
> +RUN pacman-key --init
>  
>  RUN pacman -S --refresh --sysupgrade --noconfirm --noprogressbar --needed \
> -        base-devel \
>          bin86 \
>          bridge-utils \
>          bzip2 \
>          dev86 \
> +        discount \
>          dtc \
>          e2fsprogs \
>          ghostscript \
> @@ -29,7 +28,6 @@ RUN pacman -S --refresh --sysupgrade --noconfirm --noprogressbar --needed \
>          libnl \
>          libpng \
>          libseccomp \
> -        markdown \
>          net-tools \
>          nss \
>          perl \
> @@ -46,7 +44,8 @@ RUN pacman -S --refresh --sysupgrade --noconfirm --noprogressbar --needed \
>          wget \
>          xz \
>          yajl \
> -        zlib
> +        zlib \
> +    && yes | pacman -S --clean --clean
>  
>  ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl
>  
> -- 
> Anthony PERARD
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 06:38:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 06:38:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503844.776199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXG6R-0006YX-4w; Wed, 01 Mar 2023 06:38:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503844.776199; Wed, 01 Mar 2023 06:38:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXG6R-0006YQ-1N; Wed, 01 Mar 2023 06:38:15 +0000
Received: by outflank-mailman (input) for mailman id 503844;
 Wed, 01 Mar 2023 06:38: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=SCR+=6Z=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pXG6P-0006YH-EM
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 06:38: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 a1b50f64-b7fb-11ed-969e-2f268f93b82a;
 Wed, 01 Mar 2023 07:38:11 +0100 (CET)
Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com
 [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id
 us-mta-626-OEZUUfguMdiWHgWOadDUDw-1; Wed, 01 Mar 2023 01:38:07 -0500
Received: by mail-wm1-f71.google.com with SMTP id
 l16-20020a05600c1d1000b003e77552705cso4935181wms.7
 for <xen-devel@lists.xenproject.org>; Tue, 28 Feb 2023 22:38:07 -0800 (PST)
Received: from [192.168.8.100] (tmo-114-247.customers.d1-online.com.
 [80.187.114.247]) by smtp.gmail.com with ESMTPSA id
 u4-20020adff884000000b002c70851bfcasm11667249wrp.28.2023.02.28.22.38.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Feb 2023 22:38: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: a1b50f64-b7fb-11ed-969e-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677652689;
	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=DzMm3fUBKREDceB/hwB0g6aZBhTXaxovuybVbMipqtM=;
	b=DXj1wR47wpMcRPlgfhSkLRjar7Zpf36fwWINAWcQooVZVe8W6YjUR7h9x3do4aNYp4dFAZ
	3LNZjQaCLJlbE0AJehOdijIBVb7+hsXRQHKrZmHZN2GoUuV7HKHiP9IaT3kGnEcytsSOuj
	2K6n0OulCAQdf/U20/ppfVyMeq1qF4w=
X-MC-Unique: OEZUUfguMdiWHgWOadDUDw-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=DzMm3fUBKREDceB/hwB0g6aZBhTXaxovuybVbMipqtM=;
        b=Kn9DR+jJ6rXFvfdgRCC5ptTuj+OoSUOGZs0YUTy+L7SJ9cd3T+mIPCr7KcepESaVsH
         M0GwdpKxoW8C9jlzRuz7hTPN7e8yaw2THFkLSvyVkzuGarij9XRqOqAdKTdXdgdySxDa
         ZYdmKV1lOy/fZZ802lKclb1mXwYHOQCWQBf+SVt5CQhIB2Mf4J8ReTB3JuD0lIJx0Xov
         hdOOoKPUsBqD7BAj/rAevcYDS4WQqmTVe7ZDh7v2fWwqwmZJyXi5IGT/gi3fnOEUY2mm
         ndn7ifVEpmc4f8L+sN0tz8/snIhDW+h6WSjAo2xt/KyFim4DGsKsfGYaJ10XbMBR5JS+
         892A==
X-Gm-Message-State: AO0yUKW/YZPL4SYVFPMM2gC/q9ES6hLAVsjuSWVRCrVK5OKSyJ8/pCT/
	fFofoNbsIvr1cpMK5pFpRQrX6uReR/F156oQwTlTLkTJ7d4tTa6MFFPvg5J7/W8Ldz7m8c9Yxcu
	FFUcJKCC/SHQYD5seCkxI3g0suDw=
X-Received: by 2002:adf:ed8f:0:b0:2c9:e5f0:bd4f with SMTP id c15-20020adfed8f000000b002c9e5f0bd4fmr3769337wro.18.1677652686747;
        Tue, 28 Feb 2023 22:38:06 -0800 (PST)
X-Google-Smtp-Source: AK7set+V39Q49fA9fFcyx9YeNU/nuEuV9BMhuxhc3OI7luNwKM5DIGf2neEPGFF8ADivpvznnmg9sw==
X-Received: by 2002:adf:ed8f:0:b0:2c9:e5f0:bd4f with SMTP id c15-20020adfed8f000000b002c9e5f0bd4fmr3769321wro.18.1677652686484;
        Tue, 28 Feb 2023 22:38:06 -0800 (PST)
Message-ID: <85aa3a6c-63a5-ad1c-b7c5-201ceedcc3ce@redhat.com>
Date: Wed, 1 Mar 2023 07:38:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>,
 qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
References: <20230227111050.54083-1-thuth@redhat.com>
 <Y/z4rwv09Ckhbtfp@redhat.com>
 <001bedba-b12f-4dd8-0866-7ccb9ce877d0@redhat.com>
 <Y/3C+jC3Lk5MJxfu@redhat.com>
 <99a83e65-273a-ea1b-e7d9-bbdd8ca32145@redhat.com>
 <20230228162938-mutt-send-email-mst@kernel.org>
From: Thomas Huth <thuth@redhat.com>
In-Reply-To: <20230228162938-mutt-send-email-mst@kernel.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: 7bit

On 28/02/2023 22.32, Michael S. Tsirkin wrote:
> On Tue, Feb 28, 2023 at 09:05:16PM +0100, Thomas Huth wrote:
>> Well, without CI, I assume that the code will bitrot quite fast (considering
>> that there are continuous improvements to TCG, for example).
> 
> We have lots of hosts which we don't test with CI.  They don't bitrot
> because people do testing before release.

Other hosts don't bitrot completely since there are still people out there 
who are interested in those host systems. But are you aware of anybody who's 
still actively interested in 32-bit x86 host systems and thus makes sure 
that QEMU would still work fine there when we publish release candidates?

  Thomas



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 07:03:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 07:03:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503850.776209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXGUu-0002ZK-56; Wed, 01 Mar 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 503850.776209; Wed, 01 Mar 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 1pXGUu-0002ZD-29; Wed, 01 Mar 2023 07:03:32 +0000
Received: by outflank-mailman (input) for mailman id 503850;
 Wed, 01 Mar 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=eCEC=6Z=csgroup.eu=christophe.leroy@srs-se1.protection.inumbo.net>)
 id 1pXGUs-0002Z7-Ba
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 07:03:31 +0000
Received: from FRA01-PR2-obe.outbound.protection.outlook.com
 (mail-pr2fra01on20601.outbound.protection.outlook.com
 [2a01:111:f400:7e18::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a32436a-b7ff-11ed-969e-2f268f93b82a;
 Wed, 01 Mar 2023 08:03:27 +0100 (CET)
Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:31::15)
 by MR1P264MB2963.FRAP264.PROD.OUTLOOK.COM (2603:10a6:501:3c::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17; Wed, 1 Mar
 2023 07:03:23 +0000
Received: from MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM
 ([fe80::3943:154a:eccc:fe3a]) by MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM
 ([fe80::3943:154a:eccc:fe3a%6]) with mapi id 15.20.6156.017; Wed, 1 Mar 2023
 07:03: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: 2a32436a-b7ff-11ed-969e-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QRaIHxPBKyAOzYtDkvrOdlGgjfLfrW2xsx4K8SfG/Wyv9EQQPbjOQ2OewjRPIIzVs4yzTU0VGJGknuvEkd4dcTOKJ+8Q1hvqsQaceXLTBTEHyHqf+qnLSTXdO1o1UTv6YQvAVZ1L7Ubj49WQErz9Vh31hN9lqTuxDr/GMZmOBFtahyD5nPpnnQGy+IkOuebJwWjCss+sqJIvHfXp7tUlVlKSYVqjqlugipy60kiqBykyKT4dwqqGooT2DYVt65BImcJOFB/qctlpgf6Vhe9FmqPB7pfdPxx3nRb5fdFlTmcK5GA0bf98jKcw295ezXFR1OSz9pKanOVYlH6NJWvRrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+s2qbKmxTA0ilMY0/y6g4AfZc9wn2uyk0k39JDQ38RA=;
 b=kv2l0jr3V2xvPnwDVFf0YnlGy/4PYlF+Rpgat5JwMrNp+660kXz/sZj+qrpodXp5B1dZj9w654Ji8HdiCS0mojW4Qes6ZPg/Eu1jbQ+OkGyuTL7LPH748KtW2aODI3K4NZIh2ncGMmIw11p8Jp1CBFzCFfdXJzr3BQt1b4Wx1906440d+I3WYP4iupfy1WyaLOEsYwXhpOfO1cIvprHag0j9JBsc0SiXSvWd/HZHnqAaNBvRCsvu8zar3ctkbj0rw/ifoxMzROE3MsRn7mdcGuRE+SlKfIO5RCiegOplsYNdNDUfkceqX+WOzfgu555dYl4Z2skUa+tETfFPXun/ww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=csgroup.eu; dmarc=pass action=none header.from=csgroup.eu;
 dkim=pass header.d=csgroup.eu; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csgroup.eu;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+s2qbKmxTA0ilMY0/y6g4AfZc9wn2uyk0k39JDQ38RA=;
 b=3QFuDq3CFcdRRI5Ser0oo+QNe5S/cdRgtqypiKL6hTcWg452U8H4qQhFJs5U9z2Mo9m28abU7mRE2bfOXNRtGajl7ft/+egnAZi0/WzBdsvt+dp0eViz90pwRD1eVzn9G1QatP6HgNBvEPVoi259dRUdR5sowSCFpW2j0Uy6FC/yUWc1S0xdnAQc6HHgWOi2qKtYnrEASJxHPblqRChbtTv+EjQ1oL4zpwE/mIwMzLZ+Ys6dXjlsqtYuL/KwnbM0Kxsw+bGAzsMYwmV6G4jj2Zm9MePRN+VkC88xzpwe0DlbSysZpjiL/vLi4KNcVHND9qQe0Tp513iYTDGWQ/lGgg==
From: Christophe Leroy <christophe.leroy@csgroup.eu>
To: Rick Edgecombe <rick.p.edgecombe@intel.com>, "x86@kernel.org"
	<x86@kernel.org>, "H . Peter Anvin" <hpa@zytor.com>, Thomas Gleixner
	<tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>, "linux-mm@kvack.org"
	<linux-mm@kvack.org>, "linux-arch@vger.kernel.org"
	<linux-arch@vger.kernel.org>, "linux-api@vger.kernel.org"
	<linux-api@vger.kernel.org>, Arnd Bergmann <arnd@arndb.de>, Andy Lutomirski
	<luto@kernel.org>, Balbir Singh <bsingharora@gmail.com>, Borislav Petkov
	<bp@alien8.de>, Cyrill Gorcunov <gorcunov@gmail.com>, Dave Hansen
	<dave.hansen@linux.intel.com>, Eugene Syromiatnikov <esyr@redhat.com>,
	Florian Weimer <fweimer@redhat.com>, "H . J . Lu" <hjl.tools@gmail.com>, Jann
 Horn <jannh@google.com>, Jonathan Corbet <corbet@lwn.net>, Kees Cook
	<keescook@chromium.org>, Mike Kravetz <mike.kravetz@oracle.com>, Nadav Amit
	<nadav.amit@gmail.com>, Oleg Nesterov <oleg@redhat.com>, Pavel Machek
	<pavel@ucw.cz>, Peter Zijlstra <peterz@infradead.org>, Randy Dunlap
	<rdunlap@infradead.org>, Weijiang Yang <weijiang.yang@intel.com>, "Kirill A .
 Shutemov" <kirill.shutemov@linux.intel.com>, John Allen <john.allen@amd.com>,
	"kcc@google.com" <kcc@google.com>, "eranian@google.com" <eranian@google.com>,
	"rppt@kernel.org" <rppt@kernel.org>, "jamorris@linux.microsoft.com"
	<jamorris@linux.microsoft.com>, "dethoma@microsoft.com"
	<dethoma@microsoft.com>, "akpm@linux-foundation.org"
	<akpm@linux-foundation.org>, "Andrew.Cooper3@citrix.com"
	<Andrew.Cooper3@citrix.com>, "christina.schimpe@intel.com"
	<christina.schimpe@intel.com>, "david@redhat.com" <david@redhat.com>,
	"debug@rivosinc.com" <debug@rivosinc.com>
CC: "linux-alpha@vger.kernel.org" <linux-alpha@vger.kernel.org>,
	"linux-snps-arc@lists.infradead.org" <linux-snps-arc@lists.infradead.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>, "linux-csky@vger.kernel.org"
	<linux-csky@vger.kernel.org>, "linux-hexagon@vger.kernel.org"
	<linux-hexagon@vger.kernel.org>, "linux-ia64@vger.kernel.org"
	<linux-ia64@vger.kernel.org>, "loongarch@lists.linux.dev"
	<loongarch@lists.linux.dev>, "linux-m68k@lists.linux-m68k.org"
	<linux-m68k@lists.linux-m68k.org>, Michal Simek <monstr@monstr.eu>, Dinh
 Nguyen <dinguyen@kernel.org>, "linux-mips@vger.kernel.org"
	<linux-mips@vger.kernel.org>, "linux-openrisc@vger.kernel.org"
	<linux-openrisc@vger.kernel.org>, "linux-parisc@vger.kernel.org"
	<linux-parisc@vger.kernel.org>, "linuxppc-dev@lists.ozlabs.org"
	<linuxppc-dev@lists.ozlabs.org>, "linux-riscv@lists.infradead.org"
	<linux-riscv@lists.infradead.org>, "linux-s390@vger.kernel.org"
	<linux-s390@vger.kernel.org>, "linux-sh@vger.kernel.org"
	<linux-sh@vger.kernel.org>, "sparclinux@vger.kernel.org"
	<sparclinux@vger.kernel.org>, "linux-um@lists.infradead.org"
	<linux-um@lists.infradead.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v7 13/41] mm: Make pte_mkwrite() take a VMA
Thread-Topic: [PATCH v7 13/41] mm: Make pte_mkwrite() take a VMA
Thread-Index: AQHZSvtMVWq6enVtskutx66Pu8O0k67lgdyA
Date: Wed, 1 Mar 2023 07:03:23 +0000
Message-ID: <1f8b78b6-9f34-b646-68f2-eac62136b9f4@csgroup.eu>
References: <20230227222957.24501-1-rick.p.edgecombe@intel.com>
 <20230227222957.24501-14-rick.p.edgecombe@intel.com>
In-Reply-To: <20230227222957.24501-14-rick.p.edgecombe@intel.com>
Accept-Language: fr-FR, en-US
Content-Language: fr-FR
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=csgroup.eu;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: MRZP264MB2988:EE_|MR1P264MB2963:EE_
x-ms-office365-filtering-correlation-id: 3b6a53d1-60ab-42a8-7040-08db1a230c5a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 xF1iWtaoL2VO69UhbURk7+Q7/+rVs2noIlDq5WmxU+g5bdu23GkDjFLWiyTfEPIalapJqgK3Hh8PWm9WZsLn2zgUfg9oILZrYiae5/z96MEH0F9lJw9frCSzdAV7FvjgCxfULuLZJ3ta3cGiLCNpav6t9Kf7Oh6XBikReLswY8L2pXgP/ldjwhMgtRI703GQ2/9LVSLCSWKS5iWREbhyEykE2EySwoLs/rXRj3mDYcqc6sW+IMxy+9VAMjx0nMExx/w9AJF4X1KO3TWIx7HNwEkhiTvhxbPiRxrsJSOJJRUW/vIbg2Oe8aNUNUar/6tO968iBGYXvF7PLep/nrQhqD41xvJquAN95lGGnZNXM5/o4qeW5S5bALUEYWIFrZOUIU+kT30Npe9lFh93PhY+SsGzqXV96UC/+0UoAsNyJMPxYuYNthweSLkPIBmQ2CE51MycF21BeIQ/+IS8oHNZszsXAP9v7r0TEnoSOyC4wrfIE77gJZVsv+dAct20pB3lMaYHoIsGyXOvMzaRY2Oz3qbZk6E1lMV4W67J1UatuErKDRi1KByxK5OOeRqqq+1qxJ9rIRrCSoIfQ0PDPaCOdvGKVc5brtETDgA8RvP9IvqqZ3vdD1/RbYocXeTVHXgwPlMTWBLPqKXYCN9DPDVtlvpBv8jOKvbZQbBd3WDqywu37iP5ykjAZFgMSht+WBQxuizTeFjkrAXDYMOLtjL3dOhG40b7QbhnD3RZwZFecaxXB378WzeOmEVs8ZemxxsZLDil0FLFR3JuX+2Qc4b5pA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(346002)(39860400002)(396003)(136003)(376002)(451199018)(316002)(31696002)(86362001)(38070700005)(41300700001)(91956017)(76116006)(2616005)(66476007)(66446008)(8676002)(66946007)(66556008)(4326008)(64756008)(7406005)(66574015)(30864003)(7366002)(5660300002)(186003)(478600001)(122000001)(71200400001)(31686004)(36756003)(7416002)(44832011)(2906002)(110136005)(54906003)(6512007)(26005)(38100700002)(6506007)(6486002)(921005)(8936002)(83380400001)(966005)(43740500002)(45980500001)(579004)(559001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?b0tzNmMyOUdUUzJSVjNrYmJzUFoySTVWY3lmOWZZbGFTVEdFWFF1RnR3OGZO?=
 =?utf-8?B?eERSWWg0TnViRjgxS2FjdGhaQ3RnSzBZMHk1cXlBRk9SaXgvVDlrNm1veWRO?=
 =?utf-8?B?ZGFsQlovdzVhOUQ1Yk1XMDZSWFQxWjg1ZE91VXNONGxBTEt6NEdoc0s1Y3Zz?=
 =?utf-8?B?WllsT1E4M2tOZGx2RUg1RTZNQ3gwTFg2cU5iU08wZzhTM25wWnFCSVNsMkMy?=
 =?utf-8?B?NzBGVi8rSkJuN1JMMTJpbW1jOFRsT0hCYzhwYmUwbXRJQ05NMHppSEdvOTNn?=
 =?utf-8?B?b1EydEMyM2NibEViYUVkRDRaT3Y0TEN3c0hkd3ErK2htOFBlTDJoYjVKTVFK?=
 =?utf-8?B?N0h3NTNiOHZtU0VCVjZFVTFQNFMyMW9LRXBCSk9uOHhkTG4wOGpBdzYxQUo5?=
 =?utf-8?B?dGpadElaamFBQWlUNFBRWTYxOUlpd3Zham5UdVlKZVZVK0g5L2l3UTk5TWxi?=
 =?utf-8?B?MklPRzQ3b2EzUGhGcDRIeFl3elVqSFpEcmhjYmc0YXlMNWxwa2hkWGxZRm14?=
 =?utf-8?B?NHE3WllQUm1LeUpDOEh6bDcxbk93M1BJZ3IvQ3lVWmtGOWFoM1laWGlWK0dn?=
 =?utf-8?B?WVN0WDNnSE1JV1hGRVpBdnY4ZzZ4NjRmdzNLOXQwWVY2d1Q0c2xCUjJFaDVv?=
 =?utf-8?B?b3dhejJnRGpxQXdXKzR1R3Rrcm96eHFaSmxudGhOTytoNVUwZnJDWW9aQkhV?=
 =?utf-8?B?ek43bW9mbmtjZ05KdENGVlpxVW5zTE53WDUzV3MzbHV6dktQVUpzNDNFVzJG?=
 =?utf-8?B?N3pFVnphM1hKdys1WnBuRC9wR1JybXljRnIrWFFxb2tQVGFMNDk0QVVNZDV6?=
 =?utf-8?B?dmYwa2M0c0ozcWNOKzVJbmcxK2IzNVI4L3FBWUR6VlNWSXhWcGRhSHMwR2hh?=
 =?utf-8?B?K1NpNkJQSUtnN0NtNUFSMzl1bUd5bWFDTFFCN2hyM3JVang3b0VjYmU1R1Zy?=
 =?utf-8?B?QWFEeGIzZ2k1QWViblFIR0hYYUZFQlpBSllsUFJGWVphcFNaZGpzMDBTQ2VB?=
 =?utf-8?B?YWJBNzRBZloxWG9XRHppNUkyQVpxNEFpeGVDRzFEQTl2cHVERUk4MldNQzFo?=
 =?utf-8?B?cTlZb0hYenV1eURVM0ZmcmQ2bHowNWFsaGdhNEN1VTJJYXdBdHVVRHhKYm9M?=
 =?utf-8?B?VkdYTjZWc3hnKzd1NmFzVFpjUWE3Tk40RjRaK3U1eENIK2RpM3d5dURKbUtO?=
 =?utf-8?B?SlphTGFOT3ZodW5Hc09HVHphSmVwR3d2VnU3dFY4NGpuUGl1ZlRVQlZUVUhP?=
 =?utf-8?B?K1FHMW1GTFlWd0M2a1JxbGRkelRlVE5RV25TeHdRVjdXbEF4US9xeUVGWVh2?=
 =?utf-8?B?SDJZdGJNRjNFT3RwdnlFYTZ4MlR5R2xubStVRExVTnc2UmFGbGtzRTg2d0hj?=
 =?utf-8?B?dlorOVRnc2doNTVGT0hMaDhodzJBWU9aWXJIMlJuWklIVXE2b1NMRlExR2Yw?=
 =?utf-8?B?N1JNcnpsSXZSaWV5cktWaVUzNkZzeXc0clp6UndNaFYwNXhtQWFmbU54SUtX?=
 =?utf-8?B?RG93VWFBTm9pU3h4eUVKbWh3eG04VU15eU5qZTlUZEFhRS9RSUNtRmkzNXUz?=
 =?utf-8?B?RVVRb3FYY0dGZ1loZXV3YWhneEk3dlFzV2lBdDF1MHRoWVppbVNJRWdQNDJU?=
 =?utf-8?B?ZnZ6YXB2eTFyRUZaTk45UVJOcllwWWh5azFXWmZOTFhRM2piU2dGRnVvSThq?=
 =?utf-8?B?QmN0cy9DN2FhSjRtem9HZ2hRbEdiOGpheFhubW9WNi9HQi84VEZHTjUrMEFS?=
 =?utf-8?B?U3N1cDc5VHJFNmpQcGcySFNlTUdvdHZBUXpqT1kxdzFmeWRKUmVaM2hwV2xq?=
 =?utf-8?B?OWtWNEg3eW9GcmJGNDUwY3k5QzhFTGZvNmtZeUVkUWdqMFF2VGVxWjZsdmRr?=
 =?utf-8?B?R3V0ZFcwelFtdFV6QUJQREo1LzRWTGIydERwMUpuVlFRMlBRcVlILzI4RFF3?=
 =?utf-8?B?cnAzZzN0OFlpMnF1RTNwM2dTQS9LVVliNkVxZHpmZmhaQjhUeFhsemk4Mzgx?=
 =?utf-8?B?cE4rQ1RhMlpDcFN6alpjWWQ4RFNvTVFzOERoLzRkMkhQazhqS3VmZDRZd1ZW?=
 =?utf-8?B?MHdBbFFPblZpNGdZSXpXZ3lnbVhLZ1ZFS0Z4TysxWmFEYlUwRDFrRDFFM1kw?=
 =?utf-8?B?b0dxRldNK2U3dVIzNXR1Ri8wTEp3QklHbTQ5RUtoeGVyZWRUcThUUmlsMjQy?=
 =?utf-8?B?ZXc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <951F063560608C438608DF7139AD7BEB@FRAP264.PROD.OUTLOOK.COM>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: csgroup.eu
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MRZP264MB2988.FRAP264.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b6a53d1-60ab-42a8-7040-08db1a230c5a
X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2023 07:03:23.6019
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 9914def7-b676-4fda-8815-5d49fb3b45c8
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: gLItlyHJX1IRQ2MS5XZfp7dI8PVMHosN6+Zzilr/LRoMXtS/2kBJSWdj8kygSlF+83V7I+Um8I4shCYUENcCg/QrKlnh6Nh4Oc0AuZxmZCw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MR1P264MB2963

DQoNCkxlIDI3LzAyLzIwMjMgw6AgMjM6MjksIFJpY2sgRWRnZWNvbWJlIGEgw6ljcml0wqA6DQo+
IFRoZSB4ODYgQ29udHJvbC1mbG93IEVuZm9yY2VtZW50IFRlY2hub2xvZ3kgKENFVCkgZmVhdHVy
ZSBpbmNsdWRlcyBhIG5ldw0KPiB0eXBlIG9mIG1lbW9yeSBjYWxsZWQgc2hhZG93IHN0YWNrLiBU
aGlzIHNoYWRvdyBzdGFjayBtZW1vcnkgaGFzIHNvbWUNCj4gdW51c3VhbCBwcm9wZXJ0aWVzLCB3
aGljaCByZXF1aXJlcyBzb21lIGNvcmUgbW0gY2hhbmdlcyB0byBmdW5jdGlvbg0KPiBwcm9wZXJs
eS4NCj4gDQo+IE9uZSBvZiB0aGVzZSB1bnVzdWFsIHByb3BlcnRpZXMgaXMgdGhhdCBzaGFkb3cg
c3RhY2sgbWVtb3J5IGlzIHdyaXRhYmxlLA0KPiBidXQgb25seSBpbiBsaW1pdGVkIHdheXMuIFRo
ZXNlIGxpbWl0cyBhcmUgYXBwbGllZCB2aWEgYSBzcGVjaWZpYyBQVEUNCj4gYml0IGNvbWJpbmF0
aW9uLiBOZXZlcnRoZWxlc3MsIHRoZSBtZW1vcnkgaXMgd3JpdGFibGUsIGFuZCBjb3JlIG1tIGNv
ZGUNCj4gd2lsbCBuZWVkIHRvIGFwcGx5IHRoZSB3cml0YWJsZSBwZXJtaXNzaW9ucyBpbiB0aGUg
dHlwaWNhbCBwYXRocyB0aGF0DQo+IGNhbGwgcHRlX21rd3JpdGUoKS4NCj4gDQo+IEluIGFkZGl0
aW9uIHRvIFZNX1dSSVRFLCB0aGUgc2hhZG93IHN0YWNrIFZNQSdzIHdpbGwgaGF2ZSBhIGZsYWcg
ZGVub3RpbmcNCj4gdGhhdCB0aGV5IGFyZSBzcGVjaWFsIHNoYWRvdyBzdGFjayBmbGF2b3Igb2Yg
d3JpdGFibGUgbWVtb3J5LiBTbyBtYWtlDQo+IHB0ZV9ta3dyaXRlKCkgdGFrZSBhIFZNQSwgc28g
dGhhdCB0aGUgeDg2IGltcGxlbWVudGF0aW9uIG9mIGl0IGNhbiBrbm93IHRvDQo+IGNyZWF0ZSBy
ZWd1bGFyIHdyaXRhYmxlIG1lbW9yeSBvciBzaGFkb3cgc3RhY2sgbWVtb3J5Lg0KPiANCj4gQXBw
bHkgdGhlIHNhbWUgY2hhbmdlcyBmb3IgcG1kX21rd3JpdGUoKSBhbmQgaHVnZV9wdGVfbWt3cml0
ZSgpLg0KDQpJJ20gbm90IHN1cmUgaXQgaXMgYSBnb29kIGlkZWEgdG8gYWRkIGEgc2Vjb25kIGFy
Z3VtZW50IHRvIA0KcHRlX21rd3JpdGUoKS4gQWxsIHB0ZV9ta3h4eHgoKSBvbmx5IHRha2UgYSBw
dGUgYW5kIG5vdGhpbmcgZWxzZS4NCg0KSSB0aGluayB5b3Ugc2hvdWxkIGRvIHRoZSBzYW1lIGFz
IGNvbW1pdCBkOWVkOWZhYWMyODMgKCJtbTogYWRkIG5ldyANCmFyY2hfbWFrZV9odWdlX3B0ZSgp
IG1ldGhvZCBmb3IgdGlsZSBzdXBwb3J0IikNCg0KQ2hyaXN0b3BoZQ0KDQo+IA0KPiBObyBmdW5j
dGlvbmFsIGNoYW5nZS4NCj4gDQo+IENjOiBsaW51eC1kb2NAdmdlci5rZXJuZWwub3JnDQo+IENj
OiBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnDQo+IENjOiBsaW51eC1hbHBoYUB2Z2VyLmtl
cm5lbC5vcmcNCj4gQ2M6IGxpbnV4LXNucHMtYXJjQGxpc3RzLmluZnJhZGVhZC5vcmcNCj4gQ2M6
IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZw0KPiBDYzogbGludXgtY3NreUB2
Z2VyLmtlcm5lbC5vcmcNCj4gQ2M6IGxpbnV4LWhleGFnb25Admdlci5rZXJuZWwub3JnDQo+IENj
OiBsaW51eC1pYTY0QHZnZXIua2VybmVsLm9yZw0KPiBDYzogbG9vbmdhcmNoQGxpc3RzLmxpbnV4
LmRldg0KPiBDYzogbGludXgtbTY4a0BsaXN0cy5saW51eC1tNjhrLm9yZw0KPiBDYzogTWljaGFs
IFNpbWVrIDxtb25zdHJAbW9uc3RyLmV1Pg0KPiBDYzogRGluaCBOZ3V5ZW4gPGRpbmd1eWVuQGtl
cm5lbC5vcmc+DQo+IENjOiBsaW51eC1taXBzQHZnZXIua2VybmVsLm9yZw0KPiBDYzogbGludXgt
b3BlbnJpc2NAdmdlci5rZXJuZWwub3JnDQo+IENjOiBsaW51eC1wYXJpc2NAdmdlci5rZXJuZWwu
b3JnDQo+IENjOiBsaW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9yZw0KPiBDYzogbGludXgtcmlz
Y3ZAbGlzdHMuaW5mcmFkZWFkLm9yZw0KPiBDYzogbGludXgtczM5MEB2Z2VyLmtlcm5lbC5vcmcN
Cj4gQ2M6IGxpbnV4LXNoQHZnZXIua2VybmVsLm9yZw0KPiBDYzogc3BhcmNsaW51eEB2Z2VyLmtl
cm5lbC5vcmcNCj4gQ2M6IGxpbnV4LXVtQGxpc3RzLmluZnJhZGVhZC5vcmcNCj4gQ2M6IHhlbi1k
ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KPiBDYzogbGludXgtYXJjaEB2Z2VyLmtlcm5lbC5v
cmcNCj4gQ2M6IGxpbnV4LW1tQGt2YWNrLm9yZw0KPiBUZXN0ZWQtYnk6IFBlbmdmZWkgWHUgPHBl
bmdmZWkueHVAaW50ZWwuY29tPg0KPiBUZXN0ZWQtYnk6IEpvaG4gQWxsZW4gPGpvaG4uYWxsZW5A
YW1kLmNvbT4NCj4gVGVzdGVkLWJ5OiBLZWVzIENvb2sgPGtlZXNjb29rQGNocm9taXVtLm9yZz4N
Cj4gQWNrZWQtYnk6IE1pa2UgUmFwb3BvcnQgKElCTSkgPHJwcHRAa2VybmVsLm9yZz4NCj4gQWNr
ZWQtYnk6IE1pY2hhZWwgRWxsZXJtYW4gPG1wZUBlbGxlcm1hbi5pZC5hdT4NCj4gQWNrZWQtYnk6
IERhdmlkIEhpbGRlbmJyYW5kIDxkYXZpZEByZWRoYXQuY29tPg0KPiBSZXZpZXdlZC1ieTogS2Vl
cyBDb29rIDxrZWVzY29va0BjaHJvbWl1bS5vcmc+DQo+IFN1Z2dlc3RlZC1ieTogRGF2aWQgSGls
ZGVuYnJhbmQgPGRhdmlkQHJlZGhhdC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IFJpY2sgRWRnZWNv
bWJlIDxyaWNrLnAuZWRnZWNvbWJlQGludGVsLmNvbT4NCj4gDQo+IC0tLQ0KPiBIaSBOb24teDg2
IEFyY2jigJlzLA0KPiANCj4geDg2IGhhcyBhIGZlYXR1cmUgdGhhdCBhbGxvd3MgZm9yIHRoZSBj
cmVhdGlvbiBvZiBhIHNwZWNpYWwgdHlwZSBvZg0KPiB3cml0YWJsZSBtZW1vcnkgKHNoYWRvdyBz
dGFjaykgdGhhdCBpcyBvbmx5IHdyaXRhYmxlIGluIGxpbWl0ZWQgc3BlY2lmaWMNCj4gd2F5cy4g
UHJldmlvdXNseSwgY2hhbmdlcyB3ZXJlIHByb3Bvc2VkIHRvIGNvcmUgTU0gY29kZSB0byB0ZWFj
aCBpdCB0bw0KPiBkZWNpZGUgd2hlbiB0byBjcmVhdGUgbm9ybWFsbHkgd3JpdGFibGUgbWVtb3J5
IG9yIHRoZSBzcGVjaWFsIHNoYWRvdyBzdGFjaw0KPiB3cml0YWJsZSBtZW1vcnksIGJ1dCBEYXZp
ZCBIaWxkZW5icmFuZCBzdWdnZXN0ZWRbMF0gdG8gY2hhbmdlDQo+IHBYWF9ta3dyaXRlKCkgdG8g
dGFrZSBhIFZNQSwgc28gYXdhcmVuZXNzIG9mIHNoYWRvdyBzdGFjayBtZW1vcnkgY2FuIGJlDQo+
IG1vdmVkIGludG8geDg2IGNvZGUuDQo+IA0KPiBTaW5jZSBwWFhfbWt3cml0ZSgpIGlzIGRlZmlu
ZWQgaW4gZXZlcnkgYXJjaCwgaXQgcmVxdWlyZXMgc29tZSB0cmVlLXdpZGUNCj4gY2hhbmdlcy4g
U28gdGhhdCBpcyB3aHkgeW91IGFyZSBzZWVpbmcgc29tZSBwYXRjaGVzIG91dCBvZiBhIGJpZyB4
ODYNCj4gc2VyaWVzIHBvcCB1cCBpbiB5b3VyIGFyY2ggbWFpbGluZyBsaXN0LiBUaGVyZSBpcyBu
byBmdW5jdGlvbmFsIGNoYW5nZS4NCj4gQWZ0ZXIgdGhpcyByZWZhY3RvciwgdGhlIHNoYWRvdyBz
dGFjayBzZXJpZXMgZ29lcyBvbiB0byB1c2UgdGhlIGFyY2gNCj4gaGVscGVycyB0byBwdXNoIHNo
YWRvdyBzdGFjayBtZW1vcnkgZGV0YWlscyBpbnNpZGUgYXJjaC94ODYuDQo+IA0KPiBUZXN0aW5n
IHdhcyBqdXN0IDAtZGF5IGJ1aWxkIHRlc3RpbmcuDQo+IA0KPiBIb3BlZnVsbHkgdGhhdCBpcyBl
bm91Z2ggY29udGV4dC4gVGhhbmtzIQ0KPiANCj4gWzBdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3Jn
L2xrbWwvMGUyOWEyZDAtMDhkOC1iY2Q2LWZmMjYtNGJlYTBlNDAzN2IwQHJlZGhhdC5jb20vI3QN
Cj4gDQo+IHY2Og0KPiAgIC0gTmV3IHBhdGNoDQo+IC0tLQ0KPiAgIERvY3VtZW50YXRpb24vbW0v
YXJjaF9wZ3RhYmxlX2hlbHBlcnMucnN0ICAgIHwgIDkgKysrKysrLS0tDQo+ICAgYXJjaC9hbHBo
YS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAgICAgfCAgNiArKysrKy0NCj4gICBhcmNo
L2FyYy9pbmNsdWRlL2FzbS9odWdlcGFnZS5oICAgICAgICAgICAgICB8ICAyICstDQo+ICAgYXJj
aC9hcmMvaW5jbHVkZS9hc20vcGd0YWJsZS1iaXRzLWFyY3YyLmggICAgfCAgNyArKysrKystDQo+
ICAgYXJjaC9hcm0vaW5jbHVkZS9hc20vcGd0YWJsZS0zbGV2ZWwuaCAgICAgICAgfCAgNyArKysr
KystDQo+ICAgYXJjaC9hcm0vaW5jbHVkZS9hc20vcGd0YWJsZS5oICAgICAgICAgICAgICAgfCAg
MiArLQ0KPiAgIGFyY2gvYXJtNjQvaW5jbHVkZS9hc20vcGd0YWJsZS5oICAgICAgICAgICAgIHwg
IDQgKystLQ0KPiAgIGFyY2gvY3NreS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAgICAg
IHwgIDIgKy0NCj4gICBhcmNoL2hleGFnb24vaW5jbHVkZS9hc20vcGd0YWJsZS5oICAgICAgICAg
ICB8ICAyICstDQo+ICAgYXJjaC9pYTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaCAgICAgICAgICAg
ICAgfCAgMiArLQ0KPiAgIGFyY2gvbG9vbmdhcmNoL2luY2x1ZGUvYXNtL3BndGFibGUuaCAgICAg
ICAgIHwgIDQgKystLQ0KPiAgIGFyY2gvbTY4ay9pbmNsdWRlL2FzbS9tY2ZfcGd0YWJsZS5oICAg
ICAgICAgIHwgIDIgKy0NCj4gICBhcmNoL202OGsvaW5jbHVkZS9hc20vbW90b3JvbGFfcGd0YWJs
ZS5oICAgICB8ICA2ICsrKysrLQ0KPiAgIGFyY2gvbTY4ay9pbmNsdWRlL2FzbS9zdW4zX3BndGFi
bGUuaCAgICAgICAgIHwgIDYgKysrKystDQo+ICAgYXJjaC9taWNyb2JsYXplL2luY2x1ZGUvYXNt
L3BndGFibGUuaCAgICAgICAgfCAgMiArLQ0KPiAgIGFyY2gvbWlwcy9pbmNsdWRlL2FzbS9wZ3Rh
YmxlLmggICAgICAgICAgICAgIHwgIDYgKysrLS0tDQo+ICAgYXJjaC9uaW9zMi9pbmNsdWRlL2Fz
bS9wZ3RhYmxlLmggICAgICAgICAgICAgfCAgMiArLQ0KPiAgIGFyY2gvb3BlbnJpc2MvaW5jbHVk
ZS9hc20vcGd0YWJsZS5oICAgICAgICAgIHwgIDIgKy0NCj4gICBhcmNoL3BhcmlzYy9pbmNsdWRl
L2FzbS9wZ3RhYmxlLmggICAgICAgICAgICB8ICA2ICsrKysrLQ0KPiAgIGFyY2gvcG93ZXJwYy9p
bmNsdWRlL2FzbS9ib29rM3MvMzIvcGd0YWJsZS5oIHwgIDIgKy0NCj4gICBhcmNoL3Bvd2VycGMv
aW5jbHVkZS9hc20vYm9vazNzLzY0L3BndGFibGUuaCB8ICA0ICsrLS0NCj4gICBhcmNoL3Bvd2Vy
cGMvaW5jbHVkZS9hc20vbm9oYXNoLzMyL3BndGFibGUuaCB8ICAyICstDQo+ICAgYXJjaC9wb3dl
cnBjL2luY2x1ZGUvYXNtL25vaGFzaC8zMi9wdGUtOHh4LmggfCAgMiArLQ0KPiAgIGFyY2gvcG93
ZXJwYy9pbmNsdWRlL2FzbS9ub2hhc2gvNjQvcGd0YWJsZS5oIHwgIDIgKy0NCj4gICBhcmNoL3Jp
c2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaCAgICAgICAgICAgICB8ICA2ICsrKy0tLQ0KPiAgIGFy
Y2gvczM5MC9pbmNsdWRlL2FzbS9odWdldGxiLmggICAgICAgICAgICAgIHwgIDQgKystLQ0KPiAg
IGFyY2gvczM5MC9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAgICAgICAgIHwgIDQgKystLQ0K
PiAgIGFyY2gvc2gvaW5jbHVkZS9hc20vcGd0YWJsZV8zMi5oICAgICAgICAgICAgIHwgMTAgKysr
KysrKystLQ0KPiAgIGFyY2gvc3BhcmMvaW5jbHVkZS9hc20vcGd0YWJsZV8zMi5oICAgICAgICAg
IHwgIDIgKy0NCj4gICBhcmNoL3NwYXJjL2luY2x1ZGUvYXNtL3BndGFibGVfNjQuaCAgICAgICAg
ICB8ICA2ICsrKy0tLQ0KPiAgIGFyY2gvdW0vaW5jbHVkZS9hc20vcGd0YWJsZS5oICAgICAgICAg
ICAgICAgIHwgIDIgKy0NCj4gICBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggICAgICAg
ICAgICAgICB8ICA2ICsrKystLQ0KPiAgIGFyY2gveHRlbnNhL2luY2x1ZGUvYXNtL3BndGFibGUu
aCAgICAgICAgICAgIHwgIDIgKy0NCj4gICBpbmNsdWRlL2FzbS1nZW5lcmljL2h1Z2V0bGIuaCAg
ICAgICAgICAgICAgICB8ICA0ICsrLS0NCj4gICBpbmNsdWRlL2xpbnV4L21tLmggICAgICAgICAg
ICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICAgbW0vZGVidWdfdm1fcGd0YWJsZS5jICAgICAg
ICAgICAgICAgICAgICAgICAgfCAxNiArKysrKysrKy0tLS0tLS0tDQo+ICAgbW0vaHVnZV9tZW1v
cnkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArKystLS0NCj4gICBtbS9odWdl
dGxiLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0NCj4gICBtbS9t
ZW1vcnkuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsrLS0NCj4gICBt
bS9taWdyYXRlX2RldmljZS5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+ICAg
bW0vbXByb3RlY3QuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAg
IG1tL3VzZXJmYXVsdGZkLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4g
ICA0MiBmaWxlcyBjaGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKSwgNjkgZGVsZXRpb25zKC0pDQo+
IA0KPiBkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9tbS9hcmNoX3BndGFibGVfaGVscGVycy5y
c3QgYi9Eb2N1bWVudGF0aW9uL21tL2FyY2hfcGd0YWJsZV9oZWxwZXJzLnJzdA0KPiBpbmRleCAz
MGQ5YTA5ZjAxZjQuLjc4YWMzZmYyZmUxZCAxMDA2NDQNCj4gLS0tIGEvRG9jdW1lbnRhdGlvbi9t
bS9hcmNoX3BndGFibGVfaGVscGVycy5yc3QNCj4gKysrIGIvRG9jdW1lbnRhdGlvbi9tbS9hcmNo
X3BndGFibGVfaGVscGVycy5yc3QNCj4gQEAgLTQ2LDcgKzQ2LDggQEAgUFRFIFBhZ2UgVGFibGUg
SGVscGVycw0KPiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ICAgfCBwdGVfbWtjbGVhbiAg
ICAgICAgICAgICAgIHwgQ3JlYXRlcyBhIGNsZWFuIFBURSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwNCj4gICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiAtfCBwdGVfbWt3cml0ZSAg
ICAgICAgICAgICAgIHwgQ3JlYXRlcyBhIHdyaXRhYmxlIFBURSAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwNCj4gK3wgcHRlX21rd3JpdGUgICAgICAgICAgICAgICB8IENyZWF0ZXMgYSB3cml0
YWJsZSBQVEUgb2YgdGhlIHR5cGUgc3BlY2lmaWVkIGJ5ICB8DQo+ICt8ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfCB0aGUgVk1BLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfA0KPiAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ICAgfCBwdGVfd3Jwcm90ZWN0
ICAgICAgICAgICAgIHwgQ3JlYXRlcyBhIHdyaXRlIHByb3RlY3RlZCBQVEUgICAgICAgICAgICAg
ICAgICAgIHwNCj4gICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiBAQCAtMTE4LDcgKzExOSw4
IEBAIFBNRCBQYWdlIFRhYmxlIEhlbHBlcnMNCj4gICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0K
PiAgIHwgcG1kX21rY2xlYW4gICAgICAgICAgICAgICB8IENyZWF0ZXMgYSBjbGVhbiBQTUQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsN
Cj4gLXwgcG1kX21rd3JpdGUgICAgICAgICAgICAgICB8IENyZWF0ZXMgYSB3cml0YWJsZSBQTUQg
ICAgICAgICAgICAgICAgICAgICAgICAgICB8DQo+ICt8IHBtZF9ta3dyaXRlICAgICAgICAgICAg
ICAgfCBDcmVhdGVzIGEgd3JpdGFibGUgUE1EIG9mIHRoZSB0eXBlIHNwZWNpZmllZCBieSAgfA0K
PiArfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdGhlIFZNQS4gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0K
PiAgIHwgcG1kX3dycHJvdGVjdCAgICAgICAgICAgICB8IENyZWF0ZXMgYSB3cml0ZSBwcm90ZWN0
ZWQgUE1EICAgICAgICAgICAgICAgICAgICB8DQo+ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsN
Cj4gQEAgLTIyMiw3ICsyMjQsOCBAQCBIdWdlVExCIFBhZ2UgVGFibGUgSGVscGVycw0KPiAgICst
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ICAgfCBodWdlX3B0ZV9ta2RpcnR5ICAgICAgICAgIHwg
Q3JlYXRlcyBhIGRpcnR5IEh1Z2VUTEIgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gICAr
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiAtfCBodWdlX3B0ZV9ta3dyaXRlICAgICAgICAgIHwg
Q3JlYXRlcyBhIHdyaXRhYmxlIEh1Z2VUTEIgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gK3wg
aHVnZV9wdGVfbWt3cml0ZSAgICAgICAgICB8IENyZWF0ZXMgYSB3cml0YWJsZSBIdWdlVExCIG9m
IHRoZSB0eXBlIHNwZWNpZmllZCB8DQo+ICt8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBi
eSB0aGUgVk1BLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiAgICst
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0rDQo+ICAgfCBodWdlX3B0ZV93cnByb3RlY3QgICAgICAgIHwg
Q3JlYXRlcyBhIHdyaXRlIHByb3RlY3RlZCBIdWdlVExCICAgICAgICAgICAgICAgIHwNCj4gICAr
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tKw0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9hbHBoYS9pbmNsdWRl
L2FzbS9wZ3RhYmxlLmggYi9hcmNoL2FscGhhL2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiBpbmRl
eCBiYTQzY2I4NDFkMTkuLmZiNWQyMDdjMmE4OSAxMDA2NDQNCj4gLS0tIGEvYXJjaC9hbHBoYS9p
bmNsdWRlL2FzbS9wZ3RhYmxlLmgNCj4gKysrIGIvYXJjaC9hbHBoYS9pbmNsdWRlL2FzbS9wZ3Rh
YmxlLmgNCj4gQEAgLTI1Niw5ICsyNTYsMTMgQEAgZXh0ZXJuIGlubGluZSBpbnQgcHRlX3lvdW5n
KHB0ZV90IHB0ZSkJCXsgcmV0dXJuIHB0ZV92YWwocHRlKSAmIF9QQUdFX0FDQ0VTU0VEOw0KPiAg
IGV4dGVybiBpbmxpbmUgcHRlX3QgcHRlX3dycHJvdGVjdChwdGVfdCBwdGUpCXsgcHRlX3ZhbChw
dGUpIHw9IF9QQUdFX0ZPVzsgcmV0dXJuIHB0ZTsgfQ0KPiAgIGV4dGVybiBpbmxpbmUgcHRlX3Qg
cHRlX21rY2xlYW4ocHRlX3QgcHRlKQl7IHB0ZV92YWwocHRlKSAmPSB+KF9fRElSVFlfQklUUyk7
IHJldHVybiBwdGU7IH0NCj4gICBleHRlcm4gaW5saW5lIHB0ZV90IHB0ZV9ta29sZChwdGVfdCBw
dGUpCXsgcHRlX3ZhbChwdGUpICY9IH4oX19BQ0NFU1NfQklUUyk7IHJldHVybiBwdGU7IH0NCj4g
LWV4dGVybiBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQl7IHB0ZV92YWwocHRl
KSAmPSB+X1BBR0VfRk9XOyByZXR1cm4gcHRlOyB9DQo+ICAgZXh0ZXJuIGlubGluZSBwdGVfdCBw
dGVfbWtkaXJ0eShwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpIHw9IF9fRElSVFlfQklUUzsgcmV0
dXJuIHB0ZTsgfQ0KPiAgIGV4dGVybiBpbmxpbmUgcHRlX3QgcHRlX21reW91bmcocHRlX3QgcHRl
KQl7IHB0ZV92YWwocHRlKSB8PSBfX0FDQ0VTU19CSVRTOyByZXR1cm4gcHRlOyB9DQo+ICtleHRl
cm4gaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3Ry
dWN0ICp2bWEpDQo+ICt7DQo+ICsJcHRlX3ZhbChwdGUpICY9IH5fUEFHRV9GT1c7DQo+ICsJcmV0
dXJuIHB0ZTsNCj4gK30NCj4gICANCj4gICAvKg0KPiAgICAqIFRoZSBzbXBfcm1iKCkgaW4gdGhl
IGZvbGxvd2luZyBmdW5jdGlvbnMgYXJlIHJlcXVpcmVkIHRvIG9yZGVyIHRoZSBsb2FkIG9mDQo+
IGRpZmYgLS1naXQgYS9hcmNoL2FyYy9pbmNsdWRlL2FzbS9odWdlcGFnZS5oIGIvYXJjaC9hcmMv
aW5jbHVkZS9hc20vaHVnZXBhZ2UuaA0KPiBpbmRleCA1MDAxYjc5NmZiOGQuLjIyM2E5Njk2NzE4
OCAxMDA2NDQNCj4gLS0tIGEvYXJjaC9hcmMvaW5jbHVkZS9hc20vaHVnZXBhZ2UuaA0KPiArKysg
Yi9hcmNoL2FyYy9pbmNsdWRlL2FzbS9odWdlcGFnZS5oDQo+IEBAIC0yMSw3ICsyMSw3IEBAIHN0
YXRpYyBpbmxpbmUgcG1kX3QgcHRlX3BtZChwdGVfdCBwdGUpDQo+ICAgfQ0KPiAgIA0KPiAgICNk
ZWZpbmUgcG1kX3dycHJvdGVjdChwbWQpCXB0ZV9wbWQocHRlX3dycHJvdGVjdChwbWRfcHRlKHBt
ZCkpKQ0KPiAtI2RlZmluZSBwbWRfbWt3cml0ZShwbWQpCXB0ZV9wbWQocHRlX21rd3JpdGUocG1k
X3B0ZShwbWQpKSkNCj4gKyNkZWZpbmUgcG1kX21rd3JpdGUocG1kLCB2bWEpCXB0ZV9wbWQocHRl
X21rd3JpdGUocG1kX3B0ZShwbWQpLCAodm1hKSkpDQo+ICAgI2RlZmluZSBwbWRfbWtkaXJ0eShw
bWQpCXB0ZV9wbWQocHRlX21rZGlydHkocG1kX3B0ZShwbWQpKSkNCj4gICAjZGVmaW5lIHBtZF9t
a29sZChwbWQpCQlwdGVfcG1kKHB0ZV9ta29sZChwbWRfcHRlKHBtZCkpKQ0KPiAgICNkZWZpbmUg
cG1kX21reW91bmcocG1kKQlwdGVfcG1kKHB0ZV9ta3lvdW5nKHBtZF9wdGUocG1kKSkpDQo+IGRp
ZmYgLS1naXQgYS9hcmNoL2FyYy9pbmNsdWRlL2FzbS9wZ3RhYmxlLWJpdHMtYXJjdjIuaCBiL2Fy
Y2gvYXJjL2luY2x1ZGUvYXNtL3BndGFibGUtYml0cy1hcmN2Mi5oDQo+IGluZGV4IDZlOWY4Y2E2
ZDZhMS4uYTViOGJjOTU1MDE1IDEwMDY0NA0KPiAtLS0gYS9hcmNoL2FyYy9pbmNsdWRlL2FzbS9w
Z3RhYmxlLWJpdHMtYXJjdjIuaA0KPiArKysgYi9hcmNoL2FyYy9pbmNsdWRlL2FzbS9wZ3RhYmxl
LWJpdHMtYXJjdjIuaA0KPiBAQCAtODcsNyArODcsNiBAQA0KPiAgIA0KPiAgIFBURV9CSVRfRlVO
Qyhta25vdHByZXNlbnQsICAgICAmPSB+KF9QQUdFX1BSRVNFTlQpKTsNCj4gICBQVEVfQklUX0ZV
TkMod3Jwcm90ZWN0LAkmPSB+KF9QQUdFX1dSSVRFKSk7DQo+IC1QVEVfQklUX0ZVTkMobWt3cml0
ZSwJfD0gKF9QQUdFX1dSSVRFKSk7DQo+ICAgUFRFX0JJVF9GVU5DKG1rY2xlYW4sCSY9IH4oX1BB
R0VfRElSVFkpKTsNCj4gICBQVEVfQklUX0ZVTkMobWtkaXJ0eSwJfD0gKF9QQUdFX0RJUlRZKSk7
DQo+ICAgUFRFX0JJVF9GVU5DKG1rb2xkLAkmPSB+KF9QQUdFX0FDQ0VTU0VEKSk7DQo+IEBAIC05
NSw2ICs5NCwxMiBAQCBQVEVfQklUX0ZVTkMobWt5b3VuZywJfD0gKF9QQUdFX0FDQ0VTU0VEKSk7
DQo+ICAgUFRFX0JJVF9GVU5DKG1rc3BlY2lhbCwJfD0gKF9QQUdFX1NQRUNJQUwpKTsNCj4gICBQ
VEVfQklUX0ZVTkMobWtodWdlLAl8PSAoX1BBR0VfSFdfU1opKTsNCj4gICANCj4gK3N0YXRpYyBp
bmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3Qg
KnZtYSkNCj4gK3sNCj4gKwlwdGVfdmFsKHB0ZSkgfD0gKF9QQUdFX1dSSVRFKTsNCj4gKwlyZXR1
cm4gcHRlOw0KPiArfQ0KPiArDQo+ICAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbW9kaWZ5KHB0
ZV90IHB0ZSwgcGdwcm90X3QgbmV3cHJvdCkNCj4gICB7DQo+ICAgCXJldHVybiBfX3B0ZSgocHRl
X3ZhbChwdGUpICYgX1BBR0VfQ0hHX01BU0spIHwgcGdwcm90X3ZhbChuZXdwcm90KSk7DQo+IGRp
ZmYgLS1naXQgYS9hcmNoL2FybS9pbmNsdWRlL2FzbS9wZ3RhYmxlLTNsZXZlbC5oIGIvYXJjaC9h
cm0vaW5jbHVkZS9hc20vcGd0YWJsZS0zbGV2ZWwuaA0KPiBpbmRleCAxMDYwNDk3OTE1MDAuLmRm
MDcxYTgwNzYxMCAxMDA2NDQNCj4gLS0tIGEvYXJjaC9hcm0vaW5jbHVkZS9hc20vcGd0YWJsZS0z
bGV2ZWwuaA0KPiArKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9wZ3RhYmxlLTNsZXZlbC5oDQo+
IEBAIC0yMDIsMTEgKzIwMiwxNiBAQCBzdGF0aWMgaW5saW5lIHBtZF90IHBtZF8jI2ZuKHBtZF90
IHBtZCkgeyBwbWRfdmFsKHBtZCkgb3A7IHJldHVybiBwbWQ7IH0NCj4gICANCj4gICBQTURfQklU
X0ZVTkMod3Jwcm90ZWN0LAl8PSBMX1BNRF9TRUNUX1JET05MWSk7DQo+ICAgUE1EX0JJVF9GVU5D
KG1rb2xkLAkmPSB+UE1EX1NFQ1RfQUYpOw0KPiAtUE1EX0JJVF9GVU5DKG1rd3JpdGUsICAgJj0g
fkxfUE1EX1NFQ1RfUkRPTkxZKTsNCj4gICBQTURfQklUX0ZVTkMobWtkaXJ0eSwgICB8PSBMX1BN
RF9TRUNUX0RJUlRZKTsNCj4gICBQTURfQklUX0ZVTkMobWtjbGVhbiwgICAmPSB+TF9QTURfU0VD
VF9ESVJUWSk7DQo+ICAgUE1EX0JJVF9GVU5DKG1reW91bmcsICAgfD0gUE1EX1NFQ1RfQUYpOw0K
PiAgIA0KPiArc3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt3cml0ZShwbWRfdCBwbWQsIHN0cnVj
dCB2bV9hcmVhX3N0cnVjdCAqdm1hKQ0KPiArew0KPiArCXBtZF92YWwocG1kKSB8PSBMX1BNRF9T
RUNUX1JET05MWTsNCj4gKwlyZXR1cm4gcG1kOw0KPiArfQ0KPiArDQo+ICAgI2RlZmluZSBwbWRf
bWtodWdlKHBtZCkJCShfX3BtZChwbWRfdmFsKHBtZCkgJiB+UE1EX1RBQkxFX0JJVCkpDQo+ICAg
DQo+ICAgI2RlZmluZSBwbWRfcGZuKHBtZCkJCSgoKHBtZF92YWwocG1kKSAmIFBNRF9NQVNLKSAm
IFBIWVNfTUFTSykgPj4gUEFHRV9TSElGVCkNCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2luY2x1
ZGUvYXNtL3BndGFibGUuaCBiL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiBpbmRl
eCBhNThjY2JiNDA2YWQuLjM5YWQxYWUxMzA4ZCAxMDA2NDQNCj4gLS0tIGEvYXJjaC9hcm0vaW5j
bHVkZS9hc20vcGd0YWJsZS5oDQo+ICsrKyBiL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3BndGFibGUu
aA0KPiBAQCAtMjI3LDcgKzIyNyw3IEBAIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX3dycHJvdGVj
dChwdGVfdCBwdGUpDQo+ICAgCXJldHVybiBzZXRfcHRlX2JpdChwdGUsIF9fcGdwcm90KExfUFRF
X1JET05MWSkpOw0KPiAgIH0NCj4gICANCj4gLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3Jp
dGUocHRlX3QgcHRlKQ0KPiArc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBw
dGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQ0KPiAgIHsNCj4gICAJcmV0dXJuIGNsZWFy
X3B0ZV9iaXQocHRlLCBfX3BncHJvdChMX1BURV9SRE9OTFkpKTsNCj4gICB9DQo+IGRpZmYgLS1n
aXQgYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaCBiL2FyY2gvYXJtNjQvaW5jbHVk
ZS9hc20vcGd0YWJsZS5oDQo+IGluZGV4IGNjY2Y4ODg1NzkyZS4uOTEzYmYzNzBmNzRhIDEwMDY0
NA0KPiAtLS0gYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiArKysgYi9hcmNo
L2FybTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiBAQCAtMTg3LDcgKzE4Nyw3IEBAIHN0YXRp
YyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGVfa2VybmVsKHB0ZV90IHB0ZSkNCj4gICAJcmV0dXJu
IHB0ZTsNCj4gICB9DQo+ICAgDQo+IC1zdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0
ZV90IHB0ZSkNCj4gK3N0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlLCBz
dHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkNCj4gICB7DQo+ICAgCXJldHVybiBwdGVfbWt3cml0
ZV9rZXJuZWwocHRlKTsNCj4gICB9DQo+IEBAIC00OTIsNyArNDkyLDcgQEAgc3RhdGljIGlubGlu
ZSBpbnQgcG1kX3RyYW5zX2h1Z2UocG1kX3QgcG1kKQ0KPiAgICNkZWZpbmUgcG1kX2NvbnQocG1k
KQkJcHRlX2NvbnQocG1kX3B0ZShwbWQpKQ0KPiAgICNkZWZpbmUgcG1kX3dycHJvdGVjdChwbWQp
CXB0ZV9wbWQocHRlX3dycHJvdGVjdChwbWRfcHRlKHBtZCkpKQ0KPiAgICNkZWZpbmUgcG1kX21r
b2xkKHBtZCkJCXB0ZV9wbWQocHRlX21rb2xkKHBtZF9wdGUocG1kKSkpDQo+IC0jZGVmaW5lIHBt
ZF9ta3dyaXRlKHBtZCkJcHRlX3BtZChwdGVfbWt3cml0ZShwbWRfcHRlKHBtZCkpKQ0KPiArI2Rl
ZmluZSBwbWRfbWt3cml0ZShwbWQsIHZtYSkJcHRlX3BtZChwdGVfbWt3cml0ZShwbWRfcHRlKHBt
ZCksICh2bWEpKSkNCj4gICAjZGVmaW5lIHBtZF9ta2NsZWFuKHBtZCkJcHRlX3BtZChwdGVfbWtj
bGVhbihwbWRfcHRlKHBtZCkpKQ0KPiAgICNkZWZpbmUgcG1kX21rZGlydHkocG1kKQlwdGVfcG1k
KHB0ZV9ta2RpcnR5KHBtZF9wdGUocG1kKSkpDQo+ICAgI2RlZmluZSBwbWRfbWt5b3VuZyhwbWQp
CXB0ZV9wbWQocHRlX21reW91bmcocG1kX3B0ZShwbWQpKSkNCj4gZGlmZiAtLWdpdCBhL2FyY2gv
Y3NreS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNoL2Nza3kvaW5jbHVkZS9hc20vcGd0YWJs
ZS5oDQo+IGluZGV4IGQ0MDQyNDk1ZmViYy4uYzJmOTJjOTkxZTM3IDEwMDY0NA0KPiAtLS0gYS9h
cmNoL2Nza3kvaW5jbHVkZS9hc20vcGd0YWJsZS5oDQo+ICsrKyBiL2FyY2gvY3NreS9pbmNsdWRl
L2FzbS9wZ3RhYmxlLmgNCj4gQEAgLTE3Niw3ICsxNzYsNyBAQCBzdGF0aWMgaW5saW5lIHB0ZV90
IHB0ZV9ta29sZChwdGVfdCBwdGUpDQo+ICAgCXJldHVybiBwdGU7DQo+ICAgfQ0KPiAgIA0KPiAt
c3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpDQo+ICtzdGF0aWMgaW5s
aW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2
bWEpDQo+ICAgew0KPiAgIAlwdGVfdmFsKHB0ZSkgfD0gX1BBR0VfV1JJVEU7DQo+ICAgCWlmIChw
dGVfdmFsKHB0ZSkgJiBfUEFHRV9NT0RJRklFRCkNCj4gZGlmZiAtLWdpdCBhL2FyY2gvaGV4YWdv
bi9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNoL2hleGFnb24vaW5jbHVkZS9hc20vcGd0YWJs
ZS5oDQo+IGluZGV4IDU5MzkzNjEzZDA4Ni4uMTRhYjljNzg5YzBlIDEwMDY0NA0KPiAtLS0gYS9h
cmNoL2hleGFnb24vaW5jbHVkZS9hc20vcGd0YWJsZS5oDQo+ICsrKyBiL2FyY2gvaGV4YWdvbi9p
bmNsdWRlL2FzbS9wZ3RhYmxlLmgNCj4gQEAgLTMwMCw3ICszMDAsNyBAQCBzdGF0aWMgaW5saW5l
IHB0ZV90IHB0ZV93cnByb3RlY3QocHRlX3QgcHRlKQ0KPiAgIH0NCj4gICANCj4gICAvKiBwdGVf
bWt3cml0ZSAtIG1hcmsgcGFnZSBhcyB3cml0YWJsZSAqLw0KPiAtc3RhdGljIGlubGluZSBwdGVf
dCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpDQo+ICtzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dy
aXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpDQo+ICAgew0KPiAgIAlw
dGVfdmFsKHB0ZSkgfD0gX1BBR0VfV1JJVEU7DQo+ICAgCXJldHVybiBwdGU7DQo+IGRpZmYgLS1n
aXQgYS9hcmNoL2lhNjQvaW5jbHVkZS9hc20vcGd0YWJsZS5oIGIvYXJjaC9pYTY0L2luY2x1ZGUv
YXNtL3BndGFibGUuaA0KPiBpbmRleCAyMWM5N2UzMWEyOGEuLmY4NzlkZDYyNmRhNiAxMDA2NDQN
Cj4gLS0tIGEvYXJjaC9pYTY0L2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiArKysgYi9hcmNoL2lh
NjQvaW5jbHVkZS9hc20vcGd0YWJsZS5oDQo+IEBAIC0yNjgsNyArMjY4LDcgQEAgaWE2NF9waHlz
X2FkZHJfdmFsaWQgKHVuc2lnbmVkIGxvbmcgYWRkcikNCj4gICAgKiBhY2Nlc3MgcmlnaHRzOg0K
PiAgICAqLw0KPiAgICNkZWZpbmUgcHRlX3dycHJvdGVjdChwdGUpCShfX3B0ZShwdGVfdmFsKHB0
ZSkgJiB+X1BBR0VfQVJfUlcpKQ0KPiAtI2RlZmluZSBwdGVfbWt3cml0ZShwdGUpCShfX3B0ZShw
dGVfdmFsKHB0ZSkgfCBfUEFHRV9BUl9SVykpDQo+ICsjZGVmaW5lIHB0ZV9ta3dyaXRlKHB0ZSwg
dm1hKQkoX19wdGUocHRlX3ZhbChwdGUpIHwgX1BBR0VfQVJfUlcpKQ0KPiAgICNkZWZpbmUgcHRl
X21rb2xkKHB0ZSkJCShfX3B0ZShwdGVfdmFsKHB0ZSkgJiB+X1BBR0VfQSkpDQo+ICAgI2RlZmlu
ZSBwdGVfbWt5b3VuZyhwdGUpCShfX3B0ZShwdGVfdmFsKHB0ZSkgfCBfUEFHRV9BKSkNCj4gICAj
ZGVmaW5lIHB0ZV9ta2NsZWFuKHB0ZSkJKF9fcHRlKHB0ZV92YWwocHRlKSAmIH5fUEFHRV9EKSkN
Cj4gZGlmZiAtLWdpdCBhL2FyY2gvbG9vbmdhcmNoL2luY2x1ZGUvYXNtL3BndGFibGUuaCBiL2Fy
Y2gvbG9vbmdhcmNoL2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiBpbmRleCBkMjhmYjlkYmVjNTku
LmViZjY0NWY0MDI5OCAxMDA2NDQNCj4gLS0tIGEvYXJjaC9sb29uZ2FyY2gvaW5jbHVkZS9hc20v
cGd0YWJsZS5oDQo+ICsrKyBiL2FyY2gvbG9vbmdhcmNoL2luY2x1ZGUvYXNtL3BndGFibGUuaA0K
PiBAQCAtMzkwLDcgKzM5MCw3IEBAIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rZGlydHkocHRl
X3QgcHRlKQ0KPiAgIAlyZXR1cm4gcHRlOw0KPiAgIH0NCj4gICANCj4gLXN0YXRpYyBpbmxpbmUg
cHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQ0KPiArc3RhdGljIGlubGluZSBwdGVfdCBwdGVf
bWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQ0KPiAgIHsNCj4g
ICAJcHRlX3ZhbChwdGUpIHw9IF9QQUdFX1dSSVRFOw0KPiAgIAlpZiAocHRlX3ZhbChwdGUpICYg
X1BBR0VfTU9ESUZJRUQpDQo+IEBAIC00OTAsNyArNDkwLDcgQEAgc3RhdGljIGlubGluZSBpbnQg
cG1kX3dyaXRlKHBtZF90IHBtZCkNCj4gICAJcmV0dXJuICEhKHBtZF92YWwocG1kKSAmIF9QQUdF
X1dSSVRFKTsNCj4gICB9DQo+ICAgDQo+IC1zdGF0aWMgaW5saW5lIHBtZF90IHBtZF9ta3dyaXRl
KHBtZF90IHBtZCkNCj4gK3N0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21rd3JpdGUocG1kX3QgcG1k
LCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkNCj4gICB7DQo+ICAgCXBtZF92YWwocG1kKSB8
PSBfUEFHRV9XUklURTsNCj4gICAJaWYgKHBtZF92YWwocG1kKSAmIF9QQUdFX01PRElGSUVEKQ0K
PiBkaWZmIC0tZ2l0IGEvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL21jZl9wZ3RhYmxlLmggYi9hcmNo
L202OGsvaW5jbHVkZS9hc20vbWNmX3BndGFibGUuaA0KPiBpbmRleCAxMzc0MWMxMjQ1ZTEuLjM3
ZDc3ZTA1NTAxNiAxMDA2NDQNCj4gLS0tIGEvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL21jZl9wZ3Rh
YmxlLmgNCj4gKysrIGIvYXJjaC9tNjhrL2luY2x1ZGUvYXNtL21jZl9wZ3RhYmxlLmgNCj4gQEAg
LTIxMSw3ICsyMTEsNyBAQCBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta29sZChwdGVfdCBwdGUp
DQo+ICAgCXJldHVybiBwdGU7DQo+ICAgfQ0KPiAgIA0KPiAtc3RhdGljIGlubGluZSBwdGVfdCBw
dGVfbWt3cml0ZShwdGVfdCBwdGUpDQo+ICtzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRl
KHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpDQo+ICAgew0KPiAgIAlwdGVf
dmFsKHB0ZSkgfD0gQ0ZfUEFHRV9XUklUQUJMRTsNCj4gICAJcmV0dXJuIHB0ZTsNCj4gZGlmZiAt
LWdpdCBhL2FyY2gvbTY4ay9pbmNsdWRlL2FzbS9tb3Rvcm9sYV9wZ3RhYmxlLmggYi9hcmNoL202
OGsvaW5jbHVkZS9hc20vbW90b3JvbGFfcGd0YWJsZS5oDQo+IGluZGV4IGVjMGRjMTlhYjgzNC4u
YzRlOGViNzYyODZkIDEwMDY0NA0KPiAtLS0gYS9hcmNoL202OGsvaW5jbHVkZS9hc20vbW90b3Jv
bGFfcGd0YWJsZS5oDQo+ICsrKyBiL2FyY2gvbTY4ay9pbmNsdWRlL2FzbS9tb3Rvcm9sYV9wZ3Rh
YmxlLmgNCj4gQEAgLTE1NSw3ICsxNTUsNiBAQCBzdGF0aWMgaW5saW5lIGludCBwdGVfeW91bmco
cHRlX3QgcHRlKQkJeyByZXR1cm4gcHRlX3ZhbChwdGUpICYgX1BBR0VfQUNDRVNTRUQ7DQo+ICAg
c3RhdGljIGlubGluZSBwdGVfdCBwdGVfd3Jwcm90ZWN0KHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0
ZSkgfD0gX1BBR0VfUk9OTFk7IHJldHVybiBwdGU7IH0NCj4gICBzdGF0aWMgaW5saW5lIHB0ZV90
IHB0ZV9ta2NsZWFuKHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgJj0gfl9QQUdFX0RJUlRZOyBy
ZXR1cm4gcHRlOyB9DQo+ICAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtvbGQocHRlX3QgcHRl
KQl7IHB0ZV92YWwocHRlKSAmPSB+X1BBR0VfQUNDRVNTRUQ7IHJldHVybiBwdGU7IH0NCj4gLXN0
YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQl7IHB0ZV92YWwocHRlKSAm
PSB+X1BBR0VfUk9OTFk7IHJldHVybiBwdGU7IH0NCj4gICBzdGF0aWMgaW5saW5lIHB0ZV90IHB0
ZV9ta2RpcnR5KHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgfD0gX1BBR0VfRElSVFk7IHJldHVy
biBwdGU7IH0NCj4gICBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3lvdW5nKHB0ZV90IHB0ZSkJ
eyBwdGVfdmFsKHB0ZSkgfD0gX1BBR0VfQUNDRVNTRUQ7IHJldHVybiBwdGU7IH0NCj4gICBzdGF0
aWMgaW5saW5lIHB0ZV90IHB0ZV9ta25vY2FjaGUocHRlX3QgcHRlKQ0KPiBAQCAtMTY4LDYgKzE2
NywxMSBAQCBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta2NhY2hlKHB0ZV90IHB0ZSkNCj4gICAJ
cHRlX3ZhbChwdGUpID0gKHB0ZV92YWwocHRlKSAmIF9DQUNIRU1BU0swNDApIHwgbTY4a19zdXBl
cnZpc29yX2NhY2hlbW9kZTsNCj4gICAJcmV0dXJuIHB0ZTsNCj4gICB9DQo+ICtzdGF0aWMgaW5s
aW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2
bWEpDQo+ICt7DQo+ICsJcHRlX3ZhbChwdGUpICY9IH5fUEFHRV9ST05MWTsNCj4gKwlyZXR1cm4g
cHRlOw0KPiArfQ0KPiAgIA0KPiAgICNkZWZpbmUgc3dhcHBlcl9wZ19kaXIga2VybmVsX3BnX2Rp
cg0KPiAgIGV4dGVybiBwZ2RfdCBrZXJuZWxfcGdfZGlyWzEyOF07DQo+IGRpZmYgLS1naXQgYS9h
cmNoL202OGsvaW5jbHVkZS9hc20vc3VuM19wZ3RhYmxlLmggYi9hcmNoL202OGsvaW5jbHVkZS9h
c20vc3VuM19wZ3RhYmxlLmgNCj4gaW5kZXggZTU4MmIwNDg0YTU1Li4yYTA2YmVhNTFhMWUgMTAw
NjQ0DQo+IC0tLSBhL2FyY2gvbTY4ay9pbmNsdWRlL2FzbS9zdW4zX3BndGFibGUuaA0KPiArKysg
Yi9hcmNoL202OGsvaW5jbHVkZS9hc20vc3VuM19wZ3RhYmxlLmgNCj4gQEAgLTE0MywxMCArMTQz
LDE0IEBAIHN0YXRpYyBpbmxpbmUgaW50IHB0ZV95b3VuZyhwdGVfdCBwdGUpCQl7IHJldHVybiBw
dGVfdmFsKHB0ZSkgJiBTVU4zX1BBR0VfQUNDRVNTDQo+ICAgc3RhdGljIGlubGluZSBwdGVfdCBw
dGVfd3Jwcm90ZWN0KHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgJj0gflNVTjNfUEFHRV9XUklU
RUFCTEU7IHJldHVybiBwdGU7IH0NCj4gICBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta2NsZWFu
KHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgJj0gflNVTjNfUEFHRV9NT0RJRklFRDsgcmV0dXJu
IHB0ZTsgfQ0KPiAgIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rb2xkKHB0ZV90IHB0ZSkJeyBw
dGVfdmFsKHB0ZSkgJj0gflNVTjNfUEFHRV9BQ0NFU1NFRDsgcmV0dXJuIHB0ZTsgfQ0KPiAtc3Rh
dGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpIHw9
IFNVTjNfUEFHRV9XUklURUFCTEU7IHJldHVybiBwdGU7IH0NCj4gICBzdGF0aWMgaW5saW5lIHB0
ZV90IHB0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgfD0gU1VOM19QQUdFX01P
RElGSUVEOyByZXR1cm4gcHRlOyB9DQo+ICAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt5b3Vu
ZyhwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpIHw9IFNVTjNfUEFHRV9BQ0NFU1NFRDsgcmV0dXJu
IHB0ZTsgfQ0KPiAgIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rbm9jYWNoZShwdGVfdCBwdGUp
CXsgcHRlX3ZhbChwdGUpIHw9IFNVTjNfUEFHRV9OT0NBQ0hFOyByZXR1cm4gcHRlOyB9DQo+ICtz
dGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFf
c3RydWN0ICp2bWEpDQo+ICt7DQo+ICsJcHRlX3ZhbChwdGUpIHw9IFNVTjNfUEFHRV9XUklURUFC
TEU7DQo+ICsJcmV0dXJuIHB0ZTsNCj4gK30NCj4gICAvLyB1c2UgdGhpcyB2ZXJzaW9uIHdoZW4g
Y2FjaGVzIHdvcmsuLi4NCj4gICAvL3N0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rY2FjaGUocHRl
X3QgcHRlKQl7IHB0ZV92YWwocHRlKSAmPSBTVU4zX1BBR0VfTk9DQUNIRTsgcmV0dXJuIHB0ZTsg
fQ0KPiAgIC8vIHVudGlsIHRoZW4sIHVzZToNCj4gZGlmZiAtLWdpdCBhL2FyY2gvbWljcm9ibGF6
ZS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNoL21pY3JvYmxhemUvaW5jbHVkZS9hc20vcGd0
YWJsZS5oDQo+IGluZGV4IGQxYjgyNzJhYmNkOS4uNWI4M2U4MmY4ZDdlIDEwMDY0NA0KPiAtLS0g
YS9hcmNoL21pY3JvYmxhemUvaW5jbHVkZS9hc20vcGd0YWJsZS5oDQo+ICsrKyBiL2FyY2gvbWlj
cm9ibGF6ZS9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgNCj4gQEAgLTI2Niw3ICsyNjYsNyBAQCBzdGF0
aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3JlYWQocHRlX3QgcHRlKSBcDQo+ICAgCXsgcHRlX3ZhbChw
dGUpIHw9IF9QQUdFX1VTRVI7IHJldHVybiBwdGU7IH0NCj4gICBzdGF0aWMgaW5saW5lIHB0ZV90
IHB0ZV9ta2V4ZWMocHRlX3QgcHRlKSBcDQo+ICAgCXsgcHRlX3ZhbChwdGUpIHw9IF9QQUdFX1VT
RVIgfCBfUEFHRV9FWEVDOyByZXR1cm4gcHRlOyB9DQo+IC1zdGF0aWMgaW5saW5lIHB0ZV90IHB0
ZV9ta3dyaXRlKHB0ZV90IHB0ZSkgXA0KPiArc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0
ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKSBcDQo+ICAgCXsgcHRlX3Zh
bChwdGUpIHw9IF9QQUdFX1JXOyByZXR1cm4gcHRlOyB9DQo+ICAgc3RhdGljIGlubGluZSBwdGVf
dCBwdGVfbWtkaXJ0eShwdGVfdCBwdGUpIFwNCj4gICAJeyBwdGVfdmFsKHB0ZSkgfD0gX1BBR0Vf
RElSVFk7IHJldHVybiBwdGU7IH0NCj4gZGlmZiAtLWdpdCBhL2FyY2gvbWlwcy9pbmNsdWRlL2Fz
bS9wZ3RhYmxlLmggYi9hcmNoL21pcHMvaW5jbHVkZS9hc20vcGd0YWJsZS5oDQo+IGluZGV4IDc5
MTM4OWJmM2MxMi4uMDZlZmQ1NjcxNDRhIDEwMDY0NA0KPiAtLS0gYS9hcmNoL21pcHMvaW5jbHVk
ZS9hc20vcGd0YWJsZS5oDQo+ICsrKyBiL2FyY2gvbWlwcy9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgN
Cj4gQEAgLTMwOSw3ICszMDksNyBAQCBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta29sZChwdGVf
dCBwdGUpDQo+ICAgCXJldHVybiBwdGU7DQo+ICAgfQ0KPiAgIA0KPiAtc3RhdGljIGlubGluZSBw
dGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpDQo+ICtzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9t
a3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpDQo+ICAgew0KPiAg
IAlwdGUucHRlX2xvdyB8PSBfUEFHRV9XUklURTsNCj4gICAJaWYgKHB0ZS5wdGVfbG93ICYgX1BB
R0VfTU9ESUZJRUQpIHsNCj4gQEAgLTM2NCw3ICszNjQsNyBAQCBzdGF0aWMgaW5saW5lIHB0ZV90
IHB0ZV9ta29sZChwdGVfdCBwdGUpDQo+ICAgCXJldHVybiBwdGU7DQo+ICAgfQ0KPiAgIA0KPiAt
c3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUpDQo+ICtzdGF0aWMgaW5s
aW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2
bWEpDQo+ICAgew0KPiAgIAlwdGVfdmFsKHB0ZSkgfD0gX1BBR0VfV1JJVEU7DQo+ICAgCWlmIChw
dGVfdmFsKHB0ZSkgJiBfUEFHRV9NT0RJRklFRCkNCj4gQEAgLTYyNiw3ICs2MjYsNyBAQCBzdGF0
aWMgaW5saW5lIHBtZF90IHBtZF93cnByb3RlY3QocG1kX3QgcG1kKQ0KPiAgIAlyZXR1cm4gcG1k
Ow0KPiAgIH0NCj4gICANCj4gLXN0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21rd3JpdGUocG1kX3Qg
cG1kKQ0KPiArc3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt3cml0ZShwbWRfdCBwbWQsIHN0cnVj
dCB2bV9hcmVhX3N0cnVjdCAqdm1hKQ0KPiAgIHsNCj4gICAJcG1kX3ZhbChwbWQpIHw9IF9QQUdF
X1dSSVRFOw0KPiAgIAlpZiAocG1kX3ZhbChwbWQpICYgX1BBR0VfTU9ESUZJRUQpDQo+IGRpZmYg
LS1naXQgYS9hcmNoL25pb3MyL2luY2x1ZGUvYXNtL3BndGFibGUuaCBiL2FyY2gvbmlvczIvaW5j
bHVkZS9hc20vcGd0YWJsZS5oDQo+IGluZGV4IDBmNWMyNTY0ZTlmNS4uZWRkNDU4NTE4ZTBlIDEw
MDY0NA0KPiAtLS0gYS9hcmNoL25pb3MyL2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiArKysgYi9h
cmNoL25pb3MyL2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiBAQCAtMTI5LDcgKzEyOSw3IEBAIHN0
YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rb2xkKHB0ZV90IHB0ZSkNCj4gICAJcmV0dXJuIHB0ZTsN
Cj4gICB9DQo+ICAgDQo+IC1zdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0
ZSkNCj4gK3N0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qg
dm1fYXJlYV9zdHJ1Y3QgKnZtYSkNCj4gICB7DQo+ICAgCXB0ZV92YWwocHRlKSB8PSBfUEFHRV9X
UklURTsNCj4gICAJcmV0dXJuIHB0ZTsNCj4gZGlmZiAtLWdpdCBhL2FyY2gvb3BlbnJpc2MvaW5j
bHVkZS9hc20vcGd0YWJsZS5oIGIvYXJjaC9vcGVucmlzYy9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgN
Cj4gaW5kZXggM2ViOWI5NTU1ZDBkLi5mZDQwYWVjMTg5ZDEgMTAwNjQ0DQo+IC0tLSBhL2FyY2gv
b3BlbnJpc2MvaW5jbHVkZS9hc20vcGd0YWJsZS5oDQo+ICsrKyBiL2FyY2gvb3BlbnJpc2MvaW5j
bHVkZS9hc20vcGd0YWJsZS5oDQo+IEBAIC0yNTAsNyArMjUwLDcgQEAgc3RhdGljIGlubGluZSBw
dGVfdCBwdGVfbWtvbGQocHRlX3QgcHRlKQ0KPiAgIAlyZXR1cm4gcHRlOw0KPiAgIH0NCj4gICAN
Cj4gLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQ0KPiArc3RhdGlj
IGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVj
dCAqdm1hKQ0KPiAgIHsNCj4gICAJcHRlX3ZhbChwdGUpIHw9IF9QQUdFX1dSSVRFOw0KPiAgIAly
ZXR1cm4gcHRlOw0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9wYXJpc2MvaW5jbHVkZS9hc20vcGd0YWJs
ZS5oIGIvYXJjaC9wYXJpc2MvaW5jbHVkZS9hc20vcGd0YWJsZS5oDQo+IGluZGV4IGUyOTUwZjVk
YjdjOS4uODlmNjIxMzdlNjdmIDEwMDY0NA0KPiAtLS0gYS9hcmNoL3BhcmlzYy9pbmNsdWRlL2Fz
bS9wZ3RhYmxlLmgNCj4gKysrIGIvYXJjaC9wYXJpc2MvaW5jbHVkZS9hc20vcGd0YWJsZS5oDQo+
IEBAIC0zMzEsOCArMzMxLDEyIEBAIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rb2xkKHB0ZV90
IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgJj0gfl9QQUdFX0FDQ0VTU0VEOyByZXR1DQo+ICAgc3RhdGlj
IGlubGluZSBwdGVfdCBwdGVfd3Jwcm90ZWN0KHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgJj0g
fl9QQUdFX1dSSVRFOyByZXR1cm4gcHRlOyB9DQo+ICAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVf
bWtkaXJ0eShwdGVfdCBwdGUpCXsgcHRlX3ZhbChwdGUpIHw9IF9QQUdFX0RJUlRZOyByZXR1cm4g
cHRlOyB9DQo+ICAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt5b3VuZyhwdGVfdCBwdGUpCXsg
cHRlX3ZhbChwdGUpIHw9IF9QQUdFX0FDQ0VTU0VEOyByZXR1cm4gcHRlOyB9DQo+IC1zdGF0aWMg
aW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkJeyBwdGVfdmFsKHB0ZSkgfD0gX1BB
R0VfV1JJVEU7IHJldHVybiBwdGU7IH0NCj4gICBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3Nw
ZWNpYWwocHRlX3QgcHRlKQl7IHB0ZV92YWwocHRlKSB8PSBfUEFHRV9TUEVDSUFMOyByZXR1cm4g
cHRlOyB9DQo+ICtzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3Ry
dWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpDQo+ICt7DQo+ICsJcHRlX3ZhbChwdGUpIHw9IF9QQUdF
X1dSSVRFOw0KPiArCXJldHVybiBwdGU7DQo+ICt9DQo+ICAgDQo+ICAgLyoNCj4gICAgKiBIdWdl
IHB0ZSBkZWZpbml0aW9ucy4NCj4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2Fz
bS9ib29rM3MvMzIvcGd0YWJsZS5oIGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL2Jvb2szcy8z
Mi9wZ3RhYmxlLmgNCj4gaW5kZXggN2JmMWZlNzI5N2M2Li4xMGQ5YTFkMmFjYTkgMTAwNjQ0DQo+
IC0tLSBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIvcGd0YWJsZS5oDQo+ICsr
KyBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ib29rM3MvMzIvcGd0YWJsZS5oDQo+IEBAIC00
OTgsNyArNDk4LDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtwdGUocHRlX3QgcHRlKQ0K
PiAgIAlyZXR1cm4gcHRlOw0KPiAgIH0NCj4gICANCj4gLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRl
X21rd3JpdGUocHRlX3QgcHRlKQ0KPiArc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShw
dGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQ0KPiAgIHsNCj4gICAJcmV0dXJu
IF9fcHRlKHB0ZV92YWwocHRlKSB8IF9QQUdFX1JXKTsNCj4gICB9DQo+IGRpZmYgLS1naXQgYS9h
cmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vYm9vazNzLzY0L3BndGFibGUuaCBiL2FyY2gvcG93ZXJw
Yy9pbmNsdWRlL2FzbS9ib29rM3MvNjQvcGd0YWJsZS5oDQo+IGluZGV4IDRhY2M5NjkwZjU5OS4u
YmUwNjM2NTIyZDM2IDEwMDY0NA0KPiAtLS0gYS9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vYm9v
azNzLzY0L3BndGFibGUuaA0KPiArKysgYi9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vYm9vazNz
LzY0L3BndGFibGUuaA0KPiBAQCAtNjAwLDcgKzYwMCw3IEBAIHN0YXRpYyBpbmxpbmUgcHRlX3Qg
cHRlX21rZXhlYyhwdGVfdCBwdGUpDQo+ICAgCXJldHVybiBfX3B0ZV9yYXcocHRlX3JhdyhwdGUp
IHwgY3B1X3RvX2JlNjQoX1BBR0VfRVhFQykpOw0KPiAgIH0NCj4gICANCj4gLXN0YXRpYyBpbmxp
bmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQ0KPiArc3RhdGljIGlubGluZSBwdGVfdCBw
dGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQ0KPiAgIHsN
Cj4gICAJLyoNCj4gICAJICogd3JpdGUgaW1wbGllcyByZWFkLCBoZW5jZSBzZXQgYm90aA0KPiBA
QCAtMTA3MSw3ICsxMDcxLDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCAqcG1kcF9wdGVwKHBtZF90
ICpwbWQpDQo+ICAgI2RlZmluZSBwbWRfbWtkaXJ0eShwbWQpCXB0ZV9wbWQocHRlX21rZGlydHko
cG1kX3B0ZShwbWQpKSkNCj4gICAjZGVmaW5lIHBtZF9ta2NsZWFuKHBtZCkJcHRlX3BtZChwdGVf
bWtjbGVhbihwbWRfcHRlKHBtZCkpKQ0KPiAgICNkZWZpbmUgcG1kX21reW91bmcocG1kKQlwdGVf
cG1kKHB0ZV9ta3lvdW5nKHBtZF9wdGUocG1kKSkpDQo+IC0jZGVmaW5lIHBtZF9ta3dyaXRlKHBt
ZCkJcHRlX3BtZChwdGVfbWt3cml0ZShwbWRfcHRlKHBtZCkpKQ0KPiArI2RlZmluZSBwbWRfbWt3
cml0ZShwbWQsIHZtYSkJcHRlX3BtZChwdGVfbWt3cml0ZShwbWRfcHRlKHBtZCksICh2bWEpKSkN
Cj4gICANCj4gICAjaWZkZWYgQ09ORklHX0hBVkVfQVJDSF9TT0ZUX0RJUlRZDQo+ICAgI2RlZmlu
ZSBwbWRfc29mdF9kaXJ0eShwbWQpICAgIHB0ZV9zb2Z0X2RpcnR5KHBtZF9wdGUocG1kKSkNCj4g
ZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ub2hhc2gvMzIvcGd0YWJsZS5o
IGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC8zMi9wZ3RhYmxlLmgNCj4gaW5kZXgg
ZmVjNTZkOTY1ZjAwLi43YmZiY2I5YmE1NWIgMTAwNjQ0DQo+IC0tLSBhL2FyY2gvcG93ZXJwYy9p
bmNsdWRlL2FzbS9ub2hhc2gvMzIvcGd0YWJsZS5oDQo+ICsrKyBiL2FyY2gvcG93ZXJwYy9pbmNs
dWRlL2FzbS9ub2hhc2gvMzIvcGd0YWJsZS5oDQo+IEBAIC0xNzEsNyArMTcxLDcgQEAgdm9pZCB1
bm1hcF9rZXJuZWxfcGFnZSh1bnNpZ25lZCBsb25nIHZhKTsNCj4gICAJZG8geyBwdGVfdXBkYXRl
KG1tLCBhZGRyLCBwdGVwLCB+MCwgMCwgMCk7IH0gd2hpbGUgKDApDQo+ICAgDQo+ICAgI2lmbmRl
ZiBwdGVfbWt3cml0ZQ0KPiAtc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBw
dGUpDQo+ICtzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0
IHZtX2FyZWFfc3RydWN0ICp2bWEpDQo+ICAgew0KPiAgIAlyZXR1cm4gX19wdGUocHRlX3ZhbChw
dGUpIHwgX1BBR0VfUlcpOw0KPiAgIH0NCj4gZGlmZiAtLWdpdCBhL2FyY2gvcG93ZXJwYy9pbmNs
dWRlL2FzbS9ub2hhc2gvMzIvcHRlLTh4eC5oIGIvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25v
aGFzaC8zMi9wdGUtOHh4LmgNCj4gaW5kZXggMWE4OWViZGMzYWNjLi5mMzI0NTBlYjI3MGEgMTAw
NjQ0DQo+IC0tLSBhL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ub2hhc2gvMzIvcHRlLTh4eC5o
DQo+ICsrKyBiL2FyY2gvcG93ZXJwYy9pbmNsdWRlL2FzbS9ub2hhc2gvMzIvcHRlLTh4eC5oDQo+
IEBAIC0xMDEsNyArMTAxLDcgQEAgc3RhdGljIGlubGluZSBpbnQgcHRlX3dyaXRlKHB0ZV90IHB0
ZSkNCj4gICANCj4gICAjZGVmaW5lIHB0ZV93cml0ZSBwdGVfd3JpdGUNCj4gICANCj4gLXN0YXRp
YyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQ0KPiArc3RhdGljIGlubGluZSBw
dGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQ0K
PiAgIHsNCj4gICAJcmV0dXJuIF9fcHRlKHB0ZV92YWwocHRlKSAmIH5fUEFHRV9STyk7DQo+ICAg
fQ0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9wb3dlcnBjL2luY2x1ZGUvYXNtL25vaGFzaC82NC9wZ3Rh
YmxlLmggYi9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vbm9oYXNoLzY0L3BndGFibGUuaA0KPiBp
bmRleCAyODdlMjU4NjRmZmEuLjU4OTAwOTU1NTg3NyAxMDA2NDQNCj4gLS0tIGEvYXJjaC9wb3dl
cnBjL2luY2x1ZGUvYXNtL25vaGFzaC82NC9wZ3RhYmxlLmgNCj4gKysrIGIvYXJjaC9wb3dlcnBj
L2luY2x1ZGUvYXNtL25vaGFzaC82NC9wZ3RhYmxlLmgNCj4gQEAgLTg1LDcgKzg1LDcgQEANCj4g
ICAjaWZuZGVmIF9fQVNTRU1CTFlfXw0KPiAgIC8qIHB0ZV9jbGVhciBtb3ZlZCB0byBsYXRlciBp
biB0aGlzIGZpbGUgKi8NCj4gICANCj4gLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUo
cHRlX3QgcHRlKQ0KPiArc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUs
IHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQ0KPiAgIHsNCj4gICAJcmV0dXJuIF9fcHRlKHB0
ZV92YWwocHRlKSB8IF9QQUdFX1JXKTsNCj4gICB9DQo+IGRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2
L2luY2x1ZGUvYXNtL3BndGFibGUuaCBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcGd0YWJsZS5o
DQo+IGluZGV4IGQ4ZDhkZTBkZWQ5OS4uZmVkMWI4MWZiZTA3IDEwMDY0NA0KPiAtLS0gYS9hcmNo
L3Jpc2N2L2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiArKysgYi9hcmNoL3Jpc2N2L2luY2x1ZGUv
YXNtL3BndGFibGUuaA0KPiBAQCAtMzM4LDcgKzMzOCw3IEBAIHN0YXRpYyBpbmxpbmUgcHRlX3Qg
cHRlX3dycHJvdGVjdChwdGVfdCBwdGUpDQo+ICAgDQo+ICAgLyogc3RhdGljIGlubGluZSBwdGVf
dCBwdGVfbWtyZWFkKHB0ZV90IHB0ZSkgKi8NCj4gICANCj4gLXN0YXRpYyBpbmxpbmUgcHRlX3Qg
cHRlX21rd3JpdGUocHRlX3QgcHRlKQ0KPiArc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0
ZShwdGVfdCBwdGUsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQ0KPiAgIHsNCj4gICAJcmV0
dXJuIF9fcHRlKHB0ZV92YWwocHRlKSB8IF9QQUdFX1dSSVRFKTsNCj4gICB9DQo+IEBAIC02MjQs
OSArNjI0LDkgQEAgc3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt5b3VuZyhwbWRfdCBwbWQpDQo+
ICAgCXJldHVybiBwdGVfcG1kKHB0ZV9ta3lvdW5nKHBtZF9wdGUocG1kKSkpOw0KPiAgIH0NCj4g
ICANCj4gLXN0YXRpYyBpbmxpbmUgcG1kX3QgcG1kX21rd3JpdGUocG1kX3QgcG1kKQ0KPiArc3Rh
dGljIGlubGluZSBwbWRfdCBwbWRfbWt3cml0ZShwbWRfdCBwbWQsIHN0cnVjdCB2bV9hcmVhX3N0
cnVjdCAqdm1hKQ0KPiAgIHsNCj4gLQlyZXR1cm4gcHRlX3BtZChwdGVfbWt3cml0ZShwbWRfcHRl
KHBtZCkpKTsNCj4gKwlyZXR1cm4gcHRlX3BtZChwdGVfbWt3cml0ZShwbWRfcHRlKHBtZCksIHZt
YSkpOw0KPiAgIH0NCj4gICANCj4gICBzdGF0aWMgaW5saW5lIHBtZF90IHBtZF93cnByb3RlY3Qo
cG1kX3QgcG1kKQ0KPiBkaWZmIC0tZ2l0IGEvYXJjaC9zMzkwL2luY2x1ZGUvYXNtL2h1Z2V0bGIu
aCBiL2FyY2gvczM5MC9pbmNsdWRlL2FzbS9odWdldGxiLmgNCj4gaW5kZXggY2NkYmNjZmRlMTQ4
Li41NThmN2VlZjljNGQgMTAwNjQ0DQo+IC0tLSBhL2FyY2gvczM5MC9pbmNsdWRlL2FzbS9odWdl
dGxiLmgNCj4gKysrIGIvYXJjaC9zMzkwL2luY2x1ZGUvYXNtL2h1Z2V0bGIuaA0KPiBAQCAtMTAy
LDkgKzEwMiw5IEBAIHN0YXRpYyBpbmxpbmUgaW50IGh1Z2VfcHRlX2RpcnR5KHB0ZV90IHB0ZSkN
Cj4gICAJcmV0dXJuIHB0ZV9kaXJ0eShwdGUpOw0KPiAgIH0NCj4gICANCj4gLXN0YXRpYyBpbmxp
bmUgcHRlX3QgaHVnZV9wdGVfbWt3cml0ZShwdGVfdCBwdGUpDQo+ICtzdGF0aWMgaW5saW5lIHB0
ZV90IGh1Z2VfcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZt
YSkNCj4gICB7DQo+IC0JcmV0dXJuIHB0ZV9ta3dyaXRlKHB0ZSk7DQo+ICsJcmV0dXJuIHB0ZV9t
a3dyaXRlKHB0ZSwgdm1hKTsNCj4gICB9DQo+ICAgDQo+ICAgc3RhdGljIGlubGluZSBwdGVfdCBo
dWdlX3B0ZV9ta2RpcnR5KHB0ZV90IHB0ZSkNCj4gZGlmZiAtLWdpdCBhL2FyY2gvczM5MC9pbmNs
dWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNoL3MzOTAvaW5jbHVkZS9hc20vcGd0YWJsZS5oDQo+IGlu
ZGV4IGRlZWI5MThjYWUxZC4uOGYyYzc0M2RhMGViIDEwMDY0NA0KPiAtLS0gYS9hcmNoL3MzOTAv
aW5jbHVkZS9hc20vcGd0YWJsZS5oDQo+ICsrKyBiL2FyY2gvczM5MC9pbmNsdWRlL2FzbS9wZ3Rh
YmxlLmgNCj4gQEAgLTEwMTMsNyArMTAxMyw3IEBAIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21r
d3JpdGVfa2VybmVsKHB0ZV90IHB0ZSkNCj4gICAJcmV0dXJuIHB0ZTsNCj4gICB9DQo+ICAgDQo+
IC1zdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkNCj4gK3N0YXRpYyBp
bmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3Qg
KnZtYSkNCj4gICB7DQo+ICAgCXJldHVybiBwdGVfbWt3cml0ZV9rZXJuZWwocHRlKTsNCj4gICB9
DQo+IEBAIC0xNDk5LDcgKzE0OTksNyBAQCBzdGF0aWMgaW5saW5lIHBtZF90IHBtZF9ta3dyaXRl
X2tlcm5lbChwbWRfdCBwbWQpDQo+ICAgCXJldHVybiBwbWQ7DQo+ICAgfQ0KPiAgIA0KPiAtc3Rh
dGljIGlubGluZSBwbWRfdCBwbWRfbWt3cml0ZShwbWRfdCBwbWQpDQo+ICtzdGF0aWMgaW5saW5l
IHBtZF90IHBtZF9ta3dyaXRlKHBtZF90IHBtZCwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEp
DQo+ICAgew0KPiAgIAlyZXR1cm4gcG1kX21rd3JpdGVfa2VybmVsKHBtZCk7DQo+ICAgfQ0KPiBk
aWZmIC0tZ2l0IGEvYXJjaC9zaC9pbmNsdWRlL2FzbS9wZ3RhYmxlXzMyLmggYi9hcmNoL3NoL2lu
Y2x1ZGUvYXNtL3BndGFibGVfMzIuaA0KPiBpbmRleCAyMTk1MmIwOTQ2NTAuLjlmMmRjYjllYWZj
OCAxMDA2NDQNCj4gLS0tIGEvYXJjaC9zaC9pbmNsdWRlL2FzbS9wZ3RhYmxlXzMyLmgNCj4gKysr
IGIvYXJjaC9zaC9pbmNsdWRlL2FzbS9wZ3RhYmxlXzMyLmgNCj4gQEAgLTM1MSw2ICszNTEsMTIg
QEAgc3RhdGljIGlubGluZSB2b2lkIHNldF9wdGUocHRlX3QgKnB0ZXAsIHB0ZV90IHB0ZSkNCj4g
ICANCj4gICAjZGVmaW5lIFBURV9CSVRfRlVOQyhoLGZuLG9wKSBcDQo+ICAgc3RhdGljIGlubGlu
ZSBwdGVfdCBwdGVfIyNmbihwdGVfdCBwdGUpIHsgcHRlLnB0ZV8jI2ggb3A7IHJldHVybiBwdGU7
IH0NCj4gKyNkZWZpbmUgUFRFX0JJVF9GVU5DX1ZNQShoLGZuLG9wKSBcDQo+ICtzdGF0aWMgaW5s
aW5lIHB0ZV90IHB0ZV8jI2ZuKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEp
IFwNCj4gK3sgXA0KPiArCXB0ZS5wdGVfIyNoIG9wOyBcDQo+ICsJcmV0dXJuIHB0ZTsgXA0KPiAr
fQ0KPiAgIA0KPiAgICNpZmRlZiBDT05GSUdfWDJUTEINCj4gICAvKg0KPiBAQCAtMzU5LDExICsz
NjUsMTEgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfIyNmbihwdGVfdCBwdGUpIHsgcHRlLnB0
ZV8jI2ggb3A7IHJldHVybiBwdGU7IH0NCj4gICAgKiBrZXJuZWwgcGVybWlzc2lvbnMpLCB3ZSBh
dHRlbXB0IHRvIGNvdXBsZSB0aGVtIGEgYml0IG1vcmUgc2FuZWx5IGhlcmUuDQo+ICAgICovDQo+
ICAgUFRFX0JJVF9GVU5DKGhpZ2gsIHdycHJvdGVjdCwgJj0gfihfUEFHRV9FWFRfVVNFUl9XUklU
RSB8IF9QQUdFX0VYVF9LRVJOX1dSSVRFKSk7DQo+IC1QVEVfQklUX0ZVTkMoaGlnaCwgbWt3cml0
ZSwgfD0gX1BBR0VfRVhUX1VTRVJfV1JJVEUgfCBfUEFHRV9FWFRfS0VSTl9XUklURSk7DQo+ICtQ
VEVfQklUX0ZVTkNfVk1BKGhpZ2gsIG1rd3JpdGUsIHw9IF9QQUdFX0VYVF9VU0VSX1dSSVRFIHwg
X1BBR0VfRVhUX0tFUk5fV1JJVEUpOw0KPiAgIFBURV9CSVRfRlVOQyhoaWdoLCBta2h1Z2UsIHw9
IF9QQUdFX1NaSFVHRSk7DQo+ICAgI2Vsc2UNCj4gICBQVEVfQklUX0ZVTkMobG93LCB3cnByb3Rl
Y3QsICY9IH5fUEFHRV9SVyk7DQo+IC1QVEVfQklUX0ZVTkMobG93LCBta3dyaXRlLCB8PSBfUEFH
RV9SVyk7DQo+ICtQVEVfQklUX0ZVTkNfVk1BKGxvdywgbWt3cml0ZSwgfD0gX1BBR0VfUlcpOw0K
PiAgIFBURV9CSVRfRlVOQyhsb3csIG1raHVnZSwgfD0gX1BBR0VfU1pIVUdFKTsNCj4gICAjZW5k
aWYNCj4gICANCj4gZGlmZiAtLWdpdCBhL2FyY2gvc3BhcmMvaW5jbHVkZS9hc20vcGd0YWJsZV8z
Mi5oIGIvYXJjaC9zcGFyYy9pbmNsdWRlL2FzbS9wZ3RhYmxlXzMyLmgNCj4gaW5kZXggZDQzMzBl
M2M1N2E2Li4zZTg4MzYxNzk0NTYgMTAwNjQ0DQo+IC0tLSBhL2FyY2gvc3BhcmMvaW5jbHVkZS9h
c20vcGd0YWJsZV8zMi5oDQo+ICsrKyBiL2FyY2gvc3BhcmMvaW5jbHVkZS9hc20vcGd0YWJsZV8z
Mi5oDQo+IEBAIC0yNDEsNyArMjQxLDcgQEAgc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWtvbGQo
cHRlX3QgcHRlKQ0KPiAgIAlyZXR1cm4gX19wdGUocHRlX3ZhbChwdGUpICYgflNSTU1VX1JFRik7
DQo+ICAgfQ0KPiAgIA0KPiAtc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBw
dGUpDQo+ICtzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0
IHZtX2FyZWFfc3RydWN0ICp2bWEpDQo+ICAgew0KPiAgIAlyZXR1cm4gX19wdGUocHRlX3ZhbChw
dGUpIHwgU1JNTVVfV1JJVEUpOw0KPiAgIH0NCj4gZGlmZiAtLWdpdCBhL2FyY2gvc3BhcmMvaW5j
bHVkZS9hc20vcGd0YWJsZV82NC5oIGIvYXJjaC9zcGFyYy9pbmNsdWRlL2FzbS9wZ3RhYmxlXzY0
LmgNCj4gaW5kZXggMmRjOGQ0NjQxNzM0Li5jNWNkNWMwM2Y1NTcgMTAwNjQ0DQo+IC0tLSBhL2Fy
Y2gvc3BhcmMvaW5jbHVkZS9hc20vcGd0YWJsZV82NC5oDQo+ICsrKyBiL2FyY2gvc3BhcmMvaW5j
bHVkZS9hc20vcGd0YWJsZV82NC5oDQo+IEBAIC00NjYsNyArNDY2LDcgQEAgc3RhdGljIGlubGlu
ZSBwdGVfdCBwdGVfbWtjbGVhbihwdGVfdCBwdGUpDQo+ICAgCXJldHVybiBfX3B0ZSh2YWwpOw0K
PiAgIH0NCj4gICANCj4gLXN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRl
KQ0KPiArc3RhdGljIGlubGluZSBwdGVfdCBwdGVfbWt3cml0ZShwdGVfdCBwdGUsIHN0cnVjdCB2
bV9hcmVhX3N0cnVjdCAqdm1hKQ0KPiAgIHsNCj4gICAJdW5zaWduZWQgbG9uZyB2YWwgPSBwdGVf
dmFsKHB0ZSksIG1hc2s7DQo+ICAgDQo+IEBAIC03NTYsMTEgKzc1NiwxMSBAQCBzdGF0aWMgaW5s
aW5lIHBtZF90IHBtZF9ta3lvdW5nKHBtZF90IHBtZCkNCj4gICAJcmV0dXJuIF9fcG1kKHB0ZV92
YWwocHRlKSk7DQo+ICAgfQ0KPiAgIA0KPiAtc3RhdGljIGlubGluZSBwbWRfdCBwbWRfbWt3cml0
ZShwbWRfdCBwbWQpDQo+ICtzdGF0aWMgaW5saW5lIHBtZF90IHBtZF9ta3dyaXRlKHBtZF90IHBt
ZCwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpDQo+ICAgew0KPiAgIAlwdGVfdCBwdGUgPSBf
X3B0ZShwbWRfdmFsKHBtZCkpOw0KPiAgIA0KPiAtCXB0ZSA9IHB0ZV9ta3dyaXRlKHB0ZSk7DQo+
ICsJcHRlID0gcHRlX21rd3JpdGUocHRlLCB2bWEpOw0KPiAgIA0KPiAgIAlyZXR1cm4gX19wbWQo
cHRlX3ZhbChwdGUpKTsNCj4gICB9DQo+IGRpZmYgLS1naXQgYS9hcmNoL3VtL2luY2x1ZGUvYXNt
L3BndGFibGUuaCBiL2FyY2gvdW0vaW5jbHVkZS9hc20vcGd0YWJsZS5oDQo+IGluZGV4IGE3MGQx
NjE4ZWIzNS4uOTYzNDc5YzEzM2I3IDEwMDY0NA0KPiAtLS0gYS9hcmNoL3VtL2luY2x1ZGUvYXNt
L3BndGFibGUuaA0KPiArKysgYi9hcmNoL3VtL2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiBAQCAt
MjA3LDcgKzIwNyw3IEBAIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21reW91bmcocHRlX3QgcHRl
KQ0KPiAgIAlyZXR1cm4ocHRlKTsNCj4gICB9DQo+ICAgDQo+IC1zdGF0aWMgaW5saW5lIHB0ZV90
IHB0ZV9ta3dyaXRlKHB0ZV90IHB0ZSkNCj4gK3N0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3Jp
dGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkNCj4gICB7DQo+ICAgCWlm
ICh1bmxpa2VseShwdGVfZ2V0X2JpdHMocHRlLCAgX1BBR0VfUlcpKSkNCj4gICAJCXJldHVybiBw
dGU7DQo+IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wZ3RhYmxlLmggYi9hcmNo
L3g4Ni9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgNCj4gaW5kZXggMzYwN2YyNTcyZjllLi42NmM1MTQ4
MDgyNzYgMTAwNjQ0DQo+IC0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiAr
KysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wZ3RhYmxlLmgNCj4gQEAgLTM2OSw3ICszNjksOSBA
QCBzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlX2tlcm5lbChwdGVfdCBwdGUpDQo+ICAg
CXJldHVybiBwdGVfc2V0X2ZsYWdzKHB0ZSwgX1BBR0VfUlcpOw0KPiAgIH0NCj4gICANCj4gLXN0
YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rd3JpdGUocHRlX3QgcHRlKQ0KPiArc3RydWN0IHZtX2Fy
ZWFfc3RydWN0Ow0KPiArDQo+ICtzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0ZV90
IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpDQo+ICAgew0KPiAgIAlyZXR1cm4gcHRl
X21rd3JpdGVfa2VybmVsKHB0ZSk7DQo+ICAgfQ0KPiBAQCAtNDcwLDcgKzQ3Miw3IEBAIHN0YXRp
YyBpbmxpbmUgcG1kX3QgcG1kX21reW91bmcocG1kX3QgcG1kKQ0KPiAgIAlyZXR1cm4gcG1kX3Nl
dF9mbGFncyhwbWQsIF9QQUdFX0FDQ0VTU0VEKTsNCj4gICB9DQo+ICAgDQo+IC1zdGF0aWMgaW5s
aW5lIHBtZF90IHBtZF9ta3dyaXRlKHBtZF90IHBtZCkNCj4gK3N0YXRpYyBpbmxpbmUgcG1kX3Qg
cG1kX21rd3JpdGUocG1kX3QgcG1kLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkNCj4gICB7
DQo+ICAgCXJldHVybiBwbWRfc2V0X2ZsYWdzKHBtZCwgX1BBR0VfUlcpOw0KPiAgIH0NCj4gZGlm
ZiAtLWdpdCBhL2FyY2gveHRlbnNhL2luY2x1ZGUvYXNtL3BndGFibGUuaCBiL2FyY2gveHRlbnNh
L2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiBpbmRleCBmYzdhMTQ4ODRjNmMuLmQ3MjYzMmQ5YzUz
YyAxMDA2NDQNCj4gLS0tIGEvYXJjaC94dGVuc2EvaW5jbHVkZS9hc20vcGd0YWJsZS5oDQo+ICsr
KyBiL2FyY2gveHRlbnNhL2luY2x1ZGUvYXNtL3BndGFibGUuaA0KPiBAQCAtMjYyLDcgKzI2Miw3
IEBAIHN0YXRpYyBpbmxpbmUgcHRlX3QgcHRlX21rZGlydHkocHRlX3QgcHRlKQ0KPiAgIAl7IHB0
ZV92YWwocHRlKSB8PSBfUEFHRV9ESVJUWTsgcmV0dXJuIHB0ZTsgfQ0KPiAgIHN0YXRpYyBpbmxp
bmUgcHRlX3QgcHRlX21reW91bmcocHRlX3QgcHRlKQ0KPiAgIAl7IHB0ZV92YWwocHRlKSB8PSBf
UEFHRV9BQ0NFU1NFRDsgcmV0dXJuIHB0ZTsgfQ0KPiAtc3RhdGljIGlubGluZSBwdGVfdCBwdGVf
bWt3cml0ZShwdGVfdCBwdGUpDQo+ICtzdGF0aWMgaW5saW5lIHB0ZV90IHB0ZV9ta3dyaXRlKHB0
ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpDQo+ICAgCXsgcHRlX3ZhbChwdGUp
IHw9IF9QQUdFX1dSSVRBQkxFOyByZXR1cm4gcHRlOyB9DQo+ICAgDQo+ICAgI2RlZmluZSBwZ3By
b3Rfbm9uY2FjaGVkKHByb3QpIFwNCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvYXNtLWdlbmVyaWMv
aHVnZXRsYi5oIGIvaW5jbHVkZS9hc20tZ2VuZXJpYy9odWdldGxiLmgNCj4gaW5kZXggZDdmNjMz
NWQzOTk5Li5lODZjODMwNzI4ZGUgMTAwNjQ0DQo+IC0tLSBhL2luY2x1ZGUvYXNtLWdlbmVyaWMv
aHVnZXRsYi5oDQo+ICsrKyBiL2luY2x1ZGUvYXNtLWdlbmVyaWMvaHVnZXRsYi5oDQo+IEBAIC0y
MCw5ICsyMCw5IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBodWdlX3B0ZV9kaXJ0eShw
dGVfdCBwdGUpDQo+ICAgCXJldHVybiBwdGVfZGlydHkocHRlKTsNCj4gICB9DQo+ICAgDQo+IC1z
dGF0aWMgaW5saW5lIHB0ZV90IGh1Z2VfcHRlX21rd3JpdGUocHRlX3QgcHRlKQ0KPiArc3RhdGlj
IGlubGluZSBwdGVfdCBodWdlX3B0ZV9ta3dyaXRlKHB0ZV90IHB0ZSwgc3RydWN0IHZtX2FyZWFf
c3RydWN0ICp2bWEpDQo+ICAgew0KPiAtCXJldHVybiBwdGVfbWt3cml0ZShwdGUpOw0KPiArCXJl
dHVybiBwdGVfbWt3cml0ZShwdGUsIHZtYSk7DQo+ICAgfQ0KPiAgIA0KPiAgICNpZm5kZWYgX19I
QVZFX0FSQ0hfSFVHRV9QVEVfV1JQUk9URUNUDQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4
L21tLmggYi9pbmNsdWRlL2xpbnV4L21tLmgNCj4gaW5kZXggMWY3OTY2NzgyNGViLi5hZjY1MjQ0
NGZiYmEgMTAwNjQ0DQo+IC0tLSBhL2luY2x1ZGUvbGludXgvbW0uaA0KPiArKysgYi9pbmNsdWRl
L2xpbnV4L21tLmgNCj4gQEAgLTExNjMsNyArMTE2Myw3IEBAIHZvaWQgZnJlZV9jb21wb3VuZF9w
YWdlKHN0cnVjdCBwYWdlICpwYWdlKTsNCj4gICBzdGF0aWMgaW5saW5lIHB0ZV90IG1heWJlX21r
d3JpdGUocHRlX3QgcHRlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkNCj4gICB7DQo+ICAg
CWlmIChsaWtlbHkodm1hLT52bV9mbGFncyAmIFZNX1dSSVRFKSkNCj4gLQkJcHRlID0gcHRlX21r
d3JpdGUocHRlKTsNCj4gKwkJcHRlID0gcHRlX21rd3JpdGUocHRlLCB2bWEpOw0KPiAgIAlyZXR1
cm4gcHRlOw0KPiAgIH0NCj4gICANCj4gZGlmZiAtLWdpdCBhL21tL2RlYnVnX3ZtX3BndGFibGUu
YyBiL21tL2RlYnVnX3ZtX3BndGFibGUuYw0KPiBpbmRleCBhZjU5Y2M3YmQzMDcuLjdiYzU1OTI5
MDBiYyAxMDA2NDQNCj4gLS0tIGEvbW0vZGVidWdfdm1fcGd0YWJsZS5jDQo+ICsrKyBiL21tL2Rl
YnVnX3ZtX3BndGFibGUuYw0KPiBAQCAtMTA5LDEwICsxMDksMTAgQEAgc3RhdGljIHZvaWQgX19p
bml0IHB0ZV9iYXNpY190ZXN0cyhzdHJ1Y3QgcGd0YWJsZV9kZWJ1Z19hcmdzICphcmdzLCBpbnQg
aWR4KQ0KPiAgIAlXQVJOX09OKCFwdGVfc2FtZShwdGUsIHB0ZSkpOw0KPiAgIAlXQVJOX09OKCFw
dGVfeW91bmcocHRlX21reW91bmcocHRlX21rb2xkKHB0ZSkpKSk7DQo+ICAgCVdBUk5fT04oIXB0
ZV9kaXJ0eShwdGVfbWtkaXJ0eShwdGVfbWtjbGVhbihwdGUpKSkpOw0KPiAtCVdBUk5fT04oIXB0
ZV93cml0ZShwdGVfbWt3cml0ZShwdGVfd3Jwcm90ZWN0KHB0ZSkpKSk7DQo+ICsJV0FSTl9PTigh
cHRlX3dyaXRlKHB0ZV9ta3dyaXRlKHB0ZV93cnByb3RlY3QocHRlKSwgYXJncy0+dm1hKSkpOw0K
PiAgIAlXQVJOX09OKHB0ZV95b3VuZyhwdGVfbWtvbGQocHRlX21reW91bmcocHRlKSkpKTsNCj4g
ICAJV0FSTl9PTihwdGVfZGlydHkocHRlX21rY2xlYW4ocHRlX21rZGlydHkocHRlKSkpKTsNCj4g
LQlXQVJOX09OKHB0ZV93cml0ZShwdGVfd3Jwcm90ZWN0KHB0ZV9ta3dyaXRlKHB0ZSkpKSk7DQo+
ICsJV0FSTl9PTihwdGVfd3JpdGUocHRlX3dycHJvdGVjdChwdGVfbWt3cml0ZShwdGUsIGFyZ3Mt
PnZtYSkpKSk7DQo+ICAgCVdBUk5fT04ocHRlX2RpcnR5KHB0ZV93cnByb3RlY3QocHRlX21rY2xl
YW4ocHRlKSkpKTsNCj4gICAJV0FSTl9PTighcHRlX2RpcnR5KHB0ZV93cnByb3RlY3QocHRlX21r
ZGlydHkocHRlKSkpKTsNCj4gICB9DQo+IEBAIC0xNTMsNyArMTUzLDcgQEAgc3RhdGljIHZvaWQg
X19pbml0IHB0ZV9hZHZhbmNlZF90ZXN0cyhzdHJ1Y3QgcGd0YWJsZV9kZWJ1Z19hcmdzICphcmdz
KQ0KPiAgIAlwdGUgPSBwdGVfbWtjbGVhbihwdGUpOw0KPiAgIAlzZXRfcHRlX2F0KGFyZ3MtPm1t
LCBhcmdzLT52YWRkciwgYXJncy0+cHRlcCwgcHRlKTsNCj4gICAJZmx1c2hfZGNhY2hlX3BhZ2Uo
cGFnZSk7DQo+IC0JcHRlID0gcHRlX21rd3JpdGUocHRlKTsNCj4gKwlwdGUgPSBwdGVfbWt3cml0
ZShwdGUsIGFyZ3MtPnZtYSk7DQo+ICAgCXB0ZSA9IHB0ZV9ta2RpcnR5KHB0ZSk7DQo+ICAgCXB0
ZXBfc2V0X2FjY2Vzc19mbGFncyhhcmdzLT52bWEsIGFyZ3MtPnZhZGRyLCBhcmdzLT5wdGVwLCBw
dGUsIDEpOw0KPiAgIAlwdGUgPSBwdGVwX2dldChhcmdzLT5wdGVwKTsNCj4gQEAgLTE5OSwxMCAr
MTk5LDEwIEBAIHN0YXRpYyB2b2lkIF9faW5pdCBwbWRfYmFzaWNfdGVzdHMoc3RydWN0IHBndGFi
bGVfZGVidWdfYXJncyAqYXJncywgaW50IGlkeCkNCj4gICAJV0FSTl9PTighcG1kX3NhbWUocG1k
LCBwbWQpKTsNCj4gICAJV0FSTl9PTighcG1kX3lvdW5nKHBtZF9ta3lvdW5nKHBtZF9ta29sZChw
bWQpKSkpOw0KPiAgIAlXQVJOX09OKCFwbWRfZGlydHkocG1kX21rZGlydHkocG1kX21rY2xlYW4o
cG1kKSkpKTsNCj4gLQlXQVJOX09OKCFwbWRfd3JpdGUocG1kX21rd3JpdGUocG1kX3dycHJvdGVj
dChwbWQpKSkpOw0KPiArCVdBUk5fT04oIXBtZF93cml0ZShwbWRfbWt3cml0ZShwbWRfd3Jwcm90
ZWN0KHBtZCksIGFyZ3MtPnZtYSkpKTsNCj4gICAJV0FSTl9PTihwbWRfeW91bmcocG1kX21rb2xk
KHBtZF9ta3lvdW5nKHBtZCkpKSk7DQo+ICAgCVdBUk5fT04ocG1kX2RpcnR5KHBtZF9ta2NsZWFu
KHBtZF9ta2RpcnR5KHBtZCkpKSk7DQo+IC0JV0FSTl9PTihwbWRfd3JpdGUocG1kX3dycHJvdGVj
dChwbWRfbWt3cml0ZShwbWQpKSkpOw0KPiArCVdBUk5fT04ocG1kX3dyaXRlKHBtZF93cnByb3Rl
Y3QocG1kX21rd3JpdGUocG1kLCBhcmdzLT52bWEpKSkpOw0KPiAgIAlXQVJOX09OKHBtZF9kaXJ0
eShwbWRfd3Jwcm90ZWN0KHBtZF9ta2NsZWFuKHBtZCkpKSk7DQo+ICAgCVdBUk5fT04oIXBtZF9k
aXJ0eShwbWRfd3Jwcm90ZWN0KHBtZF9ta2RpcnR5KHBtZCkpKSk7DQo+ICAgCS8qDQo+IEBAIC0y
NTMsNyArMjUzLDcgQEAgc3RhdGljIHZvaWQgX19pbml0IHBtZF9hZHZhbmNlZF90ZXN0cyhzdHJ1
Y3QgcGd0YWJsZV9kZWJ1Z19hcmdzICphcmdzKQ0KPiAgIAlwbWQgPSBwbWRfbWtjbGVhbihwbWQp
Ow0KPiAgIAlzZXRfcG1kX2F0KGFyZ3MtPm1tLCB2YWRkciwgYXJncy0+cG1kcCwgcG1kKTsNCj4g
ICAJZmx1c2hfZGNhY2hlX3BhZ2UocGFnZSk7DQo+IC0JcG1kID0gcG1kX21rd3JpdGUocG1kKTsN
Cj4gKwlwbWQgPSBwbWRfbWt3cml0ZShwbWQsIGFyZ3MtPnZtYSk7DQo+ICAgCXBtZCA9IHBtZF9t
a2RpcnR5KHBtZCk7DQo+ICAgCXBtZHBfc2V0X2FjY2Vzc19mbGFncyhhcmdzLT52bWEsIHZhZGRy
LCBhcmdzLT5wbWRwLCBwbWQsIDEpOw0KPiAgIAlwbWQgPSBSRUFEX09OQ0UoKmFyZ3MtPnBtZHAp
Ow0KPiBAQCAtOTI4LDggKzkyOCw4IEBAIHN0YXRpYyB2b2lkIF9faW5pdCBodWdldGxiX2Jhc2lj
X3Rlc3RzKHN0cnVjdCBwZ3RhYmxlX2RlYnVnX2FyZ3MgKmFyZ3MpDQo+ICAgCXB0ZSA9IG1rX2h1
Z2VfcHRlKHBhZ2UsIGFyZ3MtPnBhZ2VfcHJvdCk7DQo+ICAgDQo+ICAgCVdBUk5fT04oIWh1Z2Vf
cHRlX2RpcnR5KGh1Z2VfcHRlX21rZGlydHkocHRlKSkpOw0KPiAtCVdBUk5fT04oIWh1Z2VfcHRl
X3dyaXRlKGh1Z2VfcHRlX21rd3JpdGUoaHVnZV9wdGVfd3Jwcm90ZWN0KHB0ZSkpKSk7DQo+IC0J
V0FSTl9PTihodWdlX3B0ZV93cml0ZShodWdlX3B0ZV93cnByb3RlY3QoaHVnZV9wdGVfbWt3cml0
ZShwdGUpKSkpOw0KPiArCVdBUk5fT04oIWh1Z2VfcHRlX3dyaXRlKGh1Z2VfcHRlX21rd3JpdGUo
aHVnZV9wdGVfd3Jwcm90ZWN0KHB0ZSksIGFyZ3MtPnZtYSkpKTsNCj4gKwlXQVJOX09OKGh1Z2Vf
cHRlX3dyaXRlKGh1Z2VfcHRlX3dycHJvdGVjdChodWdlX3B0ZV9ta3dyaXRlKHB0ZSwgYXJncy0+
dm1hKSkpKTsNCj4gICANCj4gICAjaWZkZWYgQ09ORklHX0FSQ0hfV0FOVF9HRU5FUkFMX0hVR0VU
TEINCj4gICAJcHRlID0gcGZuX3B0ZShhcmdzLT5maXhlZF9wbWRfcGZuLCBhcmdzLT5wYWdlX3By
b3QpOw0KPiBkaWZmIC0tZ2l0IGEvbW0vaHVnZV9tZW1vcnkuYyBiL21tL2h1Z2VfbWVtb3J5LmMN
Cj4gaW5kZXggNGZjNDM4NTllNTlhLi5hYWY4MTU4MzgxNDQgMTAwNjQ0DQo+IC0tLSBhL21tL2h1
Z2VfbWVtb3J5LmMNCj4gKysrIGIvbW0vaHVnZV9tZW1vcnkuYw0KPiBAQCAtNTU1LDcgKzU1NSw3
IEBAIF9fc2V0dXAoInRyYW5zcGFyZW50X2h1Z2VwYWdlPSIsIHNldHVwX3RyYW5zcGFyZW50X2h1
Z2VwYWdlKTsNCj4gICBwbWRfdCBtYXliZV9wbWRfbWt3cml0ZShwbWRfdCBwbWQsIHN0cnVjdCB2
bV9hcmVhX3N0cnVjdCAqdm1hKQ0KPiAgIHsNCj4gICAJaWYgKGxpa2VseSh2bWEtPnZtX2ZsYWdz
ICYgVk1fV1JJVEUpKQ0KPiAtCQlwbWQgPSBwbWRfbWt3cml0ZShwbWQpOw0KPiArCQlwbWQgPSBw
bWRfbWt3cml0ZShwbWQsIHZtYSk7DQo+ICAgCXJldHVybiBwbWQ7DQo+ICAgfQ0KPiAgIA0KPiBA
QCAtMTU4MCw3ICsxNTgwLDcgQEAgdm1fZmF1bHRfdCBkb19odWdlX3BtZF9udW1hX3BhZ2Uoc3Ry
dWN0IHZtX2ZhdWx0ICp2bWYpDQo+ICAgCXBtZCA9IHBtZF9tb2RpZnkob2xkcG1kLCB2bWEtPnZt
X3BhZ2VfcHJvdCk7DQo+ICAgCXBtZCA9IHBtZF9ta3lvdW5nKHBtZCk7DQo+ICAgCWlmICh3cml0
YWJsZSkNCj4gLQkJcG1kID0gcG1kX21rd3JpdGUocG1kKTsNCj4gKwkJcG1kID0gcG1kX21rd3Jp
dGUocG1kLCB2bWEpOw0KPiAgIAlzZXRfcG1kX2F0KHZtYS0+dm1fbW0sIGhhZGRyLCB2bWYtPnBt
ZCwgcG1kKTsNCj4gICAJdXBkYXRlX21tdV9jYWNoZV9wbWQodm1hLCB2bWYtPmFkZHJlc3MsIHZt
Zi0+cG1kKTsNCj4gICAJc3Bpbl91bmxvY2sodm1mLT5wdGwpOw0KPiBAQCAtMTkyNiw3ICsxOTI2
LDcgQEAgaW50IGNoYW5nZV9odWdlX3BtZChzdHJ1Y3QgbW11X2dhdGhlciAqdGxiLCBzdHJ1Y3Qg
dm1fYXJlYV9zdHJ1Y3QgKnZtYSwNCj4gICAJLyogU2VlIGNoYW5nZV9wdGVfcmFuZ2UoKS4gKi8N
Cj4gICAJaWYgKChjcF9mbGFncyAmIE1NX0NQX1RSWV9DSEFOR0VfV1JJVEFCTEUpICYmICFwbWRf
d3JpdGUoZW50cnkpICYmDQo+ICAgCSAgICBjYW5fY2hhbmdlX3BtZF93cml0YWJsZSh2bWEsIGFk
ZHIsIGVudHJ5KSkNCj4gLQkJZW50cnkgPSBwbWRfbWt3cml0ZShlbnRyeSk7DQo+ICsJCWVudHJ5
ID0gcG1kX21rd3JpdGUoZW50cnksIHZtYSk7DQo+ICAgDQo+ICAgCXJldCA9IEhQQUdFX1BNRF9O
UjsNCj4gICAJc2V0X3BtZF9hdChtbSwgYWRkciwgcG1kLCBlbnRyeSk7DQo+IGRpZmYgLS1naXQg
YS9tbS9odWdldGxiLmMgYi9tbS9odWdldGxiLmMNCj4gaW5kZXggMDdhYmNiNmViMjAzLi42YWY0
NzFiZGNmZjggMTAwNjQ0DQo+IC0tLSBhL21tL2h1Z2V0bGIuYw0KPiArKysgYi9tbS9odWdldGxi
LmMNCj4gQEAgLTQ5MDAsNyArNDkwMCw3IEBAIHN0YXRpYyBwdGVfdCBtYWtlX2h1Z2VfcHRlKHN0
cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBzdHJ1Y3QgcGFnZSAqcGFnZSwNCj4gICANCj4gICAJ
aWYgKHdyaXRhYmxlKSB7DQo+ICAgCQllbnRyeSA9IGh1Z2VfcHRlX21rd3JpdGUoaHVnZV9wdGVf
bWtkaXJ0eShta19odWdlX3B0ZShwYWdlLA0KPiAtCQkJCQkgdm1hLT52bV9wYWdlX3Byb3QpKSk7
DQo+ICsJCQkJCSB2bWEtPnZtX3BhZ2VfcHJvdCkpLCB2bWEpOw0KPiAgIAl9IGVsc2Ugew0KPiAg
IAkJZW50cnkgPSBodWdlX3B0ZV93cnByb3RlY3QobWtfaHVnZV9wdGUocGFnZSwNCj4gICAJCQkJ
CSAgIHZtYS0+dm1fcGFnZV9wcm90KSk7DQo+IEBAIC00OTE2LDcgKzQ5MTYsNyBAQCBzdGF0aWMg
dm9pZCBzZXRfaHVnZV9wdGVwX3dyaXRhYmxlKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLA0K
PiAgIHsNCj4gICAJcHRlX3QgZW50cnk7DQo+ICAgDQo+IC0JZW50cnkgPSBodWdlX3B0ZV9ta3dy
aXRlKGh1Z2VfcHRlX21rZGlydHkoaHVnZV9wdGVwX2dldChwdGVwKSkpOw0KPiArCWVudHJ5ID0g
aHVnZV9wdGVfbWt3cml0ZShodWdlX3B0ZV9ta2RpcnR5KGh1Z2VfcHRlcF9nZXQocHRlcCkpLCB2
bWEpOw0KPiAgIAlpZiAoaHVnZV9wdGVwX3NldF9hY2Nlc3NfZmxhZ3Modm1hLCBhZGRyZXNzLCBw
dGVwLCBlbnRyeSwgMSkpDQo+ICAgCQl1cGRhdGVfbW11X2NhY2hlKHZtYSwgYWRkcmVzcywgcHRl
cCk7DQo+ICAgfQ0KPiBkaWZmIC0tZ2l0IGEvbW0vbWVtb3J5LmMgYi9tbS9tZW1vcnkuYw0KPiBp
bmRleCBmNDU2ZjNiNTA0OWMuLmQwOTcyZDJkNmYzNiAxMDA2NDQNCj4gLS0tIGEvbW0vbWVtb3J5
LmMNCj4gKysrIGIvbW0vbWVtb3J5LmMNCj4gQEAgLTQwNjcsNyArNDA2Nyw3IEBAIHN0YXRpYyB2
bV9mYXVsdF90IGRvX2Fub255bW91c19wYWdlKHN0cnVjdCB2bV9mYXVsdCAqdm1mKQ0KPiAgIAll
bnRyeSA9IG1rX3B0ZSgmZm9saW8tPnBhZ2UsIHZtYS0+dm1fcGFnZV9wcm90KTsNCj4gICAJZW50
cnkgPSBwdGVfc3dfbWt5b3VuZyhlbnRyeSk7DQo+ICAgCWlmICh2bWEtPnZtX2ZsYWdzICYgVk1f
V1JJVEUpDQo+IC0JCWVudHJ5ID0gcHRlX21rd3JpdGUocHRlX21rZGlydHkoZW50cnkpKTsNCj4g
KwkJZW50cnkgPSBwdGVfbWt3cml0ZShwdGVfbWtkaXJ0eShlbnRyeSksIHZtYSk7DQo+ICAgDQo+
ICAgCXZtZi0+cHRlID0gcHRlX29mZnNldF9tYXBfbG9jayh2bWEtPnZtX21tLCB2bWYtPnBtZCwg
dm1mLT5hZGRyZXNzLA0KPiAgIAkJCSZ2bWYtPnB0bCk7DQo+IEBAIC00NzU1LDcgKzQ3NTUsNyBA
QCBzdGF0aWMgdm1fZmF1bHRfdCBkb19udW1hX3BhZ2Uoc3RydWN0IHZtX2ZhdWx0ICp2bWYpDQo+
ICAgCXB0ZSA9IHB0ZV9tb2RpZnkob2xkX3B0ZSwgdm1hLT52bV9wYWdlX3Byb3QpOw0KPiAgIAlw
dGUgPSBwdGVfbWt5b3VuZyhwdGUpOw0KPiAgIAlpZiAod3JpdGFibGUpDQo+IC0JCXB0ZSA9IHB0
ZV9ta3dyaXRlKHB0ZSk7DQo+ICsJCXB0ZSA9IHB0ZV9ta3dyaXRlKHB0ZSwgdm1hKTsNCj4gICAJ
cHRlcF9tb2RpZnlfcHJvdF9jb21taXQodm1hLCB2bWYtPmFkZHJlc3MsIHZtZi0+cHRlLCBvbGRf
cHRlLCBwdGUpOw0KPiAgIAl1cGRhdGVfbW11X2NhY2hlKHZtYSwgdm1mLT5hZGRyZXNzLCB2bWYt
PnB0ZSk7DQo+ICAgCXB0ZV91bm1hcF91bmxvY2sodm1mLT5wdGUsIHZtZi0+cHRsKTsNCj4gZGlm
ZiAtLWdpdCBhL21tL21pZ3JhdGVfZGV2aWNlLmMgYi9tbS9taWdyYXRlX2RldmljZS5jDQo+IGlu
ZGV4IGQzMGM5ZGU2MGIwZC4uZGYzZjVlOWQ1Zjc2IDEwMDY0NA0KPiAtLS0gYS9tbS9taWdyYXRl
X2RldmljZS5jDQo+ICsrKyBiL21tL21pZ3JhdGVfZGV2aWNlLmMNCj4gQEAgLTY0Niw3ICs2NDYs
NyBAQCBzdGF0aWMgdm9pZCBtaWdyYXRlX3ZtYV9pbnNlcnRfcGFnZShzdHJ1Y3QgbWlncmF0ZV92
bWEgKm1pZ3JhdGUsDQo+ICAgCQl9DQo+ICAgCQllbnRyeSA9IG1rX3B0ZShwYWdlLCB2bWEtPnZt
X3BhZ2VfcHJvdCk7DQo+ICAgCQlpZiAodm1hLT52bV9mbGFncyAmIFZNX1dSSVRFKQ0KPiAtCQkJ
ZW50cnkgPSBwdGVfbWt3cml0ZShwdGVfbWtkaXJ0eShlbnRyeSkpOw0KPiArCQkJZW50cnkgPSBw
dGVfbWt3cml0ZShwdGVfbWtkaXJ0eShlbnRyeSksIHZtYSk7DQo+ICAgCX0NCj4gICANCj4gICAJ
cHRlcCA9IHB0ZV9vZmZzZXRfbWFwX2xvY2sobW0sIHBtZHAsIGFkZHIsICZwdGwpOw0KPiBkaWZm
IC0tZ2l0IGEvbW0vbXByb3RlY3QuYyBiL21tL21wcm90ZWN0LmMNCj4gaW5kZXggMWQ0ODQzYzk3
YzJhLi4zODExNjNhNDFlODggMTAwNjQ0DQo+IC0tLSBhL21tL21wcm90ZWN0LmMNCj4gKysrIGIv
bW0vbXByb3RlY3QuYw0KPiBAQCAtMTk4LDcgKzE5OCw3IEBAIHN0YXRpYyBsb25nIGNoYW5nZV9w
dGVfcmFuZ2Uoc3RydWN0IG1tdV9nYXRoZXIgKnRsYiwNCj4gICAJCQlpZiAoKGNwX2ZsYWdzICYg
TU1fQ1BfVFJZX0NIQU5HRV9XUklUQUJMRSkgJiYNCj4gICAJCQkgICAgIXB0ZV93cml0ZShwdGVu
dCkgJiYNCj4gICAJCQkgICAgY2FuX2NoYW5nZV9wdGVfd3JpdGFibGUodm1hLCBhZGRyLCBwdGVu
dCkpDQo+IC0JCQkJcHRlbnQgPSBwdGVfbWt3cml0ZShwdGVudCk7DQo+ICsJCQkJcHRlbnQgPSBw
dGVfbWt3cml0ZShwdGVudCwgdm1hKTsNCj4gICANCj4gICAJCQlwdGVwX21vZGlmeV9wcm90X2Nv
bW1pdCh2bWEsIGFkZHIsIHB0ZSwgb2xkcHRlLCBwdGVudCk7DQo+ICAgCQkJaWYgKHB0ZV9uZWVk
c19mbHVzaChvbGRwdGUsIHB0ZW50KSkNCj4gZGlmZiAtLWdpdCBhL21tL3VzZXJmYXVsdGZkLmMg
Yi9tbS91c2VyZmF1bHRmZC5jDQo+IGluZGV4IDUzYzNkOTE2ZmY2Ni4uM2RiNmY4N2MwYWNhIDEw
MDY0NA0KPiAtLS0gYS9tbS91c2VyZmF1bHRmZC5jDQo+ICsrKyBiL21tL3VzZXJmYXVsdGZkLmMN
Cj4gQEAgLTc1LDcgKzc1LDcgQEAgaW50IG1maWxsX2F0b21pY19pbnN0YWxsX3B0ZShzdHJ1Y3Qg
bW1fc3RydWN0ICpkc3RfbW0sIHBtZF90ICpkc3RfcG1kLA0KPiAgIAlpZiAocGFnZV9pbl9jYWNo
ZSAmJiAhdm1fc2hhcmVkKQ0KPiAgIAkJd3JpdGFibGUgPSBmYWxzZTsNCj4gICAJaWYgKHdyaXRh
YmxlKQ0KPiAtCQlfZHN0X3B0ZSA9IHB0ZV9ta3dyaXRlKF9kc3RfcHRlKTsNCj4gKwkJX2RzdF9w
dGUgPSBwdGVfbWt3cml0ZShfZHN0X3B0ZSwgZHN0X3ZtYSk7DQo+ICAgCWlmICh3cF9jb3B5KQ0K
PiAgIAkJX2RzdF9wdGUgPSBwdGVfbWt1ZmZkX3dwKF9kc3RfcHRlKTsNCj4gICANCg==


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 07:35:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 07:35:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503856.776218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXGzr-00071o-QP; Wed, 01 Mar 2023 07:35:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503856.776218; Wed, 01 Mar 2023 07: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 1pXGzr-00071h-Np; Wed, 01 Mar 2023 07:35:31 +0000
Received: by outflank-mailman (input) for mailman id 503856;
 Wed, 01 Mar 2023 07:35: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=p0wY=6Z=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1pXGzr-00071b-6o
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 07:35: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 a2b3498d-b803-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 08:35: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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-509-RI74EMrUNE2QrJP1w4yKng-1; Wed, 01 Mar 2023 02:35:22 -0500
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 33D0918E0925;
 Wed,  1 Mar 2023 07:35:22 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.39.193.92])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 0751C400D796;
 Wed,  1 Mar 2023 07:35:22 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id DC27621E6A1F; Wed,  1 Mar 2023 08:35: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: a2b3498d-b803-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677656127;
	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=HYF4RCZ3NLX6x5O6feGJIHu2VDXXKtj8N3eWJ+tbjLE=;
	b=J+px7h75QIsx6ckY0tkJjstTBxlbMT9lFFLwIPAeFDiximudlU99MsuHZ5Ke011E+vdKdf
	Qs02i4UpbFdVzbNKWUT6DZbrSnDfZXcdrDnezLQyOGpEhp8QrwcdfIjnrf+HiLSoLQaVK7
	6l8khwLEPjY8GkkEOww/kXhxRbdEnrk=
X-MC-Unique: RI74EMrUNE2QrJP1w4yKng-1
From: Markus Armbruster <armbru@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: Thomas Huth <thuth@redhat.com>,  Daniel P. =?utf-8?Q?Berrang=C3=A9?=
 <berrange@redhat.com>,  qemu-devel@nongnu.org,  Peter Maydell
 <peter.maydell@linaro.org>,  Paolo Bonzini <pbonzini@redhat.com>,  Alex
 =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,  qemu-arm@nongnu.org,
  Maxim Levitsky
 <mlevitsk@redhat.com>,  libvir-list@redhat.com,  Richard Henderson
 <richard.henderson@linaro.org>,  xen-devel@lists.xenproject.org,  Reinoud
 Zandijk <reinoud@netbsd.org>,  Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>
Subject: Re: [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
References: <20230227111050.54083-1-thuth@redhat.com>
	<Y/z4rwv09Ckhbtfp@redhat.com>
	<001bedba-b12f-4dd8-0866-7ccb9ce877d0@redhat.com>
	<Y/3C+jC3Lk5MJxfu@redhat.com>
	<99a83e65-273a-ea1b-e7d9-bbdd8ca32145@redhat.com>
	<20230228162938-mutt-send-email-mst@kernel.org>
Date: Wed, 01 Mar 2023 08:35:20 +0100
In-Reply-To: <20230228162938-mutt-send-email-mst@kernel.org> (Michael
	S. Tsirkin's message of "Tue, 28 Feb 2023 16:32:43 -0500")
Message-ID: <87lekg53gn.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.1 on 10.11.54.1

"Michael S. Tsirkin" <mst@redhat.com> writes:

> On Tue, Feb 28, 2023 at 09:05:16PM +0100, Thomas Huth wrote:
>> Well, without CI, I assume that the code will bitrot quite fast (considering
>> that there are continuous improvements to TCG, for example).
>
> We have lots of hosts which we don't test with CI.  They don't bitrot
> because people do testing before release. This is what RCs are for.
> We did releases before CI - it is a cost/benefit thing.

Dropping 32-bit x86 from CI feels like a no-brainer in the current
situation.

As to deprecating 32-bit x86: the people by far most qualified to judge
the "cost/benefit thing" are the regulars who are bearing the cost,
i.e. the people who are actually maintaining it.  Their opinion should
overrule any "but somebody out there might still want to use it".

Maintainers, please state your opinion, if any: aye or nay.

Richard tells us "the maint overhead is large."  Makes me think he's in
favour of dropping 32-bit x86.  Richard?

Peter seems to be reluctant to drop 32-bit ARM at this point.  Peter?



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 07:47:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 07:47:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503860.776229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXHAx-0000O4-RG; Wed, 01 Mar 2023 07:46:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503860.776229; Wed, 01 Mar 2023 07:46: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 1pXHAx-0000Nx-Oc; Wed, 01 Mar 2023 07:46:59 +0000
Received: by outflank-mailman (input) for mailman id 503860;
 Wed, 01 Mar 2023 07:46: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=JoG8=6Z=bsdimp.com=wlosh@srs-se1.protection.inumbo.net>)
 id 1pXHAw-0000NY-Qx
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 07:46:59 +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 3d13be6e-b805-11ed-969f-2f268f93b82a;
 Wed, 01 Mar 2023 08:46:56 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id o15so47697272edr.13
 for <xen-devel@lists.xenproject.org>; Tue, 28 Feb 2023 23:46: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: 3d13be6e-b805-11ed-969f-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bsdimp-com.20210112.gappssmtp.com; s=20210112; t=1677656815;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=Cfq7VAbovSYEGhbTr8+sp2WCCI5QenroDgBC6jwW7mY=;
        b=zEstVKS/Z5vha8LsphOuaTag7FUglNdwKD021RCr5SUvVkHEczdn1DWKuFM2dg3nha
         JsxNpSZQv4o0bz9XajPO7kBAXW94Tt7mKVkddv+zJIOlRj2XjhESQPf0CSQBMH9T5bP7
         2pAU4ozocqkZriv4mZvR658u7hoGJTjzdpjRUJh6EpSv1mej0rQ9n6LoRO1OecODKkOu
         guSrRGcxY8aX04vbR5m4wL+H8lIVf7TCRJArQYNdoKhLkl1SmRmNp3sehXLrVLXQxZtA
         3liJXpnLCDVMzUhmc2Kzv/O2iXrtpRKLG4U8orl7bEIhFcleD9oxTkivgbNAyn0Ok89o
         Fbfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677656815;
        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=Cfq7VAbovSYEGhbTr8+sp2WCCI5QenroDgBC6jwW7mY=;
        b=R3Ht3LX+M7C6+QLp09AVXbPL2jiZf/K/2D3t1xleOakMn/apKYQFe7ZTF9Ga18iPkx
         LWc/y/+MuKH1m75PmwTPIjOdZNdIQP3UHFbjdPqReTdz5dtzxf2mjYSEMMvfh6xX5SZ/
         TyyQLxN6rjHhoX7j6hdJzBqefNqF4/0DcQTbmP+PkqVzg+9LDFJK9kVIeqK29LlLCa3i
         wgMBtTKDFj5Twffoo7Yj1dE/+tDryiGdYOJDc+nMkpsY8jKd0ipcb2LjGMZO9Ahej5Cr
         WECZeCK0lbj0tYu8cQ1US6OzxW+obBVRI0JqaRm5tQcyL41tDnL2IOS52UYd2bvdiLpN
         x4RQ==
X-Gm-Message-State: AO0yUKVWnctZrgOEviU10QFsiJDgAXMfITEy3AurEJm+ok40Ej1NAhTW
	p2G5ij4wuTvRakdiWh2SvFr8tNiRB6w3ey5JQkOxKg==
X-Google-Smtp-Source: AK7set96k+5nSlBDhxrzgJTFNfFejbYzJ9QxIgrHSF+mJN22yC5dkY07Y1PoiKTk9vEeEAwybYN7rOTzg/E29xdw+m8=
X-Received: by 2002:a17:906:7199:b0:8b1:3298:c587 with SMTP id
 h25-20020a170906719900b008b13298c587mr2782109ejk.2.1677656815203; Tue, 28 Feb
 2023 23:46:55 -0800 (PST)
MIME-Version: 1.0
References: <20230227111050.54083-1-thuth@redhat.com> <Y/z4rwv09Ckhbtfp@redhat.com>
 <001bedba-b12f-4dd8-0866-7ccb9ce877d0@redhat.com> <Y/3C+jC3Lk5MJxfu@redhat.com>
 <99a83e65-273a-ea1b-e7d9-bbdd8ca32145@redhat.com> <20230228162938-mutt-send-email-mst@kernel.org>
 <87lekg53gn.fsf@pond.sub.org>
In-Reply-To: <87lekg53gn.fsf@pond.sub.org>
From: Warner Losh <imp@bsdimp.com>
Date: Wed, 1 Mar 2023 00:46:44 -0700
Message-ID: <CANCZdfpdjBk63BVFqA3E3BJCkdgX0Z53G_=ktwKYLqHbgXxhqw@mail.gmail.com>
Subject: Re: [PATCH 0/2] Deprecate support for 32-bit x86 and arm hosts
To: Markus Armbruster <armbru@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Thomas Huth <thuth@redhat.com>, 
	=?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>, 
	QEMU Developers <qemu-devel@nongnu.org>, Peter Maydell <peter.maydell@linaro.org>, 
	Paolo Bonzini <pbonzini@redhat.com>, =?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>, 
	qemu-arm <qemu-arm@nongnu.org>, Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com, 
	Richard Henderson <richard.henderson@linaro.org>, xen-devel@lists.xenproject.org, 
	Reinoud Zandijk <reinoud@netbsd.org>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Content-Type: multipart/alternative; boundary="00000000000086894d05f5d1ea38"

--00000000000086894d05f5d1ea38
Content-Type: text/plain; charset="UTF-8"

On Wed, Mar 1, 2023, 12:36 AM Markus Armbruster <armbru@redhat.com> wrote:

> "Michael S. Tsirkin" <mst@redhat.com> writes:
>
> > On Tue, Feb 28, 2023 at 09:05:16PM +0100, Thomas Huth wrote:
> >> Well, without CI, I assume that the code will bitrot quite fast
> (considering
> >> that there are continuous improvements to TCG, for example).
> >
> > We have lots of hosts which we don't test with CI.  They don't bitrot
> > because people do testing before release. This is what RCs are for.
> > We did releases before CI - it is a cost/benefit thing.
>
> Dropping 32-bit x86 from CI feels like a no-brainer in the current
> situation.
>
> As to deprecating 32-bit x86: the people by far most qualified to judge
> the "cost/benefit thing" are the regulars who are bearing the cost,
> i.e. the people who are actually maintaining it.  Their opinion should
> overrule any "but somebody out there might still want to use it".
>
> Maintainers, please state your opinion, if any: aye or nay.
>
> Richard tells us "the maint overhead is large."  Makes me think he's in
> favour of dropping 32-bit x86.  Richard?
>
> Peter seems to be reluctant to drop 32-bit ARM at this point.  Peter?
>

For FreeBSD systen we have no 32bit arm host users. There may be a few i386
host users left, but they are a tiny sliver of users. The overwhelming bulk
of our users for qemu-system- are on x86-64 or aarch64 hosts.

For bsd-user, there is no 32 bit host support at all. It was dropped as
part of the push to prune old code and upstream.

Warner

>

--00000000000086894d05f5d1ea38
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><div><br><br><div class=3D"gmail_quote"><div dir=3D"ltr" =
class=3D"gmail_attr">On Wed, Mar 1, 2023, 12:36 AM Markus Armbruster &lt;<a=
 href=3D"mailto:armbru@redhat.com">armbru@redhat.com</a>&gt; wrote:<br></di=
v><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:=
1px #ccc solid;padding-left:1ex">&quot;Michael S. Tsirkin&quot; &lt;<a href=
=3D"mailto:mst@redhat.com" target=3D"_blank" rel=3D"noreferrer">mst@redhat.=
com</a>&gt; writes:<br>
<br>
&gt; On Tue, Feb 28, 2023 at 09:05:16PM +0100, Thomas Huth wrote:<br>
&gt;&gt; Well, without CI, I assume that the code will bitrot quite fast (c=
onsidering<br>
&gt;&gt; that there are continuous improvements to TCG, for example).<br>
&gt;<br>
&gt; We have lots of hosts which we don&#39;t test with CI.=C2=A0 They don&=
#39;t bitrot<br>
&gt; because people do testing before release. This is what RCs are for.<br=
>
&gt; We did releases before CI - it is a cost/benefit thing.<br>
<br>
Dropping 32-bit x86 from CI feels like a no-brainer in the current<br>
situation.<br>
<br>
As to deprecating 32-bit x86: the people by far most qualified to judge<br>
the &quot;cost/benefit thing&quot; are the regulars who are bearing the cos=
t,<br>
i.e. the people who are actually maintaining it.=C2=A0 Their opinion should=
<br>
overrule any &quot;but somebody out there might still want to use it&quot;.=
<br>
<br>
Maintainers, please state your opinion, if any: aye or nay.<br>
<br>
Richard tells us &quot;the maint overhead is large.&quot;=C2=A0 Makes me th=
ink he&#39;s in<br>
favour of dropping 32-bit x86.=C2=A0 Richard?<br>
<br>
Peter seems to be reluctant to drop 32-bit ARM at this point.=C2=A0 Peter?<=
br></blockquote></div></div><div dir=3D"auto"><br></div><div dir=3D"auto">F=
or FreeBSD systen we have no 32bit arm host users. There may be a few i386 =
host users left, but they are a tiny sliver of users. The overwhelming bulk=
 of our users for qemu-system- are on x86-64 or aarch64 hosts.</div><div di=
r=3D"auto"><br></div><div dir=3D"auto">For bsd-user, there is no 32 bit hos=
t support at all. It was dropped as part of the push to prune old code and =
upstream.</div><div dir=3D"auto"><br></div><div dir=3D"auto">Warner=C2=A0</=
div><div dir=3D"auto"><div class=3D"gmail_quote"><blockquote class=3D"gmail=
_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:=
1ex">
</blockquote></div></div></div>

--00000000000086894d05f5d1ea38--


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 08:04:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 08:04:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503868.776238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXHRy-0003tA-OU; Wed, 01 Mar 2023 08:04:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503868.776238; Wed, 01 Mar 2023 08:04:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXHRy-0003t3-Lu; Wed, 01 Mar 2023 08:04:34 +0000
Received: by outflank-mailman (input) for mailman id 503868;
 Wed, 01 Mar 2023 08:04: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 1pXHRx-0003st-5R; Wed, 01 Mar 2023 08:04: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 1pXHRw-0008Iv-UH; Wed, 01 Mar 2023 08:04: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 1pXHRw-0007ST-IX; Wed, 01 Mar 2023 08:04:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXHRw-0006I9-Hy; Wed, 01 Mar 2023 08:04:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=j36n+xKaW04JTOlwbQdUuePOUWuS71Vf5LADti8QxCU=; b=eK0vnJMVUHJSL3tCwuBatS8Tqq
	Qht5xEm7FjOAoTfTzrg/LmxuZ47YZBzlyHYZ0rDdmS3ip5dV7FOocjeY71RrO6Q9BSzV8HX1ApIlP
	fV/Ku7auIXhkZNcc/r701a5yL56/mH6wgooDGx+lE7wAZq+wu7mKBxdhP3dw9BgW36eA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178822-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 178822: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    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-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-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=c0927a7a5391f7d8e593e5e50ead7505a23cadf9
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Mar 2023 08:04:32 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 178042
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 178042
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 17 guest-stop               fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm     18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 178042
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-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-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                c0927a7a5391f7d8e593e5e50ead7505a23cadf9
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z    7 days
Failing since        178093  2023-02-22 05:02:47 Z    7 days   14 attempts
Testing same since   178822  2023-03-01 00:42:44 Z    0 days    1 attempts

------------------------------------------------------------
1939 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 08:16:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 08:16:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503877.776249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXHdJ-0005mX-17; Wed, 01 Mar 2023 08:16:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503877.776249; Wed, 01 Mar 2023 08:16:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXHdI-0005mQ-UX; Wed, 01 Mar 2023 08:16:16 +0000
Received: by outflank-mailman (input) for mailman id 503877;
 Wed, 01 Mar 2023 08:16: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=+Yld=6Z=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1pXHdH-0005mK-2H
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 08:16:15 +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 53dde2cf-b809-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 09:16:13 +0100 (CET)
Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com
 [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id
 us-mta-182-v0u6o8euP9i7c_-pKccnsA-1; Wed, 01 Mar 2023 03:16:10 -0500
Received: by mail-wm1-f69.google.com with SMTP id
 e17-20020a05600c219100b003e21fa60ec1so5032571wme.2
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 00:16:10 -0800 (PST)
Received: from ?IPV6:2a09:80c0:192:0:5dac:bf3d:c41:c3e7?
 ([2a09:80c0:192:0:5dac:bf3d:c41:c3e7])
 by smtp.gmail.com with ESMTPSA id
 m15-20020a5d6a0f000000b002c707785da4sm11739026wru.107.2023.03.01.00.16.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 01 Mar 2023 00:16: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: 53dde2cf-b809-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677658571;
	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=qQIo0hNE1IdmdTJeAfVSWSJHdp/A2L81MbqwgQGi7/s=;
	b=Lgx4494Ki92A8P7KBec9GZ+oniD/so9S6s376pXCBfwIZbpFryYzm7VuUbDCudOmPpuazJ
	BZlYjiR+awKb7+/obJJdaVaNJPlnbEr8EXFHhRoDxhAjgvdnre76/wb2aZFcUicW5ld7qE
	AjRVQKfqtaApCJ9VvbYhapBkNy2Iiis=
X-MC-Unique: v0u6o8euP9i7c_-pKccnsA-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:subject:organization:from
         :content-language:references:cc:to:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=qQIo0hNE1IdmdTJeAfVSWSJHdp/A2L81MbqwgQGi7/s=;
        b=NOPIa9wyCJDrIv0DI50vwBeYWvzFwwrlYpe4CpjNUf8QvyCY/wgzGvLWDt5xIoXtVE
         9UFwh0Zfy14RVJfNwRwoDcLhwBLgo32r11/4p1i0RPvQYcPyZLsN/s5v0t7ZsHNYT1Ei
         t6yTDEd7ISxxJMO2yqCVj3tyIsUqk2s4vUoWAjwpav6H1dR/7W2f/tiUvakIxJivbmSx
         d9CNZA+GDT3HcQFd67eyqY3M6sMq8E6utBQDIEhxcY6cJFmXkR8p3wS0NgiXgnTFVp0S
         BRKsqRSBzUl7bFBw7Lf3N4U4+ITeGNDpEuFTc9FKxL5ki1yRA15l8+B8S+FecGV4G6FR
         ghGw==
X-Gm-Message-State: AO0yUKXYNC3TN66ofPYlEXEnLdijI1BxS7YBM2zvGx1Rp6NXQb81H39P
	ITP+zavl/XFTHbPN3DzeH8xub5DMr94n/mUI22wryI9pGahqIsEQFkDDJHqphevoR4PrV82ewqk
	oJX6sd8gPCrCMZnBFOjCP+OJXPQA=
X-Received: by 2002:adf:fa42:0:b0:2c8:9cfe:9e29 with SMTP id y2-20020adffa42000000b002c89cfe9e29mr3673935wrr.38.1677658569269;
        Wed, 01 Mar 2023 00:16:09 -0800 (PST)
X-Google-Smtp-Source: AK7set/Zcp0KDYd3P+ttMa1nxfZFskB2aS7FMY5A6AFDn91vWMJGTRwO0n5U4FI/yi5+QKrlOm4zVQ==
X-Received: by 2002:adf:fa42:0:b0:2c8:9cfe:9e29 with SMTP id y2-20020adffa42000000b002c89cfe9e29mr3673883wrr.38.1677658568881;
        Wed, 01 Mar 2023 00:16:08 -0800 (PST)
Message-ID: <550c6035-6dd0-d215-226b-1a82dafa05d6@redhat.com>
Date: Wed, 1 Mar 2023 09:16:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
To: Christophe Leroy <christophe.leroy@csgroup.eu>,
 Rick Edgecombe <rick.p.edgecombe@intel.com>, "x86@kernel.org"
 <x86@kernel.org>, "H . Peter Anvin" <hpa@zytor.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
 "linux-mm@kvack.org" <linux-mm@kvack.org>,
 "linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
 "linux-api@vger.kernel.org" <linux-api@vger.kernel.org>,
 Arnd Bergmann <arnd@arndb.de>, Andy Lutomirski <luto@kernel.org>,
 Balbir Singh <bsingharora@gmail.com>, Borislav Petkov <bp@alien8.de>,
 Cyrill Gorcunov <gorcunov@gmail.com>,
 Dave Hansen <dave.hansen@linux.intel.com>,
 Eugene Syromiatnikov <esyr@redhat.com>, Florian Weimer <fweimer@redhat.com>,
 "H . J . Lu" <hjl.tools@gmail.com>, Jann Horn <jannh@google.com>,
 Jonathan Corbet <corbet@lwn.net>, Kees Cook <keescook@chromium.org>,
 Mike Kravetz <mike.kravetz@oracle.com>, Nadav Amit <nadav.amit@gmail.com>,
 Oleg Nesterov <oleg@redhat.com>, Pavel Machek <pavel@ucw.cz>,
 Peter Zijlstra <peterz@infradead.org>, Randy Dunlap <rdunlap@infradead.org>,
 Weijiang Yang <weijiang.yang@intel.com>,
 "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
 John Allen <john.allen@amd.com>, "kcc@google.com" <kcc@google.com>,
 "eranian@google.com" <eranian@google.com>, "rppt@kernel.org"
 <rppt@kernel.org>,
 "jamorris@linux.microsoft.com" <jamorris@linux.microsoft.com>,
 "dethoma@microsoft.com" <dethoma@microsoft.com>,
 "akpm@linux-foundation.org" <akpm@linux-foundation.org>,
 "Andrew.Cooper3@citrix.com" <Andrew.Cooper3@citrix.com>,
 "christina.schimpe@intel.com" <christina.schimpe@intel.com>,
 "debug@rivosinc.com" <debug@rivosinc.com>
Cc: "linux-alpha@vger.kernel.org" <linux-alpha@vger.kernel.org>,
 "linux-snps-arc@lists.infradead.org" <linux-snps-arc@lists.infradead.org>,
 "linux-arm-kernel@lists.infradead.org"
 <linux-arm-kernel@lists.infradead.org>,
 "linux-csky@vger.kernel.org" <linux-csky@vger.kernel.org>,
 "linux-hexagon@vger.kernel.org" <linux-hexagon@vger.kernel.org>,
 "linux-ia64@vger.kernel.org" <linux-ia64@vger.kernel.org>,
 "loongarch@lists.linux.dev" <loongarch@lists.linux.dev>,
 "linux-m68k@lists.linux-m68k.org" <linux-m68k@lists.linux-m68k.org>,
 Michal Simek <monstr@monstr.eu>, Dinh Nguyen <dinguyen@kernel.org>,
 "linux-mips@vger.kernel.org" <linux-mips@vger.kernel.org>,
 "linux-openrisc@vger.kernel.org" <linux-openrisc@vger.kernel.org>,
 "linux-parisc@vger.kernel.org" <linux-parisc@vger.kernel.org>,
 "linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
 "linux-riscv@lists.infradead.org" <linux-riscv@lists.infradead.org>,
 "linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
 "linux-sh@vger.kernel.org" <linux-sh@vger.kernel.org>,
 "sparclinux@vger.kernel.org" <sparclinux@vger.kernel.org>,
 "linux-um@lists.infradead.org" <linux-um@lists.infradead.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230227222957.24501-1-rick.p.edgecombe@intel.com>
 <20230227222957.24501-14-rick.p.edgecombe@intel.com>
 <1f8b78b6-9f34-b646-68f2-eac62136b9f4@csgroup.eu>
From: David Hildenbrand <david@redhat.com>
Organization: Red Hat
Subject: Re: [PATCH v7 13/41] mm: Make pte_mkwrite() take a VMA
In-Reply-To: <1f8b78b6-9f34-b646-68f2-eac62136b9f4@csgroup.eu>
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 01.03.23 08:03, Christophe Leroy wrote:
> 
> 
> Le 27/02/2023 à 23:29, Rick Edgecombe a écrit :
>> The x86 Control-flow Enforcement Technology (CET) feature includes a new
>> type of memory called shadow stack. This shadow stack memory has some
>> unusual properties, which requires some core mm changes to function
>> properly.
>>
>> One of these unusual properties is that shadow stack memory is writable,
>> but only in limited ways. These limits are applied via a specific PTE
>> bit combination. Nevertheless, the memory is writable, and core mm code
>> will need to apply the writable permissions in the typical paths that
>> call pte_mkwrite().
>>
>> In addition to VM_WRITE, the shadow stack VMA's will have a flag denoting
>> that they are special shadow stack flavor of writable memory. So make
>> pte_mkwrite() take a VMA, so that the x86 implementation of it can know to
>> create regular writable memory or shadow stack memory.
>>
>> Apply the same changes for pmd_mkwrite() and huge_pte_mkwrite().
> 
> I'm not sure it is a good idea to add a second argument to
> pte_mkwrite(). All pte_mkxxxx() only take a pte and nothing else.

We touched on this in previous revisions and so far there was no strong 
push back. This turned out to be cleaner and easier than the 
alternatives we evaluated.

pte_modify(), for example, takes another argument. Sure, we could try 
thinking about passing something else than a VMA to identify the 
writability type, but I am not convinced that will look particularly better.

> 
> I think you should do the same as commit d9ed9faac283 ("mm: add new
> arch_make_huge_pte() method for tile support")
> 

We already have 3 architectures intending to support shadow stacks in 
one way or the other. Replacing all pte_mkwrite() with 
arch_pte_mkwrite() doesn't sound particularly appealing to me.


-- 
Thanks,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 08:59:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 08:59:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503882.776259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXIIU-0002u0-6R; Wed, 01 Mar 2023 08:58:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503882.776259; Wed, 01 Mar 2023 08:58:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXIIU-0002tt-2m; Wed, 01 Mar 2023 08:58:50 +0000
Received: by outflank-mailman (input) for mailman id 503882;
 Wed, 01 Mar 2023 08:58:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=S3ad=6Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXIIS-0002tn-Tt
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 08:58:49 +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 476312c6-b80f-11ed-969f-2f268f93b82a;
 Wed, 01 Mar 2023 09:58:48 +0100 (CET)
Received: by mail-lj1-x22b.google.com with SMTP id z42so13153029ljq.13
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 00:58:47 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 f10-20020a2ea0ca000000b00295b9db4302sm1247856ljm.33.2023.03.01.00.58.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 00: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: 476312c6-b80f-11ed-969f-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677661127;
        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=6uT3qU1x60f3c7F7wVSes6L/icFBJH8FmXsYloSy1AE=;
        b=qRj4iJRkF+K0uo+72q09/mTARiBeNR969MH3zpBOzwgtsJsPyGUG8ae/Fh+5ZMRA+V
         7k1RQUyPU3S0SzcjIXFJOfIr9sQtx6uwSmIzaRnJsqH78DwYby4NVia2npz3SbjQKfor
         AeIRFMgQbSSqN9K3ofcsqS6RcQDQCMvr+gfGdTcQwxMYbG3s59LGs92q7HUX3QK3FZQR
         z36vwtC5rBkHb5CU765pi5TSmFzBsP8UnirLBaHXPdRB45w0/ZcuytfQok8ikUj4QftJ
         A8Fv4uL7lTiZ/kIBJaUz6vCjzL3l7aHxO1ozP3/RPfwFo0iRy+oIm2ii+4uoizZNmEYJ
         UCag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677661127;
        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=6uT3qU1x60f3c7F7wVSes6L/icFBJH8FmXsYloSy1AE=;
        b=yeADI/fCZHRe4n2Bsb56AIoaVxqiNQ5Ho0G4iLsSFSxgr/JC6F3iu8E87qbZ+iDVCc
         3cL9i1lW+/kd/ktATSKCQE6SvEbutTDx1QMYHHqFGwS1kIcUbC8SwYPHCm7hrQNWu38l
         skYN24nxLOHz802OVBKNjAnNk1wPCOjGdlhYTG9q/Wue9wsvCKSzMPJva0b4EVdWQA1a
         j4nrktHroptGmiW009pfr+KHVNCkK4EwOgKYMSR0dfUhULpe0I7iKgzKS4I1AJ0wEvfI
         GWirKEPAvBh3qhbquxLbKmxrdPzyUXbUEmIW2MWCtfWBXVxeVa6Gmnwqze4o3an3EeFm
         ZxHw==
X-Gm-Message-State: AO0yUKVTppWmsDzcxib3zgXg9Glj4ZhkmPDeCP0whw20Fc9ctbB0tvHv
	TWR37YWvkhNNGCTpRGmpVHE=
X-Google-Smtp-Source: AK7set+WNWSu2Hrku/f4CuyLaI9SQ5GeoQxiAMWapW/Oj8meQN9+kahHVvXtbeIawxzo+9kOvQx4wA==
X-Received: by 2002:a05:651c:331:b0:295:903b:6a8a with SMTP id b17-20020a05651c033100b00295903b6a8amr1614481ljp.48.1677661126985;
        Wed, 01 Mar 2023 00:58:46 -0800 (PST)
Message-ID: <a2980d855cb11e447a794725163ff120d38fc127.camel@gmail.com>
Subject: Re: [PATCH v3 3/4] xen/arm: switch ARM to use generic
 implementation of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Date: Wed, 01 Mar 2023 10:58:15 +0200
In-Reply-To: <46e96dd9-bcb4-4569-b282-05c019cabcc3@xen.org>
References: <cover.1677233393.git.oleksii.kurochko@gmail.com>
	 <d80c136720c156d6ef83f27f1ce8dca5dba5b5a0.1677233393.git.oleksii.kurochko@gmail.com>
	 <f82b8c50-47f2-d8b0-5a2c-60203e5d5e26@xen.org>
	 <c0e628d744f03c70d2e7b66540ea27aa31d90043.camel@gmail.com>
	 <46e96dd9-bcb4-4569-b282-05c019cabcc3@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Tue, 2023-02-28 at 17:48 +0000, Julien Grall wrote:
> Hi Oleksii,
>=20
> On 28/02/2023 15:09, Oleksii wrote:
> > On Sat, 2023-02-25 at 16:49 +0000, Julien Grall wrote:
> > > Hi Oleksii,
> > >=20
> > > On 24/02/2023 11:31, Oleksii Kurochko wrote:
> > > > The following changes were made:
> > > > * make GENERIC_BUG_FRAME mandatory for ARM
> > >=20
> > > I have asked in patch #1 but will ask it again because I think
> > > this
> > > should be recorded in the commit message. Can you outline why it
> > > is
> > > not
> > > possible to completely switch to the generic version?
> > I haven't tried to switch ARM too because of comment regarding 'i'
> > in
> > <asm/bug.h>:
> > /*
> > =C2=A0 * GCC will not allow to use "i"=C2=A0 when PIE is enabled (Xen d=
oesn't
> > set
> > the
> > =C2=A0 * flag but instead rely on the default value from the compiler).
> > So
> > the
> > =C2=A0 * easiest way to implement run_in_exception_handler() is to pass
> > the
> > to
> > =C2=A0 * be called function in a fixed register.
> > =C2=A0 */
>=20
> I would expect this comment to be valid for any arch. So if there is
> a=20
> need to deal with PIE, then we would not be able to use "i" in the
> BUG=20
> frame.
>=20
> Note that we are now explicitly compiling Xen without PIE (see
> Config.mk).
Then it looks like some architectures isn't expected to be compiled
with PIE. I mean that x86's bug.h is used 'i' and there is no any
alternative version in case of PIE.

If Xen should be compilable with PIE then we have to use ARM
implementation of bug.h everywhere. ( based on comment about 'i' with
PIE ).

Now I am totally confused...

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 09:07:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 09:07:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503889.776268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXIQQ-0004j4-1A; Wed, 01 Mar 2023 09:07:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503889.776268; Wed, 01 Mar 2023 09: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 1pXIQP-0004ix-UD; Wed, 01 Mar 2023 09:07:01 +0000
Received: by outflank-mailman (input) for mailman id 503889;
 Wed, 01 Mar 2023 09: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=idmm=6Z=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pXIQO-0004iY-4g
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 09:07:00 +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 68970ca9-b810-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 10:06:54 +0100 (CET)
Received: from DS7PR03CA0081.namprd03.prod.outlook.com (2603:10b6:5:3bb::26)
 by DM4PR12MB5772.namprd12.prod.outlook.com (2603:10b6:8:63::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Wed, 1 Mar
 2023 09:06:51 +0000
Received: from DS1PEPF0000E64E.namprd02.prod.outlook.com
 (2603:10b6:5:3bb:cafe::c3) by DS7PR03CA0081.outlook.office365.com
 (2603:10b6:5:3bb::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18 via Frontend
 Transport; Wed, 1 Mar 2023 09:06:51 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000E64E.mail.protection.outlook.com (10.167.18.4) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6156.12 via Frontend Transport; Wed, 1 Mar 2023 09:06: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.2375.34; Wed, 1 Mar
 2023 03:06: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.2375.34; Wed, 1 Mar
 2023 01:06:48 -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.2375.34
 via Frontend Transport; Wed, 1 Mar 2023 03:06: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: 68970ca9-b810-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ccn1mBAIdFxXQ0N/jZlJpzmRj/kxzgATunyvifU/DMEKdghpM5f4pVlvvS44O7l1zPiobuPC8A40ePgNXAcSbFRdqz0SubThEive5vti7zOOwB2tH6CgBSO6yN0zhAmCA0Lhf9W62iKNu/DeoMC4BzLYXCFC7a7fBh4dO4Z6CkM14odKD/MmI/vHoqlyx+UAfey9kBesaTkrRVU7T26+kTcSHLxlV65TuxBfwW7z6cXLpv+milQufJC233Rq0RBMfyscK/KG+cGXhyXZQKgP145FH+t7ot/An2ZP4K8r6PUbeDnxD/U8suC1v5L1/e7D9pf99xsqe9m4b53snhxLBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vNzotBiqNXcBqDEI4ApmK0dfHEIQW4U2qjSz+XmUtEk=;
 b=Z8wuDZCqrGP0Y8hbYBuo9bD9pdPSALdiv5IahWx8sQm0Kn6rkC7/yyoBIsp2jTUkcZ/tikbgDCrtB2IOTzDTyKcM35Lo86w3WL6aBAMh+XBvRwkzRe5SpyuIrJOD3QUBaS9Pr2NHdCiWLveJN7DJgyYHEgX8IU3B2POTcCAqvMSJ+FzJ/W04V7hzg7Ae812ZJcNyNoET98OuhR8/3QRAE4u25DL85S34cSf0oicZxcWXoY8TKc0QYoOMLo+Ht6VthiqD0+evdTT3ZJqHyx6zieQTalh72Uv61Bz60LEmz5UWPLcW7WzfOT0ZSawmxZVnmJ0CadecoP6O+RkHZinykQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vNzotBiqNXcBqDEI4ApmK0dfHEIQW4U2qjSz+XmUtEk=;
 b=4jW3btxtJsZeOuHAm4zKAzwgCwZyYKCBKBkQ+w+3srW01zgzCw6boR6D9+yIY7ZR/ScIxwRCnQm173KpqT9CC2f3GlB8EC2clNt7EVnnFkW9UDSKTdqEBkynOU8SPyPtH08Wg5LDuLgE+o1wCYqDMIlGMBYG6ybPolY98GY1btc=
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>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH] automation: Add missing and drop obsoleted aliases from containerize
Date: Wed, 1 Mar 2023 10:06:44 +0100
Message-ID: <20230301090644.4452-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: DS1PEPF0000E64E:EE_|DM4PR12MB5772:EE_
X-MS-Office365-Filtering-Correlation-Id: 39f0b54a-422d-4299-cca0-08db1a344b97
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SwdlKTnPSZ6vWtYilPMrRJjykC+C9kQYULjMq+EvDfldFxNr7ytqONYTyrfV5etlyqf7Xh04kjMtYmcsVB/h4K/clUQ7TpE0RDgWl0b6wcGHP0Nr21afCLzgx2pdTZ0QyrZfQc31HpyEYGmQFE0/eTQo6fhbZkPJinK3mhAszXg7xIPXtxKsXhFWGwjBfnyHqgng9O81tj3pv1Vcy7XepOn7YLuG1aEfIH1VrB5o3DJeFZcrtrGJOgVH5GZmCEQah+FyCmFYywCLMgLOZNOhR7BofBuNz+KTceIJDVXZzh8ibPjW1ellk9vWaSBsB/MYV//7BgUqcHZm0F0/1c5ukDcn/dJiJqQt5QPYhuSjHu3ChB3qDOPxvLmouy8Ezg+CpO1NslQzVdCUAvlk54xST/IIkU9jTAM6nakqhO1hpUOGGHpH1AAEp7vl7uoIsSqg5hNC70590U6bUer1c3jizMdBtyUapogmq9tqFzVtJ0jWidTvLta0P5RR2uH81qHDVBBp4LkjU1SEwRyyMChZiMCpXXWIJUQIS0rrdWgPU2zACs5Mj4/ZEJ3Wjqi97aJxtKHiANVIQMcIFO4TbC8GsmUoFW/QKdmQh50Sb4bKnBmZWR7JAzb50dEHcz6QVKh1/6fCDGr6Xyo7LaVjTz+ezduZo19s7Leaw+v9GDwboB4DqV3lDg0mdwQ8w3xoXbdOw5yP52Tio+6EBn9VOATUW2+ZM/jOJ/TFt6BY1ar0KeM=
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:(13230025)(4636009)(396003)(346002)(376002)(136003)(39860400002)(451199018)(46966006)(36840700001)(40470700004)(356005)(36860700001)(81166007)(82740400003)(8676002)(6916009)(36756003)(86362001)(40480700001)(2906002)(44832011)(41300700001)(5660300002)(8936002)(4326008)(82310400005)(70206006)(70586007)(40460700003)(2616005)(1076003)(186003)(336012)(83380400001)(426003)(47076005)(26005)(478600001)(316002)(54906003)(6666004)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 09:06:51.0511
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 39f0b54a-422d-4299-cca0-08db1a344b97
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:
	DS1PEPF0000E64E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5772

Add missing aliases for:
 - debian:unstable-cppcheck
 - debian:unstable-arm64v8-arm32-gcc
 - ubuntu:bionic

Remove aliases for no longer used containers:
 - centos:7.2
 - debian:unstable-arm32-gcc

Modify docs to refer to CentOS 7 instead of 7.2 not to create confusion.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Open questions related to the CI cleanup (@Andrew, @Anthony):
 - Why do we keep suse:sles11sp4 dockerfile?
 - Why do we keep jessie dockefiles?
---
 automation/build/README.md      | 4 ++--
 automation/scripts/containerize | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/automation/build/README.md b/automation/build/README.md
index 4cc1acb6b41c..2d07cafe0eaa 100644
--- a/automation/build/README.md
+++ b/automation/build/README.md
@@ -44,10 +44,10 @@ understands.
   DOCKER_CMD=podman ./automation/scripts/containerize make
   ```
 
-- CONTAINER: This overrides the container to use. For CentOS 7.2, use:
+- CONTAINER: This overrides the container to use. For CentOS 7, use:
 
   ```
-  CONTAINER=centos72 ./automation/scripts/containerize make
+  CONTAINER=centos7 ./automation/scripts/containerize make
   ```
 
 - CONTAINER_PATH: This overrides the path that will be available under the
diff --git a/automation/scripts/containerize b/automation/scripts/containerize
index 9b1a302d0565..5476ff0ea10d 100755
--- a/automation/scripts/containerize
+++ b/automation/scripts/containerize
@@ -29,7 +29,6 @@ case "_${CONTAINER}" in
     _archlinux|_arch) CONTAINER="${BASE}/archlinux:current" ;;
     _riscv64) CONTAINER="${BASE}/archlinux:current-riscv64" ;;
     _centos7) CONTAINER="${BASE}/centos:7" ;;
-    _centos72) CONTAINER="${BASE}/centos:7.2" ;;
     _fedora) CONTAINER="${BASE}/fedora:29";;
     _focal) CONTAINER="${BASE}/ubuntu:focal" ;;
     _jessie) CONTAINER="${BASE}/debian:jessie" ;;
@@ -39,8 +38,10 @@ case "_${CONTAINER}" in
     _buster-gcc-ibt) CONTAINER="${BASE}/debian:buster-gcc-ibt" ;;
     _unstable|_) CONTAINER="${BASE}/debian:unstable" ;;
     _unstable-i386) CONTAINER="${BASE}/debian:unstable-i386" ;;
-    _unstable-arm32-gcc) CONTAINER="${BASE}/debian:unstable-arm32-gcc" ;;
+    _unstable-arm64v8-arm32-gcc) CONTAINER="${BASE}/debian:unstable-arm64v8-arm32-gcc" ;;
     _unstable-arm64v8) CONTAINER="${BASE}/debian:unstable-arm64v8" ;;
+    _unstable-cppcheck) CONTAINER="${BASE}/debian:unstable-cppcheck" ;;
+    _bionic) CONTAINER="${BASE}/ubuntu:bionic" ;;
     _trusty) CONTAINER="${BASE}/ubuntu:trusty" ;;
     _xenial) CONTAINER="${BASE}/ubuntu:xenial" ;;
     _opensuse-leap|_leap) CONTAINER="${BASE}/suse:opensuse-leap" ;;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 09:08:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 09:08:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503893.776279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXIRQ-0005F7-Cs; Wed, 01 Mar 2023 09:08:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503893.776279; Wed, 01 Mar 2023 09: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 1pXIRQ-0005F0-8T; Wed, 01 Mar 2023 09:08:04 +0000
Received: by outflank-mailman (input) for mailman id 503893;
 Wed, 01 Mar 2023 09:08:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=S3ad=6Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXIRO-000586-RM
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 09:08:03 +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 91dfa84d-b810-11ed-969f-2f268f93b82a;
 Wed, 01 Mar 2023 10:08:02 +0100 (CET)
Received: by mail-lj1-x229.google.com with SMTP id j17so13173155ljq.11
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 01:08:02 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 h18-20020a05651c125200b002934ed148afsm1578962ljh.52.2023.03.01.01.07.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 01:08: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: 91dfa84d-b810-11ed-969f-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677661682;
        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=2/4cqLZQbcZiDcOA7dToF9acxAizVJMcFFqNfd/cKRQ=;
        b=q1CAItK/f5EzZnjIBquC1g1RWf+sFcl1ubHOrs4Sy1BhDZm4J+rt4uxtAasZJb0iKN
         yYvoIyRjpZ66xdHkGYhvDXVvwMp6XBMnbtsWxFuaOeURMSBFG9ExSle6emiq0IeJJX8i
         /Uq2BgLz/UryIVNFLZKjk/vMvVC21q8s8tORw4zL3fI6OfM6IWzm13+n94kTatJtj/Wx
         +gynWmr/cD0RJQqJvlNwNE+PmWdg2j5/G1pDQSRmBc+PIMMgjxX2Ub7E1Mcda7Rk03bj
         NacRZNnX3CXIOUPMB2NJJ1G6n5l3HX79U5KKrMBkPJRRCVUpc9y6oc+G4YyQw3HO7Y+X
         Lk+g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677661682;
        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=2/4cqLZQbcZiDcOA7dToF9acxAizVJMcFFqNfd/cKRQ=;
        b=SQ60U79VHn9bYeEgL44czU8qh3mFFHj3/OIjxo2ilvc6o/ymGforpVDFp3gAGhEEZ2
         u0WahIbwB8un9o8LEuneVH7uN9SFN/vl/qn+nThrp2jwdvqwJXWeZ1bidYj1jRXSrnxL
         ChpPoVxu8+fAGtK55+36TwtpkpOTlIGrJ9niocFoEyle4Esxm1nrZtPInbVcZelT6eUU
         iJdr8kHAusbdUzTnv9dfOEbH3wJw/zIOjQ9ouPQbrsa7AxF5dVIDWBX6XR4X5P3AxvNG
         +EkQ2gPdyJo8q7iAzveug6II5tms/bIXaZ6FYY5F4Ob/Y91wU0kiyeSngbKtqM9ameC+
         GQvg==
X-Gm-Message-State: AO0yUKUd3tG1yvE/Q1A4NHbbXurHqSbFBdks1ekfotSFNdYGpDpWhbmU
	aroRsqWrudvB92dFpG9+Vfw=
X-Google-Smtp-Source: AK7set/lZW90ieEXOypfLDeewWiVYhVrMo5vHW+NZ5kA9khNCwItjoyKjLVMADcbzjHI1VkznjpJ/w==
X-Received: by 2002:a2e:9617:0:b0:295:b29f:a661 with SMTP id v23-20020a2e9617000000b00295b29fa661mr1820103ljh.4.1677661681650;
        Wed, 01 Mar 2023 01:08:01 -0800 (PST)
Message-ID: <ac416c016cfc8549560a15a25ee5cb771bcc75f3.camel@gmail.com>
Subject: Re: [PATCH v4 1/5] xen/riscv: introduce decode_cause() stuff
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Wed, 01 Mar 2023 11:07:58 +0200
In-Reply-To: <2fb6e5ad-9e25-9c63-7f01-8a3d55297cf7@suse.com>
References: <cover.1677237653.git.oleksii.kurochko@gmail.com>
	 <397e6741438a8b125dc53945a74a58246fac4faf.1677237653.git.oleksii.kurochko@gmail.com>
	 <2fb6e5ad-9e25-9c63-7f01-8a3d55297cf7@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Mon, 2023-02-27 at 13:48 +0100, Jan Beulich wrote:
> On 24.02.2023 12:35, Oleksii Kurochko wrote:
> > --- a/xen/arch/riscv/traps.c
> > +++ b/xen/arch/riscv/traps.c
> > @@ -4,10 +4,95 @@
> > =C2=A0 *
> > =C2=A0 * RISC-V Trap handlers
> > =C2=A0 */
> > +
> > +#include <xen/errno.h>
>=20
> I couldn't spot anything in the file which would require this
> inclusion.
Sure. It can be removed.
>=20
> > +#include <xen/lib.h>
> > +
> > +#include <asm/csr.h>
> > +#include <asm/early_printk.h>
> > =C2=A0#include <asm/processor.h>
> > =C2=A0#include <asm/traps.h>
> > =C2=A0
> > -void do_trap(struct cpu_user_regs *cpu_regs)
> > +static const char *decode_trap_cause(unsigned long cause)
> > +{
> > +=C2=A0=C2=A0=C2=A0 static const char *const trap_causes[] =3D {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_MISALIGNED_FETCH] =
=3D "Instruction Address
> > Misaligned",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_FETCH_ACCESS] =3D "I=
nstruction Access Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_ILLEGAL_INSTRUCTION]=
 =3D "Illegal Instruction",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_BREAKPOINT] =3D "Bre=
akpoint",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_MISALIGNED_LOAD] =3D=
 "Load Address Misaligned",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_LOAD_ACCESS] =3D "Lo=
ad Access Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_MISALIGNED_STORE] =
=3D "Store/AMO Address Misaligned",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_STORE_ACCESS] =3D "S=
tore/AMO Access Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_USER_ECALL] =3D "Env=
ironment Call from U-Mode",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_SUPERVISOR_ECALL] =
=3D "Environment Call from S-Mode",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_MACHINE_ECALL] =3D "=
Environment Call from M-Mode",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_FETCH_PAGE_FAULT] =
=3D "Instruction Page Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_LOAD_PAGE_FAULT] =3D=
 "Load Page Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_STORE_PAGE_FAULT] =
=3D "Store/AMO Page Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_FETCH_GUEST_PAGE_FAU=
LT] =3D "Instruction Guest Page
> > Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_LOAD_GUEST_PAGE_FAUL=
T] =3D "Load Guest Page Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_VIRTUAL_INST_FAULT] =
=3D "Virtualized Instruction
> > Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_STORE_GUEST_PAGE_FAU=
LT] =3D "Guest Store/AMO Page
> > Fault",
> > +=C2=A0=C2=A0=C2=A0 };
> > +
> > +=C2=A0=C2=A0=C2=A0 if ( cause < ARRAY_SIZE(trap_causes) && trap_causes=
[cause] )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return trap_causes[cause];
> > +=C2=A0=C2=A0=C2=A0 return "UNKNOWN";
> > +}
> > +
> > +const char *decode_reserved_interrupt_cause(unsigned long
> > irq_cause)
>=20
> For any non-static function that you add you will need a declaration
> in a header, which the defining C file then includes. I understand
> that during initial bringup functions without (external) callers may
> want to (temporarily) exist, but briefly clarifying what the future
> expectation regarding external uses might help. Any function that's
> not expected to gain external callers should be static.
Thanks. For explanation. I'll make them static.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 09:13:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 09:13:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503900.776288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXIWA-00075L-2l; Wed, 01 Mar 2023 09:12:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503900.776288; Wed, 01 Mar 2023 09: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 1pXIWA-00075E-0D; Wed, 01 Mar 2023 09:12:58 +0000
Received: by outflank-mailman (input) for mailman id 503900;
 Wed, 01 Mar 2023 09:12: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=SDc4=6Z=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1pXIW9-000758-9F
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 09:12:57 +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 40fbf6db-b811-11ed-96a0-2f268f93b82a;
 Wed, 01 Mar 2023 10:12:56 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id m7so16715509lfj.8
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 01:12: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: 40fbf6db-b811-11ed-96a0-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1677661975;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=LRNkbhtb0PbLtFlBRvd0QfcIMwYRxszFBP1H3Dy86ko=;
        b=Xv/Z2SpkA0xzm3I7EJc4Q8IwyvzZ611sdIZUoMVECnzhoPWhDkhBKAaC4kAYnxvA73
         np2iH79Mu1AxxuRlPzSNv4YFzhXaYdCzfYB929v8ZhdJUG6df1ftCYb8giSrrTa23Wro
         NuxUuNYVmXPy1zNzydP16EmMq6muvuvmO6kaM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677661975;
        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=LRNkbhtb0PbLtFlBRvd0QfcIMwYRxszFBP1H3Dy86ko=;
        b=ua544jUAThIJNtRgvT/AntbF6/kmF0tgvXniMIR7DxZdVW+ERs88nU5iq6yz+BXPGy
         6fDVuVoi13qcwBlByZ2DY5+wNi8aevMRm8qK/TNZ4jRUtOMe2rC5Lj15RRuYYq0Xrp36
         zHbzsGv0EuuaGE1jdAK0F697330kYUwLsVWBnsmNzxqk/jf+ce9P/LxcyUgY/7ANrvzq
         RBAu51C3PyS2y/jUI0D+jchcSKqckLgWdQo16/3bFG+EgBWWf/yy4uL9c3lC4bCr7OtT
         ffQoNlqwSUSAQ5A1UZhHoq6R4lLT7OC03ydbmoBgcafB1jJw1xfHkQWOf1qgJ8O910Cs
         2IjA==
X-Gm-Message-State: AO0yUKW3ymbjzeHvH12eTuxAPFZ1KutzqaqmkMV5vHVgbnvqLumZUdcR
	64/VfhfmmFr3bNOd9TWKy9OkGvERV3i+xWddwLv6rWZ2OQOeZQ==
X-Google-Smtp-Source: AK7set/FOoZiofTE1uKE2R31rI0H+R3TTPcXvDSil9wFKfxr0ZvUd7jEReN1SKcgN5xNJLw9u3Jt1rqaEr0mj5i15ZY=
X-Received: by 2002:a05:6512:146:b0:4db:1a8b:1b87 with SMTP id
 m6-20020a056512014600b004db1a8b1b87mr1597016lfo.8.1677661975625; Wed, 01 Mar
 2023 01:12:55 -0800 (PST)
MIME-Version: 1.0
References: <CA+zSX=bwfZnssbjB=4=_r+a=w-=8i7+i8yZ5bgOrjAox0PR7pQ@mail.gmail.com>
 <ae0b11d5-2294-7b96-c244-3fd85be92b9b@suse.com>
In-Reply-To: <ae0b11d5-2294-7b96-c244-3fd85be92b9b@suse.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Wed, 1 Mar 2023 09:12:44 +0000
Message-ID: <CA+zSX=ZPAXchsqL6YZNkLO+rYMVyb77nOiRB12sPpJ6ep685dA@mail.gmail.com>
Subject: Re: [ANNOUNCE] Call for agenda items for [EDIT] 2 March Community
 Call @ 1600 UTC
To: Jan Beulich <jbeulich@suse.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="0000000000001c594c05f5d31e0b"

--0000000000001c594c05f5d31e0b
Content-Type: text/plain; charset="UTF-8"

On Tue, Feb 28, 2023 at 7:16 AM Jan Beulich <jbeulich@suse.com> wrote:

> On 27.02.2023 22:41, George Dunlap wrote:
> > Note the following administrative conventions for the call:
> > * Unless, agreed in the previous meeting otherwise, the call is on the
> 1st
> > Thursday of each month at 1600 British Time (either GMT or BST)
>
> Since nothing else was said, I suppose the title is off by one and it's
> Thursday March 2nd?
>

Indeed, that should be Thursday, 2 March.  (The timeanddate link, as well
as the title of the cryptpad agenda, both say 2 March.). Sorry for the
confusion.

 -George

--0000000000001c594c05f5d31e0b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Tue, Feb 28, 2023 at 7:16 AM Jan B=
eulich &lt;<a href=3D"mailto:jbeulich@suse.com">jbeulich@suse.com</a>&gt; w=
rote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0p=
x 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 27.02.2=
023 22:41, George Dunlap wrote:<br>
&gt; Note the following administrative conventions for the call:<br>
&gt; * Unless, agreed in the previous meeting otherwise, the call is on the=
 1st<br>
&gt; Thursday of each month at 1600 British Time (either GMT or BST)<br>
<br>
Since nothing else was said, I suppose the title is off by one and it&#39;s=
<br>
Thursday March 2nd?<br></blockquote><div><br></div><div>Indeed, that should=
 be Thursday, 2 March.=C2=A0 (The timeanddate link, as well as the title of=
 the cryptpad agenda, both say 2 March.). Sorry for the confusion.</div><di=
v><br></div><div>=C2=A0-George=C2=A0</div></div></div>

--0000000000001c594c05f5d31e0b--


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 09:15:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 09:15:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503903.776299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXIYC-0007d6-Ew; Wed, 01 Mar 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 503903.776299; Wed, 01 Mar 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 1pXIYC-0007cz-Bq; Wed, 01 Mar 2023 09:15:04 +0000
Received: by outflank-mailman (input) for mailman id 503903;
 Wed, 01 Mar 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=4Y5i=6Z=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXIYA-0007ct-Rc
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 09:15:03 +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 8b2b54e6-b811-11ed-96a0-2f268f93b82a;
 Wed, 01 Mar 2023 10:15:01 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8179.eurprd04.prod.outlook.com (2603:10a6:20b:3ec::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Wed, 1 Mar
 2023 09:14:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6134.030; Wed, 1 Mar 2023
 09:14:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b2b54e6-b811-11ed-96a0-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X7UsbW6Uc5Rp9T7O6410mq5neJdtBljw2n36XixoNSRkHo25I4kecDG/hYsNXqGlI2WaIPJKIxqy5fArKBYt0QoEQp7WZAfL8FZywBa2aQghk+nY6aLHPvuC1/tthnR+RlYT9tacikBWUW0kYgC/wz4kyHGMsaRM5ZAykkLpsxulsc2uEktlI+cgwkMSNpySi6BLM8wPDQTp/mJak5bJflKjc/lV+UVLFYyp05LYf958c8NYYn7AP5TsKTa/Xy2WjKOaykZFUfDN88D5jlvmUCjPAgMlrC2aBIMCELOE/RbGex0y5MMlmuULuyw2nYXrePZFBr9QmIYk1vUarFdzaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IB0USwdCN9iU8Pwcmnm845M1uRu2Y6Cqr26ibACaot0=;
 b=mcsiv8QdXmWFEsc8JQ2eCeh+3HX5vvFKMhXHKjCX/wbULQCR/RrBVyRF6bfDExUgqd+47pGYFym7myo9tRvjTMBbJ560TJnc/d+PLRt/8sU5dvipH8gce8G4QBhJqhzBWOuNpaDlNnVHdY9rK9fRTc4h+LpNgyiOWPypu3ROh1ETM57SC4ZPPGoqkHCqOw0bGmIJjWkv8Q4wh0bdQcxzbKOVNvRMMS0jC3YjgmDM8L/XZxD22w3GzddaSNnGgOgrCJAmSIiKzauyGTE9dMhXgTkU6dwgeXrZMknl1T6izTfc0BTOJe2Tt/PZ2JYYJXRNi8PIlUCGqPRzogcQoWjyEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IB0USwdCN9iU8Pwcmnm845M1uRu2Y6Cqr26ibACaot0=;
 b=4szn7y8mGml60qFlBhw41GHZNAoXLDNN5CvbjwNhsqTOnP8SiKAdYf1zaOgOfCE2WsUhOmmP/z7hQdofvFCv6PnGai6a+kp4f7IGFNypHOOMnOGT7G7Op9L+XgFSDtaCHYCdvwUVyfTcRrVVD/nC02i9TD499QABLIyWb8v/lSgD9A3MFridhp8nb+p7rOvcjblP6b2ssA9BmCgRIWlH5H1nhYak3mlfe5m7my+8cvjIl7tCaSQxEvL38hUJu1jCQXyKiL3uNH6t1lI7tBKt4jflHzKCPmINbkXfQwHUQ9s9UYayOpOJkvJYvlb4FLwUJ9oENbsEjNIE3udBhfT7Bw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7adeada7-e009-eca6-5e7d-5664d5af110a@suse.com>
Date: Wed, 1 Mar 2023 10:14:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 4/4] x86/hvm: create hvm_funcs for
 {svm,vmx}_{set,clear}_msr_intercept()
Content-Language: en-US
To: Xenia Ragiadakou <burzalodowa@gmail.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>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, xen-devel@lists.xenproject.org
References: <20230227075652.3782973-1-burzalodowa@gmail.com>
 <20230227075652.3782973-5-burzalodowa@gmail.com>
 <732bbee0-24d3-f5e8-7353-b40a77c3ee2e@suse.com>
 <ab142406-36ed-ac42-a93c-f0fb5cf7950f@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ab142406-36ed-ac42-a93c-f0fb5cf7950f@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0106.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8179:EE_
X-MS-Office365-Filtering-Correlation-Id: 76205c50-2369-4c70-473f-08db1a356df7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2CYrm43Bgp4Us+tSTPxpJpo2uCH5CJ2OzbxIVl+CVk5zf2lXFK2FCtFSQxbU+138Dc8WFy/C2RcJkxZ2uV3jmGqwqlubq3uWAE3YLTxgQLnAVWCmM35cjAza+exD1/ToQL6uMm2e1EthVbAkUZzhJlmU8wJadEXGOz4cX8zmyOIyphUHMmTfRuTBHYL+VgiFS7bCtjodvBRPhS7se6gc5VWYhpV5erMSZAoaY5OsLJS23W3xY9qsyyL5lP1RixZUpmUq6EGYkNankBgIS5U6iAwCBgPJtqGRQSfTBuCeIXDtBGaLhmVgoF1dxg3/4ZQFjFFEO8KYfTo6JoJd6Bizb8OFkmfHtPgffuuYYKKCHbAwht+p0UD0NfEK9PSFUyMWGzOlDZ5PfnRJZ2psEfSimIDkvAjUf63NGjnvAGAO6xFZp+lTF02lqgsyF3mv0/8EJq/0G54OLVR7t2EskzHDbaYfAddNqoZsRA3dJWYFulX1FX7FuaI1YyCpT+w3sebVsHZ0BJwryOK5daZKbob/Shz0KQD6rNQdyTJ0+WfCE9vcnzJCgvxhfpIGnEY9Ot8b0+meDJGVUjt+otcf/dwD2usBFE4YNPz7/L2AUpAmtPzlm1VQfHBNKYLBcocnhXUSLM/pbHAVJajyn/zWPm3ADqnHCw9/0knfI+wYaOwzOmB3zfijso7p+TPFW21qR2rer7VtHV53OJ0vbL6+RRtJfBRO+ECDGm9SEAIqpzaMzu0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(376002)(346002)(39860400002)(396003)(451199018)(31686004)(83380400001)(478600001)(316002)(54906003)(110136005)(36756003)(4326008)(8676002)(38100700002)(66476007)(2616005)(53546011)(6512007)(6506007)(186003)(26005)(6666004)(6486002)(31696002)(5660300002)(66946007)(66556008)(8936002)(86362001)(2906002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WkowamxnSEJIMnZDeFRTUDBhWmNqS2J4MHhLMEtDUTNqa0RHVStUQ2pBa0dE?=
 =?utf-8?B?a1BVUUpVQ081WWJQalliN0UyaS9TV0hKTVhMQWhVK3ZwL1p1U3pRa1ZoWWpi?=
 =?utf-8?B?NkI4aVdtSUdBM3hHS2kxUTdyYyt6bC91eG1NcG1hTU1zRDJNakdWaDlyQnN4?=
 =?utf-8?B?L0NzTXF6cG1RLzU4WWkzRCs5QytYVlJyeVA3YlJxRHFnbFhWOHdibmZ3bzA2?=
 =?utf-8?B?SmJhRGZMazBGY0FJcjRRVzNVYkhVZ2RyamlweE5sSUlEcGQ1M0JEa0NHTEpu?=
 =?utf-8?B?Mko5SHhOSzBsQklsZUFkVUowd2k1bEZoTVovRmZITXBGNFVoWWRHWmg5NkNq?=
 =?utf-8?B?QU1EWHQxdlIxelBtOG9GL2RtSGdjV0VBVXpLWnFXTDQzUWRHZGFDR0hSR3RO?=
 =?utf-8?B?YlJpa1BoVmFEaUlJQmlKb1JobTdrb011THFNY0JPYk5YZDNZY1FybSsvbVRO?=
 =?utf-8?B?M05WZVlVN1IyMXlDd1YxUFFQdXdxVmJkcnlhMXV5cnJOeWNBK2tpcURacFN4?=
 =?utf-8?B?dzNwSnM1MlJoSmc1ekg3SEdsdDloNlA2OGkzVDRrc3lINVJUN2FnaEZsRHFB?=
 =?utf-8?B?enZUQ0pqMmdDWmhnc0FTSEQzaXFTeGJnVFFEd1RaRDZQd04zNG9rdEphQW9H?=
 =?utf-8?B?Z2IrTTZYM2tXcnJYL0htOXRZUmNwUWVPRUZVZ1RGd01KREx4OWZ4Mkw4TkJk?=
 =?utf-8?B?dDZDcThjV2ZNV0h6UXlnR3pQVDNqU0gzN2hHdWF2ZUtJOTBJVW1EUDhVUVNk?=
 =?utf-8?B?OEMvUXRKTzJsNEJheGt1UkpvTWRQTDhVNFd3TkNPWTlRZjUya0thMkdlVEta?=
 =?utf-8?B?aDMvVE9CM0ZRZmtidGJyVXl2NElYNVlmOExzWTVucE9UMCtFQ2xVRk9zeUlT?=
 =?utf-8?B?bkJaSEptMTlCQmRZbWRHOVM2cDF1RWhNQzRwU0NEQUFVWHFQaElyaXZtYU4y?=
 =?utf-8?B?dGc4MGZNVnhqZlFiWC9Cb0FmcXdpbXRPNEwxWVQyUlBoQ2FxUjFkT0wwd01i?=
 =?utf-8?B?TmpEeDR5SzlCZ01RcUlrWVJJa3oyVjVnR0JwN3pXN2l1ZCtRYnkyMytCbTYx?=
 =?utf-8?B?bzAzMUlMNGhQeStuczJYZnlJZjBubGNnVlBtU0pvTUUvTCtKa0FFcFhhQnJY?=
 =?utf-8?B?eWdyeHBMZFIyTHNyY0x2TDlsN0lSR1FzR091c0MzUFhjbFZBRVAxdmNra0lO?=
 =?utf-8?B?ejFIV1YvaVkyL29WWXZHRnNBc1kzOURSa1RxRExaVFVVQjBXSGZsVVdCcDhl?=
 =?utf-8?B?UC9zWmU1YnNyUTlNbVoxYkxWRHI0MFVmU2ljY2p2SG1GeVo4TE1NQ0xRL3ZC?=
 =?utf-8?B?czM5ZmovRHc2YzVsSkwvSlRRcCtyQndBdWVyMGtBb1RJNE5nN05VM3Y2aDNS?=
 =?utf-8?B?RHh3KzZDZzk4SSt3MVJoZlpqeXV5dFFEOTNSYndaOHRpV1p1UjU0UHYvcG01?=
 =?utf-8?B?UFM2WEw3R2llZ2N2SmdFeU5wWjg5Smd1L2k4dHAzakpIY0lFK05maWNDSlh3?=
 =?utf-8?B?UWkyS0txaGhMV3JtM3lleC9vQkdBY2pJTUdodU5HeU9TL2gyVmIyS3NER3JI?=
 =?utf-8?B?c3FrVjNlWnNPeW1TMGllV1c4dnhsOXpKdWpGZGt0UEZTaWJZM1NOSk9DbVZ5?=
 =?utf-8?B?TWl0ZEx6VEFZcjRkWGx2UitoZjhHVHFuRlRTdXVVNUV4aUxPR2pYS1FqRWt5?=
 =?utf-8?B?M090MWoyaVpMYlM1djNxOWRQSHF2cncyT3l4cXhZVEVMaCtaV28wWjVFMHkv?=
 =?utf-8?B?THFudGMvSm1EY21aSkZjdFhvWDN1UTNaa1dPc01paDZxbE4xcTNaREEzeUJK?=
 =?utf-8?B?OHZVY3R4MklYUU95Nm04TXByaERBQTRqbW1XU1BBQU5CWDY3VGpOQjBVeDQ4?=
 =?utf-8?B?N3FVWUVKd1JrUWYya2Y0UVJMZFZWQkpZQ21YNlc4MjRUUWZIdGJxSEJBWlpX?=
 =?utf-8?B?OEJ0Mk9rT2Y1SDdoNHhlRXNhTTdtMk1rRlJiMjVNUzNZelowNnR3cGovbzFH?=
 =?utf-8?B?TExBbmZvaXNkZWtQNFViYkExTXhIVCtyc2J0NkVyOHpIRGJVNjI0SUE5WkZ5?=
 =?utf-8?B?OGIzUUhnbVp6bDIya0lxRDRTaHFCT2puNDgvMmtWNDlEUjZjb1V0eG4yMlNO?=
 =?utf-8?Q?j2Q4ljfPGTD1W3dgbd7x5YVLC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 76205c50-2369-4c70-473f-08db1a356df7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 09:14:58.8255
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nIPXfDvcUvOQIU03WjSeztCO/fuXpFg+GlLoqCm0C6nWNafruEis0kKzRv0G4en11V6jc4iruMEEs1z0OHN7WA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8179

On 28.02.2023 21:14, Xenia Ragiadakou wrote:
> 
> On 2/28/23 16:58, Jan Beulich wrote:
>> On 27.02.2023 08:56, Xenia Ragiadakou wrote:
>>> Add hvm_funcs hooks for {set,clear}_msr_intercept() for controlling the msr
>>> intercept in common vpmu code.
>>
>> What is this going to buy us? All calls ...
>>
>>> --- a/xen/arch/x86/cpu/vpmu_amd.c
>>> +++ b/xen/arch/x86/cpu/vpmu_amd.c
>>> @@ -165,9 +165,9 @@ static void amd_vpmu_set_msr_bitmap(struct vcpu *v)
>>>   
>>>       for ( i = 0; i < num_counters; i++ )
>>>       {
>>> -        svm_clear_msr_intercept(v, counters[i], MSR_RW);
>>> -        svm_set_msr_intercept(v, ctrls[i], MSR_W);
>>> -        svm_clear_msr_intercept(v, ctrls[i], MSR_R);
>>> +        hvm_clear_msr_intercept(v, counters[i], MSR_RW);
>>> +        hvm_set_msr_intercept(v, ctrls[i], MSR_W);
>>> +        hvm_clear_msr_intercept(v, ctrls[i], MSR_R);
>>>       }
>>>   
>>>       msr_bitmap_on(vpmu);
>>> @@ -180,8 +180,8 @@ static void amd_vpmu_unset_msr_bitmap(struct vcpu *v)
>>>   
>>>       for ( i = 0; i < num_counters; i++ )
>>>       {
>>> -        svm_set_msr_intercept(v, counters[i], MSR_RW);
>>> -        svm_set_msr_intercept(v, ctrls[i], MSR_RW);
>>> +        hvm_set_msr_intercept(v, counters[i], MSR_RW);
>>> +        hvm_set_msr_intercept(v, ctrls[i], MSR_RW);
>>>       }
>>>   
>>>       msr_bitmap_off(vpmu);
>>
>> ... here will got to the SVM functions anyway, while ...
>>
>>> --- a/xen/arch/x86/cpu/vpmu_intel.c
>>> +++ b/xen/arch/x86/cpu/vpmu_intel.c
>>> @@ -230,22 +230,22 @@ static void core2_vpmu_set_msr_bitmap(struct vcpu *v)
>>>   
>>>       /* Allow Read/Write PMU Counters MSR Directly. */
>>>       for ( i = 0; i < fixed_pmc_cnt; i++ )
>>> -        vmx_clear_msr_intercept(v, MSR_CORE_PERF_FIXED_CTR0 + i, MSR_RW);
>>> +        hvm_clear_msr_intercept(v, MSR_CORE_PERF_FIXED_CTR0 + i, MSR_RW);
>>>   
>>>       for ( i = 0; i < arch_pmc_cnt; i++ )
>>>       {
>>> -        vmx_clear_msr_intercept(v, MSR_IA32_PERFCTR0 + i, MSR_RW);
>>> +        hvm_clear_msr_intercept(v, MSR_IA32_PERFCTR0 + i, MSR_RW);
>>>   
>>>           if ( full_width_write )
>>> -            vmx_clear_msr_intercept(v, MSR_IA32_A_PERFCTR0 + i, MSR_RW);
>>> +            hvm_clear_msr_intercept(v, MSR_IA32_A_PERFCTR0 + i, MSR_RW);
>>>       }
>>>   
>>>       /* Allow Read PMU Non-global Controls Directly. */
>>>       for ( i = 0; i < arch_pmc_cnt; i++ )
>>> -        vmx_clear_msr_intercept(v, MSR_P6_EVNTSEL(i), MSR_R);
>>> +        hvm_clear_msr_intercept(v, MSR_P6_EVNTSEL(i), MSR_R);
>>>   
>>> -    vmx_clear_msr_intercept(v, MSR_CORE_PERF_FIXED_CTR_CTRL, MSR_R);
>>> -    vmx_clear_msr_intercept(v, MSR_IA32_DS_AREA, MSR_R);
>>> +    hvm_clear_msr_intercept(v, MSR_CORE_PERF_FIXED_CTR_CTRL, MSR_R);
>>> +    hvm_clear_msr_intercept(v, MSR_IA32_DS_AREA, MSR_R);
>>>   }
>>>   
>>>   static void core2_vpmu_unset_msr_bitmap(struct vcpu *v)
>>> @@ -253,21 +253,21 @@ static void core2_vpmu_unset_msr_bitmap(struct vcpu *v)
>>>       unsigned int i;
>>>   
>>>       for ( i = 0; i < fixed_pmc_cnt; i++ )
>>> -        vmx_set_msr_intercept(v, MSR_CORE_PERF_FIXED_CTR0 + i, MSR_RW);
>>> +        hvm_set_msr_intercept(v, MSR_CORE_PERF_FIXED_CTR0 + i, MSR_RW);
>>>   
>>>       for ( i = 0; i < arch_pmc_cnt; i++ )
>>>       {
>>> -        vmx_set_msr_intercept(v, MSR_IA32_PERFCTR0 + i, MSR_RW);
>>> +        hvm_set_msr_intercept(v, MSR_IA32_PERFCTR0 + i, MSR_RW);
>>>   
>>>           if ( full_width_write )
>>> -            vmx_set_msr_intercept(v, MSR_IA32_A_PERFCTR0 + i, MSR_RW);
>>> +            hvm_set_msr_intercept(v, MSR_IA32_A_PERFCTR0 + i, MSR_RW);
>>>       }
>>>   
>>>       for ( i = 0; i < arch_pmc_cnt; i++ )
>>> -        vmx_set_msr_intercept(v, MSR_P6_EVNTSEL(i), MSR_R);
>>> +        hvm_set_msr_intercept(v, MSR_P6_EVNTSEL(i), MSR_R);
>>>   
>>> -    vmx_set_msr_intercept(v, MSR_CORE_PERF_FIXED_CTR_CTRL, MSR_R);
>>> -    vmx_set_msr_intercept(v, MSR_IA32_DS_AREA, MSR_R);
>>> +    hvm_set_msr_intercept(v, MSR_CORE_PERF_FIXED_CTR_CTRL, MSR_R);
>>> +    hvm_set_msr_intercept(v, MSR_IA32_DS_AREA, MSR_R);
>>>   }
>>>   
>>>   static inline void __core2_vpmu_save(struct vcpu *v)
>>
>> ... all calls here will go to VMX'es. For making either vpmu_<vendor>.c
>> build without that vendor's virtualization enabled, isn't it all it
>> takes to have ...
>>
>>> @@ -916,6 +932,18 @@ static inline void hvm_set_reg(struct vcpu *v, unsigned int reg, uint64_t val)
>>>       ASSERT_UNREACHABLE();
>>>   }
>>>   
>>> +static inline void hvm_set_msr_intercept(struct vcpu *v, uint32_t msr,
>>> +                                         int flags)
>>> +{
>>> +    ASSERT_UNREACHABLE();
>>> +}
>>> +
>>> +static inline void hvm_clear_msr_intercept(struct vcpu *v, uint32_t msr,
>>> +                                           int flags)
>>> +{
>>> +    ASSERT_UNREACHABLE();
>>> +}
>>
>> ... respective SVM and VMX stubs in place instead?
> 
> IMO it is more readable and they looked very good candidates for being 
> abstracted because they are doing the same thing under both technologies.
> Are you suggesting that their usage in common code should be discouraged 
> and should not be exported via the hvm_funcs interface? Or just that the 
> amount of changes cannot be justified.

The amount of changes is okay if the route taken is deemed useful going
forward. For now I view vPMU as too special to provide sufficient
justification for yet another pair of hook functions. The more that - as
indicated before - every single call site will only ever call one of the
two possible callees.

> IIUC Andrew also suggested to use hvm_funcs for msr intercept handling 
> but I 'm not sure whether he had this or sth else in mind.

Andrew, any chance you could outline your thinking / further plans here?
In particular, do you have other future use sites in mind that would
live outside of vendor-specific code?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 09:31:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 09:31:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503910.776308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXInY-0002EZ-Sm; Wed, 01 Mar 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 503910.776308; Wed, 01 Mar 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 1pXInY-0002ES-Pu; Wed, 01 Mar 2023 09:30:56 +0000
Received: by outflank-mailman (input) for mailman id 503910;
 Wed, 01 Mar 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=ofKM=6Z=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pXInX-0002EM-Ei
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 09:30:55 +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 c22eba53-b813-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 10:30:52 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id l25so12521786wrb.3
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 01: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: c22eba53-b813-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=8r/f07RABkisgujNFgCoRIoOPQ3YTfUBQ/yKs3L3hsQ=;
        b=hkjKaFJYKZWgrJME/aFu1i0/4Qb9rGREdy1z9Pdmdv2V1vdNJoHOHcUwtQTLouf7Dd
         Pu+cqQILNgEynmC2Jqh9J4AdhUKoDbGtueFAZ7jjmXchPeiMDCjGQ/zOw0kZdb4QJGkx
         e/Ud13VAy3Pd4ZOd8oskmJhEwdIYA7+sX+gGCJtZLhG2OyPqXSyufmQ6B6polYqyOccC
         qN01bdeBLe3/50IRum0ZsGFV5/EwqVY45hnrnO81ltcAOYvxmYQGqJyNgcSRmypLAf6/
         emQZNr5u5ZXLfYofZXtz6VDd7KDRF9XBlPoVydhavf0iUGCeFwTRsBubpAMnhW81cliq
         QouA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=8r/f07RABkisgujNFgCoRIoOPQ3YTfUBQ/yKs3L3hsQ=;
        b=NZNXNplXroQJGtzikxWPBHOXd32rLyA7a8NeSYPmpwr9CoDtFb/IcIiUtxDRUYzRGw
         LVexIDJwMi78IY+2DYcXCcZllDeMUgAWzQxiMa94gwFgt7DSA0umQf/uV5XermShjgt5
         dz2L/o6bVGECuIbmuzq1oNnMTfVbvTZglUOhDvaAHI3tZXfh2OeoSjmz4PwZofTD6O7b
         mjjzFddL0sw3aN5rj5SR7QjppbbIjbKJq/BwhzsSkFywkRha/LuyG03mvUfkfvptdGjb
         d1sfNccIQ+z0hRN9c6fvRNb5Uu4MWw0MXO7lfMVpM9Way+3eedoHy6D/7EthFIkR97ae
         YcNg==
X-Gm-Message-State: AO0yUKVri6DBfyQhR4+28mS5hwtgxkL4x6OAFeToWOqRxM5h87qRnVu7
	bn3rRWI4KtUMnUBkQg0ZoolKx/J9l/IKlWmO+xptcg==
X-Google-Smtp-Source: AK7set8vowi2sU1O0gs/UtUw4QzjZTuTCbSradmoJ9bpdSfYoz2NTemsRAVwETylBZWdKVi9ptejpGe+jBmlXI9A1To=
X-Received: by 2002:adf:e948:0:b0:2c7:150c:a0f4 with SMTP id
 m8-20020adfe948000000b002c7150ca0f4mr988238wrn.3.1677663051520; Wed, 01 Mar
 2023 01:30:51 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <c553f850d76f4c31f5ce464f39bcb010722b9f99.1677079672.git.jens.wiklander@linaro.org>
 <CD0E4A9B-4E07-42AB-A40B-41A9FD98C1F2@arm.com>
In-Reply-To: <CD0E4A9B-4E07-42AB-A40B-41A9FD98C1F2@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 1 Mar 2023 10:30:40 +0100
Message-ID: <CAHUa44EcoXdpyBOkUNZvN0=cCNjNsiZXfgER8EvsK1+f0P_tPA@mail.gmail.com>
Subject: Re: [XEN PATCH v7 11/20] xen/arm: ffa: map SPMC rx/tx buffers
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"

Hi Bertrand,

On Tue, Feb 28, 2023 at 1:57 PM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> >
> > When initializing the FF-A mediator map the RX and TX buffers shared with
> > the SPMC.
> >
> > These buffer are later used to to transmit data that cannot be passed in
> > registers only.
> >
> > Adds a check that the SP supports the needed FF-A features
> > FFA_RXTX_MAP_64 / FFA_RXTX_MAP_32 and FFA_RXTX_UNMAP. In 64-bit mode we
> > must use FFA_RXTX_MAP_64 since registers are used to transmit the
> > physical addresses of the RX/TX buffers.
>
> Right now, FFA on 32bit would only work correctly if LPAE is not used and only addresses
> under 4G are used by Xen and by guests as addresses are transferred through a single register.
>
> I think that we need for now to only enable FFA support on 64bit as the limitations we
> would need to enforce on 32bit are complex and the use case for FFA on 32bit platforms
> is not that obvious now.

OK, I'll drop the #ifdef CONFIG_ARM_64 and #ifdef CONFIG_ARM_32 and
instead depend on ARM_64 in Kconfig.
If we ever want to use this on ARM_32 we'll have to go through
everything anyway.

>
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > xen/arch/arm/tee/ffa.c | 57 +++++++++++++++++++++++++++++++++++++++++-
> > 1 file changed, 56 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index a5d8a12635b6..07dd5c36d54b 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -148,6 +148,15 @@ struct ffa_ctx {
> > /* Negotiated FF-A version to use with the SPMC */
> > static uint32_t ffa_version __ro_after_init;
> >
> > +/*
> > + * Our rx/tx buffers shared with the SPMC.
> > + *
> > + * ffa_page_count is the number of pages used in each of these buffers.
> > + */
> > +static void *ffa_rx __read_mostly;
> > +static void *ffa_tx __read_mostly;
> > +static unsigned int ffa_page_count __read_mostly;
> > +
> > static bool ffa_get_version(uint32_t *vers)
> > {
> >     const struct arm_smccc_1_2_regs arg = {
> > @@ -217,6 +226,17 @@ static bool check_mandatory_feature(uint32_t id)
> >     return !ret;
> > }
> >
> > +static int32_t ffa_rxtx_map(register_t tx_addr, register_t rx_addr,
> > +                            uint32_t page_count)
>
> Using register_t type here is doing an implicit cast when called and on
> 32bit this might later remove part of the address.
> This function must take paddr_t as parameters.

I'll change to paddr_t for rx/tx.

>
> > +{
> > +    uint32_t fid = FFA_RXTX_MAP_32;
> > +
> > +    if ( IS_ENABLED(CONFIG_ARM_64) )
> > +        fid = FFA_RXTX_MAP_64;
> > +
> > +    return ffa_simple_call(fid, tx_addr, rx_addr, page_count, 0);
>
> simple call might not be suitable on 32bits due to the conversion.
> As said earlier, it would make more sense to disable FFA on 32bit and
> put some comments/build_bug_on in the code in places where there
> would be something to fix.

I'm dropping the 32-bit support.

>
> > +}
> > +
> > static uint16_t get_vm_id(const struct domain *d)
> > {
> >     /* +1 since 0 is reserved for the hypervisor in FF-A */
> > @@ -384,6 +404,7 @@ static int ffa_relinquish_resources(struct domain *d)
> > static bool ffa_probe(void)
> > {
> >     uint32_t vers;
> > +    int e;
> >     unsigned int major_vers;
> >     unsigned int minor_vers;
> >
> > @@ -426,12 +447,46 @@ static bool ffa_probe(void)
> >     printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
> >            major_vers, minor_vers);
> >
> > -    if ( !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> > +    if (
> > +#ifdef CONFIG_ARM_64
> > +         !check_mandatory_feature(FFA_RXTX_MAP_64) ||
> > +#endif
> > +#ifdef CONFIG_ARM_32
> > +         !check_mandatory_feature(FFA_RXTX_MAP_32) ||
> > +#endif
> > +         !check_mandatory_feature(FFA_RXTX_UNMAP) ||
> > +         !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> >         return false;
> >
> > +    ffa_rx = alloc_xenheap_pages(0, 0);
> > +    if ( !ffa_rx )
> > +        return false;
> > +
> > +    ffa_tx = alloc_xenheap_pages(0, 0);
> > +    if ( !ffa_tx )
> > +        goto err_free_ffa_rx;
> > +
> > +    e = ffa_rxtx_map(__pa(ffa_tx), __pa(ffa_rx), 1);
> > +    if ( e )
> > +    {
> > +        printk(XENLOG_ERR "ffa: Failed to map rxtx: error %d\n", e);
> > +        goto err_free_ffa_tx;
> > +    }
> > +    ffa_page_count = 1;
>
> ffa_page_count is a constant here and is not used to do the allocation or
> passed as parameter to ffa_rxtx_map.
>
> Do you expect this value to be modified ? how ?

I expect this value to match how many FFA_PAGE_SIZE pages have been
mapped for the RX/TX buffers. Currently, this is only 1 but will have
to be changed later if PAGE_SIZE in Xen or in the secure world is
larger than FFA_PAGE_SIZE. We may also later add support
configurations where RX/TX buffers aren't mapped.

>
> Please set it first and use it for allocation and as parameter to rxtx_map so
> that a modification of the value would only have to be done in one place.
>
> Please use a define if this is a constant.

How about adding a define FFA_MIN_RXTX_PAGE_COUNT and giving that to
ffa_rxtx_map() and later assigning it to ffa_page_count if the call
succeeds?

>
> As it is a global variable, does the parameter to rxtx_map make sense ?

Yes, ffa_rxtx_map() is a dumb wrapper so it should have all the needed
parameters for the SMC provided.

Cheers,
Jens

>
> Cheers
> Bertrand
>
> >     ffa_version = vers;
> >
> >     return true;
> > +
> > +err_free_ffa_tx:
> > +    free_xenheap_pages(ffa_tx, 0);
> > +    ffa_tx = NULL;
> > +err_free_ffa_rx:
> > +    free_xenheap_pages(ffa_rx, 0);
> > +    ffa_rx = NULL;
> > +    ffa_page_count = 0;
> > +    ffa_version = 0;
> > +
> > +    return false;
> > }
> >
> > static const struct tee_mediator_ops ffa_ops =
> > --
> > 2.34.1
> >
>


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 09:31:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 09:31:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503912.776319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXInu-0002bY-A0; Wed, 01 Mar 2023 09:31:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503912.776319; Wed, 01 Mar 2023 09:31:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXInu-0002bP-6L; Wed, 01 Mar 2023 09:31:18 +0000
Received: by outflank-mailman (input) for mailman id 503912;
 Wed, 01 Mar 2023 09:31:16 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1pXIns-0002ak-Ce
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 09:31:16 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pXInr-0001tS-R3; Wed, 01 Mar 2023 09:31:15 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.13.48]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pXInr-0004yL-Ic; Wed, 01 Mar 2023 09:31:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=vyPrgYJtpIQ29fZngSepxLvEwIvazQBTjmg9qMO/gLY=; b=YSrsbJdWjKjm9xZfHRn4+LL53Q
	tT1p5SvGTrvVThqJ/hrKaPDj43R+yN1NjJgUFZYvv27P/5wbUJHBlVQPSGtt2mkpqBKJsBnqiLzsy
	o7buf8DeNfpEFlcMX9RBhDbRbLWCh9TzRgG/rJKlljLXYTcHGEi7/kUYDT6lzdW9aA80=;
Message-ID: <538020a3-07d2-391b-0fcc-4e4b4902d2f7@xen.org>
Date: Wed, 1 Mar 2023 09:31:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v3 3/4] xen/arm: switch ARM to use generic implementation
 of bug.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1677233393.git.oleksii.kurochko@gmail.com>
 <d80c136720c156d6ef83f27f1ce8dca5dba5b5a0.1677233393.git.oleksii.kurochko@gmail.com>
 <f82b8c50-47f2-d8b0-5a2c-60203e5d5e26@xen.org>
 <c0e628d744f03c70d2e7b66540ea27aa31d90043.camel@gmail.com>
 <46e96dd9-bcb4-4569-b282-05c019cabcc3@xen.org>
 <a2980d855cb11e447a794725163ff120d38fc127.camel@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <a2980d855cb11e447a794725163ff120d38fc127.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 01/03/2023 08:58, Oleksii wrote:
> On Tue, 2023-02-28 at 17:48 +0000, Julien Grall wrote:
>> Hi Oleksii,
>>
>> On 28/02/2023 15:09, Oleksii wrote:
>>> On Sat, 2023-02-25 at 16:49 +0000, Julien Grall wrote:
>>>> Hi Oleksii,
>>>>
>>>> On 24/02/2023 11:31, Oleksii Kurochko wrote:
>>>>> The following changes were made:
>>>>> * make GENERIC_BUG_FRAME mandatory for ARM
>>>>
>>>> I have asked in patch #1 but will ask it again because I think
>>>> this
>>>> should be recorded in the commit message. Can you outline why it
>>>> is
>>>> not
>>>> possible to completely switch to the generic version?
>>> I haven't tried to switch ARM too because of comment regarding 'i'
>>> in
>>> <asm/bug.h>:
>>> /*
>>>    * GCC will not allow to use "i"  when PIE is enabled (Xen doesn't
>>> set
>>> the
>>>    * flag but instead rely on the default value from the compiler).
>>> So
>>> the
>>>    * easiest way to implement run_in_exception_handler() is to pass
>>> the
>>> to
>>>    * be called function in a fixed register.
>>>    */
>>
>> I would expect this comment to be valid for any arch. So if there is
>> a
>> need to deal with PIE, then we would not be able to use "i" in the
>> BUG
>> frame.
>>
>> Note that we are now explicitly compiling Xen without PIE (see
>> Config.mk).
> Then it looks like some architectures isn't expected to be compiled
> with PIE. I mean that x86's bug.h is used 'i' and there is no any
> alternative version in case of PIE.
> 
> If Xen should be compilable with PIE then we have to use ARM
> implementation of bug.h everywhere. ( based on comment about 'i' with
> PIE ).

The comment was added because until commit ecd6b9759919 ("Config.mk: 
correct PIE-related option(s) in EMBEDDED_EXTRA_CFLAGS") we would let 
the compiler to decide whether PIE should be enabled.

Now we are forcing -fno-pie for Xen on any architecture (the flag is 
added at the top-level in Config.mk).

> 
> Now I am totally confused...

My point was not about using the Arm implementation everywhere. My point 
was that we disable even for Arm and therefore it is fine to use the 
common version.

If in the future we need to support PIE in Xen (I am not aware of any 
effort yet), then we could decide to update the common BUG framework. 
But for now, I don't think this is something you need to care in your 
series.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 09:34:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 09:34:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503920.776329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXIr6-0003OD-PC; Wed, 01 Mar 2023 09:34:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503920.776329; Wed, 01 Mar 2023 09:34: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 1pXIr6-0003O6-MR; Wed, 01 Mar 2023 09:34:36 +0000
Received: by outflank-mailman (input) for mailman id 503920;
 Wed, 01 Mar 2023 09:34: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=+deI=6Z=citrix.com=prvs=41760556e=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pXIr5-0003O0-Fk
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 09:34:35 +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 45391394-b814-11ed-96a0-2f268f93b82a;
 Wed, 01 Mar 2023 10:34: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: 45391394-b814-11ed-96a0-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677663273;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=ZIIN8U2JdP2J4jSKpbH0dD+3F1ihZCBbCdcFRnEBVWA=;
  b=DMRuDZ140B/mVTL+qLQbg6lUZ0Pa749ShDiOzeeD8N9y2NdEutPg0IfB
   21cMd0lZy8oURJKau3R9IVuTGJcc6t3iDnuUIj0LWbt0gshQm6ckmufqH
   gBZkeEJBI7JQu2z1hg3rhtNMEtDHE+N35CgWvDxw/UbG4rCplSrFqWT6t
   A=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 98990256
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:uNCbB6JKymPuqaAVFE+R5ZUlxSXFcZb7ZxGr2PjKsXjdYENS1TJUy
 2ZOX2mDO62PM2fwfdkiPY++8kpQ6pLVm99rGwplqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QRnPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5zBlpQy
 MYRFAsRY0uAu+GH+4u7W8VV05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWleG0hn75YntApUicv6Yf6GnP1g1hlrPqNbI5f/TbFZQExhzF+
 Aoq+Uz/OUldbfiH5gOI2VKioe7KmnjJW4I7QejQGvlC3wTImz175ActfUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxastRcGV91dO+Yz8g2Kx+zf5APxLnMfUjdLZdgitck3bT8nz
 FmEm5XuHzMHmLSNRGiU7Lu8sTK4Mi9TJmgHDRLoViNcvYOl+ttqyEuSEJA6SvXdYsDJ9S/Yx
 zexshUEjokokcNQ1Jm4zGv+gyOAn82cJuIq3Tn/UmWg5wJ/QYeqYY209FTWhcp9wJalokqp5
 yZdxZXHhAwaJdTUzXHWHr1RdF28z6zdWAAwl2KDCHXIG96F33e4Nb5d7zhlTKuCGpZVIGS5C
 KM/VO442XOyAJdIRfUqC25SI55wpUQFKTgCfqG8Uza2SsItHDJrBQk3DaJq40jjkVI3jYY0M
 oqBfMCnAB4yUPo4k2TuFrxFje5wnUjSIF8/orihknyaPUe2PibJGd/pznPVBgzG0E90iFqMq
 IsOXyd74x5eTPf/ckHqHX07dDg3wYwALcmu8aR/L7fTSjeK7Ul9U5c9N5t9Id0690mU/8+Ul
 kyAtrhwkgeu2Caed1XbAp2hAZu2NatCQbsAFXREFT6VN7ILONfHAHs3H3fvQYQayQ==
IronPort-HdrOrdr: A9a23:rJ7hgK9C7lDm3ch+Cs1uk+AuI+orL9Y04lQ7vn2ZKSY5TiVXra
 CTdZUgpHnJYVMqMk3I9uruBEDtex3hHNtOkOss1NSZLW7bUQmTXeJfBOLZqlWNJ8S9zJ856U
 4JScND4bbLfDxHZKjBgTVRE7wbsaa6GKLDv5ah85+6JzsaGp2J7G1Ce3am+lUdfng+OXKgfq
 Dsm/auoVCbCAwqR/X+PFYpdc7ZqebGkZr3CCR2eyLOuGG1/EiVAKeRKWnj4isj
X-IronPort-AV: E=Sophos;i="5.98,224,1673931600"; 
   d="scan'208";a="98990256"
Date: Wed, 1 Mar 2023 09:34:20 +0000
From: Anthony PERARD <anthony.perard@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: [XEN PATCH] automation: Rework archlinux container
Message-ID: <Y/8cHAV6L8sN+dDr@perard>
References: <20230228181649.51066-1-anthony.perard@citrix.com>
 <27e9e2bb-423c-8ad0-aaf0-351b756c6c40@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <27e9e2bb-423c-8ad0-aaf0-351b756c6c40@citrix.com>

On Tue, Feb 28, 2023 at 06:48:26PM +0000, Andrew Cooper wrote:
> On 28/02/2023 6:16 pm, Anthony PERARD wrote:
> > Base image "archlinux/base" isn't available anymore,
> >     https://lists.archlinux.org/pipermail/arch-dev-public/2020-November/030181.html
> >
> > But instead of switching to archlinux/archlinux, we will use the
> > official image from Docker. Main difference is that the first one is
> > updated daily while the second is updated weekly.
> >
> > Also, as we will install the packages from "base-devel" anyway, switch
> > to the "base-devel" tag.
> >
> > "dev86" package is now available from the main repo, no need for
> > multilib repo anymore.
> >
> > It is recommended to initialise local signing key used by pacman, so
> > let's do that.
> >
> > Replace "markdown" by "discount" as the former isn't available anymore
> > and has been replaced by the later.
> >
> > Also, clean pacman's cache.
> >
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks, I've rebuild the container with my prototype:
    https://gitlab.com/xen-project/people/anthonyper/xen/-/pipelines/791711467

I'll send a patch series for this prototype soon.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 09:41:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 09:41:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503924.776339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXIy9-0005CN-Hq; Wed, 01 Mar 2023 09:41:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503924.776339; Wed, 01 Mar 2023 09:41: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 1pXIy9-0005CG-Em; Wed, 01 Mar 2023 09:41:53 +0000
Received: by outflank-mailman (input) for mailman id 503924;
 Wed, 01 Mar 2023 09:41:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=S3ad=6Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXIy8-0005CA-2d
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 09:41:52 +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 4a434402-b815-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 10:41:49 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id g17so16836985lfv.4
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 01:41:49 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 h17-20020ac250d1000000b004db3aa3c542sm1654146lfm.47.2023.03.01.01.41.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 01:41: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: 4a434402-b815-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677663709;
        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=HpdBonmqRajnd59qKBbWmQ+KeoFmFqQeBs2cuRk21Hg=;
        b=e5/1rJeFLtiyBgfIlmt0FBIkM50wk95PPCh0o3mgc1oSUxZrb9CWZY+7yJ5cj+aqHV
         xCtbEpUdg62tHRNihbuiZDCXHlJahg/qGF70yWH1+7Iect798JEXVW5RBTwuGwvakF/F
         4oLWgVvYcQVpCeHZ8AZs78xpz14dm/TzXcnx39QhwdqYBcKQJQK+59lcnTdxR4im3xO1
         axFXyGRji1BpUS4GedymK1inf0YfA18QLXV9JxZ/xaIRRpVES4L9q5vvqTUAndK523Tg
         IRhlSv4CNsiVd6BoIxwF23O8zxBzSKJIR6uaKNkgl0/fOXmYx0vSHePn4OTdsSX28XpO
         Wn2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677663709;
        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=HpdBonmqRajnd59qKBbWmQ+KeoFmFqQeBs2cuRk21Hg=;
        b=1OZzd6KrnBnkNxY7/Ufg8IzR20U+FQP38JBKLMX1C/mZ9C/XNNq0sctOMrEN5mdhT/
         XfL2Q7JyzLtMrQExUDWWYSAW3PbciRLhaW30GZG+vqacDmQmlSMd12BmJK6um+LLt9oH
         CVInobbPAfDMu+GlrdFA57NmIzwN8C87hI/lmgW7XLsy+VRdUeXfEMjBhhUg/YqASiws
         ePtro+dXy76diKxisBZdApCglc65v9t7tMsJnghRJ2mK7c/ka2r9Uo/I37bt0PhI04f4
         yscgHFmbXO7F5088FiUWyaOwGd8/jfDZiovBy8ZcjRKtmcXq4G/zNuiaLG/fAa05bOTG
         zrBw==
X-Gm-Message-State: AO0yUKVnIs+G/cB7NNCpavJR/L0kgjy0JSBST4XCl58b1Ziv12DxE/B0
	SX+rBE2AKMkHhT4WbE/+0gk=
X-Google-Smtp-Source: AK7set+Dgx12D7ufWmqLNUUBw3uUyP5advSvv/aSDmLws/tb4ZcG4fa+iJNkobnW8TvIHBibncR19Q==
X-Received: by 2002:ac2:4c37:0:b0:4dc:4c3d:c883 with SMTP id u23-20020ac24c37000000b004dc4c3dc883mr1545611lfq.10.1677663709295;
        Wed, 01 Mar 2023 01:41:49 -0800 (PST)
Message-ID: <d35a9e46666819552a1174094bac8e8c1c5baece.camel@gmail.com>
Subject: Re: [PATCH v4 1/5] xen/riscv: introduce decode_cause() stuff
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Wed, 01 Mar 2023 11:41:46 +0200
In-Reply-To: <2fb6e5ad-9e25-9c63-7f01-8a3d55297cf7@suse.com>
References: <cover.1677237653.git.oleksii.kurochko@gmail.com>
	 <397e6741438a8b125dc53945a74a58246fac4faf.1677237653.git.oleksii.kurochko@gmail.com>
	 <2fb6e5ad-9e25-9c63-7f01-8a3d55297cf7@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Mon, 2023-02-27 at 13:48 +0100, Jan Beulich wrote:
> On 24.02.2023 12:35, Oleksii Kurochko wrote:
> > --- a/xen/arch/riscv/traps.c
> > +++ b/xen/arch/riscv/traps.c
> > @@ -4,10 +4,95 @@
> > =C2=A0 *
> > =C2=A0 * RISC-V Trap handlers
> > =C2=A0 */
> > +
> > +#include <xen/errno.h>
>=20
> I couldn't spot anything in the file which would require this
> inclusion.
-EINVAL, -ENOENT are used in do_bug_frame() I missed that when wrote
previous answer on e-mail.


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 09:45:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 09:45:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503930.776349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXJ25-0005nz-1x; Wed, 01 Mar 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 503930.776349; Wed, 01 Mar 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 1pXJ24-0005ns-VZ; Wed, 01 Mar 2023 09:45:56 +0000
Received: by outflank-mailman (input) for mailman id 503930;
 Wed, 01 Mar 2023 09:45: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=S3ad=6Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXJ23-0005nm-KK
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 09:45:55 +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 dc12c5b1-b815-11ed-96a0-2f268f93b82a;
 Wed, 01 Mar 2023 10:45:55 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id i9so16840577lfc.6
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 01:45:54 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 w14-20020ac2442e000000b004db00b4c671sm1660387lfl.7.2023.03.01.01.45.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 01:45: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: dc12c5b1-b815-11ed-96a0-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677663954;
        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=xGd25hKD6s5gYIjdZ2TJ8putMxGMRWq8uqxg0K9WGy8=;
        b=PYebjBpkRJ7c8bmhgNCn+UTbyof8RAVzD58Gg0uwEZdFldUh69uw/cXpbTM4N750P6
         oRijbx1M9PsvQoJTIIJk19aJt3GBgCvH+wHFCF5nSXmViTESHLKAXZUhHudFR2vSrKea
         4XjKEz/Z/hQz1bi4CkudMlGnszkMsdg5wOlS8DAo2Qw0vV7iFMFOXlZfynaTIhSmXTRa
         BitEbVft7bhpFusapzkx5bvDCnENm+rOi3NR2yOGugV4oAyTcDa76WH3OQJ9bjSJ/sUS
         QE8Qk6/oRqmgEsGw+36ceA2l2quq4UTNrMKCFKuDfv/gcN10gffi7uoZP002Yc5tOqBG
         UpdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677663954;
        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=xGd25hKD6s5gYIjdZ2TJ8putMxGMRWq8uqxg0K9WGy8=;
        b=kDJfwg1IfU+g1E0e2BDzDGrIwH1eNJJXCkUgfiUzcpUC8DrNJucUDs8RhYWnS/w+Xr
         vZi6q1KAEkk2YsnG5NgnVHgBicOnen95f1xfHDsUnO3u06eAShxUQI5n1EofOhnIXnOh
         dlKDP9pByklzdX5nY0If+M0gqJ6GY7UiFls2g8IHr41TPMXqrRgpgtpIjni/FE8Ex8P9
         gKu9L7te3f/AI8rMeEctSGyIHUMMjPBEC2ZSRUKWqLMp7b4J/T9cZTrBcHo0HufLmJFm
         0iHXZtb7o6iY9vrfTgdzRvrrcdLFthSCxe3PUh+0gscZC8hR2dRbCCQgKJmvLbNoWtBQ
         tzcg==
X-Gm-Message-State: AO0yUKVoz4zFrKxSg+2LRQ0l07xpjtKXLrcOF69Z85Ekiuyb0vy9jgeD
	/RyNudX1q4XpdUdNFqDUxEw=
X-Google-Smtp-Source: AK7set93g12AZQJGfNXIzhRCR4dhgNfO+Ps2jOP9k/GVVBk81uMyE2nto5limetFQFXBXNkHtUqNhw==
X-Received: by 2002:a05:6512:63:b0:4e1:7dd:1142 with SMTP id i3-20020a056512006300b004e107dd1142mr1531462lfo.51.1677663953998;
        Wed, 01 Mar 2023 01:45:53 -0800 (PST)
Message-ID: <1815e0ae98493797c0f30030acd461928b9a4120.camel@gmail.com>
Subject: Re: [PATCH v4 1/5] xen/riscv: introduce decode_cause() stuff
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Wed, 01 Mar 2023 11:45:51 +0200
In-Reply-To: <d35a9e46666819552a1174094bac8e8c1c5baece.camel@gmail.com>
References: <cover.1677237653.git.oleksii.kurochko@gmail.com>
	 <397e6741438a8b125dc53945a74a58246fac4faf.1677237653.git.oleksii.kurochko@gmail.com>
	 <2fb6e5ad-9e25-9c63-7f01-8a3d55297cf7@suse.com>
	 <d35a9e46666819552a1174094bac8e8c1c5baece.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-01 at 11:41 +0200, Oleksii wrote:
> On Mon, 2023-02-27 at 13:48 +0100, Jan Beulich wrote:
> > On 24.02.2023 12:35, Oleksii Kurochko wrote:
> > > --- a/xen/arch/riscv/traps.c
> > > +++ b/xen/arch/riscv/traps.c
> > > @@ -4,10 +4,95 @@
> > > =C2=A0 *
> > > =C2=A0 * RISC-V Trap handlers
> > > =C2=A0 */
> > > +
> > > +#include <xen/errno.h>
> >=20
> > I couldn't spot anything in the file which would require this
> > inclusion.
> -EINVAL, -ENOENT are used in do_bug_frame() I missed that when wrote
> previous answer on e-mail.
Sorry for confusion. I resolved merge conflicts after rebase so
<xen/errno.h> should be remove as anything is used in traps.c from it

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 09:53:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 09:53:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503936.776358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXJ9U-0007Zn-Rc; Wed, 01 Mar 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 503936.776358; Wed, 01 Mar 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 1pXJ9U-0007Zf-P8; Wed, 01 Mar 2023 09:53:36 +0000
Received: by outflank-mailman (input) for mailman id 503936;
 Wed, 01 Mar 2023 09:53: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=OPXQ=6Z=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pXJ9T-0007ZN-4Z
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 09:53:35 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id ec3f3dbc-b816-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 10:53: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 2A4342F4;
 Wed,  1 Mar 2023 01:54:14 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B8C483F881;
 Wed,  1 Mar 2023 01:53: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: ec3f3dbc-b816-11ed-a550-8520e6686977
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 0/2] xen/misra: create exclusion file list
Date: Wed,  1 Mar 2023 09:53:18 +0000
Message-Id: <20230301095320.264301-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie is introducing an exclusion list for the misra analysis, at the
moment only cppcheck can benefit from it because it's the tool where we
control every step and configuration.

Exclude a file from the analysis is the last step we should do, but sometime it
is unavoidable because we can't do direct changes to it to fix/deviate from
findings.
So we declare the file(s) here and we leave the burden of the misra compliance
to the final user.

Luca Fancellu (2):
  xen/cppcheck: add a way to exclude files from the scan
  xen/misra: add entries to exclude-list.json

 docs/misra/exclude-list.json                  | 201 ++++++++++++++++++
 docs/misra/exclude-list.rst                   |  44 ++++
 xen/scripts/xen_analysis/cppcheck_analysis.py |  20 +-
 .../xen_analysis/exclusion_file_list.py       |  79 +++++++
 4 files changed, 342 insertions(+), 2 deletions(-)
 create mode 100644 docs/misra/exclude-list.json
 create mode 100644 docs/misra/exclude-list.rst
 create mode 100644 xen/scripts/xen_analysis/exclusion_file_list.py

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 09:53:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 09:53:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503938.776371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXJ9V-0007nj-IZ; Wed, 01 Mar 2023 09:53:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503938.776371; Wed, 01 Mar 2023 09: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 1pXJ9V-0007mV-DX; Wed, 01 Mar 2023 09:53:37 +0000
Received: by outflank-mailman (input) for mailman id 503938;
 Wed, 01 Mar 2023 09:53: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=OPXQ=6Z=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pXJ9U-0007ZN-GF
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 09:53:36 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id ee00b70f-b816-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 10:53:34 +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 21648152B;
 Wed,  1 Mar 2023 01:54:17 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 96D4C3F881;
 Wed,  1 Mar 2023 01:53: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: ee00b70f-b816-11ed-a550-8520e6686977
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v2 2/2] xen/misra: add entries to exclude-list.json
Date: Wed,  1 Mar 2023 09:53:20 +0000
Message-Id: <20230301095320.264301-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230301095320.264301-1-luca.fancellu@arm.com>
References: <20230301095320.264301-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add entries to the exclude-list.json for those files that need to be
excluded from the analysis scan.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
This list is originated from Michal's work here:
https://patchwork.kernel.org/project/xen-devel/patch/20221116092032.4423-1-michal.orzel@amd.com/#25123099
and changed to adapt to this task.
Changes from v1:
 - updated list with new files from Stefano
 - add comment field for every entry (Jan)
---
---
 docs/misra/exclude-list.json | 199 ++++++++++++++++++++++++++++++++++-
 1 file changed, 198 insertions(+), 1 deletion(-)

diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
index 1fb0ac67747b..ca1e2dd678ff 100644
--- a/docs/misra/exclude-list.json
+++ b/docs/misra/exclude-list.json
@@ -1,4 +1,201 @@
 {
     "version": "1.0",
-    "content": []
+    "content": [
+        {
+            "rel_path": "arch/arm/arm64/cpufeature.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/arm/arm64/insn.c",
+            "comment": "Imported on Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/arm/arm64/lib/find_next_bit.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/acpi/boot.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/acpi/cpu_idle.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/acpi/cpufreq/cpufreq.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/acpi/cpuidle_menu.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/acpi/lib.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/amd.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/centaur.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/common.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/hygon.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/intel.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/intel_cacheinfo.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/mcheck/non-fatal.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/mtrr/*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/mwait-idle.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/delay.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/dmi_scan.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/mpparse.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/srat.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/time.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/x86_64/mmconf-fam10h.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/bitmap.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/bunzip2.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/earlycpio.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/inflate.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/libfdt/*",
+            "comment": "External library"
+        },
+        {
+            "rel_path": "common/livepatch_elf.c",
+            "comment": "Not in scope initially as it generates many violations and it is not enabled in safety configurations"
+        },
+        {
+            "rel_path": "common/lzo.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/lz4/decompress.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/radix-tree.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/ubsan/ubsan.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/un*.c",
+            "comment": "unlz4.c implementation by Yann Collet, the others un* are from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/xz/*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/zstd/*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "crypto/*",
+            "comment": "Origin is external and documented in crypto/README.source"
+        },
+        {
+            "rel_path": "drivers/acpi/apei/*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/acpi/hwregs.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/acpi/numa.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/acpi/osl.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/acpi/tables.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/acpi/tables/*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/acpi/utilities/*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/video/font_*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "lib/list-sort.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "lib/rbtree.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "lib/xxhash*.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "xsm/flask/*",
+            "comment": "Not in scope initially as it generates many violations and it is not enabled in safety configurations"
+        }
+    ]
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 09:53:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 09:53:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503937.776364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXJ9V-0007cQ-4c; Wed, 01 Mar 2023 09:53:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503937.776364; Wed, 01 Mar 2023 09: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 1pXJ9U-0007c6-Vc; Wed, 01 Mar 2023 09:53:36 +0000
Received: by outflank-mailman (input) for mailman id 503937;
 Wed, 01 Mar 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=OPXQ=6Z=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pXJ9T-0007ZS-KZ
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 09:53:35 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id ed71c45c-b816-11ed-96a0-2f268f93b82a;
 Wed, 01 Mar 2023 10:53: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 925E94B3;
 Wed,  1 Mar 2023 01:54:15 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2DABD3F881;
 Wed,  1 Mar 2023 01:53: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: ed71c45c-b816-11ed-96a0-2f268f93b82a
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 1/2] xen/cppcheck: add a way to exclude files from the scan
Date: Wed,  1 Mar 2023 09:53:19 +0000
Message-Id: <20230301095320.264301-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230301095320.264301-1-luca.fancellu@arm.com>
References: <20230301095320.264301-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a way to exclude files from the scan, in this way we can skip
some findings from the report on those files that Xen doesn't own.

To do that, introduce the exclude-list.json file under docs/misra,
this file will be populated with relative path to the files/folder
to be excluded.
Introduce a new module, exclusion_file_list.py, to deal with the
exclusion list file and use the new module in cppcheck_analysis.py
to take a list of excluded paths to update the suppression list of
cppcheck.
Modified --suppress flag for cppcheck tool to remove
unmatchedSuppression findings for those external file that are
listed but for example not built for the current architecture.

Add documentation for the file.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v1:
 - Indentation fixed (Jan)
---
---
 docs/misra/exclude-list.json                  |  4 +
 docs/misra/exclude-list.rst                   | 44 +++++++++++
 xen/scripts/xen_analysis/cppcheck_analysis.py | 20 ++++-
 .../xen_analysis/exclusion_file_list.py       | 79 +++++++++++++++++++
 4 files changed, 145 insertions(+), 2 deletions(-)
 create mode 100644 docs/misra/exclude-list.json
 create mode 100644 docs/misra/exclude-list.rst
 create mode 100644 xen/scripts/xen_analysis/exclusion_file_list.py

diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
new file mode 100644
index 000000000000..1fb0ac67747b
--- /dev/null
+++ b/docs/misra/exclude-list.json
@@ -0,0 +1,4 @@
+{
+    "version": "1.0",
+    "content": []
+}
diff --git a/docs/misra/exclude-list.rst b/docs/misra/exclude-list.rst
new file mode 100644
index 000000000000..969539c46beb
--- /dev/null
+++ b/docs/misra/exclude-list.rst
@@ -0,0 +1,44 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Exclude file list for xen-analysis script
+=========================================
+
+The code analysis is performed on the Xen codebase for both MISRA checkers and
+static analysis checkers, there are some files however that needs to be removed
+from the findings report because they are not owned by Xen and they must be kept
+in sync with their origin (completely or even partially), hence we can't easily
+fix findings or deviate from them.
+
+For this reason the file docs/misra/exclude-list.json is used to exclude every
+entry listed in that file from the final report.
+Currently only the cppcheck analysis will use this file.
+
+Here is an example of the exclude-list.json file::
+
+|{
+|    "version": "1.0",
+|    "content": [
+|        {
+|            "rel_path": "relative/path/from/xen/file",
+|            "comment": "This file is originated from ..."
+|        },
+|        {
+|            "rel_path": "relative/path/from/xen/folder/*",
+|            "comment": "This folder is a library"
+|        },
+|        {
+|            "rel_path": "relative/path/from/xen/mem*.c",
+|            "comment": "memcpy.c, memory.c and memcmp.c are from the outside"
+|        }
+|    ]
+|}
+
+Here is an explanation of the fields inside an object of the "content" array:
+ - rel_path: it is the relative path from the Xen folder to the file/folder that
+   needs to be excluded from the analysis report, it can contain a wildcard to
+   match more than one file/folder at the time. This field is mandatory.
+ - comment: an optional comment to explain why the file is removed from the
+   analysis.
+
+To ease the review and the modifications of the entries, they shall be listed in
+alphabetical order referring to the rel_path field.
diff --git a/xen/scripts/xen_analysis/cppcheck_analysis.py b/xen/scripts/xen_analysis/cppcheck_analysis.py
index cc1f403d315e..e385e2c8f54a 100644
--- a/xen/scripts/xen_analysis/cppcheck_analysis.py
+++ b/xen/scripts/xen_analysis/cppcheck_analysis.py
@@ -1,7 +1,8 @@
 #!/usr/bin/env python3
 
 import os, re, shutil
-from . import settings, utils, cppcheck_report_utils
+from . import settings, utils, cppcheck_report_utils, exclusion_file_list
+from .exclusion_file_list import ExclusionFileListError
 
 class GetMakeVarsPhaseError(Exception):
     pass
@@ -50,6 +51,21 @@ def __generate_suppression_list(out_file):
             # header for cppcheck
             supplist_file.write("*:*generated/compiler-def.h\n")
 
+            try:
+                exclusion_file = \
+                    "{}/docs/misra/exclude-list.json".format(settings.repo_dir)
+                exclusion_list = \
+                    exclusion_file_list.load_exclusion_file_list(exclusion_file)
+            except ExclusionFileListError as e:
+                raise CppcheckDepsPhaseError(
+                    "Issue with reading file {}: {}".format(exclusion_file, e)
+                )
+
+            # Append excluded files to the suppression list, using * as error id
+            # to suppress every findings on that file
+            for path in exclusion_list:
+                supplist_file.write("*:{}\n".format(path))
+
             for entry in headers:
                 filename = entry["file"]
                 try:
@@ -128,7 +144,7 @@ def generate_cppcheck_deps():
  --relative-paths={}
  --inline-suppr
  --suppressions-list={}/suppression-list.txt
- --suppress='unmatchedSuppression:*generated/compiler-def.h'
+ --suppress='unmatchedSuppression:*'
  --include={}/include/xen/config.h
  -DCPPCHECK
 """.format(settings.outdir, CPPCHECK_BUILD_DIR, settings.xen_dir,
diff --git a/xen/scripts/xen_analysis/exclusion_file_list.py b/xen/scripts/xen_analysis/exclusion_file_list.py
new file mode 100644
index 000000000000..4a47a90f5944
--- /dev/null
+++ b/xen/scripts/xen_analysis/exclusion_file_list.py
@@ -0,0 +1,79 @@
+#!/usr/bin/env python3
+
+import os, glob, json
+from . import settings
+
+class ExclusionFileListError(Exception):
+    pass
+
+
+def __cppcheck_path_exclude_syntax(path):
+    # Prepending * to the relative path to match every path where the Xen
+    # codebase could be
+    path = "*" + path
+
+    # Check if the path is to a folder without the wildcard at the end
+    if not (path.endswith(".c") or path.endswith(".h") or path.endswith("*")):
+        # The path is to a folder, if it doesn't have the final /, add it
+        if not path.endswith("/"):
+            path = path + "/"
+        # Since the path is a folder, add a wildcard to the end so that
+        # cppcheck will remove every issue related with this path
+        path = path + "*"
+
+    return path
+
+
+# Reads the exclusion file list and returns a list of relative path to be
+# excluded.
+def load_exclusion_file_list(input_file):
+    ret = []
+    try:
+        with open(input_file, "rt") as handle:
+            content = json.load(handle)
+            entries = content['content']
+    except json.JSONDecodeError as e:
+        raise ExclusionFileListError(
+                "JSON decoding error in file {}: {}".format(input_file, e)
+        )
+    except KeyError:
+        raise ExclusionFileListError(
+            "Malformed JSON file: content field not found!"
+        )
+    except Exception as e:
+        raise ExclusionFileListError(
+                "Can't open file {}: {}".format(input_file, e)
+        )
+
+    for entry in entries:
+        try:
+            path = entry['rel_path']
+        except KeyError:
+            raise ExclusionFileListError(
+                "Malformed JSON entry: rel_path field not found!"
+            )
+        abs_path = settings.xen_dir + "/" + path
+        check_path = [abs_path]
+
+        # If the path contains wildcards, solve them
+        if '*' in abs_path:
+            check_path = glob.glob(abs_path)
+
+        # Check that the path exists
+        for filepath_object in check_path:
+            if not os.path.exists(filepath_object):
+                raise ExclusionFileListError(
+                    "Malformed path: {} refers to {} that does not exists"
+                    .format(path, filepath_object)
+                )
+
+        if settings.analysis_tool == "cppcheck":
+            path = __cppcheck_path_exclude_syntax(path)
+        else:
+            raise ExclusionFileListError(
+                "Unimplemented for {}!".format(settings.analysis_tool)
+            )
+
+        ret.append(path)
+
+    return ret
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 09:56:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 09:56:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503955.776389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXJBt-0000r2-1t; Wed, 01 Mar 2023 09:56:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503955.776389; Wed, 01 Mar 2023 09: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 1pXJBs-0000qv-Ur; Wed, 01 Mar 2023 09:56:04 +0000
Received: by outflank-mailman (input) for mailman id 503955;
 Wed, 01 Mar 2023 09: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=Km5w=6Z=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pXJBr-0000qn-4I
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 09:56:03 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20618.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4634a615-b817-11ed-96a0-2f268f93b82a;
 Wed, 01 Mar 2023 10:56:02 +0100 (CET)
Received: from AS9P194CA0018.EURP194.PROD.OUTLOOK.COM (2603:10a6:20b:46d::30)
 by VE1PR08MB5870.eurprd08.prod.outlook.com (2603:10a6:800:1a8::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Wed, 1 Mar
 2023 09:55:59 +0000
Received: from AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:46d:cafe::6d) by AS9P194CA0018.outlook.office365.com
 (2603:10a6:20b:46d::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18 via Frontend
 Transport; Wed, 1 Mar 2023 09:55:59 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT036.mail.protection.outlook.com (100.127.140.93) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.18 via Frontend Transport; Wed, 1 Mar 2023 09:55:57 +0000
Received: ("Tessian outbound b29c0599cbc9:v135");
 Wed, 01 Mar 2023 09:55:57 +0000
Received: from ad45be912c23.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EADCC458-21EF-44E5-94D7-CBDAA1A25B8F.1; 
 Wed, 01 Mar 2023 09:55:49 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ad45be912c23.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 01 Mar 2023 09:55:49 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by GVXPR08MB7847.eurprd08.prod.outlook.com (2603:10a6:150:17::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Wed, 1 Mar
 2023 09:55:45 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Wed, 1 Mar 2023
 09:55: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: 4634a615-b817-11ed-96a0-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BNfRCssEsAzxxiMS7xEvJVlrYeKafXipM2QDkB6U62o=;
 b=99b0cr5iGxeAbSiT7+0B6ULHigg+1bv9LTVPVN2VkFtcW8obEvTD8KAA7HFTrpShmNcTQ/9dN87CG4E5usBKOBLMF904Y52pbxeqySgbgspOZyR9o70u6Ht7kj/wjjWvU42NqvYBqVpH7KtyW/OjDIn6i0HlDB8vHxWSfu5JHUc=
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=bestguesspass 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: 10dd056bc2723342
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=juSFGyvXIz289QKeqoZO7+mgjraDrZlw13+kPjowvxcSKnc/Zhd9v/sVm1aTXif2Q7RgbliEElmNMBfNLno/8PuSTn8SHVsJVylBzf+5HsCi/YSKWzK/VveSSv1O5UOnMKNMixWWTzk1/CcgVq1y+YRU8ZdnUqO19MVxAPPWMm3TOwTO4mDhuUrMtku66NQWAh1DG9jiw3wnU7aJxeQnqOQEa838inW9PwOetMm7sr/8TRxM7+0388k1keled8lSPFys6OQUg5ry/BuPVZZRT+7NgUV9+o2yQUa948T98aXhj1KlnLFyiHTm0Q8CpFAb6I7ioIm2/ezmuMz4VJfxAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BNfRCssEsAzxxiMS7xEvJVlrYeKafXipM2QDkB6U62o=;
 b=C2/uuf6yDvtQmbXmAJUVfpPvYxHm5jhvfR4SMWA6CNwL7MjkCBh6od3+NcEU5TZJVT6fMfYbdRhTXagTP9tRG/PJ4qG/y7cL/+yyZNERpD1jOGtkWNwVqJZRof7sHlNLD2eeoW4taBr5+f7GPG9Ta8Uqp489Pd/6lz0UGA+6ZPIr8xG5p98HxBlPzg5Nrug9T5FPqb5oG0R2q6Y6H4v8X3vU7SRs3XtavrmgpBo+u2okEOjHzPY4sQh15vhItUzcK8xzaVwzq227p5HMPZhTjM2PUYXj686DExmMpbi3BeaGWJ8yftq/ZM8gaRgLWyXvcMfvt3uh3503FLDC2KdWZw==
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=BNfRCssEsAzxxiMS7xEvJVlrYeKafXipM2QDkB6U62o=;
 b=99b0cr5iGxeAbSiT7+0B6ULHigg+1bv9LTVPVN2VkFtcW8obEvTD8KAA7HFTrpShmNcTQ/9dN87CG4E5usBKOBLMF904Y52pbxeqySgbgspOZyR9o70u6Ht7kj/wjjWvU42NqvYBqVpH7KtyW/OjDIn6i0HlDB8vHxWSfu5JHUc=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 11/20] xen/arm: ffa: map SPMC rx/tx buffers
Thread-Topic: [XEN PATCH v7 11/20] xen/arm: ffa: map SPMC rx/tx buffers
Thread-Index: AQHZRtMejEsJsgt3902OVIzV3uFpCq7kWrAAgAFYowCAAAb0gA==
Date: Wed, 1 Mar 2023 09:55:44 +0000
Message-ID: <09363EA7-700B-4EA1-A7FB-6A5321D9E4D9@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <c553f850d76f4c31f5ce464f39bcb010722b9f99.1677079672.git.jens.wiklander@linaro.org>
 <CD0E4A9B-4E07-42AB-A40B-41A9FD98C1F2@arm.com>
 <CAHUa44EcoXdpyBOkUNZvN0=cCNjNsiZXfgER8EvsK1+f0P_tPA@mail.gmail.com>
In-Reply-To:
 <CAHUa44EcoXdpyBOkUNZvN0=cCNjNsiZXfgER8EvsK1+f0P_tPA@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.3731.400.51.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_|GVXPR08MB7847:EE_|AM7EUR03FT036:EE_|VE1PR08MB5870:EE_
X-MS-Office365-Filtering-Correlation-Id: 2efa19b6-0356-4554-c959-08db1a3b27a4
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:
 TTJmLz6/cp3vdplmwLYBiNxerlDDqBuETjupIFUqokn6QqH2Q+H0LI3uqEJfi1eUr6y4xPCZufqNqm8PMbGSESc8gHtgKtkmqRtMUNA2xlbEUvmkULhh1euUMNUsErMamzAgJF4JiM7y3BOKpEQ2L/kyFDKL01BkRDdYf+7WtXYgWwMP2GLzK85pY3k6UsmL9pITojQPGEj27AuxE64FukPf48Px4bN2i9NqddTFK+zsnkHp21cUbUJ8MySkfTc3r9L5QYXotugCUq3Eoyatw+gtRhknY0WiHW7GCXdU5AleEKYRo1EIvrrNCAv5x9hIps2Ge5DqzVAPlQma8Rb8yGDorxL+pK6PNaEPkGR2FTQmEbwuYIENROQUXY19yKEmEU2hYU443b6sxiOrsp3gR622dj5P7OiyqYTFq4w2rFBXaYbQYc2Art1oBYHNb3YUwz9AnAycLAPASX02qqC+Qrk07b9yXhIlOmfWj0OUPsFzmfWE+pEauWFQFi8fXWofB+obnhGENZLDxbjT/mggEz/HeUcHzE1n8IxuXWI+SpMg8tJZZ+kAFhlFrT9NaYzsYRhGgdximjjtMZUYFsaoxvGaLZWT6Kx93J0WS7KOj1bhXPATaM6OCeas6kf3r7wB5hP8Kim6Tk1EuDHvIk1GcJGlL/a3pNqsLDSB7BUvaVQWlTo6i2wgzMh3RGiHtXc11NonW9h641gOMo08xxG/xP9ViKfsEWsZhkrqFwrP6bw=
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:(13230025)(4636009)(346002)(136003)(376002)(366004)(39860400002)(396003)(451199018)(33656002)(36756003)(54906003)(316002)(83380400001)(478600001)(6486002)(91956017)(71200400001)(2616005)(6512007)(6506007)(53546011)(186003)(38070700005)(8936002)(86362001)(41300700001)(2906002)(5660300002)(66556008)(66476007)(66946007)(8676002)(64756008)(76116006)(38100700002)(6916009)(4326008)(122000001)(66446008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <F16D6CE958F8D84DBD46850662EB5119@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7847
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	96e8488e-4ea1-4a23-90c1-08db1a3b1fc8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6KSKXFb3T5R1qhzwzzeqNUqOK71kSlvl4VH9ApOdlgPilLuweBWWQ/7rW8zxpdTjkznms68rdPkpZJp8HUjet4Zia8CDKDk0/YVl48lqym+HewJjeKr7pCRuWpepSBk2Vlz4Meq99Td7XSRHWy866hHbqTWH5e4Kj2XoWJYJ2vJLqLkNyRsY+sRLt4JPkZwNOhXlEMke/s+JAZxKGi9BnN3PAcbXirhN+a28qlLzSbm31km5JMR28PGXCDQyxjHQ8zi7wVZjrGYYa7xG4M7ghSapQSy41LR03qqg+sfE3x1mkrjddmT8a0YJBib/PjflQBnRo4cHObQWe2Fh1u6V/o0tW2+Ocqd3SPTvGbhnqwj4cKOk3NoPNE4YJxzxx/il0rl5lOeZPFYLkjhclTdjo5pwANIUw717wLNJCH8+zB/GIGjFjaJu+VcN1L4IMqlIFLBb/ev78g6Yd24eDoRg1s+om3/7Imfv8G6K6bKrb9w+hDd4xlKzqy8XduCKFKCpk1j2icCF9P+eGik6yZiVkyD3f6N5WybMDPzq/hoS0cuRfDb5cgKknqDpof7zjRIxG6omYIbgujhFvDsGMIk3WPHzLEUTEyNLh+t2g5ewxqJZYbJLoM3n/NSZLSAgGrlbgujq90G8RSl4y1Ya0f7u+GPi+nvMRn40sIZqHqNAFC7jvAhdpIwfVR9bOHAtHSg8Wl9eHhxLHvthPa8N9yL9Iw==
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:(13230025)(4636009)(376002)(39860400002)(396003)(136003)(346002)(451199018)(46966006)(36840700001)(40470700004)(4326008)(356005)(82740400003)(36860700001)(81166007)(33656002)(86362001)(8676002)(36756003)(6862004)(8936002)(41300700001)(5660300002)(2906002)(40480700001)(70586007)(70206006)(82310400005)(186003)(336012)(6506007)(6512007)(2616005)(40460700003)(47076005)(83380400001)(53546011)(26005)(316002)(6486002)(54906003)(478600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 09:55:57.2623
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2efa19b6-0356-4554-c959-08db1a3b27a4
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5870

Hi Jens,

> On 1 Mar 2023, at 10:30, Jens Wiklander <jens.wiklander@linaro.org> wrote=
:
>=20
> Hi Bertrand,
>=20
> On Tue, Feb 28, 2023 at 1:57 PM Bertrand Marquis
> <Bertrand.Marquis@arm.com> wrote:
>>=20
>> Hi Jens,
>>=20
>>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
>>>=20
>>> When initializing the FF-A mediator map the RX and TX buffers shared wi=
th
>>> the SPMC.
>>>=20
>>> These buffer are later used to to transmit data that cannot be passed i=
n
>>> registers only.
>>>=20
>>> Adds a check that the SP supports the needed FF-A features
>>> FFA_RXTX_MAP_64 / FFA_RXTX_MAP_32 and FFA_RXTX_UNMAP. In 64-bit mode we
>>> must use FFA_RXTX_MAP_64 since registers are used to transmit the
>>> physical addresses of the RX/TX buffers.
>>=20
>> Right now, FFA on 32bit would only work correctly if LPAE is not used an=
d only addresses
>> under 4G are used by Xen and by guests as addresses are transferred thro=
ugh a single register.
>>=20
>> I think that we need for now to only enable FFA support on 64bit as the =
limitations we
>> would need to enforce on 32bit are complex and the use case for FFA on 3=
2bit platforms
>> is not that obvious now.
>=20
> OK, I'll drop the #ifdef CONFIG_ARM_64 and #ifdef CONFIG_ARM_32 and
> instead depend on ARM_64 in Kconfig.
> If we ever want to use this on ARM_32 we'll have to go through
> everything anyway.

Yes this is the best solution for now.
And support.md patch is already saying already arm64.

>=20
>>=20
>>>=20
>>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>>> ---
>>> xen/arch/arm/tee/ffa.c | 57 +++++++++++++++++++++++++++++++++++++++++-
>>> 1 file changed, 56 insertions(+), 1 deletion(-)
>>>=20
>>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>>> index a5d8a12635b6..07dd5c36d54b 100644
>>> --- a/xen/arch/arm/tee/ffa.c
>>> +++ b/xen/arch/arm/tee/ffa.c
>>> @@ -148,6 +148,15 @@ struct ffa_ctx {
>>> /* Negotiated FF-A version to use with the SPMC */
>>> static uint32_t ffa_version __ro_after_init;
>>>=20
>>> +/*
>>> + * Our rx/tx buffers shared with the SPMC.
>>> + *
>>> + * ffa_page_count is the number of pages used in each of these buffers=
.
>>> + */
>>> +static void *ffa_rx __read_mostly;
>>> +static void *ffa_tx __read_mostly;
>>> +static unsigned int ffa_page_count __read_mostly;
>>> +
>>> static bool ffa_get_version(uint32_t *vers)
>>> {
>>>    const struct arm_smccc_1_2_regs arg =3D {
>>> @@ -217,6 +226,17 @@ static bool check_mandatory_feature(uint32_t id)
>>>    return !ret;
>>> }
>>>=20
>>> +static int32_t ffa_rxtx_map(register_t tx_addr, register_t rx_addr,
>>> +                            uint32_t page_count)
>>=20
>> Using register_t type here is doing an implicit cast when called and on
>> 32bit this might later remove part of the address.
>> This function must take paddr_t as parameters.
>=20
> I'll change to paddr_t for rx/tx.
>=20
>>=20
>>> +{
>>> +    uint32_t fid =3D FFA_RXTX_MAP_32;
>>> +
>>> +    if ( IS_ENABLED(CONFIG_ARM_64) )
>>> +        fid =3D FFA_RXTX_MAP_64;
>>> +
>>> +    return ffa_simple_call(fid, tx_addr, rx_addr, page_count, 0);
>>=20
>> simple call might not be suitable on 32bits due to the conversion.
>> As said earlier, it would make more sense to disable FFA on 32bit and
>> put some comments/build_bug_on in the code in places where there
>> would be something to fix.
>=20
> I'm dropping the 32-bit support.
>=20
>>=20
>>> +}
>>> +
>>> static uint16_t get_vm_id(const struct domain *d)
>>> {
>>>    /* +1 since 0 is reserved for the hypervisor in FF-A */
>>> @@ -384,6 +404,7 @@ static int ffa_relinquish_resources(struct domain *=
d)
>>> static bool ffa_probe(void)
>>> {
>>>    uint32_t vers;
>>> +    int e;
>>>    unsigned int major_vers;
>>>    unsigned int minor_vers;
>>>=20
>>> @@ -426,12 +447,46 @@ static bool ffa_probe(void)
>>>    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
>>>           major_vers, minor_vers);
>>>=20
>>> -    if ( !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
>>> +    if (
>>> +#ifdef CONFIG_ARM_64
>>> +         !check_mandatory_feature(FFA_RXTX_MAP_64) ||
>>> +#endif
>>> +#ifdef CONFIG_ARM_32
>>> +         !check_mandatory_feature(FFA_RXTX_MAP_32) ||
>>> +#endif
>>> +         !check_mandatory_feature(FFA_RXTX_UNMAP) ||
>>> +         !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
>>>        return false;
>>>=20
>>> +    ffa_rx =3D alloc_xenheap_pages(0, 0);
>>> +    if ( !ffa_rx )
>>> +        return false;
>>> +
>>> +    ffa_tx =3D alloc_xenheap_pages(0, 0);
>>> +    if ( !ffa_tx )
>>> +        goto err_free_ffa_rx;
>>> +
>>> +    e =3D ffa_rxtx_map(__pa(ffa_tx), __pa(ffa_rx), 1);
>>> +    if ( e )
>>> +    {
>>> +        printk(XENLOG_ERR "ffa: Failed to map rxtx: error %d\n", e);
>>> +        goto err_free_ffa_tx;
>>> +    }
>>> +    ffa_page_count =3D 1;
>>=20
>> ffa_page_count is a constant here and is not used to do the allocation o=
r
>> passed as parameter to ffa_rxtx_map.
>>=20
>> Do you expect this value to be modified ? how ?
>=20
> I expect this value to match how many FFA_PAGE_SIZE pages have been
> mapped for the RX/TX buffers. Currently, this is only 1 but will have
> to be changed later if PAGE_SIZE in Xen or in the secure world is
> larger than FFA_PAGE_SIZE. We may also later add support
> configurations where RX/TX buffers aren't mapped.

So it is a constant and the buffers are just mapped or not mapped.

>=20
>>=20
>> Please set it first and use it for allocation and as parameter to rxtx_m=
ap so
>> that a modification of the value would only have to be done in one place=
.
>>=20
>> Please use a define if this is a constant.
>=20
> How about adding a define FFA_MIN_RXTX_PAGE_COUNT and giving that to
> ffa_rxtx_map() and later assigning it to ffa_page_count if the call
> succeeds?

Why MIN ?

How about just using ffa_rx or ffa_tx being NULL or not to check if the buf=
fers are
mapped and remove the count.

>=20
>>=20
>> As it is a global variable, does the parameter to rxtx_map make sense ?
>=20
> Yes, ffa_rxtx_map() is a dumb wrapper so it should have all the needed
> parameters for the SMC provided.

Then passing FFA_MIN_RXTX_PAGE_COUNT should be enough.

Cheers
Bertrand

>=20
> Cheers,
> Jens
>=20
>>=20
>> Cheers
>> Bertrand
>>=20
>>>    ffa_version =3D vers;
>>>=20
>>>    return true;
>>> +
>>> +err_free_ffa_tx:
>>> +    free_xenheap_pages(ffa_tx, 0);
>>> +    ffa_tx =3D NULL;
>>> +err_free_ffa_rx:
>>> +    free_xenheap_pages(ffa_rx, 0);
>>> +    ffa_rx =3D NULL;
>>> +    ffa_page_count =3D 0;
>>> +    ffa_version =3D 0;
>>> +
>>> +    return false;
>>> }
>>>=20
>>> static const struct tee_mediator_ops ffa_ops =3D
>>> --
>>> 2.34.1




From xen-devel-bounces@lists.xenproject.org Wed Mar 01 10:17:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 10:17:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503963.776399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXJWH-0004Co-Pk; Wed, 01 Mar 2023 10:17:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503963.776399; Wed, 01 Mar 2023 10:17:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXJWH-0004Ch-Ms; Wed, 01 Mar 2023 10:17:09 +0000
Received: by outflank-mailman (input) for mailman id 503963;
 Wed, 01 Mar 2023 10:17: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=ofKM=6Z=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pXJWG-0004Cb-2D
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 10:17:08 +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 3789f1ee-b81a-11ed-96a1-2f268f93b82a;
 Wed, 01 Mar 2023 11:17:06 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 bg16-20020a05600c3c9000b003eb34e21bdfso7996695wmb.0
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 02:17: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: 3789f1ee-b81a-11ed-96a1-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=BFwYGV1i2T8g4dvTbYYdRQBR4RMnoU3QukbnaID6ycE=;
        b=DdYX02G0YLJPU70zxglgeQl2A2Looq6gdLydky4c972HyKmPTfMOhSs5plGNtP13ga
         MfVNMmoQsoohfJP50yRZlKW43fCWsklVI1bFs24LMVrFeyCwEHl61exWCVj5sYIIxtG8
         9e9jVH19yEaXnCyaXuxs1t5STbmf80SO6SonzPurpNqDUubRHwp9x95QYS1mN9dAJQxc
         QIn1U/VM+qshs0Vsjp9TK6zI/OIZlv/d7mb/19tg2QsnxM/WrGsUDVKKRHXLOll2jnJJ
         Qx0k1ntCeSljKXu9K55MF7xNRevQS/Isb89tEhoAvOPUj9bABaCo92VzfBGqLCpmBcbk
         4mQQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=BFwYGV1i2T8g4dvTbYYdRQBR4RMnoU3QukbnaID6ycE=;
        b=MPl+YGZaqp0FJgQmOyQ/s5iZNJd12z/LlT0uCKWVl+47LRnV+LzY7jA8FNy07NWqmi
         I8KqOHD3g0AggM1kB/fLks3/G4KZgAhKVoEhQ+f8bo30PTgYpX7UvpMr799i8lyQIIDB
         qZ5ErIK6iFMB4RYC/6b8DDFWyr9OhA1nhzLsac3Oy3gsK1dgyKda7KLjUSY+CXwdZfkD
         s/e9eP+R7epiZwa6Rkam/7LGTVDRDzqo+3fJwQArhHYUjdVMiVpZC3bMTpsb6QR2bTGL
         K9f3uEvmeCrg5jRgETLfYpctn5L9N1wIsm7qhKXnhOT+e/LJwxr1+QBYhk07XjZ35oqe
         MXgw==
X-Gm-Message-State: AO0yUKVYdgp1T4cfCiMBuWAWC32mrsSDLZkOKiMuleRGzI3T1D2cJ5xg
	Z0h0fLwMdvjvKQV9tTdxNmpWGVRjKgPObpMfKAs0LQ==
X-Google-Smtp-Source: AK7set9Ih5leR2XAoFPhJP9xFBZPI8OYUq2ku/3Nx/7x/brbRTLwqQu6N+THQuhrg25Z76pXsH8vZmMtHjoitI2pcYI=
X-Received: by 2002:a05:600c:474f:b0:3df:97c0:1b4 with SMTP id
 w15-20020a05600c474f00b003df97c001b4mr1641618wmo.4.1677665825289; Wed, 01 Mar
 2023 02:17:05 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <cfd9ae67bdf24bee796b418937dd1486018fd188.1677079672.git.jens.wiklander@linaro.org>
 <3DE2B127-8820-400A-86FC-3A38F40CADFD@arm.com>
In-Reply-To: <3DE2B127-8820-400A-86FC-3A38F40CADFD@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 1 Mar 2023 11:16:54 +0100
Message-ID: <CAHUa44EjD7mSE0DZShoRh9PAPVPWXL0gXUpi69s-2ktaMMSa8A@mail.gmail.com>
Subject: Re: [XEN PATCH v7 12/20] xen/arm: ffa: send guest events to Secure Partitions
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"

Hi Bertrand,

On Tue, Feb 28, 2023 at 5:49 PM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> >
> > The FF-A specification defines framework messages sent as direct
> > requests when certain events occurs. For instance when a VM (guest) is
> > created or destroyed. Only SPs which have subscribed to these events
> > will receive them. An SP can subscribe to these messages in its
> > partition properties.
> >
> > Adds a check that the SP supports the needed FF-A features
> > FFA_PARTITION_INFO_GET and FFA_RX_RELEASE.
> >
> > The partition properties of each SP is retrieved with
> > FFA_PARTITION_INFO_GET which returns the information in our RX buffer.
> > Using FFA_PARTITION_INFO_GET changes the owner of the RX buffer to the
> > caller (us), so once we're done with the buffer it must be released
> > using FFA_RX_RELEASE before another call can be made.
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > xen/arch/arm/tee/ffa.c | 191 ++++++++++++++++++++++++++++++++++++++++-
> > 1 file changed, 190 insertions(+), 1 deletion(-)
> >
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index 07dd5c36d54b..f1b014b6c7f4 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -140,6 +140,14 @@
> > #define FFA_MSG_SEND                    0x8400006EU
> > #define FFA_MSG_POLL                    0x8400006AU
> >
> > +/* Partition information descriptor */
> > +struct ffa_partition_info_1_1 {
> > +    uint16_t id;
> > +    uint16_t execution_context;
> > +    uint32_t partition_properties;
> > +    uint8_t uuid[16];
> > +};
> > +
> > struct ffa_ctx {
> >     uint32_t guest_vers;
> >     bool interrupted;
> > @@ -148,6 +156,12 @@ struct ffa_ctx {
> > /* Negotiated FF-A version to use with the SPMC */
> > static uint32_t ffa_version __ro_after_init;
> >
> > +/* SPs subscribing to VM_CREATE and VM_DESTROYED events */
> > +static uint16_t *subscr_vm_created __read_mostly;
> > +static unsigned int subscr_vm_created_count __read_mostly;
>
> In the spec the number is returned in w2 so you should utse uint32_t here.

I don't understand. This value is increased for each SP which has the
property set in the Partition information descriptor.

>
> > +static uint16_t *subscr_vm_destroyed __read_mostly;
> > +static unsigned int subscr_vm_destroyed_count __read_mostly;
>
> Same here
>
> > +
> > /*
> >  * Our rx/tx buffers shared with the SPMC.
> >  *
> > @@ -237,6 +251,72 @@ static int32_t ffa_rxtx_map(register_t tx_addr, register_t rx_addr,
> >     return ffa_simple_call(fid, tx_addr, rx_addr, page_count, 0);
> > }
> >
> > +static int32_t ffa_partition_info_get(uint32_t w1, uint32_t w2, uint32_t w3,
> > +                                      uint32_t w4, uint32_t w5,
> > +                                      uint32_t *count)
> > +{
> > +    const struct arm_smccc_1_2_regs arg = {
> > +        .a0 = FFA_PARTITION_INFO_GET,
> > +        .a1 = w1,
> > +        .a2 = w2,
> > +        .a3 = w3,
> > +        .a4 = w4,
> > +        .a5 = w5,
> > +    };
> > +    struct arm_smccc_1_2_regs resp;
> > +    uint32_t ret;
> > +
> > +    arm_smccc_1_2_smc(&arg, &resp);
> > +
> > +    ret = get_ffa_ret_code(&resp);
> > +    if ( !ret )
> > +        *count = resp.a2;
> > +
> > +    return ret;
> > +}
> > +
> > +static int32_t ffa_rx_release(void)
> > +{
> > +    return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
> > +}
> > +
> > +static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
> > +                                      uint8_t msg)
>
> This function is actually only useable to send framework created/destroyed
> messages so the function name should be adapted to be less generic.
>
> ffa_send_vm_events ?
>
> unless you want to modify it later to send more framework messages ?

That was the plan, but that may never happen. I'll rename it to
ffa_send_vm_event() since we're only sending one event at a time.

>
> > +{
> > +    uint32_t exp_resp = FFA_MSG_FLAG_FRAMEWORK;
> > +    int32_t res;
> > +
> > +    if ( msg == FFA_MSG_SEND_VM_CREATED )
> > +        exp_resp |= FFA_MSG_RESP_VM_CREATED;
> > +    else if ( msg == FFA_MSG_SEND_VM_DESTROYED )
> > +        exp_resp |= FFA_MSG_RESP_VM_DESTROYED;
> > +    else
> > +        return FFA_RET_INVALID_PARAMETERS;
> > +
> > +    do {
> > +        const struct arm_smccc_1_2_regs arg = {
> > +            .a0 = FFA_MSG_SEND_DIRECT_REQ_32,
> > +            .a1 = sp_id,
> > +            .a2 = FFA_MSG_FLAG_FRAMEWORK | msg,
> > +            .a5 = vm_id,
> > +        };
> > +        struct arm_smccc_1_2_regs resp;
> > +
> > +        arm_smccc_1_2_smc(&arg, &resp);
> > +        if ( resp.a0 != FFA_MSG_SEND_DIRECT_RESP_32 || resp.a2 != exp_resp )
> > +        {
> > +            /*
> > +             * This is an invalid response, likely due to some error in the
> > +             * implementation of the ABI.
> > +             */
> > +            return FFA_RET_INVALID_PARAMETERS;
> > +        }
> > +        res = resp.a3;
> > +    } while ( res == FFA_RET_INTERRUPTED || res == FFA_RET_RETRY );
>
> We might end up in an infinite loop here or increase interrupt response time.
> In the general case we could return that code directly to the VM but here we
> are in the VM creation/destroy path so we cannot do that.
>
> Maybe in debug mode at least we should have a retry counter here for now
> with a print ?

OK, I'll add something.

>
> > +
> > +    return res;
> > +}
> > +
> > static uint16_t get_vm_id(const struct domain *d)
> > {
> >     /* +1 since 0 is reserved for the hypervisor in FF-A */
> > @@ -371,6 +451,10 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
> > static int ffa_domain_init(struct domain *d)
> > {
> >     struct ffa_ctx *ctx;
> > +    unsigned int n;
> > +    unsigned int m;
> > +    unsigned int c_pos;
> > +    int32_t res;
> >
> >      /*
> >       * We can't use that last possible domain ID or get_vm_id() would cause
> > @@ -383,24 +467,121 @@ static int ffa_domain_init(struct domain *d)
> >     if ( !ctx )
> >         return -ENOMEM;
> >
> > +    for ( n = 0; n < subscr_vm_created_count; n++ )
> > +    {
> > +        res = ffa_direct_req_send_vm(subscr_vm_created[n], get_vm_id(d),
> > +                                     FFA_MSG_SEND_VM_CREATED);
> > +        if ( res )
> > +        {
> > +            printk(XENLOG_ERR "ffa: Failed to report creation of vm_id %u to  %u: res %d\n",
> > +                   get_vm_id(d), subscr_vm_created[n], res);
>
> in this function, get_vm_id(d) will not change so i would suggest to store it in a local variable
> instead of calling get_vm_id each time.

OK

>
> > +            c_pos = n;
> > +            goto err;
> > +        }
> > +    }
> > +
> >     d->arch.tee = ctx;
> >
> >     return 0;
> > +
> > +err:
> > +    /* Undo any already sent vm created messaged */
> > +    for ( n = 0; n < c_pos; n++ )
> > +        for ( m = 0; m < subscr_vm_destroyed_count; m++ )
> > +            if ( subscr_vm_destroyed[m] == subscr_vm_created[n] )
> > +                ffa_direct_req_send_vm(subscr_vm_destroyed[n], get_vm_id(d),
> > +                                       FFA_MSG_SEND_VM_DESTROYED);
> > +
> > +    return -ENOMEM;
>
> The VM creation is not failing due to missing memory here.
> We need to find a better error code.
> Maybe ENOTCONN ?
> I am open to ideas here :-)

That makes sense, I'll change it to ENOTCONN.

>
> > }
> >
> > /* This function is supposed to undo what ffa_domain_init() has done */
> > static int ffa_relinquish_resources(struct domain *d)
> > {
> >     struct ffa_ctx *ctx = d->arch.tee;
> > +    unsigned int n;
> > +    int32_t res;
> >
> >     if ( !ctx )
> >         return 0;
> >
> > +    for ( n = 0; n < subscr_vm_destroyed_count; n++ )
> > +    {
> > +        res = ffa_direct_req_send_vm(subscr_vm_destroyed[n], get_vm_id(d),
> > +                                     FFA_MSG_SEND_VM_DESTROYED);
> > +
> > +        if ( res )
> > +            printk(XENLOG_ERR "ffa: Failed to report destruction of vm_id %u to  %u: res %d\n",
> > +                   get_vm_id(d), subscr_vm_destroyed[n], res);
> > +    }
> > +
> >     XFREE(d->arch.tee);
> >
> >     return 0;
> > }
> >
> > +static bool init_subscribers(void)
> > +{
> > +    struct ffa_partition_info_1_1 *fpi;
> > +    bool ret = false;
> > +    uint32_t count;
> > +    int e;
> > +    uint32_t n;
> > +    uint32_t c_pos;
> > +    uint32_t d_pos;
> > +
> > +    if ( ffa_version < FFA_VERSION_1_1 )
> > +        return true;
>
> Correct me if i am wrong but on 1.0 version we cannot retrieve the count but
> we could do the slow path and do a first loop on info_get until we get an error ?

Sending the events is not supported in 1.0 so there's nothing to
record in that case.

Thanks,
Jens

>
> > +
> > +    e = ffa_partition_info_get(0, 0, 0, 0, 0, &count);
> > +    if ( e )
> > +    {
> > +        printk(XENLOG_ERR "ffa: Failed to get list of SPs: %d\n", e);
> > +        goto out;
> > +    }
> > +
> > +    fpi = ffa_rx;
> > +    subscr_vm_created_count = 0;
> > +    subscr_vm_destroyed_count = 0;
> > +    for ( n = 0; n < count; n++ )
> > +    {
> > +        if (fpi[n].partition_properties & FFA_PART_PROP_NOTIF_CREATED)
> > +            subscr_vm_created_count++;
> > +        if (fpi[n].partition_properties & FFA_PART_PROP_NOTIF_DESTROYED)
> > +            subscr_vm_destroyed_count++;
> > +    }
> > +
> > +    if ( subscr_vm_created_count )
> > +        subscr_vm_created = xzalloc_array(uint16_t, subscr_vm_created_count);
> > +    if ( subscr_vm_destroyed_count )
> > +        subscr_vm_destroyed = xzalloc_array(uint16_t,
> > +                                            subscr_vm_destroyed_count);
> > +    if ( (subscr_vm_created_count && !subscr_vm_created) ||
> > +         (subscr_vm_destroyed_count && !subscr_vm_destroyed) )
> > +    {
> > +        printk(XENLOG_ERR "ffa: Failed to allocate subscription lists\n");
> > +        subscr_vm_created_count = 0;
> > +        subscr_vm_destroyed_count = 0;
> > +        XFREE(subscr_vm_created);
> > +        XFREE(subscr_vm_destroyed);
> > +        goto out;
> > +    }
> > +
> > +    for ( c_pos = 0, d_pos = 0, n = 0; n < count; n++ )
> > +    {
> > +        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_CREATED )
> > +            subscr_vm_created[c_pos++] = fpi[n].id;
> > +        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_DESTROYED )
> > +            subscr_vm_destroyed[d_pos++] = fpi[n].id;
> > +    }
> > +
> > +    ret = true;
> > +out:
> > +    ffa_rx_release();
> > +
> > +    return ret;
> > +}
> > +
> > static bool ffa_probe(void)
> > {
> >     uint32_t vers;
> > @@ -447,7 +628,8 @@ static bool ffa_probe(void)
> >     printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
> >            major_vers, minor_vers);
> >
> > -    if (
> > +    if ( !check_mandatory_feature(FFA_PARTITION_INFO_GET) ||
> > +         !check_mandatory_feature(FFA_RX_RELEASE) ||
> > #ifdef CONFIG_ARM_64
> >          !check_mandatory_feature(FFA_RXTX_MAP_64) ||
> > #endif
> > @@ -475,6 +657,9 @@ static bool ffa_probe(void)
> >     ffa_page_count = 1;
> >     ffa_version = vers;
> >
> > +    if ( !init_subscribers() )
> > +        goto err_free_ffa_tx;
> > +
> >     return true;
> >
> > err_free_ffa_tx:
> > @@ -485,6 +670,10 @@ err_free_ffa_rx:
> >     ffa_rx = NULL;
> >     ffa_page_count = 0;
> >     ffa_version = 0;
> > +    XFREE(subscr_vm_created);
> > +    subscr_vm_created_count = 0;
> > +    XFREE(subscr_vm_destroyed);
> > +    subscr_vm_destroyed_count = 0;
> >
> >     return false;
> > }
> > --
> > 2.34.1
> >
>
> Cheers
> Bertrand
>
>


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 10:34:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 10:34:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503969.776409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXJms-0007HE-8r; Wed, 01 Mar 2023 10:34:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503969.776409; Wed, 01 Mar 2023 10:34: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 1pXJms-0007H7-5u; Wed, 01 Mar 2023 10:34:18 +0000
Received: by outflank-mailman (input) for mailman id 503969;
 Wed, 01 Mar 2023 10:34: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=S3ad=6Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXJmr-0007H1-Do
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 10:34:17 +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 9e0736e9-b81c-11ed-96a1-2f268f93b82a;
 Wed, 01 Mar 2023 11:34:16 +0100 (CET)
Received: by mail-lf1-x12e.google.com with SMTP id s20so16945467lfb.11
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 02:34:16 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 x14-20020ac25dce000000b004dc4d26c30dsm1683597lfq.63.2023.03.01.02.34.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 02: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: 9e0736e9-b81c-11ed-96a1-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677666856;
        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=rJu5h7gXzKUOA2wb7hCKEgPPYNJMyD/SnIMQz9rOipQ=;
        b=CnK5CnJz8WJCCXljWbPRjLYXhIYclgP7GFf+Z7EJ2BpGSyhsw1qVTZ/LufDm2DHYQZ
         REZBhPc6qnJkk5eYB+lMHzVGhR/elFafODBb/mhZ9AFiHWvHiFQpEynzhuEMF1IaT4rQ
         +jMBJMaJxKhXZ4vGhwhapVTAR0xaFNrWaTl5irHfaBJvLt6GuGplly/s6REoNtvkxPYc
         5OWQf78sl+arveWK3P1eO3QwqpAoa7QP9r+MW215dAV8sMXFq+F1j7qPChDZ0lDDwR5P
         cksbOAR6cVnc8LmvujRNweMVt+Tp9qllUJhK403pTHae9GPo6xOpaKo0P1IbH8BfwZuE
         JsQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677666856;
        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=rJu5h7gXzKUOA2wb7hCKEgPPYNJMyD/SnIMQz9rOipQ=;
        b=JaqV9jNsszdIyxdV4c8Y/s9/CGT3f8OVEhT5eLbCahLafEMe6IpFQf0iwJD9qXqYma
         w9rluZxtMNccAtwzW47DgmM14w2qlsMEBNPjLtkFJhm73BHL3qDl+qifPzwcLx69b4SU
         vCF+rcwqUHkYgdhpo39RujJkramdXlISZIYU1fiSyu3AVRn4Y7u9uiYPYRVXiy9kP6oj
         061t6aXYCqeogYcHbpe6DB3p5XhlxoLXZKvP1IbUcELAIxVJrh4Jo3+9h5KRtdLRYa8u
         27hbdb133eLelpeiae1zwkU3kLaIjbOo6eVIf7YWbB3QoIwvgdVD/NMj3aMXU0ONnBYc
         cqvw==
X-Gm-Message-State: AO0yUKVkGyfaXEM1NhrKSqNhmNRzIGaQRPCogsQ1AVkawNnSipW7octH
	eKvUGms6fA3B9hJywapLhZE=
X-Google-Smtp-Source: AK7set9rwOuKArSUOymgy9FYesVMhyvc0SJY0ttbTJ1Uf5d53Dj9tpHlffRbxC9HkO2+pWqQLi0Vyw==
X-Received: by 2002:a05:6512:3404:b0:4dd:9931:c4f6 with SMTP id i4-20020a056512340400b004dd9931c4f6mr2020066lfr.16.1677666855745;
        Wed, 01 Mar 2023 02:34:15 -0800 (PST)
Message-ID: <b72d513448710072fe84b7f742f4d867bfc4da05.camel@gmail.com>
Subject: Re: [PATCH v4 2/5] xen/riscv: introduce trap_init()
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Wed, 01 Mar 2023 12:34:14 +0200
In-Reply-To: <dcfa24d7-20c9-b460-32d7-7567b17c0b32@suse.com>
References: <cover.1677237653.git.oleksii.kurochko@gmail.com>
	 <b1b2252d3105eeaf0cee10ae2be253c8526d0e5c.1677237653.git.oleksii.kurochko@gmail.com>
	 <dcfa24d7-20c9-b460-32d7-7567b17c0b32@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Mon, 2023-02-27 at 13:50 +0100, Jan Beulich wrote:
> On 24.02.2023 12:35, Oleksii Kurochko wrote:
> > @@ -11,6 +13,8 @@ void __init noreturn start_xen(void)
> > =C2=A0{
> > =C2=A0=C2=A0=C2=A0=C2=A0 early_printk("Hello from C env\n");
> > =C2=A0
> > +=C2=A0=C2=A0=C2=A0 trap_init();
> > +
> > =C2=A0=C2=A0=C2=A0=C2=A0 for ( ;; )
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 asm volatile ("wfi");
>=20
> Along the lines of what Andrew has said there - it's hard to see
> how this can come (both code flow and patch ordering wise) ahead
> of clearing .bss.
So should I add the patch with initializatin of bss as a part of this
patch series?

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 10:45:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 10:45:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503974.776419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXJxA-0000eT-8b; Wed, 01 Mar 2023 10:44:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503974.776419; Wed, 01 Mar 2023 10: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 1pXJxA-0000eM-5n; Wed, 01 Mar 2023 10:44:56 +0000
Received: by outflank-mailman (input) for mailman id 503974;
 Wed, 01 Mar 2023 10:44: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=4Y5i=6Z=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXJx8-0000eG-N1
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 10:44:54 +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 18f39f0a-b81e-11ed-96a2-2f268f93b82a;
 Wed, 01 Mar 2023 11:44:53 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8700.eurprd04.prod.outlook.com (2603:10a6:20b:43f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Wed, 1 Mar
 2023 10:44:48 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6134.030; Wed, 1 Mar 2023
 10:44: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: 18f39f0a-b81e-11ed-96a2-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bOZ8gJ8YbvTjTrxaYHuX/2UwszN1nE2IZM6vDTS1IuSVWDYTMW51ZLUkx3rd3+FYPwRxuNYv0ay7JIylbI1441+D944s/+MkmjGA0qTuklORZyfX/siT5aw+H9woonJBr8EKZSg/87B5/csMJn1eZJmQxqZ9OVyDI/fLPpbCbITe8GCR4liR3bhZnHGs449ldCdCVyi9CkMbdQlSVx0CWlBWq7tvF7ssjCRgzKBygnXpfcnLORH96kPRcopCOT779wiyAQwCBTHJtTMzjELvMGi3Nnlh033i6m0ak15SF2Qla71iYmDAU9qaRvoEY/NeWgV2EFWK8BZ0DfRulNTJmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+4hBedckU6EJTQQsk2Gb6nIN8h+3/yPPQNo/5cKrZw=;
 b=eLv6jdWT9gGt84aduk3HKG0ok8BwAkXuauyPEeB+OioWYqMvyJG8lk4YsimRKI4G29EzZYWBJ0JAeBJ2QZ0qPehVXW7a2TDNXlz6gEiHx8F0jjALA8ucE4unZJVVP1j/Q1WL5YsBV3EoXl7s0mOKta3SLqXRVEzT4bIM1iuBCLMrsnXK2b3ACjbTeC3Xn/Z+7fpUOk3zz9v1bd/WGd6FZNKdflJjBN8X5hIXdWCMXAxesaeIGLhrTv6q+aM2CBa8dWonymkfprSPvCUjEvz0KlVW/6IWowVT5Cya0IsEmYDOc6qd2lh5NE/p4t55GNa7pknJAb1mlBl+TxKr0LAQgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-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+4hBedckU6EJTQQsk2Gb6nIN8h+3/yPPQNo/5cKrZw=;
 b=cBfv1cLrIZ5SvVri92uARlIQiJjMk8eNtE32pg/EyCSsxuwSsKx7QZZZqOWAchlnATxzJ4TK1PghOah+bMK9mhWkKjp+jLLzYf0SfaUk57/FzbJ/dj4P57yi8pFjRBeARSL0zT+ksrVUESRU7yIDjowa7dJsloZ8tLXRwj2QD8cmAWImoBA/0px5t9nHy5AV9CgfeQ0o9/0OHtTqHJAksYxB781v0zoQZ/2ABXxZUBRpxgcHVLKYaUdewE5MtAyeB8G8rH/SNkLCnhsFqNLXyloOzBMvTqX0URV8M0VsOp9F4V11HoHfXaM3cjeTbgYfrDK9X0RePKb0BxsUEJt1Gg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3cd3f567-e777-6a1b-6940-2b73bcc62983@suse.com>
Date: Wed, 1 Mar 2023 11:44:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4 2/5] xen/riscv: introduce trap_init()
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1677237653.git.oleksii.kurochko@gmail.com>
 <b1b2252d3105eeaf0cee10ae2be253c8526d0e5c.1677237653.git.oleksii.kurochko@gmail.com>
 <dcfa24d7-20c9-b460-32d7-7567b17c0b32@suse.com>
 <b72d513448710072fe84b7f742f4d867bfc4da05.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b72d513448710072fe84b7f742f4d867bfc4da05.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0019.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8700:EE_
X-MS-Office365-Filtering-Correlation-Id: d0822b95-0f6d-4ee9-d434-08db1a41fa2e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fo08sKr+ast52utzf2SQ4puv///ISeLkQbc/uynuNsfc4TqLn7xgxwU3N3vE8lIJcnAhXLSnHuG6Da3/E5VgPzfFMrKA6vru17tWF8GPoDcasWFTGLQiodXh4sdYHBsr5US73hoswULt7Tx+efF1tsA86H33qBsLglbBJ3bxeNSZ3JPkInCH5p8JOBo0r5IUQvCuNT9sDRDALw7en4+oN6zx25hOhkBk/O01j6A3PEFCvso6/JONNlLPPPSyZ45FjTAs1fjb8jx7qf0dxNH79L7d+6r8OP551Hty+achVMSuLCtk/9o99kc/u4wfupOb53/6JPB/FUmTojT3UvuJuB6yFYq8k40XBummLGK/3tQGq6zEip+UpPFTurnJoxrDhpdiPm+8QKkUAl0Q8O83SC+pTTHzOaBWACuXQS72MZLSfGdY2tRN3vtJaIA/v861jJgRt+u+W1JdAut0TNRQsHbIQ/JsYMUbyPyEZjgf3VKgeLy6etZGR9VAc75lcdbbY5f8aECvJbavyInqdqOb/xllxGl17eN9JpATwtx/zoHJAmKmCbFrXuACOaXKerUSRzx9Ld2FxD1euDMGbURUUfd+ju//+FzAkJVP5RbWueTz0kUwvXKVqyjNX+0Z2jsynzQngmIRHIw9druRNdTikfl0jjq2Y5DrW1Ulu+SphWpo9Tm8CbXQ9YsFwlokvrl362b0osNj9q1WMcvQdOCrAB8vaza9v3R2RAvwBSRuqkI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(376002)(346002)(366004)(396003)(136003)(451199018)(5660300002)(54906003)(4744005)(8936002)(36756003)(31696002)(86362001)(478600001)(83380400001)(2616005)(6486002)(6666004)(186003)(53546011)(6506007)(26005)(6512007)(66476007)(66556008)(66946007)(38100700002)(41300700001)(4326008)(6916009)(8676002)(316002)(2906002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eGRkYXNDTGpmSUhSUC9yek8vWWV1V0x5TUp1YlU1ZlVRak14UTJwMHNUMzlM?=
 =?utf-8?B?ZVVaNzNSQ043QnltY0kzcmdYVFJpdDBFVkh1R0NxYVJVSDVzWEd1RzZ6VWxN?=
 =?utf-8?B?N1IyQy9iMlRqeFpnWjB2LzVUWHFGL3RmRnArM2NlWXZaRHZSZ3ZZZUJBQllM?=
 =?utf-8?B?QlN5eGViSGpObldqd1o3Z2p1cmJFRjZWT0FmMzA1V1ZwdHhqYTRxYWNnazlT?=
 =?utf-8?B?bWJLdUZFRW41OGZvb3N2MUdiMlI0dUczQXhRWnovVUxEWUNUcDVTZWRZUTVV?=
 =?utf-8?B?aStBR1lEb3UzQjFpK3VKaHVxTWk1eEJuUTVoUXZnRGhKdDB1Q3ZkK1NIK3gx?=
 =?utf-8?B?N2NBb2laYUdpYytHMDZmSnRlYkxzalpXbWppWmVZZThINnJianoxdmQ4eWNz?=
 =?utf-8?B?Y2hwVU95RUtJVUJ6VGs0RXA0RmptdEsveWhWNGVnbVQwdWVxSHl1ZHNQaXl5?=
 =?utf-8?B?cHlVWmdjdVdXWklQNTJuUWNXa3lvdUpTNVljS1pwMzZJbTJ2VjlzRkl3a2Fq?=
 =?utf-8?B?dlZSZURoNGhIUTJGMWJWM0NDaFd5RU5adENkWGZoQXJSc1V2RGpkeVMxaUVG?=
 =?utf-8?B?Y09haWlMQ2ttdFJBdS9OY0ZiN2VyTE43NEViOFhQS0Q5dzFsejFkYWU5a3J3?=
 =?utf-8?B?UG0yL0NocmhKbldpMGx4TnR6NVBlYUFCaVIzS3FHN1dDOWJFd0RxUUxNblI5?=
 =?utf-8?B?YXNMcVpvcU01MFUyallZQUx2REUwd2pRYk1UUXJUOElGWVJIUXNrTjFDeWpW?=
 =?utf-8?B?Nmxncmw2dXh5SS82WVppZElRNFNPNTdya3lpNGNQVnJib0VrMGUxSjUvWXVh?=
 =?utf-8?B?NWp2aDQvVy9Ud2lncDZKNnVhY2lTY3ZGWmpIb2h6WUl4dnpKMU05ZGo1ZGd3?=
 =?utf-8?B?Qk5abXp2ekFkaU9UNlNtY1FXRjBVdWZ0TE9ST1J3eHAvYlVReUhIZmVjYkgy?=
 =?utf-8?B?K1ordzIvSHRXZ1R2RGhqTVVyNUNHalJKZTBHQU9lS2ozeGVSOGt0dzNjVm00?=
 =?utf-8?B?NnBiZVkwTGFZSWorV2NvektqVTRXTUJSaDZHNmovaFp6azQ5NExlR2lucmdT?=
 =?utf-8?B?bExhMVY1ckN6L0IrR0lZRStpTGhuK0hzM1pUSlViM3pPZkY5dlFqT1IxNmdO?=
 =?utf-8?B?K2o2MDlvUU9pN3IyZWZQY1cvR1M1a3duOUM4SS81WFRMN0EzNTFRdzk4eGpW?=
 =?utf-8?B?VXoybHQzVHVVNmVVSTlQVVNsdzFOdDF4enMxTUt2ZXJFQWM2L2ZGVzZYdXd4?=
 =?utf-8?B?eHZoY0tzaGtiUzRRYktza2pSUUZoNjZjL1pPVGZTa2xicDVodUx4N1Q0ZVZ6?=
 =?utf-8?B?M0lQMm8wZEpMT01PaHNlNGY3SlNpSWl1TEFLTzlBeDVCclJqNUtyNGttTTg3?=
 =?utf-8?B?VkUzczFoTkJKWVFyaXRmUjNsN202cVh2cm1TMTZaMmJERGxrb09VYmRZNlI0?=
 =?utf-8?B?cGNNL3piZ2JTcHErOEdmOUpGcys4YzVtbWQrV21BUHV3TXpIQURaZ1ErMHFK?=
 =?utf-8?B?a0RlQ0t5aVNYeml1bEdXYlN2VGk3b245bmJka1BDalVFMFFtQmd0cWlha2R3?=
 =?utf-8?B?bGRZanQ1aG5uOXFNZEVxQ2VOQUdRMytnbmVDZW1vcnFRN0VSWUNZWitZT3d6?=
 =?utf-8?B?U1RXS1RjNGh6ZnlZS2FQdWp6Wi95S0Q5dDV3ckJGdUJNK3NtVi9BSmFBdkdM?=
 =?utf-8?B?YUhUbWQyQ0lIbnRMSmVrems5c0VZSVgzdEhQM3B2QVhWclhnVTVGanVURmV4?=
 =?utf-8?B?R0hGRHlCQ2NDWm15Zk9hd0JZdzFNRnhscG1BZU1ZRzdjY3RlV04yR1NKY3VY?=
 =?utf-8?B?bUNhelBwUTlyN09Mek9nT0xIejVRNTVmQXJ3RXYveE9yYlJhSHN4VTh1K2l3?=
 =?utf-8?B?SWNKbmlUY2lkaTBKU2JqTzl2dUhZQ3NhYTZOREJOcktnSHJzdGxzeHNhYWFN?=
 =?utf-8?B?ZlZPd0dnVjlhcmh0emRXZUYwWEVmUFJlejdMdENOcm1HMC9OSVhZbk5WVTRS?=
 =?utf-8?B?MHRBSVpNaE5BdVB3WFYzdnRCTDUzM0EzYWErdGgxaVdBRjNpVHNkajJ4RDdq?=
 =?utf-8?B?TmJibTIrbGVkYkdTSTlpeVpQY05vem1vaUFHQmhaZHF5Z3BoVnd6MEVpU0lE?=
 =?utf-8?Q?O8sf01XsGzQ11l3vnxbh0NJ12?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0822b95-0f6d-4ee9-d434-08db1a41fa2e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 10:44:47.8438
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KTtN8jRygW1G3shFVE77c+NlX20mdjc7JNPPPpdAA3g85SKJThn2VxXJulcpiz26F0QGshYuqul2cpyrSCkdUA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8700

On 01.03.2023 11:34, Oleksii wrote:
> On Mon, 2023-02-27 at 13:50 +0100, Jan Beulich wrote:
>> On 24.02.2023 12:35, Oleksii Kurochko wrote:
>>> @@ -11,6 +13,8 @@ void __init noreturn start_xen(void)
>>>  {
>>>      early_printk("Hello from C env\n");
>>>  
>>> +    trap_init();
>>> +
>>>      for ( ;; )
>>>          asm volatile ("wfi");
>>
>> Along the lines of what Andrew has said there - it's hard to see
>> how this can come (both code flow and patch ordering wise) ahead
>> of clearing .bss.
> So should I add the patch with initializatin of bss as a part of this
> patch series?

That or make clear in the cover letter that there is a dependency.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 10:56:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 10:56:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503978.776429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXK87-0002Ul-AE; Wed, 01 Mar 2023 10:56:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503978.776429; Wed, 01 Mar 2023 10:56: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 1pXK87-0002Ue-6R; Wed, 01 Mar 2023 10:56:15 +0000
Received: by outflank-mailman (input) for mailman id 503978;
 Wed, 01 Mar 2023 10:56: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=ofKM=6Z=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pXK86-0002UY-2O
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 10:56:14 +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 a9880553-b81f-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 11:56:04 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id q16so12779959wrw.2
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 02:56: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: a9880553-b81f-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=FLPQ5ivAfU4K/+cx7QVIhcG4xpjbEVmar2z1VrlZraU=;
        b=ImzqzTbb24V/SwSnRSXi8YwqqPXYJk24QRKJH6TS+4mcdOsmMthMIidRPX3k/Rt4Q/
         98iEyadEJaNXttZDO1Y4Mnci3ZtmJ5qzCYqZQ63L77CNWZ2aHf9XUcAwcr4bGXWoMpdw
         Ss8leMQA6RysWYVhPku0TGhneu/Z0LuAzKQ8W4JmjLWD57a/UlJrIJF+if5oJS507m58
         74qdEZW10ptg+QtyzzPerluvmB96Ahr70uIY3HZfNkTvvjNhN9l9ZIGs8b7ySDPA/2Gt
         AW0DcfUgRTYkQBWkd+JV/p0DHWynmpWunRSn/O/6JuWzcgj/i9of82oVptl/n0+Ccf+b
         kpug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=FLPQ5ivAfU4K/+cx7QVIhcG4xpjbEVmar2z1VrlZraU=;
        b=gayGo4+hb/kko0OUB0TQayKPwYcibaNij5fBeKzJr5XDRZ7akTSReHfwepkt1v8NEw
         oEYm8hhia0eeT7U0kAfhJTK1btkCPURveSwBbtm977DWoO0E2/xroXs6AuNxP2B7TzWT
         O3Q1GujaYPAGubYiTgvNfs3O0miEm+bxNCR0WzkxnBOBQZuN4+woXAu2IhTmSpsq2gCJ
         /Dut77nx8eXMwfdWfZI0hfQz0U1YNjMxz7LupGVwmYsGlTsqk4Wqci8q9XCWFETXuC16
         v8+91BXOIgUW4BlE1XHZzdmhsOGBkgpbPszk4tcI80SIyV0/prGb7XSCB7erH3OqEBkG
         3VZQ==
X-Gm-Message-State: AO0yUKU29MMOZqXCIfNXjL0PnQX+ReZvFBhTB/NZz5IAoNV3iQg5JZvW
	hoJvGfwk/wSLeZ0Dfq+6p8s/Ts4Bk3qntYvei8uJ9w==
X-Google-Smtp-Source: AK7set+yI3aActmVhzYrXXjX2cwVcWqdod7nIob+IjBZThsP81vtOYYpmBPn0nzj/16l8I1L6py+HRvZjRs25g2qXTM=
X-Received: by 2002:a5d:5a9a:0:b0:2c5:4adc:6e52 with SMTP id
 bp26-20020a5d5a9a000000b002c54adc6e52mr4113614wrb.3.1677668164186; Wed, 01
 Mar 2023 02:56:04 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <3332563e64568b2ffd236b1f428c27aa4cdf9790.1677079672.git.jens.wiklander@linaro.org>
 <F22A4773-94E8-4F24-A5C8-BF4E075A7698@arm.com>
In-Reply-To: <F22A4773-94E8-4F24-A5C8-BF4E075A7698@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 1 Mar 2023 11:55:53 +0100
Message-ID: <CAHUa44FrC_S1Ot8-2s3=q5f7omZ+gsZhYTJUTMA0yVG5BBp6mw@mail.gmail.com>
Subject: Re: [XEN PATCH v7 10/20] xen/arm: ffa: add direct request support
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"

Hi Bertrand,

On Mon, Feb 27, 2023 at 4:28 PM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> >
> > Adds support for sending a FF-A direct request. Checks that the SP also
> > supports handling a 32-bit direct request. 64-bit direct requests are
> > not used by the mediator itself so there is not need to check for that.
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > xen/arch/arm/tee/ffa.c | 119 +++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 119 insertions(+)
> >
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index 463fd7730573..a5d8a12635b6 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -142,6 +142,7 @@
> >
> > struct ffa_ctx {
> >     uint32_t guest_vers;
> > +    bool interrupted;
>
> This is added and set here for one special error code but is never used.
> I would suggest to introduce this when there will be an action based on it.

I'm sorry, I forgot about completing this. I'll add code to deal with
FFA_INTERRUPT. This will be tricky to test though since we don't use
FFA_INTERRUPT like this with OP-TEE. The Hypervisor is required by the
FF-A standard to support it so I better add something.

>
> > };
> >
> > /* Negotiated FF-A version to use with the SPMC */
> > @@ -167,6 +168,55 @@ static bool ffa_get_version(uint32_t *vers)
> >     return true;
> > }
> >
> > +static int32_t get_ffa_ret_code(const struct arm_smccc_1_2_regs *resp)
> > +{
> > +    switch ( resp->a0 )
> > +    {
> > +    case FFA_ERROR:
> > +        if ( resp->a2 )
> > +            return resp->a2;
> > +        else
> > +            return FFA_RET_NOT_SUPPORTED;
> > +    case FFA_SUCCESS_32:
> > +    case FFA_SUCCESS_64:
> > +        return FFA_RET_OK;
> > +    default:
> > +        return FFA_RET_NOT_SUPPORTED;
> > +    }
> > +}
> > +
> > +static int32_t ffa_simple_call(uint32_t fid, register_t a1, register_t a2,
> > +                               register_t a3, register_t a4)
> > +{
> > +    const struct arm_smccc_1_2_regs arg = {
> > +        .a0 = fid,
> > +        .a1 = a1,
> > +        .a2 = a2,
> > +        .a3 = a3,
> > +        .a4 = a4,
> > +    };
> > +    struct arm_smccc_1_2_regs resp;
> > +
> > +    arm_smccc_1_2_smc(&arg, &resp);
> > +
> > +    return get_ffa_ret_code(&resp);
> > +}
> > +
> > +static int32_t ffa_features(uint32_t id)
> > +{
> > +    return ffa_simple_call(FFA_FEATURES, id, 0, 0, 0);
> > +}
> > +
> > +static bool check_mandatory_feature(uint32_t id)
> > +{
> > +    uint32_t ret = ffa_features(id);
> > +
> > +    if (ret)
> > +        printk(XENLOG_ERR "ffa: mandatory feature id %#x missing\n", id);
>
> It might be useful here to actually print the error code.
> Are we sure that all errors actually mean not supported ?

Yes, that's what the standard says.

>
> > +
> > +    return !ret;
> > +}
> > +
> > static uint16_t get_vm_id(const struct domain *d)
> > {
> >     /* +1 since 0 is reserved for the hypervisor in FF-A */
> > @@ -208,6 +258,66 @@ static void handle_version(struct cpu_user_regs *regs)
> >     set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
> > }
> >
> > +static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
> > +{
> > +    struct arm_smccc_1_2_regs arg = { .a0 = fid, };
> > +    struct arm_smccc_1_2_regs resp = { };
> > +    struct domain *d = current->domain;
> > +    struct ffa_ctx *ctx = d->arch.tee;
> > +    uint32_t src_dst;
> > +    uint64_t mask;
> > +
> > +    if ( smccc_is_conv_64(fid) )
> > +        mask = GENMASK_ULL(63, 0);
> > +    else
> > +        mask = GENMASK_ULL(31, 0);
> > +
> > +    src_dst = get_user_reg(regs, 1);
> > +    if ( (src_dst >> 16) != get_vm_id(d) )
> > +    {
> > +        resp.a0 = FFA_ERROR;
> > +        resp.a2 = FFA_RET_INVALID_PARAMETERS;
> > +        goto out;
> > +    }
> > +
> > +    arg.a1 = src_dst;
> > +    arg.a2 = get_user_reg(regs, 2) & mask;
> > +    arg.a3 = get_user_reg(regs, 3) & mask;
> > +    arg.a4 = get_user_reg(regs, 4) & mask;
> > +    arg.a5 = get_user_reg(regs, 5) & mask;
> > +    arg.a6 = get_user_reg(regs, 6) & mask;
> > +    arg.a7 = get_user_reg(regs, 7) & mask;
> > +
> > +    while ( true )
> > +    {
> > +        arm_smccc_1_2_smc(&arg, &resp);
> > +
> > +        switch ( resp.a0 )
> > +        {
> > +        case FFA_INTERRUPT:
> > +            ctx->interrupted = true;
> > +            goto out;
> > +        case FFA_ERROR:
> > +        case FFA_SUCCESS_32:
> > +        case FFA_SUCCESS_64:
> > +        case FFA_MSG_SEND_DIRECT_RESP_32:
> > +        case FFA_MSG_SEND_DIRECT_RESP_64:
> > +            goto out;
> > +        default:
> > +            /* Bad fid, report back. */
> > +            memset(&arg, 0, sizeof(arg));
> > +            arg.a0 = FFA_ERROR;
> > +            arg.a1 = src_dst;
> > +            arg.a2 = FFA_RET_NOT_SUPPORTED;
> > +            continue;
>
> There is a potential infinite loop here and i do not understand
> why this needs to be done.
> Here if something is returning a value that you do not understand
> you send back an ERROR to it. I do not find in the spec where this
> is supposed to be done.
> Can you explain a bit here ?

This should normally not happen, but the SP/SPMC is responding with a
request that we don't know what to do with. The standard doesn't say
how to handle that as far as I understand. However, returning back to
the VM at this point with an error may leave the SP/SPMC in a strange
state. So I think it's better to report back to the SP/SPMC that the
request isn't understood and hopefully it can at least return back
with an error in a sane state.

I'll add something to the comment.

>
> > +        }
> > +    }
> > +
> > +out:
> > +    set_regs(regs, resp.a0, resp.a1 & mask, resp.a2 & mask, resp.a3 & mask,
> > +             resp.a4 & mask, resp.a5 & mask, resp.a6 & mask, resp.a7 & mask);
> > +}
> > +
> > static bool ffa_handle_call(struct cpu_user_regs *regs)
> > {
> >     uint32_t fid = get_user_reg(regs, 0);
> > @@ -225,6 +335,12 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
> >     case FFA_ID_GET:
> >         set_regs_success(regs, get_vm_id(d), 0);
> >         return true;
> > +    case FFA_MSG_SEND_DIRECT_REQ_32:
> > +#ifdef CONFIG_ARM_64
> > +    case FFA_MSG_SEND_DIRECT_REQ_64:
> > +#endif
> > +        handle_msg_send_direct_req(regs, fid);
> > +        return true;
> >
> >     default:
> >         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> > @@ -310,6 +426,9 @@ static bool ffa_probe(void)
> >     printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
> >            major_vers, minor_vers);
> >
> > +    if ( !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> > +        return false;
>
> One could not need this feature and here this will make everything unavailable instead.
> Why not just reporting back the unsupported error to clients using unsupported interfaces ?

One could perhaps argue that this check should be moved to a later
patch in this series. Perhaps there's some future configuration that
might make sense without this feature, but for now, it doesn't make
sense to initialize without it.

Thanks,
Jens

>
> Cheers
> Bertrand
>
> > +
> >     ffa_version = vers;
> >
> >     return true;
> > --
> > 2.34.1
> >
>


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 11:10:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 11:10:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503983.776439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXKMB-0005Vu-Ge; Wed, 01 Mar 2023 11:10:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503983.776439; Wed, 01 Mar 2023 11:10: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 1pXKMB-0005Vn-Ds; Wed, 01 Mar 2023 11:10:47 +0000
Received: by outflank-mailman (input) for mailman id 503983;
 Wed, 01 Mar 2023 11:10: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=ofKM=6Z=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pXKM9-0005Vh-Pn
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 11:10:45 +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 b583da0a-b821-11ed-96a2-2f268f93b82a;
 Wed, 01 Mar 2023 12:10:43 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 r19-20020a05600c459300b003eb3e2a5e7bso5955190wmo.0
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 03:10: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: b583da0a-b821-11ed-96a2-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=43NEp65FCnbsH5C57qUnVodu9n1bAZUZnX5yQ0z5Xns=;
        b=hvGk7h2e/GtZGKCwHP26u/Sm5NO7mGvQXCDnszCmgWrdlmQSNe5GMfLD5RPmD8cj5R
         1htAgI6H7FoOS6cSJSDTUgz2BArevWYtVlt1mlTyvSDLeCCvAagVMua3njQBXBMpPNe9
         dbwx/RkuCxzcIHJjZs4JFo098WIlf0OoxpMlSnFeHzMhKJsiqxbtgmY+RpMHSNBo/UBl
         VVXoze65EdSEgJV0OxSTPIPkti3Bu21SPmQ14yrnwZMrDDOz5KOO9JotQpDrHntF4B4x
         dwM9fLcUDhbGT6mYxvEqCEN+FVWskYWZP2M1DykH73GM3UykcLxtEeQ42UTFcCvbYOvI
         dqUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=43NEp65FCnbsH5C57qUnVodu9n1bAZUZnX5yQ0z5Xns=;
        b=6Hmv2kZMcDnza+JYjhMFOT6jP0CB28pPBQZlPWMq4+d7Qfn7xmuLVHrNS6aov5jrb0
         d+OtMBtXVNnZzuxPl4K8+YC3S3dPZny2Q55aGsDnqMKqUXzM6E20HQvyGbtE9Ukw2sEE
         VMJ60ymWGZG0U5Mgj4b7SizvtIavBiK8oDwbTsoaWU2sUhX+LmtfCB4ad0Jgsue08JGS
         JN2k+x1GKp7UZL9jPiD5TPTwCvVZ2/WVe/upttc5KOfMhIrtVfdSiILlldlDwzEGCJJC
         ulqLfzp42OfhyPGLEyyZ66+3l8feUw+vy2srNE+TjIy/jwiIAVJT7tehwfh1QhlDbmlK
         rGQQ==
X-Gm-Message-State: AO0yUKXwBBPUnK4/rO2AM/s3Ne6BFImIMNF9d7jjEaoqHHVU554c+Tfd
	PH+t7EjARljaLiP6S4+UgQT+4dA6UJb2SocADuD6sQ==
X-Google-Smtp-Source: AK7set/7iT/VVwjVkMD+IBdCYc8ovjsKODxntFNeOuCrFd8KmwO+WiMbt5pkrNkVWjczzjXWXtqF/j6T54M8CYFQTYE=
X-Received: by 2002:a05:600c:4446:b0:3df:97de:8bab with SMTP id
 v6-20020a05600c444600b003df97de8babmr1666749wmn.4.1677669042870; Wed, 01 Mar
 2023 03:10:42 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <c553f850d76f4c31f5ce464f39bcb010722b9f99.1677079672.git.jens.wiklander@linaro.org>
 <CD0E4A9B-4E07-42AB-A40B-41A9FD98C1F2@arm.com> <CAHUa44EcoXdpyBOkUNZvN0=cCNjNsiZXfgER8EvsK1+f0P_tPA@mail.gmail.com>
 <09363EA7-700B-4EA1-A7FB-6A5321D9E4D9@arm.com>
In-Reply-To: <09363EA7-700B-4EA1-A7FB-6A5321D9E4D9@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 1 Mar 2023 12:10:32 +0100
Message-ID: <CAHUa44Fa_ZjHvdjQRhc_+N_LKzJ1u9Kk1gz0CDYgA2d5pu2VcQ@mail.gmail.com>
Subject: Re: [XEN PATCH v7 11/20] xen/arm: ffa: map SPMC rx/tx buffers
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"

Hi,

On Wed, Mar 1, 2023 at 10:56 AM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 1 Mar 2023, at 10:30, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> >
> > Hi Bertrand,
> >
> > On Tue, Feb 28, 2023 at 1:57 PM Bertrand Marquis
> > <Bertrand.Marquis@arm.com> wrote:
> >>
> >> Hi Jens,
> >>
> >>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> >>>
> >>> When initializing the FF-A mediator map the RX and TX buffers shared with
> >>> the SPMC.
> >>>
> >>> These buffer are later used to to transmit data that cannot be passed in
> >>> registers only.
> >>>
> >>> Adds a check that the SP supports the needed FF-A features
> >>> FFA_RXTX_MAP_64 / FFA_RXTX_MAP_32 and FFA_RXTX_UNMAP. In 64-bit mode we
> >>> must use FFA_RXTX_MAP_64 since registers are used to transmit the
> >>> physical addresses of the RX/TX buffers.
> >>
> >> Right now, FFA on 32bit would only work correctly if LPAE is not used and only addresses
> >> under 4G are used by Xen and by guests as addresses are transferred through a single register.
> >>
> >> I think that we need for now to only enable FFA support on 64bit as the limitations we
> >> would need to enforce on 32bit are complex and the use case for FFA on 32bit platforms
> >> is not that obvious now.
> >
> > OK, I'll drop the #ifdef CONFIG_ARM_64 and #ifdef CONFIG_ARM_32 and
> > instead depend on ARM_64 in Kconfig.
> > If we ever want to use this on ARM_32 we'll have to go through
> > everything anyway.
>
> Yes this is the best solution for now.
> And support.md patch is already saying already arm64.
>
> >
> >>
> >>>
> >>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> >>> ---
> >>> xen/arch/arm/tee/ffa.c | 57 +++++++++++++++++++++++++++++++++++++++++-
> >>> 1 file changed, 56 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> >>> index a5d8a12635b6..07dd5c36d54b 100644
> >>> --- a/xen/arch/arm/tee/ffa.c
> >>> +++ b/xen/arch/arm/tee/ffa.c
> >>> @@ -148,6 +148,15 @@ struct ffa_ctx {
> >>> /* Negotiated FF-A version to use with the SPMC */
> >>> static uint32_t ffa_version __ro_after_init;
> >>>
> >>> +/*
> >>> + * Our rx/tx buffers shared with the SPMC.
> >>> + *
> >>> + * ffa_page_count is the number of pages used in each of these buffers.
> >>> + */
> >>> +static void *ffa_rx __read_mostly;
> >>> +static void *ffa_tx __read_mostly;
> >>> +static unsigned int ffa_page_count __read_mostly;
> >>> +
> >>> static bool ffa_get_version(uint32_t *vers)
> >>> {
> >>>    const struct arm_smccc_1_2_regs arg = {
> >>> @@ -217,6 +226,17 @@ static bool check_mandatory_feature(uint32_t id)
> >>>    return !ret;
> >>> }
> >>>
> >>> +static int32_t ffa_rxtx_map(register_t tx_addr, register_t rx_addr,
> >>> +                            uint32_t page_count)
> >>
> >> Using register_t type here is doing an implicit cast when called and on
> >> 32bit this might later remove part of the address.
> >> This function must take paddr_t as parameters.
> >
> > I'll change to paddr_t for rx/tx.
> >
> >>
> >>> +{
> >>> +    uint32_t fid = FFA_RXTX_MAP_32;
> >>> +
> >>> +    if ( IS_ENABLED(CONFIG_ARM_64) )
> >>> +        fid = FFA_RXTX_MAP_64;
> >>> +
> >>> +    return ffa_simple_call(fid, tx_addr, rx_addr, page_count, 0);
> >>
> >> simple call might not be suitable on 32bits due to the conversion.
> >> As said earlier, it would make more sense to disable FFA on 32bit and
> >> put some comments/build_bug_on in the code in places where there
> >> would be something to fix.
> >
> > I'm dropping the 32-bit support.
> >
> >>
> >>> +}
> >>> +
> >>> static uint16_t get_vm_id(const struct domain *d)
> >>> {
> >>>    /* +1 since 0 is reserved for the hypervisor in FF-A */
> >>> @@ -384,6 +404,7 @@ static int ffa_relinquish_resources(struct domain *d)
> >>> static bool ffa_probe(void)
> >>> {
> >>>    uint32_t vers;
> >>> +    int e;
> >>>    unsigned int major_vers;
> >>>    unsigned int minor_vers;
> >>>
> >>> @@ -426,12 +447,46 @@ static bool ffa_probe(void)
> >>>    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
> >>>           major_vers, minor_vers);
> >>>
> >>> -    if ( !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> >>> +    if (
> >>> +#ifdef CONFIG_ARM_64
> >>> +         !check_mandatory_feature(FFA_RXTX_MAP_64) ||
> >>> +#endif
> >>> +#ifdef CONFIG_ARM_32
> >>> +         !check_mandatory_feature(FFA_RXTX_MAP_32) ||
> >>> +#endif
> >>> +         !check_mandatory_feature(FFA_RXTX_UNMAP) ||
> >>> +         !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> >>>        return false;
> >>>
> >>> +    ffa_rx = alloc_xenheap_pages(0, 0);
> >>> +    if ( !ffa_rx )
> >>> +        return false;
> >>> +
> >>> +    ffa_tx = alloc_xenheap_pages(0, 0);
> >>> +    if ( !ffa_tx )
> >>> +        goto err_free_ffa_rx;
> >>> +
> >>> +    e = ffa_rxtx_map(__pa(ffa_tx), __pa(ffa_rx), 1);
> >>> +    if ( e )
> >>> +    {
> >>> +        printk(XENLOG_ERR "ffa: Failed to map rxtx: error %d\n", e);
> >>> +        goto err_free_ffa_tx;
> >>> +    }
> >>> +    ffa_page_count = 1;
> >>
> >> ffa_page_count is a constant here and is not used to do the allocation or
> >> passed as parameter to ffa_rxtx_map.
> >>
> >> Do you expect this value to be modified ? how ?
> >
> > I expect this value to match how many FFA_PAGE_SIZE pages have been
> > mapped for the RX/TX buffers. Currently, this is only 1 but will have
> > to be changed later if PAGE_SIZE in Xen or in the secure world is
> > larger than FFA_PAGE_SIZE. We may also later add support
> > configurations where RX/TX buffers aren't mapped.
>
> So it is a constant and the buffers are just mapped or not mapped.

Correct

>
> >
> >>
> >> Please set it first and use it for allocation and as parameter to rxtx_map so
> >> that a modification of the value would only have to be done in one place.
> >>
> >> Please use a define if this is a constant.
> >
> > How about adding a define FFA_MIN_RXTX_PAGE_COUNT and giving that to
> > ffa_rxtx_map() and later assigning it to ffa_page_count if the call
> > succeeds?
>
> Why MIN ?

I was trying to prepare a bit for the future with a minimum value that
would be rounded up to a larger granule as needed depending on
PAGE_SIZE in Xen and what might be discovered about the secure world.

>
> How about just using ffa_rx or ffa_tx being NULL or not to check if the buffers are
> mapped and remove the count.

Sure, I'll drop the _MIN_ part of the define then.

>
> >
> >>
> >> As it is a global variable, does the parameter to rxtx_map make sense ?
> >
> > Yes, ffa_rxtx_map() is a dumb wrapper so it should have all the needed
> > parameters for the SMC provided.
>
> Then passing FFA_MIN_RXTX_PAGE_COUNT should be enough.

OK.

Thanks,
Jens

>
> Cheers
> Bertrand
>
> >
> > Cheers,
> > Jens
> >
> >>
> >> Cheers
> >> Bertrand
> >>
> >>>    ffa_version = vers;
> >>>
> >>>    return true;
> >>> +
> >>> +err_free_ffa_tx:
> >>> +    free_xenheap_pages(ffa_tx, 0);
> >>> +    ffa_tx = NULL;
> >>> +err_free_ffa_rx:
> >>> +    free_xenheap_pages(ffa_rx, 0);
> >>> +    ffa_rx = NULL;
> >>> +    ffa_page_count = 0;
> >>> +    ffa_version = 0;
> >>> +
> >>> +    return false;
> >>> }
> >>>
> >>> static const struct tee_mediator_ops ffa_ops =
> >>> --
> >>> 2.34.1
>
>


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 11:31:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 11:31:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503989.776448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXKgS-0000ES-BM; Wed, 01 Mar 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 503989.776448; Wed, 01 Mar 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 1pXKgS-0000EL-8V; Wed, 01 Mar 2023 11:31:44 +0000
Received: by outflank-mailman (input) for mailman id 503989;
 Wed, 01 Mar 2023 11:31: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=4Y5i=6Z=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXKgR-0000EF-Ka
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 11:31:43 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a33a270d-b824-11ed-96a3-2f268f93b82a;
 Wed, 01 Mar 2023 12:31:42 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6957.eurprd04.prod.outlook.com (2603:10a6:803:135::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Wed, 1 Mar
 2023 11:31:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6134.030; Wed, 1 Mar 2023
 11:31: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: a33a270d-b824-11ed-96a3-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iqtE3VFVRQbVuf1qQiLHJfYvOPnjudz/08eV+DalB2HOqbBk+IYCDgMaQLKZSMBTf8MveVq/xJXIoVxU+VFEZhRQK93W3MLyXEK7WXnuUeKdhmgl6RHXTuSBnvKAKYQL+gglL+qMRC57KlS6Df3Y3IP8hEiUI9IqMnOioTxihICmByHQ1UTzSPVI7txgWcv67/F7WARSozIkKGGRoprqRRxBa/1PPOGHDkrqnbBaaXKpHSAEAuTW3NxroXqFwvfdbzm4SbgPWfZUFzZO+aZjy1OruVZ8HVnbBIRQitOp7p6+qecSfkmNmsFVKDY+8vhjE5x1UevgEGSVt8MyREBDzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0cRGSWGw5TownVAgAZXte9N6z2rD5qDW3hNoCD4QBlc=;
 b=mdN0I7VoHGRJiCptsoTPEuZkTj5DUT2rc2MWqRc2/dpl4IVwrQCMx9NRNmLu/YrOxjQ4ituYfeiCLLL5gPFoJOzMaKyNFWiddzh+RfZiYQIFSJiIJNTvtzndeeXlhKZV30DJU1oV2778VPcSIyfAo6IYh4ptmjZB/ISEl7VbgiUrpywyhyjocBOVIPpwdFIPYDEr1sM6ecoeU/gvoMKG7lVn23WxnOTTd2/eXBmHcVNX98yhPthXxPPfeG4RuZgHJMFc3QS2LClaUSs0AdWvsrUP6MXBY+V+mFwDhnyNuoa+jAXXC6yJl5rQnoGDMLDAW6BpW9nS0pvG+J7813G0Rw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0cRGSWGw5TownVAgAZXte9N6z2rD5qDW3hNoCD4QBlc=;
 b=4XTGNfbGOoizn7bULgZKmRDe5yPhj43nMFBaNtZUEUI71QoE5ZMO5OzTBwj9pGXDet1UvZZXrkAI/yMkCtKsdRH97+9SleALlfaWluOMJy/WB81DlbaKgovCvaGRvbb3pD9ZrEuwA38pcVF+brd/mmKzWULwT105UM0Xbt6Xkkh3TGJJ8RHK2HPikgA7w4lT9onWa5ng1YZwP5ZgBBo2EEXbjjf3cTOruncKv1pXFdxqvO/wSC5lFfPUe2kxVCyolIyCAuJZtKlf+QKzB2ay4l0Zn+uWXg7dwQXfJoKC+hUftFjGLGfd6uF6dYv4Ako6DSVIxr+zUufIh4J4HahPRQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4fee8e81-79d3-eafc-b806-ea061216e072@suse.com>
Date: Wed, 1 Mar 2023 12:31:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 3/3] tools/xen-ucode: print information about currently
 loaded ucode
Content-Language: en-US
To: Sergey Dyasli <sergey.dyasli@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20230228173932.28510-1-sergey.dyasli@citrix.com>
 <20230228173932.28510-4-sergey.dyasli@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230228173932.28510-4-sergey.dyasli@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0053.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB6957:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ba5ccb4-295c-478e-cdf9-08db1a48855b
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:
	wzuSFJOyMf92fYTOFruZvqAOMmTbS9Fe2oG3E4GI1gpPGtG3c1bMoVZWboz0k0dGSi5RCGWQtjTacVMZChSmSxJEWtt+j/eYtLm5qErrgJnU92nnpdIPIcTh2oBhB065Go//JI2b0McvjTbv6FKMwSYozB7ZWi+c75mZQVYhLqgm3wUrldvaRk/aZIlYRWJDyHB0QHJqpOfygLjeshd5v+XhiNlSPv0lHtVmgFwpBoCWIuUoKUClGrO4dtg/U2pyNuurzUP414RjpJQORHnnmqT/P5rrK4jQOPqcTUzaYSkma1YeOTnA2IUP1r5BmaB5wjU8SvJ8MqcBRR8g9+qcJexh+3VmxYCZoBABRan3E0thswaDblDK9AUGiXlj5vzub83D1pgmN2OUdFr4ozogvFIGmrJkDC3oAGLl98uT9+PsDWcxn/uJ3Md3+Z3zox9wk5QpZjSokgMDFhUVV0QMGnJ1EWlwKEmVum6Ur5pap130i9G5KhIOta/rPHO9u0rCKLos2VkwlbgD8NJ+UfD+jXDuX7bC2BZQtt/koLEgCwhPX/PLdXHFwnavcjWHx1346qRh6ox6B7vJhkKqUaHTSB4x1tRSV824iZF+BIjnGetTon3qltRGk4cL2ErSAd7Z46BZbumYjheGzYEylmxUHLOjmNTXxU0/wSoJDRkkWWrTCSeqy7Qi0b6R8BC3MUnR73e/5r1oLI+YF0Dk7Cbwki7+m4N7kLtkcvE58mLd2ME=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(366004)(136003)(396003)(346002)(39860400002)(451199018)(31686004)(66899018)(83380400001)(478600001)(316002)(54906003)(36756003)(4326008)(38100700002)(6916009)(66476007)(8676002)(53546011)(2616005)(6506007)(6512007)(186003)(26005)(6486002)(5660300002)(31696002)(66946007)(66556008)(41300700001)(8936002)(2906002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZUk1b3h0cndDcWh4OVhmS1ZiZG5ZOXZNK0xqNlNYS0NHVkljL0N2TzZQb05W?=
 =?utf-8?B?UGdVQlQ2cHZWZ3lMdzZzdkJRVERnWHRmbUhLNnkvV3VRelpRcGsxQzZWVm5n?=
 =?utf-8?B?MkUzb2JBdm1iTVlrQXp2cnFCTnFmU2YrZCsrUkdYTUZCa3NIeFl1NGZ6SXhH?=
 =?utf-8?B?dEs5UTE5LzdWbmdDNU5CdzZVRy9QWDZCSyt6TmNMdzE2THN0WU4xbUJMMTdM?=
 =?utf-8?B?Sk9VODJXWVJrd0UxS2ltR3VhV0hCWUlFNGwyZkNQUzU4ZVNhbzRtTnJza09C?=
 =?utf-8?B?RzNlOFB2SFBMT2pJRWNoRFVxdE9UK1A1K2x3aEhsalc0Yk9kZ0h4YjhjZlFD?=
 =?utf-8?B?NkRLUHBNM3B0QmI3SnIxU2Jxc09Fa0xWWUhneE5IWGh0NGE3OEVXcnRlOGh4?=
 =?utf-8?B?MWJITXppRkdoZVRpVVQ3QTZNdW1UU0svMHhnemVmTng5alhTYm1pSnUrVWlw?=
 =?utf-8?B?cm9jcld0dE0rTUZVdm1kclViQUlSUXVSQlZDcHRMMVVmWjVrQlFnMkhjMVlS?=
 =?utf-8?B?cjlVSUs5Skt6cHRVRU9JU2g5eWtYRXRXTXN3Y3NUMDBNbUdoY2pMSHdzRmg4?=
 =?utf-8?B?ZGNuRHhjL0tkcXFzSTR0U080S3R3R29EaXF0WWlJZXI5RWpkNXJKVmo1b2ta?=
 =?utf-8?B?SElZQXhTcXZqSHRjVjRTdkUrcndEcVYvV1VVLzR3T0Vlb3V6MDNKL29Kd1Fm?=
 =?utf-8?B?Q0JLMzFGbXdVRkd5RUFuQkZiby8yVllsYjBuM3Y2R0VBNUVDSGJ2WGQ2SzdB?=
 =?utf-8?B?YWZMV0J2ZVZVYjI4LzdsZzhYQ01PUHJRZnh6cVgvSHpHNlQ3NkJLS1F0TXZD?=
 =?utf-8?B?WlY1OEI2cURQUW03L3VoVHNCZHFaMFBTR3EvZElmSG5xM3dXQVdRMjMzaXQ5?=
 =?utf-8?B?TFlyd0daQlBZWmI4ZGtTOVhJejY0NFJpa3o5aHJlQ05acDNuVDV0bjhkNE1j?=
 =?utf-8?B?SHh1NytmdG5qUVdjamV1WFpOWkdLMFFwcFh1QUViNktWYUxOaGU4NHZJK3lD?=
 =?utf-8?B?RHMzbC9iVUw4Tkg0Vm1jNVByYUlVQmdsZDFnRzNGVjRwV25RT2N1Z1FUbWhH?=
 =?utf-8?B?ZjFjWXNhbDFKTmdXMXdFbzd6SjdXcDlhbzVTYnVyQ3htRlBVSkxQR3lYdUQz?=
 =?utf-8?B?WkhLV3JLOHVlRmUreEcwWHVCTlBsSUJlNFdSRFp1eHpxTjhSVEJRU2JCdWlJ?=
 =?utf-8?B?aU1uQ25YbEpuc1RwSHpnc1VibWhHUEF1NXdva0xYMzIzOUlFaHZlaW5sZEVp?=
 =?utf-8?B?OVluWFpIeG5MbE4wZ3l5bGowUFlLdnF3OFV2S1NSZ0lCRjN2SUVmUFBpYXNz?=
 =?utf-8?B?eU5COSt5UDFxQWFnV1BSRlZBOUovaGo3OERPQzlVaVlLaStwSkR0eU9YWVFN?=
 =?utf-8?B?RzZHMUV1VTF3ZkJRNlpNaVdYZTE1ZHRSUHhvbTh0VW1DK2dXWU1GMzE3aFZi?=
 =?utf-8?B?R0hXeW1YK2ZRVG1zYnc4VlJiT1RtSWxQR1g4V1grMjRvdFlZYURSTlJuQXRx?=
 =?utf-8?B?MzlKcmNIc1FjclNjZHpqTU0xYXJxSGlQbHVuMmtwanBoMDhMVzJEdldXeTBp?=
 =?utf-8?B?RnFUUWxqRFBpK3lSa3JXaWk5Z0hRWnhZdk1DUjhXU3VmTEMxOUZ1L3RycmhW?=
 =?utf-8?B?eE5ySElkTVpZSnlvVEhMN3FhSGpMRDZWK0Y0cW13d01WYnJ4V0haQTRZeUZW?=
 =?utf-8?B?RmJvODRUekhIb29SVmxMczJvR0QxWXBYTjhISUp5UzhuMVdtVmZ0VWdGNTNa?=
 =?utf-8?B?Yk1RZCttVFk4WDFXN1gwT3MyMCtYSWQ3Y3owR1AyTHVpOThiM1ZMbU1mTVFt?=
 =?utf-8?B?UjQ4OEdZSXFlWWtCZ0VndGRpdjlSWUhxbkpqa2U1WVJYOEZDck5Wck5obDd4?=
 =?utf-8?B?OEhmL1FqMTc1ZnFIZzVoVzZYS3FWZUNIelBhZjB4L0ZQT1gwR3JIelJCZkZo?=
 =?utf-8?B?b3VwalJUMnZMcEthNU9lakJ6Z09ROTc0ZW9RZVBNRStSTTN3S2J3dEhieERP?=
 =?utf-8?B?dmVhdTF3SmNoYkRNZ0ZxNDdRVUh5MHFsRXIwZE9EZVllbGRtVnhYQkxxRURK?=
 =?utf-8?B?b1ZvUHM5dFJqd0U1WUdkZlFXbXk3elpuRDBDMTFscmZDcmozaTg4a3llYnZt?=
 =?utf-8?Q?/xPz0nZNuiUCqPwQbnx3qnyIm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ba5ccb4-295c-478e-cdf9-08db1a48855b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 11:31:38.2285
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ipg4GRwQwlNKXIBrifTlWmj3/676hcQREidYBRX8hJJVclgWKr0CQ2gF6jJlgql5Y995XmHL9sk85vsTou4f/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6957

On 28.02.2023 18:39, Sergey Dyasli wrote:
> Add an option to xen-ucode tool to print the currently loaded ucode
> version and also print it during usage info.  Print CPU signature and
> processor flags as well.  The raw data comes from cpuinfo directory in
> xenhypfs and from XENPF_get_cpu_version platform op.

While I don't mind the use of the platform-op, I'm little puzzled by the
mix. If CPU information is to be exposed in hypfs, can't we expose there
everything that's needed here?

Then again, perhaps in a different context, Andrew pointed out that hypfs
is an optional component, so relying on its presence in the underlying
hypervisor will need weighing against the alternative of adding a new
platform-op for the ucode-related data (as you had it in v1). Since I'm
unaware of a request to switch, are there specific reasons you did?

> --- a/tools/misc/xen-ucode.c
> +++ b/tools/misc/xen-ucode.c
> @@ -11,6 +11,96 @@
>  #include <sys/stat.h>
>  #include <fcntl.h>
>  #include <xenctrl.h>
> +#include <xenhypfs.h>
> +
> +static const char intel_id[] = "GenuineIntel";
> +static const char   amd_id[] = "AuthenticAMD";
> +
> +static const char sig_path[] = "/cpuinfo/cpu-signature";
> +static const char rev_path[] = "/cpuinfo/microcode-revision";
> +static const char  pf_path[] = "/cpuinfo/processor-flags";

Together with the use below I conclude (without having looked at patch 1
yet) that you only expose perhaps the BSP's data, rather than such for
all CPUs. (And I was actually going to put up the question whether data
like the one presented here might not also be of interest for parked
CPUs.)

> +static int hypfs_read_uint(struct xenhypfs_handle *hdl, const char *path,
> +                           unsigned int *var)
> +{
> +    char *result;
> +    result = xenhypfs_read(hdl, path);
> +    if ( !result )
> +        return -1;
> +
> +    errno = 0;
> +    *var = strtol(result, NULL, 10);

Better use strtoul() (as you're after an unsigned quantity), and perhaps
also better to not assume 10 as the radix (neither signature nor ucode
revision are very useful to expose as decimal numbers in hypfs)? Plus
perhaps deal with the result not fitting in "unsigned int"?

> +    if ( errno )
> +        return -1;
> +
> +    return 0;
> +}
> +
> +static void show_curr_cpu(FILE *f)
> +{
> +    int ret;
> +    struct xenhypfs_handle *hdl;
> +    xc_interface *xch;
> +    struct xenpf_pcpu_version cpu_ver = {0};
> +    bool intel = false, amd = false;
> +    unsigned int cpu_signature, pf, ucode_revision;
> +
> +    hdl = xenhypfs_open(NULL, 0);
> +    if ( !hdl )
> +        return;
> +
> +    xch = xc_interface_open(0, 0, 0);
> +    if ( xch == NULL )
> +        return;
> +
> +    ret = xc_get_cpu_version(xch, &cpu_ver);
> +    if ( ret )
> +        return;
> +
> +    if ( memcmp(cpu_ver.vendor_id, intel_id,
> +                sizeof(cpu_ver.vendor_id)) == 0 )
> +        intel = true;
> +    else if ( memcmp(cpu_ver.vendor_id, amd_id,
> +                     sizeof(cpu_ver.vendor_id)) == 0 )
> +        amd = true;
> +
> +    if ( hypfs_read_uint(hdl, sig_path, &cpu_signature) != 0 )
> +        return;
> +
> +    if ( hypfs_read_uint(hdl, rev_path, &ucode_revision) != 0 )
> +        return;

You consume these two fields only when "intel || amd"; without having
looked at patch 1 yet I'd also assume the node might not be present for
other vendors, and hence no output would be produced at all then, due
to the failure here.

> +    if ( intel && hypfs_read_uint(hdl, pf_path,  &pf) != 0 )

Nit: Stray double blank before "&pf".

> +        return;
> +
> +    /*
> +     * Print signature in a form that allows to quickly identify which ucode
> +     * blob to load, e.g.:
> +     *
> +     *      Intel:   /lib/firmware/intel-ucode/06-55-04
> +     *      AMD:     /lib/firmware/amd-ucode/microcode_amd_fam19h.bin
> +     */
> +    if ( intel )
> +    {
> +        fprintf(f, "Current CPU signature is: %02x-%02x-%02x (raw %#x)\n",
> +                   cpu_ver.family, cpu_ver.model, cpu_ver.stepping,
> +                   cpu_signature);
> +    }
> +    else if ( amd )
> +    {
> +        fprintf(f, "Current CPU signature is: fam%xh (raw %#x)\n",
> +                   cpu_ver.family, cpu_signature);
> +    }

    else
        fprintf("...", cpu_ver.vendor_id,
                cpu_ver.family, cpu_ver.model, cpu_ver.stepping);

? Otherwise some kind of error message would imo be needed, such that the
tool won't exit successfully without providing any output at all. Recall
that we consider Hygon an alive target CPU, just with (at present) no
ucode support.

> +    if ( intel || amd )
> +        fprintf(f, "Current CPU microcode revision is: %#x\n", ucode_revision);
> +
> +    if ( intel )
> +        fprintf(f, "Current CPU processor flags are: %#x\n", pf);
> +
> +    xc_interface_close(xch);
> +    xenhypfs_close(hdl);

Maybe do these earlier, as soon as you're done with each of the two items?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 11:52:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 11:52:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.503995.776458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXL0A-0003L4-Vz; Wed, 01 Mar 2023 11:52:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 503995.776458; Wed, 01 Mar 2023 11:52: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 1pXL0A-0003Kx-TH; Wed, 01 Mar 2023 11:52:06 +0000
Received: by outflank-mailman (input) for mailman id 503995;
 Wed, 01 Mar 2023 11: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=S3ad=6Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXL09-0003Kr-TI
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 11:52:06 +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 7a13e221-b827-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 12:52:01 +0100 (CET)
Received: by mail-lj1-x22c.google.com with SMTP id g18so11523504ljl.3
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 03:52:01 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 s6-20020a05651c200600b002934b8d115csm1636569ljo.51.2023.03.01.03.51.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 03:51: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: 7a13e221-b827-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677671520;
        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=olw9rm9zn0wV2yqmIiZD7aZrS98nXaVMyzhTVfpQ8DI=;
        b=M0pWpaybG4OvM7USJuIqd6nmoMxmjMfve6qrNH/Hp0b1xOybju9FYrj2JfrVx7jFV6
         JI1v8RtahJimgd6xXJP7aG+Ux7egZhCZmL7e68aSj6dWNXrAxVSayHASJmQczAd1nbYv
         2M1OhkE8MkNj3mF3kMp53JkvICj3Vk3sdKEQC7Vk930ZjLUyHVVTdh3oU3Fj7hmfns5m
         VhoM8x5fbpDBxI0iSWhaFswUjKHEFtgtDi3jwTqhZlU+8WSZSXBuHDN8O7ldcrnm9gZi
         ety4LeEkqvk0iRnqJHqzMSsAiaXxHY4sKBGCf+DFrlpMHye2O/KTtrXNBEgsge51karS
         PmVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677671520;
        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=olw9rm9zn0wV2yqmIiZD7aZrS98nXaVMyzhTVfpQ8DI=;
        b=jfc44jb2r56rQYnQhulCjco2m6Zcpj6yh5IjIFMjpf/XNL5NqX8ljODy2JkMF3H5Dc
         ruL7lx/pCU9SdhXAiJosGK+IezpIsXtXLp4Te/uyxNHVE/mu8yD4FnA39SPyb8UoA59+
         faBw3U+wu2TumD6fMdbrRlAZwx2RV46n1xXxIOlrCJPJa7RPdcdjPNlj7tcpHlskG+Y+
         Tcsjf5QH+/5qCiZowIwrGvq9XaeXZn+BLnvi+snJQvUotIkwVPunrpMVgT9iOy/vLDV4
         VucDSsatfn/ZwX18aMFtAKPCliynciflBMH8I7lqvCexJ2Al4MrB1hBsHgjm0RIpuIb3
         9y/g==
X-Gm-Message-State: AO0yUKXtbMyV1Vl+o4zlu0dbOhsNJRvFw4u92OGa2ReyVEa7MnzMRwHF
	i9bfScJxLMWRPJc521Cw0t8=
X-Google-Smtp-Source: AK7set/EgXknEpS+xEC5m8k8WijkJUDua4Ye43Er3LR4yXKqEZldeKD4+uXIZU7oGv0KirNo0LAnJg==
X-Received: by 2002:a2e:a4a9:0:b0:295:a932:f40d with SMTP id g9-20020a2ea4a9000000b00295a932f40dmr2125027ljm.8.1677671520328;
        Wed, 01 Mar 2023 03:52:00 -0800 (PST)
Message-ID: <87902639b4d80c82833be96689f101a3ff151646.camel@gmail.com>
Subject: Re: [PATCH v4 3/5] xen/riscv: introduce an implementation of macros
 from <asm/bug.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Wed, 01 Mar 2023 13:51:58 +0200
In-Reply-To: <e34c0315-dfd0-c176-52bf-64780befedb0@suse.com>
References: <cover.1677237653.git.oleksii.kurochko@gmail.com>
	 <a70ce0599da9549b5c4e601e5b410cfec5fc185b.1677237653.git.oleksii.kurochko@gmail.com>
	 <e34c0315-dfd0-c176-52bf-64780befedb0@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Mon, 2023-02-27 at 13:59 +0100, Jan Beulich wrote:
> On 24.02.2023 12:35, Oleksii Kurochko wrote:
> > The patch introduces macros: BUG(), WARN(), run_in_exception(),
> > assert_failed.
> >=20
> > The implementation uses "ebreak" instruction in combination with
> > diffrent bug frame tables (for each type) which contains useful
> > information.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V4:
> > =C2=A0 - Updates in RISC-V's <asm/bug.h>:
> > =C2=A0=C2=A0=C2=A0 * Add explanatory comment about why there is only de=
fined for
> > 32-bits length
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 instructions and 16/32-bits BUG_INSN_{16=
,32}.
> > =C2=A0=C2=A0=C2=A0 * Change 'unsigned long' to 'unsigned int' inside
> > GET_INSN_LENGTH().
> > =C2=A0=C2=A0=C2=A0 * Update declaration of is_valid_bugaddr(): switch r=
eturn type
> > from int to bool
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 and the argument from 'unsigned int' to =
'vaddr'.
> > =C2=A0 - Updates in RISC-V's traps.c:
> > =C2=A0=C2=A0=C2=A0 * replace /xen and /asm includes=20
> > =C2=A0=C2=A0=C2=A0 * update definition of is_valid_bugaddr():switch ret=
urn type
> > from int to bool
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 and the argument from 'unsigned int' to =
'vaddr'. Code style
> > inside function
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 was updated too.
> > =C2=A0=C2=A0=C2=A0 * do_bug_frame() refactoring:
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * local variables start and bug became '=
const struct
> > bug_frame'
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * bug_frames[] array became 'static cons=
t struct bug_frame[]
> > =3D ...'
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * remove all casts
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * remove unneeded comments and add an ex=
planatory comment
> > that the do_bug_frame()
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 will be switched to a generi=
c one.
> > =C2=A0=C2=A0=C2=A0 * do_trap() refactoring:
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * read 16-bits value instead of 32-bits =
as compressed
> > instruction can
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 be used and it might happen =
than only 16-bits may be
> > accessible.
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * code style updates
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * re-use instr variable instead of re-re=
ading instruction.
> > =C2=A0 - Updates in setup.c:
> > =C2=A0=C2=A0=C2=A0 * add blank line between xen/ and asm/ includes.
> > ---
> > Changes in V3:
> > =C2=A0 - Rebase the patch "xen/riscv: introduce an implementation of
> > macros
> > =C2=A0=C2=A0=C2=A0 from <asm/bug.h>" on top of patch series [introduce =
generic
> > implementation
> > =C2=A0=C2=A0=C2=A0 of macros from bug.h]
> > ---
> > Changes in V2:
> > =C2=A0 - Remove __ in define namings
> > =C2=A0 - Update run_in_exception_handler() with
> > =C2=A0=C2=A0=C2=A0 register void *fn_ asm(__stringify(BUG_FN_REG)) =3D =
(fn);
> > =C2=A0 - Remove bug_instr_t type and change it's usage to uint32_t
> > ---
> > =C2=A0xen/arch/riscv/include/asm/bug.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 |=C2=A0 48 ++++++++++
> > =C2=A0xen/arch/riscv/include/asm/processor.h |=C2=A0=C2=A0 2 +
> > =C2=A0xen/arch/riscv/setup.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 1 +
> > =C2=A0xen/arch/riscv/traps.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 | 125
> > +++++++++++++++++++++++++
> > =C2=A0xen/arch/riscv/xen.lds.S=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 10 ++
> > =C2=A05 files changed, 186 insertions(+)
> > =C2=A0create mode 100644 xen/arch/riscv/include/asm/bug.h
> >=20
> > diff --git a/xen/arch/riscv/include/asm/bug.h
> > b/xen/arch/riscv/include/asm/bug.h
> > new file mode 100644
> > index 0000000000..67ade6f895
> > --- /dev/null
> > +++ b/xen/arch/riscv/include/asm/bug.h
> > @@ -0,0 +1,48 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +/*
> > + * Copyright (C) 2012 Regents of the University of California
> > + * Copyright (C) 2021-2023 Vates
> > + *
> > + */
> > +#ifndef _ASM_RISCV_BUG_H
> > +#define _ASM_RISCV_BUG_H
> > +
> > +#include <xen/types.h>
> > +
> > +#ifndef __ASSEMBLY__
>=20
> This #ifndef contradicts the xen/types.h inclusion. Either the
> #include
> moves down below here, or the #ifndef goes away as pointless. This is
> because xen/types.h cannot be include in assembly files.
I will remove it. It looks like it leave when as generic implementation
was taken ARM.
>=20
> > +#define BUG_INSTR "ebreak"
> > +
> > +/*
> > + * The base instruction set has a fixed length of 32-bit naturally
> > aligned
> > + * instructions.
> > + *
> > + * There are extensions of variable length ( where each
> > instruction can be
> > + * any number of 16-bit parcels in length ) but they aren't used
> > in Xen
> > + * and Linux kernel ( where these definitions were taken from ).
> > + *
> > + * Compressed ISA is used now where the instruction length is 16
> > bit=C2=A0 and
> > + * 'ebreak' instruction, in this case, can be either 16 or 32 bit
> > (
> > + * depending on if compressed ISA is used or not )
> > + */
> > +#define INSN_LENGTH_MASK=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 _UL=
(0x3)
> > +#define INSN_LENGTH_32=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 _UL(0x3)
> > +
> > +#define BUG_INSN_32=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 _UL(0x00100073) /* ebreak */
> > +#define BUG_INSN_16=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 _UL(0x9002)=C2=A0=C2=A0=C2=A0=C2=A0 /* c.ebreak */
> > +#define COMPRESSED_INSN_MASK=C2=A0=C2=A0=C2=A0 _UL(0xffff)
> > +
> > +#define GET_INSN_LENGTH(insn)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +({=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0 unsigned int len;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0 len =3D ((insn & INSN_LENGTH_MASK) =3D=3D INSN_LENG=
TH_32) ?=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 4UL : 2UL;=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=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
> Why the UL suffixes?
>=20
> > +=C2=A0=C2=A0=C2=A0 len;=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=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 anyway - can't the whole macro be written without using any
> extension:
>=20
> #define GET_INSN_LENGTH(insn)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> =C2=A0=C2=A0=C2=A0 (((insn) & INSN_LENGTH_MASK) =3D=3D INSN_LENGTH_32 ? 4=
 : 2) \
>=20
> ? (Note also that uses of macro parameters should be properly
> parenthesized.)
It can. I'll update the macros.
>=20
> > --- a/xen/arch/riscv/setup.c
> > +++ b/xen/arch/riscv/setup.c
> > @@ -1,3 +1,4 @@
> > +#include <xen/bug.h>
> > =C2=A0#include <xen/compile.h>
> > =C2=A0#include <xen/init.h>
>=20
> Why? Eventually this will be needed, I agree, but right now?
Agree. <xen/bug.h> should be removed fro the current patch.
Probably merge error during rebase.
>=20
> > @@ -99,7 +100,131 @@ static void do_unexpected_trap(const struct
> > cpu_user_regs *regs)
> > =C2=A0=C2=A0=C2=A0=C2=A0 die();
> > =C2=A0}
> > =C2=A0
> > +void show_execution_state(const struct cpu_user_regs *regs)
> > +{
> > +=C2=A0=C2=A0=C2=A0 early_printk("implement show_execution_state(regs)\=
n");
> > +}
> > +
> > +/*
> > + * TODO: change early_printk's function to early_printk with
> > format
> > + *=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 when s(n)printf() will be added=
.
> > + *
> > + * Probably the TODO won't be needed as generic do_bug_frame() (at
> > + * least, for ARM and RISC-V) has been introduced and current
> > + * implementation will be replaced with generic one when panic(),
> > + * printk() and find_text_region() (virtual memory?) will be
> > + * ready/merged
> > + */
> > +int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
> > +{
> > +=C2=A0=C2=A0=C2=A0 const struct bug_frame *start, *end;
> > +=C2=A0=C2=A0=C2=A0 const struct bug_frame *bug =3D NULL;
> > +=C2=A0=C2=A0=C2=A0 unsigned int id =3D 0;
> > +=C2=A0=C2=A0=C2=A0 const char *filename, *predicate;
> > +=C2=A0=C2=A0=C2=A0 int lineno;
> > +
> > +=C2=A0=C2=A0=C2=A0 static const struct bug_frame* bug_frames[] =3D {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__start_bug_frames[0],
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_0[0],
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_1[0],
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_2[0],
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_3[0],
> > +=C2=A0=C2=A0=C2=A0 };
> > +
> > +=C2=A0=C2=A0=C2=A0 for ( id =3D 0; id < BUGFRAME_NR; id++ )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 start =3D bug_frames[id];
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 end=C2=A0=C2=A0 =3D bug_fra=
mes[id + 1];
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 while ( start !=3D 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 if =
( (vaddr_t)bug_loc(start) =3D=3D pc )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 bug =3D start;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 goto found;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sta=
rt++;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > + found:
> > +=C2=A0=C2=A0=C2=A0 if ( bug =3D=3D NULL )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -ENOENT;
> > +
> > +=C2=A0=C2=A0=C2=A0 if ( id =3D=3D BUGFRAME_run_fn )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 void (*fn)(const struct cpu=
_user_regs *) =3D bug_ptr(bug);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fn(regs);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto end;
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0 /* WARN, BUG or ASSERT: decode the filename pointer=
 and line
> > number. */
> > +=C2=A0=C2=A0=C2=A0 filename =3D bug_ptr(bug);
> > +=C2=A0=C2=A0=C2=A0 lineno =3D bug_line(bug);
> > +
> > +=C2=A0=C2=A0=C2=A0 switch ( id )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_warn:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk("Xen WARN at "=
);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk(filename);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk("\n");
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(regs);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto end;
> > +
> > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_bug:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk("Xen BUG at ")=
;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk(filename);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk("\n");
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(regs);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk("change wait_f=
or_interrupt to panic() when
> > common is available\n");
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 die();
> > +
> > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_assert:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* ASSERT: decode the predi=
cate string pointer. */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 predicate =3D bug_msg(bug);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk("Assertion \'"=
);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk(predicate);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk("\' failed at =
");
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk(filename);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk("\n");
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(regs);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk("change wait_f=
or_interrupt to panic() when
> > common is available\n");
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 die();
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0 return -EINVAL;
> > +
> > + end:
> > +=C2=A0=C2=A0=C2=A0 return 0;
> > +}
>=20
> Wasn't the goal to use the generic do_bug_frame()?
It's the goal but at the current stage we can't switch to
do_bug_frame() because it is based on function from xen/common which we
don't have now for RISC-V. So it will be switched when xen/common will
be available.
>=20
> > +bool is_valid_bugaddr(vaddr_t insn)
>=20
> Why is insn of type vaddr_t?
Initially address of insn was passed here. But now we should change
vaddr_t to 'uint32_t' as the instruction length can be either 16 or 32
and update instr variable inside do_trap():

  static uint32_t read_instr(unsigned long pc)
  {
      uint16_t instr16 =3D *(uint16_t *)pc;
=20
      if ( GET_INSN_LENGTH(instr16) =3D=3D 2 )
          return (uint32_t)instr16;
      else
          return *(uint32_t *)pc;
  }

  void do_trap(struct cpu_user_regs *cpu_regs)
  {
      register_t pc =3D cpu_regs->sepc;
      uint32_t instr =3D read_instr(pc);
  ...

>=20
> > +{
> > +=C2=A0=C2=A0=C2=A0 if ( (insn & INSN_LENGTH_MASK) =3D=3D INSN_LENGTH_3=
2 )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return ( insn =3D=3D BUG_IN=
SN_32 );
> > +=C2=A0=C2=A0=C2=A0 else
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return ( (insn & COMPRESSED=
_INSN_MASK) =3D=3D BUG_INSN_16 );
>=20
> Nit (style): The kind-of-operand to return is an expression. Hence
> you have stray blanks there immediately inside the parentheses.
> (This is unlike e.g. if(), where you've formatted things correctly.)
To be 100% sure, should it be:=20
  return ( ( insn & COMPRESSED_INSN_MASK ) =3D=3D BUG_INSN_16 );
> > +}
> > +
> > =C2=A0void do_trap(struct cpu_user_regs *cpu_regs)
> > =C2=A0{
> > +=C2=A0=C2=A0=C2=A0 register_t pc =3D cpu_regs->sepc;
> > +=C2=A0=C2=A0=C2=A0 uint16_t instr =3D *(uint16_t *)pc;
> > +
> > +=C2=A0=C2=A0=C2=A0 if ( is_valid_bugaddr(instr) ) {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !do_bug_frame(cpu_regs=
, cpu_regs->sepc) ) {
>=20
> Nit: Brace placement (twice).
Thanks. I'll update then.
>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 12:32:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 12:32:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504006.776469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXLcq-0000fe-72; Wed, 01 Mar 2023 12:32:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504006.776469; Wed, 01 Mar 2023 12:32:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXLcq-0000fX-33; Wed, 01 Mar 2023 12:32:04 +0000
Received: by outflank-mailman (input) for mailman id 504006;
 Wed, 01 Mar 2023 12:32: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=S3ad=6Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXLco-0000fB-CI
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 12:32:02 +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 10bd646a-b82d-11ed-96a3-2f268f93b82a;
 Wed, 01 Mar 2023 13:32:01 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id j11so1705932lfg.13
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 04:32:01 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 8-20020ac24848000000b004cc9042c9cfsm1719590lfy.158.2023.03.01.04.31.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 04:32: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: 10bd646a-b82d-11ed-96a3-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677673920;
        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=F1SlM21Xj7Xbi21emTWWLykzpC1stJCPZfFjHAhe3hQ=;
        b=M4ou3RdAs37Buu+XtNYZfhG4FFs6CprtIEhS8ErbvlcKSmfCKTd0CdZg+k4D9CzJJE
         lJ9LBx8iFj3YmyKjvka0eSEWHZ+w58u0wkhMR3xgNOCVLWG+geO599o3TcJ2JpeEeUFC
         BxL6XuWVouL3mesta0dbnCaAizPkwTKX9sh+1B8W9gMseJESPNB5LKxncOMWw0JdPNe2
         4ttnNAZ+vsiksidQmcbgO4XGANX09M0SfTXe0iK74AhFwOKYirNXmkX0BPidozwB9OY8
         RnxD+fbA9NIqVZkM/Fiu1UnzZvq/5nvCacJdAzy8AtIIrvrrI9p/aXS8bD5Fx3/9Tt4U
         ZmTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677673920;
        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=F1SlM21Xj7Xbi21emTWWLykzpC1stJCPZfFjHAhe3hQ=;
        b=68O2HyGFwG9CLuknlgsm7PDxOwgFOCq0LudmEVbC8OBw42mguSofwIfbAm11VKupi+
         pY3CACn3rKBjGtFjlk1SBO026gsIVT8TGFJqovAapWvgS6f7TIX6SiShah06TKoXqAeY
         FlBCxQjJql1NDt1R+J0hBWzjHoWseVnwhOHdr+ZL6SSU8P6cHJr+ZmwJ35z5ckDT6sTF
         wr2ExD9hOI5j8Ude/B6gTwBKk6fGJ1vnF/YfqB5fZ97Wyxkc6i1WJ1fcLKX6HrRYHaji
         LbD/suLBVQa/qAtdfEt59y2FOTPNj1I4z2dVibTB4mex44Wd6qBtWleowmE9eWQNIdkK
         kYyA==
X-Gm-Message-State: AO0yUKUz3DhxnGSzlI9DBskyA0p5TDwAHWm3fErMNVtKIopKgrj2ihUn
	iaAF8nZFB2QnPCeJmbliqGE=
X-Google-Smtp-Source: AK7set+EBr3850jtevbZ2ShTuUK5u1H/aGhnYsDFUKYKCrznlesji5zBbVGkwBUYbl3aoNP5/zrnMQ==
X-Received: by 2002:ac2:5106:0:b0:4e0:6e01:7ebf with SMTP id q6-20020ac25106000000b004e06e017ebfmr1734324lfb.52.1677673920504;
        Wed, 01 Mar 2023 04:32:00 -0800 (PST)
Message-ID: <3f108af54c7d824f59a7dc1daf7d4d0c23f617ec.camel@gmail.com>
Subject: Re: [PATCH v3 3/4] xen/arm: switch ARM to use generic
 implementation of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Date: Wed, 01 Mar 2023 14:31:57 +0200
In-Reply-To: <75df5a86-5d64-d219-c25c-644748a88302@xen.org>
References: <cover.1677233393.git.oleksii.kurochko@gmail.com>
	 <d80c136720c156d6ef83f27f1ce8dca5dba5b5a0.1677233393.git.oleksii.kurochko@gmail.com>
	 <f82b8c50-47f2-d8b0-5a2c-60203e5d5e26@xen.org>
	 <ae96eb36-aeba-86f0-3b72-a8b62f4dce60@xen.org>
	 <6735859208c6dcb7320f89664ae298005f70827b.camel@gmail.com>
	 <75df5a86-5d64-d219-c25c-644748a88302@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

Hi Julien,
> > >=20
> > > > On 24/02/2023 11:31, Oleksii Kurochko wrote:
> > > > > The following changes were made:
> > > > > * make GENERIC_BUG_FRAME mandatory for ARM
> > > >=20
> > > > I have asked in patch #1 but will ask it again because I think
> > > > this
> > > > should be recorded in the commit message. Can you outline why
> > > > it is
> > > > not
> > > > possible to completely switch to the generic version?
> > >=20
> > > I have just tried to remove it on arm64 and it seems to work.
> > > This
> > > was
> > > only tested with GCC 10 though. But given the generic version is
> > > not
> > > not
> > > using the %c modifier, then I wouldn't expect any issue.
> > >=20
> > > Cheers,
> > >=20
> >=20
> > I tried to switch ARM to generic implementation.
> >=20
> > Here is the patch: [1]
>=20
> This is similar to the patch I wrote to test with generic
> implementation=20
> on Arm (see my other reply).
>=20
> [...]
>=20
> > (it will be merged with patch 3 if it is OK )
> >=20
> > And looks like we can switch ARM to generic implementation as all
> > tests
> > passed:
> > https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/791549396
>=20
> Thanks for checking with the gitlab CI!
>=20
> >=20
> > The only issue is with yocto-arm:
> > https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/791549396/f=
ailures
> > But I am not sure that it is because of my patch
>=20
> This looks unrelated to me. This is happening because there is a data
> abort before PSCI (used to reboot the platform) is properly setup. I=20
> think we should consider to only print once the error rather than
> every=20
> few iterations (not a request for you).
>=20
> That said, I am a bit puzzled why this issue is only happening in the
> Yocto test (the Debian one pass). Do you know if the test is passing
> in=20
> the normal CI?
I checked several pipelines on the normal CI and it is fine.
>=20
> If yes, what other modifications did you do?
It looks like the issue happens after switch ARM to generic
implementation of bug.h:
-
https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792379063/failu=
res
[ failure ]
-
https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792381665/failu=
res
[ passed ]

The difference between builds is only in the commit ' check if ARM can
be fully switched to generic implementation '.
For second one it is reverted so it looks like we can't switch ARM to
generic implementation now as it is required addiotional investigation.

There is no other significant changes ( only the changes mentioned in
the current mail thread ).

Could we go ahead without switching ARM to generic implementation to
not block other RISC-V patch series?

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 12:33:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 12:33:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504012.776479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXLdu-0001BD-HR; Wed, 01 Mar 2023 12:33:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504012.776479; Wed, 01 Mar 2023 12:33: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 1pXLdu-0001B6-E2; Wed, 01 Mar 2023 12:33:10 +0000
Received: by outflank-mailman (input) for mailman id 504012;
 Wed, 01 Mar 2023 12:33: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=S3ad=6Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXLdt-0001A6-L8
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 12:33:09 +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 3955e524-b82d-11ed-96a3-2f268f93b82a;
 Wed, 01 Mar 2023 13:33:09 +0100 (CET)
Received: by mail-lj1-x22b.google.com with SMTP id f16so13755145ljq.10
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 04:33:09 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 b14-20020a2e988e000000b002945d119e09sm1652062ljj.8.2023.03.01.04.33.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 04:33: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: 3955e524-b82d-11ed-96a3-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677673989;
        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=Rs+eVZNuYNxRD2SPfl1GBY+FetWiyECeBk76AcmnzK0=;
        b=hSBs2vKuP+RVgXFvz7o7kptMpklGJ+K3L8d0E9X8tB+D5vaCAV3NR/u9HApfP9lCre
         T7Srs/rAWnPdqTCcsPztf45hRsLd7N6U6OqwdIsTUm6TeztF/9zg1WJ7OR13D+OXabEX
         zP3osFSLMbv3566Oeh/d0X2/hV1a/GRTxF/cq+j3KJpItzZRlyGbiXHOHzToLJRfOHIK
         4kCCH+qoEbitUZ9h6clNyRJroK4Z7djJIGAkSx2SVtwhzjitTD4TPTC7PBM+bAF7ixiM
         lHAMo658XAJPebRKmbshzRR2EcSLccg6gFI99XVCCM1+ExxSIfhajsWrWOF1i51Cw9mB
         oOlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677673989;
        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=Rs+eVZNuYNxRD2SPfl1GBY+FetWiyECeBk76AcmnzK0=;
        b=QLldww85QeIL19GV1ztrESjpiXcqVJVb7LshfkdPpkDJYPK5rvjFhuAC+kVnLHcZUX
         3Q1reX1jWEP9aRnc0yBH+9yX8AfpDAZ1Y6NpYs7VFucPMKNpIJOUXKDr7dJbAUA2nUTE
         g3r9rk+YHM9erVmgIJAYPMwDRVVtxfj81dN5uOYtmoHCDxeXP5hb2D4lQbkWBrfmzjFA
         RyUkdgyi3JODiY75DIg3ie0pWX4WCxPD9/p3oNxvXzuYrriCt/iA3ZiTmhksZ47hUKkA
         Z7G5gHe87TV28CBrdhhATWMHhvWsdCS8ax+CCEj9e9E8sDbvHtyQQ9jNq2R5Vo3DK48o
         Luww==
X-Gm-Message-State: AO0yUKWmqt1hd1RyXAj9YGzCzGGVun8qdXgopEl0BomItT2UqADrX1wa
	5LA3Bs5CwKrCkzCed+uW+io=
X-Google-Smtp-Source: AK7set/aYKO4NaEUWByulN1M+N+vycqtkNeXVdK2EbDEe2fSe8JfqLzAu0QUFOvYsqwU++Z1U5OTTg==
X-Received: by 2002:a2e:9815:0:b0:295:a2a5:87eb with SMTP id a21-20020a2e9815000000b00295a2a587ebmr1796915ljj.6.1677673988809;
        Wed, 01 Mar 2023 04:33:08 -0800 (PST)
Message-ID: <15934c091c536fc2bf56ada185d74123b1e5ed1d.camel@gmail.com>
Subject: Re: [PATCH v3 3/4] xen/arm: switch ARM to use generic
 implementation of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Date: Wed, 01 Mar 2023 14:33:07 +0200
In-Reply-To: <538020a3-07d2-391b-0fcc-4e4b4902d2f7@xen.org>
References: <cover.1677233393.git.oleksii.kurochko@gmail.com>
	 <d80c136720c156d6ef83f27f1ce8dca5dba5b5a0.1677233393.git.oleksii.kurochko@gmail.com>
	 <f82b8c50-47f2-d8b0-5a2c-60203e5d5e26@xen.org>
	 <c0e628d744f03c70d2e7b66540ea27aa31d90043.camel@gmail.com>
	 <46e96dd9-bcb4-4569-b282-05c019cabcc3@xen.org>
	 <a2980d855cb11e447a794725163ff120d38fc127.camel@gmail.com>
	 <538020a3-07d2-391b-0fcc-4e4b4902d2f7@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-01 at 09:31 +0000, Julien Grall wrote:
> Hi,
>=20
> On 01/03/2023 08:58, Oleksii wrote:
> > On Tue, 2023-02-28 at 17:48 +0000, Julien Grall wrote:
> > > Hi Oleksii,
> > >=20
> > > On 28/02/2023 15:09, Oleksii wrote:
> > > > On Sat, 2023-02-25 at 16:49 +0000, Julien Grall wrote:
> > > > > Hi Oleksii,
> > > > >=20
> > > > > On 24/02/2023 11:31, Oleksii Kurochko wrote:
> > > > > > The following changes were made:
> > > > > > * make GENERIC_BUG_FRAME mandatory for ARM
> > > > >=20
> > > > > I have asked in patch #1 but will ask it again because I
> > > > > think
> > > > > this
> > > > > should be recorded in the commit message. Can you outline why
> > > > > it
> > > > > is
> > > > > not
> > > > > possible to completely switch to the generic version?
> > > > I haven't tried to switch ARM too because of comment regarding
> > > > 'i'
> > > > in
> > > > <asm/bug.h>:
> > > > /*
> > > > =C2=A0=C2=A0 * GCC will not allow to use "i"=C2=A0 when PIE is enab=
led (Xen
> > > > doesn't
> > > > set
> > > > the
> > > > =C2=A0=C2=A0 * flag but instead rely on the default value from the
> > > > compiler).
> > > > So
> > > > the
> > > > =C2=A0=C2=A0 * easiest way to implement run_in_exception_handler() =
is to
> > > > pass
> > > > the
> > > > to
> > > > =C2=A0=C2=A0 * be called function in a fixed register.
> > > > =C2=A0=C2=A0 */
> > >=20
> > > I would expect this comment to be valid for any arch. So if there
> > > is
> > > a
> > > need to deal with PIE, then we would not be able to use "i" in
> > > the
> > > BUG
> > > frame.
> > >=20
> > > Note that we are now explicitly compiling Xen without PIE (see
> > > Config.mk).
> > Then it looks like some architectures isn't expected to be compiled
> > with PIE. I mean that x86's bug.h is used 'i' and there is no any
> > alternative version in case of PIE.
> >=20
> > If Xen should be compilable with PIE then we have to use ARM
> > implementation of bug.h everywhere. ( based on comment about 'i'
> > with
> > PIE ).
>=20
> The comment was added because until commit ecd6b9759919 ("Config.mk:=20
> correct PIE-related option(s) in EMBEDDED_EXTRA_CFLAGS") we would let
> the compiler to decide whether PIE should be enabled.
>=20
> Now we are forcing -fno-pie for Xen on any architecture (the flag is=20
> added at the top-level in Config.mk).
>=20
> >=20
> > Now I am totally confused...
>=20
> My point was not about using the Arm implementation everywhere. My
> point=20
> was that we disable even for Arm and therefore it is fine to use the=20
> common version.
>=20
> If in the future we need to support PIE in Xen (I am not aware of any
> effort yet), then we could decide to update the common BUG framework.
> But for now, I don't think this is something you need to care in your
> series.
>=20
Thanks for clarification.

> Cheers,
>=20



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 12:42:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 12:42:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504018.776489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXLmi-00032e-Ev; Wed, 01 Mar 2023 12:42:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504018.776489; Wed, 01 Mar 2023 12:42: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 1pXLmi-00032X-Bo; Wed, 01 Mar 2023 12:42:16 +0000
Received: by outflank-mailman (input) for mailman id 504018;
 Wed, 01 Mar 2023 12:42: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=4Y5i=6Z=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXLmg-00032R-SJ
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 12:42:15 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ce8c775-b82e-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 13:42:12 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7538.eurprd04.prod.outlook.com (2603:10a6:20b:2d8::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17; Wed, 1 Mar
 2023 12:42:11 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6134.030; Wed, 1 Mar 2023
 12:42:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ce8c775-b82e-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G0bd9Fku6r97plSGD0rTKUGHP4dfjyTSjJz0J9ikW3EzeLhXAg51Uh6rbNFCyQuKj222NsIE02iF414C2zrM/bo3cAqW0pjtn4WYllm6syDOi7B1R/985VBT8SOvq/+Pd9m1BYMD1pi6Yk7kYgkcPs11t5bcAmvA3Z2dY0mm3bt0Us6lyyRHOTWDnHVw8G+WG1iXzgD6QGqZEsTBOz77ugcYWnMZ9ZiR3e60gpV0JwhGUdt5mLsQoeYIF8qegSMMPUL7JyuJ/+sSzrgo80N/UWRRPuWusxfyZjtTcJEf7DaXzh5u39mxFm1YIqV+3PWxtwV4K97OWV+7B5CqY4AC3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CStBhd9bS7lIXJO3ROS0qxmbvDkgJOl69tY2BEYVb5o=;
 b=KffpaTLBSf8H4UrM0re0GNeSdLh1ZBxROF43JSEC1GJ62J1TD11JIpO+UcPe1g5A2kBFVgMrjvXM2MshWpjTdwAvvveI/boTgA0GUYsL/ceKweZl0L9Am7o7Nysk9OJ3dSYKTTSFBaxJw7vH74tvHs0CWNr8rVWnIwd993t1Mpo1Dctu1Hvn7c0Pvhp1hFR06cz3izlYtpn1FdUUcoOYNXb74h7B64//iDKgt+bW/q5SymcM//N8IOzt2f34VQxXJoHOlqLa4PWqM7Ew/3gVBAej6LwG0V55anxwFvPupBSk0mLtSfGegN6cHuRu8JryNR4Vq6HWoi9DXoCBvOVYPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CStBhd9bS7lIXJO3ROS0qxmbvDkgJOl69tY2BEYVb5o=;
 b=2SA4hzErUNczJ0ZxfXGm02MJNM/8eoWz3ikrZshBI6utg/Of4Ji5J1Pu7JLzUEeXzVeA+V+zxiXdzpZRNfAwsGCNR1htLnTG24LN7FFrnau0uUorqv3A78gs/Aq8+JH0fT4jqKy5c5dqjZHAnTTKZBvgQQXARbNKrCxnJ9E8ThoPZnAU0Lrhz6AWRT0sFb2ImaSpBdbeUaG9whyXrOIxSPy8E1G+bqRbIqE2xGI1DVRbF0irZtjBMtcDysZFJIvZPXz4HhHqmtzN7wD2NWDdIUdpwLrDgwT1KjEwPZZlRAuSugqZMotYueSTwo6m+RBSFVyIbTAfTdOUYYCUhyufIw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ebd5bd25-0645-810c-6077-fe1858454dee@suse.com>
Date: Wed, 1 Mar 2023 13:42:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4 3/5] xen/riscv: introduce an implementation of macros
 from <asm/bug.h>
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1677237653.git.oleksii.kurochko@gmail.com>
 <a70ce0599da9549b5c4e601e5b410cfec5fc185b.1677237653.git.oleksii.kurochko@gmail.com>
 <e34c0315-dfd0-c176-52bf-64780befedb0@suse.com>
 <87902639b4d80c82833be96689f101a3ff151646.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <87902639b4d80c82833be96689f101a3ff151646.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0033.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7538:EE_
X-MS-Office365-Filtering-Correlation-Id: 73609788-4768-4d66-9b06-08db1a525fed
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8RN6LYgXRc8fvcHDQZW3zHNSZL2AbHuKtNbNQdhO/J6tpUWXxinHTANsdp3pCKcb4/DgY+B/clW8ccXWWHE/0cpc/f8wKohFW4Pa9Rl1zw2h105HwkZd01FtEsWHwtmU0U1HtSJz7kr24qbujzdCIeqrZpINspqahVRKn/beammMaylSB6leWOtOsdKrD2UaDjMGqWxDdHSSjBGxvKqNXWrIuWUVVYOZeAyPzjoZ5DUgII/v9Q8D7HNXiZFEWnHvczJgPr0hUwaPWpgkOiDP3qehOMtMF6+Bt1/XbVVEy5HfhK9q0LyM95RlFKxEj/GOQEFiHO5y5HdO1Ov3ZivRNzUjSmr8E9UuH2TeHk1TnZWnEtdB6oAalW7NnQNoYubda88BSq7C6zuCXA9zPe8/PYS2GSTijjIAzYDHCcIDHze2dpDBMOpR9Ca1M7fNs+QMtW9/M9TPqqS51PZscjqtSjldvNM+JaowQS4VemGdRbni/6WNurOo8lGaFkg8VQ3p3iWEn5tVOHQE99G4G/qx2+UwgoSgdYpc2e8hFNa6XU8RS6AYcVGypCWtpv4YDtKthF1ipRV/yZxH/ztCkq7GLDqdH+6LZ2oQqlNH2m+m4foQMCJBcFj/+uU1mVG36mKSl2mdEaZOQtQHT6hvMyRYZD/dMeveJKPEmFNIq2E0gAzqeTea4Nq61dkrJQYEQgX6VTzIv3grmnHLaXa7Z9XWSHfKB/o1RQs/SUxtpUAXJQg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(346002)(136003)(396003)(366004)(39860400002)(451199018)(6486002)(8936002)(86362001)(2616005)(316002)(31696002)(41300700001)(83380400001)(54906003)(6512007)(36756003)(53546011)(26005)(186003)(6506007)(8676002)(66556008)(66946007)(66476007)(38100700002)(4326008)(6916009)(478600001)(2906002)(31686004)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d09LTWlWVWhLUnFudCtHeDE1czZlY3dRTDhXRm9oM05xeTNwYlphcGlNWVJr?=
 =?utf-8?B?NC9NSjAwZDg5a0w3WWlOS2U1c2N1c0FVUll2WXlDbVoxS0RiQ0o3Q0RJT2V4?=
 =?utf-8?B?Z3VaWnZ4ekd3VFByeG0vMWQxcUwrMUg2cUhnS1R1dnQzNmQ1b2pYSkNVNlhW?=
 =?utf-8?B?VE14NExlTytKNndFaVFJaHp2bkxQZmJWbi9LQTJmM1JHcWFRZDIwbU8vVE1U?=
 =?utf-8?B?NkM2YUN4MVVGdVVSc2J5V1cvMkp2VHRQTzd5cDEraFlQT01iQzFMZzNDOUps?=
 =?utf-8?B?dVZJWk5PL0tmZjNjQ0lqQXkwV3JLNyswMnpzWkJlL1M2dTA0TklLK243d2Fz?=
 =?utf-8?B?K2c0dk00Yi9qcVc3SElaVFVuRDRvRmttNDNDZThUM2hZbklxWWJUZkdtQmZt?=
 =?utf-8?B?cTRpRUJYUk9Ma1NseGVEbWZDdCttajJSNEZKZ0p2TDlKV1gwYVlwL3R4RS9S?=
 =?utf-8?B?MUFmRjdwbm9ZT3o4eUh4Y0dNMDNrZWRjMnBSa0xEMFNjZnowem5ONVl2eHMz?=
 =?utf-8?B?dFAycm8wd2lzbnpHcWRoeEt6QTNRNFVSTmVoVko5ejZ5dk1MaGhNUkxoaXJD?=
 =?utf-8?B?REI2L25RL2p6Z2xPbjU0THZNOWtkNUZyY2cwbG9iZDBNSXM2YXRnNjI0Qm1B?=
 =?utf-8?B?bWFpMHFvMUNqZU11WTVLT0xMcGNMNFhGM1FTaERpTkd3bUYwRFdsRTZWekRv?=
 =?utf-8?B?TmN5OUt6eEkrL2JyWmU0dTdvc0F3cHBTRytzZjlTV0M4RnAvQXl2dHcxenhD?=
 =?utf-8?B?eVNreEJMZWEzNVZDQVJYWElreHlrNm9pM1NUbHgvazJSbmoyY0FWbGlHeDF3?=
 =?utf-8?B?cVlnZXQ1WVVBa1dTL2JiMXFjOVNlWVIzTlBPOVpZZkJja2lTYng1NXNuNXVp?=
 =?utf-8?B?Q2x5RFB1ZzA3NEVoakFTNzl3NXpJSW5TWVpGUzN1blpnS2JHVm44YjhmQ2xi?=
 =?utf-8?B?RGQzZkxaaVJXNm0vTS9qSlZRNVRTMllEM2RzQXNDQ29EZSsxWmFQeDVmQnRD?=
 =?utf-8?B?eU5lZUlnMnJQZm8vN052cWQxaVU0Mzh1OVJDQ0pwWjcyQkMzT0R0ZlZuaVQv?=
 =?utf-8?B?bjhyai8zVktWcGFLMGRUNkZtcXRUU2ZRSnVXMlBJQVRITlpTNTNyaXdxb0s0?=
 =?utf-8?B?OXF3aWs1RC9Rb1NHWHFrUDFPeC9FZTZOL2F1ZTNLcHhpcTFJbS84KzVZb0pQ?=
 =?utf-8?B?MUxEWWlianJhbWVUek5RNFdMekRGMTRPaklzUkVjVE5NMmpJaUFHVnZHQ3Fh?=
 =?utf-8?B?blJzZGlkVVl5Y3lYMTFXUzFzOG5MdWNiK3czaTBOUVVaUUk4Ykt2c3BrMmdv?=
 =?utf-8?B?YzlXNmlaYVArQkZQc21GdjZQYkk4bkpRRTZRb2dzNWJkMC9UYWdiUFVQOGg5?=
 =?utf-8?B?YlZFbSs4aFgvRTFYL2Z2aWxYTVNJU3BUclo0SmRYR0F5dnR0T2hqVHg3ejNo?=
 =?utf-8?B?aUJhQTJaVzNONmowd1l5dTZVTXloN21GQ3RYS1djcDBIUElxOGVNMVNSS2hH?=
 =?utf-8?B?WTkyeDg1MXk1TFBVZlk3R1h2NTRaeDNRNHptRDRWTGZKLzVOQ1ZIZnpocVIv?=
 =?utf-8?B?RGdwVlljV25XTnBjUGFHK0RieUVZQVRmVit3RjBjNG5hU3FHMmVzWjBqUFVE?=
 =?utf-8?B?Y09NcEtjcCtWSGs3YlBUbUJLTDg2SzY2dDVUUEtxY1dlMjV4R0VyQ1VEdGxQ?=
 =?utf-8?B?QkZEQmR3VjlENEhldGllL3dLaXkweUVVV3VuZm9JbmZWU21ZQXRXZ0l1cVRU?=
 =?utf-8?B?dnh6c2ZiTVZmbWx3VkxNblVxQURhbWJ6TytWem52Q2ZyVS9sWmJyTjVRTS93?=
 =?utf-8?B?SzlTQUJ6SmdmWWtyRXdWeTJYOVF0aUhOekFTYzNiSzBnV2xEbk56cXFRWUla?=
 =?utf-8?B?SzhsVVViWXBXMldHeE5PcXdWbEY4a1cxQ3c3RkYvdkFuZ1N4VXAxYTNPZVVn?=
 =?utf-8?B?dnpxS1FVeGdRQnJKRlpFMGZFZ0p1ZG9LZ0FScTVodW5xdk5GVkZnR1NjTFg4?=
 =?utf-8?B?TEJBQm50OVN5VFdwU0hnTTFaV3JWOEppS2NEMmZ4Wm1sQTBEcmpaVDVuZWtN?=
 =?utf-8?B?TGY0aFdKRDhvSk16SGRWNUpaSWZKMThFdXRGOS9xaHJtWjEzeHlZaDVvaUFa?=
 =?utf-8?Q?DJfj3R5YRBKvdlCpf9q0rSHIL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 73609788-4768-4d66-9b06-08db1a525fed
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 12:42:10.3979
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XZRbNOl0nhyaius0pm4K/tgaIQriUirBddzqGhNBVuPXU/Gl+cfTObyFRM00aLhCmVRd5ucC5Djx+VeYDWW2uA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7538

On 01.03.2023 12:51, Oleksii wrote:
> On Mon, 2023-02-27 at 13:59 +0100, Jan Beulich wrote:
>> On 24.02.2023 12:35, Oleksii Kurochko wrote:
>>> +{
>>> +    if ( (insn & INSN_LENGTH_MASK) == INSN_LENGTH_32 )
>>> +        return ( insn == BUG_INSN_32 );
>>> +    else
>>> +        return ( (insn & COMPRESSED_INSN_MASK) == BUG_INSN_16 );
>>
>> Nit (style): The kind-of-operand to return is an expression. Hence
>> you have stray blanks there immediately inside the parentheses.
>> (This is unlike e.g. if(), where you've formatted things correctly.)
> To be 100% sure, should it be: 
>   return ( ( insn & COMPRESSED_INSN_MASK ) == BUG_INSN_16 );

No, that's yet more spaces instead of fewer ones.

    if ( (insn & INSN_LENGTH_MASK) == INSN_LENGTH_32 )
        return insn == BUG_INSN_32;
    else
        return (insn & COMPRESSED_INSN_MASK) == BUG_INSN_16;

or, if you really want the extra parentheses:

    if ( (insn & INSN_LENGTH_MASK) == INSN_LENGTH_32 )
        return (insn == BUG_INSN_32);
    else
        return ((insn & COMPRESSED_INSN_MASK) == BUG_INSN_16);

(Personally I'd also omit the "else":

    if ( (insn & INSN_LENGTH_MASK) == INSN_LENGTH_32 )
        return insn == BUG_INSN_32;

    return (insn & COMPRESSED_INSN_MASK) == BUG_INSN_16;

. Plus I don't think you really need to mask as much, i.e.

    return insn == BUG_INSN_32 ||
           (insn & COMPRESSED_INSN_MASK) == BUG_INSN_16;

would do as well afaict.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 12:50:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 12:50:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504022.776499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXLuF-0004KA-8J; Wed, 01 Mar 2023 12:50:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504022.776499; Wed, 01 Mar 2023 12:50: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 1pXLuF-0004JL-3A; Wed, 01 Mar 2023 12:50:03 +0000
Received: by outflank-mailman (input) for mailman id 504022;
 Wed, 01 Mar 2023 12:50: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 1pXLuE-0004Au-6M; Wed, 01 Mar 2023 12:50: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 1pXLuE-0006Yt-3c; Wed, 01 Mar 2023 12:50:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pXLuD-0006Wo-OQ; Wed, 01 Mar 2023 12:50:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXLuD-00036p-Nv; Wed, 01 Mar 2023 12: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7+DJOo/P0/IXAr4eLp1z3SLZA8Z4n8E2Q9Za/rox8Tw=; b=RFxf3KYDHL/T1fvKAwt1NtwjaP
	6E+9ghbZuR4TczgulRHbOuoZ7e4gOXFKsnRBDzneZ1mHGoM0jcZ9K8/OAnw8Md/PbcXyCroa+PLzW
	xYxR4tSen2OZQxrwDYNbQ88KVlGtvBsFvDnjF+w7lKUIF2kr4iFPsavvPtZgj/Bu4bB0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178827-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 178827: trouble: broken/fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-raw:<job status>:broken:regression
    xen-unstable:test-amd64-i386-livepatch:<job status>:broken:regression
    xen-unstable:test-amd64-i386-libvirt-raw:host-install(5):broken:regression
    xen-unstable:test-amd64-i386-livepatch:host-install(5):broken: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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b84fdf521b306cce64388fe57ee6c7c00f9d3e76
X-Osstest-Versions-That:
    xen=bfc3780f23ded229f42a2565783e21c32083bbfd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Mar 2023 12:50:01 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt-raw     <job status>                 broken
 test-amd64-i386-livepatch       <job status>                 broken
 test-amd64-i386-libvirt-raw   5 host-install(5)        broken REGR. vs. 178771
 test-amd64-i386-livepatch     5 host-install(5)        broken REGR. vs. 178771

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178771
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 178771
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178771
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178771
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 178771
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 178771
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178771
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 178771
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178771
 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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b84fdf521b306cce64388fe57ee6c7c00f9d3e76
baseline version:
 xen                  bfc3780f23ded229f42a2565783e21c32083bbfd

Last test of basis   178771  2023-02-28 13:11:03 Z    0 days
Testing same since   178827  2023-03-01 01:55:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Sergey Dyasli <sergey.dyasli@citrix.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    broken  
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  broken  
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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-i386-libvirt-raw broken
broken-job test-amd64-i386-livepatch broken
broken-step test-amd64-i386-libvirt-raw host-install(5)
broken-step test-amd64-i386-livepatch host-install(5)

Not pushing.

------------------------------------------------------------
commit b84fdf521b306cce64388fe57ee6c7c00f9d3e76
Author: Anthony PERARD <anthony.perard@citrix.com>
Date:   Tue Feb 28 18:16:49 2023 +0000

    automation: Rework archlinux container
    
    Base image "archlinux/base" isn't available anymore,
        https://lists.archlinux.org/pipermail/arch-dev-public/2020-November/030181.html
    
    But instead of switching to archlinux/archlinux, we will use the
    official image from Docker. Main difference is that the first one is
    updated daily while the second is updated weekly.
    
    Also, as we will install the packages from "base-devel" anyway, switch
    to the "base-devel" tag.
    
    "dev86" package is now available from the main repo, no need for
    multilib repo anymore.
    
    It is recommended to initialise local signing key used by pacman, so
    let's do that.
    
    Replace "markdown" by "discount" as the former isn't available anymore
    and has been replaced by the later.
    
    Also, clean pacman's cache.
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 26ecc08b98fce0d927386058404961768d7830ca
Author: Anthony PERARD <anthony.perard@citrix.com>
Date:   Tue Feb 28 18:22:26 2023 +0000

    automation: Always pull base image when building a container
    
    Ask docker to check if there's an update of the base image to avoid
    using an old container cached locally.
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 976ae57b30d0e9432b51ca2ff408d8e52f40f280
Author: Xenia Ragiadakou <burzalodowa@gmail.com>
Date:   Tue Feb 28 16:06:06 2023 +0100

    x86/vpmu: rename {svm,vmx}_vpmu_initialise to {amd,core2}_vpmu_initialise
    
    PMU virtualization is not dependent on the hardware virtualization support.
    Rename {svm,vmx}_vpmu_initialise to {amd,core2}_vpmu_initialise because
    the {svm,vmx} prefix is misleading.
    
    Take the opportunity to remove the also misleading comment stating that
    vpmu is specific to hvm guests, and correct the filename.
    
    No functional change intended.
    
    Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 1c2cb0b82a777ce8853c083e35997d335400f313
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Feb 28 16:05:48 2023 +0100

    half-revert "change assorted xenbits.xen.org links to HTTPS"
    
    This reverts the build system relevant half of commit
    a4557f515fb002010b34b79102278ea03d6b31a3, as gitlab CI can't fully cope
    with the change just yet.
    
    Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>

commit a4557f515fb002010b34b79102278ea03d6b31a3
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Feb 28 14:52:14 2023 +0100

    change assorted xenbits.xen.org links to HTTPS
    
    Also switch to xenbits.xenproject.org at this occasion.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit f1315e48a03a42f78f9b03c0a384165baf02acae
Author: Sergey Dyasli <sergey.dyasli@citrix.com>
Date:   Tue Feb 28 14:51:28 2023 +0100

    x86/ucode/AMD: late load the patch on every logical thread
    
    Currently late ucode loading is performed only on the first core of CPU
    siblings.  But according to the latest recommendation from AMD, late
    ucode loading should happen on every logical thread/core on AMD CPUs.
    
    To achieve that, introduce is_cpu_primary() helper which will consider
    every logical cpu as "primary" when running on AMD CPUs.  Also include
    Hygon in the check for future-proofing.
    
    Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 12:58:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 12:58:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504031.776509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXM2o-0005ZV-6o; Wed, 01 Mar 2023 12:58:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504031.776509; Wed, 01 Mar 2023 12: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 1pXM2o-0005ZO-3d; Wed, 01 Mar 2023 12:58:54 +0000
Received: by outflank-mailman (input) for mailman id 504031;
 Wed, 01 Mar 2023 12: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=Km5w=6Z=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pXM2m-0005ZI-Ri
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 12:58:53 +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 d0b865e2-b830-11ed-96a4-2f268f93b82a;
 Wed, 01 Mar 2023 13:58:52 +0100 (CET)
Received: from DU2P250CA0005.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:231::10)
 by DU0PR08MB7810.eurprd08.prod.outlook.com (2603:10a6:10:3b6::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Wed, 1 Mar
 2023 12:58:31 +0000
Received: from DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:231:cafe::e6) by DU2P250CA0005.outlook.office365.com
 (2603:10a6:10:231::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17 via Frontend
 Transport; Wed, 1 Mar 2023 12:58:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT007.mail.protection.outlook.com (100.127.142.161) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.18 via Frontend Transport; Wed, 1 Mar 2023 12:58:31 +0000
Received: ("Tessian outbound c2bcb4c18c29:v135");
 Wed, 01 Mar 2023 12:58:31 +0000
Received: from 23ad23beddcf.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CC5AB4EC-5BEC-44FA-9883-88F4BFE22EA1.1; 
 Wed, 01 Mar 2023 12:58:21 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 23ad23beddcf.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 01 Mar 2023 12:58:21 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB6581.eurprd08.prod.outlook.com (2603:10a6:20b:33a::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Wed, 1 Mar
 2023 12:58:16 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Wed, 1 Mar 2023
 12:58:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0b865e2-b830-11ed-96a4-2f268f93b82a
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: 554768b3bde68d82
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Gsp0hneMtamq9DE7yU1IzEiofVr/wL6Ys9PEtPIhksMVJ3N3znAFe9DO5V4AN1MknEjCa7ptBPTzyqmB8R4pKD7XnOn0+Ev5FEIaWmqMdPzs4Xez+lOQ7w4lQmzyARJmiwKFp4j7saLM8+1/wG6jOz2SLC3ET+vak4ED/DmwdVrEpnQYcJ2GZM2ryJMRl6S0GNOijC/8nV+zQrE7nzv6M2ln6Jcjjd0eiCzSzZ9BtFrjrr8DJhMuSQDB+zQ3wRpjTkD2vrxNzWCSr/ds+jaU/U4TAye0IhW5CHidgFdBA9nFpaz3PKON3KgiEMF89vKu14mieTfUXDV37lOwK5/Ijw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FQoDK29fiaGnolOUfOuRZGypB3Ndo2P6LtThh5ULN5c=;
 b=T3kCkQ/TdGKdMfAb2MK1K6ptptuqiEeFLzRmSFbkn0gl85t0u3WNYkw+JaSegdqPEObLwVGsjLOO83eeTuZ4pygpvPM7RxReZJocNpF+4KTBFwFhOKDZgiBDMscGuKdvyX8RXVsD+JwKlhm7GcFHTzp4xKxuRd1OO/mXuUm9UuUQR/CvAMs/q5lAM45Th9CHHIaRZZEd0oSxNlu1gYY6tZeXfdQxdz38oai+vwjd+a0YljCbNzdIiJGosf/22kJpJvDv81NHkLmOIazMEzO8aVDrRuk+cngj5Ev5i19RhQ/2VYgMTGKzwQeSSbuxHTTgpRdSuzd/awp6LszVwc9j7w==
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=FQoDK29fiaGnolOUfOuRZGypB3Ndo2P6LtThh5ULN5c=;
 b=lR8b58ePX4+ptdGydksZ5HDHinCH93Qq84tXF010MscEx6APe/kwfQ9ufeoVsVLAUOauLO40Z7QL+BpoDeoAMsiIIJTElxw/6DHM1ZHi81eg6Wt9FDcJN1xSf/Z1QqVPJKNMnQkRMl9wE6dXtSYYB8gBWkFmXTsv3GdFBG2rSDk=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 12/20] xen/arm: ffa: send guest events to Secure
 Partitions
Thread-Topic: [XEN PATCH v7 12/20] xen/arm: ffa: send guest events to Secure
 Partitions
Thread-Index: AQHZRtMbJTLQExtpBE6ThIQepjPcla7km2EAgAEk3QCAAC0KAA==
Date: Wed, 1 Mar 2023 12:58:16 +0000
Message-ID: <8D294745-AE0E-41B7-9B42-7C463AC77F93@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <cfd9ae67bdf24bee796b418937dd1486018fd188.1677079672.git.jens.wiklander@linaro.org>
 <3DE2B127-8820-400A-86FC-3A38F40CADFD@arm.com>
 <CAHUa44EjD7mSE0DZShoRh9PAPVPWXL0gXUpi69s-2ktaMMSa8A@mail.gmail.com>
In-Reply-To:
 <CAHUa44EjD7mSE0DZShoRh9PAPVPWXL0gXUpi69s-2ktaMMSa8A@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.3731.400.51.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_|AS8PR08MB6581:EE_|DBAEUR03FT007:EE_|DU0PR08MB7810:EE_
X-MS-Office365-Filtering-Correlation-Id: b27b253b-af9c-45df-8f0e-08db1a54a8d2
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:
 XCgHuGgCbA4yeIfAJ3ZU/o913usIJGZnbXRFuT4/GWf8eWGhKs3s8QUlV24pi9fcR+CtmOJe/vP58KvQ6KClGb9fY4UUCBgTWGUOCLu5RlDMi8t02ih2kNghPAWWNCGhvzsP5EgqYxbsSCn9q+KNtB8y0GYbEyfphf6VJjNwnDGQvz/eTroHxBNGUssXFKFQRX961uzvop254Xzzyrdr2oSUZylRv/fsRpvvQ3buVGlHb07gCErQkRp3l+X9e/Zse1dm2bJB9w7NIKaq2CbImFGY1KRklqq2wCgLW9Q6UMaCfaeVaBg4tUCKwgJJKX1irmQCcO4NpMhE1w5CNyh8JwhC39Gr3b5SIAoy3bevHMred3Rc1yScrpCBcMzB73o70QMtTRHXCOQPqLVzX8sw3HPkF75SScjPMbNodxjwDue6kRystdJeS+QJ6Dmb7fZh96YSkoSiq6joRjF3UU3U0Wkf0iEbQQ5qc+XhNVlA6O9hJc8/c4fS4tQk98MK4iN0TXYxu7nrYEciwpFRlhG1vIsdtQY7y9PLIuH7aeb9GzhpePv+MZDQnWjESEoeyXKnruABO4Q4cbZzlEtRUPevX8G4gNjkJScDW1ReQZHLUYFJKKKVa6NKVH9825l+UBGtU2VE4E7OjnZHLmNlqKogMl6lIpSlInpOAvXTHQDuOlK1/Dna86Sx00WC3zGgOddvCiRFjAN3uUOixuWQoZjLbTmvvcEaOAI4twWZsoe7PBI=
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:(13230025)(4636009)(366004)(136003)(39860400002)(376002)(396003)(346002)(451199018)(36756003)(478600001)(83380400001)(54906003)(316002)(33656002)(4326008)(122000001)(64756008)(66446008)(8676002)(38100700002)(76116006)(6916009)(66476007)(53546011)(6506007)(2616005)(91956017)(6512007)(186003)(71200400001)(6486002)(5660300002)(66946007)(66556008)(30864003)(41300700001)(8936002)(38070700005)(86362001)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <43C1CF303103F14E99471C66D5A397D7@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6581
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ee6ecd5d-7910-416e-3581-08db1a54a001
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	umndVVLeVsCjEn6ErkOPryy4StnWgpJt9x1Dhwzw8+J5LvymGst3l45eUj3V9DH8ghnRrQXT1ZNJJxYX/3Qro+P3IYNzriUDrPlq5v8iKRsIvf96A3Y9Q1QYvK8r/Zfn66dqFxK3jhzonvUBQtcSjX3lL9/3tXywXFNaCM35BY/DyDr+5o+1OL5Dt/+RFtgdWFMCGjofRsNczFi1TbtuRp9JpeHDCc89vx13WBqz9xSyJf0Wj5+JpswcB1FYqoe+G1g2sebR9yTcRCHBF7hMYOH5aJdZmzvJ6Wa7xHUB6xieiQAMOwTfsXMBYbbP4LmQIL3Ruc3d10M/dq3H/vZCEbeAxaB/8HtNg0vxatXzNS0yTn7KNBtfRHGfQB+USqZjMLzQV0JhQa2aYz3bjJ5eoymF61IctOdtTtTDJN2GJ2kmOesqDe50ZH6Km9RXLDVucrrZN+5rCfhJg2PD//aPDUhcYLqWsmXh1CzMrIoA3/FmmrFAQgJ6XSaSi5BzbRMBoHM5u3bXLFx8rKLjJzvgiahXaQ05MZqxdcIr/WLb4/HlK0Z+6tdgwwe8kupWGfCUkOkc9XCc/UV39lfs9TlpleUFhXNoTuCFVhS++mP3UQVo4N8Uv2uFP9M29xH/pR/r8IftzsX5ZWHyr1gZceHePsBKKmTwiW8QPQ02p/Bh9eSHRlHX4TK80L4Lq3BD8Z4Qb1SQqcvm7cHHFS+V1BImRQ==
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:(13230025)(4636009)(136003)(39860400002)(396003)(376002)(346002)(451199018)(40470700004)(46966006)(36840700001)(36756003)(82310400005)(83380400001)(478600001)(336012)(47076005)(54906003)(316002)(33656002)(82740400003)(4326008)(40480700001)(81166007)(8676002)(36860700001)(6512007)(53546011)(40460700003)(186003)(6506007)(2616005)(26005)(6486002)(5660300002)(70206006)(70586007)(30864003)(86362001)(41300700001)(6862004)(8936002)(2906002)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 12:58:31.4847
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b27b253b-af9c-45df-8f0e-08db1a54a8d2
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7810

Hi Jens,

> On 1 Mar 2023, at 11:16, Jens Wiklander <jens.wiklander@linaro.org> wrote=
:
>=20
> Hi Bertrand,
>=20
> On Tue, Feb 28, 2023 at 5:49 PM Bertrand Marquis
> <Bertrand.Marquis@arm.com> wrote:
>>=20
>> Hi Jens,
>>=20
>>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
>>>=20
>>> The FF-A specification defines framework messages sent as direct
>>> requests when certain events occurs. For instance when a VM (guest) is
>>> created or destroyed. Only SPs which have subscribed to these events
>>> will receive them. An SP can subscribe to these messages in its
>>> partition properties.
>>>=20
>>> Adds a check that the SP supports the needed FF-A features
>>> FFA_PARTITION_INFO_GET and FFA_RX_RELEASE.
>>>=20
>>> The partition properties of each SP is retrieved with
>>> FFA_PARTITION_INFO_GET which returns the information in our RX buffer.
>>> Using FFA_PARTITION_INFO_GET changes the owner of the RX buffer to the
>>> caller (us), so once we're done with the buffer it must be released
>>> using FFA_RX_RELEASE before another call can be made.
>>>=20
>>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>>> ---
>>> xen/arch/arm/tee/ffa.c | 191 ++++++++++++++++++++++++++++++++++++++++-
>>> 1 file changed, 190 insertions(+), 1 deletion(-)
>>>=20
>>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>>> index 07dd5c36d54b..f1b014b6c7f4 100644
>>> --- a/xen/arch/arm/tee/ffa.c
>>> +++ b/xen/arch/arm/tee/ffa.c
>>> @@ -140,6 +140,14 @@
>>> #define FFA_MSG_SEND                    0x8400006EU
>>> #define FFA_MSG_POLL                    0x8400006AU
>>>=20
>>> +/* Partition information descriptor */
>>> +struct ffa_partition_info_1_1 {
>>> +    uint16_t id;
>>> +    uint16_t execution_context;
>>> +    uint32_t partition_properties;
>>> +    uint8_t uuid[16];
>>> +};
>>> +
>>> struct ffa_ctx {
>>>    uint32_t guest_vers;
>>>    bool interrupted;
>>> @@ -148,6 +156,12 @@ struct ffa_ctx {
>>> /* Negotiated FF-A version to use with the SPMC */
>>> static uint32_t ffa_version __ro_after_init;
>>>=20
>>> +/* SPs subscribing to VM_CREATE and VM_DESTROYED events */
>>> +static uint16_t *subscr_vm_created __read_mostly;
>>> +static unsigned int subscr_vm_created_count __read_mostly;
>>=20
>> In the spec the number is returned in w2 so you should utse uint32_t her=
e.
>=20
> I don't understand. This value is increased for each SP which has the
> property set in the Partition information descriptor.

Using generic types should be prevented when possible.
Here this is a subset of the number of partition which is uint32_t (wX reg)=
 so
i think this would be the logical type for this.

>=20
>>=20
>>> +static uint16_t *subscr_vm_destroyed __read_mostly;
>>> +static unsigned int subscr_vm_destroyed_count __read_mostly;
>>=20
>> Same here
>>=20
>>> +
>>> /*
>>> * Our rx/tx buffers shared with the SPMC.
>>> *
>>> @@ -237,6 +251,72 @@ static int32_t ffa_rxtx_map(register_t tx_addr, re=
gister_t rx_addr,
>>>    return ffa_simple_call(fid, tx_addr, rx_addr, page_count, 0);
>>> }
>>>=20
>>> +static int32_t ffa_partition_info_get(uint32_t w1, uint32_t w2, uint32=
_t w3,
>>> +                                      uint32_t w4, uint32_t w5,
>>> +                                      uint32_t *count)
>>> +{
>>> +    const struct arm_smccc_1_2_regs arg =3D {
>>> +        .a0 =3D FFA_PARTITION_INFO_GET,
>>> +        .a1 =3D w1,
>>> +        .a2 =3D w2,
>>> +        .a3 =3D w3,
>>> +        .a4 =3D w4,
>>> +        .a5 =3D w5,
>>> +    };
>>> +    struct arm_smccc_1_2_regs resp;
>>> +    uint32_t ret;
>>> +
>>> +    arm_smccc_1_2_smc(&arg, &resp);
>>> +
>>> +    ret =3D get_ffa_ret_code(&resp);
>>> +    if ( !ret )
>>> +        *count =3D resp.a2;
>>> +
>>> +    return ret;
>>> +}
>>> +
>>> +static int32_t ffa_rx_release(void)
>>> +{
>>> +    return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
>>> +}
>>> +
>>> +static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
>>> +                                      uint8_t msg)
>>=20
>> This function is actually only useable to send framework created/destroy=
ed
>> messages so the function name should be adapted to be less generic.
>>=20
>> ffa_send_vm_events ?
>>=20
>> unless you want to modify it later to send more framework messages ?
>=20
> That was the plan, but that may never happen. I'll rename it to
> ffa_send_vm_event() since we're only sending one event at a time.
>=20
>>=20
>>> +{
>>> +    uint32_t exp_resp =3D FFA_MSG_FLAG_FRAMEWORK;
>>> +    int32_t res;
>>> +
>>> +    if ( msg =3D=3D FFA_MSG_SEND_VM_CREATED )
>>> +        exp_resp |=3D FFA_MSG_RESP_VM_CREATED;
>>> +    else if ( msg =3D=3D FFA_MSG_SEND_VM_DESTROYED )
>>> +        exp_resp |=3D FFA_MSG_RESP_VM_DESTROYED;
>>> +    else
>>> +        return FFA_RET_INVALID_PARAMETERS;
>>> +
>>> +    do {
>>> +        const struct arm_smccc_1_2_regs arg =3D {
>>> +            .a0 =3D FFA_MSG_SEND_DIRECT_REQ_32,
>>> +            .a1 =3D sp_id,
>>> +            .a2 =3D FFA_MSG_FLAG_FRAMEWORK | msg,
>>> +            .a5 =3D vm_id,
>>> +        };
>>> +        struct arm_smccc_1_2_regs resp;
>>> +
>>> +        arm_smccc_1_2_smc(&arg, &resp);
>>> +        if ( resp.a0 !=3D FFA_MSG_SEND_DIRECT_RESP_32 || resp.a2 !=3D =
exp_resp )
>>> +        {
>>> +            /*
>>> +             * This is an invalid response, likely due to some error i=
n the
>>> +             * implementation of the ABI.
>>> +             */
>>> +            return FFA_RET_INVALID_PARAMETERS;
>>> +        }
>>> +        res =3D resp.a3;
>>> +    } while ( res =3D=3D FFA_RET_INTERRUPTED || res =3D=3D FFA_RET_RET=
RY );
>>=20
>> We might end up in an infinite loop here or increase interrupt response =
time.
>> In the general case we could return that code directly to the VM but her=
e we
>> are in the VM creation/destroy path so we cannot do that.
>>=20
>> Maybe in debug mode at least we should have a retry counter here for now
>> with a print ?
>=20
> OK, I'll add something.
>=20
>>=20
>>> +
>>> +    return res;
>>> +}
>>> +
>>> static uint16_t get_vm_id(const struct domain *d)
>>> {
>>>    /* +1 since 0 is reserved for the hypervisor in FF-A */
>>> @@ -371,6 +451,10 @@ static bool ffa_handle_call(struct cpu_user_regs *=
regs)
>>> static int ffa_domain_init(struct domain *d)
>>> {
>>>    struct ffa_ctx *ctx;
>>> +    unsigned int n;
>>> +    unsigned int m;
>>> +    unsigned int c_pos;
>>> +    int32_t res;
>>>=20
>>>     /*
>>>      * We can't use that last possible domain ID or get_vm_id() would c=
ause
>>> @@ -383,24 +467,121 @@ static int ffa_domain_init(struct domain *d)
>>>    if ( !ctx )
>>>        return -ENOMEM;
>>>=20
>>> +    for ( n =3D 0; n < subscr_vm_created_count; n++ )
>>> +    {
>>> +        res =3D ffa_direct_req_send_vm(subscr_vm_created[n], get_vm_id=
(d),
>>> +                                     FFA_MSG_SEND_VM_CREATED);
>>> +        if ( res )
>>> +        {
>>> +            printk(XENLOG_ERR "ffa: Failed to report creation of vm_id=
 %u to  %u: res %d\n",
>>> +                   get_vm_id(d), subscr_vm_created[n], res);
>>=20
>> in this function, get_vm_id(d) will not change so i would suggest to sto=
re it in a local variable
>> instead of calling get_vm_id each time.
>=20
> OK
>=20
>>=20
>>> +            c_pos =3D n;
>>> +            goto err;
>>> +        }
>>> +    }
>>> +
>>>    d->arch.tee =3D ctx;
>>>=20
>>>    return 0;
>>> +
>>> +err:
>>> +    /* Undo any already sent vm created messaged */
>>> +    for ( n =3D 0; n < c_pos; n++ )
>>> +        for ( m =3D 0; m < subscr_vm_destroyed_count; m++ )
>>> +            if ( subscr_vm_destroyed[m] =3D=3D subscr_vm_created[n] )
>>> +                ffa_direct_req_send_vm(subscr_vm_destroyed[n], get_vm_=
id(d),
>>> +                                       FFA_MSG_SEND_VM_DESTROYED);
>>> +
>>> +    return -ENOMEM;
>>=20
>> The VM creation is not failing due to missing memory here.
>> We need to find a better error code.
>> Maybe ENOTCONN ?
>> I am open to ideas here :-)
>=20
> That makes sense, I'll change it to ENOTCONN.
>=20
>>=20
>>> }
>>>=20
>>> /* This function is supposed to undo what ffa_domain_init() has done */
>>> static int ffa_relinquish_resources(struct domain *d)
>>> {
>>>    struct ffa_ctx *ctx =3D d->arch.tee;
>>> +    unsigned int n;
>>> +    int32_t res;
>>>=20
>>>    if ( !ctx )
>>>        return 0;
>>>=20
>>> +    for ( n =3D 0; n < subscr_vm_destroyed_count; n++ )
>>> +    {
>>> +        res =3D ffa_direct_req_send_vm(subscr_vm_destroyed[n], get_vm_=
id(d),
>>> +                                     FFA_MSG_SEND_VM_DESTROYED);
>>> +
>>> +        if ( res )
>>> +            printk(XENLOG_ERR "ffa: Failed to report destruction of vm=
_id %u to  %u: res %d\n",
>>> +                   get_vm_id(d), subscr_vm_destroyed[n], res);
>>> +    }
>>> +
>>>    XFREE(d->arch.tee);
>>>=20
>>>    return 0;
>>> }
>>>=20
>>> +static bool init_subscribers(void)
>>> +{
>>> +    struct ffa_partition_info_1_1 *fpi;
>>> +    bool ret =3D false;
>>> +    uint32_t count;
>>> +    int e;
>>> +    uint32_t n;
>>> +    uint32_t c_pos;
>>> +    uint32_t d_pos;
>>> +
>>> +    if ( ffa_version < FFA_VERSION_1_1 )
>>> +        return true;
>>=20
>> Correct me if i am wrong but on 1.0 version we cannot retrieve the count=
 but
>> we could do the slow path and do a first loop on info_get until we get a=
n error ?
>=20
> Sending the events is not supported in 1.0 so there's nothing to
> record in that case.

Please add a comment here to say that subscribers are only supported after =
1.1
and also mention it in the commit message.

Cheers
Bertrand

>=20
> Thanks,
> Jens
>=20
>>=20
>>> +
>>> +    e =3D ffa_partition_info_get(0, 0, 0, 0, 0, &count);
>>> +    if ( e )
>>> +    {
>>> +        printk(XENLOG_ERR "ffa: Failed to get list of SPs: %d\n", e);
>>> +        goto out;
>>> +    }
>>> +
>>> +    fpi =3D ffa_rx;
>>> +    subscr_vm_created_count =3D 0;
>>> +    subscr_vm_destroyed_count =3D 0;
>>> +    for ( n =3D 0; n < count; n++ )
>>> +    {
>>> +        if (fpi[n].partition_properties & FFA_PART_PROP_NOTIF_CREATED)
>>> +            subscr_vm_created_count++;
>>> +        if (fpi[n].partition_properties & FFA_PART_PROP_NOTIF_DESTROYE=
D)
>>> +            subscr_vm_destroyed_count++;
>>> +    }
>>> +
>>> +    if ( subscr_vm_created_count )
>>> +        subscr_vm_created =3D xzalloc_array(uint16_t, subscr_vm_create=
d_count);
>>> +    if ( subscr_vm_destroyed_count )
>>> +        subscr_vm_destroyed =3D xzalloc_array(uint16_t,
>>> +                                            subscr_vm_destroyed_count)=
;
>>> +    if ( (subscr_vm_created_count && !subscr_vm_created) ||
>>> +         (subscr_vm_destroyed_count && !subscr_vm_destroyed) )
>>> +    {
>>> +        printk(XENLOG_ERR "ffa: Failed to allocate subscription lists\=
n");
>>> +        subscr_vm_created_count =3D 0;
>>> +        subscr_vm_destroyed_count =3D 0;
>>> +        XFREE(subscr_vm_created);
>>> +        XFREE(subscr_vm_destroyed);
>>> +        goto out;
>>> +    }
>>> +
>>> +    for ( c_pos =3D 0, d_pos =3D 0, n =3D 0; n < count; n++ )
>>> +    {
>>> +        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_CREATED=
 )
>>> +            subscr_vm_created[c_pos++] =3D fpi[n].id;
>>> +        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_DESTROY=
ED )
>>> +            subscr_vm_destroyed[d_pos++] =3D fpi[n].id;
>>> +    }
>>> +
>>> +    ret =3D true;
>>> +out:
>>> +    ffa_rx_release();
>>> +
>>> +    return ret;
>>> +}
>>> +
>>> static bool ffa_probe(void)
>>> {
>>>    uint32_t vers;
>>> @@ -447,7 +628,8 @@ static bool ffa_probe(void)
>>>    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
>>>           major_vers, minor_vers);
>>>=20
>>> -    if (
>>> +    if ( !check_mandatory_feature(FFA_PARTITION_INFO_GET) ||
>>> +         !check_mandatory_feature(FFA_RX_RELEASE) ||
>>> #ifdef CONFIG_ARM_64
>>>         !check_mandatory_feature(FFA_RXTX_MAP_64) ||
>>> #endif
>>> @@ -475,6 +657,9 @@ static bool ffa_probe(void)
>>>    ffa_page_count =3D 1;
>>>    ffa_version =3D vers;
>>>=20
>>> +    if ( !init_subscribers() )
>>> +        goto err_free_ffa_tx;
>>> +
>>>    return true;
>>>=20
>>> err_free_ffa_tx:
>>> @@ -485,6 +670,10 @@ err_free_ffa_rx:
>>>    ffa_rx =3D NULL;
>>>    ffa_page_count =3D 0;
>>>    ffa_version =3D 0;
>>> +    XFREE(subscr_vm_created);
>>> +    subscr_vm_created_count =3D 0;
>>> +    XFREE(subscr_vm_destroyed);
>>> +    subscr_vm_destroyed_count =3D 0;
>>>=20
>>>    return false;
>>> }
>>> --
>>> 2.34.1
>>>=20
>>=20
>> Cheers
>> Bertrand




From xen-devel-bounces@lists.xenproject.org Wed Mar 01 13:06:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 13:06:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504035.776519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXM9e-0007PM-U6; Wed, 01 Mar 2023 13:05:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504035.776519; Wed, 01 Mar 2023 13:05: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 1pXM9e-0007PF-RM; Wed, 01 Mar 2023 13:05:58 +0000
Received: by outflank-mailman (input) for mailman id 504035;
 Wed, 01 Mar 2023 13: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=nLqk=6Z=citrix.com=prvs=417c45763=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pXM9c-0007P9-PY
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 13:05:57 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ca82ef15-b831-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 14:05:53 +0100 (CET)
Received: from mail-bn7nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Mar 2023 08:05:41 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5198.namprd03.prod.outlook.com (2603:10b6:208:19e::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Wed, 1 Mar
 2023 13:05:38 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6134.030; Wed, 1 Mar 2023
 13:05: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: ca82ef15-b831-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677675953;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=aadJC1iTn4lLQPFMgwUhplmnbOj+G3QekYaEkl0oS3c=;
  b=ArXB/NNUlnnJNlJ47Hpkjo1G4Cw+QAxrDcKSpRicJ3wkk3dK7IYtggA6
   EfhAnToG8STu2PUjvscuVXEYUg7KurCbj4rVBUT3e3aS+fUJzmCiwUQY7
   hN8sAnOHygc0/Irj6xW+x1Mt29Mt3HWdX191RKcqvuu0pOnhxlm8co2KB
   Q=;
X-IronPort-RemoteIP: 104.47.70.105
X-IronPort-MID: 101436795
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:0jj896twU6exU3LqnNnjcgujsefnVL5fMUV32f8akzHdYApBsoF/q
 tZmKW+GOPyNM2ekc9x/a9/i/U1Q6pHVxtZrTVA+pXs3EXgW+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASGziFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwMiwrczKx2rKP452EdvJIitoCM+PoBdZK0p1g5Wmx4fcOZ7nmGv2Pz/kHmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0ouiP60aIe9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgr6Ix3gLCmwT/DjUGdAufgOKwsHW5ZPxee
 0IOxHYCiIItoRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAOUyRTYdghuMgpTBQl0
 1aIm5XiAjkHmKKRYWKQ8PGTtzzaESoIKykEbCwNTwoA6vHipp0+ilTESdMLOK24kNzzXy3xy
 jairS4iirFVhskOv42r8FaCjz+yq5zhSg8u+h6RTm+j9hl+ZoOue8qv81ez0BpbBIOQT13Et
 n5bncGbtbgKFcvUzHHLR/gRFra04frDKCfbnVNkA5gm8XKq5mKneodTpjp5IS+FL/o5RNMgW
 2eL0Ss52XOZFCDCgXNfC25pN/kX8A==
IronPort-HdrOrdr: A9a23:DmWYw6i2h5e/HDUbr4CdDqAdWXBQXvgji2hC6mlwRA09TyX4rb
 HKoB1/73WYtN9/Yh0dcLy7V5VoOEmskqKdgrNhX4tKPjOHhILAFugL0WKF+VPd8kbFh41gPM
 lbEpSWP+eAaWSS3fyQ3OBhKadb/DBcytHRuQ4C9QYKcei3UdAa0+6mMHfnLqUYLDM2fKYEKA
 ==
X-IronPort-AV: E=Sophos;i="5.98,224,1673931600"; 
   d="scan'208";a="101436795"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oJ99BwJIkBBwYI9FOQsA4QS0mVd8QPUqfaMQEl/8jHAk1QjWlp6aj9TDOqmhvlQ15JvtZ0Tu/Dh2fUmB+TqgzMpz9JvehaiJzGPDM7NgDuz5wrKF7Xz0Slg4vkdCSZrmhqva30bdeHGpSO4ic08EJM85RmswvP8xWfiy5EAMVQ4kDPu4ONRi5lCTDdyoXgyP5VkJrzxaz5YKbT4TpaJyNPph21Hmog2OxBP3Wmun0ypoxZrpIvbR4NxUB2qogTRlb/QOQ3YG3m/fVXP0I57s7ZkgqJJE+NYmTnW5WzlklMDaovbS17kPUzmSxnhJCzFZUCjVQc0oM+7dI5VKV8DKpw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KyDq4tgG8c/dGgCmChWu9MmDNCIb7NVa3KtQ/Z9+Uws=;
 b=cYsZdzh87WhigYpN54cITHC7FkFMWbqvPrI/513D0aA1uPS95Tm03DXB0S79WuHPetl2VD8y+Ee2bNEwEi+SWZhrM6KCbKILabWhV8pGsw4Ach4zYQS/+LerhtuEgkgQR/IYAUVZJFZJBGtI6/rQBYxP+2FfC96o9+Ls5v0zlimRsVuMA1IbaZf7f2Pv958y3tkd6rQzzkuFsb5yl0zeI0XjJgDSK0sxlYwETL529y0265kzfdJYqU2YjXJy1yPE/auU8+rzFhnpl60aXjazF4cR7Ism1GQSFwQrXoSzUn8jLm0V/QBbYZsH21Z807w0BcSUL4BrTIrIx0fZN076Vw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KyDq4tgG8c/dGgCmChWu9MmDNCIb7NVa3KtQ/Z9+Uws=;
 b=CSMIj31RlNZZgZWHOQ1IM5JFIJj61RSYx7RHZ5sKs+tz3p63sGNbA6x0L24mazFVR8l1HMsgmCt6sPPIdtki2BRJM5X0t34ckf4kcfkFgfngCdS3k5g1+irCD4yhja5WuxMFW7UiAQD6tZxENVKRtSFEStG1QbZd3rEhc8RA95c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <3f45d953-fea1-355d-0366-35f63958184a@citrix.com>
Date: Wed, 1 Mar 2023 13:05:32 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 00/14] x86/hvm: {svm,vmx} {c,h} cleanup
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Xenia Ragiadakou <burzalodowa@gmail.com>
Cc: =?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>, xen-devel@lists.xenproject.org
References: <20230224185010.3692754-1-burzalodowa@gmail.com>
 <e51c2ed6-4dc2-bf77-5d89-7023b3201fd0@citrix.com>
 <8745c599-bf9f-1eec-739f-3d42920dc546@gmail.com>
 <989903f7-4ea0-a1d8-923f-efb84c70ba21@citrix.com>
 <aa326f9a-94ca-75b9-6d4a-ab6fdf992c29@suse.com>
 <2fec6c39-f73c-719b-7bc9-02e1ec3f195b@citrix.com>
 <5e623eaa-ce32-e3ac-2089-68bf8125b5db@suse.com>
 <18b9b99e-1d93-73d8-f9b8-873f44287c5c@citrix.com>
 <60252bef-c732-b061-8ec0-c4022eb41255@suse.com>
 <dc6b36df-f46d-0903-0789-5dda74490eca@gmail.com>
 <491961e2-f9a3-2bd5-e757-a094577ed068@suse.com>
In-Reply-To: <491961e2-f9a3-2bd5-e757-a094577ed068@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0563.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:33b::11) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|MN2PR03MB5198:EE_
X-MS-Office365-Filtering-Correlation-Id: d5e1d7ce-7d95-4367-c878-08db1a55a712
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2PqCG60/N3E6ns2g3iU75OotjaGDKRCfN7sU94AmehQi0hO1Wb7h6yWexqVCdZEN8AJtW7y34hTWh0eARF4Sg+DJ9ckbshIwCsFFWj0Q2p03bM4VrbDfUryXUCqsWN5WmNTYyF3W6zwk9VQTQx3l5MtcMgo1ZCxOKJyOv49gGubU5bDhrb/9N/NOmN2LrdNkmknmIs17YlpCRc4FQatuKhBWJXkKFmbblb1r+KXkWOmpFpxweyID4P/xtJhErg2+YIXd459ubQeWnyYr8RiomS3CpOnTLp7iVngk5DRhhFQKBLC8XepS2jpn5FpuKYHhHJHYytgrraeXii37T3JjKpOo+ned4dp4yo2UZWU6Pdhr8UsuaArrWQHTbNZcdDgADHWqa9llYZGeodc+8DDl8qfH0s6aZhjA/Juu3/lljwE4OcKbdCCOL6fK5c5aYfzCPWY4KTIkVu/wKcYCJaXVCyKR3dd4JpMkCL+Smq7aTZdB4yTJBYLowa9D+gTI//csWs91kYoxb3f/GwVlOqPkcoWm31izggTluold5Unhcx9k6JOF9ZwcGrSRy82KkeOhVTA9n06crfREobTTqGSi830tH4aCgQzyEctnIv3Rmek2wBwYG1vWaBQaLcXoW2Om1njnIsRjBAl4/TxNz4EienPD51JIMdrdqEx6cLORjhyefjqwpLb4WFDoJvVN3b6WDXMJEDTgFJ9yqzTLrM4KdRYAztYJMxitA3XGvlrGSvI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(396003)(366004)(39860400002)(136003)(346002)(451199018)(86362001)(31686004)(31696002)(2616005)(5660300002)(110136005)(8936002)(83380400001)(54906003)(41300700001)(186003)(6506007)(26005)(6512007)(8676002)(66476007)(66556008)(66946007)(82960400001)(4326008)(478600001)(316002)(6486002)(53546011)(2906002)(6666004)(38100700002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YmkxTUJpbWV5L0hMTXlESEkxbHg1eWFweGoybVFMUHo3VHZPODhRVmorNnI4?=
 =?utf-8?B?YU8wSXl0cVVEc0x1K0RtWDdTSDYxSmZsM1F6WmZmU0g0WHp4UXhmY0djYVMr?=
 =?utf-8?B?Q2xldWVDN05qa2ZidFZMY1Vla1JHYVBLSHdjbVptODZNYTRITXRZbGZHNmpq?=
 =?utf-8?B?WjljSFg4ZW42ZXl1TlBqc0VHRGhYM0FtMitNcTF1MXJlQVE3WGZlbmxHa3Vv?=
 =?utf-8?B?SmQxaW42d2ZSblJwUjRZeDZ6VmJab1ZMdklYZ3RMbm1EQ2VBelI4QjFtUHFT?=
 =?utf-8?B?cmQ2SUErcndJVFUxOVNSNldqNDNEeEpSblRyUFVvQ2I4MU9mTFlBK3BzMFdJ?=
 =?utf-8?B?YnFjdjBxMGgwRnFPcWVnem1FdDFnc3cvNkFia3R1MUIzd2xLNnVueWh3Y1c1?=
 =?utf-8?B?Q0JCcUVCbThaelhsUmlpa01ScmVmdFltcm1iOVlHUTVOMmJTWmpCWUw5d3I5?=
 =?utf-8?B?eGhjQUNhNzdrVjVseXUwOE0rTFlNUXc3Q2VKSE5HUloyQkVkOXZJZnFmVmFK?=
 =?utf-8?B?bnpIVzFQMVN0NWtMMDRVY2Fhb0hrbXIrYWwyU3U4Y09EWkVFV0hwZlhVWkhP?=
 =?utf-8?B?OU5WWVdlTHlJR01sdW5LekdOdWRDczBGdDhNbk1WYXc5dUc4cFZTMCszYnhs?=
 =?utf-8?B?bk0vY1BLVC9mNDR6S2xoWnp5aUpUVTk5VEZpRnBUUmdzOUNxc0NjS29GV3Za?=
 =?utf-8?B?aDNmb1c3Nk5jbXBaWWdML3ZHbUVPMEVPbW1CUGhmTHVaaXhkTldYRDZpeGRT?=
 =?utf-8?B?TFFXaUhkcStKSVE4L052RW5iM1N2cWJVNFJvNVl0elh6UzhpOW5JVWdqd09R?=
 =?utf-8?B?TjlsbFkyQlNYc1NRUmp5b2ZaMlhpUXZ4ZmFIY1F3aVdsaWVyMTAwSXZIdlV0?=
 =?utf-8?B?bWxQTHd4YkpTVnpxVDNiMjJVRGR3SDZkSlpwcEJzVmNUcFBkL1IrNzl5Ym43?=
 =?utf-8?B?SWNLRGZvMk5PRDRRbXhHR3hwcEh6RlIzNHRRSG1tN2s2NEtqM1BzUTFXV0pw?=
 =?utf-8?B?TUZXV01wQk1MTVVUamY0L3VlZzZ5SGlyVkpscWJITlRuMnFkVW1uVTVoZSt0?=
 =?utf-8?B?THoveExBbC9pT2t2Z28rZ0tzR3pzQVcxYVBkWkR0NFRQdDVkNXVLay9sZTlu?=
 =?utf-8?B?WXJOT1F3UkZBeFN6MTNQVGJQdlltT05YR3IwNWtnQmJUVkRGT0FudE5vdnd3?=
 =?utf-8?B?R1JNKzBWQUJsZ3FtQnQ4aUo5Qk41bFkrdjl3eDV4Q296azVwR1AxTGVXcU1O?=
 =?utf-8?B?cytMNG5sYnJvQkVGMDV4amJuN1ZyalRRV3ZWclNTcEdxYVdMNGdpUFUvZkdk?=
 =?utf-8?B?RnkyNUpEMnJOUVhaSjM4RzgzSzZWT2ZiWkRsdlRlMm1LYmtTQ29abGw2ajU2?=
 =?utf-8?B?M2NrYkdwQmZHd1JiaWFZR1kyYURZVlZkNUhDREtyZGNGdVh4cWxYYmFydkJR?=
 =?utf-8?B?YWdxOStJcHdISFZsTURhTWgzV240cVRjTUFyMEhxZGZxMXVvUGQ5aFhMYjdt?=
 =?utf-8?B?ZmhoOXFSc0hodUNJSW1vSWRuc1VBWDNXTVhuMkhWTzFlTDZLOVMxM1JlR3hW?=
 =?utf-8?B?SjVUek5aT2FlSWdSWE9MdGc0blFBTWhJLzNBVklKQ3RZa2pDb3pGeW05TjRI?=
 =?utf-8?B?N2Q5SHZ3dXJuL1RjcC9GY2lzb2RITndLdlVoMkloYTdFY09zbzNlS1RpcEwx?=
 =?utf-8?B?MllvczlUM1BZVlpWMitRYXpvRVRRQXNGSW9EQk9QVTE4enBERTJUL0o2a1BM?=
 =?utf-8?B?c2VaNTFnREcrWFpmNVdtK0QxZTJ1N3VPb2NvL3BTeUxNRlM5cGxWR0xJdW9D?=
 =?utf-8?B?dGxUTzZDZ1U0QUJDYVI2MGpHcDU5TW12NUFZL1QzaC9PZSt3TjZ6RUZSLzRm?=
 =?utf-8?B?eEZ4eEc5bDJsVlJnbllzaGVuKzl6aXhPczVmdWo4dHhOMXhIdVBEdTkvNUJ6?=
 =?utf-8?B?QVBMdzRmeCtLcFZDVk1wNEhpM2hYcXIzRXRJWFp3TXZQdERlOWZ2SjJYMG9T?=
 =?utf-8?B?eHNVeFZsZno2L0N6VWJRdFRWa0VrM1dYMmJudWFBT09XdXM5bVBia1FSaTJu?=
 =?utf-8?B?dDZGdzZWOTliR0xXWnVWZGhIR2NVa1liaUJSdm8xZmFzVmdna0cxMUwwRXZ3?=
 =?utf-8?B?OHdITEIxWUlFdlRxM1hUU3hYZVRxUTNCRXlrbEltbm9vdms2MkN3YjkyVkQ3?=
 =?utf-8?B?WXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	CTKBchZNR255sUC5UfZUsu4Eg22K+R3W6NYGTCvduTW8wEs5rm4igAwg4XJ9iGTrEU45ERykMaHJ6ByFYgMTJg7gqxcRUPlOgqyeMR5o6IkqLeRfqyQOXyB9VKHEJFQsRb0eWfFihXoKIhQ5qaLxmHWgQYy4vX8i3zOgHbIG/dy9NqoEWXJ2FymsGZmbTORNYIwrgmk1anAamQbmfS6u08gdgpw7eSH5O84H9ytZHFTvXVlMRIhUY5VZk7v7nV1qbZd+9Ln7vEpSc3+quTPYlwQkU4BYWxNSgOT9Twse2wHEKAiFu+HHu99couxsj52D84VCzsk8cRiG3RHTYnALhwxhLlQWL8hSGL5KyMNfF3ul+i+ArbVa//oH3IiSSlaDP5PrU6/HP1GMvtZEy0X2olkoDvElxPC1UZ00xpjZavYtC97wYjzAiOZG5w/LjhxLz8ey0ZO2s2pcrPoe/SffKJOR1+nCfWc+nyyLoFwSGMsUOexg+whDNGNgMwGqya+RLxYqEIldVLAdQkl1I6e/9V4cmFmc7w8843J7lJHxSP6vxAB94zliTgrpuboOMJInc8r4fUNWbiiufa1Oox0IMMHNDEMIxsH1+eEuDlDB+SbuwFmfck1Ltq7KFGQy5pRDXFeoWanR99+tZXdvE8dRMj8RYniem/LxuD/IUqMnzr3oe2zJDkPLmtl4h/bx7B/5Jdfuuug2vQLgwsg4iC9aQgCusFy1dNn4k33yp73p1AqQEDjx9+X3Fvcqn4I9rNsgchi0ol9g+4jgqTUVsaEB4TACjM4soy7oAfsEzm+/N2x9RIFhGJZWQuIcCiUqvz34nHPvx1Y+Eg54XrbR13BnmE2ZmI/w6E6VggIQcwRvpXu9i688Mcz0H3Z9mwfyUkh0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d5e1d7ce-7d95-4367-c878-08db1a55a712
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 13:05:38.2656
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c+LRrVok5qCFmjUKJx/E7ifbY5CodYlCUxgW8lEKpxSyhlRfT3DVNHG6VIvXb45la9YUQBKQzt/2gTvh4oHSu+Gk+fADkd/k233RymDNOhk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5198

On 28/02/2023 7:11 am, Jan Beulich wrote:
> On 28.02.2023 08:09, Xenia Ragiadakou wrote:
>> On 2/27/23 14:17, Jan Beulich wrote:
>>> On 27.02.2023 13:06, Andrew Cooper wrote:
>>>> On 27/02/2023 11:33 am, Jan Beulich wrote:
>>>>> On 27.02.2023 12:15, Andrew Cooper wrote:
>>>>>> On 27/02/2023 10:46 am, Jan Beulich wrote:
>>>>>>> On 24.02.2023 22:33, Andrew Cooper wrote:
>>>>>>>> But I think we want to change tact slightly at this point, so I'm not
>>>>>>>> going to do any further tweaking on commit.
>>>>>>>>
>>>>>>>> Next, I think we want to rename asm/hvm/svm/svm.h to asm/hvm/svm.h,
>>>>>>>> updating the non-SVM include paths as we go.  Probably best to
>>>>>>>> chain-include the other svm/hvm/svm/*.h headers temporarily, so we've
>>>>>>>> only got one tree-wide cleanup of the external include paths.
>>>>>>>>
>>>>>>>> Quick tangent - I will be making all of that cpu_has_svm_*
>>>>>>>> infrastructure disappear by moving it into the normal CPUID handling,
>>>>>>>> but I've not had sufficient time to finish that yet.
>>>>>>>>
>>>>>>>> Next, hvm/svm/nestedsvm.h can merge straight into hvm/svm.h, and
>>>>>>>> disappear (after my decoupling patch has gone in).
>>>>>>> Why would you want to fold hvm/svm/nestedsvm.h into hvm/svm/svm.h?
>>>>>>> The latter doesn't use anything from the former, does it?
>>>>>> It's about what else uses them.
>>>>>>
>>>>>> hvm_vcpu needs both svm_vcpu and nestedsvm, so both headers are always
>>>>>> included in tandem.
>>>>> Well, yes, that's how things are today. But can you explain to me why
>>>>> hvm_vcpu has to know nestedsvm's layout?
>>>> Because it's part of the same single memory allocation.
>>> Which keeps growing, and sooner or later we'll need to find something
>>> again to split off, so we won't exceed a page in size. The nested
>>> structures would, to me, look to be prime candidates for such.
>>>
>>>>> If the field was a pointer,
>>>>> a forward decl of that struct would suffice, and any entity in the
>>>>> rest of Xen not caring about struct nestedsvm would no longer see it
>>>>> (and hence also no longer be re-built if a change is made there).
>>>> Yes, you could hide it as a pointer.  The cost of doing so is an
>>>> unnecessary extra memory allocation, and extra pointer handling on
>>>> create/destroy, not to mention extra pointer chasing in memory during use.
>>>>
>>>>>> nestedsvm is literally just one struct now, and no subsystem ought to
>>>>>> have multiple headers when one will do.
>>>>> When one will do, yes. Removing build dependencies is a good reason
>>>>> to have separate headers, though.
>>>> Its not the only only option, and an #ifdef CONFIG_NESTED_VIRT inside
>>>> the struct would be an equally acceptable way of doing this which
>>>> wouldn't involve making an extra memory allocation.
>>> That would make it a build-time decision, but then on NESTED_VIRT=y
>>> hypervisors there might still be guests not meaning to use that
>>> functionality, and for quite some time that may actually be a majority.
>>>
>>>> Everything you've posed here is way out of scope for Xenia's series.
>>> There was never an intention to extend the scope of the work she's doing.
>>> Instead I was trying to limit the scope by suggesting to avoid a piece
>>> of rework which later may want undoing.
>> Can I suggest to leave hvm/svm/svm.h and hvm/svm/nestedsvm.h separate 
>> for now?
> As per before - that's my preference. It'll be Andrew who you would need
> to convince, as he did suggest the folding.

Please fold them.

I have strong doubts that they would actually be unfolded, even if we
did want to make nested virt a build time choice.

(I'm not actually convinced that the existing nestedvcpu structure will
survive first-pass design of a working nested virt solution.)

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 13:06:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 13:06:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504040.776529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXMAD-0007u4-BX; Wed, 01 Mar 2023 13:06:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504040.776529; Wed, 01 Mar 2023 13:06:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXMAD-0007tx-7G; Wed, 01 Mar 2023 13:06:33 +0000
Received: by outflank-mailman (input) for mailman id 504040;
 Wed, 01 Mar 2023 13: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=Km5w=6Z=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pXMAB-0007n9-1e
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 13:06:31 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20630.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e2530f35-b831-11ed-96a4-2f268f93b82a;
 Wed, 01 Mar 2023 14:06:31 +0100 (CET)
Received: from DB6PR1001CA0005.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:4:b7::15)
 by PA4PR08MB6142.eurprd08.prod.outlook.com (2603:10a6:102:ee::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Wed, 1 Mar
 2023 13:06:26 +0000
Received: from DBAEUR03FT062.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:b7::4) by DB6PR1001CA0005.outlook.office365.com
 (2603:10a6:4:b7::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18 via Frontend
 Transport; Wed, 1 Mar 2023 13:06:26 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT062.mail.protection.outlook.com (100.127.142.64) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.18 via Frontend Transport; Wed, 1 Mar 2023 13:06:26 +0000
Received: ("Tessian outbound fcd8b5fba459:v135");
 Wed, 01 Mar 2023 13:06:26 +0000
Received: from 058ec4a08d4d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D9255EDA-2C23-4734-A154-2C1A3AD32E27.1; 
 Wed, 01 Mar 2023 13:06:15 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 058ec4a08d4d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 01 Mar 2023 13:06:15 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PAXPR08MB6448.eurprd08.prod.outlook.com (2603:10a6:102:152::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Wed, 1 Mar
 2023 13:06:13 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Wed, 1 Mar 2023
 13: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: e2530f35-b831-11ed-96a4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rKcbyU1x2+pDecp4JXNBP5OuFczh/0eOuyh5Qc8Uu7c=;
 b=2WDQ4NlzR9YmkiEeBTA/SIMlv/5qo4rAVjsYSIPbJ6OIM6Qp+kOKKqzxTitRFd0cncJGhGCEdiJe/q7g7JW6wBQEibCVn65jmwXeUpFlFm5Sg4co5WjWzRWJ3aA4i1ASuYeaHDlYOX5AVHtHsQsbwAdBH5j3tZKzou7VkjSiuYE=
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: ac1f84102085ed87
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J2hqEb+pfVKxz/gn4dPVhyphlXWDwRijTMQP2NazD6QLVe1FiKkJTew0r8yzbpL4Squ8Aybx9b7vO0vCczAszkkfk3TNQ+SLrbTwFDNxBGQ/4G/sNnZQmRY6N0EAcl8uYo+Nss7Ov/oonWdHESAt0Fc4nOBQW4iAnCAm+3zvMzksF5ViEBHCrPLwKV3t2oA6F72q+oLOVnsdazg9iErTwT/D5qJpICkb1cNma0++fecAU/FK9L6+fbO7V/xoqiBUriVrK+30iT1fseCfarVnWPIShutcpFSfyQdn7gQGIvO872UGR7VO/99501iu1T09GcS1GVd11akQaTk8fImJ9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rKcbyU1x2+pDecp4JXNBP5OuFczh/0eOuyh5Qc8Uu7c=;
 b=gJXrpBRhL5KD+pG6HjxiYhQhsJVfgc83HXbiyDy48SpeOUrWwzwpSS+it85/hjRvxmlouGvH79X4JqVfnL8wdwVW9o3uQecIrU7GvGjEfE+KWa2EhpubgoaMDDFdCU60yfDcVeneDDNRp9JP1qAcUAZFw21/GgA3KQV71VMuC3KRPlyStQakMHS3auiJ8JpS0Ve/iXTa3KXXnMkovRlbY2YhuLXLNM4APNfefIun1kXIBisRbUaq1Gy/4oKB/klya0AMzc1t6CKJs+L4eQaMb/t78Aa6LtXiUS/54dRqKUV80GJ6CZaIvjp86ab1mRmi3RIydQesRygMnUSTqrao3A==
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=rKcbyU1x2+pDecp4JXNBP5OuFczh/0eOuyh5Qc8Uu7c=;
 b=2WDQ4NlzR9YmkiEeBTA/SIMlv/5qo4rAVjsYSIPbJ6OIM6Qp+kOKKqzxTitRFd0cncJGhGCEdiJe/q7g7JW6wBQEibCVn65jmwXeUpFlFm5Sg4co5WjWzRWJ3aA4i1ASuYeaHDlYOX5AVHtHsQsbwAdBH5j3tZKzou7VkjSiuYE=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 10/20] xen/arm: ffa: add direct request support
Thread-Topic: [XEN PATCH v7 10/20] xen/arm: ffa: add direct request support
Thread-Index: AQHZRtMbYfucWbm5fkaW7bEI3lX4ea7i8oGAgALYoYCAACRdAA==
Date: Wed, 1 Mar 2023 13:06:13 +0000
Message-ID: <05270146-5270-4ADE-A89A-7231D623833B@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <3332563e64568b2ffd236b1f428c27aa4cdf9790.1677079672.git.jens.wiklander@linaro.org>
 <F22A4773-94E8-4F24-A5C8-BF4E075A7698@arm.com>
 <CAHUa44FrC_S1Ot8-2s3=q5f7omZ+gsZhYTJUTMA0yVG5BBp6mw@mail.gmail.com>
In-Reply-To:
 <CAHUa44FrC_S1Ot8-2s3=q5f7omZ+gsZhYTJUTMA0yVG5BBp6mw@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.3731.400.51.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_|PAXPR08MB6448:EE_|DBAEUR03FT062:EE_|PA4PR08MB6142:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b7032b2-d213-4387-17e3-08db1a55c3fd
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:
 5VLPULP7nwL/7Z1+a9HxRBKb3SsDdxPvBL/bWC9bGYUR4hnJgpofr2c/GgHQaNy3TqbovtXmfhw2Cifk2cYr4VR9I92Ife4mZZocOpdsN6YOeWX/0GDAHVLcAVvK2/rDKlCd6bssMpT9iBKpc6DbSyus45Ne1v/fOdTTGK/p7utd3tjsZ92mvG+nTDafhOBIMmyMD7VKhGaSkee/EXFV0rbTfOy1pPwAWKpMt8RY/mt+1Dhp9IB2etbzzrW2DmQZi7a0Pl3+0FICO+JgiEKZUlUwLun6l7SZPptxfFiFmmDMl4UzVJVLS0dx7aiwjfLQ7gVQtWxL//NkPq7mWgef04B9YKM07U2+8hLTWMhTFhApFgGTNx9OlW4wZLSe+FD/XzDWxgUhpXGEVH0mnMG8JymVUgwEUTPr4GQ/2gBYM4viDcnp8UDxgma7H4XQujdrl6ITN9Yk3eu91dAG5xq9hCDrdY9bFHn62jIs8rnDXgXSZ/1o/yy5SPXLbq3herSJfLaxi6mRHcTQEbwsCkCN8D7wUtcHtJK6ZiBVGYAvPxzXbmrIWQFpBjIv4De4YslV9DGGLzqLMRmKZFlxzA8AYaRyugPLZKBYVsyWeoUD0wiTh/KVmj77+nI3W3ICHAu/dPY/8VmNq/GmkuzK/mTBf8XwUcDxlkJaMwjC3Dqv/lV+RbLZQk3T3bDjHSzezYUH8aktQ05FEWHL7e6uutntBrT4U2CIn+6dRBjKZlIabzQ=
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:(13230025)(4636009)(376002)(136003)(346002)(39860400002)(396003)(366004)(451199018)(66899018)(36756003)(86362001)(33656002)(8676002)(66556008)(64756008)(5660300002)(8936002)(41300700001)(4326008)(6916009)(66446008)(66476007)(2906002)(66946007)(122000001)(6486002)(38070700005)(38100700002)(478600001)(316002)(54906003)(91956017)(76116006)(71200400001)(186003)(83380400001)(2616005)(53546011)(6506007)(6512007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <229ADDCA48CE8448A4AD46ACF0957EBF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6448
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:
 DBAEUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fed83546-e852-492a-b486-08db1a55bc07
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LYkzSJfjRLzf3ihkI/ehnqT79ATbmGJGBSiEpju9vL7Efm69IN7MhBDMsZXqIvdDCpaiwa1zntmmGGLNWPyzveV0OeVEy2FuV+RwrwXI1RuIVUobJ8pX8x8hB1vj+dg041P63I1k0CeGYOxi5OlgaHiLhw4w+wsdcEabpoVO9i+2DlFisJkoIRZyaJO0CSCHEyC6KyxGgAbjS1yx3Ej31pON8SUttD5iEBR/E+NE6Hg6MayQvCv1V0JvuNjppAxHNBNPKRBoPbxmTLTBLvacu9XNDO1zxZz6YvpCU9Ld22fZJu5di/LVTfGGIaZMGiReYTE59i5iguHGcQH44xZmPwZyPmFL4SnQUL/D49b7dnt8LnyngbhOKlwYMAtXR5Y8FvE3DFsnx3kQiHL1zrYemeZq0HQ2HHj9BGen2eJbrwxVGRknp6Pyzg3BoC8rbGk2S0LH54ubZVdDUeM4CLPM4HW7lasq+jMep4wnDb4ztuIFG8jLBjUAeY1lOz96yQhU65BUMTkB7t3tY+Q9XYDvs6Z89o+B5AQ7eKOe/+CmnM4ho27fV5H1B7dvPL3i7QNPO1Eyzw+mqWBQ9QDML9b3SWL80StsgwgUKXovvlKG7n2cJj7HtUyKBD9LWgLfdNz/UVrFe7z/T0x+NLkLSkiz+/FhCFpE4gnm2IBF4xiYYaHTm7O98oeagu+scy5teLZEeoJzIFTJ5loe4z0XjOq6dA==
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:(13230025)(4636009)(346002)(376002)(136003)(39860400002)(396003)(451199018)(40470700004)(36840700001)(46966006)(6512007)(186003)(26005)(53546011)(47076005)(66899018)(6506007)(336012)(2616005)(2906002)(478600001)(82310400005)(83380400001)(54906003)(36860700001)(70586007)(82740400003)(81166007)(41300700001)(4326008)(356005)(36756003)(8676002)(70206006)(40480700001)(86362001)(316002)(8936002)(6486002)(33656002)(40460700003)(6862004)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 13:06:26.5743
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b7032b2-d213-4387-17e3-08db1a55c3fd
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:
	DBAEUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6142

HI Jens,

> On 1 Mar 2023, at 11:55, Jens Wiklander <jens.wiklander@linaro.org> wrote=
:
>=20
> Hi Bertrand,
>=20
> On Mon, Feb 27, 2023 at 4:28 PM Bertrand Marquis
> <Bertrand.Marquis@arm.com> wrote:
>>=20
>> Hi Jens,
>>=20
>>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
>>>=20
>>> Adds support for sending a FF-A direct request. Checks that the SP also
>>> supports handling a 32-bit direct request. 64-bit direct requests are
>>> not used by the mediator itself so there is not need to check for that.
>>>=20
>>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>>> ---
>>> xen/arch/arm/tee/ffa.c | 119 +++++++++++++++++++++++++++++++++++++++++
>>> 1 file changed, 119 insertions(+)
>>>=20
>>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>>> index 463fd7730573..a5d8a12635b6 100644
>>> --- a/xen/arch/arm/tee/ffa.c
>>> +++ b/xen/arch/arm/tee/ffa.c
>>> @@ -142,6 +142,7 @@
>>>=20
>>> struct ffa_ctx {
>>>    uint32_t guest_vers;
>>> +    bool interrupted;
>>=20
>> This is added and set here for one special error code but is never used.
>> I would suggest to introduce this when there will be an action based on =
it.
>=20
> I'm sorry, I forgot about completing this. I'll add code to deal with
> FFA_INTERRUPT. This will be tricky to test though since we don't use
> FFA_INTERRUPT like this with OP-TEE. The Hypervisor is required by the
> FF-A standard to support it so I better add something.

You can do that in a different patch then and just remove this from this pa=
tch ?

>=20
>>=20
>>> };
>>>=20
>>> /* Negotiated FF-A version to use with the SPMC */
>>> @@ -167,6 +168,55 @@ static bool ffa_get_version(uint32_t *vers)
>>>    return true;
>>> }
>>>=20
>>> +static int32_t get_ffa_ret_code(const struct arm_smccc_1_2_regs *resp)
>>> +{
>>> +    switch ( resp->a0 )
>>> +    {
>>> +    case FFA_ERROR:
>>> +        if ( resp->a2 )
>>> +            return resp->a2;
>>> +        else
>>> +            return FFA_RET_NOT_SUPPORTED;
>>> +    case FFA_SUCCESS_32:
>>> +    case FFA_SUCCESS_64:
>>> +        return FFA_RET_OK;
>>> +    default:
>>> +        return FFA_RET_NOT_SUPPORTED;
>>> +    }
>>> +}
>>> +
>>> +static int32_t ffa_simple_call(uint32_t fid, register_t a1, register_t=
 a2,
>>> +                               register_t a3, register_t a4)
>>> +{
>>> +    const struct arm_smccc_1_2_regs arg =3D {
>>> +        .a0 =3D fid,
>>> +        .a1 =3D a1,
>>> +        .a2 =3D a2,
>>> +        .a3 =3D a3,
>>> +        .a4 =3D a4,
>>> +    };
>>> +    struct arm_smccc_1_2_regs resp;
>>> +
>>> +    arm_smccc_1_2_smc(&arg, &resp);
>>> +
>>> +    return get_ffa_ret_code(&resp);
>>> +}
>>> +
>>> +static int32_t ffa_features(uint32_t id)
>>> +{
>>> +    return ffa_simple_call(FFA_FEATURES, id, 0, 0, 0);
>>> +}
>>> +
>>> +static bool check_mandatory_feature(uint32_t id)
>>> +{
>>> +    uint32_t ret =3D ffa_features(id);
>>> +
>>> +    if (ret)
>>> +        printk(XENLOG_ERR "ffa: mandatory feature id %#x missing\n", i=
d);
>>=20
>> It might be useful here to actually print the error code.
>> Are we sure that all errors actually mean not supported ?
>=20
> Yes, that's what the standard says.

The error code might still be useful in the print.

>=20
>>=20
>>> +
>>> +    return !ret;
>>> +}
>>> +
>>> static uint16_t get_vm_id(const struct domain *d)
>>> {
>>>    /* +1 since 0 is reserved for the hypervisor in FF-A */
>>> @@ -208,6 +258,66 @@ static void handle_version(struct cpu_user_regs *r=
egs)
>>>    set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
>>> }
>>>=20
>>> +static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uin=
t32_t fid)
>>> +{
>>> +    struct arm_smccc_1_2_regs arg =3D { .a0 =3D fid, };
>>> +    struct arm_smccc_1_2_regs resp =3D { };
>>> +    struct domain *d =3D current->domain;
>>> +    struct ffa_ctx *ctx =3D d->arch.tee;
>>> +    uint32_t src_dst;
>>> +    uint64_t mask;
>>> +
>>> +    if ( smccc_is_conv_64(fid) )
>>> +        mask =3D GENMASK_ULL(63, 0);
>>> +    else
>>> +        mask =3D GENMASK_ULL(31, 0);
>>> +
>>> +    src_dst =3D get_user_reg(regs, 1);
>>> +    if ( (src_dst >> 16) !=3D get_vm_id(d) )
>>> +    {
>>> +        resp.a0 =3D FFA_ERROR;
>>> +        resp.a2 =3D FFA_RET_INVALID_PARAMETERS;
>>> +        goto out;
>>> +    }
>>> +
>>> +    arg.a1 =3D src_dst;
>>> +    arg.a2 =3D get_user_reg(regs, 2) & mask;
>>> +    arg.a3 =3D get_user_reg(regs, 3) & mask;
>>> +    arg.a4 =3D get_user_reg(regs, 4) & mask;
>>> +    arg.a5 =3D get_user_reg(regs, 5) & mask;
>>> +    arg.a6 =3D get_user_reg(regs, 6) & mask;
>>> +    arg.a7 =3D get_user_reg(regs, 7) & mask;
>>> +
>>> +    while ( true )
>>> +    {
>>> +        arm_smccc_1_2_smc(&arg, &resp);
>>> +
>>> +        switch ( resp.a0 )
>>> +        {
>>> +        case FFA_INTERRUPT:
>>> +            ctx->interrupted =3D true;
>>> +            goto out;
>>> +        case FFA_ERROR:
>>> +        case FFA_SUCCESS_32:
>>> +        case FFA_SUCCESS_64:
>>> +        case FFA_MSG_SEND_DIRECT_RESP_32:
>>> +        case FFA_MSG_SEND_DIRECT_RESP_64:
>>> +            goto out;
>>> +        default:
>>> +            /* Bad fid, report back. */
>>> +            memset(&arg, 0, sizeof(arg));
>>> +            arg.a0 =3D FFA_ERROR;
>>> +            arg.a1 =3D src_dst;
>>> +            arg.a2 =3D FFA_RET_NOT_SUPPORTED;
>>> +            continue;
>>=20
>> There is a potential infinite loop here and i do not understand
>> why this needs to be done.
>> Here if something is returning a value that you do not understand
>> you send back an ERROR to it. I do not find in the spec where this
>> is supposed to be done.
>> Can you explain a bit here ?
>=20
> This should normally not happen, but the SP/SPMC is responding with a
> request that we don't know what to do with. The standard doesn't say
> how to handle that as far as I understand. However, returning back to
> the VM at this point with an error may leave the SP/SPMC in a strange
> state. So I think it's better to report back to the SP/SPMC that the
> request isn't understood and hopefully it can at least return back
> with an error in a sane state.
>=20
> I'll add something to the comment.

Please also make sure that the code is not looping infinitely on this.

>=20
>>=20
>>> +        }
>>> +    }
>>> +
>>> +out:
>>> +    set_regs(regs, resp.a0, resp.a1 & mask, resp.a2 & mask, resp.a3 & =
mask,
>>> +             resp.a4 & mask, resp.a5 & mask, resp.a6 & mask, resp.a7 &=
 mask);
>>> +}
>>> +
>>> static bool ffa_handle_call(struct cpu_user_regs *regs)
>>> {
>>>    uint32_t fid =3D get_user_reg(regs, 0);
>>> @@ -225,6 +335,12 @@ static bool ffa_handle_call(struct cpu_user_regs *=
regs)
>>>    case FFA_ID_GET:
>>>        set_regs_success(regs, get_vm_id(d), 0);
>>>        return true;
>>> +    case FFA_MSG_SEND_DIRECT_REQ_32:
>>> +#ifdef CONFIG_ARM_64
>>> +    case FFA_MSG_SEND_DIRECT_REQ_64:
>>> +#endif
>>> +        handle_msg_send_direct_req(regs, fid);
>>> +        return true;
>>>=20
>>>    default:
>>>        gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
>>> @@ -310,6 +426,9 @@ static bool ffa_probe(void)
>>>    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
>>>           major_vers, minor_vers);
>>>=20
>>> +    if ( !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
>>> +        return false;
>>=20
>> One could not need this feature and here this will make everything unava=
ilable instead.
>> Why not just reporting back the unsupported error to clients using unsup=
ported interfaces ?
>=20
> One could perhaps argue that this check should be moved to a later
> patch in this series. Perhaps there's some future configuration that
> might make sense without this feature, but for now, it doesn't make
> sense to initialize without it.

I am starting to wonder if we should not at boot scan for available feature=
s, save them
somewhere and then accept/reject calls depending on the supported features.

Maybe just add a TODO here so that we remember that this is something that =
could be
checked/modified one day. That would also give an insight if someone has su=
ch a usecase
one day.

Cheers
Bertrand

>=20
> Thanks,
> Jens
>=20
>>=20
>> Cheers
>> Bertrand
>>=20
>>> +
>>>    ffa_version =3D vers;
>>>=20
>>>    return true;
>>> --
>>> 2.34.1




From xen-devel-bounces@lists.xenproject.org Wed Mar 01 13:59:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 13:59:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504045.776539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXMyi-0006bU-7W; Wed, 01 Mar 2023 13:58:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504045.776539; Wed, 01 Mar 2023 13: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 1pXMyi-0006bN-3S; Wed, 01 Mar 2023 13:58:44 +0000
Received: by outflank-mailman (input) for mailman id 504045;
 Wed, 01 Mar 2023 13:58: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 1pXMyh-0006bH-E6
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 13: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 1pXMyg-0008Af-Na; Wed, 01 Mar 2023 13:58:42 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.13.48]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pXMyg-0000uZ-HZ; Wed, 01 Mar 2023 13: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=DmiUFtCqpOl4y1p1jjM8YUZ+8W4/x9g+A9RFDZQaq8c=; b=mkxfkyeC9GnvFa0DsWyotPvHm9
	Z7jVKRlK44bJDhg6VlK4/aYV3yoeUlGZDnY3nU7GWLfzU8ClYgn9DCBAcRukcc7g7FttFgku5D2S3
	nyt8stOMdo/YlyFgd+Gn7OWr/VoBmLZgdzA0P+4r5bWu355Z0zC0371Mye9GE0CnnNh8=;
Message-ID: <297fb314-7752-fdf6-3003-f5bd1396c1e3@xen.org>
Date: Wed, 1 Mar 2023 13:58:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v3 3/4] xen/arm: switch ARM to use generic implementation
 of bug.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1677233393.git.oleksii.kurochko@gmail.com>
 <d80c136720c156d6ef83f27f1ce8dca5dba5b5a0.1677233393.git.oleksii.kurochko@gmail.com>
 <f82b8c50-47f2-d8b0-5a2c-60203e5d5e26@xen.org>
 <ae96eb36-aeba-86f0-3b72-a8b62f4dce60@xen.org>
 <6735859208c6dcb7320f89664ae298005f70827b.camel@gmail.com>
 <75df5a86-5d64-d219-c25c-644748a88302@xen.org>
 <3f108af54c7d824f59a7dc1daf7d4d0c23f617ec.camel@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3f108af54c7d824f59a7dc1daf7d4d0c23f617ec.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 01/03/2023 12:31, Oleksii wrote:
> Hi Julien,

Hi,

>>>>
>>>>> On 24/02/2023 11:31, Oleksii Kurochko wrote:
>>>>>> The following changes were made:
>>>>>> * make GENERIC_BUG_FRAME mandatory for ARM
>>>>>
>>>>> I have asked in patch #1 but will ask it again because I think
>>>>> this
>>>>> should be recorded in the commit message. Can you outline why
>>>>> it is
>>>>> not
>>>>> possible to completely switch to the generic version?
>>>>
>>>> I have just tried to remove it on arm64 and it seems to work.
>>>> This
>>>> was
>>>> only tested with GCC 10 though. But given the generic version is
>>>> not
>>>> not
>>>> using the %c modifier, then I wouldn't expect any issue.
>>>>
>>>> Cheers,
>>>>
>>>
>>> I tried to switch ARM to generic implementation.
>>>
>>> Here is the patch: [1]
>>
>> This is similar to the patch I wrote to test with generic
>> implementation
>> on Arm (see my other reply).
>>
>> [...]
>>
>>> (it will be merged with patch 3 if it is OK )
>>>
>>> And looks like we can switch ARM to generic implementation as all
>>> tests
>>> passed:
>>> https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/791549396
>>
>> Thanks for checking with the gitlab CI!
>>
>>>
>>> The only issue is with yocto-arm:
>>> https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/791549396/failures
>>> But I am not sure that it is because of my patch
>>
>> This looks unrelated to me. This is happening because there is a data
>> abort before PSCI (used to reboot the platform) is properly setup. I
>> think we should consider to only print once the error rather than
>> every
>> few iterations (not a request for you).
>>
>> That said, I am a bit puzzled why this issue is only happening in the
>> Yocto test (the Debian one pass). Do you know if the test is passing
>> in
>> the normal CI?
> I checked several pipelines on the normal CI and it is fine.
>>
>> If yes, what other modifications did you do?
> It looks like the issue happens after switch ARM to generic
> implementation of bug.h:
> -
> https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792379063/failures
> [ failure ]
> -
> https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792381665/failures
> [ passed ]
> 
> The difference between builds is only in the commit ' check if ARM can
> be fully switched to generic implementation '.
> For second one it is reverted so it looks like we can't switch ARM to
> generic implementation now as it is required addiotional investigation.

Thanks. Looking at the error again, it looks like the data abort is 
because we are accessing an unaligned address.

 From a brief look at arch/arm/xen.lds.S, I can at least see one case of 
misalignment (not clear why it would only happen now though). Can you try:

diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index 3f7ebd19f3ed..fb8155bd729f 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -67,6 +67,7 @@ SECTIONS
         *(.data.rel.ro)
         *(.data.rel.ro.*)

+      . = ALIGN(4);
         __proc_info_start = .;
         *(.proc.info)
         __proc_info_end = .;

> 
> There is no other significant changes ( only the changes mentioned in
> the current mail thread ).
> 
> Could we go ahead without switching ARM to generic implementation to
> not block other RISC-V patch series?

Given this is an alignment issue (Arm32 is more sensible to this than 
the other architecture, but this is still a potential problem for the 
other archs), I would really like to understand whether this is an issue 
in the common code or in the Arm linker script.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 14:11:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 14:11:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504056.776554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXNAw-0001Ug-EL; Wed, 01 Mar 2023 14:11:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504056.776554; Wed, 01 Mar 2023 14:11:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXNAw-0001UZ-An; Wed, 01 Mar 2023 14:11:22 +0000
Received: by outflank-mailman (input) for mailman id 504056;
 Wed, 01 Mar 2023 14: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=4Y5i=6Z=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXNAv-0001UR-D5
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 14:11:21 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20612.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f01e0f5d-b83a-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 15:11:19 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8382.eurprd04.prod.outlook.com (2603:10a6:20b:3ea::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Wed, 1 Mar
 2023 14:11:16 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6134.030; Wed, 1 Mar 2023
 14:11: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: f01e0f5d-b83a-11ed-96a6-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TdGXP32/XyBH3/kaqOyPDjM+18w2xqKZX95Bl6e4zjBVqLqa2FnrHH+JUNGkopFceszxl3kqWQj+PLlYw1uZHYj1fxEiLdKDPvlNsAAywylp06x5UN8BAw9kQ6JyL65XZPFsMQIykErG/H0U8q489ME7dfgRgbRdiewCqlEnP4KbZDSsp4BganywSvkIw2rQ0it20uQC91VoYg1SZTk6IgPQP4i3RBJqq15OONinXX0uCtH0vsIfJGJjk1LRPGfG+dU0E6T0GCQJg4zltlkRMdypT5qsQkhyR7MXvJTJ2vzHwfewLeq+LRtEJdHnggF9pNIPxfWicHsKcjwofrmovA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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/dp35tPrj7YyVHUaDUnwdBYpDAz1zRyQls4rHzA=;
 b=T8nQ51+xwYjlncNBddgSWRB55hX7KH/wzko+oaPIBC2sQX/Jf7kOrwybbR4QLPyV6N12jek/JOZo1Lbq3c0ZKfEgdrC4Npneu2TFmudxHafX3218pM/4AUaJJJYLa3HOXa4lsX/7NaB7k2yzB9mf/Y5KObUXdYV+fDP9vvYUmDATwD1w/587ZRsJDuSSV9SVak6QKB2UjmEiJz3vu6AwGsg4jB0XIE1unYnhZGa6jMnBfzv3TKs1j+hDWKic3lkdPygDzBQxrqX3qf9poj5ENTlJFeM4xM17s+I+gLy+AOQKn75gAVYFSyP+FhsDUOr1xgW4KegT+c3UL2+PPbAJfQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-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/dp35tPrj7YyVHUaDUnwdBYpDAz1zRyQls4rHzA=;
 b=mOXtmS8BGwDdWb+/8CWt4k4pninKamWggJaQ1g6tpH8u+W4fVyx5a5jBU33V9q7d0CCyrZmYkklkZTxFS5iTnolTArHhqoRxN+Bl3iQELZAAPfIytitSN/xjzL/KnsYnzha9Xo5Cb8hgikeMLBNTa/kYY7z+tye5U6fUyOMGOR17XNSqFnMyRh+9dyb0EyppT5XlyIT4w1UgB9MQ2vYh5Wt45JcLRCNFjnApFRdJB8jGDbAIK+5mlZFKQdDCyAhOSrVMAhzJxlW8zYHwMJZROUvHQ9R9WzS+m94L5yP9oG6lYVsl5J9/PPzXuPF9/f/Zx52UsP1q3uw/t+/echW3ww==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <da5f5bac-6d5d-092d-d872-f1120dcd2661@suse.com>
Date: Wed, 1 Mar 2023 15:11:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/4] x86/pv-shim: configuring / building re-arrangements
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>,
 George Dunlap <george.dunlap@citrix.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0122.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8382:EE_
X-MS-Office365-Filtering-Correlation-Id: ca516e73-1dc2-4345-e6f4-08db1a5ed243
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Bc8704y6zVQg3maRpwfQqkuzInMEo2NEl5DU1W5l7yxlSBdHhf/OIvgJVeVJRdOB2wt7BGCb38jSAUMZoiXa2D2EqKkU66gBFVo+HFVuWDKaNutINqAjEB94EfJrAhjioXty0MyN4xOt8D6aNI4dsPF9J0+zrAEhnaB8FgDwlsln3yDw9T/IafBVwyFMMaYZSL/tXYdqu4okqLTlZAKP0LW6Nw+TGlDeTQV7jO2XBREJjm8c9li6bNdbQzujftpOO/ObjamXyt8YGSimycLN0jSNN10mU/m8Wx5T0LJDZ4mvxSrbr1fj4r0GLX5IQpEyEI1jvkakGVeOtges9Wnv9218ICk75E42nIFd3V25hdNHG5gZf2ryXNjdD0fWmBBbKhXCu3rmi4tUvEOnE7hblqMj7rrsYu9RHNUNRXJE3DKqi0s0+X9/A3BkfMDh0vTO8hynajjQOO7bIQpWjbox7VkN1oNWrBUIWmg4RCjUJZtUm3e/lFpRDAsGCFjw0QpFYZ+lA6ioQPCsyE2eY/lBch+dUuYzHP5dXWQrf8h0bjsIP+1ZQ/gyt0wPHjswHScpW+eVKCFOuIyuWb4iIAemIfvA4vNdIwdIck0dmxFRei5oOtxeQT3YDrArXhfYr0PuDR+UP503BOjJ7HPcIt5ROIF9DBIG0YNAtCXNAO8EgSoM2yDC/Un2gcZe7/bhMZe3GF148tA1xSa3BlqXBiE7xExe3odcy1wisWCvt0l8RNA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(346002)(366004)(136003)(396003)(39860400002)(451199018)(66476007)(36756003)(54906003)(316002)(478600001)(83380400001)(6486002)(2616005)(6506007)(6512007)(186003)(26005)(8936002)(41300700001)(86362001)(2906002)(5660300002)(31696002)(66946007)(4744005)(66556008)(38100700002)(6916009)(4326008)(8676002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V3JnTzJFQjlOR1l2S0RxdWJBZmpOVTcrU2ttS2pKN01VRkJHQ01uMzVqckI1?=
 =?utf-8?B?eGNVUzdCTW5oM3dQRTVjQlJCeTM1NFdKcjdOSWU0RTZhTGU5VVBaR3NFSEpT?=
 =?utf-8?B?KzdlTno3UVVnSHFJeXY0MHkyZjNuWjVBditrTlgzSlMzWTFMZHo2ZWhiaGxW?=
 =?utf-8?B?bEtsSWEzRE9Vb1J4bWFpQlc1V2JVZEovTWdaTWs5dU1LM215SXZNVDQ4MFJy?=
 =?utf-8?B?VnpOK3dkQ0I1NTlXeW1WdDdJb2x6NlBpQ0NubUFZSmFGVUMySnVFZ1VjR2tU?=
 =?utf-8?B?c0VHalAvUTR1aVRHSmFyRU12YUZBMk9DdDFkTUZoZ1VQLy9NUWVqMysrL2l2?=
 =?utf-8?B?cTZhdHBmcExhUnNhaFZsWDArMFFSN3U0Yk1NR0RBNUt3elVhdHlHb3NybkdU?=
 =?utf-8?B?aFJSSm1FaHprdy9TZEN1NkZVdlc2bG13RjAvbFVTZXBwbWRsdlZZNERiQm1s?=
 =?utf-8?B?TDBhVC9mUFdWNWcva21CUUdRMXZhVDFsWGxjZS9xV0hweUhLTHFYNGgySDVy?=
 =?utf-8?B?WDI1WUpQbXpwbTA2ZlRja2Q4Z0gyK2ZoWmF2THBvTVU1SVJnVFcyVXZ2dFUw?=
 =?utf-8?B?angyNktGWmpJbDhrUHJPTDlROHg4ZWhzaEpYYXZtNkRWRUpsWDVVaDFjeWhB?=
 =?utf-8?B?UlZ5UHd0cXdyQUVPODhhSmlSMWtqb1BHRnB1WDltYjc3MzR2NHRGSlI5MkFJ?=
 =?utf-8?B?bDV0dmJmVG9LdHNUcENZdTBkN3pCbEMvZWdpWUxIOHorVFZKcnhvU1JNUXV5?=
 =?utf-8?B?NHlURCs5V3FJaWRhRWNxMWc1UVNpbjNLTE5JTHdsZmxFcWE3SDVGTjA3SU5i?=
 =?utf-8?B?cnFUdFdzTGRabE01TzZQSEVXaTYzN1lENjVjYmJqL1l3aFJXYW9ZOXA5TzRa?=
 =?utf-8?B?VFBscU9mVGEwYisvK2g0alNBcmtuekJoSE00NWNHTFcwM3d0UG1JaVVRNWhX?=
 =?utf-8?B?VDc2dDY0alQ3dDltZmxGdHFQM0I2alE3ZENDYnB5QVhVUUtCcGF2NXVzRlFV?=
 =?utf-8?B?Nk9OOUJxT1VGZVA4ejYzMHpteTQ0YkJHWkdOVG9TZDNmRDh1cjQ1OURwajFI?=
 =?utf-8?B?RmtMZlVPcDBwUHhkZUZvUmtKYUV1UDBDN2lOTWlwNDduVXhNRTNCSml4dWJC?=
 =?utf-8?B?S2dvVjRNYjJhaDY3TWZLQUg5dldodmtUd1lrZDdyS1diakNJOTNqUGZBMWd4?=
 =?utf-8?B?M0xJdm5LTFRVT202RWxTeGcvSVI2U0pkb1JwcXBvcXpnTllhRGZOQStQMWZy?=
 =?utf-8?B?MFVobUV6KzJuRVNpcFJYT2NEblpGVkxubzZzcS9DRVBjaFFCVC8yc2VJSGZB?=
 =?utf-8?B?bHB2T0VYWnA3ZS9Nd2pqelVmdWRjdTNzSi8yd3gyUHVZQlM0STgvR0dXSmJU?=
 =?utf-8?B?a1lnRUFYNmtmU0ZOakRXZFhmSmYwcmw0QitIbHRVSVBoRExDVGEvUFhYKzdk?=
 =?utf-8?B?L2RDREVBL29icStuSU5lNlNTUVo4MmIxVzY5SmRydnlPSlZsMVRmNGVvZnl2?=
 =?utf-8?B?cDhZYVlxL3JuQUw3RG4yK3dOQXkvWGVMeHZUaUNtQWxuZUYyMWZHWTJiVC9F?=
 =?utf-8?B?T1doT09SbnR4aDdROWhWTDROUFQzWEFXdzNGK3NxaVhlUE4xbHJveDdESDBN?=
 =?utf-8?B?V0VrUjdqbVl5WXVpcy9RMCsybEEyVlBxaVY3cFRPTkx5ckZ2Z3hxM3kwaWdF?=
 =?utf-8?B?dFRrT281dFlZd0s2eXVURHNpZXhiWE82TC85U3J5WjdiaVRHdFhlT1hQK25a?=
 =?utf-8?B?NmpKNmNsYWJDcG4wZkErMEdZSm40Y3ZkODdFSTVYdjVTMDAvd2RGQnpxTm9J?=
 =?utf-8?B?UFk3TXR4SGxwRlo5TkM0bC9CUEhUbkM5TEwyQ2xCYStITmxJbzlpWGRsLzIx?=
 =?utf-8?B?NlVVRWpiMHFKNE1KU3Rlb1Z2L2VrbXVDbG9UQTJLWGZwbGppdmpxb2NWVDRH?=
 =?utf-8?B?bGl6UllNSG9WcU1TRUpvVEQvTHJ4cHUwbk1ScHZQOWFwVEIrN1h5MGZBQXVs?=
 =?utf-8?B?KzFPZTd5UEszVEgrSEFTN25QQisrSXNaeXBwUTJqamllOEp5MjU4dVZ0c3Yz?=
 =?utf-8?B?dXQyZlNCRmg1ZnpzTk94aWlmTTJaN0Jnam5FUWdsWXFJMnlHOTZvK3pwZ1hi?=
 =?utf-8?Q?R4L9uKnS3/fDMSnydUZQZ8Dia?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ca516e73-1dc2-4345-e6f4-08db1a5ed243
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 14:11:16.5438
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7MjPpZAwzw9MXtpf+O2DgshBarNh36wa56boOO8RSLtMkraE6uSJHY44yg5JpH/gBmAAbbnLc61TOEEBMFdTTg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8382

The 2nd patch, while originally having been the main piece here, and while
fixing a bug kind of as a side effect, is partly RFC; see there. The last
two changes are really minor adjustments for aspects noticed while putting
together the main change.

1: provide an inverted Kconfig control for shim-exclusive mode
2: common: reduce PV shim footprint
2: don't even allow enabling GRANT_TABLE
3: suppress core-parking logic

The main change in v2 is the addition of patch 1, as requested by Andrew.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 14:13:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 14:13:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504063.776564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXNCh-00026P-Td; Wed, 01 Mar 2023 14:13:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504063.776564; Wed, 01 Mar 2023 14: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 1pXNCh-00026I-Qq; Wed, 01 Mar 2023 14:13:11 +0000
Received: by outflank-mailman (input) for mailman id 504063;
 Wed, 01 Mar 2023 14:13: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=4Y5i=6Z=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXNCg-00026A-Hc
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 14:13:10 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2060b.outbound.protection.outlook.com
 [2a01:111:f400:fe16::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 311a9f12-b83b-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 15:13:08 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8382.eurprd04.prod.outlook.com (2603:10a6:20b:3ea::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Wed, 1 Mar
 2023 14:13:06 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6134.030; Wed, 1 Mar 2023
 14:13:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 311a9f12-b83b-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KCjyCvvYJcOSuqcxk4OLea3ZtJRAxWJwiMrtqfEyapL93EzJfN2XetRzaaEJXd3vCvo1BczgKsbXSfEAtRkypqhxJPn1gIKz9Wtm4oDFY9j/6XpaWtFNK098C3u36YCZQbn9X3z5MWOYT6VEc6Vcl/1trUGQ0OvltcdhDFVyP720ZSSYJ35ChCQORIvDox4Q+ALkne+h2yds09t3jfGNQ67wJYRmKXw4qHsGsgFje1C5/uwBg1JvIPXWMFZfNxjH4aZbQz9RycLAGBJG6tER8ameS+SQJoDGEqXI6y3NOx429agSF1RpujnKgJ0EfzUE6lL8fbshypmoCRd82a5XHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OjeLmA2eNiOxciM8UGLqrT2OGGZaeyhsIURc9DPTNTE=;
 b=Y0Zp193yTiCXSiWSX8fB3tE8Dtl6yFaKII5ndPFT52Lw2O4LsnFJa3RpENabWYPI8SgSVi5dUef2V6LAnTSCkasXKmXsbyVc/KtuG470y2MUdx4hd7LI1YZlevT8k5JMqXjdtqQuxAemm4qL8vCH78Lr4Dh9D2H8/BovluhAgipBCwdmyK1erbUp11lzjzv8QexjfS8JUM4Js0eyFkRM/4K3ASSi//na4Ct7gudbnrihf+7lDQMbFcJFSGVfghXcsL3HiUUqyprQgTN531hvbeTN0a7kUCFvTLpirvxvRkJRvpPzJTBW2vN1APl1lpluTzCdPyoyzZ8SCykzO+ZK8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OjeLmA2eNiOxciM8UGLqrT2OGGZaeyhsIURc9DPTNTE=;
 b=rsdkYZQke8YlPJcL8PtJqlqhLb7BBz3cZTTG1kGxriR6v0hXjziVjoFAqjjeoDvq7evL99YCli9xfBOwXQdp+YS0Ozcbhm4IyeXUjIlaj9TszLfxQQrCgKSfYqBamf8k4JvbB7XtkHv9K9RsqHRUwA1EuRBGtalJYvNzk03U7CoSb5j1RNnT8ndm6HobPi4U/5aQr+gqS65nQ92+bTCYQ/qPpn9joHzGvHYaKO7imJMZZ4MA1fEXOm2oxrOr36GQ667TJdjbuYtmPhhX9Tr9iXMzSnbivP7fyJRVQqtTEv124RHmEqaSTBmUOfqs6gI8AxgB5P1XccUUTAPAsGmDyA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <617842e1-8ef2-b095-0c52-c2e2e5f1c0a8@suse.com>
Date: Wed, 1 Mar 2023 15:13:05 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH v2 1/4] x86: provide an inverted Kconfig control for
 shim-exclusive mode
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>
References: <da5f5bac-6d5d-092d-d872-f1120dcd2661@suse.com>
In-Reply-To: <da5f5bac-6d5d-092d-d872-f1120dcd2661@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0170.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8382:EE_
X-MS-Office365-Filtering-Correlation-Id: 6bf0b038-7969-4946-420d-08db1a5f1435
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uaAPw2h7LoJK0qqH4XyqwhvGMoG3XTMaVhFOcTgtyxG5w+Z1nDOtf1WvWT4cgr7w5+fVvNfoCwWxiqHtA/6htyom6c3I1Y/fREmJQygBfYVjHnj4ZAKaFdaUrfPJvuyjbnu5xaAwOQLAf9otnq9HCuvcz5ubSk1B+RWgdLAASO9kvrMz1Ukw9yCz3qc0dBsYIak/5Ot3qxAunK1JMgwuThQkJXY/52vsliNu1z/k+I/SnxPnEzvmxCYWh6kZ/nZ7TgrSwbmTs+LTUudUiNXa3hQ6FjQTrHqkrwghbODj+1TwJobDU+gUaJ5k4rMqsMf/O1jtqE6mxb66mYiNqhII5LyqTN/CFoGD4X+AfobXkyW0wiEHYflgsRDMiFhAINKeweG7ZY6hw2YDAiPeXkSpCceHERnppmlyid1xElvlv9Jwo42yzRqS11awX0GpVzwg4LKvsfXRJvncVVaLWULQdNxxbx9zmlBxUzarwT+zt8jefal1DSild9Tk9fu4q3p6Lcd9DpQSlim7x6vHA5ZOjwUiAL7IWN7iTZxPOIqG/qVTgPa31NNPOBu++WuZx5MNEL+lIGsjSuPKMAQesaFNOIQld9G1rMfOAFaC1GFx9yyzW1E9lQhv2GdK4N8a1U/SJgxjEpkWSrliu3k7yyN3vXZ2iX8lQq7AAbiRKNp0TPDMqCKymQwX9R4HYG/8fwFn9wkZREiV0IfyH4SEzQVfizSbJ83gfvjmAxNPoVa3OA4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(39860400002)(396003)(346002)(376002)(366004)(451199018)(31686004)(36756003)(478600001)(83380400001)(316002)(54906003)(66476007)(4326008)(38100700002)(6916009)(8676002)(6506007)(2616005)(6512007)(186003)(26005)(6486002)(5660300002)(31696002)(66946007)(66556008)(41300700001)(8936002)(2906002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VkdZWUd1M292RDMyV3EwMzhSbG5YcC9KK3BDMU9EeGVaVFcxdkFnUzlWbzFU?=
 =?utf-8?B?dGt5YzloTURQQWxFNjFubGJyYkRpQzk2ZCt4NStFampzaGtiWDlWRWRWa3Yr?=
 =?utf-8?B?bmV4M0hsQTZhMGNkU2RSQlpsdFFSYXhWU2YyTWNKeEJoSk5RWE1uZWVscWpL?=
 =?utf-8?B?RzRFc05MUEF1WnFEWisxQTBkanVKV2plYVlwTmo3Q3RaUURobEJ1bkF5enUw?=
 =?utf-8?B?SUhOTlA4bUNtNXBFcXBuWWNRcVArcWtGcDFIRWhKeUs0Nk1rY2xJdUNRYTVp?=
 =?utf-8?B?OEZsRkVqNXJiN0VBUnYybnphVUhuWG14LzVYOEZXMUt3eHY3MXRxZVdaQXUr?=
 =?utf-8?B?b0xSVE1QbkxTMVZWOW5sQW94N2hOK3lUakVMMFpXRGE0V3lpamxDbHJjV2VB?=
 =?utf-8?B?VFczbzVSdW9RVlJ2N2JyTHVNK0I0Ni84Y0Q5eUtxbTVsenBuMDdScnRhaTZ0?=
 =?utf-8?B?MGpNK0M2dk9aY2JHV1M5T3Mxb3duekxXbWVRaEJLRHhsUjhwM3d1eUxlQTI3?=
 =?utf-8?B?cERQUFp2d3RZQUU2SmdpaEJpa2t5cGRhUWh0SkI0eDhMYmVmMXdIQWZqSWUx?=
 =?utf-8?B?VzN3WFd5VXR3ai8vT0hrYkEzQXhZYWxQVmpnU054KzdmazRQWGhLcUF0UzhL?=
 =?utf-8?B?ZUJPOC9RbElKMkFPdzZ4UDNDVkNyeTIraGFJcCtPT1RPaWZqRzEyM1lDUnVU?=
 =?utf-8?B?YzhwTldYZ2RTQmZ0RWlXOEpxODJZV1FIU2xKR05wbzhuK1JOSW1nRXZWMlov?=
 =?utf-8?B?UlBBY0o5TkZnWWlFaVZrMTlsYmw5QmFGR3BoVkw0d3VFNTdZVGU1R1ljTFMz?=
 =?utf-8?B?SUpHeTRQb3hzbE96cVgvSE5tVlZ2MzJmQW5lTU1GQ0lMNURXU2grcm5TWUVG?=
 =?utf-8?B?ZVRZR2hvM3ZXU1BqcUYzRHJkMDVuWlVUOTAzdFBOWHh5SkdUVmdKNEFqRFpM?=
 =?utf-8?B?MG1DMWVnbmZkYTMzT2J1cy83aXE1NGNOdUsvV3NRUXBPTG41NWZLS2VUcXpI?=
 =?utf-8?B?VTJuUit0bGNaY0lZWUZrcjRvUGpSZHFsRjIwVkQyblgvbXpBb0FtTXdoa3Mz?=
 =?utf-8?B?VW84aURwdWNRb0F1d3JuUVA2dllaL2xiemZqVW52Z3Z6dmF4L1pJSDhrNGxQ?=
 =?utf-8?B?Y0NLOWszWStzNjVmQVhuRzRKVFRnTFNURmptbFZIcms4bWY1bDkwZDB4Wkk1?=
 =?utf-8?B?V2d1cytMeW1aaGRiTlVBcmxndjFiQm5Id3hUamE5bG5pYktsREowRFFteDg3?=
 =?utf-8?B?QzZldzhTOFJIV0pFeGFja1JROFAzQjVNVG8zYUZOcFFoc21kalVKNDhuR3Jj?=
 =?utf-8?B?N0lDeHQwZ0Izd2lSMVdDeVJDSEVOMHhPWCtpVjIweVgwY0tGQmVCaWYybnJE?=
 =?utf-8?B?YjBIMEdnQmxZRk9EVElpaE9CZVRtaEtnYXJsTWE0NEFlQjBNbHk0bWpHM2hl?=
 =?utf-8?B?N256SktudFh6Z0kwdWFCa0VzdS84b3FoemtLckozVVZVZFhHSGlyWDRsR0Qv?=
 =?utf-8?B?L1UvcmJHWTVIaG1uQUJNRis1UzFNd1FneVkxRFZicFZvVkZndEo5bWNkUk00?=
 =?utf-8?B?ZFdkU0NVTzdpUFZ4clMwUWloYTQyTmZkVUhtQ1JLRFZQclBGampjdlorckNa?=
 =?utf-8?B?azlaY0g0cmwycFFoNVBkczJYY0lhY1h1enpaS3IvU0p3QUJZU1p6TmwwYmcy?=
 =?utf-8?B?aTQzdHNZZVVnVVBUUjBzOVFmOS9vNHdVVnJiVW9sRHgxUytUVExMK0VGbkJx?=
 =?utf-8?B?Y2crNkMwZDhKbTRmK1gyZ04yQWFqRE8yd0dPeklCMExqN1U1YW9vckNOTHc4?=
 =?utf-8?B?RjM4NFg3RGZVVDBweHBqTWJDREVVcXRLSVlqTnZsTy93UE8zZjZPYXBEVkdq?=
 =?utf-8?B?SU1pMlFaeXlzWGU2RjIwWUxSaUtWV3lydzJTdlVzcGI3dmRhdEVoUzhpbnE5?=
 =?utf-8?B?VHQvamhHcXd5aWVVYlR4WksyY21wcVBsS0tZZFJTTk1pRURXMEViaFFiUmJy?=
 =?utf-8?B?dHJXanJzdzloekhYQWV5aE52d1R6eUY5L205bmovNit3K2tZOVYrVXQwaWhZ?=
 =?utf-8?B?Y2lUSkRiN2h0bWZBWXNQSk1XQW45V2Q4OEplMW9QMkpQaXV4WDV6U1ZlQjRV?=
 =?utf-8?Q?KRb4uFYIGvSRVPHIsInroEbZd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6bf0b038-7969-4946-420d-08db1a5f1435
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 14:13:06.7869
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SdxunJJNkmYfEA6inTw+SQEaCT2bE+T6SakAzxT9gtbMurO6aCOL1RGamphVuaDyrAXvj6clXiilcDyDu9FOSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8382

While we want certain things turned off in shim-exclusive mode, doing
so via "depends on !PV_SHIM_EXCLUSIVE" badly affects allyesconfig: Since
that will turn on PV_SHIM_EXCLUSIVE, other options will be turned off as
a result. Yet allyesconfig wants to enable as much of the functionality
as possible.

Retain PV_SHIM_EXCLUSIVE as a prompt-less option such that first of all
C code using it can remain as is. This isn't just for less code churn,
but also because I think that symbol is more logical to use in many
(all?) places.

Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The new Kconfig control's name is up for improvement suggestions, but I
think it's already better than the originally thought of
FULL_HYPERVISOR.

Secondary Kconfig changes could be omitted; in all of the cases I wasn't
really sure whether do the adjustments. I think to avoid setting a bad
precedent we want to avoid "depends on !..." (and hence also the
functionally equivalent "if !..."), but any default settings or prompt
controls could also be left as they were (or could be done the other way
around in subsequent patches).

The Requested-by: isn't for what exactly is done here, but for the
underlying principle of avoiding the negative dependencies we've grown.

Outside of Arm-specific code we have two more negative "depends on":
COVERAGE requires !LIVEPATCH and SUPPRESS_DUPLICATE_SYMBOL_WARNINGS
requires !ENFORCE_UNIQUE_SYMBOLS. The latter could apparently be
switched to a choice (enforce, warn, don't warn), but then I'm not sure
how well choices play with allyesconfig (I guess the default setting is
used).
---
v2: New.

--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -103,7 +103,7 @@ config PV_LINEAR_PT
 
 config HVM
 	bool "HVM support"
-	depends on !PV_SHIM_EXCLUSIVE
+	depends on UNCONSTRAINED
 	default !PV_SHIM
 	select COMPAT
 	select IOREQ_SERVER
@@ -145,7 +145,7 @@ config XEN_IBT
 
 config SHADOW_PAGING
 	bool "Shadow Paging"
-	default !PV_SHIM_EXCLUSIVE
+	default UNCONSTRAINED
 	depends on PV || HVM
 	---help---
 
@@ -196,7 +196,7 @@ config HVM_FEP
 config TBOOT
 	bool "Xen tboot support (UNSUPPORTED)"
 	depends on UNSUPPORTED
-	default !PV_SHIM_EXCLUSIVE
+	default UNCONSTRAINED
 	select CRYPTO
 	---help---
 	  Allows support for Trusted Boot using the Intel(R) Trusted Execution
@@ -276,17 +276,19 @@ config PV_SHIM
 
 	  If unsure, say Y.
 
-config PV_SHIM_EXCLUSIVE
-	bool "PV Shim Exclusive"
-	depends on PV_SHIM
-	---help---
-	  Build Xen in a way which unconditionally assumes PV_SHIM mode.  This
-	  option is only intended for use when building a dedicated PV Shim
-	  firmware, and will not function correctly in other scenarios.
+config UNCONSTRAINED
+	bool "do NOT build a functionality restricted hypervisor" if PV_SHIM
+	default y
+	help
+	  Do NOT build Xen in a way which unconditionally assumes PV_SHIM mode.
 
-	  If unsure, say N.
+	  If unsure, say Y.
+
+config PV_SHIM_EXCLUSIVE
+	def_bool y
+	depends on !UNCONSTRAINED
 
-if !PV_SHIM_EXCLUSIVE
+if UNCONSTRAINED
 
 config HYPERV_GUEST
 	bool "Hyper-V Guest"
--- a/xen/arch/x86/configs/pvshim_defconfig
+++ b/xen/arch/x86/configs/pvshim_defconfig
@@ -3,7 +3,7 @@ CONFIG_PV=y
 CONFIG_XEN_GUEST=y
 CONFIG_PVH_GUEST=y
 CONFIG_PV_SHIM=y
-CONFIG_PV_SHIM_EXCLUSIVE=y
+# CONFIG_UNCONSTRAINED is not set
 CONFIG_NR_CPUS=32
 CONFIG_EXPERT=y
 # Disable features not used by the PV shim
--- a/xen/drivers/video/Kconfig
+++ b/xen/drivers/video/Kconfig
@@ -3,10 +3,10 @@ config VIDEO
 	bool
 
 config VGA
-	bool "VGA support" if !PV_SHIM_EXCLUSIVE
+	bool "VGA support" if UNCONSTRAINED
 	select VIDEO
 	depends on X86
-	default y if !PV_SHIM_EXCLUSIVE
+	default y if UNCONSTRAINED
 	---help---
 	  Enable VGA output for the Xen hypervisor.
 



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 14:15:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 14:15:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504067.776574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXNEH-0002eb-9E; Wed, 01 Mar 2023 14:14:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504067.776574; Wed, 01 Mar 2023 14:14: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 1pXNEH-0002eU-6I; Wed, 01 Mar 2023 14:14:49 +0000
Received: by outflank-mailman (input) for mailman id 504067;
 Wed, 01 Mar 2023 14:14: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=4Y5i=6Z=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXNEF-0002eM-21
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 14:14:47 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ad57354-b83b-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 15:14:46 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7472.eurprd04.prod.outlook.com (2603:10a6:800:1b2::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17; Wed, 1 Mar
 2023 14:14:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6134.030; Wed, 1 Mar 2023
 14:14: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: 6ad57354-b83b-11ed-96a6-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MT4HYdvsoxogJ/GowwguXLde2BnLiQ9eti0nXH8/Yd9sKqET5QB9Rnr0N5gidcYZ2D4fS5xhjn2ubOlLPKrUTV4C+6vs1NddCpiJxw+7cHImlMh54btHJzOrfj0Hj2owAi1cDv0BOrwKlLuObI99SssgHxGxbiD/Ej1xnp49zlTCme5w7iJuMzQmWKqVvco/SuIp+cRkcAceXcV5jlIOz6iibHAZUCWyXurh8zlmvD0xpzPIQamEnR9etHnv5rbM0RW14l31YNQjcVVBH4HY792zSsPMDCzA5gMkBB1D4xOf9n94MxLxYOB+f91xiX+BzITQCc+bkOEsh9aKbuHPtw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DyqpzDT7ddgLuTyJ8LCdvZqSXAQOB28REr3pHpSd2aU=;
 b=P4MuBvvpK1eha9CROFA/TquIX/O1KeEHJpEnBoPQNd1tJtVhsxUIM1+PJX127KHZ1udszJq54hrZiXndoFStSzSTuJr9QMtOaUJGV5vdA9mWXb6ITYIPij81B0x2tphpxZfMBaiA9CYCwrEdQXQWuGgAneCW61wh98kg2OTP7193CoXDZ/6flwZI7tIVIkc9Anum2aDt0rdJ00scOlM6JHjM1utBZ9BdCOn0xyAoU89fqk3NWKOgRXi++1aZtiUaBabtLUQftzdpAI500HSZSKJ9uT2a4vobixDqCP18TtLSt231+7d8ROw1bUepzoGzTNS3LOTEdnXMoC8o5uYYtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DyqpzDT7ddgLuTyJ8LCdvZqSXAQOB28REr3pHpSd2aU=;
 b=ipvdC9VenclI3pJ7h2epFuswFRz/uh0tM68rNZ/vYmIRpuZF+ecZ3uVav/VqSg4rDnZDjkpicPMsK1bBqu01ojHDdivsL+q0UxosDm3OF+pbPFn5gMTm1dYa5EpM0Iewe//7OQjynOxgMOsUmN+hb5AEB8cxKfdQ+W0b9e6Wy0teKiOEVkDZtnHfL6cRD1ilGJu23kwisy/2Yn78FiQ6TMvHSa6402q7WYETI7L40ePmIZ8yNpyhOrQJT9V6gshYT8Kdx3iI9FCdepEya12SIhbT8Wbs6oD7/Y3qkv53bxQbBjN7BHFL4ok/mT+A5kuqD93qsXV7jusFhk4N84JpdA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <efeb5546-f82c-c038-9852-e8903edf8006@suse.com>
Date: Wed, 1 Mar 2023 15:14:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH v2 2/4] common: reduce PV shim footprint
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>,
 Daniel Smith <dpsmith@apertussolutions.com>,
 Dario Faggioli <dfaggioli@suse.com>
References: <da5f5bac-6d5d-092d-d872-f1120dcd2661@suse.com>
In-Reply-To: <da5f5bac-6d5d-092d-d872-f1120dcd2661@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0108.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7472:EE_
X-MS-Office365-Filtering-Correlation-Id: 2a0fad32-c784-4608-97f2-08db1a5f4dc2
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:
	Ti/N2lUMM0+izW/CaYIOELoQX6GYYuy6akcEOqBdEVYZMcMj+Oon7057st99F5GmVSLAPmnw3ZTWPgPI7Xn8FmlB3TJ+2gW4QPKuLKI+4kdQAoDTNJWktsiHKju495Bf8EnxwiyKF+F63CmvB5qrFjbkBcXqPMB/PuHK+Op1lI/ROzshFDUvX7HLXRUzuPxGChoxGugMHMHI3HlG6k8AdFy40g/pv3tmI27uVvrwNs5TYiLQTusnsd0xTXLwbdWCLTKWSg+31xtCoNfqnA9z+1AEDKPOQBybTJlRMX4MdDfHQhbsvTK5FCH5jwU0TpnYjfl+trkaeNd5isTcp72edb3FxGS5lNQiGYaM1jpcfFteGEQUstUm6Mnj4dbn2G05j8euL5Gfc/rGCECX/pWYZrqK1/+QRDckrCpEw5FvYFSrDZ3DUx9mH9Roa2qD/9y0wka2dxAgCXwotMNH6fNtgJL77mpJlp1SSofJJC78fSDaeTl4zd/iY5+YrM5vJBpQcN7X4GqkjVmoapnvpNMx915O2Z1GLmLIJuh0WfxE6ZVyciO8V3YLZDeXuhtTTNaZOzPdXuunmkdzxuKhEBh6B5p3+R1914AhRJ11Lp5rxSz4dVhO86lDIVgPRQJ9m70GIfzv07i0Vp4Er/n7/gxoA4wjvffpXrL1wHm+ufZEDuAfMa7z9AnWvGnhVN9vzxdq0KSORR0XlggylCkMdKpk7gI1c4EOGsw8WzZIffdyPA4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(396003)(346002)(39860400002)(376002)(451199018)(38100700002)(36756003)(86362001)(31696002)(2906002)(41300700001)(66946007)(66556008)(66476007)(4326008)(8676002)(6916009)(5660300002)(8936002)(2616005)(6512007)(26005)(6506007)(186003)(83380400001)(54906003)(478600001)(316002)(107886003)(6486002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L0ZRK2VUSE12NlF2WVdpRkNNSE1Cay8wUU1qaFBraDJneXpLdUtaK1JtWS8x?=
 =?utf-8?B?ak9EcGZyOWJPUFpRNXc5UjdSMWlCMjNuaEZXc3lJQVlISUV6UG5iMkJlSE53?=
 =?utf-8?B?WW9lVXlzcU1ldHZmd0FzeHQ0YVB1Sm51azJhUjlSWFdFTHl3M21iODJsL25Y?=
 =?utf-8?B?ZnZpNXJLMkQxNzU5QkpUeUt6LzNYRVFWeVpZdTVEcnQrOWZBR3VybnY5QUlC?=
 =?utf-8?B?TUIwTW5Ha1dhSnI0QmY1VWx1a3NSa05UM2hmSnlIT2U2Rzk3SFhrZHhMT0Ez?=
 =?utf-8?B?N2FTUllkRWdTZHhSVFI5RWZSMXdmdS9uZ2p3ZXBiSmY1dGtQclVYOEI2WWZX?=
 =?utf-8?B?VHgxVWVDcUtOSUN1RjRiOFRyUDNScnVwS0dVOGVHL1l6eFJiL2lYeEs5Z3Zp?=
 =?utf-8?B?UjhsVDVTM29ZZWljUlpiREhWaFhqcitFZUdtNXh5WnlrRzlSeHZUaXlOT05h?=
 =?utf-8?B?TENacVRBT1ZTbVB3a29YUjZGZGExRDVFUjdDdFFqWC85aFgrYjYrRmJsaHIy?=
 =?utf-8?B?L2JZRVdBS1VsSlhsYVA3NnltOFNUQVgra0c0Y2krcnNVc1d0L2pDL0JLVnNt?=
 =?utf-8?B?eWVLN1d1L1pVV1pQaTlkenpQMFVPYlJ2N2dYRGdPcHZFZjR2cjlzWEVVQktI?=
 =?utf-8?B?dWI0ZUg1cStsZWhXbCtGODFhZFQ2TlhkeEV3bmJ4T0VVNFFsYkxNTG5idTZZ?=
 =?utf-8?B?SlFBd0dOSWRLcS8rajNUMy9nZzBPWVZlamNXaDFXQ1hLVjkxR3ZVbXhSRjJw?=
 =?utf-8?B?TUV5ODZieGNDeDhkNkFVbVcySFNCVW9IT0ZwUU1tWWVEb05lT3kvMU9Kc25t?=
 =?utf-8?B?Y0x6dzhKdFBsQ1B1V29ac2l6QUNZTEQyZFdURXRWSHpZd1VqZUY4THpNajZ3?=
 =?utf-8?B?SUZldkZpYTdpRUlCYlUwOFFqK1hXTzZObC9ocVBtRWozV1BJSGdIOVZvRWZX?=
 =?utf-8?B?OGZhUWNOMDRDUVBhYUUwQnljNXhiYjgxSU9LOWsxMHFUQU1hMGFkVXJiVURz?=
 =?utf-8?B?VENrY1dyRkRoL1NUNmFINHVTbURyV0pLeTJ4OSszdjJIKzRjOVllNFAzUEhT?=
 =?utf-8?B?azNNRlVyUThaYzlZajY1MDAwbFc1YXFaL3ZaWDNqbk9Tc1QzOGwrYk9ZelhD?=
 =?utf-8?B?R3FsNm5TVEhMSFBQaWRpSFIzQ1BocHlOaTR5Q3B3ZGJ4Rm13YW9MSUdndDlG?=
 =?utf-8?B?SWZ0bUZockxUNzJmWHdYYTg3aXJOSnExS20xc09zQjdnbUZNejdHZUFRczNE?=
 =?utf-8?B?bDhJbzZzRUlZSmc3MFlyTk5RQjFxYVdRSGhId1lpdjVrL0hDZUN5UHdBYWhH?=
 =?utf-8?B?Y2VKWVk2amlFYUkxRUJtYVl6eFh0UmJFUE5XNTdxa3luZWZmQjhsR3R0QjVz?=
 =?utf-8?B?b3YzZ2UwdDV0aFZ4dWkvc215SG81M2V6dGdrTUNFd2FBL2JYcWRrVWJpOTJI?=
 =?utf-8?B?V3FLQitBeFpTSDE4MFkzTWM1dzN2QzZkenZrazArRHlzZzRtckFadm1TVDly?=
 =?utf-8?B?b2c5VEJrb0NuVENLZHI1RzdKcGhxTTNVMnErR29jUUs1a25zbmJSV1JRdThC?=
 =?utf-8?B?WWtpYkJiekhZVktuNk5GdE1xQks2VWl3ZEc5bytxRUE4ZkIyQUkzL0NvVTFo?=
 =?utf-8?B?bVo3V1lEVEtFbURod1dXdDBQVEFyRmdmazRRT2tUOHZSRSt5OEM2cUFEZXNn?=
 =?utf-8?B?SUdmUXBvd2VPck9KZ3JzREpNMXdxOGJ4NllXbWFTSEwwWFdNRjFYSU9uYWE1?=
 =?utf-8?B?MFNaZEVxSGpvdGt1R1UxZDAyeDJZVkRJQUlyRWZoQitVOEJGdDhEazNSRjZE?=
 =?utf-8?B?bDVaQ1VmUHBrUWc3Y3FSVEJHSWl6YVVGbUVkKzNTczZLb1dZUk5FbmptNTJp?=
 =?utf-8?B?RlduVy9lUVZMS0JZNVp6dStZOHpORVFscDFSUUJUQVU0N0RrNzZEMWthZG1E?=
 =?utf-8?B?cmN6ckNKK1crYTF5N1lFZU55Mi9WSHNlWlppSERpMkZQdUV5WlRxSWd6TVVk?=
 =?utf-8?B?dVRraGR1UmE2b1FacE5LWWFjWGthYlVtTFNsSWx1LzJoQ2w1T1AvdXBkN3g4?=
 =?utf-8?B?bmN0R3MzNVZZWlI3NjVNSlhURTludVdyRTdhd1JSMTh4eC9kc0QzYm4wdk1U?=
 =?utf-8?Q?f9axrODe019/uC3B03dqHRAYf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a0fad32-c784-4608-97f2-08db1a5f4dc2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 14:14:43.3277
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fbCmtVGt8H4kUR+kpF/4cprwVOg2N+Dzec0Mhtd3rhTqxfNFhnKmRCeWlaNz0h+DQTTWqz01FIwDhBDFSpyFjw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7472

Having CONFIG_PV_SHIM conditionals in common code isn't really nice.
Utilize that we're no longer invoking hypercall handlers via indirect
calls through a table of function vectors. With the use of direct calls
from the macros defined by hypercall-defs.h, we can simply define
overriding macros for event channel and grant table ops handling. All
this requires is arrangement for careful double inclusion of
asm/hypercall.h out of xen/hypercall.h. Such double inclusion is
required because hypercall-defs.h expects certain definitions to be in
place, while the new handling (placed in pv/shim.h, which is now
included from asm/hypercall.h despite the apparent cyclic dependency)
requires prototypes from hypercall-defs.h to be available already.

Note that this makes it necessary to further constrain the stubbing of
pv_shim from common/sched/core.c, and allows removing the inclusion of
asm/guest.h there as well. Since this is actually part of the overall
goal, leverage the mechanism to also get rid of the similar construct in
xsm/flask/hooks.c, including xen/hypercall.h instead.

Note further that kind of as a side effect this fixes grant table
handling for 32-bit shim guests when GRANT_TABLE=y, as the non-stub
compat_grant_table_op() did not redirect to pv_shim_grant_table_op().

A downside of this is that now do_{event_channel,grant_table}_op() are
built in full again when PV_SHIM_EXCLUSIVE=y, despite all the code
actually being dead in that case.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: Sadly I had to restore the two "#define pv_shim false", for Arm to
     continue to build. Originally I was hoping to get rid of that
     #ifdef-ary altogether. Would it be acceptable to put a single,
     central #define in e.g. xen/sched.h or xen/hypercall.h?

--- a/xen/arch/x86/include/asm/hypercall.h
+++ b/xen/arch/x86/include/asm/hypercall.h
@@ -6,14 +6,23 @@
 #error "asm/hypercall.h should not be included directly - include xen/hypercall.h instead"
 #endif
 
-#ifndef __ASM_X86_HYPERCALL_H__
-#define __ASM_X86_HYPERCALL_H__
-
 #include <xen/types.h>
+#include <public/xen.h>
 #include <public/physdev.h>
-#include <public/event_channel.h>
 #include <public/arch-x86/xen-mca.h> /* for do_mca */
+
+#ifdef CONFIG_COMPAT
+#include <compat/arch-x86/xen.h>
+#include <compat/physdev.h>
+#include <compat/platform.h>
+#endif
+
+#if !defined(__ASM_X86_HYPERCALL_H__) && \
+    (!defined(CONFIG_PV_SHIM) || defined(hypercall_args_pv64))
+#define __ASM_X86_HYPERCALL_H__
+
 #include <asm/paging.h>
+#include <asm/pv/shim.h>
 
 #define __HYPERVISOR_paging_domctl_cont __HYPERVISOR_arch_1
 
@@ -33,10 +42,6 @@ void pv_ring3_init_hypercall_page(void *
 
 #ifdef CONFIG_COMPAT
 
-#include <compat/arch-x86/xen.h>
-#include <compat/physdev.h>
-#include <compat/platform.h>
-
 extern int
 compat_common_vcpu_op(
     int cmd, struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
--- a/xen/arch/x86/include/asm/pv/shim.h
+++ b/xen/arch/x86/include/asm/pv/shim.h
@@ -49,6 +49,22 @@ const struct platform_bad_page *pv_shim_
 typeof(do_event_channel_op) pv_shim_event_channel_op;
 typeof(do_grant_table_op) pv_shim_grant_table_op;
 
+#ifdef CONFIG_PV_SHIM_EXCLUSIVE
+#define REVECTOR(pfx, op, args...) pv_shim_ ## op(args)
+#else
+#define REVECTOR(pfx, op, args...) ({ \
+    likely(!pv_shim) \
+    ? pfx ## _ ## op(args) \
+    : pv_shim_ ## op(args); \
+})
+#endif
+
+#define do_event_channel_op(args...) REVECTOR(do, event_channel_op, args)
+#define do_grant_table_op(args...) REVECTOR(do, grant_table_op, args)
+#ifdef CONFIG_COMPAT
+#define compat_grant_table_op(args...) REVECTOR(compat, grant_table_op, args)
+#endif
+
 #else
 
 static inline void pv_shim_setup_dom(struct domain *d, l4_pgentry_t *l4start,
--- a/xen/arch/x86/pv/shim.c
+++ b/xen/arch/x86/pv/shim.c
@@ -822,9 +822,9 @@ long pv_shim_grant_table_op(unsigned int
     return rc;
 }
 
-#ifndef CONFIG_GRANT_TABLE
+#if !defined(CONFIG_GRANT_TABLE) && !defined(CONFIG_PV_SHIM_EXCLUSIVE)
 /* Thin wrapper(s) needed. */
-long do_grant_table_op(
+long (do_grant_table_op)(
     unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) uop, unsigned int count)
 {
     if ( !pv_shim )
@@ -834,7 +834,7 @@ long do_grant_table_op(
 }
 
 #ifdef CONFIG_PV32
-int compat_grant_table_op(
+int (compat_grant_table_op)(
     unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) uop, unsigned int count)
 {
     if ( !pv_shim )
--- a/xen/common/compat/grant_table.c
+++ b/xen/common/compat/grant_table.c
@@ -56,7 +56,7 @@ CHECK_gnttab_swap_grant_ref;
 CHECK_gnttab_cache_flush;
 #undef xen_gnttab_cache_flush
 
-int compat_grant_table_op(
+int (compat_grant_table_op)(
     unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) cmp_uop, unsigned int count)
 {
     int rc = 0;
--- a/xen/common/event_channel.c
+++ b/xen/common/event_channel.c
@@ -32,10 +32,6 @@
 #include <public/event_channel.h>
 #include <xsm/xsm.h>
 
-#ifdef CONFIG_PV_SHIM
-#include <asm/guest.h>
-#endif
-
 #define ERROR_EXIT(_errno)                                          \
     do {                                                            \
         gdprintk(XENLOG_WARNING,                                    \
@@ -1222,15 +1218,10 @@ static int evtchn_set_priority(const str
     return ret;
 }
 
-long do_event_channel_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
+long (do_event_channel_op)(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 {
     int rc;
 
-#ifdef CONFIG_PV_SHIM
-    if ( unlikely(pv_shim) )
-        return pv_shim_event_channel_op(cmd, arg);
-#endif
-
     switch ( cmd )
     {
     case EVTCHNOP_alloc_unbound: {
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -45,10 +45,6 @@
 #include <asm/flushtlb.h>
 #include <asm/guest_atomics.h>
 
-#ifdef CONFIG_PV_SHIM
-#include <asm/guest.h>
-#endif
-
 /* Per-domain grant information. */
 struct grant_table {
     /*
@@ -3563,17 +3559,12 @@ gnttab_cache_flush(XEN_GUEST_HANDLE_PARA
     return 0;
 }
 
-long do_grant_table_op(
+long (do_grant_table_op)(
     unsigned int cmd, XEN_GUEST_HANDLE_PARAM(void) uop, unsigned int count)
 {
     long rc;
     unsigned int opaque_in = cmd & GNTTABOP_ARG_MASK, opaque_out = 0;
 
-#ifdef CONFIG_PV_SHIM
-    if ( unlikely(pv_shim) )
-        return pv_shim_grant_table_op(cmd, uop, count);
-#endif
-
     if ( (int)count < 0 )
         return -EINVAL;
 
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -40,9 +40,7 @@
 
 #include "private.h"
 
-#ifdef CONFIG_XEN_GUEST
-#include <asm/guest.h>
-#else
+#ifndef CONFIG_X86
 #define pv_shim false
 #endif
 
--- a/xen/include/xen/hypercall.h
+++ b/xen/include/xen/hypercall.h
@@ -24,6 +24,9 @@
 /* Needs to be after asm/hypercall.h. */
 #include <xen/hypercall-defs.h>
 
+/* Include a 2nd time, for x86'es PV shim. */
+#include <asm/hypercall.h>
+
 extern long
 arch_do_domctl(
     struct xen_domctl *domctl, struct domain *d,
--- a/xen/xsm/flask/hooks.c
+++ b/xen/xsm/flask/hooks.c
@@ -19,6 +19,7 @@
 #include <xen/cpumask.h>
 #include <xen/errno.h>
 #include <xen/guest_access.h>
+#include <xen/hypercall.h>
 #include <xen/xenoprof.h>
 #include <xen/iommu.h>
 #ifdef CONFIG_HAS_PCI_MSI
@@ -38,9 +39,7 @@
 #include <conditional.h>
 #include "private.h"
 
-#ifdef CONFIG_X86
-#include <asm/pv/shim.h>
-#else
+#ifndef CONFIG_X86
 #define pv_shim false
 #endif
 



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 14:15:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 14:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504075.776584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXNF9-0003FZ-OL; Wed, 01 Mar 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 504075.776584; Wed, 01 Mar 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 1pXNF9-0003FS-K1; Wed, 01 Mar 2023 14:15:43 +0000
Received: by outflank-mailman (input) for mailman id 504075;
 Wed, 01 Mar 2023 14:15: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=4Y5i=6Z=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXNF8-0003FK-Ih
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 14:15:42 +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 8ca4a06a-b83b-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 15:15:42 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8382.eurprd04.prod.outlook.com (2603:10a6:20b:3ea::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Wed, 1 Mar
 2023 14:15:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6134.030; Wed, 1 Mar 2023
 14:15:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ca4a06a-b83b-11ed-96a6-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bWCiyNmQ9iS6K07kyD3IwUjZxxuAhYUUtk8ofF1N1T/qfZBzLGVCdy8qWiKaAV6+QgxDZYh+cElOXI36MwvwnFN3VbNpzygeqOJKSx8574MgTTyU3NELaEaQNl05LIOAHrtNcHvcTuOU6AESvgOyGK5/dOU6pFYcMfU5heakuBupehPm1Iz8o5zwYxogyjTp/EXZfWO94TdGpqEezywIKx8C/WpQ/EkfOzX8kP9wBVDiENo+JPwijOrArvojdwSqtmZtdLydUhNmhMan7Ojhc2XdWsmpHa0h8grpv9F+A+Vg3kmpCqvIq3xXknjkBFLL/7hCqO4SRhGwG5x7VlbDOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=728/hgui0RaEJae0P1LzRmUwVm9vJUkWwKZhGA9zlK8=;
 b=Tfkn3BG7i2zCXHShr3mKkvET5aWIBRpQ2kV735TrD0SbY+FZRNNG5h4BGdaHLUF04PEVSJIeZzGuzFmVi4VqQVn+samnz96IhMYkapBiGFaRGrl371GCLNKxI2zGnvJWeOY6EhHMSGKrucP07tcTLNzhzAVYHNXX9QSZ/6u8dqsCSDLQRXRwO2LiS3pypqOE4D4RfjXoiYkS+1fOZgaeo66cuoeKd7+zgnkW4i4Kax4CxroIKryZfLyR32Y3b9Hbd+Un5dades30nUz9wCfqaw3xDSm0y1mvozbv6D54ItwdPpkAgNDgoiZtf1JdHqeNRRTowEkWZ+lKSiLou3Mqlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=728/hgui0RaEJae0P1LzRmUwVm9vJUkWwKZhGA9zlK8=;
 b=QRU6Dt3ezac23RkNbdC7HUyPj1SAkpfP3lHdbWhoATwVfs1bsWZM/FHBXCTDzBE5q31Ply0Au4Qiw8SWX6lDALF8z7+HND/bssjDJyp15bdwrhZmyiJunJ1HPkeeNh/JKkGcuv2j1z0yPfFdr6YB4uAXxIQNs2b/YG6X78KfRLZEKKIbinDllxEDYD66bd6sXDzAU5vIugHIkwpiN7iZ68WPWtA+iZZx9baBhE2tkpd9+vizREKzrjT7enNa8BYWuzx7LaCDW3S/o2ieGBwLCxfY5j0QuUSYexnJ1mmziBtKgHUnXdSv1TzrY1DjjBmEtESMGwQ4DYUnXj9Te07Q6Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <21838915-d33d-7c86-85b5-6d6aa00a2eb0@suse.com>
Date: Wed, 1 Mar 2023 15:15:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH v2 3/4] x86/pv-shim: don't even allow enabling GRANT_TABLE
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>
References: <da5f5bac-6d5d-092d-d872-f1120dcd2661@suse.com>
In-Reply-To: <da5f5bac-6d5d-092d-d872-f1120dcd2661@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0115.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8382:EE_
X-MS-Office365-Filtering-Correlation-Id: f38ebb1e-4d46-4e79-3f39-08db1a5f6fad
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8PNnoF7arbV9SckwllkXyozUmUa/pJxPodY0/8HBzxBzBj38j1FBXYQ421NJQbJIl3oU7mOw8nthqugWAMzgJcIKlRkRkYORCJ//kHGAouILAOGVwdF5vG/HYoDGy6OHwZzyo+ARyJ2vvY1KqmdMxotvDhn93gqwf+lavFdi2Qr9HUSOTOGECRRqRDU7itwFfjpTObOk53BtzzrlYTwyzD8flN/0ufSZQm0AtTa1rlXYIAYgpEetMilTT2PSlYSefzaeSWOkV2JrVoTyvVPv0U7fPtkncR9qGnzExHEGfZFkjaBso/iKpgBKohz0PBs8gU0vJBGOhGrC6KsrfAMWFimlo7R/KHn3tLl5uIijCYda/Qx8STh+VtuE4ElHO5FMAfpJz5HU7IlPVmQM8zKaMiZORsV2W1juFOOsV5KBa7CS2vb1LrGDkLrwlQovsS6WAlbqQsGddtXGAczLBt5dr3ihIN+kZGuinZeNw8Gp0g6vAslFhjhZ5FaPZQyynQJFkHtTvOdlvT7RyU+1YTpRKofEtC+MB2BQQoC5MC3Vdg+1GlL6S2MU9eQ6tHpWx3rsW6DOkhC+SMFKjL5ovyC+1YUrf10VRGQZwjBKqxrEjMEnF20kmPw/MH0wPH5o0Rx5UaVtKkajR/aDaNYgxt4G8tgvGI0JLdn6oJe5TXtJEIZrQbBRY1FOr56MyEc7t0RfQKZSU5P9+mSQUxDQfP6KrsJ59QXain4yIM2vsEWd0Mw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(39860400002)(396003)(346002)(376002)(366004)(451199018)(31686004)(36756003)(478600001)(316002)(54906003)(66476007)(4326008)(38100700002)(6916009)(8676002)(6506007)(2616005)(6512007)(186003)(26005)(6486002)(5660300002)(31696002)(66946007)(66556008)(4744005)(41300700001)(8936002)(2906002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cVVub1oxYjhvbUYySHFyd2ZtRUNEaHNCVW1qaVhXLzMwWnJPaXhRd2w3a3BB?=
 =?utf-8?B?aTlpOXdSTi85clQxSkpQcXU1RHpCb1Jpa2x6SGYweHB5TkphRWl1dldvQU9k?=
 =?utf-8?B?ZUs5dGJoN0RramRVQUlBR29tZFV6TEk0TVB4NGxOd0w4VTZrUHljeXVLNWI5?=
 =?utf-8?B?L3Z2UWdLVUdRVlpTbXVaVU80aE45U1RZbkZtbDh5RTQxcVg1RkNzdFFQZ0hY?=
 =?utf-8?B?Szc4RG5nUmRLTGhjdGhvaFVUejF3WkxGcjEwMzAxMVVnWXNXMlZRUk1UTzZo?=
 =?utf-8?B?a3A3M29rZUljS3hPbFEyN0o1TGpoRVB1azQ0VkZFdU5qSGRpOEdaaGc3SU9I?=
 =?utf-8?B?YUc2b1ZkVzdjV1BPUE5VcEluOW1BeWRjeVk0cW9uY0dXOXA2TUpGSWJ1bDls?=
 =?utf-8?B?MVZLM1VGQ2crdjRRUFZoelhNUlAyTm1FUVFjeDhPZTE4QlY2L1hTa3RIVzJZ?=
 =?utf-8?B?Qm93VmZVTVJ1NFpCTlJHbjduR1ROVjc3WERlUVlqS3FzNy8zMC9WNWUrN3Y3?=
 =?utf-8?B?bmxlQ1NxaFo3NjBFeTQ4VFNoK09lYmFBL2hoV0xpTjlIRXJhRUt4Nnl2eWZa?=
 =?utf-8?B?aTMxQTUvTU10NDR0MjFELzcydnpkNTJOeEwxelZJVVpLMmFBbUExS3d6YWx5?=
 =?utf-8?B?MUN6aGc4ZHEwUWNuQ3NyZk8zRkl2T2FVeDc5aytJWDQ3eU1DUWZ1UWJVa0ND?=
 =?utf-8?B?T2sxU1BITFRWZjJWN25vVlo2QVJWd1h5UDAxcW90Y2dqQjh2T2hWcWJkaTZU?=
 =?utf-8?B?ZE5lNlgrWDVSdi8wU3hjWERuOFBHUVMrNStHUW9Fakt3UG9iMEFZdHJmdDFC?=
 =?utf-8?B?eDNvVXdYMFFTcnowQ3IvaENZMm9QdzFKSjFMMTFJbWNOaTFFSjdLeDJwL0tm?=
 =?utf-8?B?U3RqMU4wQVdwb3o0VEhaNnVQaXREMXU0TlpoWTRsdlZFM2FBdmwwSXdiYS85?=
 =?utf-8?B?QjRiVW96OXI5Ym9yWVhiT1hDWWxFTVl1clVTaWRvQXRJcVZJQ3VtSUNNL05H?=
 =?utf-8?B?QmZXdWVuanFTN2tjbEdvS09Nd1lOcUJHdmttbWJFTGRZQkpYYnpsL3plZ1FG?=
 =?utf-8?B?TUxSbzZDV0srbUc4TlZITlhwUWlLK2MwY2pNNDEwRDE4UzJXeVZjUURaTDBG?=
 =?utf-8?B?cFVNWVIwTElwRUJIeDRpZGhkV3MzZWY4OHdSdms0V2U2YndYOHZWTHBtaUdk?=
 =?utf-8?B?blZEaEJQUzcrZGxleUJrRWZoMmFjTFhSeWdMVElSL2cwVGx3UTlLb1NxRVpO?=
 =?utf-8?B?a3pzWEkwU1Mwb0dGNisrbm5sWW9BSTZzZGNCUDFUVExVZ3g0MGdHQ3lnTkVR?=
 =?utf-8?B?Y0tYUklOMm5HcFEwNU54dDZXRk1jK0tWU3o2bUhXNWFKV2MvVmI5YkxsVGtW?=
 =?utf-8?B?UkNadFFEcG9VWldvbTgxYlBBMU5yUWkycmdLWVRDN3ZHeVcvVnkvU2ZQa3VC?=
 =?utf-8?B?R01SclQ2MHY0U3JrV3VqbStmUEtsUzFFcUVmclZoS2txQ2FqSjFncHNkQ0FI?=
 =?utf-8?B?Vm5kQitPMGpIWlJ4UWl1L1BqUnBIdHY2dXBEVVV4WVpWK1BpeDAzUHpZdlVx?=
 =?utf-8?B?amNON1hnZG9zL3VWb3o4MlhreTlkQUJxZi9Ib2hIVjM1QmQyaERiWHdRbEo5?=
 =?utf-8?B?cDBScWdVS0pTRHBmTEhxZVZWVllET21sNkJPUURrQU1RbUM1Uk1ZSGVzeHg2?=
 =?utf-8?B?bEZFdmRGTDIyWS9TaFJnR1F0R00yMDhWdFZFOVhJRVBaTTdRa01xMlVNNFFR?=
 =?utf-8?B?czg0U0tEK3UvcDE1emxkTXJ0TFNVeGR4aStWdjgrVmlXTjRpZzlPRWJUTm82?=
 =?utf-8?B?QVZQOHZwL2JNaXdVWWErRnZscEw4a2VlVlNLRVMyaGozWnA3K2VlcmVORzVH?=
 =?utf-8?B?RlR3TUdJU3NPdFE3ODBUdWE3dEFIcmh0MWlWZkZvemliQ0VCajBmY2sybkRu?=
 =?utf-8?B?cTdveXhXdGR0czFnM3dGOXJyZUptbEtwZ2dvQ09yVjVJVTdDalhmbVZmTlha?=
 =?utf-8?B?NlhFVXNyRlUxblZ3T2NUdW5VSWtpdDlDUU5EOFN1VGx2a2xtcFB4d2pnbUVj?=
 =?utf-8?B?bHc3T2RFaGVxUS96T3dVZ1FDRlEvTWJuNStUalg0WnZoQUtrMUtZRm5waXJB?=
 =?utf-8?Q?1Ut5jGA6wR8cq9ib8nsmX+vHV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f38ebb1e-4d46-4e79-3f39-08db1a5f6fad
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 14:15:40.2147
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: P/t91f65QMQNWaLKh4y/EGYqUsA+uF7xHI1Dd39bB79uaQIueWUFw+zleXtDnzYgktDjF7B1R2vJ0viQXJ0DlA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8382

Grant table code is unused in shim mode, so there's no point in
building it in the first place for shim-exclusive mode.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Use UNCONSTRAINED.

--- a/xen/arch/x86/configs/pvshim_defconfig
+++ b/xen/arch/x86/configs/pvshim_defconfig
@@ -9,7 +9,6 @@ CONFIG_EXPERT=y
 # Disable features not used by the PV shim
 # CONFIG_XEN_SHSTK is not set
 # CONFIG_XEN_IBT is not set
-# CONFIG_GRANT_TABLE is not set
 # CONFIG_HYPFS is not set
 # CONFIG_BIGMEM is not set
 # CONFIG_KEXEC is not set
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -15,6 +15,7 @@ config CORE_PARKING
 config GRANT_TABLE
 	bool "Grant table support" if EXPERT
 	default y
+	depends on UNCONSTRAINED
 	---help---
 	  Grant table provides a generic mechanism to memory sharing
 	  between domains. This shared memory interface underpins the



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 14:16:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 14:16:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504079.776594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXNFn-0003n9-1S; Wed, 01 Mar 2023 14:16:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504079.776594; Wed, 01 Mar 2023 14:16:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXNFm-0003n2-Tb; Wed, 01 Mar 2023 14:16:22 +0000
Received: by outflank-mailman (input) for mailman id 504079;
 Wed, 01 Mar 2023 14:16:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=4Y5i=6Z=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXNFl-0003ms-T4
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 14:16:21 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20610.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a30ef07d-b83b-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 15:16:20 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7472.eurprd04.prod.outlook.com (2603:10a6:800:1b2::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17; Wed, 1 Mar
 2023 14:16:18 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6134.030; Wed, 1 Mar 2023
 14:16:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a30ef07d-b83b-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PD2zKouV/2tRNGaGhvUKuCUDUZSB6ly3AevVWsIMllMerlI9yxlcAXVLo/VeNDJUqtmx6bH2YrgDXFhIE44KPYTYQCdUq6/izcF7gXhzhlnKI8KINIduBptafvTyXDv62YBCYzw2ThQBSwxfCsz4CCSV29rEsEkUEsMJ0QKYsgn6C4DUHNZNh3BCPcUzzxjoGb1UudMkj7b8PMApzkGKyJ0CNkiwiAcvjMvroqC2FZYTA1T/Fw8xFMK1VGIcPZsDBiFmAStYXO0w3AMVft/krD1HmFw5Qz+ShTJkEUO/ifulNEoI51DxWi7OaXOvFpTAwYoF7q3X0jn4LyaxurokRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iQmpice+5sckSeA5x6akdUtFj8Q7q5+kgi6PYcZXzxg=;
 b=Qa7nF5kG6B32onb9BO9IrHH2xVKvP2eD1Om6hg+kCyCXZbEdT0TUWth9Q5EEMzOnCYyGeKHvBQE9T9rpGU3scuvBUD1k7YDB9BIv7Vpp3BSKwnPbBJ3cEF1lPd7hzcgEbQMEN3R+dc69QKvZF5BkaSD+vqrA2HQxdIE8OrURvhH9Oj14nn6lMo75+9Z4HJpdcy6dcXOGqIlbrIdDyXGArJLvP5nuuSFmn1r7vfGRviKwSm+VA66pehRHlMhc7qsqXiV/7CaiH+JKVHLsnZtxPNyJMkZjYpAxtYFA+pzmaWCf+gtpXCW8o/zQyz0Nfptsj75sy24Qlm4bn6NDnzvXGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iQmpice+5sckSeA5x6akdUtFj8Q7q5+kgi6PYcZXzxg=;
 b=ri5sQCW0pFefj2PMqAfD7B0luPgUM+EjjvNldMa2JnG/3eDAgtk2msTBUcIQXifp5nA4Y5PoUPV8ikJuIawu+ccfM6+KM1IzDZzJxhT1AGfJXGPUJ+3asdnbvdplYSYxipMMs4eVxA7OL+H6WAivfac4O8/YKmTC6NzDNyvQHCQMjSKb0amHnybwieWPGXxey2Ei5+yKKVrb+jlZxloGc0h9my34/hTnTeSwJhkB/MfhKEaTUhiJZLe5TD+weQsp/aztTC/Lynrp4yX3DGn0ylihOyaQqZGgP0kJv4AmSwjzX0PfDy+OBokWwML1AlFWfMGiasuwOxRGoPMcVgZg4w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <763aadc9-e8f1-dbd5-4bab-edaeeb36334c@suse.com>
Date: Wed, 1 Mar 2023 15:16:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH v2 4/4] x86/pv-shim: suppress core-parking logic
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>,
 George Dunlap <george.dunlap@citrix.com>
References: <da5f5bac-6d5d-092d-d872-f1120dcd2661@suse.com>
In-Reply-To: <da5f5bac-6d5d-092d-d872-f1120dcd2661@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0190.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7472:EE_
X-MS-Office365-Filtering-Correlation-Id: c6cc50b4-e4a9-4d67-81da-08db1a5f869f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kLKJZfaCsdcyUkAYvLiNbEUAXrVBJ7IwU8GR90LCYtzWziRCga5JNT+olzoxYzeG1S2QKbrsF2Wg+N9GRM+auOzyKwpYC5KdsDiwnB7yjL8Ihu4mtXE/XxONGGqJph90enZjaAHoB669hQWbX+EXJEPK6sQ1t8W92S1yW4dk7S98y3OrYJBbiLrXwR6Uil9aK8dxqtDGbQE4OsA6zcng9xkjm2osKpbCjFh4f0QpTeZuBCA7Z6AY30h3dMrT/iTP+csm+DuLBBdqKzHEsHCsNEXdHF0mzTyo+oFr2FuXXlIdeIYP6Wred/7tp1lyXVbcwpQO3V/uGWjZ/e9yxd4oEH0cr8hE2+9VjZBxYbY9HtZhMwTi6K4XVOlCD3gULr6P5HvdFg0lYIvJFE2K3btO6/cvCXaowpLsRSbuw4nzxQkFgxhQHTAFx54tLP5oo2Sf7qhQu5gB7DqvN3eNm7BacdKDXNkq/U8AJykx8i5H6iZX2QQxWTZoEwp9L4AQE0/2l/Jg31zmWKkMxg40Iq+gbOwMxb9NesgycPMv0GWMnZSAQjwHw2mI+m7FkAG03goIeJ2dwzPoYs9DQvkU/yk00DlYcqgRK89TcmKPhnTmxjrW9aVoiFXYwLjWcnHlWiBHfGJHRFT52VZw3k0bKXD4FffWpw1BQpqmzqc1L9D7r+CM2vVQVKWqXnkipWr4faqs3nZxX2/8uT0o3VXCpttAimuzNnnGIYNkOqN++O+hVK0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(396003)(346002)(39860400002)(376002)(451199018)(38100700002)(36756003)(86362001)(31696002)(2906002)(4744005)(41300700001)(66946007)(66556008)(66476007)(4326008)(8676002)(6916009)(5660300002)(8936002)(2616005)(6512007)(26005)(6506007)(186003)(54906003)(478600001)(316002)(6486002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SHRYU0ZDaXJCNTk0Q2M5dnZVMEROR04vd3NFdEUyc3kwbVh5UjNMSlltOTA5?=
 =?utf-8?B?TVozUzB1ZEFoUVlNdGROdHF1eFcySXM1NDRiS0VvdEpuR0lvMksrQThlV0RO?=
 =?utf-8?B?RFlERUhjRXJxa280WU9aaUVtazRwaythYUNnazRLdjZVSUYvdkR2aGtqenRz?=
 =?utf-8?B?Z3ZtQ2xVSkR4WnRDOHlFY3d6WHVlc3lJdmZvWkRGeTY5dGZjeHkrTDUreFNE?=
 =?utf-8?B?anBjMHBXUnZtMFlMVzZOSEZGZHBxd2Y5NmdFdWZyV3lrQ1BLYmVzbXh0WlBj?=
 =?utf-8?B?YUNEcmt6dndmUnFyK0t0eGJkMkxQd1hzQ0lhR2N3N2dkTEM5NFRUWXRIZE1B?=
 =?utf-8?B?bHptVVhBZkFOVjQvT1hUZDJwdExuaVZVTzFsbXBWbm9DMTJIeFVRcm5EbEZJ?=
 =?utf-8?B?ZElCZDk4U2dXQ3FTY3pPOFM2RG5uWVFsazFaZmdTN1NtRFI1ZkdoRnV2M0VM?=
 =?utf-8?B?RnhwTmRWSUw3R3ZUYmdlY2s5Tjg0bmN2M1JxblJUdmVaMzNUVmgrbnlZUE5X?=
 =?utf-8?B?MWtlOGFWV1J0Q1hyUnhCaFBzd2E5Si9QM0NLUE9NTzRLYUVnTUc1QlNlOTQy?=
 =?utf-8?B?aFh2YjZvc3B0aSs5R2JTb0I2SnBxSVdxbHdaTGFteU5sZ2ZDdzJDbUpxT3JG?=
 =?utf-8?B?TmFwWGNlYzFrRm5DZ3Z5M2RNdWpXSWlrTWVBZ2I3Vm9ZSWJ4U2p0a3F5WTRC?=
 =?utf-8?B?ZzVNcFJZSTY3LzJ2VjA4VUl1d3pvOG9NcXRHOVdEUWFIbUtUYXdDekNWa2FQ?=
 =?utf-8?B?ekFkcmJnYkxKRzJMWEhYRUZNMDdVN3FrNmY2aXBmK1NJOUZzQ29kaHZIOWtS?=
 =?utf-8?B?L2RZczkrTS9NOXBvSVFiWE0vazU4T05TRUlYRndxdittd2RPUWNoV2YzNHY0?=
 =?utf-8?B?dlYwZWdKcTVwbGNidTU1MGFOMG9DU1lYMkQ2SFpVZ25sS1lKblVnVG8xbW1q?=
 =?utf-8?B?UUpwRkI1c3B3WkYyUlpVNjdCSTVaaUV1NjZoK1I0U3BhVGpMQTFjTTFpRVNv?=
 =?utf-8?B?L1c4NXExaE1LQ0FkZzVEaHpMTlArNGJ2eDZUWUc5L1FPREpqaHNZTExWd2NO?=
 =?utf-8?B?VUdtVGQxRUZvdFl4NmtWbFpuMFkvaDZzRGU5dHk4QktyeXcrTFg2YlJpQ0lr?=
 =?utf-8?B?dGxGbnNXS21GUE02NGQ3V1A0YTFwQkhOeTd1YXZka1c1a0YwdE1aWjc1ZVVh?=
 =?utf-8?B?cG9LQjB1TVVYdDFKMnlxdUNtMjRpNHgvS3A0T3R0QWxYaTZKLzJmcTZRWmJL?=
 =?utf-8?B?MXJsUWswUWhZMWRseVdrSTdWcmZrSTkrTmpDWnBSZFRDVFlMMzhEdFQvQk9B?=
 =?utf-8?B?cFZnSTd5Njl2RzZjTWErejVFWU52MUJ2ajhiRE9mc2dWank3K1NWZkN2bTNh?=
 =?utf-8?B?Tmx3bElod3NGSDg3SVF4SW9KMHBTQ0Nhb2NncFpQSzhZUUIrYXZJbFU5ZXVC?=
 =?utf-8?B?bEs2dHE3Q0NhekVtKzdGRldjTkFLZjI2K1lwMW41ZjVPdGZDVGU5czg3RHQ2?=
 =?utf-8?B?MFN0SlVITWxncG5Xay9SeWVyOGZuQkdJSUtVQnAveWNXZXBuR3B0dWR2MStr?=
 =?utf-8?B?anphUWpFZ25CNkFtQmVDQkY4TUpZSGpGS2xnMVd5N3dsaFNCWHdFTmJkWWxR?=
 =?utf-8?B?K01Edmh3d3dvV2ZZNm5VeHV1K3RWNUViQnBMcGNKdTB6cDNuYlorckZ3K1VN?=
 =?utf-8?B?UktGSXJiRSs4RjdNRWJSc0pCL2NzL2VyOGRTSXI2c2s0cFMycEtGQXRmRVcv?=
 =?utf-8?B?Yzd0bTlUZk9WdzRUem9OR092RkVqMkx2eXRkczNMQVk5T2cyVGloZ3lWMEtX?=
 =?utf-8?B?VlJoOUhVL2Nwb09nVjlzbkJSMHpyaUlLV1UrSzhLWlVhaHMwMHZxbU9zZmRM?=
 =?utf-8?B?a1FIR0pqelJqMjRvSlBBbW1WVnVDQVRSUXc0TVd2MlVoTDkzTkU1MGhUNW0w?=
 =?utf-8?B?VVlYcnlSR2xSMnNKM2hpMU5pcWY5cmd5bWlEaWJUYlRacUpLUDRDZ01haTVY?=
 =?utf-8?B?QWxjK00yVndSODJubHRjNGhoUS81WHc3bDhvdzBlMnBwNU54MkM1R2ZIZXpO?=
 =?utf-8?B?VkZpNEVxN0dmczl0ZERxbjAxQ2d3VVI4aVV2UlFCZ00ySEFmSjZ0SlNCeW14?=
 =?utf-8?Q?NU9+n1Axzl6a/2WrHZ2pQpP+Z?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c6cc50b4-e4a9-4d67-81da-08db1a5f869f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 14:16:18.7747
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: d4da8k+CM3Iz79A8xnapDVql6kTiW3gVp+lKG5g8cVgoaL+zRidjFUqwlhI2qlTlyOhKc4qLRc/qkThezVludQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7472

This is all dead code in shim-exclusive mode, so there's no point in
building it.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Depends on "core-parking: fix build with gcc12 and NR_CPUS=1".
---
v2: Use UNCONSTRAINED.

--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -10,7 +10,7 @@ config COMPAT
 
 config CORE_PARKING
 	bool
-	depends on NR_CPUS > 1
+	depends on NR_CPUS > 1 && UNCONSTRAINED
 
 config GRANT_TABLE
 	bool "Grant table support" if EXPERT



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 14:33:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 14:33:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504083.776604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXNWE-00072N-E4; Wed, 01 Mar 2023 14:33:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504083.776604; Wed, 01 Mar 2023 14:33: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 1pXNWE-00072G-Au; Wed, 01 Mar 2023 14:33:22 +0000
Received: by outflank-mailman (input) for mailman id 504083;
 Wed, 01 Mar 2023 14:33: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 1pXNWC-000726-SN; Wed, 01 Mar 2023 14:33: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 1pXNWC-0000hu-QO; Wed, 01 Mar 2023 14:33: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 1pXNWC-0000gO-Ju; Wed, 01 Mar 2023 14:33:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXNWC-0000SJ-JM; Wed, 01 Mar 2023 14:33: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=1qKOf//jv6LsP3AuAtLcj7MhdzL7ZmjS6hl+uZPW2Fw=; b=zy7hYqArqBAseQQ1TYpMq2Eght
	brJvlhkasoNhUKj0Zi/kBWtIpoxa2gofTpTUQKgqx0I/Ur6g/nyFNgDBLd6N2LKcRcXecYIBzheJb
	8u4tEoMhXITLK4hkak/yV8sTMbegmLPTZdtJ4M0mGqxH5+H7wfk3KrY1qxteFXG4R1OY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178838-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 178838: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    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-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-amd64-libvirt-vhd: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-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=541670dd5cc33f621f1199e5421efd2c79c25b1a
X-Osstest-Versions-That:
    libvirt=d427102fbd690cb2f43dbf33751cc5194a5b16ce
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Mar 2023 14:33:20 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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-amd64-libvirt-vhd 14 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-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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              541670dd5cc33f621f1199e5421efd2c79c25b1a
baseline version:
 libvirt              d427102fbd690cb2f43dbf33751cc5194a5b16ce

Last test of basis   178733  2023-02-28 04:20:14 Z    1 days
Testing same since   178838  2023-03-01 04:20:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Laine Stump <laine@redhat.com>
  Peter Krempa <pkrempa@redhat.com>
  Sergey A <sw@atrus.ru>
  Sergey A. <sw@atrus.ru>
  김인수 <simmon@nplob.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   d427102fbd..541670dd5c  541670dd5cc33f621f1199e5421efd2c79c25b1a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 15:16:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 15:16:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504093.776614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXOBu-0004Qt-Lo; Wed, 01 Mar 2023 15:16:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504093.776614; Wed, 01 Mar 2023 15: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 1pXOBu-0004Qm-Ia; Wed, 01 Mar 2023 15:16:26 +0000
Received: by outflank-mailman (input) for mailman id 504093;
 Wed, 01 Mar 2023 15:16:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=S3ad=6Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXOBt-0004Qg-9b
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 15:16:25 +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 0785f9e0-b844-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 16:16:24 +0100 (CET)
Received: by mail-lj1-x22a.google.com with SMTP id j17so14298655ljq.11
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 07:16:24 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 f2-20020a2eb5a2000000b0029474e94ac6sm1714521ljn.12.2023.03.01.07.16.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 07:16: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: 0785f9e0-b844-11ed-96a6-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677683783;
        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=Ontny9vISXNNebavwee74ki0qDJWWpixho5Zea+1bcU=;
        b=YXj1oRJZJ3n7BfDsAN/86bzUIjaLzS9VoR+77vyU1ki8bEz/SNv7gnFmRJ+uOWEOx3
         5fpvXMudBT1ozcxrK/f/SgjO4oS4YTfy4aqOLJnPvImKSNEHsl5CFD2i0ZK7MBmlk7tW
         /Ya3XBxsn+cgK8wo1cur6AQEb1HcaLOihuMt9bmn3oPuaWaMHRy63yrhTxvTVjQSLB+l
         H9JwT+rit991NMdnRMCHNrrUGqHGT+n0/7gUtY0eBItIL4vut7SYdQCuFcxat85JDezW
         glviszEIoUa8Wr4ww7tfXxdKHSzu8X5BUzhKdZy9nOayqKkv0ur9S+NL8VvWdNtWPuWJ
         /AxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677683783;
        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=Ontny9vISXNNebavwee74ki0qDJWWpixho5Zea+1bcU=;
        b=3r5UJTckXMol/fcpEuDbNZ27xcluPQeqNnnd2MZYxb+uX6dAUVhhvimyOYd6tQtOrp
         XAbfaF2exc4/dZ1ng9BCK1sy/EW1j1ygMKnEtdBd/drlQxIWUn3aKKD97+7wsV1LXJP/
         Nqhp2lkNtB3W6DQHwFsn9AVtTO6u29icm1Gsg7p06NJCp6B1MqW8hiXPPnrua44Pcx6o
         0ncDMi68mFAyBi+JzyAgtXucnTLwTEK/aaMCV5aZuJEkPuT+BDBpxMsA+q7uLVxGaFjH
         TeI+CrRrM78T0eAMypRQxpNjUYv7Sb5WiL7+EemBoSqiQtWMAXE5o2CzolLDjpvzR9rf
         g3JQ==
X-Gm-Message-State: AO0yUKUMiuUSsI12i8tYkIPgmvOuP/t/01GR2X+/SO9CFVhl3rqqrGtW
	iFaDUD+FZHmeF3ju+1O9E5g=
X-Google-Smtp-Source: AK7set/vzuZ9qgFfDCUFWo/+eQo29mpfy3neg/WqbyTp2Nkt7ZRa5BE4a00/NNALeQ3Ql2L+3Y3ZSQ==
X-Received: by 2002:a2e:981a:0:b0:28b:6f21:d929 with SMTP id a26-20020a2e981a000000b0028b6f21d929mr1968745ljj.32.1677683783496;
        Wed, 01 Mar 2023 07:16:23 -0800 (PST)
Message-ID: <bb5105f462a79bc0136348302407574f1d9f792b.camel@gmail.com>
Subject: Re: [PATCH v3 3/4] xen/arm: switch ARM to use generic
 implementation of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Date: Wed, 01 Mar 2023 17:16:21 +0200
In-Reply-To: <297fb314-7752-fdf6-3003-f5bd1396c1e3@xen.org>
References: <cover.1677233393.git.oleksii.kurochko@gmail.com>
	 <d80c136720c156d6ef83f27f1ce8dca5dba5b5a0.1677233393.git.oleksii.kurochko@gmail.com>
	 <f82b8c50-47f2-d8b0-5a2c-60203e5d5e26@xen.org>
	 <ae96eb36-aeba-86f0-3b72-a8b62f4dce60@xen.org>
	 <6735859208c6dcb7320f89664ae298005f70827b.camel@gmail.com>
	 <75df5a86-5d64-d219-c25c-644748a88302@xen.org>
	 <3f108af54c7d824f59a7dc1daf7d4d0c23f617ec.camel@gmail.com>
	 <297fb314-7752-fdf6-3003-f5bd1396c1e3@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-01 at 13:58 +0000, Julien Grall wrote:
> On 01/03/2023 12:31, Oleksii wrote:
> > Hi Julien,
>=20
> Hi,
>=20
> > > > >=20
> > > > > > On 24/02/2023 11:31, Oleksii Kurochko wrote:
> > > > > > > The following changes were made:
> > > > > > > * make GENERIC_BUG_FRAME mandatory for ARM
> > > > > >=20
> > > > > > I have asked in patch #1 but will ask it again because I
> > > > > > think
> > > > > > this
> > > > > > should be recorded in the commit message. Can you outline
> > > > > > why
> > > > > > it is
> > > > > > not
> > > > > > possible to completely switch to the generic version?
> > > > >=20
> > > > > I have just tried to remove it on arm64 and it seems to work.
> > > > > This
> > > > > was
> > > > > only tested with GCC 10 though. But given the generic version
> > > > > is
> > > > > not
> > > > > not
> > > > > using the %c modifier, then I wouldn't expect any issue.
> > > > >=20
> > > > > Cheers,
> > > > >=20
> > > >=20
> > > > I tried to switch ARM to generic implementation.
> > > >=20
> > > > Here is the patch: [1]
> > >=20
> > > This is similar to the patch I wrote to test with generic
> > > implementation
> > > on Arm (see my other reply).
> > >=20
> > > [...]
> > >=20
> > > > (it will be merged with patch 3 if it is OK )
> > > >=20
> > > > And looks like we can switch ARM to generic implementation as
> > > > all
> > > > tests
> > > > passed:
> > > > https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/7915493=
96
> > >=20
> > > Thanks for checking with the gitlab CI!
> > >=20
> > > >=20
> > > > The only issue is with yocto-arm:
> > > > https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/7915493=
96/failures
> > > > But I am not sure that it is because of my patch
> > >=20
> > > This looks unrelated to me. This is happening because there is a
> > > data
> > > abort before PSCI (used to reboot the platform) is properly
> > > setup. I
> > > think we should consider to only print once the error rather than
> > > every
> > > few iterations (not a request for you).
> > >=20
> > > That said, I am a bit puzzled why this issue is only happening in
> > > the
> > > Yocto test (the Debian one pass). Do you know if the test is
> > > passing
> > > in
> > > the normal CI?
> > I checked several pipelines on the normal CI and it is fine.
> > >=20
> > > If yes, what other modifications did you do?
> > It looks like the issue happens after switch ARM to generic
> > implementation of bug.h:
> > -
> > https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792379063/f=
ailures
> > [ failure ]
> > -
> > https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792381665/f=
ailures
> > [ passed ]
> >=20
> > The difference between builds is only in the commit ' check if ARM
> > can
> > be fully switched to generic implementation '.
> > For second one it is reverted so it looks like we can't switch ARM
> > to
> > generic implementation now as it is required addiotional
> > investigation.
>=20
> Thanks. Looking at the error again, it looks like the data abort is=20
> because we are accessing an unaligned address.
>=20
> =C2=A0From a brief look at arch/arm/xen.lds.S, I can at least see one cas=
e
> of=20
> misalignment (not clear why it would only happen now though). Can you
> try:
>=20
> diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
> index 3f7ebd19f3ed..fb8155bd729f 100644
> --- a/xen/arch/arm/xen.lds.S
> +++ b/xen/arch/arm/xen.lds.S
> @@ -67,6 +67,7 @@ SECTIONS
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.data.rel.ro)
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.data.rel.ro.*)
>=20
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 . =3D ALIGN(4);
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __proc_info_start =3D .;
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *(.proc.info)
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 __proc_info_end =3D .;
>=20
> >=20
> > There is no other significant changes ( only the changes mentioned
> > in
> > the current mail thread ).
> >=20
> > Could we go ahead without switching ARM to generic implementation
> > to
> > not block other RISC-V patch series?
>=20
> Given this is an alignment issue (Arm32 is more sensible to this than
> the other architecture, but this is still a potential problem for the
> other archs), I would really like to understand whether this is an
> issue=20
> in the common code or in the Arm linker script.
I have a good news.

Alignment of "*(.proc.info)" helps but I checked only yocto-qemuarm:
https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792923264

I ran all tests here:
https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792953524

Should I create a separate patch with ALIGN if the tests are passed?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 15:21:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 15:21:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504100.776624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXOGa-0006HE-CC; Wed, 01 Mar 2023 15:21:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504100.776624; Wed, 01 Mar 2023 15: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 1pXOGa-0006H7-8z; Wed, 01 Mar 2023 15:21:16 +0000
Received: by outflank-mailman (input) for mailman id 504100;
 Wed, 01 Mar 2023 15:21:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1pXOGZ-0006H1-TB
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 15:21:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pXOGZ-0001w8-8L; Wed, 01 Mar 2023 15:21:15 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.13.48]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pXOGZ-0004gg-0z; Wed, 01 Mar 2023 15: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>
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=N1p9UC7XCOx6iLTYUzJiSqn6DH20zT00dDaFvd4YArU=; b=qW2xcVB9wEacZxUgCRSEHd/PWK
	sfqC1A1UNJEthHpTplgohBTrPowEjtkRAHozlpOUZRMZcWXqO3veeZdumIZ4J9LqdrNNfDpw5ubdq
	nMlcIOVu4bwhikipcMFwuMsny6zGnEJJGmlRmsVBJFwgXBgP73njA20vWzo1Sa+8OyfU=;
Message-ID: <0fd10ac8-6110-8299-b2b1-5e46e0c7b14a@xen.org>
Date: Wed, 1 Mar 2023 15:21:12 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v3 3/4] xen/arm: switch ARM to use generic implementation
 of bug.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1677233393.git.oleksii.kurochko@gmail.com>
 <d80c136720c156d6ef83f27f1ce8dca5dba5b5a0.1677233393.git.oleksii.kurochko@gmail.com>
 <f82b8c50-47f2-d8b0-5a2c-60203e5d5e26@xen.org>
 <ae96eb36-aeba-86f0-3b72-a8b62f4dce60@xen.org>
 <6735859208c6dcb7320f89664ae298005f70827b.camel@gmail.com>
 <75df5a86-5d64-d219-c25c-644748a88302@xen.org>
 <3f108af54c7d824f59a7dc1daf7d4d0c23f617ec.camel@gmail.com>
 <297fb314-7752-fdf6-3003-f5bd1396c1e3@xen.org>
 <bb5105f462a79bc0136348302407574f1d9f792b.camel@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <bb5105f462a79bc0136348302407574f1d9f792b.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 01/03/2023 15:16, Oleksii wrote:
> On Wed, 2023-03-01 at 13:58 +0000, Julien Grall wrote:
>> On 01/03/2023 12:31, Oleksii wrote:
>> Given this is an alignment issue (Arm32 is more sensible to this than
>> the other architecture, but this is still a potential problem for the
>> other archs), I would really like to understand whether this is an
>> issue
>> in the common code or in the Arm linker script.
> I have a good news.
> 
> Alignment of "*(.proc.info)" helps but I checked only yocto-qemuarm:
> https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792923264
> 
> I ran all tests here:
> https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792953524
> 
> Should I create a separate patch with ALIGN if the tests are passed?

Yes please. But, to be honest, I am not entirely sure what is not 
aligned before hand. Do you know if it is possible to download the Xen 
binary from gitlab?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 15:28:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 15:28:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504105.776634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXONq-0006uW-4H; Wed, 01 Mar 2023 15:28:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504105.776634; Wed, 01 Mar 2023 15: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 1pXONq-0006uP-1E; Wed, 01 Mar 2023 15:28:46 +0000
Received: by outflank-mailman (input) for mailman id 504105;
 Wed, 01 Mar 2023 15: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=S3ad=6Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXONp-0006uJ-6B
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 15:28:45 +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 c078bb1d-b845-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 16:28:44 +0100 (CET)
Received: by mail-lj1-x234.google.com with SMTP id b10so14441381ljr.0
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 07:28:43 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 p9-20020a2eba09000000b002934ea0def9sm1677017lja.140.2023.03.01.07.28.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 07:28: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: c078bb1d-b845-11ed-96a6-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677684523;
        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=n7gmqtl4qpWGDlW2BTJ1hihBgTLG1kI/74M//ERNwD8=;
        b=fK/HLgFGbLSKt8gvlXebmO5wsDDlMyQEs2b1Hnn/FosoznX+N5AjJOYCw2eHmL/vbK
         mxMTLNHcz6k/NJiJt/+F1+ffaDpwiRKsBSZelZt/E4+xTQ+mah1iObs7Roj7lE0HGz9B
         ARV6vTiwWeRulA2n6qWpX+GIbuXTO6EAYhQE1G21LIgTyXa9Hl3WZHqqk+fsLSqd3dMO
         30ihCB3iC+5R7mFs7PU6cfS2DjiG5vVLlj965IKc//0VmxzlJpsrv9yxt3Qb7DIEe1eL
         bYOelbSgJL5yjPalw3osL0Ws6qL6Mc1SoXc4csbh60ux/Ke03kbH27CWnOMTJarWETZM
         lLqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677684523;
        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=n7gmqtl4qpWGDlW2BTJ1hihBgTLG1kI/74M//ERNwD8=;
        b=Rn5137WZXpG5g7VfZQrXcYreGt8u/ijVWCkFEudNRhYc3/rkKODiKkquwsObat6Ma0
         sm4jnwQVt5gGHbaPPLgWtrV1vl0XFSZGXNMIJ3Kn34Xlqwor8X5OGCARAaKdByZmcNcA
         B1KedlgXtQzz6csS0ChTF66Y+rPXJlzLrLv2jA136aANhN5EgiChAt+0brtigyuyjaA+
         9dWgpFUGaPdoQiJlQ0zqkfnkDUq4dyLaRXOXt/Vp2PNvwi9+GXFH0TNM0cd0veIfvqv9
         CkGSTrxMSXJqFxZSCuQRnATkPZO/PJzjP1Ozz83wcUv1rAGtXvBQEXwY4dCwrCS8+/ul
         kVRg==
X-Gm-Message-State: AO0yUKW7WhAOMawuIdbNPJdIFgMOixpe/rAsMyk/oGejZkevSQfcWcb0
	RYwV/C60Oj1pghzjW3RAKp0F1I3l3uY=
X-Google-Smtp-Source: AK7set8lu3976CrFsfo2ZaClO015kBKDfiMWMdFoTM3lZoKC3reJfbeNZXA6mA5IB6sLUxVdpG/cPg==
X-Received: by 2002:a2e:9798:0:b0:295:ae71:8e87 with SMTP id y24-20020a2e9798000000b00295ae718e87mr2009201lji.45.1677684523086;
        Wed, 01 Mar 2023 07:28:43 -0800 (PST)
Message-ID: <aa2862eacccfb0574859bf4cda8f4992baa5d2e1.camel@gmail.com>
Subject: Re: [PATCH v3 3/4] xen/arm: switch ARM to use generic
 implementation of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Date: Wed, 01 Mar 2023 17:28:41 +0200
In-Reply-To: <0fd10ac8-6110-8299-b2b1-5e46e0c7b14a@xen.org>
References: <cover.1677233393.git.oleksii.kurochko@gmail.com>
	 <d80c136720c156d6ef83f27f1ce8dca5dba5b5a0.1677233393.git.oleksii.kurochko@gmail.com>
	 <f82b8c50-47f2-d8b0-5a2c-60203e5d5e26@xen.org>
	 <ae96eb36-aeba-86f0-3b72-a8b62f4dce60@xen.org>
	 <6735859208c6dcb7320f89664ae298005f70827b.camel@gmail.com>
	 <75df5a86-5d64-d219-c25c-644748a88302@xen.org>
	 <3f108af54c7d824f59a7dc1daf7d4d0c23f617ec.camel@gmail.com>
	 <297fb314-7752-fdf6-3003-f5bd1396c1e3@xen.org>
	 <bb5105f462a79bc0136348302407574f1d9f792b.camel@gmail.com>
	 <0fd10ac8-6110-8299-b2b1-5e46e0c7b14a@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

Hi Julien,

> On 01/03/2023 15:16, Oleksii wrote:
> > On Wed, 2023-03-01 at 13:58 +0000, Julien Grall wrote:
> > > On 01/03/2023 12:31, Oleksii wrote:
> > > Given this is an alignment issue (Arm32 is more sensible to this
> > > than
> > > the other architecture, but this is still a potential problem for
> > > the
> > > other archs), I would really like to understand whether this is
> > > an
> > > issue
> > > in the common code or in the Arm linker script.
> > I have a good news.
> >=20
> > Alignment of "*(.proc.info)" helps but I checked only yocto-
> > qemuarm:
> > https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792923264
> >=20
> > I ran all tests here:
> > https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792953524
> >=20
> > Should I create a separate patch with ALIGN if the tests are
> > passed?
>=20
> Yes please. But, to be honest, I am not entirely sure what is not=20
> aligned before hand. Do you know if it is possible to download the
> Xen=20
> binary from gitlab?
It is possible.

Please go to the link of the job:
https://gitlab.com/xen-project/people/olkur/xen/-/jobs/3856617252
And on the right you will find 'Job artificats' where you can click
'Download'.
Or in  case if you need a particular binary can click 'Browse' and go
to Artifcats/Binaries/:
https://gitlab.com/xen-project/people/olkur/xen/-/jobs/3856617252/artifacts=
/browse/binaries/

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 15:48:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 15:48:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504115.776643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXOgD-0001cJ-Oc; Wed, 01 Mar 2023 15:47:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504115.776643; Wed, 01 Mar 2023 15:47: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 1pXOgD-0001cC-M0; Wed, 01 Mar 2023 15:47:45 +0000
Received: by outflank-mailman (input) for mailman id 504115;
 Wed, 01 Mar 2023 15:47: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=oYBP=6Z=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1pXOgC-0001c5-8l
 for xen-devel@lists.xen.org; Wed, 01 Mar 2023 15:47: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 65a72689-b848-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 16:47:42 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-35-189UUaEtMpOJYaipxaj5jQ-1; Wed, 01 Mar 2023 10:47:35 -0500
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com
 [10.11.54.6])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 08774800B23;
 Wed,  1 Mar 2023 15:47:34 +0000 (UTC)
Received: from localhost (unknown [10.39.192.234])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 2FE412166B2A;
 Wed,  1 Mar 2023 15:47: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: 65a72689-b848-11ed-96a6-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677685659;
	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;
	bh=ZcyCRC5iYwgEQEDm61qvHfK7mK/edmDx0UhuNcF9whk=;
	b=Fw4oaOebsJgSlLNsUBFFzlNvf8S3Aj9snsD3DB8qL1aAinLlXaNtqCPtRU9ll9tUtQhI16
	IjGjyXlgjI0mR9ky4tY6kWW1Tr4MDqMPUOrUxj8/hU/TC+arSGTQV16F/A+oIGgN1qYxyl
	RsRMBiRXNF8OBKMAwu/BeuDR2bXo/3o=
X-MC-Unique: 189UUaEtMpOJYaipxaj5jQ-1
Date: Wed, 1 Mar 2023 10:47:28 -0500
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [virtio-dev] [RFC QEMU] docs: vhost-user: Add custom memory
 mapping support
Message-ID: <Y/9zkDAS4odz93GM@fedora>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="REA+6g3fXhuAA0Hw"
Content-Disposition: inline
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.6


--REA+6g3fXhuAA0Hw
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Resend - for some reason my email didn't make it out.

----- Forwarded message from Stefan Hajnoczi <stefanha@redhat.com> -----

Date: Tue, 21 Feb 2023 10:17:01 -0500
=46rom: Stefan Hajnoczi <stefanha@redhat.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org, "Michael S. Tsi=
rkin" <mst@redhat.com>, Vincent Guittot <vincent.guittot@linaro.org>, Alex =
Benn=E9e <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org, Oleksandr Tyshchenko <olekstysh@gmail.com=
>, xen-devel@lists.xen.org, Andrew Cooper <andrew.cooper3@citrix.com>, Juer=
gen Gross <jgross@suse.com>, Sebastien Boeuf
	<sebastien.boeuf@intel.com>, Liu Jiang <gerry@linux.alibaba.com>, Mathieu =
Poirier <mathieu.poirier@linaro.org>
Subject: Re: [virtio-dev] [RFC QEMU] docs: vhost-user: Add custom memory ma=
pping support
Message-ID: <Y/TgbZLY894p4a1S@fedora>

On Tue, Feb 21, 2023 at 03:20:41PM +0530, Viresh Kumar wrote:
> The current model of memory mapping at the back-end works fine with
> Qemu, where a standard call to mmap() for the respective file
> descriptor, passed from front-end, is generally all we need to do before
> the front-end can start accessing the guest memory.
>=20
> There are other complex cases though, where we need more information at
> the backend and need to do more than just an mmap() call. For example,
> Xen, a type-1 hypervisor, currently supports memory mapping via two
> different methods, foreign-mapping (via /dev/privcmd) and grant-dev (via
> /dev/gntdev). In both these cases, the back-end needs to call mmap()
> followed by an ioctl() (or vice-versa), and need to pass extra
> information via the ioctl(), like the Xen domain-id of the guest whose
> memory we are trying to map.
>=20
> Add a new protocol feature, 'VHOST_USER_PROTOCOL_F_CUSTOM_MMAP', which
> lets the back-end know about the additional memory mapping requirements.
> When this feature is negotiated, the front-end can send the
> 'VHOST_USER_CUSTOM_MMAP' message type to provide the additional
> information to the back-end.
>=20
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  docs/interop/vhost-user.rst | 32 ++++++++++++++++++++++++++++++++
>  1 file changed, 32 insertions(+)

The alternative to an in-band approach is to configure these details
out-of-band. For example, via command-line options to the vhost-user
back-end:

  $ my-xen-device --mapping-type=3Dforeign-mapping --domain-id=3D123

I was thinking about both approaches and don't see an obvious reason to
choose one or the other. What do you think?

> diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst
> index 3f18ab424eb0..f2b1d705593a 100644
> --- a/docs/interop/vhost-user.rst
> +++ b/docs/interop/vhost-user.rst
> @@ -258,6 +258,23 @@ Inflight description
> =20
>  :queue size: a 16-bit size of virtqueues
> =20
> +Custom mmap description
> +^^^^^^^^^^^^^^^^^^^^^^^
> +
> ++-------+-------+
> +| flags | value |
> ++-------+-------+
> +
> +:flags: 64-bit bit field
> +
> +- Bit 0 is Xen foreign memory access flag - needs Xen foreign memory map=
ping.
> +- Bit 1 is Xen grant memory access flag - needs Xen grant memory mapping.
> +
> +:value: a 64-bit hypervisor specific value.
> +
> +- For Xen foreign or grant memory access, this is set with guest's xen d=
omain
> +  id.

This is highly Xen-specific. How about naming the feature XEN_MMAP
instead of CUSTOM_MMAP? If someone needs to add other mmap data later,
they should define their own struct instead of trying to squeeze into
the same fields as Xen.

There is an assumption in this design that a single
VHOST_USER_CUSTOM_MMAP message provides the information necessary for
all mmaps. Are you sure the limitation that every mmap belongs to the
same domain will be workable in the future?

> +
>  C structure
>  -----------
> =20
> @@ -867,6 +884,7 @@ Protocol features
>    #define VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS 14
>    #define VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS  15
>    #define VHOST_USER_PROTOCOL_F_STATUS               16
> +  #define VHOST_USER_PROTOCOL_F_CUSTOM_MMAP          17
> =20
>  Front-end message types
>  -----------------------
> @@ -1422,6 +1440,20 @@ Front-end message types
>    query the back-end for its device status as defined in the Virtio
>    specification.
> =20
> +``VHOST_USER_CUSTOM_MMAP``

Most vhost-user protocol messages have a verb like
get/set/close/add/listen/etc. I suggest renaming this to
VHOST_USER_SET_XEN_MMAP_INFO.

> +  :id: 41
> +  :equivalent ioctl: N/A
> +  :request payload: Custom mmap description
> +  :reply payload: N/A
> +
> +  When the ``VHOST_USER_PROTOCOL_F_CUSTOM_MMAP`` protocol feature has be=
en
> +  successfully negotiated, this message is submitted by the front-end to
> +  notify the back-end of the special memory mapping requirements, that t=
he
> +  back-end needs to take care of, while mapping any memory regions sent
> +  over by the front-end. The front-end must send this message before
> +  any memory-regions are sent to the back-end via ``VHOST_USER_SET_MEM_T=
ABLE``
> +  or ``VHOST_USER_ADD_MEM_REG`` message types.
> +
> =20
>  Back-end message types
>  ----------------------
> --=20
> 2.31.1.272.g89b43f80a514
>=20
>=20
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
> For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
>=20



----- End forwarded message -----

--REA+6g3fXhuAA0Hw
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmP/c5AACgkQnKSrs4Gr
c8j7xQgAvP7ofHadadItgG48Mx2Y5ZxqGbcYrkWl9Z3LFplSdvSL57D89nu+U3I6
YHEQTjc/aXyZHAQJfeQbTMfjAcLzsaLD5dGpmypZN6nwMwMdjkNDIVMgJiac2hau
cqRAcrZcmGYvODag1LKvbofZvYcHspHO/IGF6BMbpFV98d9gpVJFS5NaE+I67Em7
6abQUP4VmzhyO9vqAYxtCjTo+Wt5mCOjHXCBbHFrCS1SeknZDReUQcoE9fmZZjOq
5wxk221ccSUwRM+bRvugkEKi0jzpc9TFJt7sR+hcgHPatPBi/KeLjojHBrRInnfx
CDcx43fMekxlUmcVrsH0AYySsoS0wg==
=zYpW
-----END PGP SIGNATURE-----

--REA+6g3fXhuAA0Hw--



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 15:50:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 15:50:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504120.776653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXOj9-0003MU-7E; Wed, 01 Mar 2023 15:50:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504120.776653; Wed, 01 Mar 2023 15:50: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 1pXOj9-0003MN-4a; Wed, 01 Mar 2023 15:50:47 +0000
Received: by outflank-mailman (input) for mailman id 504120;
 Wed, 01 Mar 2023 15: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=Km5w=6Z=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pXOj7-0003MH-Hm
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 15:50:45 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20605.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d32bff9b-b848-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 16:50:44 +0100 (CET)
Received: from AM6PR10CA0094.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:8c::35)
 by AS8PR08MB6535.eurprd08.prod.outlook.com (2603:10a6:20b:336::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17; Wed, 1 Mar
 2023 15:50:37 +0000
Received: from AM7EUR03FT039.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8c:cafe::79) by AM6PR10CA0094.outlook.office365.com
 (2603:10a6:209:8c::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17 via Frontend
 Transport; Wed, 1 Mar 2023 15:50:37 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT039.mail.protection.outlook.com (100.127.140.224) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.18 via Frontend Transport; Wed, 1 Mar 2023 15:50:36 +0000
Received: ("Tessian outbound 2ba0ed2ebb9f:v135");
 Wed, 01 Mar 2023 15:50:36 +0000
Received: from 23d217f6310e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D80EA22A-4DDA-42FF-949B-FA82FDAE3CF5.1; 
 Wed, 01 Mar 2023 15:50:29 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 23d217f6310e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 01 Mar 2023 15:50:29 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PR3PR08MB5850.eurprd08.prod.outlook.com (2603:10a6:102:92::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Wed, 1 Mar
 2023 15:50:28 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Wed, 1 Mar 2023
 15:50: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: d32bff9b-b848-11ed-96a6-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lOah+8VV35cytoNff/TOiDoE0ghlFgycMBzb7wDgv9o=;
 b=NWQ9sOUep9g6Bz/gqxysQhOd3mBAwlqvl2137IeD7jbp666BvxhldidrO/HidgDaVJbyS5069UIKz1P9jau1rn2oTEMB1qxdlNjaogLNHsIusB5FVIsXiMpjUFRQ/saSXhzWT6zJEq937qOMHuzQUfvyM7bgcXqUDbljv+KmC8E=
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: 84102b2f2c76c982
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VGiimQj0i3yJKzMdeHVt8x98+6wphIuaINpSZddepIZ0bp0Bkj/15+96zOPfX01WStC3WGI6DZj3ENGjRWqVWiPuiKCH0AT5Arbp3DoPcrTr9HfY0JoSxXb10Abndypz3+INFYXN7dML9oEhIohbDmvW/zYcoi6jynL4W/ihQRSnRxiBPaHKLUlB6d2aRT9O8r1X00p9pXiM2sLO19HrZAo81RmXiNB4jg2lWMCDOj8S6GEV+sDi3uS6Y2oxfmZjNuuBPl3MurJGpe7UopXU0K9eB1A9NpBtQ6S85ZoQdtJeMmvKACoC3ArQIG5psbDmq2qWe0zo9FsoEonHCbRVDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lOah+8VV35cytoNff/TOiDoE0ghlFgycMBzb7wDgv9o=;
 b=jl6mkAxN0bScde7mZvl9GSFhpmfkgxJqEnv71UXmpQ8q2bxyTljnRWnildcRcpbv61J2TPqdJKwvk5G6U0qJmT4ZcB7mjaHW25MO41TACRbqkP9RkHrGG2wnt08hg55ZRra78nvS1LONeDZWuKv+ASexnTXUiEDE0TKhMMEoZ/aKFdykEfFZwSL+Bh9JlZmfBWX9RP3kjMoylrG4NnFlV9EhALDqvEJBOkHhy3Xaar6eEDOcNIo4giRSZO2NC9QrsPp2I7EsOXtxwdYmgfRQFO5Vt3sahfG9Kq9cv50rdX7YSQ2t/ctQSZnbQGv2Q2baA5VMJMlUMePebIGTCcULvQ==
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=lOah+8VV35cytoNff/TOiDoE0ghlFgycMBzb7wDgv9o=;
 b=NWQ9sOUep9g6Bz/gqxysQhOd3mBAwlqvl2137IeD7jbp666BvxhldidrO/HidgDaVJbyS5069UIKz1P9jau1rn2oTEMB1qxdlNjaogLNHsIusB5FVIsXiMpjUFRQ/saSXhzWT6zJEq937qOMHuzQUfvyM7bgcXqUDbljv+KmC8E=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 10/20] xen/arm: ffa: add direct request support
Thread-Topic: [XEN PATCH v7 10/20] xen/arm: ffa: add direct request support
Thread-Index: AQHZRtMbYfucWbm5fkaW7bEI3lX4ea7i8oGAgALYoYCAAFJBgA==
Date: Wed, 1 Mar 2023 15:50:27 +0000
Message-ID: <3FA94B6D-79B4-453C-A9E4-631452458CBD@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <3332563e64568b2ffd236b1f428c27aa4cdf9790.1677079672.git.jens.wiklander@linaro.org>
 <F22A4773-94E8-4F24-A5C8-BF4E075A7698@arm.com>
 <CAHUa44FrC_S1Ot8-2s3=q5f7omZ+gsZhYTJUTMA0yVG5BBp6mw@mail.gmail.com>
In-Reply-To:
 <CAHUa44FrC_S1Ot8-2s3=q5f7omZ+gsZhYTJUTMA0yVG5BBp6mw@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.3731.400.51.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_|PR3PR08MB5850:EE_|AM7EUR03FT039:EE_|AS8PR08MB6535:EE_
X-MS-Office365-Filtering-Correlation-Id: bbb1344d-4ae6-4e8d-0f61-08db1a6cb353
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:
 Hs5f82Ku7qEgAfzVmLJW7HW2QfH2sYhW3wRx7U3ONuOzv5SGVVZ2aUknm+k/kfDztONJYvey3oi3ydzlEdeZsuCsOYNO3lEhrtPUD8jL6HxwIDkn1C98FWsyWJNgarucN+hGxUhuEDhxX9Ka4IKeVk1CMzBIVJhpeHWQZUXkxg4UTPaWWY3CeWHhX/OTeo8Erc4oEZ0prmz3n8Vs6cTVaWt1/CNSU/CM4dhb+S6PB8+ndaHj48ypAgXyjJ3p3buNtxjBldwyytElc4/IS3Rn2M1F/lWiBrPyIpnRUic6FyILU2SWPHVMo55Zc/EAUuNCJb215fUtD+umCsUa0ZlFVdJjITcHlB/QmoMvGM8Mb/emh9cOuWVkO8NKtQITM1TyrjN71gsBhqFuoQbXy0Bvr0V9sk1PGatglhJ/wxCk3pReH1ThFteCXcIBFw6P2uTm4fLBl4r+4pQeaDe6rwZZh6Ca2AA5uUjDWGkpj6PT1RqbkolJbGeGjj80TKxkQI1VX/mBTakEKVOWH4g9k94lMxjkSpirfnGoersJd9bdSF5KRCaIeRSiCol2iUkNhsPU2WufGQk1dnlO6GTJATx6qsP2T3Y7J2MMv0FMjIGOHFcAWJQ++IHRnTHASPW2tHWMmcuxavu9P29i0nFGieojx5UCCvetNHf5SLJc14CejYU3v4lUqG7SG2kh9dzP4tyQMqRXsjKtTGhE+vwnTbIb6L1OYP4GGgpBpAEzOr1XjP4=
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:(13230025)(4636009)(396003)(136003)(39860400002)(376002)(366004)(346002)(451199018)(36756003)(33656002)(54906003)(316002)(83380400001)(478600001)(6486002)(71200400001)(6506007)(6512007)(2616005)(186003)(91956017)(8936002)(86362001)(2906002)(41300700001)(38070700005)(53546011)(5660300002)(66556008)(76116006)(66946007)(66446008)(64756008)(8676002)(6916009)(38100700002)(4326008)(122000001)(66476007)(66899018)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <176B6F12A919FF4492F0DF07ED032B3B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5850
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:
 AM7EUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2ec791bc-6435-486e-8649-08db1a6cadea
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hoYvXZudP5/MDM+wVaMy25n1HeTRW27DHshuBhyoPTlXGEh31YY54GBgtr6oVpwx9ZtLCpnOy8+gFPirmQsaj1q/QqRlCnoEdxcxpKGr2x2gOTFG4tfDreSbWXLZAO7XtZPli+Bz4ZKgVPFSMiScqhezC0OZImcDeveaT7bfxvO1s3XfwuNPSyhi/iUXkXtvb/CkpFf+KzC4R6xlT/3zTJWJwcB+/3A2e5Bm4K0qmkfRemeMKdjwIEOwwmDrx1iX7zCqr93OMdUbkU6EGId9mFalUf/JKEURU/zYocuNCcis6mF+bZP+83jEK83C7gnKdR9NU+tVVV0GQQliUADZtQUBzb0wBgNxlKhhy99mRa8eknO/abXy0qGPh/o3PSbUg42n2309WMaA8G9Qr9JtMqUwhT+JV6xYFKhR/AHOQ91Plml0wYjIvtUwA8Sgtehz+LNGKeuQqyMcejlz3SmYoBRQ2bTdW/prMv9+qfDQqUm0O0+yjwK4fW8xja2WJYo16byIwYyYQPeuN87zFFAEK0VZHlwKMI4YdC5iGiG9K8yPhvrANtKLyFpE3X9LUJbzhD322T5BIFRfCj00fkeX9iCPwl20+pBzvj9htSQbpBXbaPsz6KVYyiu0SR0FNcskIlXWxwxQDw/tdKQk2POlq9sZCfJYtjBAFe+SFQvFB9TYVSMbDQXUGBwGUELpuUx9dBydUNvA+EnNPu4kp3f6Xg==
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:(13230025)(4636009)(396003)(346002)(376002)(136003)(39860400002)(451199018)(40470700004)(46966006)(36840700001)(40460700003)(36756003)(47076005)(53546011)(6486002)(6506007)(2616005)(186003)(6512007)(336012)(26005)(316002)(4326008)(54906003)(41300700001)(8676002)(70586007)(70206006)(2906002)(6862004)(8936002)(5660300002)(478600001)(81166007)(82740400003)(86362001)(40480700001)(33656002)(82310400005)(356005)(36860700001)(83380400001)(66899018);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 15:50:36.9630
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bbb1344d-4ae6-4e8d-0f61-08db1a6cb353
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:
	AM7EUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6535

Hi Jens,

> On 1 Mar 2023, at 11:55, Jens Wiklander <jens.wiklander@linaro.org> wrote=
:
>=20
> Hi Bertrand,
>=20
> On Mon, Feb 27, 2023 at 4:28 PM Bertrand Marquis
> <Bertrand.Marquis@arm.com> wrote:
>>=20
>> Hi Jens,
>>=20
>>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
>>>=20
>>> Adds support for sending a FF-A direct request. Checks that the SP also
>>> supports handling a 32-bit direct request. 64-bit direct requests are
>>> not used by the mediator itself so there is not need to check for that.
>>>=20
>>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>>> ---
>>> xen/arch/arm/tee/ffa.c | 119 +++++++++++++++++++++++++++++++++++++++++
>>> 1 file changed, 119 insertions(+)
>>>=20
>>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>>> index 463fd7730573..a5d8a12635b6 100644
>>> --- a/xen/arch/arm/tee/ffa.c
>>> +++ b/xen/arch/arm/tee/ffa.c
>>> @@ -142,6 +142,7 @@
>>>=20
>>> struct ffa_ctx {
>>>    uint32_t guest_vers;
>>> +    bool interrupted;
>>=20
>> This is added and set here for one special error code but is never used.
>> I would suggest to introduce this when there will be an action based on =
it.
>=20
> I'm sorry, I forgot about completing this. I'll add code to deal with
> FFA_INTERRUPT. This will be tricky to test though since we don't use
> FFA_INTERRUPT like this with OP-TEE. The Hypervisor is required by the
> FF-A standard to support it so I better add something.
>=20
>>=20
>>> };
>>>=20
>>> /* Negotiated FF-A version to use with the SPMC */
>>> @@ -167,6 +168,55 @@ static bool ffa_get_version(uint32_t *vers)
>>>    return true;
>>> }
>>>=20
>>> +static int32_t get_ffa_ret_code(const struct arm_smccc_1_2_regs *resp)
>>> +{
>>> +    switch ( resp->a0 )
>>> +    {
>>> +    case FFA_ERROR:
>>> +        if ( resp->a2 )
>>> +            return resp->a2;
>>> +        else
>>> +            return FFA_RET_NOT_SUPPORTED;
>>> +    case FFA_SUCCESS_32:
>>> +    case FFA_SUCCESS_64:
>>> +        return FFA_RET_OK;
>>> +    default:
>>> +        return FFA_RET_NOT_SUPPORTED;
>>> +    }
>>> +}
>>> +
>>> +static int32_t ffa_simple_call(uint32_t fid, register_t a1, register_t=
 a2,
>>> +                               register_t a3, register_t a4)
>>> +{
>>> +    const struct arm_smccc_1_2_regs arg =3D {
>>> +        .a0 =3D fid,
>>> +        .a1 =3D a1,
>>> +        .a2 =3D a2,
>>> +        .a3 =3D a3,
>>> +        .a4 =3D a4,
>>> +    };
>>> +    struct arm_smccc_1_2_regs resp;
>>> +
>>> +    arm_smccc_1_2_smc(&arg, &resp);
>>> +
>>> +    return get_ffa_ret_code(&resp);
>>> +}
>>> +
>>> +static int32_t ffa_features(uint32_t id)
>>> +{
>>> +    return ffa_simple_call(FFA_FEATURES, id, 0, 0, 0);
>>> +}
>>> +
>>> +static bool check_mandatory_feature(uint32_t id)
>>> +{
>>> +    uint32_t ret =3D ffa_features(id);
>>> +
>>> +    if (ret)
>>> +        printk(XENLOG_ERR "ffa: mandatory feature id %#x missing\n", i=
d);
>>=20
>> It might be useful here to actually print the error code.
>> Are we sure that all errors actually mean not supported ?
>=20
> Yes, that's what the standard says.
>=20
>>=20
>>> +
>>> +    return !ret;
>>> +}
>>> +
>>> static uint16_t get_vm_id(const struct domain *d)
>>> {
>>>    /* +1 since 0 is reserved for the hypervisor in FF-A */
>>> @@ -208,6 +258,66 @@ static void handle_version(struct cpu_user_regs *r=
egs)
>>>    set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
>>> }
>>>=20
>>> +static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uin=
t32_t fid)
>>> +{
>>> +    struct arm_smccc_1_2_regs arg =3D { .a0 =3D fid, };
>>> +    struct arm_smccc_1_2_regs resp =3D { };
>>> +    struct domain *d =3D current->domain;
>>> +    struct ffa_ctx *ctx =3D d->arch.tee;
>>> +    uint32_t src_dst;
>>> +    uint64_t mask;
>>> +
>>> +    if ( smccc_is_conv_64(fid) )
>>> +        mask =3D GENMASK_ULL(63, 0);
>>> +    else
>>> +        mask =3D GENMASK_ULL(31, 0);
>>> +
>>> +    src_dst =3D get_user_reg(regs, 1);
>>> +    if ( (src_dst >> 16) !=3D get_vm_id(d) )
>>> +    {
>>> +        resp.a0 =3D FFA_ERROR;
>>> +        resp.a2 =3D FFA_RET_INVALID_PARAMETERS;
>>> +        goto out;
>>> +    }
>>> +
>>> +    arg.a1 =3D src_dst;
>>> +    arg.a2 =3D get_user_reg(regs, 2) & mask;
>>> +    arg.a3 =3D get_user_reg(regs, 3) & mask;
>>> +    arg.a4 =3D get_user_reg(regs, 4) & mask;
>>> +    arg.a5 =3D get_user_reg(regs, 5) & mask;
>>> +    arg.a6 =3D get_user_reg(regs, 6) & mask;
>>> +    arg.a7 =3D get_user_reg(regs, 7) & mask;
>>> +
>>> +    while ( true )
>>> +    {
>>> +        arm_smccc_1_2_smc(&arg, &resp);
>>> +
>>> +        switch ( resp.a0 )
>>> +        {
>>> +        case FFA_INTERRUPT:
>>> +            ctx->interrupted =3D true;
>>> +            goto out;
>>> +        case FFA_ERROR:
>>> +        case FFA_SUCCESS_32:
>>> +        case FFA_SUCCESS_64:
>>> +        case FFA_MSG_SEND_DIRECT_RESP_32:
>>> +        case FFA_MSG_SEND_DIRECT_RESP_64:
>>> +            goto out;
>>> +        default:
>>> +            /* Bad fid, report back. */
>>> +            memset(&arg, 0, sizeof(arg));
>>> +            arg.a0 =3D FFA_ERROR;
>>> +            arg.a1 =3D src_dst;
>>> +            arg.a2 =3D FFA_RET_NOT_SUPPORTED;
>>> +            continue;
>>=20
>> There is a potential infinite loop here and i do not understand
>> why this needs to be done.
>> Here if something is returning a value that you do not understand
>> you send back an ERROR to it. I do not find in the spec where this
>> is supposed to be done.
>> Can you explain a bit here ?
>=20
> This should normally not happen, but the SP/SPMC is responding with a
> request that we don't know what to do with. The standard doesn't say
> how to handle that as far as I understand. However, returning back to
> the VM at this point with an error may leave the SP/SPMC in a strange
> state. So I think it's better to report back to the SP/SPMC that the
> request isn't understood and hopefully it can at least return back
> with an error in a sane state.
>=20
> I'll add something to the comment.

I discussed that with Achin and Marc today at Arm and if we get an invalid
fid we do not need to report it back like you did.
We should instead report this as an error to the requester.

This is good as it will remove the :-)

Cheers
Bertrand

>=20
>>=20
>>> +        }
>>> +    }
>>> +
>>> +out:
>>> +    set_regs(regs, resp.a0, resp.a1 & mask, resp.a2 & mask, resp.a3 & =
mask,
>>> +             resp.a4 & mask, resp.a5 & mask, resp.a6 & mask, resp.a7 &=
 mask);
>>> +}
>>> +
>>> static bool ffa_handle_call(struct cpu_user_regs *regs)
>>> {
>>>    uint32_t fid =3D get_user_reg(regs, 0);
>>> @@ -225,6 +335,12 @@ static bool ffa_handle_call(struct cpu_user_regs *=
regs)
>>>    case FFA_ID_GET:
>>>        set_regs_success(regs, get_vm_id(d), 0);
>>>        return true;
>>> +    case FFA_MSG_SEND_DIRECT_REQ_32:
>>> +#ifdef CONFIG_ARM_64
>>> +    case FFA_MSG_SEND_DIRECT_REQ_64:
>>> +#endif
>>> +        handle_msg_send_direct_req(regs, fid);
>>> +        return true;
>>>=20
>>>    default:
>>>        gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
>>> @@ -310,6 +426,9 @@ static bool ffa_probe(void)
>>>    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
>>>           major_vers, minor_vers);
>>>=20
>>> +    if ( !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
>>> +        return false;
>>=20
>> One could not need this feature and here this will make everything unava=
ilable instead.
>> Why not just reporting back the unsupported error to clients using unsup=
ported interfaces ?
>=20
> One could perhaps argue that this check should be moved to a later
> patch in this series. Perhaps there's some future configuration that
> might make sense without this feature, but for now, it doesn't make
> sense to initialize without it.
>=20
> Thanks,
> Jens
>=20
>>=20
>> Cheers
>> Bertrand
>>=20
>>> +
>>>    ffa_version =3D vers;
>>>=20
>>>    return true;
>>> --
>>> 2.34.1




From xen-devel-bounces@lists.xenproject.org Wed Mar 01 15:56:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 15:56:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504126.776663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXOoP-000443-Ut; Wed, 01 Mar 2023 15:56:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504126.776663; Wed, 01 Mar 2023 15:56:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXOoP-00043w-S0; Wed, 01 Mar 2023 15:56:13 +0000
Received: by outflank-mailman (input) for mailman id 504126;
 Wed, 01 Mar 2023 15:56:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Km5w=6Z=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pXOoP-00043o-8A
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 15:56:13 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20620.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 96fc988e-b849-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 16:56:13 +0100 (CET)
Received: from DU2PR04CA0340.eurprd04.prod.outlook.com (2603:10a6:10:2b4::12)
 by DB5PR08MB10287.eurprd08.prod.outlook.com (2603:10a6:10:4a5::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Wed, 1 Mar
 2023 15:56:10 +0000
Received: from DBAEUR03FT020.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b4:cafe::9c) by DU2PR04CA0340.outlook.office365.com
 (2603:10a6:10:2b4::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17 via Frontend
 Transport; Wed, 1 Mar 2023 15:56:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT020.mail.protection.outlook.com (100.127.143.27) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.18 via Frontend Transport; Wed, 1 Mar 2023 15:56:08 +0000
Received: ("Tessian outbound f2a8d6d66d12:v135");
 Wed, 01 Mar 2023 15:56:08 +0000
Received: from 1e0c0b63d7c6.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 464DA629-12D8-40E1-91CE-44EB7CC986A2.1; 
 Wed, 01 Mar 2023 15:56:01 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1e0c0b63d7c6.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 01 Mar 2023 15:56:01 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DU0PR08MB8304.eurprd08.prod.outlook.com (2603:10a6:10:40c::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Wed, 1 Mar
 2023 15:55:59 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Wed, 1 Mar 2023
 15:55: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: 96fc988e-b849-11ed-96a6-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DXMn/U0p4jW+dUD4ySx7SKC28kWYUqgz6cw8BTXC/gE=;
 b=ygljpB9Lmrj5I9ftEfiOGeFDveD2XOlDwm/wx3YezvT7MFjDZzhw8c/I0WSkzViJGA6tUo58TFKvi/D89EKHivvBycVNCF/y4YZPCqSlqYgt/pHx/reNOvSLfuvOL4A9nCQIkfeLcbdQ4B1GjPIKnOUst8rPE1lJ+q09MbE6tpw=
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: c7d1f43f390b50c1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dA1nQiFigFBw3AWhZNqWTsmh+i5JtyMPjADwYPd8Ysin2laEGTN2+8aSjZJQvSnYTwtrnoAZernKIvj3Th8pLJfUEFLcgmVh3iZaGnwqsQKu9zeM2VkF7VqRY3gBZRUEgL/lr079EMo0UCrfgfieEdorVIFrWokNqeq9HgvvZjvD8fcBPtltDX7p8JaFVVFdUzBn9Q2i/jLR6e/nswCpB5rXIsZb8E8fSK6Jnp2Y4heG7inY3mdJq9jDFRCD6Rx2Yzke9tuhuYxtKdu8MCCXm2XtvpytxwcWlq1O2w/wtTiewLifROwuKywMXM3S6GFbOWny+YfCUqC0xrK1EJMGRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DXMn/U0p4jW+dUD4ySx7SKC28kWYUqgz6cw8BTXC/gE=;
 b=SNioSvaTRW+IJcUG49nTRHwipxhQ02jwxateqLE60G0EbJ/RpEj9nUMHY3J/msnPBKb72z8o2jRLbdgY9rWTauuJkYXfytNlO6vH0Px+QI5d5PVTTy9s/AM1WaQzWf6279MJvBj/09fPZN6MM0uDiZXHjwvBQn4VGPSH+3uwRii+7AdQrar+hHQceX/Mf4kBaAXWn9+sJF8wX0edVBb8nuL/vRJe4zFl4ni0CCtUfIk4cWJILFq9jyongTAHWo53GQudDU/cNw4jHHBGrgQumueZ0S1UIQ9E4rNzfJ4eEKuF7ye5gviDcQg8izFczc1SVq4l82qGeL5qVJzpcahQeQ==
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=DXMn/U0p4jW+dUD4ySx7SKC28kWYUqgz6cw8BTXC/gE=;
 b=ygljpB9Lmrj5I9ftEfiOGeFDveD2XOlDwm/wx3YezvT7MFjDZzhw8c/I0WSkzViJGA6tUo58TFKvi/D89EKHivvBycVNCF/y4YZPCqSlqYgt/pHx/reNOvSLfuvOL4A9nCQIkfeLcbdQ4B1GjPIKnOUst8rPE1lJ+q09MbE6tpw=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 12/20] xen/arm: ffa: send guest events to Secure
 Partitions
Thread-Topic: [XEN PATCH v7 12/20] xen/arm: ffa: send guest events to Secure
 Partitions
Thread-Index: AQHZRtMbJTLQExtpBE6ThIQepjPcla7km2EAgAEk3QCAAF6wAA==
Date: Wed, 1 Mar 2023 15:55:59 +0000
Message-ID: <BF5ABB51-64E6-4726-927A-032968B29FD6@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <cfd9ae67bdf24bee796b418937dd1486018fd188.1677079672.git.jens.wiklander@linaro.org>
 <3DE2B127-8820-400A-86FC-3A38F40CADFD@arm.com>
 <CAHUa44EjD7mSE0DZShoRh9PAPVPWXL0gXUpi69s-2ktaMMSa8A@mail.gmail.com>
In-Reply-To:
 <CAHUa44EjD7mSE0DZShoRh9PAPVPWXL0gXUpi69s-2ktaMMSa8A@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.3731.400.51.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_|DU0PR08MB8304:EE_|DBAEUR03FT020:EE_|DB5PR08MB10287:EE_
X-MS-Office365-Filtering-Correlation-Id: 542bbdd7-4d97-44f8-8bb9-08db1a6d78dc
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:
 5cTDUWORq9EtK2V4XyfigYjNcLilqWFM4PFnxPqsMIlrnnwa2gNXZj0DdFsfqWgHMYFSR6ysyTlV37PQUBcazElIHKtwEEOVOo36hcvqBRTt7dAQKHo4HYvERpFLYriakw56jxCJqy1BTuHf92FgWE/+BqGLBeWTqxsNMHy6dQTm6TBC1vVRWoh/kKb5ehefdlHzt6sLUzBK8trR3r94k1U8ALUE1PUd9GlpQXkk/U5qNC04FxxMHyIiaacIWoLpvPMkVeDRIKdq97M8qXxQ+GSiwicQRPypMAKVreXOxXhtEv+Tmq5NWI4In6HldhUp3U/J+e+ZEH2SHuRngQ8tdv2g4L6n1GbSXJSsEyzrsdwcHJXAVLo7A4LbvpNg7KZn4hQL01uqJjo/IpZZFrW4yVoPbfQx8hiyPkIAnTEJqcmOIYOEll3VFmtHRqCUImJkBsm+uk30zgAOecnONmSJX12ZwMI9Qjl+vg8o5bgdNCFZaLgMcHTR/OBIZXLJOndQDoYR61JXtDnZI/kJpmyps8QKLp/cEDslQIZ03ghX/kk9GBI6ojxQBHRnNhdRGySvg/XsS6ZOCberVWeKpPUscyBfj9w/ftjCq9fDCNBferfPLAGccU8FV0nI+cgNbjGM4A0X1gCOax1+pBToicExB87D5d7DMGP6cwlZTpxnc77klUTcbJW9cs6UqF7eBvkR+oEVLHqjWOWjiqcDMK8vELY8bMZPJKV6gc+rcqn3EGM=
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:(13230025)(4636009)(366004)(396003)(346002)(136003)(376002)(39860400002)(451199018)(2616005)(36756003)(53546011)(186003)(122000001)(38100700002)(8936002)(41300700001)(91956017)(66446008)(66476007)(66556008)(64756008)(478600001)(86362001)(6916009)(66946007)(8676002)(5660300002)(76116006)(4326008)(38070700005)(83380400001)(30864003)(316002)(6506007)(54906003)(33656002)(6486002)(2906002)(6512007)(71200400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <ABF2B200C9D9BA4BACBE771A7BC22C67@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8304
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:
 DBAEUR03FT020.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	48d47fce-db70-4fb8-222b-08db1a6d736a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u5l19nd310ABYeaxJbQzQWHszAgTqxyaGEHmH2d2f2ivKzSkxDz0dYkcAsOtGRSt8F0W80BHjcoqLz2omS8i2e/uPyjCSgBAr7ZBRRbgE6TngxfjkCIubwBHSX6ALsetA2M5UVlwlZiL9Tm/zrHi9NtLmyImWmtgWIQ0qFDHaPcbOTVtEtXQCAbMFttQX6BZIYBEFOtLQVZvcJDS7Cto2f/JXWwQfVis+ipkWE68a0kLekfMCz1Rnq7i6RJK8Ohx7E0QgspO50FeK4RzBiNeGs/thE0QIW4zRve7awwxuibL+fnnyy3+zRsfWZsPmg6v8FPWD4Kzx/A83ENAEkcyFYAC01Ibip/hya3FJCfjKqeKDLh1LuNtQ+akOCbHCuAppLh21F1Vd25gLu3mHKH8e8I95+7zp1sslcmXQhj2xhc6UcSWb/qIB3nSXv3lb5POQ6Y2KTLZaAad+BfPTI7ZGi+iL4/Z3H+sbf5m7RywmJq4K3BxRQQIJ1K4PwvdX5XtyrpMXjF4AqD4oY232ohkun453z8xH/VMOlPvfh5ytv4KPhNKB6soVkX3dgiY1hrcRRofkwxftccOPXKdrhDbjamcdbTbQwr5afDpScVtb67AdKPJG9qb5FIqfm4Eki8xaJDNAMFMVExZ2VyKWwXUSzA20T6kX+Q7yXU2dRiMVYY+5K+T01RxMyuyf/V5K/0MUYSZyjbC8F5yJv7Kd0Ex0A==
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:(13230025)(4636009)(39860400002)(396003)(136003)(376002)(346002)(451199018)(36840700001)(40470700004)(46966006)(86362001)(82740400003)(47076005)(356005)(336012)(36860700001)(81166007)(82310400005)(33656002)(40460700003)(54906003)(83380400001)(2616005)(6486002)(2906002)(36756003)(316002)(6512007)(53546011)(6506007)(478600001)(40480700001)(26005)(186003)(5660300002)(30864003)(8936002)(6862004)(70586007)(41300700001)(70206006)(4326008)(8676002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 15:56:08.4377
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 542bbdd7-4d97-44f8-8bb9-08db1a6d78dc
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:
	DBAEUR03FT020.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10287

Hi Jens,

> On 1 Mar 2023, at 11:16, Jens Wiklander <jens.wiklander@linaro.org> wrote=
:
>=20
> Hi Bertrand,
>=20
> On Tue, Feb 28, 2023 at 5:49 PM Bertrand Marquis
> <Bertrand.Marquis@arm.com> wrote:
>>=20
>> Hi Jens,
>>=20
>>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
>>>=20
>>> The FF-A specification defines framework messages sent as direct
>>> requests when certain events occurs. For instance when a VM (guest) is
>>> created or destroyed. Only SPs which have subscribed to these events
>>> will receive them. An SP can subscribe to these messages in its
>>> partition properties.
>>>=20
>>> Adds a check that the SP supports the needed FF-A features
>>> FFA_PARTITION_INFO_GET and FFA_RX_RELEASE.
>>>=20
>>> The partition properties of each SP is retrieved with
>>> FFA_PARTITION_INFO_GET which returns the information in our RX buffer.
>>> Using FFA_PARTITION_INFO_GET changes the owner of the RX buffer to the
>>> caller (us), so once we're done with the buffer it must be released
>>> using FFA_RX_RELEASE before another call can be made.
>>>=20
>>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>>> ---
>>> xen/arch/arm/tee/ffa.c | 191 ++++++++++++++++++++++++++++++++++++++++-
>>> 1 file changed, 190 insertions(+), 1 deletion(-)
>>>=20
>>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>>> index 07dd5c36d54b..f1b014b6c7f4 100644
>>> --- a/xen/arch/arm/tee/ffa.c
>>> +++ b/xen/arch/arm/tee/ffa.c
>>> @@ -140,6 +140,14 @@
>>> #define FFA_MSG_SEND                    0x8400006EU
>>> #define FFA_MSG_POLL                    0x8400006AU
>>>=20
>>> +/* Partition information descriptor */
>>> +struct ffa_partition_info_1_1 {
>>> +    uint16_t id;
>>> +    uint16_t execution_context;
>>> +    uint32_t partition_properties;
>>> +    uint8_t uuid[16];
>>> +};
>>> +
>>> struct ffa_ctx {
>>>    uint32_t guest_vers;
>>>    bool interrupted;
>>> @@ -148,6 +156,12 @@ struct ffa_ctx {
>>> /* Negotiated FF-A version to use with the SPMC */
>>> static uint32_t ffa_version __ro_after_init;
>>>=20
>>> +/* SPs subscribing to VM_CREATE and VM_DESTROYED events */
>>> +static uint16_t *subscr_vm_created __read_mostly;
>>> +static unsigned int subscr_vm_created_count __read_mostly;
>>=20
>> In the spec the number is returned in w2 so you should utse uint32_t her=
e.
>=20
> I don't understand. This value is increased for each SP which has the
> property set in the Partition information descriptor.
>=20
>>=20
>>> +static uint16_t *subscr_vm_destroyed __read_mostly;
>>> +static unsigned int subscr_vm_destroyed_count __read_mostly;
>>=20
>> Same here
>>=20
>>> +
>>> /*
>>> * Our rx/tx buffers shared with the SPMC.
>>> *
>>> @@ -237,6 +251,72 @@ static int32_t ffa_rxtx_map(register_t tx_addr, re=
gister_t rx_addr,
>>>    return ffa_simple_call(fid, tx_addr, rx_addr, page_count, 0);
>>> }
>>>=20
>>> +static int32_t ffa_partition_info_get(uint32_t w1, uint32_t w2, uint32=
_t w3,
>>> +                                      uint32_t w4, uint32_t w5,
>>> +                                      uint32_t *count)
>>> +{
>>> +    const struct arm_smccc_1_2_regs arg =3D {
>>> +        .a0 =3D FFA_PARTITION_INFO_GET,
>>> +        .a1 =3D w1,
>>> +        .a2 =3D w2,
>>> +        .a3 =3D w3,
>>> +        .a4 =3D w4,
>>> +        .a5 =3D w5,
>>> +    };
>>> +    struct arm_smccc_1_2_regs resp;
>>> +    uint32_t ret;
>>> +
>>> +    arm_smccc_1_2_smc(&arg, &resp);
>>> +
>>> +    ret =3D get_ffa_ret_code(&resp);
>>> +    if ( !ret )
>>> +        *count =3D resp.a2;
>>> +
>>> +    return ret;
>>> +}
>>> +
>>> +static int32_t ffa_rx_release(void)
>>> +{
>>> +    return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
>>> +}
>>> +
>>> +static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
>>> +                                      uint8_t msg)
>>=20
>> This function is actually only useable to send framework created/destroy=
ed
>> messages so the function name should be adapted to be less generic.
>>=20
>> ffa_send_vm_events ?
>>=20
>> unless you want to modify it later to send more framework messages ?
>=20
> That was the plan, but that may never happen. I'll rename it to
> ffa_send_vm_event() since we're only sending one event at a time.
>=20
>>=20
>>> +{
>>> +    uint32_t exp_resp =3D FFA_MSG_FLAG_FRAMEWORK;
>>> +    int32_t res;
>>> +
>>> +    if ( msg =3D=3D FFA_MSG_SEND_VM_CREATED )
>>> +        exp_resp |=3D FFA_MSG_RESP_VM_CREATED;
>>> +    else if ( msg =3D=3D FFA_MSG_SEND_VM_DESTROYED )
>>> +        exp_resp |=3D FFA_MSG_RESP_VM_DESTROYED;
>>> +    else
>>> +        return FFA_RET_INVALID_PARAMETERS;
>>> +
>>> +    do {
>>> +        const struct arm_smccc_1_2_regs arg =3D {
>>> +            .a0 =3D FFA_MSG_SEND_DIRECT_REQ_32,
>>> +            .a1 =3D sp_id,
>>> +            .a2 =3D FFA_MSG_FLAG_FRAMEWORK | msg,
>>> +            .a5 =3D vm_id,
>>> +        };
>>> +        struct arm_smccc_1_2_regs resp;
>>> +
>>> +        arm_smccc_1_2_smc(&arg, &resp);
>>> +        if ( resp.a0 !=3D FFA_MSG_SEND_DIRECT_RESP_32 || resp.a2 !=3D =
exp_resp )
>>> +        {
>>> +            /*
>>> +             * This is an invalid response, likely due to some error i=
n the
>>> +             * implementation of the ABI.
>>> +             */
>>> +            return FFA_RET_INVALID_PARAMETERS;
>>> +        }
>>> +        res =3D resp.a3;
>>> +    } while ( res =3D=3D FFA_RET_INTERRUPTED || res =3D=3D FFA_RET_RET=
RY );
>>=20
>> We might end up in an infinite loop here or increase interrupt response =
time.
>> In the general case we could return that code directly to the VM but her=
e we
>> are in the VM creation/destroy path so we cannot do that.
>>=20
>> Maybe in debug mode at least we should have a retry counter here for now
>> with a print ?
>=20
> OK, I'll add something.

In fact here we should always count and fail if we do it more than once or =
twice.

In a normal case, we would return the INTERRUPTED or RETRY to the caller so
that he would do the call again.
Here this is something done by Xen internally so we cannot do that (we coul=
d make
the VM creation fail but destroying we cannot) so we must limit the number =
of retry
and continue if this fails.

Cheers
Bertrand

>=20
>>=20
>>> +
>>> +    return res;
>>> +}
>>> +
>>> static uint16_t get_vm_id(const struct domain *d)
>>> {
>>>    /* +1 since 0 is reserved for the hypervisor in FF-A */
>>> @@ -371,6 +451,10 @@ static bool ffa_handle_call(struct cpu_user_regs *=
regs)
>>> static int ffa_domain_init(struct domain *d)
>>> {
>>>    struct ffa_ctx *ctx;
>>> +    unsigned int n;
>>> +    unsigned int m;
>>> +    unsigned int c_pos;
>>> +    int32_t res;
>>>=20
>>>     /*
>>>      * We can't use that last possible domain ID or get_vm_id() would c=
ause
>>> @@ -383,24 +467,121 @@ static int ffa_domain_init(struct domain *d)
>>>    if ( !ctx )
>>>        return -ENOMEM;
>>>=20
>>> +    for ( n =3D 0; n < subscr_vm_created_count; n++ )
>>> +    {
>>> +        res =3D ffa_direct_req_send_vm(subscr_vm_created[n], get_vm_id=
(d),
>>> +                                     FFA_MSG_SEND_VM_CREATED);
>>> +        if ( res )
>>> +        {
>>> +            printk(XENLOG_ERR "ffa: Failed to report creation of vm_id=
 %u to  %u: res %d\n",
>>> +                   get_vm_id(d), subscr_vm_created[n], res);
>>=20
>> in this function, get_vm_id(d) will not change so i would suggest to sto=
re it in a local variable
>> instead of calling get_vm_id each time.
>=20
> OK
>=20
>>=20
>>> +            c_pos =3D n;
>>> +            goto err;
>>> +        }
>>> +    }
>>> +
>>>    d->arch.tee =3D ctx;
>>>=20
>>>    return 0;
>>> +
>>> +err:
>>> +    /* Undo any already sent vm created messaged */
>>> +    for ( n =3D 0; n < c_pos; n++ )
>>> +        for ( m =3D 0; m < subscr_vm_destroyed_count; m++ )
>>> +            if ( subscr_vm_destroyed[m] =3D=3D subscr_vm_created[n] )
>>> +                ffa_direct_req_send_vm(subscr_vm_destroyed[n], get_vm_=
id(d),
>>> +                                       FFA_MSG_SEND_VM_DESTROYED);
>>> +
>>> +    return -ENOMEM;
>>=20
>> The VM creation is not failing due to missing memory here.
>> We need to find a better error code.
>> Maybe ENOTCONN ?
>> I am open to ideas here :-)
>=20
> That makes sense, I'll change it to ENOTCONN.
>=20
>>=20
>>> }
>>>=20
>>> /* This function is supposed to undo what ffa_domain_init() has done */
>>> static int ffa_relinquish_resources(struct domain *d)
>>> {
>>>    struct ffa_ctx *ctx =3D d->arch.tee;
>>> +    unsigned int n;
>>> +    int32_t res;
>>>=20
>>>    if ( !ctx )
>>>        return 0;
>>>=20
>>> +    for ( n =3D 0; n < subscr_vm_destroyed_count; n++ )
>>> +    {
>>> +        res =3D ffa_direct_req_send_vm(subscr_vm_destroyed[n], get_vm_=
id(d),
>>> +                                     FFA_MSG_SEND_VM_DESTROYED);
>>> +
>>> +        if ( res )
>>> +            printk(XENLOG_ERR "ffa: Failed to report destruction of vm=
_id %u to  %u: res %d\n",
>>> +                   get_vm_id(d), subscr_vm_destroyed[n], res);
>>> +    }
>>> +
>>>    XFREE(d->arch.tee);
>>>=20
>>>    return 0;
>>> }
>>>=20
>>> +static bool init_subscribers(void)
>>> +{
>>> +    struct ffa_partition_info_1_1 *fpi;
>>> +    bool ret =3D false;
>>> +    uint32_t count;
>>> +    int e;
>>> +    uint32_t n;
>>> +    uint32_t c_pos;
>>> +    uint32_t d_pos;
>>> +
>>> +    if ( ffa_version < FFA_VERSION_1_1 )
>>> +        return true;
>>=20
>> Correct me if i am wrong but on 1.0 version we cannot retrieve the count=
 but
>> we could do the slow path and do a first loop on info_get until we get a=
n error ?
>=20
> Sending the events is not supported in 1.0 so there's nothing to
> record in that case.
>=20
> Thanks,
> Jens
>=20
>>=20
>>> +
>>> +    e =3D ffa_partition_info_get(0, 0, 0, 0, 0, &count);
>>> +    if ( e )
>>> +    {
>>> +        printk(XENLOG_ERR "ffa: Failed to get list of SPs: %d\n", e);
>>> +        goto out;
>>> +    }
>>> +
>>> +    fpi =3D ffa_rx;
>>> +    subscr_vm_created_count =3D 0;
>>> +    subscr_vm_destroyed_count =3D 0;
>>> +    for ( n =3D 0; n < count; n++ )
>>> +    {
>>> +        if (fpi[n].partition_properties & FFA_PART_PROP_NOTIF_CREATED)
>>> +            subscr_vm_created_count++;
>>> +        if (fpi[n].partition_properties & FFA_PART_PROP_NOTIF_DESTROYE=
D)
>>> +            subscr_vm_destroyed_count++;
>>> +    }
>>> +
>>> +    if ( subscr_vm_created_count )
>>> +        subscr_vm_created =3D xzalloc_array(uint16_t, subscr_vm_create=
d_count);
>>> +    if ( subscr_vm_destroyed_count )
>>> +        subscr_vm_destroyed =3D xzalloc_array(uint16_t,
>>> +                                            subscr_vm_destroyed_count)=
;
>>> +    if ( (subscr_vm_created_count && !subscr_vm_created) ||
>>> +         (subscr_vm_destroyed_count && !subscr_vm_destroyed) )
>>> +    {
>>> +        printk(XENLOG_ERR "ffa: Failed to allocate subscription lists\=
n");
>>> +        subscr_vm_created_count =3D 0;
>>> +        subscr_vm_destroyed_count =3D 0;
>>> +        XFREE(subscr_vm_created);
>>> +        XFREE(subscr_vm_destroyed);
>>> +        goto out;
>>> +    }
>>> +
>>> +    for ( c_pos =3D 0, d_pos =3D 0, n =3D 0; n < count; n++ )
>>> +    {
>>> +        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_CREATED=
 )
>>> +            subscr_vm_created[c_pos++] =3D fpi[n].id;
>>> +        if ( fpi[n].partition_properties & FFA_PART_PROP_NOTIF_DESTROY=
ED )
>>> +            subscr_vm_destroyed[d_pos++] =3D fpi[n].id;
>>> +    }
>>> +
>>> +    ret =3D true;
>>> +out:
>>> +    ffa_rx_release();
>>> +
>>> +    return ret;
>>> +}
>>> +
>>> static bool ffa_probe(void)
>>> {
>>>    uint32_t vers;
>>> @@ -447,7 +628,8 @@ static bool ffa_probe(void)
>>>    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
>>>           major_vers, minor_vers);
>>>=20
>>> -    if (
>>> +    if ( !check_mandatory_feature(FFA_PARTITION_INFO_GET) ||
>>> +         !check_mandatory_feature(FFA_RX_RELEASE) ||
>>> #ifdef CONFIG_ARM_64
>>>         !check_mandatory_feature(FFA_RXTX_MAP_64) ||
>>> #endif
>>> @@ -475,6 +657,9 @@ static bool ffa_probe(void)
>>>    ffa_page_count =3D 1;
>>>    ffa_version =3D vers;
>>>=20
>>> +    if ( !init_subscribers() )
>>> +        goto err_free_ffa_tx;
>>> +
>>>    return true;
>>>=20
>>> err_free_ffa_tx:
>>> @@ -485,6 +670,10 @@ err_free_ffa_rx:
>>>    ffa_rx =3D NULL;
>>>    ffa_page_count =3D 0;
>>>    ffa_version =3D 0;
>>> +    XFREE(subscr_vm_created);
>>> +    subscr_vm_created_count =3D 0;
>>> +    XFREE(subscr_vm_destroyed);
>>> +    subscr_vm_destroyed_count =3D 0;
>>>=20
>>>    return false;
>>> }
>>> --
>>> 2.34.1
>>>=20
>>=20
>> Cheers
>> Bertrand




From xen-devel-bounces@lists.xenproject.org Wed Mar 01 15:56:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 15:56:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504130.776673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXOp1-0004ZL-6p; Wed, 01 Mar 2023 15:56:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504130.776673; Wed, 01 Mar 2023 15: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 1pXOp1-0004ZE-4I; Wed, 01 Mar 2023 15:56:51 +0000
Received: by outflank-mailman (input) for mailman id 504130;
 Wed, 01 Mar 2023 15:56: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=ofKM=6Z=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pXOoz-0004W0-U1
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 15:56:50 +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 ac09fd7f-b849-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 16:56:47 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id f11so1839621wrv.8
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 07:56: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: ac09fd7f-b849-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=ynKocGdWKn4I37sj6PrHOFy+6CmSE4060NpKsK0Rdns=;
        b=x9eCHsMsNw6s3+gGHTnKpc9mT6U0Pmx7woLfzHh/4YkXmeggzQ6SWMgSATwv59ENIL
         glW0t57rzzIJ4QHdatL1k11l3Fq8qv7noCyK8mMnbjl3uQ8jIJE1vkdcXjWJ9ffHUbrc
         sxgS+dLiSF+kNIM6iadExbktsYV8QfYGLRuyoX4F0s2AZAo8K2E3DSmNwUn3jLwcMQ2s
         kVu9lkof1goNOxhy5YuRCE+6mzbAwnf5ObWqO8HMt2OBA4U5bt358ZCWfs8FzsGfqrOd
         uNQBCIE2kaktvPF8rz1fvk0Baza9G6CTFuCZDfCVwndShBC71LH0GzXbIXkzgRyQQyux
         Jocg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=ynKocGdWKn4I37sj6PrHOFy+6CmSE4060NpKsK0Rdns=;
        b=PILO+UO6g9IBuXT0Tblkoj//8i9VvdIpozI6pmMWKrIn0f+x8CMQmtULRuoFe2uPHP
         NtAVOFAU7McvMkhx2wIefBDViex4HJBc6vMPGxrDKgJZR2b8FTvMMfUOu2sqFQceiVMX
         BRbjmEnlga91Bnqa5eRcO3R2Uhxc4fXceH1wNxnNiI2wYmdFOsjwu7lnzVLWDStc//AB
         YWkQ/qMicwKn7r3005GxlMsc1OO2xKzjI+yPfhvKT/7oskNz13kXqve3c8T9RUGuuC5H
         dxxiKbApVL3b4UqT9Jd9l4C1g2biFIl8xfD+O/mFW3LzMUMtsPvOtkXN6ZhfzmRw56f3
         IQJg==
X-Gm-Message-State: AO0yUKX6BV+yMHbtRaNI5AfuLZa8aImZKQ9gItnZsn6ZOgNS+90LJIA3
	kcvpPHFM7Mv2nXLfP5dWFcZvjkXf8ZnzLVoe+8CR7w==
X-Google-Smtp-Source: AK7set/5qeLuASUOV/6jext81ot2xYBTSIEL3v2xAbF5j6zEDnpKRtJ+1k+CTgg4YY2jsIZ4qLOQGuXEu8oVOfA8xJM=
X-Received: by 2002:a05:6000:1088:b0:2c9:4ef5:e75f with SMTP id
 y8-20020a056000108800b002c94ef5e75fmr1452943wrw.3.1677686207217; Wed, 01 Mar
 2023 07:56:47 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <3332563e64568b2ffd236b1f428c27aa4cdf9790.1677079672.git.jens.wiklander@linaro.org>
 <F22A4773-94E8-4F24-A5C8-BF4E075A7698@arm.com> <CAHUa44FrC_S1Ot8-2s3=q5f7omZ+gsZhYTJUTMA0yVG5BBp6mw@mail.gmail.com>
 <3FA94B6D-79B4-453C-A9E4-631452458CBD@arm.com>
In-Reply-To: <3FA94B6D-79B4-453C-A9E4-631452458CBD@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 1 Mar 2023 16:56:35 +0100
Message-ID: <CAHUa44FT7agLn2r=ThkQATtrfhCioMSzxq9t9s-m1PT0=Qwg3w@mail.gmail.com>
Subject: Re: [XEN PATCH v7 10/20] xen/arm: ffa: add direct request support
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"

On Wed, Mar 1, 2023 at 4:50 PM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 1 Mar 2023, at 11:55, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> >
> > Hi Bertrand,
> >
> > On Mon, Feb 27, 2023 at 4:28 PM Bertrand Marquis
> > <Bertrand.Marquis@arm.com> wrote:
> >>
> >> Hi Jens,
> >>
> >>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> >>>
> >>> Adds support for sending a FF-A direct request. Checks that the SP also
> >>> supports handling a 32-bit direct request. 64-bit direct requests are
> >>> not used by the mediator itself so there is not need to check for that.
> >>>
> >>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> >>> ---
> >>> xen/arch/arm/tee/ffa.c | 119 +++++++++++++++++++++++++++++++++++++++++
> >>> 1 file changed, 119 insertions(+)
> >>>
> >>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> >>> index 463fd7730573..a5d8a12635b6 100644
> >>> --- a/xen/arch/arm/tee/ffa.c
> >>> +++ b/xen/arch/arm/tee/ffa.c
> >>> @@ -142,6 +142,7 @@
> >>>
> >>> struct ffa_ctx {
> >>>    uint32_t guest_vers;
> >>> +    bool interrupted;
> >>
> >> This is added and set here for one special error code but is never used.
> >> I would suggest to introduce this when there will be an action based on it.
> >
> > I'm sorry, I forgot about completing this. I'll add code to deal with
> > FFA_INTERRUPT. This will be tricky to test though since we don't use
> > FFA_INTERRUPT like this with OP-TEE. The Hypervisor is required by the
> > FF-A standard to support it so I better add something.
> >
> >>
> >>> };
> >>>
> >>> /* Negotiated FF-A version to use with the SPMC */
> >>> @@ -167,6 +168,55 @@ static bool ffa_get_version(uint32_t *vers)
> >>>    return true;
> >>> }
> >>>
> >>> +static int32_t get_ffa_ret_code(const struct arm_smccc_1_2_regs *resp)
> >>> +{
> >>> +    switch ( resp->a0 )
> >>> +    {
> >>> +    case FFA_ERROR:
> >>> +        if ( resp->a2 )
> >>> +            return resp->a2;
> >>> +        else
> >>> +            return FFA_RET_NOT_SUPPORTED;
> >>> +    case FFA_SUCCESS_32:
> >>> +    case FFA_SUCCESS_64:
> >>> +        return FFA_RET_OK;
> >>> +    default:
> >>> +        return FFA_RET_NOT_SUPPORTED;
> >>> +    }
> >>> +}
> >>> +
> >>> +static int32_t ffa_simple_call(uint32_t fid, register_t a1, register_t a2,
> >>> +                               register_t a3, register_t a4)
> >>> +{
> >>> +    const struct arm_smccc_1_2_regs arg = {
> >>> +        .a0 = fid,
> >>> +        .a1 = a1,
> >>> +        .a2 = a2,
> >>> +        .a3 = a3,
> >>> +        .a4 = a4,
> >>> +    };
> >>> +    struct arm_smccc_1_2_regs resp;
> >>> +
> >>> +    arm_smccc_1_2_smc(&arg, &resp);
> >>> +
> >>> +    return get_ffa_ret_code(&resp);
> >>> +}
> >>> +
> >>> +static int32_t ffa_features(uint32_t id)
> >>> +{
> >>> +    return ffa_simple_call(FFA_FEATURES, id, 0, 0, 0);
> >>> +}
> >>> +
> >>> +static bool check_mandatory_feature(uint32_t id)
> >>> +{
> >>> +    uint32_t ret = ffa_features(id);
> >>> +
> >>> +    if (ret)
> >>> +        printk(XENLOG_ERR "ffa: mandatory feature id %#x missing\n", id);
> >>
> >> It might be useful here to actually print the error code.
> >> Are we sure that all errors actually mean not supported ?
> >
> > Yes, that's what the standard says.
> >
> >>
> >>> +
> >>> +    return !ret;
> >>> +}
> >>> +
> >>> static uint16_t get_vm_id(const struct domain *d)
> >>> {
> >>>    /* +1 since 0 is reserved for the hypervisor in FF-A */
> >>> @@ -208,6 +258,66 @@ static void handle_version(struct cpu_user_regs *regs)
> >>>    set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
> >>> }
> >>>
> >>> +static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
> >>> +{
> >>> +    struct arm_smccc_1_2_regs arg = { .a0 = fid, };
> >>> +    struct arm_smccc_1_2_regs resp = { };
> >>> +    struct domain *d = current->domain;
> >>> +    struct ffa_ctx *ctx = d->arch.tee;
> >>> +    uint32_t src_dst;
> >>> +    uint64_t mask;
> >>> +
> >>> +    if ( smccc_is_conv_64(fid) )
> >>> +        mask = GENMASK_ULL(63, 0);
> >>> +    else
> >>> +        mask = GENMASK_ULL(31, 0);
> >>> +
> >>> +    src_dst = get_user_reg(regs, 1);
> >>> +    if ( (src_dst >> 16) != get_vm_id(d) )
> >>> +    {
> >>> +        resp.a0 = FFA_ERROR;
> >>> +        resp.a2 = FFA_RET_INVALID_PARAMETERS;
> >>> +        goto out;
> >>> +    }
> >>> +
> >>> +    arg.a1 = src_dst;
> >>> +    arg.a2 = get_user_reg(regs, 2) & mask;
> >>> +    arg.a3 = get_user_reg(regs, 3) & mask;
> >>> +    arg.a4 = get_user_reg(regs, 4) & mask;
> >>> +    arg.a5 = get_user_reg(regs, 5) & mask;
> >>> +    arg.a6 = get_user_reg(regs, 6) & mask;
> >>> +    arg.a7 = get_user_reg(regs, 7) & mask;
> >>> +
> >>> +    while ( true )
> >>> +    {
> >>> +        arm_smccc_1_2_smc(&arg, &resp);
> >>> +
> >>> +        switch ( resp.a0 )
> >>> +        {
> >>> +        case FFA_INTERRUPT:
> >>> +            ctx->interrupted = true;
> >>> +            goto out;
> >>> +        case FFA_ERROR:
> >>> +        case FFA_SUCCESS_32:
> >>> +        case FFA_SUCCESS_64:
> >>> +        case FFA_MSG_SEND_DIRECT_RESP_32:
> >>> +        case FFA_MSG_SEND_DIRECT_RESP_64:
> >>> +            goto out;
> >>> +        default:
> >>> +            /* Bad fid, report back. */
> >>> +            memset(&arg, 0, sizeof(arg));
> >>> +            arg.a0 = FFA_ERROR;
> >>> +            arg.a1 = src_dst;
> >>> +            arg.a2 = FFA_RET_NOT_SUPPORTED;
> >>> +            continue;
> >>
> >> There is a potential infinite loop here and i do not understand
> >> why this needs to be done.
> >> Here if something is returning a value that you do not understand
> >> you send back an ERROR to it. I do not find in the spec where this
> >> is supposed to be done.
> >> Can you explain a bit here ?
> >
> > This should normally not happen, but the SP/SPMC is responding with a
> > request that we don't know what to do with. The standard doesn't say
> > how to handle that as far as I understand. However, returning back to
> > the VM at this point with an error may leave the SP/SPMC in a strange
> > state. So I think it's better to report back to the SP/SPMC that the
> > request isn't understood and hopefully it can at least return back
> > with an error in a sane state.
> >
> > I'll add something to the comment.
>
> I discussed that with Achin and Marc today at Arm and if we get an invalid
> fid we do not need to report it back like you did.
> We should instead report this as an error to the requester.
>
> This is good as it will remove the :-)

Great, thanks.
/Jens


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 15:58:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 15:58:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504136.776683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXOqR-0005CU-JZ; Wed, 01 Mar 2023 15:58:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504136.776683; Wed, 01 Mar 2023 15:58:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXOqR-0005CN-Gw; Wed, 01 Mar 2023 15:58:19 +0000
Received: by outflank-mailman (input) for mailman id 504136;
 Wed, 01 Mar 2023 15: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=S3ad=6Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXOqQ-0005CH-4C
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 15:58:18 +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 e0ce3cb6-b849-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 16:58:16 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id r27so18237507lfe.10
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 07:58:16 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 f3-20020a05651c03c300b00293526a0c87sm1725471ljp.41.2023.03.01.07.58.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 07:58: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: e0ce3cb6-b849-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677686296;
        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=ZfXnK4d0VeFsg8K1Z4HldwOPmcJHk0PTWHtA3KgsIqA=;
        b=Ahte7p5A86eRrwxlyeuM7kisPOOdizsINjeRExClvhJN30efsfZOJzsd9WFJsd+ZZx
         UKN7pPhOu+cbAGeFPHw6jH4Kk4wrlra8Auh66nikSqjFB9O+Sz8fxzxdU5mfYSG2QzFS
         XZHLJodbiFVrLt6UYWLQZb2425e+zHtiwHCWsM4ilJfTcFmKY/koZDZdsdyu2GJKQ92Z
         8U78Ed+POt//GUbq52qm2+4yEkyrnobhZvQij/wudanmoe/ez7pA94G7vmHQwY0P8Uwp
         Tr7PncLy4eX+KX2kgJsIvb4XNB+pLqwOmd1lmF9OkBT1N8j3SW318sGER5pN5vdPXJRk
         UwLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677686296;
        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=ZfXnK4d0VeFsg8K1Z4HldwOPmcJHk0PTWHtA3KgsIqA=;
        b=fegPqMgguzubbkjfs44A32aVoAPk6ZqVX3CsbJlY2daUZhKYAT+D813oisFDKWm3lR
         6ikLYHsSM1qK7dAC8hWXQpG6jZZQch6aUOatxc6bEYaNRx0tImBQRhn+PbJ/t1rvzrCO
         f0ILCtBntdjT+Ss1scc7CIm/tZXRz7wm9sAx0dESft0zERn18F9W28yTah+f+XcAOC2s
         nEJ74m3KvfPgu7stQKJVEN6+zW3C5lwz8C/SECnauMNmXdiVbDL9BCtAJZb3NReaLWJd
         OVBdpQhAzcIp7ZPTvS3GuySwkNERHqRgxFEtHbJ7KyM6XwHxfbNFU18kq2mUE2K+stoE
         7TxA==
X-Gm-Message-State: AO0yUKWayUg+HVAeRq29+ajpH761F4YvUVJBsOQaZP0HhqHYANZCEWiF
	a34s57WT6mgL8Col9dOVlAA=
X-Google-Smtp-Source: AK7set/P2cLUxDQBs4MUtna0fNNMJXPCuqdHHDyxDAoHThvvFj1WbPFW6HqbuBXh5ks+c1vZQZwUKQ==
X-Received: by 2002:a05:6512:3b84:b0:4dd:8190:a26b with SMTP id g4-20020a0565123b8400b004dd8190a26bmr4422929lfv.13.1677686295846;
        Wed, 01 Mar 2023 07:58:15 -0800 (PST)
Message-ID: <ded901310f0cfc3774d01d6e4d0dd576b086cdae.camel@gmail.com>
Subject: Re: [PATCH v3 3/4] xen/arm: switch ARM to use generic
 implementation of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Date: Wed, 01 Mar 2023 17:58:14 +0200
In-Reply-To: <0fd10ac8-6110-8299-b2b1-5e46e0c7b14a@xen.org>
References: <cover.1677233393.git.oleksii.kurochko@gmail.com>
	 <d80c136720c156d6ef83f27f1ce8dca5dba5b5a0.1677233393.git.oleksii.kurochko@gmail.com>
	 <f82b8c50-47f2-d8b0-5a2c-60203e5d5e26@xen.org>
	 <ae96eb36-aeba-86f0-3b72-a8b62f4dce60@xen.org>
	 <6735859208c6dcb7320f89664ae298005f70827b.camel@gmail.com>
	 <75df5a86-5d64-d219-c25c-644748a88302@xen.org>
	 <3f108af54c7d824f59a7dc1daf7d4d0c23f617ec.camel@gmail.com>
	 <297fb314-7752-fdf6-3003-f5bd1396c1e3@xen.org>
	 <bb5105f462a79bc0136348302407574f1d9f792b.camel@gmail.com>
	 <0fd10ac8-6110-8299-b2b1-5e46e0c7b14a@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-01 at 15:21 +0000, Julien Grall wrote:
> Hi Oleksii,
>=20
> On 01/03/2023 15:16, Oleksii wrote:
> > On Wed, 2023-03-01 at 13:58 +0000, Julien Grall wrote:
> > > On 01/03/2023 12:31, Oleksii wrote:
> > > Given this is an alignment issue (Arm32 is more sensible to this
> > > than
> > > the other architecture, but this is still a potential problem for
> > > the
> > > other archs), I would really like to understand whether this is
> > > an
> > > issue
> > > in the common code or in the Arm linker script.
> > I have a good news.
> >=20
> > Alignment of "*(.proc.info)" helps but I checked only yocto-
> > qemuarm:
> > https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792923264
> >=20
> > I ran all tests here:
> > https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/792953524
> >=20
> > Should I create a separate patch with ALIGN if the tests are
> > passed?
>=20
> Yes please. But, to be honest, I am not entirely sure what is not=20
> aligned before hand. Do you know if it is possible to download the
> Xen=20
> binary from gitlab?
It is possible.

Please go to the link of the job:
https://gitlab.com/xen-project/people/olkur/xen/-/jobs/3856617252
And on the right you will find 'Job artificats' where you can click
'Download'.
Or in  case if you need a particular binary can click 'Browse' and go
to Artifcats/Binaries/:
https://gitlab.com/xen-project/people/olkur/xen/-/jobs/3856617252/artifacts=
/browse/binaries/

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 16:14:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 16:14:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504141.776694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXP5q-0000Sa-VK; Wed, 01 Mar 2023 16:14:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504141.776694; Wed, 01 Mar 2023 16:14: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 1pXP5q-0000ST-Rr; Wed, 01 Mar 2023 16:14:14 +0000
Received: by outflank-mailman (input) for mailman id 504141;
 Wed, 01 Mar 2023 16:14: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=S3ad=6Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXP5p-0000SN-0D
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 16:14:13 +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 1a8ec1ef-b84c-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 17:14:12 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id i9so18338564lfc.6
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 08:14:11 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 h20-20020ac25974000000b004dd0bbc89a1sm1776196lfp.244.2023.03.01.08.14.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 08:14: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: 1a8ec1ef-b84c-11ed-96a6-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677687251;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=VrJOB0YyYKCsLpRkXtn6hYbcpuVZfe6Ic8uPAhle/rY=;
        b=FSKCVBdebJjXp/pHfDdVE8CYIbNk2rvmBqjYLuEHriGZp0kf23k8NVk1CxuKdic9dl
         6wCl4FBXgDIniaNnJwkrKAQy+RGG1LTbrQ/g2SyNva5tBdC4yTbIk8IQ67N34xMtGSCv
         4/xdmSL4Rs1AWiy7dLRWl0KSxBNjj9u/OdnhlXmFzniVwx3eM2A0r2lD8f75O6OWaa7f
         7q1C+b6xtFDA63LV9sdWy6axqUb6uCjXo5O0XPQmo6x/IeoIKVkZmGiOxHLTLCLkjj1v
         JjAmHt5wQl1zJuwTd15BeyqTJYEZMrMclqtyU2fn01FDCAoBPsk22K0qCBs7Z+TrvRjH
         aiWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677687251;
        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=VrJOB0YyYKCsLpRkXtn6hYbcpuVZfe6Ic8uPAhle/rY=;
        b=5KM4rCrH0yic+BC/Wl5rI1/AyUXXKkOCC6zok7ntQxmBcR7O6X2KNNMBcMSbxX6Rxz
         kJoXJbODw2SGvQDznVyY6F1tMXXHv3+TWgvjE0wK1slZvRQG/5I3hrrs7yOaiT5Vs3JD
         bJeWfTqBoZLcPetDrIGRWNjFrfFlK8QoOSoVcj8gfCSCsHFrVCUThiX+KWIjS4lbE30K
         H7d4xhdUadK9jUQBVTJuxYccx4zi0gEvP35tMRHh6jIvUaykBWn0xEdxIUV/S26sgHrn
         MxJpMSeIqmyy5wdMMZDML5fSAUTm++uV0JNTlf7VfkcStjgmBbf7iZ35XrxrS20EGMwv
         CaHQ==
X-Gm-Message-State: AO0yUKUY5CwJEOAxN9hUA9vYFq9vKfgExfH6q8KAMT6LGTEEKXDVEE+C
	pdRNbuSUXHsplbvEWt45UZrs9J4mWPQ=
X-Google-Smtp-Source: AK7set85hNpo77A9Fp8vUSH8SIkyrJipDfszac+9cCwVx83AVAijN5cYv9uvmL2fPzSCvbY3WbAbzQ==
X-Received: by 2002:ac2:5927:0:b0:4dd:abb9:dae4 with SMTP id v7-20020ac25927000000b004ddabb9dae4mr1841952lfi.25.1677687251114;
        Wed, 01 Mar 2023 08:14:11 -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>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v1] xen/arm: align *(.proc.info) in the linker script
Date: Wed,  1 Mar 2023 18:14:07 +0200
Message-Id: <74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

During testing of bug.h's macros generic implementation yocto-qemuarm
job crashed with data abort:

(XEN) Data Abort Trap. Syndrome=0x1830021
(XEN) Walking Hypervisor VA 0x2a5ca6 on CPU0 via TTBR 0x000000004014a000
(XEN) 1ST[0x000] = 0x0000000040149f7f
(XEN) 2ND[0x001] = 0x0040000040148f7f
(XEN) 3RD[0x0a5] = 0x00400000400b5fff
(XEN) CPU0: Unexpected Trap: Data Abort
(XEN) ----[ Xen-4.18-unstable  arm32  debug=y  Not tainted ]----
(XEN) CPU:    0
(XEN) PC:     0020063c head.o#__lookup_processor_type+0x1c/0x44
(XEN) CPSR:   600001da MODE:Hypervisor
(XEN)      R0: 412fc0f1 R1: 002a5ca2 R2: 002a5cd2 R3: 600001da
(XEN)      R4: 002a7e9c R5: 00000011 R6: 00000000 R7: ffffffff
(XEN)      R8: 48008f20 R9: 00000000 R10:00000000 R11:002ffecc R12:00000000
(XEN) HYP: SP: 002ffeb8 LR: 00200618
(XEN)
(XEN)   VTCR_EL2: 00000000
(XEN)  VTTBR_EL2: 0000000000000000
(XEN)
(XEN)  SCTLR_EL2: 30cd187f
(XEN)    HCR_EL2: 00000038
(XEN)  TTBR0_EL2: 000000004014a000
(XEN)
(XEN)    ESR_EL2: 97830021
(XEN)  HPFAR_EL2: 00000000
(XEN)      HDFAR: 002a5ca6
(XEN)      HIFAR: 00000000
(XEN)
(XEN) Xen stack trace from sp=002ffeb8:
(XEN)    97830021 002a7e9c 00000000 00276a88 002fff54 002c8fc4 11112131 10011142
(XEN)    00000000 002a5500 00000000 00000000 00008f20 00002000 48000000 002e01f0
(XEN)    00000000 60000000 00000000 40000000 00000001 002e0208 002a7e8c 002a7e88
(XEN)    002b0ab4 002e31f0 00000000 60000000 00000003 ffffffff 00000000 002aa000
(XEN)    00200060 00000000 00000000 48000000 40010000 3fe10000 00000000 00200068
(XEN)    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
(XEN)    00000000 00000000
(XEN) Xen call trace:
(XEN)    [<0020063c>] head.o#__lookup_processor_type+0x1c/0x44 (PC)
(XEN)    [<00200618>] lookup_processor_type+0xc/0x14 (LR)
(XEN)    [<002c8fc4>] start_xen+0xb8c/0x1138
(XEN)    [<00200068>] head.o#primary_switched+0x8/0x1c
(XEN)
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 0:
(XEN) CPU0: Unexpected Trap: Data Abort
(XEN) ****************************************
(XEN)
(XEN) Reboot in five seconds...
(XEN) Xen: Platform reset did not work properly!
(XEN) Xen: Platform reset did not work properly!

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/arm/xen.lds.S | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index 3f7ebd19f3..1b392345bc 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -67,6 +67,7 @@ SECTIONS
        *(.data.rel.ro)
        *(.data.rel.ro.*)
 
+       . = ALIGN(4);
        __proc_info_start = .;
        *(.proc.info)
        __proc_info_end = .;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 16:18:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 16:18:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504145.776704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXP9V-00014B-EF; Wed, 01 Mar 2023 16:18:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504145.776704; Wed, 01 Mar 2023 16: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 1pXP9V-000144-B8; Wed, 01 Mar 2023 16:18:01 +0000
Received: by outflank-mailman (input) for mailman id 504145;
 Wed, 01 Mar 2023 16:18: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=ofKM=6Z=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pXP9T-00013w-V1
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 16:18:00 +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 a1c9710c-b84c-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 17:17:59 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 j19-20020a05600c191300b003eb3e1eb0caso7615660wmq.1
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 08:17: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: a1c9710c-b84c-11ed-96a6-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=lTBB/RNxDH/thSNqh1+tF6GTV7+xAO5ZpXvZn/HmJes=;
        b=JvfyHicKMnciQKS3n/LenPgsSQg7fg7IT+zJpyzS+XXE3kRhGfVbOOW/8MLF6V68eD
         a3K62VU8yCrcFCWM6ELIoILxv3WgP+Dhpj8l3BDH8pWgONSy4iu3HtPd63vq8UIoJbym
         K5ykIFNfov48P+d6C8wydMt8AqAnH5uYQN8ouVIchaW63YejXtZUIG5/V+m7G387WEvX
         M2dtQCZrpucoYrnLcFTSx1yXapnyzpn+SdN7Zb2dtW6YQrmYP36AcqgAx1KE6MRDxQeD
         pXvHwWS80R37IBsMvyY7O+DrCJBtumD0vOTg8WXOcdyEeKnJ7v7rbR34CotsenaCfqLa
         tG7A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=lTBB/RNxDH/thSNqh1+tF6GTV7+xAO5ZpXvZn/HmJes=;
        b=u/9gqVbECCxcz8hmhHFHXv5VoygHyd6XglKYrnFDMfb9p8X58iB1/HF1r6pox2xiTw
         q3bR5tM7xzAWQTuDAJGOa6KF8oFRy1138puBbFe4iZU24hMGcRiIKqnDvvTKl08z2qR4
         EnnCPPQjoOPctUQo0ToCTN98qTL8s6QLsNnQS91TntP4xi1dirztIc/DO37lNXRntVTP
         P0nZ0nNCyJT3lbEUTxyHd6FvJDPE7SPZXlDxXbiIcuESQqeovJP5LMegV/FwyH0RDx3J
         rMh0+kjVBQVRrK/CUg0hq6WFupAv4JqlkzhWfrOSCB4y+u+Q9b7iU6zM10BButU7bhLw
         TJ1A==
X-Gm-Message-State: AO0yUKXDxHZ6Q7m0+Xdup+VmAWMTpFr6d7zvDj/tp7agYfCvwTxXqL2S
	QHk2ILMlQ79RbLLsS385n2qH4WJmoN4Jnuge+m9RmA==
X-Google-Smtp-Source: AK7set8Yp603sWG2LB3kD+pZaweSsKCF2TR9e5Nc0BOpe8tkTWFjMKTfIPeCTswBMu2uKwcrDmTg9P1O1dnpNX7RdrI=
X-Received: by 2002:a05:600c:444c:b0:3df:d8c9:caa7 with SMTP id
 v12-20020a05600c444c00b003dfd8c9caa7mr1994343wmn.4.1677687478081; Wed, 01 Mar
 2023 08:17:58 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <3332563e64568b2ffd236b1f428c27aa4cdf9790.1677079672.git.jens.wiklander@linaro.org>
 <F22A4773-94E8-4F24-A5C8-BF4E075A7698@arm.com> <CAHUa44FrC_S1Ot8-2s3=q5f7omZ+gsZhYTJUTMA0yVG5BBp6mw@mail.gmail.com>
 <05270146-5270-4ADE-A89A-7231D623833B@arm.com>
In-Reply-To: <05270146-5270-4ADE-A89A-7231D623833B@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 1 Mar 2023 17:17:47 +0100
Message-ID: <CAHUa44GYLex7GTpgXgfjvsbYKMkYEfyNgVW2P=CUf83HZxtD1w@mail.gmail.com>
Subject: Re: [XEN PATCH v7 10/20] xen/arm: ffa: add direct request support
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"

Hi,

On Wed, Mar 1, 2023 at 2:06 PM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> HI Jens,
>
> > On 1 Mar 2023, at 11:55, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> >
> > Hi Bertrand,
> >
> > On Mon, Feb 27, 2023 at 4:28 PM Bertrand Marquis
> > <Bertrand.Marquis@arm.com> wrote:
> >>
> >> Hi Jens,
> >>
> >>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> >>>
> >>> Adds support for sending a FF-A direct request. Checks that the SP also
> >>> supports handling a 32-bit direct request. 64-bit direct requests are
> >>> not used by the mediator itself so there is not need to check for that.
> >>>
> >>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> >>> ---
> >>> xen/arch/arm/tee/ffa.c | 119 +++++++++++++++++++++++++++++++++++++++++
> >>> 1 file changed, 119 insertions(+)
> >>>
> >>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> >>> index 463fd7730573..a5d8a12635b6 100644
> >>> --- a/xen/arch/arm/tee/ffa.c
> >>> +++ b/xen/arch/arm/tee/ffa.c
> >>> @@ -142,6 +142,7 @@
> >>>
> >>> struct ffa_ctx {
> >>>    uint32_t guest_vers;
> >>> +    bool interrupted;
> >>
> >> This is added and set here for one special error code but is never used.
> >> I would suggest to introduce this when there will be an action based on it.
> >
> > I'm sorry, I forgot about completing this. I'll add code to deal with
> > FFA_INTERRUPT. This will be tricky to test though since we don't use
> > FFA_INTERRUPT like this with OP-TEE. The Hypervisor is required by the
> > FF-A standard to support it so I better add something.
>
> You can do that in a different patch then and just remove this from this patch ?

OK, I'll do that.

>
> >
> >>
> >>> };
> >>>
> >>> /* Negotiated FF-A version to use with the SPMC */
> >>> @@ -167,6 +168,55 @@ static bool ffa_get_version(uint32_t *vers)
> >>>    return true;
> >>> }
> >>>
> >>> +static int32_t get_ffa_ret_code(const struct arm_smccc_1_2_regs *resp)
> >>> +{
> >>> +    switch ( resp->a0 )
> >>> +    {
> >>> +    case FFA_ERROR:
> >>> +        if ( resp->a2 )
> >>> +            return resp->a2;
> >>> +        else
> >>> +            return FFA_RET_NOT_SUPPORTED;
> >>> +    case FFA_SUCCESS_32:
> >>> +    case FFA_SUCCESS_64:
> >>> +        return FFA_RET_OK;
> >>> +    default:
> >>> +        return FFA_RET_NOT_SUPPORTED;
> >>> +    }
> >>> +}
> >>> +
> >>> +static int32_t ffa_simple_call(uint32_t fid, register_t a1, register_t a2,
> >>> +                               register_t a3, register_t a4)
> >>> +{
> >>> +    const struct arm_smccc_1_2_regs arg = {
> >>> +        .a0 = fid,
> >>> +        .a1 = a1,
> >>> +        .a2 = a2,
> >>> +        .a3 = a3,
> >>> +        .a4 = a4,
> >>> +    };
> >>> +    struct arm_smccc_1_2_regs resp;
> >>> +
> >>> +    arm_smccc_1_2_smc(&arg, &resp);
> >>> +
> >>> +    return get_ffa_ret_code(&resp);
> >>> +}
> >>> +
> >>> +static int32_t ffa_features(uint32_t id)
> >>> +{
> >>> +    return ffa_simple_call(FFA_FEATURES, id, 0, 0, 0);
> >>> +}
> >>> +
> >>> +static bool check_mandatory_feature(uint32_t id)
> >>> +{
> >>> +    uint32_t ret = ffa_features(id);
> >>> +
> >>> +    if (ret)
> >>> +        printk(XENLOG_ERR "ffa: mandatory feature id %#x missing\n", id);
> >>
> >> It might be useful here to actually print the error code.
> >> Are we sure that all errors actually mean not supported ?
> >
> > Yes, that's what the standard says.
>
> The error code might still be useful in the print.

OK, I'll add it.

>
> >
> >>
> >>> +
> >>> +    return !ret;
> >>> +}
> >>> +
> >>> static uint16_t get_vm_id(const struct domain *d)
> >>> {
> >>>    /* +1 since 0 is reserved for the hypervisor in FF-A */
> >>> @@ -208,6 +258,66 @@ static void handle_version(struct cpu_user_regs *regs)
> >>>    set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
> >>> }
> >>>
> >>> +static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32_t fid)
> >>> +{
> >>> +    struct arm_smccc_1_2_regs arg = { .a0 = fid, };
> >>> +    struct arm_smccc_1_2_regs resp = { };
> >>> +    struct domain *d = current->domain;
> >>> +    struct ffa_ctx *ctx = d->arch.tee;
> >>> +    uint32_t src_dst;
> >>> +    uint64_t mask;
> >>> +
> >>> +    if ( smccc_is_conv_64(fid) )
> >>> +        mask = GENMASK_ULL(63, 0);
> >>> +    else
> >>> +        mask = GENMASK_ULL(31, 0);
> >>> +
> >>> +    src_dst = get_user_reg(regs, 1);
> >>> +    if ( (src_dst >> 16) != get_vm_id(d) )
> >>> +    {
> >>> +        resp.a0 = FFA_ERROR;
> >>> +        resp.a2 = FFA_RET_INVALID_PARAMETERS;
> >>> +        goto out;
> >>> +    }
> >>> +
> >>> +    arg.a1 = src_dst;
> >>> +    arg.a2 = get_user_reg(regs, 2) & mask;
> >>> +    arg.a3 = get_user_reg(regs, 3) & mask;
> >>> +    arg.a4 = get_user_reg(regs, 4) & mask;
> >>> +    arg.a5 = get_user_reg(regs, 5) & mask;
> >>> +    arg.a6 = get_user_reg(regs, 6) & mask;
> >>> +    arg.a7 = get_user_reg(regs, 7) & mask;
> >>> +
> >>> +    while ( true )
> >>> +    {
> >>> +        arm_smccc_1_2_smc(&arg, &resp);
> >>> +
> >>> +        switch ( resp.a0 )
> >>> +        {
> >>> +        case FFA_INTERRUPT:
> >>> +            ctx->interrupted = true;
> >>> +            goto out;
> >>> +        case FFA_ERROR:
> >>> +        case FFA_SUCCESS_32:
> >>> +        case FFA_SUCCESS_64:
> >>> +        case FFA_MSG_SEND_DIRECT_RESP_32:
> >>> +        case FFA_MSG_SEND_DIRECT_RESP_64:
> >>> +            goto out;
> >>> +        default:
> >>> +            /* Bad fid, report back. */
> >>> +            memset(&arg, 0, sizeof(arg));
> >>> +            arg.a0 = FFA_ERROR;
> >>> +            arg.a1 = src_dst;
> >>> +            arg.a2 = FFA_RET_NOT_SUPPORTED;
> >>> +            continue;
> >>
> >> There is a potential infinite loop here and i do not understand
> >> why this needs to be done.
> >> Here if something is returning a value that you do not understand
> >> you send back an ERROR to it. I do not find in the spec where this
> >> is supposed to be done.
> >> Can you explain a bit here ?
> >
> > This should normally not happen, but the SP/SPMC is responding with a
> > request that we don't know what to do with. The standard doesn't say
> > how to handle that as far as I understand. However, returning back to
> > the VM at this point with an error may leave the SP/SPMC in a strange
> > state. So I think it's better to report back to the SP/SPMC that the
> > request isn't understood and hopefully it can at least return back
> > with an error in a sane state.
> >
> > I'll add something to the comment.
>
> Please also make sure that the code is not looping infinitely on this.

I'll remove the loop as agreed in the other mail.

>
> >
> >>
> >>> +        }
> >>> +    }
> >>> +
> >>> +out:
> >>> +    set_regs(regs, resp.a0, resp.a1 & mask, resp.a2 & mask, resp.a3 & mask,
> >>> +             resp.a4 & mask, resp.a5 & mask, resp.a6 & mask, resp.a7 & mask);
> >>> +}
> >>> +
> >>> static bool ffa_handle_call(struct cpu_user_regs *regs)
> >>> {
> >>>    uint32_t fid = get_user_reg(regs, 0);
> >>> @@ -225,6 +335,12 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
> >>>    case FFA_ID_GET:
> >>>        set_regs_success(regs, get_vm_id(d), 0);
> >>>        return true;
> >>> +    case FFA_MSG_SEND_DIRECT_REQ_32:
> >>> +#ifdef CONFIG_ARM_64
> >>> +    case FFA_MSG_SEND_DIRECT_REQ_64:
> >>> +#endif
> >>> +        handle_msg_send_direct_req(regs, fid);
> >>> +        return true;
> >>>
> >>>    default:
> >>>        gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> >>> @@ -310,6 +426,9 @@ static bool ffa_probe(void)
> >>>    printk(XENLOG_INFO "ARM FF-A Firmware version %u.%u\n",
> >>>           major_vers, minor_vers);
> >>>
> >>> +    if ( !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> >>> +        return false;
> >>
> >> One could not need this feature and here this will make everything unavailable instead.
> >> Why not just reporting back the unsupported error to clients using unsupported interfaces ?
> >
> > One could perhaps argue that this check should be moved to a later
> > patch in this series. Perhaps there's some future configuration that
> > might make sense without this feature, but for now, it doesn't make
> > sense to initialize without it.
>
> I am starting to wonder if we should not at boot scan for available features, save them
> somewhere and then accept/reject calls depending on the supported features.
>
> Maybe just add a TODO here so that we remember that this is something that could be
> checked/modified one day. That would also give an insight if someone has such a usecase
> one day.

I'll add a comment.

Cheers,
Jens


>
> Cheers
> Bertrand
>
> >
> > Thanks,
> > Jens
> >
> >>
> >> Cheers
> >> Bertrand
> >>
> >>> +
> >>>    ffa_version = vers;
> >>>
> >>>    return true;
> >>> --
> >>> 2.34.1
>
>


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 16:21:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 16:21:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504152.776714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXPD7-0002q5-U3; Wed, 01 Mar 2023 16:21:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504152.776714; Wed, 01 Mar 2023 16:21: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 1pXPD7-0002py-RL; Wed, 01 Mar 2023 16:21:45 +0000
Received: by outflank-mailman (input) for mailman id 504152;
 Wed, 01 Mar 2023 16:21: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 1pXPD6-0002ps-O4
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 16:21: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 1pXPD6-0003pV-F2; Wed, 01 Mar 2023 16:21:44 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.13.48]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pXPD6-00078e-8E; Wed, 01 Mar 2023 16: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>
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=9nV7buBEDaYRTac08yym+8twp8QN/ilTKKsAIOkpwP0=; b=6KzfB0ZAa/APSMGx/DgnhK0zeS
	n6eWd3R2a9gUHM+xFKOiAfRaPLi3T6Lk5R4Ul0C/oLPxaF8gu33b8RfBL33Qg91k6XPsnlVcykhe1
	i8fqiaHCqZrv4ojVVkwvHBzxyccOhyRDoonWt38g42yDjLK5Q4V+ttNhATTsbXI8+NII=;
Message-ID: <370809af-75e6-546a-53e4-71a76444f367@xen.org>
Date: Wed, 1 Mar 2023 16:21:42 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/arm: align *(.proc.info) in the linker script
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 01/03/2023 16:14, Oleksii Kurochko wrote:
> During testing of bug.h's macros generic implementation yocto-qemuarm
> job crashed with data abort:

The commit message is lacking some information. You are telling us that 
there is an error when building with your series, but this doesn't tell 
me why this is the correct fix.

This is also why I asked to have the xen binary because I want to check 
whether this was a latent bug in Xen or your series effectively 
introduce a bug.

Note that regardless what I just wrote this is a good idea to align 
__proc_info_start. I will try to have a closer look later and propose a 
commit message and/or any action for your other series.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 16:39:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 16:39:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504158.776734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXPTc-00051Q-Je; Wed, 01 Mar 2023 16:38:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504158.776734; Wed, 01 Mar 2023 16:38: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 1pXPTc-00051J-Fr; Wed, 01 Mar 2023 16:38:48 +0000
Received: by outflank-mailman (input) for mailman id 504158;
 Wed, 01 Mar 2023 16:38: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=0zca=6Z=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1pXPTa-00050h-NL
 for xen-devel@lists.xen.org; Wed, 01 Mar 2023 16:38: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 86c74a79-b84f-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 17:38:44 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id k37so9031981wms.0
 for <xen-devel@lists.xen.org>; Wed, 01 Mar 2023 08:38:42 -0800 (PST)
Received: from zen.linaroharston ([85.9.250.243])
 by smtp.gmail.com with ESMTPSA id
 q14-20020a05600c46ce00b003daffc2ecdesm101200wmo.13.2023.03.01.08.38.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 08:38:41 -0800 (PST)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id DAA201FFB7;
 Wed,  1 Mar 2023 16:38:40 +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: 86c74a79-b84f-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MLJB0AywjKErpano3hVxQBKZ1gllESkhAW0hnMNDsWQ=;
        b=Ny6yujlRJ9bR/RWpfN7TJPhmn6Y2SpV5i143jJu4HQ5TYnz2MIBVVthziDHIsWZ3Xz
         dyQNWzOw3oZiOeU41/aa0VOR/rWnsNKAA8EzD402f/R/euqJ5KakgeTyzP5MuxdU3qbe
         k0+/GepenSV33Q7DbOHctuPIVpcPVd/8ErpCfyhtmOzRNF6eqV7Zfz9NYdV2QHWNrfIT
         5y8XBwFdDUzAmg5Qt306eP3gYVlbSrgZr+of0bm1G+y/0Ax6OBtN7+gXd3pz0K+K7x4d
         4gauoX9mKkXQc2eZ7HQ6uqXoIwmz3jiHPdKBDG/HYwnpzPtqM/SxCsmp7u8KgADBDrj5
         mNbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=MLJB0AywjKErpano3hVxQBKZ1gllESkhAW0hnMNDsWQ=;
        b=uiyWjik6cwWK27AfqTZDYuSkrYNUiiEYcoPK4llM7T9dVW2QSeroAkRz/aAfI1OJhC
         7c1btpwVPWGbZz8RmLF+y1H5/uH3GHex1/a5DmOeeeli1k+T2gnTVDLRlE4sMxLJor4P
         va2UCE6F7CHfTueRFllYo0wsNEc4BKDfIJo0GOSdgyyddAEVA2jK5zJhkeON8M3unzIc
         qPZnSNb4wcIS1P4JPi1rQlpvSNVmYyVCz938DjnunMiTrgvgnw01dcjFTNnSCg0aQPki
         oscusljpC6/d//0Ev1ij5e80/OX10FE0PTSN6Y94rWQvfftKhMXZx2zqah2fP5kh5pQi
         BhOw==
X-Gm-Message-State: AO0yUKUfbndPvof4e5SUfp6osBzoe2E6cjY3z8PatwTwhD/mBm3WGEAY
	9Ooo2zKaSNznKdk1kftmbm6XEw==
X-Google-Smtp-Source: AK7set8WBgfC36G3IFqFpRa7gBd2pVVtyWUHN64EG9LFoiuEgjP0tf5cL7IIFNkQ8zEijLa0yqq7mg==
X-Received: by 2002:a05:600c:44d4:b0:3eb:29fe:7baa with SMTP id f20-20020a05600c44d400b003eb29fe7baamr5520403wmo.34.1677688721652;
        Wed, 01 Mar 2023 08:38:41 -0800 (PST)
References: <Y/9zkDAS4odz93GM@fedora>
User-agent: mu4e 1.9.21; emacs 29.0.60
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>, qemu-devel@nongnu.org, "Michael
 S. Tsirkin" <mst@redhat.com>, Vincent Guittot
 <vincent.guittot@linaro.org>, stratos-dev@op-lists.linaro.org, Oleksandr
 Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Juergen Gross <jgross@suse.com>, Sebastien
 Boeuf <sebastien.boeuf@intel.com>, Liu Jiang <gerry@linux.alibaba.com>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 virtio-dev@lists.oasis-open.org
Subject: Re: [virtio-dev] [RFC QEMU] docs: vhost-user: Add custom memory
 mapping support
Date: Wed, 01 Mar 2023 16:31:41 +0000
In-reply-to: <Y/9zkDAS4odz93GM@fedora>
Message-ID: <877cw0ctpr.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Stefan Hajnoczi <stefanha@redhat.com> writes:

> [[PGP Signed Part:Undecided]]
> Resend - for some reason my email didn't make it out.
>
> From: Stefan Hajnoczi <stefanha@redhat.com>
> Subject: Re: [virtio-dev] [RFC QEMU] docs: vhost-user: Add custom memory
>  mapping support
> To: Viresh Kumar <viresh.kumar@linaro.org>
> Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org, "Michael S.
>  Tsirkin" <mst@redhat.com>, Vincent Guittot <vincent.guittot@linaro.org>,
>  Alex Benn=C3=A9e <alex.bennee@linaro.org>,
> 	stratos-dev@op-lists.linaro.org, Oleksandr Tyshchenko
>  <olekstysh@gmail.com>, xen-devel@lists.xen.org, Andrew Cooper
>  <andrew.cooper3@citrix.com>, Juergen Gross <jgross@suse.com>, Sebastien
>  Boeuf
> 	<sebastien.boeuf@intel.com>, Liu Jiang <gerry@linux.alibaba.com>, Mathieu
>  Poirier <mathieu.poirier@linaro.org>
> Date: Tue, 21 Feb 2023 10:17:01 -0500 (1 week, 1 day, 1 hour ago)
> Flags: seen, signed, personal
>
> On Tue, Feb 21, 2023 at 03:20:41PM +0530, Viresh Kumar wrote:
>> The current model of memory mapping at the back-end works fine with
>> Qemu, where a standard call to mmap() for the respective file
>> descriptor, passed from front-end, is generally all we need to do before
>> the front-end can start accessing the guest memory.
>>=20
>> There are other complex cases though, where we need more information at
>> the backend and need to do more than just an mmap() call. For example,
>> Xen, a type-1 hypervisor, currently supports memory mapping via two
>> different methods, foreign-mapping (via /dev/privcmd) and grant-dev (via
>> /dev/gntdev). In both these cases, the back-end needs to call mmap()
>> followed by an ioctl() (or vice-versa), and need to pass extra
>> information via the ioctl(), like the Xen domain-id of the guest whose
>> memory we are trying to map.
>>=20
>> Add a new protocol feature, 'VHOST_USER_PROTOCOL_F_CUSTOM_MMAP', which
>> lets the back-end know about the additional memory mapping requirements.
>> When this feature is negotiated, the front-end can send the
>> 'VHOST_USER_CUSTOM_MMAP' message type to provide the additional
>> information to the back-end.
>>=20
>> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
>> ---
>>  docs/interop/vhost-user.rst | 32 ++++++++++++++++++++++++++++++++
>>  1 file changed, 32 insertions(+)
>
> The alternative to an in-band approach is to configure these details
> out-of-band. For example, via command-line options to the vhost-user
> back-end:
>
>   $ my-xen-device --mapping-type=3Dforeign-mapping --domain-id=3D123
>
> I was thinking about both approaches and don't see an obvious reason to
> choose one or the other. What do you think?

In-band has the nice property of being dynamic and not having to have
some other thing construct command lines. We are also trying to keep the
daemons from being Xen specific and keep the type of mmap as an
implementation detail that is mostly elided by the rust-vmm memory
traits.

>
>> diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst
>> index 3f18ab424eb0..f2b1d705593a 100644
>> --- a/docs/interop/vhost-user.rst
>> +++ b/docs/interop/vhost-user.rst
>> @@ -258,6 +258,23 @@ Inflight description
>>=20=20
>>  :queue size: a 16-bit size of virtqueues
>>=20=20
>> +Custom mmap description
>> +^^^^^^^^^^^^^^^^^^^^^^^
>> +
>> ++-------+-------+
>> +| flags | value |
>> ++-------+-------+
>> +
>> +:flags: 64-bit bit field
>> +
>> +- Bit 0 is Xen foreign memory access flag - needs Xen foreign memory ma=
pping.
>> +- Bit 1 is Xen grant memory access flag - needs Xen grant memory mappin=
g.
>> +
>> +:value: a 64-bit hypervisor specific value.
>> +
>> +- For Xen foreign or grant memory access, this is set with guest's xen =
domain
>> +  id.
>
> This is highly Xen-specific. How about naming the feature XEN_MMAP
> instead of CUSTOM_MMAP? If someone needs to add other mmap data later,
> they should define their own struct instead of trying to squeeze into
> the same fields as Xen.

We hope to support additional mmap mechanisms in the future - one
proposal is to use the hypervisor specific interface to support an
ioctl() that creates a domain specific device which can then be treated
more generically.

Could we not declare the message as flag + n bytes of domain specific
message as defined my msglen?

> There is an assumption in this design that a single
> VHOST_USER_CUSTOM_MMAP message provides the information necessary for
> all mmaps. Are you sure the limitation that every mmap belongs to the
> same domain will be workable in the future?

Like a daemon servicing multiple VMs? Won't those still be separate
vhost-user control channels though?

>
>> +
>>  C structure
>>  -----------
>>=20=20
>> @@ -867,6 +884,7 @@ Protocol features
>>    #define VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS 14
>>    #define VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS  15
>>    #define VHOST_USER_PROTOCOL_F_STATUS               16
>> +  #define VHOST_USER_PROTOCOL_F_CUSTOM_MMAP          17
>>=20=20
>>  Front-end message types
>>  -----------------------
>> @@ -1422,6 +1440,20 @@ Front-end message types
>>    query the back-end for its device status as defined in the Virtio
>>    specification.
>>=20=20
>> +``VHOST_USER_CUSTOM_MMAP``
>
> Most vhost-user protocol messages have a verb like
> get/set/close/add/listen/etc. I suggest renaming this to
> VHOST_USER_SET_XEN_MMAP_INFO.

VHOST_USER_CONFIG_MMAP_QUIRKS?

VHOST_USER_CONFIG_MMAP_TYPE?

>
>> +  :id: 41
>> +  :equivalent ioctl: N/A
>> +  :request payload: Custom mmap description
>> +  :reply payload: N/A
>> +
>> +  When the ``VHOST_USER_PROTOCOL_F_CUSTOM_MMAP`` protocol feature has b=
een
>> +  successfully negotiated, this message is submitted by the front-end to
>> +  notify the back-end of the special memory mapping requirements, that =
the
>> +  back-end needs to take care of, while mapping any memory regions sent
>> +  over by the front-end. The front-end must send this message before
>> +  any memory-regions are sent to the back-end via ``VHOST_USER_SET_MEM_=
TABLE``
>> +  or ``VHOST_USER_ADD_MEM_REG`` message types.
>> +
>>=20=20
>>  Back-end message types
>>  ----------------------
>> --=20
>> 2.31.1.272.g89b43f80a514
>>=20
>>=20
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
>> For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
>>=20
>
>
>
> ----------
>
> [[End of PGP Signed Part]]


--=20
Alex Benn=C3=A9e
Virtualisation Tech Lead @ Linaro


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 16:39:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 16:39:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504157.776724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXPTY-0004lf-8v; Wed, 01 Mar 2023 16:38:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504157.776724; Wed, 01 Mar 2023 16: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 1pXPTY-0004lY-5s; Wed, 01 Mar 2023 16:38:44 +0000
Received: by outflank-mailman (input) for mailman id 504157;
 Wed, 01 Mar 2023 16: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=S3ad=6Z=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXPTW-0004lP-Qp
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 16:38: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 864b4c30-b84f-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 17:38:41 +0100 (CET)
Received: by mail-lf1-x129.google.com with SMTP id m7so18423605lfj.8
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 08:38:41 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 p3-20020a19f003000000b004db2bda9527sm1782172lfc.121.2023.03.01.08.38.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 08: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: 864b4c30-b84f-11ed-96a6-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677688721;
        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=NbpnO5tIeYzqkfCFkTIzpe7N8+7qmnQ7Ttj3rc4oxaU=;
        b=ZOLvsThzkDgi5ASOU8cu2L1DhsX2A4ilI/0LwvrQWuhxRlx9J6ayWfG32e735ELxig
         8xirnpOTdZKswStukdWIgz1lIlDLDtFWqdBF9iD1RTXjkAQMujtqw0t6pxknVcouEuzT
         f0ZK00Vy2Si1Zf0okLJTGDk1nMGXYkjWbTGOiPk9o4FdIWhDYcRns8C1yhqlZq9DKqEE
         EQuScYH2nVw371vQ9wzc0r6QJ4L+hkDIvvFzzYlmatRbkvWRTq9oLaOla2nIW2FUcU9D
         gO1NarDuKzut5ql48boXDy2eEcf/uY/CLUzCukcpO6wUnvN90zgYHZsBH9yMwyeWYw7e
         viGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677688721;
        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=NbpnO5tIeYzqkfCFkTIzpe7N8+7qmnQ7Ttj3rc4oxaU=;
        b=nqThs6W+VKdAB2/nAPd+i+OGTqa04mVc4EGRzV6duSiSU1KOvd9WhNdgNnDzgzIyDJ
         qXygLg1IFtCz8xtfJsKQd0lUedKkOfxYMc3BNj0yLTmiSdwuvxa3rityzug5RzoLY802
         aaSmtRzN2/M1j28cw9lMcnR+FCttGDAKWyrez0ISNvMkPzA1n9kBp+kL7Pm3CNzyd9d6
         TSxzQFp6RcX4K5Yo8InIedCg6tXdv9SHSyljfEVCsU4H9SbtDlfVHpw3bLHtqCcCoUe5
         USD5AR4O5n/QaQxjUyZ4e0qRhw+LCRQBNwA9UeJ9T/BNpF2Uc90rDgX5Gw2Gfdl7p7yt
         IDOQ==
X-Gm-Message-State: AO0yUKXiSNtM2y/IcDqyJLgViqsoKnIxYipuHIjL+Rb9GwwXYMfOdyqD
	EMxSEXEZa4yD4D7yJxPHgmQ=
X-Google-Smtp-Source: AK7set93SfImPFg2f2tEuObe+Qw2nw8H2zh3+fDGryP7JATwCmhA+5cEy6vOax8TXQH7JDHNCe9aRw==
X-Received: by 2002:ac2:4c19:0:b0:4d7:573d:ed24 with SMTP id t25-20020ac24c19000000b004d7573ded24mr1893335lfq.14.1677688720776;
        Wed, 01 Mar 2023 08:38:40 -0800 (PST)
Message-ID: <a9c2638cd8620d74ec719845132ef65f08b4c934.camel@gmail.com>
Subject: Re: [PATCH v1] xen/arm: align *(.proc.info) in the linker script
From: Oleksii <oleksii.kurochko@gmail.com>
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>
Date: Wed, 01 Mar 2023 18:38:39 +0200
In-Reply-To: <370809af-75e6-546a-53e4-71a76444f367@xen.org>
References: 
	<74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com>
	 <370809af-75e6-546a-53e4-71a76444f367@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

Hi Julien,

On Wed, 2023-03-01 at 16:21 +0000, Julien Grall wrote:
> Hi Oleksii,
>=20
> On 01/03/2023 16:14, Oleksii Kurochko wrote:
> > During testing of bug.h's macros generic implementation yocto-
> > qemuarm
> > job crashed with data abort:
>=20
> The commit message is lacking some information. You are telling us
> that=20
> there is an error when building with your series, but this doesn't
> tell=20
> me why this is the correct fix.
>=20
> This is also why I asked to have the xen binary because I want to
> check=20
> whether this was a latent bug in Xen or your series effectively=20
> introduce a bug.
>=20
> Note that regardless what I just wrote this is a good idea to align=20
> __proc_info_start. I will try to have a closer look later and propose
> a=20
> commit message and/or any action for your other series.
Regarding binaries please take a look here:
https://lore.kernel.org/xen-devel/aa2862eacccfb0574859bf4cda8f4992baa5d2e1.=
camel@gmail.com/

I am not sure if you get my answer as I had the message from delivery
server that it was blocked for some reason.


~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 16:45:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 16:45:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504172.776744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXPaD-0007Et-94; Wed, 01 Mar 2023 16:45:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504172.776744; Wed, 01 Mar 2023 16: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 1pXPaD-0007Em-6D; Wed, 01 Mar 2023 16:45:37 +0000
Received: by outflank-mailman (input) for mailman id 504172;
 Wed, 01 Mar 2023 16: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=ofKM=6Z=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pXPaB-0007Eg-BV
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 16:45:35 +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 7c2067b2-b850-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 17:45:33 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 m14-20020a7bce0e000000b003e00c739ce4so8243435wmc.5
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 08:45: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: 7c2067b2-b850-11ed-96a6-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=MQAKXkGrb8E8NzL+w10fn1tljGDxzJj+8MRo/QNIceM=;
        b=aak7mtAh/IXes0UPMwxIc7YC4+sR6MFUa5Fm5CCDgQE6XRzf1CNi4sxQxEAF7OnHd5
         jICpWd1lb7YVc08QtStvGNd+uhRYksc80QKpskLhMujEc+Z5xZIbYMGrlE1X2eXVvtIM
         VCrekGv9jdENTpIhZdz60VYBD0GGhkt2IwjDbByAwI/c7txWJX76QUdLOj3v935LbnQ9
         xmxDqpes4a1jNwTtwYBTPrYNMb26j7loiEwgUyTL9hXGeVFQw3rq+bdfHjlJQSWbNUXi
         2lqmqZXB+mb67ZV0De081UwdoA7cd/GLeTgplmHlb9MipbXoOOPJmDCjDDa4HvdDRghT
         ZidQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=MQAKXkGrb8E8NzL+w10fn1tljGDxzJj+8MRo/QNIceM=;
        b=XVR3xVchd/oA4W4ahBGFnft1o7pWP17aoB5sbJXgYoCwOINCGyr2tM+iwwugvqrgkg
         ZADQZsuep0rfwXcmQPANC84ycOH9xeB0SIBHfzBeHWhfeSc9g+H+rZkyca7H3cdjSs5T
         Hkv5BYa9O7JDEBj55EgpWmgn1vsSBBS9SEdLsfkvTvwcBF6y2QQSNUxok5jYUgKNzdIT
         PiRdKpcreFD943ts2ncpNN5i63rbqvgslfPvamkGRUgKCDCOuB1ZfKq0tHSz2Xh/bo5m
         HKXs7uUlwioXAJ2/1kaXTxni9Jm5tNrN5tV8Hbe43raCN8qXAP7uB9Dj2IWd1b/n/h7L
         pSgQ==
X-Gm-Message-State: AO0yUKUDJzNTwguN0yez7LV+Oc0WHG5MhaJaINQ9Lk2O3YpQ0bpI2SYt
	FO5twgM5GzB8Jz2+bmSgj4HCtUBRops8kGOWrtsUdA==
X-Google-Smtp-Source: AK7set+HcmjSn9wHn7ruFx7xlaQgLJXQJguUqCkeG8mzVkzUp+Ug/moGqn8SwcHCS+4QHbY57474gsf+Zx8GwzWJrIY=
X-Received: by 2002:a05:600c:444c:b0:3df:d8c9:caa7 with SMTP id
 v12-20020a05600c444c00b003dfd8c9caa7mr2022383wmn.4.1677689133387; Wed, 01 Mar
 2023 08:45:33 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <cfd9ae67bdf24bee796b418937dd1486018fd188.1677079672.git.jens.wiklander@linaro.org>
 <3DE2B127-8820-400A-86FC-3A38F40CADFD@arm.com> <CAHUa44EjD7mSE0DZShoRh9PAPVPWXL0gXUpi69s-2ktaMMSa8A@mail.gmail.com>
 <8D294745-AE0E-41B7-9B42-7C463AC77F93@arm.com>
In-Reply-To: <8D294745-AE0E-41B7-9B42-7C463AC77F93@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 1 Mar 2023 17:45:22 +0100
Message-ID: <CAHUa44E45G7jh+LgFdF8EZ7E68MCjmXUyNK=z3QrW+Rx_hAwAA@mail.gmail.com>
Subject: Re: [XEN PATCH v7 12/20] xen/arm: ffa: send guest events to Secure Partitions
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"

Hi,

On Wed, Mar 1, 2023 at 1:58 PM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 1 Mar 2023, at 11:16, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> >
> > Hi Bertrand,
> >
> > On Tue, Feb 28, 2023 at 5:49 PM Bertrand Marquis
> > <Bertrand.Marquis@arm.com> wrote:
> >>
> >> Hi Jens,
> >>
> >>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrote:
> >>>
> >>> The FF-A specification defines framework messages sent as direct
> >>> requests when certain events occurs. For instance when a VM (guest) is
> >>> created or destroyed. Only SPs which have subscribed to these events
> >>> will receive them. An SP can subscribe to these messages in its
> >>> partition properties.
> >>>
> >>> Adds a check that the SP supports the needed FF-A features
> >>> FFA_PARTITION_INFO_GET and FFA_RX_RELEASE.
> >>>
> >>> The partition properties of each SP is retrieved with
> >>> FFA_PARTITION_INFO_GET which returns the information in our RX buffer.
> >>> Using FFA_PARTITION_INFO_GET changes the owner of the RX buffer to the
> >>> caller (us), so once we're done with the buffer it must be released
> >>> using FFA_RX_RELEASE before another call can be made.
> >>>
> >>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> >>> ---
> >>> xen/arch/arm/tee/ffa.c | 191 ++++++++++++++++++++++++++++++++++++++++-
> >>> 1 file changed, 190 insertions(+), 1 deletion(-)
> >>>
> >>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> >>> index 07dd5c36d54b..f1b014b6c7f4 100644
> >>> --- a/xen/arch/arm/tee/ffa.c
> >>> +++ b/xen/arch/arm/tee/ffa.c
> >>> @@ -140,6 +140,14 @@
> >>> #define FFA_MSG_SEND                    0x8400006EU
> >>> #define FFA_MSG_POLL                    0x8400006AU
> >>>
> >>> +/* Partition information descriptor */
> >>> +struct ffa_partition_info_1_1 {
> >>> +    uint16_t id;
> >>> +    uint16_t execution_context;
> >>> +    uint32_t partition_properties;
> >>> +    uint8_t uuid[16];
> >>> +};
> >>> +
> >>> struct ffa_ctx {
> >>>    uint32_t guest_vers;
> >>>    bool interrupted;
> >>> @@ -148,6 +156,12 @@ struct ffa_ctx {
> >>> /* Negotiated FF-A version to use with the SPMC */
> >>> static uint32_t ffa_version __ro_after_init;
> >>>
> >>> +/* SPs subscribing to VM_CREATE and VM_DESTROYED events */
> >>> +static uint16_t *subscr_vm_created __read_mostly;
> >>> +static unsigned int subscr_vm_created_count __read_mostly;
> >>
> >> In the spec the number is returned in w2 so you should utse uint32_t here.
> >
> > I don't understand. This value is increased for each SP which has the
> > property set in the Partition information descriptor.
>
> Using generic types should be prevented when possible.

I'm usually of the opposite opinion, fixed width integers should only
be used when there's a good reason to do so. However, if this is the
Xen philosophy I can replace all those unsigned int with uint32_t if
that's preferable.

> Here this is a subset of the number of partition which is uint32_t (wX reg) so
> i think this would be the logical type for this.

The maximum number is actually UINT16_MAX so an observant reader might
wonder why the uint32_t type was used here.

>
> >
> >>
> >>> +static uint16_t *subscr_vm_destroyed __read_mostly;
> >>> +static unsigned int subscr_vm_destroyed_count __read_mostly;
> >>
> >> Same here
> >>
> >>> +
> >>> /*
> >>> * Our rx/tx buffers shared with the SPMC.
> >>> *
> >>> @@ -237,6 +251,72 @@ static int32_t ffa_rxtx_map(register_t tx_addr, register_t rx_addr,
> >>>    return ffa_simple_call(fid, tx_addr, rx_addr, page_count, 0);
> >>> }
> >>>
> >>> +static int32_t ffa_partition_info_get(uint32_t w1, uint32_t w2, uint32_t w3,
> >>> +                                      uint32_t w4, uint32_t w5,
> >>> +                                      uint32_t *count)
> >>> +{
> >>> +    const struct arm_smccc_1_2_regs arg = {
> >>> +        .a0 = FFA_PARTITION_INFO_GET,
> >>> +        .a1 = w1,
> >>> +        .a2 = w2,
> >>> +        .a3 = w3,
> >>> +        .a4 = w4,
> >>> +        .a5 = w5,
> >>> +    };
> >>> +    struct arm_smccc_1_2_regs resp;
> >>> +    uint32_t ret;
> >>> +
> >>> +    arm_smccc_1_2_smc(&arg, &resp);
> >>> +
> >>> +    ret = get_ffa_ret_code(&resp);
> >>> +    if ( !ret )
> >>> +        *count = resp.a2;
> >>> +
> >>> +    return ret;
> >>> +}
> >>> +
> >>> +static int32_t ffa_rx_release(void)
> >>> +{
> >>> +    return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
> >>> +}
> >>> +
> >>> +static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
> >>> +                                      uint8_t msg)
> >>
> >> This function is actually only useable to send framework created/destroyed
> >> messages so the function name should be adapted to be less generic.
> >>
> >> ffa_send_vm_events ?
> >>
> >> unless you want to modify it later to send more framework messages ?
> >
> > That was the plan, but that may never happen. I'll rename it to
> > ffa_send_vm_event() since we're only sending one event at a time.
> >
> >>
> >>> +{
> >>> +    uint32_t exp_resp = FFA_MSG_FLAG_FRAMEWORK;
> >>> +    int32_t res;
> >>> +
> >>> +    if ( msg == FFA_MSG_SEND_VM_CREATED )
> >>> +        exp_resp |= FFA_MSG_RESP_VM_CREATED;
> >>> +    else if ( msg == FFA_MSG_SEND_VM_DESTROYED )
> >>> +        exp_resp |= FFA_MSG_RESP_VM_DESTROYED;
> >>> +    else
> >>> +        return FFA_RET_INVALID_PARAMETERS;
> >>> +
> >>> +    do {
> >>> +        const struct arm_smccc_1_2_regs arg = {
> >>> +            .a0 = FFA_MSG_SEND_DIRECT_REQ_32,
> >>> +            .a1 = sp_id,
> >>> +            .a2 = FFA_MSG_FLAG_FRAMEWORK | msg,
> >>> +            .a5 = vm_id,
> >>> +        };
> >>> +        struct arm_smccc_1_2_regs resp;
> >>> +
> >>> +        arm_smccc_1_2_smc(&arg, &resp);
> >>> +        if ( resp.a0 != FFA_MSG_SEND_DIRECT_RESP_32 || resp.a2 != exp_resp )
> >>> +        {
> >>> +            /*
> >>> +             * This is an invalid response, likely due to some error in the
> >>> +             * implementation of the ABI.
> >>> +             */
> >>> +            return FFA_RET_INVALID_PARAMETERS;
> >>> +        }
> >>> +        res = resp.a3;
> >>> +    } while ( res == FFA_RET_INTERRUPTED || res == FFA_RET_RETRY );
> >>
> >> We might end up in an infinite loop here or increase interrupt response time.
> >> In the general case we could return that code directly to the VM but here we
> >> are in the VM creation/destroy path so we cannot do that.
> >>
> >> Maybe in debug mode at least we should have a retry counter here for now
> >> with a print ?
> >
> > OK, I'll add something.
> >
> >>
> >>> +
> >>> +    return res;
> >>> +}
> >>> +
> >>> static uint16_t get_vm_id(const struct domain *d)
> >>> {
> >>>    /* +1 since 0 is reserved for the hypervisor in FF-A */
> >>> @@ -371,6 +451,10 @@ static bool ffa_handle_call(struct cpu_user_regs *regs)
> >>> static int ffa_domain_init(struct domain *d)
> >>> {
> >>>    struct ffa_ctx *ctx;
> >>> +    unsigned int n;
> >>> +    unsigned int m;
> >>> +    unsigned int c_pos;
> >>> +    int32_t res;
> >>>
> >>>     /*
> >>>      * We can't use that last possible domain ID or get_vm_id() would cause
> >>> @@ -383,24 +467,121 @@ static int ffa_domain_init(struct domain *d)
> >>>    if ( !ctx )
> >>>        return -ENOMEM;
> >>>
> >>> +    for ( n = 0; n < subscr_vm_created_count; n++ )
> >>> +    {
> >>> +        res = ffa_direct_req_send_vm(subscr_vm_created[n], get_vm_id(d),
> >>> +                                     FFA_MSG_SEND_VM_CREATED);
> >>> +        if ( res )
> >>> +        {
> >>> +            printk(XENLOG_ERR "ffa: Failed to report creation of vm_id %u to  %u: res %d\n",
> >>> +                   get_vm_id(d), subscr_vm_created[n], res);
> >>
> >> in this function, get_vm_id(d) will not change so i would suggest to store it in a local variable
> >> instead of calling get_vm_id each time.
> >
> > OK
> >
> >>
> >>> +            c_pos = n;
> >>> +            goto err;
> >>> +        }
> >>> +    }
> >>> +
> >>>    d->arch.tee = ctx;
> >>>
> >>>    return 0;
> >>> +
> >>> +err:
> >>> +    /* Undo any already sent vm created messaged */
> >>> +    for ( n = 0; n < c_pos; n++ )
> >>> +        for ( m = 0; m < subscr_vm_destroyed_count; m++ )
> >>> +            if ( subscr_vm_destroyed[m] == subscr_vm_created[n] )
> >>> +                ffa_direct_req_send_vm(subscr_vm_destroyed[n], get_vm_id(d),
> >>> +                                       FFA_MSG_SEND_VM_DESTROYED);
> >>> +
> >>> +    return -ENOMEM;
> >>
> >> The VM creation is not failing due to missing memory here.
> >> We need to find a better error code.
> >> Maybe ENOTCONN ?
> >> I am open to ideas here :-)
> >
> > That makes sense, I'll change it to ENOTCONN.
> >
> >>
> >>> }
> >>>
> >>> /* This function is supposed to undo what ffa_domain_init() has done */
> >>> static int ffa_relinquish_resources(struct domain *d)
> >>> {
> >>>    struct ffa_ctx *ctx = d->arch.tee;
> >>> +    unsigned int n;
> >>> +    int32_t res;
> >>>
> >>>    if ( !ctx )
> >>>        return 0;
> >>>
> >>> +    for ( n = 0; n < subscr_vm_destroyed_count; n++ )
> >>> +    {
> >>> +        res = ffa_direct_req_send_vm(subscr_vm_destroyed[n], get_vm_id(d),
> >>> +                                     FFA_MSG_SEND_VM_DESTROYED);
> >>> +
> >>> +        if ( res )
> >>> +            printk(XENLOG_ERR "ffa: Failed to report destruction of vm_id %u to  %u: res %d\n",
> >>> +                   get_vm_id(d), subscr_vm_destroyed[n], res);
> >>> +    }
> >>> +
> >>>    XFREE(d->arch.tee);
> >>>
> >>>    return 0;
> >>> }
> >>>
> >>> +static bool init_subscribers(void)
> >>> +{
> >>> +    struct ffa_partition_info_1_1 *fpi;
> >>> +    bool ret = false;
> >>> +    uint32_t count;
> >>> +    int e;
> >>> +    uint32_t n;
> >>> +    uint32_t c_pos;
> >>> +    uint32_t d_pos;
> >>> +
> >>> +    if ( ffa_version < FFA_VERSION_1_1 )
> >>> +        return true;
> >>
> >> Correct me if i am wrong but on 1.0 version we cannot retrieve the count but
> >> we could do the slow path and do a first loop on info_get until we get an error ?
> >
> > Sending the events is not supported in 1.0 so there's nothing to
> > record in that case.
>
> Please add a comment here to say that subscribers are only supported after 1.1
> and also mention it in the commit message.

OK.

Thanks,
Jens


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 17:29:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 17:29:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504185.776754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXQGq-00051V-I4; Wed, 01 Mar 2023 17:29:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504185.776754; Wed, 01 Mar 2023 17:29: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 1pXQGq-00051O-F8; Wed, 01 Mar 2023 17:29:40 +0000
Received: by outflank-mailman (input) for mailman id 504185;
 Wed, 01 Mar 2023 17:29: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=oYBP=6Z=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1pXQGo-00051I-2b
 for xen-devel@lists.xen.org; Wed, 01 Mar 2023 17:29:38 +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 a0a688ae-b856-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 18:29:33 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-549-AmWt6nP_Mm2y_Io2Gr2Kzw-1; Wed, 01 Mar 2023 12:29:29 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 8DA843C18346;
 Wed,  1 Mar 2023 17:29:28 +0000 (UTC)
Received: from localhost (unknown [10.39.192.234])
 by smtp.corp.redhat.com (Postfix) with ESMTP id BAFD0492C14;
 Wed,  1 Mar 2023 17:29: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: a0a688ae-b856-11ed-96a6-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677691771;
	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=GNUtwYSzrma9QPDi9kyv0SaiYSEO9P+i9joIVnBked8=;
	b=DW9OztKZh+W3ovLp86zzNTEJWa4C0m4F7cfUfPs+7MuAjUG8b7GRj9Ug7FynI/VG8Tv5NL
	gE5DrDsFgswM1PJ2z50VejJuPI6sguSom3PNZt4dAYbgR5kTnnYhH9176Ew1h1tfN1uXK+
	BBYw3HGqYsszISxY0LD57FW/PWR3894=
X-MC-Unique: AmWt6nP_Mm2y_Io2Gr2Kzw-1
Date: Wed, 1 Mar 2023 12:29:25 -0500
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>
Cc: Viresh Kumar <viresh.kumar@linaro.org>, qemu-devel@nongnu.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	virtio-dev@lists.oasis-open.org
Subject: Re: [virtio-dev] [RFC QEMU] docs: vhost-user: Add custom memory
 mapping support
Message-ID: <Y/+LdfF0rL3wEqfd@fedora>
References: <Y/9zkDAS4odz93GM@fedora>
 <877cw0ctpr.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="ji5TbNtGJsInl60F"
Content-Disposition: inline
In-Reply-To: <877cw0ctpr.fsf@linaro.org>
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9


--ji5TbNtGJsInl60F
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 01, 2023 at 04:31:41PM +0000, Alex Benn=E9e wrote:
>=20
> Stefan Hajnoczi <stefanha@redhat.com> writes:
>=20
> > [[PGP Signed Part:Undecided]]
> > Resend - for some reason my email didn't make it out.
> >
> > From: Stefan Hajnoczi <stefanha@redhat.com>
> > Subject: Re: [virtio-dev] [RFC QEMU] docs: vhost-user: Add custom memory
> >  mapping support
> > To: Viresh Kumar <viresh.kumar@linaro.org>
> > Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org, "Michael S.
> >  Tsirkin" <mst@redhat.com>, Vincent Guittot <vincent.guittot@linaro.org=
>,
> >  Alex Benn=E9e <alex.bennee@linaro.org>,
> > 	stratos-dev@op-lists.linaro.org, Oleksandr Tyshchenko
> >  <olekstysh@gmail.com>, xen-devel@lists.xen.org, Andrew Cooper
> >  <andrew.cooper3@citrix.com>, Juergen Gross <jgross@suse.com>, Sebastien
> >  Boeuf
> > 	<sebastien.boeuf@intel.com>, Liu Jiang <gerry@linux.alibaba.com>, Math=
ieu
> >  Poirier <mathieu.poirier@linaro.org>
> > Date: Tue, 21 Feb 2023 10:17:01 -0500 (1 week, 1 day, 1 hour ago)
> > Flags: seen, signed, personal
> >
> > On Tue, Feb 21, 2023 at 03:20:41PM +0530, Viresh Kumar wrote:
> >> The current model of memory mapping at the back-end works fine with
> >> Qemu, where a standard call to mmap() for the respective file
> >> descriptor, passed from front-end, is generally all we need to do befo=
re
> >> the front-end can start accessing the guest memory.
> >>=20
> >> There are other complex cases though, where we need more information at
> >> the backend and need to do more than just an mmap() call. For example,
> >> Xen, a type-1 hypervisor, currently supports memory mapping via two
> >> different methods, foreign-mapping (via /dev/privcmd) and grant-dev (v=
ia
> >> /dev/gntdev). In both these cases, the back-end needs to call mmap()
> >> followed by an ioctl() (or vice-versa), and need to pass extra
> >> information via the ioctl(), like the Xen domain-id of the guest whose
> >> memory we are trying to map.
> >>=20
> >> Add a new protocol feature, 'VHOST_USER_PROTOCOL_F_CUSTOM_MMAP', which
> >> lets the back-end know about the additional memory mapping requirement=
s.
> >> When this feature is negotiated, the front-end can send the
> >> 'VHOST_USER_CUSTOM_MMAP' message type to provide the additional
> >> information to the back-end.
> >>=20
> >> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> >> ---
> >>  docs/interop/vhost-user.rst | 32 ++++++++++++++++++++++++++++++++
> >>  1 file changed, 32 insertions(+)
> >
> > The alternative to an in-band approach is to configure these details
> > out-of-band. For example, via command-line options to the vhost-user
> > back-end:
> >
> >   $ my-xen-device --mapping-type=3Dforeign-mapping --domain-id=3D123
> >
> > I was thinking about both approaches and don't see an obvious reason to
> > choose one or the other. What do you think?
>=20
> In-band has the nice property of being dynamic and not having to have
> some other thing construct command lines. We are also trying to keep the
> daemons from being Xen specific and keep the type of mmap as an
> implementation detail that is mostly elided by the rust-vmm memory
> traits.

Okay.

> >
> >> diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst
> >> index 3f18ab424eb0..f2b1d705593a 100644
> >> --- a/docs/interop/vhost-user.rst
> >> +++ b/docs/interop/vhost-user.rst
> >> @@ -258,6 +258,23 @@ Inflight description
> >> =20
> >>  :queue size: a 16-bit size of virtqueues
> >> =20
> >> +Custom mmap description
> >> +^^^^^^^^^^^^^^^^^^^^^^^
> >> +
> >> ++-------+-------+
> >> +| flags | value |
> >> ++-------+-------+
> >> +
> >> +:flags: 64-bit bit field
> >> +
> >> +- Bit 0 is Xen foreign memory access flag - needs Xen foreign memory =
mapping.
> >> +- Bit 1 is Xen grant memory access flag - needs Xen grant memory mapp=
ing.
> >> +
> >> +:value: a 64-bit hypervisor specific value.
> >> +
> >> +- For Xen foreign or grant memory access, this is set with guest's xe=
n domain
> >> +  id.
> >
> > This is highly Xen-specific. How about naming the feature XEN_MMAP
> > instead of CUSTOM_MMAP? If someone needs to add other mmap data later,
> > they should define their own struct instead of trying to squeeze into
> > the same fields as Xen.
>=20
> We hope to support additional mmap mechanisms in the future - one
> proposal is to use the hypervisor specific interface to support an
> ioctl() that creates a domain specific device which can then be treated
> more generically.
>=20
> Could we not declare the message as flag + n bytes of domain specific
> message as defined my msglen?

What is the advantage over defining separate messages? Separate messages
are cleaner and more typesafe.

> > There is an assumption in this design that a single
> > VHOST_USER_CUSTOM_MMAP message provides the information necessary for
> > all mmaps. Are you sure the limitation that every mmap belongs to the
> > same domain will be workable in the future?
>=20
> Like a daemon servicing multiple VMs? Won't those still be separate
> vhost-user control channels though?

I don't have a concrete example, but was thinking of a guest that shares
memory with other guests (like the experimental virtio-vhost-user
device). Maybe there would be a scenario where some memory belongs to
one domain and some belongs to another (but has been mapped into the
first domain), and the vhost-user back-end needs to access both.

The other thing that comes to mind is that the spec must clearly state
which mmaps are affected by the Xen domain information. For example,
just mem table memory regions and not the
VHOST_USER_PROTOCOL_F_LOG_SHMFD feature?

> >
> >> +
> >>  C structure
> >>  -----------
> >> =20
> >> @@ -867,6 +884,7 @@ Protocol features
> >>    #define VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS 14
> >>    #define VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS  15
> >>    #define VHOST_USER_PROTOCOL_F_STATUS               16
> >> +  #define VHOST_USER_PROTOCOL_F_CUSTOM_MMAP          17
> >> =20
> >>  Front-end message types
> >>  -----------------------
> >> @@ -1422,6 +1440,20 @@ Front-end message types
> >>    query the back-end for its device status as defined in the Virtio
> >>    specification.
> >> =20
> >> +``VHOST_USER_CUSTOM_MMAP``
> >
> > Most vhost-user protocol messages have a verb like
> > get/set/close/add/listen/etc. I suggest renaming this to
> > VHOST_USER_SET_XEN_MMAP_INFO.
>=20
> VHOST_USER_CONFIG_MMAP_QUIRKS?
>=20
> VHOST_USER_CONFIG_MMAP_TYPE?

SET is the verb that's often used when the front-end provides
configuration parameters to the back-end (e.g.
VHOST_USER_SET_MEM_TABLE, VHOST_USER_SET_FEATURES, etc).

Stefan

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

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmP/i3UACgkQnKSrs4Gr
c8g0qgf/aroAfmrv1TKO2MYdPTHh2fwqteXAzCt8TAYg0U3/xHgLY/ao9VPUDPKu
ZJkCQ/HBUSZnHbh8XkXwbq6D7vIyXBi6SYbQ59aLIPojafvrXUaKPgPD/4pr0Qut
bToML/9vzfGInhDDB2b6appsFUVpx2MIJf9mWDhsxeL9TeMcbiy+zefjizBejGAL
OM0aRjnxrG8pB4DIXlLM+K5gNm1hvuE/8SR0gEFQQ8KLmu4HpkTTCm1/hLvrfXRL
uCCAOg6CKfUfxJcxIywC4TgsJ6b3/7r8O3wwItcmvPCup8mc5dnz7c9W9JqkOU/i
MrmqUcDNOLz9nOqJfGufULCLFLawRA==
=OtkO
-----END PGP SIGNATURE-----

--ji5TbNtGJsInl60F--



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 17:50:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 17:50:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504194.776764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXQbC-0000eT-Bi; Wed, 01 Mar 2023 17:50:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504194.776764; Wed, 01 Mar 2023 17:50: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 1pXQbC-0000eM-8E; Wed, 01 Mar 2023 17:50:42 +0000
Received: by outflank-mailman (input) for mailman id 504194;
 Wed, 01 Mar 2023 17:50: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 1pXQbB-0000eG-63
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 17:50: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 1pXQbA-0005vT-SK; Wed, 01 Mar 2023 17:50:40 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.13.48]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pXQbA-0007WO-LS; Wed, 01 Mar 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>
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=bcLb4hgg1o65NiqwBKltTUZ7bhkjOTLRFf8DYil+nIE=; b=dMhfGd4ya+mL/VHD7zYED3C6A2
	CYS2kYNb112grfEcqVnJPsVKae+uTJ0Hn8jESucBjHKWp1LXXGP9h7MC4EuVh1lYf6ZdqiE4eWC/s
	jthJz8D8Ntm8RaPMc7jiRkoWeLwgXYmgPfxL8bSAduMQYjHS19X6kfoOwogQbQqpcsso=;
Message-ID: <cf15b113-ac6f-e115-6c38-38b25a265934@xen.org>
Date: Wed, 1 Mar 2023 17:50:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/arm: align *(.proc.info) in the linker script
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com>
 <370809af-75e6-546a-53e4-71a76444f367@xen.org>
 <a9c2638cd8620d74ec719845132ef65f08b4c934.camel@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <a9c2638cd8620d74ec719845132ef65f08b4c934.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 01/03/2023 16:38, Oleksii wrote:
> Hi Julien,

Hi,

> On Wed, 2023-03-01 at 16:21 +0000, Julien Grall wrote:
>> Hi Oleksii,
>>
>> On 01/03/2023 16:14, Oleksii Kurochko wrote:
>>> During testing of bug.h's macros generic implementation yocto-
>>> qemuarm
>>> job crashed with data abort:
>>
>> The commit message is lacking some information. You are telling us
>> that
>> there is an error when building with your series, but this doesn't
>> tell
>> me why this is the correct fix.
>>
>> This is also why I asked to have the xen binary because I want to
>> check
>> whether this was a latent bug in Xen or your series effectively
>> introduce a bug.
>>
>> Note that regardless what I just wrote this is a good idea to align
>> __proc_info_start. I will try to have a closer look later and propose
>> a
>> commit message and/or any action for your other series.
> Regarding binaries please take a look here:
> https://lore.kernel.org/xen-devel/aa2862eacccfb0574859bf4cda8f4992baa5d2e1.camel@gmail.com/
> 
> I am not sure if you get my answer as I had the message from delivery
> server that it was blocked for some reason.

I got the answer. The problem now is gitlab only keep the artifact for 
the latest build and it only provide a zImage (having the ELF would be 
easier).

I will try to reproduce the error on my end.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 17:55:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 17:55:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504200.776774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXQfc-0001Gs-TQ; Wed, 01 Mar 2023 17:55:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504200.776774; Wed, 01 Mar 2023 17: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 1pXQfc-0001Gl-Qs; Wed, 01 Mar 2023 17:55:16 +0000
Received: by outflank-mailman (input) for mailman id 504200;
 Wed, 01 Mar 2023 17:55: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 1pXQfb-0001Gb-25; Wed, 01 Mar 2023 17:55: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 1pXQfb-00061x-1G; Wed, 01 Mar 2023 17:55: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 1pXQfa-0001rw-Pz; Wed, 01 Mar 2023 17:55:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXQfa-00021W-PT; Wed, 01 Mar 2023 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+QF09Olj3OHB6VEtLHZn7VMUy/kRmivcm+58qTTgUPA=; b=4y8XM89mZ+6JrowkcVfjqksqjN
	iyORWiu/P7dtKhvNH9plji9YXDn1OnLHn2jR0y3Q0MmJe0QUtDhVYYJpeMO2kAR07L7kbEZM2vUpE
	9wCryF+QJcc9mmVV7cp3NYRmkKrr8oPOKFYv5HEdrQAVVTg577LxVcuw8Jw9rh3wHrW0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178885-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 178885: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=f80f052277c88a67c55e107b550f504eeea947d3
X-Osstest-Versions-That:
    ovmf=1eeca0750af5af2f0e78437bf791ac2de74bde74
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Mar 2023 17:55:14 +0000

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

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

Last test of basis   178254  2023-02-23 15:11:10 Z    6 days
Testing same since   178885  2023-03-01 15:12:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrei Warkentin <andrei.warkentin@intel.com>
  Sunil V L <sunilvl@ventanamicro.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
   1eeca0750a..f80f052277  f80f052277c88a67c55e107b550f504eeea947d3 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 18:02:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 18:02:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504209.776784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXQmA-00039V-Lk; Wed, 01 Mar 2023 18:02:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504209.776784; Wed, 01 Mar 2023 18: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 1pXQmA-00039O-J0; Wed, 01 Mar 2023 18:02:02 +0000
Received: by outflank-mailman (input) for mailman id 504209;
 Wed, 01 Mar 2023 18:02: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=1hj9=6Z=tibco.com=sdyasli@srs-se1.protection.inumbo.net>)
 id 1pXQm9-00039I-7v
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 18:02:01 +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 2872a86e-b85b-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 19:01:58 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id ck15so57571050edb.0
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 10: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: 2872a86e-b85b-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1677693717;
        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=HFZAC/KwSknetZaccQZZmpgZB+/3G+xJAs5HA6Dklxg=;
        b=R5/G8sUNJd0UOBKqqRJk9CqpeKAK+Hkad1bvRAzFvA6gzpX+fa6qmnPpqqiM+He0Xc
         8bG4oNDszOFruTrUMAqNb56eVWzniU6xMMkvoYlMsazDOR+ybTyHoANd8YD3p17atWCI
         WREdelnRpRx9oRRc+nU6+5K0ZdLf2PPYpU0WQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677693717;
        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=HFZAC/KwSknetZaccQZZmpgZB+/3G+xJAs5HA6Dklxg=;
        b=43C/sZ05ruGwB3w3Jwqtb3YXKVdDPliV6si9SxqCYQL1OPWImkPBzOaye90WjOKbjC
         foRuFY/tVSltauG1tvIyA83knCuNpAgbWj1/C3a9xh3wrZgskP4jiam8CnAgjb5eTKYU
         SqgQikd/J4P+MJi9dmJPuwC+KagBMLmaBp2ofScJ64vQKuaLVEIUMcUyHDiHKLpe8i0F
         TuieUA56Z6qq3mhEclmxS+H1wELUry0HqL5Fkal7aiEEIWkrcqY9XCiy33mau5r/MNvJ
         QIw/KENZl6DLMNTXCzbVhAr9h4hlODJpmauUtMOrRUSsbH86DEutPdYYVnto57/jCv6G
         OQlw==
X-Gm-Message-State: AO0yUKUNxpPNal3hZlNNMaeCGbbKJhdGlGmASP17ZId7Tly14Ue1jtzN
	r4FvYrhUth2dIH4HCymv/UI7LrwDFAuMZ1kgGODBPQ==
X-Google-Smtp-Source: AK7set+sLlv5kKyK6J2IRdVNpzIgY9mihhl4L5o1m+A9GbTSRaeNk/PaAL/pWUanLeLSZShs6Rb8Q5OjSl0ECv7iEGQ=
X-Received: by 2002:a17:906:b043:b0:878:8103:985 with SMTP id
 bj3-20020a170906b04300b0087881030985mr3708856ejb.10.1677693717455; Wed, 01
 Mar 2023 10:01:57 -0800 (PST)
MIME-Version: 1.0
References: <20230228173932.28510-1-sergey.dyasli@citrix.com>
 <20230228173932.28510-4-sergey.dyasli@citrix.com> <4fee8e81-79d3-eafc-b806-ea061216e072@suse.com>
In-Reply-To: <4fee8e81-79d3-eafc-b806-ea061216e072@suse.com>
From: Sergey Dyasli <sergey.dyasli@cloud.com>
Date: Wed, 1 Mar 2023 18:01:46 +0000
Message-ID: <CAPRVcufSx6PTGKaycZBj2j-92zRYnHqx=8YPH5EOnWf9ujwAaA@mail.gmail.com>
Subject: Re: [PATCH v2 3/3] tools/xen-ucode: print information about currently
 loaded ucode
To: Jan Beulich <jbeulich@suse.com>
Cc: Sergey Dyasli <sergey.dyasli@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>, 
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, 
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 1, 2023 at 11:31=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 28.02.2023 18:39, Sergey Dyasli wrote:
> > Add an option to xen-ucode tool to print the currently loaded ucode
> > version and also print it during usage info.  Print CPU signature and
> > processor flags as well.  The raw data comes from cpuinfo directory in
> > xenhypfs and from XENPF_get_cpu_version platform op.
>
> While I don't mind the use of the platform-op, I'm little puzzled by the
> mix. If CPU information is to be exposed in hypfs, can't we expose there
> everything that's needed here?
>
> Then again, perhaps in a different context, Andrew pointed out that hypfs
> is an optional component, so relying on its presence in the underlying
> hypervisor will need weighing against the alternative of adding a new
> platform-op for the ucode-related data (as you had it in v1). Since I'm
> unaware of a request to switch, are there specific reasons you did?

Ideal situation would be microcode information in Dom0's /proc/cpuinfo
updated after late load, since that file already has most of the
information about the cpu. And the closest thing to /proc is xenhypfs.
It allows the user to query information directly, e.g.

    # xenhypfs cat /cpuinfo/microcode-revision
    33554509

Which could be used manually or in scripts, instead of relying on
xen-ucode utility. Though printing the value in hex would be nicer.
That was my motivation to go hypfs route. In general it feels like cpu
information is a good fit for hypfs, but agreement on its format and
exposed values is needed.
I can always switch back to a platform op if that would be the preference.

> > --- a/tools/misc/xen-ucode.c
> > +++ b/tools/misc/xen-ucode.c
> > @@ -11,6 +11,96 @@
> >  #include <sys/stat.h>
> >  #include <fcntl.h>
> >  #include <xenctrl.h>
> > +#include <xenhypfs.h>
> > +
> > +static const char intel_id[] =3D "GenuineIntel";
> > +static const char   amd_id[] =3D "AuthenticAMD";
> > +
> > +static const char sig_path[] =3D "/cpuinfo/cpu-signature";
> > +static const char rev_path[] =3D "/cpuinfo/microcode-revision";
> > +static const char  pf_path[] =3D "/cpuinfo/processor-flags";
>
> Together with the use below I conclude (without having looked at patch 1
> yet) that you only expose perhaps the BSP's data, rather than such for
> all CPUs. (And I was actually going to put up the question whether data
> like the one presented here might not also be of interest for parked
> CPUs.)

Yes, that comes from the BSP. Xen must make sure that all CPUs have
the same ucode revision for the system to work correctly.

Sergey


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 20:38:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 20:38:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504219.776793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXTDI-00075J-K7; Wed, 01 Mar 2023 20:38:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504219.776793; Wed, 01 Mar 2023 20:38:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXTDI-00075C-HE; Wed, 01 Mar 2023 20:38:12 +0000
Received: by outflank-mailman (input) for mailman id 504219;
 Wed, 01 Mar 2023 20:38:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1pXTDH-000754-7k
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 20:38:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pXTDG-0001Uy-Rd; Wed, 01 Mar 2023 20:38:10 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.13.48]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pXTDG-0006FV-JQ; Wed, 01 Mar 2023 20:38: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:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=kEqiaQHPHTouf1PzTTabpKlK3NMrAZvhCLtaVk/z3tg=; b=yFPxJP2S2fWB0WsagDvaZUMhh2
	ABx/MuVlOY2OjFuUO3kHeMYzFmyUJlOSLyr7HYYvnzyTTaDngkOqu4X/tnYlJTASwLHFDLOfIbnX8
	S0mB0edQyOqReq0+xSl+IbDQNEYaRbCY/c3Dchh8ah4y6vzxANa7LijQyGhjbkdNnNSk=;
Message-ID: <f2f6544a-a59e-2e10-0b8f-080f91708459@xen.org>
Date: Wed, 1 Mar 2023 20:38:08 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/arm: align *(.proc.info) in the linker script
Content-Language: en-US
From: Julien Grall <julien@xen.org>
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com>
 <370809af-75e6-546a-53e4-71a76444f367@xen.org>
 <a9c2638cd8620d74ec719845132ef65f08b4c934.camel@gmail.com>
 <cf15b113-ac6f-e115-6c38-38b25a265934@xen.org>
In-Reply-To: <cf15b113-ac6f-e115-6c38-38b25a265934@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 01/03/2023 17:50, Julien Grall wrote:
> 
> 
> On 01/03/2023 16:38, Oleksii wrote:
>> Hi Julien,
> 
> Hi,
> 
>> On Wed, 2023-03-01 at 16:21 +0000, Julien Grall wrote:
>>> Hi Oleksii,
>>>
>>> On 01/03/2023 16:14, Oleksii Kurochko wrote:
>>>> During testing of bug.h's macros generic implementation yocto-
>>>> qemuarm
>>>> job crashed with data abort:
>>>
>>> The commit message is lacking some information. You are telling us
>>> that
>>> there is an error when building with your series, but this doesn't
>>> tell
>>> me why this is the correct fix.
>>>
>>> This is also why I asked to have the xen binary because I want to
>>> check
>>> whether this was a latent bug in Xen or your series effectively
>>> introduce a bug.
>>>
>>> Note that regardless what I just wrote this is a good idea to align
>>> __proc_info_start. I will try to have a closer look later and propose
>>> a
>>> commit message and/or any action for your other series.
>> Regarding binaries please take a look here:
>> https://lore.kernel.org/xen-devel/aa2862eacccfb0574859bf4cda8f4992baa5d2e1.camel@gmail.com/
>>
>> I am not sure if you get my answer as I had the message from delivery
>> server that it was blocked for some reason.
> 
> I got the answer. The problem now is gitlab only keep the artifact for 
> the latest build and it only provide a zImage (having the ELF would be 
> easier).
> 
> I will try to reproduce the error on my end.

I managed to reproduce it. It looks like that after your bug patch, 
*(.rodata.*) will not be end on a 4-byte boundary. Before your patch, 
all the messages will be in .rodata.str. Now they are in .bug_frames.*, 
so there some difference in .rodata.*.

That said, it is not entirely clear why we never seen the issue before 
because my guessing there are no guarantee that .rodata.* will be 
suitably aligned.

Anyway, here a proposal for the commit message:

"
xen/arm: Ensure the start *(.proc.info) of is 4-byte aligned

The entries in *(.proc.info) are expected to be 4-byte aligned and the 
compiler will access them using 4-byte load instructions. On Arm32, the 
alignment is strictly enforced by the processor and will result to a 
data abort if it is not correct.

However, the linker script doesn't encode this requirement. So we are at 
the mercy of the compiler/linker to have aligned the previous sections 
suitably.

This was spotted when trying to use the upcoming generic bug 
infrastructure with the compiler provided by Yocto.

Link: 
https://lore.kernel.org/xen-devel/6735859208c6dcb7320f89664ae298005f70827b.camel@gmail.com/
"

If you are happy with the proposed commit message, then I can update it 
while committing.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 20:55:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 20:55:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504233.776807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXTTf-0001mh-1S; Wed, 01 Mar 2023 20:55:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504233.776807; Wed, 01 Mar 2023 20: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 1pXTTe-0001ma-V0; Wed, 01 Mar 2023 20:55:06 +0000
Received: by outflank-mailman (input) for mailman id 504233;
 Wed, 01 Mar 2023 20:55:06 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Jk1l=6Z=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1pXTTd-0001mU-Gc
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 20:55:06 +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 5508d990-b873-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 21:55:01 +0100 (CET)
Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com
 [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id
 us-mta-552-JS8yN5r-Nl-OiELMnh61fw-1; Wed, 01 Mar 2023 15:54:58 -0500
Received: by mail-wm1-f72.google.com with SMTP id
 u19-20020a05600c00d300b003eb24ce58ceso4979017wmm.9
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 12:54:58 -0800 (PST)
Received: from redhat.com ([2.52.141.194]) by smtp.gmail.com with ESMTPSA id
 he13-20020a05600c540d00b003e20cf0408esm653765wmb.40.2023.03.01.12.54.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 12:54: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: 5508d990-b873-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677704100;
	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=7G9B166shX+vhykaowA6gwVuWaS3dBy/5A4WhK+fTJc=;
	b=hRpMYjVJGkncO3XmjL3MeoEVg5+Jrod8jW6p440SiqE8l+mGPImXsCXTYJV58OoMsW2JjL
	mLtwND0rS5K2wPeqEDB8DI4LQRZbx0uO1JJPJNCKz1h4Oxw7hj4hDm6cDPXsbOb/H0tzjl
	xegSmKTMsRYTQpH2JdK+XxdUNBRLUh0=
X-MC-Unique: JS8yN5r-Nl-OiELMnh61fw-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677704098;
        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=7G9B166shX+vhykaowA6gwVuWaS3dBy/5A4WhK+fTJc=;
        b=cb8k0nppnLutQA7f4ZS+CqipP29g7+/qRRVBN03EVzPNGQcNXt85hRqWQ/F1Vh1sfP
         1Fo4cBcM2IjAZuj3OS692iFVenDNEABr2/kiIbqkX0aKnd25eSuZhqdaspzQlwqRyUVd
         68NTLBjiWmfb2U75UJINMYwRrFhY0o22rCcsatVUr2au3+hDM4QYQKKCpkwMDz+vu0t/
         WFlTLg1E4XLUVZOs432ED9EoqWxL+fFd0YdHipzrR4fCLZFaT+ZgqF149QeCAQNZHkUp
         REpDyiRGaJMoctd2x/6Yl5qC/za1T1gPfy0Qr3yhP+1L4UZP7qD2Mx6axjc5rsdjtVpP
         nB5A==
X-Gm-Message-State: AO0yUKWb29TDQ2wfupG27QHQWkgpu7zA845tpUW3W61j18KaKpxKcdty
	49cKr1t3E8Q3jl6Y6zku8JS5+PZ2D6G+4WDtYs9eXUKWAuYe+utBHQeoSR4wPGICCFNJkP7GtZN
	Vg4bZ/5rETdqAWWwM/GmaJhL+YKY=
X-Received: by 2002:a05:600c:19d2:b0:3ea:e554:7815 with SMTP id u18-20020a05600c19d200b003eae5547815mr6700858wmq.9.1677704097477;
        Wed, 01 Mar 2023 12:54:57 -0800 (PST)
X-Google-Smtp-Source: AK7set9iUdDur7bFtDAkl5LWDEB8xT4ZZnEkPiqcXdQbyhhTvDJtun98gDcpnHuto/jR4diSYzSgTA==
X-Received: by 2002:a05:600c:19d2:b0:3ea:e554:7815 with SMTP id u18-20020a05600c19d200b003eae5547815mr6700830wmq.9.1677704097017;
        Wed, 01 Mar 2023 12:54:57 -0800 (PST)
Date: Wed, 1 Mar 2023 15:54:49 -0500
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Alexander Bulekov <alxndr@bu.edu>
Cc: qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>,
	Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>,
	Mauro Matteo Cascella <mcascell@redhat.com>,
	Peter Xu <peterx@redhat.com>, Jason Wang <jasowang@redhat.com>,
	David Hildenbrand <david@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>, Thomas Huth <thuth@redhat.com>,
	Laurent Vivier <lvivier@redhat.com>, Bandan Das <bsd@redhat.com>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	Darren Kenny <darren.kenny@oracle.com>,
	Bin Meng <bin.meng@windriver.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Daniel P =?iso-8859-1?Q?=2E_Berrang=E9?= <berrange@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jon Maloy <jmaloy@redhat.com>, Siqi Chen <coc.cyqh@gmail.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>, Amit Shah <amit@kernel.org>,
	=?iso-8859-1?Q?Marc-Andr=E9?= Lureau <marcandre.lureau@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Keith Busch <kbusch@kernel.org>, Klaus Jensen <its@irrelevant.dk>,
	Fam Zheng <fam@euphon.net>,
	Dmitry Fleytman <dmitry.fleytman@gmail.com>,
	"Gonglei (Arei)" <arei.gonglei@huawei.com>,
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
	"open list:virtio-blk" <qemu-block@nongnu.org>,
	"open list:i.MX31 (kzm)" <qemu-arm@nongnu.org>,
	"open list:Old World (g3beige)" <qemu-ppc@nongnu.org>
Subject: Re: [PATCH v6 4/4] hw: replace most qemu_bh_new calls with
 qemu_bh_new_guarded
Message-ID: <20230301155442-mutt-send-email-mst@kernel.org>
References: <20230205040737.3567731-1-alxndr@bu.edu>
 <20230205040737.3567731-5-alxndr@bu.edu>
MIME-Version: 1.0
In-Reply-To: <20230205040737.3567731-5-alxndr@bu.edu>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Sat, Feb 04, 2023 at 11:07:37PM -0500, Alexander Bulekov wrote:
> This protects devices from bh->mmio reentrancy issues.
> 
> Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
> Signed-off-by: Alexander Bulekov <alxndr@bu.edu>

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

> ---
>  hw/9pfs/xen-9p-backend.c        | 4 +++-
>  hw/block/dataplane/virtio-blk.c | 3 ++-
>  hw/block/dataplane/xen-block.c  | 5 +++--
>  hw/char/virtio-serial-bus.c     | 3 ++-
>  hw/display/qxl.c                | 9 ++++++---
>  hw/display/virtio-gpu.c         | 6 ++++--
>  hw/ide/ahci.c                   | 3 ++-
>  hw/ide/core.c                   | 3 ++-
>  hw/misc/imx_rngc.c              | 6 ++++--
>  hw/misc/macio/mac_dbdma.c       | 2 +-
>  hw/net/virtio-net.c             | 3 ++-
>  hw/nvme/ctrl.c                  | 6 ++++--
>  hw/scsi/mptsas.c                | 3 ++-
>  hw/scsi/scsi-bus.c              | 3 ++-
>  hw/scsi/vmw_pvscsi.c            | 3 ++-
>  hw/usb/dev-uas.c                | 3 ++-
>  hw/usb/hcd-dwc2.c               | 3 ++-
>  hw/usb/hcd-ehci.c               | 3 ++-
>  hw/usb/hcd-uhci.c               | 2 +-
>  hw/usb/host-libusb.c            | 6 ++++--
>  hw/usb/redirect.c               | 6 ++++--
>  hw/usb/xen-usb.c                | 3 ++-
>  hw/virtio/virtio-balloon.c      | 5 +++--
>  hw/virtio/virtio-crypto.c       | 3 ++-
>  24 files changed, 63 insertions(+), 33 deletions(-)
> 
> diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
> index 65c4979c3c..f077c1b255 100644
> --- a/hw/9pfs/xen-9p-backend.c
> +++ b/hw/9pfs/xen-9p-backend.c
> @@ -441,7 +441,9 @@ static int xen_9pfs_connect(struct XenLegacyDevice *xendev)
>          xen_9pdev->rings[i].ring.out = xen_9pdev->rings[i].data +
>                                         XEN_FLEX_RING_SIZE(ring_order);
>  
> -        xen_9pdev->rings[i].bh = qemu_bh_new(xen_9pfs_bh, &xen_9pdev->rings[i]);
> +        xen_9pdev->rings[i].bh = qemu_bh_new_guarded(xen_9pfs_bh,
> +                                                     &xen_9pdev->rings[i],
> +                                                     &DEVICE(xen_9pdev)->mem_reentrancy_guard);
>          xen_9pdev->rings[i].out_cons = 0;
>          xen_9pdev->rings[i].out_size = 0;
>          xen_9pdev->rings[i].inprogress = false;
> diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
> index b28d81737e..a6202997ee 100644
> --- a/hw/block/dataplane/virtio-blk.c
> +++ b/hw/block/dataplane/virtio-blk.c
> @@ -127,7 +127,8 @@ bool virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,
>      } else {
>          s->ctx = qemu_get_aio_context();
>      }
> -    s->bh = aio_bh_new(s->ctx, notify_guest_bh, s);
> +    s->bh = aio_bh_new_guarded(s->ctx, notify_guest_bh, s,
> +                               &DEVICE(vdev)->mem_reentrancy_guard);
>      s->batch_notify_vqs = bitmap_new(conf->num_queues);
>  
>      *dataplane = s;
> diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
> index 2785b9e849..e31806b317 100644
> --- a/hw/block/dataplane/xen-block.c
> +++ b/hw/block/dataplane/xen-block.c
> @@ -632,8 +632,9 @@ XenBlockDataPlane *xen_block_dataplane_create(XenDevice *xendev,
>      } else {
>          dataplane->ctx = qemu_get_aio_context();
>      }
> -    dataplane->bh = aio_bh_new(dataplane->ctx, xen_block_dataplane_bh,
> -                               dataplane);
> +    dataplane->bh = aio_bh_new_guarded(dataplane->ctx, xen_block_dataplane_bh,
> +                                       dataplane,
> +                                       &DEVICE(xendev)->mem_reentrancy_guard);
>  
>      return dataplane;
>  }
> diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c
> index 7d4601cb5d..dd619f0731 100644
> --- a/hw/char/virtio-serial-bus.c
> +++ b/hw/char/virtio-serial-bus.c
> @@ -985,7 +985,8 @@ static void virtser_port_device_realize(DeviceState *dev, Error **errp)
>          return;
>      }
>  
> -    port->bh = qemu_bh_new(flush_queued_data_bh, port);
> +    port->bh = qemu_bh_new_guarded(flush_queued_data_bh, port,
> +                                   &dev->mem_reentrancy_guard);
>      port->elem = NULL;
>  }
>  
> diff --git a/hw/display/qxl.c b/hw/display/qxl.c
> index ec712d3ca2..c0460c4ef1 100644
> --- a/hw/display/qxl.c
> +++ b/hw/display/qxl.c
> @@ -2201,11 +2201,14 @@ static void qxl_realize_common(PCIQXLDevice *qxl, Error **errp)
>  
>      qemu_add_vm_change_state_handler(qxl_vm_change_state_handler, qxl);
>  
> -    qxl->update_irq = qemu_bh_new(qxl_update_irq_bh, qxl);
> +    qxl->update_irq = qemu_bh_new_guarded(qxl_update_irq_bh, qxl,
> +                                          &DEVICE(qxl)->mem_reentrancy_guard);
>      qxl_reset_state(qxl);
>  
> -    qxl->update_area_bh = qemu_bh_new(qxl_render_update_area_bh, qxl);
> -    qxl->ssd.cursor_bh = qemu_bh_new(qemu_spice_cursor_refresh_bh, &qxl->ssd);
> +    qxl->update_area_bh = qemu_bh_new_guarded(qxl_render_update_area_bh, qxl,
> +                                              &DEVICE(qxl)->mem_reentrancy_guard);
> +    qxl->ssd.cursor_bh = qemu_bh_new_guarded(qemu_spice_cursor_refresh_bh, &qxl->ssd,
> +                                             &DEVICE(qxl)->mem_reentrancy_guard);
>  }
>  
>  static void qxl_realize_primary(PCIDevice *dev, Error **errp)
> diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
> index 5e15c79b94..66ac9b6cc5 100644
> --- a/hw/display/virtio-gpu.c
> +++ b/hw/display/virtio-gpu.c
> @@ -1339,8 +1339,10 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
>  
>      g->ctrl_vq = virtio_get_queue(vdev, 0);
>      g->cursor_vq = virtio_get_queue(vdev, 1);
> -    g->ctrl_bh = qemu_bh_new(virtio_gpu_ctrl_bh, g);
> -    g->cursor_bh = qemu_bh_new(virtio_gpu_cursor_bh, g);
> +    g->ctrl_bh = qemu_bh_new_guarded(virtio_gpu_ctrl_bh, g,
> +                                     &qdev->mem_reentrancy_guard);
> +    g->cursor_bh = qemu_bh_new_guarded(virtio_gpu_cursor_bh, g,
> +                                       &qdev->mem_reentrancy_guard);
>      QTAILQ_INIT(&g->reslist);
>      QTAILQ_INIT(&g->cmdq);
>      QTAILQ_INIT(&g->fenceq);
> diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
> index 7ce001cacd..37091150cb 100644
> --- a/hw/ide/ahci.c
> +++ b/hw/ide/ahci.c
> @@ -1508,7 +1508,8 @@ static void ahci_cmd_done(const IDEDMA *dma)
>      ahci_write_fis_d2h(ad);
>  
>      if (ad->port_regs.cmd_issue && !ad->check_bh) {
> -        ad->check_bh = qemu_bh_new(ahci_check_cmd_bh, ad);
> +        ad->check_bh = qemu_bh_new_guarded(ahci_check_cmd_bh, ad,
> +                                           &DEVICE(ad)->mem_reentrancy_guard);
>          qemu_bh_schedule(ad->check_bh);
>      }
>  }
> diff --git a/hw/ide/core.c b/hw/ide/core.c
> index 5d1039378f..8c8d1a8ec2 100644
> --- a/hw/ide/core.c
> +++ b/hw/ide/core.c
> @@ -519,7 +519,8 @@ BlockAIOCB *ide_issue_trim(
>  
>      iocb = blk_aio_get(&trim_aiocb_info, s->blk, cb, cb_opaque);
>      iocb->s = s;
> -    iocb->bh = qemu_bh_new(ide_trim_bh_cb, iocb);
> +    iocb->bh = qemu_bh_new_guarded(ide_trim_bh_cb, iocb,
> +                                   &DEVICE(s)->mem_reentrancy_guard);
>      iocb->ret = 0;
>      iocb->qiov = qiov;
>      iocb->i = -1;
> diff --git a/hw/misc/imx_rngc.c b/hw/misc/imx_rngc.c
> index 632c03779c..082c6980ad 100644
> --- a/hw/misc/imx_rngc.c
> +++ b/hw/misc/imx_rngc.c
> @@ -228,8 +228,10 @@ static void imx_rngc_realize(DeviceState *dev, Error **errp)
>      sysbus_init_mmio(sbd, &s->iomem);
>  
>      sysbus_init_irq(sbd, &s->irq);
> -    s->self_test_bh = qemu_bh_new(imx_rngc_self_test, s);
> -    s->seed_bh = qemu_bh_new(imx_rngc_seed, s);
> +    s->self_test_bh = qemu_bh_new_guarded(imx_rngc_self_test, s,
> +                                          &dev->mem_reentrancy_guard);
> +    s->seed_bh = qemu_bh_new_guarded(imx_rngc_seed, s,
> +                                     &dev->mem_reentrancy_guard);
>  }
>  
>  static void imx_rngc_reset(DeviceState *dev)
> diff --git a/hw/misc/macio/mac_dbdma.c b/hw/misc/macio/mac_dbdma.c
> index 43bb1f56ba..80a789f32b 100644
> --- a/hw/misc/macio/mac_dbdma.c
> +++ b/hw/misc/macio/mac_dbdma.c
> @@ -914,7 +914,7 @@ static void mac_dbdma_realize(DeviceState *dev, Error **errp)
>  {
>      DBDMAState *s = MAC_DBDMA(dev);
>  
> -    s->bh = qemu_bh_new(DBDMA_run_bh, s);
> +    s->bh = qemu_bh_new_guarded(DBDMA_run_bh, s, &dev->mem_reentrancy_guard);
>  }
>  
>  static void mac_dbdma_class_init(ObjectClass *oc, void *data)
> diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
> index 3ae909041a..a170c724de 100644
> --- a/hw/net/virtio-net.c
> +++ b/hw/net/virtio-net.c
> @@ -2885,7 +2885,8 @@ static void virtio_net_add_queue(VirtIONet *n, int index)
>          n->vqs[index].tx_vq =
>              virtio_add_queue(vdev, n->net_conf.tx_queue_size,
>                               virtio_net_handle_tx_bh);
> -        n->vqs[index].tx_bh = qemu_bh_new(virtio_net_tx_bh, &n->vqs[index]);
> +        n->vqs[index].tx_bh = qemu_bh_new_guarded(virtio_net_tx_bh, &n->vqs[index],
> +                                                  &DEVICE(vdev)->mem_reentrancy_guard);
>      }
>  
>      n->vqs[index].tx_waiting = 0;
> diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
> index f25cc2c235..dcb250e772 100644
> --- a/hw/nvme/ctrl.c
> +++ b/hw/nvme/ctrl.c
> @@ -4318,7 +4318,8 @@ static void nvme_init_sq(NvmeSQueue *sq, NvmeCtrl *n, uint64_t dma_addr,
>          QTAILQ_INSERT_TAIL(&(sq->req_list), &sq->io_req[i], entry);
>      }
>  
> -    sq->bh = qemu_bh_new(nvme_process_sq, sq);
> +    sq->bh = qemu_bh_new_guarded(nvme_process_sq, sq,
> +                                 &DEVICE(sq->ctrl)->mem_reentrancy_guard);
>  
>      if (n->dbbuf_enabled) {
>          sq->db_addr = n->dbbuf_dbs + (sqid << 3);
> @@ -4708,7 +4709,8 @@ static void nvme_init_cq(NvmeCQueue *cq, NvmeCtrl *n, uint64_t dma_addr,
>          }
>      }
>      n->cq[cqid] = cq;
> -    cq->bh = qemu_bh_new(nvme_post_cqes, cq);
> +    cq->bh = qemu_bh_new_guarded(nvme_post_cqes, cq,
> +                                 &DEVICE(cq->ctrl)->mem_reentrancy_guard);
>  }
>  
>  static uint16_t nvme_create_cq(NvmeCtrl *n, NvmeRequest *req)
> diff --git a/hw/scsi/mptsas.c b/hw/scsi/mptsas.c
> index c485da792c..3de288b454 100644
> --- a/hw/scsi/mptsas.c
> +++ b/hw/scsi/mptsas.c
> @@ -1322,7 +1322,8 @@ static void mptsas_scsi_realize(PCIDevice *dev, Error **errp)
>      }
>      s->max_devices = MPTSAS_NUM_PORTS;
>  
> -    s->request_bh = qemu_bh_new(mptsas_fetch_requests, s);
> +    s->request_bh = qemu_bh_new_guarded(mptsas_fetch_requests, s,
> +                                        &DEVICE(dev)->mem_reentrancy_guard);
>  
>      scsi_bus_init(&s->bus, sizeof(s->bus), &dev->qdev, &mptsas_scsi_info);
>  }
> diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
> index ceceafb2cd..e5c9f7a53d 100644
> --- a/hw/scsi/scsi-bus.c
> +++ b/hw/scsi/scsi-bus.c
> @@ -193,7 +193,8 @@ static void scsi_dma_restart_cb(void *opaque, bool running, RunState state)
>          AioContext *ctx = blk_get_aio_context(s->conf.blk);
>          /* The reference is dropped in scsi_dma_restart_bh.*/
>          object_ref(OBJECT(s));
> -        s->bh = aio_bh_new(ctx, scsi_dma_restart_bh, s);
> +        s->bh = aio_bh_new_guarded(ctx, scsi_dma_restart_bh, s,
> +                                   &DEVICE(s)->mem_reentrancy_guard);
>          qemu_bh_schedule(s->bh);
>      }
>  }
> diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
> index fa76696855..4de34536e9 100644
> --- a/hw/scsi/vmw_pvscsi.c
> +++ b/hw/scsi/vmw_pvscsi.c
> @@ -1184,7 +1184,8 @@ pvscsi_realizefn(PCIDevice *pci_dev, Error **errp)
>          pcie_endpoint_cap_init(pci_dev, PVSCSI_EXP_EP_OFFSET);
>      }
>  
> -    s->completion_worker = qemu_bh_new(pvscsi_process_completion_queue, s);
> +    s->completion_worker = qemu_bh_new_guarded(pvscsi_process_completion_queue, s,
> +                                               &DEVICE(pci_dev)->mem_reentrancy_guard);
>  
>      scsi_bus_init(&s->bus, sizeof(s->bus), DEVICE(pci_dev), &pvscsi_scsi_info);
>      /* override default SCSI bus hotplug-handler, with pvscsi's one */
> diff --git a/hw/usb/dev-uas.c b/hw/usb/dev-uas.c
> index 88f99c05d5..f013ded91e 100644
> --- a/hw/usb/dev-uas.c
> +++ b/hw/usb/dev-uas.c
> @@ -937,7 +937,8 @@ static void usb_uas_realize(USBDevice *dev, Error **errp)
>  
>      QTAILQ_INIT(&uas->results);
>      QTAILQ_INIT(&uas->requests);
> -    uas->status_bh = qemu_bh_new(usb_uas_send_status_bh, uas);
> +    uas->status_bh = qemu_bh_new_guarded(usb_uas_send_status_bh, uas,
> +                                         &d->mem_reentrancy_guard);
>  
>      dev->flags |= (1 << USB_DEV_FLAG_IS_SCSI_STORAGE);
>      scsi_bus_init(&uas->bus, sizeof(uas->bus), DEVICE(dev), &usb_uas_scsi_info);
> diff --git a/hw/usb/hcd-dwc2.c b/hw/usb/hcd-dwc2.c
> index 8755e9cbb0..a0c4e782b2 100644
> --- a/hw/usb/hcd-dwc2.c
> +++ b/hw/usb/hcd-dwc2.c
> @@ -1364,7 +1364,8 @@ static void dwc2_realize(DeviceState *dev, Error **errp)
>      s->fi = USB_FRMINTVL - 1;
>      s->eof_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, dwc2_frame_boundary, s);
>      s->frame_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, dwc2_work_timer, s);
> -    s->async_bh = qemu_bh_new(dwc2_work_bh, s);
> +    s->async_bh = qemu_bh_new_guarded(dwc2_work_bh, s,
> +                                      &dev->mem_reentrancy_guard);
>  
>      sysbus_init_irq(sbd, &s->irq);
>  }
> diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
> index d4da8dcb8d..c930c60921 100644
> --- a/hw/usb/hcd-ehci.c
> +++ b/hw/usb/hcd-ehci.c
> @@ -2533,7 +2533,8 @@ void usb_ehci_realize(EHCIState *s, DeviceState *dev, Error **errp)
>      }
>  
>      s->frame_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, ehci_work_timer, s);
> -    s->async_bh = qemu_bh_new(ehci_work_bh, s);
> +    s->async_bh = qemu_bh_new_guarded(ehci_work_bh, s,
> +                                      &dev->mem_reentrancy_guard);
>      s->device = dev;
>  
>      s->vmstate = qemu_add_vm_change_state_handler(usb_ehci_vm_state_change, s);
> diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c
> index 30ae0104bb..bdc891f57a 100644
> --- a/hw/usb/hcd-uhci.c
> +++ b/hw/usb/hcd-uhci.c
> @@ -1193,7 +1193,7 @@ void usb_uhci_common_realize(PCIDevice *dev, Error **errp)
>                                USB_SPEED_MASK_LOW | USB_SPEED_MASK_FULL);
>          }
>      }
> -    s->bh = qemu_bh_new(uhci_bh, s);
> +    s->bh = qemu_bh_new_guarded(uhci_bh, s, &DEVICE(dev)->mem_reentrancy_guard);
>      s->frame_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, uhci_frame_timer, s);
>      s->num_ports_vmstate = NB_PORTS;
>      QTAILQ_INIT(&s->queues);
> diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c
> index 176868d345..f500db85ab 100644
> --- a/hw/usb/host-libusb.c
> +++ b/hw/usb/host-libusb.c
> @@ -1141,7 +1141,8 @@ static void usb_host_nodev_bh(void *opaque)
>  static void usb_host_nodev(USBHostDevice *s)
>  {
>      if (!s->bh_nodev) {
> -        s->bh_nodev = qemu_bh_new(usb_host_nodev_bh, s);
> +        s->bh_nodev = qemu_bh_new_guarded(usb_host_nodev_bh, s,
> +                                          &DEVICE(s)->mem_reentrancy_guard);
>      }
>      qemu_bh_schedule(s->bh_nodev);
>  }
> @@ -1739,7 +1740,8 @@ static int usb_host_post_load(void *opaque, int version_id)
>      USBHostDevice *dev = opaque;
>  
>      if (!dev->bh_postld) {
> -        dev->bh_postld = qemu_bh_new(usb_host_post_load_bh, dev);
> +        dev->bh_postld = qemu_bh_new_guarded(usb_host_post_load_bh, dev,
> +                                             &DEVICE(dev)->mem_reentrancy_guard);
>      }
>      qemu_bh_schedule(dev->bh_postld);
>      dev->bh_postld_pending = true;
> diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
> index fd7df599bc..39fbaaab16 100644
> --- a/hw/usb/redirect.c
> +++ b/hw/usb/redirect.c
> @@ -1441,8 +1441,10 @@ static void usbredir_realize(USBDevice *udev, Error **errp)
>          }
>      }
>  
> -    dev->chardev_close_bh = qemu_bh_new(usbredir_chardev_close_bh, dev);
> -    dev->device_reject_bh = qemu_bh_new(usbredir_device_reject_bh, dev);
> +    dev->chardev_close_bh = qemu_bh_new_guarded(usbredir_chardev_close_bh, dev,
> +                                                &DEVICE(dev)->mem_reentrancy_guard);
> +    dev->device_reject_bh = qemu_bh_new_guarded(usbredir_device_reject_bh, dev,
> +                                                &DEVICE(dev)->mem_reentrancy_guard);
>      dev->attach_timer = timer_new_ms(QEMU_CLOCK_VIRTUAL, usbredir_do_attach, dev);
>  
>      packet_id_queue_init(&dev->cancelled, dev, "cancelled");
> diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
> index 0f7369e7ed..dec91294ad 100644
> --- a/hw/usb/xen-usb.c
> +++ b/hw/usb/xen-usb.c
> @@ -1021,7 +1021,8 @@ static void usbback_alloc(struct XenLegacyDevice *xendev)
>  
>      QTAILQ_INIT(&usbif->req_free_q);
>      QSIMPLEQ_INIT(&usbif->hotplug_q);
> -    usbif->bh = qemu_bh_new(usbback_bh, usbif);
> +    usbif->bh = qemu_bh_new_guarded(usbback_bh, usbif,
> +                                    &DEVICE(xendev)->mem_reentrancy_guard);
>  }
>  
>  static int usbback_free(struct XenLegacyDevice *xendev)
> diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
> index 746f07c4d2..309cebacc6 100644
> --- a/hw/virtio/virtio-balloon.c
> +++ b/hw/virtio/virtio-balloon.c
> @@ -908,8 +908,9 @@ static void virtio_balloon_device_realize(DeviceState *dev, Error **errp)
>          precopy_add_notifier(&s->free_page_hint_notify);
>  
>          object_ref(OBJECT(s->iothread));
> -        s->free_page_bh = aio_bh_new(iothread_get_aio_context(s->iothread),
> -                                     virtio_ballloon_get_free_page_hints, s);
> +        s->free_page_bh = aio_bh_new_guarded(iothread_get_aio_context(s->iothread),
> +                                             virtio_ballloon_get_free_page_hints, s,
> +                                             &DEVICE(s)->mem_reentrancy_guard);
>      }
>  
>      if (virtio_has_feature(s->host_features, VIRTIO_BALLOON_F_REPORTING)) {
> diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c
> index 516425e26a..4c95f1096e 100644
> --- a/hw/virtio/virtio-crypto.c
> +++ b/hw/virtio/virtio-crypto.c
> @@ -1050,7 +1050,8 @@ static void virtio_crypto_device_realize(DeviceState *dev, Error **errp)
>          vcrypto->vqs[i].dataq =
>                   virtio_add_queue(vdev, 1024, virtio_crypto_handle_dataq_bh);
>          vcrypto->vqs[i].dataq_bh =
> -                 qemu_bh_new(virtio_crypto_dataq_bh, &vcrypto->vqs[i]);
> +                 qemu_bh_new_guarded(virtio_crypto_dataq_bh, &vcrypto->vqs[i],
> +                                     &dev->mem_reentrancy_guard);
>          vcrypto->vqs[i].vcrypto = vcrypto;
>      }
>  
> -- 
> 2.39.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 01 20:55:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 20:55:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504239.776817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXTUS-0002Nx-Dr; Wed, 01 Mar 2023 20:55:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504239.776817; Wed, 01 Mar 2023 20: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 1pXTUS-0002Nq-B1; Wed, 01 Mar 2023 20:55:56 +0000
Received: by outflank-mailman (input) for mailman id 504239;
 Wed, 01 Mar 2023 20: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=nLqk=6Z=citrix.com=prvs=417c45763=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pXTUQ-0002Ht-BO
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 20:55:54 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72c80f03-b873-11ed-96a7-2f268f93b82a;
 Wed, 01 Mar 2023 21:55:52 +0100 (CET)
Received: from mail-mw2nam12lp2041.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.41])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 01 Mar 2023 15:55:49 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DS7PR03MB5381.namprd03.prod.outlook.com (2603:10b6:5:2c2::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17; Wed, 1 Mar
 2023 20:55:47 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6134.030; Wed, 1 Mar 2023
 20:55: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: 72c80f03-b873-11ed-96a7-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677704152;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=oWPJNd7JYE+qRN1i8d64xlLUfT9xinDAqKeTDpM8/GA=;
  b=HtlBkAKWE4ZO0tmhdb9gwLZ7uR16x1p3HKhVvWtG6SRu4JKBNa+Nvx7x
   qTppuYPdu1YmYzQtmY9ZaudM0Ki80yzEh1kodh1N+X5AncoO/Bz7NEtOY
   9tRtjbpExDIn5QrzaTU81JB1Rzfn+b+9EYZng33d5uOyALiT0eofSqhGT
   8=;
X-IronPort-RemoteIP: 104.47.66.41
X-IronPort-MID: 99087010
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:0fCBR6kCZuW8yLShfp3Hii/o5gyiJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIXWmnQP6uJN2P0e4gnPdmypEIAsJaHnd5hTVQ/qyo2RCMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5AaGzBH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 f8hBi0nXAm/u/2ZkOKSE+Yxu5g9NPC+aevzulk4pd3YJdAPZMmZBoD1v5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVklI3jOGF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNNDTO3nrqcy6LGV7mdCSyVHW3zlnfaW1G68cNdED
 mcvyDV7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq16bO8vT60fy8PIgc/iTQsSAIE55zmv9s1hxeWFNJ7Svbp15vyBC36x
 C2MoG4mnbIPgMUX1qK9u1fanzaroZuPRQkwjunKYl+YAspCTNbNT+SVBZLzsZ6s8K7xooG9g
 UU5
IronPort-HdrOrdr: A9a23:QFvm368X9Hsds3crFcRuk+AXI+orL9Y04lQ7vn1ZYxpTb8Ceio
 SKkPMUyB6cskdrZJhAo6H4BEDkexjhHPFOj7X5UY3CYOCighrMEGgA1/qF/9SDIVydygc178
 4JHJSWSueAaWSS6/yb3ODSKadG/DDoytHKuQ6n9QYUcShaL5tHyCdSTiu4MmkzfilpIvMCfq
 a01458oT2hczAyQa2AakXsC4D4yuH2qA==
X-IronPort-AV: E=Sophos;i="5.98,225,1673931600"; 
   d="scan'208";a="99087010"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IZ8WUlQ1dn6oMSD4WARAXZuE5uMFKSRcnF8typIyniut+uJcHgPUsA3zW7ZkSARUlPpjXQ2kzeRQXrAifjE537jX6eLnMhekygVnXAy1KXZkNK5P6BkeA+QDZ0hUAA3XRZmqo7DFepZV2O9Sx6iXCrXO2i6iwHGwxEm29VQIRZMeQUixyhiIHwIEdEG+kEwBYjpyYFK6fTH/o5Svl4Cxd4FhptkQvmmMwP3l2NPsP8OptppiDnhNaV7LNEVOgkqDU8bsXiO4Y/cb+jhTtiv7RVV/6tb7QxyoEAj1KcBEg93O3lgnoQnB98ThFNqw0GAsZ7dWbDE+ngxi67HoyXa2ew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0wAaOqcWTWaLL9Vj1oovXb76K8P9CVuINZsPMN85Ycs=;
 b=Xj383TjWqqybBqaN/ydjYHBx5tcml9xJcMIXnt7qdC+sqFmU8jOIMC2nFp3rhQTXCRlxY6Lmpn/REQpuUGT0ZMO3HN1ROsuP6TiHCdeg/dn7Mo0cHcLdN2ECn1PTxS9zyu9K/+TiXhKVAppJrZGxpvd7eIyFhIW4WS0Mf7Chk9yRGpZGAVe6V3f3/W6JIE8DUbNkQEiwRvIPNHJlv2edBl0nnuB6HfzMR8JwC5aQaGA28P7bnap4bxCrwNkNMOYxbCTzpDIrdZH7qa2hyoIpNB0Wu3HR1YCfYZNVxqaVT8tEh385CDDAto3gcj8Xw1awYqW5O1IXpMtYwFNSLS+mXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0wAaOqcWTWaLL9Vj1oovXb76K8P9CVuINZsPMN85Ycs=;
 b=W4rQtWmYITLnrqdNWCj7bivlDLEzZyJ65jV5LO7R71MubC6rGgLvvlvJ4UtahREyBNfCtJnaGU5gr2HkiR8584RgkbWZXLniPEwZSMKxjzOjNUVm7XoykY8+/5X4eodTTZsOQ7GyZWNzNC9cTONREMq9KsfayaOGSGPGbCiDSuY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <28cf4512-c92e-ee84-1c02-6af242b666cc@citrix.com>
Date: Wed, 1 Mar 2023 20:55:41 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2] x86/SVM: restrict hardware SSBD update upon guest
 VIRT_SPEC_CTRL write
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: <30a79d1e-c638-9e74-52fa-4cce53cd12dd@suse.com>
In-Reply-To: <30a79d1e-c638-9e74-52fa-4cce53cd12dd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0117.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:192::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DS7PR03MB5381:EE_
X-MS-Office365-Filtering-Correlation-Id: 19eac636-40ad-4893-a6b0-08db1a9754ac
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZBO0oIjORALD4hfW9Om9nSrk6FZw/rLMss1jvwDXp/I/grpEULWF0CRo58Lcvix48aF9pmcHvi5UsFo/WdIO99f+FKpYsQCvb9vtWj8Wjp+5TctLjRoicWrM3yn5Cg3tf0pt7AayYA8M32w8YAaCn3gUeJ+4iVtglimVbWovOdJwLXtE6+Er8SSL6uJJPl68fzoDO/9LAOFgQZA3TtYLEBwqL/MgoFHmVcWZSaffXYxeNPW+1p7z13m6knTtzkA4NeW2TZ47elDFvKUx4XMj7Vvb8uA5Z9IlgG0LYWEbSQTZz58nRtDAz6TrSI8EYgyTR+KLL95NGJVjPwEqUyP/cJdvGjNe2cUgqPJvKcKi9bhX7ahZgwdWQBSsMwMtrkNJVTddXoV5KDT9SsO7jF4thxOLTjEC62HxkTwd/Bv84ijSJFQfp427VZ1BtDNw2g5BFPZS+DnV14YzOQPt+L+gm8CjiWq1qAAoEvnI94K8MO7s6Ax35fhYXucqFouW68Fnkcd9my0JC9Yl119IZLD49IpUhai/Sy+oRNr9HT+vtbHQ50aXm5293zddCWtovh2ipkDFLfwcYuAjceJfATziMk63yP70bC/nylydYiAliq87xDnq4EG7uJIxlYP9n5b0a8NS4XRjZumPqMJJ4USm3p9DXeUAasYCkwywwniF/O5DyspuzLYywMfcPG/0xWWRnbv/EzGI50go+159QQ/X4mH6Zj7fYHpz5v4J3fR4OZQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(39860400002)(346002)(366004)(376002)(136003)(451199018)(54906003)(36756003)(110136005)(316002)(478600001)(83380400001)(6666004)(107886003)(6486002)(6506007)(5660300002)(186003)(6512007)(2616005)(26005)(8936002)(2906002)(86362001)(66556008)(53546011)(41300700001)(66946007)(31696002)(38100700002)(8676002)(82960400001)(4326008)(66476007)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T0g0Tm9xN05Ua0I4MmFVMDUvMzlnOFhCdlN0eFpuTWtBV2NlbVpSbzAvamM1?=
 =?utf-8?B?OEZNTWJYbXJsblJ1cVVISkh3aGVTVkhHNUhOcFl0Y3dESms0SDhicGVKL0h3?=
 =?utf-8?B?ZHNmN1p1NmFtbElGS0RRNDZqcVYvcjJVZGdBb1pBeHNkYVVuelJaTHYwV0V4?=
 =?utf-8?B?MWNvdU5qL1JvMjJScFNTMHYxdFAzbTVCSU13aFJadnYxVFJ5b2Q0Q3VIN0hP?=
 =?utf-8?B?ejViRDIwTTJsYlUxczN4V20vTmxuYXU0MGpoN3VFM1JidzRZUnVvaFRydE1R?=
 =?utf-8?B?V2JSL3RMekE1UVNGbmc4b1FKeE9oS0QzWFFlSGdraVU4U3dyRStDeWVkMW9j?=
 =?utf-8?B?Zm1GMURuc1lML05lSVVSZXJvSFM3dXFyd1NEQzQ5WUFTOEhrTkNmemlmcTlz?=
 =?utf-8?B?ZmtuOXN4T1VtVExaVHRoMmFybmVJRnVuUG9IVEkwNEszb01XRFpXWHRPSzFU?=
 =?utf-8?B?R1d1OVNxTng2VGN3VU5VaW1CMFN3NmVQVG9Lc3UxYWs0MEx4Wi9RUzlNL3dj?=
 =?utf-8?B?U3YvNUd1bEpHNTEzZG4wVGQ0Ynp3TmhFaTVwdGVDY1pubDJralRxTHJZRzBL?=
 =?utf-8?B?SGpQc1YzS3ZJdlVvMVF6K043cWtGNGVqcWlpaG1zbXUrN3QzcUdSTENMczRX?=
 =?utf-8?B?eVY3UU5iQlZnZ3dkVGM5Z1lKekw1VElqTkt6Zlp3RHpFRTJEaTc2bWVhUlIy?=
 =?utf-8?B?Mms4UGhSUk5VME05V1hKc3dJMEtrZDZNZUdLUVU3WHFKYkN2OEp1bWRxZE1V?=
 =?utf-8?B?eVpzSVhJN3dZVnM3akNzdHJ6MzhIdVVVNjk1TkVCdzFoZTFvSEZvenV2cndB?=
 =?utf-8?B?dzJTb3gzcjRMcjQxb2k4TThZMlZqbGljakE5R09zeWc0ekZYTEtEZ1d0ZTBH?=
 =?utf-8?B?R2x3TFZtVFZnamk1ejM0Q1RXOG1PY3FnTWJLK2t3MHprOG1mUjYwbXBWeG9S?=
 =?utf-8?B?c1NDMFVPNGRYMzZrSGlTMVY2YlYwUUtyRUZ6QVduVERmQUVyKzhabVZvM1Rt?=
 =?utf-8?B?STlwL0Eyd3MvU3hObDMrUmwyK0xyQXN6S040aE9zeFJlUjNkbDV5UEszRnBX?=
 =?utf-8?B?c2lXb3Vsd3B0LzR5NGU1TWRIWkRGVnBPYWJrZndPejRyVXJlcWNtWWZvSVRQ?=
 =?utf-8?B?eDhwWGZ0WFVWTUYzVFVlVkVERmVveFVsV2M0cnZ3bzZxbnFYaTdaOVVqcHNT?=
 =?utf-8?B?dGlZRWIwVXR0ZlRwSHJwSm9Pb0tnd2IxMlJWVXdmaHdlcTVXRlc2bmRmYVZo?=
 =?utf-8?B?dk1Ka1FrSFdlNXVNTGwreG5WMi9aaTNzdXhjWUo0TWVrc1V5aU8vVkwwU3lV?=
 =?utf-8?B?bjRkMVFTQ0NmK01Hc2tWZW1yeXVYUUM3UlNtVVlURXVoVDJacU5MV0VydWlC?=
 =?utf-8?B?NXpONWU4Y2hYSVhQY3gyZTVSUlJSaWlmb1NoYVppSkxTMWVETGtaQ3hXTWhl?=
 =?utf-8?B?b01qZXo3TVM1MHlNM2hid0FJQy9GelRWU2hVMHpaRytwQUJmd3hGTmRwMXdq?=
 =?utf-8?B?dUNLU0RsMVhFckQrN2xucTgzdVdMSStqc1lqVmN1WXlRZXFIU3NrRTJGSXdo?=
 =?utf-8?B?SGJiUzBxenh1SHpMQlJkc2RTN0xpSEJrUmFBZFVwUE5leG85Mi9pc1RZQlAv?=
 =?utf-8?B?QWRVWWZ1dWs2N3lraTRZYWJVUlB6YlE4YkNJQ0x4OXpPQXhwaEh4dTZjL1hI?=
 =?utf-8?B?YlZOQ3Z2U2NzbFZGaVE3clY4T013QWQrSytNaWFwRmR5ZTYxcEF0K09qTzdo?=
 =?utf-8?B?RFoxSHBvMGxiUm9UQ2QyUW4wcm9MOHhMSnRVNEttNW15RWcvS0NIUFp1WGt6?=
 =?utf-8?B?TDVsUCt5RWJvMWVXMG96b3BUQkpWalM5ZFlCMmUzODZtS1FqQ3pPS3A3ZFEv?=
 =?utf-8?B?VDdvd0ZFWEx4YWFtRmUzeWpubjROdHlSLzU3YTJUSS9qNGpwdGVDSEFNeWNB?=
 =?utf-8?B?WVdLUzZwMEU1MFZCQldWUWUvMFYreGQ4TGc2Umx5NzJjVWZxN1B1cHA4Nitm?=
 =?utf-8?B?N013UHpzbTc3TEk5T1FGVmNXcEFEQmw2bmFzUjJvTjh3cXgrVmRudThmdXNp?=
 =?utf-8?B?L2Z4aCt5aEFQT2VYTEw1c0E4Q2Y5T3AxRmJLejE0bHNZcEVObXV0QTE4eWUw?=
 =?utf-8?B?em9RTjJrL2NqY0JEN1Y1MkNlRDZVcS9qQlFoSHJvSU02MFY4TXNJZ0JRRU4v?=
 =?utf-8?B?enc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	DCq6AOsHcIPMx0nVE9E6qqGHCSVtSbG70jz+yLCV8QqxmeY6kJP6J+LpglM+eVBZAPVJfK0IbpcFNr5lsEJbXa4JAxXaybcuWmN7m6vRVyt2ikZi0nAu3g26mkCZIfK4hOPziUYVbtt2oXbMJL/VwbZKY5/Nzco3bn5AJyUcsVR+4NXyVsz5DMai2iN/lbCHkwTR3rrQNI+OvsudLGpdt/kEkwjhmKxWE7mVOZnppfV5jwuhVPUiFBVuNC63Hsxaif1aLCUe6FTc+8RVcxEHr2/YORjRkrAKWU4iUW40OoSefw2TlJReE/CnrShxBXfei6Gwlfzl55nakZaUUApLFEbmhWOT48acoaJyofdHn5aUvCYtBGFLDS2R+hghw0Ar5WPle9GedCwWxUvRah+xWqriBXqT8JjxEGOWsmip7otDE0ptMf3Ar4p9jCnpHMVX3brUNwdrPSvWP+A5Wis6F4DB0yNpcGamtP9vVbaVqB+qHnYOKfDepCrDt2kSuan2P9L650pFXoho6Kbflv5USCx3gtv9GjbvWgLA4b+SjgQwtLI8II6QYKxClZMOZNeWlR8ADLj85tChMWeCrKS+ZYGmt7GQmdz7Zo92F0WdXGA/bqfL516ds5JyU0mYc68yX81rXTQnQY7kc0jbKtG2uJvAIMuj48MkZssQo/jRkb5g9pIsft+j9hGZqkknIoY5AQL3me0gQ6k/eQbUyb3xl5+uCaQ6a38T9w29r2JVKEdl90+NgYZLh0Fs4P9Qio2d4jkaFhb0/hK1tkda7ygG+MmygQGLsupLGIiie0i580hZscL+1X03L1h7OrD1xJeG
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 19eac636-40ad-4893-a6b0-08db1a9754ac
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Mar 2023 20:55:46.9479
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KH+bKg5q88gQUIv01+LAOcq1QfjaYYnn5irACWNVJ11+EgG8+RCH+a6IJ5iTPbCkM7SxgwrmfmSVgUahsdqVrlR83cJP8y082H9t2j0IpM4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5381

On 15/12/2022 8:20 am, Jan Beulich wrote:
> core_set_legacy_ssbd() counts the number of times SSBD is being enabled
> via LS_CFG on a core. This assumes that calls there only occur if the
> state actually changes. While svm_ctxt_switch_{to,from}() conform to
> this, guest_wrmsr() doesn't: It also calls the function when the bit
> doesn't actually change. Make core_set_legacy_ssbd() track per-thread
> enabled state by converting the "count" field to a bitmap, thus allowing
> to skip redundant enable/disable requests, constraining
> amd_setup_legacy_ssbd() accordingly.
>
> Fixes: b2030e6730a2 ("amd/virt_ssbd: set SSBD at vCPU context switch")
> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> This wants properly testing on affected hardware. From Andrew's
> description it's also not clear whether this really is addressing that
> problem, or yet another one in this same area.
> ---
> v2: Change core_set_legacy_ssbd() itself rather than the problematic
>     caller.

I think this patch will fix one of the errors.  I've lost count of how
many others issues I've found now that I've looked at the code in detail
for the first time.

However...

> --- a/xen/arch/x86/cpu/amd.c
> +++ b/xen/arch/x86/cpu/amd.c
> @@ -744,7 +744,7 @@ void amd_init_ssbd(const struct cpuinfo_
>  
>  static struct ssbd_ls_cfg {
>      spinlock_t lock;
> -    unsigned int count;
> +    unsigned long enabled;
>  } __cacheline_aligned *ssbd_ls_cfg;
>  static unsigned int __ro_after_init ssbd_max_cores;
>  #define AMD_FAM17H_MAX_SOCKETS 2
> @@ -757,6 +757,11 @@ bool __init amd_setup_legacy_ssbd(void)
>  	    boot_cpu_data.x86_num_siblings <= 1 || opt_ssbd)
>  		return true;
>  
> +	if (boot_cpu_data.x86_num_siblings > BITS_PER_LONG ||
> +	    (boot_cpu_data.x86_num_siblings &
> +	     (boot_cpu_data.x86_num_siblings - 1)))
> +		return false;

... this is nonsense.  There is no such thing as an Zen1 uarch with more
than 2 threads per core, and attempts cope with it (as opposed to
rejecting it outright) makes ...

> +
>  	/*
>  	 * One could be forgiven for thinking that c->x86_max_cores is the
>  	 * correct value to use here.
> @@ -800,10 +805,12 @@ static void core_set_legacy_ssbd(bool en
>  	                      c->cpu_core_id];
>  
>  	spin_lock_irqsave(&status->lock, flags);
> -	status->count += enable ? 1 : -1;
> -	ASSERT(status->count <= c->x86_num_siblings);
> -	if (enable ? status->count == 1 : !status->count)
> +	if (!enable)
> +		__clear_bit(c->apicid & (c->x86_num_siblings - 1), &status->enabled);
> +	if (!status->enabled)
>  		BUG_ON(!set_legacy_ssbd(c, enable));
> +	if (enable)
> +		__set_bit(c->apicid & (c->x86_num_siblings - 1), &status->enabled);

... this mess even worse.

I am rewriting the legacy SSBD code so that it is fit for purpose.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 21:01:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 21:01:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504243.776828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXTZg-0004Fw-4e; Wed, 01 Mar 2023 21:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504243.776828; Wed, 01 Mar 2023 21:01: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 1pXTZf-0004Fp-Vn; Wed, 01 Mar 2023 21:01:19 +0000
Received: by outflank-mailman (input) for mailman id 504243;
 Wed, 01 Mar 2023 21:01: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 1pXTZe-0004Ff-QR; Wed, 01 Mar 2023 21:01: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 1pXTZe-00026s-J8; Wed, 01 Mar 2023 21:01: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 1pXTZe-00089D-BH; Wed, 01 Mar 2023 21:01:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXTZe-0002wL-Am; Wed, 01 Mar 2023 21:01:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=t0pu1y4gnJMEl8DGKqZ8V7waUKKhIjIvYO5JaoUsb/o=; b=tbm42z4ogclqazIHxSfWWuRzL8
	XCaBTEHGrV3IPP0i3x7dsNt8nsmSo7USXCuwuWUCK6GdwlvZlRl2pF32GvgFkIsu7d16YkfYengYE
	tuee5meGk/UXYNrW0jPsBCi/BvNhKiVf8oiCqLjWaCwzzgCHhnhoKAVf3Q6wPfUXmeqY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178854-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 178854: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=c0927a7a5391f7d8e593e5e50ead7505a23cadf9
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Mar 2023 21:01:18 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 178042
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 178042
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 178042
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 17 guest-stop     fail in 178822 REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 18 guest-start/debian.repeat fail in 178822 REGR. vs. 178042
 test-arm64-arm64-xl-xsm 18 guest-start/debian.repeat fail in 178822 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-credit1  14 guest-start      fail in 178822 pass in 178854
 test-arm64-arm64-xl-xsm      14 guest-start                fail pass in 178822
 test-arm64-arm64-libvirt-xsm 14 guest-start                fail pass in 178822
 test-arm64-arm64-xl-thunderx 14 guest-start                fail pass in 178822

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check fail in 178822 never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check fail in 178822 never pass
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 178822 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 178822 never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 178822 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 178822 never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                c0927a7a5391f7d8e593e5e50ead7505a23cadf9
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z    8 days
Failing since        178093  2023-02-22 05:02:47 Z    7 days   15 attempts
Testing same since   178822  2023-03-01 00:42:44 Z    0 days    2 attempts

------------------------------------------------------------
1939 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 01 23:57:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Mar 2023 23:57:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504255.776836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXWJM-0001yh-Q8; Wed, 01 Mar 2023 23:56:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504255.776836; Wed, 01 Mar 2023 23: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 1pXWJM-0001ya-NE; Wed, 01 Mar 2023 23:56:40 +0000
Received: by outflank-mailman (input) for mailman id 504255;
 Wed, 01 Mar 2023 23:56: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 1pXWJL-0001yQ-Fq; Wed, 01 Mar 2023 23:56: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 1pXWJL-00060F-Ch; Wed, 01 Mar 2023 23:56: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 1pXWJL-00046L-23; Wed, 01 Mar 2023 23:56:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXWJL-0003oF-1b; Wed, 01 Mar 2023 23:56: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=hTAjQ5fGVH0ykv/bobCVEPZNQZ4LtQ7+N7P64Sd8A8k=; b=woS9VD7d7VIli5ug8p2J151cNs
	fL10i18W0WKb3OSzZq03dUx6SU223CMisKF2ZyAPqU6ASkvuEEy1yVwyPMI1P14ahhtjkJyrAXIvh
	VUwwdmrb8PDlVGoAf1NGe4lDtPgbt1yk+N2iNJDZV6deIqeTdF6wsWUX1T6ImiXaqZ3U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178875-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 178875: trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-livepatch:<job status>:broken:regression
    xen-unstable:test-amd64-i386-libvirt-raw:<job status>:broken:regression
    xen-unstable:test-amd64-i386-libvirt-raw:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-i386-livepatch:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-i386-freebsd10-i386:xen-install: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b84fdf521b306cce64388fe57ee6c7c00f9d3e76
X-Osstest-Versions-That:
    xen=bfc3780f23ded229f42a2565783e21c32083bbfd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Mar 2023 23:56:39 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-livepatch       <job status>                 broken  in 178827
 test-amd64-i386-libvirt-raw     <job status>                 broken  in 178827

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-raw  5 host-install(5) broken in 178827 pass in 178875
 test-amd64-i386-livepatch    5 host-install(5) broken in 178827 pass in 178875
 test-amd64-i386-freebsd10-i386  7 xen-install              fail pass in 178827

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178771
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 178771
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178771
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178771
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 178771
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 178771
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178771
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 178771
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178771
 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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b84fdf521b306cce64388fe57ee6c7c00f9d3e76
baseline version:
 xen                  bfc3780f23ded229f42a2565783e21c32083bbfd

Last test of basis   178771  2023-02-28 13:11:03 Z    1 days
Testing same since   178827  2023-03-01 01:55:55 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Sergey Dyasli <sergey.dyasli@citrix.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               fail    
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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-i386-livepatch broken
broken-job test-amd64-i386-libvirt-raw broken

Not pushing.

------------------------------------------------------------
commit b84fdf521b306cce64388fe57ee6c7c00f9d3e76
Author: Anthony PERARD <anthony.perard@citrix.com>
Date:   Tue Feb 28 18:16:49 2023 +0000

    automation: Rework archlinux container
    
    Base image "archlinux/base" isn't available anymore,
        https://lists.archlinux.org/pipermail/arch-dev-public/2020-November/030181.html
    
    But instead of switching to archlinux/archlinux, we will use the
    official image from Docker. Main difference is that the first one is
    updated daily while the second is updated weekly.
    
    Also, as we will install the packages from "base-devel" anyway, switch
    to the "base-devel" tag.
    
    "dev86" package is now available from the main repo, no need for
    multilib repo anymore.
    
    It is recommended to initialise local signing key used by pacman, so
    let's do that.
    
    Replace "markdown" by "discount" as the former isn't available anymore
    and has been replaced by the later.
    
    Also, clean pacman's cache.
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 26ecc08b98fce0d927386058404961768d7830ca
Author: Anthony PERARD <anthony.perard@citrix.com>
Date:   Tue Feb 28 18:22:26 2023 +0000

    automation: Always pull base image when building a container
    
    Ask docker to check if there's an update of the base image to avoid
    using an old container cached locally.
    
    Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 976ae57b30d0e9432b51ca2ff408d8e52f40f280
Author: Xenia Ragiadakou <burzalodowa@gmail.com>
Date:   Tue Feb 28 16:06:06 2023 +0100

    x86/vpmu: rename {svm,vmx}_vpmu_initialise to {amd,core2}_vpmu_initialise
    
    PMU virtualization is not dependent on the hardware virtualization support.
    Rename {svm,vmx}_vpmu_initialise to {amd,core2}_vpmu_initialise because
    the {svm,vmx} prefix is misleading.
    
    Take the opportunity to remove the also misleading comment stating that
    vpmu is specific to hvm guests, and correct the filename.
    
    No functional change intended.
    
    Signed-off-by: Xenia Ragiadakou <burzalodowa@gmail.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit 1c2cb0b82a777ce8853c083e35997d335400f313
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Feb 28 16:05:48 2023 +0100

    half-revert "change assorted xenbits.xen.org links to HTTPS"
    
    This reverts the build system relevant half of commit
    a4557f515fb002010b34b79102278ea03d6b31a3, as gitlab CI can't fully cope
    with the change just yet.
    
    Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>

commit a4557f515fb002010b34b79102278ea03d6b31a3
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Feb 28 14:52:14 2023 +0100

    change assorted xenbits.xen.org links to HTTPS
    
    Also switch to xenbits.xenproject.org at this occasion.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit f1315e48a03a42f78f9b03c0a384165baf02acae
Author: Sergey Dyasli <sergey.dyasli@citrix.com>
Date:   Tue Feb 28 14:51:28 2023 +0100

    x86/ucode/AMD: late load the patch on every logical thread
    
    Currently late ucode loading is performed only on the first core of CPU
    siblings.  But according to the latest recommendation from AMD, late
    ucode loading should happen on every logical thread/core on AMD CPUs.
    
    To achieve that, introduce is_cpu_primary() helper which will consider
    every logical cpu as "primary" when running on AMD CPUs.  Also include
    Hygon in the check for future-proofing.
    
    Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 00:05:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 00:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504263.776847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXWRs-0004Oh-Rm; Thu, 02 Mar 2023 00:05:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504263.776847; Thu, 02 Mar 2023 00: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 1pXWRs-0004Oa-OX; Thu, 02 Mar 2023 00:05:28 +0000
Received: by outflank-mailman (input) for mailman id 504263;
 Thu, 02 Mar 2023 00:05: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=4tCB=62=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXWRr-0004OU-Ou
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 00:05: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 ef1bc93f-b88d-11ed-96a8-2f268f93b82a;
 Thu, 02 Mar 2023 01:05:26 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 6B853B8107E;
 Thu,  2 Mar 2023 00:05:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C7B68C433D2;
 Thu,  2 Mar 2023 00:05: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: ef1bc93f-b88d-11ed-96a8-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677715524;
	bh=3aSHgLrXL624a+53AFh5gDnDCntutIGkf/cjkFoXzp0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=efXIH/mfigy8gf9MQ7FgxjK5TwzRFPSKTEBJD9NTCg83oggVHNL4rF3LMy3HDgPi9
	 z9uGZ6/SY25xVCavvKTZ9ujUQIhDWhCw03HuAMiQAvhp2sV+YC46XtjxKB5MUhskhs
	 YWeTTM8selbSMMh/FdHaOlTxk/lcxBFCA7PdHb11zeiPxUkYKa7xr0s47k2RZhlKmQ
	 Gcb5gM/0xhB/9bM96+5XEz4vpQXd24nAW5zdmrwmkZoynjOrb/Hv8LREsg75uMIm/L
	 TAuK4LwMCBKTZ8NxgeDpQTjJQOQNGThVHx5fCYYuVLtU8qQmMerxhs7HbW3oaQmHJ1
	 lM+qxnM/MhMeQ==
Date: Wed, 1 Mar 2023 16:05:21 -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: xen-devel@lists.xenproject.org, bertrand.marquis@arm.com, wei.chen@arm.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/2] xen/cppcheck: add a way to exclude files from
 the scan
In-Reply-To: <20230301095320.264301-2-luca.fancellu@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303011558170.3680@ubuntu-linux-20-04-desktop>
References: <20230301095320.264301-1-luca.fancellu@arm.com> <20230301095320.264301-2-luca.fancellu@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, 1 Mar 2023, Luca Fancellu wrote:
> Add a way to exclude files from the scan, in this way we can skip
> some findings from the report on those files that Xen doesn't own.
> 
> To do that, introduce the exclude-list.json file under docs/misra,
> this file will be populated with relative path to the files/folder
> to be excluded.
> Introduce a new module, exclusion_file_list.py, to deal with the
> exclusion list file and use the new module in cppcheck_analysis.py
> to take a list of excluded paths to update the suppression list of
> cppcheck.
> Modified --suppress flag for cppcheck tool to remove
> unmatchedSuppression findings for those external file that are
> listed but for example not built for the current architecture.
> 
> Add documentation for the file.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> Changes from v1:
>  - Indentation fixed (Jan)
> ---
> ---
>  docs/misra/exclude-list.json                  |  4 +
>  docs/misra/exclude-list.rst                   | 44 +++++++++++
>  xen/scripts/xen_analysis/cppcheck_analysis.py | 20 ++++-
>  .../xen_analysis/exclusion_file_list.py       | 79 +++++++++++++++++++
>  4 files changed, 145 insertions(+), 2 deletions(-)
>  create mode 100644 docs/misra/exclude-list.json
>  create mode 100644 docs/misra/exclude-list.rst
>  create mode 100644 xen/scripts/xen_analysis/exclusion_file_list.py
> 
> diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
> new file mode 100644
> index 000000000000..1fb0ac67747b
> --- /dev/null
> +++ b/docs/misra/exclude-list.json
> @@ -0,0 +1,4 @@
> +{
> +    "version": "1.0",
> +    "content": []
> +}
> diff --git a/docs/misra/exclude-list.rst b/docs/misra/exclude-list.rst
> new file mode 100644
> index 000000000000..969539c46beb
> --- /dev/null
> +++ b/docs/misra/exclude-list.rst
> @@ -0,0 +1,44 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +Exclude file list for xen-analysis script
> +=========================================
> +
> +The code analysis is performed on the Xen codebase for both MISRA checkers and
> +static analysis checkers, there are some files however that needs to be removed
> +from the findings report because they are not owned by Xen and they must be kept
> +in sync with their origin (completely or even partially), hence we can't easily
> +fix findings or deviate from them.

I would stay more generic and say something like:

The code analysis is performed on the Xen codebase for both MISRA
checkers and static analysis checkers, there are some files however that
needs to be removed from the findings report for various reasons (e.g.
they are imported from external sources, they generate too many false
positive results, etc.).

But what you wrote is also OK.


> +For this reason the file docs/misra/exclude-list.json is used to exclude every
> +entry listed in that file from the final report.
> +Currently only the cppcheck analysis will use this file.
> +
> +Here is an example of the exclude-list.json file::
> +
> +|{
> +|    "version": "1.0",
> +|    "content": [
> +|        {
> +|            "rel_path": "relative/path/from/xen/file",
> +|            "comment": "This file is originated from ..."
> +|        },
> +|        {
> +|            "rel_path": "relative/path/from/xen/folder/*",
> +|            "comment": "This folder is a library"
> +|        },
> +|        {
> +|            "rel_path": "relative/path/from/xen/mem*.c",
> +|            "comment": "memcpy.c, memory.c and memcmp.c are from the outside"
> +|        }
> +|    ]
> +|}
> +
> +Here is an explanation of the fields inside an object of the "content" array:
> + - rel_path: it is the relative path from the Xen folder to the file/folder that
> +   needs to be excluded from the analysis report, it can contain a wildcard to
> +   match more than one file/folder at the time. This field is mandatory.
> + - comment: an optional comment to explain why the file is removed from the
> +   analysis.
> +
> +To ease the review and the modifications of the entries, they shall be listed in
> +alphabetical order referring to the rel_path field.
> diff --git a/xen/scripts/xen_analysis/cppcheck_analysis.py b/xen/scripts/xen_analysis/cppcheck_analysis.py
> index cc1f403d315e..e385e2c8f54a 100644
> --- a/xen/scripts/xen_analysis/cppcheck_analysis.py
> +++ b/xen/scripts/xen_analysis/cppcheck_analysis.py
> @@ -1,7 +1,8 @@
>  #!/usr/bin/env python3
>  
>  import os, re, shutil
> -from . import settings, utils, cppcheck_report_utils
> +from . import settings, utils, cppcheck_report_utils, exclusion_file_list
> +from .exclusion_file_list import ExclusionFileListError
>  
>  class GetMakeVarsPhaseError(Exception):
>      pass
> @@ -50,6 +51,21 @@ def __generate_suppression_list(out_file):
>              # header for cppcheck
>              supplist_file.write("*:*generated/compiler-def.h\n")
>  
> +            try:
> +                exclusion_file = \
> +                    "{}/docs/misra/exclude-list.json".format(settings.repo_dir)
> +                exclusion_list = \
> +                    exclusion_file_list.load_exclusion_file_list(exclusion_file)
> +            except ExclusionFileListError as e:
> +                raise CppcheckDepsPhaseError(
> +                    "Issue with reading file {}: {}".format(exclusion_file, e)
> +                )
> +
> +            # Append excluded files to the suppression list, using * as error id
> +            # to suppress every findings on that file
> +            for path in exclusion_list:
> +                supplist_file.write("*:{}\n".format(path))
> +
>              for entry in headers:
>                  filename = entry["file"]
>                  try:
> @@ -128,7 +144,7 @@ def generate_cppcheck_deps():
>   --relative-paths={}
>   --inline-suppr
>   --suppressions-list={}/suppression-list.txt
> - --suppress='unmatchedSuppression:*generated/compiler-def.h'
> + --suppress='unmatchedSuppression:*'
>   --include={}/include/xen/config.h
>   -DCPPCHECK
>  """.format(settings.outdir, CPPCHECK_BUILD_DIR, settings.xen_dir,
> diff --git a/xen/scripts/xen_analysis/exclusion_file_list.py b/xen/scripts/xen_analysis/exclusion_file_list.py
> new file mode 100644
> index 000000000000..4a47a90f5944
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/exclusion_file_list.py
> @@ -0,0 +1,79 @@
> +#!/usr/bin/env python3
> +
> +import os, glob, json
> +from . import settings
> +
> +class ExclusionFileListError(Exception):
> +    pass
> +
> +
> +def __cppcheck_path_exclude_syntax(path):
> +    # Prepending * to the relative path to match every path where the Xen
> +    # codebase could be
> +    path = "*" + path
> +
> +    # Check if the path is to a folder without the wildcard at the end
> +    if not (path.endswith(".c") or path.endswith(".h") or path.endswith("*")):

Isn't there a python call to check that it is actually a folder? I think
that would be more resilient because otherwise if someone passes a .S or
.cpp file it would be detected as directory.


> +        # The path is to a folder, if it doesn't have the final /, add it
> +        if not path.endswith("/"):
> +            path = path + "/"
> +        # Since the path is a folder, add a wildcard to the end so that
> +        # cppcheck will remove every issue related with this path
> +        path = path + "*"
> +
> +    return path
> +
> +
> +# Reads the exclusion file list and returns a list of relative path to be
> +# excluded.
> +def load_exclusion_file_list(input_file):
> +    ret = []
> +    try:
> +        with open(input_file, "rt") as handle:
> +            content = json.load(handle)
> +            entries = content['content']
> +    except json.JSONDecodeError as e:
> +        raise ExclusionFileListError(
> +                "JSON decoding error in file {}: {}".format(input_file, e)
> +        )
> +    except KeyError:
> +        raise ExclusionFileListError(
> +            "Malformed JSON file: content field not found!"
> +        )
> +    except Exception as e:
> +        raise ExclusionFileListError(
> +                "Can't open file {}: {}".format(input_file, e)
> +        )
> +
> +    for entry in entries:
> +        try:
> +            path = entry['rel_path']
> +        except KeyError:
> +            raise ExclusionFileListError(
> +                "Malformed JSON entry: rel_path field not found!"
> +            )
> +        abs_path = settings.xen_dir + "/" + path
> +        check_path = [abs_path]
> +
> +        # If the path contains wildcards, solve them
> +        if '*' in abs_path:
> +            check_path = glob.glob(abs_path)
> +
> +        # Check that the path exists
> +        for filepath_object in check_path:
> +            if not os.path.exists(filepath_object):
> +                raise ExclusionFileListError(
> +                    "Malformed path: {} refers to {} that does not exists"
> +                    .format(path, filepath_object)
> +                )
> +
> +        if settings.analysis_tool == "cppcheck":
> +            path = __cppcheck_path_exclude_syntax(path)
> +        else:
> +            raise ExclusionFileListError(
> +                "Unimplemented for {}!".format(settings.analysis_tool)
> +            )
> +
> +        ret.append(path)
> +
> +    return ret
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 00:21:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 00:21:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504272.776857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXWhi-0007To-BJ; Thu, 02 Mar 2023 00:21:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504272.776857; Thu, 02 Mar 2023 00:21:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXWhi-0007Th-8b; Thu, 02 Mar 2023 00:21:50 +0000
Received: by outflank-mailman (input) for mailman id 504272;
 Thu, 02 Mar 2023 00:21: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=4tCB=62=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXWhh-0007Tb-HB
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 00:21:49 +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 3793e3a1-b890-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 01:21:46 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 1955AB8119A;
 Thu,  2 Mar 2023 00:21:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6474EC433EF;
 Thu,  2 Mar 2023 00:21: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: 3793e3a1-b890-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677716504;
	bh=HiG5sGWJHGo1P9kF+5ROkOmITj9p1fEO+7XYUM5daDo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=J5ZpTE9x2UFeTQhZJLwfCkLRYtssWZdJJp3Z88kQo5uF/6c5I9/wCQtn+ayLXXP1a
	 hvQr2qJ35+bzjZEoUjKxon3rcpEboXaUij2OLl1YC01H7ov3UKv86UCWejxdF0Y99T
	 ElABItE0jEarg4u8gXqJdJ2afMl4K1kKQunKXsVsnU96A7gUTOR1ZlLNKBDnE98fQ4
	 MCxOGH6aDXe6mIWoJIcwqiqTJvqMdWu3K1RsrNiUsv9hv5zWjSI/mVCIV6SRg+Yy2c
	 PNa1O6Hx85QKew0kPWQ5RyPpukP6cNg3OseDd0k/aEkZtycUsvm9y2ph1rl2DW9hjy
	 BOMKWbwvhe34w==
Date: Wed, 1 Mar 2023 16:21:41 -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: xen-devel@lists.xenproject.org, bertrand.marquis@arm.com, wei.chen@arm.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>, Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH v2 2/2] xen/misra: add entries to exclude-list.json
In-Reply-To: <20230301095320.264301-3-luca.fancellu@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303011605310.3680@ubuntu-linux-20-04-desktop>
References: <20230301095320.264301-1-luca.fancellu@arm.com> <20230301095320.264301-3-luca.fancellu@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, 1 Mar 2023, Luca Fancellu wrote:
> Add entries to the exclude-list.json for those files that need to be
> excluded from the analysis scan.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>


I checked the results both x86 and arm and they look much more
reasonable (with the exception of the way too many unusedStructMember
reports on x86).

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



> ---
> This list is originated from Michal's work here:
> https://patchwork.kernel.org/project/xen-devel/patch/20221116092032.4423-1-michal.orzel@amd.com/#25123099
> and changed to adapt to this task.
> Changes from v1:
>  - updated list with new files from Stefano
>  - add comment field for every entry (Jan)
> ---
> ---
>  docs/misra/exclude-list.json | 199 ++++++++++++++++++++++++++++++++++-
>  1 file changed, 198 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
> index 1fb0ac67747b..ca1e2dd678ff 100644
> --- a/docs/misra/exclude-list.json
> +++ b/docs/misra/exclude-list.json
> @@ -1,4 +1,201 @@
>  {
>      "version": "1.0",
> -    "content": []
> +    "content": [
> +        {
> +            "rel_path": "arch/arm/arm64/cpufeature.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/arm/arm64/insn.c",
> +            "comment": "Imported on Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/arm/arm64/lib/find_next_bit.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/acpi/boot.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/acpi/cpu_idle.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/acpi/cpufreq/cpufreq.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/acpi/cpuidle_menu.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/acpi/lib.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/cpu/amd.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/cpu/centaur.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/cpu/common.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/cpu/hygon.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/cpu/intel.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/cpu/intel_cacheinfo.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/cpu/mcheck/non-fatal.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/cpu/mtrr/*",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/cpu/mwait-idle.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/delay.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/dmi_scan.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/mpparse.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/srat.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/time.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "arch/x86/x86_64/mmconf-fam10h.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "common/bitmap.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "common/bunzip2.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "common/earlycpio.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "common/inflate.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "common/libfdt/*",
> +            "comment": "External library"
> +        },
> +        {
> +            "rel_path": "common/livepatch_elf.c",
> +            "comment": "Not in scope initially as it generates many violations and it is not enabled in safety configurations"
> +        },
> +        {
> +            "rel_path": "common/lzo.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "common/lz4/decompress.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "common/radix-tree.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "common/ubsan/ubsan.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "common/un*.c",
> +            "comment": "unlz4.c implementation by Yann Collet, the others un* are from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "common/xz/*",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "common/zstd/*",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "crypto/*",
> +            "comment": "Origin is external and documented in crypto/README.source"
> +        },
> +        {
> +            "rel_path": "drivers/acpi/apei/*",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "drivers/acpi/hwregs.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "drivers/acpi/numa.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "drivers/acpi/osl.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "drivers/acpi/tables.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "drivers/acpi/tables/*",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "drivers/acpi/utilities/*",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "drivers/video/font_*",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "lib/list-sort.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "lib/rbtree.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "lib/xxhash*.c",
> +            "comment": "Imported from Linux, ignore for now"
> +        },
> +        {
> +            "rel_path": "xsm/flask/*",
> +            "comment": "Not in scope initially as it generates many violations and it is not enabled in safety configurations"
> +        }
> +    ]
>  }
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 00:23:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 00:23:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504276.776867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXWjc-00080f-MB; Thu, 02 Mar 2023 00:23:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504276.776867; Thu, 02 Mar 2023 00:23: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 1pXWjc-00080Y-Jf; Thu, 02 Mar 2023 00:23:48 +0000
Received: by outflank-mailman (input) for mailman id 504276;
 Thu, 02 Mar 2023 00:23: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=4tCB=62=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXWjb-00080S-6p
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 00:23:47 +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 7e34add7-b890-11ed-96a8-2f268f93b82a;
 Thu, 02 Mar 2023 01:23:45 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 84AE9614E5;
 Thu,  2 Mar 2023 00:23:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0951AC433EF;
 Thu,  2 Mar 2023 00:23: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: 7e34add7-b890-11ed-96a8-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677716623;
	bh=hoaV2YYfeZZYxZl8ERPMFjQBbViDaAu1zWsF/WY+DFg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=uzrV7F/VvQlYzR+2YkJhOXpyzvJGwrlXkv1L4DXiN0GZjZP24m3s15TR5nYaDcOoM
	 +h0uS/0jfalTrbK/h8s8rIrHPUMuEwmk6B7vhKiWv4TzsJdCEeJtJxLSNZT6lljw9R
	 RTDkJhgfVuUphQIwQeLHK09LaVHO4rJAFJxkn3Wi8wuLIDnWJNyfC/XsVCOI8Bg+A0
	 j252125QDDaxGfqR3WKNhbBtZRi/IL1YqM4T5nV3d086l+JaNlO2yYewPecBgbyBd9
	 ZO3/gcnbmAP/JGCBDXhHsllhUzLEhaLHQLlYilSEgQ7jd3OWSxIcCJbAPJmzIdUqZl
	 rwmT9ZtouKKDg==
Date: Wed, 1 Mar 2023 16:23:41 -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>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH] automation: Add missing and drop obsoleted aliases from
 containerize
In-Reply-To: <20230301090644.4452-1-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2303011622060.3680@ubuntu-linux-20-04-desktop>
References: <20230301090644.4452-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 Wed, 1 Mar 2023, Michal Orzel wrote:
> Add missing aliases for:
>  - debian:unstable-cppcheck
>  - debian:unstable-arm64v8-arm32-gcc
>  - ubuntu:bionic
> 
> Remove aliases for no longer used containers:
>  - centos:7.2
>  - debian:unstable-arm32-gcc
> 
> Modify docs to refer to CentOS 7 instead of 7.2 not to create confusion.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

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


> ---
> Open questions related to the CI cleanup (@Andrew, @Anthony):
>  - Why do we keep suse:sles11sp4 dockerfile?

please remove, it EOLed in 2016


>  - Why do we keep jessie dockefiles?

please remove, it EOLed in 2020


> ---
>  automation/build/README.md      | 4 ++--
>  automation/scripts/containerize | 5 +++--
>  2 files changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/automation/build/README.md b/automation/build/README.md
> index 4cc1acb6b41c..2d07cafe0eaa 100644
> --- a/automation/build/README.md
> +++ b/automation/build/README.md
> @@ -44,10 +44,10 @@ understands.
>    DOCKER_CMD=podman ./automation/scripts/containerize make
>    ```
>  
> -- CONTAINER: This overrides the container to use. For CentOS 7.2, use:
> +- CONTAINER: This overrides the container to use. For CentOS 7, use:
>  
>    ```
> -  CONTAINER=centos72 ./automation/scripts/containerize make
> +  CONTAINER=centos7 ./automation/scripts/containerize make
>    ```
>  
>  - CONTAINER_PATH: This overrides the path that will be available under the
> diff --git a/automation/scripts/containerize b/automation/scripts/containerize
> index 9b1a302d0565..5476ff0ea10d 100755
> --- a/automation/scripts/containerize
> +++ b/automation/scripts/containerize
> @@ -29,7 +29,6 @@ case "_${CONTAINER}" in
>      _archlinux|_arch) CONTAINER="${BASE}/archlinux:current" ;;
>      _riscv64) CONTAINER="${BASE}/archlinux:current-riscv64" ;;
>      _centos7) CONTAINER="${BASE}/centos:7" ;;
> -    _centos72) CONTAINER="${BASE}/centos:7.2" ;;
>      _fedora) CONTAINER="${BASE}/fedora:29";;
>      _focal) CONTAINER="${BASE}/ubuntu:focal" ;;
>      _jessie) CONTAINER="${BASE}/debian:jessie" ;;
> @@ -39,8 +38,10 @@ case "_${CONTAINER}" in
>      _buster-gcc-ibt) CONTAINER="${BASE}/debian:buster-gcc-ibt" ;;
>      _unstable|_) CONTAINER="${BASE}/debian:unstable" ;;
>      _unstable-i386) CONTAINER="${BASE}/debian:unstable-i386" ;;
> -    _unstable-arm32-gcc) CONTAINER="${BASE}/debian:unstable-arm32-gcc" ;;
> +    _unstable-arm64v8-arm32-gcc) CONTAINER="${BASE}/debian:unstable-arm64v8-arm32-gcc" ;;
>      _unstable-arm64v8) CONTAINER="${BASE}/debian:unstable-arm64v8" ;;
> +    _unstable-cppcheck) CONTAINER="${BASE}/debian:unstable-cppcheck" ;;
> +    _bionic) CONTAINER="${BASE}/ubuntu:bionic" ;;
>      _trusty) CONTAINER="${BASE}/ubuntu:trusty" ;;
>      _xenial) CONTAINER="${BASE}/ubuntu:xenial" ;;
>      _opensuse-leap|_leap) CONTAINER="${BASE}/suse:opensuse-leap" ;;
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 00:57:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 00:57:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504281.776887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXXGE-0004JR-Fq; Thu, 02 Mar 2023 00:57:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504281.776887; Thu, 02 Mar 2023 00:57: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 1pXXGE-0004JK-D8; Thu, 02 Mar 2023 00:57:30 +0000
Received: by outflank-mailman (input) for mailman id 504281;
 Thu, 02 Mar 2023 00:57: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=4tCB=62=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXXGD-00042w-BD
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 00:57:29 +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 33c6d130-b895-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 01:57:27 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 72948B811D5;
 Thu,  2 Mar 2023 00:57:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 629F5C433EF;
 Thu,  2 Mar 2023 00:57: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: 33c6d130-b895-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677718646;
	bh=l3p5CzfPCMHZRdXXtESCrWVMuXmzOEmp1Lvn+kITVB0=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=izzcOEiqP9KlXoUZkB5z8F3fqAXDDdsIU9xC6h4bIWOapRKqAW9rLo3ermWf5GDE9
	 PBlX73VYgwFE6LewERpJ2aRFogoYkS2eXrfEQKv08QeDHy2y0tUI2yZZvJXd9UlbL3
	 6NLcQS0JVNFSVlGlqD26CJZZUQpqoKoujH1HLqggfm10PHjdHCAwkNYrBH8zTGv3fb
	 1WUkZob0EA9P8GLfIoxMpwuCTqeAV6b3MHAoogVuRCo0uXfiEqXD5vgcTgrmxn5Eho
	 mvTFMXbU2oQs/Izg8y+D4ZfTDVz9C59vcxOe/cy9tzh7NXv3JdeTA7wqFA5frYvomQ
	 BK5v2CdfRIKOg==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	cardoe@cardoe.com,
	michal.orzel@amd.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH 1/2] automation: add Ubuntu container for Xilinx hardware tests
Date: Wed,  1 Mar 2023 16:57:21 -0800
Message-Id: <20230302005722.665641-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2303011652300.3680@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2303011652300.3680@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

This container is only run on the controller PC (x86) to trigger the
test on a connected Xilinx ZCU102 physical board.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 .../build/ubuntu/xenial-xilinx.dockerfile     | 25 +++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 automation/build/ubuntu/xenial-xilinx.dockerfile

diff --git a/automation/build/ubuntu/xenial-xilinx.dockerfile b/automation/build/ubuntu/xenial-xilinx.dockerfile
new file mode 100644
index 0000000000..7e4f5d6605
--- /dev/null
+++ b/automation/build/ubuntu/xenial-xilinx.dockerfile
@@ -0,0 +1,25 @@
+FROM ubuntu:16.04
+LABEL maintainer.name="The Xen Project " \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+ENV USER root
+
+RUN mkdir /build
+WORKDIR /build
+
+# build depends
+RUN apt-get update && \
+    apt-get --quiet --yes install \
+        snmp \
+        snmp-mibs-downloader \
+        u-boot-tools \
+        device-tree-compiler \
+        cpio \
+        git \
+        gzip \
+        file \
+        && \
+        apt-get autoremove -y && \
+        apt-get clean && \
+        rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 00:57:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 00:57:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504282.776897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXXGF-0004Z8-N6; Thu, 02 Mar 2023 00:57:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504282.776897; Thu, 02 Mar 2023 00: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 1pXXGF-0004Yx-Jt; Thu, 02 Mar 2023 00:57:31 +0000
Received: by outflank-mailman (input) for mailman id 504282;
 Thu, 02 Mar 2023 00: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=4tCB=62=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXXGE-00042w-Bb
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 00:57:30 +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 343e63a2-b895-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 01:57:28 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 44DFAB81181;
 Thu,  2 Mar 2023 00:57:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5EE1AC433D2;
 Thu,  2 Mar 2023 00:57: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: 343e63a2-b895-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677718647;
	bh=/i3r6ozVQ/rSsz//fvhxWROK5Xc1/AGB+lkdqgory7w=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=ZowqZq76Mke1TMpCtvxztUNTe4GylRe2ALex2sM5T4O+X+hB3CrsPIesBpZGXqdbt
	 LMSEFb7RCllisiBPjZER8J3ArBM4QkhQCgQMWVNq/kC8E+rgIOLknMAvd7Fko+U8iq
	 AmO9rwVshYDS+c2Xjl/iZ7FlleYNf3Hc7+H7u0y1FpBzoE9PQcyYe9KuZFQVCQZDpU
	 GoztSYSi858xYpAHEvcRrJT2wEiz9k9o2EKIjljsNdEOnBO7KFLkUO2wXtZZiV07uO
	 QCvcxmKm87ECeMYPKMUV45N4Zcty6U94DNFWTEhgQtesNL2ktmM809GE+ayDOkhBkM
	 28m5S0F4+0CmA==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	cardoe@cardoe.com,
	michal.orzel@amd.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH 2/2] automation: introduce a dom0less test run on Xilinx hardware
Date: Wed,  1 Mar 2023 16:57:22 -0800
Message-Id: <20230302005722.665641-2-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2303011652300.3680@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2303011652300.3680@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

The test prepares dom0 and domU binaries and boot artifacts, similarly
to the existing QEMU test. (TBD: share preparation steps with the
regular QEMU tests.)

However, instead of running the test inside QEMU as usual, it copies
the binaries to the tftp server root, triggers a Xilinx ZCU102 board
reboot, and connects to the real serial of the board.

For now and due to its novelty, allow_failure on the Xilinx hardware
test.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 automation/gitlab-ci/test.yaml                |  19 +++
 .../scripts/xilinx-smoke-dom0less-arm64.sh    | 115 ++++++++++++++++++
 2 files changed, 134 insertions(+)
 create mode 100755 automation/scripts/xilinx-smoke-dom0less-arm64.sh

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 1c5f400b68..88bb47f26c 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -85,6 +85,25 @@ build-each-commit-gcc:
   tags:
     - x86_64
 
+xilinx-smoke-dom0less-arm64-gcc:
+  extends: .test-jobs-common
+  variables:
+    CONTAINER: ubuntu:xenial-xilinx
+    LOGFILE: qemu-smoke-xilinx.log
+  artifacts:
+    paths:
+      - smoke.serial
+      - '*.log'
+    when: always
+  tags:
+    - xilinx
+  script:
+    - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
+  needs:
+    - *arm64-test-needs
+    - alpine-3.12-gcc-arm64
+  allow_failure: true
+
 qemu-smoke-dom0-arm64-gcc:
   extends: .qemu-arm64
   script:
diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
new file mode 100755
index 0000000000..180c8b5f1c
--- /dev/null
+++ b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
@@ -0,0 +1,115 @@
+#!/bin/bash
+
+set -ex
+
+test_variant=$1
+
+if [ -z "${test_variant}" ]; then
+    passed="ping test passed"
+    domU_check="
+until ifconfig eth0 192.168.0.2 &> /dev/null && ping -c 10 192.168.0.1; do
+    sleep 30
+done
+echo \"${passed}\"
+"
+fi
+
+# DomU
+mkdir -p rootfs
+cd rootfs
+tar xzf ../binaries/initrd.tar.gz
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+echo "#!/bin/sh
+
+${domU_check}
+/bin/sh" > etc/local.d/xen.start
+chmod +x etc/local.d/xen.start
+echo "rc_verbose=yes" >> etc/rc.conf
+find . | cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz
+cd ..
+rm -rf rootfs
+
+# DOM0 rootfs
+mkdir -p rootfs
+cd rootfs
+tar xzf ../binaries/initrd.tar.gz
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+cp -ar ../binaries/dist/install/* .
+
+echo "#!/bin/bash
+
+export LD_LIBRARY_PATH=/usr/local/lib
+bash /etc/init.d/xencommons start
+
+/usr/local/lib/xen/bin/init-dom0less
+
+brctl addbr xenbr0
+brctl addif xenbr0 eth0
+ifconfig eth0 up
+ifconfig xenbr0 up
+ifconfig xenbr0 192.168.0.1
+
+xl network-attach 1 type=vif
+${dom0_check}
+" > etc/local.d/xen.start
+chmod +x etc/local.d/xen.start
+echo "rc_verbose=yes" >> etc/rc.conf
+find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
+cd ..
+
+
+TFTP=/scratch/gitlab-runner/tftp
+START=`pwd`
+
+# ImageBuilder
+echo 'MEMORY_START="0"
+MEMORY_END="0xC0000000"
+
+DEVICE_TREE="mpsoc.dtb"
+XEN="xen"
+DOM0_KERNEL="Image"
+DOM0_RAMDISK="dom0-rootfs.cpio.gz"
+XEN_CMD="console=dtuart dom0_mem=1024M"
+
+NUM_DOMUS=1
+DOMU_KERNEL[0]="Image"
+DOMU_RAMDISK[0]="domU-rootfs.cpio.gz"
+DOMU_MEM[0]="1024"
+
+LOAD_CMD="tftpb"
+UBOOT_SOURCE="boot.source"
+UBOOT_SCRIPT="boot.scr"' > $TFTP/config
+
+cp -f binaries/xen $TFTP/
+cp -f binaries/Image $TFTP/
+cp -f binaries/dom0-rootfs.cpio.gz $TFTP/
+cp -f binaries/domU-rootfs.cpio.gz $TFTP/
+
+rm -rf imagebuilder
+git clone https://gitlab.com/ViryaOS/imagebuilder
+bash imagebuilder/scripts/uboot-script-gen -t tftp -d $TFTP/ -c $TFTP/config
+
+# restart the board
+cd /scratch/gitlab-runner
+bash zcu102.sh 2
+sleep 5
+bash zcu102.sh 1
+sleep 5
+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"
+
+set -e
+(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
+exit 0
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 00:57:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 00:57:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504280.776876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXXG6-000439-8g; Thu, 02 Mar 2023 00:57:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504280.776876; Thu, 02 Mar 2023 00: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 1pXXG6-000432-65; Thu, 02 Mar 2023 00:57:22 +0000
Received: by outflank-mailman (input) for mailman id 504280;
 Thu, 02 Mar 2023 00: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=4tCB=62=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXXG5-00042w-08
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 00:57:21 +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 2d4e4a22-b895-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 01:57:17 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 3BC7DB81181;
 Thu,  2 Mar 2023 00:57:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7331BC433EF;
 Thu,  2 Mar 2023 00:57: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: 2d4e4a22-b895-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677718635;
	bh=7xx2GrNXfC3TdT/+PDqZ5iZ6Z82bWfS94N4tVQvBFjc=;
	h=Date:From:To:cc:Subject:From;
	b=ElnOy/nBRpZzOpMoYBbOatpVEPXs3hGKyga2KBwceID54jne1MWYvi7IyGGLPjmSh
	 qXO/KnKf7FMvB9Tx5bGWA0Nvmrlm9jQ0l4U6sRNORm5KqEENKc/hDudg71W3H8YLy2
	 oH55lJnBpo2c9uFKGZU36f/ZV3EnaXnyZzPCeoAy36opnfZVIdUkWbn8CwzMvdBqQg
	 Vb0di4Y5ynheSHFALflSWewEmipGw5cWR6KKz5bemCy9+U8okS5Lqp2YhUsr3kTKEv
	 FpUMRy/OYJK7GUPiYOv60W6FiiRyZnOxnd3JTVD5nOf8U039ECc8eU5nGwchcOHPp4
	 +IlcQSv60CReA==
Date: Wed, 1 Mar 2023 16:57:12 -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, cardoe@cardoe.com, michal.orzel@amd.com
Subject: [PATCH 0/2] automation: introduce a Xilinx hardware test
Message-ID: <alpine.DEB.2.22.394.2303011652300.3680@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

This short patch series introduces the first Xen gitlab-ci test run on
real hardware: a physical Xilinx ZCU102 board.

The gitlab container is run on a workstation physically connected to a
ZCU102 board. The test script looks very similar to a regular QEMU test
script, except that at the end it reboots the physical board and
connects to the serial instead of launching QEMU.

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 02:57:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 02:57:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504294.776907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXZ7r-0005B1-Fk; Thu, 02 Mar 2023 02:56:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504294.776907; Thu, 02 Mar 2023 02:56: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 1pXZ7r-0005An-AV; Thu, 02 Mar 2023 02:56:59 +0000
Received: by outflank-mailman (input) for mailman id 504294;
 Thu, 02 Mar 2023 02:56: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=4tCB=62=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXZ7q-0005Ah-2p
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 02:56:58 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e2633351-b8a5-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 03:56:55 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2D7A1614CD;
 Thu,  2 Mar 2023 02:56:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D5FF5C433EF;
 Thu,  2 Mar 2023 02:56: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: e2633351-b8a5-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677725811;
	bh=Zq+So03lJSoy8rAUDR19kmxTbmAlsBXZMBJxiclw+0I=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LF2eHQybbFKcDn3koz42UAqRnIwJatT371YmmhRpSYzZUA7sbG9cFqe6LFuqnTHxl
	 DbL620iauIHETNW66XHGvt8Uon8/w+uT+P4JJCO15ZnVmyGFHJ2tkmF8iwJZYGMVOt
	 rZKUI03vFDZfvl7+FiKjj4I4bRwzbLkbnkUsOLrz9ICidsHyXgFxNUWdNvKHAghaNw
	 fcXdfT7lVAJwSrnxcsv5rA63CJTRSMpB6BqaW91lV8c361yg+ixb0FCHU1Nbx/gENy
	 V2nZbZ8YGXB0i4GxRuGVCF8jyTJl/cegzGat/EGwuQc/eQqcu3zKKV+v0oWTysQrKH
	 A58yvg4a8rIbw==
Date: Wed, 1 Mar 2023 18:56:42 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <bertrand.marquis@arm.com>
cc: xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH] xen/arm: check max_init_domid validity
In-Reply-To: <0cf2013e5e6018cae300c39fb65ed526eac5c35c.1677511937.git.bertrand.marquis@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303011856340.686499@ubuntu-linux-20-04-desktop>
References: <0cf2013e5e6018cae300c39fb65ed526eac5c35c.1677511937.git.bertrand.marquis@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 28 Feb 2023, Bertrand Marquis wrote:
> Before trying to create a dom0less guest, check that max_init_domid
> increment will generate a valid domain ID, lower than
> DOMID_FIRST_RESERVED.
> 
> Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>

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


> ---
>  xen/arch/arm/domain_build.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index edca23b986d2..9707eb7b1bb1 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -3879,6 +3879,9 @@ void __init create_domUs(void)
>          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;
>  
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 02:58:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 02:58:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504298.776917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXZ8x-0005g2-N5; Thu, 02 Mar 2023 02:58:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504298.776917; Thu, 02 Mar 2023 02:58: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 1pXZ8x-0005fv-KO; Thu, 02 Mar 2023 02:58:07 +0000
Received: by outflank-mailman (input) for mailman id 504298;
 Thu, 02 Mar 2023 02:58: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=4tCB=62=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXZ8w-0005fn-HF
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 02:58: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 0cb07be3-b8a6-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 03:58:04 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 34F3B6153A;
 Thu,  2 Mar 2023 02:58:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3352CC433D2;
 Thu,  2 Mar 2023 02:58: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: 0cb07be3-b8a6-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677725882;
	bh=YhNasGejWCQOtt657TE7BeiFgCSOFUVKo476vfd1qqM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=HfU/Ol3uZ00xaAagbJgmGiKR1oB7D55sGe4F4CjEAqIvPSbKiMTidDCCdjf85au7b
	 T2z0xfDRlCkg7Tm+7UjBOoXnBaYYOlP7S3rQAzhhbfMyMJUI8VaOtpDPoqHk0G+C6u
	 59XQjqR4k6MPkzBBDYcJrbqijsthrC8GVyryEBBrRifQV0+6HmSXxfgmOp/btJDdq+
	 bj4+QfscVI1fJ+uS12NOCcOcodAxSbliHiDkffMSJTzcV5ILlgzEI3WAdl1i7Gy7vt
	 MuQO+pyj9WgyOgfZ/EZwe8LDcEa6A7Va751xhUvnhO1eSQAGY/qSHELJGGOup4Q+HA
	 ttpacKa+Ay2vA==
Date: Wed, 1 Mar 2023 18:57:59 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
cc: Jan Beulich <jbeulich@suse.com>, Luca Fancellu <Luca.Fancellu@arm.com>, 
    Wei Chen <Wei.Chen@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, 
    Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 07/10] xen/physinfo: add arm SVE arch capability and
 vector length
In-Reply-To: <83BA2CB8-3CF5-4E4D-993C-026D0A19D277@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303011857530.686499@ubuntu-linux-20-04-desktop>
References: <20230202110816.1252419-1-luca.fancellu@arm.com> <20230202110816.1252419-8-luca.fancellu@arm.com> <f1673cb6-6f4f-be53-ef82-2ea2045533fa@suse.com> <781EDC8B-B24C-431F-AB08-F2ACF64E4D4E@arm.com> <083e8a1f-8db6-350a-9138-58751c3fb44b@suse.com>
 <83BA2CB8-3CF5-4E4D-993C-026D0A19D277@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-22522286-1677725881=:686499"

  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-22522286-1677725881=:686499
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 23 Feb 2023, Bertrand Marquis wrote:
> Hi Jan,
> 
> > On 13 Feb 2023, at 09:36, Jan Beulich <jbeulich@suse.com> wrote:
> > 
> > On 10.02.2023 16:54, Luca Fancellu wrote:
> >>> On 2 Feb 2023, at 12:05, Jan Beulich <jbeulich@suse.com> wrote:
> >>> On 02.02.2023 12:08, Luca Fancellu wrote:
> >>>> (is hw_cap only for x86?)
> >>> 
> >>> I suppose it is, but I also expect it would better go away than be moved.
> >>> It doesn't hold a complete set of information, and it has been superseded.
> >>> 
> >>> Question is (and I think I did raise this before, perhaps in different
> >>> context) whether Arm wouldn't want to follow x86 in how hardware as well
> >>> as hypervisor derived / used ones are exposed to the tool stack
> >>> (XEN_SYSCTL_get_cpu_featureset). I guess there's nothing really precluding
> >>> that data to consist of more than just boolean fields.
> >> 
> >> Yes I guess that infrastructure could work, however I don’t have the bandwidth to
> >> put it in place at the moment, so I would like the Arm maintainers to give me a
> >> suggestion on how I can expose the vector length to XL if putting its value here
> >> needs to be avoided
> > 
> > Since you've got a reply from Andrew boiling down to the same suggestion
> > (or should I even say request), I guess it wants seriously considering
> > to introduce abstract base infrastructure first. As Andrew says, time not
> > invested now will very likely mean yet more time to be invested later.
> > 
> >>>> --- a/xen/include/public/sysctl.h
> >>>> +++ b/xen/include/public/sysctl.h
> >>>> @@ -18,7 +18,7 @@
> >>>> #include "domctl.h"
> >>>> #include "physdev.h"
> >>>> 
> >>>> -#define XEN_SYSCTL_INTERFACE_VERSION 0x00000015
> >>>> +#define XEN_SYSCTL_INTERFACE_VERSION 0x00000016
> >>> 
> >>> Why? You ...
> >>> 
> >>>> @@ -104,7 +110,8 @@ struct xen_sysctl_physinfo {
> >>>>    uint32_t cpu_khz;
> >>>>    uint32_t capabilities;/* XEN_SYSCTL_PHYSCAP_??? */
> >>>>    uint32_t arch_capabilities;/* XEN_SYSCTL_PHYSCAP_{X86,ARM,...}_??? */
> >>>> -    uint32_t pad;
> >>>> +    uint16_t arm_sve_vl_bits;
> >>>> +    uint16_t pad;
> >>>>    uint64_aligned_t total_pages;
> >>>>    uint64_aligned_t free_pages;
> >>>>    uint64_aligned_t scrub_pages;
> >>> 
> >>> ... add no new fields, and the only producer of the data zero-fills the
> >>> struct first thing.
> >> 
> >> Yes that is right, I will wait to understand how I can proceed here:
> >> 
> >> 1) rename arch_capabilities to arm_sve_vl_bits and put vector length there.
> >> 2) leave arch_capabilities untouched, no flag creation/setting, create uint32_t arm_sve_vl_bits field removing “pad”,
> >>    Use its value to determine if SVE is present or not.
> >> 3) ??
> > 
> > 3) Introduce suitable #define(s) to use part of arch_capabilities for your
> > purpose, without renaming the field. (But that's of course only if Arm
> > maintainers agree with you on _not_ going the proper feature handling route
> > right away.)
> 
> As Luca said, he does not have the required bandwidth to do this so I think it is ok for him to go with your solution 3.
> 
> @Julien/Stefano: any thoughts here ?

I am OK with that
--8323329-22522286-1677725881=:686499--


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 04:45:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 04:45:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504302.776927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXaoU-0004Ad-Fn; Thu, 02 Mar 2023 04:45:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504302.776927; Thu, 02 Mar 2023 04:45:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXaoU-0004AW-D0; Thu, 02 Mar 2023 04:45:06 +0000
Received: by outflank-mailman (input) for mailman id 504302;
 Thu, 02 Mar 2023 04:45: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=UARn=62=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pXaoT-0004AQ-0V
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 04:45:05 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id fc0bbd12-b8b4-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 05:44:58 +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 DA11C1FB;
 Wed,  1 Mar 2023 20:45:40 -0800 (PST)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6D9583F99C;
 Wed,  1 Mar 2023 20:44: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: fc0bbd12-b8b4-11ed-a550-8520e6686977
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org,
	bertrand.marquis@arm.com,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH 0/2] automation: introduce static heap and shared memory tests
Date: Thu,  2 Mar 2023 04:44:19 +0000
Message-Id: <20230302044421.136068-1-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi all,

This patch series introduces two test jobs:

Jiamei Xie (1):
  automation: arm64: Create a test job for testing static heap on qemu

jiamei.xie (1):
  automation: arm64: Create a test job for testing static shared memory
    on qemu

 automation/gitlab-ci/build.yaml               | 18 +++++++
 automation/gitlab-ci/test.yaml                | 32 +++++++++++++
 .../scripts/qemu-smoke-dom0less-arm64.sh      | 47 +++++++++++++++++++
 3 files changed, 97 insertions(+)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 04:45:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 04:45:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504304.776937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXaop-0004Xz-QN; Thu, 02 Mar 2023 04:45:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504304.776937; Thu, 02 Mar 2023 04:45: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 1pXaop-0004Xo-LU; Thu, 02 Mar 2023 04:45:27 +0000
Received: by outflank-mailman (input) for mailman id 504304;
 Thu, 02 Mar 2023 04:45: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=UARn=62=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pXaoo-0004UF-Iz
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 04:45:26 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 0bbdc0b0-b8b5-11ed-96a9-2f268f93b82a;
 Thu, 02 Mar 2023 05:45: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 36E2E1FB;
 Wed,  1 Mar 2023 20:46:07 -0800 (PST)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CB8E83F99C;
 Wed,  1 Mar 2023 20:45: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: 0bbdc0b0-b8b5-11ed-96a9-2f268f93b82a
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org,
	bertrand.marquis@arm.com,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH 1/2] automation: arm64: Create a test job for testing static heap on qemu
Date: Thu,  2 Mar 2023 04:44:20 +0000
Message-Id: <20230302044421.136068-2-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230302044421.136068-1-jiamei.xie@arm.com>
References: <20230302044421.136068-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Jiamei Xie <jiamei.xie@arm.com>

Create a new test job, called qemu-smoke-dom0less-arm64-gcc-staticheap.

Add property "xen,static-heap" under /chosen node to enable static-heap.
If the domU can start successfully with static-heap enabled, then this
test pass.

Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
---
 automation/gitlab-ci/test.yaml                 | 16 ++++++++++++++++
 .../scripts/qemu-smoke-dom0less-arm64.sh       | 18 ++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 1c5f400b68..5a9b88477a 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -133,6 +133,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
     - *arm64-test-needs
     - alpine-3.12-gcc-debug-arm64-staticmem
 
+qemu-smoke-dom0less-arm64-gcc-staticheap:
+ extends: .qemu-arm64
+ script:
+   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
+ needs:
+   - *arm64-test-needs
+   - alpine-3.12-gcc-arm64
+
+qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
+ extends: .qemu-arm64
+ script:
+   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
+ needs:
+   - *arm64-test-needs
+   - alpine-3.12-gcc-debug-arm64
+
 qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
   extends: .qemu-arm64
   script:
diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
index 182a4b6c18..4e73857199 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
@@ -27,6 +27,11 @@ fi
 "
 fi
 
+if [[ "${test_variant}" == "static-heap" ]]; then
+    passed="${test_variant} test passed"
+    domU_check="echo \"${passed}\""
+fi
+
 if [[ "${test_variant}" == "boot-cpupools" ]]; then
     # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler
     passed="${test_variant} test passed"
@@ -128,6 +133,19 @@ if [[ "${test_variant}" == "static-mem" ]]; then
     echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> binaries/config
 fi
 
+if [[ "${test_variant}" == "static-heap" ]]; then
+    # ImageBuilder uses the config file to create the uboot script. Devicetree
+    # will be set via the generated uboot script.
+    # The valid memory range is 0x40000000 to 0x80000000 as defined before.
+    # ImageBuillder sets the kernel and ramdisk range based on the file size.
+    # It will use the memory range between 0x45600000 to 0x47AED1E8, so set
+    # memory range between 0x50000000 and 0x80000000 as static heap.
+    echo  '
+STATIC_HEAP="0x50000000 0x30000000"
+# The size of static heap should be greater than the guest memory
+DOMU_MEM[0]="128"' >> binaries/config
+fi
+
 if [[ "${test_variant}" == "boot-cpupools" ]]; then
     echo '
 CPUPOOL[0]="cpu@1 null"
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 04:45:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 04:45:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504306.776947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXaov-0004tu-VX; Thu, 02 Mar 2023 04:45:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504306.776947; Thu, 02 Mar 2023 04:45: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 1pXaov-0004tn-SS; Thu, 02 Mar 2023 04:45:33 +0000
Received: by outflank-mailman (input) for mailman id 504306;
 Thu, 02 Mar 2023 04: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=UARn=62=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pXaov-0004AQ-66
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 04:45:33 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 0f9f7499-b8b5-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 05:45: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 CB24A1FB;
 Wed,  1 Mar 2023 20:46:13 -0800 (PST)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6BD653F99C;
 Wed,  1 Mar 2023 20: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: 0f9f7499-b8b5-11ed-a550-8520e6686977
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org,
	bertrand.marquis@arm.com,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH 2/2] automation: arm64: Create a test job for testing static shared memory on qemu
Date: Thu,  2 Mar 2023 04:44:21 +0000
Message-Id: <20230302044421.136068-3-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230302044421.136068-1-jiamei.xie@arm.com>
References: <20230302044421.136068-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Create a new test job, called qemu-smoke-dom0less-arm64-gcc-static-shared-mem.

Adjust qemu-smoke-dom0less-arm64.sh script to accomodate the static
shared memory test as a new test variant. The test variant is determined
based on the first argument passed to the script. For testing static
shared memory, the argument is 'static-shared-mem'.

The test configures two dom0less DOMUs with a static shared memory
region and adds a check in the init script.

The check consists in comparing the contents of the /proc/device-tree/reserved-memory
xen-shmem entry with the static shared memory range and id with which
DOMUs were configured. If the memory layout is correct, a message gets
printed by DOMU.

At the end of the qemu run, the script searches for the specific message
in the logs and fails if not found.

Signed-off-by: jiamei.xie <jiamei.xie@arm.com>
---
 automation/gitlab-ci/build.yaml               | 18 ++++++++++++
 automation/gitlab-ci/test.yaml                | 16 ++++++++++
 .../scripts/qemu-smoke-dom0less-arm64.sh      | 29 +++++++++++++++++++
 3 files changed, 63 insertions(+)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 38bb22d860..820cc0af83 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -623,6 +623,24 @@ alpine-3.12-gcc-debug-arm64-staticmem:
       CONFIG_UNSUPPORTED=y
       CONFIG_STATIC_MEMORY=y
 
+alpine-3.12-gcc-arm64-static-shared-mem:
+  extends: .gcc-arm64-build
+  variables:
+    CONTAINER: alpine:3.12-arm64v8
+    EXTRA_XEN_CONFIG: |
+      CONFIG_UNSUPPORTED=y
+      CONFIG_STATIC_MEMORY=y
+      CONFIG_STATIC_SHM=y
+
+alpine-3.12-gcc-debug-arm64-static-shared-mem:
+  extends: .gcc-arm64-build-debug
+  variables:
+    CONTAINER: alpine:3.12-arm64v8
+    EXTRA_XEN_CONFIG: |
+      CONFIG_UNSUPPORTED=y
+      CONFIG_STATIC_MEMORY=y
+      CONFIG_STATIC_SHM=y
+
 alpine-3.12-gcc-arm64-boot-cpupools:
   extends: .gcc-arm64-build
   variables:
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 5a9b88477a..f4d36babda 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -149,6 +149,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
    - *arm64-test-needs
    - alpine-3.12-gcc-debug-arm64
 
+qemu-smoke-dom0less-arm64-gcc-static-shared-mem:
+  extends: .qemu-arm64
+  script:
+    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
+  needs:
+    - *arm64-test-needs
+    - alpine-3.12-gcc-arm64-static-shared-mem
+
+qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
+  extends: .qemu-arm64
+  script:
+    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
+  needs:
+    - *arm64-test-needs
+    - alpine-3.12-gcc-debug-arm64-static-shared-mem
+
 qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
   extends: .qemu-arm64
   script:
diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
index 4e73857199..fe3a282726 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
@@ -32,6 +32,25 @@ if [[ "${test_variant}" == "static-heap" ]]; then
     domU_check="echo \"${passed}\""
 fi
 
+
+if [[ "${test_variant}" == "static-shared-mem" ]]; then
+    passed="${test_variant} test passed"
+    SHARED_MEM_HOST="50000000"
+    SHARED_MEM_GUEST="4000000"
+    SHARED_MEM_SIZE="10000000"
+    SHARED_MEM_ID="my-shared-mem-0"
+
+    domU_check="
+current_id=\$(cat /proc/device-tree/reserved-memory/xen-shmem@4000000/xen,id 2>/dev/null)
+expected_id=\"\$(echo ${SHARED_MEM_ID})\"
+current_reg=\$(hexdump -e '16/1 \"%02x\"' /proc/device-tree/reserved-memory/xen-shmem@4000000/reg 2>/dev/null)
+expected_reg=$(printf \"%016x%016x\" 0x${SHARED_MEM_GUEST} 0x${SHARED_MEM_SIZE})
+if [[ \"\${expected_reg}\" == \"\${current_reg}\" && \"\${current_id}\" == \"\${expected_id}\" ]]; then
+    echo \"${passed}\"
+fi
+    "
+fi
+
 if [[ "${test_variant}" == "boot-cpupools" ]]; then
     # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler
     passed="${test_variant} test passed"
@@ -133,6 +152,16 @@ if [[ "${test_variant}" == "static-mem" ]]; then
     echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> binaries/config
 fi
 
+if [[ "${test_variant}" == "static-shared-mem" ]]; then
+echo "NUM_DOMUS=2
+DOMU_SHARED_MEM[0]=\""0x${SHARED_MEM_HOST} 0x${SHARED_MEM_GUEST} 0x${SHARED_MEM_SIZE}"\"
+DOMU_SHARED_MEM_ID[0]="${SHARED_MEM_ID}"
+DOMU_KERNEL[1]=\"Image\"
+DOMU_RAMDISK[1]=\"initrd\"
+DOMU_SHARED_MEM[1]=\"0x${SHARED_MEM_HOST} 0x${SHARED_MEM_GUEST} 0x${SHARED_MEM_SIZE}\"
+DOMU_SHARED_MEM_ID[1]=\"${SHARED_MEM_ID}\"" >> binaries/config
+fi
+
 if [[ "${test_variant}" == "static-heap" ]]; then
     # ImageBuilder uses the config file to create the uboot script. Devicetree
     # will be set via the generated uboot script.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 04:46:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 04:46:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504322.776957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXapq-0005kF-7s; Thu, 02 Mar 2023 04:46:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504322.776957; Thu, 02 Mar 2023 04:46:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXapq-0005k8-4o; Thu, 02 Mar 2023 04:46:30 +0000
Received: by outflank-mailman (input) for mailman id 504322;
 Thu, 02 Mar 2023 04: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=UARn=62=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pXapo-0004UF-O3
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 04:46:28 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 3194c8e6-b8b5-11ed-96a9-2f268f93b82a;
 Thu, 02 Mar 2023 05:46: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 8B27E1FB;
 Wed,  1 Mar 2023 20:47:10 -0800 (PST)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A67CA3F99C;
 Wed,  1 Mar 2023 20:46: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: 3194c8e6-b8b5-11ed-96a9-2f268f93b82a
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org
Subject: [ImageBuilder][PATCH 0/2] uboot-script-gen: Add support for static heap and shared memory
Date: Thu,  2 Mar 2023 04:46:04 +0000
Message-Id: <20230302044606.136130-1-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi all
This patch series is to enable to set the device tree for static heap and static
shared memory by uboot-script-gen


jiamei Xie (1):
  uboot-script-gen: Add support for static heap

jiamei.xie (1):
  uboot-script-gen: Add support for static shared memory

 README.md                | 22 +++++++++++++++++++
 scripts/uboot-script-gen | 46 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 68 insertions(+)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 04:46:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 04:46:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504323.776967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXapz-00064U-FM; Thu, 02 Mar 2023 04:46:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504323.776967; Thu, 02 Mar 2023 04: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 1pXapz-00064N-CU; Thu, 02 Mar 2023 04:46:39 +0000
Received: by outflank-mailman (input) for mailman id 504323;
 Thu, 02 Mar 2023 04:46:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UARn=62=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pXapx-0004UF-VL
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 04:46:37 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 372bf543-b8b5-11ed-96a9-2f268f93b82a;
 Thu, 02 Mar 2023 05:46:37 +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 17E131FB;
 Wed,  1 Mar 2023 20:47:20 -0800 (PST)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 3BC4C3F99C;
 Wed,  1 Mar 2023 20:46: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: 372bf543-b8b5-11ed-96a9-2f268f93b82a
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org
Subject: [ImageBuilder][PATCH 1/2] uboot-script-gen: Add support for static heap
Date: Thu,  2 Mar 2023 04:46:05 +0000
Message-Id: <20230302044606.136130-2-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230302044606.136130-1-jiamei.xie@arm.com>
References: <20230302044606.136130-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: jiamei Xie <jiamei.xie@arm.com>

Add a new config parameter to configure static heap.
STATIC_HEAP="baseaddr1 size1 ... baseaddrN sizeN"
if specified, indicates the host physical address regions
[baseaddr, baseaddr + size) to be reserved as static heap.

For instance, STATIC_HEAP="0x50000000 0x30000000", if specified,
indicates the host memory region starting from paddr 0x50000000
with a size of 0x30000000 to be reserved as static heap.

Signed-off-by: jiamei Xie <jiamei.xie@arm.com>
---
 README.md                |  4 ++++
 scripts/uboot-script-gen | 20 ++++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/README.md b/README.md
index 814a004..787f413 100644
--- a/README.md
+++ b/README.md
@@ -256,6 +256,10 @@ Where:
 
 - NUM_CPUPOOLS specifies the number of boot-time cpupools to create.
 
+- STATIC_HEAP="baseaddr1 size1 ... baseaddrN sizeN"
+  if specified, indicates the host physical address regions
+  [baseaddr, baseaddr + size) to be reserved as static heap.
+
 Then you can invoke uboot-script-gen as follows:
 
 ```
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index f07e334..4775293 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -189,6 +189,21 @@ function add_device_tree_static_mem()
     dt_set "$path" "xen,static-mem" "hex" "${cells[*]}"
 }
 
+function add_device_tree_static_heap()
+{
+    local path=$1
+    local regions=$2
+    local cells=()
+    local val
+
+    for val in ${regions[@]}
+    do
+        cells+=("$(printf "0x%x 0x%x" $(($val >> 32)) $(($val & ((1 << 32) - 1))))")
+    done
+
+    dt_set "$path" "xen,static-heap" "hex" "${cells[*]}"
+}
+
 function add_device_tree_cpupools()
 {
     local cpu
@@ -344,6 +359,11 @@ function xen_device_tree_editing()
     then
         add_device_tree_cpupools
     fi
+
+    if test "${STATIC_HEAP}"
+    then
+        add_device_tree_static_heap "/chosen" "${STATIC_HEAP}"
+    fi
 }
 
 function linux_device_tree_editing()
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 04:47:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 04:47:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504331.776977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXaqO-0006n0-V6; Thu, 02 Mar 2023 04:47:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504331.776977; Thu, 02 Mar 2023 04:47: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 1pXaqO-0006mt-Qh; Thu, 02 Mar 2023 04:47:04 +0000
Received: by outflank-mailman (input) for mailman id 504331;
 Thu, 02 Mar 2023 04:47:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UARn=62=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pXaqN-0006L7-TG
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 04:47:04 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 45ab1e52-b8b5-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 05:47:01 +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 7A4E31FB;
 Wed,  1 Mar 2023 20:47:44 -0800 (PST)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 9D2303F99C;
 Wed,  1 Mar 2023 20:46: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: 45ab1e52-b8b5-11ed-a550-8520e6686977
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org
Subject: [ImageBuilder][PATCH 2/2] uboot-script-gen: Add support for static shared memory
Date: Thu,  2 Mar 2023 04:46:06 +0000
Message-Id: <20230302044606.136130-3-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230302044606.136130-1-jiamei.xie@arm.com>
References: <20230302044606.136130-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce support for creating shared-mem node for dom0less domUs in
the device tree. Add the following options:
- DOMU_SHARED_MEM[number]="HPA GPA size"
  if specified, indicates the host physical address HPA will get mapped
  at guest address GPA in domU and the memory of size will be reserved
  to be shared memory.
- DOMU_SHARED_MEM_ID[number]
  An arbitrary string that represents the unique identifier of the shared
  memory region, with a strict limit on the number of characters(\0
  included)

The static shared memory is used between two dom0less domUs.

Below is an example:
NUM_DOMUS=2
DOMU_SHARED_MEM[0]="0x50000000 0x6000000 0x10000000"
DOMU_SHARED_MEM_ID[0]="my-shared-mem-0"
DOMU_SHARED_MEM[1]="0x50000000 0x6000000 0x10000000"
DOMU_SHARED_MEM_ID[1]="my-shared-mem-0"

This static shared memory region is identified as "my-shared-mem-0", host
physical address starting at 0x50000000 of 256MB will be reserved to be
shared between two domUs. It will get mapped at 0x6000000 in both guest
physical address space. Both DomUs are the borrower domain, the owner
domain is the default owner domain DOMID_IO.

Signed-off-by: jiamei.xie <jiamei.xie@arm.com>
---
 README.md                | 18 ++++++++++++++++++
 scripts/uboot-script-gen | 26 ++++++++++++++++++++++++++
 2 files changed, 44 insertions(+)

diff --git a/README.md b/README.md
index 787f413..48044ee 100644
--- a/README.md
+++ b/README.md
@@ -192,6 +192,24 @@ Where:
   if specified, indicates the host physical address regions
   [baseaddr, baseaddr + size) to be reserved to the VM for static allocation.
 
+- DOMU_SHARED_MEM[number]="HPA GPA size" and DOMU_SHARED_MEM_ID[number]
+  if specified, indicate the host physical address HPA will get mapped at
+  guest address GPA in domU and the memory of size will be reserved to be
+  shared memory. The shared memory is used between two dom0less domUs.
+
+  Below is an example:
+  NUM_DOMUS=2
+  DOMU_SHARED_MEM[0]="0x50000000 0x6000000 0x10000000"
+  DOMU_SHARED_MEM_ID[0]="my-shared-mem-0"
+  DOMU_SHARED_MEM[1]="0x50000000 0x6000000 0x10000000"
+  DOMU_SHARED_MEM_ID[1]="my-shared-mem-0"
+
+  This static shared memory region is identified as "my-shared-mem-0", host
+  physical address starting at 0x50000000 of 256MB will be reserved to be
+  shared between two domUs. It will get mapped at 0x6000000 in both guest
+  physical address space. Both DomUs are the borrower domain, the owner
+  domain is the default owner domain DOMID_IO.
+
 - DOMU_DIRECT_MAP[number] can be set to 1 or 0.
   If set to 1, the VM is direct mapped. The default is 1.
   This is only applicable when DOMU_STATIC_MEM is specified.
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index 4775293..46215c8 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -204,6 +204,27 @@ function add_device_tree_static_heap()
     dt_set "$path" "xen,static-heap" "hex" "${cells[*]}"
 }
 
+function add_device_tree_static_shared_mem()
+{
+    local path=$1
+    local domid=$2
+    local regions=$3
+    local SHARED_MEM_ID=$4
+    local cells=()
+    local SHARED_MEM_HOST=${regions%% *}
+
+    dt_mknode "${path}" "domU${domid}-shared-mem@${SHARED_MEM_HOST}"
+
+    for val in ${regions[@]}
+    do
+        cells+=("$(printf "0x%x 0x%x" $(($val >> 32)) $(($val & ((1 << 32) - 1))))")
+    done
+
+    dt_set "${path}/domU${domid}-shared-mem@${SHARED_MEM_HOST}" "compatible" "str" "xen,domain-shared-memory-v1"
+    dt_set "${path}/domU${domid}-shared-mem@${SHARED_MEM_HOST}" "xen,shm-id" "str" "${SHARED_MEM_ID}"
+    dt_set "${path}/domU${domid}-shared-mem@${SHARED_MEM_HOST}" "xen,shared-mem" "hex" "${cells[*]}"
+}
+
 function add_device_tree_cpupools()
 {
     local cpu
@@ -329,6 +350,11 @@ function xen_device_tree_editing()
             dt_set "/chosen/domU$i" "xen,enhanced" "str" "enabled"
         fi
 
+        if test -n "${DOMU_SHARED_MEM[i]}" -a -n "${DOMU_SHARED_MEM_ID[i]}"
+        then
+                add_device_tree_static_shared_mem "/chosen/domU${i}" "${i}" "${DOMU_SHARED_MEM[i]}" "${DOMU_SHARED_MEM_ID[i]}"
+        fi
+
         if test "${DOMU_COLORS[$i]}"
         then
             local startcolor=$(echo "${DOMU_COLORS[$i]}"  | cut -d "-" -f 1)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 06:11:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 06:11:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504346.776987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXc9W-0002cB-VN; Thu, 02 Mar 2023 06:10:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504346.776987; Thu, 02 Mar 2023 06:10:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXc9W-0002c4-Ri; Thu, 02 Mar 2023 06:10:54 +0000
Received: by outflank-mailman (input) for mailman id 504346;
 Thu, 02 Mar 2023 06:10:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pXc9V-0002bu-HK; Thu, 02 Mar 2023 06:10:53 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pXc9V-0008BU-Eu; Thu, 02 Mar 2023 06:10:53 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pXc9V-0002fH-1q; Thu, 02 Mar 2023 06:10:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXc9V-0000gH-1N; Thu, 02 Mar 2023 06:10:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=tqzAmT4NLW2xLylPKlCw0Tgu9ZuZKtxeK21J4DsGkCI=; b=248TakP3EVBN+XbNmVutkdBGyg
	xsJVWtNCfGRphvquzYc3e8h/0NQ98du8M8F5Rucc/v0PE9uZD8waW4lgk0+d9R5SvTiePkiZW5fpC
	sWK1EyHY1pCJJySLfjEglsJfLCItdqhbUO6F2G9UyJpxzdXCy+gjDpty73X+DBXHa+cM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178910-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 178910: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    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-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=ee3f96b164688dae21e2466a57f2e806b64e8a37
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 02 Mar 2023 06:10:53 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 178042
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 17 guest-stop               fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 178042
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                ee3f96b164688dae21e2466a57f2e806b64e8a37
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z    8 days
Failing since        178093  2023-02-22 05:02:47 Z    8 days   16 attempts
Testing same since   178910  2023-03-01 21:14:06 Z    0 days    1 attempts

------------------------------------------------------------
1969 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 07:16:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 07:16:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504352.776997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXdAJ-0002g1-Nd; Thu, 02 Mar 2023 07:15:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504352.776997; Thu, 02 Mar 2023 07:15:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXdAJ-0002fu-Jt; Thu, 02 Mar 2023 07:15:47 +0000
Received: by outflank-mailman (input) for mailman id 504352;
 Thu, 02 Mar 2023 07:15: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=UTIr=62=gmail.com=asr7247@srs-se1.protection.inumbo.net>)
 id 1pXdAI-0002fj-P8
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 07:15:46 +0000
Received: from mail-vs1-xe2e.google.com (mail-vs1-xe2e.google.com
 [2607:f8b0:4864:20::e2e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0954c947-b8ca-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 08:15:41 +0100 (CET)
Received: by mail-vs1-xe2e.google.com with SMTP id o6so21515923vsq.10;
 Wed, 01 Mar 2023 23:15: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: 0954c947-b8ca-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=JVYkfeLqT4XmNG+0ob80P9Rtrn3EjXPZbX3os24Vt+0=;
        b=fIQV1J6I4+uJzHEUo8pKv7LZL9wMf8v+VoIR6IfjJ5s9lj1igg79z/rHcy9ciSUm5L
         Wm+kWsqrTAch4ZLqyvc7z24HUbMU9ec+vjjtTrEeFpPRneRhU1aiBvpegfSGCtWSD+Hu
         MkqYjhaN2I5LL+R42VHzNG3vdScA61ALogJVpTu4D6z6xHybUNfHNiebPCiZm86CZtAU
         PStDGjfr2HbdMcZvDtsDI7z3WNtPU4dUDvxLjKP82mKWU87AmY+pBN8G+194vHT51JDY
         ZAEtwpUUS/x5/JqWLQ4Y0J6A3FjpBoD6Dk03gqMNBJ1szYr9bmW0gDc+gleKGByixJa2
         LoyA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=JVYkfeLqT4XmNG+0ob80P9Rtrn3EjXPZbX3os24Vt+0=;
        b=ckyshxzMzsE8S9qLmGcv3qbOTvggClCW3virYzl/Jzl3mFDlGdVoMV6U7ypnc3xYUr
         LWHiHAu7wsERG5wC/CZkVeS0+MlcD1qvmu2gT/L77xL1oGaDPj+XUJ6v6tcCvZ6NHGJA
         brRK7Ava4D2DNDVJail7lKknMNtkD8P5NwBLgas5t7VmXfSJLx2bdLHrb62JqBNiyOeY
         uWn4Lx716WR6jeFZMn/URJSr6xqUSlyR/UYoGHd+XANuHbkqChVSLyUUKKso/7zka2nX
         zk4lVBa0DO/ZCgrDas+ML5AOwe1+E/xly8OeDOuYHfPIrERSQDwmYWxJqS/nbBDVLs4L
         YO4g==
X-Gm-Message-State: AO0yUKX1fhiQVdr/UrtaLQoWRqVOJHgjqL/bl1b6pTgjAsjHCejlg53c
	IhiauZOa/5kpAYiOyLPRCmp8wsZTYugEjxqwiZC2vzz3QT3uJw==
X-Google-Smtp-Source: AK7set/hFHrLiP/Z73xPu94gBvAt57X47ReTaUAh9biG14pXpwd1imO2gTlqqTb3oZnWLnN9YmU7018lXL5oDLpImQA=
X-Received: by 2002:a67:ee19:0:b0:416:8ea0:7f9b with SMTP id
 f25-20020a67ee19000000b004168ea07f9bmr6232771vsp.2.1677741340849; Wed, 01 Mar
 2023 23:15:40 -0800 (PST)
MIME-Version: 1.0
From: A Sudheer <asr7247@gmail.com>
Date: Thu, 2 Mar 2023 12:45:29 +0530
Message-ID: <CABg_Py+W73ahjzyM+5oo0qu2qQ4jJywe0mmDCcM3g7981N6Wwg@mail.gmail.com>
Subject: xl restore domu fails to load state for instance 0x0 for virtio-gpu
To: xen-devel@lists.xenproject.org, xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000a57b1a05f5e59895"

--000000000000a57b1a05f5e59895
Content-Type: text/plain; charset="UTF-8"

Hi All,

i am verifying xl save/restore functionality. While restoring the ubuntu
domu state , it fails with instance error for "virtio-gpu". Can someone
help how to overcome this error.

*Setup:*
Dom0 : Ubuntu + Xen + qemu
DomU: Ubuntu

*Error:*
qemu-system-i386: Failed to load virtio-gpu:virtio-gpu
qemu-system-i386: error while loading state for instance 0x0 of device
'0000:00:03.0/virtio-gpu'
qemu-system-i386: load of migration failed: Invalid argument

Thanks
Sudheer

--000000000000a57b1a05f5e59895
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi All,<div><br></div><div>i am verifying xl save/restore =
functionality. While restoring the ubuntu domu state , it fails with instan=
ce error for &quot;virtio-gpu&quot;. Can someone help how to overcome this =
error.</div><div><br></div><div><b><u>Setup:</u></b></div><div>Dom0 : Ubunt=
u=C2=A0+ Xen=C2=A0+ qemu</div><div>DomU: Ubuntu</div><div><b><u><br></u></b=
></div><div><b><u>Error:</u></b></div><div>qemu-system-i386: Failed to load=
 virtio-gpu:virtio-gpu<br>qemu-system-i386: error while loading state for i=
nstance 0x0 of device &#39;0000:00:03.0/virtio-gpu&#39;<br>qemu-system-i386=
: load of migration failed: Invalid argument<br><br></div><div>Thanks</div>=
<div>Sudheer</div></div>

--000000000000a57b1a05f5e59895--


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 07:34:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 07:34:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504382.777024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXdSc-0006ox-SS; Thu, 02 Mar 2023 07:34:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504382.777024; Thu, 02 Mar 2023 07: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 1pXdSc-0006oq-Pe; Thu, 02 Mar 2023 07:34:42 +0000
Received: by outflank-mailman (input) for mailman id 504382;
 Thu, 02 Mar 2023 07: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=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXdSa-0006oj-K1
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 07:34:40 +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 b046363b-b8cc-11ed-96a9-2f268f93b82a;
 Thu, 02 Mar 2023 08:34:38 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id s22so20923592lfi.9
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 23:34:38 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 u12-20020ac2518c000000b004dc4bba8fa6sm2018653lfi.164.2023.03.01.23.34.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 23:34: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: b046363b-b8cc-11ed-96a9-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677742478;
        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=eZmnKQ3RloZIRJndumLQzxh0LauPdJrZ1rvwxEFJRLk=;
        b=ZMvJek+l4Y3x42OuvdyGN2j5stXjg+hiVqwXW/Xkh5LLZfK09vLRUdW3z/LzVKuaHT
         h6kxcvWeriXgZJ07wmJJBVExDgol7wrl9BKBsqPNzir+pVATPrIosFX/xjZODZwb0E2W
         UIS/778f2hBy4jxmd80Jb2lyaH5y+OfVpNQwSwYSe+ROI2HX4egGI3MHrDZbjyMxCVMJ
         ciUn33lkwwMqRh0PBTfYWWQIbO8pzq8FAL3x4dikHUi8wvkVXTA8dk88DEUbiAQrP9gW
         z/LdUJwAr+1496+0tN1eI4FQSMARJ0nuBPBZ/dK0n9EzbnDtMVn2ZBcQBinrhx2bDzOe
         SKeQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677742478;
        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=eZmnKQ3RloZIRJndumLQzxh0LauPdJrZ1rvwxEFJRLk=;
        b=KGXRIKirLhVZteN38HnsyHZBs2qudBaEQ0ZNWqK8bwWlZCfBK3ojj3Fj7epmyAtDWd
         Jsm/rB4Jmu/HFN7uybOH2D1O3AQbOtB7rb/mmxeKON00/RitTFroO4m7IEpiXoax5oBB
         +rt5dO4HGTObpnFVeMjvNNTs/5NqhD3vevQv/YTLKr1YOwlZBiK+gditzmXZ6YulpYDv
         32DEzmwkKZk0N87NCOwlSamHswYkzcrxQ0cIi1kILcqffEwMhAB3b0FNnuxSDinRKO6Y
         Hn0zQTeSYjNjf/VJ6zOtuNM24ftTINR1DJyGZrXQ7VhXSIQsh2SQYOsO9URcPjT4MN16
         8Kww==
X-Gm-Message-State: AO0yUKVvdLwhWqWh1Qiw+V3Ye6ivOhTgRSchxgrSmSYpkdD5CBmDN/Ms
	2MC/VlOoZ/G4OWa4XU/xLcBAP43ouBI=
X-Google-Smtp-Source: AK7set9FDxwAXhEPPnPIW4VArHuxU0QkkXOQEC6lHKGAMGTyQwhHgaNbk4TkN2V1oNH2bPRDW/Oz7w==
X-Received: by 2002:ac2:4828:0:b0:4a4:68b9:6085 with SMTP id 8-20020ac24828000000b004a468b96085mr2524484lft.16.1677742478107;
        Wed, 01 Mar 2023 23:34:38 -0800 (PST)
Message-ID: <472fee066070db9cb3c662bf5cc6f8cb681aeb1b.camel@gmail.com>
Subject: Re: [PATCH v1] xen/arm: align *(.proc.info) in the linker script
From: Oleksii <oleksii.kurochko@gmail.com>
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>
Date: Thu, 02 Mar 2023 09:34:36 +0200
In-Reply-To: <f2f6544a-a59e-2e10-0b8f-080f91708459@xen.org>
References: 
	<74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com>
	 <370809af-75e6-546a-53e4-71a76444f367@xen.org>
	 <a9c2638cd8620d74ec719845132ef65f08b4c934.camel@gmail.com>
	 <cf15b113-ac6f-e115-6c38-38b25a265934@xen.org>
	 <f2f6544a-a59e-2e10-0b8f-080f91708459@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

Hi Julien,
> > > On Wed, 2023-03-01 at 16:21 +0000, Julien Grall wrote:
> > > > Hi Oleksii,
> > > >=20
> > > > On 01/03/2023 16:14, Oleksii Kurochko wrote:
> > > > > During testing of bug.h's macros generic implementation
> > > > > yocto-
> > > > > qemuarm
> > > > > job crashed with data abort:
> > > >=20
> > > > The commit message is lacking some information. You are telling
> > > > us
> > > > that
> > > > there is an error when building with your series, but this
> > > > doesn't
> > > > tell
> > > > me why this is the correct fix.
> > > >=20
> > > > This is also why I asked to have the xen binary because I want
> > > > to
> > > > check
> > > > whether this was a latent bug in Xen or your series effectively
> > > > introduce a bug.
> > > >=20
> > > > Note that regardless what I just wrote this is a good idea to
> > > > align
> > > > __proc_info_start. I will try to have a closer look later and
> > > > propose
> > > > a
> > > > commit message and/or any action for your other series.
> > > Regarding binaries please take a look here:
> > > https://lore.kernel.org/xen-devel/aa2862eacccfb0574859bf4cda8f4992baa=
5d2e1.camel@gmail.com/
> > >=20
> > > I am not sure if you get my answer as I had the message from
> > > delivery
> > > server that it was blocked for some reason.
> >=20
> > I got the answer. The problem now is gitlab only keep the artifact
> > for=20
> > the latest build and it only provide a zImage (having the ELF would
> > be=20
> > easier).
> >=20
> > I will try to reproduce the error on my end.
>=20
> I managed to reproduce it. It looks like that after your bug patch,=20
> *(.rodata.*) will not be end on a 4-byte boundary. Before your patch,
> all the messages will be in .rodata.str. Now they are in
> .bug_frames.*,=20
> so there some difference in .rodata.*.
>=20
> That said, it is not entirely clear why we never seen the issue
> before=20
> because my guessing there are no guarantee that .rodata.* will be=20
> suitably aligned.
>=20
> Anyway, here a proposal for the commit message:
>=20
> "
> xen/arm: Ensure the start *(.proc.info) of is 4-byte aligned
>=20
> The entries in *(.proc.info) are expected to be 4-byte aligned and
> the=20
> compiler will access them using 4-byte load instructions. On Arm32,
> the=20
> alignment is strictly enforced by the processor and will result to a=20
> data abort if it is not correct.
>=20
> However, the linker script doesn't encode this requirement. So we are
> at=20
> the mercy of the compiler/linker to have aligned the previous
> sections=20
> suitably.
>=20
> This was spotted when trying to use the upcoming generic bug=20
> infrastructure with the compiler provided by Yocto.
>=20
> Link:=20
> https://lore.kernel.org/xen-devel/6735859208c6dcb7320f89664ae298005f70827=
b.camel@gmail.com/
> "
>=20
> If you are happy with the proposed commit message, then I can update
> it=20
> while committing.
I am happy with the proposed commit message.

Thanks a lot.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 07:35:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 07:35:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504387.777034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXdTm-0007NC-6u; Thu, 02 Mar 2023 07:35:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504387.777034; Thu, 02 Mar 2023 07:35:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXdTm-0007N5-3l; Thu, 02 Mar 2023 07:35:54 +0000
Received: by outflank-mailman (input) for mailman id 504387;
 Thu, 02 Mar 2023 07:35: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=TfVa=62=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pXdTl-0007Mr-6q
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 07:35:53 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0610.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dbaa55bf-b8cc-11ed-96a9-2f268f93b82a;
 Thu, 02 Mar 2023 08:35:51 +0100 (CET)
Received: from DB6P195CA0006.EURP195.PROD.OUTLOOK.COM (2603:10a6:4:cb::16) by
 DB9PR08MB9537.eurprd08.prod.outlook.com (2603:10a6:10:459::21) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6134.30; Thu, 2 Mar 2023 07:35:48 +0000
Received: from DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:cb:cafe::dc) by DB6P195CA0006.outlook.office365.com
 (2603:10a6:4:cb::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30 via Frontend
 Transport; Thu, 2 Mar 2023 07:35:48 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT014.mail.protection.outlook.com (100.127.143.22) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.19 via Frontend Transport; Thu, 2 Mar 2023 07:35:48 +0000
Received: ("Tessian outbound fcd8b5fba459:v135");
 Thu, 02 Mar 2023 07:35:48 +0000
Received: from 8f9d4ab20853.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AA282D96-F787-4111-9418-FBAC6D4169DC.1; 
 Thu, 02 Mar 2023 07:35:41 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8f9d4ab20853.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 02 Mar 2023 07:35:41 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PR3PR08MB5612.eurprd08.prod.outlook.com (2603:10a6:102:8f::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Thu, 2 Mar
 2023 07:35:39 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Thu, 2 Mar 2023
 07:35: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: dbaa55bf-b8cc-11ed-96a9-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ulrS035++udyLxjlgcWIGvI82hX5VONbyaySdXzfIh0=;
 b=542Jru/qGHLe1al0OasBAFBCendIKJW/foNdSX8fQRtvP4QNJSqoJrmO8YqgWcB0vGMuEYJexEK8lsrZOScoxV6Za7ylCK//SJGoGmsnbBBOLvzR+fzTnnIGGzJbq33cifxhyH7bIZVyxbdyIZbaeUc3WEAjYJS2Le9qv2Jf+hk=
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: 50cec23a2be772a6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BrerVn7Z7TBcq8cbZwOS8WDN2M8HRDeiOM4CrhgTOo49Lj/pJc5N+zQD/jAPRs7/TTL5nz+DodxJbBGcF7wuhhbaeJnOtf9XsFJIm7AnmciVjPC9O62Id2IlI4UqLojlhZAz6sB7UqFwNX+U3ToBkxwY55fwpSQzllgkxYINNQ7tKK6tvqPI8zE81Tk7Le5kzZyx5zbvXsPNQKIBcCt15jWHLvk5Th6bEwHtdD69xzkh23pQO49Qcqm/Rl0AeLPNB2Gu46GbdD+j5mISR9lZHdcgqQrKGKJbdEVngiLXyGn049/BaEAkbhvaDDtPJaxVBeYwlrs0pEXdyVNNz5pFwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ulrS035++udyLxjlgcWIGvI82hX5VONbyaySdXzfIh0=;
 b=V11PiSh5vavUK8ky/d4+kZrs09W0R6uAcOsNn6RqClfh/YJTAfg5LhmthT3g+TeA1Yu0/hY5e64wmIYjCWPe8SjuTHAXv72V5eHoQlYjH+uYHuCugq5gzjH3en2To18rhKcyLv1ST1GC3+AWTcWDtUedJKQVmoH2AFhhjZoQtgcPS4NV6U1jHohAxEuNp+nN7Z9EypWpCiATEIWyPcjL/Ott893Lh+mtUViwyVysS2zYDO7UBP9CAuLVScJ18oe+mLE91un8YnwpRR/nlH+tPK5UYDaP//+zVVbtMUT/h979IBUwUrV375cnp2Vk/yW2Sy/JfGXsIBjb/x4fANB4qw==
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=ulrS035++udyLxjlgcWIGvI82hX5VONbyaySdXzfIh0=;
 b=542Jru/qGHLe1al0OasBAFBCendIKJW/foNdSX8fQRtvP4QNJSqoJrmO8YqgWcB0vGMuEYJexEK8lsrZOScoxV6Za7ylCK//SJGoGmsnbBBOLvzR+fzTnnIGGzJbq33cifxhyH7bIZVyxbdyIZbaeUc3WEAjYJS2Le9qv2Jf+hk=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 12/20] xen/arm: ffa: send guest events to Secure
 Partitions
Thread-Topic: [XEN PATCH v7 12/20] xen/arm: ffa: send guest events to Secure
 Partitions
Thread-Index: AQHZRtMbJTLQExtpBE6ThIQepjPcla7km2EAgAEk3QCAAC0KAIAAP38AgAD4rYA=
Date: Thu, 2 Mar 2023 07:35:36 +0000
Message-ID: <FBA6DD13-0585-45E4-B131-1FF2EF4E10CC@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <cfd9ae67bdf24bee796b418937dd1486018fd188.1677079672.git.jens.wiklander@linaro.org>
 <3DE2B127-8820-400A-86FC-3A38F40CADFD@arm.com>
 <CAHUa44EjD7mSE0DZShoRh9PAPVPWXL0gXUpi69s-2ktaMMSa8A@mail.gmail.com>
 <8D294745-AE0E-41B7-9B42-7C463AC77F93@arm.com>
 <CAHUa44E45G7jh+LgFdF8EZ7E68MCjmXUyNK=z3QrW+Rx_hAwAA@mail.gmail.com>
In-Reply-To:
 <CAHUa44E45G7jh+LgFdF8EZ7E68MCjmXUyNK=z3QrW+Rx_hAwAA@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.3731.400.51.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_|PR3PR08MB5612:EE_|DBAEUR03FT014:EE_|DB9PR08MB9537:EE_
X-MS-Office365-Filtering-Correlation-Id: 92e846bc-5ce1-4f81-9fdd-08db1af0be20
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:
 GkRglCHnrb+eV0otLXJvu1HGg7Y1mNGBisKTUWajBSMvUNgy2AFtDb2+KBi6+JEghzflt5YlxXMayriRLnDNOjAFOLGX4dC3JBRzmCUGoTRwEKJCqmzlos7ESjBQAbVIOBsnwaqP0jCS+ZZLyE+EnVV+51kQ0Ji1omtEyDw1z0G0wRV5QIy+nf0y2hMuyagHqKXCXPrWcC28ziPFOu75UNldS+qDDzMc+L+w2QehHTcVVL1GBCjaTv/GwN1epLrYGsVfwRt4/GAw+nmX+AeUkCboRGSc18p+pvWvL7sCV6zi22FPprbazH9t6bESy0wziMfmJrZOYuqb7wniZS7M5KEouP3577jMswXgXs4x/15uF5MTWodq75+btQ1Tw0QahbkCvVlspB8hH4kO3JbVW4CJUOh/dbF8cUTQjtgTpBq8clVYxAZ/fGmXKXMKeAN1HRzGkDiXooERIfuOK5nxou4nAxLHwccz+6GRLwenRZ/3qYaiD0tHXqZLDFaVONb/V6H5GlUMlfrpKm4Guv0TLzpEUw9dQNffYyzBS+PQambqTR0lIAgjhynIFrMUqcAOXo8iobskbyILTwnUHHzrZM/l+ihVwySXbjgyJEOthTS7YI34cLMoWgzQXJoAa29PLELCnM31onnnXWUrLBJophDD4i1+fPnK47O/ClwbnKaHg5/PnAUBw7Hji6ye5Q0ZdzpvT5X9AMrFZsygdE1PMBgLKzD3PaadpL6vgIr+xF0=
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:(13230025)(4636009)(376002)(346002)(136003)(39860400002)(396003)(366004)(451199018)(36756003)(71200400001)(53546011)(6486002)(6506007)(186003)(6512007)(2616005)(6916009)(316002)(54906003)(41300700001)(91956017)(4326008)(66556008)(76116006)(66476007)(66446008)(2906002)(8676002)(64756008)(5660300002)(8936002)(478600001)(38100700002)(122000001)(33656002)(86362001)(38070700005)(66946007)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <6D18F958CEB2B642B4EF422BE238A576@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5612
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:
 DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e53f533b-0fb7-4fe8-109f-08db1af0b6e8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LViCT7zUcM23Feg4WlHBWUVG5zM6zwtQbSTqojOUe2lHXuZhQpT16Ux0EyqNMYHFKAkG7Ekulg2OOfAZ3sWqHei7/a8OYkneKKXPqxSQWJJR5kvggBOjflIyS8F2sgHWdS5Aku/fNKgx+TJDbsA43tY2mz6w12c1nhexbIPfL5oTOVNKU6YeM8c8neTH0pOscRM/UsHCTWm2722xIJYDQ43uSH9VUm4MVOY34Dp1qbDSrr9ufLk3O+tePqyWL2zGnLb/rQvvYLXaelV6ML3foM7RywM/tEpxJpzkZxROcFyN15XunT6J0oDU1eJIUyPDbbjqlPMMwkAhbpxBQAS6v/2X7yQOPD4JAH7RvVQGpsT8/8YWOmBikmzVvKUqJYE/tpWQffwVwT1jdoTbve1RWgdCv5kSFM6pxFKPrxjvc6Ij5PUi6C3h+5L0kyUBgRmYR7qtjDgBwKuEfTDgFmfFkpkUZvOO2hLtC7GGjJRiUzt4Tvl/9+w3Ns+YgW05XXuNw9BqYRPRFw0dKEFn/dlulzuPKAKKi3k0zCierY1OR7WgdL+ZubGaRGjjuVa2QjCeZ4SYsGpyuXgazhpe7Qyl7CKXPWWeRLOgg7mCsMsykWMstTizXhmTuU06i5bjzPLGsehR/+QY6UgPb13eC/RdVnDPkpYu5fkIcUJm9Plh5dSFXfE2Pnqf+nqFtXZeW6DXkIsxcmNRpXmUjIErzBf9ug==
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:(13230025)(4636009)(396003)(376002)(346002)(136003)(39860400002)(451199018)(46966006)(36840700001)(40470700004)(36756003)(336012)(2616005)(53546011)(26005)(186003)(47076005)(41300700001)(82740400003)(81166007)(8936002)(356005)(40480700001)(82310400005)(4326008)(40460700003)(70206006)(86362001)(8676002)(6862004)(70586007)(83380400001)(478600001)(5660300002)(316002)(54906003)(36860700001)(33656002)(2906002)(6486002)(6512007)(6506007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 07:35:48.7183
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 92e846bc-5ce1-4f81-9fdd-08db1af0be20
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:
	DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9537

Hi Jens,

> On 1 Mar 2023, at 17:45, Jens Wiklander <jens.wiklander@linaro.org> wrote=
:
>=20
> Hi,
>=20
> On Wed, Mar 1, 2023 at 1:58 PM Bertrand Marquis
> <Bertrand.Marquis@arm.com> wrote:
>>=20
>> Hi Jens,
>>=20
>>> On 1 Mar 2023, at 11:16, Jens Wiklander <jens.wiklander@linaro.org> wro=
te:
>>>=20
>>> Hi Bertrand,
>>>=20
>>> On Tue, Feb 28, 2023 at 5:49 PM Bertrand Marquis
>>> <Bertrand.Marquis@arm.com> wrote:
>>>>=20
>>>> Hi Jens,
>>>>=20
>>>>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> =
wrote:
>>>>>=20
>>>>> The FF-A specification defines framework messages sent as direct
>>>>> requests when certain events occurs. For instance when a VM (guest) i=
s
>>>>> created or destroyed. Only SPs which have subscribed to these events
>>>>> will receive them. An SP can subscribe to these messages in its
>>>>> partition properties.
>>>>>=20
>>>>> Adds a check that the SP supports the needed FF-A features
>>>>> FFA_PARTITION_INFO_GET and FFA_RX_RELEASE.
>>>>>=20
>>>>> The partition properties of each SP is retrieved with
>>>>> FFA_PARTITION_INFO_GET which returns the information in our RX buffer=
.
>>>>> Using FFA_PARTITION_INFO_GET changes the owner of the RX buffer to th=
e
>>>>> caller (us), so once we're done with the buffer it must be released
>>>>> using FFA_RX_RELEASE before another call can be made.
>>>>>=20
>>>>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>>>>> ---
>>>>> xen/arch/arm/tee/ffa.c | 191 ++++++++++++++++++++++++++++++++++++++++=
-
>>>>> 1 file changed, 190 insertions(+), 1 deletion(-)
>>>>>=20
>>>>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
>>>>> index 07dd5c36d54b..f1b014b6c7f4 100644
>>>>> --- a/xen/arch/arm/tee/ffa.c
>>>>> +++ b/xen/arch/arm/tee/ffa.c
>>>>> @@ -140,6 +140,14 @@
>>>>> #define FFA_MSG_SEND                    0x8400006EU
>>>>> #define FFA_MSG_POLL                    0x8400006AU
>>>>>=20
>>>>> +/* Partition information descriptor */
>>>>> +struct ffa_partition_info_1_1 {
>>>>> +    uint16_t id;
>>>>> +    uint16_t execution_context;
>>>>> +    uint32_t partition_properties;
>>>>> +    uint8_t uuid[16];
>>>>> +};
>>>>> +
>>>>> struct ffa_ctx {
>>>>>   uint32_t guest_vers;
>>>>>   bool interrupted;
>>>>> @@ -148,6 +156,12 @@ struct ffa_ctx {
>>>>> /* Negotiated FF-A version to use with the SPMC */
>>>>> static uint32_t ffa_version __ro_after_init;
>>>>>=20
>>>>> +/* SPs subscribing to VM_CREATE and VM_DESTROYED events */
>>>>> +static uint16_t *subscr_vm_created __read_mostly;
>>>>> +static unsigned int subscr_vm_created_count __read_mostly;
>>>>=20
>>>> In the spec the number is returned in w2 so you should utse uint32_t h=
ere.
>>>=20
>>> I don't understand. This value is increased for each SP which has the
>>> property set in the Partition information descriptor.
>>=20
>> Using generic types should be prevented when possible.
>=20
> I'm usually of the opposite opinion, fixed width integers should only
> be used when there's a good reason to do so. However, if this is the
> Xen philosophy I can replace all those unsigned int with uint32_t if
> that's preferable.

Safety standards usually enforce to use explicit size types to prevent
compiler dependencies.

>=20
>> Here this is a subset of the number of partition which is uint32_t (wX r=
eg) so
>> i think this would be the logical type for this.
>=20
> The maximum number is actually UINT16_MAX so an observant reader might
> wonder why the uint32_t type was used here.

Switching to uint16_t might make sense then but you will have to check that=
 you
are not going over UINT16_MAX in the code as you get a uint32_t back from t=
he call.


Cheers
Bertrand

>=20
>>=20
>>>=20
>>>>=20
>>>>> +static uint16_t *subscr_vm_destroyed __read_mostly;
>>>>> +static unsigned int subscr_vm_destroyed_count __read_mostly;
>>>>=20
>>>> Same here
>>>>=20
>>>>> +
>>>>> /*
>>>>> * Our rx/tx buffers shared with the SPMC.
>>>>> *
>>>>> @@ -237,6 +251,72 @@ static int32_t ffa_rxtx_map(register_t tx_addr, =
register_t rx_addr,
>>>>>   return ffa_simple_call(fid, tx_addr, rx_addr, page_count, 0);
>>>>> }
>>>>>=20
>>>>> +static int32_t ffa_partition_info_get(uint32_t w1, uint32_t w2, uint=
32_t w3,
>>>>> +                                      uint32_t w4, uint32_t w5,
>>>>> +                                      uint32_t *count)
>>>>> +{
>>>>> +    const struct arm_smccc_1_2_regs arg =3D {
>>>>> +        .a0 =3D FFA_PARTITION_INFO_GET,
>>>>> +        .a1 =3D w1,
>>>>> +        .a2 =3D w2,
>>>>> +        .a3 =3D w3,
>>>>> +        .a4 =3D w4,
>>>>> +        .a5 =3D w5,
>>>>> +    };
>>>>> +    struct arm_smccc_1_2_regs resp;
>>>>> +    uint32_t ret;
>>>>> +
>>>>> +    arm_smccc_1_2_smc(&arg, &resp);
>>>>> +
>>>>> +    ret =3D get_ffa_ret_code(&resp);
>>>>> +    if ( !ret )
>>>>> +        *count =3D resp.a2;
>>>>> +
>>>>> +    return ret;
>>>>> +}
>>>>> +
>>>>> +static int32_t ffa_rx_release(void)
>>>>> +{
>>>>> +    return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
>>>>> +}
>>>>> +
>>>>> +static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id=
,
>>>>> +                                      uint8_t msg)
>>>>=20
>>>> This function is actually only useable to send framework created/destr=
oyed
>>>> messages so the function name should be adapted to be less generic.
>>>>=20
>>>> ffa_send_vm_events ?
>>>>=20
>>>> unless you want to modify it later to send more framework messages ?
>>>=20
>>> That was the plan, but that may never happen. I'll rename it to
>>> ffa_send_vm_event() since we're only sending one event at a time.
>>>=20
>>>>=20
>>>>> +{
>>>>> +    uint32_t exp_resp =3D FFA_MSG_FLAG_FRAMEWORK;
>>>>> +    int32_t res;
>>>>> +
>>>>> +    if ( msg =3D=3D FFA_MSG_SEND_VM_CREATED )
>>>>> +        exp_resp |=3D FFA_MSG_RESP_VM_CREATED;
>>>>> +    else if ( msg =3D=3D FFA_MSG_SEND_VM_DESTROYED )
>>>>> +        exp_resp |=3D FFA_MSG_RESP_VM_DESTROYED;
>>>>> +    else
>>>>> +        return FFA_RET_INVALID_PARAMETERS;
>>>>> +
>>>>> +    do {
>>>>> +        const struct arm_smccc_1_2_regs arg =3D {
>>>>> +            .a0 =3D FFA_MSG_SEND_DIRECT_REQ_32,
>>>>> +            .a1 =3D sp_id,
>>>>> +            .a2 =3D FFA_MSG_FLAG_FRAMEWORK | msg,
>>>>> +            .a5 =3D vm_id,
>>>>> +        };
>>>>> +        struct arm_smccc_1_2_regs resp;
>>>>> +
>>>>> +        arm_smccc_1_2_smc(&arg, &resp);
>>>>> +        if ( resp.a0 !=3D FFA_MSG_SEND_DIRECT_RESP_32 || resp.a2 !=
=3D exp_resp )
>>>>> +        {
>>>>> +            /*
>>>>> +             * This is an invalid response, likely due to some error=
 in the
>>>>> +             * implementation of the ABI.
>>>>> +             */
>>>>> +            return FFA_RET_INVALID_PARAMETERS;
>>>>> +        }
>>>>> +        res =3D resp.a3;
>>>>> +    } while ( res =3D=3D FFA_RET_INTERRUPTED || res =3D=3D FFA_RET_R=
ETRY );
>>>>=20
>>>> We might end up in an infinite loop here or increase interrupt respons=
e time.
>>>> In the general case we could return that code directly to the VM but h=
ere we
>>>> are in the VM creation/destroy path so we cannot do that.
>>>>=20
>>>> Maybe in debug mode at least we should have a retry counter here for n=
ow
>>>> with a print ?
>>>=20
>>> OK, I'll add something.
>>>=20
>>>>=20
>>>>> +
>>>>> +    return res;
>>>>> +}
>>>>> +
>>>>> static uint16_t get_vm_id(const struct domain *d)
>>>>> {
>>>>>   /* +1 since 0 is reserved for the hypervisor in FF-A */
>>>>> @@ -371,6 +451,10 @@ static bool ffa_handle_call(struct cpu_user_regs=
 *regs)
>>>>> static int ffa_domain_init(struct domain *d)
>>>>> {
>>>>>   struct ffa_ctx *ctx;
>>>>> +    unsigned int n;
>>>>> +    unsigned int m;
>>>>> +    unsigned int c_pos;
>>>>> +    int32_t res;
>>>>>=20
>>>>>    /*
>>>>>     * We can't use that last possible domain ID or get_vm_id() would =
cause
>>>>> @@ -383,24 +467,121 @@ static int ffa_domain_init(struct domain *d)
>>>>>   if ( !ctx )
>>>>>       return -ENOMEM;
>>>>>=20
>>>>> +    for ( n =3D 0; n < subscr_vm_created_count; n++ )
>>>>> +    {
>>>>> +        res =3D ffa_direct_req_send_vm(subscr_vm_created[n], get_vm_=
id(d),
>>>>> +                                     FFA_MSG_SEND_VM_CREATED);
>>>>> +        if ( res )
>>>>> +        {
>>>>> +            printk(XENLOG_ERR "ffa: Failed to report creation of vm_=
id %u to  %u: res %d\n",
>>>>> +                   get_vm_id(d), subscr_vm_created[n], res);
>>>>=20
>>>> in this function, get_vm_id(d) will not change so i would suggest to s=
tore it in a local variable
>>>> instead of calling get_vm_id each time.
>>>=20
>>> OK
>>>=20
>>>>=20
>>>>> +            c_pos =3D n;
>>>>> +            goto err;
>>>>> +        }
>>>>> +    }
>>>>> +
>>>>>   d->arch.tee =3D ctx;
>>>>>=20
>>>>>   return 0;
>>>>> +
>>>>> +err:
>>>>> +    /* Undo any already sent vm created messaged */
>>>>> +    for ( n =3D 0; n < c_pos; n++ )
>>>>> +        for ( m =3D 0; m < subscr_vm_destroyed_count; m++ )
>>>>> +            if ( subscr_vm_destroyed[m] =3D=3D subscr_vm_created[n] =
)
>>>>> +                ffa_direct_req_send_vm(subscr_vm_destroyed[n], get_v=
m_id(d),
>>>>> +                                       FFA_MSG_SEND_VM_DESTROYED);
>>>>> +
>>>>> +    return -ENOMEM;
>>>>=20
>>>> The VM creation is not failing due to missing memory here.
>>>> We need to find a better error code.
>>>> Maybe ENOTCONN ?
>>>> I am open to ideas here :-)
>>>=20
>>> That makes sense, I'll change it to ENOTCONN.
>>>=20
>>>>=20
>>>>> }
>>>>>=20
>>>>> /* This function is supposed to undo what ffa_domain_init() has done =
*/
>>>>> static int ffa_relinquish_resources(struct domain *d)
>>>>> {
>>>>>   struct ffa_ctx *ctx =3D d->arch.tee;
>>>>> +    unsigned int n;
>>>>> +    int32_t res;
>>>>>=20
>>>>>   if ( !ctx )
>>>>>       return 0;
>>>>>=20
>>>>> +    for ( n =3D 0; n < subscr_vm_destroyed_count; n++ )
>>>>> +    {
>>>>> +        res =3D ffa_direct_req_send_vm(subscr_vm_destroyed[n], get_v=
m_id(d),
>>>>> +                                     FFA_MSG_SEND_VM_DESTROYED);
>>>>> +
>>>>> +        if ( res )
>>>>> +            printk(XENLOG_ERR "ffa: Failed to report destruction of =
vm_id %u to  %u: res %d\n",
>>>>> +                   get_vm_id(d), subscr_vm_destroyed[n], res);
>>>>> +    }
>>>>> +
>>>>>   XFREE(d->arch.tee);
>>>>>=20
>>>>>   return 0;
>>>>> }
>>>>>=20
>>>>> +static bool init_subscribers(void)
>>>>> +{
>>>>> +    struct ffa_partition_info_1_1 *fpi;
>>>>> +    bool ret =3D false;
>>>>> +    uint32_t count;
>>>>> +    int e;
>>>>> +    uint32_t n;
>>>>> +    uint32_t c_pos;
>>>>> +    uint32_t d_pos;
>>>>> +
>>>>> +    if ( ffa_version < FFA_VERSION_1_1 )
>>>>> +        return true;
>>>>=20
>>>> Correct me if i am wrong but on 1.0 version we cannot retrieve the cou=
nt but
>>>> we could do the slow path and do a first loop on info_get until we get=
 an error ?
>>>=20
>>> Sending the events is not supported in 1.0 so there's nothing to
>>> record in that case.
>>=20
>> Please add a comment here to say that subscribers are only supported aft=
er 1.1
>> and also mention it in the commit message.
>=20
> OK.
>=20
> Thanks,
> Jens




From xen-devel-bounces@lists.xenproject.org Thu Mar 02 07:48:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 07:48:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504392.777043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXdfy-0000py-B5; Thu, 02 Mar 2023 07:48:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504392.777043; Thu, 02 Mar 2023 07:48: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 1pXdfy-0000pr-8O; Thu, 02 Mar 2023 07:48:30 +0000
Received: by outflank-mailman (input) for mailman id 504392;
 Thu, 02 Mar 2023 07:48: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=x2w7=62=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pXdfx-0000pl-6x
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 07:48:29 +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 9bf73119-b8ce-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 08:48:24 +0100 (CET)
Received: from MW3PR05CA0019.namprd05.prod.outlook.com (2603:10b6:303:2b::24)
 by PH7PR12MB7820.namprd12.prod.outlook.com (2603:10b6:510:268::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Thu, 2 Mar
 2023 07:48:22 +0000
Received: from CO1NAM11FT004.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:2b:cafe::42) by MW3PR05CA0019.outlook.office365.com
 (2603:10b6:303:2b::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18 via Frontend
 Transport; Thu, 2 Mar 2023 07:48:22 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT004.mail.protection.outlook.com (10.13.175.89) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6156.19 via Frontend Transport; Thu, 2 Mar 2023 07:48: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.2375.34; Thu, 2 Mar
 2023 01:48:20 -0600
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 2 Mar 2023 01:48: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: 9bf73119-b8ce-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QYrrwelFlnmpd095XN0e/IagdGEld50aO60mJT4+OfCmYJRirehZVQg9AYWGpe9HOjCEfjTyAX57OfLahAsLNwLPfCHafUoU1iLWJEJu8ZeyIXMBXfMsGDSW7Z6MbL0yByHsvE5UC/q2hstS6Ey6N0O/5pHkW5Q97uZOWKO5Sm4MM7klm75MYB4IDujkw4YNp8aZotuHX7dXq/VGD3yAtvQxsfgu9wieQiQpJVRa0m99vlsogChZpi3p5RBh8gYgrTVzTbjJGbXzV78HVhtyGlgneH8GOzN4bKFDNJS8oqPY6ZjSWFK+J1xMNLuJRqyJPQZbh5Sk7botDsFmD6ClxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ks5PPQf3duNCvh5OioSqg24JCh6shBntudZLj1/OinE=;
 b=QofSfxvYiqf1zOmM/9b47u+4QV4icd5N+OjKsJvtJ/CRSKgHFZkD3bD2BrpqDjxcjaQStwIuJ2A/RZi1CNzQhGSvSQ4qCI/maroNPG41yDDnz2T7rPVq5H/ksGfKK48c58wiRMq5ylcVVKeMYC13ZexpRYkObzA5HWmhdMXHsDjQlXGkwsdYMM+eZd8mJ78voG2L1f6R93+4AXpnwy+rtv61IjHXbVuZORY/2JbA6GIYPjWA/0j3O/qU46BK+3dO5fmeaD2ZB5Hp2YPM/xfDMeOa2HU9o3QaTz+9XZkGdUOwfbm7yLxe1WiwcbtIHdy4WMt88zYRxbgkTWmK9wgwiQ==
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
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=ks5PPQf3duNCvh5OioSqg24JCh6shBntudZLj1/OinE=;
 b=UgWmEr7I3kflJmSjxcUbdJx4LCK+Huw4Qayl8e8G5gqhQNEis3Mu6tAfR+gYJCkd8tOcvAboFkhtU0qHBG5bKHnt36tHN8dbJK7DQGKLwBkV73Kfnediuf6TRvUp7JECnNU9gHtmTtI3drKk0k0H/hJtc/vgK4l9MDHYPttxsPA=
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: <c9e46216-2d43-b856-7310-1634d703a967@amd.com>
Date: Thu, 2 Mar 2023 08:48:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] automation: Add missing and drop obsoleted aliases from
 containerize
To: Stefano Stabellini <sstabellini@kernel.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@citrix.com>
CC: <xen-devel@lists.xenproject.org>, Doug Goldstein <cardoe@cardoe.com>
References: <20230301090644.4452-1-michal.orzel@amd.com>
 <alpine.DEB.2.22.394.2303011622060.3680@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2303011622060.3680@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: CO1NAM11FT004:EE_|PH7PR12MB7820:EE_
X-MS-Office365-Filtering-Correlation-Id: 2ebf5426-679b-45c5-ac0c-08db1af27f1a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Q0+x6xiCbhMxIs6D9v4hHTyr8mudKWvvajVYLBu3XqTgptHu/6U4p91eK+hfjQzxGAy8Ie1jav3EAOiH4dHJZdOvhumySjxOxkgFasVH+ZQoLTNBsK87fEqAcywyZa88G0uteaervA06SFPXooITnsO8IYH3guTzQ2rGn6X2ykGFOxOI9yLYMyJLvtMfxVIdhzQj3u3sip7LrxNHrNl3wTahv8bCs6C0T36Dq0n6vPtDzktUPtmJajijO2bUX8oxOugWryXs5RZd44u1/dUYBcadXtsMULn72GvRH5moc/5KCBJTAR8sNDE/ABezzTz3iIN7xGvz9LMmc7+S04MRfVHJnnk5BON8Vguw8eqBKyg9/90ISVonsEbb4wUU+yErIfbViJuFItXJhoYtLJQcgq1v/Gxt8VEiUU1UrIPYLDEjr9Gen2bDRnvTu/c/F9LbFsfqqp6rsprZ7eynRoED8vfNp9O3LCF+zrUImxm/p1pjmcSqaYHKlD5XxqpIRX6NrzaJJPT/EI5zAXB3LJtX4yqkKUH6eFvTAyhLS7JlNU6unO3tH24g2Oc2bgMNo3sxwEHhrPicCTM+YWRHT5w/XEnW/7swZ744hamyhgp1+kd743lcNgjfgyDKo67sBGDF8s9SxpNdhNSiQAIB/fEwhhekEmGtCbl1LSQ4Wr/CPZ3t8fxRntQWFTFU9qSnHdkfJ8o/1dfiHoUlh/MTf6Cza4p7LFgBxJC3vsbPWOyaWhui+7Gp4ksyevJ9a7+wWLD9OBAaP7OhfmHhwHgTTgRmlA==
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:(13230025)(4636009)(376002)(136003)(396003)(39860400002)(346002)(451199018)(36840700001)(46966006)(40470700004)(356005)(8676002)(81166007)(36860700001)(82740400003)(31696002)(36756003)(86362001)(40480700001)(2906002)(44832011)(8936002)(41300700001)(70206006)(4326008)(5660300002)(82310400005)(426003)(40460700003)(70586007)(2616005)(336012)(26005)(53546011)(186003)(110136005)(47076005)(478600001)(16576012)(316002)(54906003)(31686004)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 07:48:21.8356
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2ebf5426-679b-45c5-ac0c-08db1af27f1a
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:
	CO1NAM11FT004.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7820


On 02/03/2023 01:23, Stefano Stabellini wrote:
> 
> 
> On Wed, 1 Mar 2023, Michal Orzel wrote:
>> Add missing aliases for:
>>  - debian:unstable-cppcheck
>>  - debian:unstable-arm64v8-arm32-gcc
>>  - ubuntu:bionic
>>
>> Remove aliases for no longer used containers:
>>  - centos:7.2
>>  - debian:unstable-arm32-gcc
>>
>> Modify docs to refer to CentOS 7 instead of 7.2 not to create confusion.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> 
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> 
>> ---
>> Open questions related to the CI cleanup (@Andrew, @Anthony):
>>  - Why do we keep suse:sles11sp4 dockerfile?
> 
> please remove, it EOLed in 2016
ok will do

> 
> 
>>  - Why do we keep jessie dockefiles?
> 
> please remove, it EOLed in 2020
For this I would like to check with Anthony and Andrew \wrt recent patches
that first modified the Jessie containers to use EOL tag and then removed Jessie related jobs.
I am confused why we keep dockerfiles in git tree while not having any jobs for them.

Anthony, Andrew?

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 08:19:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 08:19:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504420.777053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXe9i-00066N-8o; Thu, 02 Mar 2023 08:19:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504420.777053; Thu, 02 Mar 2023 08:19: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 1pXe9i-00066D-6B; Thu, 02 Mar 2023 08:19:14 +0000
Received: by outflank-mailman (input) for mailman id 504420;
 Thu, 02 Mar 2023 08:19: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=PIcZ=62=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1pXe9h-00065q-EE
 for xen-devel@lists.xen.org; Thu, 02 Mar 2023 08:19:13 +0000
Received: from mail-pg1-x52c.google.com (mail-pg1-x52c.google.com
 [2607:f8b0:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8e42011-b8d2-11ed-96a9-2f268f93b82a;
 Thu, 02 Mar 2023 09:19:12 +0100 (CET)
Received: by mail-pg1-x52c.google.com with SMTP id d6so9317409pgu.2
 for <xen-devel@lists.xen.org>; Thu, 02 Mar 2023 00:19:11 -0800 (PST)
Received: from localhost ([122.172.83.155]) by smtp.gmail.com with ESMTPSA id
 y25-20020aa78559000000b00592543d7363sm9074120pfn.1.2023.03.02.00.19.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 00:19: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: e8e42011-b8d2-11ed-96a9-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677745150;
        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=dsj4gw8eOT9LdA+6gyH7R3o0TvSBiMHhi7t9smJowvY=;
        b=IsclPXqWTvxt+u5b6NFskrmfGclkpWk4a/ZTYtCmxpRtx3zzHDwIFW4L3patPoUJpi
         qqi7aUVbGkX9rgYQUC3wVCt3DbZZtx5Iryp1Ef7e6fag9CGAf6Knt8dHDNdhvi4cVVfu
         xqZjtntaYWSvostbEOnvIGnFtLnMCpB9QufKEHaa2oS1t2YBuVhlfz4ZrpqgiNGxoDpD
         VVWAtbRJe6WuttJrG8/BN2s9IPObAFnKmywuTVldPCf+sxf1o4+wSdew/K2eLKEEtN8N
         ukT110CYb5jzUeLn5DWTbrkSlMS8EVQV3CUcnVqpocdKCSxNIYS0vrHa7S10r2JQ92kP
         tQ4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677745150;
        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=dsj4gw8eOT9LdA+6gyH7R3o0TvSBiMHhi7t9smJowvY=;
        b=FdLlHnPPAaOyMg5aVPHO1JaNgxjiaJaM/IQPIkX3bsombn7IjjO9YSsbuWCscklJWD
         XPSH9o9H3ovuWBF9mkCd+YGCZURnwX3npnsozcva8jSmO/EQI65bqn9GbiB7iep62QAY
         OSnEl+xmRVX7UILQjw+xRglB04JZjICzj/4YRKcD9PDzMfOpxKB+HzJB8B10dtLZ6gfO
         wmuZdhqO5sudYBqF3sEgsLhrmkVDPaIBqXoNQfkF30Ji5bv1jISYGx/nQfJqdl43DIOj
         mZAMgbd8baj85b38Vs6VCAK22M52JfDhevxeRuow1GjWNgW9gk2ccHkxdCROlQTv3H5F
         Ed0g==
X-Gm-Message-State: AO0yUKW5lx0GARrAfyoTrI54VEYDdFzyQ/D4u6Bq0ZZ+ZGAba1V832Nh
	saukrhg8jLBCt3Hs/J0mckwA+g==
X-Google-Smtp-Source: AK7set/R/7m2YH2OxVBgHgIHB3sQI/WMTf6qYCSQuViRUx1uXw/vsbHB8XOHZu3eZC8ih4eXLUxj+Q==
X-Received: by 2002:a05:6a00:a81:b0:5a8:aa5e:4bc3 with SMTP id b1-20020a056a000a8100b005a8aa5e4bc3mr1878722pfl.1.1677745149672;
        Thu, 02 Mar 2023 00:19:09 -0800 (PST)
Date: Thu, 2 Mar 2023 13:49:07 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-devel@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	virtio-dev@lists.oasis-open.org
Subject: Re: [virtio-dev] [RFC QEMU] docs: vhost-user: Add custom memory
 mapping support
Message-ID: <20230302081907.pwt4nvz5buyt2dz3@vireshk-i7>
References: <Y/9zkDAS4odz93GM@fedora>
 <877cw0ctpr.fsf@linaro.org>
 <Y/+LdfF0rL3wEqfd@fedora>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Y/+LdfF0rL3wEqfd@fedora>

On 01-03-23, 12:29, Stefan Hajnoczi wrote:
> What is the advantage over defining separate messages? Separate messages
> are cleaner and more typesafe.

I thought we wanted to keep single message for one kind of functionality, which
is mmap related quirks here. And so it would be better if we can reuse the same
for next hypervisor which may need this.

The value parameter is not fixed and is hypervisor specific, for Xen this is the
domain id, for others it may mean something else.

> I don't have a concrete example, but was thinking of a guest that shares
> memory with other guests (like the experimental virtio-vhost-user
> device). Maybe there would be a scenario where some memory belongs to
> one domain and some belongs to another (but has been mapped into the
> first domain), and the vhost-user back-end needs to access both.

These look tricky (and real) and I am not sure how we would want to handle
these. Maybe wait until we have a real use-case ?

> The other thing that comes to mind is that the spec must clearly state
> which mmaps are affected by the Xen domain information. For example,
> just mem table memory regions and not the
> VHOST_USER_PROTOCOL_F_LOG_SHMFD feature?

Maybe we can mention that only the mmap's performed via /dev/xen/privcmd and
/dev/xen/gntdev files are affected by this ?

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 08:35:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 08:35:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504726.777064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXePe-000141-LB; Thu, 02 Mar 2023 08:35:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504726.777064; Thu, 02 Mar 2023 08:35: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 1pXePe-00013u-IT; Thu, 02 Mar 2023 08:35:42 +0000
Received: by outflank-mailman (input) for mailman id 504726;
 Thu, 02 Mar 2023 08:35: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=qSkR=62=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXePc-00013o-S8
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 08:35:40 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060b.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3513af59-b8d5-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 09:35:38 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBAPR04MB7208.eurprd04.prod.outlook.com (2603:10a6:10:1a8::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17; Thu, 2 Mar
 2023 08:35:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023
 08:35: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: 3513af59-b8d5-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UwiqhTADC363VoLCTj64kcJF6vscLBzBR2htI5Xo9S/heGOZ2xwtpo+vzlNR6nmetrz0CGrkrZhNu6ApfCGTPeMIfiXkqJrciv3xe5phpJ7v3vUs0CGyd+Ce6puSZKmCtJ0FE9MAQq0JgtcFsDGAyrPpsRo1hO4D0dzlFgMu31tsehKuj+dbHg4378jhjhOY++BE4vLgp010vxWy0lKmhiI40UOHZmndDvtovKLosyoKHepGbaCfHyJ8j3Yhv7cXLa5Ll31uFXgIo0xwXTvhhT+G0s0fZlBUme1SHUsTsUKqxEslzx0DKwMN/MptZ5xKqBTTYVnd288G6pK4FDWeaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=21IoVljNvPXy39DMbxlaeVo53U5NEfNK6NJbPt7u9ng=;
 b=ULsLDKXIzHC6K2VjqpSDMavP8LTP+EEfxJyHzl2QAkef2KjDY8+Y3CTRLGTuhPmA45R46s3o6eqdYPBjmxH8Sedi5NFelJ3Y/Gskf27TM3Gry6jLWLZbEpzl4NUwv1wfEgADOjPCGAqQnic6xfWe8jpVXjZ5xgxKzCYNXtf9ypSS5Vht1Vic2ZrUt42f8eCUehBvsprp4BrxkD4robTSXl6JZzGz8p4gPO4ZG7MjWs+pvu5WZcLflbdXhFfWTP5kDzPnJKL7gRlCsxjywewElhjggafPvx8XYcbXpwP8Qiy2zd04nAoEEnqjMRpFfJ8UBQjxtfBmB8ypMJZOK1liEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=21IoVljNvPXy39DMbxlaeVo53U5NEfNK6NJbPt7u9ng=;
 b=Id7YUWy1Z22Phfnw1p3RCqhLvIOom8NnVUmhsHB1YHNoqgFp6D0sMQ/OmnJjuiYWFtjGBmlp5dNdjsmMkDvsM4AdU/2ALgwvCyr1nJq0qUUzQbSq9RdL560Msw2RSyg7w5Cv2IVpcQMrdAMgkfu38rEIISiVBktIL7sJKHG3s9WT1jk8YeqQvWxGzqSXwhoS2LTvDNFxFboh6H79kqHU98TSPcvrUWQAM9R/mU5ornYrniURqmKh03/rtSzPv4TnvAwpxRHljC60FM32IGTYEiEG0o0hInlCzr+r0uXjnF/UPtia0stXXLT2DV42aCGONDpdLkY1iOAKq6iA3NSupA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <aa65b90a-5875-9306-692d-d3221afe785a@suse.com>
Date: Thu, 2 Mar 2023 09:35:32 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: memory access atomicity during HVM insn emulation on x86
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0084.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBAPR04MB7208:EE_
X-MS-Office365-Filtering-Correlation-Id: 75f6c7db-d4a5-46ec-ba40-08db1af9177b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rqYehhTCGML0BWOJZiAIb1S35sX6fvGK3dvLeXOLCzXnm0Tf/ZGQV6EDLXm4eG79UjZGpw5OQGhP+pm6qzyHpBR7ytEujesyQhxLutWXZHInOA8djhirT5uK1ZxySsjlVbbOXtRujKhMjEcurUDVCaGcsDmaAttEpnk6oNChmfzUkfq8RKgmmaAj1dJLEP5LohzEqBghUNlnGS7NmeOqkANIrycctjnm0m7G5M4RNP27hS3HYvyqZE88bsyPXAsMbn11UpqCmSgJ7B5I0QI5IEHk1AokMuy3XTSLex68tLBcpKpxw/D/Nm+fv1KJgd2RXp/FEHNM/VdhbvivjKIx8j0dYFwyvDn8QacAfglM5N+aHpXm15zGnyfiuzzAkKOw8RQAAPauAGA8UlXJUK1+/wl8TVwlQXyqmZYyld6vuP+HXRZ72JD8vliJReZnDqzenlXDjktmXqhRiD7R5+pohl3V0vE0jWRAvue070jGej9cXVwvhEgIQFGllPZwB1+f21qa5Uq0x4sMSBxWWlraS3PR2AaKdF3AiOIwXQcPziNqWGTDHRqAkw2neMm3JH9dggGB8U4LkWE3QPkiLgsenHHt/3FRM1CJdbckZDYw94qZ0y3fo38PnYaLvLNu4UEkJnrloUUCLtOfyq/D77Ki6Z/J/r12SKfNYlxB+AKHRVJ3aCY5T78YVJialtjvmVObuEUzWgnulKl1gDsank/VQZCNEnQOrhpkpBjkiAmHNp4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(376002)(346002)(136003)(396003)(451199018)(31686004)(66899018)(83380400001)(478600001)(54906003)(316002)(8676002)(36756003)(4326008)(38100700002)(6506007)(6916009)(26005)(6512007)(186003)(6486002)(5660300002)(66476007)(31696002)(66946007)(66556008)(2616005)(86362001)(2906002)(8936002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVFLbXAvbnRIUFVoQ0s3ZVhPQkRlWm0yd3hmRnBoRG1YN3c5MEYwUWxyb2lr?=
 =?utf-8?B?VS9kZFRVUGEvRjVWaHlMZGp3aEg5TStWUU9UaXlXRDl2TGNqekwydGZPNmxu?=
 =?utf-8?B?MVI3b01rTTRaLysrQStaZW5CejZNWWJsaTF3cmQvQ2NIZGU2Z0hCRGVEVDVO?=
 =?utf-8?B?eUhzdXRDa1JSVENWL3RXdHphbTd2ZXVWSlFtblkweHpXczhCcEU1ckxzL3Fs?=
 =?utf-8?B?aDNMUDhPZCt5REM2Z1BsZ3ZGZjRXQkdjR0VQNW9GOEhOWXFVVGNRR1AyY0F3?=
 =?utf-8?B?VGZEbWZ5Rlh6U3RMOGxEZ1dqY1NXOSt2cUplWmw0Zm1ZNHlSb0VjYUM4SGow?=
 =?utf-8?B?RUV4OVZLTkN2Y0Njenp0V0I5OUxXQzFJUWk4OEpkZ1J2enU1ak5RYndpWkRt?=
 =?utf-8?B?dU92NURvYmlXSXBlTlRmSldtZVhRdmlUMkxXSW5GZ2xYNjQ1TU5ESHN3R09O?=
 =?utf-8?B?SFVMSnhRZkZ5SXVBM0JIYUp2bG45UnpONnNLbWRvWmRmNi85MG9uWjZVMG41?=
 =?utf-8?B?Skw5Mll5WXpjaUV4RGhTc3VNNUdHRmdSWEV3ZW13N0ZCQlp1Ulg1alNXZWRq?=
 =?utf-8?B?MitWd0o1bHBEeWpobDNGK2xFOW4rT0o5Y3J1SU96RDVDWmtYbVc5UkkwWFpt?=
 =?utf-8?B?eEp3emF4MWNsa0ZwOEZnUWo2Nm1UdngxVnJLZysvWTVaLzJRSjlud1hsRjUy?=
 =?utf-8?B?c2ltT3pkZnFaaTAxOXc2Q3IvaHEvUDJ4S296UWk1b0UxenpMNXVGeFAwMnNP?=
 =?utf-8?B?dDNHOVJKMkFHN2MxMVhiR1NJdEVpZGxPclZZc2M4OWRLOEIzWHhkeVpCelJQ?=
 =?utf-8?B?c2V2NTNTaUs3c2hhU3lZb3RHanJtcTBIVmN0cDhabGNmTHo1WThFT2RyVlUz?=
 =?utf-8?B?NHV6UzlNRzN4cHVBWERRamtsSlFsNXBqTDA4ZlFzOGtwSGFKMnJpeHNkSEts?=
 =?utf-8?B?Y3RNZFN0ak9EeUR3QkVqVS83dUJuSTIrK29HZEs1d0VScU1GYWNHWGRpVW8r?=
 =?utf-8?B?Y3VKUWhOWGdjd003blJINnVxVGNQTHVkRkE2SEk4VjlxMDMyd1k4MmFvYTg1?=
 =?utf-8?B?c3I1aFNjdVpJY2FKQVJ2cnJpLzd1Q1JrRkFMbEVkcTdJT2pReUd5bXZXNGMw?=
 =?utf-8?B?b0RyVzE3d0NvbU4vVzl3bEsweUoxTTMrV3ZRNEF3Y3VIcjh2bGNELzh6QVhE?=
 =?utf-8?B?VUhtZWthZU1hNUk0SXBPeHNQWjFpQjFhOUJnTlBoM25xUmFUSTVnUGpnckVr?=
 =?utf-8?B?dEswRlFvbTJWTUhqY3NyRG5GZmsvUk1tMHRKOHIwRTJ3SzV6djNSUm1EWVVr?=
 =?utf-8?B?UStOMWo2UmRnRCtqS1NjdXp5RXJkaUdYSG5DRjdSdXJNaDhYNTRIc3phNjA2?=
 =?utf-8?B?NlJ5YTF5NDRCYzF5dDRDSnVJWUdIZ2ZvZ3hrcXdEb3ZhblBBNHZ1aCtoTytP?=
 =?utf-8?B?TmZOTXh3WFRjYldCVWZTYlQ2a1pEYVBKMFp3VDlEdzNrSHJKZEpiUXJ5NytR?=
 =?utf-8?B?TFhEMENlUFdJaHFpRThBQnU2TlExbE5kV1Q1dktzSm5xakpWU1lVcGRMMVND?=
 =?utf-8?B?cnRhalpjTEpiejNSdStUOEZTSXI4Nm1BRTI3anFFSVZUVFdlVGwrcXBNSHhx?=
 =?utf-8?B?OFNRUCtXRURoWTVsai9CdzlGS1c5dTBRYi9BRDcyV3FGM2R3R1pWaWZ5SXFO?=
 =?utf-8?B?TkUxT1NxZE94emFnOTRLamxQa2s2VGhvSXI1TlhDYzZ0UjB4VStmZVlxTDNO?=
 =?utf-8?B?QWNoVnA1U2ZuM0Z6eWFkV3RHZ016MjIrZjZjMEhaTGd1YXd5Yld2bjN4bUZy?=
 =?utf-8?B?MW9hLzVhWFBieFBONGI2MXhwdVp6M1ZiVUdhS24yK2VTTjdmdCs5Y1lRSkxG?=
 =?utf-8?B?eDlEUGJVOEJ0M2x3aisvY1Vvd3o0Y3VjNUwybmwySTRoUFBOTVl1ZHJlTVNY?=
 =?utf-8?B?b2gxckV6QjAvd0pndGd1WGxoNFRRa2oyUVNReWxVOGxiaWxDblZhOWVOMklz?=
 =?utf-8?B?c1cwU21xOW1JMEV0VHZCTnBMTnh2OWlnU2wwNmcxMW9OVlZ6NVBuZmR1cEtq?=
 =?utf-8?B?dUM4TFFGUCtSaldjeng5UjRWcXVSSm9DTDh2Wi9DbnY3WnN4ekprNkJrSHRE?=
 =?utf-8?Q?eCoH551NQQMCbYcjMi9L/TwUH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 75f6c7db-d4a5-46ec-ba40-08db1af9177b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 08:35:34.7470
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ema+8A6IrOyIIWIejjOc6szKWsNFDU8vlD2KJSDhRSSYuTAQqmtmRk71UCquziXVOCap3R0kajMWJdiUH4YsVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7208

Hello,

in (I think) Intel SDM version 076 a new guarantee of atomicity of certain
aligned 16-byte accesses appeared. While initially I thought this would be
another special case we need to invent a solution for (it still is, in
certain cases, as per further down), I had to realize that we don't even
guarantee atomicity of smaller accesses, including as simple ones as plain
16-, 32-, or 64-bit moves. All read/write operations are handled by the
very generic __hvm_copy(), which invokes memcpy() / memset(), which in
turn do byte-wise copies unless the compiler decides to inline the
operations (which from all I can tell it won't normally do for the uses in
__hvm_copy()).

The question here is whether to make __hvm_copy() handle the guaranteed-
aligned cases specially, or whether to avoid making use of that function
in those cases (i.e. deal with the cases in linear_{read,write}()). Both
options have their downsides (complicating a core function vs duplicating
a certain amount of code).

As to 16-byte atomic accesses: The SDM doesn't restrict this to WB memory.
As a result, in order to implement this correctly, we cannot just utilize
the rmw() or blk() hooks, as these expect to operate on guest RAM (which
they can map and then access directly). Instead the path invoking the
device model will also need to cope. Yet the ioreq interface is limited
to 64 bits of data at a time (except for the data_is_ptr case, which imo
has to be considered inherently non-atomic). So it looks to me that as a
prereq to fully addressing the issue in the hypervisor we need an
extension to the ioreq interface.

Thoughts anyone?

Thanks, Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 08:55:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 08:55:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504731.777074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXej7-0003tI-CA; Thu, 02 Mar 2023 08:55:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504731.777074; Thu, 02 Mar 2023 08: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 1pXej7-0003tB-7v; Thu, 02 Mar 2023 08:55:49 +0000
Received: by outflank-mailman (input) for mailman id 504731;
 Thu, 02 Mar 2023 08:55:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Lklr=62=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1pXej5-0003t5-Nz
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 08:55:47 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20606.outbound.protection.outlook.com
 [2a01:111:f400:fe13::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 02e7a239-b8d8-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 09:55:42 +0100 (CET)
Received: from DB3PR08CA0008.eurprd08.prod.outlook.com (2603:10a6:8::21) by
 AM0PR08MB5475.eurprd08.prod.outlook.com (2603:10a6:208:188::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.19; Thu, 2 Mar 2023 08:55:30 +0000
Received: from DBAEUR03FT062.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:8:0:cafe::f0) by DB3PR08CA0008.outlook.office365.com
 (2603:10a6:8::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18 via Frontend
 Transport; Thu, 2 Mar 2023 08:55:30 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT062.mail.protection.outlook.com (100.127.142.64) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.18 via Frontend Transport; Thu, 2 Mar 2023 08:55:29 +0000
Received: ("Tessian outbound 2ba0ed2ebb9f:v135");
 Thu, 02 Mar 2023 08:55:29 +0000
Received: from f1553225d149.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3C405CF7-6DFE-402D-B750-2897FCA0A0F2.1; 
 Thu, 02 Mar 2023 08:55:18 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f1553225d149.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 02 Mar 2023 08:55:18 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM7PR08MB5512.eurprd08.prod.outlook.com (2603:10a6:20b:de::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Thu, 2 Mar
 2023 08:55:15 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::f0e7:5f67:ed2f:a70a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::f0e7:5f67:ed2f:a70a%4]) with mapi id 15.20.6156.018; Thu, 2 Mar 2023
 08: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: 02e7a239-b8d8-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qXgK/+wGSplPdHF/FL01UQYN7tMUop+Xnt4MppqqvLY=;
 b=yt+eDf0+NHts3hC29fT+Q0+P9JTMgx+sGeP/0y1hIzrBZGvuYie/vBQKF54N0OynHdKq/COK/VpneSYB8/0nkDs3hgzmm1oyVvHLRqo8ITGov2ayeW0i48c3XY2b+ATn/D+Wa7kONI5inEWe34VAF9rSCx7tO86CbZAqwfmDtMc=
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: 1c800889619869aa
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ieSvnFS5wu17LZVl6V5h1wqN9+++9+vkS3PUtdkEBDrfP8uLqseaaGZKjHw0JvoGzQ2WPfWuY9z3sHB5Y5PE79kxTUsjy1vKgq6SNMr73u9PJVsZkJmOtoJzVNlR3q1AroIdgjC8xnkEuyY3FucNLmxmjrgPCIasXV0A0pwSR8YV2W6sfvryICqqlw/0C2yi1AZGJ6ca6cD2nu97ckwo9Fz+wMd/y45SGxvSqd9b4QofJ+JA1R7tF7zPMvMrkM3F4WHfjBs0jCAKouwKxlv03yi0JjuSgBhuM8KCqYY9S4HbFDMRlbD0f6j1g43zzFthrzRqFYCXC+m4TcQBHCmqug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qXgK/+wGSplPdHF/FL01UQYN7tMUop+Xnt4MppqqvLY=;
 b=QesxT+pCHY7UozskjfS1yIThUTLdeGB2kU/xvxUlMq0JpQRMmLFa73FjyuYglk9PGFvtfSUuUQkpdehPEzaJwVU8K18uP5/+yOhmr9K2dCcvNH7UExthFp+dUCbHDL5XapU+1wdgj3KkH7Vi0q2MREJCfJu8VAV02kyLER6ohsaZHBJP01MWHAUJ5yltt/q32zRy+qlcsQJ4Un4PZ3m+g+FyHq0gVl0TJKQtIBWzNkdNICekYegMsynU7xnN/sVxfWd1CcR0t8bVWY4RivamkJiqCHUPsMY04697J1nTL7TlFqzsbCwx/pyVbhzNTuWnQ7nUJJJvQBp4vsfpjsrPuQ==
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=qXgK/+wGSplPdHF/FL01UQYN7tMUop+Xnt4MppqqvLY=;
 b=yt+eDf0+NHts3hC29fT+Q0+P9JTMgx+sGeP/0y1hIzrBZGvuYie/vBQKF54N0OynHdKq/COK/VpneSYB8/0nkDs3hgzmm1oyVvHLRqo8ITGov2ayeW0i48c3XY2b+ATn/D+Wa7kONI5inEWe34VAF9rSCx7tO86CbZAqwfmDtMc=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Wei Liu
	<wl@xen.org>, Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH v2 2/2] xen/misra: add entries to exclude-list.json
Thread-Topic: [PATCH v2 2/2] xen/misra: add entries to exclude-list.json
Thread-Index: AQHZTCO+YULgtT6v8UGWpLW+tpxpla7moaSAgACPcYA=
Date: Thu, 2 Mar 2023 08:55:15 +0000
Message-ID: <23059C98-EEE9-4F27-AB54-4648629D497A@arm.com>
References: <20230301095320.264301-1-luca.fancellu@arm.com>
 <20230301095320.264301-3-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2303011605310.3680@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2303011605310.3680@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|AM7PR08MB5512:EE_|DBAEUR03FT062:EE_|AM0PR08MB5475:EE_
X-MS-Office365-Filtering-Correlation-Id: c0f54edf-7d1a-4c9e-522d-08db1afbdff2
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:
 A3dnbb3F6u7PrcJqTUfFTUL0fVZzukjk3SKH/JxRo/bJoN8boD+jFVAR129t+V3Jc6BVU1kRwuSpq10+68AMJQu3dZ4FR8RovyFMfwK8YaGzUt4Xr5KOz4CUF56fx8eds716Px7FvsucOYrbcjJfarvwtkxjd+Phz32AoBwdPnT842ptviBbJMJReXT+IUwjY1u/GUMxNIvimTCUndJsXN4+euSjGsucqZiLqHDDof6P3ccR8gVagZprzQ9VN69VBy22nDTQg8tFrsV29697KF9s7lugJUi0gUBTScxuKeIWxh54LEmkwkqv/SHESNvaizGU6QE7RJrWNRmjxDH33D21DTdk26hBJO+DbUpDEPOTO1AaiCgPxIaL3ESXoU/DxDkpWN4TLdOt/pcpXp+6+qmDjaGXU8TgHxx3dxyXK3QsEwQ3r2zV5SAr3sEM4R1LHt3AQbAISPVUzkh1eTU5213wVBXu5Hefyt+j6/78bzJmXTf3fWzO2Odh2LJloTM3m1k2pWk81SQOFvoMA+3KWYDjPP6fheMAydK+th9hgvp7jJnTMTsJTSkJ05lIZ3ziIR7L5J/DzgX0CVdwv5M3nRjv/4CuKxuckytFT2a0G6HoGz6XyRVNlHKtDOrQ9mnAyPF5OjsLEtQ+aKToj4zyZqcmzSNRKT6yv1W1lhBDLvnFsLD4Y10Kvyj5Gv926IqeTsSNIDsAlIZ9xYwaJWs8JsNfib9sSuHEcZrpnp289eM=
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:(13230025)(4636009)(39860400002)(346002)(136003)(366004)(376002)(396003)(451199018)(36756003)(33656002)(53546011)(6486002)(6506007)(6512007)(2616005)(186003)(26005)(54906003)(41300700001)(316002)(91956017)(4326008)(64756008)(4744005)(66556008)(66476007)(8676002)(76116006)(6916009)(2906002)(66446008)(71200400001)(8936002)(5660300002)(478600001)(38100700002)(122000001)(86362001)(38070700005)(66946007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <23E69306C5777C45985E75626D3F2063@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5512
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:
 DBAEUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3933473d-a4fb-4260-ed78-08db1afbd74e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5k6oOK5ox/xJxbAxwzTqdur8vdV+ZhH3CxiDFxIPgElEnPdufrP7g3AY9fUr/EVVW+XiReDsy10CJTuKj9BV9j5DbkwIFdX3KTpGrsb1MJ4O/vZ3LDt+0eg9efllRDX8Uyfxtt5zEI5xBRriRGGOPmZqyTDckIQfyHuVKkk1hEKO1HTLpd5m3rpVkYs7dTQA9Wv6sFlorXx2Y2cMLO1mkD6J3ByMPQ0Q2qjdDQ6Jtqdc6FpAQ7BCyrpGtzsTznyKNgkvNs8XZXYSO8vrkr27JtJtbt1IOrj1RH5aJS5YHq2e5bbApenG7L1s9G0flmvgG/SSoTe7vXFsA7ejUbcrzTyvbG0hRAv0DI4DK7PydLW8ho9ThTaCKfTIJy51pUAVG5j6kc1HrgvPgwwQQL6aVd5S6ZzOSvUv1dC9kQmQskGBuQlXizpEaF0EDFbt+EDjw5bfYC1VOPzaHQgmAtBhmwh4GePlHFlRBZpBuSkjiaK58TPjihoVjIQ4S95INUdKJirRGL4ANapoQT6mmI1o4wEe2bEgOZC72oNZZ0GoXlcizX1FJgmS6honarSdL2vReKQ4PQZzoR2pwTXDoyt60eXzxmFKWAURTOxO26rrOGPqy9pm5mjZcaPV+qjjwfRshIdtoptCfzjbgADvikFRiSAiI786ozvuVDm4xMEMB80WTy51BuRsdbWnxtG5k9wQBYsiBYOGVV09HIdWtINvpw==
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:(13230025)(4636009)(396003)(39860400002)(136003)(346002)(376002)(451199018)(36840700001)(46966006)(40470700004)(36860700001)(47076005)(33656002)(40460700003)(36756003)(5660300002)(6862004)(8936002)(82740400003)(81166007)(478600001)(356005)(86362001)(40480700001)(82310400005)(186003)(2616005)(26005)(336012)(6512007)(6486002)(53546011)(6506007)(70206006)(4744005)(2906002)(8676002)(70586007)(316002)(41300700001)(4326008)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 08:55:29.9214
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c0f54edf-7d1a-4c9e-522d-08db1afbdff2
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:
	DBAEUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5475



> On 2 Mar 2023, at 00:21, Stefano Stabellini <sstabellini@kernel.org> wrot=
e:
>=20
> On Wed, 1 Mar 2023, Luca Fancellu wrote:
>> Add entries to the exclude-list.json for those files that need to be
>> excluded from the analysis scan.
>>=20
>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>=20
>=20
> I checked the results both x86 and arm and they look much more
> reasonable (with the exception of the way too many unusedStructMember
> reports on x86).

Hi Stefano,

yes I will send a patch to suppress unusedStructMember globally




From xen-devel-bounces@lists.xenproject.org Thu Mar 02 09:20:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 09:20:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504742.777124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXf7C-0000Ku-PX; Thu, 02 Mar 2023 09:20:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504742.777124; Thu, 02 Mar 2023 09:20:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXf7C-0000Kj-Lk; Thu, 02 Mar 2023 09:20:42 +0000
Received: by outflank-mailman (input) for mailman id 504742;
 Thu, 02 Mar 2023 09:20: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=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXf7B-0007lr-4P
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 09:20: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 80341584-b8db-11ed-96aa-2f268f93b82a;
 Thu, 02 Mar 2023 10:20:40 +0100 (CET)
Received: by mail-lj1-x22e.google.com with SMTP id by8so16876931ljb.7
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 01:20:40 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 g7-20020a2eb5c7000000b002946be8475esm2018442ljn.135.2023.03.02.01.20.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 01:20: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: 80341584-b8db-11ed-96aa-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677748840;
        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=uPYrgRCWywkVLO74D9udXA+9/9Qyzd34sCcyyXMkS2Y=;
        b=kploAvBGBe/Y7GmJwmv32QXnF7m3C9Pu2+IIxr1nhBwSq8xgGfxG8ktGUxxCySmeiJ
         cmOVrHD2RgFvbcz9XmQCWis5rCXieiO9yNTg468LCQ/QmgkCSznXSy5pseArQ7CyB5ip
         yGaUxYpHgnI5yr6Vf+374An25kZKs7vHz7384ecv91mDzZznh1W+TDhaektphtr0XC+L
         Fk6MrJ2XecuXo/l0ZGYfUgbxPZeboT6RW5jzZPIKop1qBG+6OnrRfd3rcO7VjV93k4SM
         um6+CPkxAbteR0juOtglGK7yUF4hS/yuWCBAruOk0U4A7NOFnSvxYLwjtfE/Ep8HvaM4
         cFHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677748840;
        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=uPYrgRCWywkVLO74D9udXA+9/9Qyzd34sCcyyXMkS2Y=;
        b=K5enyWxMcIt11vONE31bqkRVVaJFKHrxHncVwIN+2DSfgjf8tjnRyC8E/rvtTxwWCM
         fjDO6eKWIGdrcs1+ciIjF8bB3pUauICyvuyjGuwc+NvI5afwZmgSup7Y5+IJnzpjNovj
         TocTCtx5iKEu/tML9RjkiKoidofhW1d5gnKs4EJAmYZw4kRXGmJKZ621GtS16RQ8gsYZ
         KS5FLJ5XWc/kBsC4kii9eD7m9P0/i5X6GEqQPfACWwIwIH932fXa6FV6PFdkKcUCl/FZ
         kLCR5crjfi492YgzPoRq2qZh/jthIA/y9nQ0nKBWvKoYdeBa1DLzVFdcVu2KSh/SYCGO
         50EQ==
X-Gm-Message-State: AO0yUKWqXZnkP4xQKfSrBh99+pKXcb7k/VmVg/l3yF2WD6xdTcL8lHdX
	SHkHA877FXhZPsGq/2XngBk//ePhAo4=
X-Google-Smtp-Source: AK7set/O0Fwd90V2JfkZtuCYj9I5bhF8RryfFAjvNJxijqs8RJzMTM/gZnNzOjMxD+bKTahOtFwuMQ==
X-Received: by 2002:a2e:b55c:0:b0:295:74f5:fcab with SMTP id a28-20020a2eb55c000000b0029574f5fcabmr3081757ljn.39.1677748839886;
        Thu, 02 Mar 2023 01:20:39 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v4 4/4] xen/x86: switch x86 to use generic implemetation of bug.h
Date: Thu,  2 Mar 2023 11:20:28 +0200
Message-Id: <636d049e3962547dfa793e4878ef2683b12df798.1677747527.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677747527.git.oleksii.kurochko@gmail.com>
References: <cover.1677747527.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following changes were made:
* Make GENERIC_BUG_FRAME mandatory for X86
* Update asm/bug.h using generic implementation in <xen/bug.h>
* Change prototype of debugger_trap_fatal() in asm/debugger.h
  to align it with generic prototype in <xen/debugger.h>.
* Update do_invalid_op using generic do_bug_frame()

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4:
 * Back comment /* !__ASSEMBLY__ */ for #else case in <asm/bug.h>
 * Remove changes related to x86/.../asm/debuger.h as do_bug_frame() prototype
   was updated and cpu_user_regs isn't const any more.
---
Changes in V3:
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
 * MODIFIER was change to BUG_ASM_CONST to align with generic implementation
---
Changes in V2:
  * Remove all unnecessary things from <asm/bug.h> as they were introduced in
    <xen/bug.h>.
  * Define BUG_INSTR = 'ud2' and MODIFIER = 'c' ( it is needed to skip '$'
    when use an imidiate in x86 assembly )
  * Update do_invalid_op() to re-use handle_bug_frame() and find_bug_frame()
    from generic implemetation of CONFIG_GENERIC_BUG_FRAME
  * Code style fixes.
---
 xen/arch/x86/Kconfig           |  1 +
 xen/arch/x86/include/asm/bug.h | 73 ++----------------------------
 xen/arch/x86/traps.c           | 81 +++-------------------------------
 3 files changed, 11 insertions(+), 144 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 6a7825f4ba..b0ff1f3ee6 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -11,6 +11,7 @@ config X86
 	select ARCH_MAP_DOMAIN_PAGE
 	select ARCH_SUPPORTS_INT128
 	select CORE_PARKING
+	select GENERIC_BUG_FRAME
 	select HAS_ALTERNATIVE
 	select HAS_COMPAT
 	select HAS_CPUFREQ
diff --git a/xen/arch/x86/include/asm/bug.h b/xen/arch/x86/include/asm/bug.h
index 79133e53e7..2a8d3f84b8 100644
--- a/xen/arch/x86/include/asm/bug.h
+++ b/xen/arch/x86/include/asm/bug.h
@@ -1,79 +1,12 @@
 #ifndef __X86_BUG_H__
 #define __X86_BUG_H__
 
-#define BUG_DISP_WIDTH    24
-#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
-#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
+#define BUG_DEBUGGER_TRAP_FATAL(regs) debugger_trap_fatal(X86_EXC_GP,regs)
 
 #ifndef __ASSEMBLY__
 
-#define BUG_FRAME_STRUCT
-
-struct bug_frame {
-    signed int loc_disp:BUG_DISP_WIDTH;
-    unsigned int line_hi:BUG_LINE_HI_WIDTH;
-    signed int ptr_disp:BUG_DISP_WIDTH;
-    unsigned int line_lo:BUG_LINE_LO_WIDTH;
-    signed int msg_disp[];
-};
-
-#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
-#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
-#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
-                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
-                      BUG_LINE_LO_WIDTH) +                                   \
-                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
-                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
-#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
-
-#define _ASM_BUGFRAME_TEXT(second_frame)                                     \
-    ".Lbug%=: ud2\n"                                                         \
-    ".pushsection .bug_frames.%c[bf_type], \"a\", @progbits\n"               \
-    ".p2align 2\n"                                                           \
-    ".Lfrm%=:\n"                                                             \
-    ".long (.Lbug%= - .Lfrm%=) + %c[bf_line_hi]\n"                           \
-    ".long (%c[bf_ptr] - .Lfrm%=) + %c[bf_line_lo]\n"                        \
-    ".if " #second_frame "\n"                                                \
-    ".long 0, %c[bf_msg] - .Lfrm%=\n"                                        \
-    ".endif\n"                                                               \
-    ".popsection\n"                                                          \
-
-#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
-    [bf_type]    "i" (type),                                                 \
-    [bf_ptr]     "i" (ptr),                                                  \
-    [bf_msg]     "i" (msg),                                                  \
-    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
-                      << BUG_DISP_WIDTH),                                    \
-    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
-
-#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
-    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH));         \
-    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
-    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
-                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
-} while (0)
-
-
-#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, NULL)
-#define BUG() do {                                              \
-    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, NULL);      \
-    unreachable();                                              \
-} while (0)
-
-/*
- * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
- * and use a real static inline here to get proper type checking of fn().
- */
-#define run_in_exception_handler(fn)                            \
-    do {                                                        \
-        (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
-        BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);             \
-    } while ( 0 )
-
-#define assert_failed(msg) do {                                 \
-    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
-    unreachable();                                              \
-} while (0)
+#define BUG_INSTR       "ud2"
+#define BUG_ASM_CONST   "c"
 
 #else  /* !__ASSEMBLY__ */
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index cade9e12f8..7c33ebceff 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -24,6 +24,7 @@
  * Gareth Hughes <gareth@valinux.com>, May 2000
  */
 
+#include <xen/bug.h>
 #include <xen/init.h>
 #include <xen/sched.h>
 #include <xen/lib.h>
@@ -1166,12 +1167,9 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
 
 void do_invalid_op(struct cpu_user_regs *regs)
 {
-    const struct bug_frame *bug = NULL;
     u8 bug_insn[2];
-    const char *prefix = "", *filename, *predicate, *eip = (char *)regs->rip;
-    unsigned long fixup;
-    int id = -1, lineno;
-    const struct virtual_region *region;
+    const char *eip = (char *)regs->rip;
+    int id;
 
     if ( likely(guest_mode(regs)) )
     {
@@ -1185,83 +1183,18 @@ void do_invalid_op(struct cpu_user_regs *regs)
          memcmp(bug_insn, "\xf\xb", sizeof(bug_insn)) )
         goto die;
 
-    region = find_text_region(regs->rip);
-    if ( region )
-    {
-        for ( id = 0; id < BUGFRAME_NR; id++ )
-        {
-            const struct bug_frame *b;
-            unsigned int i;
-
-            for ( i = 0, b = region->frame[id].bugs;
-                  i < region->frame[id].n_bugs; b++, i++ )
-            {
-                if ( bug_loc(b) == eip )
-                {
-                    bug = b;
-                    goto found;
-                }
-            }
-        }
-    }
-
- found:
-    if ( !bug )
+    id = do_bug_frame(regs, regs->rip);
+    if ( id < 0 )
         goto die;
-    eip += sizeof(bug_insn);
-    if ( id == BUGFRAME_run_fn )
-    {
-        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
-
-        fn(regs);
-        fixup_exception_return(regs, (unsigned long)eip);
-        return;
-    }
 
-    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = bug_ptr(bug);
-    if ( !is_kernel(filename) && !is_patch(filename) )
-        goto die;
-    fixup = strlen(filename);
-    if ( fixup > 50 )
-    {
-        filename += fixup - 47;
-        prefix = "...";
-    }
-    lineno = bug_line(bug);
+    eip += sizeof(bug_insn);
 
     switch ( id )
     {
+    case BUGFRAME_run_fn:
     case BUGFRAME_warn:
-        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
         fixup_exception_return(regs, (unsigned long)eip);
         return;
-
-    case BUGFRAME_bug:
-        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return;
-
-        show_execution_state(regs);
-        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-    case BUGFRAME_assert:
-        /* ASSERT: decode the predicate string pointer. */
-        predicate = bug_msg(bug);
-        if ( !is_kernel(predicate) && !is_patch(predicate) )
-            predicate = "<unknown>";
-
-        printk("Assertion '%s' failed at %s%s:%d\n",
-               predicate, prefix, filename, lineno);
-
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return;
-
-        show_execution_state(regs);
-        panic("Assertion '%s' failed at %s%s:%d\n",
-              predicate, prefix, filename, lineno);
     }
 
  die:
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 09:20:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 09:20:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504739.777090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXf79-0007pi-Mn; Thu, 02 Mar 2023 09:20:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504739.777090; Thu, 02 Mar 2023 09:20:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXf79-0007oB-GA; Thu, 02 Mar 2023 09:20:39 +0000
Received: by outflank-mailman (input) for mailman id 504739;
 Thu, 02 Mar 2023 09:20:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXf77-0007lr-Qw
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 09:20:38 +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 7d78722b-b8db-11ed-96aa-2f268f93b82a;
 Thu, 02 Mar 2023 10:20:36 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id i28so8507716lfv.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 01:20:35 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 g7-20020a2eb5c7000000b002946be8475esm2018442ljn.135.2023.03.02.01.20.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 01:20: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: 7d78722b-b8db-11ed-96aa-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677748835;
        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=53O6F3Y/lUSSbSaXTtwi3xq/SfW6F0A22Z3VPCt/Nwk=;
        b=m5SBOgVHfAvnjUCU/92VZxJXEzM639zCVG6+jIX8GgOsiGIQM1y5V8SURItoTw0eOw
         a0HUrPNOh3pMl7/g+TBBPC8vvxiWrs9Y7BJBSpP5MiwQYz3PJasSe/AQ4N4UNizLHx6j
         D7SvmVR4sxN68Rjyx61PhOxsdwCyIklTXwyG/5CXiOSbBdS6EbNBZpAPCqChqTwmlzme
         nSD5cShCEStewHH0atQ6MGSi/c6E//MTlBgRtK9MVWcoAXoBrAjznc6EASc2Xaa0uBsO
         EJY654JnB6TJZalDFLpIDv5g9wr4caJMvf6RlKwanUU7n+itt696piO9ej8PawNs0uHn
         QfoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677748835;
        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=53O6F3Y/lUSSbSaXTtwi3xq/SfW6F0A22Z3VPCt/Nwk=;
        b=CLce1q3p1tcZBx+cYR6WDIuTAFfySwZ5UQSWR/Igyy+kpB3RKZacPUoFM4ZJ8fUR4P
         2vNoytLu8/sjD2RK7+wxjDY0shvPJ4iAQf7/9zIUh87ko95eHU6olfXcKZKsm9avLCAG
         ZS62BUg2avdzSPAHKJSPp6fOqn2xx6T74MNYrm1rCc86oENLHaLdEI9smYhDkJ2J3HQl
         7F1gyZaNE6vMmhYtQ+zuLo8GtEk0UPmGNQe7uXjWjTqRW2Tmxb/jwmYMfJG0KKnW2WDK
         pY/NUZEurWk0SHcTPVu9Lsnld0bKVgzCsV3puKabsYw0byjPvJKpGPcPMA9NlsMBGXgX
         AQyA==
X-Gm-Message-State: AO0yUKXlCK49WeaT+a1YWSRwA3bmFGlRk98r+hH68Drp0Q1QetoRZROd
	KEQaGI4naxBymJIyAxtlAsL8n0V3Ddg=
X-Google-Smtp-Source: AK7set/9i2sCPg4ML36hUgcejeZLbMX4LRGA4E06Jm3W+f+nhZSlcqOU17IGst+xMEtLhW0U1FXNoA==
X-Received: by 2002:ac2:5325:0:b0:4db:2876:f9aa with SMTP id f5-20020ac25325000000b004db2876f9aamr2470945lfh.68.1677748835068;
        Thu, 02 Mar 2023 01:20:35 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v4 1/4] xen: introduce CONFIG_GENERIC_BUG_FRAME
Date: Thu,  2 Mar 2023 11:20:25 +0200
Message-Id: <87aead3acad38f3ce31990ccbbf3076c8cf32762.1677747527.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677747527.git.oleksii.kurochko@gmail.com>
References: <cover.1677747527.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A large part of the content of the bug.h is repeated among all
architectures, so it was decided to create a new config
CONFIG_GENERIC_BUG_FRAME.

The version of <bug.h> from x86 was taken as the base version.

The patch introduces the following stuff:
  * common bug.h header
  * generic implementation of do_bug_frame
  * new config CONFIG_GENERIC_BUG_FRAME

The following changes were done in comparison with x86
implementation of bug.h:
 * Add inclusion of arch-specific header <asm/bug.h>
 * Rename the guard and remove x86 specific changes
 * Wrap macros BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed
   into #ifndef "BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed"
   thereby each architecture can override the generic implementation of macros.
 * Add #if{n}def __ASSEMBLY__ ... #endif
 * Introduce BUG_FRAME_STRUCTURE define to be able to change the structure of bug
   frame and macros (bug_*()) related to the 'struct bug_frame'
 * Introduce BUG_INSTR and BUG_ASM_CONST to make _ASM_BUGFRAME_TEXT reusable between
   architectures
 * Make macros related to bug frame structure more generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4:
 * common/bug.c:
		- Use BUG_DEBUGGER_TRAP_FATAL(regs) mnacros instead of debugger_trap_fatal(TRAP_invalid_op, regs)
		  in <common/bug.c> as TRAP_invalid_op is x86-specific thereby BUG_DEBUGGER_TRAP_FATAL should
		  be defined for each architecture.
		- add information about what do_bug_frame() returns.
		- invert the condition 'if ( region )' in do_bug_frame() to reduce the indention.
		- change type of variable i from 'unsigned int' to 'size_t' as it  is compared with
		  n_bugs which has type 'size_t'

 * xen/bug.h:
		- Introduce generic BUG_DEBUGGER_TRAP_FATAL(regs) mnacros which is used to deal with 
		  debugger_trap_fatal(TRAP_invalid_op, regs) where TRAP_invalid_op is x86-specific
		- remove '#include <xen/stringify.h>' as it doesn't need any more after switch to
		  x86 implementation.
		- remove '#include <xen/errno.h>' as it isn't needed any more
		- move bug_*() macros inside '#ifndef BUG_FRAME_STRUCT'
		- add <xen/lib.h> to fix compile issue with BUILD_ON()...
		- Add documentation for BUG_ASM_CONST.
 * Update the commit message
---
Changes in V3:
 * Add debugger_trap_fatal() to do_bug_frame(). It simplifies usage of
   do_bug_frame() for x86 so making handle_bug_frame() and find_bug_frame()
   not needed anymore.
 * Update do_bug_frame() to return -EINVAL if something goes wrong; otherwise
   id of bug_frame
 * Update _ASM_BUGFRAME_TEXT to make it more portable.
 * Drop unnecessary comments.
 * define stub value for TRAP_invalid_op in case if wasn't defined in
   arch-specific folders.
---
Changes in V2:
  - Switch to x86 implementation as generic as it is more compact
    ( at least from the point of view of bug frame structure ).
  - Rename CONFIG_GENERIC_DO_BUG_FRAME to CONFIG_GENERIC_BUG_FRAME.
  - Change the macro bug_loc(b) to avoid the need for a cast:
    #define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
  - Rename BUG_FRAME_STUFF to BUG_FRAME_STRUCT
  - Make macros related to bug frame structure more generic.
  - Introduce BUG_INSTR and MODIFIER to make _ASM_BUGFRAME_TEXT reusable
    between x86 and RISC-V.
  - Rework do_bug_frame() and introduce find_bug_frame() and handle_bug_frame()
    functions to make it reusable by x86.
  - code style fixes
---
 xen/common/Kconfig    |   3 +
 xen/common/Makefile   |   1 +
 xen/common/bug.c      | 107 ++++++++++++++++++++++++++++
 xen/include/xen/bug.h | 158 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 269 insertions(+)
 create mode 100644 xen/common/bug.c
 create mode 100644 xen/include/xen/bug.h

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index f1ea3199c8..b226323537 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -28,6 +28,9 @@ config ALTERNATIVE_CALL
 config ARCH_MAP_DOMAIN_PAGE
 	bool
 
+config GENERIC_BUG_FRAME
+	bool
+
 config HAS_ALTERNATIVE
 	bool
 
diff --git a/xen/common/Makefile b/xen/common/Makefile
index bbd75b4be6..46049eac35 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -1,5 +1,6 @@
 obj-$(CONFIG_ARGO) += argo.o
 obj-y += bitmap.o
+obj-$(CONFIG_GENERIC_BUG_FRAME) += bug.o
 obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
 obj-$(CONFIG_CORE_PARKING) += core_parking.o
 obj-y += cpu.o
diff --git a/xen/common/bug.c b/xen/common/bug.c
new file mode 100644
index 0000000000..290f4fcc8b
--- /dev/null
+++ b/xen/common/bug.c
@@ -0,0 +1,107 @@
+#include <xen/bug.h>
+#include <xen/debugger.h>
+#include <xen/errno.h>
+#include <xen/kernel.h>
+#include <xen/livepatch.h>
+#include <xen/string.h>
+#include <xen/types.h>
+#include <xen/virtual_region.h>
+
+#include <asm/processor.h>
+
+/*
+ * Returns a negative value in case of an error otherwise the bug type.
+ */
+int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
+{
+    const struct bug_frame *bug = NULL;
+    const struct virtual_region *region;
+    const char *prefix = "", *filename, *predicate;
+    unsigned long fixup;
+    unsigned int id = BUGFRAME_NR, lineno;
+
+    region = find_text_region(pc);
+    if ( !region )
+        return -EINVAL;
+
+    for ( id = 0; id < BUGFRAME_NR; id++ )
+    {
+        const struct bug_frame *b;
+        size_t i;
+
+        for ( i = 0, b = region->frame[id].bugs;
+                i < region->frame[id].n_bugs; b++, i++ )
+        {
+            if ( bug_loc(b) == pc )
+            {
+                bug = b;
+                goto found;
+            }
+        }
+    }
+
+ found:
+    if ( !bug )
+        return -EINVAL;
+
+    if ( id == BUGFRAME_run_fn )
+    {
+#ifdef BUG_FN_REG
+        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
+#else
+        void (*fn)(const struct cpu_user_regs *) = bug_ptr(bug);
+#endif
+
+        fn(regs);
+
+        return id;
+    }
+
+    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
+    filename = bug_ptr(bug);
+    if ( !is_kernel(filename) && !is_patch(filename) )
+        return -EINVAL;
+    fixup = strlen(filename);
+    if ( fixup > 50 )
+    {
+        filename += fixup - 47;
+        prefix = "...";
+    }
+    lineno = bug_line(bug);
+
+    switch ( id )
+    {
+    case BUGFRAME_warn:
+        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
+        show_execution_state(regs);
+
+        return id;
+
+    case BUGFRAME_bug:
+        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
+
+        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
+            return id;
+
+        show_execution_state(regs);
+        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
+
+    case BUGFRAME_assert:
+        /* ASSERT: decode the predicate string pointer. */
+        predicate = bug_msg(bug);
+        if ( !is_kernel(predicate) && !is_patch(predicate) )
+            predicate = "<unknown>";
+
+        printk("Assertion '%s' failed at %s%s:%d\n",
+               predicate, prefix, filename, lineno);
+
+        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
+            return id;
+
+        show_execution_state(regs);
+        panic("Assertion '%s' failed at %s%s:%d\n",
+              predicate, prefix, filename, lineno);
+    }
+
+    return id;
+}
diff --git a/xen/include/xen/bug.h b/xen/include/xen/bug.h
new file mode 100644
index 0000000000..722ec5c23b
--- /dev/null
+++ b/xen/include/xen/bug.h
@@ -0,0 +1,158 @@
+#ifndef __XEN_BUG_H__
+#define __XEN_BUG_H__
+
+#define BUGFRAME_run_fn 0
+#define BUGFRAME_warn   1
+#define BUGFRAME_bug    2
+#define BUGFRAME_assert 3
+
+#define BUGFRAME_NR     4
+
+#ifndef BUG_FRAME_STRUCT
+#define BUG_DISP_WIDTH    24
+#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
+#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
+#endif
+
+#include <asm/bug.h>
+
+#ifndef BUG_DEBUGGER_TRAP_FATAL
+#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
+#endif
+
+#ifndef __ASSEMBLY__
+
+#include <xen/lib.h>
+
+#ifndef BUG_FRAME_STRUCT
+
+struct bug_frame {
+    signed int loc_disp:BUG_DISP_WIDTH;
+    unsigned int line_hi:BUG_LINE_HI_WIDTH;
+    signed int ptr_disp:BUG_DISP_WIDTH;
+    unsigned int line_lo:BUG_LINE_LO_WIDTH;
+    signed int msg_disp[];
+};
+
+#define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
+
+#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
+
+#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
+                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
+                      BUG_LINE_LO_WIDTH) +                                   \
+                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
+                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
+
+#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
+
+#endif /* BUG_FRAME_STRUCT */
+
+/*
+ * Generic implementation has been based on x86 implementation where
+ * '%c' to deal with punctation sign ($, # depending on architecture)
+ * before immediate.
+ *
+ * Not all architecture's compilers have full support of '%c' and not for all
+ * assemblers punctation sign is used before immediate.
+ * Thereby it was decided to introduce BUG_ASM_CONST.
+ */
+#ifndef BUG_ASM_CONST
+#define BUG_ASM_CONST ""
+#endif
+
+#if !defined(_ASM_BUGFRAME_TEXT) || !defined(_ASM_BUGFRAME_INFO)
+
+#define _ASM_BUGFRAME_TEXT(second_frame)                                            \
+    ".Lbug%=:"BUG_INSTR"\n"                                                         \
+    "   .pushsection .bug_frames.%"BUG_ASM_CONST"[bf_type], \"a\", %%progbits\n"    \
+    "   .p2align 2\n"                                                               \
+    ".Lfrm%=:\n"                                                                    \
+    "   .long (.Lbug%= - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_hi]\n"                 \
+    "   .long (%"BUG_ASM_CONST"[bf_ptr] - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_lo]\n"\
+    "   .if " #second_frame "\n"                                                    \
+    "   .long 0, %"BUG_ASM_CONST"[bf_msg] - .Lfrm%=\n"                              \
+    "   .endif\n"                                                                   \
+    "   .popsection\n"
+
+#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
+    [bf_type]    "i" (type),                                                 \
+    [bf_ptr]     "i" (ptr),                                                  \
+    [bf_msg]     "i" (msg),                                                  \
+    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
+                      << BUG_DISP_WIDTH),                                    \
+    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
+
+#endif /* _ASM_BUGFRAME_TEXT || _ASM_BUGFRAME_INFO */
+
+#ifndef BUG_FRAME
+
+#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
+    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH));         \
+    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
+    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
+                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
+} while (0)
+
+#endif
+
+#ifndef run_in_exception_handler
+
+/*
+ * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
+ * and use a real static inline here to get proper type checking of fn().
+ */
+#define run_in_exception_handler(fn)                            \
+    do {                                                        \
+        (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
+        BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);             \
+    } while ( 0 )
+
+#endif /* run_in_exception_handler */
+
+#ifndef WARN
+#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, NULL)
+#endif
+
+#ifndef BUG
+#define BUG() do {                                              \
+    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, NULL);      \
+    unreachable();                                              \
+} while (0)
+#endif
+
+#ifndef assert_failed
+#define assert_failed(msg) do {                                 \
+    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
+    unreachable();                                              \
+} while (0)
+#endif
+
+#ifdef CONFIG_GENERIC_BUG_FRAME
+
+struct cpu_user_regs;
+
+/*
+ * Returns a negative value in case of an error otherwise the bug type.
+ */
+int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc);
+
+#endif /* CONFIG_GENERIC_BUG_FRAME */
+
+extern const struct bug_frame __start_bug_frames[],
+                              __stop_bug_frames_0[],
+                              __stop_bug_frames_1[],
+                              __stop_bug_frames_2[],
+                              __stop_bug_frames_3[];
+
+#endif /* !__ASSEMBLY__ */
+
+#endif /* __XEN_BUG_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 09:20:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 09:20:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504738.777084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXf79-0007mD-CG; Thu, 02 Mar 2023 09:20:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504738.777084; Thu, 02 Mar 2023 09:20:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXf79-0007m6-8v; Thu, 02 Mar 2023 09:20:39 +0000
Received: by outflank-mailman (input) for mailman id 504738;
 Thu, 02 Mar 2023 09: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=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXf77-0007lq-Nu
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 09:20:37 +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 7c51ecd1-b8db-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 10:20:34 +0100 (CET)
Received: by mail-lj1-x22d.google.com with SMTP id h3so16866670lja.12
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 01:20:34 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 g7-20020a2eb5c7000000b002946be8475esm2018442ljn.135.2023.03.02.01.20.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 01:20: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: 7c51ecd1-b8db-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677748833;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=0f5cV2uw6HaMEMZa/XjoT427b94bmO91+3UBySL88d8=;
        b=nsSxTlipcgYZrC6T43xJ8cmmRtaQGYbhQDlHKnOHiBcu5VPb85nIvSPoHHMfNYucox
         tiZCh8H6lWxlIw+r7HV9SQ1FLNFSnWTz/KDrfJPagPDljMMYeV3NMn+CJ1yXnn3huFWT
         ep1Crph+gr5EJ9d+4Jo6QRrHHnFoy4GCSV5y6Q91QuOTLDqwu7DarzlQoOrf59nQwEte
         wJUApYCrixGErrp1e7bge2Zusn1TLZ0ZqgP7SMrGIF9W3C63uCN2yEG3+i+JFmuopJ5e
         o3cxh9uHK5+KzrMUiwpmPwPEILlvmwOwAeoaLrko6vJlLIYo5TTo0BsL6Zp7a+cz8Xpy
         z3qQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677748833;
        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=0f5cV2uw6HaMEMZa/XjoT427b94bmO91+3UBySL88d8=;
        b=w2FHnGcUFNyA/drIDtTRJ4RGUPt0vkRWtodG17m2K7myhgmYfZAZ8+EbxRIbUNLHLj
         wwR92hSmOblVB+8kKQY+Wu5FzW8Tc1g0TFEWV8OyN6ZHSjLg8sKroFPOJYxfPffzwWZl
         qR07KPrCNKR3n+LZajLinS9MnW5YhQ9sWspYXPZQfXGwqdpNIgdt+52NmHi+kBvWrEjD
         PCp982qch7EoUhmGZkncdyWP+bHVfP3WbOmSKFXysAAGF8MfmW7vSiXaAdhbhBph94ju
         LiR4YWLhsvFG+WYlsKDp0QL+Sgc0D0PgyRfKGXqOCEF0P4gcVkFpHEEXivf24DRnEnQG
         i+WQ==
X-Gm-Message-State: AO0yUKVKd9fHsG/2+HoP8olUzo4FmCp0IEFhkQIeqHv/45el/JDwYOYl
	lIEzCNhLqwbF8aX/0lZW3u5mzHI1bj8=
X-Google-Smtp-Source: AK7set9CF+7DjWYSvJUZXMLS28wZ14vOFuv08owtM+Lh13GoMmyHOpi07eEcjYl++QLzHts4xp7sKQ==
X-Received: by 2002:a2e:c42:0:b0:293:1b3e:985f with SMTP id o2-20020a2e0c42000000b002931b3e985fmr2475789ljd.24.1677748833313;
        Thu, 02 Mar 2023 01:20:33 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 0/4] introduce generic implementation of macros from bug.h
Date: Thu,  2 Mar 2023 11:20:24 +0200
Message-Id: <cover.1677747527.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch series is based on the patch [1].

A large part of the content of the bug.h is repeated among all
architectures (especially x86 and RISCV have the same implementation), so it
was created a new config CONFIG_GENERIC_BUG_FRAME which is used to
introduce generic implementation of do_bug_frame() and move x86's <asm/bug.h>
to <xen/common/...> with the following changes:
  * Add inclusion of arch-specific header <asm/bug.h>
  * Rename the guard and remove x86 specific changes
  * Wrap macros BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed/etc
    into #ifndef "BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed/etc"
    thereby each architecture can override the generic implementation of macros.
  * Add #if{n}def __ASSEMBLY__ ... #endif
  * Introduce BUG_FRAME_STRUCTURE define to be able to change the structure of bug
    frame
  * Introduce BUG_INSTR and BUG_ASM_CONST to make _ASM_BUGFRAME_TEXT reusable between
    architectures
  * Make macros related to bug frame structure more generic.

RISC-V will be switched to use <xen/bug.h> and in the future, it will use common
the version of do_bug_frame() when xen/common will work for RISC-V.

[1]: https://lore.kernel.org/xen-devel/74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com/

---
Changes in V4:
 * Introduce and use generic BUG_DEBUGGER_TRAP_FATAL(regs) mnacros which is used to deal with
   debugger_trap_fatal(TRAP_invalid_op, regs) where TRAP_invalid_op is x86-specific.
 * Add comment what do_bug_frame() returns.
 * Do refactoring of do_bug_frame():
     * invert the condition 'if ( region )' in do_bug_frame() to reduce the indention.
		 * change type of variable i from 'unsigned int' to 'size_t' as it  is compared with
		   n_bugs which has type 'size_t'
 * Remove '#include <xen/stringify.h>' from <xen/bug.h> as it doesn't need any more after switch to
   x86 implementation.
 * Remove '#include <xen/errno.h>' as it isn't needed any more
 * Move bug_*() macros inside '#ifndef BUG_FRAME_STRUCT'
 * Add <xen/lib.h> to fix compile issue with BUILD_ON()...
 * Add documentation for BUG_ASM_CONST.
 * Defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH were moved into
   "ifndef BUG_FRAME_STRUCT" in <xen/bug.h> as they are specific for 'struct bug_frame' and so should
   co-exist together. So the defines were back to <asm/bug.h> until BUG_FRAME_STRUCT will be defined in
	 <asm/bug.h>.
 * Switch ARM implementation to generic one
 * Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed after switch to generic implementation
 * Back comment /* !__ASSEMBLY__ */ for #else case in <asm/bug.h>
 * Remove changes related to x86/.../asm/debuger.h as do_bug_frame() prototype was updated and cpu_user_regs
	 isn't const any more.

---
Changes in V3:
 * Nothing was done with the comment in <xen/bug.h> before run_in_exception_handler
   but I think it can be changed during the merge.
 * Add debugger_trap_fatal() to do_bug_frame(). It simplifies usage of
   do_bug_frame() for x86 so making handle_bug_frame() and find_bug_frame()
   not needed anymore.
 * Update do_bug_frame() to return -EINVAL if something goes wrong; otherwise
   id of bug_frame
 * Update _ASM_BUGFRAME_TEXT to make it more portable.
 * Drop unnecessary comments.
 * Update patch 2 not to break compilation: move some parts from patches 3 and 4
   to patch 2
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
 * Change debugger_trap_fatal() prototype for x86 to align with prototype in
   <xen/debugger.h>
---
Changes in V2:
  * Update cover letter.
  * Switch to x86 implementation as generic as it is more compact ( at least from the point of view of bug frame structure).
  * Put [PATCH v1 4/4] xen: change <asm/bug.h> to <xen/bug.h> as second patch,
    update the patch to change all <asm/bug.h> to <xen/bug.h> among the whole project
    to not break compilation.
  * Rename CONFIG_GENERIC_DO_BUG_FRAME to CONFIG_GENERIC_BUG_FRAME.
  * Change the macro bug_loc(b) to avoid the need for a cast:
    #define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
  * Rename BUG_FRAME_STUFF to BUG_FRAME_STRUCT
  * Make macros related to bug frame structure more generic.
  * Rename bug_file() in ARM implementation to bug_ptr() as generic do_bug_frame() uses
    bug_ptr().
  * Introduce BUG_INSTR and MODIFIER to make _ASM_BUGFRAME_TEXT reusable between x86 and
    RISC-V.
  * Rework do_invalid_op() in x86 ( re-use handle_bug_frame() and find_bug_frame() )
---
Oleksii Kurochko (4):
  xen: introduce CONFIG_GENERIC_BUG_FRAME
  xen: change <asm/bug.h> to <xen/bug.h>
  xen/arm: switch ARM to use generic implementation of bug.h
  xen/x86: switch x86 to use generic implemetation of bug.h

 xen/arch/arm/Kconfig                 |   1 +
 xen/arch/arm/arm32/traps.c           |   2 +-
 xen/arch/arm/include/asm/arm32/bug.h |   2 -
 xen/arch/arm/include/asm/arm64/bug.h |   2 -
 xen/arch/arm/include/asm/bug.h       |  88 +--------------
 xen/arch/arm/include/asm/div64.h     |   2 +-
 xen/arch/arm/include/asm/traps.h     |   2 -
 xen/arch/arm/traps.c                 |  81 +-------------
 xen/arch/arm/vgic/vgic-v2.c          |   2 +-
 xen/arch/arm/vgic/vgic.c             |   2 +-
 xen/arch/x86/Kconfig                 |   1 +
 xen/arch/x86/acpi/cpufreq/cpufreq.c  |   2 +-
 xen/arch/x86/include/asm/asm_defns.h |   2 +-
 xen/arch/x86/include/asm/bug.h       |  84 +-------------
 xen/arch/x86/traps.c                 |  81 ++------------
 xen/common/Kconfig                   |   3 +
 xen/common/Makefile                  |   1 +
 xen/common/bug.c                     | 103 +++++++++++++++++
 xen/drivers/cpufreq/cpufreq.c        |   2 +-
 xen/include/xen/bug.h                | 158 +++++++++++++++++++++++++++
 xen/include/xen/lib.h                |   2 +-
 21 files changed, 289 insertions(+), 334 deletions(-)
 create mode 100644 xen/common/bug.c
 create mode 100644 xen/include/xen/bug.h

-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 09:20:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 09:20:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504741.777108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXf7B-0008JO-9X; Thu, 02 Mar 2023 09:20:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504741.777108; Thu, 02 Mar 2023 09: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 1pXf7B-0008I7-5p; Thu, 02 Mar 2023 09:20:41 +0000
Received: by outflank-mailman (input) for mailman id 504741;
 Thu, 02 Mar 2023 09:20: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=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXf79-0007lr-LC
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 09:20:39 +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 7f1fb397-b8db-11ed-96aa-2f268f93b82a;
 Thu, 02 Mar 2023 10:20:38 +0100 (CET)
Received: by mail-lj1-x22a.google.com with SMTP id z5so16885279ljc.8
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 01:20:38 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 g7-20020a2eb5c7000000b002946be8475esm2018442ljn.135.2023.03.02.01.20.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 01:20: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: 7f1fb397-b8db-11ed-96aa-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677748838;
        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=dM/RkD/avfzVVu0C/hvbwQrGX6kwBtF555pillP6hiE=;
        b=RA2mJU0DAf226UrKgzi7XezZgh1dtD2TWYqMLlwyWLKwXfI5NCc464PEte8CTua1YT
         4nCfU1AJogxCtQkVCfOrDWZ7aN6LGdxrALfTDbVgzEt5ueLrt3eJqHKsBVHa7xJgY1jS
         PwOvtGc5p4dZESr9Ey2P9M5Z5Ek3rstyTbHQwY7ozJDTtVoibUMHsemaIXEw+3TMfaTN
         jJTW4xMzCLJxZnFyszBcmWHXR48DZWvYoDXxNpbplhRRjtJTRzNDisk18Jd3Frp1GvoQ
         N4vSbjuvG/aGDjN2B7Ozylcf+pISeXEwOnCIgHYqxrFNoZlvvXzxP37hsgRqZnfmrtAX
         oOVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677748838;
        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=dM/RkD/avfzVVu0C/hvbwQrGX6kwBtF555pillP6hiE=;
        b=e2kHH+Qi3JIr2o7SMcfgZ1U7itnGEzDmOTN9KBDyS6VKzfkFR/zG2DrI4jE+TCnHTK
         tejKAVlCr9gXF/0vpYESsSTLUQispKNgzH4ZeBWxEb24I4wSaXdJp/vkibZELEXGyicA
         L/AOx3st4Vy0Ao1/ZdkmLZCuctNUIN5/d7Xc+t9pYfHT3TEh6QHW8Mn8K9GrY6HxofnQ
         a5iEz/pn9TnZ1tCd6QhNldvQBi1NOdU5vnwXybb893Sy0HcgwCusYGQC6v+prGyKlxUc
         F6V4t2fHRKlYZ7wR5E1nvTbCd9pOogYrU68mAV7jEJSwG91tkJYIfbkVsVjGiCXN5+iA
         PThw==
X-Gm-Message-State: AO0yUKX5OIo2WWirv/iX1hNN5cXCDGQO7HZDREVJJxqTalFKQGZIDAGp
	5rS8KqDCxm1wHRFYN7jcRzujThBAu8E=
X-Google-Smtp-Source: AK7set/mKnWUyffQvM5R/vyp3h0pXHy7dkX8lDS+Y/SbHC6tneNJClqyK8WL1MnId8D/VrgfnR6eRw==
X-Received: by 2002:a2e:7d0a:0:b0:295:9be0:212b with SMTP id y10-20020a2e7d0a000000b002959be0212bmr2993371ljc.8.1677748838135;
        Thu, 02 Mar 2023 01:20:38 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v4 3/4] xen/arm: switch ARM to use generic implementation of bug.h
Date: Thu,  2 Mar 2023 11:20:27 +0200
Message-Id: <fd0b81101c702b8d082a78507ce081b2fc2bbb41.1677747527.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677747527.git.oleksii.kurochko@gmail.com>
References: <cover.1677747527.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following changes were made:
* make GENERIC_BUG_FRAME mandatory for ARM
* As do_bug_frame() returns -EINVAL in case something goes wrong
  otherwise id of bug frame. Thereby 'if' cases where do_bug_frame() was
  updated to check if the returned value is less than 0
* Switch ARM's implementation of bug.h macros to generic one

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4:
 * Switch ARM implementation to generic one
 * Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed after switch to generic implementation
 * Update commit message
---
Changes in V3:
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
---
Changes in V2:
 * Rename bug_file() in ARM implementation to bug_ptr() as
   generic do_bug_frame() uses bug_ptr().
 * Remove generic parts from bug.h
 * Remove declaration of 'int do_bug_frame(...)'
   from <asm/traps.h> as it was introduced in <xen/bug.h>
---
 xen/arch/arm/Kconfig                 |  1 +
 xen/arch/arm/arm32/traps.c           |  2 +-
 xen/arch/arm/include/asm/arm32/bug.h |  2 -
 xen/arch/arm/include/asm/arm64/bug.h |  2 -
 xen/arch/arm/include/asm/bug.h       | 75 +-------------------------
 xen/arch/arm/include/asm/traps.h     |  2 -
 xen/arch/arm/traps.c                 | 81 +---------------------------
 xen/common/bug.c                     |  4 --
 8 files changed, 4 insertions(+), 165 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 239d3aed3c..aad6644a7b 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -12,6 +12,7 @@ config ARM_64
 
 config ARM
 	def_bool y
+	select GENERIC_BUG_FRAME
 	select HAS_ALTERNATIVE
 	select HAS_DEVICE_TREE
 	select HAS_PASSTHROUGH
diff --git a/xen/arch/arm/arm32/traps.c b/xen/arch/arm/arm32/traps.c
index a2fc1c22cb..61c61132c7 100644
--- a/xen/arch/arm/arm32/traps.c
+++ b/xen/arch/arm/arm32/traps.c
@@ -48,7 +48,7 @@ void do_trap_undefined_instruction(struct cpu_user_regs *regs)
     if ( instr != BUG_OPCODE )
         goto die;
 
-    if ( do_bug_frame(regs, pc) )
+    if ( do_bug_frame(regs, pc) < 0 )
         goto die;
 
     regs->pc += 4;
diff --git a/xen/arch/arm/include/asm/arm32/bug.h b/xen/arch/arm/include/asm/arm32/bug.h
index 25cce151dc..3e66f35969 100644
--- a/xen/arch/arm/include/asm/arm32/bug.h
+++ b/xen/arch/arm/include/asm/arm32/bug.h
@@ -10,6 +10,4 @@
 
 #define BUG_INSTR ".word " __stringify(BUG_OPCODE)
 
-#define BUG_FN_REG r0
-
 #endif /* __ARM_ARM32_BUG_H__ */
diff --git a/xen/arch/arm/include/asm/arm64/bug.h b/xen/arch/arm/include/asm/arm64/bug.h
index 5e11c0dfd5..59f664d7de 100644
--- a/xen/arch/arm/include/asm/arm64/bug.h
+++ b/xen/arch/arm/include/asm/arm64/bug.h
@@ -6,6 +6,4 @@
 
 #define BUG_INSTR "brk " __stringify(BRK_BUG_FRAME_IMM)
 
-#define BUG_FN_REG x0
-
 #endif /* __ARM_ARM64_BUG_H__ */
diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index 9315662c6e..1d87533044 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -11,80 +11,7 @@
 # error "unknown ARM variant"
 #endif
 
-#define BUG_DISP_WIDTH    24
-#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
-#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
-
-#define BUG_FRAME_STRUCT
-
-struct bug_frame {
-    signed int loc_disp;    /* Relative address to the bug address */
-    signed int file_disp;   /* Relative address to the filename */
-    signed int msg_disp;    /* Relative address to the predicate (for ASSERT) */
-    uint16_t line;          /* Line number */
-    uint32_t pad0:16;       /* Padding for 8-bytes align */
-};
-
-#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
-#define bug_file(b) ((const void *)(b) + (b)->file_disp);
-#define bug_line(b) ((b)->line)
-#define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
-
-/* Many versions of GCC doesn't support the asm %c parameter which would
- * be preferable to this unpleasantness. We use mergeable string
- * sections to avoid multiple copies of the string appearing in the
- * Xen image. BUGFRAME_run_fn needs to be handled separately.
- */
-#define BUG_FRAME(type, line, file, has_msg, msg) do {                      \
-    BUILD_BUG_ON((line) >> 16);                                             \
-    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                    \
-    asm ("1:"BUG_INSTR"\n"                                                  \
-         ".pushsection .rodata.str, \"aMS\", %progbits, 1\n"                \
-         "2:\t.asciz " __stringify(file) "\n"                               \
-         "3:\n"                                                             \
-         ".if " #has_msg "\n"                                               \
-         "\t.asciz " #msg "\n"                                              \
-         ".endif\n"                                                         \
-         ".popsection\n"                                                    \
-         ".pushsection .bug_frames." __stringify(type) ", \"a\", %progbits\n"\
-         "4:\n"                                                             \
-         ".p2align 2\n"                                                     \
-         ".long (1b - 4b)\n"                                                \
-         ".long (2b - 4b)\n"                                                \
-         ".long (3b - 4b)\n"                                                \
-         ".hword " __stringify(line) ", 0\n"                                \
-         ".popsection");                                                    \
-} while (0)
-
-/*
- * GCC will not allow to use "i"  when PIE is enabled (Xen doesn't set the
- * flag but instead rely on the default value from the compiler). So the
- * easiest way to implement run_in_exception_handler() is to pass the to
- * be called function in a fixed register.
- */
-#define  run_in_exception_handler(fn) do {                                  \
-    asm ("mov " __stringify(BUG_FN_REG) ", %0\n"                            \
-         "1:"BUG_INSTR"\n"                                                  \
-         ".pushsection .bug_frames." __stringify(BUGFRAME_run_fn) ","       \
-         "             \"a\", %%progbits\n"                                 \
-         "2:\n"                                                             \
-         ".p2align 2\n"                                                     \
-         ".long (1b - 2b)\n"                                                \
-         ".long 0, 0, 0\n"                                                  \
-         ".popsection" :: "r" (fn) : __stringify(BUG_FN_REG) );             \
-} while (0)
-
-#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, "")
-
-#define BUG() do {                                              \
-    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, "");        \
-    unreachable();                                              \
-} while (0)
-
-#define assert_failed(msg) do {                                 \
-    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
-    unreachable();                                              \
-} while (0)
+#define BUG_ASM_CONST   "c"
 
 #endif /* __ARM_BUG_H__ */
 /*
diff --git a/xen/arch/arm/include/asm/traps.h b/xen/arch/arm/include/asm/traps.h
index 883dae368e..c6518008ec 100644
--- a/xen/arch/arm/include/asm/traps.h
+++ b/xen/arch/arm/include/asm/traps.h
@@ -69,8 +69,6 @@ void do_cp(struct cpu_user_regs *regs, const union hsr hsr);
 void do_trap_smc(struct cpu_user_regs *regs, const union hsr hsr);
 void do_trap_hvc_smccc(struct cpu_user_regs *regs);
 
-int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc);
-
 void noreturn do_unexpected_trap(const char *msg,
                                  const struct cpu_user_regs *regs);
 void do_trap_hyp_sync(struct cpu_user_regs *regs);
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 061c92acbd..9c6eb66422 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1197,85 +1197,6 @@ void do_unexpected_trap(const char *msg, const struct cpu_user_regs *regs)
     panic("CPU%d: Unexpected Trap: %s\n", smp_processor_id(), msg);
 }
 
-int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
-{
-    const struct bug_frame *bug = NULL;
-    const char *prefix = "", *filename, *predicate;
-    unsigned long fixup;
-    int id = -1, lineno;
-    const struct virtual_region *region;
-
-    region = find_text_region(pc);
-    if ( region )
-    {
-        for ( id = 0; id < BUGFRAME_NR; id++ )
-        {
-            const struct bug_frame *b;
-            unsigned int i;
-
-            for ( i = 0, b = region->frame[id].bugs;
-                  i < region->frame[id].n_bugs; b++, i++ )
-            {
-                if ( ((vaddr_t)bug_loc(b)) == pc )
-                {
-                    bug = b;
-                    goto found;
-                }
-            }
-        }
-    }
- found:
-    if ( !bug )
-        return -ENOENT;
-
-    if ( id == BUGFRAME_run_fn )
-    {
-        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
-
-        fn(regs);
-        return 0;
-    }
-
-    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = bug_file(bug);
-    if ( !is_kernel(filename) )
-        return -EINVAL;
-    fixup = strlen(filename);
-    if ( fixup > 50 )
-    {
-        filename += fixup - 47;
-        prefix = "...";
-    }
-    lineno = bug_line(bug);
-
-    switch ( id )
-    {
-    case BUGFRAME_warn:
-        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
-        return 0;
-
-    case BUGFRAME_bug:
-        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
-        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-    case BUGFRAME_assert:
-        /* ASSERT: decode the predicate string pointer. */
-        predicate = bug_msg(bug);
-        if ( !is_kernel(predicate) )
-            predicate = "<unknown>";
-
-        printk("Assertion '%s' failed at %s%s:%d\n",
-               predicate, prefix, filename, lineno);
-        show_execution_state(regs);
-        panic("Assertion '%s' failed at %s%s:%d\n",
-              predicate, prefix, filename, lineno);
-    }
-
-    return -EINVAL;
-}
-
 #ifdef CONFIG_ARM_64
 static void do_trap_brk(struct cpu_user_regs *regs, const union hsr hsr)
 {
@@ -1292,7 +1213,7 @@ static void do_trap_brk(struct cpu_user_regs *regs, const union hsr hsr)
     switch ( hsr.brk.comment )
     {
     case BRK_BUG_FRAME_IMM:
-        if ( do_bug_frame(regs, regs->pc) )
+        if ( do_bug_frame(regs, regs->pc) < 0 )
             goto die;
 
         regs->pc += 4;
diff --git a/xen/common/bug.c b/xen/common/bug.c
index 290f4fcc8b..e636edd85a 100644
--- a/xen/common/bug.c
+++ b/xen/common/bug.c
@@ -46,11 +46,7 @@ int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
 
     if ( id == BUGFRAME_run_fn )
     {
-#ifdef BUG_FN_REG
-        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
-#else
         void (*fn)(const struct cpu_user_regs *) = bug_ptr(bug);
-#endif
 
         fn(regs);
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 09:20:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 09:20:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504740.777104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXf7B-0008GF-2t; Thu, 02 Mar 2023 09:20:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504740.777104; Thu, 02 Mar 2023 09: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 1pXf7A-0008G8-Uw; Thu, 02 Mar 2023 09:20:40 +0000
Received: by outflank-mailman (input) for mailman id 504740;
 Thu, 02 Mar 2023 09:20:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXf78-0007lq-V8
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 09:20:39 +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 7e169d6e-b8db-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 10:20:37 +0100 (CET)
Received: by mail-lj1-x236.google.com with SMTP id y14so16896179ljq.4
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 01:20:37 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 g7-20020a2eb5c7000000b002946be8475esm2018442ljn.135.2023.03.02.01.20.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 01:20: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: 7e169d6e-b8db-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677748836;
        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=1Waw8pBXblK+xZc6vswBktKkR2DVB9FDOMeQq9ioH4E=;
        b=jD/sJ3fX1ZQEmzUegARf5sCcr4BHt3w57fF0l2sqRqmELn+egrLWYc57LhWBpIf+0m
         D4ix54rHtbTlwWKSJllBxLzfOY5I6HFjwdHYCkUgNHkD5ZN9Rd/7coZSML3edlfBZ8/h
         NPC3C2PRysVfj/lAs5JVXCh3xSeCI1++tzOJNyjwI8YHu9B0fpj78Sm0DjVgDJ5SQZDs
         7vl/jLrVRuxrNt52O3/X+cn6Rve0j3alJfAk/HNFZ8Xh3wgaWX9l9ST04J8hWAebZXmg
         MRSReRd1egytau2nwGzfHz/jxUTw5WYb22lX7T/GsWmqV9v2gmAyZXsa8C69BNdyskJE
         ohow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677748836;
        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=1Waw8pBXblK+xZc6vswBktKkR2DVB9FDOMeQq9ioH4E=;
        b=UPaWzrVReC8CmWwgyrdlHp0zY5H0BDLw7eSwJEcdRzjPYN+KQATRTM5uLpRfY/SqZn
         UgXrCaHroljmSi7KxZN5YaluY7jiTRpVoyq7StmdPitjrN8khDHpWCKNtzgE8JBtF42P
         tug/Z4rdz9uzIcexCmSANrjJBuawlqcW0emjtBH9lzO1s6csVyg75IggF8ap/VFcecjx
         wLarccqbTMK7Ksbh1kbnyB88yk+5CZGScZM1xeJHtJDYuBi6Z8V53mjiwj/rEAZnDMa4
         maGP8QBaHEJyIsDO5NGrZzbQToMj3dePYFP3gUgfmlZhydsafhwIDRBwim1tp5FMqFeA
         DYKg==
X-Gm-Message-State: AO0yUKWfGi3XHuJRwtZngx1iOkdWeSS73WQR9y6IwMMLqaC+nlkyI9IC
	JH1lJH00Tt/z84Du1Of5mNpwjY9TKVY=
X-Google-Smtp-Source: AK7set8zoA9Df/E9ozpTWURcy/nv4HyMYrsSvPmGf6TrUsZ2mvz1m0P9tgiMRQ/QExJInckVTwa9hA==
X-Received: by 2002:a2e:9e94:0:b0:295:93eb:1c01 with SMTP id f20-20020a2e9e94000000b0029593eb1c01mr2982466ljk.25.1677748836505;
        Thu, 02 Mar 2023 01:20:36 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 2/4] xen: change <asm/bug.h> to <xen/bug.h>
Date: Thu,  2 Mar 2023 11:20:26 +0200
Message-Id: <147cddf155d738bd5ed3023bb5152ce95a73c21d.1677747527.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677747527.git.oleksii.kurochko@gmail.com>
References: <cover.1677747527.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The idea of the patch is to change all <asm/bug.h> to <xen/bug.h> and
keep Xen compilable with adding only minimal amount of changes:
1. It was added "#include <xen/types.h>" to ARM's "<asm/bug.h>" as it
  uses uint_{16,32}t in 'struct bug_frame'.
2. It was added '#define BUG_FRAME_STRUCT' which means that ARM hasn't
  been switched to generic implementation yet.
3. It was added '#define BUG_FRAME_STRUCT' which means that x86 hasn't
  been switched to generic implementation yet.
4. BUGFRAME_* and _start_bug_frame[], _stop_bug_frame_*[] were removed
  for ARM & x86 to deal with compilation errors such as:
      redundant redeclaration of ...

In the following two patches x86 and ARM archictectures will be
switched fully:
* xen/arm: switch ARM to use generic implementation of bug.h
* xen/x86: switch x86 to use generic implemetation of bug.h

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4:
	- defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH were moved into
	  "ifndef BUG_FRAME_STRUCT" in <xen/bug.h> as they are specific for 'struct bug_frame' and so should
	  co-exist together. So the defines were back to <asm/bug.h> until BUG_FRAME_STRUCT will be defined in
	  <asm/bug.h>.
	- Update the comment message.
---
Changes in V3:
 * Update patch 2 not to break compilation: move some parts from patches 3 and 4
   to patch 2:
   * move some generic parts from <asm/bug.h> to <xen/bug.h>
   * add define BUG_FRAME_STRUCT in ARM's <asm/bug.h>
---
Changes in V2:
 * Put [PATCH v1 4/4] xen: change <asm/bug.h> to <xen/bug.h> as second patch,
   update the patch to change all <asm/bug.h> to <xen/bug.h> among the whole project
   to not break build.
 * Update the commit message.
---
 xen/arch/arm/include/asm/bug.h       | 17 ++++-------------
 xen/arch/arm/include/asm/div64.h     |  2 +-
 xen/arch/arm/vgic/vgic-v2.c          |  2 +-
 xen/arch/arm/vgic/vgic.c             |  2 +-
 xen/arch/x86/acpi/cpufreq/cpufreq.c  |  2 +-
 xen/arch/x86/include/asm/asm_defns.h |  2 +-
 xen/arch/x86/include/asm/bug.h       | 15 ++-------------
 xen/drivers/cpufreq/cpufreq.c        |  2 +-
 xen/include/xen/lib.h                |  2 +-
 9 files changed, 13 insertions(+), 33 deletions(-)

diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index f4088d0913..9315662c6e 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -1,6 +1,8 @@
 #ifndef __ARM_BUG_H__
 #define __ARM_BUG_H__
 
+#include <xen/types.h>
+
 #if defined(CONFIG_ARM_32)
 # include <asm/arm32/bug.h>
 #elif defined(CONFIG_ARM_64)
@@ -13,6 +15,8 @@
 #define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
 #define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
 
+#define BUG_FRAME_STRUCT
+
 struct bug_frame {
     signed int loc_disp;    /* Relative address to the bug address */
     signed int file_disp;   /* Relative address to the filename */
@@ -26,13 +30,6 @@ struct bug_frame {
 #define bug_line(b) ((b)->line)
 #define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
 
-#define BUGFRAME_run_fn 0
-#define BUGFRAME_warn   1
-#define BUGFRAME_bug    2
-#define BUGFRAME_assert 3
-
-#define BUGFRAME_NR     4
-
 /* Many versions of GCC doesn't support the asm %c parameter which would
  * be preferable to this unpleasantness. We use mergeable string
  * sections to avoid multiple copies of the string appearing in the
@@ -89,12 +86,6 @@ struct bug_frame {
     unreachable();                                              \
 } while (0)
 
-extern const struct bug_frame __start_bug_frames[],
-                              __stop_bug_frames_0[],
-                              __stop_bug_frames_1[],
-                              __stop_bug_frames_2[],
-                              __stop_bug_frames_3[];
-
 #endif /* __ARM_BUG_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/arm/include/asm/div64.h b/xen/arch/arm/include/asm/div64.h
index 1cd58bc51a..fc667a80f9 100644
--- a/xen/arch/arm/include/asm/div64.h
+++ b/xen/arch/arm/include/asm/div64.h
@@ -74,7 +74,7 @@
 
 #elif __GNUC__ >= 4
 
-#include <asm/bug.h>
+#include <xen/bug.h>
 
 /*
  * If the divisor happens to be constant, we determine the appropriate
diff --git a/xen/arch/arm/vgic/vgic-v2.c b/xen/arch/arm/vgic/vgic-v2.c
index 1a99d3a8b4..c90e88fddb 100644
--- a/xen/arch/arm/vgic/vgic-v2.c
+++ b/xen/arch/arm/vgic/vgic-v2.c
@@ -16,8 +16,8 @@
  */
 
 #include <asm/new_vgic.h>
-#include <asm/bug.h>
 #include <asm/gic.h>
+#include <xen/bug.h>
 #include <xen/sched.h>
 #include <xen/sizes.h>
 
diff --git a/xen/arch/arm/vgic/vgic.c b/xen/arch/arm/vgic/vgic.c
index f0f2ea5021..b9463a5f27 100644
--- a/xen/arch/arm/vgic/vgic.c
+++ b/xen/arch/arm/vgic/vgic.c
@@ -15,9 +15,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <xen/bug.h>
 #include <xen/list_sort.h>
 #include <xen/sched.h>
-#include <asm/bug.h>
 #include <asm/event.h>
 #include <asm/new_vgic.h>
 
diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index c27cbb2304..18ff2a443b 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -27,6 +27,7 @@
  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  */
 
+#include <xen/bug.h>
 #include <xen/types.h>
 #include <xen/errno.h>
 #include <xen/delay.h>
@@ -35,7 +36,6 @@
 #include <xen/sched.h>
 #include <xen/timer.h>
 #include <xen/xmalloc.h>
-#include <asm/bug.h>
 #include <asm/msr.h>
 #include <asm/io.h>
 #include <asm/processor.h>
diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
index d9431180cf..a8526cf36c 100644
--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -6,7 +6,7 @@
 /* NB. Auto-generated from arch/.../asm-offsets.c */
 #include <asm/asm-offsets.h>
 #endif
-#include <asm/bug.h>
+#include <xen/bug.h>
 #include <asm/x86-defns.h>
 #include <xen/stringify.h>
 #include <asm/cpufeature.h>
diff --git a/xen/arch/x86/include/asm/bug.h b/xen/arch/x86/include/asm/bug.h
index b7265bdfbe..79133e53e7 100644
--- a/xen/arch/x86/include/asm/bug.h
+++ b/xen/arch/x86/include/asm/bug.h
@@ -5,15 +5,10 @@
 #define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
 #define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
 
-#define BUGFRAME_run_fn 0
-#define BUGFRAME_warn   1
-#define BUGFRAME_bug    2
-#define BUGFRAME_assert 3
-
-#define BUGFRAME_NR     4
-
 #ifndef __ASSEMBLY__
 
+#define BUG_FRAME_STRUCT
+
 struct bug_frame {
     signed int loc_disp:BUG_DISP_WIDTH;
     unsigned int line_hi:BUG_LINE_HI_WIDTH;
@@ -80,12 +75,6 @@ struct bug_frame {
     unreachable();                                              \
 } while (0)
 
-extern const struct bug_frame __start_bug_frames[],
-                              __stop_bug_frames_0[],
-                              __stop_bug_frames_1[],
-                              __stop_bug_frames_2[],
-                              __stop_bug_frames_3[];
-
 #else  /* !__ASSEMBLY__ */
 
 /*
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index a94520ee57..354f78580b 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -26,6 +26,7 @@
  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  */
 
+#include <xen/bug.h>
 #include <xen/types.h>
 #include <xen/errno.h>
 #include <xen/delay.h>
@@ -39,7 +40,6 @@
 #include <xen/guest_access.h>
 #include <xen/domain.h>
 #include <xen/cpu.h>
-#include <asm/bug.h>
 #include <asm/io.h>
 #include <asm/processor.h>
 
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 05ee1e18af..e914ccade0 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -24,12 +24,12 @@
 
 #ifndef __ASSEMBLY__
 
+#include <xen/bug.h>
 #include <xen/inttypes.h>
 #include <xen/stdarg.h>
 #include <xen/types.h>
 #include <xen/xmalloc.h>
 #include <xen/string.h>
-#include <asm/bug.h>
 
 #define BUG_ON(p)  do { if (unlikely(p)) BUG();  } while (0)
 #define WARN_ON(p)  ({                  \
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 09:24:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 09:24:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504772.777133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXfAU-00029c-7W; Thu, 02 Mar 2023 09:24:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504772.777133; Thu, 02 Mar 2023 09: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 1pXfAU-00029V-4x; Thu, 02 Mar 2023 09:24:06 +0000
Received: by outflank-mailman (input) for mailman id 504772;
 Thu, 02 Mar 2023 09:24: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=UKVd=62=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pXfAS-00029H-RT
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 09:24:04 +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 f9670e5f-b8db-11ed-96aa-2f268f93b82a;
 Thu, 02 Mar 2023 10:24:04 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id c18so10226905wmr.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 01:24:04 -0800 (PST)
Received: from [192.168.18.179] (54-240-197-231.amazon.com. [54.240.197.231])
 by smtp.gmail.com with ESMTPSA id
 q8-20020a05600c46c800b003e7f1086660sm2433070wmo.15.2023.03.02.01.24.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Mar 2023 01:24: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: f9670e5f-b8db-11ed-96aa-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        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=b0qXziU2kgjH0TZQt3xevl6U/O4itqCH1ZpiUXv//eE=;
        b=KtPocXbqDmOO5ZjCj3xn6FgFwyfqNPp4zf2WJeQB0MARMaoljjKAJI1xOxJN1ju5wB
         2RdElejciAvbWdYAa4uK7+PNWOCNeyXjby/LFlTd/ShVm/G/ulGJrlIjToTCdwHRrpGd
         xa1/KzlP9ozvbkPQ0MVBhFuA4z70ItAoBvnj6+ccpBpn5eHPdKjDXqZ9gl/l1Hz90agq
         pa0XykVvbs+76TeJD2S2z9mQIXf1suUyv5d5rJut0+HZ1sXTBr+/PgT/F2hjQQytXgl4
         kBXYbawPkEtO5Sj+jj4YwP+zyshJjTu4eQwxzgDgIRGDX9mzSbfZMrcebEzTjc7xuY3d
         7pgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:organization: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=b0qXziU2kgjH0TZQt3xevl6U/O4itqCH1ZpiUXv//eE=;
        b=Kiw5sowndhv3kW5Enp644f4yq06mbDiRaxhTwR+5GGtcwclL1RYF68DZ0+Zwpft7Sb
         /xOaDgDsaCuVN0S10vN+/i3v1ejPTUR5W4c1WpY9r+V5wCcaWInYH0J/f+ygaGa8wXO2
         JmL63/O96VP1+EPIxFBL40j15a4/oN8hNwV7UFO38vf/aU34mHdEkE9Qd08DpxkvJbgx
         HPG8ZlesRtz4PoygWCC2OqWV+8FxOakqjeU7bJ0VI8hDRq81lw8n9c5IS+JFMHBSuwlP
         kPVzsPsBoMhoTtMrztm6Ng2h/vOhnu+qZF5oGt2ypzkE0akk8NAeHUq9IDxmpJrwp/5b
         UbSA==
X-Gm-Message-State: AO0yUKX76VnMAKzY94QIjXmWhHWza99YCm9ScLU//vbqllWi/VkYnfQE
	QizHW9KgPOz1P57lAQT4KOThR1elS+RvGQ==
X-Google-Smtp-Source: AK7set+ym9ykTwOMi28fEvALCmeDGZ2dhHjQl02bl2h80f3u229Rr/idbCkhHxjwvyZ50NmnlfV1Kw==
X-Received: by 2002:a05:600c:314e:b0:3ea:ecc2:daab with SMTP id h14-20020a05600c314e00b003eaecc2daabmr7907127wmo.3.1677749043250;
        Thu, 02 Mar 2023 01:24:03 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <8e00217f-d67a-af35-bef5-d2dc5077c543@xen.org>
Date: Thu, 2 Mar 2023 09:23:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: memory access atomicity during HVM insn emulation on x86
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <aa65b90a-5875-9306-692d-d3221afe785a@suse.com>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <aa65b90a-5875-9306-692d-d3221afe785a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 08:35, Jan Beulich wrote:
> Hello,
> 
> in (I think) Intel SDM version 076 a new guarantee of atomicity of certain
> aligned 16-byte accesses appeared. While initially I thought this would be
> another special case we need to invent a solution for (it still is, in
> certain cases, as per further down), I had to realize that we don't even
> guarantee atomicity of smaller accesses, including as simple ones as plain
> 16-, 32-, or 64-bit moves. All read/write operations are handled by the
> very generic __hvm_copy(), which invokes memcpy() / memset(), which in
> turn do byte-wise copies unless the compiler decides to inline the
> operations (which from all I can tell it won't normally do for the uses in
> __hvm_copy()).
> 
> The question here is whether to make __hvm_copy() handle the guaranteed-
> aligned cases specially, or whether to avoid making use of that function
> in those cases (i.e. deal with the cases in linear_{read,write}()). Both
> options have their downsides (complicating a core function vs duplicating
> a certain amount of code).
> 
> As to 16-byte atomic accesses: The SDM doesn't restrict this to WB memory.
> As a result, in order to implement this correctly, we cannot just utilize
> the rmw() or blk() hooks, as these expect to operate on guest RAM (which
> they can map and then access directly). Instead the path invoking the
> device model will also need to cope. Yet the ioreq interface is limited
> to 64 bits of data at a time (except for the data_is_ptr case, which imo
> has to be considered inherently non-atomic). So it looks to me that as a
> prereq to fully addressing the issue in the hypervisor we need an
> extension to the ioreq interface.
> 
> Thoughts anyone?
> 

Does the interface need modification? As long as 16-bytes are copied 
to/from guest RAM in an atomic way then how that data is passed to/from 
a device model shouldn't affect it, should it? (As you say, data_is_ptr 
is a different problem).

   Paul



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 09:25:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 09:25:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504778.777143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXfBa-0002l4-Jc; Thu, 02 Mar 2023 09:25:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504778.777143; Thu, 02 Mar 2023 09:25:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXfBa-0002kx-Gm; Thu, 02 Mar 2023 09:25:14 +0000
Received: by outflank-mailman (input) for mailman id 504778;
 Thu, 02 Mar 2023 09:25: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=UKVd=62=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pXfBZ-0002k0-CJ
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 09:25:13 +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 21800e61-b8dc-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 10:25:11 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 o11-20020a05600c4fcb00b003eb33ea29a8so1088475wmq.1
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 01:25:11 -0800 (PST)
Received: from [192.168.18.179] (54-240-197-239.amazon.com. [54.240.197.239])
 by smtp.gmail.com with ESMTPSA id
 h8-20020adff188000000b002c54241b4fesm14573977wro.80.2023.03.02.01.25.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Mar 2023 01:25: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: 21800e61-b8dc-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112;
        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=UgUMEt+prO6c8gKv0UVNWeB2aWOakOZG0Q9kLxhGLG4=;
        b=HyKcX4ZHkkLBYAq3Cg96RXW3o4GQXr3Gdhv6X4bin2xWdwTo9fe4px1QtV1jgjLg2p
         NkX1mGSXsHmeaXQqJLJHBiI+WosGNhMt8sLHrBw9u7MAFp1lAq9vlVQ15m5o7bWv6ct5
         222lY4uSauT0/S53otZEO6UY+o1PPBIMievqtNaCA5umyHeO51Q5IRBNX9YHSttqb+lD
         g/fdLkKFSc5i1/ysQ79PR9XX+jwKTOOpzjAS71yppz+Gt/PQfpylJdrflf755r9iUrAZ
         aveN8pvHx5kwAptAxbbxEXi7pvl9sQZVh+jbXzIXurU/Z8Mg80xbYSSo1SdYvpsj7mVe
         rXiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:organization:references: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=UgUMEt+prO6c8gKv0UVNWeB2aWOakOZG0Q9kLxhGLG4=;
        b=qBbRWJV8Uvfx5ojLfOix8VntGtDRkHGkdRsllWbHCOmMT8/122aCi5JOHcbiOWRFtD
         uEjK1Mpu34OXvFpLn3MlqPVS6faXa27z1CLsh7PUo0IAUxsAoGXLqFyBQy8TSrS9vs90
         AWnI0UrS+OI/DtS28WmbWmOXi/TnMlRwpsUo1bsr531Enru+G3st7wg1ZlHULLFBf8D8
         mR2bww2nKgbEgIlRXvvMA07lrX/OmIHXbAw+DKsrPvZDybEdugnt3SVbjTz8BbGzh9wk
         lbYEA2FMc2RAIxg+I6A5qy3cfiGab6G43Ki0AkzF3NwOHYlC0grYxxG+EnDgCcHD0/po
         SPEg==
X-Gm-Message-State: AO0yUKXNBSqVjUxE4TOI2/2N6zErcbQ7R0/qwASWrux1Hvyl3a9cyAsB
	H5O80OgON6x6TAePapaGcY4=
X-Google-Smtp-Source: AK7set8Gs71EI97gGKz//p+SnKtHJExEpiuw4ZbEyGboVmiugqZ+A47ms1BJzSpT+vMCZdmFjXA1fg==
X-Received: by 2002:a05:600c:81e:b0:3e2:201a:5bce with SMTP id k30-20020a05600c081e00b003e2201a5bcemr7299439wmp.40.1677749110852;
        Thu, 02 Mar 2023 01:25:10 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <c5ba665d-f385-8ed5-9f4e-acac9b7c6f62@xen.org>
Date: Thu, 2 Mar 2023 09:25:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [PATCH v6 4/4] hw: replace most qemu_bh_new calls with
 qemu_bh_new_guarded
Content-Language: en-US
To: "Michael S. Tsirkin" <mst@redhat.com>, Alexander Bulekov <alxndr@bu.edu>
Cc: qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>,
 Mauro Matteo Cascella <mcascell@redhat.com>, Peter Xu <peterx@redhat.com>,
 Jason Wang <jasowang@redhat.com>, David Hildenbrand <david@redhat.com>,
 Gerd Hoffmann <kraxel@redhat.com>, Thomas Huth <thuth@redhat.com>,
 Laurent Vivier <lvivier@redhat.com>, Bandan Das <bsd@redhat.com>,
 "Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
 Darren Kenny <darren.kenny@oracle.com>, Bin Meng <bin.meng@windriver.com>,
 Paolo Bonzini <pbonzini@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>,
 Eduardo Habkost <eduardo@habkost.net>, Jon Maloy <jmaloy@redhat.com>,
 Siqi Chen <coc.cyqh@gmail.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Kevin Wolf <kwolf@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>, Amit Shah <amit@kernel.org>,
 =?UTF-8?Q?Marc-Andr=c3=a9_Lureau?= <marcandre.lureau@redhat.com>,
 John Snow <jsnow@redhat.com>, Peter Maydell <peter.maydell@linaro.org>,
 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Keith Busch <kbusch@kernel.org>, Klaus Jensen <its@irrelevant.dk>,
 Fam Zheng <fam@euphon.net>, Dmitry Fleytman <dmitry.fleytman@gmail.com>,
 "Gonglei (Arei)" <arei.gonglei@huawei.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:virtio-blk" <qemu-block@nongnu.org>,
 "open list:i.MX31 (kzm)" <qemu-arm@nongnu.org>,
 "open list:Old World (g3beige)" <qemu-ppc@nongnu.org>
References: <20230205040737.3567731-1-alxndr@bu.edu>
 <20230205040737.3567731-5-alxndr@bu.edu>
 <20230301155442-mutt-send-email-mst@kernel.org>
Organization: Xen Project
In-Reply-To: <20230301155442-mutt-send-email-mst@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 01/03/2023 20:54, Michael S. Tsirkin wrote:
> On Sat, Feb 04, 2023 at 11:07:37PM -0500, Alexander Bulekov wrote:
>> This protects devices from bh->mmio reentrancy issues.
>>
>> Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
>> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
>> Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
> 
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> 

Xen parts...

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 09:30:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 09:30:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504786.777154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXfGx-0004Wt-75; Thu, 02 Mar 2023 09:30:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504786.777154; Thu, 02 Mar 2023 09:30: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 1pXfGx-0004Wm-3W; Thu, 02 Mar 2023 09:30:47 +0000
Received: by outflank-mailman (input) for mailman id 504786;
 Thu, 02 Mar 2023 09:30: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 1pXfGw-0004Wc-0d; Thu, 02 Mar 2023 09:30: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 1pXfGv-0004Yy-UI; Thu, 02 Mar 2023 09:30: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 1pXfGv-0007lt-EF; Thu, 02 Mar 2023 09:30:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXfGv-0003cx-Df; Thu, 02 Mar 2023 09:30: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=OLgbBsQJxN2D4bOuIfIiMMvzjgUqJ+wus5wASCkf0HE=; b=ZGTzndj3COm96DyPbqJaau12mH
	6fVRsW8f9tlAXuok+XopHB8vpZ55mxSwRy8HN1qBDFiZwJy+0E8TiAuOmH3Yk9JxH/UbPC32Ku2lR
	ToixmsKClG/ZmCIUtA6CK9r5qTHXMa07bCTWa1i32k3MAIMp0loPytwQ1ufEMMJrmaAQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178922-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 178922: tolerable trouble: fail/pass/starved - 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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b84fdf521b306cce64388fe57ee6c7c00f9d3e76
X-Osstest-Versions-That:
    xen=bfc3780f23ded229f42a2565783e21c32083bbfd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 02 Mar 2023 09:30:45 +0000

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

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 178771
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 178771
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178771
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178771
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 178771
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 178771
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178771
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 178771
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178771
 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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b84fdf521b306cce64388fe57ee6c7c00f9d3e76
baseline version:
 xen                  bfc3780f23ded229f42a2565783e21c32083bbfd

Last test of basis   178771  2023-02-28 13:11:03 Z    1 days
Testing same since   178827  2023-03-01 01:55:55 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Jan Beulich <jbeulich@suse.com>
  Sergey Dyasli <sergey.dyasli@citrix.com>
  Xenia Ragiadakou <burzalodowa@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   bfc3780f23..b84fdf521b  b84fdf521b306cce64388fe57ee6c7c00f9d3e76 -> master


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 09:31:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 09:31:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504795.777164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXfI0-00057A-Lw; Thu, 02 Mar 2023 09:31:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504795.777164; Thu, 02 Mar 2023 09:31: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 1pXfI0-000573-I6; Thu, 02 Mar 2023 09:31:52 +0000
Received: by outflank-mailman (input) for mailman id 504795;
 Thu, 02 Mar 2023 09:31: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=qSkR=62=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXfHz-00056v-Fg
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 09:31:51 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0605.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e7a800b-b8dd-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 10:31:49 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8478.eurprd04.prod.outlook.com (2603:10a6:10:2c4::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.29; Thu, 2 Mar
 2023 09:31:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023
 09:31:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e7a800b-b8dd-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ad1BWbcNoW2rWRWibZIRGxoF04cxNSnbJM/dR4vbQUnzSjx/EYJg4usmU0tWY9Iy5Wm8obMp1UIkF8FemccjYv2M37uL/Eor+lV8Xys2vUwmHYLWuqhmTjeZghVh0o2wvEnyHWKIDfsB8lS2XxlNj2Xwu7aFWhfW2Mj4dsThq7a2BD+93q7rvid1ctaChAtwYbyvct6GpS+SbYQxINFaWmv2gr/PbWC9JXJKKu62LY+/qsVnO/HCf9tI2SQeswPt9HHxxeb/cAbYoF+NpxSTc+51Hlc+neoIruZXIRz0TODZGxNYol7ZPxbgOy87qwjXR01aVhU8OqEZnsN3A70Z8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4TT3i/n3hKwgXET+xG1lzhqRgoYk9dOxxsMk3LZZnuM=;
 b=OLeLG3M+q6FH2EcnDwQ/urc8pCBLnZbXVeUYNzAFSSDpo8iJYkyyHWLdj2Vd1XFXv6FQK7OmI5/8ZYpU7Gayex1vl6h2IJSmTsvR45x56x2aGHEk9n1AvGeFQoTxKjWOPB2NqTVAaMLOiZqHkVSO/XySQADxxrTgWkKrLqUM735RbL5+snlydLhNsXh8MQyU+iS2lcYbp+PsbtM2bbYeAUSMMUFhr9WrASGKYh3vBQupxhjk0jQC9M5xV5xmcGcZjoJKTLD95corTT9YtWKeH9v9b0x9o3KqIGqK4MwFZ8zVEbBJz9ID9VjUUUMCCMQuNssA4zOhuceofxOWVmLFRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4TT3i/n3hKwgXET+xG1lzhqRgoYk9dOxxsMk3LZZnuM=;
 b=YoHAf9JZixs1nAVZ/MnYLuTgp5PjI6HcrxOTqt9bNx3NFdYXJW4nQdqinArw87yTz8jovmbN7nZaI30tKU1DPiOkyNiaU8x1LFoTT69O/38ESgGNc2Oi4zbW4599SFAjaV1dAEP2PXlZxd6a2YKC8IvAMByx4+v+RXSGuQ6Fo8oIukadO5bUcsqv55Rg6oaB9EnYOO0Na3y81MGd/iV5cr/WPTejoEMk6gLqvPqvd8Uz+9z4AcoVm/no/aK3WFUYvK/8LV9hLe8nymfXldsVFOZ2B8wzhq/RXVAVq9Oxe1H1g8FR6YyYw33lYonigA7oNGfuiw4UaGAE0Yt8rsdmxw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <50bb46ef-6c0b-99b4-939e-06ee788c56dc@suse.com>
Date: Thu, 2 Mar 2023 10:31:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 3/3] tools/xen-ucode: print information about currently
 loaded ucode
Content-Language: en-US
To: Sergey Dyasli <sergey.dyasli@cloud.com>
Cc: Sergey Dyasli <sergey.dyasli@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>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20230228173932.28510-1-sergey.dyasli@citrix.com>
 <20230228173932.28510-4-sergey.dyasli@citrix.com>
 <4fee8e81-79d3-eafc-b806-ea061216e072@suse.com>
 <CAPRVcufSx6PTGKaycZBj2j-92zRYnHqx=8YPH5EOnWf9ujwAaA@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAPRVcufSx6PTGKaycZBj2j-92zRYnHqx=8YPH5EOnWf9ujwAaA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0089.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8478:EE_
X-MS-Office365-Filtering-Correlation-Id: d896a6a9-11ae-469a-aa3d-08db1b00f022
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:
	MsFiB0lX7XMjcZmPWuV933+ksxLd4g61uPanF5jmBR5dYXo3sjXEvHx4pNloCvmG7HPG7RgKaR3Xlsmk2GbUUlEWDIBLtWnlWrk37Bs1VbjHU0o8s4JoexlSaVGayiMy6xDAzB3Mm4KRxDJITpOpJpl7BILkgxxp5Rjo6TLeCcPahCRJa9t2p7ZEePcOdmUU1H/WBV5nqbHE0yyNGDuqyXmSTduY9XP3pVHcIK1mWm8VnK1a2HIG1WIcZCkHNDNI6AWtJ0Gs0pzRVdIkdCZw2X5MHIP48yw5oKwThXz7vZNg4V3zBw6Xcb6lTpAeCZdchG9US3qRZ1xXQQw1DrdCfYNT7S/42ivVdPM/u4EETybi/aJnlNuAIklJeS06HGkp1dqu9vA0OQ+yP0CJUHAzLWvzruHmngfBULB8mWGzq/aJ+Tuxv82I7RQwxb9lKjNmKcP1IU/1NwKm5i197kulFNbc9USP6USQyyiSABW4bd/8iCRWvdUFU7ySBgZ6Ly1FGoLQrO6cZVftSs/fuwZ8epyrWL262ip/RmZqWKlzlLTL6gJ+by9/wqrY4BSWVA3CpEkhRRGCsh+ekPqfwo7uGs4TxxZk4gu1whBkG1AGNZmF+9tpHqOUJA+DZIzYinEoRgOWEJUB8fL3A4daBRsYNzCp8jqXtydswFGlTspApIjiY+nmSzbJv4UUP05H3VkArp7TqQnlsf8PtTfuGgs54i1Q5Zsn2TD+LvMaz48PIqc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(39860400002)(376002)(136003)(396003)(346002)(451199018)(478600001)(6486002)(2616005)(6512007)(6506007)(6666004)(54906003)(31686004)(66899018)(53546011)(26005)(186003)(316002)(66476007)(8676002)(83380400001)(66556008)(66946007)(4326008)(6916009)(41300700001)(36756003)(8936002)(7416002)(5660300002)(38100700002)(31696002)(2906002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dFFud0VCUDQ0TUFmM0lMMXNvYXYyL3kvNml2UG40TWFObUVlRDVvSUN1VVJM?=
 =?utf-8?B?aVZDYndKRSsyQTdQR1NvT0Iwbk94Y20xSmN5QnRNb3RrS0xyaWIwZ3FLZmNL?=
 =?utf-8?B?UDBGMGRkOHlEQWF0emZJeVFLZTdESHQzYjI4QXJQc25MVTBGSW1OdkJDdnVj?=
 =?utf-8?B?RUtMVUZ1WlBaaDZBN2p2bmkyNkhhMFZuNWtvK0o5d1ZmRFNUWTJSbXJaYVJq?=
 =?utf-8?B?eUplL3NodU0rcjZ2SlRKaHVFbkpVQzFVNnhTOCtVbmwwZjVzNEx4TmxwWHVa?=
 =?utf-8?B?Y2x6NzRhRDJKUDNSSmRsMEErT3gzeloyb3ZmRlNva203ekk2dzh3UzBpbUQ3?=
 =?utf-8?B?R3p0V2xTdlpMUEtaeTBjRDBjK3BwN2hSZExJODFJdkU4b1FuVWZOd1l2MmZm?=
 =?utf-8?B?Z1ljcFRDRDZIVytoM3RzZEJjbGc5WkxHK0lGcTVqbEVlOEMzRVFUZTI3dkdJ?=
 =?utf-8?B?RGYxMm1hOWJvNWRPaFFOVjQ4eU95UEpDRTdOcDBvMUtleGUxcFNUOUJ1TW9H?=
 =?utf-8?B?aGxzT2JFazFIR2VzOVlMZGF6MXBYV0cwaERyeFAydm9Ld3NJU1hiNHdyai9L?=
 =?utf-8?B?cFdndC9FZFEyMmwwaFc0K2xZSThLam43U21WS0I3R2VlNHdKaHBoS2lTRmlT?=
 =?utf-8?B?a2VQdUtQVXBGQzJqOVNjWUlJUk5INXNja1ZiSTBTSnU1TlJKMFNGQWVSbVYx?=
 =?utf-8?B?dlYwK1Q3VDhWUGc2R2dETWZxNWw5MU5QQU4wbkUwbDdvVlRpSVlsQkxsQSs1?=
 =?utf-8?B?Q28zWjhmOUJYVWVwWUZSYUhTOEtZOGppTmliZ2M0QnppU0x5eDJYbHlRQnRF?=
 =?utf-8?B?Zk1sQVd0aDM1VHVUSENzMzlqV1FTRjN1TnpzTC9aaXZEV0xnL2ZDQko0bENp?=
 =?utf-8?B?cE5zWDhTUGxDY01iNTVlYlpHOVFNaHpyVklsLy80L1F2QkZWN1R2TEhlUkFr?=
 =?utf-8?B?VGV3ZElvbU9YQnRxYk8vUGZYd1FtU0doOGVHNkJjMFlXRnZRZWw2NHVYVm1D?=
 =?utf-8?B?LzFENThoUVZCZForZW9TSmRsUVJvcERPOUx1dXFNUEx1eG05dmVaUlIzRUhB?=
 =?utf-8?B?empwemM1Lzc2QlE0TGtLbVRZcUs3dVRSVjA3akRESnVRUlg2WkVDNk81Y0gy?=
 =?utf-8?B?UHBPVUt6K0ZrbFZQNDhmWTJzM1VJakxiYVZTR3FtaXVSOE1yVWwyYjl5OXRv?=
 =?utf-8?B?QXd2QityYUdRWXlTZTJDSmF4TFpjWGR3VldoTzNUOXQ1WmN2NEZ6TFVGeVh3?=
 =?utf-8?B?eGRldFEyRSt1L05NTzJpVDlRMmE5Rmtrb2dsbXlFN3hVY1JabndLeXFYVVVZ?=
 =?utf-8?B?djNwald2Zjd5d3lVb3FLU1BxWGw0V29RbTZTSm9WR2QyZWlKZFBJaGZLSFQr?=
 =?utf-8?B?NU0rQitGSysxYnY3cjRUYVRtMFM3Rms5SkdKVTF3SEFXODVDUGVacHJGbVpE?=
 =?utf-8?B?emo3LzZ2VjdRYkRyVktCblZFTGlSdE5KSFlvZDBqSUhuRDA3K1lzYWdLK2E3?=
 =?utf-8?B?L01kc1JRbzB6c1JPeFJCcUdxTTg0Z2xOUUIvamVwaWxNYk1CN1pMOEV6N0tE?=
 =?utf-8?B?dnBaSnpNTFE1eC9CWTRaMUppdXZnL2NYQTNpZ0VKTkVxcDI0QzlpWlNsb1pH?=
 =?utf-8?B?bzF4Zk54emxEbWU4TWw4bmdCeFZ6Qm03aVpQamVYQUNOaWpSSGNUWGkzT21I?=
 =?utf-8?B?amIzWU02Z0hhK1dXRnk3SVpRc0tKSzdRZHdWL1BWaHNtNFdFaWVlRDZnRnIz?=
 =?utf-8?B?VzdmUVpPeEpTSGxwUmJzQ0s2TTBnQjhhQ0xLTGlSVHdGTkdEbHNpR3QxdCtN?=
 =?utf-8?B?S0FlZkJsa3B2SFNQS3hwb0tXcGJ4eExlbTNyYXdJdUtXUkVFQ0JXK3dTZ0Ja?=
 =?utf-8?B?Z1ZTeDZIVDFTQ295eW16WU1CSnd4Ry82S1NsR1ZBcHh0TkpMYXA3QUp4SVha?=
 =?utf-8?B?bi9tSEpZY3BpQWg2VXArSTlFYVY3V3NwTU9ZRGdZd1k3QlN0UVF4ekJvY3Z5?=
 =?utf-8?B?dGMxOUpRc1Z0ZW9ORXVkbUZaQ2FWc3Ria2VXQWxKdGczYVk0VjZmWk1EekdF?=
 =?utf-8?B?VWFJNFRKeDB0NEZ1RXFwNGtBbjNjbmM4RFBVaFUrWDdpNm1wc1ByL1BVUGRl?=
 =?utf-8?Q?lOWuAVQ+szWkOQXcjpzpcqP/+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d896a6a9-11ae-469a-aa3d-08db1b00f022
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 09:31:44.9248
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 408xvnZ2TEkzkoJo4NaxFgeuwn6e78DBOW9HX/AYgHit7xMl/+Q9t0RMAXwMhrTlA5kptIoG7KQ0hcdMAff5kg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8478

On 01.03.2023 19:01, Sergey Dyasli wrote:
> On Wed, Mar 1, 2023 at 11:31 AM Jan Beulich <jbeulich@suse.com> wrote:
>> On 28.02.2023 18:39, Sergey Dyasli wrote:
>>> Add an option to xen-ucode tool to print the currently loaded ucode
>>> version and also print it during usage info.  Print CPU signature and
>>> processor flags as well.  The raw data comes from cpuinfo directory in
>>> xenhypfs and from XENPF_get_cpu_version platform op.
>>
>> While I don't mind the use of the platform-op, I'm little puzzled by the
>> mix. If CPU information is to be exposed in hypfs, can't we expose there
>> everything that's needed here?
>>
>> Then again, perhaps in a different context, Andrew pointed out that hypfs
>> is an optional component, so relying on its presence in the underlying
>> hypervisor will need weighing against the alternative of adding a new
>> platform-op for the ucode-related data (as you had it in v1). Since I'm
>> unaware of a request to switch, are there specific reasons you did?
> 
> Ideal situation would be microcode information in Dom0's /proc/cpuinfo
> updated after late load, since that file already has most of the
> information about the cpu.

If that was to represent host-wide information, Dom0 would need to gain
a parallel mechanism (e.g. /proc/pcpuinfo) covering pCPU-s instead of
the vCPU-s it has got.

> And the closest thing to /proc is xenhypfs.
> It allows the user to query information directly, e.g.
> 
>     # xenhypfs cat /cpuinfo/microcode-revision
>     33554509
> 
> Which could be used manually or in scripts, instead of relying on
> xen-ucode utility. Though printing the value in hex would be nicer.
> That was my motivation to go hypfs route. In general it feels like cpu
> information is a good fit for hypfs, but agreement on its format and
> exposed values is needed.
> I can always switch back to a platform op if that would be the preference.

I agree exposing a certain amount of per-CPU information in hypfs is
desirable. But whether that is to be the source for a tool like
xen-ucode is a separate question. If Andrew doesn't respond to this
aspect here, you may want to talk to him directly.

>>> --- a/tools/misc/xen-ucode.c
>>> +++ b/tools/misc/xen-ucode.c
>>> @@ -11,6 +11,96 @@
>>>  #include <sys/stat.h>
>>>  #include <fcntl.h>
>>>  #include <xenctrl.h>
>>> +#include <xenhypfs.h>
>>> +
>>> +static const char intel_id[] = "GenuineIntel";
>>> +static const char   amd_id[] = "AuthenticAMD";
>>> +
>>> +static const char sig_path[] = "/cpuinfo/cpu-signature";
>>> +static const char rev_path[] = "/cpuinfo/microcode-revision";
>>> +static const char  pf_path[] = "/cpuinfo/processor-flags";
>>
>> Together with the use below I conclude (without having looked at patch 1
>> yet) that you only expose perhaps the BSP's data, rather than such for
>> all CPUs. (And I was actually going to put up the question whether data
>> like the one presented here might not also be of interest for parked
>> CPUs.)
> 
> Yes, that comes from the BSP. Xen must make sure that all CPUs have
> the same ucode revision for the system to work correctly.

Yet Xen may not be in the position to do so, and representing the "may
not work correctly" case may be helpful in diagnosing problem reports.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 09:38:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 09:38:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504806.777198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXfNw-00061u-JA; Thu, 02 Mar 2023 09:38:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504806.777198; Thu, 02 Mar 2023 09: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 1pXfNw-00061n-GL; Thu, 02 Mar 2023 09:38:00 +0000
Received: by outflank-mailman (input) for mailman id 504806;
 Thu, 02 Mar 2023 09:37: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=qSkR=62=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXfNv-00061h-5Q
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 09:37:59 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20618.outbound.protection.outlook.com
 [2a01:111:f400:7d00::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea282a45-b8dd-11ed-96aa-2f268f93b82a;
 Thu, 02 Mar 2023 10:37:57 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8442.eurprd04.prod.outlook.com (2603:10a6:102:20b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.29; Thu, 2 Mar
 2023 09:37:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023
 09:37:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea282a45-b8dd-11ed-96aa-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CRKqIzuUbZmY3Iis9/QOxqKv+x4LHXiODCP9N8P9V8a/T+lOTvqwqV+iZ20AUkPRUT0wAFCFnrr/Uq/WcqZENOoaaX0WQBAd2UzD7c3GThRLbJuZLKz/dja0bypxeDShRAzVSfd3Y9s0JDxxfxPIy7kB8jYsUzDlJ6jZmzw2HfAo/c9lgdKnyJMpP5ISbbDJANMv+cgmzvkg2knN5gRWRjY4zI2uTHPi+sDZ9rO1/IiNVTaOFYmX7zt0s50olDyFFW1Vsmad3XTzSFc0Gr80QdS40rHam+z6PaPRwh+ltgtweySC3pu44N9JlSrg6+x7o9t99G/WFKzs8q2Mch6JWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tgIYHpzlVQY+EEwzlL4Wj+xWF+RXYB4tpjaGp5CPxH8=;
 b=Qb8sT6aqtcl0enuyirbhWna6SlsT+qEI61LOba0nmd4A/nR4p5XpYTMP/bDPjIpo4KL/WHHVVxfAxAntggfLDaOPYHmkskP1ErkgAHPzfXKdsav2HoQnkNvW51Krnuj2LaFjMcAuSrKeoz82MlDJsiRsNAPazCRZ+dDHEYw3jFyk6TlVP2eiMpdxfmTOysEA84FxDFCnn92IVtzz/m/geA3mL/uRj/9e4sBAOW+azcoEbjt/62v3NnukgSJHTa3lAsE9/mpMRr+cLDwzXadwwoKBH0+fKuZUzhufm7Ph3NJwdpJy1ZAaQ9SBJFgdDAIk6Lq67pv/3v8Em63JNN32rg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tgIYHpzlVQY+EEwzlL4Wj+xWF+RXYB4tpjaGp5CPxH8=;
 b=GIt2CIU9y5V+soRS4tRZXpEjfNZC3+mk1USnrANXhsCVxPveP/UfhY0yQz+YH7ovGloIhjrscDX+5xyEFm8R0mVfTiQJAcOcx1grP++ct9Ebfokv+aP0JvwoltYOnMckCg+Fe2G/e1Sh7J39h/0bsofpCtQmbolenxWgn8y5MQQjr/r+IIDyrifP6RDr0ejAZ1TRvAgMZUeEjZEhNwrZLK/oPd8FpppaXZABzkOwUFYiKsWPeBKHD//u39oIpVXderDfxQ0d9FUmEAxp4z2sF2ljdU1EYIH9H7JC5pKN/3djAp+yMNNxyPeFQHAJWxvXDe4cKyLTpzSTuh2jjuDL+A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <86e64c27-43c6-6c19-0fc3-5980418fbb0e@suse.com>
Date: Thu, 2 Mar 2023 10:37:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] x86/SVM: restrict hardware SSBD update upon guest
 VIRT_SPEC_CTRL write
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: <30a79d1e-c638-9e74-52fa-4cce53cd12dd@suse.com>
 <28cf4512-c92e-ee84-1c02-6af242b666cc@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <28cf4512-c92e-ee84-1c02-6af242b666cc@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0023.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8442:EE_
X-MS-Office365-Filtering-Correlation-Id: 111b58fe-5b5a-4c0a-5c5b-08db1b01cd30
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+M/aGVcN22+o/uZjvdEdGgnPUD+jNL6O0K/7Fr4faQtxQ8jLqR3fNw3kwuqYDtLfgzIX5FhzWsK3YJDeziWoxqnxtxfrCoo3wII6lH/8EA+UhS44B0yhzQlwD744IWHOFzSsrLi9COqVLhk52dgj5qSBe022mDqKoOfxgYRqm78bU1dcsMtj9Fh7ti87twI56YeF8FRD35zCHgt3+KM2VkDu2QoGoCgYTRV7F4P1vCJApu0e9jsNX92CNJAZLbzEO+xv9TCgTsSQfhXU5/glUaRo8LqTmf8ta1Xgh+xELcLft+1nBpFa35UZAqDApkh4GbmRjFbcUdtmsRcnN7tXw8jAl3WG+rkGE+5QvC8E9FB5Olrj//h84no/0aX92nCGITaoAJTY7HceZQXMizhP2jnc87tLC+CUuhjQ+zytj95hQxmudzcL4bJDxDqIVOJ6xsVnwWN7fm5K7Gb+SE52QgFpDAOUKyYLwGVxb3jqu4k7kqGrh3BnPR7VhfOVb42BTZL8B7HjTc8N5L4VaNkzb2mQHTmTPSUP7e0UXgKPl9V5iKxj5zc6bwPElyTBkKjpvYlo1CXpk44d4BsmsC1gLFu0Ep42Z/gSXEAdgywJ3O4ZvPOUJpZejswsQszKLBdpyhfaYlYZG/NzKFLltd+EM0RVfrXV5Qjx0fsq6y7ADaMSnWeEXRkpvnTVNNeEKlkzc4RUV/D85plKsQOQKEDVgCZauk0cV803Lq1I02ovlW8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(39860400002)(346002)(136003)(396003)(376002)(451199018)(36756003)(6512007)(54906003)(316002)(2616005)(478600001)(5660300002)(86362001)(41300700001)(2906002)(8936002)(6486002)(66476007)(66946007)(8676002)(6916009)(31696002)(66556008)(53546011)(38100700002)(26005)(186003)(6506007)(83380400001)(4326008)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M2NJczQvVGxIMk11MnFBdHJiWUszcVZkcTBEMUQ1ZU9mOFRXVjYxc1AvTGVy?=
 =?utf-8?B?NmdFbDFJQVRhdVlXN09Mb3NOU1A2eFovaWpzVTVOdm5vQlByamQxcCthWDkx?=
 =?utf-8?B?UzVRVVFPZVN6OXdtVmJsQ0U3M2FYTnFIcjM4YnNlOHIzU2pjZzdEenpockti?=
 =?utf-8?B?Vzh3dXBpZTlKYkF3VjlicVZMMDBrcG9CM0hrN2tubzNxcXFlY0FxdlM2Vm1j?=
 =?utf-8?B?ekJVRjBVdWtHaUZxVmhXVlZxSURQTGUrUmFoVlVhMHZaT2VLRURZb3E2ckda?=
 =?utf-8?B?SU9GR2VMeTluaGthL2tNYWoyejhNNXdsNi9JOVhCaEwxeWNnM3FCaUhCdW9F?=
 =?utf-8?B?L3dIaERoc1RzOW9nTzI2UitXK242dk13UnF3N05UZk5rMFF3NGFmZ3hUa3A2?=
 =?utf-8?B?akVPcEEwaVRrMExOMDczNGVyME00ZEVheHRhbDIrWDJMZ3E0Q3VCQnZQWXNn?=
 =?utf-8?B?SUFJUXY1WG9wUm5TcTdRYU9hLzBVbjlCbjFJUkIvNmhkcDhvYkpsR0ZzcWVZ?=
 =?utf-8?B?N1ZkMU4ySFBWRVJxaHlzb0ZiZ3AxRnRFNCs2U1ArankreWRwNFFkSDRjMzEx?=
 =?utf-8?B?ZHhsVnBSSU5zUXB1M3Vqb016dEQrckMvR25mMEttSTdPcGpoQ242WStxV1ZJ?=
 =?utf-8?B?eERnOWNtYk9zU0crNkZwa1Uyc0V5dkhSVmcvY3BFcmpCanh0NTZoeFl4bnU2?=
 =?utf-8?B?bGRiWE5MR2twdHlmczYvYVQvbnM5WnJ6WllxZnR2TGgzdG56OUp1UUVNSUFP?=
 =?utf-8?B?eXB4KzJSeldpalUvcGJCZS9Ob3RBVzRkUTdJdFI3TlVJWDYxS1lMaXJKWmtT?=
 =?utf-8?B?ZjZGWVNwWGlId3NPZldsYXJjT1o1RTAyWUptR1VXVlV6LzZubjNjOTFzSWtE?=
 =?utf-8?B?eVpVSXdoNFd2UXg5WkI2Mlc0OGZQd1RJMUVVU1NSY3hhRUl4OTV1YVB1OG1s?=
 =?utf-8?B?MXVNYjFob09vc21nOWl6azVMY1RIeTFPMTVJamxiVUVDKzhUWTlic0ljRnRO?=
 =?utf-8?B?a3orKzRsZ1RBNnVXakRzd3A5ZThGSWNWWXdYeGk4dld2UGl5RnZZTDJleGxv?=
 =?utf-8?B?T1huSm1ObWtuaStXQlgrcEdYT1RUUS9hVS81WU8xZkZxMlJDcUV0L1RYSWdo?=
 =?utf-8?B?T1ZaSjhDem9kaFQ1cElwd2NneVhUd2ZNVmc1UEJtdjJxaEJLYitHajdGZFRL?=
 =?utf-8?B?d0NBS2Z6N3JZYTBSSGtMOWhoNVUwclM0cGpKc3h4YndsTUpPelVpNTZVT2xy?=
 =?utf-8?B?eUNKK2JSTEF3eVlOYnhSS0xIck9pYytkcHR6S3dMZ1kxc2lqYXNPYUFraUxi?=
 =?utf-8?B?NlBrN3NHTk5OdmQ3bnV3SHNXWUlDaG16c3lvdm1uakpuWnNqSStsaWpnZjd1?=
 =?utf-8?B?ZGxURk9uemVRNTBlVUUzdlo1QkZ2elN2b1hrOXNqbDFLTFF4U3VzWDlqOFJ5?=
 =?utf-8?B?YzZsMDlKeTdtR0VmeDBXT1RiZmNIN2lnZzAyYnJwcWNJSmZRclh0Z3pzQ3JV?=
 =?utf-8?B?REhBb3lPaUpKYmhwUWgvT0Jpc2RlUlB2OHUwWkcrajloc2xuQ2xpbmEvVURJ?=
 =?utf-8?B?TVRUQzJaNFZMUGkwMitibVBlcC8vVlg3Q1hUWFhNVEhEbUZjV0VycVFrdnY0?=
 =?utf-8?B?QzlmTkxSK2J0SFVXbzUxb25DUnF1Q2RrczVZNXhBUXhzdmdIenVQSlMrREhM?=
 =?utf-8?B?K0p1bmg4dnE2U1Vrd09lSnZWd3JYbDR3WXpOUjBqTnpLNE4ycW40QlJRRFhi?=
 =?utf-8?B?aHMzaDR4R3J4dXBlTldhcGRsUnlGc1dYUTM5RU1pOS96bWNEa1hQWnBSaGlu?=
 =?utf-8?B?TGFnR0dvYk1vNTIyVEQrZU13c25Qd2R3U2pvTEk4UVVtRDR3UVdnL1YvWXRp?=
 =?utf-8?B?Umphb1FBQXl3V1R4QjkvTS82WWpzTW0zWHV0YmgxYWlBK2gxV1RlRnpuNTRI?=
 =?utf-8?B?cTZpREEyYk5OSG95QTZhWmcrRG1yOFVQS09QMDVzZjg1UXI0enUvZFU1VDQx?=
 =?utf-8?B?bDBaV00yT1BwTWdVZGtkTkdlclhDZWRMa01RcURhcEFWd3UzazBXTTBPd2E2?=
 =?utf-8?B?Z2tGUzZKRG5yTEJNUjhoU1JycVRoUktnVmQ0RmpndGN1aG8vSXRpNHVKakx2?=
 =?utf-8?Q?kVHKsYm4eRgburdniE46+6+1h?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 111b58fe-5b5a-4c0a-5c5b-08db1b01cd30
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 09:37:55.6191
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gufsd9e3XBGWEDQUro2fK4WxvYr7XMH8B3otNDzfoEVJd8TNfL0/tYSoMaXhj+KDY1FdQBIMwYeROoL9yLb8cg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8442

On 01.03.2023 21:55, Andrew Cooper wrote:
> On 15/12/2022 8:20 am, Jan Beulich wrote:
>> core_set_legacy_ssbd() counts the number of times SSBD is being enabled
>> via LS_CFG on a core. This assumes that calls there only occur if the
>> state actually changes. While svm_ctxt_switch_{to,from}() conform to
>> this, guest_wrmsr() doesn't: It also calls the function when the bit
>> doesn't actually change. Make core_set_legacy_ssbd() track per-thread
>> enabled state by converting the "count" field to a bitmap, thus allowing
>> to skip redundant enable/disable requests, constraining
>> amd_setup_legacy_ssbd() accordingly.
>>
>> Fixes: b2030e6730a2 ("amd/virt_ssbd: set SSBD at vCPU context switch")
>> Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> This wants properly testing on affected hardware. From Andrew's
>> description it's also not clear whether this really is addressing that
>> problem, or yet another one in this same area.
>> ---
>> v2: Change core_set_legacy_ssbd() itself rather than the problematic
>>     caller.
> 
> I think this patch will fix one of the errors.  I've lost count of how
> many others issues I've found now that I've looked at the code in detail
> for the first time.
> 
> However...
> 
>> --- a/xen/arch/x86/cpu/amd.c
>> +++ b/xen/arch/x86/cpu/amd.c
>> @@ -744,7 +744,7 @@ void amd_init_ssbd(const struct cpuinfo_
>>  
>>  static struct ssbd_ls_cfg {
>>      spinlock_t lock;
>> -    unsigned int count;
>> +    unsigned long enabled;
>>  } __cacheline_aligned *ssbd_ls_cfg;
>>  static unsigned int __ro_after_init ssbd_max_cores;
>>  #define AMD_FAM17H_MAX_SOCKETS 2
>> @@ -757,6 +757,11 @@ bool __init amd_setup_legacy_ssbd(void)
>>  	    boot_cpu_data.x86_num_siblings <= 1 || opt_ssbd)
>>  		return true;
>>  
>> +	if (boot_cpu_data.x86_num_siblings > BITS_PER_LONG ||
>> +	    (boot_cpu_data.x86_num_siblings &
>> +	     (boot_cpu_data.x86_num_siblings - 1)))
>> +		return false;
> 
> ... this is nonsense.  There is no such thing as an Zen1 uarch with more
> than 2 threads per core,

There's no guard anywhere here against us running virtualized ourselves,
and hence this extra check was to guard against anomalous topologies
which we might be presented (just like we present bogus topology to our
guests).

> and attempts cope with it (as opposed to
> rejecting it outright) makes ...
> 
>> +
>>  	/*
>>  	 * One could be forgiven for thinking that c->x86_max_cores is the
>>  	 * correct value to use here.
>> @@ -800,10 +805,12 @@ static void core_set_legacy_ssbd(bool en
>>  	                      c->cpu_core_id];
>>  
>>  	spin_lock_irqsave(&status->lock, flags);
>> -	status->count += enable ? 1 : -1;
>> -	ASSERT(status->count <= c->x86_num_siblings);
>> -	if (enable ? status->count == 1 : !status->count)
>> +	if (!enable)
>> +		__clear_bit(c->apicid & (c->x86_num_siblings - 1), &status->enabled);
>> +	if (!status->enabled)
>>  		BUG_ON(!set_legacy_ssbd(c, enable));
>> +	if (enable)
>> +		__set_bit(c->apicid & (c->x86_num_siblings - 1), &status->enabled);
> 
> ... this mess even worse.
> 
> I am rewriting the legacy SSBD code so that it is fit for purpose.

I'll take that to mean that there's no point in me trying to make a v3
then. Let me know if that's a misunderstanding of mine.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 09:45:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 09:45:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504811.777208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXfVH-0007is-CO; Thu, 02 Mar 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 504811.777208; Thu, 02 Mar 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 1pXfVH-0007il-9U; Thu, 02 Mar 2023 09:45:35 +0000
Received: by outflank-mailman (input) for mailman id 504811;
 Thu, 02 Mar 2023 09: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=qSkR=62=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXfVG-0007if-DJ
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 09:45:34 +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 f900d207-b8de-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 10:45:32 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9775.eurprd04.prod.outlook.com (2603:10a6:10:4ce::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Thu, 2 Mar
 2023 09:45:29 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023
 09: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>
X-Inumbo-ID: f900d207-b8de-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iaT5G/kKzrI3Cm31QPmfRWkDmW50/Mpz6MG0DWkSEAdjMzEGIqMcygtcxfKLDl4TXvAVmWTOiTqFribCDUKJ7+o+2i4p8O1sChb2WPmTFIrjmtG33wtwVeTs4xb6kGeEDMmMddMLqmgo9pYjerVXzHy6NWHwCKnCnRb2Qo+745K1Ih0zik7okkV77UyMnelUiU+b8mC2oztzT+iEcXAMccWC/EXdbN81ujomsUVKyNi3+rDbg1/X8/XAbsEXws0Ganu8v/TYdJCgudanwE0vKU2/7CaGFKrNnLoQXVi06EXG3OWDwovERAXG7/x6q66pleXUwRz3YkDR0EVWMuvdAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cz+96J6RnzvmNBwoSS02Fr1es7UJweyPgt6Qr541iGk=;
 b=Ee081kzj085mvIEwbY4kbfqX+u+ICcS1u7C3tGwp/2dgQR2xVPWrxLcYHileQ0RU3JTv689H3pL1ub0gkADPhRdzirJseBYqZtCW7B0tQ6eG4Q4vMihEc93bmwgWxkTADM8X0GXG/c5RuQOqPsNT6MjVtWV0tHJaM5uRwPEhx9E5sSMvEXR33bgkDGowjreoIrU5ikZezgy5NUIuvEfyYVjIdWPceKwdoWovdhsuVXA3vCPvpxmM9lUVEwunWl/mrvnioC6KdNi5L07s83Zg86pwVEtVPeBWVwzllw2iiI5H0HwWQWdkWbaG7DNZGayPYiTPfTz05qY7n4CqGsWm/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=cz+96J6RnzvmNBwoSS02Fr1es7UJweyPgt6Qr541iGk=;
 b=FmjD9QFLLtIJjvQss1UnlVS7b3uQhtVeyWdnBojO7nkltU/U1t4Y7JMmoswLgXRvpg9ytZLGZNvOClBTc4GXu8YtflqcpOtJ7k+j8Mwu+fgZ1li0G4Ln8oNnakmagyriPoW987GUdyE2sTZlKdQ1ZIADDaHBBEeCdmkvK7Ybqh23FyAO+qKcFq2C6AdHLUQiUEU2X4lL6tddxeX+yUyJKFfQhqWxxuQ0EeUkWt0nwBH6ZIkBuZfmZirp3nY9uxxZQ1dpQzUzFYTHYH7rZC1jWBJqvVeRFNmDN3Qd6kbNjytK9sGADAmW8rUdrcxP/KGcySEYDefBvRzleVQCp2XsSQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9e34f587-d42d-3709-9c64-b5e50afdd046@suse.com>
Date: Thu, 2 Mar 2023 10:45:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/arm: align *(.proc.info) in the linker script
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com>
 <370809af-75e6-546a-53e4-71a76444f367@xen.org>
 <a9c2638cd8620d74ec719845132ef65f08b4c934.camel@gmail.com>
 <cf15b113-ac6f-e115-6c38-38b25a265934@xen.org>
 <f2f6544a-a59e-2e10-0b8f-080f91708459@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f2f6544a-a59e-2e10-0b8f-080f91708459@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0101.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9775:EE_
X-MS-Office365-Filtering-Correlation-Id: 7dd7e91f-242b-4bb9-2318-08db1b02db89
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Myuh2ooEFJtoT1jqtk4fjTzm2WEyzbZer9eJMJ9ixz+P66KTk0KYD2E+GQaaSIxRJSe4WDNdundHkqykloPzSiJ2jjuA8uJwBcKrpKFCvT0pJUQYhDMwJeOD85E+66opleRNPpLE4M8nt5dnu6oWtF9anW8SPcjbb1CKy14hmaZVRp9Kq2nqrOKOUvKyea5fu3RrplHWrloOCFkJP1fblvqQjEJui48n6lRRMXxFr/CyZ+sG5/z4etv0ZI2C6fCpv4AE0CGazY/DaxqaqU82fXM3wyOwAPXrbY6r/HSrRW2ShhcpifrkNf4yasTIofbLTMXPEP4HMQb1Wu8UOSZ2cykSY+8B1D/tj7BYz0UJzb2J8rovQPztf7KB2uhuNFNhDqdEHZZyjoN9Cv5FZdwso9F6aiJQl6XAqbfhCxte0mntdBe3/Vk1SUWpF+wYD12qX/E+bJUcaN18jP6ToAteCLKrL6G78+sVaDqluaH2aAVdQNVd5qCMUqzSkCGXW5BNpOdSdNZrUF8hD0wWkZbjW5gtLqmWKPG++MjMnWdHYSDabUaMeETOXwJrjSxPyaiz23RdwJlp4FO3I5M6l0mWw8wvGl1Ehy7t+n8GC3cpjiqWIo+Jw3CrlMYnC/MSI6rxVztn9FOdbUa3vAGy+Q+Ri0hGQBInvS7uZ9eILWG0NPbdWYL+rjTOMctpVf5O+2RwvPCLzFzEWiRfXTUGPDDe3H9dfkevrMik2v+hnneVzqg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(376002)(39860400002)(396003)(366004)(346002)(451199018)(8676002)(38100700002)(31696002)(36756003)(86362001)(66946007)(66476007)(2906002)(8936002)(41300700001)(66556008)(4326008)(5660300002)(2616005)(26005)(53546011)(6512007)(6506007)(186003)(110136005)(83380400001)(6666004)(478600001)(316002)(966005)(6486002)(54906003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eUIvd3pPVXNkRElnYlJrQjRlbDhtQ2ZpcGJMdDJVLzdnL0hYOENRRWdBWCtP?=
 =?utf-8?B?ZGZYVnVURDdzZ1B1Tll5WEdNOUJVWmJVM2s4VHhmRW1kZlBmQ3FSdDF6VHgy?=
 =?utf-8?B?bTRDeHUvRVA2dHNjeDN1aUJReUNDZHlONWtqSUpUYXQvZEg1L0FtbUVXYllI?=
 =?utf-8?B?a0lwYlluWmpSTngvdXllZVp4em9aRjJsaW83UEZBMnREWXZBSllRcm9CYXVs?=
 =?utf-8?B?d2lHTFQ2eDROdTdRTkFhcCsxbk9KK2tJMXB6cUJ0RE5CQVF4L0k3Mk1sOEtN?=
 =?utf-8?B?dUlzcXU1OEs0NDNteVdMd2grTFJ4K01ocFpmZlI4WmxUdXNJUEhEZTdLSEZp?=
 =?utf-8?B?WHZ6VFc4Y1JaUUxFYTBsQ1J2cVRWN0UyUHhUbEs3QWFpS0hoK3h4eEV3dllC?=
 =?utf-8?B?SGVBa1Q1L0EzdElOUy9NTzZ0MXhFeWhPQndXSE50aGZTQXQyYittcTFQQUZU?=
 =?utf-8?B?WEdOa093Z0IrREJrc2NYOHcyU0hoMm51bW1Wd1RRY0FnM3lTK0p4QTJFcWtt?=
 =?utf-8?B?VUdZR1l5a0d1b2k2Q3Zmem9DWXBsaE8rQnQ4UXd2RGp4eXYxSkhuTXBqN25r?=
 =?utf-8?B?bk4raVNvQ3I4bWFMUHdrRUZDMHpMZm92VGRJNlpLS2VpU2NnK1YweXlsOG5a?=
 =?utf-8?B?a2xoWjJ3Ky8rSTVZV0JZcGJRODhKRGFYQ3JzYW41K0FkNlRrQnk2Slc3eXpQ?=
 =?utf-8?B?M1diMWxtWjJLK2JMK0VPeFNHeVJFTVBpSE9QOXFmV21FMnd0bzlrYkh1NmlS?=
 =?utf-8?B?VnByMm5iNnd2b1FBOExzdEgzTENsQ2lLMWhHTnZUWnFLWmZkaDlXV0lXSkpE?=
 =?utf-8?B?aXJyMk1SNXlFNUEvOHhTTm9aOUluRThTYzJBVUpwTU5xeE9CaXk2YmlWbEh0?=
 =?utf-8?B?YTczYTdmekYyMEZDWDNpSDlwNXBQUXl4TFJhNHdLekk5VDRndms0RzVVb3gv?=
 =?utf-8?B?YURxTVJLWFVnNFVNZ2FtT0lpK1p0Um9CZlJDRUQ2U05JV3BZTmVnZ2xVTGdr?=
 =?utf-8?B?OWtEdmp2NzNBVENxZE9wOXNlYUQ0RTAvYUNEeUlVR2c5N3RmeHp6bzRXRzB1?=
 =?utf-8?B?L1VDc0k3b0ErUHRvSEQxM2VVM3BBWDltYm1LRVBScU1obnVTRktLWENITi8z?=
 =?utf-8?B?RWxrRmFBSEJHR0tNb1JWQ2MxbHdVTHZUYW1mUUNvalo2eWVrK2xNbWZnZDln?=
 =?utf-8?B?SW5lcW45Y1ptQ0EvZHJsME5lU2lOTFZGdnczTzNmQTVORDN2NEU1dUU2MUJH?=
 =?utf-8?B?bVNyZHJIWGx1VXZsSkE4MlE3MXYrL3NTVlF5bjFuVlFqdmI1R0VVRHIxOGRD?=
 =?utf-8?B?am9TanpWMktDZzJ3MGM1S2ZGOTZXVjQyaXQ3dzVBMElMUWszTXFPR1NXNXhv?=
 =?utf-8?B?eUdpNnE1ejNZUkJWdjh5WVh3cEdLWUw3MjMvRlhxcC96UlVLTGlWSm1Ma01r?=
 =?utf-8?B?QVdFZkQ5Rk9TQmVDbHhHNVUrakNHUFdiVzc5VGZ1YlpYSk1SaTJWK0xjNEJM?=
 =?utf-8?B?U3g2MWNsZ0pOYVZyU2xtQWZkaklVOGFmRUZHVUZWODgzSjdzRi8weVlEeUgz?=
 =?utf-8?B?aHVka3ZKZEhDV0JnSFh4ODRhRk1EUXo3TDBxQVovaXdidjlqSEYxZXJVRmFs?=
 =?utf-8?B?azhPcktndW1qQzVtL3hIbjNDQjdHRitCd2tPc1Q2a0VxOVA3UVEwNkdGRzZX?=
 =?utf-8?B?Q3VxUFNvQ09SUkdjb3EwRUhMbG1TeE8wRm9XTmtneXdieFJjQmJJbVRKQmpU?=
 =?utf-8?B?VnpTSWtTcTlwU2FJeVlYU3didlFHUUpMS2ZJTEtqcVg1dUNqQm9iWkNhbXZx?=
 =?utf-8?B?T1prdzFhbUYwR3pDSUZ2RkhlY1FiL1lsQ3FnZjF1MmJLNTZaemNsL2ZLRUM1?=
 =?utf-8?B?czN0ejNuTFFYT3VQYXdwZDRQdHFWRmsyTnZ6QjJxZnFnOXFoVWV5OS9reThO?=
 =?utf-8?B?YXVuMlhOVkxjbU1ubzhHREIyY25iVEpyYUJnRkppSTQrdE1ZRE1LNzdWSzJI?=
 =?utf-8?B?WDVUTjJFQStJZzhWbzFkcnJ3TEZFL3FiUmJFL0R2VldZSGxDY0tnZlpuMmRC?=
 =?utf-8?B?dkVjWkc5K2swZXhJS2dTcWtzMU4yVFl6bE1zMTdySlJ4YkY2V2pZZzZ6c013?=
 =?utf-8?Q?lAHjiHO1M68OeI/0knjs9BNYJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7dd7e91f-242b-4bb9-2318-08db1b02db89
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 09:45:29.1545
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VkEkZiOpzrRzy6w2xRIwwj06bK4T0xCosA+W9DHrdhVMSKKq0XW/f2//GYNvna0CYkANobNE0iaAmEmRLJSRJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9775

On 01.03.2023 21:38, Julien Grall wrote:
> On 01/03/2023 17:50, Julien Grall wrote:
>> I got the answer. The problem now is gitlab only keep the artifact for 
>> the latest build and it only provide a zImage (having the ELF would be 
>> easier).
>>
>> I will try to reproduce the error on my end.
> 
> I managed to reproduce it. It looks like that after your bug patch, 
> *(.rodata.*) will not be end on a 4-byte boundary. Before your patch, 
> all the messages will be in .rodata.str. Now they are in .bug_frames.*, 
> so there some difference in .rodata.*.

Strings in .bug_frames.*? This sounds like a mistake, which - if indeed
the case - will want investigating before the conversion series is
actually considered for committing.

> That said, it is not entirely clear why we never seen the issue before 
> because my guessing there are no guarantee that .rodata.* will be 
> suitably aligned.
> 
> Anyway, here a proposal for the commit message:
> 
> "
> xen/arm: Ensure the start *(.proc.info) of is 4-byte aligned
> 
> The entries in *(.proc.info) are expected to be 4-byte aligned and the 
> compiler will access them using 4-byte load instructions. On Arm32, the 
> alignment is strictly enforced by the processor and will result to a 
> data abort if it is not correct.
> 
> However, the linker script doesn't encode this requirement. So we are at 
> the mercy of the compiler/linker to have aligned the previous sections 
> suitably.

May I suggest "aligned/padded", because it's really the tail of the
previous section which matters?

Jan

> This was spotted when trying to use the upcoming generic bug 
> infrastructure with the compiler provided by Yocto.
> 
> Link: 
> https://lore.kernel.org/xen-devel/6735859208c6dcb7320f89664ae298005f70827b.camel@gmail.com/
> "
> 
> If you are happy with the proposed commit message, then I can update it 
> while committing.
> 
> Cheers,
> 



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 09:55:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 09:55:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504818.777218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXff7-00012I-Ec; Thu, 02 Mar 2023 09:55:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504818.777218; Thu, 02 Mar 2023 09: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 1pXff7-00012B-Bx; Thu, 02 Mar 2023 09:55:45 +0000
Received: by outflank-mailman (input) for mailman id 504818;
 Thu, 02 Mar 2023 09: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=qSkR=62=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXff6-000124-1D
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 09:55:44 +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 6517b2d5-b8e0-11ed-96ab-2f268f93b82a;
 Thu, 02 Mar 2023 10:55:42 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6156.19; Thu, 2 Mar
 2023 09:55:14 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023
 09: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: 6517b2d5-b8e0-11ed-96ab-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LLh7MryFP3a0eZ9zqAXg2hv6RilT/s2OMBxpBAHPWSi5ZcKOaz7a7SeDER2L0XX/fShRDOAU0XB3WzesM+NovJIMl3elN7GKHdr2OqYSvGnqiYUaINfHdgDj43+2oQIqZs1egckpTzOpE/PsBk1xjRz/gAASXraw+Vbjt9voYOzjl9+OmBSed4/Hmj55++4S+WqSrMaZR7zxafF3RyWedyTpGXHwrkm92wHnAcGMpNOPKJ7EDxQrtbZEjHaDaZPJynvlSiGCuOXLBakOHNybx+lwU/cFZ2rDXvNoddKZ7ln4gAqQ3QkXl02pg7f2AEOT11heXyjsRzwB+DFjN4JVOQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vHncnjeSGvubH/r7LJf97DK9e5ZGBRSATmhDvm5zzgY=;
 b=B1gJTbInQqxCoNKnYru4/6M48bvaPpTF9ARaF6u92T9P0XoD2N+Z8ds9JPdRrMEA2thds7Pms0ohBnpBmUMx1/+hbdchGLBNozjRPy/lBpPHxVR7x4uiV1waXy1VCiiHR71NF3LSxNpXcqlYB5VvSeOw47Wh/RgKtTDwhbXqV5n2oPSltXQnAAbJOCkbv6vwhDk+EKXxVIQkwguxj3kAqbdq8CTNE/5HOOJ3zVajori3IRhFMaJslm/OYxxIPMsnW3tZ93Bl2acJCBvhwOB/kBS0IUf8RrY3Ku+78c/w2+amseXbO297dU2Nvjp1Iav6/MTaOdhLkNVK9MI+ObXQvQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vHncnjeSGvubH/r7LJf97DK9e5ZGBRSATmhDvm5zzgY=;
 b=n8Y6E4fpGxZNXwxDbInGR1rFEsVC7N4FJh/vCgiC8vsBL1n2xRS70zsHTK8euCs0S6uhy93OGnKGppy9qI3zcgOPWj1o0DtBNS3W8W+dVXkPWgnnYCPANQc7ajQ2E3p2D8oVL+WMir3jsBAqAPOIcrZNbklrEisLaxwMECuT+fFi6TOfXVLxCmE+n0qhDHFinsujs8EwgEcSJDSuz6tkQxDNBiiTYc8zvm45IP29iWk27P287c2O4qS5kuS1uOtw+EYMtSXws6XRFW6xx7xh0lbxxq6qvbR4WphLS/WmVb9KarADLZrhHKZ/XA0hVJh5y6VcTG/Q9uhe/dSLyGTpRw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ee8939d9-3071-b08f-e3f9-9a0611f8f10a@suse.com>
Date: Thu, 2 Mar 2023 10:55:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4 3/4] xen/arm: switch ARM to use generic implementation
 of bug.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.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.1677747527.git.oleksii.kurochko@gmail.com>
 <fd0b81101c702b8d082a78507ce081b2fc2bbb41.1677747527.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <fd0b81101c702b8d082a78507ce081b2fc2bbb41.1677747527.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0009.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8155:EE_
X-MS-Office365-Filtering-Correlation-Id: f4e96366-a32e-4aac-daad-08db1b043830
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WVxL50+8PxFhBvNYY93/J2Sqb2Nh2kOticlIvL09kUECjAjTYUk12OPGwe9qAmEtKOFgBWrn6Uf24+3xoMyjgNLVqfold2Wl2adFUBpxyiBK/Ki4Ee5pQs+646saazS7uG3HpTiSlbdLyAu/dMBhbF5lAA5Pej4jicHFn13xOveZjyV5zR1NF44BHpqXxaFL7pwIjCP/6rasVrYcjuLCG/OzeKGW/fXzt/Ol95E6hl/0yhiIdIiUjqukYcoNM2Zq+wpsKar+JwRvan4RsVAjSQKR0UGXyZdYVarxtlB8gt34jzhxqX2QXvdq02nurAbeAIVNlL3GOKqh6yGq8W3lyMWsGUmbyRScmkUYh3BhdAUKkYxEN5D7/+924zLLiMvzm+ZSYyN3IoFr5/0KPSBJ20zNqpwp9ex7MOelTAhl699NU2k83n5l1ti9wVThc40QPxPZzCtZ34PPs+/zS9Rkyto5ee5OFMQeWH7rrtQo2TYkNEa8iqyIW9SVs4FrYaABvKJUMi6ElmW0Rn7IoLcO3wPamXQpyYKBdCe+EpZpG35oN7Iaxhh5OKwRQB7+nu+rQTUIGismtuH2lVDNYrU4Z6ovSAsxQCPFvzlGJIWQgqKSeuueQc08Duvo1wgUfz/0uiG+Oaq1D+iqpTQIxqd/iJNPaGedXLBFjR5J/+iTPK5oI+S9CD4xeRzEjiQX7l5bX3SS1uQeX2nrE4JkNuT7Sp7UvhhUAZhpVS05xe3reRX2EBt4U6z2ojotK1602pZ8
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(366004)(346002)(136003)(376002)(451199018)(86362001)(31696002)(36756003)(53546011)(186003)(4326008)(66476007)(66556008)(66946007)(6916009)(8676002)(41300700001)(8936002)(2616005)(6512007)(54906003)(6486002)(478600001)(6506007)(26005)(5660300002)(316002)(38100700002)(83380400001)(2906002)(31686004)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S05iUDQ3bDVXZ3V6QVp5MXZrQ2J2OEowZ3YyaXJzc0dtcUN0U2lWTFEzc2Vl?=
 =?utf-8?B?QTE3a1pSb0dkeVo3MG5kQkIvVUI3N0JraEFsZE1kUThvZHV6aHIvamp6R0F5?=
 =?utf-8?B?L3FRZ2xBVGxjYTZrZGVqMFgyT3FnYkN0ZVNsdUZHRU5LUmcyM3Jacm9MeTVZ?=
 =?utf-8?B?V2prcDZ3aVdwcnREWnVOWm1ySjdWLzhodkpOS2t4T1FEYzJyUzRlcjloOXlJ?=
 =?utf-8?B?ZHlSekFVbGQzd3BHa2lCSi8yZnliZGFXMlZtU3NNU3I4VU5zTWFCWjVuM1A2?=
 =?utf-8?B?ZjZuZWVqakx2eE5BSnQyMU41NjFlSWk3RXNORDJwTHlyVm5ESGw2Yno2V3RE?=
 =?utf-8?B?NlpSSVJaVFNmZjJPTkRmbGFxMDh1RjNJU1RjSzFJZG9KVGR6c2FCNzFUaHBx?=
 =?utf-8?B?TGJqb0FtSm41WlNhRW4xVVZjQy9ta0dwYndLOHErMFFzMHNGUWMycy9Cdm5W?=
 =?utf-8?B?NUU3eGpSMDVTTEc1WkJUNVVQN0FiTGFqcVQyTXBrODZibTRobzZhU0NOOWM2?=
 =?utf-8?B?ZnhMckt6dmhIcXNBbVF6WVpwb3BoeXJRL0RDTnBNSEhoN0ZhWDhIR1BVM0ZL?=
 =?utf-8?B?UEtVc05uU1Rpd0F4a0lKTEY3N1kvbFNTa3VVckVadUlCUUlCdDM4SU5LVGFo?=
 =?utf-8?B?cW10eWdHV1pZOFRDWjRQRG9pVlpIVm8vcVloYWtnZnlDSFM2VXB0N3pnaFhQ?=
 =?utf-8?B?eW1VNG1aeDhnZ2tvSzhxZGJIVy9CUXFTNUMxVGUxdW5scDFRSTRsd1RQbWV0?=
 =?utf-8?B?M3dHT0ZDaXFnZFpCU3g5YXZZZEtKVW9vZHkvQlZ2UWN0QU5Kb0dtWHdpQW9q?=
 =?utf-8?B?cGdVWEFQa1hqbytRSHVBaHJnQlB6dHZJcjJ5eFZ6NGd2aXErNG1QclNLTmoz?=
 =?utf-8?B?V3d6VDdabGdoc2RsU05tUmxqbkFldWFDNm9zQkFUMllPMHpjU1JHUDc5WW04?=
 =?utf-8?B?bGFmbFB0empqOWZrSFdBaFV0TkpPSDMxZFRhdWk2TE5GRS9tY21vbitOdW1l?=
 =?utf-8?B?dkdzYmNVYjh4Y2tiTllscFI4TVY3MENQU3hsNXh5TmdXOWVnYU9ROGU5bkFV?=
 =?utf-8?B?RWt4dmFsSm96UWVKaHZPRmhseWw5WlpTUEZpb21Hb0JIeFlvWS9FYzZ3TmJv?=
 =?utf-8?B?TUtJSzJHWTVXdjE1MFRzWWdKV3NnK0xQdTRCQWNaWnhIUk1CbHBPVkltVHFM?=
 =?utf-8?B?dEs1S04ydjY0eXVHZEV3S25mZ3pQdjBhRHRGYmhCemlqcHZZZFQ0dzRFWTFp?=
 =?utf-8?B?TE1rSDZhTTAycmpIN3owVlVUUUl5NXoycVhGbzBMb2E5bGFPZTY3Z3JQQmhN?=
 =?utf-8?B?cTlLK3NuL3luS2tUZGhGa3NpaVpjMGFNMFRNT0dJUHZDWU4vTUZINVJzcDhl?=
 =?utf-8?B?VEtYRUozcCt0TTgrQnF6amFsMzA2MWl1MDFsMHlZQk5CSGJ6djhoYkxhcWk2?=
 =?utf-8?B?QkJFZjVZbEt5QzVBZEg0RVUrNmM1amQxanRuVUloSlB4eXhnVzZGY3pOTVB2?=
 =?utf-8?B?eGRxN3QrQW5uUjVKdm53U3k5MkxyK2I5RjJXVE9FNFV1NEdDUHNyck1VMWMx?=
 =?utf-8?B?alhINGdneVVTNlllVlFCb3BWNXBmSUxqOG5wK0tZbml2dk9oRVFpcE8yMmN0?=
 =?utf-8?B?dUptdUV2bTFBaGwwOVdCaTM0bmJvM0hFUkJEdVppN1RyWmIvVUxMTTN4N1h2?=
 =?utf-8?B?anh5SlExemViVEVzRFBIQVEyam5xbVhJZHNiQUFqZVNMMFhFSHc4K1QyMnlo?=
 =?utf-8?B?ZU5MS3RLOGIxZkp3Z09RVXZuVmVWdFBPREQ2cUdWTStLUllLL2plZE9IRnQ4?=
 =?utf-8?B?UjJhdDZHZHZudFhlUWNuaHBDc3RlOFZYYmYycGg0d2p0MGxNa2Z1ekdIcXFI?=
 =?utf-8?B?Ti9LakNWaG9zNkdrTFdiZXFIUXlTS2hPckNkem9lUzBmWkhzYjAwZUZ6M0pk?=
 =?utf-8?B?ZXJXUFBLWVg5K3lLZjZ6dUdpRXJVdTJmUkp5NHVqYnNSVEJFNy8ybUluUGJC?=
 =?utf-8?B?ZXFpTWRjMUdhVHdaamdrZnVDUUtDU2xFTEIxNHUwSnd5WG9VclhmUzBNekRp?=
 =?utf-8?B?YmxJelYrZ21jbkh3RG9JWnhBdG5NcW9Yb0JzYzMxanVBejJMQk16RVprSXhk?=
 =?utf-8?Q?DRdfp+ebBcbOCBiPtRBG6m8Il?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f4e96366-a32e-4aac-daad-08db1b043830
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 09:55:14.1164
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /F93Z7D1PrizYynpboex9sBdxJ41YsYyjrTSf0VIFztkbTG+L5Gb4C5Wp1za6KF7IXvj3AqlAKt3pJaxtYUyjg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8155

On 02.03.2023 10:20, Oleksii Kurochko wrote:
> The following changes were made:
> * make GENERIC_BUG_FRAME mandatory for ARM
> * As do_bug_frame() returns -EINVAL in case something goes wrong
>   otherwise id of bug frame. Thereby 'if' cases where do_bug_frame() was
>   updated to check if the returned value is less than 0
> * Switch ARM's implementation of bug.h macros to generic one
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V4:
>  * Switch ARM implementation to generic one
>  * Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed after switch to generic implementation

In which case why ...

> --- a/xen/common/bug.c
> +++ b/xen/common/bug.c
> @@ -46,11 +46,7 @@ int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
>  
>      if ( id == BUGFRAME_run_fn )
>      {
> -#ifdef BUG_FN_REG
> -        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
> -#else
>          void (*fn)(const struct cpu_user_regs *) = bug_ptr(bug);
> -#endif
>  
>          fn(regs);

... is what is being removed here again introduced in the first place
(in an earlier patch)?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 09:59:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 09:59:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504822.777228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXfj3-0001ov-Ve; Thu, 02 Mar 2023 09:59:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504822.777228; Thu, 02 Mar 2023 09: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 1pXfj3-0001oo-SF; Thu, 02 Mar 2023 09:59:49 +0000
Received: by outflank-mailman (input) for mailman id 504822;
 Thu, 02 Mar 2023 09:59: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=qSkR=62=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXfj2-0001og-A6
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 09:59:48 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe12::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5f12915-b8e0-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 10:59:46 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7663.eurprd04.prod.outlook.com (2603:10a6:102:e9::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Thu, 2 Mar
 2023 09:59:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023
 09: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>
X-Inumbo-ID: f5f12915-b8e0-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PeSAZslC/VHDdDzTQr5cl1Fc772ewU5rvnizPhBSNjZELSjGEnOGuVgR3hU5NhlQYMt8yd62JnVw427Lkivm264l9iD1HguOWe1YhYVWi+PsuhMSvZtjV9ZN6eBXlShCZ4hv8ZAXb6vK0dD4eDxvcfUuXkA34g/Q8HQSLoAAuFYBIatdmiLU68X1QCOZiX1SnQBZiBnzdlFcc/N/P2dtMMjHElVJXuUtFcFZFZ8QrKmPid6Lm5KZrSpPqOCCAd8/H5wpzB5CibVfjxz4SUN9mSIxQDuZYOVEkwRRr3TZGanMkQcNNhwxGThK943g4OdCFEbGND48Cfy418r1QAUMQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CWibBdVERcoiqmX0dqCZspYSaORlgKJ2mhTeJMeP8H4=;
 b=Fi7LgDigauAb4Aw+jJxJIKGW/f5bhNfnMSdA+adCoU6H4hUH2WkCQbp3jt2vnOB1hB9btbmab36c9KC9gUrv18Cb0VLD15MAuI6DJHyjlISxhdS5lfRFVglOxJ8NxAO71xgtKxhsoiiGJFwkziIUErvNJT397vkrcnG/jkiZfol75kUN+DAS6z4YjFKpCxbYzfyEK9PQJEwPIY+pjdY1vOnL+Z8qjpeb1k1iWdGOsXnYZPmACdryyInA9z060FzFeAZ/OfdI67esvJJVFER9/yGmJLHNt53fHDQfsu5N0F5mv0HgQ1WtsWB8PQ80tj3/amgq0zE1YvJluXZl2ekgGA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CWibBdVERcoiqmX0dqCZspYSaORlgKJ2mhTeJMeP8H4=;
 b=5ISgOTbut2YrAY4TbQucB4wu26HMkAo4agBPOpsjKSb656Y2Gf8G+ekB0pO/X01HbDMM3jO+GtMe2wqGHMFXkL9NDIYS+4OsiwWAhNhorrJhSmDZNkUduHBhAqLiUcvE2+X2CDXc7IBVlt6udw9E4QrZYQWxF9hT64EPOa6rqmY28BEcX9XoQX2UUkIP3gNF3R0V+s1whunOG82h95ax7DPKHq7hBmwnP61yhw63Y026bxnzRFAj+kztym5qoAbVK86SF02TRfuH6ADAfiAmD4KOXBkwdprnfWhsGWzSBJ+ZNQUiBwiEmjyfUTV0q41Hui7Bf1m4ICUyJLPL3Iqatw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <649a961d-1565-03c3-467b-42655349492a@suse.com>
Date: Thu, 2 Mar 2023 10:59:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: memory access atomicity during HVM insn emulation on x86
Content-Language: en-US
To: paul@xen.org,
 "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: <aa65b90a-5875-9306-692d-d3221afe785a@suse.com>
 <8e00217f-d67a-af35-bef5-d2dc5077c543@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8e00217f-d67a-af35-bef5-d2dc5077c543@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0051.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7663:EE_
X-MS-Office365-Filtering-Correlation-Id: 79311534-e30a-4399-5c3f-08db1b04d943
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3gSh9MbudHlwR5IKuI2KG6vCwot7s/ier2dAO9cfaaWORmHTENi5bK/n8nA98pGZvkGwfQGxcnLWhuykiuHBAjsNSmkTfdYjDDeM34aNK5BI3n0bUUKjvRXN79LeCtXTsCCjvHWvrr4AvjtSP93E6xNqeDfyhDc85fDcrzFg+2b5A/TZNW7+L0nch8cORYtsGRGa9RqOuh40KKtxoDVhxFqfv71uGMUS6YYK2JMjr5lka/oxpnwIZZrl0DJtiW7rfmGXG9uc4zAyQKKNHx4x79WPwyPZ+bG+cKKzJoAvMgKBcgi4kcgvclnzrsfmbq7BKwRLbMjB1r/oe0Yn0Xq1jzjntUll0bvwzEJqkZkHLfRBCPXHZxnsn2O5lQIuu9JscusLe9aAGI21ZQ9+b/H7Vi1un9mOOK8VLPAKixDZr2ETtuvAQC5433OnEQkt9U/HZtD7RjxW1FwjKMVGz6ET2DRJ+bjZV65ZqHKW8N51bEpAGJ/si14oq1HwDbJWu4vqZ4c9M5A7AFQjdEHBB53EWjCDD6MY3yQSu6d/DN+71eKdvejTjYjxgRLwelGjizmCqR/l2oxFRM+XOswmRVGxNzbPRCtsszLkvZ7QDjexjpfK9wnPs71aTZjXJlI+DpFoxLRDhuPWzRISKgfiaQOJAxDc0fhmSGHSAoM+AnsmoSCGDyDaK1x2e3zbYH2otxVIBgx+4VGlnqsXCR3DUpikjL/PU4SOW5QfIoNuekfvZJs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(376002)(396003)(136003)(39860400002)(346002)(451199018)(31686004)(66899018)(36756003)(8936002)(41300700001)(2616005)(6512007)(54906003)(66946007)(6916009)(8676002)(66556008)(66476007)(186003)(4326008)(53546011)(31696002)(86362001)(83380400001)(2906002)(26005)(316002)(5660300002)(6506007)(478600001)(6486002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZDFJdTZnWVhPaTE3L0M5bGd3S2VLa3FJQWF2a3JHaDJnb1pUSzVaS094cklL?=
 =?utf-8?B?YzJLYmp2ZStoV0lIK01Jb0lpUk1tQzdWK1psdkROQjEvOXJ2MU55RC9OeTRo?=
 =?utf-8?B?aGJidDVOUnJUUVJERTQyMWp1NmdJZVVKWVdSUmlXOVJRZmUrRjh0OW5pcnFs?=
 =?utf-8?B?NHpUeFRRalpsVDBvZHE3VlA4MGxMV1Bna1dabFRsd05CRlJzRVNra2RBQTJw?=
 =?utf-8?B?b05rdE42QitJTE50a2swQXFFSnpJUVBUV0xpVkVmNzJDZmlNTHMxK2Rta0Rz?=
 =?utf-8?B?TjYxRXRiclIxbEZvQVJ2d1pSMlZxUyt2VExvZUVMNmpWTFYySXc3eTNhWnVy?=
 =?utf-8?B?TlhFVHNuUXo0clZGR0c4KzZYOE5qY2V2eEtpK0JCYng1TEplRWw1QUJFYUJS?=
 =?utf-8?B?WnNHNVhoNzV3azlpbnQ5TFFjZjBSenBoYjJ6Wnc2TWlUN0F2TmllVGV1UzBQ?=
 =?utf-8?B?SkF2S2tEaWNwY0dvMUVXWmRzVlUySmJiV214RnVUc2xxejEyTVhzd1EydXdU?=
 =?utf-8?B?RnBMUTRvUVl6QmFVTjgvM0MzTHZOZE5JTHF6aTVIVUx3YUk2OExwL2Z6Zkpr?=
 =?utf-8?B?TXVaUk5pMWRhUmpiTVRhVFZlazVZa0ErTXlUSzdSN0laTjBaaTV6b0I4T2tC?=
 =?utf-8?B?VTNLZTJ3enRhcGJiek5aTXBjcVdqYmtEVjZvTkMxWWViWkVoN0FQV1dDZlBP?=
 =?utf-8?B?THBlN2VtTG5Dc3pRSE13S3JuVkE4VUxlZE9YOXU3UWplVnlpTUVHU2tWbDNv?=
 =?utf-8?B?bVNVSm4wR0tvU0c4a0liWkYxblFLVGYwL1VQNHVXYzEzQjY3RkJzUHVrM1BC?=
 =?utf-8?B?MGE1U3c3MmVVQjRDVUE1Y0F4citBTFJYVkQ4MDFJRlcvbFl3ZjRhQ0ZJMU1Y?=
 =?utf-8?B?eHZCZVJ1QS9JWUZrMlJrT1Mvb0d4Vkc4QXU5cVZFWTZjV1puanRpc3pHRnFr?=
 =?utf-8?B?OXVyeXNHaytwYUt0RFcwUVdKTm04cGUzSE9jSko2cmlhYXUzWFQ0ZUdpSUFx?=
 =?utf-8?B?SzRPeEp2S0FKZFhMb1hWOElpazArS0NNdEtiSmxCZ1l1bDYyRjl3RkZPNVhF?=
 =?utf-8?B?MFpTODZ4V1pIUVY4N3BkQTJCSVpvL3lDQkxRWW1xOVcxLzRTQkhhS3c0YjNB?=
 =?utf-8?B?T01PV1Eza0F6SHZIN0FQS3Zxa3FLS3d2a1Y3ejg2MlAzSEdtc2d2VHdQdC9P?=
 =?utf-8?B?ZCtnb09mZWRYalFzNEQvTXYwbVN5Szg2SUpLS0RRQ3NlVjhQQU9GKzF4V1ln?=
 =?utf-8?B?WGVKVTVRVlhka1IyUjkwbDEvTkg5UXZKdWRnQjhRUXJEUG11a0JlbytPN0ha?=
 =?utf-8?B?Z0h1MGtYSWV6a29RNzBJZXdNTW9UWHgxQmw5T2lDTkF0YzFrQWwzMzhZYW4z?=
 =?utf-8?B?VmdwMGlyRUFMa3NXS21Yem9TblptYlJlY2RPVWRlTFY0VExzRHk2RTMydXlH?=
 =?utf-8?B?YUhGSlFxRHpMVVA5Q1RHbkNHN3NWcGFwNGpkT1NDZkpqVGRHdEpBbFUrMlFG?=
 =?utf-8?B?UE1xOTA3cGZpNVN4V0hNWjZaNjl0RUtlZ0Uvc1pyUzNoYTlrdUloSzhxY0Rn?=
 =?utf-8?B?NXdnZ21EYVFMNWJQais1VGdNTThuMGRPL0ZvdGxscUJiQmh5UmIxYUg5N1lY?=
 =?utf-8?B?WUxEMXlNNEpFbVdzMGc2Tjd4N3QydlRwcWdZUUVmaWNYRzUzbEhyVk4rd3Bw?=
 =?utf-8?B?aWZveGNoR24rRDVNdVErSGVJRzA3SENKMGhQYmt3ZnVGcUU0eVR0cTlBeXlN?=
 =?utf-8?B?L2IweFZPY2NqdHpYNzVHSVQxMTlqM05ZdkNSS1czU0ViYUpvUXBHTFJvN09r?=
 =?utf-8?B?cm5Oc1dpdHphM3ZlZmsyZFh2TC8zeTJoVlluTnVHcjBHb2lnbktJY1B4Q2Rl?=
 =?utf-8?B?WjM2elpOdTYzQ1NYUnRETGdkdGVVYmgrUGZvaXBmT1MvV1EyejdkN3BEd1Ex?=
 =?utf-8?B?c2lMN0RLcjN3QlpydHVrWjBKYTFXaEFlZlZKTGpkSGlrRFd4V0JieUxtTUUr?=
 =?utf-8?B?TEYwaDJqYy82VnBwL01JQkMzYTVhV24yM3Jmb0N0aHRDSVdUcHUrYUluYVU4?=
 =?utf-8?B?UTVlRXVuWFU3MHpmMzN6Yld5SzFLTERLT1ZGNDNrR1U5MVJ5OWNhenVMQVZP?=
 =?utf-8?Q?IupFsj5WuzbMVuXXZJZIOj3j2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79311534-e30a-4399-5c3f-08db1b04d943
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 09:59:44.3352
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: r1papar5Nlwn1jxHSgFDQLZZxrxgw2jj6uJIaeRd8nNpI9ntMXDD432djfKnuVAsQMBm65RmQVfNgOju3Eynjg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7663

On 02.03.2023 10:23, Paul Durrant wrote:
> On 02/03/2023 08:35, Jan Beulich wrote:
>> Hello,
>>
>> in (I think) Intel SDM version 076 a new guarantee of atomicity of certain
>> aligned 16-byte accesses appeared. While initially I thought this would be
>> another special case we need to invent a solution for (it still is, in
>> certain cases, as per further down), I had to realize that we don't even
>> guarantee atomicity of smaller accesses, including as simple ones as plain
>> 16-, 32-, or 64-bit moves. All read/write operations are handled by the
>> very generic __hvm_copy(), which invokes memcpy() / memset(), which in
>> turn do byte-wise copies unless the compiler decides to inline the
>> operations (which from all I can tell it won't normally do for the uses in
>> __hvm_copy()).
>>
>> The question here is whether to make __hvm_copy() handle the guaranteed-
>> aligned cases specially, or whether to avoid making use of that function
>> in those cases (i.e. deal with the cases in linear_{read,write}()). Both
>> options have their downsides (complicating a core function vs duplicating
>> a certain amount of code).
>>
>> As to 16-byte atomic accesses: The SDM doesn't restrict this to WB memory.
>> As a result, in order to implement this correctly, we cannot just utilize
>> the rmw() or blk() hooks, as these expect to operate on guest RAM (which
>> they can map and then access directly). Instead the path invoking the
>> device model will also need to cope. Yet the ioreq interface is limited
>> to 64 bits of data at a time (except for the data_is_ptr case, which imo
>> has to be considered inherently non-atomic). So it looks to me that as a
>> prereq to fully addressing the issue in the hypervisor we need an
>> extension to the ioreq interface.
>>
>> Thoughts anyone?
>>
> 
> Does the interface need modification? As long as 16-bytes are copied 
> to/from guest RAM in an atomic way then how that data is passed to/from 
> a device model shouldn't affect it, should it?

The question isn't the guest RAM access, but the guest accessing non-RAM
(which is why the device model is being engaged). Both a RAM and an MMIO
access can happen with a pretty limited set of insns only anyway. Among
those are none of the 16-byte accessing insns (they're all loads from or
stores to memory, with the other operand being an XMM register).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 10:14:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 10:14:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504827.777237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXfxT-0004WC-7Y; Thu, 02 Mar 2023 10:14:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504827.777237; Thu, 02 Mar 2023 10: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 1pXfxT-0004W5-52; Thu, 02 Mar 2023 10:14:43 +0000
Received: by outflank-mailman (input) for mailman id 504827;
 Thu, 02 Mar 2023 10: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=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXfxS-0004Vz-7c
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 10:14:42 +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 0add365b-b8e3-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 11:14:39 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id h3so17010564lja.12
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 02:14:39 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 bi36-20020a05651c232400b002934b5c5c67sm2039418ljb.32.2023.03.02.02.14.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 02:14: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: 0add365b-b8e3-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677752079;
        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=T8PCUS/2Lgtyx8KlmTKKx3chAx6sf/xCNb4M3wTnjEQ=;
        b=b+OzqTRKB0Rg/sHV7lr4drv7LvOFyTUdnp6UsXiihyRddtDCxJBDfG0fsD7YpJ+AxL
         hHxVXSuh9k7q7Cas6gK7QkQU4JCVcIiXtuPnELMxwzHHSQO2Ch3D9rxTdVzbqvnZnZuq
         xmE97wUFr6nf4ZYclwrJQarq4yAX0zLmeXKNfEv6ln8a2ayrsmXDKpjccpFgp/yAGfJY
         yCTxmgJI1zs7AhYiHLvs0CkhETk4TspgXh9vJmUSCh8EuB+f6bHQ35dQARySAqdsLL47
         7QLhIxXys4DxE/fzAXYPFQqdrM2pbNWdmJ4M+W5cVRrI52txdd9ANlordxDO+SH1ls1n
         XoPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677752079;
        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=T8PCUS/2Lgtyx8KlmTKKx3chAx6sf/xCNb4M3wTnjEQ=;
        b=jzlABBjdVowomsnYG99MeF0i82OeS5FBqZeYdvjwUpYEkabeF/kJc7GSSyMVBFRa9h
         Oc6hVz7zd4SWlMlRbvCrrT+S/ttW4KfhMTWH4j+b5vhnR4uMGhurgSTc56wsPa1DRJaG
         SFRN3vycjzqiT1kDA6QDdi1fsXK5ddTAbfar1MrSO4EnBHXjTXwcSasAZi0RAVV/jgKA
         4UsPZfNtO5MaBaddICOorhjfY68jYDAPDrVdIU7Ugwf5fENXY6enr7CLuvCsj6bCTUpL
         Cy+hyXmzjYbfqIKvzQ5y9JzOXzuq0bLNSkaWyTEInXvOqv5eKdF41On7fMs40wApGR+R
         +sDg==
X-Gm-Message-State: AO0yUKVNxYUiRN5CiUlqgjU3FCGPqnfgylySb5RRhTrzHcu9CZph5Ltz
	z3D3DVFP1+lTI02BSolFZiQ=
X-Google-Smtp-Source: AK7set+oksFA7BURn7kRqkDrvG1eAcSBPSG8NreA+XowMzgXnQ/t3sWtwtPcYCvkAejTEoDJ+sn/Ow==
X-Received: by 2002:a05:651c:38c:b0:295:9d32:a653 with SMTP id e12-20020a05651c038c00b002959d32a653mr2766834ljp.35.1677752079166;
        Thu, 02 Mar 2023 02:14:39 -0800 (PST)
Message-ID: <842e420f2a4a023c65d820b352cd97f4b1861986.camel@gmail.com>
Subject: Re: [PATCH v4 3/4] xen/arm: switch ARM to use generic
 implementation of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.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
Date: Thu, 02 Mar 2023 12:14:37 +0200
In-Reply-To: <ee8939d9-3071-b08f-e3f9-9a0611f8f10a@suse.com>
References: <cover.1677747527.git.oleksii.kurochko@gmail.com>
	 <fd0b81101c702b8d082a78507ce081b2fc2bbb41.1677747527.git.oleksii.kurochko@gmail.com>
	 <ee8939d9-3071-b08f-e3f9-9a0611f8f10a@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Thu, 2023-03-02 at 10:55 +0100, Jan Beulich wrote:
> On 02.03.2023 10:20, Oleksii Kurochko wrote:
> > The following changes were made:
> > * make GENERIC_BUG_FRAME mandatory for ARM
> > * As do_bug_frame() returns -EINVAL in case something goes wrong
> > =C2=A0 otherwise id of bug frame. Thereby 'if' cases where
> > do_bug_frame() was
> > =C2=A0 updated to check if the returned value is less than 0
> > * Switch ARM's implementation of bug.h macros to generic one
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V4:
> > =C2=A0* Switch ARM implementation to generic one
> > =C2=A0* Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed afte=
r
> > switch to generic implementation
>=20
> In which case why ...
>=20
> > --- a/xen/common/bug.c
> > +++ b/xen/common/bug.c
> > @@ -46,11 +46,7 @@ int do_bug_frame(struct cpu_user_regs *regs,
> > unsigned long pc)
> > =C2=A0
> > =C2=A0=C2=A0=C2=A0=C2=A0 if ( id =3D=3D BUGFRAME_run_fn )
> > =C2=A0=C2=A0=C2=A0=C2=A0 {
> > -#ifdef BUG_FN_REG
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 void (*fn)(const struct cpu=
_user_regs *) =3D (void *)regs-
> > >BUG_FN_REG;
> > -#else
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 void (*fn)(const struc=
t cpu_user_regs *) =3D bug_ptr(bug);
> > -#endif
> > =C2=A0
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fn(regs);
>=20
> ... is what is being removed here again introduced in the first place
> (in an earlier patch)?
Missed that.

I looked again at the current patch and realized that ARM-specific
do_bug_frame() has been removed only in the current patch.

So you are right, there is no any sense to introduce these lines in
first patch of the patch series.
>=20
> Jan

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 10:46:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 10:46:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504835.777251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXgSB-00005o-Qe; Thu, 02 Mar 2023 10:46:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504835.777251; Thu, 02 Mar 2023 10: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 1pXgSB-00005h-Nh; Thu, 02 Mar 2023 10:46:27 +0000
Received: by outflank-mailman (input) for mailman id 504835;
 Thu, 02 Mar 2023 10:46:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pXgSA-00005T-VI; Thu, 02 Mar 2023 10:46: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 1pXgSA-0006OD-S6; Thu, 02 Mar 2023 10:46: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 1pXgSA-0001sM-EP; Thu, 02 Mar 2023 10:46:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXgSA-00021w-Dx; Thu, 02 Mar 2023 10:46: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=x0xydYzj8DGsDgr2doZiWykROrkcN6zOxXJUIlF74+0=; b=2u9Y48pos9SCGSJBM4dVziqIPU
	oncEwzrwvVocMBmMur6AzajmOzvAL2WO9NLFxpDovQc+fB8OT8eoLL4DlFGGEtwgBvEbZgDKov7oB
	kTbJKpa/vwGD8LOTMwOwqWbLoGmBssLZLJWS/L/2lyfQ1lenqFvOyfRp1g/DRBLCcP/8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178942-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 178942: regressions - trouble: blocked/fail/pass/starved
X-Osstest-Failures:
    libvirt:build-arm64:xen-build:fail:regression
    libvirt:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:regression
    libvirt:build-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-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-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=3ba5974034a282370f5551d71afead6a3a5cadc6
X-Osstest-Versions-That:
    libvirt=541670dd5cc33f621f1199e5421efd2c79c25b1a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 02 Mar 2023 10:46:26 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64                   6 xen-build                fail REGR. vs. 178838
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail REGR. vs. 178838

Tests which did not succeed, but are not blocking:
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              3ba5974034a282370f5551d71afead6a3a5cadc6
baseline version:
 libvirt              541670dd5cc33f621f1199e5421efd2c79c25b1a

Last test of basis   178838  2023-03-01 04:20:25 Z    1 days
Testing same since   178942  2023-03-02 04:20:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Jiri Denemark <jdenemar@redhat.com>
  Michal Privoznik <mprivozn@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                                                  fail    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          starved 
 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                                 blocked 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 fail    


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

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

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

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


Not pushing.

------------------------------------------------------------
commit 3ba5974034a282370f5551d71afead6a3a5cadc6
Author: Andrea Bolognani <abologna@redhat.com>
Date:   Wed Mar 1 18:48:43 2023 +0100

    qemu: Align arguments correctly
    
    Signed-off-by: Andrea Bolognani <abologna@redhat.com>

commit 20e063c2fd3b19439f7440b27e894c4cd966422f
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Mon Feb 27 12:34:47 2023 +0100

    ci: Regenerate gitlab CI config with latest lcitool
    
    The latest 'lcitool' now generates the CI config in a way which
    allows users to kick off pipelines with the upstream projects container
    environment rather than building a throwaway updated environment each
    time and enables a gitlab feature to time individual script lines.
    Pull it into libvirt.
    
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Erik Skultety <eskultet@redhat.com>

commit 61233dfbee616e36af6c495493cace0f3370f37b
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Mon Feb 27 10:22:28 2023 +0100

    qemu_monitor: Decouple switch()-es in qemuMonitorJSONGetMemoryDeviceInfo()
    
    There are two switch() statements over the same variable inside
    of qemuMonitorJSONGetMemoryDeviceInfo(). Join them together into
    one switch.
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Kristina Hanicova <khanicov@redhat.com>

commit f173f6a79c759b5d286940f5a58d43f38366ebae
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Mon Feb 27 10:58:27 2023 +0100

    qemu_monitor: Switch to virDomainMemoryModel enum in qemuMonitorJSONGetMemoryDeviceInfo()
    
    When processing memory devices (as a reply from QEMU), a bunch of
    STREQ()-s is used. Fortunately, the set of strings we process is
    the same as virDomainMemoryModel enum. Therefore, we can use
    virDomainMemoryModelTypeFromString() and then use integer
    comparison (well, switch()). This has an upside: introducing a
    new memory model lets us see what places need adjusting
    immediately at compile time.
    
    NB, this is in contrast with cmd line generator
    (qemuBuildMemoryDeviceProps()), where more specific models are
    generated (e.g. "pc-dimm", "virtio-mem-pci", etc.). But QEMU
    reports back the parent model, instead of specific child
    instance.
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Kristina Hanicova <khanicov@redhat.com>

commit b4851deb799c3e48cfb5e4c44f5560500e1ad6c7
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Mon Feb 27 10:31:43 2023 +0100

    libvirt_private.syms: Export virDomainMemoryModelTypeFromString()
    
    The virDomainMemoryModelTypeFromString() is not exported, though
    the enum translation functions are declared in
    src/conf/domain_conf.h.
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Kristina Hanicova <khanicov@redhat.com>

commit 590a6c1b781b1484352beb5af489d9124597f8a8
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Mon Feb 27 09:10:08 2023 +0100

    kbase: virtiofs: Add a note that virtiofs is not migratable
    
    Note that certain operations will not work.
    
    Resolves: https://gitlab.com/libvirt/libvirt/-/issues/452
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Martin Kletzander <mkletzan@redhat.com>

commit 5d591421220c850aa64a640eaf2a151ba7866400
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Mon Feb 27 11:00:34 2023 +0100

    ci: Regenerate gitlab config with latest lcitool
    
    The 'cirrus-run' and 'check-dco' containers are now exported as
    ':latest' instead of ':master'.
    
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

commit 3b7d109a177d01e92481ca5dd082104fdce5b08c
Author: Jiri Denemark <jdenemar@redhat.com>
Date:   Wed Mar 1 11:15:06 2023 +0100

    Post-release version bump to 9.2.0
    
    Signed-off-by: Jiri Denemark <jdenemar@redhat.com>

commit 96d015a1cf790575c5e5f8c64c22fc7e3ea26b4a
Author: Jiri Denemark <jdenemar@redhat.com>
Date:   Wed Mar 1 11:10:41 2023 +0100

    Release of libvirt-9.1.0
    
    Signed-off-by: Jiri Denemark <jdenemar@redhat.com>

commit ab992fd193ebd420f44302dd2cf59013c6399573
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Wed Mar 1 09:38:29 2023 +0100

    NEWS: Document my contributions for upcoming release
    
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

commit f29d75cc0fc00d19bb35c3f9b4e82f2235e7978d
Author: Andrea Bolognani <abologna@redhat.com>
Date:   Tue Feb 28 22:32:35 2023 +0100

    NEWS: Clarify limitations of passt support
    
    Let users know that we're working on lifting the limitations
    and that they should not use the feature in production until
    then.
    
    Signed-off-by: Andrea Bolognani <abologna@redhat.com>
    Reviewed-by: Laine Stump <laine@redhat.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 11:00:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 11:00:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504845.777264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXgfc-00039Z-90; Thu, 02 Mar 2023 11:00:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504845.777264; Thu, 02 Mar 2023 11:00: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 1pXgfc-00039S-5Y; Thu, 02 Mar 2023 11:00:20 +0000
Received: by outflank-mailman (input) for mailman id 504845;
 Thu, 02 Mar 2023 11:00:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Lklr=62=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1pXgfa-00039F-4B
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 11:00:18 +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 68d65cae-b8e9-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 12:00:15 +0100 (CET)
Received: from DB7PR02CA0031.eurprd02.prod.outlook.com (2603:10a6:10:52::44)
 by DU0PR08MB9348.eurprd08.prod.outlook.com (2603:10a6:10:420::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Thu, 2 Mar
 2023 10:59:45 +0000
Received: from DBAEUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:52:cafe::46) by DB7PR02CA0031.outlook.office365.com
 (2603:10a6:10:52::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19 via Frontend
 Transport; Thu, 2 Mar 2023 10:59:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT015.mail.protection.outlook.com (100.127.142.112) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.19 via Frontend Transport; Thu, 2 Mar 2023 10:59:44 +0000
Received: ("Tessian outbound cfb430c87a1e:v135");
 Thu, 02 Mar 2023 10:59:44 +0000
Received: from 4f49bb49afd9.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6E48E64F-4B5C-44B4-B0E5-E14CE639C206.1; 
 Thu, 02 Mar 2023 10:59:38 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4f49bb49afd9.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 02 Mar 2023 10:59:38 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DB9PR08MB9827.eurprd08.prod.outlook.com (2603:10a6:10:460::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Thu, 2 Mar
 2023 10:59:36 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::f0e7:5f67:ed2f:a70a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::f0e7:5f67:ed2f:a70a%4]) with mapi id 15.20.6156.018; Thu, 2 Mar 2023
 10: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: 68d65cae-b8e9-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pxAIuiwrQCtAuLVxb0RF6pYc0I4QlhSkLghUhk+zzvc=;
 b=aRiQG/FeDtUa4X26zhjUG1jN5AaNwMKMTc+M1gawvgkFAR3yPrJEZypG8AYaSL8qQNcisfg9JX5GBeLo004QKyEWRyw4vEbZMF4J548z0J9gD1mUDaFXHtnr66QK3Dj1cRpivqm0hR2bIvgJGMcofNaV7SBKcz2hrTXfOwUuCN4=
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: a3ac549512319d07
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B1Zgsj1ZvjeKDB3YbnbqFUaNMOFKIeo3lG73AYo+fOliTT0ZN600o3sP4INRBUhkC5mzC+kMk3eogS5VJadRXlYyGhHsqVkCz3vBE8MJHAxL8YojXDaLFvGI5T3iirAFftgiz+sAr1VKJLbuatYyDBgbYJNn947io6rHJFEMsjnJ5ROcTc6b7rjL2/ABfW9lIgo1wyAH99jTKCLYQ7pukwlgHoKMqa2/CAySXB5fmWNT31uIfMEpyhnR1fpN+iSAe0iBpgvMcEfm52+EA8VW635vrKXPmEcXlnnGc7trC8r0aNszezFCdXOlJVMmeFhXuDxFTlIWrt29X/XK/YN8Tg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pxAIuiwrQCtAuLVxb0RF6pYc0I4QlhSkLghUhk+zzvc=;
 b=Lv4nWG0wR3bJRYu2EQhAFn7DLcTT64SHLYGS/3CnYGJn+tD3fBxXHQK/0WMWaPwMVAYSkEU1c5UMdnj5IIo0OtRX10UTMEuSt7i5odlxwCBdaPU4Rq5YD2znc+BDkwwkjl+we6hJsGThR839iRaUpk0WT2z6TUVlcmbIFUS822qHDp6vZY4WjwZ1QWd8BSzSmNmrrreJV9sDd2v/ptyKct0nU4uJSS+iXKfYTzAU7Gs1TPUZN5EN6s0Rab+XoyQBgGUOSTARDfIGAogU5VFMUVzX2MWabiUZVXub6ynJQVie3Cs5OtuXMby9SfQLxvn+mMuxYPeBqksciLsQQE7TsA==
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=pxAIuiwrQCtAuLVxb0RF6pYc0I4QlhSkLghUhk+zzvc=;
 b=aRiQG/FeDtUa4X26zhjUG1jN5AaNwMKMTc+M1gawvgkFAR3yPrJEZypG8AYaSL8qQNcisfg9JX5GBeLo004QKyEWRyw4vEbZMF4J548z0J9gD1mUDaFXHtnr66QK3Dj1cRpivqm0hR2bIvgJGMcofNaV7SBKcz2hrTXfOwUuCN4=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH v2 1/2] xen/cppcheck: add a way to exclude files from the
 scan
Thread-Topic: [PATCH v2 1/2] xen/cppcheck: add a way to exclude files from the
 scan
Thread-Index: AQHZTCPAFkIxBTdSO0yOTrnaP+pA8a7mnRSAgAC2voA=
Date: Thu, 2 Mar 2023 10:59:35 +0000
Message-ID: <D40B74ED-1FB2-440F-A816-A47F837FABD6@arm.com>
References: <20230301095320.264301-1-luca.fancellu@arm.com>
 <20230301095320.264301-2-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2303011558170.3680@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2303011558170.3680@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|DB9PR08MB9827:EE_|DBAEUR03FT015:EE_|DU0PR08MB9348:EE_
X-MS-Office365-Filtering-Correlation-Id: d6f486da-cbbb-483b-cfd7-08db1b0d3b65
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:
 au8oOjvW7eAj09Ev0yWclNzIcNGcbAf2AYjHdLcUASCPy082tDrII2Aw8bHqumOzhw0vi5fBWEY6NBp6fS6PtvG1wk/lP4Uvd1cRCVuvxxq/KE4ksoyIJOOLYR27swyZihC7lCwN0AApfTTxXXeB2qkss3F+jhAHHRDuM4Ksz76yL99rFvre9rRsmoBp013W/6sxQjBerKsorcwjwf3mwux7r10nIbbBdUEzywQuodpdMZOEf+t//gw7WdcWefNgoxG3/TyyjhP2a5n1s4mzEGJml80EeAL0Y1zKNcicoF85yrdLS+h4S+36F5SZbZnV+iu0eS2gjyD/Pu/ehC9kWL5m4g3NHfbZZjUD8nOv2einNJWoYyZ38Nbhyomsgq2N2/QU43BoUdVYBFx9qjmrWlO2ngkPmuushks007adUulcDEE27Oh8G2wBVvxHci0X9zQOJSWm5Pd4+rJfNiZ6T9iAj6FlBBS1lU61pStn4OSgFyyEoUhNvIvQDKSW6RCtl5ZTw+fmi60pRWdaVRBAsvuJ8SFuNWS8728FLfYG8VfpzdPWmAH4aKntrYDCYWK+gg6XsOdAKlHKkNJFSS7nErCHYD6dulfVgrX3QQ+bFmGIfJy1o3oTk5RKWe2IcqcTTPojNUOtPwRD/0PxA9HtMljNreLXKdGGo6nH8UvoYfjZDcC0JNaObXRKIbJ7g1HysvKn0pclp8HeYx99rz5T731e0ZsU6+9Abrmus5qHHfOG80k2IEI7jdyK3BxuDzv9
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:(13230025)(4636009)(346002)(39860400002)(366004)(376002)(396003)(136003)(451199018)(36756003)(71200400001)(6512007)(6486002)(6506007)(26005)(186003)(2616005)(6916009)(41300700001)(54906003)(316002)(91956017)(4326008)(64756008)(66446008)(66476007)(66556008)(8676002)(76116006)(2906002)(5660300002)(478600001)(8936002)(38100700002)(122000001)(86362001)(33656002)(38070700005)(66946007)(83380400001)(43043002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <DF834B555DEA314087C95A9845B5A9E2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9827
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:
 DBAEUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	64cc84b4-1d68-4f32-4ebe-08db1b0d360c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	X6QjIVGPVf/aTde5tEyqjWI77Vk7Fm+Ui/+kh5gAo/q1Ldx9iFJMayUfFmI44FVaC0FzGB1ErNdJ9hdvHuIFcWcCa9jyUjl9Og4kOys/eQlDehcwdXN9ldxxAIJhD1OXSIBDivsarRg+HLlLGdmA5R05LwpgPNiT5AcRcGM3uO//asJDk0wXZffe0oNcdaM1ar8h1/lXBLmnP49xTHjB3X0sVGQ1BkPiJeAT2IOSllPihrG9docRFCfiAp9jHIyR63DmiINkDvoEz/YDeM9vj3mdp5I8ZO6cKb0IUo7QBgdXMlbDvBvXDgbrgWd6tEfK/SC+T3+BB1GmfVdUh761IU5Ro5y+mUaVNOwkstsRRj8wYhWkW9k4FB28Vt4Ix8BbkRgTbrtvlp6Z7ipAHumlBANRrFDF1rfqwdhAhbO4Eqgmmq7ye2qxBUjiOFnjFBqSuUP596qyqVz3y3XklTVbA/7q1Cy2/2j5jQD1fbStn68qLVD1eA2oql0fK20EmzCamDJVFIsOuJOJP6/TL29OE7M4t0VkxW34d7aA6dZhdGxaPzxsGuLOPXl/fZtqQ2Vq/uxB0s4xWgfeDahQxJcgSCl+tKN6y9MektijLfcQO1iAETv55E39bwD/XOEKov+IzinKZGTv17SQMhUKt8JNCLNfpHGUqaIdUoDGTwzHQqHsxTQOSCVPBEtOK04bXZ5uhBBDhyYGlAnZyHSEC15BjfjQQCVMqgpYwycMWX9nAf4=
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:(13230025)(4636009)(39860400002)(376002)(136003)(346002)(396003)(451199018)(36840700001)(46966006)(40470700004)(83380400001)(36860700001)(47076005)(40460700003)(36756003)(5660300002)(6862004)(478600001)(8936002)(81166007)(82740400003)(356005)(33656002)(82310400005)(86362001)(40480700001)(26005)(186003)(2616005)(336012)(6512007)(6486002)(6506007)(8676002)(70206006)(2906002)(70586007)(316002)(41300700001)(4326008)(54906003)(43043002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 10:59:44.8110
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d6f486da-cbbb-483b-cfd7-08db1b0d3b65
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:
	DBAEUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9348

DQo+PiArRXhjbHVkZSBmaWxlIGxpc3QgZm9yIHhlbi1hbmFseXNpcyBzY3JpcHQNCj4+ICs9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPj4gKw0KPj4gK1RoZSBjb2Rl
IGFuYWx5c2lzIGlzIHBlcmZvcm1lZCBvbiB0aGUgWGVuIGNvZGViYXNlIGZvciBib3RoIE1JU1JB
IGNoZWNrZXJzIGFuZA0KPj4gK3N0YXRpYyBhbmFseXNpcyBjaGVja2VycywgdGhlcmUgYXJlIHNv
bWUgZmlsZXMgaG93ZXZlciB0aGF0IG5lZWRzIHRvIGJlIHJlbW92ZWQNCj4+ICtmcm9tIHRoZSBm
aW5kaW5ncyByZXBvcnQgYmVjYXVzZSB0aGV5IGFyZSBub3Qgb3duZWQgYnkgWGVuIGFuZCB0aGV5
IG11c3QgYmUga2VwdA0KPj4gK2luIHN5bmMgd2l0aCB0aGVpciBvcmlnaW4gKGNvbXBsZXRlbHkg
b3IgZXZlbiBwYXJ0aWFsbHkpLCBoZW5jZSB3ZSBjYW4ndCBlYXNpbHkNCj4+ICtmaXggZmluZGlu
Z3Mgb3IgZGV2aWF0ZSBmcm9tIHRoZW0uDQo+IA0KPiBJIHdvdWxkIHN0YXkgbW9yZSBnZW5lcmlj
IGFuZCBzYXkgc29tZXRoaW5nIGxpa2U6DQo+IA0KPiBUaGUgY29kZSBhbmFseXNpcyBpcyBwZXJm
b3JtZWQgb24gdGhlIFhlbiBjb2RlYmFzZSBmb3IgYm90aCBNSVNSQQ0KPiBjaGVja2VycyBhbmQg
c3RhdGljIGFuYWx5c2lzIGNoZWNrZXJzLCB0aGVyZSBhcmUgc29tZSBmaWxlcyBob3dldmVyIHRo
YXQNCj4gbmVlZHMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBmaW5kaW5ncyByZXBvcnQgZm9yIHZh
cmlvdXMgcmVhc29ucyAoZS5nLg0KPiB0aGV5IGFyZSBpbXBvcnRlZCBmcm9tIGV4dGVybmFsIHNv
dXJjZXMsIHRoZXkgZ2VuZXJhdGUgdG9vIG1hbnkgZmFsc2UNCj4gcG9zaXRpdmUgcmVzdWx0cywg
ZXRjLikuDQo+IA0KPiBCdXQgd2hhdCB5b3Ugd3JvdGUgaXMgYWxzbyBPSy4NCg0KSeKAmW0gb2sg
d2l0aCB0aGF0IHRvbywgSSBjYW4gdXBkYXRlIHdpdGggeW91ciB3b3JkaW5ncw0KPj4gDQo+PiAr
KysgYi94ZW4vc2NyaXB0cy94ZW5fYW5hbHlzaXMvZXhjbHVzaW9uX2ZpbGVfbGlzdC5weQ0KPj4g
QEAgLTAsMCArMSw3OSBAQA0KPj4gKyMhL3Vzci9iaW4vZW52IHB5dGhvbjMNCj4+ICsNCj4+ICtp
bXBvcnQgb3MsIGdsb2IsIGpzb24NCj4+ICtmcm9tIC4gaW1wb3J0IHNldHRpbmdzDQo+PiArDQo+
PiArY2xhc3MgRXhjbHVzaW9uRmlsZUxpc3RFcnJvcihFeGNlcHRpb24pOg0KPj4gKyAgICBwYXNz
DQo+PiArDQo+PiArDQo+PiArZGVmIF9fY3BwY2hlY2tfcGF0aF9leGNsdWRlX3N5bnRheChwYXRo
KToNCj4+ICsgICAgIyBQcmVwZW5kaW5nICogdG8gdGhlIHJlbGF0aXZlIHBhdGggdG8gbWF0Y2gg
ZXZlcnkgcGF0aCB3aGVyZSB0aGUgWGVuDQo+PiArICAgICMgY29kZWJhc2UgY291bGQgYmUNCj4+
ICsgICAgcGF0aCA9ICIqIiArIHBhdGgNCj4+ICsNCj4+ICsgICAgIyBDaGVjayBpZiB0aGUgcGF0
aCBpcyB0byBhIGZvbGRlciB3aXRob3V0IHRoZSB3aWxkY2FyZCBhdCB0aGUgZW5kDQo+PiArICAg
IGlmIG5vdCAocGF0aC5lbmRzd2l0aCgiLmMiKSBvciBwYXRoLmVuZHN3aXRoKCIuaCIpIG9yIHBh
dGguZW5kc3dpdGgoIioiKSk6DQo+IA0KPiBJc24ndCB0aGVyZSBhIHB5dGhvbiBjYWxsIHRvIGNo
ZWNrIHRoYXQgaXQgaXMgYWN0dWFsbHkgYSBmb2xkZXI/IEkgdGhpbmsNCj4gdGhhdCB3b3VsZCBi
ZSBtb3JlIHJlc2lsaWVudCBiZWNhdXNlIG90aGVyd2lzZSBpZiBzb21lb25lIHBhc3NlcyBhIC5T
IG9yDQo+IC5jcHAgZmlsZSBpdCB3b3VsZCBiZSBkZXRlY3RlZCBhcyBkaXJlY3RvcnkuDQo+IA0K
PiANCj4+ICsgICAgICAgICMgVGhlIHBhdGggaXMgdG8gYSBmb2xkZXIsIGlmIGl0IGRvZXNuJ3Qg
aGF2ZSB0aGUgZmluYWwgLywgYWRkIGl0DQo+PiArICAgICAgICBpZiBub3QgcGF0aC5lbmRzd2l0
aCgiLyIpOg0KPj4gKyAgICAgICAgICAgIHBhdGggPSBwYXRoICsgIi8iDQo+PiArICAgICAgICAj
IFNpbmNlIHRoZSBwYXRoIGlzIGEgZm9sZGVyLCBhZGQgYSB3aWxkY2FyZCB0byB0aGUgZW5kIHNv
IHRoYXQNCj4+ICsgICAgICAgICMgY3BwY2hlY2sgd2lsbCByZW1vdmUgZXZlcnkgaXNzdWUgcmVs
YXRlZCB3aXRoIHRoaXMgcGF0aA0KPj4gKyAgICAgICAgcGF0aCA9IHBhdGggKyAiKiINCj4+ICsN
Cj4+ICsgICAgcmV0dXJuIHBhdGgNCg0KWWVzIHlvdSBhcmUgdmVyeSByaWdodCwgaGVyZSBJIHdh
bnRlZCB0byBhY2NlcHQgdGhlIHJlbGF0aXZlIHBhdGggdG8gYSBmb2xkZXIgd2l0aA0Kb3Igd2l0
aG91dCB0aGUgZW5kaW5nICcvKuKAmSwgYnV0IGl0IGNhcnJpZXMgb24gbXVjaCBtb3JlIGNvbXBs
ZXhpdHkgYmVjYXVzZSBoZXJlIHRoZQ0KcmVsYXRpdmUgcGF0aCBjYW4gY29udGFpbiB3aWxkY2Fy
ZHMgaW4gaXQsIHNvIHdlIGNhbuKAmXQgdXNlIG9zLnBhdGguaXNkaXIoKSB3aGljaCB3b3VsZA0K
ZmFpbC4NCg0KQXQgY29zdCBvZiBiZWluZyBtb3JlIHN0cmljdCBvbiBob3cgZm9sZGVycyBzaGFs
bCBiZSBkZWNsYXJlZCwgSSB0aGluayBpdOKAmXMgYmV0dGVyIHRvDQplbmZvcmNlIHRoZSDigJgv
KuKAmSBhdCB0aGUgZW5kIG9mIGEgcGF0aCB0aGF0IGlzIGV4Y2x1ZGluZyBhIGZvbGRlci4NCg0K
V2UgaGF2ZSBhIHByZXZpb3VzIGNoZWNrIHVzaW5nIGdsb2IoKSB0byBlbnN1cmUgcGF0aCB3aXRo
IHdpbGRjYXJkcyBhcmUgcmVhbCBwYXRoDQpzbyB3ZSBhcmUgc2FmZSB0aGF0IHRoZSBwYXNzZWQg
cmVsYXRpdmUgcGF0aCBhcmUgT0suDQoNCkRyb3BwaW5nIHRoZSByZXF1aXJlbWVudCBvZiBwYXNz
aW5nIGZvbGRlciBwYXRocyB3aXRoIG9yIHdpdGhvdXQgdGhlIOKAmC8q4oCZIHNpbXBsaWZpZXMN
CnRoZSBjb2RlIGFuZCB0aGlzIHdvdWxkIGJlIHRoZSBmaW5hbCByZXN1bHQ6DQoNCg0KZGlmZiAt
LWdpdCBhL2RvY3MvbWlzcmEvZXhjbHVkZS1saXN0LnJzdCBiL2RvY3MvbWlzcmEvZXhjbHVkZS1s
aXN0LnJzdA0KaW5kZXggOTY5NTM5YzQ2YmViLi5jOTc0MzFhODYxMjAgMTAwNjQ0DQotLS0gYS9k
b2NzL21pc3JhL2V4Y2x1ZGUtbGlzdC5yc3QNCisrKyBiL2RvY3MvbWlzcmEvZXhjbHVkZS1saXN0
LnJzdA0KQEAgLTMsMTEgKzMsMTEgQEANCiBFeGNsdWRlIGZpbGUgbGlzdCBmb3IgeGVuLWFuYWx5
c2lzIHNjcmlwdA0KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQog
DQotVGhlIGNvZGUgYW5hbHlzaXMgaXMgcGVyZm9ybWVkIG9uIHRoZSBYZW4gY29kZWJhc2UgZm9y
IGJvdGggTUlTUkEgY2hlY2tlcnMgYW5kDQotc3RhdGljIGFuYWx5c2lzIGNoZWNrZXJzLCB0aGVy
ZSBhcmUgc29tZSBmaWxlcyBob3dldmVyIHRoYXQgbmVlZHMgdG8gYmUgcmVtb3ZlZA0KLWZyb20g
dGhlIGZpbmRpbmdzIHJlcG9ydCBiZWNhdXNlIHRoZXkgYXJlIG5vdCBvd25lZCBieSBYZW4gYW5k
IHRoZXkgbXVzdCBiZSBrZXB0DQotaW4gc3luYyB3aXRoIHRoZWlyIG9yaWdpbiAoY29tcGxldGVs
eSBvciBldmVuIHBhcnRpYWxseSksIGhlbmNlIHdlIGNhbid0IGVhc2lseQ0KLWZpeCBmaW5kaW5n
cyBvciBkZXZpYXRlIGZyb20gdGhlbS4NCitUaGUgY29kZSBhbmFseXNpcyBpcyBwZXJmb3JtZWQg
b24gdGhlIFhlbiBjb2RlYmFzZSBmb3IgYm90aCBNSVNSQQ0KK2NoZWNrZXJzIGFuZCBzdGF0aWMg
YW5hbHlzaXMgY2hlY2tlcnMsIHRoZXJlIGFyZSBzb21lIGZpbGVzIGhvd2V2ZXIgdGhhdA0KK25l
ZWRzIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgZmluZGluZ3MgcmVwb3J0IGZvciB2YXJpb3VzIHJl
YXNvbnMgKGUuZy4NCit0aGV5IGFyZSBpbXBvcnRlZCBmcm9tIGV4dGVybmFsIHNvdXJjZXMsIHRo
ZXkgZ2VuZXJhdGUgdG9vIG1hbnkgZmFsc2UNCitwb3NpdGl2ZSByZXN1bHRzLCBldGMuKS4NCiAN
CiBGb3IgdGhpcyByZWFzb24gdGhlIGZpbGUgZG9jcy9taXNyYS9leGNsdWRlLWxpc3QuanNvbiBp
cyB1c2VkIHRvIGV4Y2x1ZGUgZXZlcnkNCiBlbnRyeSBsaXN0ZWQgaW4gdGhhdCBmaWxlIGZyb20g
dGhlIGZpbmFsIHJlcG9ydC4NCkBAIC00MiwzICs0Miw1IEBAIEhlcmUgaXMgYW4gZXhwbGFuYXRp
b24gb2YgdGhlIGZpZWxkcyBpbnNpZGUgYW4gb2JqZWN0IG9mIHRoZSAiY29udGVudCIgYXJyYXk6
DQogDQogVG8gZWFzZSB0aGUgcmV2aWV3IGFuZCB0aGUgbW9kaWZpY2F0aW9ucyBvZiB0aGUgZW50
cmllcywgdGhleSBzaGFsbCBiZSBsaXN0ZWQgaW4NCiBhbHBoYWJldGljYWwgb3JkZXIgcmVmZXJy
aW5nIHRvIHRoZSByZWxfcGF0aCBmaWVsZC4NCitFeGNsdWRlZCBmb2xkZXIgcGF0aHMgc2hhbGwg
ZW5kIHdpdGggJy8qJyBpbiBvcmRlciB0byBtYXRjaCBldmVyeXRoaW5nIG9uIHRoYXQNCitmb2xk
ZXIuDQpkaWZmIC0tZ2l0IGEveGVuL3NjcmlwdHMveGVuX2FuYWx5c2lzL2V4Y2x1c2lvbl9maWxl
X2xpc3QucHkgYi94ZW4vc2NyaXB0cy94ZW5fYW5hbHlzaXMvZXhjbHVzaW9uX2ZpbGVfbGlzdC5w
eQ0KaW5kZXggNGE0N2E5MGY1OTQ0Li44NzFlNDgwNTg2YmIgMTAwNjQ0DQotLS0gYS94ZW4vc2Ny
aXB0cy94ZW5fYW5hbHlzaXMvZXhjbHVzaW9uX2ZpbGVfbGlzdC5weQ0KKysrIGIveGVuL3Njcmlw
dHMveGVuX2FuYWx5c2lzL2V4Y2x1c2lvbl9maWxlX2xpc3QucHkNCkBAIC0xMiwxNSArMTIsNiBA
QCBkZWYgX19jcHBjaGVja19wYXRoX2V4Y2x1ZGVfc3ludGF4KHBhdGgpOg0KICAgICAjIGNvZGVi
YXNlIGNvdWxkIGJlDQogICAgIHBhdGggPSAiKiIgKyBwYXRoDQogDQotICAgICMgQ2hlY2sgaWYg
dGhlIHBhdGggaXMgdG8gYSBmb2xkZXIgd2l0aG91dCB0aGUgd2lsZGNhcmQgYXQgdGhlIGVuZA0K
LSAgICBpZiBub3QgKHBhdGguZW5kc3dpdGgoIi5jIikgb3IgcGF0aC5lbmRzd2l0aCgiLmgiKSBv
ciBwYXRoLmVuZHN3aXRoKCIqIikpOg0KLSAgICAgICAgIyBUaGUgcGF0aCBpcyB0byBhIGZvbGRl
ciwgaWYgaXQgZG9lc24ndCBoYXZlIHRoZSBmaW5hbCAvLCBhZGQgaXQNCi0gICAgICAgIGlmIG5v
dCBwYXRoLmVuZHN3aXRoKCIvIik6DQotICAgICAgICAgICAgcGF0aCA9IHBhdGggKyAiLyINCi0g
ICAgICAgICMgU2luY2UgdGhlIHBhdGggaXMgYSBmb2xkZXIsIGFkZCBhIHdpbGRjYXJkIHRvIHRo
ZSBlbmQgc28gdGhhdA0KLSAgICAgICAgIyBjcHBjaGVjayB3aWxsIHJlbW92ZSBldmVyeSBpc3N1
ZSByZWxhdGVkIHdpdGggdGhpcyBwYXRoDQotICAgICAgICBwYXRoID0gcGF0aCArICIqIg0KLQ0K
ICAgICByZXR1cm4gcGF0aA0KIA0KIA0KSeKAmXZlIGluY2x1ZGVkIGFsc28geW91ciB3b3JkaW5n
IGFuZCBJ4oCZdmUgc3BlY2lmaWVkIGluIHRoZSBkb2NzIGhvdyB0byBleGNsdWRlIGEgZm9sZGVy
Lg0KDQpEbyB5b3UgdGhpbmsgaXTigJlzIG9rIHRvIHByb2NlZWQgaW4gdGhpcyB3YXk/DQoNCkNo
ZWVycywNCkx1Y2ENCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 11:01:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 11:01:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504851.777274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXgh8-0003gr-JE; Thu, 02 Mar 2023 11:01:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504851.777274; Thu, 02 Mar 2023 11:01:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXgh8-0003gk-Ga; Thu, 02 Mar 2023 11:01:54 +0000
Received: by outflank-mailman (input) for mailman id 504851;
 Thu, 02 Mar 2023 11:01: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 1pXgh7-0003ge-1k
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 11:01: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 1pXgh3-0006fP-FY; Thu, 02 Mar 2023 11:01:49 +0000
Received: from [15.248.2.148] (helo=[10.24.67.20])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pXgh3-0001oe-9R; Thu, 02 Mar 2023 11: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>
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=HGulaKZoXZdnFCcbKBY1voc3LARWb9NX3FCIoC9GUNo=; b=3B/3wAgbUF43WueQQZqS6PFxnu
	hkKwCQYXL+De32PuDmCXKVyB6YBVchStrBlk8ZN3pRRyNQ3HBhcOuzHhaz1Mzi92Ypj91ZXy3ujYq
	VFQbrl3SqMyUCRBRXrcid2CSFQFn7v8oMd/4BhkQacKpy3eoUqKG1mRup3dD0RrtJEto=;
Message-ID: <7e69d61b-60ca-b93a-36d3-77a1a3e550ec@xen.org>
Date: Thu, 2 Mar 2023 11:01:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/arm: align *(.proc.info) in the linker script
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com>
 <370809af-75e6-546a-53e4-71a76444f367@xen.org>
 <a9c2638cd8620d74ec719845132ef65f08b4c934.camel@gmail.com>
 <cf15b113-ac6f-e115-6c38-38b25a265934@xen.org>
 <f2f6544a-a59e-2e10-0b8f-080f91708459@xen.org>
 <9e34f587-d42d-3709-9c64-b5e50afdd046@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <9e34f587-d42d-3709-9c64-b5e50afdd046@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 02/03/2023 09:45, Jan Beulich wrote:
> On 01.03.2023 21:38, Julien Grall wrote:
>> On 01/03/2023 17:50, Julien Grall wrote:
>>> I got the answer. The problem now is gitlab only keep the artifact for
>>> the latest build and it only provide a zImage (having the ELF would be
>>> easier).
>>>
>>> I will try to reproduce the error on my end.
>>
>> I managed to reproduce it. It looks like that after your bug patch,
>> *(.rodata.*) will not be end on a 4-byte boundary. Before your patch,
>> all the messages will be in .rodata.str. Now they are in .bug_frames.*,
>> so there some difference in .rodata.*.
> 
> Strings in .bug_frames.*? This sounds like a mistake, which - if indeed
> the case - will want investigating before the conversion series is
> actually considered for committing.

No. I misread the code. But there are definitely a difference in size:

Before:

Section Headers:
   [Nr] Name              Type            Addr     Off    Size   ES Flg 
Lk Inf Al
   [ 0]                   NULL            00000000 000000 000000 00 
0   0  0
   [ 1] .text             PROGBITS        00200000 008000 07e7a8 00 WAX 
0   0 32
   [ 2] .rodata           PROGBITS        0027f000 087000 02acc8 00   A 
0   0 16
   [ 3] .note.gnu.build-i NOTE            002a9cc8 0b1cc8 000024 00   A 
0   0  4
   [ 4] .data.ro_after_in PROGBITS        002aa000 0b2000 001000 00  WA 
0   0  8
   [ 5] .data.read_mostly PROGBITS        002ab000 0b3000 001118 00  WA 
0   0  8
   [ 6] .data             PROGBITS        002ad000 0b5000 006ca8 00  WA 
0   0 4096
   [ 7] .arch.info        PROGBITS        002b3ca8 0bbca8 000208 00   A 
0   0  4
   [ 8] .dev.info         PROGBITS        002b3eb0 0bbeb0 000070 00   A 
0   0  4
   [ 9] .init.text        PROGBITS        002b4000 0bc000 016054 00  AX 
0   0  8
   [10] .init.data        PROGBITS        002d0000 0d8000 030008 00  WA 
0   0 32768
   [11] .bss              NOBITS          00308000 108008 0394c0 00  WA 
0   0 4096
   [12] .debug_abbrev     PROGBITS        00000000 108008 03006e 00 
0   0  1
   [13] .debug_info       PROGBITS        00000000 138076 27b6b5 00 
0   0  1
   [14] .debug_str        PROGBITS        00000000 3b372b 01a123 01  MS 
0   0  1
   [15] .debug_line       PROGBITS        00000000 3cd84e 0a59e6 00 
0   0  1
   [16] .debug_frame      PROGBITS        00000000 473234 018cc8 00 
0   0  4
   [17] .debug_loc        PROGBITS        00000000 48befc 108473 00 
0   0  1
   [18] .debug_ranges     PROGBITS        00000000 594370 031450 00 
0   0  8
   [19] .debug_aranges    PROGBITS        00000000 5c57c0 004dd0 00 
0   0  8
   [20] .comment          PROGBITS        00000000 5ca590 00005d 01  MS 
0   0  1
   [21] .ARM.attributes   ARM_ATTRIBUTES  00000000 5ca5ed 000037 00 
0   0  1
   [22] .symtab           SYMTAB          00000000 5ca624 022d60 10 
23 7573  4
   [23] .strtab           STRTAB          00000000 5ed384 00c631 00 
0   0  1
   [24] .shstrtab         STRTAB          00000000 5f99b5 00010b 00 
0   0  1

After:

   [Nr] Name              Type            Addr     Off    Size   ES Flg 
Lk Inf Al
   [ 0]                   NULL            00000000 000000 000000 00 
0   0  0
   [ 1] .text             PROGBITS        00200000 008000 07e670 00 WAX 
0   0 32
   [ 2] .rodata           PROGBITS        0027f000 087000 02b3e8 00   A 
0   0 16
   [ 3] .note.gnu.build-i NOTE            002aa3e8 0b23e8 000024 00   A 
0   0  4
   [ 4] .data.ro_after_in PROGBITS        002ab000 0b3000 001000 00  WA 
0   0  8
   [ 5] .data.read_mostly PROGBITS        002ac000 0b4000 001118 00  WA 
0   0  8
   [ 6] .data             PROGBITS        002ae000 0b6000 006ca8 00  WA 
0   0 4096
   [ 7] .arch.info        PROGBITS        002b4ca8 0bcca8 000208 00   A 
0   0  4
   [ 8] .dev.info         PROGBITS        002b4eb0 0bceb0 000070 00   A 
0   0  4
   [ 9] .init.text        PROGBITS        002b5000 0bd000 016054 00  AX 
0   0  8
   [10] .init.data        PROGBITS        002d0000 0d8000 030008 00  WA 
0   0 32768
   [11] .bss              NOBITS          00308000 108008 0394c0 00  WA 
0   0 4096
   [12] .debug_abbrev     PROGBITS        00000000 108008 02fe48 00 
0   0  1
   [13] .debug_info       PROGBITS        00000000 137e50 27ac8f 00 
0   0  1
   [14] .debug_str        PROGBITS        00000000 3b2adf 01a107 01  MS 
0   0  1
   [15] .debug_line       PROGBITS        00000000 3ccbe6 0a590e 00 
0   0  1
   [16] .debug_frame      PROGBITS        00000000 4724f4 018da0 00 
0   0  4
   [17] .debug_loc        PROGBITS        00000000 48b294 10822c 00 
0   0  1
   [18] .debug_ranges     PROGBITS        00000000 5934c0 031028 00 
0   0  8
   [19] .debug_aranges    PROGBITS        00000000 5c44e8 004dd8 00 
0   0  8
   [20] .comment          PROGBITS        00000000 5c92c0 00005d 01  MS 
0   0  1
   [21] .ARM.attributes   ARM_ATTRIBUTES  00000000 5c931d 000037 00 
0   0  1
   [22] .symtab           SYMTAB          00000000 5c9354 0220f0 10 
23 7374  4
   [23] .strtab           STRTAB          00000000 5eb444 00c677 00 
0   0  1
   [24] .shstrtab         STRTAB          00000000 5f7abb 00010b 00 
0   0  1

It is not entirely clear why. Anyway, it doesn't matter too much.

Note that the size of Xen grew a little bit on Arm (+0.03%). I am not 
too concerned though as we now consolidated the BUG infrastructure. So 
that's a plus.

> 
>> That said, it is not entirely clear why we never seen the issue before
>> because my guessing there are no guarantee that .rodata.* will be
>> suitably aligned.
>>
>> Anyway, here a proposal for the commit message:
>>
>> "
>> xen/arm: Ensure the start *(.proc.info) of is 4-byte aligned
>>
>> The entries in *(.proc.info) are expected to be 4-byte aligned and the
>> compiler will access them using 4-byte load instructions. On Arm32, the
>> alignment is strictly enforced by the processor and will result to a
>> data abort if it is not correct.
>>
>> However, the linker script doesn't encode this requirement. So we are at
>> the mercy of the compiler/linker to have aligned the previous sections
>> suitably.
> 
> May I suggest "aligned/padded", because it's really the tail of the
> previous section which matters?

Sure.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 11:21:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 11:21:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504856.777283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXh0M-0006aI-7Q; Thu, 02 Mar 2023 11:21:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504856.777283; Thu, 02 Mar 2023 11: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 1pXh0M-0006aB-44; Thu, 02 Mar 2023 11:21:46 +0000
Received: by outflank-mailman (input) for mailman id 504856;
 Thu, 02 Mar 2023 11:21: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=qSkR=62=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXh0K-0006a5-Bp
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 11:21:44 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2071.outbound.protection.outlook.com [40.107.7.71])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 689d155a-b8ec-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 12:21:43 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB9002.eurprd04.prod.outlook.com (2603:10a6:20b:409::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Thu, 2 Mar
 2023 11:21:14 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023
 11:21: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: 689d155a-b8ec-11ed-96ad-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gSn0GbgUYAflcFQ05L7nhAjkoUlBohfpQL0bZUNQSDlTmCjchPFeV61mWsNpHcRFgXaCu9+qLQ309ON9FaETf1BimOxKDpgHSq5d5U4O0REmre0q99iXSviC3rmT/ro0wWycM5hVaZEedLL5G6bqkBc4heZaP2hU2ErevZCNFRyNSUusCU8w1daT86jo7ZGJ4Eh3pLNJGdcE+p8pF9BL2qbUTwDAUD8+sHdZuOYVO/pqdXIvdzkO4uSIrP7d/SDA2aa5+atqHgoXG3q0og/7ELpDFtGkHw7/Wn+Q872c/vnWOAsk5iZQICICzNLLTbcGmnyuWjCtzSo6rkczihlkHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cKF6TAbUGlScbXpD6OAey4umo16lxka+ymL8p5TWUUk=;
 b=irH8yhEcW37J6n7tLpu58J6CxX/18oG//muxaX4lneBlb+RDIGLySCmOvqfL0p07DH3154Sz5IiQAmzxio4PJoJKGGcnR4kQSnTo8HHPcZ+/H+oxvve+Q/QhbBNm9byA02ofP5Gy3iZlZIxh0XLPx8k3ey2vgxsnlmQxDoKMb/eVbFdaAUbnXJIe0PuS2qRiAQ1KPW3Lz5f4XVWRWTzbPbxDSJlTytwk/az4tKuh99xpA2AN0cS1DW+0EstHx70RDzOZeGLZXIpWoMo1qQ0+hN94UboFsQ61+piFEj8B1owOO/R6NJt5Weji02+0qgefi6MN48hbZCo04AknMhwmlw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cKF6TAbUGlScbXpD6OAey4umo16lxka+ymL8p5TWUUk=;
 b=NEnC3vYFxcPAkbjONUdqsHdCvcdPPsRkQtl81MvqAn/Oq99ZkPN7jp1TmPTx5mwOB6A7hfxrEKT4muDGt1/QRwkf/QoUmtIps9HN08z4DeopQLs7dOx2baQD0RpF0Txg+hGjdAKx9sQrz1X4tMUk/r0FTt7s09BPWYppwg3L4YqlJf+insCrl7gY2H9E72hZYQYCehpcoILC/izX49GE3OKKjCkV80iEliCnbZpNu82ShWh82f5eaWTVbLNrTBmKDU+rTtjpypHlZu/0rBZP7ULkHlF+IFgDC8rcWkOHuXKjxxZOj6a3cacNc86A4/sRV5H4bEX4idA8utbBXGawcw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0c401165-6057-2a4c-249a-be877741180b@suse.com>
Date: Thu, 2 Mar 2023 12:21:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/arm: align *(.proc.info) in the linker script
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com>
 <370809af-75e6-546a-53e4-71a76444f367@xen.org>
 <a9c2638cd8620d74ec719845132ef65f08b4c934.camel@gmail.com>
 <cf15b113-ac6f-e115-6c38-38b25a265934@xen.org>
 <f2f6544a-a59e-2e10-0b8f-080f91708459@xen.org>
 <9e34f587-d42d-3709-9c64-b5e50afdd046@suse.com>
 <7e69d61b-60ca-b93a-36d3-77a1a3e550ec@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7e69d61b-60ca-b93a-36d3-77a1a3e550ec@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0001.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB9002:EE_
X-MS-Office365-Filtering-Correlation-Id: c4a3aaf7-7239-48f2-d1db-08db1b103b79
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iF4DDulYSotiIOBx86tZSTxECw1Zh1ZoxuHCqlo5wGdKpyRUn5HsnirIh+JUtZWaBkjv9LPSc8acayQtaGhEqx8wevJZR2RD+xUkO1DLxzN4cLtVxXB5ffOwWPnaKDpvgA8+YKQTS6xafvkjOLTke+I5Ww/1Z9uR5dq2iK33izx4E03wNPbJ1CVhDGulFKqnOu7u1Qo/IOEsB9HMBB2eZhSmGGXogGmjpxL5TT830u8ahUydOSYpCpaSdujLH+gJJ82nQ8RWpwDAL5Lidb96pAGNQmi2zqnRphh3rDFpQDnNa9EfvnTUZb3OhZydf7/dGpORcHev9bivKfTPPNF0E2V8sr90KQhm44xn1YbdzUJC6gPO8KYMOamkZ/6XvkjCl4ouFN2IM85Ds4L/fHc1407Lmh9UrseBEEipoURTG50iMQIqo3eCXJy+bXbFpk7zl0Tk35ch/6owbm2TFSkPTnXSH6bZ5h1mn1VGUQcsKlsdOt59GbywKtCfxYtzmTHn7agpa1DY7wOllWjXOPjki53sN1weSJTN2xZX4c9vR+kgChnIcOyaj0lqZkI+aIdE0ro79dK8sJVvAQqdmQBwb2npxb+uYxalb3Py1D4dfawsy4qls2Jup0/2AxOBQfGM81WpPwBxpAWKWxp0yQv2g1dJJWbTsJBe1jnqg+WbtrotKV1QkKIO7M3YEeytqZmo6vx1QJ3dKu9E31ggMszZb6OHxRT/88Onu68Oc8PY/p8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(396003)(366004)(39860400002)(136003)(346002)(451199018)(36756003)(53546011)(6506007)(6486002)(186003)(26005)(2616005)(6512007)(4326008)(316002)(41300700001)(110136005)(54906003)(2906002)(8676002)(66946007)(66476007)(38100700002)(5660300002)(478600001)(8936002)(31696002)(86362001)(66556008)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NFl1cWRSODRrS2gwK21kSWdBN1VLaHk5ZHRscitHN3ZYMDNLcCtVZWpoRHJE?=
 =?utf-8?B?WnM1S1pEU1lsdGZlemZMRldjNmQ4TlJvK1IxZ09jcmJ5RDZsbFNFQ1hTNy85?=
 =?utf-8?B?NHBhUXFpNUVMNU9WZ1FYUkpzVmRuU3ExMFBQaCsrRzk3d3QzRUNmN00wK2ZV?=
 =?utf-8?B?NU1DaHhrSmJ1OUh1a01kRE8wUjhjK0Z5SnJ5c2RMUzFqemZINWVVV0NoejRz?=
 =?utf-8?B?ZkFIbFIxR01BWGpFZGxrMG83cjJqaTZSMG5YSURIMEtXSHp2VGVLb210cmtp?=
 =?utf-8?B?WEVJcHFnYkFDWlBCanErSTVmT1BlVGdURFJzU0xpOHFrZ2pQUnRnc3JkQXBt?=
 =?utf-8?B?Nk5vMXo0cG8vNXRJMmkzNzI0UmxYdlpkWm1mTmhENEdqRnJsSUcvMUlLQTBE?=
 =?utf-8?B?Zjd1NEM0YU1CVm5RZzAvMVRsOW9ETE0zTlRSL2UwNGRqZ3NsMFFzbXBobDJ5?=
 =?utf-8?B?R0xQbjlUaFFLK1pGeG0vSXpnUnVab0ZQMjJraUUyODNCa3F1c2JURlFLRUVH?=
 =?utf-8?B?UjVab0JnV29lWVNEQXdicWxMRElJQ3dQdWR3dkZyWi8wQ3UvMmZFNnQxRmFB?=
 =?utf-8?B?LytsODZYakhUUm52aXlzNkxQTlRkTXVvbGZCQUFsOTNmUjk4c2dvVjZnR1By?=
 =?utf-8?B?SFlPMGlHamxpZXFaaDFGZ29jTGUvTHBFRHRyL1J3UVd6TEtKOUZrWENnYngw?=
 =?utf-8?B?WHVDNkxBSmdZZFZlbGFVaTFqa2ZSZ2JBOHQ2QVBOMTcrYksxcnZicVNWTWM3?=
 =?utf-8?B?RExoTmF6NE1iWlpHcUpQQjF2OVpzdG5Xb1p4UkdibHhFR2IvWitqYUFlaTJO?=
 =?utf-8?B?eU12ajRFVm9DVC9icDJ2RXJZeFBwRElhVTJtS0xUcVFHa29sc0c5aTlsNDRr?=
 =?utf-8?B?OUVYNmxBZzNpUTJ2QVpxUGFYTGV6eWw0NXg2bitMTUxsWi9rbk9yYm9VNWFK?=
 =?utf-8?B?RXRJSldmYlJQaFFJeFhsTUs4V29jbCtidXphb0FrL3p6NWZXaEtpNzZjcC81?=
 =?utf-8?B?NFNSdzY5YjIySGpnVCsxZm9xbWVTVjBKZjRnbTBjb1htc2NrZC80bE54QkRE?=
 =?utf-8?B?Vml3aHp3WkM3aHB4cFBhc0U0Uk5EL1FPY1R6Tzl4YmRnc0U4SmsyUXl4RDc5?=
 =?utf-8?B?MHFpTStoK1ZhYVBJRVlzVURmdTJzaHROYjAxcis5ZklZckZZUUZWKzdqZkx2?=
 =?utf-8?B?NTRqM3BBdm9sdGpIaGFqNGxleVl5bm5KNmhPaDRoWE9WZk5jZnpTWGhkMm16?=
 =?utf-8?B?ZFlRcEs1cDJ4aVJ2RFRXTkxmNEsrWmpadG12OFRSa1dodGxDYTFFM2VHMkhV?=
 =?utf-8?B?MzlneHgwRzBJWmRRbk0wREI2UVRjR2FGV3A5TnhuOTN1V0ZnL01LWEJKdXhu?=
 =?utf-8?B?d25sMDJPNDk5bEUzbjBnYTJHQlhqTlRsWWhhOGI3QzlxU2hETlByNGNZc2lG?=
 =?utf-8?B?dUNTL1c0cWNuS3RRTWo5SGJsVGlmNHpZMkgvanlMVVh2Tk1pb083eWVKWHQ5?=
 =?utf-8?B?VXFScVVjQ2ZwR3VwNm0rNG00L1NVZC9mRWI1VnBUSmI1Sk01S0p4bHl6Vi9u?=
 =?utf-8?B?Y1BycmJsTXY0NlJ5ellIK1FtaEtOd3pYdWNlcjZhb24rVEZweUZNV1hhRm5o?=
 =?utf-8?B?ckdiM1J0ZDBUK3JaTjdlbmkwWXpKNTYxQm5mUGJHWEdXZmpZK0tCTjlISXhm?=
 =?utf-8?B?ZjFPTXVIM2crdjFMdUdMUHNQNzhaOFcrTEd3RWR2WmpCM0lJaHlsYmhOUUZW?=
 =?utf-8?B?NEd6VEd5SVl5WlB6NnFNNlZuQXA4R1ZQQXVKK3psOTllQkc5ZVdZaHpFcWZU?=
 =?utf-8?B?RGxweHpjdS91aCt2Uzg1TG9CMmoxeDlsVmczc2l2QWV6Mm5YVzlsZ2RHaDhR?=
 =?utf-8?B?SStNZkFXTDRWL2dQZ2ZtZkxSQkpBbnhld3pUUjdkNCtiSVlLV1BGcGtreDdq?=
 =?utf-8?B?VkhUWHZsekFYc0pXWS9SMm1aekdVS2FySmZSZlROcS9sNU1jSVd5ZTdSRWlL?=
 =?utf-8?B?Y0k3ekhkVzFocTFTZ29vUXRCZVNYZGNPNkpndW1tbjVlZnV5ci9pQ3JVL1ow?=
 =?utf-8?B?Z3p4MzQ0WFdyY21qZmtMSjlhK2ZtdzVKdkc0b2xubFJWejVKNGJVVVg2aFAw?=
 =?utf-8?Q?eZyp2xhP46MPqLsjELs1uXwlg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c4a3aaf7-7239-48f2-d1db-08db1b103b79
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 11:21:13.5572
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zU4Ur0THwG0uavxen9NNVcrduErIpKFjtmiikwadBvYKaCg248uK0sZcI3V0jhv/4LRJ5BWFJFUpgxzB2A0sHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB9002

On 02.03.2023 12:01, Julien Grall wrote:
> On 02/03/2023 09:45, Jan Beulich wrote:
>> On 01.03.2023 21:38, Julien Grall wrote:
>>> I managed to reproduce it. It looks like that after your bug patch,
>>> *(.rodata.*) will not be end on a 4-byte boundary. Before your patch,
>>> all the messages will be in .rodata.str. Now they are in .bug_frames.*,
>>> so there some difference in .rodata.*.
>>
>> Strings in .bug_frames.*? This sounds like a mistake, which - if indeed
>> the case - will want investigating before the conversion series is
>> actually considered for committing.
> 
> No. I misread the code. But there are definitely a difference in size:
> 
> Before:
> 
> Section Headers:
>    [Nr] Name              Type            Addr     Off    Size   ES Flg 
> Lk Inf Al
>    [ 0]                   NULL            00000000 000000 000000 00 
> 0   0  0
>    [ 1] .text             PROGBITS        00200000 008000 07e7a8 00 WAX 
> 0   0 32
>    [ 2] .rodata           PROGBITS        0027f000 087000 02acc8 00   A 
> 0   0 16
>[...]
> After:
> 
>    [Nr] Name              Type            Addr     Off    Size   ES Flg 
> Lk Inf Al
>    [ 0]                   NULL            00000000 000000 000000 00 
> 0   0  0
>    [ 1] .text             PROGBITS        00200000 008000 07e670 00 WAX 
> 0   0 32
>    [ 2] .rodata           PROGBITS        0027f000 087000 02b3e8 00   A 
> 0   0 16

I still find this concerning (as in: at least needing explanation), as
the bug frame representation shrinks in size: Entries for assertions
remain to be 4 ".long"-s, while all other entries use only two now. So
in a release build the size of all .bug_frame.* together should halve,
while in debug builds it should shrink at least some. And Oleksii's
series doesn't add meaningful other contributions to .rodata, iirc.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 12:07:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 12:07:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504876.777300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXhi3-0003fb-6L; Thu, 02 Mar 2023 12:06:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504876.777300; Thu, 02 Mar 2023 12: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 1pXhi3-0003fU-3E; Thu, 02 Mar 2023 12:06:55 +0000
Received: by outflank-mailman (input) for mailman id 504876;
 Thu, 02 Mar 2023 12: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=qSkR=62=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXhi1-0003fO-K2
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 12:06:53 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0608.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7e04507-b8f2-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 13:06:52 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8843.eurprd04.prod.outlook.com (2603:10a6:20b:40a::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Thu, 2 Mar
 2023 12:06:50 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023
 12:06: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: b7e04507-b8f2-11ed-96ad-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WgYKAZXJX4FJZ0sS3qwva0C8BARuWviUzp22OGQqFkfm1sYUC7WmQTuJOWrGMIekgbymPHjvz3+SenFZDl7xouowla/FKDNdsbcXEZEwyFianP6/vwYXahvtLL8MlPCMQI9dcS2YlmZOar2uTDbgkeYjEm06rIwSZWab1G2DgcMLQz3eeWPx17GmyjAfyUzC2A6IuZxfl5O1Ezf2kjBsKTyRJefzrOXqObPtDry2v38zCkeq15IvygPNrfMlVSK4oVyvAVtIGmu1njnIMeInthVEbn4IZNIxd/6vyHr0BtGOcwV5tRsMl7jg3GJG2iJqLTuzPLIPF5HGPbH2H5FLNA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZMZMLXesqsPROcVtwa0a3bbNLvjOhi5q6DookAxN+/4=;
 b=EZ34QJccMIbL1BCOQcNcb7K1Jxv1U5NmkU/A8blpTI/ofIRl3ppfyZzZ286bkrfW7EqsU1fRxAkUXvV45qclz/ayn7a/mwLeO7V89YYkTBukYNwHVjHUjfbBVC9iqPvdmS0dmF7+4KlzA6p0OkVxEBBEiL+Bns14F23GuYBwLV7SPy0iZdPr1Hrjp98smE8SiZk4Uz7XE3Rm51DWHuAgc2/mDSBS+3qGttpYes61gLdbfxGXkdPb1dpEQQoXfreNAhZSH3oa5I/g8y+95fT7COY62l2sqlB8y1T/RfdkvpCd2IK7q/ILBZq8Ok0liFBcdH8oKj2MGpE+7yF5F0K6Ng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZMZMLXesqsPROcVtwa0a3bbNLvjOhi5q6DookAxN+/4=;
 b=pjXnCOzoIZXzJMdR7tU5klL8yU9uipEyqMA3KpMldStleUmS6h+KOK/jFtcl1laL7/cFTJdD1TfLHwd6/kf6tKhcpYJZX1ENHHPDcxSb9avJ2W23qrUZOn/3wjPnU2abQ6umSvS1DNPOg0Hoxqe/Rbwazhce2KEr+n4mo4C98srWIH6JmEnzxmdOSUfu9OUwAFtyvHLIMCh8PNxwn3U+WnDwEJrxwlWhud86RPGM1LptO2S+GwWXeffqPqUW5lWDnUPT3dZbH2Qy8eVsZNEkwQXDEImlvbeR5mEUJV3bjszp1yet+rECmCAA1vA1QSYzSSgcU4dbbGser4uqyGNGSQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4a33482a-fd89-c8e9-ad5f-1e72dd644d2b@suse.com>
Date: Thu, 2 Mar 2023 13:06:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/HVM: purge dubious lastpage diagnostic
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0039.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8843:EE_
X-MS-Office365-Filtering-Correlation-Id: 1d6f4480-9144-4f06-fbbc-08db1b169aa3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GshVenhGerKceX/tMB8n1uDO6GZ0QIAJx69lumUwdNltZiInwdtHkjkYatTsKnVbFFLtkUPc5AJ4U2NEQtM+/Hnezww/n6pJCqn/89KeEvJ/Ygk7UHOpMRDWzivGistOAk81oQwlQFIAfFo9R2GBhpla38kKqUfkYdTQTQnqjZX8gpPEniknQso4FbrqihjXPZtfj4qHHQ3ZjRp67gDD2tDEOIgPhDnSL7/NKGDVgV++4M63ZODTG/ECzYVOzxjkUcPRx4Ok+OdQ4UKjW0YCl00DmZWFSRkB4NAC1hQZwoDIswa8Or5dTg2djxRD7abf0BjVwwbKgpqAsNORggxkazK+hBPzmSH3ncnm/ePZU/2yz42Nctb9ryglHW2PyEW1Own11+jBcrwkRShLcdgn3Q/KnEBOS1fHHPVx6Lk8aGtTXuv6/RiwGrctV2gJbMzD/7AvfwZ3tkHtELipJc1YPVUjFFumeOzkZ5BY7IuVcEKDuijMltZ2F8hzOTPWxLz+lrtLT2AUOfd+VPVsP7PVdcM4mrePgyLx1mekyShUj661jFy8+0C5uVILEn5tOFLz90B0vhNKFhEdmuCa6f4tucsGQmyZJdw9yuOUCUb5LjdBTCQ6eL5Bw2nMyFtQ8LDvTX82kK/chK2Y7yzRX9kuMNmNUaPKxPsIdPPZgQycfYvkwlAEYLQr/X7TlCTs9CFFeeChleNQIdKGpCWWTVKM071BYaaKQTgCk+2VeURzmB8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(39860400002)(366004)(136003)(396003)(376002)(451199018)(86362001)(26005)(6512007)(186003)(478600001)(6506007)(31696002)(6486002)(2616005)(316002)(54906003)(38100700002)(2906002)(36756003)(83380400001)(41300700001)(5660300002)(31686004)(8936002)(66946007)(66556008)(66476007)(4326008)(6916009)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YW1FYTYyaEZLR214YnFXNEFQdE1ZYURrZmtQL2JTRHpiOGs2UkV0bk9MMXN2?=
 =?utf-8?B?TWpsQW5NNk9qRFpnU2FIdW9uU0VDSGErOXpMTENUazBUSVpjZWdWU2JCTHZk?=
 =?utf-8?B?UWNUakFEMlVsL1hUdFlGUDRZNmoyV3RqRTJsanV1OEZ5ZWFIWXZsVjg4NU5K?=
 =?utf-8?B?YjIzaVpHcGF4Rlhaa0FEZnlBKzd2NnFBZ1NhcEVqbzlRNnJiUkROTFBFdlNs?=
 =?utf-8?B?NVkzRWJlbEVTbVR6TityaUZ3VDVMM2l5MUdNTmczeFJzVGdNeVlLV2pCd3pT?=
 =?utf-8?B?TUNrcStYOFAydnNQOXlWaFZTRXoyUGVjZWEzMmJFaERUeWwvOGNsV01TWjdN?=
 =?utf-8?B?eVVaOXh0Q2NnMXNtZE1QSkxDaTY1cHc3dTEwSkVvNUZJL2U4Q0dMNmI2MVU5?=
 =?utf-8?B?bmlRWkU5Qmk3anpBdzFmZWlMU3h0QjhMUFcrZC8rUERocWlzUjY1dkc2akM5?=
 =?utf-8?B?RG5kakFacWYwbWdJQnRxNXVvbUNhbU9CbzlqQXFWNWZRdllXMDRZeXkwUlV0?=
 =?utf-8?B?WHAyemh2dkFCQm5lOHVHbjRzb29sakVWdDNWbXR3MnVrN241SmRZa0IzVUp3?=
 =?utf-8?B?NTg4SGxTUEk0NUtrbDVydnJaQ0pIc3QrOGIxTmozcWZGaDV2YmdKMDdJTmV3?=
 =?utf-8?B?eGUveEtzMFRLV0NZemhnS0w5dlczWkRxSDF3bXdXNnJoT0tnN005Rnc4eFVB?=
 =?utf-8?B?ZDNwcnRNNHUwYWZ4Y25tUEkrSThnbEJJQmNDTC9sSGVOOFdBZkZIWUtZRnRE?=
 =?utf-8?B?ZkZ1VUZQU2lRSlBubUtwM2lBaTlHbVRlS3hOSkNwVHdmUUJLWFk3YVpBM2NC?=
 =?utf-8?B?ZmxZMlRGT2RmMCtXYVBONFNwelNkL2NZY2RVdEpDaE0venc0Q0cxWmVJTVpx?=
 =?utf-8?B?SFRpbjgya0RLaVVqd3Y3UDA5NVlLYitTMDJrQ2tCYjNxcjNMbjZPUmthWEpK?=
 =?utf-8?B?WnFiVWdhUmZnREJqVHNFYXBZWWh3OWlXRjhhQkJGeUVuUFJZbm95TTI5MGRt?=
 =?utf-8?B?OUpkNW1RSElZVE9EMU5xcVQwUFJUbzMzTnRQKzArN0E2M1FHRW8zQVRxNFV0?=
 =?utf-8?B?QlpBZGo0TnUrWXcrL3NoVXNjTEM1OVNmZWMzekIvNU5UWjdKRFNhdkRVcUpz?=
 =?utf-8?B?TU52djdyeHUzQjlPazFRcWQ0OGdsc29yMmt2MVlkeHg2d09qeFArV2t3RjF4?=
 =?utf-8?B?eThESkIyT0E5TFYwczlIaUYwc0R1MzNmeXo0VnlDSkNxMTEwTlN5Y1FDNERO?=
 =?utf-8?B?bzB5RXJ2dC9MRG5Lb1o5eTN4NUFmTWpGaXRWTExOTmNhaDJvS21uTkc2OWtW?=
 =?utf-8?B?dERlellzTzNHdE5ia0ZvVmFGQVg5VWw4ODdWWFIxYUM1VExYL1J6bU1iQnpq?=
 =?utf-8?B?OG00TjA3SW8weVhBaWRYWlV0bkp4RjZSVUFxL1R4R05ocXNYNlFIWFNyTzhC?=
 =?utf-8?B?aW95aUplZzhUTjVUN244QlIvL0piblQvMEEyTlk5VElSSk0yUkJnOE5nMHJp?=
 =?utf-8?B?eDhhTG0wOE55WGhwbWtVTjVoUFZDYkxLSDFrR002ejRDL0d3NEU3N29tV2p2?=
 =?utf-8?B?dFFFaTdwQjk3L0h6UjRlM09KY3l3WTRPNHl0cjF0ZnB2dkZtNGNaeWFuMWtn?=
 =?utf-8?B?TFoxM0JTc2NPYzJvSW5yaGx6dFBrWmFRNktDTHhMN2Rwb1dKYkJUSjRVVkUy?=
 =?utf-8?B?OUNENGV2QS91OXNRRGJPcVlQZHMrR2NFQVRENk5xQ2FTNVNoQXMxaXRzK242?=
 =?utf-8?B?aUhQeVBMa2ZVTHNwaWFMN1huUU1Pb1ZqU3Fubm5WaTJiNGZDajJHOW1PZTZR?=
 =?utf-8?B?cG0rbjJTNmFuZ01zRHJWVTJmN3Awc1lVVlpMOWorZzlZdkZrOFFKSVpNZHJC?=
 =?utf-8?B?LzVzQTRFRmtzV0Z0MU5MUHVob1k3NkE0WG8zYXdFeWdJUWRtVjJiOEpmL0dy?=
 =?utf-8?B?OExKZS90OTNRYWJwdC83Q0l2aUxDd0RJcW5GbVpHWDh5WlNsNmorVkY5bDRM?=
 =?utf-8?B?M0Z1aXhna1ZoOE9Bdy9KSmVhckVhVTMvdW9aYnQxR2Rwa1hJaWNFM0d2cHcr?=
 =?utf-8?B?aHIxM1dLQzBzcUU2ZEZYaTBmemROdWFzaGFBY3ptQWlIOUN4d25iWFRKNG4v?=
 =?utf-8?Q?oWKqk87B2VlZLhkjVMsauCu7N?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d6f4480-9144-4f06-fbbc-08db1b169aa3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 12:06:50.1819
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eCS4CP/iiTmVgjrjHq4K5yuYBxu68Lr5C5yqnaw2FCEqCcxptCemOgaiArZu8DQZqVmXPs0ZQEJw6xX1D6B6EA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8843

Quoting b5d8b03db136 ("x86/shadow: Drop dubious lastpage diagnostic"):

"This is a global variable (actually 3, one per GUEST_PAGING_LEVEL), operated
 on using atomics only (with no regard to what else shares the same cacheline),
 which emits a diagnostic (in debug builds only) without changing any program
 behaviour.

 It is presumably left-over debugging, as it interlinks the behaviour of all
 vCPUs in chronological order.  Based on the read-only p2m types, this
 diagnostic can be tripped by entirely legitimate guest behaviour."

All the same applies here (it's only a single variable of course).

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

--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3354,16 +3354,7 @@ static enum hvm_translation_result __hvm
                 memcpy(buf, p, count);
                 hvmemul_write_cache(v, gfn_to_gaddr(gfn) | pgoff, buf, count);
             }
-            else if ( p2m_is_discard_write(p2mt) )
-            {
-                static unsigned long lastpage;
-
-                if ( xchg(&lastpage, gfn_x(gfn)) != gfn_x(gfn) )
-                    dprintk(XENLOG_G_DEBUG,
-                            "%pv attempted write to read-only gfn %#lx (mfn=%#"PRI_mfn")\n",
-                            v, gfn_x(gfn), mfn_x(page_to_mfn(page)));
-            }
-            else
+            else if ( !p2m_is_discard_write(p2mt) )
             {
                 if ( buf )
                     memcpy(p, buf, count);


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 12:08:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 12:08:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504881.777309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXhjz-0004FC-H1; Thu, 02 Mar 2023 12:08:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504881.777309; Thu, 02 Mar 2023 12:08:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXhjz-0004F5-EG; Thu, 02 Mar 2023 12:08:55 +0000
Received: by outflank-mailman (input) for mailman id 504881;
 Thu, 02 Mar 2023 12:08:53 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=O9bk=62=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1pXhjx-0004Cn-HO
 for xen-devel@lists.xen.org; Thu, 02 Mar 2023 12:08: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 fe105d93-b8f2-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 13:08:51 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-52-zd8RQRQ2Pp2eE56cxYUSzQ-1; Thu, 02 Mar 2023 07:08:45 -0500
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com
 [10.11.54.8])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id F0B0629AA2D1;
 Thu,  2 Mar 2023 12:08:44 +0000 (UTC)
Received: from localhost (unknown [10.39.193.244])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 252BAC16900;
 Thu,  2 Mar 2023 12:08: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: fe105d93-b8f2-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677758930;
	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=zYlH+hIiB4rpEx0aI7Jl43K417fIUls6bh2grm6pmnY=;
	b=YzMkRFAR0jD3h5UgXydSqzOvMxi5a+f420ynSOBXhmC8Flm9xURzK5/A0fl+PWPWhxR6zL
	4sldsU86cwKlgh2RxAw8Mt2z+CVrJMeo2ukE16zlaarOIrDa6LUyahlgEaMiVHyUUqkqQZ
	2bnxWu4sB/suM773VkOutcxWLtC0pd8=
X-MC-Unique: zd8RQRQ2Pp2eE56cxYUSzQ-1
Date: Thu, 2 Mar 2023 07:08:42 -0500
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	qemu-devel@nongnu.org, "Michael S. Tsirkin" <mst@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	virtio-dev@lists.oasis-open.org
Subject: Re: [virtio-dev] [RFC QEMU] docs: vhost-user: Add custom memory
 mapping support
Message-ID: <20230302120842.GB2480875@fedora>
References: <Y/9zkDAS4odz93GM@fedora>
 <877cw0ctpr.fsf@linaro.org>
 <Y/+LdfF0rL3wEqfd@fedora>
 <20230302081907.pwt4nvz5buyt2dz3@vireshk-i7>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="R8x4bQWlTQ/fknb6"
Content-Disposition: inline
In-Reply-To: <20230302081907.pwt4nvz5buyt2dz3@vireshk-i7>
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8


--R8x4bQWlTQ/fknb6
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 02, 2023 at 01:49:07PM +0530, Viresh Kumar wrote:
> On 01-03-23, 12:29, Stefan Hajnoczi wrote:
> > What is the advantage over defining separate messages? Separate messages
> > are cleaner and more typesafe.
>=20
> I thought we wanted to keep single message for one kind of functionality,=
 which
> is mmap related quirks here. And so it would be better if we can reuse th=
e same
> for next hypervisor which may need this.
>=20
> The value parameter is not fixed and is hypervisor specific, for Xen this=
 is the
> domain id, for others it may mean something else.

mmap-related quirks have no parameters or behavior in common so there's
no advantage in sharing a single vhost-user protocol message. Sharing
the same message just makes it awkward to build and parse the message.

> > I don't have a concrete example, but was thinking of a guest that shares
> > memory with other guests (like the experimental virtio-vhost-user
> > device). Maybe there would be a scenario where some memory belongs to
> > one domain and some belongs to another (but has been mapped into the
> > first domain), and the vhost-user back-end needs to access both.
>=20
> These look tricky (and real) and I am not sure how we would want to handle
> these. Maybe wait until we have a real use-case ?

A way to deal with that is to include mmap information every time fds
are passed with a message instead of sending one global message at the
start of the vhost-user connection. This would allow each mmap to
associate extra information instead of forcing them all to use the same
information.

> > The other thing that comes to mind is that the spec must clearly state
> > which mmaps are affected by the Xen domain information. For example,
> > just mem table memory regions and not the
> > VHOST_USER_PROTOCOL_F_LOG_SHMFD feature?
>=20
> Maybe we can mention that only the mmap's performed via /dev/xen/privcmd =
and
> /dev/xen/gntdev files are affected by this ?

No, this doesn't explain when mmap must be performed via
/dev/xen/privcmd and /dev/xen/gntdev. The spec should be explicit about
this instead of assuming that the device implementer already knows this.

Stefan

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

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmQAkcoACgkQnKSrs4Gr
c8iQbgf7BYwOXalaOt9tawNBuNNxLm51ZzyWrR5YxkBDb7Ko5Ja0ft7PtgNn876L
a4Ike7lWdQM1O+glxxDybaubjNLbx5rl6H86QR5jkn1HaMUGDNnePPWMwi6jj+1M
MrXoTPbTaSlzFIZSnTSYDcg9qEYan2cSK4J9ol40Isv9wHA7xLxD9kKmfEMNqiLY
9wnUkNbvd9E7C6ODp7R3UZlCy/XHGt0xFEAATzSGKRj9K47TM0Fj208dYIrNOtiO
XYc4hdGsEC4QXqNEDmhbH15uTbn8QHr4aiA8v7gn9Tzv3ux81adOpdf/i5dfSnzr
HnK2yy7RDHS1+5bXCGQdLYyed8Wufg==
=NjUt
-----END PGP SIGNATURE-----

--R8x4bQWlTQ/fknb6--



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 12:14:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 12:14:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504889.777320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXhpk-0005sk-5t; Thu, 02 Mar 2023 12:14:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504889.777320; Thu, 02 Mar 2023 12: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 1pXhpk-0005sd-2v; Thu, 02 Mar 2023 12:14:52 +0000
Received: by outflank-mailman (input) for mailman id 504889;
 Thu, 02 Mar 2023 12: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=aytp=62=citrix.com=prvs=418692924=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pXhpi-0005sX-QE
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 12:14:50 +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 d24ec500-b8f3-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 13:14:48 +0100 (CET)
Received: from mail-bn8nam12lp2168.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Mar 2023 07:14:44 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB4997.namprd03.prod.outlook.com (2603:10b6:a03:1f2::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Thu, 2 Mar
 2023 12:14:42 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6134.030; Thu, 2 Mar 2023
 12:14:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d24ec500-b8f3-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677759288;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=XGcaXERPXAwn4MUXz5iO094Xazgu7XTRELxSDpc1vIQ=;
  b=ChJTRiNAwuqqbov6fR/TMm5YLOQ/360qODX9hb+tgXMyZXtKwPN3qF77
   4JIF0F9qlmJGoohLfAyAtLZigSiJEvBclwprTnB9/Ug8kM7Pqgc7EYqKT
   DkBw1HRLsUg+2EAdC2PpnZKnl1Vw1l4SVPa4pcdncMw3pZeZmtiNt1jS3
   s=;
X-IronPort-RemoteIP: 104.47.55.168
X-IronPort-MID: 99080902
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:af8ukKrJLPg8WR3O8BzofyL41YNeBmI6ZBIvgKrLsJaIsI4StFCzt
 garIBnTb/mDNDbwLdB3OYXl8hxSuZ6DzddjSQtlrSwzFCIb95uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzyNNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAApTcgmzwP+W+bjlQ/A0wfwgdvv0EJxK7xmMzRmBZRonabbqZvyQoPV+jHI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeWraYSFEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXpp6Y62AzLnAT/DjU7TniZrsiZqXeERpVfO
 lA9wgFy9YULoRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8hSy2ETgYKykFfyBscOcey9zqoYV2hBSfSN9mSfSxloesR2G2x
 C2Wpi8jgblVldQMy6iw4VHAhXSru4TNSQk2oA7QWwpJ8z9EWWJsXKTwgXCz0BqKBNzxooWp1
 JTcp/Wj0Q==
IronPort-HdrOrdr: A9a23:LoiaIq8BZ1EPqDXX3+Zuk+DhI+orL9Y04lQ7vn2ZKCYlC/Bw8v
 rFoB11726QtN98YgBDpTnEAtjifZq+z/9ICOsqTNOftWDd0QPCEGgh1+vfKlbbakrDH4BmpM
 FdmmtFZOEYz2IWsS832maF+h8bruW6zA==
X-IronPort-AV: E=Sophos;i="5.98,227,1673931600"; 
   d="scan'208";a="99080902"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jNmP+b8sXaWmTb/Z8wr24+2XUf2IOEgtFfyJFsbmqCH22O53MbXSdLTy3cdE2o0mdNvb4Moi+NVVE4iGWZbFgXncACpW27Fy2A4LFVTgtTERKIRgSUM/hu3VCNhaSCuu9TftdQxdJv8M7pHj8htDxTYCAx1s6omLV+T23xKNOLqIftfnK/DQecgbEY/5xBQAYiamEpD2MU8WN5l40WYOtlgG7QyS7JCmZ8OsDQfF6gAaXv9ICFrjEcyc6jyaI2+b9MfcPmZncL/Cq3rLOPjwKcgB2/hZzo4tgfyL3D3ItsG9/BIP+2txX6Efp49qfmup77kOlQ1EUNqK9yPOiqEgRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VrVnOIa3zlwTrc8qgB+Ke13N4aAcz5GJXauOkhrRUVw=;
 b=MTF4ivsWSfUl0L+i7yk4D7sFrFPlqrn6l8OFPC/PAb25hPI0/ktkp163ehedgCvHzdFFnqW8MuGH1dhzmorPvB1R5zm9M25u/Z+IiB6F0qB0UvLtBe8kidTWxtMopE2s/ljLbwkKJreKqOy9H+CTKqFG/4LlEvbFg6g6FLvNtMDRYHuMd3FA7+9oQINlIfjx2Xe8lNbwTWTCwNwa87IFQ2GbLp32KA0Pa73pEOSE3Q+X5dny2VfAeeb8HCWaHcBjktXYWDIpnm37yYzbN7/BDYviW2CiPEjBsf04shqVn1x9/8k9eQWk66HIECis+Oj6bjgTZtsMeRuEQC/cbTdFzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VrVnOIa3zlwTrc8qgB+Ke13N4aAcz5GJXauOkhrRUVw=;
 b=dXPozQdPLsf5we4EZb3I3zxsJPa4jWpzcGgHHCpEtXE7bmhua1UEXugyw8f3TIhJJgdMO9+Ei5j0WHkZ9x3/Z3OiW+sWDxfKjeHcnPxaCiJ/dFnfQrVq+1Rg2CE8sExVdd8MqO6yb4iS0aNNIdA6eHYN1UilQEo5JyAOkZxJKLU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9cc00334-6f86-50b6-4226-be5dd251e8f5@citrix.com>
Date: Thu, 2 Mar 2023 12:14:37 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/HVM: purge dubious lastpage diagnostic
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: <4a33482a-fd89-c8e9-ad5f-1e72dd644d2b@suse.com>
In-Reply-To: <4a33482a-fd89-c8e9-ad5f-1e72dd644d2b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0103.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:191::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BY5PR03MB4997:EE_
X-MS-Office365-Filtering-Correlation-Id: 5b592518-4979-448f-b7d9-08db1b17b40d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1NEyvLAy7Mpw3waKULAxq+WjuugJG8YhNHBb1UYw79AmWiAyhJTAavr/jJZ7PCeu1aatLkO+4i06W3ktV6//4+V0YkblI4zN7FTIEnMvYc1cB1CZjzQ7Xp20grMq7Yc+mFyAAE+T0LZ2tU/BeN5CskiyKHV4ZjGBB8miLMwRD0ImrB6EEJDqwlaQEv+/loQ+PGwaApN5dhYnYDamtAfCBErZ5Ja0XOQ+e7rSLtz2MuW1MJn0tcogAWpILhJQZ1y8Am//xfjWY42fFkyGVk86fkgxNuodnZaHWjS3CACd0UEnQOTNk0JmGicf1rudJMC7539GKdDwA0xiyFWLqA2WO2Pp4F+i7R7VBkDm0R2xYLMP7hb7ls6atGr8U4aj4+WL9bwMUNInT3tserXA0CXljh470FXNnrsUJZZshVRKLLYk3ZWHSL6S6iH0ORybzK8jiWL6zIgbc0qOoBDVeKQN9JUkaX3IIoTNxfUgQWqlMpbhycpHHBNt25Om9kYzNjkg3ANqB834+lwfKWb89UdN4S7A+cQzViB1dmNXLbIqK1XoBzLBhG1GRdrJXL7nc/rBDP/iGvjpp9w4z6jRCWRO5ZKRPj4QUm5DaOCZjQh1R+4rd1vOaeLmDfF01wrrF00ZmL+p3xGkeYi96mgJ7mAY7vGOUgGpSLyrPZnD+HKfT0OuL5N/UpsKcaWBGiJKM0T3O09o1oMopVRd4clDj0c1STwzNOxxvA1pn8bRjXjadCM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(346002)(136003)(396003)(39860400002)(366004)(451199018)(36756003)(6666004)(107886003)(53546011)(6486002)(6506007)(6512007)(2616005)(26005)(186003)(316002)(54906003)(41300700001)(110136005)(4326008)(66476007)(2906002)(8676002)(4744005)(66556008)(478600001)(5660300002)(8936002)(82960400001)(38100700002)(86362001)(31696002)(66946007)(83380400001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z1FrZ3pCM2NWeVM3Z2NpZW8zQlo2d3JpYy9HMzdQK2pJdW1wNXlMVDNIVG9k?=
 =?utf-8?B?WWszcnZrTlNZQktsWVNITjVweCswTCtPdTdIVmpWak5rTENtVm5xWXRySmFX?=
 =?utf-8?B?TTBQQmdQaWw0WXdGN0xUdm5rY2ZsVHovdGlEdVhzNGtvN28zdmRYQjhlMkpD?=
 =?utf-8?B?NmFXVzc1Y0g0KzQzd0JpR2sxQUdyRzRSTm14S1k4dHVlVlE2LzhlWVZJdXdI?=
 =?utf-8?B?anBaY0pQcm5Sa1RLdEYvU3dqZ2YyNEFucEtlU2JaZVRZakpjVm92NHl0bFYz?=
 =?utf-8?B?NmFmUEFkbVRNSjJNaFppOVNUWXhHYkwwb0RMRldzODZ2clpDUWY4ZDVqWTNN?=
 =?utf-8?B?eExZUXhnS2tnbU03bFJwc2ZhVHdnbmxTa0pZY0pqRUVxeS9qNXdCcHlWVGZl?=
 =?utf-8?B?QWJ1TGF6WkhVT0Z5UlU2TllnVTdCWmtRaHdicFVBU1RsYTFwaVV3YU1NN1F6?=
 =?utf-8?B?Uzc3MWF1NWZkT2VLOUhSVGNZL0F5UjR3NVorTVdvY050T2tUODloOS9uaURh?=
 =?utf-8?B?aXlYSDRISTdrSGxzVDA4LzlqTDdKYXhlaktBSTNoYkVKT1hiWHF2ME1rMFA5?=
 =?utf-8?B?ZlpzSVU5U2F4Q2pqRmJNZ0JweE1uWSsyZTJVQ2ZpSGFZb1JHZi9Cdk4xN0tx?=
 =?utf-8?B?UTZiYTFNUjVBYWVZRmN4eHlBb1JqM2VJeEllaHI5dGZqTHZTV1Rtb0NieUdX?=
 =?utf-8?B?TDl2bkdqSllrVVZxaDRybUUvbmowTzBENDhIcnJ0VHRHbTVCODBkRklPMGJu?=
 =?utf-8?B?b2svblVXS1RsenJjODY2UEFESHd0U3llRTdoeS9nUnZyNGl4SEkyVi9UOEZz?=
 =?utf-8?B?Ym4vR1dWUzBKWTdpMVUxWG9BYThWZkh4T2lYaWIxK0FseUsxVi9RZUI4TEh4?=
 =?utf-8?B?UXBCTlhMVmdmU1poZHpkSFE4UWVwL20wd3FIWCtiaWNRS1p2VzY3NWFCZC9O?=
 =?utf-8?B?TFY2QmpoQmZuWGJQSnhrT1pXcWNFeUdSckJhSVVYVytad2pRQmx5Mit0bVNE?=
 =?utf-8?B?WTMyczdDVTVGeElyQ05XSDhWbFBBVU8vbEtHR3JJaUJNblNCOXI5RFk4M2Vn?=
 =?utf-8?B?am9kMWNzY0NjQkZ4dlJJWTh6cFFOOWF0SlV3L054ZU9qQ1NUK1g2YmV5UXli?=
 =?utf-8?B?MlBuWW1WTzk3Vnd6R2NSNjFNdUh5MjdmZE1HZ2twbzliQmZEVkh3MUdONHov?=
 =?utf-8?B?eUVXYjA5dWt2STNUcGp5OHpvV3VUMFZuelQzVEdqUjVFcWRFYlFFMDB1aUNY?=
 =?utf-8?B?ZmFPRWJsTUFncVhRQU1yNjZKbTZhb3pKbTVFZ0NKYmhBaXp0NkVpajlRR0ZE?=
 =?utf-8?B?ai96SnZxZjgvZTZCU3hJWkRtS1UzdVJRMGVwMkVCdytUeTIzVkEwbFoycTFr?=
 =?utf-8?B?MmU1VE1ISlArU1M4eDZyWlBDVzhLNWJGRG04YlBOSWhCY0pPS2w5TWV6c3ND?=
 =?utf-8?B?alZuUU1RMnNya2FTM1NYN1FvOTZhN1VJa0hmWjlYSFh5SXl2aXN4cEttRDlw?=
 =?utf-8?B?TWdQUHJrQmJPTWtLVkRyaWdadTNDVFNCZjZvVkloQys2VzIvWHpVMjlRblNP?=
 =?utf-8?B?QUpER3FkMEZLVEJPemNGcmNXdEpacFlJRXkvRU0ycWJ5VnJSZEJIMlEvNGUw?=
 =?utf-8?B?VXR1VzNIL0ZrTTBnV25ESkVUQjNLRUFZcG03Nzl4cXAxdnA2ZXRuMlFPSGU5?=
 =?utf-8?B?NDg4ME9ZZCtMRHVDYktSdlljMHp3S0JtMjZzV0s5WnFsZnBmMGEwNUU3YTNO?=
 =?utf-8?B?b3lsTHFyZXpDL3BRRU9oOXVnSStDUVVHTENNMHJXQ3ZyeHdpV0JpcDNxNmJp?=
 =?utf-8?B?L1piTlBFN1ZRNGZVMS9rS3NBN0lDanFjV25COTEzM3AwdTVwZ3BVQmJpZm5t?=
 =?utf-8?B?Y29Yb3FoTXJabndMUGhGT0xDSEFkM1lWWitsTW5xOWtuaER0SEU2MkQwcE5Z?=
 =?utf-8?B?VHZuOWpBem4zNXJScDgvY0QrMGp6d1l0NzBCdGNwSGs4VVZlR1VJbkZ1eWdT?=
 =?utf-8?B?bmpodHNsdlZLcm9aQTJ6RDgxZHNBQldiNndHV3BGVG5ydUxNRkJ3Rk13dHR6?=
 =?utf-8?B?d3R3K0dyNHBOS2kxMHFoT0NKZU51NENHZ085RDRtOU9kYTZYck9LTzQ1UmxL?=
 =?utf-8?B?RExwYlpKdS82dVZ1NTJ2MHZZb21ETUQ5V0hMd01mWVBzb0pJVU0vZkwzRVVq?=
 =?utf-8?B?N0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	KfLrAIsJzUhTXK6lI7cxq2mWft32nTpqjeevvS7hpuOorpVb14rDTlw2gtf2znXQdpEM957dJUYRhkPs/wq64gKVWMigqrhZkfMWW1StX7DIDdi9HtzC/c8W+VU1G2HDdSpN+SOvlo+RdpZQLHMSndVuCJZut9j/WU/UaP2c2+qkVOyqm9PHqGYwhmM88BMXnKzagw+kWiIsKMDXqoTVI8aMd7rrQZHPqIN0chmtZj+CDWSesJ/Mq1f3ap3kExbnnXlLOT52g3UKQSAQ2no0PjzXzMOYX3T82xlEO1lsSD6iIluo3vKkKPhQaDkni/uA6a4E8haM3yNu40BiE5VIAhcHIkjQ/DrDaMGJ7UJYx7j/Wl+Vyss2Snns+QD3LD1Riqb++uE2WGsd8lFH/vxo/FzT4eDUELkxteZjxTB0IUxF7y6BUzK98+5mk4B8mRX8Xu9F1XImwnfDIrxwFG4IcMdxUNEZjWzxDurSe/tqlI3Ya0gsZHIoxd1stRpPc3P/78T8WAJ7uNAL518Zbxg5czMi1XUgyF48mZ4sVKuyE6zkA7Ne0426/gxOHCLIaBpgxyf+Z/MmiH8D/32R/KEHWi4BZh40hZ8IrSE+VWoEj8FXjN0zBuqcXqkwayYbv7r43hnaFlAwm/z8a+lmZ47gA+66Vp7+ASpo044CgsFkaQWCuhF0f2damRS7J/qraGpL83zIuhRT3gCTsUOI4z5H6IFB9w6TUiuwRCjEd1sJ0O5+y8lmpnVLI36455GZAYuEqctG4zj+yyDTq/Z49mGINaQS6i435s3KicfUaP4wt51tovbcHicM7/HQ8VhSIPtF
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5b592518-4979-448f-b7d9-08db1b17b40d
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 12:14:42.4865
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yvn2OvX/w8TLVt7nN77cvIC+8/pJUHvuOVpk86rc8K59xPfT30u+jGxD8G7y+MqSXEDML0v7ydAADzFSS8qi7VFz+/8AuFs0bGiwUrFg6G4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB4997

On 02/03/2023 12:06 pm, Jan Beulich wrote:
> Quoting b5d8b03db136 ("x86/shadow: Drop dubious lastpage diagnostic"):
>
> "This is a global variable (actually 3, one per GUEST_PAGING_LEVEL), operated
>  on using atomics only (with no regard to what else shares the same cacheline),
>  which emits a diagnostic (in debug builds only) without changing any program
>  behaviour.
>
>  It is presumably left-over debugging, as it interlinks the behaviour of all
>  vCPUs in chronological order.  Based on the read-only p2m types, this
>  diagnostic can be tripped by entirely legitimate guest behaviour."
>
> All the same applies here (it's only a single variable of course).

Just "The same ..."

It's not all, because of the single variable note, but grammatically
speaking its fine without the "All".

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

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

I was aware of, but had forgotten, that we had this pattern elsewhere.


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 12:17:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 12:17:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504896.777330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXhsO-0006Wc-NI; Thu, 02 Mar 2023 12:17:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504896.777330; Thu, 02 Mar 2023 12: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 1pXhsO-0006WV-KI; Thu, 02 Mar 2023 12:17:36 +0000
Received: by outflank-mailman (input) for mailman id 504896;
 Thu, 02 Mar 2023 12: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=x2w7=62=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pXhsN-0006WN-Ok
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 12:17:35 +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 34922e54-b8f4-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 13:17:31 +0100 (CET)
Received: from BN9PR03CA0431.namprd03.prod.outlook.com (2603:10b6:408:113::16)
 by SN7PR12MB7131.namprd12.prod.outlook.com (2603:10b6:806:2a3::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.29; Thu, 2 Mar
 2023 12:17:27 +0000
Received: from BN8NAM11FT066.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:113:cafe::b8) by BN9PR03CA0431.outlook.office365.com
 (2603:10b6:408:113::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19 via Frontend
 Transport; Thu, 2 Mar 2023 12:17:27 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT066.mail.protection.outlook.com (10.13.177.138) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6156.19 via Frontend Transport; Thu, 2 Mar 2023 12:17:25 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 2 Mar
 2023 06:17:24 -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.2375.34; Thu, 2 Mar
 2023 04:17:24 -0800
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 2 Mar 2023 06:17: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: 34922e54-b8f4-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h0oZejs5tGnkSmXqtvSDoUg03FeXxZrApSwYnHk4BZd191g1cm1J/wld+VTD701iLuF9apBg9fQQyJsXneFlht5Os/qhzu6lVy2X5uv6PFAfBL8PsOD/bQiHET0mYo1ya2VGkTWiGgOoH6LX5UrU/Gs4KUkKHbLlO4CcDou3jWRWEF8TrBMhtAfq6rlYJ8ezMoXeDTotho5D4IFAFQDvza1RFiqfNKRIFgZk+DzL4JnVrXRPw0CCq5g4X+LVJOpQy4lUJOf7WQTGVVw1hh+c8LhHtGuYvkA+PgvDM5vNEFABVHEIE0xJzgUa0gp1dNio58NUloh1Bp/EEo/E8gneNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7R1xpcylum7C6uLtSxVOkGnQKc8q5CCpaCPLcgQuz+8=;
 b=X2mqqQtKmVRwpHywe/XcoIr5/cgEuQ4RSGR+los12r3oX6CF21378btuCgjrlKxFiM8j8YB4gfNfl0pMgzTQmGwN1XSOAo/IEi0URAeLgCoe6sprnzCYXRMyaM4OqDZPyNdquvqpUN52vXpXaQztdVA6eEa8jQk5hQb0g6Gj2eZJfjJRddyjlKEhRnFRLg2cWcHylO5ipIXdUW39dbRUNELP+3Jf727AxXZKPRec4LQXq7Kpb3nEwGxFCil/Z2Px5ZZkgKnmSWPrbMVFJ7iwMYdoYDQya6t3KvOFbe6lySg8Hr3XwxtOxTmkgApnPRuoZQl2JI5j0pZSL9RWrcP3SQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7R1xpcylum7C6uLtSxVOkGnQKc8q5CCpaCPLcgQuz+8=;
 b=dqZomjdMcv48c0sRLpKlkyfwz8livPMQ9ZVMHl18cEd5tPULcEvAKsgm5KdjtiNyckZlA29tz9hXvHnTpXDjSDib6y6/gJmDWoMZ3Iml9wMKjFKmr3b8N52vhoi/9/45fgvVMloWQUnJhNkGKKroMcazAR+ELl6dR2/59gyDzFo=
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: <f480d3c5-e18a-7863-b2a0-9ba95f7e678b@amd.com>
Date: Thu, 2 Mar 2023 13:17:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [ImageBuilder][PATCH 1/2] uboot-script-gen: Add support for
 static heap
Content-Language: en-US
To: jiamei.xie <jiamei.xie@arm.com>, <xen-devel@lists.xenproject.org>
CC: <wei.chen@arm.com>, <sstabellini@kernel.org>
References: <20230302044606.136130-1-jiamei.xie@arm.com>
 <20230302044606.136130-2-jiamei.xie@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230302044606.136130-2-jiamei.xie@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT066:EE_|SN7PR12MB7131:EE_
X-MS-Office365-Filtering-Correlation-Id: ed1447e6-b0a4-4503-5349-08db1b181541
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Zt+sc+iSDPYHiHv0Ik9lxPB0kNDBNNLMRklDzUFvGP0hDeMSK+M1DRZvSWckSaDgHEVMQsbtHC+ds3D4gQ0SfAcUt1t3jkZgrpGTLtf8UqbIhKJ6/641MpMOlPz5l1EBRcr44EOMo4X/2bE9LX9d7dtl7Z85NvBiaA/3QU82AP3cIMIaxDB7mLqpN37rkE7p77iFXO4R51eHyPzYz3lJYAxfoKR42dPnTiy//D1BR6hGVgj8NpolMQlWcosSOrqqr7BDfeeaa1ayX7IWjLhTab2fU+4RdKxzwL4Q5sTf77y12srWCRblpwbYmq4i2DWNfpH2oKBYCbBN2vkORVshcQaDPhaDwb1J29JYZ1aDn5TaTudwfnMa5evQpvRLRZpUGsQQj/fM1th4hQWUYjWQMDvk3Eu6lvzJD4YcunPaXv3nkTZVMdsx5K0oDS//nOCvFSFo10H4Vg0ELeD3m45vrvpNwhawXxXSL20ioGyxfy0XC+OK3cRk8kSjImDU0NNVHbTKmQGISPmkp4OhIKuBPFngCoGvmgvpDax8w49wXlDrl77XfmViOV8+h1MJFO8yoZ0GhABg7xMU44HBt9kJ6KlSVa68mIAMFkLKLMju/wuyx/KOtTX+5HPt3pY5XUICvsqn4oRCbsjwiq4vgzLy+VT1gte0x2NXGRbgRy5y8HKqyLDfnv5x2Bm+TAVRu+Ueyb9EtTXxM/Js8ML9580hwlT9vFLoqAd6rtFqcjBwt37taOfsG3Wox+VKL2Yt2GXekdRsnaBID2hyEEJZSd1YnQ==
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:(13230025)(4636009)(39860400002)(396003)(376002)(346002)(136003)(451199018)(40470700004)(36840700001)(46966006)(31696002)(82310400005)(81166007)(8936002)(86362001)(336012)(36860700001)(16576012)(41300700001)(5660300002)(70586007)(8676002)(4326008)(40480700001)(70206006)(36756003)(2616005)(44832011)(2906002)(110136005)(316002)(47076005)(54906003)(426003)(31686004)(356005)(53546011)(40460700003)(478600001)(26005)(82740400003)(186003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 12:17:25.2512
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ed1447e6-b0a4-4503-5349-08db1b181541
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:
	BN8NAM11FT066.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7131

Hi Jiamei,

Patch looks good apart from minor comments down below.

On 02/03/2023 05:46, jiamei.xie wrote:
> 
> 
> From: jiamei Xie <jiamei.xie@arm.com>
> 
> Add a new config parameter to configure static heap.
> STATIC_HEAP="baseaddr1 size1 ... baseaddrN sizeN"
> if specified, indicates the host physical address regions
> [baseaddr, baseaddr + size) to be reserved as static heap.
> 
> For instance, STATIC_HEAP="0x50000000 0x30000000", if specified,
> indicates the host memory region starting from paddr 0x50000000
> with a size of 0x30000000 to be reserved as static heap.
> 
> Signed-off-by: jiamei Xie <jiamei.xie@arm.com>
> ---
>  README.md                |  4 ++++
>  scripts/uboot-script-gen | 20 ++++++++++++++++++++
>  2 files changed, 24 insertions(+)
> 
> diff --git a/README.md b/README.md
> index 814a004..787f413 100644
> --- a/README.md
> +++ b/README.md
> @@ -256,6 +256,10 @@ Where:
> 
>  - NUM_CPUPOOLS specifies the number of boot-time cpupools to create.
> 
> +- STATIC_HEAP="baseaddr1 size1 ... baseaddrN sizeN"
> +  if specified, indicates the host physical address regions
> +  [baseaddr, baseaddr + size) to be reserved as static heap.
As this option impacts Xen and not domUs, please call it XEN_STATIC_HEAP and move
it right after XEN_CMD documentation.

> +
>  Then you can invoke uboot-script-gen as follows:
> 
>  ```
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index f07e334..4775293 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -189,6 +189,21 @@ function add_device_tree_static_mem()
>      dt_set "$path" "xen,static-mem" "hex" "${cells[*]}"
>  }
> 
> +function add_device_tree_static_heap()
> +{
> +    local path=$1
> +    local regions=$2
> +    local cells=()
> +    local val
> +
> +    for val in ${regions[@]}
> +    do
> +        cells+=("$(printf "0x%x 0x%x" $(($val >> 32)) $(($val & ((1 << 32) - 1))))")
Please use split_value function instead of opencoding it.
It will then become:
cells+=("$(split_value $val)")

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 12:19:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 12:19:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504902.777340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXhu8-0007In-1n; Thu, 02 Mar 2023 12:19:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504902.777340; Thu, 02 Mar 2023 12:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXhu7-0007Ig-VE; Thu, 02 Mar 2023 12:19:23 +0000
Received: by outflank-mailman (input) for mailman id 504902;
 Thu, 02 Mar 2023 12:19: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=qSkR=62=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXhu6-0007Ia-9D
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 12:19:22 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20620.outbound.protection.outlook.com
 [2a01:111:f400:7d00::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75212c3d-b8f4-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 13:19:19 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7815.eurprd04.prod.outlook.com (2603:10a6:20b:28a::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Thu, 2 Mar
 2023 12:19:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023
 12: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: 75212c3d-b8f4-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UD4KWVh/fyNZFV/h3tWhjtLWeTLLCL2ommuxuM6HddJzPRbUJe/Ye/0D4ilJLp3ctXdvuAMxfHpWnBvpFSsF0J0jSzvy1NzSZxQYyt3juv+Km3BKLeGMhV8vOYcWvc3aGfH0lxH844+lrJOd++XumoIpADCXyP+++K02XxQ3E1NQbUsdxFGwYv07dcGdJopT3bG8kMTSzcjuMqiZp0a/+jmmyF5EGLDOLzAGXwOOYIHhbFzyunJmKnYKl5KhT+O+PdR839Eqr5U19vCfY6D/NP8lGtM/Hwod27GEdKobJdJUqXz44+NCdVrbpikH2OFvvnmgUb7JCZRxhoxrT9il3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FrVEgBlMpRTRt+XXHAZ6F1H9I6+vzH85aLQss1aoQA0=;
 b=afTuEGJ9B9aYhwmafdppd3AVxKq+1QU4IjhYHsYJTq4D/uwnB4f9FnZsgLTYFoWzqdLwtP3QegUz0rCjX860xaRfMWqMzJnncdx+Rwwb/xh7GAGZV9HooDDTV4/EzfCqrfbpMWQEqAEpGec9oAMhxgQmmNFOWIWB4fLbnTp2BuSdZ0gp+0T7jiyV9o4rbXq3yodSgHiQYwJfTbA2+38LXZsswRGtr1W/IvzjATBppbDgTjmC+HECztXMPzVaGPwt5yZ0Kv2HPVFO0oGAU7Tni2FKQjWJNW8D64U8GstnhP6UsaNnrcmekk4emywHcJcBa9BMxk3r2Jd9H99wcyaTpg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FrVEgBlMpRTRt+XXHAZ6F1H9I6+vzH85aLQss1aoQA0=;
 b=kvokg820jKT0WtMDie10FKu7NcLqcZ3T0wWNdYF+zvqLCqvY6EBk9LVpPAUa44ZmPfdtbGs6vZ4D/HsRzYhCBJgkR0FLuAOYKDJJR5qBTldO0MNdTSA6PqJtlJwMzHKNxa7HgIrx4+zQRZ9YUmsgYusOwR+S3vt7R4DObrB2IaxA7b3R0t048brmCEDiQNEs3lzXVQSVL4Fl2iO7zfDQeHAXc48kxYch40L6kTr/OLwrfbmzbPG3KjFkQBfvCWgG2MQLp8VsaeBy0LbzR20/H+PPGCLeAhULY4AOChIAhhwjNCBBeXPGNtPIIdthMt3Mf5YPBR6PJBgeznU+1Gpr/A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5cf8092b-368f-0f99-d898-3cceec91e078@suse.com>
Date: Thu, 2 Mar 2023 13:19:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86emul: support LKGS
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0156.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7815:EE_
X-MS-Office365-Filtering-Correlation-Id: 25a24b25-36fa-491a-5523-08db1b1857f6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	z3eTMR1zFGGysUGQmhOfyNxaiqdV1HnMVb+RojrAD7BCgLLRSycjukBVI5Th+i9ueNWg8chf1EZB3I1BzAnZxkOWE1q7ZonOxCGVgP5y4CO7qxTbmqnwgGpHrabeQQqh5p/71Ds6uYGjJ5qqwUgXh0IVw36jYdZRjrILPSSW2d4Z1GvG467YXFA1yRU+SBqbgUU/sncTko3J/jU6kgHz3WN7GdTnKmlMycFpXAi+8TZPLqlhHOPpS5dYnPc3yLO5nO2JwNn1qapT6QMKNmd9PKj9DXD6HVPk5vJbuG3Mdf/mT+2zJvjuRNkVqTykR1Lxnrm73zrv3D3aJqyaIFaDyeNbtNEevs8DlrMjbLKlBvDNGv+xJ7OqlrD3ycIUoVyKK8buZZE0gBYThPLh8gh77bo8vPraK2A7LWkvZNvmCCRtTrdt7X5HZRmqwSRWf7aomGJB1GhM6jJudpIy+pGtt0/jHli/EkMWm32Rkhs1RPSVbvFde2X3R+yknw4cExMDGSK+tmiFQXlFTjDd26RuoESciR6q/nWA+VgXC15edE5Rhy+WYACDDBPMTIAW/JhGLlY7BIYJ6VIh8NBy28Fa4XG1LvqwXJwptu8hqCIJP3o7MnJ/+FK7dbIfk903zrHpp0LKrimgKoatPbg9lP0IvaLPxcluErUu1wIPAxZ/TUNyf3j+mj23sR+/Rt32kuxlmXHPOUsX/qPgpVPJETxpLr13wryqE0zHXzkQ4BR8iYw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(136003)(39860400002)(396003)(346002)(366004)(451199018)(31686004)(66946007)(83380400001)(478600001)(316002)(54906003)(36756003)(4326008)(31696002)(6916009)(8676002)(38100700002)(6512007)(6506007)(26005)(186003)(2616005)(6486002)(66556008)(66476007)(5660300002)(86362001)(8936002)(2906002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NS9td3hsc2dGNU9uZnFFUFFxVkUwcDNXY0k5VGVZOHNXcEhuV3hYT1pDTHov?=
 =?utf-8?B?QnlTTXJncUdZeGwwaWdSbmVSendnNmNzWmJjeHByRlZzTi9KZWpybVk0Sk1N?=
 =?utf-8?B?THhUNkxVZHR3WC8vcy81bnVTUDI3TURuMnR3WkxoNVB3NDBwcnNuUXRGNkhw?=
 =?utf-8?B?N1ZTanJ1YnRaRVBES3ZBdXBpbjVBbGFXN29RY2N5Tm9oUERkbFI4czBlRHRI?=
 =?utf-8?B?OGFTcisxVldvMktMNWZ3YlA4ajhQeFVXNUF5anZwdzVuTngvSHVhdGRiZU45?=
 =?utf-8?B?anlUQXZxdXpVeVp4OVdIMjU5SkhZbXNXelFldUdRMHBGRmVSYzRYN0Roejh3?=
 =?utf-8?B?blYwQUJleE5OalhIZ3RlbVlLeGRsTDNpS2ZFc3ZsYUE1QWdBakdtNDcrRmM5?=
 =?utf-8?B?dG9IeHRkem1TM3ZNbUpGRTMrVU90ci9iOGZMVTlvRW13VnUxTm9aTGVBVjdS?=
 =?utf-8?B?ZXdRS3BwcXc4aXlyK01mM0JuSDRtWkxrSElZQ3orUHlTWUEyMjVsSEZ4N3hV?=
 =?utf-8?B?TDlBN3h2Qld1SnY4ODM4b3BkZGpmRm8yRi9uYVhVOFd3RmhZVGR4VUhHYlhS?=
 =?utf-8?B?WEVKY055Z2F3NUR6amN0Y0lVN0tTYkpxaXpMSVNBWVIybWJpd1IwNDRPRE0r?=
 =?utf-8?B?aFBFdm56dlFxV1V4QTBwSVM2T2dveVhDelVjcFEvODRJelVPRmU4K3B1NGpu?=
 =?utf-8?B?L0Z6Y0pVR3k2WGJ1UFFxc2Zhc202aWxVUm10L0pjeTdySnE0cS9DUER2WlZS?=
 =?utf-8?B?bWpGS012enlTQnVIL01IaUVsWVFva1ZaSkt2QkVPSnBUVjQ2NEZrQXN2dFND?=
 =?utf-8?B?TVcvN25DWkF3eVZXejMvamhjZE4zQlcrRmw3ODRIeHg1Q0phTTBlWVFLZ1Bi?=
 =?utf-8?B?eXNmRitjWnJselVseHhWVDdmZTVYOE1FaVg2WThxbmExZE1ndnZNZjI2VFo4?=
 =?utf-8?B?TDc2d29SK0pNK2t5NUhsZWJOMmE0aGNNQW1yV3BqYXVheW5LRnEzSC9GQzBH?=
 =?utf-8?B?R3BzVklxSENabFAwcUhaMDN3N1VGb1p2Nk9JQngxRG9UcTBVanpkSjk5NFpq?=
 =?utf-8?B?aGZsMk4zTUZFREN0R0JVZCtWeXhEWkxsaUptRUc3SjBadnRRZXFzMEgyWm13?=
 =?utf-8?B?TExHdVdDZ2ZwT1Vza21Ya0VoY0V4ZWcvYllNWlFOekcyN1Q0VGh1K2VPZG4z?=
 =?utf-8?B?eGtVVW5LYUZJcDIwZm9KZ3NJVWltczBVSWV1cGsweVhsR3hnNVNFcTI3OWdW?=
 =?utf-8?B?U3pkWDhRaE5qVjJIOHpNdkVhMllQbUE4Tmo4ZVN3NHVGeWhDd0Z5dmJQSkZI?=
 =?utf-8?B?WVhud2M3cHZaZ3cwRlYzOS9TNW1oQUdUcUhnV3JkZHlIMC8ya0pONWNkaTly?=
 =?utf-8?B?NUphUllsQXVuMjJHMXFFTFN2UkF2eHRZcm11ZUJjTisySlVKV2Rka3FkVlV3?=
 =?utf-8?B?WVlpMXBpMG0xTWtkMDR4ckFkZVFGN1pUTmVJZ0JsMC8vL1AwLzZudE5lREJD?=
 =?utf-8?B?ZlhQY3ZrODN4MUcrLzV6djhkQzR2ejNWVGMyZGxwOFQrMGZhUXdOZU9LVG1B?=
 =?utf-8?B?UkRvVzc3U1IvWWdEWm5DS3liMWw2S0U3YlljdFVNUmdsdU5vN3FOYlpiVkRu?=
 =?utf-8?B?ZFM1UjNHMzM2YWNiOFl6dTZtRjh5LzM0SURsVUlPNXUxcWVqK3JkaFJHMU1B?=
 =?utf-8?B?MXV4Y1NFaG8zLzM3UFhGeER2dGljUUhHN0VGY3Y2TU1qRzFiNjdNRTdrWDFY?=
 =?utf-8?B?VDJaNTRJR1ppMnhxL0FwcGFPTmpKK2lJamRkcktKRlNWT3BTRHAxSEg3ZDBT?=
 =?utf-8?B?K3lzTWRybGd1dXpuSWlLTURvUXpSbkQvNlBnUlZYY0w4cWpXcW94Z1V5ZTNH?=
 =?utf-8?B?QWdub0ZwbWY2eklXdkE4cmdYcFplMWZKSWh0VVNVQ2s2Z2Z2MGQ1UFVvNEF2?=
 =?utf-8?B?bjRSMFFzbmhZSnNKQktzQlJ2NG1NS0xTaXpiVFJWNmR1dExjdVNYZUpjQ1dZ?=
 =?utf-8?B?d1o4NlQyNEhPMEpLT1RPREJPQis3THB0YzdQYWUyR0VVaFUxMU9nY3dmaXlh?=
 =?utf-8?B?aVJQT2YrQXd0Z1huOWxhZTNrbElRSmd2NFdEc3BPRkp6aTBBZjlNS3l5WlBq?=
 =?utf-8?Q?pZAhzDzbY2xrIK86e97J++2PP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 25a24b25-36fa-491a-5523-08db1b1857f6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 12:19:17.3389
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 57VOU8WlMbIZECb2jJFSctbQBdutiJHFBYOauW7IpY25gPqbtBaMxKlgbE5v/QjFzvTxJGwJCs51UYVcm9kLIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7815

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>
---
Since I was asked to post this work, I've rebased it ahead of most other
emulator work I have pending, _except_ "x86emul: a few small steps
towards disintegration".

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).

--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -235,6 +235,8 @@ int libxl_cpuid_parse_config(libxl_cpuid
         {"fzrm",         0x00000007,  1, CPUID_REG_EAX, 10,  1},
         {"fsrs",         0x00000007,  1, CPUID_REG_EAX, 11,  1},
         {"fsrcs",        0x00000007,  1, CPUID_REG_EAX, 12,  1},
+        {"fred",         0x00000007,  1, CPUID_REG_EAX, 17,  1},
+        {"lkgs",         0x00000007,  1, CPUID_REG_EAX, 18,  1},
         {"wrmsrns",      0x00000007,  1, CPUID_REG_EAX, 19,  1},
 
         {"cet-sss",      0x00000007,  1, CPUID_REG_EDX, 18,  1},
--- 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",
 };
 
 static const char *const str_e21a[32] =
--- 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
@@ -666,6 +666,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,
@@ -675,8 +679,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,
@@ -689,6 +715,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;
@@ -698,6 +738,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
 
@@ -1331,6 +1396,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.extd.clzero = true;
 
     if ( cpu_has_xsave )
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -744,8 +744,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
@@ -593,6 +593,7 @@ amd_like(const struct x86_emulate_ctxt *
 #define vcpu_has_tsxldtrk()    (ctxt->cpuid->feat.tsxldtrk)
 #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_must_have(feat) \
     generate_exception_if(!vcpu_has_##feat(), X86_EXC_UD)
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -2890,8 +2890,31 @@ x86_emulate(
                 break;
             }
             break;
-        default:
-            generate_exception_if(true, EXC_UD);
+        case 6: /* lkgs */
+            generate_exception_if((modrm_reg & 1) || vex.pfx != vex_f2, EXC_UD);
+            generate_exception_if(!mode_64bit() || !mode_ring0(), 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;
+            if ( (rc = protmode_load_seg(x86_seg_gs, src.val, false, &sreg,
+                                         ctxt, ops)) != X86EMUL_OKAY ||
+                 (rc = ops->write_msr(MSR_SHADOW_GS_BASE, sreg.base,
+                                      ctxt)) != X86EMUL_OKAY )
+                goto done;
+            sreg.base = dst.orig_val;
+            if ( (rc = ops->write_segment(x86_seg_gs, &sreg,
+                                          ctxt)) != X86EMUL_OKAY )
+            {
+                /* Best effort unwind (i.e. no error checking). */
+                ops->write_msr(MSR_SHADOW_GS_BASE, msr_val, ctxt);
+                goto done;
+            }
             break;
         }
         break;
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -281,6 +281,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) /*   WRMSR Non-Serialising */
 
 /* AMD-defined CPU features, CPUID level 0x80000021.eax, word 11 */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -295,6 +295,9 @@ def crunch_numbers(state):
 
         # In principle the TSXLDTRK insns could also be considered independent.
         RTM: [TSXLDTRK],
+
+        # FRED builds on the LKGS instruction.
+        LKGS: [FRED],
     }
 
     deep_features = tuple(sorted(deps.keys()))


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 12:20:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 12:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504908.777349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXhuu-0000BV-At; Thu, 02 Mar 2023 12:20:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504908.777349; Thu, 02 Mar 2023 12: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 1pXhuu-0000BO-8J; Thu, 02 Mar 2023 12:20:12 +0000
Received: by outflank-mailman (input) for mailman id 504908;
 Thu, 02 Mar 2023 12: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=riJh=62=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1pXhuj-0007lN-3K
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 12:20:11 +0000
Received: from mail.skyhub.de (mail.skyhub.de [5.9.137.197])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c818755-b8f4-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 13:19:59 +0100 (CET)
Received: from zn.tnic (p5de8e9fe.dip0.t-ipconnect.de [93.232.233.254])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id E292B1EC04F0;
 Thu,  2 Mar 2023 13:19: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: 8c818755-b8f4-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim;
	t=1677759598;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:in-reply-to:in-reply-to:  references:references;
	bh=EXqRPO+1UJ/Jugo4uZb8s1y5eA/PT9L+UzCFhY6JB88=;
	b=BDkuvwlB34QQjIUo59EDVmj7oKCVncxfi5b5gZ5JgkhU3aIBDgDeTmJNn7jbJHW3znTvCf
	YFoHuKLNQrQyliq8pTOmjR9MRkIeF/W/wjuynsx9rHark059JR7Yp19Rw8Aocd30uUMCn6
	EDHphDviZmnnExDRi0VvwD18ImB95dQ=
Date: Thu, 2 Mar 2023 13:19:52 +0100
From: Borislav Petkov <bp@alien8.de>
To: Rick Edgecombe <rick.p.edgecombe@intel.com>
Cc: x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-mm@kvack.org,
	linux-arch@vger.kernel.org, linux-api@vger.kernel.org,
	Arnd Bergmann <arnd@arndb.de>, Andy Lutomirski <luto@kernel.org>,
	Balbir Singh <bsingharora@gmail.com>,
	Cyrill Gorcunov <gorcunov@gmail.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Eugene Syromiatnikov <esyr@redhat.com>,
	Florian Weimer <fweimer@redhat.com>,
	"H . J . Lu" <hjl.tools@gmail.com>, Jann Horn <jannh@google.com>,
	Jonathan Corbet <corbet@lwn.net>, Kees Cook <keescook@chromium.org>,
	Mike Kravetz <mike.kravetz@oracle.com>,
	Nadav Amit <nadav.amit@gmail.com>, Oleg Nesterov <oleg@redhat.com>,
	Pavel Machek <pavel@ucw.cz>, Peter Zijlstra <peterz@infradead.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Weijiang Yang <weijiang.yang@intel.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	John Allen <john.allen@amd.com>, kcc@google.com, eranian@google.com,
	rppt@kernel.org, jamorris@linux.microsoft.com,
	dethoma@microsoft.com, akpm@linux-foundation.org,
	Andrew.Cooper3@citrix.com, christina.schimpe@intel.com,
	david@redhat.com, debug@rivosinc.com, linux-alpha@vger.kernel.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org, linux-ia64@vger.kernel.org,
	loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org,
	Michal Simek <monstr@monstr.eu>, Dinh Nguyen <dinguyen@kernel.org>,
	linux-mips@vger.kernel.org, linux-openrisc@vger.kernel.org,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v7 13/41] mm: Make pte_mkwrite() take a VMA
Message-ID: <ZACUaN0NRNXMwkT2@zn.tnic>
References: <20230227222957.24501-1-rick.p.edgecombe@intel.com>
 <20230227222957.24501-14-rick.p.edgecombe@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230227222957.24501-14-rick.p.edgecombe@intel.com>

On Mon, Feb 27, 2023 at 02:29:29PM -0800, Rick Edgecombe wrote:
> [0] https://lore.kernel.org/lkml/0e29a2d0-08d8-bcd6-ff26-4bea0e4037b0@redhat.com/#t

I guess that sub-thread about how you arrived at this "pass a VMA"
decision should be in the Link tag. But that's for the committer, I'd
say.

Thx.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 12:51:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 12:51:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504915.777359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXiP2-0004NA-OI; Thu, 02 Mar 2023 12:51:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504915.777359; Thu, 02 Mar 2023 12: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 1pXiP2-0004N3-Ld; Thu, 02 Mar 2023 12:51:20 +0000
Received: by outflank-mailman (input) for mailman id 504915;
 Thu, 02 Mar 2023 12:51: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 1pXiP1-0004Mx-L2
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 12:51: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 1pXiOx-0000iE-Fx; Thu, 02 Mar 2023 12:51:15 +0000
Received: from [15.248.2.148] (helo=[10.24.67.20])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pXiOx-0006G0-AR; Thu, 02 Mar 2023 12:51:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=hi9+gQYfUO0KmeK6n2NeKErt/KbOrlAULOXRqf6HaLk=; b=LW8EbIzKSRxPJn8cpJdOHx+k+5
	nMoatB9KysNg/Avy0fZittFjCmRBjF+MM+4PUCIFL5W+m54S3iVzxk5fg+apVSTZpMcfvUKwSz/d5
	D7ygHCOxVQG552z0JfrsfC+uJxTb0LHQo7DGmc3ftKCzUglXSWUD+ymp4At9Uoz77xW0=;
Message-ID: <27d8bd98-1c71-61d4-e22e-159e01542151@xen.org>
Date: Thu, 2 Mar 2023 12:51:12 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/arm: align *(.proc.info) in the linker script
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com>
 <370809af-75e6-546a-53e4-71a76444f367@xen.org>
 <a9c2638cd8620d74ec719845132ef65f08b4c934.camel@gmail.com>
 <cf15b113-ac6f-e115-6c38-38b25a265934@xen.org>
 <f2f6544a-a59e-2e10-0b8f-080f91708459@xen.org>
 <9e34f587-d42d-3709-9c64-b5e50afdd046@suse.com>
 <7e69d61b-60ca-b93a-36d3-77a1a3e550ec@xen.org>
 <0c401165-6057-2a4c-249a-be877741180b@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <0c401165-6057-2a4c-249a-be877741180b@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 02/03/2023 11:21, Jan Beulich wrote:
> On 02.03.2023 12:01, Julien Grall wrote:
>> On 02/03/2023 09:45, Jan Beulich wrote:
>>> On 01.03.2023 21:38, Julien Grall wrote:
>>>> I managed to reproduce it. It looks like that after your bug patch,
>>>> *(.rodata.*) will not be end on a 4-byte boundary. Before your patch,
>>>> all the messages will be in .rodata.str. Now they are in .bug_frames.*,
>>>> so there some difference in .rodata.*.
>>>
>>> Strings in .bug_frames.*? This sounds like a mistake, which - if indeed
>>> the case - will want investigating before the conversion series is
>>> actually considered for committing.
>>
>> No. I misread the code. But there are definitely a difference in size:
>>
>> Before:
>>
>> Section Headers:
>>     [Nr] Name              Type            Addr     Off    Size   ES Flg
>> Lk Inf Al
>>     [ 0]                   NULL            00000000 000000 000000 00
>> 0   0  0
>>     [ 1] .text             PROGBITS        00200000 008000 07e7a8 00 WAX
>> 0   0 32
>>     [ 2] .rodata           PROGBITS        0027f000 087000 02acc8 00   A
>> 0   0 16
>> [...]
>> After:
>>
>>     [Nr] Name              Type            Addr     Off    Size   ES Flg
>> Lk Inf Al
>>     [ 0]                   NULL            00000000 000000 000000 00
>> 0   0  0
>>     [ 1] .text             PROGBITS        00200000 008000 07e670 00 WAX
>> 0   0 32
>>     [ 2] .rodata           PROGBITS        0027f000 087000 02b3e8 00   A
>> 0   0 16
> 
> I still find this concerning (as in: at least needing explanation), as
> the bug frame representation shrinks in size: Entries for assertions
> remain to be 4 ".long"-s, while all other entries use only two now. So
> in a release build the size of all .bug_frame.* together should halve,
> while in debug builds it should shrink at least some. And Oleksii's
> series doesn't add meaningful other contributions to .rodata, iirc.

Doh, I inverted the two tables. So .rodata is shrinking but .txt is 
slightly increasing.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 13:23:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 13:23:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504921.777370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXiuA-0008Qv-53; Thu, 02 Mar 2023 13:23:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504921.777370; Thu, 02 Mar 2023 13:23: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 1pXiuA-0008Qo-2I; Thu, 02 Mar 2023 13:23:30 +0000
Received: by outflank-mailman (input) for mailman id 504921;
 Thu, 02 Mar 2023 13:23: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=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXiu8-0008Qd-V4
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 13:23:29 +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 698b6cdc-b8fd-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 14:23:26 +0100 (CET)
Received: by mail-lj1-x229.google.com with SMTP id t14so17578755ljd.5
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 05:23:25 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 s8-20020a05651c048800b00290679ebac1sm2109551ljc.9.2023.03.02.05.23.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 05: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: 698b6cdc-b8fd-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677763405;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=r54OMOhW88QqcfBk7WQqFpi2G04PCGrALjff0dQs4W4=;
        b=CkFoCC6UYBLofYUgLsdXk2M53Tnc30hPp9uSKjziOo0o49mhDqUhpevAVmfR9PRbBb
         Q0KwL20RwFzcnuChF78uvhMW+Ug/2sAS6qwypcBpKlgbZCKAWZEqsmTt90vJ8ck5Axko
         f9AOKkQk+oDSTl0+IyKcTI6RUrI02GFh6LDb9GNZh0lUiU7i/UVg1yGqTBH1xgXiboIC
         ZDXmqtuqKBG3GJ0bykvuGg881NImob1CalHGifb978KHn11VNKurqHaP/geBHAzrw4eW
         UpMIakYhID2CoTDXgqMxuEEKL/BURqynn8tZZ+RkYQ7L0dmvDQvV3YZh7ymJyDgrXxoO
         1hjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677763405;
        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=r54OMOhW88QqcfBk7WQqFpi2G04PCGrALjff0dQs4W4=;
        b=QWbBeIqXpLrBmOqrjgOSuopO5AB9SUk/s3mVA4yG2BEEXLbecyt2qPcL/IsUjpQgdM
         d/1uyNC1cDOzO4LgZJV8+uxYRO77mzMDn1rDC2k50oGKYV1z8egLj3m3hdRIh0B+yloT
         agO8Jwv2PMPrn3x0I4UT3PbUxKhmMMMtFHEDQ7eHAOJH+f+p+Y/0fVTBpaC3wKKV2wzk
         sS+/Orn858iKNG1cVevuZFR5jM5TyEzvUg5KomKdo1GSgM/FL5Nll+gbNeb3Zcd9GekP
         YSbLmFR6LcIk3/zHris6muJ3WK45TsfwyvbDyJLoR/Pr415Su9JwvyoRMy356r1PH8nx
         OdcQ==
X-Gm-Message-State: AO0yUKUsO6F1kUt/TMPbj5TjMOpGc3rfuuqUDyMWBtFpYzsdhFdCOMsU
	sWnM2MvPFkpo15YAVhbSNkC8Edx23Xw=
X-Google-Smtp-Source: AK7set8xx+VVqPcSxKQZX0cI/xrBqy9FioTJTaXFF8ais5noatS9ErlTStdhsqBeu/sZcXO14ItHDA==
X-Received: by 2002:a05:651c:b24:b0:295:d633:7401 with SMTP id b36-20020a05651c0b2400b00295d6337401mr2423400ljr.47.1677763404836;
        Thu, 02 Mar 2023 05:23:24 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 0/3] Do basic initialization things
Date: Thu,  2 Mar 2023 15:23:17 +0200
Message-Id: <cover.1677762812.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch series groups and updates the following patches:
1. xen/riscv: disable fpu
2. xen/riscv: initialize .bss section
3. xen/riscv: read/save hart_id and dtb_base passed by bootloader

---
Changes since v1:
 * initialization of .bss was moved to head.S
 * read/save/pass of hart_id and  dtb_base passed by a bootloader
   were moved to head.S. Also, it was updated start_xen() arguments
   to recieve hard_id & dtb_base
---

Oleksii Kurochko (3):
  xen/riscv: read/save hart_id and dtb_base passed by bootloader
  xen/riscv: initialize .bss section
  xen/riscv: disable fpu

 xen/arch/riscv/include/asm/asm.h |  4 ++++
 xen/arch/riscv/riscv64/head.S    | 33 ++++++++++++++++++++++++++++++++
 xen/arch/riscv/setup.c           | 11 ++++++++++-
 3 files changed, 47 insertions(+), 1 deletion(-)

-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 13:23:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 13:23:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504922.777376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXiuA-0008UL-Eu; Thu, 02 Mar 2023 13:23:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504922.777376; Thu, 02 Mar 2023 13:23: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 1pXiuA-0008TH-8e; Thu, 02 Mar 2023 13:23:30 +0000
Received: by outflank-mailman (input) for mailman id 504922;
 Thu, 02 Mar 2023 13:23: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=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXiu9-0008Qd-Dk
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 13:23:29 +0000
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [2a00:1450:4864:20::22e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a480313-b8fd-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 14:23:26 +0100 (CET)
Received: by mail-lj1-x22e.google.com with SMTP id t14so17578814ljd.5
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 05:23:26 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 s8-20020a05651c048800b00290679ebac1sm2109551ljc.9.2023.03.02.05.23.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 05:23: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: 6a480313-b8fd-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677763406;
        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=qrA0iYFCR4ncdpexRkMJ+7MgkO9AgTh8mz6kQeU8h+o=;
        b=AjsUzrH84OxVO8RIOWzgeLAumthUbfkJTRGXH9QgOM04DUyXL8Bu/z0aM2yYZ5ARDd
         nuJ29lbO39yywp/bKKMsG72zud/brTiOP/jZODaw7zo5+nghlqWKvyxHFowACD3zwMp4
         tmIgQFVrgBmypuafzS1Mgtz3FaQbN9ElRqB1tOAn6SUHuazbvwiBuHeHme0aVSZzdJPn
         40vbTVDS2f0/5G6RD6/fEdF9Rf0A5n2uac2WFpwvjArWRyLF3emy9usYkdVtACUaWCZW
         c5aYzmPNmEUBSyQGaZw2uTp0Yyn3K+Gihg5jtB0ch7snHDMBT0eSKgkV7m8FY4iTx1Yk
         SGxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677763406;
        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=qrA0iYFCR4ncdpexRkMJ+7MgkO9AgTh8mz6kQeU8h+o=;
        b=71g7sYaei5SkeBK8blC7yDz3Tfk8OCDAYqPqPwF3babGKax3f5pAJPBSrHTxrbZoHy
         dm7Rd4917/TTMKeD9LWaLzMbwrXQGWj7zwGf95F8/PjJsiFnj3DiS3QOxwVmL1xjhDBO
         cwmeHduaDJcYPdbH1/xchHhvwTA4Co7wsuejHWCw1obdXMVPkQnAKP++KZuqpma/y8B7
         h8EdY+3UR0JE/ww5cZPTHdEe3nmit2Hlpvqvi5X/7wGVUpjY4GQWQx5sLPJ82CwH/J/d
         kAIfAot+iA3Ni+u8eGNNbOdKJ8RYXyvjmDAambX/1dpzOfgvG4aew7LEZ4MDytlHwIZr
         n0Dg==
X-Gm-Message-State: AO0yUKWJKvnGQ9lfkBUf6RGLlYFf111eB+uqQDyTY1sKA84TGpFBzsVL
	hoF8xzKzE+aOnO5Uo8/tzBXUVB2U2UY=
X-Google-Smtp-Source: AK7set+8wFX5A2EYqKw+8A7DbB1spXHihKRDg6dn1++XEl/b6f6lpLTLXFNYNt1l5kSZCqjsJBtxvQ==
X-Received: by 2002:a2e:b0d3:0:b0:295:b2f0:a858 with SMTP id g19-20020a2eb0d3000000b00295b2f0a858mr2852131ljl.10.1677763406277;
        Thu, 02 Mar 2023 05:23:26 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 1/3] xen/riscv: read/save hart_id and dtb_base passed by bootloader
Date: Thu,  2 Mar 2023 15:23:18 +0200
Message-Id: <3edbb40e86e480b2b71d596ff61c05336004b14c.1677762812.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677762812.git.oleksii.kurochko@gmail.com>
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes since v1:
 * read/save/pass of hart_id and  dtb_base passed by a bootloader
   were moved to head.S. 
 * Update start_xen() to recieve hard_id & dtb_base
---
 xen/arch/riscv/riscv64/head.S | 24 ++++++++++++++++++++++++
 xen/arch/riscv/setup.c        |  3 ++-
 2 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index ffd95f9f89..851b4691a5 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -1,3 +1,4 @@
+#include <asm/asm.h>
 #include <asm/riscv_encoding.h>
 
         .section .text.header, "ax", %progbits
@@ -6,8 +7,31 @@ ENTRY(start)
         /* Mask all interrupts */
         csrw    CSR_SIE, zero
 
+        /* Save HART ID and DTB base */
+        lla     a6, _bootcpu_id
+        REG_S   a0, (a6)
+        lla     a6, _dtb_base
+        REG_S   a1, (a6)
+
         la      sp, cpu0_boot_stack
         li      t0, STACK_SIZE
         add     sp, sp, t0
 
+        lla     a6, _bootcpu_id
+        REG_L   a0, (a6)
+        lla     a6, _dtb_base
+        REG_L   a1, (a6)
+
         tail    start_xen
+
+        /*
+         * Boot cpu id is passed by a bootloader
+         */
+_bootcpu_id:
+        RISCV_PTR 0x0
+
+        /*
+         * DTB base is passed by a bootloader
+         */
+_dtb_base:
+        RISCV_PTR 0x0
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 1c87899e8e..d9723fe1c0 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -7,7 +7,8 @@
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
     __aligned(STACK_SIZE);
 
-void __init noreturn start_xen(void)
+void __init noreturn start_xen(unsigned long bootcpu_id,
+                               unsigned long dtb_base)
 {
     early_printk("Hello from C env\n");
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 13:23:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 13:23:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504924.777399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXiuC-0000jP-QO; Thu, 02 Mar 2023 13:23:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504924.777399; Thu, 02 Mar 2023 13:23:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXiuC-0000jI-Ng; Thu, 02 Mar 2023 13:23:32 +0000
Received: by outflank-mailman (input) for mailman id 504924;
 Thu, 02 Mar 2023 13:23:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXiuB-0008Qd-F8
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 13:23: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 6c241d3d-b8fd-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 14:23:29 +0100 (CET)
Received: by mail-lj1-x230.google.com with SMTP id j17so17539071ljq.11
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 05:23:30 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 s8-20020a05651c048800b00290679ebac1sm2109551ljc.9.2023.03.02.05.23.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 05:23: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: 6c241d3d-b8fd-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677763409;
        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=g8MaW6bU1cbVIh9lyUx2jnADjWazCTCDdecZrd3onsY=;
        b=N2oonot0HbSfj0KLZHIlG8/Ef4uXJfhbDIqmYh6UQhCqZFQfjlCq1+l8hsMV5gyb0T
         PqCrc3dHg7seaDgB5Kwz0diWaMzEy+F/tAOV03lZyR7cZpKRRAZmMXxn0x4Vo7n8EXmp
         JBeomU3BM9IOulJD6e5ncwg5OXQUJnOKWqAcJ5fUIBLabSZYF5/XJ/qfq0IEG7t77CHr
         ecfv07jzC5DGS7W+s6FhY5zzaXqH/S4YKtQnMpZhistDtbvdCxhrbEvVMLqrqoqJX1mH
         jrBh6J+FRXSFE+iwJlb+3OYV65Z2g8Ce1cjBsPAPJNSXhXrYYVgad4gM6XB0Rb3U2NZm
         4sHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677763409;
        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=g8MaW6bU1cbVIh9lyUx2jnADjWazCTCDdecZrd3onsY=;
        b=aBoCo2fM/PH43DvVeozQ6rr9TictXdoxXpMV/pS1pIhmIJWzaKy60AiLegcKgBZ+Qd
         zK2wdaCm5S+9IKOKKCKMowvoFYRKB3pjmXnW8Vr812fdzbu+czWitVacxl6fnyxjc9DH
         5dGfJzkBJFPfwIda7AS838+MylmmTxto4/Sl4+tlq/pkWdRPbRug2KgTF8eir/Gty43X
         X3R116sZKwLx3DjE1LkhbOpx+rjLOikFY8HqutTeTuxvKaAGWDEn9GTEJvJP7i1XTqr/
         I9SF82NFmlXGzkqaW9poJZVnZ0jUOzLImelRZ36G53OUx/0DRb1rqAkAFImt7BnJS7Je
         sGXQ==
X-Gm-Message-State: AO0yUKU4NkIR4+6wE8BMCeOoSOfxzqLG2VciLFgYw+tDTmUaifBb3hYQ
	ctSMAMpl93l6njPZcbTiESbAO3YJTD4=
X-Google-Smtp-Source: AK7set+Pl1tPpShibOMgKeLVaLNrRDdLBx4Hz7FkN7FO99uaWL2VCOe8CKd0uFc1W14fnXWEfXw0Zg==
X-Received: by 2002:a05:651c:cb:b0:290:6d3b:79dd with SMTP id 11-20020a05651c00cb00b002906d3b79ddmr2945347ljr.20.1677763409433;
        Thu, 02 Mar 2023 05:23:29 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 3/3] xen/riscv: disable fpu
Date: Thu,  2 Mar 2023 15:23:20 +0200
Message-Id: <f9bed949656462e9eb9554dc5e0dcccdd722b9cd.1677762812.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677762812.git.oleksii.kurochko@gmail.com>
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Disable FPU to detect illegal usage of floating point in kernel
space.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes since v1:
 * Rebase on top of two previous patches.
---
 xen/arch/riscv/setup.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index d9723fe1c0..23d60ed7f0 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -1,15 +1,23 @@
 #include <xen/compile.h>
 #include <xen/init.h>
 
+#include <asm/csr.h>
 #include <asm/early_printk.h>
 
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
     __aligned(STACK_SIZE);
 
+static void __init disable_fpu(void)
+{
+    csr_write(CSR_SSTATUS, SSTATUS_FS);
+}
+
 void __init noreturn start_xen(unsigned long bootcpu_id,
                                unsigned long dtb_base)
 {
+    disable_fpu();
+
     early_printk("Hello from C env\n");
 
     early_printk("All set up\n");
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 13:23:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 13:23:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504923.777389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXiuB-0000U7-Iz; Thu, 02 Mar 2023 13:23:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504923.777389; Thu, 02 Mar 2023 13: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 1pXiuB-0000U0-GM; Thu, 02 Mar 2023 13:23:31 +0000
Received: by outflank-mailman (input) for mailman id 504923;
 Thu, 02 Mar 2023 13:23: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=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXiuA-0008Qd-Dq
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 13:23:30 +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 6b38479c-b8fd-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 14:23:28 +0100 (CET)
Received: by mail-lj1-x22c.google.com with SMTP id y14so17583480ljq.4
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 05:23:28 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 s8-20020a05651c048800b00290679ebac1sm2109551ljc.9.2023.03.02.05.23.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 05:23: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: 6b38479c-b8fd-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677763408;
        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=IcGex5in4thV+OlZrwNvKuJkjY8dPXTKwAgZbk5Bkbk=;
        b=EhuIONdNarO4l8MGOsL1rPZ5xLfOd0ik+8zpXehgJjsP4X7Df4xTErTzxcjh4uNyzx
         cKOpX0h6LrwPH88eUbWXvR+TYgZ4RwkxmHJWeDeQeBXs91xRVp0qI1DCdVa7VEXZIp6/
         nPMyaVPk7Nztml/KeJQ6I3Y6VBRxPtahCCC/dZRQTNEIEUIa7mNOIFv5zH5vaGwEswx4
         Tdw2cu00ecBaEZv9m3kjFEiktIQLfNXEBFTQ7zpej3oQLJkvna4j4OaXB8L3xVvMrQDG
         jMV+H75aEK8bxjnahDSF1wLzp08+NacHx+4xZbXPDWuo9FV0/xGLPqBqzMScEA0lO2S1
         19tA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677763408;
        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=IcGex5in4thV+OlZrwNvKuJkjY8dPXTKwAgZbk5Bkbk=;
        b=SLSRT4ormkqG4J+2B2u9l5Uppk/7C4LCGqnHXe0k7xzNBUvfeLbWy7sRW3XqJOQU5A
         6DVevH15OX22CfHEMoEQgdaQC7HiniebAwblRSpMtUFFQjI3wIb3f8QhaU+anXiE9+Kv
         Tnh/wxI8eg1uh+7kjpNT0YC+tpFyPIgrQS3KtCrf/0bbV8/3C/2+spY6Azfxtw/YUjn3
         w95smUiL0wCQOHjFM7nK9EcqUEpQgWcvq8sGaeLAi7r8Dvf82eYrIhaw/rErrTSSiQaj
         KrWUQnkr31LSMIDtu7TYLxPITQhSK0xy6MFvB1KbXaZERpkLSgZ2ig/gi7ht+abrLwOf
         OJMQ==
X-Gm-Message-State: AO0yUKXJWtuUVmzWBF0oMRuHZWPk8696zE25RfSkF9bRFc2FPqTL3DEc
	N7eyEJXQ2MUCYAjJ1Z00BKNeqmrUAm4=
X-Google-Smtp-Source: AK7set/FrsS26xxLZ/uLPuGuy47aOWDBW+J+JZWvWpCNMiDAmCb0p0n3PqX6Edy2RQanmMbTuHUlMA==
X-Received: by 2002:a2e:8048:0:b0:295:c399:686 with SMTP id p8-20020a2e8048000000b00295c3990686mr2976784ljg.13.1677763407706;
        Thu, 02 Mar 2023 05:23:27 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 2/3] xen/riscv: initialize .bss section
Date: Thu,  2 Mar 2023 15:23:19 +0200
Message-Id: <495bd1d7fc2becdd48bd00253c079971e2231e99.1677762812.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677762812.git.oleksii.kurochko@gmail.com>
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes since v1:
 * initialization of .bss was moved to head.S
---
 xen/arch/riscv/include/asm/asm.h | 4 ++++
 xen/arch/riscv/riscv64/head.S    | 9 +++++++++
 2 files changed, 13 insertions(+)

diff --git a/xen/arch/riscv/include/asm/asm.h b/xen/arch/riscv/include/asm/asm.h
index 6d426ecea7..5208529cb4 100644
--- a/xen/arch/riscv/include/asm/asm.h
+++ b/xen/arch/riscv/include/asm/asm.h
@@ -26,14 +26,18 @@
 #if __SIZEOF_POINTER__ == 8
 #ifdef __ASSEMBLY__
 #define RISCV_PTR		.dword
+#define RISCV_SZPTR		8
 #else
 #define RISCV_PTR		".dword"
+#define RISCV_SZPTR		8
 #endif
 #elif __SIZEOF_POINTER__ == 4
 #ifdef __ASSEMBLY__
 #define RISCV_PTR		.word
+#define RISCV_SZPTR		4
 #else
 #define RISCV_PTR		".word"
+#define RISCV_SZPTR		4
 #endif
 #else
 #error "Unexpected __SIZEOF_POINTER__"
diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index 851b4691a5..b139976b7a 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -13,6 +13,15 @@ ENTRY(start)
         lla     a6, _dtb_base
         REG_S   a1, (a6)
 
+        la      a3, __bss_start
+        la      a4, __bss_end
+        ble     a4, a3, clear_bss_done
+clear_bss:
+        REG_S   zero, (a3)
+        add     a3, a3, RISCV_SZPTR
+        blt     a3, a4, clear_bss
+clear_bss_done:
+
         la      sp, cpu0_boot_stack
         li      t0, STACK_SIZE
         add     sp, sp, t0
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:03:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:03:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504946.777410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXjWS-0006sa-SX; Thu, 02 Mar 2023 14:03:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504946.777410; Thu, 02 Mar 2023 14: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 1pXjWS-0006sT-Oj; Thu, 02 Mar 2023 14:03:04 +0000
Received: by outflank-mailman (input) for mailman id 504946;
 Thu, 02 Mar 2023 14:03: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=aytp=62=citrix.com=prvs=418692924=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pXjWR-0006sN-AA
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:03:03 +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 eee89301-b902-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 15:02:59 +0100 (CET)
Received: from mail-bn7nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Mar 2023 09:02:54 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB7065.namprd03.prod.outlook.com (2603:10b6:510:29b::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Thu, 2 Mar
 2023 14:02:52 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6134.030; Thu, 2 Mar 2023
 14:02: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: eee89301-b902-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677765779;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=0clz4Se25xflZTnPDdFzIlbcLjpx7XBwIG6+Y9TWI/o=;
  b=ITvWc9ki6DR7sEr7J2eaFsuLB9+4tDRtdlrVRZukpZ6/9emFx8qX0wcv
   L/k4CmWKi0QaopsjEu9+nRNkdGL39V9NlgmOorklNmg8TtpzjsStiX7by
   tVzEg0CIug1dxpJWTitaQs1izHRQB23ibzvmqaP5704WvdnArvIKF5SvY
   g=;
X-IronPort-RemoteIP: 104.47.70.109
X-IronPort-MID: 99186332
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:fPucw6P8lknZjX/vrR0QlsFynXyQoLVcMsEvi/4bfWQNrUorhTYFx
 2IdWDqPMqyON2OgLohwbYm/8ElSuZfQyddlGwto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5gZmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0sBSB2Bot
 vUjEh4qQDOC3NCEzJSGa8A506zPLOGzVG8ekldJ6GiBSNwAHtXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+vJxujCCpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8eezHqrBtlJTtVU8NZbmGzOnVYNByYIVFKmg9+azV6OSet2f
 hl8Fi0G6PJaGFaQZt75Uh6joX/CvQMGXNFQEOoS5wSEy66S6AGcbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8hTG4NDURLGQCTTQZVgZD6N7myKkolQ7GRNtnFK+zj/X2FCv2z
 jTMqzIx750cjMcN07iw9HjdgiyrvZnPRUg+4QC/dmii5AloaZWlY4Gt4F7z4vNJLYLfRV6E1
 FANn8mF8OkPF9eDjiWLS+QWNK6l7LCONzi0qVVoGZ8m9Tik5X+4VY9V6TB6YkxuN645lSTBZ
 UbSvUZb4sBVNX7zNatvOdvpWoIt0LTqEsnjWrbMdN1Sb5NtdQiBuiZzeUqX2GOrm08p+U0iB
 aqmnQ+XJS5yIcxaIPCeG4/xDZdDKvgC+F7u
IronPort-HdrOrdr: A9a23:hbTgLKqmXTwcvNxyZbdUXVkaV5tNLNV00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssREb9uxo9pPwOE80hqQFhrX5Wo3SITUO2VHYVr2KiLGP/9SOIVycygcw79
 YET0E6MqyKMbEYt7eF3ODbKbYdKbC8mcjH5Ns2jU0dNT2CA5sQkDuRYTzrdnGeKjM2Y6bRWK
 DshPau8FGbCAgqh4mAdzA4dtmGg+eOuIPtYBYACRJiwA6SjQmw4Lq/PwmE0gwYWzZvx65n1W
 TeiQT26oiqrvn+k3bnpiLuxqUTvOGk5spIBcSKhMRQAjLwijywbIAkd6yesCszqOSP7k9vtN
 XXuR8vM+l69nuUVGCophnG3RXmzV8VmjXf4G7dpUGmjd3yRTo8BcYErYVFciHB405lmN1nyq
 pE00+QqpISVHr77W/AzumNcysvulu/oHIkn+JWp3tDUbEGYLsUiYAE5ktaHLoJASq/woE6F+
 tFCt3a+Z9tABunRkGcmlMq7M2nX3w1EBvDak8euvaN2zwTp3x9x1tw/r1qol4wsLYGD7VU7e
 XNNapl0JtUSNUNUK57DOAdBeOqF23kW3v3QSOvCGWiMJtCF2PGqpbx7rlwzvqtYoY0wJw7n4
 mEeE9EtFQ1Z1nlBaS1rdN2Gyj2MSaAtAnWu4NjD8ATgMy4eFOrC1zNdLkWqbrhnx1FaferH8
 paO/ptcorexCXVaMF0NjbFKupvwEklIbwoU+kAKiKzS+LwW/rXX7/gAYDuDYuoNwoYcUXCJV
 ZGdATPBax7nzKWsznD8VTsZ08=
X-IronPort-AV: E=Sophos;i="5.98,227,1673931600"; 
   d="scan'208";a="99186332"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iCwuhjeAKZfijH6hzmzZUQdCWPQEeErE8oz7T2DF3NqBuX7EKO526evXegLYcFbj0MYYn7IDlPZ7kIDpx5noiXfK05COUVXfUHE0rkev/Hvp0Qh1n55tpHjEmyF0fGOI2iP4jH0A8ZrAJqJ4uZpqeue2j/6lATFp8jS1CIGZqVvbqUq9vuAevspgxW5Va75Qb7oBX2vYNMAhv+QtVRA0km2JeAanj5Ebvg943/psyD7WG61qQ7PkRz91YcmXSCHsUPIolhoY2v/ShYuWXwDZVsX2Q4/eX3QNrab7xi0VgSyRzPu6oMoTOQerS7NOiB4NRCZvn4OEbowzxAl7vdrawg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VvqA6WQT2Yeg9LN8RGiebZ8QHXq/FrR2euFGk1faUqQ=;
 b=IQ4Jk41R2AyHykmthc1WhulpftpLnfKIgbNwuNz3MbpLmE/Eu2Gup3v82JLrAPGi13gH13NtkPyM3x9GoFa2/C1u/xYXJH8Ddz0kD3TwxdqkuW1G7C59orxtFZW95nnLnQht7BOTqNzpyBDctR6LDVZuasb8MrzaJM0gyIxN7N42aIV/MDgbTKcB0i5NyvQ+ahj0cafQ1/A+w9M6SUP4WAtDzNUuSAVwNOp1M5zn/SU2Cqut36UlS/fRc0v21+S1Wba18DfYEe0Rs5rqu7HZ0F/Hox6vbIOIF9dgDtd+7+W2LMMQwzbNo1JAh8PiYUercIoh6FuOWZ/VyfNbpml7wA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VvqA6WQT2Yeg9LN8RGiebZ8QHXq/FrR2euFGk1faUqQ=;
 b=XvIhhBDefwkHuWDYmCoVLTTNOGWEeBSzdX5CQHY9jgeqYPwckig/lu3MNTr2hg/S+3EHUCOHC9wH0RnwJg2f6GFUwCje2xBsyyLqDKLAAy5xDHRT9VDdzSy6WO405OXyyKEFo51KMLPp+KTFGR8J8Myua8NsylqHFSC5onYJRDU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <881fd332-91c1-fea2-d1a2-3a5444a6f272@citrix.com>
Date: Thu, 2 Mar 2023 14:02:42 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 1/3] xen/riscv: read/save hart_id and dtb_base passed
 by bootloader
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
 <3edbb40e86e480b2b71d596ff61c05336004b14c.1677762812.git.oleksii.kurochko@gmail.com>
In-Reply-To: <3edbb40e86e480b2b71d596ff61c05336004b14c.1677762812.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0185.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:311::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB7065:EE_
X-MS-Office365-Filtering-Correlation-Id: 941c8c90-8682-403d-fa17-08db1b26ce82
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ScBVQ6vFYZ/Q25GvRzOLkJb1ZWA7YRzEMzH0I5FwVaICQrH8pM9TvJOC4n1ApvBMf56A+EGzCb6JkeKtRKHjWxqkOXcMgqk7g6Xvnb1ZrSTJwqOiL9rhUsjcxpC2NKINbGdDbnj792fHM19497rkV9a/ODvy/VNEfRgsYrkA4z6OLBfN3lykX50g4cO6tLSzBVgpFEry/4+6agEh5onMxMzMagZ4MqLfWgBQwAm+M4/ScLeh0PHzlxCso1eQZmmOywxlg1Mx7MHwuQmU0qaQ4aOfMRhMAAFVizwSLIG6JBG3jLV5NCicSgHQxANYcYKMDm3a+lR8L1REvY7ca3rDEpnkck2qN19xnLuKEeUQRTpR0mRPMv+EU8TPjSnTVkC94mf1NgZcqEwaudJiBx2ujnrPolPa5HefzgOzEhe4mPOLv9wdS2VMD5UcDkpGh/Lqp6GK+Fl1VyY5GrayQRqZrmk9l4IqDvcSkswvCf1YwGJ2fwS+/LN9fYihgPmiLCuQeO0gLrVaQoFPn6K8R9LmoIgG6uHZ/+QBSP5hf3UvYF1uXbyBhrG9ZKsFLKP+8e/AbpHhg9HFuhxBxwzg3t7VOngvQeKN1cJqgSF0Wj4hF1YS+RDT3ZLhz+igB670zGB02GF8rK0Dcd9k5JZw8S9HY8CYumjGEzZMwMPaLpKbhu/OOVtOr5RGLzC3Um+QuINSakKhdjwo8j8uGGOx4Bl8vhG9UcJ9OWh62L4+qj2nCZw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(366004)(136003)(39860400002)(396003)(346002)(451199018)(5660300002)(54906003)(36756003)(8936002)(31696002)(86362001)(6666004)(83380400001)(478600001)(2616005)(6486002)(6512007)(6506007)(53546011)(66476007)(8676002)(4326008)(186003)(26005)(66946007)(38100700002)(41300700001)(82960400001)(316002)(66556008)(2906002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZDFKdnpBTmRiZlI0YVJuaW16YTZETFFLb24vMllhRDFxVGtpb1FwVm9yQ1FU?=
 =?utf-8?B?bktPbnpsRG4wVnpuWm1Hem9lNkFsOHlycUJzYTJxUnhocUJEc3VBNFBSOTZx?=
 =?utf-8?B?TXRpb1lreDV5WjBhT2FnejZGS0NRQWxvQkpLbEpqYW8wV0ZDWmhZRmJ3RSty?=
 =?utf-8?B?bkg5U2h0TDVlcGc0WGVVOHFLYXJ6ajcvNEhnY05FaU1TR0l2T0ZPT21idDEr?=
 =?utf-8?B?NHpPMzdMUWNUN0daTDhVY2N5VEhSK0JhZW9KcXJhQVV5WVdxYi9PWTlrT29a?=
 =?utf-8?B?aEpTRUxSdHFVRDcyRXVNR0szZ1FmdEd0NktUZUZYYzg1amF4SGdtV1VsUHlN?=
 =?utf-8?B?aUpmQmpDanVmMlZLbjN5NlJrUm9TZU00bGgxUWRtNk91Q2xVS1JCVitIZ0dy?=
 =?utf-8?B?STZCdXM4UTFFT2tQZGNqNmhVV2sxT0xNeE05L08vWnpHdC9SRzlFUHVSMFh1?=
 =?utf-8?B?ZUpMQjdHUmk3aDBhMkpoSmROeWtuYnREVEg3dS9YckRIbHZRMDU4MWJqYkgx?=
 =?utf-8?B?bTZLTTFlT1BJdVk5ODh6Rzd2Q3BUdFpyK0JZQU84c0hBVndNa1h6MUY5YkhJ?=
 =?utf-8?B?Umt6Q21rbytkNXVYMkxkcHc0bTV4cmxGM3o0S3hicnpOT0V2aHJwQjIwaVNZ?=
 =?utf-8?B?alRZbDJxL0l6ZVI4VW43WGc4VndXQ2o1SE1Jd25peGFPSHNhMmdlTXUvVkNm?=
 =?utf-8?B?T3BYeDlIVVZKa2JUV1drTzJ2djBPc1dlQ0svR24wSUNCNm9UNjdEWUgwaytI?=
 =?utf-8?B?R05WeCs5amRtWk50ZlhLSmNscEd0UHEwR29xUitDMUpKbGFHNlZjNjA5Rlhj?=
 =?utf-8?B?WXFHQmp1WGU4cEVNck5KZjdyREVLZ2tpWGoyd1pqRmhzVG03ekdzR0xQaDZj?=
 =?utf-8?B?UDFOSndYbnFCZHBSMXRuSW5jOGRRU0dZUmsvRUNsVWE1MWVDMUlTeWVUemxU?=
 =?utf-8?B?Z29wd1RPZGwwL0RWbXYybjN3NGhXYzZNQlNQWGxIaWgvVCtYd29NRFUzQjNu?=
 =?utf-8?B?TzFOd3dJUlQ3UlFQSU4xTno0b1RZWUVwWlAzSzI1Q0hLWkhuWlh5a2dCcG0x?=
 =?utf-8?B?eldCc3YyOFFwNHBJem03MEJQdThoaVBaWUFmMzA1eFkxR2tzSmVTcjZsZHNE?=
 =?utf-8?B?Um9wcVl4OW5nUWd0ZVZKbzBpaTE3VGJIZkdtczh2M0VlS1p4TEpkY3NMMzBL?=
 =?utf-8?B?QmZ3MVZrR3hxWWorSVRMVjFOdE9VVW5PQ1Fia0wrenFVZjhRdCtkcnVWNkQ0?=
 =?utf-8?B?azdvU005T3NkVG5MbmQ0S24remZEREUyUnFiSXo2OXlaZXVWM3JJL3FTb0RK?=
 =?utf-8?B?RGZxYUphZWdITExYTUZnc0FDbU44NUtja0dmTDQzQ1MyS3RGNVF2UjlIL3pO?=
 =?utf-8?B?U3hEa2lZK0ZlaG04ZUpoUzVBNGkzOXc4VnJTNDY4SCtCYW00OXZjWUtiRWV5?=
 =?utf-8?B?bUU0Q0o2cDYyanVHeEFKd2Z0Mko5c1ZZQkNKTW1iZEoxK2V0b0Rib2pmaGtH?=
 =?utf-8?B?U0VLVkRqaDZxRlVZdTNSMDA5VHdQZ2Z4MzB1cHlOenAva3JodjkrQmhHdTBR?=
 =?utf-8?B?akI1YnRrdjN2NXE2ZVVxZmsrSkIxRHExQWV3VWs1R2lBSnd3WVlTZHkzYWk2?=
 =?utf-8?B?Y2NldEFZbjJla2NNcGtWMVlFOUsxSlpHTjM1Q3hvelZFeGltdjlRYVBPbnUy?=
 =?utf-8?B?cE1vUkduQkpZWmdLRmwwckIyekhqUHhocVhsOUwvdThCaHNoSFludmFQME9u?=
 =?utf-8?B?Wm5KUVdVVElmZVlGYzdkTEdoaEZLMWR4SEgvR0Z2UTg2R011VG4vL0kvTG9s?=
 =?utf-8?B?ZFp4ck9IcEpCNmQrdExIZHhlaGV6SHVoWm1CQ29QTXFod1Y1cnV2Q0lOWVlO?=
 =?utf-8?B?MUhvSkc0aXFhVkFSeTdzaW5jYVBFMFYrK0F3akpsOTVoNDdLZ09rYW9rNUc2?=
 =?utf-8?B?ZUt4ODlWN1hGMU5tSTh4elRPUU5iZkVZSCsrRldiY0RETExPSUdsK3FZU1RN?=
 =?utf-8?B?Sjh0TCtvWVZqekRlR1Q4dDlFZkhtWHhSZ1BlMlpEa3ZHL0RPaVV2Vk5xZG9G?=
 =?utf-8?B?WDN1L2Q4ekUrc1V6b2RzQTNoSFg0cHIyYlQ5VFUrd2hnSkRFenY3R3hVQkw1?=
 =?utf-8?B?N3lNUkh2Z1dQeldPYVBHVE9pd3Y5ZkxkUWFnb0NYRU4vQjRhNUN2U1RGREVw?=
 =?utf-8?B?dHc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	NhBY55Unqj+DwlNKkn4q3ZwJQIrbwPrXVs+q96nTgMiAOpGGKeEPPOWmjonUmivV0MnTzFyT8L/kGtHJ52q/yi/ZvlEgdP8GbyFsEiMPUViW9gmBKWi1G8NduAv0PwmBhEG2gH0dGbvRo7ECfiBsosVGDvF2YrkU8UKfkofk+Az2X+CL6OyfddeZvWafAPn0oo0qoVlJpVBC4Borv3V0nF81N5CIbLYq6NLj56gG9oNKg0onE+FhnDmN67Zru8SnD3Pi95iok8RlIFqyx34FZYYP+xDATYGAthECsrTfxl2Ik+/61CDrGaYpBUsvdIuy9pGJKHbw/TgLoDIorDLtMcx/ODZuIO3qJTvb0iRgmvL8q0UtACf/LVsLb7xz8XT9cyyatsq988vcBgEU1/co8bfQdbQDZgcL6mGjZIG1wJ/CPp716zHe3YgQRZFjUYdPIG4oaE40EDJByKdc3Rhl6imFklWn0YlWhc6Wt35+Q47+xsORXT3MG6AUTut3hnu0HhiLsfDkZz7qm3MkaVOZa4BRp5laYTHbqCOgui86a3JHq8IKnGLyjzuzY/Zm7PfWSkUiuxrHScD9uPnrzxS+2/ZrkIHyns05Du+ju+A4+vnsA5XyBHCFe9n6m2rEeOD4IF9c8Ax/NjtE+qg5hqUpZESyGnCaXS+FdlUixHsEZBUDs0bBNf9KHOXTswnRFXlJXO2lYfzpIVBmcoCrg/xvhRKz7HqHo4IO9CHtwiJz/BqBmIjTi2eKGXzk+vO8yaIhXWoMS9HhMBvypsE3TF3kmWwCf0C6c4Qfd/c/ybYTIRyoncjsnjDavFn2hpg/YgDIssCAYP/C80BrOitlLMYrt5DfpQwMnf1m0LmdVyRHRgP187NmvzOBn2jFE5lCM49bhPmwdVyw/Zy5LYv3fde8fSIzrnE+SCMg0wHkQQ2eb6A=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 941c8c90-8682-403d-fa17-08db1b26ce82
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 14:02:52.0139
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DND2/tJv45MwV0HATxhC+cP0CfDzTSYb6J9YrwvgZoJS04KHuwVjGYdO9eQ/J2GbAWk+fmG1Cln9io3ox9uTuh5ZWjKnH0jzayLWPcrkn5U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB7065

On 02/03/2023 1:23 pm, Oleksii Kurochko wrote:
> diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
> index ffd95f9f89..851b4691a5 100644
> --- a/xen/arch/riscv/riscv64/head.S
> +++ b/xen/arch/riscv/riscv64/head.S
> @@ -6,8 +7,31 @@ ENTRY(start)
>          /* Mask all interrupts */
>          csrw    CSR_SIE, zero
>  
> +        /* Save HART ID and DTB base */
> +        lla     a6, _bootcpu_id
> +        REG_S   a0, (a6)
> +        lla     a6, _dtb_base
> +        REG_S   a1, (a6)
> +
>          la      sp, cpu0_boot_stack
>          li      t0, STACK_SIZE
>          add     sp, sp, t0
>  
> +        lla     a6, _bootcpu_id
> +        REG_L   a0, (a6)
> +        lla     a6, _dtb_base
> +        REG_L   a1, (a6)

This is overkill.

Put a comment at start identifying which parameters are in which
registers, and just make sure not to clobber them - RISCV has plenty of
registers.

Right now, we don't touch the a registers at all, which is why your v1
patch worked.  (a0 and a1 still have the same value when we get into C).

If we do need to start calling more complex things here (and I'm not
sure that we do), we could either store the parameters in s2-11, or
spill them onto the stack; both of which are preferable to spilling to
global variables like this.

> +
>          tail    start_xen
> +
> +        /*
> +         * Boot cpu id is passed by a bootloader
> +         */
> +_bootcpu_id:
> +        RISCV_PTR 0x0

Just a note (as you want to delete this anyway), this isn't a PTR, it's
a LONG.

> +
> +        /*
> +         * DTB base is passed by a bootloader
> +         */
> +_dtb_base:
> +        RISCV_PTR 0x0
> diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> index 1c87899e8e..d9723fe1c0 100644
> --- a/xen/arch/riscv/setup.c
> +++ b/xen/arch/riscv/setup.c
> @@ -7,7 +7,8 @@
>  unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
>      __aligned(STACK_SIZE);
>  
> -void __init noreturn start_xen(void)
> +void __init noreturn start_xen(unsigned long bootcpu_id,
> +                               unsigned long dtb_base)

To be clear, this change should be this hunk exactly as it is, and a
comment immediately ahead of ENTRY(start) describing the entry ABI.

There is no need currently to change any of the asm code.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:12:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:12:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504954.777419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXjfq-0000Df-VX; Thu, 02 Mar 2023 14:12:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504954.777419; Thu, 02 Mar 2023 14: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 1pXjfq-0000DY-Sm; Thu, 02 Mar 2023 14:12:46 +0000
Received: by outflank-mailman (input) for mailman id 504954;
 Thu, 02 Mar 2023 14:12: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=aytp=62=citrix.com=prvs=418692924=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pXjfp-0000DS-KD
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:12:45 +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 4b460807-b904-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 15:12:43 +0100 (CET)
Received: from mail-co1nam11lp2175.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Mar 2023 09:12:36 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MW4PR03MB6444.namprd03.prod.outlook.com (2603:10b6:303:123::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Thu, 2 Mar
 2023 14:12:34 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6134.030; Thu, 2 Mar 2023
 14:12: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: 4b460807-b904-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677766363;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=fOaVJt4ngas8kMFll87hb+qrKm5hpgUlvqKJnggPP1I=;
  b=Y19cHzxyAOyGcW6B3+XobaqvoNBZMuXJ6/AxlwWMcK2+j5uSnuPFEJYX
   zuH1e1mkMj6qFTCzqYuytATYD1CLa1bxYz2XXX0sDY9y4fYGaomjPi3Ws
   s6cDqVxnF3IpF4IP21zOxMK7jM3rxim3Rxggk6SxmxavK+ObnpG9D3lK+
   E=;
X-IronPort-RemoteIP: 104.47.56.175
X-IronPort-MID: 98005281
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:SPsGwakcYCR6D/Zct/EiCsLo5gw0J0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIYCGqFPf+JN2WgfttwO96yoU1SvZHSm9AwQQY4qyE2FCMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5AWGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 fgodDcRYC6ivtPo8qmUGspVp90ScfC+aevzulk4pd3YJdAPZMmaBo7tvJpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVI3ieewWDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapDROXgq6Q62TV/wEQcFwNKbhy/kMPmtWmsQctFJ
 BQI1SUX+P1aGEuDC4OVsweDiHmAsx0HWtsWEPAg7wqNya387AOQB2xCRTlEAPQ2uclzSTE02
 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9BW0IaDIATAAFy8L+u4x1hRXKJv54C7K8hNDxHTD2w
 hiJoTI4irFVitQEv420/FnBhy+nr7DTTxAy/QTRVSSu6QYRTISibYa55EPb6ftFJYCxQVyIv
 XxCkM+bhMgHCZCWiCWMWqMDBriv7PeeGCLQihhkGJxJ3z+q/Xikf4xZ/jBlDEhsO8cAPzTuZ
 SfuVRh54ZZSOD6havZxaofoUsAyl/G/SJLiS+zeacdIbt5pbgib8SpyZEmWmWfwjEwrlqJ5M
 pCeGSqxMUsn5W1c5GLeb48gPXUDnEjSGUu7qUjH8ima
IronPort-HdrOrdr: A9a23:OOIW0aoK24+ajKY1gZ6VPGUaV5oleYIsimQD101hICG9E/b1qy
 nKpp8mPHDP5wr5NEtPpTnjAsm9qALnlKKdiLN5Vd3OYOCMghrKEGgN1/qG/xTQXwH46+5Bxe
 NBXsFFebnN5IFB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.98,227,1673931600"; 
   d="scan'208";a="98005281"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FX43nkMp1dyCEf1Txm9tAjCUlFPL0BRwaQcdAPa7361eogfhlw+gk+OlOkhysGhR+q6lVj4hjIdmVFjSD+551VPVRRFU4uZHZ52CUEyurQECu+GeeX5lFAc02yQo8Uwv0Hs/c9nVoK101qsB8sMudpkDJjps82hxShXENa8VmqvZEibVyD7UlLZ9NQ4OFfB4Qp+RS3jFn9eV2DMha+1ppUzA3Q3i5APrgCM2/7bcsomXN3ScykF+4gnQ3fGOLPviP2Go/340I3IfikQFRgdBj5IIG7rj6OIWtTltZYfKvPmgXZG+ov3uZbbaSust7yp8+mDe030ZYnT84vepUz8Dgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FySKrIWGJRmZKRcC6QD8aWgdn/j/04v2B3EY29nCpno=;
 b=docb78HzA6OtfECD/c2AHUUyql8RMwaUiJIca9/JIaQopdv8JJPfEGVxLXJW+7ad1nV2Ss9LQ8R5NWYsXE63nuPUu7oJZII96R+paDB4KOKH/2fU87FPdwy6XmNeW4Hrq73V5IVyiS1R80mmnfo5o0ED5955SsZCpTgVDLOUOk4SLYuvSsrVag5dL1J+u43HUrYF4O4jxWTvMVTrKStw9rLzkGn3Lrg9zcMGE9nwxc6YzhtyRFs5NOnyZ4UZ0yJPtIQz5FdgO2JM5U7TjJKzOHd6XVf6qeflYpKofmYVHuoAinGBCODyHr1mGQ1361rmXaxBXnaf+emP/4ORa0by8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FySKrIWGJRmZKRcC6QD8aWgdn/j/04v2B3EY29nCpno=;
 b=ML+jAO6f4UKKLB8CLOtJY0BQUhqfAaREp/9suSF7/U5IG+z7uLNVvG9j7W7PNC9c17a/rRAvGFkw6oBIAmu6eLqf29lp3UXaF3MHzHC9DhDCZcaxfGcfCgP71wJb4U40jzEnwtM5hyV4yGS88rLND//MPqUuLijop90xgGtRp2s=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <092579ae-edcc-f04b-b9ab-fc97b78d0053@citrix.com>
Date: Thu, 2 Mar 2023 14:12:28 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 2/3] xen/riscv: initialize .bss section
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
 <495bd1d7fc2becdd48bd00253c079971e2231e99.1677762812.git.oleksii.kurochko@gmail.com>
In-Reply-To: <495bd1d7fc2becdd48bd00253c079971e2231e99.1677762812.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0077.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:190::10) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|MW4PR03MB6444:EE_
X-MS-Office365-Filtering-Correlation-Id: dfb33fe7-33a8-4472-e787-08db1b282b73
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	endk7tju8HrS3OI/9Vyw/YRlajY6rJTBaA4gHX04uzBX8GdjhXfmmSCpLZZu73LXxPa+SgDp/mHza4Ar8N83jCbM4UPrLYdu8KpvXz/iKEFTxLNb+mbBrBCrhOu+Wn7wSs9Q/1l9teKrA+qDawb4xuqKdKcozetcknTSvA8aRFm5Bt6IweMvu79QfMLa6KZ8ELFnrkRmxXd7DIlKCAdaNL+xeYdrpTuBdOTGFUbctc791xAKmNwuny8kgoUt5s49GRvo8bZxEEB1fjHwEUpB+/0vc9SM85iS1W4Qju6i4S+FwjaUCLXwq/4EX7F3YhnXrLaO3GyBVBMKD9tVf0vc9K+pqGV73LH1b6aWsvwp8yjeQPIdLyK7Gc+6KH3olkPfMi2f0Df077znEnLgIjbeHo3A9p3ykNzi8g2HaauPY/IMn6jxWDbWav6bXIbEMx265PufX1Wtr+RavOUcSMApVOTYna0CePhNCInb3dDDujDoH0hdxYFsnYqGnQzUGf+yS88kql0UFBuL4Gc4U25F+HBPe3intdYIdQAewCPVrdqeJByE76gh56nfrYGIUZu8uKWT7UlQr9Gk1q3oTzN97oYrYiR6CFm1rZ2IcAqxgYNh7yUaSIKaX87cYmrV6U4nJWoqnOhoMBWtty0ylhM2ntrGnOH8WJlPmQCIbaH4rFzbyDwADycw/GZYlUCKGapkwb2j1Dt9e4xOsNLDvh/nzGw/obxeHJlglc5MXFY1RDbth/UhaJQ/ddgigR330gAPd5Z3zy0/1r9xMdfX2qItLg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(39860400002)(376002)(136003)(396003)(366004)(451199018)(31686004)(86362001)(31696002)(66946007)(41300700001)(66556008)(66476007)(8936002)(8676002)(5660300002)(4326008)(2906002)(82960400001)(38100700002)(36756003)(6486002)(6666004)(478600001)(316002)(54906003)(186003)(6512007)(6506007)(26005)(53546011)(2616005)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Rm9nMnk1a2RJQjBFVklpOHJQTjFkR3ByUlk2Qk95N3FtMktFQWNOd0NBbUo3?=
 =?utf-8?B?Y3lEYzJIZnVxdHliVXhHbklXWGUxYVVGNHNQTWkwdW45ck9GeTRxQ0hGMlNU?=
 =?utf-8?B?V2dGOWRBWStiUUIrU29GR3FJdFZaa21uY3hobDF1RGVJVlRhL3JaV1JYNFFB?=
 =?utf-8?B?d2l2NjdtRi82MW1vNkZFN2tlR0dDRVhwZzc4bnhTLzh5aHF4aGJwdjc2Ujlw?=
 =?utf-8?B?OE9idjlNZC90TE9GaEtEdEc2dlF1R21sZ1RDcFBucitmR1hvYnRTanZTMjdQ?=
 =?utf-8?B?c0xuS3c2RmttSFhCMERXblJRRm5HK2pmV3ZGQm41SVZJRi9JY2VNdmsxc0Jr?=
 =?utf-8?B?bFlHLzgzMUFvS0R4TUlsTDFkY3BDWkRNUWM4eUFTdWpIajQ1b3ZldGREb0dX?=
 =?utf-8?B?RkxSUnZ3WE90Z2hCd0drOVRtR1RUWUZoaEtYQU5kS2IzWnl4Tm9OL09QaWgz?=
 =?utf-8?B?aHdsSFlFUi9IYjBPWDJ4Q1lFRytjOGpPaFRUSUpVclIxRmVHL3Q3MFFNWm1F?=
 =?utf-8?B?UklUVjRCbmRwVysvK0lpU2Q5ZHJ4Y1lPSms3WjQrd0JJYi9jeTQvaUJKL2ha?=
 =?utf-8?B?V2RZYVlhb2J4bFJDSC8yZ2U1ajRGbVJMUUV0dm44OXAvY0R4Z2R1bGN6Sjk5?=
 =?utf-8?B?S0JsV0tCMC9XSXNvZmdFZFB2Q2JxZWpOd0pkbHVnSmpmL0FLZVdxWUJ2WDRw?=
 =?utf-8?B?ZWRwczV5eHpoN0hieUMxN1M5TG1BTmNEWlhjRU81V0hjNXVPby9yZGM5K1A1?=
 =?utf-8?B?WjZoYWdjU0VNbzZQMmJPMU5zemNCclpMaHRSdG4wY25pbHBwYzRsQjNDUmtG?=
 =?utf-8?B?KytWLzltbWs0bFM4SHRRZnJMZlV6bXZncmxQVmJ2VUFzRzYyZUFjZjkrWXIv?=
 =?utf-8?B?RitUSXJrTFlwT3EzMWh1OVcwemhuWXpPdCtmMC8rbFY3NVBQVFBDOFVoZEZN?=
 =?utf-8?B?NmRYOURwcEplM3pkZDB2MzhnbCttVk5XdEFpYVpSNE83TjhLclA1WkhRT0la?=
 =?utf-8?B?NXIxUDRGeW1tOFV0WVJ2c0ZxeHBZTDBXNkxEMmFkZ0ZuQ0V2TW5VRkxjZ2dj?=
 =?utf-8?B?Q0h3Vm43UElYd1dudFQ5dUlrSHp0ZVN3VWR5TjQxUzNNVVRZVkVIRm1FNzNl?=
 =?utf-8?B?ZlF4YVNQZEJKcm1YMy92SnoyT1dmVmpEeVVKSXEzb0l4ZGowelZ5TXVRU2dL?=
 =?utf-8?B?a21ueGV4UHB6RHYxcEp3c2ZKQU9XQTlmWTEvck9CVExnRS8xbVB0bU5xaWRX?=
 =?utf-8?B?dEUvRDJ2bHhrQUNHbGJzbzF0MnhSOUxCMVNzdDg1OTdna1VjQ2kyd0xlRy90?=
 =?utf-8?B?Mkg1SGc2b3ZocjEwSU9lMTNrUTAzZHJqQXFQdnZXMFRESkhEWVJtdnc0VTlY?=
 =?utf-8?B?UGh5QzNjNERWQ09IMjZ3THpjNkZvMU5VUlVvTFkzOEVOWFROdGpIc2FHMjJz?=
 =?utf-8?B?OXFZbmZubll3ZHhkM1Jjc09kL1NhSGcxd3AwVjBVVkhvTkRQbkk2QzM0NEY4?=
 =?utf-8?B?Y0txMVVVcSthTXlBeTRWUytFYXlMWUtHSG1LQmlZRHJxQy9QMTZ5M3V6eVMy?=
 =?utf-8?B?dUd5eDA2OHdGaW5kT1Q5R1JLa04vWkxoVjJudmhhZ2F1UHNBSzBzaGNqSHkr?=
 =?utf-8?B?M1RDMUNEUmdGVG9wUXdTSDBSRzBnc0FhaklkaWtOM0R4NDJCdmVoWTNyY3M1?=
 =?utf-8?B?ak51QU5ZN1JJRk0xbUlTQ1V6T3FTalFKUTJrLzAxaVdiSW94ZGdyRFkzKzZ3?=
 =?utf-8?B?ZWJERzl5M0FGcGhMeEVJTzQzZllIYk1scGgzRld2T1M5cmdhRWhUOGM2L2RO?=
 =?utf-8?B?bzlmbXFQY05tRFM3S3RMa1lDVEJvamFuNkZZWDdYb083WlV6OExSeDF1QlBZ?=
 =?utf-8?B?QUVNNnNybFl3ZkhxaEFubW8wQmpPQUhQNEM2WWZ4Szl4ZTlCUHpMWVoxVHNv?=
 =?utf-8?B?YmxQZ0NaRlByRElTS0lsMUNHb1JKQVhYN3FaN3M5QjVka05LWmdHWkxpQ1Qz?=
 =?utf-8?B?Zk9lNStFU2laR0gxQmZ4Y1gyRGw1a1hLVVVmWmRKY1MxT1lIOUVKY0d3aE1l?=
 =?utf-8?B?WUQrdVZDaUxINFkyTnRnT0tGcHVNM0hqeVVUK2MvQnFxZFM1WVpFMDhaSmRJ?=
 =?utf-8?B?Z3huM2FYN2NWZDRzRHhlTUVURHJiUmJYaWwwN09mNFZZMDBzZE1pZzJJYWFz?=
 =?utf-8?B?ekE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	maSlBknpO30fKvYrOdlZJJXFs4+QR0XtZfBHABw2kW2aqAxXv8gAgWNKYsdDpWIJfvMfUgMY/uMbsT/J1fw8Au0eWb1PQWvTzs4DCb+dAa5eLKBS5oR/4R/alyCEg15sn/tyqpJJRfqf46ALcGTH+iFloyXBT8N4hRNqITDiTiPKEDWMzg9NFvxaDVo1BIJLtQpN2bCRAAi/JHxnu2dVH9/xc9VuXNByN4htlHFTT7xltcuQc6EVIKTEOe9kTRwLNYtyjpomM2wMHlKe19G3hwAS2nUh3VxFxugKZ+G9sUiK2JwvIGHkQDBMpSjj43nN7327P8vx+8rxTXp9PJhRDDOl5b5vBjIGVPBinLwmKlsas9SCHZ7QpLD788ZHrxDW4Hf/miq3mM/j/RTxYnl6Q3DnP89McJGw5EAtAE5Zb04YBZeF3Y1MtwnFUs4ZBgM0/epyA92s4yS+s3dIduVR+9GKl4ICcOOqp7xOP4p4sQiyP3M6+AfisGGYoMdCdPFhDZHlEsDEZtntWCzwQNpNesHrxuLUFt6cPUBI+5BgUaNsj5/xwaAyEXtNFXpnd4tufKy/eEiG8C6OchQU4VYRcNq5LLyVcGliCI0zbnQfb8ZWm96KgywS3gZ5mGsk6AEiKEWZlI97WQyvy9W7LIvadS84PY+Ffh1JTK+QtdhmsOIitD3ZRlVCT1g1157iAmyvlmx+Xhb+fYzQqr+BS8VSnjIL9Zw0tavovwYnkdNlzDhX2zjHmw8gT5TIu2fuJBZ+FhNb3rUCx1eoibhG4M6njpBQvJWfC3vP0F2wt/JrV/yFn/+iM1xTwgpJH/2QYZgxHlrqborW1HhCrsR7B+5uVh6qVamuHIS9Zv2EPsSvcWZvJoGYVR/pHjvsQt5/o1gNylVXKrVjsIhJu3XV18LtvkgRju3m2AU+0O8Ph1zym2U=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dfb33fe7-33a8-4472-e787-08db1b282b73
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 14:12:34.7371
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: B+BN5oCsV4/djvG0dJKqn2Vshav2dVRuGCOpH3VMUZ/MKnscHe+sSqsmDWUajBlqGRJcBhuQ8AJRmxaiK8zgBOtIVgTtXjnZ7rUkcAlBBpk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6444

On 02/03/2023 1:23 pm, Oleksii Kurochko wrote:
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes since v1:
>  * initialization of .bss was moved to head.S
> ---
>  xen/arch/riscv/include/asm/asm.h | 4 ++++
>  xen/arch/riscv/riscv64/head.S    | 9 +++++++++
>  2 files changed, 13 insertions(+)
>
> diff --git a/xen/arch/riscv/include/asm/asm.h b/xen/arch/riscv/include/asm/asm.h
> index 6d426ecea7..5208529cb4 100644
> --- a/xen/arch/riscv/include/asm/asm.h
> +++ b/xen/arch/riscv/include/asm/asm.h
> @@ -26,14 +26,18 @@
>  #if __SIZEOF_POINTER__ == 8
>  #ifdef __ASSEMBLY__
>  #define RISCV_PTR		.dword
> +#define RISCV_SZPTR		8
>  #else
>  #define RISCV_PTR		".dword"
> +#define RISCV_SZPTR		8
>  #endif
>  #elif __SIZEOF_POINTER__ == 4
>  #ifdef __ASSEMBLY__
>  #define RISCV_PTR		.word
> +#define RISCV_SZPTR		4
>  #else
>  #define RISCV_PTR		".word"
> +#define RISCV_SZPTR		4

This an extremely verbose way of saying that __SIZEOF_POINTER__ is the
right value to use...

Just drop the change here.  The code is better without this indirection.

>  #endif
>  #else
>  #error "Unexpected __SIZEOF_POINTER__"
> diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
> index 851b4691a5..b139976b7a 100644
> --- a/xen/arch/riscv/riscv64/head.S
> +++ b/xen/arch/riscv/riscv64/head.S
> @@ -13,6 +13,15 @@ ENTRY(start)
>          lla     a6, _dtb_base
>          REG_S   a1, (a6)
>  

/* Clear the BSS */

The comments (even just oneliners) will become increasingly useful as
the logic here grows.

> +        la      a3, __bss_start
> +        la      a4, __bss_end
> +        ble     a4, a3, clear_bss_done
> +clear_bss:
> +        REG_S   zero, (a3)
> +        add     a3, a3, RISCV_SZPTR
> +        blt     a3, a4, clear_bss
> +clear_bss_done:

You should use t's here, not a's.  What we are doing here is temporary
and not constructing arguments to a function.  Furthermore we want to
preserve the a's where possible to avoid spilling the parameters.

Finally, the symbols should have an .L_ prefix to make the local symbols.

It really doesn't matter now, but will when you're retrofitting elf
metadata to asm code to make livepatching work.  (I'm doing this on x86
and it would have been easier if people had written the code nicely the
first time around.)

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:20:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:20:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504958.777430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXjnN-0001uW-Ow; Thu, 02 Mar 2023 14:20:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504958.777430; Thu, 02 Mar 2023 14: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 1pXjnN-0001uP-LK; Thu, 02 Mar 2023 14:20:33 +0000
Received: by outflank-mailman (input) for mailman id 504958;
 Thu, 02 Mar 2023 14: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=aytp=62=citrix.com=prvs=418692924=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pXjnL-0001uJ-Ng
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:20:31 +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 61c56080-b905-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 15:20:30 +0100 (CET)
Received: from mail-bn8nam12lp2176.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Mar 2023 09:20:16 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB5078.namprd03.prod.outlook.com (2603:10b6:a03:1e5::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Thu, 2 Mar
 2023 14:20:13 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6134.030; Thu, 2 Mar 2023
 14:20: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: 61c56080-b905-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677766829;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=kApxpVEn7+k8qSS+Qx8e+tb2KGp2U25LYAwXQp3gJk0=;
  b=E4EzW94k+kWGyM5TXl4F5ncnwpmszD7nWfKaqQKmnmbpWuX2WT4v3jjt
   qQjjiIzSUSB/m7wUGW9qdvNUf4Pp0SjuhYzMmYmcGqmN7I/LWFFkv2T9i
   59YIB7QklNQGucLTV6ZaXmppzy2kDVs78dlJAaFbp2slQCdMrdYjiTwbt
   c=;
X-IronPort-RemoteIP: 104.47.55.176
X-IronPort-MID: 98565893
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:6oAMFahK0Pu3NCiCZsDByODwX1611REKZh0ujC45NGQN5FlHY01je
 htvC2yFPqqMZWuhKt5wYNnn9UgP6MXUn4dqG1ZppSs1ECob9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5weEzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQpBwI3YhLe29i0wbWlbdtXqfwlIePkadZ3VnFIlVk1DN4AaLWaGeDgw48d2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEsluGybrI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6Re3lqKM60Qb7Kmo7Nw0cTVnmvqSAiWGzQOB1E
 309qnIkov1nnKCsZpynN/Gim1aDuhMfQNtRVe4n8gaGyqnTywmcD2kACDVGbbQOpMIwADAny
 FKNt9foHiB09q2YT2qH8bWZpi/0PjIaRUcAbyIZSQoO4/H4vZo+yBnIS75LC7Wph9f4HTXxx
 TGiryUkgbgXy8kR2M2T8lHOhTaxrZHhVA8r4R7WWGnj5QR8DKavYIai+FXA7fJNKY+fZlaEt
 XkA3cOZ6YgmBJWMjzCEQf9LEqug4f2EKxXDjVUpFJ4knxym/HileoJc6S9/P29mN88FfXniZ
 0q7hO9KzJpaPX/vZ6knZYu0Up4u1fK5SoqjUe3IZN1TZJQ3bBWA4CxleU+X2SbqjVQolqY8f
 5ycdK5AEEonNEiu9xLuL8917FPh7nlWKb/7LXwj8yma7A==
IronPort-HdrOrdr: A9a23:X6dm4Kl77pm2ysAShiUYe5jR4dPpDfIi3DAbv31ZSRFFG/Fw9v
 rDoB1/73TJYVkqN03I9ervBEDjexPhHO9OgLX5VI3KNGOKhILCFvAA0WKN+UyEJwTOssJbyK
 d8Y+xfJbTLfDxHZB/BkWuFL+o=
X-IronPort-AV: E=Sophos;i="5.98,227,1673931600"; 
   d="scan'208";a="98565893"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aiY0GBZknLmVVgSsBbcB+ZpH19zX8N60fCtZTIYbKDF0LpXs7C81PYwb7OvKZdQ6tVKLkzDNYnZCHEotDOnDy89b8q87szhonBYXkgcEdVqneaHJ+eWYRQWQmZvZZJkcVRxmjkNUe28h4+RheN56B6Fdxf9uCY94GF3m5WqR1oWWxgUL7nQuqmIXgHg3Vbwq3QcUMg8p8mGEz9wFfRdCKwHjPQQkx8xwn+QmbkVqd5G/bvqYgobo2aldAtttTxKO3U5ToWdQ4XGceViGBuI0bW7aP6FXPPVeihci8Rwv83WCSlQejsxRkVSFeJBMdDwrRzmjY6HWzUQ5SgyAayIvoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=coRTInJ5pmJPcv4PnlCTTNmIBDb9Je+S0OzPefYTrl4=;
 b=MzdHYnkwZuSW1ArjlnPRydiG5UrPTHKSRHQI1LSBwZHIdDjk6cV4Np9bQBG30tcjRj3Rzr9wPzNx5TlPH5sXpSoT+gWfjrI+BNE9Dd8GdAdjqbgB4Bran5UzC+3cwUSu+uWu2MbPGRk8esFemBLi+EfayQTq+9j7p7rFd7UVbu58l8bVZLzeiWhNrWP+pHHEEPD2PviZ8sKWhOxhPStPHWsfzzB21WjFanxX1/eFCBIR2+azcRvEfSXs0p5ZwXKOLfingXYd1WG2XIwW0jBwx94bU5tQttOUzd0jYUT30W4Yp1Ep1Ls3J+fooEGPtLOryWvESqqUjMqNFCdl35hXRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=coRTInJ5pmJPcv4PnlCTTNmIBDb9Je+S0OzPefYTrl4=;
 b=jj3ZASrtOyZHdNkz8fcO84kQQA5yAMlImcOQl5Udh0qyZHwQUoONlHVoGWU5RNRPippAZlVeQqPBjYlUxussZojRCiPOFY0dgkRFPvvw+vi/Xqhhxgub3jn+7ts6IbdYtAIUKdR/IcsCYjbh3qpubyRBIiW6vF6PhtmlkFDH4Gg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <7f3703a2-83a6-6fad-041c-f2b3df0253df@citrix.com>
Date: Thu, 2 Mar 2023 14:20:06 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 3/3] xen/riscv: disable fpu
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
 <f9bed949656462e9eb9554dc5e0dcccdd722b9cd.1677762812.git.oleksii.kurochko@gmail.com>
In-Reply-To: <f9bed949656462e9eb9554dc5e0dcccdd722b9cd.1677762812.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0074.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bd::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BY5PR03MB5078:EE_
X-MS-Office365-Filtering-Correlation-Id: 1452ebec-c9d3-4a96-1380-08db1b293c8b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hrX+M6tYj1zmByRWe4XSIzHSRxlNKVGsCB/uNdlULo0C3cZuveI6clwGjxZKbmT1s25cA4WH35rlgXClWaPUwcaQWrUXFrUsJ3Z3I/uHdcSw7JghD3QTlajkaivmg3ZPdpXZ0DGfmatl3pdGlquQED+vRiin6/xq7tw3/oWuut7OKr+3PSwdYhjNgnEKaQAPH3RetlDCpFUkWkzi7bekt5fBIkmm53zJBkdRm3bZJgCUKvI1A3Q/TV5irK/Fozt6c7o2xXrAd+bk2dOmZdRM5WorGEDB0IQ8+gfbG+UbL9LaYaqTv2cG8wHmRTQjhjMU/ne95NRD4cbmZ/MT7kx4IFEzk/pOWJAoVdTQhASuLmGZORqTkjhGg7cJHBs+XjLxD9uo3F2B8E4mevcGaqZUROwC3dfHvwlJBqy/goOdVMzgyvj8PbBkD+2SW6K4Hi7ugD80iVbj2LEhDIocP3dlj+6SR1FkgrHsu3MxyQFndJNNuPs4WBZog6KPvav0mZ0rFm1P2IhCMm6wD/co2cKtgbStJ9BAGQFYYWGTeehHnnIJ5u1ldDSu5B13oun9t53KOZEubxnVxwKmrRiq5R+hZ8eCMgmfydjbwDlWrz2r9vj4cEJ94psHU60tgtum6YjW3xJ4xmgZpm5GPUAWNnGXSy/juSdpDgWrXxqO5hjL7LctaCchZ8I2XYJ2WPCwXVrr6Ro4/trRCcQKlom5KXIKGqKxL+HCSLBsBjcL/UbED7w=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(366004)(346002)(39860400002)(136003)(376002)(451199018)(31686004)(36756003)(2616005)(8936002)(41300700001)(6512007)(54906003)(8676002)(66556008)(66476007)(66946007)(186003)(4326008)(53546011)(31696002)(86362001)(2906002)(83380400001)(4744005)(26005)(6506007)(5660300002)(316002)(6666004)(478600001)(6486002)(38100700002)(82960400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c1gvUERwTGdQTmRZOFRxdWN3U2JKYkFJT05wYlZUZ2FHdlNRUXhZdDNyVzhG?=
 =?utf-8?B?cDAyMXN4aGJNL3pSZ1lKNUp2R0JjWEVZTWFvUEh4NlpBem5KZmR0UnFwZXRn?=
 =?utf-8?B?Z3B6Nk9tNkVlY1ExdGlvblJ2YUZGQ1hPd0ZlNm1ka25jdG52NEtKU3EwSk45?=
 =?utf-8?B?YVY5UzAreWpyTDMzRmhHRVhlbjFhb2JPYkp4OFVFcjhKZEZuVDZWclNuNTRu?=
 =?utf-8?B?VFFDRVV6aXFzVGkyOXNXdStMWVZaQUkxWWdjNzdwWStNekMzR0lhTHdqRU15?=
 =?utf-8?B?dTZVZDVObmF6NXBTWVdkdVpubzFmVHg2VGdUY1JYeHNXTkNJd0pjem9xQ3Uv?=
 =?utf-8?B?akRJcDJNaTJqeWdCWVZkZVJSM2I0eFU5S0xLL3NoRFlNb0gwSVRiRmM1WEVx?=
 =?utf-8?B?OFRxeHlReWphemdJZExSWjFmVVZjYnNLaXMzRCtnQXpLbnRqa1N5Zm9ES1RN?=
 =?utf-8?B?bDFaem9CcjN6WTh2NEs1TDEycGZLWDRnYnBEcCt2YVhtT2hWbVBxWGhXY1hI?=
 =?utf-8?B?TkhHSDhPUWZnWU9tU09abXJqTGFkWC94RHordER1ZnRpeGJDckZaL2QyMDJo?=
 =?utf-8?B?S01jZHk4YmJObENJaFdLdDhjV0I3aVFCSGV0M0t3NkM3M0xkVUFudTVrQ3do?=
 =?utf-8?B?QWZDR1NlNXpocFVKYnl3L0I1TlliZVloQVhPL3AzRnZrRUtuK2d5TEF5azEz?=
 =?utf-8?B?VmpxaGVPYUtseGlIc3VWV3gxZ0hTSzkvTldlZjR2M0QyVnYyQlB2M3NhY2JJ?=
 =?utf-8?B?TkdzWVVMMzR3MWJIZ0xRWkl4bXIvL01CT1VXOFhjai8xVzVtNGdHeWdTbXIx?=
 =?utf-8?B?dkVBVERtTjJ2R1dSaEFnaldWMjRxemo5bDRhTDhGWVh5M2ZJWDA0VGN0dWNa?=
 =?utf-8?B?T1hkZXgwVGRrZHMxQWtDNnE4Vjl6MWF6ZDRVbnFzUGRscWFscDFGSGVvVEdN?=
 =?utf-8?B?YlB2YzFsMzd1TzBjR0R4TnJCR0l5bU05enJnSzZ1S2hxY1N4WEZPdEMvVTBX?=
 =?utf-8?B?cWFhYzFVd1hLWTRiZTFKM01iUy9BT0Qzb1oremZ4aStaQ3pYcEpNL3VzRWtX?=
 =?utf-8?B?bFNxcEVGZnZZRmJOOVk3eWpxT3VJTXg3MUg2RWdCVHFROENBdlV3SlNWMXFu?=
 =?utf-8?B?Y3FXamYwSFdWVkpUUFZidTNKZGUvU2RiaXNsTlluOEVNNEFlZnRuTTdzbXQ1?=
 =?utf-8?B?dWptbWMxM1plRDM0VDdpLzZ6eWlSTGlaV3hYdUUxT3JBODc3ZkhUY1dnY0kv?=
 =?utf-8?B?ZWhSMHF1Z3pYQVJOUUZmdnFjZTRDVStEVmhiR3ZCTU0wMlpwdThuRlcwQkpq?=
 =?utf-8?B?TllFRXZPdkloWTNsemFENkh5MVo4bzh3dFNxS1ZpbVhyeUUwNHBIWXFtNHMz?=
 =?utf-8?B?czMyYlQySmtoUUtyQ00xMXIwSjFnYWlZQld1c1cyaUNYbGtydkdCc21GTUZE?=
 =?utf-8?B?K2lWRm9KWUI4bmNDMTBkYXg3QjhsMERla0hPUnlPdm80ejV5RStYSWVrRC8y?=
 =?utf-8?B?MkhHVlRLeTlDdGlCeHBiZExOclBtbTRPaXYwdWdxQmg3T1hKRy9jdXZNTzRp?=
 =?utf-8?B?M0ZNa01hUFIyRWF2Ky9xQ0RRdWRLOWFsKzBBR252bm5HdEtuNzhpdlM3MndW?=
 =?utf-8?B?S2kyTzdmMGhpbkNiUmdWb05XMUIxdmVXR3V6ZjJuTkQybldyWWlSd1FZd3p0?=
 =?utf-8?B?WWJhY01SN3ZqTk1GZ2pWbDNDbXBYa0JjQzRWdzdTVTVZa01NcTB1UWVKNU92?=
 =?utf-8?B?MWNNeVNKbVZhUGdMRWI0MHJNZldXUGlkN2VtUlluYlFHbkVzNnpjb3JDS0xI?=
 =?utf-8?B?SVJNOGxqeGNxbGJTTXQ2M1gzL0pDdGk4QWRxSit3UGVLU0llNGNSZkJFTHBr?=
 =?utf-8?B?V050ZkR0bWpwT0FMOS9rd01KZ2FsNkdRRllYSFF0RHVQa2RaT3FUUWF2aXBT?=
 =?utf-8?B?a254QXM2SVBENlZmZ2NKWFlDc3JNQ2ZrRTQra3B2T1JJQmhEOFl4N2Y3WUVP?=
 =?utf-8?B?MEZCWTFhSk40SGNrTzdtM01MQmxtcFFXQzZsU3h1Y2JoOXIvNVAzSGF2VWdm?=
 =?utf-8?B?UWJWb09sZDh0a201eXE2UGtUeTRGY2NBbGRDaDFYZjd3UWpOMXEyM3NsRDBR?=
 =?utf-8?B?VkxvODNmdDFMQTAwT1JqTUtoVmliNFpPd1A1WitoOTdUM2ZvcmRwUUYrSDY5?=
 =?utf-8?B?Smc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Phqj3fau7FKMZ1orO1glD2HfFz5dlk1v0XYLiVx4oMwbUsK+8P30IK4VcxHhnPzYB6DOArsqRAAl55Eb0k4ZpD85HtqDyP2ZUlWftFsm2mXITivTBhwgvy08idzC/BAEZt/K5PKCgFIjyCpIxwT/uWEX2NJ1lb4PaneV/feb1IQ5y7B1yqZpT22foMOcbDahOAgjkaxWty6e3vv2uIkJ7u8uA4lNbS7dKIDYwMf0fAHWggQXL47Jt+UJQJ2AY3X8KJRZxeiXzDfhyeY56VvPbtwUJcym//mchMKMKvUkOYok+vBFt/9KaXR3ziiMHOT7KtgjbsSN2DeX9+fBexWaPmaaNFf7RJ8L08lNjlEgaNFlDEpIlKtvh89Em8K/nQkgu8UkvgMHeINlV3cbRd3mZn9po+ohwM45nq8fgNa8V9vqEbWcjmmDg7+VUxb8iS/fAEuhjNgoEeuVJhfglI2nh+VPl/OWWvCwRKtwJV3IjnjVLZkazzXXhgYvpybrCrH/2OARJUp0Ep0fWVPbxZ1X3rvTi37FsgZdYxbAoSkOQfHF54gySUX+mTj/KXzvteNTVPG1uyp/hDjSwcYLtDvhO+pX7wPAT+lE/iQT0E9pkeNTmQkI5ZvtvE7RY4YIYGE5RljXs8f7ViQEvXh4ckO4IH1T5EAAfGTYYKrna1p/9QuCvu1EDDky8+6ZuYlxPvgtcoBVAo1IWYhEkvERvdY5SvAcxVyIhmphHCzg1l8Agi+NhvmHsC1A8XiMmbG/PV8IbLk2ZfZRqUpWK6G+LZyfw3tmI6hUySySmDy7En0Frd048DpT5wKDZxXuZ3JYs3NSWxjZvCXFh7IQGsq2LhAcB7A0nTON42QTUUT6wXnJYUeFAI5Um22U8wu5AMBm3kaa6FzNWdUGnpJP+f/4UQGHYlYwaEH+wqjR2YqxB8zk1Eg=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1452ebec-c9d3-4a96-1380-08db1b293c8b
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 14:20:12.8757
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QlTHYe73qEXar8ay0Oy+eOg7nLizP0q9vbYqAXvGDZhc7f71VKAWJ+0vROIwbW6iVCmwsJYuhhW05p3ylRmaRTD1Gu2rIwezCV3pDRBdP9g=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5078

On 02/03/2023 1:23 pm, Oleksii Kurochko wrote:
> Disable FPU to detect illegal usage of floating point in kernel
> space.
>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes since v1:
>  * Rebase on top of two previous patches.
> ---

Apologies - I meant to ask these on the previous series, but didn't get
around to it.

Why do we disable interrupts at the very start of start(), but only
disable the FPU at the start of C ?

To start with, doesn't OpenSBI have a starting ABI spec?  What does that
say on the matter of the enablement of these features on entry into the
environment?

Either way, my gut feeling is that these disables (if necessary to begin
with) should be together, rather than split like this.


That aside, while I can see the value of checking this now, won't we
have to delete this again in order to allow for context switching a
vCPUs FPU register state?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:22:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:22:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504962.777440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXjpE-0002Rv-47; Thu, 02 Mar 2023 14:22:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504962.777440; Thu, 02 Mar 2023 14: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 1pXjpE-0002Ro-19; Thu, 02 Mar 2023 14:22:28 +0000
Received: by outflank-mailman (input) for mailman id 504962;
 Thu, 02 Mar 2023 14: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=qSkR=62=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXjpD-0002Ri-7C
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:22:27 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061b.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7e11aaa-b905-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 15:22:26 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8371.eurprd04.prod.outlook.com (2603:10a6:20b:3b2::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Thu, 2 Mar
 2023 14:22:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023
 14:22: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: a7e11aaa-b905-11ed-96ad-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VaoP84fPC4b4dXtqETYEqgHhlsgH55JH5kAx23rpS6gb/FZ3bTEqBtzXKAiNn+gr4OGcUylJRLeKwFQl5pvYcinbtz7puSuxc782Vs1K5zWAZVGt0TZDCoMPhSAdKwKqdNwm1C6u15sjEidiog7k8uwSxKPuUsM3QilIZDUnrPoMf+7QNfBXOMQp3/bygBWodxy9beEaMb6pY6HGuW20cbwFFKZcTvTtIICbgv2J8pVJ4ansQNIbWAK5Dvfnnx9m8UVMKMKm7lL3BPn+MsyuiRw1yVZryJurZrWBRWzMkOPOcdKj2gkpH1ebY7AmoeZtlKB9xQvr3HM5sWWI1iUtOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=liG8TeAInLyi+60qJap9mQUlyRLogwSl9dnPX6da9Hg=;
 b=a9S4itC75/QJ7BNaqOEkb8rkgh9Yv6pDN/R5Pp4CW+15ahDTMBVAFqiLkV1+tzOROdBiimjegHyjob0EcIg0yolq3lO6utObEls/y4zODBzCRXSqgZbSag9xFq1pfm8uPJkIYHlMAbhxYDpkHj+ScZMJ3ITCoguHIgHH/xFjWSIiP9bChE+m75QHXsvTRkG0bWMBZw0hoZ39kDMYknBWGUASeSAtOKfi4gH7oIsypepovoXwpKVIL5D2vvwCWKXWyg/AdtXWW5/IIXMNFfAjmvsa1QQ00XtwMUYvQ5wsm0In9If+mUEAK0hosrJdUh5HIMoOUmmsarDD+qKkAZGEnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=liG8TeAInLyi+60qJap9mQUlyRLogwSl9dnPX6da9Hg=;
 b=vzwv4YDdins4eh69aawT/t6yfh+JdVWAY48abSJ1yofU+ZLVGgPI4uIZS3YC6fvJN/jTSE+bvLtdzlQJokt4HJkRp3jTR9bGIDooO68IxV/hpSp4YJnku50cPNI1Su1kvl1Y9xU7hhkVnARUk7SAhspC2I6nt26xAWngtLS0kdT+BGjJbFba1GDcHxpFCNjsabPXKyiRHTMB0pbzme7KlkTDd0pJ+afYnBW4oExZ5i+YNtggDfbRiqjuYqv3X9yP3/k86ZrmdeDvH0NKpUJF9PRXiya3hrklKzlkK1ETA/qjm5/uz6t4M6w/NBb1OkLZwx8qUwI6k6zeg/vKvH1Yog==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <270118d9-0a7c-82c5-aaa8-437644017af4@suse.com>
Date: Thu, 2 Mar 2023 15:22:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/3] xen/riscv: initialize .bss section
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
 <495bd1d7fc2becdd48bd00253c079971e2231e99.1677762812.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <495bd1d7fc2becdd48bd00253c079971e2231e99.1677762812.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0098.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8371:EE_
X-MS-Office365-Filtering-Correlation-Id: fce2b61c-fe4f-4680-bb13-08db1b298a8e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EzRR9yACt1hSbmJ//aLpxuT47R0vezc9JIeLCGsqpZ0FZtZJgkYhypY4zkYyu1hPtdsLd0yqewhbucRZDfxvOWqf9faMNdADxbt4n0j5hqWeuULqo6DxJAfHsbO5J+srx8a5McuxYMHN79g84dbt05RnVHIOmXqTT0eCwGZgf3PwGa8+K8QmJIwJ0eYdYX4qZ3Ckub7wz1DOjmh+wZORcf4Jr+sPTwmmGzKsvwaQ5Z9ZlkwHfKTFzZdk+ILO6QJI2wJdZntPQfdueSDL2kwqMX2VDEdJqv5rPvPqFixDzD28lqqYYcuuhn9c6tZ/bAprpqJAVNpTBJeAqcCimDrP7iiioyr85gz/AZm5EffSeMwl4f9pdpLdLoqe9L/zNngVV1l53avTt3F8y9UXuFioz7DHJdivrSlnyHkiIxIhBBQdr57cFThZ5xCz3xb3PKpIx1rAfd/HWm6FVDr7nQWMRN3GEZMMYhjpJOGVRhbPVHf6ai4gSePo22QJsjSscXDWpBnPAEayymmoeVjfz7U0mw5tZuOfY2iLEPNwxyGuplOUVwatMfZgOBk+RojmZtQQwD54duhKmkB0nDHTJiLfePPTm/akc2UVLBNxgdW3bISFAX2XID70aqU+y/JS8Gsuo2y+MsBVBEYTZxVxyV3QHyPaoBQ1Bqnsn4625KFwxccKOGcRXVskvq5KDWFhX9x6T16QJoxf/zoEsHWRcP24XU22EfjegO33kgo7TYtGaij63ZYQ55p1fpxTZrnU+Kf25pusINoqYM01Olnp2MYlzg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(346002)(366004)(136003)(39860400002)(396003)(451199018)(2906002)(66946007)(66476007)(8676002)(66556008)(316002)(8936002)(36756003)(41300700001)(6916009)(4326008)(2616005)(83380400001)(6666004)(186003)(26005)(53546011)(6512007)(6506007)(31696002)(54906003)(86362001)(478600001)(38100700002)(6486002)(5660300002)(31686004)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T28rOTlvQXh2dTR1c1NxUEJLVHJ1QkhvY2J6a1NkaHlianFZWW5vVndXUFRI?=
 =?utf-8?B?M1ZFd2sxZVFZRDU4cTR6Q0ZTUXJCNUltYWE3T0ZsUk9LZzd2Um1GcUFiaTFB?=
 =?utf-8?B?bE9lMFAwWnloMHlCUTNSb1hXcUt6OGpXM29Rb2EzRlJENkpPTHN0YVp2enlK?=
 =?utf-8?B?UnNlSHJCVmxvM083ZGNwcGNLcEtWVzg5RG9GajhjNTJjcGtJT1FiY1A0bUFY?=
 =?utf-8?B?MUdNNU9CbVBYRmxzMHV3MjdqWW1UbEJKaXlScHNnajE1QTIrNzV6NHpndEgr?=
 =?utf-8?B?bWdGOHp0ckJ1Sno2M2VDMzkvVzNSSlBWWDA0cWQ0VWJ1cDY4QkMzZ3loTEov?=
 =?utf-8?B?d1BCQ2FIaFk4Q0pPRXZaRk1zbWYvZWVqdFpieFRGTy82eW1sRW53bGl4d0ly?=
 =?utf-8?B?Q0VhTHdJU21uRmhQUmVyL3pRYjc2c0RlSGkyNlgwWjRxSkY1NDA1cXdTaitq?=
 =?utf-8?B?WFZUQ3psb0hIUTRJSTBBY3pTZG5zL1o5QWxjMm1CQ0d0THBMNDlVU2MrbWpr?=
 =?utf-8?B?cWtjWkRxSVhGNSsvakNZREJ1Y2dXajJVblkxeTc4U2kzaldXSkdlcjNkVzBh?=
 =?utf-8?B?cnliNWVNYWk0REZEWkkveEtkV21yQ3VJNVFIaWNjYVhFWkhOTHJUMjBrdUZO?=
 =?utf-8?B?aEZHVDZGbjZLeCtmaVVEbmFLbGJMU05Jbm05d0kxdnFPNmJPdnc0cDZKY0o3?=
 =?utf-8?B?WmJ3Q0NVZFExcHJHQ2ZHNWJCTGUwSkUzM0VNZVFzZzVWM1hzTFlnQUF5UEsx?=
 =?utf-8?B?bmpJWFBFU25iWUsyL2ozL0lNWXVzTzMrdGJMUUFGZGI4bWEyQlNSaU1sdVBx?=
 =?utf-8?B?ZnlIOHdqYjdOWVpGSzE5dUxrbDV6SktSSnc4d00rWGV1Rk9tUmZuYnZNQytD?=
 =?utf-8?B?QmJzdk91NHVOY3ZhRlI5SEJHdUtoNTZmQWdHVnlaUzN5Q3hDWllEdFZzMFRT?=
 =?utf-8?B?U1RtODYrd1dpeTVpdzhKNUJTajkyVkxBKy9GT3FtZ3J1REhHYmhDaDBTS2FF?=
 =?utf-8?B?RHVZRklFUEZyRzFpakQzbzZRaTFNVVJqWDBJY2NuRndFdUJSbEtJVlVzTU1j?=
 =?utf-8?B?RktvL3IxaWpFTXZ6OWVZZE5MWnVqRks0UVp5Vk9IUm1WRHk5ZlRVOWNOaFp3?=
 =?utf-8?B?TmFKa3hHUHBlQlM4emVHS0hhTVluc0lpc2FId1hRMGl1VkJZNitjL3NtU1Jw?=
 =?utf-8?B?QVJIRlh2M0llTFJHYmNEL0htUExQSGxuVjZRcDFjK3laNytkdjk0OFFUbFVK?=
 =?utf-8?B?VWF2WkJVb2YwdjdRK0tHbU9FSmpNa0p1TEtRYzlBOFp6dDJKSGNYVG9MQ3Va?=
 =?utf-8?B?WG5zMHMzUUxidE1IMmFrSEM1eDNseWpWcTVOQS9hanRET05pMEQ4SVFhYUx6?=
 =?utf-8?B?OXlSRW1vb2tFRFU5MlpHZ2ptVjBtcnZ5MDFYSTlRK09CVjVHNHJZOHpKZUZE?=
 =?utf-8?B?ZENrMk9RWHhPaDlkZlBhRmZaRUF4YmU3WHcvdW5xYjFSclh1TVAzVjJrb3Bo?=
 =?utf-8?B?Q2d3cndqMVltbE96dXRvSHdUN2owY0tsc3VsTjdFeEJVRTNTR3lhQUFmY0s4?=
 =?utf-8?B?K044blBsRUpEeEJIS3hIMjJiQmQ3ZDlUTk0wRUJUSEdXNFlzZ1lpbEhCYXpt?=
 =?utf-8?B?ai84aXNyMmxKYzUwdjdETTc4Q3YrVGkyUmkwQ0F1TXZKV2dvczIvazhmRmFl?=
 =?utf-8?B?MmdVTldqR0hEWEErV0lJNnc4Y2tiT1E1WmUyVXRiZTJuNkNJRWx1L0lrZ3V6?=
 =?utf-8?B?QUNocUV5REl6RFpxdTZSSUcrU1prM3R2WXdzdDVTV2JDdzR1RDBPK3NzY1pH?=
 =?utf-8?B?eithM21HMVhMdmZoeXRRMHlYdG1FclFuMWdtRUNuWVV4cGRCenZVQW5lOHJX?=
 =?utf-8?B?YUZnckpia1h6d2ZSOXh5a0RPR0FVdTZKZThYaWJyS0F3WnlnNzZEekJBVEFD?=
 =?utf-8?B?SUZxY1A3bmdJb2FaOEx1TjhleG13dzExQndUY1haSG9tV0xsN3NrQlFKWG9X?=
 =?utf-8?B?NURJZEFONkMzam5jODRQbzVrM0JZMTlRdGJwUndxaGh6d3F6UG5vTHFKcHc0?=
 =?utf-8?B?MjFSZXNPUU1FS3B1R3VJYXIxcmlMampZMkNhcmdZSFNEb1ZIWXJ4QVpBeUpq?=
 =?utf-8?Q?6tdB/6hZkz0oQjGYIqde/oYBR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fce2b61c-fe4f-4680-bb13-08db1b298a8e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 14:22:23.7619
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZYc4OSQ6UaFs1xD7zqOGhAEAERSHjKwpQolJmocLAooAy3ijJMxldHJ0ttxe/Qt8SpUkqe2FV3LD9oZyw7s1AQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8371

On 02.03.2023 14:23, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/riscv64/head.S
> +++ b/xen/arch/riscv/riscv64/head.S
> @@ -13,6 +13,15 @@ ENTRY(start)
>          lla     a6, _dtb_base
>          REG_S   a1, (a6)
>  
> +        la      a3, __bss_start
> +        la      a4, __bss_end
> +        ble     a4, a3, clear_bss_done

While it may be that .bss is indeed empty right now, even short term
it won't be, and never will. I'd drop this conditional (and in
particular the label), inserting a transient item into .bss for the
time being. As soon as your patch introducing page tables has landed,
there will be multiple pages worth of .bss.

Also are this and ...

> +clear_bss:
> +        REG_S   zero, (a3)
> +        add     a3, a3, RISCV_SZPTR
> +        blt     a3, a4, clear_bss

... this branch actually the correct ones? I'd expect the unsigned
flavors to be used when comparing addresses. It may not matter here
and/or right now, but it'll set a bad precedent unless you expect
to only ever work on addresses which have the sign bit clear.

Jan

> +clear_bss_done:
> +
>          la      sp, cpu0_boot_stack
>          li      t0, STACK_SIZE
>          add     sp, sp, t0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:28:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:28:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504968.777450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXjv0-0003Ec-Ub; Thu, 02 Mar 2023 14:28:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504968.777450; Thu, 02 Mar 2023 14:28:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXjv0-0003EV-Ri; Thu, 02 Mar 2023 14:28:26 +0000
Received: by outflank-mailman (input) for mailman id 504968;
 Thu, 02 Mar 2023 14:28: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=qSkR=62=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXjuz-0003EJ-5l
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:28:25 +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 7d296bf8-b906-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 15:28:24 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB9210.eurprd04.prod.outlook.com (2603:10a6:10:2f9::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Thu, 2 Mar
 2023 14:28:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023
 14: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: 7d296bf8-b906-11ed-96ad-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H0GDSqaVY/pX9mHYKbYDouZRGugFBxGu4C73OyS5IRNv0pFraUCL8aAxd71EUhyZsPS6YDTWU+IAdX8678d8qb1mUoCC+5BOI98HMfqnyFFmRf3rcJEBh1gvdbmCDa6aLMtF6CZrzEjSVlsWi6g6J/tW991nOHB+lOuqT6pKbdNaEs5v0tQIxiO0ApMwgwSkhznsagCZUSsvTHbdAOfe3AHaPRr0aeZthylhyeYC+JnWkTs8AMiFP5vEg09ke12IwsILzn6Q6TRHogBiYtqezpYPXYjvFHiQL/qoBYoyyTpXFHnr2OIK5NnE04o+kYnWNDm/LZZJFCMU3WnsZJhIWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kfm9uMF70+d2IOZPPQI5T/zd8bek/4f4z0JwNpGc9Rs=;
 b=hedWNQuXyJNc+G7aBxlnzToUyTNz0lvlY8gjltKRQ/BlVNXyxLFZr4dLE1bHClgHBtQk7SRp6IcdRsVFetJAIrqi0ixFtzwVKEGLWcqcGnfY2ozIRdxPyLVsQ/7ImkINzJ2cxvYbSPTNqQnOjrEnbGoaBverKawwHriI9nAppaKkgHHbK2+iq/NmgGJnec8XqDv+z8HrsaRidwh23toyUrBPggbQPqcWe80pvnTsUi6WaeURjS1EJ9pJgzxz4ne36jrdNasOeXGiHMLrMMyCGJ6xlIbwNuPoOiXbzdkYWyTbji5f0D6Ox881hEmDrkBoHnL2efYjtRZERldk/Sv3cA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kfm9uMF70+d2IOZPPQI5T/zd8bek/4f4z0JwNpGc9Rs=;
 b=w6lXEsezU/FYkcB09Vtt/4MtAkQ91f2pcd6SdgDb4EfpZ1WHuCKrKPEW5ngHyMoct6vZYNeUGrc7j2I16BRI75yCi2J7QGRwQoobM/LpDaS8Pk/Qwy+iZj4djoXGvd2wEm+jx6RHTfkEcKVkjKSfT2tDc5G+21huGl1UmfA1aMa5SRDCHNzYhOuUc4i/n+c0wVNcAGmi8oDoN0ojzvGpBTtmNVlD1voENwIFapx/bG6S5QDMPoMoaiEmQAs2u/U3Q1dcV27FAPGqJYzmVWJEThahAp9akW51ton5nPmvffxt70u+Zd2Y7l+MSX0pYLxksuzVepD8YOSVnlVhW8YzRQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3ca5b1e3-918f-0369-4368-749bbf363cd3@suse.com>
Date: Thu, 2 Mar 2023 15:28:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86emul: rework compiler probing in the test harness
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0124.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB9210:EE_
X-MS-Office365-Filtering-Correlation-Id: 78122d1a-a7e4-4874-5284-08db1b2a601d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KcHAapbCe6/u35kNAi3+H8Rmmt1Mn9OVIj4ygB9JJZaJwqlmQzXQilTfF2rj7MvQBFJMXDfAXLcZ3PIKSEGLorkR+GTmWKFCS3JHAK3vDJpufttkipfwLti/wN5Mx+q9b/LNAJyy5mi/HX7iv1XHhfAyyYmPNOG9tzDdQTDwZBcs5Nh2Tg+SeuM5QKfatU7AAbYBg9pkgnYEDGCi2MSvOHycjstcsP1PvnWJ7UOJWpMZKrev6yMI9Y1NNCzcFJPRsym7PUMVcfGudDby7Sm0CRqBh3ZnV9EkgAKIJzVZHG2yhV34mhXunQxGza8Nnetig+RqMRttkHe/h5wU4eEjlNQbcgylzydKts49BsNjIdcaCL2BA3WgNQgD01YoCgRZlEi8YJtmzk9eG+IJKteMVJ1XGLAIKJ81V9T9i+7lvGlFi8WC1mtxIo1VROBoFZ0raU1A502u6lqaffVHCr3OCvcXRUxn/YDQD7cVuKrmC3FZ1V5ScFMFmkTCPf8hm9Yvx0cU898rWp4PIWfdKYDPkrZFuyr/7MSMLzNZPia3Lp+MWXkd5uUpmwAGFsYQWeGvyVv5wVVStEY561cYMwqNTiz0WbD04nAcM/4hJucfD3eerky3Tl9KHBtD14TLHhWeiIDKDa2UiFVFSRgbVMwiUeMAzO5hXpC578svl40zyarPWtgJM3rfeJm5kCtnjnvXdzDupns4MNjbY9iBm085cRFhBBV5s+sSnd5qfP0ip+4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(396003)(39860400002)(136003)(376002)(451199018)(31686004)(36756003)(8936002)(41300700001)(2616005)(54906003)(6512007)(66476007)(6916009)(8676002)(66556008)(66946007)(186003)(4326008)(31696002)(86362001)(2906002)(26005)(316002)(5660300002)(6506007)(6666004)(478600001)(6486002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VVJxOVBRNmxmSkIzTU1DTUcvVUMrbER3QkJiUnVDaGRlNEhLSnVHMGFBUDZE?=
 =?utf-8?B?cEJ2UitFeHhib05qYTRJZ1Zjdi9tVmh3cHFqRUcrRkVJeEk2V3RMYTAwaGFz?=
 =?utf-8?B?WkhLQkgwcHpBc0FuQVlXY2M1YzVMT2pHRTlza3BzcnBuc0d4aDhrMDlNRitU?=
 =?utf-8?B?V1RsSDZrRHhITHl5QmFBbUhqTFdQVUNub0dYd3EvY0dYdlYwNXlWM2Y4cjRH?=
 =?utf-8?B?R1JRZkZhT04vVmtiRWtac0pVaytPanhpR0w2aFM4MjBRcml2eHJ0RTY4UmU2?=
 =?utf-8?B?ZmhhR1hPZWIySzFuajJ2MFRXckEzNVRyZFNiRWxZU1VHbE9zaHdOOUZNMUMz?=
 =?utf-8?B?TTJBeUNVNXR2WVByam1zdDdobmtFOHZQTXF1ZTZBVm0wNzR4RlpuZjR5N2dr?=
 =?utf-8?B?bTN4OUVYU1VwWVVjY3FGeDF0SmttNWxMSElHT2ZoWkI1VXV0bVRIRFE1Y2JT?=
 =?utf-8?B?L2FOK0YrdzBkRG5EM3ovQVhCekVrV3hHVHBTeUlrWnVLT2lnSkk5bEdiamc2?=
 =?utf-8?B?aGQzT01QTWR3TC9tRFBDTVd6QWRBTlU5TmwwVzR4eVBwL0NaekRHY2hrVlEr?=
 =?utf-8?B?dXcxVTQxZlJxVzlpdTA4UVFLNlBWckh4MVVFL1c5MEYwSkF0cFkrNm9MdWZW?=
 =?utf-8?B?ZkdDMFNJNnBHa05vb2ZhVWREdXpUaytncm5KUnJ5YWxWWS8yNXdIRlUxcHZF?=
 =?utf-8?B?MXUxR1ZaZFNsTTZWQUpuZ0t6clJmRHB1Q1hMVC90ckR4NUc0bjJkMnE0ZDNV?=
 =?utf-8?B?U0JwMG5PUnMvVi9UaWY1RUZtWkU2TTdaSnBGNWx2a01ZaGNLL3NVQUJ0dXAz?=
 =?utf-8?B?ZXM5VG1TM1ZiSWRNYUpDWVVYYWg1dTRudW9qWnZwS01RSjdrYzlEa0N6LzlW?=
 =?utf-8?B?Z2ROeXZhSWhDTlJlbllNSmtLTHA3bHAvcnVZOTRjOUdOdWRFYTlvQUNOQ29j?=
 =?utf-8?B?SXdFYWx1c3dZRHpRTTNhTnJKc0pHaDJSWDlHT1BwQXZRMjk3SjRlZmwrSjJJ?=
 =?utf-8?B?Ykd0VFArSFo0SzM0bWp0VWJDTzkxVm83U1ExZE9sNFZLV2JQWTJGaEF4MTlH?=
 =?utf-8?B?L2Rkd3hzUXRYTEZheFM5ZVZBMVlwR3lSeEUyaVNKWUJGeW1oK2dkQ25BVUMx?=
 =?utf-8?B?VUFiWlJBZyt0SXBJNm9vcWV6WjBPNllCc09hdmpFNGRFbXBrZ3Q3Z2cxSXdC?=
 =?utf-8?B?aGRuVGFJdTlnODRkSTBrSTBpZXl2d21abVZ2VFJUaTBGNzlxNXBjVUlIUnZF?=
 =?utf-8?B?ZkJiSTNpRmFZcTVjQnJtNWEwR3NkeEF4ditRK2F0NHBkQWlvbzIrVU01YXNI?=
 =?utf-8?B?YUJ1Y3VBVG0xbEs5K1VPU3RLRnVkTk5lUWpkNWYyUldTUzE5UTFXeXNLZUZE?=
 =?utf-8?B?aW9wUDhwQk5mVndQQkl0bmlINVNBWmtEZWJWcVRvWFR1ZGZZeUhwTGRQeU9G?=
 =?utf-8?B?L3RDa3R6T2gzOEx2SE1BRjF0UXZmNTNmbFhCQjhabVhDU1J6N2VzSmwramdU?=
 =?utf-8?B?V3dOdGRCUk95d0NIc01FWlpjV2VrS1pCVHVIQ1RsZ2w2TjAzSzVkek4zR3Ux?=
 =?utf-8?B?cGx4akdNbGhGTXpaSE9xN1RhWE1BN2dGbXcyV0gzM1NvVnBXNlVqd1FCMnJq?=
 =?utf-8?B?L21wMnhzNEMvMHB4aVFMcDJjSXhVRmM5ZURnZ0xKSFV1R1pzLzZoS0RhakZX?=
 =?utf-8?B?MVRsSVo0VW9ES3RhRkFlWFZua3dHREJqREtCRDRsTEZlY0dXQ2NQSzZDR3V0?=
 =?utf-8?B?Rk1vVmJsaUs3MnQ4UlRSQVpKNDk3S0F6MVMwNDUvSzF1VU05TGFFR0pEWW5r?=
 =?utf-8?B?Ym9qTVVTaFlWSDFlck1nc3ZTNGM4WXRsTklLT0RqNmFMZUNoUm9CRFhjeG9Q?=
 =?utf-8?B?UXhNRHhnNDZWakpWdmtpN1MwWUJDUjJCM2puTGcxZGZjcW5FZUw0WDF1UGV1?=
 =?utf-8?B?b01vRHRJb0ZZNFVrS1hiVXUxRWE4WklXTEhnN2NKSG5NYk1YR0dPZlVPTmJw?=
 =?utf-8?B?c1QvalZ0YVNhd2o2L0lDUnhueFp1V1BRYy9yaDN1dkw5SVhBNVNwaU9EVW53?=
 =?utf-8?B?ZUtNMmVKSUx3aFdXZTk2WWdHSkcvcnFuNGFrRDVOeTZ0QTBEOXl5YmY0cHll?=
 =?utf-8?Q?iPcbJv802DNXv26R8AMfw0jfh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 78122d1a-a7e4-4874-5284-08db1b2a601d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 14:28:21.9730
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: g71NPFIXQQfPqA5UTg8YZhV4if3L6Fo8FAKEfrQS7GWvZe3JNee1E2L2rnHXx336j8eJf7TY0TQPlQ3ObVi9BA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9210

Checking for what $(SIMD) contains was initially right, but already the
addition of $(FMA) wasn't. Later categories (correctly) weren't added.
Instead what is of interest is anything the main harness source file
uses outside of suitable #if and without resorting to .byte, as that's
the one file (containing actual tests) which has to succeed in building.
The auxiliary binary blobs we utilize may fail to build; the resulting
empty blobs are recognized and reported as "n/a" when the harness is
run.

Note that strictly speaking we'd need to probe the assembler. We assume
that a compiler knowing of a certain ISA extension is backed by an
equally capable assembler.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
A little while ago this would probably have enabled osstest to actually
build the harness. Luckily meanwhile a new enough gcc is in use there
to be unaffected by the inappropriate checking.

--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -104,11 +104,13 @@ TARGET-y := $(TARGET)
 
 ifeq ($(filter run%,$(MAKECMDGOALS)),)
 
-define simd-check-cc
+define isa-check-cc
 TARGET-$(shell echo 'int i;' | $(CC) -x c -c -o /dev/null -m$(1) - || echo y) :=
 endef
 
-$(foreach flavor,$(SIMD) $(FMA),$(eval $(call simd-check-cc,$(flavor))))
+ISA := bmi bmi2 tbm sse4.1 sse4.2 sse4a avx avx2 f16c
+ISA += $(addprefix avx512,f bw dq 4fmaps)
+$(foreach isa,$(ISA),$(eval $(call isa-check-cc,$(isa))))
 
 # Also explicitly check for {evex} pseudo-prefix support, which got introduced
 # only after AVX512F and some of its extensions.


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:50:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:50:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504978.777460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkFw-0006sb-PB; Thu, 02 Mar 2023 14:50:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504978.777460; Thu, 02 Mar 2023 14: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 1pXkFw-0006sA-Kh; Thu, 02 Mar 2023 14:50:04 +0000
Received: by outflank-mailman (input) for mailman id 504978;
 Thu, 02 Mar 2023 14:50: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 1pXkFu-0006ZR-TF
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:50: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 1pXkFu-0003YH-H0; Thu, 02 Mar 2023 14:50:02 +0000
Received: from [15.248.2.148] (helo=[10.24.67.20])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pXkFu-0003Hk-BY; Thu, 02 Mar 2023 14:50: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=5fe8Zad2At3QNtgzV6CN27Y1npXSjdEYhVSLoYTF1TA=; b=SERxtXvpHGISyJozv4vW5EXu6k
	M/sAzfO3cV6JylVih8lxeZjuxSTmUqVDuvjJ6uAGeoIqRmMlZgtOoIYGO1wyttKjCAbpCgbHeIiyU
	MIvd6hlaqsMQGpOLhAtyeyPeuwIVg9wLacI6yztPaoI9v5O5kKJ4nIGDXgXWws2hArdY=;
Message-ID: <ab953ad7-0345-ce60-610d-02b6f4b26398@xen.org>
Date: Thu, 2 Mar 2023 14:50:00 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/arm: align *(.proc.info) in the linker script
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com>
 <370809af-75e6-546a-53e4-71a76444f367@xen.org>
 <a9c2638cd8620d74ec719845132ef65f08b4c934.camel@gmail.com>
 <cf15b113-ac6f-e115-6c38-38b25a265934@xen.org>
 <f2f6544a-a59e-2e10-0b8f-080f91708459@xen.org>
 <472fee066070db9cb3c662bf5cc6f8cb681aeb1b.camel@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <472fee066070db9cb3c662bf5cc6f8cb681aeb1b.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 02/03/2023 07:34, Oleksii wrote:
> Hi Julien,
>>>> On Wed, 2023-03-01 at 16:21 +0000, Julien Grall wrote:
>>>>> Hi Oleksii,
>>>>>
>>>>> On 01/03/2023 16:14, Oleksii Kurochko wrote:
>>>>>> During testing of bug.h's macros generic implementation
>>>>>> yocto-
>>>>>> qemuarm
>>>>>> job crashed with data abort:
>>>>>
>>>>> The commit message is lacking some information. You are telling
>>>>> us
>>>>> that
>>>>> there is an error when building with your series, but this
>>>>> doesn't
>>>>> tell
>>>>> me why this is the correct fix.
>>>>>
>>>>> This is also why I asked to have the xen binary because I want
>>>>> to
>>>>> check
>>>>> whether this was a latent bug in Xen or your series effectively
>>>>> introduce a bug.
>>>>>
>>>>> Note that regardless what I just wrote this is a good idea to
>>>>> align
>>>>> __proc_info_start. I will try to have a closer look later and
>>>>> propose
>>>>> a
>>>>> commit message and/or any action for your other series.
>>>> Regarding binaries please take a look here:
>>>> https://lore.kernel.org/xen-devel/aa2862eacccfb0574859bf4cda8f4992baa5d2e1.camel@gmail.com/
>>>>
>>>> I am not sure if you get my answer as I had the message from
>>>> delivery
>>>> server that it was blocked for some reason.
>>>
>>> I got the answer. The problem now is gitlab only keep the artifact
>>> for
>>> the latest build and it only provide a zImage (having the ELF would
>>> be
>>> easier).
>>>
>>> I will try to reproduce the error on my end.
>>
>> I managed to reproduce it. It looks like that after your bug patch,
>> *(.rodata.*) will not be end on a 4-byte boundary. Before your patch,
>> all the messages will be in .rodata.str. Now they are in
>> .bug_frames.*,
>> so there some difference in .rodata.*.
>>
>> That said, it is not entirely clear why we never seen the issue
>> before
>> because my guessing there are no guarantee that .rodata.* will be
>> suitably aligned.
>>
>> Anyway, here a proposal for the commit message:
>>
>> "
>> xen/arm: Ensure the start *(.proc.info) of is 4-byte aligned
>>
>> The entries in *(.proc.info) are expected to be 4-byte aligned and
>> the
>> compiler will access them using 4-byte load instructions. On Arm32,
>> the
>> alignment is strictly enforced by the processor and will result to a
>> data abort if it is not correct.
>>
>> However, the linker script doesn't encode this requirement. So we are
>> at
>> the mercy of the compiler/linker to have aligned the previous
>> sections
>> suitably.
>>
>> This was spotted when trying to use the upcoming generic bug
>> infrastructure with the compiler provided by Yocto.
>>
>> Link:
>> https://lore.kernel.org/xen-devel/6735859208c6dcb7320f89664ae298005f70827b.camel@gmail.com/
>> "
>>
>> If you are happy with the proposed commit message, then I can update
>> it
>> while committing.
> I am happy with the proposed commit message.

Thanks. With that:

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

I have addressed Jan's comment and committed the patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:53:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504983.777470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkJe-0007kE-7P; Thu, 02 Mar 2023 14:53:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504983.777470; Thu, 02 Mar 2023 14:53: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 1pXkJe-0007k7-4i; Thu, 02 Mar 2023 14:53:54 +0000
Received: by outflank-mailman (input) for mailman id 504983;
 Thu, 02 Mar 2023 14:53: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=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXkJc-0007jz-OH
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:53:52 +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 0c258645-b90a-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 15:53:52 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id g17so22480710lfv.4
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 06:53:51 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 y18-20020ac24472000000b004b55075f813sm2154896lfl.227.2023.03.02.06.53.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 06:53: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: 0c258645-b90a-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677768831;
        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=5SSUBnQqHZ5gnDJR6SbL7el1W56pgUBsPLQROqNCbBA=;
        b=kbum3z7UjiUCredUTmZLAy315pNhwnUDrVOjLuPLdh/E+LYzTWvapbsxwyHQf0tMlO
         70JHxlTejh9zFGAXgnNb00avPcPrzGPtDpEhNifl4W4w/UxFv3j52K73lElJNi79Pedq
         DH1f5W8flCWdU9uyslkS07kNWo/dXqFIxh6UycV3G5f8pyKpSRIkE/mT7aevktMiPLi9
         U3dh9PyGR3YuSUguJHaq9O0S2dzrMfxi6Y8kIsK199wELr1YAR7v5Kw/Nr+Y3FpsMAzc
         bOhc3458LdfEi852ALm6FiHFWagP7h1QZNxJyHTb6k7QwL3xMKF8H7ICl6C3YK58YMex
         v7+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677768831;
        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=5SSUBnQqHZ5gnDJR6SbL7el1W56pgUBsPLQROqNCbBA=;
        b=xVwfWQ/TIeigpCB9mjLa4/tKhzr6kwLfZ4weQc5gqfi3QtS1SOx+o6PMoew35XuquC
         a54TDI/6oV35GxVt7cLdSpBJWGtAImYASaKzqZJaXjLOHe9jrbZ0hCitgqjqnWeSifdk
         6ZB7tNxN6n+jaIDIDEJ9bJLkaBA9LXl/GH38dVy0Jmk04B+ausOnl2ZHZMzSNLsZawr/
         lAeGUf4OTiMlILnYlnQIODCZVUyaf9p3H9a2xHGs4kHFJ2Z4Zpmy8axU/iHn7lAH7YBQ
         QFrMjPySQC5HwiN/nIjLkT5MyFTtcWgvAGZLMhUHXn6eCm0Zoq/disEg2gsjAo0oPAby
         ouEg==
X-Gm-Message-State: AO0yUKWQYBQMExEDqTNg35Qc13wfQoHwTN0/dhFiV52xXp/1PWK0cLZx
	S2ElrP1rZG+/PANIRXD130I=
X-Google-Smtp-Source: AK7set+SlsYHw1yr+JIpv4Z7S22rTl2rUaj/2yv9etriWM0GIBdCQ/OOIJdt1+r3medPbcX+jv4afg==
X-Received: by 2002:ac2:520f:0:b0:4ca:98ec:7d9a with SMTP id a15-20020ac2520f000000b004ca98ec7d9amr2537707lfl.15.1677768831384;
        Thu, 02 Mar 2023 06:53:51 -0800 (PST)
Message-ID: <f0d1e5b78482639a25f1ef0cf878309344383e7e.camel@gmail.com>
Subject: Re: [PATCH v2 1/3] xen/riscv: read/save hart_id and dtb_base passed
 by bootloader
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>,  Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Date: Thu, 02 Mar 2023 16:53:49 +0200
In-Reply-To: <881fd332-91c1-fea2-d1a2-3a5444a6f272@citrix.com>
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
	 <3edbb40e86e480b2b71d596ff61c05336004b14c.1677762812.git.oleksii.kurochko@gmail.com>
	 <881fd332-91c1-fea2-d1a2-3a5444a6f272@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Thu, 2023-03-02 at 14:02 +0000, Andrew Cooper wrote:
> On 02/03/2023 1:23 pm, Oleksii Kurochko wrote:
> > diff --git a/xen/arch/riscv/riscv64/head.S
> > b/xen/arch/riscv/riscv64/head.S
> > index ffd95f9f89..851b4691a5 100644
> > --- a/xen/arch/riscv/riscv64/head.S
> > +++ b/xen/arch/riscv/riscv64/head.S
> > @@ -6,8 +7,31 @@ ENTRY(start)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Mask all interrupts=
 */
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 csrw=C2=A0=C2=A0=C2=A0=
 CSR_SIE, zero
> > =C2=A0
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Save HART ID and DTB bas=
e */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lla=C2=A0=C2=A0=C2=A0=C2=A0=
 a6, _bootcpu_id
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 REG_S=C2=A0=C2=A0 a0, (a6)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lla=C2=A0=C2=A0=C2=A0=C2=A0=
 a6, _dtb_base
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 REG_S=C2=A0=C2=A0 a1, (a6)
> > +
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 sp, cpu0_boot_stack
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 li=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 t0, STACK_SIZE
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=
=C2=A0 sp, sp, t0
> > =C2=A0
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lla=C2=A0=C2=A0=C2=A0=C2=A0=
 a6, _bootcpu_id
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 REG_L=C2=A0=C2=A0 a0, (a6)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lla=C2=A0=C2=A0=C2=A0=C2=A0=
 a6, _dtb_base
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 REG_L=C2=A0=C2=A0 a1, (a6)
>=20
> This is overkill.
>=20
> Put a comment at start identifying which parameters are in which
> registers, and just make sure not to clobber them - RISCV has plenty
> of
> registers.
>=20
> Right now, we don't touch the a registers at all, which is why your
> v1
> patch worked.=C2=A0 (a0 and a1 still have the same value when we get into
> C).
>=20
> If we do need to start calling more complex things here (and I'm not
> sure that we do), we could either store the parameters in s2-11, or
> spill them onto the stack; both of which are preferable to spilling
> to
> global variables like this.
>=20
> > +
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tail=C2=A0=C2=A0=C2=A0=
 start_xen
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Boot cpu id is pass=
ed by a bootloader
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> > +_bootcpu_id:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 RISCV_PTR 0x0
>=20
> Just a note (as you want to delete this anyway), this isn't a PTR,
> it's
> a LONG.
>=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 * DTB base is passed =
by a bootloader
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> > +_dtb_base:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 RISCV_PTR 0x0
> > diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> > index 1c87899e8e..d9723fe1c0 100644
> > --- a/xen/arch/riscv/setup.c
> > +++ b/xen/arch/riscv/setup.c
> > @@ -7,7 +7,8 @@
> > =C2=A0unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
> > =C2=A0=C2=A0=C2=A0=C2=A0 __aligned(STACK_SIZE);
> > =C2=A0
> > -void __init noreturn start_xen(void)
> > +void __init noreturn start_xen(unsigned long bootcpu_id,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long dtb_base)
>=20
> To be clear, this change should be this hunk exactly as it is, and a
> comment immediately ahead of ENTRY(start) describing the entry ABI.
>=20
> There is no need currently to change any of the asm code.
I think that I'll use s2 and s3 to save bootcpu_id.

But I am unsure I understand why the asm code shouldn't be changed.

I mean that a0-7 are used as function arguments, a0-1 are used for
return value so they are expected to be changed. That is why we have to
save them somewhere.

If I understand you correctly I can write in a comment ahead of
ENTRY(start) that a0, and a1 are reserved for hart_id and dtb_base
which are passed from a bootloader but it will work only if start_xen
will be only C function called from head.S.

I probably misunderstand you...

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:55:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:55:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504988.777480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkKv-0008IQ-J8; Thu, 02 Mar 2023 14:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504988.777480; Thu, 02 Mar 2023 14: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 1pXkKv-0008II-F7; Thu, 02 Mar 2023 14:55:13 +0000
Received: by outflank-mailman (input) for mailman id 504988;
 Thu, 02 Mar 2023 14:55: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=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXkKu-0008HR-Lj
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:55:12 +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 3acb4e16-b90a-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 15:55:10 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id i9so22471888lfc.6
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 06:55:10 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 m4-20020a195204000000b004d023090504sm2143283lfb.84.2023.03.02.06.55.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 06:55: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: 3acb4e16-b90a-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677768910;
        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=LaPa202ZbYeI1r6tXlRRzL0J9HxRdYo4iVkR3jD4HjA=;
        b=T+IAnSmtyL+OkhtJ1OgpcNSN8xXpeprWcXUGakJfLvEa/iXpYgrUC1/RgixtZtlANu
         phBsns+WBrCqS6XIrIfzRq6azdSvRLVMjkWZKoujwDxBd5ZIoNJBRknc4ZPqpSzYRfKM
         0w26Xd8rDifH58D1nIFBa058LEF0P69pjol01fJBeyCaDvjB+XY3kv27gLWZePvzP5P1
         nnJLc1p3Vq55MWwchoPDUUMtoczinXsMcc246F2fabR3UNq2Z+zRtmxntiCXk8Njg5UK
         7UFtzeoXhz4tQpvIFykbFndqAIrdDmQNluQB5+ldmBvj5Negz6o70NdPhgKEoC90S4/p
         UGEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677768910;
        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=LaPa202ZbYeI1r6tXlRRzL0J9HxRdYo4iVkR3jD4HjA=;
        b=a6DN2TmEb0E9vGl1h2cBy0XGlNwPrmpNQxPGCG+yOdRbwcHwe7g13VhFzsq9Q01iPP
         hQ/sFbSoa+rMXg8YfSMT2i9g8CGJiBYnwBXtYZE0u80FhWJLNMwJFziXBQN43VKL6WRI
         OcgZ4qSen5vBAD8z31m9U2ARW9WBm1LPhXQERpOJCc6d3GU7uruKmI+DJm6jCC0Xg+jc
         /FwjGMa+J0Gx451ZXe0vFILGRaPeKm8LBC3TgWg02DEOcmmh8n4TEJCk8HuM4FY+Xtfr
         BYncsgRiUCInHGwco8MdVy3KpPwaeIeG2YZrhVPrzKK/Url0inyKLoFAYXOmibx5RGmB
         4nxg==
X-Gm-Message-State: AO0yUKU7LslUulEYULH7lUTSmzecdXOpHeVD7MPu0WppLwOOA9dVMNb1
	J2j9HGmsmlFpIKSe/sndYhk=
X-Google-Smtp-Source: AK7set8qSxU5P0J9z16Ui8IVYEfIILkxvbd02qCp6OcGvQ7qUbcIv90OT3+/npy/vvC4Ad6HTsiBVA==
X-Received: by 2002:a19:5213:0:b0:4d5:a689:e965 with SMTP id m19-20020a195213000000b004d5a689e965mr2789439lfb.51.1677768910277;
        Thu, 02 Mar 2023 06:55:10 -0800 (PST)
Message-ID: <2f64e60244a0c549f20782e5f57c3ff3c558736d.camel@gmail.com>
Subject: Re: [PATCH v2 2/3] xen/riscv: initialize .bss section
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>,  Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Date: Thu, 02 Mar 2023 16:55:08 +0200
In-Reply-To: <092579ae-edcc-f04b-b9ab-fc97b78d0053@citrix.com>
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
	 <495bd1d7fc2becdd48bd00253c079971e2231e99.1677762812.git.oleksii.kurochko@gmail.com>
	 <092579ae-edcc-f04b-b9ab-fc97b78d0053@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Thu, 2023-03-02 at 14:12 +0000, Andrew Cooper wrote:
> On 02/03/2023 1:23 pm, Oleksii Kurochko wrote:
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes since v1:
> > =C2=A0* initialization of .bss was moved to head.S
> > ---
> > =C2=A0xen/arch/riscv/include/asm/asm.h | 4 ++++
> > =C2=A0xen/arch/riscv/riscv64/head.S=C2=A0=C2=A0=C2=A0 | 9 +++++++++
> > =C2=A02 files changed, 13 insertions(+)
> >=20
> > diff --git a/xen/arch/riscv/include/asm/asm.h
> > b/xen/arch/riscv/include/asm/asm.h
> > index 6d426ecea7..5208529cb4 100644
> > --- a/xen/arch/riscv/include/asm/asm.h
> > +++ b/xen/arch/riscv/include/asm/asm.h
> > @@ -26,14 +26,18 @@
> > =C2=A0#if __SIZEOF_POINTER__ =3D=3D 8
> > =C2=A0#ifdef __ASSEMBLY__
> > =C2=A0#define RISCV_PTR=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0.dword
> > +#define RISCV_SZPTR=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A08
> > =C2=A0#else
> > =C2=A0#define RISCV_PTR=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0".dword"
> > +#define RISCV_SZPTR=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A08
> > =C2=A0#endif
> > =C2=A0#elif __SIZEOF_POINTER__ =3D=3D 4
> > =C2=A0#ifdef __ASSEMBLY__
> > =C2=A0#define RISCV_PTR=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0.word
> > +#define RISCV_SZPTR=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A04
> > =C2=A0#else
> > =C2=A0#define RISCV_PTR=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0".word"
> > +#define RISCV_SZPTR=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A04
>=20
> This an extremely verbose way of saying that __SIZEOF_POINTER__ is
> the
> right value to use...
>=20
> Just drop the change here.=C2=A0 The code is better without this
> indirection.
>=20
> > =C2=A0#endif
> > =C2=A0#else
> > =C2=A0#error "Unexpected __SIZEOF_POINTER__"
> > diff --git a/xen/arch/riscv/riscv64/head.S
> > b/xen/arch/riscv/riscv64/head.S
> > index 851b4691a5..b139976b7a 100644
> > --- a/xen/arch/riscv/riscv64/head.S
> > +++ b/xen/arch/riscv/riscv64/head.S
> > @@ -13,6 +13,15 @@ ENTRY(start)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lla=C2=A0=C2=A0=C2=A0=
=C2=A0 a6, _dtb_base
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 REG_S=C2=A0=C2=A0 a1, =
(a6)
> > =C2=A0
>=20
> /* Clear the BSS */
>=20
> The comments (even just oneliners) will become increasingly useful as
> the logic here grows.
>=20
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 a3, __bss_start
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 a4, __bss_end
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ble=C2=A0=C2=A0=C2=A0=C2=A0=
 a4, a3, clear_bss_done
> > +clear_bss:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 REG_S=C2=A0=C2=A0 zero, (a3=
)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=C2=A0=
 a3, a3, RISCV_SZPTR
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 blt=C2=A0=C2=A0=C2=A0=C2=A0=
 a3, a4, clear_bss
> > +clear_bss_done:
>=20
> You should use t's here, not a's.=C2=A0 What we are doing here is
> temporary
> and not constructing arguments to a function.=C2=A0 Furthermore we want t=
o
> preserve the a's where possible to avoid spilling the parameters.
>=20
> Finally, the symbols should have an .L_ prefix to make the local
> symbols.
>=20
> It really doesn't matter now, but will when you're retrofitting elf
> metadata to asm code to make livepatching work.=C2=A0 (I'm doing this on
> x86
> and it would have been easier if people had written the code nicely
> the
> first time around.)
Thanks. I'll update the code.
>=20
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:59:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:59:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504996.777489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkOy-0000nK-5W; Thu, 02 Mar 2023 14:59:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504996.777489; Thu, 02 Mar 2023 14: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 1pXkOy-0000nD-2w; Thu, 02 Mar 2023 14:59:24 +0000
Received: by outflank-mailman (input) for mailman id 504996;
 Thu, 02 Mar 2023 14:59: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 1pXkOw-0000n1-NF
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:59: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 1pXkOw-0003gU-EV; Thu, 02 Mar 2023 14:59: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 1pXkOw-0003fg-4o; Thu, 02 Mar 2023 14:59: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:Message-Id:Date:
	Subject:Cc:To:From; bh=Ou0y2DPaJpJuZcAxiK0GR7U1F/WjejWjy31ZHZ0yXYo=; b=swoMIv
	4J+Ynm+wqoNqElVyyNS115RlxTZuVXsC9PYcjum//XBhDFYO0ysYtNWNnq0OK3EufMtzSTDYxuB5g
	yvb6goRbOuFeVZhQ2igggONTrXhrNVJHUZbIKM1icMppeNByc+EIWucitAmY/J0QZpJSvqwP39Kw3
	zSh1fPs193c=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Luca.Fancellu@arm.com,
	michal.orzel@amd.com,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v6 0/5] xen/arm: Don't switch TTBR while the MMU is on
Date: Thu,  2 Mar 2023 14:59:11 +0000
Message-Id: <20230302145916.44035-1-julien@xen.org>
X-Mailer: git-send-email 2.39.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Hi all,

Currently, Xen on Arm will switch TTBR whilst the MMU is on. This is
similar to replacing existing mappings with new ones. So we need to
follow a break-before-make sequence.

When switching the TTBR, we need to temporarily disable the MMU
before updating the TTBR. This means the page-tables must contain an
identity mapping.

The current memory layout is not very flexible and has an higher chance
to clash with the identity mapping.

On Arm64, we have plenty of unused virtual address space Therefore, we can
simply reshuffle the layout to leave the first part of the virtual
address space empty.

On Arm32, the virtual address space is already quite full. Even if we
find space, it would be necessary to have a dynamic layout. So a
different approach will be necessary. The chosen one is to have
a temporary mapping that will be used to jumped from the ID mapping
to the runtime mapping (or vice versa). The temporary mapping will
be overlapping with the domheap area as it should not be used when
switching on/off the MMU.

The Arm32 part is not yet addressed and will be handled in a follow-up
series.

After this series, most of Xen page-table code should be compliant
with the Arm Arm. The last two issues I am aware of are:
 - domheap: Mappings are replaced without using the Break-Before-Make
   approach.
 - The cache is not cleaned/invalidated when updating the page-tables
   with Data cache off (like during early boot).

The long term plan is to get rid of boot_* page tables and then
directly use the runtime pages. This means for coloring, we will
need to build the pages in the relocated Xen rather than the current
Xen.

For convience, I pushed a branch with everything applied:

https://xenbits.xen.org/git-http/people/julieng/xen-unstable.git
branch boot-pt-rework-v6

Cheers,

Julien Grall (5):
  xen/arm32: head: Widen the use of the temporary mapping
  xen/arm64: Rework the memory layout
  xen/arm64: mm: Introduce helpers to prepare/enable/disable the
    identity mapping
  xen/arm64: mm: Rework switch_ttbr()
  xen/arm64: smpboot: Directly switch to the runtime page-tables

 xen/arch/arm/arm32/head.S           |  86 +++------------
 xen/arch/arm/arm32/smpboot.c        |   4 +
 xen/arch/arm/arm64/Makefile         |   1 +
 xen/arch/arm/arm64/head.S           |  82 +++++++-------
 xen/arch/arm/arm64/mm.c             | 161 ++++++++++++++++++++++++++++
 xen/arch/arm/arm64/smpboot.c        |  15 ++-
 xen/arch/arm/include/asm/arm32/mm.h |   4 +
 xen/arch/arm/include/asm/arm64/mm.h |  13 +++
 xen/arch/arm/include/asm/config.h   |  34 ++++--
 xen/arch/arm/include/asm/mm.h       |   2 +
 xen/arch/arm/include/asm/setup.h    |  11 ++
 xen/arch/arm/include/asm/smp.h      |   1 +
 xen/arch/arm/mm.c                   |  19 ++--
 xen/arch/arm/smpboot.c              |   1 +
 14 files changed, 306 insertions(+), 128 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mm.c

-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:59:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:59:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504997.777500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkOz-00012j-Dz; Thu, 02 Mar 2023 14:59:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504997.777500; Thu, 02 Mar 2023 14:59: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 1pXkOz-00012a-9m; Thu, 02 Mar 2023 14:59:25 +0000
Received: by outflank-mailman (input) for mailman id 504997;
 Thu, 02 Mar 2023 14:59: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 1pXkOx-0000n7-Gi
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:59: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 1pXkOx-0003ga-8R; Thu, 02 Mar 2023 14:59:23 +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 1pXkOx-0003fg-0d; Thu, 02 Mar 2023 14:59: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:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=k+NlTHJeCRwqvtBgAn3OrG5S6ZPgVEATcP0dFBY+5eM=; b=K4rPva9GeTGsPBE+fFP2BJB6Fd
	SzoeWZQDbIW10fWcXvReD65O//pOi0wSBzNNSQ9Oi34ZZYRfzAgUF7lDFU7+nSIK/b9x6PuJiMl+S
	KPB8qa7KWrebhIiBdwCsSdG5tTW4uLpUzTEfvQwcA9PAhLybj2hbBE0raxxnpyQJpxQI=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Luca.Fancellu@arm.com,
	michal.orzel@amd.com,
	Julien Grall <jgrall@amazon.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 1/5] xen/arm32: head: Widen the use of the temporary mapping
Date: Thu,  2 Mar 2023 14:59:12 +0000
Message-Id: <20230302145916.44035-2-julien@xen.org>
X-Mailer: git-send-email 2.39.1
In-Reply-To: <20230302145916.44035-1-julien@xen.org>
References: <20230302145916.44035-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, the temporary mapping is only used when the virtual
runtime region of Xen is clashing with the physical region.

In follow-up patches, we will rework how secondary CPU bring-up works
and it will be convenient to use the fixmap area for accessing
the root page-table (it is per-cpu).

Rework the code to use temporary mapping when the Xen physical address
is not overlapping with the temporary mapping.

This also has the advantage to simplify the logic to identity map
Xen.

Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Henry Wang <Henry.Wang@arm.com>
Tested-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

----

Even if this patch is rewriting part of the previous patch, I decided
to keep them separated to help the review.

The "follow-up patches" are still in draft at the moment. I still haven't
find a way to split them nicely and not require too much more work
in the coloring side.

I have provided some medium-term goal in the cover letter.

    Changes in v6:
        - Add Henry's reviewed-by and tested-by tag
        - Add Michal's reviewed-by
        - Add newline in remove_identity_mapping for clarity

    Changes in v5:
        - Fix typo in a comment
        - No need to link boot_{second, third}_id again if we need to
          create a temporary area.

    Changes in v3:
        - Resolve conflicts after switching from "ldr rX, <label>" to
          "mov_w rX, <label>" in a previous patch

    Changes in v2:
        - Patch added
---
 xen/arch/arm/arm32/head.S | 86 ++++++++-------------------------------
 1 file changed, 16 insertions(+), 70 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index df51550baa8a..9befffd85079 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -459,7 +459,6 @@ ENDPROC(cpu_init)
 create_page_tables:
         /* Prepare the page-tables for mapping Xen */
         mov_w r0, XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
         create_table_entry boot_second, boot_third, r0, 2
 
         /* Setup boot_third: */
@@ -479,70 +478,37 @@ create_page_tables:
         cmp   r1, #(XEN_PT_LPAE_ENTRIES<<3) /* 512*8-byte entries per page */
         blo   1b
 
-        /*
-         * If Xen is loaded at exactly XEN_VIRT_START then we don't
-         * need an additional 1:1 mapping, the virtual mapping will
-         * suffice.
-         */
-        cmp   r9, #XEN_VIRT_START
-        moveq pc, lr
-
         /*
          * 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.
-         *
-         * In all the cases, we will link boot_third_id. So create the
-         * mapping in advance.
          */
+        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 XEN_FIRST_SLOT,
-         * then the 1:1 mapping will use its own set of page-tables from
-         * the second level.
+         * 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, #XEN_FIRST_SLOT
-        beq   1f
-        create_table_entry boot_pgtable, boot_second_id, r9, 1
-        b     link_from_second_id
-
-1:
-        /*
-         * Find the second slot used. If the slot is XEN_SECOND_SLOT, then the
-         * 1:1 mapping will use its own set of page-tables from the
-         * third level.
-         */
-        get_table_slot r1, r9, 2     /* r1 := second slot */
-        cmp   r1, #XEN_SECOND_SLOT
-        beq   virtphys_clash
-        create_table_entry boot_second, boot_third_id, r9, 2
-        b     link_from_third_id
+        cmp   r1, #TEMPORARY_AREA_FIRST_SLOT
+        bne   use_temporary_mapping
 
-link_from_second_id:
-        create_table_entry boot_second_id, boot_third_id, r9, 2
-link_from_third_id:
-        /* Good news, we are not clashing with Xen virtual 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
 
-virtphys_clash:
+use_temporary_mapping:
         /*
-         * The identity map clashes with boot_third. Link boot_first_id and
-         * map Xen to a temporary mapping. See switch_to_runtime_mapping
-         * for more details.
+         * 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("- Virt and Phys addresses clash  -\r\n")
         PRINT("- Create temporary mapping -\r\n")
 
-        /*
-         * This will override the link to boot_second in XEN_FIRST_SLOT.
-         * The page-tables are not live yet. So no need to use
-         * break-before-make.
-         */
-        create_table_entry boot_pgtable, boot_second_id, r9, 1
-        create_table_entry boot_second_id, boot_third_id, r9, 2
-
         /* 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
@@ -675,33 +641,13 @@ remove_identity_mapping:
         /* r2:r3 := invalid page-table entry */
         mov   r2, #0x0
         mov   r3, #0x0
-        /*
-         * Find the first slot used. Remove the entry for the first
-         * table if the slot is not XEN_FIRST_SLOT.
-         */
+
+        /* Find the first slot used and remove it */
         get_table_slot r1, r9, 1     /* r1 := first slot */
-        cmp   r1, #XEN_FIRST_SLOT
-        beq   1f
-        /* It is not in slot 0, remove the entry */
         mov_w r0, boot_pgtable       /* r0 := root table */
         lsl   r1, r1, #3             /* r1 := Slot offset */
         strd  r2, r3, [r0, r1]
-        b     identity_mapping_removed
-
-1:
-        /*
-         * Find the second slot used. Remove the entry for the first
-         * table if the slot is not XEN_SECOND_SLOT.
-         */
-        get_table_slot r1, r9, 2     /* r1 := second slot */
-        cmp   r1, #XEN_SECOND_SLOT
-        beq   identity_mapping_removed
-        /* It is not in slot 1, remove the entry */
-        mov_w r0, boot_second        /* r0 := second table */
-        lsl   r1, r1, #3             /* r1 := Slot offset */
-        strd  r2, r3, [r0, r1]
 
-identity_mapping_removed:
         flush_xen_tlb_local r0
         mov   pc, lr
 ENDPROC(remove_identity_mapping)
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:59:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:59:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504998.777504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkOz-00016E-OZ; Thu, 02 Mar 2023 14:59:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504998.777504; Thu, 02 Mar 2023 14:59: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 1pXkOz-00014h-It; Thu, 02 Mar 2023 14:59:25 +0000
Received: by outflank-mailman (input) for mailman id 504998;
 Thu, 02 Mar 2023 14:59: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 1pXkOy-0000vO-GH
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:59: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 1pXkOy-0003gi-79; Thu, 02 Mar 2023 14:59: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 1pXkOx-0003fg-Vo; Thu, 02 Mar 2023 14:59:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=/n8KYlwi0MikL9iUN4q3hKRMxMaEy9Jaay2HH6/vWUI=; b=P5qac8HkPhEzQGdxNTwSPgR0BD
	c+p88wl6bvMhLtmPSX/cRJ8Zi9LYZy/O6+Me4mm7aHKS2rsNuPpiqOzJb5WKFKFkc0+E8Zu+d92Sv
	dk4TiaAx9DCuJE3x/XE7r+uA7Pw+V2PaYzPEpPubMlwzmWWNlk3GZ3JsQP3kuQfb1kDo=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Luca.Fancellu@arm.com,
	michal.orzel@amd.com,
	Julien Grall <jgrall@amazon.com>,
	Luca Fancellu <luca.fancellu@arm.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH v6 2/5] xen/arm64: Rework the memory layout
Date: Thu,  2 Mar 2023 14:59:13 +0000
Message-Id: <20230302145916.44035-3-julien@xen.org>
X-Mailer: git-send-email 2.39.1
In-Reply-To: <20230302145916.44035-1-julien@xen.org>
References: <20230302145916.44035-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Xen is currently not fully compliant with the Arm Arm because it will
switch the TTBR with the MMU on.

In order to be compliant, we need to disable the MMU before
switching the TTBR. The implication is the page-tables should
contain an identity mapping of the code switching the TTBR.

In most of the case we expect Xen to be loaded in low memory. I am aware
of one platform (i.e AMD Seattle) where the memory start above 512GB.
To give us some slack, consider that Xen may be loaded in the first 2TB
of the physical address space.

The memory layout is reshuffled to keep the first four slots of the zeroeth
level free. Xen will now be loaded at (2TB + 2MB). This requires a slight
tweak of the boot code because XEN_VIRT_START cannot be used as an
immediate.

This reshuffle will make trivial to create a 1:1 mapping when Xen is
loaded below 2TB.

Signed-off-by: Julien Grall <jgrall@amazon.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

----
    Changes in v6:
        - Correct the BUILD_BUG_ON(), Xen virtual address should be
          above 2TB (i.e. slot0 > 4).
        - Add Bertrand's reviewed-by

    Changes in v5:
        - We are reserving 4 slots rather than 2.
        - Fix the addresses in the layout comment.
        - Fix the size of the region in the layout comment
        - Add Luca's tested-by (the reviewed-by was not added
          because of the changes requested by Michal
        - Add Michal's reviewed-by

    Changes in v4:
        - Correct the documentation
        - The start address is 2TB, so slot0 is 4 not 2.

    Changes in v2:
        - Reword the commit message
        - Load Xen at 2TB + 2MB
        - Update the documentation to reflect the new layout
---
 xen/arch/arm/arm64/head.S         |  3 ++-
 xen/arch/arm/include/asm/config.h | 34 +++++++++++++++++++++----------
 xen/arch/arm/mm.c                 | 11 +++++-----
 3 files changed, 31 insertions(+), 17 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 4a3f87117c83..663f5813b12e 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -607,7 +607,8 @@ create_page_tables:
          * need an additional 1:1 mapping, the virtual mapping will
          * suffice.
          */
-        cmp   x19, #XEN_VIRT_START
+        ldr   x0, =XEN_VIRT_START
+        cmp   x19, x0
         bne   1f
         ret
 1:
diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index 5df0e4c4959b..e388462c23d1 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -72,16 +72,13 @@
 #include <xen/page-size.h>
 
 /*
- * Common ARM32 and ARM64 layout:
+ * ARM32 layout:
  *   0  -   2M   Unmapped
  *   2M -   4M   Xen text, data, bss
  *   4M -   6M   Fixmap: special-purpose 4K mapping slots
  *   6M -  10M   Early boot mapping of FDT
  *   10M - 12M   Livepatch vmap (if compiled in)
  *
- * ARM32 layout:
- *   0  -  12M   <COMMON>
- *
  *  32M - 128M   Frametable: 32 bytes per page for 12GB of RAM
  * 256M -   1G   VMAP: ioremap and early_ioremap use this virtual address
  *                    space
@@ -90,14 +87,23 @@
  *   2G -   4G   Domheap: on-demand-mapped
  *
  * ARM64 layout:
- * 0x0000000000000000 - 0x0000007fffffffff (512GB, L0 slot [0])
- *   0  -  12M   <COMMON>
+ * 0x0000000000000000 - 0x000001ffffffffff (2TB, L0 slots [0..3])
+ *
+ *  Reserved to identity map Xen
+ *
+ * 0x0000020000000000 - 0x0000027fffffffff (512GB, L0 slot [4]
+ *  (Relative offsets)
+ *   0  -   2M   Unmapped
+ *   2M -   4M   Xen text, data, bss
+ *   4M -   6M   Fixmap: special-purpose 4K mapping slots
+ *   6M -  10M   Early boot mapping of FDT
+ *  10M -  12M   Livepatch vmap (if compiled in)
  *
  *   1G -   2G   VMAP: ioremap and early_ioremap
  *
  *  32G -  64G   Frametable: 56 bytes per page for 2TB of RAM
  *
- * 0x0000008000000000 - 0x00007fffffffffff (127.5TB, L0 slots [1..255])
+ * 0x0000028000000000 - 0x00007fffffffffff (125TB, L0 slots [5..255])
  *  Unused
  *
  * 0x0000800000000000 - 0x000084ffffffffff (5TB, L0 slots [256..265])
@@ -107,7 +113,17 @@
  *  Unused
  */
 
+#ifdef CONFIG_ARM_32
 #define XEN_VIRT_START          _AT(vaddr_t, MB(2))
+#else
+
+#define SLOT0_ENTRY_BITS  39
+#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
+#define SLOT0_ENTRY_SIZE  SLOT0(1)
+
+#define XEN_VIRT_START          (SLOT0(4) + _AT(vaddr_t, MB(2)))
+#endif
+
 #define XEN_VIRT_SIZE           _AT(vaddr_t, MB(2))
 
 #define FIXMAP_VIRT_START       (XEN_VIRT_START + XEN_VIRT_SIZE)
@@ -163,10 +179,6 @@
 
 #else /* ARM_64 */
 
-#define SLOT0_ENTRY_BITS  39
-#define SLOT0(slot) (_AT(vaddr_t,slot) << SLOT0_ENTRY_BITS)
-#define SLOT0_ENTRY_SIZE  SLOT0(1)
-
 #define VMAP_VIRT_START  GB(1)
 #define VMAP_VIRT_SIZE   GB(1)
 
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index f758cad545fa..9263fedc3b7d 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -153,7 +153,7 @@ static void __init __maybe_unused build_assertions(void)
 #endif
     /* Page table structure constraints */
 #ifdef CONFIG_ARM_64
-    BUILD_BUG_ON(zeroeth_table_offset(XEN_VIRT_START));
+    BUILD_BUG_ON(zeroeth_table_offset(XEN_VIRT_START) < 4);
 #endif
     BUILD_BUG_ON(first_table_offset(XEN_VIRT_START));
 #ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
@@ -496,10 +496,11 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
     phys_offset = boot_phys_offset;
 
 #ifdef CONFIG_ARM_64
-    p = (void *) xen_pgtable;
-    p[0] = pte_of_xenaddr((uintptr_t)xen_first);
-    p[0].pt.table = 1;
-    p[0].pt.xn = 0;
+    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;
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:59:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:59:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504999.777511 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkP0-0001BY-6S; Thu, 02 Mar 2023 14:59:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 504999.777511; Thu, 02 Mar 2023 14:59: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 1pXkOz-0001AU-T6; Thu, 02 Mar 2023 14:59:25 +0000
Received: by outflank-mailman (input) for mailman id 504999;
 Thu, 02 Mar 2023 14:59: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 1pXkOz-00012T-7M
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:59: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 1pXkOz-0003gs-2s; Thu, 02 Mar 2023 14:59:25 +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 1pXkOy-0003fg-OX; Thu, 02 Mar 2023 14:59: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:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=9sSoQlyMBIRYzuSf7LppY6J076/pZIiNYng3z4TWVH8=; b=ntRHirwqSqwdq60nEkGzruxE7b
	gEM3y1pO1ETTxLpFGvlFj6BU9fxItUeEmKy5qVIsXfwRbuw3koQslcW2wRNJ/ncnj9zXivvZsTX4j
	AP2XIe2Cn98whaOsV3XqLztXeSzQSE12Y6TkXwkGRIoTPacAp3yFhGVw+pktY2sBhyv4=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Luca.Fancellu@arm.com,
	michal.orzel@amd.com,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v6 3/5] xen/arm64: mm: Introduce helpers to prepare/enable/disable the identity mapping
Date: Thu,  2 Mar 2023 14:59:14 +0000
Message-Id: <20230302145916.44035-4-julien@xen.org>
X-Mailer: git-send-email 2.39.1
In-Reply-To: <20230302145916.44035-1-julien@xen.org>
References: <20230302145916.44035-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

In follow-up patches we will need to have part of Xen identity mapped in
order to safely switch the TTBR.

On some platform, the identity mapping may have to start at 0. If we always
keep the identity region mapped, NULL pointer dereference would lead to
access to valid mapping.

It would be possible to relocate Xen to avoid clashing with address 0.
However the identity mapping is only meant to be used in very limited
places. Therefore it would be better to keep the identity region invalid
for most of the time.

Two new external helpers are introduced:
    - arch_setup_page_tables() will setup the page-tables so it is
      easy to create the mapping afterwards.
    - update_identity_mapping() will create/remove the identity mapping

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

----
    Changes in v6:
        - Correctly check the placement of the identity mapping (take
          2).
        - Fix typoes

    Changes in v5:
        - The reserved area for the identity mapping is 2TB (so 4 slots)
          rather than 512GB.

    Changes in v4:
        - Fix typo in a comment
        - Clarify which page-tables are updated

    Changes in v2:
        - Remove the arm32 part
        - Use a different logic for the boot page tables and runtime
          one because Xen may be running in a different place.
---
 xen/arch/arm/arm64/Makefile         |   1 +
 xen/arch/arm/arm64/mm.c             | 130 ++++++++++++++++++++++++++++
 xen/arch/arm/include/asm/arm32/mm.h |   4 +
 xen/arch/arm/include/asm/arm64/mm.h |  13 +++
 xen/arch/arm/include/asm/config.h   |   2 +
 xen/arch/arm/include/asm/setup.h    |  11 +++
 xen/arch/arm/mm.c                   |   6 +-
 7 files changed, 165 insertions(+), 2 deletions(-)
 create mode 100644 xen/arch/arm/arm64/mm.c

diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index 6d507da0d44d..28481393e98f 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -10,6 +10,7 @@ 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-y += traps.o
diff --git a/xen/arch/arm/arm64/mm.c b/xen/arch/arm/arm64/mm.c
new file mode 100644
index 000000000000..56b9e9b8d3ef
--- /dev/null
+++ b/xen/arch/arm/arm64/mm.c
@@ -0,0 +1,130 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <xen/init.h>
+#include <xen/mm.h>
+
+#include <asm/setup.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))
+
+static DEFINE_PAGE_TABLE(xen_first_id);
+static DEFINE_PAGE_TABLE(xen_second_id);
+static DEFINE_PAGE_TABLE(xen_third_id);
+
+/*
+ * The identity mapping may start at physical address 0. So we don't want
+ * to keep it mapped longer than necessary.
+ *
+ * When this is called, we are still using the boot_pgtable.
+ *
+ * We need to prepare the identity mapping for both the boot page tables
+ * and runtime page tables.
+ *
+ * The logic to create the entry is slightly different because Xen may
+ * be running at a different location at runtime.
+ */
+static void __init prepare_boot_identity_mapping(void)
+{
+    paddr_t id_addr = virt_to_maddr(_start);
+    lpae_t pte;
+    DECLARE_OFFSETS(id_offsets, id_addr);
+
+    /*
+     * We will be re-using the boot ID tables. They may not have been
+     * zeroed but they should be unlinked. So it is fine to use
+     * clear_page().
+     */
+    clear_page(boot_first_id);
+    clear_page(boot_second_id);
+    clear_page(boot_third_id);
+
+    if ( id_offsets[0] >= IDENTITY_MAPPING_AREA_NR_L0 )
+        panic("Cannot handle ID mapping above 2TB\n");
+
+    /* Link first ID table */
+    pte = mfn_to_xen_entry(virt_to_mfn(boot_first_id), MT_NORMAL);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+
+    write_pte(&boot_pgtable[id_offsets[0]], pte);
+
+    /* Link second ID table */
+    pte = mfn_to_xen_entry(virt_to_mfn(boot_second_id), MT_NORMAL);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+
+    write_pte(&boot_first_id[id_offsets[1]], pte);
+
+    /* Link third ID table */
+    pte = mfn_to_xen_entry(virt_to_mfn(boot_third_id), MT_NORMAL);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+
+    write_pte(&boot_second_id[id_offsets[2]], pte);
+
+    /* The mapping in the third table will be created at a later stage */
+}
+
+static void __init prepare_runtime_identity_mapping(void)
+{
+    paddr_t id_addr = virt_to_maddr(_start);
+    lpae_t pte;
+    DECLARE_OFFSETS(id_offsets, id_addr);
+
+    if ( id_offsets[0] >= IDENTITY_MAPPING_AREA_NR_L0 )
+        panic("Cannot handle ID mapping above 2TB\n");
+
+    /* Link first ID table */
+    pte = pte_of_xenaddr((vaddr_t)xen_first_id);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+
+    write_pte(&xen_pgtable[id_offsets[0]], pte);
+
+    /* Link second ID table */
+    pte = pte_of_xenaddr((vaddr_t)xen_second_id);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+
+    write_pte(&xen_first_id[id_offsets[1]], pte);
+
+    /* Link third ID table */
+    pte = pte_of_xenaddr((vaddr_t)xen_third_id);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+
+    write_pte(&xen_second_id[id_offsets[2]], pte);
+
+    /* The mapping in the third table will be created at a later stage */
+}
+
+void __init arch_setup_page_tables(void)
+{
+    prepare_boot_identity_mapping();
+    prepare_runtime_identity_mapping();
+}
+
+void update_identity_mapping(bool enable)
+{
+    paddr_t id_addr = virt_to_maddr(_start);
+    int rc;
+
+    if ( enable )
+        rc = map_pages_to_xen(id_addr, maddr_to_mfn(id_addr), 1,
+                              PAGE_HYPERVISOR_RX);
+    else
+        rc = destroy_xen_mappings(id_addr, id_addr + PAGE_SIZE);
+
+    BUG_ON(rc);
+}
+
+/*
+ * 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/arm32/mm.h b/xen/arch/arm/include/asm/arm32/mm.h
index 8bfc906e7178..856f2dbec4ad 100644
--- a/xen/arch/arm/include/asm/arm32/mm.h
+++ b/xen/arch/arm/include/asm/arm32/mm.h
@@ -18,6 +18,10 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
 
 bool init_domheap_mappings(unsigned int cpu);
 
+static inline void arch_setup_page_tables(void)
+{
+}
+
 #endif /* __ARM_ARM32_MM_H__ */
 
 /*
diff --git a/xen/arch/arm/include/asm/arm64/mm.h b/xen/arch/arm/include/asm/arm64/mm.h
index aa2adac63189..e0bd23a6ed0c 100644
--- a/xen/arch/arm/include/asm/arm64/mm.h
+++ b/xen/arch/arm/include/asm/arm64/mm.h
@@ -1,6 +1,8 @@
 #ifndef __ARM_ARM64_MM_H__
 #define __ARM_ARM64_MM_H__
 
+extern DEFINE_PAGE_TABLE(xen_pgtable);
+
 /*
  * On ARM64, all the RAM is currently direct mapped in Xen.
  * Hence return always true.
@@ -10,6 +12,17 @@ static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
     return true;
 }
 
+void arch_setup_page_tables(void);
+
+/*
+ * Enable/disable the identity mapping in the live page-tables (i.e.
+ * the one pointed by TTBR_EL2).
+ *
+ * Note that nested call (e.g. enable=true, enable=true) is not
+ * supported.
+ */
+void update_identity_mapping(bool enable);
+
 #endif /* __ARM_ARM64_MM_H__ */
 
 /*
diff --git a/xen/arch/arm/include/asm/config.h b/xen/arch/arm/include/asm/config.h
index e388462c23d1..f02733e40a87 100644
--- a/xen/arch/arm/include/asm/config.h
+++ b/xen/arch/arm/include/asm/config.h
@@ -179,6 +179,8 @@
 
 #else /* ARM_64 */
 
+#define IDENTITY_MAPPING_AREA_NR_L0  4
+
 #define VMAP_VIRT_START  GB(1)
 #define VMAP_VIRT_SIZE   GB(1)
 
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index a926f30a2be4..66b27f2b57c1 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -166,6 +166,17 @@ u32 device_tree_get_u32(const void *fdt, int node,
 int map_range_to_domain(const struct dt_device_node *dev,
                         u64 addr, u64 len, void *data);
 
+extern DEFINE_BOOT_PAGE_TABLE(boot_pgtable);
+
+#ifdef CONFIG_ARM_64
+extern DEFINE_BOOT_PAGE_TABLE(boot_first_id);
+#endif
+extern DEFINE_BOOT_PAGE_TABLE(boot_second_id);
+extern DEFINE_BOOT_PAGE_TABLE(boot_third_id);
+
+/* Find where Xen will be residing at runtime and return a PT entry */
+lpae_t pte_of_xenaddr(vaddr_t);
+
 extern const char __ro_after_init_start[], __ro_after_init_end[];
 
 struct init_info
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 9263fedc3b7d..265bc082567e 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -93,7 +93,7 @@ DEFINE_BOOT_PAGE_TABLE(boot_third);
 
 #ifdef CONFIG_ARM_64
 #define HYP_PT_ROOT_LEVEL 0
-static DEFINE_PAGE_TABLE(xen_pgtable);
+DEFINE_PAGE_TABLE(xen_pgtable);
 static DEFINE_PAGE_TABLE(xen_first);
 #define THIS_CPU_PGTABLE xen_pgtable
 #else
@@ -388,7 +388,7 @@ void flush_page_to_ram(unsigned long mfn, bool sync_icache)
         invalidate_icache();
 }
 
-static inline lpae_t pte_of_xenaddr(vaddr_t va)
+lpae_t pte_of_xenaddr(vaddr_t va)
 {
     paddr_t ma = va + phys_offset;
 
@@ -495,6 +495,8 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
 
     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;
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:59:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:59:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505000.777530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkP1-0001k9-Ir; Thu, 02 Mar 2023 14:59:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505000.777530; Thu, 02 Mar 2023 14:59:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkP1-0001it-Bf; Thu, 02 Mar 2023 14:59:27 +0000
Received: by outflank-mailman (input) for mailman id 505000;
 Thu, 02 Mar 2023 14:59: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 1pXkP0-0001Eg-68
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:59: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 1pXkP0-0003h4-1c; Thu, 02 Mar 2023 14:59:26 +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 1pXkOz-0003fg-QV; Thu, 02 Mar 2023 14:59:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=BmjURXf84YUJiKB9eOEY0h/Bknfj426Ddbz4nR7ogr0=; b=woauhNkEfOdiggkhgovC1HVXNG
	cnNhXaFKcfichNxjReIXa/wHDRfstxok/T68Zfbg0yRKjCW4w7WD9n7HYFGswuwF/icsrXuJqa/jZ
	wLWk80bh6X6ZaObqtzNx7Zz6fxiGRECU2irGzbeVsrfn2D+LLmDbrF6QGWDOwZ3OvsFA=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Luca.Fancellu@arm.com,
	michal.orzel@amd.com,
	Julien Grall <jgrall@amazon.com>,
	Luca Fancellu <luca.fancellu@arm.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH v6 4/5] xen/arm64: mm: Rework switch_ttbr()
Date: Thu,  2 Mar 2023 14:59:15 +0000
Message-Id: <20230302145916.44035-5-julien@xen.org>
X-Mailer: git-send-email 2.39.1
In-Reply-To: <20230302145916.44035-1-julien@xen.org>
References: <20230302145916.44035-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

At the moment, switch_ttbr() is switching the TTBR whilst the MMU is
still on.

Switching TTBR is like replacing existing mappings with new ones. So
we need to follow the break-before-make sequence.

In this case, it means the MMU needs to be switched off while the
TTBR is updated. In order to disable the MMU, we need to first
jump to an identity mapping.

Rename switch_ttbr() to switch_ttbr_id() and create an helper on
top to temporary map the identity mapping and call switch_ttbr()
via the identity address.

switch_ttbr_id() is now reworked to temporarily turn off the MMU
before updating the TTBR.

We also need to make sure the helper switch_ttbr() is part of the
identity mapping. So move _end_boot past it.

The arm32 code will use a different approach. So this issue is for now
only resolved on arm64.

Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

----
    Changes in v6:
        - Add Michal's reviewed-by tag
        - Add Bertrand's reviewed-by tag

    Changes in v5:
        - Add a newline in switch_ttbr()
        - Add Luca's reviewed-by and tested-by

    Changes in v4:
        - Don't modify setup_pagetables() as we don't handle arm32.
        - Move the clearing of the boot page tables in an earlier patch
        - Fix the numbering

    Changes in v2:
        - Remove the arm32 changes. This will be addressed differently
        - Re-instate the instruct cache flush. This is not strictly
          necessary but kept it for safety.
        - Use "dsb ish"  rather than "dsb sy".


    TODO:
        * Handle the case where the runtime Xen is loaded at a different
          position for cache coloring. This will be dealt separately.
---
 xen/arch/arm/arm64/head.S     | 50 +++++++++++++++++++++++------------
 xen/arch/arm/arm64/mm.c       | 31 ++++++++++++++++++++++
 xen/arch/arm/include/asm/mm.h |  2 ++
 xen/arch/arm/mm.c             |  2 --
 4 files changed, 66 insertions(+), 19 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 663f5813b12e..5efd442b24af 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -816,30 +816,46 @@ ENDPROC(fail)
  * Switch TTBR
  *
  * x0    ttbr
- *
- * TODO: This code does not comply with break-before-make.
  */
-ENTRY(switch_ttbr)
-        dsb   sy                     /* Ensure the flushes happen before
-                                      * continuing */
-        isb                          /* Ensure synchronization with previous
-                                      * changes to text */
-        tlbi   alle2                 /* Flush hypervisor TLB */
-        ic     iallu                 /* Flush I-cache */
-        dsb    sy                    /* Ensure completion of TLB flush */
+ENTRY(switch_ttbr_id)
+        /* 1) Ensure any previous read/write have completed */
+        dsb    ish
+        isb
+
+        /* 2) Turn off MMU */
+        mrs    x1, SCTLR_EL2
+        bic    x1, x1, #SCTLR_Axx_ELx_M
+        msr    SCTLR_EL2, x1
+        isb
+
+        /*
+         * 3) Flush the TLBs.
+         * See asm/arm64/flushtlb.h for the explanation of the sequence.
+         */
+        dsb   nshst
+        tlbi  alle2
+        dsb   nsh
+        isb
+
+        /* 4) Update the TTBR */
+        msr   TTBR0_EL2, x0
         isb
 
-        msr    TTBR0_EL2, x0
+        /*
+         * 5) Flush I-cache
+         * This should not be necessary but it is kept for safety.
+         */
+        ic     iallu
+        isb
 
-        isb                          /* Ensure synchronization with previous
-                                      * changes to text */
-        tlbi   alle2                 /* Flush hypervisor TLB */
-        ic     iallu                 /* Flush I-cache */
-        dsb    sy                    /* Ensure completion of TLB flush */
+        /* 6) Turn on the MMU */
+        mrs   x1, SCTLR_EL2
+        orr   x1, x1, #SCTLR_Axx_ELx_M  /* Enable MMU */
+        msr   SCTLR_EL2, x1
         isb
 
         ret
-ENDPROC(switch_ttbr)
+ENDPROC(switch_ttbr_id)
 
 #ifdef CONFIG_EARLY_PRINTK
 /*
diff --git a/xen/arch/arm/arm64/mm.c b/xen/arch/arm/arm64/mm.c
index 56b9e9b8d3ef..78b7c7eb004f 100644
--- a/xen/arch/arm/arm64/mm.c
+++ b/xen/arch/arm/arm64/mm.c
@@ -120,6 +120,37 @@ void update_identity_mapping(bool enable)
     BUG_ON(rc);
 }
 
+extern void switch_ttbr_id(uint64_t ttbr);
+
+typedef void (switch_ttbr_fn)(uint64_t ttbr);
+
+void __init switch_ttbr(uint64_t ttbr)
+{
+    vaddr_t id_addr = virt_to_maddr(switch_ttbr_id);
+    switch_ttbr_fn *fn = (switch_ttbr_fn *)id_addr;
+    lpae_t pte;
+
+    /* Enable the identity mapping in the boot page tables */
+    update_identity_mapping(true);
+
+    /* Enable the identity mapping in the runtime page tables */
+    pte = pte_of_xenaddr((vaddr_t)switch_ttbr_id);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+    pte.pt.ro = 1;
+    write_pte(&xen_third_id[third_table_offset(id_addr)], pte);
+
+    /* Switch TTBR */
+    fn(ttbr);
+
+    /*
+     * Disable the identity mapping in the runtime page tables.
+     * Note it is not necessary to disable it in the boot page tables
+     * because they are not going to be used by this CPU anymore.
+     */
+    update_identity_mapping(false);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 23dec574eb31..4262165ce25e 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -207,6 +207,8 @@ extern unsigned long total_pages;
 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
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 265bc082567e..d4d376f70f50 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -476,8 +476,6 @@ static void xen_pt_enforce_wnx(void)
     flush_xen_tlb_local();
 }
 
-extern void switch_ttbr(uint64_t ttbr);
-
 /* Clear a translation table and clean & invalidate the cache */
 static void clear_table(void *table)
 {
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 14:59:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 14:59:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505001.777540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkP2-00024k-Sf; Thu, 02 Mar 2023 14:59:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505001.777540; Thu, 02 Mar 2023 14:59:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkP2-00024H-Ng; Thu, 02 Mar 2023 14:59:28 +0000
Received: by outflank-mailman (input) for mailman id 505001;
 Thu, 02 Mar 2023 14:59: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 1pXkP1-0001eX-4Z
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 14:59: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 1pXkP1-0003hE-0P; Thu, 02 Mar 2023 14:59:27 +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 1pXkP0-0003fg-PM; Thu, 02 Mar 2023 14:59:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=UEOn8p3EAANbwYVPNd5MtGqisw8ZusV+7g3b+bPeecE=; b=C7cNmpovG95Jw1IQ2+0GlNuW8j
	rbHI/s2C5x3fFuYkqzETdMtJgXgkld4Hqwq+dfwyTEL6WDIH/GFMOJbB2uuhYMG6chWBlksUrweF3
	hLz64/5SnRUnu9l1mFQp16Z2kD6swgojUMNV0zdyOL9skarCPuHo9ULTPAen0+2gAsoE=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Luca.Fancellu@arm.com,
	michal.orzel@amd.com,
	Julien Grall <jgrall@amazon.com>,
	Luca Fancellu <luca.fancellu@arm.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH v6 5/5] xen/arm64: smpboot: Directly switch to the runtime page-tables
Date: Thu,  2 Mar 2023 14:59:16 +0000
Message-Id: <20230302145916.44035-6-julien@xen.org>
X-Mailer: git-send-email 2.39.1
In-Reply-To: <20230302145916.44035-1-julien@xen.org>
References: <20230302145916.44035-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Switching TTBR while the MMU is on is not safe. Now that the identity
mapping will not clash with the rest of the memory layout, we can avoid
creating temporary page-tables every time a CPU is brought up.

The arm32 code will use a different approach. So this issue is for now
only resolved on arm64.

Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

----
    Changes in v6:
        - Add Bertrand's reviewed-by

    Changes in v5:
        - Add Luca's reviewed-by and tested-by tags.

    Changes in v4:
        - Somehow I forgot to send it in v3. So re-include it.

    Changes in v2:
        - Remove arm32 code
---
 xen/arch/arm/arm32/smpboot.c   |  4 ++++
 xen/arch/arm/arm64/head.S      | 29 +++++++++--------------------
 xen/arch/arm/arm64/smpboot.c   | 15 ++++++++++++++-
 xen/arch/arm/include/asm/smp.h |  1 +
 xen/arch/arm/smpboot.c         |  1 +
 5 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/xen/arch/arm/arm32/smpboot.c b/xen/arch/arm/arm32/smpboot.c
index e7368665d50d..518e9f9c7e70 100644
--- a/xen/arch/arm/arm32/smpboot.c
+++ b/xen/arch/arm/arm32/smpboot.c
@@ -21,6 +21,10 @@ int arch_cpu_up(int cpu)
     return platform_cpu_up(cpu);
 }
 
+void arch_cpu_up_finish(void)
+{
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 5efd442b24af..a61b4d3c2738 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -308,6 +308,7 @@ real_start_efi:
         bl    check_cpu_mode
         bl    cpu_init
         bl    create_page_tables
+        load_paddr x0, boot_pgtable
         bl    enable_mmu
 
         /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
@@ -365,29 +366,14 @@ GLOBAL(init_secondary)
 #endif
         bl    check_cpu_mode
         bl    cpu_init
-        bl    create_page_tables
+        load_paddr x0, init_ttbr
+        ldr   x0, [x0]
         bl    enable_mmu
 
         /* We are still in the 1:1 mapping. Jump to the runtime Virtual Address. */
         ldr   x0, =secondary_switched
         br    x0
 secondary_switched:
-        /*
-         * Non-boot CPUs need to move on to the proper pagetables, which were
-         * setup in init_secondary_pagetables.
-         *
-         * XXX: This is not compliant with the Arm Arm.
-         */
-        ldr   x4, =init_ttbr         /* VA of TTBR0_EL2 stashed by CPU 0 */
-        ldr   x4, [x4]               /* Actual value */
-        dsb   sy
-        msr   TTBR0_EL2, x4
-        dsb   sy
-        isb
-        tlbi  alle2
-        dsb   sy                     /* Ensure completion of TLB flush */
-        isb
-
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
         ldr   x23, =EARLY_UART_VIRTUAL_ADDRESS
@@ -672,9 +658,13 @@ ENDPROC(create_page_tables)
  * mapping. In other word, the caller is responsible to switch to the runtime
  * mapping.
  *
- * Clobbers x0 - x3
+ * Inputs:
+ *   x0 : Physical address of the page tables.
+ *
+ * Clobbers x0 - x4
  */
 enable_mmu:
+        mov   x4, x0
         PRINT("- Turning on paging -\r\n")
 
         /*
@@ -685,8 +675,7 @@ enable_mmu:
         dsb   nsh
 
         /* Write Xen's PT's paddr into TTBR0_EL2 */
-        load_paddr x0, boot_pgtable
-        msr   TTBR0_EL2, x0
+        msr   TTBR0_EL2, x4
         isb
 
         mrs   x0, SCTLR_EL2
diff --git a/xen/arch/arm/arm64/smpboot.c b/xen/arch/arm/arm64/smpboot.c
index 694fbf67e62a..9637f424699e 100644
--- a/xen/arch/arm/arm64/smpboot.c
+++ b/xen/arch/arm/arm64/smpboot.c
@@ -106,10 +106,23 @@ int __init arch_cpu_init(int cpu, struct dt_device_node *dn)
 
 int arch_cpu_up(int cpu)
 {
+    int rc;
+
     if ( !smp_enable_ops[cpu].prepare_cpu )
         return -ENODEV;
 
-    return smp_enable_ops[cpu].prepare_cpu(cpu);
+    update_identity_mapping(true);
+
+    rc = smp_enable_ops[cpu].prepare_cpu(cpu);
+    if ( rc )
+        update_identity_mapping(false);
+
+    return rc;
+}
+
+void arch_cpu_up_finish(void)
+{
+    update_identity_mapping(false);
 }
 
 /*
diff --git a/xen/arch/arm/include/asm/smp.h b/xen/arch/arm/include/asm/smp.h
index 8133d5c29572..a37ca55bff2c 100644
--- a/xen/arch/arm/include/asm/smp.h
+++ b/xen/arch/arm/include/asm/smp.h
@@ -25,6 +25,7 @@ extern void noreturn stop_cpu(void);
 extern int arch_smp_init(void);
 extern int arch_cpu_init(int cpu, struct dt_device_node *dn);
 extern int arch_cpu_up(int cpu);
+extern void arch_cpu_up_finish(void);
 
 int cpu_up_send_sgi(int cpu);
 
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 412ae2286906..4a89b3a8345b 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -500,6 +500,7 @@ int __cpu_up(unsigned int cpu)
     init_data.cpuid = ~0;
     smp_up_cpu = MPIDR_INVALID;
     clean_dcache(smp_up_cpu);
+    arch_cpu_up_finish();
 
     if ( !cpu_online(cpu) )
     {
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:06:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505026.777550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkVi-00057K-Ls; Thu, 02 Mar 2023 15:06:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505026.777550; Thu, 02 Mar 2023 15:06: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 1pXkVi-00057D-J7; Thu, 02 Mar 2023 15:06:22 +0000
Received: by outflank-mailman (input) for mailman id 505026;
 Thu, 02 Mar 2023 15:06: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=TfVa=62=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pXkVh-000577-CG
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:06:21 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2054.outbound.protection.outlook.com [40.107.7.54])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c8bd6f45-b90b-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:06:18 +0100 (CET)
Received: from DUZPR01CA0010.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:3c3::12) by GV2PR08MB9925.eurprd08.prod.outlook.com
 (2603:10a6:150:c3::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Thu, 2 Mar
 2023 15:05:48 +0000
Received: from DBAEUR03FT025.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:3c3:cafe::20) by DUZPR01CA0010.outlook.office365.com
 (2603:10a6:10:3c3::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18 via Frontend
 Transport; Thu, 2 Mar 2023 15:05:48 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT025.mail.protection.outlook.com (100.127.142.226) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.19 via Frontend Transport; Thu, 2 Mar 2023 15:05:48 +0000
Received: ("Tessian outbound 55ffa3012b8f:v135");
 Thu, 02 Mar 2023 15:05:48 +0000
Received: from a98cf5542458.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F39A23E0-F48F-448B-B487-5441F18639CB.1; 
 Thu, 02 Mar 2023 15:05:37 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a98cf5542458.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 02 Mar 2023 15:05:37 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by GV2PR08MB9230.eurprd08.prod.outlook.com (2603:10a6:150:d9::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Thu, 2 Mar
 2023 15:05:33 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Thu, 2 Mar 2023
 15:05: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: c8bd6f45-b90b-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Tb8/1fYwL9DsNwKRw02U8FOwXyzkjmGyx7KhBB3azfI=;
 b=eKDuFSCkIf12/tIJnZ1G0ULn3YLhQk0A+1YmFqIyCGK4frKLhRBk9wzlgq5N+lZlZnRsXjdl6ANlw2IKWhd+ehdNVyTPVBEvSDB5g5OD/+/fETpkTu8AiWf2r2NS/2oIDUvAsXllqkERpa3JxFN6s26T9THP+ocmhtbTZaAnOHE=
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: aa0f9854b26331f7
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VlUnp5zjfSxlvKzVs/jN3BKR4KjRobHBGwdFWwUM0kqj8L9xfRveB2AtxEWk4XRlmmQDaeTwZ40e4gl3inB+zIFi7d4TkZVA+bH0AVSKWNshE28t7+OINiod5rjD3U9zf/XW5Bw/NSnWNx4o1yzEq+SJsUdvxXZ1in40WGgzZEXf3vNK/ou/7GeOGwsQhkBLD97eN3cHx7a1fOg+6Nv1Vis09zqPbf9TAboxRoUVlsNixKmEvVwKfEYvTmq2adjeRw2vGpDXJmjsTNjvKYnOHYylED8pF32CbHkl2nzo4LZn5TvJ82PTQua9uFcJH9rSZg7GegVKqPt/c5/JlFtltg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Tb8/1fYwL9DsNwKRw02U8FOwXyzkjmGyx7KhBB3azfI=;
 b=H7eon1KzJTNBtkTlGkgNLsw2iv5y314QNolo5nnkPbdVQO6w0ihbccpImhAL6664BuhCgjeiTqAmCBQLPFW9Y4yt3F4+tBEXX0Uee07MoQvxEAUYvgmxo2TPURfDslOx80aARZlpG9HiXRPa35u2fYs0+9aRqW/7ay+ecTALwJCP1eUfo7sBrcAT7CGdMR51Qpa7RYI/J0xWULFVU3AivuFvY1110UvuEAa2Nm1/d+gX+zTOXWT9dOKtJA7O4BfXpHEBbxEnCK+JI/QHMiCuME2nViOvbSR21P2akFXIAERFZ/RcjzJB2fDn4NbrY6qSLAqUHp7IpThT2yoHC2T2Pw==
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=Tb8/1fYwL9DsNwKRw02U8FOwXyzkjmGyx7KhBB3azfI=;
 b=eKDuFSCkIf12/tIJnZ1G0ULn3YLhQk0A+1YmFqIyCGK4frKLhRBk9wzlgq5N+lZlZnRsXjdl6ANlw2IKWhd+ehdNVyTPVBEvSDB5g5OD/+/fETpkTu8AiWf2r2NS/2oIDUvAsXllqkERpa3JxFN6s26T9THP+ocmhtbTZaAnOHE=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 13/20] xen/arm: ffa: support mapping guest RX/TX
 buffers
Thread-Topic: [XEN PATCH v7 13/20] xen/arm: ffa: support mapping guest RX/TX
 buffers
Thread-Index: AQHZRtMeFpHwz1fcdEO/uVmQactk+a7noysA
Date: Thu, 2 Mar 2023 15:05:33 +0000
Message-ID: <BE16E58C-FBDF-4815-A6C1-CB0D3C573816@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <be5a37c0ec23bf8119f5cb68ec58d8cca16d9812.1677079672.git.jens.wiklander@linaro.org>
In-Reply-To:
 <be5a37c0ec23bf8119f5cb68ec58d8cca16d9812.1677079672.git.jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|GV2PR08MB9230:EE_|DBAEUR03FT025:EE_|GV2PR08MB9925:EE_
X-MS-Office365-Filtering-Correlation-Id: b96a0785-021d-48d3-6d60-08db1b2f9b19
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:
 lGF6VqWvtdLQ/k7Cu6j1QqZSf3mG83lDzyXpW4Cx9GHgnA+DsKG3ZpoQqFbgm6xrMLT71uf0c6q6eHfH1PBi2DcpJ8K8kRR+oBqZTyf7kFQe1c9rU8fzCgn4iOcJRZ7MlxdqSLssvQIBpzbEE+ZwSEkokVcf+6tC6Wa+0TRslaM7nnqfVheUiVOJjeK+wl1nFqpZb8oNlPxo7oFdAWV5LEXdJ+bsCuj4S/yV4yh9Q+WS5j9voRTj1CB7fAKmaDvwTsmQ3khozqab39jALuJdg6baANLhzkgMyZVYRxCnCrAjrNsyFbZcO9KaNg3T8LRBXgpoGBXIshUZhk15ZwC6no0k25h3M3LjkwixB3Pw5cv9ydxjtTDSypNpROzNi2dNZkMSv3xOKhCGQr/WS1gQtKuedWesE5xLWZn3R9JFXKFt9TSqwC+9parIYeo8SN+DjQOHn7V7JaW1axO5ODeA6Ux2Vfq0BmjYcJH129sLcbsVrtBEYyvLjgO6rey4XjcQbbEa+LZjKk/hZl2XdjSHqdFjvnNZI+t/J6NPzpJ4PAKZiK3DO8Yf9D5JbDPEcyBSLPHD8m3ocj+M+YBjv8S8g1CVbGr2pyRrrcKnBysFVA7l3bjpyplxS4TbRw7+A65MIjRL6zJYNVYXsU4fBVBQyC1R87w0Z4Nz+D9xrXMTbSEIfwuko2FuPqd6T6/rA5u+yh0P+fWe6j099JPg/WjXIxAILzqjiNn30hzsW//7Dss=
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:(13230025)(4636009)(366004)(136003)(346002)(376002)(39860400002)(396003)(451199018)(71200400001)(38070700005)(4326008)(8936002)(122000001)(38100700002)(86362001)(33656002)(66556008)(66476007)(36756003)(41300700001)(6916009)(66946007)(5660300002)(66446008)(64756008)(2906002)(8676002)(6486002)(76116006)(6506007)(26005)(53546011)(2616005)(6512007)(83380400001)(186003)(316002)(54906003)(91956017)(478600001)(66899018)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <B06387AE856A414487A227495AE89791@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB9230
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:
 DBAEUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e2df3bf8-b98c-4b99-3e8f-08db1b2f9256
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YGIysifNbNsM+lwdZcUbNnUy0U8M/8yG7ayxod+meNoRmKyMAW4pfzW1avN5rPkprgTNmnJoVaBKEMsE029PdHMOArvjkHQ16r6KQSWH2zg1vc1A7o32XOfsYEGZpby/f1DgJYADGQZQtyOJLnYjD2TlIbKGBNkfhA5RovYrpJ6NN8CirCF7SKHdb126xjLbLUSR//WfLHXRFV6OVkHcRVe96EWspIh/KAm6G8/My580DBbx4Uk0HDSkkPlCNk99K1JV8j1TLmDEIzxtEvKx8gxw7ydthbxXdnZqi5SBfQcXjGGZrhSLlUMMdraNi9k+lRiMpqSH+DNx0QB94RHr03q7Qw35PPx1nE3DtDCq+iDqv+Apnc2B+ttnCEzAO9ASKCP8cebbLwXY+m7NMDXF/fNklyDdxz8dQbgzDu9IXlZJXv40BIvBiHo1g6zQ6EZYrqfnsafDd3OZ/K2H30TFyItdAoJVB3HRPb1eSGm5Vf4ZlRkDy1uEdBAUBGj3oUV89cRAkrs7iyMGkEntvcLncR/nM++hQEfIZcWvYNWFTv6AzXHlfidm7kenEYvEMlcQdo3D9lnlgvzvFrXOdpkdqUBm25E8IRsciKES4vj81v7SVj0ijRfwmAnVI+zlvyCG58FfJequ32poDerTtNg8tBX/r1mgXXXlh8vYtm8u6xu6dcweYvtH1jjrybfK5hE82bHI0yG2IuvvgMAzGZiTfA==
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:(13230025)(4636009)(136003)(39860400002)(396003)(376002)(346002)(451199018)(46966006)(36840700001)(40470700004)(83380400001)(36860700001)(66899018)(47076005)(40460700003)(36756003)(5660300002)(33656002)(82740400003)(81166007)(478600001)(6862004)(8936002)(356005)(86362001)(40480700001)(82310400005)(2616005)(336012)(26005)(6512007)(6486002)(53546011)(6506007)(2906002)(70206006)(4326008)(70586007)(8676002)(316002)(41300700001)(186003)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 15:05:48.2448
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b96a0785-021d-48d3-6d60-08db1b2f9b19
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:
	DBAEUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB9925

Hi Jens,

> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Adds support in the mediator to map and unmap the RX and TX buffers
> provided by the guest using the two FF-A functions FFA_RXTX_MAP and
> FFA_RXTX_UNMAP.
>=20
> These buffer are later used to to transmit data that cannot be passed in
> registers only.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> ---
> xen/arch/arm/tee/ffa.c | 127 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 127 insertions(+)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index f1b014b6c7f4..953b6dfd5eca 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -149,10 +149,17 @@ struct ffa_partition_info_1_1 {
> };
>=20
> struct ffa_ctx {
> +    void *rx;
> +    const void *tx;
> +    struct page_info *rx_pg;
> +    struct page_info *tx_pg;
> +    unsigned int page_count;
>     uint32_t guest_vers;
> +    bool tx_is_mine;
>     bool interrupted;
> };
>=20
> +
Newline probably added by mistake.

> /* Negotiated FF-A version to use with the SPMC */
> static uint32_t ffa_version __ro_after_init;
>=20
> @@ -337,6 +344,11 @@ static void set_regs(struct cpu_user_regs *regs, reg=
ister_t v0, register_t v1,
>         set_user_reg(regs, 7, v7);
> }
>=20
> +static void set_regs_error(struct cpu_user_regs *regs, uint32_t error_co=
de)
> +{
> +    set_regs(regs, FFA_ERROR, 0, error_code, 0, 0, 0, 0, 0);
> +}
> +
> static void set_regs_success(struct cpu_user_regs *regs, uint32_t w2,
>                              uint32_t w3)
> {
> @@ -358,6 +370,99 @@ static void handle_version(struct cpu_user_regs *reg=
s)
>     set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
> }
>=20
> +static uint32_t handle_rxtx_map(uint32_t fid, register_t tx_addr,
> +                                register_t rx_addr, uint32_t page_count)
> +{
> +    uint32_t ret =3D FFA_RET_INVALID_PARAMETERS;
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +    struct page_info *tx_pg;
> +    struct page_info *rx_pg;
> +    p2m_type_t t;
> +    void *rx;
> +    void *tx;
> +
> +    if ( !smccc_is_conv_64(fid) )
> +    {
> +        tx_addr &=3D UINT32_MAX;
> +        rx_addr &=3D UINT32_MAX;
> +    }

I am bit wondering here what we should do:
- we could just say that 32bit version of the call is not allowed for non 3=
2bit guests
- we could check that the highest bits are 0 for 64bit guests and return an=
 error if not
- we can just mask hopping that if there was a mistake the address after th=
e mask
does not exist in the guest space

At the end nothing in the spec is preventing a 64bit guest to use the 32bit=
 so it might
be a good idea to return an error if the highest 32bit are not 0 here ?

> +
> +    /* For now to keep things simple, only deal with a single page */
> +    if ( page_count !=3D 1 )
> +        return FFA_RET_NOT_SUPPORTED;

Please add a TODO here and a print as this is a limitation we will probably=
 have to
work on soon.


> +
> +    /* Already mapped */
> +    if ( ctx->rx )
> +        return FFA_RET_DENIED;
> +
> +    tx_pg =3D get_page_from_gfn(d, gfn_x(gaddr_to_gfn(tx_addr)), &t, P2M=
_ALLOC);
> +    if ( !tx_pg )
> +        return FFA_RET_INVALID_PARAMETERS;
> +    /* Only normal RAM for now */
> +    if ( !p2m_is_ram(t) )
> +        goto err_put_tx_pg;
> +
> +    rx_pg =3D get_page_from_gfn(d, gfn_x(gaddr_to_gfn(rx_addr)), &t, P2M=
_ALLOC);
> +    if ( !tx_pg )
> +        goto err_put_tx_pg;
> +    /* Only normal RAM for now */
> +    if ( !p2m_is_ram(t) )
> +        goto err_put_rx_pg;
> +
> +    tx =3D __map_domain_page_global(tx_pg);
> +    if ( !tx )
> +        goto err_put_rx_pg;
> +
> +    rx =3D __map_domain_page_global(rx_pg);
> +    if ( !rx )
> +        goto err_unmap_tx;
> +
> +    ctx->rx =3D rx;
> +    ctx->tx =3D tx;
> +    ctx->rx_pg =3D rx_pg;
> +    ctx->tx_pg =3D tx_pg;
> +    ctx->page_count =3D 1;

please use page_count here instead of 1 so that this is not forgotten once
we add support for more pages.


Cheers
Bertrand

> +    ctx->tx_is_mine =3D true;
> +    return FFA_RET_OK;
> +
> +err_unmap_tx:
> +    unmap_domain_page_global(tx);
> +err_put_rx_pg:
> +    put_page(rx_pg);
> +err_put_tx_pg:
> +    put_page(tx_pg);
> +
> +    return ret;
> +}
> +
> +static void rxtx_unmap(struct ffa_ctx *ctx)
> +{
> +    unmap_domain_page_global(ctx->rx);
> +    unmap_domain_page_global(ctx->tx);
> +    put_page(ctx->rx_pg);
> +    put_page(ctx->tx_pg);
> +    ctx->rx =3D NULL;
> +    ctx->tx =3D NULL;
> +    ctx->rx_pg =3D NULL;
> +    ctx->tx_pg =3D NULL;
> +    ctx->page_count =3D 0;
> +    ctx->tx_is_mine =3D false;
> +}
> +
> +static uint32_t handle_rxtx_unmap(void)
> +{
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +    if ( !ctx->rx )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    rxtx_unmap(ctx);
> +
> +    return FFA_RET_OK;
> +}
> +
> static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32=
_t fid)
> {
>     struct arm_smccc_1_2_regs arg =3D { .a0 =3D fid, };
> @@ -423,6 +528,7 @@ static bool ffa_handle_call(struct cpu_user_regs *reg=
s)
>     uint32_t fid =3D get_user_reg(regs, 0);
>     struct domain *d =3D current->domain;
>     struct ffa_ctx *ctx =3D d->arch.tee;
> +    int e;
>=20
>     if ( !ctx )
>         return false;
> @@ -435,6 +541,24 @@ static bool ffa_handle_call(struct cpu_user_regs *re=
gs)
>     case FFA_ID_GET:
>         set_regs_success(regs, get_vm_id(d), 0);
>         return true;
> +    case FFA_RXTX_MAP_32:
> +#ifdef CONFIG_ARM_64
> +    case FFA_RXTX_MAP_64:
> +#endif
> +        e =3D handle_rxtx_map(fid, get_user_reg(regs, 1), get_user_reg(r=
egs, 2),
> +                            get_user_reg(regs, 3));
> +        if ( e )
> +            set_regs_error(regs, e);
> +        else
> +            set_regs_success(regs, 0, 0);
> +        return true;
> +    case FFA_RXTX_UNMAP:
> +        e =3D handle_rxtx_unmap();
> +        if ( e )
> +            set_regs_error(regs, e);
> +        else
> +            set_regs_success(regs, 0, 0);
> +        return true;
>     case FFA_MSG_SEND_DIRECT_REQ_32:
> #ifdef CONFIG_ARM_64
>     case FFA_MSG_SEND_DIRECT_REQ_64:
> @@ -515,6 +639,9 @@ static int ffa_relinquish_resources(struct domain *d)
>                    get_vm_id(d), subscr_vm_destroyed[n], res);
>     }
>=20
> +    if ( ctx->rx )
> +        rxtx_unmap(ctx);
> +
>     XFREE(d->arch.tee);
>=20
>     return 0;
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:15:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:15:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505041.777560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkek-0006tU-Mi; Thu, 02 Mar 2023 15:15:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505041.777560; Thu, 02 Mar 2023 15: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 1pXkek-0006tN-K1; Thu, 02 Mar 2023 15:15:42 +0000
Received: by outflank-mailman (input) for mailman id 505041;
 Thu, 02 Mar 2023 15: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=JoVR=62=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1pXkej-0006t9-49
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:15:41 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16e49fe1-b90d-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:15:39 +0100 (CET)
Received: from DB6PR0601CA0034.eurprd06.prod.outlook.com (2603:10a6:4:17::20)
 by DB3PR08MB9133.eurprd08.prod.outlook.com (2603:10a6:10:43c::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Thu, 2 Mar
 2023 15:15:31 +0000
Received: from DBAEUR03FT028.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:17:cafe::31) by DB6PR0601CA0034.outlook.office365.com
 (2603:10a6:4:17::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19 via Frontend
 Transport; Thu, 2 Mar 2023 15:15:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT028.mail.protection.outlook.com (100.127.142.236) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.20 via Frontend Transport; Thu, 2 Mar 2023 15:15:30 +0000
Received: ("Tessian outbound 55ffa3012b8f:v135");
 Thu, 02 Mar 2023 15:15:30 +0000
Received: from 00256289af9b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 63835D70-0489-40E0-8766-8D3DB2E29E91.1; 
 Thu, 02 Mar 2023 15:15:24 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 00256289af9b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 02 Mar 2023 15:15:24 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM9PR08MB5907.eurprd08.prod.outlook.com (2603:10a6:20b:2da::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.26; Thu, 2 Mar
 2023 15:15:16 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03%6]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023
 15:15: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: 16e49fe1-b90d-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=idiMTzR8fE+4OlQEbFAVvxCG/Mgx4+pKnDPFgk1G1+M=;
 b=AlFL/r04rkFEtuf4beSe7ulXoujy4lXP9BW0upjKYTpmNZxOL7Cv6KxoN/cs09H6PhjO1eX/Ng2oTIs5PSnj6uc/ka1sy+YV3bWgwVRk7NuSU1qtk81LtwMDkB6W8DCHecA6PPgX2Ajbs7fA1I+9ZdIRQCrTvcgXHwB01MKyUuo=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I5pvbFLRN7EpE6qk+6a39zYazuEm+3cz718ucu/DZOFCc6U1IA6K2WJZrH7ur6W2Bn1UdRKfyTHchprMl5MnVclBtyBWQUDAHtAmTbMthuPjcZ8DLSfID9n3KMGR3+5oO2h4YEuTIoZj4R3EB0gn/kIJ9BWcjByV3IVoWAwK2FcmqAd9tcB9H/vTZsMDwnZmX+zxrae/Z47uahOYhiqfVU7Zj5rEXvVCYrgLyXGfzHDWkmj/B3J3kxUcOe9LTBYvgLdYIlZQkJjlSlPd4UeaE7ixznEMY5SRtOVcXN7QRVYAacyXO4Z1RI/QZVMSfr8XjDH3yGKC1sAUxlBLUeYZxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=idiMTzR8fE+4OlQEbFAVvxCG/Mgx4+pKnDPFgk1G1+M=;
 b=TR9kZBZ+fLx1Y2iq6qZ8PSScqOcqG4sWl83QAe0dmGqF6k3Gkb7Up9zkgKu91Vlig9Ft7PJBtUKQOXO+MK3tsrNJ16gr5P33Q48WEzWQzn6A8PHE9sK4Ve5eN7Lwr9PP10yw6y2WlNQOQasbbwtEEXWWBxK2vQAM9Zq3qDxWDW/FdSTnjx2nscQC4X61+3jNZwfMJ4EmcPVmLS7jfDETKenQi0RAOQKiJ1oYqutPWLK0qOE5UK6xH9WiQVt9IdAXuiD+qHJBo5Txrs8NlBCE4082cOetHq6Ay6wPiD6C/1+57i6DyX7G+dPV2jU06qJtXJKwqmfUVMtdKXzMUUZrXA==
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=idiMTzR8fE+4OlQEbFAVvxCG/Mgx4+pKnDPFgk1G1+M=;
 b=AlFL/r04rkFEtuf4beSe7ulXoujy4lXP9BW0upjKYTpmNZxOL7Cv6KxoN/cs09H6PhjO1eX/Ng2oTIs5PSnj6uc/ka1sy+YV3bWgwVRk7NuSU1qtk81LtwMDkB6W8DCHecA6PPgX2Ajbs7fA1I+9ZdIRQCrTvcgXHwB01MKyUuo=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Luca Fancellu <Luca.Fancellu@arm.com>, "michal.orzel@amd.com"
	<michal.orzel@amd.com>, Julien Grall <jgrall@amazon.com>
Subject: RE: [PATCH v6 3/5] xen/arm64: mm: Introduce helpers to
 prepare/enable/disable the identity mapping
Thread-Topic: [PATCH v6 3/5] xen/arm64: mm: Introduce helpers to
 prepare/enable/disable the identity mapping
Thread-Index: AQHZTRejuKIFgfvPuUGgSC/MIV1QK67nmTVw
Date: Thu, 2 Mar 2023 15:15:15 +0000
Message-ID:
 <AS8PR08MB79916AEE0DA4EF40F513209192B29@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230302145916.44035-1-julien@xen.org>
 <20230302145916.44035-4-julien@xen.org>
In-Reply-To: <20230302145916.44035-4-julien@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 85B5C8BD816D37419B43086E4FAEF2A8.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AM9PR08MB5907:EE_|DBAEUR03FT028:EE_|DB3PR08MB9133:EE_
X-MS-Office365-Filtering-Correlation-Id: 489f39a7-13fc-4b58-acb4-08db1b30f671
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:
 BX3PJIC0c977U1/IjMHz9FwOA028EarYsolm7E+Pg89VJK9wExHJFlpBpn4zgiwjgCpP99sMT0iFHFf4a0LRV+dVKP0hccHIQZQ6Mo/3KE+5TZh9YPooejLX7d/Hy6u0MNgfeWVm0a+FKnMHsgcQjTEfeb9t+DpXETWKGbwsUMJBD1/W17KjEfmXa4F20E6xo5RRgTHPCXF3XWg5F4XBLfF5aVfoIrlPnskaqBeFqQ/Jm/7mKgysKqnZNwDXYkIHxVsCUrcrMZJt2gJsGrkT37m7KGFc/P/a5GEBk/P4KwazJ+7MMweeofeF/dlpwE/D5SauD5rx54uNq/imEh2kk/Yg4WPLYb0sAq7mxdfvLzMkQbF1ciVYU2XSEKxg1Zy4oAURLTcA9SuQkXYN/tEjO36fUwx2V7QBQQJxZP6w9FifTQK1QZ+c62U2XtwJGh93TL6cHtlwFpoXrOOkMijcAXjUQsk/zoc3+AxQ7dlTd07mb1ap+jlFSSYO9PcxOpjjHwIhvkFPdpRBYvTsXhfIB5rOHUgOqhbI3w1x6EvdQSKVqlmG9E1uS+SdQWEEthWYrXn6m1+LSWuZdOT9OqD5esmOwILfrGrYDSJMf5WDw2K5kdXfQL7BgVIl2FCuNGnBT9BzX55uxbYCy39l+aLHREkD3Yi3oaFzPWL+YSuPHoXki401AzpHekxg9KusqLD0oDt0ISmecJUvFGFdTzVqTw==
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:(13230025)(4636009)(346002)(376002)(366004)(136003)(39860400002)(396003)(451199018)(186003)(54906003)(316002)(83380400001)(33656002)(86362001)(110136005)(2906002)(7696005)(26005)(9686003)(8936002)(66476007)(71200400001)(41300700001)(5660300002)(76116006)(4326008)(8676002)(66446008)(66946007)(478600001)(55016003)(66556008)(6506007)(64756008)(38100700002)(52536014)(122000001)(38070700005);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB5907
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e6d67968-10fb-4f60-39e6-08db1b30ed06
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mnAFyBLCcPvljyH0BfBqtbEnwD3t5Rw8eUWlgAUvJnrixxZF8tkD68lBpeg+sEGDSld5LOKXMALaBmXjTySSLmgimzmqZ9GNaQnAWgwZEQWJkBCm3e7crQRs1ADZyXxM+ZlsKyu+3RlLujOgRXiVKrPFOmpwseZOQCHw71GT6UKCD7DpsygYutRvR2qM3O3LNCrSZER6R3brimKQib5yiBz//UoXZpGqHKMK+DXE1Pt4OxAjhs4e/OQDbAS0QizrctZjtecnloLRXBRDhgX/2oIpiNJqlSaUXjzqbEwfXaLgDTVAwwZjGvq3cSJMVPWMjOESubkcWJX+61xE0fBdf5SjTx/YSuhi/NoNMkrATfGjAVCtWnJc+Gm0lW5V/RA4xx5+3QMqrxrsCXTXj3OhyaoBDcQOrpQrPfRuWOLVqn7BeJwJ/RE+/9Z2/dE2Khj1ioM4RGYWC51V3kBfPEYPVd+NKqjm/+XcdTw62wNYarq9dVHL+4NYqlZ1DC/nTa2c3EbUl6vn2nNJud401fAj2STIwbOO5adoRLTDZCZmwR3FOsGvZ8tih1xOef4MDKjWxapAHEuuKZp2dvosl4BH4twLoAxyNgK+/jJPb2RoSgVGRBJzy4j9TJTbi4XVnqrWxotULXg3JJB49+XWbatXTeNXWKTt4vGwNofXW1jqNAYPDtiUW0bATcu1BiXB+x0zjn8CcM5y0lxwXBs8GOGkLA==
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:(13230025)(4636009)(346002)(39860400002)(376002)(136003)(396003)(451199018)(46966006)(36840700001)(40470700004)(41300700001)(52536014)(86362001)(55016003)(8936002)(2906002)(4326008)(5660300002)(40480700001)(36860700001)(356005)(81166007)(82740400003)(8676002)(107886003)(478600001)(54906003)(316002)(186003)(7696005)(33656002)(70586007)(82310400005)(70206006)(110136005)(40460700003)(47076005)(26005)(83380400001)(9686003)(336012)(6506007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 15:15:30.9925
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 489f39a7-13fc-4b58-acb4-08db1b30f671
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB9133

Hi Julien,

> -----Original Message-----
> Subject: [PATCH v6 3/5] xen/arm64: mm: Introduce helpers to
> prepare/enable/disable the identity mapping
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> In follow-up patches we will need to have part of Xen identity mapped in
> order to safely switch the TTBR.
>=20
> On some platform, the identity mapping may have to start at 0. If we alwa=
ys
> keep the identity region mapped, NULL pointer dereference would lead to
> access to valid mapping.
>=20
> It would be possible to relocate Xen to avoid clashing with address 0.
> However the identity mapping is only meant to be used in very limited
> places. Therefore it would be better to keep the identity region invalid
> for most of the time.
>=20
> Two new external helpers are introduced:
>     - arch_setup_page_tables() will setup the page-tables so it is
>       easy to create the mapping afterwards.
>     - update_identity_mapping() will create/remove the identity mapping
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505050.777592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxL-0001Y9-At; Thu, 02 Mar 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 505050.777592; Thu, 02 Mar 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 1pXkxL-0001XE-0P; Thu, 02 Mar 2023 15:34:55 +0000
Received: by outflank-mailman (input) for mailman id 505050;
 Thu, 02 Mar 2023 15:34: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=ucY8=62=casper.srs.infradead.org=BATV+a1ad97f05afd282148df+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxJ-0001Jw-0C
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34: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 c2002737-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pXkx4-002UNL-GG; Thu, 02 Mar 2023 15:34:39 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uzB-1f; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2002737-b90f-11ed-a550-8520e6686977
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=hO9boeY37hI66edoKGp/We1ozdCgGmP7lbWXFd91Vmg=; b=XEw5/n84HVx/f6TpZQyopNgrJO
	jGzibgq8/nq92uNWAx2ml1yf0nb7kz9OG+jPVpu0zp+J+dCmFYpnnGtmtr43ouNrSDdku+iQXkFWJ
	BCI2FPJ2rh+NiRKrjSsSc10InnYmPq5EFD3Ou8R8SlkzBviIaehalog7XLvfoL0zmG8JffYffUhfT
	YRkIeFB8kgo1kAKwcRP8OkWIhea4tMbxuf8JEAcglYjWXT3Dc8uUOrq9QVVXHOb5BufSXXVGV+9W7
	4gXnSSHgOsMPb0f6ODCoqsZ9aB6BeBipEeIU7Finm1wZHN7wBqZPyWrJuOrq4YI8FGnZ/KB+eW5AD
	GITmZOlA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 14/25] hw/xen: Move xenstore_store_pv_console_info to xen_console.c
Date: Thu,  2 Mar 2023 15:34:24 +0000
Message-Id: <20230302153435.1170111-15-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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>

There's no need for this to be in the Xen accel code, and as we want to
use the Xen console support with KVM-emulated Xen we'll want to have a
platform-agnostic version of it. Make it use GString to build up the
path while we're at it.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 accel/xen/xen-all.c   | 61 -------------------------------------------
 hw/char/xen_console.c | 45 +++++++++++++++++++++++++++++--
 include/hw/xen/xen.h  |  2 --
 3 files changed, 43 insertions(+), 65 deletions(-)

diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index 425216230f..2d51c41e40 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -29,67 +29,6 @@ xc_interface *xen_xc;
 xenforeignmemory_handle *xen_fmem;
 xendevicemodel_handle *xen_dmod;
 
-static int store_dev_info(int domid, Chardev *cs, const char *string)
-{
-    struct xs_handle *xs = NULL;
-    char *path = NULL;
-    char *newpath = NULL;
-    char *pts = NULL;
-    int ret = -1;
-
-    /* Only continue if we're talking to a pty. */
-    if (!CHARDEV_IS_PTY(cs)) {
-        return 0;
-    }
-    pts = cs->filename + 4;
-
-    /* We now have everything we need to set the xenstore entry. */
-    xs = xs_open(0);
-    if (xs == NULL) {
-        fprintf(stderr, "Could not contact XenStore\n");
-        goto out;
-    }
-
-    path = xs_get_domain_path(xs, domid);
-    if (path == NULL) {
-        fprintf(stderr, "xs_get_domain_path() error\n");
-        goto out;
-    }
-    newpath = realloc(path, (strlen(path) + strlen(string) +
-                strlen("/tty") + 1));
-    if (newpath == NULL) {
-        fprintf(stderr, "realloc error\n");
-        goto out;
-    }
-    path = newpath;
-
-    strcat(path, string);
-    strcat(path, "/tty");
-    if (!xs_write(xs, XBT_NULL, path, pts, strlen(pts))) {
-        fprintf(stderr, "xs_write for '%s' fail", string);
-        goto out;
-    }
-    ret = 0;
-
-out:
-    free(path);
-    xs_close(xs);
-
-    return ret;
-}
-
-void xenstore_store_pv_console_info(int i, Chardev *chr)
-{
-    if (i == 0) {
-        store_dev_info(xen_domid, chr, "/console");
-    } else {
-        char buf[32];
-        snprintf(buf, sizeof(buf), "/device/console/%d", i);
-        store_dev_info(xen_domid, chr, buf);
-    }
-}
-
-
 static void xenstore_record_dm_state(const char *state)
 {
     struct xs_handle *xs;
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index ad8638a86d..c7a19c0e7c 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -173,6 +173,48 @@ static void xencons_send(struct XenConsole *con)
 
 /* -------------------------------------------------------------------- */
 
+static int store_con_info(struct XenConsole *con)
+{
+    Chardev *cs = qemu_chr_fe_get_driver(&con->chr);
+    char *pts = NULL;
+    char *dom_path;
+    GString *path;
+    int ret = -1;
+
+    /* Only continue if we're talking to a pty. */
+    if (!CHARDEV_IS_PTY(cs)) {
+        return 0;
+    }
+    pts = cs->filename + 4;
+
+    dom_path = qemu_xen_xs_get_domain_path(xenstore, xen_domid);
+    if (!dom_path) {
+        return 0;
+    }
+
+    path = g_string_new(dom_path);
+    free(dom_path);
+
+    if (con->xendev.dev) {
+        g_string_append_printf(path, "/device/console/%d", con->xendev.dev);
+    } else {
+        g_string_append(path, "/console");
+    }
+    g_string_append(path, "/tty");
+
+    if (xenstore_write_str(con->console, path->str, pts)) {
+        fprintf(stderr, "xenstore_write_str for '%s' fail", path->str);
+        goto out;
+    }
+    ret = 0;
+
+out:
+    g_string_free(path, true);
+    free(path);
+
+    return ret;
+}
+
 static int con_init(struct XenLegacyDevice *xendev)
 {
     struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
@@ -215,8 +257,7 @@ static int con_init(struct XenLegacyDevice *xendev)
                          &error_abort);
     }
 
-    xenstore_store_pv_console_info(con->xendev.dev,
-                                   qemu_chr_fe_get_driver(&con->chr));
+    store_con_info(con);
 
 out:
     g_free(type);
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index 03983939f9..56b1c2a827 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -39,8 +39,6 @@ int xen_is_pirq_msi(uint32_t msi_data);
 
 qemu_irq *xen_interrupt_controller_init(void);
 
-void xenstore_store_pv_console_info(int i, Chardev *chr);
-
 void xen_register_framebuffer(struct MemoryRegion *mr);
 
 #endif /* QEMU_HW_XEN_H */
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505052.777605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxM-0001sZ-0f; Thu, 02 Mar 2023 15:34:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505052.777605; Thu, 02 Mar 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 1pXkxL-0001pG-Px; Thu, 02 Mar 2023 15:34:55 +0000
Received: by outflank-mailman (input) for mailman id 505052;
 Thu, 02 Mar 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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxK-0001Jv-5T
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34:54 +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 c2cd18b0-b90f-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx4-00FL3i-1h; Thu, 02 Mar 2023 15:34:39 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uz3-1J; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2cd18b0-b90f-11ed-96ad-2f268f93b82a
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=5roE0YB+d8rwQAkUuNGzRtMIdxxHP+hz32oiYI6yf7w=; b=ZMiL3mxSXiO+MHU/FiBVWoME3R
	Ko8a+F95bX2y7tnmyGdEXww1EHQVtXKhZhpvb53UzDhaNdyAizxp6zbLhC/cr4n+P61sgFp0AdPaj
	D6wZ7McMkUylocJagzgdfPt1R9h/nElYoVS1F0u/ecX/c670vQGs7wE25vMaa1lRHilGn7juoT7al
	YK6prpJLu6NRRZMv9TA4DJDt8kzN+Qs2L/Mn90lvZtfxjLTmU2uUtnst/V/xbcF21ooQAXcUjEtLp
	9K9WdnAR+WDmKcQFNQ6Nz4l2yptOdA5bSIQhIjtk0HZBTCEpPNniyRWjtyd/dsNmg0oQib7SFidI7
	be11QR6Q==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 12/25] hw/xen: Add foreignmem operations to allow redirection to internal emulation
Date: Thu,  2 Mar 2023 15:34:22 +0000
Message-Id: <20230302153435.1170111-13-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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>
Signed-off-by: Paul Durrant <pdurrant@amazon.com>
---
 hw/char/xen_console.c            |  8 +++---
 hw/display/xenfb.c               | 20 +++++++-------
 hw/xen/xen-operations.c          | 45 ++++++++++++++++++++++++++++++++
 include/hw/xen/xen_backend_ops.h | 26 ++++++++++++++++++
 include/hw/xen/xen_common.h      | 13 ---------
 softmmu/globals.c                |  1 +
 tests/unit/test-xs-node.c        |  1 +
 7 files changed, 88 insertions(+), 26 deletions(-)

diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 19ad6c946a..e9cef3e1ef 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -237,9 +237,9 @@ static int con_initialise(struct XenLegacyDevice *xendev)
 
     if (!xendev->dev) {
         xen_pfn_t mfn = con->ring_ref;
-        con->sring = xenforeignmemory_map(xen_fmem, con->xendev.dom,
-                                          PROT_READ | PROT_WRITE,
-                                          1, &mfn, NULL);
+        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);
@@ -269,7 +269,7 @@ static void con_disconnect(struct XenLegacyDevice *xendev)
 
     if (con->sring) {
         if (!xendev->dev) {
-            xenforeignmemory_unmap(xen_fmem, con->sring, 1);
+            qemu_xen_foreignmem_unmap(con->sring, 1);
         } else {
             xen_be_unmap_grant_ref(xendev, con->sring, con->ring_ref);
         }
diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c
index 260eb38a76..2c4016fcbd 100644
--- a/hw/display/xenfb.c
+++ b/hw/display/xenfb.c
@@ -98,8 +98,9 @@ static int common_bind(struct common *c)
     if (xenstore_read_fe_int(&c->xendev, "event-channel", &c->xendev.remote_port) == -1)
         return -1;
 
-    c->page = xenforeignmemory_map(xen_fmem, c->xendev.dom,
-                                   PROT_READ | PROT_WRITE, 1, &mfn, NULL);
+    c->page = qemu_xen_foreignmem_map(c->xendev.dom, NULL,
+                                      PROT_READ | PROT_WRITE, 1, &mfn,
+                                      NULL);
     if (c->page == NULL)
         return -1;
 
@@ -115,7 +116,7 @@ static void common_unbind(struct common *c)
 {
     xen_pv_unbind_evtchn(&c->xendev);
     if (c->page) {
-        xenforeignmemory_unmap(xen_fmem, c->page, 1);
+        qemu_xen_foreignmem_unmap(c->page, 1);
         c->page = NULL;
     }
 }
@@ -500,15 +501,16 @@ static int xenfb_map_fb(struct XenFB *xenfb)
     fbmfns = g_new0(xen_pfn_t, xenfb->fbpages);
 
     xenfb_copy_mfns(mode, n_fbdirs, pgmfns, pd);
-    map = xenforeignmemory_map(xen_fmem, xenfb->c.xendev.dom,
-                               PROT_READ, n_fbdirs, pgmfns, NULL);
+    map = qemu_xen_foreignmem_map(xenfb->c.xendev.dom, NULL, PROT_READ,
+                                  n_fbdirs, pgmfns, NULL);
     if (map == NULL)
         goto out;
     xenfb_copy_mfns(mode, xenfb->fbpages, fbmfns, map);
-    xenforeignmemory_unmap(xen_fmem, map, n_fbdirs);
+    qemu_xen_foreignmem_unmap(map, n_fbdirs);
 
-    xenfb->pixels = xenforeignmemory_map(xen_fmem, xenfb->c.xendev.dom,
-            PROT_READ, xenfb->fbpages, fbmfns, NULL);
+    xenfb->pixels = qemu_xen_foreignmem_map(xenfb->c.xendev.dom, NULL,
+                                            PROT_READ, xenfb->fbpages,
+                                            fbmfns, NULL);
     if (xenfb->pixels == NULL)
         goto out;
 
@@ -927,7 +929,7 @@ static void fb_disconnect(struct XenLegacyDevice *xendev)
      *   Replacing the framebuffer with anonymous shared memory
      *   instead.  This releases the guest pages and keeps qemu happy.
      */
-    xenforeignmemory_unmap(xen_fmem, fb->pixels, fb->fbpages);
+    qemu_xen_foreignmem_unmap(fb->pixels, fb->fbpages);
     fb->pixels = mmap(fb->pixels, fb->fbpages * XC_PAGE_SIZE,
                       PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON,
                       -1, 0);
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index 73dabac8e5..61e56a7abe 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -22,6 +22,7 @@
  */
 #undef XC_WANT_COMPAT_EVTCHN_API
 #undef XC_WANT_COMPAT_GNTTAB_API
+#undef XC_WANT_COMPAT_MAP_FOREIGN_API
 
 #include <xenctrl.h>
 
@@ -56,10 +57,13 @@ typedef xc_gnttab xengnttab_handle;
 #define xengnttab_map_domain_grant_refs(h, c, d, r, p) \
     xc_gnttab_map_domain_grant_refs(h, c, d, r, p)
 
+typedef xc_interface xenforeignmemory_handle;
+
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
 #include <xenevtchn.h>
 #include <xengnttab.h>
+#include <xenforeignmemory.h>
 
 #endif
 
@@ -218,6 +222,46 @@ static struct gnttab_backend_ops libxengnttab_backend_ops = {
     .unmap = libxengnttab_backend_unmap,
 };
 
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40701
+
+static void *libxenforeignmem_backend_map(uint32_t dom, void *addr, int prot,
+                                          size_t pages, xfn_pfn_t *pfns,
+                                          int *errs)
+{
+    if (errs) {
+        return xc_map_foreign_bulk(xen_xc, dom, prot, pfns, errs, pages);
+    } else {
+        return xc_map_foreign_pages(xen_xc, dom, prot, pfns, pages);
+    }
+}
+
+static int libxenforeignmem_backend_unmap(void *addr, size_t pages)
+{
+    return munmap(addr, pages * XC_PAGE_SIZE);
+}
+
+#else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
+
+static void *libxenforeignmem_backend_map(uint32_t dom, void *addr, int prot,
+                                          size_t pages, xen_pfn_t *pfns,
+                                          int *errs)
+{
+    return xenforeignmemory_map2(xen_fmem, dom, addr, prot, 0, pages, pfns,
+                                 errs);
+}
+
+static int libxenforeignmem_backend_unmap(void *addr, size_t pages)
+{
+    return xenforeignmemory_unmap(xen_fmem, addr, pages);
+}
+
+#endif
+
+struct foreignmem_backend_ops libxenforeignmem_backend_ops = {
+    .map = libxenforeignmem_backend_map,
+    .unmap = libxenforeignmem_backend_unmap,
+};
+
 void setup_xen_backend_ops(void)
 {
 #if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
@@ -232,4 +276,5 @@ void setup_xen_backend_ops(void)
 #endif
     xen_evtchn_ops = &libxenevtchn_backend_ops;
     xen_gnttab_ops = &libxengnttab_backend_ops;
+    xen_foreignmem_ops = &libxenforeignmem_backend_ops;
 }
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
index 6f9d8e2c62..0dff06bbde 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -214,6 +214,32 @@ static inline int qemu_xen_gnttab_unmap(xengnttab_handle *xgt,
     return xen_gnttab_ops->unmap(xgt, start_address, refs, count);
 }
 
+struct foreignmem_backend_ops {
+    void *(*map)(uint32_t dom, void *addr, int prot, size_t pages,
+                 xen_pfn_t *pfns, int *errs);
+    int (*unmap)(void *addr, size_t pages);
+};
+
+extern struct foreignmem_backend_ops *xen_foreignmem_ops;
+
+static inline void *qemu_xen_foreignmem_map(uint32_t dom, void *addr, int prot,
+                                            size_t pages, xen_pfn_t *pfns,
+                                            int *errs)
+{
+    if (!xen_foreignmem_ops) {
+        return NULL;
+    }
+    return xen_foreignmem_ops->map(dom, addr, prot, pages, pfns, errs);
+}
+
+static inline int qemu_xen_foreignmem_unmap(void *addr, size_t pages)
+{
+    if (!xen_foreignmem_ops) {
+        return -ENOSYS;
+    }
+    return xen_foreignmem_ops->unmap(addr, pages);
+}
+
 void setup_xen_backend_ops(void);
 
 #endif /* QEMU_XEN_BACKEND_OPS_H */
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index d4d10d3ff1..632ce617cc 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -32,19 +32,6 @@ typedef xc_interface xenforeignmemory_handle;
 #define xenforeignmemory_open(l, f) xen_xc
 #define xenforeignmemory_close(h)
 
-static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
-                                         int prot, size_t pages,
-                                         const xen_pfn_t arr[/*pages*/],
-                                         int err[/*pages*/])
-{
-    if (err)
-        return xc_map_foreign_bulk(h, dom, prot, arr, err, pages);
-    else
-        return xc_map_foreign_pages(h, dom, prot, arr, pages);
-}
-
-#define xenforeignmemory_unmap(h, p, s) munmap(p, s * XC_PAGE_SIZE)
-
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
 #include <xenforeignmemory.h>
diff --git a/softmmu/globals.c b/softmmu/globals.c
index 23bb27f0f6..dda32986f7 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -67,3 +67,4 @@ enum xen_mode xen_mode = XEN_DISABLED;
 bool xen_domid_restrict;
 struct evtchn_backend_ops *xen_evtchn_ops;
 struct gnttab_backend_ops *xen_gnttab_ops;
+struct foreignmem_backend_ops *xen_foreignmem_ops;
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index fda6a047d0..b80d10ff98 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -23,6 +23,7 @@ static GList *xs_node_list;
  * doesn't hurt).
  */
 #define __XEN_PUBLIC_XEN_H__
+typedef unsigned long xen_pfn_t;
 
 #include "hw/i386/kvm/xenstore_impl.c"
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505051.777599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxL-0001ig-LW; Thu, 02 Mar 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 505051.777599; Thu, 02 Mar 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 1pXkxL-0001dE-Ay; Thu, 02 Mar 2023 15:34:55 +0000
Received: by outflank-mailman (input) for mailman id 505051;
 Thu, 02 Mar 2023 15:34: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=ucY8=62=casper.srs.infradead.org=BATV+a1ad97f05afd282148df+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxJ-0001Jw-Q2
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34: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 c2137f89-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pXkx4-002UNG-6D; Thu, 02 Mar 2023 15:34:38 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uyn-0c; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2137f89-b90f-11ed-a550-8520e6686977
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=CiL9BoVIR8kjLuSX6JDQTr7KEneQW3tf2NeAtIBuItk=; b=tgdtvoyyO6EkUx17MYdIZ0BC9v
	+wdjiO/YftXiwsYf+hXfDk6NgeLX1UioTSk+oTsvWRln8Y4UpzIb9ox5+6Il7d2/8PS3tr0lyn4Sb
	TEUktrIAaojfPt4Ays0rukS2gPFFe9iBizcg7kAVjGGnL4Ylnk15Y5hXWI2eHJvKcatermggwrH6W
	zNh5SyVCIkKqaWPNt3t+OZbJUMBIreqLpd8NceeKzmK43/vzVha/JU7H96T4HswEBWpdvA7F0F6d9
	tKxdaXLhxwgJSOuYj7ZiUlq0NKCxKQtDHHzimMEhUKFC9kZxwTIGlq9QRnU7vfSqxxQGpFjXIvl5j
	bhw4V3Nw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 08/25] hw/xen: Create initial XenStore nodes
Date: Thu,  2 Mar 2023 15:34:18 +0000
Message-Id: <20230302153435.1170111-9-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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: Paul Durrant <pdurrant@amazon.com>

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/kvm/xen_xenstore.c | 70 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 1b1358ad4c..5a8e38aae7 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -76,9 +76,39 @@ struct XenXenstoreState *xen_xenstore_singleton;
 static void xen_xenstore_event(void *opaque);
 static void fire_watch_cb(void *opaque, const char *path, const char *token);
 
+static void G_GNUC_PRINTF (4, 5) relpath_printf(XenXenstoreState *s,
+                                                GList *perms,
+                                                const char *relpath,
+                                                const char *fmt, ...)
+{
+    gchar *abspath;
+    gchar *value;
+    va_list args;
+    GByteArray *data;
+    int err;
+
+    abspath = g_strdup_printf("/local/domain/%u/%s", xen_domid, relpath);
+    va_start(args, fmt);
+    value = g_strdup_vprintf(fmt, args);
+    va_end(args);
+
+    data = g_byte_array_new_take((void *)value, strlen(value));
+
+    err = xs_impl_write(s->impl, DOMID_QEMU, XBT_NULL, abspath, data);
+    assert(!err);
+
+    g_byte_array_unref(data);
+
+    err = xs_impl_set_perms(s->impl, DOMID_QEMU, XBT_NULL, abspath, perms);
+    assert(!err);
+
+    g_free(abspath);
+}
+
 static void xen_xenstore_realize(DeviceState *dev, Error **errp)
 {
     XenXenstoreState *s = XEN_XENSTORE(dev);
+    GList *perms;
 
     if (xen_mode != XEN_EMULATE) {
         error_setg(errp, "Xen xenstore support is for Xen emulation");
@@ -102,6 +132,46 @@ static void xen_xenstore_realize(DeviceState *dev, Error **errp)
                        xen_xenstore_event, NULL, NULL, NULL, s);
 
     s->impl = xs_impl_create(xen_domid);
+
+    /* Populate the default nodes */
+
+    /* Nodes owned by 'dom0' but readable by the guest */
+    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, "", "%s", "");
+
+    relpath_printf(s, perms, "domid", "%u", xen_domid);
+
+    relpath_printf(s, perms, "control/platform-feature-xs_reset_watches", "%u", 1);
+    relpath_printf(s, perms, "control/platform-feature-multiprocessor-suspend", "%u", 1);
+
+    relpath_printf(s, perms, "platform/acpi", "%u", 1);
+    relpath_printf(s, perms, "platform/acpi_s3", "%u", 1);
+    relpath_printf(s, perms, "platform/acpi_s4", "%u", 1);
+    relpath_printf(s, perms, "platform/acpi_laptop_slate", "%u", 0);
+
+    g_list_free_full(perms, g_free);
+
+    /* Nodes owned by the guest */
+    perms = g_list_append(NULL, xs_perm_as_string(XS_PERM_NONE, xen_domid));
+
+    relpath_printf(s, perms, "attr", "%s", "");
+
+    relpath_printf(s, perms, "control/shutdown", "%s", "");
+    relpath_printf(s, perms, "control/feature-poweroff", "%u", 1);
+    relpath_printf(s, perms, "control/feature-reboot", "%u", 1);
+    relpath_printf(s, perms, "control/feature-suspend", "%u", 1);
+    relpath_printf(s, perms, "control/feature-s3", "%u", 1);
+    relpath_printf(s, perms, "control/feature-s4", "%u", 1);
+
+    relpath_printf(s, perms, "data", "%s", "");
+    relpath_printf(s, perms, "device", "%s", "");
+    relpath_printf(s, perms, "drivers", "%s", "");
+    relpath_printf(s, perms, "error", "%s", "");
+    relpath_printf(s, perms, "feature", "%s", "");
+
+    g_list_free_full(perms, g_free);
 }
 
 static bool xen_xenstore_is_needed(void *opaque)
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505049.777583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxK-0001SD-Tp; Thu, 02 Mar 2023 15:34:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505049.777583; Thu, 02 Mar 2023 15:34:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxK-0001Ri-OD; Thu, 02 Mar 2023 15:34:54 +0000
Received: by outflank-mailman (input) for mailman id 505049;
 Thu, 02 Mar 2023 15:34: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxJ-0001Jv-8F
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34:53 +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 c2cdbef2-b90f-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx4-00FL3n-2o; Thu, 02 Mar 2023 15:34:40 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uzW-2S; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2cdbef2-b90f-11ed-96ad-2f268f93b82a
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=7HuQae7CBMvNWNUtKmsp3irMJUgtZo+bY0Gg/sxTvcA=; b=dq8AgLqqnaLPtRWcENWM2cS34S
	VPG6QR36tiZ4IOJIl0WR5V140YJiSV4QwUoMXWjQyPcG8gmcMFdqz1bC9CEY9jbPh2WHAPw/ucBhm
	oM5fK7TlM8bdPU3fRvBsq+nMkLRvvLB/dH3AaAvQKW5WaIRw5OUlj8kvCwKojnlO2HKmcNRn143qM
	0uwwkElqhMVAy1aetnMgnlnmrGE2KR2hViX+Ee56aT3ouBn9iCrBS05fxonTB8AVe2TmyMuz8OS6+
	UeVLolZ2i4CLzzk1CtUbzuHZB0zIkPT+bqYEMfBVyJVAn66km008aM1dnhq2FS/bFH9hrsUv5RLUt
	n31ldh3Q==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 19/25] hw/xen: Only advertise ring-page-order for xen-block if gnttab supports it
Date: Thu,  2 Mar 2023 15:34:29 +0000
Message-Id: <20230302153435.1170111-20-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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>

Whem emulating Xen, multi-page grants are distinctly non-trivial and we
have elected not to support them for the time being. Don't advertise
them to the guest.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/block/xen-block.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 87299615e3..f5a744589d 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -83,7 +83,8 @@ static void xen_block_connect(XenDevice *xendev, Error **errp)
             g_free(ring_ref);
             return;
         }
-    } else if (order <= blockdev->props.max_ring_page_order) {
+    } else if (qemu_xen_gnttab_can_map_multi() &&
+               order <= blockdev->props.max_ring_page_order) {
         unsigned int i;
 
         nr_ring_ref = 1 << order;
@@ -255,8 +256,12 @@ static void xen_block_realize(XenDevice *xendev, Error **errp)
     }
 
     xen_device_backend_printf(xendev, "feature-flush-cache", "%u", 1);
-    xen_device_backend_printf(xendev, "max-ring-page-order", "%u",
-                              blockdev->props.max_ring_page_order);
+
+    if (qemu_xen_gnttab_can_map_multi()) {
+        xen_device_backend_printf(xendev, "max-ring-page-order", "%u",
+                                  blockdev->props.max_ring_page_order);
+    }
+
     xen_device_backend_printf(xendev, "info", "%u", blockdev->info);
 
     xen_device_frontend_printf(xendev, "virtual-device", "%lu",
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505055.777631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxO-0002Xr-95; Thu, 02 Mar 2023 15:34:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505055.777631; Thu, 02 Mar 2023 15:34: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 1pXkxN-0002Ux-UC; Thu, 02 Mar 2023 15:34:57 +0000
Received: by outflank-mailman (input) for mailman id 505055;
 Thu, 02 Mar 2023 15:34: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=ucY8=62=casper.srs.infradead.org=BATV+a1ad97f05afd282148df+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxL-0001Jw-MR
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34:55 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c2222017-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pXkx4-002UNE-2J; Thu, 02 Mar 2023 15:34:38 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uyf-0H; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2222017-b90f-11ed-a550-8520e6686977
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=gd57rl6hA1kpboJXd3u6ccGehO1OwIsGsYx1K/fGbyI=; b=acy3mFlDAoiyeYDagf/VQnYz7z
	GNoFtsStCfwiNviV1/hJ0GCzeCN8C2nFIpB1rfAL1RGyDnoMIOWhThp4rS1iDkk3pK0C+Iy9+fBZT
	P3fyWCFcoy7M+pJGQvHuI9VYEYaGwLN8WIUFYe9Rpka7C17rKTaQNzyWIaQpPyJPpe0Fu1aPTuCpg
	JOkFcp22gCMbfjTXfIXv8GHPLWZ+JM7jxPAiFwqiv0Jn5IT9YcW6709gnvPeSesqAG/Hr9Fv4sE6y
	mTvVi/J3gqH2cWrq0Kfr9Etna1eH1lPpICFoU3C47P4SJVAxa5ibOLgHj+A5xNt8VI47tMcaqMl0o
	C8yFoIvA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 06/25] hw/xen: Implement XenStore permissions
Date: Thu,  2 Mar 2023 15:34:16 +0000
Message-Id: <20230302153435.1170111-7-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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: Paul Durrant <pdurrant@amazon.com>

Store perms as a GList of strings, check permissions.

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/kvm/xen_xenstore.c  |   2 +-
 hw/i386/kvm/xenstore_impl.c | 259 +++++++++++++++++++++++++++++++++---
 hw/i386/kvm/xenstore_impl.h |   8 +-
 tests/unit/test-xs-node.c   |  27 +++-
 4 files changed, 275 insertions(+), 21 deletions(-)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 64d8f1a38f..3b409e3817 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -98,7 +98,7 @@ static void xen_xenstore_realize(DeviceState *dev, Error **errp)
     aio_set_fd_handler(qemu_get_aio_context(), xen_be_evtchn_fd(s->eh), true,
                        xen_xenstore_event, NULL, NULL, NULL, s);
 
-    s->impl = xs_impl_create();
+    s->impl = xs_impl_create(xen_domid);
 }
 
 static bool xen_xenstore_is_needed(void *opaque)
diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 380f8003ec..7988bde88f 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -12,6 +12,8 @@
 #include "qemu/osdep.h"
 #include "qom/object.h"
 
+#include "hw/xen/xen.h"
+
 #include "xen_xenstore.h"
 #include "xenstore_impl.h"
 
@@ -30,6 +32,7 @@
 typedef struct XsNode {
     uint32_t ref;
     GByteArray *content;
+    GList *perms;
     GHashTable *children;
     uint64_t gencnt;
     bool deleted_in_tx;
@@ -133,6 +136,9 @@ static inline void xs_node_unref(XsNode *n)
     if (n->content) {
         g_byte_array_unref(n->content);
     }
+    if (n->perms) {
+        g_list_free_full(n->perms, g_free);
+    }
     if (n->children) {
         g_hash_table_unref(n->children);
     }
@@ -144,8 +150,51 @@ static inline void xs_node_unref(XsNode *n)
     g_free(n);
 }
 
+char *xs_perm_as_string(unsigned int perm, unsigned int domid)
+{
+    char letter;
+
+    switch (perm) {
+    case XS_PERM_READ | XS_PERM_WRITE:
+        letter = 'b';
+        break;
+    case XS_PERM_READ:
+        letter = 'r';
+        break;
+    case XS_PERM_WRITE:
+        letter = 'w';
+        break;
+    case XS_PERM_NONE:
+    default:
+        letter = 'n';
+        break;
+    }
+
+    return g_strdup_printf("%c%u", letter, domid);
+}
+
+static gpointer do_perm_copy(gconstpointer src, gpointer user_data)
+{
+    return g_strdup(src);
+}
+
+static XsNode *xs_node_create(const char *name, GList *perms)
+{
+    XsNode *n = xs_node_new();
+
+#ifdef XS_NODE_UNIT_TEST
+    if (name) {
+        n->name = g_strdup(name);
+    }
+#endif
+
+    n->perms = g_list_copy_deep(perms, do_perm_copy, NULL);
+
+    return n;
+}
+
 /* For copying from one hash table to another using g_hash_table_foreach() */
-static void do_insert(gpointer key, gpointer value, gpointer user_data)
+static void do_child_insert(gpointer key, gpointer value, gpointer user_data)
 {
     g_hash_table_insert(user_data, g_strdup(key), xs_node_ref(value));
 }
@@ -162,12 +211,16 @@ static XsNode *xs_node_copy(XsNode *old)
     }
 #endif
 
+    assert(old);
     if (old->children) {
         n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
                                             (GDestroyNotify)xs_node_unref);
-        g_hash_table_foreach(old->children, do_insert, n->children);
+        g_hash_table_foreach(old->children, do_child_insert, n->children);
     }
-    if (old && old->content) {
+    if (old->perms) {
+        n->perms = g_list_copy_deep(old->perms, do_perm_copy, NULL);
+    }
+    if (old->content) {
         n->content = g_byte_array_ref(old->content);
     }
     return n;
@@ -383,6 +436,9 @@ static XsNode *xs_node_copy_deleted(XsNode *old, struct walk_op *op)
         op->op_opaque2 = n->children;
         g_hash_table_foreach(old->children, copy_deleted_recurse, op);
     }
+    if (old->perms) {
+        n->perms = g_list_copy_deep(old->perms, do_perm_copy, NULL);
+    }
     n->deleted_in_tx = true;
     /* If it gets resurrected we only fire a watch if it lost its content */
     if (old->content) {
@@ -417,6 +473,104 @@ static int xs_node_rm(XsNode **n, struct walk_op *op)
     return 0;
 }
 
+static int xs_node_get_perms(XsNode **n, struct walk_op *op)
+{
+    GList **perms = op->op_opaque;
+
+    assert(op->inplace);
+    assert(*n);
+
+    *perms = g_list_copy_deep((*n)->perms, do_perm_copy, NULL);
+    return 0;
+}
+
+static void parse_perm(const char *perm, char *letter, unsigned int *dom_id)
+{
+    unsigned int n = sscanf(perm, "%c%u", letter, dom_id);
+
+    assert(n == 2);
+}
+
+static bool can_access(unsigned int dom_id, GList *perms, const char *letters)
+{
+    unsigned int i, n;
+    char perm_letter;
+    unsigned int perm_dom_id;
+    bool access;
+
+    if (dom_id == 0) {
+        return true;
+    }
+
+    n = g_list_length(perms);
+    assert(n >= 1);
+
+    /*
+     * The dom_id of the first perm is the owner, and the owner always has
+     * read-write access.
+     */
+    parse_perm(g_list_nth_data(perms, 0), &perm_letter, &perm_dom_id);
+    if (dom_id == perm_dom_id) {
+        return true;
+    }
+
+    /*
+     * The letter of the first perm specified the default access for all other
+     * domains.
+     */
+    access = !!strchr(letters, perm_letter);
+    for (i = 1; i < n; i++) {
+        parse_perm(g_list_nth_data(perms, i), &perm_letter, &perm_dom_id);
+        if (dom_id != perm_dom_id) {
+            continue;
+        }
+        access = !!strchr(letters, perm_letter);
+    }
+
+    return access;
+}
+
+static int xs_node_set_perms(XsNode **n, struct walk_op *op)
+{
+    GList *perms = op->op_opaque;
+
+    if (op->dom_id) {
+        unsigned int perm_dom_id;
+        char perm_letter;
+
+        /* A guest may not change permissions on nodes it does not own */
+        if (!can_access(op->dom_id, (*n)->perms, "")) {
+            return EPERM;
+        }
+
+        /* A guest may not change the owner of a node it owns. */
+        parse_perm(perms->data, &perm_letter, &perm_dom_id);
+        if (perm_dom_id != op->dom_id) {
+            return EPERM;
+        }
+
+        if (g_list_length(perms) > XS_MAX_PERMS_PER_NODE) {
+            return ENOSPC;
+        }
+    }
+
+    /* We *are* the node to be written. Either this or a copy. */
+    if (!op->inplace) {
+        XsNode *old = *n;
+        *n = xs_node_copy(old);
+        xs_node_unref(old);
+    }
+
+    if ((*n)->perms) {
+        g_list_free_full((*n)->perms, g_free);
+    }
+    (*n)->perms = g_list_copy_deep(perms, do_perm_copy, NULL);
+    if (op->tx_id != XBT_NULL) {
+        (*n)->modified_in_tx = true;
+    }
+    return 0;
+}
+
 /*
  * Passed a full reference in *n which it may free if it needs to COW.
  *
@@ -458,6 +612,13 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
     }
 
     if (!child_name) {
+        const char *letters = op->mutating ? "wb" : "rb";
+
+        if (!can_access(op->dom_id, old->perms, letters)) {
+            err = EACCES;
+            goto out;
+        }
+
         /* This is the actual node on which the operation shall be performed */
         err = op->op_fn(n, op);
         if (!err) {
@@ -491,12 +652,20 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
             stole_child = true;
         }
     } else if (op->create_dirs) {
+        assert(op->mutating);
+
+        if (!can_access(op->dom_id, old->perms, "wb")) {
+            err = EACCES;
+            goto out;
+        }
+
         if (op->dom_id && op->new_nr_nodes >= XS_MAX_DOMAIN_NODES) {
             err = ENOSPC;
             goto out;
         }
+
+        child = xs_node_create(child_name, old->perms);
         op->new_nr_nodes++;
-        child = xs_node_new();
 
         /*
          * If we're creating a new child, we can clearly modify it (and its
@@ -918,20 +1087,73 @@ int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
 int xs_impl_get_perms(XenstoreImplState *s, unsigned int dom_id,
                       xs_transaction_t tx_id, const char *path, GList **perms)
 {
-    /*
-     * The perms are (char *) in the <perm-as-string> wire format to be
-     * freed by the caller.
-     */
-    return ENOSYS;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_get_perms;
+    op.op_opaque = perms;
+    return xs_node_walk(n, &op);
+}
+
+static void is_valid_perm(gpointer data, gpointer user_data)
+{
+    char *perm = data;
+    bool *valid = user_data;
+    char letter;
+    unsigned int dom_id;
+
+    if (!*valid) {
+        return;
+    }
+
+    if (sscanf(perm, "%c%u", &letter, &dom_id) != 2) {
+        *valid = false;
+        return;
+    }
+
+    switch (letter) {
+    case 'n':
+    case 'r':
+    case 'w':
+    case 'b':
+        break;
+
+    default:
+        *valid = false;
+        break;
+    }
 }
 
 int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
                       xs_transaction_t tx_id, const char *path, GList *perms)
 {
-    /*
-     * The perms are (const char *) in the <perm-as-string> wire format.
-     */
-    return ENOSYS;
+    struct walk_op op;
+    XsNode **n;
+    bool valid = true;
+    int ret;
+
+    if (!g_list_length(perms)) {
+        return EINVAL;
+    }
+
+    g_list_foreach(perms, is_valid_perm, &valid);
+    if (!valid) {
+        return EINVAL;
+    }
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_set_perms;
+    op.op_opaque = perms;
+    op.mutating = true;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
@@ -1122,18 +1344,19 @@ static void xs_tx_free(void *_tx)
     g_free(tx);
 }
 
-XenstoreImplState *xs_impl_create(void)
+XenstoreImplState *xs_impl_create(unsigned int dom_id)
 {
     XenstoreImplState *s = g_new0(XenstoreImplState, 1);
+    GList *perms;
 
     s->watches = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
     s->transactions = g_hash_table_new_full(g_direct_hash, g_direct_equal,
                                             NULL, xs_tx_free);
+
+    perms = g_list_append(NULL, xs_perm_as_string(XS_PERM_NONE, 0));
+    s->root = xs_node_create("/", perms);
+    g_list_free_full(perms, g_free);
     s->nr_nodes = 1;
-    s->root = xs_node_new();
-#ifdef XS_NODE_UNIT_TEST
-    s->root->name = g_strdup("/");
-#endif
 
     s->root_tx = s->last_tx = 1;
     return s;
diff --git a/hw/i386/kvm/xenstore_impl.h b/hw/i386/kvm/xenstore_impl.h
index beb7b29ab8..2f81251b5e 100644
--- a/hw/i386/kvm/xenstore_impl.h
+++ b/hw/i386/kvm/xenstore_impl.h
@@ -16,9 +16,15 @@ typedef uint32_t xs_transaction_t;
 
 #define XBT_NULL 0
 
+#define XS_PERM_NONE  0x00
+#define XS_PERM_READ  0x01
+#define XS_PERM_WRITE 0x02
+
 typedef struct XenstoreImplState XenstoreImplState;
 
-XenstoreImplState *xs_impl_create(void);
+XenstoreImplState *xs_impl_create(unsigned int dom_id);
+
+char *xs_perm_as_string(unsigned int perm, unsigned int domid);
 
 /*
  * These functions return *positive* error numbers. This is a little
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index 02c72baa62..2c0f89c694 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -80,8 +80,9 @@ static void watch_cb(void *_str, const char *path, const char *token)
 
 static XenstoreImplState *setup(void)
 {
-   XenstoreImplState *s = xs_impl_create();
+   XenstoreImplState *s = xs_impl_create(DOMID_GUEST);
    char *abspath;
+   GList *perms;
    int err;
 
    abspath = g_strdup_printf("/local/domain/%u", DOMID_GUEST);
@@ -90,6 +91,13 @@ static XenstoreImplState *setup(void)
    g_assert(!err);
    g_assert(s->nr_nodes == 4);
 
+   perms = g_list_append(NULL, g_strdup_printf("n%u", DOMID_QEMU));
+   perms = g_list_append(perms, g_strdup_printf("r%u", DOMID_GUEST));
+
+   err = xs_impl_set_perms(s, DOMID_QEMU, XBT_NULL, abspath, perms);
+   g_assert(!err);
+
+   g_list_free_full(perms, g_free);
    g_free(abspath);
 
    abspath = g_strdup_printf("/local/domain/%u/some", DOMID_GUEST);
@@ -98,6 +106,12 @@ static XenstoreImplState *setup(void)
    g_assert(!err);
    g_assert(s->nr_nodes == 5);
 
+   perms = g_list_append(NULL, g_strdup_printf("n%u", DOMID_GUEST));
+
+   err = xs_impl_set_perms(s, DOMID_QEMU, XBT_NULL, abspath, perms);
+   g_assert(!err);
+
+   g_list_free_full(perms, g_free);
    g_free(abspath);
 
    return s;
@@ -166,6 +180,12 @@ static void test_xs_node_simple(void)
     /* Keep a copy, to force COW mode */
     old_root = xs_node_ref(s->root);
 
+    /* Write somewhere we aren't allowed, in COW mode */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "/local/domain/badplace",
+                    "moredata");
+    g_assert(err == EACCES);
+    g_assert(s->nr_nodes == 7);
+
     /* Write works again */
     err = write_str(s, DOMID_GUEST, XBT_NULL,
                     "/local/domain/1/some/relative/path2",
@@ -226,6 +246,11 @@ static void test_xs_node_simple(void)
     g_assert(!err);
     g_assert(s->nr_nodes == 8);
 
+    /* Write somewhere we aren't allowed */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "/local/domain/badplace",
+                    "moredata");
+    g_assert(err == EACCES);
+
     g_assert(!strcmp(guest_watches->str,
                      "/local/domain/1/some/relativewatchrel"));
     g_string_truncate(guest_watches, 0);
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505056.777642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxP-0002k4-5Q; Thu, 02 Mar 2023 15:34:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505056.777642; Thu, 02 Mar 2023 15:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxO-0002h9-M0; Thu, 02 Mar 2023 15:34:58 +0000
Received: by outflank-mailman (input) for mailman id 505056;
 Thu, 02 Mar 2023 15:34: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxM-0001Jv-5b
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34: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 c2cf51aa-b90f-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx4-00FL3k-2L; Thu, 02 Mar 2023 15:34:41 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uzJ-1z; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2cf51aa-b90f-11ed-96ad-2f268f93b82a
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=n8LLYMrAYAzp3JCDi83tNu3v9ZoLlZOiuyoSpRezh9U=; b=hbNt5x2HZSwFDzDoMeCTo7KHqy
	hvUNdOYMbYAvX1tdmAeimolbpy8c0iQ4O6rivnIrLKZCuoPZOSBpksukOo598V0UFGtf8011+G5DE
	G2tOuvaiUEKdQmZSPGYzBO8Ewd1XAVdvWhdjtFf/jGxl0SnDV03hUUsVyPN0Zo4AZzgBugN9az7Gc
	7ZGVXFjDSqzfXAqYXHDVBz6PfA18iLoydLUWAQO9d84Q5FbHU/5yJ9xQPTWFk974Rh4dqD3u6euqy
	9Z3OQ6YyHTfkajon+fO/fH5STM2GcoRo6pEhA5xKAyVhi1Zh9+cGcep+hrIeD0xoYxU1r8pvxjq+i
	btkx84Jg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 16/25] hw/xen: Rename xen_common.h to xen_native.h
Date: Thu,  2 Mar 2023 15:34:26 +0000
Message-Id: <20230302153435.1170111-17-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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 header is now only for native Xen code, not PV backends that may be
used in Xen emulation. Since the toolstack libraries may depend on the
specific version of Xen headers that they pull in (and will set the
__XEN_TOOLS__ macro to enable internal definitions that they depend on),
the rule is that xen_native.h (and thus the toolstack library headers)
must be included *before* any of the headers in include/hw/xen/interface.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 accel/xen/xen-all.c                           |  1 +
 hw/9pfs/xen-9p-backend.c                      |  1 +
 hw/block/dataplane/xen-block.c                |  3 ++-
 hw/block/xen-block.c                          |  1 -
 hw/i386/pc_piix.c                             |  4 ++--
 hw/i386/xen/xen-hvm.c                         | 11 +++++-----
 hw/i386/xen/xen-mapcache.c                    |  2 +-
 hw/i386/xen/xen_platform.c                    |  7 +++---
 hw/xen/trace-events                           |  2 +-
 hw/xen/xen-operations.c                       |  2 +-
 hw/xen/xen_pt.c                               |  2 +-
 hw/xen/xen_pt.h                               |  2 +-
 hw/xen/xen_pt_config_init.c                   |  2 +-
 hw/xen/xen_pt_msi.c                           |  4 ++--
 include/hw/xen/xen.h                          | 22 ++++++++++++-------
 include/hw/xen/{xen_common.h => xen_native.h} | 10 ++++++---
 include/hw/xen/xen_pvdev.h                    |  3 ++-
 17 files changed, 47 insertions(+), 32 deletions(-)
 rename include/hw/xen/{xen_common.h => xen_native.h} (98%)

diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index 2d51c41e40..00221e23c5 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -12,6 +12,7 @@
 #include "qemu/error-report.h"
 #include "qemu/module.h"
 #include "qapi/error.h"
+#include "hw/xen/xen_native.h"
 #include "hw/xen/xen-legacy-backend.h"
 #include "hw/xen/xen_pt.h"
 #include "chardev/char.h"
diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
index d8bb0e847c..74f3a05f88 100644
--- a/hw/9pfs/xen-9p-backend.c
+++ b/hw/9pfs/xen-9p-backend.c
@@ -22,6 +22,7 @@
 #include "qemu/config-file.h"
 #include "qemu/main-loop.h"
 #include "qemu/option.h"
+#include "qemu/iov.h"
 #include "fsdev/qemu-fsdev.h"
 
 #define VERSIONS "1"
diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index 8322a1de82..734da42ea7 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -23,8 +23,9 @@
 #include "qemu/main-loop.h"
 #include "qemu/memalign.h"
 #include "qapi/error.h"
-#include "hw/xen/xen_common.h"
+#include "hw/xen/xen.h"
 #include "hw/block/xen_blkif.h"
+#include "hw/xen/interface/io/ring.h"
 #include "sysemu/block-backend.h"
 #include "sysemu/iothread.h"
 #include "xen-block.h"
diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 345b284d70..87299615e3 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -19,7 +19,6 @@
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "qom/object_interfaces.h"
-#include "hw/xen/xen_common.h"
 #include "hw/block/xen_blkif.h"
 #include "hw/qdev-properties.h"
 #include "hw/xen/xen-block.h"
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 126b6c11df..e0f768b664 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -47,8 +47,6 @@
 #include "hw/kvm/clock.h"
 #include "hw/sysbus.h"
 #include "hw/i2c/smbus_eeprom.h"
-#include "hw/xen/xen-x86.h"
-#include "hw/xen/xen.h"
 #include "exec/memory.h"
 #include "hw/acpi/acpi.h"
 #include "hw/acpi/piix4.h"
@@ -60,6 +58,8 @@
 #include <xen/hvm/hvm_info_table.h>
 #include "hw/xen/xen_pt.h"
 #endif
+#include "hw/xen/xen-x86.h"
+#include "hw/xen/xen.h"
 #include "migration/global_state.h"
 #include "migration/misc.h"
 #include "sysemu/numa.h"
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index cb1d24f592..56641a550e 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -18,7 +18,7 @@
 #include "hw/irq.h"
 #include "hw/hw.h"
 #include "hw/i386/apic-msidef.h"
-#include "hw/xen/xen_common.h"
+#include "hw/xen/xen_native.h"
 #include "hw/xen/xen-legacy-backend.h"
 #include "hw/xen/xen-bus.h"
 #include "hw/xen/xen-x86.h"
@@ -52,10 +52,11 @@ static bool xen_in_migration;
 
 /* Compatibility with older version */
 
-/* This allows QEMU to build on a system that has Xen 4.5 or earlier
- * installed.  This here (not in hw/xen/xen_common.h) because xen/hvm/ioreq.h
- * needs to be included before this block and hw/xen/xen_common.h needs to
- * be included before xen/hvm/ioreq.h
+/*
+ * This allows QEMU to build on a system that has Xen 4.5 or earlier installed.
+ * This is here (not in hw/xen/xen_native.h) because xen/hvm/ioreq.h needs to
+ * be included before this block and hw/xen/xen_native.h needs to be included
+ * before xen/hvm/ioreq.h
  */
 #ifndef IOREQ_TYPE_VMWARE_PORT
 #define IOREQ_TYPE_VMWARE_PORT  3
diff --git a/hw/i386/xen/xen-mapcache.c b/hw/i386/xen/xen-mapcache.c
index 1d0879d234..f7d974677d 100644
--- a/hw/i386/xen/xen-mapcache.c
+++ b/hw/i386/xen/xen-mapcache.c
@@ -14,7 +14,7 @@
 
 #include <sys/resource.h>
 
-#include "hw/xen/xen-legacy-backend.h"
+#include "hw/xen/xen_native.h"
 #include "qemu/bitmap.h"
 
 #include "sysemu/runstate.h"
diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index 539f7da374..57f1d742c1 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -28,7 +28,6 @@
 #include "hw/ide/pci.h"
 #include "hw/pci/pci.h"
 #include "migration/vmstate.h"
-#include "hw/xen/xen.h"
 #include "net/net.h"
 #include "trace.h"
 #include "sysemu/xen.h"
@@ -38,10 +37,12 @@
 #include "qom/object.h"
 
 #ifdef CONFIG_XEN
-#include "hw/xen/xen_common.h"
-#include "hw/xen/xen-legacy-backend.h"
+#include "hw/xen/xen_native.h"
 #endif
 
+/* The rule is that xen_native.h must come first */
+#include "hw/xen/xen.h"
+
 //#define DEBUG_PLATFORM
 
 #ifdef DEBUG_PLATFORM
diff --git a/hw/xen/trace-events b/hw/xen/trace-events
index 3da3fd8348..55c9e1df68 100644
--- a/hw/xen/trace-events
+++ b/hw/xen/trace-events
@@ -1,6 +1,6 @@
 # See docs/devel/tracing.rst for syntax documentation.
 
-# ../../include/hw/xen/xen_common.h
+# ../../include/hw/xen/xen_native.h
 xen_default_ioreq_server(void) ""
 xen_ioreq_server_create(uint32_t id) "id: %u"
 xen_ioreq_server_destroy(uint32_t id) "id: %u"
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index 80c8fbede6..2b229f722f 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -13,8 +13,8 @@
 #include "qemu/uuid.h"
 #include "qapi/error.h"
 
+#include "hw/xen/xen_native.h"
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/xen_common.h"
 
 /*
  * If we have new enough libxenctrl then we do not want/need these compat
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index 8db0532632..b705aff724 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -59,9 +59,9 @@
 #include "hw/pci/pci.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
+#include "xen_pt.h"
 #include "hw/xen/xen.h"
 #include "hw/xen/xen-legacy-backend.h"
-#include "xen_pt.h"
 #include "qemu/range.h"
 
 static bool has_igd_gfx_passthru;
diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
index cf10fc7bbf..27fc7bb585 100644
--- a/hw/xen/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -1,7 +1,7 @@
 #ifndef XEN_PT_H
 #define XEN_PT_H
 
-#include "hw/xen/xen_common.h"
+#include "hw/xen/xen_native.h"
 #include "xen-host-pci-device.h"
 #include "qom/object.h"
 
diff --git a/hw/xen/xen_pt_config_init.c b/hw/xen/xen_pt_config_init.c
index cde898b744..0cd9fbd22c 100644
--- a/hw/xen/xen_pt_config_init.c
+++ b/hw/xen/xen_pt_config_init.c
@@ -15,8 +15,8 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu/timer.h"
-#include "hw/xen/xen-legacy-backend.h"
 #include "xen_pt.h"
+#include "hw/xen/xen-legacy-backend.h"
 
 #define XEN_PT_MERGE_VALUE(value, data, val_mask) \
     (((value) & (val_mask)) | ((data) & ~(val_mask)))
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index b71563f98a..09cca4eecb 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -11,9 +11,9 @@
 
 #include "qemu/osdep.h"
 
-#include "hw/xen/xen-legacy-backend.h"
-#include "xen_pt.h"
 #include "hw/i386/apic-msidef.h"
+#include "xen_pt.h"
+#include "hw/xen/xen-legacy-backend.h"
 
 
 #define XEN_PT_AUTO_ASSIGN -1
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index 56b1c2a827..2bd8ec742d 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -8,15 +8,21 @@
 #define QEMU_HW_XEN_H
 
 /*
- * As a temporary measure while the headers are being untangled, define
- * __XEN_TOOLS__ here before any Xen headers are included. Otherwise, if
- * the Xen toolstack library headers are later included, they will find
- * some of the "internal" definitions missing and the build will fail. In
- * later commits, we'll end up with a rule that the native libraries have
- * to be included first, which will ensure that the libraries get the
- * version of Xen libraries that they expect.
+ * C files using Xen toolstack libraries will have included those headers
+ * already via xen_native.h, and having __XEM_TOOLS__ defined will have
+ * automatically set __XEN_INTERFACE_VERSION__ to the latest supported
+ * by the *system* Xen headers which were transitively included.
+ *
+ * C files which are part of the internal emulation, and which did not
+ * include xen_native.h, may need this defined so that the Xen headers
+ * imported to include/hw/xen/interface/ will expose the appropriate API
+ * version.
+ *
+ * This is why there's a rule that xen_native.h must be included first.
  */
-#define __XEN_TOOLS__ 1
+#ifndef __XEN_INTERFACE_VERSION__
+#define __XEN_INTERFACE_VERSION__ 0x00040e00
+#endif
 
 #include "exec/cpu-common.h"
 
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_native.h
similarity index 98%
rename from include/hw/xen/xen_common.h
rename to include/hw/xen/xen_native.h
index 7edcf3eb25..6bcc83baf9 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_native.h
@@ -1,5 +1,9 @@
-#ifndef QEMU_HW_XEN_COMMON_H
-#define QEMU_HW_XEN_COMMON_H
+#ifndef QEMU_HW_XEN_NATIVE_H
+#define QEMU_HW_XEN_NATIVE_H
+
+#ifdef __XEN_INTERFACE_VERSION__
+#error In Xen native files, include xen_native.h before other Xen headers
+#endif
 
 /*
  * If we have new enough libxenctrl then we do not want/need these compat
@@ -622,4 +626,4 @@ static inline int xen_set_ioreq_server_state(domid_t dom,
 
 #endif
 
-#endif /* QEMU_HW_XEN_COMMON_H */
+#endif /* QEMU_HW_XEN_NATIVE_H */
diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h
index d8eea353b8..ddad4b9f36 100644
--- a/include/hw/xen/xen_pvdev.h
+++ b/include/hw/xen/xen_pvdev.h
@@ -1,8 +1,9 @@
 #ifndef QEMU_HW_XEN_PVDEV_H
 #define QEMU_HW_XEN_PVDEV_H
 
+#include "hw/qdev-core.h"
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/xen_common.h"
+
 /* ------------------------------------------------------------- */
 
 #define XEN_BUFSIZE 1024
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505047.777573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxK-0001KT-D1; Thu, 02 Mar 2023 15:34:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505047.777573; Thu, 02 Mar 2023 15:34:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxK-0001KM-87; Thu, 02 Mar 2023 15:34:54 +0000
Received: by outflank-mailman (input) for mailman id 505047;
 Thu, 02 Mar 2023 15:34: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxH-0001Jv-Rt
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34:52 +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 c40c7173-b90f-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx4-00FL3p-2y; Thu, 02 Mar 2023 15:34:44 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uzb-2c; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c40c7173-b90f-11ed-96ad-2f268f93b82a
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=YlCfg83tKKXeKZ+xSZwkLL5PykObe3vQTOvEbi/RER8=; b=DiDdTZUfWBP8v/oc6s9Gc9aXNS
	DmyqgfC2P9B45IlIUhm2YWvDQPvHiiZMs/BQ89SxeyJSf5E2HTlj+ZCzcRLDa0/a8FcOF7iLVyAsr
	azJp1I8YoM3OeYPl25JZTvu502Qzn+fbod4+skxoIEbpuN/1J63rVR3AM6QHzcZ6C0ew0Bi3bDLiZ
	NgndzJqcMVw4VoCQT6RZfpUmBEixeCCy4YqtPMnkFoxfig4gTTDy3kCz02zrewows2QJy5Rnq/NO/
	2bzEUzX4V06JKvYJAVxYK0SX7k/mMvXK7NlLKPp9M5QOQRefoDNpjLAVnzAzJtdOT/V8H9wOYf48f
	/OS0Gfyw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 20/25] hw/xen: Hook up emulated implementation for event channel operations
Date: Thu,  2 Mar 2023 15:34:30 +0000
Message-Id: <20230302153435.1170111-21-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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>

We provided the backend-facing evtchn functions very early on as part of
the core Xen platform support, since things like timers and xenstore need
to use them.

By what may or may not be an astonishing coincidence, those functions
just *happen* all to have exactly the right function prototypes to slot
into the evtchn_backend_ops table and be called by the PV backends.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/kvm/xen_evtchn.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/hw/i386/kvm/xen_evtchn.c b/hw/i386/kvm/xen_evtchn.c
index 886fbf6b3b..98a7b85047 100644
--- a/hw/i386/kvm/xen_evtchn.c
+++ b/hw/i386/kvm/xen_evtchn.c
@@ -34,6 +34,7 @@
 #include "hw/pci/msi.h"
 #include "hw/pci/msix.h"
 #include "hw/irq.h"
+#include "hw/xen/xen_backend_ops.h"
 
 #include "xen_evtchn.h"
 #include "xen_overlay.h"
@@ -278,6 +279,17 @@ static const TypeInfo xen_evtchn_info = {
     .class_init    = xen_evtchn_class_init,
 };
 
+static struct evtchn_backend_ops emu_evtchn_backend_ops = {
+    .open = xen_be_evtchn_open,
+    .bind_interdomain = xen_be_evtchn_bind_interdomain,
+    .unbind = xen_be_evtchn_unbind,
+    .close = xen_be_evtchn_close,
+    .get_fd = xen_be_evtchn_fd,
+    .notify = xen_be_evtchn_notify,
+    .unmask = xen_be_evtchn_unmask,
+    .pending = xen_be_evtchn_pending,
+};
+
 static void gsi_assert_bh(void *opaque)
 {
     struct vcpu_info *vi = kvm_xen_get_vcpu_info_hva(0);
@@ -318,6 +330,9 @@ void xen_evtchn_create(void)
     s->nr_pirq_inuse_words = DIV_ROUND_UP(s->nr_pirqs, 64);
     s->pirq_inuse_bitmap = g_new0(uint64_t, s->nr_pirq_inuse_words);
     s->pirq = g_new0(struct pirq_info, s->nr_pirqs);
+
+    /* Set event channel functions for backend drivers to use */
+    xen_evtchn_ops = &emu_evtchn_backend_ops;
 }
 
 void xen_evtchn_connect_gsis(qemu_irq *system_gsis)
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505057.777655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxQ-0003CV-LK; Thu, 02 Mar 2023 15:35:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505057.777655; Thu, 02 Mar 2023 15: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 1pXkxQ-000398-5m; Thu, 02 Mar 2023 15:35:00 +0000
Received: by outflank-mailman (input) for mailman id 505057;
 Thu, 02 Mar 2023 15:34: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxM-0001Jw-Md
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34:56 +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 c2b4ac21-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx4-00FL3l-2U; Thu, 02 Mar 2023 15:34:39 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uzN-29; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2b4ac21-b90f-11ed-a550-8520e6686977
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=chJB4LTr6zPMlbhOF6PfeBpSzwoNMPhcrFtbZG5ajq4=; b=ZNnYEgUAD8ML+7lcO6KjFLOkLJ
	iM1JOIPzKMyquJ9dpU2yVBq3u2zQi5N5QABGgIIk8HZtsKsBjJVT0e3Kf10ocN3ijXaaVl8nXWWRW
	K0G32lZuLLuP7CZwsoYzA+/mSscBGHUTsmGb+JFNpgem/zot1rFVPEefZh0eF1P0Tv2mRTdlJoBb/
	+oudgciQKCWJNcxTTd1NsaVVVDKGfV6+aR3gTGw7QB1X2GxySRI+XgotRIi1x+PKFPeS5pqVfrCTa
	2GWoZdqPCjFBnCWeqivNzjkt3vYqzYkZJprNnyjFGOFruyZ+XqtY1IG11rx/TTUTuD93sgEBkkDTj
	k2UndtgA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 17/25] hw/xen: Build PV backend drivers for CONFIG_XEN_BUS
Date: Thu,  2 Mar 2023 15:34:27 +0000
Message-Id: <20230302153435.1170111-18-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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>

Now that we have the redirectable Xen backend operations we can build the
PV backends even without the Xen libraries.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/9pfs/meson.build            | 2 +-
 hw/block/dataplane/meson.build | 2 +-
 hw/block/meson.build           | 2 +-
 hw/char/meson.build            | 2 +-
 hw/display/meson.build         | 2 +-
 hw/usb/meson.build             | 2 +-
 hw/xen/meson.build             | 5 ++++-
 7 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/hw/9pfs/meson.build b/hw/9pfs/meson.build
index 12443b6ad5..fd37b7a02d 100644
--- a/hw/9pfs/meson.build
+++ b/hw/9pfs/meson.build
@@ -15,7 +15,7 @@ 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', if_true: files('xen-9p-backend.c'))
+fs_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-9p-backend.c'))
 softmmu_ss.add_all(when: 'CONFIG_FSDEV_9P', if_true: fs_ss)
 
 specific_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: files('virtio-9p-device.c'))
diff --git a/hw/block/dataplane/meson.build b/hw/block/dataplane/meson.build
index 12c6a264f1..78d7ac1a11 100644
--- a/hw/block/dataplane/meson.build
+++ b/hw/block/dataplane/meson.build
@@ -1,2 +1,2 @@
 specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c'))
-specific_ss.add(when: 'CONFIG_XEN', if_true: files('xen-block.c'))
+specific_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
diff --git a/hw/block/meson.build b/hw/block/meson.build
index b434d5654c..cc2a75cc50 100644
--- a/hw/block/meson.build
+++ b/hw/block/meson.build
@@ -14,7 +14,7 @@ softmmu_ss.add(when: 'CONFIG_PFLASH_CFI02', if_true: files('pflash_cfi02.c'))
 softmmu_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('m25p80.c'))
 softmmu_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('m25p80_sfdp.c'))
 softmmu_ss.add(when: 'CONFIG_SWIM', if_true: files('swim.c'))
-softmmu_ss.add(when: 'CONFIG_XEN', if_true: files('xen-block.c'))
+softmmu_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
 softmmu_ss.add(when: 'CONFIG_TC58128', if_true: files('tc58128.c'))
 
 specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c', 'virtio-blk-common.c'))
diff --git a/hw/char/meson.build b/hw/char/meson.build
index 7b594f51b8..e02c60dd54 100644
--- a/hw/char/meson.build
+++ b/hw/char/meson.build
@@ -18,7 +18,7 @@ softmmu_ss.add(when: 'CONFIG_SERIAL_PCI', if_true: files('serial-pci.c'))
 softmmu_ss.add(when: 'CONFIG_SERIAL_PCI_MULTI', if_true: files('serial-pci-multi.c'))
 softmmu_ss.add(when: 'CONFIG_SHAKTI_UART', if_true: files('shakti_uart.c'))
 softmmu_ss.add(when: 'CONFIG_VIRTIO_SERIAL', if_true: files('virtio-console.c'))
-softmmu_ss.add(when: 'CONFIG_XEN', if_true: files('xen_console.c'))
+softmmu_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen_console.c'))
 softmmu_ss.add(when: 'CONFIG_XILINX', if_true: files('xilinx_uartlite.c'))
 
 softmmu_ss.add(when: 'CONFIG_AVR_USART', if_true: files('avr_usart.c'))
diff --git a/hw/display/meson.build b/hw/display/meson.build
index f470179122..4191694380 100644
--- a/hw/display/meson.build
+++ b/hw/display/meson.build
@@ -14,7 +14,7 @@ softmmu_ss.add(when: 'CONFIG_PL110', if_true: files('pl110.c'))
 softmmu_ss.add(when: 'CONFIG_SII9022', if_true: files('sii9022.c'))
 softmmu_ss.add(when: 'CONFIG_SSD0303', if_true: files('ssd0303.c'))
 softmmu_ss.add(when: 'CONFIG_SSD0323', if_true: files('ssd0323.c'))
-softmmu_ss.add(when: 'CONFIG_XEN', if_true: files('xenfb.c'))
+softmmu_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
 
 softmmu_ss.add(when: 'CONFIG_VGA_PCI', if_true: files('vga-pci.c'))
 softmmu_ss.add(when: 'CONFIG_VGA_ISA', if_true: files('vga-isa.c'))
diff --git a/hw/usb/meson.build b/hw/usb/meson.build
index bdf34cbd3e..599dc24f0d 100644
--- a/hw/usb/meson.build
+++ b/hw/usb/meson.build
@@ -84,6 +84,6 @@ if libusb.found()
   hw_usb_modules += {'host': usbhost_ss}
 endif
 
-softmmu_ss.add(when: ['CONFIG_USB', 'CONFIG_XEN', libusb], if_true: files('xen-usb.c'))
+softmmu_ss.add(when: ['CONFIG_USB', 'CONFIG_XEN_BUS', libusb], if_true: files('xen-usb.c'))
 
 modules += { 'hw-usb': hw_usb_modules }
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index f195bbd25c..19c6aabc7c 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -1,10 +1,13 @@
-softmmu_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
+softmmu_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',
+))
+
+softmmu_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
   'xen-operations.c',
 ))
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505048.777576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxK-0001MV-Is; Thu, 02 Mar 2023 15:34:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505048.777576; Thu, 02 Mar 2023 15:34:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxK-0001L1-F6; Thu, 02 Mar 2023 15:34:54 +0000
Received: by outflank-mailman (input) for mailman id 505048;
 Thu, 02 Mar 2023 15:34: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxJ-0001Jv-17
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34:53 +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 c43a7735-b90f-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx4-00FL3m-2e; Thu, 02 Mar 2023 15:34:40 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uzR-2J; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c43a7735-b90f-11ed-96ad-2f268f93b82a
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=FnClZ8IFan30fx5D6PHOfap2YeZdQXUEp+XrOHw7NWs=; b=VVkNvJQsV79cgt8bzx+l0ClT+G
	Wiyz5BhL24D12/QkaDakc0ALlSx1i2qok2apG76LwYNEM1pPgmDb1NfTSlVj7wZkqVtHQVBqpujPV
	K1mLrO+C4airr6O55gGcgarHdCX04k4Bsl7YQxlVfXtD4xKx+Jia60goBVqSVetR+CatCGqWNXsPc
	Hkh2FB4jcKSnEwt9c7+CYwLFfwoNISbAUmAKkfx1ZpxeJe/41myBDmH/5c+nMtk3LX5v20ijD+P3c
	fb+EEZ7t4gvEtKdroZBJtbhl42Mqx90Tx1WL+utNfz9glZ4m/cq0szzCSXECcHVSYePfkl7xeKlYy
	t8AX++Ww==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 18/25] hw/xen: Avoid crash when backend watch fires too early
Date: Thu,  2 Mar 2023 15:34:28 +0000
Message-Id: <20230302153435.1170111-19-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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: Paul Durrant <pdurrant@amazon.com>

The xen-block code ends up calling aio_poll() through blkconf_geometry(),
which means we see watch events during the indirect call to
xendev_class->realize() in xen_device_realize(). Unfortunately this call
is made before populating the initial frontend and backend device nodes
in xenstore and hence xen_block_frontend_changed() (which is called from
a watch event) fails to read the frontend's 'state' node, and hence
believes the device is being torn down. This in-turn sets the backend
state to XenbusStateClosed and causes the device to be deleted before it
is fully set up, leading to the crash.
By simply moving the call to xendev_class->realize() after the initial
xenstore nodes are populated, this sorry state of affairs is avoided.

Reported-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/xen/xen-bus.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 9fe54967d4..c59850b1de 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -1034,13 +1034,6 @@ static void xen_device_realize(DeviceState *dev, Error **errp)
         goto unrealize;
     }
 
-    if (xendev_class->realize) {
-        xendev_class->realize(xendev, errp);
-        if (*errp) {
-            goto unrealize;
-        }
-    }
-
     xen_device_backend_printf(xendev, "frontend", "%s",
                               xendev->frontend_path);
     xen_device_backend_printf(xendev, "frontend-id", "%u",
@@ -1059,6 +1052,13 @@ static void xen_device_realize(DeviceState *dev, Error **errp)
         xen_device_frontend_set_state(xendev, XenbusStateInitialising, true);
     }
 
+    if (xendev_class->realize) {
+        xendev_class->realize(xendev, errp);
+        if (*errp) {
+            goto unrealize;
+        }
+    }
+
     xendev->exit.notify = xen_device_exit;
     qemu_add_exit_notifier(&xendev->exit);
     return;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505054.777624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxN-0002IJ-ET; Thu, 02 Mar 2023 15:34:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505054.777624; Thu, 02 Mar 2023 15: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 1pXkxN-0002Fq-17; Thu, 02 Mar 2023 15:34:57 +0000
Received: by outflank-mailman (input) for mailman id 505054;
 Thu, 02 Mar 2023 15: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=ucY8=62=casper.srs.infradead.org=BATV+a1ad97f05afd282148df+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxL-0001Jv-5X
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34:55 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c237a0df-b90f-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pXkx3-002UNC-RR; Thu, 02 Mar 2023 15:34:38 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx3-004uyO-2k; Thu, 02 Mar 2023 15: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
X-Inumbo-ID: c237a0df-b90f-11ed-96ad-2f268f93b82a
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=EifP5NAedq4PsHC8d0qtGWpb3bCabAI+8eoo2m4J+qs=; b=BytKT8tTGMAswV3COrA77m8Qkh
	UZVW52hBF8M3Wj83kGEXp0trSkzrLz0FS51MTmUGPs2H589V0BUHC4jyU/q5lpSQ12yzvt2kyo6Gz
	+m3/rkCjMYKzbo91ev4KY65Cr6UdQYpQt1m22UnWqWJwBAXGwcGA41g1fkw8Cngz+/zERrHsT8gUK
	06tlYzpMuQ19Hkf2vjA9Cab6y5kvm98qI4giicO0RK2mzCQ0TQ52cbqFizlVYrkmjzWpuzljc/22F
	AHHzl5DV/OYy5SWPxC2oBg5pSeZIgJo4O1T0LL3HVEzA7dhj2ry9StnYmOe2dRWkiHemeh6iE7Moq
	Iy4RLNIg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 02/25] hw/xen: Add basic XenStore tree walk and write/read/directory support
Date: Thu,  2 Mar 2023 15:34:12 +0000
Message-Id: <20230302153435.1170111-3-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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 is a fairly simple implementation of a copy-on-write tree.

The node walk function starts off at the root, with 'inplace == true'.
If it ever encounters a node with a refcount greater than one (including
the root node), then that node is shared with other trees, and cannot
be modified in place, so the inplace flag is cleared and we copy on
write from there on down.

Xenstore write has 'mkdir -p' semantics and will create the intermediate
nodes if they don't already exist, so in that case we flip the inplace
flag back to true as as populated the newly-created nodes.

We put a copy of the absolute path into the buffer in the struct walk_op,
with *two* NUL terminators at the end. As xs_node_walk() goes down the
tree, it replaces the next '/' separator with a NUL so that it can use
the 'child name' in place. The next recursion down then puts the '/'
back and repeats the exercise for the next path element... if it doesn't
hit that *second* NUL termination which indicates the true end of the
path.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/kvm/xenstore_impl.c | 527 +++++++++++++++++++++++++++++++++++-
 tests/unit/meson.build      |   1 +
 tests/unit/test-xs-node.c   | 197 ++++++++++++++
 3 files changed, 718 insertions(+), 7 deletions(-)
 create mode 100644 tests/unit/test-xs-node.c

diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 31dbc98fe0..9e10a31bea 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -10,13 +10,470 @@
  */
 
 #include "qemu/osdep.h"
+#include "qom/object.h"
 
 #include "xen_xenstore.h"
 #include "xenstore_impl.h"
 
+#include "hw/xen/interface/io/xs_wire.h"
+
+#define XS_MAX_WATCHES          128
+#define XS_MAX_DOMAIN_NODES     1000
+#define XS_MAX_NODE_SIZE        2048
+#define XS_MAX_TRANSACTIONS     10
+#define XS_MAX_PERMS_PER_NODE   5
+
+#define XS_VALID_CHARS "abcdefghijklmnopqrstuvwxyz" \
+                       "ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
+                       "0123456789-/_"
+
+typedef struct XsNode {
+    uint32_t ref;
+    GByteArray *content;
+    GHashTable *children;
+    uint64_t gencnt;
+#ifdef XS_NODE_UNIT_TEST
+    gchar *name; /* debug only */
+#endif
+} XsNode;
+
 struct XenstoreImplState {
+    XsNode *root;
+    unsigned int nr_nodes;
 };
 
+static inline XsNode *xs_node_new(void)
+{
+    XsNode *n = g_new0(XsNode, 1);
+    n->ref = 1;
+
+#ifdef XS_NODE_UNIT_TEST
+    nr_xs_nodes++;
+    xs_node_list = g_list_prepend(xs_node_list, n);
+#endif
+    return n;
+}
+
+static inline XsNode *xs_node_ref(XsNode *n)
+{
+    /* With just 10 transactions, it can never get anywhere near this. */
+    g_assert(n->ref < INT_MAX);
+
+    g_assert(n->ref);
+    n->ref++;
+    return n;
+}
+
+static inline void xs_node_unref(XsNode *n)
+{
+    if (!n) {
+        return;
+    }
+    g_assert(n->ref);
+    if (--n->ref) {
+        return;
+    }
+
+    if (n->content) {
+        g_byte_array_unref(n->content);
+    }
+    if (n->children) {
+        g_hash_table_unref(n->children);
+    }
+#ifdef XS_NODE_UNIT_TEST
+    g_free(n->name);
+    nr_xs_nodes--;
+    xs_node_list = g_list_remove(xs_node_list, n);
+#endif
+    g_free(n);
+}
+
+/* For copying from one hash table to another using g_hash_table_foreach() */
+static void do_insert(gpointer key, gpointer value, gpointer user_data)
+{
+    g_hash_table_insert(user_data, g_strdup(key), xs_node_ref(value));
+}
+
+static XsNode *xs_node_copy(XsNode *old)
+{
+    XsNode *n = xs_node_new();
+
+    n->gencnt = old->gencnt;
+    if (old->children) {
+        n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+                                            (GDestroyNotify)xs_node_unref);
+        g_hash_table_foreach(old->children, do_insert, n->children);
+    }
+    if (old && old->content) {
+        n->content = g_byte_array_ref(old->content);
+    }
+    return n;
+}
+
+/* Returns true if it made a change to the hash table */
+static bool xs_node_add_child(XsNode *n, const char *path_elem, XsNode *child)
+{
+    assert(!strchr(path_elem, '/'));
+
+    if (!child) {
+        assert(n->children);
+        return g_hash_table_remove(n->children, path_elem);
+    }
+
+#ifdef XS_NODE_UNIT_TEST
+    g_free(child->name);
+    child->name = g_strdup(path_elem);
+#endif
+    if (!n->children) {
+        n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+                                            (GDestroyNotify)xs_node_unref);
+    }
+
+    /*
+     * The documentation for g_hash_table_insert() says that it "returns a
+     * boolean value to indicate whether the newly added value was already
+     * in the hash table or not."
+     *
+     * It could perhaps be clearer that returning TRUE means it wasn't,
+     */
+    return g_hash_table_insert(n->children, g_strdup(path_elem), child);
+}
+
+struct walk_op {
+    struct XenstoreImplState *s;
+    char path[XENSTORE_ABS_PATH_MAX + 2]; /* Two NUL terminators */
+    int (*op_fn)(XsNode **n, struct walk_op *op);
+    void *op_opaque;
+    void *op_opaque2;
+
+    unsigned int dom_id;
+
+    /* The number of nodes which will exist in the tree if this op succeeds. */
+    unsigned int new_nr_nodes;
+
+    /*
+     * This is maintained on the way *down* the walk to indicate
+     * whether nodes can be modified in place or whether COW is
+     * required. It starts off being true, as we're always going to
+     * replace the root node. If we walk into a shared subtree it
+     * becomes false. If we start *creating* new nodes for a write,
+     * it becomes true again.
+     *
+     * Do not use it on the way back up.
+     */
+    bool inplace;
+    bool mutating;
+    bool create_dirs;
+};
+
+static int xs_node_add_content(XsNode **n, struct walk_op *op)
+{
+    GByteArray *data = op->op_opaque;
+
+    if (op->dom_id) {
+        /*
+         * The real XenStored includes permissions and names of child nodes
+         * in the calculated datasize but life's too short. For a single
+         * tenant internal XenStore, we don't have to be quite as pedantic.
+         */
+        if (data->len > XS_MAX_NODE_SIZE) {
+            return E2BIG;
+        }
+    }
+    /* We *are* the node to be written. Either this or a copy. */
+    if (!op->inplace) {
+        XsNode *old = *n;
+        *n = xs_node_copy(old);
+        xs_node_unref(old);
+    }
+
+    if ((*n)->content) {
+        g_byte_array_unref((*n)->content);
+    }
+    (*n)->content = g_byte_array_ref(data);
+    return 0;
+}
+
+static int xs_node_get_content(XsNode **n, struct walk_op *op)
+{
+    GByteArray *data = op->op_opaque;
+    GByteArray *node_data;
+
+    assert(op->inplace);
+    assert(*n);
+
+    node_data = (*n)->content;
+    if (node_data) {
+        g_byte_array_append(data, node_data->data, node_data->len);
+    }
+
+    return 0;
+}
+
+static int node_rm_recurse(gpointer key, gpointer value, gpointer user_data)
+{
+    struct walk_op *op = user_data;
+    XsNode *n = value;
+    bool this_inplace = op->inplace;
+
+    if (n->ref != 1) {
+        op->inplace = 0;
+    }
+
+    if (n->children) {
+        g_hash_table_foreach_remove(n->children, node_rm_recurse, op);
+    }
+    op->new_nr_nodes--;
+
+    /*
+     * Actually deleting the child here is just an optimisation; if we
+     * don't then the final unref on the topmost victim will just have
+     * to cascade down again repeating all the g_hash_table_foreach()
+     * calls.
+     */
+    return this_inplace;
+}
+
+static int xs_node_rm(XsNode **n, struct walk_op *op)
+{
+    bool this_inplace = op->inplace;
+
+    /* Keep count of the nodes in the subtree which gets deleted. */
+    if ((*n)->children) {
+        g_hash_table_foreach_remove((*n)->children, node_rm_recurse, op);
+    }
+    op->new_nr_nodes--;
+
+    if (this_inplace) {
+        xs_node_unref(*n);
+    }
+    *n = NULL;
+    return 0;
+}
+
+/*
+ * Passed a full reference in *n which it may free if it needs to COW.
+ *
+ * When changing the tree, the op->inplace flag indicates whether this
+ * node may be modified in place (i.e. it and all its parents had a
+ * refcount of one). If walking down the tree we find a node whose
+ * refcount is higher, we must clear op->inplace and COW from there
+ * down. Unless we are creating new nodes as scaffolding for a write
+ * (which works like 'mkdir -p' does). In which case those newly
+ * created nodes can (and must) be modified in place again.
+ */
+static int xs_node_walk(XsNode **n, struct walk_op *op)
+{
+    char *child_name = NULL;
+    size_t namelen;
+    XsNode *old = *n, *child = NULL;
+    bool stole_child = false;
+    bool this_inplace;
+    int err;
+
+    namelen = strlen(op->path);
+
+    /* Is there a child, or do we hit the double-NUL termination? */
+    if (op->path[namelen + 1]) {
+        char *slash;
+        child_name = op->path + namelen + 1;
+        slash = strchr(child_name, '/');
+        if (slash) {
+            *slash = '\0';
+        }
+        op->path[namelen] = '/';
+    }
+
+    /* If we walk into a subtree which is shared, we must COW */
+    if (op->mutating && old->ref != 1) {
+        op->inplace = false;
+    }
+
+    if (!child_name) {
+        /* This is the actual node on which the operation shall be performed */
+        err = op->op_fn(n, op);
+        goto out;
+    }
+
+    /* op->inplace will be further modified during the recursion */
+    this_inplace = op->inplace;
+
+    if (old && old->children) {
+        child = g_hash_table_lookup(old->children, child_name);
+        /* This is a *weak* reference to 'child', owned by the hash table */
+    }
+
+    if (child) {
+        xs_node_ref(child);
+        /*
+         * Now we own it too. But if we can modify inplace, that's going to
+         * foil the check and force it to COW. We want to be the *only* owner
+         * so that it can be modified in place, so remove it from the hash
+         * table in that case. We'll add it (or its replacement) back later.
+         */
+        if (op->mutating && this_inplace) {
+            g_hash_table_remove(old->children, child_name);
+            stole_child = true;
+        }
+    } else if (op->create_dirs) {
+        if (op->dom_id && op->new_nr_nodes >= XS_MAX_DOMAIN_NODES) {
+            err = ENOSPC;
+            goto out;
+        }
+        op->new_nr_nodes++;
+        child = xs_node_new();
+
+        /*
+         * If we're creating a new child, we can clearly modify it (and its
+         * children) in place from here on down.
+         */
+        op->inplace = true;
+    } else {
+        err = ENOENT;
+        goto out;
+    }
+
+    /*
+     * Except for the temporary child-stealing as noted, our node has not
+     * changed yet. We don't yet know the overall operation will complete.
+     */
+    err = xs_node_walk(&child, op);
+    if (err || !op->mutating) {
+        if (stole_child) {
+            /* Put it back as it was. */
+            g_hash_table_replace(old->children, g_strdup(child_name), child);
+        } else {
+            xs_node_unref(child);
+        }
+        goto out;
+    }
+
+    /*
+     * Now we know the operation has completed successfully and we're on
+     * the way back up. Make the change, substituting 'child' in the
+     * node at our level.
+     */
+    if (!this_inplace) {
+        *n = xs_node_copy(old);
+        xs_node_unref(old);
+    }
+
+    /*
+     * The child may be NULL here, for a remove operation. Either way,
+     * xs_node_add_child() will do the right thing and return a value
+     * indicating whether it changed the parent's hash table or not.
+     *
+     * We bump the parent gencnt if it adds a child that we *didn't*
+     * steal from it in the first place, or if child==NULL and was
+     * thus removed (whether we stole it earlier and didn't put it
+     * back, or xs_node_add_child() actually removed it now).
+     */
+    if ((xs_node_add_child(*n, child_name, child) && !stole_child) || !child) {
+        (*n)->gencnt++;
+    }
+
+ out:
+    op->path[namelen] = '\0';
+    if (!namelen) {
+        /*
+         * On completing the recursion back up the path walk and reaching the
+         * top, assign the new node count if the operation was successful.
+         */
+        if (!err && op->mutating) {
+            op->s->nr_nodes = op->new_nr_nodes;
+        }
+    }
+    return err;
+}
+
+static void append_directory_item(gpointer key, gpointer value,
+                                  gpointer user_data)
+{
+    GList **items = user_data;
+
+    *items = g_list_insert_sorted(*items, g_strdup(key), (GCompareFunc)strcmp);
+}
+
+/* Populates items with char * names which caller must free. */
+static int xs_node_directory(XsNode **n, struct walk_op *op)
+{
+    GList **items = op->op_opaque;
+
+    assert(op->inplace);
+    assert(*n);
+
+    if ((*n)->children) {
+        g_hash_table_foreach((*n)->children, append_directory_item, items);
+    }
+
+    if (op->op_opaque2) {
+        *(uint64_t *)op->op_opaque2 = (*n)->gencnt;
+    }
+
+    return 0;
+}
+
+static int validate_path(char *outpath, const char *userpath,
+                         unsigned int dom_id)
+{
+    size_t i, pathlen = strlen(userpath);
+
+    if (!pathlen || userpath[pathlen] == '/' || strstr(userpath, "//")) {
+        return EINVAL;
+    }
+    for (i = 0; i < pathlen; i++) {
+        if (!strchr(XS_VALID_CHARS, userpath[i])) {
+            return EINVAL;
+        }
+    }
+    if (userpath[0] == '/') {
+        if (pathlen > XENSTORE_ABS_PATH_MAX) {
+            return E2BIG;
+        }
+        memcpy(outpath, userpath, pathlen + 1);
+    } else {
+        if (pathlen > XENSTORE_REL_PATH_MAX) {
+            return E2BIG;
+        }
+        snprintf(outpath, XENSTORE_ABS_PATH_MAX, "/local/domain/%u/%s", dom_id,
+                 userpath);
+    }
+    return 0;
+}
+
+
+static int init_walk_op(XenstoreImplState *s, struct walk_op *op,
+                        xs_transaction_t tx_id, unsigned int dom_id,
+                        const char *path, XsNode ***rootp)
+{
+    int ret = validate_path(op->path, path, dom_id);
+    if (ret) {
+        return ret;
+    }
+
+    /*
+     * We use *two* NUL terminators at the end of the path, as during the walk
+     * we will temporarily turn each '/' into a NUL to allow us to use that
+     * path element for the lookup.
+     */
+    op->path[strlen(op->path) + 1] = '\0';
+    op->path[0] = '\0';
+    op->inplace = true;
+    op->mutating = false;
+    op->create_dirs = false;
+    op->dom_id = dom_id;
+    op->s = s;
+
+    if (tx_id == XBT_NULL) {
+        *rootp = &s->root;
+        op->new_nr_nodes = s->nr_nodes;
+    } else {
+        return ENOENT;
+    }
+
+    return 0;
+}
+
 int xs_impl_read(XenstoreImplState *s, unsigned int dom_id,
                  xs_transaction_t tx_id, const char *path, GByteArray *data)
 {
@@ -24,7 +481,17 @@ int xs_impl_read(XenstoreImplState *s, unsigned int dom_id,
      * The data GByteArray shall exist, and will be freed by caller.
      * Just g_byte_array_append() to it.
      */
-    return ENOENT;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_get_content;
+    op.op_opaque = data;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_write(XenstoreImplState *s, unsigned int dom_id,
@@ -32,9 +499,21 @@ int xs_impl_write(XenstoreImplState *s, unsigned int dom_id,
 {
     /*
      * The data GByteArray shall exist, will be freed by caller. You are
-     * free to use g_byte_array_steal() and keep the data.
+     * free to use g_byte_array_steal() and keep the data. Or just ref it.
      */
-    return ENOSYS;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_add_content;
+    op.op_opaque = data;
+    op.mutating = true;
+    op.create_dirs = true;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
@@ -46,7 +525,18 @@ int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
      * immediately so if you want to change it to (const char *) and keep
      * them, go ahead and change the caller.
      */
-    return ENOENT;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_directory;
+    op.op_opaque = items;
+    op.op_opaque2 = gencnt;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
@@ -64,7 +554,17 @@ int xs_impl_transaction_end(XenstoreImplState *s, unsigned int dom_id,
 int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
                xs_transaction_t tx_id, const char *path)
 {
-    return ENOSYS;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_rm;
+    op.mutating = true;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_get_perms(XenstoreImplState *s, unsigned int dom_id,
@@ -102,16 +602,29 @@ int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
                     const char *path, const char *token,
                     xs_impl_watch_fn fn, void *opaque)
 {
-    /* Remove the watch that matches all four criteria */
+    /*
+     * When calling the callback @fn, note that the path should
+     * precisely match the relative path that the guest provided, even
+     * if it was a relative path which needed to be prefixed with
+     * /local/domain/${domid}/
+     */
     return ENOSYS;
 }
 
 int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id)
 {
+    /* Remove the watch that matches all four criteria */
     return ENOSYS;
 }
 
 XenstoreImplState *xs_impl_create(void)
 {
-    return g_new0(XenstoreImplState, 1);
+    XenstoreImplState *s = g_new0(XenstoreImplState, 1);
+
+    s->nr_nodes = 1;
+    s->root = xs_node_new();
+#ifdef XS_NODE_UNIT_TEST
+    s->root->name = g_strdup("/");
+#endif
+    return s;
 }
diff --git a/tests/unit/meson.build b/tests/unit/meson.build
index 51f453e6c4..d9c0a7eae6 100644
--- a/tests/unit/meson.build
+++ b/tests/unit/meson.build
@@ -47,6 +47,7 @@ tests = {
   'ptimer-test': ['ptimer-test-stubs.c', meson.project_source_root() / 'hw/core/ptimer.c'],
   'test-qapi-util': [],
   'test-interval-tree': [],
+  'test-xs-node': [qom],
 }
 
 if have_system or have_tools
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
new file mode 100644
index 0000000000..c78d5bd581
--- /dev/null
+++ b/tests/unit/test-xs-node.c
@@ -0,0 +1,197 @@
+/*
+ * QEMU XenStore XsNode testing
+ *
+ * Copyright © 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ * 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 "qemu/module.h"
+
+static int nr_xs_nodes;
+static GList *xs_node_list;
+
+#define XS_NODE_UNIT_TEST
+
+/*
+ * We don't need the core Xen definitions. And we *do* want to be able
+ * to run the unit tests even on architectures that Xen doesn't support
+ * (because life's too short to bother doing otherwise, and test coverage
+ * doesn't hurt).
+ */
+#define __XEN_PUBLIC_XEN_H__
+
+#include "hw/i386/kvm/xenstore_impl.c"
+
+#define DOMID_QEMU 0
+#define DOMID_GUEST 1
+
+/* This doesn't happen in qemu but we want to make valgrind happy */
+static void xs_impl_delete(XenstoreImplState *s)
+{
+    int err;
+
+    err = xs_impl_rm(s, DOMID_QEMU, XBT_NULL, "/local");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 1);
+
+    xs_node_unref(s->root);
+    g_free(s);
+
+    if (xs_node_list) {
+        GList *l;
+        for (l = xs_node_list; l; l = l->next) {
+            XsNode *n = l->data;
+            printf("Remaining node at %p name %s ref %u\n", n, n->name,
+                   n->ref);
+        }
+    }
+    g_assert(!nr_xs_nodes);
+}
+
+static int write_str(XenstoreImplState *s, unsigned int dom_id,
+                          unsigned int tx_id, const char *path,
+                          const char *content)
+{
+    GByteArray *d = g_byte_array_new();
+    int err;
+
+    g_byte_array_append(d, (void *)content, strlen(content));
+    err = xs_impl_write(s, dom_id, tx_id, path, d);
+    g_byte_array_unref(d);
+    return err;
+}
+
+static XenstoreImplState *setup(void)
+{
+   XenstoreImplState *s = xs_impl_create();
+   char *abspath;
+   int err;
+
+   abspath = g_strdup_printf("/local/domain/%u", DOMID_GUEST);
+
+   err = write_str(s, DOMID_QEMU, XBT_NULL, abspath, "");
+   g_assert(!err);
+
+   g_free(abspath);
+
+   abspath = g_strdup_printf("/local/domain/%u/some", DOMID_GUEST);
+
+   err = write_str(s, DOMID_QEMU, XBT_NULL, abspath, "");
+   g_assert(!err);
+   g_assert(s->nr_nodes == 5);
+
+   g_free(abspath);
+
+   return s;
+}
+
+static void test_xs_node_simple(void)
+{
+    GByteArray *data = g_byte_array_new();
+    XenstoreImplState *s = setup();
+    GList *items = NULL;
+    XsNode *old_root;
+    uint64_t gencnt;
+    int err;
+
+    g_assert(s);
+
+    /* Read gives ENOENT when it should */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "foo", data);
+    g_assert(err == ENOENT);
+
+    /* Write works */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
+                    "something");
+    g_assert(s->nr_nodes == 7);
+    g_assert(!err);
+
+    /* Read gives back what we wrote */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative/path", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something"));
+    g_assert(!memcmp(data->data, "something", data->len));
+
+    /* Even if we use an abolute path */
+    g_byte_array_set_size(data, 0);
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL,
+                       "/local/domain/1/some/relative/path", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something"));
+
+    /* Keep a copy, to force COW mode */
+    old_root = xs_node_ref(s->root);
+
+    /* Write works again */
+    err = write_str(s, DOMID_GUEST, XBT_NULL,
+                    "/local/domain/1/some/relative/path2",
+                    "something else");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 8);
+
+    /* Overwrite an existing node */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
+                    "another thing");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 8);
+
+    /* We can list the two files we wrote */
+    err = xs_impl_directory(s, DOMID_GUEST, XBT_NULL, "some/relative", &gencnt,
+                            &items);
+    g_assert(!err);
+    g_assert(items);
+    g_assert(gencnt == 2);
+    g_assert(!strcmp(items->data, "path"));
+    g_assert(items->next);
+    g_assert(!strcmp(items->next->data, "path2"));
+    g_assert(!items->next->next);
+    g_list_free_full(items, g_free);
+
+    /* Write somewhere else which already existed */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative", "moredata");
+    g_assert(!err);
+
+    g_byte_array_set_size(data, 0);
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("moredata"));
+    g_assert(!memcmp(data->data, "moredata", data->len));
+
+    /* Overwrite existing data */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative", "otherdata");
+    g_assert(!err);
+
+    g_byte_array_set_size(data, 0);
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("otherdata"));
+    g_assert(!memcmp(data->data, "otherdata", data->len));
+
+    /* Remove the subtree */
+    err = xs_impl_rm(s, DOMID_GUEST, XBT_NULL, "some/relative");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 5);
+
+    g_byte_array_set_size(data, 0);
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
+    g_assert(err == ENOENT);
+    g_byte_array_unref(data);
+
+    xs_node_unref(old_root);
+    xs_impl_delete(s);
+}
+
+
+int main(int argc, char **argv)
+{
+    g_test_init(&argc, &argv, NULL);
+    module_call_init(MODULE_INIT_QOM);
+
+    g_test_add_func("/xs_node/simple", test_xs_node_simple);
+
+    return g_test_run();
+}
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505053.777617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxM-0002Ca-Vc; Thu, 02 Mar 2023 15:34:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505053.777617; Thu, 02 Mar 2023 15: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 1pXkxM-00028x-Jg; Thu, 02 Mar 2023 15:34:56 +0000
Received: by outflank-mailman (input) for mailman id 505053;
 Thu, 02 Mar 2023 15: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=ucY8=62=casper.srs.infradead.org=BATV+a1ad97f05afd282148df+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxK-0001Jw-MQ
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34: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 c20b2aa4-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pXkx4-002UNM-I1; Thu, 02 Mar 2023 15:34:39 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uzF-1p; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c20b2aa4-b90f-11ed-a550-8520e6686977
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=NsStsbU/wrYzcT7pqD6BfZJ/9CY8QxWSUO7MAruBqXQ=; b=SVOthX9RI/7oAIXMFIA0zNaRPr
	UvaAcMmuLtQcin9lHMzeMeGPWpqcB4ypj6KWx9bdn7eBtBYK4+Ex0tvX2vrd0zuDQUMkU69LQ2SAV
	dzUYdCMQSjsmZr7cpMg2trM6ZMw8nGG0M9zI0UXhyHkfrmAbOQQbxIQ+feJnk3V5SRmDKR6uAF+6D
	y5/roN1G3IYdY3REGr1BIUfu72Vb3r6TfppOKKFMRufu8I9494Vjj/ETN5DAGTdaSti7Vkk0WbWN/
	/XnSMg1dvMMuMX5Mh7mUO/B0eyMuHP/OEBSYDH33O6gVMVKSXsqlAFCZ5bpUUPZ2fo3/ly2um1W2k
	lVkCg1Bw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 15/25] hw/xen: Use XEN_PAGE_SIZE in PV backend drivers
Date: Thu,  2 Mar 2023 15:34:25 +0000
Message-Id: <20230302153435.1170111-16-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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>

XC_PAGE_SIZE comes from the actual Xen libraries, while XEN_PAGE_SIZE is
provided by QEMU itself in xen_backend_ops.h. For backends which may be
built for emulation mode, use the latter.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/block/dataplane/xen-block.c |  8 ++++----
 hw/display/xenfb.c             | 12 ++++++------
 hw/net/xen_nic.c               | 12 ++++++------
 hw/usb/xen-usb.c               |  8 ++++----
 4 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index e55b713002..8322a1de82 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -101,9 +101,9 @@ static XenBlockRequest *xen_block_start_request(XenBlockDataPlane *dataplane)
          * re-use requests, allocate the memory once here. It will be freed
          * xen_block_dataplane_destroy() when the request list is freed.
          */
-        request->buf = qemu_memalign(XC_PAGE_SIZE,
+        request->buf = qemu_memalign(XEN_PAGE_SIZE,
                                      BLKIF_MAX_SEGMENTS_PER_REQUEST *
-                                     XC_PAGE_SIZE);
+                                     XEN_PAGE_SIZE);
         dataplane->requests_total++;
         qemu_iovec_init(&request->v, 1);
     } else {
@@ -185,7 +185,7 @@ static int xen_block_parse_request(XenBlockRequest *request)
             goto err;
         }
         if (request->req.seg[i].last_sect * dataplane->sector_size >=
-            XC_PAGE_SIZE) {
+            XEN_PAGE_SIZE) {
             error_report("error: page crossing");
             goto err;
         }
@@ -740,7 +740,7 @@ void xen_block_dataplane_start(XenBlockDataPlane *dataplane,
 
     dataplane->protocol = protocol;
 
-    ring_size = XC_PAGE_SIZE * dataplane->nr_ring_ref;
+    ring_size = XEN_PAGE_SIZE * dataplane->nr_ring_ref;
     switch (dataplane->protocol) {
     case BLKIF_PROTOCOL_NATIVE:
     {
diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c
index 2c4016fcbd..0074a9b6f8 100644
--- a/hw/display/xenfb.c
+++ b/hw/display/xenfb.c
@@ -489,13 +489,13 @@ static int xenfb_map_fb(struct XenFB *xenfb)
     }
 
     if (xenfb->pixels) {
-        munmap(xenfb->pixels, xenfb->fbpages * XC_PAGE_SIZE);
+        munmap(xenfb->pixels, xenfb->fbpages * XEN_PAGE_SIZE);
         xenfb->pixels = NULL;
     }
 
-    xenfb->fbpages = DIV_ROUND_UP(xenfb->fb_len, XC_PAGE_SIZE);
+    xenfb->fbpages = DIV_ROUND_UP(xenfb->fb_len, XEN_PAGE_SIZE);
     n_fbdirs = xenfb->fbpages * mode / 8;
-    n_fbdirs = DIV_ROUND_UP(n_fbdirs, XC_PAGE_SIZE);
+    n_fbdirs = DIV_ROUND_UP(n_fbdirs, XEN_PAGE_SIZE);
 
     pgmfns = g_new0(xen_pfn_t, n_fbdirs);
     fbmfns = g_new0(xen_pfn_t, xenfb->fbpages);
@@ -528,8 +528,8 @@ static int xenfb_configure_fb(struct XenFB *xenfb, size_t fb_len_lim,
 {
     size_t mfn_sz = sizeof_field(struct xenfb_page, pd[0]);
     size_t pd_len = sizeof_field(struct xenfb_page, pd) / mfn_sz;
-    size_t fb_pages = pd_len * XC_PAGE_SIZE / mfn_sz;
-    size_t fb_len_max = fb_pages * XC_PAGE_SIZE;
+    size_t fb_pages = pd_len * XEN_PAGE_SIZE / mfn_sz;
+    size_t fb_len_max = fb_pages * XEN_PAGE_SIZE;
     int max_width, max_height;
 
     if (fb_len_lim > fb_len_max) {
@@ -930,7 +930,7 @@ static void fb_disconnect(struct XenLegacyDevice *xendev)
      *   instead.  This releases the guest pages and keeps qemu happy.
      */
     qemu_xen_foreignmem_unmap(fb->pixels, fb->fbpages);
-    fb->pixels = mmap(fb->pixels, fb->fbpages * XC_PAGE_SIZE,
+    fb->pixels = mmap(fb->pixels, fb->fbpages * XEN_PAGE_SIZE,
                       PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON,
                       -1, 0);
     if (fb->pixels == MAP_FAILED) {
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index 166d03787d..9bbf6599fc 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -145,7 +145,7 @@ static void net_tx_packets(struct XenNetDev *netdev)
                 continue;
             }
 
-            if ((txreq.offset + txreq.size) > XC_PAGE_SIZE) {
+            if ((txreq.offset + txreq.size) > XEN_PAGE_SIZE) {
                 xen_pv_printf(&netdev->xendev, 0, "error: page crossing\n");
                 net_tx_error(netdev, &txreq, rc);
                 continue;
@@ -171,7 +171,7 @@ static void net_tx_packets(struct XenNetDev *netdev)
             if (txreq.flags & NETTXF_csum_blank) {
                 /* have read-only mapping -> can't fill checksum in-place */
                 if (!tmpbuf) {
-                    tmpbuf = g_malloc(XC_PAGE_SIZE);
+                    tmpbuf = g_malloc(XEN_PAGE_SIZE);
                 }
                 memcpy(tmpbuf, page + txreq.offset, txreq.size);
                 net_checksum_calculate(tmpbuf, txreq.size, CSUM_ALL);
@@ -243,9 +243,9 @@ static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf, size_t size
     if (rc == rp || RING_REQUEST_CONS_OVERFLOW(&netdev->rx_ring, rc)) {
         return 0;
     }
-    if (size > XC_PAGE_SIZE - NET_IP_ALIGN) {
+    if (size > XEN_PAGE_SIZE - NET_IP_ALIGN) {
         xen_pv_printf(&netdev->xendev, 0, "packet too big (%lu > %ld)",
-                      (unsigned long)size, XC_PAGE_SIZE - NET_IP_ALIGN);
+                      (unsigned long)size, XEN_PAGE_SIZE - NET_IP_ALIGN);
         return -1;
     }
 
@@ -348,8 +348,8 @@ static int net_connect(struct XenLegacyDevice *xendev)
         netdev->txs = NULL;
         return -1;
     }
-    BACK_RING_INIT(&netdev->tx_ring, netdev->txs, XC_PAGE_SIZE);
-    BACK_RING_INIT(&netdev->rx_ring, netdev->rxs, XC_PAGE_SIZE);
+    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);
 
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index a770a64cb4..66cb3f7c24 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -161,7 +161,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
 
     for (i = 0; i < nr_segs; i++) {
         if ((unsigned)usbback_req->req.seg[i].offset +
-            (unsigned)usbback_req->req.seg[i].length > XC_PAGE_SIZE) {
+            (unsigned)usbback_req->req.seg[i].length > XEN_PAGE_SIZE) {
             xen_pv_printf(xendev, 0, "segment crosses page boundary\n");
             return -EINVAL;
         }
@@ -185,7 +185,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
 
         for (i = 0; i < usbback_req->nr_buffer_segs; i++) {
             seg = usbback_req->req.seg + i;
-            addr = usbback_req->buffer + i * XC_PAGE_SIZE + seg->offset;
+            addr = usbback_req->buffer + i * XEN_PAGE_SIZE + seg->offset;
             qemu_iovec_add(&usbback_req->packet.iov, addr, seg->length);
         }
     }
@@ -902,8 +902,8 @@ static int usbback_connect(struct XenLegacyDevice *xendev)
     usbif->conn_ring_ref = conn_ring_ref;
     urb_sring = usbif->urb_sring;
     conn_sring = usbif->conn_sring;
-    BACK_RING_INIT(&usbif->urb_ring, urb_sring, XC_PAGE_SIZE);
-    BACK_RING_INIT(&usbif->conn_ring, conn_sring, XC_PAGE_SIZE);
+    BACK_RING_INIT(&usbif->urb_ring, urb_sring, XEN_PAGE_SIZE);
+    BACK_RING_INIT(&usbif->conn_ring, conn_sring, XEN_PAGE_SIZE);
 
     xen_be_bind_evtchn(xendev);
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505058.777664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxR-0003QU-Ek; Thu, 02 Mar 2023 15:35:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505058.777664; Thu, 02 Mar 2023 15:35:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxR-0003Nk-0L; Thu, 02 Mar 2023 15:35:01 +0000
Received: by outflank-mailman (input) for mailman id 505058;
 Thu, 02 Mar 2023 15:34: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxN-0001Jv-5e
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34: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 c2d1fed5-b90f-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx5-00FL3s-0L; Thu, 02 Mar 2023 15:34:42 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uzq-38; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2d1fed5-b90f-11ed-96ad-2f268f93b82a
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=7gK7dvxz5pclX0MnciBP6zR++gp8k+vbHhIgn8vIfXk=; b=S4wCJdfuWRVgYPx9kKLk0xA+ko
	e7ZB09+Rs2KKJZoF7A2nmmbx4uXvWmZO8R/FlyeezVVODqEnTf3UGYROuP6Ln2PAMwseYTN+2ylze
	WIfvuHbVTq++w7YQm5Vbz/zeKfYK1n4sx2f5k04ZVAHmCRLfGQwoOYxPP1YEA3GydmIPPuBaH8GNB
	fGb6PBC9kgdipKoQRH374/cqIfbNOBYuXtA8yjW1vqiPTLpcrzZiC75A0JNifqzBbPAFr9ljsFUdh
	KEDDSRCDfn/eyuwne1D+npgC4VoXBRwdD1DixUj1yJ7RIQ1iNcFzRd/3NfjLSX4lq+9xdEeh/ExL5
	gpA4JCLQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 23/25] hw/xen: Map guest XENSTORE_PFN grant in emulated Xenstore
Date: Thu,  2 Mar 2023 15:34:33 +0000
Message-Id: <20230302153435.1170111-24-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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/i386/kvm/xen_xenstore.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 028f80499e..f9b7387024 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -21,6 +21,7 @@
 
 #include "hw/sysbus.h"
 #include "hw/xen/xen.h"
+#include "hw/xen/xen_backend_ops.h"
 #include "xen_overlay.h"
 #include "xen_evtchn.h"
 #include "xen_xenstore.h"
@@ -34,6 +35,7 @@
 
 #include "hw/xen/interface/io/xs_wire.h"
 #include "hw/xen/interface/event_channel.h"
+#include "hw/xen/interface/grant_table.h"
 
 #define TYPE_XEN_XENSTORE "xen-xenstore"
 OBJECT_DECLARE_SIMPLE_TYPE(XenXenstoreState, XEN_XENSTORE)
@@ -66,6 +68,9 @@ struct XenXenstoreState {
 
     uint8_t *impl_state;
     uint32_t impl_state_size;
+
+    struct xengntdev_handle *gt;
+    void *granted_xs;
 };
 
 struct XenXenstoreState *xen_xenstore_singleton;
@@ -1452,6 +1457,17 @@ int xen_xenstore_reset(void)
     }
     s->be_port = err;
 
+    /*
+     * 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
+     * first place. Map the grant anyway, mostly for cosmetic purposes so
+     * it *looks* like it's in use in the guest-visible grant table.
+     */
+    s->gt = qemu_xen_gnttab_open();
+    uint32_t xs_gntref = GNTTAB_RESERVED_XENSTORE;
+    s->granted_xs = qemu_xen_gnttab_map_refs(s->gt, 1, xen_domid, &xs_gntref,
+                                             PROT_READ | PROT_WRITE);
+
     return 0;
 }
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505059.777675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxT-0003m1-IX; Thu, 02 Mar 2023 15:35:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505059.777675; Thu, 02 Mar 2023 15: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 1pXkxS-0003d6-G5; Thu, 02 Mar 2023 15:35:02 +0000
Received: by outflank-mailman (input) for mailman id 505059;
 Thu, 02 Mar 2023 15: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=ucY8=62=casper.srs.infradead.org=BATV+a1ad97f05afd282148df+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxN-0001Jw-Mo
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34:57 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c2185c4b-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pXkx3-002UND-TC; Thu, 02 Mar 2023 15:34:38 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx3-004uyT-2x; Thu, 02 Mar 2023 15: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
X-Inumbo-ID: c2185c4b-b90f-11ed-a550-8520e6686977
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=erWVL3FsZ/k0NITRskjF433HZz8ozg61BvoyoaGHf94=; b=DCP0WDgAi2HDlsISe89uQqbkEV
	dFTT20r4Tt2KoGf3KxxmLH3Q6nBAbgaozjY3u/1gxEF97GOPc7Cc5OLwve8qbv9Sk2h6rWOJKOk7M
	SLv7/HaPVDm1OU1hMQ7fC7nZ/wD5j4EwVRqlZMJMLlhbme6K1Ww19ynAbcu7AujbU1ShGgI8MMFCj
	sO0e+Vqr+GTa+IA9/XRAgtI1l6AVjAmVU1kj41DesArN+3ZpANpaOpprcLBEl6t1g4YUT2n4FcxHW
	AWvahBPb78oowvmx8ahIlbf8vVoBq7puDz0woEql4hmaykt32lSCQoENXMwf7JtBLdMxD+5jLgP0C
	k2nMH6bw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 03/25] hw/xen: Implement XenStore watches
Date: Thu,  2 Mar 2023 15:34:13 +0000
Message-Id: <20230302153435.1170111-4-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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>

Starts out fairly simple: a hash table of watches based on the path.

Except there can be multiple watches on the same path, so the watch ends
up being a simple linked list, and the head of that list is in the hash
table. Which makes removal a bit of a PITA but it's not so bad; we just
special-case "I had to remove the head of the list and now I have to
replace it in / remove it from the hash table". And if we don't remove
the head, it's a simple linked-list operation.

We do need to fire watches on *deleted* nodes, so instead of just a simple
xs_node_unref() on the topmost victim, we need to recurse down and fire
watches on them all.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/kvm/xenstore_impl.c | 253 +++++++++++++++++++++++++++++++++---
 tests/unit/test-xs-node.c   |  85 ++++++++++++
 2 files changed, 323 insertions(+), 15 deletions(-)

diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 9e10a31bea..2e464af93a 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -37,9 +37,20 @@ typedef struct XsNode {
 #endif
 } XsNode;
 
+typedef struct XsWatch {
+    struct XsWatch *next;
+    xs_impl_watch_fn *cb;
+    void *cb_opaque;
+    char *token;
+    unsigned int dom_id;
+    int rel_prefix;
+} XsWatch;
+
 struct XenstoreImplState {
     XsNode *root;
     unsigned int nr_nodes;
+    GHashTable *watches;
+    unsigned int nr_domu_watches;
 };
 
 static inline XsNode *xs_node_new(void)
@@ -146,6 +157,7 @@ struct walk_op {
     void *op_opaque;
     void *op_opaque2;
 
+    GList *watches;
     unsigned int dom_id;
 
     /* The number of nodes which will exist in the tree if this op succeeds. */
@@ -166,6 +178,35 @@ struct walk_op {
     bool create_dirs;
 };
 
+static void fire_watches(struct walk_op *op, bool parents)
+{
+    GList *l = NULL;
+    XsWatch *w;
+
+    if (!op->mutating) {
+        return;
+    }
+
+    if (parents) {
+        l = op->watches;
+    }
+
+    w = g_hash_table_lookup(op->s->watches, op->path);
+    while (w || l) {
+        if (!w) {
+            /* Fire the parent nodes from 'op' if asked to */
+            w = l->data;
+            l = l->next;
+            continue;
+        }
+
+        assert(strlen(op->path) > w->rel_prefix);
+        w->cb(w->cb_opaque, op->path + w->rel_prefix, w->token);
+
+        w = w->next;
+    }
+}
+
 static int xs_node_add_content(XsNode **n, struct walk_op *op)
 {
     GByteArray *data = op->op_opaque;
@@ -213,6 +254,8 @@ static int xs_node_get_content(XsNode **n, struct walk_op *op)
 static int node_rm_recurse(gpointer key, gpointer value, gpointer user_data)
 {
     struct walk_op *op = user_data;
+    int path_len = strlen(op->path);
+    int key_len = strlen(key);
     XsNode *n = value;
     bool this_inplace = op->inplace;
 
@@ -220,11 +263,22 @@ static int node_rm_recurse(gpointer key, gpointer value, gpointer user_data)
         op->inplace = 0;
     }
 
+    assert(key_len + path_len + 2 <= sizeof(op->path));
+    op->path[path_len] = '/';
+    memcpy(op->path + path_len + 1, key, key_len + 1);
+
     if (n->children) {
         g_hash_table_foreach_remove(n->children, node_rm_recurse, op);
     }
     op->new_nr_nodes--;
 
+    /*
+     * Fire watches on *this* node but not the parents because they are
+     * going to be deleted too, so the watch will fire for them anyway.
+     */
+    fire_watches(op, false);
+    op->path[path_len] = '\0';
+
     /*
      * Actually deleting the child here is just an optimisation; if we
      * don't then the final unref on the topmost victim will just have
@@ -238,7 +292,7 @@ static int xs_node_rm(XsNode **n, struct walk_op *op)
 {
     bool this_inplace = op->inplace;
 
-    /* Keep count of the nodes in the subtree which gets deleted. */
+    /* Fire watches for, and count, nodes in the subtree which get deleted */
     if ((*n)->children) {
         g_hash_table_foreach_remove((*n)->children, node_rm_recurse, op);
     }
@@ -269,9 +323,11 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
     XsNode *old = *n, *child = NULL;
     bool stole_child = false;
     bool this_inplace;
+    XsWatch *watch;
     int err;
 
     namelen = strlen(op->path);
+    watch = g_hash_table_lookup(op->s->watches, op->path);
 
     /* Is there a child, or do we hit the double-NUL termination? */
     if (op->path[namelen + 1]) {
@@ -292,6 +348,9 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
     if (!child_name) {
         /* This is the actual node on which the operation shall be performed */
         err = op->op_fn(n, op);
+        if (!err) {
+            fire_watches(op, true);
+        }
         goto out;
     }
 
@@ -333,11 +392,24 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
         goto out;
     }
 
+    /*
+     * If there's a watch on this node, add it to the list to be fired
+     * (with the correct full pathname for the modified node) at the end.
+     */
+    if (watch) {
+        op->watches = g_list_append(op->watches, watch);
+    }
+
     /*
      * Except for the temporary child-stealing as noted, our node has not
      * changed yet. We don't yet know the overall operation will complete.
      */
     err = xs_node_walk(&child, op);
+
+    if (watch) {
+        op->watches = g_list_remove(op->watches, watch);
+    }
+
     if (err || !op->mutating) {
         if (stole_child) {
             /* Put it back as it was. */
@@ -375,6 +447,7 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
  out:
     op->path[namelen] = '\0';
     if (!namelen) {
+        assert(!op->watches);
         /*
          * On completing the recursion back up the path walk and reaching the
          * top, assign the new node count if the operation was successful.
@@ -457,6 +530,7 @@ static int init_walk_op(XenstoreImplState *s, struct walk_op *op,
      * path element for the lookup.
      */
     op->path[strlen(op->path) + 1] = '\0';
+    op->watches = NULL;
     op->path[0] = '\0';
     op->inplace = true;
     op->mutating = false;
@@ -589,38 +663,187 @@ int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
 int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
                   const char *token, xs_impl_watch_fn fn, void *opaque)
 {
-    /*
-     * When calling the callback @fn, note that the path should
-     * precisely match the relative path that the guest provided, even
-     * if it was a relative path which needed to be prefixed with
-     * /local/domain/${domid}/
-     */
-    return ENOSYS;
+    char abspath[XENSTORE_ABS_PATH_MAX + 1];
+    XsWatch *w, *l;
+    int ret;
+
+    ret = validate_path(abspath, path, dom_id);
+    if (ret) {
+        return ret;
+    }
+
+    /* Check for duplicates */
+    w = g_hash_table_lookup(s->watches, abspath);
+    while (w) {
+        if (!g_strcmp0(token, w->token) &&  opaque == w->cb_opaque &&
+            fn == w->cb && dom_id == w->dom_id) {
+            return EEXIST;
+        }
+        w = w->next;
+    }
+
+    if (dom_id && s->nr_domu_watches >= XS_MAX_WATCHES) {
+        return E2BIG;
+    }
+
+    w = g_new0(XsWatch, 1);
+    w->token = g_strdup(token);
+    w->cb = fn;
+    w->cb_opaque = opaque;
+    w->dom_id = dom_id;
+    w->rel_prefix = strlen(abspath) - strlen(path);
+
+    l = g_hash_table_lookup(s->watches, abspath);
+    if (l) {
+        w->next = l->next;
+        l->next = w;
+    } else {
+        g_hash_table_insert(s->watches, g_strdup(abspath), w);
+    }
+    if (dom_id) {
+        s->nr_domu_watches++;
+    }
+
+    /* A new watch should fire immediately */
+    fn(opaque, path, token);
+
+    return 0;
+}
+
+static XsWatch *free_watch(XenstoreImplState *s, XsWatch *w)
+{
+    XsWatch *next = w->next;
+
+    if (w->dom_id) {
+        assert(s->nr_domu_watches);
+        s->nr_domu_watches--;
+    }
+
+    g_free(w->token);
+    g_free(w);
+
+    return next;
 }
 
 int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
                     const char *path, const char *token,
                     xs_impl_watch_fn fn, void *opaque)
 {
+    char abspath[XENSTORE_ABS_PATH_MAX + 1];
+    XsWatch *w, **l;
+    int ret;
+
+    ret = validate_path(abspath, path, dom_id);
+    if (ret) {
+        return ret;
+    }
+
+    w = g_hash_table_lookup(s->watches, abspath);
+    if (!w) {
+        return ENOENT;
+    }
+
     /*
-     * When calling the callback @fn, note that the path should
-     * precisely match the relative path that the guest provided, even
-     * if it was a relative path which needed to be prefixed with
-     * /local/domain/${domid}/
+     * The hash table contains the first element of a list of
+     * watches. Removing the first element in the list is a
+     * special case because we have to update the hash table to
+     * point to the next (or remove it if there's nothing left).
      */
-    return ENOSYS;
+    if (!g_strcmp0(token, w->token) && fn == w->cb && opaque == w->cb_opaque &&
+        dom_id == w->dom_id) {
+        if (w->next) {
+            /* Insert the previous 'next' into the hash table */
+            g_hash_table_insert(s->watches, g_strdup(abspath), w->next);
+        } else {
+            /* Nothing left; remove from hash table */
+            g_hash_table_remove(s->watches, abspath);
+        }
+        free_watch(s, w);
+        return 0;
+    }
+
+    /*
+     * We're all done messing with the hash table because the element
+     * it points to has survived the cull. Now it's just a simple
+     * linked list removal operation.
+     */
+    for (l = &w->next; *l; l = &w->next) {
+        w = *l;
+
+        if (!g_strcmp0(token, w->token) && fn == w->cb &&
+            opaque != w->cb_opaque && dom_id == w->dom_id) {
+            *l = free_watch(s, w);
+            return 0;
+        }
+    }
+
+    return ENOENT;
 }
 
 int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id)
 {
-    /* Remove the watch that matches all four criteria */
-    return ENOSYS;
+    char **watch_paths;
+    guint nr_watch_paths;
+    guint i;
+
+    watch_paths = (char **)g_hash_table_get_keys_as_array(s->watches,
+                                                          &nr_watch_paths);
+
+    for (i = 0; i < nr_watch_paths; i++) {
+        XsWatch *w1 = g_hash_table_lookup(s->watches, watch_paths[i]);
+        XsWatch *w2, *w, **l;
+
+        /*
+         * w1 is the original list. The hash table has this pointer.
+         * w2 is the head of our newly-filtered list.
+         * w and l are temporary for processing. w is somewhat redundant
+         * with *l but makes my eyes bleed less.
+         */
+
+        w = w2 = w1;
+        l = &w;
+        while (w) {
+            if (w->dom_id == dom_id) {
+                /* If we're freeing the head of the list, bump w2 */
+                if (w2 == w) {
+                    w2 = w->next;
+                }
+                *l = free_watch(s, w);
+            } else {
+                l = &w->next;
+            }
+            w = *l;
+        }
+        /*
+         * If the head of the list survived the cull, we don't need to
+         * touch the hash table and we're done with this path. Else...
+         */
+        if (w1 != w2) {
+            g_hash_table_steal(s->watches, watch_paths[i]);
+
+            /*
+             * It was already freed. (Don't worry, this whole thing is
+             * single-threaded and nobody saw it in the meantime). And
+             * having *stolen* it, we now own the watch_paths[i] string
+             * so if we don't give it back to the hash table, we need
+             * to free it.
+             */
+            if (w2) {
+                g_hash_table_insert(s->watches, watch_paths[i], w2);
+            } else {
+                g_free(watch_paths[i]);
+            }
+        }
+    }
+    g_free(watch_paths);
+    return 0;
 }
 
 XenstoreImplState *xs_impl_create(void)
 {
     XenstoreImplState *s = g_new0(XenstoreImplState, 1);
 
+    s->watches = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
     s->nr_nodes = 1;
     s->root = xs_node_new();
 #ifdef XS_NODE_UNIT_TEST
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index c78d5bd581..19000b64b2 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -34,10 +34,14 @@ static void xs_impl_delete(XenstoreImplState *s)
 {
     int err;
 
+    xs_impl_reset_watches(s, DOMID_GUEST);
+    g_assert(!s->nr_domu_watches);
+
     err = xs_impl_rm(s, DOMID_QEMU, XBT_NULL, "/local");
     g_assert(!err);
     g_assert(s->nr_nodes == 1);
 
+    g_hash_table_unref(s->watches);
     xs_node_unref(s->root);
     g_free(s);
 
@@ -65,6 +69,14 @@ static int write_str(XenstoreImplState *s, unsigned int dom_id,
     return err;
 }
 
+static void watch_cb(void *_str, const char *path, const char *token)
+{
+    GString *str = _str;
+
+    g_string_append(str, path);
+    g_string_append(str, token);
+}
+
 static XenstoreImplState *setup(void)
 {
    XenstoreImplState *s = xs_impl_create();
@@ -75,6 +87,7 @@ static XenstoreImplState *setup(void)
 
    err = write_str(s, DOMID_QEMU, XBT_NULL, abspath, "");
    g_assert(!err);
+   g_assert(s->nr_nodes == 4);
 
    g_free(abspath);
 
@@ -93,6 +106,8 @@ static void test_xs_node_simple(void)
 {
     GByteArray *data = g_byte_array_new();
     XenstoreImplState *s = setup();
+    GString *guest_watches = g_string_new(NULL);
+    GString *qemu_watches = g_string_new(NULL);
     GList *items = NULL;
     XsNode *old_root;
     uint64_t gencnt;
@@ -100,6 +115,20 @@ static void test_xs_node_simple(void)
 
     g_assert(s);
 
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "guestwatch",
+                        watch_cb, guest_watches);
+    g_assert(!err);
+    g_assert(guest_watches->len == strlen("someguestwatch"));
+    g_assert(!strcmp(guest_watches->str, "someguestwatch"));
+    g_string_truncate(guest_watches, 0);
+
+    err = xs_impl_watch(s, 0, "/local/domain/1/some", "qemuwatch",
+                        watch_cb, qemu_watches);
+    g_assert(!err);
+    g_assert(qemu_watches->len == strlen("/local/domain/1/someqemuwatch"));
+    g_assert(!strcmp(qemu_watches->str, "/local/domain/1/someqemuwatch"));
+    g_string_truncate(qemu_watches, 0);
+
     /* Read gives ENOENT when it should */
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "foo", data);
     g_assert(err == ENOENT);
@@ -109,6 +138,14 @@ static void test_xs_node_simple(void)
                     "something");
     g_assert(s->nr_nodes == 7);
     g_assert(!err);
+    g_assert(!strcmp(guest_watches->str,
+                     "some/relative/pathguestwatch"));
+    g_assert(!strcmp(qemu_watches->str,
+                     "/local/domain/1/some/relative/pathqemuwatch"));
+
+    g_string_truncate(qemu_watches, 0);
+    g_string_truncate(guest_watches, 0);
+    xs_impl_reset_watches(s, 0);
 
     /* Read gives back what we wrote */
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative/path", data);
@@ -123,6 +160,8 @@ static void test_xs_node_simple(void)
     g_assert(!err);
     g_assert(data->len == strlen("something"));
 
+    g_assert(!qemu_watches->len);
+    g_assert(!guest_watches->len);
     /* Keep a copy, to force COW mode */
     old_root = xs_node_ref(s->root);
 
@@ -132,12 +171,18 @@ static void test_xs_node_simple(void)
                     "something else");
     g_assert(!err);
     g_assert(s->nr_nodes == 8);
+    g_assert(!qemu_watches->len);
+    g_assert(!strcmp(guest_watches->str, "some/relative/path2guestwatch"));
+    g_string_truncate(guest_watches, 0);
 
     /* Overwrite an existing node */
     err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
                     "another thing");
     g_assert(!err);
     g_assert(s->nr_nodes == 8);
+    g_assert(!qemu_watches->len);
+    g_assert(!strcmp(guest_watches->str, "some/relative/pathguestwatch"));
+    g_string_truncate(guest_watches, 0);
 
     /* We can list the two files we wrote */
     err = xs_impl_directory(s, DOMID_GUEST, XBT_NULL, "some/relative", &gencnt,
@@ -151,9 +196,38 @@ static void test_xs_node_simple(void)
     g_assert(!items->next->next);
     g_list_free_full(items, g_free);
 
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "guestwatch",
+                          watch_cb, guest_watches);
+    g_assert(!err);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "guestwatch",
+                          watch_cb, guest_watches);
+    g_assert(err == ENOENT);
+
+    err = xs_impl_watch(s, DOMID_GUEST, "some/relative/path2", "watchp2",
+                        watch_cb, guest_watches);
+    g_assert(!err);
+    g_assert(guest_watches->len == strlen("some/relative/path2watchp2"));
+    g_assert(!strcmp(guest_watches->str, "some/relative/path2watchp2"));
+    g_string_truncate(guest_watches, 0);
+
+    err = xs_impl_watch(s, DOMID_GUEST, "/local/domain/1/some/relative",
+                        "watchrel", watch_cb, guest_watches);
+    g_assert(!err);
+    g_assert(guest_watches->len ==
+             strlen("/local/domain/1/some/relativewatchrel"));
+    g_assert(!strcmp(guest_watches->str,
+                     "/local/domain/1/some/relativewatchrel"));
+    g_string_truncate(guest_watches, 0);
+
     /* Write somewhere else which already existed */
     err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative", "moredata");
     g_assert(!err);
+    g_assert(s->nr_nodes == 8);
+
+    g_assert(!strcmp(guest_watches->str,
+                     "/local/domain/1/some/relativewatchrel"));
+    g_string_truncate(guest_watches, 0);
 
     g_byte_array_set_size(data, 0);
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
@@ -164,6 +238,7 @@ static void test_xs_node_simple(void)
     /* Overwrite existing data */
     err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative", "otherdata");
     g_assert(!err);
+    g_string_truncate(guest_watches, 0);
 
     g_byte_array_set_size(data, 0);
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
@@ -176,11 +251,21 @@ static void test_xs_node_simple(void)
     g_assert(!err);
     g_assert(s->nr_nodes == 5);
 
+    /* Each watch fires with the least specific relevant path */
+    g_assert(strstr(guest_watches->str,
+                    "some/relative/path2watchp2"));
+    g_assert(strstr(guest_watches->str,
+                    "/local/domain/1/some/relativewatchrel"));
+    g_string_truncate(guest_watches, 0);
+
     g_byte_array_set_size(data, 0);
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
     g_assert(err == ENOENT);
     g_byte_array_unref(data);
 
+    xs_impl_reset_watches(s, DOMID_GUEST);
+    g_string_free(qemu_watches, true);
+    g_string_free(guest_watches, true);
     xs_node_unref(old_root);
     xs_impl_delete(s);
 }
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505060.777684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxV-00047X-33; Thu, 02 Mar 2023 15:35:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505060.777684; Thu, 02 Mar 2023 15:35:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxU-00043g-EW; Thu, 02 Mar 2023 15:35:04 +0000
Received: by outflank-mailman (input) for mailman id 505060;
 Thu, 02 Mar 2023 15:34: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=ucY8=62=casper.srs.infradead.org=BATV+a1ad97f05afd282148df+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxO-0001Jv-5m
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34:58 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c263863f-b90f-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pXkx4-002UNI-Ax; Thu, 02 Mar 2023 15:34:38 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uyz-18; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c263863f-b90f-11ed-96ad-2f268f93b82a
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=NF8xN9k5qsj8llf3yVbtIw6AiA0womeXOrSieif4acs=; b=cUA7Lvw0yCJuWXSkIWQA5xO/xU
	Oi0tHoBTGkTy0ikl27dE7lIj+pLnQsIXy2aPk8GHf/8P6QyEaLRtXsCQ5Wztsruq7+fRMIPkInvid
	BhmWYmiNrX78XsgufP3qVCbduJfDZnim6W1zVR9V8Wfmw/VG1oJrRoh1PUlM/r6Hp+G62mybpghc7
	a8a7VW3IfgxIBcXBUsZ+Qyjd/iEcWuoKDr7AwRrFBR7DRB9SuvWx6lnvLe5SrB6THBkKal1wOvUwv
	h0Bs0RxEp/SQ2jbKEd6YwoRvmiAWSkdzE0EEf6ov2BVNwEYQq5NBZN/fSFsZw7QPTTKvriSAOH6M6
	Rg5fMqgQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 11/25] hw/xen: Pass grant ref to gnttab unmap operation
Date: Thu,  2 Mar 2023 15:34:21 +0000
Message-Id: <20230302153435.1170111-12-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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 previous commit introduced redirectable gnttab operations fairly
much like-for-like, with the exception of the extra arguments to the
->open() call which were always NULL/0 anyway.

This *changes* the arguments to the ->unmap() operation to include the
original ref# that was mapped. Under real Xen it isn't necessary; all we
need to do from QEMU is munmap(), then the kernel will release the grant,
and Xen does the tracking/refcounting for the guest.

When we have emulated grant tables though, we need to do all that for
ourselves. So let's have the back ends keep track of what they mapped
and pass it in to the ->unmap() method for us.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/9pfs/xen-9p-backend.c            |  7 ++++---
 hw/block/dataplane/xen-block.c      |  1 +
 hw/char/xen_console.c               |  2 +-
 hw/net/xen_nic.c                    | 13 ++++++++-----
 hw/usb/xen-usb.c                    | 21 ++++++++++++++++-----
 hw/xen/xen-bus.c                    |  4 ++--
 hw/xen/xen-legacy-backend.c         |  4 ++--
 hw/xen/xen-operations.c             |  9 ++++++++-
 include/hw/xen/xen-bus.h            |  2 +-
 include/hw/xen/xen-legacy-backend.h |  6 +++---
 include/hw/xen/xen_backend_ops.h    |  7 ++++---
 11 files changed, 50 insertions(+), 26 deletions(-)

diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
index 864bdaf952..d8bb0e847c 100644
--- a/hw/9pfs/xen-9p-backend.c
+++ b/hw/9pfs/xen-9p-backend.c
@@ -359,12 +359,13 @@ static int xen_9pfs_free(struct XenLegacyDevice *xendev)
         if (xen_9pdev->rings[i].data != NULL) {
             xen_be_unmap_grant_refs(&xen_9pdev->xendev,
                                     xen_9pdev->rings[i].data,
+                                    xen_9pdev->rings[i].intf->ref,
                                     (1 << xen_9pdev->rings[i].ring_order));
         }
         if (xen_9pdev->rings[i].intf != NULL) {
-            xen_be_unmap_grant_refs(&xen_9pdev->xendev,
-                                    xen_9pdev->rings[i].intf,
-                                    1);
+            xen_be_unmap_grant_ref(&xen_9pdev->xendev,
+                                   xen_9pdev->rings[i].intf,
+                                   xen_9pdev->rings[i].ref);
         }
         if (xen_9pdev->rings[i].bh != NULL) {
             qemu_bh_delete(xen_9pdev->rings[i].bh);
diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index 2785b9e849..e55b713002 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -705,6 +705,7 @@ void xen_block_dataplane_stop(XenBlockDataPlane *dataplane)
         Error *local_err = NULL;
 
         xen_device_unmap_grant_refs(xendev, dataplane->sring,
+                                    dataplane->ring_ref,
                                     dataplane->nr_ring_ref, &local_err);
         dataplane->sring = NULL;
 
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 63153dfde4..19ad6c946a 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -271,7 +271,7 @@ static void con_disconnect(struct XenLegacyDevice *xendev)
         if (!xendev->dev) {
             xenforeignmemory_unmap(xen_fmem, con->sring, 1);
         } else {
-            xen_be_unmap_grant_ref(xendev, con->sring);
+            xen_be_unmap_grant_ref(xendev, con->sring, con->ring_ref);
         }
         con->sring = NULL;
     }
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index 7d92c2d022..166d03787d 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -181,7 +181,7 @@ 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);
+            xen_be_unmap_grant_ref(&netdev->xendev, page, txreq.gref);
             net_tx_response(netdev, &txreq, NETIF_RSP_OKAY);
         }
         if (!netdev->tx_work) {
@@ -261,7 +261,7 @@ static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf, size_t size
         return -1;
     }
     memcpy(page + NET_IP_ALIGN, buf, size);
-    xen_be_unmap_grant_ref(&netdev->xendev, page);
+    xen_be_unmap_grant_ref(&netdev->xendev, page, rxreq.gref);
     net_rx_response(netdev, &rxreq, NETIF_RSP_OKAY, NET_IP_ALIGN, size, 0);
 
     return size;
@@ -343,7 +343,8 @@ static int net_connect(struct XenLegacyDevice *xendev)
                                        netdev->rx_ring_ref,
                                        PROT_READ | PROT_WRITE);
     if (!netdev->rxs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs);
+        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs,
+                               netdev->tx_ring_ref);
         netdev->txs = NULL;
         return -1;
     }
@@ -368,11 +369,13 @@ static void net_disconnect(struct XenLegacyDevice *xendev)
     xen_pv_unbind_evtchn(&netdev->xendev);
 
     if (netdev->txs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs);
+        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs,
+                               netdev->tx_ring_ref);
         netdev->txs = NULL;
     }
     if (netdev->rxs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->rxs);
+        xen_be_unmap_grant_ref(&netdev->xendev, netdev->rxs,
+                               netdev->rx_ring_ref);
         netdev->rxs = NULL;
     }
 }
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index 0f7369e7ed..a770a64cb4 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -101,6 +101,8 @@ struct usbback_hotplug {
 struct usbback_info {
     struct XenLegacyDevice         xendev;  /* must be first */
     USBBus                   bus;
+    uint32_t                 urb_ring_ref;
+    uint32_t                 conn_ring_ref;
     void                     *urb_sring;
     void                     *conn_sring;
     struct usbif_urb_back_ring urb_ring;
@@ -277,10 +279,11 @@ static int usbback_init_packet(struct usbback_req *usbback_req)
 static void usbback_do_response(struct usbback_req *usbback_req, int32_t status,
                                 int32_t actual_length, int32_t error_count)
 {
+    uint32_t ref[USBIF_MAX_SEGMENTS_PER_REQUEST];
     struct usbback_info *usbif;
     struct usbif_urb_response *res;
     struct XenLegacyDevice *xendev;
-    unsigned int notify;
+    unsigned int notify, i;
 
     usbif = usbback_req->usbif;
     xendev = &usbif->xendev;
@@ -293,13 +296,19 @@ static void usbback_do_response(struct usbback_req *usbback_req, int32_t status,
     }
 
     if (usbback_req->buffer) {
-        xen_be_unmap_grant_refs(xendev, usbback_req->buffer,
+        for (i = 0; i < usbback_req->nr_buffer_segs; i++) {
+            ref[i] = usbback_req->req.seg[i].gref;
+        }
+        xen_be_unmap_grant_refs(xendev, usbback_req->buffer, ref,
                                 usbback_req->nr_buffer_segs);
         usbback_req->buffer = NULL;
     }
 
     if (usbback_req->isoc_buffer) {
-        xen_be_unmap_grant_refs(xendev, usbback_req->isoc_buffer,
+        for (i = 0; i < usbback_req->nr_extra_segs; i++) {
+            ref[i] = usbback_req->req.seg[i + usbback_req->req.nr_buffer_segs].gref;
+        }
+        xen_be_unmap_grant_refs(xendev, usbback_req->isoc_buffer, ref,
                                 usbback_req->nr_extra_segs);
         usbback_req->isoc_buffer = NULL;
     }
@@ -832,11 +841,11 @@ static void usbback_disconnect(struct XenLegacyDevice *xendev)
     xen_pv_unbind_evtchn(xendev);
 
     if (usbif->urb_sring) {
-        xen_be_unmap_grant_ref(xendev, usbif->urb_sring);
+        xen_be_unmap_grant_ref(xendev, usbif->urb_sring, usbif->urb_ring_ref);
         usbif->urb_sring = NULL;
     }
     if (usbif->conn_sring) {
-        xen_be_unmap_grant_ref(xendev, usbif->conn_sring);
+        xen_be_unmap_grant_ref(xendev, usbif->conn_sring, usbif->conn_ring_ref);
         usbif->conn_sring = NULL;
     }
 
@@ -889,6 +898,8 @@ static int usbback_connect(struct XenLegacyDevice *xendev)
         return -1;
     }
 
+    usbif->urb_ring_ref = urb_ring_ref;
+    usbif->conn_ring_ref = conn_ring_ref;
     urb_sring = usbif->urb_sring;
     conn_sring = usbif->conn_sring;
     BACK_RING_INIT(&usbif->urb_ring, urb_sring, XC_PAGE_SIZE);
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index b247e86f28..aee6a8c9b0 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -967,10 +967,10 @@ void *xen_device_map_grant_refs(XenDevice *xendev, uint32_t *refs,
     return map;
 }
 
-void xen_device_unmap_grant_refs(XenDevice *xendev, void *map,
+void xen_device_unmap_grant_refs(XenDevice *xendev, void *map, uint32_t *refs,
                                  unsigned int nr_refs, Error **errp)
 {
-    if (qemu_xen_gnttab_unmap(xendev->xgth, map, nr_refs)) {
+    if (qemu_xen_gnttab_unmap(xendev->xgth, map, refs, nr_refs)) {
         error_setg_errno(errp, errno, "xengnttab_unmap failed");
     }
 }
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index 1e9a28f263..a48a25aeb5 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -137,11 +137,11 @@ void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
 }
 
 void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
-                             unsigned int nr_refs)
+                             uint32_t *refs, unsigned int nr_refs)
 {
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    if (qemu_xen_gnttab_unmap(xendev->gnttabdev, ptr, nr_refs)) {
+    if (qemu_xen_gnttab_unmap(xendev->gnttabdev, ptr, refs, nr_refs)) {
         xen_pv_printf(xendev, 0, "xengnttab_unmap failed: %s\n",
                       strerror(errno));
     }
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index eb5fb0a59f..73dabac8e5 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -200,6 +200,13 @@ static xengnttab_handle *libxengnttab_backend_open(void)
     return xengnttab_open(NULL, 0);
 }
 
+static int libxengnttab_backend_unmap(xengnttab_handle *xgt,
+                                      void *start_address, uint32_t *refs,
+                                      uint32_t count)
+{
+    return xengnttab_unmap(xgt, start_address, count);
+}
+
 
 static struct gnttab_backend_ops libxengnttab_backend_ops = {
     .features = XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE,
@@ -208,7 +215,7 @@ static struct gnttab_backend_ops libxengnttab_backend_ops = {
     .grant_copy = libxengnttab_fallback_grant_copy,
     .set_max_grants = xengnttab_set_max_grants,
     .map_refs = xengnttab_map_domain_grant_refs,
-    .unmap = xengnttab_unmap,
+    .unmap = libxengnttab_backend_unmap,
 };
 
 void setup_xen_backend_ops(void)
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 72d71d1eb7..5a90e79d53 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -102,7 +102,7 @@ void xen_device_set_max_grant_refs(XenDevice *xendev, unsigned int nr_refs,
 void *xen_device_map_grant_refs(XenDevice *xendev, uint32_t *refs,
                                 unsigned int nr_refs, int prot,
                                 Error **errp);
-void xen_device_unmap_grant_refs(XenDevice *xendev, void *map,
+void xen_device_unmap_grant_refs(XenDevice *xendev, void *map, uint32_t *refs,
                                  unsigned int nr_refs, Error **errp);
 
 typedef struct XenDeviceGrantCopySegment {
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index eaf79cd221..ab28583267 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -52,7 +52,7 @@ void xen_be_set_max_grant_refs(struct XenLegacyDevice *xendev,
 void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
                             unsigned int nr_refs, int prot);
 void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
-                             unsigned int nr_refs);
+                             uint32_t *refs, unsigned int nr_refs);
 
 int xen_be_copy_grant_refs(struct XenLegacyDevice *xendev,
                            bool to_domain, XenGrantCopySegment segs[],
@@ -65,9 +65,9 @@ static inline void *xen_be_map_grant_ref(struct XenLegacyDevice *xendev,
 }
 
 static inline void xen_be_unmap_grant_ref(struct XenLegacyDevice *xendev,
-                                          void *ptr)
+                                          void *ptr, uint32_t ref)
 {
-    return xen_be_unmap_grant_refs(xendev, ptr, 1);
+    return xen_be_unmap_grant_refs(xendev, ptr, &ref, 1);
 }
 
 /* actual backend drivers */
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
index bb3333ab00..6f9d8e2c62 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -144,7 +144,8 @@ struct gnttab_backend_ops {
     int (*set_max_grants)(xengnttab_handle *xgt, uint32_t nr_grants);
     void *(*map_refs)(xengnttab_handle *xgt, uint32_t count, uint32_t domid,
                       uint32_t *refs, int prot);
-    int (*unmap)(xengnttab_handle *xgt, void *start_address, uint32_t count);
+    int (*unmap)(xengnttab_handle *xgt, void *start_address, uint32_t *refs,
+                 uint32_t count);
 };
 
 extern struct gnttab_backend_ops *xen_gnttab_ops;
@@ -204,13 +205,13 @@ static inline void *qemu_xen_gnttab_map_refs(xengnttab_handle *xgt,
 }
 
 static inline int qemu_xen_gnttab_unmap(xengnttab_handle *xgt,
-                                        void *start_address,
+                                        void *start_address, uint32_t *refs,
                                         uint32_t count)
 {
     if (!xen_gnttab_ops) {
         return -ENOSYS;
     }
-    return xen_gnttab_ops->unmap(xgt, start_address, count);
+    return xen_gnttab_ops->unmap(xgt, start_address, refs, count);
 }
 
 void setup_xen_backend_ops(void);
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505061.777694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxW-0004TC-I0; Thu, 02 Mar 2023 15:35:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505061.777694; Thu, 02 Mar 2023 15:35: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 1pXkxV-0004QJ-UB; Thu, 02 Mar 2023 15:35:05 +0000
Received: by outflank-mailman (input) for mailman id 505061;
 Thu, 02 Mar 2023 15:34:59 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxO-0001Jw-My
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34:58 +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 c4444851-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx5-00FL3u-0c; Thu, 02 Mar 2023 15:34:45 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx5-004uzz-0H; Thu, 02 Mar 2023 15:34: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
X-Inumbo-ID: c4444851-b90f-11ed-a550-8520e6686977
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=T2ES46G+W4wfRtbGgYULh0xnoiw027E1Epehblpp/UU=; b=Q6PRP+Ok4Y/LWFg5GT2Lo6owKb
	6PzF3X/WY+wW19Qd6c5e2Ldj/TWoSmau5OeSFhd7wqiP14jiannTxtt4NsAXCNdD8DEQ2Q4vjt77f
	c1C7dV9Inqty2v6QOkHysCYsI8AoxZcPBSMIwPhZe13LBja6uDKcNlJpjq3lqQom9f29rGMQY5aBb
	aqwxKMzs4Z15CTvBJmfZWP9bJkeJecSW+v0Ou5CXvmaRMfdChC/4WPTs4/ZQDesOVK+L1NAezIqyO
	lCziKQDGt0ar2rUjdRS4MZstN/4FWKHH/BXG61f9T4ujzOCpzjHTD6q3SQMU89n8J8GEDM7cn6ePo
	I7hERoTw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 25/25] i386/xen: Initialize Xen backends from pc_basic_device_init() for emulation
Date: Thu,  2 Mar 2023 15:34:35 +0000
Message-Id: <20230302153435.1170111-26-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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>

Now that all the work is done to enable the PV backends to work without
actual Xen, instantiate the bus from pc_basic_device_init() for emulated
mode.

This allows us finally to launch an emulated Xen guest with PV disk.

   qemu-system-x86_64 -serial mon:stdio -M q35 -cpu host -display none \
     -m 1G -smp 2 -accel kvm,xen-version=0x4000a,kernel-irqchip=split \
     -kernel bzImage -append "console=ttyS0 root=/dev/xvda1" \
     -drive file=/var/lib/libvirt/images/fedora28.qcow2,if=none,id=disk \
     -device xen-disk,drive=disk,vdev=xvda

If we use -M pc instead of q35, we can even add an IDE disk and boot a
guest image normally through grub. But q35 gives us AHCI and that isn't
unplugged by the Xen magic, so the guests ends up seeing "both" disks.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/pc.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index fd17ce7a94..3fe028c86c 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -102,6 +102,11 @@
 #include "trace.h"
 #include CONFIG_DEVICES
 
+#ifdef CONFIG_XEN_EMU
+#include "hw/xen/xen-legacy-backend.h"
+#include "hw/xen/xen-bus.h"
+#endif
+
 /*
  * Helper for setting model-id for CPU models that changed model-id
  * depending on QEMU versions up to QEMU 2.4.
@@ -1318,6 +1323,8 @@ void pc_basic_device_init(struct PCMachineState *pcms,
         if (pcms->bus) {
             pci_create_simple(pcms->bus, -1, "xen-platform");
         }
+        xen_bus_init();
+        xen_be_init();
     }
 #endif
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505062.777703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxX-0004gF-Jz; Thu, 02 Mar 2023 15:35:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505062.777703; Thu, 02 Mar 2023 15:35:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxW-0004Zd-K4; Thu, 02 Mar 2023 15:35:06 +0000
Received: by outflank-mailman (input) for mailman id 505062;
 Thu, 02 Mar 2023 15: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxP-0001Jv-5x
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34:59 +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 c2ce6d02-b90f-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx4-00FL3h-1J; Thu, 02 Mar 2023 15:34:39 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uyv-0y; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2ce6d02-b90f-11ed-96ad-2f268f93b82a
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=9ZgYwkDmHdUTNn7NpOvT11cK4T0wTI/32/sDSKDPebo=; b=e+PfC71rTBVEii8yyVkbh/t56H
	+829LbM5c3AOktaXOdD1q5NguavsYOlIjTr6rqGbsoxAJIt97tD+7ZtVYEMlyNFprMB1Ae5DHOdK6
	1LdO7mgC1+qhnFjUVqDV/uwfebOXub1iavhFK+C6O/rSfypZM9WabK+tYkDkVgU3X7wBC/ZYIIXar
	AGvUUziKVsGWV9bfdC15Nk30WTJGzE/nGxZh601/E3eRz8xiRJ7XLeuw/3qAehEmR8ltOtcvSZleo
	vmPHP3Gn6cKDi0vaziNrMFBJD2fTKYjMBAFJ6nR0h42esHxxpk9YsAb3Z674NfeljO+ZmWaVMGNli
	RGdrseoQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 10/25] hw/xen: Add gnttab operations to allow redirection to internal emulation
Date: Thu,  2 Mar 2023 15:34:20 +0000
Message-Id: <20230302153435.1170111-11-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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>

Move the existing code using libxengnttab to xen-operations.c and allow
the operations to be redirected so that we can add emulation of grant
table mapping for backend drivers.

In emulation, mapping more than one grant ref to be virtually contiguous
would be fairly difficult. The best way to do it might be to make the
ram_block mappings actually backed by a file (shmem or a deleted file,
perhaps) so that we can have multiple *shared* mappings of it. But that
would be fairly intrusive.

Making the backend drivers cope with page *lists* instead of expecting
the mapping to be contiguous is also non-trivial, since some structures
would actually *cross* page boundaries (e.g. the 32-bit blkif responses
which are 12 bytes).

So for now, we'll support only single-page mappings in emulation. Add a
XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE flag to indicate that the native Xen
implementation *does* support multi-page maps, and a helper function to
query it.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Paul Durrant <pdurrant@amazon.com>
---
 hw/xen/xen-bus.c                    | 112 ++------------------
 hw/xen/xen-legacy-backend.c         | 125 ++--------------------
 hw/xen/xen-operations.c             | 157 ++++++++++++++++++++++++++++
 hw/xen/xen_pvdev.c                  |   2 +-
 include/hw/xen/xen-bus.h            |   3 +-
 include/hw/xen/xen-legacy-backend.h |  13 +--
 include/hw/xen/xen_backend_ops.h    | 100 ++++++++++++++++++
 include/hw/xen/xen_common.h         |  39 -------
 softmmu/globals.c                   |   1 +
 9 files changed, 280 insertions(+), 272 deletions(-)

diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index d0b1ae93da..b247e86f28 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -947,7 +947,7 @@ static void xen_device_frontend_destroy(XenDevice *xendev)
 void xen_device_set_max_grant_refs(XenDevice *xendev, unsigned int nr_refs,
                                    Error **errp)
 {
-    if (xengnttab_set_max_grants(xendev->xgth, nr_refs)) {
+    if (qemu_xen_gnttab_set_max_grants(xendev->xgth, nr_refs)) {
         error_setg_errno(errp, errno, "xengnttab_set_max_grants failed");
     }
 }
@@ -956,9 +956,8 @@ void *xen_device_map_grant_refs(XenDevice *xendev, uint32_t *refs,
                                 unsigned int nr_refs, int prot,
                                 Error **errp)
 {
-    void *map = xengnttab_map_domain_grant_refs(xendev->xgth, nr_refs,
-                                                xendev->frontend_id, refs,
-                                                prot);
+    void *map = qemu_xen_gnttab_map_refs(xendev->xgth, nr_refs,
+                                         xendev->frontend_id, refs, prot);
 
     if (!map) {
         error_setg_errno(errp, errno,
@@ -971,109 +970,17 @@ void *xen_device_map_grant_refs(XenDevice *xendev, uint32_t *refs,
 void xen_device_unmap_grant_refs(XenDevice *xendev, void *map,
                                  unsigned int nr_refs, Error **errp)
 {
-    if (xengnttab_unmap(xendev->xgth, map, nr_refs)) {
+    if (qemu_xen_gnttab_unmap(xendev->xgth, map, nr_refs)) {
         error_setg_errno(errp, errno, "xengnttab_unmap failed");
     }
 }
 
-static void compat_copy_grant_refs(XenDevice *xendev, bool to_domain,
-                                   XenDeviceGrantCopySegment segs[],
-                                   unsigned int nr_segs, Error **errp)
-{
-    uint32_t *refs = g_new(uint32_t, nr_segs);
-    int prot = to_domain ? PROT_WRITE : PROT_READ;
-    void *map;
-    unsigned int i;
-
-    for (i = 0; i < nr_segs; i++) {
-        XenDeviceGrantCopySegment *seg = &segs[i];
-
-        refs[i] = to_domain ? seg->dest.foreign.ref :
-            seg->source.foreign.ref;
-    }
-
-    map = xengnttab_map_domain_grant_refs(xendev->xgth, nr_segs,
-                                          xendev->frontend_id, refs,
-                                          prot);
-    if (!map) {
-        error_setg_errno(errp, errno,
-                         "xengnttab_map_domain_grant_refs failed");
-        goto done;
-    }
-
-    for (i = 0; i < nr_segs; i++) {
-        XenDeviceGrantCopySegment *seg = &segs[i];
-        void *page = map + (i * XC_PAGE_SIZE);
-
-        if (to_domain) {
-            memcpy(page + seg->dest.foreign.offset, seg->source.virt,
-                   seg->len);
-        } else {
-            memcpy(seg->dest.virt, page + seg->source.foreign.offset,
-                   seg->len);
-        }
-    }
-
-    if (xengnttab_unmap(xendev->xgth, map, nr_segs)) {
-        error_setg_errno(errp, errno, "xengnttab_unmap failed");
-    }
-
-done:
-    g_free(refs);
-}
-
 void xen_device_copy_grant_refs(XenDevice *xendev, bool to_domain,
                                 XenDeviceGrantCopySegment segs[],
                                 unsigned int nr_segs, Error **errp)
 {
-    xengnttab_grant_copy_segment_t *xengnttab_segs;
-    unsigned int i;
-
-    if (!xendev->feature_grant_copy) {
-        compat_copy_grant_refs(xendev, to_domain, segs, nr_segs, errp);
-        return;
-    }
-
-    xengnttab_segs = g_new0(xengnttab_grant_copy_segment_t, nr_segs);
-
-    for (i = 0; i < nr_segs; i++) {
-        XenDeviceGrantCopySegment *seg = &segs[i];
-        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
-
-        if (to_domain) {
-            xengnttab_seg->flags = GNTCOPY_dest_gref;
-            xengnttab_seg->dest.foreign.domid = xendev->frontend_id;
-            xengnttab_seg->dest.foreign.ref = seg->dest.foreign.ref;
-            xengnttab_seg->dest.foreign.offset = seg->dest.foreign.offset;
-            xengnttab_seg->source.virt = seg->source.virt;
-        } else {
-            xengnttab_seg->flags = GNTCOPY_source_gref;
-            xengnttab_seg->source.foreign.domid = xendev->frontend_id;
-            xengnttab_seg->source.foreign.ref = seg->source.foreign.ref;
-            xengnttab_seg->source.foreign.offset =
-                seg->source.foreign.offset;
-            xengnttab_seg->dest.virt = seg->dest.virt;
-        }
-
-        xengnttab_seg->len = seg->len;
-    }
-
-    if (xengnttab_grant_copy(xendev->xgth, nr_segs, xengnttab_segs)) {
-        error_setg_errno(errp, errno, "xengnttab_grant_copy failed");
-        goto done;
-    }
-
-    for (i = 0; i < nr_segs; i++) {
-        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
-
-        if (xengnttab_seg->status != GNTST_okay) {
-            error_setg(errp, "xengnttab_grant_copy seg[%u] failed", i);
-            break;
-        }
-    }
-
-done:
-    g_free(xengnttab_segs);
+    qemu_xen_gnttab_grant_copy(xendev->xgth, to_domain, xendev->frontend_id,
+                               (XenGrantCopySegment *)segs, nr_segs, errp);
 }
 
 struct XenEventChannel {
@@ -1235,7 +1142,7 @@ static void xen_device_unrealize(DeviceState *dev)
     xen_device_backend_destroy(xendev);
 
     if (xendev->xgth) {
-        xengnttab_close(xendev->xgth);
+        qemu_xen_gnttab_close(xendev->xgth);
         xendev->xgth = NULL;
     }
 
@@ -1298,15 +1205,12 @@ static void xen_device_realize(DeviceState *dev, Error **errp)
 
     xendev->watch_list = watch_list_create(xendev->xsh);
 
-    xendev->xgth = xengnttab_open(NULL, 0);
+    xendev->xgth = qemu_xen_gnttab_open();
     if (!xendev->xgth) {
         error_setg_errno(errp, errno, "failed xengnttab_open");
         goto unrealize;
     }
 
-    xendev->feature_grant_copy =
-        (xengnttab_grant_copy(xendev->xgth, 0, NULL) == 0);
-
     xen_device_backend_create(xendev, errp);
     if (*errp) {
         goto unrealize;
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index 9ce3dc204b..1e9a28f263 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -43,7 +43,6 @@ struct xs_handle *xenstore;
 const char *xen_protocol;
 
 /* private */
-static bool xen_feature_grant_copy;
 static int debug;
 
 int xenstore_write_be_str(struct XenLegacyDevice *xendev, const char *node,
@@ -113,7 +112,7 @@ void xen_be_set_max_grant_refs(struct XenLegacyDevice *xendev,
 {
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    if (xengnttab_set_max_grants(xendev->gnttabdev, nr_refs)) {
+    if (qemu_xen_gnttab_set_max_grants(xendev->gnttabdev, nr_refs)) {
         xen_pv_printf(xendev, 0, "xengnttab_set_max_grants failed: %s\n",
                       strerror(errno));
     }
@@ -126,8 +125,8 @@ void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
 
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    ptr = xengnttab_map_domain_grant_refs(xendev->gnttabdev, nr_refs,
-                                          xen_domid, refs, prot);
+    ptr = qemu_xen_gnttab_map_refs(xendev->gnttabdev, nr_refs, xen_domid, refs,
+                                   prot);
     if (!ptr) {
         xen_pv_printf(xendev, 0,
                       "xengnttab_map_domain_grant_refs failed: %s\n",
@@ -142,119 +141,27 @@ void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
 {
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    if (xengnttab_unmap(xendev->gnttabdev, ptr, nr_refs)) {
+    if (qemu_xen_gnttab_unmap(xendev->gnttabdev, ptr, nr_refs)) {
         xen_pv_printf(xendev, 0, "xengnttab_unmap failed: %s\n",
                       strerror(errno));
     }
 }
 
-static int compat_copy_grant_refs(struct XenLegacyDevice *xendev,
-                                  bool to_domain,
-                                  XenGrantCopySegment segs[],
-                                  unsigned int nr_segs)
-{
-    uint32_t *refs = g_new(uint32_t, nr_segs);
-    int prot = to_domain ? PROT_WRITE : PROT_READ;
-    void *pages;
-    unsigned int i;
-
-    for (i = 0; i < nr_segs; i++) {
-        XenGrantCopySegment *seg = &segs[i];
-
-        refs[i] = to_domain ?
-            seg->dest.foreign.ref : seg->source.foreign.ref;
-    }
-
-    pages = xengnttab_map_domain_grant_refs(xendev->gnttabdev, nr_segs,
-                                            xen_domid, refs, prot);
-    if (!pages) {
-        xen_pv_printf(xendev, 0,
-                      "xengnttab_map_domain_grant_refs failed: %s\n",
-                      strerror(errno));
-        g_free(refs);
-        return -1;
-    }
-
-    for (i = 0; i < nr_segs; i++) {
-        XenGrantCopySegment *seg = &segs[i];
-        void *page = pages + (i * XC_PAGE_SIZE);
-
-        if (to_domain) {
-            memcpy(page + seg->dest.foreign.offset, seg->source.virt,
-                   seg->len);
-        } else {
-            memcpy(seg->dest.virt, page + seg->source.foreign.offset,
-                   seg->len);
-        }
-    }
-
-    if (xengnttab_unmap(xendev->gnttabdev, pages, nr_segs)) {
-        xen_pv_printf(xendev, 0, "xengnttab_unmap failed: %s\n",
-                      strerror(errno));
-    }
-
-    g_free(refs);
-    return 0;
-}
-
 int xen_be_copy_grant_refs(struct XenLegacyDevice *xendev,
                            bool to_domain,
                            XenGrantCopySegment segs[],
                            unsigned int nr_segs)
 {
-    xengnttab_grant_copy_segment_t *xengnttab_segs;
-    unsigned int i;
     int rc;
 
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    if (!xen_feature_grant_copy) {
-        return compat_copy_grant_refs(xendev, to_domain, segs, nr_segs);
-    }
-
-    xengnttab_segs = g_new0(xengnttab_grant_copy_segment_t, nr_segs);
-
-    for (i = 0; i < nr_segs; i++) {
-        XenGrantCopySegment *seg = &segs[i];
-        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
-
-        if (to_domain) {
-            xengnttab_seg->flags = GNTCOPY_dest_gref;
-            xengnttab_seg->dest.foreign.domid = xen_domid;
-            xengnttab_seg->dest.foreign.ref = seg->dest.foreign.ref;
-            xengnttab_seg->dest.foreign.offset = seg->dest.foreign.offset;
-            xengnttab_seg->source.virt = seg->source.virt;
-        } else {
-            xengnttab_seg->flags = GNTCOPY_source_gref;
-            xengnttab_seg->source.foreign.domid = xen_domid;
-            xengnttab_seg->source.foreign.ref = seg->source.foreign.ref;
-            xengnttab_seg->source.foreign.offset =
-                seg->source.foreign.offset;
-            xengnttab_seg->dest.virt = seg->dest.virt;
-        }
-
-        xengnttab_seg->len = seg->len;
-    }
-
-    rc = xengnttab_grant_copy(xendev->gnttabdev, nr_segs, xengnttab_segs);
-
+    rc = qemu_xen_gnttab_grant_copy(xendev->gnttabdev, to_domain, xen_domid,
+                                    segs, nr_segs, NULL);
     if (rc) {
-        xen_pv_printf(xendev, 0, "xengnttab_copy failed: %s\n",
-                      strerror(errno));
-    }
-
-    for (i = 0; i < nr_segs; i++) {
-        xengnttab_grant_copy_segment_t *xengnttab_seg =
-            &xengnttab_segs[i];
-
-        if (xengnttab_seg->status != GNTST_okay) {
-            xen_pv_printf(xendev, 0, "segment[%u] status: %d\n", i,
-                          xengnttab_seg->status);
-            rc = -1;
-        }
+        xen_pv_printf(xendev, 0, "xengnttab_grant_copy failed: %s\n",
+                      strerror(-rc));
     }
-
-    g_free(xengnttab_segs);
     return rc;
 }
 
@@ -466,7 +373,7 @@ static int xen_be_try_initialise(struct XenLegacyDevice *xendev)
     }
 
     if (xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV) {
-        xendev->gnttabdev = xengnttab_open(NULL, 0);
+        xendev->gnttabdev = qemu_xen_gnttab_open();
         if (xendev->gnttabdev == NULL) {
             xen_pv_printf(NULL, 0, "can't open gnttab device\n");
             return -1;
@@ -524,7 +431,7 @@ static void xen_be_disconnect(struct XenLegacyDevice *xendev,
         xendev->ops->disconnect(xendev);
     }
     if (xendev->gnttabdev) {
-        xengnttab_close(xendev->gnttabdev);
+        qemu_xen_gnttab_close(xendev->gnttabdev);
         xendev->gnttabdev = NULL;
     }
     if (xendev->be_state != state) {
@@ -687,8 +594,6 @@ static void xen_set_dynamic_sysbus(void)
 
 void xen_be_init(void)
 {
-    xengnttab_handle *gnttabdev;
-
     xenstore = xs_daemon_open();
     if (!xenstore) {
         xen_pv_printf(NULL, 0, "can't connect to xenstored\n");
@@ -697,19 +602,11 @@ void xen_be_init(void)
 
     qemu_set_fd_handler(xs_fileno(xenstore), xenstore_update, NULL, NULL);
 
-    if (xen_xc == NULL || xen_fmem == NULL) {
+    if (xen_evtchn_ops == NULL || xen_gnttab_ops == NULL) {
         xen_pv_printf(NULL, 0, "Xen operations not set up\n");
         exit(1);
     }
 
-    gnttabdev = xengnttab_open(NULL, 0);
-    if (gnttabdev != NULL) {
-        if (xengnttab_grant_copy(gnttabdev, 0, NULL) == 0) {
-            xen_feature_grant_copy = true;
-        }
-        xengnttab_close(gnttabdev);
-    }
-
     xen_sysdev = qdev_new(TYPE_XENSYSDEV);
     sysbus_realize_and_unref(SYS_BUS_DEVICE(xen_sysdev), &error_fatal);
     xen_sysbus = qbus_new(TYPE_XENSYSBUS, xen_sysdev, "xen-sysbus");
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index 1a959d89e8..eb5fb0a59f 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -21,6 +21,7 @@
  * must be undefined before including xenctrl.h
  */
 #undef XC_WANT_COMPAT_EVTCHN_API
+#undef XC_WANT_COMPAT_GNTTAB_API
 
 #include <xenctrl.h>
 
@@ -43,12 +44,141 @@ typedef evtchn_port_or_error_t xenevtchn_port_or_error_t;
 #define xenevtchn_unmask(h, p) xc_evtchn_unmask(h, p)
 #define xenevtchn_unbind(h, p) xc_evtchn_unbind(h, p)
 
+typedef xc_gnttab xengnttab_handle;
+
+#define xengnttab_open(l, f) xc_gnttab_open(l, f)
+#define xengnttab_close(h) xc_gnttab_close(h)
+#define xengnttab_set_max_grants(h, n) xc_gnttab_set_max_grants(h, n)
+#define xengnttab_map_grant_ref(h, d, r, p) xc_gnttab_map_grant_ref(h, d, r, p)
+#define xengnttab_unmap(h, a, n) xc_gnttab_munmap(h, a, n)
+#define xengnttab_map_grant_refs(h, c, d, r, p) \
+    xc_gnttab_map_grant_refs(h, c, d, r, p)
+#define xengnttab_map_domain_grant_refs(h, c, d, r, p) \
+    xc_gnttab_map_domain_grant_refs(h, c, d, r, p)
+
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
 #include <xenevtchn.h>
+#include <xengnttab.h>
 
 #endif
 
+/* Xen before 4.8 */
+
+static int libxengnttab_fallback_grant_copy(xengnttab_handle *xgt,
+                                            bool to_domain, uint32_t domid,
+                                            XenGrantCopySegment segs[],
+                                            unsigned int nr_segs, Error **errp)
+{
+    uint32_t *refs = g_new(uint32_t, nr_segs);
+    int prot = to_domain ? PROT_WRITE : PROT_READ;
+    void *map;
+    unsigned int i;
+    int rc = 0;
+
+    for (i = 0; i < nr_segs; i++) {
+        XenGrantCopySegment *seg = &segs[i];
+
+        refs[i] = to_domain ? seg->dest.foreign.ref :
+            seg->source.foreign.ref;
+    }
+    map = xengnttab_map_domain_grant_refs(xgt, nr_segs, domid, refs, prot);
+    if (!map) {
+        if (errp) {
+            error_setg_errno(errp, errno,
+                             "xengnttab_map_domain_grant_refs failed");
+        }
+        rc = -errno;
+        goto done;
+    }
+
+    for (i = 0; i < nr_segs; i++) {
+        XenGrantCopySegment *seg = &segs[i];
+        void *page = map + (i * XEN_PAGE_SIZE);
+
+        if (to_domain) {
+            memcpy(page + seg->dest.foreign.offset, seg->source.virt,
+                   seg->len);
+        } else {
+            memcpy(seg->dest.virt, page + seg->source.foreign.offset,
+                   seg->len);
+        }
+    }
+
+    if (xengnttab_unmap(xgt, map, nr_segs)) {
+        if (errp) {
+            error_setg_errno(errp, errno, "xengnttab_unmap failed");
+        }
+        rc = -errno;
+    }
+
+done:
+    g_free(refs);
+    return rc;
+}
+
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
+
+static int libxengnttab_backend_grant_copy(xengnttab_handle *xgt,
+                                           bool to_domain, uint32_t domid,
+                                           XenGrantCopySegment *segs,
+                                           uint32_t nr_segs, Error **errp)
+{
+    xengnttab_grant_copy_segment_t *xengnttab_segs;
+    unsigned int i;
+    int rc;
+
+    xengnttab_segs = g_new0(xengnttab_grant_copy_segment_t, nr_segs);
+
+    for (i = 0; i < nr_segs; i++) {
+        XenGrantCopySegment *seg = &segs[i];
+        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
+
+        if (to_domain) {
+            xengnttab_seg->flags = GNTCOPY_dest_gref;
+            xengnttab_seg->dest.foreign.domid = domid;
+            xengnttab_seg->dest.foreign.ref = seg->dest.foreign.ref;
+            xengnttab_seg->dest.foreign.offset = seg->dest.foreign.offset;
+            xengnttab_seg->source.virt = seg->source.virt;
+        } else {
+            xengnttab_seg->flags = GNTCOPY_source_gref;
+            xengnttab_seg->source.foreign.domid = domid;
+            xengnttab_seg->source.foreign.ref = seg->source.foreign.ref;
+            xengnttab_seg->source.foreign.offset =
+                seg->source.foreign.offset;
+            xengnttab_seg->dest.virt = seg->dest.virt;
+        }
+
+        xengnttab_seg->len = seg->len;
+    }
+
+    if (xengnttab_grant_copy(xgt, nr_segs, xengnttab_segs)) {
+        if (errp) {
+            error_setg_errno(errp, errno, "xengnttab_grant_copy failed");
+        }
+        rc = -errno;
+        goto done;
+    }
+
+    rc = 0;
+    for (i = 0; i < nr_segs; i++) {
+        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
+
+        if (xengnttab_seg->status != GNTST_okay) {
+            if (errp) {
+                error_setg(errp, "xengnttab_grant_copy seg[%u] failed", i);
+            }
+            rc = -EIO;
+            break;
+        }
+    }
+
+done:
+    g_free(xengnttab_segs);
+    return rc;
+}
+#endif
+
 static xenevtchn_handle *libxenevtchn_backend_open(void)
 {
     return xenevtchn_open(NULL, 0);
@@ -65,7 +195,34 @@ struct evtchn_backend_ops libxenevtchn_backend_ops = {
     .pending = xenevtchn_pending,
 };
 
+static xengnttab_handle *libxengnttab_backend_open(void)
+{
+    return xengnttab_open(NULL, 0);
+}
+
+
+static struct gnttab_backend_ops libxengnttab_backend_ops = {
+    .features = XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE,
+    .open = libxengnttab_backend_open,
+    .close = xengnttab_close,
+    .grant_copy = libxengnttab_fallback_grant_copy,
+    .set_max_grants = xengnttab_set_max_grants,
+    .map_refs = xengnttab_map_domain_grant_refs,
+    .unmap = xengnttab_unmap,
+};
+
 void setup_xen_backend_ops(void)
 {
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
+    xengnttab_handle *xgt = xengnttab_open(NULL, 0);
+
+    if (xgt) {
+        if (xengnttab_grant_copy(xgt, 0, NULL) == 0) {
+            xen_gnttab_ops->grant_copy = libxengnttab_backend_grant_copy;
+        }
+        xengnttab_close(xgt);
+    }
+#endif
     xen_evtchn_ops = &libxenevtchn_backend_ops;
+    xen_gnttab_ops = &libxengnttab_backend_ops;
 }
diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
index 86a2c8e567..d8582cc74c 100644
--- a/hw/xen/xen_pvdev.c
+++ b/hw/xen/xen_pvdev.c
@@ -309,7 +309,7 @@ void xen_pv_del_xendev(struct XenLegacyDevice *xendev)
         qemu_xen_evtchn_close(xendev->evtchndev);
     }
     if (xendev->gnttabdev != NULL) {
-        xengnttab_close(xendev->gnttabdev);
+        qemu_xen_gnttab_close(xendev->gnttabdev);
     }
 
     QTAILQ_REMOVE(&xendevs, xendev, next);
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index e21b83796e..72d71d1eb7 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -9,7 +9,7 @@
 #define HW_XEN_BUS_H
 
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/xen_common.h"
+#include "hw/xen/interface/io/xenbus.h"
 #include "hw/sysbus.h"
 #include "qemu/notify.h"
 #include "qom/object.h"
@@ -33,7 +33,6 @@ struct XenDevice {
     bool backend_online;
     XenWatch *backend_online_watch;
     xengnttab_handle *xgth;
-    bool feature_grant_copy;
     bool inactive;
     QLIST_HEAD(, XenEventChannel) event_channels;
     QLIST_ENTRY(XenDevice) list;
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index 06985b1f03..eaf79cd221 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -1,8 +1,8 @@
 #ifndef HW_XEN_LEGACY_BACKEND_H
 #define HW_XEN_LEGACY_BACKEND_H
 
-#include "hw/xen/xen_common.h"
 #include "hw/xen/xen_backend_ops.h"
+#include "hw/xen/interface/io/xenbus.h"
 #include "hw/xen/xen_pvdev.h"
 #include "net/net.h"
 #include "qom/object.h"
@@ -54,17 +54,6 @@ void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
 void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
                              unsigned int nr_refs);
 
-typedef struct XenGrantCopySegment {
-    union {
-        void *virt;
-        struct {
-            uint32_t ref;
-            off_t offset;
-        } foreign;
-    } source, dest;
-    size_t len;
-} XenGrantCopySegment;
-
 int xen_be_copy_grant_refs(struct XenLegacyDevice *xendev,
                            bool to_domain, XenGrantCopySegment segs[],
                            unsigned int nr_segs);
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
index 9605456e81..bb3333ab00 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -29,6 +29,12 @@
 typedef struct xenevtchn_handle xenevtchn_handle;
 typedef int xenevtchn_port_or_error_t;
 typedef uint32_t evtchn_port_t;
+typedef uint16_t domid_t;
+typedef uint32_t grant_ref_t;
+
+#define XEN_PAGE_SHIFT       12
+#define XEN_PAGE_SIZE        (1UL << XEN_PAGE_SHIFT)
+#define XEN_PAGE_MASK        (~(XEN_PAGE_SIZE - 1))
 
 struct evtchn_backend_ops {
     xenevtchn_handle *(*open)(void);
@@ -113,6 +119,100 @@ static inline int qemu_xen_evtchn_pending(xenevtchn_handle *xc)
     return xen_evtchn_ops->pending(xc);
 }
 
+typedef struct xengntdev_handle xengnttab_handle;
+
+typedef struct XenGrantCopySegment {
+    union {
+        void *virt;
+        struct {
+            uint32_t ref;
+            off_t offset;
+        } foreign;
+    } source, dest;
+    size_t len;
+} XenGrantCopySegment;
+
+#define XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE  (1U << 0)
+
+struct gnttab_backend_ops {
+    uint32_t features;
+    xengnttab_handle *(*open)(void);
+    int (*close)(xengnttab_handle *xgt);
+    int (*grant_copy)(xengnttab_handle *xgt, bool to_domain, uint32_t domid,
+                      XenGrantCopySegment *segs, uint32_t nr_segs,
+                      Error **errp);
+    int (*set_max_grants)(xengnttab_handle *xgt, uint32_t nr_grants);
+    void *(*map_refs)(xengnttab_handle *xgt, uint32_t count, uint32_t domid,
+                      uint32_t *refs, int prot);
+    int (*unmap)(xengnttab_handle *xgt, void *start_address, uint32_t count);
+};
+
+extern struct gnttab_backend_ops *xen_gnttab_ops;
+
+static inline bool qemu_xen_gnttab_can_map_multi(void)
+{
+    return xen_gnttab_ops &&
+        !!(xen_gnttab_ops->features & XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE);
+}
+
+static inline xengnttab_handle *qemu_xen_gnttab_open(void)
+{
+    if (!xen_gnttab_ops) {
+        return NULL;
+    }
+    return xen_gnttab_ops->open();
+}
+
+static inline int qemu_xen_gnttab_close(xengnttab_handle *xgt)
+{
+    if (!xen_gnttab_ops) {
+        return -ENOSYS;
+    }
+    return xen_gnttab_ops->close(xgt);
+}
+
+static inline int qemu_xen_gnttab_grant_copy(xengnttab_handle *xgt,
+                                             bool to_domain, uint32_t domid,
+                                             XenGrantCopySegment *segs,
+                                             uint32_t nr_segs, Error **errp)
+{
+    if (!xen_gnttab_ops) {
+        return -ENOSYS;
+    }
+
+    return xen_gnttab_ops->grant_copy(xgt, to_domain, domid, segs, nr_segs,
+                                      errp);
+}
+
+static inline int qemu_xen_gnttab_set_max_grants(xengnttab_handle *xgt,
+                                                 uint32_t nr_grants)
+{
+    if (!xen_gnttab_ops) {
+        return -ENOSYS;
+    }
+    return xen_gnttab_ops->set_max_grants(xgt, nr_grants);
+}
+
+static inline void *qemu_xen_gnttab_map_refs(xengnttab_handle *xgt,
+                                             uint32_t count, uint32_t domid,
+                                             uint32_t *refs, int prot)
+{
+    if (!xen_gnttab_ops) {
+        return NULL;
+    }
+    return xen_gnttab_ops->map_refs(xgt, count, domid, refs, prot);
+}
+
+static inline int qemu_xen_gnttab_unmap(xengnttab_handle *xgt,
+                                        void *start_address,
+                                        uint32_t count)
+{
+    if (!xen_gnttab_ops) {
+        return -ENOSYS;
+    }
+    return xen_gnttab_ops->unmap(xgt, start_address, count);
+}
+
 void setup_xen_backend_ops(void);
 
 #endif /* QEMU_XEN_BACKEND_OPS_H */
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 34abd0a772..d4d10d3ff1 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -28,17 +28,6 @@ extern xc_interface *xen_xc;
 #if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40701
 
 typedef xc_interface xenforeignmemory_handle;
-typedef xc_gnttab xengnttab_handle;
-
-#define xengnttab_open(l, f) xc_gnttab_open(l, f)
-#define xengnttab_close(h) xc_gnttab_close(h)
-#define xengnttab_set_max_grants(h, n) xc_gnttab_set_max_grants(h, n)
-#define xengnttab_map_grant_ref(h, d, r, p) xc_gnttab_map_grant_ref(h, d, r, p)
-#define xengnttab_unmap(h, a, n) xc_gnttab_munmap(h, a, n)
-#define xengnttab_map_grant_refs(h, c, d, r, p) \
-    xc_gnttab_map_grant_refs(h, c, d, r, p)
-#define xengnttab_map_domain_grant_refs(h, c, d, r, p) \
-    xc_gnttab_map_domain_grant_refs(h, c, d, r, p)
 
 #define xenforeignmemory_open(l, f) xen_xc
 #define xenforeignmemory_close(h)
@@ -58,7 +47,6 @@ static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
 
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
-#include <xengnttab.h>
 #include <xenforeignmemory.h>
 
 #endif
@@ -648,31 +636,4 @@ static inline int xen_set_ioreq_server_state(domid_t dom,
 
 #endif
 
-/* Xen before 4.8 */
-
-#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40800
-
-struct xengnttab_grant_copy_segment {
-    union xengnttab_copy_ptr {
-        void *virt;
-        struct {
-            uint32_t ref;
-            uint16_t offset;
-            uint16_t domid;
-        } foreign;
-    } source, dest;
-    uint16_t len;
-    uint16_t flags;
-    int16_t status;
-};
-
-typedef struct xengnttab_grant_copy_segment xengnttab_grant_copy_segment_t;
-
-static inline int xengnttab_grant_copy(xengnttab_handle *xgt, uint32_t count,
-                                       xengnttab_grant_copy_segment_t *segs)
-{
-    return -ENOSYS;
-}
-#endif
-
 #endif /* QEMU_HW_XEN_COMMON_H */
diff --git a/softmmu/globals.c b/softmmu/globals.c
index eb62739be1..23bb27f0f6 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -66,3 +66,4 @@ uint32_t xen_domid;
 enum xen_mode xen_mode = XEN_DISABLED;
 bool xen_domid_restrict;
 struct evtchn_backend_ops *xen_evtchn_ops;
+struct gnttab_backend_ops *xen_gnttab_ops;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505063.777711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxY-0004q4-Q0; Thu, 02 Mar 2023 15:35:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505063.777711; Thu, 02 Mar 2023 15:35:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxX-0004ko-MT; Thu, 02 Mar 2023 15:35:07 +0000
Received: by outflank-mailman (input) for mailman id 505063;
 Thu, 02 Mar 2023 15: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxP-0001Jw-NA
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:34:59 +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 c2b91fcc-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx3-00FL3Z-2p; Thu, 02 Mar 2023 15:34:38 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx3-004uyH-2L; Thu, 02 Mar 2023 15: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
X-Inumbo-ID: c2b91fcc-b90f-11ed-a550-8520e6686977
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=+LHndM7s06jE4AQvHMfpIjWQzwiehskMN9ekfZrGg84=; b=C7oLaOwfN9v8e3sRj1Kx5VN2Oi
	4snywDWGsEZfIdTsRdGE6YD3mpSxFM+IiEpFpm+E9ThIfAaIpqxmq1E4qNc3nbjs0CBpV1ZqB3/8U
	gWCtBolozsoPRge4juS+R1ho5gTzdBEpHHWoI+OJQGTXj4PpJmpv5P4ZLUbOaq5WTUuQ0nhPtY/+8
	khZiyoqW2B/O5vedi99TITipU4c7ZBI+tjrTuUAOrGvLB+tUyCL/UdR4V+JdyA3hc5Vj87eDJBHhP
	m/QdDCSqCiWjCrw2fFIRGyPVNvPNVmE29XnC8OgkYeAoCwdIZgdHmf02b5iUm3vVceQ/sBkN8WR5A
	qchwnQ7A==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 00/25] Enable PV backends with Xen/KVM emulation
Date: Thu,  2 Mar 2023 15:34:10 +0000
Message-Id: <20230302153435.1170111-1-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.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

Now that the basic platform support is hopefully on the cusp of being 
merged, here's phase 2 which wires up the XenBus and PV back ends.

It starts with a basic single-tenant internal implementation of a 
XenStore, with a copy-on-write tree, watches, transactions, quotas.

Then we introduce operations tables for the grant table, event channel,
foreignmen and xenstore operations so that in addition to using the Xen
libraries for those, QEMU can use its internal emulated versions.

A little bit of cleaning up of header files, and we can enable the build
of xen-bus in the CONFIG_XEN_EMU build, and run a Xen guest with an
actual PV disk...

   qemu-system-x86_64 -serial mon:stdio -M q35 -display none -m 1G -smp 2 \
      -accel kvm,xen-version=0x4000e,kernel-irqchip=split \
      -kernel bzImage -append "console=ttyS0 root=/dev/xvda1 selinux=0" \
      -drive file=/var/lib/libvirt/images/fedora28.qcow2,if=none,id=disk \
      -device xen-disk,drive=disk,vdev=xvda

The main thing that isn't working here is migration. I've implemented it 
for the internal xenstore and the unit tests exercise it, but the 
existing PV back ends don't support it, perhaps partly because support 
for guest transparent live migration support isn't upstream in Xen yet. 
So the disk doesn't come back correctly after migration. I'm content 
with that for 8.0 though.

The other pre-existing constraint is that only the block back end has
yet been ported to the "new" XenBus infrastructure, and is actually
capable of creating its own backend nodes. Again, I can live with
that for 8.0. Maybe this will motivate us to finally get round to
converting the rest off XenLegacyBackend and killing it.

We also don't have a simple way to perform grant mapping of multiple
guest pages to contiguous addresses, as we can under real Xen. So we
don't advertise max-ring-page-order for xen-disk in the emulated mode.
Fixing that — if we actually want to — would probably require mapping
RAM from an actual backing store object, so that it can be mapped again
at a different location for the PV back end to see.

David Woodhouse (21):
      hw/xen: Add xenstore wire implementation and implementation stubs
      hw/xen: Add basic XenStore tree walk and write/read/directory support
      hw/xen: Implement XenStore watches
      hw/xen: Implement XenStore transactions
      hw/xen: Watches on XenStore transactions
      hw/xen: Implement core serialize/deserialize methods for xenstore_impl
      hw/xen: Add evtchn operations to allow redirection to internal emulation
      hw/xen: Add gnttab operations to allow redirection to internal emulation
      hw/xen: Pass grant ref to gnttab unmap operation
      hw/xen: Add foreignmem operations to allow redirection to internal emulation
      hw/xen: Move xenstore_store_pv_console_info to xen_console.c
      hw/xen: Use XEN_PAGE_SIZE in PV backend drivers
      hw/xen: Rename xen_common.h to xen_native.h
      hw/xen: Build PV backend drivers for CONFIG_XEN_BUS
      hw/xen: Only advertise ring-page-order for xen-block if gnttab supports it
      hw/xen: Hook up emulated implementation for event channel operations
      hw/xen: Add emulated implementation of grant table operations
      hw/xen: Add emulated implementation of XenStore operations
      hw/xen: Map guest XENSTORE_PFN grant in emulated Xenstore
      hw/xen: Implement soft reset for emulated gnttab
      i386/xen: Initialize Xen backends from pc_basic_device_init() for emulation

Paul Durrant (4):
      hw/xen: Implement XenStore permissions
      hw/xen: Create initial XenStore nodes
      hw/xen: Add xenstore operations to allow redirection to internal emulation
      hw/xen: Avoid crash when backend watch fires too early

 accel/xen/xen-all.c                           |   69 +-
 hw/9pfs/meson.build                           |    2 +-
 hw/9pfs/xen-9p-backend.c                      |   32 +-
 hw/block/dataplane/meson.build                |    2 +-
 hw/block/dataplane/xen-block.c                |   12 +-
 hw/block/meson.build                          |    2 +-
 hw/block/xen-block.c                          |   12 +-
 hw/char/meson.build                           |    2 +-
 hw/char/xen_console.c                         |   57 +-
 hw/display/meson.build                        |    2 +-
 hw/display/xenfb.c                            |   32 +-
 hw/i386/kvm/meson.build                       |    1 +
 hw/i386/kvm/trace-events                      |   15 +
 hw/i386/kvm/xen_evtchn.c                      |   15 +
 hw/i386/kvm/xen_gnttab.c                      |  325 ++++-
 hw/i386/kvm/xen_gnttab.h                      |    1 +
 hw/i386/kvm/xen_xenstore.c                    | 1250 +++++++++++++++-
 hw/i386/kvm/xenstore_impl.c                   | 1927 +++++++++++++++++++++++++
 hw/i386/kvm/xenstore_impl.h                   |   63 +
 hw/i386/pc.c                                  |    7 +
 hw/i386/pc_piix.c                             |    4 +-
 hw/i386/xen/xen-hvm.c                         |   38 +-
 hw/i386/xen/xen-mapcache.c                    |    2 +-
 hw/i386/xen/xen_platform.c                    |    7 +-
 hw/net/xen_nic.c                              |   25 +-
 hw/usb/meson.build                            |    2 +-
 hw/usb/xen-usb.c                              |   29 +-
 hw/xen/meson.build                            |    6 +-
 hw/xen/trace-events                           |    2 +-
 hw/xen/xen-bus-helper.c                       |   62 +-
 hw/xen/xen-bus.c                              |  411 +-----
 hw/xen/xen-legacy-backend.c                   |  254 +---
 hw/xen/xen-operations.c                       |  478 ++++++
 hw/xen/xen_devconfig.c                        |    4 +-
 hw/xen/xen_pt.c                               |    2 +-
 hw/xen/xen_pt.h                               |    2 +-
 hw/xen/xen_pt_config_init.c                   |    2 +-
 hw/xen/xen_pt_graphics.c                      |    1 -
 hw/xen/xen_pt_msi.c                           |    4 +-
 hw/xen/xen_pvdev.c                            |   63 +-
 include/hw/xen/xen-bus-helper.h               |   26 +-
 include/hw/xen/xen-bus.h                      |   21 +-
 include/hw/xen/xen-legacy-backend.h           |   24 +-
 include/hw/xen/xen.h                          |   24 +-
 include/hw/xen/xen_backend_ops.h              |  408 ++++++
 include/hw/xen/{xen_common.h => xen_native.h} |   75 +-
 include/hw/xen/xen_pvdev.h                    |    6 +-
 softmmu/globals.c                             |    4 +
 target/i386/kvm/xen-emu.c                     |    5 +
 tests/unit/meson.build                        |    1 +
 tests/unit/test-xs-node.c                     |  871 +++++++++++
 51 files changed, 5771 insertions(+), 920 deletions(-)





From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505064.777724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxb-0005UY-8a; Thu, 02 Mar 2023 15:35:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505064.777724; Thu, 02 Mar 2023 15: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 1pXkxa-0005Ql-E7; Thu, 02 Mar 2023 15:35:10 +0000
Received: by outflank-mailman (input) for mailman id 505064;
 Thu, 02 Mar 2023 15: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxQ-0001Jw-NV
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:35:00 +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 c49d05a4-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx4-00FL3b-0G; Thu, 02 Mar 2023 15:34:38 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx3-004uyX-38; Thu, 02 Mar 2023 15: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
X-Inumbo-ID: c49d05a4-b90f-11ed-a550-8520e6686977
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=gNY1jRXkt4M+fhnisAFzyDAWz2lraNB7iybmZmnwhbA=; b=GRyqh7DapHLe3B/pRWqdW4OS43
	eIn+XARqVp00KvshV2cnL61jmlRonq5iwlxJrBirExF2US0rY7depwSF8Yd5UTakOZgffCvMm9bsS
	VFNt1q7bf14maCXqnYIS2gH1j2+1Wd1jGG8TeFrloEpDJPHlWLcw1SsO47qi5wL1w1sHhBl4rGOwl
	MUeNJiQ/D4Pe+yHFi7511Irjgf3BlpSbixgsH6pmk/r5R6hK9VAa3GCsSjV6WeKj9gaQr9/AqE8Qx
	QwnqAuq9chcegAbBj/OYPnfMrVN7FnK4KQPExfwlN4kmYm3E1OJCxahLdi4JP2GPqlwv+5KDzZsGh
	9ud3Rf7g==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 04/25] hw/xen: Implement XenStore transactions
Date: Thu,  2 Mar 2023 15:34:14 +0000
Message-Id: <20230302153435.1170111-5-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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>

Given that the whole thing supported copy on write from the beginning,
transactions end up being fairly simple. On starting a transaction, just
take a ref of the existing root; swap it back in on a successful commit.

The main tree has a transaction ID too, and we keep a record of the last
transaction ID given out. if the main tree is ever modified when it isn't
the latest, it gets a new transaction ID.

A commit can only succeed if the main tree hasn't moved on since it was
forked. Strictly speaking, the XenStore protocol allows a transaction to
succeed as long as nothing *it* read or wrote has changed in the interim,
but no implementations do that; *any* change is sufficient to abort a
transaction.

This does not yet fire watches on the changed nodes on a commit. That bit
is more fun and will come in a follow-on commit.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/kvm/xenstore_impl.c | 150 ++++++++++++++++++++++++++++++++++--
 tests/unit/test-xs-node.c   | 118 ++++++++++++++++++++++++++++
 2 files changed, 262 insertions(+), 6 deletions(-)

diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 2e464af93a..e5074ab1ec 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -46,13 +46,56 @@ typedef struct XsWatch {
     int rel_prefix;
 } XsWatch;
 
+typedef struct XsTransaction {
+    XsNode *root;
+    unsigned int nr_nodes;
+    unsigned int base_tx;
+    unsigned int tx_id;
+    unsigned int dom_id;
+} XsTransaction;
+
 struct XenstoreImplState {
     XsNode *root;
     unsigned int nr_nodes;
     GHashTable *watches;
     unsigned int nr_domu_watches;
+    GHashTable *transactions;
+    unsigned int nr_domu_transactions;
+    unsigned int root_tx;
+    unsigned int last_tx;
 };
 
+
+static void nobble_tx(gpointer key, gpointer value, gpointer user_data)
+{
+    unsigned int *new_tx_id = user_data;
+    XsTransaction *tx = value;
+
+    if (tx->base_tx == *new_tx_id) {
+        /* Transactions based on XBT_NULL will always fail */
+        tx->base_tx = XBT_NULL;
+    }
+}
+
+static inline unsigned int next_tx(struct XenstoreImplState *s)
+{
+    unsigned int tx_id;
+
+    /* Find the next TX id which isn't either XBT_NULL or in use. */
+    do {
+        tx_id = ++s->last_tx;
+    } while (tx_id == XBT_NULL || tx_id == s->root_tx ||
+             g_hash_table_lookup(s->transactions, GINT_TO_POINTER(tx_id)));
+
+    /*
+     * It is vanishingly unlikely, but ensure that no outstanding transaction
+     * is based on the (previous incarnation of the) newly-allocated TX id.
+     */
+    g_hash_table_foreach(s->transactions, nobble_tx, &tx_id);
+
+    return tx_id;
+}
+
 static inline XsNode *xs_node_new(void)
 {
     XsNode *n = g_new0(XsNode, 1);
@@ -159,6 +202,7 @@ struct walk_op {
 
     GList *watches;
     unsigned int dom_id;
+    unsigned int tx_id;
 
     /* The number of nodes which will exist in the tree if this op succeeds. */
     unsigned int new_nr_nodes;
@@ -176,6 +220,7 @@ struct walk_op {
     bool inplace;
     bool mutating;
     bool create_dirs;
+    bool in_transaction;
 };
 
 static void fire_watches(struct walk_op *op, bool parents)
@@ -183,7 +228,7 @@ static void fire_watches(struct walk_op *op, bool parents)
     GList *l = NULL;
     XsWatch *w;
 
-    if (!op->mutating) {
+    if (!op->mutating || op->in_transaction) {
         return;
     }
 
@@ -450,10 +495,23 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
         assert(!op->watches);
         /*
          * On completing the recursion back up the path walk and reaching the
-         * top, assign the new node count if the operation was successful.
+         * top, assign the new node count if the operation was successful. If
+         * the main tree was changed, bump its tx ID so that outstanding
+         * transactions correctly fail. But don't bump it every time; only
+         * if it makes a difference.
          */
         if (!err && op->mutating) {
-            op->s->nr_nodes = op->new_nr_nodes;
+            if (!op->in_transaction) {
+                if (op->s->root_tx != op->s->last_tx) {
+                    op->s->root_tx = next_tx(op->s);
+                }
+                op->s->nr_nodes = op->new_nr_nodes;
+            } else {
+                XsTransaction *tx = g_hash_table_lookup(op->s->transactions,
+                                                        GINT_TO_POINTER(op->tx_id));
+                assert(tx);
+                tx->nr_nodes = op->new_nr_nodes;
+            }
         }
     }
     return err;
@@ -535,14 +593,23 @@ static int init_walk_op(XenstoreImplState *s, struct walk_op *op,
     op->inplace = true;
     op->mutating = false;
     op->create_dirs = false;
+    op->in_transaction = false;
     op->dom_id = dom_id;
+    op->tx_id = tx_id;
     op->s = s;
 
     if (tx_id == XBT_NULL) {
         *rootp = &s->root;
         op->new_nr_nodes = s->nr_nodes;
     } else {
-        return ENOENT;
+        XsTransaction *tx = g_hash_table_lookup(s->transactions,
+                                                GINT_TO_POINTER(tx_id));
+        if (!tx) {
+            return ENOENT;
+        }
+        *rootp = &tx->root;
+        op->new_nr_nodes = tx->nr_nodes;
+        op->in_transaction = true;
     }
 
     return 0;
@@ -616,13 +683,71 @@ int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
 int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
                               xs_transaction_t *tx_id)
 {
-    return ENOSYS;
+    XsTransaction *tx;
+
+    if (*tx_id != XBT_NULL) {
+        return EINVAL;
+    }
+
+    if (dom_id && s->nr_domu_transactions >= XS_MAX_TRANSACTIONS) {
+        return ENOSPC;
+    }
+
+    tx = g_new0(XsTransaction, 1);
+
+    tx->nr_nodes = s->nr_nodes;
+    tx->tx_id = next_tx(s);
+    tx->base_tx = s->root_tx;
+    tx->root = xs_node_ref(s->root);
+    tx->dom_id = dom_id;
+
+    g_hash_table_insert(s->transactions, GINT_TO_POINTER(tx->tx_id), tx);
+    if (dom_id) {
+        s->nr_domu_transactions++;
+    }
+    *tx_id = tx->tx_id;
+    return 0;
+}
+
+static int transaction_commit(XenstoreImplState *s, XsTransaction *tx)
+{
+    if (s->root_tx != tx->base_tx) {
+        return EAGAIN;
+    }
+    xs_node_unref(s->root);
+    s->root = tx->root;
+    tx->root = NULL;
+    s->root_tx = tx->tx_id;
+    s->nr_nodes = tx->nr_nodes;
+
+    /*
+     * XX: Walk the new root and fire watches on any node which has a
+     * refcount of one (which is therefore unique to this transaction).
+     */
+    return 0;
 }
 
 int xs_impl_transaction_end(XenstoreImplState *s, unsigned int dom_id,
                             xs_transaction_t tx_id, bool commit)
 {
-    return ENOSYS;
+    int ret = 0;
+    XsTransaction *tx = g_hash_table_lookup(s->transactions,
+                                            GINT_TO_POINTER(tx_id));
+
+    if (!tx || tx->dom_id != dom_id) {
+        return ENOENT;
+    }
+
+    if (commit) {
+        ret = transaction_commit(s, tx);
+    }
+
+    g_hash_table_remove(s->transactions, GINT_TO_POINTER(tx_id));
+    if (dom_id) {
+        assert(s->nr_domu_transactions);
+        s->nr_domu_transactions--;
+    }
+    return ret;
 }
 
 int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
@@ -839,15 +964,28 @@ int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id)
     return 0;
 }
 
+static void xs_tx_free(void *_tx)
+{
+    XsTransaction *tx = _tx;
+    if (tx->root) {
+        xs_node_unref(tx->root);
+    }
+    g_free(tx);
+}
+
 XenstoreImplState *xs_impl_create(void)
 {
     XenstoreImplState *s = g_new0(XenstoreImplState, 1);
 
     s->watches = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
+    s->transactions = g_hash_table_new_full(g_direct_hash, g_direct_equal,
+                                            NULL, xs_tx_free);
     s->nr_nodes = 1;
     s->root = xs_node_new();
 #ifdef XS_NODE_UNIT_TEST
     s->root->name = g_strdup("/");
 #endif
+
+    s->root_tx = s->last_tx = 1;
     return s;
 }
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index 19000b64b2..3c3654550a 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -42,6 +42,7 @@ static void xs_impl_delete(XenstoreImplState *s)
     g_assert(s->nr_nodes == 1);
 
     g_hash_table_unref(s->watches);
+    g_hash_table_unref(s->transactions);
     xs_node_unref(s->root);
     g_free(s);
 
@@ -271,12 +272,129 @@ static void test_xs_node_simple(void)
 }
 
 
+static void do_test_xs_node_tx(bool fail, bool commit)
+{
+    XenstoreImplState *s = setup();
+    GString *watches = g_string_new(NULL);
+    GByteArray *data = g_byte_array_new();
+    unsigned int tx_id = XBT_NULL;
+    int err;
+
+    g_assert(s);
+
+    /* Set a watch */
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+    g_assert(watches->len == strlen("somewatch"));
+    g_assert(!strcmp(watches->str, "somewatch"));
+    g_string_truncate(watches, 0);
+
+    /* Write something */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
+                    "something");
+    g_assert(s->nr_nodes == 7);
+    g_assert(!err);
+    g_assert(!strcmp(watches->str,
+                     "some/relative/pathwatch"));
+    g_string_truncate(watches, 0);
+
+    /* Create a transaction */
+    err = xs_impl_transaction_start(s, DOMID_GUEST, &tx_id);
+    g_assert(!err);
+
+    if (fail) {
+        /* Write something else in the root */
+        err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
+                        "another thing");
+        g_assert(!err);
+        g_assert(s->nr_nodes == 7);
+        g_assert(!strcmp(watches->str,
+                         "some/relative/pathwatch"));
+        g_string_truncate(watches, 0);
+    }
+
+    g_assert(!watches->len);
+
+    /* Perform a write in the transaction */
+    err = write_str(s, DOMID_GUEST, tx_id, "some/relative/path",
+                    "something else");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 7);
+    g_assert(!watches->len);
+
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative/path", data);
+    g_assert(!err);
+    if (fail) {
+        g_assert(data->len == strlen("another thing"));
+        g_assert(!memcmp(data->data, "another thing", data->len));
+    } else {
+        g_assert(data->len == strlen("something"));
+        g_assert(!memcmp(data->data, "something", data->len));
+    }
+    g_byte_array_set_size(data, 0);
+
+    err = xs_impl_read(s, DOMID_GUEST, tx_id, "some/relative/path", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something else"));
+    g_assert(!memcmp(data->data, "something else", data->len));
+    g_byte_array_set_size(data, 0);
+
+    /* Attempt to commit the transaction */
+    err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, commit);
+    if (commit && fail) {
+        g_assert(err == EAGAIN);
+    } else {
+        g_assert(!err);
+    }
+    g_assert(!watches->len);
+    g_assert(s->nr_nodes == 7);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative/path", data);
+    g_assert(!err);
+    if (fail) {
+        g_assert(data->len == strlen("another thing"));
+        g_assert(!memcmp(data->data, "another thing", data->len));
+    } else if (commit) {
+        g_assert(data->len == strlen("something else"));
+        g_assert(!memcmp(data->data, "something else", data->len));
+    } else {
+        g_assert(data->len == strlen("something"));
+        g_assert(!memcmp(data->data, "something", data->len));
+    }
+    g_byte_array_unref(data);
+    g_string_free(watches, true);
+    xs_impl_delete(s);
+}
+
+static void test_xs_node_tx_fail(void)
+{
+    do_test_xs_node_tx(true, true);
+}
+
+static void test_xs_node_tx_abort(void)
+{
+    do_test_xs_node_tx(false, false);
+    do_test_xs_node_tx(true, false);
+}
+static void test_xs_node_tx_succeed(void)
+{
+    do_test_xs_node_tx(false, true);
+}
+
 int main(int argc, char **argv)
 {
     g_test_init(&argc, &argv, NULL);
     module_call_init(MODULE_INIT_QOM);
 
     g_test_add_func("/xs_node/simple", test_xs_node_simple);
+    g_test_add_func("/xs_node/tx_abort", test_xs_node_tx_abort);
+    g_test_add_func("/xs_node/tx_fail", test_xs_node_tx_fail);
+    g_test_add_func("/xs_node/tx_succeed", test_xs_node_tx_succeed);
 
     return g_test_run();
 }
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:35:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:35:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505065.777731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXkxd-0005rF-Az; Thu, 02 Mar 2023 15:35:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505065.777731; Thu, 02 Mar 2023 15:35: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 1pXkxc-0005iu-93; Thu, 02 Mar 2023 15:35:12 +0000
Received: by outflank-mailman (input) for mailman id 505065;
 Thu, 02 Mar 2023 15:35:03 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ucY8=62=casper.srs.infradead.org=BATV+a1ad97f05afd282148df+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxR-0001Jw-Ne
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:35: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 c22bb711-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pXkx4-002UNH-7f; Thu, 02 Mar 2023 15:34:38 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uyr-0n; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c22bb711-b90f-11ed-a550-8520e6686977
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=CXnndV9W56vuz0SiAw6xRBw1OTFLio1HX3v+4EPY8fI=; b=Dn4/ri5U0VbbtEfqAUnCLW2rRq
	WrZXITu1AtW99YGWUOzmDJYdQ1eifD3klsft2hL7tavIIfWSMBxZUdA0XODt9Q54AUnSSediWpCWW
	CtEZyzXh1ZQXPXRIv7ApF8BOIFWjPFu+FsQvNDc0Ug83/P2oMmghvMiC59b206H4bWwmExaN4GsnP
	502qkV4Xu8FPHg+U4MB15lB66wy5G7u0J+fDA03+OgXTIeRKn2DPfbQbWUxPh4OTcvbooxK9F29N0
	WQJOIKjAuj8kSWZKsyDpw08DROeJtO0D/fldxa0YNd6NjWvgezpLZ0pbli93vzJhLlpVMltKh5oZe
	6kHEY/Mg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 09/25] hw/xen: Add evtchn operations to allow redirection to internal emulation
Date: Thu,  2 Mar 2023 15:34:19 +0000
Message-Id: <20230302153435.1170111-10-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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 existing implementation calling into the real libxenevtchn moves to
a new file hw/xen/xen-operations.c, and is called via a function table
which in a subsequent commit will also be able to invoke the emulated
event channel support.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Paul Durrant <pdurrant@amazon.com>
---
 hw/9pfs/xen-9p-backend.c            |  24 +++---
 hw/i386/xen/xen-hvm.c               |  27 ++++---
 hw/xen/meson.build                  |   1 +
 hw/xen/xen-bus.c                    |  22 +++---
 hw/xen/xen-legacy-backend.c         |   8 +-
 hw/xen/xen-operations.c             |  71 +++++++++++++++++
 hw/xen/xen_pvdev.c                  |  12 +--
 include/hw/xen/xen-bus.h            |   1 +
 include/hw/xen/xen-legacy-backend.h |   1 +
 include/hw/xen/xen_backend_ops.h    | 118 ++++++++++++++++++++++++++++
 include/hw/xen/xen_common.h         |  12 ---
 include/hw/xen/xen_pvdev.h          |   1 +
 softmmu/globals.c                   |   1 +
 13 files changed, 242 insertions(+), 57 deletions(-)
 create mode 100644 hw/xen/xen-operations.c
 create mode 100644 include/hw/xen/xen_backend_ops.h

diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
index 65c4979c3c..864bdaf952 100644
--- a/hw/9pfs/xen-9p-backend.c
+++ b/hw/9pfs/xen-9p-backend.c
@@ -241,7 +241,7 @@ static void xen_9pfs_push_and_notify(V9fsPDU *pdu)
     xen_wmb();
 
     ring->inprogress = false;
-    xenevtchn_notify(ring->evtchndev, ring->local_port);
+    qemu_xen_evtchn_notify(ring->evtchndev, ring->local_port);
 
     qemu_bh_schedule(ring->bh);
 }
@@ -324,8 +324,8 @@ static void xen_9pfs_evtchn_event(void *opaque)
     Xen9pfsRing *ring = opaque;
     evtchn_port_t port;
 
-    port = xenevtchn_pending(ring->evtchndev);
-    xenevtchn_unmask(ring->evtchndev, port);
+    port = qemu_xen_evtchn_pending(ring->evtchndev);
+    qemu_xen_evtchn_unmask(ring->evtchndev, port);
 
     qemu_bh_schedule(ring->bh);
 }
@@ -337,10 +337,10 @@ static void xen_9pfs_disconnect(struct XenLegacyDevice *xendev)
 
     for (i = 0; i < xen_9pdev->num_rings; i++) {
         if (xen_9pdev->rings[i].evtchndev != NULL) {
-            qemu_set_fd_handler(xenevtchn_fd(xen_9pdev->rings[i].evtchndev),
-                    NULL, NULL, NULL);
-            xenevtchn_unbind(xen_9pdev->rings[i].evtchndev,
-                             xen_9pdev->rings[i].local_port);
+            qemu_set_fd_handler(qemu_xen_evtchn_fd(xen_9pdev->rings[i].evtchndev),
+                                NULL, NULL, NULL);
+            qemu_xen_evtchn_unbind(xen_9pdev->rings[i].evtchndev,
+                                   xen_9pdev->rings[i].local_port);
             xen_9pdev->rings[i].evtchndev = NULL;
         }
     }
@@ -447,12 +447,12 @@ static int xen_9pfs_connect(struct XenLegacyDevice *xendev)
         xen_9pdev->rings[i].inprogress = false;
 
 
-        xen_9pdev->rings[i].evtchndev = xenevtchn_open(NULL, 0);
+        xen_9pdev->rings[i].evtchndev = qemu_xen_evtchn_open();
         if (xen_9pdev->rings[i].evtchndev == NULL) {
             goto out;
         }
-        qemu_set_cloexec(xenevtchn_fd(xen_9pdev->rings[i].evtchndev));
-        xen_9pdev->rings[i].local_port = xenevtchn_bind_interdomain
+        qemu_set_cloexec(qemu_xen_evtchn_fd(xen_9pdev->rings[i].evtchndev));
+        xen_9pdev->rings[i].local_port = qemu_xen_evtchn_bind_interdomain
                                             (xen_9pdev->rings[i].evtchndev,
                                              xendev->dom,
                                              xen_9pdev->rings[i].evtchn);
@@ -463,8 +463,8 @@ static int xen_9pfs_connect(struct XenLegacyDevice *xendev)
             goto out;
         }
         xen_pv_printf(xendev, 2, "bind evtchn port %d\n", xendev->local_port);
-        qemu_set_fd_handler(xenevtchn_fd(xen_9pdev->rings[i].evtchndev),
-                xen_9pfs_evtchn_event, NULL, &xen_9pdev->rings[i]);
+        qemu_set_fd_handler(qemu_xen_evtchn_fd(xen_9pdev->rings[i].evtchndev),
+                            xen_9pfs_evtchn_event, NULL, &xen_9pdev->rings[i]);
     }
 
     xen_9pdev->security_model = xenstore_read_be_str(xendev, "security_model");
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index e5a1dd19f4..cb1d24f592 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -761,7 +761,7 @@ static ioreq_t *cpu_get_ioreq(XenIOState *state)
     int i;
     evtchn_port_t port;
 
-    port = xenevtchn_pending(state->xce_handle);
+    port = qemu_xen_evtchn_pending(state->xce_handle);
     if (port == state->bufioreq_local_port) {
         timer_mod(state->buffered_io_timer,
                 BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
@@ -780,7 +780,7 @@ static ioreq_t *cpu_get_ioreq(XenIOState *state)
         }
 
         /* unmask the wanted port again */
-        xenevtchn_unmask(state->xce_handle, port);
+        qemu_xen_evtchn_unmask(state->xce_handle, port);
 
         /* get the io packet from shared memory */
         state->send_vcpu = i;
@@ -1147,7 +1147,7 @@ static void handle_buffered_io(void *opaque)
                 BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
     } else {
         timer_del(state->buffered_io_timer);
-        xenevtchn_unmask(state->xce_handle, state->bufioreq_local_port);
+        qemu_xen_evtchn_unmask(state->xce_handle, state->bufioreq_local_port);
     }
 }
 
@@ -1196,8 +1196,8 @@ static void cpu_handle_ioreq(void *opaque)
         }
 
         req->state = STATE_IORESP_READY;
-        xenevtchn_notify(state->xce_handle,
-                         state->ioreq_local_port[state->send_vcpu]);
+        qemu_xen_evtchn_notify(state->xce_handle,
+                               state->ioreq_local_port[state->send_vcpu]);
     }
 }
 
@@ -1206,7 +1206,7 @@ static void xen_main_loop_prepare(XenIOState *state)
     int evtchn_fd = -1;
 
     if (state->xce_handle != NULL) {
-        evtchn_fd = xenevtchn_fd(state->xce_handle);
+        evtchn_fd = qemu_xen_evtchn_fd(state->xce_handle);
     }
 
     state->buffered_io_timer = timer_new_ms(QEMU_CLOCK_REALTIME, handle_buffered_io,
@@ -1249,7 +1249,7 @@ static void xen_exit_notifier(Notifier *n, void *data)
         xenforeignmemory_unmap_resource(xen_fmem, state->fres);
     }
 
-    xenevtchn_close(state->xce_handle);
+    qemu_xen_evtchn_close(state->xce_handle);
     xs_daemon_close(state->xenstore);
 }
 
@@ -1397,9 +1397,11 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
     xen_pfn_t ioreq_pfn;
     XenIOState *state;
 
+    setup_xen_backend_ops();
+
     state = g_new0(XenIOState, 1);
 
-    state->xce_handle = xenevtchn_open(NULL, 0);
+    state->xce_handle = qemu_xen_evtchn_open();
     if (state->xce_handle == NULL) {
         perror("xen: event channel open");
         goto err;
@@ -1463,8 +1465,9 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
 
     /* FIXME: how about if we overflow the page here? */
     for (i = 0; i < max_cpus; i++) {
-        rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid,
-                                        xen_vcpu_eport(state->shared_page, i));
+        rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
+                                              xen_vcpu_eport(state->shared_page,
+                                                             i));
         if (rc == -1) {
             error_report("shared evtchn %d bind error %d", i, errno);
             goto err;
@@ -1472,8 +1475,8 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
         state->ioreq_local_port[i] = rc;
     }
 
-    rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid,
-                                    state->bufioreq_remote_port);
+    rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
+                                          state->bufioreq_remote_port);
     if (rc == -1) {
         error_report("buffered evtchn bind error %d", errno);
         goto err;
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index ae0ace3046..f195bbd25c 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -5,6 +5,7 @@ softmmu_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
   'xen-legacy-backend.c',
   'xen_devconfig.c',
   'xen_pvdev.c',
+  'xen-operations.c',
 ))
 
 xen_specific_ss = ss.source_set()
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index df3f6b9ae0..d0b1ae93da 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -1095,12 +1095,12 @@ static bool xen_device_poll(void *opaque)
 static void xen_device_event(void *opaque)
 {
     XenEventChannel *channel = opaque;
-    unsigned long port = xenevtchn_pending(channel->xeh);
+    unsigned long port = qemu_xen_evtchn_pending(channel->xeh);
 
     if (port == channel->local_port) {
         xen_device_poll(channel);
 
-        xenevtchn_unmask(channel->xeh, port);
+        qemu_xen_evtchn_unmask(channel->xeh, port);
     }
 }
 
@@ -1115,11 +1115,11 @@ void xen_device_set_event_channel_context(XenDevice *xendev,
     }
 
     if (channel->ctx)
-        aio_set_fd_handler(channel->ctx, xenevtchn_fd(channel->xeh), true,
+        aio_set_fd_handler(channel->ctx, qemu_xen_evtchn_fd(channel->xeh), true,
                            NULL, NULL, NULL, NULL, NULL);
 
     channel->ctx = ctx;
-    aio_set_fd_handler(channel->ctx, xenevtchn_fd(channel->xeh), true,
+    aio_set_fd_handler(channel->ctx, qemu_xen_evtchn_fd(channel->xeh), true,
                        xen_device_event, NULL, xen_device_poll, NULL, channel);
 }
 
@@ -1131,13 +1131,13 @@ XenEventChannel *xen_device_bind_event_channel(XenDevice *xendev,
     XenEventChannel *channel = g_new0(XenEventChannel, 1);
     xenevtchn_port_or_error_t local_port;
 
-    channel->xeh = xenevtchn_open(NULL, 0);
+    channel->xeh = qemu_xen_evtchn_open();
     if (!channel->xeh) {
         error_setg_errno(errp, errno, "failed xenevtchn_open");
         goto fail;
     }
 
-    local_port = xenevtchn_bind_interdomain(channel->xeh,
+    local_port = qemu_xen_evtchn_bind_interdomain(channel->xeh,
                                             xendev->frontend_id,
                                             port);
     if (local_port < 0) {
@@ -1160,7 +1160,7 @@ XenEventChannel *xen_device_bind_event_channel(XenDevice *xendev,
 
 fail:
     if (channel->xeh) {
-        xenevtchn_close(channel->xeh);
+        qemu_xen_evtchn_close(channel->xeh);
     }
 
     g_free(channel);
@@ -1177,7 +1177,7 @@ void xen_device_notify_event_channel(XenDevice *xendev,
         return;
     }
 
-    if (xenevtchn_notify(channel->xeh, channel->local_port) < 0) {
+    if (qemu_xen_evtchn_notify(channel->xeh, channel->local_port) < 0) {
         error_setg_errno(errp, errno, "xenevtchn_notify failed");
     }
 }
@@ -1193,14 +1193,14 @@ void xen_device_unbind_event_channel(XenDevice *xendev,
 
     QLIST_REMOVE(channel, list);
 
-    aio_set_fd_handler(channel->ctx, xenevtchn_fd(channel->xeh), true,
+    aio_set_fd_handler(channel->ctx, qemu_xen_evtchn_fd(channel->xeh), true,
                        NULL, NULL, NULL, NULL, NULL);
 
-    if (xenevtchn_unbind(channel->xeh, channel->local_port) < 0) {
+    if (qemu_xen_evtchn_unbind(channel->xeh, channel->local_port) < 0) {
         error_setg_errno(errp, errno, "xenevtchn_unbind failed");
     }
 
-    xenevtchn_close(channel->xeh);
+    qemu_xen_evtchn_close(channel->xeh);
     g_free(channel);
 }
 
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index afba71f6eb..9ce3dc204b 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -294,13 +294,13 @@ static struct XenLegacyDevice *xen_be_get_xendev(const char *type, int dom,
     xendev->debug      = debug;
     xendev->local_port = -1;
 
-    xendev->evtchndev = xenevtchn_open(NULL, 0);
+    xendev->evtchndev = qemu_xen_evtchn_open();
     if (xendev->evtchndev == NULL) {
         xen_pv_printf(NULL, 0, "can't open evtchn device\n");
         qdev_unplug(DEVICE(xendev), NULL);
         return NULL;
     }
-    qemu_set_cloexec(xenevtchn_fd(xendev->evtchndev));
+    qemu_set_cloexec(qemu_xen_evtchn_fd(xendev->evtchndev));
 
     xen_pv_insert_xendev(xendev);
 
@@ -751,14 +751,14 @@ int xen_be_bind_evtchn(struct XenLegacyDevice *xendev)
     if (xendev->local_port != -1) {
         return 0;
     }
-    xendev->local_port = xenevtchn_bind_interdomain
+    xendev->local_port = qemu_xen_evtchn_bind_interdomain
         (xendev->evtchndev, xendev->dom, xendev->remote_port);
     if (xendev->local_port == -1) {
         xen_pv_printf(xendev, 0, "xenevtchn_bind_interdomain failed\n");
         return -1;
     }
     xen_pv_printf(xendev, 2, "bind evtchn port %d\n", xendev->local_port);
-    qemu_set_fd_handler(xenevtchn_fd(xendev->evtchndev),
+    qemu_set_fd_handler(qemu_xen_evtchn_fd(xendev->evtchndev),
                         xen_pv_evtchn_event, NULL, xendev);
     return 0;
 }
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
new file mode 100644
index 0000000000..1a959d89e8
--- /dev/null
+++ b/hw/xen/xen-operations.c
@@ -0,0 +1,71 @@
+/*
+ * QEMU Xen backend support: Operations for true Xen
+ *
+ * Copyright © 2022 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/xen/xen_backend_ops.h"
+#include "hw/xen/xen_common.h"
+
+/*
+ * If we have new enough libxenctrl then we do not want/need these compat
+ * interfaces, despite what the user supplied cflags might say. They
+ * must be undefined before including xenctrl.h
+ */
+#undef XC_WANT_COMPAT_EVTCHN_API
+
+#include <xenctrl.h>
+
+/*
+ * We don't support Xen prior to 4.2.0.
+ */
+
+/* Xen 4.2 through 4.6 */
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40701
+
+typedef xc_evtchn xenevtchn_handle;
+typedef evtchn_port_or_error_t xenevtchn_port_or_error_t;
+
+#define xenevtchn_open(l, f) xc_evtchn_open(l, f);
+#define xenevtchn_close(h) xc_evtchn_close(h)
+#define xenevtchn_fd(h) xc_evtchn_fd(h)
+#define xenevtchn_pending(h) xc_evtchn_pending(h)
+#define xenevtchn_notify(h, p) xc_evtchn_notify(h, p)
+#define xenevtchn_bind_interdomain(h, d, p) xc_evtchn_bind_interdomain(h, d, p)
+#define xenevtchn_unmask(h, p) xc_evtchn_unmask(h, p)
+#define xenevtchn_unbind(h, p) xc_evtchn_unbind(h, p)
+
+#else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
+
+#include <xenevtchn.h>
+
+#endif
+
+static xenevtchn_handle *libxenevtchn_backend_open(void)
+{
+    return xenevtchn_open(NULL, 0);
+}
+
+struct evtchn_backend_ops libxenevtchn_backend_ops = {
+    .open = libxenevtchn_backend_open,
+    .close = xenevtchn_close,
+    .bind_interdomain = xenevtchn_bind_interdomain,
+    .unbind = xenevtchn_unbind,
+    .get_fd = xenevtchn_fd,
+    .notify = xenevtchn_notify,
+    .unmask = xenevtchn_unmask,
+    .pending = xenevtchn_pending,
+};
+
+void setup_xen_backend_ops(void)
+{
+    xen_evtchn_ops = &libxenevtchn_backend_ops;
+}
diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
index 1a5177b354..86a2c8e567 100644
--- a/hw/xen/xen_pvdev.c
+++ b/hw/xen/xen_pvdev.c
@@ -238,14 +238,14 @@ void xen_pv_evtchn_event(void *opaque)
     struct XenLegacyDevice *xendev = opaque;
     evtchn_port_t port;
 
-    port = xenevtchn_pending(xendev->evtchndev);
+    port = qemu_xen_evtchn_pending(xendev->evtchndev);
     if (port != xendev->local_port) {
         xen_pv_printf(xendev, 0,
                       "xenevtchn_pending returned %d (expected %d)\n",
                       port, xendev->local_port);
         return;
     }
-    xenevtchn_unmask(xendev->evtchndev, port);
+    qemu_xen_evtchn_unmask(xendev->evtchndev, port);
 
     if (xendev->ops->event) {
         xendev->ops->event(xendev);
@@ -257,15 +257,15 @@ void xen_pv_unbind_evtchn(struct XenLegacyDevice *xendev)
     if (xendev->local_port == -1) {
         return;
     }
-    qemu_set_fd_handler(xenevtchn_fd(xendev->evtchndev), NULL, NULL, NULL);
-    xenevtchn_unbind(xendev->evtchndev, xendev->local_port);
+    qemu_set_fd_handler(qemu_xen_evtchn_fd(xendev->evtchndev), NULL, NULL, NULL);
+    qemu_xen_evtchn_unbind(xendev->evtchndev, xendev->local_port);
     xen_pv_printf(xendev, 2, "unbind evtchn port %d\n", xendev->local_port);
     xendev->local_port = -1;
 }
 
 int xen_pv_send_notify(struct XenLegacyDevice *xendev)
 {
-    return xenevtchn_notify(xendev->evtchndev, xendev->local_port);
+    return qemu_xen_evtchn_notify(xendev->evtchndev, xendev->local_port);
 }
 
 /* ------------------------------------------------------------- */
@@ -306,7 +306,7 @@ void xen_pv_del_xendev(struct XenLegacyDevice *xendev)
     }
 
     if (xendev->evtchndev != NULL) {
-        xenevtchn_close(xendev->evtchndev);
+        qemu_xen_evtchn_close(xendev->evtchndev);
     }
     if (xendev->gnttabdev != NULL) {
         xengnttab_close(xendev->gnttabdev);
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 4d966a2dbb..e21b83796e 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -8,6 +8,7 @@
 #ifndef HW_XEN_BUS_H
 #define HW_XEN_BUS_H
 
+#include "hw/xen/xen_backend_ops.h"
 #include "hw/xen/xen_common.h"
 #include "hw/sysbus.h"
 #include "qemu/notify.h"
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index e31cd3a068..06985b1f03 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -2,6 +2,7 @@
 #define HW_XEN_LEGACY_BACKEND_H
 
 #include "hw/xen/xen_common.h"
+#include "hw/xen/xen_backend_ops.h"
 #include "hw/xen/xen_pvdev.h"
 #include "net/net.h"
 #include "qom/object.h"
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
new file mode 100644
index 0000000000..9605456e81
--- /dev/null
+++ b/include/hw/xen/xen_backend_ops.h
@@ -0,0 +1,118 @@
+/*
+ * QEMU Xen backend support
+ *
+ * Copyright © 2022 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_BACKEND_OPS_H
+#define QEMU_XEN_BACKEND_OPS_H
+
+/*
+ * For the time being, these operations map fairly closely to the API of
+ * the actual Xen libraries, e.g. libxenevtchn. As we complete the migration
+ * from XenLegacyDevice back ends to the new XenDevice model, they may
+ * evolve to slightly higher-level APIs.
+ *
+ * The internal emulations do not emulate the Xen APIs entirely faithfully;
+ * only enough to be used by the Xen backend devices. For example, only one
+ * event channel can be bound to each handle, since that's sufficient for
+ * the device support (only the true Xen HVM backend uses more). And the
+ * behaviour of unmask() and pending() is different too because the device
+ * backends don't care.
+ */
+
+typedef struct xenevtchn_handle xenevtchn_handle;
+typedef int xenevtchn_port_or_error_t;
+typedef uint32_t evtchn_port_t;
+
+struct evtchn_backend_ops {
+    xenevtchn_handle *(*open)(void);
+    int (*bind_interdomain)(xenevtchn_handle *xc, uint32_t domid,
+                            evtchn_port_t guest_port);
+    int (*unbind)(xenevtchn_handle *xc, evtchn_port_t port);
+    int (*close)(struct xenevtchn_handle *xc);
+    int (*get_fd)(struct xenevtchn_handle *xc);
+    int (*notify)(struct xenevtchn_handle *xc, evtchn_port_t port);
+    int (*unmask)(struct xenevtchn_handle *xc, evtchn_port_t port);
+    int (*pending)(struct xenevtchn_handle *xc);
+};
+
+extern struct evtchn_backend_ops *xen_evtchn_ops;
+
+static inline xenevtchn_handle *qemu_xen_evtchn_open(void)
+{
+    if (!xen_evtchn_ops) {
+        return NULL;
+    }
+    return xen_evtchn_ops->open();
+}
+
+static inline int qemu_xen_evtchn_bind_interdomain(xenevtchn_handle *xc,
+                                                   uint32_t domid,
+                                                   evtchn_port_t guest_port)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->bind_interdomain(xc, domid, guest_port);
+}
+
+static inline int qemu_xen_evtchn_unbind(xenevtchn_handle *xc,
+                                         evtchn_port_t port)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->unbind(xc, port);
+}
+
+static inline int qemu_xen_evtchn_close(xenevtchn_handle *xc)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->close(xc);
+}
+
+static inline int qemu_xen_evtchn_fd(xenevtchn_handle *xc)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->get_fd(xc);
+}
+
+static inline int qemu_xen_evtchn_notify(xenevtchn_handle *xc,
+                                         evtchn_port_t port)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->notify(xc, port);
+}
+
+static inline int qemu_xen_evtchn_unmask(xenevtchn_handle *xc,
+                                         evtchn_port_t port)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->unmask(xc, port);
+}
+
+static inline int qemu_xen_evtchn_pending(xenevtchn_handle *xc)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->pending(xc);
+}
+
+void setup_xen_backend_ops(void);
+
+#endif /* QEMU_XEN_BACKEND_OPS_H */
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 9a13a756ae..34abd0a772 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -28,18 +28,7 @@ extern xc_interface *xen_xc;
 #if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40701
 
 typedef xc_interface xenforeignmemory_handle;
-typedef xc_evtchn xenevtchn_handle;
 typedef xc_gnttab xengnttab_handle;
-typedef evtchn_port_or_error_t xenevtchn_port_or_error_t;
-
-#define xenevtchn_open(l, f) xc_evtchn_open(l, f);
-#define xenevtchn_close(h) xc_evtchn_close(h)
-#define xenevtchn_fd(h) xc_evtchn_fd(h)
-#define xenevtchn_pending(h) xc_evtchn_pending(h)
-#define xenevtchn_notify(h, p) xc_evtchn_notify(h, p)
-#define xenevtchn_bind_interdomain(h, d, p) xc_evtchn_bind_interdomain(h, d, p)
-#define xenevtchn_unmask(h, p) xc_evtchn_unmask(h, p)
-#define xenevtchn_unbind(h, p) xc_evtchn_unbind(h, p)
 
 #define xengnttab_open(l, f) xc_gnttab_open(l, f)
 #define xengnttab_close(h) xc_gnttab_close(h)
@@ -69,7 +58,6 @@ static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
 
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
-#include <xenevtchn.h>
 #include <xengnttab.h>
 #include <xenforeignmemory.h>
 
diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h
index 7cd4bc2b82..9c27b14764 100644
--- a/include/hw/xen/xen_pvdev.h
+++ b/include/hw/xen/xen_pvdev.h
@@ -1,6 +1,7 @@
 #ifndef QEMU_HW_XEN_PVDEV_H
 #define QEMU_HW_XEN_PVDEV_H
 
+#include "hw/xen/xen_backend_ops.h"
 #include "hw/xen/xen_common.h"
 /* ------------------------------------------------------------- */
 
diff --git a/softmmu/globals.c b/softmmu/globals.c
index 0a4405614e..eb62739be1 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -65,3 +65,4 @@ bool qemu_uuid_set;
 uint32_t xen_domid;
 enum xen_mode xen_mode = XEN_DISABLED;
 bool xen_domid_restrict;
+struct evtchn_backend_ops *xen_evtchn_ops;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:39:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:39:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505124.777763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXl1N-0003dw-QH; Thu, 02 Mar 2023 15:39:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505124.777763; Thu, 02 Mar 2023 15: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 1pXl1N-0003dn-Mo; Thu, 02 Mar 2023 15:39:05 +0000
Received: by outflank-mailman (input) for mailman id 505124;
 Thu, 02 Mar 2023 15:39: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxV-0001Jw-OV
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:35:06 +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 c2b69582-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx4-00FL3d-0o; Thu, 02 Mar 2023 15:34:39 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uyj-0S; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2b69582-b90f-11ed-a550-8520e6686977
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=Ca2714vgfm18G+KeFQHG/S9JS+BdaUec2bE3wcS910w=; b=qyL9Kow45NCZ9QXvTmhTUdR7fP
	UZgbx0jLXWCGC2o642X5kABEQ3uxiER8SvY8ieySF2nq5ZwLsuV0bwwEM2jDfXqjtz4SY+mUfRD/A
	VIJEQGIuAxFEILYbPrtQLaSGOvmndf82DwEfZgt5aWNUcAAMqM/ptFjUINSB9UJXavstslaR3tu9C
	e16Wtac8SiRFl5/ev5mGu1N1SnUwWLW7hkiHTYS05SCNqBe5BFbQYMefdailPDkVBGuhd1nxZuZEb
	m71IrNCzneaP8uhfZ6LgR4Qol0eiMtv1yang1PnVab3YAvcQZfABxcnyBCo7GHEjxuyLkYydBChQ8
	2i8AIudg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 07/25] hw/xen: Implement core serialize/deserialize methods for xenstore_impl
Date: Thu,  2 Mar 2023 15:34:17 +0000
Message-Id: <20230302153435.1170111-8-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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 fact I think we want to only serialize the contents of the domain's
path in /local/domain/${domid} and leave the rest to be recreated? Will
defer to Paul for that.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/kvm/xen_xenstore.c  |  25 +-
 hw/i386/kvm/xenstore_impl.c | 574 +++++++++++++++++++++++++++++++++++-
 hw/i386/kvm/xenstore_impl.h |   5 +
 tests/unit/test-xs-node.c   | 236 ++++++++++++++-
 4 files changed, 824 insertions(+), 16 deletions(-)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 3b409e3817..1b1358ad4c 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -66,6 +66,9 @@ struct XenXenstoreState {
     evtchn_port_t guest_port;
     evtchn_port_t be_port;
     struct xenevtchn_handle *eh;
+
+    uint8_t *impl_state;
+    uint32_t impl_state_size;
 };
 
 struct XenXenstoreState *xen_xenstore_singleton;
@@ -109,16 +112,26 @@ static bool xen_xenstore_is_needed(void *opaque)
 static int xen_xenstore_pre_save(void *opaque)
 {
     XenXenstoreState *s = opaque;
+    GByteArray *save;
 
     if (s->eh) {
         s->guest_port = xen_be_evtchn_get_guest_port(s->eh);
     }
+
+    g_free(s->impl_state);
+    save = xs_impl_serialize(s->impl);
+    s->impl_state = save->data;
+    s->impl_state_size = save->len;
+    g_byte_array_free(save, false);
+
     return 0;
 }
 
 static int xen_xenstore_post_load(void *opaque, int ver)
 {
     XenXenstoreState *s = opaque;
+    GByteArray *save;
+    int ret;
 
     /*
      * As qemu/dom0, rebind to the guest's port. The Windows drivers may
@@ -135,7 +148,13 @@ static int xen_xenstore_post_load(void *opaque, int ver)
         }
         s->be_port = be_port;
     }
-    return 0;
+
+    save = g_byte_array_new_take(s->impl_state, s->impl_state_size);
+    s->impl_state = NULL;
+    s->impl_state_size = 0;
+
+    ret = xs_impl_deserialize(s->impl, save, xen_domid, fire_watch_cb, s);
+    return ret;
 }
 
 static const VMStateDescription xen_xenstore_vmstate = {
@@ -155,6 +174,10 @@ static const VMStateDescription xen_xenstore_vmstate = {
         VMSTATE_BOOL(rsp_pending, XenXenstoreState),
         VMSTATE_UINT32(guest_port, XenXenstoreState),
         VMSTATE_BOOL(fatal_error, XenXenstoreState),
+        VMSTATE_UINT32(impl_state_size, XenXenstoreState),
+        VMSTATE_VARRAY_UINT32_ALLOC(impl_state, XenXenstoreState,
+                                    impl_state_size, 0,
+                                    vmstate_info_uint8, uint8_t),
         VMSTATE_END_OF_LIST()
     }
 };
diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 7988bde88f..82e7ae06f5 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -37,6 +37,7 @@ typedef struct XsNode {
     uint64_t gencnt;
     bool deleted_in_tx;
     bool modified_in_tx;
+    unsigned int serialized_tx;
 #ifdef XS_NODE_UNIT_TEST
     gchar *name; /* debug only */
 #endif
@@ -68,6 +69,7 @@ struct XenstoreImplState {
     unsigned int nr_domu_transactions;
     unsigned int root_tx;
     unsigned int last_tx;
+    bool serialized;
 };
 
 
@@ -1156,8 +1158,10 @@ int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
     return xs_node_walk(n, &op);
 }
 
-int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
-                  const char *token, xs_impl_watch_fn fn, void *opaque)
+static int do_xs_impl_watch(XenstoreImplState *s, unsigned int dom_id,
+                            const char *path, const char *token,
+                            xs_impl_watch_fn fn, void *opaque)
+
 {
     char abspath[XENSTORE_ABS_PATH_MAX + 1];
     XsWatch *w, *l;
@@ -1200,12 +1204,22 @@ int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
         s->nr_domu_watches++;
     }
 
-    /* A new watch should fire immediately */
-    fn(opaque, path, token);
-
     return 0;
 }
 
+int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
+                  const char *token, xs_impl_watch_fn fn, void *opaque)
+{
+    int ret = do_xs_impl_watch(s, dom_id, path, token, fn, opaque);
+
+    if (!ret) {
+        /* A new watch should fire immediately */
+        fn(opaque, path, token);
+    }
+
+    return ret;
+}
+
 static XsWatch *free_watch(XenstoreImplState *s, XsWatch *w)
 {
     XsWatch *next = w->next;
@@ -1361,3 +1375,553 @@ XenstoreImplState *xs_impl_create(unsigned int dom_id)
     s->root_tx = s->last_tx = 1;
     return s;
 }
+
+
+static void clear_serialized_tx(gpointer key, gpointer value, gpointer opaque)
+{
+    XsNode *n = value;
+
+    n->serialized_tx = XBT_NULL;
+    if (n->children) {
+        g_hash_table_foreach(n->children, clear_serialized_tx, NULL);
+    }
+}
+
+static void clear_tx_serialized_tx(gpointer key, gpointer value,
+                                   gpointer opaque)
+{
+    XsTransaction *t = value;
+
+    clear_serialized_tx(NULL, t->root, NULL);
+}
+
+static void write_be32(GByteArray *save, uint32_t val)
+{
+    uint32_t be = htonl(val);
+    g_byte_array_append(save, (void *)&be, sizeof(be));
+}
+
+
+struct save_state {
+    GByteArray *bytes;
+    unsigned int tx_id;
+};
+
+#define MODIFIED_IN_TX  (1U << 0)
+#define DELETED_IN_TX   (1U << 1)
+#define NODE_REF        (1U << 2)
+
+static void save_node(gpointer key, gpointer value, gpointer opaque)
+{
+    struct save_state *ss = opaque;
+    XsNode *n = value;
+    char *name = key;
+    uint8_t flag = 0;
+
+    /* Child nodes (i.e. anything but the root) have a name */
+    if (name) {
+        g_byte_array_append(ss->bytes, key, strlen(key) + 1);
+    }
+
+    /*
+     * If we already wrote this node, refer to the previous copy.
+     * There's no rename/move in XenStore, so all we need to find
+     * it is the tx_id of the transation in which it exists. Which
+     * may be the root tx.
+     */
+    if (n->serialized_tx != XBT_NULL) {
+        flag = NODE_REF;
+        g_byte_array_append(ss->bytes, &flag, 1);
+        write_be32(ss->bytes, n->serialized_tx);
+    } else {
+        GList *l;
+        n->serialized_tx = ss->tx_id;
+
+        if (n->modified_in_tx) {
+            flag |= MODIFIED_IN_TX;
+        }
+        if (n->deleted_in_tx) {
+            flag |= DELETED_IN_TX;
+        }
+        g_byte_array_append(ss->bytes, &flag, 1);
+
+        if (n->content) {
+            write_be32(ss->bytes, n->content->len);
+            g_byte_array_append(ss->bytes, n->content->data, n->content->len);
+        } else {
+            write_be32(ss->bytes, 0);
+        }
+
+        for (l = n->perms; l; l = l->next) {
+            g_byte_array_append(ss->bytes, l->data, strlen(l->data) + 1);
+        }
+        /* NUL termination after perms */
+        g_byte_array_append(ss->bytes, (void *)"", 1);
+
+        if (n->children) {
+            g_hash_table_foreach(n->children, save_node, ss);
+        }
+        /* NUL termination after children (child name is NUL) */
+        g_byte_array_append(ss->bytes, (void *)"", 1);
+    }
+}
+
+static void save_tree(struct save_state *ss, uint32_t tx_id, XsNode *root)
+{
+    write_be32(ss->bytes, tx_id);
+    ss->tx_id = tx_id;
+    save_node(NULL, root, ss);
+}
+
+static void save_tx(gpointer key, gpointer value, gpointer opaque)
+{
+    uint32_t tx_id = GPOINTER_TO_INT(key);
+    struct save_state *ss = opaque;
+    XsTransaction *n = value;
+
+    write_be32(ss->bytes, n->base_tx);
+    write_be32(ss->bytes, n->dom_id);
+
+    save_tree(ss, tx_id, n->root);
+}
+
+static void save_watch(gpointer key, gpointer value, gpointer opaque)
+{
+    struct save_state *ss = opaque;
+    XsWatch *w = value;
+
+    /* We only save the *guest* watches. */
+    if (w->dom_id) {
+        gpointer relpath = key + w->rel_prefix;
+        g_byte_array_append(ss->bytes, relpath, strlen(relpath) + 1);
+        g_byte_array_append(ss->bytes, (void *)w->token, strlen(w->token) + 1);
+    }
+}
+
+GByteArray *xs_impl_serialize(XenstoreImplState *s)
+{
+    struct save_state ss;
+
+    ss.bytes = g_byte_array_new();
+
+    /*
+     * node = flags [ real_node / node_ref ]
+     *   flags = uint8_t (MODIFIED_IN_TX | DELETED_IN_TX | NODE_REF)
+     *   node_ref = tx_id (in which the original version of this node exists)
+     *   real_node = content perms child* NUL
+     *     content = len data
+     *       len = uint32_t
+     *       data = uint8_t{len}
+     *     perms = perm* NUL
+     *       perm = asciiz
+     *   child = name node
+     *     name = asciiz
+     *
+     * tree = tx_id node
+     *   tx_id = uint32_t
+     *
+     * transaction = base_tx_id dom_id tree
+     *   base_tx_id = uint32_t
+     *   dom_id = uint32_t
+     *
+     * tx_list = tree transaction* XBT_NULL
+     *
+     * watch = path token
+     *   path = asciiz
+     *   token = asciiz
+     *
+     * watch_list = watch* NUL
+     *
+     * xs_serialize_stream = last_tx tx_list watch_list
+     *   last_tx = uint32_t
+     */
+
+    /* Clear serialized_tx in every node. */
+    if (s->serialized) {
+        clear_serialized_tx(NULL, s->root, NULL);
+        g_hash_table_foreach(s->transactions, clear_tx_serialized_tx, NULL);
+    }
+
+    s->serialized = true;
+
+    write_be32(ss.bytes, s->last_tx);
+    save_tree(&ss, s->root_tx, s->root);
+    g_hash_table_foreach(s->transactions, save_tx, &ss);
+
+    write_be32(ss.bytes, XBT_NULL);
+
+    g_hash_table_foreach(s->watches, save_watch, &ss);
+    g_byte_array_append(ss.bytes, (void *)"", 1);
+
+    return ss.bytes;
+}
+
+struct unsave_state {
+    char path[XENSTORE_ABS_PATH_MAX + 1];
+    XenstoreImplState *s;
+    GByteArray *bytes;
+    uint8_t *d;
+    size_t l;
+    bool root_walk;
+};
+
+static int consume_be32(struct unsave_state *us, unsigned int *val)
+{
+    uint32_t d;
+
+    if (us->l < sizeof(d)) {
+        return -EINVAL;
+    }
+    memcpy(&d, us->d, sizeof(d));
+    *val = ntohl(d);
+    us->d += sizeof(d);
+    us->l -= sizeof(d);
+    return 0;
+}
+
+static int consume_string(struct unsave_state *us, char **str, size_t *len)
+{
+    size_t l;
+
+    if (!us->l) {
+        return -EINVAL;
+    }
+
+    l = strnlen((void *)us->d, us->l);
+    if (l == us->l) {
+        return -EINVAL;
+    }
+
+    if (str) {
+        *str = (void *)us->d;
+    }
+    if (len) {
+        *len = l;
+    }
+
+    us->d += l + 1;
+    us->l -= l + 1;
+    return 0;
+}
+
+static XsNode *lookup_node(XsNode *n, char *path)
+{
+    char *slash = strchr(path, '/');
+    XsNode *child;
+
+    if (path[0] == '\0') {
+        return n;
+    }
+
+    if (slash) {
+        *slash = '\0';
+    }
+
+    if (!n->children) {
+        return NULL;
+    }
+    child = g_hash_table_lookup(n->children, path);
+    if (!slash) {
+        return child;
+    }
+
+    *slash = '/';
+    if (!child) {
+        return NULL;
+    }
+    return lookup_node(child, slash + 1);
+}
+
+static XsNode *lookup_tx_node(struct unsave_state *us, unsigned int tx_id)
+{
+    XsTransaction *t;
+    if (tx_id == us->s->root_tx) {
+        return lookup_node(us->s->root, us->path + 1);
+    }
+
+    t = g_hash_table_lookup(us->s->transactions, GINT_TO_POINTER(tx_id));
+    if (!t) {
+        return NULL;
+    }
+    g_assert(t->root);
+    return lookup_node(t->root, us->path + 1);
+}
+
+static void count_child_nodes(gpointer key, gpointer value, gpointer user_data)
+{
+    unsigned int *nr_nodes = user_data;
+    XsNode *n = value;
+
+    (*nr_nodes)++;
+
+    if (n->children) {
+        g_hash_table_foreach(n->children, count_child_nodes, nr_nodes);
+    }
+}
+
+static int consume_node(struct unsave_state *us, XsNode **nodep,
+                        unsigned int *nr_nodes)
+{
+    XsNode *n = NULL;
+    uint8_t flags;
+    int ret;
+
+    if (us->l < 1) {
+        return -EINVAL;
+    }
+    flags = us->d[0];
+    us->d++;
+    us->l--;
+
+    if (flags == NODE_REF) {
+        unsigned int tx;
+
+        ret = consume_be32(us, &tx);
+        if (ret) {
+            return ret;
+        }
+
+        n = lookup_tx_node(us, tx);
+        if (!n) {
+            return -EINVAL;
+        }
+        n->ref++;
+        if (n->children) {
+            g_hash_table_foreach(n->children, count_child_nodes, nr_nodes);
+        }
+    } else {
+        uint32_t datalen;
+
+        if (flags & ~(DELETED_IN_TX | MODIFIED_IN_TX)) {
+            return -EINVAL;
+        }
+        n = xs_node_new();
+
+        if (flags & DELETED_IN_TX) {
+            n->deleted_in_tx = true;
+        }
+        if (flags & MODIFIED_IN_TX) {
+            n->modified_in_tx = true;
+        }
+        ret = consume_be32(us, &datalen);
+        if (ret) {
+            xs_node_unref(n);
+            return -EINVAL;
+        }
+        if (datalen) {
+            if (datalen > us->l) {
+                xs_node_unref(n);
+                return -EINVAL;
+            }
+
+            GByteArray *node_data = g_byte_array_new();
+            g_byte_array_append(node_data, us->d, datalen);
+            us->d += datalen;
+            us->l -= datalen;
+            n->content = node_data;
+
+            if (us->root_walk) {
+                n->modified_in_tx = true;
+            }
+        }
+        while (1) {
+            char *perm = NULL;
+            size_t permlen = 0;
+
+            ret = consume_string(us, &perm, &permlen);
+            if (ret) {
+                xs_node_unref(n);
+                return ret;
+            }
+
+            if (!permlen) {
+                break;
+            }
+
+            n->perms = g_list_append(n->perms, g_strdup(perm));
+        }
+
+        /* Now children */
+        while (1) {
+            size_t childlen;
+            char *childname;
+            char *pathend;
+            XsNode *child = NULL;
+
+            ret = consume_string(us, &childname, &childlen);
+            if (ret) {
+                xs_node_unref(n);
+                return ret;
+            }
+
+            if (!childlen) {
+                break;
+            }
+
+            pathend = us->path + strlen(us->path);
+            strncat(us->path, "/", sizeof(us->path) - 1);
+            strncat(us->path, childname, sizeof(us->path) - 1);
+
+            ret = consume_node(us, &child, nr_nodes);
+            *pathend = '\0';
+            if (ret) {
+                xs_node_unref(n);
+                return ret;
+            }
+            g_assert(child);
+            xs_node_add_child(n, childname, child);
+        }
+
+        /*
+         * If the node has no data and no children we still want to fire
+         * a watch on it.
+         */
+        if (us->root_walk && !n->children) {
+            n->modified_in_tx = true;
+        }
+    }
+
+    if (!n->deleted_in_tx) {
+        (*nr_nodes)++;
+    }
+
+    *nodep = n;
+    return 0;
+}
+
+static int consume_tree(struct unsave_state *us, XsTransaction *t)
+{
+    int ret;
+
+    ret = consume_be32(us, &t->tx_id);
+    if (ret) {
+        return ret;
+    }
+
+    if (t->tx_id > us->s->last_tx) {
+        return -EINVAL;
+    }
+
+    us->path[0] = '\0';
+
+    return consume_node(us, &t->root, &t->nr_nodes);
+}
+
+int xs_impl_deserialize(XenstoreImplState *s, GByteArray *bytes,
+                        unsigned int dom_id, xs_impl_watch_fn watch_fn,
+                        void *watch_opaque)
+{
+    struct unsave_state us;
+    XsTransaction base_t = { 0 };
+    int ret;
+
+    us.s = s;
+    us.bytes = bytes;
+    us.d = bytes->data;
+    us.l = bytes->len;
+
+    xs_impl_reset_watches(s, dom_id);
+    g_hash_table_remove_all(s->transactions);
+
+    xs_node_unref(s->root);
+    s->root = NULL;
+    s->root_tx = s->last_tx = XBT_NULL;
+
+    ret = consume_be32(&us, &s->last_tx);
+    if (ret) {
+        return ret;
+    }
+
+    /*
+     * Consume the base tree into a transaction so that watches can be
+     * fired as we commit it. By setting us.root_walk we cause the nodes
+     * to be marked as 'modified_in_tx' as they are created, so that the
+     * watches are triggered on them.
+     */
+    base_t.dom_id = dom_id;
+    base_t.base_tx = XBT_NULL;
+    us.root_walk = true;
+    ret = consume_tree(&us, &base_t);
+    if (ret) {
+        return ret;
+    }
+    us.root_walk = false;
+
+    /*
+     * Commit the transaction now while the refcount on all nodes is 1.
+     * Note that we haven't yet reinstated the *guest* watches but that's
+     * OK because we don't want the guest to see any changes. Even any
+     * backend nodes which get recreated should be *precisely* as they
+     * were before the migration. Back ends may have been instantiated
+     * already, and will see the frontend magically blink into existence
+     * now (well, from the aio_bh which fires the watches). It's their
+     * responsibility to rebuild everything precisely as it was before.
+     */
+    ret = transaction_commit(s, &base_t);
+    if (ret) {
+        return ret;
+    }
+
+    while (1) {
+        unsigned int base_tx;
+        XsTransaction *t;
+
+        ret = consume_be32(&us, &base_tx);
+        if (ret) {
+            return ret;
+        }
+        if (base_tx == XBT_NULL) {
+            break;
+        }
+
+        t = g_new0(XsTransaction, 1);
+        t->base_tx = base_tx;
+
+        ret = consume_be32(&us, &t->dom_id);
+        if (!ret) {
+            ret = consume_tree(&us, t);
+        }
+        if (ret) {
+            g_free(t);
+            return ret;
+        }
+        g_assert(t->root);
+        if (t->dom_id) {
+            s->nr_domu_transactions++;
+        }
+        g_hash_table_insert(s->transactions, GINT_TO_POINTER(t->tx_id), t);
+    }
+
+    while (1) {
+        char *path, *token;
+        size_t pathlen, toklen;
+
+        ret = consume_string(&us, &path, &pathlen);
+        if (ret) {
+            return ret;
+        }
+        if (!pathlen) {
+            break;
+        }
+
+        ret = consume_string(&us, &token, &toklen);
+        if (ret) {
+            return ret;
+        }
+
+        if (!watch_fn) {
+            continue;
+        }
+
+        ret = do_xs_impl_watch(s, dom_id, path, token, watch_fn, watch_opaque);
+        if (ret) {
+            return ret;
+        }
+    }
+
+    if (us.l) {
+        return -EINVAL;
+    }
+
+    return 0;
+}
diff --git a/hw/i386/kvm/xenstore_impl.h b/hw/i386/kvm/xenstore_impl.h
index 2f81251b5e..bbe2391e2e 100644
--- a/hw/i386/kvm/xenstore_impl.h
+++ b/hw/i386/kvm/xenstore_impl.h
@@ -61,4 +61,9 @@ int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
                     void *opaque);
 int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id);
 
+GByteArray *xs_impl_serialize(XenstoreImplState *s);
+int xs_impl_deserialize(XenstoreImplState *s, GByteArray *bytes,
+                        unsigned int dom_id, xs_impl_watch_fn watch_fn,
+                        void *watch_opaque);
+
 #endif /* QEMU_XENSTORE_IMPL_H */
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index 2c0f89c694..fda6a047d0 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -29,8 +29,32 @@ static GList *xs_node_list;
 #define DOMID_QEMU 0
 #define DOMID_GUEST 1
 
+static void dump_ref(const char *name, XsNode *n, int indent)
+{
+    int i;
+
+    if (!indent && name) {
+        printf("%s:\n", name);
+    }
+
+    for (i = 0; i < indent; i++) {
+        printf(" ");
+    }
+
+    printf("->%p(%d, '%s'): '%.*s'%s%s\n", n, n->ref, n->name,
+           (int)(n->content ? n->content->len : strlen("<empty>")),
+           n->content ? (char *)n->content->data : "<empty>",
+           n->modified_in_tx ? " MODIFIED" : "",
+           n->deleted_in_tx ? " DELETED" : "");
+
+    if (n->children) {
+        g_hash_table_foreach(n->children, (void *)dump_ref,
+                             GINT_TO_POINTER(indent + 2));
+    }
+}
+
 /* This doesn't happen in qemu but we want to make valgrind happy */
-static void xs_impl_delete(XenstoreImplState *s)
+static void xs_impl_delete(XenstoreImplState *s, bool last)
 {
     int err;
 
@@ -46,6 +70,10 @@ static void xs_impl_delete(XenstoreImplState *s)
     xs_node_unref(s->root);
     g_free(s);
 
+    if (!last) {
+        return;
+    }
+
     if (xs_node_list) {
         GList *l;
         for (l = xs_node_list; l; l = l->next) {
@@ -57,6 +85,137 @@ static void xs_impl_delete(XenstoreImplState *s)
     g_assert(!nr_xs_nodes);
 }
 
+struct compare_walk {
+    char path[XENSTORE_ABS_PATH_MAX + 1];
+    XsNode *parent_2;
+    bool compare_ok;
+};
+
+
+static bool compare_perms(GList *p1, GList *p2)
+{
+    while (p1) {
+        if (!p2 || g_strcmp0(p1->data, p2->data)) {
+            return false;
+        }
+        p1 = p1->next;
+        p2 = p2->next;
+    }
+    return (p2 == NULL);
+}
+
+static bool compare_content(GByteArray *c1, GByteArray *c2)
+{
+    size_t len1 = 0, len2 = 0;
+
+    if (c1) {
+        len1 = c1->len;
+    }
+    if (c2) {
+        len2 = c2->len;
+    }
+    if (len1 != len2) {
+        return false;
+    }
+
+    if (!len1) {
+        return true;
+    }
+
+    return !memcmp(c1->data, c2->data, len1);
+}
+
+static void compare_child(gpointer, gpointer, gpointer);
+
+static void compare_nodes(struct compare_walk *cw, XsNode *n1, XsNode *n2)
+{
+    int nr_children1 = 0, nr_children2 = 0;
+
+    if (n1->children) {
+        nr_children1 = g_hash_table_size(n1->children);
+    }
+    if (n2->children) {
+        nr_children2 = g_hash_table_size(n2->children);
+    }
+
+    if (n1->ref != n2->ref ||
+        n1->deleted_in_tx != n2->deleted_in_tx ||
+        n1->modified_in_tx != n2->modified_in_tx ||
+        !compare_perms(n1->perms, n2->perms) ||
+        !compare_content(n1->content, n2->content) ||
+        nr_children1 != nr_children2) {
+        cw->compare_ok = false;
+        printf("Compare failure on '%s'\n", cw->path);
+    }
+
+    if (nr_children1) {
+        XsNode *oldparent = cw->parent_2;
+        cw->parent_2 = n2;
+        g_hash_table_foreach(n1->children, compare_child, cw);
+
+        cw->parent_2 = oldparent;
+    }
+}
+
+static void compare_child(gpointer key, gpointer val, gpointer opaque)
+{
+    struct compare_walk *cw = opaque;
+    char *childname = key;
+    XsNode *child1 = val;
+    XsNode *child2 = g_hash_table_lookup(cw->parent_2->children, childname);
+    int pathlen = strlen(cw->path);
+
+    if (!child2) {
+        cw->compare_ok = false;
+        printf("Child '%s' does not exist under '%s'\n", childname, cw->path);
+        return;
+    }
+
+    strncat(cw->path, "/", sizeof(cw->path) - 1);
+    strncat(cw->path, childname, sizeof(cw->path) - 1);
+
+    compare_nodes(cw, child1, child2);
+    cw->path[pathlen] = '\0';
+}
+
+static bool compare_trees(XsNode *n1, XsNode *n2)
+{
+    struct compare_walk cw;
+
+    cw.path[0] = '\0';
+    cw.parent_2 = n2;
+    cw.compare_ok = true;
+
+    if (!n1 || !n2) {
+        return false;
+    }
+
+    compare_nodes(&cw, n1, n2);
+    return cw.compare_ok;
+}
+
+static void compare_tx(gpointer key, gpointer val, gpointer opaque)
+{
+    XenstoreImplState *s2 = opaque;
+    XsTransaction *t1 = val, *t2;
+    unsigned int tx_id = GPOINTER_TO_INT(key);
+
+    t2 = g_hash_table_lookup(s2->transactions, key);
+    g_assert(t2);
+
+    g_assert(t1->tx_id == tx_id);
+    g_assert(t2->tx_id == tx_id);
+    g_assert(t1->base_tx == t2->base_tx);
+    g_assert(t1->dom_id == t2->dom_id);
+    if (!compare_trees(t1->root, t2->root)) {
+        printf("Comparison failure in TX %u after serdes:\n", tx_id);
+        dump_ref("Original", t1->root, 0);
+        dump_ref("Deserialised", t2->root, 0);
+        g_assert(0);
+    }
+    g_assert(t1->nr_nodes == t2->nr_nodes);
+}
+
 static int write_str(XenstoreImplState *s, unsigned int dom_id,
                           unsigned int tx_id, const char *path,
                           const char *content)
@@ -78,6 +237,40 @@ static void watch_cb(void *_str, const char *path, const char *token)
     g_string_append(str, token);
 }
 
+static void check_serdes(XenstoreImplState *s)
+{
+    XenstoreImplState *s2 = xs_impl_create(DOMID_GUEST);
+    GByteArray *bytes = xs_impl_serialize(s);
+    int nr_transactions1, nr_transactions2;
+    int ret;
+
+    ret = xs_impl_deserialize(s2, bytes, DOMID_GUEST, watch_cb, NULL);
+    g_assert(!ret);
+
+    g_byte_array_unref(bytes);
+
+    g_assert(s->last_tx == s2->last_tx);
+    g_assert(s->root_tx == s2->root_tx);
+
+    if (!compare_trees(s->root, s2->root)) {
+        printf("Comparison failure in main tree after serdes:\n");
+        dump_ref("Original", s->root, 0);
+        dump_ref("Deserialised", s2->root, 0);
+        g_assert(0);
+    }
+
+    nr_transactions1 = g_hash_table_size(s->transactions);
+    nr_transactions2 = g_hash_table_size(s2->transactions);
+    g_assert(nr_transactions1 == nr_transactions2);
+
+    g_hash_table_foreach(s->transactions, compare_tx, s2);
+
+    g_assert(s->nr_domu_watches == s2->nr_domu_watches);
+    g_assert(s->nr_domu_transactions == s2->nr_domu_transactions);
+    g_assert(s->nr_nodes == s2->nr_nodes);
+    xs_impl_delete(s2, false);
+}
+
 static XenstoreImplState *setup(void)
 {
    XenstoreImplState *s = xs_impl_create(DOMID_GUEST);
@@ -293,7 +486,7 @@ static void test_xs_node_simple(void)
     g_string_free(qemu_watches, true);
     g_string_free(guest_watches, true);
     xs_node_unref(old_root);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 
@@ -365,6 +558,8 @@ static void do_test_xs_node_tx(bool fail, bool commit)
     g_assert(!memcmp(data->data, "something else", data->len));
     g_byte_array_set_size(data, 0);
 
+    check_serdes(s);
+
     /* Attempt to commit the transaction */
     err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, commit);
     if (commit && fail) {
@@ -381,6 +576,8 @@ static void do_test_xs_node_tx(bool fail, bool commit)
     }
     g_assert(s->nr_nodes == 7);
 
+    check_serdes(s);
+
     err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
                         watch_cb, watches);
     g_assert(!err);
@@ -399,7 +596,7 @@ static void do_test_xs_node_tx(bool fail, bool commit)
     }
     g_byte_array_unref(data);
     g_string_free(watches, true);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 static void test_xs_node_tx_fail(void)
@@ -461,6 +658,8 @@ static void test_xs_node_tx_rm(void)
     g_assert(!memcmp(data->data, "something", data->len));
     g_byte_array_set_size(data, 0);
 
+    check_serdes(s);
+
     /* Commit the transaction */
     err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
     g_assert(!err);
@@ -480,7 +679,7 @@ static void test_xs_node_tx_rm(void)
     g_assert(!err);
 
     g_string_free(watches, true);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 static void test_xs_node_tx_resurrect(void)
@@ -499,11 +698,16 @@ static void test_xs_node_tx_resurrect(void)
     g_assert(!err);
     g_assert(s->nr_nodes == 9);
 
+    /* Another node to remain shared */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/place/safe", "keepme");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
     /* This node will be wiped and resurrected */
     err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark",
                     "foo");
     g_assert(!err);
-    g_assert(s->nr_nodes == 9);
+    g_assert(s->nr_nodes == 11);
 
     /* Set a watch */
     err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
@@ -520,19 +724,23 @@ static void test_xs_node_tx_resurrect(void)
     /* Delete the tree in the transaction */
     err = xs_impl_rm(s, DOMID_GUEST, tx_id, "some/deep");
     g_assert(!err);
-    g_assert(s->nr_nodes == 9);
+    g_assert(s->nr_nodes == 11);
     g_assert(!watches->len);
 
     /* Resurrect part of it */
     err = write_str(s, DOMID_GUEST, tx_id, "some/deep/dark/different/path",
                     "something");
     g_assert(!err);
-    g_assert(s->nr_nodes == 9);
+    g_assert(s->nr_nodes == 11);
+
+    check_serdes(s);
 
     /* Commit the transaction */
     err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
     g_assert(!err);
-    g_assert(s->nr_nodes == 9);
+    g_assert(s->nr_nodes == 11);
+
+    check_serdes(s);
 
     /* lost data */
     g_assert(strstr(watches->str, "some/deep/dark/different/pathwatch"));
@@ -549,12 +757,14 @@ static void test_xs_node_tx_resurrect(void)
     g_assert(err == ENOENT);
     g_byte_array_unref(data);
 
+    check_serdes(s);
+
     err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
                         watch_cb, watches);
     g_assert(!err);
 
     g_string_free(watches, true);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 static void test_xs_node_tx_resurrect2(void)
@@ -608,11 +818,15 @@ static void test_xs_node_tx_resurrect2(void)
     g_assert(!err);
     g_assert(s->nr_nodes == 11);
 
+    check_serdes(s);
+
     /* Commit the transaction */
     err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
     g_assert(!err);
     g_assert(s->nr_nodes == 11);
 
+    check_serdes(s);
+
     /* lost data */
     g_assert(strstr(watches->str, "some/deep/dark/relative/pathwatch"));
     /* lost data */
@@ -629,12 +843,14 @@ static void test_xs_node_tx_resurrect2(void)
 
     g_byte_array_unref(data);
 
+    check_serdes(s);
+
     err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
                         watch_cb, watches);
     g_assert(!err);
 
     g_string_free(watches, true);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 int main(int argc, char **argv)
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:39:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:39:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505132.777773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXl1Y-00043a-7s; Thu, 02 Mar 2023 15:39:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505132.777773; Thu, 02 Mar 2023 15: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 1pXl1Y-00043F-4k; Thu, 02 Mar 2023 15:39:16 +0000
Received: by outflank-mailman (input) for mailman id 505132;
 Thu, 02 Mar 2023 15:39: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxX-0001Jw-Oy
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:35:08 +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 c2b6b5f4-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx3-00FL3a-2u; Thu, 02 Mar 2023 15:34:38 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx3-004uyK-2Y; Thu, 02 Mar 2023 15: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
X-Inumbo-ID: c2b6b5f4-b90f-11ed-a550-8520e6686977
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=ST1bS0bRzWP/tyEo71GSlFGlC4rrFm1ZZcHZE6bjAhs=; b=IO8rWde70SWnL/PxFFvNuS4qd4
	d+0ab7T1OOtiHvUYdmGs7u1J7jUDB/ZySytfJabPbLkNO7OMPO2fgxyMpStliZeupkB01qTeH4hI+
	R9toSu594vBRhdFKXvXCQg3YgTjUq+aNcWZM3G5mQI+7LdbmUAjhibKzRB2jGOrMEtI1Y8p0xbQ6A
	k29ITQkpYxgRvbJAlgz8RB7BULgIrH1nbH/PwiH6c72GaTY2oUZ5p4G/bKOBV6FOx8iru81x9SOy+
	W5pOaFXiii03nqkiGJetOKZeK2ghkc9Krb+E9uvjuI19HFDBHUOO2EskZdYA66LQXJjOBl6Ropy4F
	+idEBTKg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 01/25] hw/xen: Add xenstore wire implementation and implementation stubs
Date: Thu,  2 Mar 2023 15:34:11 +0000
Message-Id: <20230302153435.1170111-2-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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>

This implements the basic wire protocol for the XenStore commands, punting
all the actual implementation to xs_impl_* functions which all just return
errors for now.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/kvm/meson.build     |   1 +
 hw/i386/kvm/trace-events    |  15 +
 hw/i386/kvm/xen_xenstore.c  | 871 +++++++++++++++++++++++++++++++++++-
 hw/i386/kvm/xenstore_impl.c | 117 +++++
 hw/i386/kvm/xenstore_impl.h |  58 +++
 5 files changed, 1054 insertions(+), 8 deletions(-)
 create mode 100644 hw/i386/kvm/xenstore_impl.c
 create mode 100644 hw/i386/kvm/xenstore_impl.h

diff --git a/hw/i386/kvm/meson.build b/hw/i386/kvm/meson.build
index 82dd6ae7c6..6621ba5cd7 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',
+  'xenstore_impl.c',
   ))
 
 i386_ss.add_all(when: 'CONFIG_KVM', if_true: i386_kvm_ss)
diff --git a/hw/i386/kvm/trace-events b/hw/i386/kvm/trace-events
index b83c3eb965..e4c82de6f3 100644
--- a/hw/i386/kvm/trace-events
+++ b/hw/i386/kvm/trace-events
@@ -3,3 +3,18 @@ kvm_xen_unmap_pirq(int pirq, int gsi) "pirq %d gsi %d"
 kvm_xen_get_free_pirq(int pirq, int type) "pirq %d type %d"
 kvm_xen_bind_pirq(int pirq, int port) "pirq %d port %d"
 kvm_xen_unmask_pirq(int pirq, char *dev, int vector) "pirq %d dev %s vector %d"
+xenstore_error(unsigned int id, unsigned int tx_id, const char *err) "req %u tx %u err %s"
+xenstore_read(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_write(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_mkdir(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_directory(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_directory_part(unsigned int tx_id, const char *path, unsigned int offset) "tx %u path %s offset %u"
+xenstore_transaction_start(unsigned int new_tx) "new_tx %u"
+xenstore_transaction_end(unsigned int tx_id, bool commit) "tx %u commit %d"
+xenstore_rm(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_get_perms(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_set_perms(unsigned int tx_id, const char *path) "tx %u path %s"
+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"
diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 14193ef3f9..64d8f1a38f 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -28,6 +28,10 @@
 #include "sysemu/kvm.h"
 #include "sysemu/kvm_xen.h"
 
+#include "trace.h"
+
+#include "xenstore_impl.h"
+
 #include "hw/xen/interface/io/xs_wire.h"
 #include "hw/xen/interface/event_channel.h"
 
@@ -47,6 +51,9 @@ struct XenXenstoreState {
     SysBusDevice busdev;
     /*< public >*/
 
+    XenstoreImplState *impl;
+    GList *watch_events;
+
     MemoryRegion xenstore_page;
     struct xenstore_domain_interface *xs;
     uint8_t req_data[XENSTORE_HEADER_SIZE + XENSTORE_PAYLOAD_MAX];
@@ -64,6 +71,7 @@ struct XenXenstoreState {
 struct XenXenstoreState *xen_xenstore_singleton;
 
 static void xen_xenstore_event(void *opaque);
+static void fire_watch_cb(void *opaque, const char *path, const char *token);
 
 static void xen_xenstore_realize(DeviceState *dev, Error **errp)
 {
@@ -89,6 +97,8 @@ static void xen_xenstore_realize(DeviceState *dev, Error **errp)
     }
     aio_set_fd_handler(qemu_get_aio_context(), xen_be_evtchn_fd(s->eh), true,
                        xen_xenstore_event, NULL, NULL, NULL, s);
+
+    s->impl = xs_impl_create();
 }
 
 static bool xen_xenstore_is_needed(void *opaque)
@@ -213,20 +223,761 @@ static void reset_rsp(XenXenstoreState *s)
     s->rsp_offset = 0;
 }
 
+static void xs_error(XenXenstoreState *s, unsigned int id,
+                     xs_transaction_t tx_id, int errnum)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    const char *errstr = NULL;
+
+    for (unsigned int i = 0; i < ARRAY_SIZE(xsd_errors); i++) {
+        struct xsd_errors *xsd_error = &xsd_errors[i];
+
+        if (xsd_error->errnum == errnum) {
+            errstr = xsd_error->errstring;
+            break;
+        }
+    }
+    assert(errstr);
+
+    trace_xenstore_error(id, tx_id, errstr);
+
+    rsp->type = XS_ERROR;
+    rsp->req_id = id;
+    rsp->tx_id = tx_id;
+    rsp->len = (uint32_t)strlen(errstr) + 1;
+
+    memcpy(&rsp[1], errstr, rsp->len);
+}
+
+static void xs_ok(XenXenstoreState *s, unsigned int type, unsigned int req_id,
+                  xs_transaction_t tx_id)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    const char *okstr = "OK";
+
+    rsp->type = type;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = (uint32_t)strlen(okstr) + 1;
+
+    memcpy(&rsp[1], okstr, rsp->len);
+}
+
+/*
+ * The correct request and response formats are documented in xen.git:
+ * docs/misc/xenstore.txt. A summary is given below for convenience.
+ * The '|' symbol represents a NUL character.
+ *
+ * ---------- Database read, write and permissions operations ----------
+ *
+ * READ                    <path>|                 <value|>
+ * WRITE                   <path>|<value|>
+ *         Store and read the octet string <value> at <path>.
+ *         WRITE creates any missing parent paths, with empty values.
+ *
+ * MKDIR                   <path>|
+ *         Ensures that the <path> exists, by necessary by creating
+ *         it and any missing parents with empty values.  If <path>
+ *         or any parent already exists, its value is left unchanged.
+ *
+ * RM                      <path>|
+ *         Ensures that the <path> does not exist, by deleting
+ *         it and all of its children.  It is not an error if <path> does
+ *         not exist, but it _is_ an error if <path>'s immediate parent
+ *         does not exist either.
+ *
+ * DIRECTORY               <path>|                 <child-leaf-name>|*
+ *         Gives a list of the immediate children of <path>, as only the
+ *         leafnames.  The resulting children are each named
+ *         <path>/<child-leaf-name>.
+ *
+ * DIRECTORY_PART          <path>|<offset>         <gencnt>|<child-leaf-name>|*
+ *         Same as DIRECTORY, but to be used for children lists longer than
+ *         XENSTORE_PAYLOAD_MAX. Input are <path> and the byte offset into
+ *         the list of children to return. Return values are the generation
+ *         count <gencnt> of the node (to be used to ensure the node hasn't
+ *         changed between two reads: <gencnt> being the same for multiple
+ *         reads guarantees the node hasn't changed) and the list of children
+ *         starting at the specified <offset> of the complete list.
+ *
+ * GET_PERMS               <path>|                 <perm-as-string>|+
+ * SET_PERMS               <path>|<perm-as-string>|+?
+ *         <perm-as-string> is one of the following
+ *                 w<domid>        write only
+ *                 r<domid>        read only
+ *                 b<domid>        both read and write
+ *                 n<domid>        no access
+ *         See https://wiki.xen.org/wiki/XenBus section
+ *         `Permissions' for details of the permissions system.
+ *         It is possible to set permissions for the special watch paths
+ *         "@introduceDomain" and "@releaseDomain" to enable receiving those
+ *         watches in unprivileged domains.
+ *
+ * ---------- Watches ----------
+ *
+ * WATCH                   <wpath>|<token>|?
+ *         Adds a watch.
+ *
+ *         When a <path> is modified (including path creation, removal,
+ *         contents change or permissions change) this generates an event
+ *         on the changed <path>.  Changes made in transactions cause an
+ *         event only if and when committed.  Each occurring event is
+ *         matched against all the watches currently set up, and each
+ *         matching watch results in a WATCH_EVENT message (see below).
+ *
+ *         The event's path matches the watch's <wpath> if it is an child
+ *         of <wpath>.
+ *
+ *         <wpath> can be a <path> to watch or @<wspecial>.  In the
+ *         latter case <wspecial> may have any syntax but it matches
+ *         (according to the rules above) only the following special
+ *         events which are invented by xenstored:
+ *             @introduceDomain    occurs on INTRODUCE
+ *             @releaseDomain      occurs on any domain crash or
+ *                                 shutdown, and also on RELEASE
+ *                                 and domain destruction
+ *         <wspecial> events are sent to privileged callers or explicitly
+ *         via SET_PERMS enabled domains only.
+ *
+ *         When a watch is first set up it is triggered once straight
+ *         away, with <path> equal to <wpath>.  Watches may be triggered
+ *         spuriously.  The tx_id in a WATCH request is ignored.
+ *
+ *         Watches are supposed to be restricted by the permissions
+ *         system but in practice the implementation is imperfect.
+ *         Applications should not rely on being sent a notification for
+ *         paths that they cannot read; however, an application may rely
+ *         on being sent a watch when a path which it _is_ able to read
+ *         is deleted even if that leaves only a nonexistent unreadable
+ *         parent.  A notification may omitted if a node's permissions
+ *         are changed so as to make it unreadable, in which case future
+ *         notifications may be suppressed (and if the node is later made
+ *         readable, some notifications may have been lost).
+ *
+ * WATCH_EVENT                                     <epath>|<token>|
+ *         Unsolicited `reply' generated for matching modification events
+ *         as described above.  req_id and tx_id are both 0.
+ *
+ *         <epath> is the event's path, ie the actual path that was
+ *         modified; however if the event was the recursive removal of an
+ *         parent of <wpath>, <epath> is just
+ *         <wpath> (rather than the actual path which was removed).  So
+ *         <epath> is a child of <wpath>, regardless.
+ *
+ *         Iff <wpath> for the watch was specified as a relative pathname,
+ *         the <epath> path will also be relative (with the same base,
+ *         obviously).
+ *
+ * UNWATCH                 <wpath>|<token>|?
+ *
+ * RESET_WATCHES           |
+ *         Reset all watches and transactions of the caller.
+ *
+ * ---------- Transactions ----------
+ *
+ * TRANSACTION_START       |                       <transid>|
+ *         <transid> is an opaque uint32_t allocated by xenstored
+ *         represented as unsigned decimal.  After this, transaction may
+ *         be referenced by using <transid> (as 32-bit binary) in the
+ *         tx_id request header field.  When transaction is started whole
+ *         db is copied; reads and writes happen on the copy.
+ *         It is not legal to send non-0 tx_id in TRANSACTION_START.
+ *
+ * TRANSACTION_END         T|
+ * TRANSACTION_END         F|
+ *         tx_id must refer to existing transaction.  After this
+ *         request the tx_id is no longer valid and may be reused by
+ *         xenstore.  If F, the transaction is discarded.  If T,
+ *         it is committed: if there were any other intervening writes
+ *         then our END gets get EAGAIN.
+ *
+ *         The plan is that in the future only intervening `conflicting'
+ *         writes cause EAGAIN, meaning only writes or other commits
+ *         which changed paths which were read or written in the
+ *         transaction at hand.
+ *
+ */
+
+static void xs_read(XenXenstoreState *s, unsigned int req_id,
+                    xs_transaction_t tx_id, uint8_t *req_data, unsigned int len)
+{
+    const char *path = (const char *)req_data;
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    uint8_t *rsp_data = (uint8_t *)&rsp[1];
+    g_autoptr(GByteArray) data = g_byte_array_new();
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_read(tx_id, path);
+    err = xs_impl_read(s->impl, xen_domid, tx_id, path, data);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    rsp->type = XS_READ;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = 0;
+
+    len = data->len;
+    if (len > XENSTORE_PAYLOAD_MAX) {
+        xs_error(s, req_id, tx_id, E2BIG);
+        return;
+    }
+
+    memcpy(&rsp_data[rsp->len], data->data, len);
+    rsp->len += len;
+}
+
+static void xs_write(XenXenstoreState *s, unsigned int req_id,
+                     xs_transaction_t tx_id, uint8_t *req_data,
+                     unsigned int len)
+{
+    g_autoptr(GByteArray) data = g_byte_array_new();
+    const char *path;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    path = (const char *)req_data;
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    g_byte_array_append(data, req_data, len);
+
+    trace_xenstore_write(tx_id, path);
+    err = xs_impl_write(s->impl, xen_domid, tx_id, path, data);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_WRITE, req_id, tx_id);
+}
+
+static void xs_mkdir(XenXenstoreState *s, unsigned int req_id,
+                     xs_transaction_t tx_id, uint8_t *req_data,
+                     unsigned int len)
+{
+    g_autoptr(GByteArray) data = g_byte_array_new();
+    const char *path;
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    path = (const char *)req_data;
+
+    trace_xenstore_mkdir(tx_id, path);
+    err = xs_impl_read(s->impl, xen_domid, tx_id, path, data);
+    if (err == ENOENT) {
+        err = xs_impl_write(s->impl, xen_domid, tx_id, path, data);
+    }
+
+    if (!err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_MKDIR, req_id, tx_id);
+}
+
+static void xs_append_strings(XenXenstoreState *s, struct xsd_sockmsg *rsp,
+                              GList *strings, unsigned int start, bool truncate)
+{
+    uint8_t *rsp_data = (uint8_t *)&rsp[1];
+    GList *l;
+
+    for (l = strings; l; l = l->next) {
+        size_t len = strlen(l->data) + 1; /* Including the NUL termination */
+        char *str = l->data;
+
+        if (rsp->len + len > XENSTORE_PAYLOAD_MAX) {
+            if (truncate) {
+                len = XENSTORE_PAYLOAD_MAX - rsp->len;
+                if (!len) {
+                    return;
+                }
+            } else {
+                xs_error(s, rsp->req_id, rsp->tx_id, E2BIG);
+                return;
+            }
+        }
+
+        if (start) {
+            if (start >= len) {
+                start -= len;
+                continue;
+            }
+
+            str += start;
+            len -= start;
+            start = 0;
+        }
+
+        memcpy(&rsp_data[rsp->len], str, len);
+        rsp->len += len;
+    }
+    /* XS_DIRECTORY_PART wants an extra NUL to indicate the end */
+    if (truncate && rsp->len < XENSTORE_PAYLOAD_MAX) {
+        rsp_data[rsp->len++] = '\0';
+    }
+}
+
+static void xs_directory(XenXenstoreState *s, unsigned int req_id,
+                         xs_transaction_t tx_id, uint8_t *req_data,
+                         unsigned int len)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    GList *items = NULL;
+    const char *path;
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    path = (const char *)req_data;
+
+    trace_xenstore_directory(tx_id, path);
+    err = xs_impl_directory(s->impl, xen_domid, tx_id, path, NULL, &items);
+    if (err != 0) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    rsp->type = XS_DIRECTORY;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = 0;
+
+    xs_append_strings(s, rsp, items, 0, false);
+
+    g_list_free_full(items, g_free);
+}
+
+static void xs_directory_part(XenXenstoreState *s, unsigned int req_id,
+                              xs_transaction_t tx_id, uint8_t *req_data,
+                              unsigned int len)
+{
+    const char *offset_str, *path = (const char *)req_data;
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    char *rsp_data = (char *)&rsp[1];
+    uint64_t gencnt = 0;
+    unsigned int offset;
+    GList *items = NULL;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    offset_str = (const char *)req_data;
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    if (len) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    if (qemu_strtoui(offset_str, NULL, 10, &offset) < 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_directory_part(tx_id, path, offset);
+    err = xs_impl_directory(s->impl, xen_domid, tx_id, path, &gencnt, &items);
+    if (err != 0) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    rsp->type = XS_DIRECTORY_PART;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = snprintf(rsp_data, XENSTORE_PAYLOAD_MAX, "%" PRIu64, gencnt) + 1;
+
+    xs_append_strings(s, rsp, items, offset, true);
+
+    g_list_free_full(items, g_free);
+}
+
+static void xs_transaction_start(XenXenstoreState *s, unsigned int req_id,
+                                 xs_transaction_t tx_id, uint8_t *req_data,
+                                 unsigned int len)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    char *rsp_data = (char *)&rsp[1];
+    int err;
+
+    if (len != 1 || req_data[0] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    rsp->type = XS_TRANSACTION_START;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = 0;
+
+    err = xs_impl_transaction_start(s->impl, xen_domid, &tx_id);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    trace_xenstore_transaction_start(tx_id);
+
+    rsp->len = snprintf(rsp_data, XENSTORE_PAYLOAD_MAX, "%u", tx_id);
+    assert(rsp->len < XENSTORE_PAYLOAD_MAX);
+    rsp->len++;
+}
+
+static void xs_transaction_end(XenXenstoreState *s, unsigned int req_id,
+                               xs_transaction_t tx_id, uint8_t *req_data,
+                               unsigned int len)
+{
+    bool commit;
+    int err;
+
+    if (len != 2 || req_data[1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    switch (req_data[0]) {
+    case 'T':
+        commit = true;
+        break;
+    case 'F':
+        commit = false;
+        break;
+    default:
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_transaction_end(tx_id, commit);
+    err = xs_impl_transaction_end(s->impl, xen_domid, tx_id, commit);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_TRANSACTION_END, req_id, tx_id);
+}
+
+static void xs_rm(XenXenstoreState *s, unsigned int req_id,
+                  xs_transaction_t tx_id, uint8_t *req_data, unsigned int len)
+{
+    const char *path = (const char *)req_data;
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_rm(tx_id, path);
+    err = xs_impl_rm(s->impl, xen_domid, tx_id, path);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_RM, req_id, tx_id);
+}
+
+static void xs_get_perms(XenXenstoreState *s, unsigned int req_id,
+                         xs_transaction_t tx_id, uint8_t *req_data,
+                         unsigned int len)
+{
+    const char *path = (const char *)req_data;
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    GList *perms = NULL;
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_get_perms(tx_id, path);
+    err = xs_impl_get_perms(s->impl, xen_domid, tx_id, path, &perms);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    rsp->type = XS_GET_PERMS;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = 0;
+
+    xs_append_strings(s, rsp, perms, 0, false);
+
+    g_list_free_full(perms, g_free);
+}
+
+static void xs_set_perms(XenXenstoreState *s, unsigned int req_id,
+                         xs_transaction_t tx_id, uint8_t *req_data,
+                         unsigned int len)
+{
+    const char *path = (const char *)req_data;
+    uint8_t *perm;
+    GList *perms = NULL;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    perm = req_data;
+    while (len--) {
+        if (*req_data++ == '\0') {
+            perms = g_list_append(perms, perm);
+            perm = req_data;
+        }
+    }
+
+    /*
+     * Note that there may be trailing garbage at the end of the buffer.
+     * This is explicitly permitted by the '?' at the end of the definition:
+     *
+     *    SET_PERMS         <path>|<perm-as-string>|+?
+     */
+
+    trace_xenstore_set_perms(tx_id, path);
+    err = xs_impl_set_perms(s->impl, xen_domid, tx_id, path, perms);
+    g_list_free(perms);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_SET_PERMS, req_id, tx_id);
+}
+
+static void xs_watch(XenXenstoreState *s, unsigned int req_id,
+                     xs_transaction_t tx_id, uint8_t *req_data,
+                     unsigned int len)
+{
+    const char *token, *path = (const char *)req_data;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    token = (const char *)req_data;
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    /*
+     * Note that there may be trailing garbage at the end of the buffer.
+     * This is explicitly permitted by the '?' at the end of the definition:
+     *
+     *    WATCH             <wpath>|<token>|?
+     */
+
+    trace_xenstore_watch(path, token);
+    err = xs_impl_watch(s->impl, xen_domid, path, token, fire_watch_cb, s);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_WATCH, req_id, tx_id);
+}
+
+static void xs_unwatch(XenXenstoreState *s, unsigned int req_id,
+                       xs_transaction_t tx_id, uint8_t *req_data,
+                       unsigned int len)
+{
+    const char *token, *path = (const char *)req_data;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    token = (const char *)req_data;
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    trace_xenstore_unwatch(path, token);
+    err = xs_impl_unwatch(s->impl, xen_domid, path, token, fire_watch_cb, s);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_UNWATCH, req_id, tx_id);
+}
+
+static void xs_reset_watches(XenXenstoreState *s, unsigned int req_id,
+                             xs_transaction_t tx_id, uint8_t *req_data,
+                             unsigned int len)
+{
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_reset_watches();
+    xs_impl_reset_watches(s->impl, xen_domid);
+
+    xs_ok(s, XS_RESET_WATCHES, req_id, tx_id);
+}
+
+static void xs_priv(XenXenstoreState *s, unsigned int req_id,
+                    xs_transaction_t tx_id, uint8_t *data,
+                    unsigned int len)
+{
+    xs_error(s, req_id, tx_id, EACCES);
+}
+
+static void xs_unimpl(XenXenstoreState *s, unsigned int req_id,
+                      xs_transaction_t tx_id, uint8_t *data,
+                      unsigned int len)
+{
+    xs_error(s, req_id, tx_id, ENOSYS);
+}
+
+typedef void (*xs_impl)(XenXenstoreState *s, unsigned int req_id,
+                        xs_transaction_t tx_id, uint8_t *data,
+                        unsigned int len);
+
+struct xsd_req {
+    const char *name;
+    xs_impl fn;
+};
+#define XSD_REQ(_type, _fn)                           \
+    [_type] = { .name = #_type, .fn = _fn }
+
+struct xsd_req xsd_reqs[] = {
+    XSD_REQ(XS_READ, xs_read),
+    XSD_REQ(XS_WRITE, xs_write),
+    XSD_REQ(XS_MKDIR, xs_mkdir),
+    XSD_REQ(XS_DIRECTORY, xs_directory),
+    XSD_REQ(XS_DIRECTORY_PART, xs_directory_part),
+    XSD_REQ(XS_TRANSACTION_START, xs_transaction_start),
+    XSD_REQ(XS_TRANSACTION_END, xs_transaction_end),
+    XSD_REQ(XS_RM, xs_rm),
+    XSD_REQ(XS_GET_PERMS, xs_get_perms),
+    XSD_REQ(XS_SET_PERMS, xs_set_perms),
+    XSD_REQ(XS_WATCH, xs_watch),
+    XSD_REQ(XS_UNWATCH, xs_unwatch),
+    XSD_REQ(XS_CONTROL, xs_priv),
+    XSD_REQ(XS_INTRODUCE, xs_priv),
+    XSD_REQ(XS_RELEASE, xs_priv),
+    XSD_REQ(XS_IS_DOMAIN_INTRODUCED, xs_priv),
+    XSD_REQ(XS_RESUME, xs_priv),
+    XSD_REQ(XS_SET_TARGET, xs_priv),
+    XSD_REQ(XS_RESET_WATCHES, xs_reset_watches),
+};
+
 static void process_req(XenXenstoreState *s)
 {
     struct xsd_sockmsg *req = (struct xsd_sockmsg *)s->req_data;
-    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
-    const char enosys[] = "ENOSYS";
+    xs_impl handler = NULL;
 
     assert(req_pending(s));
     assert(!s->rsp_pending);
 
-    rsp->type = XS_ERROR;
-    rsp->req_id = req->req_id;
-    rsp->tx_id = req->tx_id;
-    rsp->len = sizeof(enosys);
-    memcpy((void *)&rsp[1], enosys, sizeof(enosys));
+    if (req->type < ARRAY_SIZE(xsd_reqs)) {
+        handler = xsd_reqs[req->type].fn;
+    }
+    if (!handler) {
+        handler = &xs_unimpl;
+    }
+
+    handler(s, req->req_id, req->tx_id, (uint8_t *)&req[1], req->len);
 
     s->rsp_pending = true;
     reset_req(s);
@@ -415,6 +1166,106 @@ static unsigned int put_rsp(XenXenstoreState *s)
     return copylen;
 }
 
+static void deliver_watch(XenXenstoreState *s, const char *path,
+                          const char *token)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    uint8_t *rsp_data = (uint8_t *)&rsp[1];
+    unsigned int len;
+
+    assert(!s->rsp_pending);
+
+    trace_xenstore_watch_event(path, token);
+
+    rsp->type = XS_WATCH_EVENT;
+    rsp->req_id = 0;
+    rsp->tx_id = 0;
+    rsp->len = 0;
+
+    len = strlen(path);
+
+    /* XENSTORE_ABS/REL_PATH_MAX should ensure there can be no overflow */
+    assert(rsp->len + len < XENSTORE_PAYLOAD_MAX);
+
+    memcpy(&rsp_data[rsp->len], path, len);
+    rsp->len += len;
+    rsp_data[rsp->len] = '\0';
+    rsp->len++;
+
+    len = strlen(token);
+    /*
+     * It is possible for the guest to have chosen a token that will
+     * not fit (along with the patch) into a watch event. We have no
+     * choice but to drop the event if this is the case.
+     */
+    if (rsp->len + len >= XENSTORE_PAYLOAD_MAX) {
+        return;
+    }
+
+    memcpy(&rsp_data[rsp->len], token, len);
+    rsp->len += len;
+    rsp_data[rsp->len] = '\0';
+    rsp->len++;
+
+    s->rsp_pending = true;
+}
+
+struct watch_event {
+    char *path;
+    char *token;
+};
+
+static void queue_watch(XenXenstoreState *s, const char *path,
+                        const char *token)
+{
+    struct watch_event *ev = g_new0(struct watch_event, 1);
+
+    ev->path = g_strdup(path);
+    ev->token = g_strdup(token);
+
+    s->watch_events = g_list_append(s->watch_events, ev);
+}
+
+static void fire_watch_cb(void *opaque, const char *path, const char *token)
+{
+    XenXenstoreState *s = opaque;
+
+    assert(qemu_mutex_iothread_locked());
+
+    /*
+     * If there's a response pending, we obviously can't scribble over
+     * it. But if there's a request pending, it has dibs on the buffer
+     * too.
+     *
+     * In the common case of a watch firing due to backend activity
+     * when the ring was otherwise idle, we should be able to copy the
+     * strings directly into the rsp_data and thence the actual ring,
+     * without needing to perform any allocations and queue them.
+     */
+    if (s->rsp_pending || req_pending(s)) {
+        queue_watch(s, path, 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.
+         */
+        xen_be_evtchn_notify(s->eh, s->be_port);
+    }
+}
+
+static void process_watch_events(XenXenstoreState *s)
+{
+    struct watch_event *ev = s->watch_events->data;
+
+    deliver_watch(s, ev->path, ev->token);
+
+    s->watch_events = g_list_remove(s->watch_events, ev);
+    g_free(ev->path);
+    g_free(ev->token);
+    g_free(ev);
+}
+
 static void xen_xenstore_event(void *opaque)
 {
     XenXenstoreState *s = opaque;
@@ -433,6 +1284,10 @@ static void xen_xenstore_event(void *opaque)
         copied_to = copied_from = 0;
         processed = false;
 
+        if (!s->rsp_pending && s->watch_events) {
+            process_watch_events(s);
+        }
+
         if (s->rsp_pending) {
             copied_to = put_rsp(s);
         }
@@ -441,7 +1296,7 @@ static void xen_xenstore_event(void *opaque)
             copied_from = get_req(s);
         }
 
-        if (req_pending(s) && !s->rsp_pending) {
+        if (req_pending(s) && !s->rsp_pending && !s->watch_events) {
             process_req(s);
             processed = true;
         }
diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
new file mode 100644
index 0000000000..31dbc98fe0
--- /dev/null
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -0,0 +1,117 @@
+/*
+ * QEMU Xen emulation: The actual implementation of XenStore
+ *
+ * Copyright © 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Authors: David Woodhouse <dwmw2@infradead.org>, Paul Durrant <paul@xen.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 "xen_xenstore.h"
+#include "xenstore_impl.h"
+
+struct XenstoreImplState {
+};
+
+int xs_impl_read(XenstoreImplState *s, unsigned int dom_id,
+                 xs_transaction_t tx_id, const char *path, GByteArray *data)
+{
+    /*
+     * The data GByteArray shall exist, and will be freed by caller.
+     * Just g_byte_array_append() to it.
+     */
+    return ENOENT;
+}
+
+int xs_impl_write(XenstoreImplState *s, unsigned int dom_id,
+                  xs_transaction_t tx_id, const char *path, GByteArray *data)
+{
+    /*
+     * The data GByteArray shall exist, will be freed by caller. You are
+     * free to use g_byte_array_steal() and keep the data.
+     */
+    return ENOSYS;
+}
+
+int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path,
+                      uint64_t *gencnt, GList **items)
+{
+    /*
+     * The items are (char *) to be freed by caller. Although it's consumed
+     * immediately so if you want to change it to (const char *) and keep
+     * them, go ahead and change the caller.
+     */
+    return ENOENT;
+}
+
+int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
+                              xs_transaction_t *tx_id)
+{
+    return ENOSYS;
+}
+
+int xs_impl_transaction_end(XenstoreImplState *s, unsigned int dom_id,
+                            xs_transaction_t tx_id, bool commit)
+{
+    return ENOSYS;
+}
+
+int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
+               xs_transaction_t tx_id, const char *path)
+{
+    return ENOSYS;
+}
+
+int xs_impl_get_perms(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path, GList **perms)
+{
+    /*
+     * The perms are (char *) in the <perm-as-string> wire format to be
+     * freed by the caller.
+     */
+    return ENOSYS;
+}
+
+int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path, GList *perms)
+{
+    /*
+     * The perms are (const char *) in the <perm-as-string> wire format.
+     */
+    return ENOSYS;
+}
+
+int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
+                  const char *token, xs_impl_watch_fn fn, void *opaque)
+{
+    /*
+     * When calling the callback @fn, note that the path should
+     * precisely match the relative path that the guest provided, even
+     * if it was a relative path which needed to be prefixed with
+     * /local/domain/${domid}/
+     */
+    return ENOSYS;
+}
+
+int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
+                    const char *path, const char *token,
+                    xs_impl_watch_fn fn, void *opaque)
+{
+    /* Remove the watch that matches all four criteria */
+    return ENOSYS;
+}
+
+int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id)
+{
+    return ENOSYS;
+}
+
+XenstoreImplState *xs_impl_create(void)
+{
+    return g_new0(XenstoreImplState, 1);
+}
diff --git a/hw/i386/kvm/xenstore_impl.h b/hw/i386/kvm/xenstore_impl.h
new file mode 100644
index 0000000000..beb7b29ab8
--- /dev/null
+++ b/hw/i386/kvm/xenstore_impl.h
@@ -0,0 +1,58 @@
+/*
+ * QEMU Xen emulation: The actual implementation of XenStore
+ *
+ * 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_XENSTORE_IMPL_H
+#define QEMU_XENSTORE_IMPL_H
+
+typedef uint32_t xs_transaction_t;
+
+#define XBT_NULL 0
+
+typedef struct XenstoreImplState XenstoreImplState;
+
+XenstoreImplState *xs_impl_create(void);
+
+/*
+ * These functions return *positive* error numbers. This is a little
+ * unconventional but it helps to keep us honest because there is
+ * also a very limited set of error numbers that they are permitted
+ * to return (those in xsd_errors).
+ */
+
+int xs_impl_read(XenstoreImplState *s, unsigned int dom_id,
+                 xs_transaction_t tx_id, const char *path, GByteArray *data);
+int xs_impl_write(XenstoreImplState *s, unsigned int dom_id,
+                  xs_transaction_t tx_id, const char *path, GByteArray *data);
+int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path,
+                      uint64_t *gencnt, GList **items);
+int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
+                              xs_transaction_t *tx_id);
+int xs_impl_transaction_end(XenstoreImplState *s, unsigned int dom_id,
+                            xs_transaction_t tx_id, bool commit);
+int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
+               xs_transaction_t tx_id, const char *path);
+int xs_impl_get_perms(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path, GList **perms);
+int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path, GList *perms);
+
+/* This differs from xs_watch_fn because it has the token */
+typedef void(xs_impl_watch_fn)(void *opaque, const char *path,
+                               const char *token);
+int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
+                  const char *token, xs_impl_watch_fn fn, void *opaque);
+int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
+                    const char *path, const char *token, xs_impl_watch_fn fn,
+                    void *opaque);
+int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id);
+
+#endif /* QEMU_XENSTORE_IMPL_H */
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:39:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:39:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505151.777783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXl1i-0004ds-KF; Thu, 02 Mar 2023 15:39:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505151.777783; Thu, 02 Mar 2023 15: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 1pXl1i-0004di-H4; Thu, 02 Mar 2023 15:39:26 +0000
Received: by outflank-mailman (input) for mailman id 505151;
 Thu, 02 Mar 2023 15:39: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxU-0001Jw-OC
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:35:04 +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 c2b283e5-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx4-00FL3q-38; Thu, 02 Mar 2023 15:34:41 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uzf-2m; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2b283e5-b90f-11ed-a550-8520e6686977
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=0AyQpPd/CdJCn44zjL9zdzWbeQRuI8mbYBEGeaZNf0g=; b=GF1UkXMJYKnkrymMgC583SbMEm
	wi/RLc1fkxJFaBIQUCwaUFjYF2yZU2z+RO3ZF2IWAC3iEIrDOWp0vTWkACYd9YF8xkniJvq0z0sGc
	E2paSgXsFJQgBVYKCjkWQSA4WJASVkOCNKlm0q7hYbRKelXXzZKo++wdkuD6kiW8Xe0qXhU1XRKmZ
	Iu5CVfBGk1hmpMjZD+3lQqrOA2/XAjERtZx2P49eiIpgzsr2L64aRWkOtvvWx95kmOI15zwMuz/uv
	Rp4XaWEieFRXvGTnCkU/NV467N9WUKnz4EQYw7f9b3HB13Y0zaND1SB5WOVaPkm3HJJqgmcLMAPB9
	R5cpngRQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 21/25] hw/xen: Add emulated implementation of grant table operations
Date: Thu,  2 Mar 2023 15:34:31 +0000
Message-Id: <20230302153435.1170111-22-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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 is limited to mapping a single grant at a time, because under Xen the
pages are mapped *contiguously* into qemu's address space, and that's very
hard to do when those pages actually come from anonymous mappings in qemu
in the first place.

Eventually perhaps we can look at using shared mappings of actual objects
for system RAM, and then we can make new mappings of the same backing
store (be it deleted files, shmem, whatever). But for now let's stick to
a page at a time.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/kvm/xen_gnttab.c | 299 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 296 insertions(+), 3 deletions(-)

diff --git a/hw/i386/kvm/xen_gnttab.c b/hw/i386/kvm/xen_gnttab.c
index 1e691ded32..2bf91d36c0 100644
--- a/hw/i386/kvm/xen_gnttab.c
+++ b/hw/i386/kvm/xen_gnttab.c
@@ -22,6 +22,7 @@
 
 #include "hw/sysbus.h"
 #include "hw/xen/xen.h"
+#include "hw/xen/xen_backend_ops.h"
 #include "xen_overlay.h"
 #include "xen_gnttab.h"
 
@@ -34,11 +35,10 @@
 #define TYPE_XEN_GNTTAB "xen-gnttab"
 OBJECT_DECLARE_SIMPLE_TYPE(XenGnttabState, XEN_GNTTAB)
 
-#define XEN_PAGE_SHIFT 12
-#define XEN_PAGE_SIZE (1ULL << XEN_PAGE_SHIFT)
-
 #define ENTRIES_PER_FRAME_V1 (XEN_PAGE_SIZE / sizeof(grant_entry_v1_t))
 
+static struct gnttab_backend_ops emu_gnttab_backend_ops;
+
 struct XenGnttabState {
     /*< private >*/
     SysBusDevice busdev;
@@ -57,6 +57,8 @@ struct XenGnttabState {
     MemoryRegion gnt_frames;
     MemoryRegion *gnt_aliases;
     uint64_t *gnt_frame_gpas;
+
+    uint8_t *map_track;
 };
 
 struct XenGnttabState *xen_gnttab_singleton;
@@ -88,9 +90,15 @@ static void xen_gnttab_realize(DeviceState *dev, Error **errp)
         s->gnt_frame_gpas[i] = INVALID_GPA;
     }
 
+    s->entries.v1[GNTTAB_RESERVED_XENSTORE].flags = GTF_permit_access;
+    s->entries.v1[GNTTAB_RESERVED_XENSTORE].frame = XEN_SPECIAL_PFN(XENSTORE);
     qemu_mutex_init(&s->gnt_lock);
 
     xen_gnttab_singleton = s;
+
+    s->map_track = g_new0(uint8_t, s->max_frames * ENTRIES_PER_FRAME_V1);
+
+    xen_gnttab_ops = &emu_gnttab_backend_ops;
 }
 
 static int xen_gnttab_post_load(void *opaque, int version_id)
@@ -230,3 +238,288 @@ int xen_gnttab_query_size_op(struct gnttab_query_size *size)
     size->max_nr_frames = s->max_frames;
     return 0;
 }
+
+/* Track per-open refs, to allow close() to clean up. */
+struct active_ref {
+    MemoryRegionSection mrs;
+    void *virtaddr;
+    uint32_t refcnt;
+    int prot;
+};
+
+static void gnt_unref(XenGnttabState *s, grant_ref_t ref,
+                      MemoryRegionSection *mrs, int prot)
+{
+    if (mrs && mrs->mr) {
+        if (prot & PROT_WRITE) {
+            memory_region_set_dirty(mrs->mr, mrs->offset_within_region,
+                                    XEN_PAGE_SIZE);
+        }
+        memory_region_unref(mrs->mr);
+        mrs->mr = NULL;
+    }
+    assert(s->map_track[ref] != 0);
+
+    if (--s->map_track[ref] == 0) {
+        grant_entry_v1_t *gnt_p = &s->entries.v1[ref];
+        qatomic_and(&gnt_p->flags, (uint16_t)~(GTF_reading | GTF_writing));
+    }
+}
+
+static uint64_t gnt_ref(XenGnttabState *s, grant_ref_t ref, int prot)
+{
+    uint16_t mask = GTF_type_mask | GTF_sub_page;
+    grant_entry_v1_t gnt, *gnt_p;
+    int retries = 0;
+
+    if (ref >= s->max_frames * ENTRIES_PER_FRAME_V1 ||
+        s->map_track[ref] == UINT8_MAX) {
+        return INVALID_GPA;
+    }
+
+    if (prot & PROT_WRITE) {
+        mask |= GTF_readonly;
+    }
+
+    gnt_p = &s->entries.v1[ref];
+
+    /*
+     * The guest can legitimately be changing the GTF_readonly flag. Allow
+     * that, but don't let a malicious guest cause a livelock.
+     */
+    for (retries = 0; retries < 5; retries++) {
+        uint16_t new_flags;
+
+        /* Read the entry before an atomic operation on its flags */
+        gnt = *(volatile grant_entry_v1_t *)gnt_p;
+
+        if ((gnt.flags & mask) != GTF_permit_access ||
+            gnt.domid != DOMID_QEMU) {
+            return INVALID_GPA;
+        }
+
+        new_flags = gnt.flags | GTF_reading;
+        if (prot & PROT_WRITE) {
+            new_flags |= GTF_writing;
+        }
+
+        if (qatomic_cmpxchg(&gnt_p->flags, gnt.flags, new_flags) == gnt.flags) {
+            return (uint64_t)gnt.frame << XEN_PAGE_SHIFT;
+        }
+    }
+
+    return INVALID_GPA;
+}
+
+struct xengntdev_handle {
+    GHashTable *active_maps;
+};
+
+static int xen_be_gnttab_set_max_grants(struct xengntdev_handle *xgt,
+                                        uint32_t nr_grants)
+{
+    return 0;
+}
+
+static void *xen_be_gnttab_map_refs(struct xengntdev_handle *xgt,
+                                    uint32_t count, uint32_t domid,
+                                    uint32_t *refs, int prot)
+{
+    XenGnttabState *s = xen_gnttab_singleton;
+    struct active_ref *act;
+
+    if (!s) {
+        errno = ENOTSUP;
+        return NULL;
+    }
+
+    if (domid != xen_domid) {
+        errno = EINVAL;
+        return NULL;
+    }
+
+    if (!count || count > 4096) {
+        errno = EINVAL;
+        return NULL;
+    }
+
+    /*
+     * Making a contiguous mapping from potentially discontiguous grant
+     * references would be... distinctly non-trivial. We don't support it.
+     * Even changing the API to return an array of pointers, one per page,
+     * wouldn't be simple to use in PV backends because some structures
+     * actually cross page boundaries (e.g. 32-bit blkif_response ring
+     * entries are 12 bytes).
+     */
+    if (count != 1) {
+        errno = EINVAL;
+        return NULL;
+    }
+
+    QEMU_LOCK_GUARD(&s->gnt_lock);
+
+    act = g_hash_table_lookup(xgt->active_maps, GINT_TO_POINTER(refs[0]));
+    if (act) {
+        if ((prot & PROT_WRITE) && !(act->prot & PROT_WRITE)) {
+            if (gnt_ref(s, refs[0], prot) == INVALID_GPA) {
+                return NULL;
+            }
+            act->prot |= PROT_WRITE;
+        }
+        act->refcnt++;
+    } else {
+        uint64_t gpa = gnt_ref(s, refs[0], prot);
+        if (gpa == INVALID_GPA) {
+            errno = EINVAL;
+            return NULL;
+        }
+
+        act = g_new0(struct active_ref, 1);
+        act->prot = prot;
+        act->refcnt = 1;
+        act->mrs = memory_region_find(get_system_memory(), gpa, XEN_PAGE_SIZE);
+
+        if (act->mrs.mr &&
+            !int128_lt(act->mrs.size, int128_make64(XEN_PAGE_SIZE)) &&
+            memory_region_get_ram_addr(act->mrs.mr) != RAM_ADDR_INVALID) {
+            act->virtaddr = qemu_map_ram_ptr(act->mrs.mr->ram_block,
+                                             act->mrs.offset_within_region);
+        }
+        if (!act->virtaddr) {
+            gnt_unref(s, refs[0], &act->mrs, 0);
+            g_free(act);
+            errno = EINVAL;
+            return NULL;
+        }
+
+        s->map_track[refs[0]]++;
+        g_hash_table_insert(xgt->active_maps, GINT_TO_POINTER(refs[0]), act);
+    }
+
+    return act->virtaddr;
+}
+
+static gboolean do_unmap(gpointer key, gpointer value, gpointer user_data)
+{
+    XenGnttabState *s = user_data;
+    grant_ref_t gref = GPOINTER_TO_INT(key);
+    struct active_ref *act = value;
+
+    gnt_unref(s, gref, &act->mrs, act->prot);
+    g_free(act);
+    return true;
+}
+
+static int xen_be_gnttab_unmap(struct xengntdev_handle *xgt,
+                               void *start_address, uint32_t *refs,
+                               uint32_t count)
+{
+    XenGnttabState *s = xen_gnttab_singleton;
+    struct active_ref *act;
+
+    if (!s) {
+        return -ENOTSUP;
+    }
+
+    if (count != 1) {
+        return -EINVAL;
+    }
+
+    QEMU_LOCK_GUARD(&s->gnt_lock);
+
+    act = g_hash_table_lookup(xgt->active_maps, GINT_TO_POINTER(refs[0]));
+    if (!act) {
+        return -ENOENT;
+    }
+
+    if (act->virtaddr != start_address) {
+        return -EINVAL;
+    }
+
+    if (!--act->refcnt) {
+        do_unmap(GINT_TO_POINTER(refs[0]), act, s);
+        g_hash_table_remove(xgt->active_maps, GINT_TO_POINTER(refs[0]));
+    }
+
+    return 0;
+}
+
+/*
+ * This looks a bit like the one for true Xen in xen-operations.c but
+ * in emulation we don't support multi-page mappings. And under Xen we
+ * *want* the multi-page mappings so we have fewer bounces through the
+ * kernel and the hypervisor. So the code paths end up being similar,
+ * but different.
+ */
+static int xen_be_gnttab_copy(struct xengntdev_handle *xgt, bool to_domain,
+                              uint32_t domid, XenGrantCopySegment *segs,
+                              uint32_t nr_segs, Error **errp)
+{
+    int prot = to_domain ? PROT_WRITE : PROT_READ;
+    unsigned int i;
+
+    for (i = 0; i < nr_segs; i++) {
+        XenGrantCopySegment *seg = &segs[i];
+        void *page;
+        uint32_t ref = to_domain ? seg->dest.foreign.ref :
+            seg->source.foreign.ref;
+
+        page = xen_be_gnttab_map_refs(xgt, 1, domid, &ref, prot);
+        if (!page) {
+            if (errp) {
+                error_setg_errno(errp, errno,
+                                 "xen_be_gnttab_map_refs failed");
+            }
+            return -errno;
+        }
+
+        if (to_domain) {
+            memcpy(page + seg->dest.foreign.offset, seg->source.virt,
+                   seg->len);
+        } else {
+            memcpy(seg->dest.virt, page + seg->source.foreign.offset,
+                   seg->len);
+        }
+
+        if (xen_be_gnttab_unmap(xgt, page, &ref, 1)) {
+            if (errp) {
+                error_setg_errno(errp, errno, "xen_be_gnttab_unmap failed");
+            }
+            return -errno;
+        }
+    }
+
+    return 0;
+}
+
+static struct xengntdev_handle *xen_be_gnttab_open(void)
+{
+    struct xengntdev_handle *xgt = g_new0(struct xengntdev_handle, 1);
+
+    xgt->active_maps = g_hash_table_new(g_direct_hash, g_direct_equal);
+    return xgt;
+}
+
+static int xen_be_gnttab_close(struct xengntdev_handle *xgt)
+{
+    XenGnttabState *s = xen_gnttab_singleton;
+
+    if (!s) {
+        return -ENOTSUP;
+    }
+
+    g_hash_table_foreach_remove(xgt->active_maps, do_unmap, s);
+    g_hash_table_destroy(xgt->active_maps);
+    g_free(xgt);
+    return 0;
+}
+
+static struct gnttab_backend_ops emu_gnttab_backend_ops = {
+    .open = xen_be_gnttab_open,
+    .close = xen_be_gnttab_close,
+    .grant_copy = xen_be_gnttab_copy,
+    .set_max_grants = xen_be_gnttab_set_max_grants,
+    .map_refs = xen_be_gnttab_map_refs,
+    .unmap = xen_be_gnttab_unmap,
+};
+
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:39:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:39:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505154.777792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXl1l-00051x-Rt; Thu, 02 Mar 2023 15:39:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505154.777792; Thu, 02 Mar 2023 15: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 1pXl1l-00051l-P3; Thu, 02 Mar 2023 15:39:29 +0000
Received: by outflank-mailman (input) for mailman id 505154;
 Thu, 02 Mar 2023 15: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxS-0001Jw-Nq
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:35:02 +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 c458795e-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx5-00FL3t-0S; Thu, 02 Mar 2023 15:34:44 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx5-004uzv-05; Thu, 02 Mar 2023 15:34: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
X-Inumbo-ID: c458795e-b90f-11ed-a550-8520e6686977
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=/GQrGB9GrgC+Q8b54vxISRJa7cHPlcTCAZI1cxqx0gk=; b=KNpoc56AxdyqwqODe7tIRm+WTq
	ZEo+mZzWlDOYx/REo4Hh7sRTsD1jg/4V8jUUb0D7jNd1l/FQbJeU7KhEDOoBNrgCOTNyYbS2fMQ5n
	Tmj/FP+EhTdaQCFycvw5u94GedSXnkgUa7ZGoWFnS0K3DajVLi6Ue03zvWWIrAviihKYS4YKrZ1bF
	a1kiuQbPO3zbVNpGJvE1p9vCHDUdELVwEBK3lOB8OtsztLuGBlQeISaQXvvQv8WRajcxynUx7mJEf
	fZ9S+ivqVptAXDVfvB40RffQpuomI1R13Dcsbp0QcNrHactvz6T+u2THro41Ixw/TXCHnN+6O1E/A
	IxTXd0Fg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 24/25] hw/xen: Implement soft reset for emulated gnttab
Date: Thu,  2 Mar 2023 15:34:34 +0000
Message-Id: <20230302153435.1170111-25-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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 is only part of it; we will also need to get the PV back end drivers
to tear down their own mappings (or do it for them, but they kind of need
to stop using the pointers too).

Some more work on the actual PV back ends and xen-bus code is going to be
needed to really make soft reset and migration fully functional, and this
part is the basis for that.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/kvm/xen_gnttab.c  | 26 ++++++++++++++++++++++++--
 hw/i386/kvm/xen_gnttab.h  |  1 +
 target/i386/kvm/xen-emu.c |  5 +++++
 3 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/hw/i386/kvm/xen_gnttab.c b/hw/i386/kvm/xen_gnttab.c
index 2bf91d36c0..21c30e3659 100644
--- a/hw/i386/kvm/xen_gnttab.c
+++ b/hw/i386/kvm/xen_gnttab.c
@@ -72,13 +72,11 @@ static void xen_gnttab_realize(DeviceState *dev, Error **errp)
         error_setg(errp, "Xen grant table support is for Xen emulation");
         return;
     }
-    s->nr_frames = 0;
     s->max_frames = kvm_xen_get_gnttab_max_frames();
     memory_region_init_ram(&s->gnt_frames, OBJECT(dev), "xen:grant_table",
                            XEN_PAGE_SIZE * s->max_frames, &error_abort);
     memory_region_set_enabled(&s->gnt_frames, true);
     s->entries.v1 = memory_region_get_ram_ptr(&s->gnt_frames);
-    memset(s->entries.v1, 0, XEN_PAGE_SIZE * s->max_frames);
 
     /* Create individual page-sizes aliases for overlays */
     s->gnt_aliases = (void *)g_new0(MemoryRegion, s->max_frames);
@@ -90,8 +88,11 @@ static void xen_gnttab_realize(DeviceState *dev, Error **errp)
         s->gnt_frame_gpas[i] = INVALID_GPA;
     }
 
+    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);
+
     qemu_mutex_init(&s->gnt_lock);
 
     xen_gnttab_singleton = s;
@@ -523,3 +524,24 @@ static struct gnttab_backend_ops emu_gnttab_backend_ops = {
     .unmap = xen_be_gnttab_unmap,
 };
 
+int xen_gnttab_reset(void)
+{
+    XenGnttabState *s = xen_gnttab_singleton;
+
+    if (!s) {
+        return -ENOTSUP;
+    }
+
+    QEMU_LOCK_GUARD(&s->gnt_lock);
+
+    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);
+
+    memset(s->map_track, 0, s->max_frames * ENTRIES_PER_FRAME_V1);
+
+    return 0;
+}
diff --git a/hw/i386/kvm/xen_gnttab.h b/hw/i386/kvm/xen_gnttab.h
index 3bdbe96191..ee215239b0 100644
--- a/hw/i386/kvm/xen_gnttab.h
+++ b/hw/i386/kvm/xen_gnttab.h
@@ -13,6 +13,7 @@
 #define QEMU_XEN_GNTTAB_H
 
 void xen_gnttab_create(void);
+int xen_gnttab_reset(void);
 int xen_gnttab_map_page(uint64_t idx, uint64_t gfn);
 
 struct gnttab_set_version;
diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index bad3131d08..0bb6c601c9 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -1406,6 +1406,11 @@ int kvm_xen_soft_reset(void)
         return err;
     }
 
+    err = xen_gnttab_reset();
+    if (err) {
+        return err;
+    }
+
     err = xen_xenstore_reset();
     if (err) {
         return err;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:39:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:39:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505159.777803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXl1r-0005UT-4o; Thu, 02 Mar 2023 15:39:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505159.777803; Thu, 02 Mar 2023 15:39:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXl1r-0005UA-10; Thu, 02 Mar 2023 15:39:35 +0000
Received: by outflank-mailman (input) for mailman id 505159;
 Thu, 02 Mar 2023 15:39: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxT-0001Jw-Nx
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:35:03 +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 c2b5ee8b-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx4-00FL3c-0S; Thu, 02 Mar 2023 15:34:39 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uyb-06; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2b5ee8b-b90f-11ed-a550-8520e6686977
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=/2Rzkhe6vu3EnqlxwxkKLSnLjHu/z1N676CpAY7tWpg=; b=Z8dtiQ7yWkEb1ddrgJZy0gvVmE
	otVXOrzfKGhO9DjOfDJv3l8Ah1QRjKdyE+b8EUcmFMREDODMrCyGnNnAS9kog4DMTXOnDW//4vZbe
	I5UzmmY/pqLKm33tYKjJmxfK4Mjz2f83UXZJ5J8gKwSw2rXjnF85wWXprQfkgx1lopZBO44h8b+Uj
	ZvTRZkjQgcyjsT40iSijXqugHcN+2yeYb4oAdJ3WA6+x+pJDC7olA1/OPhbKUHt9m9zhCD/C0feWM
	h+QKHC0suHjb18drhfuqf5IdFPL+zv1pS6wO6J4qQ0AiJOMM+mfoaFLbMlRvttcFQInz1fqxrlUhF
	/lsrJAYQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 05/25] hw/xen: Watches on XenStore transactions
Date: Thu,  2 Mar 2023 15:34:15 +0000
Message-Id: <20230302153435.1170111-6-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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>

Firing watches on the nodes that still exist is relatively easy; just
walk the tree and look at the nodes with refcount of one.

Firing watches on *deleted* nodes is more fun. We add 'modified_in_tx'
and 'deleted_in_tx' flags to each node. Nodes with those flags cannot
be shared, as they will always be unique to the transaction in which
they were created.

When xs_node_walk would need to *create* a node as scaffolding and it
encounters a deleted_in_tx node, it can resurrect it simply by clearing
its deleted_in_tx flag. If that node originally had any *data*, they're
gone, and the modified_in_tx flag will have been set when it was first
deleted.

We then attempt to send appropriate watches when the transaction is
committed, properly delete the deleted_in_tx nodes, and remove the
modified_in_tx flag from the others.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/kvm/xenstore_impl.c | 151 ++++++++++++++++++++++-
 tests/unit/test-xs-node.c   | 231 +++++++++++++++++++++++++++++++++++-
 2 files changed, 380 insertions(+), 2 deletions(-)

diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index e5074ab1ec..380f8003ec 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -32,6 +32,8 @@ typedef struct XsNode {
     GByteArray *content;
     GHashTable *children;
     uint64_t gencnt;
+    bool deleted_in_tx;
+    bool modified_in_tx;
 #ifdef XS_NODE_UNIT_TEST
     gchar *name; /* debug only */
 #endif
@@ -153,6 +155,13 @@ static XsNode *xs_node_copy(XsNode *old)
     XsNode *n = xs_node_new();
 
     n->gencnt = old->gencnt;
+
+#ifdef XS_NODE_UNIT_TEST
+    if (n->name) {
+        n->name = g_strdup(old->name);
+    }
+#endif
+
     if (old->children) {
         n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
                                             (GDestroyNotify)xs_node_unref);
@@ -221,6 +230,9 @@ struct walk_op {
     bool mutating;
     bool create_dirs;
     bool in_transaction;
+
+    /* Tracking during recursion so we know which is first. */
+    bool deleted_in_tx;
 };
 
 static void fire_watches(struct walk_op *op, bool parents)
@@ -277,6 +289,9 @@ static int xs_node_add_content(XsNode **n, struct walk_op *op)
         g_byte_array_unref((*n)->content);
     }
     (*n)->content = g_byte_array_ref(data);
+    if (op->tx_id != XBT_NULL) {
+        (*n)->modified_in_tx = true;
+    }
     return 0;
 }
 
@@ -333,10 +348,62 @@ static int node_rm_recurse(gpointer key, gpointer value, gpointer user_data)
     return this_inplace;
 }
 
+static XsNode *xs_node_copy_deleted(XsNode *old, struct walk_op *op);
+static void copy_deleted_recurse(gpointer key, gpointer value,
+                                 gpointer user_data)
+{
+    struct walk_op *op = user_data;
+    GHashTable *siblings = op->op_opaque2;
+    XsNode *n = xs_node_copy_deleted(value, op);
+
+    /*
+     * Reinsert the deleted_in_tx copy of the node into the parent's
+     * 'children' hash table. Having stashed it from op->op_opaque2
+     * before the recursive call to xs_node_copy_deleted() scribbled
+     * over it.
+     */
+    g_hash_table_insert(siblings, g_strdup(key), n);
+}
+
+static XsNode *xs_node_copy_deleted(XsNode *old, struct walk_op *op)
+{
+    XsNode *n = xs_node_new();
+
+    n->gencnt = old->gencnt;
+
+#ifdef XS_NODE_UNIT_TEST
+    if (old->name) {
+        n->name = g_strdup(old->name);
+    }
+#endif
+
+    if (old->children) {
+        n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+                                            (GDestroyNotify)xs_node_unref);
+        op->op_opaque2 = n->children;
+        g_hash_table_foreach(old->children, copy_deleted_recurse, op);
+    }
+    n->deleted_in_tx = true;
+    /* If it gets resurrected we only fire a watch if it lost its content */
+    if (old->content) {
+        n->modified_in_tx = true;
+    }
+    op->new_nr_nodes--;
+    return n;
+}
+
 static int xs_node_rm(XsNode **n, struct walk_op *op)
 {
     bool this_inplace = op->inplace;
 
+    if (op->tx_id != XBT_NULL) {
+        /* It's not trivial to do inplace handling for this one */
+        XsNode *old = *n;
+        *n = xs_node_copy_deleted(old, op);
+        xs_node_unref(old);
+        return 0;
+    }
+
     /* Fire watches for, and count, nodes in the subtree which get deleted */
     if ((*n)->children) {
         g_hash_table_foreach_remove((*n)->children, node_rm_recurse, op);
@@ -408,6 +475,10 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
     }
 
     if (child) {
+        if (child->deleted_in_tx) {
+            assert(child->ref == 1);
+            /* Cannot actually set child->deleted_in_tx = false until later */
+        }
         xs_node_ref(child);
         /*
          * Now we own it too. But if we can modify inplace, that's going to
@@ -475,6 +546,15 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
         xs_node_unref(old);
     }
 
+    /*
+     * If we resurrected a deleted_in_tx node, we can mark it as no longer
+     * deleted now that we know the overall operation has succeeded.
+     */
+    if (op->create_dirs && child && child->deleted_in_tx) {
+        op->new_nr_nodes++;
+        child->deleted_in_tx = false;
+    }
+
     /*
      * The child may be NULL here, for a remove operation. Either way,
      * xs_node_add_child() will do the right thing and return a value
@@ -709,8 +789,69 @@ int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
     return 0;
 }
 
+static gboolean tx_commit_walk(gpointer key, gpointer value,
+                               gpointer user_data)
+{
+    struct walk_op *op = user_data;
+    int path_len = strlen(op->path);
+    int key_len = strlen(key);
+    bool fire_parents = true;
+    XsWatch *watch;
+    XsNode *n = value;
+
+    if (n->ref != 1) {
+        return false;
+    }
+
+    if (n->deleted_in_tx) {
+        /*
+         * We first watches on our parents if we are the *first* node
+         * to be deleted (the topmost one). This matches the behaviour
+         * when deleting in the live tree.
+         */
+        fire_parents = !op->deleted_in_tx;
+
+        /* Only used on the way down so no need to clear it later */
+        op->deleted_in_tx = true;
+    }
+
+    assert(key_len + path_len + 2 <= sizeof(op->path));
+    op->path[path_len] = '/';
+    memcpy(op->path + path_len + 1, key, key_len + 1);
+
+    watch = g_hash_table_lookup(op->s->watches, op->path);
+    if (watch) {
+        op->watches = g_list_append(op->watches, watch);
+    }
+
+    if (n->children) {
+        g_hash_table_foreach_remove(n->children, tx_commit_walk, op);
+    }
+
+    if (watch) {
+        op->watches = g_list_remove(op->watches, watch);
+    }
+
+    /*
+     * Don't fire watches if this node was only copied because a
+     * descendent was changed. The modifieD_in_tx flag indicates the
+     * ones which were really changed.
+     */
+    if (n->modified_in_tx || n->deleted_in_tx) {
+        fire_watches(op, fire_parents);
+        n->modified_in_tx = false;
+    }
+    op->path[path_len] = '\0';
+
+    /* Deleted nodes really do get expunged when we commit */
+    return n->deleted_in_tx;
+}
+
 static int transaction_commit(XenstoreImplState *s, XsTransaction *tx)
 {
+    struct walk_op op;
+    XsNode **n;
+
     if (s->root_tx != tx->base_tx) {
         return EAGAIN;
     }
@@ -720,10 +861,18 @@ static int transaction_commit(XenstoreImplState *s, XsTransaction *tx)
     s->root_tx = tx->tx_id;
     s->nr_nodes = tx->nr_nodes;
 
+    init_walk_op(s, &op, XBT_NULL, tx->dom_id, "/", &n);
+    op.deleted_in_tx = false;
+    op.mutating = true;
+
     /*
-     * XX: Walk the new root and fire watches on any node which has a
+     * Walk the new root and fire watches on any node which has a
      * refcount of one (which is therefore unique to this transaction).
      */
+    if (s->root->children) {
+        g_hash_table_foreach_remove(s->root->children, tx_commit_walk, &op);
+    }
+
     return 0;
 }
 
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index 3c3654550a..02c72baa62 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -347,7 +347,13 @@ static void do_test_xs_node_tx(bool fail, bool commit)
     } else {
         g_assert(!err);
     }
-    g_assert(!watches->len);
+    if (commit && !fail) {
+        g_assert(!strcmp(watches->str,
+                         "some/relative/pathwatch"));
+        g_string_truncate(watches, 0);
+    } else {
+       g_assert(!watches->len);
+    }
     g_assert(s->nr_nodes == 7);
 
     err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
@@ -386,6 +392,226 @@ static void test_xs_node_tx_succeed(void)
     do_test_xs_node_tx(false, true);
 }
 
+static void test_xs_node_tx_rm(void)
+{
+    XenstoreImplState *s = setup();
+    GString *watches = g_string_new(NULL);
+    GByteArray *data = g_byte_array_new();
+    unsigned int tx_id = XBT_NULL;
+    int err;
+
+    g_assert(s);
+
+    /* Set a watch */
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+    g_assert(watches->len == strlen("somewatch"));
+    g_assert(!strcmp(watches->str, "somewatch"));
+    g_string_truncate(watches, 0);
+
+    /* Write something */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+    g_assert(!strcmp(watches->str,
+                     "some/deep/dark/relative/pathwatch"));
+    g_string_truncate(watches, 0);
+
+    /* Create a transaction */
+    err = xs_impl_transaction_start(s, DOMID_GUEST, &tx_id);
+    g_assert(!err);
+
+    /* Delete the tree in the transaction */
+    err = xs_impl_rm(s, DOMID_GUEST, tx_id, "some/deep/dark");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+    g_assert(!watches->len);
+
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                       data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something"));
+    g_assert(!memcmp(data->data, "something", data->len));
+    g_byte_array_set_size(data, 0);
+
+    /* Commit the transaction */
+    err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
+    g_assert(!err);
+    g_assert(s->nr_nodes == 6);
+
+    g_assert(!strcmp(watches->str, "some/deep/darkwatch"));
+    g_string_truncate(watches, 0);
+
+    /* Now the node is gone */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                       data);
+    g_assert(err == ENOENT);
+    g_byte_array_unref(data);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+
+    g_string_free(watches, true);
+    xs_impl_delete(s);
+}
+
+static void test_xs_node_tx_resurrect(void)
+{
+    XenstoreImplState *s = setup();
+    GString *watches = g_string_new(NULL);
+    GByteArray *data = g_byte_array_new();
+    unsigned int tx_id = XBT_NULL;
+    int err;
+
+    g_assert(s);
+
+    /* Write something */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* This node will be wiped and resurrected */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark",
+                    "foo");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* Set a watch */
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+    g_assert(watches->len == strlen("somewatch"));
+    g_assert(!strcmp(watches->str, "somewatch"));
+    g_string_truncate(watches, 0);
+
+    /* Create a transaction */
+    err = xs_impl_transaction_start(s, DOMID_GUEST, &tx_id);
+    g_assert(!err);
+
+    /* Delete the tree in the transaction */
+    err = xs_impl_rm(s, DOMID_GUEST, tx_id, "some/deep");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+    g_assert(!watches->len);
+
+    /* Resurrect part of it */
+    err = write_str(s, DOMID_GUEST, tx_id, "some/deep/dark/different/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* Commit the transaction */
+    err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* lost data */
+    g_assert(strstr(watches->str, "some/deep/dark/different/pathwatch"));
+    /* topmost deleted */
+    g_assert(strstr(watches->str, "some/deep/dark/relativewatch"));
+    /* lost data */
+    g_assert(strstr(watches->str, "some/deep/darkwatch"));
+
+    g_string_truncate(watches, 0);
+
+    /* Now the node is gone */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                       data);
+    g_assert(err == ENOENT);
+    g_byte_array_unref(data);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+
+    g_string_free(watches, true);
+    xs_impl_delete(s);
+}
+
+static void test_xs_node_tx_resurrect2(void)
+{
+    XenstoreImplState *s = setup();
+    GString *watches = g_string_new(NULL);
+    GByteArray *data = g_byte_array_new();
+    unsigned int tx_id = XBT_NULL;
+    int err;
+
+    g_assert(s);
+
+    /* Write something */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* Another node to remain shared */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/place/safe", "keepme");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
+    /* This node will be wiped and resurrected */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark",
+                    "foo");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
+    /* Set a watch */
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+    g_assert(watches->len == strlen("somewatch"));
+    g_assert(!strcmp(watches->str, "somewatch"));
+    g_string_truncate(watches, 0);
+
+    /* Create a transaction */
+    err = xs_impl_transaction_start(s, DOMID_GUEST, &tx_id);
+    g_assert(!err);
+
+    /* Delete the tree in the transaction */
+    err = xs_impl_rm(s, DOMID_GUEST, tx_id, "some/deep");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+    g_assert(!watches->len);
+
+    /* Resurrect part of it */
+    err = write_str(s, DOMID_GUEST, tx_id, "some/deep/dark/relative/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
+    /* Commit the transaction */
+    err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
+    /* lost data */
+    g_assert(strstr(watches->str, "some/deep/dark/relative/pathwatch"));
+    /* lost data */
+    g_assert(strstr(watches->str, "some/deep/darkwatch"));
+
+    g_string_truncate(watches, 0);
+
+    /* Now the node is gone */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                       data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something"));
+    g_assert(!memcmp(data->data, "something", data->len));
+
+    g_byte_array_unref(data);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+
+    g_string_free(watches, true);
+    xs_impl_delete(s);
+}
+
 int main(int argc, char **argv)
 {
     g_test_init(&argc, &argv, NULL);
@@ -395,6 +621,9 @@ int main(int argc, char **argv)
     g_test_add_func("/xs_node/tx_abort", test_xs_node_tx_abort);
     g_test_add_func("/xs_node/tx_fail", test_xs_node_tx_fail);
     g_test_add_func("/xs_node/tx_succeed", test_xs_node_tx_succeed);
+    g_test_add_func("/xs_node/tx_rm", test_xs_node_tx_rm);
+    g_test_add_func("/xs_node/tx_resurrect", test_xs_node_tx_resurrect);
+    g_test_add_func("/xs_node/tx_resurrect2", test_xs_node_tx_resurrect2);
 
     return g_test_run();
 }
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:39:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:39:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505181.777813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXl23-0006Oh-JU; Thu, 02 Mar 2023 15:39:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505181.777813; Thu, 02 Mar 2023 15: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 1pXl23-0006OS-Fj; Thu, 02 Mar 2023 15:39:47 +0000
Received: by outflank-mailman (input) for mailman id 505181;
 Thu, 02 Mar 2023 15:39: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxY-0001Jw-Op
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:35:09 +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 c2b7aa16-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx4-00FL3j-1r; Thu, 02 Mar 2023 15:34:39 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uz7-1V; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2b7aa16-b90f-11ed-a550-8520e6686977
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=7OYcuGk/WJovN4Fv5UgZ+akMCJx0VuuFqOz3t8MFOl8=; b=A96C9T3klBaf5y8FERbIaq1p8B
	qcL0vvjHV+7WOWbLN9X9idp393Or1KRbJV4/6HVfrxbDC84my8Sp2kOzXZ4Sf+Y/RBTb5w1wqjRmN
	gfOm4D29deFFwaQfXuSuMhoKbTHG7oEyOp3oN4VVyFhphBjYfsZvis7GWVXEHSiMqHvYKsLQ0DXdL
	t6EnmDvTGL34joq5CtT97KoaC4l+z7FvI3ZhUQMTbEJf2IX8eXLcW297XJFVP2drzns2ANi4cXAEX
	hJqX55yaOpGtaSL84/HdHiokTLszF7xaVKnQSGCEwQVDFLBdySo8b8yiXd5cidUso2LG/0hx1oi1s
	dl+0tSZw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 13/25] hw/xen: Add xenstore operations to allow redirection to internal emulation
Date: Thu,  2 Mar 2023 15:34:23 +0000
Message-Id: <20230302153435.1170111-14-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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: Paul Durrant <pdurrant@amazon.com>

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 accel/xen/xen-all.c                 |  11 +-
 hw/char/xen_console.c               |   2 +-
 hw/i386/kvm/xen_xenstore.c          |   3 -
 hw/i386/kvm/xenstore_impl.h         |   8 +-
 hw/xen/xen-bus-helper.c             |  62 +++----
 hw/xen/xen-bus.c                    | 261 ++++------------------------
 hw/xen/xen-legacy-backend.c         | 119 +++++++------
 hw/xen/xen-operations.c             | 198 +++++++++++++++++++++
 hw/xen/xen_devconfig.c              |   4 +-
 hw/xen/xen_pt_graphics.c            |   1 -
 hw/xen/xen_pvdev.c                  |  49 +-----
 include/hw/xen/xen-bus-helper.h     |  26 +--
 include/hw/xen/xen-bus.h            |  17 +-
 include/hw/xen/xen-legacy-backend.h |   6 +-
 include/hw/xen/xen_backend_ops.h    | 163 +++++++++++++++++
 include/hw/xen/xen_common.h         |   1 -
 include/hw/xen/xen_pvdev.h          |   2 +-
 softmmu/globals.c                   |   1 +
 18 files changed, 525 insertions(+), 409 deletions(-)

diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index e85e4aeba5..425216230f 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -90,12 +90,15 @@ void xenstore_store_pv_console_info(int i, Chardev *chr)
 }
 
 
-static void xenstore_record_dm_state(struct xs_handle *xs, const char *state)
+static void xenstore_record_dm_state(const char *state)
 {
+    struct xs_handle *xs;
     char path[50];
 
+    /* We now have everything we need to set the xenstore entry. */
+    xs = xs_open(0);
     if (xs == NULL) {
-        error_report("xenstore connection not initialized");
+        fprintf(stderr, "Could not contact XenStore\n");
         exit(1);
     }
 
@@ -109,6 +112,8 @@ static void xenstore_record_dm_state(struct xs_handle *xs, const char *state)
         error_report("error recording dm state");
         exit(1);
     }
+
+    xs_close(xs);
 }
 
 
@@ -117,7 +122,7 @@ static void xen_change_state_handler(void *opaque, bool running,
 {
     if (running) {
         /* record state running */
-        xenstore_record_dm_state(xenstore, "running");
+        xenstore_record_dm_state("running");
     }
 }
 
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index e9cef3e1ef..ad8638a86d 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -181,7 +181,7 @@ static int con_init(struct XenLegacyDevice *xendev)
     const char *output;
 
     /* setup */
-    dom = xs_get_domain_path(xenstore, con->xendev.dom);
+    dom = qemu_xen_xs_get_domain_path(xenstore, con->xendev.dom);
     if (!xendev->dev) {
         snprintf(con->console, sizeof(con->console), "%s/console", dom);
     } else {
diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 5a8e38aae7..bab40d1a04 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -38,9 +38,6 @@
 #define TYPE_XEN_XENSTORE "xen-xenstore"
 OBJECT_DECLARE_SIMPLE_TYPE(XenXenstoreState, XEN_XENSTORE)
 
-#define XEN_PAGE_SHIFT 12
-#define XEN_PAGE_SIZE (1ULL << XEN_PAGE_SHIFT)
-
 #define ENTRIES_PER_FRAME_V1 (XEN_PAGE_SIZE / sizeof(grant_entry_v1_t))
 #define ENTRIES_PER_FRAME_V2 (XEN_PAGE_SIZE / sizeof(grant_entry_v2_t))
 
diff --git a/hw/i386/kvm/xenstore_impl.h b/hw/i386/kvm/xenstore_impl.h
index bbe2391e2e..0df2a91aae 100644
--- a/hw/i386/kvm/xenstore_impl.h
+++ b/hw/i386/kvm/xenstore_impl.h
@@ -12,13 +12,7 @@
 #ifndef QEMU_XENSTORE_IMPL_H
 #define QEMU_XENSTORE_IMPL_H
 
-typedef uint32_t xs_transaction_t;
-
-#define XBT_NULL 0
-
-#define XS_PERM_NONE  0x00
-#define XS_PERM_READ  0x01
-#define XS_PERM_WRITE 0x02
+#include "hw/xen/xen_backend_ops.h"
 
 typedef struct XenstoreImplState XenstoreImplState;
 
diff --git a/hw/xen/xen-bus-helper.c b/hw/xen/xen-bus-helper.c
index 5a1e12b374..b2b2cc9c5d 100644
--- a/hw/xen/xen-bus-helper.c
+++ b/hw/xen/xen-bus-helper.c
@@ -10,6 +10,7 @@
 #include "hw/xen/xen-bus.h"
 #include "hw/xen/xen-bus-helper.h"
 #include "qapi/error.h"
+#include "trace.h"
 
 #include <glib/gprintf.h>
 
@@ -46,34 +47,28 @@ const char *xs_strstate(enum xenbus_state state)
     return "INVALID";
 }
 
-void xs_node_create(struct xs_handle *xsh, xs_transaction_t tid,
-                    const char *node, struct xs_permissions perms[],
-                    unsigned int nr_perms, Error **errp)
+void xs_node_create(struct qemu_xs_handle *h, xs_transaction_t tid,
+                    const char *node, unsigned int owner, unsigned int domid,
+                    unsigned int perms, Error **errp)
 {
     trace_xs_node_create(node);
 
-    if (!xs_write(xsh, tid, node, "", 0)) {
+    if (!qemu_xen_xs_create(h, tid, owner, domid, perms, node)) {
         error_setg_errno(errp, errno, "failed to create node '%s'", node);
-        return;
-    }
-
-    if (!xs_set_permissions(xsh, tid, node, perms, nr_perms)) {
-        error_setg_errno(errp, errno, "failed to set node '%s' permissions",
-                         node);
     }
 }
 
-void xs_node_destroy(struct xs_handle *xsh, xs_transaction_t tid,
+void xs_node_destroy(struct qemu_xs_handle *h, xs_transaction_t tid,
                      const char *node, Error **errp)
 {
     trace_xs_node_destroy(node);
 
-    if (!xs_rm(xsh, tid, node)) {
+    if (!qemu_xen_xs_destroy(h, tid, node)) {
         error_setg_errno(errp, errno, "failed to destroy node '%s'", node);
     }
 }
 
-void xs_node_vprintf(struct xs_handle *xsh, xs_transaction_t tid,
+void xs_node_vprintf(struct qemu_xs_handle *h, xs_transaction_t tid,
                      const char *node, const char *key, Error **errp,
                      const char *fmt, va_list ap)
 {
@@ -86,7 +81,7 @@ void xs_node_vprintf(struct xs_handle *xsh, xs_transaction_t tid,
 
     trace_xs_node_vprintf(path, value);
 
-    if (!xs_write(xsh, tid, path, value, len)) {
+    if (!qemu_xen_xs_write(h, tid, path, value, len)) {
         error_setg_errno(errp, errno, "failed to write '%s' to '%s'",
                          value, path);
     }
@@ -95,18 +90,18 @@ void xs_node_vprintf(struct xs_handle *xsh, xs_transaction_t tid,
     g_free(path);
 }
 
-void xs_node_printf(struct xs_handle *xsh,  xs_transaction_t tid,
+void xs_node_printf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                     const char *node, const char *key, Error **errp,
                     const char *fmt, ...)
 {
     va_list ap;
 
     va_start(ap, fmt);
-    xs_node_vprintf(xsh, tid, node, key, errp, fmt, ap);
+    xs_node_vprintf(h, tid, node, key, errp, fmt, ap);
     va_end(ap);
 }
 
-int xs_node_vscanf(struct xs_handle *xsh,  xs_transaction_t tid,
+int xs_node_vscanf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                    const char *node, const char *key, Error **errp,
                    const char *fmt, va_list ap)
 {
@@ -115,7 +110,7 @@ int xs_node_vscanf(struct xs_handle *xsh,  xs_transaction_t tid,
 
     path = (strlen(node) != 0) ? g_strdup_printf("%s/%s", node, key) :
         g_strdup(key);
-    value = xs_read(xsh, tid, path, NULL);
+    value = qemu_xen_xs_read(h, tid, path, NULL);
 
     trace_xs_node_vscanf(path, value);
 
@@ -133,7 +128,7 @@ int xs_node_vscanf(struct xs_handle *xsh,  xs_transaction_t tid,
     return rc;
 }
 
-int xs_node_scanf(struct xs_handle *xsh,  xs_transaction_t tid,
+int xs_node_scanf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                   const char *node, const char *key, Error **errp,
                   const char *fmt, ...)
 {
@@ -141,42 +136,35 @@ int xs_node_scanf(struct xs_handle *xsh,  xs_transaction_t tid,
     int rc;
 
     va_start(ap, fmt);
-    rc = xs_node_vscanf(xsh, tid, node, key, errp, fmt, ap);
+    rc = xs_node_vscanf(h, tid, node, key, errp, fmt, ap);
     va_end(ap);
 
     return rc;
 }
 
-void xs_node_watch(struct xs_handle *xsh, const char *node, const char *key,
-                   char *token, Error **errp)
+struct qemu_xs_watch *xs_node_watch(struct qemu_xs_handle *h, const char *node,
+                                    const char *key, xs_watch_fn fn,
+                                    void *opaque, Error **errp)
 {
     char *path;
+    struct qemu_xs_watch *w;
 
     path = (strlen(node) != 0) ? g_strdup_printf("%s/%s", node, key) :
         g_strdup(key);
 
     trace_xs_node_watch(path);
 
-    if (!xs_watch(xsh, path, token)) {
+    w = qemu_xen_xs_watch(h, path, fn, opaque);
+    if (!w) {
         error_setg_errno(errp, errno, "failed to watch node '%s'", path);
     }
 
     g_free(path);
+
+    return w;
 }
 
-void xs_node_unwatch(struct xs_handle *xsh, const char *node,
-                     const char *key, const char *token, Error **errp)
+void xs_node_unwatch(struct qemu_xs_handle *h, struct qemu_xs_watch *w)
 {
-    char *path;
-
-    path = (strlen(node) != 0) ? g_strdup_printf("%s/%s", node, key) :
-        g_strdup(key);
-
-    trace_xs_node_unwatch(path);
-
-    if (!xs_unwatch(xsh, path, token)) {
-        error_setg_errno(errp, errno, "failed to unwatch node '%s'", path);
-    }
-
-    g_free(path);
+    qemu_xen_xs_unwatch(h, w);
 }
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index aee6a8c9b0..9fe54967d4 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -62,7 +62,7 @@ static void xen_device_unplug(XenDevice *xendev, Error **errp)
 
     /* Mimic the way the Xen toolstack does an unplug */
 again:
-    tid = xs_transaction_start(xenbus->xsh);
+    tid = qemu_xen_xs_transaction_start(xenbus->xsh);
     if (tid == XBT_NULL) {
         error_setg_errno(errp, errno, "failed xs_transaction_start");
         return;
@@ -80,7 +80,7 @@ again:
         goto abort;
     }
 
-    if (!xs_transaction_end(xenbus->xsh, tid, false)) {
+    if (!qemu_xen_xs_transaction_end(xenbus->xsh, tid, false)) {
         if (errno == EAGAIN) {
             goto again;
         }
@@ -95,7 +95,7 @@ abort:
      * We only abort if there is already a failure so ignore any error
      * from ending the transaction.
      */
-    xs_transaction_end(xenbus->xsh, tid, true);
+    qemu_xen_xs_transaction_end(xenbus->xsh, tid, true);
 }
 
 static void xen_bus_print_dev(Monitor *mon, DeviceState *dev, int indent)
@@ -111,143 +111,6 @@ static char *xen_bus_get_dev_path(DeviceState *dev)
     return xen_device_get_backend_path(XEN_DEVICE(dev));
 }
 
-struct XenWatch {
-    char *node, *key;
-    char *token;
-    XenWatchHandler handler;
-    void *opaque;
-    Notifier notifier;
-};
-
-static void watch_notify(Notifier *n, void *data)
-{
-    XenWatch *watch = container_of(n, XenWatch, notifier);
-    const char *token = data;
-
-    if (!strcmp(watch->token, token)) {
-        watch->handler(watch->opaque);
-    }
-}
-
-static XenWatch *new_watch(const char *node, const char *key,
-                           XenWatchHandler handler, void *opaque)
-{
-    XenWatch *watch = g_new0(XenWatch, 1);
-    QemuUUID uuid;
-
-    qemu_uuid_generate(&uuid);
-
-    watch->token = qemu_uuid_unparse_strdup(&uuid);
-    watch->node = g_strdup(node);
-    watch->key = g_strdup(key);
-    watch->handler = handler;
-    watch->opaque = opaque;
-    watch->notifier.notify = watch_notify;
-
-    return watch;
-}
-
-static void free_watch(XenWatch *watch)
-{
-    g_free(watch->token);
-    g_free(watch->key);
-    g_free(watch->node);
-
-    g_free(watch);
-}
-
-struct XenWatchList {
-    struct xs_handle *xsh;
-    NotifierList notifiers;
-};
-
-static void watch_list_event(void *opaque)
-{
-    XenWatchList *watch_list = opaque;
-    char **v;
-    const char *token;
-
-    v = xs_check_watch(watch_list->xsh);
-    if (!v) {
-        return;
-    }
-
-    token = v[XS_WATCH_TOKEN];
-
-    notifier_list_notify(&watch_list->notifiers, (void *)token);
-
-    free(v);
-}
-
-static XenWatchList *watch_list_create(struct xs_handle *xsh)
-{
-    XenWatchList *watch_list = g_new0(XenWatchList, 1);
-
-    g_assert(xsh);
-
-    watch_list->xsh = xsh;
-    notifier_list_init(&watch_list->notifiers);
-    qemu_set_fd_handler(xs_fileno(watch_list->xsh), watch_list_event, NULL,
-                        watch_list);
-
-    return watch_list;
-}
-
-static void watch_list_destroy(XenWatchList *watch_list)
-{
-    g_assert(notifier_list_empty(&watch_list->notifiers));
-    qemu_set_fd_handler(xs_fileno(watch_list->xsh), NULL, NULL, NULL);
-    g_free(watch_list);
-}
-
-static XenWatch *watch_list_add(XenWatchList *watch_list, const char *node,
-                                const char *key, XenWatchHandler handler,
-                                void *opaque, Error **errp)
-{
-    ERRP_GUARD();
-    XenWatch *watch = new_watch(node, key, handler, opaque);
-
-    notifier_list_add(&watch_list->notifiers, &watch->notifier);
-
-    xs_node_watch(watch_list->xsh, node, key, watch->token, errp);
-    if (*errp) {
-        notifier_remove(&watch->notifier);
-        free_watch(watch);
-
-        return NULL;
-    }
-
-    return watch;
-}
-
-static void watch_list_remove(XenWatchList *watch_list, XenWatch *watch,
-                              Error **errp)
-{
-    xs_node_unwatch(watch_list->xsh, watch->node, watch->key, watch->token,
-                    errp);
-
-    notifier_remove(&watch->notifier);
-    free_watch(watch);
-}
-
-static XenWatch *xen_bus_add_watch(XenBus *xenbus, const char *node,
-                                   const char *key, XenWatchHandler handler,
-                                   Error **errp)
-{
-    trace_xen_bus_add_watch(node, key);
-
-    return watch_list_add(xenbus->watch_list, node, key, handler, xenbus,
-                          errp);
-}
-
-static void xen_bus_remove_watch(XenBus *xenbus, XenWatch *watch,
-                                 Error **errp)
-{
-    trace_xen_bus_remove_watch(watch->node, watch->key);
-
-    watch_list_remove(xenbus->watch_list, watch, errp);
-}
-
 static void xen_bus_backend_create(XenBus *xenbus, const char *type,
                                    const char *name, char *path,
                                    Error **errp)
@@ -261,15 +124,15 @@ static void xen_bus_backend_create(XenBus *xenbus, const char *type,
     trace_xen_bus_backend_create(type, path);
 
 again:
-    tid = xs_transaction_start(xenbus->xsh);
+    tid = qemu_xen_xs_transaction_start(xenbus->xsh);
     if (tid == XBT_NULL) {
         error_setg(errp, "failed xs_transaction_start");
         return;
     }
 
-    key = xs_directory(xenbus->xsh, tid, path, &n);
+    key = qemu_xen_xs_directory(xenbus->xsh, tid, path, &n);
     if (!key) {
-        if (!xs_transaction_end(xenbus->xsh, tid, true)) {
+        if (!qemu_xen_xs_transaction_end(xenbus->xsh, tid, true)) {
             error_setg_errno(errp, errno, "failed xs_transaction_end");
         }
         return;
@@ -300,7 +163,7 @@ again:
 
     free(key);
 
-    if (!xs_transaction_end(xenbus->xsh, tid, false)) {
+    if (!qemu_xen_xs_transaction_end(xenbus->xsh, tid, false)) {
         qobject_unref(opts);
 
         if (errno == EAGAIN) {
@@ -327,7 +190,7 @@ static void xen_bus_type_enumerate(XenBus *xenbus, const char *type)
 
     trace_xen_bus_type_enumerate(type);
 
-    backend = xs_directory(xenbus->xsh, XBT_NULL, domain_path, &n);
+    backend = qemu_xen_xs_directory(xenbus->xsh, XBT_NULL, domain_path, &n);
     if (!backend) {
         goto out;
     }
@@ -372,7 +235,7 @@ static void xen_bus_enumerate(XenBus *xenbus)
 
     trace_xen_bus_enumerate();
 
-    type = xs_directory(xenbus->xsh, XBT_NULL, "backend", &n);
+    type = qemu_xen_xs_directory(xenbus->xsh, XBT_NULL, "backend", &n);
     if (!type) {
         return;
     }
@@ -415,7 +278,7 @@ static void xen_bus_cleanup(XenBus *xenbus)
     }
 }
 
-static void xen_bus_backend_changed(void *opaque)
+static void xen_bus_backend_changed(void *opaque, const char *path)
 {
     XenBus *xenbus = opaque;
 
@@ -434,7 +297,7 @@ static void xen_bus_unrealize(BusState *bus)
 
         for (i = 0; i < xenbus->backend_types; i++) {
             if (xenbus->backend_watch[i]) {
-                xen_bus_remove_watch(xenbus, xenbus->backend_watch[i], NULL);
+                xs_node_unwatch(xenbus->xsh, xenbus->backend_watch[i]);
             }
         }
 
@@ -442,13 +305,8 @@ static void xen_bus_unrealize(BusState *bus)
         xenbus->backend_watch = NULL;
     }
 
-    if (xenbus->watch_list) {
-        watch_list_destroy(xenbus->watch_list);
-        xenbus->watch_list = NULL;
-    }
-
     if (xenbus->xsh) {
-        xs_close(xenbus->xsh);
+        qemu_xen_xs_close(xenbus->xsh);
     }
 }
 
@@ -463,7 +321,7 @@ static void xen_bus_realize(BusState *bus, Error **errp)
 
     trace_xen_bus_realize();
 
-    xenbus->xsh = xs_open(0);
+    xenbus->xsh = qemu_xen_xs_open();
     if (!xenbus->xsh) {
         error_setg_errno(errp, errno, "failed xs_open");
         goto fail;
@@ -476,19 +334,18 @@ static void xen_bus_realize(BusState *bus, Error **errp)
         xenbus->backend_id = 0; /* Assume lack of node means dom0 */
     }
 
-    xenbus->watch_list = watch_list_create(xenbus->xsh);
-
     module_call_init(MODULE_INIT_XEN_BACKEND);
 
     type = xen_backend_get_types(&xenbus->backend_types);
-    xenbus->backend_watch = g_new(XenWatch *, xenbus->backend_types);
+    xenbus->backend_watch = g_new(struct qemu_xs_watch *,
+                                  xenbus->backend_types);
 
     for (i = 0; i < xenbus->backend_types; i++) {
         char *node = g_strdup_printf("backend/%s", type[i]);
 
         xenbus->backend_watch[i] =
-            xen_bus_add_watch(xenbus, node, key, xen_bus_backend_changed,
-                              &local_err);
+            xs_node_watch(xenbus->xsh, node, key, xen_bus_backend_changed,
+                          xenbus, &local_err);
         if (local_err) {
             /* This need not be treated as a hard error so don't propagate */
             error_reportf_err(local_err,
@@ -631,7 +488,7 @@ static bool xen_device_frontend_is_active(XenDevice *xendev)
     }
 }
 
-static void xen_device_backend_changed(void *opaque)
+static void xen_device_backend_changed(void *opaque, const char *path)
 {
     XenDevice *xendev = opaque;
     const char *type = object_get_typename(OBJECT(xendev));
@@ -685,66 +542,35 @@ static void xen_device_backend_changed(void *opaque)
     }
 }
 
-static XenWatch *xen_device_add_watch(XenDevice *xendev, const char *node,
-                                      const char *key,
-                                      XenWatchHandler handler,
-                                      Error **errp)
-{
-    const char *type = object_get_typename(OBJECT(xendev));
-
-    trace_xen_device_add_watch(type, xendev->name, node, key);
-
-    return watch_list_add(xendev->watch_list, node, key, handler, xendev,
-                          errp);
-}
-
-static void xen_device_remove_watch(XenDevice *xendev, XenWatch *watch,
-                                    Error **errp)
-{
-    const char *type = object_get_typename(OBJECT(xendev));
-
-    trace_xen_device_remove_watch(type, xendev->name, watch->node,
-                                  watch->key);
-
-    watch_list_remove(xendev->watch_list, watch, errp);
-}
-
-
 static void xen_device_backend_create(XenDevice *xendev, Error **errp)
 {
     ERRP_GUARD();
     XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
-    struct xs_permissions perms[2];
 
     xendev->backend_path = xen_device_get_backend_path(xendev);
 
-    perms[0].id = xenbus->backend_id;
-    perms[0].perms = XS_PERM_NONE;
-    perms[1].id = xendev->frontend_id;
-    perms[1].perms = XS_PERM_READ;
-
     g_assert(xenbus->xsh);
 
-    xs_node_create(xenbus->xsh, XBT_NULL, xendev->backend_path, perms,
-                   ARRAY_SIZE(perms), errp);
+    xs_node_create(xenbus->xsh, XBT_NULL, xendev->backend_path,
+                   xenbus->backend_id, xendev->frontend_id, XS_PERM_READ, errp);
     if (*errp) {
         error_prepend(errp, "failed to create backend: ");
         return;
     }
 
     xendev->backend_state_watch =
-        xen_device_add_watch(xendev, xendev->backend_path,
-                             "state", xen_device_backend_changed,
-                             errp);
+        xs_node_watch(xendev->xsh, xendev->backend_path,
+                      "state", xen_device_backend_changed, xendev,
+                      errp);
     if (*errp) {
         error_prepend(errp, "failed to watch backend state: ");
         return;
     }
 
     xendev->backend_online_watch =
-        xen_device_add_watch(xendev, xendev->backend_path,
-                             "online", xen_device_backend_changed,
-                             errp);
+        xs_node_watch(xendev->xsh, xendev->backend_path,
+                      "online", xen_device_backend_changed, xendev,
+                      errp);
     if (*errp) {
         error_prepend(errp, "failed to watch backend online: ");
         return;
@@ -757,12 +583,12 @@ static void xen_device_backend_destroy(XenDevice *xendev)
     Error *local_err = NULL;
 
     if (xendev->backend_online_watch) {
-        xen_device_remove_watch(xendev, xendev->backend_online_watch, NULL);
+        xs_node_unwatch(xendev->xsh, xendev->backend_online_watch);
         xendev->backend_online_watch = NULL;
     }
 
     if (xendev->backend_state_watch) {
-        xen_device_remove_watch(xendev, xendev->backend_state_watch, NULL);
+        xs_node_unwatch(xendev->xsh, xendev->backend_state_watch);
         xendev->backend_state_watch = NULL;
     }
 
@@ -837,7 +663,7 @@ static void xen_device_frontend_set_state(XenDevice *xendev,
     }
 }
 
-static void xen_device_frontend_changed(void *opaque)
+static void xen_device_frontend_changed(void *opaque, const char *path)
 {
     XenDevice *xendev = opaque;
     XenDeviceClass *xendev_class = XEN_DEVICE_GET_CLASS(xendev);
@@ -885,7 +711,6 @@ static void xen_device_frontend_create(XenDevice *xendev, Error **errp)
 {
     ERRP_GUARD();
     XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
-    struct xs_permissions perms[2];
 
     xendev->frontend_path = xen_device_get_frontend_path(xendev);
 
@@ -894,15 +719,11 @@ static void xen_device_frontend_create(XenDevice *xendev, Error **errp)
      * toolstack.
      */
     if (!xen_device_frontend_exists(xendev)) {
-        perms[0].id = xendev->frontend_id;
-        perms[0].perms = XS_PERM_NONE;
-        perms[1].id = xenbus->backend_id;
-        perms[1].perms = XS_PERM_READ | XS_PERM_WRITE;
-
         g_assert(xenbus->xsh);
 
-        xs_node_create(xenbus->xsh, XBT_NULL, xendev->frontend_path, perms,
-                       ARRAY_SIZE(perms), errp);
+        xs_node_create(xenbus->xsh, XBT_NULL, xendev->frontend_path,
+                       xendev->frontend_id, xenbus->backend_id,
+                       XS_PERM_READ | XS_PERM_WRITE, errp);
         if (*errp) {
             error_prepend(errp, "failed to create frontend: ");
             return;
@@ -910,8 +731,8 @@ static void xen_device_frontend_create(XenDevice *xendev, Error **errp)
     }
 
     xendev->frontend_state_watch =
-        xen_device_add_watch(xendev, xendev->frontend_path, "state",
-                             xen_device_frontend_changed, errp);
+        xs_node_watch(xendev->xsh, xendev->frontend_path, "state",
+                      xen_device_frontend_changed, xendev, errp);
     if (*errp) {
         error_prepend(errp, "failed to watch frontend state: ");
     }
@@ -923,8 +744,7 @@ static void xen_device_frontend_destroy(XenDevice *xendev)
     Error *local_err = NULL;
 
     if (xendev->frontend_state_watch) {
-        xen_device_remove_watch(xendev, xendev->frontend_state_watch,
-                                NULL);
+        xs_node_unwatch(xendev->xsh, xendev->frontend_state_watch);
         xendev->frontend_state_watch = NULL;
     }
 
@@ -1146,13 +966,8 @@ static void xen_device_unrealize(DeviceState *dev)
         xendev->xgth = NULL;
     }
 
-    if (xendev->watch_list) {
-        watch_list_destroy(xendev->watch_list);
-        xendev->watch_list = NULL;
-    }
-
     if (xendev->xsh) {
-        xs_close(xendev->xsh);
+        qemu_xen_xs_close(xendev->xsh);
         xendev->xsh = NULL;
     }
 
@@ -1197,14 +1012,12 @@ static void xen_device_realize(DeviceState *dev, Error **errp)
 
     trace_xen_device_realize(type, xendev->name);
 
-    xendev->xsh = xs_open(0);
+    xendev->xsh = qemu_xen_xs_open();
     if (!xendev->xsh) {
         error_setg_errno(errp, errno, "failed xs_open");
         goto unrealize;
     }
 
-    xendev->watch_list = watch_list_create(xendev->xsh);
-
     xendev->xgth = qemu_xen_gnttab_open();
     if (!xendev->xgth) {
         error_setg_errno(errp, errno, "failed xengnttab_open");
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index a48a25aeb5..4ded3cec23 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -39,7 +39,7 @@ BusState *xen_sysbus;
 /* ------------------------------------------------------------- */
 
 /* public */
-struct xs_handle *xenstore;
+struct qemu_xs_handle *xenstore;
 const char *xen_protocol;
 
 /* private */
@@ -274,6 +274,25 @@ static void xen_be_frontend_changed(struct XenLegacyDevice *xendev,
     }
 }
 
+static void xenstore_update_fe(void *opaque, const char *watch)
+{
+    struct XenLegacyDevice *xendev = opaque;
+    const char *node;
+    unsigned int len;
+
+    len = strlen(xendev->fe);
+    if (strncmp(xendev->fe, watch, len) != 0) {
+        return;
+    }
+    if (watch[len] != '/') {
+        return;
+    }
+    node = watch + len + 1;
+
+    xen_be_frontend_changed(xendev, node);
+    xen_be_check_state(xendev);
+}
+
 /* ------------------------------------------------------------- */
 /* Check for possible state transitions and perform them.        */
 
@@ -287,7 +306,6 @@ static void xen_be_frontend_changed(struct XenLegacyDevice *xendev,
  */
 static int xen_be_try_setup(struct XenLegacyDevice *xendev)
 {
-    char token[XEN_BUFSIZE];
     int be_state;
 
     if (xenstore_read_be_int(xendev, "state", &be_state) == -1) {
@@ -308,8 +326,9 @@ static int xen_be_try_setup(struct XenLegacyDevice *xendev)
     }
 
     /* setup frontend watch */
-    snprintf(token, sizeof(token), "fe:%p", xendev);
-    if (!xs_watch(xenstore, xendev->fe, token)) {
+    xendev->watch = qemu_xen_xs_watch(xenstore, xendev->fe, xenstore_update_fe,
+                                      xendev);
+    if (!xendev->watch) {
         xen_pv_printf(xendev, 0, "watching frontend path (%s) failed\n",
                       xendev->fe);
         return -1;
@@ -498,46 +517,20 @@ void xen_be_check_state(struct XenLegacyDevice *xendev)
 
 /* ------------------------------------------------------------- */
 
-static int xenstore_scan(const char *type, int dom, struct XenDevOps *ops)
-{
-    struct XenLegacyDevice *xendev;
-    char path[XEN_BUFSIZE], token[XEN_BUFSIZE];
-    char **dev = NULL;
-    unsigned int cdev, j;
-
-    /* setup watch */
-    snprintf(token, sizeof(token), "be:%p:%d:%p", type, dom, ops);
-    snprintf(path, sizeof(path), "backend/%s/%d", type, dom);
-    if (!xs_watch(xenstore, path, token)) {
-        xen_pv_printf(NULL, 0, "xen be: watching backend path (%s) failed\n",
-                      path);
-        return -1;
-    }
-
-    /* look for backends */
-    dev = xs_directory(xenstore, 0, path, &cdev);
-    if (!dev) {
-        return 0;
-    }
-    for (j = 0; j < cdev; j++) {
-        xendev = xen_be_get_xendev(type, dom, atoi(dev[j]), ops);
-        if (xendev == NULL) {
-            continue;
-        }
-        xen_be_check_state(xendev);
-    }
-    free(dev);
-    return 0;
-}
+struct xenstore_be {
+    const char *type;
+    int dom;
+    struct XenDevOps *ops;
+};
 
-void xenstore_update_be(char *watch, char *type, int dom,
-                        struct XenDevOps *ops)
+static void xenstore_update_be(void *opaque, const char *watch)
 {
+    struct xenstore_be *be = opaque;
     struct XenLegacyDevice *xendev;
     char path[XEN_BUFSIZE], *bepath;
     unsigned int len, dev;
 
-    len = snprintf(path, sizeof(path), "backend/%s/%d", type, dom);
+    len = snprintf(path, sizeof(path), "backend/%s/%d", be->type, be->dom);
     if (strncmp(path, watch, len) != 0) {
         return;
     }
@@ -551,9 +544,9 @@ void xenstore_update_be(char *watch, char *type, int dom,
         return;
     }
 
-    xendev = xen_be_get_xendev(type, dom, dev, ops);
+    xendev = xen_be_get_xendev(be->type, be->dom, dev, be->ops);
     if (xendev != NULL) {
-        bepath = xs_read(xenstore, 0, xendev->be, &len);
+        bepath = qemu_xen_xs_read(xenstore, 0, xendev->be, &len);
         if (bepath == NULL) {
             xen_pv_del_xendev(xendev);
         } else {
@@ -564,23 +557,41 @@ void xenstore_update_be(char *watch, char *type, int dom,
     }
 }
 
-void xenstore_update_fe(char *watch, struct XenLegacyDevice *xendev)
+static int xenstore_scan(const char *type, int dom, struct XenDevOps *ops)
 {
-    char *node;
-    unsigned int len;
+    struct XenLegacyDevice *xendev;
+    char path[XEN_BUFSIZE];
+    struct xenstore_be *be = g_new0(struct xenstore_be, 1);
+    char **dev = NULL;
+    unsigned int cdev, j;
 
-    len = strlen(xendev->fe);
-    if (strncmp(xendev->fe, watch, len) != 0) {
-        return;
-    }
-    if (watch[len] != '/') {
-        return;
+    /* setup watch */
+    be->type = type;
+    be->dom = dom;
+    be->ops = ops;
+    snprintf(path, sizeof(path), "backend/%s/%d", type, dom);
+    if (!qemu_xen_xs_watch(xenstore, path, xenstore_update_be, be)) {
+        xen_pv_printf(NULL, 0, "xen be: watching backend path (%s) failed\n",
+                      path);
+        return -1;
     }
-    node = watch + len + 1;
 
-    xen_be_frontend_changed(xendev, node);
-    xen_be_check_state(xendev);
+    /* look for backends */
+    dev = qemu_xen_xs_directory(xenstore, 0, path, &cdev);
+    if (!dev) {
+        return 0;
+    }
+    for (j = 0; j < cdev; j++) {
+        xendev = xen_be_get_xendev(type, dom, atoi(dev[j]), ops);
+        if (xendev == NULL) {
+            continue;
+        }
+        xen_be_check_state(xendev);
+    }
+    free(dev);
+    return 0;
 }
+
 /* -------------------------------------------------------------------- */
 
 static void xen_set_dynamic_sysbus(void)
@@ -594,14 +605,12 @@ static void xen_set_dynamic_sysbus(void)
 
 void xen_be_init(void)
 {
-    xenstore = xs_daemon_open();
+    xenstore = qemu_xen_xs_open();
     if (!xenstore) {
         xen_pv_printf(NULL, 0, "can't connect to xenstored\n");
         exit(1);
     }
 
-    qemu_set_fd_handler(xs_fileno(xenstore), xenstore_update, NULL, NULL);
-
     if (xen_evtchn_ops == NULL || xen_gnttab_ops == NULL) {
         xen_pv_printf(NULL, 0, "Xen operations not set up\n");
         exit(1);
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index 61e56a7abe..80c8fbede6 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -10,6 +10,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qemu/uuid.h"
 #include "qapi/error.h"
 
 #include "hw/xen/xen_backend_ops.h"
@@ -262,6 +263,202 @@ struct foreignmem_backend_ops libxenforeignmem_backend_ops = {
     .unmap = libxenforeignmem_backend_unmap,
 };
 
+struct qemu_xs_handle {
+    struct xs_handle *xsh;
+    NotifierList notifiers;
+};
+
+static void watch_event(void *opaque)
+{
+    struct qemu_xs_handle *h = opaque;
+
+    for (;;) {
+        char **v = xs_check_watch(h->xsh);
+
+        if (!v) {
+            break;
+        }
+
+        notifier_list_notify(&h->notifiers, v);
+        free(v);
+    }
+}
+
+static struct qemu_xs_handle *libxenstore_open(void)
+{
+    struct xs_handle *xsh = xs_open(0);
+    struct qemu_xs_handle *h = g_new0(struct qemu_xs_handle, 1);
+
+    if (!xsh) {
+        return NULL;
+    }
+
+    h = g_new0(struct qemu_xs_handle, 1);
+    h->xsh = xsh;
+
+    notifier_list_init(&h->notifiers);
+    qemu_set_fd_handler(xs_fileno(h->xsh), watch_event, NULL, h);
+
+    return h;
+}
+
+static void libxenstore_close(struct qemu_xs_handle *h)
+{
+    g_assert(notifier_list_empty(&h->notifiers));
+    qemu_set_fd_handler(xs_fileno(h->xsh), NULL, NULL, NULL);
+    xs_close(h->xsh);
+    g_free(h);
+}
+
+static char *libxenstore_get_domain_path(struct qemu_xs_handle *h,
+                                         unsigned int domid)
+{
+    return xs_get_domain_path(h->xsh, domid);
+}
+
+static char **libxenstore_directory(struct qemu_xs_handle *h,
+                                    xs_transaction_t t, const char *path,
+                                    unsigned int *num)
+{
+    return xs_directory(h->xsh, t, path, num);
+}
+
+static void *libxenstore_read(struct qemu_xs_handle *h, xs_transaction_t t,
+                              const char *path, unsigned int *len)
+{
+    return xs_read(h->xsh, t, path, len);
+}
+
+static bool libxenstore_write(struct qemu_xs_handle *h, xs_transaction_t t,
+                              const char *path, const void *data,
+                              unsigned int len)
+{
+    return xs_write(h->xsh, t, path, data, len);
+}
+
+static bool libxenstore_create(struct qemu_xs_handle *h, xs_transaction_t t,
+                               unsigned int owner, unsigned int domid,
+                               unsigned int perms, const char *path)
+{
+    struct xs_permissions perms_list[] = {
+        {
+            .id    = owner,
+            .perms = XS_PERM_NONE,
+        },
+        {
+            .id    = domid,
+            .perms = perms,
+        },
+    };
+
+    if (!xs_mkdir(h->xsh, t, path)) {
+        return false;
+    }
+
+    return xs_set_permissions(h->xsh, t, path, perms_list,
+                              ARRAY_SIZE(perms_list));
+}
+
+static bool libxenstore_destroy(struct qemu_xs_handle *h, xs_transaction_t t,
+                                const char *path)
+{
+    return xs_rm(h->xsh, t, path);
+}
+
+struct qemu_xs_watch {
+    char *path;
+    char *token;
+    xs_watch_fn fn;
+    void *opaque;
+    Notifier notifier;
+};
+
+static void watch_notify(Notifier *n, void *data)
+{
+    struct qemu_xs_watch *w = container_of(n, struct qemu_xs_watch, notifier);
+    const char **v = data;
+
+    if (!strcmp(w->token, v[XS_WATCH_TOKEN])) {
+        w->fn(w->opaque, v[XS_WATCH_PATH]);
+    }
+}
+
+static struct qemu_xs_watch *new_watch(const char *path, xs_watch_fn fn,
+                                       void *opaque)
+{
+    struct qemu_xs_watch *w = g_new0(struct qemu_xs_watch, 1);
+    QemuUUID uuid;
+
+    qemu_uuid_generate(&uuid);
+
+    w->token = qemu_uuid_unparse_strdup(&uuid);
+    w->path = g_strdup(path);
+    w->fn = fn;
+    w->opaque = opaque;
+    w->notifier.notify = watch_notify;
+
+    return w;
+}
+
+static void free_watch(struct qemu_xs_watch *w)
+{
+    g_free(w->token);
+    g_free(w->path);
+
+    g_free(w);
+}
+
+static struct qemu_xs_watch *libxenstore_watch(struct qemu_xs_handle *h,
+                                               const char *path, xs_watch_fn fn,
+                                               void *opaque)
+{
+    struct qemu_xs_watch *w = new_watch(path, fn, opaque);
+
+    notifier_list_add(&h->notifiers, &w->notifier);
+
+    if (!xs_watch(h->xsh, path, w->token)) {
+        notifier_remove(&w->notifier);
+        free_watch(w);
+        return NULL;
+    }
+
+    return w;
+}
+
+static void libxenstore_unwatch(struct qemu_xs_handle *h,
+                                struct qemu_xs_watch *w)
+{
+    xs_unwatch(h->xsh, w->path, w->token);
+    notifier_remove(&w->notifier);
+    free_watch(w);
+}
+
+static xs_transaction_t libxenstore_transaction_start(struct qemu_xs_handle *h)
+{
+    return xs_transaction_start(h->xsh);
+}
+
+static bool libxenstore_transaction_end(struct qemu_xs_handle *h,
+                                        xs_transaction_t t, bool abort)
+{
+    return xs_transaction_end(h->xsh, t, abort);
+}
+
+struct xenstore_backend_ops libxenstore_backend_ops = {
+    .open = libxenstore_open,
+    .close = libxenstore_close,
+    .get_domain_path = libxenstore_get_domain_path,
+    .directory = libxenstore_directory,
+    .read = libxenstore_read,
+    .write = libxenstore_write,
+    .create = libxenstore_create,
+    .destroy = libxenstore_destroy,
+    .watch = libxenstore_watch,
+    .unwatch = libxenstore_unwatch,
+    .transaction_start = libxenstore_transaction_start,
+    .transaction_end = libxenstore_transaction_end,
+};
+
 void setup_xen_backend_ops(void)
 {
 #if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
@@ -277,4 +474,5 @@ void setup_xen_backend_ops(void)
     xen_evtchn_ops = &libxenevtchn_backend_ops;
     xen_gnttab_ops = &libxengnttab_backend_ops;
     xen_foreignmem_ops = &libxenforeignmem_backend_ops;
+    xen_xenstore_ops = &libxenstore_backend_ops;
 }
diff --git a/hw/xen/xen_devconfig.c b/hw/xen/xen_devconfig.c
index 46ee4a7f02..9b7304e544 100644
--- a/hw/xen/xen_devconfig.c
+++ b/hw/xen/xen_devconfig.c
@@ -11,11 +11,11 @@ static int xen_config_dev_dirs(const char *ftype, const char *btype, int vdev,
 {
     char *dom;
 
-    dom = xs_get_domain_path(xenstore, xen_domid);
+    dom = qemu_xen_xs_get_domain_path(xenstore, xen_domid);
     snprintf(fe, len, "%s/device/%s/%d", dom, ftype, vdev);
     free(dom);
 
-    dom = xs_get_domain_path(xenstore, 0);
+    dom = qemu_xen_xs_get_domain_path(xenstore, 0);
     snprintf(be, len, "%s/backend/%s/%d/%d", dom, btype, xen_domid, vdev);
     free(dom);
 
diff --git a/hw/xen/xen_pt_graphics.c b/hw/xen/xen_pt_graphics.c
index f303f67c9c..0aed3bb6fd 100644
--- a/hw/xen/xen_pt_graphics.c
+++ b/hw/xen/xen_pt_graphics.c
@@ -5,7 +5,6 @@
 #include "qapi/error.h"
 #include "xen_pt.h"
 #include "xen-host-pci-device.h"
-#include "hw/xen/xen-legacy-backend.h"
 
 static unsigned long igd_guest_opregion;
 static unsigned long igd_host_opregion;
diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
index d8582cc74c..be1504b82c 100644
--- a/hw/xen/xen_pvdev.c
+++ b/hw/xen/xen_pvdev.c
@@ -54,31 +54,17 @@ void xen_config_cleanup(void)
     struct xs_dirs *d;
 
     QTAILQ_FOREACH(d, &xs_cleanup, list) {
-        xs_rm(xenstore, 0, d->xs_dir);
+        qemu_xen_xs_destroy(xenstore, 0, d->xs_dir);
     }
 }
 
 int xenstore_mkdir(char *path, int p)
 {
-    struct xs_permissions perms[2] = {
-        {
-            .id    = 0, /* set owner: dom0 */
-        }, {
-            .id    = xen_domid,
-            .perms = p,
-        }
-    };
-
-    if (!xs_mkdir(xenstore, 0, path)) {
+    if (!qemu_xen_xs_create(xenstore, 0, 0, xen_domid, p, path)) {
         xen_pv_printf(NULL, 0, "xs_mkdir %s: failed\n", path);
         return -1;
     }
     xenstore_cleanup_dir(g_strdup(path));
-
-    if (!xs_set_permissions(xenstore, 0, path, perms, 2)) {
-        xen_pv_printf(NULL, 0, "xs_set_permissions %s: failed\n", path);
-        return -1;
-    }
     return 0;
 }
 
@@ -87,7 +73,7 @@ int xenstore_write_str(const char *base, const char *node, const char *val)
     char abspath[XEN_BUFSIZE];
 
     snprintf(abspath, sizeof(abspath), "%s/%s", base, node);
-    if (!xs_write(xenstore, 0, abspath, val, strlen(val))) {
+    if (!qemu_xen_xs_write(xenstore, 0, abspath, val, strlen(val))) {
         return -1;
     }
     return 0;
@@ -100,7 +86,7 @@ char *xenstore_read_str(const char *base, const char *node)
     char *str, *ret = NULL;
 
     snprintf(abspath, sizeof(abspath), "%s/%s", base, node);
-    str = xs_read(xenstore, 0, abspath, &len);
+    str = qemu_xen_xs_read(xenstore, 0, abspath, &len);
     if (str != NULL) {
         /* move to qemu-allocated memory to make sure
          * callers can savely g_free() stuff. */
@@ -152,29 +138,6 @@ int xenstore_read_uint64(const char *base, const char *node, uint64_t *uval)
     return rc;
 }
 
-void xenstore_update(void *unused)
-{
-    char **vec = NULL;
-    intptr_t type, ops, ptr;
-    unsigned int dom, count;
-
-    vec = xs_read_watch(xenstore, &count);
-    if (vec == NULL) {
-        goto cleanup;
-    }
-
-    if (sscanf(vec[XS_WATCH_TOKEN], "be:%" PRIxPTR ":%d:%" PRIxPTR,
-               &type, &dom, &ops) == 3) {
-        xenstore_update_be(vec[XS_WATCH_PATH], (void *)type, dom, (void*)ops);
-    }
-    if (sscanf(vec[XS_WATCH_TOKEN], "fe:%" PRIxPTR, &ptr) == 1) {
-        xenstore_update_fe(vec[XS_WATCH_PATH], (void *)ptr);
-    }
-
-cleanup:
-    free(vec);
-}
-
 const char *xenbus_strstate(enum xenbus_state state)
 {
     static const char *const name[] = {
@@ -299,9 +262,7 @@ void xen_pv_del_xendev(struct XenLegacyDevice *xendev)
     }
 
     if (xendev->fe) {
-        char token[XEN_BUFSIZE];
-        snprintf(token, sizeof(token), "fe:%p", xendev);
-        xs_unwatch(xenstore, xendev->fe, token);
+        qemu_xen_xs_unwatch(xenstore, xendev->watch);
         g_free(xendev->fe);
     }
 
diff --git a/include/hw/xen/xen-bus-helper.h b/include/hw/xen/xen-bus-helper.h
index 8782f30550..d8dcc2f010 100644
--- a/include/hw/xen/xen-bus-helper.h
+++ b/include/hw/xen/xen-bus-helper.h
@@ -8,40 +8,40 @@
 #ifndef HW_XEN_BUS_HELPER_H
 #define HW_XEN_BUS_HELPER_H
 
-#include "hw/xen/xen_common.h"
+#include "hw/xen/xen_backend_ops.h"
 
 const char *xs_strstate(enum xenbus_state state);
 
-void xs_node_create(struct xs_handle *xsh,  xs_transaction_t tid,
-                    const char *node, struct xs_permissions perms[],
-                    unsigned int nr_perms, Error **errp);
-void xs_node_destroy(struct xs_handle *xsh,  xs_transaction_t tid,
+void xs_node_create(struct qemu_xs_handle *h,  xs_transaction_t tid,
+                    const char *node, unsigned int owner, unsigned int domid,
+                    unsigned int perms, Error **errp);
+void xs_node_destroy(struct qemu_xs_handle *h,  xs_transaction_t tid,
                      const char *node, Error **errp);
 
 /* Write to node/key unless node is empty, in which case write to key */
-void xs_node_vprintf(struct xs_handle *xsh,  xs_transaction_t tid,
+void xs_node_vprintf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                      const char *node, const char *key, Error **errp,
                      const char *fmt, va_list ap)
     G_GNUC_PRINTF(6, 0);
-void xs_node_printf(struct xs_handle *xsh,  xs_transaction_t tid,
+void xs_node_printf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                     const char *node, const char *key, Error **errp,
                     const char *fmt, ...)
     G_GNUC_PRINTF(6, 7);
 
 /* Read from node/key unless node is empty, in which case read from key */
-int xs_node_vscanf(struct xs_handle *xsh,  xs_transaction_t tid,
+int xs_node_vscanf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                    const char *node, const char *key, Error **errp,
                    const char *fmt, va_list ap)
     G_GNUC_SCANF(6, 0);
-int xs_node_scanf(struct xs_handle *xsh,  xs_transaction_t tid,
+int xs_node_scanf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                   const char *node, const char *key, Error **errp,
                   const char *fmt, ...)
     G_GNUC_SCANF(6, 7);
 
 /* Watch node/key unless node is empty, in which case watch key */
-void xs_node_watch(struct xs_handle *xsh, const char *node, const char *key,
-                   char *token, Error **errp);
-void xs_node_unwatch(struct xs_handle *xsh, const char *node, const char *key,
-                     const char *token, Error **errp);
+struct qemu_xs_watch *xs_node_watch(struct qemu_xs_handle *h, const char *node,
+                                    const char *key, xs_watch_fn fn,
+                                    void *opaque, Error **errp);
+void xs_node_unwatch(struct qemu_xs_handle *h, struct qemu_xs_watch *w);
 
 #endif /* HW_XEN_BUS_HELPER_H */
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 5a90e79d53..f435898164 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -9,29 +9,23 @@
 #define HW_XEN_BUS_H
 
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/interface/io/xenbus.h"
 #include "hw/sysbus.h"
 #include "qemu/notify.h"
 #include "qom/object.h"
 
-typedef void (*XenWatchHandler)(void *opaque);
-
-typedef struct XenWatchList XenWatchList;
-typedef struct XenWatch XenWatch;
 typedef struct XenEventChannel XenEventChannel;
 
 struct XenDevice {
     DeviceState qdev;
     domid_t frontend_id;
     char *name;
-    struct xs_handle *xsh;
-    XenWatchList *watch_list;
+    struct qemu_xs_handle *xsh;
     char *backend_path, *frontend_path;
     enum xenbus_state backend_state, frontend_state;
     Notifier exit;
-    XenWatch *backend_state_watch, *frontend_state_watch;
+    struct qemu_xs_watch *backend_state_watch, *frontend_state_watch;
     bool backend_online;
-    XenWatch *backend_online_watch;
+    struct qemu_xs_watch *backend_online_watch;
     xengnttab_handle *xgth;
     bool inactive;
     QLIST_HEAD(, XenEventChannel) event_channels;
@@ -64,10 +58,9 @@ OBJECT_DECLARE_TYPE(XenDevice, XenDeviceClass, XEN_DEVICE)
 struct XenBus {
     BusState qbus;
     domid_t backend_id;
-    struct xs_handle *xsh;
-    XenWatchList *watch_list;
+    struct qemu_xs_handle *xsh;
     unsigned int backend_types;
-    XenWatch **backend_watch;
+    struct qemu_xs_watch **backend_watch;
     QLIST_HEAD(, XenDevice) inactive_devices;
 };
 
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index ab28583267..6c307c5f2c 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -2,7 +2,6 @@
 #define HW_XEN_LEGACY_BACKEND_H
 
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/interface/io/xenbus.h"
 #include "hw/xen/xen_pvdev.h"
 #include "net/net.h"
 #include "qom/object.h"
@@ -16,7 +15,7 @@ DECLARE_INSTANCE_CHECKER(XenLegacyDevice, XENBACKEND,
                          TYPE_XENBACKEND)
 
 /* variables */
-extern struct xs_handle *xenstore;
+extern struct qemu_xs_handle *xenstore;
 extern const char *xen_protocol;
 extern DeviceState *xen_sysdev;
 extern BusState *xen_sysbus;
@@ -31,9 +30,6 @@ int xenstore_write_be_int64(struct XenLegacyDevice *xendev, const char *node,
 char *xenstore_read_be_str(struct XenLegacyDevice *xendev, const char *node);
 int xenstore_read_be_int(struct XenLegacyDevice *xendev, const char *node,
                          int *ival);
-void xenstore_update_fe(char *watch, struct XenLegacyDevice *xendev);
-void xenstore_update_be(char *watch, char *type, int dom,
-                        struct XenDevOps *ops);
 char *xenstore_read_fe_str(struct XenLegacyDevice *xendev, const char *node);
 int xenstore_read_fe_int(struct XenLegacyDevice *xendev, const char *node,
                          int *ival);
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
index 0dff06bbde..90cca85f52 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -12,6 +12,10 @@
 #ifndef QEMU_XEN_BACKEND_OPS_H
 #define QEMU_XEN_BACKEND_OPS_H
 
+#include "hw/xen/xen.h"
+#include "hw/xen/interface/xen.h"
+#include "hw/xen/interface/io/xenbus.h"
+
 /*
  * For the time being, these operations map fairly closely to the API of
  * the actual Xen libraries, e.g. libxenevtchn. As we complete the migration
@@ -36,6 +40,16 @@ typedef uint32_t grant_ref_t;
 #define XEN_PAGE_SIZE        (1UL << XEN_PAGE_SHIFT)
 #define XEN_PAGE_MASK        (~(XEN_PAGE_SIZE - 1))
 
+#ifndef xen_rmb
+#define xen_rmb() smp_rmb()
+#endif
+#ifndef xen_wmb
+#define xen_wmb() smp_wmb()
+#endif
+#ifndef xen_mb
+#define xen_mb() smp_mb()
+#endif
+
 struct evtchn_backend_ops {
     xenevtchn_handle *(*open)(void);
     int (*bind_interdomain)(xenevtchn_handle *xc, uint32_t domid,
@@ -240,6 +254,155 @@ static inline int qemu_xen_foreignmem_unmap(void *addr, size_t pages)
     return xen_foreignmem_ops->unmap(addr, pages);
 }
 
+typedef void (*xs_watch_fn)(void *opaque, const char *path);
+
+struct qemu_xs_handle;
+struct qemu_xs_watch;
+typedef uint32_t xs_transaction_t;
+
+#define XBT_NULL 0
+
+#define XS_PERM_NONE  0x00
+#define XS_PERM_READ  0x01
+#define XS_PERM_WRITE 0x02
+
+struct xenstore_backend_ops {
+    struct qemu_xs_handle *(*open)(void);
+    void (*close)(struct qemu_xs_handle *h);
+    char *(*get_domain_path)(struct qemu_xs_handle *h, unsigned int domid);
+    char **(*directory)(struct qemu_xs_handle *h, xs_transaction_t t,
+                        const char *path, unsigned int *num);
+    void *(*read)(struct qemu_xs_handle *h, xs_transaction_t t,
+                  const char *path, unsigned int *len);
+    bool (*write)(struct qemu_xs_handle *h, xs_transaction_t t,
+                  const char *path, const void *data, unsigned int len);
+    bool (*create)(struct qemu_xs_handle *h, xs_transaction_t t,
+                   unsigned int owner, unsigned int domid,
+                   unsigned int perms, const char *path);
+    bool (*destroy)(struct qemu_xs_handle *h, xs_transaction_t t,
+               const char *path);
+    struct qemu_xs_watch *(*watch)(struct qemu_xs_handle *h, const char *path,
+                                   xs_watch_fn fn, void *opaque);
+    void (*unwatch)(struct qemu_xs_handle *h, struct qemu_xs_watch *w);
+    xs_transaction_t (*transaction_start)(struct qemu_xs_handle *h);
+    bool (*transaction_end)(struct qemu_xs_handle *h, xs_transaction_t t,
+                            bool abort);
+};
+
+extern struct xenstore_backend_ops *xen_xenstore_ops;
+
+static inline struct qemu_xs_handle *qemu_xen_xs_open(void)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->open();
+}
+
+static inline void qemu_xen_xs_close(struct qemu_xs_handle *h)
+{
+    if (!xen_xenstore_ops) {
+        return;
+    }
+    xen_xenstore_ops->close(h);
+}
+
+static inline char *qemu_xen_xs_get_domain_path(struct qemu_xs_handle *h,
+                                                unsigned int domid)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->get_domain_path(h, domid);
+}
+
+static inline char **qemu_xen_xs_directory(struct qemu_xs_handle *h,
+                                           xs_transaction_t t, const char *path,
+                                           unsigned int *num)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->directory(h, t, path, num);
+}
+
+static inline void *qemu_xen_xs_read(struct qemu_xs_handle *h,
+                                     xs_transaction_t t, const char *path,
+                                     unsigned int *len)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->read(h, t, path, len);
+}
+
+static inline bool qemu_xen_xs_write(struct qemu_xs_handle *h,
+                                     xs_transaction_t t, const char *path,
+                                     const void *data, unsigned int len)
+{
+    if (!xen_xenstore_ops) {
+        return false;
+    }
+    return xen_xenstore_ops->write(h, t, path, data, len);
+}
+
+static inline bool qemu_xen_xs_create(struct qemu_xs_handle *h,
+                                      xs_transaction_t t, unsigned int owner,
+                                      unsigned int domid, unsigned int perms,
+                                      const char *path)
+{
+    if (!xen_xenstore_ops) {
+        return false;
+    }
+    return xen_xenstore_ops->create(h, t, owner, domid, perms, path);
+}
+
+static inline bool qemu_xen_xs_destroy(struct qemu_xs_handle *h,
+                                       xs_transaction_t t, const char *path)
+{
+    if (!xen_xenstore_ops) {
+        return false;
+    }
+    return xen_xenstore_ops->destroy(h, t, path);
+}
+
+static inline struct qemu_xs_watch *qemu_xen_xs_watch(struct qemu_xs_handle *h,
+                                                      const char *path,
+                                                      xs_watch_fn fn,
+                                                      void *opaque)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->watch(h, path, fn, opaque);
+}
+
+static inline void qemu_xen_xs_unwatch(struct qemu_xs_handle *h,
+                                       struct qemu_xs_watch *w)
+{
+    if (!xen_xenstore_ops) {
+        return;
+    }
+    xen_xenstore_ops->unwatch(h, w);
+}
+
+static inline xs_transaction_t qemu_xen_xs_transaction_start(struct qemu_xs_handle *h)
+{
+    if (!xen_xenstore_ops) {
+        return XBT_NULL;
+    }
+    return xen_xenstore_ops->transaction_start(h);
+}
+
+static inline bool qemu_xen_xs_transaction_end(struct qemu_xs_handle *h,
+                                               xs_transaction_t t, bool abort)
+{
+    if (!xen_xenstore_ops) {
+        return false;
+    }
+    return xen_xenstore_ops->transaction_end(h, t, abort);
+}
+
 void setup_xen_backend_ops(void);
 
 #endif /* QEMU_XEN_BACKEND_OPS_H */
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 632ce617cc..7edcf3eb25 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -12,7 +12,6 @@
 
 #include <xenctrl.h>
 #include <xenstore.h>
-#include "hw/xen/interface/io/xenbus.h"
 
 #include "hw/xen/xen.h"
 #include "hw/pci/pci_device.h"
diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h
index 9c27b14764..d8eea353b8 100644
--- a/include/hw/xen/xen_pvdev.h
+++ b/include/hw/xen/xen_pvdev.h
@@ -39,6 +39,7 @@ struct XenLegacyDevice {
     char               name[64];
     int                debug;
 
+    struct qemu_xs_watch *watch;
     enum xenbus_state  be_state;
     enum xenbus_state  fe_state;
     int                online;
@@ -64,7 +65,6 @@ int xenstore_write_int64(const char *base, const char *node, int64_t ival);
 char *xenstore_read_str(const char *base, const char *node);
 int xenstore_read_int(const char *base, const char *node, int *ival);
 int xenstore_read_uint64(const char *base, const char *node, uint64_t *uval);
-void xenstore_update(void *unused);
 
 const char *xenbus_strstate(enum xenbus_state state);
 
diff --git a/softmmu/globals.c b/softmmu/globals.c
index dda32986f7..39678aa8c5 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -68,3 +68,4 @@ bool xen_domid_restrict;
 struct evtchn_backend_ops *xen_evtchn_ops;
 struct gnttab_backend_ops *xen_gnttab_ops;
 struct foreignmem_backend_ops *xen_foreignmem_ops;
+struct xenstore_backend_ops *xen_xenstore_ops;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:39:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:39:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505185.777823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXl25-0006iH-2u; Thu, 02 Mar 2023 15:39:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505185.777823; Thu, 02 Mar 2023 15: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 1pXl24-0006i9-Vg; Thu, 02 Mar 2023 15:39:48 +0000
Received: by outflank-mailman (input) for mailman id 505185;
 Thu, 02 Mar 2023 15: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=ZMsQ=62=desiato.srs.infradead.org=BATV+9a0490e5ac528e462c30+7130+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pXkxW-0001Jw-Og
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:35:06 +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 c2b78cc0-b90f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:34:49 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pXkx5-00FL3r-07; Thu, 02 Mar 2023 15:34:41 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pXkx4-004uzk-2x; Thu, 02 Mar 2023 15:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: c2b78cc0-b90f-11ed-a550-8520e6686977
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=GIy/mr/P0dU4lKy5osmGAuO163GgHpykyx4+8Dxy3J8=; b=psZYAy7hv1vPQkhNzx5j+j6PHj
	aUyGV4bYYciEJOkFzCEJhMbOARGxDslIEJw4j6rxUHi9qpYkgFnxvxXqk03Pp+ElrcJlqwIbw+kjg
	0RXL1heQljsalhW8cGZyUm5iCD4ShOcWcXuuPNF4VhSVDPNv4zLroaiJOyTgIwDKcEMURGOw8VKyK
	GsT8GvlhpqTuky3/UE+sacR11dim6D8pDQtAmaXf5qZxu4Zs/zJAPFF28d6emV39xcadQbJdnnXyE
	aZsTR+Ey1CRyZYzmWD7AnOg1oliBGmpQ3E7GMXZvW/AiYUQS3GKoL1fMm0WGxCRfjqHGGj7IrPXNt
	PTJwgqWw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v1 22/25] hw/xen: Add emulated implementation of XenStore operations
Date: Thu,  2 Mar 2023 15:34:32 +0000
Message-Id: <20230302153435.1170111-23-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-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>

Now that we have an internal implementation of XenStore, we can populate
the xenstore_backend_ops to allow PV backends to talk to it.

Watches can't be processed with immediate callbacks because that would
call back into XenBus code recursively. Defer them to a QEMUBH to be run
as appropriate from the main loop. We use a QEMUBH per XS handle, and it
walks all the watches (there shouldn't be many per handle) to fire any
which have pending events. We *could* have done it differently but this
allows us to use the same struct watch_event as we have for the guest
side, and keeps things relatively simple.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/kvm/xen_xenstore.c | 273 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 269 insertions(+), 4 deletions(-)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index bab40d1a04..028f80499e 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -49,7 +49,7 @@ struct XenXenstoreState {
     /*< public >*/
 
     XenstoreImplState *impl;
-    GList *watch_events;
+    GList *watch_events; /* for the guest */
 
     MemoryRegion xenstore_page;
     struct xenstore_domain_interface *xs;
@@ -73,6 +73,8 @@ struct XenXenstoreState *xen_xenstore_singleton;
 static void xen_xenstore_event(void *opaque);
 static void fire_watch_cb(void *opaque, const char *path, const char *token);
 
+static struct xenstore_backend_ops emu_xenstore_backend_ops;
+
 static void G_GNUC_PRINTF (4, 5) relpath_printf(XenXenstoreState *s,
                                                 GList *perms,
                                                 const char *relpath,
@@ -169,6 +171,8 @@ static void xen_xenstore_realize(DeviceState *dev, Error **errp)
     relpath_printf(s, perms, "feature", "%s", "");
 
     g_list_free_full(perms, g_free);
+
+    xen_xenstore_ops = &emu_xenstore_backend_ops;
 }
 
 static bool xen_xenstore_is_needed(void *opaque)
@@ -1305,6 +1309,15 @@ struct watch_event {
     char *token;
 };
 
+static void free_watch_event(struct watch_event *ev)
+{
+    if (ev) {
+        g_free(ev->path);
+        g_free(ev->token);
+        g_free(ev);
+    }
+}
+
 static void queue_watch(XenXenstoreState *s, const char *path,
                         const char *token)
 {
@@ -1351,9 +1364,7 @@ static void process_watch_events(XenXenstoreState *s)
     deliver_watch(s, ev->path, ev->token);
 
     s->watch_events = g_list_remove(s->watch_events, ev);
-    g_free(ev->path);
-    g_free(ev->token);
-    g_free(ev);
+    free_watch_event(ev);
 }
 
 static void xen_xenstore_event(void *opaque)
@@ -1443,3 +1454,257 @@ int xen_xenstore_reset(void)
 
     return 0;
 }
+
+struct qemu_xs_handle {
+    XenstoreImplState *impl;
+    GList *watches;
+    QEMUBH *watch_bh;
+};
+
+struct qemu_xs_watch {
+    struct qemu_xs_handle *h;
+    char *path;
+    xs_watch_fn fn;
+    void *opaque;
+    GList *events;
+};
+
+static char *xs_be_get_domain_path(struct qemu_xs_handle *h, unsigned int domid)
+{
+    return g_strdup_printf("/local/domain/%u", domid);
+}
+
+static char **xs_be_directory(struct qemu_xs_handle *h, xs_transaction_t t,
+                              const char *path, unsigned int *num)
+{
+    GList *items = NULL, *l;
+    unsigned int i = 0;
+    char **items_ret;
+    int err;
+
+    err = xs_impl_directory(h->impl, DOMID_QEMU, t, path, NULL, &items);
+    if (err) {
+        errno = err;
+        return NULL;
+    }
+
+    items_ret = g_new0(char *, g_list_length(items) + 1);
+    *num = 0;
+    for (l = items; l; l = l->next) {
+        items_ret[i++] = l->data;
+        (*num)++;
+    }
+    g_list_free(items);
+    return items_ret;
+}
+
+static void *xs_be_read(struct qemu_xs_handle *h, xs_transaction_t t,
+                        const char *path, unsigned int *len)
+{
+    GByteArray *data = g_byte_array_new();
+    bool free_segment = false;
+    int err;
+
+    err = xs_impl_read(h->impl, DOMID_QEMU, t, path, data);
+    if (err) {
+        free_segment = true;
+        errno = err;
+    } else {
+        if (len) {
+            *len = data->len;
+        }
+        /* The xen-bus-helper code expects to get NUL terminated string! */
+        g_byte_array_append(data, (void *)"", 1);
+    }
+
+    return g_byte_array_free(data, free_segment);
+}
+
+static bool xs_be_write(struct qemu_xs_handle *h, xs_transaction_t t,
+                        const char *path, const void *data, unsigned int len)
+{
+    GByteArray *gdata = g_byte_array_new();
+    int err;
+
+    g_byte_array_append(gdata, data, len);
+    err = xs_impl_write(h->impl, DOMID_QEMU, t, path, gdata);
+    g_byte_array_unref(gdata);
+    if (err) {
+        errno = err;
+        return false;
+    }
+    return true;
+}
+
+static bool xs_be_create(struct qemu_xs_handle *h, xs_transaction_t t,
+                         unsigned int owner, unsigned int domid,
+                         unsigned int perms, const char *path)
+{
+    g_autoptr(GByteArray) data = g_byte_array_new();
+    GList *perms_list = NULL;
+    int err;
+
+    /* mkdir does this */
+    err = xs_impl_read(h->impl, DOMID_QEMU, t, path, data);
+    if (err == ENOENT) {
+        err = xs_impl_write(h->impl, DOMID_QEMU, t, path, data);
+    }
+    if (err) {
+        errno = err;
+        return false;
+    }
+
+    perms_list = g_list_append(perms_list,
+                               xs_perm_as_string(XS_PERM_NONE, owner));
+    perms_list = g_list_append(perms_list,
+                               xs_perm_as_string(perms, domid));
+
+    err = xs_impl_set_perms(h->impl, DOMID_QEMU, t, path, perms_list);
+    g_list_free_full(perms_list, g_free);
+    if (err) {
+        errno = err;
+        return false;
+    }
+    return true;
+}
+
+static bool xs_be_destroy(struct qemu_xs_handle *h, xs_transaction_t t,
+                          const char *path)
+{
+    int err = xs_impl_rm(h->impl, DOMID_QEMU, t, path);
+    if (err) {
+        errno = err;
+        return false;
+    }
+    return true;
+}
+
+static void be_watch_bh(void *_h)
+{
+    struct qemu_xs_handle *h = _h;
+    GList *l;
+
+    for (l = h->watches; l; l = l->next) {
+        struct qemu_xs_watch *w = l->data;
+
+        while (w->events) {
+            struct watch_event *ev = w->events->data;
+
+            w->fn(w->opaque, ev->path);
+
+            w->events = g_list_remove(w->events, ev);
+            free_watch_event(ev);
+        }
+    }
+}
+
+static void xs_be_watch_cb(void *opaque, const char *path, const char *token)
+{
+    struct watch_event *ev = g_new0(struct watch_event, 1);
+    struct qemu_xs_watch *w = opaque;
+
+    /* We don't care about the token */
+    ev->path = g_strdup(path);
+    w->events = g_list_append(w->events, ev);
+
+    qemu_bh_schedule(w->h->watch_bh);
+}
+
+static struct qemu_xs_watch *xs_be_watch(struct qemu_xs_handle *h,
+                                         const char *path, xs_watch_fn fn,
+                                         void *opaque)
+{
+    struct qemu_xs_watch *w = g_new0(struct qemu_xs_watch, 1);
+    int err;
+
+    w->h = h;
+    w->fn = fn;
+    w->opaque = opaque;
+
+    err = xs_impl_watch(h->impl, DOMID_QEMU, path, NULL, xs_be_watch_cb, w);
+    if (err) {
+        errno = err;
+        g_free(w);
+        return NULL;
+    }
+
+    w->path = g_strdup(path);
+    h->watches = g_list_append(h->watches, w);
+    return w;
+}
+
+static void xs_be_unwatch(struct qemu_xs_handle *h, struct qemu_xs_watch *w)
+{
+    xs_impl_unwatch(h->impl, DOMID_QEMU, w->path, NULL, xs_be_watch_cb, w);
+
+    h->watches = g_list_remove(h->watches, w);
+    g_list_free_full(w->events, (GDestroyNotify)free_watch_event);
+    g_free(w->path);
+    g_free(w);
+}
+
+static xs_transaction_t xs_be_transaction_start(struct qemu_xs_handle *h)
+{
+    unsigned int new_tx = XBT_NULL;
+    int err = xs_impl_transaction_start(h->impl, DOMID_QEMU, &new_tx);
+    if (err) {
+        errno = err;
+        return XBT_NULL;
+    }
+    return new_tx;
+}
+
+static bool xs_be_transaction_end(struct qemu_xs_handle *h, xs_transaction_t t,
+                                  bool abort)
+{
+    int err = xs_impl_transaction_end(h->impl, DOMID_QEMU, t, !abort);
+    if (err) {
+        errno = err;
+        return false;
+    }
+    return true;
+}
+
+static struct qemu_xs_handle *xs_be_open(void)
+{
+    XenXenstoreState *s = xen_xenstore_singleton;
+    struct qemu_xs_handle *h;
+
+    if (!s && !s->impl) {
+        errno = -ENOSYS;
+        return NULL;
+    }
+
+    h = g_new0(struct qemu_xs_handle, 1);
+    h->impl = s->impl;
+
+    h->watch_bh = aio_bh_new(qemu_get_aio_context(), be_watch_bh, h);
+
+    return h;
+}
+
+static void xs_be_close(struct qemu_xs_handle *h)
+{
+    while (h->watches) {
+        struct qemu_xs_watch *w = h->watches->data;
+        xs_be_unwatch(h, w);
+    }
+
+    qemu_bh_delete(h->watch_bh);
+    g_free(h);
+}
+
+static struct xenstore_backend_ops emu_xenstore_backend_ops = {
+    .open = xs_be_open,
+    .close = xs_be_close,
+    .get_domain_path = xs_be_get_domain_path,
+    .directory = xs_be_directory,
+    .read = xs_be_read,
+    .write = xs_be_write,
+    .create = xs_be_create,
+    .destroy = xs_be_destroy,
+    .watch = xs_be_watch,
+    .unwatch = xs_be_unwatch,
+    .transaction_start = xs_be_transaction_start,
+    .transaction_end = xs_be_transaction_end,
+};
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:52:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:52:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505206.777834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXlEF-0001xB-9F; Thu, 02 Mar 2023 15:52:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505206.777834; Thu, 02 Mar 2023 15: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 1pXlEF-0001x4-4R; Thu, 02 Mar 2023 15:52:23 +0000
Received: by outflank-mailman (input) for mailman id 505206;
 Thu, 02 Mar 2023 15: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=TfVa=62=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pXlED-0001wy-N2
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:52:21 +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 35c818f6-b912-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:52:18 +0100 (CET)
Received: from DB3PR08CA0010.eurprd08.prod.outlook.com (2603:10a6:8::23) by
 AS8PR08MB9340.eurprd08.prod.outlook.com (2603:10a6:20b:5a8::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Thu, 2 Mar
 2023 15:52:11 +0000
Received: from DBAEUR03FT015.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:8:0:cafe::1) by DB3PR08CA0010.outlook.office365.com
 (2603:10a6:8::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18 via Frontend
 Transport; Thu, 2 Mar 2023 15:52:11 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT015.mail.protection.outlook.com (100.127.142.112) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.20 via Frontend Transport; Thu, 2 Mar 2023 15:52:11 +0000
Received: ("Tessian outbound 0df938784972:v135");
 Thu, 02 Mar 2023 15:52:11 +0000
Received: from d1892ff6d114.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FFD392D9-E0FF-43C0-B318-F260B29D85B1.1; 
 Thu, 02 Mar 2023 15:52:00 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d1892ff6d114.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 02 Mar 2023 15:52:00 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DU0PR08MB9275.eurprd08.prod.outlook.com (2603:10a6:10:41b::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Thu, 2 Mar
 2023 15:51:58 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Thu, 2 Mar 2023
 15:51:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35c818f6-b912-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Czf39zrHaWnaBfN3qeRgPUJb9qSQrGI7BeXfUrcWpHQ=;
 b=renEI1hUUPzONAEDrxQLRq8n8w+hH8Z0mlG53mufMcScr5g2G3zAWgSxUeSLjrFS3EzBtCBv3pkXcH0g47M6WYqF6Fgf3GSO2ma3PnOaBCJjyHY70m/Omt5sbiubMGLsl3LQ4DFdi5eughA54G7R6dUxp9I1u99xep5FkN8SlTQ=
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: 1153d063e4ee4395
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qt3JkC96T97GAbMIIDIiBmv9ef4D0hJMgOq7jJvMfZ/evcyanQGNrAG4utdLZ78qLfhhT08npxipvJ/zVBaFnF3Hg3iWGI7pgLjNODsBQ5JZhguHUarhdPKhjoOGokTcx5cslgSSjc0aB7Z5D2/Ell+7nLMj+p1+Sl9G0tEhOY71TwjlmpbzhyTTjvWU2TcLMguW3OmqrUaKejtK8ZNpBGFrUwyAMo7WRV1DdwkVwV7Fg/bNReWqxJ987p+csqjbJvZfQGEMIvZezH1qVh3i2zhEwvXHIyDPx2XrZ/RdMgU8xIqiNwYzUP/0xBIJ2Eg9AZI00bkiLRttY7LERX2UsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Czf39zrHaWnaBfN3qeRgPUJb9qSQrGI7BeXfUrcWpHQ=;
 b=RtqMzTw3AzxydifL8yDOce0LGUnTRdx78rlsGynsKAKpUwUlHy0m8rzgqfb7S30O7andn48iMW7VmoWHgKKyT/1LGKud+PL8AAeq/KhKZMx4qI95i0VJbroAlmqPDsBYI6kFsLq7Q3Kt56NXT+j++vgxVXVOxYgjTrPBOktQIwNBLR40eCBkGyLoRlgpTjGGzDeUpoD2g76le7OM2mLFk4G2Neius8qA2BCswvMD1BsT2CG+dIriAEUeiPKc5ih5x/RiWtqX+dmvs0VUh0vM0oH9zhCCNZvqfeyhH2aNqZTMB0raE86qhUQToHF271zuFyvXg2wrj2Dfy+IacCgX9g==
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=Czf39zrHaWnaBfN3qeRgPUJb9qSQrGI7BeXfUrcWpHQ=;
 b=renEI1hUUPzONAEDrxQLRq8n8w+hH8Z0mlG53mufMcScr5g2G3zAWgSxUeSLjrFS3EzBtCBv3pkXcH0g47M6WYqF6Fgf3GSO2ma3PnOaBCJjyHY70m/Omt5sbiubMGLsl3LQ4DFdi5eughA54G7R6dUxp9I1u99xep5FkN8SlTQ=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Luca Fancellu
	<Luca.Fancellu@arm.com>, Michal Orzel <michal.orzel@amd.com>, Julien Grall
	<jgrall@amazon.com>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v6 1/5] xen/arm32: head: Widen the use of the temporary
 mapping
Thread-Topic: [PATCH v6 1/5] xen/arm32: head: Widen the use of the temporary
 mapping
Thread-Index: AQHZTRegmVYOCBfckkKt3RhJZjw+I67no5qA
Date: Thu, 2 Mar 2023 15:51:58 +0000
Message-ID: <66AB8789-4F4F-474A-A05D-4850023488E5@arm.com>
References: <20230302145916.44035-1-julien@xen.org>
 <20230302145916.44035-2-julien@xen.org>
In-Reply-To: <20230302145916.44035-2-julien@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|DU0PR08MB9275:EE_|DBAEUR03FT015:EE_|AS8PR08MB9340:EE_
X-MS-Office365-Filtering-Correlation-Id: 5de035be-47ac-4d7d-ab80-08db1b36160a
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:
 qCvRM4p2A6QU66OHLqPs6Dk+/hyNcuOsprOZp3pORUNmy0xtR5GhHd5djl85qgMQcQxHwx1urYVrxW5IDwAsW8kCUxDyuz2h2a6I1Kgf2UW+h8nOa/SoW7BUjjhEGSa1IrGrkrrLWVPFGQOzVn3alxWyZiiWSNY/CrPlW4BFLB0nqJBzx3YGxRmXiXuTsrXMiejAtN1wdIW/lKbDs/joWrSb9vip/wko6dqUwa70XU5QfwJoANRLwTp4kd1cZIzoKaR+WGWiHCda1Qws1CCYRUZVGT9Jnruy3jGQgKrriTKA9qORRDBu3KQlf+V57wBc9jpK/27AQBY2mAWu6o+CR1W4KGNeWg4wU3vDwARJZClQOU0kX1fv+ukKIhBnI2g2hxVJBcy3uw2k0uskzrFVdNSP2668zL3PEPu6sPn6RET5nuNSB7VpLBoGOf+148kpHxdM8hgaR7rO9vHyBQ7kEwA3oIs3fklu64JoTZxFVQcSqymRXfAa+2qUK7+gblmqmzQH1aL6c+RKwpu/Z8dhDvqx9Dj3IcdjyQcCACbZF6b73o+oMJ7PigJDY0qhTtKYBjNDTS5BcdBkWoJ+UVlM5nm/0+wGFQXJZThJaJO0j/5NX4TKr6VsroQwDNdT5wnxtGkzIORdN60/JRpjVE93UuwaXmQDS6m9KoyN4fKLI6vCVKuGpdCkavqJSgGwMLb0yk7V+92h+ixOGXZiEhLUOVNXy4L2tX/6d5X+ApNPmKU=
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:(13230025)(4636009)(366004)(346002)(136003)(376002)(396003)(39860400002)(451199018)(83380400001)(122000001)(36756003)(38100700002)(478600001)(8936002)(5660300002)(66946007)(86362001)(38070700005)(33656002)(71200400001)(26005)(186003)(2616005)(6512007)(53546011)(6506007)(6486002)(66446008)(66556008)(66476007)(2906002)(64756008)(8676002)(76116006)(6916009)(41300700001)(316002)(4326008)(91956017)(54906003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <041128C9236DFD45A048921A216974C5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9275
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:
 DBAEUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fe81a816-7da2-4c50-84bb-08db1b360e2d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	472Td7okK1NXGt2qAf2Z+g3IcFrfkRoPGnE89r4h1V21gh4457614o4LWGynyJK0mezaLDft/Y8nvJBNttQLWpPFNyz4n4B65ZiLketRV0mUPuGLvhaERUr07G7ydyiQMrVQcCLhRZ+86AJv0fwL/solYNoIvGqXzWnBQsAOzGhD6MH3KSBQQ6nHsUW+XZlXPY+LUg2fL+Ac8/u6lwknG+aMjqJgR35GS5PcMwgUhaoiTgF3SuS1q+8K86ZVfn/2Ylsk8/CltoVauucACwxYp9iGQlFnxPqTs6xzJEZ5gDWrDFFE1tpyi2x+oMyJDcIXGO3fFqcKknd0z9ddkL3vJXp3CqXNVzVHstbNwIrt9Oi8pGVvywydRPsKq/DCUy3HCgbBivLMC1tLMOo3N1NW6qUIn7iHSMAuUN3DA/ShbYrUgETzed1gIa5v/YkQSDAFDLLA/V0VJGEmmiS0SJXnMa06KlpJdMrdW435QlShCnuxgDuUNrEznaMBFJmWURgTZk25lfKNDWz7oqV++k0FDwaQ54sSnXyTB8Lh3eiEQFqvB8bQwH1+jPdWhXHCNxXHygr4NZ0ym1sQm2czD0Tu0uPXl3ScT9T0TWHiXh9AAzQfBndC1YdcH7gqOSNh0fIlCX/CIqaUdpGvN1IUtAjnj1bG8LRSciP3d9yCycVoHOMxpoP3AE8fp9LKtlh4Qx4JTfA7a4UtVXH3Ubm/M+MWfQ==
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:(13230025)(4636009)(346002)(136003)(39860400002)(396003)(376002)(451199018)(40470700004)(36840700001)(46966006)(40460700003)(36756003)(33656002)(53546011)(6486002)(6512007)(6506007)(2616005)(26005)(186003)(336012)(316002)(41300700001)(54906003)(4326008)(70206006)(2906002)(8676002)(70586007)(8936002)(478600001)(5660300002)(82740400003)(81166007)(6862004)(86362001)(40480700001)(82310400005)(356005)(36860700001)(83380400001)(47076005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 15:52:11.4882
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5de035be-47ac-4d7d-ab80-08db1b36160a
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:
	DBAEUR03FT015.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9340

Hi Julien,

> On 2 Mar 2023, at 15:59, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> At the moment, the temporary mapping is only used when the virtual
> runtime region of Xen is clashing with the physical region.
>=20
> In follow-up patches, we will rework how secondary CPU bring-up works
> and it will be convenient to use the fixmap area for accessing
> the root page-table (it is per-cpu).
>=20
> Rework the code to use temporary mapping when the Xen physical address
> is not overlapping with the temporary mapping.
>=20
> This also has the advantage to simplify the logic to identity map
> Xen.
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> Reviewed-by: Henry Wang <Henry.Wang@arm.com>
> Tested-by: Henry Wang <Henry.Wang@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

>=20
> ----
>=20
> Even if this patch is rewriting part of the previous patch, I decided
> to keep them separated to help the review.
>=20
> The "follow-up patches" are still in draft at the moment. I still haven't
> find a way to split them nicely and not require too much more work
> in the coloring side.
>=20
> I have provided some medium-term goal in the cover letter.
>=20
>    Changes in v6:
>        - Add Henry's reviewed-by and tested-by tag
>        - Add Michal's reviewed-by
>        - Add newline in remove_identity_mapping for clarity
>=20
>    Changes in v5:
>        - Fix typo in a comment
>        - No need to link boot_{second, third}_id again if we need to
>          create a temporary area.
>=20
>    Changes in v3:
>        - Resolve conflicts after switching from "ldr rX, <label>" to
>          "mov_w rX, <label>" in a previous patch
>=20
>    Changes in v2:
>        - Patch added
> ---
> xen/arch/arm/arm32/head.S | 86 ++++++++-------------------------------
> 1 file changed, 16 insertions(+), 70 deletions(-)
>=20
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index df51550baa8a..9befffd85079 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -459,7 +459,6 @@ ENDPROC(cpu_init)
> create_page_tables:
>         /* Prepare the page-tables for mapping Xen */
>         mov_w r0, XEN_VIRT_START
> -        create_table_entry boot_pgtable, boot_second, r0, 1
>         create_table_entry boot_second, boot_third, r0, 2
>=20
>         /* Setup boot_third: */
> @@ -479,70 +478,37 @@ create_page_tables:
>         cmp   r1, #(XEN_PT_LPAE_ENTRIES<<3) /* 512*8-byte entries per pag=
e */
>         blo   1b
>=20
> -        /*
> -         * If Xen is loaded at exactly XEN_VIRT_START then we don't
> -         * need an additional 1:1 mapping, the virtual mapping will
> -         * suffice.
> -         */
> -        cmp   r9, #XEN_VIRT_START
> -        moveq pc, lr
> -
>         /*
>          * 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.
> -         *
> -         * In all the cases, we will link boot_third_id. So create the
> -         * mapping in advance.
>          */
> +        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
>=20
>         /*
> -         * Find the first slot used. If the slot is not XEN_FIRST_SLOT,
> -         * then the 1:1 mapping will use its own set of page-tables from
> -         * the second level.
> +         * 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 :=3D first slot */
> -        cmp   r1, #XEN_FIRST_SLOT
> -        beq   1f
> -        create_table_entry boot_pgtable, boot_second_id, r9, 1
> -        b     link_from_second_id
> -
> -1:
> -        /*
> -         * Find the second slot used. If the slot is XEN_SECOND_SLOT, th=
en the
> -         * 1:1 mapping will use its own set of page-tables from the
> -         * third level.
> -         */
> -        get_table_slot r1, r9, 2     /* r1 :=3D second slot */
> -        cmp   r1, #XEN_SECOND_SLOT
> -        beq   virtphys_clash
> -        create_table_entry boot_second, boot_third_id, r9, 2
> -        b     link_from_third_id
> +        cmp   r1, #TEMPORARY_AREA_FIRST_SLOT
> +        bne   use_temporary_mapping
>=20
> -link_from_second_id:
> -        create_table_entry boot_second_id, boot_third_id, r9, 2
> -link_from_third_id:
> -        /* Good news, we are not clashing with Xen virtual mapping */
> +        mov_w r0, XEN_VIRT_START
> +        create_table_entry boot_pgtable, boot_second, r0, 1
>         mov   r12, #0                /* r12 :=3D temporary mapping not cr=
eated */
>         mov   pc, lr
>=20
> -virtphys_clash:
> +use_temporary_mapping:
>         /*
> -         * The identity map clashes with boot_third. Link boot_first_id =
and
> -         * map Xen to a temporary mapping. See switch_to_runtime_mapping
> -         * for more details.
> +         * 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("- Virt and Phys addresses clash  -\r\n")
>         PRINT("- Create temporary mapping -\r\n")
>=20
> -        /*
> -         * This will override the link to boot_second in XEN_FIRST_SLOT.
> -         * The page-tables are not live yet. So no need to use
> -         * break-before-make.
> -         */
> -        create_table_entry boot_pgtable, boot_second_id, r9, 1
> -        create_table_entry boot_second_id, boot_third_id, r9, 2
> -
>         /* 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
> @@ -675,33 +641,13 @@ remove_identity_mapping:
>         /* r2:r3 :=3D invalid page-table entry */
>         mov   r2, #0x0
>         mov   r3, #0x0
> -        /*
> -         * Find the first slot used. Remove the entry for the first
> -         * table if the slot is not XEN_FIRST_SLOT.
> -         */
> +
> +        /* Find the first slot used and remove it */
>         get_table_slot r1, r9, 1     /* r1 :=3D first slot */
> -        cmp   r1, #XEN_FIRST_SLOT
> -        beq   1f
> -        /* It is not in slot 0, remove the entry */
>         mov_w r0, boot_pgtable       /* r0 :=3D root table */
>         lsl   r1, r1, #3             /* r1 :=3D Slot offset */
>         strd  r2, r3, [r0, r1]
> -        b     identity_mapping_removed
> -
> -1:
> -        /*
> -         * Find the second slot used. Remove the entry for the first
> -         * table if the slot is not XEN_SECOND_SLOT.
> -         */
> -        get_table_slot r1, r9, 2     /* r1 :=3D second slot */
> -        cmp   r1, #XEN_SECOND_SLOT
> -        beq   identity_mapping_removed
> -        /* It is not in slot 1, remove the entry */
> -        mov_w r0, boot_second        /* r0 :=3D second table */
> -        lsl   r1, r1, #3             /* r1 :=3D Slot offset */
> -        strd  r2, r3, [r0, r1]
>=20
> -identity_mapping_removed:
>         flush_xen_tlb_local r0
>         mov   pc, lr
> ENDPROC(remove_identity_mapping)
> --=20
> 2.39.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 15:55:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 15:55:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505213.777843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXlHB-0002cj-QC; Thu, 02 Mar 2023 15:55:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505213.777843; Thu, 02 Mar 2023 15:55:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXlHB-0002cc-LG; Thu, 02 Mar 2023 15:55:25 +0000
Received: by outflank-mailman (input) for mailman id 505213;
 Thu, 02 Mar 2023 15:55: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=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXlHA-0002cU-Et
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 15:55:24 +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 a3a32c0a-b912-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 16:55:22 +0100 (CET)
Received: by mail-lj1-x235.google.com with SMTP id by8so18078551ljb.7
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 07:55:22 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 z6-20020a05651c11c600b002959f20bcb8sm2161961ljo.47.2023.03.02.07.55.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 07:55: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: a3a32c0a-b912-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677772522;
        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=Y55sgdyG23gAS61fFj1guOE2Il3QBewTTX6Q3sh2g1I=;
        b=Qzgix45A/yPIbO+AAI6QpAWpoZyTANO6VP6tkW47v/8wt1nxdqrIc4/kpppkwIOthu
         0oLfd7rFQM8AQWwmOd5hwAWzztTqzev58pW26ORL+DbbFePwZtnULC5C61Y1sBF8J4xe
         qdWjH+brBQ3gV2Vw015oEu4+xQLKi8ESiCgrdXq06NzU9V3ftRL+watsuGTSF47vHH7x
         1YunAsg0Il9V+HVt7lkV70X2pV//H3v7oVOApepuiT8YKrQhhyPfydXdgwwkCtaDDPb6
         Efpk4JsP52EnHbcjE1uPXJKh3YaJd1T3AOkqhs3JTBxIdBD73vEOVcahUZ84b5XLeWLy
         Yvvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677772522;
        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=Y55sgdyG23gAS61fFj1guOE2Il3QBewTTX6Q3sh2g1I=;
        b=SntG5ni/LpbF7VrgtCO95ZmB3uDlySC8e6pe9paWmUAJyiOJKgJDRPASULjwlJQ6dO
         SjRFWJRZ2Hv1kpW/h5NEcgRGGIxkZY5cJOfq53AtbJCgyH0FNht0xzmBUGOSYLCbmt21
         h0/3TViknRnqX06kz+UWH3uuaO7RLFuWaofCywCvOSNU+Fbl70lDcUoRhtJ90eimMfHh
         ySAqmo8FeajkNYygQiVbO1K+FSCqQDD3GiAkbqVcaEJg9Xg0suwcpdtrGv1aC77a+ktM
         eYLkVUsDaEsnICB9Whal8worSkyaFhrVnHXll9sroFFXdzaCrXT69a0dOCuhIhXar/fl
         k2Mw==
X-Gm-Message-State: AO0yUKUlWta1CGMH+h9Wi0pUhBwLkDbadpDmsGWOD4i+Hjr8qgMcw+da
	2FWdUGQSBRRLNbXbaq+Y3tSPpusmV4Q=
X-Google-Smtp-Source: AK7set+CDg8anBsXJuewhMycWPutVrC73nlRr61LifKVaopOAx7XAq1r5KPBZxGgtCoFRtvMmccSTg==
X-Received: by 2002:a2e:a58c:0:b0:295:d6c6:a0c3 with SMTP id m12-20020a2ea58c000000b00295d6c6a0c3mr2486376ljp.37.1677772521915;
        Thu, 02 Mar 2023 07:55:21 -0800 (PST)
Message-ID: <454a6452b2201b815979e7ca730949f7bb5fe4ef.camel@gmail.com>
Subject: Re: [PATCH v2 2/3] xen/riscv: initialize .bss section
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>,
 xen-devel@lists.xenproject.org
Date: Thu, 02 Mar 2023 17:55:19 +0200
In-Reply-To: <270118d9-0a7c-82c5-aaa8-437644017af4@suse.com>
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
	 <495bd1d7fc2becdd48bd00253c079971e2231e99.1677762812.git.oleksii.kurochko@gmail.com>
	 <270118d9-0a7c-82c5-aaa8-437644017af4@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Thu, 2023-03-02 at 15:22 +0100, Jan Beulich wrote:
> On 02.03.2023 14:23, Oleksii Kurochko wrote:
> > --- a/xen/arch/riscv/riscv64/head.S
> > +++ b/xen/arch/riscv/riscv64/head.S
> > @@ -13,6 +13,15 @@ ENTRY(start)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lla=C2=A0=C2=A0=C2=A0=
=C2=A0 a6, _dtb_base
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 REG_S=C2=A0=C2=A0 a1, =
(a6)
> > =C2=A0
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 a3, __bss_start
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 a4, __bss_end
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ble=C2=A0=C2=A0=C2=A0=C2=A0=
 a4, a3, clear_bss_done
>=20
> While it may be that .bss is indeed empty right now, even short term
> it won't be, and never will. I'd drop this conditional (and in
> particular the label), inserting a transient item into .bss for the
> time being. As soon as your patch introducing page tables has landed,
> there will be multiple pages worth of .bss.
If I understand you correctly you suggested declare some variable:
   int dummy_bss __attribute__((unused));

Then .bss won't be zero:
   $ riscv64-linux-gnu-objdump -x xen/xen-syms | grep -i dummy_bss   =20
   0000000080205000 g     O .bss   0000000000000004 .hidden dummy_bss

And when page tables will be ready it will be needed to remove
dummy_bss.

Another one option is to update linker script ( looks better then
previous one ):
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -140,6 +140,7 @@ SECTIONS
         . =3D ALIGN(SMP_CACHE_BYTES);
         __per_cpu_data_end =3D .;
         *(.bss .bss.*)
+        . =3D . + 1;
         . =3D ALIGN(POINTER_ALIGN);
         __bss_end =3D .;
     } :text

If one of the options is fine then to be honest I am not sure that I
understand why it is better than have 3 instructions which will be
unnecessary when first bss variable will be introduced. And actually
the same will be with item in bss, it will become unnecessary when
something from bss will be introduced.

I am OK with one of the mentioned above options but still would like
to understand what are advantages.

>=20
> Also are this and ...
>=20
> > +clear_bss:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 REG_S=C2=A0=C2=A0 zero, (a3=
)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=C2=A0=
 a3, a3, RISCV_SZPTR
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 blt=C2=A0=C2=A0=C2=A0=C2=A0=
 a3, a4, clear_bss
>=20
> ... this branch actually the correct ones? I'd expect the unsigned
> flavors to be used when comparing addresses. It may not matter here
> and/or right now, but it'll set a bad precedent unless you expect
> to only ever work on addresses which have the sign bit clear.
I'll change blt to bltu.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 16:01:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 16:01:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505219.777853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXlMx-0004v4-Br; Thu, 02 Mar 2023 16:01:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505219.777853; Thu, 02 Mar 2023 16: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 1pXlMx-0004ux-8v; Thu, 02 Mar 2023 16:01:23 +0000
Received: by outflank-mailman (input) for mailman id 505219;
 Thu, 02 Mar 2023 16: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=qSkR=62=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXlMv-0004ur-Kj
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 16:01:21 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20617.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 782dfa69-b913-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 17:01:19 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6156.17; Thu, 2 Mar
 2023 16:01:18 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Thu, 2 Mar 2023
 16: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: 782dfa69-b913-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WC29pK2wSF7fWNy3dNIwgB9Zvq1x9OXQszcfexxioy33pBtIcViBc59IV7IN9IXLdXwhLcZavCYhHE4F/LH3UpkcnCr11KKCBQDVV30T+qqSkC3W7ei+0Kq0mpJyW016ruH64wFBKB7DGl1rGnocddwHqGZTIYF3VkMfM5axwZefxartRjVMuS/GBq3RGCxhA4pRPbi3rRbnwxsbvOAm/CfOWDprKKFm/jyggKus3GiC0zvAHC89NIqWVBL7rG1N6qUUs3L6J1GTtRo5KruXz913YsJAGZv2A6eCdg1NflQt47B8QjU9sOu/NTA+0HQYcwQD69HA6hXZgZWrsSdMog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+vAtvL1J92EepVf+YxfR4F1Mn1QbHYpNgohoNWXeBo=;
 b=H7fb2XnrhyuaPD3E8qkbDHUztYxHtZBRJT3izAVzt3yH1sxR222wxnlwpsv9DEZvWI/Bh8WFZgNIHk1QoSeJWtyUENtkVUFfYkjgRg7m13iXcvEaqbShyc4oLQBxCbFMaf1hCBSf+YhPYv3HG+wlwaVNXJiLiGjg1O6KXFQ/IJzuFyLFcUqU2u5GNf/sfveD8q/OdF2k7AudA3uNdyzi6pKHsPoUwvK0xj7pVeA7oAjXbali3sdPIworx7u4jS+jUh8FDWHoBC+kCgNpb6/ZEnab8qIT8kuu4/SSeNNiDm8xtnltvV72I5tt9s4bjS2HpVnzKmOBzdLMbE/rKOMM9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R+vAtvL1J92EepVf+YxfR4F1Mn1QbHYpNgohoNWXeBo=;
 b=LY1X8ruz+uvPcQ84O8uYh+DQFRuYUD3CWwGnf/epsYsL+pQN+EFI09Kj8CBpPeQtWrzBzZWcl0qUK4fjMI/C0QwseFW/T+ICZgatPnbeyXkkcjCHKqx8ElpzUq8SAF0Sk1ICKhQy6CsYYfgkY5ChbdbKn/GjCuXJRbAapbfmx+A+xHd1DxZGodrPl4G87wyLqbQ33qRhwO3/aH1/WNZDHDATMs+vKcyyyIRwn7HR/HsXe1Y67S/thJMKnwLgQm97+re04UAnXikF5tTlIm2L2wemijwCwsYCsiQ5quGBssl/UFaFO99/v+gWZMuLqLTxynxA1zEuDYJmccuaBLQdWg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <54524d24-e0ff-8177-8d93-f5892e843d67@suse.com>
Date: Thu, 2 Mar 2023 17:01:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/3] xen/riscv: initialize .bss section
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
 <495bd1d7fc2becdd48bd00253c079971e2231e99.1677762812.git.oleksii.kurochko@gmail.com>
 <270118d9-0a7c-82c5-aaa8-437644017af4@suse.com>
 <454a6452b2201b815979e7ca730949f7bb5fe4ef.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <454a6452b2201b815979e7ca730949f7bb5fe4ef.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0171.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7972:EE_
X-MS-Office365-Filtering-Correlation-Id: a5b33775-782e-416e-2c8a-08db1b375b86
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QcMoFm4dGhKqUjqr+YLhyh90uz8xeyMXxBAk7s97V+AOeWvvZL/Utkah6ab7h+2XCAsOVMlCEFwhZiUePSN1znZv/+GjnjpFCvLINvBiIoSxK4EyGeeqyWDQxnFRBVDOv0yMR77NyA2hQAzwf1Tn0ZvpysNbcbbZBtXRpIqAhuOaAfrAhPCPVcC8+Wwq5FbPmGktapoAWTa55zkgDr68TkSrtGrwJVMbcQ4Uiv69+sR4yi+q04HXOSSfyCClEUTf3Mx278YgpifsYPKBdGbhHwlfOR3/U2VIroYQln1lTgSB+OAaJU9souYCZ9sS5QQcw6zpjuY1vBiRCC1U3tJoDiBQMBXu/Jl6A83ESzqRUvjg6D1o0S42m5SsITbv6BueFTRJHInMrD1xov9XxXRDue1cZzaEYwXm2MWt81wTxrkHWZyfJ2tBUms4sbowbks5lRH9Vv9T6W+FFwgXXb+klt/Z9XdYT7I4Aoh66Qqr+eqLhz6KH7u8HRKxm+HxiiCYXFmQI0GNlO2Bxji9MM3O52vdrbNq1uLG8XXda3eOZ1KU4t6NFxYbLwIJPjNy++hb91i9K2pE1GEo4cfej2BCawWqaWGMnYZ0rCmJncE2WoDaGEWfYK3cUmkKWlRcPv1gllMRinsefvEFQlj0RatA3vfqATifr8iulDSiun5FYCQThfgzcsCCJ9sUJ2rUs1rvKSMUkWRyRRIJlizz+mE5SszDtGqMvw1z9HBsALmqSEgLRsmIFaMM94WNKRon0edq0SyqdRrq/43iw13pUNQ3gw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(136003)(346002)(396003)(376002)(451199018)(31686004)(31696002)(86362001)(2906002)(8676002)(66556008)(8936002)(66476007)(6916009)(5660300002)(41300700001)(4326008)(66946007)(36756003)(38100700002)(6486002)(478600001)(316002)(54906003)(83380400001)(6512007)(186003)(6506007)(26005)(2616005)(53546011)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TDF5K1JvSDU0TnRkMVhhalNXc083MkZsazJneGRkT09SNFIwTEtLenhXS3hZ?=
 =?utf-8?B?bVpuMjN3TTI2eWtGeDFpNzJKZnJXOVhYai95MEhJck9hczlQbFR4WlVGa1pF?=
 =?utf-8?B?RGJNUmVwTVl3TFJZZEJkYW1GWmxCeDhZZG1DditCUjAwenlvMjRaOEk2M3Zp?=
 =?utf-8?B?V25aTTZtNjllSlBQYUU2ZC9GaEhYSS9WL0ZXVW5aMXg0Vk1KWUtyUndJTkNq?=
 =?utf-8?B?c3g3VzZtWFNLR0hkTXZiWVJjWkxXNzQxZXJibzJHaWl2OFRlckFQNzBya1No?=
 =?utf-8?B?cUo2Z1JYczNFbzhoVSt2cWdMMXQ0NUU0T0NSL1AxbXhlWm8zc1pKT0ZJckNt?=
 =?utf-8?B?RDBqdTg2SHNWUXllSmN2bjdUZ2ZmRHhUKzBrc1VwRWpJZzRGM3lacDgvSEJa?=
 =?utf-8?B?S3J3UUw1Z2VuQ3ZLWE1XQlhDdER4RE1lOGZvQ3lLMHQrM3Iza1k2bVAwSHBz?=
 =?utf-8?B?V2VldkZsZXkyYXJ3bUg2TmRPUTQ5QUtDZjV1c2pXTDJrcDVUbElTdWU1VVVE?=
 =?utf-8?B?M2VqOWhrdjhaMExwbXlRNGxQc3lwNXJNa3JlbkRwTThiNmxPbWVhaTBNR3NZ?=
 =?utf-8?B?anNBd0RGUWcvYngrdDNKZGJMUmY1Q0JhZXRwNE9MYTdxU0gyUE1ZQjZUUWdL?=
 =?utf-8?B?c0hFNkl2SDZQUWZxNHRSWXVXdThBUVc2NUtjbWNTMEdsZERLUXFqbTc0aFF1?=
 =?utf-8?B?YTdMdkFQWmdibDIwYXF0bDBLN01JSFVLaFhYc2ZkQTF5QWxaUTlpK0k2eXda?=
 =?utf-8?B?ZU5tVXNndTdZYmNUdGhYTjZrMDNDNVZXNS9pZkcvU0lUdklXbWR2ZjR6R3RO?=
 =?utf-8?B?S1pnY29LYllzS0F6UmdydnB4NFVQTU9zYUt1TklPaC9MZkJWZTRxZVNiWmMv?=
 =?utf-8?B?eUhYQ1JZUDU4NlpiR0p5RGRFZWxmc0I1MXdkVWRCYnU5RFIyS2R4elVXbVE1?=
 =?utf-8?B?Vms2dnQ5UmRwL1dIeEFOQnRYSk84c2VUV01QQW5SUVZaa210T2gzZHhiaDFz?=
 =?utf-8?B?eWFKTlVBRXBPYngreko1bXI0VktoVFNNM08vOVZKQkVUbEFGaEYxSE51T1Rv?=
 =?utf-8?B?bTU2VkFnUGJ2QUtjREtVb3ZQWmRKZjlEbVVSWitmcHRTVWJHc2pJdlROVnZa?=
 =?utf-8?B?ODBhZTRXc21DRXg1Zy9kWmVpRHRJeTd6SitqRGNyYnh4SDFqY0NzbE0zaHg3?=
 =?utf-8?B?ZnRwamhkZG5pTkVEZ2NRMHVvem9xVUVvUjVpSGlRc2xvWFFRZngwY3M0eUx2?=
 =?utf-8?B?RlhIdHA1bVd6RTVvUHM0dSt0TjVrS2tZSnR0L1N6ZDZpMy9URXZJTzFBczh5?=
 =?utf-8?B?ZUEwZzBIWlBjNERJUkJUQWNwNmNzOFh2QnJOREkvRWhDQmEvaGNpU3VTYXg2?=
 =?utf-8?B?V0lpZUNjS01DcUtCRitERlJUSFhaWWZFblZVMzZhWDh1NURYSWNucEh1cXFN?=
 =?utf-8?B?UFpMS3A3b2hOaFUwc3MzcER4UUFCVXJvUVI1aC91dTZuV1RmZDI5NTAxMndV?=
 =?utf-8?B?NFBjcmR3NFFqc1hoeFlhWUFLQ3Rlcm1ldVcwVlN0RmV1Sm1lL2Vidm15Njg1?=
 =?utf-8?B?UEhQU2NoeFJUYk15a0Jxblo3WnZwZmh1cFNha2tScGVhdFl0UFppaW5qRktv?=
 =?utf-8?B?a3NCdjJBN0M3NlFjQjlJTWV4WDFteVZNQk5LdUxtclhSTUlrV1Y3ZEpmQ3Ex?=
 =?utf-8?B?cEZFUVlSTTF6eWx6YTRMdkhZazhOSnZjcHRFdHZWbkg0Z2pSYU12VktDR1l3?=
 =?utf-8?B?MjZXMTZkVURicGpZenlPVHE5eC93aS9EM3k5VHFqanVWd2VCc0Jhd0l1SW1V?=
 =?utf-8?B?VlBFVHcyMyt0KzlrZ1BEY0Jqd1hvNW9XS01Kcit3TGlqVERRMEVUMzY2eTYr?=
 =?utf-8?B?dVJ4NlE4Lyt5bHpyMXZOVjNGQVZYMlAyQU9ISHlmTlRHa2gzdFlPOUJ1QUMx?=
 =?utf-8?B?ZldUNVAxSWxEYzQwV2F6aWhyN1pqS1FDN09VNGZPcnEzTlBaWXl0a3VqQ3l4?=
 =?utf-8?B?WnpYcXpmWlU4clp5aGZwcGU1aFVyYzdhaDFvVEdLdmwzTWVGQjUvUEtCZDla?=
 =?utf-8?B?N2RkS09UK3hKS3hhQW5iTERlaDZGQ2Q1T0g5enpWaTFyWmRkcmIvUzZTa3BX?=
 =?utf-8?Q?FAl7yePWmB4oihJiCGAlHZV90?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a5b33775-782e-416e-2c8a-08db1b375b86
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 16:01:17.7134
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fW3s7JqhAEMh55AZelq6ANHVO7udPELn9Roo7HuvYfVAYUX6i5k6E0M2VWMFI0DrjlH5KBdl8nKDQ8tI9pdSYg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7972

On 02.03.2023 16:55, Oleksii wrote:
> On Thu, 2023-03-02 at 15:22 +0100, Jan Beulich wrote:
>> On 02.03.2023 14:23, Oleksii Kurochko wrote:
>>> --- a/xen/arch/riscv/riscv64/head.S
>>> +++ b/xen/arch/riscv/riscv64/head.S
>>> @@ -13,6 +13,15 @@ ENTRY(start)
>>>          lla     a6, _dtb_base
>>>          REG_S   a1, (a6)
>>>  
>>> +        la      a3, __bss_start
>>> +        la      a4, __bss_end
>>> +        ble     a4, a3, clear_bss_done
>>
>> While it may be that .bss is indeed empty right now, even short term
>> it won't be, and never will. I'd drop this conditional (and in
>> particular the label), inserting a transient item into .bss for the
>> time being. As soon as your patch introducing page tables has landed,
>> there will be multiple pages worth of .bss.
> If I understand you correctly you suggested declare some variable:
>    int dummy_bss __attribute__((unused));
> 
> Then .bss won't be zero:
>    $ riscv64-linux-gnu-objdump -x xen/xen-syms | grep -i dummy_bss    
>    0000000080205000 g     O .bss   0000000000000004 .hidden dummy_bss
> 
> And when page tables will be ready it will be needed to remove
> dummy_bss.
> 
> Another one option is to update linker script ( looks better then
> previous one ):
> --- a/xen/arch/riscv/xen.lds.S
> +++ b/xen/arch/riscv/xen.lds.S
> @@ -140,6 +140,7 @@ SECTIONS
>          . = ALIGN(SMP_CACHE_BYTES);
>          __per_cpu_data_end = .;
>          *(.bss .bss.*)
> +        . = . + 1;
>          . = ALIGN(POINTER_ALIGN);
>          __bss_end = .;
>      } :text

Right, I did think of this as an alternative solution as well. Either
is fine with me.

> If one of the options is fine then to be honest I am not sure that I
> understand why it is better than have 3 instructions which will be
> unnecessary when first bss variable will be introduced. And actually
> the same will be with item in bss, it will become unnecessary when
> something from bss will be introduced.
> 
> I am OK with one of the mentioned above options but still would like
> to understand what are advantages.

You could also remove the branch and the label once .bss is no longer
empty. It'll just raise needless questions if that's left in long
term. Plus - I'm not a maintainer, I'm only voicing suggestions ...

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 16:24:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 16:24:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505224.777864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXlj3-0007t4-8Y; Thu, 02 Mar 2023 16:24:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505224.777864; Thu, 02 Mar 2023 16:24:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXlj3-0007sx-3E; Thu, 02 Mar 2023 16:24:13 +0000
Received: by outflank-mailman (input) for mailman id 505224;
 Thu, 02 Mar 2023 16:24:12 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pXlj2-0007sn-E3; Thu, 02 Mar 2023 16:24:12 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pXlj2-0006FP-AC; Thu, 02 Mar 2023 16:24:12 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pXlj1-0007dM-Vm; Thu, 02 Mar 2023 16:24:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXlj1-0001mC-VN; Thu, 02 Mar 2023 16:24: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=r4FtJ/MP8QBccri71heVC4qR93hnTnNQPNa9X22XMpQ=; b=Aw9qmUBbGKHrMUINnR6wp85s7w
	rzY4KcKYow/bN7mRpvBukl9GBP5/uBAb1QAqpTSVKZUe/dh7UUhO1iXfxkNEqerXiZtHQjKf9zyiW
	Acq1PzRiMhnYCBJIixUHpkPN35MSWqEMpzy+cZccwStwCk5YdDdHkgTNRPB5M5VtMj3Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178951-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 178951: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    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-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=ee3f96b164688dae21e2466a57f2e806b64e8a37
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 02 Mar 2023 16:24:11 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 178042
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 17 guest-stop               fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 178042
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail in 178910 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-credit2  14 guest-start                fail pass in 178910

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit2 15 migrate-support-check fail in 178910 never pass
 test-arm64-arm64-xl-credit2 16 saverestore-support-check fail in 178910 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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                ee3f96b164688dae21e2466a57f2e806b64e8a37
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z    8 days
Failing since        178093  2023-02-22 05:02:47 Z    8 days   17 attempts
Testing same since   178910  2023-03-01 21:14:06 Z    0 days    2 attempts

------------------------------------------------------------
1969 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 16:31:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 16:31:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505233.777874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXlpx-0001FA-38; Thu, 02 Mar 2023 16:31:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505233.777874; Thu, 02 Mar 2023 16: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 1pXlpw-0001F3-UO; Thu, 02 Mar 2023 16:31:20 +0000
Received: by outflank-mailman (input) for mailman id 505233;
 Thu, 02 Mar 2023 16: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=RuGR=62=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pXlpv-0001EZ-Gx
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 16:31:19 +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 a7f51748-b917-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 17:31:18 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-108-FfzftseYMeyd-EeORqC0WQ-1; Thu, 02 Mar 2023 11:31:11 -0500
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 8C87A18E0044;
 Thu,  2 Mar 2023 16:31:10 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.93])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 31BB74010E86;
 Thu,  2 Mar 2023 16:31: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: a7f51748-b917-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677774676;
	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=ZDJm0qbzU2JdESu0wAQDuLmy0wi+765V7K8ePbWUcC0=;
	b=V3+wmj8YSqjOd1osE0XfbG9T4nMYXdIXc+oEaNa2UeAbzTDoPB3m6hOH8yCqwbqS2p4rBr
	zkipxEzoYCauWifJkKhLIFu6xxuOHCTwHq/hxR+9mlxXrH2qqjggtvcD1JOE03+2nrvO+E
	b0Vpb0Id4pvYCIvkY86/4l3CYj4HtQ0=
X-MC-Unique: FfzftseYMeyd-EeORqC0WQ-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: [PATCH v2 0/6] Deprecate support for 32-bit x86 and arm hosts
Date: Thu,  2 Mar 2023 17:31:00 +0100
Message-Id: <20230302163106.465559-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1

We're struggling quite badly with our CI minutes on the shared
gitlab runners, so we urgently need to think of ways to cut down
our supported build and target environments. qemu-system-i386 and
qemu-system-arm are not really required anymore, since nobody uses
KVM on the corresponding systems for production anymore, and the
-x86_64 and -arch64 variants are a proper superset of those binaries.
So it's time to deprecate them and the corresponding 32-bit host
environments now.

This is a follow-up patch series from the previous discussion here:

 https://lore.kernel.org/qemu-devel/20230130114428.1297295-1-thuth@redhat.com/

where people still mentioned that there is still interest in certain
support for 32-bit host hardware. But as far as I could see, there is
no real need for 32-bit x86 host support and for system emulation on
32-bit arm hosts anymore, so it should be fine if we drop these host
environments soon (these are also the two architectures that contribute
the most to the long test times in our CI, so we would benefit a lot by
dropping those).

v2:
- Split binary and host deprecation into separate patches
- Added patches to immediately drop the jobs from the CI

Thomas Huth (6):
  docs/about/deprecated: Deprecate the qemu-system-i386 binary
  docs/about/deprecated: Deprecate 32-bit x86 hosts
  gitlab-ci.d/crossbuilds: Drop the i386 jobs
  docs/about/deprecated: Deprecate the qemu-system-arm binary
  docs/about/deprecated: Deprecate 32-bit arm hosts
  gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs

 docs/about/deprecated.rst    | 43 ++++++++++++++++++++++++++++++++++++
 .gitlab-ci.d/crossbuilds.yml | 30 -------------------------
 2 files changed, 43 insertions(+), 30 deletions(-)

-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 16:31:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 16:31:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505235.777892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXlpy-0001jL-IO; Thu, 02 Mar 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 505235.777892; Thu, 02 Mar 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 1pXlpy-0001jC-FW; Thu, 02 Mar 2023 16:31:22 +0000
Received: by outflank-mailman (input) for mailman id 505235;
 Thu, 02 Mar 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=RuGR=62=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pXlpx-0001IZ-Io
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 16:31:21 +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 a883bb25-b917-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 17:31: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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-112-FcfOwdQLOLq8Nr9yu7kRsA-1; Thu, 02 Mar 2023 11:31:16 -0500
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E59C9802C18;
 Thu,  2 Mar 2023 16:31:15 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.93])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 697CD400EA93;
 Thu,  2 Mar 2023 16:31: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: a883bb25-b917-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677774677;
	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=3psyEgJRau2Jh1sB5FoWnPWnwz10rj9WAfK8OXPQ0lI=;
	b=CGCoKkp/O/cIAT7rmrqKicDsVp6z2YSno9vOa5tkDcJ5WQvAb0uJ3Dbvl7O4Vv79opm8/V
	MACyFz2f+i11xKkqHt4gfEHiWj3nldiXRN41dVA1o9FhYOikGC/R1sV8Y+ZeGpoMUGQS3W
	PS41vhSrK17s2xCeloy3CGA+7lqDKrU=
X-MC-Unique: FcfOwdQLOLq8Nr9yu7kRsA-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: [PATCH v2 2/6] docs/about/deprecated: Deprecate 32-bit x86 hosts
Date: Thu,  2 Mar 2023 17:31:02 +0100
Message-Id: <20230302163106.465559-3-thuth@redhat.com>
In-Reply-To: <20230302163106.465559-1-thuth@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1

Hardly anybody still uses 32-bit x86 hosts today, so we should start
deprecating them to stop wasting our time and CI minutes here.
For example, there are also still some unresolved problems with these:
When emulating 64-bit binaries in user mode, TCG does not honor atomicity
for 64-bit accesses, which is "perhaps worse than not working at all"
(quoting Richard). Let's simply make it clear that people should use
64-bit x86 hosts nowadays and we do not intend to fix/maintain the old
32-bit stuff.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 11700adac9..a30aa8dfdf 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -208,6 +208,18 @@ CI coverage support may bitrot away before the deprecation process
 completes. The little endian variants of MIPS (both 32 and 64 bit) are
 still a supported host architecture.
 
+32-bit x86 hosts (since 8.0)
+''''''''''''''''''''''''''''
+
+Support for 32-bit x86 host deployments is increasingly uncommon in
+mainstream OS distributions given the widespread availability of 64-bit
+x86 hardware. The QEMU project no longer considers 32-bit x86 support
+to be an effective use of its limited resources, and thus intends to
+discontinue it. Since all recent x86 hardware from the past >10 years
+is capable of the 64-bit x86 extensions, a corresponding 64-bit OS
+should be used instead.
+
+
 QEMU API (QAPI) events
 ----------------------
 
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 16:31:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 16:31:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505234.777880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXlpx-0001Ib-DQ; Thu, 02 Mar 2023 16:31:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505234.777880; Thu, 02 Mar 2023 16: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 1pXlpx-0001IQ-6a; Thu, 02 Mar 2023 16:31:21 +0000
Received: by outflank-mailman (input) for mailman id 505234;
 Thu, 02 Mar 2023 16: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=RuGR=62=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pXlpw-0001EZ-6b
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 16:31:20 +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 a836b9c4-b917-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 17:31:18 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-323-YDXKNcPTNsmtB1atJEVCHg-1; Thu, 02 Mar 2023 11:31:13 -0500
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 25DA51C04349;
 Thu,  2 Mar 2023 16:31:13 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.93])
 by smtp.corp.redhat.com (Postfix) with ESMTP id D9A7440B3F12;
 Thu,  2 Mar 2023 16:31: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: a836b9c4-b917-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677774677;
	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=mrgkRdNE+AcdsZ+zHYLBFAXiQu5tjayM7At8EKmQNNc=;
	b=QLeZ4PRx6vhhCfbNA/Unc/x+XfiDpaoYx7xuVDdhyKh3f3yotpDQRU9rAp9QKHFjXWyBhO
	x9gDScMeKlRUdNCQDou1VYIuntooHC7eKrfYR5Au8DoKaAsCKeEtbygmnRZ+k6IHICpAZ2
	NmjiO+8HupRYMVgimGA6x84uIOxvhMY=
X-MC-Unique: YDXKNcPTNsmtB1atJEVCHg-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: [PATCH v2 1/6] docs/about/deprecated: Deprecate the qemu-system-i386 binary
Date: Thu,  2 Mar 2023 17:31:01 +0100
Message-Id: <20230302163106.465559-2-thuth@redhat.com>
In-Reply-To: <20230302163106.465559-1-thuth@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1

Hardly anybody really requires the i386 binary anymore, since the
qemu-system-x86_64 binary is a proper superset. So let's deprecate
the 32-bit variant now, so that we can finally stop wasting our time
and CI minutes with this.

With regards to 32-bit KVM support in the x86 Linux kernel,
the developers confirmed that they do not need a recent
qemu-system-i386 binary here:

 https://lore.kernel.org/kvm/Y%2ffkTs5ajFy0hP1U@google.com/

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 15084f7bea..11700adac9 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -34,6 +34,18 @@ deprecating the build option and no longer defend it in CI. The
 ``--enable-gcov`` build option remains for analysis test case
 coverage.
 
+``qemu-system-i386`` binary (since 8.0)
+'''''''''''''''''''''''''''''''''''''''
+
+The ``qemu-system-i386`` binary was mainly useful for running with KVM
+on 32-bit x86 hosts, but most Linux distributions already removed their
+support for 32-bit x86 kernels, so hardly anybody still needs this. The
+``qemu-system-x86_64`` binary is a proper superset and can be used to
+run 32-bit guests by selecting a 32-bit CPU model, including KVM support
+on x86_64 hosts. Thus users are recommended to reconfigure their systems
+to use the ``qemu-system-x86_64`` binary instead.
+
+
 System emulator command line arguments
 --------------------------------------
 
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 16:31:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 16:31:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505236.777903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXlq1-00021v-TR; Thu, 02 Mar 2023 16:31:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505236.777903; Thu, 02 Mar 2023 16: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 1pXlq1-00021h-Pn; Thu, 02 Mar 2023 16:31:25 +0000
Received: by outflank-mailman (input) for mailman id 505236;
 Thu, 02 Mar 2023 16:31: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=RuGR=62=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pXlq0-0001EZ-7J
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 16:31:24 +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 ab694b36-b917-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 17:31:23 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-436-ljrgtJZkOLWCI0Dxai-ocQ-1; Thu, 02 Mar 2023 11:31:19 -0500
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 870D1802D38;
 Thu,  2 Mar 2023 16:31:18 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.93])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 443AE400EA93;
 Thu,  2 Mar 2023 16:31: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: ab694b36-b917-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677774682;
	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=UosB4aUxpi/5dWz6XRm7RMey1SsdH1cuc7g1it7tUeE=;
	b=Co0OSiG7yh2Lw8ZV2THS+LjQmjMyh3ZwKRTSWTDu2WGq+XAhLCZ4CEgyqs973NnP8Sya+s
	A7LBiSwSG5+B5KN7Tj/byfAqG3ZM7Fh7K5xHcgCI7lB5zxQaVFnJ6/e43cUPCNvlAbGAnO
	kOv6Big/noLBZb6VhnC68NELRfLqFtw=
X-MC-Unique: ljrgtJZkOLWCI0Dxai-ocQ-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: [PATCH v2 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs
Date: Thu,  2 Mar 2023 17:31:03 +0100
Message-Id: <20230302163106.465559-4-thuth@redhat.com>
In-Reply-To: <20230302163106.465559-1-thuth@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1

Hardly anybody still uses 32-bit x86 environments for running QEMU,
so let's stop wasting our scarce CI minutes with these jobs.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/crossbuilds.yml | 16 ----------------
 1 file changed, 16 deletions(-)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 101416080c..3ce51adf77 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -43,22 +43,6 @@ cross-arm64-user:
   variables:
     IMAGE: debian-arm64-cross
 
-cross-i386-system:
-  extends: .cross_system_build_job
-  needs:
-    job: i386-fedora-cross-container
-  variables:
-    IMAGE: fedora-i386-cross
-    MAKE_CHECK_ARGS: check-qtest
-
-cross-i386-user:
-  extends: .cross_user_build_job
-  needs:
-    job: i386-fedora-cross-container
-  variables:
-    IMAGE: fedora-i386-cross
-    MAKE_CHECK_ARGS: check
-
 cross-i386-tci:
   extends: .cross_accel_build_job
   timeout: 60m
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 16:31:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 16:31:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505237.777912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXlq4-0002KN-4L; Thu, 02 Mar 2023 16:31:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505237.777912; Thu, 02 Mar 2023 16:31: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 1pXlq4-0002KG-1D; Thu, 02 Mar 2023 16:31:28 +0000
Received: by outflank-mailman (input) for mailman id 505237;
 Thu, 02 Mar 2023 16:31:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=RuGR=62=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pXlq3-0001EZ-4M
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 16:31:27 +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 ad17c04e-b917-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 17:31:26 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-517-ZxoOLkewNeO0183HdIaMUA-1; Thu, 02 Mar 2023 11:31:22 -0500
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3EF7938012E7;
 Thu,  2 Mar 2023 16:31:21 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.93])
 by smtp.corp.redhat.com (Postfix) with ESMTP id D2FE6400EA93;
 Thu,  2 Mar 2023 16:31: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: ad17c04e-b917-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677774685;
	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=1se1EgyXTtHuqpHB7dBmmrL51sYg+NfS/rBJP2j3pQw=;
	b=Etut81HP4wAgWGR1WmSLqU05m5ERBxVJ8tdvkT/xsKHYS9vrnuOJLWnbZ+NkUy1ke5kGoq
	RfhWVYHT4GJcdzWInd3SzX5ImFLaiRBnENKrCzoWszXA/w2J0hmTCDp9TKOxekg/wJrUuD
	U8973dbpM7w84xxGOStHWajTGkCHEmg=
X-MC-Unique: ZxoOLkewNeO0183HdIaMUA-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: [PATCH v2 4/6] docs/about/deprecated: Deprecate the qemu-system-arm binary
Date: Thu,  2 Mar 2023 17:31:04 +0100
Message-Id: <20230302163106.465559-5-thuth@redhat.com>
In-Reply-To: <20230302163106.465559-1-thuth@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1

qemu-system-aarch64 is a proper superset of qemu-system-arm,
and the latter was mainly still required for 32-bit KVM support.
But this 32-bit KVM arm support has been dropped in the Linux
kernel a couple of years ago already, so we don't really need
qemu-system-arm anymore, thus deprecated it now.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index a30aa8dfdf..21ce70b5c9 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, including KVM support
 on x86_64 hosts. Thus users are recommended to reconfigure their systems
 to use the ``qemu-system-x86_64`` binary instead.
 
+``qemu-system-arm`` binary (since 8.0)
+''''''''''''''''''''''''''''''''''''''
+
+``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``. The
+latter was mainly a requirement for running KVM on 32-bit arm hosts, but
+this 32-bit KVM support has been removed some years ago already (see:
+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=541ad0150ca4
+). Thus the QEMU project will drop the ``qemu-system-arm`` binary in a
+future release. Use ``qemu-system-aarch64`` instead.
+
 
 System emulator command line arguments
 --------------------------------------
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 16:31:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 16:31:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505238.777924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXlqA-0002lf-Fc; Thu, 02 Mar 2023 16:31:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505238.777924; Thu, 02 Mar 2023 16: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 1pXlqA-0002lV-AF; Thu, 02 Mar 2023 16:31:34 +0000
Received: by outflank-mailman (input) for mailman id 505238;
 Thu, 02 Mar 2023 16: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=RuGR=62=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pXlq8-0001IZ-Sk
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 16:31: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 af99e17a-b917-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 17:31: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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-641-z0xiPiE1MZGTjYv3zq48oQ-1; Thu, 02 Mar 2023 11:31:25 -0500
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D0A7E101A55E;
 Thu,  2 Mar 2023 16:31:23 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.93])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 8CA32400EA93;
 Thu,  2 Mar 2023 16:31: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: af99e17a-b917-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677774689;
	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=mTfeuO/znvs5lHRChCVKJ8TB4KKBsOzPzos7lhRqsaw=;
	b=Zjgy+PsPdD2VCyEiPDZvP0AS3BGIcaxUYd6jSTBQyT58vSnjGwz+FM785FVD3YjEv4iiHq
	qKgIczpd581Ng3QkUOFPd4M+35kNNmJGxYDHSiQeBTsYSLORiOjJJ5zDOalHZRx6I2yVVl
	9d/YUCN+biviMcJT/nHTS9ZbBkKgfKM=
X-MC-Unique: z0xiPiE1MZGTjYv3zq48oQ-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: [PATCH v2 5/6] docs/about/deprecated: Deprecate 32-bit arm hosts
Date: Thu,  2 Mar 2023 17:31:05 +0100
Message-Id: <20230302163106.465559-6-thuth@redhat.com>
In-Reply-To: <20230302163106.465559-1-thuth@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1

For running QEMU in system emulation mode, the user needs a rather
strong host system, i.e. not only an embedded low-frequency controller.
All recent beefy arm host machines should support 64-bit now, it's
unlikely that anybody is still seriously using QEMU on a 32-bit arm
CPU, so we deprecate the 32-bit arm hosts here to finally save use
some time and precious CI minutes.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 21ce70b5c9..c7113a7510 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -229,6 +229,15 @@ discontinue it. Since all recent x86 hardware from the past >10 years
 is capable of the 64-bit x86 extensions, a corresponding 64-bit OS
 should be used instead.
 
+System emulation on 32-bit arm hosts (since 8.0)
+''''''''''''''''''''''''''''''''''''''''''''''''
+
+Since QEMU needs a strong host machine for running full system emulation, and
+all recent powerful arm hosts support 64-bit, the QEMU project deprecates the
+support for running any system emulation on 32-bit arm hosts in general. Use
+64-bit arm hosts for system emulation instead. (Note: "user" mode emulation
+continuous to be supported on 32-bit arm hosts, too)
+
 
 QEMU API (QAPI) events
 ----------------------
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 16:31:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 16:31:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505239.777929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXlqA-0002pp-QL; Thu, 02 Mar 2023 16:31:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505239.777929; Thu, 02 Mar 2023 16: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 1pXlqA-0002om-Ix; Thu, 02 Mar 2023 16:31:34 +0000
Received: by outflank-mailman (input) for mailman id 505239;
 Thu, 02 Mar 2023 16:31: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=RuGR=62=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pXlq8-0001EZ-Sq
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 16:31: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 b0946a17-b917-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 17:31:32 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-370-Jq8Nao8XNiSn3fIGaKZl_g-1; Thu, 02 Mar 2023 11:31:26 -0500
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 74665811E6E;
 Thu,  2 Mar 2023 16:31:26 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.93])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 21E2C400EA93;
 Thu,  2 Mar 2023 16:31: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: b0946a17-b917-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677774691;
	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=iwI738OIIkLAwRHwvOimrO1YGLXhalSEzhssZIG8uVE=;
	b=KP0Fjy0kZdSV/8/iACeMPCthcGL0olA7G6dUlolUD8TUmyJrY00mqrxDyIEfbhzZxuYRnu
	dtWzk5Oe+huvgm1USHX8vSNmq3jjSplgvNq1Xjs8B+T7nSkLIIMRY0AHWqu39pwIk+ekGp
	fsLVbB6VDsU5l5vbpTElJSNVDwDn3Vk=
X-MC-Unique: Jq8Nao8XNiSn3fIGaKZl_g-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: [PATCH v2 6/6] gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs
Date: Thu,  2 Mar 2023 17:31:06 +0100
Message-Id: <20230302163106.465559-7-thuth@redhat.com>
In-Reply-To: <20230302163106.465559-1-thuth@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1

Hardly anybody still uses 32-bit arm environments for running QEMU,
so let's stop wasting our scarce CI minutes with these jobs.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/crossbuilds.yml | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index 3ce51adf77..419b0c2fe1 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -1,13 +1,6 @@
 include:
   - local: '/.gitlab-ci.d/crossbuild-template.yml'
 
-cross-armel-system:
-  extends: .cross_system_build_job
-  needs:
-    job: armel-debian-cross-container
-  variables:
-    IMAGE: debian-armel-cross
-
 cross-armel-user:
   extends: .cross_user_build_job
   needs:
@@ -15,13 +8,6 @@ cross-armel-user:
   variables:
     IMAGE: debian-armel-cross
 
-cross-armhf-system:
-  extends: .cross_system_build_job
-  needs:
-    job: armhf-debian-cross-container
-  variables:
-    IMAGE: debian-armhf-cross
-
 cross-armhf-user:
   extends: .cross_user_build_job
   needs:
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 16:47:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 16:47:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505273.777942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXm4s-0006Ru-HU; Thu, 02 Mar 2023 16:46:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505273.777942; Thu, 02 Mar 2023 16:46:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXm4s-0006Rn-Eh; Thu, 02 Mar 2023 16:46:46 +0000
Received: by outflank-mailman (input) for mailman id 505273;
 Thu, 02 Mar 2023 16:46:44 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pXm4q-0006Rd-RX; Thu, 02 Mar 2023 16:46:44 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pXm4q-0006rj-OY; Thu, 02 Mar 2023 16:46:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pXm4q-0008DS-E4; Thu, 02 Mar 2023 16:46:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXm4q-0000M6-DX; Thu, 02 Mar 2023 16:46:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=N3Dh6cVPVX145KJpJ6KUT10B8SejSP5VeWahBvrw8T4=; b=xOl7408woZYMN7lA/mM8w0dlM4
	FXOu4PAbEPBQCnQgUBIcE1o8yOAfQdaQ6PKuJqExD3tEzQnT6uAjxGwpWMjRIgTgHT3/T6IHK/ad2
	bEZXULAP7ZrcRbuW4I3KiRWkItggwT4cPy4Ii+WTbCGeb08Mq0zbQHVWC1djBMWpdh9w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178990-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 178990: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=380a8c0c65bfb84dab54ab4641cca1387cc41edb
X-Osstest-Versions-That:
    xen=b84fdf521b306cce64388fe57ee6c7c00f9d3e76
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 02 Mar 2023 16:46:44 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  380a8c0c65bfb84dab54ab4641cca1387cc41edb
baseline version:
 xen                  b84fdf521b306cce64388fe57ee6c7c00f9d3e76

Last test of basis   178802  2023-02-28 20:01:47 Z    1 days
Testing same since   178990  2023-03-02 15:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Oleksii Kurochko <oleksii.kurochko@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   b84fdf521b..380a8c0c65  380a8c0c65bfb84dab54ab4641cca1387cc41edb -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 17:11:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 17:11:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505282.777955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXmSV-00027J-Fw; Thu, 02 Mar 2023 17:11:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505282.777955; Thu, 02 Mar 2023 17: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 1pXmSV-00027C-DP; Thu, 02 Mar 2023 17:11:11 +0000
Received: by outflank-mailman (input) for mailman id 505282;
 Thu, 02 Mar 2023 17: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=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXmSU-000276-Bv
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 17:11:10 +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 389e41a1-b91d-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 18:11:07 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id bi9so186901lfb.2
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 09:11:07 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 w9-20020ac254a9000000b004d580823c25sm3854lfk.11.2023.03.02.09.11.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 09: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: 389e41a1-b91d-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677777067;
        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=bSzvFO2SBzlMBOkDqHUkkdIk6AHv4frvYBnwZxrZavc=;
        b=YKxMtQUfwmSJ0NQ0Hh4/iRO3pCd6Vnj8+jlk2ygJNMzQr4uPdbzLoEnji0qPYjfpAm
         D1/UqzmA664qxjkJR11qBvOUpsIq4ycg6uyWl4gEuGgN6kKmxWBw8LsyidHD/j5QeP9J
         H5SGASrclDSFkpWZPefrgKqUyc8Fp7x+/5FsKjspy+W1OD9efut5U14umBLD0B5vRILc
         zTmHKWgaHoMvDS+I9Ow9FJPMCLJJvMN7HbuuDXvVbnfcWFrHe1kghi9sanIe4FJb0Y/q
         Y1NwlvLpt3cAmmdtbRyOHoye1Z6wr6TtFdUoWwyDCQxG7Fjsr3rz0j2M2ER4zsZKMKW4
         T3VQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677777067;
        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=bSzvFO2SBzlMBOkDqHUkkdIk6AHv4frvYBnwZxrZavc=;
        b=gOQ/LHQSm0RzBAjXPTVO4fY+vjEzonMg5zk32swvkzkeG3Bmnz2fbKmtwcStlaYzcz
         bf1VOddqkRgA9KmePhorOxotpLt2CrEgr9A5ANu3qXliV6Yhv5S59TubL++aN0wfVawX
         gZdow1RSnhV5zndh/Ibz9Q0K+2POsSLgH4oxx8bP/+KSJjvR+haYacCgS5n4TBd6YqqA
         QodNK87kIVMXEPALCYY3XwKKmTSCyl+TRixAstH903ODyXkfwlZkGwhNiWBoDFUFR1QU
         MBsRe53dqCjkyFFX/EWaZenPeM4ZsmF7r8zjjyUNBeOquqp684QFupSUvyo3Lb9Q+B9v
         InAQ==
X-Gm-Message-State: AO0yUKXEk5FZaE9+RQuxVTjItt6wwXSAx/Rzz9X12hE9wyqXp9YEGakf
	PvtKDYULHzvBIHbR5uTW7Mo=
X-Google-Smtp-Source: AK7set8+BipN7Cxu+YqU431qNWaB+8ydwYpUeTWiLG11VVHx/Bf9Y+5my9lP/6+KcplRCVKCrhFglw==
X-Received: by 2002:ac2:592b:0:b0:4e3:448:c000 with SMTP id v11-20020ac2592b000000b004e30448c000mr2497348lfi.33.1677777066844;
        Thu, 02 Mar 2023 09:11:06 -0800 (PST)
Message-ID: <2fa25d4c190e96991987cbf360a7e1a832434130.camel@gmail.com>
Subject: Re: [PATCH v2 3/3] xen/riscv: disable fpu
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>,  Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Date: Thu, 02 Mar 2023 19:11:04 +0200
In-Reply-To: <7f3703a2-83a6-6fad-041c-f2b3df0253df@citrix.com>
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
	 <f9bed949656462e9eb9554dc5e0dcccdd722b9cd.1677762812.git.oleksii.kurochko@gmail.com>
	 <7f3703a2-83a6-6fad-041c-f2b3df0253df@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Thu, 2023-03-02 at 14:20 +0000, Andrew Cooper wrote:
> On 02/03/2023 1:23 pm, Oleksii Kurochko wrote:
> > Disable FPU to detect illegal usage of floating point in kernel
> > space.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes since v1:
> > =C2=A0* Rebase on top of two previous patches.
> > ---
>=20
> Apologies - I meant to ask these on the previous series, but didn't
> get
> around to it.
>=20
> Why do we disable interrupts at the very start of start(), but only
> disable the FPU at the start of C ?
I decided to do at the start of start_xen() as it's the first C
function and before that there is only assembler where we can control
not to use FPU.

But to be 100% sure we can move to the start() function.
Could you please share your thoughts about?
>=20
> To start with, doesn't OpenSBI have a starting ABI spec?=C2=A0 What does
> that
> say on the matter of the enablement of these features on entry into
> the
> environment?
I tried to find specific OpenSBI ABI spec before and, unfortunately, i
didn't find any. Only docs in their repo:
https://github.com/riscv-software-src/opensbi/blob/master/docs/firmware/fw.=
md
My expactation was that such information should be part of RISC-V
SBI/ABI which OpenSBI implements but it is mentioned only SBI functions
that should be implemented.

I look at OpenSBI code and it looks like it disables interrupts before
jump to hypervisor:
https://github.com/riscv-software-src/opensbi/blob/master/lib/sbi/sbi_hart.=
c#L805
But it doesn't do anything with FPU.

Thereby I can't be sure that it's mandatory or not for OpenSBI to
disable/enable interrupts, FPU and so on.

If you have or saw the OpenSBI starting ABI please let me know.

>=20
> Either way, my gut feeling is that these disables (if necessary to
> begin
> with) should be together, rather than split like this.
>=20
>=20
> That aside, while I can see the value of checking this now, won't we
> have to delete this again in order to allow for context switching a
> vCPUs FPU register state?
Not really.

My expectation that we will have the function similar to:
void cpu_vcpu_fp_init(...)
{
	riscv_regs(vcpu)->sstatus &=3D ~SSTATUS_FS;
	if (riscv_isa_extension_available(riscv_priv(vcpu)->isa, f) ||
	    riscv_isa_extension_available(riscv_priv(vcpu)->isa, d))
		riscv_regs(vcpu)->sstatus |=3D SSTATUS_FS_INITIAL;
	else
		....
	memset(&riscv_priv(vcpu)->fp, 0, sizeof(riscv_priv(vcpu)-
>fp));
}


~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 17:24:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 17:24:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505289.777969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXmfl-0003vG-NC; Thu, 02 Mar 2023 17:24:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505289.777969; Thu, 02 Mar 2023 17: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 1pXmfl-0003v9-KT; Thu, 02 Mar 2023 17:24:53 +0000
Received: by outflank-mailman (input) for mailman id 505289;
 Thu, 02 Mar 2023 17:24: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=5rfr=62=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pXmfk-0003v3-26
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 17:24:52 +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 237c2f08-b91f-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 18:24:50 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id g17so222288lfv.4
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 09:24:50 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 d20-20020ac241d4000000b004d856fe5121sm2684lfi.194.2023.03.02.09.24.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 09: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: 237c2f08-b91f-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677777890;
        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=8yTlx2FFxJWgC6lzHX/YP+4FDCc/l4O1IGGWnutrzmo=;
        b=gYrPbnRE9ucyW739B/EdH5c7gVSCuXKz6WwS8+LKKydKApUiQ8lz43upADIGlO1LzD
         u0KkhWRQyccgYU4XvbFy6TB2ntS0Dyqlt0zzVsejezF8JlODNlBPxG2gzKAl+PY5Tsmz
         c99FEKUdk7ywSG44Z7ylx30/67kFRLxa10xSIKCb/0evCyY7u0ThxJt8ojL4jq2zptzI
         vyc/hHh+EvaWuWSXYo2vvgmv8K4kSc4mSnDfMqP1NW9tAq8TWF0E/Blvw8oqiSVMZ8cl
         haVK3zPmw4Ivs2YhA7tREPEru2fKFhr83XhiOSQb52NUxgeHGAIqzRkUgdjbD5WveQPu
         7fhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677777890;
        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=8yTlx2FFxJWgC6lzHX/YP+4FDCc/l4O1IGGWnutrzmo=;
        b=CuadfzKpHboQt0BsY6eCEgMkpaKbqih+jz1YWBMrLE9XS0CFTs11VrUQk8yZeZv/Ic
         cpneg6GgH7RD35tPHFqlbPylRKrP7unyj6xNU8nJHdQ66D29UcTAJWLPDCrXYfoQ2wbM
         rY2bQAlVeEo3nIkSiJtmIKls3IpTlX8idIvZINLiqEH/Y4+meYmYYqJZHEb0emSHraSy
         M+p0VTf5cWblxU1UrDHaBtAWL5oMXyBIGSXVFsUNDdrr8vjbj7eaeDr++Q+UKlgWrx0K
         DOFtRxWAP2wpU5abiOkGti/4o0jxAZs6ZjDtUk/EiKEoehg3EZv51zqYX6dyruCB0v/v
         B7Aw==
X-Gm-Message-State: AO0yUKWyje2mUnKG3YXHm21j5x5vqb18MG+cepadTQ/L6eYgGZE6EKqY
	KRHv2NxMHhwJ+VAaWVlNhmw=
X-Google-Smtp-Source: AK7set/pRhLjmkX3kZ0e7iIkoh876+2/zx2Pie+Qc1BDWwd0vC0JSuB2EqQqHcLpmfkdzBwmHImS1g==
X-Received: by 2002:a19:c219:0:b0:4b5:7096:23ff with SMTP id l25-20020a19c219000000b004b5709623ffmr2907533lfc.66.1677777890248;
        Thu, 02 Mar 2023 09:24:50 -0800 (PST)
Message-ID: <e1cebd6338d9161708267eeac422d77eb768ea4b.camel@gmail.com>
Subject: Re: [PATCH v1] xen/arm: align *(.proc.info) in the linker script
From: Oleksii <oleksii.kurochko@gmail.com>
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>
Date: Thu, 02 Mar 2023 19:24:48 +0200
In-Reply-To: <ab953ad7-0345-ce60-610d-02b6f4b26398@xen.org>
References: 
	<74973920d8722df3ce533979314564f331acf16e.1677687247.git.oleksii.kurochko@gmail.com>
	 <370809af-75e6-546a-53e4-71a76444f367@xen.org>
	 <a9c2638cd8620d74ec719845132ef65f08b4c934.camel@gmail.com>
	 <cf15b113-ac6f-e115-6c38-38b25a265934@xen.org>
	 <f2f6544a-a59e-2e10-0b8f-080f91708459@xen.org>
	 <472fee066070db9cb3c662bf5cc6f8cb681aeb1b.camel@gmail.com>
	 <ab953ad7-0345-ce60-610d-02b6f4b26398@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Thu, 2023-03-02 at 14:50 +0000, Julien Grall wrote:
> Hi Oleksii,
>=20
> On 02/03/2023 07:34, Oleksii wrote:
> > Hi Julien,
> > > > > On Wed, 2023-03-01 at 16:21 +0000, Julien Grall wrote:
> > > > > > Hi Oleksii,
> > > > > >=20
> > > > > > On 01/03/2023 16:14, Oleksii Kurochko wrote:
> > > > > > > During testing of bug.h's macros generic implementation
> > > > > > > yocto-
> > > > > > > qemuarm
> > > > > > > job crashed with data abort:
> > > > > >=20
> > > > > > The commit message is lacking some information. You are
> > > > > > telling
> > > > > > us
> > > > > > that
> > > > > > there is an error when building with your series, but this
> > > > > > doesn't
> > > > > > tell
> > > > > > me why this is the correct fix.
> > > > > >=20
> > > > > > This is also why I asked to have the xen binary because I
> > > > > > want
> > > > > > to
> > > > > > check
> > > > > > whether this was a latent bug in Xen or your series
> > > > > > effectively
> > > > > > introduce a bug.
> > > > > >=20
> > > > > > Note that regardless what I just wrote this is a good idea
> > > > > > to
> > > > > > align
> > > > > > __proc_info_start. I will try to have a closer look later
> > > > > > and
> > > > > > propose
> > > > > > a
> > > > > > commit message and/or any action for your other series.
> > > > > Regarding binaries please take a look here:
> > > > > https://lore.kernel.org/xen-devel/aa2862eacccfb0574859bf4cda8f499=
2baa5d2e1.camel@gmail.com/
> > > > >=20
> > > > > I am not sure if you get my answer as I had the message from
> > > > > delivery
> > > > > server that it was blocked for some reason.
> > > >=20
> > > > I got the answer. The problem now is gitlab only keep the
> > > > artifact
> > > > for
> > > > the latest build and it only provide a zImage (having the ELF
> > > > would
> > > > be
> > > > easier).
> > > >=20
> > > > I will try to reproduce the error on my end.
> > >=20
> > > I managed to reproduce it. It looks like that after your bug
> > > patch,
> > > *(.rodata.*) will not be end on a 4-byte boundary. Before your
> > > patch,
> > > all the messages will be in .rodata.str. Now they are in
> > > .bug_frames.*,
> > > so there some difference in .rodata.*.
> > >=20
> > > That said, it is not entirely clear why we never seen the issue
> > > before
> > > because my guessing there are no guarantee that .rodata.* will be
> > > suitably aligned.
> > >=20
> > > Anyway, here a proposal for the commit message:
> > >=20
> > > "
> > > xen/arm: Ensure the start *(.proc.info) of is 4-byte aligned
> > >=20
> > > The entries in *(.proc.info) are expected to be 4-byte aligned
> > > and
> > > the
> > > compiler will access them using 4-byte load instructions. On
> > > Arm32,
> > > the
> > > alignment is strictly enforced by the processor and will result
> > > to a
> > > data abort if it is not correct.
> > >=20
> > > However, the linker script doesn't encode this requirement. So we
> > > are
> > > at
> > > the mercy of the compiler/linker to have aligned the previous
> > > sections
> > > suitably.
> > >=20
> > > This was spotted when trying to use the upcoming generic bug
> > > infrastructure with the compiler provided by Yocto.
> > >=20
> > > Link:
> > > https://lore.kernel.org/xen-devel/6735859208c6dcb7320f89664ae298005f7=
0827b.camel@gmail.com/
> > > "
> > >=20
> > > If you are happy with the proposed commit message, then I can
> > > update
> > > it
> > > while committing.
> > I am happy with the proposed commit message.
>=20
> Thanks. With that:
>=20
> Reviewed-by: Julien Grall <jgrall@amazon.com>
>=20
> I have addressed Jan's comment and committed the patch.
>=20
Thanks a lot.

Not generic bug feature is unblock.
I'll wait for comments till tomorrow.
If it won't be any that will sent new patch series.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 17:53:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 17:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505297.777994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXn7k-0008Pw-KD; Thu, 02 Mar 2023 17:53:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505297.777994; Thu, 02 Mar 2023 17:53: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 1pXn7k-0008Pc-Eu; Thu, 02 Mar 2023 17:53:48 +0000
Received: by outflank-mailman (input) for mailman id 505297;
 Thu, 02 Mar 2023 17:53:46 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=BPDg=62=citrix.com=prvs=418368d91=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pXn7i-00086v-M1
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 17:53:46 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a55e85a-b923-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 18:53: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: 2a55e85a-b923-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677779622;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Gw4QRlvuKAg+gD2hKfl/VjnsdW7wmqK+tl77agSSFfE=;
  b=JCLA4theHIg+fCAY3tiJwhgU4zSU78hgKX84/QZ9/qeikFMu0nXgc4l5
   W/DBw2RvsE6KKbOjGbZ6SsCiwjdrpukgTP3GFk8vnQERt5cGzeI98PvGt
   V815wWU6JgaYB8pLiC39LEoZGhqvfh6L/63i8wRzuuoeU0U/5t7VPj3op
   0=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 101652773
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:mnH6Mq1I0kJeGAJrj/bD5clxkn2cJEfYwER7XKvMYLTBsI5bp2MEy
 zcXCmGBM/bbZzb1eNwiPY+28h9QsZKDz941SFZkpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdmP6gQ1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfE1NU5
 PUGLhIxRzuHm9rn6u34Z8RuiZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKk2aOHWjOX9OYH46tO6umnn4dSwesF+PrLA7y2PS0BZwwP7mN9+9ltmiHJ0MwBvC+
 T2dl4j/KgoZa4Gu+CajyHnyvf3Dki/FQawJMITto5aGh3XMnzdOWXX6T2CTqvCjhkmzc9lWM
 UAT92wlqq1a3FewUtD3Uhm8oXiFlh0RQdxdF6s98g7l4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9WopWm1r+nO62noYG5McDFEPHVfJecY3zX9iJMBlAPGUNBBLIeeisHNSBuvg
 B2nridr0t3/kvU3/6m8+FnGhRelqZ7IUhM5623rY4610u9qTNX7PtL1sDA3+d4Fdd/EFQfZ4
 BDojuDEtIgz4YexeDthqQnnNJWg/L67PTLVmjaD9LFxpm32qxZPkW29iQySxXuF0O5eJFcFg
 2eJ42u9AaO/21P7BZKbm6rrV6wXIVHITLwJrMz8YNtUeYRWfwSa5ixobkP49zmzzxdywPxvY
 c7CLZfE4ZMm5UNPlmfeegvg+eVzmnBWKZ37HvgXMChLIZLBPSXIGN/pwXOFb/wj7bPsnekm2
 483Cid+8D0GCLeWSnCOoeYuwaUicSBT6Wbe95YGKYZu42NORAkcNhMm6eh6J9c+xvwLz7agE
 7PUchYw9WcTTEbvcW2iAk2Popu1NXqjhRrX5RARAGs=
IronPort-HdrOrdr: A9a23:kuiJnKECtHJRKDPnpLqELMeALOsnbusQ8zAXPiBKJCC9E/bo8v
 xG+c5w6faaslkssR0b9+xoW5PwI080l6QU3WB5B97LMDUO0FHCEGgI1/qA/9SPIUzDHu4279
 YbT0B9YueAcGSTW6zBkXWF+9VL+qj5zEix792uq0uE1WtRGtldBwESMHf9LmRGADNoKLAeD5
 Sm6s9Ot1ObCA8qhpTSPAhiYwDbzee77a7bXQ==
X-IronPort-AV: E=Sophos;i="5.98,228,1673931600"; 
   d="scan'208";a="101652773"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Doug Goldstein <cardoe@cardoe.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [RFC XEN PATCH 1/7] automation: Automatically rebuild debian:unstable container
Date: Thu, 2 Mar 2023 17:53:26 +0000
Message-ID: <20230302175332.56052-2-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230302175332.56052-1-anthony.perard@citrix.com>
References: <20230302175332.56052-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Only run this on the staging branch, whenever the dockerfile changes.

Allow to set a suffix when building containers, to be able to test it
before changing the one in production.

Using "rules" instead of "only" as this allow to use variables in the
"changes" rules. Also, "rules" is the preferred keyword as
"only/except" isn't being actively developed in GitLab.

Use $CI_PIPELINE_SOURCE==push to evaluate "rules:changes" only on
push. In most other cases, "rules:changes" evaluate to true so
checking CI_PIPELINE_SOURCE is important.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 .gitlab-ci.yml                       |  2 ++
 automation/build/Makefile            |  4 ++--
 automation/gitlab-ci/containers.yaml | 25 +++++++++++++++++++++++++
 3 files changed, 29 insertions(+), 2 deletions(-)
 create mode 100644 automation/gitlab-ci/containers.yaml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c8bd7519d5..c5d499b321 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,7 +1,9 @@
 stages:
   - build
   - test
+  - containers
 
 include:
   - 'automation/gitlab-ci/build.yaml'
   - 'automation/gitlab-ci/test.yaml'
+  - 'automation/gitlab-ci/containers.yaml'
diff --git a/automation/build/Makefile b/automation/build/Makefile
index 4df43b0407..5515938878 100644
--- a/automation/build/Makefile
+++ b/automation/build/Makefile
@@ -16,9 +16,9 @@ help:
 include yocto/yocto.inc
 
 %: %.dockerfile ## Builds containers
-	$(DOCKER_CMD) build --pull -t $(REGISTRY)/$(@D):$(@F) -f $< $(<D)
+	$(DOCKER_CMD) build --pull -t $(REGISTRY)/$(@D):$(@F)$(BUILD_CONTAINER_SUFFIX) -f $< $(<D)
 	@if [ ! -z $${PUSH+x} ]; then \
-		$(DOCKER_CMD) push $(REGISTRY)/$(@D):$(@F); \
+		$(DOCKER_CMD) push $(REGISTRY)/$(@D):$(@F)$(BUILD_CONTAINER_SUFFIX); \
 	fi
 
 .PHONY: all clean
diff --git a/automation/gitlab-ci/containers.yaml b/automation/gitlab-ci/containers.yaml
new file mode 100644
index 0000000000..ace93eaccf
--- /dev/null
+++ b/automation/gitlab-ci/containers.yaml
@@ -0,0 +1,25 @@
+.container-build-tmpl:
+  stage: containers
+  image: docker:stable
+  tags:
+    - container-builder
+  rules:
+    - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "staging"
+      changes:
+        - automation/build/${BUILD_CONTAINER}.dockerfile
+  services:
+    - docker:dind
+  before_script:
+    - apk add make
+    - docker info
+    - docker login -u $CI_DEPLOY_USER -p $CI_DEPLOY_PASSWORD $CI_REGISTRY
+  script:
+    - make -C automation/build ${BUILD_CONTAINER} PUSH=1 BUILD_CONTAINER_SUFFIX=-test
+  after_script:
+    - docker logout
+
+debian-unstable-container:
+  extends:
+    - .container-build-tmpl
+  variables:
+    BUILD_CONTAINER: debian/unstable
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 17:53:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 17:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505299.778008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXn7l-0000Eq-Da; Thu, 02 Mar 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 505299.778008; Thu, 02 Mar 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 1pXn7l-0000C6-6j; Thu, 02 Mar 2023 17:53:49 +0000
Received: by outflank-mailman (input) for mailman id 505299;
 Thu, 02 Mar 2023 17:53: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=BPDg=62=citrix.com=prvs=418368d91=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pXn7j-00086w-IU
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 17:53:47 +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 2cb47d8d-b923-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 18:53: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: 2cb47d8d-b923-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677779625;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=5MNo1ps8O2O0aeLQiXGpyjU3jhCbvyS2iGWQkujCObw=;
  b=Ypta3oKZqs32cHavA+kXrbFJgcK10POplzP2LQeKkQ0iTVRb+V0dgw2S
   AOFF02FcuCr0lt0DwdRxSReKZcSRGslIRbRaol6ZlzYeyJ7RVVFXW/qAb
   j8XWswznmo7XEFB2zSile8ccySKj4GOulfdUu4H3A6K1HgCv3AWAB6q6Q
   I=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 99135360
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:Ywu3D6MFXMM7GF7vrR2+l8FynXyQoLVcMsEvi/4bfWQNrUolhjBWx
 zEcXGyBbv7ZN2Pze4t1aoq18x9UsZTTyNdmHAto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5gZmPpingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0ulrAFoJ7
 +ckEh4IMhqlpvqb5+ujZfY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w2Nk+ojx5nYz/7DLo3mvuogX/uNSVVsluPqYI84nTJzRw327/oWDbQUo3bHJ4IxRjAz
 o7A10/zXj1KJeSH8yi61X2W2+bgghjnWLtHQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFaPtwQQXNd4GOQg5AaAjKHT5m6xHXMYRzRMbNgnss4eRjEw0
 FKN2dTzClRSXKa9ECzHsO3O9HXrZHZTdDVZDcMZcecby9b/obp0lAnzdPhmTKSTr8XYPmjo7
 C/f+UDSmI4vpcIM0qy6+3XOjDStuoXFQ2YJ2+nHYo62xlgnPdD4PuRE/XCetK8dd9jBEjFtq
 VBew6CjAPYy4YZhfcBnaMEEB/mX6vmMK1UwanY/TsB6p1xBF5NOFL28AQ2Sxm8zb67omhezO
 ic/XD+9A7cCVEZGlYctP+qM5z0ClMAM7+jNWPHOdcZpaZNsbgKB9ywGTRfOgD+zwRV8yfhmZ
 cbznSOQ4ZEyU/kP8dZLb71Fje9DKt4Wngs/uqwXPzz4iOHDNRZ5uJ8OMUeUb/BR0U93iFy9z
 jqrDOPTk083eLSnMkHqHXs7cQhiwY4TWcqn9KS6t4erfmJbJY3WI6SKneh6ItQ7xvU9eyWh1
 ijVZ3K0AWHX3RXvQThmoFg5AF8zdf6TdU4GABE=
IronPort-HdrOrdr: A9a23:+aSsLaHsmK+8UxhYpLqE5seALOsnbusQ8zAXPiFKJSC9F/byqy
 nAppsmPHPP5gr5OktBpTnwAsi9qBrnnPYejLX5Vo3SPzUO1lHYSb1K3M/PxCDhBj271sM179
 YFT0GmMqyTMWRH
X-IronPort-AV: E=Sophos;i="5.98,228,1673931600"; 
   d="scan'208";a="99135360"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Doug Goldstein <cardoe@cardoe.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [RFC XEN PATCH 4/7] automation: Adding containers build jobs and test of thoses
Date: Thu, 2 Mar 2023 17:53:29 +0000
Message-ID: <20230302175332.56052-5-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230302175332.56052-1-anthony.perard@citrix.com>
References: <20230302175332.56052-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

For the test-containers jobs, mostly copy from "build.yaml", rename
'.container-*-tmpl' templates to '.container-*-testtmpl', prefix build
jobs with "test-", add BUILD_CONTAINER and "needs" to container
template.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    WARNING: This is an incomplete list of the containers that can be
    rebuilt and tested.

 automation/gitlab-ci/containers.yaml      |  74 ++++++-
 automation/gitlab-ci/test-containers.yaml | 257 ++++++++++++++++++++++
 2 files changed, 330 insertions(+), 1 deletion(-)

diff --git a/automation/gitlab-ci/containers.yaml b/automation/gitlab-ci/containers.yaml
index ace93eaccf..a6d61980b1 100644
--- a/automation/gitlab-ci/containers.yaml
+++ b/automation/gitlab-ci/containers.yaml
@@ -18,8 +18,80 @@
   after_script:
     - docker logout
 
-debian-unstable-container:
+archlinux-current-container:
+  variables:
+    BUILD_CONTAINER: archlinux/current
+  extends:
+    - .container-build-tmpl
+
+centos-7-2-container:
+  variables:
+    BUILD_CONTAINER: centos/7.2
+  extends:
+    - .container-build-tmpl
+
+centos-7-container:
+  variables:
+    BUILD_CONTAINER: centos/7
+  extends:
+    - .container-build-tmpl
+
+debian-jessie-container:
+  variables:
+    BUILD_CONTAINER: debian/jessie
+  extends:
+    - .container-build-tmpl
+
+debian-jessie-32-container:
+  variables:
+    BUILD_CONTAINER: debian/jessie-i386
+  extends:
+    - .container-build-tmpl
+
+debian-stretch-container:
+  variables:
+    BUILD_CONTAINER: debian/stretch
+  extends:
+    - .container-build-tmpl
+
+debian-stretch-32-container:
+  variables:
+    BUILD_CONTAINER: debian/stretch-i386
   extends:
     - .container-build-tmpl
+
+debian-unstable-container:
   variables:
     BUILD_CONTAINER: debian/unstable
+  extends:
+    - .container-build-tmpl
+
+debian-unstable-32-container:
+  variables:
+    BUILD_CONTAINER: debian/unstable-i386
+  extends:
+    - .container-build-tmpl
+
+ubuntu-trusty-container:
+  variables:
+    BUILD_CONTAINER: ubuntu/trusty
+  extends:
+    - .container-build-tmpl
+
+ubuntu-xenial-container:
+  variables:
+    BUILD_CONTAINER: ubuntu/xenial
+  extends:
+    - .container-build-tmpl
+
+ubuntu-bionic-container:
+  variables:
+    BUILD_CONTAINER: ubuntu/bionic
+  extends:
+    - .container-build-tmpl
+
+ubuntu-focal-container:
+  variables:
+    BUILD_CONTAINER: ubuntu/focal
+  extends:
+    - .container-build-tmpl
diff --git a/automation/gitlab-ci/test-containers.yaml b/automation/gitlab-ci/test-containers.yaml
index 5dbf3902ff..4d5c6ba364 100644
--- a/automation/gitlab-ci/test-containers.yaml
+++ b/automation/gitlab-ci/test-containers.yaml
@@ -197,6 +197,148 @@
 
 # Jobs below this line
 
+.container-archlinux-testtmpl:
+  variables:
+    CONTAINER: archlinux:current
+    BUILD_CONTAINER: archlinux/current
+  needs:
+    - archlinux-current-container
+
+test-archlinux-gcc:
+  extends:
+    - .gcc-x86-64-testbuild
+    - .container-archlinux-testtmpl
+
+test-archlinux-gcc-debug:
+  extends:
+    - .gcc-x86-64-testbuild-debug
+    - .container-archlinux-testtmpl
+
+.container-centos-7-testtmpl:
+  variables:
+    CONTAINER: centos:7
+    BUILD_CONTAINER: centos/7
+  needs:
+    - centos-7-container
+
+test-centos-7-gcc:
+  extends:
+    - .gcc-x86-64-testbuild
+    - .container-centos-7-testtmpl
+
+test-centos-7-gcc-debug:
+  extends:
+    - .gcc-x86-64-testbuild-debug
+    - .container-centos-7-testtmpl
+
+.container-debian-jessie-testtmpl:
+  variables:
+    CONTAINER: debian:jessie
+    BUILD_CONTAINER: debian/jessie
+  needs:
+    - debian-jessie-container
+
+test-debian-jessie-clang:
+  extends:
+    - .clang-x86-64-testbuild
+    - .container-debian-jessie-testtmpl
+
+test-debian-jessie-clang-debug:
+  extends:
+    - .clang-x86-64-testbuild-debug
+    - .container-debian-jessie-testtmpl
+
+test-debian-jessie-gcc:
+  extends:
+    - .gcc-x86-64-testbuild
+    - .container-debian-jessie-testtmpl
+
+test-debian-jessie-gcc-debug:
+  extends:
+    - .gcc-x86-64-testbuild-debug
+    - .container-debian-jessie-testtmpl
+
+.container-debian-32-jessie-testtmpl:
+  variables:
+    CONTAINER: debian:jessie-i386
+    BUILD_CONTAINER: debian/jessie-i386
+  needs:
+    - debian-jessie-32-container
+
+test-debian-jessie-32-clang:
+  extends:
+    - .clang-x86-32-testbuild
+    - .container-debian-32-jessie-testtmpl
+
+test-debian-jessie-32-clang-debug:
+  extends:
+    - .clang-x86-32-testbuild-debug
+    - .container-debian-32-jessie-testtmpl
+
+test-debian-jessie-32-gcc:
+  extends:
+    - .gcc-x86-32-testbuild
+    - .container-debian-32-jessie-testtmpl
+
+test-debian-jessie-32-gcc-debug:
+  extends:
+    - .gcc-x86-32-testbuild-debug
+    - .container-debian-32-jessie-testtmpl
+
+.container-debian-stretch-testtmpl:
+  variables:
+    CONTAINER: debian:stretch
+    BUILD_CONTAINER: debian/stretch
+  needs:
+    - debian-stretch-container
+
+test-debian-stretch-clang:
+  extends:
+    - .clang-x86-64-testbuild
+    - .container-debian-stretch-testtmpl
+
+test-debian-stretch-clang-debug:
+  extends:
+    - .clang-x86-64-testbuild-debug
+    - .container-debian-stretch-testtmpl
+
+test-debian-stretch-clang-8:
+  extends:
+    - .clang-8-x86-64-testbuild
+    - .container-debian-stretch-testtmpl
+
+test-debian-stretch-clang-8-debug:
+  extends:
+    - .clang-8-x86-64-testbuild-debug
+    - .container-debian-stretch-testtmpl
+
+test-debian-stretch-gcc:
+  extends:
+    - .gcc-x86-64-testbuild
+    - .container-debian-stretch-testtmpl
+
+test-debian-stretch-gcc-debug:
+  extends:
+    - .gcc-x86-64-testbuild-debug
+    - .container-debian-stretch-testtmpl
+
+.container-debian-stretch-32-testtmpl:
+  variables:
+    CONTAINER: debian:stretch-i386
+    BUILD_CONTAINER: debian/stretch-i386
+  needs:
+    - debian-stretch-32-container
+
+test-debian-stretch-32-clang-debug:
+  extends:
+    - .clang-x86-32-testbuild-debug
+    - .container-debian-stretch-32-testtmpl
+
+test-debian-stretch-32-gcc-debug:
+  extends:
+    - .gcc-x86-32-testbuild-debug
+    - .container-debian-stretch-32-testtmpl
+
 .container-debian-unstable-testtmpl:
   variables:
     CONTAINER: debian:unstable
@@ -237,3 +379,118 @@ test-debian-unstable-gcc-debug-randconfig:
     - .container-debian-unstable-testtmpl
   variables:
     RANDCONFIG: y
+
+.container-debian-unstable-32-testtmpl:
+  variables:
+    CONTAINER: debian:unstable-i386
+    BUILD_CONTAINER: debian/unstable-i386
+  needs:
+    - debian-unstable-32-container
+
+test-debian-unstable-32-clang-debug:
+  extends:
+    - .clang-x86-32-testbuild-debug
+    - .container-debian-unstable-32-testtmpl
+
+test-debian-unstable-32-gcc-debug:
+  extends:
+    - .gcc-x86-32-testbuild-debug
+    - .container-debian-unstable-32-testtmpl
+
+.container-ubuntu-trusty-testtmpl:
+  variables:
+    CONTAINER: ubuntu:trusty
+    BUILD_CONTAINER: ubuntu/trusty
+  needs:
+    - ubuntu-trusty-container
+
+test-ubuntu-trusty-gcc:
+  extends:
+    - .gcc-x86-64-testbuild
+    - .container-ubuntu-trusty-testtmpl
+
+test-ubuntu-trusty-gcc-debug:
+  extends:
+    - .gcc-x86-64-testbuild-debug
+    - .container-ubuntu-trusty-testtmpl
+
+.container-ubuntu-xenial-testtmpl:
+  variables:
+    CONTAINER: ubuntu:xenial
+    BUILD_CONTAINER: ubuntu/xenial
+  needs:
+    - ubuntu-xenial-container
+
+test-ubuntu-xenial-clang:
+  extends:
+    - .clang-x86-64-testbuild
+    - .container-ubuntu-xenial-testtmpl
+
+test-ubuntu-xenial-clang-debug:
+  extends:
+    - .clang-x86-64-testbuild-debug
+    - .container-ubuntu-xenial-testtmpl
+
+test-ubuntu-xenial-gcc:
+  extends:
+    - .gcc-x86-64-testbuild
+    - .container-ubuntu-xenial-testtmpl
+
+test-ubuntu-xenial-gcc-debug:
+  extends:
+    - .gcc-x86-64-testbuild-debug
+    - .container-ubuntu-xenial-testtmpl
+
+.container-ubuntu-bionic-testtmpl:
+  variables:
+    CONTAINER: ubuntu:bionic
+    BUILD_CONTAINER: ubuntu/bionic
+  needs:
+    - ubuntu-bionic-container
+
+test-ubuntu-bionic-clang:
+  extends:
+    - .clang-x86-64-testbuild
+    - .container-ubuntu-bionic-testtmpl
+
+test-ubuntu-bionic-clang-debug:
+  extends:
+    - .clang-x86-64-testbuild-debug
+    - .container-ubuntu-bionic-testtmpl
+
+test-ubuntu-bionic-gcc:
+  extends:
+    - .gcc-x86-64-testbuild
+    - .container-ubuntu-bionic-testtmpl
+
+test-ubuntu-bionic-gcc-debug:
+  extends:
+    - .gcc-x86-64-testbuild-debug
+    - .container-ubuntu-bionic-testtmpl
+
+.container-ubuntu-focal-testtmpl:
+  variables:
+    CONTAINER: ubuntu:focal
+    BUILD_CONTAINER: ubuntu/focal
+  needs:
+    - ubuntu-focal-container
+
+test-ubuntu-focal-gcc:
+  extends:
+    - .gcc-x86-64-testbuild
+    - .container-ubuntu-focal-testtmpl
+
+test-ubuntu-focal-gcc-debug:
+  extends:
+    - .gcc-x86-64-testbuild-debug
+    - .container-ubuntu-focal-testtmpl
+
+test-ubuntu-focal-clang:
+  extends:
+    - .clang-x86-64-testbuild
+    - .container-ubuntu-focal-testtmpl
+
+test-ubuntu-focal-clang-debug:
+  extends:
+    - .clang-x86-64-testbuild-debug
+    - .container-ubuntu-focal-testtmpl
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 17:53:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 17:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505298.778000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXn7k-0008VD-U6; Thu, 02 Mar 2023 17:53:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505298.778000; Thu, 02 Mar 2023 17:53: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 1pXn7k-0008Rc-N7; Thu, 02 Mar 2023 17:53:48 +0000
Received: by outflank-mailman (input) for mailman id 505298;
 Thu, 02 Mar 2023 17:53: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=BPDg=62=citrix.com=prvs=418368d91=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pXn7j-00086v-3J
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 17:53:47 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d0cb084-b923-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 18:53: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: 2d0cb084-b923-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677779625;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=Pqjolciy/GYaOh/EUUxEl9qt3jG0Ps61g++fsO8Rsmo=;
  b=GcHEtLSafx9DhybyYzjnebuSYLNmy89Wmpkz4JhaYZRS9+gIsHjqgyzo
   a69YF/LYIxUFQ9qM1mu8RCEFcTv8HIlst8KyS+f05O9CFEeDTs8NA6h2G
   OIujfWsCt+FszkIpKFyy8zf4oHVPjHEWPZjqOEts4MqDqsFNygLC3wAdA
   A=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 101652772
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:riksuKmrKu4cilt5syG4ocro5gybJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIeXmjUb//eZWbxft1yaYy/o0kF6MXRx9ZgSVY+pSxmFCMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5AWGzBH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 e4qMiEEcBahu8udxK6DG8MzxekOLsa+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglH2dSFYr1SE47I6+WHJwCR60aT3McqTcduPLSlQth/A/
 zybpTumWHn2MvSYzmG3olGUjNbesgjrCaAzRb6fztBD1Qj7Kms7V0RNCArTTeOCol6zXZdTJ
 lIZ/gIqrLMu7wq7Q9/lRRq6rXWY+BkGVLJ4CPYm4QuAzq7V5QexBWUeSDNFLts8u6ceTjUw2
 liEt9jgHzBovfueTnf1y1uPhWrsY25PdzZEPHJaC1JfuLEPvb3fkDrdfMxyGbCzrOHcMjXs+
 2Gg82sTqrcc2JtjO7qAwXjLhDelp57sRwEz5xnKUm/N0j6VdLJJdKTztwGFsK8owJKxCwDY4
 SNaw5T2APUmV8nlqcCbfAka8FhFDd6hOSaUv1NgFoJJG9+Fqy/6JtA4DN2TyS5U3ic4ld3BO
 hK7VeB5vsU70J6WgUhfMuqM5zwCl/SIKDgcfqm8giBySpZwbhSb2ypleFSd2Wvg+GB1z/5gZ
 8bGIZ71VCpLYUiC8NZRb71AuYLHOwhknT+DLXwF50/PPUWiiI69Fu5ebQrmghER56KYugTFm
 +uzxOPToyizpNbWO3GNmaZKdABiEJTOLcyuwyChXrLZc1UO9aBII6O5/I7NjKQ+xPgOzb6Qo
 CjsMqKaoXKm7UD6xcyxQigLQNvSsVxX9xrX4QRE0Y6U5kUe
IronPort-HdrOrdr: A9a23:pLwkj6BC9YtXctTlHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-IronPort-AV: E=Sophos;i="5.98,228,1673931600"; 
   d="scan'208";a="101652772"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [RFC XEN PATCH 0/7] automation, RFC prototype, Have GitLab CI built its own containers
Date: Thu, 2 Mar 2023 17:53:25 +0000
Message-ID: <20230302175332.56052-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Patch series available in this git branch:
https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.gitlab-containers-auto-rebuild-v1

Hi,

I have done some research to be able to build containers in the CI. This works
only for x86 containers as I've setup only a single x86 gitlab-runner to be
able to run docker-in-docker.

The runner is setup to only accept jobs from a branch that is "protected" in
gitlab. Also, one need credential to push to the container register, those are
called "Group deploy tokens", and I've set the variables CI_DEPLOY_USER and
CI_DEPLOY_PASSWORD in the project "xen-project/xen" (variables only visible on
a pipeline running on a protected branch).

These patch introduce quite a lot of redundancies in jobs, 2 new jobs per
containers which build/push containers, and duplicate most of build.yaml.
This mean that if we go with this, we have to duplicate and keep in sync many
jobs.

To avoid having to do the duplicated jobs by hand, I could look at
creating a script that use "build.yaml" as input and produce the 3
stages needed to update a container, but that script would need to be
run by hand, as gitlab can't really use it, unless ..

I've look at generated pipeline, and they look like this in gitlab:
    https://gitlab.com/xen-project/people/anthonyper/xen/-/pipelines/777665738
But the result of the generated/child pipeline doesn't seems to be taken into
account in the original pipeline, which make me think that we can't use them to
generate "build.yaml". But maybe the could be use for generating the pipeline
that will update a container.
Doc:
    https://docs.gitlab.com/ee/ci/pipelines/downstream_pipelines.html#dynamic-child-pipelines

So, with all of this, is it reasonable to test containers before
pushing them to production? Or is it to much work? We could simply have jobs
tacking care of rebuilding a container and pushing them to production without
testing.

An example with the variable DO_REBUILD_CONTAINER and PUSH_CONTAINER set (and
existing build/test jobs disabled):
    https://gitlab.com/xen-project/people/anthonyper/xen/-/pipelines/791711467

Cheers,

Anthony PERARD (7):
  automation: Automatically rebuild debian:unstable container
  automation: Introduce test-containers stage
  automation: Add a template per container for build jobs.
  automation: Adding containers build jobs and test of thoses
  automation: Introduce DO_REBUILD_CONTAINER, to allow to rebuild a
    container
  automation: Push container been tested
  automation: Add some more push containers jobs

 .gitlab-ci.yml                            |   6 +
 automation/build/Makefile                 |  14 +-
 automation/gitlab-ci/build.yaml           | 327 ++++++++------
 automation/gitlab-ci/containers.yaml      |  98 +++++
 automation/gitlab-ci/push-containers.yaml |  79 ++++
 automation/gitlab-ci/test-containers.yaml | 496 ++++++++++++++++++++++
 6 files changed, 894 insertions(+), 126 deletions(-)
 create mode 100644 automation/gitlab-ci/containers.yaml
 create mode 100644 automation/gitlab-ci/push-containers.yaml
 create mode 100644 automation/gitlab-ci/test-containers.yaml

-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 17:53:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 17:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505296.777989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXn7k-0008MU-9C; Thu, 02 Mar 2023 17:53:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505296.777989; Thu, 02 Mar 2023 17:53: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 1pXn7k-0008MN-6I; Thu, 02 Mar 2023 17:53:48 +0000
Received: by outflank-mailman (input) for mailman id 505296;
 Thu, 02 Mar 2023 17:53: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=BPDg=62=citrix.com=prvs=418368d91=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pXn7i-00086w-IU
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 17:53:46 +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 2bc319f9-b923-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 18:53: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: 2bc319f9-b923-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677779624;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=mVBiVBPMb7eSTKOxEt/bZdgZZJJ4ZGwNZDi0xUkKmco=;
  b=JPU3yzpMe1mh0pupu9DKCrC88lp9jsFKwiljP0IM2ThbOblAUsZ0R5/D
   BLFh5EfvFlgaFxFkxQ79ezJz3JMHMrGjf2AXfC3HvqrvcTpEuBGnHdtB8
   RDkPUUN2uknAf1WNVTUJD0iFzXYfit2Ov7xMUh/Gf9/SaJFBkilLIA21A
   8=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 99632357
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:Q7fdK6vn/E9s/P8F3ezscJYhi+fnVE1eMUV32f8akzHdYApBsoF/q
 tZmKW6EP/jeMTD1eI1/PYW2oxwB65LRydNhS1Y9pHtgHyoU+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASGzSFOZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwIQsqZx6B27KN8YmkZNJKosYBBtjJBdZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfA5NU/rSn8/x7pX7WzRetFKSo7tx+2XJxRZ9+LPsLMDUapqBQsA9ckOw9
 zOYpD6iX05y2Nq39WqMqVGQjNDztwz7QJsZC5ylxuNojwjGroAUIEJPDgbqyRWjsWa1UshTL
 EE88SM0oa8/skesS7HVRAakqXSJuhodXdt4EOAg7gyJjK3O7G6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnop4thvrZ3JTdzVbI3ZZE01cuYKLTJwPYgznR+1EGaC30o3OKArv7
 QusiCocraQxtJtev0mkxmzvjzWpr5nPawc64ATLQ26ohj9EiJ6Zi5+AsgaCs6sZRGqNZhzY5
 SVfxZDChAwbJcvV/BFhVtnhC11ACxytFDTHyWBiEJA6n9hG0y7yJNsAiN2SyaoADyrlRdMLS
 BWO0e+yzMUJVJdPUUOQS9PZNijS5fK8fekJr9iNBja0XrB/dRWc4AZlblOK0mbmnSAEyP9gZ
 snKLJb0VC9GWMyLKQZaoM9HjNcWKt0WnzuPFfgXMTz8uVZhWJJlYehcawbfBgzIxKiFvB/U4
 75i2ziikn1ivBnFSnCPq+Y7dAlaRUXX8Liq86S7gMbfeFs5cIzgYteNqY4cl3tNxP8JzbyRp
 i/kCye1CjPX3BX6FOlDUVg7AJuHYHq1hStT0fAEVbpw50UeXA==
IronPort-HdrOrdr: A9a23:+qbiMKGgH5xKE1X4pLqE/8eALOsnbusQ8zAXPiFKOH9om6mj/K
 qTdZsgpH3JYUkqKRQdcLy7VZVoIkm9yXcW2+cs1N6ZNWHbUQ2TQL2KhrGC/9SPIULDH+dmpM
 NdT5Q=
X-IronPort-AV: E=Sophos;i="5.98,228,1673931600"; 
   d="scan'208";a="99632357"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Doug Goldstein <cardoe@cardoe.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [RFC XEN PATCH 3/7] automation: Add a template per container for build jobs.
Date: Thu, 2 Mar 2023 17:53:28 +0000
Message-ID: <20230302175332.56052-4-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230302175332.56052-1-anthony.perard@citrix.com>
References: <20230302175332.56052-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Have one template per container, which each build job will extend.
This will allow to add more variable which are linked to a used
container.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 automation/gitlab-ci/build.yaml | 327 ++++++++++++++++++++------------
 1 file changed, 202 insertions(+), 125 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 38bb22d860..1f186bf346 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -255,285 +255,346 @@
 
 # Jobs below this line
 
-archlinux-gcc:
-  extends: .gcc-x86-64-build
+.container-archlinux:
   variables:
     CONTAINER: archlinux:current
 
+archlinux-gcc:
+  extends:
+    - .gcc-x86-64-build
+    - .container-archlinux
+
 archlinux-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: archlinux:current
+  extends:
+    - .gcc-x86-64-build-debug
+    - .container-archlinux
 
-centos-7-gcc:
-  extends: .gcc-x86-64-build
+.container-centos-7:
   variables:
     CONTAINER: centos:7
 
+centos-7-gcc:
+  extends:
+    - .gcc-x86-64-build
+    - .container-centos-7
+
 centos-7-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: centos:7
+  extends:
+    - .gcc-x86-64-build-debug
+    - .container-centos-7
 
-debian-stretch-clang:
-  extends: .clang-x86-64-build
+.container-debian-stretch:
   variables:
     CONTAINER: debian:stretch
 
+debian-stretch-clang:
+  extends:
+    - .clang-x86-64-build
+    - .container-debian-stretch
+
 debian-stretch-clang-debug:
-  extends: .clang-x86-64-build-debug
-  variables:
-    CONTAINER: debian:stretch
+  extends:
+    - .clang-x86-64-build-debug
+    - .container-debian-stretch
 
 debian-stretch-clang-8:
-  extends: .clang-8-x86-64-build
-  variables:
-    CONTAINER: debian:stretch
+  extends:
+    - .clang-8-x86-64-build
+    - .container-debian-stretch
 
 debian-stretch-clang-8-debug:
-  extends: .clang-8-x86-64-build-debug
-  variables:
-    CONTAINER: debian:stretch
+  extends:
+    - .clang-8-x86-64-build-debug
+    - .container-debian-stretch
 
 debian-stretch-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: debian:stretch
+  extends:
+    - .gcc-x86-64-build
+    - .container-debian-stretch
 
 debian-stretch-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: debian:stretch
+  extends:
+    - .gcc-x86-64-build-debug
+    - .container-debian-stretch
 
-debian-stretch-32-clang-debug:
-  extends: .clang-x86-32-build-debug
+.container-debian-stretch-32:
   variables:
     CONTAINER: debian:stretch-i386
 
+debian-stretch-32-clang-debug:
+  extends:
+    - .clang-x86-32-build-debug
+    - .container-debian-stretch-32
+
 debian-stretch-32-gcc-debug:
-  extends: .gcc-x86-32-build-debug
-  variables:
-    CONTAINER: debian:stretch-i386
+  extends:
+    - .gcc-x86-32-build-debug
+    - .container-debian-stretch-32
 
 debian-buster-gcc-ibt:
-  extends: .gcc-x86-64-build
+  extends:
+    - .gcc-x86-64-build
   variables:
     CONTAINER: debian:buster-gcc-ibt
     RANDCONFIG: y
     EXTRA_FIXED_RANDCONFIG: |
       CONFIG_XEN_IBT=y
 
-debian-unstable-clang:
-  extends: .clang-x86-64-build
+.container-debian-unstable:
   variables:
     CONTAINER: debian:unstable
 
+debian-unstable-clang:
+  extends:
+    - .clang-x86-64-build
+    - .container-debian-unstable
+
 debian-unstable-clang-debug:
-  extends: .clang-x86-64-build-debug
-  variables:
-    CONTAINER: debian:unstable
+  extends:
+    - .clang-x86-64-build-debug
+    - .container-debian-unstable
 
 debian-unstable-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: debian:unstable
+  extends:
+    - .gcc-x86-64-build
+    - .container-debian-unstable
 
 debian-unstable-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: debian:unstable
+  extends:
+    - .gcc-x86-64-build-debug
+    - .container-debian-unstable
 
 debian-unstable-gcc-randconfig:
-  extends: .gcc-x86-64-build
+  extends:
+    - .gcc-x86-64-build
+    - .container-debian-unstable
   variables:
-    CONTAINER: debian:unstable
     RANDCONFIG: y
 
 debian-unstable-gcc-debug-randconfig:
-  extends: .gcc-x86-64-build-debug
+  extends:
+    - .gcc-x86-64-build-debug
+    - .container-debian-unstable
   variables:
-    CONTAINER: debian:unstable
     RANDCONFIG: y
 
-debian-unstable-32-clang-debug:
-  extends: .clang-x86-32-build-debug
+.container-debian-unstable-32:
   variables:
     CONTAINER: debian:unstable-i386
 
+debian-unstable-32-clang-debug:
+  extends:
+    - .clang-x86-32-build-debug
+    - .container-debian-unstable-32
+
 debian-unstable-32-gcc-debug:
-  extends: .gcc-x86-32-build-debug
-  variables:
-    CONTAINER: debian:unstable-i386
+  extends:
+    - .gcc-x86-32-build-debug
+    - .container-debian-unstable-32
 
 fedora-gcc:
-  extends: .gcc-x86-64-build
+  extends:
+    - .gcc-x86-64-build
   variables:
     CONTAINER: fedora:29
 
 fedora-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends:
+    - .gcc-x86-64-build-debug
   variables:
     CONTAINER: fedora:29
 
 # Ubuntu Trusty's Clang is 3.4 while Xen requires 3.5
 
-ubuntu-trusty-gcc:
-  extends: .gcc-x86-64-build
+.container-ubuntu-trusty:
   variables:
     CONTAINER: ubuntu:trusty
 
+ubuntu-trusty-gcc:
+  extends:
+    - .gcc-x86-64-build
+    - .container-ubuntu-trusty
+
 ubuntu-trusty-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:trusty
+  extends:
+    - .gcc-x86-64-build-debug
+    - .container-ubuntu-trusty
 
-ubuntu-xenial-clang:
-  extends: .clang-x86-64-build
+.container-ubuntu-xenial:
   variables:
     CONTAINER: ubuntu:xenial
 
+ubuntu-xenial-clang:
+  extends:
+    - .clang-x86-64-build
+    - .container-ubuntu-xenial
+
 ubuntu-xenial-clang-debug:
-  extends: .clang-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:xenial
+  extends:
+    - .clang-x86-64-build-debug
+    - .container-ubuntu-xenial
 
 ubuntu-xenial-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: ubuntu:xenial
+  extends:
+    - .gcc-x86-64-build
+    - .container-ubuntu-xenial
 
 ubuntu-xenial-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:xenial
+  extends:
+    - .gcc-x86-64-build-debug
+    - .container-ubuntu-xenial
 
-ubuntu-bionic-clang:
-  extends: .clang-x86-64-build
+.container-ubuntu-bionic:
   variables:
     CONTAINER: ubuntu:bionic
 
+ubuntu-bionic-clang:
+  extends:
+    - .clang-x86-64-build
+    - .container-ubuntu-bionic
+
 ubuntu-bionic-clang-debug:
-  extends: .clang-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:bionic
+  extends:
+    - .clang-x86-64-build-debug
+    - .container-ubuntu-bionic
 
 ubuntu-bionic-gcc:
-  extends: .gcc-x86-64-build
-  variables:
-    CONTAINER: ubuntu:bionic
+  extends:
+    - .gcc-x86-64-build
+    - .container-ubuntu-bionic
 
 ubuntu-bionic-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:bionic
+  extends:
+    - .gcc-x86-64-build-debug
+    - .container-ubuntu-bionic
 
-ubuntu-focal-gcc:
-  extends: .gcc-x86-64-build
+.container-ubuntu-focal:
   variables:
     CONTAINER: ubuntu:focal
 
+ubuntu-focal-gcc:
+  extends:
+    - .gcc-x86-64-build
+    - .container-ubuntu-focal
+
 ubuntu-focal-gcc-debug:
-  extends: .gcc-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:focal
+  extends:
+    - .gcc-x86-64-build-debug
+    - .container-ubuntu-focal
 
 ubuntu-focal-clang:
-  extends: .clang-x86-64-build
-  variables:
-    CONTAINER: ubuntu:focal
+  extends:
+    - .clang-x86-64-build
+    - .container-ubuntu-focal
 
 ubuntu-focal-clang-debug:
-  extends: .clang-x86-64-build-debug
-  variables:
-    CONTAINER: ubuntu:focal
+  extends:
+    - .clang-x86-64-build-debug
+    - .container-ubuntu-focal
 
 opensuse-leap-clang:
-  extends: .clang-x86-64-build
+  extends:
+    - .clang-x86-64-build
   variables:
     CONTAINER: suse:opensuse-leap
 
 opensuse-leap-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends:
+    - .clang-x86-64-build-debug
   variables:
     CONTAINER: suse:opensuse-leap
 
 opensuse-leap-gcc:
-  extends: .gcc-x86-64-build
+  extends:
+    - .gcc-x86-64-build
   variables:
     CONTAINER: suse:opensuse-leap
 
 opensuse-leap-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends:
+    - .gcc-x86-64-build-debug
   variables:
     CONTAINER: suse:opensuse-leap
 
 opensuse-tumbleweed-clang:
-  extends: .clang-x86-64-build
+  extends:
+    - .clang-x86-64-build
   variables:
     CONTAINER: suse:opensuse-tumbleweed
   allow_failure: true
 
 opensuse-tumbleweed-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends:
+    - .clang-x86-64-build-debug
   variables:
     CONTAINER: suse:opensuse-tumbleweed
   allow_failure: true
 
 opensuse-tumbleweed-gcc:
-  extends: .gcc-x86-64-build
+  extends:
+    - .gcc-x86-64-build
   variables:
     CONTAINER: suse:opensuse-tumbleweed
   allow_failure: true
 
 opensuse-tumbleweed-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends:
+    - .gcc-x86-64-build-debug
   variables:
     CONTAINER: suse:opensuse-tumbleweed
   allow_failure: true
 
 alpine-3.12-gcc:
-  extends: .gcc-x86-64-build
+  extends:
+    - .gcc-x86-64-build
   variables:
     CONTAINER: alpine:3.12
 
 alpine-3.12-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends:
+    - .gcc-x86-64-build-debug
   variables:
     CONTAINER: alpine:3.12
 
 alpine-3.12-clang:
-  extends: .clang-x86-64-build
+  extends:
+    - .clang-x86-64-build
   variables:
     CONTAINER: alpine:3.12
 
 alpine-3.12-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends:
+    - .clang-x86-64-build-debug
   variables:
     CONTAINER: alpine:3.12
 
 # Arm32 cross-build
 
 debian-unstable-gcc-arm32:
-  extends: .gcc-arm32-cross-build
+  extends:
+    - .gcc-arm32-cross-build
   variables:
     CONTAINER: debian:unstable-arm64v8-arm32-gcc
     HYPERVISOR_ONLY: y
 
 debian-unstable-gcc-arm32-debug:
-  extends: .gcc-arm32-cross-build-debug
+  extends:
+    - .gcc-arm32-cross-build-debug
   variables:
     CONTAINER: debian:unstable-arm64v8-arm32-gcc
     HYPERVISOR_ONLY: y
 
 debian-unstable-gcc-arm32-randconfig:
-  extends: .gcc-arm32-cross-build
+  extends:
+    - .gcc-arm32-cross-build
   variables:
     CONTAINER: debian:unstable-arm64v8-arm32-gcc
     HYPERVISOR_ONLY: y
     RANDCONFIG: y
 
 debian-unstable-gcc-arm32-debug-randconfig:
-  extends: .gcc-arm32-cross-build-debug
+  extends:
+    - .gcc-arm32-cross-build-debug
   variables:
     CONTAINER: debian:unstable-arm64v8-arm32-gcc
     HYPERVISOR_ONLY: y
@@ -562,51 +623,60 @@ debian-unstable-gcc-arm32-debug-staticmem:
 # Arm builds
 
 debian-unstable-gcc-arm64:
-  extends: .gcc-arm64-build
+  extends:
+    - .gcc-arm64-build
   variables:
     CONTAINER: debian:unstable-arm64v8
 
 debian-unstable-gcc-debug-arm64:
-  extends: .gcc-arm64-build-debug
+  extends:
+    - .gcc-arm64-build-debug
   variables:
     CONTAINER: debian:unstable-arm64v8
 
 debian-unstable-gcc-arm64-randconfig:
-  extends: .gcc-arm64-build
+  extends:
+    - .gcc-arm64-build
   variables:
     CONTAINER: debian:unstable-arm64v8
     RANDCONFIG: y
 
 debian-unstable-gcc-debug-arm64-randconfig:
-  extends: .gcc-arm64-build-debug
+  extends:
+    - .gcc-arm64-build-debug
   variables:
     CONTAINER: debian:unstable-arm64v8
     RANDCONFIG: y
 
 alpine-3.12-gcc-arm64:
-  extends: .gcc-arm64-build
+  extends:
+    - .gcc-arm64-build
   variables:
     CONTAINER: alpine:3.12-arm64v8
 
 alpine-3.12-gcc-debug-arm64:
-  extends: .gcc-arm64-build-debug
+  extends:
+    - .gcc-arm64-build-debug
   variables:
     CONTAINER: alpine:3.12-arm64v8
 
 alpine-3.12-gcc-arm64-randconfig:
-  extends: .gcc-arm64-build
+  extends:
+    - .gcc-arm64-build
   variables:
     CONTAINER: alpine:3.12-arm64v8
     RANDCONFIG: y
 
 alpine-3.12-gcc-debug-arm64-randconfig:
-  extends: .gcc-arm64-build-debug
+  extends:
+    - .gcc-arm64-build-debug
   variables:
     CONTAINER: alpine:3.12-arm64v8
     RANDCONFIG: y
 
 alpine-3.12-gcc-arm64-staticmem:
-  extends: .gcc-arm64-build
+  extends:
+    - .gcc-arm64-build
   variables:
     CONTAINER: alpine:3.12-arm64v8
     EXTRA_XEN_CONFIG: |
@@ -615,7 +685,8 @@ alpine-3.12-gcc-arm64-staticmem:
       CONFIG_STATIC_MEMORY=y
 
 alpine-3.12-gcc-debug-arm64-staticmem:
-  extends: .gcc-arm64-build-debug
+  extends:
+    - .gcc-arm64-build-debug
   variables:
     CONTAINER: alpine:3.12-arm64v8
     EXTRA_XEN_CONFIG: |
@@ -624,7 +695,8 @@ alpine-3.12-gcc-debug-arm64-staticmem:
       CONFIG_STATIC_MEMORY=y
 
 alpine-3.12-gcc-arm64-boot-cpupools:
-  extends: .gcc-arm64-build
+  extends:
+    - .gcc-arm64-build
   variables:
     CONTAINER: alpine:3.12-arm64v8
     EXTRA_XEN_CONFIG: |
@@ -634,7 +706,8 @@ alpine-3.12-gcc-arm64-boot-cpupools:
       CONFIG_BOOT_TIME_CPUPOOLS=y
 
 alpine-3.12-gcc-debug-arm64-boot-cpupools:
-  extends: .gcc-arm64-build-debug
+  extends:
+    - .gcc-arm64-build-debug
   variables:
     CONTAINER: alpine:3.12-arm64v8
     EXTRA_XEN_CONFIG: |
@@ -642,21 +715,24 @@ alpine-3.12-gcc-debug-arm64-boot-cpupools:
 
 # RISC-V 64 cross-build
 archlinux-current-gcc-riscv64:
-  extends: .gcc-riscv64-cross-build
+  extends:
+    - .gcc-riscv64-cross-build
   variables:
     CONTAINER: archlinux:current-riscv64
     KBUILD_DEFCONFIG: tiny64_defconfig
     HYPERVISOR_ONLY: y
 
 archlinux-current-gcc-riscv64-debug:
-  extends: .gcc-riscv64-cross-build-debug
+  extends:
+    - .gcc-riscv64-cross-build-debug
   variables:
     CONTAINER: archlinux:current-riscv64
     KBUILD_DEFCONFIG: tiny64_defconfig
     HYPERVISOR_ONLY: y
 
 archlinux-current-gcc-riscv64-randconfig:
-  extends: .gcc-riscv64-cross-build
+  extends:
+    - .gcc-riscv64-cross-build
   variables:
     CONTAINER: archlinux:current-riscv64
     KBUILD_DEFCONFIG: tiny64_defconfig
@@ -665,7 +741,8 @@ archlinux-current-gcc-riscv64-randconfig:
       CONFIG_COVERAGE=n
 
 archlinux-current-gcc-riscv64-debug-randconfig:
-  extends: .gcc-riscv64-cross-build-debug
+  extends:
+    - .gcc-riscv64-cross-build-debug
   variables:
     CONTAINER: archlinux:current-riscv64
     KBUILD_DEFCONFIG: tiny64_defconfig
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 17:53:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 17:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505300.778029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXn7p-0000zX-LA; Thu, 02 Mar 2023 17:53:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505300.778029; Thu, 02 Mar 2023 17: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 1pXn7p-0000zP-I1; Thu, 02 Mar 2023 17:53:53 +0000
Received: by outflank-mailman (input) for mailman id 505300;
 Thu, 02 Mar 2023 17:53: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=BPDg=62=citrix.com=prvs=418368d91=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pXn7n-00086w-Sd
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 17:53:51 +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 2f827142-b923-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 18:53: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: 2f827142-b923-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677779630;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=XlzauBoROJbKlRvdZpAzRjeIVuO3B6bK5CRK30Y6Ti8=;
  b=g085QqguondbqCtI9gYtbNOO5SOw3taDSlzfhSJyFl6K0nczPtUk+o9t
   z4138TXfP634bt/Iydahl5uO6tyJ0hnCJ3TIVFF6YX8EIcb5oHpHo2X9o
   3QExtcxpbwlIDkSfWOxJZn0ErCuxP1gsYjJ+8bw3zbQoLdMB/nh9SZFph
   c=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 98603789
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:8VkI0KPidBSkz+TvrR2+l8FynXyQoLVcMsEvi/4bfWQNrUol0GEAn
 DZLXjzSaP7cNmfzc9wiO4rgpE9Vv5eHyIViGgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5gZmPpingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0sNORkhj1
 tgnEhBTQjHElsy15JLhTNA506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w2Nk+ojx5nYz/7DLo3mvuogX/uNSVVsluPqYI84nTJzRw327/oWDbQUo3aG50OwRbJz
 o7A12/7JjJKNeS58iOmwiKMxeX3l3+gCLtHQdVU8dY12QbOlwT/EiY+XlKhrf60okW3Qd5YJ
 gof/S9GhbMp6EWhQ935Xhu5iH2JpBgRX5xXCeJSwBGAzO/Y7hiUAkAATyVdc5o2uckuXzso2
 1SV2dTzClRSXKa9ECzHsO3O9HXrZHZTdDVZDcMZcecby/za56gerTbwdPY9PI/yn/P2PRGqx
 Qnf+UDSmI4vpcIM0qy6+3XOjDStuoXFQ2YJ2+nHYo62xlgnPdD4PuRE/XCetK8dd9jBEjFtq
 VBew6CjAPYy4YZhfcBnaMEEB/mX6vmMK1UwanY/TsB6p1xBF5NOFL28AQ2Sxm8zb67omhezO
 ic/XD+9A7cCVEZGlYctP+qM5z0ClMAM7+jNWPHOdcZpaZNsbgKB9ywGTRfOgD+zwRV8yfhmZ
 cbznSOQ4ZEyU/kP8dZLb71Fje9DKt4Wngs/uqwXPzz4iOHDNRZ5uJ8OMUeUb/BR0U93iFy9z
 jqrDOPTk083eLSnMkHqHXs7cQhiwY4TWcqn9KS6t4erfmJbJY3WI6SKneh6ItQ7xvU9eyWh1
 ijVZ3K0AWHX3RXvQThmoFg5AF8zdf6TdU4GABE=
IronPort-HdrOrdr: A9a23:c9qUk6Dh2XE5JNnlHem755DYdb4zR+YMi2TDtnoBKiC9F/by/f
 xG885rtyMc9wxhPU3I9ersBEDiexPhHPxOj7X5VI3KNDUO3lHFEGgI1+rfKlPbdBEW/9QtsZ
 tdTw==
X-IronPort-AV: E=Sophos;i="5.98,228,1673931600"; 
   d="scan'208";a="98603789"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Doug Goldstein <cardoe@cardoe.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [RFC XEN PATCH 5/7] automation: Introduce DO_REBUILD_CONTAINER, to allow to rebuild a container
Date: Thu, 2 Mar 2023 17:53:30 +0000
Message-ID: <20230302175332.56052-6-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230302175332.56052-1-anthony.perard@citrix.com>
References: <20230302175332.56052-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This allow to start a pipeline manually and set a variable to test the
build of a single container, e.g.
    DO_REBUILD_CONTAINER = ubuntu/xenial

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 automation/gitlab-ci/containers.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/automation/gitlab-ci/containers.yaml b/automation/gitlab-ci/containers.yaml
index a6d61980b1..9074bfe6f1 100644
--- a/automation/gitlab-ci/containers.yaml
+++ b/automation/gitlab-ci/containers.yaml
@@ -7,6 +7,7 @@
     - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "staging"
       changes:
         - automation/build/${BUILD_CONTAINER}.dockerfile
+    - if: $DO_REBUILD_CONTAINER == $BUILD_CONTAINER
   services:
     - docker:dind
   before_script:
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 17:53:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 17:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505295.777979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXn7j-00087F-0n; Thu, 02 Mar 2023 17:53:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505295.777979; Thu, 02 Mar 2023 17: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 1pXn7i-00087A-Sc; Thu, 02 Mar 2023 17:53:46 +0000
Received: by outflank-mailman (input) for mailman id 505295;
 Thu, 02 Mar 2023 17:53: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=BPDg=62=citrix.com=prvs=418368d91=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pXn7h-00086w-U2
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 17:53:46 +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 2b28ad90-b923-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 18:53: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: 2b28ad90-b923-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677779623;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=OVGnKG3JiMHkA56VmC4hYY6bkN1hel348yFwdhLu2p8=;
  b=CrFzlC+E5QRpy9lNI5ScRNr8Wbmt+Wm+tSXRwPzecJNraHfKVxmy854U
   fvk8W9uakhEJPzrNFTeIdXjtYd6rNIr2tNHIJWlBbST+ejfD9g9u3Gt84
   QWVNJrHbmRF+M15SdJ2yM2heFzb77wantYwpvJ4msrNC6qJnTISSxGoI7
   w=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 98045171
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:todoSqzo/3xsOkYdLdZ6t+csxirEfRIJ4+MujC+fZmUNrF6WrkUCy
 mcaDGvXOveMZ2X0KYgkaIy/9E9T65PVztE2HQU5qSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlPaoT5zcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KV4N9
 qQGGixKVTaOrP+axZSbZPc3ott2eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKZOUYn1lQ/UfrSmM+hgGX/dDtJ7kqYv6Mt70DYzRBr0airO93QEjCPbZQFxhrF/
 z2fl4j/KkAFCO2h7me4yFWpu7/ehyXxYKMiC5Tto5aGh3XMnzdOWXX6T2CTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jYXUsBcFOAS4wiXxq3ZpQ2eAwAsVSVdYdYrsMs3Qz0C1
 VKTmd7tQzt1v9WopWm1r+nO62noYG5McDFEPHVfJecY3zX9iL5wjUrRfMokK4i4pcDZHBfQ7
 S7RiDdr0t3/kvU3/6m8+FnGhRelqZ7IUhM5623rY4610u9qTNX7PtL1sDA3+d4Fdd/EFQfZ4
 BDojuDEtIgz4YexeDthqQnnNJWg/L67PTLVmjaD9LFxpm32qxZPkW29iQySxXuF0O5eJFcFg
 2eJ42u9AaO/21P7BZKbm6rrV6wXIVHITLwJrMz8YNtUeYRWfwSa5ixobkP49zmzzxdywPxvY
 c7CLZfE4ZMm5UNPlmfeegvg+eVzmnBWKZ37HvgXMChLIZLBPSXIGN/pwXOFb/wj7bPsnekm2
 483Cid+8D0GCLeWSnCOoeYuwaUicSBT6Wbe95YGKYZu42NORAkcNhMm6eh6J9c+xvwLz7agE
 7PUchYw9WcTTEbvcW2iAk2Popu2NXqjhRrX5RARAGs=
IronPort-HdrOrdr: A9a23:mIajtqG8qOevVBnMpLqE/8eALOsnbusQ8zAXPiFKOH9om6mj/K
 qTdZsgpH3JYUkqKRQdcLy7VZVoIkm9yXcW2+cs1N6ZNWHbUQ2TQL2KhrGC/9SPIULDH+dmpM
 NdT5Q=
X-IronPort-AV: E=Sophos;i="5.98,228,1673931600"; 
   d="scan'208";a="98045171"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Doug Goldstein <cardoe@cardoe.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [RFC XEN PATCH 2/7] automation: Introduce test-containers stage
Date: Thu, 2 Mar 2023 17:53:27 +0000
Message-ID: <20230302175332.56052-3-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230302175332.56052-1-anthony.perard@citrix.com>
References: <20230302175332.56052-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Jobs in the "test-containers" stage will be used to check that the
newly built container is working fine, and that it could be used in
production.

Need to rename jobs name compared to "build.yaml", adding "test-"
prefix to all build jobs.

Need also to rename templates as many of them are used with "extends"
which look for "jobs" and template across all the yaml files. Mostly
change "build" to "testbuild".

Introduce a job template per container, as we've got three
"variables", CONTAINER, BUILD_CONTAINER, and a job dependency.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    It is probably possible to share many of the templates with
    "build.yaml", by changing some of the templates and the way link between
    them.

 .gitlab-ci.yml                            |   2 +
 automation/gitlab-ci/test-containers.yaml | 239 ++++++++++++++++++++++
 2 files changed, 241 insertions(+)
 create mode 100644 automation/gitlab-ci/test-containers.yaml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c5d499b321..ed5383ab50 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,8 +2,10 @@ stages:
   - build
   - test
   - containers
+  - test-containers
 
 include:
   - 'automation/gitlab-ci/build.yaml'
   - 'automation/gitlab-ci/test.yaml'
   - 'automation/gitlab-ci/containers.yaml'
+  - 'automation/gitlab-ci/test-containers.yaml'
diff --git a/automation/gitlab-ci/test-containers.yaml b/automation/gitlab-ci/test-containers.yaml
new file mode 100644
index 0000000000..5dbf3902ff
--- /dev/null
+++ b/automation/gitlab-ci/test-containers.yaml
@@ -0,0 +1,239 @@
+.testbuild-tmpl: &testbuild
+  stage: test-containers
+  image: registry.gitlab.com/xen-project/xen/${CONTAINER}-test
+  script:
+    - ./automation/scripts/build 2>&1 | tee build.log
+  artifacts:
+    paths:
+      - binaries/
+      - xen-config
+      - '*.log'
+      - '*/*.log'
+    when: always
+  rules: !reference [.container-build-tmpl, rules]
+
+.gcc-tmpl:
+  variables: &gcc
+    CC: gcc
+    CXX: g++
+
+.clang-tmpl:
+  variables: &clang
+    CC: clang
+    CXX: clang++
+    clang: y
+
+.clang-8-tmpl:
+  variables: &clang-8
+    CC: clang-8
+    CXX: clang++-8
+    LD: ld.lld-8
+    clang: y
+
+.x86-64-testbuild-tmpl:
+  <<: *testbuild
+  variables:
+    XEN_TARGET_ARCH: x86_64
+  tags:
+    - x86_64
+
+.x86-64-testbuild:
+  extends: .x86-64-testbuild-tmpl
+  variables:
+    debug: n
+
+.x86-64-testbuild-debug:
+  extends: .x86-64-testbuild-tmpl
+  variables:
+    debug: y
+
+.x86-32-testbuild-tmpl:
+  <<: *testbuild
+  variables:
+    XEN_TARGET_ARCH: x86_32
+  tags:
+    - x86_32
+
+.x86-32-testbuild:
+  extends: .x86-32-testbuild-tmpl
+  variables:
+    debug: n
+
+.x86-32-testbuild-debug:
+  extends: .x86-32-testbuild-tmpl
+  variables:
+    debug: y
+
+.gcc-x86-64-testbuild:
+  extends: .x86-64-testbuild
+  variables:
+    <<: *gcc
+
+.gcc-x86-64-testbuild-debug:
+  extends: .x86-64-testbuild-debug
+  variables:
+    <<: *gcc
+
+.gcc-x86-32-testbuild:
+  extends: .x86-32-testbuild
+  variables:
+    <<: *gcc
+
+.gcc-x86-32-testbuild-debug:
+  extends: .x86-32-testbuild-debug
+  variables:
+    <<: *gcc
+
+.clang-x86-64-testbuild:
+  extends: .x86-64-testbuild
+  variables:
+    <<: *clang
+
+.clang-x86-64-testbuild-debug:
+  extends: .x86-64-testbuild-debug
+  variables:
+    <<: *clang
+
+.clang-8-x86-64-testbuild:
+  extends: .x86-64-testbuild
+  variables:
+    <<: *clang-8
+
+.clang-8-x86-64-testbuild-debug:
+  extends: .x86-64-testbuild-debug
+  variables:
+    <<: *clang-8
+
+.clang-x86-32-testbuild:
+  extends: .x86-32-testbuild
+  variables:
+    <<: *clang
+
+.clang-x86-32-testbuild-debug:
+  extends: .x86-32-testbuild-debug
+  variables:
+    <<: *clang
+
+.arm32-cross-testbuild-tmpl:
+  <<: *testbuild
+  variables:
+    XEN_TARGET_ARCH: arm32
+  tags:
+    - x86_64
+
+.arm32-cross-testbuild:
+  extends: .arm32-cross-testbuild-tmpl
+  variables:
+    debug: n
+
+.arm32-cross-testbuild-debug:
+  extends: .arm32-cross-testbuild-tmpl
+  variables:
+    debug: y
+
+.gcc-arm32-cross-testbuild:
+  extends: .arm32-cross-testbuild
+  variables:
+    <<: *gcc
+
+.gcc-arm32-cross-testbuild-debug:
+  extends: .arm32-cross-testbuild-debug
+  variables:
+    <<: *gcc
+
+.arm64-testbuild-tmpl:
+  <<: *testbuild
+  variables:
+    XEN_TARGET_ARCH: arm64
+  tags:
+    - arm64
+
+.arm64-testbuild:
+  extends: .arm64-testbuild-tmpl
+  variables:
+    debug: n
+
+.arm64-testbuild-debug:
+  extends: .arm64-testbuild-tmpl
+  variables:
+    debug: y
+
+.gcc-arm64-testbuild:
+  extends: .arm64-testbuild
+  variables:
+    <<: *gcc
+
+.gcc-arm64-testbuild-debug:
+  extends: .arm64-testbuild-debug
+  variables:
+    <<: *gcc
+
+.riscv64-cross-testbuild-tmpl:
+  <<: *testbuild
+  variables:
+    XEN_TARGET_ARCH: riscv64
+  tags:
+    - x86_64
+
+.riscv64-cross-testbuild:
+  extends: .riscv64-cross-testbuild-tmpl
+  variables:
+    debug: n
+
+.riscv64-cross-testbuild-debug:
+  extends: .riscv64-cross-testbuild-tmpl
+  variables:
+    debug: y
+
+.gcc-riscv64-cross-testbuild:
+  extends: .riscv64-cross-testbuild
+  variables:
+    <<: *gcc
+
+.gcc-riscv64-cross-testbuild-debug:
+  extends: .riscv64-cross-testbuild-debug
+  variables:
+    <<: *gcc
+
+# Jobs below this line
+
+.container-debian-unstable-testtmpl:
+  variables:
+    CONTAINER: debian:unstable
+    BUILD_CONTAINER: debian/unstable
+  needs:
+    - debian-unstable-container
+
+test-debian-unstable-clang:
+  extends:
+    - .clang-x86-64-testbuild
+    - .container-debian-unstable-testtmpl
+
+test-debian-unstable-clang-debug:
+  extends:
+    - .clang-x86-64-testbuild-debug
+    - .container-debian-unstable-testtmpl
+
+test-debian-unstable-gcc:
+  extends:
+    - .gcc-x86-64-testbuild
+    - .container-debian-unstable-testtmpl
+
+test-debian-unstable-gcc-debug:
+  extends:
+    - .gcc-x86-64-testbuild-debug
+    - .container-debian-unstable-testtmpl
+
+test-debian-unstable-gcc-randconfig:
+  extends:
+    - .gcc-x86-64-testbuild
+    - .container-debian-unstable-testtmpl
+  variables:
+    RANDCONFIG: y
+
+test-debian-unstable-gcc-debug-randconfig:
+  extends:
+    - .gcc-x86-64-testbuild-debug
+    - .container-debian-unstable-testtmpl
+  variables:
+    RANDCONFIG: y
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 17:53:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 17:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505301.778039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXn7q-0001Gi-W6; Thu, 02 Mar 2023 17:53:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505301.778039; Thu, 02 Mar 2023 17:53: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 1pXn7q-0001G5-SX; Thu, 02 Mar 2023 17:53:54 +0000
Received: by outflank-mailman (input) for mailman id 505301;
 Thu, 02 Mar 2023 17: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=BPDg=62=citrix.com=prvs=418368d91=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pXn7p-00086w-20
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 17:53: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 314e9849-b923-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 18:53: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: 314e9849-b923-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677779632;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=1AvREz+PvLkNyC39prxv/3cYddEHElji8V8zUhhi588=;
  b=MD72dHcmexJVikVb7mKOn6pTtstvF4si8gIEVGvE9jBb18uJbqols0wN
   GOVLJ9YgqMQH7D7y3i36cY0B5zieT2WH5qXRYYGKTizbaTG8U2DuZnjMJ
   K/6nt+rjeH9uwFy79SUHRxKlxQ/phx2SS8EgeIhdSU9u7NvryMRh0sTVe
   I=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 98603790
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:w0QN+66Dg6OQFwe/8ySrUAxRtCPHchMFZxGqfqrLsTDasY5as4F+v
 jNMX2/SOquIYjPxKt11a4m3oB4H6sSAnYQwTwZo+CE0Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasT5geF/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m0
 MVfAR0uSi+5p7ya4fWqZOpIpp4lFZy+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrnD5bz1frkPTvact6nLf5AdwzKLsIJzefdniqcB9zxbG/
 jmZrjyR7hcyFNqWxjCZ0yiWrMyRhC7CWo88Er2Ez6s/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c9FZCeE95SmGw7DY5AvfDW8BJhZac8AvvsIyQT0s1
 3eKksnvCDgpt6eaIU9x7Z/N82n0Y3JMazZfO2ldF1BtD8TfTJ8bqyuIZ/tANJGProPZOHbh7
 TOujHI4vuBG5SIU7JmT8VfCijOqg5HGSA8p+wnaNl6YAhNFiJ2NPNLxtwWChRpUBMPAFwTa4
 iBY8ySLxLpWZaxhghBhVwnk8FuBw/+eeAPRjld0d3XK32T8oiXzFWy8DdwXGauIDirmUWW0C
 KMwkVkLjHO2AJdNRf4fXm5JI552pZUM7Py8PhwuUvJAY4JqaCiM9zx0aEib0gjFyRZzzv9uZ
 MfDKJ/wXB727JiLKxLsGo8gPUIDnHhilQs/u7igp/hY7VZuTCHMEupUWLd/Rus48LmFsG3oH
 yV3bqO3J+FkeLSmOEH/qNdDRW3m2FBnXfgaXeQLLL/cSuencUl9Y8LsLUQJINc5xP8MzrmRr
 xlQmCZwkTLCuJEOEi3SAlgLVV8ldc8XQa4TVcD0AWuV5g==
IronPort-HdrOrdr: A9a23:44Nwq6wEYqckkHcAG5cxKrPwO71zdoMgy1knxilNoH1uA6+lfq
 WV954mPHDP+VQssQ4b6LW90cW7LE80lqQU3WByB9mftWDd0QOVxedZgbcKqAeAJ8SRzIFgPK
 5bAsxDNOE=
X-IronPort-AV: E=Sophos;i="5.98,228,1673931600"; 
   d="scan'208";a="98603790"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Doug Goldstein <cardoe@cardoe.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [RFC XEN PATCH 6/7] automation: Push container been tested
Date: Thu, 2 Mar 2023 17:53:31 +0000
Message-ID: <20230302175332.56052-7-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230302175332.56052-1-anthony.perard@citrix.com>
References: <20230302175332.56052-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Now, we can run a pipeline and set two variables to have a container
been rebuilt, tested, and pushed.

Variables:
    DO_REBUILD_CONTAINER = "ubuntu/xenial"
    PUSH_CONTAINER = 1

Or if PUSH_CONTAINER is set on a gitlab project "xen-project/xen", a
change on the dockerfile can result in a container been rebuild when
the change is pushed to staging.

The push-containers stage pull the container been tested and retag it
before pushing it. So both tagged container with and without "-test"
suffix are the same.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    Something that could be added is to check that the container that we are
    going to push is the same one that have been tested. Maybe by comparing
    "digest", or maybe by using a suffix that is only generated by the
    current pipeline.

 .gitlab-ci.yml                            |  2 ++
 automation/build/Makefile                 | 12 +++++++++
 automation/gitlab-ci/push-containers.yaml | 30 +++++++++++++++++++++++
 3 files changed, 44 insertions(+)
 create mode 100644 automation/gitlab-ci/push-containers.yaml

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ed5383ab50..0cd45ad001 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,9 +3,11 @@ stages:
   - test
   - containers
   - test-containers
+  - push-containers
 
 include:
   - 'automation/gitlab-ci/build.yaml'
   - 'automation/gitlab-ci/test.yaml'
   - 'automation/gitlab-ci/containers.yaml'
   - 'automation/gitlab-ci/test-containers.yaml'
+  - 'automation/gitlab-ci/push-containers.yaml'
diff --git a/automation/build/Makefile b/automation/build/Makefile
index 5515938878..14d1320b23 100644
--- a/automation/build/Makefile
+++ b/automation/build/Makefile
@@ -21,6 +21,18 @@ include yocto/yocto.inc
 		$(DOCKER_CMD) push $(REGISTRY)/$(@D):$(@F)$(BUILD_CONTAINER_SUFFIX); \
 	fi
 
+# rule used by GitLab CI jobs, to push a container that as just been built and
+# tested. It override the rule used to build a container.
+ifdef PUSH_TEST_CONTAINER_SUFFIX
+%: %.dockerfile
+	$(if $(BUILD_CONTAINER_SUFFIX),$(error BUILD_CONTAINER_SUFFIX should not be set anymore))
+	$(DOCKER_CMD) pull $(REGISTRY)/$(@D):$(@F)$(PUSH_TEST_CONTAINER_SUFFIX)
+	$(DOCKER_CMD) image tag $(REGISTRY)/$(@D):$(@F)$(PUSH_TEST_CONTAINER_SUFFIX) $(REGISTRY)/$(@D):$(@F)
+	@if [ ! -z $${PUSH+x} ]; then \
+		$(DOCKER_CMD) push $(REGISTRY)/$(@D):$(@F); \
+	fi
+endif
+
 .PHONY: all clean
 all: $(CONTAINERS)
 
diff --git a/automation/gitlab-ci/push-containers.yaml b/automation/gitlab-ci/push-containers.yaml
new file mode 100644
index 0000000000..d7e7e2b9e2
--- /dev/null
+++ b/automation/gitlab-ci/push-containers.yaml
@@ -0,0 +1,30 @@
+.push-container-build-tmpl:
+  stage: push-containers
+  image: docker:stable
+  tags:
+    - container-builder
+  rules:
+    - if: $PUSH_CONTAINER != "1"
+      when: never
+    - !reference [.container-build-tmpl, rules]
+  services:
+    - docker:dind
+  before_script:
+    - apk add make
+    - docker info
+    - docker login -u $CI_DEPLOY_USER -p $CI_DEPLOY_PASSWORD $CI_REGISTRY
+  script:
+    - make -C automation/build ${BUILD_CONTAINER} PUSH=1 PUSH_TEST_CONTAINER_SUFFIX=-test
+  after_script:
+    - docker logout
+
+push-ubuntu-xenial-container:
+  variables:
+    BUILD_CONTAINER: ubuntu/xenial
+  extends:
+    - .push-container-build-tmpl
+  needs:
+    - test-ubuntu-xenial-clang
+    - test-ubuntu-xenial-clang-debug
+    - test-ubuntu-xenial-gcc
+    - test-ubuntu-xenial-gcc-debug
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 17:53:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 17:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505302.778044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXn7r-0001LI-FK; Thu, 02 Mar 2023 17:53:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505302.778044; Thu, 02 Mar 2023 17: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 1pXn7r-0001KV-6n; Thu, 02 Mar 2023 17:53:55 +0000
Received: by outflank-mailman (input) for mailman id 505302;
 Thu, 02 Mar 2023 17:53: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=BPDg=62=citrix.com=prvs=418368d91=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pXn7p-00086v-JC
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 17:53:53 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30dc18d8-b923-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 18:53: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: 30dc18d8-b923-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677779631;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=41sghBoO8iiYFjw7w2/Kh+k/zWU5vL4WETIJdv/Xr+s=;
  b=Q/6Q8A6j9h2/xtFXQduEIXd13SZ1BFAQTHioesI4RblOOCjmr4Hc/DYh
   ElnwAuOhn1N3wCZoH057wjqVXhl1l94boKVJ//nY67b77cdxKhpXRZcJM
   tBCRUqd43u3G4GdCd4pPcOJz5jzgcTZa/7wRpTD7vJhwTSsCcvvmDjB6l
   w=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 101652784
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:iLOzna/X/pGLjus+D6a7DrUDmn6TJUtcMsCJ2f8bNWPcYEJGY0x3x
 2ZLDz3QPvjZN2Wgc9wkat6x9RgCv5OExtBmQQc4+Sk8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqgR5AS2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklI6
 vpbCigKUSvAlue/34qCZexqgtYseZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGOkcUUrsUIMtWcOOAj3/jczpeuRSNqLA++WT7xw1tyrn9dtHSf7RmQO0Mxh/G+
 ziZrziR7hcyNO7H0BymzXOXpczkww7GZt5OEKOf+as/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c9FZCeE95SmGw7DY5AvfDW8BJhZac8AvvsIyQT0s1
 3eKksnvCDgpt6eaIU9x7Z/N82n0Y3JMazZfO2ldF1BtD8TfTJ8biA3JDfR7F5GOzczwEC7I+
 h+PqiwsiOBG5SIU7JmT8VfCijOqg5HGSA8p+wnaNl6YAhNFiJ2NPNLxtwWChRpUBMPAFwTa4
 iBY8ySLxLpWZaxhghBhVwnk8FuBw/+eeAPRjld0d3XK32T8oiXzFWy8DdwXGauIDirmUWW0C
 KMwkVkLjHO2AJdNRf4fXm5JI552pZUM7Py8PhwuUvJAY4JqaCiM9zx0aEib0gjFyRZzzv9uZ
 MfDKJ/wXB727JiLKxLsGo8gPUIDnHhilQs/u7igp/hY7VZuTCHMEupUWLd/Rus48LmFsG3oH
 yV3bqO3J+FkeLSmOEH/qNdDRW3m2FBnXfgaXeQLLL/cSuencUl9Y8LsLUQJINc5xP8MzrmRr
 xlQmCZwkTLCuJEOEi3SAlgLVV8ldc8XQa4TVcD0AWuV5g==
IronPort-HdrOrdr: A9a23:+qKd+KEYYTsD4xFtpLqEPseALOsnbusQ8zAXPiFKOHhom6mj+q
 yTdZsguyMc5AxxZJhYo6HmBEDYewK7yXcX2/h1AV7BZmbbUQKTRekJ0WKF+V3d8kXFndK1vp
 0QEZSWZueAbmSTWa7BkXGF+8lJ+qj4zEi47d2utkuEU2lRGtpdBg1Ce3mm+hAffng9OXIgfK
 Dsm/auvFKbCAgqUvg=
X-IronPort-AV: E=Sophos;i="5.98,228,1673931600"; 
   d="scan'208";a="101652784"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Doug Goldstein <cardoe@cardoe.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [RFC XEN PATCH 7/7] automation: Add some more push containers jobs
Date: Thu, 2 Mar 2023 17:53:32 +0000
Message-ID: <20230302175332.56052-8-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230302175332.56052-1-anthony.perard@citrix.com>
References: <20230302175332.56052-1-anthony.perard@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    WARNING: This is an incomplete list of jobs needed to push.

 automation/gitlab-ci/push-containers.yaml | 49 +++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/automation/gitlab-ci/push-containers.yaml b/automation/gitlab-ci/push-containers.yaml
index d7e7e2b9e2..3785e29250 100644
--- a/automation/gitlab-ci/push-containers.yaml
+++ b/automation/gitlab-ci/push-containers.yaml
@@ -18,6 +18,33 @@
   after_script:
     - docker logout
 
+push-archlinux-current-container:
+  variables:
+    BUILD_CONTAINER: archlinux/current
+  extends:
+    - .push-container-build-tmpl
+  needs:
+    - test-archlinux-gcc
+    - test-archlinux-gcc-debug
+
+push-debian-stretch-32-container:
+  variables:
+    BUILD_CONTAINER: debian/stretch-i386
+  extends:
+    - .push-container-build-tmpl
+  needs:
+    - test-debian-stretch-32-clang-debug
+    - test-debian-stretch-32-gcc-debug
+
+push-debian-unstable-32-container:
+  variables:
+    BUILD_CONTAINER: debian/unstable-i386
+  extends:
+    - .push-container-build-tmpl
+  needs:
+    - test-debian-unstable-32-clang-debug
+    - test-debian-unstable-32-gcc-debug
+
 push-ubuntu-xenial-container:
   variables:
     BUILD_CONTAINER: ubuntu/xenial
@@ -28,3 +55,25 @@ push-ubuntu-xenial-container:
     - test-ubuntu-xenial-clang-debug
     - test-ubuntu-xenial-gcc
     - test-ubuntu-xenial-gcc-debug
+
+push-ubuntu-bionic-container:
+  variables:
+    BUILD_CONTAINER: ubuntu/bionic
+  extends:
+    - .push-container-build-tmpl
+  needs:
+    - test-ubuntu-bionic-clang
+    - test-ubuntu-bionic-clang-debug
+    - test-ubuntu-bionic-gcc
+    - test-ubuntu-bionic-gcc-debug
+
+push-ubuntu-focal-container:
+  variables:
+    BUILD_CONTAINER: ubuntu/focal
+  extends:
+    - .push-container-build-tmpl
+  needs:
+    - test-ubuntu-focal-gcc
+    - test-ubuntu-focal-gcc-debug
+    - test-ubuntu-focal-clang
+    - test-ubuntu-focal-clang-debug
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 18:05:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 18:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505342.778059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXnJ0-0005fn-P9; Thu, 02 Mar 2023 18:05:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505342.778059; Thu, 02 Mar 2023 18: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 1pXnJ0-0005fg-MR; Thu, 02 Mar 2023 18:05:26 +0000
Received: by outflank-mailman (input) for mailman id 505342;
 Thu, 02 Mar 2023 18:05: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=fuJ3=62=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1pXnIz-0005fX-Il
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 18:05:25 +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 cd59bc75-b924-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 19:05:24 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-496-AIj7fARBOjSNf1O77iVNPw-1; Thu, 02 Mar 2023 13:05:19 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E5315802D2F;
 Thu,  2 Mar 2023 18:05:18 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.46])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 5C865492C14;
 Thu,  2 Mar 2023 18:05: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: cd59bc75-b924-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677780322;
	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=qk1L8nuZFv/j90fcvdYsTtDGs9Int4rt+yuUv0I7X5s=;
	b=ZnFsiuPJf59ZAcccLa3LCSgokfyCBYIyFkPon8gKrJbIQv9KNbIKYojBfb4QndWXQQlWk7
	swubj8E9CbxeCR0fuHmrdMo8t2Q8jNpul1ZC8IxMDI+C9Jv5Cdf8mT51fQSaC6/xli42+1
	QV0GdGcKFs1GCfFyYktHhgeSJg9mRmM=
X-MC-Unique: AIj7fARBOjSNf1O77iVNPw-1
Date: Thu, 2 Mar 2023 18:05:13 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org, Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: Re: [PATCH v2 1/6] docs/about/deprecated: Deprecate the
 qemu-system-i386 binary
Message-ID: <ZADlWR/jmGsaPGh0@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
 <20230302163106.465559-2-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230302163106.465559-2-thuth@redhat.com>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9

On Thu, Mar 02, 2023 at 05:31:01PM +0100, Thomas Huth wrote:
> Hardly anybody really requires the i386 binary anymore, since the
> qemu-system-x86_64 binary is a proper superset. So let's deprecate
> the 32-bit variant now, so that we can finally stop wasting our time
> and CI minutes with this.

The first sentence isn't quite true wrt to KVM. Change slightly to:

Aside from not supporting KVM on 32-bit hosts, the qemu-system-x86_64
binary is a proper superset of the qemu-system-i386 binary. With the
32-bit host support being deprecated, it is now also possible to
deprecate the qemu-system-i386 binary.

> With regards to 32-bit KVM support in the x86 Linux kernel,
> the developers confirmed that they do not need a recent
> qemu-system-i386 binary here:
> 
>  https://lore.kernel.org/kvm/Y%2ffkTs5ajFy0hP1U@google.com/
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  docs/about/deprecated.rst | 12 ++++++++++++
>  1 file changed, 12 insertions(+)

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 Mar 02 18:06:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 18:06:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505346.778069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXnJe-00068P-2o; Thu, 02 Mar 2023 18:06:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505346.778069; Thu, 02 Mar 2023 18:06: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 1pXnJd-00068I-Va; Thu, 02 Mar 2023 18:06:05 +0000
Received: by outflank-mailman (input) for mailman id 505346;
 Thu, 02 Mar 2023 18:06: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=fuJ3=62=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1pXnJc-000686-Kg
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 18:06:04 +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 e20b0d5c-b924-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 19:05:59 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-570-cgKAbBlxMrmaZJ1R6OIDbw-1; Thu, 02 Mar 2023 13:05:54 -0500
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
 [10.11.54.4])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B7D1F3C10C70;
 Thu,  2 Mar 2023 18:05:53 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.46])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 7DD6C2026D4B;
 Thu,  2 Mar 2023 18:05: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: e20b0d5c-b924-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677780357;
	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=Uq28CY84X2a6rgRGcIFR8HUgJVL3s2wDxCarfoJ7rwk=;
	b=TRzWdhgVeEB97PJf5rHoKQDwn0Sfnd/oAno9/jk+GMwnyVIlgW8TnjZ4fSuuoWbBje2wnB
	fBKvhfh637oPsX8QdyjKG2W+gwSiDh9rx9Fzlw5oXstvo7TkbbBFBJW3m7K5Ln+6LHh4j1
	JqSjoH6piLYkSljPwfmiUG4fW9XSYa0=
X-MC-Unique: cgKAbBlxMrmaZJ1R6OIDbw-1
Date: Thu, 2 Mar 2023 18:05:48 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org, Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: Re: [PATCH v2 2/6] docs/about/deprecated: Deprecate 32-bit x86 hosts
Message-ID: <ZADlfILU11Akp5MT@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
 <20230302163106.465559-3-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230302163106.465559-3-thuth@redhat.com>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4

On Thu, Mar 02, 2023 at 05:31:02PM +0100, Thomas Huth wrote:
> Hardly anybody still uses 32-bit x86 hosts today, so we should start
> deprecating them to stop wasting our time and CI minutes here.
> For example, there are also still some unresolved problems with these:
> When emulating 64-bit binaries in user mode, TCG does not honor atomicity
> for 64-bit accesses, which is "perhaps worse than not working at all"
> (quoting Richard). Let's simply make it clear that people should use
> 64-bit x86 hosts nowadays and we do not intend to fix/maintain the old
> 32-bit stuff.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  docs/about/deprecated.rst | 12 ++++++++++++
>  1 file changed, 12 insertions(+)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

> 
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index 11700adac9..a30aa8dfdf 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -208,6 +208,18 @@ CI coverage support may bitrot away before the deprecation process
>  completes. The little endian variants of MIPS (both 32 and 64 bit) are
>  still a supported host architecture.
>  
> +32-bit x86 hosts (since 8.0)
> +''''''''''''''''''''''''''''
> +
> +Support for 32-bit x86 host deployments is increasingly uncommon in
> +mainstream OS distributions given the widespread availability of 64-bit
> +x86 hardware. The QEMU project no longer considers 32-bit x86 support
> +to be an effective use of its limited resources, and thus intends to
> +discontinue it. Since all recent x86 hardware from the past >10 years
> +is capable of the 64-bit x86 extensions, a corresponding 64-bit OS
> +should be used instead.
> +
> +
>  QEMU API (QAPI) events
>  ----------------------
>  
> -- 
> 2.31.1
> 

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 Mar 02 18:07:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 18:07:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505353.778080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXnKy-0006ks-E4; Thu, 02 Mar 2023 18:07:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505353.778080; Thu, 02 Mar 2023 18: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 1pXnKy-0006kl-9c; Thu, 02 Mar 2023 18:07:28 +0000
Received: by outflank-mailman (input) for mailman id 505353;
 Thu, 02 Mar 2023 18: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=fuJ3=62=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1pXnKx-0006kf-FW
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 18:07:27 +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 1599fa45-b925-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 19:07:25 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-662-HQifpbvcNp2xRQ326_T1bQ-1; Thu, 02 Mar 2023 13:07:20 -0500
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6B25C38012D5;
 Thu,  2 Mar 2023 18:07:19 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.46])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 60A0E440DF;
 Thu,  2 Mar 2023 18: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: 1599fa45-b925-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677780444;
	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=RIFIu9FzFlmMJ7rjilkD4RNn39gojKgiNaI+RvmuVps=;
	b=FLLCE6PKLnnRwR03rUMpxuGCl3sfMfxR4aXlUng7tKjiIvcIYVGsB2OorKHk+2ZdGwZVxN
	lbjhjInti/HpFWEIq8XcTL+HkWApqZeNvkoB0JBXuljFlJnbr/mtcJ9ZpyBhoMrNuQse6l
	9SNrP0fXvGhsmeardWfd8W4zxBZt6W8=
X-MC-Unique: HQifpbvcNp2xRQ326_T1bQ-1
Date: Thu, 2 Mar 2023 18:07:09 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org, Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: Re: [PATCH v2 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs
Message-ID: <ZADlzSMBnjUgyyu0@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
 <20230302163106.465559-4-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230302163106.465559-4-thuth@redhat.com>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5

On Thu, Mar 02, 2023 at 05:31:03PM +0100, Thomas Huth wrote:
> Hardly anybody still uses 32-bit x86 environments for running QEMU,
> so let's stop wasting our scarce CI minutes with these jobs.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  .gitlab-ci.d/crossbuilds.yml | 16 ----------------
>  1 file changed, 16 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

There's still the mingw 32-bit x86 build, but probably wolrth
keeping that until we actually stop 32-bit from a technical
POV, because Stefan still publishes the 32-bit windows
installers currently

Similarly  the dockerfile can stay in case someone wants to
reproduce a flaw locally

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index 101416080c..3ce51adf77 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -43,22 +43,6 @@ cross-arm64-user:
>    variables:
>      IMAGE: debian-arm64-cross
>  
> -cross-i386-system:
> -  extends: .cross_system_build_job
> -  needs:
> -    job: i386-fedora-cross-container
> -  variables:
> -    IMAGE: fedora-i386-cross
> -    MAKE_CHECK_ARGS: check-qtest
> -
> -cross-i386-user:
> -  extends: .cross_user_build_job
> -  needs:
> -    job: i386-fedora-cross-container
> -  variables:
> -    IMAGE: fedora-i386-cross
> -    MAKE_CHECK_ARGS: check
> -
>  cross-i386-tci:
>    extends: .cross_accel_build_job
>    timeout: 60m
> -- 
> 2.31.1
> 

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 Mar 02 18:08:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 18:08:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505357.778089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXnLU-0007Fe-Kt; Thu, 02 Mar 2023 18:08:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505357.778089; Thu, 02 Mar 2023 18: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 1pXnLU-0007FV-I7; Thu, 02 Mar 2023 18:08:00 +0000
Received: by outflank-mailman (input) for mailman id 505357;
 Thu, 02 Mar 2023 18:07: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=fuJ3=62=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1pXnLT-00073M-HD
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 18:07: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 298bb88c-b925-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 19:07:59 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-460-ueznbH63Oj-2dfli66aY8w-1; Thu, 02 Mar 2023 13:07:54 -0500
Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com
 [10.11.54.10])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id ECC3E3C10C66;
 Thu,  2 Mar 2023 18:07:53 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.46])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id C1F01492B01;
 Thu,  2 Mar 2023 18: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: 298bb88c-b925-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677780477;
	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=DnPTB81/Gt6pY7mNbCORydL/Gzv6g9K34G65htUwk+0=;
	b=Hv3qAp80708jbtyil/ZGWO3qZa6uZo3OZoMLWU219aG6z/hgcPRpBDB+IPZBw4K697rx2/
	NBIyo3i1usCpFInbZl3T+xwx7XezWBHDp7HArHEMx2HySnba3YGJQeGAELzNqaTGxoc3dO
	YO+8G/gY3Meqzo11eqAhKGZ8PEpxmMk=
X-MC-Unique: ueznbH63Oj-2dfli66aY8w-1
Date: Thu, 2 Mar 2023 18:07:48 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org, Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: Re: [PATCH v2 4/6] docs/about/deprecated: Deprecate the
 qemu-system-arm binary
Message-ID: <ZADl9O8Yq+vLVI9A@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
 <20230302163106.465559-5-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230302163106.465559-5-thuth@redhat.com>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10

On Thu, Mar 02, 2023 at 05:31:04PM +0100, Thomas Huth wrote:
> qemu-system-aarch64 is a proper superset of qemu-system-arm,
> and the latter was mainly still required for 32-bit KVM support.
> But this 32-bit KVM arm support has been dropped in the Linux
> kernel a couple of years ago already, so we don't really need
> qemu-system-arm anymore, thus deprecated it now.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  docs/about/deprecated.rst | 10 ++++++++++
>  1 file changed, 10 insertions(+)

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 Mar 02 18:09:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 18:09:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505364.778099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXnMr-0008BG-Vp; Thu, 02 Mar 2023 18:09:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505364.778099; Thu, 02 Mar 2023 18: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 1pXnMr-0008B9-Sm; Thu, 02 Mar 2023 18:09:25 +0000
Received: by outflank-mailman (input) for mailman id 505364;
 Thu, 02 Mar 2023 18:09: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=fuJ3=62=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1pXnMq-0008B1-D2
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 18:09:24 +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 5b4fac31-b925-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 19:09:22 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-320-oGMHrVdGOk-q1eVLl11_hw-1; Thu, 02 Mar 2023 13:09:17 -0500
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
 [10.11.54.4])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6FA1A877CAA;
 Thu,  2 Mar 2023 18:09:17 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.46])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 4C7E02026D4B;
 Thu,  2 Mar 2023 18:09:11 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b4fac31-b925-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677780561;
	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=HiVBqMnf1rJ1eG3Qv6m/ZxXVASAu56FD87PLiyS+zOU=;
	b=VcVs+QPid+TmI03PzQUuoWF8LHMIRaLPFi+I0sPYAfPwf2MSaF61Q0iNj/9+JRfxP5e52n
	7w7ui9dx6k3Ak3f/fBHxU/osqNmRBcNdhFHWVxPJq2Q6bHCjN8qKJNRcq2rGViVdBTdhWW
	KHnMvIglVdTha2o5xznWl9+lLpXrpMM=
X-MC-Unique: oGMHrVdGOk-q1eVLl11_hw-1
Date: Thu, 2 Mar 2023 18:09:03 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org, Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: Re: [PATCH v2 5/6] docs/about/deprecated: Deprecate 32-bit arm hosts
Message-ID: <ZADmPwStkmFltjo7@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
 <20230302163106.465559-6-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230302163106.465559-6-thuth@redhat.com>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4

On Thu, Mar 02, 2023 at 05:31:05PM +0100, Thomas Huth wrote:
> For running QEMU in system emulation mode, the user needs a rather
> strong host system, i.e. not only an embedded low-frequency controller.
> All recent beefy arm host machines should support 64-bit now, it's
> unlikely that anybody is still seriously using QEMU on a 32-bit arm
> CPU, so we deprecate the 32-bit arm hosts here to finally save use
> some time and precious CI minutes.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  docs/about/deprecated.rst | 9 +++++++++
>  1 file changed, 9 insertions(+)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>

> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index 21ce70b5c9..c7113a7510 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -229,6 +229,15 @@ discontinue it. Since all recent x86 hardware from the past >10 years
>  is capable of the 64-bit x86 extensions, a corresponding 64-bit OS
>  should be used instead.
>  
> +System emulation on 32-bit arm hosts (since 8.0)
> +''''''''''''''''''''''''''''''''''''''''''''''''
> +
> +Since QEMU needs a strong host machine for running full system emulation, and
> +all recent powerful arm hosts support 64-bit, the QEMU project deprecates the
> +support for running any system emulation on 32-bit arm hosts in general. Use
> +64-bit arm hosts for system emulation instead. (Note: "user" mode emulation
> +continuous to be supported on 32-bit arm hosts, too)

s/continuous/continues/

s/,too/, as well as command line tools like qemu-img, qemu-nbd, etc/

> +
>  
>  QEMU API (QAPI) events
>  ----------------------
> -- 
> 2.31.1
> 

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 Mar 02 18:10:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 18:10:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505369.778108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXnNf-000175-7Q; Thu, 02 Mar 2023 18:10:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505369.778108; Thu, 02 Mar 2023 18: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 1pXnNf-00016y-4X; Thu, 02 Mar 2023 18:10:15 +0000
Received: by outflank-mailman (input) for mailman id 505369;
 Thu, 02 Mar 2023 18:10:13 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fuJ3=62=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1pXnNd-00015y-7f
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 18:10:13 +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 7872b255-b925-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 19:10:11 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-438-1s8TYNS-Pt68aPSkZZ8vRQ-1; Thu, 02 Mar 2023 13:10:08 -0500
Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com
 [10.11.54.3])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5517C101A55E;
 Thu,  2 Mar 2023 18:10:08 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.46])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id B83421121315;
 Thu,  2 Mar 2023 18:10: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: 7872b255-b925-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677780610;
	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=ngKE3Va+D6TiTHVaZkVdc/7zS2c2sZqOpC+5wqr8Y4I=;
	b=Pa76C06hpCy8+LlqEHKWu1iLT1MpTXNh8tZ2G9kOUlHLbLW4jz/GLXdaf1ht98Wo8WzRqy
	aRiWIJBxgii7Iek28MyoHJYfxi8LR2yI/hAkt//nD4FogIvn23yIt+jyW+sY8sW9woA5TU
	IZAZUAWKnYXKFPIYAKtvK+sLc8FWkL0=
X-MC-Unique: 1s8TYNS-Pt68aPSkZZ8vRQ-1
Date: Thu, 2 Mar 2023 18:10:01 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org, Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: Re: [PATCH v2 6/6] gitlab-ci.d/crossbuilds: Drop the 32-bit arm
 system emulation jobs
Message-ID: <ZADmebAnfclbRoXI@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
 <20230302163106.465559-7-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230302163106.465559-7-thuth@redhat.com>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.3

On Thu, Mar 02, 2023 at 05:31:06PM +0100, Thomas Huth wrote:
> Hardly anybody still uses 32-bit arm environments for running QEMU,
> so let's stop wasting our scarce CI minutes with these jobs.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  .gitlab-ci.d/crossbuilds.yml | 14 --------------
>  1 file changed, 14 deletions(-)

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 Mar 02 18:58:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 18:58:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505381.778122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXo8F-0006ii-V9; Thu, 02 Mar 2023 18:58:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505381.778122; Thu, 02 Mar 2023 18: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 1pXo8F-0006ib-Ri; Thu, 02 Mar 2023 18:58:23 +0000
Received: by outflank-mailman (input) for mailman id 505381;
 Thu, 02 Mar 2023 18: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=aytp=62=citrix.com=prvs=418692924=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pXo8E-0006iF-Ji
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 18:58:22 +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 3055d2a5-b92c-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 19:58:18 +0100 (CET)
Received: from mail-bn8nam12lp2168.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Mar 2023 13:58:13 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SN4PR03MB6704.namprd03.prod.outlook.com (2603:10b6:806:1ec::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Thu, 2 Mar
 2023 18:58:11 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6134.030; Thu, 2 Mar 2023
 18: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: 3055d2a5-b92c-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677783498;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=zhg9qvCaYw5fSwemMgY4FTqVfz7rQg+fYSP/VY2hdHA=;
  b=P2fZuIVvZ2OvNuSPlSR5jig+WWnnOHj+bbIu5qhjxhp36jLPzX64c3zM
   68SNj4HWEZJ5mjOT1uQOSRvDtAmhc4pp0xMUv4IFWIw3OddOpkEKhma3v
   EC2MfmCBDf66+EbaFvMPfjV6uKqTLhPCSw99yg9hpH0ZfR8EbAnFBYFGl
   A=;
X-IronPort-RemoteIP: 104.47.55.168
X-IronPort-MID: 99234539
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:3XVRuav2iYAJ1AFOMBbp7un5LefnVONfMUV32f8akzHdYApBsoF/q
 tZmKT/VO67eYGTyfN8naN/g8ksE6p+AmNdrTFY++ChgQX8b+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASGzSFOZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwEBI8KTGIqdyM5+yyTNJK15x/MNfVM9ZK0p1g5Wmx4fcOZ7nmGv+Pz/kImTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osjf60boq9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOzprKU23QbCroAVIEMZX2qbueG2sQ2ZZ4l/b
 HVX5y8f/bdnoSRHSfG4BXVUukWsuRoRWMFREqs59RuKwarX5C6WA2EFSnhKb9lOnN87Q3km2
 0GEm/vtBCdzq/uFRHSF7LCWoDiufy8PIgcqZyUJUA8E6NnLu5wog1TESdMLOLWuktT/FDX0w
 jaLhCsznbMeiYgMzarT1V/GijSou5PAZhQ0+ALMX2SuqAh+YeaNbYui40nW9vZEIYOQSHGOu
 XEFn46V6+VmJZiJlTeRSeQXWr+z7vCOMSb0nlJkWZIm8lyF8Hmle4dS7DhgJVxBPcMNeDuva
 0jW0T69/7dWNXquKKVxM4S4Dp1wybC6TIq1EPfJctBJf559Mhed+z1jblKR2Garl1UwlaY4O
 tGQdsPE4WsmNJmLBQGeH481uYLHDAhnrY8PbfgXFyia7Ic=
IronPort-HdrOrdr: A9a23:pxxpOanZPvX2gTzcq74M3ztJDgTpDfLo3DAbv31ZSRFFG/Fw9/
 rCoB17726QtN91YhsdcL+7V5VoLUmzyXcX2/hyAV7BZmnbUQKTRekP0WKL+Vbd8kbFh41gPM
 lbEpSXCLfLfCJHZcSR2njELz73quP3jJxBho3lvghQpRkBUdAF0+/gYDzranGfQmN9dP0EPa
 vZ3OVrjRy6d08aa8yqb0N1JNQq97Xw5fTbiQdtPW9f1DWz
X-IronPort-AV: E=Sophos;i="5.98,228,1673931600"; 
   d="scan'208";a="99234539"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ckkloGwEDh2enSjSRyzpaDjAr/D6oNEOYC0Kj0L+URrdt74aaSuOOzZ5NVoOSebuenDr9kAGpwSf0q9p3lnO/s7vl10166z7vt3spSKfqAcNl4YQhBP6uF0NlwxvS0rkbIo7awmlc3rFVm/qudSd5UVZsvXwAN4o1HWIPlWwIqhPAR30ZEQ5IM+I72+mRDZdDt+os7x9NJl3VAkoZtO+2LRbOY4YpjHDmqNc0Y29sOfAhuzpMzBb+GdLqYEuK80/cDgE5571gehcVPO2xL5DWS4FKQANvO3Jk4JqClcAcSqN1R5NK58CYwf91u18UL1TPm3U2LpH3RQxDzJlhCIu6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zhg9qvCaYw5fSwemMgY4FTqVfz7rQg+fYSP/VY2hdHA=;
 b=HbZhzXtS1RZYWUgwGzKYj3KHeAKdxikmZ3HalVVN4gKGMT5YMwNkhzI4uFfSI1Tvgjb0JbsXYYSLXiM/x3mrjle6c3/P3c/9+kj7tHFlELja5px0q6itygELpWMJPc1tAFfaVDpPv4LVV4J9pNy+thTe8sI0eR4IFaHTIM9TjFvEXoIab8Td4b5HH/dY9+C64P8/TZAokNuhHOMzkrjdT6VxGzZkrdpWq0dwmqI1U0hEDcuNGf+4BPB9mWV2XSUHTEEjcO7N7PMl1EfzvB5aeg2+z5DLMoPgg1PjxjW07e8K/1aDoOc3Zxcg3bplxFFHMv914HUVh4XCd37OY2TBJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zhg9qvCaYw5fSwemMgY4FTqVfz7rQg+fYSP/VY2hdHA=;
 b=ZxzarVZt3CQEjHo77Fbw/zu7YOpKsEeV9B7ZNarsf1cqyL68ehtFe174CU0Yus2dIC7qR9DkdMhVXMAyNb7uKajNxTWQPmXs5X3SQDjDolXrCCHXDvjXjA7VX0kT7vOIKbsQUlqN/OILJy+5Hqb/LFiwAvkZ2Mwgi9LUJddkxgg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <24941ed0-56c6-167b-b101-ad1e1c06d907@citrix.com>
Date: Thu, 2 Mar 2023 18:58:05 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 1/3] xen/riscv: read/save hart_id and dtb_base passed
 by bootloader
Content-Language: en-GB
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
 <3edbb40e86e480b2b71d596ff61c05336004b14c.1677762812.git.oleksii.kurochko@gmail.com>
 <881fd332-91c1-fea2-d1a2-3a5444a6f272@citrix.com>
 <f0d1e5b78482639a25f1ef0cf878309344383e7e.camel@gmail.com>
In-Reply-To: <f0d1e5b78482639a25f1ef0cf878309344383e7e.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0661.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:316::15) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SN4PR03MB6704:EE_
X-MS-Office365-Filtering-Correlation-Id: e91fb276-c080-4df3-320c-08db1b50118c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zlFKyyonFybStrrG4GP8smI98SJ7rOkQXcfXwmCPT9rhhLE/TvHIk0DCqBcfCMTPNhMQcNzNaFVa9sAqFQFhy8yrg6E60MEpEeIdEYGV79/+mDyish0ykYhO1zRzfaCYl5PkvqoPpamw33mMKSKU05p4gIvnyVm2JNIhio5IeYVBgbe5fms7VpDgWrp/5azoi5JTbVJHkgYWwe6D7hWLYaQQ+I7PTdBGRbTUbzjTfExddIBBYY26quMdCDbcRUKTkmxZZ9nIbbVZGv0gNr5LYZB+FZPUyEjCgndVGQw36KB35xA70B3uwU6JIzzon/kGkE61jou1qMt0qJsAJWOLpkt7lO+gYZsBfR2rmVW/BbZRrrMW5a1lXRHw+2qkMLo8ZltgN5R1b808cSNP4PJSXn5V2jqMhhRgMPktSSZtBiAOfRT4jGsqqNMGFiB3XlEqr/3lilCN804D1yovcpt366J9NRUt6T3hwscrBb5M3Jp1VUV/l2Lywrdtbx1lzLdRQJcqZh1uSF75ULRH16/hgN3xhYBPJ47VfFZfzJAlA7Mt5BfOF/VJU0/ImwWXs6iIOsS1gGxmN5Px9pKFKZsBLVQ0q5e11pSEL8iokEuyQbKCeck7YEqm1sfyHIfkdTwyxj3BSiik43R+Xsttvy2tuEDF6WfPv+ZRU1BN7S3NmVz7rTkklB5XbLPeche4Cpy1H0Ym6pqaVM0lm+GPzb58lsUwopfdsGY3eX+912/gFuM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(39860400002)(376002)(396003)(346002)(136003)(451199018)(8936002)(186003)(5660300002)(2616005)(53546011)(26005)(6512007)(6506007)(41300700001)(6666004)(31696002)(86362001)(2906002)(4326008)(82960400001)(6486002)(66946007)(8676002)(66476007)(966005)(66556008)(31686004)(316002)(36756003)(38100700002)(54906003)(478600001)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UG9MRHJjdTNETjhiZFo0eXZLZlA1VDhBbEIvRkcyZXJ0blhrNDBCMncydHJn?=
 =?utf-8?B?SnZhNk02VkF4a09LQXZwZFVDRVNsbkR1V3h1VGNLcGJXbXRTalkweHlMeWxL?=
 =?utf-8?B?cHJ6SnNTYllqcnFPZmdrRGQ3RTg0bVp5T0hsMElhU0F2NGpJbHJXSE9kZzk3?=
 =?utf-8?B?WjhLZCtUZUpCWEdxZWpNL0xSc0tmeHR2VEN3Qm4yVVcrTFI0RUV3Y1pwMzdJ?=
 =?utf-8?B?a09TWEpXMnVyTjhwc1h5QWpDZzFUZlhJK09DR0ZPa0wxYnBmNlJ4MUVLVytJ?=
 =?utf-8?B?NkpvWndFelFjVjg5OTJjYk5GZjdlM0djcVhlcENCUDhNaE9VYTFjcnN6ZDBB?=
 =?utf-8?B?UTBiZEVoMGxIQktiWksvWEJhRWRRZmxiSmViM1Q4K2FOakE3SHFtWmpHVW1W?=
 =?utf-8?B?aUcyeS9lSnd4RzAvUmloalg1TEtyZHllSmxWRTU0aFYvbGFrRUQwNmQ5emt4?=
 =?utf-8?B?UHo4OTJ3ZCs1bXNaanFkZTNCdlhOeG9yK25jclBLZUNacGI1OWx1M3VZRUlD?=
 =?utf-8?B?cXlSdlNHd1dQS2ZvOElFaHBFZUZhSXVsUHFpMEN3d2V3SDJUMWU3dGxDWUxu?=
 =?utf-8?B?LzhGeEV0NTBnZW5lRVpndjZhSnNWVTBQMG5CWDdJUllOVU9KWHdBaGtDeGZv?=
 =?utf-8?B?dy9oc0xVd2pSUWtzamVZUFVlVk9vbm1iNm1kcmNtc1dyUDJoSS9aR0ROODc1?=
 =?utf-8?B?V2ZwTS96ZUZxM3V3R0IrMU0vTldhbUFHYWRUdzRTUFZCTGxvLzB5LzFIMFNo?=
 =?utf-8?B?V2hTd3J5OU9yMlZGOFNyZ3hzS0JWQy9YbEpkdzYrdlhpRlIzWXFoM2Nja0JC?=
 =?utf-8?B?S2xHdGJHSWJLWVF3RzVPSWdTaXZRaG1XZXM0bEdlVCtabGlxd29NdmhZUGxz?=
 =?utf-8?B?a1NKOVF3LzVNTk9ZVDNNVEFsQVRVMkVWcU9ZZjI2dzA2SWVCakNwWFhwYi9k?=
 =?utf-8?B?cDhnQ2cyaGZPVWh3KzBhQ3pXWTJSRStxbHdFeGJYa2VjaDJydFM2S245Yy9H?=
 =?utf-8?B?WmcwdXhRYjhTSU10SktGUFM0cHZpNklNWG5XbUlEc1FPYXpvbkFEVmVBWGpV?=
 =?utf-8?B?Zm5wNlA2YTBiTnpzVFRSNkZvNTZNdXozK2YxWERHSEtyWUgrN25zNW5tWnhI?=
 =?utf-8?B?RXU0YTlPaGFJajVJcDFrUndYZlZPaSsyVGM2a2k4OFMrN01sWGF2RTEzZ0Ji?=
 =?utf-8?B?U3lBN3llUUhITmtNU1hkL1pHQUVGWWRWanNvYVZXTEVTc1RnRXhGdEZBQlA2?=
 =?utf-8?B?MW8vWWFsWlBWK0JwcTlpY0wxVTFmMFJEd2U0akNvbk1weG5BQXd6bG5zYzZI?=
 =?utf-8?B?TDJXMDhGTy9kZi9WM01JU1ZkdlVVd0pDQmlmREIzc0NDcWw3VGtRRWdqRUx0?=
 =?utf-8?B?VnRVSGpuS3N6Sk9uSFo0SDJQeFI5R1NVTFdScENwR0wwK3B5TmU5c2RTUTFy?=
 =?utf-8?B?ZVhRcGtIT0FxdWZTaVcveUMybEp6OGlqbnNYV01RbWxoYlh5ZjZseUZhQzZM?=
 =?utf-8?B?WmZ0MjhtU081aWJWeEpYT2J0b2RYa1JVY2p2eVFFUkJyWHovL3luU3hERENz?=
 =?utf-8?B?U3ZKVTgyMmJobjhSbVRWbTBRV0hNV2ZmQVQyQmgzdTQ3OGpqcmIvUG9NT3JX?=
 =?utf-8?B?c1doN2orS3JyYmJmSzZ6KzRZNWtvU0NQUEF1c3BrcHBQYUpiSEwzNnpKdDJM?=
 =?utf-8?B?dWUvWGVmSE5qaHNKZ0JzZXlZR25pNnB6Nll6RFdFVDFIY2pFQ3dQZ0FSSzAv?=
 =?utf-8?B?QVZ6YkYwOWR0SWIyc2N3Tk9nZEpBeEx1OE5wWE16YnNaVW1OYUNGQktjT1VG?=
 =?utf-8?B?T295dzM0OEIyK29LcHJraEROMlBvVFl1OWNlVkQvb0c0QU9GZmVnSExKVFVi?=
 =?utf-8?B?YnA5UnVRcnY0b3cxVmR3dzVZSUhxOTRieWl6aHlVakJaZHpkZUM5TTByTFlz?=
 =?utf-8?B?NHZmSU5WSWIrbXFvcHFWUGRmL2dYaUovb0duTTUrNE51THkvRTU1U2dIT2gv?=
 =?utf-8?B?WE5SZkJRUEg1cVUxbHJQTGtRNHovZXdSUU04ckg4TnN3WFZoOE14TmdTTUwz?=
 =?utf-8?B?UUR3alVzbFg2dE93Q0FRaTNZdFp4S2hxY2pYYmw0dzRqalhZSGpET3dzK2dl?=
 =?utf-8?B?WVRvQ3RVOU5CME1xVXJvNmdYUGlYc0RaUlN3bVlCZ1NCczY3TkFBRDlwR3Yr?=
 =?utf-8?B?Rnc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	E7c3c00LhmgfZenaUADQRr1VYCH+5iJVh7I60pjT0Z4+1r9c1L23+VesFvL4EdK+D5fHiHVG/MoqjZlYMZxmvB14w9ARbhoULWq7W8prvk7pE2WrLfEiohvSo57dWW2k1UxBMdO4bYhSrAgC63R8dSYI+BJ9YNJ6i8dRBJVxGCrsavbewYxn41KDnKpthnBqM6MmSKNdv+IB5IWPH6DChECQyOCj8fc63VbtJPmvW7kMW1n1+OBJoA0ULaRqRwGDotPTBwbXlbzbqiT+YuLkpgxKvVkDLQ9Pmutys+8W/SH/wVMOt8grkfjSWhst7CAzmspzOfBCRY/z1lA77nS6ugLQqpPpdck6OUfvbrn0q9/2A4+tqU9BIBC0dzx/zsRQ93wliSy3uQpEXtS582MzBiER7U24M2RckTVqJB6GUxqxVgoxADaIMnQiCI3c42VtiNpEspbkS4V2pglruxj3P+xJBbZs69uZLUz1Mw06RJIb4ABDLwfbBWA/LNryMJGhXiFs8jaT284ogsMkcDdCgYvPA3SUShDMnJpaqBb9DOuWnl27Gr8dfRL3v8+LDJkxJAHyZJF33Fks6T/g5xGkDEYJ5FBaP8wqOMlv6psv+X707ii+5vi2LU7RXGQwM5sNdG2qaSn+RJyw+6ajnefCJuNMoSE9bIwUGN6bZvhjiGmbl/0l/h7dRlbibh8YanhXF96plGQfca+JxykVlwLGKNMp7ahdmr0jsGdBmQeL4Zbkud5E8em6Hdp2TmkTVr8DfpHK2TadEeLsIcJOAqInDHAKQUipO0zOgaT8jR4diD4/DR9Aqq7isq3Y6BFLjSOsapeCib1Sz65kfaj4lcHQljjNVtgNOvxViJyaDafQUV6bCGJgcybMiZlki98FjU8cXjkggxx2GLmGsLBfJtqd/pKEH4cebzaR9jbVa5CfnfU=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e91fb276-c080-4df3-320c-08db1b50118c
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 18:58:11.3322
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PWp34iSszkhS1lvHDoLUGBsOZMGJOLyQ24YR8gsyivLkpun7d41G/i4NA5dHc8BSqxmzSTEfC+I8oa+R5/FpbeVw2YKzAHs3lJu9LsdpjKw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR03MB6704

On 02/03/2023 2:53 pm, Oleksii wrote:
> On Thu, 2023-03-02 at 14:02 +0000, Andrew Cooper wrote:
>> On 02/03/2023 1:23 pm, Oleksii Kurochko wrote:
>>> +
>>> +        /*
>>> +         * DTB base is passed by a bootloader
>>> +         */
>>> +_dtb_base:
>>> +        RISCV_PTR 0x0
>>> diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
>>> index 1c87899e8e..d9723fe1c0 100644
>>> --- a/xen/arch/riscv/setup.c
>>> +++ b/xen/arch/riscv/setup.c
>>> @@ -7,7 +7,8 @@
>>>  unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
>>>      __aligned(STACK_SIZE);
>>>  
>>> -void __init noreturn start_xen(void)
>>> +void __init noreturn start_xen(unsigned long bootcpu_id,
>>> +                               unsigned long dtb_base)
>> To be clear, this change should be this hunk exactly as it is, and a
>> comment immediately ahead of ENTRY(start) describing the entry ABI.
>>
>> There is no need currently to change any of the asm code.
> I think that I'll use s2 and s3 to save bootcpu_id.
>
> But I am unsure I understand why the asm code shouldn't be changed.

Because nothing in the asm code (right now) touches any of the a registers.

Therefore the parameters that OpenSBI prepared for start() (i.e. a0 and
a1 here) are still correct for start_xen().

If, and only if, we need to modify a* for other reasons in start() do we
need to preserve their values somehow.

> If I understand you correctly I can write in a comment ahead of
> ENTRY(start) that a0, and a1 are reserved for hart_id and dtb_base
> which are passed from a bootloader but it will work only if start_xen
> will be only C function called from head.S.

Not quite.  You want a comment explaining what the OpenSBI -> start()
ABI is.  So people know what a0/etc is at ENTRY(start).

Here is an example from a different project:
https://github.com/TrenchBoot/secure-kernel-loader/blob/master/head.S#L52-L68


There is no need to do unnecessary work (i.e. preserving them right
now), until you find a reason to need to spill them.  Right now, there's
not need, and this isn't obviously going to change in the short term.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 20:35:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 20:35:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505389.778138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXpdm-0002ea-Ur; Thu, 02 Mar 2023 20:35:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505389.778138; Thu, 02 Mar 2023 20: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 1pXpdm-0002eT-RX; Thu, 02 Mar 2023 20:35:02 +0000
Received: by outflank-mailman (input) for mailman id 505389;
 Thu, 02 Mar 2023 20:35: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=aytp=62=citrix.com=prvs=418692924=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pXpdl-0002eN-VP
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 20:35:02 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1fee3c7-b939-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 21:34:58 +0100 (CET)
Received: from mail-dm6nam04lp2043.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.43])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 02 Mar 2023 15:34:45 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH7PR03MB6972.namprd03.prod.outlook.com (2603:10b6:510:12f::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17; Thu, 2 Mar
 2023 20:34:42 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6134.030; Thu, 2 Mar 2023
 20:34:42 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1fee3c7-b939-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677789298;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Mc+Ns7PuJmyiTGoyBovoAL9fr06bXGaaojtIK+OMI7g=;
  b=JuoJgbj339g7CQbVswES9E7HWJ9CtUnIGcz/ZpP2qgnsk4FfX4OC6I1T
   /sGM0aaFHN9VabZ25CncapUmBeNZooarpwsvsJKRGCDQgB6aIlIhLk4HK
   fLQpgTBOBdN0n7E9/pNQaPLnjRq03oZPfRUdjN9OCNy/cHVPIkUaVbvN9
   Y=;
X-IronPort-RemoteIP: 104.47.73.43
X-IronPort-MID: 101671764
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:fvaXH6DTVZqpTxVW/5ziw5YqxClBgxIJ4kV8jS/XYbTApG8n1zVRy
 TMbDzyEPP7fNmSjLd10bonk/BwDusPUy4JgQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhA5ARlDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwy8NaG0IR7
 Mckd3NVdxqSg73vkKCAc7w57igjBJGD0II3nFhFlW2cIdN4BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTK/uxruAA/zyQouFTpGPPTdsaHWoN+mUGAq
 3id12/4HgsbJJqUzj/tHneE37eWw3yiB9xOfFG+3t8wr1mv2EMaNDEXaHS7+LqdiXCCeusKf
 iT4/QJr98De7neDSd3wXAa5oTiHowQbUNpTFMU17QiMzuzf5APxLmoOQyNFadcmnNQrXjFs3
 ViM9/vyHiBmurCRTXOb95+XoCm0NCxTKnUNDQcLTAID58ToqakpjwzIVddlG+i+ididMTv3y
 TqboTM+g7gWhMgj2KCy/FSBiDWpzrDASg8u+gzWRCSr9Ap/b4++T5Ok4h7Q6vMoBI2eSF+Gv
 nQNhcmFxO8LBJCJ0ieKRY0lDLyvovqILjDYqVpuBIU6sSSg/Wa5eoJd6y04I11mWvvoYhfsa
 U7X/A9UuplaOSP2abctO97qTcM30aLnCNLpEOjOacZDaYRwcwnB+zxyYUmX3Cbml01EfbwDB
 Kp3uP2EVR4yYZmLBhLvLwvB+dfHHhwD+F4=
IronPort-HdrOrdr: A9a23:I/sMXKNoY94v+sBcTgWjsMiBIKoaSvp037BK7S1MoH1uA6mlfq
 WV9sjzuiWatN98Yh8dcLO7Scu9qBHnlaKdiLN5VduftWHd01dAR7sSjrcKrQeAJ8X/nNQtr5
 uJccJFeaDN5Y4Rt7eH3OG6eexQv+Vu6MqT9IPjJ+8Gd3ATV0lnhT0JbTqzIwlNayRtI4E2L5
 aY7tovnUvaRZxGBv7LYEXsRoL41qT2qK4=
X-IronPort-AV: E=Sophos;i="5.98,228,1673931600"; 
   d="scan'208";a="101671764"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=asM/wfElQ7Sby99vuItBFmwpxa5WDU+eNvcJfHCh4lH0QTL5KF9PSnQSDXhtFxEmXc9ZnI0EtHH5PrQYDdB9PZy0ncCcat3DCodSEBVNg83jMJlrI3I5pgbKrBcYG764isIGdWBpGWII32asTcEgGxFhtzjU34s/ofBpg+CN8sx37I2mNn+T9iEvbbMWQ4v3BITe2vbKsks2KRW7G8anhKq0CXYLPKAnsM/YoQ/4ODFAQAOC8Vtgydk4vcaRgYtBjsm0lPj8JA8ZYf0rygdxDrxIECvdXDPo54dLZIspPmk04JqjqM8cGwiz9STf+tKDuZQDLRswhVFxMxGxiW9fIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kQVR/gTP1cWhqzu6hztWnHZMNSx1NWYJ3DiH5sCIhP4=;
 b=BSZEyMrGQ+CvHVNhkHzknqAniVbFii/QM+Jt3LLvy8ooHu51xrLZs84sG+hcYiO901cOeaVvEbjjFF7XJIy+szvOwnjms/IW/zgDtN1x4+GnJjXiqkL+/qJ24AwhevfeyjnXh0i95WxrwA/XcUYIllpyOItOA+vNmcr/mD5AJ1OA+9E6VwI/nI+PhA5FO03CA6e1vMouYnfWGUVs/emq7yt+wOfWkXmZ7iarPMy6eicsPj4k8hof+NjIRB1npCBgXnsb3X5hSvo+hM4EonxT6Mo9Cv2fOgBz1+8SpZrXfaw7632dD19QqDdYGZQyZbOBi8tErEvdeK5+tOk33Rq5wg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kQVR/gTP1cWhqzu6hztWnHZMNSx1NWYJ3DiH5sCIhP4=;
 b=NgvaW1/WM8ga1jVYmY67rU0ohv33GkE5OOTyRNsYyUxLKRGgIoJhEF8/Laje8PaLZBoYNj1TTPFPZGEYIJ0YRg82euL0Tq6Npu3MAqvClAeyAJ4pdlhJvroK6adRflX8mlGaS4WRctsftNu8Uz1XJiPOsU81xJjezE/6mDHqMI8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <e9203c51-355a-6362-dbf3-8e8d17d4e7b5@citrix.com>
Date: Thu, 2 Mar 2023 20:34:35 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 2/3] xen/riscv: initialize .bss section
Content-Language: en-GB
To: Oleksii <oleksii.kurochko@gmail.com>, Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
 <495bd1d7fc2becdd48bd00253c079971e2231e99.1677762812.git.oleksii.kurochko@gmail.com>
 <270118d9-0a7c-82c5-aaa8-437644017af4@suse.com>
 <454a6452b2201b815979e7ca730949f7bb5fe4ef.camel@gmail.com>
In-Reply-To: <454a6452b2201b815979e7ca730949f7bb5fe4ef.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0503.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:13b::10) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH7PR03MB6972:EE_
X-MS-Office365-Filtering-Correlation-Id: 2e6e50b6-7500-4434-051a-08db1b5d8cf5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	D5i792jGUxNjILH1T/PmhTXD4MU6j6KhKV1dldpaPb1jlwNlDc9cfaMObD9+ILrBc7XbRuamIqK43xbGEkj5joDIDAu5cWP3pVcQm0wCCjFGwCxRfvhxmRIQTv0GP4/vzSxgE6PfzPuhZnojbN+oE9qzyqZu6epFngzPB6tL1sejiKXA7qxORUQommNcvlxlVQjaFARPCHB+/m2CS9RRnE0+SE6oI8yJVqBUkriec0dU9Wv/9+ObQ06VHGXHNuzoH8MOcnEMCCk7tu21wI/y6KSz3/b79x/JDKbw2qqh1r0SHt0mE1W3eHapqyRnAZklJ7tiT45sEThZ8EQ1p78eEB4ECir7/Aj1LX2mC+kipMUhdbLYsTMCQ41QvfTpIP3owfWfEl4IKgDThLbxcZZTsj7Za4QejZHoSekfDLx7osxGtVQd0YKNFxAFmbPBgman9qOxRpbDQv6TUH5xdh9SYcrkRC83QBKUM0SgtU092kK6rQN7vhlOntkaUvsBZzsLpNF7Y1nMqndTKmCrREb/jJoVx8km8zbMGiE1CmZL3a+BFfXLi89F8U+w8oVuBq9AJSLnkxy3yj5BJ/hk1iRDdIN2gfAVM4IT8ue5RmTKO/DdcqJ2gYkZZgO12UoOVxQ0x6hw9ZiaRNpCZfq2H2L1wyXj485+ukuex4SNfPxy25/yN5vsRMvY/7il4fNpE508VUerO4s9cex16vUM0Xvmj8N8QQPk1SDjNgAVjb2A8/2RhP7IfQgcqshPP7j6dqno3pKYgdivPdMv8RNChVjaug==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(136003)(396003)(39860400002)(366004)(346002)(451199018)(36756003)(31686004)(478600001)(186003)(5660300002)(38100700002)(6506007)(6512007)(53546011)(83380400001)(6486002)(8936002)(110136005)(26005)(2906002)(54906003)(86362001)(41300700001)(316002)(31696002)(66556008)(2616005)(66476007)(8676002)(82960400001)(4326008)(66946007)(6666004)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L1E2Y1lsOW55bnI0bWw3ejlmcVg4aWozazRZbHRZWTF4Tm5WQmVORXV0UkVV?=
 =?utf-8?B?aUMzdnMyR2lPWFBzL3dUZnNHNG9XWmxyam9LTFByRzJNaHdoc1R1TVQ5Qm9j?=
 =?utf-8?B?eTArTDlER2pOM3ErUGpwcCtVcTl5cWt0NVJOR0hXU2EzNDdqZkplSUlMeGRJ?=
 =?utf-8?B?dXVHa3BiNWxTQjVEbFBHeDZtTmZ1OWJCR1QvLzdNUmJIVW5NaXIvaUZpQ1lT?=
 =?utf-8?B?ejZuVnhOREZSbHBiK2xMVnNMRVlzVll0KytIQndGcjVOM2tRQkkzZzFtak5M?=
 =?utf-8?B?UkdXWHN0SlczMzUxa3h5MTJrMCs2Y09QK2JMZUZOcFh6eGk5emJrbjBrb0FP?=
 =?utf-8?B?Q3VmbUxMaHdaMFd5cEJ0VUpqSmdpaDBndDB4aXArNERjbHpoMzNIY1NqLzMw?=
 =?utf-8?B?NzJ2R2FkSWRSOFV1aU1pTk5ENDdMbU1idkdDQ0JoTitVL1A4WlpQbHdTSkVG?=
 =?utf-8?B?M0hVNEtRWElTVzl1WFpSVEJIc3RmWndjTFdNU0taZ2I3elZRVHk4ZG9oT0xm?=
 =?utf-8?B?UStNT09KTUI4MUwvU3Fra3FYc24xVDlISHdMUWwxRXozMXN4a0p1UDRRa0pM?=
 =?utf-8?B?dUVHZFNiNEhTT3dVY2xhcWNTL3VmZVdJbVhCZmVGeklTNmM3MkJXcmlXQmtC?=
 =?utf-8?B?R3UzbFZra0VPUVBFejNZbHVsSCtvSUJ6b3ZMdSt3YnEvQ2Z1dzYzazJWbEdH?=
 =?utf-8?B?TjNHUUprdVFEaFBlaHdrMDd1SVZuWjJoNjBPd2JUZzcwZEQ2OVJlckNuUTBE?=
 =?utf-8?B?dEdUd3dkQllmV1BzenhhbE4xZjZnNXZ5cC9xdlB0YThaSkdGazdXclFUM2w1?=
 =?utf-8?B?NWt1ZzdMRmVMYnpxSlh4aWwxT2V6WDFBNHZBOHZ4NUo2RlkrNzROSjhMRVRr?=
 =?utf-8?B?T0hlWFdkcVU1b1p3dUQrblNoZXlSRHUxbzVmbWVLYUFrRjFHekIwaGNGcGtQ?=
 =?utf-8?B?NW1NTWN1K3hwUnkvbFI5dlhobXRmeFdCTVFDcHc4U254aDNCcFQ5dXNIT0xS?=
 =?utf-8?B?WXo2Vjhsd243aENmOXBqb2pzQWdBTXhpVkhFNzZ1Qlk4UDRyKzFmVWthdjJj?=
 =?utf-8?B?ZkhFRVdibFMwUDBDK3J3UDlzSFFiZjhYOFNPUTFXVmE3WXBrcnJzNGQyLzdD?=
 =?utf-8?B?MVg4SlMwZlFxQlZtRjRBQm1rL2RPRktTcXNxd1ZpQk4ybyt5alFxa3Nsc2dB?=
 =?utf-8?B?eEkxNzVpWDFUNUl0RzA0QzlKcnlWVFpoME1NWVhlZ1M1cUwyVVBNZE13bGFj?=
 =?utf-8?B?TlIxRWkvV0ovZzdhcWVDNzYzRnNtc3pOWkpoNFN0OHdYYm9TMStsSVg1UDNh?=
 =?utf-8?B?QUtpWTNJdllJWWhxRnRYL045cTJZOE1RcmYrVHlVV2dMeUY5d1RzcXlQbHpT?=
 =?utf-8?B?aG9YQWNmTVN2V2pHYmpZRUZBQmRlalJYZ1lKVkF2RXdNekQrWFJtT2JtMlBR?=
 =?utf-8?B?bWRPZ1F0L0lzM1FXTldaTFNJNVdLUkQxT2hXUktJcFJsbVNCOVlJdzBxcmhn?=
 =?utf-8?B?WDdLZk16ekIwMUZwOGNzTWMzcUlrdWVkYzhUbHJaNTYxN1RvVE94M0V3U2VV?=
 =?utf-8?B?clJCdnBYSkJoUExuM2NPRG02aFZqazljWUVQc1RoUVI5MzhkZ0hCOWE1NmIx?=
 =?utf-8?B?RWxxUkdQMGVqd0xObmV6NW05cU41cjF3Z3d2V0E5VXcrUjFaK2RTS0orQm1O?=
 =?utf-8?B?dWpaTnVMdnVZQWhuVmQ0bFdDODV6K0gwTWMvM0NtbENEOWdqdXNKZlRZeUhI?=
 =?utf-8?B?dk53S2sxakNNdmJDRkVNcmk0eFZlMmpLbFlCZ0ZyRzNUYWFVOUZCWFQyZ01t?=
 =?utf-8?B?VDVyNDR5R25ibmM2SVVMOG1vczhET0kyQWp5RVdEbkloMTM1U2VPaDJHbDJD?=
 =?utf-8?B?eGhCVWxmeVEvVGc3SmZIYnFxQWt6OTAzQmhWZnhRWFJBVVpQVGdCQjhmclUr?=
 =?utf-8?B?ZEJCcGhTeTRUbmsvTkNsd0Fzejk0TEdVK2YyUjZFYXBzOWY4YkQ1ZWFtMkFE?=
 =?utf-8?B?Y3lsNnF1SnVNWXBUNXJ5TnFqTHhuZHk4aVRGdUtuekFoTGZPRG5IbFRPaUxV?=
 =?utf-8?B?NW5FeUdVcmNORzkwbnEyOUlMUEFCWlBlRkRGVWFOeGZzMklnQ0hvYzZPWkJG?=
 =?utf-8?B?bkpTZjhUY2JTdmxYTUZQSVpockFXaDRjWHppQk01UENQb1F1TkVZN0VZekNH?=
 =?utf-8?B?V3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	l1815DfjwhiZjYcUu9l/ktl6WbLrXSjj9w2D7y0ejvPP4P6c5ddvPQSa2c53bI7wg4dCavn4/sGCIS2O0SGW1aWT79ofPiJJb1IyL3JZCJAbz067y4KUH6jaDFmk1Y0P5tja5SpfzwZ9CMpOzHHrtU3YXiV06Y6PTZj69cSY7+f4BP/hd2ZXZBQFAZ9Cui6RhFBWY+g8Gp0n9MeSQqmrmzzkYP0P3mTU8lWDx6huotbJSvvxNX+BtOrpt2RiHu28VmkgiCBN1hM6V+FEVWssSlWqLs+o6IaKNrGmWyFubhyzWte/Qlj8pf9CuVbVuKVQ2WHS4GC7SEaBsjfkbYx9gjlIa8I5e89WtVNJFnzqd27SJjcYfXN/gm73Zq1m1UM5zpajon4Bto+9+dtLtuUsX85Xtk1Rj0jCRxSNxox4ZWkiowSVbEYDTzusggBkDmhPSXacIV2sSiY3jDOCGp0PrIdNVCnxpJOFrMCVjACnHZQIPqbMPLVCSD5AxPxlpXj+Hdep0PdfY9/pvx3V9O05sNenaiAu7kL2dNcPVgkFH/E51P4LLChoQXLLhm89p1XkdGUIbAqz9QWnY8mvh0siWkpWI3NnlM1N3p5EmbP4YwiPJ+OpWBrhdYqY//I4goWCXxFk4ZFIIFvg0bptdTnArVIVRN61Bgowtha/HlFB7eqoPhnqC8vahGEcf+sUvSfljRPqw/V6BBiItFMpEI3tIpEWpHClDKYb87xQfgrJRdbTObgRNL8ieIqdECOzxZbsD/JReQx6TaE4OCFgZxBkcm/fTplL41pSGxIc87qSiV4mnaXOmU0ln/diFO2gol5cHCXfLH6u/ddYkObR5KHIdffQR77+++EFZYngSHr5gYOdUUCfad3/aAPPDr/67K6WWX9gFJD+AH5yV+WX23bbLieFdBSungPwNoKEFIrSXx0=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2e6e50b6-7500-4434-051a-08db1b5d8cf5
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 20:34:41.7739
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vrc/xyJPSJKdHKBfnjpkv9NCT9WSziO29UJBwzICy3aHXi9QUAoyJREZ2Letr9VAdCed/S/+HABCxjhlk9toOdSeoIjlzYTJdUmb8EtdCXM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB6972

On 02/03/2023 3:55 pm, Oleksii wrote:
> On Thu, 2023-03-02 at 15:22 +0100, Jan Beulich wrote:
>> On 02.03.2023 14:23, Oleksii Kurochko wrote:
>>> --- a/xen/arch/riscv/riscv64/head.S
>>> +++ b/xen/arch/riscv/riscv64/head.S
>>> @@ -13,6 +13,15 @@ ENTRY(start)
>>>          lla     a6, _dtb_base
>>>          REG_S   a1, (a6)
>>>  
>>> +        la      a3, __bss_start
>>> +        la      a4, __bss_end
>>> +        ble     a4, a3, clear_bss_done
>> While it may be that .bss is indeed empty right now, even short term
>> it won't be, and never will. I'd drop this conditional (and in
>> particular the label), inserting a transient item into .bss for the
>> time being. As soon as your patch introducing page tables has landed,
>> there will be multiple pages worth of .bss.
> If I understand you correctly you suggested declare some variable:
>    int dummy_bss __attribute__((unused));
>
> Then .bss won't be zero:
>    $ riscv64-linux-gnu-objdump -x xen/xen-syms | grep -i dummy_bss    
>    0000000080205000 g     O .bss   0000000000000004 .hidden dummy_bss
>
> And when page tables will be ready it will be needed to remove
> dummy_bss.

Well - to be deleted when the first real bss user appears, but yes -
that will probably be the pagetable series.

>
> Another one option is to update linker script ( looks better then
> previous one ):
> --- a/xen/arch/riscv/xen.lds.S
> +++ b/xen/arch/riscv/xen.lds.S
> @@ -140,6 +140,7 @@ SECTIONS
>          . = ALIGN(SMP_CACHE_BYTES);
>          __per_cpu_data_end = .;
>          *(.bss .bss.*)
> +        . = . + 1;
>          . = ALIGN(POINTER_ALIGN);
>          __bss_end = .;
>      } :text
>
> If one of the options is fine then to be honest I am not sure that I
> understand why it is better than have 3 instructions which will be
> unnecessary when first bss variable will be introduced. And actually
> the same will be with item in bss, it will become unnecessary when
> something from bss will be introduced.
>
> I am OK with one of the mentioned above options but still would like
> to understand what are advantages.

A one-line delete in a C file deletion is most obviously-safe of the 3
options to be performed at some later date, when we've started
forgetting the specific details in this patch.

>> Also are this and ...
>>
>>> +clear_bss:
>>> +        REG_S   zero, (a3)
>>> +        add     a3, a3, RISCV_SZPTR
>>> +        blt     a3, a4, clear_bss
>> ... this branch actually the correct ones? I'd expect the unsigned
>> flavors to be used when comparing addresses. It may not matter here
>> and/or right now, but it'll set a bad precedent unless you expect
>> to only ever work on addresses which have the sign bit clear.
> I'll change blt to bltu.

This should indeed an unsigned compare.  It doesn't explode in practice
because paging is disabled and RISC-V's MAXPHYADDR is 56 bits so doesn't
set the sign bit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 20:46:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 20:46:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505403.778188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXppA-0005WZ-Pj; Thu, 02 Mar 2023 20:46:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505403.778188; Thu, 02 Mar 2023 20:46: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 1pXppA-0005Uk-DK; Thu, 02 Mar 2023 20:46:48 +0000
Received: by outflank-mailman (input) for mailman id 505403;
 Thu, 02 Mar 2023 20: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=IBoy=62=infradead.org=mcgrof@srs-se1.protection.inumbo.net>)
 id 1pXpp9-0004ie-4A
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 20:46:47 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 56455a12-b93b-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 21:46:43 +0100 (CET)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1pXpoc-003HXQ-HE; Thu, 02 Mar 2023 20:46: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
X-Inumbo-ID: 56455a12-b93b-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; 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=TtTbUH5PQh3QevctuMber+EjZGKoMVpZ7Bm0T6SOQ6g=; b=houTJrT5MUluykuM7s1Uc148K3
	GhLI9ASwlgAnteOvFMS4cTsCdKtG82GtTT4Zcr9HncBDiN2PA/JjUo9peW7g1cx2BhR4//0t/yscv
	5IpFo0vcRylXz5s7cE4j0GUn5BKxF1V3uGlaVF0kLGgZuReSbCP/VPJVjuNYboAkpG/PiDxNyDUra
	cVS+I7dVkXOuXr7xnABfgxQLYK8/WfVd3pUiuNrtYXMwDKui183PRS9ebugKbOpGbY3Y5TBFq3kbQ
	ndzN/NkOUhn281UgUQr5UWaEuzp2/EgEHwN9hb5K87XzVbBxcVXtt+E3QheP8aaBbeZpR/TXb+Prl
	oswf6iaA==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: ebiederm@xmission.com,
	keescook@chromium.org,
	yzaikin@google.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	minyard@acm.org,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	song@kernel.org,
	robinmholt@gmail.com,
	steve.wahl@hpe.com,
	mike.travis@hpe.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	jirislaby@kernel.org,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	xen-devel@lists.xenproject.org
Cc: j.granados@samsung.com,
	zhangpeng362@huawei.com,
	tangmeng@uniontech.com,
	willy@infradead.org,
	nixiaoming@huawei.com,
	sujiaxun@uniontech.com,
	patches@lists.linux.dev,
	linux-fsdevel@vger.kernel.org,
	apparmor@lists.ubuntu.com,
	linux-raid@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 3/7] hv: simplify sysctl registration
Date: Thu,  2 Mar 2023 12:46:08 -0800
Message-Id: <20230302204612.782387-4-mcgrof@kernel.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20230302204612.782387-1-mcgrof@kernel.org>
References: <20230302204612.782387-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

register_sysctl_table() is a deprecated compatibility wrapper.
register_sysctl() can do the directory creation for you so just use
that.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/hv/vmbus_drv.c | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
index d24dd65b33d4..229353f1e9c2 100644
--- a/drivers/hv/vmbus_drv.c
+++ b/drivers/hv/vmbus_drv.c
@@ -1460,15 +1460,6 @@ static struct ctl_table hv_ctl_table[] = {
 	{}
 };
 
-static struct ctl_table hv_root_table[] = {
-	{
-		.procname	= "kernel",
-		.mode		= 0555,
-		.child		= hv_ctl_table
-	},
-	{}
-};
-
 /*
  * vmbus_bus_init -Main vmbus driver initialization routine.
  *
@@ -1547,7 +1538,7 @@ static int vmbus_bus_init(void)
 		 * message recording won't be available in isolated
 		 * guests should the following registration fail.
 		 */
-		hv_ctl_table_hdr = register_sysctl_table(hv_root_table);
+		hv_ctl_table_hdr = register_sysctl("kernel", hv_ctl_table);
 		if (!hv_ctl_table_hdr)
 			pr_err("Hyper-V: sysctl table register error");
 
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 20:46:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 20:46:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505400.778159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXpp8-0004t6-Oe; Thu, 02 Mar 2023 20:46:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505400.778159; Thu, 02 Mar 2023 20: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 1pXpp8-0004qh-IF; Thu, 02 Mar 2023 20:46:46 +0000
Received: by outflank-mailman (input) for mailman id 505400;
 Thu, 02 Mar 2023 20: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=IBoy=62=infradead.org=mcgrof@srs-se1.protection.inumbo.net>)
 id 1pXpp7-0004iE-Rf
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 20:46:45 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56b74eb2-b93b-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 21:46:43 +0100 (CET)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1pXpoc-003HXU-Mw; Thu, 02 Mar 2023 20:46: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
X-Inumbo-ID: 56b74eb2-b93b-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; 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=71lfCsPo7yFKiIAEzb7+CVhOSJuKqCJLiCYyMEP1nX8=; b=p6Yel5Hfld+1FW2EBNV5366POq
	vJPcZmFCSoBMiHWsnzV+jFaz/uDjYDZKCSMVih6k7yTXZeK0esG+XoqGZm9PRwj7XoUWz1rJk2q/E
	W+/FxaL2XVpQFgwiqiS/BLSFmuYGCiJ2RytjR/MyXk6RSB5u/Gb6pD9cbTP3FOuh/IUlWNVZg9nlC
	ae1SW5g3A+R91mMBWyCJsTKqh3vMrYlSFc91+9y4TqjqjC2hXi5zZKAl59br57tm1NS/Si0Gk8WIN
	4LHLL8b5jmRCk45aZvhVhNvYHw+agvS23gBr87drZJxFTEPUWGT0jgdOq4ItcyYm6kfRP8hHNOmNG
	e/bvQgIQ==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: ebiederm@xmission.com,
	keescook@chromium.org,
	yzaikin@google.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	minyard@acm.org,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	song@kernel.org,
	robinmholt@gmail.com,
	steve.wahl@hpe.com,
	mike.travis@hpe.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	jirislaby@kernel.org,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	xen-devel@lists.xenproject.org
Cc: j.granados@samsung.com,
	zhangpeng362@huawei.com,
	tangmeng@uniontech.com,
	willy@infradead.org,
	nixiaoming@huawei.com,
	sujiaxun@uniontech.com,
	patches@lists.linux.dev,
	linux-fsdevel@vger.kernel.org,
	apparmor@lists.ubuntu.com,
	linux-raid@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 5/7] sgi-xp: simplify sysctl registration
Date: Thu,  2 Mar 2023 12:46:10 -0800
Message-Id: <20230302204612.782387-6-mcgrof@kernel.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20230302204612.782387-1-mcgrof@kernel.org>
References: <20230302204612.782387-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

Although this driver is a good use case for having a directory
that is not other directories and then subdirectories with more
entries, the usage of register_sysctl_table() can recurse and
increases complexity so to avoid that just split out the
registration to each directory with its own entries.

register_sysctl_table() is a deprecated compatibility wrapper.
register_sysctl() can do the directory creation for you so just use
that.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/misc/sgi-xp/xpc_main.c | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/drivers/misc/sgi-xp/xpc_main.c b/drivers/misc/sgi-xp/xpc_main.c
index b2c3c22fc13c..6da509d692bb 100644
--- a/drivers/misc/sgi-xp/xpc_main.c
+++ b/drivers/misc/sgi-xp/xpc_main.c
@@ -93,7 +93,7 @@ int xpc_disengage_timelimit = XPC_DISENGAGE_DEFAULT_TIMELIMIT;
 static int xpc_disengage_min_timelimit;	/* = 0 */
 static int xpc_disengage_max_timelimit = 120;
 
-static struct ctl_table xpc_sys_xpc_hb_dir[] = {
+static struct ctl_table xpc_sys_xpc_hb[] = {
 	{
 	 .procname = "hb_interval",
 	 .data = &xpc_hb_interval,
@@ -112,11 +112,7 @@ static struct ctl_table xpc_sys_xpc_hb_dir[] = {
 	 .extra2 = &xpc_hb_check_max_interval},
 	{}
 };
-static struct ctl_table xpc_sys_xpc_dir[] = {
-	{
-	 .procname = "hb",
-	 .mode = 0555,
-	 .child = xpc_sys_xpc_hb_dir},
+static struct ctl_table xpc_sys_xpc[] = {
 	{
 	 .procname = "disengage_timelimit",
 	 .data = &xpc_disengage_timelimit,
@@ -127,14 +123,9 @@ static struct ctl_table xpc_sys_xpc_dir[] = {
 	 .extra2 = &xpc_disengage_max_timelimit},
 	{}
 };
-static struct ctl_table xpc_sys_dir[] = {
-	{
-	 .procname = "xpc",
-	 .mode = 0555,
-	 .child = xpc_sys_xpc_dir},
-	{}
-};
+
 static struct ctl_table_header *xpc_sysctl;
+static struct ctl_table_header *xpc_sysctl_hb;
 
 /* non-zero if any remote partition disengage was timed out */
 int xpc_disengage_timedout;
@@ -1041,6 +1032,8 @@ xpc_do_exit(enum xp_retval reason)
 
 	if (xpc_sysctl)
 		unregister_sysctl_table(xpc_sysctl);
+	if (xpc_sysctl_hb)
+		unregister_sysctl_table(xpc_sysctl_hb);
 
 	xpc_teardown_partitions();
 
@@ -1243,7 +1236,8 @@ xpc_init(void)
 		goto out_1;
 	}
 
-	xpc_sysctl = register_sysctl_table(xpc_sys_dir);
+	xpc_sysctl = register_sysctl("xpc", xpc_sys_xpc);
+	xpc_sysctl_hb = register_sysctl("xpc/hb", xpc_sys_xpc_hb);
 
 	/*
 	 * Fill the partition reserved page with the information needed by
@@ -1308,6 +1302,8 @@ xpc_init(void)
 	(void)unregister_die_notifier(&xpc_die_notifier);
 	(void)unregister_reboot_notifier(&xpc_reboot_notifier);
 out_2:
+	if (xpc_sysctl_hb)
+		unregister_sysctl_table(xpc_sysctl_hb);
 	if (xpc_sysctl)
 		unregister_sysctl_table(xpc_sysctl);
 
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 20:46:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 20:46:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505404.778194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXppB-0005fW-5X; Thu, 02 Mar 2023 20:46:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505404.778194; Thu, 02 Mar 2023 20: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 1pXppA-0005dN-Ry; Thu, 02 Mar 2023 20:46:48 +0000
Received: by outflank-mailman (input) for mailman id 505404;
 Thu, 02 Mar 2023 20:46: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=IBoy=62=infradead.org=mcgrof@srs-se1.protection.inumbo.net>)
 id 1pXpp9-0004iE-Ry
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 20:46:47 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 572d7d20-b93b-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 21:46:44 +0100 (CET)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1pXpoc-003HXK-7q; Thu, 02 Mar 2023 20:46: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
X-Inumbo-ID: 572d7d20-b93b-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; 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=3oCwpVDu4xcBlhkNHBH3geMu/7Wx6m5tuk0CiJ937us=; b=oPfHzWkN8o7ub3rjHyZDbsPtuV
	7OLcJfzIoHmz3hIhOOr5kBrnrOOjnqx+vnDYKGEwImYtId4tJmI3hI7TmpRvol1qy0/js0LDSCCef
	uYyVFwuRIv+72rBzXJJL0naQqm1tyQKKt/2w75lq7w6OQGgJpvTeV7VQJ6LrUilaqMDLDtvyolKf8
	0avj6KHqtDh0Bz8fQ0U6V+osbmh5p1GVtHHfZTjtL/mGvYZwDVOByysy24tuupVVhYrVm+iTXMJtH
	iifnMDagP5WH4KcQAHvfQb48U1z36CnTuk+x2Iz2ihBwpYE8DEkqJb+70NXox4icRbETMcGAnJpzt
	8LnDrLzQ==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: ebiederm@xmission.com,
	keescook@chromium.org,
	yzaikin@google.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	minyard@acm.org,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	song@kernel.org,
	robinmholt@gmail.com,
	steve.wahl@hpe.com,
	mike.travis@hpe.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	jirislaby@kernel.org,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	xen-devel@lists.xenproject.org
Cc: j.granados@samsung.com,
	zhangpeng362@huawei.com,
	tangmeng@uniontech.com,
	willy@infradead.org,
	nixiaoming@huawei.com,
	sujiaxun@uniontech.com,
	patches@lists.linux.dev,
	linux-fsdevel@vger.kernel.org,
	apparmor@lists.ubuntu.com,
	linux-raid@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 0/7] sysctl: slowly deprecate register_sysctl_table()
Date: Thu,  2 Mar 2023 12:46:05 -0800
Message-Id: <20230302204612.782387-1-mcgrof@kernel.org>
X-Mailer: git-send-email 2.37.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

As the large array of sysctls in kernel/sysctl.c is reduced we get to
the point of wanting to optimize how we register sysctls by only dealing
with flat simple structures, with no subdirectories. In particular the
last empty element should not be needed. We'll get there, and save some
memory, but as we move forward that path will be come the more relevant
path to use in the sysctl registration. It is much simpler as it avoids
recursion.

Turns out we can also convert existing users of register_sysctl_table()
which just need their subdirectories created for them. This effort
addresses most users of register_sysctl_table() in drivers/ except
parport -- that needs a bit more review.

This is part of the process to deprecate older sysctl users which uses
APIs which can incur recursion, but don't need it [0]. This is the
second effort.

Yes -- we'll get to the point *each* of these conversions means saving
one empty syctl, but that change needs a bit more careful review before
merging. But since these conversion are also deleting tables for
subdirectories, the delta in size of the kernel should not incrase
really.

The most complex change is the sgi-xp change which does deal with
a case where we have a subdirectory with an entry, I just split
that in two registrations. No point in keeping recursion just for
a few minor if we can simplify code around. More eyeballs / review /
testing on that change is appreciated.

Sending these out early so they can get tested properly early on
linux-next. I'm happy to take these via sysctl-next [0] but since
I don' think register_sysctl_table() will be nuked on v6.4 I think
it's fine for each of these to go into each respective tree. I can
pick up last stragglers on sysctl-next. If you want me to take this
via sysctl-next too, just let me know and I'm happy to do that. Either
way works.

[0] https://lkml.kernel.org/r/20230302202826.776286-1-mcgrof@kernel.org

Luis Chamberlain (7):
  scsi: simplify sysctl registration with register_sysctl()
  ipmi: simplify sysctl registration
  hv: simplify sysctl registration
  md: simplify sysctl registration
  sgi-xp: simplify sysctl registration
  tty: simplify sysctl registration
  xen: simplify sysctl registration for balloon

 drivers/char/ipmi/ipmi_poweroff.c | 16 +---------------
 drivers/hv/vmbus_drv.c            | 11 +----------
 drivers/md/md.c                   | 22 +---------------------
 drivers/misc/sgi-xp/xpc_main.c    | 24 ++++++++++--------------
 drivers/scsi/scsi_sysctl.c        | 16 +---------------
 drivers/tty/tty_io.c              | 20 +-------------------
 drivers/xen/balloon.c             | 20 +-------------------
 7 files changed, 16 insertions(+), 113 deletions(-)

-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 20:46:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 20:46:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505399.778153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXpp8-0004lu-EJ; Thu, 02 Mar 2023 20:46:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505399.778153; Thu, 02 Mar 2023 20: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 1pXpp8-0004kE-90; Thu, 02 Mar 2023 20:46:46 +0000
Received: by outflank-mailman (input) for mailman id 505399;
 Thu, 02 Mar 2023 20:46: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=IBoy=62=infradead.org=mcgrof@srs-se1.protection.inumbo.net>)
 id 1pXpp7-0004iE-3G
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 20:46:45 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56a4fe34-b93b-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 21:46:43 +0100 (CET)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1pXpoc-003HXM-Ao; Thu, 02 Mar 2023 20:46: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
X-Inumbo-ID: 56a4fe34-b93b-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; 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=vfrPqlpwv8UtDJtEckddNe/7V4TGRdI///FWzG6Y790=; b=1CcCUGLBcs0TG5syyZ+Ce28wnZ
	TxulkQAu2Jm0WRJA6sb0GzobJ5R2x0XtLkbJm7zUd+adTEbOuyDoBktLQaR6+NEjbd3hP800Zv4ab
	CP94tMtVo225TVDQQpPfR4eKirU6KAgyGAv7UhKUNv+tsNT8dKsrw7xAeorlwpNtCx/ojqVajYfJ8
	TyL5KCOZWwicnmes7WAvAKy3iK6h57YsUSyGiVJDO7nGE50XaEzfpHPHXTpGghPM2rtIyQHyCvtPl
	lFxB/iKwkZSDU6fgE+Job9uIOTovRK96UQqV0J9jEUh9JHRAQp8aC/33h166ouZa/n2rgQvbbVdx6
	eEuIbxjQ==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: ebiederm@xmission.com,
	keescook@chromium.org,
	yzaikin@google.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	minyard@acm.org,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	song@kernel.org,
	robinmholt@gmail.com,
	steve.wahl@hpe.com,
	mike.travis@hpe.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	jirislaby@kernel.org,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	xen-devel@lists.xenproject.org
Cc: j.granados@samsung.com,
	zhangpeng362@huawei.com,
	tangmeng@uniontech.com,
	willy@infradead.org,
	nixiaoming@huawei.com,
	sujiaxun@uniontech.com,
	patches@lists.linux.dev,
	linux-fsdevel@vger.kernel.org,
	apparmor@lists.ubuntu.com,
	linux-raid@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 1/7] scsi: simplify sysctl registration with register_sysctl()
Date: Thu,  2 Mar 2023 12:46:06 -0800
Message-Id: <20230302204612.782387-2-mcgrof@kernel.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20230302204612.782387-1-mcgrof@kernel.org>
References: <20230302204612.782387-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

register_sysctl_table() is a deprecated compatibility wrapper.
register_sysctl() can do the directory creation for you so just use that.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/scsi/scsi_sysctl.c | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/drivers/scsi/scsi_sysctl.c b/drivers/scsi/scsi_sysctl.c
index 7259704a7f52..7f0914ea168f 100644
--- a/drivers/scsi/scsi_sysctl.c
+++ b/drivers/scsi/scsi_sysctl.c
@@ -21,25 +21,11 @@ static struct ctl_table scsi_table[] = {
 	{ }
 };
 
-static struct ctl_table scsi_dir_table[] = {
-	{ .procname	= "scsi",
-	  .mode		= 0555,
-	  .child	= scsi_table },
-	{ }
-};
-
-static struct ctl_table scsi_root_table[] = {
-	{ .procname	= "dev",
-	  .mode		= 0555,
-	  .child	= scsi_dir_table },
-	{ }
-};
-
 static struct ctl_table_header *scsi_table_header;
 
 int __init scsi_init_sysctl(void)
 {
-	scsi_table_header = register_sysctl_table(scsi_root_table);
+	scsi_table_header = register_sysctl("dev/scsi", scsi_table);
 	if (!scsi_table_header)
 		return -ENOMEM;
 	return 0;
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 20:46:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 20:46:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505398.778148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXpp8-0004ia-5V; Thu, 02 Mar 2023 20:46:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505398.778148; Thu, 02 Mar 2023 20: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 1pXpp8-0004iT-1x; Thu, 02 Mar 2023 20:46:46 +0000
Received: by outflank-mailman (input) for mailman id 505398;
 Thu, 02 Mar 2023 20: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=IBoy=62=infradead.org=mcgrof@srs-se1.protection.inumbo.net>)
 id 1pXpp6-0004iE-6y
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 20:46:44 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5678ce7c-b93b-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 21:46:43 +0100 (CET)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1pXpoc-003HXS-K5; Thu, 02 Mar 2023 20:46: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
X-Inumbo-ID: 5678ce7c-b93b-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; 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=FdfA4hbd8rob4fQ8ALRTamLZAV/vYtVA6accqcc3SkE=; b=fhFYPSITeZQoANR5nzpZq4Y0OT
	BQwHzsCAGMKWCiIoSIoIot7NNKjVrWJ2csclbdX/OOhLJYxICH7Q27IOcnWVnqBV6tXuU8kS52aj/
	YqHN4NX4N7fDDw4Ys9oApL+1jemtpaghDeLGYs3gvxuvAl+0KPuQkX4VoZYK3yKfBN3VTD7lR+L5y
	zoheqXVFYPGrL8npa41ZLEY4CWXClu94akdIDtt8HOvD3vZ7MVf6ahgT4td72SzQ/DFF6hyJSXBYo
	SVjTazXdtUIiOEkwWaBbVYO6PEJRqGYpTuZBgGoMQZtE1KOOqHJdw0x9dSfjUV+NG5jW2pzVBmTGb
	MxuTRIgg==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: ebiederm@xmission.com,
	keescook@chromium.org,
	yzaikin@google.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	minyard@acm.org,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	song@kernel.org,
	robinmholt@gmail.com,
	steve.wahl@hpe.com,
	mike.travis@hpe.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	jirislaby@kernel.org,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	xen-devel@lists.xenproject.org
Cc: j.granados@samsung.com,
	zhangpeng362@huawei.com,
	tangmeng@uniontech.com,
	willy@infradead.org,
	nixiaoming@huawei.com,
	sujiaxun@uniontech.com,
	patches@lists.linux.dev,
	linux-fsdevel@vger.kernel.org,
	apparmor@lists.ubuntu.com,
	linux-raid@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 4/7] md: simplify sysctl registration
Date: Thu,  2 Mar 2023 12:46:09 -0800
Message-Id: <20230302204612.782387-5-mcgrof@kernel.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20230302204612.782387-1-mcgrof@kernel.org>
References: <20230302204612.782387-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

register_sysctl_table() is a deprecated compatibility wrapper.
register_sysctl() can do the directory creation for you so just use
that.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/md/md.c | 22 +---------------------
 1 file changed, 1 insertion(+), 21 deletions(-)

diff --git a/drivers/md/md.c b/drivers/md/md.c
index 927a43db5dfb..546b1b81eb28 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -322,26 +322,6 @@ static struct ctl_table raid_table[] = {
 	{ }
 };
 
-static struct ctl_table raid_dir_table[] = {
-	{
-		.procname	= "raid",
-		.maxlen		= 0,
-		.mode		= S_IRUGO|S_IXUGO,
-		.child		= raid_table,
-	},
-	{ }
-};
-
-static struct ctl_table raid_root_table[] = {
-	{
-		.procname	= "dev",
-		.maxlen		= 0,
-		.mode		= 0555,
-		.child		= raid_dir_table,
-	},
-	{  }
-};
-
 static int start_readonly;
 
 /*
@@ -9650,7 +9630,7 @@ static int __init md_init(void)
 	mdp_major = ret;
 
 	register_reboot_notifier(&md_notifier);
-	raid_table_header = register_sysctl_table(raid_root_table);
+	raid_table_header = register_sysctl("dev/raid", raid_table);
 
 	md_geninit();
 	return 0;
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 20:46:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 20:46:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505401.778177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXpp9-0005OV-W1; Thu, 02 Mar 2023 20:46:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505401.778177; Thu, 02 Mar 2023 20: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 1pXpp9-0005N4-Qx; Thu, 02 Mar 2023 20:46:47 +0000
Received: by outflank-mailman (input) for mailman id 505401;
 Thu, 02 Mar 2023 20: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=IBoy=62=infradead.org=mcgrof@srs-se1.protection.inumbo.net>)
 id 1pXpp8-0004ie-F9
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 20:46:46 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5689b507-b93b-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 21:46:43 +0100 (CET)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1pXpoc-003HXY-T5; Thu, 02 Mar 2023 20:46: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
X-Inumbo-ID: 5689b507-b93b-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; 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=dtfyNVshuDQIj+dlbLKUh3FrBpHjPuB+OiDl4kHMg0w=; b=y+/KNE5d+TW3hH8L9Iql5pMuDY
	mtQ2q1980lq3pkwG/xQP1LmilCyPNzezGqF7q0DG5V7xsGEwDTYwL1JvJCDFTe/zRXH57HGHD5QW/
	O8UeGtO2rrvC7q1JiYXTkhaSl2XwOkiMf9u7Bw475hl1I50DYfKypH7bafzPo/5auQO5nAWWpyMzo
	gGUrJvFV6cuTyc3hE4lyn5hDmXOrOPtNk1IXXmXNQPVhLjpjwJ7GPmbWttNzvSv3PP/4O3nghH0oh
	Q9RypKa5XuLJaNXMpBIQPO6xY6fjA5jHIzzVMBlTxnFZ6w8BOSv37SOKMsJSXJC05q7iNhPjFZil9
	SHo+B+Mg==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: ebiederm@xmission.com,
	keescook@chromium.org,
	yzaikin@google.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	minyard@acm.org,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	song@kernel.org,
	robinmholt@gmail.com,
	steve.wahl@hpe.com,
	mike.travis@hpe.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	jirislaby@kernel.org,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	xen-devel@lists.xenproject.org
Cc: j.granados@samsung.com,
	zhangpeng362@huawei.com,
	tangmeng@uniontech.com,
	willy@infradead.org,
	nixiaoming@huawei.com,
	sujiaxun@uniontech.com,
	patches@lists.linux.dev,
	linux-fsdevel@vger.kernel.org,
	apparmor@lists.ubuntu.com,
	linux-raid@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 7/7] xen: simplify sysctl registration for balloon
Date: Thu,  2 Mar 2023 12:46:12 -0800
Message-Id: <20230302204612.782387-8-mcgrof@kernel.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20230302204612.782387-1-mcgrof@kernel.org>
References: <20230302204612.782387-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

register_sysctl_table() is a deprecated compatibility wrapper.
register_sysctl_init() can do the directory creation for you so just
use that.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/xen/balloon.c | 20 +-------------------
 1 file changed, 1 insertion(+), 19 deletions(-)

diff --git a/drivers/xen/balloon.c b/drivers/xen/balloon.c
index 617a7f4f07a8..586a1673459e 100644
--- a/drivers/xen/balloon.c
+++ b/drivers/xen/balloon.c
@@ -97,24 +97,6 @@ static struct ctl_table balloon_table[] = {
 	{ }
 };
 
-static struct ctl_table balloon_root[] = {
-	{
-		.procname	= "balloon",
-		.mode		= 0555,
-		.child		= balloon_table,
-	},
-	{ }
-};
-
-static struct ctl_table xen_root[] = {
-	{
-		.procname	= "xen",
-		.mode		= 0555,
-		.child		= balloon_root,
-	},
-	{ }
-};
-
 #else
 #define xen_hotplug_unpopulated 0
 #endif
@@ -747,7 +729,7 @@ static int __init balloon_init(void)
 #ifdef CONFIG_XEN_BALLOON_MEMORY_HOTPLUG
 	set_online_page_callback(&xen_online_page);
 	register_memory_notifier(&xen_memory_nb);
-	register_sysctl_table(xen_root);
+	register_sysctl_init("xen/balloon", balloon_table);
 #endif
 
 	balloon_add_regions();
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 20:46:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 20:46:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505402.778183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXppA-0005Sy-CT; Thu, 02 Mar 2023 20:46:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505402.778183; Thu, 02 Mar 2023 20:46: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 1pXppA-0005RZ-3a; Thu, 02 Mar 2023 20:46:48 +0000
Received: by outflank-mailman (input) for mailman id 505402;
 Thu, 02 Mar 2023 20: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=IBoy=62=infradead.org=mcgrof@srs-se1.protection.inumbo.net>)
 id 1pXpp8-0004iE-Rm
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 20:46:46 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56ef370c-b93b-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 21:46:44 +0100 (CET)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1pXpoc-003HXO-Df; Thu, 02 Mar 2023 20:46: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
X-Inumbo-ID: 56ef370c-b93b-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; 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=MXqH7HxuGUp4vr/6baVHWsjCOA7cvGA5MJGn2lYMgHY=; b=Wn18YuHvszFD95jKeWngGibMfk
	m0dkZQ/T4wh0lgQnmNyqnPNU8wiR3wNNIOFAQ/uJApiYoYiCX6W4rfGp9dazoMtM2bwoM+0WBiCNC
	Zufdri5+sD3Q341upVXgIu1muzt5P4Jq3In7jEXridJQdLINYWC/lbJZRuwwbCAPQbiRw2Gifn7PV
	5l4S/BZ9ufO6qSJiEuCDouaynQw+hbOCQIXagyqfer/Tf0CgxPlq9N55pKEXLUt0GgP9bjK+YI+um
	6CZGflx9Hg4Q3sGl2wesUq57AAJ6djo3BjCYRDNYjrv49f8LE+JOOtmq1J70LFUnI4mMWXgd2vQ2k
	0Y7scWbg==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: ebiederm@xmission.com,
	keescook@chromium.org,
	yzaikin@google.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	minyard@acm.org,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	song@kernel.org,
	robinmholt@gmail.com,
	steve.wahl@hpe.com,
	mike.travis@hpe.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	jirislaby@kernel.org,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	xen-devel@lists.xenproject.org
Cc: j.granados@samsung.com,
	zhangpeng362@huawei.com,
	tangmeng@uniontech.com,
	willy@infradead.org,
	nixiaoming@huawei.com,
	sujiaxun@uniontech.com,
	patches@lists.linux.dev,
	linux-fsdevel@vger.kernel.org,
	apparmor@lists.ubuntu.com,
	linux-raid@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 2/7] ipmi: simplify sysctl registration
Date: Thu,  2 Mar 2023 12:46:07 -0800
Message-Id: <20230302204612.782387-3-mcgrof@kernel.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20230302204612.782387-1-mcgrof@kernel.org>
References: <20230302204612.782387-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

register_sysctl_table() is a deprecated compatibility wrapper.
register_sysctl() can do the directory creation for you so just use
that.

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/char/ipmi/ipmi_poweroff.c | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/drivers/char/ipmi/ipmi_poweroff.c b/drivers/char/ipmi/ipmi_poweroff.c
index 163ec9749e55..870659d91db2 100644
--- a/drivers/char/ipmi/ipmi_poweroff.c
+++ b/drivers/char/ipmi/ipmi_poweroff.c
@@ -659,20 +659,6 @@ static struct ctl_table ipmi_table[] = {
 	{ }
 };
 
-static struct ctl_table ipmi_dir_table[] = {
-	{ .procname	= "ipmi",
-	  .mode		= 0555,
-	  .child	= ipmi_table },
-	{ }
-};
-
-static struct ctl_table ipmi_root_table[] = {
-	{ .procname	= "dev",
-	  .mode		= 0555,
-	  .child	= ipmi_dir_table },
-	{ }
-};
-
 static struct ctl_table_header *ipmi_table_header;
 #endif /* CONFIG_PROC_FS */
 
@@ -689,7 +675,7 @@ static int __init ipmi_poweroff_init(void)
 		pr_info("Power cycle is enabled\n");
 
 #ifdef CONFIG_PROC_FS
-	ipmi_table_header = register_sysctl_table(ipmi_root_table);
+	ipmi_table_header = register_sysctl("dev/ipmi", ipmi_table);
 	if (!ipmi_table_header) {
 		pr_err("Unable to register powercycle sysctl\n");
 		rv = -ENOMEM;
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 20:46:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 20:46:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505405.778199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXppB-0005pf-Lq; Thu, 02 Mar 2023 20:46:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505405.778199; Thu, 02 Mar 2023 20: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 1pXppB-0005mN-Cw; Thu, 02 Mar 2023 20:46:49 +0000
Received: by outflank-mailman (input) for mailman id 505405;
 Thu, 02 Mar 2023 20:46: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=IBoy=62=infradead.org=mcgrof@srs-se1.protection.inumbo.net>)
 id 1pXppA-0004ie-4J
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 20:46:48 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5709df2d-b93b-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 21:46:44 +0100 (CET)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1pXpoc-003HXW-Pv; Thu, 02 Mar 2023 20:46: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
X-Inumbo-ID: 5709df2d-b93b-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; 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/ElRNVyLTcjLcjUYbTcuyx0KXFL0MQ9s53W3J7Nkdk=; b=JCk7vmd3WPk/eusfOMOFOK2REk
	1XVuRYTKBgLvoHrvgM9QB8cHTbTgvan1wf+AtXio6deB/kkhZpQfQneT6nmVXKxIezrONKrOTELf3
	rmCdFYzMHmg0TONwR5JS3VZ4zjWOMvXxjMFqyI6psWBRhwrNFSzKCozLL3Y7WMmT9MwO2epJUmMn1
	nx1ETSbvwg/quZ3YXXD2gyOYG/pSUp1kP3DtHGRkmCdbO6zoWCzkVSo+qXR4XGbcXKmbNwBRWEY4U
	V/tsgcudL0zXWPh1vuYy3EMUxTm83D/qlj7qqRLAlpw6hkLDL5UQ5XuwLQuQCuAhQx5o/qgOt8lew
	PxDMLkug==;
From: Luis Chamberlain <mcgrof@kernel.org>
To: ebiederm@xmission.com,
	keescook@chromium.org,
	yzaikin@google.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	minyard@acm.org,
	kys@microsoft.com,
	haiyangz@microsoft.com,
	wei.liu@kernel.org,
	decui@microsoft.com,
	song@kernel.org,
	robinmholt@gmail.com,
	steve.wahl@hpe.com,
	mike.travis@hpe.com,
	arnd@arndb.de,
	gregkh@linuxfoundation.org,
	jirislaby@kernel.org,
	jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com,
	xen-devel@lists.xenproject.org
Cc: j.granados@samsung.com,
	zhangpeng362@huawei.com,
	tangmeng@uniontech.com,
	willy@infradead.org,
	nixiaoming@huawei.com,
	sujiaxun@uniontech.com,
	patches@lists.linux.dev,
	linux-fsdevel@vger.kernel.org,
	apparmor@lists.ubuntu.com,
	linux-raid@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	Luis Chamberlain <mcgrof@kernel.org>
Subject: [PATCH 6/7] tty: simplify sysctl registration
Date: Thu,  2 Mar 2023 12:46:11 -0800
Message-Id: <20230302204612.782387-7-mcgrof@kernel.org>
X-Mailer: git-send-email 2.37.1
In-Reply-To: <20230302204612.782387-1-mcgrof@kernel.org>
References: <20230302204612.782387-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: Luis Chamberlain <mcgrof@infradead.org>

register_sysctl_table() is a deprecated compatibility wrapper.
register_sysctl_init() can do the directory creation for you so just use
that

Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
---
 drivers/tty/tty_io.c | 20 +-------------------
 1 file changed, 1 insertion(+), 19 deletions(-)

diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c
index 36fb945fdad4..766750e355ac 100644
--- a/drivers/tty/tty_io.c
+++ b/drivers/tty/tty_io.c
@@ -3614,31 +3614,13 @@ static struct ctl_table tty_table[] = {
 	{ }
 };
 
-static struct ctl_table tty_dir_table[] = {
-	{
-		.procname	= "tty",
-		.mode		= 0555,
-		.child		= tty_table,
-	},
-	{ }
-};
-
-static struct ctl_table tty_root_table[] = {
-	{
-		.procname	= "dev",
-		.mode		= 0555,
-		.child		= tty_dir_table,
-	},
-	{ }
-};
-
 /*
  * Ok, now we can initialize the rest of the tty devices and can count
  * on memory allocations, interrupts etc..
  */
 int __init tty_init(void)
 {
-	register_sysctl_table(tty_root_table);
+	register_sysctl_init("dev/tty", tty_table);
 	cdev_init(&tty_cdev, &tty_fops);
 	if (cdev_add(&tty_cdev, MKDEV(TTYAUX_MAJOR, 0), 1) ||
 	    register_chrdev_region(MKDEV(TTYAUX_MAJOR, 0), 1, "/dev/tty") < 0)
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 20:58:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 20:58:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505442.778230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXpzz-00021d-2Y; Thu, 02 Mar 2023 20:57:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505442.778230; Thu, 02 Mar 2023 20:57:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXpzy-00021W-W7; Thu, 02 Mar 2023 20:57:58 +0000
Received: by outflank-mailman (input) for mailman id 505442;
 Thu, 02 Mar 2023 20:57: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 1pXpzy-00021K-K5; Thu, 02 Mar 2023 20:57: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 1pXpzy-0004nG-IK; Thu, 02 Mar 2023 20:57: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 1pXpzy-0005io-7Q; Thu, 02 Mar 2023 20:57:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXpzy-0000wg-6w; Thu, 02 Mar 2023 20:57: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=Jwx7CK5jY/olLI0JeSuCSQMcY0LjA9vz/lJsNpC2/pc=; b=lurnD1oCUWbP/h+qHlg9y7isq5
	UAyvjIb8LYsU1D1OjtLk++8PsPVzT0VtE/p0cj/g40Rc57paviWWZQrjiqXcAj3kZfZXrFKshqp0E
	jk7c7KQuw3mZNzmkcvtQU9+AwPszGYHl3FfhRjB4G8HXPYjjDqKEX+x9Ln01xA3e0hfk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178965-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 178965: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-vhd: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b84fdf521b306cce64388fe57ee6c7c00f9d3e76
X-Osstest-Versions-That:
    xen=b84fdf521b306cce64388fe57ee6c7c00f9d3e76
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 02 Mar 2023 20:57:58 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install    fail pass in 178922
 test-amd64-i386-xl-qemuu-debianhvm-amd64  7 xen-install    fail pass in 178922
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat  fail pass in 178922

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178922
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 178922
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178922
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178922
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 178922
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 178922
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178922
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 178922
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178922
 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-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-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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b84fdf521b306cce64388fe57ee6c7c00f9d3e76
baseline version:
 xen                  b84fdf521b306cce64388fe57ee6c7c00f9d3e76

Last test of basis   178965  2023-03-02 09:32:57 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     fail    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 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 Mar 02 21:58:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 21:58:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505453.778244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXqwQ-0001Wn-Lr; Thu, 02 Mar 2023 21:58:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505453.778244; Thu, 02 Mar 2023 21:58:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXqwQ-0001Wg-Ix; Thu, 02 Mar 2023 21:58:22 +0000
Received: by outflank-mailman (input) for mailman id 505453;
 Thu, 02 Mar 2023 21:58: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=pWRm=62=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pXqwP-0001Wa-5p
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 21:58:21 +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 56b51cfd-b945-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 22:58:18 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id j2so503146wrh.9
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 13:58:17 -0800 (PST)
Received: from [192.168.27.175] (43.red-95-127-39.staticip.rima-tde.net.
 [95.127.39.43]) by smtp.gmail.com with ESMTPSA id
 v38-20020a05600c4da600b003eb68bb61c8sm379710wmp.3.2023.03.02.13.58.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Mar 2023 13:58: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: 56b51cfd-b945-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677794297;
        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=UDZswf4uEzany5QrvvRK53tLE5TnRjTJMGZStuNH0Pg=;
        b=c01Qm5CA9+skyR4wswaewku8HTJNl4WNaS20D2CpfxO8Uapb8pd235XipMTAOE02zw
         Cf4NYqj702NtkNau1gYU37Byl3EPPUAKBRw1uNCD81j5DgdZNqraJA/oFGGWMbclPFiV
         DYrrtY6VGcs2l8S7aa9xhojKYEh1kjIfhFUH9W4QLFbjVFcVenWwr5lmk7WlpqpTMyjp
         iLduF8H0R2/o+Rt2x2YFylbTqEkz2DCf4I0tA28QEeW6HPm1RJhXtrnLdV4rh14FyL4M
         YGDf3Z6clOtE5jjImbqk4OJ77rw93+m0J8x5rH3g3miRBOziwW3AasfpHoscXGq3br7h
         HPiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677794297;
        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=UDZswf4uEzany5QrvvRK53tLE5TnRjTJMGZStuNH0Pg=;
        b=2jQhyLWH0dSRnkyNfhmxm1vbkqSiZuS/uG+rYmX5yGidTQ+hDC9eRDpqrblf+GllSy
         IiVVmNJAYcxBBHlV1rANzV09pcCD8xWmc0qeODQHg9jBNhFdPxkzl1Hwbhp6Ldedveac
         AjQ5E6ocLSpq8bcq6uiu3/mEqVElY+pOxKANQpu4Ez0geo4ytvvFpEB+vrWmyzVaVV+4
         EuGTsKun92yvuJYzdlgJlYiL7WYJi+vAWaQUkdELwubExxu5QaABukQVJRphf8yU3tma
         aGz6FMPxm2SjT+NEmnU4O8QFOooBO8OgoMR30bNbUafDTKS/Ow14tbHbLYDUwUMod8vj
         dYlg==
X-Gm-Message-State: AO0yUKWV8agYSlg7z+pt4/+ascP3F4Ae/AZDemV6977Zbqp8ps/vGp+Q
	4nFUS3A2Fe7yrJprV5HGsJ2GoA==
X-Google-Smtp-Source: AK7set9XlppTHh6P/NYuUA8627xDZx2JgibTevKCtg80T+5uYqzA7ofikej3nH5tro9swhHZf/7amg==
X-Received: by 2002:a5d:6e01:0:b0:2c7:1c36:3c6e with SMTP id h1-20020a5d6e01000000b002c71c363c6emr8454808wrz.64.1677794297289;
        Thu, 02 Mar 2023 13:58:17 -0800 (PST)
Message-ID: <7d696728-be96-c720-2db9-b93a5a352d1f@linaro.org>
Date: Thu, 2 Mar 2023 22:58:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v2 6/6] gitlab-ci.d/crossbuilds: Drop the 32-bit arm
 system emulation jobs
Content-Language: en-US
To: Thomas Huth <thuth@redhat.com>, qemu-devel@nongnu.org,
 Peter Maydell <peter.maydell@linaro.org>,
 Daniel Berrange <berrange@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>
References: <20230302163106.465559-1-thuth@redhat.com>
 <20230302163106.465559-7-thuth@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230302163106.465559-7-thuth@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 2/3/23 17:31, Thomas Huth wrote:
> Hardly anybody still uses 32-bit arm environments for running QEMU,
> so let's stop wasting our scarce CI minutes with these jobs.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   .gitlab-ci.d/crossbuilds.yml | 14 --------------
>   1 file changed, 14 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



From xen-devel-bounces@lists.xenproject.org Thu Mar 02 22:08:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 22:08:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505458.778255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXr5m-0003LM-M1; Thu, 02 Mar 2023 22:08:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505458.778255; Thu, 02 Mar 2023 22:08: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 1pXr5m-0003LF-Gw; Thu, 02 Mar 2023 22:08:02 +0000
Received: by outflank-mailman (input) for mailman id 505458;
 Thu, 02 Mar 2023 22:08: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=pWRm=62=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pXr5l-0003L9-23
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 22:08:01 +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 b130bdcd-b946-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 23:07:59 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id l25so552355wrb.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 14:07:59 -0800 (PST)
Received: from [192.168.27.175] (43.red-95-127-39.staticip.rima-tde.net.
 [95.127.39.43]) by smtp.gmail.com with ESMTPSA id
 k8-20020a5d66c8000000b002c573a6216fsm448290wrw.37.2023.03.02.14.07.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Mar 2023 14:07: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: b130bdcd-b946-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677794878;
        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=ZK+UEBQ2lF5D2tpIcjSM50wLk0IHyAejs4TzwnTVW5k=;
        b=U82HnNmnIlR8fsbUOzoyUOrcyk+UF0aCzllzpum/8sOkxYueGYisYF+f0M4+iCitPt
         lA8X8eIusLZIDxCoW2ITywyqVxF102PaWtOcX2ngEQtr3sbtWCAs/RK470AZYh4aObfW
         xTXSkcztl32ehSaQNeKck4QZslyEpWK/jOZXrrrb+S8Xs10olWuagHCYfiescykm5jIO
         /WGN2la8HKlJaJoSDvW+oIU8JDxhFsyJ+csnc2HLPgMUfUqrAqihbd1YnsYSyzLNPQlZ
         BG0M2UJM5hmPHw3pzydrf6s4Yo5XBR9Cq0TJauUFlBH79CJTfmytfyhWZXbHZ0hXHhdh
         gSxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677794878;
        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=ZK+UEBQ2lF5D2tpIcjSM50wLk0IHyAejs4TzwnTVW5k=;
        b=mJ8QXe0M09xUoSF366oa6/ydLhcyB/mHGC6knUe2pDqFMlO53wXlE92KbBpAeXGgva
         YA8ZOi4uNN4SnqYjXhU81HJv5zy7iwawEPvmsuvRlauSsrrABc5hl1jPk4fpVMgDtOmX
         4tSUsyJ9aEt7hjqXgi2EFiA0th3j5RTbXOZ3YphKmomte+yVunQiiCoCsF6T+SqlBdfn
         /DMTVPgJSX/oX7C31bhvB5prB25D/EaQzEsvWRsoIT5ZUOvPBQkUUrN9r5Kk6vRPnUTn
         qlGcN2aVLnAWo0Oyr5JjEzZJUlppTEyhrNKDNEf2dZgjAUQtXEvMKFTCCzPnEp+dv8En
         ycoA==
X-Gm-Message-State: AO0yUKVq54oOtZHiH+bHdk2GVde/HvqtFNVosbhqk0QG5R3BsbV1BQDx
	tm2FAcSXA87LmRSHBuOPSVPBLw==
X-Google-Smtp-Source: AK7set/zRREzUl4g52CStSVhdiUVcMgbt0PP1P8PqAH2s47EeF75hS+bGX8bzaTEyaGL4tkTSSuiOQ==
X-Received: by 2002:a5d:468e:0:b0:2c7:1b42:1cec with SMTP id u14-20020a5d468e000000b002c71b421cecmr8344921wrq.23.1677794878584;
        Thu, 02 Mar 2023 14:07:58 -0800 (PST)
Message-ID: <4bed38c3-ab4f-cd32-05a4-afa090ad8b9a@linaro.org>
Date: Thu, 2 Mar 2023 23:07:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v2 0/6] Deprecate support for 32-bit x86 and arm hosts
Content-Language: en-US
To: Thomas Huth <thuth@redhat.com>, qemu-devel@nongnu.org,
 Peter Maydell <peter.maydell@linaro.org>,
 Daniel Berrange <berrange@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>,
 Michael Tokarev <mjt@tls.msk.ru>,
 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
 Helge Deller <deller@gmx.de>
References: <20230302163106.465559-1-thuth@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230302163106.465559-1-thuth@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2/3/23 17:31, Thomas Huth wrote:
> We're struggling quite badly with our CI minutes on the shared
> gitlab runners, so we urgently need to think of ways to cut down
> our supported build and target environments. qemu-system-i386 and
> qemu-system-arm are not really required anymore, since nobody uses
> KVM on the corresponding systems for production anymore, and the
> -x86_64 and -arch64 variants are a proper superset of those binaries.
> So it's time to deprecate them and the corresponding 32-bit host
> environments now.
> 
> This is a follow-up patch series from the previous discussion here:
> 
>   https://lore.kernel.org/qemu-devel/20230130114428.1297295-1-thuth@redhat.com/
> 
> where people still mentioned that there is still interest in certain
> support for 32-bit host hardware. But as far as I could see, there is
> no real need for 32-bit x86 host support and for system emulation on
> 32-bit arm hosts anymore, so it should be fine if we drop these host
> environments soon (these are also the two architectures that contribute
> the most to the long test times in our CI, so we would benefit a lot by
> dropping those).

It is not clear from your cover that the deprecation only concern system
emulation on these hosts, not user emulation.

I wonder about tools. Apparently they depend on sysemu now. I was
building a 'configure --enable-tools --disable-system' but now it
is empty.


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 22:17:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 22:17:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505465.778263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXrEN-0005BU-Id; Thu, 02 Mar 2023 22:16:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505465.778263; Thu, 02 Mar 2023 22: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 1pXrEN-0005BN-G6; Thu, 02 Mar 2023 22:16:55 +0000
Received: by outflank-mailman (input) for mailman id 505465;
 Thu, 02 Mar 2023 22:16:54 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pWRm=62=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pXrEL-0005BH-W8
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 22:16:54 +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 eeafa0d5-b947-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 23:16:51 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id f11so543306wrv.8
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 14:16:51 -0800 (PST)
Received: from [192.168.27.175] (43.red-95-127-39.staticip.rima-tde.net.
 [95.127.39.43]) by smtp.gmail.com with ESMTPSA id
 k21-20020a7bc415000000b003e206cc7237sm4096886wmi.24.2023.03.02.14.16.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Mar 2023 14:16: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: eeafa0d5-b947-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677795411;
        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=j/QW1HM2Mk99OFnysxfaddjjhGUCTkKLCoCNHfnkBus=;
        b=ALhBjpW+9d/4nqIcn9T7comSyKRfOMYle0Ef7GQcmPgOMdutjgV9UKobixXu/69zHV
         Gna/Ej5gE7HUKBhbCvqj8/rzOOj3rbijoydiLuqrANb5aNRLMwdpFwlO6Ij0SEjLwLD2
         SuURyr8oCgi/BLZT/28QMLcv7vIq/RsDcJEHtcwC9g3SA4Sh23srhZ96u5XizNgGCXBf
         ZH3j7PM46/BS1tqUUOXxHHonLNrabmZBig13eMG/aln6neAwBf8pxBBx/y54Rue4bw03
         m/17PD9lLEL2rAwGbbb36CMxU3NG/S/W6it0v6UIN8EOIM9HtOZbnfqO+RvCmNpJkpgk
         4s4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677795411;
        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=j/QW1HM2Mk99OFnysxfaddjjhGUCTkKLCoCNHfnkBus=;
        b=idI1gSI/yhMjfA9b7d7SEM35BoyJAYsF24uhLG3XqQqBp3FTm0fM0rFVWnuB4hop5N
         tp6AL/iTRyaqXmg7JJyvRs2K973DTCvfhSCOJRDIGb4T6Dh1HPX167ddkyCHp7UhnZNc
         FlvyBE2+Zcxjb+ORV4Ef90BElEWRaouGwruJDR36CgUEA5X0uC3G2bcCOI7EGCVXybs9
         vhEykO3zigYTsVqemg6A+41698eHzNXcBSB/3P60UEXiLb1fFDdd3So3LuwNljBFNaiE
         rLa3NDTjHXq73fe29OQk43ZBElTwoJoF4QLVlN5d/OSyD7jGrS9iXOfxNTR1qXjBqIHS
         w21g==
X-Gm-Message-State: AO0yUKWaLGDsZR+mn8Yj0ZdkMTg/+H4+nN50ud+61T6Q9cxRTgDYsVr3
	lxpMN/MUka4rcFcgGfXuT04dug==
X-Google-Smtp-Source: AK7set8FAJoagkadDS0ky4D6I6VKl6CQte+kz2H8UpkpBkrwx3GyTQUjYMJKyj+fdM6XhAnFPLxhzw==
X-Received: by 2002:a05:6000:11c2:b0:2c7:1d55:a56b with SMTP id i2-20020a05600011c200b002c71d55a56bmr8281108wrx.70.1677795411324;
        Thu, 02 Mar 2023 14:16:51 -0800 (PST)
Message-ID: <733a61bc-0e41-a864-c7fa-f177b35afa25@linaro.org>
Date: Thu, 2 Mar 2023 23:16:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v2 4/6] docs/about/deprecated: Deprecate the
 qemu-system-arm binary
Content-Language: en-US
To: Thomas Huth <thuth@redhat.com>, qemu-devel@nongnu.org,
 Peter Maydell <peter.maydell@linaro.org>,
 Daniel Berrange <berrange@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>
References: <20230302163106.465559-1-thuth@redhat.com>
 <20230302163106.465559-5-thuth@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230302163106.465559-5-thuth@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 2/3/23 17:31, Thomas Huth wrote:
> qemu-system-aarch64 is a proper superset of qemu-system-arm,
> and the latter was mainly still required for 32-bit KVM support.
> But this 32-bit KVM arm support has been dropped in the Linux
> kernel a couple of years ago already, so we don't really need
> qemu-system-arm anymore, thus deprecated it now.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   docs/about/deprecated.rst | 10 ++++++++++
>   1 file changed, 10 insertions(+)
> 
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index a30aa8dfdf..21ce70b5c9 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, including KVM support
>   on x86_64 hosts. Thus users are recommended to reconfigure their systems
>   to use the ``qemu-system-x86_64`` binary instead.
>   
> +``qemu-system-arm`` binary (since 8.0)
> +''''''''''''''''''''''''''''''''''''''
> +
> +``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``. The
> +latter was mainly a requirement for running KVM on 32-bit arm hosts, but
> +this 32-bit KVM support has been removed some years ago already (see:

s/some/few/?

> +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=541ad0150ca4
> +). Thus the QEMU project will drop the ``qemu-system-arm`` binary in a
> +future release. Use ``qemu-system-aarch64`` instead.

If we unify, wouldn't it be simpler to name the single qemu-system
binary emulating various ARM architectures as 'qemu-system-arm'?


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 22:18:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 22:18:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505470.778274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXrFP-0005hr-S6; Thu, 02 Mar 2023 22:17:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505470.778274; Thu, 02 Mar 2023 22:17:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXrFP-0005hk-PN; Thu, 02 Mar 2023 22:17:59 +0000
Received: by outflank-mailman (input) for mailman id 505470;
 Thu, 02 Mar 2023 22:17:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=igkB=62=gmail.com=tcminyard@srs-se1.protection.inumbo.net>)
 id 1pXrFP-0005he-73
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 22:17:59 +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 160f0efd-b948-11ed-96ad-2f268f93b82a;
 Thu, 02 Mar 2023 23:17:58 +0100 (CET)
Received: by mail-qt1-x832.google.com with SMTP id l13so986091qtv.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 14:17:58 -0800 (PST)
Received: from serve.minyard.net ([47.184.176.248])
 by smtp.gmail.com with ESMTPSA id
 w19-20020ac843d3000000b003bfbf3afe51sm468742qtn.93.2023.03.02.14.17.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Mar 2023 14:17:56 -0800 (PST)
Received: from minyard.net (unknown
 [IPv6:2001:470:b8f6:1b:9812:99fe:c8aa:e89a])
 by serve.minyard.net (Postfix) with ESMTPSA id 2843A18000C;
 Thu,  2 Mar 2023 22:17: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
X-Inumbo-ID: 160f0efd-b948-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677795477;
        h=in-reply-to:content-disposition:mime-version:references:reply-to
         :message-id:subject:cc:to:from:date:sender:from:to:cc:subject:date
         :message-id:reply-to;
        bh=V0eFa8ILkm7saCjWoXNnQHqm1RHUvtu7xtFURhRmKWU=;
        b=GWIdVRbSbgGAneugFpQgdh5lGR+K1O2RColDxiylPsGvgbxgTi3suTXXA6wFi8OCK0
         VNr55Ah0Gc82W4FpWSTsMpjDZ1Erp/WmIRnZDS0YpniCm5SeKBzDA3FCJ8OcngRfT3am
         LJR4Wv1lndNYH/Q/fwVcsuZerou4gr/yo1YSLP0kQcvMrmf2NmdjcDnwIAjLduXqmPNe
         VlNJuhUG6Jamo98Ukf3GRQnXMF/KhWX9aS1xIH9/YtXknnp6o/3S59Xtp1bxusSnAubi
         fOjhj1lJxSPeHuAjqExElFjdtMpPl+2YjDqfLqGQB/n6i2Ayg1FV3OBABQqVd1q1TZM5
         StNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677795477;
        h=in-reply-to:content-disposition:mime-version:references:reply-to
         :message-id:subject:cc:to:from:date:sender:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=V0eFa8ILkm7saCjWoXNnQHqm1RHUvtu7xtFURhRmKWU=;
        b=oWLkigZ20h7oFypufCMSMye707uipIiKSgrEMM6XlyXCO0/9eBwlGvKTYBcSXXYPfw
         vEV8ipcGGHx9EVD5t4nIzB8XlzrLgqFbF0lyoEDsVPAe1edYJHrTKkVOXkzgiEKWxj2C
         CTc+v0ulTRP8hyHDxQJazFfd2GV1WGzmGOZWtR+zyIyMuyxrFE8TqSy7mxCxJZ9nBIFl
         IHWk/5YqNLJTOXcWnVATkU7GtHiryugaUfafttENzXpCTFtUug75/0vlofzLtQ9Y+CqC
         XuYyoEzwAAYqAyx6W5oYYs+wVUrwvhqQmpGY0xCvjY1r6qYMd8OFp8QF020+ZHlmGBjr
         YiQA==
X-Gm-Message-State: AO0yUKVV0Dq37/Z8tM8cowwFlyyrbLGAKp9dZ0AbIcg7QAiWDtf8UuPo
	PAfITBQdaH+mv1GnYcB/qA==
X-Google-Smtp-Source: AK7set/y+bOjExP+nvbPQ/5QcDoAS99DJhG2vCN39iU8gau82df1z2MZqb9gk8YkNPi+sskmliPrlQ==
X-Received: by 2002:ac8:5f47:0:b0:3bf:dd45:ed68 with SMTP id y7-20020ac85f47000000b003bfdd45ed68mr19008132qta.47.1677795476934;
        Thu, 02 Mar 2023 14:17:56 -0800 (PST)
Sender: Corey Minyard <tcminyard@gmail.com>
Date: Thu, 2 Mar 2023 16:17:53 -0600
From: Corey Minyard <minyard@acm.org>
To: Luis Chamberlain <mcgrof@kernel.org>
Cc: ebiederm@xmission.com, keescook@chromium.org, yzaikin@google.com,
	jejb@linux.ibm.com, martin.petersen@oracle.com, kys@microsoft.com,
	haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
	song@kernel.org, robinmholt@gmail.com, steve.wahl@hpe.com,
	mike.travis@hpe.com, arnd@arndb.de, gregkh@linuxfoundation.org,
	jirislaby@kernel.org, jgross@suse.com, sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com, xen-devel@lists.xenproject.org,
	j.granados@samsung.com, zhangpeng362@huawei.com,
	tangmeng@uniontech.com, willy@infradead.org, nixiaoming@huawei.com,
	sujiaxun@uniontech.com, patches@lists.linux.dev,
	linux-fsdevel@vger.kernel.org, apparmor@lists.ubuntu.com,
	linux-raid@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/7] ipmi: simplify sysctl registration
Message-ID: <ZAEgkeb6E+k8PFZc@minyard.net>
Reply-To: minyard@acm.org
References: <20230302204612.782387-1-mcgrof@kernel.org>
 <20230302204612.782387-3-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230302204612.782387-3-mcgrof@kernel.org>

On Thu, Mar 02, 2023 at 12:46:07PM -0800, Luis Chamberlain wrote:
> register_sysctl_table() is a deprecated compatibility wrapper.
> register_sysctl() can do the directory creation for you so just use
> that.

Thanks, I have included this in my tree for the next merge window.

-corey

> 
> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
> ---
>  drivers/char/ipmi/ipmi_poweroff.c | 16 +---------------
>  1 file changed, 1 insertion(+), 15 deletions(-)
> 
> diff --git a/drivers/char/ipmi/ipmi_poweroff.c b/drivers/char/ipmi/ipmi_poweroff.c
> index 163ec9749e55..870659d91db2 100644
> --- a/drivers/char/ipmi/ipmi_poweroff.c
> +++ b/drivers/char/ipmi/ipmi_poweroff.c
> @@ -659,20 +659,6 @@ static struct ctl_table ipmi_table[] = {
>  	{ }
>  };
>  
> -static struct ctl_table ipmi_dir_table[] = {
> -	{ .procname	= "ipmi",
> -	  .mode		= 0555,
> -	  .child	= ipmi_table },
> -	{ }
> -};
> -
> -static struct ctl_table ipmi_root_table[] = {
> -	{ .procname	= "dev",
> -	  .mode		= 0555,
> -	  .child	= ipmi_dir_table },
> -	{ }
> -};
> -
>  static struct ctl_table_header *ipmi_table_header;
>  #endif /* CONFIG_PROC_FS */
>  
> @@ -689,7 +675,7 @@ static int __init ipmi_poweroff_init(void)
>  		pr_info("Power cycle is enabled\n");
>  
>  #ifdef CONFIG_PROC_FS
> -	ipmi_table_header = register_sysctl_table(ipmi_root_table);
> +	ipmi_table_header = register_sysctl("dev/ipmi", ipmi_table);
>  	if (!ipmi_table_header) {
>  		pr_err("Unable to register powercycle sysctl\n");
>  		rv = -ENOMEM;
> -- 
> 2.39.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 23:41:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 23:41:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505477.778284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXsYS-0000C1-25; Thu, 02 Mar 2023 23:41:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505477.778284; Thu, 02 Mar 2023 23:41: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 1pXsYR-0000Bu-VQ; Thu, 02 Mar 2023 23:41:43 +0000
Received: by outflank-mailman (input) for mailman id 505477;
 Thu, 02 Mar 2023 23:41: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=4tCB=62=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXsYQ-0000Bh-6S
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 23:41: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 c793076b-b953-11ed-96ad-2f268f93b82a;
 Fri, 03 Mar 2023 00:41:40 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 6AD9FB815BD;
 Thu,  2 Mar 2023 23:41:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 49695C433EF;
 Thu,  2 Mar 2023 23:41: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: c793076b-b953-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677800498;
	bh=tICNt+q9KXZ2OIugH3VT/dAcX/kAn2T75eWiwJuY8w4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=UR1trgwtE9tE0rAgKwS0jquRfV85xKTdt9G6g20T42VMkjNjdRf591jNisA6lCCUO
	 ugYoUDyyUoMU2jZAZG6bzJbs98fd312NvDjjFvCg+7NNLSCrTIHiZg5vcePXmE78jt
	 D0W0LkWz0vuaK6476nGiSKn8rt2rms7qeNCxtcemidFrzYkC5rdv7EHCOe09WhL/ic
	 1YKYYHr5sImejlMVIZJGNYgtP7LCN7Ul43cxiZIWyy0HzgSi58whbffSuOf3yrsYCJ
	 bdn6/NCXblFM1y3VDdwAfdquQWlQYjLe4HEITHANtQdhaECIYCYMEbC7J1PTOoHFDX
	 7Wqc2wBfXyCxQ==
Date: Thu, 2 Mar 2023 15:41:35 -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: "jiamei.xie" <jiamei.xie@arm.com>, xen-devel@lists.xenproject.org, 
    wei.chen@arm.com, sstabellini@kernel.org
Subject: Re: [ImageBuilder][PATCH 1/2] uboot-script-gen: Add support for
 static heap
In-Reply-To: <f480d3c5-e18a-7863-b2a0-9ba95f7e678b@amd.com>
Message-ID: <alpine.DEB.2.22.394.2303021541090.863724@ubuntu-linux-20-04-desktop>
References: <20230302044606.136130-1-jiamei.xie@arm.com> <20230302044606.136130-2-jiamei.xie@arm.com> <f480d3c5-e18a-7863-b2a0-9ba95f7e678b@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 2 Mar 2023, Michal Orzel wrote:
> Hi Jiamei,
> 
> Patch looks good apart from minor comments down below.

Just wanted to add that the patch looks OK to me too and don't have any
further comments beyond the ones Michal's already made


> On 02/03/2023 05:46, jiamei.xie wrote:
> > 
> > 
> > From: jiamei Xie <jiamei.xie@arm.com>
> > 
> > Add a new config parameter to configure static heap.
> > STATIC_HEAP="baseaddr1 size1 ... baseaddrN sizeN"
> > if specified, indicates the host physical address regions
> > [baseaddr, baseaddr + size) to be reserved as static heap.
> > 
> > For instance, STATIC_HEAP="0x50000000 0x30000000", if specified,
> > indicates the host memory region starting from paddr 0x50000000
> > with a size of 0x30000000 to be reserved as static heap.
> > 
> > Signed-off-by: jiamei Xie <jiamei.xie@arm.com>
> > ---
> >  README.md                |  4 ++++
> >  scripts/uboot-script-gen | 20 ++++++++++++++++++++
> >  2 files changed, 24 insertions(+)
> > 
> > diff --git a/README.md b/README.md
> > index 814a004..787f413 100644
> > --- a/README.md
> > +++ b/README.md
> > @@ -256,6 +256,10 @@ Where:
> > 
> >  - NUM_CPUPOOLS specifies the number of boot-time cpupools to create.
> > 
> > +- STATIC_HEAP="baseaddr1 size1 ... baseaddrN sizeN"
> > +  if specified, indicates the host physical address regions
> > +  [baseaddr, baseaddr + size) to be reserved as static heap.
> As this option impacts Xen and not domUs, please call it XEN_STATIC_HEAP and move
> it right after XEN_CMD documentation.
> 
> > +
> >  Then you can invoke uboot-script-gen as follows:
> > 
> >  ```
> > diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> > index f07e334..4775293 100755
> > --- a/scripts/uboot-script-gen
> > +++ b/scripts/uboot-script-gen
> > @@ -189,6 +189,21 @@ function add_device_tree_static_mem()
> >      dt_set "$path" "xen,static-mem" "hex" "${cells[*]}"
> >  }
> > 
> > +function add_device_tree_static_heap()
> > +{
> > +    local path=$1
> > +    local regions=$2
> > +    local cells=()
> > +    local val
> > +
> > +    for val in ${regions[@]}
> > +    do
> > +        cells+=("$(printf "0x%x 0x%x" $(($val >> 32)) $(($val & ((1 << 32) - 1))))")
> Please use split_value function instead of opencoding it.
> It will then become:
> cells+=("$(split_value $val)")
> 
> ~Michal
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 23:48:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 23:48:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505483.778293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXsfN-0000py-OL; Thu, 02 Mar 2023 23:48:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505483.778293; Thu, 02 Mar 2023 23:48: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 1pXsfN-0000pr-Ll; Thu, 02 Mar 2023 23:48:53 +0000
Received: by outflank-mailman (input) for mailman id 505483;
 Thu, 02 Mar 2023 23:48: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=4tCB=62=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXsfM-0000pl-2q
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 23:48:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c70b6ae0-b954-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 00:48:49 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 98378615E7;
 Thu,  2 Mar 2023 23:48:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 60F87C433EF;
 Thu,  2 Mar 2023 23:48: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: c70b6ae0-b954-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677800927;
	bh=7a6IbtBRS8S5NBMck0JXQ0Fuo9CoQWI6Jn1MSWmC9Lg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=krzoh8v52XcldIok/HOrPqNKzrH4BLy9ogvg/ffLj6Doo1g/U4Cwv5J6sz0yjh4HJ
	 45x2THMTVsDe2EkTN75aEbmOz8s6X4oLK+OMnmfSSHfTDlew0kgjYD/XRTInuVXrb2
	 sA3b24At6CBJeuW4BZ559eKDlKWGaxyG5NUp0/5rmFlXmAYePP7YeBRCeC5ADe0BYa
	 IQlKB2bN1tCTrZ2Dahk5sAL5T3yjmNh3L8zaVhxnMpQq/tyK/EznbEeXdW5NLO9eem
	 CZ6RD3h5WPpoP1D/1LXq7ka39c6pEoRlkYRSwsRXFZEqFV0PU6doRGn1YPRVUCA1CQ
	 BDJtWjQI8O2Ng==
Date: Thu, 2 Mar 2023 15:48:44 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "jiamei.xie" <jiamei.xie@arm.com>
cc: xen-devel@lists.xenproject.org, wei.chen@arm.com, sstabellini@kernel.org
Subject: Re: [ImageBuilder][PATCH 2/2] uboot-script-gen: Add support for
 static shared memory
In-Reply-To: <20230302044606.136130-3-jiamei.xie@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303021547030.863724@ubuntu-linux-20-04-desktop>
References: <20230302044606.136130-1-jiamei.xie@arm.com> <20230302044606.136130-3-jiamei.xie@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 2 Mar 2023, jiamei.xie wrote:
> Introduce support for creating shared-mem node for dom0less domUs in
> the device tree. Add the following options:
> - DOMU_SHARED_MEM[number]="HPA GPA size"
>   if specified, indicates the host physical address HPA will get mapped
>   at guest address GPA in domU and the memory of size will be reserved
>   to be shared memory.
> - DOMU_SHARED_MEM_ID[number]
>   An arbitrary string that represents the unique identifier of the shared
>   memory region, with a strict limit on the number of characters(\0
>   included)
> 
> The static shared memory is used between two dom0less domUs.
> 
> Below is an example:
> NUM_DOMUS=2
> DOMU_SHARED_MEM[0]="0x50000000 0x6000000 0x10000000"
> DOMU_SHARED_MEM_ID[0]="my-shared-mem-0"
> DOMU_SHARED_MEM[1]="0x50000000 0x6000000 0x10000000"
> DOMU_SHARED_MEM_ID[1]="my-shared-mem-0"

Rather than two separate properties, do you think it would make sense to
just use one as follows?

NUM_DOMUS=2
DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
DOMU_SHARED_MEM[1]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"

The good thing about bash is that it doesn't care if they are numbers or
strings :-)


> This static shared memory region is identified as "my-shared-mem-0", host
> physical address starting at 0x50000000 of 256MB will be reserved to be
> shared between two domUs. It will get mapped at 0x6000000 in both guest
> physical address space. Both DomUs are the borrower domain, the owner
> domain is the default owner domain DOMID_IO.
> 
> Signed-off-by: jiamei.xie <jiamei.xie@arm.com>
> ---
>  README.md                | 18 ++++++++++++++++++
>  scripts/uboot-script-gen | 26 ++++++++++++++++++++++++++
>  2 files changed, 44 insertions(+)
> 
> diff --git a/README.md b/README.md
> index 787f413..48044ee 100644
> --- a/README.md
> +++ b/README.md
> @@ -192,6 +192,24 @@ Where:
>    if specified, indicates the host physical address regions
>    [baseaddr, baseaddr + size) to be reserved to the VM for static allocation.
>  
> +- DOMU_SHARED_MEM[number]="HPA GPA size" and DOMU_SHARED_MEM_ID[number]
> +  if specified, indicate the host physical address HPA will get mapped at
> +  guest address GPA in domU and the memory of size will be reserved to be
> +  shared memory. The shared memory is used between two dom0less domUs.
> +
> +  Below is an example:
> +  NUM_DOMUS=2
> +  DOMU_SHARED_MEM[0]="0x50000000 0x6000000 0x10000000"
> +  DOMU_SHARED_MEM_ID[0]="my-shared-mem-0"
> +  DOMU_SHARED_MEM[1]="0x50000000 0x6000000 0x10000000"
> +  DOMU_SHARED_MEM_ID[1]="my-shared-mem-0"
> +
> +  This static shared memory region is identified as "my-shared-mem-0", host
> +  physical address starting at 0x50000000 of 256MB will be reserved to be
> +  shared between two domUs. It will get mapped at 0x6000000 in both guest
> +  physical address space. Both DomUs are the borrower domain, the owner
> +  domain is the default owner domain DOMID_IO.
> +
>  - DOMU_DIRECT_MAP[number] can be set to 1 or 0.
>    If set to 1, the VM is direct mapped. The default is 1.
>    This is only applicable when DOMU_STATIC_MEM is specified.
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index 4775293..46215c8 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -204,6 +204,27 @@ function add_device_tree_static_heap()
>      dt_set "$path" "xen,static-heap" "hex" "${cells[*]}"
>  }
>  
> +function add_device_tree_static_shared_mem()
> +{
> +    local path=$1
> +    local domid=$2
> +    local regions=$3
> +    local SHARED_MEM_ID=$4
> +    local cells=()
> +    local SHARED_MEM_HOST=${regions%% *}
> +
> +    dt_mknode "${path}" "domU${domid}-shared-mem@${SHARED_MEM_HOST}"
> +
> +    for val in ${regions[@]}
> +    do
> +        cells+=("$(printf "0x%x 0x%x" $(($val >> 32)) $(($val & ((1 << 32) - 1))))")
> +    done
> +
> +    dt_set "${path}/domU${domid}-shared-mem@${SHARED_MEM_HOST}" "compatible" "str" "xen,domain-shared-memory-v1"
> +    dt_set "${path}/domU${domid}-shared-mem@${SHARED_MEM_HOST}" "xen,shm-id" "str" "${SHARED_MEM_ID}"
> +    dt_set "${path}/domU${domid}-shared-mem@${SHARED_MEM_HOST}" "xen,shared-mem" "hex" "${cells[*]}"
> +}
> +
>  function add_device_tree_cpupools()
>  {
>      local cpu
> @@ -329,6 +350,11 @@ function xen_device_tree_editing()
>              dt_set "/chosen/domU$i" "xen,enhanced" "str" "enabled"
>          fi
>  
> +        if test -n "${DOMU_SHARED_MEM[i]}" -a -n "${DOMU_SHARED_MEM_ID[i]}"
> +        then
> +                add_device_tree_static_shared_mem "/chosen/domU${i}" "${i}" "${DOMU_SHARED_MEM[i]}" "${DOMU_SHARED_MEM_ID[i]}"
> +        fi
> +
>          if test "${DOMU_COLORS[$i]}"
>          then
>              local startcolor=$(echo "${DOMU_COLORS[$i]}"  | cut -d "-" -f 1)
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Mar 02 23:50:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Mar 2023 23:50:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505488.778304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXshJ-0002Uc-2y; Thu, 02 Mar 2023 23:50:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505488.778304; Thu, 02 Mar 2023 23:50: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 1pXshJ-0002UV-0D; Thu, 02 Mar 2023 23:50:53 +0000
Received: by outflank-mailman (input) for mailman id 505488;
 Thu, 02 Mar 2023 23:50: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=4tCB=62=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXshH-0002UN-K4
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 23:50:51 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f1137cd-b955-11ed-96ad-2f268f93b82a;
 Fri, 03 Mar 2023 00:50:50 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0AF7C615E7;
 Thu,  2 Mar 2023 23:50:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 232A7C433EF;
 Thu,  2 Mar 2023 23:50: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: 0f1137cd-b955-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677801048;
	bh=Sdk9Ok/e+YBLzSbWZW3D3COI7xsqH8tIB0rTyM3efRY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=o5FOVl9paKdaZxUSsqWRkKDmBJS+og1/3pxvEN+KpLdbFCVxSuMI8oqF1XW7kOp9K
	 5pzeFn3yfmxz8QNUhJlO2s+GYPPihaYUkOEKDmDMavwKLalCn8gQKoLeBdfJlAePN1
	 8mtDAaxXb0ELVr1DdjuBAm9v07iQiK9mi3EA16i0xcvPq/ZTIK2RaWgv7V/vl3YKC2
	 xGWqn2DHPxnpR5ysZsTTb2Sb8u0qyoJ8JKXccSTqVvU62VGxhlk+KCUV2svBNpnKw6
	 e7Z9pt+KIH2MNmh5lH1d7AQ6Dc7Rx/GxJYobj99jQwzBMBEOqBwbmnJ9xOsPbEXQ5w
	 MtSsyXuG1jyIA==
Date: Thu, 2 Mar 2023 15:50:45 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/2] xen/cppcheck: add a way to exclude files from
 the scan
In-Reply-To: <D40B74ED-1FB2-440F-A816-A47F837FABD6@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303021550180.863724@ubuntu-linux-20-04-desktop>
References: <20230301095320.264301-1-luca.fancellu@arm.com> <20230301095320.264301-2-luca.fancellu@arm.com> <alpine.DEB.2.22.394.2303011558170.3680@ubuntu-linux-20-04-desktop> <D40B74ED-1FB2-440F-A816-A47F837FABD6@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-535574450-1677801048=:863724"

  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-535574450-1677801048=:863724
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 2 Mar 2023, Luca Fancellu wrote:
> >> +Exclude file list for xen-analysis script
> >> +=========================================
> >> +
> >> +The code analysis is performed on the Xen codebase for both MISRA checkers and
> >> +static analysis checkers, there are some files however that needs to be removed
> >> +from the findings report because they are not owned by Xen and they must be kept
> >> +in sync with their origin (completely or even partially), hence we can't easily
> >> +fix findings or deviate from them.
> > 
> > I would stay more generic and say something like:
> > 
> > The code analysis is performed on the Xen codebase for both MISRA
> > checkers and static analysis checkers, there are some files however that
> > needs to be removed from the findings report for various reasons (e.g.
> > they are imported from external sources, they generate too many false
> > positive results, etc.).
> > 
> > But what you wrote is also OK.
> 
> I’m ok with that too, I can update with your wordings
> >> 
> >> +++ b/xen/scripts/xen_analysis/exclusion_file_list.py
> >> @@ -0,0 +1,79 @@
> >> +#!/usr/bin/env python3
> >> +
> >> +import os, glob, json
> >> +from . import settings
> >> +
> >> +class ExclusionFileListError(Exception):
> >> +    pass
> >> +
> >> +
> >> +def __cppcheck_path_exclude_syntax(path):
> >> +    # Prepending * to the relative path to match every path where the Xen
> >> +    # codebase could be
> >> +    path = "*" + path
> >> +
> >> +    # Check if the path is to a folder without the wildcard at the end
> >> +    if not (path.endswith(".c") or path.endswith(".h") or path.endswith("*")):
> > 
> > Isn't there a python call to check that it is actually a folder? I think
> > that would be more resilient because otherwise if someone passes a .S or
> > .cpp file it would be detected as directory.
> > 
> > 
> >> +        # The path is to a folder, if it doesn't have the final /, add it
> >> +        if not path.endswith("/"):
> >> +            path = path + "/"
> >> +        # Since the path is a folder, add a wildcard to the end so that
> >> +        # cppcheck will remove every issue related with this path
> >> +        path = path + "*"
> >> +
> >> +    return path
> 
> Yes you are very right, here I wanted to accept the relative path to a folder with
> or without the ending '/*’, but it carries on much more complexity because here the
> relative path can contain wildcards in it, so we can’t use os.path.isdir() which would
> fail.
> 
> At cost of being more strict on how folders shall be declared, I think it’s better to
> enforce the ‘/*’ at the end of a path that is excluding a folder.
> 
> We have a previous check using glob() to ensure path with wildcards are real path
> so we are safe that the passed relative path are OK.
> 
> Dropping the requirement of passing folder paths with or without the ‘/*’ simplifies
> the code and this would be the final result:
> 
> 
> diff --git a/docs/misra/exclude-list.rst b/docs/misra/exclude-list.rst
> index 969539c46beb..c97431a86120 100644
> --- a/docs/misra/exclude-list.rst
> +++ b/docs/misra/exclude-list.rst
> @@ -3,11 +3,11 @@
>  Exclude file list for xen-analysis script
>  =========================================
>  
> -The code analysis is performed on the Xen codebase for both MISRA checkers and
> -static analysis checkers, there are some files however that needs to be removed
> -from the findings report because they are not owned by Xen and they must be kept
> -in sync with their origin (completely or even partially), hence we can't easily
> -fix findings or deviate from them.
> +The code analysis is performed on the Xen codebase for both MISRA
> +checkers and static analysis checkers, there are some files however that
> +needs to be removed from the findings report for various reasons (e.g.
> +they are imported from external sources, they generate too many false
> +positive results, etc.).
>  
>  For this reason the file docs/misra/exclude-list.json is used to exclude every
>  entry listed in that file from the final report.
> @@ -42,3 +42,5 @@ Here is an explanation of the fields inside an object of the "content" array:
>  
>  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
> +folder.
> diff --git a/xen/scripts/xen_analysis/exclusion_file_list.py b/xen/scripts/xen_analysis/exclusion_file_list.py
> index 4a47a90f5944..871e480586bb 100644
> --- a/xen/scripts/xen_analysis/exclusion_file_list.py
> +++ b/xen/scripts/xen_analysis/exclusion_file_list.py
> @@ -12,15 +12,6 @@ def __cppcheck_path_exclude_syntax(path):
>      # codebase could be
>      path = "*" + path
>  
> -    # Check if the path is to a folder without the wildcard at the end
> -    if not (path.endswith(".c") or path.endswith(".h") or path.endswith("*")):
> -        # The path is to a folder, if it doesn't have the final /, add it
> -        if not path.endswith("/"):
> -            path = path + "/"
> -        # Since the path is a folder, add a wildcard to the end so that
> -        # cppcheck will remove every issue related with this path
> -        path = path + "*"
> -
>      return path
>  
>  
> I’ve included also your wording and I’ve specified in the docs how to exclude a folder.
> 
> Do you think it’s ok to proceed in this way?

Yes I think that's fine. I like that the python script becomes simpler
--8323329-535574450-1677801048=:863724--


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 01:00:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 01:00:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505509.778313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXtmJ-0005kC-1M; Fri, 03 Mar 2023 01:00:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505509.778313; Fri, 03 Mar 2023 01:00: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 1pXtmI-0005jx-UW; Fri, 03 Mar 2023 01:00:06 +0000
Received: by outflank-mailman (input) for mailman id 505509;
 Fri, 03 Mar 2023 01: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=zpNm=63=microsoft.com=mikelley@srs-se1.protection.inumbo.net>)
 id 1pXtmG-0004gO-Pf
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 01:00:04 +0000
Received: from BN3PR00CU001-vft-obe.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9cf72ac-b95e-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 02:00:02 +0100 (CET)
Received: from BYAPR21MB1688.namprd21.prod.outlook.com (2603:10b6:a02:bf::26)
 by DS0PR21MB3862.namprd21.prod.outlook.com (2603:10b6:8:117::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.7; Fri, 3 Mar
 2023 00:59:58 +0000
Received: from BYAPR21MB1688.namprd21.prod.outlook.com
 ([fe80::629a:b75a:482e:2d4a]) by BYAPR21MB1688.namprd21.prod.outlook.com
 ([fe80::629a:b75a:482e:2d4a%5]) with mapi id 15.20.6178.007; Fri, 3 Mar 2023
 00:59: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: b9cf72ac-b95e-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AuvQ9CDuHTMoZoDb9rs1DRZD52BGA2lguPZ0TBoSd6InI4TRNTWQYv306bTWu8JaofJ9ALgDDCpx5MQV+F9V0R/aDN0T4sdhUxGJpwTq+Qy/6+fQ1pII3YOALF7R9JNwRQSl6cTCIG1mOzBevY4Dq5wXVy7WMN52ZFT5JKtsflH+AZXAS4u0Y0c+skSVPDuK5noB87ZonlrRe8Gx596LC/5bWOCJoeBEAsH70F2Yew+umsSwnIHQ4N1s1R0kaEHVBuKEz9HqjXa0bahlIZqw23dFMNMUvLM5cTNCj3uAtVf8yQqX8PkJKKT/OLKq1tJrYHRSgAqwVspHcaNOkKxqeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hcwaIoYuY8LkEKc/K8Y1d7YqRltWlySlqVn09ozurWo=;
 b=KTN6sLYr7jCChpiimVQRmeG2pwlp5F1YONzPfwqk82Bo5gP1hIN0ts/5vmbyLbbquIrmOlG+OAAmFY/CWH+jNmOzSYJE4fLLH6KpJIZb7HeqhrYmICTHqU9e1VIz/m1/mbD13u3Y1QknMA6ft0MJyeiU4vpb8xGjb0bC1CsMsUrRYDIgaDJdzpIuNA8f7IOcoQXb3vhAARofFUUYjUSmcEld+fYhxjQYxcRSBqHog/G4m3E/USZntIZ5gGJ1FM/LdpM3piFFMUfihHzYlZD1u+Ae8oaXt4OQ9JKCuB8Fez1VYUlxDabRUGJDItRZQUJhPDb77bi4tGv2VN2halZT1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=microsoft.com; dmarc=pass action=none
 header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hcwaIoYuY8LkEKc/K8Y1d7YqRltWlySlqVn09ozurWo=;
 b=LVLreJfQLFqKH8U4sGCDkzsfz9neFxkUuGRsl8DqLSj5AdVo39uRPljKiJo6tsjJFw2vbLB13JkI6SygMLOlOIOde47WEuuV3jRXazucmOfm3tvv7yeo/KrapIm8f9ro7ykPzvUr0gdOGV13GBqg3DqzAa+Hu/imBrVtt+xRz7w=
From: "Michael Kelley (LINUX)" <mikelley@microsoft.com>
To: Luis Chamberlain <mcgrof@kernel.org>, "ebiederm@xmission.com"
	<ebiederm@xmission.com>, "keescook@chromium.org" <keescook@chromium.org>,
	"yzaikin@google.com" <yzaikin@google.com>, "jejb@linux.ibm.com"
	<jejb@linux.ibm.com>, "martin.petersen@oracle.com"
	<martin.petersen@oracle.com>, "minyard@acm.org" <minyard@acm.org>, KY
 Srinivasan <kys@microsoft.com>, Haiyang Zhang <haiyangz@microsoft.com>,
	"wei.liu@kernel.org" <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
	"song@kernel.org" <song@kernel.org>, "robinmholt@gmail.com"
	<robinmholt@gmail.com>, "steve.wahl@hpe.com" <steve.wahl@hpe.com>,
	"mike.travis@hpe.com" <mike.travis@hpe.com>, "arnd@arndb.de" <arnd@arndb.de>,
	"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
	"jirislaby@kernel.org" <jirislaby@kernel.org>, "jgross@suse.com"
	<jgross@suse.com>, "sstabellini@kernel.org" <sstabellini@kernel.org>,
	"oleksandr_tyshchenko@epam.com" <oleksandr_tyshchenko@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "j.granados@samsung.com" <j.granados@samsung.com>,
	"zhangpeng362@huawei.com" <zhangpeng362@huawei.com>, "tangmeng@uniontech.com"
	<tangmeng@uniontech.com>, "willy@infradead.org" <willy@infradead.org>,
	"nixiaoming@huawei.com" <nixiaoming@huawei.com>, "sujiaxun@uniontech.com"
	<sujiaxun@uniontech.com>, "patches@lists.linux.dev"
	<patches@lists.linux.dev>, "linux-fsdevel@vger.kernel.org"
	<linux-fsdevel@vger.kernel.org>, "apparmor@lists.ubuntu.com"
	<apparmor@lists.ubuntu.com>, "linux-raid@vger.kernel.org"
	<linux-raid@vger.kernel.org>, "linux-scsi@vger.kernel.org"
	<linux-scsi@vger.kernel.org>, "linux-hyperv@vger.kernel.org"
	<linux-hyperv@vger.kernel.org>, "openipmi-developer@lists.sourceforge.net"
	<openipmi-developer@lists.sourceforge.net>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
Subject: RE: [PATCH 3/7] hv: simplify sysctl registration
Thread-Topic: [PATCH 3/7] hv: simplify sysctl registration
Thread-Index: AQHZTUghmT7Wxm+Iike4T3P5qQULMa7oPC4w
Date: Fri, 3 Mar 2023 00:59:57 +0000
Message-ID:
 <BYAPR21MB16886A06B7D3DBC4A10EF984D7B39@BYAPR21MB1688.namprd21.prod.outlook.com>
References: <20230302204612.782387-1-mcgrof@kernel.org>
 <20230302204612.782387-4-mcgrof@kernel.org>
In-Reply-To: <20230302204612.782387-4-mcgrof@kernel.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
 MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=fe1c164e-92ed-4e67-a49a-a1d27905e5b8;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2023-03-03T00:59:14Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47;
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=microsoft.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR21MB1688:EE_|DS0PR21MB3862:EE_
x-ms-office365-filtering-correlation-id: 498f5fa7-384d-434b-9bdb-08db1b829bfa
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 7luQdAIeYd5DgNZR0tGfR/9z4g/rMl+7zsncSixc5P0tSF2YznjxdKfNk2/XxD6P036DDuO+gCtuwUmxbimpR8Hpem3XHlv1oO+q1bTUM++rxQ2Ii0LEyz+wROLz/N31ouX7S+QTBuysw34y//aFm1YSLoWrjxlvUANhsy7vCei2qokx36c8iT9FDc0QOhdfkY6eZnUmehOfKTyLJFT/3kKh9dHiGM4pjos2Ycs+7PoXzYd4vBgmZjNbhCoixf8eO4mvM0aoPPiG8lkSITXpn7g3PeihGrs18A1AaYrr6JZ5DbZguaOTuJyt64npXPPPGaJyQJHLeAkEQoo8u0ixrNJ/3y2AR5pilPKj4vpAPUzlTXny3EYcWxg7dXnCTfuGsTA96I/uT92bCZv9TKH7PHLQSg/R5Rl+O/uTMULQ4u3rrVFgYD/EwNLTLMjNSy4vJZKcdSP2opAl0Gg8jgRMTXGs4vQ0KJiJ4PlMepgeg6UyUIgyBj8sEaNFBYuF3Y8zgyv2koCiTKmyeaVAt53oHJKOacAn/ovwnom5kyHaGxVEOEc3iv07s0V6i/fTN7s7TFZS7NzQV1L1tvprKry8SRyziTKBs0eb53aus1kwmqo4eIwwAV19RdCPtQDZTQy3BNuM58c+t/8DFDlvUQtQMkrToH27wp3tA9Dr7fgwgR9WZsyCqyuI0XCZ08XcToSrwxNaZJMRaUByugMqUm0yULNghWDvejHn2mTPf5aCueS/QolYN9ganhHiO9jg9rz2mmUVK5eu4VItO+bNagQV4Q==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR21MB1688.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(136003)(366004)(396003)(39860400002)(376002)(451199018)(7696005)(86362001)(6506007)(66446008)(316002)(64756008)(55016003)(4326008)(66556008)(66476007)(8676002)(921005)(54906003)(110136005)(83380400001)(2906002)(122000001)(33656002)(26005)(82960400001)(9686003)(186003)(7416002)(7406005)(82950400001)(76116006)(52536014)(66946007)(8936002)(38070700005)(5660300002)(38100700002)(71200400001)(478600001)(10290500003)(41300700001)(8990500004);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?Ajsq1TcVBn/ZLc3bc9sjhQmJ5VdDc49BQXeKLlNu5Xi4zQAjIAs7HTggdJef?=
 =?us-ascii?Q?d5lH3GhjyhYxRc39AEP4URGZq7GKgXxA0Vn4MfAje8V8ivdT+ZfFDUrCsW8e?=
 =?us-ascii?Q?7sSfq9xxnM5qq2U5oWNasrF8qnie2hbZ9LpmEyHusy2WOFiDLWD50Sv+Hva6?=
 =?us-ascii?Q?7bzMLasCQrRBrKzM0gqZP+5YiMjeIRb32uFOM2irqfBfj4cL/0imWLRD5Hq/?=
 =?us-ascii?Q?PE3A2tX/La/Kd+gdJHdQjFs6lHOjqVNANhP+Nf4GmBF3EphSt6mXbN0ou2OR?=
 =?us-ascii?Q?GN0bKnVDlbdI/H3V7D0Qrq7qhKlacE02BwZvPuDqZf3EPjJ3qGOIOL3PaTea?=
 =?us-ascii?Q?9CAI6za1+0JsolWIG9jauZtMVgB7taUYltoQ07FE5QD5Yoe7jLJlXV7/FrBf?=
 =?us-ascii?Q?B0qNP1LMdyYJ2Bm/HMHl1GniNGQyZeEja54IzlVTEbdZJtPKq4PW+LSod1n/?=
 =?us-ascii?Q?knyIGVPGr1AMLjwjl+iJ5VLtrMtyIUpvgIl99P0e9BnaV24LZhLdhxKxJObN?=
 =?us-ascii?Q?B2JFSUp2CDvw4j1aG9i2QSbrcWbDH/whvqtCspG4ader+UMxN78zbApssmDz?=
 =?us-ascii?Q?ZG7ebyOnon0A93z8ClnmaECKcl+VQ4LKYbQcYeP1Xx75vxArx5WZNvHwvK1B?=
 =?us-ascii?Q?2ucIk51ZHwGtB2AXNCQFUZJ2Hvk6hkOg4WQSni29h9mQinYPDkjl9JRoTQxH?=
 =?us-ascii?Q?bsnD10sd5jpQwKEhmZCVTBx9YxnP+jRSZw0qWanrhKjaskv+maKFjYWWqKM8?=
 =?us-ascii?Q?PkBWNrhxbuLQ6i2tAQUpUrYpfXvOA7vCQywuqiyDlLSzR1cxLNkQ6p69eIu6?=
 =?us-ascii?Q?L+sS1uH2rSjrmBTohd7P1VuG8yRUFAL6OIKGTjOxn2c69hkUajhOPHEYTSAi?=
 =?us-ascii?Q?I6AhrBAnCIAgCFUvvsqP1uJ+NYWUTCVh7Gw2cgIVvtHS608v4+Nq3DIzyJ9f?=
 =?us-ascii?Q?87oU27P4cZPjozZG+mNGMcVq9M87ha+n2HuHGDe0RT4e2z/alPMT11LjpFnd?=
 =?us-ascii?Q?rCL+i+0TFLZuvhZZodEYpL4SZq+13/lm4fwaJh5p+QUzd4MBdAJaeBgFXmnA?=
 =?us-ascii?Q?46/n8wKY4PeVwhJldIxHJaDUWERBY4Z/3bZzPu3GCgKfPc+rzxsDNxt2JqaX?=
 =?us-ascii?Q?xsSks+hYmF41SwWMsf9ztHnOFCaED+W9nbQmlLKOoF1ULbXQ3Ee1Ea/kiKTx?=
 =?us-ascii?Q?8woDr1xYwd2gTqZAPOzgJTAKNV62vXparryLddhI89Zg4SJG6zczb53yJLCK?=
 =?us-ascii?Q?lXCuuDSpxZTiNk32qLOshIDxnSq3K6NRONByvmZK/Fqqo2OP59MsPIWkm03n?=
 =?us-ascii?Q?etWje6b76FuXRvDJi3d0lEZddit+VzjvMQhN9+aVDzlTTcXG6P4FyoI/Erqa?=
 =?us-ascii?Q?fmywD0gRJZ3hCzj0VnIEcr2W7q0SxvBdus0yHywgex4Bwxt8Ck+uNvlEmPCf?=
 =?us-ascii?Q?h3l2DVTr8A7wwKI3o8mk8HKewLClpYeqn+UoCvfe9psUV3Jm8nfGAjWPMDMm?=
 =?us-ascii?Q?aUJmbyXPOiXE6GKni1hIF2P3q1GIaDJ2dI0vtmw+UatAnjSvGXOivH4M8MfZ?=
 =?us-ascii?Q?9MUBFg4n3Vtg7x+s7/ShI2o3Aq7UpkhH4aG6XPDeJQFbNvUphiZ1RzE/mv5l?=
 =?us-ascii?Q?xg=3D=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR21MB1688.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 498f5fa7-384d-434b-9bdb-08db1b829bfa
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2023 00:59:57.9023
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: DcXel5WdWBH6prBf0eyu02o+jyHBBZnK9EZRtDBaMLWw1+SzlPHPmquDTa7XuodbaT1BylXcJcvDRudky5c3L+jqQLrpSx9i6f8CZkASXtM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR21MB3862

From: Luis Chamberlain <mcgrof@infradead.org> On Behalf Of Luis Chamberlain=
 Sent: Thursday, March 2, 2023 12:46 PM
>
> register_sysctl_table() is a deprecated compatibility wrapper.
> register_sysctl() can do the directory creation for you so just use
> that.
>=20
> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
> ---
>  drivers/hv/vmbus_drv.c | 11 +----------
>  1 file changed, 1 insertion(+), 10 deletions(-)
>=20
> diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
> index d24dd65b33d4..229353f1e9c2 100644
> --- a/drivers/hv/vmbus_drv.c
> +++ b/drivers/hv/vmbus_drv.c
> @@ -1460,15 +1460,6 @@ static struct ctl_table hv_ctl_table[] =3D {
>  	{}
>  };
>=20
> -static struct ctl_table hv_root_table[] =3D {
> -	{
> -		.procname	=3D "kernel",
> -		.mode		=3D 0555,
> -		.child		=3D hv_ctl_table
> -	},
> -	{}
> -};
> -
>  /*
>   * vmbus_bus_init -Main vmbus driver initialization routine.
>   *
> @@ -1547,7 +1538,7 @@ static int vmbus_bus_init(void)
>  		 * message recording won't be available in isolated
>  		 * guests should the following registration fail.
>  		 */
> -		hv_ctl_table_hdr =3D register_sysctl_table(hv_root_table);
> +		hv_ctl_table_hdr =3D register_sysctl("kernel", hv_ctl_table);
>  		if (!hv_ctl_table_hdr)
>  			pr_err("Hyper-V: sysctl table register error");
>=20
> --
> 2.39.1

Reviewed-by: Michael Kelley <mikelley@microsoft.com>


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 01:50:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 01:50:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505514.778323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXuZK-0000Mp-R7; Fri, 03 Mar 2023 01:50:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505514.778323; Fri, 03 Mar 2023 01:50: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 1pXuZK-0000Mi-OH; Fri, 03 Mar 2023 01:50:46 +0000
Received: by outflank-mailman (input) for mailman id 505514;
 Fri, 03 Mar 2023 01: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=RVKH=63=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXuZK-0000Mc-7l
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 01:50:46 +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 cde271bf-b965-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 02:50:42 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id A3F4FB81620;
 Fri,  3 Mar 2023 01:50:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8F1DBC433EF;
 Fri,  3 Mar 2023 01:50: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: cde271bf-b965-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677808240;
	bh=J4jq6uQhFtdRXuZ1EBQsnhna5276jBkAgGExuHkgetc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ihVgY7Nk0vloYX++qkIRiPGAl+YQ3qDHKqVurRj5j3GOZP47aHnPH4XbtUeF91iJ6
	 AT2uBNPx4085x59iqgaWdgI78PEuuU+2B9TUXS205demTh7ok30P5ExrW0BIb3xKtR
	 ljqHAQZOYbWVRQUupaB9htYETdBgbuc4WfbTq/Gx1q+Jrwx95IJUuM4pPP4PMELBj9
	 1PcM8q+BltsOS/aOCo700n8XjLnHn+kz1VsuS+4jvusD/4A/7E6ir2irBv0TnXHBQD
	 GQz9BeWDUKuJfWe19IHJDjDE/6vm+uFgQMeaF4G5buwsqYwaNs5ZFLwiCfxNLSZjmq
	 +59osOiVPXaww==
Date: Thu, 2 Mar 2023 17:50:37 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "jiamei.xie" <jiamei.xie@arm.com>
cc: xen-devel@lists.xenproject.org, wei.chen@arm.com, sstabellini@kernel.org, 
    bertrand.marquis@arm.com, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 1/2] automation: arm64: Create a test job for testing
 static heap on qemu
In-Reply-To: <20230302044421.136068-2-jiamei.xie@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303021748290.863724@ubuntu-linux-20-04-desktop>
References: <20230302044421.136068-1-jiamei.xie@arm.com> <20230302044421.136068-2-jiamei.xie@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 2 Mar 2023, jiamei.xie wrote:
> From: Jiamei Xie <jiamei.xie@arm.com>
> 
> Create a new test job, called qemu-smoke-dom0less-arm64-gcc-staticheap.
> 
> Add property "xen,static-heap" under /chosen node to enable static-heap.
> If the domU can start successfully with static-heap enabled, then this
> test pass.
> 
> Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>

Hi Jiamei, thanks for the patch!


> ---
>  automation/gitlab-ci/test.yaml                 | 16 ++++++++++++++++
>  .../scripts/qemu-smoke-dom0less-arm64.sh       | 18 ++++++++++++++++++
>  2 files changed, 34 insertions(+)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 1c5f400b68..5a9b88477a 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -133,6 +133,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-debug-arm64-staticmem
>  
> +qemu-smoke-dom0less-arm64-gcc-staticheap:
> + extends: .qemu-arm64
> + script:
> +   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
> + needs:
> +   - *arm64-test-needs
> +   - alpine-3.12-gcc-arm64
> +
> +qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
> + extends: .qemu-arm64
> + script:
> +   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
> + needs:
> +   - *arm64-test-needs
> +   - alpine-3.12-gcc-debug-arm64
> +
>  qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
>    extends: .qemu-arm64
>    script:
> diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> index 182a4b6c18..4e73857199 100755
> --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
> +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> @@ -27,6 +27,11 @@ fi
>  "
>  fi
>  
> +if [[ "${test_variant}" == "static-heap" ]]; then
> +    passed="${test_variant} test passed"
> +    domU_check="echo \"${passed}\""
> +fi
> +
>  if [[ "${test_variant}" == "boot-cpupools" ]]; then
>      # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler
>      passed="${test_variant} test passed"
> @@ -128,6 +133,19 @@ if [[ "${test_variant}" == "static-mem" ]]; then
>      echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> binaries/config
>  fi
>  
> +if [[ "${test_variant}" == "static-heap" ]]; then
> +    # ImageBuilder uses the config file to create the uboot script. Devicetree
> +    # will be set via the generated uboot script.
> +    # The valid memory range is 0x40000000 to 0x80000000 as defined before.
> +    # ImageBuillder sets the kernel and ramdisk range based on the file size.
> +    # It will use the memory range between 0x45600000 to 0x47AED1E8, so set
> +    # memory range between 0x50000000 and 0x80000000 as static heap.

I think this is OK. One suggestion to make things more reliable would be
to change MEMORY_END to be 0x50000000 so that you can be sure that
ImageBuilder won't go over the limit. You could do it just for this
test, which would be safer, but to be honest you could limit MEMORY_END
to 0x50000000 for all tests in qemu-smoke-dom0less-arm64.sh because it
shouldn't really cause any problems.


> +    echo  '
> +STATIC_HEAP="0x50000000 0x30000000"
> +# The size of static heap should be greater than the guest memory
> +DOMU_MEM[0]="128"' >> binaries/config
> +fi
> +
>  if [[ "${test_variant}" == "boot-cpupools" ]]; then
>      echo '
>  CPUPOOL[0]="cpu@1 null"
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 01:56:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 01:56:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505519.778334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXufD-000109-Fz; Fri, 03 Mar 2023 01:56:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505519.778334; Fri, 03 Mar 2023 01: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 1pXufD-000102-DM; Fri, 03 Mar 2023 01:56:51 +0000
Received: by outflank-mailman (input) for mailman id 505519;
 Fri, 03 Mar 2023 01:56: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=RVKH=63=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXufC-0000zw-43
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 01:56:50 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a892ce6d-b966-11ed-96ad-2f268f93b82a;
 Fri, 03 Mar 2023 02:56:49 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 958B3B8161F;
 Fri,  3 Mar 2023 01:56:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 63027C433EF;
 Fri,  3 Mar 2023 01:56: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: a892ce6d-b966-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677808606;
	bh=RFMk4bNqwpsiuY41rWDiX2skM//pLsTzyQyFjORv0ZI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ApWme3FMgkWcjV2fASFbpM9ES09Hgss3VdVrGn8EtgclIlxs9KXD73nQ17YwxX0FU
	 iHE+kmloxawP6+wP71ECcbFXtTSzFrq46NNmy8RX/Rn35f5NTyeG6YjW0OPhQH7fh7
	 3CieWGThj+0gIIxqAvR5HBwQ0aYkFsCTe7gvF2n5BtWDbG1IiAsG136tq/4JSIhTjj
	 Xtq/Kyj+t4gWwQ2Pns9xr7J9GsZClbzfrmyfraYDilhDD6013ALQfd0X2Frp1sSqOR
	 LfNyO+OzLKcT/3itgZW//b/7TyBDwy0PQqmzam+CCt18IE2/JD78pQJZlOPmOpEVJD
	 1uy1xeDEYlCzw==
Date: Thu, 2 Mar 2023 17:56:43 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "jiamei.xie" <jiamei.xie@arm.com>
cc: xen-devel@lists.xenproject.org, wei.chen@arm.com, sstabellini@kernel.org, 
    bertrand.marquis@arm.com, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 2/2] automation: arm64: Create a test job for testing
 static shared memory on qemu
In-Reply-To: <20230302044421.136068-3-jiamei.xie@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303021754470.863724@ubuntu-linux-20-04-desktop>
References: <20230302044421.136068-1-jiamei.xie@arm.com> <20230302044421.136068-3-jiamei.xie@arm.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 2 Mar 2023, jiamei.xie wrote:
> Create a new test job, called qemu-smoke-dom0less-arm64-gcc-static-shared-mem.
> 
> Adjust qemu-smoke-dom0less-arm64.sh script to accomodate the static
> shared memory test as a new test variant. The test variant is determined
> based on the first argument passed to the script. For testing static
> shared memory, the argument is 'static-shared-mem'.
> 
> The test configures two dom0less DOMUs with a static shared memory
> region and adds a check in the init script.
> 
> The check consists in comparing the contents of the /proc/device-tree/reserved-memory
> xen-shmem entry with the static shared memory range and id with which
> DOMUs were configured. If the memory layout is correct, a message gets
> printed by DOMU.
> 
> At the end of the qemu run, the script searches for the specific message
> in the logs and fails if not found.
> 
> Signed-off-by: jiamei.xie <jiamei.xie@arm.com>
> ---
>  automation/gitlab-ci/build.yaml               | 18 ++++++++++++
>  automation/gitlab-ci/test.yaml                | 16 ++++++++++
>  .../scripts/qemu-smoke-dom0less-arm64.sh      | 29 +++++++++++++++++++
>  3 files changed, 63 insertions(+)
> 
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 38bb22d860..820cc0af83 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -623,6 +623,24 @@ alpine-3.12-gcc-debug-arm64-staticmem:
>        CONFIG_UNSUPPORTED=y
>        CONFIG_STATIC_MEMORY=y
>  
> +alpine-3.12-gcc-arm64-static-shared-mem:
> +  extends: .gcc-arm64-build
> +  variables:
> +    CONTAINER: alpine:3.12-arm64v8
> +    EXTRA_XEN_CONFIG: |
> +      CONFIG_UNSUPPORTED=y
> +      CONFIG_STATIC_MEMORY=y
> +      CONFIG_STATIC_SHM=y
> +
> +alpine-3.12-gcc-debug-arm64-static-shared-mem:
> +  extends: .gcc-arm64-build-debug
> +  variables:
> +    CONTAINER: alpine:3.12-arm64v8
> +    EXTRA_XEN_CONFIG: |
> +      CONFIG_UNSUPPORTED=y
> +      CONFIG_STATIC_MEMORY=y
> +      CONFIG_STATIC_SHM=y
> +
>  alpine-3.12-gcc-arm64-boot-cpupools:
>    extends: .gcc-arm64-build
>    variables:
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 5a9b88477a..f4d36babda 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -149,6 +149,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
>     - *arm64-test-needs
>     - alpine-3.12-gcc-debug-arm64
>  
> +qemu-smoke-dom0less-arm64-gcc-static-shared-mem:
> +  extends: .qemu-arm64
> +  script:
> +    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *arm64-test-needs
> +    - alpine-3.12-gcc-arm64-static-shared-mem
> +
> +qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
> +  extends: .qemu-arm64
> +  script:
> +    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *arm64-test-needs
> +    - alpine-3.12-gcc-debug-arm64-static-shared-mem
> +
>  qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
>    extends: .qemu-arm64
>    script:
> diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> index 4e73857199..fe3a282726 100755
> --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
> +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> @@ -32,6 +32,25 @@ if [[ "${test_variant}" == "static-heap" ]]; then
>      domU_check="echo \"${passed}\""
>  fi
>  
> +
> +if [[ "${test_variant}" == "static-shared-mem" ]]; then
> +    passed="${test_variant} test passed"
> +    SHARED_MEM_HOST="50000000"
> +    SHARED_MEM_GUEST="4000000"
> +    SHARED_MEM_SIZE="10000000"
> +    SHARED_MEM_ID="my-shared-mem-0"
> +
> +    domU_check="
> +current_id=\$(cat /proc/device-tree/reserved-memory/xen-shmem@4000000/xen,id 2>/dev/null)
> +expected_id=\"\$(echo ${SHARED_MEM_ID})\"
> +current_reg=\$(hexdump -e '16/1 \"%02x\"' /proc/device-tree/reserved-memory/xen-shmem@4000000/reg 2>/dev/null)
> +expected_reg=$(printf \"%016x%016x\" 0x${SHARED_MEM_GUEST} 0x${SHARED_MEM_SIZE})
> +if [[ \"\${expected_reg}\" == \"\${current_reg}\" && \"\${current_id}\" == \"\${expected_id}\" ]]; then
> +    echo \"${passed}\"
> +fi
> +    "
> +fi

all good so far


>  if [[ "${test_variant}" == "boot-cpupools" ]]; then
>      # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler
>      passed="${test_variant} test passed"
> @@ -133,6 +152,16 @@ if [[ "${test_variant}" == "static-mem" ]]; then
>      echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> binaries/config
>  fi
>  
> +if [[ "${test_variant}" == "static-shared-mem" ]]; then
> +echo "NUM_DOMUS=2
> +DOMU_SHARED_MEM[0]=\""0x${SHARED_MEM_HOST} 0x${SHARED_MEM_GUEST} 0x${SHARED_MEM_SIZE}"\"
> +DOMU_SHARED_MEM_ID[0]="${SHARED_MEM_ID}"
> +DOMU_KERNEL[1]=\"Image\"
> +DOMU_RAMDISK[1]=\"initrd\"

Please move the second domU creation above to the general ImageBuilder
script. It is fine to start 2 dom0less guests for all tests (assuming it
doesn't break anything).

So here under the if [[ "${test_variant}" == "static-shared-mem" ]] we
can keep the setting of DOMU_SHARED_MEM and DOMU_SHARED_MEM_ID. (Or only
DOMU_SHARED_MEM if you follow the suggestion on the other patch.)



> +DOMU_SHARED_MEM[1]=\"0x${SHARED_MEM_HOST} 0x${SHARED_MEM_GUEST} 0x${SHARED_MEM_SIZE}\"
> +DOMU_SHARED_MEM_ID[1]=\"${SHARED_MEM_ID}\"" >> binaries/config
> +fi
> +
>  if [[ "${test_variant}" == "static-heap" ]]; then
>      # ImageBuilder uses the config file to create the uboot script. Devicetree
>      # will be set via the generated uboot script.
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 02:49:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 02:49:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505525.778344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXvTQ-00089n-BD; Fri, 03 Mar 2023 02:48:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505525.778344; Fri, 03 Mar 2023 02: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 1pXvTQ-00089g-88; Fri, 03 Mar 2023 02:48:44 +0000
Received: by outflank-mailman (input) for mailman id 505525;
 Fri, 03 Mar 2023 02:48: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=RVKH=63=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pXvTO-00089Y-Bi
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 02:48:42 +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 e6ffa7c2-b96d-11ed-96ad-2f268f93b82a;
 Fri, 03 Mar 2023 03:48:40 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 2A3FEB8163F;
 Fri,  3 Mar 2023 02:48:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 26FA8C433EF;
 Fri,  3 Mar 2023 02:48: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: e6ffa7c2-b96d-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677811717;
	bh=jeCFFFuYgPziLGsiBGVik8P5LKhLPBBfuntr3gfz8ks=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cDxc1C94MnCNKuNLsyOKyXub3UzdwSH/u5J4x0u2z1p5HylY2TnbyFD/AOUMbyT/f
	 /xVh2xY9Ahg/uiaIemF0/LyiGrMlVXAbvnaEE3lm8y7OVO8EnDlz5kEFY6QshFWI4l
	 A1YuZoLFmKvlgpqnRZ2JiFOkRUJY7Y8Gq+qO1HmzgMhed+rPLgIqui3rEC4x7y7o66
	 tHsiXZdnC0qLb0ax8fQ59ORhj5Gy5/RjkFUXVuTTRq4XJ8zEliCd96PRe6VOx5OJ+8
	 o+WDDS49NS9ZGG96Mge68aRoLvNo7gMeW6o4SPc6S9Uf/F5YbM2KV0jmSEMs3QuX1z
	 /a+S0d/o15SNA==
Date: Thu, 2 Mar 2023 18:48:35 -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: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [RFC XEN PATCH 0/7] automation, RFC prototype, Have GitLab CI
 built its own containers
In-Reply-To: <20230302175332.56052-1-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2303021836450.863724@ubuntu-linux-20-04-desktop>
References: <20230302175332.56052-1-anthony.perard@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, 2 Mar 2023, Anthony PERARD wrote:
> Patch series available in this git branch:
> https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.gitlab-containers-auto-rebuild-v1
> 
> Hi,
> 
> I have done some research to be able to build containers in the CI. This works
> only for x86 containers as I've setup only a single x86 gitlab-runner to be
> able to run docker-in-docker.
> 
> The runner is setup to only accept jobs from a branch that is "protected" in
> gitlab. Also, one need credential to push to the container register, those are
> called "Group deploy tokens", and I've set the variables CI_DEPLOY_USER and
> CI_DEPLOY_PASSWORD in the project "xen-project/xen" (variables only visible on
> a pipeline running on a protected branch).
> 
> These patch introduce quite a lot of redundancies in jobs, 2 new jobs per
> containers which build/push containers, and duplicate most of build.yaml.
> This mean that if we go with this, we have to duplicate and keep in sync many
> jobs.
> 
> To avoid having to do the duplicated jobs by hand, I could look at
> creating a script that use "build.yaml" as input and produce the 3
> stages needed to update a container, but that script would need to be
> run by hand, as gitlab can't really use it, unless ..
> 
> I've look at generated pipeline, and they look like this in gitlab:
>     https://gitlab.com/xen-project/people/anthonyper/xen/-/pipelines/777665738
> But the result of the generated/child pipeline doesn't seems to be taken into
> account in the original pipeline, which make me think that we can't use them to
> generate "build.yaml". But maybe the could be use for generating the pipeline
> that will update a container.
> Doc:
>     https://docs.gitlab.com/ee/ci/pipelines/downstream_pipelines.html#dynamic-child-pipelines
> 
> So, with all of this, is it reasonable to test containers before
> pushing them to production? Or is it to much work? We could simply have jobs
> tacking care of rebuilding a container and pushing them to production without
> testing.

I don't think it is a good idea to duplicate build.yaml, also because
some of the containers are used in the testing stage too, so an updated
container could be OK during the build phase and break the testing
phase. We would need to duplicate both build.yaml and test.yaml, which
is not feasible.

In practice today people either:
1) re-build a container locally & test it locally before pushing
2) re-build a container locally, docker push it, then run a private
   gitlab pipeline, if it passes send out a patch to xen-devel

1) is not affected by this series
2) is also not affected because by the time the pipeline is created, the
container is already updated

However, there are cases where it would definitely be nice to have a
"button" to press to update a container. For instance, when a pipeline
failis due to a Debian unstable apt-get failure, which can be easily fixed
by updating the Debian unstable container.

So I think it would be nice to have jobs that can automatically update
the build containers but I would set them to manually trigger instead of
automatically (when: manual).


Alternatively, we could move the "containers.yaml" stage to be the first
step, rebuild the containers and push them to a "staging" area
(registry.gitlab.com/xen-project/xen/staging), run the build and test
steps fetching from the staging area instead of the regular, if all
tests pass, then push the containers to
registry.gitlab.com/xen-project/xen as last step.


> An example with the variable DO_REBUILD_CONTAINER and PUSH_CONTAINER set (and
> existing build/test jobs disabled):
>     https://gitlab.com/xen-project/people/anthonyper/xen/-/pipelines/791711467
> 
> Cheers,
> 
> Anthony PERARD (7):
>   automation: Automatically rebuild debian:unstable container
>   automation: Introduce test-containers stage
>   automation: Add a template per container for build jobs.
>   automation: Adding containers build jobs and test of thoses
>   automation: Introduce DO_REBUILD_CONTAINER, to allow to rebuild a
>     container
>   automation: Push container been tested
>   automation: Add some more push containers jobs
> 
>  .gitlab-ci.yml                            |   6 +
>  automation/build/Makefile                 |  14 +-
>  automation/gitlab-ci/build.yaml           | 327 ++++++++------
>  automation/gitlab-ci/containers.yaml      |  98 +++++
>  automation/gitlab-ci/push-containers.yaml |  79 ++++
>  automation/gitlab-ci/test-containers.yaml | 496 ++++++++++++++++++++++
>  6 files changed, 894 insertions(+), 126 deletions(-)
>  create mode 100644 automation/gitlab-ci/containers.yaml
>  create mode 100644 automation/gitlab-ci/push-containers.yaml
>  create mode 100644 automation/gitlab-ci/test-containers.yaml
> 
> -- 
> Anthony PERARD
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 03:22:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 03:22:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505533.778354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXvzi-00057h-1E; Fri, 03 Mar 2023 03:22:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505533.778354; Fri, 03 Mar 2023 03: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 1pXvzh-00057a-Uf; Fri, 03 Mar 2023 03:22:05 +0000
Received: by outflank-mailman (input) for mailman id 505533;
 Fri, 03 Mar 2023 03:22: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 1pXvzg-00057Q-C9; Fri, 03 Mar 2023 03:22: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 1pXvzg-0005Vx-5A; Fri, 03 Mar 2023 03:22: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 1pXvzf-0004ct-RH; Fri, 03 Mar 2023 03:22:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pXvzf-00070A-Qm; Fri, 03 Mar 2023 03:22: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=qBu5ECXrFJG4olM/ihB0Mc6hDRhTAs+b9CfrvWn7zFo=; b=7E2b1LD1g2UDsJjd77h615h/xr
	66SilEVxqouiUDbVfAKWSA7ACHPOaPRi/IYc5HkiNuZrkJRk1S7u/Wo4BTdbzNZcTaRqOk6hkSlt4
	GzjvzczWfiF4Zb224wyki0F4/lVobGXbfNFTMcqigwr9eRrcADtQFG6b29/ITXQg+d3A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-178998-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 178998: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    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-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=ee3f96b164688dae21e2466a57f2e806b64e8a37
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Mar 2023 03:22:03 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 178042
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm     18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 17 guest-stop     fail in 178910 REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail in 178910 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-xsm      14 guest-start      fail in 178910 pass in 178998
 test-arm64-arm64-xl-credit2  14 guest-start                fail pass in 178910
 test-arm64-arm64-libvirt-xsm 14 guest-start                fail pass in 178951

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit2 15 migrate-support-check fail in 178910 never pass
 test-arm64-arm64-xl-credit2 16 saverestore-support-check fail in 178910 never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 178910 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 178910 never pass
 test-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                ee3f96b164688dae21e2466a57f2e806b64e8a37
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z    9 days
Failing since        178093  2023-02-22 05:02:47 Z    8 days   18 attempts
Testing same since   178910  2023-03-01 21:14:06 Z    1 days    3 attempts

------------------------------------------------------------
1969 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 06:49:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 06:49:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505542.778364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXzEa-0005gy-DY; Fri, 03 Mar 2023 06:49:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505542.778364; Fri, 03 Mar 2023 06:49: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 1pXzEa-0005gr-AF; Fri, 03 Mar 2023 06:49:40 +0000
Received: by outflank-mailman (input) for mailman id 505542;
 Fri, 03 Mar 2023 06:49: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=pvdj=63=arm.com=Jiamei.Xie@srs-se1.protection.inumbo.net>)
 id 1pXzEZ-0005gl-Du
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 06:49:39 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on062f.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8f544de7-b98f-11ed-96ad-2f268f93b82a;
 Fri, 03 Mar 2023 07:49:36 +0100 (CET)
Received: from FR0P281CA0003.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:15::8) by
 GV1PR08MB8473.eurprd08.prod.outlook.com (2603:10a6:150:81::20) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.17; Fri, 3 Mar 2023 06:49:26 +0000
Received: from VI1EUR03FT028.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:15:cafe::88) by FR0P281CA0003.outlook.office365.com
 (2603:10a6:d10:15::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.10 via Frontend
 Transport; Fri, 3 Mar 2023 06:49:26 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT028.mail.protection.outlook.com (100.127.144.83) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.22 via Frontend Transport; Fri, 3 Mar 2023 06:49:25 +0000
Received: ("Tessian outbound f2a8d6d66d12:v135");
 Fri, 03 Mar 2023 06:49:25 +0000
Received: from 60784093527a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 617462C5-6C87-4D20-95CA-37398010B437.1; 
 Fri, 03 Mar 2023 06:49:16 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 60784093527a.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 03 Mar 2023 06:49:16 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com (2603:10a6:20b:523::11)
 by PR3PR08MB5660.eurprd08.prod.outlook.com (2603:10a6:102:8d::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 06:49:11 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::f0ae:a3f2:8c03:2e06]) by AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::f0ae:a3f2:8c03:2e06%4]) with mapi id 15.20.6156.017; Fri, 3 Mar 2023
 06:49: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: 8f544de7-b98f-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VyKa7SWr/qSb7NDbwFkZ2OjWkZWYdmTCGs/hhb92EzY=;
 b=iczuOMxD3tCwQ6KPPd1lKovh9SZkXUepMmT6ihuKlHt1xiPA7I0lvjDDife6y3Xb7ZIAXMxiYRc01h9Hi7R1ieTMzZ6bqnEnZXZvoRDr+CtKjOKCnFIxfjPcoM4GE0GF6ENWXKFKBZv5rejm/dhJ6nV1Mph70vWlY9vsnF+RCPE=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=daEmKxfqy97srSqO5zzj14+WsToKAGiO3YoMNboQF4f+kxbX1AXKU/Y8oagRklX3m+yo5iOr565QMdLe49wm8ZfJijeoiCXOsL6jsXFmQVLtnbCHCu2ybg9kYEVqSYcrzJx4m9XGLe13GDDqtAdnqwqO7XmhOdi0nsBPz6O/3DXwRFXHA5b71JAOh8AXM+KIEZgjoiRK2/kYz3TAfk1RrUAkIsd4+StqlxJnjGkCB0bLiUtB7Je2gfWiQQo1gT1DPL1yeR5255Cbv2ZgEGlOGwlEPkeZQ0ew+oOp0OtjYh1IWjWijqZSu3bG1RxQMGQS4j6nciJMDlrbsDaV2U4WlA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VyKa7SWr/qSb7NDbwFkZ2OjWkZWYdmTCGs/hhb92EzY=;
 b=axwWlBWCcUU8UM2qgkcIByvhuek5/iXNfL1rc1YLHgZjX335lOUi0B8D+U4bLCgFqx6CuwGqqugvr6qS5QUOd8jS0UEVYvT9L9a+IgjodPY0b/e/rUXPtOkvl8j/P0xzxflh8BsyY0Sso2W9o8rkDRXuxFvCOSN/DHuqU3PYLGyOfdB9Jff0qdHqCF9DV8lnzpmagixXMYBUgFCl/MZEMJYXXuivJNJa0E6pazr0zB7jw+Gzz16CUhbOCxSyCEE6HFPDV4TZEA9dmgahBBvNxdU1T57fxl0ohMn6qgZKqydIz3I2c5lHPH5gTk+NcWViNQ1320G/+ajiYeAC138Mbg==
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=VyKa7SWr/qSb7NDbwFkZ2OjWkZWYdmTCGs/hhb92EzY=;
 b=iczuOMxD3tCwQ6KPPd1lKovh9SZkXUepMmT6ihuKlHt1xiPA7I0lvjDDife6y3Xb7ZIAXMxiYRc01h9Hi7R1ieTMzZ6bqnEnZXZvoRDr+CtKjOKCnFIxfjPcoM4GE0GF6ENWXKFKBZv5rejm/dhJ6nV1Mph70vWlY9vsnF+RCPE=
From: Jiamei Xie <Jiamei.Xie@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei
 Chen <Wei.Chen@arm.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Doug
 Goldstein <cardoe@cardoe.com>
Subject: RE: [PATCH 1/2] automation: arm64: Create a test job for testing
 static heap on qemu
Thread-Topic: [PATCH 1/2] automation: arm64: Create a test job for testing
 static heap on qemu
Thread-Index: AQHZTMHSDcd3HNBlaU66d8U8pXGhL67oS5aAgABSVOA=
Date: Fri, 3 Mar 2023 06:49:09 +0000
Message-ID:
 <AS8PR08MB7696EEB381C01A703B5E431E92B39@AS8PR08MB7696.eurprd08.prod.outlook.com>
References: <20230302044421.136068-1-jiamei.xie@arm.com>
 <20230302044421.136068-2-jiamei.xie@arm.com>
 <alpine.DEB.2.22.394.2303021748290.863724@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2303021748290.863724@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 446D7E3DFA4D2C43A5FEEE3DB856F7BF.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7696:EE_|PR3PR08MB5660:EE_|VI1EUR03FT028:EE_|GV1PR08MB8473:EE_
X-MS-Office365-Filtering-Correlation-Id: 1511a81d-671e-4020-81b6-08db1bb36dd7
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:
 PVtYtkznSLorXcUkT8d1wcP0RoRAwzjMAKwf+BhOMUg1ew12S8sdFTQo57f4uHeWqnRrqZh66N5s7Ghy6I9y1eK7Vjhv/LYrOmetr6qKYKieLL1JMS/GDIbY00rHMOMEwV23IkAMdYG0KfIEo5Z/8MdICxZSKX8MehWv3Vd8qvRYqzRlKZMr7wM5Cp0yCtnSOt2i+PDLd3twbOjsgVYQStGkazljiB+METNv9ixGPVuj2AYPbbvTOELREPZdXJRpKMwyBxoPboEoZgJlhoLuXaPW9dNpzXxD3AHn2PFruWFjjGb0q09x2Re2N3FGDlsV9zrDCHfgn9Ofkg10Vm50jPZLSdgn1J1uBpFbYqsPzib4s/N7RhxzCZQMcjn+aFI5j4WXnUt+4GH49r1wUuWXA7t+AxtKh1NB+O9G7+Sd5JLf4kImDhtHWRQmOq+kZ+6llsHQV5fswUGd6tBN4bdAVhL3hyOo7+6fvyLWCHimfSq36hnLeAMXamenS1eqlZ2+E5BBj1v1XHXMja5XMf9DU6Xe/s4BAOR2BzHMQrkcdgWeW1+z0CgpaYkHrJEx1Nt1ZcDIaz6dfgubZEa8tmKooK82OUealKmLQ3KNq/WyCQVScwBN8TF9NcqE6Rg9/HfczcRhCWuE/FONPkaDWPXkn5cokz6Z/lxhqV3yHOhZXfFEL2RuzXtpCJAbgkkFRPiJddYJwKwmCZRce4GQgTxpeQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7696.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(346002)(136003)(396003)(376002)(39860400002)(451199018)(83380400001)(33656002)(478600001)(38070700005)(122000001)(54906003)(38100700002)(316002)(71200400001)(7696005)(186003)(41300700001)(6506007)(26005)(53546011)(9686003)(5660300002)(64756008)(66946007)(76116006)(8936002)(52536014)(2906002)(86362001)(66556008)(66446008)(55016003)(66476007)(4326008)(6916009)(8676002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5660
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:
 VI1EUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	12d8c2bd-37fc-4224-2f82-08db1bb363f2
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UyrR9fr0VX4N/1XqwPeGelCNnHbO/EvYNkyzHfbOUP6/769qsD0wJbuXgeKnjCmbcDPAYmEy+N+GS64su5al1RBxrivnh/dM/wB2OXKC64ed27hBlDeoMyB3pNcVR6nlzEyHWTo8BXZuHOH1fh92rjDq6l8KFxTLjWi1CYJ6RTL+H1x3vaIJYybzzEIxaBLc7yiq1zYtQpYG0vOIz9gLXfNOqP6NjGGCBQ2RyTm0MThyLJ/3iGfb0fcGezhLDU79iSEHF9P7qTc072PJYhLXXaPLBL/BGrQbjgZhwmxuwIt+R8qiouLZi/PBMicj91E5F1Fk/h5u69MNYn/5VEC9TUbgrIkpIB0vdY7iodmB9STGt0YsRl5tj0oOhm3LInBBb7YNCc+dEgMTSBbLN/VKQl051iY3bUYZkJzB3P/ES+TqLQ6xZXwjQNa/s+ax77veVbueZzo+OL/+Y//WiqBXe9YiV8ddNXNbn765zRsAPm68CPuEGaRPPZgKKW4pHzeEI+eZwjfKAkVFHOAkftFDSEGmlC7Bv50+9wtVi+Henr0Kh0uiKc//7AbYgK4J6HMOdMOs21UfuC4HueIqHmUB2hCmzfvR3BbG4OYWpmnEXSemxT5mYLdbcI9YFWLYbUzpMGOrFRQfcaze79RiuMnxkcZ6IPFXzJ0FBi1nE20I4sEb97+FX6pMLklMrEoNCAd8lJKyJwbWZVBdjnXP0j5aIg==
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:(13230025)(4636009)(136003)(376002)(396003)(39860400002)(346002)(451199018)(46966006)(36840700001)(40470700004)(82310400005)(54906003)(83380400001)(47076005)(316002)(336012)(478600001)(81166007)(33656002)(40480700001)(4326008)(82740400003)(36860700001)(8676002)(41300700001)(40460700003)(186003)(6506007)(5660300002)(26005)(9686003)(107886003)(7696005)(8936002)(70586007)(53546011)(55016003)(70206006)(356005)(86362001)(2906002)(6862004)(52536014);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 06:49:25.7899
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1511a81d-671e-4020-81b6-08db1bb36dd7
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:
	VI1EUR03FT028.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8473

Hi Stefano,

> -----Original Message-----
> From: Stefano Stabellini <sstabellini@kernel.org>
> Sent: Friday, March 3, 2023 9:51 AM
> To: Jiamei Xie <Jiamei.Xie@arm.com>
> Cc: xen-devel@lists.xenproject.org; Wei Chen <Wei.Chen@arm.com>;
> sstabellini@kernel.org; Bertrand Marquis <Bertrand.Marquis@arm.com>;
> Doug Goldstein <cardoe@cardoe.com>
> Subject: Re: [PATCH 1/2] automation: arm64: Create a test job for testing
> static heap on qemu
>=20
> On Thu, 2 Mar 2023, jiamei.xie wrote:
> > From: Jiamei Xie <jiamei.xie@arm.com>
> >
> > Create a new test job, called qemu-smoke-dom0less-arm64-gcc-staticheap.
> >
> > Add property "xen,static-heap" under /chosen node to enable static-heap=
.
> > If the domU can start successfully with static-heap enabled, then this
> > test pass.
> >
> > Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
>=20
> Hi Jiamei, thanks for the patch!
>=20
>=20
> > ---
> >  automation/gitlab-ci/test.yaml                 | 16 ++++++++++++++++
> >  .../scripts/qemu-smoke-dom0less-arm64.sh       | 18
> ++++++++++++++++++
> >  2 files changed, 34 insertions(+)
> >
> > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test=
.yaml
> > index 1c5f400b68..5a9b88477a 100644
> > --- a/automation/gitlab-ci/test.yaml
> > +++ b/automation/gitlab-ci/test.yaml
> > @@ -133,6 +133,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-
> staticmem:
> >      - *arm64-test-needs
> >      - alpine-3.12-gcc-debug-arm64-staticmem
> >
> > +qemu-smoke-dom0less-arm64-gcc-staticheap:
> > + extends: .qemu-arm64
> > + script:
> > +   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap
> 2>&1 | tee ${LOGFILE}
> > + needs:
> > +   - *arm64-test-needs
> > +   - alpine-3.12-gcc-arm64
> > +
> > +qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
> > + extends: .qemu-arm64
> > + script:
> > +   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap
> 2>&1 | tee ${LOGFILE}
> > + needs:
> > +   - *arm64-test-needs
> > +   - alpine-3.12-gcc-debug-arm64
> > +
> >  qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
> >    extends: .qemu-arm64
> >    script:
> > diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh
> b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> > index 182a4b6c18..4e73857199 100755
> > --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
> > +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> > @@ -27,6 +27,11 @@ fi
> >  "
> >  fi
> >
> > +if [[ "${test_variant}" =3D=3D "static-heap" ]]; then
> > +    passed=3D"${test_variant} test passed"
> > +    domU_check=3D"echo \"${passed}\""
> > +fi
> > +
> >  if [[ "${test_variant}" =3D=3D "boot-cpupools" ]]; then
> >      # Check if domU0 (id=3D1) is assigned to Pool-1 with null schedule=
r
> >      passed=3D"${test_variant} test passed"
> > @@ -128,6 +133,19 @@ if [[ "${test_variant}" =3D=3D "static-mem" ]]; th=
en
> >      echo -e "\nDOMU_STATIC_MEM[0]=3D\"${domu_base} ${domu_size}\"" >>
> binaries/config
> >  fi
> >
> > +if [[ "${test_variant}" =3D=3D "static-heap" ]]; then
> > +    # ImageBuilder uses the config file to create the uboot script. De=
vicetree
> > +    # will be set via the generated uboot script.
> > +    # The valid memory range is 0x40000000 to 0x80000000 as defined
> before.
> > +    # ImageBuillder sets the kernel and ramdisk range based on the fil=
e size.
> > +    # It will use the memory range between 0x45600000 to 0x47AED1E8, s=
o
> set
> > +    # memory range between 0x50000000 and 0x80000000 as static heap.
>=20
> I think this is OK. One suggestion to make things more reliable would be
> to change MEMORY_END to be 0x50000000 so that you can be sure that
> ImageBuilder won't go over the limit. You could do it just for this
> test, which would be safer, but to be honest you could limit MEMORY_END
> to 0x50000000 for all tests in qemu-smoke-dom0less-arm64.sh because it
> shouldn't really cause any problems.
>=20
[Jiamei Xie]=20
Thanks for your comments. I am a little confused about " to change MEMORY_E=
ND to be 0x50000000".=20
 I set 0STATIC_HEAP=3D"0x50000000 0x30000000" where is the start address. W=
hy change MEMORY_END
 to be 0x50000000?


Best wishes
Jiamei Xie


>=20
> > +    echo  '
> > +STATIC_HEAP=3D"0x50000000 0x30000000"
> > +# The size of static heap should be greater than the guest memory
> > +DOMU_MEM[0]=3D"128"' >> binaries/config
> > +fi
> > +
> >  if [[ "${test_variant}" =3D=3D "boot-cpupools" ]]; then
> >      echo '
> >  CPUPOOL[0]=3D"cpu@1 null"
> > --
> > 2.25.1
> >


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 06:52:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 06:52:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505549.778374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXzHV-00078W-W4; Fri, 03 Mar 2023 06:52:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505549.778374; Fri, 03 Mar 2023 06: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 1pXzHV-00078P-SR; Fri, 03 Mar 2023 06:52:41 +0000
Received: by outflank-mailman (input) for mailman id 505549;
 Fri, 03 Mar 2023 06: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=pvdj=63=arm.com=Jiamei.Xie@srs-se1.protection.inumbo.net>)
 id 1pXzHU-00078E-PY
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 06:52:41 +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 fad3e6af-b98f-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 07:52:37 +0100 (CET)
Received: from AM5PR1001CA0067.EURPRD10.PROD.OUTLOOK.COM
 (2603:10a6:206:15::44) by GV1PR08MB8084.eurprd08.prod.outlook.com
 (2603:10a6:150:94::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Fri, 3 Mar
 2023 06:52:34 +0000
Received: from VI1EUR03FT063.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:15:cafe::f1) by AM5PR1001CA0067.outlook.office365.com
 (2603:10a6:206:15::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21 via Frontend
 Transport; Fri, 3 Mar 2023 06:52:33 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT063.mail.protection.outlook.com (100.127.144.155) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.19 via Frontend Transport; Fri, 3 Mar 2023 06:52:33 +0000
Received: ("Tessian outbound fcd8b5fba459:v135");
 Fri, 03 Mar 2023 06:52:32 +0000
Received: from fa19302d2589.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 ACAB323F-4FCB-4994-8B23-EFBD5D7CF39E.1; 
 Fri, 03 Mar 2023 06:52:26 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fa19302d2589.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 03 Mar 2023 06:52:26 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com (2603:10a6:20b:523::11)
 by AM0PR08MB5396.eurprd08.prod.outlook.com (2603:10a6:208:182::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 06:52:25 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::f0ae:a3f2:8c03:2e06]) by AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::f0ae:a3f2:8c03:2e06%4]) with mapi id 15.20.6156.017; Fri, 3 Mar 2023
 06:52:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fad3e6af-b98f-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vYFFCGtcBKrAZ0uQoYiDJmQkrYQpjyT7IP5oFKtIFRE=;
 b=YCqPoZm16WdKiSVFYrwP5q14jI7Ptjxmwnp97FZjeOiFLxooskTpcLFAAi21Z+Y6YlGvxhQFcIpwxwHUclM08xO5iT5IaxmO+av23R/P2ZvUoZcNQzL/8bHA+RQ9674VSKCuRSd3burlglLcD7vyyJwB1QoivLuSVWraWd8g8h4=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Cf536KWQoBxk94elYLVX8gRB36jNEiHSK1z5jqkBsUMNEzuPAUGv6pw7WjoRlHAuJfY9ke+9Nd652mkbsGM6/JgN2bALC+/h0AbAXt+nB6aHib+SyKppGtkLSp5UfvSg0qZUKc2+Azs95+/Ol72b4Efv9MCdb0s6fVWvqbgj5HtJmZZXd3wiTneB5et+dSkaNG7EO9f63Fd5n5i+/PhIolnb6GazAa3Kt3K3xyWpRGKmipNxqi5WnnYZA7WH86FGA5CxfXsTSnMjW3ZcPZLi6CkuGayndK9WutUY1u0Vbj9oDAKgXvhtnnGqt+yKc8bKGmOtQ12cnjUd72NRkeIN+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=vYFFCGtcBKrAZ0uQoYiDJmQkrYQpjyT7IP5oFKtIFRE=;
 b=djmN0F7/+4MS8OuzL9fL2VH0n3PXT4twJavuh4ySS0hDXA1H+0mDdD8PFHhuk/6m7+PQ8Z2XsL4CYD+6pKrUC5gCv1wn8q9mh6bZQYQul5BMInMkQHZkrPhkX57IDvi9rGKirUdanmz0C5lB6F/2Ux1h+z1F7XLTZxlPei5zotPSHGkQfkF4btS96FmdUyUDX/6+3NAHKCdzGPJUKQaytjt9f0TL92oGqhPkGtainSYqw3+qxnYT5U1H0RXcvhyivZCYSqASqM2OPByeiZeJM/4dTKLBm0ZgsmZ5ZbH9SfkX0n0XtWMK89dyMSxqGfs3/L+hBjaVQ0OJOh7lNKD8kQ==
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=vYFFCGtcBKrAZ0uQoYiDJmQkrYQpjyT7IP5oFKtIFRE=;
 b=YCqPoZm16WdKiSVFYrwP5q14jI7Ptjxmwnp97FZjeOiFLxooskTpcLFAAi21Z+Y6YlGvxhQFcIpwxwHUclM08xO5iT5IaxmO+av23R/P2ZvUoZcNQzL/8bHA+RQ9674VSKCuRSd3burlglLcD7vyyJwB1QoivLuSVWraWd8g8h4=
From: Jiamei Xie <Jiamei.Xie@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Michal Orzel
	<michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei
 Chen <Wei.Chen@arm.com>
Subject: RE: [ImageBuilder][PATCH 1/2] uboot-script-gen: Add support for
 static heap
Thread-Topic: [ImageBuilder][PATCH 1/2] uboot-script-gen: Add support for
 static heap
Thread-Index: AQHZTMH9rCgFY/whfU6dVhdcVu6kMa7naF6AgAC/KoCAAHerMA==
Date: Fri, 3 Mar 2023 06:52:24 +0000
Message-ID:
 <AS8PR08MB769680F4F89382C3C72DCE8592B39@AS8PR08MB7696.eurprd08.prod.outlook.com>
References: <20230302044606.136130-1-jiamei.xie@arm.com>
 <20230302044606.136130-2-jiamei.xie@arm.com>
 <f480d3c5-e18a-7863-b2a0-9ba95f7e678b@amd.com>
 <alpine.DEB.2.22.394.2303021541090.863724@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2303021541090.863724@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 17AF062E1DDD214B9A4DA82F9E94ABE9.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7696:EE_|AM0PR08MB5396:EE_|VI1EUR03FT063:EE_|GV1PR08MB8084:EE_
X-MS-Office365-Filtering-Correlation-Id: 8c6ab1a8-3209-4ae1-ef35-08db1bb3dd70
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:
 drFVtipWxxSrChYvu++c0x1lX7Sn9hNSeTmoLFo6Ze6H/RquMG16hfKTwcbYLBwqwebF3zy1LXQX5OLWMbckrimb4d66O4I65Ofx33KR+mL23efGAEqz8Lf/8HwohtoB0AGJZU7ZC9WFqg8tH4aP/cGuafopltFzOWB97YOOY9Bd57ObLPGqUBsCaZp2a5mY1SZbf0LKVAQT9Z8fan2C2YIDgPqP2sfo1wf4HE9ZDbTbTWnDd4q1UOwyvKnyeDloBqoALjiC7c/lvSLUNxCvBiumWs6q0JmSJEEf9C6Y1GNhOKdHJKe4fvIoXIRZHNmmjo46PPDMqz1lfz7PUDgVyZvEChICOiagrdPeZ0rrHM59Yp4l38MrUAWAWx1DQ+jxQx8RIkp3UnKIixV9NptN4BAlWJhs2N2wnGnk3jT4B9AEVwYDAvOyZ1IzZcSwZ12w4F3fbIF4Np2BvWN+YG0m9hZAEykQxZkQEZN6T43Ebpkp0RfxuA3LlnfWErHxXfJ/qr3E2mDaZQR3eZlbE9IoS0pvas8GfEm/0wyHeKUZHVXx091WQqt5zHJJcStqdRznn2EdYj6TpXh9U76r0R9MltCbImppFYAMEOB97rwzSYv9z/+RAGPu8VBrr7JPgTag7i/wv3dGsQcIAbZYa0CnpKMaGjZ8VRCYr7kmvf3yMJUUrunTLOLCsjw/4JfqRGBcoKoop0a0WtK7qRz9w3X7aA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7696.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(136003)(396003)(366004)(376002)(39860400002)(451199018)(7696005)(186003)(26005)(71200400001)(9686003)(478600001)(54906003)(83380400001)(316002)(76116006)(66946007)(66556008)(66446008)(64756008)(66476007)(4326008)(8676002)(53546011)(6506007)(110136005)(41300700001)(52536014)(8936002)(5660300002)(122000001)(38100700002)(2906002)(55016003)(86362001)(38070700005)(33656002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5396
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:
 VI1EUR03FT063.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	57fa48da-0498-4a90-4919-08db1bb3d88c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CbkW90ToJ5Ch1E0GyodSVMyllDqRJCBz95/+4yDCEUN0Vu642jisiZpsqvxRstYWN0XR7q5nF0sOfeuWW6lvqdJKV2/sR37lVCzMzlv8GjXssOBJmgUpbn9iy4Eu37tpi0Dzp/0SwNeZd78+5cgQM60irhuKBNV1MXKxGYwM6mKxkYlF8DuWAmByubvaoaIvQeSKHxUhD95DhgrvRBjVsRgHY3OXkduIay1rfj0sYy8Bk3Pi078t63KZ7KK/1+k0EWxguG2T2tKi5wo5foX0qsN9ZEVGI71SC/1uqu2YHsLadevB+iNdU2iBPSpLAgd1Xrx+mPAJC8r+zMeHK7ur5HaphLJAljxCM7egcQuj7uDuuxV0dlHDwco9+Z6gTDR4YX1M8+0XQ5ladBpq0AW7eoB7MpE2MwhX1t0UHf4Nrrg3F5fCXm0iWFMYVFrp9uClTy7iPXAcyDKvGwNZC9V3GDGHTJ8nVA1KZPLFEzriBxqPPvwwn8ZcvgiJwW5vRiXQ/rCFkJXYwuw9iTDGfT1mi1zvtyGsnrjpKV8vokdqXKcVTG//aq/1kLwxI7BL0+e0Nm9T0wWQWJwrHI0WoZrqZXq7yQxGtWqv1yS8luSC/xCIXFt1dnCRdWOhkvj2Tzu25nNrGy4bn60ViCSrkLxcP7UJ/mTs+0BEbX05CttCGojcStT5sDcYE+kX24JmI6ObiFs0YlghTBt801ToITVeow==
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:(13230025)(4636009)(39860400002)(136003)(396003)(376002)(346002)(451199018)(46966006)(40470700004)(36840700001)(478600001)(33656002)(7696005)(356005)(86362001)(8936002)(8676002)(55016003)(40480700001)(4326008)(5660300002)(41300700001)(70206006)(82740400003)(36860700001)(81166007)(52536014)(316002)(54906003)(9686003)(47076005)(70586007)(82310400005)(110136005)(2906002)(83380400001)(26005)(186003)(336012)(6506007)(40460700003)(53546011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 06:52:33.0225
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8c6ab1a8-3209-4ae1-ef35-08db1bb3dd70
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:
	VI1EUR03FT063.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8084

Hi Stefano and Michal,

> -----Original Message-----
> From: Stefano Stabellini <sstabellini@kernel.org>
> Sent: Friday, March 3, 2023 7:42 AM
> To: Michal Orzel <michal.orzel@amd.com>
> Cc: Jiamei Xie <Jiamei.Xie@arm.com>; xen-devel@lists.xenproject.org; Wei
> Chen <Wei.Chen@arm.com>; sstabellini@kernel.org
> Subject: Re: [ImageBuilder][PATCH 1/2] uboot-script-gen: Add support for
> static heap
>=20
> On Thu, 2 Mar 2023, Michal Orzel wrote:
> > Hi Jiamei,
> >
> > Patch looks good apart from minor comments down below.
>=20
> Just wanted to add that the patch looks OK to me too and don't have any
> further comments beyond the ones Michal's already made
>=20
>=20
> > On 02/03/2023 05:46, jiamei.xie wrote:
> > >
> > >
> > > From: jiamei Xie <jiamei.xie@arm.com>
> > >
> > > Add a new config parameter to configure static heap.
> > > STATIC_HEAP=3D"baseaddr1 size1 ... baseaddrN sizeN"
> > > if specified, indicates the host physical address regions
> > > [baseaddr, baseaddr + size) to be reserved as static heap.
> > >
> > > For instance, STATIC_HEAP=3D"0x50000000 0x30000000", if specified,
> > > indicates the host memory region starting from paddr 0x50000000
> > > with a size of 0x30000000 to be reserved as static heap.
> > >
> > > Signed-off-by: jiamei Xie <jiamei.xie@arm.com>
> > > ---
> > >  README.md                |  4 ++++
> > >  scripts/uboot-script-gen | 20 ++++++++++++++++++++
> > >  2 files changed, 24 insertions(+)
> > >
> > > diff --git a/README.md b/README.md
> > > index 814a004..787f413 100644
> > > --- a/README.md
> > > +++ b/README.md
> > > @@ -256,6 +256,10 @@ Where:
> > >
> > >  - NUM_CPUPOOLS specifies the number of boot-time cpupools to create.
> > >
> > > +- STATIC_HEAP=3D"baseaddr1 size1 ... baseaddrN sizeN"
> > > +  if specified, indicates the host physical address regions
> > > +  [baseaddr, baseaddr + size) to be reserved as static heap.
> > As this option impacts Xen and not domUs, please call it XEN_STATIC_HEA=
P
> and move
> > it right after XEN_CMD documentation.
Thanks for your comments . Ack
> >
> > > +
> > >  Then you can invoke uboot-script-gen as follows:
> > >
> > >  ```
> > > diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> > > index f07e334..4775293 100755
> > > --- a/scripts/uboot-script-gen
> > > +++ b/scripts/uboot-script-gen
> > > @@ -189,6 +189,21 @@ function add_device_tree_static_mem()
> > >      dt_set "$path" "xen,static-mem" "hex" "${cells[*]}"
> > >  }
> > >
> > > +function add_device_tree_static_heap()
> > > +{
> > > +    local path=3D$1
> > > +    local regions=3D$2
> > > +    local cells=3D()
> > > +    local val
> > > +
> > > +    for val in ${regions[@]}
> > > +    do
> > > +        cells+=3D("$(printf "0x%x 0x%x" $(($val >> 32)) $(($val & ((=
1 << 32) -
> 1))))")
> > Please use split_value function instead of opencoding it.
> > It will then become:
> > cells+=3D("$(split_value $val)")

Thanks for your comments . Ack.
> >
> > ~Michal
> >


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 07:01:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 07:01:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505556.778384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXzQG-0000ZS-Pg; Fri, 03 Mar 2023 07:01:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505556.778384; Fri, 03 Mar 2023 07: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 1pXzQG-0000ZL-N1; Fri, 03 Mar 2023 07:01:44 +0000
Received: by outflank-mailman (input) for mailman id 505556;
 Fri, 03 Mar 2023 07: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=0Pyx=63=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pXzQE-0000ZF-Qb
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 07:01:42 +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 3f5f4b37-b991-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 08:01:40 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id k37so998802wms.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 23: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: 3f5f4b37-b991-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677826900;
        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=HonsMRDCZNwsImHNlbsZEhzzYU0qLTDjrBiSD5Nujbs=;
        b=nT8IX37Bxu25zbqcqa3y2YOqEtj6zc6FGmG0dWsQb2CjCmKCyPmbXfBWz3SllxeH8G
         HbyqzJf5Z06h6J1vU28wDppy3W9p+9ax3loURlx7zNXykxfkqubInIiHVWzpXlXgBqMq
         RNh6eRa47CNXe5URA12TxZTWA4rcZTD+HMzQTMBGHBIxcssZE6ArFv+Ve7SrWITi9ZcW
         oqsnSIR+1+X5RsumsUwIdlCXLPqn7jgpn8R2hjQMDDomMH3fhZZAog13d6TyETIdmB6d
         DpuXXN7+PLTtVVRifLDm5LoWo81lFs1o2idgOjB1/kKMSGMdZ7hxUBcoo+ywalrL2vC2
         U+jA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677826900;
        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=HonsMRDCZNwsImHNlbsZEhzzYU0qLTDjrBiSD5Nujbs=;
        b=MPCufL1ha/nkEhC4Zc7loxq7bSH5QwteJrH6pyN6LSBcRhSovvwxk5PhzJGwAJikXS
         y9LempdWmqUnHzPYR2BDcI4fWVBSuN2fu+bbYUOG5wSZVY5FciqrK1u5f9WMxWKFC/RZ
         TB++OJOvwlYyAOf6BP5n+WrEk1iDREYv8sx3NsTl93zmntMeOEgpUyhECDyJt6ELiPUV
         r0RSnhr/wMoL9LqvtB8P/MzHZKwQKRETmvCnRQlPFk6EN+7EdifCQQWdRZHLR2Eb/ZIu
         /dN3syx9ILOJx/rbMHbKWrPmSZdTJK8mG3qEi9cga0xuEYTdPW6kwcMzwpSMrdS58ej8
         nJpg==
X-Gm-Message-State: AO0yUKXZ6Rpkis0EUd9AblvqhBM08lGTyPRKhixy+lt2BuuDgL6HbUHb
	+6BjGlwhdeXwTBcnXhs9FgL4LujV9Tq66CvPHG0gsw==
X-Google-Smtp-Source: AK7set/12oaftvCp1OwBnQIDW3//jDtlGA9KC6nRQu/r8/VY1MtvK9gIhcdedsv/SRSf3XBsFstku/K+rEJ1kcoqa78=
X-Received: by 2002:a05:600c:3596:b0:3eb:3998:8bed with SMTP id
 p22-20020a05600c359600b003eb39988bedmr1776604wmq.1.1677826899794; Thu, 02 Mar
 2023 23:01:39 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <904055064f4b4e4514acf1e64751672eca045c05.1677079672.git.jens.wiklander@linaro.org>
 <BD5022BF-C157-4CF2-86D4-07345F64681E@arm.com>
In-Reply-To: <BD5022BF-C157-4CF2-86D4-07345F64681E@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 3 Mar 2023 08:01:28 +0100
Message-ID: <CAHUa44Gd92oDP8meH2UcHjsmokQcEpKV0U6whUD_5nEDYpJKxQ@mail.gmail.com>
Subject: Re: [XEN PATCH v7 07/20] xen/arm: ffa: add defines for framework
 direct request/response messages
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Fri, Feb 24, 2023 at 10:39=E2=80=AFAM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Adds defines for framework direct request/response messages.
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > xen/arch/arm/tee/ffa.c | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index f4562ed2defc..d04bac9cc47f 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -56,6 +56,15 @@
> > #define FFA_MY_VERSION          MAKE_FFA_VERSION(FFA_MY_VERSION_MAJOR, =
\
> >                                                  FFA_MY_VERSION_MINOR)
> >
> > +/* Framework direct request/response */
>
> In the previous patch you were more verbose in the comment which was nice=
.
> I would suggest here to use the same "format":
>
> Flags used for the MSG_SEND_DIRECT_REQ/RESP:
> BIT(31): Framework or partition message
> BIT(7-0): Message type for frameworks messages

OK, I'll update.

>
> > +#define FFA_MSG_FLAG_FRAMEWORK          BIT(31, U)
> > +#define FFA_MSG_TYPE_MASK               0xFFU;
>
> Maybe more coherent to name this FFA_MSG_FLAG_TYPE_MASK ?

This is a balancing act, in this case, I don't think that adding FLAG_
helps much.

>
> I am a bit unsure here because we could also keep it like that and just
> add _TYPE to other definitions after.
>
> What do you think ?

I think the defines are long enough as they are.

Cheers,
Jens

>
> > +#define FFA_MSG_PSCI                    0x0U
> > +#define FFA_MSG_SEND_VM_CREATED         0x4U
> > +#define FFA_MSG_RESP_VM_CREATED         0x5U
> > +#define FFA_MSG_SEND_VM_DESTROYED       0x6U
> > +#define FFA_MSG_RESP_VM_DESTROYED       0x7U
> > +
> > /*
> >  * Flags used for the FFA_PARTITION_INFO_GET return message:
> >  * BIT(0): Supports receipt of direct requests
> > --
> > 2.34.1
> >
>
> Cheers
> Bertrand
>


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 07:24:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 07:24:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505563.778396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXzln-0003Zu-KI; Fri, 03 Mar 2023 07:23:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505563.778396; Fri, 03 Mar 2023 07:23: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 1pXzln-0003Zn-Hb; Fri, 03 Mar 2023 07:23:59 +0000
Received: by outflank-mailman (input) for mailman id 505563;
 Fri, 03 Mar 2023 07:23: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=dqM3=63=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXzlm-0003Zh-4J
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 07:23:58 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on20630.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b6e39e7-b994-11ed-96ae-2f268f93b82a;
 Fri, 03 Mar 2023 08:23:57 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8073.eurprd04.prod.outlook.com (2603:10a6:10:24d::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Fri, 3 Mar
 2023 07:23:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Fri, 3 Mar 2023
 07:23: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: 5b6e39e7-b994-11ed-96ae-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SCMrQ/VYUZfOjSLVk5nYSZNfbrmp3NdioUVT7y1zYk5/ct9hTEIIABsQ0uICLcglP2zpktISRrt/bZA3DOTPhqUk05TqdUCPc+KKsdR5WHwVXQAYt6/XXnLYPnTVCejitOkinOE5zi28jcHmyWyvvaxx/iiW1sQUDzrLOrEJKaHvMuObzI7SfNAPhGjO4YM4aVqTHDsFZqdSlE/bJZRVKOJjJP/jwXWkb56njZaGv+xpZT4dtTLRiFFi+rZsauQDAgPkPkJlq5UxG4ZWU+BexgUKE0Kr8HXhYqWK9QzLwZamsftVdpfRTO7Xo8MQhw08M3LSux+Tk9qKQ8pXWZfTEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J0UzuyRR8sdtDrQN2G11WCXyguBqD/LRcpMATfRQDbU=;
 b=DX1cRdPfq1NgLHsNeXZ1a5+yBjaEIRs4JaOpi+sMdztPL2KRZkCxaFJznyCaPurpj4TlLroO+phg/Awjh9S/nIsOO2giHmuKkYpSCs3ZuBlpTp0KIFy/foQnJtl1BjrqFqYS7TfF8lzdh09x6r2x/0O0myw0ef7eXcSxf17Tye86avYO8OWGeAtBRfN6481oYu2MyNvHzrWAVnCIkLJowZ/9oY63vwS0LEHZUOpqkjMtMUGcxr+jQfxdmJHDThrN4uQmlyaCaddqfz28l532DW41XOHCcSc8dtYBI1qBe8QhgcHcNpZRkJd2hWaL0X2OpUgQZ/DQPCsMDOf07TxjSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J0UzuyRR8sdtDrQN2G11WCXyguBqD/LRcpMATfRQDbU=;
 b=Ngq/NB59RMMEJwewpiqqN1k2RR55tF6yuaxhbnPDQadEkBYQ4cCjflbfpR7gciqYIFWY8E6hvR2fJ9IstMN7Ryj8+pSeWUMVBP/FfoXVRlAqswpiuTGWIjinUwWoWBvddzcg6HQ5tYnLsom/WLkC+E9BMJ+XLuJ69oxF15SUfwO4aLB0GlNcYkMO8CgCE4YIALCflfDQFrCtgiAr2YmNzwQBGLsiUpnGaFDEiZSwf71JB5UshDVPaPfl5dSF/bNSuC972Id2ShwxjYgu+8qXtpdrhuJ9oxVgLOZ4bmiKfSdNQz+QCzTYrmDaMVAPbUJnuv6cp3qy/78cXdQkFN99hQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f62293e3-94f5-005b-dafd-4c9084f5d84b@suse.com>
Date: Fri, 3 Mar 2023 08:23:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 1/2] x86/cpuid: Infrastructure for leaves 7:1{ecx,edx}
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: <20230104111146.2094-1-andrew.cooper3@citrix.com>
 <20230104111146.2094-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230104111146.2094-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0062.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8073:EE_
X-MS-Office365-Filtering-Correlation-Id: ed381fb7-5993-4a05-78d3-08db1bb83def
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WLPBrp9IlT98DzA2N9TIJqkWiuIgwWnuXE81LJSsDest/R4nhtV/GTpN7RA832bl50j02LH4mnQZWWQ9rWys+SAz/qJC9r+F67Y6hRajpseehjyRVbYZuZL3aDeaTgAD16X8zp/HPuqd1veN98Klqi+0VcpoMULr05RA0cfneCQuSsEMyoh1n8K7F/CuBpMt7685J/Hzivcq3EYxpAyFqyNRn3988VYgWrUvKU3ri3/1cktJ86t/UPIZntt/P8wH6mOXXcmd1tqwJx93Jo5zgayxfhbJL8B2SBEbL9FB0JUEzq88Yz65WP6IRGrU3Btnhwxvij0e9jn7N59FFVy2l7B2aeXwxGQvMFrMJH0ZppLL0qoZY77LczOYCAc/DD2cXT9SiMNNqPTXeruyfSTqLPlZ9ZHwY3MkNDsLrAlqUcCvqaKBj22tXxF2cm5Xj0Knc0raZ1DjoBGbLDHeWBudvzFn2M17Zg8CsvKk4e2i66NFhK8KRp4P1a44kIx8av0mfHNoPMhywEcm7E0R5BtPl5cXDNe5E4G8hFWymJGUEZ7O2YACaGyKhj59g9OE8AiAqrcq4B4h9QJxhuiZ+hs8PE6DTBksTiEIiyiDtagG2AGy+JGnTKFWwK/yv6ChYw87MYPRvOR92bASJIMCVaCWdg//mJ7bYACxRDFg29dOi4Xwz31NmhdHnfOrW6TLGyhhdY9s8XI3+SEXEX1KgPH/ebyghjskP1+gvfQl3OjoQLs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(376002)(346002)(366004)(136003)(396003)(451199018)(31686004)(5660300002)(4326008)(41300700001)(36756003)(83380400001)(66556008)(66946007)(66476007)(2906002)(316002)(8676002)(8936002)(6916009)(6486002)(38100700002)(186003)(6506007)(31696002)(53546011)(6512007)(2616005)(478600001)(26005)(86362001)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UGJzVUdyNm5PVlJxM000U2NoNE1jbC9KOVUxLzA0WmRHZmRqaW5pVUwzREZk?=
 =?utf-8?B?eHdVY3ozN3VTRXRUOEkxZ0dJeURpeUtWMUNRZlpGTzNQaVp2eGtESVh0d0hp?=
 =?utf-8?B?NUYwK1g0NEpqQ1dDNno0aXpFVkY0YmJxaDdBLytmRTJpUGRPVmV1THRjbitu?=
 =?utf-8?B?U25WMkV4ZHNkeDhBZE1qUk1hQ2FJbVhKdGRGVWRVMHJHaThPUUFjNTQxb2VF?=
 =?utf-8?B?RXdKb2VCTXJIRjQ5Qjc2QlRBNE40VUhtZVJpY1NpUkh2U3lzUHdyZ3RnYUdr?=
 =?utf-8?B?QXpyN3JmTXRZQWhTNjRzKzRZOGxENlhra3lvUC9TUnFCWCs5R0szbU9IL2JR?=
 =?utf-8?B?U1ZKcTVxRGF4cUdPMXE3MkNVUmtsQ3o1TVd2azM4dVluYXQxdGxMUUNrUCtM?=
 =?utf-8?B?cGRHYUZMcVVWeGk3OFo5VjVSSFdrTm9OZjVBU3p0NUx0cHVPR1YyRldjVnJN?=
 =?utf-8?B?T2Vub281cncvSlVIUzRmNE1DTHgyTzVaY3plQmxaeUtpUWViY3NjUDFlOGhn?=
 =?utf-8?B?WEs2ZElRUEhZR1UxRHRreVYzNUdzMlhXRndCamd2SklWaUl2NVVUVEVpeVRp?=
 =?utf-8?B?L2plMmhlZmp5YVZwQTFlNFlGOVNLV0R4U09OSW1ReENrVDhYTWNMZEl4Tm1u?=
 =?utf-8?B?RkR3Mm9XOU10dzVpeXZOOVJMT2RtaXF6Rmw3ck1lSis4bGhtM3dwSmNyYVk2?=
 =?utf-8?B?UlZVRVhWTlRFM0lvd201cHFCczI0Mnc4WEpFTGtlTW9EK3d0dHFFd1VGenJm?=
 =?utf-8?B?R0tZZFE3SWdabm5lYUUxbmExUGVrMGtzRnpXZSt1NW9jOWpob2paOWcxNGcy?=
 =?utf-8?B?OVRQaDhYM01GMEZMSEpqVlNMcit5eDZweGtCT3U3UGhYTEVKMHVxRXI5OWtu?=
 =?utf-8?B?dmdza3lpNmxjS3h2cmhXeDNTU1BYUENWL1V3S3hLbXhBOXVwQ3RzVWhEQnpi?=
 =?utf-8?B?QlZlSDJvVXF6SmxvejdnZzhuakVYK1pPSktnbEVVNG02bmowZWVxbkZzTlha?=
 =?utf-8?B?TFhmY1JzV0dxSUZsK2k4VWNxUy9WY3EzTHBnTGk0TEJObEg4bmZlK0UvRzht?=
 =?utf-8?B?aFlHSDl0azcwaEg5dHp4SEQ3SmtXMEdYeWRtNDVHZTNOL09NK2xNSVZtcEUw?=
 =?utf-8?B?UHg2QkVaaTloc2VUVUVES2lyMUdPTS9FdUY4Q01jZjdVL2d3UjF6OGdxUHBj?=
 =?utf-8?B?YjBkMkhlNEpETGM5d2drUXBISWxrS3d2SVdFUXdaSy9rQ0ErbUp4cGlwOGVv?=
 =?utf-8?B?OTNvdUVaWmM2TUJQbGNXY0dWdzJlWEEwMnJtdHphenJLb1VRMmd5b1h2ZzJW?=
 =?utf-8?B?bUl1RGNFa2RscEswdU5TWE0ybnltR0dDOWdZb2xVMlhPakxjM0lWbDBvM0dj?=
 =?utf-8?B?Wk41WFNDSnR0bVBZSlIzOHhDYWp5bUxpTklxSUd1U0FiOVdLWXlOaWRLb0NX?=
 =?utf-8?B?N3ZVWWVzZ1Fxc1RnbDRiNm14cmx3ODBkSXVKWTFOYkNLbk9ibFFNOXZtWUhm?=
 =?utf-8?B?RzhTTklxRGwzN09pUG5INENwZTdmWTZUVGZ6b2c1WCt5Z0c1TFBqMlVsOVZH?=
 =?utf-8?B?TFN4eXA5c085dnVZRWNhK2VlT1M5NzBRWDljME01NlNEYW9ySGxYWjBXNFBV?=
 =?utf-8?B?OHF0N1BBQXFhY3NUYW1BYjJHanFKVkZNRktZS1hlcUJoY0tZRmIxcE40aTYr?=
 =?utf-8?B?czBYT2VHdStZWi9kYlNxYkJUM3FzdElTM2wrYjlDN1ZXY3Q5Y2gxb01jYTJE?=
 =?utf-8?B?R005NlM2RTdhdng2cC9HbEluL1BTb01YZVM3VE51cDdlYW1kYjRKcWFYYWpx?=
 =?utf-8?B?ZWQrN09DdWl2SmVmbnJZQWtqeXh0Z3djcWduNlhMTFIyMXh5M1ZFZUwwR3pH?=
 =?utf-8?B?eTBycWFrU1NGTWZiYjR6VlZ4SXk0c1JZeGdrYVdHMkoyK3JBQ3h1cUJKS0hw?=
 =?utf-8?B?ekVKc0liZXQ2YWFuY1hWQVVRZmlQaVJtWVNvNUNaWkhhaUJiMTE1eXpOL3lE?=
 =?utf-8?B?WVBDMHozMVc4N09FT0tET0tRUWRZM2o2TzliNi9UMVFKWjVBMlEvVmZXYzMy?=
 =?utf-8?B?TktUcnoxS0JYR0cxVnZIMnpPRThKNXB0WUNTTHpTMW9aZzYxY3RUQkZVMS96?=
 =?utf-8?Q?heokstBGiDEICXS4PpFMS5iRp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ed381fb7-5993-4a05-78d3-08db1bb83def
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 07:23:53.3062
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aXFFZ9wQj1lO4u+dSJQS1oil5HAKof8iJ9/ysz9Sw5P+Zj1hKFCcoTxn1e8qGUaYp5gXn4KMMRDRIxG2xm4mBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8073

On 04.01.2023 12:11, Andrew Cooper wrote:
> --- a/xen/include/public/arch-x86/cpufeatureset.h
> +++ b/xen/include/public/arch-x86/cpufeatureset.h
> @@ -288,6 +288,9 @@ XEN_CPUFEATURE(NSCB,               11*32+ 6) /*A  Null Selector Clears Base (and
>  /* Intel-defined CPU features, CPUID level 0x00000007:1.ebx, word 12 */
>  XEN_CPUFEATURE(INTEL_PPIN,         12*32+ 0) /*   Protected Processor Inventory Number */
>  
> +/* Intel-defined CPU features, CPUID level 0x00000007:1.ecx, word 14 */
> +/* Intel-defined CPU features, CPUID level 0x00000007:1.edx, word 15 */

While committing the backports of this (where I normally test-build
every commit individually) I came to notice that this introduces a
transient (until the next commit) build breakage: FEATURESET_NR_ENTRIES
is calculated from the highest entry found; the comments here don't
matter at all. Therefore ...

> @@ -343,6 +352,8 @@ static inline void cpuid_policy_to_featureset(
>      fs[FEATURESET_e21a] = p->extd.e21a;
>      fs[FEATURESET_7b1] = p->feat._7b1;
>      fs[FEATURESET_7d2] = p->feat._7d2;
> +    fs[FEATURESET_7c1] = p->feat._7c1;
> +    fs[FEATURESET_7d1] = p->feat._7d1;
>  }
>  
>  /* Fill in a CPUID policy from a featureset bitmap. */
> @@ -363,6 +374,8 @@ static inline void cpuid_featureset_to_policy(
>      p->extd.e21a  = fs[FEATURESET_e21a];
>      p->feat._7b1  = fs[FEATURESET_7b1];
>      p->feat._7d2  = fs[FEATURESET_7d2];
> +    p->feat._7c1  = fs[FEATURESET_7c1];
> +    p->feat._7d1  = fs[FEATURESET_7d1];
>  }

... the compiler legitimately complains about out-of-bounds array
accesses here. This is just fyi for the future (to arrange patch
splitting differently); I've left the backports as they were.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 07:29:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 07:29:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505569.778407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXzrT-0004X1-Eo; Fri, 03 Mar 2023 07:29:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505569.778407; Fri, 03 Mar 2023 07: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 1pXzrT-0004Wu-AT; Fri, 03 Mar 2023 07:29:51 +0000
Received: by outflank-mailman (input) for mailman id 505569;
 Fri, 03 Mar 2023 07:29: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=dqM3=63=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXzrS-0004Wo-EN
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 07:29:50 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060d.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2cda6b31-b995-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 08:29:48 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8221.eurprd04.prod.outlook.com (2603:10a6:102:1cd::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21; Fri, 3 Mar
 2023 07:29:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Fri, 3 Mar 2023
 07:29: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: 2cda6b31-b995-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BPAWn+oFHPNXIsXfY9oMdCMl59IoWF0UC4p9RJ2NZ8ig+4UFsmTfTgFYdlJ+170GyzmFXAF/CO6++LQdiDLv8Sy8SWxTSxX6Dkpa1Q+XQ7HN03GKHC0vsqJI3YXjTcEXLKTP+LoAmAjH00LHVr43fqt6Z+x6B86YOYXOmsSMyOavPJ8yy81vFLLrL4x4eYSVvCHN/f4vU7VVFtsfuV12vXrwq9bMTQp5/n9Skj7rOMaZuf0/1Ug9eFcmNgxV4niOrQNASHlgZ6d64nuAfOkaXYxdsIEMqkIwC/JwNrFUC0gc2Mo6VPuqCOTp+xTRRjcp+LAJIfblAEsBoiLvIlc5eQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WKT4JdsglRZPTHEzV39FFFEjDFV50TGZ2NHTLgwHKxc=;
 b=USHIFKiSaxRhPUuELzZ9cPg3/TGrx4cL74Au35bXkQznwaISc+m65dcFop3WhecI8LCD8fUjeotCQwTSY8eGmCsvRtVY4xCuQ78hhZkHZaPn7GdMbEqu5wyOo5zRxQrHtKv/++bfPzdae6fGwP2tY4soUp51x9ll5YOE8yQ4zb5lto1L1P9Zf553mxWTjSOSWm12hO6NwXL+pdTlA0kaMlK1/MbMGV7zlmh9bFgYveEmNDCdgARyqRKUacwc9KBS/TPjyOxVCBGIP/1nAQ9+F1oLXxVcHUGie7zZ+FgEX/sEDJ0yuwL/uHB1aNxAvvNT0ccWkzNeMa/NcuvxeMZZ0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WKT4JdsglRZPTHEzV39FFFEjDFV50TGZ2NHTLgwHKxc=;
 b=jItbhu8t+gec4QUfuxwTL7DSO62HIoSYqmX8wUmFUEDDXZmrFg44yLaG2QiwV8juzKmss/O8Ba9cRP4StfSuOUVubxL2Ek1LNZncuoRE/D70kBXfS84KfHY0jzJ/Kq7+rmOEsBqWziUK+4mCD14XO3pWDPA/gIKsvYbV2YfolYiJLexe00zDdQBfdIsygdrqtYeKhfaOtX9op14mBQn6exr4PAHopIszxi1ZPDbulnLSlh6XsdmEyAfQkwJp6kDualz0J575u7A+6RZ+iFx7673Y6juJYU4MS9HiOdDnPE102JpR748KOSrheKSFISyDoSo5uvSNYZLjnTcSWfhtkg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <072cf7c6-9f43-6507-bf8c-a79ceedf3000@suse.com>
Date: Fri, 3 Mar 2023 08:29:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH RFC] bunzip: work around gcc13 warning
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0076.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8221:EE_
X-MS-Office365-Filtering-Correlation-Id: 43c8ca91-b7e5-441f-9015-08db1bb90ff6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ScTD4taxUGs7A549VzxfWG8eUiJ5fuhNiuMtpdvTGOYguFBvGaauSLbf9P2N/GO5EzZaqtUL57MAw9mXfr0Fzw0AJk0NZXMN+S9hx9q4A1BthNYEtxlOjdxnLbL5s4AIIQgv0EthaLcvdPwnHVuSSA/LHiiT659JsYqkbGDBk4u/KgcLDq1utysPl8sYlLV1owIrI27DvLm86893DItD6kEuwXNOLMRrSFv6zMzy/xWDMxjfeH+om1Dt+Nu3iHgjhV/08eqpa4fSKSLHfU2f9nOtGqd0REiz2zeftj5uHbq/8I+MLxDITrqo+MD9K6B3Ix3wNu55vSwzsF0jzX0neKfJe0NKN+9jx7F4qhKt2aFpRcsz2+7wkkou1COfdfhvHX3UdlnTAefXjyYVbvIfr8nNxZ5xrJAxA78EgY60u1guKR7t0xwSXFGxSjn2uxEp73+605x0O9aENBNPVr+S2xMW3YTGw78KWpYg1hkbSjDbGLZvFLNp9nRj6vDAInLUZ2AMWhatQUeNe0Da9UvrQuW9zU6RLE3i/gk1pR8baaGJCrB89F4UGZw7p3cHr6gaISNBZ8rbbnj5PFyvbAt/Zo7qf9+IP1RsteMs7gWd+2r+v3XIt24YtlLA57pyviM6/U/mAaOt+3u5QcwaMJ/h4l33BYpdCzpFP/PoaAqxB6p+U2LzZvvBFrrpnkjhrcaIJhVNF0Z+qv43CoZ2zfEjm3I5+oBTm2rX2xzgbOhE2FI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(346002)(376002)(366004)(136003)(451199018)(66556008)(31686004)(5660300002)(8936002)(2906002)(41300700001)(8676002)(6916009)(4326008)(83380400001)(316002)(6486002)(966005)(478600001)(66476007)(66946007)(6506007)(2616005)(31696002)(38100700002)(86362001)(66574015)(6512007)(26005)(36756003)(54906003)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cHRYYUcwYTBOaVR6WWZkVitpOHVDaFZxNlRuR3ZaNmhiclpRc0dLYjhSSWRZ?=
 =?utf-8?B?ZWc1YzYyUlp6RWtIa1ZSMkYxYTNDUzBUMWJGVVVWODd2Q213MjdESmZLT2JV?=
 =?utf-8?B?UW00REFBM2ZEL01VWkVaa2hoNWVYbVFaWng5REl1eXMweEc4WkdBNEs0cFVr?=
 =?utf-8?B?MGVLQVZPWlZtMDRJV3BRV1c1QnNYVzh0dklXc0lMQlB4eVJqSngzQnUwWkta?=
 =?utf-8?B?MUcvU25yTXU2OHl3ZXY3UWd3Sk5Ybmx6UU8wY2xJSXV1TjdPVU9TSUw4NkFx?=
 =?utf-8?B?RzFLeVA3LzJ1V3BTS3JGS1BTMmhLNmMxMnZSbEZ4SjIxdUowbVZYSUYzTkZQ?=
 =?utf-8?B?VTR2d3Z6SXJoaWNXaFdjTUdwWlZuams1UHZQSDBJRUpXTFpsUi9DeFEzalVH?=
 =?utf-8?B?YW0xOWttYjhnb0JqVGRpL0tMSlhVY25qaGJucHVkUnhGVXVaV0dTRm1GeFYx?=
 =?utf-8?B?SUMyZDNRbmlJTlFSWkVINkJQRFB5RWdVZk9tS3ZxM3NKMDViakFGd25hZnNN?=
 =?utf-8?B?elRzdW1VVE5rSk5JM3JoODlwb1hLY01nRXVwQWVNZDI1NG90OTBQL2kwSW1W?=
 =?utf-8?B?M2Y0dE1aYkFqQW5XajBVT2lzbDNZZ1Q4Z25wQVdId1dSaDNOYWI3SU1RREk2?=
 =?utf-8?B?cnh4aHN1UnBVbE8xWE1PeUZEbE5IU05OWHkrVW5GVVN6U3FEVGI3V0thVUdu?=
 =?utf-8?B?djlJWGpLYyt0Ly9CNmR5N0h6emFDTnZWcWUwUEpDOVVHN1ZkMjdDTmJzeUxC?=
 =?utf-8?B?UHlCVmQyTXkzVm02VHErTUxtVnFVVEE3WTQvWDlKbUl6byt4Q3NiQkxob05s?=
 =?utf-8?B?TCswTnEvMWFtdmFYZnlaTVBLYktOZStnRm9hWVFmSkxUTTE1VklZTlVkZ1h3?=
 =?utf-8?B?eTUyMksxNENkMy9XckVPOTkrYUQzTEtvMGZZaVdxa3pzdHZ2TnVadW5MSGdH?=
 =?utf-8?B?eW9UYnBzMjNxSHRwdDJrbkx3L0hPTC9oWDhQMXZYbUlUVWowYmFWamZ4ajJY?=
 =?utf-8?B?cHFtWTA0WFZTNDl4Y2kzdmNVTlllVWVyejl0dGgxUEJ0MmhNSzQ1VzVEbkdC?=
 =?utf-8?B?TXphZnR2S1FFTEJIaHdFVWtyV2YwUUhMV3Q3c0RweFJISmljZ01sZjBraVNu?=
 =?utf-8?B?ckdmeTZGcW5tKytjR3paUmZnUElwTmxsVkozbmFoM3U1TXp3YlNuS1g0dTcy?=
 =?utf-8?B?UUVWOWRDK24zZUhVR2ErYzFNNFlvREVvZnkzUE8xcWozRGhDdWhjaEhOazdZ?=
 =?utf-8?B?ZWpia1h3UlFQUUtrMEc4eGozUWZISFN3ZHpPRFkvVlR3ZGxucGlYUkNsVWJq?=
 =?utf-8?B?ZnhsVnlKbDloRTdUMVZyVUFWRW1YeVZQcEZvRVZrVWdOVXBKTWJKME1aYnRi?=
 =?utf-8?B?OU1waEUwdHl2QWNzUW8xWEFLcVFBeWs5SFljQ0pDWlg1ekNra3I2YzBBbjJk?=
 =?utf-8?B?UStqR3pGeGtCQWpxSUhEYWl4MGhDeTFqaWFyZ0NSMFFKdVJyeHpxdE50VXBU?=
 =?utf-8?B?bzhaN1JjajlSTXZmbHgwdC9iS1JGVGVsSnZIVStVSkMyNHptYVR0ZjhJVVYy?=
 =?utf-8?B?L3AvYWRhdGpkaTVKcDc4cUFFTTVzc1p3Z05SeDVNbnBLTERIMnk5YzEwSDk0?=
 =?utf-8?B?bHhmU0k0YUk2S3FIN3Fsalc2VEd2Y21ZM2Zkb0Y2MlNWUkdJck9LUGZ6ajM0?=
 =?utf-8?B?dUE0Z3ZMbDBBT2JSdm5oOVRmenI1dHFvQUlwMTAxanE5Q3IxU0s3NlhzMTh3?=
 =?utf-8?B?amoxSmJhdzhlSE1pMDVjTFFSbFJaclV3RW05WHBYUlZLQi9KQVpqMmdXa2JR?=
 =?utf-8?B?SURSNDBnRlJFY0d5K0w4czRQMDBkM25jQUx1c01FLzBybk5rRklSemI3UW9o?=
 =?utf-8?B?MW5qK0FKOWJTcVQ1SFNnZDQ0T1QxVDBQdHF5Z00vSjAvUTF5d3JNTnEzUGx3?=
 =?utf-8?B?VHlGS3VPUXlMbm5UYXhpZGtDa0ZpTGF4Zk5LY0pucnY3Wm5hZUZ1dDE5L085?=
 =?utf-8?B?LzRSbXNDR2dDYUNId20yWUxRS01KRDdpalgycmNuZUN1VkdaR2RNOHM5NmtC?=
 =?utf-8?B?eDNMMzJlYmZqRGtYMGdhRk5rZjJJOGo4UzBGcGd3SmV3Z3hTbDR6dldQZXV3?=
 =?utf-8?Q?GsEpCtq7AAYZXpy7yzHozezOY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 43c8ca91-b7e5-441f-9015-08db1bb90ff6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 07:29:45.5023
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4zaAUi3HxWcgeh7zT4k7lfpYfH8qR0N069f8603ZTzcOJXfpVOfLFiY8jGcAhJ407UwJtOkvGu/hLhpAJ0l89Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8221

While provable that length[0] is always initialized (because symCount
cannot be zero), upcoming gcc13 fails to recognize this and warns about
the unconditional use of the value immediately following the loop.

See also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106511.

Reported-by: Martin Liška <martin.liska@suse.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: We've cloned this code from Linux and the code is unchanged there.
     Therefore the same issue should exist there, and we may better get
     whatever workaround is going to be applied there. But I'm unaware
     of the issue, so far, having been observed in and reported against
     Linux. This may be because they disable the maybe-uninitialized
     warning by default, and they re-enable it only when building with
     W=2.

--- a/xen/common/bunzip2.c
+++ b/xen/common/bunzip2.c
@@ -233,7 +233,7 @@ static int __init get_next_block(struct
 		   becomes negative, so an unsigned inequality catches
 		   it.) */
 		t = get_bits(bd, 5)-1;
-		for (i = 0; i < symCount; i++) {
+		for (length[0] = i = 0; i < symCount; i++) {
 			for (;;) {
 				if (((unsigned)t) > (MAX_HUFCODE_BITS-1))
 					return RETVAL_DATA_ERROR;


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 07:31:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 07:31:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505575.778416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXztI-0005uD-Oi; Fri, 03 Mar 2023 07:31:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505575.778416; Fri, 03 Mar 2023 07: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 1pXztI-0005u6-M5; Fri, 03 Mar 2023 07:31:44 +0000
Received: by outflank-mailman (input) for mailman id 505575;
 Fri, 03 Mar 2023 07:31: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=dqM3=63=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pXztH-0005tz-OI
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 07:31:43 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2062a.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 712db1a1-b995-11ed-96ae-2f268f93b82a;
 Fri, 03 Mar 2023 08:31:43 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8073.eurprd04.prod.outlook.com (2603:10a6:10:24d::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Fri, 3 Mar
 2023 07:31:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Fri, 3 Mar 2023
 07:31: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: 712db1a1-b995-11ed-96ae-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P/jrUHvNoYmShzB6QDq58ikKR4Tb+6SLhdqYMLSKRwJdI/bSI9MBSpgF8isens5HAeBcVq38Ux+wTeUqNDViO+TPr9ZjXc3Ke7wVro4qjFgNzZv8FkhVOqhvWTtIInA5f8l5oslbzURT04z9fUSBOFp0Xh/RsG2LcqgFkBSnFTqCejz4VQwXPo3thNMkOVwH8vdMaKF685OMbweVzxeJ6pqxRZ80oaUyvq6tfF2fOm8c88IrN9DWmrkyKe51p+oBZhhe9f2LAgJ+amNBQqKSmfuaa+u2T72yOR1KagS61GG6AM9Uty1ebRdBfObYi8umD/okOUtFHwnxuqhs4ZEz5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RBNEmcCYS+n9KtRj3Yev8yT8RITlz4OvvmWkz8ClEoE=;
 b=XiKxEjJYSOdiigC22cViyxyog4TuT4yjwVj6Cvotw6mKxDvAjHVBUglEGsHlNIHiUcPg0FDL+vNoQ0Bz+09CnMq0JJniJjF4bAUFsPUXxidHim543QEJUwfEGmMNi1qfxy4EhyF1UBwQDyH1+4QkT9QoM++M8M9ZqE3cDHyUfxdH+7xxZDYw25C1lE+JYJZS7Ju5PLmfRavXrIZq021tKcfHiWgkuLzv03prPKE2IzsIn7hvUjdw3dP1qANThz+NbHV3RN+whcZjH6iuGnpUC4tTQ+B2UlydVo6fhZXuIehy6JG7ZnxrGqe6JNC6FQ6gJx+y1aykWZG90clYqV0GEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RBNEmcCYS+n9KtRj3Yev8yT8RITlz4OvvmWkz8ClEoE=;
 b=KePBdCRSDSpjUTTWnc69uwipstVPNeZGO1Y2MMyveanDms3n8BSmM14sEnuKFJywhdVfxr8cnZosURViCY8bX+jWaUwaBbBdIGtAs5AfQwa8AkRH7JDRQLpf3IMs2Z9mRSSFXAYZXxVeGaYDBh44LGl+5YG6qwqDo82+5F5m5SJ3NAcjBgQczVe+peu0e+N2cYIk4D3W0j/9OMZsCOPf3d/4IHMQ/2qVA6mOJdLatZFbIGyIyw9/5rDUt39RCrN6Y23rxgwqWjHoQvSe5iixaePcOTsXFOt2YFKqAjQ273NUMsWfQO3XZYMh13zWxkZjL/i6YwZnMgKXdhcMBrKE/w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3a455e81-6db1-be47-42f1-9aa49531d715@suse.com>
Date: Fri, 3 Mar 2023 08:31:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Kevin Tian <kevin.tian@intel.com>,
 Jun Nakajima <jun.nakajima@intel.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/altp2m: help gcc13 to avoid it emitting a warning
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0182.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8073:EE_
X-MS-Office365-Filtering-Correlation-Id: b58a69f4-ecf5-4e1d-cf2a-08db1bb95485
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Eomf283TStaJQTHBQrkCfwC7VkrHCU9IJQF72Pxj25RZOTsfF9KMoNNYNwzuwx1FHTEu2+TvgiWtik2HSx3Wgg+zy3tqZ1vUsu00ajBJh6feLcwgzmphp3PVC5HfBNDvTNH8SBsupjtGPD85r0D2/UpYCrJpAkI1cv1hu4GuTSmkEF/mbEkTFy8gupS5D7eefQG5m+9yDOKn/X+yuImsft3Hbncp6YFfzIXJd9EeKeLtqyNSMGoXjZaDmMpnCDf4REp5csysYrpZa5qR0nl97fKG4tXZkN9d6FjvGfDIq67yH6gKtp6snIAixThlPVhDgzCQPnv+xnmkCoN/ekMf00ujgF02kTY27Yav5zLkS6GURPFCgmP/U6dtVVBKuDmrrnpv/KU8nI0sm7zK2c2TwfNiZSIZuwEBjv5a5mx9VLXFfyqINFUTaBN3JsdomlJjwd1BX5Jr0eJrpLkHytTxbYKolAUv3cPICEISG8cgQWdnmYhO0EiTLwZPqWK3VebR2mLTCYhOvaMGlAalSOLrAJJ4z3Vqty6MXJTtlJHJSmBOwfcGCHnsbftmYQ5LBzOAmnc3Vw9Wfriz58Xaj+ZDshOWr8BABhP8jjZKKJpe0FIz440LVy0zQHT30hQzUI5PoUkJovpmkPkUb2KraNrCWxtMD0V7qcWKxmirATpFjpyGyqJCmBlOpfZc1inQ27qRNu0RhLmHORjp++6j3eNLqqVi69uAOYiUwyXU9Nh79Fs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(376002)(346002)(366004)(136003)(396003)(451199018)(31686004)(5660300002)(4326008)(41300700001)(36756003)(83380400001)(66556008)(66946007)(66476007)(2906002)(316002)(8676002)(8936002)(6916009)(6486002)(38100700002)(186003)(6506007)(31696002)(6512007)(2616005)(478600001)(26005)(86362001)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VG9MRU9pUWVuMXVHcmZIT3lKN21raHFyYkFFV1pLVDc3bVk2RFR4WDQrZ0x1?=
 =?utf-8?B?b1h6RHFYSUhuOFI5VTROL0x1dXBpZmRBZkJZclV4MDFqNzRmK3REcStUQzF1?=
 =?utf-8?B?U01rM09aTGlqdG1LWlRDVjJuRmZFd0hyb2J5ZzIvZCtqNkdFN1RZQWlXY0Mv?=
 =?utf-8?B?dXd4bVBxcXpQYjBzYnBRaEZDU0JBM0huOFQxZ2JMWStWNXlLRXB2VXJJT01R?=
 =?utf-8?B?dm9xVXNvSlJIV2Y2S1dhZStCQlZmeWxFTlkxQ3VYVzZoTFczRzZtazZZaXBx?=
 =?utf-8?B?ZGc0cXF2amgxajRsSk1rSXlVQmZPc3BkdENsaXRTM3Z2eXNyWmVtVi85SjhI?=
 =?utf-8?B?TUxaQnVoRC9ZNHVyZUc2bE1nR3MxWHZDZzlSU0NVS29kcmw0UHkvWjFqMmQv?=
 =?utf-8?B?L0RqVThOL3htYis5b2t4VEJOOHFlaEVUZkpKVXI4SDFBWkNoVE5KWjk4VWR3?=
 =?utf-8?B?OFNreFo4K3pvUVF2YUh0MzNzdXJJbDdBWEdUaFUvS0xqbEk3b1hIU0hCYVZr?=
 =?utf-8?B?MHZaRDBibW9QWUFsU2VrSjlSdE5NNHhvNE02bUc5V1B2MnRMeXVFVDVjMHp6?=
 =?utf-8?B?aTBqYlZhRUJvY2sza3NWTk8xcTNnVjcyVjUwVHpEemQyRUJTTElBUjF6RWRW?=
 =?utf-8?B?VDg0UnhqTG5mWTJvOVJNR3NFc3VxaDQ5L1RUL0M2bG9JMUFtNndYeEROVitl?=
 =?utf-8?B?alhjSWtpNGdJRzRDWUtIZTZ0YmI5dTdMUTE3WW5GOVlKTFRkOUM4UktaOFpJ?=
 =?utf-8?B?UDhreS8rV2xVN0thUXNqcjZDNE54bTgrcXlmSlNLZ3NyMFREU1o1dDdLdkl3?=
 =?utf-8?B?MkU3Ky9RdFdQS1RXVTd0M0lGZERvcmpRaE5HandPTFhUVGNLQzFzV2VMSjJp?=
 =?utf-8?B?VVpNTWxmWDZEc252OU00dWFIMG9kYmJ4Qjdtb2xJeWtoOWY4OVlIVUFnOUdX?=
 =?utf-8?B?UENnVTJIUGVNdnM2L2xiK2ZqN0V1NzJ0TklCOGJpd0ZaMDQ5bVNxQXhTdWFy?=
 =?utf-8?B?OGtGNmEzTEd0WTVPcXFFMjAzTGZOclRGV2Z6NUtwNXl3RnEwL2xZRExFOFVW?=
 =?utf-8?B?aEdEZjVUSXllcXROWVdFeFJiWjJ3Z3l2dFpkTEVVdFppNnlrYWhRTzZZR0Fz?=
 =?utf-8?B?VGVTakFKNWMvTkN1Ry90eHJMRDhGTmdIVUxER0NxRWQrNXdya3BTcFliL2hN?=
 =?utf-8?B?R0pISGFZR3VRNFpqeFBOLzh4R3l1MDY0KzVGWUxWN1AxY1hSa3kzdzBDQmEr?=
 =?utf-8?B?VnhIV2huV0YrYVdDUklSMXRRWlVPNXVERDdUU1kvaXJBZ0l4bFBKMURNd3RH?=
 =?utf-8?B?YzY4d3ZBYlFReGM5SFR1MDZLSlEyRFFwMUZjUEpCS055L21WY213OEs5ZU5I?=
 =?utf-8?B?dU0vaWg0OFpxcTUwUWttaE4zQUJ0bmgwVGpWZ3ROZmhlRHdWM2FPL0xKVlZN?=
 =?utf-8?B?aThZa3V5NUFWR2prb2VvQWN1a0FVdWtVYWdLSVIrRFlINTdTNS8vUzhINW9L?=
 =?utf-8?B?b1VJUUdUOG80d1BKdUVRNXNzaVAvdFF6U1R4ZUVBWktxR24xckpoTjJpT2U0?=
 =?utf-8?B?VmU5NkJDZnBYZGlER0dFMWs3QVJFVE90UENVRlJJTDZLNEpFcU1UdjMyY0g3?=
 =?utf-8?B?dGxPczUzYXkxc2V2SHJ1Tm1ZUXBXSm9aeXcyUlFwWG1OVzQ5KzhEUVNpMXJM?=
 =?utf-8?B?aWdLZCtkckIyWVdFaGZVMzZBSmJFVjRJc0s4TExoa04xZjVzak5GZ0xQYUtN?=
 =?utf-8?B?MVBjNkhKaUNJdVJ5S0xjbFEycTkyR2hGV0VPUDlEU2Q4VzFtT2llY040MzBw?=
 =?utf-8?B?MWh1bFZQN0N0Q1Y0QUZqY3JQTmNmMXREMFVRRDZqOHFjYU5JRVJNNkF3NUU2?=
 =?utf-8?B?Rnk5VzBDd0RPTmltN0V4SE5nRHZhWWc5QW9TcUFCTk0wWHRUc0NCMEEweTFW?=
 =?utf-8?B?NDl2MHI1MVpNTzcyNXA0V2kxVjk3TEZFbXFnUFkzbXFwUHp1Q1NpTEtPcVk1?=
 =?utf-8?B?eXB0VjFJZ3RIRUZUVWlhSjk1RTk5a1NzTEoyWlpXSlJpVzNlaTdwT09nSmlV?=
 =?utf-8?B?ZFFrd0JjcFd2QkJOSXhLeGhheS93MG1yangydmxpeFNwNHBKOEl0YlR1a2Jy?=
 =?utf-8?Q?lkjVNpXGsievK/BLEVFWdJBjp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b58a69f4-ecf5-4e1d-cf2a-08db1bb95485
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 07:31:40.5106
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uXxlcHujF+/J1cAMm5HdWwlnZGcmMtKByR49lA5a0HBPxpaV/4O97cwyIjfrdYVR1jlWYV1elGbiw5YYC9URtA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8073

Switches of altp2m-s always expect a valid altp2m to be in place (and
indeed altp2m_vcpu_initialise() sets the active one to be at index 0).
The compiler, however, cannot know that, and hence it cannot eliminate
p2m_get_altp2m()'s case of returnin (literal) NULL. If then the compiler
decides to special case that code path in the caller, the dereference in
instances of

    atomic_dec(&p2m_get_altp2m(v)->active_vcpus);

can, to the code generator, appear to be NULL dereferences, leading to

In function 'atomic_dec',
    inlined from '...' at ...:
./arch/x86/include/asm/atomic.h:182:5: error: array subscript 0 is outside array bounds of 'int[0]' [-Werror=array-bounds=]

Aid the compiler by adding a BUG_ON() checking the return value of the
problematic p2m_get_altp2m(). Since with the use of the local variable
the 2nd p2m_get_altp2m() each will look questionable at the first glance
(Why is the local variable not used here?), open-code the only relevant
piece of p2m_get_altp2m() there.

To avoid repeatedly doing these transformations, and also to limit how
"bad" the open-coding really is, convert the entire operation to an
inline helper, used by all three instances (and accepting the redundant
BUG_ON(idx >= MAX_ALTP2M) in two of the three cases).

Reported-by: Charles Arnold <carnold@suse.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4128,13 +4128,7 @@ void vmx_vmexit_handler(struct cpu_user_
             }
         }
 
-        if ( idx != vcpu_altp2m(v).p2midx )
-        {
-            BUG_ON(idx >= MAX_ALTP2M);
-            atomic_dec(&p2m_get_altp2m(v)->active_vcpus);
-            vcpu_altp2m(v).p2midx = idx;
-            atomic_inc(&p2m_get_altp2m(v)->active_vcpus);
-        }
+        p2m_set_altp2m(v, idx);
     }
 
     if ( unlikely(currd->arch.monitor.vmexit_enabled) )
--- a/xen/arch/x86/include/asm/p2m.h
+++ b/xen/arch/x86/include/asm/p2m.h
@@ -879,6 +879,26 @@ static inline struct p2m_domain *p2m_get
     return v->domain->arch.altp2m_p2m[index];
 }
 
+/* set current alternate p2m table */
+static inline bool p2m_set_altp2m(struct vcpu *v, unsigned int idx)
+{
+    struct p2m_domain *orig;
+
+    BUG_ON(idx >= MAX_ALTP2M);
+
+    if ( idx == vcpu_altp2m(v).p2midx )
+        return false;
+
+    orig = p2m_get_altp2m(v);
+    BUG_ON(!orig);
+    atomic_dec(&orig->active_vcpus);
+
+    vcpu_altp2m(v).p2midx = idx;
+    atomic_inc(&v->domain->arch.altp2m_p2m[idx]->active_vcpus);
+
+    return true;
+}
+
 /* Switch alternate p2m for a single vcpu */
 bool_t p2m_switch_vcpu_altp2m_by_id(struct vcpu *v, unsigned int idx);
 
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -1789,13 +1789,8 @@ bool_t p2m_switch_vcpu_altp2m_by_id(stru
 
     if ( d->arch.altp2m_eptp[idx] != mfn_x(INVALID_MFN) )
     {
-        if ( idx != vcpu_altp2m(v).p2midx )
-        {
-            atomic_dec(&p2m_get_altp2m(v)->active_vcpus);
-            vcpu_altp2m(v).p2midx = idx;
-            atomic_inc(&p2m_get_altp2m(v)->active_vcpus);
+        if ( p2m_set_altp2m(v, idx) )
             altp2m_vcpu_update_p2m(v);
-        }
         rc = 1;
     }
 
@@ -2072,13 +2067,8 @@ int p2m_switch_domain_altp2m_by_id(struc
     if ( d->arch.altp2m_visible_eptp[idx] != mfn_x(INVALID_MFN) )
     {
         for_each_vcpu( d, v )
-            if ( idx != vcpu_altp2m(v).p2midx )
-            {
-                atomic_dec(&p2m_get_altp2m(v)->active_vcpus);
-                vcpu_altp2m(v).p2midx = idx;
-                atomic_inc(&p2m_get_altp2m(v)->active_vcpus);
+            if ( p2m_set_altp2m(v, idx) )
                 altp2m_vcpu_update_p2m(v);
-            }
 
         rc = 0;
     }


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 07:36:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 07:36:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505580.778427 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pXzy0-0006Xs-B1; Fri, 03 Mar 2023 07:36:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505580.778427; Fri, 03 Mar 2023 07:36: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 1pXzy0-0006Xl-7i; Fri, 03 Mar 2023 07:36:36 +0000
Received: by outflank-mailman (input) for mailman id 505580;
 Fri, 03 Mar 2023 07:36: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=M2mb=63=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pXzxy-0006Xf-JK
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 07:36:34 +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 1d6ad1ef-b996-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 08:36:32 +0100 (CET)
Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com
 [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-184-jdpySTYRMCSgj7QZiCCVTw-1; Fri, 03 Mar 2023 02:36:26 -0500
Received: by mail-wm1-f70.google.com with SMTP id
 l31-20020a05600c1d1f00b003e8626cdd42so598879wms.3
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 23:36:26 -0800 (PST)
Received: from [192.168.0.2] (ip-109-43-176-203.web.vodafone.de.
 [109.43.176.203]) by smtp.gmail.com with ESMTPSA id
 o16-20020a056000011000b002c703d59fa7sm1378189wrx.12.2023.03.02.23.36.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Mar 2023 23:36: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: 1d6ad1ef-b996-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677828990;
	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=YqyFTRlmVYRz5ObkrkzuCnVGtE9KoVvtsCrfZj31l2s=;
	b=Mz5DtgHIOv5fkvLbpWpASosPqxMU2rCztWRkuXRgmUIM2pUua8beGIkEKBztkjIoo9x4Wq
	Pn21opSNlLfcgu4iIK0LZnXWQ37WIOrtolSQus9YVLe2TewtQsvUkC4gVHMcHfBC82saGy
	HhHLgj83iYZAsRiFGevFBHI1RIPl1QQ=
X-MC-Unique: jdpySTYRMCSgj7QZiCCVTw-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=YqyFTRlmVYRz5ObkrkzuCnVGtE9KoVvtsCrfZj31l2s=;
        b=B8PL3R5U1ArvTDNs0BtxgragD3hSYak02LBce0o3Vv4GZ6ifKZHWUJHJeSkYzXhFC0
         KmqVvZDefKSYBDdxS/8XDiXnOgURt3opOw7MgATMAu2aCc8aEIG9tdfRg6YPMNLq+AZd
         q2714n8o92hlvX2B0qekCXgOOmeUJ7sZDYBFaJ9NjtLrWCSC91ZGnec4dV5sOjG75eCw
         AP5QKagdHJBN5ZXEYRiFrIZlYexU9w1z0zi14WBcct/NSHwGJG/VxzI1FDIxqwAfb9f6
         vDH9qmrUHIsI7C4h5g8p7RVddKGv+3WBD3Mds2U0kkBn/ZkK0EnhmgKaDUCn5XXaRSjY
         vC9A==
X-Gm-Message-State: AO0yUKXlW03kqROekaiYSNydBTq7R3MzviRGAB8tTTj+FKXbeLqEZiVQ
	bxquQXJcc2qExiLo5R2SMDmljmxWsVCLjZ8jAqvETEFKXpCOsrSRa1Vz287gAkvmgOi2mEkgwMH
	YfKK7NZ+jh74KxGJzoOgUpONizrg=
X-Received: by 2002:a5d:5544:0:b0:242:1809:7e17 with SMTP id g4-20020a5d5544000000b0024218097e17mr786028wrw.6.1677828985659;
        Thu, 02 Mar 2023 23:36:25 -0800 (PST)
X-Google-Smtp-Source: AK7set9cVmsT0uaOjLpyfGRqzmsceoSUEMI//iNaoUptBCRvsgzqA+n1h2dF2/JHs3Sf1sqcgq/pNg==
X-Received: by 2002:a5d:5544:0:b0:242:1809:7e17 with SMTP id g4-20020a5d5544000000b0024218097e17mr786014wrw.6.1677828985284;
        Thu, 02 Mar 2023 23:36:25 -0800 (PST)
Message-ID: <29a8a698-b056-714a-3a94-c591e5b55c44@redhat.com>
Date: Fri, 3 Mar 2023 08:36:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v2 4/6] docs/about/deprecated: Deprecate the
 qemu-system-arm binary
To: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
 Daniel Berrange <berrange@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>
References: <20230302163106.465559-1-thuth@redhat.com>
 <20230302163106.465559-5-thuth@redhat.com>
 <733a61bc-0e41-a864-c7fa-f177b35afa25@linaro.org>
From: Thomas Huth <thuth@redhat.com>
In-Reply-To: <733a61bc-0e41-a864-c7fa-f177b35afa25@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 02/03/2023 23.16, Philippe Mathieu-Daudé wrote:
> On 2/3/23 17:31, Thomas Huth wrote:
>> qemu-system-aarch64 is a proper superset of qemu-system-arm,
>> and the latter was mainly still required for 32-bit KVM support.
>> But this 32-bit KVM arm support has been dropped in the Linux
>> kernel a couple of years ago already, so we don't really need
>> qemu-system-arm anymore, thus deprecated it now.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   docs/about/deprecated.rst | 10 ++++++++++
>>   1 file changed, 10 insertions(+)
>>
>> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
>> index a30aa8dfdf..21ce70b5c9 100644
>> --- a/docs/about/deprecated.rst
>> +++ b/docs/about/deprecated.rst
>> @@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, 
>> including KVM support
>>   on x86_64 hosts. Thus users are recommended to reconfigure their systems
>>   to use the ``qemu-system-x86_64`` binary instead.
>> +``qemu-system-arm`` binary (since 8.0)
>> +''''''''''''''''''''''''''''''''''''''
>> +
>> +``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``. The
>> +latter was mainly a requirement for running KVM on 32-bit arm hosts, but
>> +this 32-bit KVM support has been removed some years ago already (see:
> 
> s/some/few/?

I can also use "three years ago" since the patch had been merged in March 2020.

>> +https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=541ad0150ca4 
>>
>> +). Thus the QEMU project will drop the ``qemu-system-arm`` binary in a
>> +future release. Use ``qemu-system-aarch64`` instead.
> 
> If we unify, wouldn't it be simpler to name the single qemu-system
> binary emulating various ARM architectures as 'qemu-system-arm'?

That would be more intuitive for people who are completely new to QEMU, but 
I guess it will cause a lot of "you broke my script that uses the -aarch64 
binary" troubles again. So I think it's likely better to not go down that road.

  Thomas



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 07:41:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 07:41:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505587.778437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY02c-0008He-00; Fri, 03 Mar 2023 07:41:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505587.778437; Fri, 03 Mar 2023 07: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 1pY02b-0008HX-T7; Fri, 03 Mar 2023 07:41:21 +0000
Received: by outflank-mailman (input) for mailman id 505587;
 Fri, 03 Mar 2023 07:41:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Pyx=63=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pY02Z-0008HR-Pk
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 07:41:19 +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 c9163dbc-b996-11ed-96ae-2f268f93b82a;
 Fri, 03 Mar 2023 08:41:19 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 l7-20020a05600c1d0700b003eb5e6d906bso701587wms.5
 for <xen-devel@lists.xenproject.org>; Thu, 02 Mar 2023 23:41: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: c9163dbc-b996-11ed-96ae-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677829278;
        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=P8ENmnYLA9A29rzQTlBYRObb8VBGo1jVDB3cSSloeNg=;
        b=HU0R4x5pHPym+tl1v4wTUoJxN1wqU3L37NUfk2KdnFYFkCHRxtIToa2x19wfKG4PHM
         cVtGxGUHPwYxQzuwrlLArnQRzTTmMxP9nt7Mri84faoI5nPB+vKQf1tBAJ5zUDn0jArq
         69V+30ij1zpFlLRcJA62E/7FjCmBRpjEEOlmtFvPcy4Bk3SteJUAFaLF2JRkuCmqAaHB
         isobetXid7ZmrH4CFfpoDYHwBj1kwA/8lQpDSbdBxap2+Uar8X/ShL3oyX9eMNx1NLIn
         hNMnHRIyoPzmrp3Y5z2IG7vAidzcKLq7m+mOuNNFE5nXb3RzZDh+0bPJUDeR9VTTYma0
         7YDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677829278;
        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=P8ENmnYLA9A29rzQTlBYRObb8VBGo1jVDB3cSSloeNg=;
        b=0aMOGmTo4MH1rbg5M0IowGTbvK5WsiejfGXlArWk7e1A6bYPqwUfS/HmDLxS23nkha
         XrjfBcgZoG42DPju5iWkT1a1AYSCfmmsyHkMniso3X6YKJiZZEN4GYYfddDKzcLVk5gm
         d3T5dnEFQ+iqm28z23oBYFItHsmHMCu1zlrV3ym5h6sGjgVrrrqbmhbU/YyZqo1Y8lDV
         vkZ7d+QDae/YMTZ3wHRZ7/z8SqbYMxiN5l7GeUc1LkfdF/aU+/wys37OT7H63JGIPZeE
         ejKh8xGDsJJrsQV+XcscAnbPWw71ijgQPSIj0JKorQWd/oox8IUTiO+aLsIzPp+r5gwX
         /wWQ==
X-Gm-Message-State: AO0yUKXGotNC1/q8rGIeLrx3mltjlOk2QqAFa0ASvfMvaaWnm4NKcGPl
	g+XxJmJW3mrJO+Rd0z8sKpYIhFBn2J+gI7vxcYUTQw==
X-Google-Smtp-Source: AK7set9ap9ZxKykHzdiUWjYYDhCdIFeynF2eP/cGM2TWTsAvjzXrWeioJRxNJYOgUn7AiXvx0t0YSt2aivZwcfbSWec=
X-Received: by 2002:a05:600c:3596:b0:3eb:3998:8bed with SMTP id
 p22-20020a05600c359600b003eb39988bedmr1811825wmq.1.1677829278134; Thu, 02 Mar
 2023 23:41:18 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <be5a37c0ec23bf8119f5cb68ec58d8cca16d9812.1677079672.git.jens.wiklander@linaro.org>
 <BE16E58C-FBDF-4815-A6C1-CB0D3C573816@arm.com>
In-Reply-To: <BE16E58C-FBDF-4815-A6C1-CB0D3C573816@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 3 Mar 2023 08:41:07 +0100
Message-ID: <CAHUa44HmBsH2tCk=N=sovVVbgs9v5kLkOfJNzLfqXifZ=8iZtw@mail.gmail.com>
Subject: Re: [XEN PATCH v7 13/20] xen/arm: ffa: support mapping guest RX/TX buffers
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Thu, Mar 2, 2023 at 4:05=E2=80=AFPM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Adds support in the mediator to map and unmap the RX and TX buffers
> > provided by the guest using the two FF-A functions FFA_RXTX_MAP and
> > FFA_RXTX_UNMAP.
> >
> > These buffer are later used to to transmit data that cannot be passed i=
n
> > registers only.
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > xen/arch/arm/tee/ffa.c | 127 +++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 127 insertions(+)
> >
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index f1b014b6c7f4..953b6dfd5eca 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -149,10 +149,17 @@ struct ffa_partition_info_1_1 {
> > };
> >
> > struct ffa_ctx {
> > +    void *rx;
> > +    const void *tx;
> > +    struct page_info *rx_pg;
> > +    struct page_info *tx_pg;
> > +    unsigned int page_count;
> >     uint32_t guest_vers;
> > +    bool tx_is_mine;
> >     bool interrupted;
> > };
> >
> > +
> Newline probably added by mistake.

Yes, I'll remove it.

>
> > /* Negotiated FF-A version to use with the SPMC */
> > static uint32_t ffa_version __ro_after_init;
> >
> > @@ -337,6 +344,11 @@ static void set_regs(struct cpu_user_regs *regs, r=
egister_t v0, register_t v1,
> >         set_user_reg(regs, 7, v7);
> > }
> >
> > +static void set_regs_error(struct cpu_user_regs *regs, uint32_t error_=
code)
> > +{
> > +    set_regs(regs, FFA_ERROR, 0, error_code, 0, 0, 0, 0, 0);
> > +}
> > +
> > static void set_regs_success(struct cpu_user_regs *regs, uint32_t w2,
> >                              uint32_t w3)
> > {
> > @@ -358,6 +370,99 @@ static void handle_version(struct cpu_user_regs *r=
egs)
> >     set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
> > }
> >
> > +static uint32_t handle_rxtx_map(uint32_t fid, register_t tx_addr,
> > +                                register_t rx_addr, uint32_t page_coun=
t)
> > +{
> > +    uint32_t ret =3D FFA_RET_INVALID_PARAMETERS;
> > +    struct domain *d =3D current->domain;
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> > +    struct page_info *tx_pg;
> > +    struct page_info *rx_pg;
> > +    p2m_type_t t;
> > +    void *rx;
> > +    void *tx;
> > +
> > +    if ( !smccc_is_conv_64(fid) )
> > +    {
> > +        tx_addr &=3D UINT32_MAX;
> > +        rx_addr &=3D UINT32_MAX;
> > +    }
>
> I am bit wondering here what we should do:
> - we could just say that 32bit version of the call is not allowed for non=
 32bit guests
> - we could check that the highest bits are 0 for 64bit guests and return =
an error if not
> - we can just mask hopping that if there was a mistake the address after =
the mask
> does not exist in the guest space
>
> At the end nothing in the spec is preventing a 64bit guest to use the 32b=
it so it might
> be a good idea to return an error if the highest 32bit are not 0 here ?

The SMC Calling Convention says:
When an SMC32/HVC32 call is made from AArch64:
- A Function Identifier is passed in register W0.
- Arguments are passed in registers W1-W7.

So masking off the higher bits is all that should be done.

>
> > +
> > +    /* For now to keep things simple, only deal with a single page */
> > +    if ( page_count !=3D 1 )
> > +        return FFA_RET_NOT_SUPPORTED;
>
> Please add a TODO here and a print as this is a limitation we will probab=
ly have to
> work on soon.

I'll add an arbitrary upper limit and a print if it's exceeded.

>
>
> > +
> > +    /* Already mapped */
> > +    if ( ctx->rx )
> > +        return FFA_RET_DENIED;
> > +
> > +    tx_pg =3D get_page_from_gfn(d, gfn_x(gaddr_to_gfn(tx_addr)), &t, P=
2M_ALLOC);
> > +    if ( !tx_pg )
> > +        return FFA_RET_INVALID_PARAMETERS;
> > +    /* Only normal RAM for now */
> > +    if ( !p2m_is_ram(t) )
> > +        goto err_put_tx_pg;
> > +
> > +    rx_pg =3D get_page_from_gfn(d, gfn_x(gaddr_to_gfn(rx_addr)), &t, P=
2M_ALLOC);
> > +    if ( !tx_pg )
> > +        goto err_put_tx_pg;
> > +    /* Only normal RAM for now */
> > +    if ( !p2m_is_ram(t) )
> > +        goto err_put_rx_pg;
> > +
> > +    tx =3D __map_domain_page_global(tx_pg);
> > +    if ( !tx )
> > +        goto err_put_rx_pg;
> > +
> > +    rx =3D __map_domain_page_global(rx_pg);
> > +    if ( !rx )
> > +        goto err_unmap_tx;
> > +
> > +    ctx->rx =3D rx;
> > +    ctx->tx =3D tx;
> > +    ctx->rx_pg =3D rx_pg;
> > +    ctx->tx_pg =3D tx_pg;
> > +    ctx->page_count =3D 1;
>
> please use page_count here instead of 1 so that this is not forgotten onc=
e
> we add support for more pages.

OK

Cheers,
Jens

>
>
> Cheers
> Bertrand
>
> > +    ctx->tx_is_mine =3D true;
> > +    return FFA_RET_OK;
> > +
> > +err_unmap_tx:
> > +    unmap_domain_page_global(tx);
> > +err_put_rx_pg:
> > +    put_page(rx_pg);
> > +err_put_tx_pg:
> > +    put_page(tx_pg);
> > +
> > +    return ret;
> > +}
> > +
> > +static void rxtx_unmap(struct ffa_ctx *ctx)
> > +{
> > +    unmap_domain_page_global(ctx->rx);
> > +    unmap_domain_page_global(ctx->tx);
> > +    put_page(ctx->rx_pg);
> > +    put_page(ctx->tx_pg);
> > +    ctx->rx =3D NULL;
> > +    ctx->tx =3D NULL;
> > +    ctx->rx_pg =3D NULL;
> > +    ctx->tx_pg =3D NULL;
> > +    ctx->page_count =3D 0;
> > +    ctx->tx_is_mine =3D false;
> > +}
> > +
> > +static uint32_t handle_rxtx_unmap(void)
> > +{
> > +    struct domain *d =3D current->domain;
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> > +
> > +    if ( !ctx->rx )
> > +        return FFA_RET_INVALID_PARAMETERS;
> > +
> > +    rxtx_unmap(ctx);
> > +
> > +    return FFA_RET_OK;
> > +}
> > +
> > static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint=
32_t fid)
> > {
> >     struct arm_smccc_1_2_regs arg =3D { .a0 =3D fid, };
> > @@ -423,6 +528,7 @@ static bool ffa_handle_call(struct cpu_user_regs *r=
egs)
> >     uint32_t fid =3D get_user_reg(regs, 0);
> >     struct domain *d =3D current->domain;
> >     struct ffa_ctx *ctx =3D d->arch.tee;
> > +    int e;
> >
> >     if ( !ctx )
> >         return false;
> > @@ -435,6 +541,24 @@ static bool ffa_handle_call(struct cpu_user_regs *=
regs)
> >     case FFA_ID_GET:
> >         set_regs_success(regs, get_vm_id(d), 0);
> >         return true;
> > +    case FFA_RXTX_MAP_32:
> > +#ifdef CONFIG_ARM_64
> > +    case FFA_RXTX_MAP_64:
> > +#endif
> > +        e =3D handle_rxtx_map(fid, get_user_reg(regs, 1), get_user_reg=
(regs, 2),
> > +                            get_user_reg(regs, 3));
> > +        if ( e )
> > +            set_regs_error(regs, e);
> > +        else
> > +            set_regs_success(regs, 0, 0);
> > +        return true;
> > +    case FFA_RXTX_UNMAP:
> > +        e =3D handle_rxtx_unmap();
> > +        if ( e )
> > +            set_regs_error(regs, e);
> > +        else
> > +            set_regs_success(regs, 0, 0);
> > +        return true;
> >     case FFA_MSG_SEND_DIRECT_REQ_32:
> > #ifdef CONFIG_ARM_64
> >     case FFA_MSG_SEND_DIRECT_REQ_64:
> > @@ -515,6 +639,9 @@ static int ffa_relinquish_resources(struct domain *=
d)
> >                    get_vm_id(d), subscr_vm_destroyed[n], res);
> >     }
> >
> > +    if ( ctx->rx )
> > +        rxtx_unmap(ctx);
> > +
> >     XFREE(d->arch.tee);
> >
> >     return 0;
> > --
> > 2.34.1
> >
>


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 07:47:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 07:47:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505593.778447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY08L-0000VK-KF; Fri, 03 Mar 2023 07:47:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505593.778447; Fri, 03 Mar 2023 07:47: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 1pY08L-0000VD-HY; Fri, 03 Mar 2023 07:47:17 +0000
Received: by outflank-mailman (input) for mailman id 505593;
 Fri, 03 Mar 2023 07:47: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=DvcW=63=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pY08L-0000V7-0f
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 07:47:17 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9d828016-b997-11ed-96ae-2f268f93b82a;
 Fri, 03 Mar 2023 08:47:15 +0100 (CET)
Received: from DS7PR03CA0054.namprd03.prod.outlook.com (2603:10b6:5:3b5::29)
 by DS7PR12MB5958.namprd12.prod.outlook.com (2603:10b6:8:7d::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Fri, 3 Mar
 2023 07:47:12 +0000
Received: from DM6NAM11FT074.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3b5:cafe::da) by DS7PR03CA0054.outlook.office365.com
 (2603:10b6:5:3b5::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21 via Frontend
 Transport; Fri, 3 Mar 2023 07:47:12 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT074.mail.protection.outlook.com (10.13.173.203) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6156.22 via Frontend Transport; Fri, 3 Mar 2023 07:47:12 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 3 Mar
 2023 01:47:11 -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.2375.34; Thu, 2 Mar
 2023 23:47:11 -0800
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 3 Mar 2023 01:47: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: 9d828016-b997-11ed-96ae-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iJtbGHkfuyQWFBEtxHLPJnZML9pp4TiQrlE0Ecu4pIShyD4wg53JJ4XB5B2pplnVx6DWvelpRz0/VYkyC0lj95Kydxln7o/M9x2rrNws3i61JmmRGv+0F34379cDuYrrbLHIoMIW8IOxtryV9Wlkl8CINsWiiU+/3HRN6JJ3yA4QsjJFZUjWBN4+egIy+HkZKBo3zrMZQGMQbFyguM4AHgTskix4QyjurxUQGTLqUUDh7zkpYfOgRjhtuQtLBoA4KMr5fB38dEqj0MC6QV9g/jouQOLYCJ+odD7XAJJ2Ps0hJ5YryxJJfFbq8sU5d9KnxYIqbtTluPmBVc+RJczbYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Cn4C1Yj/tIGltVY4jm6mElx+EHGU2iU4XLtA8xwP7N4=;
 b=aK6kj94zfE44dNNh+zTwo2xc+Gn/UlA/GiAnKwDDxJNOTk7PVMDPGjKNNe/BNhVAN/PEeNy+0YTKR3NXH7JQMpgt5t5yWm1RURkYIxG9JpZMozoC3PgQ9z7XQZnKo7bdmXaRxRIOGP7XGtHnQRbifz9ZCU6wfEKpvjo4lvguIraW40kT0sQoFzIZQofzH33YlNp7svKRQaFbxaQCYCXsxPz/QWQDCJBitKrknCyBRBzFThof3XyEVfj4PeCY5s+AdgpfiSl+vbbzUBQ5EtPU/64BXsIQvks1KWljz8eW8cHTwH+B6L+iAojcXFmBIB9AY264vqPhCA8ad1yQ/LLl/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Cn4C1Yj/tIGltVY4jm6mElx+EHGU2iU4XLtA8xwP7N4=;
 b=HapOFE96/3DtAHDwKOVkUKlLW8/JEu0UsRg6S3me00ppiGPgjQu84SWUgRcVA9y9EzAnz73g345oM72mGPjcb7c9xIcziI5fslFKzm/wcOVrBP7MSxFG3m4bnstBWIgC9a7/s6we0TiXibMkJX9IJh3Grie6fScUy3yKBwegNqQ=
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: <6faaff70-e0ce-c691-5b1f-202a2c183e24@amd.com>
Date: Fri, 3 Mar 2023 08:47:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 1/2] automation: arm64: Create a test job for testing
 static heap on qemu
To: Jiamei Xie <Jiamei.Xie@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Wei
 Chen" <Wei.Chen@arm.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>, "Doug
 Goldstein" <cardoe@cardoe.com>
References: <20230302044421.136068-1-jiamei.xie@arm.com>
 <20230302044421.136068-2-jiamei.xie@arm.com>
 <alpine.DEB.2.22.394.2303021748290.863724@ubuntu-linux-20-04-desktop>
 <AS8PR08MB7696EEB381C01A703B5E431E92B39@AS8PR08MB7696.eurprd08.prod.outlook.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <AS8PR08MB7696EEB381C01A703B5E431E92B39@AS8PR08MB7696.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT074:EE_|DS7PR12MB5958:EE_
X-MS-Office365-Filtering-Correlation-Id: 729dbd50-731d-4510-2b6f-08db1bbb7fe4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IPXkMMMVY0gA8Oy4cc2yPtM/qpjJmJ3q3hRvSzdDr5COHslTuxn8w/uI4lxF67JWasD0nZc4qCR8DkiUPRy1b5TQkAZnfCJUymvDP/2X+QOs9bCn6Jmuic0PFkKexBMgl1WXdy32cdyOsK6/suz9rm6yjQU3fOXeByKQHAESnR8gn7A0IyjxJJ0EsKPwRWrybmmvYAQoMRmG4/JkIalY8mBJ5qHcPvlEBlxxwNQxY82eMxEEPZAxUvZHzebFUzAbVW6dxVV4x7u8+f+J/gqCn4ZTGcreRQ9aBO9M+8ZXl6k2Mu3yARoxYOMS5DEoeLHAjSfeWobtrrmfs/cCxH7QW3q5/72oPCTn7qLdKgNyKqanvoUm7Fahk/DF4ltPtFY4O8/ODLipq4kAQ4sp8qX3/ImqsjlEGE7FU5Z0H/6kjMTImCsVKiLjbJvJ/1DyjsYM9piNt9tVI4yy3osKz0uq3Z/cBjNqwsvHqQlHq0E3ZwzZqpANieljlVhRc0G0r0D1qIbn4b0ICrT3tJ+XA/wyO/pHA7S0s0LfUH68vie51SlBMOzggkC+0xxO2/84r7DqZhoVZBkJ+2jWLC/RcqvewXWidv09a5TBk+q3fd6T2Qgv3DfuecuNxu6FsoiuQ1YsNBR2myp0jIV5qfdzfNKPU8pyFOW3ka4jFXzco/2E6PX8CDkeTQUzJFOiNC1jWXjPjaDZjKBOvB2a1hEo79It9RcW+MIqLim3MGvmu7PKc/bVglC2LzO+HgZ1vXZM7vhhF4LfuA2NfQH4Z8Ld5iLqAA==
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:(13230025)(4636009)(346002)(396003)(136003)(376002)(39860400002)(451199018)(36840700001)(46966006)(40470700004)(16576012)(8676002)(82310400005)(70206006)(70586007)(2906002)(44832011)(316002)(8936002)(36756003)(40480700001)(4326008)(41300700001)(336012)(40460700003)(426003)(47076005)(83380400001)(26005)(86362001)(53546011)(186003)(2616005)(356005)(110136005)(31696002)(478600001)(54906003)(82740400003)(81166007)(36860700001)(5660300002)(31686004)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 07:47:12.0770
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 729dbd50-731d-4510-2b6f-08db1bbb7fe4
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:
	DM6NAM11FT074.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5958

Hi Jiamei,

On 03/03/2023 07:49, Jiamei Xie wrote:
> 
> 
> Hi Stefano,
> 
>> -----Original Message-----
>> From: Stefano Stabellini <sstabellini@kernel.org>
>> Sent: Friday, March 3, 2023 9:51 AM
>> To: Jiamei Xie <Jiamei.Xie@arm.com>
>> Cc: xen-devel@lists.xenproject.org; Wei Chen <Wei.Chen@arm.com>;
>> sstabellini@kernel.org; Bertrand Marquis <Bertrand.Marquis@arm.com>;
>> Doug Goldstein <cardoe@cardoe.com>
>> Subject: Re: [PATCH 1/2] automation: arm64: Create a test job for testing
>> static heap on qemu
>>
>> On Thu, 2 Mar 2023, jiamei.xie wrote:
>>> From: Jiamei Xie <jiamei.xie@arm.com>
>>>
>>> Create a new test job, called qemu-smoke-dom0less-arm64-gcc-staticheap.
>>>
>>> Add property "xen,static-heap" under /chosen node to enable static-heap.
>>> If the domU can start successfully with static-heap enabled, then this
>>> test pass.
>>>
>>> Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
>>
>> Hi Jiamei, thanks for the patch!
>>
>>
>>> ---
>>>  automation/gitlab-ci/test.yaml                 | 16 ++++++++++++++++
>>>  .../scripts/qemu-smoke-dom0less-arm64.sh       | 18
>> ++++++++++++++++++
>>>  2 files changed, 34 insertions(+)
>>>
>>> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
>>> index 1c5f400b68..5a9b88477a 100644
>>> --- a/automation/gitlab-ci/test.yaml
>>> +++ b/automation/gitlab-ci/test.yaml
>>> @@ -133,6 +133,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-
>> staticmem:
>>>      - *arm64-test-needs
>>>      - alpine-3.12-gcc-debug-arm64-staticmem
>>>
>>> +qemu-smoke-dom0less-arm64-gcc-staticheap:
>>> + extends: .qemu-arm64
>>> + script:
>>> +   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap
>> 2>&1 | tee ${LOGFILE}
>>> + needs:
>>> +   - *arm64-test-needs
>>> +   - alpine-3.12-gcc-arm64
>>> +
>>> +qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
>>> + extends: .qemu-arm64
>>> + script:
>>> +   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap
>> 2>&1 | tee ${LOGFILE}
>>> + needs:
>>> +   - *arm64-test-needs
>>> +   - alpine-3.12-gcc-debug-arm64
>>> +
>>>  qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
>>>    extends: .qemu-arm64
>>>    script:
>>> diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh
>> b/automation/scripts/qemu-smoke-dom0less-arm64.sh
>>> index 182a4b6c18..4e73857199 100755
>>> --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
>>> +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
>>> @@ -27,6 +27,11 @@ fi
>>>  "
>>>  fi
>>>
>>> +if [[ "${test_variant}" == "static-heap" ]]; then
>>> +    passed="${test_variant} test passed"
>>> +    domU_check="echo \"${passed}\""
>>> +fi
>>> +
>>>  if [[ "${test_variant}" == "boot-cpupools" ]]; then
>>>      # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler
>>>      passed="${test_variant} test passed"
>>> @@ -128,6 +133,19 @@ if [[ "${test_variant}" == "static-mem" ]]; then
>>>      echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >>
>> binaries/config
>>>  fi
>>>
>>> +if [[ "${test_variant}" == "static-heap" ]]; then
>>> +    # ImageBuilder uses the config file to create the uboot script. Devicetree
>>> +    # will be set via the generated uboot script.
>>> +    # The valid memory range is 0x40000000 to 0x80000000 as defined
>> before.
>>> +    # ImageBuillder sets the kernel and ramdisk range based on the file size.
>>> +    # It will use the memory range between 0x45600000 to 0x47AED1E8, so
>> set
>>> +    # memory range between 0x50000000 and 0x80000000 as static heap.
>>
>> I think this is OK. One suggestion to make things more reliable would be
>> to change MEMORY_END to be 0x50000000 so that you can be sure that
>> ImageBuilder won't go over the limit. You could do it just for this
>> test, which would be safer, but to be honest you could limit MEMORY_END
>> to 0x50000000 for all tests in qemu-smoke-dom0less-arm64.sh because it
>> shouldn't really cause any problems.
>>
> [Jiamei Xie]
> Thanks for your comments. I am a little confused about " to change MEMORY_END to be 0x50000000".
>  I set 0STATIC_HEAP="0x50000000 0x30000000" where is the start address. Why change MEMORY_END
>  to be 0x50000000?
Let me answer to that question so that you do not need to wait another day for Stefano.
ImageBuilder uses MEMORY_START and MEMORY_END from the cfg file as a range in which it can instruct
u-boot where to place the images. It is safer to set MEMORY_END to 0x50000000 rather than to 0xC0000000
because you will be sure that no image will be placed in a region that you defined as static heap.

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 07:51:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 07:51:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505598.778457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY0CT-0002CM-4l; Fri, 03 Mar 2023 07:51:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505598.778457; Fri, 03 Mar 2023 07:51:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY0CT-0002CF-1u; Fri, 03 Mar 2023 07:51:33 +0000
Received: by outflank-mailman (input) for mailman id 505598;
 Fri, 03 Mar 2023 07:51: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 1pY0CS-0002C5-A7; Fri, 03 Mar 2023 07:51: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 1pY0CS-0004J2-6j; Fri, 03 Mar 2023 07:51: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 1pY0CR-0002s3-NU; Fri, 03 Mar 2023 07:51:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pY0CR-000241-N3; Fri, 03 Mar 2023 07:51:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8zB2ousaR9K7/uwHg2B1OpCaNrsV2kUUBD/VKPf5lrc=; b=UJt9vWmCHHn6xTQEN2ldzNHLEl
	7s7n/+crREbsCVMXgrxRoQ4wVLhbtskzkUEfSMzkz6jgY81pF8QBzPRouVw0N4JgiKr/rGFL7MnBG
	TYlELS1z+nsyYFr+Gi/57m+sGb0jh19ZGwSEEt8I8fNM5kzrwCs2OTKc+G/8KCHZ8Teg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179018-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179018: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-migrupgrade:xen-install/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start.2: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=380a8c0c65bfb84dab54ab4641cca1387cc41edb
X-Osstest-Versions-That:
    xen=b84fdf521b306cce64388fe57ee6c7c00f9d3e76
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Mar 2023 07:51:31 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-migrupgrade 10 xen-install/src_host fail pass in 179059-retest
 test-amd64-amd64-xl-qcow2    22 guest-start.2       fail pass in 179059-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178965
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 178965
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178965
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178965
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 178965
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 178965
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178965
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 178965
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178965
 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-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-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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  380a8c0c65bfb84dab54ab4641cca1387cc41edb
baseline version:
 xen                  b84fdf521b306cce64388fe57ee6c7c00f9d3e76

Last test of basis   178965  2023-03-02 09:32:57 Z    0 days
Testing same since   179018  2023-03-02 21:09:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Oleksii Kurochko <oleksii.kurochko@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   b84fdf521b..380a8c0c65  380a8c0c65bfb84dab54ab4641cca1387cc41edb -> master


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 08:11:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 08:11:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505617.778470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY0Vd-0005or-BL; Fri, 03 Mar 2023 08:11:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505617.778470; Fri, 03 Mar 2023 08:11:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY0Vd-0005ok-8f; Fri, 03 Mar 2023 08:11:21 +0000
Received: by outflank-mailman (input) for mailman id 505617;
 Fri, 03 Mar 2023 08:11: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=Nt4j=63=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1pY0Vc-0005oe-3X
 for xen-devel@lists.xen.org; Fri, 03 Mar 2023 08:11:20 +0000
Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com
 [2607:f8b0:4864:20::102c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f6d9c3a7-b99a-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 09:11:15 +0100 (CET)
Received: by mail-pj1-x102c.google.com with SMTP id
 m20-20020a17090ab79400b00239d8e182efso5342381pjr.5
 for <xen-devel@lists.xen.org>; Fri, 03 Mar 2023 00:11:14 -0800 (PST)
Received: from localhost ([122.172.83.155]) by smtp.gmail.com with ESMTPSA id
 c10-20020a170902aa4a00b0019e8915b1b5sm915163plr.105.2023.03.03.00.11.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 00:11: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: f6d9c3a7-b99a-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677831073;
        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=4fvhd/CjcSxSDcDRaW2+sffBUEEjHgUO/YNJh3LIGeo=;
        b=HWRZF9hxScmW5iNVhnA8nAdnjUV6HaZ4NNs9hVYHU4ExCJm/ruch/KRQ4C4Ir4XSB6
         0b8wdSB4PvAEP97c2UBGYBVjqrNhs5YRPgq4FI2lNbjlhPeYnXWBcrFxNroCEncx4myB
         kXoDLNq1NYfiv1HAoW0xj1dUKeckHkBa1AnTIlvodsUO6gD+xKyhi994UetnvuKmBrmY
         udRlWHSFPGGxmjgx1ME2tLZB61VRW3Ybo05M4NscauQHokML6kT35W5Oi2fnwWK2Nzsi
         JeJ9+adFdCr0tcdYwmM7s6nKd9iombVLXAfxd2jX1wbY3laZJQI1V5Nae7DRnAa3yPkj
         KGHw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677831073;
        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=4fvhd/CjcSxSDcDRaW2+sffBUEEjHgUO/YNJh3LIGeo=;
        b=BFtDUP21mjwvsjKf4PSK4/a22RL5yoPBsePx1VEccMHyHUv2/HGsAK10KkInTUqa+P
         MtQKiGM7AEsEkIFz66GBlq83EcZ7KcKqgSkeKXdq2VfUtxXj45WzoTbDKQqETIsIPMT9
         VwNrk2R8zkGj58mc/GkUnqO7QqYutUVdvyrEFR8J+uKcPZ+A0YZJr3Eo7x/CGwiGU/yJ
         0ESV95REOKQVQuOywskj5LJ9ZKDQanqtlXhjxlRclRNHAJ2nHDKU5eTVE/BAdEiaOXAh
         DTAez5LDSuZFjLX899j+K/ti5MGVGofKOLsiNeu/y5yaoZuF8j530RTy16Jc51bmk4YV
         Wq9A==
X-Gm-Message-State: AO0yUKVuxHZqGlodG9NUWqElqAGuwGRNoONbR7gpidI5dEO7g/wn5EhC
	ootfu3PyL49ndhAqWwwzJmACqw==
X-Google-Smtp-Source: AK7set9pwBoUqmQ648WFuJ9eNFtOCWgufbD4voyt0olq5F6HoZcChJO6380uERtNwEr//sigsXtTHg==
X-Received: by 2002:a17:902:e745:b0:19c:eaab:653d with SMTP id p5-20020a170902e74500b0019ceaab653dmr5095605plf.15.1677831072831;
        Fri, 03 Mar 2023 00:11:12 -0800 (PST)
Date: Fri, 3 Mar 2023 13:41:10 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [virtio-dev] [RFC QEMU] docs: vhost-user: Add custom memory
 mapping support
Message-ID: <20230303081110.e6waldur3i7lzl6e@vireshk-i7>
References: <Y/9zkDAS4odz93GM@fedora>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <Y/9zkDAS4odz93GM@fedora>

On 01-03-23, 10:47, Stefan Hajnoczi wrote:
> Resend - for some reason my email didn't make it out.

How about this (will send a formal patch later).

Author: Viresh Kumar <viresh.kumar@linaro.org>
Date:   Tue Feb 21 14:36:30 2023 +0530

    docs: vhost-user: Add Xen specific memory mapping support

    The current model of memory mapping at the back-end works fine where a
    standard call to mmap() (for the respective file descriptor) is enough
    before the front-end can start accessing the guest memory.

    There are other complex cases though where the back-end needs more
    information and simple mmap() isn't enough. For example Xen, a type-1
    hypervisor, currently supports memory mapping via two different methods,
    foreign-mapping (via /dev/privcmd) and grant-dev (via /dev/gntdev). In
    both these cases, the back-end needs to call mmap() and ioctl(), and
    need to pass extra information via the ioctl(), like the Xen domain-id
    of the guest whose memory we are trying to map.

    Add a new protocol feature, 'VHOST_USER_PROTOCOL_F_XEN_MMAP', which lets
    the back-end know about the additional memory mapping requirements.
    When this feature is negotiated, the front-end can send the
    'VHOST_USER_SET_XEN_MMAP' message type to provide the additional
    information to the back-end.

    Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 docs/interop/vhost-user.rst | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst
index 3f18ab424eb0..8be5f5eae941 100644
--- a/docs/interop/vhost-user.rst
+++ b/docs/interop/vhost-user.rst
@@ -258,6 +258,24 @@ Inflight description

 :queue size: a 16-bit size of virtqueues

+Xen mmap description
+^^^^^^^^^^^^^^^^^^^^
+
++-------+-------+
+| flags | domid |
++-------+-------+
+
+:flags: 64-bit bit field
+
+- Bit 0 is set for Xen foreign memory memory mapping.
+- Bit 1 is set for Xen grant memory memory mapping.
+- Bit 2 is set if the back-end can directly map additional memory (like
+  descriptor buffers or indirect descriptors, which aren't part of already
+  shared memory regions) without the need of front-end sending an additional
+  memory region first.
+
+:domid: a 64-bit Xen hypervisor specific domain id.
+
 C structure
 -----------

@@ -867,6 +885,7 @@ Protocol features
   #define VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS 14
   #define VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS  15
   #define VHOST_USER_PROTOCOL_F_STATUS               16
+  #define VHOST_USER_PROTOCOL_F_XEN_MMAP             17

 Front-end message types
 -----------------------
@@ -1422,6 +1441,23 @@ Front-end message types
   query the back-end for its device status as defined in the Virtio
   specification.

+``VHOST_USER_SET_XEN_MMAP``
+  :id: 41
+  :equivalent ioctl: N/A
+  :request payload: Xen mmap description
+  :reply payload: N/A
+
+  When the ``VHOST_USER_PROTOCOL_F_XEN_MMAP`` protocol feature has been
+  successfully negotiated, this message is submitted by the front-end to set the
+  Xen hypervisor specific memory mapping configurations at the back-end.  These
+  configurations should be used to mmap memory regions, virtqueues, descriptors
+  and descriptor buffers. The front-end must send this message before any
+  memory-regions are sent to the back-end via ``VHOST_USER_SET_MEM_TABLE`` or
+  ``VHOST_USER_ADD_MEM_REG`` message types. The front-end can send this message
+  multiple times, if different mmap configurations are required for different
+  memory regions, where the most recent ``VHOST_USER_SET_XEN_MMAP`` must be used
+  by the back-end to map any newly shared memory regions.
+

 Back-end message types
 ----------------------

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 08:14:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 08:14:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505622.778481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY0Yb-0006Nl-Q3; Fri, 03 Mar 2023 08:14:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505622.778481; Fri, 03 Mar 2023 08: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 1pY0Yb-0006Ne-N4; Fri, 03 Mar 2023 08:14:25 +0000
Received: by outflank-mailman (input) for mailman id 505622;
 Fri, 03 Mar 2023 08: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=k/yG=63=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pY0YZ-0006NW-V8
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 08:14:24 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 66801e5b-b99b-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 09:14:21 +0100 (CET)
Received: from DB8PR04CA0012.eurprd04.prod.outlook.com (2603:10a6:10:110::22)
 by AS2PR08MB8950.eurprd08.prod.outlook.com (2603:10a6:20b:5f9::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21; Fri, 3 Mar
 2023 08:14:19 +0000
Received: from DBAEUR03FT043.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:110:cafe::da) by DB8PR04CA0012.outlook.office365.com
 (2603:10a6:10:110::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21 via Frontend
 Transport; Fri, 3 Mar 2023 08:14:19 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT043.mail.protection.outlook.com (100.127.143.24) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.22 via Frontend Transport; Fri, 3 Mar 2023 08:14:18 +0000
Received: ("Tessian outbound fcd8b5fba459:v135");
 Fri, 03 Mar 2023 08:14:18 +0000
Received: from 3d25fa3af1b9.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 815F6A55-45BA-4DCB-839B-8D9BE078BC40.1; 
 Fri, 03 Mar 2023 08:14:12 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3d25fa3af1b9.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 03 Mar 2023 08:14:12 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB9477.eurprd08.prod.outlook.com (2603:10a6:20b:5ee::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.20; Fri, 3 Mar
 2023 08:14:09 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 08:14: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: 66801e5b-b99b-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/IjNJZrJLmlbrvK+o7KPdBRR8E8Q2HwCwx530626NJs=;
 b=wSaZhOjIRAN+D3va0T+lJ6N3xwICdLFQg5wIh/vX6LhpmJIkWnVTdMsq5wD7YwEgw9m93TJKyVgs7XUfxfw5CdcduhM+oWF2d3DXnJJZ03IEjPNd9n7CWfjpM9Y6gpxUOxcY6Vcy42CDNShuJsW922arYPTYWlGyeMfGkyp0TNQ=
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: 394c2bf92a4e3d6c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HuRo1oEfwmOh3aJrQvPdrpj9XUSxXbpiUn4SNaRiCrPl3sk8/LUOdr1MA/j+czL8TvhIU+iO+sJKTDxOvoZy0Pt2p7blxBwdw55B5loZaF/poDvv5SC/k/Q0ldyh1ygQCfvgmFc+YRqdUG0UOTzMkyMS24szXEeaaSD+Mx92e0W7iRfSivdxjXPJDUQJLg28KpwgqIhW/J68HAYMfgy6JPVViMF1FO1D4pCuBbXV/QNc016gtkGT0n6RNJ1ncQ7q5mCIvIQEhWGuJmDfFVYjaQswQpE+n68sEPeWTckgcJsdr0yUHweRsd33xlBJSk3FZbddX9ldyNgiCRUHw28EPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/IjNJZrJLmlbrvK+o7KPdBRR8E8Q2HwCwx530626NJs=;
 b=gdNVN5//MFbIPxiRL8YToOZfWF4qiD+tJOpKSJ/gpkGXoEt1EjzKcoC3R2uHEWODLEzho5InYanhDBHJtWwLsQWKg0WNxLGNVCEN6w4yN64JVGHHFXWLCKfnXNMP7UFEXJlqyjSIuXZBOjpjBgVSzGZWwL+CI86jiS1ZEEuZwyvigMZQhLLJNSnMKc2wZOQEborVm7MDVVId6GvTS/H/kn360y6/+ahvG8efVzNTfHjuXLrtn8CKSBAR9LYKyszpGK9/kizlEcVWQX3IlxeaJDAaY83wP+afXbrc7f33BTq1BzonBcUmCxzdnJ14g+zmmZzgAhYRx/I4qkktfiOEEA==
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=/IjNJZrJLmlbrvK+o7KPdBRR8E8Q2HwCwx530626NJs=;
 b=wSaZhOjIRAN+D3va0T+lJ6N3xwICdLFQg5wIh/vX6LhpmJIkWnVTdMsq5wD7YwEgw9m93TJKyVgs7XUfxfw5CdcduhM+oWF2d3DXnJJZ03IEjPNd9n7CWfjpM9Y6gpxUOxcY6Vcy42CDNShuJsW922arYPTYWlGyeMfGkyp0TNQ=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 07/20] xen/arm: ffa: add defines for framework
 direct request/response messages
Thread-Topic: [XEN PATCH v7 07/20] xen/arm: ffa: add defines for framework
 direct request/response messages
Thread-Index: AQHZRtMc9l4FLuQsA0eLhPi3rXVDQK7d2fAAgArUXQCAABRDgA==
Date: Fri, 3 Mar 2023 08:14:09 +0000
Message-ID: <E24D4EB2-D7B2-4E56-A9A4-EB743ECF5E3D@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <904055064f4b4e4514acf1e64751672eca045c05.1677079672.git.jens.wiklander@linaro.org>
 <BD5022BF-C157-4CF2-86D4-07345F64681E@arm.com>
 <CAHUa44Gd92oDP8meH2UcHjsmokQcEpKV0U6whUD_5nEDYpJKxQ@mail.gmail.com>
In-Reply-To:
 <CAHUa44Gd92oDP8meH2UcHjsmokQcEpKV0U6whUD_5nEDYpJKxQ@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.3731.400.51.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_|AS8PR08MB9477:EE_|DBAEUR03FT043:EE_|AS2PR08MB8950:EE_
X-MS-Office365-Filtering-Correlation-Id: 11e468eb-9e19-48ad-e14b-08db1bbf496f
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:
 e5vo4A6fUotY274PtCgQovNhekwlUYEImkhv7Jnn4NE3hkVILFWU/auL0xzCUhtsTxFQSQJ3SjKJSTgSsBLW0YBhE3K1tyoN4NYozbu1+gg7kgx1COVjrYlkoNv6dcTYba8KGDGIWXFzCzRGG14CLQ2MUdwtBE+hLcxP+Jj6fhnpE9B7IhYPGzna6m5Ja6b4NNaR7rerbrIQkxLgR7m42PnYHz9qNF2sGhzYpaWrWmvgc4t4S6uwAryVA8jgBzfxq1Mjbl70S99iKanBwGW57yovekwdqTjV5+vQtQt0CrLlzntggPO4K+oUaM8Ydjk/oJqT/SY8MuDpXj3x9r+otpDBsI6KqcA/58l/rZ1BG5WJZn6TdquAheFnLSXIYzI8tr1RSWmsyfCdeq0rrpOPynzqH4/cVs2seSRY4/fAsRcMxIPOmguv2i9f9qZgj5cDgeYJ252LcfZA8ABpqtUFj+ziwqXe2xoVx52E4btuYbhUM0NTKQjTimIWhVbVVLbMasrX+xmIDOt+2HA2UqY5Lxl/wZ5pEB8HAty6c1Hj9T9ced644xkwLbgwV7TYHgrEnwLOx2DAaegkG+wAg0sRaPfX6kx9w76HoZyvnDFLSSGLqwVZc5xaxr5ip3LuUbQwGmFYKOdsQOHFB+EElnv/0z7cR1YHRDBoS3fuSjCHIfvrEAbobtbnx/Zk/e20eR81I2X2VcaDiaQK0cyzy4vcqK2IPrL3ObcXjnoaVwmZUiw=
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:(13230025)(4636009)(376002)(39860400002)(366004)(346002)(136003)(396003)(451199018)(6916009)(36756003)(64756008)(91956017)(66446008)(316002)(76116006)(66476007)(8676002)(66556008)(66946007)(54906003)(2906002)(4326008)(15650500001)(41300700001)(478600001)(26005)(53546011)(6506007)(6512007)(2616005)(186003)(83380400001)(71200400001)(6486002)(86362001)(33656002)(122000001)(38100700002)(38070700005)(5660300002)(8936002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <97491AD2A696534F9ABCEEBCA5C3E9C2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9477
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:
 DBAEUR03FT043.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	13d6c827-ce3b-4cdb-7976-08db1bbf43d5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fIvWUVS7iug3n2jaNDwi75HKhB+ZtIp33zbgM1lVK2R2KKO2hKE9wpGY5CTdChKmQZcU+XO7lkjQUvdFpCvWBm/yvSTKGEMNgZ7LseRQm1CQNjnE8R/vRegujG+He9PyubMh2aV2EKk857hHlyfO+WiqSimJ0Tq4zMve8qPYZz7S/0atLvvy702iHaTHY6HwejRyNWbs9FrmBbrsnaewMt5NB2zprEuh1xcGlccTLikxuM7FJac9OgBcs0JMUvZd9EaqD7NI6jlJJ2BPEcc/jpNfU4aUIkCmBpzX9g1p8xRBU0bcbfvv9wQPf58kxR7sektJNnTUii6RHnNJ5sTkeQk60mA2n9FYXJJpYP6T4SQLtBxMEcH9AcA5m3/mHPLCOTrDlJcRgmM21Lq7JYJooIYGC1OSZfNvxoQQNHqhG4bHQl8X3EAyb37v/hrwWDiHR1PbCI2n8+XD4YxGlVhSWpxy+6zqueHviQ5E1KzBdSljnArC/IEkVirj0IcoukbwafyPHTACOYSWKbboRZh8BGFZ5crcjyqHvKwI66c/O9ZzlnrV326CguHfPQ/ej1lCHBU5nTTd1FoJwOXk8d2ZH9QE5eRX96DbH1gHP8RZP3Ixdoan1oaieI7DI36p2UOs4K6eDSBw2ikIvBj+3TurRGKjUgQ5hIcDop8mvl+L+htdLOU9zX5DpfT7R6lTUEGeIi/Nt/nmmZ/DNPb7A0DSnw==
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:(13230025)(4636009)(376002)(346002)(396003)(136003)(39860400002)(451199018)(46966006)(40470700004)(36840700001)(356005)(33656002)(82310400005)(40460700003)(36756003)(40480700001)(86362001)(54906003)(316002)(83380400001)(2616005)(70206006)(70586007)(6506007)(6512007)(4326008)(53546011)(8676002)(6486002)(336012)(478600001)(47076005)(2906002)(82740400003)(15650500001)(81166007)(36860700001)(8936002)(6862004)(41300700001)(5660300002)(186003)(26005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 08:14:18.7673
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 11e468eb-9e19-48ad-e14b-08db1bbf496f
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:
	DBAEUR03FT043.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8950

SEkgSmVucywNCg0KPiBPbiAzIE1hciAyMDIzLCBhdCAwODowMSwgSmVucyBXaWtsYW5kZXIgPGpl
bnMud2lrbGFuZGVyQGxpbmFyby5vcmc+IHdyb3RlOg0KPiANCj4gSGkgQmVydHJhbmQsDQo+IA0K
PiBPbiBGcmksIEZlYiAyNCwgMjAyMyBhdCAxMDozOeKAr0FNIEJlcnRyYW5kIE1hcnF1aXMNCj4g
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT4gd3JvdGU6DQo+PiANCj4+IEhpIEplbnMsDQo+PiAN
Cj4+PiBPbiAyMiBGZWIgMjAyMywgYXQgMTY6MzMsIEplbnMgV2lrbGFuZGVyIDxqZW5zLndpa2xh
bmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4+PiANCj4+PiBBZGRzIGRlZmluZXMgZm9yIGZyYW1l
d29yayBkaXJlY3QgcmVxdWVzdC9yZXNwb25zZSBtZXNzYWdlcy4NCj4+PiANCj4+PiBTaWduZWQt
b2ZmLWJ5OiBKZW5zIFdpa2xhbmRlciA8amVucy53aWtsYW5kZXJAbGluYXJvLm9yZz4NCj4+PiAt
LS0NCj4+PiB4ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jIHwgOSArKysrKysrKysNCj4+PiAxIGZpbGUg
Y2hhbmdlZCwgOSBpbnNlcnRpb25zKCspDQo+Pj4gDQo+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNo
L2FybS90ZWUvZmZhLmMgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jDQo+Pj4gaW5kZXggZjQ1NjJl
ZDJkZWZjLi5kMDRiYWM5Y2M0N2YgMTAwNjQ0DQo+Pj4gLS0tIGEveGVuL2FyY2gvYXJtL3RlZS9m
ZmEuYw0KPj4+ICsrKyBiL3hlbi9hcmNoL2FybS90ZWUvZmZhLmMNCj4+PiBAQCAtNTYsNiArNTYs
MTUgQEANCj4+PiAjZGVmaW5lIEZGQV9NWV9WRVJTSU9OICAgICAgICAgIE1BS0VfRkZBX1ZFUlNJ
T04oRkZBX01ZX1ZFUlNJT05fTUFKT1IsIFwNCj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBGRkFfTVlfVkVSU0lPTl9NSU5PUikNCj4+PiANCj4+PiAr
LyogRnJhbWV3b3JrIGRpcmVjdCByZXF1ZXN0L3Jlc3BvbnNlICovDQo+PiANCj4+IEluIHRoZSBw
cmV2aW91cyBwYXRjaCB5b3Ugd2VyZSBtb3JlIHZlcmJvc2UgaW4gdGhlIGNvbW1lbnQgd2hpY2gg
d2FzIG5pY2UuDQo+PiBJIHdvdWxkIHN1Z2dlc3QgaGVyZSB0byB1c2UgdGhlIHNhbWUgImZvcm1h
dCI6DQo+PiANCj4+IEZsYWdzIHVzZWQgZm9yIHRoZSBNU0dfU0VORF9ESVJFQ1RfUkVRL1JFU1A6
DQo+PiBCSVQoMzEpOiBGcmFtZXdvcmsgb3IgcGFydGl0aW9uIG1lc3NhZ2UNCj4+IEJJVCg3LTAp
OiBNZXNzYWdlIHR5cGUgZm9yIGZyYW1ld29ya3MgbWVzc2FnZXMNCj4gDQo+IE9LLCBJJ2xsIHVw
ZGF0ZS4NCj4gDQo+PiANCj4+PiArI2RlZmluZSBGRkFfTVNHX0ZMQUdfRlJBTUVXT1JLICAgICAg
ICAgIEJJVCgzMSwgVSkNCj4+PiArI2RlZmluZSBGRkFfTVNHX1RZUEVfTUFTSyAgICAgICAgICAg
ICAgIDB4RkZVOw0KPj4gDQo+PiBNYXliZSBtb3JlIGNvaGVyZW50IHRvIG5hbWUgdGhpcyBGRkFf
TVNHX0ZMQUdfVFlQRV9NQVNLID8NCj4gDQo+IFRoaXMgaXMgYSBiYWxhbmNpbmcgYWN0LCBpbiB0
aGlzIGNhc2UsIEkgZG9uJ3QgdGhpbmsgdGhhdCBhZGRpbmcgRkxBR18NCj4gaGVscHMgbXVjaC4N
Cg0KQWdyZWUgeW91IGNhbiByZW1vdmUgZmxhZy4NCg0KPiANCj4+IA0KPj4gSSBhbSBhIGJpdCB1
bnN1cmUgaGVyZSBiZWNhdXNlIHdlIGNvdWxkIGFsc28ga2VlcCBpdCBsaWtlIHRoYXQgYW5kIGp1
c3QNCj4+IGFkZCBfVFlQRSB0byBvdGhlciBkZWZpbml0aW9ucyBhZnRlci4NCj4+IA0KPj4gV2hh
dCBkbyB5b3UgdGhpbmsgPw0KPiANCj4gSSB0aGluayB0aGUgZGVmaW5lcyBhcmUgbG9uZyBlbm91
Z2ggYXMgdGhleSBhcmUuDQoNClJpZ2h0Lg0KDQpDaGVlcnMNCkJlcnRyYW5kDQoNCj4gDQo+IENo
ZWVycywNCj4gSmVucw0KPiANCj4+IA0KPj4+ICsjZGVmaW5lIEZGQV9NU0dfUFNDSSAgICAgICAg
ICAgICAgICAgICAgMHgwVQ0KPj4+ICsjZGVmaW5lIEZGQV9NU0dfU0VORF9WTV9DUkVBVEVEICAg
ICAgICAgMHg0VQ0KPj4+ICsjZGVmaW5lIEZGQV9NU0dfUkVTUF9WTV9DUkVBVEVEICAgICAgICAg
MHg1VQ0KPj4+ICsjZGVmaW5lIEZGQV9NU0dfU0VORF9WTV9ERVNUUk9ZRUQgICAgICAgMHg2VQ0K
Pj4+ICsjZGVmaW5lIEZGQV9NU0dfUkVTUF9WTV9ERVNUUk9ZRUQgICAgICAgMHg3VQ0KPj4+ICsN
Cj4+PiAvKg0KPj4+ICogRmxhZ3MgdXNlZCBmb3IgdGhlIEZGQV9QQVJUSVRJT05fSU5GT19HRVQg
cmV0dXJuIG1lc3NhZ2U6DQo+Pj4gKiBCSVQoMCk6IFN1cHBvcnRzIHJlY2VpcHQgb2YgZGlyZWN0
IHJlcXVlc3RzDQo+Pj4gLS0NCj4+PiAyLjM0LjENCj4+PiANCj4+IA0KPj4gQ2hlZXJzDQo+PiBC
ZXJ0cmFuZA0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 08:16:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 08:16:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505627.778491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY0at-0006yU-5u; Fri, 03 Mar 2023 08:16:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505627.778491; Fri, 03 Mar 2023 08:16:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY0at-0006yN-36; Fri, 03 Mar 2023 08:16:47 +0000
Received: by outflank-mailman (input) for mailman id 505627;
 Fri, 03 Mar 2023 08:16: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=k/yG=63=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pY0as-0006yH-0W
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 08:16:46 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe16::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb574ef2-b99b-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 09:16:43 +0100 (CET)
Received: from AM6P192CA0102.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:8d::43)
 by AS2PR08MB9221.eurprd08.prod.outlook.com (2603:10a6:20b:59f::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Fri, 3 Mar
 2023 08:16:41 +0000
Received: from VI1EUR03FT019.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8d:cafe::65) by AM6P192CA0102.outlook.office365.com
 (2603:10a6:209:8d::43) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21 via Frontend
 Transport; Fri, 3 Mar 2023 08:16:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT019.mail.protection.outlook.com (100.127.144.122) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.22 via Frontend Transport; Fri, 3 Mar 2023 08:16:40 +0000
Received: ("Tessian outbound cfb430c87a1e:v135");
 Fri, 03 Mar 2023 08:16:40 +0000
Received: from ea51ec8a2d3b.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9973518E-C20B-4D77-B966-0FBC94FF0BE8.1; 
 Fri, 03 Mar 2023 08:16:29 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ea51ec8a2d3b.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 03 Mar 2023 08:16:29 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DU0PR08MB8640.eurprd08.prod.outlook.com (2603:10a6:10:400::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 08:16:25 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 08: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: bb574ef2-b99b-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KMYrynd5Duu+Muxj+mi+Jg2tyzDYTTiu/AxTTYD/COk=;
 b=9bqkdEbolSJH7vEGZ+KKzCbKzjacLYjQ85P7Ov0Ok+cxdESTEK8EcrXYZtIqA3QwzDyh3llheqbFMI50Dxf46uFeXV2z+WCI0v6uzZRYFAuEh/3BL/Q+/7UNDRIT0M+gKmHaewewFXNSNSGgTRVhtlMDG664q9wctWaagNhs5HM=
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: 6c5746d1d8e42980
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lDNB+Roh7qQgRlktpOT6WyeKKX86+n4OZfYaPJWrEHRe26ly6obGGy5WjQ4pyO+Fvk5uu0f80Ou89L8rHcNs3NtiklnlVOXLGWX1pOPOXF/JQnxuHuk6Lx2T06FliSnEfzTC3GkHyAI7cMenPNKiwPdjhkQMJiykzzc0N7Ii+Fq9Msl1++H7Ohk76io13Z3+TkgyOEWUhPMPde8gShDvotXzzgPpqfDP1llDLdDqk7V/eZnfXrsFVljw57Kie+GGxFwgzt+Z24h1VSXnzP71zZ9Ru5M3l4tpPlOcJriMTxzyRYD01LnCDOnEXpPgwDro1ctB98y/xwwcIXsyJFhjfA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KMYrynd5Duu+Muxj+mi+Jg2tyzDYTTiu/AxTTYD/COk=;
 b=akamxxjq2WGiX1DIkOZSzf2/qQW8QQCZAke6mgcyVebO4JfiskxKhRlUHrWGIcmfbI3dnlnwTWFcAZH/Pko6O242ZvkCUPKFo4iWy7PgDhTLAcyRcKENSafSAiM7YT0tf1in06OGn+9s00Uahqj+BBOyi3f0ie994heIbHWGrt3sVIVsDL7L6ElrBXG5L1+Ybi6os5J701lpwJCmXMLeuPfQYOhNk6s/g9AW767q3FeHY5wrt406aAUqZrXq2aceYUo/V+Iz19iYTj3rBEvgY7X/e3Km8C/iGYS/Gc6cZxtQ6+XVUROy4/mHJZREW81mco7+CoFu1GGNAdL3JpvjwA==
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=KMYrynd5Duu+Muxj+mi+Jg2tyzDYTTiu/AxTTYD/COk=;
 b=9bqkdEbolSJH7vEGZ+KKzCbKzjacLYjQ85P7Ov0Ok+cxdESTEK8EcrXYZtIqA3QwzDyh3llheqbFMI50Dxf46uFeXV2z+WCI0v6uzZRYFAuEh/3BL/Q+/7UNDRIT0M+gKmHaewewFXNSNSGgTRVhtlMDG664q9wctWaagNhs5HM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 13/20] xen/arm: ffa: support mapping guest RX/TX
 buffers
Thread-Topic: [XEN PATCH v7 13/20] xen/arm: ffa: support mapping guest RX/TX
 buffers
Thread-Index: AQHZRtMeFpHwz1fcdEO/uVmQactk+a7noysAgAEWNoCAAAnRgA==
Date: Fri, 3 Mar 2023 08:16:25 +0000
Message-ID: <7A0F0605-7A22-4DE1-AF0A-FE7921F4935C@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <be5a37c0ec23bf8119f5cb68ec58d8cca16d9812.1677079672.git.jens.wiklander@linaro.org>
 <BE16E58C-FBDF-4815-A6C1-CB0D3C573816@arm.com>
 <CAHUa44HmBsH2tCk=N=sovVVbgs9v5kLkOfJNzLfqXifZ=8iZtw@mail.gmail.com>
In-Reply-To:
 <CAHUa44HmBsH2tCk=N=sovVVbgs9v5kLkOfJNzLfqXifZ=8iZtw@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.3731.400.51.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_|DU0PR08MB8640:EE_|VI1EUR03FT019:EE_|AS2PR08MB9221:EE_
X-MS-Office365-Filtering-Correlation-Id: 2608f1be-e66e-446a-e327-08db1bbf9df0
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:
 a13VbmGgkSdmdFuGnqGJyfE4oBQ9das9/j2oz6Z6guJF/JsWGy1rU7JyiKaHEdVhz9XUBBmd38icwjBNRbhDW2HeKvWJYFT8JoAy0k+mC/RxK3zlLXG+qLnVYcjitvHYtBAIv8jyEYPSlkTWTAzJ3wM8VKKUuiQq/7pEzDYPIPhnpyAyk5NAR8przN+Nu4zjk6dWgLzAZ+1cXRtVpewaXGcmkWig7xnVqlFOlthN1lS3lCIN39aYgKDI0RdbpDMTwM1bkb3V6UK95G7kqQb2MGDCac4RdSPbRvoIMKEjYZ7MrRTy1WuBhb94Am3P1ubvT3q0sWCk9YmTvnDJhxfB4Rmoe20FXk1UZWaFfkoPFjhll2QFroujU2zdtg7jLxHIk8Kvf+f/c6RfrSouEvcTgy0W4vb5DIM71QzFwEA0N0MZk0D/42/JMvKs8ZxDh28fY2ho8307jJBYSygJQfO7tyajvzvW2ZtwW78CrjVSADPKePhJqbdXUKSJSaedS/cu1Ni/rpihg8iH1To1ifuQ/lZfYk/3aiAD6nR79qvYJsYrvJ+WBNV+4J+cP7kc6kZr9dy9BKa2ex1H/rQrz4rEo3i77hw9tWTbVKR0D2cOh7av9j3f5htRWwuAqUmzr/83iatKr2EDX6OVU93QeNxEyR58QC3hQlKPJGdBn8uDg//J20vQj5u0dQV0l6vAqxeLaTEE5o0Nmt9VtuX2f9Q/XjquihodTLhVL7Olw53WEtc=
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:(13230025)(4636009)(396003)(346002)(136003)(39860400002)(366004)(376002)(451199018)(38070700005)(6512007)(6506007)(26005)(186003)(53546011)(54906003)(316002)(76116006)(5660300002)(478600001)(36756003)(6486002)(2906002)(71200400001)(33656002)(86362001)(8936002)(91956017)(8676002)(83380400001)(6916009)(4326008)(66556008)(66476007)(64756008)(66446008)(66946007)(41300700001)(38100700002)(2616005)(66899018)(122000001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <66FDA746909A194EA927E4C75D0A935B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8640
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:
 VI1EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0fe35c39-1694-419a-2443-08db1bbf9501
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	289vDrxR5RzRVn0S17shOK2P92DERBwswLq2mtoZe79JeUF6rbOE8XEJubBHdReZmWBjEJLV/UqUZyD2dKcllPL6uW7bk/l35LCkfB2ksvsWgPW++Y95NxBOEQv90vI00vSH040AKClYJtmjc8FbmpcNdnSiWi27TH57y2TU7BmtcKExupG9pFLXBLQo6mf4QTm/WxdBsbiUPU5B4T6vOGky8wE1tGcz9KtCzQvF3jkWAopnVkrEBAbjBrME/JagxbAnWSFIcKXSjMSK1HNO1dOKYph3Jqt5p9QXmF7EWN3bNI4lG7/smrj3xjBETtER2o6BYi/avr8UuNwApjQqS1D0CduCsdPm02VZJ6adJPqCkD35xc8E2mZrEhB00/2e82d7IwNnqTZYVqZgYaqfkr2E5IMOlqal+w8QnHhu8DkCykge39lWLjIKrLawEw0vCHIUzjAYFgp5lmz2V9v7N0j9oFkZAHs+ncAwUBFL35BSTLHsNRwS00tXA0RCEVxJcKJfapVZQfTgc7k/I5b09LRQEmJZonhc2Gn98RQdJ2amoTQh3llfhDAH69f9EdvYM/T4m6qZvLtgDcTTr8+v6mT1P/45AS+RK8sKhLO3xbVWUzGRq6c+JlcoLN1RXszh0IJRShqz7f2f6LF+OSV+21C1J9uHRHQ5ILp1HkJNtaRk7bqPRCDHq89LIPAI8MDmK9y/PTHkgrt7RtGN/XXtog==
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:(13230025)(4636009)(346002)(396003)(376002)(136003)(39860400002)(451199018)(46966006)(36840700001)(40470700004)(36756003)(40460700003)(6506007)(53546011)(6512007)(6486002)(2616005)(336012)(26005)(186003)(41300700001)(54906003)(4326008)(8676002)(70586007)(316002)(2906002)(478600001)(82740400003)(5660300002)(8936002)(81166007)(6862004)(33656002)(40480700001)(82310400005)(356005)(86362001)(36860700001)(70206006)(83380400001)(66899018)(47076005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 08:16:40.4164
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2608f1be-e66e-446a-e327-08db1bbf9df0
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:
	VI1EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9221

SGkgSmVucywNCg0KPiBPbiAzIE1hciAyMDIzLCBhdCAwODo0MSwgSmVucyBXaWtsYW5kZXIgPGpl
bnMud2lrbGFuZGVyQGxpbmFyby5vcmc+IHdyb3RlOg0KPiANCj4gSGkgQmVydHJhbmQsDQo+IA0K
PiBPbiBUaHUsIE1hciAyLCAyMDIzIGF0IDQ6MDXigK9QTSBCZXJ0cmFuZCBNYXJxdWlzDQo+IDxC
ZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+IHdyb3RlOg0KPj4gDQo+PiBIaSBKZW5zLA0KPj4gDQo+
Pj4gT24gMjIgRmViIDIwMjMsIGF0IDE2OjMzLCBKZW5zIFdpa2xhbmRlciA8amVucy53aWtsYW5k
ZXJAbGluYXJvLm9yZz4gd3JvdGU6DQo+Pj4gDQo+Pj4gQWRkcyBzdXBwb3J0IGluIHRoZSBtZWRp
YXRvciB0byBtYXAgYW5kIHVubWFwIHRoZSBSWCBhbmQgVFggYnVmZmVycw0KPj4+IHByb3ZpZGVk
IGJ5IHRoZSBndWVzdCB1c2luZyB0aGUgdHdvIEZGLUEgZnVuY3Rpb25zIEZGQV9SWFRYX01BUCBh
bmQNCj4+PiBGRkFfUlhUWF9VTk1BUC4NCj4+PiANCj4+PiBUaGVzZSBidWZmZXIgYXJlIGxhdGVy
IHVzZWQgdG8gdG8gdHJhbnNtaXQgZGF0YSB0aGF0IGNhbm5vdCBiZSBwYXNzZWQgaW4NCj4+PiBy
ZWdpc3RlcnMgb25seS4NCj4+PiANCj4+PiBTaWduZWQtb2ZmLWJ5OiBKZW5zIFdpa2xhbmRlciA8
amVucy53aWtsYW5kZXJAbGluYXJvLm9yZz4NCj4+PiAtLS0NCj4+PiB4ZW4vYXJjaC9hcm0vdGVl
L2ZmYS5jIHwgMTI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+
Pj4gMSBmaWxlIGNoYW5nZWQsIDEyNyBpbnNlcnRpb25zKCspDQo+Pj4gDQo+Pj4gZGlmZiAtLWdp
dCBhL3hlbi9hcmNoL2FybS90ZWUvZmZhLmMgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jDQo+Pj4g
aW5kZXggZjFiMDE0YjZjN2Y0Li45NTNiNmRmZDVlY2EgMTAwNjQ0DQo+Pj4gLS0tIGEveGVuL2Fy
Y2gvYXJtL3RlZS9mZmEuYw0KPj4+ICsrKyBiL3hlbi9hcmNoL2FybS90ZWUvZmZhLmMNCj4+PiBA
QCAtMTQ5LDEwICsxNDksMTcgQEAgc3RydWN0IGZmYV9wYXJ0aXRpb25faW5mb18xXzEgew0KPj4+
IH07DQo+Pj4gDQo+Pj4gc3RydWN0IGZmYV9jdHggew0KPj4+ICsgICAgdm9pZCAqcng7DQo+Pj4g
KyAgICBjb25zdCB2b2lkICp0eDsNCj4+PiArICAgIHN0cnVjdCBwYWdlX2luZm8gKnJ4X3BnOw0K
Pj4+ICsgICAgc3RydWN0IHBhZ2VfaW5mbyAqdHhfcGc7DQo+Pj4gKyAgICB1bnNpZ25lZCBpbnQg
cGFnZV9jb3VudDsNCj4+PiAgICB1aW50MzJfdCBndWVzdF92ZXJzOw0KPj4+ICsgICAgYm9vbCB0
eF9pc19taW5lOw0KPj4+ICAgIGJvb2wgaW50ZXJydXB0ZWQ7DQo+Pj4gfTsNCj4+PiANCj4+PiAr
DQo+PiBOZXdsaW5lIHByb2JhYmx5IGFkZGVkIGJ5IG1pc3Rha2UuDQo+IA0KPiBZZXMsIEknbGwg
cmVtb3ZlIGl0Lg0KPiANCj4+IA0KPj4+IC8qIE5lZ290aWF0ZWQgRkYtQSB2ZXJzaW9uIHRvIHVz
ZSB3aXRoIHRoZSBTUE1DICovDQo+Pj4gc3RhdGljIHVpbnQzMl90IGZmYV92ZXJzaW9uIF9fcm9f
YWZ0ZXJfaW5pdDsNCj4+PiANCj4+PiBAQCAtMzM3LDYgKzM0NCwxMSBAQCBzdGF0aWMgdm9pZCBz
ZXRfcmVncyhzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgcmVnaXN0ZXJfdCB2MCwgcmVnaXN0
ZXJfdCB2MSwNCj4+PiAgICAgICAgc2V0X3VzZXJfcmVnKHJlZ3MsIDcsIHY3KTsNCj4+PiB9DQo+
Pj4gDQo+Pj4gK3N0YXRpYyB2b2lkIHNldF9yZWdzX2Vycm9yKHN0cnVjdCBjcHVfdXNlcl9yZWdz
ICpyZWdzLCB1aW50MzJfdCBlcnJvcl9jb2RlKQ0KPj4+ICt7DQo+Pj4gKyAgICBzZXRfcmVncyhy
ZWdzLCBGRkFfRVJST1IsIDAsIGVycm9yX2NvZGUsIDAsIDAsIDAsIDAsIDApOw0KPj4+ICt9DQo+
Pj4gKw0KPj4+IHN0YXRpYyB2b2lkIHNldF9yZWdzX3N1Y2Nlc3Moc3RydWN0IGNwdV91c2VyX3Jl
Z3MgKnJlZ3MsIHVpbnQzMl90IHcyLA0KPj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1
aW50MzJfdCB3MykNCj4+PiB7DQo+Pj4gQEAgLTM1OCw2ICszNzAsOTkgQEAgc3RhdGljIHZvaWQg
aGFuZGxlX3ZlcnNpb24oc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+Pj4gICAgc2V0X3Jl
Z3MocmVncywgdmVycywgMCwgMCwgMCwgMCwgMCwgMCwgMCk7DQo+Pj4gfQ0KPj4+IA0KPj4+ICtz
dGF0aWMgdWludDMyX3QgaGFuZGxlX3J4dHhfbWFwKHVpbnQzMl90IGZpZCwgcmVnaXN0ZXJfdCB0
eF9hZGRyLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyX3Qg
cnhfYWRkciwgdWludDMyX3QgcGFnZV9jb3VudCkNCj4+PiArew0KPj4+ICsgICAgdWludDMyX3Qg
cmV0ID0gRkZBX1JFVF9JTlZBTElEX1BBUkFNRVRFUlM7DQo+Pj4gKyAgICBzdHJ1Y3QgZG9tYWlu
ICpkID0gY3VycmVudC0+ZG9tYWluOw0KPj4+ICsgICAgc3RydWN0IGZmYV9jdHggKmN0eCA9IGQt
PmFyY2gudGVlOw0KPj4+ICsgICAgc3RydWN0IHBhZ2VfaW5mbyAqdHhfcGc7DQo+Pj4gKyAgICBz
dHJ1Y3QgcGFnZV9pbmZvICpyeF9wZzsNCj4+PiArICAgIHAybV90eXBlX3QgdDsNCj4+PiArICAg
IHZvaWQgKnJ4Ow0KPj4+ICsgICAgdm9pZCAqdHg7DQo+Pj4gKw0KPj4+ICsgICAgaWYgKCAhc21j
Y2NfaXNfY29udl82NChmaWQpICkNCj4+PiArICAgIHsNCj4+PiArICAgICAgICB0eF9hZGRyICY9
IFVJTlQzMl9NQVg7DQo+Pj4gKyAgICAgICAgcnhfYWRkciAmPSBVSU5UMzJfTUFYOw0KPj4+ICsg
ICAgfQ0KPj4gDQo+PiBJIGFtIGJpdCB3b25kZXJpbmcgaGVyZSB3aGF0IHdlIHNob3VsZCBkbzoN
Cj4+IC0gd2UgY291bGQganVzdCBzYXkgdGhhdCAzMmJpdCB2ZXJzaW9uIG9mIHRoZSBjYWxsIGlz
IG5vdCBhbGxvd2VkIGZvciBub24gMzJiaXQgZ3Vlc3RzDQo+PiAtIHdlIGNvdWxkIGNoZWNrIHRo
YXQgdGhlIGhpZ2hlc3QgYml0cyBhcmUgMCBmb3IgNjRiaXQgZ3Vlc3RzIGFuZCByZXR1cm4gYW4g
ZXJyb3IgaWYgbm90DQo+PiAtIHdlIGNhbiBqdXN0IG1hc2sgaG9wcGluZyB0aGF0IGlmIHRoZXJl
IHdhcyBhIG1pc3Rha2UgdGhlIGFkZHJlc3MgYWZ0ZXIgdGhlIG1hc2sNCj4+IGRvZXMgbm90IGV4
aXN0IGluIHRoZSBndWVzdCBzcGFjZQ0KPj4gDQo+PiBBdCB0aGUgZW5kIG5vdGhpbmcgaW4gdGhl
IHNwZWMgaXMgcHJldmVudGluZyBhIDY0Yml0IGd1ZXN0IHRvIHVzZSB0aGUgMzJiaXQgc28gaXQg
bWlnaHQNCj4+IGJlIGEgZ29vZCBpZGVhIHRvIHJldHVybiBhbiBlcnJvciBpZiB0aGUgaGlnaGVz
dCAzMmJpdCBhcmUgbm90IDAgaGVyZSA/DQo+IA0KPiBUaGUgU01DIENhbGxpbmcgQ29udmVudGlv
biBzYXlzOg0KPiBXaGVuIGFuIFNNQzMyL0hWQzMyIGNhbGwgaXMgbWFkZSBmcm9tIEFBcmNoNjQ6
DQo+IC0gQSBGdW5jdGlvbiBJZGVudGlmaWVyIGlzIHBhc3NlZCBpbiByZWdpc3RlciBXMC4NCj4g
LSBBcmd1bWVudHMgYXJlIHBhc3NlZCBpbiByZWdpc3RlcnMgVzEtVzcuDQo+IA0KPiBTbyBtYXNr
aW5nIG9mZiB0aGUgaGlnaGVyIGJpdHMgaXMgYWxsIHRoYXQgc2hvdWxkIGJlIGRvbmUuDQoNClBs
ZWFzZSBwdXQgYSBjb21tZW50IHNheWluZyB0aGF0IGluIDMyIGJpdCBjb252ZW50aW9uIGhpZ2hl
ciBiaXRzIHNob3VsZCBiZSBpZ25vcmVkLg0KDQo+IA0KPj4gDQo+Pj4gKw0KPj4+ICsgICAgLyog
Rm9yIG5vdyB0byBrZWVwIHRoaW5ncyBzaW1wbGUsIG9ubHkgZGVhbCB3aXRoIGEgc2luZ2xlIHBh
Z2UgKi8NCj4+PiArICAgIGlmICggcGFnZV9jb3VudCAhPSAxICkNCj4+PiArICAgICAgICByZXR1
cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4gDQo+PiBQbGVhc2UgYWRkIGEgVE9ETyBoZXJl
IGFuZCBhIHByaW50IGFzIHRoaXMgaXMgYSBsaW1pdGF0aW9uIHdlIHdpbGwgcHJvYmFibHkgaGF2
ZSB0bw0KPj4gd29yayBvbiBzb29uLg0KPiANCj4gSSdsbCBhZGQgYW4gYXJiaXRyYXJ5IHVwcGVy
IGxpbWl0IGFuZCBhIHByaW50IGlmIGl0J3MgZXhjZWVkZWQuDQoNCnRoYW5rcw0KDQo+IA0KPj4g
DQo+PiANCj4+PiArDQo+Pj4gKyAgICAvKiBBbHJlYWR5IG1hcHBlZCAqLw0KPj4+ICsgICAgaWYg
KCBjdHgtPnJ4ICkNCj4+PiArICAgICAgICByZXR1cm4gRkZBX1JFVF9ERU5JRUQ7DQo+Pj4gKw0K
Pj4+ICsgICAgdHhfcGcgPSBnZXRfcGFnZV9mcm9tX2dmbihkLCBnZm5feChnYWRkcl90b19nZm4o
dHhfYWRkcikpLCAmdCwgUDJNX0FMTE9DKTsNCj4+PiArICAgIGlmICggIXR4X3BnICkNCj4+PiAr
ICAgICAgICByZXR1cm4gRkZBX1JFVF9JTlZBTElEX1BBUkFNRVRFUlM7DQo+Pj4gKyAgICAvKiBP
bmx5IG5vcm1hbCBSQU0gZm9yIG5vdyAqLw0KPj4+ICsgICAgaWYgKCAhcDJtX2lzX3JhbSh0KSAp
DQo+Pj4gKyAgICAgICAgZ290byBlcnJfcHV0X3R4X3BnOw0KPj4+ICsNCj4+PiArICAgIHJ4X3Bn
ID0gZ2V0X3BhZ2VfZnJvbV9nZm4oZCwgZ2ZuX3goZ2FkZHJfdG9fZ2ZuKHJ4X2FkZHIpKSwgJnQs
IFAyTV9BTExPQyk7DQo+Pj4gKyAgICBpZiAoICF0eF9wZyApDQo+Pj4gKyAgICAgICAgZ290byBl
cnJfcHV0X3R4X3BnOw0KPj4+ICsgICAgLyogT25seSBub3JtYWwgUkFNIGZvciBub3cgKi8NCj4+
PiArICAgIGlmICggIXAybV9pc19yYW0odCkgKQ0KPj4+ICsgICAgICAgIGdvdG8gZXJyX3B1dF9y
eF9wZzsNCj4+PiArDQo+Pj4gKyAgICB0eCA9IF9fbWFwX2RvbWFpbl9wYWdlX2dsb2JhbCh0eF9w
Zyk7DQo+Pj4gKyAgICBpZiAoICF0eCApDQo+Pj4gKyAgICAgICAgZ290byBlcnJfcHV0X3J4X3Bn
Ow0KPj4+ICsNCj4+PiArICAgIHJ4ID0gX19tYXBfZG9tYWluX3BhZ2VfZ2xvYmFsKHJ4X3BnKTsN
Cj4+PiArICAgIGlmICggIXJ4ICkNCj4+PiArICAgICAgICBnb3RvIGVycl91bm1hcF90eDsNCj4+
PiArDQo+Pj4gKyAgICBjdHgtPnJ4ID0gcng7DQo+Pj4gKyAgICBjdHgtPnR4ID0gdHg7DQo+Pj4g
KyAgICBjdHgtPnJ4X3BnID0gcnhfcGc7DQo+Pj4gKyAgICBjdHgtPnR4X3BnID0gdHhfcGc7DQo+
Pj4gKyAgICBjdHgtPnBhZ2VfY291bnQgPSAxOw0KPj4gDQo+PiBwbGVhc2UgdXNlIHBhZ2VfY291
bnQgaGVyZSBpbnN0ZWFkIG9mIDEgc28gdGhhdCB0aGlzIGlzIG5vdCBmb3Jnb3R0ZW4gb25jZQ0K
Pj4gd2UgYWRkIHN1cHBvcnQgZm9yIG1vcmUgcGFnZXMuDQo+IA0KPiBPSw0KDQpDaGVlcnMNCkJl
cnRyYW5kDQoNCj4gDQo+IENoZWVycywNCj4gSmVucw0KPiANCj4+IA0KPj4gDQo+PiBDaGVlcnMN
Cj4+IEJlcnRyYW5kDQo+PiANCj4+PiArICAgIGN0eC0+dHhfaXNfbWluZSA9IHRydWU7DQo+Pj4g
KyAgICByZXR1cm4gRkZBX1JFVF9PSzsNCj4+PiArDQo+Pj4gK2Vycl91bm1hcF90eDoNCj4+PiAr
ICAgIHVubWFwX2RvbWFpbl9wYWdlX2dsb2JhbCh0eCk7DQo+Pj4gK2Vycl9wdXRfcnhfcGc6DQo+
Pj4gKyAgICBwdXRfcGFnZShyeF9wZyk7DQo+Pj4gK2Vycl9wdXRfdHhfcGc6DQo+Pj4gKyAgICBw
dXRfcGFnZSh0eF9wZyk7DQo+Pj4gKw0KPj4+ICsgICAgcmV0dXJuIHJldDsNCj4+PiArfQ0KPj4+
ICsNCj4+PiArc3RhdGljIHZvaWQgcnh0eF91bm1hcChzdHJ1Y3QgZmZhX2N0eCAqY3R4KQ0KPj4+
ICt7DQo+Pj4gKyAgICB1bm1hcF9kb21haW5fcGFnZV9nbG9iYWwoY3R4LT5yeCk7DQo+Pj4gKyAg
ICB1bm1hcF9kb21haW5fcGFnZV9nbG9iYWwoY3R4LT50eCk7DQo+Pj4gKyAgICBwdXRfcGFnZShj
dHgtPnJ4X3BnKTsNCj4+PiArICAgIHB1dF9wYWdlKGN0eC0+dHhfcGcpOw0KPj4+ICsgICAgY3R4
LT5yeCA9IE5VTEw7DQo+Pj4gKyAgICBjdHgtPnR4ID0gTlVMTDsNCj4+PiArICAgIGN0eC0+cnhf
cGcgPSBOVUxMOw0KPj4+ICsgICAgY3R4LT50eF9wZyA9IE5VTEw7DQo+Pj4gKyAgICBjdHgtPnBh
Z2VfY291bnQgPSAwOw0KPj4+ICsgICAgY3R4LT50eF9pc19taW5lID0gZmFsc2U7DQo+Pj4gK30N
Cj4+PiArDQo+Pj4gK3N0YXRpYyB1aW50MzJfdCBoYW5kbGVfcnh0eF91bm1hcCh2b2lkKQ0KPj4+
ICt7DQo+Pj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gY3VycmVudC0+ZG9tYWluOw0KPj4+ICsg
ICAgc3RydWN0IGZmYV9jdHggKmN0eCA9IGQtPmFyY2gudGVlOw0KPj4+ICsNCj4+PiArICAgIGlm
ICggIWN0eC0+cnggKQ0KPj4+ICsgICAgICAgIHJldHVybiBGRkFfUkVUX0lOVkFMSURfUEFSQU1F
VEVSUzsNCj4+PiArDQo+Pj4gKyAgICByeHR4X3VubWFwKGN0eCk7DQo+Pj4gKw0KPj4+ICsgICAg
cmV0dXJuIEZGQV9SRVRfT0s7DQo+Pj4gK30NCj4+PiArDQo+Pj4gc3RhdGljIHZvaWQgaGFuZGxl
X21zZ19zZW5kX2RpcmVjdF9yZXEoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVpbnQzMl90
IGZpZCkNCj4+PiB7DQo+Pj4gICAgc3RydWN0IGFybV9zbWNjY18xXzJfcmVncyBhcmcgPSB7IC5h
MCA9IGZpZCwgfTsNCj4+PiBAQCAtNDIzLDYgKzUyOCw3IEBAIHN0YXRpYyBib29sIGZmYV9oYW5k
bGVfY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+PiAgICB1aW50MzJfdCBmaWQg
PSBnZXRfdXNlcl9yZWcocmVncywgMCk7DQo+Pj4gICAgc3RydWN0IGRvbWFpbiAqZCA9IGN1cnJl
bnQtPmRvbWFpbjsNCj4+PiAgICBzdHJ1Y3QgZmZhX2N0eCAqY3R4ID0gZC0+YXJjaC50ZWU7DQo+
Pj4gKyAgICBpbnQgZTsNCj4+PiANCj4+PiAgICBpZiAoICFjdHggKQ0KPj4+ICAgICAgICByZXR1
cm4gZmFsc2U7DQo+Pj4gQEAgLTQzNSw2ICs1NDEsMjQgQEAgc3RhdGljIGJvb2wgZmZhX2hhbmRs
ZV9jYWxsKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4+ICAgIGNhc2UgRkZBX0lEX0dF
VDoNCj4+PiAgICAgICAgc2V0X3JlZ3Nfc3VjY2VzcyhyZWdzLCBnZXRfdm1faWQoZCksIDApOw0K
Pj4+ICAgICAgICByZXR1cm4gdHJ1ZTsNCj4+PiArICAgIGNhc2UgRkZBX1JYVFhfTUFQXzMyOg0K
Pj4+ICsjaWZkZWYgQ09ORklHX0FSTV82NA0KPj4+ICsgICAgY2FzZSBGRkFfUlhUWF9NQVBfNjQ6
DQo+Pj4gKyNlbmRpZg0KPj4+ICsgICAgICAgIGUgPSBoYW5kbGVfcnh0eF9tYXAoZmlkLCBnZXRf
dXNlcl9yZWcocmVncywgMSksIGdldF91c2VyX3JlZyhyZWdzLCAyKSwNCj4+PiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGdldF91c2VyX3JlZyhyZWdzLCAzKSk7DQo+Pj4gKyAgICAgICAg
aWYgKCBlICkNCj4+PiArICAgICAgICAgICAgc2V0X3JlZ3NfZXJyb3IocmVncywgZSk7DQo+Pj4g
KyAgICAgICAgZWxzZQ0KPj4+ICsgICAgICAgICAgICBzZXRfcmVnc19zdWNjZXNzKHJlZ3MsIDAs
IDApOw0KPj4+ICsgICAgICAgIHJldHVybiB0cnVlOw0KPj4+ICsgICAgY2FzZSBGRkFfUlhUWF9V
Tk1BUDoNCj4+PiArICAgICAgICBlID0gaGFuZGxlX3J4dHhfdW5tYXAoKTsNCj4+PiArICAgICAg
ICBpZiAoIGUgKQ0KPj4+ICsgICAgICAgICAgICBzZXRfcmVnc19lcnJvcihyZWdzLCBlKTsNCj4+
PiArICAgICAgICBlbHNlDQo+Pj4gKyAgICAgICAgICAgIHNldF9yZWdzX3N1Y2Nlc3MocmVncywg
MCwgMCk7DQo+Pj4gKyAgICAgICAgcmV0dXJuIHRydWU7DQo+Pj4gICAgY2FzZSBGRkFfTVNHX1NF
TkRfRElSRUNUX1JFUV8zMjoNCj4+PiAjaWZkZWYgQ09ORklHX0FSTV82NA0KPj4+ICAgIGNhc2Ug
RkZBX01TR19TRU5EX0RJUkVDVF9SRVFfNjQ6DQo+Pj4gQEAgLTUxNSw2ICs2MzksOSBAQCBzdGF0
aWMgaW50IGZmYV9yZWxpbnF1aXNoX3Jlc291cmNlcyhzdHJ1Y3QgZG9tYWluICpkKQ0KPj4+ICAg
ICAgICAgICAgICAgICAgIGdldF92bV9pZChkKSwgc3Vic2NyX3ZtX2Rlc3Ryb3llZFtuXSwgcmVz
KTsNCj4+PiAgICB9DQo+Pj4gDQo+Pj4gKyAgICBpZiAoIGN0eC0+cnggKQ0KPj4+ICsgICAgICAg
IHJ4dHhfdW5tYXAoY3R4KTsNCj4+PiArDQo+Pj4gICAgWEZSRUUoZC0+YXJjaC50ZWUpOw0KPj4+
IA0KPj4+ICAgIHJldHVybiAwOw0KPj4+IC0tDQo+Pj4gMi4zNC4xDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 08:48:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 08:48:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505637.778501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY15f-0002qx-OE; Fri, 03 Mar 2023 08:48:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505637.778501; Fri, 03 Mar 2023 08: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 1pY15f-0002qq-LY; Fri, 03 Mar 2023 08:48:35 +0000
Received: by outflank-mailman (input) for mailman id 505637;
 Fri, 03 Mar 2023 08:48: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=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY15e-0002qk-Cl
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 08:48:34 +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 2d85c998-b9a0-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 09:48:33 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id s20so2606589lfb.11
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 00:48:32 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 l14-20020ac24a8e000000b004db2978e330sm298107lfp.258.2023.03.03.00.48.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 00:48: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: 2d85c998-b9a0-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677833312;
        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=2FGrBAHURnCZZKaPwZ4cr+YuUZofoFmKMIWJce3ineM=;
        b=B/cn1lTLPBDeE/7/7Lm9OCh/a7uGqbzMVoQSdPHd7AMqylRC9jdZmBVC11daJEcdbb
         S3/vPCA5nEGKKiOYuAP9OPk6LDOJgoZqqh9TWjpLLPyomp/XxQy6AVMnMPhMhrH5UeWu
         QP4xN979f5jgo9QNkLSJarBgF0GJq9McFeaiAjyoMMLqv6DXb4BkL2nGi3JN57X1A1TF
         odEmt6Pdt25u5tuv3wrlsedKRwquIovxHDb1nuEWfhnn69hXjvxpgUwFIJtzh7EcaAPU
         d/iDUVos/Lya5YFU5DtHIHDqJeVxlkbhdshzWTED4NlueDB/a9of8N+bAlkUHtMW+Ivf
         vqdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677833312;
        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=2FGrBAHURnCZZKaPwZ4cr+YuUZofoFmKMIWJce3ineM=;
        b=Hpc/MFi8zHVsAANTNApy+/10PK3vhD1COrluhf/Vi7IrVLtSZHEiUEr/kqjj3sGaRd
         71hW2FrUbkqVXDodW/mCOb0J7lxFAAsfkg5ekmrahCAgXh4phtq2w3pokcue4ymsvOPp
         IRfocaWsl1COXntY/BWVD7/rT3MeCFidz71NwjNIZ6SYvbqPKgi0uy6WsZNLGfjeoYiR
         yw/yf3jTEE0KlpypSjay8YS33qUS/scirMn76vht1y3uhp6Vl1w1cCLE1oyf52QmbaYC
         9zLb4yi0wpmv7Cqxgw0QMyylowMZrpHXYNqUXm485QPD2ldBbhm/CScxQNiNlxTNNDCs
         yowg==
X-Gm-Message-State: AO0yUKX7JvDh3uD3kb8F9Di7wxDddA+s6ArLmKCeA14DH4UgT9Tpwnd8
	OcAcLaEX13D6e135CUSp5+4=
X-Google-Smtp-Source: AK7set/i/XOalLJSRrSZbYjcdhPQSNFYNF4Oh04M5iditK6DQfna84nFFI3NYfMnJF2gbA3es8sO/w==
X-Received: by 2002:a05:6512:66:b0:4d8:51e7:9f23 with SMTP id i6-20020a056512006600b004d851e79f23mr248405lfo.34.1677833312026;
        Fri, 03 Mar 2023 00:48:32 -0800 (PST)
Message-ID: <80fa0668427a4ff1faf93d4d235a54a2bee23134.camel@gmail.com>
Subject: Re: [PATCH v2 1/3] xen/riscv: read/save hart_id and dtb_base passed
 by bootloader
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>,  Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Date: Fri, 03 Mar 2023 10:48:30 +0200
In-Reply-To: <24941ed0-56c6-167b-b101-ad1e1c06d907@citrix.com>
References: <cover.1677762812.git.oleksii.kurochko@gmail.com>
	 <3edbb40e86e480b2b71d596ff61c05336004b14c.1677762812.git.oleksii.kurochko@gmail.com>
	 <881fd332-91c1-fea2-d1a2-3a5444a6f272@citrix.com>
	 <f0d1e5b78482639a25f1ef0cf878309344383e7e.camel@gmail.com>
	 <24941ed0-56c6-167b-b101-ad1e1c06d907@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Thu, 2023-03-02 at 18:58 +0000, Andrew Cooper wrote:
> On 02/03/2023 2:53 pm, Oleksii wrote:
> > On Thu, 2023-03-02 at 14:02 +0000, Andrew Cooper wrote:
> > > On 02/03/2023 1:23 pm, Oleksii Kurochko wrote:
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * DTB base is pas=
sed by a bootloader
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> > > > +_dtb_base:
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 RISCV_PTR 0x0
> > > > diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> > > > index 1c87899e8e..d9723fe1c0 100644
> > > > --- a/xen/arch/riscv/setup.c
> > > > +++ b/xen/arch/riscv/setup.c
> > > > @@ -7,7 +7,8 @@
> > > > =C2=A0unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
> > > > =C2=A0=C2=A0=C2=A0=C2=A0 __aligned(STACK_SIZE);
> > > > =C2=A0
> > > > -void __init noreturn start_xen(void)
> > > > +void __init noreturn start_xen(unsigned long bootcpu_id,
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long dtb_base)
> > > To be clear, this change should be this hunk exactly as it is,
> > > and a
> > > comment immediately ahead of ENTRY(start) describing the entry
> > > ABI.
> > >=20
> > > There is no need currently to change any of the asm code.
> > I think that I'll use s2 and s3 to save bootcpu_id.
> >=20
> > But I am unsure I understand why the asm code shouldn't be changed.
>=20
> Because nothing in the asm code (right now) touches any of the a
> registers.
>=20
> Therefore the parameters that OpenSBI prepared for start() (i.e. a0
> and
> a1 here) are still correct for start_xen().
>=20
> If, and only if, we need to modify a* for other reasons in start() do
> we
> need to preserve their values somehow.
>=20
> > If I understand you correctly I can write in a comment ahead of
> > ENTRY(start) that a0, and a1 are reserved for hart_id and dtb_base
> > which are passed from a bootloader but it will work only if
> > start_xen
> > will be only C function called from head.S.
>=20
> Not quite.=C2=A0 You want a comment explaining what the OpenSBI -> start(=
)
> ABI is.=C2=A0 So people know what a0/etc is at ENTRY(start).
>=20
> Here is an example from a different project:
> https://github.com/TrenchBoot/secure-kernel-loader/blob/master/head.S#L52=
-L68
>=20
>=20
> There is no need to do unnecessary work (i.e. preserving them right
> now), until you find a reason to need to spill them.=C2=A0 Right now,
> there's
> not need, and this isn't obviously going to change in the short term.
>=20
Thanks for clarification.

I will document ABI for start and that's it for now
~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 09:14:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 09:14:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505646.778512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY1UF-0006zh-Rs; Fri, 03 Mar 2023 09:13:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505646.778512; Fri, 03 Mar 2023 09: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 1pY1UF-0006za-Mh; Fri, 03 Mar 2023 09:13:59 +0000
Received: by outflank-mailman (input) for mailman id 505646;
 Fri, 03 Mar 2023 09: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=pvdj=63=arm.com=Jiamei.Xie@srs-se1.protection.inumbo.net>)
 id 1pY1UE-0006zU-0n
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 09:13:58 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b77d3ef4-b9a3-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 10:13:53 +0100 (CET)
Received: from DB6P193CA0017.EURP193.PROD.OUTLOOK.COM (2603:10a6:6:29::27) by
 AM8PR08MB6483.eurprd08.prod.outlook.com (2603:10a6:20b:315::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.21; Fri, 3 Mar 2023 09:13:51 +0000
Received: from DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:29:cafe::16) by DB6P193CA0017.outlook.office365.com
 (2603:10a6:6:29::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22 via Frontend
 Transport; Fri, 3 Mar 2023 09:13:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT003.mail.protection.outlook.com (100.127.142.89) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.21 via Frontend Transport; Fri, 3 Mar 2023 09:13:50 +0000
Received: ("Tessian outbound fcd8b5fba459:v135");
 Fri, 03 Mar 2023 09:13:50 +0000
Received: from 7bc7c93a65f3.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D2EDDD39-6B0C-4F64-91E7-D374BF1B0EB3.1; 
 Fri, 03 Mar 2023 09:13:45 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7bc7c93a65f3.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 03 Mar 2023 09:13:45 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com (2603:10a6:20b:523::11)
 by AS2PR08MB10321.eurprd08.prod.outlook.com (2603:10a6:20b:5e4::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.20; Fri, 3 Mar
 2023 09:13:43 +0000
Received: from AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::f0ae:a3f2:8c03:2e06]) by AS8PR08MB7696.eurprd08.prod.outlook.com
 ([fe80::f0ae:a3f2:8c03:2e06%4]) with mapi id 15.20.6156.017; Fri, 3 Mar 2023
 09:13: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: b77d3ef4-b9a3-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7Rub1/QLIFCeHgxeCN3MeZnpLK9rTghNQLxL7siNUb0=;
 b=t92YZ7uq60DdY5RHW+lFQAw9yXBA7H7KedhtVwIZXbE5Bniq0+0C1w8FHiaa352F8KIanR0tV6zQLaM+T4HA66G1dSX5MlgmqoJzfbFXh+AzlpoNjlfB5K0Q6ZHXLcpjc7NG8c55lq21hoH/8tmKRezZpfW6Q7SUtfS1GohWcg8=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R5JTlWMyeibnZNR45gezH9jnNfSKERPfHu/hsIIwtIrDwqJH83wHDDpjCFGPf1RK/QwGTAfIWBAAyaZwzaq4zQFKPpFXWFE+UOyji3thza5QPdR+igP/tqcDEqsngWVPDuAt5rPhY/ByWo14wIeXsJzOxlGoSo7WyJBCatekVuqkI8FNoR9wOw45dulMjmlf6k9rKTxjrk38vRFwdiC0Xb6NuiNrv5SBZRjDl1DDiV5tLKK0EPcGW0bc74/gOpxzTNEc/FotniZc7CGJCoP5FmwVzXnJkfST0v5zJ4BNIGfnslkakxfBgBVtWeSm7JkOUferlWJ150Cx69qqpU0Qmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7Rub1/QLIFCeHgxeCN3MeZnpLK9rTghNQLxL7siNUb0=;
 b=BBIGdW0X7sntAwMEa1TPHEPBAHC4pucP5vkpG++aYHgbYyPBT4w7F10bl3IefBkGTwaVY2DLfIOIqWuGLrPUx6764P9jRVZdQ59S2UF9xOSOe4YukoL2HL/n71fDbQT/sWivOyxlFcBFmaHMZyajku47z6QdgIviVABfVAEoSrFoLK8CqObt/eGPvGUmA99tNfYngANZLuDxKamqUIPX8/FiGoVHFKcVZs7221/b6ad8fp//ugc2W2U8uGICzh9HYbLfGs1ocWevq3NVnnWvJqx/9BKqIpVzTucRamcANsWc0DEXlKaj28z+UXYXFePQQDRbI/1YJdONlYWEg1aiFA==
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=7Rub1/QLIFCeHgxeCN3MeZnpLK9rTghNQLxL7siNUb0=;
 b=t92YZ7uq60DdY5RHW+lFQAw9yXBA7H7KedhtVwIZXbE5Bniq0+0C1w8FHiaa352F8KIanR0tV6zQLaM+T4HA66G1dSX5MlgmqoJzfbFXh+AzlpoNjlfB5K0Q6ZHXLcpjc7NG8c55lq21hoH/8tmKRezZpfW6Q7SUtfS1GohWcg8=
From: Jiamei Xie <Jiamei.Xie@arm.com>
To: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Wei
 Chen <Wei.Chen@arm.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Doug
 Goldstein <cardoe@cardoe.com>
Subject: RE: [PATCH 1/2] automation: arm64: Create a test job for testing
 static heap on qemu
Thread-Topic: [PATCH 1/2] automation: arm64: Create a test job for testing
 static heap on qemu
Thread-Index: AQHZTMHSDcd3HNBlaU66d8U8pXGhL67oS5aAgABSVOCAABFJgIAAF/ZA
Date: Fri, 3 Mar 2023 09:13:43 +0000
Message-ID:
 <AS8PR08MB76962E558A1408184734098E92B39@AS8PR08MB7696.eurprd08.prod.outlook.com>
References: <20230302044421.136068-1-jiamei.xie@arm.com>
 <20230302044421.136068-2-jiamei.xie@arm.com>
 <alpine.DEB.2.22.394.2303021748290.863724@ubuntu-linux-20-04-desktop>
 <AS8PR08MB7696EEB381C01A703B5E431E92B39@AS8PR08MB7696.eurprd08.prod.outlook.com>
 <6faaff70-e0ce-c691-5b1f-202a2c183e24@amd.com>
In-Reply-To: <6faaff70-e0ce-c691-5b1f-202a2c183e24@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 3A81CFD40F8D074B85D6EBD6E70E41B9.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7696:EE_|AS2PR08MB10321:EE_|DBAEUR03FT003:EE_|AM8PR08MB6483:EE_
X-MS-Office365-Filtering-Correlation-Id: 6a163955-3882-4829-aafc-08db1bc79a5e
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:
 wTMyJ92sC23PvafX9bZtLnPl8ew9xXB0kT1eQYIl5Diyb4Gmw2T7ZuN0DWqBd2nibKYZB6fKpRvPcE6cVz5P+cPvHcJ5rNZtiMob7yqGBTLxD0RRMtWAEHiduqhItMgL/fnxxIhd7IwsInrwgdYvRZbMrTMnWSrLriy6RYG7Rajd58ZuxrPe4t3Elmw1Y+W+eOBfftN9nvAcrpx2pciTKAaApKZbVAb9MDCo0MSjqQYtr7IUhShVrhiyZW+UXlsjM6P2FF23B0vJdy+kWN7Z2oX/hX7gaBmC1CxTnm+N8btfAyCDeJBNZKE0ar/JxpulNDfuC5DTg580krHCn9DyF1o2ffLHO7zafcsJEjVUc7Rn2dAAFSG6l8JBxojxF/dxQMmgDa+ihDrLQwYOOKq0To1CdKd9qBrlw3uh7t71BRyqfuot906SgW7j0/a9xdOgJrQB7MeV55BIi2W3OfVy9m9K+nDf+4GzGl8ay8OD5Esg385peKzAiutX3bBKHsyvjPM1KMsIpo7bpLJ7coTaU/wIU2KmF5SVMDPY3Hqp7Aw0b9ktEBPU46YHF8FlEK5Cv19+NyH8+GmpJu4k1zf6E1aKXq4AYERBmwXcnMiOdITGYCfxDT1y48NckXLUQDNoMQTBbJasaVppMBxM5i/EQqGG72FPqd99h6et3Tt6bzYUAdHpjsjF5iRdMXdtbGrsxpIlRA7qsOtgR+thZYLZMQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR08MB7696.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(136003)(376002)(346002)(366004)(396003)(451199018)(66476007)(9686003)(186003)(26005)(122000001)(38070700005)(52536014)(38100700002)(8936002)(66446008)(5660300002)(8676002)(41300700001)(64756008)(66946007)(4326008)(2906002)(76116006)(71200400001)(7696005)(478600001)(66556008)(53546011)(6506007)(55016003)(110136005)(316002)(54906003)(83380400001)(86362001)(33656002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10321
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f49380c1-cc8d-4ef9-2576-08db1bc7961f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wVkuQw6IrND2JR8TCrT4UE7HdjFqISNjHdg/ZG3cAGSjTIONscJBnM+yfDkuYUxd3Bg+LNjlbiKLD7SuNId9XN3LCQcUiHaeBIAkhgEg28rBbUMtECOrhSeriLqZg37GbZ+WGmpTlGcBFdizg/0OVHS7tFn9UXX0XFRBAk+nwMMgK1+gcGr10Skj4T0aCvxImAyqe2BstkJXRHV1EwMXrBpavUDYRHDRXct4vNYsP9lATCzg6O3946wcWcZrIE7iRQELwepjUAFfjKJVjczDmCj/OCURWyGN+TcpVCB+8RDdbsEGeKiA1vK4wEiHIHGthGSvvnoO/0/q1aXGrnAfCu7hDQzWv3E/2/g0MuKZAlwPGS7zodjdpjEtusqnRrffcLi8g1Iil4lLhO/WBXW3TRu1EKsqG8BtkaSjjrSQaudVznpbhIfO7Xz0HegOkFEcBrl7c1K3lqsPyCsWILjhDn6ODsrpAwnzb5btTd/rEe8M5WP44DnuKeP0fnc2rer+R3Qa+Wh4soN5DlEbGjOIW0GMybt41kOcl7im2b4FNJ550K1Ru/8IeN9drzg3bP1Prem8WAKEe5S6SMZj+y5oIUYF4ah157/cOHuEMFAu4JqtX8AWp3s2tFAlYm/2HeVN/Q/cxcgzsY8bwWp+DeF+ZPSBqdySQdpe5W02J46AqPbyAKjJH23ah4BcaEAo1lx1n8fgz/lE7XHHxCBXIP46qA==
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:(13230025)(4636009)(136003)(39860400002)(346002)(396003)(376002)(451199018)(40470700004)(46966006)(36840700001)(336012)(7696005)(47076005)(26005)(186003)(9686003)(107886003)(316002)(478600001)(6506007)(110136005)(54906003)(83380400001)(53546011)(70586007)(70206006)(4326008)(8676002)(52536014)(8936002)(41300700001)(40460700003)(36860700001)(5660300002)(81166007)(55016003)(2906002)(82310400005)(33656002)(356005)(86362001)(82740400003)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 09:13:50.5394
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6a163955-3882-4829-aafc-08db1bc79a5e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6483

SGkgTWljaGFsLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1pY2hh
bCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+DQo+IFNlbnQ6IEZyaWRheSwgTWFyY2ggMywg
MjAyMyAzOjQ3IFBNDQo+IFRvOiBKaWFtZWkgWGllIDxKaWFtZWkuWGllQGFybS5jb20+OyBTdGVm
YW5vIFN0YWJlbGxpbmkNCj4gPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+IENjOiB4ZW4tZGV2
ZWxAbGlzdHMueGVucHJvamVjdC5vcmc7IFdlaSBDaGVuIDxXZWkuQ2hlbkBhcm0uY29tPjsNCj4g
QmVydHJhbmQgTWFycXVpcyA8QmVydHJhbmQuTWFycXVpc0Bhcm0uY29tPjsgRG91ZyBHb2xkc3Rl
aW4NCj4gPGNhcmRvZUBjYXJkb2UuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIIDEvMl0gYXV0
b21hdGlvbjogYXJtNjQ6IENyZWF0ZSBhIHRlc3Qgam9iIGZvciB0ZXN0aW5nDQo+IHN0YXRpYyBo
ZWFwIG9uIHFlbXUNCj4gDQo+IEhpIEppYW1laSwNCj4gDQo+IE9uIDAzLzAzLzIwMjMgMDc6NDks
IEppYW1laSBYaWUgd3JvdGU6DQo+ID4NCj4gPg0KPiA+IEhpIFN0ZWZhbm8sDQo+ID4NCj4gPj4g
LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogU3RlZmFubyBTdGFiZWxsaW5p
IDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPg0KPiA+PiBTZW50OiBGcmlkYXksIE1hcmNoIDMsIDIw
MjMgOTo1MSBBTQ0KPiA+PiBUbzogSmlhbWVpIFhpZSA8SmlhbWVpLlhpZUBhcm0uY29tPg0KPiA+
PiBDYzogeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnOyBXZWkgQ2hlbiA8V2VpLkNoZW5A
YXJtLmNvbT47DQo+ID4+IHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc7IEJlcnRyYW5kIE1hcnF1aXMg
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT47DQo+ID4+IERvdWcgR29sZHN0ZWluIDxjYXJkb2VA
Y2FyZG9lLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCAxLzJdIGF1dG9tYXRpb246IGFy
bTY0OiBDcmVhdGUgYSB0ZXN0IGpvYiBmb3IgdGVzdGluZw0KPiA+PiBzdGF0aWMgaGVhcCBvbiBx
ZW11DQo+ID4+DQo+ID4+IE9uIFRodSwgMiBNYXIgMjAyMywgamlhbWVpLnhpZSB3cm90ZToNCj4g
Pj4+IEZyb206IEppYW1laSBYaWUgPGppYW1laS54aWVAYXJtLmNvbT4NCj4gPj4+DQo+ID4+PiBD
cmVhdGUgYSBuZXcgdGVzdCBqb2IsIGNhbGxlZCBxZW11LXNtb2tlLWRvbTBsZXNzLWFybTY0LWdj
Yy0NCj4gc3RhdGljaGVhcC4NCj4gPj4+DQo+ID4+PiBBZGQgcHJvcGVydHkgInhlbixzdGF0aWMt
aGVhcCIgdW5kZXIgL2Nob3NlbiBub2RlIHRvIGVuYWJsZSBzdGF0aWMtaGVhcC4NCj4gPj4+IElm
IHRoZSBkb21VIGNhbiBzdGFydCBzdWNjZXNzZnVsbHkgd2l0aCBzdGF0aWMtaGVhcCBlbmFibGVk
LCB0aGVuIHRoaXMNCj4gPj4+IHRlc3QgcGFzcy4NCj4gPj4+DQo+ID4+PiBTaWduZWQtb2ZmLWJ5
OiBKaWFtZWkgWGllIDxqaWFtZWkueGllQGFybS5jb20+DQo+ID4+DQo+ID4+IEhpIEppYW1laSwg
dGhhbmtzIGZvciB0aGUgcGF0Y2ghDQo+ID4+DQo+ID4+DQo+ID4+PiAtLS0NCj4gPj4+ICBhdXRv
bWF0aW9uL2dpdGxhYi1jaS90ZXN0LnlhbWwgICAgICAgICAgICAgICAgIHwgMTYgKysrKysrKysr
KysrKysrKw0KPiA+Pj4gIC4uLi9zY3JpcHRzL3FlbXUtc21va2UtZG9tMGxlc3MtYXJtNjQuc2gg
ICAgICAgfCAxOA0KPiA+PiArKysrKysrKysrKysrKysrKysNCj4gPj4+ICAyIGZpbGVzIGNoYW5n
ZWQsIDM0IGluc2VydGlvbnMoKykNCj4gPj4+DQo+ID4+PiBkaWZmIC0tZ2l0IGEvYXV0b21hdGlv
bi9naXRsYWItY2kvdGVzdC55YW1sIGIvYXV0b21hdGlvbi9naXRsYWItDQo+IGNpL3Rlc3QueWFt
bA0KPiA+Pj4gaW5kZXggMWM1ZjQwMGI2OC4uNWE5Yjg4NDc3YSAxMDA2NDQNCj4gPj4+IC0tLSBh
L2F1dG9tYXRpb24vZ2l0bGFiLWNpL3Rlc3QueWFtbA0KPiA+Pj4gKysrIGIvYXV0b21hdGlvbi9n
aXRsYWItY2kvdGVzdC55YW1sDQo+ID4+PiBAQCAtMTMzLDYgKzEzMywyMiBAQCBxZW11LXNtb2tl
LWRvbTBsZXNzLWFybTY0LWdjYy1kZWJ1Zy0NCj4gPj4gc3RhdGljbWVtOg0KPiA+Pj4gICAgICAt
ICphcm02NC10ZXN0LW5lZWRzDQo+ID4+PiAgICAgIC0gYWxwaW5lLTMuMTItZ2NjLWRlYnVnLWFy
bTY0LXN0YXRpY21lbQ0KPiA+Pj4NCj4gPj4+ICtxZW11LXNtb2tlLWRvbTBsZXNzLWFybTY0LWdj
Yy1zdGF0aWNoZWFwOg0KPiA+Pj4gKyBleHRlbmRzOiAucWVtdS1hcm02NA0KPiA+Pj4gKyBzY3Jp
cHQ6DQo+ID4+PiArICAgLSAuL2F1dG9tYXRpb24vc2NyaXB0cy9xZW11LXNtb2tlLWRvbTBsZXNz
LWFybTY0LnNoIHN0YXRpYy1oZWFwDQo+ID4+IDI+JjEgfCB0ZWUgJHtMT0dGSUxFfQ0KPiA+Pj4g
KyBuZWVkczoNCj4gPj4+ICsgICAtICphcm02NC10ZXN0LW5lZWRzDQo+ID4+PiArICAgLSBhbHBp
bmUtMy4xMi1nY2MtYXJtNjQNCj4gPj4+ICsNCj4gPj4+ICtxZW11LXNtb2tlLWRvbTBsZXNzLWFy
bTY0LWdjYy1kZWJ1Zy1zdGF0aWNoZWFwOg0KPiA+Pj4gKyBleHRlbmRzOiAucWVtdS1hcm02NA0K
PiA+Pj4gKyBzY3JpcHQ6DQo+ID4+PiArICAgLSAuL2F1dG9tYXRpb24vc2NyaXB0cy9xZW11LXNt
b2tlLWRvbTBsZXNzLWFybTY0LnNoIHN0YXRpYy1oZWFwDQo+ID4+IDI+JjEgfCB0ZWUgJHtMT0dG
SUxFfQ0KPiA+Pj4gKyBuZWVkczoNCj4gPj4+ICsgICAtICphcm02NC10ZXN0LW5lZWRzDQo+ID4+
PiArICAgLSBhbHBpbmUtMy4xMi1nY2MtZGVidWctYXJtNjQNCj4gPj4+ICsNCj4gPj4+ICBxZW11
LXNtb2tlLWRvbTBsZXNzLWFybTY0LWdjYy1ib290LWNwdXBvb2xzOg0KPiA+Pj4gICAgZXh0ZW5k
czogLnFlbXUtYXJtNjQNCj4gPj4+ICAgIHNjcmlwdDoNCj4gPj4+IGRpZmYgLS1naXQgYS9hdXRv
bWF0aW9uL3NjcmlwdHMvcWVtdS1zbW9rZS1kb20wbGVzcy1hcm02NC5zaA0KPiA+PiBiL2F1dG9t
YXRpb24vc2NyaXB0cy9xZW11LXNtb2tlLWRvbTBsZXNzLWFybTY0LnNoDQo+ID4+PiBpbmRleCAx
ODJhNGI2YzE4Li40ZTczODU3MTk5IDEwMDc1NQ0KPiA+Pj4gLS0tIGEvYXV0b21hdGlvbi9zY3Jp
cHRzL3FlbXUtc21va2UtZG9tMGxlc3MtYXJtNjQuc2gNCj4gPj4+ICsrKyBiL2F1dG9tYXRpb24v
c2NyaXB0cy9xZW11LXNtb2tlLWRvbTBsZXNzLWFybTY0LnNoDQo+ID4+PiBAQCAtMjcsNiArMjcs
MTEgQEAgZmkNCj4gPj4+ICAiDQo+ID4+PiAgZmkNCj4gPj4+DQo+ID4+PiAraWYgW1sgIiR7dGVz
dF92YXJpYW50fSIgPT0gInN0YXRpYy1oZWFwIiBdXTsgdGhlbg0KPiA+Pj4gKyAgICBwYXNzZWQ9
IiR7dGVzdF92YXJpYW50fSB0ZXN0IHBhc3NlZCINCj4gPj4+ICsgICAgZG9tVV9jaGVjaz0iZWNo
byBcIiR7cGFzc2VkfVwiIg0KPiA+Pj4gK2ZpDQo+ID4+PiArDQo+ID4+PiAgaWYgW1sgIiR7dGVz
dF92YXJpYW50fSIgPT0gImJvb3QtY3B1cG9vbHMiIF1dOyB0aGVuDQo+ID4+PiAgICAgICMgQ2hl
Y2sgaWYgZG9tVTAgKGlkPTEpIGlzIGFzc2lnbmVkIHRvIFBvb2wtMSB3aXRoIG51bGwgc2NoZWR1
bGVyDQo+ID4+PiAgICAgIHBhc3NlZD0iJHt0ZXN0X3ZhcmlhbnR9IHRlc3QgcGFzc2VkIg0KPiA+
Pj4gQEAgLTEyOCw2ICsxMzMsMTkgQEAgaWYgW1sgIiR7dGVzdF92YXJpYW50fSIgPT0gInN0YXRp
Yy1tZW0iIF1dOyB0aGVuDQo+ID4+PiAgICAgIGVjaG8gLWUgIlxuRE9NVV9TVEFUSUNfTUVNWzBd
PVwiJHtkb211X2Jhc2V9DQo+ICR7ZG9tdV9zaXplfVwiIiA+Pg0KPiA+PiBiaW5hcmllcy9jb25m
aWcNCj4gPj4+ICBmaQ0KPiA+Pj4NCj4gPj4+ICtpZiBbWyAiJHt0ZXN0X3ZhcmlhbnR9IiA9PSAi
c3RhdGljLWhlYXAiIF1dOyB0aGVuDQo+ID4+PiArICAgICMgSW1hZ2VCdWlsZGVyIHVzZXMgdGhl
IGNvbmZpZyBmaWxlIHRvIGNyZWF0ZSB0aGUgdWJvb3Qgc2NyaXB0Lg0KPiBEZXZpY2V0cmVlDQo+
ID4+PiArICAgICMgd2lsbCBiZSBzZXQgdmlhIHRoZSBnZW5lcmF0ZWQgdWJvb3Qgc2NyaXB0Lg0K
PiA+Pj4gKyAgICAjIFRoZSB2YWxpZCBtZW1vcnkgcmFuZ2UgaXMgMHg0MDAwMDAwMCB0byAweDgw
MDAwMDAwIGFzIGRlZmluZWQNCj4gPj4gYmVmb3JlLg0KPiA+Pj4gKyAgICAjIEltYWdlQnVpbGxk
ZXIgc2V0cyB0aGUga2VybmVsIGFuZCByYW1kaXNrIHJhbmdlIGJhc2VkIG9uIHRoZSBmaWxlDQo+
IHNpemUuDQo+ID4+PiArICAgICMgSXQgd2lsbCB1c2UgdGhlIG1lbW9yeSByYW5nZSBiZXR3ZWVu
IDB4NDU2MDAwMDAgdG8gMHg0N0FFRDFFOCwNCj4gc28NCj4gPj4gc2V0DQo+ID4+PiArICAgICMg
bWVtb3J5IHJhbmdlIGJldHdlZW4gMHg1MDAwMDAwMCBhbmQgMHg4MDAwMDAwMCBhcyBzdGF0aWMN
Cj4gaGVhcC4NCj4gPj4NCj4gPj4gSSB0aGluayB0aGlzIGlzIE9LLiBPbmUgc3VnZ2VzdGlvbiB0
byBtYWtlIHRoaW5ncyBtb3JlIHJlbGlhYmxlIHdvdWxkIGJlDQo+ID4+IHRvIGNoYW5nZSBNRU1P
UllfRU5EIHRvIGJlIDB4NTAwMDAwMDAgc28gdGhhdCB5b3UgY2FuIGJlIHN1cmUgdGhhdA0KPiA+
PiBJbWFnZUJ1aWxkZXIgd29uJ3QgZ28gb3ZlciB0aGUgbGltaXQuIFlvdSBjb3VsZCBkbyBpdCBq
dXN0IGZvciB0aGlzDQo+ID4+IHRlc3QsIHdoaWNoIHdvdWxkIGJlIHNhZmVyLCBidXQgdG8gYmUg
aG9uZXN0IHlvdSBjb3VsZCBsaW1pdCBNRU1PUllfRU5EDQo+ID4+IHRvIDB4NTAwMDAwMDAgZm9y
IGFsbCB0ZXN0cyBpbiBxZW11LXNtb2tlLWRvbTBsZXNzLWFybTY0LnNoIGJlY2F1c2UgaXQNCj4g
Pj4gc2hvdWxkbid0IHJlYWxseSBjYXVzZSBhbnkgcHJvYmxlbXMuDQo+ID4+DQo+ID4gW0ppYW1l
aSBYaWVdDQo+ID4gVGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzLiBJIGFtIGEgbGl0dGxlIGNvbmZ1
c2VkIGFib3V0ICIgdG8gY2hhbmdlDQo+IE1FTU9SWV9FTkQgdG8gYmUgMHg1MDAwMDAwMCIuDQo+
ID4gIEkgc2V0IDBTVEFUSUNfSEVBUD0iMHg1MDAwMDAwMCAweDMwMDAwMDAwIiB3aGVyZSBpcyB0
aGUgc3RhcnQgYWRkcmVzcy4NCj4gV2h5IGNoYW5nZSBNRU1PUllfRU5EDQo+ID4gIHRvIGJlIDB4
NTAwMDAwMDA/DQo+IExldCBtZSBhbnN3ZXIgdG8gdGhhdCBxdWVzdGlvbiBzbyB0aGF0IHlvdSBk
byBub3QgbmVlZCB0byB3YWl0IGFub3RoZXIgZGF5DQo+IGZvciBTdGVmYW5vLg0KPiBJbWFnZUJ1
aWxkZXIgdXNlcyBNRU1PUllfU1RBUlQgYW5kIE1FTU9SWV9FTkQgZnJvbSB0aGUgY2ZnIGZpbGUg
YXMgYQ0KPiByYW5nZSBpbiB3aGljaCBpdCBjYW4gaW5zdHJ1Y3QNCj4gdS1ib290IHdoZXJlIHRv
IHBsYWNlIHRoZSBpbWFnZXMuIEl0IGlzIHNhZmVyIHRvIHNldCBNRU1PUllfRU5EIHRvDQo+IDB4
NTAwMDAwMDAgcmF0aGVyIHRoYW4gdG8gMHhDMDAwMDAwMA0KPiBiZWNhdXNlIHlvdSB3aWxsIGJl
IHN1cmUgdGhhdCBubyBpbWFnZSB3aWxsIGJlIHBsYWNlZCBpbiBhIHJlZ2lvbiB0aGF0IHlvdQ0K
PiBkZWZpbmVkIGFzIHN0YXRpYyBoZWFwLg0KDQpHb3QgaXQsIHRoYW5rcyEgIEFub3RoZXIgcXVl
c3Rpb24sICBzZXQgTUVNT1JZX0VORD0weDUwMDAwMDAwIGZvciBhbGwgdGVzdCBjYXNlcyBvciBq
dXN0IHRoaXMgdGVzdCBjYXNlcyA/IEN1cnJlbnRseSBJIHJ1biB0aGUgdGVzdCBjYXNlIG1hbnVh
bGx5IHdpdGhvdXQgeGVuIGdpdGxhYiBjaSBlbnZpcm9tZW50IC4gSWYgc2V0IHRoaXMgZm9yIGFs
bCB0ZXN0IGNhc2VzLCBhbGwgdGVzdCBjYXNlcyBzaG91bGQgYmUgdGVzdGVkLg0KDQpCZXN0IHdp
c2hlcw0KSmlhbWVpIFhpZQ0KPiANCj4gfk1pY2hhbA0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 09:39:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 09:39:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505656.778550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY1sf-0002b5-KT; Fri, 03 Mar 2023 09:39:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505656.778550; Fri, 03 Mar 2023 09: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 1pY1sf-0002ay-Hp; Fri, 03 Mar 2023 09:39:13 +0000
Received: by outflank-mailman (input) for mailman id 505656;
 Fri, 03 Mar 2023 09:39: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=YmbX=63=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pY1se-0001qu-9W
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 09:39:12 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 40924e18-b9a7-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 10:39: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 4F658175D;
 Fri,  3 Mar 2023 01:39:54 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CE8913F587;
 Fri,  3 Mar 2023 01:39: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: 40924e18-b9a7-11ed-96af-2f268f93b82a
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 3/3] xen/cppcheck: globally suppress unusedStructMember
Date: Fri,  3 Mar 2023 09:38:56 +0000
Message-Id: <20230303093856.2169227-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230303093856.2169227-1-luca.fancellu@arm.com>
References: <20230303093856.2169227-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

unusedStructMember warnings from cppcheck are not reliable and
are causing a lot of false positives, suppress the checker
globally for now.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - New patch
---
 xen/scripts/xen_analysis/cppcheck_analysis.py | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/scripts/xen_analysis/cppcheck_analysis.py b/xen/scripts/xen_analysis/cppcheck_analysis.py
index e385e2c8f54a..ab52ce38d502 100644
--- a/xen/scripts/xen_analysis/cppcheck_analysis.py
+++ b/xen/scripts/xen_analysis/cppcheck_analysis.py
@@ -133,6 +133,8 @@ def generate_cppcheck_deps():
     # - Explicitly suppress warnings on compiler-def.h because cppcheck throws
     #   an unmatchedSuppression due to the rule we put in suppression-list.txt
     #   to skip every finding in the file.
+    # - Explicitly suppress findings for unusedStructMember that is not very
+    #   reliable and causes lots of false positives.
     #
     # Compiler defines are in compiler-def.h which is included in config.h
     #
@@ -145,6 +147,7 @@ def generate_cppcheck_deps():
  --inline-suppr
  --suppressions-list={}/suppression-list.txt
  --suppress='unmatchedSuppression:*'
+ --suppress='unusedStructMember:*'
  --include={}/include/xen/config.h
  -DCPPCHECK
 """.format(settings.outdir, CPPCHECK_BUILD_DIR, settings.xen_dir,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 09:39:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 09:39:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505655.778532 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY1se-00020i-8m; Fri, 03 Mar 2023 09:39:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505655.778532; Fri, 03 Mar 2023 09: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 1pY1se-0001yb-3v; Fri, 03 Mar 2023 09:39:12 +0000
Received: by outflank-mailman (input) for mailman id 505655;
 Fri, 03 Mar 2023 09: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=YmbX=63=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pY1sd-0001qu-9V
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 09:39:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 3fe1e7c1-b9a7-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 10:39: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 DD1932F4;
 Fri,  3 Mar 2023 01:39:52 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 317413F587;
 Fri,  3 Mar 2023 01:39: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: 3fe1e7c1-b9a7-11ed-96af-2f268f93b82a
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v3 2/3] xen/misra: add entries to exclude-list.json
Date: Fri,  3 Mar 2023 09:38:55 +0000
Message-Id: <20230303093856.2169227-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230303093856.2169227-1-luca.fancellu@arm.com>
References: <20230303093856.2169227-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add entries to the exclude-list.json for those files that need to be
excluded from the analysis scan.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
This list is originated from Michal's work here:
https://patchwork.kernel.org/project/xen-devel/patch/20221116092032.4423-1-michal.orzel@amd.com/#25123099
and changed to adapt to this task.
Changes from v2:
 - Add Stefano's R-by
Changes from v1:
 - updated list with new files from Stefano
 - add comment field for every entry (Jan)
---
---
 docs/misra/exclude-list.json | 199 ++++++++++++++++++++++++++++++++++-
 1 file changed, 198 insertions(+), 1 deletion(-)

diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
index 1fb0ac67747b..ca1e2dd678ff 100644
--- a/docs/misra/exclude-list.json
+++ b/docs/misra/exclude-list.json
@@ -1,4 +1,201 @@
 {
     "version": "1.0",
-    "content": []
+    "content": [
+        {
+            "rel_path": "arch/arm/arm64/cpufeature.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/arm/arm64/insn.c",
+            "comment": "Imported on Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/arm/arm64/lib/find_next_bit.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/acpi/boot.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/acpi/cpu_idle.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/acpi/cpufreq/cpufreq.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/acpi/cpuidle_menu.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/acpi/lib.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/amd.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/centaur.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/common.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/hygon.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/intel.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/intel_cacheinfo.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/mcheck/non-fatal.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/mtrr/*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/cpu/mwait-idle.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/delay.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/dmi_scan.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/mpparse.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/srat.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/time.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "arch/x86/x86_64/mmconf-fam10h.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/bitmap.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/bunzip2.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/earlycpio.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/inflate.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/libfdt/*",
+            "comment": "External library"
+        },
+        {
+            "rel_path": "common/livepatch_elf.c",
+            "comment": "Not in scope initially as it generates many violations and it is not enabled in safety configurations"
+        },
+        {
+            "rel_path": "common/lzo.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/lz4/decompress.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/radix-tree.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/ubsan/ubsan.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/un*.c",
+            "comment": "unlz4.c implementation by Yann Collet, the others un* are from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/xz/*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "common/zstd/*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "crypto/*",
+            "comment": "Origin is external and documented in crypto/README.source"
+        },
+        {
+            "rel_path": "drivers/acpi/apei/*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/acpi/hwregs.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/acpi/numa.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/acpi/osl.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/acpi/tables.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/acpi/tables/*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/acpi/utilities/*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "drivers/video/font_*",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "lib/list-sort.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "lib/rbtree.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "lib/xxhash*.c",
+            "comment": "Imported from Linux, ignore for now"
+        },
+        {
+            "rel_path": "xsm/flask/*",
+            "comment": "Not in scope initially as it generates many violations and it is not enabled in safety configurations"
+        }
+    ]
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 09:39:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 09:39:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505654.778526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY1sd-0001uj-Vk; Fri, 03 Mar 2023 09:39:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505654.778526; Fri, 03 Mar 2023 09: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 1pY1sd-0001uE-RA; Fri, 03 Mar 2023 09:39:11 +0000
Received: by outflank-mailman (input) for mailman id 505654;
 Fri, 03 Mar 2023 09: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=YmbX=63=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pY1sc-0001qu-LE
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 09:39:10 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 3ede42d0-b9a7-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 10:39: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 3CAD6150C;
 Fri,  3 Mar 2023 01:39:51 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BBFDF3F587;
 Fri,  3 Mar 2023 01: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: 3ede42d0-b9a7-11ed-96af-2f268f93b82a
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 1/3] xen/cppcheck: add a way to exclude files from the scan
Date: Fri,  3 Mar 2023 09:38:54 +0000
Message-Id: <20230303093856.2169227-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230303093856.2169227-1-luca.fancellu@arm.com>
References: <20230303093856.2169227-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a way to exclude files from the scan, in this way we can skip
some findings from the report on those files that Xen doesn't own.

To do that, introduce the exclude-list.json file under docs/misra,
this file will be populated with relative path to the files/folder
to be excluded.
Introduce a new module, exclusion_file_list.py, to deal with the
exclusion list file and use the new module in cppcheck_analysis.py
to take a list of excluded paths to update the suppression list of
cppcheck.
Modified --suppress flag for cppcheck tool to remove
unmatchedSuppression findings for those external file that are
listed but for example not built for the current architecture.

Add documentation for the file.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - enforce excluded folder path to end with '/*', so update docs
   and drop the code that handled (badly) that case from
   exclusion_file_list.py, __cppcheck_path_exclude_syntax(...)
   (Stefano)
Changes from v1:
 - Indentation fixed (Jan)
---
---
 docs/misra/exclude-list.json                  |  4 ++
 docs/misra/exclude-list.rst                   | 46 ++++++++++++
 xen/scripts/xen_analysis/cppcheck_analysis.py | 20 +++++-
 .../xen_analysis/exclusion_file_list.py       | 70 +++++++++++++++++++
 4 files changed, 138 insertions(+), 2 deletions(-)
 create mode 100644 docs/misra/exclude-list.json
 create mode 100644 docs/misra/exclude-list.rst
 create mode 100644 xen/scripts/xen_analysis/exclusion_file_list.py

diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
new file mode 100644
index 000000000000..1fb0ac67747b
--- /dev/null
+++ b/docs/misra/exclude-list.json
@@ -0,0 +1,4 @@
+{
+    "version": "1.0",
+    "content": []
+}
diff --git a/docs/misra/exclude-list.rst b/docs/misra/exclude-list.rst
new file mode 100644
index 000000000000..c97431a86120
--- /dev/null
+++ b/docs/misra/exclude-list.rst
@@ -0,0 +1,46 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
+Exclude file list for xen-analysis script
+=========================================
+
+The code analysis is performed on the Xen codebase for both MISRA
+checkers and static analysis checkers, there are some files however that
+needs to be removed from the findings report for various reasons (e.g.
+they are imported from external sources, they generate too many false
+positive results, etc.).
+
+For this reason the file docs/misra/exclude-list.json is used to exclude every
+entry listed in that file from the final report.
+Currently only the cppcheck analysis will use this file.
+
+Here is an example of the exclude-list.json file::
+
+|{
+|    "version": "1.0",
+|    "content": [
+|        {
+|            "rel_path": "relative/path/from/xen/file",
+|            "comment": "This file is originated from ..."
+|        },
+|        {
+|            "rel_path": "relative/path/from/xen/folder/*",
+|            "comment": "This folder is a library"
+|        },
+|        {
+|            "rel_path": "relative/path/from/xen/mem*.c",
+|            "comment": "memcpy.c, memory.c and memcmp.c are from the outside"
+|        }
+|    ]
+|}
+
+Here is an explanation of the fields inside an object of the "content" array:
+ - rel_path: it is the relative path from the Xen folder to the file/folder that
+   needs to be excluded from the analysis report, it can contain a wildcard to
+   match more than one file/folder at the time. This field is mandatory.
+ - comment: an optional comment to explain why the file is removed from the
+   analysis.
+
+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
+folder.
diff --git a/xen/scripts/xen_analysis/cppcheck_analysis.py b/xen/scripts/xen_analysis/cppcheck_analysis.py
index cc1f403d315e..e385e2c8f54a 100644
--- a/xen/scripts/xen_analysis/cppcheck_analysis.py
+++ b/xen/scripts/xen_analysis/cppcheck_analysis.py
@@ -1,7 +1,8 @@
 #!/usr/bin/env python3
 
 import os, re, shutil
-from . import settings, utils, cppcheck_report_utils
+from . import settings, utils, cppcheck_report_utils, exclusion_file_list
+from .exclusion_file_list import ExclusionFileListError
 
 class GetMakeVarsPhaseError(Exception):
     pass
@@ -50,6 +51,21 @@ def __generate_suppression_list(out_file):
             # header for cppcheck
             supplist_file.write("*:*generated/compiler-def.h\n")
 
+            try:
+                exclusion_file = \
+                    "{}/docs/misra/exclude-list.json".format(settings.repo_dir)
+                exclusion_list = \
+                    exclusion_file_list.load_exclusion_file_list(exclusion_file)
+            except ExclusionFileListError as e:
+                raise CppcheckDepsPhaseError(
+                    "Issue with reading file {}: {}".format(exclusion_file, e)
+                )
+
+            # Append excluded files to the suppression list, using * as error id
+            # to suppress every findings on that file
+            for path in exclusion_list:
+                supplist_file.write("*:{}\n".format(path))
+
             for entry in headers:
                 filename = entry["file"]
                 try:
@@ -128,7 +144,7 @@ def generate_cppcheck_deps():
  --relative-paths={}
  --inline-suppr
  --suppressions-list={}/suppression-list.txt
- --suppress='unmatchedSuppression:*generated/compiler-def.h'
+ --suppress='unmatchedSuppression:*'
  --include={}/include/xen/config.h
  -DCPPCHECK
 """.format(settings.outdir, CPPCHECK_BUILD_DIR, settings.xen_dir,
diff --git a/xen/scripts/xen_analysis/exclusion_file_list.py b/xen/scripts/xen_analysis/exclusion_file_list.py
new file mode 100644
index 000000000000..871e480586bb
--- /dev/null
+++ b/xen/scripts/xen_analysis/exclusion_file_list.py
@@ -0,0 +1,70 @@
+#!/usr/bin/env python3
+
+import os, glob, json
+from . import settings
+
+class ExclusionFileListError(Exception):
+    pass
+
+
+def __cppcheck_path_exclude_syntax(path):
+    # Prepending * to the relative path to match every path where the Xen
+    # codebase could be
+    path = "*" + path
+
+    return path
+
+
+# Reads the exclusion file list and returns a list of relative path to be
+# excluded.
+def load_exclusion_file_list(input_file):
+    ret = []
+    try:
+        with open(input_file, "rt") as handle:
+            content = json.load(handle)
+            entries = content['content']
+    except json.JSONDecodeError as e:
+        raise ExclusionFileListError(
+                "JSON decoding error in file {}: {}".format(input_file, e)
+        )
+    except KeyError:
+        raise ExclusionFileListError(
+            "Malformed JSON file: content field not found!"
+        )
+    except Exception as e:
+        raise ExclusionFileListError(
+                "Can't open file {}: {}".format(input_file, e)
+        )
+
+    for entry in entries:
+        try:
+            path = entry['rel_path']
+        except KeyError:
+            raise ExclusionFileListError(
+                "Malformed JSON entry: rel_path field not found!"
+            )
+        abs_path = settings.xen_dir + "/" + path
+        check_path = [abs_path]
+
+        # If the path contains wildcards, solve them
+        if '*' in abs_path:
+            check_path = glob.glob(abs_path)
+
+        # Check that the path exists
+        for filepath_object in check_path:
+            if not os.path.exists(filepath_object):
+                raise ExclusionFileListError(
+                    "Malformed path: {} refers to {} that does not exists"
+                    .format(path, filepath_object)
+                )
+
+        if settings.analysis_tool == "cppcheck":
+            path = __cppcheck_path_exclude_syntax(path)
+        else:
+            raise ExclusionFileListError(
+                "Unimplemented for {}!".format(settings.analysis_tool)
+            )
+
+        ret.append(path)
+
+    return ret
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 09:39:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 09:39:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505652.778520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY1sd-0001rn-MF; Fri, 03 Mar 2023 09:39:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505652.778520; Fri, 03 Mar 2023 09: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 1pY1sd-0001ra-JL; Fri, 03 Mar 2023 09:39:11 +0000
Received: by outflank-mailman (input) for mailman id 505652;
 Fri, 03 Mar 2023 09:39: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=YmbX=63=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pY1sc-0001qp-7p
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 09:39:10 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 3e00a99e-b9a7-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 10:39: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 C8CBD2F4;
 Fri,  3 Mar 2023 01:39:49 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 533233F587;
 Fri,  3 Mar 2023 01:39: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: 3e00a99e-b9a7-11ed-a550-8520e6686977
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v3 0/3] xen/misra: create exclusion file list
Date: Fri,  3 Mar 2023 09:38:53 +0000
Message-Id: <20230303093856.2169227-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie is introducing an exclusion list for the misra analysis, at the
moment only cppcheck can benefit from it because it's the tool where we
control every step and configuration.

Exclude a file from the analysis is the last step we should do, but sometime it
is unavoidable because we can't do direct changes to it to fix/deviate from
findings.
So we declare the file(s) here and we leave the burden of the misra compliance
to the final user.

Luca Fancellu (3):
  xen/cppcheck: add a way to exclude files from the scan
  xen/misra: add entries to exclude-list.json
  xen/cppcheck: globally suppress unusedStructMember

 docs/misra/exclude-list.json                  | 201 ++++++++++++++++++
 docs/misra/exclude-list.rst                   |  46 ++++
 xen/scripts/xen_analysis/cppcheck_analysis.py |  23 +-
 .../xen_analysis/exclusion_file_list.py       |  70 ++++++
 4 files changed, 338 insertions(+), 2 deletions(-)
 create mode 100644 docs/misra/exclude-list.json
 create mode 100644 docs/misra/exclude-list.rst
 create mode 100644 xen/scripts/xen_analysis/exclusion_file_list.py

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 09:48:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 09:48:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505678.778560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY21c-00055a-HL; Fri, 03 Mar 2023 09:48:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505678.778560; Fri, 03 Mar 2023 09:48:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY21c-00055T-EK; Fri, 03 Mar 2023 09:48:28 +0000
Received: by outflank-mailman (input) for mailman id 505678;
 Fri, 03 Mar 2023 09:48: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=M2mb=63=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pY21a-00055N-FZ
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 09:48:26 +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 89e9cc3d-b9a8-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 10:48:24 +0100 (CET)
Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com
 [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-315-UEEl3mGjNQyMGcPDlJZU-A-1; Fri, 03 Mar 2023 04:48:19 -0500
Received: by mail-wm1-f71.google.com with SMTP id
 x18-20020a1c7c12000000b003e1e7d3cf9fso2583417wmc.3
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 01:48:19 -0800 (PST)
Received: from [192.168.0.2] (ip-109-43-176-203.web.vodafone.de.
 [109.43.176.203]) by smtp.gmail.com with ESMTPSA id
 l26-20020a05600c1d1a00b003e20970175dsm6271925wms.32.2023.03.03.01.48.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Mar 2023 01:48: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: 89e9cc3d-b9a8-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677836903;
	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=ItWIX9zRhNEcSply1kPR8eT5f45DN4cFJIRFCI59ebs=;
	b=eED1hoF/3olgzzxoaEejjbh8ALdk9NluETauQc5QwPf18gD5zNGkBZEikyjxhk/WVk31Ar
	ElZfcIjCuW9ydkelgGj28ftmm7O8y23sOcnuGIFEWQBC2UOKkm0+ulYWLCV8tBbN1L1rjb
	1RLfOEVxpsNe/y1gmPydK5eDUHtnYfo=
X-MC-Unique: UEEl3mGjNQyMGcPDlJZU-A-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:subject:from:references:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ItWIX9zRhNEcSply1kPR8eT5f45DN4cFJIRFCI59ebs=;
        b=RYUCxSsM9cLpCX8cWluXtaP88ZcJGJ9OQvZWli708niSvMsRpR3Sc9sN3WmdskhVjl
         XUqotDME5RYaiWlPhr+z8/TUMocpMsUNTEX+3jx6IZHJKkqqEaXgs44I5foR+aEZezrv
         Yx5j1lQD0L16f3diEg63B/mAH33d9woFJWNDTyk/OKn+erf2in6RU9FmnizVAiSCNgHJ
         4zWxm+GfQFuz4BDPG1/xI57Ur7X0g9NzH4o1H1aJlzPge8IFHBkBwJUfYJmeaCLCCtws
         a81EQQ2eo1mGOE6q3rylJEo31Ki6X4k1M1uYvvOfHqRHXH1YkH6MCTViZcu+6oqddKdh
         wX6w==
X-Gm-Message-State: AO0yUKW7huHY/bBJuqUVnwmhDxfP3hxnPQWszeatFUM8u+olEWf+7uaZ
	XlBuuB6t6mZ38uEKM/DstFqldgsE6Wo5tiA50oVhSWhNYim9ageV8hiGCqdGCnv7Sm6Luc73w2w
	7Jl9+W47rcURoIvias0c/l+wdz3c=
X-Received: by 2002:a05:600c:4509:b0:3eb:29fe:7343 with SMTP id t9-20020a05600c450900b003eb29fe7343mr904165wmo.33.1677836898781;
        Fri, 03 Mar 2023 01:48:18 -0800 (PST)
X-Google-Smtp-Source: AK7set90kOf+t50U+lkBEG3QcglfuhduO561ikJbIwTI1cvMR/JJzdn3/vk/aPcFI5eUoUJ7JyGBaQ==
X-Received: by 2002:a05:600c:4509:b0:3eb:29fe:7343 with SMTP id t9-20020a05600c450900b003eb29fe7343mr904148wmo.33.1677836898529;
        Fri, 03 Mar 2023 01:48:18 -0800 (PST)
Message-ID: <6c1f0d05-924e-854e-0175-5e345945e086@redhat.com>
Date: Fri, 3 Mar 2023 10:48:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
To: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
 Daniel Berrange <berrange@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>,
 Michael Tokarev <mjt@tls.msk.ru>,
 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
 Helge Deller <deller@gmx.de>
References: <20230302163106.465559-1-thuth@redhat.com>
 <4bed38c3-ab4f-cd32-05a4-afa090ad8b9a@linaro.org>
From: Thomas Huth <thuth@redhat.com>
Subject: Re: [PATCH v2 0/6] Deprecate support for 32-bit x86 and arm hosts
In-Reply-To: <4bed38c3-ab4f-cd32-05a4-afa090ad8b9a@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 02/03/2023 23.07, Philippe Mathieu-Daudé wrote:
> On 2/3/23 17:31, Thomas Huth wrote:
>> We're struggling quite badly with our CI minutes on the shared
>> gitlab runners, so we urgently need to think of ways to cut down
>> our supported build and target environments. qemu-system-i386 and
>> qemu-system-arm are not really required anymore, since nobody uses
>> KVM on the corresponding systems for production anymore, and the
>> -x86_64 and -arch64 variants are a proper superset of those binaries.
>> So it's time to deprecate them and the corresponding 32-bit host
>> environments now.
>>
>> This is a follow-up patch series from the previous discussion here:
>>
>>   
>> https://lore.kernel.org/qemu-devel/20230130114428.1297295-1-thuth@redhat.com/
>>
>> where people still mentioned that there is still interest in certain
>> support for 32-bit host hardware. But as far as I could see, there is
>> no real need for 32-bit x86 host support and for system emulation on
>> 32-bit arm hosts anymore, so it should be fine if we drop these host
>> environments soon (these are also the two architectures that contribute
>> the most to the long test times in our CI, so we would benefit a lot by
>> dropping those).
> 
> It is not clear from your cover that the deprecation only concern system
> emulation on these hosts, not user emulation.

x86 ==> deprecate both, user and system emulation support on
         32-bit hosts
arm ==> deprecate only system emulation on 32-bit hosts.

I tried to say it with the sentence "there is no real need for 32-bit x86 
host support and for system emulation on 32-bit arm hosts anymore, so it 
should be fine if we drop these host  environments soon" ... not sure why 
it's unclear, but if you have some better sentences, I'm open for suggestions.

> I wonder about tools. Apparently they depend on sysemu now. I was
> building a 'configure --enable-tools --disable-system' but now it
> is empty.

I just did a try in a fresh build directory, and for me it was working: it 
builds qemu-img, qemu-io, qemu-edid etc. just fine.

What was missing in your case?

  Thomas



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 09:51:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 09:51:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505690.778571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY24R-0006l0-0F; Fri, 03 Mar 2023 09:51:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505690.778571; Fri, 03 Mar 2023 09: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 1pY24Q-0006kt-Sw; Fri, 03 Mar 2023 09:51:22 +0000
Received: by outflank-mailman (input) for mailman id 505690;
 Fri, 03 Mar 2023 09: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=k/yG=63=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pY24P-0006ki-Eg
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 09:51:21 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0624.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f161f64e-b9a8-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 10:51:17 +0100 (CET)
Received: from DU2PR04CA0050.eurprd04.prod.outlook.com (2603:10a6:10:234::25)
 by AS8PR08MB9792.eurprd08.prod.outlook.com (2603:10a6:20b:613::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Fri, 3 Mar
 2023 09:51:09 +0000
Received: from DBAEUR03FT059.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:234:cafe::1b) by DU2PR04CA0050.outlook.office365.com
 (2603:10a6:10:234::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22 via Frontend
 Transport; Fri, 3 Mar 2023 09:51:09 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT059.mail.protection.outlook.com (100.127.142.102) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.20 via Frontend Transport; Fri, 3 Mar 2023 09:51:09 +0000
Received: ("Tessian outbound cfb430c87a1e:v135");
 Fri, 03 Mar 2023 09:51:09 +0000
Received: from 424ef3d3d830.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7317B396-579B-4290-A8AA-72B6557BD866.1; 
 Fri, 03 Mar 2023 09:51:02 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 424ef3d3d830.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 03 Mar 2023 09:51:02 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PA4PR08MB6254.eurprd08.prod.outlook.com (2603:10a6:102:f3::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21; Fri, 3 Mar
 2023 09:50:54 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 09:50: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: f161f64e-b9a8-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qPI9wzLSJDON6ZuMpiPJ+4bStDfQXl6D68MKm+x16NA=;
 b=eroggrAWNzVPns4gghfyBjVjqqG6ZaK8AdIfYgIg0fOtIFzEm7sXj5qHU98LC7Ga9Q2Bxy8xl1NLOjvjaW/kl+yL4oEQfUyIybA5q5t/UUOeKSaKHfGABd0sbjFwfZxPPBmpuSfWb/oxbqV20ThylAxbM9VlNMYeau29bGW+BPc=
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: 9c6cef000f0ca020
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U6GkG8RBojmWMOTBDYzug5Kkz3ReQrOikPUJ7z1HgmYd95Qa3OHS7z3EowJ7VBXs7bIahAgSDzYbtuKW/M/ToZ/3Aa820ggcOId/IWvn8vLYQbAY1U8UWvxrOYjXLj3WYySUpDpeZgHOelITK+LPoeTKXFgVzMvHsVC0bnbJx9ej8B+KNVPfqzE8E9K+MZs/3xKG2eTzfufhxsAmcO0a/w8oYo3NqlOearB6bu0G9yfctaU2AsSxmkyOyvnH0weD008ffzXnRmpx9BtgynYXxYusShArnQUAs1RvS/LALSixh5u1Uf8vbmPGO2iqbNzPkiSCbtDg2JAJJFPEhKrHeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qPI9wzLSJDON6ZuMpiPJ+4bStDfQXl6D68MKm+x16NA=;
 b=nzZv9XckKUsFMz+lJCrBppI6E7z7eg153XbAVAlHBYN1CUO6nHrtvg/gD21jVQtv0Z95bSFaXVXBDvoiL7vFCuE8n6YRaePmseEvvsrlbQuwG+F8yUGYPX91234Xqp9RXnCqrJ+RQE4vJmNyJqEfJZmXkb/QBkga64YytB730UY6z1JftNIIMj3tRlekvhlrP3bE1Qqr7Sk/y61KS1tt4bVKD5Wh1VZWydujhK2hB7L+UXHmV9AglDBukRkB/SdM++5dKXPcqOexWbmom3iFOsxWCTeL7zNF4B8JPAsl3pEOuhu9dAHTjX9jRUj2/XOSMK3X8ZsYQ1TsmK4OgrUGCQ==
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=qPI9wzLSJDON6ZuMpiPJ+4bStDfQXl6D68MKm+x16NA=;
 b=eroggrAWNzVPns4gghfyBjVjqqG6ZaK8AdIfYgIg0fOtIFzEm7sXj5qHU98LC7Ga9Q2Bxy8xl1NLOjvjaW/kl+yL4oEQfUyIybA5q5t/UUOeKSaKHfGABd0sbjFwfZxPPBmpuSfWb/oxbqV20ThylAxbM9VlNMYeau29bGW+BPc=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 14/20] xen/arm: ffa: support guest
 FFA_PARTITION_INFO_GET
Thread-Topic: [XEN PATCH v7 14/20] xen/arm: ffa: support guest
 FFA_PARTITION_INFO_GET
Thread-Index: AQHZRtMdhtaowAhPaUGSsxv5T0sWbq7o3ZeA
Date: Fri, 3 Mar 2023 09:50:53 +0000
Message-ID: <55C1E9E3-1515-40BD-8C9B-93564A2B4421@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <fc8e8f1d2d8dbefffd28f6ff1dff600094be8182.1677079672.git.jens.wiklander@linaro.org>
In-Reply-To:
 <fc8e8f1d2d8dbefffd28f6ff1dff600094be8182.1677079672.git.jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|PA4PR08MB6254:EE_|DBAEUR03FT059:EE_|AS8PR08MB9792:EE_
X-MS-Office365-Filtering-Correlation-Id: e8574b2e-66ac-4306-866d-08db1bccd0e8
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:
 2orfKrl1C8dMgHbnAMu8GIzcp0Lx4EexQaxdrJJpchLt4NOt/UDjMu0UOBxGCIIGvWSAwet+eIFsLaCm3Muif6RWg37kVvq/Dnk6nWs4YUDkuHPTC0/6+s2E61diy+z5qHs+EgvoJtXCyshDdLZEd76Tc8Rcv5mSk+b6/3eCo3mMwMQn4x6ojvebAF6GvCy+XyeASwQuQnGCDQoNekFQ1Z/CBJQZuIyWM/cUkELhhcTqfNqyZp9p/x1gPiOqI4sM7c0CC7Uc4uKYBNvXP4gfwg+pVvF1D8eT34lUTf8ALtFjcNTjaTDDQCiCT1kfqXYAy2OLFh1GIq9TBOTFgdJENKxP+MuXFalMEGtCIAKwo4Ip3mLdbAoHK7cdvq1HwJDhWze3c5GcYJx/sNk0OmF1sTW4e+YR7h+n9Q8UX7fINPJEbluFwpQhsNbYK4Nhy6Smr8JdqDlyBvUBnJe2uWlzkArDWxUzA5bNnghU/xZDFiTR4q0EeacaFmt7S/swKG/yWWVGuoeeJpAqNkC7a2MJmF/9jvkNGlHPoOuV1fB8yQyiqdWbheSgkVMbFgM9akn+UxLmx9JhMJWtgW0fG5jDB7yT9LY/uu9jhMsjswCwZaOxLrJ+K/4umRTl7wALsqQ5g78b4hALAYENmHz3eotPk6Qy/KTrXPr0VdP2QXNKSx9cmnoEh17mjXr6Mv8AZNeFpDGohg/tneSJJTyghIFnBSttAhVuhfARVTCSFqSRBGc=
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:(13230025)(4636009)(396003)(366004)(136003)(39860400002)(346002)(376002)(451199018)(86362001)(316002)(54906003)(33656002)(36756003)(83380400001)(6486002)(66476007)(6512007)(186003)(91956017)(2906002)(5660300002)(76116006)(4326008)(6916009)(8676002)(64756008)(66946007)(41300700001)(66446008)(2616005)(478600001)(53546011)(6506007)(66556008)(71200400001)(26005)(122000001)(8936002)(38100700002)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <7A6A4339B25A8F42B8A2A70077C88AE7@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6254
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	86c23530-fa5d-491e-4252-08db1bccc762
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cDJfyaSHGzM9Fj3xMPv5QqknrDE9NYdPqSZFtrbLx3WrFNa9ZwudTolsCv0YHjDEf/OiybyNCAutJWgWjIvikS+cbJlu+u5ZLHgM+VGQH2rFpHWfww2t9bZK0BAiF47UZHJW0d2NEPbg/H1GraAsm7ZksfxBX4VbgVaqOYQMn+b4HSmTU7UDuzK+nfj1VWM0meVktxXUa9P8iatpmfiYw/gepFaABzb6kOD+CDpx5M0hRFVxc2iisdXED8yN2baUdsUE4kWzESgtV/UKv8y62LU1QtOGKBXeBJ1FkJwx7A2paC43g/1jCaEucuswMFnLks8w3NFo78NteAPVeOFfV0Pb3cJvAekWE120dX9hWi92OvvCY6iZgrU9WuGJtsJh8tA2bTqTVG274GwM5PRNR/XxKn30AH+JaT/hsdvYWkFEjxAy8/3kUpAJ1eYW0I/8NSBIO5pQ/vwsnUXR1j/s/RV35BLycvIOnEhUwRvnbJUv2G3R/ubvUyB403ZiozCkbl0hU6HbUqt6bd38oIRdRjUmhfh85tMN2oFjel8Ouc1d755iFrwSDZP5sK1//HaUKtibZe2QxwfhUVR9Q6VKNjj2UjY0BA6cPEWvQ0oz9SFHhjvrdvrsr9wk7Qm4vv1BG8RIg36SNouyMzrfJ+DEt6yIYdq+FaEZ3XnJkFQ6pGzMNUATndLPgEzLbjpXVs/S94T3Jcs8Z542wmeUT9bpIw==
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:(13230025)(4636009)(39860400002)(396003)(136003)(346002)(376002)(451199018)(40470700004)(36840700001)(46966006)(5660300002)(4326008)(6862004)(8936002)(40480700001)(41300700001)(83380400001)(336012)(40460700003)(70586007)(36756003)(82310400005)(70206006)(2906002)(8676002)(316002)(33656002)(6486002)(82740400003)(47076005)(36860700001)(6512007)(53546011)(6506007)(26005)(186003)(2616005)(54906003)(81166007)(478600001)(86362001)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 09:51:09.5078
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e8574b2e-66ac-4306-866d-08db1bccd0e8
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9792

Hi Jens,

> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Adds support in the mediator to handle FFA_PARTITION_INFO_GET requests
> from a guest. The requests are forwarded to the SPMC and the response is
> translated according to the FF-A version in use by the guest.
>=20
> Using FFA_PARTITION_INFO_GET changes the owner of the RX buffer to the
> caller (the guest in this case), so once it is done with the buffer it
> must be released using FFA_RX_RELEASE before another call can be made.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> ---
> xen/arch/arm/tee/ffa.c | 126 ++++++++++++++++++++++++++++++++++++++++-
> 1 file changed, 124 insertions(+), 2 deletions(-)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 953b6dfd5eca..3571817c0bcd 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -141,6 +141,12 @@
> #define FFA_MSG_POLL                    0x8400006AU
>=20
> /* Partition information descriptor */
> +struct ffa_partition_info_1_0 {
> +    uint16_t id;
> +    uint16_t execution_context;
> +    uint32_t partition_properties;
> +};
> +
> struct ffa_partition_info_1_1 {
>     uint16_t id;
>     uint16_t execution_context;
> @@ -157,9 +163,8 @@ struct ffa_ctx {
>     uint32_t guest_vers;
>     bool tx_is_mine;
>     bool interrupted;
> +    spinlock_t lock;
> };
> -
> -

This is removing 2 empty lines (previous patch was wrongly adding one)
but one empty line is required here.

> /* Negotiated FF-A version to use with the SPMC */
> static uint32_t ffa_version __ro_after_init;
>=20
> @@ -173,10 +178,16 @@ static unsigned int subscr_vm_destroyed_count __rea=
d_mostly;
>  * Our rx/tx buffers shared with the SPMC.
>  *
>  * ffa_page_count is the number of pages used in each of these buffers.
> + *
> + * The RX buffer is protected from concurrent usage with ffa_rx_buffer_l=
ock.
> + * Note that the SPMC is also tracking the ownership of our RX buffer so
> + * for calls which uses our RX buffer to deliver a result we must call
> + * ffa_rx_release() to let the SPMC know that we're done with the buffer=
.
>  */
> static void *ffa_rx __read_mostly;
> static void *ffa_tx __read_mostly;
> static unsigned int ffa_page_count __read_mostly;
> +static DEFINE_SPINLOCK(ffa_rx_buffer_lock);
>=20
> static bool ffa_get_version(uint32_t *vers)
> {
> @@ -463,6 +474,98 @@ static uint32_t handle_rxtx_unmap(void)
>     return FFA_RET_OK;
> }
>=20
> +static uint32_t handle_partition_info_get(uint32_t w1, uint32_t w2, uint=
32_t w3,
> +                                          uint32_t w4, uint32_t w5,
> +                                          uint32_t *count)
> +{
> +    bool query_count_only =3D w5 & FFA_PARTITION_INFO_GET_COUNT_FLAG;
> +    uint32_t w5_mask =3D 0;
> +    uint32_t ret =3D FFA_RET_DENIED;
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +    /*
> +     * FF-A v1.0 has w5 MBZ while v1.1 allows
> +     * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
> +     */
> +    if ( ctx->guest_vers =3D=3D FFA_VERSION_1_1 )
> +        w5_mask =3D FFA_PARTITION_INFO_GET_COUNT_FLAG;
> +    if ( w5 & ~w5_mask )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    if ( query_count_only )
> +        return ffa_partition_info_get(w1, w2, w3, w4, w5, count);

This code seems a bit to complex.
I would suggest the following:

if (w5 & FFA_PARTITION_INFO_GET_COUNT_FLAG)
{
     if ( ctx->guest_vers =3D=3D FFA_VERSION_1_1 )
	return ffa_partition_info_get(w1, w2, w3, w4, w5, count);
     else
        return FFA_RET_INVALID_PARAMETERS;
}

> +
> +    if ( !ffa_page_count )
> +        return FFA_RET_DENIED;
> +
> +    spin_lock(&ctx->lock);
> +    spin_lock(&ffa_rx_buffer_lock);
> +    if ( !ctx->page_count || !ctx->tx_is_mine )

If i understand correctly tx_is_mine is protecting the guest rx
buffer until rx_release is called by the guest so that we do not
write in it before the guest has retrieved the data from it.

The name is very misleading, maybe rx_is_writeable or free would be better =
?

Also it would be more optimal to test it before taking ffa_rx_buffer_lock.


> +        goto out;
> +    ret =3D ffa_partition_info_get(w1, w2, w3, w4, w5, count);
> +    if ( ret )
> +        goto out;
> +
> +    if ( ctx->guest_vers =3D=3D FFA_VERSION_1_0 )
> +    {
> +        size_t n;
> +        struct ffa_partition_info_1_1 *src =3D ffa_rx;
> +        struct ffa_partition_info_1_0 *dst =3D ctx->rx;
> +
> +        if ( ctx->page_count * FFA_PAGE_SIZE < *count * sizeof(*dst) )
> +        {
> +            ret =3D FFA_RET_NO_MEMORY;
> +            goto out_rx_release;
> +        }
> +
> +        for ( n =3D 0; n < *count; n++ )
> +        {
> +            dst[n].id =3D src[n].id;
> +            dst[n].execution_context =3D src[n].execution_context;
> +            dst[n].partition_properties =3D src[n].partition_properties;
> +        }
> +    }
> +    else
> +    {
> +        size_t sz =3D *count * sizeof(struct ffa_partition_info_1_1);
> +
> +        if ( ctx->page_count * FFA_PAGE_SIZE < sz )
> +        {
> +            ret =3D FFA_RET_NO_MEMORY;
> +            goto out_rx_release;
> +        }
> +
> +
> +        memcpy(ctx->rx, ffa_rx, sz);
> +    }
> +    ctx->tx_is_mine =3D false;

at this point we have no reason to hold ctx->lock

> +out_rx_release:
> +    ffa_rx_release();

There should be no case where do release without unlocking.

It might be cleaner to have 2 functions ffa_rx_get and ffa_rx_release
 handling both the lock and the rx_release message.

> +out:
> +    spin_unlock(&ffa_rx_buffer_lock);

this should stay with ffa_rx_release

Cheers
Bertrand

> +    spin_unlock(&ctx->lock);
> +
> +    return ret;
> +}
> +
> +static uint32_t handle_rx_release(void)
> +{
> +    uint32_t ret =3D FFA_RET_DENIED;
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +
> +    spin_lock(&ctx->lock);
> +    if ( !ctx->page_count || ctx->tx_is_mine )
> +        goto out;
> +    ret =3D FFA_RET_OK;
> +    ctx->tx_is_mine =3D true;
> +out:
> +    spin_unlock(&ctx->lock);
> +
> +    return ret;
> +}
> +
> static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint32=
_t fid)
> {
>     struct arm_smccc_1_2_regs arg =3D { .a0 =3D fid, };
> @@ -528,6 +631,7 @@ static bool ffa_handle_call(struct cpu_user_regs *reg=
s)
>     uint32_t fid =3D get_user_reg(regs, 0);
>     struct domain *d =3D current->domain;
>     struct ffa_ctx *ctx =3D d->arch.tee;
> +    uint32_t count;
>     int e;
>=20
>     if ( !ctx )
> @@ -559,6 +663,24 @@ static bool ffa_handle_call(struct cpu_user_regs *re=
gs)
>         else
>             set_regs_success(regs, 0, 0);
>         return true;
> +    case FFA_PARTITION_INFO_GET:
> +        e =3D handle_partition_info_get(get_user_reg(regs, 1),
> +                                      get_user_reg(regs, 2),
> +                                      get_user_reg(regs, 3),
> +                                      get_user_reg(regs, 4),
> +                                      get_user_reg(regs, 5), &count);
> +        if ( e )
> +            set_regs_error(regs, e);
> +        else
> +            set_regs_success(regs, count, 0);
> +        return true;
> +    case FFA_RX_RELEASE:
> +        e =3D handle_rx_release();
> +        if ( e )
> +            set_regs_error(regs, e);
> +        else
> +            set_regs_success(regs, 0, 0);
> +        return true;
>     case FFA_MSG_SEND_DIRECT_REQ_32:
> #ifdef CONFIG_ARM_64
>     case FFA_MSG_SEND_DIRECT_REQ_64:
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 09:52:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 09:52:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505699.778581 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY25K-0007Lf-Ep; Fri, 03 Mar 2023 09:52:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505699.778581; Fri, 03 Mar 2023 09: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 1pY25K-0007LV-9n; Fri, 03 Mar 2023 09:52:18 +0000
Received: by outflank-mailman (input) for mailman id 505699;
 Fri, 03 Mar 2023 09:52: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=DvcW=63=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pY25I-0006kg-Ay
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 09:52:16 +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 135cdf82-b9a9-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 10:52:15 +0100 (CET)
Received: from MW4PR03CA0114.namprd03.prod.outlook.com (2603:10b6:303:b7::29)
 by BL1PR12MB5127.namprd12.prod.outlook.com (2603:10b6:208:31b::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 09:52:08 +0000
Received: from CO1NAM11FT037.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b7:cafe::15) by MW4PR03CA0114.outlook.office365.com
 (2603:10b6:303:b7::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18 via Frontend
 Transport; Fri, 3 Mar 2023 09:52:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT037.mail.protection.outlook.com (10.13.174.91) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6156.22 via Frontend Transport; Fri, 3 Mar 2023 09:52:07 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 3 Mar
 2023 03:52: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.2375.34; Fri, 3 Mar
 2023 03:52:06 -0600
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 3 Mar 2023 03:52: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: 135cdf82-b9a9-11ed-96af-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NoL1oDxvGbuiQMYePszC0+9FVk5pO4ESCfsEAaDhuBdByzdWysqSQDKGXrEqCjXvLnKgEIPndS0UdSWuCI/se3zFBelpFhTBBybdHt7u7ZCsyu9BgKt13XkQnOC5HL/aQi+Se5K3EHb//xgfY/lv31jidVoQOZNSJ+jPrkqh9nTQWqqaL3qN+SwWUHd9XvIgQdarOCzrFKIXJhmko/jhaMwUjDJAmmlCqyCiEYxgGPhWCycGZMVC9PUDi4fX2EOdhPM6oBQF+ifYqMHJUxnisUdwesFIZDn7ZsMpALakvSdwTbNatqdP2ck4vkRemhprx1Vu3PQZlu7Gq9e7LUUyHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tbws6XEjTz3OHN+hyX3XASeiSb1CULjlNqWzestCVpE=;
 b=ZxNxHzPiFE0s7KTrLGUVtfu01O1M1qyDnWUro1JaUAm8tgps8gnE/HLN3mNNg5rXbR98bLx43UvusNy47lq6SPSWXsVCs4X8+K7nN4zxv5RVALyK9OZnk/4/kHV5v9V9BOMpJ65OlkU5x1ZslvieFEF09Nk5nMxevHQd/ln5EK126m59teTsbq3KYgZqedPK5143Q7ErkwZaBYszS0IDR5/7Frr0s1BhahU0zgx59gPLWCedsOLxDeq/6spM7bVH0Aho41+zVmSTmdYxYq1fCm/LqglQIWhcPLlVslzuWm8mXNQ9W8xS4MkV2yVrr8p+HgX9bvfvaJ0ejIomuJRSsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tbws6XEjTz3OHN+hyX3XASeiSb1CULjlNqWzestCVpE=;
 b=DGO3539XckMfpeVdg8M03xFaA+ls4Z/5NFKC4HcC7GgBonVRRCCcVF9mf25ZtpIzIXPZMQFD1GplYtGKO040FVfDQWyK/tB3xgi7pIglHNCiSYMuWEZ6jxaf4r9adh2BH8NuGpba8hVm/jqReNr7s377NXKxS4ImXEpppDTgp4E=
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: <a6873a10-6456-018f-243c-e492fcb6c42a@amd.com>
Date: Fri, 3 Mar 2023 10:52:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 1/2] automation: arm64: Create a test job for testing
 static heap on qemu
To: Jiamei Xie <Jiamei.Xie@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Wei
 Chen" <Wei.Chen@arm.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>, "Doug
 Goldstein" <cardoe@cardoe.com>
References: <20230302044421.136068-1-jiamei.xie@arm.com>
 <20230302044421.136068-2-jiamei.xie@arm.com>
 <alpine.DEB.2.22.394.2303021748290.863724@ubuntu-linux-20-04-desktop>
 <AS8PR08MB7696EEB381C01A703B5E431E92B39@AS8PR08MB7696.eurprd08.prod.outlook.com>
 <6faaff70-e0ce-c691-5b1f-202a2c183e24@amd.com>
 <AS8PR08MB76962E558A1408184734098E92B39@AS8PR08MB7696.eurprd08.prod.outlook.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <AS8PR08MB76962E558A1408184734098E92B39@AS8PR08MB7696.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT037:EE_|BL1PR12MB5127:EE_
X-MS-Office365-Filtering-Correlation-Id: 5416f061-c251-49d9-d46a-08db1bccf390
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+pkiDm/gUJCGQXma75zumES7oNfGbee0mIBfHjAy6czKWdSRXERgqfFE4O8pEyr8V1I2NgGKRoUF8QuEV9RCPCn3vu5VwOsDwFNgRiXAQ/4IrIFrsmZSB6P8ya73C/VVfDGUhuCRt9VzGmK15fB9//1QJhpQP/y4DQ18fBZKyNux60YIntofyKr9SJkTHlwrqgkO4vY//YD1qbuDGeJch2zUbj5NSL46V0HKpic5oEzXQBae0lawEdLHQ9WBqKndqWYgfIwHQaFJ1iUk+TEaBWzUcBqzd4T7mhwuifAiJ9ipBGKTs4N3ehyk4TD+GRkTfvVI8WjA4d5Wmr5puergun74+M1ce91E36T40wvaHPsUOR5XXW9igWq8zopeOkDg5htK8FLjo5rhnRFzX1C9oebn/C9GxrAkPS8LqczTRzMd87VkZVIYHKDQH2W5e3vu7tDFSUpfuNmdwZdEGN9XIFe6/bwPIMfs/FVrgediyug81fhWRuvMsBIxDQ6dldUwRLXkD4XmgM3ewN5ID4AqtQXEVmptlEbdVDHnmXiwywmLY2WCbvz+VuOWtajll7ptUKdfexGcM4d06n2EYHwWMqOyW7d2BLLWyGZMd/wB0bgNjsaWGjM5MHm1IyCOZgPA6H6nnFgg3ilKKi0s6TujrDy6F7TdFUqJBc4hkCLHj3mvX/BzsAWfPlIi9Z4HuIH4U5ZtDqLzUaPj5DubDrJ+gCGRy2gKII/n8jTgr3bWl9lV59d74H6wL0fk/gdNubCbQLQFyNinQy2eiOfnonP1Ag==
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:(13230025)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199018)(46966006)(40470700004)(36840700001)(16576012)(316002)(478600001)(47076005)(110136005)(54906003)(83380400001)(81166007)(44832011)(2906002)(5660300002)(82740400003)(36756003)(86362001)(31696002)(82310400005)(356005)(4326008)(426003)(70206006)(40460700003)(70586007)(8676002)(40480700001)(41300700001)(36860700001)(8936002)(336012)(31686004)(26005)(2616005)(186003)(53546011)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 09:52:07.5284
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5416f061-c251-49d9-d46a-08db1bccf390
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:
	CO1NAM11FT037.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5127

Hi Jiamei,

On 03/03/2023 10:13, Jiamei Xie wrote:
> 
> 
> Hi Michal,
> 
>> -----Original Message-----
>> From: Michal Orzel <michal.orzel@amd.com>
>> Sent: Friday, March 3, 2023 3:47 PM
>> To: Jiamei Xie <Jiamei.Xie@arm.com>; Stefano Stabellini
>> <sstabellini@kernel.org>
>> Cc: xen-devel@lists.xenproject.org; Wei Chen <Wei.Chen@arm.com>;
>> Bertrand Marquis <Bertrand.Marquis@arm.com>; Doug Goldstein
>> <cardoe@cardoe.com>
>> Subject: Re: [PATCH 1/2] automation: arm64: Create a test job for testing
>> static heap on qemu
>>
>> Hi Jiamei,
>>
>> On 03/03/2023 07:49, Jiamei Xie wrote:
>>>
>>>
>>> Hi Stefano,
>>>
>>>> -----Original Message-----
>>>> From: Stefano Stabellini <sstabellini@kernel.org>
>>>> Sent: Friday, March 3, 2023 9:51 AM
>>>> To: Jiamei Xie <Jiamei.Xie@arm.com>
>>>> Cc: xen-devel@lists.xenproject.org; Wei Chen <Wei.Chen@arm.com>;
>>>> sstabellini@kernel.org; Bertrand Marquis <Bertrand.Marquis@arm.com>;
>>>> Doug Goldstein <cardoe@cardoe.com>
>>>> Subject: Re: [PATCH 1/2] automation: arm64: Create a test job for testing
>>>> static heap on qemu
>>>>
>>>> On Thu, 2 Mar 2023, jiamei.xie wrote:
>>>>> From: Jiamei Xie <jiamei.xie@arm.com>
>>>>>
>>>>> Create a new test job, called qemu-smoke-dom0less-arm64-gcc-
>> staticheap.
>>>>>
>>>>> Add property "xen,static-heap" under /chosen node to enable static-heap.
>>>>> If the domU can start successfully with static-heap enabled, then this
>>>>> test pass.
>>>>>
>>>>> Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
>>>>
>>>> Hi Jiamei, thanks for the patch!
>>>>
>>>>
>>>>> ---
>>>>>  automation/gitlab-ci/test.yaml                 | 16 ++++++++++++++++
>>>>>  .../scripts/qemu-smoke-dom0less-arm64.sh       | 18
>>>> ++++++++++++++++++
>>>>>  2 files changed, 34 insertions(+)
>>>>>
>>>>> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-
>> ci/test.yaml
>>>>> index 1c5f400b68..5a9b88477a 100644
>>>>> --- a/automation/gitlab-ci/test.yaml
>>>>> +++ b/automation/gitlab-ci/test.yaml
>>>>> @@ -133,6 +133,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-
>>>> staticmem:
>>>>>      - *arm64-test-needs
>>>>>      - alpine-3.12-gcc-debug-arm64-staticmem
>>>>>
>>>>> +qemu-smoke-dom0less-arm64-gcc-staticheap:
>>>>> + extends: .qemu-arm64
>>>>> + script:
>>>>> +   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap
>>>> 2>&1 | tee ${LOGFILE}
>>>>> + needs:
>>>>> +   - *arm64-test-needs
>>>>> +   - alpine-3.12-gcc-arm64
>>>>> +
>>>>> +qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
>>>>> + extends: .qemu-arm64
>>>>> + script:
>>>>> +   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap
>>>> 2>&1 | tee ${LOGFILE}
>>>>> + needs:
>>>>> +   - *arm64-test-needs
>>>>> +   - alpine-3.12-gcc-debug-arm64
>>>>> +
>>>>>  qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
>>>>>    extends: .qemu-arm64
>>>>>    script:
>>>>> diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh
>>>> b/automation/scripts/qemu-smoke-dom0less-arm64.sh
>>>>> index 182a4b6c18..4e73857199 100755
>>>>> --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
>>>>> +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
>>>>> @@ -27,6 +27,11 @@ fi
>>>>>  "
>>>>>  fi
>>>>>
>>>>> +if [[ "${test_variant}" == "static-heap" ]]; then
>>>>> +    passed="${test_variant} test passed"
>>>>> +    domU_check="echo \"${passed}\""
>>>>> +fi
>>>>> +
>>>>>  if [[ "${test_variant}" == "boot-cpupools" ]]; then
>>>>>      # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler
>>>>>      passed="${test_variant} test passed"
>>>>> @@ -128,6 +133,19 @@ if [[ "${test_variant}" == "static-mem" ]]; then
>>>>>      echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base}
>> ${domu_size}\"" >>
>>>> binaries/config
>>>>>  fi
>>>>>
>>>>> +if [[ "${test_variant}" == "static-heap" ]]; then
>>>>> +    # ImageBuilder uses the config file to create the uboot script.
>> Devicetree
>>>>> +    # will be set via the generated uboot script.
>>>>> +    # The valid memory range is 0x40000000 to 0x80000000 as defined
>>>> before.
>>>>> +    # ImageBuillder sets the kernel and ramdisk range based on the file
>> size.
>>>>> +    # It will use the memory range between 0x45600000 to 0x47AED1E8,
>> so
>>>> set
>>>>> +    # memory range between 0x50000000 and 0x80000000 as static
>> heap.
>>>>
>>>> I think this is OK. One suggestion to make things more reliable would be
>>>> to change MEMORY_END to be 0x50000000 so that you can be sure that
>>>> ImageBuilder won't go over the limit. You could do it just for this
>>>> test, which would be safer, but to be honest you could limit MEMORY_END
>>>> to 0x50000000 for all tests in qemu-smoke-dom0less-arm64.sh because it
>>>> shouldn't really cause any problems.
>>>>
>>> [Jiamei Xie]
>>> Thanks for your comments. I am a little confused about " to change
>> MEMORY_END to be 0x50000000".
>>>  I set 0STATIC_HEAP="0x50000000 0x30000000" where is the start address.
>> Why change MEMORY_END
>>>  to be 0x50000000?
>> Let me answer to that question so that you do not need to wait another day
>> for Stefano.
>> ImageBuilder uses MEMORY_START and MEMORY_END from the cfg file as a
>> range in which it can instruct
>> u-boot where to place the images. It is safer to set MEMORY_END to
>> 0x50000000 rather than to 0xC0000000
>> because you will be sure that no image will be placed in a region that you
>> defined as static heap.
> 
> Got it, thanks!  Another question,  set MEMORY_END=0x50000000 for all test cases or just this test cases ? Currently I run the test case manually without xen gitlab ci enviroment . If set this for all test cases, all test cases should be tested.
You can set it globally as it will be helpful also for static-mem and other test cases should not be impacted.
Before pushing any commit related to CI, the maintainer shall check that it does not cause any issues
by running the pipeline on his account before committing a patch.

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:15:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:15:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505711.778620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2RT-0002mX-UD; Fri, 03 Mar 2023 10:15:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505711.778620; Fri, 03 Mar 2023 10: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 1pY2RT-0002mF-R6; Fri, 03 Mar 2023 10:15:11 +0000
Received: by outflank-mailman (input) for mailman id 505711;
 Fri, 03 Mar 2023 10:15: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=M2mb=63=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pY2RT-00022o-2s
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:15:11 +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 466aee2b-b9ac-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:15:09 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-584--lM7xaz9Md-CoiMDdufbdQ-1; Fri, 03 Mar 2023 05:15:05 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7C76B1C05B17;
 Fri,  3 Mar 2023 10:15:04 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.255])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 6054D492C3E;
 Fri,  3 Mar 2023 10:15: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: 466aee2b-b9ac-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677838508;
	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=ZpA69n947yXoh4gqIJjGzU3sLNRw3vGXKAhlnCotvoU=;
	b=IkIvPd+OSyZ5BafAA+vEWMT7583BLZTNJrAjAHFor1n3n2RIffXkSDWvraPsEOD6PdX/Xt
	HF7sOZjXtKzPnlzuEokaa4p7zCidg9LbxcEnWq4y6yAwbAtAQ4w3o9XqQ8wgRweanRDXaH
	L2uF99xAobMSZOzU23CilxrIm/2cUyI=
X-MC-Unique: -lM7xaz9Md-CoiMDdufbdQ-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>
Subject: [PATCH v3 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs
Date: Fri,  3 Mar 2023 11:14:49 +0100
Message-Id: <20230303101452.769367-4-thuth@redhat.com>
In-Reply-To: <20230303101452.769367-1-thuth@redhat.com>
References: <20230303101452.769367-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9

Hardly anybody still uses 32-bit x86 environments for running QEMU,
so let's stop wasting our scarce CI minutes with these jobs.

(There are still the 32-bit MinGW and TCI jobs around for having
some compile test coverage on 32-bit, and the dockerfile can stay
in case someone wants to reproduce a flaw locally)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/crossbuilds.yml | 20 --------------------
 1 file changed, 20 deletions(-)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index d3a31a2112..b96439146f 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -43,26 +43,6 @@ cross-arm64-user:
   variables:
     IMAGE: debian-arm64-cross
 
-cross-i386-system:
-  extends:
-    - .cross_system_build_job
-    - .cross_test_artifacts
-  needs:
-    job: i386-fedora-cross-container
-  variables:
-    IMAGE: fedora-i386-cross
-    MAKE_CHECK_ARGS: check-qtest
-
-cross-i386-user:
-  extends:
-    - .cross_user_build_job
-    - .cross_test_artifacts
-  needs:
-    job: i386-fedora-cross-container
-  variables:
-    IMAGE: fedora-i386-cross
-    MAKE_CHECK_ARGS: check
-
 cross-i386-tci:
   extends:
     - .cross_accel_build_job
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:15:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:15:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505712.778631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2RX-00038F-C7; Fri, 03 Mar 2023 10:15:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505712.778631; Fri, 03 Mar 2023 10:15:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2RX-000384-8J; Fri, 03 Mar 2023 10:15:15 +0000
Received: by outflank-mailman (input) for mailman id 505712;
 Fri, 03 Mar 2023 10:15: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=M2mb=63=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pY2RV-00022o-JX
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:15:13 +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 47e64523-b9ac-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:15:12 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-442-RqxCewsHMbWECtiyPGQ6TQ-1; Fri, 03 Mar 2023 05:15:07 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id DFA493811F35;
 Fri,  3 Mar 2023 10:15:06 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.255])
 by smtp.corp.redhat.com (Postfix) with ESMTP id BD5F7492C18;
 Fri,  3 Mar 2023 10:15: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: 47e64523-b9ac-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677838510;
	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=7dafleJ4wx0U8vXmX6zkQfmq0ZVEg8ZdEB/iM0cnlPA=;
	b=dS/D6E/3z/z1Cro3p6tYlEBTDURu3jgXwPcroL+BVzJmwHME334DXuhJYbIlz8eE0+RBY3
	m75g/Jy0QtK72M9f1dE2s4CmdMDqoGzbheiNKqBXuhqbWZJFUGoiCdHeR6au/bodRSN5bQ
	MYjHJq440r9us1U3h7Xh3azJZodMxeg=
X-MC-Unique: RqxCewsHMbWECtiyPGQ6TQ-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>
Subject: [PATCH v3 4/6] docs/about/deprecated: Deprecate 32-bit arm hosts for system emulation
Date: Fri,  3 Mar 2023 11:14:50 +0100
Message-Id: <20230303101452.769367-5-thuth@redhat.com>
In-Reply-To: <20230303101452.769367-1-thuth@redhat.com>
References: <20230303101452.769367-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9

For running QEMU in system emulation mode, the user needs a rather
strong host system, i.e. not only an embedded low-frequency controller.
All recent beefy arm host machines should support 64-bit now, it's
unlikely that anybody is still seriously using QEMU on a 32-bit arm
CPU, so we deprecate the 32-bit arm hosts here to finally save use
some time and precious CI minutes.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index a30aa8dfdf..e2e908f84d 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -219,6 +219,15 @@ discontinue it. Since all recent x86 hardware from the past >10 years
 is capable of the 64-bit x86 extensions, a corresponding 64-bit OS
 should be used instead.
 
+System emulation on 32-bit arm hosts (since 8.0)
+''''''''''''''''''''''''''''''''''''''''''''''''
+
+Since QEMU needs a strong host machine for running full system emulation, and
+all recent powerful arm hosts support 64-bit, the QEMU project deprecates the
+support for running any system emulation on 32-bit arm hosts in general. Use
+64-bit arm hosts for system emulation instead. (Note: "user" mode emulation
+continuous to be supported on 32-bit arm hosts, too)
+
 
 QEMU API (QAPI) events
 ----------------------
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:15:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:15:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505710.778606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2RS-0002LN-MR; Fri, 03 Mar 2023 10:15:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505710.778606; Fri, 03 Mar 2023 10:15:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2RS-0002KH-IB; Fri, 03 Mar 2023 10:15:10 +0000
Received: by outflank-mailman (input) for mailman id 505710;
 Fri, 03 Mar 2023 10: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=M2mb=63=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pY2RR-00022o-0L
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:15:09 +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 45069f22-b9ac-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:15:07 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-423-EPilcqYCMHO2VLnDNQ6Uqg-1; Fri, 03 Mar 2023 05:15:02 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1ED471C0514F;
 Fri,  3 Mar 2023 10:15:02 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.255])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 00B8F492C14;
 Fri,  3 Mar 2023 10:14: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: 45069f22-b9ac-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677838506;
	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=0kdnVnntb5nWcTW1rbFJ9Pn9nJlADeM6A9b2Bf+w7AQ=;
	b=T/pXL5271rIIKm35N8A/z1bF2FoQ2+tA18jn0rYbwqk59x/Fi37dD7waW/6khas3y3Yb87
	R0qrrjRbZlkOOVUiPwfCNqT7ts7m2FNN6GXn74DAD+Uq3PzL6ixuFg08NAwjCmyeJo/W+D
	8YUkMJKrBNsaQmyFe8X22jN1MFyPKgo=
X-MC-Unique: EPilcqYCMHO2VLnDNQ6Uqg-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>
Subject: [PATCH v3 2/6] docs/about/deprecated: Deprecate the qemu-system-i386 binary
Date: Fri,  3 Mar 2023 11:14:48 +0100
Message-Id: <20230303101452.769367-3-thuth@redhat.com>
In-Reply-To: <20230303101452.769367-1-thuth@redhat.com>
References: <20230303101452.769367-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9

Aside from not supporting KVM on 32-bit hosts, the qemu-system-x86_64
binary is a proper superset of the qemu-system-i386 binary. With the
32-bit host support being deprecated, it is now also possible to
deprecate the qemu-system-i386 binary.

With regards to 32-bit KVM support in the x86 Linux kernel,
the developers confirmed that they do not need a recent
qemu-system-i386 binary here:

 https://lore.kernel.org/kvm/Y%2ffkTs5ajFy0hP1U@google.com/

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index f0c1e6b545..a30aa8dfdf 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -34,6 +34,18 @@ deprecating the build option and no longer defend it in CI. The
 ``--enable-gcov`` build option remains for analysis test case
 coverage.
 
+``qemu-system-i386`` binary (since 8.0)
+'''''''''''''''''''''''''''''''''''''''
+
+The ``qemu-system-i386`` binary was mainly useful for running with KVM
+on 32-bit x86 hosts, but most Linux distributions already removed their
+support for 32-bit x86 kernels, so hardly anybody still needs this. The
+``qemu-system-x86_64`` binary is a proper superset and can be used to
+run 32-bit guests by selecting a 32-bit CPU model, including KVM support
+on x86_64 hosts. Thus users are recommended to reconfigure their systems
+to use the ``qemu-system-x86_64`` binary instead.
+
+
 System emulator command line arguments
 --------------------------------------
 
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:15:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:15:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505708.778590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2RQ-000231-77; Fri, 03 Mar 2023 10:15:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505708.778590; Fri, 03 Mar 2023 10:15: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 1pY2RQ-00022u-4F; Fri, 03 Mar 2023 10:15:08 +0000
Received: by outflank-mailman (input) for mailman id 505708;
 Fri, 03 Mar 2023 10:15: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=M2mb=63=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pY2RO-00022o-PL
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:15:06 +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 42630902-b9ac-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:15: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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-61-AerQz7NuMbiiz8u1ijZjjQ-1; Fri, 03 Mar 2023 05:14:57 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E93A5802C18;
 Fri,  3 Mar 2023 10:14:56 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.255])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 84169492C14;
 Fri,  3 Mar 2023 10:14: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: 42630902-b9ac-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677838501;
	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=TpIlf9psPSTZKBaw+RSYYsCEkerCEPwHUsx9lr/nHA8=;
	b=hCV7oNSmLc+VC7Qfysn6/EWrFpHsO+HFe6AayZ+T8fp9fqghhFcJFjTpfhf3X5wpSbjsQY
	0uy+vXeUOZBcu1MycPa+saLGW8ncHbv2XNR+N2XH6UKU9VfDwUodc9DVc4DV5ZgersBzIh
	LM7Pucqn6x++ll/zo2o6yXLp3T7AQSA=
X-MC-Unique: AerQz7NuMbiiz8u1ijZjjQ-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>
Subject: [PATCH v3 0/6] Deprecate support for 32-bit x86 and arm hosts
Date: Fri,  3 Mar 2023 11:14:46 +0100
Message-Id: <20230303101452.769367-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9

We're struggling quite badly with our CI minutes on the shared
gitlab runners, so we urgently need to think of ways to cut down
our supported build and target environments. qemu-system-i386 and
qemu-system-arm are not really required anymore, since nobody uses
KVM on the corresponding systems for production anymore, and the
-x86_64 and -arch64 variants are a proper superset of those binaries.
So it's time to deprecate them and the corresponding 32-bit host
environments now (32-bit arm for system emulation, and 32-bit x86
completely).

This is a follow-up patch series from the previous discussion here:

 https://lore.kernel.org/qemu-devel/20230130114428.1297295-1-thuth@redhat.com/

where people still mentioned that there is still interest in certain
support for 32-bit host hardware. But as far as I could see, there is
no real need for 32-bit x86 host support and for system emulation on
32-bit arm hosts anymore, so it should be fine if we drop these host
environments soon (these are also the two architectures that contribute
the most to the long test times in our CI, so we would benefit a lot by
dropping those).

v3:
- Update some commit descriptions according to the suggestions in v2
- Added the Reviewed-bys from v2

v2:
- Split binary and host deprecation into separate patches
- Added patches to immediately drop the jobs from the CI

Thomas Huth (6):
  docs/about/deprecated: Deprecate 32-bit x86 hosts
  docs/about/deprecated: Deprecate the qemu-system-i386 binary
  gitlab-ci.d/crossbuilds: Drop the i386 jobs
  docs/about/deprecated: Deprecate 32-bit arm hosts for system emulation
  docs/about/deprecated: Deprecate the qemu-system-arm binary
  gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs

 docs/about/deprecated.rst    | 43 ++++++++++++++++++++++++++++++++++++
 .gitlab-ci.d/crossbuilds.yml | 34 ----------------------------
 2 files changed, 43 insertions(+), 34 deletions(-)

-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:15:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:15:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505709.778601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2RS-0002I2-Eq; Fri, 03 Mar 2023 10:15:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505709.778601; Fri, 03 Mar 2023 10:15:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2RS-0002Hv-Az; Fri, 03 Mar 2023 10:15:10 +0000
Received: by outflank-mailman (input) for mailman id 505709;
 Fri, 03 Mar 2023 10:15: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=M2mb=63=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pY2RQ-00022o-90
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:15:08 +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 445af429-b9ac-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:15:06 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-224-mpFHp4drOdGIlxtLMzSiMw-1; Fri, 03 Mar 2023 05:15:00 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id AEE061871D9C;
 Fri,  3 Mar 2023 10:14:59 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.255])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 3771B492C14;
 Fri,  3 Mar 2023 10:14: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: 445af429-b9ac-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677838504;
	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=DHZuso5/0DhJfAOxX6dvaVSE+Y2aY/gn2NzRTirrpYs=;
	b=aUPZ+iFpxZkoFjH3/2yT+raBlIRVoAcq8WsHxYuC1h7klhcKPDezW5Sw2HiZoZ5jc2EBQq
	keU0y91RKIZQB/LUm7F5yIbTGi+wBVW3h+Y+t9jjMOpsdtOjaQkzmdUxn5XYBl8I3Gjt4T
	ZoUSdBgytq2U6Dae/2iocnAuDi2jT2g=
X-MC-Unique: mpFHp4drOdGIlxtLMzSiMw-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>
Subject: [PATCH v3 1/6] docs/about/deprecated: Deprecate 32-bit x86 hosts
Date: Fri,  3 Mar 2023 11:14:47 +0100
Message-Id: <20230303101452.769367-2-thuth@redhat.com>
In-Reply-To: <20230303101452.769367-1-thuth@redhat.com>
References: <20230303101452.769367-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9

Hardly anybody still uses 32-bit x86 hosts today, so we should start
deprecating them to stop wasting our time and CI minutes here.
For example, there are also still some unresolved problems with these:
When emulating 64-bit binaries in user mode, TCG does not honor atomicity
for 64-bit accesses, which is "perhaps worse than not working at all"
(quoting Richard). Let's simply make it clear that people should use
64-bit x86 hosts nowadays and we do not intend to fix/maintain the old
32-bit stuff.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 15084f7bea..f0c1e6b545 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -196,6 +196,18 @@ CI coverage support may bitrot away before the deprecation process
 completes. The little endian variants of MIPS (both 32 and 64 bit) are
 still a supported host architecture.
 
+32-bit x86 hosts (since 8.0)
+''''''''''''''''''''''''''''
+
+Support for 32-bit x86 host deployments is increasingly uncommon in
+mainstream OS distributions given the widespread availability of 64-bit
+x86 hardware. The QEMU project no longer considers 32-bit x86 support
+to be an effective use of its limited resources, and thus intends to
+discontinue it. Since all recent x86 hardware from the past >10 years
+is capable of the 64-bit x86 extensions, a corresponding 64-bit OS
+should be used instead.
+
+
 QEMU API (QAPI) events
 ----------------------
 
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:15:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:15:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505713.778640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2Rb-0003Vf-J6; Fri, 03 Mar 2023 10:15:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505713.778640; Fri, 03 Mar 2023 10:15: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 1pY2Rb-0003VU-Fi; Fri, 03 Mar 2023 10:15:19 +0000
Received: by outflank-mailman (input) for mailman id 505713;
 Fri, 03 Mar 2023 10:15: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=M2mb=63=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pY2Ra-00022o-8W
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:15:18 +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 4aba6be2-b9ac-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:15:16 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-509-bZLmghJgM0iRuMfk4t6oHQ-1; Fri, 03 Mar 2023 05:15:12 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B90173C0F361;
 Fri,  3 Mar 2023 10:15:11 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.255])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 90C90492C14;
 Fri,  3 Mar 2023 10:15: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: 4aba6be2-b9ac-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677838515;
	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=TA8n6cCaxiG/TrAIzxGyTy420i7qS2ZnxNV585T25Zs=;
	b=emO62jFeMgcQTtujjTQRrd8cIpVX1BgmKnv+eryjqgIiuPxH8Tazd9iLDwEbdaSx9CdD3c
	pJ3QSfPDqlTFKx5G/5dPTB3z4ilncXEGLZ2E3eeLJ+wTlz0mX1CxttsGHO3Y5dyrz9rPoP
	3dEdY/RwmoUbkLp43hyakwJ3T515+Ok=
X-MC-Unique: bZLmghJgM0iRuMfk4t6oHQ-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>
Subject: [PATCH v3 6/6] gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs
Date: Fri,  3 Mar 2023 11:14:52 +0100
Message-Id: <20230303101452.769367-7-thuth@redhat.com>
In-Reply-To: <20230303101452.769367-1-thuth@redhat.com>
References: <20230303101452.769367-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9

Hardly anybody still uses 32-bit arm environments for running QEMU,
so let's stop wasting our scarce CI minutes with these jobs.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/crossbuilds.yml | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index b96439146f..d1feca9f9f 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -1,13 +1,6 @@
 include:
   - local: '/.gitlab-ci.d/crossbuild-template.yml'
 
-cross-armel-system:
-  extends: .cross_system_build_job
-  needs:
-    job: armel-debian-cross-container
-  variables:
-    IMAGE: debian-armel-cross
-
 cross-armel-user:
   extends: .cross_user_build_job
   needs:
@@ -15,13 +8,6 @@ cross-armel-user:
   variables:
     IMAGE: debian-armel-cross
 
-cross-armhf-system:
-  extends: .cross_system_build_job
-  needs:
-    job: armhf-debian-cross-container
-  variables:
-    IMAGE: debian-armhf-cross
-
 cross-armhf-user:
   extends: .cross_user_build_job
   needs:
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:16:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:16:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505737.778650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2Sb-0005G6-Vb; Fri, 03 Mar 2023 10:16:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505737.778650; Fri, 03 Mar 2023 10:16: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 1pY2Sb-0005Fz-Sw; Fri, 03 Mar 2023 10:16:21 +0000
Received: by outflank-mailman (input) for mailman id 505737;
 Fri, 03 Mar 2023 10:16: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=M2mb=63=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pY2Sa-0005FT-Mf
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:16:20 +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 706b5243-b9ac-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 11:16:19 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-287-busq1su_NymslZNVzzrKCw-1; Fri, 03 Mar 2023 05:15:09 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4FA5A1C05EA9;
 Fri,  3 Mar 2023 10:15:09 +0000 (UTC)
Received: from thuth.com (unknown [10.39.192.255])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 2B304492C18;
 Fri,  3 Mar 2023 10:15: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: 706b5243-b9ac-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677838578;
	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=VsyNx8S0oHx7gbsAqA7uqjFZbAUv+nmUJaK3qsCgNpc=;
	b=THlE+7Zy0ayCWVhXDv71YOmX0nWDZ3jrPdtESPWq+Mq3zhBp4X+MrBD+R0t8rEAwR0svta
	AiRdTj4a/JQIZnWgqkXxQkTAuLqD46e6MvbwLt2iH55CAipgHdVfbt7qBpy+p1YBgvZTzd
	LJm1Sc9F9Cxum5sSn0x313xI+bOMblM=
X-MC-Unique: busq1su_NymslZNVzzrKCw-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>
Subject: [PATCH v3 5/6] docs/about/deprecated: Deprecate the qemu-system-arm binary
Date: Fri,  3 Mar 2023 11:14:51 +0100
Message-Id: <20230303101452.769367-6-thuth@redhat.com>
In-Reply-To: <20230303101452.769367-1-thuth@redhat.com>
References: <20230303101452.769367-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9

qemu-system-aarch64 is a proper superset of qemu-system-arm,
and the latter was mainly still required for 32-bit KVM support.
But this 32-bit KVM arm support has been dropped in the Linux
kernel a couple of years ago already, so we don't really need
qemu-system-arm anymore, thus deprecated it now.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index e2e908f84d..1b7b3da309 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, including KVM support
 on x86_64 hosts. Thus users are recommended to reconfigure their systems
 to use the ``qemu-system-x86_64`` binary instead.
 
+``qemu-system-arm`` binary (since 8.0)
+''''''''''''''''''''''''''''''''''''''
+
+``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``. The
+latter was mainly a requirement for running KVM on 32-bit arm hosts, but
+this 32-bit KVM support has been removed three years ago already (see:
+https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=541ad0150ca4
+). Thus the QEMU project will drop the ``qemu-system-arm`` binary in a
+future release. Use ``qemu-system-aarch64`` instead.
+
 
 System emulator command line arguments
 --------------------------------------
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:22:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:22:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505747.778661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2Y3-0007Ag-IV; Fri, 03 Mar 2023 10:21:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505747.778661; Fri, 03 Mar 2023 10: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 1pY2Y3-0007AZ-FA; Fri, 03 Mar 2023 10:21:59 +0000
Received: by outflank-mailman (input) for mailman id 505747;
 Fri, 03 Mar 2023 10:21: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=adzj=63=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pY2Y2-0007AT-Gd
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:21:58 +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 38eb94c7-b9ad-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:21:56 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 m25-20020a7bcb99000000b003e7842b75f2so936796wmi.3
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 02:21:55 -0800 (PST)
Received: from [192.168.59.175] (180.red-88-28-30.dynamicip.rima-tde.net.
 [88.28.30.180]) by smtp.gmail.com with ESMTPSA id
 v38-20020a05600c4da600b003eb68bb61c8sm1678065wmp.3.2023.03.03.02.21.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Mar 2023 02: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: 38eb94c7-b9ad-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677838915;
        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=mzlTP7R7zKCP7RJ8UiVzNpPB9G68mLprKPS65LltYYQ=;
        b=ngRXPhil7bj3ycpjZ2nfojxKpA1sozPlWMzoi6tz5m+9ydiiaE9GrSxvNVUUgb22uU
         PSrwz6wkEnyslNL8Bn/sp4HB6BbfQN9DbGBqk4wljP5Y6aN5uuHixDU93FiGsAsKVxoW
         vlaVAltrwSf8bUTl5MbjF01UqOit1HYpD3DiuIAq5nPkcwEZ8eXP4CSk+7s7SycANOCq
         wD8BQ3KrQmP3R7ypZ3j/cr8zCEmC4HeLpWPKL/ftjh4vOMHbIlOhmj7Hm5H4yQDdyBHl
         pOaKVylMGdrEmDIVLvkshVsT0aQVjEmLim6y79vWd+UnSrgf5LZiED14limOAuU/S/q6
         cFEQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677838915;
        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=mzlTP7R7zKCP7RJ8UiVzNpPB9G68mLprKPS65LltYYQ=;
        b=6Bhgqgh5Yp1lPw9/qO2U10j6PDr8fGy53JoTGCFyrTFJCmcfflw/NaN2LHsAFFJBBp
         rbo+usgsteNeBrnoNn3FAd0V3QXZEDGJB3dQFt5wzot1faQIOyIYnvGGbIEjhExRFROl
         1ZZy1psSrLB0HH4E0pxBOKv1hI5WJnxw1YO+te5clxgyi6drXpAuc+CGrl16frupxUBx
         D7iLu9Z5BrFImjF5NpqrNC5MgHu8H5c2zLewACYFPrKsXamo4O6nLgnh81i1VWB6CWBS
         PG/Q30TJTAXMHmp2LkfHU15Z3w9Qm4eedKFQvxpXcbSC7gd7nKXBenMkaQNYseiKl+as
         EStQ==
X-Gm-Message-State: AO0yUKVcKkTmgY7XbZwTxODJR0qtBw9nicNWPkTXFsDUaYd8I60FKiGV
	k7nZJm6H4daaOZh+YXWJ9KA50Q==
X-Google-Smtp-Source: AK7set/y4nBoHbF+MCdO2IUmaX6TdF9cDnDQW+P6n0jDIjBG5I8GF1PCA2fXKcwrdTiiqAq5Gr/d1w==
X-Received: by 2002:a05:600c:548b:b0:3eb:39e7:3607 with SMTP id iv11-20020a05600c548b00b003eb39e73607mr1254174wmb.4.1677838915005;
        Fri, 03 Mar 2023 02:21:55 -0800 (PST)
Message-ID: <0ffef565-0332-43c3-2786-9fb0a8c356bf@linaro.org>
Date: Fri, 3 Mar 2023 11:21:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v3 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs
Content-Language: en-US
To: Thomas Huth <thuth@redhat.com>, qemu-devel@nongnu.org,
 Peter Maydell <peter.maydell@linaro.org>,
 Daniel Berrange <berrange@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Laurent Vivier <laurent@vivier.eu>
Cc: Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>,
 Wilfred Mallawa <wilfred.mallawa@wdc.com>
References: <20230303101452.769367-1-thuth@redhat.com>
 <20230303101452.769367-4-thuth@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230303101452.769367-4-thuth@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 3/3/23 11:14, Thomas Huth wrote:
> Hardly anybody still uses 32-bit x86 environments for running QEMU,
> so let's stop wasting our scarce CI minutes with these jobs.
> 
> (There are still the 32-bit MinGW and TCI jobs around for having
> some compile test coverage on 32-bit, and the dockerfile can stay
> in case someone wants to reproduce a flaw locally)
> 
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   .gitlab-ci.d/crossbuilds.yml | 20 --------------------
>   1 file changed, 20 deletions(-)
> 
> diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
> index d3a31a2112..b96439146f 100644
> --- a/.gitlab-ci.d/crossbuilds.yml
> +++ b/.gitlab-ci.d/crossbuilds.yml
> @@ -43,26 +43,6 @@ cross-arm64-user:
>     variables:
>       IMAGE: debian-arm64-cross
>   
> -cross-i386-system:
> -  extends:
> -    - .cross_system_build_job
> -    - .cross_test_artifacts
> -  needs:
> -    job: i386-fedora-cross-container
> -  variables:
> -    IMAGE: fedora-i386-cross
> -    MAKE_CHECK_ARGS: check-qtest
> -
> -cross-i386-user:
> -  extends:
> -    - .cross_user_build_job
> -    - .cross_test_artifacts
> -  needs:
> -    job: i386-fedora-cross-container
> -  variables:
> -    IMAGE: fedora-i386-cross
> -    MAKE_CHECK_ARGS: check

The cross-i386-user job might require an Ack from Laurent,
so cc'ing him.


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:23:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:23:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505752.778671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2ZA-0007hE-SD; Fri, 03 Mar 2023 10:23:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505752.778671; Fri, 03 Mar 2023 10: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 1pY2ZA-0007h7-PP; Fri, 03 Mar 2023 10:23:08 +0000
Received: by outflank-mailman (input) for mailman id 505752;
 Fri, 03 Mar 2023 10: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=0Pyx=63=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pY2Z9-0007gz-Cq
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:23:07 +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 6313b931-b9ad-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 11:23:06 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id g3so1744257wri.6
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 02:23: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: 6313b931-b9ad-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677838985;
        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=Z7yhbG7+TlcjBYIO1gAsPu0yEEKwY1GhKuxfl4tFw48=;
        b=XxNTmWsFegn6qn94QMP2X8m6sXIrD8fwDA0euxX0blEvbEN/otRhqSzJRzRkwOxTAi
         w86zCMie9Ne1Qxz5nVBg/38PaBaM6SEok3cBqK0tMu2YbGeek/vpXSd6sFeBE8S7O0BX
         /BhUcJaaKHiWllXrzikZWQO9lTW/kgvYTAGux2Q2L24BBsot5hPV94zdl8xQI0QpU3CS
         gGQQnVB6cyW5Iv0a5xvdTIfJ0u5Zmdq1XNCdn865jJYQbXVKJ70HQ+vXTwPnZ4LEEA4H
         eLLHFE94jnGSxwLQ/BwLHmYy/wqGPB6N7LKION3wwbY4Sl/pH6D1xC0uBY9BGclaYKiG
         l8ZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677838985;
        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=Z7yhbG7+TlcjBYIO1gAsPu0yEEKwY1GhKuxfl4tFw48=;
        b=Pdbu+EfaMZ4sAXVsuczzkVrjjD/iNH+sbIjYzA6FLdIsMOFA43xib9NRqwz8x5eb2c
         k9e4ebHKVRM9qDkWNn16jRH2BXsaGCxSxeyNoZPWGZqS7KGBh8c6KBkVuYNBnko1cl3E
         VdCkKETDg4ft0M+OzkZ3k87PVYa9oqTOl9wicvJWd1wmtlN8dQueiuOxm/vEMy5GeRFa
         +sg3MVSH+h/Zb7BYYFPoBTK6ORiz+q44lm/T234+z7gBwWjxm1qEJ7anNtz7bBgrimKK
         3uTuqnr0jXnbHkdY0d4sgb6yB6hm08d+Mv/CnttdsSum+R3+8qo6JcPf9+ee03+bC9bs
         LQew==
X-Gm-Message-State: AO0yUKU2p9ijcKkLRycWqID1wtsuYdIU0PXo1GK86VB0irg2byBp2AvC
	m9CNj5e0aHVazs5eu7y2ZavrzU8CigCJ7Zmhh9fsmw==
X-Google-Smtp-Source: AK7set/MXdSUiVFsejNrlyhnOoFwGD2znRmo2VK20BuxOmirIKYsjVNRdSagOGoOhEr7dRsUOax3bSr/4CY336LeXQU=
X-Received: by 2002:adf:e3c3:0:b0:2c7:478:d1d7 with SMTP id
 k3-20020adfe3c3000000b002c70478d1d7mr326758wrm.3.1677838985610; Fri, 03 Mar
 2023 02:23:05 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <be5a37c0ec23bf8119f5cb68ec58d8cca16d9812.1677079672.git.jens.wiklander@linaro.org>
 <BE16E58C-FBDF-4815-A6C1-CB0D3C573816@arm.com> <CAHUa44HmBsH2tCk=N=sovVVbgs9v5kLkOfJNzLfqXifZ=8iZtw@mail.gmail.com>
 <7A0F0605-7A22-4DE1-AF0A-FE7921F4935C@arm.com>
In-Reply-To: <7A0F0605-7A22-4DE1-AF0A-FE7921F4935C@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 3 Mar 2023 11:22:54 +0100
Message-ID: <CAHUa44F+DzgS0URp+mSn=ws8UVvj4evXahg5DXRR_MZJJewU6Q@mail.gmail.com>
Subject: Re: [XEN PATCH v7 13/20] xen/arm: ffa: support mapping guest RX/TX buffers
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Fri, Mar 3, 2023 at 9:16=E2=80=AFAM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 3 Mar 2023, at 08:41, Jens Wiklander <jens.wiklander@linaro.org> wro=
te:
> >
> > Hi Bertrand,
> >
> > On Thu, Mar 2, 2023 at 4:05=E2=80=AFPM Bertrand Marquis
> > <Bertrand.Marquis@arm.com> wrote:
> >>
> >> Hi Jens,
> >>
> >>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> =
wrote:
> >>>
> >>> Adds support in the mediator to map and unmap the RX and TX buffers
> >>> provided by the guest using the two FF-A functions FFA_RXTX_MAP and
> >>> FFA_RXTX_UNMAP.
> >>>
> >>> These buffer are later used to to transmit data that cannot be passed=
 in
> >>> registers only.
> >>>
> >>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> >>> ---
> >>> xen/arch/arm/tee/ffa.c | 127 ++++++++++++++++++++++++++++++++++++++++=
+
> >>> 1 file changed, 127 insertions(+)
> >>>
> >>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> >>> index f1b014b6c7f4..953b6dfd5eca 100644
> >>> --- a/xen/arch/arm/tee/ffa.c
> >>> +++ b/xen/arch/arm/tee/ffa.c
> >>> @@ -149,10 +149,17 @@ struct ffa_partition_info_1_1 {
> >>> };
> >>>
> >>> struct ffa_ctx {
> >>> +    void *rx;
> >>> +    const void *tx;
> >>> +    struct page_info *rx_pg;
> >>> +    struct page_info *tx_pg;
> >>> +    unsigned int page_count;
> >>>    uint32_t guest_vers;
> >>> +    bool tx_is_mine;
> >>>    bool interrupted;
> >>> };
> >>>
> >>> +
> >> Newline probably added by mistake.
> >
> > Yes, I'll remove it.
> >
> >>
> >>> /* Negotiated FF-A version to use with the SPMC */
> >>> static uint32_t ffa_version __ro_after_init;
> >>>
> >>> @@ -337,6 +344,11 @@ static void set_regs(struct cpu_user_regs *regs,=
 register_t v0, register_t v1,
> >>>        set_user_reg(regs, 7, v7);
> >>> }
> >>>
> >>> +static void set_regs_error(struct cpu_user_regs *regs, uint32_t erro=
r_code)
> >>> +{
> >>> +    set_regs(regs, FFA_ERROR, 0, error_code, 0, 0, 0, 0, 0);
> >>> +}
> >>> +
> >>> static void set_regs_success(struct cpu_user_regs *regs, uint32_t w2,
> >>>                             uint32_t w3)
> >>> {
> >>> @@ -358,6 +370,99 @@ static void handle_version(struct cpu_user_regs =
*regs)
> >>>    set_regs(regs, vers, 0, 0, 0, 0, 0, 0, 0);
> >>> }
> >>>
> >>> +static uint32_t handle_rxtx_map(uint32_t fid, register_t tx_addr,
> >>> +                                register_t rx_addr, uint32_t page_co=
unt)
> >>> +{
> >>> +    uint32_t ret =3D FFA_RET_INVALID_PARAMETERS;
> >>> +    struct domain *d =3D current->domain;
> >>> +    struct ffa_ctx *ctx =3D d->arch.tee;
> >>> +    struct page_info *tx_pg;
> >>> +    struct page_info *rx_pg;
> >>> +    p2m_type_t t;
> >>> +    void *rx;
> >>> +    void *tx;
> >>> +
> >>> +    if ( !smccc_is_conv_64(fid) )
> >>> +    {
> >>> +        tx_addr &=3D UINT32_MAX;
> >>> +        rx_addr &=3D UINT32_MAX;
> >>> +    }
> >>
> >> I am bit wondering here what we should do:
> >> - we could just say that 32bit version of the call is not allowed for =
non 32bit guests
> >> - we could check that the highest bits are 0 for 64bit guests and retu=
rn an error if not
> >> - we can just mask hopping that if there was a mistake the address aft=
er the mask
> >> does not exist in the guest space
> >>
> >> At the end nothing in the spec is preventing a 64bit guest to use the =
32bit so it might
> >> be a good idea to return an error if the highest 32bit are not 0 here =
?
> >
> > The SMC Calling Convention says:
> > When an SMC32/HVC32 call is made from AArch64:
> > - A Function Identifier is passed in register W0.
> > - Arguments are passed in registers W1-W7.
> >
> > So masking off the higher bits is all that should be done.
>
> Please put a comment saying that in 32 bit convention higher bits should =
be ignored.

OK.

Thanks,
Jens

>
> >
> >>
> >>> +
> >>> +    /* For now to keep things simple, only deal with a single page *=
/
> >>> +    if ( page_count !=3D 1 )
> >>> +        return FFA_RET_NOT_SUPPORTED;
> >>
> >> Please add a TODO here and a print as this is a limitation we will pro=
bably have to
> >> work on soon.
> >
> > I'll add an arbitrary upper limit and a print if it's exceeded.
>
> thanks
>
> >
> >>
> >>
> >>> +
> >>> +    /* Already mapped */
> >>> +    if ( ctx->rx )
> >>> +        return FFA_RET_DENIED;
> >>> +
> >>> +    tx_pg =3D get_page_from_gfn(d, gfn_x(gaddr_to_gfn(tx_addr)), &t,=
 P2M_ALLOC);
> >>> +    if ( !tx_pg )
> >>> +        return FFA_RET_INVALID_PARAMETERS;
> >>> +    /* Only normal RAM for now */
> >>> +    if ( !p2m_is_ram(t) )
> >>> +        goto err_put_tx_pg;
> >>> +
> >>> +    rx_pg =3D get_page_from_gfn(d, gfn_x(gaddr_to_gfn(rx_addr)), &t,=
 P2M_ALLOC);
> >>> +    if ( !tx_pg )
> >>> +        goto err_put_tx_pg;
> >>> +    /* Only normal RAM for now */
> >>> +    if ( !p2m_is_ram(t) )
> >>> +        goto err_put_rx_pg;
> >>> +
> >>> +    tx =3D __map_domain_page_global(tx_pg);
> >>> +    if ( !tx )
> >>> +        goto err_put_rx_pg;
> >>> +
> >>> +    rx =3D __map_domain_page_global(rx_pg);
> >>> +    if ( !rx )
> >>> +        goto err_unmap_tx;
> >>> +
> >>> +    ctx->rx =3D rx;
> >>> +    ctx->tx =3D tx;
> >>> +    ctx->rx_pg =3D rx_pg;
> >>> +    ctx->tx_pg =3D tx_pg;
> >>> +    ctx->page_count =3D 1;
> >>
> >> please use page_count here instead of 1 so that this is not forgotten =
once
> >> we add support for more pages.
> >
> > OK
>
> Cheers
> Bertrand
>
> >
> > Cheers,
> > Jens
> >
> >>
> >>
> >> Cheers
> >> Bertrand
> >>
> >>> +    ctx->tx_is_mine =3D true;
> >>> +    return FFA_RET_OK;
> >>> +
> >>> +err_unmap_tx:
> >>> +    unmap_domain_page_global(tx);
> >>> +err_put_rx_pg:
> >>> +    put_page(rx_pg);
> >>> +err_put_tx_pg:
> >>> +    put_page(tx_pg);
> >>> +
> >>> +    return ret;
> >>> +}
> >>> +
> >>> +static void rxtx_unmap(struct ffa_ctx *ctx)
> >>> +{
> >>> +    unmap_domain_page_global(ctx->rx);
> >>> +    unmap_domain_page_global(ctx->tx);
> >>> +    put_page(ctx->rx_pg);
> >>> +    put_page(ctx->tx_pg);
> >>> +    ctx->rx =3D NULL;
> >>> +    ctx->tx =3D NULL;
> >>> +    ctx->rx_pg =3D NULL;
> >>> +    ctx->tx_pg =3D NULL;
> >>> +    ctx->page_count =3D 0;
> >>> +    ctx->tx_is_mine =3D false;
> >>> +}
> >>> +
> >>> +static uint32_t handle_rxtx_unmap(void)
> >>> +{
> >>> +    struct domain *d =3D current->domain;
> >>> +    struct ffa_ctx *ctx =3D d->arch.tee;
> >>> +
> >>> +    if ( !ctx->rx )
> >>> +        return FFA_RET_INVALID_PARAMETERS;
> >>> +
> >>> +    rxtx_unmap(ctx);
> >>> +
> >>> +    return FFA_RET_OK;
> >>> +}
> >>> +
> >>> static void handle_msg_send_direct_req(struct cpu_user_regs *regs, ui=
nt32_t fid)
> >>> {
> >>>    struct arm_smccc_1_2_regs arg =3D { .a0 =3D fid, };
> >>> @@ -423,6 +528,7 @@ static bool ffa_handle_call(struct cpu_user_regs =
*regs)
> >>>    uint32_t fid =3D get_user_reg(regs, 0);
> >>>    struct domain *d =3D current->domain;
> >>>    struct ffa_ctx *ctx =3D d->arch.tee;
> >>> +    int e;
> >>>
> >>>    if ( !ctx )
> >>>        return false;
> >>> @@ -435,6 +541,24 @@ static bool ffa_handle_call(struct cpu_user_regs=
 *regs)
> >>>    case FFA_ID_GET:
> >>>        set_regs_success(regs, get_vm_id(d), 0);
> >>>        return true;
> >>> +    case FFA_RXTX_MAP_32:
> >>> +#ifdef CONFIG_ARM_64
> >>> +    case FFA_RXTX_MAP_64:
> >>> +#endif
> >>> +        e =3D handle_rxtx_map(fid, get_user_reg(regs, 1), get_user_r=
eg(regs, 2),
> >>> +                            get_user_reg(regs, 3));
> >>> +        if ( e )
> >>> +            set_regs_error(regs, e);
> >>> +        else
> >>> +            set_regs_success(regs, 0, 0);
> >>> +        return true;
> >>> +    case FFA_RXTX_UNMAP:
> >>> +        e =3D handle_rxtx_unmap();
> >>> +        if ( e )
> >>> +            set_regs_error(regs, e);
> >>> +        else
> >>> +            set_regs_success(regs, 0, 0);
> >>> +        return true;
> >>>    case FFA_MSG_SEND_DIRECT_REQ_32:
> >>> #ifdef CONFIG_ARM_64
> >>>    case FFA_MSG_SEND_DIRECT_REQ_64:
> >>> @@ -515,6 +639,9 @@ static int ffa_relinquish_resources(struct domain=
 *d)
> >>>                   get_vm_id(d), subscr_vm_destroyed[n], res);
> >>>    }
> >>>
> >>> +    if ( ctx->rx )
> >>> +        rxtx_unmap(ctx);
> >>> +
> >>>    XFREE(d->arch.tee);
> >>>
> >>>    return 0;
> >>> --
> >>> 2.34.1
>
>


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:24:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:24:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505760.778681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2aV-0008Jx-AY; Fri, 03 Mar 2023 10:24:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505760.778681; Fri, 03 Mar 2023 10: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 1pY2aV-0008Jq-7L; Fri, 03 Mar 2023 10:24:31 +0000
Received: by outflank-mailman (input) for mailman id 505760;
 Fri, 03 Mar 2023 10:24: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=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY2aT-0008Jc-Ut
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:24:29 +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 94a16a1d-b9ad-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 11:24:29 +0100 (CET)
Received: by mail-lj1-x22a.google.com with SMTP id y14so1829303ljq.4
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 02:24:29 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 j22-20020a2e3c16000000b00295a36fedadsm239600lja.26.2023.03.03.02.24.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 02:24: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: 94a16a1d-b9ad-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677839068;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=owPv0a54uHGorwHjZDHmJke//fXpPjY+3gRWJ6cI89Y=;
        b=VkIs84X3XwY7zjjf56Z+jxNtOOKoBdMTAi1oSMMEXLIBffoODqODTCEhwMCplNPsYO
         BW48qp5VJ2awgAq8gQ3oxHtCfXvGxF8hdsVTcZc2qmsvGCQZ+7UVsfONpElGWL3GjoKn
         T0peMySbv7KwTx+W7vjAUlLF5pnKaWmZBoVf7YdNK/wKG0v7zGlKSbQW98aG9xvjg/ky
         4gaoKIdVN/+7htBr8LlyUQ6o9Gyktu4ivuYVcs3xLWRdR4QWlVXN3hyxulCujFljFQyS
         t74JY2WL0BunWM8mKTydl6ETtvpWKBmHS8hiezhFKHbowMNCCmEenSDE5DtdEsL+4rcB
         9ozA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677839068;
        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=owPv0a54uHGorwHjZDHmJke//fXpPjY+3gRWJ6cI89Y=;
        b=jr5m/gM0J4E2OgtYZ3ChwlNwYvtMK+vsP+wzF+qOeaDYdInmNYFbkMCBy7nysvAnpA
         t4/vkEA19xqegU7NTBHM8UGgbJ+e6pgoa9J9/7Cun5m05B+Pn8kSeALiOQTvbHEuQTIX
         s1oa04LqycbicswFpIChZ3TeQBbkodNuy7vXFzu3H1ivVYzjb/8QqSl+pePgE1OmVGhA
         762jCZKOEc/g6cvuDHIJSkJ2YW/jxzOaj3gVl/EoaTXqRwBj7YDIdDN+Yv101Qdkrz6g
         XyprMhQt33zLwqaluOylOdo6UJxmHwYDgw52xAs4dIFQMSXYKAIAjUGG7UY+WKmrqq9k
         ALdw==
X-Gm-Message-State: AO0yUKXl7ZLbLNTlTvnlZ6RmYofwI7sAb5POsE5RFCkodSDt8FZhVP5j
	ae64Hem5woyjXLrcyj1yMFdUQMz8EoE=
X-Google-Smtp-Source: AK7set9wgYAOoYBnL6LpOSc4cKBF8wBpNNBhSmToPXkqy+6hz8iIGKR+tjvr7Wvm48FmaIYRAJ0jPA==
X-Received: by 2002:a05:651c:1204:b0:28f:265d:11da with SMTP id i4-20020a05651c120400b0028f265d11damr324233lja.13.1677839068449;
        Fri, 03 Mar 2023 02:24:28 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v3 0/3]  Do basic initialization things
Date: Fri,  3 Mar 2023 12:24:21 +0200
Message-Id: <cover.1677838213.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch series groups and updates the following patches:
1. xen/riscv: disable fpu
2. xen/riscv: initialize .bss section
3. xen/riscv: read/save hart_id and dtb_base passed by bootloader

---
Changes since v2:
 * Patch [xen/riscv: disable fpu] was moved to the start of start()
   function  to detect illegal usage of floating point
   earlier.
 * Add dummy_bss variable to make .bss initialization code more simple.
 * Change comparison of addresses from signed to unsigned.
 * Add the comment for start() function with the explanation what and
   how OpenSBI pass to start() function.
 * Clean up start() code related to read&save hart_id & dtb_base.   
---
Changes since v1:
 * initialization of .bss was moved to head.S
 * read/save/pass of hart_id and  dtb_base passed by a bootloader
   were moved to head.S. Also, it was updated start_xen() arguments
   to recieve hard_id & dtb_base
---

Oleksii Kurochko (3):
  xen/riscv: disable fpu
  xen/riscv: read/save hart_id and dtb_base passed by bootloader
  xen/riscv: initialize .bss section

 xen/arch/riscv/riscv64/head.S | 21 +++++++++++++++++++++
 xen/arch/riscv/setup.c        | 11 ++++++++++-
 2 files changed, 31 insertions(+), 1 deletion(-)

-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:24:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:24:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505761.778691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2aW-00008v-HY; Fri, 03 Mar 2023 10:24:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505761.778691; Fri, 03 Mar 2023 10:24: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 1pY2aW-00008k-ES; Fri, 03 Mar 2023 10:24:32 +0000
Received: by outflank-mailman (input) for mailman id 505761;
 Fri, 03 Mar 2023 10:24: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=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY2aU-0008Jc-Sb
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:24:30 +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 956307ef-b9ad-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 11:24:30 +0100 (CET)
Received: by mail-lj1-x230.google.com with SMTP id x6so1842866ljq.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 02:24:30 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 j22-20020a2e3c16000000b00295a36fedadsm239600lja.26.2023.03.03.02.24.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 02:24: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: 956307ef-b9ad-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677839070;
        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=8hWSEJWaX2x45VFZiclMK6V02iZ6pYreDLKtpiIaFEE=;
        b=DJtBoNyFaPY6Y8DyhtlVv5Wexjw/KD5WP54xvy0rew+0Oxi6sVywT5imDVMCpnloRX
         zoowAylmc66Gb98GPvMCD6Z2Qxe/8XHxjg0EPWm018AEAZUiTlWyZ1eM3yA7f4TFearY
         NN+xDvuwLp4wZ16va9WQL8US2kURVt0Ma+k0ngP/GhnXJB4Ic9n6yQGX15+VtpDgWahP
         IU9sR3X0UdWLPGvmnW4aHao3jZuMgZL8j6MrBwiRv6rE92Bq5/kqb0mgXj/Cui6UGXV5
         Alunl4NBfJoKypEcR/iTmBWutJgveWV7Lzq9Lfhr+lcgzUSGPKClscrLkx8tIRR5GAqD
         /aGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677839070;
        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=8hWSEJWaX2x45VFZiclMK6V02iZ6pYreDLKtpiIaFEE=;
        b=XWHcNWxVth0sigScG0SbyiyVWfzkbanD1jDDwnyCKRgrUQmElUm0iCnRzYYuQvNUGH
         oCTD4PKGwXd0wO5tO07FQS01FVLiVbiwX80UufwrpaA2xa9P1cxsbp2CeKQnBDXm9yR2
         ofalv+nhvSvEXkjXtbGs5zo0btYnBrAzCzEeUOz/j/U6YLkF5wV8ciqBLU6dTv+Bszij
         2M37qBvo2vrde+HnTGRpWya6eEpJ6QmG6w0iS7aW5nnYIeYZT8Hgbx4XPQLquOTC24I/
         6vEBhEAVGrgQJy1QoJ0NUkIjYB6AJzA6a5KAyJffmGc4d0eSb1hkBNOaN3z8wC39QxWY
         dnsw==
X-Gm-Message-State: AO0yUKX198+ku05Fz79FxfvsY+SWVlNUGMtvObWBnmmQ2+/tqQYeY4z6
	KdN4ovqWMIcNoiSStWgan/Nl6IXecXM=
X-Google-Smtp-Source: AK7set+fSh/GHl42poB+55Nk4PbUJa0DzugZ3Cmcz6LJpvrxYddqCr8zJzQZJ8SFWUCOW9Qp+TgwCw==
X-Received: by 2002:a05:651c:2110:b0:293:38e0:cac8 with SMTP id a16-20020a05651c211000b0029338e0cac8mr588442ljq.16.1677839069820;
        Fri, 03 Mar 2023 02:24:29 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v3 1/3] xen/riscv: disable fpu
Date: Fri,  3 Mar 2023 12:24:22 +0200
Message-Id: <1fe0c827b9e5c2fef569e25ad7ca377111228d29.1677838213.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677838213.git.oleksii.kurochko@gmail.com>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Disable FPU to detect illegal usage of floating point in kernel
space.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/riscv64/head.S | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index ffd95f9f89..52fa41c778 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -6,6 +6,13 @@ ENTRY(start)
         /* Mask all interrupts */
         csrw    CSR_SIE, zero
 
+        /*
+         * Disable FPU to detect illegal usage of
+         * floating point in kernel space
+         */
+        li      t0, SSTATUS_FS
+        csrc    CSR_SSTATUS, t0
+
         la      sp, cpu0_boot_stack
         li      t0, STACK_SIZE
         add     sp, sp, t0
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:24:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:24:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505762.778701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2aX-0000QF-RS; Fri, 03 Mar 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 505762.778701; Fri, 03 Mar 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 1pY2aX-0000Py-Nb; Fri, 03 Mar 2023 10:24:33 +0000
Received: by outflank-mailman (input) for mailman id 505762;
 Fri, 03 Mar 2023 10:24: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=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY2aX-0000IE-8F
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:24:33 +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 95de3337-b9ad-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:24:31 +0100 (CET)
Received: by mail-lj1-x229.google.com with SMTP id b13so1815322ljf.6
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 02:24:31 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 j22-20020a2e3c16000000b00295a36fedadsm239600lja.26.2023.03.03.02.24.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 02:24: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: 95de3337-b9ad-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677839071;
        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=RUJgy0TiNB7fw4SRdJCyFwL3kkJhzok7rx37wlxII5E=;
        b=Z0EUPm7wBqkCsAtpRLL7Ekpyyg5vrju7Ivbas+9/sWfmVC013VgMlzo8nJjvMS/yqR
         iMSooWRajFkmvyFXKWe92/uFKKbmwxF/xg05MqX+yB2eMI8lNhP1IRBGtGFq+UJl/m4k
         QXSD07rFttuj12x1ATEEfHk5GWfthcDFzVhHUaWupqWybhiGMWb8+IX5yicYHgFUXCwg
         fVlRNSa0XpRpym+0wgrKHk2/kUIyVxqjcVv4hJTcHBhs5oEJ0Pl35Y1/6rYaj8iiKqNw
         3W6w8LQqvycR8AqXqjz1G5oUgQULtq1zUi40xKZjFT7XEBaeQzuyKckQsHxFvcKeb0pV
         1LPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677839071;
        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=RUJgy0TiNB7fw4SRdJCyFwL3kkJhzok7rx37wlxII5E=;
        b=t3No4xwzCHxnY4tshCxfLEoY+Xp9eBXlg9s9r9xy5tyWFRiUzzuYUrT71Z7xP1JIXH
         UjT+i7tp8T+hZqjvWo8Va+xX2akkwrq5qg1zE26S+TKHjTqsvlPj5LYTpdzP9+gID3fu
         50Yaa29xJCNn74rjrOIdJ2NAsMLeuqIpWmasYV870LG5TiqFiqc1IOaAeXIMitxFCZ/o
         7l7kTlCBhh1cPQYcN+dc5FqKF2NwU+7j4l08KU0pcqMTF5A6vyw/VWw4+s4s0cx8Mhu9
         TIATmpQOBatobeWoy4OEQpioI3+BAmKFikVHPsBBMNQHqHl5t5MJ50AMxO3oGYCnOwZm
         pKVQ==
X-Gm-Message-State: AO0yUKWD0um18NJVcWv81Yb0L7OnU8QOgqTZazHyAxllODi9g+XCbmdW
	QZF28BQwE/VN5pWBd78l8GT0HwUuGIU=
X-Google-Smtp-Source: AK7set88QvL0fF8KY169jbRRQKhif+7BiovH1rOpcaAUUcyL3qvrh8FQ1y+VfhVr6ao3aZkAkQsdNw==
X-Received: by 2002:a2e:b051:0:b0:295:9d9c:24aa with SMTP id d17-20020a2eb051000000b002959d9c24aamr452589ljl.11.1677839070926;
        Fri, 03 Mar 2023 02:24:30 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v3 2/3] xen/riscv: read/save hart_id and dtb_base passed by bootloader
Date: Fri,  3 Mar 2023 12:24:23 +0200
Message-Id: <43aaa58fac47029b7d11f1d80d310786d7a078a6.1677838213.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677838213.git.oleksii.kurochko@gmail.com>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes since v2:
 * Add the comment for start() function with the explanation what and
   how OpenSBI pass to start() function.
 * Clean up start() code related to read&save hart_id & dtb_base.  
---
Changes since v1:
 * read/save/pass of hart_id and  dtb_base passed by a bootloader
   were moved to head.S. 
 * Update start_xen() to recieve hard_id & dtb_base
---
 xen/arch/riscv/riscv64/head.S | 5 +++++
 xen/arch/riscv/setup.c        | 3 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index 52fa41c778..adf5d6c74a 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -2,6 +2,11 @@
 
         .section .text.header, "ax", %progbits
 
+        /*
+         * OpenSBI pass to start():
+         *   a0 -> hart_id ( bootcpu_id )
+         *   a1 -> dtb_base 
+         */
 ENTRY(start)
         /* Mask all interrupts */
         csrw    CSR_SIE, zero
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 1c87899e8e..d9723fe1c0 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -7,7 +7,8 @@
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
     __aligned(STACK_SIZE);
 
-void __init noreturn start_xen(void)
+void __init noreturn start_xen(unsigned long bootcpu_id,
+                               unsigned long dtb_base)
 {
     early_printk("Hello from C env\n");
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:24:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:24:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505763.778711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2aZ-0000h5-3b; Fri, 03 Mar 2023 10:24:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505763.778711; Fri, 03 Mar 2023 10:24:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2aZ-0000gl-02; Fri, 03 Mar 2023 10:24:35 +0000
Received: by outflank-mailman (input) for mailman id 505763;
 Fri, 03 Mar 2023 10:24: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=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY2aY-0000IE-4A
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:24:34 +0000
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [2a00:1450:4864:20::22e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 969a1106-b9ad-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:24:32 +0100 (CET)
Received: by mail-lj1-x22e.google.com with SMTP id h9so1835599ljq.2
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 02:24:32 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 j22-20020a2e3c16000000b00295a36fedadsm239600lja.26.2023.03.03.02.24.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 02:24: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: 969a1106-b9ad-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677839072;
        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=UQMX7LcJmPbPR7mQNYR7UFrgssX/7qk0j9FHn0813I0=;
        b=EGZSPfb1qxBJ8gSajlUU26oC52NZvWutZSTIuKkylFl5aDMVqaxG2V7xo8amflWTNh
         grUC6q9Qd9QzTLGPewN4l8tWRkGnjgi3gi7Al44XLxrIcBHpeQ6hAyuGYI9DXG+awqSn
         Ea0lyaH18gC+PHbLqEY6IywAnE5pqetDU5sWbRdlxFYh5ke4HUsbDA8aweBzbwLIGVLB
         Ix3iyNGyu6lGxL8yJC0w/gig7vwVByLonKuFUyZ1pZFiRnWCSEwO+eN3lWxHoIBIlccW
         Hsp6RTnJBJXugZZsonrX0cpF9Ki5zsnzqbUzud34r9qvSzMYjpbA6AID0GDm0fjB1wVf
         V2wA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677839072;
        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=UQMX7LcJmPbPR7mQNYR7UFrgssX/7qk0j9FHn0813I0=;
        b=LkG4y2ds3xsDiXnxlJaqlFlFHMKflnS3xSquVKu68BOBlt4Uwxi+4O5ybKxhfJHiOA
         sNSUUnhH4zdSkzz9RNLLRrqWmqTVao0W5YHVSGZnfXn5JJAUYDpddR2ymQl0ZiT/s9wB
         3vc6bh9uaHM3XeosssU4hsCJIfooO2rNs754vYi5q672kLrijNQMKPNWWpqUziSW92hQ
         B3u6I2sFOEnnghCmLw9WOnC9L3ZhqDaRIGpLOp8ja36Z6P+Hct9FSOzIiX9Ddn8LzKD7
         d5yJCvSA/pX9QyX3VK194X1rheF6Ijc4WLNI2vdWeuGWJO8QIEp1JIDIrCJPiS2/sfVc
         ZzzQ==
X-Gm-Message-State: AO0yUKW4C4UOUqOkSfDi8lgFIOtf9KkOmNCD1b+T+5eWzGXSKziBZ5R+
	NBBTv8tvIjGB3Bn9ubXIvkGN1MbSV5E=
X-Google-Smtp-Source: AK7set+q2kWlmMtFb/0gUj+GDQ7jyqmb93rbVx/KMuCSDOgzUyYIe7riMnOTcJ6H9ZQtPDODt9rKMg==
X-Received: by 2002:a05:651c:221f:b0:293:4e43:c276 with SMTP id y31-20020a05651c221f00b002934e43c276mr541225ljq.22.1677839072032;
        Fri, 03 Mar 2023 02:24:32 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v3 3/3] xen/riscv: initialize .bss section
Date: Fri,  3 Mar 2023 12:24:24 +0200
Message-Id: <16fb328e06f6b99d967fa7d186a4c0aaa986050e.1677838213.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677838213.git.oleksii.kurochko@gmail.com>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/riscv64/head.S | 9 +++++++++
 xen/arch/riscv/setup.c        | 8 ++++++++
 2 files changed, 17 insertions(+)

diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index adf5d6c74a..8887f0cbd4 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -1,3 +1,4 @@
+#include <asm/asm.h>
 #include <asm/riscv_encoding.h>
 
         .section .text.header, "ax", %progbits
@@ -18,6 +19,14 @@ ENTRY(start)
         li      t0, SSTATUS_FS
         csrc    CSR_SSTATUS, t0
 
+        /* Clear the BSS */
+        la      t3, __bss_start
+        la      t4, __bss_end
+.L_clear_bss:
+        REG_S   zero, (t3)
+        add     t3, t3, __SIZEOF_POINTER__
+        bltu    t3, t4, .L_clear_bss
+
         la      sp, cpu0_boot_stack
         li      t0, STACK_SIZE
         add     sp, sp, t0
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index d9723fe1c0..929565720b 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -7,6 +7,14 @@
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
     __aligned(STACK_SIZE);
 
+/*  
+ * To be sure that .bss isn't zero. It will simplify code of
+ * .bss initialization.
+ * TODO:
+ *   To be deleted when the first real .bss user appears
+ */
+int dummy_bss __attribute__((unused));
+
 void __init noreturn start_xen(unsigned long bootcpu_id,
                                unsigned long dtb_base)
 {
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:26:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:26:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505786.778721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2cB-000289-HZ; Fri, 03 Mar 2023 10:26:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505786.778721; Fri, 03 Mar 2023 10:26: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 1pY2cB-000282-EP; Fri, 03 Mar 2023 10:26:15 +0000
Received: by outflank-mailman (input) for mailman id 505786;
 Fri, 03 Mar 2023 10:26: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=SP4M=63=citrix.com=prvs=419214df4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pY2cA-00027g-11
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:26:14 +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 d0c3881a-b9ad-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 11:26:12 +0100 (CET)
Received: from mail-bn8nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Mar 2023 05:25:57 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH7PR03MB7134.namprd03.prod.outlook.com (2603:10b6:510:2b4::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 10:25:54 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.021; Fri, 3 Mar 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: d0c3881a-b9ad-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677839171;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=ayDh3uzwYAGY3pmvf0S6Yp1vruCWAa9bK9hHn6NUV/w=;
  b=hXlnLMRO1ohWn2BV5xmOAAbjoCq034zg01w+tXGJO8+54AZUN0zzJMki
   uzoF1FEBgqsSUoaZvGHSONbtJTIjrFy2WbyjdmEGNdJtD9dPBDtXYqcOu
   BNNfTqwOHmpf2DrwzNVUrL20katMAwHFNdlV5HbTt4EmHYrlxydgsBZ/J
   4=;
X-IronPort-RemoteIP: 104.47.55.174
X-IronPort-MID: 98135562
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:zZ2qEKARMq3IDhVW/53iw5YqxClBgxIJ4kV8jS/XYbTApGl33mEGy
 mccD2HVOq6OZzP8L9onPNi1pBwA7JXWztAyQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhA5QRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw88FoPUNC2
 eckBR9dPhmi39+m6b2EY7w57igjBJGD0II3nFhFlGucJ9B2BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI+OxuvDS7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prr6fxHimBdxIfFG+3qV12E+s6jIXMxMpZVCgvdu+l1avV/sKf
 iT4/QJr98De7neDSd3wXAa5oTiHowQbUNpTFMU17QiMzuzf5APxLngJSHtNZcIrsOcyRCc2z
 RmZktXxHzttvbaJD3WH+d+8rzm/JCwUJm8qfjIfQE0O5NyLiJookhvFQ9JnEai0pt74Azf9x
 3aNtidWr7oShMgPyq6y1UrGnTW3p57CCAUy423/VGWv5BJ0f46haomh73DU6P9BKMCSSVzpl
 HEAmtOC5eEUS5+XnSqGQf4lA72iof2CNVX0illpGZ4j+z2z+mWLcoVZ4TU4L0BsWvvoYhfsa
 U7X/AlXtJlaOSLwabctOt3tTcM30aLnCNLpEOjOacZDaYRwcwnB+zxyYUmX3Cbml01EfbwDB
 Kp3uP2EVR4yYZmLBhLsF4/xDZdDKvgC+F7u
IronPort-HdrOrdr: A9a23:xIkW8quCmFxZ7WaM6ctIhQ137skDeNV00zEX/kB9WHVpm62j+/
 xG+c5x6faaslkssR0b9+xoWpPhfZqsz/9ICOAqVN/JMTUO01HYT72Kg7GSpgHIKmnT8fNcyL
 clU4UWMqyVMbGit7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.98,230,1673931600"; 
   d="scan'208";a="98135562"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F0XizvL6yPeyzYd4rT2fgNHVgyHbqMVDdYqfb7IlUNHewwe5HURNdaIXSgRXsBAumvbdAX43m2jvDi6LFJhHE+cV/hFFm4Yvhbbm3MExjrt1E8LexdTZxKaGoirXFP8q37CXIjeiEwjD2GAHK+I1w1d4nmSnnx2o4FePkKyCQfrBnYenUsQaI0E7TvvsQ4/YsGpe/MfPtSezHc04k5UOtuVjG327Nb1laHbRj2TcPvBTc3VmNYiyzVGbTzHOMP/34wLJ1kJZTrUw/YF0mq+sva7525LjSw4CfhamIk0iCvX6q+4gZ+j3SaZO697vW+eSd6VsF3gxgpDIdEDHnUvD7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ayDh3uzwYAGY3pmvf0S6Yp1vruCWAa9bK9hHn6NUV/w=;
 b=hOFqrkG+T5bXyhHvk5Cp+pUsNQJB4UDHUYh6VMIyttG8wfj34fSvLh7XEuAXuD4bxO74ycgw15kpACz5FBIAo+QcOm+O67aSnb52MUbLxCYf7ShfJ+nK9CpV1YuJwC7lmoCrPnRTFYrQt7Ri3duRNUSLI05oXOnq7Hj4jF4n9ewbCujGnORPhx7/NG/oJvzpPeGoN4nhv3CI6cz3rdXsoEqIjwtlJIR/z4imTkTHrPMx8chzMLwF7EL3EoVQB0EjEQ21XXLlNLEIWCaBS+Q+lCpjgiHQtDOyiD0kzzo6l2RHT0NzhWhyzuqPyyqG6XTEfEmWD26qzZ/dYk3RxIKXog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ayDh3uzwYAGY3pmvf0S6Yp1vruCWAa9bK9hHn6NUV/w=;
 b=cDHr9+0cqu645vzKEf1Phhg0wQk6eRD1wtGyZRiAkaIdiovGXTZrByklIXLOKSzo+gknVEitTTNAyKUlgX3O8yjrhLZjPe4Gd98h5OQ7m0MjdKfVGo9wpcMamuU9dcKSJRxaBOsDNT0m7z3Xzpuy97p2QTZr/DhDBIwUXT3dIaM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <91b5e121-44ab-0b22-af9c-f13968ff3979@citrix.com>
Date: Fri, 3 Mar 2023 10:25:47 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 1/3] xen/riscv: disable fpu
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
 <1fe0c827b9e5c2fef569e25ad7ca377111228d29.1677838213.git.oleksii.kurochko@gmail.com>
In-Reply-To: <1fe0c827b9e5c2fef569e25ad7ca377111228d29.1677838213.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0477.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a2::33) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH7PR03MB7134:EE_
X-MS-Office365-Filtering-Correlation-Id: e5d68d4d-3f3b-4340-eefa-08db1bd1aafe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gBXJQDhEwXlGEiq/vdFXORRMsIzJUtcVTbwqUot2ADo7MBRwdU6s5M5RQd13rhdAB2DGJ8eJxRrmej0nz4bMUj2CoTTQyB0M+oXziHqVgFQcMviDAKl9XhTWfeb7e+uaZ6YyFMRGWe+c+Vo5Lrf+LEkmeoOEFF5dIWu6Z6WXI3oE3gfq2sNVpXBSukBs5WDyOb1ONNtSV5iumcullUS6oT+uyQXCERgWR8eGHJZZH8+GsjOj6ScQ2YAq4eY74QlJPQ0lEXbiGB0pKvQK2z2lb80L0JoURPMIpTKnlM+rLU9rFDtRwh9m11lZtr88SeEiHZO+LqPuyYKFANGBlUcf6GSGKWjcLGu7d9IKa3aOv2JDOKra4BuQ090CwTNz8vaJEixAuEJApBxnpLqrimjBj/jgGuS9uCM7lYUTacfw55s3BDj+xYZrPz7QcneMFd1KDITn+f1hhBwhGzralix4p1vkq2gMAOwSVI8VR8A1baDdBBD/MUplF8dBcWpnkISdcWV1Psnt1E/HmOBaLZ2kuvDnkdKjhs9FVZnqlsXGUMVZdfHNDRJb7GqkJSibX1XHjoLpZQfbyIkLauLpMpALTFshYUemCtHkoLfMYpg9Rzr2SDsh10eUmXj1jusa2lQPulIVbusI+l1bughNVsCgMBs2wbMmMS2W11fMtICyWUU8bZ1CdtE4f3S3rt4a1q9n8M1UNyYzO4/G06W8eFJy0J1xJr7/4X3hxTN3avAg++Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(396003)(376002)(366004)(346002)(39860400002)(451199018)(8936002)(5660300002)(2906002)(31686004)(66946007)(8676002)(4326008)(66476007)(66556008)(41300700001)(82960400001)(38100700002)(186003)(26005)(54906003)(83380400001)(316002)(6506007)(6666004)(86362001)(31696002)(6512007)(478600001)(53546011)(2616005)(6486002)(36756003)(558084003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bHlCRlg5WmlGSk44UEtKS1g1a093b1BBSnhvcXh5ci9HckgrazYwRTJRVVVM?=
 =?utf-8?B?SzNqcEZMRHNIWnJwL2RYdWxBck5yanlQdlRCbDk5eTJYd1JWVitrZGZOVlhW?=
 =?utf-8?B?RFlmNHowc1l0cC9NWjRzMnUwdlVub1RPYnlrTEg5Tjd5SURwUjF5Q3Q4WEJZ?=
 =?utf-8?B?UU01bmg0TVBWV1E3dlZRcFg4REVlSTNsd1pneFo2TjZLRFBMMFdQVEZRV1Y3?=
 =?utf-8?B?TTRHVG9LRVJOWmtYYTNXL2dJMXJCQmFweEU2cDFvTkZOR3VVRXNSaiszc0h6?=
 =?utf-8?B?TzdaWFpBUFJTeERCekF0NGk5MGR1aWFzc0V2ZWxpcXJPemtzbGFBWGxlQnVF?=
 =?utf-8?B?Qmp5Z1dEcHdzOGl0aHNiZUtqd3MrRjduUmE1bzl6V3R1WGVET2xZS2ZEUm40?=
 =?utf-8?B?L3B4emV2VERtd01GTW1TdWlwSE80U3VueGpDUEJ5V1ZlZzdxQ0FkWmNpVXho?=
 =?utf-8?B?aitmT3RiWEF2VEZZR00wQ1l2dlRZYjlYWkdWdGdqMEZZTlBGWHNta3N3QjNs?=
 =?utf-8?B?RE4zdGszdjVmM0wySVYrRTFSditza0RaYkI4MytBaUdFYks5dFEwMFpHUytt?=
 =?utf-8?B?ODhLbFE3cVpPMDlsRXoyajZUYVZjcnVFbGx0VkJJblRycDB3b0E2SmIyUE01?=
 =?utf-8?B?NXUrejA2d3VjZTJhQTFmNDNldGxRU1JEb0liZVBJdE50ZjUxRUV2dkx1Mkpl?=
 =?utf-8?B?Ni9FL1Y2SUFiZWs3ajJoVzRnUGh5ZDNEYnhMS09YQ0psTlEvVHRIaVZoSmVK?=
 =?utf-8?B?VXVKTHBoN1FqeHE2K2ZDU1Y1K1gwQ3cxU1lsTVBlcWlKNHJ3cThoM2dxbnRQ?=
 =?utf-8?B?STNlWkNUUUVlRWtZbnZLbm82NkF1S0x4aVZpYk9hamsvV0M5MVZySldFaUFl?=
 =?utf-8?B?TXZYK2RmUXNSbXRSdVFQalE3WkEwUm5EMmV4UmdiV2pDRW9JZUVCRWg2WUpH?=
 =?utf-8?B?VzRKR1JXcGlscFA0R2liS3lDcVMyRHcwaUZYNTRLaWhmRkpuWHNBK2MyejNZ?=
 =?utf-8?B?dkU1WXdWVElmd3VJZGZuNXFJdytrOUtnMTRaQWlOQ3hCVk92ajZXTXZTcEM4?=
 =?utf-8?B?VDFGSlhtdmJwNUJNdHpOQTBablYvV2hDcGUyM215OW5NNmNBOUFBOGRlTmdF?=
 =?utf-8?B?MjRadzZ1WVV4djMxbFR3Ull0QlJBZHh0dnIwTkFiYjh3RFNRYVhUdldYSWh4?=
 =?utf-8?B?KzBhYWlaQ1Z3OGltdkxlR2VqdVFrcEFpUEtIUzZNUHRGVk1IN1pPd09pYTl6?=
 =?utf-8?B?eE8xK1NqOG9pK0lROG8vOXVFY2dLK1BtT3JaNGpiYTg5UnlrWGJQcldjKzJB?=
 =?utf-8?B?N0FGRzFETUx5NEN4MXZzYlYvZ2NKS2wvZ1pZZzNwendKOGxsK3VETk4wdFI1?=
 =?utf-8?B?WG0vWkFPQ0VpcHRzODVHZWhqRlVuc3R0UGVPUFgxU3Brb3FsSHE2NXZWR3dW?=
 =?utf-8?B?dkhpOGtDS1BSbTZ0S1VFTDA3V0FqR245am04VWtIOXJtOEpDRmRqR281TytX?=
 =?utf-8?B?Ky9MeDZiRmZuQWM2dnd0RTk2UkJ0RXp5eEdKOEVFRmxGWGdlVEtuN3ZWQ2dU?=
 =?utf-8?B?bklXeDdiZWdlMU9sRGh3VE9hR2hQZmdtQUgyYXJiWjcxZmtaK0NVcTdzVEZp?=
 =?utf-8?B?aERIZTZuZmdkaFUrTnVJTUlpWjc4UlM0d1BoOVpDS0duck5TRjFRWVRhT1NR?=
 =?utf-8?B?anVEOW83S05FcXZEY2h5bG9tVGFvWm9pQjh5YmE4YnhFakZBdDVlNjk0dE5l?=
 =?utf-8?B?V3VWS3VsTzZRYjJvUWk2TmJEMkxNVnFMOEZxYW82N05aaC9XR3pTL1hjdkxL?=
 =?utf-8?B?YU4zQ3RUdmlZSDNTUDc5eUZTY3RDYXV6U2NWUUlBOUM5NHFSWWFGNE9UTVRM?=
 =?utf-8?B?T2I5Tlo1MDdzY1JkTWlyT0JpRVJXaVQwNEFQc2NSQU5ZZDBBL2lSYzJISEE4?=
 =?utf-8?B?UHMveTdVN2VUR2hEVW96c3p1UGlZei9qU2E1ekVKMDlDcGRGVGRkSnpmaXM0?=
 =?utf-8?B?Zm9IN1VwOXAvTyttdGt6K1RTMmt6UkxUUCtFTmhnWFgyUkt0YWQ3OUQrWlB2?=
 =?utf-8?B?Ri9iZHRaWEZibjJLSEpHU05wd3M4RDNFYUVZa29UTjBFUHhJKzRWZlhuekhF?=
 =?utf-8?B?Z0NjQmhzcDIyTHhhM2VtbEYzTVFuVW4wMzJ4VzNVZi9pbjIrYU9oZ2kxTUdF?=
 =?utf-8?B?MkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	QLcL3hbzJ1XanPMSJl18AaXWkEOtfScfzUF+aQeswHrG0DDtCm9+gMfEXriZ2Bsl3Ms9s5BicwBiXcKlsu63VUKxPPKUOFKTj1GdBaEkX8UezaeUOAQolI0paencIp+8/8sZv/StT9oxxbZQmsSxLbxdHjAVfjvYtgyAmfajgxqHuDqhJHWR0Mq9cCfBPp5gSyKKwP8yxbYc8YepvATIuZsE3Wtu1kA/LLzgje4ydvAtuh1fNPCj3hmvJVrvuX1ZCJ/dMHcwbMs+ZUn7bjBlGKWEbbynbpb07epEonsAOHYnji1tQewpHxMDPcVGbmQWmCU/TL45Q6gCpwhn06mIViorx8bmkKqrwcC39WJnSt9ZohAnCsPL2uajiop+RQMneTQ/QCva5sDtKrdUrThulkj8Zq8WiKdIduoFJ4ZKo8J8g2ZJKbl6fK0GcYDQDhG8rqKMSKoM9MJ5doKDWQgmwCr28h74BiC4B7QJdxbQJ4UHMkucxP4ZgARl8rQIfWKfUeneyXUZdKvDstidV3oXHn9XKpXb2Bb3YFJ8BL4oxYGNwPJ0yR1KNXBOALkhwX0fnDuQuiaeLkToESVHMQ+NwT5I0V9pmykcrHj653zY0/+VzuDHK/Gw0LFc+4ceGvlGmCeRvPzrrrqE1l8q+XF0t2Gc7tIB0dJhpZh6Wp+LHc7pwhhsaPjg8FCjcO/c9odOJldxDG/JdXJcK0jV1oDabznMOq5fvmTKWwm4NIOs8Z63PwBR+2N8XCLQ6zIkWw6GmO/Tx4yzSb9mRu8AqXE/dZ6NTLlPxUhCT5VNCKKJL1kdq8QQY0gpi4MQIOj3H1GQmHivVopbTiEI8Q5QKbbBqwQbry1NykmkeAOMRm+p5onHb2gROhwQpBAgmD94QyCWGoroq1kQ5f+SfnpCS1UyZxutGJ/aggshX9nt2m+nn/I=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e5d68d4d-3f3b-4340-eefa-08db1bd1aafe
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 10:25:53.7911
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BdVwrlrn5z+s/Ipt8oDNVLlAJOBFmzIPxt2fGM0wlSPsAvloMaWNzlpvOCUM8jhoGkeBnIgIYCCwl+DcJI0hU+kDB6PqwGsSIbNJHSLQAQQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7134

On 03/03/2023 10:24 am, Oleksii Kurochko wrote:
> Disable FPU to detect illegal usage of floating point in kernel
> space.
>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:28:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:28:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505794.778731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2e3-0002oX-2s; Fri, 03 Mar 2023 10:28:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505794.778731; Fri, 03 Mar 2023 10:28: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 1pY2e3-0002oQ-05; Fri, 03 Mar 2023 10:28:11 +0000
Received: by outflank-mailman (input) for mailman id 505794;
 Fri, 03 Mar 2023 10:28: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=SP4M=63=citrix.com=prvs=419214df4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pY2e2-0002oK-97
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:28:10 +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 15353df5-b9ae-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:28:06 +0100 (CET)
Received: from mail-dm6nam12lp2170.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Mar 2023 05:28:03 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH7PR03MB7134.namprd03.prod.outlook.com (2603:10b6:510:2b4::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 10:28:01 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.021; Fri, 3 Mar 2023
 10: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: 15353df5-b9ae-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677839286;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=xHrs0f5lzHhHN51S8TZIoitU+QiuuhpNjRB4289tCrk=;
  b=eSQgIVRL5/3fAR1CcXvncWnWzcMbV5Tm6Xo5Y2nJVsf55LreqMzgvpgv
   t+ruI5EGt24fNZx9K2yG01qYLSvq+SMnG16Q5+I8h/cC+VRRargvxjMl2
   T83hEfa9W7fnT69uV3d3JZ4+j3BNOIqCjEu4vOIKN0YuqkHpEA4SVccAI
   A=;
X-IronPort-RemoteIP: 104.47.59.170
X-IronPort-MID: 99229395
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:d/Z/j6K6X8XqeYsoFE+RZJQlxSXFcZb7ZxGr2PjKsXjdYENS3zBUz
 TYaC2uDPamIZmL1c41yatvnoUJVvcWHmIdhGQVlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QRlPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c57WDF/2
 6IKNQwwRRubm8es75KwTMVV05FLwMnDZOvzu1lG5BSAV7MKZM6GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dmpTGMlGSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnzHKhAtNJReDQGvhCnWHMgUJMBRwvC0KlrfeS20uQXI54E
 hlBksYphe1onKCxdfH6WxC7u3+F+B0BQd1bE+49wA6Iw6vQpQ2eAwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxRuwMyUIKW4JZQcfUBAIpdLkpekblQnTR9xuFKq0iNzdGjzqx
 T2O6i8kiN07gs8C0aGm9lnvmTOyoYPISAVz7QLSNkqv6QlzdYO+Z4il7FHdxflFJYedCFKGu
 RAsksyf9/wHDIvLmjaERu4MB5m26/3DOzrZ6XZkGJ8n8Dah8mCiZqhf5Th/IAFiNcNsRNPyS
 ErauAcU6JoNOnKvNPVze9joVJxsyrX8H9P4UPySdsBJfpV6aA6A+mdpeFKU2Gfu1kMrlMnTJ
 KumTCplNl5CYYwP8dZ8b711PWMDrszm+V7ueA==
IronPort-HdrOrdr: A9a23:8ZGJ4quS7ZXmYzH0iBHaJv8d7skDeNV00zEX/kB9WHVpm62j+/
 xG+c5x6faaslkssR0b9+xoWpPhfZqsz/9ICOAqVN/JMTUO01HYT72Kg7GSpgHIKmnT8fNcyL
 clU4UWMqyVMbGit7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.98,230,1673931600"; 
   d="scan'208";a="99229395"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JExfhdo0ofhkOudpmk2IjaShmkCzk6Z1dkyRmdtwpuZJ/5Iiq6m7JbvwRSyNlGnERekH3I5t2a/3DRa1oVO7OBRHKfDLxokolnRpL36Ri69exSSDBLCxrRedktiomQfLFOOa+xkCdhoO0V0kIPieTMnkCZ4KBV/LuEfmqwvlkqrG1mFRiKRUlfqVNCrqJEl1n8NMm5B6fsYW4yj7FAPgxNJLcrQpz0FrLRFtHQ9vX1Ap+yENgvR/6tZaqy2tw0kEn7wpl7yPaw0zpIIvFCNHGFZfICw+1ikwIfUtTiO/zX5XqC8WdQhUXbcLXLy/68/pvwteeyegIQ2yaVtzhxbxPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5X/DTcnwBc7mQG7OWu00/8hBXmNujAiEQl+NyeQ/Tc4=;
 b=Ih3pc2Le+0odInTYMLlWtLZzLj9djXr4CzqNj2uAVIwKwg5Z21Wc47pS2qkGLjJlOdIpO4KIakGfZLjH91UZu5OthGetYSenKpO/aE3PDTNNZy9imOpyrG+La8wNTN09Zw6g/dw5lSqtHKAdlOTCVyrQgYVU+uRAtl3/Od46hV3Dx4rpTMXZETXWX0UPwNffhQqM9OWgCKNgC8MHKc3eWlo/+dYgvSRrQCIMIq49AAh2EaqlMqxDzwHWIARujbJot5gQ7wZihpYeVyn0svjI9KTznvoW3iQaJSHANkJEkVxDnqL2SGyrLB71OzIsl6b07wrTYP9JcclaUzrVgRWIvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5X/DTcnwBc7mQG7OWu00/8hBXmNujAiEQl+NyeQ/Tc4=;
 b=jaJ8SZkM84TCzs44K87XKNPkL+vE/9y4i+Lig5gscdC8l3iShsSsB2ORTnMTaNL2wkUdsIrkS8BoYJaBBpAFhrUkTVedwvPludtlUt6KSdUGHmf22DUPvHSrZVeEZ+jdgC5V6PTWwaqM5cVLktBrfPjaJ2xXjA66d1lpSP/yoGk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <8fd12d0f-cf2f-ee66-6b05-9a7d116ac422@citrix.com>
Date: Fri, 3 Mar 2023 10:27:55 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 2/3] xen/riscv: read/save hart_id and dtb_base passed
 by bootloader
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
 <43aaa58fac47029b7d11f1d80d310786d7a078a6.1677838213.git.oleksii.kurochko@gmail.com>
In-Reply-To: <43aaa58fac47029b7d11f1d80d310786d7a078a6.1677838213.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0404.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:f::32) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH7PR03MB7134:EE_
X-MS-Office365-Filtering-Correlation-Id: 695ebd07-6919-4208-90e5-08db1bd1f741
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LHFnfgQmjLzFViU+ASSE7YYSWXepAdRylrDlcHbxUsazYgdCoToHR5pCRiXy580pm8uKbD5mNcmwVfy0nkh7o8csQCoNDgfHZha0ujbiiGT9wSnafnZ6/foadvsDd9zJJB7dZUtVrCpIHQF0c5ztCZi01I/FB5BzgOhipKHbGoDDNnoSW4sRFxNvxmhdVLVGUkxVO3yGOKknATJ2UHyFATBF40BtS11JAKazW7bsViGQq2dcu4w+Q6cA1MVf2qDigCJH0vUsyWjOqt8SiEfYL5dQqbF4640waOB2vWwIIIZXEFhkpTdtRhjSU+MFDDDlIoREDcHrjTfjF1tzyDgCWaj0q9cfkv5qh1qZo5u+WcO2/X16waw0lohlrr3aTzLRwKnaEsRqdfXWgdNuteID99azfwPWkc4XOKk/8w/q7dN3j3h9fSa0fpBbhEiv2nYnknFnpNc9CsLYPpHgRrmpoTa37Ot6TkxBVs2WjBqA0GQHBFDdWYYMkfvCy1D35ZgOfXcc/JzkTFjDwYH23FUOS+NKVnQYOLxKv+0ALtp58Hxw6BRWsiGL0b9lEIH7QzPMLMLzb2lqdf8LL6sS7SMo+OAcgnJ6XyPBjJzlTTJ1m65L4S/pA3BQ0d3cBUfwRdG+DyURVzqncyp/AWEc9/p+EjHv9ab7Pzpp81i2FEdiZaxeOJ6uqMvNuashD/aNKYRDHnVmcvomBCs4/BgTFbcFgrnDClFx4Oxc6X0UYG944OQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(396003)(376002)(366004)(346002)(39860400002)(451199018)(8936002)(5660300002)(2906002)(31686004)(66946007)(8676002)(4326008)(66476007)(66556008)(41300700001)(82960400001)(38100700002)(4744005)(186003)(26005)(54906003)(316002)(6506007)(6666004)(86362001)(31696002)(6512007)(478600001)(53546011)(2616005)(6486002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z3RwbWlQUndzVG82UUZnRU5PQlgwT1FNUk9ESUZscisyU0lnSW56bUczK1dr?=
 =?utf-8?B?NzNYa1JWSUorUnJZSHAxZEtubzlNWVZxM05HYXRPMmlBbGtUVGR5VWk5YVBm?=
 =?utf-8?B?SXlaUy9zSE1MeDRrZW1WRFJacmNIenJzWTJ0N25sMWd2dm1uaG5pc1NQN01G?=
 =?utf-8?B?WFNhdUNiTktwMHIwMDdYKzVLRi9ZUU9tNFZsblZ2RGhxUlFRUklENTRnMGtt?=
 =?utf-8?B?QTFXelp3TUVPTjlqaDlvVjRhRGJTOU1SeEtGRThoSms4VlVqamZSbDFqVW41?=
 =?utf-8?B?WGJiTngwNTBxUVkxOTRZS2VzWEhxdiszSjFuNllsb2xoMVdGU0dLb0tIWVcv?=
 =?utf-8?B?aDdoL0MyRlBJYmxScVlDM3FBRzFiRk91eUZudHViakpRN1hSd01HOXJlWDBG?=
 =?utf-8?B?TStsSDcyMklJdGFKd2ltbjZhNGhHT3FEK2x1NlR5Z2piVGx6ODhhMTlVVGtj?=
 =?utf-8?B?bjEyWDF3c2ZkbmhSVnhkTGx6TVBETjNVYmNGVU03ZGlqaFo5UnU0WnkxblF4?=
 =?utf-8?B?SDhnR2prYTladXY2dDlUNGVLZmRrcVl0T25TdDdjSHp1WGJ6VDI5RDJycFMv?=
 =?utf-8?B?WTdSWm8ycnV4M29UVVo0RmFGRUlYdmRQSHlQbDQyVWJIS0tYQk80aEc2OEJp?=
 =?utf-8?B?elNOK0hGbEZKdTBsTmt2SCtVenE0cWNNUkRQd2o3YWF0R2VUc0E1K1E2bFVt?=
 =?utf-8?B?YmZwN3hZdjA0Nlo5MU1sRDRXOXJyMTVmQStTVjZZY292c1BNNERsVU00UEtV?=
 =?utf-8?B?dHo4Rlc5cURiUnArR25NVDkyb21wY3pHeWQyNXZjK2tINEVxR1pNRjV3STBI?=
 =?utf-8?B?eXB6S2diaUFxYWVMbWF5d2lpSE42Wk9BRWZTbzFlZmZJc29rQ0YxbUF1YnBG?=
 =?utf-8?B?Q2Z4Zy94VGNMeExQSFNncXE5YlNTdVJFcS8rWUZUTGlpNEpSWmlLelZsbFU5?=
 =?utf-8?B?VlJOWXQyS1BQUzNZUHNaQjZDT1RabjNEZWN1bTlUd243VHNFTzNUZ0dsRXpD?=
 =?utf-8?B?UDhsWlV3VGEwUHJRdER1WUNwYUdZbmdWZUpmbURZWHNrL1ZYR1JrbmZmRURk?=
 =?utf-8?B?NHNVWitlSkt6NHlYRXJiQlZGaXUrcGg0S2xZdGNJbUNManFPeWRMRjU2MzNC?=
 =?utf-8?B?NUVla0NSMHJoV3ZPdVVROFhHOStSSm9hSjVTNWZhMExyVmZFK2N2elFFblR0?=
 =?utf-8?B?R1krUUdaYzJmMWNBWm1hRzlTUEx6Tjl4YjJOajNJUjlGdnhyTnNVRXRYdU1C?=
 =?utf-8?B?bGtjNE5DeEdIdlVQTUxsU2dFYStjcHFDcUNoMkpnQlhQenR4QVZtRGpKNFRa?=
 =?utf-8?B?d0VFSk5vZUpCV0g2VUZOckM4Q0JvNUpKVi9vdDdoQm5jN3RrSHpnc3ZzNXBr?=
 =?utf-8?B?dkVPVWozaCthcEJXWTVGWlk5Z204bTRXa3FXa1Q3RGh0MTczdzJxbis5UTF5?=
 =?utf-8?B?U1d5eXpkeXk0bGFwZ0lMRTUzV2lVcWpRNjhBZTJ3TEhaVmI5Y2p0QmlMVjIx?=
 =?utf-8?B?YnAwaWVBdlFxYVNXTUVwZHRpOTFxa05lY0U0NVNQbVJJRHJQQmxrSEgyeVps?=
 =?utf-8?B?UGlmYUZlb2xiREwwVG9aMWhXeHBDcDVYQ0h6aTBxR2puRHVtdkRjWGpUREVs?=
 =?utf-8?B?OVFaVkMrZ0xuWnBXSXlaNDloRE5NQUZNdkpkTnFPQWR3Z1VlRDFHTTV2Rity?=
 =?utf-8?B?VmFkRHZSUzdvWEpGdDM4cnpSVC95V2RKNFNZRXYzbk0zZVlwd3VnN3FBQmhS?=
 =?utf-8?B?LytHMGxGZ0hpMDd3ajI5dXYvY2l2eWlsWC90bThQSzVqWEFhWXdwcUxvYVVG?=
 =?utf-8?B?VkErMDVlRkZ2YlloVk1ad1FEckNMWkpsYXlxR0ZoUG9TV0lycnZHR29Ma0NX?=
 =?utf-8?B?NFhuK1h1QmpmTVE3R05PamZQRDFYRkhGbGxwTzlGak5EUFg5UStERk1NU25t?=
 =?utf-8?B?YWhSeC8xSDE0ZkNSQmlkUDl0ZUFOUno5aHFuZi9nVkp5ZDRralNaWHQ5Qkox?=
 =?utf-8?B?dGtZSmIra3REVDhhRG9MWGI3cGVjMEIvT09TZTgvOVFIeU9FWTlsUmVyNERX?=
 =?utf-8?B?YkU4NG5UMkZYKzdxelhXTUdyejdvdUpESlRKcUkySkVDd3N0SWZsOWttNFJ6?=
 =?utf-8?B?QkI0UHZoS2ZIR21KZFdSTm4rc010QkQvMDRhTDFOODEwYlBUQXpFQmk2QUd4?=
 =?utf-8?B?VWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	w+SW2nF4tbEEQsrQaZHZL3JMdKn1olPv0xTkL9AeUI9BCiysm9kKjB8aQIj7kIA8/NmtnFaJtRfyOwQiG6hBLcc7YdWdguKy6W2GmyS0BoFEyJlh5fwo9KR2bRZOmC4v74q9wBuTzhKOV7DpNyIb404VTh4R6iMESam8SXseZwHST2KoETdLg6B302mKAklOhjBHNTSc7dbiQjBmWRW/MQZYR6bWSPbZE/oqhg0fDdgGGBpa0Ty1WMyQ6pJmrhdHi5vEissqqKF5Nz+kE5qqgl/rCsmSndYp200pIBnpiMRsNE5WsxoFtjtNsN4Lq9JcuHtlYvjakgsWTxQFyCgDAtmW8g85Cstpb44EAHjekWxCF8+6DuhFcAOqAr5rNm8snFPv1YjpBfsncdy8NIlkh76w9Z/cB0AesyYcDRrcrJaM8V7kDA9wM7EZvCwgWbSFdl4oxJhl7YY+U4H2hQY+3BNQmEKKYUB0AKzOK8DuNEBo6Hms7BPqlP+45uLV0eh19cxxqt+1kXPd6C1RkKd5ohUjdjnZ2So5UEgK4x26kuct8HunRUAnj+dr2OQvNLp/3R9HA7aekE7OHHGjITQ1ASmbDB/R1kVsbgieVws4yMvZOpy7oJevyzoLeFv5EZFl9VAv56F1rN+xyD7pbZLFRGvqCoC/0bXJDlECucZTkRsqVI4KVmwQSXTrMWEjxMTS/y63teTixL2hNPcCHxuyII+cZdo9F8fXAsfx42Q2fjLg3wDlfbCEoZ88R7tfcAF+/HkZJ7RP7lq1f8RBTIgo9FBEFNUvkXXZXaX9ejASzP4Lo9leLTNol08uAhT31z1VNCSzCFD63J7bAXPZCaAiQQFArd3OYMpuoTkAXRdRt0AeP3B/gb3ldzpys7LUTDkhdVGnKSS0VQ4COqzmnaifNv8a50BkXoKPW4cQpXXX67I=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 695ebd07-6919-4208-90e5-08db1bd1f741
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 10:28:01.5784
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rPZLBi3RCStC61JMuH/gfmleKs+QtArdgvnKSn4SNWZAoSj+UMVEsN2oluCxXWNEx/cgx7izBrIiRiXh4/bh/OB+Z1MFgudk507pVTie60Y=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7134

On 03/03/2023 10:24 am, Oleksii Kurochko wrote:
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although it
occurs to me...

> diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> index 1c87899e8e..d9723fe1c0 100644
> --- a/xen/arch/riscv/setup.c
> +++ b/xen/arch/riscv/setup.c
> @@ -7,7 +7,8 @@
>  unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
>      __aligned(STACK_SIZE);
>  
> -void __init noreturn start_xen(void)
> +void __init noreturn start_xen(unsigned long bootcpu_id,
> +                               unsigned long dtb_base)

dtb_base probably wants renaming to dtb_paddr as the pagetable series is
just about to make it a non-identity mapping between the two address spaces.

Can fix on commit if you're happy with the suggestion?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:35:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:35:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505800.778740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2lD-0004ag-SD; Fri, 03 Mar 2023 10:35:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505800.778740; Fri, 03 Mar 2023 10:35:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2lD-0004aZ-Or; Fri, 03 Mar 2023 10:35:35 +0000
Received: by outflank-mailman (input) for mailman id 505800;
 Fri, 03 Mar 2023 10:35: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=k/yG=63=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pY2lC-0004aT-Fr
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:35:34 +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 1efa7723-b9af-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:35:31 +0100 (CET)
Received: from DBBPR09CA0009.eurprd09.prod.outlook.com (2603:10a6:10:c0::21)
 by DB9PR08MB6492.eurprd08.prod.outlook.com (2603:10a6:10:23d::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 10:35:28 +0000
Received: from DBAEUR03FT061.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:c0:cafe::b1) by DBBPR09CA0009.outlook.office365.com
 (2603:10a6:10:c0::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21 via Frontend
 Transport; Fri, 3 Mar 2023 10:35:28 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT061.mail.protection.outlook.com (100.127.143.28) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.22 via Frontend Transport; Fri, 3 Mar 2023 10:35:28 +0000
Received: ("Tessian outbound cfb430c87a1e:v135");
 Fri, 03 Mar 2023 10:35:27 +0000
Received: from 979cfc0d99c0.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EC8DF958-AB09-4E5F-8F60-73BDF6A17A90.1; 
 Fri, 03 Mar 2023 10:35:17 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 979cfc0d99c0.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 03 Mar 2023 10:35:17 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by VE1PR08MB5807.eurprd08.prod.outlook.com (2603:10a6:800:1b2::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 10:35:14 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 10: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: 1efa7723-b9af-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cN5YmQIz2EE/czgxeRJLRjP2UdqsnUy2/I1lmBst4ho=;
 b=sValK+TTfhrlb3mFBm/9hd7omWYilBELHmpPTTHND7cxvp3UIk2E5WIda1EKcwcxKB43EIrRM7sfXtojNsLQQDxc5DUM8tMsmNyCKmbZALz1HNI28/UJ/hIgNiP9xUt75UGJBmYuboQxRVTlBWUG0+eWyr1uou5Smr65a8ZxarU=
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: d1b37e6af7953a57
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SHRTn1TcJAs67CZJkyKlemyyIrqeJkWQ5aKogIBqijDxLXVQQB0iNG/RIABXzXtuzjyYwol/j9p2XrxkxAZBJmqUXZL+tkGrwoE98CaCXJyqsT0EHYC20s+WP9kneSG76Mki/XIgEhZIvpNbRm9oRDEx9ln/EVRSOgTNAGOB8AlipSVZ/wyrG9gay/Vspc9B95mVnJoGUwOFDnROJwf2oQu/DLB1PldQNhRmvBulM8ZieNymysG/91TVIjSHYtRXBN6SxLfA9dW3/wmuPaXhfDpVir5nbBJMy38tSRZ9yARSgaRhbryStquGc2kfRYDDpe1HSDoi/5KDrOxA5s7/qw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cN5YmQIz2EE/czgxeRJLRjP2UdqsnUy2/I1lmBst4ho=;
 b=fdxsvB3zI5VNqAqLtAv961bnGfG+AwvcrqnLWEivreo+x66osZc28V6fl635Wm6fcCtxwqoOo4ZhS+hxk5YZ/Rg8jdH0X+pexBS8KC58m4fsip7MEiqQ+Xc/mel6aCAJHDYX6Ctr3oBVsa9/KIggtN+3GbEZrqtEWHyEulybE8BPjf2DygqL0Ot78RZCeRCNkzGGeXFqTLXPMwRhGuBn6jOTQTvL4YE5ZXMUPVAV/V9wCibtFrAoz1YGKntyBHWE9Kk3UyewNNcaAf1u59QWYMZM++vPwm3ZE8ruw51SjCiXWiKUYzzlOec3HldRGxDCgFpqrMWkahyT0Q+33j/V0g==
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=cN5YmQIz2EE/czgxeRJLRjP2UdqsnUy2/I1lmBst4ho=;
 b=sValK+TTfhrlb3mFBm/9hd7omWYilBELHmpPTTHND7cxvp3UIk2E5WIda1EKcwcxKB43EIrRM7sfXtojNsLQQDxc5DUM8tMsmNyCKmbZALz1HNI28/UJ/hIgNiP9xUt75UGJBmYuboQxRVTlBWUG0+eWyr1uou5Smr65a8ZxarU=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Luca Fancellu
	<Luca.Fancellu@arm.com>, "michal.orzel@amd.com" <michal.orzel@amd.com>,
	Julien Grall <jgrall@amazon.com>
Subject: Re: [PATCH v6 3/5] xen/arm64: mm: Introduce helpers to
 prepare/enable/disable the identity mapping
Thread-Topic: [PATCH v6 3/5] xen/arm64: mm: Introduce helpers to
 prepare/enable/disable the identity mapping
Thread-Index: AQHZTRemNcTNCEx/pkKdN97JgIHeCq7o3XCA
Date: Fri, 3 Mar 2023 10:35:14 +0000
Message-ID: <8BCE9C06-D081-4627-8057-1FF3D59390C6@arm.com>
References: <20230302145916.44035-1-julien@xen.org>
 <20230302145916.44035-4-julien@xen.org>
In-Reply-To: <20230302145916.44035-4-julien@xen.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|VE1PR08MB5807:EE_|DBAEUR03FT061:EE_|DB9PR08MB6492:EE_
X-MS-Office365-Filtering-Correlation-Id: eb018062-cfa3-41e0-f006-08db1bd3017d
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:
 r1soHF/BeQRwozrHzbtMrQhBg26CriAfkUrCscfrbKykO7OwR09zHfUKLUIafFrmisoWAYgewjiASozeJWVekObcA0duK4mlqhypl3wp+9dJ5CcrNKkRhNBle7usaalBJChBCIjAhij0ECgidovfqwqxgF6/Myrsp+4t0A27HjHP/kVQU+UJru0RklmTA5z/ya/GnGLgQ+2i82HvLlNlpxA/J2TpElP5EwSF07eDpYkvYwP35MvK174MstZBws/U5QPoPLpYcA9XFpfqErUw+ZqDa2xpt8GhyjyspfD4L62uE3Ouwl6ue2vykO21wCsMhhgyjvs0YGE0+OCXykD3XI/c93YYR9dZttGEI7/uOqc1UegNWjF4oW54p8rleiqh28eHPIV+nGHgHR9Z3SbsMuR+NENw044l8FcqlTtVGJBZpyGy5Tv7bJ+vZbU026Zf4OCrNfqWsjXIMBFFXugqOfbyk7bR06JuID8HJzahpcPEIydkx2fvGITsnNE5yG6+72fz/pKLvgeB4IWbp/0N+QghPQ6AED0pi7PGC/BGzPLSoFa7mDXHa+yFNkqVZnKyPOJV5TEqmmodYgKHeSxIKURrsRviwZOXOaaR27C0SZr8P3u90nFFI7ViyTu5b6ZPsn+SF1d6niBadY4oPmfKpGF6UVzJn3jSeyNNEVKMoz8jOWIImvgdrT4f+p03RDlLJdm8VZJOzB3jAP+0FOCby9W/xwuKWGTln02upo+r8sQ=
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:(13230025)(4636009)(136003)(39860400002)(396003)(366004)(346002)(376002)(451199018)(36756003)(33656002)(83380400001)(6506007)(6512007)(26005)(53546011)(71200400001)(186003)(2616005)(41300700001)(6486002)(8936002)(64756008)(66446008)(76116006)(91956017)(66476007)(4326008)(6916009)(8676002)(66556008)(2906002)(66946007)(5660300002)(86362001)(30864003)(38070700005)(122000001)(38100700002)(316002)(54906003)(478600001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <5DDDFF3559B7F147BE61C805C7C181D8@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5807
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:
 DBAEUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	56f2b2ba-445c-4426-2d26-08db1bd2f930
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bE4N1KyrWPr45WstLAH4ymcCQH15G1FnMaXNjU5iUy1DFQooAYjYNOSAnhgAi+qv0EsCc4Su0BonA50nQBvTRA80fR0SDF3BF1rofCpmLltjHU6JxZqNYzR/b7kkOY6+visZ5osSY1msFA9YYi4b54BNQi1iZhEJWgW1AEGCHG99B/2cC6DjsSkEfXQFDKJuUEqUugUgZbC/kQBvKXTR9/WQkz2MxTO13UuN9m+s2zzFC1ufNjofA0nsZIbockd811lxPBqv9FIdKwRGHDNlDUj05gfkQLdmfkt3raWeifU7SurlX8dRRFeosRaSdz2fMdhll3d85RdU12AJPbuCAlBYYOUhWrYJ9JFisjP4oxypP8mHDjR3eq2kd6pAHWv0UalQVBh0FO29K8kW5g38tUp5PJ4gTz/3Cx3ttVMoPJkL4kVsrgVL/2F5W1Wyz9t16lMe7arCe+Hcexuwc/5ugGN/UrEItiZiZ64M+mqSjHxE5B05oJNADh3Y6bCfN4oaYH2Kb5n95SUz21CUzSN/jez9NPBiMrEFUdP3lmZ/3mnINajXUjCWBioJxICtBA46mpKmJKQ2ZWmDDGEUeMGkO24/bJE1dRfvqozgFIIOs9Mmd0bXs7cLSbrGZYYq1PL9j9r9fxU0XqkkSICggkW1Rl+qSE1b1UFJM2NE9cBHNvl2i5g5YvRc6VWFzL+gVaTNqKoqOa/ny7ah+/YA97R/2A==
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:(13230025)(4636009)(136003)(396003)(346002)(39860400002)(376002)(451199018)(40470700004)(46966006)(36840700001)(83380400001)(36860700001)(107886003)(47076005)(40460700003)(36756003)(8936002)(82740400003)(6862004)(5660300002)(478600001)(81166007)(356005)(33656002)(40480700001)(86362001)(82310400005)(2616005)(186003)(26005)(336012)(6506007)(53546011)(6486002)(6512007)(70586007)(8676002)(70206006)(2906002)(30864003)(316002)(4326008)(41300700001)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 10:35:28.0137
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eb018062-cfa3-41e0-f006-08db1bd3017d
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:
	DBAEUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6492

Hi Julien,

> On 2 Mar 2023, at 15:59, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> In follow-up patches we will need to have part of Xen identity mapped in
> order to safely switch the TTBR.
>=20
> On some platform, the identity mapping may have to start at 0. If we alwa=
ys
> keep the identity region mapped, NULL pointer dereference would lead to
> access to valid mapping.
>=20
> It would be possible to relocate Xen to avoid clashing with address 0.
> However the identity mapping is only meant to be used in very limited
> places. Therefore it would be better to keep the identity region invalid
> for most of the time.
>=20
> Two new external helpers are introduced:
>    - arch_setup_page_tables() will setup the page-tables so it is
>      easy to create the mapping afterwards.
>    - update_identity_mapping() will create/remove the identity mapping
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>

In Arm internal CI this patch (or maybe an other in the serie) made one
of our test crash on qemu-arm64.

The error log is here after.

Cheers
Bertrand

- UART enabled -

- Boot CPU booting -

- Current EL 0000000000000008 -

- Initialize CPU -

- Turning on paging -

- Zero BSS -

- Ready -

(XEN) Checking for initrd in /chosen

(XEN) RAM: 0000000040000000 - 00000000bfffffff

(XEN)=20

(XEN) MODULE[0]: 0000000040200000 - 00000000403590c8 Xen=20

(XEN) MODULE[1]: 0000000048000000 - 0000000048008f20 Device Tree=20

(XEN) MODULE[2]: 0000000045000000 - 00000000463e3200 Kernel=20

(XEN)=20

(XEN)=20

(XEN) Command line: console=3Ddtuart dtuart=3D/pl011@9000000 dom0_mem=3D512=
m

(XEN) Domain heap initialised

(XEN) Booting using Device Tree

(XEN) Platform: Generic System

(XEN) Looking for dtuart at "/pl011@9000000", options ""

Xen 4.18-unstable

(XEN) Xen version 4.18-unstable (@eu-west-1.compute.internal) (aarch64-poky=
-linux-gcc (GCC) 11.3.0) debug=3Dy 2023-03-02

(XEN) Latest ChangeSet:=20

(XEN) build-id: cc83f93cef7a75d303680ba1f98e756c07df5497

(XEN) Processor: 00000000411fd070: "ARM Limited", variant: 0x1, part 0xd07,=
rev 0x0

(XEN) 64-bit Execution:

(XEN) Processor Features: 0000000001000222 0000000000000000

(XEN) Exception Levels: EL3:No EL2:64+32 EL1:64+32 EL0:64+32

(XEN) Extensions: FloatingPoint AdvancedSIMD GICv3-SysReg

(XEN) Debug Features: 0000000010305106 0000000000000000

(XEN) Auxiliary Features: 0000000000000000 0000000000000000

(XEN) Memory Model Features: 0000000000001124 0000000000000000

(XEN) ISA Features: 0000000000011120 0000000000000000

(XEN) 32-bit Execution:

(XEN) Processor Features: 0000000000000131:0000000010011001

(XEN) Instruction Sets: AArch32 A32 Thumb Thumb-2 Jazelle

(XEN) Extensions: GenericTimer

(XEN) Debug Features: 0000000003010066

(XEN) Auxiliary Features: 0000000000000000

(XEN) Memory Model Features: 0000000010101105 0000000040000000

(XEN) 0000000001260000 0000000002102211

(XEN) ISA Features: 0000000002101110 0000000013112111 0000000021232042

(XEN) 0000000001112131 0000000000011142 0000000000011121

(XEN) Using SMC Calling Convention v1.0

(XEN) Using PSCI v0.2

(XEN) SMP: Allowing 4 CPUs

(XEN) enabled workaround for: ARM erratum 832075

(XEN) enabled workaround for: ARM erratum 834220

(XEN) enabled workaround for: ARM erratum 1319367

(XEN) Generic Timer IRQ: phys=3D30 hyp=3D26 virt=3D27 Freq: 62500 KHz

(XEN) GICv3 initialization:

(XEN) gic_dist_addr=3D0x00000008000000

(XEN) gic_maintenance_irq=3D25

(XEN) gic_rdist_stride=3D0

(XEN) gic_rdist_regions=3D1

(XEN) redistributor regions:

(XEN) - region 0: 0x000000080a0000 - 0x00000009000000

(XEN) GICv3: 256 lines, (IID 0000043b).

(XEN) GICv3: CPU0: Found redistributor in region 0 @000000004001c000

(XEN) XSM Framework v1.0.1 initialized

(XEN) Initialising XSM SILO mode

(XEN) Using scheduler: SMP Credit Scheduler rev2 (credit2)

(XEN) Initializing Credit2 scheduler

(XEN) load_precision_shift: 18

(XEN) load_window_shift: 30

(XEN) underload_balance_tolerance: 0

(XEN) overload_balance_tolerance: -3

(XEN) runqueues arrangement: socket

(XEN) cap enforcement granularity: 10ms

(XEN) load tracking window length 1073741824 ns

(XEN) Allocated console ring of 32 KiB.

(XEN) CPU0: Guest atomics will try 1 times before pausing the domain

(XEN) Bringing up CPU1

(XEN) arch/arm/mm.c:874: Changing MFN for a valid entry is not allowed (0x8=
284 -> 0x40200).

(XEN) Xen WARN at arch/arm/mm.c:874

(XEN) ----[ Xen-4.18-unstable arm64 debug=3Dy Not tainted ]----

(XEN) CPU: 0

(XEN) PC: 0000020000272438 mm.c#xen_pt_update+0x6d0/0x82c

(XEN) LR: 0000020000272438

(XEN) SP: 000002000030fc60

(XEN) CPSR: 0000000080000249 MODE:64-bit EL2h (Hypervisor, handler)

(XEN) X0: 0000020000318038 X1: 0000000000000002 X2: 0000000000000000

(XEN) X3: 0000000000000003 X4: 00000200002be956 X5: 0000000000000002

(XEN) X6: 000080007ffe9360 X7: fefefefefefefefe X8: ffffffffffffffff

(XEN) X9: 0000000000000080 X10: 7f7f7f7f7f7f7f7f X11: 0101010101010101

(XEN) X12: 0000000000000008 X13: 0000000000000030 X14: 0000000000000005

(XEN) X15: 0000000000000000 X16: fffffff800000000 X17: 0000000000000001

(XEN) X18: 0180000000000000 X19: 0000800000326000 X20: 0000000000000003

(XEN) X21: 0000800000326000 X22: 000002000030fd5c X23: 000002000034f000

(XEN) X24: 0000000000000003 X25: 0000000000040200 X26: 000002000031b074

(XEN) X27: 0000000000000000 X28: 0000000000040200 FP: 000002000030fc60

(XEN)=20

(XEN) VTCR_EL2: 0000000000000000

(XEN) VTTBR_EL2: 0000000000000000

(XEN)=20

(XEN) SCTLR_EL2: 0000000030cd183d

(XEN) HCR_EL2: 0000000000000038

(XEN) TTBR0_EL2: 000000004034e000

(XEN)=20

(XEN) ESR_EL2: 00000000f2000001

(XEN) HPFAR_EL2: 0000000000000000

(XEN) FAR_EL2: 0000000000000000

(XEN)=20

(XEN) Xen stack trace from sp=3D000002000030fc60:

(XEN) 000002000030fd60 00000200002727f8 ff00000040200b80 0000000000000000

(XEN) 0000000000000001 000002000034f430 000002000034f000 00000200002aef18

(XEN) 00000200002f0d38 0000000000000001 0000000048000000 0000000000008f20

(XEN) 0000000000000001 0000020000000037 0000000000000001 0000000000000001

(XEN) 000000010030fd00 00000200002b4eb8 0000000000000001 000000000004034e

(XEN) 0000000000000020 0000020000000037 0000000000000000 0000000000000001

(XEN) 0000000000000000 000002000031b074 0000000040200000 0000000000000001

(XEN) 000002000030fd60 000002000024c710 0000000100000000 0000000000000001

(XEN) 000002000030fd70 0000020000265cac 000002000030fda0 0000020000265d38

(XEN) 0000000000000001 0000000000000000 0000000000000001 00000200002aef18

(XEN) 000002000030fdc0 00000200002787f4 0000000000000001 00000200002787ac

(XEN) 000002000030fe10 0000020000201f78 0000000000000001 0000000000000000

(XEN) 00000200002f0d38 00000200002dccf8 000002000030fe10 0000020000201f50

(XEN) 0000000000000001 00000200002c1358 000002000030fe40 00000200002dc92c

(XEN) 0000000000000001 00000200002b3000 00000000c0000000 00000200002bee58

(XEN) 0000000000000000 00000200002001bc 0000000040200000 fffffe0040000000

(XEN) 0000000048000000 0000000000000000 0000020000400000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) Xen call trace:

(XEN) [<0000020000272438>] mm.c#xen_pt_update+0x6d0/0x82c (PC)

(XEN) [<0000020000272438>] mm.c#xen_pt_update+0x6d0/0x82c (LR)

(XEN) [<00000200002727f8>] map_pages_to_xen+0x10/0x1c

(XEN) [<0000020000265cac>] update_identity_mapping+0x58/0x94

(XEN) [<0000020000265d38>] arch_cpu_up+0x30/0x78

(XEN) [<00000200002787f4>] __cpu_up+0x80/0x1d0

(XEN) [<0000020000201f78>] cpu_up+0xc8/0xf8

(XEN) [<00000200002dc92c>] start_xen+0x8fc/0xcb0

(XEN) [<00000200002001bc>] head.o#primary_switched+0x10/0x30

(XEN)=20

(XEN) Xen BUG at arch/arm/arm64/mm.c:120

(XEN) ----[ Xen-4.18-unstable arm64 debug=3Dy Not tainted ]----

(XEN) CPU: 0

(XEN) PC: 0000020000265ce4 update_identity_mapping+0x90/0x94

(XEN) LR: 0000020000265cac

(XEN) SP: 000002000030fd70

(XEN) CPSR: 0000000080000249 MODE:64-bit EL2h (Hypervisor, handler)

(XEN) X0: 00000000ffffffea X1: 0000000000000001 X2: 0000000000000000

(XEN) X3: 0000000000000002 X4: 00000200002bee06 X5: 0000000000000001

(XEN) X6: 000080007ffe9358 X7: fefefefefefefefe X8: ffffffffffffffff

(XEN) X9: 0000000000000080 X10: 7f7f7f7f7f7f7f7f X11: 0101010101010101

(XEN) X12: 0000000000000008 X13: 0000000000000030 X14: 0000000000000005

(XEN) X15: 0000000000000000 X16: fffffff800000000 X17: 0000000000000001

(XEN) X18: 0180000000000000 X19: ff00000040200b80 X20: 0000000000000000

(XEN) X21: 0000000000000001 X22: 000002000034f430 X23: 000002000034f000

(XEN) X24: 00000200002aef18 X25: 00000200002f0d38 X26: 0000000000000001

(XEN) X27: 0000000048000000 X28: 0000000000008f20 FP: 000002000030fd70

(XEN)=20

(XEN) VTCR_EL2: 0000000000000000

(XEN) VTTBR_EL2: 0000000000000000

(XEN)=20

(XEN) SCTLR_EL2: 0000000030cd183d

(XEN) HCR_EL2: 0000000000000038

(XEN) TTBR0_EL2: 000000004034e000

(XEN)=20

(XEN) ESR_EL2: 00000000f2000001

(XEN) HPFAR_EL2: 0000000000000000

(XEN) FAR_EL2: 0000000000000000

(XEN)=20

(XEN) Xen stack trace from sp=3D000002000030fd70:

(XEN) 000002000030fda0 0000020000265d38 0000000000000001 0000000000000000

(XEN) 0000000000000001 00000200002aef18 000002000030fdc0 00000200002787f4

(XEN) 0000000000000001 00000200002787ac 000002000030fe10 0000020000201f78

(XEN) 0000000000000001 0000000000000000 00000200002f0d38 00000200002dccf8

(XEN) 000002000030fe10 0000020000201f50 0000000000000001 00000200002c1358

(XEN) 000002000030fe40 00000200002dc92c 0000000000000001 00000200002b3000

(XEN) 00000000c0000000 00000200002bee58 0000000000000000 00000200002001bc

(XEN) 0000000040200000 fffffe0040000000 0000000048000000 0000000000000000

(XEN) 0000020000400000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000 0000000000000000 0000000000000000

(XEN) 0000000000000000 0000000000000000

(XEN) Xen call trace:

(XEN) [<0000020000265ce4>] update_identity_mapping+0x90/0x94 (PC)

(XEN) [<0000020000265cac>] update_identity_mapping+0x58/0x94 (LR)

(XEN) [<0000020000265d38>] arch_cpu_up+0x30/0x78

(XEN) [<00000200002787f4>] __cpu_up+0x80/0x1d0

(XEN) [<0000020000201f78>] cpu_up+0xc8/0xf8

(XEN) [<00000200002dc92c>] start_xen+0x8fc/0xcb0

(XEN) [<00000200002001bc>] head.o#primary_switched+0x10/0x30

(XEN)=20

(XEN)=20

(XEN) ****************************************

(XEN) Panic on CPU 0:

(XEN) Xen BUG at arch/arm/arm64/mm.c:120

(XEN) ****************************************

(XEN)=20

(XEN) Reboot in five seconds...




From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:36:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:36:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505804.778751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2lc-00054k-7d; Fri, 03 Mar 2023 10:36:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505804.778751; Fri, 03 Mar 2023 10: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 1pY2lc-00054d-4K; Fri, 03 Mar 2023 10:36:00 +0000
Received: by outflank-mailman (input) for mailman id 505804;
 Fri, 03 Mar 2023 10: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=SP4M=63=citrix.com=prvs=419214df4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pY2la-0004aT-BC
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:35: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 2b66cfd3-b9af-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:35:55 +0100 (CET)
Received: from mail-mw2nam12lp2044.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Mar 2023 05:33:58 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SN7PR03MB7085.namprd03.prod.outlook.com (2603:10b6:806:353::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Fri, 3 Mar
 2023 10:33:55 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.021; Fri, 3 Mar 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>
X-Inumbo-ID: 2b66cfd3-b9af-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677839755;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=hQtdo1xNHOXdFD2yc95pzEBqcyuC5Z19hJyE3DEnEfU=;
  b=Iy3zvr4YKxD8cH4N6svj9NEF5i444//LbOZnVto0GyTYy2I/vxyk6oJP
   olZdAPuDfyxT11sr2gcDqVbi9cIYSrCFZ3ai0gfFbD5r9+9eJb6muUUIw
   oVwc6O5DbcjWwbGohpGInI1OfiGWk0D5/4TKQVta3J6WPEUcKQcNtQxu3
   c=;
X-IronPort-RemoteIP: 104.47.66.44
X-IronPort-MID: 99725549
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:JVRhdau5Jl1QB3gtns6aabAIgefnVOJfMUV32f8akzHdYApBsoF/q
 tZmKTuPOvmPNDOjco0jO9/gphlXv5+EyIRnHQM/qiE0QX5D+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASGzCFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwMRAMV0DZn/qM0J28Tcl92eA9FM3LI9ZK0p1g5Wmx4fcOZ7nmGv+PwOACmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0ovjv6xbLI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6ReznrKM33Az7Kmo7CEUofgaRq9OAr2WzXt5jI
 WIY23ElhP1nnKCsZpynN/Gim1aDuhMfQNtRVe4n8gaGyqnTywmcD2kACDVGbbQOpMIwADAny
 FKNt9foHiB09q2YT2qH8bWZpi/0PjIaRUcAbyIZSQoO4/H4vZo+yBnIS75LC7Wph9f4HTXxx
 TGiryUkgbgXy8kR2M2T8lHOhTaxrZHhVA8r4R7WWGnj5QR8DKavYIai+FXA7fJNKY+fZlaEt
 XkA3cOZ6YgmBJWMjzCEQf9LEqug4f2EKxXDjVUpFJ4knxym/HileoJc6S9/P29mN88FfXniZ
 0q7hO9KzJpaPX/vaLAtZYu0Up4u1fK4SYijUe3IZN1TZJQ3bBWA4CxleU+X2SbqjVQolqY8f
 5ycdK5AEEonNEiu9xLuL8917FPh7npjlAs/mbiTI8yb7Iej
IronPort-HdrOrdr: A9a23:Bh2Ai6u8Dbvg/Degfhw8udUq7skDRtV00zEX/kB9WHVpm6uj+/
 xG/c516faQsl0ssR4b9+xoVJPgfZq/z+8X3WBhB9eftWDd0QPDQb2Ki7GSpgEIcBeOlNK1u5
 0QFZRWOZndCkV7kNa/wCTQKadY/DBfytHNuQ4J9QYLcT1X
X-IronPort-AV: E=Sophos;i="5.98,230,1673931600"; 
   d="scan'208";a="99725549"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IlXaF2zXrXer4eX+9blqpn/8q/1YSRYoOD9wKKBu22XnyLvcEC0mfcuAFr/tOdBfZZMTq3KaAwiVEVR7XBWCQrNJW+2/iLxfWOct4Kb8MtzLjuDSf87PJXnNq8b9GKZhBVNAJbTXD/uZDgio8M19jc3R5r5gVgXQ9KQSx1tJ8WmAUk5WgN1RI8YZ1Ouqzib/jEWdvyDUWaS5dTxMjo3m5kd+gxId1I8/34wlVCOmDdV8DxgT8nCkWW89REYsIknK7c/Bbt+3ok/lhds0bMqyei7ukeU01FefwNzog9YY2LE0kgwFnvWkgJJCQwPdoyXcEI0Hro3kWpTuzHf3X46hHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k5n9hDcHY8X6iwfsyWRmEFEkECkAM83bv2we6AuXx98=;
 b=ZUJaJtBXkwIZMcXNPvFibRMV3GppyjvoXgMPHXUOZSqk7AWTkfltwoHHE7urmnjZnC0V6dXlyjOHE4WMGQASJyres84YLZz/PD9gEOGPVLqMp/3waQaMHn3561FQMNgpdehK/87bN5Y62quU0lDS0QZ4/Y0cRTMGpJNf1TRWE7vNb/+D0pDF9iQm+kLIA4HZcs5wZa8vDV7qe2eUKCNtuSAlXzSSw/mUsC/tLb6DLlBRrfWEtl1jWDdgnfrpPKb6W2N5fvPmcwWHRihkXehfQtONSLRBoB1NsJlqxzKrj8becz+ucFEqOKzm0Jp8BB7f6WZ88X6wlcoLE7zDJJ8qng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=k5n9hDcHY8X6iwfsyWRmEFEkECkAM83bv2we6AuXx98=;
 b=Msc5KXKYOQVJ9NKYUuYLsx0IySx1SHCluwl9czrmZWnffXP3dohs53F7pit3xQ2P12+b4hC2+nd25VQ5rseBnfAK9YSTILLvGoJBCe76XZFavlWld2LKuC83RjSGxBoicZoXEN78PFDASeNcrL1559tVmKyZD63OXFRcJULcuVE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <009206ce-1750-95f2-7f6f-34c71f0b79ec@citrix.com>
Date: Fri, 3 Mar 2023 10:33:49 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 3/3] xen/riscv: initialize .bss section
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
 <16fb328e06f6b99d967fa7d186a4c0aaa986050e.1677838213.git.oleksii.kurochko@gmail.com>
In-Reply-To: <16fb328e06f6b99d967fa7d186a4c0aaa986050e.1677838213.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0653.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:296::23) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SN7PR03MB7085:EE_
X-MS-Office365-Filtering-Correlation-Id: 67afdada-8435-4cff-3805-08db1bd2c9de
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KUrFxyLB0ksUNd5SpKns6JDOIVh4zQSuI3iZ6zWMHIw7/Zy9ZtTVFG2F0eZUTk1f/+40ekQYPCWKHS7YyKVIDbXquIdCCxSQFB/hBQcvl+sUs0cF9mNNg6Q9/Yx1G5y+Gdb/93wqLYZCsj3BC23b17M6VKxJIjQtRUO1veTngC7h/yzTjyJSANgbN3CvMncm1aJK0/vzRDXeAI+bHSQGjCAqVhwBAj8G6UR1Bj52OG/9Cx4bFKq6isGhm2h4cXGFJMPciRd9pXWSIxt8PDormsm0zNvCMdQahtenIXqO2uz1cXZBFv4zECIknvU0HxO0jmHPJVPAA1RUmWyGIhZiQJaxiFU/Eg2nP+V/7AIgtSiUCU2GtVqPhSEGti6f/I8j8UBCwkqfimZ/iJPp5AOqLyIY+Y7GmC8sdpEvjiYf8UxGovJVjzxal9Y7hHMdWoGPAZlgcHEGgRsz1iP6iz7hVnwRBysVnzOf4Gs/sR9mvvHmub4bU8IpdC6N1Y4Xc4kHkLcOi67IfrrfetSC0tQSVM0mb7DkwxCnCcCG+ENqeTbAtmya7qKcA+4jTRzeF4U+H9W/w5v3S0lf6AlYCTjqQ60PF9Ke2WCVxxSvwO0w5iJKtkPwzXV3pZmgoQ3E9b54BqnjfJWmGtqxyy7zoS9oGRCPtWQkZ/PXO3saPy+1ILO2dkxz8kjsv+tXucT/X55WUJBoSCbLi9JGA2VTw0v9pq24F9zX0B4ryyQdslzfAKgtBd/Q8xa9ZEBKe9E6R6o0
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(396003)(39860400002)(346002)(136003)(376002)(451199018)(31686004)(8936002)(6486002)(36756003)(54906003)(2616005)(66476007)(41300700001)(4326008)(8676002)(53546011)(66556008)(31696002)(86362001)(66946007)(2906002)(4744005)(26005)(5660300002)(316002)(6666004)(6506007)(478600001)(6512007)(38100700002)(82960400001)(186003)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VkQ1emkwWE1DU2Y3aS9qTlF2MXRSSnFKK1lBdWMzTkJiY1lzQ3VWeTdBYXNZ?=
 =?utf-8?B?TXNBWkdiQU5EL0JINmtHV2dhMzZJR1pNeE9sUU42d0ZxdWJTNE8xY2VDSjBn?=
 =?utf-8?B?N3lLZ0FmdG0vbFRUaHhpZFMwMjFmRGE1QVYwLzJtUkJ0WUQxN0tuN1M0SXMr?=
 =?utf-8?B?U3hlOCtEcmpjQ3F5aWkwL0dIOFlpc1B1bXA5RjBYNXVjV3ZoWGtpcytHNUp2?=
 =?utf-8?B?eWZRZ01LOG5ETzBHRjJkUzdHTmxGVmJCcDdnb2RWT0xQaUJ4VUtxNVB1N0oy?=
 =?utf-8?B?dkVsSVZsanAvNWR0VUNiLy9DeEdJa3NtTzltbjNyNVM2VkpWVmZLbWJNRjYz?=
 =?utf-8?B?YnVSU3JteTFWTkJzcjdWYW1NWlh2WnZsTU1XOXkrSEYwZndUR1MyWTQrQjB0?=
 =?utf-8?B?U1h3WklVMjlaMXRxYlJaUU4xSXI2cmJlYzFUVGlVVHBNVlhjamRCUkpndWJQ?=
 =?utf-8?B?UjU1Smgvb0l1ZnlQNlphRzJJQ1lxZnBSdUhXQU0rR1lqb2Y3cHp3dStSUVpS?=
 =?utf-8?B?aUxUTDhUTTBJTlJnL0p1Mlhna0NYc1ltNG5KTW1BazVDV3N4Nks3eFhkSC9Z?=
 =?utf-8?B?WVNKbVd6RXAwdkwya0htWXVhV0NpSjJMRkdxeFlDcGJwdUhqVnA0T1FDSmdm?=
 =?utf-8?B?Z094aWtjZWlsMzhSdWNYUzN0MGxucERiZDhpOHZQUk5rTlRkNGZWeUZaRXlJ?=
 =?utf-8?B?d29XMlJTZmlpc2NHZENvbjhIYWFnSmkyVzQ0OHRsanVLdDFDNXpXRkFCUGJV?=
 =?utf-8?B?TVE0V2RCNEhFRXp1bjFhdHlQNmN4WmFlZEJIRVd4L21lL2l2ZDk4SldrUnFy?=
 =?utf-8?B?L1VjM2wzOUx2VWI2SitzK3FFTDg4MDJqSmpyTWZmbUxaTUFHa1RTMG1weEpC?=
 =?utf-8?B?NGFIUnE0SjFJMXBvMU9sa1k2aFd5M1Y4ZFU4M0xvdjJtNlg3TUJMdXdvTWJR?=
 =?utf-8?B?ZHZJLytMM0djTmdtSDkySFlkalNKOWJXR0IzVWVsaEZUV1V6K284Umt3a3I5?=
 =?utf-8?B?Sk1DVDlTVGl6eHlaN1U2cWxTRWZ4RHFmUFVSdXY2R2NLa3BBckR1eTlmVHA3?=
 =?utf-8?B?Tk1zOEtydEZTZ0dUQXdLdjdwSGVFbEVVeTdLcXNXV3RhTGpvZmpQVWdrNlQ0?=
 =?utf-8?B?eVNEeFZXODNZWEROMHhnRE9oOGN2YnVxSDFweTd2SDZQYTl1OHJ0Z3FyRUpM?=
 =?utf-8?B?NTlIQzhFb0IvQVhzNVFYSEZIWnAxTHVOL1dabFlNZlVwY0djNTdMb3I3Qnc5?=
 =?utf-8?B?WHlBNUJRQmVIQk16bStzdDlwSllwTkthejYza2ZHa2VHeDY1UHF0RmUwWVdH?=
 =?utf-8?B?NWtHVVdzMjYxZXBEeXEvOFNud1NPYlJiZS9LcE9VYXJ4THJTa1RFWHNONXN5?=
 =?utf-8?B?ZmgyL1Z3NFk4WFhtWkIrZTFjc2VJemNJMXZkREd6ek85YnpwRHZ5eEViKzZl?=
 =?utf-8?B?Sms2SGZkanMva0VFZEptcmE2cVozRmVBeUd6Uml1OTI2ZGNZbDlZcVBKTUV6?=
 =?utf-8?B?a0wxQllueEQ4WnV6Uk9hSFFoVW9FS2NiWUxtZlRDQnVuUlN5enBSMDBIWHQz?=
 =?utf-8?B?UU5BTHJJUnlldFV6Sk5ydmpkUHpWOVFmRUlLcFRxc0VJSVdIV29xd2tHRFZv?=
 =?utf-8?B?MFhjaUVJVmNzUUVzWmQzd3hsRHlyeWF4TXVUOEFVMWJ2Qi8xV2pEVTZOck5j?=
 =?utf-8?B?alRRMHo4N1J4Y0I2MExLemg3eWpMMWtQRkpLbEt4VXg1WmlpSHVCTmtObGIv?=
 =?utf-8?B?d1gzMDl3SGs1aUo3NGZ4Z0t4VjJuUXpuWjNNazFmZHpYNWZaNlBNQXcrZ2dx?=
 =?utf-8?B?c3VqOStPUzR3cndqMmp4UVRYYytRTVVWWnNmODVUM2l4aWl2Z3ZVQ2JSeTJt?=
 =?utf-8?B?K0dyaTkxbFBoUlZyODZMVjR1WEFIUlQ0ZmVzZFB2MXNERHMzdlRMeGVIcTdl?=
 =?utf-8?B?Q1lKeng1UndDWlJESGhFMFVtWmpDWTJmdFp2ZzJ4UTZoL1JTNkE5QW5UNkhj?=
 =?utf-8?B?QUhzNUlLY2xWblhVMEFoUnp5TFptbVd6ankrM3ZqOXVyRGRiYjl3TmdjbWJp?=
 =?utf-8?B?Mm1CNysyTFp5bVVMbGJYSytpeVRtMHpIODNiYmdVK2YrSjlWOFRrcHk4d3Nj?=
 =?utf-8?B?TVJDUFBkVEVRaDk4VzliUVhOMVVMVFh2VmszSXJONzNaL1JmZjQvZ253YzJa?=
 =?utf-8?B?QXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	syBZR4c4BOcEJWf7Sl6cEwGQR2UCLkrlcx3JyyZ/M3Xh5qp4oL161tyrl8TfbgeHHlpxlFDEJqFWFTIf7MO15iGx4g4zioXX/ehqsH7AB2qTB60RU7bZ3V/NuRQXQnDYEU5Oa4nU6CZd9G8hihPAtG0O5qcOzEvpalxisHbCOb67hDdZp6UuD2/LTGg2w2/U/tkaCVmR3p4z/NIwNAySsqzViaHsW9qEadqQYUUeDnqwbCgwWdWZhATIfuhuVJ9eWADkQUg3lSwwSvLZX79hf4bkF6/1XWktwMDb62pOmhytOxWEdvm1S9ud68TO4ad/19AbZjN8EQ/8mFa18TWX1LBl1EEnUeIJ2Q0L1X1xg2iFGX4zjILWFcohTJ/564ifwwjt/5wNAc5hY64k8H6smsJVzQQmOB+FVh+XXPjhd0lYKnv0hRD+s1Tr2n55a6wBDanQEJOwpPJRmgNDQGE9B05ErbshBjqIsFd2alEP1YjlLBH1rf8/GGRRJdTIrUZsRvMc8IvANJkvCCo4jg99DnmFA4j4x1BCHLr1Cfq4cG0Vpcd3IO4w0O+EkHhko2r5/7h2SknBrSwgZ1X34r2+079W6WDVQ0SXttz5CiFX9Fo/vyO95uhR/NgAAQnaG3O36KueXPzQUT5I85bS9UrhX5j0pQwVVv/Q6o50ESWNhNgv47Gv5n5JpZwm3L2gH6TQ099UjjefvErBCJD28AgI15RH0p9zlxRAxfExAA5bFxU+a0AhJKfYnQD0CG5Y0IUXG6QPUa3qPcySXCfzmQEKFlwc1Tiojl74cm37LFgprBfkKOdLQTHLibmZXDr6FKrWJZ8Sfvz/ib3J0swY+6iP7uFfa1NJevkWprdU3Sp7XNdNM8WYMg9CH9GT+BV6geAcEtX/5FV8Z55htynbvgHMDGwkZBtuHUuPvVsP67491Gc=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 67afdada-8435-4cff-3805-08db1bd2c9de
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 10:33:55.0047
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bWcit3UahJufG3nahpkGRyUuCugFQXGOjjsf6eiu0vcczL1YHmI1dPdZoeDo0re1vCQnvR/PnBVva9TprM5BV+XO8lKqNaTbZ0H3imkIx0M=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR03MB7085

On 03/03/2023 10:24 am, Oleksii Kurochko wrote:
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

> diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
> index adf5d6c74a..8887f0cbd4 100644
> --- a/xen/arch/riscv/riscv64/head.S
> +++ b/xen/arch/riscv/riscv64/head.S
> @@ -18,6 +19,14 @@ ENTRY(start)
>          li      t0, SSTATUS_FS
>          csrc    CSR_SSTATUS, t0
>  
> +        /* Clear the BSS */
> +        la      t3, __bss_start
> +        la      t4, __bss_end
> +.L_clear_bss:
> +        REG_S   zero, (t3)
> +        add     t3, t3, __SIZEOF_POINTER__
> +        bltu    t3, t4, .L_clear_bss

Using t3/t4 is fine, but it would also have been fine to use t0/t1.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:38:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:38:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505811.778761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2o5-0005kM-LK; Fri, 03 Mar 2023 10:38:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505811.778761; Fri, 03 Mar 2023 10:38: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 1pY2o5-0005kF-IA; Fri, 03 Mar 2023 10:38:33 +0000
Received: by outflank-mailman (input) for mailman id 505811;
 Fri, 03 Mar 2023 10:38: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=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY2o3-0005jk-SM
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:38:31 +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 89a0f0e9-b9af-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:38:29 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id r27so2954573lfe.10
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 02:38:29 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 d11-20020ac25ecb000000b004cb3a55feacsm338760lfq.100.2023.03.03.02.38.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 02:38: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: 89a0f0e9-b9af-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677839909;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=uiytgQHe1E8d/UMkVIjPxK0tDNJ92VO/9rBdNtKmxd8=;
        b=pPe2CXF1or4QzKhTcIcvSWfu1qOTekwZ/Rg9iiQ2xCQA9Vx/XXdn+1YT2Z0bG0sEiO
         lb6+j2pcJH8vKPfK5ENBsgqSmW+ObB/5ARw+Y/NrTyqV6NotlSTD29uGX1FFzNfixCGT
         I5p4FKUAnSGTiNq1zZxFwLRrwUe/nk9t7MRh92kQd5+TMi+uN5f0gQvO/QuxczMIvUiD
         2e5pK5ASNhO149qEo6hkympdeGNpT/iVio2MAgW3eQyfEokehNQ50BdSa7rxiaWYUR5I
         Wcg++OhPjZraD0d9uVzmBG/ac92WywVAYNF23XXYv0GcQA0iRpq5CW8L5gkFQsSH3z8J
         M+Nw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677839909;
        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=uiytgQHe1E8d/UMkVIjPxK0tDNJ92VO/9rBdNtKmxd8=;
        b=dmXSisgAzhnOBE3atwcCCEEutPQq6PCofnHBF6EIhRG0lCz4jbZVRJsTCcRtBI2iej
         z2/cTN9SDSqs5q3ib4yNTjFCkTyPj+gWjgojTkZjmS6qMuVZviSirYSLjJ5mDmdhKtdu
         BqyL4W1QRqUrUto4fSqMpzVmOyx0eQBQ0gGJCvfJ8hcBq/hWgxK4jJsQcozbeuHVhFkT
         LBVVzvRXcqJJTokVHH0R/8qD9zGN9Xslc6A2J0zq55BFh3o7CyMbbxd7hVtyKGtKbtxG
         vdGRoHXx6n7+8irLX1oqKQ9+8f7yPILTit0JJZE5JspjTrVfKNIJT5XsL2H5hjTt5qUD
         Tcvw==
X-Gm-Message-State: AO0yUKUlRbe7B4hgxubkkB78Kuylp1q0UisJl/8HLAhYjOwKhGJzMh8z
	E1H7dEnPH8vo6NwHv5RTgSwkRJS/9v4=
X-Google-Smtp-Source: AK7set+ZYE7d4Np9WXFoEczDsW+Kae79Q5XYegrdZYO3kIfg/TLmyh/GP6BIQf0AYuFNUKaGFXcNVQ==
X-Received: by 2002:ac2:528a:0:b0:4cc:a107:4227 with SMTP id q10-20020ac2528a000000b004cca1074227mr331863lfm.22.1677839909138;
        Fri, 03 Mar 2023 02:38:29 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v5 0/4] introduce generic implementation of macros from bug.h
Date: Fri,  3 Mar 2023 12:38:21 +0200
Message-Id: <cover.1677839409.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A large part of the content of the bug.h is repeated among all
architectures (especially x86 and RISCV have the same implementation), so it
was created a new config CONFIG_GENERIC_BUG_FRAME which is used to
introduce generic implementation of do_bug_frame() and move x86's <asm/bug.h>
to <xen/common/...> with the following changes:
  * Add inclusion of arch-specific header <asm/bug.h>
  * Rename the guard and remove x86 specific changes
  * Wrap macros BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed/etc
    into #ifndef "BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed/etc"
    thereby each architecture can override the generic implementation of macros.
  * Add #if{n}def __ASSEMBLY__ ... #endif
  * Introduce BUG_FRAME_STRUCTURE define to be able to change the structure of bug
    frame
  * Introduce BUG_INSTR and BUG_ASM_CONST to make _ASM_BUGFRAME_TEXT reusable between
    architectures
  * Make macros related to bug frame structure more generic.

RISC-V will be switched to use <xen/bug.h> and in the future, it will use common
the version of do_bug_frame() when xen/common will work for RISC-V.

---
Changes in V5:
 * Update the cover letter message as the patch, on which the patch series
   is based, has been merged to staging
 * Remove "#ifdef BUG_FN_REG..." from generic do_bug_frame() as ARM will
   use generic implementation fully.
---
Changes in V4:
 * Introduce and use generic BUG_DEBUGGER_TRAP_FATAL(regs) mnacros which is used to deal with
   debugger_trap_fatal(TRAP_invalid_op, regs) where TRAP_invalid_op is x86-specific.
 * Add comment what do_bug_frame() returns.
 * Do refactoring of do_bug_frame():
     * invert the condition 'if ( region )' in do_bug_frame() to reduce the indention.
		 * change type of variable i from 'unsigned int' to 'size_t' as it  is compared with
		   n_bugs which has type 'size_t'
 * Remove '#include <xen/stringify.h>' from <xen/bug.h> as it doesn't need any more after switch to
   x86 implementation.
 * Remove '#include <xen/errno.h>' as it isn't needed any more
 * Move bug_*() macros inside '#ifndef BUG_FRAME_STRUCT'
 * Add <xen/lib.h> to fix compile issue with BUILD_ON()...
 * Add documentation for BUG_ASM_CONST.
 * Defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH were moved into
   "ifndef BUG_FRAME_STRUCT" in <xen/bug.h> as they are specific for 'struct bug_frame' and so should
   co-exist together. So the defines were back to <asm/bug.h> until BUG_FRAME_STRUCT will be defined in
	 <asm/bug.h>.
 * Switch ARM implementation to generic one
 * Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed after switch to generic implementation
 * Back comment /* !__ASSEMBLY__ */ for #else case in <asm/bug.h>
 * Remove changes related to x86/.../asm/debuger.h as do_bug_frame() prototype was updated and cpu_user_regs
	 isn't const any more.

---
Changes in V3:
 * Nothing was done with the comment in <xen/bug.h> before run_in_exception_handler
   but I think it can be changed during the merge.
 * Add debugger_trap_fatal() to do_bug_frame(). It simplifies usage of
   do_bug_frame() for x86 so making handle_bug_frame() and find_bug_frame()
   not needed anymore.
 * Update do_bug_frame() to return -EINVAL if something goes wrong; otherwise
   id of bug_frame
 * Update _ASM_BUGFRAME_TEXT to make it more portable.
 * Drop unnecessary comments.
 * Update patch 2 not to break compilation: move some parts from patches 3 and 4
   to patch 2
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
 * Change debugger_trap_fatal() prototype for x86 to align with prototype in
   <xen/debugger.h>
---
Changes in V2:
  * Update cover letter.
  * Switch to x86 implementation as generic as it is more compact ( at least from the point of view of bug frame structure).
  * Put [PATCH v1 4/4] xen: change <asm/bug.h> to <xen/bug.h> as second patch,
    update the patch to change all <asm/bug.h> to <xen/bug.h> among the whole project
    to not break compilation.
  * Rename CONFIG_GENERIC_DO_BUG_FRAME to CONFIG_GENERIC_BUG_FRAME.
  * Change the macro bug_loc(b) to avoid the need for a cast:
    #define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
  * Rename BUG_FRAME_STUFF to BUG_FRAME_STRUCT
  * Make macros related to bug frame structure more generic.
  * Rename bug_file() in ARM implementation to bug_ptr() as generic do_bug_frame() uses
    bug_ptr().
  * Introduce BUG_INSTR and MODIFIER to make _ASM_BUGFRAME_TEXT reusable between x86 and
    RISC-V.
  * Rework do_invalid_op() in x86 ( re-use handle_bug_frame() and find_bug_frame() )
---

Oleksii Kurochko (4):
  xen: introduce CONFIG_GENERIC_BUG_FRAME
  xen: change <asm/bug.h> to <xen/bug.h>
  xen/arm: switch ARM to use generic implementation of bug.h
  xen/x86: switch x86 to use generic implemetation of bug.h

 xen/arch/arm/Kconfig                 |   1 +
 xen/arch/arm/arm32/traps.c           |   2 +-
 xen/arch/arm/include/asm/arm32/bug.h |   2 -
 xen/arch/arm/include/asm/arm64/bug.h |   2 -
 xen/arch/arm/include/asm/bug.h       |  88 +--------------
 xen/arch/arm/include/asm/div64.h     |   2 +-
 xen/arch/arm/include/asm/traps.h     |   2 -
 xen/arch/arm/traps.c                 |  81 +-------------
 xen/arch/arm/vgic/vgic-v2.c          |   2 +-
 xen/arch/arm/vgic/vgic.c             |   2 +-
 xen/arch/x86/Kconfig                 |   1 +
 xen/arch/x86/acpi/cpufreq/cpufreq.c  |   2 +-
 xen/arch/x86/include/asm/asm_defns.h |   2 +-
 xen/arch/x86/include/asm/bug.h       |  84 +-------------
 xen/arch/x86/traps.c                 |  81 ++------------
 xen/common/Kconfig                   |   3 +
 xen/common/Makefile                  |   1 +
 xen/common/bug.c                     | 103 +++++++++++++++++
 xen/drivers/cpufreq/cpufreq.c        |   2 +-
 xen/include/xen/bug.h                | 158 +++++++++++++++++++++++++++
 xen/include/xen/lib.h                |   2 +-
 21 files changed, 289 insertions(+), 334 deletions(-)
 create mode 100644 xen/common/bug.c
 create mode 100644 xen/include/xen/bug.h

-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:38:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:38:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505812.778771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2o6-0005zM-Sn; Fri, 03 Mar 2023 10:38:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505812.778771; Fri, 03 Mar 2023 10:38:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2o6-0005zF-PS; Fri, 03 Mar 2023 10:38:34 +0000
Received: by outflank-mailman (input) for mailman id 505812;
 Fri, 03 Mar 2023 10:38:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY2o5-0005jk-0V
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:38:33 +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 8a6857bb-b9af-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:38:31 +0100 (CET)
Received: by mail-lj1-x235.google.com with SMTP id by8so1845781ljb.7
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 02:38:31 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 d11-20020ac25ecb000000b004cb3a55feacsm338760lfq.100.2023.03.03.02.38.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 02:38: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: 8a6857bb-b9af-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677839910;
        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=z0btyJLxCS4oC/gYXylIv4FuqUMmEv/UhCtI0T1c0CE=;
        b=UsYVgGWdzpwcN/sQurakmDzwejOeY5cEuqHxomNZzZzQZdxEcq4TRTNs2KhH7ISfrI
         Z8S/g7epjrUW0/i2BBljpvnhHTeDkJyrubVwB3tbLFfG56Db4f/xoEU+7HIXkpKQN8dC
         uRbndhE1J09yFLCo7mBCj2QebJAJxp7ssR0AOB1NlNjKFvLB0IjZAY6U/AmPkThrNTAF
         TOP4tgyUj3sRJQmyGSc6n4Y28NASWwsItSqHJmdaSlorXzACJuw3WoqY/oPRVAyawXUL
         llfdfdxflySqULDwwTEyiFsTMe5vQLneO5pfuclXV/MGvS/AhPgAft4yQGdXnDTCChdN
         eiHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677839910;
        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=z0btyJLxCS4oC/gYXylIv4FuqUMmEv/UhCtI0T1c0CE=;
        b=UZXUJihwIElInsRnQtb7rv00gDaaR/0t7U9KvJ2KRkI5V7s+FhZ/+Y/t8TLS85yXRU
         uqV3zhx0/ecfhQmzGKJrLqfounYKu/xDYmo7e8sKL0RpsKlqH4CvFhV8DSSYZOLuIt4r
         XOuqr5CKiI0l3xNd5YGaE92HW93yFxz82SbnYqDcx9xJMsjlRLJlyasdusz/T/k+coJP
         4QOecYobCUN2tdrKfDzi5Lhw3/2gxovlpSF7rAku1G7JBusuHkAZxhN3CGXcnhxSyZMD
         yPlxuNuhie2fats9emE+Oc8Z8KIWg3zFVzKSc63xxaxaRtkCnTN0SvR0Kz3FcaCuU+zq
         jqrw==
X-Gm-Message-State: AO0yUKVFyfrHjytJ034SP9x04ul08wfWmZ9rtHEJAs3svMgzmcYLkuJQ
	OLXzSjCtye6BAV8CJDzO5qwAcBhlu+U=
X-Google-Smtp-Source: AK7set94tuJDuHpOxMQSgFl62vtMemMA5N+hFm1GFapBKWd8m7NVKeGzA+MYzHT++TRnzgXDLdk2cA==
X-Received: by 2002:a2e:9b16:0:b0:295:a542:8b47 with SMTP id u22-20020a2e9b16000000b00295a5428b47mr447905lji.8.1677839910377;
        Fri, 03 Mar 2023 02:38:30 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v5 1/4] xen: introduce CONFIG_GENERIC_BUG_FRAME
Date: Fri,  3 Mar 2023 12:38:22 +0200
Message-Id: <5cd3dd5233cf41ad54ce1cd98b706085b95bfcee.1677839409.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677839409.git.oleksii.kurochko@gmail.com>
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A large part of the content of the bug.h is repeated among all
architectures, so it was decided to create a new config
CONFIG_GENERIC_BUG_FRAME.

The version of <bug.h> from x86 was taken as the base version.

The patch introduces the following stuff:
  * common bug.h header
  * generic implementation of do_bug_frame
  * new config CONFIG_GENERIC_BUG_FRAME

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 * Remove "#ifdef BUG_FN_REG..." from generic do_bug_frame() as ARM will
   use generic implementation fully.
---
Changes in V4:
 * common/bug.c:
		- Use BUG_DEBUGGER_TRAP_FATAL(regs) mnacros instead of debugger_trap_fatal(TRAP_invalid_op, regs)
		  in <common/bug.c> as TRAP_invalid_op is x86-specific thereby BUG_DEBUGGER_TRAP_FATAL should
		  be defined for each architecture.
		- add information about what do_bug_frame() returns.
		- invert the condition 'if ( region )' in do_bug_frame() to reduce the indention.
		- change type of variable i from 'unsigned int' to 'size_t' as it  is compared with
		  n_bugs which has type 'size_t'

 * xen/bug.h:
		- Introduce generic BUG_DEBUGGER_TRAP_FATAL(regs) mnacros which is used to deal with 
		  debugger_trap_fatal(TRAP_invalid_op, regs) where TRAP_invalid_op is x86-specific
		- remove '#include <xen/stringify.h>' as it doesn't need any more after switch to
		  x86 implementation.
		- remove '#include <xen/errno.h>' as it isn't needed any more
		- move bug_*() macros inside '#ifndef BUG_FRAME_STRUCT'
		- add <xen/lib.h> to fix compile issue with BUILD_ON()...
		- Add documentation for BUG_ASM_CONST.
 * Update the commit message
---
Changes in V3:
 * Add debugger_trap_fatal() to do_bug_frame(). It simplifies usage of
   do_bug_frame() for x86 so making handle_bug_frame() and find_bug_frame()
   not needed anymore.
 * Update do_bug_frame() to return -EINVAL if something goes wrong; otherwise
   id of bug_frame
 * Update _ASM_BUGFRAME_TEXT to make it more portable.
 * Drop unnecessary comments.
 * define stub value for TRAP_invalid_op in case if wasn't defined in
   arch-specific folders.
---
Changes in V2:
  - Switch to x86 implementation as generic as it is more compact
    ( at least from the point of view of bug frame structure ).
  - Rename CONFIG_GENERIC_DO_BUG_FRAME to CONFIG_GENERIC_BUG_FRAME.
  - Change the macro bug_loc(b) to avoid the need for a cast:
    #define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
  - Rename BUG_FRAME_STUFF to BUG_FRAME_STRUCT
  - Make macros related to bug frame structure more generic.
  - Introduce BUG_INSTR and MODIFIER to make _ASM_BUGFRAME_TEXT reusable
    between x86 and RISC-V.
  - Rework do_bug_frame() and introduce find_bug_frame() and handle_bug_frame()
    functions to make it reusable by x86.
  - code style fixes
---
 xen/common/Kconfig    |   3 +
 xen/common/Makefile   |   1 +
 xen/common/bug.c      | 103 +++++++++++++++++++++++++++
 xen/include/xen/bug.h | 158 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 265 insertions(+)
 create mode 100644 xen/common/bug.c
 create mode 100644 xen/include/xen/bug.h

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index f1ea3199c8..b226323537 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -28,6 +28,9 @@ config ALTERNATIVE_CALL
 config ARCH_MAP_DOMAIN_PAGE
 	bool
 
+config GENERIC_BUG_FRAME
+	bool
+
 config HAS_ALTERNATIVE
 	bool
 
diff --git a/xen/common/Makefile b/xen/common/Makefile
index bbd75b4be6..46049eac35 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -1,5 +1,6 @@
 obj-$(CONFIG_ARGO) += argo.o
 obj-y += bitmap.o
+obj-$(CONFIG_GENERIC_BUG_FRAME) += bug.o
 obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
 obj-$(CONFIG_CORE_PARKING) += core_parking.o
 obj-y += cpu.o
diff --git a/xen/common/bug.c b/xen/common/bug.c
new file mode 100644
index 0000000000..e636edd85a
--- /dev/null
+++ b/xen/common/bug.c
@@ -0,0 +1,103 @@
+#include <xen/bug.h>
+#include <xen/debugger.h>
+#include <xen/errno.h>
+#include <xen/kernel.h>
+#include <xen/livepatch.h>
+#include <xen/string.h>
+#include <xen/types.h>
+#include <xen/virtual_region.h>
+
+#include <asm/processor.h>
+
+/*
+ * Returns a negative value in case of an error otherwise the bug type.
+ */
+int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
+{
+    const struct bug_frame *bug = NULL;
+    const struct virtual_region *region;
+    const char *prefix = "", *filename, *predicate;
+    unsigned long fixup;
+    unsigned int id = BUGFRAME_NR, lineno;
+
+    region = find_text_region(pc);
+    if ( !region )
+        return -EINVAL;
+
+    for ( id = 0; id < BUGFRAME_NR; id++ )
+    {
+        const struct bug_frame *b;
+        size_t i;
+
+        for ( i = 0, b = region->frame[id].bugs;
+                i < region->frame[id].n_bugs; b++, i++ )
+        {
+            if ( bug_loc(b) == pc )
+            {
+                bug = b;
+                goto found;
+            }
+        }
+    }
+
+ found:
+    if ( !bug )
+        return -EINVAL;
+
+    if ( id == BUGFRAME_run_fn )
+    {
+        void (*fn)(const struct cpu_user_regs *) = bug_ptr(bug);
+
+        fn(regs);
+
+        return id;
+    }
+
+    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
+    filename = bug_ptr(bug);
+    if ( !is_kernel(filename) && !is_patch(filename) )
+        return -EINVAL;
+    fixup = strlen(filename);
+    if ( fixup > 50 )
+    {
+        filename += fixup - 47;
+        prefix = "...";
+    }
+    lineno = bug_line(bug);
+
+    switch ( id )
+    {
+    case BUGFRAME_warn:
+        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
+        show_execution_state(regs);
+
+        return id;
+
+    case BUGFRAME_bug:
+        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
+
+        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
+            return id;
+
+        show_execution_state(regs);
+        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
+
+    case BUGFRAME_assert:
+        /* ASSERT: decode the predicate string pointer. */
+        predicate = bug_msg(bug);
+        if ( !is_kernel(predicate) && !is_patch(predicate) )
+            predicate = "<unknown>";
+
+        printk("Assertion '%s' failed at %s%s:%d\n",
+               predicate, prefix, filename, lineno);
+
+        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
+            return id;
+
+        show_execution_state(regs);
+        panic("Assertion '%s' failed at %s%s:%d\n",
+              predicate, prefix, filename, lineno);
+    }
+
+    return id;
+}
diff --git a/xen/include/xen/bug.h b/xen/include/xen/bug.h
new file mode 100644
index 0000000000..722ec5c23b
--- /dev/null
+++ b/xen/include/xen/bug.h
@@ -0,0 +1,158 @@
+#ifndef __XEN_BUG_H__
+#define __XEN_BUG_H__
+
+#define BUGFRAME_run_fn 0
+#define BUGFRAME_warn   1
+#define BUGFRAME_bug    2
+#define BUGFRAME_assert 3
+
+#define BUGFRAME_NR     4
+
+#ifndef BUG_FRAME_STRUCT
+#define BUG_DISP_WIDTH    24
+#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
+#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
+#endif
+
+#include <asm/bug.h>
+
+#ifndef BUG_DEBUGGER_TRAP_FATAL
+#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
+#endif
+
+#ifndef __ASSEMBLY__
+
+#include <xen/lib.h>
+
+#ifndef BUG_FRAME_STRUCT
+
+struct bug_frame {
+    signed int loc_disp:BUG_DISP_WIDTH;
+    unsigned int line_hi:BUG_LINE_HI_WIDTH;
+    signed int ptr_disp:BUG_DISP_WIDTH;
+    unsigned int line_lo:BUG_LINE_LO_WIDTH;
+    signed int msg_disp[];
+};
+
+#define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
+
+#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
+
+#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
+                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
+                      BUG_LINE_LO_WIDTH) +                                   \
+                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
+                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
+
+#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
+
+#endif /* BUG_FRAME_STRUCT */
+
+/*
+ * Generic implementation has been based on x86 implementation where
+ * '%c' to deal with punctation sign ($, # depending on architecture)
+ * before immediate.
+ *
+ * Not all architecture's compilers have full support of '%c' and not for all
+ * assemblers punctation sign is used before immediate.
+ * Thereby it was decided to introduce BUG_ASM_CONST.
+ */
+#ifndef BUG_ASM_CONST
+#define BUG_ASM_CONST ""
+#endif
+
+#if !defined(_ASM_BUGFRAME_TEXT) || !defined(_ASM_BUGFRAME_INFO)
+
+#define _ASM_BUGFRAME_TEXT(second_frame)                                            \
+    ".Lbug%=:"BUG_INSTR"\n"                                                         \
+    "   .pushsection .bug_frames.%"BUG_ASM_CONST"[bf_type], \"a\", %%progbits\n"    \
+    "   .p2align 2\n"                                                               \
+    ".Lfrm%=:\n"                                                                    \
+    "   .long (.Lbug%= - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_hi]\n"                 \
+    "   .long (%"BUG_ASM_CONST"[bf_ptr] - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_lo]\n"\
+    "   .if " #second_frame "\n"                                                    \
+    "   .long 0, %"BUG_ASM_CONST"[bf_msg] - .Lfrm%=\n"                              \
+    "   .endif\n"                                                                   \
+    "   .popsection\n"
+
+#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
+    [bf_type]    "i" (type),                                                 \
+    [bf_ptr]     "i" (ptr),                                                  \
+    [bf_msg]     "i" (msg),                                                  \
+    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
+                      << BUG_DISP_WIDTH),                                    \
+    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
+
+#endif /* _ASM_BUGFRAME_TEXT || _ASM_BUGFRAME_INFO */
+
+#ifndef BUG_FRAME
+
+#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
+    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH));         \
+    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
+    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
+                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
+} while (0)
+
+#endif
+
+#ifndef run_in_exception_handler
+
+/*
+ * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
+ * and use a real static inline here to get proper type checking of fn().
+ */
+#define run_in_exception_handler(fn)                            \
+    do {                                                        \
+        (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
+        BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);             \
+    } while ( 0 )
+
+#endif /* run_in_exception_handler */
+
+#ifndef WARN
+#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, NULL)
+#endif
+
+#ifndef BUG
+#define BUG() do {                                              \
+    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, NULL);      \
+    unreachable();                                              \
+} while (0)
+#endif
+
+#ifndef assert_failed
+#define assert_failed(msg) do {                                 \
+    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
+    unreachable();                                              \
+} while (0)
+#endif
+
+#ifdef CONFIG_GENERIC_BUG_FRAME
+
+struct cpu_user_regs;
+
+/*
+ * Returns a negative value in case of an error otherwise the bug type.
+ */
+int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc);
+
+#endif /* CONFIG_GENERIC_BUG_FRAME */
+
+extern const struct bug_frame __start_bug_frames[],
+                              __stop_bug_frames_0[],
+                              __stop_bug_frames_1[],
+                              __stop_bug_frames_2[],
+                              __stop_bug_frames_3[];
+
+#endif /* !__ASSEMBLY__ */
+
+#endif /* __XEN_BUG_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:38:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:38:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505813.778777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2o7-000655-B2; Fri, 03 Mar 2023 10:38:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505813.778777; Fri, 03 Mar 2023 10:38: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 1pY2o7-000639-4X; Fri, 03 Mar 2023 10:38:35 +0000
Received: by outflank-mailman (input) for mailman id 505813;
 Fri, 03 Mar 2023 10:38: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=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY2o6-0005jk-5R
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:38:34 +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 8b2a5923-b9af-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:38:32 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id r27so2954708lfe.10
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 02:38:32 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 d11-20020ac25ecb000000b004cb3a55feacsm338760lfq.100.2023.03.03.02.38.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 02:38: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: 8b2a5923-b9af-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677839912;
        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=oruXISOzbtYmsjJP9608NUUX4p1qMmDHX62cBBlU67Q=;
        b=T4ZzVZJADkACXJpTwzSpuzk0Juamfu/B3GEmo4X+fYL4UDjugiv+PmRUe9SMftPY5/
         cLPNG1H+v3g4j6OTXb6vA0ne9NybG8sSedxoyn6x2Qfs364q7Ta+KLEoJP632Bs2f0O2
         hM4MeW2wItSmczmPWAix8xlkukalRficE2kDzLVRuS0gZzwdNmSPggie9ZvII0XvVvf7
         bIYG5A2AyhsaqTYtgYqunRZWUIfQvD0C496hWUO4GEiimbprM3FZu1k0rXVgIl0rnpsN
         Dk6SGAQsoiczHQLxXljR1inHq9r2qrBKvaTrGFL/xvSRivNGqaE115AZfcwqviP/Zzyk
         6+AA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677839912;
        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=oruXISOzbtYmsjJP9608NUUX4p1qMmDHX62cBBlU67Q=;
        b=qU1rQgCOMtuyitZ0gbmcco5j7gw/xIh0lASkbJd67luvf6qleLThGsXem2GpK9Z5GV
         reHQQPKJXx7RMSLEFGPxU/2LyXxsIqTY5s8eLQhIhchHYKEaqElUeqcA77aLWXT5GSuw
         xg4OUqCg2cphn4Ga4MXln0UueTuUHmB7KreTFTN9oYmnZqYXuHXP7JKQ4jtzDS9/BNwj
         z33XjzpIp2++Kel8EGfAWExXC7bSGpFnHd9IrgoP1qlcfsK7MmMjUI5s0LzFEApvLJmQ
         7a7lQagVQNuuWzsDJ8bNodsVPnsHiry7DQN5N0p9UPpmrPGNiD4Ib2hlLno7BuSsZZ0W
         9beg==
X-Gm-Message-State: AO0yUKXa/qyfC1qdCXDp6CulrJeKVXpqt5UsJDYEkLCw6F3Dbgls3JD7
	XRh6MmheGgIlrhjiMXbKMMkEDUdf2Kw=
X-Google-Smtp-Source: AK7set8z6ttBU7k62qkCUu7V/uYCbZELCN61J9yKFY7e74qSUh/e4Qn70pVNDvPiDGzfpGNlxomjPw==
X-Received: by 2002:ac2:598c:0:b0:4b0:1305:6ebf with SMTP id w12-20020ac2598c000000b004b013056ebfmr387484lfn.53.1677839911779;
        Fri, 03 Mar 2023 02:38:31 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v5 2/4] xen: change <asm/bug.h> to <xen/bug.h>
Date: Fri,  3 Mar 2023 12:38:23 +0200
Message-Id: <f108147036c9e35b156b45c0f52779cea09025c9.1677839409.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677839409.git.oleksii.kurochko@gmail.com>
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The idea of the patch is to change all <asm/bug.h> to <xen/bug.h> and
keep Xen compilable with adding only minimal amount of changes:
1. It was added "#include <xen/types.h>" to ARM's "<asm/bug.h>" as it
  uses uint_{16,32}t in 'struct bug_frame'.
2. It was added '#define BUG_FRAME_STRUCT' which means that ARM hasn't
  been switched to generic implementation yet.
3. It was added '#define BUG_FRAME_STRUCT' which means that x86 hasn't
  been switched to generic implementation yet.
4. BUGFRAME_* and _start_bug_frame[], _stop_bug_frame_*[] were removed
  for ARM & x86 to deal with compilation errors such as:
      redundant redeclaration of ...

In the following two patches x86 and ARM archictectures will be
switched fully:
* xen/arm: switch ARM to use generic implementation of bug.h
* xen/x86: switch x86 to use generic implemetation of bug.h

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 - Nothing changed
---
Changes in V4:
	- defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH were moved into
	  "ifndef BUG_FRAME_STRUCT" in <xen/bug.h> as they are specific for 'struct bug_frame' and so should
	  co-exist together. So the defines were back to <asm/bug.h> until BUG_FRAME_STRUCT will be defined in
	  <asm/bug.h>.
	- Update the comment message.
---
Changes in V3:
 * Update patch 2 not to break compilation: move some parts from patches 3 and 4
   to patch 2:
   * move some generic parts from <asm/bug.h> to <xen/bug.h>
   * add define BUG_FRAME_STRUCT in ARM's <asm/bug.h>
---
Changes in V2:
 * Put [PATCH v1 4/4] xen: change <asm/bug.h> to <xen/bug.h> as second patch,
   update the patch to change all <asm/bug.h> to <xen/bug.h> among the whole project
   to not break build.
 * Update the commit message.
---
 xen/arch/arm/include/asm/bug.h       | 17 ++++-------------
 xen/arch/arm/include/asm/div64.h     |  2 +-
 xen/arch/arm/vgic/vgic-v2.c          |  2 +-
 xen/arch/arm/vgic/vgic.c             |  2 +-
 xen/arch/x86/acpi/cpufreq/cpufreq.c  |  2 +-
 xen/arch/x86/include/asm/asm_defns.h |  2 +-
 xen/arch/x86/include/asm/bug.h       | 15 ++-------------
 xen/drivers/cpufreq/cpufreq.c        |  2 +-
 xen/include/xen/lib.h                |  2 +-
 9 files changed, 13 insertions(+), 33 deletions(-)

diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index f4088d0913..9315662c6e 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -1,6 +1,8 @@
 #ifndef __ARM_BUG_H__
 #define __ARM_BUG_H__
 
+#include <xen/types.h>
+
 #if defined(CONFIG_ARM_32)
 # include <asm/arm32/bug.h>
 #elif defined(CONFIG_ARM_64)
@@ -13,6 +15,8 @@
 #define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
 #define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
 
+#define BUG_FRAME_STRUCT
+
 struct bug_frame {
     signed int loc_disp;    /* Relative address to the bug address */
     signed int file_disp;   /* Relative address to the filename */
@@ -26,13 +30,6 @@ struct bug_frame {
 #define bug_line(b) ((b)->line)
 #define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
 
-#define BUGFRAME_run_fn 0
-#define BUGFRAME_warn   1
-#define BUGFRAME_bug    2
-#define BUGFRAME_assert 3
-
-#define BUGFRAME_NR     4
-
 /* Many versions of GCC doesn't support the asm %c parameter which would
  * be preferable to this unpleasantness. We use mergeable string
  * sections to avoid multiple copies of the string appearing in the
@@ -89,12 +86,6 @@ struct bug_frame {
     unreachable();                                              \
 } while (0)
 
-extern const struct bug_frame __start_bug_frames[],
-                              __stop_bug_frames_0[],
-                              __stop_bug_frames_1[],
-                              __stop_bug_frames_2[],
-                              __stop_bug_frames_3[];
-
 #endif /* __ARM_BUG_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/arm/include/asm/div64.h b/xen/arch/arm/include/asm/div64.h
index 1cd58bc51a..fc667a80f9 100644
--- a/xen/arch/arm/include/asm/div64.h
+++ b/xen/arch/arm/include/asm/div64.h
@@ -74,7 +74,7 @@
 
 #elif __GNUC__ >= 4
 
-#include <asm/bug.h>
+#include <xen/bug.h>
 
 /*
  * If the divisor happens to be constant, we determine the appropriate
diff --git a/xen/arch/arm/vgic/vgic-v2.c b/xen/arch/arm/vgic/vgic-v2.c
index 1a99d3a8b4..c90e88fddb 100644
--- a/xen/arch/arm/vgic/vgic-v2.c
+++ b/xen/arch/arm/vgic/vgic-v2.c
@@ -16,8 +16,8 @@
  */
 
 #include <asm/new_vgic.h>
-#include <asm/bug.h>
 #include <asm/gic.h>
+#include <xen/bug.h>
 #include <xen/sched.h>
 #include <xen/sizes.h>
 
diff --git a/xen/arch/arm/vgic/vgic.c b/xen/arch/arm/vgic/vgic.c
index f0f2ea5021..b9463a5f27 100644
--- a/xen/arch/arm/vgic/vgic.c
+++ b/xen/arch/arm/vgic/vgic.c
@@ -15,9 +15,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <xen/bug.h>
 #include <xen/list_sort.h>
 #include <xen/sched.h>
-#include <asm/bug.h>
 #include <asm/event.h>
 #include <asm/new_vgic.h>
 
diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index c27cbb2304..18ff2a443b 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -27,6 +27,7 @@
  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  */
 
+#include <xen/bug.h>
 #include <xen/types.h>
 #include <xen/errno.h>
 #include <xen/delay.h>
@@ -35,7 +36,6 @@
 #include <xen/sched.h>
 #include <xen/timer.h>
 #include <xen/xmalloc.h>
-#include <asm/bug.h>
 #include <asm/msr.h>
 #include <asm/io.h>
 #include <asm/processor.h>
diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
index d9431180cf..a8526cf36c 100644
--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -6,7 +6,7 @@
 /* NB. Auto-generated from arch/.../asm-offsets.c */
 #include <asm/asm-offsets.h>
 #endif
-#include <asm/bug.h>
+#include <xen/bug.h>
 #include <asm/x86-defns.h>
 #include <xen/stringify.h>
 #include <asm/cpufeature.h>
diff --git a/xen/arch/x86/include/asm/bug.h b/xen/arch/x86/include/asm/bug.h
index b7265bdfbe..79133e53e7 100644
--- a/xen/arch/x86/include/asm/bug.h
+++ b/xen/arch/x86/include/asm/bug.h
@@ -5,15 +5,10 @@
 #define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
 #define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
 
-#define BUGFRAME_run_fn 0
-#define BUGFRAME_warn   1
-#define BUGFRAME_bug    2
-#define BUGFRAME_assert 3
-
-#define BUGFRAME_NR     4
-
 #ifndef __ASSEMBLY__
 
+#define BUG_FRAME_STRUCT
+
 struct bug_frame {
     signed int loc_disp:BUG_DISP_WIDTH;
     unsigned int line_hi:BUG_LINE_HI_WIDTH;
@@ -80,12 +75,6 @@ struct bug_frame {
     unreachable();                                              \
 } while (0)
 
-extern const struct bug_frame __start_bug_frames[],
-                              __stop_bug_frames_0[],
-                              __stop_bug_frames_1[],
-                              __stop_bug_frames_2[],
-                              __stop_bug_frames_3[];
-
 #else  /* !__ASSEMBLY__ */
 
 /*
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index a94520ee57..354f78580b 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -26,6 +26,7 @@
  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  */
 
+#include <xen/bug.h>
 #include <xen/types.h>
 #include <xen/errno.h>
 #include <xen/delay.h>
@@ -39,7 +40,6 @@
 #include <xen/guest_access.h>
 #include <xen/domain.h>
 #include <xen/cpu.h>
-#include <asm/bug.h>
 #include <asm/io.h>
 #include <asm/processor.h>
 
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 05ee1e18af..e914ccade0 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -24,12 +24,12 @@
 
 #ifndef __ASSEMBLY__
 
+#include <xen/bug.h>
 #include <xen/inttypes.h>
 #include <xen/stdarg.h>
 #include <xen/types.h>
 #include <xen/xmalloc.h>
 #include <xen/string.h>
-#include <asm/bug.h>
 
 #define BUG_ON(p)  do { if (unlikely(p)) BUG();  } while (0)
 #define WARN_ON(p)  ({                  \
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:38:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:38:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505814.778790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2o9-0006XG-I3; Fri, 03 Mar 2023 10:38:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505814.778790; Fri, 03 Mar 2023 10: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 1pY2o9-0006X5-Eh; Fri, 03 Mar 2023 10:38:37 +0000
Received: by outflank-mailman (input) for mailman id 505814;
 Fri, 03 Mar 2023 10: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=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY2o7-00068S-MC
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:38: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 8cad6d7a-b9af-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 11:38:34 +0100 (CET)
Received: by mail-lf1-x12b.google.com with SMTP id j11so2929178lfg.13
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 02:38:34 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 d11-20020ac25ecb000000b004cb3a55feacsm338760lfq.100.2023.03.03.02.38.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 02:38: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: 8cad6d7a-b9af-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677839914;
        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=fUiRMVPR0ilpfT8Ki5uaE/L5ncki0uX/6QKrZCFiFtE=;
        b=F3oV1tXW3akzyk4y1Hd41DCm5wIO/YmVWNW40gcL/mU9jOQkA9XtoNn184cmjNyEdO
         C53/k+UofL13XkS46Lw9+HiT2HNIi0kfTMSek8wuwjHVaTOSm0R9xWsxAvfQqkp5f/yg
         sEhTkOCnALPTJywLe1v/cqyBtU7gxaKp5jt01qtdLujYeN2E0CDcWweOF3Ir6gB74eWf
         PVCAGFi7kVJEh9g2LHJSJ3xscSRFVMEF+dEzDHiwQmPDNzfT7f1crpy8PFe2V51hA/FX
         bmUTGgZgwm7A9tGyZqt16EX/BsgUqrMOeoNiTtoUfiQhYFxSAXJHNeuQ5V6dqQgNOLgX
         aA1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677839914;
        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=fUiRMVPR0ilpfT8Ki5uaE/L5ncki0uX/6QKrZCFiFtE=;
        b=cADuxZA/1Z/YsP+gL5lAEaNYJ6syoq6Txg1a7heoUImOKPnyolJZSVJRFw142RrVyd
         J19G3EOVru3uL+x6nYkdkWQgWBZmjjLWW0mZrEvt1nh1+z0XXB29fLdzTJwG8QRcc30M
         HV00IzZ8Uoa7THCBNIEKpL0ia9DfUXdEnd36U9Y1ALZPLejOZ6Gwllz2h2EhT3VZu3uU
         4+3ATX3UG2gUSQY7Zf3bj1HKIXxjBIGvtVKmOoZmOwOJlObQU7oEQHB/2sFf7Uw2L8Tt
         cLh+EORkVOgf7DiJfCBHp27B7/HIu/8hjIqgOUNcAalZ4nDxBT9yo0hdM7d+n0AeXst3
         0VGg==
X-Gm-Message-State: AO0yUKXlzMLay9YKCRFDM4ZeIgfiiDxoo+IJ6Yny9kuyZbPaWUtz4bP+
	lb5TnB1aOEh8hzz0Q8dZ8xI/iJ/fHug=
X-Google-Smtp-Source: AK7set/iZaFpQdjpJ/6luiC9gfz02zE1/t2IZW6zTNcaO9VgdL2599powdfaTIRtOycugQ7uVrL8ow==
X-Received: by 2002:a05:6512:3b98:b0:4d8:86c1:477d with SMTP id g24-20020a0565123b9800b004d886c1477dmr1476662lfv.18.1677839914238;
        Fri, 03 Mar 2023 02:38:34 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v5 4/4] xen/x86: switch x86 to use generic implemetation of bug.h
Date: Fri,  3 Mar 2023 12:38:25 +0200
Message-Id: <4a478638449e66a76e1671db38ec29b9e3108201.1677839409.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677839409.git.oleksii.kurochko@gmail.com>
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following changes were made:
* Make GENERIC_BUG_FRAME mandatory for X86
* Update asm/bug.h using generic implementation in <xen/bug.h>
* Change prototype of debugger_trap_fatal() in asm/debugger.h
  to align it with generic prototype in <xen/debugger.h>.
* Update do_invalid_op using generic do_bug_frame()

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 * Nothing changed
---
Changes in V4:
 * Back comment /* !__ASSEMBLY__ */ for #else case in <asm/bug.h>
 * Remove changes related to x86/.../asm/debuger.h as do_bug_frame() prototype
   was updated and cpu_user_regs isn't const any more.
---
Changes in V3:
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
 * MODIFIER was change to BUG_ASM_CONST to align with generic implementation
---
Changes in V2:
  * Remove all unnecessary things from <asm/bug.h> as they were introduced in
    <xen/bug.h>.
  * Define BUG_INSTR = 'ud2' and MODIFIER = 'c' ( it is needed to skip '$'
    when use an imidiate in x86 assembly )
  * Update do_invalid_op() to re-use handle_bug_frame() and find_bug_frame()
    from generic implemetation of CONFIG_GENERIC_BUG_FRAME
  * Code style fixes.
---
 xen/arch/x86/Kconfig           |  1 +
 xen/arch/x86/include/asm/bug.h | 73 ++----------------------------
 xen/arch/x86/traps.c           | 81 +++-------------------------------
 3 files changed, 11 insertions(+), 144 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 6a7825f4ba..b0ff1f3ee6 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -11,6 +11,7 @@ config X86
 	select ARCH_MAP_DOMAIN_PAGE
 	select ARCH_SUPPORTS_INT128
 	select CORE_PARKING
+	select GENERIC_BUG_FRAME
 	select HAS_ALTERNATIVE
 	select HAS_COMPAT
 	select HAS_CPUFREQ
diff --git a/xen/arch/x86/include/asm/bug.h b/xen/arch/x86/include/asm/bug.h
index 79133e53e7..2a8d3f84b8 100644
--- a/xen/arch/x86/include/asm/bug.h
+++ b/xen/arch/x86/include/asm/bug.h
@@ -1,79 +1,12 @@
 #ifndef __X86_BUG_H__
 #define __X86_BUG_H__
 
-#define BUG_DISP_WIDTH    24
-#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
-#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
+#define BUG_DEBUGGER_TRAP_FATAL(regs) debugger_trap_fatal(X86_EXC_GP,regs)
 
 #ifndef __ASSEMBLY__
 
-#define BUG_FRAME_STRUCT
-
-struct bug_frame {
-    signed int loc_disp:BUG_DISP_WIDTH;
-    unsigned int line_hi:BUG_LINE_HI_WIDTH;
-    signed int ptr_disp:BUG_DISP_WIDTH;
-    unsigned int line_lo:BUG_LINE_LO_WIDTH;
-    signed int msg_disp[];
-};
-
-#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
-#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
-#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
-                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
-                      BUG_LINE_LO_WIDTH) +                                   \
-                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
-                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
-#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
-
-#define _ASM_BUGFRAME_TEXT(second_frame)                                     \
-    ".Lbug%=: ud2\n"                                                         \
-    ".pushsection .bug_frames.%c[bf_type], \"a\", @progbits\n"               \
-    ".p2align 2\n"                                                           \
-    ".Lfrm%=:\n"                                                             \
-    ".long (.Lbug%= - .Lfrm%=) + %c[bf_line_hi]\n"                           \
-    ".long (%c[bf_ptr] - .Lfrm%=) + %c[bf_line_lo]\n"                        \
-    ".if " #second_frame "\n"                                                \
-    ".long 0, %c[bf_msg] - .Lfrm%=\n"                                        \
-    ".endif\n"                                                               \
-    ".popsection\n"                                                          \
-
-#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
-    [bf_type]    "i" (type),                                                 \
-    [bf_ptr]     "i" (ptr),                                                  \
-    [bf_msg]     "i" (msg),                                                  \
-    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
-                      << BUG_DISP_WIDTH),                                    \
-    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
-
-#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
-    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH));         \
-    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
-    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
-                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
-} while (0)
-
-
-#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, NULL)
-#define BUG() do {                                              \
-    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, NULL);      \
-    unreachable();                                              \
-} while (0)
-
-/*
- * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
- * and use a real static inline here to get proper type checking of fn().
- */
-#define run_in_exception_handler(fn)                            \
-    do {                                                        \
-        (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
-        BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);             \
-    } while ( 0 )
-
-#define assert_failed(msg) do {                                 \
-    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
-    unreachable();                                              \
-} while (0)
+#define BUG_INSTR       "ud2"
+#define BUG_ASM_CONST   "c"
 
 #else  /* !__ASSEMBLY__ */
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index cade9e12f8..7c33ebceff 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -24,6 +24,7 @@
  * Gareth Hughes <gareth@valinux.com>, May 2000
  */
 
+#include <xen/bug.h>
 #include <xen/init.h>
 #include <xen/sched.h>
 #include <xen/lib.h>
@@ -1166,12 +1167,9 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
 
 void do_invalid_op(struct cpu_user_regs *regs)
 {
-    const struct bug_frame *bug = NULL;
     u8 bug_insn[2];
-    const char *prefix = "", *filename, *predicate, *eip = (char *)regs->rip;
-    unsigned long fixup;
-    int id = -1, lineno;
-    const struct virtual_region *region;
+    const char *eip = (char *)regs->rip;
+    int id;
 
     if ( likely(guest_mode(regs)) )
     {
@@ -1185,83 +1183,18 @@ void do_invalid_op(struct cpu_user_regs *regs)
          memcmp(bug_insn, "\xf\xb", sizeof(bug_insn)) )
         goto die;
 
-    region = find_text_region(regs->rip);
-    if ( region )
-    {
-        for ( id = 0; id < BUGFRAME_NR; id++ )
-        {
-            const struct bug_frame *b;
-            unsigned int i;
-
-            for ( i = 0, b = region->frame[id].bugs;
-                  i < region->frame[id].n_bugs; b++, i++ )
-            {
-                if ( bug_loc(b) == eip )
-                {
-                    bug = b;
-                    goto found;
-                }
-            }
-        }
-    }
-
- found:
-    if ( !bug )
+    id = do_bug_frame(regs, regs->rip);
+    if ( id < 0 )
         goto die;
-    eip += sizeof(bug_insn);
-    if ( id == BUGFRAME_run_fn )
-    {
-        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
-
-        fn(regs);
-        fixup_exception_return(regs, (unsigned long)eip);
-        return;
-    }
 
-    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = bug_ptr(bug);
-    if ( !is_kernel(filename) && !is_patch(filename) )
-        goto die;
-    fixup = strlen(filename);
-    if ( fixup > 50 )
-    {
-        filename += fixup - 47;
-        prefix = "...";
-    }
-    lineno = bug_line(bug);
+    eip += sizeof(bug_insn);
 
     switch ( id )
     {
+    case BUGFRAME_run_fn:
     case BUGFRAME_warn:
-        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
         fixup_exception_return(regs, (unsigned long)eip);
         return;
-
-    case BUGFRAME_bug:
-        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return;
-
-        show_execution_state(regs);
-        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-    case BUGFRAME_assert:
-        /* ASSERT: decode the predicate string pointer. */
-        predicate = bug_msg(bug);
-        if ( !is_kernel(predicate) && !is_patch(predicate) )
-            predicate = "<unknown>";
-
-        printk("Assertion '%s' failed at %s%s:%d\n",
-               predicate, prefix, filename, lineno);
-
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return;
-
-        show_execution_state(regs);
-        panic("Assertion '%s' failed at %s%s:%d\n",
-              predicate, prefix, filename, lineno);
     }
 
  die:
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:38:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:38:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505815.778796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2o9-0006bJ-Tz; Fri, 03 Mar 2023 10:38:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505815.778796; Fri, 03 Mar 2023 10: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 1pY2o9-0006Zy-P4; Fri, 03 Mar 2023 10:38:37 +0000
Received: by outflank-mailman (input) for mailman id 505815;
 Fri, 03 Mar 2023 10:38: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=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY2o7-0005jk-GL
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:38:35 +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 8becb00e-b9af-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:38:33 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id j11so2929136lfg.13
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 02:38:33 -0800 (PST)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 d11-20020ac25ecb000000b004cb3a55feacsm338760lfq.100.2023.03.03.02.38.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 02: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: 8becb00e-b9af-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677839913;
        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=pjC6qCxDVrnhK8is2cy4/nO3uhLVsjHLR9u3r1p2UmU=;
        b=SLdEwtUSgDExuV2l2xk/frQE00QmcThDuav/hLFwg6XYUc4mU8HtFXqxh+SiiOZMgS
         Rirt2RrfEUH12Vvy/Bsuqw/v1WZzjZaRd/+cxEjcYtWx837bnjXglEtWRT5CDwffQDqL
         PByf5h4WN3GZ9B+6SDumdnI+cUGkeZ35L4uy8nCaptlwjlTVuSOvc9cldrQtxm/z9acQ
         uqKRW4Xx1oasacqrIzERxxt4R0D5iqEkBa5oouZ6GCiChtRCjjKLTtvux0UpmCkJS16O
         kqJX5xU9MIb+hdwo7bO9tCAGanJbsmTh+XBkzGHezX/Mwn+pPQT4uGBRkaStbknZWuMG
         PdQg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677839913;
        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=pjC6qCxDVrnhK8is2cy4/nO3uhLVsjHLR9u3r1p2UmU=;
        b=mLzA0i8t6PEn6C8BniNl39fyd9lw/2TZtBvXO3kYtcVNSzOuf18kJEQwu77siFAzb6
         /hCO0OBK92Q+6e43B6Rj82LJNW9G4O5UBS79k0HVL9XHne0h0uEe+LZqWC+6qXxO0fUY
         0QjQUVC710hbRUvbMbIuEKD0kZ7lrpI7sSovuB5+nt6WkmUx1IFd7NHrPYIj/lGfC4cq
         E+il0BjgWPkMwN4PfWQB3rObuOJ0MGkQXx6Xy6elScABN/cCKQj99/HVElKcZZ+gN4VX
         k0NbfZRyGLBURJaZn6AtFkJfYnZ7Rlb/+17q5OlA5rYP4bOsfNR7p2L9Ysm9ZwRRapLj
         ghZQ==
X-Gm-Message-State: AO0yUKWJ/HsWGj/y9mkEnA/leDpCsV+QREHMWlXCJ975rgM1OiAp0Ku/
	xxmNAP7SwmfpD6zAqT4CJ7llTeMJbjo=
X-Google-Smtp-Source: AK7set/lQXWktVdhg6yA5gda5sdT8hi1AiCS9S9fr1cj1LhWvojXbYSQFvvRDHze29xpDjlSWStHgA==
X-Received: by 2002:ac2:51a8:0:b0:4cc:7308:8f40 with SMTP id f8-20020ac251a8000000b004cc73088f40mr436479lfk.40.1677839913143;
        Fri, 03 Mar 2023 02:38:33 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v5 3/4] xen/arm: switch ARM to use generic implementation of bug.h
Date: Fri,  3 Mar 2023 12:38:24 +0200
Message-Id: <9de74cc424d5f198ac76ff46394aa5b99502d24e.1677839409.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1677839409.git.oleksii.kurochko@gmail.com>
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following changes were made:
* make GENERIC_BUG_FRAME mandatory for ARM
* As do_bug_frame() returns -EINVAL in case something goes wrong
  otherwise id of bug frame. Thereby 'if' cases where do_bug_frame() was
  updated to check if the returned value is less than 0
* Switch ARM's implementation of bug.h macros to generic one

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 * Nothing changed
---
Changes in V4:
 * Switch ARM implementation to generic one
 * Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed after switch to generic implementation
 * Update commit message
---
Changes in V3:
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
---
Changes in V2:
 * Rename bug_file() in ARM implementation to bug_ptr() as
   generic do_bug_frame() uses bug_ptr().
 * Remove generic parts from bug.h
 * Remove declaration of 'int do_bug_frame(...)'
   from <asm/traps.h> as it was introduced in <xen/bug.h>
---
 xen/arch/arm/Kconfig                 |  1 +
 xen/arch/arm/arm32/traps.c           |  2 +-
 xen/arch/arm/include/asm/arm32/bug.h |  2 -
 xen/arch/arm/include/asm/arm64/bug.h |  2 -
 xen/arch/arm/include/asm/bug.h       | 75 +-------------------------
 xen/arch/arm/include/asm/traps.h     |  2 -
 xen/arch/arm/traps.c                 | 81 +---------------------------
 7 files changed, 4 insertions(+), 161 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 239d3aed3c..aad6644a7b 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -12,6 +12,7 @@ config ARM_64
 
 config ARM
 	def_bool y
+	select GENERIC_BUG_FRAME
 	select HAS_ALTERNATIVE
 	select HAS_DEVICE_TREE
 	select HAS_PASSTHROUGH
diff --git a/xen/arch/arm/arm32/traps.c b/xen/arch/arm/arm32/traps.c
index a2fc1c22cb..61c61132c7 100644
--- a/xen/arch/arm/arm32/traps.c
+++ b/xen/arch/arm/arm32/traps.c
@@ -48,7 +48,7 @@ void do_trap_undefined_instruction(struct cpu_user_regs *regs)
     if ( instr != BUG_OPCODE )
         goto die;
 
-    if ( do_bug_frame(regs, pc) )
+    if ( do_bug_frame(regs, pc) < 0 )
         goto die;
 
     regs->pc += 4;
diff --git a/xen/arch/arm/include/asm/arm32/bug.h b/xen/arch/arm/include/asm/arm32/bug.h
index 25cce151dc..3e66f35969 100644
--- a/xen/arch/arm/include/asm/arm32/bug.h
+++ b/xen/arch/arm/include/asm/arm32/bug.h
@@ -10,6 +10,4 @@
 
 #define BUG_INSTR ".word " __stringify(BUG_OPCODE)
 
-#define BUG_FN_REG r0
-
 #endif /* __ARM_ARM32_BUG_H__ */
diff --git a/xen/arch/arm/include/asm/arm64/bug.h b/xen/arch/arm/include/asm/arm64/bug.h
index 5e11c0dfd5..59f664d7de 100644
--- a/xen/arch/arm/include/asm/arm64/bug.h
+++ b/xen/arch/arm/include/asm/arm64/bug.h
@@ -6,6 +6,4 @@
 
 #define BUG_INSTR "brk " __stringify(BRK_BUG_FRAME_IMM)
 
-#define BUG_FN_REG x0
-
 #endif /* __ARM_ARM64_BUG_H__ */
diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index 9315662c6e..1d87533044 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -11,80 +11,7 @@
 # error "unknown ARM variant"
 #endif
 
-#define BUG_DISP_WIDTH    24
-#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
-#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
-
-#define BUG_FRAME_STRUCT
-
-struct bug_frame {
-    signed int loc_disp;    /* Relative address to the bug address */
-    signed int file_disp;   /* Relative address to the filename */
-    signed int msg_disp;    /* Relative address to the predicate (for ASSERT) */
-    uint16_t line;          /* Line number */
-    uint32_t pad0:16;       /* Padding for 8-bytes align */
-};
-
-#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
-#define bug_file(b) ((const void *)(b) + (b)->file_disp);
-#define bug_line(b) ((b)->line)
-#define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
-
-/* Many versions of GCC doesn't support the asm %c parameter which would
- * be preferable to this unpleasantness. We use mergeable string
- * sections to avoid multiple copies of the string appearing in the
- * Xen image. BUGFRAME_run_fn needs to be handled separately.
- */
-#define BUG_FRAME(type, line, file, has_msg, msg) do {                      \
-    BUILD_BUG_ON((line) >> 16);                                             \
-    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                    \
-    asm ("1:"BUG_INSTR"\n"                                                  \
-         ".pushsection .rodata.str, \"aMS\", %progbits, 1\n"                \
-         "2:\t.asciz " __stringify(file) "\n"                               \
-         "3:\n"                                                             \
-         ".if " #has_msg "\n"                                               \
-         "\t.asciz " #msg "\n"                                              \
-         ".endif\n"                                                         \
-         ".popsection\n"                                                    \
-         ".pushsection .bug_frames." __stringify(type) ", \"a\", %progbits\n"\
-         "4:\n"                                                             \
-         ".p2align 2\n"                                                     \
-         ".long (1b - 4b)\n"                                                \
-         ".long (2b - 4b)\n"                                                \
-         ".long (3b - 4b)\n"                                                \
-         ".hword " __stringify(line) ", 0\n"                                \
-         ".popsection");                                                    \
-} while (0)
-
-/*
- * GCC will not allow to use "i"  when PIE is enabled (Xen doesn't set the
- * flag but instead rely on the default value from the compiler). So the
- * easiest way to implement run_in_exception_handler() is to pass the to
- * be called function in a fixed register.
- */
-#define  run_in_exception_handler(fn) do {                                  \
-    asm ("mov " __stringify(BUG_FN_REG) ", %0\n"                            \
-         "1:"BUG_INSTR"\n"                                                  \
-         ".pushsection .bug_frames." __stringify(BUGFRAME_run_fn) ","       \
-         "             \"a\", %%progbits\n"                                 \
-         "2:\n"                                                             \
-         ".p2align 2\n"                                                     \
-         ".long (1b - 2b)\n"                                                \
-         ".long 0, 0, 0\n"                                                  \
-         ".popsection" :: "r" (fn) : __stringify(BUG_FN_REG) );             \
-} while (0)
-
-#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, "")
-
-#define BUG() do {                                              \
-    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, "");        \
-    unreachable();                                              \
-} while (0)
-
-#define assert_failed(msg) do {                                 \
-    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
-    unreachable();                                              \
-} while (0)
+#define BUG_ASM_CONST   "c"
 
 #endif /* __ARM_BUG_H__ */
 /*
diff --git a/xen/arch/arm/include/asm/traps.h b/xen/arch/arm/include/asm/traps.h
index 883dae368e..c6518008ec 100644
--- a/xen/arch/arm/include/asm/traps.h
+++ b/xen/arch/arm/include/asm/traps.h
@@ -69,8 +69,6 @@ void do_cp(struct cpu_user_regs *regs, const union hsr hsr);
 void do_trap_smc(struct cpu_user_regs *regs, const union hsr hsr);
 void do_trap_hvc_smccc(struct cpu_user_regs *regs);
 
-int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc);
-
 void noreturn do_unexpected_trap(const char *msg,
                                  const struct cpu_user_regs *regs);
 void do_trap_hyp_sync(struct cpu_user_regs *regs);
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 061c92acbd..9c6eb66422 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1197,85 +1197,6 @@ void do_unexpected_trap(const char *msg, const struct cpu_user_regs *regs)
     panic("CPU%d: Unexpected Trap: %s\n", smp_processor_id(), msg);
 }
 
-int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
-{
-    const struct bug_frame *bug = NULL;
-    const char *prefix = "", *filename, *predicate;
-    unsigned long fixup;
-    int id = -1, lineno;
-    const struct virtual_region *region;
-
-    region = find_text_region(pc);
-    if ( region )
-    {
-        for ( id = 0; id < BUGFRAME_NR; id++ )
-        {
-            const struct bug_frame *b;
-            unsigned int i;
-
-            for ( i = 0, b = region->frame[id].bugs;
-                  i < region->frame[id].n_bugs; b++, i++ )
-            {
-                if ( ((vaddr_t)bug_loc(b)) == pc )
-                {
-                    bug = b;
-                    goto found;
-                }
-            }
-        }
-    }
- found:
-    if ( !bug )
-        return -ENOENT;
-
-    if ( id == BUGFRAME_run_fn )
-    {
-        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
-
-        fn(regs);
-        return 0;
-    }
-
-    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = bug_file(bug);
-    if ( !is_kernel(filename) )
-        return -EINVAL;
-    fixup = strlen(filename);
-    if ( fixup > 50 )
-    {
-        filename += fixup - 47;
-        prefix = "...";
-    }
-    lineno = bug_line(bug);
-
-    switch ( id )
-    {
-    case BUGFRAME_warn:
-        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
-        return 0;
-
-    case BUGFRAME_bug:
-        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
-        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-    case BUGFRAME_assert:
-        /* ASSERT: decode the predicate string pointer. */
-        predicate = bug_msg(bug);
-        if ( !is_kernel(predicate) )
-            predicate = "<unknown>";
-
-        printk("Assertion '%s' failed at %s%s:%d\n",
-               predicate, prefix, filename, lineno);
-        show_execution_state(regs);
-        panic("Assertion '%s' failed at %s%s:%d\n",
-              predicate, prefix, filename, lineno);
-    }
-
-    return -EINVAL;
-}
-
 #ifdef CONFIG_ARM_64
 static void do_trap_brk(struct cpu_user_regs *regs, const union hsr hsr)
 {
@@ -1292,7 +1213,7 @@ static void do_trap_brk(struct cpu_user_regs *regs, const union hsr hsr)
     switch ( hsr.brk.comment )
     {
     case BRK_BUG_FRAME_IMM:
-        if ( do_bug_frame(regs, regs->pc) )
+        if ( do_bug_frame(regs, regs->pc) < 0 )
             goto die;
 
         regs->pc += 4;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:42:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:42:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505844.778810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2ra-0001Qb-La; Fri, 03 Mar 2023 10:42:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505844.778810; Fri, 03 Mar 2023 10:42:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2ra-0001QU-Ir; Fri, 03 Mar 2023 10:42:10 +0000
Received: by outflank-mailman (input) for mailman id 505844;
 Fri, 03 Mar 2023 10:42: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=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY2rZ-0001QO-Hj
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:42:09 +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 0c29dda8-b9b0-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 11:42:08 +0100 (CET)
Received: by mail-lf1-x129.google.com with SMTP id m6so3004439lfq.5
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 02:42:08 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 t15-20020ac2548f000000b004d093d60f50sm336808lfk.215.2023.03.03.02.42.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 02:42: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: 0c29dda8-b9b0-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677840128;
        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=PW8je0OzBqwNZ1Zc+8H9rgdUp7bKwGY9QPCWAQKXOpE=;
        b=bNqbd3XBiWfSArQpVIsmetkObuO3ere3bu6trL6cKnD8s7LTW8Dn8mtNpnkoc+D7KJ
         YOJHGB4Ry2bT8H+Y9/n0byVb+52nzbXOf7/p7f30Xdf8Zf24i0m8SQSTJyFu87pZMUAR
         jy4mOuIpCOdFSwvm7dUQdrap2rxWFFEeVtw/8ienwLxWBRVBiQRTUyJiNBL+3aSHJeEL
         UCaW0MVS8PNGflm78sHM4wp3vrpi9nLRnZu9choJWQUVsogVap7zVBLnVShSS7iVjQD+
         xI0eLjZHc03pzENgsu50EicO7yUsKkclPUewrMCuP6J3YRdY1HhrxiUyGdlLOBkhpXVL
         gMxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677840128;
        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=PW8je0OzBqwNZ1Zc+8H9rgdUp7bKwGY9QPCWAQKXOpE=;
        b=kEx7GaXX3fS+qRKvlbAn4/fptOqw2MhafOHe1HHpLQKYVxwG0tuiEllXdRP+g9VJkQ
         jJ58WCRhMT2cHUxWO4pB+lcNIa/6Y1ksj+e5SPvQv9K9tsQcYA6zcfkuUSYTGNGJsVAc
         h0eBPPRyNt45OTBsz6upSWe24nGDS0dyghVPsI4mDPb/dTWFGJhynAD23f/uNOoYVx7h
         UElQcck2bwj4nsLvKt2/tTLnhpEyTbZFpXBHHhyc89JXAnk1r9jFAHrTneiNqDN2tx6b
         57UQplIDCJoe8Cpq9UQVeUH5Bwu8dV/akAGmI9YJD1urX1R8w9E4or5AEQyuvzrQqCJP
         d+0g==
X-Gm-Message-State: AO0yUKUesdRd3YeJq9PlbvAwoEh6CozHQ4drnFLtYUF/gs7IJzmGnsYQ
	dmwhV2qiJBiZdiBP5t5U5l4=
X-Google-Smtp-Source: AK7set9G/HUb3Y+iiBc3lpLWJWZ8FZC8DxW5lQv79fnWEmNwCcdNj9uEB3/mdglhBbcYGsy8JV1dgQ==
X-Received: by 2002:ac2:560b:0:b0:4db:2c28:8974 with SMTP id v11-20020ac2560b000000b004db2c288974mr460818lfd.12.1677840128399;
        Fri, 03 Mar 2023 02:42:08 -0800 (PST)
Message-ID: <415ea0b45a1d6539935ef77181d08aa22e00f7e5.camel@gmail.com>
Subject: Re: [PATCH v3 3/3] xen/riscv: initialize .bss section
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>,  Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Date: Fri, 03 Mar 2023 12:42:06 +0200
In-Reply-To: <009206ce-1750-95f2-7f6f-34c71f0b79ec@citrix.com>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
	 <16fb328e06f6b99d967fa7d186a4c0aaa986050e.1677838213.git.oleksii.kurochko@gmail.com>
	 <009206ce-1750-95f2-7f6f-34c71f0b79ec@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Fri, 2023-03-03 at 10:33 +0000, Andrew Cooper wrote:
> On 03/03/2023 10:24 am, Oleksii Kurochko wrote:
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>=20
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
>=20
> > diff --git a/xen/arch/riscv/riscv64/head.S
> > b/xen/arch/riscv/riscv64/head.S
> > index adf5d6c74a..8887f0cbd4 100644
> > --- a/xen/arch/riscv/riscv64/head.S
> > +++ b/xen/arch/riscv/riscv64/head.S
> > @@ -18,6 +19,14 @@ ENTRY(start)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 li=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 t0, SSTATUS_FS
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 csrc=C2=A0=C2=A0=C2=A0=
 CSR_SSTATUS, t0
> > =C2=A0
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Clear the BSS */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 t3, __bss_start
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 t4, __bss_end
> > +.L_clear_bss:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 REG_S=C2=A0=C2=A0 zero, (t3=
)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=C2=A0=
 t3, t3, __SIZEOF_POINTER__
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bltu=C2=A0=C2=A0=C2=A0 t3, =
t4, .L_clear_bss
>=20
> Using t3/t4 is fine, but it would also have been fine to use t0/t1.
Yeah, I understand that. It was easier to rename and not confuse
something.

Could you please rename them during commit?
Have I to send new patch version?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:49:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:49:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505851.778821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2yI-0002By-Bg; Fri, 03 Mar 2023 10:49:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505851.778821; Fri, 03 Mar 2023 10:49:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY2yI-0002Bk-8x; Fri, 03 Mar 2023 10:49:06 +0000
Received: by outflank-mailman (input) for mailman id 505851;
 Fri, 03 Mar 2023 10:49: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=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY2ou-0005jk-8g
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:39:24 +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 a932bc37-b9af-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:39:22 +0100 (CET)
Received: by mail-lj1-x233.google.com with SMTP id b10so1907674ljr.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 02:39:22 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 r2-20020a2e8e22000000b00295b6bdfdfdsm248570ljk.4.2023.03.03.02.39.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 02:39: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: a932bc37-b9af-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677839962;
        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=jBWgFJNWip+tyTcYc5WrRRw32M0fkAbakg28KHyQrWw=;
        b=Gto9XXSD28Q2wbsaaNYWHKq/bU00vLEUbavKQPgG6bM82zG0I0+OJMfDX5v0y2iHCA
         5CUWKC9wboq5NQZUYnIT1UHNyfuKL1K3ACem1CPV1gQ/NgG8rQVugJEmWn7CMSc2QpwE
         sZAA78o162O7pTMtq+ZVjzxV0i+TXWVxnbGbfOLr8+/FK8Y19tfJ+UrItkzk03+edYH1
         uoAdu/NaqTY5bU6m69ZTHm1ASZoDOmGl+LhErDIk6CSXFUCdi5dgLb7wFpZjyx6cLJRE
         6cgBuH1ldcMvNoDHYhTWiVIY6KOZgHWWs2+/RVRe7UTgVeUs5tsXB9EXYjReiycDOGq7
         Hk6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677839962;
        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=jBWgFJNWip+tyTcYc5WrRRw32M0fkAbakg28KHyQrWw=;
        b=P1B016BSqrieBTVjKytka5fud1fjAI4lZwdQKvVW6t0C9SQD7kQDNRMsq1YmQaoPiZ
         KuT3HrDfIuv2IkYPfn7IvKtvXaKyiuZwc5Se86lDgunPljPDZDI03GoarjygLPCPloqc
         hfsUqGvGnzhoK9wM51SwbK/WV2KNkxr1AYxIJWI6W8lNyPIdNzxa+kOsfFhHq19LMfgE
         D90zTuqnWXF7ryJWo0JxTfCMBa4vBmYWlkVyjw7nY1jJjYiuZPJFmy1iGCRfwq30xbfE
         rujwNd7RHg3tqQeJju3Hm7wfSXn/IBl7VMbDSGOqEckkbpKdDzlajYaZn8jFfT/7Iq0X
         CH3g==
X-Gm-Message-State: AO0yUKVBChVYLPCCGbJVoBMIY759DDgVHh4m0/2GO+k4Sq/z6u+9LnQw
	m7wT+Opz9afKMEx4XErnqovD40V6+h4=
X-Google-Smtp-Source: AK7set/4Ht8IqFWidyXT+X2xQ7vGw6sVuE7xZPlYUphMP14Z0VRfi9bzQWb+za2uBcrhR3Jpp31eQg==
X-Received: by 2002:a2e:7815:0:b0:293:4be5:de5a with SMTP id t21-20020a2e7815000000b002934be5de5amr386721ljc.14.1677839962417;
        Fri, 03 Mar 2023 02:39:22 -0800 (PST)
Message-ID: <d72374ec501e9f0f589904cc18f04e3aca95d6ec.camel@gmail.com>
Subject: Re: [PATCH v3 2/3] xen/riscv: read/save hart_id and dtb_base passed
 by bootloader
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>,  Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Date: Fri, 03 Mar 2023 12:39:20 +0200
In-Reply-To: <8fd12d0f-cf2f-ee66-6b05-9a7d116ac422@citrix.com>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
	 <43aaa58fac47029b7d11f1d80d310786d7a078a6.1677838213.git.oleksii.kurochko@gmail.com>
	 <8fd12d0f-cf2f-ee66-6b05-9a7d116ac422@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Fri, 2023-03-03 at 10:27 +0000, Andrew Cooper wrote:
> On 03/03/2023 10:24 am, Oleksii Kurochko wrote:
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>=20
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>, although it
> occurs to me...
>=20
> > diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> > index 1c87899e8e..d9723fe1c0 100644
> > --- a/xen/arch/riscv/setup.c
> > +++ b/xen/arch/riscv/setup.c
> > @@ -7,7 +7,8 @@
> > =C2=A0unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
> > =C2=A0=C2=A0=C2=A0=C2=A0 __aligned(STACK_SIZE);
> > =C2=A0
> > -void __init noreturn start_xen(void)
> > +void __init noreturn start_xen(unsigned long bootcpu_id,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long dtb_base)
>=20
> dtb_base probably wants renaming to dtb_paddr as the pagetable series
> is
> just about to make it a non-identity mapping between the two address
> spaces.
>=20
> Can fix on commit if you're happy with the suggestion?
I will be happy with that.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:51:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:51:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505859.778831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY30v-0003jp-PU; Fri, 03 Mar 2023 10:51:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505859.778831; Fri, 03 Mar 2023 10: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 1pY30v-0003ji-Ma; Fri, 03 Mar 2023 10:51:49 +0000
Received: by outflank-mailman (input) for mailman id 505859;
 Fri, 03 Mar 2023 10:51:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=k/yG=63=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pY30t-0003jc-Up
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:51:48 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2070.outbound.protection.outlook.com [40.107.13.70])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 634b564e-b9b1-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:51:45 +0100 (CET)
Received: from FR0P281CA0128.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:97::10)
 by DU0PR08MB8346.eurprd08.prod.outlook.com (2603:10a6:10:40a::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Fri, 3 Mar
 2023 10:51:15 +0000
Received: from VI1EUR03FT005.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:d10:97:cafe::7a) by FR0P281CA0128.outlook.office365.com
 (2603:10a6:d10:97::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.6 via Frontend
 Transport; Fri, 3 Mar 2023 10:51:15 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT005.mail.protection.outlook.com (100.127.144.102) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.22 via Frontend Transport; Fri, 3 Mar 2023 10:51:14 +0000
Received: ("Tessian outbound c2bcb4c18c29:v135");
 Fri, 03 Mar 2023 10:51:14 +0000
Received: from e0dbf0f09e6f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B86537BA-C905-470B-BFEC-F02688F24D62.1; 
 Fri, 03 Mar 2023 10:51:04 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e0dbf0f09e6f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 03 Mar 2023 10:51:04 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB8134.eurprd08.prod.outlook.com (2603:10a6:20b:54f::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Fri, 3 Mar
 2023 10:51:01 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 10:51: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: 634b564e-b9b1-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WmR9G8IZqGsaKBKUmsPPY0EdU70TZ1wJi1bKDS4ntcc=;
 b=WLkvWx0lDHIwEM/F+uhII+j3iSNij5AdT4mAfLflLnplSDlA8TZm/sAhyxo2Ss5fIarYZ4bu3fsuJ6b7qc/S1F5b5RN1aSsyFnWrurVzszemBsXYh54d0hKhBcwUhjBEVJoUMDuGfB1yOQe9WeXMulaXJBYvMdkDOKTyMsazZaM=
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: cdd73dd9953db9d7
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CwVX31M8/RYlfNA1nd4RYj2pvC3QHmU/W/QicH/3dh7oo+pdopIQcv3ErxJMm0b5nCL/Mv0yoQvh8t8iqLlwGLHEs8JuPmB8MgJwSIRBZsMhq3LOLOjITG/Mt0IKlRGruDctqiY/to7BsyBNQ3lp+tHgBgmpMDwr8cftrkS/ee6fEr3vITjv7Un/5aVInB6tlECtBcf8MG7I3yavkE+sSuLUgGbh97Nnb9oDN30rRXV50bYKRcC3pLQC/o5rwYzKdFUuLfFfUe6WBAskQWw9ToRofnznP7hAbptYhDnBGpByCeA1/OOgnStSU0Cn3Q5R5QWgiQwmAB81nHFDddkh6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WmR9G8IZqGsaKBKUmsPPY0EdU70TZ1wJi1bKDS4ntcc=;
 b=Wz4WRjPwO5DgNmS14XsXAQwR/sZUTBaSvQn6OUC51xafyI1K5Fr0z2WKXHq8nEi8oekN5jnFVNp+zg+AmsuY5M0phgAfE3TURO6qUT7+3AOUuQ1xUCcly7M4QBZxF7EBTjJvJM24/0yyxbggWygeVOB8SkLJQNzgt4Dffjp/s9iyScPzfpzoE5qy+cO78OBxCK7LmGtljmWIokbjfP6kFx/y8fg2gG9RBSjtZqS5JB3ga8CUigQbWFoaX4AW6IRJ4G4ygjUF0MYiZJRhEErgJ530K0G6hpPiJbelMe7V5XYHlG7kTRhlXBJcMuelUVmGgmimCjtQEAaGFZEK1MC+2A==
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=WmR9G8IZqGsaKBKUmsPPY0EdU70TZ1wJi1bKDS4ntcc=;
 b=WLkvWx0lDHIwEM/F+uhII+j3iSNij5AdT4mAfLflLnplSDlA8TZm/sAhyxo2Ss5fIarYZ4bu3fsuJ6b7qc/S1F5b5RN1aSsyFnWrurVzszemBsXYh54d0hKhBcwUhjBEVJoUMDuGfB1yOQe9WeXMulaXJBYvMdkDOKTyMsazZaM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Michal Orzel <michal.orzel@amd.com>
Subject: Re: [XEN PATCH v7 15/20] xen/arm: move regpair_to_uint64() and
 uint64_to_regpair() to regs.h
Thread-Topic: [XEN PATCH v7 15/20] xen/arm: move regpair_to_uint64() and
 uint64_to_regpair() to regs.h
Thread-Index: AQHZRtMhup5QB/7pQ0mR9lSg6Z90EK7o7mGA
Date: Fri, 3 Mar 2023 10:51:00 +0000
Message-ID: <18852A93-9016-4C25-BE75-872F92BB5CEF@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <ee6ebe4d22c3aecf35b7a4813ca95b2978eed534.1677079672.git.jens.wiklander@linaro.org>
In-Reply-To:
 <ee6ebe4d22c3aecf35b7a4813ca95b2978eed534.1677079672.git.jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|AS8PR08MB8134:EE_|VI1EUR03FT005:EE_|DU0PR08MB8346:EE_
X-MS-Office365-Filtering-Correlation-Id: 64dbb942-1d47-4a25-4026-08db1bd535e7
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:
 jbc/cwZPo2PrTOHiNAD908nEI3110oOS1qI3ymqrVBiRwfSXokf8JtO1Gc2pw9HoA+rf4G5s7FEzRu9tG8z9iNsFpDOCdbRR3PE4QYl0KlI77O9AIzLgldK5nH8SrgX9IjVmTV5j+CllehRsaxtcXSZoFUE3GQjsk3KqJ6D89LazNKGVxSxIeeagN7L787uZe3OZ7kuf34TJosemTCXjefosRttdFZGSBlTHZyu4hupbgyJ5ndJXx7h0JgAkpo8W4khulW2sLZ+WFRkuytfaWiHS/0m9YXwYSm2uHMOi6pwGMT3RP0ZXI//x2HP6z8CVR47EVlDAkDOQzG8qyBkVkt3pzk1EWM7XLhBH4K8rMDjoUg8bRokHAn+geWJTwEY9a99Rdof+oORfwiq3pqpivwfJM0Fqam3+EL4FqXnqDQt1TBr+XIy9ylQUus4RxOd6aszofIlb2FuLFSV4bsUb94LVk2acIwLDpCY7yjYlvhlbY8ZcbHnQH50sp+B+jxGIF1AP4SI7qnGsBBBTVMcIP/SDv8buDNkBzP/DOcZOiQ16C13cfQ/8wUyxdJIgf01hTpA6exBDfWpPBCwytZZSmj09M/RJMVWYWby2edfQQi43qeMorM/ysPCKzSsfcdpMr7J1HXsWBBrI/G4SS2grprW1samCbJ72TNrfi0fK7C+rr4gStAYgLibDS0wS1RrWn2cM3soCLC7NCa1n//fAABf7EqBnWsD9AkV6NhAL7DE=
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:(13230025)(4636009)(376002)(136003)(366004)(396003)(346002)(39860400002)(451199018)(2616005)(38070700005)(41300700001)(86362001)(316002)(478600001)(33656002)(36756003)(71200400001)(54906003)(83380400001)(76116006)(66946007)(66476007)(64756008)(6916009)(4326008)(66556008)(66446008)(91956017)(8676002)(6486002)(122000001)(5660300002)(6506007)(8936002)(26005)(38100700002)(186003)(2906002)(6512007)(53546011)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <2B71F33F3C09A1468B83A161049BF507@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8134
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:
 VI1EUR03FT005.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	31ed52a0-bd03-4c01-d692-08db1bd52d81
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AGUeJzHyM9lbiyJbqNj8fgJoITj+3jsk2JKd5FaUzTjFz34fdx7kf3HGsjIBOgxQhZKpSLBzFfufN2oN44IZttPoxNBcjHmUH6w8AIxkxSYwt9SKrzvE/YgYolnxqJ7Vry0XZ4oN+yQK941Spy5OLCybVt/oZF5Xei22+nkVBtZrrjIKE9H8q5dNTYM0yqkhfWD1p+37DtIqyBp68w0QkyrJpVtDLpngL6UKNSFhxKtF5FE1PtWoe3GmuKkvws8F+cAMt7Hr+vo88oS682hwUuIN0fsXwoxFCx0nmX0XBT8vHFQAxsb/h7oqSTjA9zE4EQnNTtwC0CyyykN7E6uQpX67rcsFltfVlw/p4WJtOcPIIqKakxvmVneEoFl3N3FZwuiMkbiUh5KgDsYoQgcWNUE2c7iJmsa8D77BWOiGc3A/TvCk2G7zeVpg/n5ImzY9k7D43EVP9vuUjrXNFe9pDhkeEN3xxKR7ByWoYEquiZbTKMtNr+LC/Ze5bUhXK3vtqiZ8TwFQj8EHmc4hgnBrIJJvnGwCMphn+IH0D2hcyAC1qPd/i+GjgKOa07BQ4OB+HlsZtSYVmwfgK1op3IVFYvNVUySlqpa5yiBsbQz5kDFRwIy7/OaccdsGwM5jo8RLIuTXlFP4h48QuyGagpgTLwlVUGK1qTdrQSJ8/9LLgJAsUHMS2GU3QvsyqVGhVaiDOLBaNSptK1+/Gonl6RvDfw==
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:(13230025)(4636009)(346002)(136003)(376002)(396003)(39860400002)(451199018)(40470700004)(36840700001)(46966006)(316002)(47076005)(54906003)(478600001)(83380400001)(81166007)(2906002)(82740400003)(36756003)(5660300002)(82310400005)(86362001)(356005)(70586007)(70206006)(40460700003)(40480700001)(4326008)(33656002)(8676002)(36860700001)(6862004)(6486002)(53546011)(8936002)(336012)(41300700001)(6512007)(6506007)(26005)(2616005)(186003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 10:51:14.8451
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 64dbb942-1d47-4a25-4026-08db1bd535e7
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:
	VI1EUR03FT005.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8346

Hi Jens,

> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Moves the two helper functions regpair_to_uint64() and
> uint64_to_regpair() from xen/arch/arm/tee/optee.c to the common arm
> specific regs.h. This enables reuse of these functions in the FF-A
> mediator in a subsequent patch.
>=20
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

Please move Michal R-B after your signed off.

With that fixed:
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/include/asm/regs.h | 12 ++++++++++++
> xen/arch/arm/tee/optee.c        | 11 -----------
> 2 files changed, 12 insertions(+), 11 deletions(-)
>=20
> diff --git a/xen/arch/arm/include/asm/regs.h b/xen/arch/arm/include/asm/r=
egs.h
> index 0693a681315f..aa39e83ee5f4 100644
> --- a/xen/arch/arm/include/asm/regs.h
> +++ b/xen/arch/arm/include/asm/regs.h
> @@ -60,6 +60,18 @@ static inline bool guest_mode(const struct cpu_user_re=
gs *r)
> register_t get_user_reg(struct cpu_user_regs *regs, int reg);
> void set_user_reg(struct cpu_user_regs *regs, int reg, register_t val);
>=20
> +static inline uint64_t regpair_to_uint64(register_t reg0, register_t reg=
1)
> +{
> +    return ((uint64_t)reg0 << 32) | (uint32_t)reg1;
> +}
> +
> +static inline void uint64_to_regpair(register_t *reg0, register_t *reg1,
> +                                     uint64_t val)
> +{
> +    *reg0 =3D val >> 32;
> +    *reg1 =3D (uint32_t)val;
> +}
> +
> #endif
>=20
> #endif /* __ARM_REGS_H__ */
> diff --git a/xen/arch/arm/tee/optee.c b/xen/arch/arm/tee/optee.c
> index 9cb9f16d43cb..47027ecef47c 100644
> --- a/xen/arch/arm/tee/optee.c
> +++ b/xen/arch/arm/tee/optee.c
> @@ -268,17 +268,6 @@ static int optee_domain_init(struct domain *d)
>     return 0;
> }
>=20
> -static uint64_t regpair_to_uint64(register_t reg0, register_t reg1)
> -{
> -    return ((uint64_t)reg0 << 32) | (uint32_t)reg1;
> -}
> -
> -static void uint64_to_regpair(register_t *reg0, register_t *reg1, uint64=
_t val)
> -{
> -    *reg0 =3D val >> 32;
> -    *reg1 =3D (uint32_t)val;
> -}
> -
> static struct page_info *get_domain_ram_page(gfn_t gfn)
> {
>     struct page_info *page;
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 10:54:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 10:54:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505865.778841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY333-0004If-6w; Fri, 03 Mar 2023 10:54:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505865.778841; Fri, 03 Mar 2023 10: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 1pY333-0004IY-3F; Fri, 03 Mar 2023 10:54:01 +0000
Received: by outflank-mailman (input) for mailman id 505865;
 Fri, 03 Mar 2023 10: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=SP4M=63=citrix.com=prvs=419214df4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pY331-0004IS-8O
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 10:53:59 +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 b1634552-b9b1-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 11:53:56 +0100 (CET)
Received: from mail-bn8nam04lp2044.outbound.protection.outlook.com (HELO
 NAM04-BN8-obe.outbound.protection.outlook.com) ([104.47.74.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Mar 2023 05:53:53 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB4972.namprd03.prod.outlook.com (2603:10b6:5:1e4::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 10:53:50 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.021; Fri, 3 Mar 2023
 10:53:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1634552-b9b1-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677840836;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=hh8w1BXwTXVSFyizCvuLn1UHWxFa2Bg1nH6pCG+3RmQ=;
  b=CeCl1oSJzL332u7wMhZoz3WPmY7ewzLadkEf7Tv0VUzADIrKBH3lpPir
   UUZ0VM0niLZm82n4lciLDjKmLXGaVaX9nU7rHw2RGVEz7hrA5UJ7ERW54
   +zFUblzL/JTu/tLJyKZ8AZKa5swNKYCfdnfVE934wM+ZxiPyNr6URwMw8
   I=;
X-IronPort-RemoteIP: 104.47.74.44
X-IronPort-MID: 99727551
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Na+RlKpL7NHG/usDLm1mBLE5AE9eBmKyZBIvgKrLsJaIsI4StFCzt
 garIBmDP/rcNDbxet93PoSw8R4HscKEy9diTgFkrStjRCNDo5uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzyJNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAAgATiqHir6V/LGAQa53qu0DNPfWLIxK7xmMzRmBZRonabbqZv2WoPV+jHI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3j+SrbIa9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOzpqaQ13QDKroAVIAcXX1nm/sWWtny3Ad1TJ
 V4kpw8LprdnoSRHSfG4BXVUukWsuRoRWMFREqs59RuKwarX5C6WA2EFSnhKb9lOnN87Q3km2
 0GEm/vtBCdzq/uFRHSF7LCWoDiufy8PIgcqZyUJUA8E6NnLu5wog1TESdMLOLWuktT/FDX0w
 jaLhCsznbMeiYgMzarT1V/GijSou5PAZhQ0+ALMX2SuqAh+YeaNbYui40nW9vZEIYOQSHGOu
 XEFn46V6+VmJZiJlTeRSeQXWr+z7vCOMSb0nlJkWZIm8lyF8Hmle4dS7DhgJVxBPcMNeDuva
 0jW0T69/7dWNXquKKVxM4S4Dpx2ybC6TYi5EPfJctBJf559Mhed+z1jblKR2Garl1UwlaY4O
 tGQdsPE4WsmNJmLBQGeH481uYLHDAhkrY8PbfgXFyia7Ic=
IronPort-HdrOrdr: A9a23:qzk3bKBW2MrVj6nlHem955DYdb4zR+YMi2TDtnoddfUxSKfzqy
 nApoV56faKskdyZJhNo7690cq7LU80l6QU3WB5B97LYOCMggSVxe9ZjLcKygeQfhHDyg==
X-IronPort-AV: E=Sophos;i="5.98,230,1673931600"; 
   d="scan'208";a="99727551"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oCGqfhAokRIBTCCBjejJ7sWEScAzRN3PPr7tyblIP4L97q9IhyBQ3kRThw3O3u9hOHWtISBcPnZlIkmbXrCbvYpQqTSJmBa1rPgx2XNjtOvmIABBX3rT5bcwvWQAvvmC9p3ZMkJj3K/z+DIhdOdweRx/OIQKf5CHN/kvnWMHd19MfiHJ4HD8gpNVdTOwoJ4vNimAJ0FUNwmmxNNUqz6tlqtD7zqhQx5aWq42pLoU6IpZd0BAh963agmdGdIzf/50AuuAW1ss17PoufIdjimsgvJNwskJrlFkTGlONC/+Aw2yGeRkycfXvPX/UguvplkLFvsMcMVfSsZ6Fspop0jHAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hh8w1BXwTXVSFyizCvuLn1UHWxFa2Bg1nH6pCG+3RmQ=;
 b=I3tmOTQ34m8phtdxoNjwwCmDrsQ3rgA0wIApP1LmFrtenStjt6rYq4ZCOKApInfyaY7oz5/8UFAH37L8bx8pEyl2wwMOmiv7rtac56YSb3ak1e69F/Cj/jayU/0s3uJjNyPoyLkEr/apcsA+KTRC8Z3btaYkFwJLMzcAQiRymPzPETRlvs7XhQgdIz6F/OUz6bLTs0vWHEpA0x4ZauM3el9xGVSOG8hin4eznqGcKd4RvtOyHkNXr37kHW53xkBzaF/FR24gONxT63FWBAXXSHDB4kkAISi1fJLdBbfNRUapvPTRPLD/+ZoVEvzCCgU/f6y9ibpZDEeb/yMZEg77DA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hh8w1BXwTXVSFyizCvuLn1UHWxFa2Bg1nH6pCG+3RmQ=;
 b=w4pTY7JYbN5dD/eCngFgRgcnQGKpsZG1WAE2ng15RPWG14sOLCtJboIYdARjfUUa1svLldYnP5XBkXwqqwclKlGxj0+DtLY8sGvVqE2hUpHoWkK9Ebw2rL6UFv/L40DsxWy18IEd9AJNBGw4idmYzegQMj1DLjeJiiSC6HgxoU0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <8e0a2b7d-b879-9d6f-a168-ea9399e4252c@citrix.com>
Date: Fri, 3 Mar 2023 10:53:44 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 3/3] xen/riscv: initialize .bss section
Content-Language: en-GB
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
 <16fb328e06f6b99d967fa7d186a4c0aaa986050e.1677838213.git.oleksii.kurochko@gmail.com>
 <009206ce-1750-95f2-7f6f-34c71f0b79ec@citrix.com>
 <415ea0b45a1d6539935ef77181d08aa22e00f7e5.camel@gmail.com>
In-Reply-To: <415ea0b45a1d6539935ef77181d08aa22e00f7e5.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0427.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18b::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM6PR03MB4972:EE_
X-MS-Office365-Filtering-Correlation-Id: f2f3becc-832d-4d40-18c7-08db1bd59247
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7ETT7N7HvR69gNT+r+0mPN+g5dBPu2k5gIZAtcgS6Z1J7KfniUZuMc4e0KCM6NELNLeCY6UjlNw2oH9GJNo3JcTI5SuMoDqrnU1Nu1WQ5IBOG56DvFhwQVtywFTasWkYUYhZD7rViA6sAKVFtWPKVlNFRSDWUdE42CHh1By+dAPQksANfoiCEXD56FOKk7JNRY20vP5H4KmXsMVpcDXPP4jvcnlU3TNn8fBxF1xdtJash4fBnAqDUJblzoAiwjjCUewqlh9bNQaVWPrZncELR5K3JzX9m9Tf7pb26DV6vgxL5UzkqJSDZnlJa/4hEBdMQh0JjIh0FSo+JeAK6pjBjb3B6aLYanJsfHioTyrhLyARoSXvc3ZL0MASXjBuNZIX3JiXqePcjJNrbL+7JrF/NBaTm1exJBhtN92mIyj20m38VioN4QydoOv2UFt7ZeDYXxXZsxz6rmpv+zj3wL7hlvAd960v0IuL7X5jiZ76IlugXec9DGsESE3a+IuYi/s9ibKot1B7Vprb+HiMsWKv/krUfDzP5IwjCCm0UNkPPzs3yaA1z4x6AqQQWeFHPv84cfDjRMRziMshvVaU5Rt8u1zaLUHMfnnGR4WBo0CCSVrz4DIY11HgZN72Xt1N6906YKxypIIN4TPP8FHX00QR2IIU2RZZF8D1Nrn6fhbFI9eN4RTOpaUDk3tDr4/cdvQ7RgNe6z6AQZ9ciYB1eFk+FuaP2LDNnQfafEW3lZXdsttNLLR05o8+RdfFN2KLWq4b
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(396003)(39860400002)(346002)(366004)(376002)(451199018)(186003)(26005)(6512007)(6486002)(478600001)(54906003)(316002)(66476007)(66946007)(66556008)(8676002)(53546011)(6666004)(2616005)(31686004)(4326008)(6506007)(41300700001)(8936002)(5660300002)(82960400001)(38100700002)(2906002)(31696002)(86362001)(36756003)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dmdjMHNKcnB0b0pDUUh1LzFxMjVZNldJdzkvUlJOSytCb2IyZGdPY1dIdDNv?=
 =?utf-8?B?angydEhrRHd0TTJvQjlGVjI4Q21ySGI0eHlNUnk2czRUZ2FFaW5tMEtTSU9l?=
 =?utf-8?B?U1NNb2FUSTZHMlMzSkFtOVRoYUFCRHMrTGZOdmx2cnlyS3FGcktsV2xNYkVo?=
 =?utf-8?B?RWRQQ2plaEdpSTZrME9teDhOM2NwdlBTdmovV0VDWXJMdGRJWjB2dW1QTGRa?=
 =?utf-8?B?czlUVGNXaEFHa1BUSDhML3JBT1JjUGRFVGRWNTNnVGhZME00UVpMUk1DMEdu?=
 =?utf-8?B?T2doQmhGY1JDOXdINCtBaFB6S1VhaGJ1Z0FJdjh5eit2RGVCUHh5NDM1SC8r?=
 =?utf-8?B?SStnOHFnYVN4ckNOY0NmcEtDelFQRHhRVFkyQjdLNU5hMi9jM0w2czh3bGpN?=
 =?utf-8?B?c3dlQVI3bWRHbXVXSTNIWEVZSEpnNzlOWUh4alBZTDMxN0RrZW44aTVrVjJw?=
 =?utf-8?B?am9DdnN0MHdFL3FvVE1TYitGZWJKdjFlbW1mZ011RWRIU2JhZVhRSXhKU1Bj?=
 =?utf-8?B?RHJYek54WXo4UDRaZGcvUnN1OEl2UEtoNlJNK24yNHNPa3pjdFpPODlzL2RD?=
 =?utf-8?B?c1VDNGoxMGxQQ0xuQ2c2Q2dMeEFZUjNLa2tMMm9ucGdTL0NDUTNPN0pzUHQz?=
 =?utf-8?B?NklxdmZrOERycmFWV3UvQ1pZWUt5clU1R0ZneVV2ek5wL2N3YmpIRlE2ci9k?=
 =?utf-8?B?SVhBRVRVNnp1Wi94c1NocG9wTHdzMTM0MkJMV2x2RlNwZ1A5c3p1aUVQR2ZQ?=
 =?utf-8?B?TFZkUzlibmRxc01wSm9XRW5oOXhRMnZRN3I0VUliejJmSkNsbC93Vm1kMDUz?=
 =?utf-8?B?MHpZOGg4eWpYRGRZWE54SXQ5NERLNWdoYnRMNndMMFZvNWtiYm9LMTJuaUF3?=
 =?utf-8?B?NytacXhQU05YUVFQdUJVWlp6WDh3YjF3MlZDajBaci82d2JUVWhsMXM4OW1I?=
 =?utf-8?B?MWMvN2VXaWFmSU80YnVWZ0g0R2g5NktkOHhrdEFwcXF1TjhDWk5KUURBVDZN?=
 =?utf-8?B?UmdXUVR3aHBkUDJDVkRVUitVNHk1M21hWGNpdmVnOE44Ym5iUXljOEJtdHk2?=
 =?utf-8?B?M1dNMXNKamxGRi8rK2phZTVXMk9mT1U3elozQmpIbG14MEJ0MmkxZ013cXFh?=
 =?utf-8?B?clBxK2c5VFhVTUpJZmptU2NJbStPdEZZdXg5SWJBOU1KMTZSZ1RCZUhDWkZl?=
 =?utf-8?B?SE9SYUhOYTBmZXFzVnpEdmpZR1ZhM1BRcUlYR1p0ZitYdGFyWDBuc0JrZVBp?=
 =?utf-8?B?bzZ6S1JYdGd5cGNyNitXYkxlM3FRd0tLVzRESmtzZDBaL2pXOURGVks0SmMw?=
 =?utf-8?B?dldZM1F0TjhDMldaUE4yVU5pb2NRMm5OMEdsakpKODdrOVdRYncxTm0xSzli?=
 =?utf-8?B?U0w0dllFZVU1SnIxUUcwc1NneGhCeFV3V2Z6dUE4K0JkeG9Dcld1UUNGY0V4?=
 =?utf-8?B?QUpwbmtTNy81TC9hSWZaRXF3a3M1cjdqRXE0NUdVQVZrbHlCVUY4TlhML29M?=
 =?utf-8?B?T0hrWmEyV3dlOWlQVmU5M2hDTFFhcjVOd2gzd3BXTWZ1bS9ZUDVCd3g3dktI?=
 =?utf-8?B?UU8wbHhwSktzOU9LaXhxNXJVMDVQOWt1Z0hCVm9sTldIRTZYZ0tDVW0vTzM1?=
 =?utf-8?B?Y2x4TVg1WU1kZ3NzYXRSbG9Jb3NFQzRsZXVUcDRrclc1YXo3NTIyTWgwbk05?=
 =?utf-8?B?dEtUdlU1TENxcjhTTWNiUHk3aTMxbERHcjIyVjJLMXhPUS9tMnNLRk9icGw4?=
 =?utf-8?B?Zng5ek01NjdheHdySUpWV203M09FeS9sRk5ZZW1uOVU0ZWZxVVBBTnVkdWZs?=
 =?utf-8?B?dXNaZ08rODB5Qkl3dkRHby9RK1JpWUJXS0ZsTU1FMFRmd1VlMFZpM1NQaDVj?=
 =?utf-8?B?emJzR1F1UDV2ZTNESVVlalp5enFPVWVuZERKb0FXUTVROGFsMTdTZGc4eno3?=
 =?utf-8?B?Zy84ZDFxWWxaSmMvbDE3ZHhDbTJTR3g4SEZwV2p2UzlPdmZtR1FlTzRpK2RN?=
 =?utf-8?B?QjY4R01IbnVSN0pieGVqSzY0WlNONWJzeHNlTjBoNFlOOEJUb1MvUytVSERo?=
 =?utf-8?B?d3ZQaFIzRUVuWXkvbmlWL0xiaDhRTWlxeFZkMGlZM3lsTUZXNm5neTE2RGlU?=
 =?utf-8?B?aGtEejcybVhId0hocGxjcUlkQzZldUtDSWtSZTIyeGM5SVNOYVBhaTMvR3hT?=
 =?utf-8?B?Nmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	WEnygWEPiICXJOCiTPCI7JW0mxibdoR1nILDnwbVX3HnTPYvdpzughBBWM93becHpRNvzv4xGmOWpVQey2XZ7jDosr880dytUViE3MtnNpRaihdiH0Yb2xuEY3oSgaBqDNHjUW4LO7FmAAzFggQjVQ2WphQuCiPNdUaehV3MeCLZJ+vvmVJUyvkF1VkBAeEHQ6r7ZyIuR0B8YKQYzC+WUZHY646IGHU6qmZg9NG10ZA58qBg6/rHgmDlFzjrxTdkyrsu82oBJ92NCYEW1J0P2vmMqx81E1ti7lTn/a0PfkL+DgzyScnxhCLtQ97cXT1N+OB4JGbADv5TPHjSEsR4uFCmRHTFnMJC25PoMwMb1LGlza+HmsxOk3qdQoTOb38YhrOlbaS7lkb9tFavfr8S+46pIInLUs4dAEwTllPH0udjROl8Ome2cgPWMfrm/F8rHOKcRZze2qZEuiKut6AhGAD2F+J2Gjg5NZUNTawHHPpwKrzh2/4y/NIUf77p1z8NADm2CLF29F5j1VLL2PJ3oksbdlg+K37VGMI25GlLFl+DBqfHwWFf/ASlbWi2w2wU3GNZV2BYB6CqWaQnkhmTKLnXGWt+cGqZnB8hfq4JwHPEbofbIlEyIJ0aWSsXJI0sFO/+giPgJ/4FmEHmvjkaflviqnlA7NPex8pv8+ztDKtbTtWe+VoDjvs7W6aPV/w8yzOdnSES9tHGMX0WzrWuivkDlRprQJwOEmHZ73/wtoD2PsayRQYQMp8iKXbz83HJZsxZs2n5hC5ze9pGbQladUb2gQ16kIC/7nxXpC703rRo6rkHY2OZszWD0UZWPp4D8wg/Z/eAzdHOT/rRDwWamf4TjIuxUkIaJKsQugfQM6PMQfHtDQVz2zKFzUyE3rJ/FM8cIVbohJ1RuULc3SCd02Rp4VXIJ7aFMteNGkWFzoo=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f2f3becc-832d-4d40-18c7-08db1bd59247
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 10:53:50.1673
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lapmLm6WHUdtSzxZd+FACDhztZUSjpii3cFiq7TGUgEeIRBiXU+0D0EPjGZshUsXwH/MThng8iJW2S8BNXq7tJbDsBPlByCqOxSlF3Q3u2A=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4972

On 03/03/2023 10:42 am, Oleksii wrote:
> On Fri, 2023-03-03 at 10:33 +0000, Andrew Cooper wrote:
>> On 03/03/2023 10:24 am, Oleksii Kurochko wrote:
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>>> diff --git a/xen/arch/riscv/riscv64/head.S
>>> b/xen/arch/riscv/riscv64/head.S
>>> index adf5d6c74a..8887f0cbd4 100644
>>> --- a/xen/arch/riscv/riscv64/head.S
>>> +++ b/xen/arch/riscv/riscv64/head.S
>>> @@ -18,6 +19,14 @@ ENTRY(start)
>>>          li      t0, SSTATUS_FS
>>>          csrc    CSR_SSTATUS, t0
>>>  
>>> +        /* Clear the BSS */
>>> +        la      t3, __bss_start
>>> +        la      t4, __bss_end
>>> +.L_clear_bss:
>>> +        REG_S   zero, (t3)
>>> +        add     t3, t3, __SIZEOF_POINTER__
>>> +        bltu    t3, t4, .L_clear_bss
>> Using t3/t4 is fine, but it would also have been fine to use t0/t1.
> Yeah, I understand that. It was easier to rename and not confuse
> something.
>
> Could you please rename them during commit?
> Have I to send new patch version?

No need to send another patch.  TBH, I wasn't intending to change it at
all - this was just supposed to be a note - but I can if you'd prefer.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 11:06:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 11:06:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505872.778852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY3Ey-0006Dj-F2; Fri, 03 Mar 2023 11:06:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505872.778852; Fri, 03 Mar 2023 11:06: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 1pY3Ey-0006Dc-AX; Fri, 03 Mar 2023 11:06:20 +0000
Received: by outflank-mailman (input) for mailman id 505872;
 Fri, 03 Mar 2023 11:06: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=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY3Ex-0006DW-ON
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 11:06:19 +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 6c1d9aa6-b9b3-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 12:06:18 +0100 (CET)
Received: by mail-lf1-x130.google.com with SMTP id m6so3081036lfq.5
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 03:06:18 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 d26-20020ac244da000000b004dc4c5149cfsm345429lfm.134.2023.03.03.03.06.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 03:06: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: 6c1d9aa6-b9b3-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677841577;
        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=85HjzHwCqyhVmlv324ZdYVmpxeNx8xOQBqbv/ZB0iEs=;
        b=cQZW49UwJA3u2ULcYpviipdl4fDLpy2csx8CbIOxXXngsrFiJBjYvvC/xBWRsQRSVc
         ZpyFUov1c0ki6MerhBNtIYUWxiFLLnpSe9d8Rh56mLxYMDVV93xn8ZeaBINpIxMFEC/a
         ICOzCZMFF7x+CrzT/W8NL+/LCXPPg25C7C5lMxYG7EicsF0UYsCYXTXCHX5fdi1i1dQu
         UEY52FwJUXhxeq1MxLQTBP8OrE2aWRPGA9s8n/UJzj169i3plir44UJa5YhU17SfXhZb
         AXBuecKI/chARgJzKaVMA7PSp/n5AJ9PjdHAKNLk284f8WQvgzE1qLysCQ0gyy905XGK
         ZufQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677841577;
        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=85HjzHwCqyhVmlv324ZdYVmpxeNx8xOQBqbv/ZB0iEs=;
        b=24tV0JIOfPrAWjmFyqfGQSXpY0WTGt/KeNv5R1cosAZMyx8f8xgyQ21M1y3CCnJaVq
         m4+/KA0x++E0aRZl4Zh1nNEbAT1j54A49spvKR0jljQxRfaImrg78OB6pWmI3QMliQXK
         sbk16BN98bdnB843QrfsEAp94yx6Jq2mnvUvlTvA/RnbOqNnk+N4e0yBuNncpAbZTbtg
         fryDnCR3q8snVyXVImGVovr+VP3D3v4QAwp9fpvRGKjA3qXGvZbJ5oxcpuXXPSlZ5tXX
         adIGbj3qoa7/VmwDM04df07Lf18sjdvhADG7sBUPL54nv5qs1+Ib8fcKGTfGWX0NuMK/
         Iymg==
X-Gm-Message-State: AO0yUKW8l4qhxMr/LUgE6bfmDKapNnWbGC7zeIEUnFlMD6ZtBQ98Kk/z
	aLm3GmWu11Iy7rjZMcqkJN8=
X-Google-Smtp-Source: AK7set8N+q+rv0WX9SMN7IZdMHIMHAlKUuoG++Gdx5tXQzD6XpqukLMl1/i1p1AFDBJWjdWx1VxgfQ==
X-Received: by 2002:ac2:484e:0:b0:4b6:f08e:1196 with SMTP id 14-20020ac2484e000000b004b6f08e1196mr456128lfy.11.1677841577553;
        Fri, 03 Mar 2023 03:06:17 -0800 (PST)
Message-ID: <c5fbb1bfabb2dc891b124b8fff835c7b133c80d4.camel@gmail.com>
Subject: Re: [PATCH v3 3/3] xen/riscv: initialize .bss section
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>,  Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Date: Fri, 03 Mar 2023 13:06:15 +0200
In-Reply-To: <8e0a2b7d-b879-9d6f-a168-ea9399e4252c@citrix.com>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
	 <16fb328e06f6b99d967fa7d186a4c0aaa986050e.1677838213.git.oleksii.kurochko@gmail.com>
	 <009206ce-1750-95f2-7f6f-34c71f0b79ec@citrix.com>
	 <415ea0b45a1d6539935ef77181d08aa22e00f7e5.camel@gmail.com>
	 <8e0a2b7d-b879-9d6f-a168-ea9399e4252c@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Fri, 2023-03-03 at 10:53 +0000, Andrew Cooper wrote:
> On 03/03/2023 10:42 am, Oleksii wrote:
> > On Fri, 2023-03-03 at 10:33 +0000, Andrew Cooper wrote:
> > > On 03/03/2023 10:24 am, Oleksii Kurochko wrote:
> > > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > > Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > >=20
> > > > diff --git a/xen/arch/riscv/riscv64/head.S
> > > > b/xen/arch/riscv/riscv64/head.S
> > > > index adf5d6c74a..8887f0cbd4 100644
> > > > --- a/xen/arch/riscv/riscv64/head.S
> > > > +++ b/xen/arch/riscv/riscv64/head.S
> > > > @@ -18,6 +19,14 @@ ENTRY(start)
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 li=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 t0, SSTATUS_FS
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 csrc=C2=A0=C2=A0=
=C2=A0 CSR_SSTATUS, t0
> > > > =C2=A0
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Clear the BSS */
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 t3, __bss_start
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 t4, __bss_end
> > > > +.L_clear_bss:
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 REG_S=C2=A0=C2=A0 zero,=
 (t3)
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=
=C2=A0 t3, t3, __SIZEOF_POINTER__
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bltu=C2=A0=C2=A0=C2=A0 =
t3, t4, .L_clear_bss
> > > Using t3/t4 is fine, but it would also have been fine to use
> > > t0/t1.
> > Yeah, I understand that. It was easier to rename and not confuse
> > something.
> >=20
> > Could you please rename them during commit?
> > Have I to send new patch version?
>=20
> No need to send another patch.=C2=A0 TBH, I wasn't intending to change it
> at
> all - this was just supposed to be a note - but I can if you'd
> prefer.
Feel free to do that.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 11:17:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 11:17:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505880.778861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY3P7-00080I-EJ; Fri, 03 Mar 2023 11:16:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505880.778861; Fri, 03 Mar 2023 11: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 1pY3P7-00080B-B7; Fri, 03 Mar 2023 11:16:49 +0000
Received: by outflank-mailman (input) for mailman id 505880;
 Fri, 03 Mar 2023 11:16: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=3OdA=63=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1pY3P5-000805-MY
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 11:16:47 +0000
Received: from mail-pg1-x532.google.com (mail-pg1-x532.google.com
 [2607:f8b0:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e1c8184f-b9b4-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 12:16:46 +0100 (CET)
Received: by mail-pg1-x532.google.com with SMTP id 130so1246078pgg.3
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 03:16: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: e1c8184f-b9b4-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677842204;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=HpqkAhmyA0LdyZSyhNu9CgDOyvGP61IIvcQNWKvMTAY=;
        b=aPuwdCNtlGGPCx32OtbizzAVK4IYwHotCm8vUf8rH71gCgSTi1Zcq6Ws8tRaL1SKR2
         qHQx4dPQGal5Mp01cA6yIhckJT5y0sDY/56m8Lkyg/mZJMEvcnV988KI15KI5u6L+IRM
         h+iELKli65iCRvcgLCo/zay4wFtlM4nv5Jr+dKavsDrx73Cy/z5r5CszWSk7BN5jbqoe
         cV8M2NxSGEj949OnkHmqKa248lgc2klZK4amqtvMC0R95XHJEVU4zXax0Zjrm7Rio91E
         Uw1owcNYZT9V8Mn4FhEJHKN6dtpI1WDU3Go5X6Cqo5qi3WxQC0vRJPf39b08ndKFcJMI
         yXLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677842204;
        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=HpqkAhmyA0LdyZSyhNu9CgDOyvGP61IIvcQNWKvMTAY=;
        b=aYPeFv6uC6197ccub4cEFLGEFcV2+IfDNVAMd8CyKwSTRouU1ewY14S4GNrbLhANwy
         8pxWgwtbHeWz0fI/3HM6gjBcQzqfvMwpn6/KRWQQIuCGmU5ynUXQE4DU/r0CRFiXbPhh
         T7EVnYKkCj/Y9U4iGESabMdzO6RPNt38PTqcb8XMUcN1r+/LKg3ioRezyrp/HqW7/RFv
         LaAoIgy1Qsskg6mjVNJ5xWRq858Zsybhci8uqLmJwuEHn782M8pDx3hDRZWHvEK2T39a
         U4srJ745BzUJtS7txWOhjpqfJ2wT+3ZQ0Isy+0u7BE9A+XtxVRUaJc3ayoosLhh8X1dP
         tz7Q==
X-Gm-Message-State: AO0yUKXqhVLSxBppPojl758T7hVcUwJIog4YqfJNCmK9GJ2d0HvexlUV
	2fyQnGTe3SgvkdJMwtVSWno4M6aiQiOHNJorxjdKcg==
X-Google-Smtp-Source: AK7set9CNauIHkidY86e9p0+4D48SNNhrsSEwa5fbYw0YUBRN8Nx2srPULT6bjJ68MYMjGEsg/cbJriR7JHdxPs40sc=
X-Received: by 2002:a63:f705:0:b0:503:7cc9:3f8d with SMTP id
 x5-20020a63f705000000b005037cc93f8dmr378922pgh.9.1677842204397; Fri, 03 Mar
 2023 03:16:44 -0800 (PST)
MIME-Version: 1.0
References: <20230302163106.465559-1-thuth@redhat.com> <20230302163106.465559-5-thuth@redhat.com>
In-Reply-To: <20230302163106.465559-5-thuth@redhat.com>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Fri, 3 Mar 2023 11:16:32 +0000
Message-ID: <CAFEAcA8JZqKnSN98PoO684zS1ZADj_KkaWO2QMk3w9uXk2cdMg@mail.gmail.com>
Subject: Re: [PATCH v2 4/6] docs/about/deprecated: Deprecate the
 qemu-system-arm binary
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, Daniel Berrange <berrange@redhat.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Markus Armbruster <armbru@redhat.com>, 
	=?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org, 
	Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com, 
	Richard Henderson <richard.henderson@linaro.org>, xen-devel@lists.xenproject.org, 
	Reinoud Zandijk <reinoud@netbsd.org>
Content-Type: text/plain; charset="UTF-8"

On Thu, 2 Mar 2023 at 16:31, Thomas Huth <thuth@redhat.com> wrote:
>
> qemu-system-aarch64 is a proper superset of qemu-system-arm,
> and the latter was mainly still required for 32-bit KVM support.
> But this 32-bit KVM arm support has been dropped in the Linux
> kernel a couple of years ago already, so we don't really need
> qemu-system-arm anymore, thus deprecated it now.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  docs/about/deprecated.rst | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index a30aa8dfdf..21ce70b5c9 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, including KVM support
>  on x86_64 hosts. Thus users are recommended to reconfigure their systems
>  to use the ``qemu-system-x86_64`` binary instead.
>
> +``qemu-system-arm`` binary (since 8.0)
> +''''''''''''''''''''''''''''''''''''''
> +
> +``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``.

I think this is not quite true -- at the moment if you want
"every feature we implement, 32-bit" the only way to get
that is 'qemu-system-arm -cpu max'. The '-cpu max' on
qemu-system-aarch64 is 64-bit, and we don't implement for TCG
the "-cpu max,aarch64=off" syntax that we do for KVM that would
let the user say "no 64-bit support".

thanks
-- PMM


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 11:22:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 11:22:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505886.778870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY3UV-0001Iv-0X; Fri, 03 Mar 2023 11:22:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505886.778870; Fri, 03 Mar 2023 11: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 1pY3UU-0001Io-UG; Fri, 03 Mar 2023 11:22:22 +0000
Received: by outflank-mailman (input) for mailman id 505886;
 Fri, 03 Mar 2023 11: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=M2mb=63=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pY3UT-0001Ii-JH
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 11:22:21 +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 a7b53733-b9b5-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 12:22:18 +0100 (CET)
Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com
 [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-32-gwpbPDUgM2uMocScvgvGmA-1; Fri, 03 Mar 2023 06:22:15 -0500
Received: by mail-wm1-f71.google.com with SMTP id
 4-20020a05600c024400b003eb2e295c05so824591wmj.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 03:22:15 -0800 (PST)
Received: from [192.168.0.2] (ip-109-43-176-203.web.vodafone.de.
 [109.43.176.203]) by smtp.gmail.com with ESMTPSA id
 p16-20020a05600c359000b003e209b45f6bsm6595277wmq.29.2023.03.03.03.22.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Mar 2023 03:22: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: a7b53733-b9b5-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677842537;
	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=n8X5aQaOrBWXpjTROsAMx9ppByyxH1Rsy+EUt4R2/2I=;
	b=PGlJaPIatvpNhf92u5E6liWNKrP37gv3ks9gSASncAw7Th6/kLgnIFXXvNu1ut9QAzlxh3
	jW4VU1PWoc5JvFjb8TrY5Qde3XHTW8dLTNS4XFkHqFbrJVQT2YOIbF2LLv6NWHOxYdL6tm
	Hu545tHgflF3nVow7FvD4tQBBZtSLF4=
X-MC-Unique: gwpbPDUgM2uMocScvgvGmA-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:subject:from:references:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=n8X5aQaOrBWXpjTROsAMx9ppByyxH1Rsy+EUt4R2/2I=;
        b=tHiJjcsGwx/sN26PVGCX0xIzrKPFd+ngfg9Nj3v1q3t/4CPfTjKQP3LJP7Q6mgNVpi
         BeetYzHxUjq6ikHPRqcTyevYAiyYBis2R7pqzUPELys6ej08OFoNIDEsULxkCiQmbso8
         Cb5IDc/VpDlZVuPFrXHO/AgjjRR6j8DWFuN6n/JP13wy0UafI1Nw67SF/mRjkHIUkhN+
         P3rGYMdck0d1ao18ML6TrPk7POtKIGoKi95ii/hVK3tEOegaUNcpI9f5UASyl9TbOP7/
         ybzLQjRszHO9kWkCz6y5jNrkM7t6K7YrmEN5biMLMmhXq5XPlGwYRNWKRCk9w/T79IMh
         c0Xg==
X-Gm-Message-State: AO0yUKUqyi0b4eUcYLc4+Px+EhZEEzA7+C7qQoE2auNdxWyR30MnGfb5
	No0FIrSyIghngKuaU+PuQDdpKjgxVbLjeBI8ss6xXMJViuNjGpvHy3kGNfSXAmuMZ9RvaHyG0UV
	/Flc8A5iIhgh0DOTHI6+MMOAbDZs=
X-Received: by 2002:a05:600c:3b07:b0:3ea:ea3e:2d36 with SMTP id m7-20020a05600c3b0700b003eaea3e2d36mr1407152wms.24.1677842534869;
        Fri, 03 Mar 2023 03:22:14 -0800 (PST)
X-Google-Smtp-Source: AK7set+p9TRknJ6t4P9vbYDLGtFgS5SVfo80ej4ymN+unp2O1GWX68jl53tV7gROH1puWQh03kA6fA==
X-Received: by 2002:a05:600c:3b07:b0:3ea:ea3e:2d36 with SMTP id m7-20020a05600c3b0700b003eaea3e2d36mr1407120wms.24.1677842534612;
        Fri, 03 Mar 2023 03:22:14 -0800 (PST)
Message-ID: <2c7f837f-c156-8525-005f-f47d50591a85@redhat.com>
Date: Fri, 3 Mar 2023 12:22:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
To: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
 Daniel Berrange <berrange@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>,
 Michael Tokarev <mjt@tls.msk.ru>, Helge Deller <deller@gmx.de>,
 Laurent Vivier <lvivier@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
 <4bed38c3-ab4f-cd32-05a4-afa090ad8b9a@linaro.org>
 <6c1f0d05-924e-854e-0175-5e345945e086@redhat.com>
 <89fd1c916b6c8094ea1a7a52396b3f91025c75c1.camel@physik.fu-berlin.de>
From: Thomas Huth <thuth@redhat.com>
Subject: Re: [PATCH v2 0/6] Deprecate support for 32-bit x86 and arm hosts
In-Reply-To: <89fd1c916b6c8094ea1a7a52396b3f91025c75c1.camel@physik.fu-berlin.de>
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 03/03/2023 12.09, John Paul Adrian Glaubitz wrote:
> Hello!
> 
> On Fri, 2023-03-03 at 10:48 +0100, Thomas Huth wrote:
>> x86 ==> deprecate both, user and system emulation support on
>>           32-bit hosts
>> arm ==> deprecate only system emulation on 32-bit hosts.
> 
> I would recommend against dropping support for 32-bit hosts for qemu-user
> as there are some cases where the emulation of 32-bit user code on 64-bit
> hosts does not work properly [1].
> 
> Adrian
> 
>> [1] https://sourceware.org/bugzilla/show_bug.cgi?id=23960

The ticket is very long and hard to read, but ... oh my, does that mean you 
need to compile qemu-user in 32-bit mode on a 64-bit x86 host to properly 
run 32-bit binaries from other architectures? ... uh, that's ugly ... and 
sounds like bug in QEMU's user mode emulation ... and what if you're running 
a distro (or different 64-bit host architecutre) that does not support 
32-bit userspace libraries anymore? Then you're lost?

  Thomas



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 11:25:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 11:25:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505891.778881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY3X5-0001rU-GJ; Fri, 03 Mar 2023 11:25:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505891.778881; Fri, 03 Mar 2023 11:25:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY3X5-0001rN-C6; Fri, 03 Mar 2023 11:25:03 +0000
Received: by outflank-mailman (input) for mailman id 505891;
 Fri, 03 Mar 2023 11:25: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=3OdA=63=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1pY3X3-0001rF-Ne
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 11:25:01 +0000
Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com
 [2607:f8b0:4864:20::42a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 07ee9370-b9b6-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 12:24:59 +0100 (CET)
Received: by mail-pf1-x42a.google.com with SMTP id y10so1313898pfi.8
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 03: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: 07ee9370-b9b6-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677842698;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=aT5E5FQuhkYZHN7xCNC3IujwXcdIeJdZVQgTLRWi92M=;
        b=JdlLeBN9mZJKEzV2VH1S1A56dOCzQMFoF3EFCCzNeJhuZ0/DcQj0FSt6e+TAwbQ8a/
         9sFQyrtfC3y9X0+7Ge7TFkFeBBu/HfLMyCr0TD5vmRswBGNsMR0KuPPcC/t+0Nxkyg94
         akiDWvTZlsZ6o+AnhgnxbxN5VJXTOyAXd8wiBQ9bH4agHMMI1JenET0Q5kr13rdOXADZ
         G0bd5vBN/KVFmaFe7hiFRlnnaJ3W1II1jZJrGujsdTk4ORgorIXvETWuDQmhj5fNAi6M
         LPDGI+bWQc7wCa2g+Sz+/eaGH3DArOygO9P4pmwO7LKLsiOARMLG0eSFMnIF41229i2A
         HYTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677842698;
        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=aT5E5FQuhkYZHN7xCNC3IujwXcdIeJdZVQgTLRWi92M=;
        b=WluXadXJJAy7XIovcyD2hh7x1860ax4I8MK5As5fY4nNR/XmclI389JBeZdlAuDEb4
         0QTM/D+utWpiS2BHkBdnGq0NzaU8d0n/jwsQkBiHtwpQq8GYBum9OJB3+2ITOWTGqtFC
         aOji+qii4QlxJlTpCQnxpgr0hRdGE7d+IXrrgbTZeqoOkkK3mSpUC8G/OV6fV1lZe90u
         Ok66RcDPKoKT8F03Q9nXbvXe1a3qzLRStyap3whb7gBwreKil7u1L8x4Pf6OsLeJ/IAb
         qKmqfAAu0q8JnMIW4ucZeq6+UjD6oebLYdruPZ1S3P/oxNN8CwdoP4yMTz6EcJeVPoKM
         2qPQ==
X-Gm-Message-State: AO0yUKV2HvJdhbOeIfLpdE3FjOEYXZT9xceHCCayiK364pdXkjj9AuEi
	39CSp8Zq+zlAEAHncA65CW8B/kPPnh8GEoS/3k6ODw==
X-Google-Smtp-Source: AK7set9TFhgmzEYff5a5Y/FhcSMZ3q7NzK7FxjJZYmiBpcpZypyz3OwZzAn3/jSFaGTGPE0QrSfYtgRzKg7q/DB7Eps=
X-Received: by 2002:a62:ce4e:0:b0:606:6380:98da with SMTP id
 y75-20020a62ce4e000000b00606638098damr729699pfg.5.1677842698016; Fri, 03 Mar
 2023 03:24:58 -0800 (PST)
MIME-Version: 1.0
References: <20230302163106.465559-1-thuth@redhat.com> <4bed38c3-ab4f-cd32-05a4-afa090ad8b9a@linaro.org>
 <6c1f0d05-924e-854e-0175-5e345945e086@redhat.com> <89fd1c916b6c8094ea1a7a52396b3f91025c75c1.camel@physik.fu-berlin.de>
In-Reply-To: <89fd1c916b6c8094ea1a7a52396b3f91025c75c1.camel@physik.fu-berlin.de>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Fri, 3 Mar 2023 11:24:46 +0000
Message-ID: <CAFEAcA9cE087cowTodqAb2mkzGxxnAcBGZsMNu6uj_Nsa2v-dw@mail.gmail.com>
Subject: Re: [PATCH v2 0/6] Deprecate support for 32-bit x86 and arm hosts
To: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Cc: Thomas Huth <thuth@redhat.com>, =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org, Daniel Berrange <berrange@redhat.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, Markus Armbruster <armbru@redhat.com>, 
	=?UTF-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org, 
	Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com, 
	Richard Henderson <richard.henderson@linaro.org>, xen-devel@lists.xenproject.org, 
	Reinoud Zandijk <reinoud@netbsd.org>, Michael Tokarev <mjt@tls.msk.ru>, Helge Deller <deller@gmx.de>
Content-Type: text/plain; charset="UTF-8"

On Fri, 3 Mar 2023 at 11:09, John Paul Adrian Glaubitz
<glaubitz@physik.fu-berlin.de> wrote:
>
> Hello!
>
> On Fri, 2023-03-03 at 10:48 +0100, Thomas Huth wrote:
> > x86 ==> deprecate both, user and system emulation support on
> >          32-bit hosts
> > arm ==> deprecate only system emulation on 32-bit hosts.
>
> I would recommend against dropping support for 32-bit hosts for qemu-user
> as there are some cases where the emulation of 32-bit user code on 64-bit
> hosts does not work properly [1].
>
> Adrian
>
> > [1] https://sourceware.org/bugzilla/show_bug.cgi?id=23960

I failed entirely to get any traction with persuading the
kernel folks to provide an API to let QEMU work in that
"32-bit guest wants a 32-bit dirent but the kernel is
providing a 64-bit hash value as a dirent" case. Somebody kindly
wrote some kernel patches but they went absolutely nowhere.

It seems to only happen for certain kinds of 32-bit guest, where
the guest libc is not also using 64-bit dirents. So at least as
far as Arm guests are concerned the effective result was "the
older arm binaries that were built to need a 32-bit dirent are
just not around any more, so very few people run into the problem".
You can also work around it by using a different host filesystem
type, I think.

thanks
-- PMM


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 11:29:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 11:29:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505899.778891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY3bk-0002nS-0K; Fri, 03 Mar 2023 11:29:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505899.778891; Fri, 03 Mar 2023 11: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 1pY3bj-0002nL-Tc; Fri, 03 Mar 2023 11:29:51 +0000
Received: by outflank-mailman (input) for mailman id 505899;
 Fri, 03 Mar 2023 11:29: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=dqM3=63=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pY3bh-0002nF-Mr
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 11:29:49 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20604.outbound.protection.outlook.com
 [2a01:111:f400:fe13::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b49e2432-b9b6-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 12:29:48 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU0PR04MB9419.eurprd04.prod.outlook.com (2603:10a6:10:35a::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 11:29:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%7]) with mapi id 15.20.6156.019; Fri, 3 Mar 2023
 11:29: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: b49e2432-b9b6-11ed-96af-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D30VfHhLH4VUXsgmVJwIdlYvvZsYYfeVr206s3tyE3yKd0rTi0xoKTTjw1RY9u+2TJh55fM4xWyulzarGkzamqsQ9FfHNVrQxx6/AXQpDRCxtTTGu/XQiVfzyERdko1LNZ/nbKYZhWZvgtuP7mBf8coYg0uoLZ6mC8fv8SffRPKiiyDLBtWUyPNnolaEfqnEGyKxoXbLE923n6g6kzFEx4O0z/XMZ5JGNNAS0YK85PTvKcw5BU6QwM9i9YjO03pllrJcL26K/4dJbXFAWURSnJuWeIkOGjkbSlujLs06E3sprFIbWj3LPsTmBnj3IFlgFXWW4eUsmbQIPfx7vkt60w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X9WVnjJmEBoWDhj4y1rbR/ePeL2Gc/0FK+hN49gA3tU=;
 b=CryjmEPR6V99isqnLQ50d3bNNeM/Mdwb+c/1gPY+itYNNygrRWDgQ1mUj9IU8GyX+qv6qeSuDyh/DffYXN7kuNPAxKxu3yIUJ0imJkrT5kXRvsAFQix5QChwMDczpUj95C/m/GTUR7mQMg4EFztPNQbAhKPw8bhk+E+7NkpC25V4R2zjjHi+3ZBb8ErrXxK2YVozpsibvM9mSWRKyZq3etYgbIRpjxoQu0/nYbFJC4pVzO1dtsodJTayibXQ//1z8dNSwFeILUnRKFfSA0K8dVR/LDywlVh0ZhogX6WK0oZOMY3pzsbqyYeZ6Bj0a+kmWrc2YPfm+bN3HREPIaY1Dg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X9WVnjJmEBoWDhj4y1rbR/ePeL2Gc/0FK+hN49gA3tU=;
 b=XqH7uISzVL+hVNOuAgfsRYDOuzjb+Z41tEPrPsneeeks8g1fyufJlCT/pXsMrufpxgz4Qp7DNoO5zLP658gkuHmyiYbGLEYEsoJ2eUV8Nu6giZE+ptvkwiFCIeD+e3ElvDwXgMAdbsPZrU8yPue4wTbSPozCdXJP/DTGLFxLN69Edlhcy7SPoLeu+ZFFDoV+sIiXmakRssrawwuhGk4aD6jVR4W9Vm2G1qX4Jp64Qp62P6Ub8kdnijbsvTjt3UcBFU3Mn4dPMJnZKE8/IoeEC7kZgOh51CzORu7L++tR6lq9nn+kLKjGpH5CqI2vXQZ/SaVU49KjtmnSDMNcxY2/0g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b4adc3c2-6356-c552-93a3-c2a66ec53a04@suse.com>
Date: Fri, 3 Mar 2023 12:29:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 3/4] xen/arm: switch ARM to use generic implementation
 of bug.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
 <9de74cc424d5f198ac76ff46394aa5b99502d24e.1677839409.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9de74cc424d5f198ac76ff46394aa5b99502d24e.1677839409.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0106.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU0PR04MB9419:EE_
X-MS-Office365-Filtering-Correlation-Id: 48c1ea90-dd8a-4fea-4563-08db1bda96aa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NYilqAtLtOGLOZ27vtFEjY+W6v/+38q7FTfiLsi0vhMAh+y7r0911XEjUdIcSBGRP07PfuLLqfdKcpPKRU68ASoT1DONxiiQav8ACrijiBazyAwMnqenkCBEFNPodx5vpD9FE1DAR8qjl2mdjQmYlkyYp97LNPquJ3icETX0u6C3qvo2DynEfjUZXbltla+t2ZGN0+Qh8S4wxFmds8YU2jCliKxviLyHJm0XthEU3Kem0gDSuvlQV789ncLwhryfOxmKtm5FYWEpex2/pXBlyAZnY3Vb0uggemk2Dq9S5JSZVw2rbjYr4DITaQaOyssK9SpXkT6XBFzr1e04MlmvYlodmwe7nrJKhGXiDyWRKk+J9E44n8f9bQ7l3tHiOeAczXyNWaNjnzvwHBJK2WQeYRAnmtrFGaOLckkbABoHd+pYNwBGwZveseXQhk8TLhpEukMy5Cx9Vs4goUD/JXvm9jwjOS0IZeytwic/KHxlGLCPlwKW+GTr6YfbVzVMY2WD45NtmLlmxXEamisZTYjGc0U8Gmn1RpKxhn69RiXy8QAHiFOCPPuPuPlJe0ixR/g7t2Ofd8XbukMVJfpt4v1Vn0gJZigd6hsMBQQCQJIcNc2P6/cazmnEwU2TQ8ING+s7jmwHpxciYUH0efyPKhyu6wgzJhUBjPb2Z+DmN6eCVsBMdQJ8Bc3hw1KXY4/TitqVvARvSY4bXfIGbtFydrg9w/YpLf+bvEm6INGnSAhZNBZszW0NfHG2C/mbynqKO/Vw
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(376002)(346002)(39860400002)(136003)(366004)(451199018)(6666004)(2616005)(41300700001)(5660300002)(4744005)(2906002)(38100700002)(8936002)(6486002)(36756003)(31696002)(86362001)(66946007)(66556008)(66476007)(8676002)(6916009)(4326008)(478600001)(54906003)(316002)(83380400001)(53546011)(186003)(26005)(6506007)(31686004)(6512007)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NjFIMlJpai9PN1ZvOVhMdHRyUmJCTGJ0OHp3Z216aVBQUThXRHI3NlphRmJi?=
 =?utf-8?B?cHg4N3VoV3dXZlNyQVViTzZ0a3BZRHFGUlFUZ005ZVF2YVRSc2IzOWRGQS8r?=
 =?utf-8?B?NEtaVjdzT0M5S1ZSNGVaRml4MG9yMWJ2TTd4SzR0TGJHVWJHTUFpUTY2Ky9Z?=
 =?utf-8?B?RUE4amcwNytTS3puYmlyeit5TjluZnZySFJVeVpBU0QvdnRzcnpySXpNc3h3?=
 =?utf-8?B?b3pjSjZCYTNsbkNMUVB0ODlaYjFWTkZIRFBtRGdpUk5YcG53cE10Yy90eFl2?=
 =?utf-8?B?b042aXJZc09PbXJWR3BTTEVIZVQ0WWFWVG1kN3hUWWNSNEV0b3d6ZHZ5R3kz?=
 =?utf-8?B?RGMvRkZuYlpoUUtPWFVQQXZQVUs3cTk1Vkh4TDZkNzhWTzBTR3BWYTM2QURy?=
 =?utf-8?B?dG5HR0NNU0V4T2RDc2h2R1o0VzlIRitvMUlIUmUzMjRwOUNHVGZ1aW9MMkxv?=
 =?utf-8?B?S2NYSll4VlBzUGo1eVRyMzlXMzhvN3FhZlhySEhxWTFDNkl4aXBqZUpMcU1X?=
 =?utf-8?B?Wi85SWJTYlQ3WjJLYlYzQVBGV0NobUgzcENMV3NVbVFqSU1qSWFDYjV0ZnNZ?=
 =?utf-8?B?ZG5SZGV5eVBXZE1BUUtoMmRpWHBaeWNhQXY2UUdDeVpZdHErMkxKSmhKUFhZ?=
 =?utf-8?B?UlA4ZGFlbVFIeWZQYlB2OVZNS09jMy9Zb3VDRGNJN05mOTFYMUVZUVNwNmt3?=
 =?utf-8?B?UFBpY0NSZ1kvUDcxOFJHdGY0ZUR1OWVHRzhuT1ZodlJQMmRiaTZzUWZZMzF1?=
 =?utf-8?B?QkYram4xNzB1VWZRQVo2QklhSEFHRTBRR081cGFuNS9jbkhvNDZRbkJ1RFEy?=
 =?utf-8?B?ZDgrUzFaVjBjaG5uZEJEQmdLa1lMZEtqYm8vR2grU21BZHkxdmNYdWZMa2hj?=
 =?utf-8?B?SG5OSlk1WS9XRmFEeGJTcVYwSlY3NmlnNmlLS1lLeUhlTGZQRTRXTDBiNWpp?=
 =?utf-8?B?STNjVGpQQmR6UVR0NTZja040RkhvK1kvVjE2NDJkK3g0MHdVVUVETXl2RUhq?=
 =?utf-8?B?c2ZhYmN0aTdpK1RhanlRVjVRTVN0V0k2cmpnbGVDVTY5elJoYTY5V2praE9X?=
 =?utf-8?B?TVhKcE85Z2lkQ0tKNHJJTjlseE5KVUFBWnppWVZRRkFpT0Zub01XSE5jQU5t?=
 =?utf-8?B?YW9rb000QmRsYllyQmNQYklmbFJSRThrNGlVc3NOaUxBcEJvdDVvdGw4M1Nu?=
 =?utf-8?B?WVQvcHlJZnZtRFpBbzdEek5NWWhmKzBPZXlndTBLUWlBcXppRC9zSnR3Rmdv?=
 =?utf-8?B?dUxFenRWbGhWeFgwYU5DVldTaVQrN3FIc1B6Y3I2SUVmV1hBQmcxaE1PWTQv?=
 =?utf-8?B?T1ZudXVhUUp4TWI5N05xSzBwVjk2VTRMVnl5UzgyS3V4TXVqN3RkVGJVeFZN?=
 =?utf-8?B?T0J2N0NTa0haWEVDY3ExK0Vxa0F1MkhBT3Y0WjQyb29FcFpSaVNpU3Zia1VC?=
 =?utf-8?B?a1ptc1V1ZnVtWUduMkNLeWUyUjUzV1daRE51TUVIT0gzK05zb1Bza0FTVkty?=
 =?utf-8?B?TUFFUGdDQWlIZjVGSWNwQkh1UDVZREdDVmdqSDhJVzNvZUtjZk5tY1hBdHVr?=
 =?utf-8?B?bThYaFJHSFFvWmVNeUdmbHl2SXplYnBxamhGenpTSEJ6VGxMR3I5eVpueXZ3?=
 =?utf-8?B?WFZkbWxmeVEzMjBxNGFFS04zOG9vTGhmYUNiTnl1SzVOclo2OXQ4VjEzS2xp?=
 =?utf-8?B?YjV3UmhxUHV3R1U3VTFCQjliZUdlOW1Tamx3VWV1OS8vUWVIbmIxQWNNR3Rk?=
 =?utf-8?B?YWJlT3doSmZacVloenZuMmxuVy94SDdINk9mTDlVMjlBK3ZwY3I2SjNocFJ3?=
 =?utf-8?B?UzRGSmR4UXJXYk9wSGk5U1NKc3htNHBma1VpRDZza0hCZko2OWZLdk11dmNN?=
 =?utf-8?B?SEFNUmt2T0hYOVJGV1FUNTFaQnZ3RE11UlNxRXZndkJGYXJRQlZWWkp1dlBu?=
 =?utf-8?B?QzA5alB1RUN2NUFRSStqeGQySnpZWHU5elEzb0RqU1dnR2FTTkxFRGZoOVhp?=
 =?utf-8?B?dHkrV0dyQm40QUR5eUtGTEpsTzNlYTFaWEhlV2xDZGpsVWxzMUhFMklaTjFa?=
 =?utf-8?B?THdPZGh5WG8vUHhMME5wSkF1a3ZuMTBJelpGR0pOTHpyQlVSU2IwL0Q4YnZE?=
 =?utf-8?Q?w07KyS1wJfLmIG7/6CFyTjwWJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 48c1ea90-dd8a-4fea-4563-08db1bda96aa
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 11:29:45.2462
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xO37xh5d1XCfllCvMWuBOeca45woZh/nAucuITIcnZaKRLIn3o4N9QcEsxl0mKJdW/9xjG7qgWQrHNzjdNI2Vw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9419

On 03.03.2023 11:38, Oleksii Kurochko wrote:
> The following changes were made:
> * make GENERIC_BUG_FRAME mandatory for ARM
> * As do_bug_frame() returns -EINVAL in case something goes wrong
>   otherwise id of bug frame. Thereby 'if' cases where do_bug_frame() was
>   updated to check if the returned value is less than 0
> * Switch ARM's implementation of bug.h macros to generic one
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V5:
>  * Nothing changed

I'm glad this isn't true, and the change to common/bug.c ...

> ---
>  xen/arch/arm/Kconfig                 |  1 +
>  xen/arch/arm/arm32/traps.c           |  2 +-
>  xen/arch/arm/include/asm/arm32/bug.h |  2 -
>  xen/arch/arm/include/asm/arm64/bug.h |  2 -
>  xen/arch/arm/include/asm/bug.h       | 75 +-------------------------
>  xen/arch/arm/include/asm/traps.h     |  2 -
>  xen/arch/arm/traps.c                 | 81 +---------------------------
>  7 files changed, 4 insertions(+), 161 deletions(-)

... is gone.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 11:31:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 11:31:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505906.778901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY3dh-0004Eh-GN; Fri, 03 Mar 2023 11:31:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505906.778901; Fri, 03 Mar 2023 11: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 1pY3dh-0004Ea-Ck; Fri, 03 Mar 2023 11:31:53 +0000
Received: by outflank-mailman (input) for mailman id 505906;
 Fri, 03 Mar 2023 11:31: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=M2mb=63=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pY3dg-0004EU-MU
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 11:31:52 +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 fc9f1370-b9b6-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 12:31:50 +0100 (CET)
Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com
 [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-107-jLUjtX5yPh2MxVXnRW05Yw-1; Fri, 03 Mar 2023 06:31:45 -0500
Received: by mail-wm1-f69.google.com with SMTP id
 t1-20020a7bc3c1000000b003dfe223de49so2694581wmj.5
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 03:31:45 -0800 (PST)
Received: from [192.168.0.2] (ip-109-43-176-203.web.vodafone.de.
 [109.43.176.203]) by smtp.gmail.com with ESMTPSA id
 d18-20020a5d6452000000b002c71dd1109fsm1926497wrw.47.2023.03.03.03.31.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Mar 2023 03: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: fc9f1370-b9b6-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677843109;
	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=2X96UUD+92YZeXNe71Re1yjjJOYn1e6yabwc3I03zXw=;
	b=haedgvwHixgBd4QbiLhf8dlrGqsfyhXYdgC/b4m+G6wuC/o7Bsaz3YjEPRwpp4hf7IcykY
	hnFYtjY63wCsEsUosWP5OsiR1zo3MVvD/hzrPRTuSO0e9Kxe7o9duWh4SIJPYS0tNsUjFD
	SS8SWPpHNJOwv2dkz+YofhO8HuAOG1U=
X-MC-Unique: jLUjtX5yPh2MxVXnRW05Yw-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2X96UUD+92YZeXNe71Re1yjjJOYn1e6yabwc3I03zXw=;
        b=qLu808s7VatGryId0rDVFuQGARdCGrw1KY6A/58/On54afIH19PBSEoD/2kmg0mMV9
         oGQ/6HwYEjzmvZpMyQ1Z5wYWnUbtSStTDsO9RQ1j8I1IBLeSfllFBH6c4vFOvjHY1PXA
         EUyHXGxwHxEfh0nfLcqVBHKORko7RPVudIa5SKxNoJZEWAdf+upuK1GPqQie5W2oBoU3
         RQUbtOLei/RkZt3D1FtoCqb4yyhk6gtxi5vomAbl3LNpuH7uvGYWds7gYNJArrFOZMXx
         D804c+qjTzliUw58PBN1XuSGQgmNyzVV2FI8bJ/Tio/ahTdlcLyAIg2SqqqHL2Krq3YM
         NbhQ==
X-Gm-Message-State: AO0yUKVjXdU4Cpmjqq2HxxhEOhaEa5YJrsf8bMI/h0u1OW6srGW6tvJt
	E8EYFceAb8rJcK/DtPp3NtbvlcLXJZyIrc8+fDjIcY9pugpZ2ZGXFsNEXUHTG73jDTOXlfdNXDL
	Eggv3Om2NwegnKqw75fhYo46qPv8=
X-Received: by 2002:a05:600c:5251:b0:3da:2ba4:b97 with SMTP id fc17-20020a05600c525100b003da2ba40b97mr964773wmb.19.1677843104689;
        Fri, 03 Mar 2023 03:31:44 -0800 (PST)
X-Google-Smtp-Source: AK7set89jwYKfXX+tidUwcn0W5eTNsi8WSvEa9NJwfkaA5xQlI7lx04yyCW7l1zd4f/2YxKQHT2bhQ==
X-Received: by 2002:a05:600c:5251:b0:3da:2ba4:b97 with SMTP id fc17-20020a05600c525100b003da2ba40b97mr964749wmb.19.1677843104376;
        Fri, 03 Mar 2023 03:31:44 -0800 (PST)
Message-ID: <4e6512e4-b159-cbe2-5f74-89fab25208e6@redhat.com>
Date: Fri, 3 Mar 2023 12:31:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v2 4/6] docs/about/deprecated: Deprecate the
 qemu-system-arm binary
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org, Daniel Berrange <berrange@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>
References: <20230302163106.465559-1-thuth@redhat.com>
 <20230302163106.465559-5-thuth@redhat.com>
 <CAFEAcA8JZqKnSN98PoO684zS1ZADj_KkaWO2QMk3w9uXk2cdMg@mail.gmail.com>
From: Thomas Huth <thuth@redhat.com>
In-Reply-To: <CAFEAcA8JZqKnSN98PoO684zS1ZADj_KkaWO2QMk3w9uXk2cdMg@mail.gmail.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 03/03/2023 12.16, Peter Maydell wrote:
> On Thu, 2 Mar 2023 at 16:31, Thomas Huth <thuth@redhat.com> wrote:
>>
>> qemu-system-aarch64 is a proper superset of qemu-system-arm,
>> and the latter was mainly still required for 32-bit KVM support.
>> But this 32-bit KVM arm support has been dropped in the Linux
>> kernel a couple of years ago already, so we don't really need
>> qemu-system-arm anymore, thus deprecated it now.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   docs/about/deprecated.rst | 10 ++++++++++
>>   1 file changed, 10 insertions(+)
>>
>> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
>> index a30aa8dfdf..21ce70b5c9 100644
>> --- a/docs/about/deprecated.rst
>> +++ b/docs/about/deprecated.rst
>> @@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, including KVM support
>>   on x86_64 hosts. Thus users are recommended to reconfigure their systems
>>   to use the ``qemu-system-x86_64`` binary instead.
>>
>> +``qemu-system-arm`` binary (since 8.0)
>> +''''''''''''''''''''''''''''''''''''''
>> +
>> +``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``.
> 
> I think this is not quite true -- at the moment if you want
> "every feature we implement, 32-bit" the only way to get
> that is 'qemu-system-arm -cpu max'. The '-cpu max' on
> qemu-system-aarch64 is 64-bit, and we don't implement for TCG
> the "-cpu max,aarch64=off" syntax that we do for KVM that would
> let the user say "no 64-bit support".

Ok ... so what does that mean now? ... can we continue with this patch, e.g. 
after rephrasing the text a little bit, or do we need to implement "-cpu 
max,aarch64=off" for TCG first?

  Thomas



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 11:39:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 11:39:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505911.778910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY3kw-00058z-7c; Fri, 03 Mar 2023 11:39:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505911.778910; Fri, 03 Mar 2023 11:39:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY3kw-00058s-4e; Fri, 03 Mar 2023 11:39:22 +0000
Received: by outflank-mailman (input) for mailman id 505911;
 Fri, 03 Mar 2023 11:39: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=z0SY=63=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1pY3ku-00056c-Qo
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 11:39:20 +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 07ca3766-b9b8-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 12:39:18 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-374-7_OlWQwlO0GNqGzgpw94mw-1; Fri, 03 Mar 2023 06:39:15 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5BA9B29AA3B0;
 Fri,  3 Mar 2023 11:39:15 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.53])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id E45B6140EBF4;
 Fri,  3 Mar 2023 11:39: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: 07ca3766-b9b8-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1677843557;
	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:in-reply-to:in-reply-to:  references:references;
	bh=Sexof3CaldIYpbgHhQFfPYuNh/PjDrWj3k12Gp1hVDo=;
	b=gfnbDeFS/1h7xrKmbd7CdcCsbxZwXVvujI8mcjHXvfHTPf05x4gvLOYJr9u6iwdl9rme2n
	y4H+JqDEazLxMF6mKEl8cBPWAuDTXrsFH17dc6+0Q1nu8SgTIjAnbcfjfyXvn3sdZ0pqvA
	UdJOZeLNJEn/wErEynup7KMEU0IlkU0=
X-MC-Unique: 7_OlWQwlO0GNqGzgpw94mw-1
Date: Fri, 3 Mar 2023 11:39:09 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org, Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>
Subject: Re: [PATCH v2 4/6] docs/about/deprecated: Deprecate the
 qemu-system-arm binary
Message-ID: <ZAHcXUvAKFHeJiM7@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
 <20230302163106.465559-5-thuth@redhat.com>
 <CAFEAcA8JZqKnSN98PoO684zS1ZADj_KkaWO2QMk3w9uXk2cdMg@mail.gmail.com>
 <4e6512e4-b159-cbe2-5f74-89fab25208e6@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <4e6512e4-b159-cbe2-5f74-89fab25208e6@redhat.com>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7

On Fri, Mar 03, 2023 at 12:31:42PM +0100, Thomas Huth wrote:
> On 03/03/2023 12.16, Peter Maydell wrote:
> > On Thu, 2 Mar 2023 at 16:31, Thomas Huth <thuth@redhat.com> wrote:
> > > 
> > > qemu-system-aarch64 is a proper superset of qemu-system-arm,
> > > and the latter was mainly still required for 32-bit KVM support.
> > > But this 32-bit KVM arm support has been dropped in the Linux
> > > kernel a couple of years ago already, so we don't really need
> > > qemu-system-arm anymore, thus deprecated it now.
> > > 
> > > Signed-off-by: Thomas Huth <thuth@redhat.com>
> > > ---
> > >   docs/about/deprecated.rst | 10 ++++++++++
> > >   1 file changed, 10 insertions(+)
> > > 
> > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> > > index a30aa8dfdf..21ce70b5c9 100644
> > > --- a/docs/about/deprecated.rst
> > > +++ b/docs/about/deprecated.rst
> > > @@ -45,6 +45,16 @@ run 32-bit guests by selecting a 32-bit CPU model, including KVM support
> > >   on x86_64 hosts. Thus users are recommended to reconfigure their systems
> > >   to use the ``qemu-system-x86_64`` binary instead.
> > > 
> > > +``qemu-system-arm`` binary (since 8.0)
> > > +''''''''''''''''''''''''''''''''''''''
> > > +
> > > +``qemu-system-aarch64`` is a proper superset of ``qemu-system-arm``.
> > 
> > I think this is not quite true -- at the moment if you want
> > "every feature we implement, 32-bit" the only way to get
> > that is 'qemu-system-arm -cpu max'. The '-cpu max' on
> > qemu-system-aarch64 is 64-bit, and we don't implement for TCG
> > the "-cpu max,aarch64=off" syntax that we do for KVM that would
> > let the user say "no 64-bit support".
> 
> Ok ... so what does that mean now? ... can we continue with this patch, e.g.
> after rephrasing the text a little bit, or do we need to implement "-cpu
> max,aarch64=off" for TCG first?

I think we need to have a way to request the max 32-bit CPU before we
deprecate, because deprecation has to tell people what they should use
instead.

For qemu-system-i686 -cpu max, I guess we have lm=off to hide the 64-bit
support, so that's OK from QEMU POV, but will need libvirt enhancement
as I don't think we've taken that into account.


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 Fri Mar 03 11:55:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 11:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505925.778926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY40c-00083X-MV; Fri, 03 Mar 2023 11:55:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505925.778926; Fri, 03 Mar 2023 11:55: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 1pY40c-00083Q-Jb; Fri, 03 Mar 2023 11:55:34 +0000
Received: by outflank-mailman (input) for mailman id 505925;
 Fri, 03 Mar 2023 11:55: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=y5Qx=63=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pY40b-000831-0k
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 11:55:33 +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 4cd8aaea-b9ba-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 12:55:32 +0100 (CET)
Received: by mail-lj1-x22e.google.com with SMTP id z42so2011729ljq.13
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 03:55:32 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 f20-20020a2e9e94000000b0029573844d03sm267815ljk.109.2023.03.03.03.55.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Mar 2023 03:55: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: 4cd8aaea-b9ba-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1677844532;
        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=qlYhNSBZAob4jbsatiLLFbnxAljXrHi0a9m8RVeqp3I=;
        b=YkoNOV3vdI2uugmRM0SZa36qG4u8Z/rP7WFjpbjLsMCibLt/1N49C/1OcBA25KnCKz
         90zhfXgRPH3CMQ3VeaGoyfeF8YDW6XcDBC2W807O14vj190hfGx2+aWUnCHUtKnuDd/Q
         6xFCNWiGCgoXFDYdeINhaBr7M4tJk7Q2MU+cS5Y3SEFy5zHEyM1pAukSzmsEWEaIaCfe
         IiX26q+EOvCzqtMqEOaJOwXDfPHLwk69HyS6IA7zEoGiEYd6fb4Zo0ap38QbTWN4w8Ph
         eCmx4DPp35ENH+Qmbu9xpxKhRjV3BC8/SnpljOkEsNj54AXwvtd4+j65qaafVoDdkGTK
         etGA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677844532;
        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=qlYhNSBZAob4jbsatiLLFbnxAljXrHi0a9m8RVeqp3I=;
        b=aAOPqf7Jc4Wtcajm4rj63a8d6dSWG1GWk0pM6tp0FBZtXFf7T5KzP7eLzR/z1NxeUJ
         TunT7UlNfYiieFEQubD+sfgMwLbtSeYAq9fQXMNaZ0G2oumiXt8vmgwrIsqZaJXKCQ/a
         AXbiv8Om8BGBr32lrZ9Md13mg5hUA4Ez0cESfYd/DXJ1XZmfCGu5Fwpvodu9Etjtn0hn
         ns3Ps3kzxxYp8auJnBdqqtNssihfBXUbk3I2Kj4Tf64W4FCstLYyOMWtWYINO3MEo5WY
         8H619mJetjpitkjxN5iSGGCUoBvaafOQJjnIUCYRmEQuwEh34VupS7IsmvqtUQaHHr5K
         EsqQ==
X-Gm-Message-State: AO0yUKWpeguzVehQ81tGHymZwtoDBRIjyvFw1kuYP//sEAos3bm9UWxF
	Yk3/1iy6819rNa56Fgw7Qzo=
X-Google-Smtp-Source: AK7set952/Dmk2wXALe+K+Pf1Ypgn9LOy/1kM/gZNR0EvhESVkFHJNePHotFh5GsM9S+lyH6Yhf4jQ==
X-Received: by 2002:a2e:5757:0:b0:295:a956:5db1 with SMTP id r23-20020a2e5757000000b00295a9565db1mr470822ljd.18.1677844531578;
        Fri, 03 Mar 2023 03:55:31 -0800 (PST)
Message-ID: <b16b282ceb630dc641babfccd209f12ca4aa9fd5.camel@gmail.com>
Subject: Re: [PATCH v5 3/4] xen/arm: switch ARM to use generic
 implementation of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
  xen-devel@lists.xenproject.org
Date: Fri, 03 Mar 2023 13:55:30 +0200
In-Reply-To: <b4adc3c2-6356-c552-93a3-c2a66ec53a04@suse.com>
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
	 <9de74cc424d5f198ac76ff46394aa5b99502d24e.1677839409.git.oleksii.kurochko@gmail.com>
	 <b4adc3c2-6356-c552-93a3-c2a66ec53a04@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Fri, 2023-03-03 at 12:29 +0100, Jan Beulich wrote:
> On 03.03.2023 11:38, Oleksii Kurochko wrote:
> > The following changes were made:
> > * make GENERIC_BUG_FRAME mandatory for ARM
> > * As do_bug_frame() returns -EINVAL in case something goes wrong
> > =C2=A0 otherwise id of bug frame. Thereby 'if' cases where
> > do_bug_frame() was
> > =C2=A0 updated to check if the returned value is less than 0
> > * Switch ARM's implementation of bug.h macros to generic one
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V5:
> > =C2=A0* Nothing changed
>=20
> I'm glad this isn't true, and the change to common/bug.c ...
>=20
> > ---
> > =C2=A0xen/arch/arm/Kconfig=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=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/arm/arm32/traps.c=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/include/asm/arm32/bug.h |=C2=A0 2 -
> > =C2=A0xen/arch/arm/include/asm/arm64/bug.h |=C2=A0 2 -
> > =C2=A0xen/arch/arm/include/asm/bug.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 | 75 +-----------------------
> > --
> > =C2=A0xen/arch/arm/include/asm/traps.h=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 =
2 -
> > =C2=A0xen/arch/arm/traps.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 | 81 +-----------------=
------
> > ----
> > =C2=A07 files changed, 4 insertions(+), 161 deletions(-)
>=20
> ... is gone.
Thanks for clarification.

I had to add this information.

It is gone because the first patch of the patch series was
updated and the changes from common/bug.c which were in
the previous version of the patch has been removed so after
rebase they disappered in the current patch.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 11:59:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 11:59:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505934.778936 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY44E-0000Ok-7R; Fri, 03 Mar 2023 11:59:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505934.778936; Fri, 03 Mar 2023 11: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 1pY44E-0000OI-4N; Fri, 03 Mar 2023 11:59:18 +0000
Received: by outflank-mailman (input) for mailman id 505934;
 Fri, 03 Mar 2023 11: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=SP4M=63=citrix.com=prvs=419214df4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pY44C-0000K3-1H
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 11:59:16 +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 d0b9adb1-b9ba-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 12:59:15 +0100 (CET)
Received: from mail-dm6nam10lp2107.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.107])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Mar 2023 06:59:11 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6574.namprd03.prod.outlook.com (2603:10b6:510:b9::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21; Fri, 3 Mar
 2023 11:59:06 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.021; Fri, 3 Mar 2023
 11: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: d0b9adb1-b9ba-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677844754;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=4qx6QdZIJfrtqyxRdZiDUNM1v4TNZOZGNA8/SLZlOzk=;
  b=YNPmVwj92QIY6M81Yk1UIwsNWviOJRPUYRjd4l9RRObAQCMo7S/4sMPO
   dPjHIuJ55WwDJXr4fqKj7k02kvjTuimC1R/GgZj1ci+Qm8e6lFno7ml/q
   3EPVTBzgQBf82SnBKS/Qdf6OKyOQeCH1MFNacKRKvY9gIJWwIXThEu47O
   w=;
X-IronPort-RemoteIP: 104.47.58.107
X-IronPort-MID: 99327614
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:OeeDNK3b+6YQSEDrdvbD5R9wkn2cJEfYwER7XKvMYLTBsI5bpzQFz
 zYfUT+CaK7YamWmKot/aIu3oEsDuJbRz4JrTlE6pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdmPqgS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfP3BCr
 OMhFi4xVSuo2u+MxK6iCcBPv5F2RCXrFNt3VnBI6xj8VK5jbbWdBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqsy6KlFMZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXKqA9hNSuTknhJsqECrzXwvNTMdbmCyhOe1llKUQ4x2J
 3VBr0LCqoB3riRHVOLVWhyzoHeA+BkGSddUO+Q/5EeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq1/b6OoTS/ESMcN2MFaGkPSg5ty8L4vIg5gxbLT9BiOK24lNv4HXf32
 T/ikcQlr7AajMpO26Dl+1nC2mqovsKQFlFz4RjLVGW46A8/fJSie4Gj9Vnc67BHMZqdSV6C+
 nMDnqBy8dwzMH1ErwTVKM1lIV1jz6/t3OH06bK3I6Qcyg==
IronPort-HdrOrdr: A9a23:eYczp6kKMZXcb/+LkKkE7gj0j/HpDfI93DAbv31ZSRFFG/Fw9v
 rCoB1/73SftN9/YhEdcK+7Scu9qB/nmqKdgrN8AV7BZniEhILAFugL0WKI+Vzd8kPFmNK13J
 0QFpRDNA==
X-IronPort-AV: E=Sophos;i="5.98,230,1673931600"; 
   d="scan'208";a="99327614"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GN9Gjhf+n1TODQqNwCeBq51dn3OY6Kpdy6pG/N29tLCajsyKbGz3DCBT3XAIECtCaC9bS8YGkWWa/2ceq8FQeH1Ixsd7OMtuGZmLECi1CYsTCFh25j0YbKflQivER7GLHTA0YZUoEbmhAj/88Y/yEOfUUBCUKemj5MHpFdQIxDD7ikyfF4zJc/Jw3usaA/WG3yuRheTnpLM/n1UewfAE1hw8AhCA+5Aiv8VwcQkLf8ovIKeLWfhZt0wlWRvQAMW95FhsGLPRU9odbhUKHQS6+6W54v2rWuFhp5US3HVuJDQ26p2o0jPkwmJU9YvfjT9aOg7ZA0sxoak5Qtxg19Dqeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+Pk9DikWWyqoofKzDY/0yqHGk/YP3v+dSWXxHaaICMI=;
 b=mueHVjTm+FEY1gCS6IesuihItsb52gj5z/zL/nwqgDquTxhgboHppVLFeEq2uxnzMs1F1G1Bp1kVG6fLULMBwPiMlCmDynS28mUSWEEmvQ84BbEZKBJsVCBY2FvLfoobBpHNITcF1n1EbU6fXyXDrEd/cIATNapVnxR+8Cs2/IuXQ9JLuaXnjeLml4UbLE1q/7TCnI19MFzpW6Md+K0Ofc+8QpxZLWMIUFna3zIIQPT4gLyqAIKfHlvhLXvfQDVbVW7p7heiipDHw9FLEBxq8eUa5tPsP1oMb8DYjG+n2J+ANweLPdsyv0JqKfsKuKOQOb1jJbP50UxgT69eEYoW9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+Pk9DikWWyqoofKzDY/0yqHGk/YP3v+dSWXxHaaICMI=;
 b=MqAR6EXRwRp87Cp+Ev6qcYco0zjmq+4aXu8AtoSdDcIAKj4P+/5UMl7/9Rz3qpYqf2O0Rj+jTM2gfdhAhETelByE7ldcmrjqAIV9jEkSEqJSm8o5zEgcKP2QmFb2YursJkxK4Nfq/9a0vF+aXttz0bxN5lqAVfO4Y41/59RaNR0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <62e997e2-8e45-9048-10fa-469bfb28b08b@citrix.com>
Date: Fri, 3 Mar 2023 11:59:00 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] automation: Add missing and drop obsoleted aliases from
 containerize
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>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20230301090644.4452-1-michal.orzel@amd.com>
In-Reply-To: <20230301090644.4452-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0081.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:138::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB6574:EE_
X-MS-Office365-Filtering-Correlation-Id: 50aee5a8-78c2-4100-d202-08db1bdeb083
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8ICUpMqr7hKlGIzgHRwdBnVAZzI1rn2ZIC7OHDcuzsojHpmRr+oBtapchyfOFT1LYWHnzCFsC+lFVDwSbPjhaECuTINZPj0ogK6z6Eflh9DRI+2hiBfztRx7YzBMQfo5ZJk+/QNJBCn/FKQMjgmuHEgL/w+2UNtNne6zM2FcH3mmp59g7jVvIvZaTZknpyvebjkYsDXkCF5ysvMpcmhLrrALi7TPlf1uaE4jiVd8gq6kplPcd7xsTVzec9CVapzRMelEU+yh7Ij/wZKMgMAxJeXlHPPz7jVEmVihzljlCfdBYzKdbe0qQ7RWiNR53UEjl2QzaY34BVD4EMxKtSA+du627TMnWBi4zEbKrtDpB42UtQMJbu1RgeeSZ6i0VARLJO/uUhoqz7iXPhPGS/KkubkgnujdLaHdlM71w+K5VpLmM75jhfJfS/5cfporVyIghmpTDLRdc1UKbQ/IlaRhJxQFK9/1WsvS6kxR1rz6QbNJLDdNEQg2AL3hiTWAqkdL0WNQBJvZEg1eUyxYR1vqnDkRpb1/bloy3bCGGah5o3sXhwZkzRd71+oG3XOb4Asi8mSUVc10fPCODfg7k/wqhb8eBVTU27PirSrtVNYryQ3vSK8auODKNwJShGJHNj9cLYNA0qzgt3FIf69qBPk8h8n6d7ERlQzh4M9yEPsLSZ0H4ffUkMcxWQT3aIwqFnxrNRNM8vx0XPFPFmH+/iMjaoa+RueFoIYIy830tCAqwKs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(136003)(366004)(376002)(346002)(39860400002)(451199018)(66556008)(86362001)(8936002)(66476007)(66946007)(31696002)(4326008)(38100700002)(8676002)(2906002)(54906003)(316002)(82960400001)(5660300002)(478600001)(36756003)(41300700001)(2616005)(107886003)(6506007)(6512007)(53546011)(26005)(6666004)(31686004)(186003)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZkJvSC9hV3hYVnlRTjRFejZReGxxUkhwRks0VXV2SnZsYWRWR0N5RjN2THlv?=
 =?utf-8?B?blBiRm5SakxNRGpJQTZrZFRUZnRQUXVZUmptYjg0RE0rUXdmRFN0MkVrdW9V?=
 =?utf-8?B?YUJCR0N0ZmZrd0ZEWFczKzNDRTNvc016TmJ4S1pUVXJiQTE0R1hjUmNZUGVW?=
 =?utf-8?B?ZndtYmVRckxjeEM2VkhhNlpLK1l4YTRKVFNrdytzMWtsWVYrNTF2QThVQTk2?=
 =?utf-8?B?ck43MVI4Uks5VDFnakxlK0kvMGYyejdXRUp4SnBRZmxjaURQYXI2WkNSTmpQ?=
 =?utf-8?B?RzY5ZndNQUYvbytkQW9TajlxeFh4VkNYNWtLZDUrdTQ4V3E4TW9jUm9WZHlL?=
 =?utf-8?B?UnlvL09xM24rVDJ5Z2J6YmM0S1pLTDdhQzNwd1BzMFFzcFByUjhMRnJGTXcz?=
 =?utf-8?B?RXVXUHZ1aU4ydTF5UXY3S2trUyt2Nll1Y3JpdThxVUU2R25lVVpqT3FRTXdF?=
 =?utf-8?B?blFVRUV2dEUyZEFpYTdGcWtranNzVllQT2VhWjJ6OWpkd2RCejhhZ1BNemdC?=
 =?utf-8?B?ZDJFZkJ2VloremdOb3ZmNXUzMFV5a1ZXZ1MrOHE3OE82SXRYR2FGeE53ZTh3?=
 =?utf-8?B?ZHRNWjNWOWtFVVV4Y2pSc0p4YTlzc21BMXdqY00wdFkzTitzYW9rTzMwWFUz?=
 =?utf-8?B?WVZhckx3RGtSZGRDa0RVYTJRY3N1dVJCSThiSUwrajYwZzR6dXZWUnV5Y0RW?=
 =?utf-8?B?dE1pRmJFc1kvZ1pac29vc2tXNS9WQU1zY0xWTHhXVHo1OERXNDNWTGNjaG8w?=
 =?utf-8?B?TGlma0pNSXhSeHd1WWZoN1JobnVycVhUNW1yMkNESldBQ3JlL1QxT1RKb3lu?=
 =?utf-8?B?QllnNVhkT0kyaERrdThyR2gwTlFKUG9mV3VzQzhWMG5EY3hwcWNVc3dvRmtP?=
 =?utf-8?B?S1hJM0ozUUtINUV4eWhmM2pnNWFiblF1QjdVWkwvMHBTZnlkdDhsOGtrYmpO?=
 =?utf-8?B?N0ZYMjJtc0xEMDBtU29KOFJxbEpJdXR6WHo1dGxvcGc0cDRXNFlTSVJDc0FC?=
 =?utf-8?B?UnZZdXlzaHM2TGRZdmxsUEdvS1NVU2J3bnQ0ZUUvTGZhcWJmUkN0b2lJRzVO?=
 =?utf-8?B?MUk5eXh4L1VOck94c0RudkhLRVpjZVl5TnQxNTQyOExHNGRBbWtRU05OR1Q3?=
 =?utf-8?B?NVpNaFZVQnJTdVJ3aWVqUHhiQ05WaDFoSitRVXJmNGppMG0xVDJ3RGtTNTBx?=
 =?utf-8?B?KzlxcjJYYVBENlIwQ1ozaXkzVTQrbWFqTnlBRUlReS9BV2c5bEhMcU5LU2tM?=
 =?utf-8?B?TXI0SWlablN3VWtZNWd0MWNVM21lZXRUZS9iV04vbmhsOVVURkdCVUZ0RElv?=
 =?utf-8?B?dmRUVkRtMERhdzFwZTZMVFZnNTNJUk5xN1MvWkNiQnZDdHJlcGhYMmw2SERE?=
 =?utf-8?B?RHR4VUZOSE93L2Q2c3A0a0FGRTBiQzZHOUxZVy92NnlRQ0dVT1UvZ0FXV3Bs?=
 =?utf-8?B?Y2RzRlZCV0tDYXMvSFgxZWlqU1ZvV0E2OGdCclZKMGZTWlJoYlJyTWJadTE0?=
 =?utf-8?B?eU9oa1hqUkwwVjd1Zm5yZ1RFQVcyaGlOY2U0WVdzWXFJNUhTZ1lFYm8zRk45?=
 =?utf-8?B?cTU5elRleGVmQVpLS1FkSmg5d3FiVXZ1MTdnSlVMY0RYZ2JYMTVBRU9xQmp1?=
 =?utf-8?B?QUVNV3ozajRqdEgvOTV0SVZSeGhiWDZYZkxoc0J1UnJVdmhYUCtWY1ZHNzVM?=
 =?utf-8?B?MzRVdGlTaEFZR1RiSXF6cGVqSmVhZmd4aTdHcWhQell4K1hmNFhVTmhPVFdE?=
 =?utf-8?B?bDUwekpqNGpVck8vc2JpdFNFTm5RMk1EeXl1cHdxUmNjNmVLUlJ3K0ttSmpK?=
 =?utf-8?B?RWJySnZha0NONDY4QmRrNXlaUEZXbWJqdFprMU9Fakp5SzB6MjhDeVlqZy9B?=
 =?utf-8?B?UGgrRTZvdmtXeTZYaXVoUWM3N01NMExGbi8xbzkrbTk3SnppT29QKzljeDBw?=
 =?utf-8?B?ZEEwVTljQmxmRGdYa0xkUC83OWtrWVRmMEozcitFaDh1aGpad3ZYQTlHNHhu?=
 =?utf-8?B?bUx3Ni9XQldENTdVNHdxbXlVUGJTNyt4WTkrck5xdEw2c3RHSnI2cjAxRVBw?=
 =?utf-8?B?M0JlOG42eUJhcUFyQVAxbnRML01rR3VoL1dUWlRGZWIyS2NZQlRSekVxMDBu?=
 =?utf-8?B?dGZzVlV5MEdjTGNJelluNDc3SHFjaWZTN092WjlhaURpMEJRdjF2Lzhacklw?=
 =?utf-8?B?bnc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	O/nxVtLoQKzwPdity1+9slR0/O4Oq+pUg/spd5NJLuLGMIh6a3HaeWmswTVIwewPU+mpNcWktq9gyxO3LaIEpUcntO04kR+YZdc5JRLPNf6QAeuUlFwKff2VvbyOUCrPSXLXfb6jlNLXGgu/xmD5CzlOU49+YNjtoTcITcYGJLMs9ciK6kl95gYIMS5jA6EpRD+DMFJmntfaNakRV6pCRjeOOj/temU7U7GGA+cYtkdCkMEu3wAHFjmQS0UA3qGAaysRLaO0uJAaf9e3zVwjrUSoqBDU7Qh1klbQO1J1w1zsboo7HZA/Y4AsiTG6OUMnvT1yRza+NXYRcuHHMHh2uVKwpyLgoWPIVYFCRP9tQ3zcQKH+FzPNVQo1Du4PnA28NwSaIWGDLa3hr4bxyOUJL5dWGInIkPLel9QktcrL8Gv0BXhfXdtx7nXWxCfXMsWLjsxkTta0BNLJF0dWSS4IBQIh0BUkAP87TBAwfmDdUcoLaQ03u1W03lDCZLIBzz+uaiqIvX9o0M+1hgnSmkkueYijifGCbtjlaTQLDTk1SBOhUbsMH2/kNUeXLIh6bJMN02lHjPHtm5IXqbg2CoLftqUf5keJiMfO5X3FnsY6lUa+4KmKPvG/erq/VGDLk1UxFaaDipLwCH0QwRMgGNA1dRq8prFMnojeaRBr862+SaebBkQardvkY0RCM5glTEmOI50lc3gP3KLvSUocpAKMwAJ+7s6ApVCLZTsgoMignOhJoDF1mfbz1BPgRYv8cbTMm1bThUEbA7ap7PiLW5lVHTNQ59RoD0wb1ugkPPMwc9OknqRdNkg/aYMTaRib5bODYAzDASxwZjwl8AdLZE6LwRza/IYOH5GANLu3QEsLjo8=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 50aee5a8-78c2-4100-d202-08db1bdeb083
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 11:59:06.3988
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: q3DdUimn05LQuTjoJWtJSZKDnEi5iPqmiDppFyO8xMSnd+sfAYwcYM9ocy2yNOEEqQPbHebn+QXweCoi5j/tRhtgFhnIPugvjFUAhx+E/ew=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6574

On 01/03/2023 9:06 am, Michal Orzel wrote:
> Add missing aliases for:
>  - debian:unstable-cppcheck
>  - debian:unstable-arm64v8-arm32-gcc
>  - ubuntu:bionic
>
> Remove aliases for no longer used containers:
>  - centos:7.2
>  - debian:unstable-arm32-gcc
>
> Modify docs to refer to CentOS 7 instead of 7.2 not to create confusion.
>
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
> Open questions related to the CI cleanup (@Andrew, @Anthony):
>  - Why do we keep suse:sles11sp4 dockerfile?
>  - Why do we keep jessie dockefiles?

Because we don't yet have a process for retirement of such things.

Right now, all branches other than staging are using the jessie
containers.  While it's still in use on any branch, we need some way to
rebuild the container (potentially with modifications - see the recent
HTTPS fun), and standard practice is "patches into staging".

An alternative could be to patch into the most recent staging branch
containing the dockerfile.


sles11sp4 is more complicated.  We specifically tried to get a SLES
container working, but it was always in a weird state (only @suse people
could rebuild the container).  We did eventually replace it with
OpenSUSE containers, but I can't currently locate any evidence in the
gitlab yml that we wired sles11sp4 up.   Which is confusing because I
swear we did have it running at some point in the past...

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 12:09:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 12:09:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505949.778946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY4EH-0002UJ-Ex; Fri, 03 Mar 2023 12:09:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505949.778946; Fri, 03 Mar 2023 12:09: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 1pY4EH-0002UC-CF; Fri, 03 Mar 2023 12:09:41 +0000
Received: by outflank-mailman (input) for mailman id 505949;
 Fri, 03 Mar 2023 12:09: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=DvcW=63=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pY4EG-0002U5-A8
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 12:09:40 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20628.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41dbfa9f-b9bc-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 13:09:34 +0100 (CET)
Received: from BN1PR12CA0021.namprd12.prod.outlook.com (2603:10b6:408:e1::26)
 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.6156.22; Fri, 3 Mar
 2023 12:09:30 +0000
Received: from BN8NAM11FT021.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:e1:cafe::ae) by BN1PR12CA0021.outlook.office365.com
 (2603:10b6:408:e1::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22 via Frontend
 Transport; Fri, 3 Mar 2023 12:09:30 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT021.mail.protection.outlook.com (10.13.177.114) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6156.19 via Frontend Transport; Fri, 3 Mar 2023 12:09:30 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 3 Mar
 2023 06:09:29 -0600
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 3 Mar 2023 06:09: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: 41dbfa9f-b9bc-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IdnGYK2pjlh6nsLeJO6zT4Rt0BfXBZ8gXg0uy9A9xV6WP30OynBr2/ssAxmVJTKYIYAP4EZuVi33x14u/k1/MwnRHJvVWZG6ReMizoUgMFeALGp1AxKnlMgxD6ZXBzXQRJKA+Hl7r+vwPVcbY+9JsOrhoueQATdbAHx/RJjGj73BX/9XwmGjbOuj54+JtYoTqaEOGoz+DeBwv5iozFsNnYfu2l0Gr7QfGTbAh9+iFlpinM3F2ah1+dG0LRR8Tc4YJg7kTBSGIk1XztvcqOgoqWhbRktca+XnmKU9RH2ukm1yWxsZubXiLMl2Ex74fk7hdFDdMhmRuFsuPsKLlPxFPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KPqu7jOc0vI9s4y/WybfmC0Ew++zE39dV2zMMv0sMqY=;
 b=ZDRdaxc9INFp/OR3HElIaU3DNl4y5mLXqsdbyNRA7UV7QTqKN2kZChRMXrT0ZXejQaCM7Z41W7WE7kvnMnx9cQ+9EvUmd/mFYvSHw70tTaPVbrlPhRzqtOoEfLQGOeMkKYtsLHQtzFNTQko61FKJf5Lqp/N0choByXcx4gQBxi9gfx3pOEecuhxG+ekZCvs2hlv9d2nc6I3Ko5QhFsJoIqTXM/jU/Nug6VcWlKtEna3qMn2NUgrAfrC8nw8BsSgD4Bt1TnYpQ3lWPpprRlSvuIF8zsTHK8bR6XxbSdKJF8ErqIKiVXcsjZ4opK8eMtghLT299aHytL7QJtByjt4G/w==
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
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=KPqu7jOc0vI9s4y/WybfmC0Ew++zE39dV2zMMv0sMqY=;
 b=k3S+lGLlkaisPjIBJNcamQRyvEQt9uRAsLTmdloqFjkztGFXA80jQ4bcrlkuKHyN2AVG8ZpgXOSdNzQ0Js/lK12CvYmAZuvgs+kcZvCdqhwFE7e3hElkgUHse5YA/9maFY46gXlRFtZFd1NjBG10ykpJkF1P1Mr8Wv7mXL7x8+E=
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: <631c534d-5781-7884-4814-7182b0c59621@amd.com>
Date: Fri, 3 Mar 2023 13:09:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] automation: Add missing and drop obsoleted aliases from
 containerize
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xenproject.org>
CC: Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230301090644.4452-1-michal.orzel@amd.com>
 <62e997e2-8e45-9048-10fa-469bfb28b08b@citrix.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <62e997e2-8e45-9048-10fa-469bfb28b08b@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT021:EE_|MN2PR12MB4223:EE_
X-MS-Office365-Filtering-Correlation-Id: faf147a2-e864-4d27-13b5-08db1be02473
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	viX6ep4N0clk6HGvfqMbBpctoa50t0NpCmgPOf2M7X4wOvwxkZo7lEnpr2QWClfuTjYE8U4h4EHhuC81htx7yHXeamKDJ0rbETXbhSbC6Jp+xhI8WjmAbAzkXJcRrVeZNJJsLh9wosNu0R6HXPdXGXTrFxIyJUsnJ1B5wG7HCPNTCXkcypvobf8pyMEhUVFZpWaKPBcPMSIumKZ9/lqHsvVeLMMyg9JV14zwLtwuqHGZtAJI2atInodTEN8ZfzZJwRS1N4UgJaVDFMGH0qt/D0mh9ZrYwQo912RC6XB15A5Smzw/KeOFG8YhyFLKl5GMAXcgNCJTz6tup+DoG07onXqPxl4YZ9kGY3h3BTQhMg+9zFlnAYMO0tgMg/4SfhLYfIG1Fp/EpuHd8Hy6kL8OXnH/wNMxRnvE4BO1I4P9wtuU8HA2nWHk5HPyNXpk+yFH3DTQ5wc8nwmd8Scu4L6me1xjVTMunpRCxHaZXhkLDAEdG2XiMUamwOZwlX0rgli8UDs1hDbSfXjcrrin25TanzWJzdGTOuJAyXiBQsoh8BALC5AwR6rGyamf7w97aJ30IbT58b1zOhEZ6eP1xRF98lfe1Pqr98xOBlXd2CGVCu56pTkwlWrvjmvvE16UNSCqqcCEYYM3lzkaec6/X9B54OndPBfy02bKz6/EHTxtKVwbQRvvo0kzebxrz3VrylzzYQg4lEdGZQNT0DUmodJ55GD1/2Ed81vZC+hDFrCEv7QqAxgQp4yztelJge/1Fvp15cnhL/rX2F0LekeXrtcWYg==
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:(13230025)(4636009)(346002)(396003)(376002)(39860400002)(136003)(451199018)(46966006)(40470700004)(36840700001)(478600001)(186003)(16576012)(82740400003)(110136005)(40480700001)(8936002)(36860700001)(356005)(316002)(86362001)(41300700001)(31696002)(54906003)(81166007)(82310400005)(36756003)(2616005)(426003)(47076005)(336012)(5660300002)(40460700003)(4326008)(44832011)(26005)(31686004)(2906002)(8676002)(70586007)(70206006)(53546011)(6666004)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 12:09:30.0734
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: faf147a2-e864-4d27-13b5-08db1be02473
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:
	BN8NAM11FT021.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4223



On 03/03/2023 12:59, Andrew Cooper wrote:
> 
> 
> On 01/03/2023 9:06 am, Michal Orzel wrote:
>> Add missing aliases for:
>>  - debian:unstable-cppcheck
>>  - debian:unstable-arm64v8-arm32-gcc
>>  - ubuntu:bionic
>>
>> Remove aliases for no longer used containers:
>>  - centos:7.2
>>  - debian:unstable-arm32-gcc
>>
>> Modify docs to refer to CentOS 7 instead of 7.2 not to create confusion.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>> Open questions related to the CI cleanup (@Andrew, @Anthony):
>>  - Why do we keep suse:sles11sp4 dockerfile?
>>  - Why do we keep jessie dockefiles?
> 
> Because we don't yet have a process for retirement of such things.
> 
> Right now, all branches other than staging are using the jessie
> containers.  While it's still in use on any branch, we need some way to
> rebuild the container (potentially with modifications - see the recent
> HTTPS fun), and standard practice is "patches into staging".
> 
> An alternative could be to patch into the most recent staging branch
> containing the dockerfile.
> 
> 
> sles11sp4 is more complicated.  We specifically tried to get a SLES
> container working, but it was always in a weird state (only @suse people
> could rebuild the container).  We did eventually replace it with
> OpenSUSE containers, but I can't currently locate any evidence in the
> gitlab yml that we wired sles11sp4 up.   Which is confusing because I
> swear we did have it running at some point in the past...

Ok, thanks for answering. Stefano wanted me to remove these unused dockefiles.
Are you ok with that or only to remove sles for now?

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 12:13:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 12:13:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505955.778955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY4IO-0003ud-W2; Fri, 03 Mar 2023 12:13:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505955.778955; Fri, 03 Mar 2023 12: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 1pY4IO-0003uW-So; Fri, 03 Mar 2023 12:13:56 +0000
Received: by outflank-mailman (input) for mailman id 505955;
 Fri, 03 Mar 2023 12:13: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=SP4M=63=citrix.com=prvs=419214df4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pY4IO-0003uO-0p
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 12:13:56 +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 dc2ca65d-b9bc-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 13:13:53 +0100 (CET)
Received: from mail-dm3nam02lp2041.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.41])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Mar 2023 07:13:50 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM4PR03MB6173.namprd03.prod.outlook.com (2603:10b6:5:398::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 12:13:48 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.021; Fri, 3 Mar 2023
 12:13:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc2ca65d-b9bc-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677845633;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=G++MmP20h1eba1/II4lLFzrNo31250ZZlU5kn5n7Is8=;
  b=NNUoLpDznU/2tRQYeKOdNrfZBBBvSeD7d2+hTBZt1o2IR4Kz35qQOzB9
   7VsEi6QaYZuNp013tLLwdtadGrVgsIzD6g+VDdgmSENKhTxusbE/VqrIe
   Ptz86jrEiTJIwd6WlpEnUKESgk8ZIoieWBKNlLrPsz3QfEif7c2iUol3m
   s=;
X-IronPort-RemoteIP: 104.47.56.41
X-IronPort-MID: 99735361
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:0NHyK62xB00PXDcqGfbD5R5wkn2cJEfYwER7XKvMYLTBsI5bp2dTy
 zZJWGGOO/zbN2L3fdh/aYu3ox9Vu8TQy4VlQVQ6pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdmPqgS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfJltQ6
 NlCLmo3cTfYn8Gv372pQchSv5F2RCXrFNt3VnBI6xj8VaxjbbWYBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvS6PlWSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnzHKkA99JSuTQGvhCuUSu3nI9VSQtaHy0pNiWjBGdYdIAN
 BlBksYphe1onKCxdfH4Xha4qXrCuQQOVt54Gug2rgqKz8L88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIVqW/62Yqj6aMiEPIWgPIyQDSGMt+ML/qYs+ihbOSNdLE6OviNDxXzbqz
 Fi3QDMWgrwSiYsH0v699FWf2Ta0/MCVF0gy+xndWX+j4kVhfom5aoe06F/dq/FdMIKeSVrHt
 38B8ySD0N0z4Vi2vHTlaI0w8HuBvp5p7BW0bYZTIqQc
IronPort-HdrOrdr: A9a23:3Ye2VKBaH8uRirflHemT55DYdb4zR+YMi2TDGXoBMCC9E/bo7/
 xG+c5w6faaskd1ZJhNo6HjBEDEewK+yXcX2+gs1NWZLW3bUQKTRekI0WKh+V3d8kbFh4lgPM
 lbAs5D4R7LYWSST/yW3OB1KbkdKRC8npyVuQ==
X-IronPort-AV: E=Sophos;i="5.98,230,1673931600"; 
   d="scan'208";a="99735361"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RYhqLVyHO2leeinGhNOvTv6uDCM1MyI32C7EH1LmAN/hauic0s56I86v7kYS5xvIwNlxi5rupwF2J+JkCTdbgOXbTVm5DA99U/fdKTgZ/8w3+lfKpG+jwkoav7yyZI3TW+Wum6DIFXh9o0qnFZol3djdLtXIf5EMx3Xf5QWmFKy90k0ne9n5SFig0XA/s+VbO7jD+K7C6SJNFhKA+JvXkhNvEYW4SAFdFP//xCMeMA6xGbz37al8mOszfX5Nb8jGBiL1w8nHTJxgHZUUcqQfgiO/ys+nmCW8AXQJHtdrCrzPwpTxzxitudTRIw2wm5te+kkrvJpOF7ViOUjOO2sCBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=92aB+LnbXvGRvihEybIkk05yCZObe3KkoLc0g+7xCgY=;
 b=oZCje8ZRHkRKrZXElqXDtzwqOmzLtlzGTo+tMePFZ87QgEiDBPKiTbdiVguQK/u0s66NJ/t8jKX/izqUsu2Wis5wViE+I/KQHFY8wfUP6AMUOFlKSPLkpB3NXi2pad2bfqc5PgvNTiQaMTIuYNyzxC1QrnRlTicl22k80iHg9aMcGlAO8vsj98mm5nrvxXqjsTL7mT11POEerv+pPV6bbSWjTG0/43SeOYUthFFKrF9uVSOjo/Lm9vgE9FrkehQIsK9xN+nThgntlq8aYs77e+NMcAf7pc0rvErzz+GXUXFM9AJu8RvMDgCU3ekTeCWTIB03pzTlXkXynB/UsTSTDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=92aB+LnbXvGRvihEybIkk05yCZObe3KkoLc0g+7xCgY=;
 b=AEgR6OGCL63gUpXIVbS9mHz6+zINr1MdjG8EQA23uAYLP9hctPgCw142otCTCjNHnEW1luGpPkPv2dD5G6//rYICW1+3aryso45WF06MvrkkcSo59tQp/ZjrJoZ7hZ+mYWTPg4A635YIB21cChNJAbIqgy4WO3jYuYT1wJu2DfU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <2820b89c-7d96-8ed8-8513-032514e6434d@citrix.com>
Date: Fri, 3 Mar 2023 12:13:42 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] automation: Add missing and drop obsoleted aliases from
 containerize
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>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20230301090644.4452-1-michal.orzel@amd.com>
 <62e997e2-8e45-9048-10fa-469bfb28b08b@citrix.com>
 <631c534d-5781-7884-4814-7182b0c59621@amd.com>
In-Reply-To: <631c534d-5781-7884-4814-7182b0c59621@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0427.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a0::31) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM4PR03MB6173:EE_
X-MS-Office365-Filtering-Correlation-Id: ec7d89e8-5358-4843-71a0-08db1be0be5b
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	A9uSrYOIoUeib0SVZatF+bmaDzpk6t8J7cCFy0ZYljyWJVmVPCtXtK3H6fi0qXeAggaE/klMIQ4LTaHACV57ftjD3faQkITlu73O/L0KbCxODhQdQJ8S784Z8sgJ4/bQekuXW0f/fjU6I92wCXRtDuKs2B3/Qy21ymTJOyUc41JeqxtC/LUZFvGhxEtakbV1bAJmX3G8lJel83r3w28r5bqJs8veiPgTItUKDcdp1jzc8Q7SnHcxIw8hESl5vAmgIt5Rp6uzKdwEELodou0xwrLwu1sMLLDix6kDEhjEWLNGoyM4WRoIeuJ7xe4Qfw/jUndWvKeAzXRBC75H/XdMpo0xHt+vHepBhyooUgaLXXm8AMG7jmX/ZWZGFCwDvdmvxy+PDvX3IZtfHwwwfpeU3YNUClrvLliAajEg8GOBX92J5RpmBcvgoDwnu70fClmWfyCd2Td1sZVa0P0x08+7Jyxx9pPIPUXvZU7RiZlsi84kSAgKcdVmQo2Drvkpr4aW6UWyI5XtEcfBz+Ds1QPTx732y++93ngojj86uEBg1jHaE89Milqv2iEs5YuV1V8SBuOzx9y3Jk/y70fAXSmXd18FgNGZP/DS8YzDpNygGA6Ua12PFezZsLLxUV6DUb+i1yBFPTyWMHcO/9t6MmWttv2LfPiuAuV3T9cHZZEis7JA+a0nIjnN1rCX1ZPZh60Avuxk5pVNiuYB3GV+xfgLGg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(366004)(136003)(39860400002)(376002)(346002)(451199018)(31686004)(107886003)(36756003)(6666004)(38100700002)(8936002)(82960400001)(5660300002)(478600001)(2906002)(86362001)(31696002)(2616005)(186003)(26005)(6512007)(6506007)(53546011)(6486002)(966005)(8676002)(66476007)(66556008)(66946007)(4326008)(316002)(54906003)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Zmlndzg0U0VPbzhib0dMUlM1Vi9JN2FEcWo0SUowVXUreEN4VlhSc0NxbGVh?=
 =?utf-8?B?U3RZK1pqaU5sQVI5Y3I2L21Fbk00MVpOVXN1ZzZ4QWlBME1paHVnQWdCRXFh?=
 =?utf-8?B?T2hUeGIyUXBDcDdRbGRJQTRzMDFSRFN6d09LTlM4N3VJcmFodGJRSUM3RWxJ?=
 =?utf-8?B?MDVaUGlIbkxGTkNwdHU1RW1sSUR5YXVRT2NqVUNuUG0wZ1N1aUVtN0h0WVRC?=
 =?utf-8?B?K0h6ZDU2ZXlOSWpSejZzS2dtcDVuZDBpekwyTjdQdnpSQ09MZjN4ZzJ3c0dC?=
 =?utf-8?B?T0NPazZ1ekJvSTE2UHBwMVVWajlwdC8yMUVZR1V2Rk51WFZNSHM3UmZsMmMx?=
 =?utf-8?B?ZFMzc3lKOGd5YkdIQjBLdjRoanNnRzNwL0ZWVHB0Z1hCQld6MzBaSmJOczhw?=
 =?utf-8?B?WE1rSW8xQkRnRXhDTUdKMWxqUnRwUVhzWHBpdWp3T042cWtsSXhRejZoZHNk?=
 =?utf-8?B?ZE1WZHFDRUJ2S2dEbXZNUFJybkV3dDVyQ1VENjB6dHVFa0NzK0lxY2duR1Bm?=
 =?utf-8?B?QmVFU2tSc2ZsNENHUHZ0V2NPZkJuODVrM3A4ZVArUjRscTBueDBzMFVpdStr?=
 =?utf-8?B?MVcxd0V0RGtKd0NCSDgwNE1WUzdSQnRiUXkvbEtkaHRQZmhac3hIbXc3UHd6?=
 =?utf-8?B?VTNvb05PVVo4WFZBYjFQZDNuZzJTaEhPUzFPaXkzNDJ4NGwwaUpNdE56azBw?=
 =?utf-8?B?OGFzUk5VTUNXMFpSWnNUbEdldDZvRlVhOXAxVjJnbk52Y1NKUFZHdllwa3Fq?=
 =?utf-8?B?Wmh6TTlBcHFWZXF5YkFFSThydXcyeG9YeU9SVHNTSXN4Yktvcm0vL3R4YVBL?=
 =?utf-8?B?MEwyVGJpTlNlSndZQkwzQVJzQUZIb2ZYSjZMWkRQQ2w2MlZyWjJzS21yQjRO?=
 =?utf-8?B?ekRORDlTbWZnQW9WYm5CdjNwYVc4Q3E3ZGRNMzVXSVdHcDBmTlFXQlBxNEkw?=
 =?utf-8?B?NWllL3RPL0N5RTBtVVFIVDV6ZG54V2c0SmVDNWVPbENTOXRkL0RJWE51VTR6?=
 =?utf-8?B?MU5zNHlUcTV1WjBHK3BIRG12WmFFZGxLVW95eEl5aWtOdWRseGltZE0rb3hk?=
 =?utf-8?B?eVRqWTUwTWpsMkdlSlhJYit0QVlKV1k5UVpnRnU5bHl0NzdzbVkrbTZtT3hz?=
 =?utf-8?B?bm9mMERmWjJpcjRNV0tZT1M1LzQ2QlBkQVlpN0s5QzRJS2tNZlp0YkwxaFJ4?=
 =?utf-8?B?SEVsSElmY3MxM3pidmM1RDFtNGN4KzJaaDJCTmxyUFpVT05VTTFkdStsd0RV?=
 =?utf-8?B?Szkrd2Y3Y1JjTHJ5MXgvMzd1S001dysrUHpocTljeVYyWnBhYS9vNWxrQjJn?=
 =?utf-8?B?S2tURklnUTNIcjI1Z3Z5aWZqU2hoeFkvWlplZXVnMVgvbDB6dVNLcXlzUlRC?=
 =?utf-8?B?cnlJMy8rZG1ySTExS3FwdUlQck9rbXhueUYyVTkzaUZGc3dCM296NitxMnBs?=
 =?utf-8?B?OS85WUUvTVFORVc5YnRJRnY1RTZ2Qkk3ck82WXUrY1pHUDdJNE9Mc2hIVnA0?=
 =?utf-8?B?aVlkM2poS1hGaDZUVWNjaXhjRVFXSnl2TVdwb0gyNENXTXZUZ2hrUUUwTkNU?=
 =?utf-8?B?b3V4dkRGaUthWXlLb0hKaXhBM0h6ZWxpck1DWU13S0p3QjlYeC9UUEN3L3Jv?=
 =?utf-8?B?YmFPSUxSSVpYZERkaGZJRVVNMlBYYnYycUJpQ2hncjRDM1F0dEFNZktOSWJr?=
 =?utf-8?B?RytMN0F6dUk3N0c3UlBGYUVNbFZ3OFplTEt2NnExV09iYk9XdUZtNDZFcG5B?=
 =?utf-8?B?T243ZytCMlo3RUJGNDJXVTVTc2d2UlVpc2YwYVAvdHRhaSt6VEJlbTFvUFlJ?=
 =?utf-8?B?MzcrWGEzQ0VJK1ZmRlBoMml2WDl2VStjc1duV2gybytDVFhpbHNSNVJTQk1Q?=
 =?utf-8?B?Z25WK0Y4YU5WQnd2eFhyYjhObzEzMDVEMmMrbGJvdnF1bEdZeWJWemU5N0Fi?=
 =?utf-8?B?Q1V0aGlvdVFBUWUzQVhvcmMyWVRhc3JVU0lsaGEzK1VRMWQ1andZRzRQMkUz?=
 =?utf-8?B?TkdmNVl4UHBzK3pCTVI3WjkwUGJ1cDFYVEcvWnZRL0VFbFpCeUFNSEdCYWMr?=
 =?utf-8?B?a082N0tjSzlMOXNod3d4bEIxZGNHTVhHU3IwQXFYZmU2U3Y3U29tcU9waDJK?=
 =?utf-8?B?RW5xMXpudWh4cFo0Z01rWVg0QXkxb0dtYllrWkxuTnhodU5Ub0ZtVlI3Ui9o?=
 =?utf-8?B?Y2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	a+sBCDhQYBV0YvWBmW+Fg7IW/XZkZpHiN5Xfwoazj9w8W8ANaVypZS42/R9aDd4o9NkGx19pVdhiwsnCi8OfuJkdlMDPjoGr1x1eP5IKk7av4Osjo7gPkGWoMDbQ/xaxhBViaG738NU6I+VE+AqgEU2oPUCLt4/TXFByUOrKvrNBzxyMfxxIWh6nw3wr98coPX1TAyAFYzGJU27UD7dUIVechZaaEkcy410gQjqnQZbv6UXPvsNLXXwGMWTci+o1JApD25bf9dnGv37qs4gya8Ho86pYg/qW7ttUFV4NPBJJCqmUAasBH7CMXD5AHoylQl8UGb5I3F11m5gUdM6eu4ez95v7g6UcKPcXPh+zA0TVjAMDK98+8ipOkmmBMurmUz1RCdYjpFm7cTLTz2lnnEA3ppY7NCS83LVXF4WjAsJsfG/7p5IRRnhLerUlb9Z3eSLdf+P1Rx1uZ1bdXIt7O3MSsZMQB2iRHAjbtdJUsD+bGcIJo1F622PRgzzaK1Th0Ef+Rwl5lv33ZYWsImGSFShynEei+a3NuwCJbGoAIsGBXFDij6V2kiq9M+SDWMMkE0jmj71yLy06IUK2K8qutH3hOL2a2lLOrGja+7icPXyu4GKuQWO8glhx/Mg4XH9yz964R+A3UvhQVCqVw7IpEbzbsmitrAJP0QS5KKI2hQQ/gIQrYbye3bfH+yw8tXQ9jtYyDX6PfXg0ZO3FhfQBlurcn0u8htozW4EclD2KqqQngDbZDPYzDaeOAtp7hAaXFZspLFNeLv/K1KnZQHHTEsbJ0ZY/EWi7zu2uOazquZEsAHAmM/gOu18+hf//X49q0KxBXVRt4zToCG/kUoxTgslzmN8DrqjOQVDmqMEn9sk=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ec7d89e8-5358-4843-71a0-08db1be0be5b
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 12:13:48.5845
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f1/Kya4Koi1vYNltTcG+uOKGBSg7YLHgD60HQ92H1GfdxON4mOVHOybKwGzUe/n+gNWCUjQHl6Hv+LNIVxC+lV5ACxJwtd12v9p7rl9+awk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6173

On 03/03/2023 12:09 pm, Michal Orzel wrote:
>
> On 03/03/2023 12:59, Andrew Cooper wrote:
>>
>> On 01/03/2023 9:06 am, Michal Orzel wrote:
>>> Add missing aliases for:
>>>  - debian:unstable-cppcheck
>>>  - debian:unstable-arm64v8-arm32-gcc
>>>  - ubuntu:bionic
>>>
>>> Remove aliases for no longer used containers:
>>>  - centos:7.2
>>>  - debian:unstable-arm32-gcc
>>>
>>> Modify docs to refer to CentOS 7 instead of 7.2 not to create confusion.
>>>
>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>> ---
>>> Open questions related to the CI cleanup (@Andrew, @Anthony):
>>>  - Why do we keep suse:sles11sp4 dockerfile?
>>>  - Why do we keep jessie dockefiles?
>> Because we don't yet have a process for retirement of such things.
>>
>> Right now, all branches other than staging are using the jessie
>> containers.  While it's still in use on any branch, we need some way to
>> rebuild the container (potentially with modifications - see the recent
>> HTTPS fun), and standard practice is "patches into staging".
>>
>> An alternative could be to patch into the most recent staging branch
>> containing the dockerfile.
>>
>>
>> sles11sp4 is more complicated.  We specifically tried to get a SLES
>> container working, but it was always in a weird state (only @suse people
>> could rebuild the container).  We did eventually replace it with
>> OpenSUSE containers, but I can't currently locate any evidence in the
>> gitlab yml that we wired sles11sp4 up.   Which is confusing because I
>> swear we did have it running at some point in the past...
> Ok, thanks for answering. Stefano wanted me to remove these unused dockefiles.
> Are you ok with that or only to remove sles for now?

So https://gitlab.com/xen-project/xen/-/pipelines/791687536 is the
latest pipeline on Xen 4.14  (yeah, that's a concerning amount of
red...) but I don't see any SLES runs and I do see the OpenSUSE runs.

So I think we can safely drop the sles dockerfile, and drop the tags.

But I'd like to keep jessie around until we have figured out what our
deprecation process is.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 12:21:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 12:21:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505967.778965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY4Po-0005ie-O2; Fri, 03 Mar 2023 12:21:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505967.778965; Fri, 03 Mar 2023 12:21:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY4Po-0005iX-Kx; Fri, 03 Mar 2023 12:21:36 +0000
Received: by outflank-mailman (input) for mailman id 505967;
 Fri, 03 Mar 2023 12: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=DvcW=63=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pY4Pn-0005iP-Gg
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 12:21:35 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e83::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ecc68c86-b9bd-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 13:21:30 +0100 (CET)
Received: from MW4P223CA0021.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::26)
 by IA1PR12MB6066.namprd12.prod.outlook.com (2603:10b6:208:3ee::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Fri, 3 Mar
 2023 12:21:23 +0000
Received: from CO1NAM11FT038.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:80:cafe::d9) by MW4P223CA0021.outlook.office365.com
 (2603:10b6:303:80::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22 via Frontend
 Transport; Fri, 3 Mar 2023 12:21:23 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT038.mail.protection.outlook.com (10.13.174.231) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6156.22 via Frontend Transport; Fri, 3 Mar 2023 12:21:23 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 3 Mar
 2023 06:21:22 -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.2375.34; Fri, 3 Mar
 2023 04:21:22 -0800
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 3 Mar 2023 06:21: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: ecc68c86-b9bd-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=adtYCKzU2RctmmdcLT+l2gn0TsaKypzs3tnP9T5YLe8ybI5bxdkZX9Dc2CeXXsFsxXsmtOPzDEKcinL7rGnslWKN8XGdCbd8YQbV35vPqoFatHq44qNVSrtFWmz7Rl5wA7e1Gs5Bk5WQe8fZpuRw9h+20v7e9pmXn3uLBrfIFDN8Q+rxh1cHQBYAdymv94CjDHue2syng6myIWwzjXoEvjVy2w2nWkmrZnrsY/p/bCypxjAF83yXBRM2wR22HcVQYbAwgyZIFXAqXTsLzU2z4/aIIUxkxfeLTUsFs3abuS+AudqMISJiWW3CzMHzEDgh3OIETTorFivuYvArAEZDng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6EdIjczu2C+ffnWmMFuX6abg9ESVKQj10/MaQ1Yw9BQ=;
 b=N3PBcwtD6/G54DMhq6JohOIzepd3rWxzwDTECmncUWvlI2qGk+h9wNsHtGmQtLTG8Yr+YWQMa6t9Kps1muAcJdZ7ynwL+GZGp+BJwQC/UryaMsV5zlwBUShXdDrPa7YAm4VfGWAAfohosT4u5k20a+zGuQyN4bYPmSltmzpJ+vyJssi0oLu8DT6KltIV2UwtzsSyv8RNfd5+rH8eDTfv1c/fiYBlFcUsC0+oAbGikeUNOhqhJ8fR+2Pr/TO3sgKiA1PxzlwXKd9RFEH5svjsS4b/A1OYCcmjOL52SboNwKHETlW4dO5M6PU086kkigV3Is2GJ0FRgMz3g49Snm/y2Q==
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
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=6EdIjczu2C+ffnWmMFuX6abg9ESVKQj10/MaQ1Yw9BQ=;
 b=ldhjH0VA6N3RUIHKZLOo0t9+gK7n3ZHacwjvbabbRjiwRZjaziQJJXHv89YzDDBT+jLza/crSzvKW3N8AnqHwwk3iqusC08wq+lFcxPfCOfZzBfPsiFSixdWcMqm2ifMnvrVu8qfbXhjgDTgfd1yQgL8zUio3M/q3nx0GB++y1U=
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: <8df6e221-5b69-c8fa-b399-8d793e7b7fc3@amd.com>
Date: Fri, 3 Mar 2023 13:21:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] automation: Add missing and drop obsoleted aliases from
 containerize
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xenproject.org>
CC: Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230301090644.4452-1-michal.orzel@amd.com>
 <62e997e2-8e45-9048-10fa-469bfb28b08b@citrix.com>
 <631c534d-5781-7884-4814-7182b0c59621@amd.com>
 <2820b89c-7d96-8ed8-8513-032514e6434d@citrix.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <2820b89c-7d96-8ed8-8513-032514e6434d@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT038:EE_|IA1PR12MB6066:EE_
X-MS-Office365-Filtering-Correlation-Id: 0e487543-0988-4291-7ae9-08db1be1cdb8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YLdYReir/oZYPXq8yG48K+np8l/t6KHNHkIjreZAazaYUYOQeCFfhmEjLF+BTqDl6oR1XR6QJSEGdFWBWaYekjIzbNNYrH3fTowuAISinzvG2ZQEB+mSYxcjEM3BLb4b8DmJ6SCHWBo9kG4mgzS/uM7Vs86bi+ELQHJZURVocPA+NYbT1g2ONoXgpP5LhQ6PLu3UJlPYPJHjF+qsAA+Tyghus7Qh88EefCo/EB8dhyl3B5sDdmxRs7U1uDV74lkHG6w3V58WP8XIjTyKALoocosx6vfIlYCHLdfo22GkKNSraaBbypS41rdruWuTmrFQxrwxmIMgX4QEyWxH7hSwemz4uYA4usml9dk2vl0l4qyjwO2+Jpth5gpTgO79ZdyJEEunmP6lQenUwu7wg8wEq3zSgW1CPXHnnYc3ioxWsjiBxhGfUtcCKGKbXCPSvABmlAeUu9lmcPA8DHtmAi45blzxmEx68698bgsNJJ0Lgq17xXAWJJ+Uf5LKO/SbTAx5L1p5OX4dEudnt962ftnAN2ALAECBz4Mu9emhW0l9NKZ/uYLdYONd/omx3bUfu1nXuxckGh8254cDK4MR6gnUcxsTy1fNws5AgtRdQ2wtw1mO4BJn9XBDkqIZ1Ie2Z5tl5hx29OR7V7vULT/+Y1Om4KlYxMF3SomcySgeQK4ITtmTUgoP4O0K6afezFqEAqpMOUyYYTZKCqxBjnmefWT31PzKRtZ/1/SuryX1IHt/aajmd9PQaRGi24tYV2hFE1c4
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:(13230025)(4636009)(376002)(39860400002)(346002)(396003)(136003)(451199018)(36840700001)(40470700004)(46966006)(110136005)(36756003)(316002)(8676002)(70206006)(70586007)(54906003)(2906002)(82310400005)(16576012)(4326008)(41300700001)(40480700001)(478600001)(53546011)(36860700001)(26005)(82740400003)(47076005)(336012)(31696002)(426003)(40460700003)(2616005)(186003)(966005)(86362001)(356005)(81166007)(31686004)(44832011)(5660300002)(8936002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 12:21:23.4349
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0e487543-0988-4291-7ae9-08db1be1cdb8
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:
	CO1NAM11FT038.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6066



On 03/03/2023 13:13, Andrew Cooper wrote:
> 
> 
> On 03/03/2023 12:09 pm, Michal Orzel wrote:
>>
>> On 03/03/2023 12:59, Andrew Cooper wrote:
>>>
>>> On 01/03/2023 9:06 am, Michal Orzel wrote:
>>>> Add missing aliases for:
>>>>  - debian:unstable-cppcheck
>>>>  - debian:unstable-arm64v8-arm32-gcc
>>>>  - ubuntu:bionic
>>>>
>>>> Remove aliases for no longer used containers:
>>>>  - centos:7.2
>>>>  - debian:unstable-arm32-gcc
>>>>
>>>> Modify docs to refer to CentOS 7 instead of 7.2 not to create confusion.
>>>>
>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>> ---
>>>> Open questions related to the CI cleanup (@Andrew, @Anthony):
>>>>  - Why do we keep suse:sles11sp4 dockerfile?
>>>>  - Why do we keep jessie dockefiles?
>>> Because we don't yet have a process for retirement of such things.
>>>
>>> Right now, all branches other than staging are using the jessie
>>> containers.  While it's still in use on any branch, we need some way to
>>> rebuild the container (potentially with modifications - see the recent
>>> HTTPS fun), and standard practice is "patches into staging".
>>>
>>> An alternative could be to patch into the most recent staging branch
>>> containing the dockerfile.
>>>
>>>
>>> sles11sp4 is more complicated.  We specifically tried to get a SLES
>>> container working, but it was always in a weird state (only @suse people
>>> could rebuild the container).  We did eventually replace it with
>>> OpenSUSE containers, but I can't currently locate any evidence in the
>>> gitlab yml that we wired sles11sp4 up.   Which is confusing because I
>>> swear we did have it running at some point in the past...
>> Ok, thanks for answering. Stefano wanted me to remove these unused dockefiles.
>> Are you ok with that or only to remove sles for now?
> 
> So https://gitlab.com/xen-project/xen/-/pipelines/791687536 is the
> latest pipeline on Xen 4.14  (yeah, that's a concerning amount of
> red...) but I don't see any SLES runs and I do see the OpenSUSE runs.
> 
> So I think we can safely drop the sles dockerfile, and drop the tags.
Ok. FWICS, there is only a dockefile for sles. No jobs, no tags, so just
dockerfile to remove.

> 
> But I'd like to keep jessie around until we have figured out what our
> deprecation process is.
I'm ok with that and I think that your alternative approach is a good way to go.
That said, I think we could still remove jessie aliases from containerize, while
keeping the dockerfiles for now until deprecation process is ready.

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 12:49:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 12:49:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505979.778975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY4r5-0000t7-3X; Fri, 03 Mar 2023 12:49:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505979.778975; Fri, 03 Mar 2023 12: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 1pY4r5-0000t0-0m; Fri, 03 Mar 2023 12:49:47 +0000
Received: by outflank-mailman (input) for mailman id 505979;
 Fri, 03 Mar 2023 12: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=DvcW=63=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pY4r4-0000su-94
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 12:49:46 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e88::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db8e4544-b9c1-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 13:49:39 +0100 (CET)
Received: from DM6PR06CA0080.namprd06.prod.outlook.com (2603:10b6:5:336::13)
 by PH0PR12MB7886.namprd12.prod.outlook.com (2603:10b6:510:26e::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Fri, 3 Mar
 2023 12:49:34 +0000
Received: from DS1PEPF0000E630.namprd02.prod.outlook.com
 (2603:10b6:5:336:cafe::75) by DM6PR06CA0080.outlook.office365.com
 (2603:10b6:5:336::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22 via Frontend
 Transport; Fri, 3 Mar 2023 12:49:34 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000E630.mail.protection.outlook.com (10.167.17.134) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6156.12 via Frontend Transport; Fri, 3 Mar 2023 12:49:33 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 3 Mar
 2023 06:49:33 -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.2375.34; Fri, 3 Mar
 2023 04:49:33 -0800
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 3 Mar 2023 06:49:32 -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: db8e4544-b9c1-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ArfK27/VY1drP0aZ91ApXczltW1dl9Nq23j5+5OWJVf1ZiuKB8SzDvrfbthLTZh1u+1iFtQecFD28dQD0AEeq00XW9z2e6UQv3F00kjBHOlDMM+itWHANotT3ToCVIPYuzgA8iO6mg7OC1NJVZmn9BYp5WJyReKRHkwFwraLzh2s+r6iQlHk1dYrJJe2ZPqnQrn/JkGkPk7VU1A3cmJVEAQsOM6QJUxyZvoldEIr2MfRDvbq7WEB8ZdeJtiUZp1+PX2k0ildPXv48mWha6l4MneJb4VG23UKn7UgcNxwVe3PVQpL6yyskt5aeCZIANr6+1/EXaulfOrkacl8SOMDfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=n/CyIzngkF1nv22Ho03ENgvFxAq7WL7Q9Xcx7nO9tc4=;
 b=SGEKLdWPDQY1mJ76h6ijRJtl44kKvfM0yrmoa4Mg21ezVE0UkS+QE1GEmW6MHbp/dPQZwL3A5+eysN4ulg6SjqikEXqVZueu7KoNJxg2BKBlq5GCL8JBCGrJDtjDx+7jzQZQk/ymnQHb9QBQoGXZWeh+xRRx6vNsaBfz658ZZ/a0eYpcNbepXXhoNC8UTVYRddkiB2C36Pw1ozPjH4wrRhRyi5bX711nC8dZQE+Nvn+1iLGM14nSGbe6c0ClPx2r9m06CM3PO7Jm65o4Okcac2iQ0UVWn+9s/JPS4K9nn4ADvdy0Lcoqg6fY/yLsDn1Gc72MWkNOIbisetW6Ogk8qw==
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
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=n/CyIzngkF1nv22Ho03ENgvFxAq7WL7Q9Xcx7nO9tc4=;
 b=BB8nOP9H7QLYCJRtzH8YzC3Qolfh43cdC9NoiVFZM3wKlxCwLZnOBRNXpGWi1DyOeIhzVUPU9UooNIcqLFRP/WHlh3ahiu8FPlWyUA9juJS5Z3HY+1PdEgGaO6c9PgsmLn2Zs6ls9LrS0HysQQ9txhwrg8KXsjnHBWCMMapBW2o=
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: <8cdf5b11-ad99-953d-aa4e-9369b73914a6@amd.com>
Date: Fri, 3 Mar 2023 13:49:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] automation: Add missing and drop obsoleted aliases from
 containerize
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	<xen-devel@lists.xenproject.org>
CC: Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230301090644.4452-1-michal.orzel@amd.com>
 <62e997e2-8e45-9048-10fa-469bfb28b08b@citrix.com>
 <631c534d-5781-7884-4814-7182b0c59621@amd.com>
 <2820b89c-7d96-8ed8-8513-032514e6434d@citrix.com>
 <8df6e221-5b69-c8fa-b399-8d793e7b7fc3@amd.com>
In-Reply-To: <8df6e221-5b69-c8fa-b399-8d793e7b7fc3@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E630:EE_|PH0PR12MB7886:EE_
X-MS-Office365-Filtering-Correlation-Id: a6bf87f8-59f7-4c30-0bc3-08db1be5bd45
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eIkFlmEW4EWypi+qHYrShuKEzMEHbQaMimihfG6wuy33aYbp4NAbAU32m2bp2lDlJBCWmmJ66YoVfXlE/5eEketvlj/Ta3c6lF0M46oImeEGQvNvftm6JbgZyUOJ8wm5wsdUxSpyXkEv0JiCgzGJbBYPPXcyRmgQgqlETqfw4++oivCLIUCIVUwRdHDwUh37OKR9qhpkED2D2p+HaAs4AaTssTefKox7m41a1DJez+JG0GX6JW4VebCqGNjOAAOg+bh35c7zZuqSfMbtyd88Lq6T76U7E7WGbEgtYjkgkhs4oeA470Xvid1LOMSEmftMg1Z6HnWOKpSAG6kuQYQOFAIR1Yv+ZGdjeBg+Z8sgAoyGEED5qYKovAdKZYCf90zbR1i0mQa41oslRqI++1+173OQpOVOw1yNONzyUPVIwCfFPvtnl1XVPcQLcWiqKZUff5nmAthsSuAW0hTLjuMq80lrC9qhVrhLW5JRCdfag6CJI8XeOzLDnJrhVkKCTMU8tkPYGNURh7klmCzg1LZ8KhCKH2ByYpSffjBWGvC9e14XqprZXfpY36VLS+U4xS6YjrMfaXE/GG6spsdkTIw2btAGtlsZrz828qaZ5GAlqZBT6YEAFbNLX51fJAAbbDYvJQT1vRGCnK8172utee/q8MYZVvAF4z14zKLZnIzIEyfn/oJgMmSPH9MrigqoBfffe36EnvbLYlONYWF8W5X1qPZ97RL6jxhPgtNei3diVcGWdA9VxkRvCSEoI6FndHnJ
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:(13230025)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199018)(46966006)(36840700001)(40470700004)(8936002)(186003)(5660300002)(2616005)(36860700001)(26005)(53546011)(44832011)(41300700001)(336012)(86362001)(31696002)(356005)(426003)(47076005)(82740400003)(2906002)(82310400005)(40480700001)(4326008)(70206006)(8676002)(966005)(70586007)(81166007)(316002)(31686004)(36756003)(478600001)(16576012)(54906003)(40460700003)(110136005)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 12:49:33.9155
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a6bf87f8-59f7-4c30-0bc3-08db1be5bd45
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:
	DS1PEPF0000E630.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7886



On 03/03/2023 13:21, Michal Orzel wrote:
> 
> 
> On 03/03/2023 13:13, Andrew Cooper wrote:
>>
>>
>> On 03/03/2023 12:09 pm, Michal Orzel wrote:
>>>
>>> On 03/03/2023 12:59, Andrew Cooper wrote:
>>>>
>>>> On 01/03/2023 9:06 am, Michal Orzel wrote:
>>>>> Add missing aliases for:
>>>>>  - debian:unstable-cppcheck
>>>>>  - debian:unstable-arm64v8-arm32-gcc
>>>>>  - ubuntu:bionic
>>>>>
>>>>> Remove aliases for no longer used containers:
>>>>>  - centos:7.2
>>>>>  - debian:unstable-arm32-gcc
>>>>>
>>>>> Modify docs to refer to CentOS 7 instead of 7.2 not to create confusion.
>>>>>
>>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>>> ---
>>>>> Open questions related to the CI cleanup (@Andrew, @Anthony):
>>>>>  - Why do we keep suse:sles11sp4 dockerfile?
>>>>>  - Why do we keep jessie dockefiles?
>>>> Because we don't yet have a process for retirement of such things.
>>>>
>>>> Right now, all branches other than staging are using the jessie
>>>> containers.  While it's still in use on any branch, we need some way to
>>>> rebuild the container (potentially with modifications - see the recent
>>>> HTTPS fun), and standard practice is "patches into staging".
>>>>
>>>> An alternative could be to patch into the most recent staging branch
>>>> containing the dockerfile.
>>>>
>>>>
>>>> sles11sp4 is more complicated.  We specifically tried to get a SLES
>>>> container working, but it was always in a weird state (only @suse people
>>>> could rebuild the container).  We did eventually replace it with
>>>> OpenSUSE containers, but I can't currently locate any evidence in the
>>>> gitlab yml that we wired sles11sp4 up.   Which is confusing because I
>>>> swear we did have it running at some point in the past...
>>> Ok, thanks for answering. Stefano wanted me to remove these unused dockefiles.
>>> Are you ok with that or only to remove sles for now?
>>
>> So https://gitlab.com/xen-project/xen/-/pipelines/791687536 is the
>> latest pipeline on Xen 4.14  (yeah, that's a concerning amount of
>> red...) but I don't see any SLES runs and I do see the OpenSUSE runs.
>>
>> So I think we can safely drop the sles dockerfile, and drop the tags.
> Ok. FWICS, there is only a dockefile for sles. No jobs, no tags, so just
> dockerfile to remove.
Now I realized that by tags you meant removing it from registry as well.

> 
>>
>> But I'd like to keep jessie around until we have figured out what our
>> deprecation process is.
> I'm ok with that and I think that your alternative approach is a good way to go.
> That said, I think we could still remove jessie aliases from containerize, while
> keeping the dockerfiles for now until deprecation process is ready.
+ I think we can remove jessie aliases together with dockerfiles once process is ready.

> 
> ~Michal
> 

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 12:54:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 12:54:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505984.778986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY4vD-0002JM-KW; Fri, 03 Mar 2023 12:54:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505984.778986; Fri, 03 Mar 2023 12: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 1pY4vD-0002JF-HP; Fri, 03 Mar 2023 12:54:03 +0000
Received: by outflank-mailman (input) for mailman id 505984;
 Fri, 03 Mar 2023 12: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=DvcW=63=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pY4vC-0002J8-Kj
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 12:54:02 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2060f.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76f47935-b9c2-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 13:54:00 +0100 (CET)
Received: from BN9PR03CA0499.namprd03.prod.outlook.com (2603:10b6:408:130::24)
 by DS0PR12MB8564.namprd12.prod.outlook.com (2603:10b6:8:167::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 12:53:56 +0000
Received: from BN8NAM11FT044.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:130:cafe::e9) by BN9PR03CA0499.outlook.office365.com
 (2603:10b6:408:130::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21 via Frontend
 Transport; Fri, 3 Mar 2023 12:53:56 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT044.mail.protection.outlook.com (10.13.177.219) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6156.22 via Frontend Transport; Fri, 3 Mar 2023 12:53:56 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 3 Mar
 2023 06:53:55 -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.2375.34; Fri, 3 Mar
 2023 06:53:55 -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.2375.34
 via Frontend Transport; Fri, 3 Mar 2023 06:53: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: 76f47935-b9c2-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QMJ18OZ8OKViudsJpoieeXKu8H7TANddLkuMiEZIMKy10K3UuxSRhE85EfG1ZRxpJqmrGtFMotSbV7comNBAIyWpP39pRxlMfO7ydKIczXcPy2H2OTSrQ5oLs6ByWXZd50AEYrx1oDHpz00UKeSiwSdQRW6tXZrNomhEql/Jse+oO8WcTcvr3A4Jbnr+0a9AL7mh+glabhF/LAX+typgxiB/IGxIrNMDNBBynKbpth1CerMDz2DFJIkLwgpoaIACp+gus+j4JOUr5tLwoXAbVLUzzddX5bpIlICxtkQRIojOxqcXB8sBwfxYpylbQFoiLvV76YTxKJlhN/el62K+Fg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SzbBRJucnsol2Xi1ihRMZI1tMlBsoA8t76S/TPyzWJY=;
 b=HjifBhAHLgLUF5vKgkvFJuOtBuuptxJY+iL0s4s7cq8QvCeNqsW1fyUKyvvVTKPI5JPXZCVOCyEDVDRTX4OlOekuuiQO9ynMl26nVIxiO+20ek+7pih2x7Vc0ypjOcON7MF8pR51A+Vkj7FGTx2Oz+zHBrLIgrICcwPPhzr4ghqTIGuuJjDB3jJydFAr2RnQwuH+WcCHldmGQAOJ0AIS981JEYgfmvvwt9qnzI1O+GuBktfbI3fE/zkcwcKPCOYnIlC8d3GVn0QxiZnwP9+oNos6dCvwK6rXhvxHfgOq1z0jQdqalvhzDVbJ0UnzQ8Syr5ijJz71WE+AoLV+UTD0hQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SzbBRJucnsol2Xi1ihRMZI1tMlBsoA8t76S/TPyzWJY=;
 b=bAhtdZqhTqE/leJg7qvkuYTJ56DqFr7IU5SZ/evyla7zOlYIZClVScCYbHUOGT/YpSbF8EF+bMz84sV0lauVN7zUpZvFw+n7C5j/4bOnx+sfKwlJ9LLnrpfddOQx55P0/b9YuwlVyPMZ+H9l97QfLORJsIDJLd/sP2xgs7Qq3TU=
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>, Andrew Cooper
	<andrew.cooper3@citrix.com>
Subject: [PATCH] automation: Drop sles11sp4 dockerfile
Date: Fri, 3 Mar 2023 13:53:46 +0100
Message-ID: <20230303125346.20620-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: BN8NAM11FT044:EE_|DS0PR12MB8564:EE_
X-MS-Office365-Filtering-Correlation-Id: 89ae82a5-bcf3-4add-8e81-08db1be6599e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ot7w2zyMZMAqFG772n4GFt6Kod1OgGk9C79UaZ6MvMbsO/QrpbSHyO7/8VRaDgbn3ne/utAmguOiavVR7YRsvvZpqboZzjhthaz3b0gN6Vau74BrkX2sZwVCs5iwmU2Y933EgbMWHt4ZBA5fRx6o3+Bj54io+/tsuIxxUBt2YzSkrETWGrQk1cvBLQI/pRqEXQMGqKY12wyyI2pyGuxrD8BCdHVYFVIDOErzwRyE3delEPnpy+J/557MKJNaKcSSs8TvEZJ5C1pScQ+Z5mGi0OuS+ltw6SKXWxvJGqdCSYR1bdFNCBUcAhKS747GGEEKPWPR8lYXo7vRirLuMrGL62ftZ8iRQaWMYJlLQwFUSLiMUxCm2HUOTy8omOPf5NHKj3wsFi/rUQLrWy6cnq6rT9m8DhN+0OODhJ3qAwKZ6JmASjC/+MgFZgpEbsWfnhyuus138LdUC0+ReMz/ajEjcfqbGjkJm+246hJP40RKoPpBN2vQcpt4Ph4idlsvTBLFmuldhGkG4TpmsAe7o11AZ4kYHfirlbSDqX0ail3CRBtGM/WLsZ+35X1ZlwlpLvZcpeWiFJCDvVtBh3EgFZSAtI0JpLYG32RQ41fqrLVlP8KFYsGJsr/gsVrzL9VfENSRNVY5XL1N8q/I2ee92eBofposKjmq7GRoAVJiHQj2hloOkD0TZ/gMP+7zyR8HbMMzBASXQp+DUC5GUWiccYvuLLiUe+F8N+5bpCtf8osTV88=
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:(13230025)(4636009)(39860400002)(376002)(396003)(136003)(346002)(451199018)(40470700004)(36840700001)(46966006)(336012)(36860700001)(8936002)(84970400001)(26005)(1076003)(2616005)(6666004)(186003)(47076005)(426003)(478600001)(54906003)(83380400001)(41300700001)(316002)(4326008)(356005)(8676002)(6916009)(40480700001)(40460700003)(70206006)(70586007)(81166007)(82310400005)(86362001)(82740400003)(5660300002)(44832011)(2906002)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 12:53:56.2579
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 89ae82a5-bcf3-4add-8e81-08db1be6599e
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:
	BN8NAM11FT044.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8564

It has reached EOL and there are no jobs using it on any branch.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
We can also safely remove sles containers from registry.
---
 automation/build/suse/sles11sp4.dockerfile | 20 --------------------
 1 file changed, 20 deletions(-)
 delete mode 100644 automation/build/suse/sles11sp4.dockerfile

diff --git a/automation/build/suse/sles11sp4.dockerfile b/automation/build/suse/sles11sp4.dockerfile
deleted file mode 100644
index ff69a99afc71..000000000000
--- a/automation/build/suse/sles11sp4.dockerfile
+++ /dev/null
@@ -1,20 +0,0 @@
-FROM registry.gitlab.com/xen-project/xen/suse:sles11sp4-base
-LABEL maintainer.name="The Xen Project" \
-      maintainer.email="xen-devel@lists.xenproject.org"
-
-ENV USER root
-
-RUN mkdir /build
-WORKDIR /build
-
-# Nothing else is needed -- base image already contain everything.
-
-# Note:
-#
-# SLES11 SP4 runs pre-2.13 glibc, which requires vsyscall support.  Most
-# distros nowadays disable vsyscall. To run this container, the host needs to
-# have vsyscall=emulate in its kernel command line.
-#
-# Due to various issues in SLES11 SP4, you might want to disable building
-# certain components. Known *not bulding* components include OVMF, SEABIOS
-# and upstream QEMU.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 13:16:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 13:16:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505992.778996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY5HC-0005Vs-GB; Fri, 03 Mar 2023 13:16:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505992.778996; Fri, 03 Mar 2023 13:16:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY5HC-0005Vl-CA; Fri, 03 Mar 2023 13:16:46 +0000
Received: by outflank-mailman (input) for mailman id 505992;
 Fri, 03 Mar 2023 13:16: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=SP4M=63=citrix.com=prvs=419214df4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pY5HA-0005Vf-VI
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 13:16:45 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1e474e3-b9c5-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 14:16:41 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Mar 2023 08:15:23 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB7065.namprd03.prod.outlook.com (2603:10b6:510:29b::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Fri, 3 Mar
 2023 13:15:20 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.021; Fri, 3 Mar 2023
 13:15: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: a1e474e3-b9c5-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677849401;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=A0Tv8fDQBgTHiDtmoZ+dW6MBnDab28HG0qz5q+pXfqo=;
  b=hwiv1UXB+gAz6ERWb3b2m3xb+oDdk3Cx4+YZwIotwOFXXwUIeKoMSxCB
   tB5Ah7wy0zGXrPXzNFX8vE3A0KHYspoSNEtLedrIld64avpdb5aHUMwVI
   UlSdGK/wXGdX2zCQlW8likKkHLw+Zye8yOTptEVtnnJORxpkSiSTtS6Lv
   o=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 98712216
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:/tRKs6g8kzvqJSmAgNKfb2eNX161rBEKZh0ujC45NGQN5FlHY01je
 htvW2/QP/+LZjb0ctsjOYy29UkP6JLQn4NqSAZorHg1FHsb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5weFzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tRCcBwPXimkmNvu77bmdOZytucEDPHCadZ3VnFIlVk1DN4AaLWaGuDgw48d2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEhluGzYbI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6Re3nr6Qw2QP7Kmo7ECYtDQK9uNmAsw2PSpVOc
 lMXohMtov1nnKCsZpynN/Gim1aBvxUcUt4WFPco5QWlw6/YpQ2eAwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxRu5MDIZKmIqbiYeQQwIpdLkpekblQnTR9xuFKq0iNzdGjzqx
 T2O6i8kiN0uYdUj0qy6+RXNhWKqr52QFwotvFyJDySi8x9zY5Oja8qw81/H4P1cLYGfCF6co
 HwDnMvY5+cLZX2QqBGwrCw2NOnBz5643Pf02zaDw7FJG+yRxkOe
IronPort-HdrOrdr: A9a23:2xPlQKnFmO1hUj+UEpCesL5uEXTpDfIR3DAbv31ZSRFFG/GwvM
 ql9c5rsiMc7wx8ZJhAo7+90cy7Kk80mqQa3WB8B9aftWvdyQiVxfBZjbcKqgeIc0eSygc379
 YDT0ERMqyVMXFKyer8/QmkA5IB7bC8gcaVbD7lvhJQcT0=
X-IronPort-AV: E=Sophos;i="5.98,230,1673931600"; 
   d="scan'208";a="98712216"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mrpNvnM1bfbY1wQj2ZBV6AW0fq+2QVpEtp6ftw7xgI/KjEvW3ixxrz1h8zzwawbDHLeFOEcp32JDY4+MUoOUJRGpZOmANF5yco++mSGZ4boKgekh45TXjrMx3Fm+CVwLxSQJOL9PuGsRG5Qk4+1tHofjxVLlM5ZYIFV4CCd/XyzOgi4LGhxSba++6P2kCH49sJQUw1Z4qqaqfzC6+0kF3D4Jd/WQUm0CTTtY2mAELL1iMNTpSbX6/xyxPqc0deq8cJBaz62DD1kQ0L90UXe5Ac/UBlRb6jt1efRsPpcqBddXnPnGXZQ19Vh6rHwBdaLp+PlK8t9w9uj6YCRhYitoFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=A0Tv8fDQBgTHiDtmoZ+dW6MBnDab28HG0qz5q+pXfqo=;
 b=SMsAmViRufPGDTQ3gfrXdB8DY6iP0ZsnQp3bmoaBCykagT/7FTADWovV5i69bUSyidXlHWnxjNaxdDHdt2fDaT9lW5sU8KESD7KIpkm0sw1vq83dWA9erzQKTumTGiZrStPTE9L4wiZIz047CyGoCkfhQ0kEvdOxtOWEEHwtMtVM2wMAh6bUF2EO9GcGQFa2StWk7/VyTW7m3DAdQHupi/szV5xtUdWNsVtOW7mMsk13lb2RdL1lXTLFscgoVkpDjZzVvvXIt1a+3hl7475PDgO1ZqHlpcR2TGY9+rF9JQBCqFYTEXatLF31MBn/noX7wBHl+yAL/imUcedPfQ+dZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=A0Tv8fDQBgTHiDtmoZ+dW6MBnDab28HG0qz5q+pXfqo=;
 b=k3w68gbJtVV+Hdb9nZyZVpzRStKog+KKYYp+C5OWwjhGE8g6k8lPXJG89HKKqqDzda7pb5X90RbgJssJUZDWY6A4zzHje9x8jj+QUbFQlJC+WYpKX9Di20niUlyKzVJLDV13o3r3RGQ+FTL6LlWG2iSBAGzt/XsNf5o/HBPW5sY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <2c294cac-b09d-ba2d-e4e4-31aff4ec7151@citrix.com>
Date: Fri, 3 Mar 2023 13:15:13 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] automation: Drop sles11sp4 dockerfile
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: <20230303125346.20620-1-michal.orzel@amd.com>
In-Reply-To: <20230303125346.20620-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0364.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18e::9) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB7065:EE_
X-MS-Office365-Filtering-Correlation-Id: 231b50a8-8d6b-45bc-e5a8-08db1be95649
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0vZohWIlSVaXuw4a4R8x6kHWJQP9oznkIyTIm3LvnBjnL6Jz1193MWu5NazeQtAZH+SbZNPuPPS/JwvKYvmY4G2nC+tCBaQBGOKBJrhdDe27C65FJoTx/oMcMBv87EXDKPN9ORx5ZhyYnTGOkN4Ftcaj/4sFf/dVdGv8AGFv2lRfARQnx7m5Lt7M5AYskfTzGx2giy7jgiVLVCynv35fBH7KQKoOLfJx97aULjAujpk4PBXScvZuwq/nTfrU78V7g2DeI/GZY5gLJHXJXHRuNWZuEQ4bZbl7tfDMfEGBR2z3Dj2pC6OMPmX7sLutuqX1LfSPuBoXjrak9N8Dz2CSlozlwi4/CWyB+BVpcbJ7+gqPFQ/BG1dIYYyLVAqGyzvPZF5fDlgF8ReWFjq8GRq7YwqkoCdedSMf4yknCua4DFnyGS6jJSRSOJkkNNdM+VVqzNTRNq0ORwyyUvLgn1OjK+3Uh0o0otkforVQLtY99EL9RMKfQlouk95E3OaW18fYGFJYQ5IfaVI9FYU0J4F/s/UCf2ZCgb3HubR0VCFgEbweN+kYUmM8XrDM7rhU2Rh8uAQhLulSFeQ1gHrUgAadNbvgHhdetJIhThidH8dUXw3k9qYFUISd6LfCIVXk3ibkqKbqT1qkqsc7x5CAIXUOKz2SdYYT2vi4lk8TPXt5vkMzt/v9Ih77hTi1tTJ9dYzHWh+2RHwS3+x1AfUytlGAnJHBjimxIX49w5Ood6VeT14=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(346002)(396003)(366004)(136003)(376002)(451199018)(26005)(316002)(82960400001)(66556008)(186003)(66946007)(31686004)(2906002)(558084003)(54906003)(5660300002)(36756003)(8936002)(86362001)(31696002)(4326008)(66476007)(53546011)(6512007)(8676002)(6506007)(38100700002)(41300700001)(6666004)(6486002)(478600001)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OG5qU2Vzc0xUS1U1d1Q3dkxhZEVnS2NER1NiWSszV3JmZ2NVTXY5L2d2OXRN?=
 =?utf-8?B?Qy91TFg4RHUxMHY5T1NoS2xET3lTdFFuTVBaaWdVR1NXNDUyQzlUTlFkM2d1?=
 =?utf-8?B?YVVUaXZ5R2treCtVcHFrUnlMdFBhZ3dCWklIUmFCUnozblZwSkZYdTAyb2t5?=
 =?utf-8?B?em9aOU9OZTlqUXo2TDY0cjQxSUY2YWR2OW82WFIvVHpTS1ZFU1ZZQWxqWk51?=
 =?utf-8?B?UEJSZERjOG91TEUvcnlFd0JNTllGaW9zWm9MaWlaZkRsR3N3c0o5Q0JwQk1J?=
 =?utf-8?B?TkMwTEd6blRyZGJiczVROHE4TUROcVFSYmlzSnczRlZrbm1MbDNBQnN5ZlJR?=
 =?utf-8?B?bkdOYTZkUDEyanc4WkE4U09WWG1BcDdsR0RBcnQxTXVIZWUxYXdweGQ1ai80?=
 =?utf-8?B?bm54SFAxajJ2N3VQSDl6eFArdmQxSXNhelpkM29Db1A0RUxiN1lZaWQ5NWFO?=
 =?utf-8?B?L2dpbUthQytPZ2g5L0ljY2NxTHhFL2FRNWN6ZE5qWkNHSStGVEdkRURJcE16?=
 =?utf-8?B?YkFxQm5Mb2xHUE0ydlhvQmNOZkZZMXQ5ZStjbWVvWHY3Smx2cGdaYWx1QlJu?=
 =?utf-8?B?RllJOTVFVVdZSHU3TUJPaG5YNnJ5TklISFp1RTN0ZW51NG9DQU8vSzZlejQx?=
 =?utf-8?B?VHhyWWUrSm0yY3hncTVWRncwZ0ZDN3VMemdPWXRyRlpCYUthOTE2ejQ3UFM0?=
 =?utf-8?B?L2JlQzcrWFZMZ3g0OUhOY3BTN294UmN1cmU2dFMycDNmaUVDMW1KSjh4UjFH?=
 =?utf-8?B?b0xuRlF4ZGliL3QvUTdwTmJKNk54RDFWNmlyYndON3plbUdaNmZSbzZRaUlC?=
 =?utf-8?B?RStUeTAzTDhmOFJMdFFBYkxndnNJeFE4OUNiNzlqZTgzcVovSTd3NnlZeUJy?=
 =?utf-8?B?UEdCZHBJQ2QxZmNQOW1EeW41TWtzdWhqbEI4M2NDM1lQQUl2TzVnMHI5Qk50?=
 =?utf-8?B?WG43WGJWOEpDMm5HNUI0anRaRmwwU0ZLRS93NHh5Z0hycTNhU2cyVG5nbTNo?=
 =?utf-8?B?aTBFQ0I0VmY1VXZmUnI5dmFvMWl6ZWZ6cWJmQURZL2NFR2xJT1FFOWJhS0pm?=
 =?utf-8?B?WVNWeEgwZnA1anBPbzNwc1NUcjUzZVozRUtCaFd6UDl4a1UxZGl3enJzWWRm?=
 =?utf-8?B?WEs5eVFveXgwa2lMV240VkR6QlVlb25OQ1ROanE4K0F4a2JzUDJQenM1djJq?=
 =?utf-8?B?QTEyV3dZKy9Yekxadm9xRDBpRDR4MEhJdGdTazhXK0MzbStXN3licHdqWkZM?=
 =?utf-8?B?UWhyN25sS0ZUZFlJT0hsY2xXRDBTalAybThVOWYrTkFJSW9Mc0ZoR1ZqR3Zi?=
 =?utf-8?B?WU9FNnFaVXVEa044UzI4M29iazFBZ0h1RXNsQ2pyMmZQNHlCMk94YTkvTjRp?=
 =?utf-8?B?R2JqTkxjbm5jUHdMUkJ2S1NpNFpOOHZ5R1dpQnExVC9XYUN2dDY4VVFLRXJ3?=
 =?utf-8?B?eklna0xPS0RqcnpmZGp5V0hKSFVXd1d2akl5ZUJLcFZDcnNDU0NBTDgzSEZL?=
 =?utf-8?B?a2xDZGRKZ3lOUXZVVnJyWXRqL0p6YTRhQ0NoY2pXOGl0bEllaTNyWlRDaDNs?=
 =?utf-8?B?aXJGQmszM2p6dWV3R1hhOGFFVlR5YXczQjFwQXBCM3lpb2xGdU1HcjJBcjZx?=
 =?utf-8?B?WmRqUjgyQmt4ZkpzQ2QrZ1VzY3VXc24xL2FqbldkY0M5OVd5TE1UanMvSjJL?=
 =?utf-8?B?ZW9WeXp5clBydGlxZVBIYmNraURiM2QzRytxd1FOWkpGeEd4N2EzUzB1TmU3?=
 =?utf-8?B?WEVMSjk1RWtQYWRnekJWWkE3emZMYlNDSUV6b25oOVhLMWJINmJZSWd3YW0w?=
 =?utf-8?B?TWc2OGUwRm5abDBSMzBDRFhnMDVUc0duZ0JYTzh3WTNMMmw1aTg0ZkRMbGM4?=
 =?utf-8?B?Tzlmckc5ekNseVRKT2ZwTUYxV00yS2lSakFBTWtWN3k0Z3JsRDZhODB1MUZu?=
 =?utf-8?B?OUZuZWFFNUZWYjBDUVhxRkxJZm9WZVNhOUowSC9EWDRXdkRQZVI4anlCMnZt?=
 =?utf-8?B?bVJmRDc4TmlzOU05dmhZQmU1bXJlaWRLRTZRaS81ZHg1d1FaV2Nzc3diODdo?=
 =?utf-8?B?bFdORWVIU2NZYVpnalA0NVphVGJJU1hCZWlYNXl3Z29IV3NocDA1aWNpdmRQ?=
 =?utf-8?B?NXhta09EYng2RHFrdFMxM2pXQkFsaWFpN1dCamYrMklyNWJOVFZpNGp0MmNu?=
 =?utf-8?B?OEE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	xsQ4fYrrApRAjwlL7Lj4Y1LysI8J7WdZBDccJ1Y5ABlgcGRsPWJN7FfS6e8dqMhTa0Gibu0L8ksOvc5XDXv40SBzGj4H/JtCPFVZDiQW4ng4BnfujGnmgDkfYr/HU3LlJ06QP0aMvd2qw7x/Hbzad9ZnSTdkw0P8ZA4ssD0kcrTvtMzIAFipBOLF3NMnWvZti5CyZ5wZCc4baZhat3Fi+sG4FwZHUr5clqq/yaiPYt78SFNAnJztjFyn/3/qT9hHs/NNMTPsF1iLUJWU1SLUczG0a9KOcb04IYomvfq/geMyfCkVyMNi61yI+n7uAHIyX0AvDav8NWu8rWV848LS/9BH2iek1IAZCTd5Wb75YDR5hn19nctvrpqjNErgH8hPn2//f30Jab1BOA2jQ065F0bDbaQwvclTfY+wwRR9c5dYZGTNd8WGBp2PcKW5D3DYBs5qdln052K3G0sMbatLbc2vaJLCT86/B9Kivd6ZbIYKGnycKqogCwJ2VcPGaf7LN2hN40FPBPMEfJetlFvQItWKdIH/3cTem/hXClaoFq0XD4C6H7kdmKRaj1V16lyzlv2FgjtB4JS9PW1CVRtgwew3eEXFi4YzRts8QwM/HNbwxdRvsbz6neo4c2S9jGpw44SKYLAPDL5OYzeC1lmkw2so0Za1+mTeFyrP+XDqeAakgvSaxxf/XjrIfCCOiZuojYV0UySPeNRFLiD2aAR7JYAWPpufOJbQB8zjMOK4hye4Guagy6SNQfocJTE+G/iX0GyQpMzxcYDMlQyVD0Xep7kfEJP+XB+bDjhYHmp59QwQc91hls+JDmFv4+MRf9ts1kz1Y1jFKDaikGCaF1aOmub01XMIfAMMQDgnAPipvuU=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 231b50a8-8d6b-45bc-e5a8-08db1be95649
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 13:15:19.5664
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2eV/GaE268LSPSmUtSa1U2eFhiE1T6qa2o+99CFac3FhFfT+OpWtDcCuc3Bg27WEAxPsZJdf9K3kBp9rKTy4JP5mszkISdykBBrR/+/WB8U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB7065

On 03/03/2023 12:53 pm, Michal Orzel wrote:
> It has reached EOL and there are no jobs using it on any branch.
>
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

I'll drop the registry tags when I commit this.


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 13:17:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 13:17:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505999.779006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY5IA-00065U-SE; Fri, 03 Mar 2023 13:17:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505999.779006; Fri, 03 Mar 2023 13:17: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 1pY5IA-00065N-PX; Fri, 03 Mar 2023 13:17:46 +0000
Received: by outflank-mailman (input) for mailman id 505999;
 Fri, 03 Mar 2023 13:17: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=0Pyx=63=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pY5I8-0005Vf-VD
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 13:17:45 +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 c7914ced-b9c5-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 14:17:42 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id l1so2192176wry.12
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 05:17: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: c7914ced-b9c5-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677849462;
        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=UZeNRIhR/i1EuSw7nQaZHPch+6OrBk9oOpq2R+uejTc=;
        b=MZCOKSvl635iGKNaO7/k3iEzlHuAo9QfNw2x5BvOzPNeP14eUQFIGaJ/reGy1SSltZ
         uvk9ivObLcigzpNYEqLNH7M8xh7v6b0Szgp4w2izTJezBD4p+Kb9WZvF/2v1ZXw1FZdS
         Kw1Swdzc7riAkBkZxGAF5Vk7MsE5N6+q/DzwUoMA8knhPMy9hMDP0d8kCZt56CLo0Qfr
         cggM2ZGtTUogS92cF0ouARp2OfLaGy1K2k9GIWBGDSxHDRjDUaSZycatSUQUNt1ZDnmK
         lbTnzWb70s8NCbzmIyyt+lUteW7/NzpT42JCWvqHtm662U1DFRO53wLmA8ble7Fvd4Bd
         2zew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677849462;
        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=UZeNRIhR/i1EuSw7nQaZHPch+6OrBk9oOpq2R+uejTc=;
        b=ZDMV2cT3rDxBucpWMLnqT+pPACeiV8q6HMC/yDcPv/c39wO4nGAGiepFYbpkGyv/26
         9YsNSc+tiq7+0uwqkjt03X38v6jpMqkgyrjALlTEtpjqfUOaArR5jrAJejWqjjukHd3V
         i8eeqNAtgKVh9KqZPFprUPoAwf0W5//hrP3c2gn5Qbu0ulIEj2qDHugotQELPBsSt0pN
         GcYDGxdABbyWUO40HM78/MgCPuHrxKtAK34jPhfx+iu/aIcY8Ae7oDdjI4kx8xa+5B4p
         PvOJvzfUu+pj54vZGMHNu+snrK75pIdOn1J/a5NH8pwjwPRxx+2wjHnRkGy3uKbQAC/d
         uRlA==
X-Gm-Message-State: AO0yUKXR1Gkgwmxrx67RqMRegqsczcLLBY3rWH6IefWfT5HwiV1ToM/X
	2FPtRLxuLIZiNX1UsBsPWNJLOCvmoy9oeTWJ049PtQ==
X-Google-Smtp-Source: AK7set9+v2rN4IOwxtW5RQCgGDuRZAyJsbmp/CM7bGd0eddFMxBR9P2ltcDXaWLt+MQc6yt0J+mO8LmgJahCv6RfpUs=
X-Received: by 2002:a5d:45ca:0:b0:2c7:1aa8:7cfa with SMTP id
 b10-20020a5d45ca000000b002c71aa87cfamr379825wrs.14.1677849462094; Fri, 03 Mar
 2023 05:17:42 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <fc8e8f1d2d8dbefffd28f6ff1dff600094be8182.1677079672.git.jens.wiklander@linaro.org>
 <55C1E9E3-1515-40BD-8C9B-93564A2B4421@arm.com>
In-Reply-To: <55C1E9E3-1515-40BD-8C9B-93564A2B4421@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 3 Mar 2023 14:17:31 +0100
Message-ID: <CAHUa44HyQv0f=eaMS9McpzsMAT_xrOOs8HynV7bq+WnjE5CqxA@mail.gmail.com>
Subject: Re: [XEN PATCH v7 14/20] xen/arm: ffa: support guest FFA_PARTITION_INFO_GET
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Fri, Mar 3, 2023 at 10:51=E2=80=AFAM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Adds support in the mediator to handle FFA_PARTITION_INFO_GET requests
> > from a guest. The requests are forwarded to the SPMC and the response i=
s
> > translated according to the FF-A version in use by the guest.
> >
> > Using FFA_PARTITION_INFO_GET changes the owner of the RX buffer to the
> > caller (the guest in this case), so once it is done with the buffer it
> > must be released using FFA_RX_RELEASE before another call can be made.
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > xen/arch/arm/tee/ffa.c | 126 ++++++++++++++++++++++++++++++++++++++++-
> > 1 file changed, 124 insertions(+), 2 deletions(-)
> >
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index 953b6dfd5eca..3571817c0bcd 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -141,6 +141,12 @@
> > #define FFA_MSG_POLL                    0x8400006AU
> >
> > /* Partition information descriptor */
> > +struct ffa_partition_info_1_0 {
> > +    uint16_t id;
> > +    uint16_t execution_context;
> > +    uint32_t partition_properties;
> > +};
> > +
> > struct ffa_partition_info_1_1 {
> >     uint16_t id;
> >     uint16_t execution_context;
> > @@ -157,9 +163,8 @@ struct ffa_ctx {
> >     uint32_t guest_vers;
> >     bool tx_is_mine;
> >     bool interrupted;
> > +    spinlock_t lock;
> > };
> > -
> > -
>
> This is removing 2 empty lines (previous patch was wrongly adding one)
> but one empty line is required here.

I'll fix it.

>
> > /* Negotiated FF-A version to use with the SPMC */
> > static uint32_t ffa_version __ro_after_init;
> >
> > @@ -173,10 +178,16 @@ static unsigned int subscr_vm_destroyed_count __r=
ead_mostly;
> >  * Our rx/tx buffers shared with the SPMC.
> >  *
> >  * ffa_page_count is the number of pages used in each of these buffers.
> > + *
> > + * The RX buffer is protected from concurrent usage with ffa_rx_buffer=
_lock.
> > + * Note that the SPMC is also tracking the ownership of our RX buffer =
so
> > + * for calls which uses our RX buffer to deliver a result we must call
> > + * ffa_rx_release() to let the SPMC know that we're done with the buff=
er.
> >  */
> > static void *ffa_rx __read_mostly;
> > static void *ffa_tx __read_mostly;
> > static unsigned int ffa_page_count __read_mostly;
> > +static DEFINE_SPINLOCK(ffa_rx_buffer_lock);
> >
> > static bool ffa_get_version(uint32_t *vers)
> > {
> > @@ -463,6 +474,98 @@ static uint32_t handle_rxtx_unmap(void)
> >     return FFA_RET_OK;
> > }
> >
> > +static uint32_t handle_partition_info_get(uint32_t w1, uint32_t w2, ui=
nt32_t w3,
> > +                                          uint32_t w4, uint32_t w5,
> > +                                          uint32_t *count)
> > +{
> > +    bool query_count_only =3D w5 & FFA_PARTITION_INFO_GET_COUNT_FLAG;
> > +    uint32_t w5_mask =3D 0;
> > +    uint32_t ret =3D FFA_RET_DENIED;
> > +    struct domain *d =3D current->domain;
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> > +
> > +    /*
> > +     * FF-A v1.0 has w5 MBZ while v1.1 allows
> > +     * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
> > +     */
> > +    if ( ctx->guest_vers =3D=3D FFA_VERSION_1_1 )
> > +        w5_mask =3D FFA_PARTITION_INFO_GET_COUNT_FLAG;
> > +    if ( w5 & ~w5_mask )
> > +        return FFA_RET_INVALID_PARAMETERS;
> > +
> > +    if ( query_count_only )
> > +        return ffa_partition_info_get(w1, w2, w3, w4, w5, count);
>
> This code seems a bit to complex.
> I would suggest the following:
>
> if (w5 & FFA_PARTITION_INFO_GET_COUNT_FLAG)
> {
>      if ( ctx->guest_vers =3D=3D FFA_VERSION_1_1 )
>         return ffa_partition_info_get(w1, w2, w3, w4, w5, count);
>      else
>         return FFA_RET_INVALID_PARAMETERS;
> }

OK, I can use that. I'll have to add a
if (w5)
    return FFA_RET_INVALID_PARAMETERS;

since the rest of the bits must be zero.

>
> > +
> > +    if ( !ffa_page_count )
> > +        return FFA_RET_DENIED;
> > +
> > +    spin_lock(&ctx->lock);
> > +    spin_lock(&ffa_rx_buffer_lock);
> > +    if ( !ctx->page_count || !ctx->tx_is_mine )
>
> If i understand correctly tx_is_mine is protecting the guest rx
> buffer until rx_release is called by the guest so that we do not
> write in it before the guest has retrieved the data from it.
>
> The name is very misleading, maybe rx_is_writeable or free would be bette=
r ?

The FF-A specification talks about ownership of the TX buffer (from
the VMs point of view), hence the name.
I'll change it to rx_is_free to be more intuitive without the spec.

>
> Also it would be more optimal to test it before taking ffa_rx_buffer_lock=
.

Yes, I'll change that.

>
>
> > +        goto out;
> > +    ret =3D ffa_partition_info_get(w1, w2, w3, w4, w5, count);
> > +    if ( ret )
> > +        goto out;
> > +
> > +    if ( ctx->guest_vers =3D=3D FFA_VERSION_1_0 )
> > +    {
> > +        size_t n;
> > +        struct ffa_partition_info_1_1 *src =3D ffa_rx;
> > +        struct ffa_partition_info_1_0 *dst =3D ctx->rx;
> > +
> > +        if ( ctx->page_count * FFA_PAGE_SIZE < *count * sizeof(*dst) )
> > +        {
> > +            ret =3D FFA_RET_NO_MEMORY;
> > +            goto out_rx_release;
> > +        }
> > +
> > +        for ( n =3D 0; n < *count; n++ )
> > +        {
> > +            dst[n].id =3D src[n].id;
> > +            dst[n].execution_context =3D src[n].execution_context;
> > +            dst[n].partition_properties =3D src[n].partition_propertie=
s;
> > +        }
> > +    }
> > +    else
> > +    {
> > +        size_t sz =3D *count * sizeof(struct ffa_partition_info_1_1);
> > +
> > +        if ( ctx->page_count * FFA_PAGE_SIZE < sz )
> > +        {
> > +            ret =3D FFA_RET_NO_MEMORY;
> > +            goto out_rx_release;
> > +        }
> > +
> > +
> > +        memcpy(ctx->rx, ffa_rx, sz);
> > +    }
> > +    ctx->tx_is_mine =3D false;
>
> at this point we have no reason to hold ctx->lock

ctx->lock is special, we're never supposed to have contention on that
lock. I believe that we in principle could use spin_trylock() instead
and return FFA_RET_BUSY if it fails, but that might be a bit too much.
The VM is supposed to synchronize calls that use the RXTX buffers. So
unlocking ctx->lock early should give nothing for well-behaving
guests, I'd prefer to keep things simple and unlock in reverse order
if you don't mind. I'll add a comment.

>
> > +out_rx_release:
> > +    ffa_rx_release();
>
> There should be no case where do release without unlocking.
>
> It might be cleaner to have 2 functions ffa_rx_get and ffa_rx_release
>  handling both the lock and the rx_release message.

I'd like to keep ffa_rx_release() as a dumb wrapper. ffa_rx_release()
is also used in init_subscribers()  where we don't use any locks.
ffa_rx_release() is called after a successful call to
ffa_partition_info_get() where we also gained ownership of our RX
buffer. Things might be a bit too intertwined for further abstraction.
I'll add a comment explaining the relationship between
ffa_partition_info_get() and ffa_rx_release().

>
> > +out:
> > +    spin_unlock(&ffa_rx_buffer_lock);
>
> this should stay with ffa_rx_release

Depending on if you accept my explanation above.

Thanks,
Jens

>
> Cheers
> Bertrand
>
> > +    spin_unlock(&ctx->lock);
> > +
> > +    return ret;
> > +}
> > +
> > +static uint32_t handle_rx_release(void)
> > +{
> > +    uint32_t ret =3D FFA_RET_DENIED;
> > +    struct domain *d =3D current->domain;
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> > +
> > +    spin_lock(&ctx->lock);
> > +    if ( !ctx->page_count || ctx->tx_is_mine )
> > +        goto out;
> > +    ret =3D FFA_RET_OK;
> > +    ctx->tx_is_mine =3D true;
> > +out:
> > +    spin_unlock(&ctx->lock);
> > +
> > +    return ret;
> > +}
> > +
> > static void handle_msg_send_direct_req(struct cpu_user_regs *regs, uint=
32_t fid)
> > {
> >     struct arm_smccc_1_2_regs arg =3D { .a0 =3D fid, };
> > @@ -528,6 +631,7 @@ static bool ffa_handle_call(struct cpu_user_regs *r=
egs)
> >     uint32_t fid =3D get_user_reg(regs, 0);
> >     struct domain *d =3D current->domain;
> >     struct ffa_ctx *ctx =3D d->arch.tee;
> > +    uint32_t count;
> >     int e;
> >
> >     if ( !ctx )
> > @@ -559,6 +663,24 @@ static bool ffa_handle_call(struct cpu_user_regs *=
regs)
> >         else
> >             set_regs_success(regs, 0, 0);
> >         return true;
> > +    case FFA_PARTITION_INFO_GET:
> > +        e =3D handle_partition_info_get(get_user_reg(regs, 1),
> > +                                      get_user_reg(regs, 2),
> > +                                      get_user_reg(regs, 3),
> > +                                      get_user_reg(regs, 4),
> > +                                      get_user_reg(regs, 5), &count);
> > +        if ( e )
> > +            set_regs_error(regs, e);
> > +        else
> > +            set_regs_success(regs, count, 0);
> > +        return true;
> > +    case FFA_RX_RELEASE:
> > +        e =3D handle_rx_release();
> > +        if ( e )
> > +            set_regs_error(regs, e);
> > +        else
> > +            set_regs_success(regs, 0, 0);
> > +        return true;
> >     case FFA_MSG_SEND_DIRECT_REQ_32:
> > #ifdef CONFIG_ARM_64
> >     case FFA_MSG_SEND_DIRECT_REQ_64:
> > --
> > 2.34.1
> >
>


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 13:18:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 13:18:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506004.779016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY5JC-0006dE-6G; Fri, 03 Mar 2023 13:18:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506004.779016; Fri, 03 Mar 2023 13: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 1pY5JC-0006d7-3D; Fri, 03 Mar 2023 13:18:50 +0000
Received: by outflank-mailman (input) for mailman id 506004;
 Fri, 03 Mar 2023 13:18: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=0Pyx=63=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pY5JB-0006d1-S3
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 13:18:49 +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 ee6d1dc7-b9c5-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 14:18:48 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id h14so2238385wru.4
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 05:18: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: ee6d1dc7-b9c5-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677849527;
        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=h0vC7BO849wdFN1d11IJCyZzTKdINlfggKV8T5pIJyE=;
        b=FHhVD1ZLaJMbbuC43jnK/88EPq56ybtd5ie2Htxrs6FDPAfi/D3sqo6yZse6u6AdYq
         Pkgs5zTkA8tNyv2S7UDsDMXDdRwn6E17cYNMBOybBkv1GWHe1nLeYEbeYLvUAuTjIg3S
         tPNE3seHc5X3aonhLOhTjhBBsiux42mhMDTQisP+esOnC+bgqRt9JpDUvGTsKfyqYAmo
         JU/H8s8vt0120YviVJvwMlqIVxSMSrJQsXqAEtvgxrB0MPDuwFUCS8W0Fk5Jbs0BWZQX
         HLd9ixAhpjWxDWGJVRwrFA7kzD+JlIwkndcaRZCSAWtYDr/JrsTkbHZx5J7Luo9qsjbL
         APoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677849527;
        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=h0vC7BO849wdFN1d11IJCyZzTKdINlfggKV8T5pIJyE=;
        b=EYuM19HQyVxpeSnKd0gAkQgw0fzN5nobVcdWbzmOvnmY0eXlINQLCHggEIfZDldIFi
         ApSAl6IdPmiJSYu/tQ2PMtN0rci5R/eAgHIPmJYBJmPgLfdntou/Y0s0ZVVAdqRc0kPw
         r0pDPT9cq0XDX7ghh73fUXaqeklz6/r8TbFLAx58KBX9tfMVBa22zohA+JiHOA8askk8
         gnQUiOEC0Cm2NxR6Pq8lG3gdMCEp3mABVlVpXZMUpZgqbgAa0g8usD1j//XxZl2J6YY5
         QIpuecpiymQOlFGWnAL59WGuVs6z0DJ1xU87pM6u3q5NMMQE4JenPfl5hiP4TtLu/NYx
         EMxA==
X-Gm-Message-State: AO0yUKV1UjA7xXmFScY8toWF+7b45e2okI2oIc4lILn5NK8Yb4CPmz6Q
	MxCCgXDe/1V+rluiV9hKva6xJKL0zUuOXgUxPEhSBw==
X-Google-Smtp-Source: AK7set9AoMeiIHVM5NEZIelwQtjFCeZFAV8aBBSegm2WriALVsV7TmSLKZVlH+KyyVERNLiz3lVHfkKH9nFhcGFezIQ=
X-Received: by 2002:a5d:45ca:0:b0:2c7:1aa8:7cfa with SMTP id
 b10-20020a5d45ca000000b002c71aa87cfamr380485wrs.14.1677849527448; Fri, 03 Mar
 2023 05:18:47 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <ee6ebe4d22c3aecf35b7a4813ca95b2978eed534.1677079672.git.jens.wiklander@linaro.org>
 <18852A93-9016-4C25-BE75-872F92BB5CEF@arm.com>
In-Reply-To: <18852A93-9016-4C25-BE75-872F92BB5CEF@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 3 Mar 2023 14:18:36 +0100
Message-ID: <CAHUa44GbijWCcvBniyVfpZcmjP=V_BXEm72q_XYoaRt7uF9uYQ@mail.gmail.com>
Subject: Re: [XEN PATCH v7 15/20] xen/arm: move regpair_to_uint64() and
 uint64_to_regpair() to regs.h
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
	Michal Orzel <michal.orzel@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Mar 3, 2023 at 11:51=E2=80=AFAM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Moves the two helper functions regpair_to_uint64() and
> > uint64_to_regpair() from xen/arch/arm/tee/optee.c to the common arm
> > specific regs.h. This enables reuse of these functions in the FF-A
> > mediator in a subsequent patch.
> >
> > Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>
> Please move Michal R-B after your signed off.

OK

>
> With that fixed:
> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Thanks,
Jens

>
> Cheers
> Bertrand
>
> > ---
> > xen/arch/arm/include/asm/regs.h | 12 ++++++++++++
> > xen/arch/arm/tee/optee.c        | 11 -----------
> > 2 files changed, 12 insertions(+), 11 deletions(-)
> >
> > diff --git a/xen/arch/arm/include/asm/regs.h b/xen/arch/arm/include/asm=
/regs.h
> > index 0693a681315f..aa39e83ee5f4 100644
> > --- a/xen/arch/arm/include/asm/regs.h
> > +++ b/xen/arch/arm/include/asm/regs.h
> > @@ -60,6 +60,18 @@ static inline bool guest_mode(const struct cpu_user_=
regs *r)
> > register_t get_user_reg(struct cpu_user_regs *regs, int reg);
> > void set_user_reg(struct cpu_user_regs *regs, int reg, register_t val);
> >
> > +static inline uint64_t regpair_to_uint64(register_t reg0, register_t r=
eg1)
> > +{
> > +    return ((uint64_t)reg0 << 32) | (uint32_t)reg1;
> > +}
> > +
> > +static inline void uint64_to_regpair(register_t *reg0, register_t *reg=
1,
> > +                                     uint64_t val)
> > +{
> > +    *reg0 =3D val >> 32;
> > +    *reg1 =3D (uint32_t)val;
> > +}
> > +
> > #endif
> >
> > #endif /* __ARM_REGS_H__ */
> > diff --git a/xen/arch/arm/tee/optee.c b/xen/arch/arm/tee/optee.c
> > index 9cb9f16d43cb..47027ecef47c 100644
> > --- a/xen/arch/arm/tee/optee.c
> > +++ b/xen/arch/arm/tee/optee.c
> > @@ -268,17 +268,6 @@ static int optee_domain_init(struct domain *d)
> >     return 0;
> > }
> >
> > -static uint64_t regpair_to_uint64(register_t reg0, register_t reg1)
> > -{
> > -    return ((uint64_t)reg0 << 32) | (uint32_t)reg1;
> > -}
> > -
> > -static void uint64_to_regpair(register_t *reg0, register_t *reg1, uint=
64_t val)
> > -{
> > -    *reg0 =3D val >> 32;
> > -    *reg1 =3D (uint32_t)val;
> > -}
> > -
> > static struct page_info *get_domain_ram_page(gfn_t gfn)
> > {
> >     struct page_info *page;
> > --
> > 2.34.1
> >
>


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 13:29:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 13:29:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506010.779026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY5T3-0000AW-4n; Fri, 03 Mar 2023 13:29:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506010.779026; Fri, 03 Mar 2023 13:29:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY5T3-0000AP-0e; Fri, 03 Mar 2023 13:29:01 +0000
Received: by outflank-mailman (input) for mailman id 506010;
 Fri, 03 Mar 2023 13:29: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 1pY5T2-0000AF-GA; Fri, 03 Mar 2023 13:29: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 1pY5T2-0004XC-Ct; Fri, 03 Mar 2023 13:29: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 1pY5T2-0004BA-0p; Fri, 03 Mar 2023 13:29:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pY5T2-00053z-0L; Fri, 03 Mar 2023 13:29:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dlO7ogS+yh8wYvyOaOv5Oev8IcEvdXyT/x7P9NAMCiA=; b=4SdEDSJmccAsxFn9Or/UnFok3m
	xqIXtmUnr2cnrnw//krTTo9TGx56x2Q1dP3xiNbYjttnN43j3Qg/9uguy7jW/E5dJoEKME3Don3Bs
	5szZ9kYrQT1wjQNeJi+XQKoDthOCVDNezYZ5laOx36/0Gei/XGrcZUvzCXE3d/WDRxNs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179044-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179044: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=2eb29d59ddf02e39774abfb60b2030b0b7e27c1f
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Mar 2023 13:29:00 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 178042
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                2eb29d59ddf02e39774abfb60b2030b0b7e27c1f
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z    9 days
Failing since        178093  2023-02-22 05:02:47 Z    9 days   19 attempts
Testing same since   179044  2023-03-03 03:26:30 Z    0 days    1 attempts

------------------------------------------------------------
1996 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 13:38:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 13:38:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506019.779036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY5cc-0001t3-74; Fri, 03 Mar 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 506019.779036; Fri, 03 Mar 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 1pY5cc-0001sw-4N; Fri, 03 Mar 2023 13:38:54 +0000
Received: by outflank-mailman (input) for mailman id 506019;
 Fri, 03 Mar 2023 13:38: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=k/yG=63=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pY5ca-0001sq-UC
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 13:38:53 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe13::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bbb98edc-b9c8-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 14:38:51 +0100 (CET)
Received: from AS8P250CA0028.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:330::33)
 by DU2PR08MB10201.eurprd08.prod.outlook.com (2603:10a6:10:496::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Fri, 3 Mar
 2023 13:38:48 +0000
Received: from VI1EUR03FT031.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:330:cafe::a2) by AS8P250CA0028.outlook.office365.com
 (2603:10a6:20b:330::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22 via Frontend
 Transport; Fri, 3 Mar 2023 13:38:48 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT031.mail.protection.outlook.com (100.127.144.221) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.22 via Frontend Transport; Fri, 3 Mar 2023 13:38:47 +0000
Received: ("Tessian outbound b29c0599cbc9:v135");
 Fri, 03 Mar 2023 13:38:47 +0000
Received: from dceb22f905fa.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 530DB9D6-164D-4419-B40E-AFF18C25C0BA.1; 
 Fri, 03 Mar 2023 13:38:41 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id dceb22f905fa.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 03 Mar 2023 13:38:41 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS2PR08MB9497.eurprd08.prod.outlook.com (2603:10a6:20b:60f::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.19; Fri, 3 Mar
 2023 13:38:32 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 13:38: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: bbb98edc-b9c8-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7sLZae6rBM1yJa5kgabXJid0eFIdA/+aUUZ1P8rCzlg=;
 b=593r4iMt9fzGL2belF+hmtcNrHRSqPc+RP5PF0yI/BxXZ5DE49e4WBWlWalpAX5XxdzDJkhJS1unG/LPnndk2ReyaEl3r+e4jgD8so8atcBCjqVy11CD/MSS6PrIL3UMQrUuJV1+QFnY6p+p2WiIB/AUsKTTel/RoaDauAjyvdM=
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: 144b156e870d43a4
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FboIPagbiqfBc7ZqaYpIHNN75NLXhQiAGs1bcz0swddLpSnzOdN55j0XCO970to/BNuATswZgZPSDotLlY2KoObhinASLdiUtC2A5RXFDJJ3p6tpxeC8PkF4/wGsfKR7qzupiSGO6IyPv1aJbGQXZaNKHu25naRBjx2AuIum5B8C9VbEbov6PZFwcqzSNrWRf/paL5yMFaUw4vCgjDazG4uuqBW2NVah7Mks03oRPm+DYZsjbY5mVZMeqq2es2eLceF7aXzRxOc0oCKTofD+RpMXnQ6FEU/UBmRuhPiHWhXQjupZmN0wBRkCzBqyocrg1N4wKvAKFXJsxGEL+XoedA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7sLZae6rBM1yJa5kgabXJid0eFIdA/+aUUZ1P8rCzlg=;
 b=lYGyZMmtX4vG9FwM6kcfacHxkBA250XizK8Eugo/KMA50U11sCDu/DA36NRZvz30ggAYNBc4UAFll0WOMfPOuET3iPBn+TAAv1qGStFfJsoHKoMrVwx6Uda4Wtf6dggSaJfi+z0qvJwpTYU4ZxliOWFRscQmfA9YaQUQ5HWC5/YYwUbVeVU2WRtiWx6dRWSOaBxsCuaH/IJEfI+3df1QJ5ShQ2kGC8V3wDFrl8ql5CMacm+7gm66OO0GQ+8yXTNGUYtjjkpehRGQgl2vhRqtaWYQlY1iehbCY6UmaVkxeY/jj2jKhZCzHk14QlCJuBY3GHUTXmO7hel+jjI2FnPKuw==
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=7sLZae6rBM1yJa5kgabXJid0eFIdA/+aUUZ1P8rCzlg=;
 b=593r4iMt9fzGL2belF+hmtcNrHRSqPc+RP5PF0yI/BxXZ5DE49e4WBWlWalpAX5XxdzDJkhJS1unG/LPnndk2ReyaEl3r+e4jgD8so8atcBCjqVy11CD/MSS6PrIL3UMQrUuJV1+QFnY6p+p2WiIB/AUsKTTel/RoaDauAjyvdM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 16/20] xen/arm: ffa: add defines for sharing memory
Thread-Topic: [XEN PATCH v7 16/20] xen/arm: ffa: add defines for sharing
 memory
Thread-Index: AQHZRtMfBUlqc46l5k6uigelB3xA/q7pHTCA
Date: Fri, 3 Mar 2023 13:38:32 +0000
Message-ID: <C57A3E71-138B-40EB-8B0C-13603EB145AF@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <ad85591c42f4db3c3001ae4b5572c1096c159593.1677079672.git.jens.wiklander@linaro.org>
In-Reply-To:
 <ad85591c42f4db3c3001ae4b5572c1096c159593.1677079672.git.jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|AS2PR08MB9497:EE_|VI1EUR03FT031:EE_|DU2PR08MB10201:EE_
X-MS-Office365-Filtering-Correlation-Id: ace5d162-fc4a-41fb-5e05-08db1bec9df9
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:
 38Hx+Nah8qMn7HYyFWn+QBRSOtbtudS9BFcBV8nfsmEf9SbkF8zbBLzUyTKWapYk5lHSbmwHjIxXV8ReLRx8CSNo/WVqX6JND5yBbEDZFT/5QDD3YYayltjdnc0lKRZ+aQKVV5rDA8YV7toAPKjkpn0Rzxc4XNzBYhuTkstybcqNKhmADYpDadr7XAhsgkrjQLMba3OVF2REkWevcHQ9TrDLsgftY7ZzQM8aNCG3y7QjVi0BtB24OuvDFGNhgp8F41Sj8VtGnlR1Oj+bgNDU0/brSOn/9GY0qOFh97bDn7w9nkpV/dfCDoFHqLUgLpPwnrJJgoqbgew5niFqJL8LTqE/oF54N9ANhxbl+iwR8nPKBZglTsSV2WxLi6SICd/d+ruDty4WnZA8jw4Iyq9LpApkWoat5ZNF8t7C4CKbjH+ne5SmnE+mz/5sh90c75+ET2pWLCbFAF/miIwvDtrq7Pg+pMzrSQvZjoyhkFgSoN7l5S5hGZqxbK3dYIvI/OlfzCejYTHapZf9q9i8ugNcXSIScS1CqX4k6YOA1rxNziFS1ugR3q8DXWWapzE22MgAgBgszSiaeZEjQm8BlrK29APwDniBiNmAzJ1EPbW9jmcxr68tzpqzVCA9fz3JUDv2bcuXXv6Dso8TyYSAeaodi6P26CFgyk4YlDy+YzZf13+APDQ6EbEBWumFk6AK3Vrf+V62dcfIaYWggZ1LP2mKZNjatTEMqmFkf6Co46C9TdMjSRPopzpqsP1C/6QdexKE
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:(13230025)(4636009)(396003)(39860400002)(376002)(366004)(346002)(136003)(451199018)(33656002)(86362001)(66946007)(36756003)(8936002)(6486002)(66446008)(41300700001)(76116006)(53546011)(66556008)(4326008)(8676002)(6916009)(2616005)(54906003)(64756008)(66476007)(966005)(478600001)(122000001)(71200400001)(91956017)(5660300002)(316002)(26005)(6506007)(38100700002)(186003)(38070700005)(6512007)(2906002)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <D38E77F655980E4F93FE099E1BE2075F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9497
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:
 VI1EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	47cd50da-41e6-48b6-9a04-08db1bec94ca
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	py4TIC+C9olRo28c+K1eDA1XIivyq1Ap49lw5zrOF/9OtJIvIw/p80eBcnckFyGf+i6NbNmu1hULyzZX5aop50ev+l1dalmE3ar2LhW/vXHJVVOSjuNJrznsW+g90Zi8cOzaRjfYIEbybR1b9n22xJCp/79PQyBv0On9wdH+SKRD2eTiD5hvo3QUqXOPSNPOcLiOtfn4pZ/MB/9AY0cWKNRfSYyEvxEoQtVqQFf2gGyAB2QYHV6+n5hmYWDUwN+ZMfVHg20ojRhRGIEHAUysNUz3bE0oikvOsjbxfITfUuNWwSx7e1O0bGD9W75xmJijwjpLsviu/vWdm040i7fCTbMubNcJ/r2WTSyZjWQ5n6qYLIHRZFngJiz+/d2eB1mDy+WvLat42WlRPP9ljjg0CgmCxHsIwnuVuy0kRpgFtU92sqZNdZqgMPq++6bu9mSjMkRSQsR0j/lVy8SYOAnLADNU3X5irpy+OMi0Wl3yK739covXQuYJkdscN6W3tNBbQ0hxuAle6U/n1QJBZqSGHW2nt+eiUbEfKL1Tqr/z8+9LWVjnwMsr763r7JFHF3pOIfwAJUGhpM1mqHUGvdCHmQEhCOboiEHiUQ6v25LCs/nPclAt1NTlVP/7KSGoRz41nuB42WXDvkd0JPwb5MTrTec0SvP/tCKyFZf9upYAy/sZdOcuFP04B20+FB4v7smBEbnwYiBEIox4NiUNWDzxqOW23ZMBxeCWs2yW/IUHkGA=
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:(13230025)(4636009)(39860400002)(376002)(396003)(136003)(346002)(451199018)(40470700004)(36840700001)(46966006)(5660300002)(4326008)(6862004)(40480700001)(8936002)(83380400001)(41300700001)(336012)(40460700003)(70586007)(36756003)(82310400005)(2906002)(70206006)(8676002)(316002)(33656002)(6486002)(82740400003)(47076005)(36860700001)(6512007)(53546011)(6506007)(26005)(966005)(186003)(2616005)(54906003)(81166007)(478600001)(86362001)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 13:38:47.8717
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ace5d162-fc4a-41fb-5e05-08db1bec9df9
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:
	VI1EUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB10201

Hi Jens,

> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Adds defines needed for sharing using the function FFA_MEM_SHARE and
> friends.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> ---
> xen/arch/arm/tee/ffa.c | 57 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 57 insertions(+)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 3571817c0bcd..bfd378f7fcd7 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -22,6 +22,14 @@
> #include <asm/tee/ffa.h>
> #include <asm/regs.h>
>=20
> +/*
> + * References:
> + * FF-A-1.0-REL: FF-A specification version 1.0 available at
> + *               https://developer.arm.com/documentation/den0077/a
> + * FF-A-1.1-REL0: FF-A specification version 1.1 available at
> + *                https://developer.arm.com/documentation/den0077/e
> + */

This could actually be directly in the file header.

> +
> /* Error codes */
> #define FFA_RET_OK                      0
> #define FFA_RET_NOT_SUPPORTED           -1
> @@ -66,6 +74,55 @@
>  */
> #define FFA_PAGE_SIZE                   SZ_4K
>=20
> +/*
> + * Limit for shared buffer size. Please note that this define limits
> + * number of pages. But user buffer can be not aligned to a page
> + * boundary. So it is possible that user would not be able to share
> + * exactly FFA_MAX_SHM_BUFFER_PG * FFA_PAGE_SIZE bytes.
> + *
> + * FF-A doesn't have any direct requirments on GlobalPlatform or vice
> + * versa, but an implementation can very well use FF-A in order to provi=
de
> + * a GlobalPlatform interface on top.
> + *
> + * Global Platform specification for TEE requires that any TEE
> + * implementation should allow to share buffers with size of at least
> + * 512KB. Due to align issue mentioned above, we need to increase this
> + * value with one.

Could you give a bit more details here: what spec version, where in the spe=
c ?

I did download one version of it and at a first glance could not find this =
value.

> + */
> +#define FFA_MAX_SHM_PAGE_COUNT          (SZ_512K / FFA_PAGE_SIZE + 1)
> +
> +/*
> + * Limits the number of shared buffers that guest can have at once. This
> + * is to prevent case, when guests tricks XEN into exhausting its own
> + * memory by allocating many small buffers. This value has been chosen
> + * arbitrary.
> + */
> +#define FFA_MAX_SHM_COUNT               32

For those 2 limits, I am a bit wondering which should be defined in the cod=
e or maybe
configurable in kconfig or through xen command line or per guest.

I do not think we can answer that now but if one of these limits is reached=
 we should
have a clear error message so that we could easily say what to modify and d=
ecide
if/how to solve it.


> +
> +/* FF-A-1.1-REL0 section 10.9.2 Memory region handle, page 167 */
> +#define FFA_HANDLE_HYP_FLAG             BIT(63, ULL)
> +#define FFA_HANDLE_INVALID              0xffffffffffffffffULL
> +
> +/*
> + * The bits for FFA_NORMAL_MEM_REG_ATTR FFA_MEM_ACC_RW below are
> + * defined in FF-A-1.1-REL0 Table 10.18 at page 175.
> + */
> + /* Memory attributes: Normal memory, Write-Back cacheable, Inner sharea=
ble */
> +#define FFA_NORMAL_MEM_REG_ATTR         0x2fU
> +/* Memory access permissions: Read-write */
> +#define FFA_MEM_ACC_RW                  0x2U

RW bits are defined in table 10.15 at page 168 if i am not mistaking

> +
> +/* FF-A-1.1-REL0 section 10.11.4 Flags usage, page 184-187 */
> +/* Clear memory before mapping in receiver */
> +#define FFA_MEMORY_REGION_FLAG_CLEAR            BIT(0, U)
> +/* Relayer may time slice this operation */
> +#define FFA_MEMORY_REGION_FLAG_TIME_SLICE       BIT(1, U)
> +/* Clear memory after receiver relinquishes it */
> +#define FFA_MEMORY_REGION_FLAG_CLEAR_RELINQUISH BIT(2, U)
> +/* Share memory transaction */
> +#define FFA_MEMORY_REGION_TRANSACTION_TYPE_SHARE (1U << 3)
> +
> +
Please only add one empty line here.

I checked the definitions and they are all coherent with the spec.

Cheers
Bertrand

> /* Framework direct request/response */
> #define FFA_MSG_FLAG_FRAMEWORK          BIT(31, U)
> #define FFA_MSG_TYPE_MASK               0xFFU;
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 13:50:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 13:50:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506026.779046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY5o0-0004oT-8V; Fri, 03 Mar 2023 13:50:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506026.779046; Fri, 03 Mar 2023 13:50:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY5o0-0004oM-5a; Fri, 03 Mar 2023 13:50:40 +0000
Received: by outflank-mailman (input) for mailman id 506026;
 Fri, 03 Mar 2023 13:50: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=k/yG=63=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pY5ny-0004oG-Fl
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 13:50:38 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0616.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5f31769c-b9ca-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 14:50:35 +0100 (CET)
Received: from DB6PR0402CA0008.eurprd04.prod.outlook.com (2603:10a6:4:91::18)
 by DU0PR08MB7390.eurprd08.prod.outlook.com (2603:10a6:10:351::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Fri, 3 Mar
 2023 13:50:19 +0000
Received: from DBAEUR03FT042.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:91:cafe::43) by DB6PR0402CA0008.outlook.office365.com
 (2603:10a6:4:91::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21 via Frontend
 Transport; Fri, 3 Mar 2023 13:50:19 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT042.mail.protection.outlook.com (100.127.142.143) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.22 via Frontend Transport; Fri, 3 Mar 2023 13:50:19 +0000
Received: ("Tessian outbound cfb430c87a1e:v135");
 Fri, 03 Mar 2023 13:50:19 +0000
Received: from 96f94f2fa04d.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E4B49035-1E89-4FBC-8E07-66030499687C.1; 
 Fri, 03 Mar 2023 13:50:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 96f94f2fa04d.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 03 Mar 2023 13:50:08 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB7767.eurprd08.prod.outlook.com (2603:10a6:20b:527::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Fri, 3 Mar
 2023 13:50:05 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 13:50: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: 5f31769c-b9ca-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aYvKSxvhi7aMCzsPEHn1XS+Ui2Bul6MgPShTw7UBvTI=;
 b=ykeDURKOxOag7VfBPzpTThmHhHHA4aJqS+uQKGv7BVjEYOcjD251IcX87KEGmMVzwwPAw39XAnhFYBkHoLtxSt/uOgU8v7TAlZ8EEYkmORFWnydwLMFjn444kZf8IjTCNi5PIxs93AMEycpqwBmBqoExzs667v7ZOxpancZtoi0=
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: a0ef4aa896098ad5
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G4tEq9YUNiohG7XUeu+wc1fh0kal025rSDHUc7lYAs9ZEyVgM3Yb93Xpn+2CHY9cbe8TFwrfCFlvFhvO6iB8w9wgF9x+HYX4dKtZRq0pByGYBJHXL0GTutdfbcd+JyRhO3sxQ2UMZ4HkHBAD7/gPBk7jKLqg65RoRGPHwneHx0F4I/VMUVCxXaDKkTl/IynDCmgDTxWLNAfUkbgG5jfvCQEQXS1JkJWPQZa8bOn52TBnPLiZqoas46re4n2q68OlaDeYtQ5HVoysOPrruUludrbfkS8MBlTuoVq9T9ZfpwelwgasF5pO/drv3WlLAH47ek1CTceMmEdG6MMVixTPCQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aYvKSxvhi7aMCzsPEHn1XS+Ui2Bul6MgPShTw7UBvTI=;
 b=BlewlMJ6WfggePwi4B5dWAbXw08T+zfts1ouRMJlWioV2gGqP0lzp0uthTHBRIyLLe69w9hECTfBZCDDwI9sIJE7msiHSPkOhmzCAv4LSBy0StPIRdhFNipASHZeBCW/ktGc1aDYT/YYISsCl89aA07HmSwgTcAfWIHIH4pGIVKaf78qUS7RSlyr4Eg73QljDtpeiP1pioyc045R8oY6ib4S4nXCoW/kZcTLTT91jxXZthODstRf/WFssMMbpJNh77387HdEV/PlCPptD56rjIdU7SECIveScHLOb/uThWj+t9zbOgWcW7D7fk8bbzsYrYltertzEP0zIsyjnheeTA==
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=aYvKSxvhi7aMCzsPEHn1XS+Ui2Bul6MgPShTw7UBvTI=;
 b=ykeDURKOxOag7VfBPzpTThmHhHHA4aJqS+uQKGv7BVjEYOcjD251IcX87KEGmMVzwwPAw39XAnhFYBkHoLtxSt/uOgU8v7TAlZ8EEYkmORFWnydwLMFjn444kZf8IjTCNi5PIxs93AMEycpqwBmBqoExzs667v7ZOxpancZtoi0=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 14/20] xen/arm: ffa: support guest
 FFA_PARTITION_INFO_GET
Thread-Topic: [XEN PATCH v7 14/20] xen/arm: ffa: support guest
 FFA_PARTITION_INFO_GET
Thread-Index: AQHZRtMdhtaowAhPaUGSsxv5T0sWbq7o3ZeAgAA5x4CAAAkNgA==
Date: Fri, 3 Mar 2023 13:50:05 +0000
Message-ID: <03A8E301-74F8-4BD3-9A89-7F08A96B108D@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <fc8e8f1d2d8dbefffd28f6ff1dff600094be8182.1677079672.git.jens.wiklander@linaro.org>
 <55C1E9E3-1515-40BD-8C9B-93564A2B4421@arm.com>
 <CAHUa44HyQv0f=eaMS9McpzsMAT_xrOOs8HynV7bq+WnjE5CqxA@mail.gmail.com>
In-Reply-To:
 <CAHUa44HyQv0f=eaMS9McpzsMAT_xrOOs8HynV7bq+WnjE5CqxA@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.3731.400.51.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_|AS8PR08MB7767:EE_|DBAEUR03FT042:EE_|DU0PR08MB7390:EE_
X-MS-Office365-Filtering-Correlation-Id: 1b489527-38ed-4956-c4a6-08db1bee39ee
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:
 sD3yZO3YmjDzoEZF4KRCvhDBifSCybTWWGPP/JTo9R4VoEpi+nxP5Qb0r8r5fKkbhamn5TOmHf2JzHcVdbOAV1tDvCIp+65E5sSP42ZCJlArpK2s5yqACsc7gBwCsw7RD8Mbo/mlZd4mIKsoKGpdlIA/0siHhWtZqAi4PxNn7wi7enyxbgbbcWKUyNWmzYJZTmXJD//t1GUP6DQnMOyLDwaONUkdR7m7tEx1Cd92NVpnb2goVjs93gnKxiCEIjsl5qYuBbitc0qzbd3S64JS+XgQntPrZYI8QTifcx7pECbzgawbKjVCWdrsohg8MYj71dw8ekqLdcflD4EVaUFpVIWMdngVzT3yW1YMaHYenB9Y1UJf+S6d8vuBBw1UcZBRvqh4WgjCMJAhgpgNO9y8OV917nxV2O9rXGOHcxE3WJwAQJqqkaf/XMH3Z/L7Rw1rThxDjfhoSP8webHbbUUK5Zv9mjRtoDr1s14EXxzMt93NrZaBuLwCkFbo3E6h8F89ejGbElslISUIrVz24JoqEy+3hDaMlTn668Ha5A2fmt+9MB2c2FAiLmY68OKiH0TnCIV5DRUwu98tKcit0e1CgnjcW5AVBeTtgeqXQp6WhJuJpdOr8b6v7pooxSCZlhA639Ja/bDMRumwfagN/kpLXQrKxGOcKTnyPYHAvNc57OMgrVkKi+1ljWt75DIUF1fIEpIp+DIkQXy7DUb8EmJLK33xOlASfV5J0nBbmrF14jQ=
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:(13230025)(4636009)(346002)(39860400002)(136003)(376002)(396003)(366004)(451199018)(36756003)(71200400001)(186003)(66556008)(6506007)(76116006)(2616005)(6486002)(6512007)(66446008)(41300700001)(91956017)(316002)(54906003)(6916009)(4326008)(26005)(2906002)(8676002)(66476007)(64756008)(8936002)(5660300002)(478600001)(53546011)(122000001)(33656002)(38100700002)(38070700005)(66946007)(86362001)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <6960E7006274C547A6DD2E1F4C186D27@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7767
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:
 DBAEUR03FT042.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a06dccbf-7a85-41c7-ac1c-08db1bee31d7
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JxvQjXXer0ECMHUq0GmiqVEGRWN1wFdBPr3VO5LjELP9NkTk2d358GYO7wYoesBSmkKefgzBo1Tjclr9pG2utCzfjDuND2FHJviSUuCm8LhucZVNxoxnC+KXDGkpBe6LRIO/Z1aHgbhcUJW0A/6ydqCumSN5gscrMHcTCJEqJ+TKvCe/M/uw1OotthB6Rx/fYvq8YefWikBTzGKjpa58rzjvv9Usn1GZAjx3Z/xOQJcOiwU/m9pIKULA7uKzujhTs0C0u0cs4T9fDscLfwgSUuP3EKfWzaqmzoI+qmx2g0huH/n92Lqd2kLYb3ew5lTovUQp+J8AXgve8VksJ/R/iVFaHwfAZsbGwjEN7JMYv0KE0zd5Xy4OVk621V79nh2qUX/A5gYldRSC2NGshlIMPvNDIXVR3olZuMLKWjdCBRTYKz4jEuMLeTH+L0qQxWBumrcUsnUw4rRC4w6BNGtABqm0hLdJpeRC4yiMeZgj71QWHH+kuOMMGmTxQKza9xxl1xt/+jivDISGyrllwNnVYULVLxIHOOaWZygTcJbKAPEYvOF0x9Ya0DwDA2W2ZObf+RivKXUrK4TXwM0opX3SGuemKJaS61pvj2GvpzYiVZPARagyiw0c5MgfNA7KR4l0cGd34XzD/x/mXLjbpMnsNHuRUDoS+IcPOb4kSGX8QcikQ4jmg1gfidsW9lYeaSGVNxxatdyp4Rge6Q1qqfkH3g==
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:(13230025)(4636009)(39860400002)(346002)(136003)(376002)(396003)(451199018)(36840700001)(40470700004)(46966006)(82740400003)(82310400005)(5660300002)(81166007)(6862004)(41300700001)(8936002)(54906003)(2616005)(36860700001)(8676002)(4326008)(83380400001)(2906002)(186003)(47076005)(70206006)(70586007)(336012)(316002)(6486002)(86362001)(478600001)(40460700003)(36756003)(6506007)(40480700001)(356005)(26005)(6512007)(53546011)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 13:50:19.1172
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b489527-38ed-4956-c4a6-08db1bee39ee
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:
	DBAEUR03FT042.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7390

DQoNCj4gT24gMyBNYXIgMjAyMywgYXQgMTQ6MTcsIEplbnMgV2lrbGFuZGVyIDxqZW5zLndpa2xh
bmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpIEJlcnRyYW5kLA0KPiANCj4gT24gRnJp
LCBNYXIgMywgMjAyMyBhdCAxMDo1MeKAr0FNIEJlcnRyYW5kIE1hcnF1aXMNCj4gPEJlcnRyYW5k
Lk1hcnF1aXNAYXJtLmNvbT4gd3JvdGU6DQo+PiANCj4+IEhpIEplbnMsDQo+PiANCj4+PiBPbiAy
MiBGZWIgMjAyMywgYXQgMTY6MzMsIEplbnMgV2lrbGFuZGVyIDxqZW5zLndpa2xhbmRlckBsaW5h
cm8ub3JnPiB3cm90ZToNCj4+PiANCj4+PiBBZGRzIHN1cHBvcnQgaW4gdGhlIG1lZGlhdG9yIHRv
IGhhbmRsZSBGRkFfUEFSVElUSU9OX0lORk9fR0VUIHJlcXVlc3RzDQo+Pj4gZnJvbSBhIGd1ZXN0
LiBUaGUgcmVxdWVzdHMgYXJlIGZvcndhcmRlZCB0byB0aGUgU1BNQyBhbmQgdGhlIHJlc3BvbnNl
IGlzDQo+Pj4gdHJhbnNsYXRlZCBhY2NvcmRpbmcgdG8gdGhlIEZGLUEgdmVyc2lvbiBpbiB1c2Ug
YnkgdGhlIGd1ZXN0Lg0KPj4+IA0KPj4+IFVzaW5nIEZGQV9QQVJUSVRJT05fSU5GT19HRVQgY2hh
bmdlcyB0aGUgb3duZXIgb2YgdGhlIFJYIGJ1ZmZlciB0byB0aGUNCj4+PiBjYWxsZXIgKHRoZSBn
dWVzdCBpbiB0aGlzIGNhc2UpLCBzbyBvbmNlIGl0IGlzIGRvbmUgd2l0aCB0aGUgYnVmZmVyIGl0
DQo+Pj4gbXVzdCBiZSByZWxlYXNlZCB1c2luZyBGRkFfUlhfUkVMRUFTRSBiZWZvcmUgYW5vdGhl
ciBjYWxsIGNhbiBiZSBtYWRlLg0KPj4+IA0KPj4+IFNpZ25lZC1vZmYtYnk6IEplbnMgV2lrbGFu
ZGVyIDxqZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPg0KPj4+IC0tLQ0KPj4+IHhlbi9hcmNoL2Fy
bS90ZWUvZmZhLmMgfCAxMjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
Ky0NCj4+PiAxIGZpbGUgY2hhbmdlZCwgMTI0IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p
DQo+Pj4gDQo+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS90ZWUvZmZhLmMgYi94ZW4vYXJj
aC9hcm0vdGVlL2ZmYS5jDQo+Pj4gaW5kZXggOTUzYjZkZmQ1ZWNhLi4zNTcxODE3YzBiY2QgMTAw
NjQ0DQo+Pj4gLS0tIGEveGVuL2FyY2gvYXJtL3RlZS9mZmEuYw0KPj4+ICsrKyBiL3hlbi9hcmNo
L2FybS90ZWUvZmZhLmMNCj4+PiBAQCAtMTQxLDYgKzE0MSwxMiBAQA0KPj4+ICNkZWZpbmUgRkZB
X01TR19QT0xMICAgICAgICAgICAgICAgICAgICAweDg0MDAwMDZBVQ0KPj4+IA0KPj4+IC8qIFBh
cnRpdGlvbiBpbmZvcm1hdGlvbiBkZXNjcmlwdG9yICovDQo+Pj4gK3N0cnVjdCBmZmFfcGFydGl0
aW9uX2luZm9fMV8wIHsNCj4+PiArICAgIHVpbnQxNl90IGlkOw0KPj4+ICsgICAgdWludDE2X3Qg
ZXhlY3V0aW9uX2NvbnRleHQ7DQo+Pj4gKyAgICB1aW50MzJfdCBwYXJ0aXRpb25fcHJvcGVydGll
czsNCj4+PiArfTsNCj4+PiArDQo+Pj4gc3RydWN0IGZmYV9wYXJ0aXRpb25faW5mb18xXzEgew0K
Pj4+ICAgIHVpbnQxNl90IGlkOw0KPj4+ICAgIHVpbnQxNl90IGV4ZWN1dGlvbl9jb250ZXh0Ow0K
Pj4+IEBAIC0xNTcsOSArMTYzLDggQEAgc3RydWN0IGZmYV9jdHggew0KPj4+ICAgIHVpbnQzMl90
IGd1ZXN0X3ZlcnM7DQo+Pj4gICAgYm9vbCB0eF9pc19taW5lOw0KPj4+ICAgIGJvb2wgaW50ZXJy
dXB0ZWQ7DQo+Pj4gKyAgICBzcGlubG9ja190IGxvY2s7DQo+Pj4gfTsNCj4+PiAtDQo+Pj4gLQ0K
Pj4gDQo+PiBUaGlzIGlzIHJlbW92aW5nIDIgZW1wdHkgbGluZXMgKHByZXZpb3VzIHBhdGNoIHdh
cyB3cm9uZ2x5IGFkZGluZyBvbmUpDQo+PiBidXQgb25lIGVtcHR5IGxpbmUgaXMgcmVxdWlyZWQg
aGVyZS4NCj4gDQo+IEknbGwgZml4IGl0Lg0KPiANCj4+IA0KPj4+IC8qIE5lZ290aWF0ZWQgRkYt
QSB2ZXJzaW9uIHRvIHVzZSB3aXRoIHRoZSBTUE1DICovDQo+Pj4gc3RhdGljIHVpbnQzMl90IGZm
YV92ZXJzaW9uIF9fcm9fYWZ0ZXJfaW5pdDsNCj4+PiANCj4+PiBAQCAtMTczLDEwICsxNzgsMTYg
QEAgc3RhdGljIHVuc2lnbmVkIGludCBzdWJzY3Jfdm1fZGVzdHJveWVkX2NvdW50IF9fcmVhZF9t
b3N0bHk7DQo+Pj4gKiBPdXIgcngvdHggYnVmZmVycyBzaGFyZWQgd2l0aCB0aGUgU1BNQy4NCj4+
PiAqDQo+Pj4gKiBmZmFfcGFnZV9jb3VudCBpcyB0aGUgbnVtYmVyIG9mIHBhZ2VzIHVzZWQgaW4g
ZWFjaCBvZiB0aGVzZSBidWZmZXJzLg0KPj4+ICsgKg0KPj4+ICsgKiBUaGUgUlggYnVmZmVyIGlz
IHByb3RlY3RlZCBmcm9tIGNvbmN1cnJlbnQgdXNhZ2Ugd2l0aCBmZmFfcnhfYnVmZmVyX2xvY2su
DQo+Pj4gKyAqIE5vdGUgdGhhdCB0aGUgU1BNQyBpcyBhbHNvIHRyYWNraW5nIHRoZSBvd25lcnNo
aXAgb2Ygb3VyIFJYIGJ1ZmZlciBzbw0KPj4+ICsgKiBmb3IgY2FsbHMgd2hpY2ggdXNlcyBvdXIg
UlggYnVmZmVyIHRvIGRlbGl2ZXIgYSByZXN1bHQgd2UgbXVzdCBjYWxsDQo+Pj4gKyAqIGZmYV9y
eF9yZWxlYXNlKCkgdG8gbGV0IHRoZSBTUE1DIGtub3cgdGhhdCB3ZSdyZSBkb25lIHdpdGggdGhl
IGJ1ZmZlci4NCj4+PiAqLw0KPj4+IHN0YXRpYyB2b2lkICpmZmFfcnggX19yZWFkX21vc3RseTsN
Cj4+PiBzdGF0aWMgdm9pZCAqZmZhX3R4IF9fcmVhZF9tb3N0bHk7DQo+Pj4gc3RhdGljIHVuc2ln
bmVkIGludCBmZmFfcGFnZV9jb3VudCBfX3JlYWRfbW9zdGx5Ow0KPj4+ICtzdGF0aWMgREVGSU5F
X1NQSU5MT0NLKGZmYV9yeF9idWZmZXJfbG9jayk7DQo+Pj4gDQo+Pj4gc3RhdGljIGJvb2wgZmZh
X2dldF92ZXJzaW9uKHVpbnQzMl90ICp2ZXJzKQ0KPj4+IHsNCj4+PiBAQCAtNDYzLDYgKzQ3NCw5
OCBAQCBzdGF0aWMgdWludDMyX3QgaGFuZGxlX3J4dHhfdW5tYXAodm9pZCkNCj4+PiAgICByZXR1
cm4gRkZBX1JFVF9PSzsNCj4+PiB9DQo+Pj4gDQo+Pj4gK3N0YXRpYyB1aW50MzJfdCBoYW5kbGVf
cGFydGl0aW9uX2luZm9fZ2V0KHVpbnQzMl90IHcxLCB1aW50MzJfdCB3MiwgdWludDMyX3QgdzMs
DQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHc0LCB1aW50MzJfdCB3NSwNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdWludDMyX3QgKmNvdW50KQ0KPj4+ICt7DQo+Pj4gKyAgICBib29sIHF1ZXJ5X2Nv
dW50X29ubHkgPSB3NSAmIEZGQV9QQVJUSVRJT05fSU5GT19HRVRfQ09VTlRfRkxBRzsNCj4+PiAr
ICAgIHVpbnQzMl90IHc1X21hc2sgPSAwOw0KPj4+ICsgICAgdWludDMyX3QgcmV0ID0gRkZBX1JF
VF9ERU5JRUQ7DQo+Pj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gY3VycmVudC0+ZG9tYWluOw0K
Pj4+ICsgICAgc3RydWN0IGZmYV9jdHggKmN0eCA9IGQtPmFyY2gudGVlOw0KPj4+ICsNCj4+PiAr
ICAgIC8qDQo+Pj4gKyAgICAgKiBGRi1BIHYxLjAgaGFzIHc1IE1CWiB3aGlsZSB2MS4xIGFsbG93
cw0KPj4+ICsgICAgICogRkZBX1BBUlRJVElPTl9JTkZPX0dFVF9DT1VOVF9GTEFHIHRvIGJlIG5v
bi16ZXJvLg0KPj4+ICsgICAgICovDQo+Pj4gKyAgICBpZiAoIGN0eC0+Z3Vlc3RfdmVycyA9PSBG
RkFfVkVSU0lPTl8xXzEgKQ0KPj4+ICsgICAgICAgIHc1X21hc2sgPSBGRkFfUEFSVElUSU9OX0lO
Rk9fR0VUX0NPVU5UX0ZMQUc7DQo+Pj4gKyAgICBpZiAoIHc1ICYgfnc1X21hc2sgKQ0KPj4+ICsg
ICAgICAgIHJldHVybiBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+PiArDQo+Pj4gKyAg
ICBpZiAoIHF1ZXJ5X2NvdW50X29ubHkgKQ0KPj4+ICsgICAgICAgIHJldHVybiBmZmFfcGFydGl0
aW9uX2luZm9fZ2V0KHcxLCB3MiwgdzMsIHc0LCB3NSwgY291bnQpOw0KPj4gDQo+PiBUaGlzIGNv
ZGUgc2VlbXMgYSBiaXQgdG8gY29tcGxleC4NCj4+IEkgd291bGQgc3VnZ2VzdCB0aGUgZm9sbG93
aW5nOg0KPj4gDQo+PiBpZiAodzUgJiBGRkFfUEFSVElUSU9OX0lORk9fR0VUX0NPVU5UX0ZMQUcp
DQo+PiB7DQo+PiAgICAgaWYgKCBjdHgtPmd1ZXN0X3ZlcnMgPT0gRkZBX1ZFUlNJT05fMV8xICkN
Cj4+ICAgICAgICByZXR1cm4gZmZhX3BhcnRpdGlvbl9pbmZvX2dldCh3MSwgdzIsIHczLCB3NCwg
dzUsIGNvdW50KTsNCj4+ICAgICBlbHNlDQo+PiAgICAgICAgcmV0dXJuIEZGQV9SRVRfSU5WQUxJ
RF9QQVJBTUVURVJTOw0KPj4gfQ0KPiANCj4gT0ssIEkgY2FuIHVzZSB0aGF0LiBJJ2xsIGhhdmUg
dG8gYWRkIGENCj4gaWYgKHc1KQ0KPiAgICByZXR1cm4gRkZBX1JFVF9JTlZBTElEX1BBUkFNRVRF
UlM7DQo+IA0KPiBzaW5jZSB0aGUgcmVzdCBvZiB0aGUgYml0cyBtdXN0IGJlIHplcm8uDQoNCm9r
DQoNCj4gDQo+PiANCj4+PiArDQo+Pj4gKyAgICBpZiAoICFmZmFfcGFnZV9jb3VudCApDQo+Pj4g
KyAgICAgICAgcmV0dXJuIEZGQV9SRVRfREVOSUVEOw0KPj4+ICsNCj4+PiArICAgIHNwaW5fbG9j
aygmY3R4LT5sb2NrKTsNCj4+PiArICAgIHNwaW5fbG9jaygmZmZhX3J4X2J1ZmZlcl9sb2NrKTsN
Cj4+PiArICAgIGlmICggIWN0eC0+cGFnZV9jb3VudCB8fCAhY3R4LT50eF9pc19taW5lICkNCj4+
IA0KPj4gSWYgaSB1bmRlcnN0YW5kIGNvcnJlY3RseSB0eF9pc19taW5lIGlzIHByb3RlY3Rpbmcg
dGhlIGd1ZXN0IHJ4DQo+PiBidWZmZXIgdW50aWwgcnhfcmVsZWFzZSBpcyBjYWxsZWQgYnkgdGhl
IGd1ZXN0IHNvIHRoYXQgd2UgZG8gbm90DQo+PiB3cml0ZSBpbiBpdCBiZWZvcmUgdGhlIGd1ZXN0
IGhhcyByZXRyaWV2ZWQgdGhlIGRhdGEgZnJvbSBpdC4NCj4+IA0KPj4gVGhlIG5hbWUgaXMgdmVy
eSBtaXNsZWFkaW5nLCBtYXliZSByeF9pc193cml0ZWFibGUgb3IgZnJlZSB3b3VsZCBiZSBiZXR0
ZXIgPw0KPiANCj4gVGhlIEZGLUEgc3BlY2lmaWNhdGlvbiB0YWxrcyBhYm91dCBvd25lcnNoaXAg
b2YgdGhlIFRYIGJ1ZmZlciAoZnJvbQ0KPiB0aGUgVk1zIHBvaW50IG9mIHZpZXcpLCBoZW5jZSB0
aGUgbmFtZS4NCj4gSSdsbCBjaGFuZ2UgaXQgdG8gcnhfaXNfZnJlZSB0byBiZSBtb3JlIGludHVp
dGl2ZSB3aXRob3V0IHRoZSBzcGVjLg0KDQpZZXMgYnV0IGluIHRoZSBjb2RlIGl0IGlzIHF1aXRl
IHVuY2xlYXIgc28gYmV0dGVyIHRvIHJlbmFtZSBpdCBoZXJlLg0KDQo+IA0KPj4gDQo+PiBBbHNv
IGl0IHdvdWxkIGJlIG1vcmUgb3B0aW1hbCB0byB0ZXN0IGl0IGJlZm9yZSB0YWtpbmcgZmZhX3J4
X2J1ZmZlcl9sb2NrLg0KPiANCj4gWWVzLCBJJ2xsIGNoYW5nZSB0aGF0Lg0KPiANCj4+IA0KPj4g
DQo+Pj4gKyAgICAgICAgZ290byBvdXQ7DQo+Pj4gKyAgICByZXQgPSBmZmFfcGFydGl0aW9uX2lu
Zm9fZ2V0KHcxLCB3MiwgdzMsIHc0LCB3NSwgY291bnQpOw0KPj4+ICsgICAgaWYgKCByZXQgKQ0K
Pj4+ICsgICAgICAgIGdvdG8gb3V0Ow0KPj4+ICsNCj4+PiArICAgIGlmICggY3R4LT5ndWVzdF92
ZXJzID09IEZGQV9WRVJTSU9OXzFfMCApDQo+Pj4gKyAgICB7DQo+Pj4gKyAgICAgICAgc2l6ZV90
IG47DQo+Pj4gKyAgICAgICAgc3RydWN0IGZmYV9wYXJ0aXRpb25faW5mb18xXzEgKnNyYyA9IGZm
YV9yeDsNCj4+PiArICAgICAgICBzdHJ1Y3QgZmZhX3BhcnRpdGlvbl9pbmZvXzFfMCAqZHN0ID0g
Y3R4LT5yeDsNCj4+PiArDQo+Pj4gKyAgICAgICAgaWYgKCBjdHgtPnBhZ2VfY291bnQgKiBGRkFf
UEFHRV9TSVpFIDwgKmNvdW50ICogc2l6ZW9mKCpkc3QpICkNCj4+PiArICAgICAgICB7DQo+Pj4g
KyAgICAgICAgICAgIHJldCA9IEZGQV9SRVRfTk9fTUVNT1JZOw0KPj4+ICsgICAgICAgICAgICBn
b3RvIG91dF9yeF9yZWxlYXNlOw0KPj4+ICsgICAgICAgIH0NCj4+PiArDQo+Pj4gKyAgICAgICAg
Zm9yICggbiA9IDA7IG4gPCAqY291bnQ7IG4rKyApDQo+Pj4gKyAgICAgICAgew0KPj4+ICsgICAg
ICAgICAgICBkc3Rbbl0uaWQgPSBzcmNbbl0uaWQ7DQo+Pj4gKyAgICAgICAgICAgIGRzdFtuXS5l
eGVjdXRpb25fY29udGV4dCA9IHNyY1tuXS5leGVjdXRpb25fY29udGV4dDsNCj4+PiArICAgICAg
ICAgICAgZHN0W25dLnBhcnRpdGlvbl9wcm9wZXJ0aWVzID0gc3JjW25dLnBhcnRpdGlvbl9wcm9w
ZXJ0aWVzOw0KPj4+ICsgICAgICAgIH0NCj4+PiArICAgIH0NCj4+PiArICAgIGVsc2UNCj4+PiAr
ICAgIHsNCj4+PiArICAgICAgICBzaXplX3Qgc3ogPSAqY291bnQgKiBzaXplb2Yoc3RydWN0IGZm
YV9wYXJ0aXRpb25faW5mb18xXzEpOw0KPj4+ICsNCj4+PiArICAgICAgICBpZiAoIGN0eC0+cGFn
ZV9jb3VudCAqIEZGQV9QQUdFX1NJWkUgPCBzeiApDQo+Pj4gKyAgICAgICAgew0KPj4+ICsgICAg
ICAgICAgICByZXQgPSBGRkFfUkVUX05PX01FTU9SWTsNCj4+PiArICAgICAgICAgICAgZ290byBv
dXRfcnhfcmVsZWFzZTsNCj4+PiArICAgICAgICB9DQo+Pj4gKw0KPj4+ICsNCj4+PiArICAgICAg
ICBtZW1jcHkoY3R4LT5yeCwgZmZhX3J4LCBzeik7DQo+Pj4gKyAgICB9DQo+Pj4gKyAgICBjdHgt
PnR4X2lzX21pbmUgPSBmYWxzZTsNCj4+IA0KPj4gYXQgdGhpcyBwb2ludCB3ZSBoYXZlIG5vIHJl
YXNvbiB0byBob2xkIGN0eC0+bG9jaw0KPiANCj4gY3R4LT5sb2NrIGlzIHNwZWNpYWwsIHdlJ3Jl
IG5ldmVyIHN1cHBvc2VkIHRvIGhhdmUgY29udGVudGlvbiBvbiB0aGF0DQo+IGxvY2suIEkgYmVs
aWV2ZSB0aGF0IHdlIGluIHByaW5jaXBsZSBjb3VsZCB1c2Ugc3Bpbl90cnlsb2NrKCkgaW5zdGVh
ZA0KPiBhbmQgcmV0dXJuIEZGQV9SRVRfQlVTWSBpZiBpdCBmYWlscywgYnV0IHRoYXQgbWlnaHQg
YmUgYSBiaXQgdG9vIG11Y2guDQo+IFRoZSBWTSBpcyBzdXBwb3NlZCB0byBzeW5jaHJvbml6ZSBj
YWxscyB0aGF0IHVzZSB0aGUgUlhUWCBidWZmZXJzLiBTbw0KPiB1bmxvY2tpbmcgY3R4LT5sb2Nr
IGVhcmx5IHNob3VsZCBnaXZlIG5vdGhpbmcgZm9yIHdlbGwtYmVoYXZpbmcNCj4gZ3Vlc3RzLCBJ
J2QgcHJlZmVyIHRvIGtlZXAgdGhpbmdzIHNpbXBsZSBhbmQgdW5sb2NrIGluIHJldmVyc2Ugb3Jk
ZXINCj4gaWYgeW91IGRvbid0IG1pbmQuIEknbGwgYWRkIGEgY29tbWVudC4NCg0KUGxlYXNlIGFk
ZCBhIGNvbW1lbnQgYW5kIGEgVE9ETyBhcyB3ZSBoYXZlIHZlcnkgYmlnIGxvY2tlZCBzZWN0aW9u
cw0KaGVyZSBhbmQgeGVuIGlzIG5vdCBwcmVlbXB0aWJsZSBzbyBoYXZpbmcgc29tZW9uZSBibG9j
a2VkIGhlcmUgYnkgYW4NCm90aGVyIGNvcmUgZG9pbmcgc29tZXRoaW5nIGlzIGEgY29uY2Vybi4N
Cg0KSWYgaXQgaXMgZXhwZWN0ZWQgdGhhdCBhIFZNIHNob3VsZCBzeW5jaHJvbml6ZSBjYWxscyB0
aGVuIHdlIG1pZ2h0IHdhbnQgdG8NCnN3aXRjaCB0aGUgY3R4IGxvY2sgdG8gdXNlIHRyeWxvY2sg
YW5kIHJldHVybiBidXN5Lg0KDQo+IA0KPj4gDQo+Pj4gK291dF9yeF9yZWxlYXNlOg0KPj4+ICsg
ICAgZmZhX3J4X3JlbGVhc2UoKTsNCj4+IA0KPj4gVGhlcmUgc2hvdWxkIGJlIG5vIGNhc2Ugd2hl
cmUgZG8gcmVsZWFzZSB3aXRob3V0IHVubG9ja2luZy4NCj4+IA0KPj4gSXQgbWlnaHQgYmUgY2xl
YW5lciB0byBoYXZlIDIgZnVuY3Rpb25zIGZmYV9yeF9nZXQgYW5kIGZmYV9yeF9yZWxlYXNlDQo+
PiBoYW5kbGluZyBib3RoIHRoZSBsb2NrIGFuZCB0aGUgcnhfcmVsZWFzZSBtZXNzYWdlLg0KPiAN
Cj4gSSdkIGxpa2UgdG8ga2VlcCBmZmFfcnhfcmVsZWFzZSgpIGFzIGEgZHVtYiB3cmFwcGVyLiBm
ZmFfcnhfcmVsZWFzZSgpDQo+IGlzIGFsc28gdXNlZCBpbiBpbml0X3N1YnNjcmliZXJzKCkgIHdo
ZXJlIHdlIGRvbid0IHVzZSBhbnkgbG9ja3MuDQo+IGZmYV9yeF9yZWxlYXNlKCkgaXMgY2FsbGVk
IGFmdGVyIGEgc3VjY2Vzc2Z1bCBjYWxsIHRvDQo+IGZmYV9wYXJ0aXRpb25faW5mb19nZXQoKSB3
aGVyZSB3ZSBhbHNvIGdhaW5lZCBvd25lcnNoaXAgb2Ygb3VyIFJYDQo+IGJ1ZmZlci4gVGhpbmdz
IG1pZ2h0IGJlIGEgYml0IHRvbyBpbnRlcnR3aW5lZCBmb3IgZnVydGhlciBhYnN0cmFjdGlvbi4N
Cj4gSSdsbCBhZGQgYSBjb21tZW50IGV4cGxhaW5pbmcgdGhlIHJlbGF0aW9uc2hpcCBiZXR3ZWVu
DQo+IGZmYV9wYXJ0aXRpb25faW5mb19nZXQoKSBhbmQgZmZhX3J4X3JlbGVhc2UoKS4NCg0KVGhh
dCB3b3VsZCBub3QgY3JlYXRlIGFueSBwcm9ibGVtIHRvIHRha2UgdGhlIGxvY2sgd2hlcmUgaXQg
aXMgbm90DQpkb25lIGFscmVhZHkgYW5kIHdvdWxkIG1ha2UgdGhlIGltcGxlbWVuYXRpb24gYSBi
aXQgbW9yZSByb2J1c3QuDQoNCklmIGF0IHNvbWUgcG9pbnQgc29tZSBGRkEgc2VydmljZXMgYXJl
IHVzZWQgaW4gZGlmZmVyZW50IGNvcmVzIGR1cmluZw0KdGhlIGJvb3QgcGhhc2UsIGl0IG1pZ2h0
IG1ha2Ugc2Vuc2UgdG8gdGFrZSB0aGUgbG9jayBldmVuIGlmIHdlIGFyZSBpbiANCnNpdHVhdGlv
bnMgd2hlcmUgdGhlcmUgc2hvdWxkIGJlIG5vIGNvbmN1cnJlbmN5IGp1c3QgdG8gbWFrZSB0aGUg
Y29kZQ0Kc2FmZXIuDQoNClBsZWFzZSB0ZWxsIG1lIHdoYXQgeW91IHRoaW5rIGhlcmUuDQoNCj4g
DQo+PiANCj4+PiArb3V0Og0KPj4+ICsgICAgc3Bpbl91bmxvY2soJmZmYV9yeF9idWZmZXJfbG9j
ayk7DQo+PiANCj4+IHRoaXMgc2hvdWxkIHN0YXkgd2l0aCBmZmFfcnhfcmVsZWFzZQ0KPiANCj4g
RGVwZW5kaW5nIG9uIGlmIHlvdSBhY2NlcHQgbXkgZXhwbGFuYXRpb24gYWJvdmUuDQoNCg0KQ2hl
ZXJzDQpCZXJ0cmFuZA0KDQo+IA0KPiBUaGFua3MsDQo+IEplbnMNCj4gDQo+PiANCj4+IENoZWVy
cw0KPj4gQmVydHJhbmQNCj4+IA0KPj4+ICsgICAgc3Bpbl91bmxvY2soJmN0eC0+bG9jayk7DQo+
Pj4gKw0KPj4+ICsgICAgcmV0dXJuIHJldDsNCj4+PiArfQ0KPj4+ICsNCj4+PiArc3RhdGljIHVp
bnQzMl90IGhhbmRsZV9yeF9yZWxlYXNlKHZvaWQpDQo+Pj4gK3sNCj4+PiArICAgIHVpbnQzMl90
IHJldCA9IEZGQV9SRVRfREVOSUVEOw0KPj4+ICsgICAgc3RydWN0IGRvbWFpbiAqZCA9IGN1cnJl
bnQtPmRvbWFpbjsNCj4+PiArICAgIHN0cnVjdCBmZmFfY3R4ICpjdHggPSBkLT5hcmNoLnRlZTsN
Cj4+PiArDQo+Pj4gKyAgICBzcGluX2xvY2soJmN0eC0+bG9jayk7DQo+Pj4gKyAgICBpZiAoICFj
dHgtPnBhZ2VfY291bnQgfHwgY3R4LT50eF9pc19taW5lICkNCj4+PiArICAgICAgICBnb3RvIG91
dDsNCj4+PiArICAgIHJldCA9IEZGQV9SRVRfT0s7DQo+Pj4gKyAgICBjdHgtPnR4X2lzX21pbmUg
PSB0cnVlOw0KPj4+ICtvdXQ6DQo+Pj4gKyAgICBzcGluX3VubG9jaygmY3R4LT5sb2NrKTsNCj4+
PiArDQo+Pj4gKyAgICByZXR1cm4gcmV0Ow0KPj4+ICt9DQo+Pj4gKw0KPj4+IHN0YXRpYyB2b2lk
IGhhbmRsZV9tc2dfc2VuZF9kaXJlY3RfcmVxKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCB1
aW50MzJfdCBmaWQpDQo+Pj4gew0KPj4+ICAgIHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MgYXJn
ID0geyAuYTAgPSBmaWQsIH07DQo+Pj4gQEAgLTUyOCw2ICs2MzEsNyBAQCBzdGF0aWMgYm9vbCBm
ZmFfaGFuZGxlX2NhbGwoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+Pj4gICAgdWludDMy
X3QgZmlkID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDApOw0KPj4+ICAgIHN0cnVjdCBkb21haW4gKmQg
PSBjdXJyZW50LT5kb21haW47DQo+Pj4gICAgc3RydWN0IGZmYV9jdHggKmN0eCA9IGQtPmFyY2gu
dGVlOw0KPj4+ICsgICAgdWludDMyX3QgY291bnQ7DQo+Pj4gICAgaW50IGU7DQo+Pj4gDQo+Pj4g
ICAgaWYgKCAhY3R4ICkNCj4+PiBAQCAtNTU5LDYgKzY2MywyNCBAQCBzdGF0aWMgYm9vbCBmZmFf
aGFuZGxlX2NhbGwoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+Pj4gICAgICAgIGVsc2UN
Cj4+PiAgICAgICAgICAgIHNldF9yZWdzX3N1Y2Nlc3MocmVncywgMCwgMCk7DQo+Pj4gICAgICAg
IHJldHVybiB0cnVlOw0KPj4+ICsgICAgY2FzZSBGRkFfUEFSVElUSU9OX0lORk9fR0VUOg0KPj4+
ICsgICAgICAgIGUgPSBoYW5kbGVfcGFydGl0aW9uX2luZm9fZ2V0KGdldF91c2VyX3JlZyhyZWdz
LCAxKSwNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfdXNl
cl9yZWcocmVncywgMiksDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ2V0X3VzZXJfcmVnKHJlZ3MsIDMpLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGdldF91c2VyX3JlZyhyZWdzLCA0KSwNCj4+PiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBnZXRfdXNlcl9yZWcocmVncywgNSksICZjb3VudCk7DQo+
Pj4gKyAgICAgICAgaWYgKCBlICkNCj4+PiArICAgICAgICAgICAgc2V0X3JlZ3NfZXJyb3IocmVn
cywgZSk7DQo+Pj4gKyAgICAgICAgZWxzZQ0KPj4+ICsgICAgICAgICAgICBzZXRfcmVnc19zdWNj
ZXNzKHJlZ3MsIGNvdW50LCAwKTsNCj4+PiArICAgICAgICByZXR1cm4gdHJ1ZTsNCj4+PiArICAg
IGNhc2UgRkZBX1JYX1JFTEVBU0U6DQo+Pj4gKyAgICAgICAgZSA9IGhhbmRsZV9yeF9yZWxlYXNl
KCk7DQo+Pj4gKyAgICAgICAgaWYgKCBlICkNCj4+PiArICAgICAgICAgICAgc2V0X3JlZ3NfZXJy
b3IocmVncywgZSk7DQo+Pj4gKyAgICAgICAgZWxzZQ0KPj4+ICsgICAgICAgICAgICBzZXRfcmVn
c19zdWNjZXNzKHJlZ3MsIDAsIDApOw0KPj4+ICsgICAgICAgIHJldHVybiB0cnVlOw0KPj4+ICAg
IGNhc2UgRkZBX01TR19TRU5EX0RJUkVDVF9SRVFfMzI6DQo+Pj4gI2lmZGVmIENPTkZJR19BUk1f
NjQNCj4+PiAgICBjYXNlIEZGQV9NU0dfU0VORF9ESVJFQ1RfUkVRXzY0Og0KPj4+IC0tDQo+Pj4g
Mi4zNC4xDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 14:20:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 14:20:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506040.779056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY6GY-0000hS-LB; Fri, 03 Mar 2023 14:20:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506040.779056; Fri, 03 Mar 2023 14: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 1pY6GY-0000hL-IS; Fri, 03 Mar 2023 14:20:10 +0000
Received: by outflank-mailman (input) for mailman id 506040;
 Fri, 03 Mar 2023 14: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=k/yG=63=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pY6GX-0000hF-4H
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 14:20:09 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0616.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e71e721-b9ce-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 15:20:06 +0100 (CET)
Received: from DUZPR01CA0172.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b3::29) by AS2PR08MB9593.eurprd08.prod.outlook.com
 (2603:10a6:20b:60b::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.20; Fri, 3 Mar
 2023 14:20:03 +0000
Received: from DBAEUR03FT039.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4b3:cafe::54) by DUZPR01CA0172.outlook.office365.com
 (2603:10a6:10:4b3::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21 via Frontend
 Transport; Fri, 3 Mar 2023 14:20:03 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT039.mail.protection.outlook.com (100.127.142.225) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.22 via Frontend Transport; Fri, 3 Mar 2023 14:20:03 +0000
Received: ("Tessian outbound cfb430c87a1e:v135");
 Fri, 03 Mar 2023 14:20:03 +0000
Received: from fd5389dd0473.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 869A489C-9B68-496C-B7C8-060E43B4676D.1; 
 Fri, 03 Mar 2023 14:19:52 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fd5389dd0473.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 03 Mar 2023 14:19:52 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DU0PR08MB8979.eurprd08.prod.outlook.com (2603:10a6:10:467::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.20; Fri, 3 Mar
 2023 14:19:49 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%6]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 14:19:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7e71e721-b9ce-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I/nfgQNE5RWrj8gL81hvAMn6diiT/LRPKm+I969EdfU=;
 b=NltBNjkikSvCpRjsY/iKsYX4XTCbdRr+/KeMLiQA6OCvKZ0NL06gIjo/B8XEAgNwCHPyiNwkeL/PMKFUgVX0DzXl+JikpflivyhjyRkN+ekaRkts3R2Hb/G1O47RS+VMZhL08kgLS2nU8yYWhJemQZpVP80TXQuuFrLIgH4Jt0E=
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: f6ff7a58ae96db2f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V13RQ9oBlXQTbS5QOZZFweUTCRXwoPjXC00t0nVNSwmE5WPr3RAeDJ25wdQ2bm7jmol38fjvA6vdBCH78F+w655kpL1YZje00P3AfMj1EAfbnCm3fhPbi9k7whsF8pSBLfzgpCvlCon634z8WMOkicrhvSb18eXmirGp+vCVmZck9tStv5rU59zV+qxQQz/oOMkA6lG3Lavtl7s82yd9ONFi+GPYMLKP+De/SPg++f0tGlo1IdEbSGijagrvD1WS/C74jtLKwQqx+4wgWBkB0BScII2gdK0SOfykqHDbc+qufj8B4Ea4Yij6Bsf67uvbjSFpkcs7ThsG061LBG676w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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/nfgQNE5RWrj8gL81hvAMn6diiT/LRPKm+I969EdfU=;
 b=I1zsHZbwBH481l68OBGmUHCXq6927IkWH1IUEq89gC56WEMUptY99RCdPfA4fIXu6aUMU4rR/HjC19+to5+Pa7puAE4T0yT/u9q2nqg8GGPgT2y2/2BDXgsDQgOqtp+wsLrE1Q2QEFb57n5xVOdbOs1EheWSEfOV2q8IkXDd22LfBTGTpo+J8OpE42U1R35d4JwLt5UKv2gH8Yaq7cO+2i584IIs8Ej5KqQYQzSFoALx9p/VLqX3G18n4PBZWNxq+p/aSagpkzfs3E64nFzFePrXB3o7gNtr0i8IeUT1hvbAQaWkccbwxn9kMcwsnKcJfW6iDKi7GVaq7WIaYzHHaw==
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=I/nfgQNE5RWrj8gL81hvAMn6diiT/LRPKm+I969EdfU=;
 b=NltBNjkikSvCpRjsY/iKsYX4XTCbdRr+/KeMLiQA6OCvKZ0NL06gIjo/B8XEAgNwCHPyiNwkeL/PMKFUgVX0DzXl+JikpflivyhjyRkN+ekaRkts3R2Hb/G1O47RS+VMZhL08kgLS2nU8yYWhJemQZpVP80TXQuuFrLIgH4Jt0E=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 17/20] xen/arm: ffa: add ABI structs for sharing
 memory
Thread-Topic: [XEN PATCH v7 17/20] xen/arm: ffa: add ABI structs for sharing
 memory
Thread-Index: AQHZRtMeHT5ldak5gkyWq0YjrVZrQ67pKLkA
Date: Fri, 3 Mar 2023 14:19:49 +0000
Message-ID: <171822A4-1150-4A35-94AD-52879B1B7EF0@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <50da283fe4a91820a818d13db4ce50fd8414580a.1677079672.git.jens.wiklander@linaro.org>
In-Reply-To:
 <50da283fe4a91820a818d13db4ce50fd8414580a.1677079672.git.jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|DU0PR08MB8979:EE_|DBAEUR03FT039:EE_|AS2PR08MB9593:EE_
X-MS-Office365-Filtering-Correlation-Id: 027539c6-cfe3-4e41-8387-08db1bf26189
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:
 Fyr4lIMHxR3OMceae0Do9Cekoj0c+7LiLqpGj49F/4pdKwtOCZMKxZrhTmPUJtTjoexTWxW25/H4xypScSUFQAE8zovtg7C3rkHpwahEde70SJnl5KmhtNtGuxcaX7EtW8RKIfN2NJabbvC/RQA4l5CP2co9wNis3x7qD1kVyaFkwo7aAIo2PUFld9U2ZCUDj8rYy7L7pwj7QzqwQQgTbq4TL8hs/TxZUy0syi84sCVroPjvu7dLgp22EwsUeq+rpQpAaou4uWdvJbi09fa5RFLzQpKMWzXZ5HsbY+kS9RTCjPfIRxTY2vdZZ1KEG3ocJXucTeq/SyDe22+M7XWdw4wvR2x/pROrv3YPM3hs38x+ENvK7S0z5G+J0d1TVg7MVijW00+DqFxW5YWCUUCTvghJHU/L1r2AcUukrjxzbL9Lkuc13xZRBZP4r0lO/HqXyaZ3vyXM7RLqr/04Vh7FUrWUqMYgulnPnbRQplygFBy1YjtTctIiUBKnjCjIYPObgWutXdK/4cCCfo9EMo+1hq71hSUl6sO+oFQOCPEYbH2UUOeV+LGl6hcWtP8KP+0/w0jRVDgUEoEPPDmaCSPz8aVg9tx146Dzj+da44bS3I5uIuqomezNDS7hhw2QvTkX7wsrIP5NCait65gcmpZxM2S/XhuAyAPCHGYE1A6RynBulSj/DgwF7X+pTDfqVtKM084oL7Hppfc1HPAZqLzIdhbnIJ0AyLORBnxU03Uhhjc=
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:(13230025)(4636009)(136003)(346002)(366004)(376002)(396003)(39860400002)(451199018)(6512007)(91956017)(66446008)(83380400001)(4326008)(8676002)(6916009)(66556008)(66476007)(64756008)(66946007)(86362001)(2616005)(38100700002)(122000001)(186003)(26005)(38070700005)(36756003)(54906003)(316002)(53546011)(76116006)(33656002)(71200400001)(6506007)(478600001)(6486002)(5660300002)(2906002)(41300700001)(8936002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <0FE472E37426E4419699A9BAA3C01647@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8979
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:
 DBAEUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5330dc3e-1a0b-4d74-6636-08db1bf258f9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XzqHLXJFQYpxgNG7lPOF5F0e4rClXCfvKU/l0sCjirRCYBDQwWWyvT4NUyfOn3FTn7zcfdSPJ3Nj1hO1OXNlYQJG4Dtcmc8eEZSVMF9iQjzWdk6+PBsTRNjoBNloK2wCwr/95KLPRDqFvmH+Py0z/02yAoLW1NDcb/ZqA6hak+KyF8+FqO5ruPBD/RAspUJw9XZHaJoAo21Np9PjB2Y7QV4kFsiOOCEGZcfmSwE95SrGqfMuR8w6SIPr7sG21mysdST+YdMvXuS2VcVet6nlwC3Rvc1C54oYTLN1bvzZrpqJ1TUapEJV6ZsVZM4yyFjk2oXW++zsynpu6F4bvR5+ON35ZwT8VKDX5t3ATjEXYWZqsiV8fSMaEftn9hWZWNQPic931BsW7yufGUH96PSjzumKVZGrBo76eGeW4yhfXykoG6Pg0yxJ0eqqextHBdpUQzgMELvFC4Q1Sc+CGwHavNUKvJLDZWKY+QXzCVjdEFfAzvCBlFbJvLbVA+f267xptVhc/d1HqzYsP0vizD2iLi5wTGAJRDXeo09sCYD8OtDr0kvuI9X4tN6UVsXC5WiVakvhYiSoiHU8Bqcbv0D5rSmywk6p2w3d7pfrIN8ILO2v8BKusu4DLJAorF3inGBTnEI3lu4zvgeELpG/PYKPmSr1nkQQf7vStXZm/YoQxgJuVGpi54mSJQUexAmWQMgZbihU3wWnbEpma6d8UjN/CA==
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:(13230025)(4636009)(136003)(346002)(376002)(396003)(39860400002)(451199018)(40470700004)(36840700001)(46966006)(336012)(47076005)(26005)(186003)(2616005)(6486002)(478600001)(316002)(83380400001)(54906003)(6506007)(6512007)(53546011)(70586007)(70206006)(4326008)(8676002)(6862004)(8936002)(41300700001)(36756003)(40460700003)(36860700001)(5660300002)(81166007)(2906002)(82310400005)(33656002)(356005)(86362001)(82740400003)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 14:20:03.5494
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 027539c6-cfe3-4e41-8387-08db1bf26189
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:
	DBAEUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9593

Hi Jens,

> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Adds the ABI structs used by function FFA_MEM_SHARE and friends for
> sharing memory.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

All the structures are coherent with the spec.

Just one small question after but independent if you choose or not to chang=
e the names:
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/tee/ffa.c | 74 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 74 insertions(+)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index bfd378f7fcd7..94c90b252454 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -197,6 +197,11 @@
> #define FFA_MSG_SEND                    0x8400006EU
> #define FFA_MSG_POLL                    0x8400006AU
>=20
> +/*
> + * Structs below ending with _1_0 are defined in FF-A-1.0-REL and
> + * struct ending with _1_1 are defined in FF-A-1.1-REL0.
> + */
> +
> /* Partition information descriptor */
> struct ffa_partition_info_1_0 {
>     uint16_t id;
> @@ -211,6 +216,75 @@ struct ffa_partition_info_1_1 {
>     uint8_t uuid[16];
> };
>=20
> +/* Constituent memory region descriptor */
> +struct ffa_address_range {
> +    uint64_t address;
> +    uint32_t page_count;
> +    uint32_t reserved;
> +};
> +
> +/* Composite memory region descriptor */
> +struct ffa_mem_region {
> +    uint32_t total_page_count;
> +    uint32_t address_range_count;
> +    uint64_t reserved;
> +    struct ffa_address_range address_range_array[];
> +};
> +
> +/* Memory access permissions descriptor */
> +struct ffa_mem_access_perm {
> +    uint16_t endpoint_id;
> +    uint8_t perm;
> +    uint8_t flags;
> +};
> +
> +/* Endpoint memory access descriptor */
> +struct ffa_mem_access {
> +    struct ffa_mem_access_perm access_perm;
> +    uint32_t region_offs;
> +    uint64_t reserved;
> +};
> +
> +/* Lend, donate or share memory transaction descriptor */
> +struct ffa_mem_transaction_1_0 {
> +    uint16_t sender_id;
> +    uint8_t mem_reg_attr;
> +    uint8_t reserved0;
> +    uint32_t flags;
> +    uint64_t global_handle;

Why global ? spec is just saying handle.

> +    uint64_t tag;
> +    uint32_t reserved1;
> +    uint32_t mem_access_count;
> +    struct ffa_mem_access mem_access_array[];
> +};
> +
> +struct ffa_mem_transaction_1_1 {
> +    uint16_t sender_id;
> +    uint16_t mem_reg_attr;
> +    uint32_t flags;
> +    uint64_t global_handle;

Same here

> +    uint64_t tag;
> +    uint32_t mem_access_size;
> +    uint32_t mem_access_count;
> +    uint32_t mem_access_offs;
> +    uint8_t reserved[12];
> +};
> +
> +/* Endpoint RX/TX descriptor */
> +struct ffa_endpoint_rxtx_descriptor_1_0 {
> +    uint16_t sender_id;
> +    uint16_t reserved;
> +    uint32_t rx_range_count;
> +    uint32_t tx_range_count;
> +};
> +
> +struct ffa_endpoint_rxtx_descriptor_1_1 {
> +    uint16_t sender_id;
> +    uint16_t reserved;
> +    uint32_t rx_region_offs;
> +    uint32_t tx_region_offs;
> +};
> +
> struct ffa_ctx {
>     void *rx;
>     const void *tx;
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 14:56:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 14:56:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506054.779065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY6pU-0004zO-Dz; Fri, 03 Mar 2023 14:56:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506054.779065; Fri, 03 Mar 2023 14: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 1pY6pU-0004zH-B6; Fri, 03 Mar 2023 14:56:16 +0000
Received: by outflank-mailman (input) for mailman id 506054;
 Fri, 03 Mar 2023 14: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=csqk=63=citrix.com=prvs=4196fa7ca=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pY6pS-0004zB-EA
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 14:56:15 +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 861f2f6f-b9d3-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 15:56: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: 861f2f6f-b9d3-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677855368;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=JjKDxs+lMN2cc1KImaCocyjtIiKyMAl4MTFa7yCEdFo=;
  b=Fe4R8l/wWcGva6K0aTiNbtF31gHc8JugYG9iKXck6hT3mIL8gXfkmbot
   FzSorYIXNqLif3fx7IeHpkRot3m9J/ORnPW91qZCaalCXk86WZLMbjdvk
   95Kogdz4Q5CMKc1/wsomdft8F2jFPVHcjwfXDYo6DuCaLYX2I+8pSHF1h
   c=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 99260285
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:n3sW+ap6/1r15ojc7ZY2pi9Qq6peBmIbZRIvgKrLsJaIsI4StFCzt
 garIBnQOPaNZmLwc41wYNm1oBhUuJLWyoI1HQI++yFkES5G9ZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzyJNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXABxQQyufiN+O+ZCAaPVzlPx4dO7RBLpK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFOUslWcOSA3xETdxVRrk6VoqwmpXDe1gVr3JDmMcbPe8zMTsJQ9qqdj
 jOXpTqhWEFHXDCZ4SbVrWL3pLDOpC+hd5hDPpe00Nw3pnTGkwT/DzVJDADm8JFVkHWWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8U44gyQzqvf4y6CG3MJCDVGbbQbWNQeHGJwk
 AXTxpWwWGIp6efOIZ6AyluKhR/vFBMJIlI6XA0/bxca8eG4+KYJtiuaG76PD5WJptHyHDjxx
 RWDoy4/m6gfgKY36kmrwbzUq2ny/8aUF2bZ8i2SBzv4tV0hOOZJcqTysTDmAeB8wJF1p7Vrl
 FwNgICg4e8HFvlhfwTdEbxWTNlFCxtoWQAwYGKD/bF7qlxBGFb5J+i8BQ2Sw284WvvogRezP
 CfuVfp5vfe/xkeCY65teJ6WAM8316XmHtmNfqmKMYURMsIpJFDboHoGiausM4fFyhVErE3CE
 c3DLZbE4YgyUsyLMwZat89CiOR2l0jSNEvYRIzhzgTP7FZtTCf9dFvxC3PXNrpRxPrd8G3oH
 yN3a5PiJ+N3DLevPUE6MOc7cTg3EJTMLcqn+pQKLbDcc1MO9aNII6a5/I7NsrdNx8x9/tokN
 FnkMqOE4DITXUH6FDg=
IronPort-HdrOrdr: A9a23:aJPADK9m0xCYzk16Q0puk+FSdb1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYW4qKQodcdDpAtjifZquz+8O3WBxB8brYOCCggeVxe5ZnOzfKlHbehEWs9QtrZ
 uIEJIOQ+EYb2IK6/oSiTPQe7lP/DDEytHQuQ609QYOcegeUdAF0+4PMHf/LqQZfml7LKt8MK
 DZyttMpjKmd3hSRN+8HGM5U+/KoMCOvI76YDYdbiRXpTWmvHeN0vrXAhKY1hARX3dk2rE561
 XIlAT/++GKr+y78BnBzGXehq4m1OcJi+EzS/BkuPJlawkEuTzYJLiJnIfy/wzdldvfpmrCVu
 O84SvIcf4Drk85NVvF3CcFkzOQrArGrUWSg2NwyEGT3vDRVXY0DdFMipledQac4008vMtk2K
 YOxG6BsYFLZCmw6xgVyuK4Ii2CrHDE1UYKgKoWlThSQIEeYLheocgW+15UCo4JGGb/5Jo8GO
 djAcnA7LIOGGnqJkzxry1q2pihT34zFhCJTgwLvdGUySFfmDR8w1EDzMISk38c/NY2SoVC5e
 7DLqN0/Ys+OPM+fOZ4HqMMUMG3AmvCTVbFN3+TO03uEOUdN3fEu/fMkccIDSGRCe81JbcJ6e
 T8uQljxBAPkmrVeLyz4KE=
X-IronPort-AV: E=Sophos;i="5.98,230,1673931600"; 
   d="scan'208";a="99260285"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [XEN PATCH backport for-4.15] tools: Drop gettext as a build dependency
Date: Fri, 3 Mar 2023 14:55:35 +0000
Message-ID: <20230303145535.23412-1-anthony.perard@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

From: Andrew Cooper <andrew.cooper3@citrix.com>

It has not been a dependency since at least 4.13.  Remove its mandatory check
from ./configure.

Annotate the dependency in the CI dockerfiles, and drop them from CirrusCI and
TravisCI.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
(cherry picked from commit e21a6a4f966a7e91cb0bb014dbe15d15cc0502ad)
---

Notes:
    As we dropped "gettext" from many containers, build on staging-4.15
    starts to fail due to unmet dependency. But that dependency isn't needed,
    but configure hasn't been updated.
    
    pipeline with many fail due to missing gettext:
        https://gitlab.com/xen-project/xen/-/pipelines/793302203
    
    pipeline with that patch backported:
        https://gitlab.com/xen-project/people/anthonyper/xen/-/pipelines/794335026
    still several build failure, but less, and not due to configure step failing.
    
    Commit can be cherry-picked cleanly to staging-4.15.
    
    That commit would be needed as well on staging-4.14, but it doesn't
    apply cleanly due to change in configure, and missing dockerfiles.

 .cirrus.yml                                   |  2 +-
 .travis.yml                                   |  1 -
 README                                        |  1 -
 .../build/alpine/3.12-arm64v8.dockerfile      |  1 +
 automation/build/alpine/3.12.dockerfile       |  1 +
 automation/build/centos/7.2.dockerfile        |  1 +
 automation/build/centos/7.dockerfile          |  1 +
 .../build/debian/jessie-i386.dockerfile       |  1 +
 automation/build/debian/jessie.dockerfile     |  1 +
 .../build/debian/stretch-i386.dockerfile      |  1 +
 automation/build/debian/stretch.dockerfile    |  1 +
 .../build/debian/unstable-arm64v8.dockerfile  |  1 +
 .../build/debian/unstable-i386.dockerfile     |  1 +
 automation/build/debian/unstable.dockerfile   |  1 +
 automation/build/fedora/29.dockerfile         |  1 +
 .../build/suse/opensuse-leap.dockerfile       |  1 +
 .../build/suse/opensuse-tumbleweed.dockerfile |  1 +
 automation/build/ubuntu/bionic.dockerfile     |  1 +
 automation/build/ubuntu/focal.dockerfile      |  1 +
 automation/build/ubuntu/trusty.dockerfile     |  1 +
 automation/build/ubuntu/xenial.dockerfile     |  1 +
 .../alpine/3.12-arm64v8.dockerfile            |  1 +
 tools/configure                               | 49 -------------------
 tools/configure.ac                            |  2 -
 24 files changed, 20 insertions(+), 54 deletions(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 0efff6fa98..fdb1c9c94d 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -4,7 +4,7 @@ freebsd_template: &FREEBSD_TEMPLATE
     APPEND_LIB: /usr/local/lib
     APPEND_INCLUDES: /usr/local/include
 
-  install_script: pkg install -y seabios gettext-tools gmake
+  install_script: pkg install -y seabios gmake
                                  pkgconf python libiconv bison perl5
                                  yajl lzo2 pixman argp-standalone
                                  libxml2 glib git
diff --git a/.travis.yml b/.travis.yml
index 2362475f7a..f3cd15b79f 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -54,7 +54,6 @@ addons:
             - pkg-config
             - flex
             - bison
-            - gettext
             - acpica-tools
             - bin86
             - bcc
diff --git a/README b/README
index de579080d7..efaa1451cb 100644
--- a/README
+++ b/README
@@ -63,7 +63,6 @@ provided by your OS distributor:
     * bridge-utils package (/sbin/brctl)
     * iproute package (/sbin/ip)
     * GNU bison and GNU flex
-    * GNU gettext
     * ACPI ASL compiler (iasl)
 
 In addition to the above there are a number of optional build
diff --git a/automation/build/alpine/3.12-arm64v8.dockerfile b/automation/build/alpine/3.12-arm64v8.dockerfile
index d6cdf5b200..a1ac960595 100644
--- a/automation/build/alpine/3.12-arm64v8.dockerfile
+++ b/automation/build/alpine/3.12-arm64v8.dockerfile
@@ -22,6 +22,7 @@ RUN \
   apk add dev86 && \
   apk add dtc-dev && \
   apk add gcc  && \
+  # gettext for Xen < 4.13
   apk add gettext && \
   apk add git && \
   apk add iasl && \
diff --git a/automation/build/alpine/3.12.dockerfile b/automation/build/alpine/3.12.dockerfile
index 94557e239b..bb8e5ece74 100644
--- a/automation/build/alpine/3.12.dockerfile
+++ b/automation/build/alpine/3.12.dockerfile
@@ -23,6 +23,7 @@ RUN \
   apk add gcc  && \
   apk add g++ && \
   apk add clang  && \
+  # gettext for Xen < 4.13
   apk add gettext && \
   apk add git && \
   apk add iasl && \
diff --git a/automation/build/centos/7.2.dockerfile b/automation/build/centos/7.2.dockerfile
index af672a0be1..4baa097e31 100644
--- a/automation/build/centos/7.2.dockerfile
+++ b/automation/build/centos/7.2.dockerfile
@@ -26,6 +26,7 @@ RUN rpm --rebuilddb && \
         python-devel \
         libuuid-devel \
         pkgconfig \
+        # gettext for Xen < 4.13
         gettext \
         flex \
         bison \
diff --git a/automation/build/centos/7.dockerfile b/automation/build/centos/7.dockerfile
index 5f83c97d0c..e688a4cece 100644
--- a/automation/build/centos/7.dockerfile
+++ b/automation/build/centos/7.dockerfile
@@ -24,6 +24,7 @@ RUN yum -y install \
         python-devel \
         libuuid-devel \
         pkgconfig \
+        # gettext for Xen < 4.13
         gettext \
         flex \
         bison \
diff --git a/automation/build/debian/jessie-i386.dockerfile b/automation/build/debian/jessie-i386.dockerfile
index 66a6abb381..3f86d91f63 100644
--- a/automation/build/debian/jessie-i386.dockerfile
+++ b/automation/build/debian/jessie-i386.dockerfile
@@ -28,6 +28,7 @@ RUN apt-get update && \
         pkg-config \
         flex \
         bison \
+        # gettext for Xen < 4.13
         gettext \
         acpica-tools \
         bin86 \
diff --git a/automation/build/debian/jessie.dockerfile b/automation/build/debian/jessie.dockerfile
index 808d6272e4..2f19adcad3 100644
--- a/automation/build/debian/jessie.dockerfile
+++ b/automation/build/debian/jessie.dockerfile
@@ -26,6 +26,7 @@ RUN apt-get update && \
         pkg-config \
         flex \
         bison \
+        # gettext for Xen < 4.13
         gettext \
         acpica-tools \
         bin86 \
diff --git a/automation/build/debian/stretch-i386.dockerfile b/automation/build/debian/stretch-i386.dockerfile
index 7b6f8eff69..c7840d33ab 100644
--- a/automation/build/debian/stretch-i386.dockerfile
+++ b/automation/build/debian/stretch-i386.dockerfile
@@ -29,6 +29,7 @@ RUN apt-get update && \
         pkg-config \
         flex \
         bison \
+        # gettext for Xen < 4.13
         gettext \
         acpica-tools \
         bin86 \
diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
index e3bace1f87..e2ee14e201 100644
--- a/automation/build/debian/stretch.dockerfile
+++ b/automation/build/debian/stretch.dockerfile
@@ -27,6 +27,7 @@ RUN apt-get update && \
         pkg-config \
         flex \
         bison \
+        # gettext for Xen < 4.13
         gettext \
         acpica-tools \
         bin86 \
diff --git a/automation/build/debian/unstable-arm64v8.dockerfile b/automation/build/debian/unstable-arm64v8.dockerfile
index 8455d67b72..4409f596e1 100644
--- a/automation/build/debian/unstable-arm64v8.dockerfile
+++ b/automation/build/debian/unstable-arm64v8.dockerfile
@@ -27,6 +27,7 @@ RUN apt-get update && \
         pkg-config \
         flex \
         bison \
+        # gettext for Xen < 4.13
         gettext \
         acpica-tools \
         libfdt-dev \
diff --git a/automation/build/debian/unstable-i386.dockerfile b/automation/build/debian/unstable-i386.dockerfile
index 86ff3585df..06ffb97384 100644
--- a/automation/build/debian/unstable-i386.dockerfile
+++ b/automation/build/debian/unstable-i386.dockerfile
@@ -29,6 +29,7 @@ RUN apt-get update && \
         pkg-config \
         flex \
         bison \
+        # gettext for Xen < 4.13
         gettext \
         acpica-tools \
         bin86 \
diff --git a/automation/build/debian/unstable.dockerfile b/automation/build/debian/unstable.dockerfile
index 1200245c9b..828afa2e1e 100644
--- a/automation/build/debian/unstable.dockerfile
+++ b/automation/build/debian/unstable.dockerfile
@@ -27,6 +27,7 @@ RUN apt-get update && \
         pkg-config \
         flex \
         bison \
+        # gettext for Xen < 4.13
         gettext \
         acpica-tools \
         bin86 \
diff --git a/automation/build/fedora/29.dockerfile b/automation/build/fedora/29.dockerfile
index 5482952523..027b93ceaf 100644
--- a/automation/build/fedora/29.dockerfile
+++ b/automation/build/fedora/29.dockerfile
@@ -17,6 +17,7 @@ RUN dnf -y install \
         python3-devel \
         libuuid-devel \
         pkgconfig \
+        # gettext for Xen < 4.13
         gettext \
         flex \
         bison \
diff --git a/automation/build/suse/opensuse-leap.dockerfile b/automation/build/suse/opensuse-leap.dockerfile
index 685dd5d7fd..573fbd8ae4 100644
--- a/automation/build/suse/opensuse-leap.dockerfile
+++ b/automation/build/suse/opensuse-leap.dockerfile
@@ -22,6 +22,7 @@ RUN zypper install -y --no-recommends \
         flex \
         gcc \
         gcc-c++ \
+        # gettext-tools for Xen < 4.13
         gettext-tools \
         git \
         glib2-devel \
diff --git a/automation/build/suse/opensuse-tumbleweed.dockerfile b/automation/build/suse/opensuse-tumbleweed.dockerfile
index 061173e751..8ff7b9b5ce 100644
--- a/automation/build/suse/opensuse-tumbleweed.dockerfile
+++ b/automation/build/suse/opensuse-tumbleweed.dockerfile
@@ -22,6 +22,7 @@ RUN zypper install -y --no-recommends \
         flex \
         gcc \
         gcc-c++ \
+        # gettext-tools for Xen < 4.13
         gettext-tools \
         git \
         glib2-devel \
diff --git a/automation/build/ubuntu/bionic.dockerfile b/automation/build/ubuntu/bionic.dockerfile
index 408063698c..406a97494c 100644
--- a/automation/build/ubuntu/bionic.dockerfile
+++ b/automation/build/ubuntu/bionic.dockerfile
@@ -27,6 +27,7 @@ RUN apt-get update && \
         pkg-config \
         flex \
         bison \
+        # gettext for Xen < 4.13
         gettext \
         acpica-tools \
         bin86 \
diff --git a/automation/build/ubuntu/focal.dockerfile b/automation/build/ubuntu/focal.dockerfile
index 90b4001a6a..952a3172aa 100644
--- a/automation/build/ubuntu/focal.dockerfile
+++ b/automation/build/ubuntu/focal.dockerfile
@@ -26,6 +26,7 @@ RUN apt-get update && \
         pkg-config \
         flex \
         bison \
+        # gettext for Xen < 4.13
         gettext \
         acpica-tools \
         bin86 \
diff --git a/automation/build/ubuntu/trusty.dockerfile b/automation/build/ubuntu/trusty.dockerfile
index fd377d948f..b4b2f85e73 100644
--- a/automation/build/ubuntu/trusty.dockerfile
+++ b/automation/build/ubuntu/trusty.dockerfile
@@ -27,6 +27,7 @@ RUN apt-get update && \
         pkg-config \
         flex \
         bison \
+        # gettext for Xen < 4.13
         gettext \
         acpica-tools \
         bin86 \
diff --git a/automation/build/ubuntu/xenial.dockerfile b/automation/build/ubuntu/xenial.dockerfile
index 57a71eb8c6..82171d856d 100644
--- a/automation/build/ubuntu/xenial.dockerfile
+++ b/automation/build/ubuntu/xenial.dockerfile
@@ -27,6 +27,7 @@ RUN apt-get update && \
         pkg-config \
         flex \
         bison \
+        # gettext for Xen < 4.13
         gettext \
         acpica-tools \
         bin86 \
diff --git a/automation/tests-artifacts/alpine/3.12-arm64v8.dockerfile b/automation/tests-artifacts/alpine/3.12-arm64v8.dockerfile
index 9457009452..7eb1f22940 100644
--- a/automation/tests-artifacts/alpine/3.12-arm64v8.dockerfile
+++ b/automation/tests-artifacts/alpine/3.12-arm64v8.dockerfile
@@ -19,6 +19,7 @@ RUN \
   apk add dbus && \
   apk add bash && \
   apk add python2 && \
+  # gettext for Xen < 4.13
   apk add gettext && \
   apk add zlib && \
   apk add ncurses && \
diff --git a/tools/configure b/tools/configure
index bb5acf9d43..5df30df9b3 100755
--- a/tools/configure
+++ b/tools/configure
@@ -689,7 +689,6 @@ INSTALL_PROGRAM
 SET_MAKE
 AWK
 IASL
-XGETTEXT
 FLEX
 BISON
 PERL
@@ -847,7 +846,6 @@ PYTHON
 PERL
 BISON
 FLEX
-XGETTEXT
 AS86
 LD86
 BCC
@@ -1597,7 +1595,6 @@ Some influential environment variables:
   PERL        Path to Perl parser
   BISON       Path to Bison parser generator
   FLEX        Path to Flex lexical analyser generator
-  XGETTEXT    Path to xgetttext tool
   AS86        Path to as86 tool
   LD86        Path to ld86 tool
   BCC         Path to bcc tool
@@ -4738,7 +4735,6 @@ LDFLAGS="$PREPEND_LDFLAGS $LDFLAGS $APPEND_LDFLAGS"
 
 
 
-
 # Checks for programs.
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -7846,51 +7842,6 @@ fi
 
 if ! $rump; then
 
-# Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_XGETTEXT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $XGETTEXT in
-  [\\/]* | ?:[\\/]*)
-  ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
-  ;;
-  *)
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT="no"
-  ;;
-esac
-fi
-XGETTEXT=$ac_cv_path_XGETTEXT
-if test -n "$XGETTEXT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
-$as_echo "$XGETTEXT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test x"${XGETTEXT}" = x"no"
-then
-    as_fn_error $? "Unable to find xgettext, please install xgettext" "$LINENO" 5
-fi
 case "$host_cpu" in
 i[3456]86|x86_64|aarch64)
     # Extract the first word of "iasl", so it can be a program name with args.
diff --git a/tools/configure.ac b/tools/configure.ac
index 636e7077be..6414fcbb44 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -298,7 +298,6 @@ AC_ARG_VAR([PYTHON], [Path to the Python parser])
 AC_ARG_VAR([PERL], [Path to Perl parser])
 AC_ARG_VAR([BISON], [Path to Bison parser generator])
 AC_ARG_VAR([FLEX], [Path to Flex lexical analyser generator])
-AC_ARG_VAR([XGETTEXT], [Path to xgetttext tool])
 AC_ARG_VAR([AS86], [Path to as86 tool])
 AC_ARG_VAR([LD86], [Path to ld86 tool])
 AC_ARG_VAR([BCC], [Path to bcc tool])
@@ -381,7 +380,6 @@ AS_IF([test "$cross_compiling" != yes], [
 
 if ! $rump; then
 
-AX_PATH_PROG_OR_FAIL([XGETTEXT], [xgettext])
 dnl as86, ld86, bcc and iasl are only required when the host system is x86*.
 dnl "host" here means the platform on which the hypervisor and tools is
 dnl going to run, not the platform on which we are building (known as
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 15:11:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 15:11:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506067.779076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY747-00080J-R0; Fri, 03 Mar 2023 15:11:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506067.779076; Fri, 03 Mar 2023 15:11:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY747-00080C-Nh; Fri, 03 Mar 2023 15:11:23 +0000
Received: by outflank-mailman (input) for mailman id 506067;
 Fri, 03 Mar 2023 15:11: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 1pY746-000802-Rw; Fri, 03 Mar 2023 15:11: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 1pY746-0006zG-PN; Fri, 03 Mar 2023 15:11: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 1pY746-0001iR-A6; Fri, 03 Mar 2023 15:11:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pY746-0004qW-9e; Fri, 03 Mar 2023 15:11: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=m8WybXCysDTNKj36vFKzQNUfoXc2baQYB8Voc5GKGRI=; b=3rZt/NQkpE+JcPAK9TDxu3eY7+
	8cvhrYmFmS3xMWEUFCO/yIyDFbNFArVz9+2ozc2ecTgYotcO4Vdzj1tRuM2i4cc0J+3bOGin0lQf2
	nV3Raq+gIWE3vC4y7ZXOjwidpndYFVWFi0CDEuHoMa7Jw4GYo/Fq28V+DqQtAK0mO40I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179049-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179049: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-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-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: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=b94a82ce9a3a27db2e6f76eacdb64428d11cbe6f
X-Osstest-Versions-That:
    libvirt=541670dd5cc33f621f1199e5421efd2c79c25b1a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Mar 2023 15:11:22 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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     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-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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              b94a82ce9a3a27db2e6f76eacdb64428d11cbe6f
baseline version:
 libvirt              541670dd5cc33f621f1199e5421efd2c79c25b1a

Last test of basis   178838  2023-03-01 04:20:25 Z    2 days
Failing since        178942  2023-03-02 04:20:15 Z    1 days    2 attempts
Testing same since   179049  2023-03-03 04:20:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Jiri Denemark <jdenemar@redhat.com>
  Michal Privoznik <mprivozn@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   541670dd5c..b94a82ce9a  b94a82ce9a3a27db2e6f76eacdb64428d11cbe6f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 15:16:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 15:16:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506074.779086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY790-0000CJ-E1; Fri, 03 Mar 2023 15:16:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506074.779086; Fri, 03 Mar 2023 15: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 1pY790-0000CC-BL; Fri, 03 Mar 2023 15:16:26 +0000
Received: by outflank-mailman (input) for mailman id 506074;
 Fri, 03 Mar 2023 15:16:25 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=lE8C=63=casper.srs.infradead.org=BATV+c2a260b7edcf36afa963+7131+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pY78y-0000C6-OT
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 15:16:25 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5be6273e-b9d6-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 16:16:23 +0100 (CET)
Received: from [2001:8b0:10b:5:4ce9:a0c4:1cf4:98d9]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pY78l-003CWW-R6; Fri, 03 Mar 2023 15:16: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: 5be6273e-b9d6-11ed-96af-2f268f93b82a
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:To:From:
	Subject:Message-ID:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID:
	Content-Description:In-Reply-To:References;
	bh=vTZ0Me67UOlVup1c2NNHCtSukQExiUbyi52cHIN3u/Y=; b=hQ0S1tsFb8Hy6EvaajW3EEYtPp
	tqVRi3zrix4LZJ08Fdh48ng0Q4g3DMlm5+MBDucGUt5SGF0q61ynOfN21vWlbr5IcZdvQUU2Vmet2
	BxSuvS4uoCW+m0GC9pq4gV51Jqjxs9WkQ2jiEzPnSXlWtIgOb4DYLRe2ZMhIlgb/9wTfSOABnYcAx
	64HCAdF3yDlUGTBvnsoDchOWzdHxU84YfrUK7BNDH74fKCw6aRBEA4aZaYRUC8V/zQBm+Cw4auiwa
	LUh+Fw3GR6cSe8NSDWMHXIaCq9hSQ8VDYxP+MhoLOGonfU/8V9P27aCT6caKwHGYB7vh8U11YZcHQ
	HQtzdSGA==;
Message-ID: <07866eaf6354dd43d87cffb6eebf101716845b66.camel@infradead.org>
Subject: IRQ affinity not working on Xen pci-platform device
From: David Woodhouse <dwmw2@infradead.org>
To: Thomas Gleixner <tglx@linutronix.de>, linux-kernel
	 <linux-kernel@vger.kernel.org>, xen-devel <xen-devel@lists.xenproject.org>
Date: Fri, 03 Mar 2023 15:16:11 +0000
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-180Js8B6IU80WeBwXwfQ"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

I added the 'xen_no_vector_callback' kernel parameter a while back
(commit b36b0fe96af) to ensure we could test that more for Linux
guests.

Most of my testing at the time was done with just two CPUs, and I
happened to just test it with four. It fails, because the IRQ isn't
actually affine to CPU0.

I tried making it work anyway (in line with the comment in platform-
pci.c which says that it shouldn't matter if it *runs* on CPU0 as long
as it processes events *for* CPU0). That didn't seem to work.

If I put the irq_set_affinity() call *before* the request_irq() that
does actually work. But it's setting affinity on an IRQ it doesn't even
own yet.

Test hacks below; this is testable with today's QEMU master (yay!) and:

  qemu-system-x86_64 -display none -serial mon:stdio -smp 4 \
     -accel kvm,xen-version=3D0x4000a,kernel-irqchip=3Dsplit \
     -kernel ~/git/linux/arch/x86/boot//bzImage \
     -append "console=3DttyS0,115200 xen_no_vector_callback"

...

[    0.577173] ACPI: \_SB_.LNKC: Enabled at IRQ 11
[    0.578149] The affinity mask was 0-3
[    0.579081] The affinity mask is 0-3 and the handler is on 2
[    0.580288] The affinity mask is 0 and the handler is on 2



diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_b=
ase.c
index c7715f8bd452..e3d159f1eb86 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -1712,11 +1712,12 @@ void handle_irq_for_port(evtchn_port_t port, struct=
 evtchn_loop_ctrl *ctrl)
=20
 static int __xen_evtchn_do_upcall(void)
 {
-	struct vcpu_info *vcpu_info =3D __this_cpu_read(xen_vcpu);
+	struct vcpu_info *vcpu_info =3D per_cpu(xen_vcpu, 0);
 	int ret =3D vcpu_info->evtchn_upcall_pending ? IRQ_HANDLED : IRQ_NONE;
-	int cpu =3D smp_processor_id();
+	int cpu =3D 0;//smp_processor_id();
 	struct evtchn_loop_ctrl ctrl =3D { 0 };
=20
+	WARN_ON_ONCE(smp_processor_id() !=3D 0);
 	read_lock(&evtchn_rwlock);
=20
 	do {
diff --git a/drivers/xen/platform-pci.c b/drivers/xen/platform-pci.c
index fcc819131572..647991211633 100644
--- a/drivers/xen/platform-pci.c
+++ b/drivers/xen/platform-pci.c
@@ -64,6 +64,16 @@ static uint64_t get_callback_via(struct pci_dev *pdev)
=20
 static irqreturn_t do_hvm_evtchn_intr(int irq, void *dev_id)
 {
+	struct pci_dev *pdev =3D dev_id;
+
+	if (unlikely(smp_processor_id())) {
+		const struct cpumask *mask =3D irq_get_affinity_mask(pdev->irq);
+		if (mask)
+			printk("The affinity mask is %*pbl and the handler is on %d\n",
+			       cpumask_pr_args(mask), smp_processor_id());
+		return IRQ_NONE;
+	}
+
 	return xen_hvm_evtchn_do_upcall();
 }
=20
@@ -132,6 +142,12 @@ static int platform_pci_probe(struct pci_dev *pdev,
 			dev_warn(&pdev->dev, "request_irq failed err=3D%d\n", ret);
 			goto out;
 		}
+
+		const struct cpumask *mask =3D irq_get_affinity_mask(pdev->irq);
+		if (mask)
+			printk("The affinity mask was %*pbl\n",
+			       cpumask_pr_args(mask));
+
 		/*
 		 * It doesn't strictly *have* to run on CPU0 but it sure
 		 * as hell better process the event channel ports delivered


--=-180Js8B6IU80WeBwXwfQ
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzAzMTUxNjExWjAvBgkqhkiG9w0BCQQxIgQghaFB/OKx
sd//y8bHkGFfqTrj4PJobqdAqUQOKb/I264wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCEafR+A9UydYbxIFr5p1WKWZRr9RYrtRX/
/qjjA4oFpzhWPzDUQtrveFaVbxfQoVwKnsUmZLxA/HPltKfFkBl3JaPKUuuoG0WpW+JMsl3IQkok
5QMMq1EUN4wnHZMc5IFedcfv4WaliyV+QGQOyrxUSydB7bzw0zmA+2Uxf7K4mmj5vvUomOr2PDbA
f1TF4jsAoeZdFXWjDFxi0ap2tYzpgN2kGREBvaS6IHmXUYjZkKTd2D5wgfoQyShjSaiRPAOuh3GD
MdYeE5wmMiIlN5mROBrrSBcPn3tLYaCnjPlkTkgt+tgeeq1OsylNJNN/K05/huTzIZ8WysY6tAbM
DGNSb55W3Hz1Fc7pTy0wTDFmBlOtUw9APxm8ajth2PULQWFYwiFrej7tseSpDwvCI5tjIw79qOlc
a8m1/JI0KOTxX8I61agQ4PbvMu6Ry+RZqxW6flpAZ4e9BcPCSX5Lri3EohWtgZiQIyAxoNJqZ0zi
8HYA+65TD0KSriXBjK8VhGKZfDqjiSj149ywd1embCAxRP3ElpdO3dERped50Jzf9ZcV3VRpP70d
zm9oh+VT6AzG0U6+PGQ2U33UzBY6Xs4DwGX+CV7po/YcqAXNLnN+VQsB0eNRXUJN2hpXK2AJq6vE
ohziSgtXxcUk38oxLZ01ZORI14YSVIzI2UCSiLdijgAAAAAAAA==


--=-180Js8B6IU80WeBwXwfQ--


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 15:28:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 15:28:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506086.779099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY7KZ-00021I-HU; Fri, 03 Mar 2023 15:28:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506086.779099; Fri, 03 Mar 2023 15: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 1pY7KZ-00021B-ER; Fri, 03 Mar 2023 15:28:23 +0000
Received: by outflank-mailman (input) for mailman id 506086;
 Fri, 03 Mar 2023 15: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=SP4M=63=citrix.com=prvs=419214df4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pY7KY-000215-Jv
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 15:28:22 +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 05fc6a7c-b9d8-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 16:28:20 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Mar 2023 10:28:05 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6606.namprd03.prod.outlook.com (2603:10b6:510:b4::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 15:28:03 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.021; Fri, 3 Mar 2023
 15:28: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: 05fc6a7c-b9d8-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677857300;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=P8MJjgEjF4acIyDSKOUuOeExBUIKlMf26s84ww942lc=;
  b=dWjtBhFTg7AR55GDyJGcRT8wshwH+mvrXWVwJlyM02jPAH5GDDdRm9Uy
   0zAAw4W74LaYQfPrL9cOlwFloKw4OVgcFSVRpOPn4HNclkCMsJ/sut39U
   9GPOpq1bSAdp/lVVrRvHioW89//79fQ9h1cv/vTLUu0eeAmwjxbNv/rfe
   Q=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 98731819
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:TAFAsq7KS66SnYqwNZywrQxRtCbGchMFZxGqfqrLsTDasY5as4F+v
 mMfUWyBOqmJNmT8fdhwPt/i9UNSupLXn4RkQVBpqX8wHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasT5weE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m0
 f8/cDQScB+6iuO8memjWuxlpZ0qI5y+VG8fkikIITDxK98DGMmGaYOaoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OnEoojumF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNNCS+bhpqc76LGV7lA2Nxo0VHSfmNeSjBejWPVfM
 l4r2yV7+MDe82TuFLERRSaQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3Oc0TzE30
 l6Cn/vyGCdi9raSTBqgGqy8qDqzPW0fKz8EbCpdFA8duYC98cc0kw7FSctlHOitlNrpFDrsw
 jeM6i8jm7EUis1N3KK+lbzavw+RSlHyZlZdzm3qsqiNt2uVuKbNi1SU1GXm
IronPort-HdrOrdr: A9a23:SZQqeaCLIWOuRf3lHemo55DYdb4zR+YMi2TDgXoBLSC9E/b5qy
 nApp8mPHPP4gr5O0tApTnjAsa9qCjnhPtICOAqVN+ftW/d1VdAR7sN0WKN+VHd84KVzJ876U
 /NGZIOa+EZrDJB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.98,231,1673931600"; 
   d="scan'208";a="98731819"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C2mfUUNxSHdfbBvWuli7YjohpFCcfDHr1DBqSRMtlUuG2yqUaiLUBWnqgGDZRQKZGAhuYA9GNmQCr+ciybif1nqpFHPejB0bDj6XteeK9uR/szlH913n0m0gaJWFt3XG4UyKBJ7tm11TicTdpaDcKDCdJEvnvgJDPJtrqQt4+KNtDnECrKBm+4N9eMXgEWpqNIi6XXWFhYwGTWm+8Rf6NcKbz8+AZkpB2zXf4VV1OlkvJW5gOiFNk3mexCpbd0LZYAwi1dTAU2x4/A032S1XsD5/gScSownSfSamyaiONyINRSPoSTd1gP6j+u0hA4sTBeXeMXdMNZqrPBZD8SOlKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Wi9FK1PD7eCidk9Ig71Sj5Wn3Jb8t3uNB0UsTz9k8sI=;
 b=mDyvI8h52BvESSVW+y4p/kUUd66Qv29dS26DOFX2nTIlaSs8eBPiD2+99rofdvpf13om8feoIqXtsLSqP2uABGDa5psbr1xspt7C0TIY61zrMpjJ6JdbX88mntCtJUJFrT/cdu0Yxx5dFRJqOLc+78Tkb222upi/cUGMohkt6VwELx9faTo3MIEEFxCQ07OcC1SNF2Gr5gHiorGnDJ0yu694o7PEre3JZ4cUyRHL1RHQAFJYeaa8nyNePRrIJ8UUtKSHJmd6mBHgoBaLq1anfuesmpbSnSh+iNw+ehN7YX9wCmcByC2/snm0axGN57xsjOUDXubqa+KhfMnmRVADSg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Wi9FK1PD7eCidk9Ig71Sj5Wn3Jb8t3uNB0UsTz9k8sI=;
 b=cVC+rofIS+t7ijifPa9tt+7GVvm7193S682teZ8ZHD+cAjiNuWU2WLTXiB8Gq0+EKyY11EMd/UMLuYYVyO82BJeifWopSjkdF5/Tz6nXAYexIoUMO4342gvCZjpgHGbLDSP0QjLoESL+3T9PtiNbO03obGLZhJ+s4L05uIA3WQs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b8670d3a-704b-110a-8400-fabb0b1d1879@citrix.com>
Date: Fri, 3 Mar 2023 15:27:56 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH backport for-4.15] tools: Drop gettext as a build
 dependency
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20230303145535.23412-1-anthony.perard@citrix.com>
In-Reply-To: <20230303145535.23412-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0322.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a4::22) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB6606:EE_
X-MS-Office365-Filtering-Correlation-Id: e5fd31c8-3e77-4773-865a-08db1bfbe085
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XbmKLvFbAeeA44q4vOH3XTj/Nm/JZ9bCR4/biCl2k+bMrOt31dbutMc1YRPQaGy3ao/QCAGpu3vprwEp0U9DHBhws5OpcKVIpXZaqr7IGJRMSi1IQ2MGQfDfSPEAvwbJaAtOX1AbAj0rL803KLFWvk/1JaMFQQIWaIEppQgzprmlDzhQkuNQFwo/Z3kQWEiFk+e0Hhmy8eQeNmQQNdi93PvJQAipyklAc6+RHvcVxQKHgf3A2qrIDFbkaHqzYOE5D5hw51+KoqLmiJgYh6EXS26ktDVankN06zPFvvCQ0wlvt4cJCfsd8pF+8XgQP1PHyWvVe7JL8pPs4VZxUtAN8TzENLcFbyAgqc4VmhUL4om9aKklhX3mzIOLGsJuy1C2wlJA7+T3tOSqo6Fms37LJwnKg6xft5iQxEQX0mR/JXtsjozB/1Qm3RroRRNl3KXeWHof3qERfmU6hpde3LoJgWXDcvRj0GCFu3fac8Z+YnrPss49lXDSCnRjdTEJaXiJT8WmCLLH6m5uBr+YDZfvEAnL7j8nGmUFxHDnA/Z8i+bOZAf52v7qjBczQ4UHscDdvBEX8rdhwg3gHscY6qQ8SveV2nbv+ujtJiPGQ/IqerFJC1A4zK5FWqrBL9AurRfA8bN3l+LD6yy12n8vkHHrYn9CFOC3V+Y93wIAaneDqKX9e25Rm31foKXl/GNU8dY+H2pD9Ld84/PqB1nmZ5lqp786NX3Qnwu3JrLyYOI7TB2AkodKTq6S8I0MnIk8l/kEOKO6qpWIqGPdpBZREqmX1w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(366004)(136003)(376002)(346002)(39860400002)(451199018)(66476007)(186003)(38100700002)(82960400001)(316002)(8936002)(4326008)(66946007)(41300700001)(8676002)(2906002)(5660300002)(478600001)(2616005)(53546011)(6666004)(66556008)(6512007)(6506007)(26005)(966005)(6486002)(36756003)(83380400001)(31696002)(86362001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YU43UzZBU1g1Yk1EREpKYll1djJjZ1lZWmtnQU1QOHlNZlFCQXFoZjVjWS9v?=
 =?utf-8?B?SlEvMDAwRVhudHN3VVpiTzAwcWtaV0t1Q1BZTktYTWJwV0RBVStmQUtUenQr?=
 =?utf-8?B?RExxdHgrRlBCalNOZm9lNmtTWnNLMWpnSGwzbWU4Qjk2dHNLcXhJZE5vUFpX?=
 =?utf-8?B?YnhKSDEvOFBFdnBDaEQvZnJxSGFpRXJPaC9DZHE4MC9WSFBVeklOY1BQeGxV?=
 =?utf-8?B?aW41MTdTWU5yL1lRUkV5eXVjUkg3OHRvenk3ZGVTZ3phOCtiRUdVTlZRUXVi?=
 =?utf-8?B?a2pOM01Fc3NGd1ZHcWdYTWt5NllVbXRQaEhUNEVacDZvVnFpUjFoaU9VMzRV?=
 =?utf-8?B?SnhYZThuV2RHZXp5NER5WXdPM2poZitzQXhuemVWZWZtRUFHWlA2RVNBYSth?=
 =?utf-8?B?R1VLMWRkQ0hJTTY0T0V5NVpFWkJKaDIxeUxrZkFQcTlaVTV4cXA0eEJIM2o4?=
 =?utf-8?B?bkt3bGlDWjVXdlh5NUlTaWdEWXNpbWgvaGE1RVFUZXprVTRHck5oNmtXVC9n?=
 =?utf-8?B?NnNLaFphU3VVb29LTnB4M0ZBZGFwTUUxZVY4amVpNW9uSTBCSjJlaWswQWNC?=
 =?utf-8?B?eDlQTzR0SDJXbGJaMUJ3VTd2cFl4M21WcTRGYWlBQ3o5SDdEeEwzcTZ1L0l1?=
 =?utf-8?B?Slk3VmR6UDJ4Q0swTzdsaXdHRVVHLzMwSWJ3d0taRDFmZk5aZTBUaWNzU3ZM?=
 =?utf-8?B?aWlNc21WdkV5ZzZJYmtEL28vQ0RFOWhiRUc5VkpnTXlEVGNzYVFGL1BZSEhC?=
 =?utf-8?B?SEZJLzM0ZWtPdWVldjJhbUt4OGVTN0NzWjFDRzY3TVNTMUtsVWRuaXBFN0ZO?=
 =?utf-8?B?ekFOeW9EcGZ3eXlLQmNSbUh5clNtTTVpWHhJZWxicmc3TUtaejRRa2E1dWJz?=
 =?utf-8?B?WGRpdmcwUkhLRGRHZEJ3TmlicVhITjJFZ0RIcVhSS1ExVXhERXFkeTJSaWU3?=
 =?utf-8?B?ZzFuK04wc3k3b0MyNTRFMHpKR2xYNmp2bVRIaXZVUDFjWW1BelVSRkdURGNE?=
 =?utf-8?B?UXF2cjNDam91Vzh0WjluZVp2alBlc1VhUk5vVlFuRUVLRzA4NEdFeXkxdzh3?=
 =?utf-8?B?V01WZ1RaOHFlZFE1N2xwdGNaak5vdUtuZWlFR1Y0bDFNcE5TaGcwN2EyZXhD?=
 =?utf-8?B?WnlUN3ZVbnVLOW04Y1FHeDg5d1VTdkhMa2JqTjRaUGw0YkNSM1hlSWtFamIv?=
 =?utf-8?B?YXJMVzVySEZneFBVdzJKT3NjQ1RjTHhCeXZXNVcrTVJBWTZrSWJQVEtsVXhl?=
 =?utf-8?B?dWl0aU8rc2U4VzRoTkk4cWcxcUkyMHY1MUFBb1hhRmducTBBaUxHSW5Cc1p3?=
 =?utf-8?B?UHFBa0JEaFUwNlVjNlZqYjc3Ujk0UFN6clNYc2tIU3psOHdTUmRQSXk5RWl2?=
 =?utf-8?B?Q2hRNG9WU3lEQzFaUlRyUHd3WXAyTHR6R2pRMnplcHJYcHpmZSs1VHo0VEU0?=
 =?utf-8?B?REhDOG9OdUZWMHYvRU1tQ3BvQTdYT2JSL0FNSXlMcUJSUlpwZzVCSGdjSmhK?=
 =?utf-8?B?dER1dzdHS3VSZW5SYmJVSjByYkMyR0p0WCtBdTFQbW9zM3d2ZUlDVmNtSVFS?=
 =?utf-8?B?SVZIOFpWZGFNdmJqUEV0dHZWbE1TM2pERWh4T3FCTWJ2VHl2STRKM28rUTZY?=
 =?utf-8?B?VTY5UktWbGlRQnZOcjVERTJBNnZaRHhlMm53MDcxY3pWb2pUVGxoSmVhZzB2?=
 =?utf-8?B?bDBEc0JyL2RsQkZ6UHJudmJiVzBwV1Z2dGZIWngxa1ZFUXlxSmtnL094NGxW?=
 =?utf-8?B?VmhOSi9ScFpudkZuZTNRUFp6dXVpNHQxV3VPeWVzZFJrMWZGOFVsMXNwOE5z?=
 =?utf-8?B?L3I1RHFCdExaWHE4Um83Wlc5ek5nRjhtRTZKWTFOdDBZZ28reDlQYUpkR1VV?=
 =?utf-8?B?VDZKZlhzaXZyakpFRmhpTzdoeEVMWTFQTEk0WEhtc1dPdU9xcm5oZUw5NjNM?=
 =?utf-8?B?MkpOZE9sZ2NTKy9Qd2JuOTZhVkE1d0xrb3dNSi9idWpKT3ZXK0Y4d1pMOHYr?=
 =?utf-8?B?NHcwUHhCUjB3clhMY3M1UFdub0lGakVrbVVicUh2cVR2azRtQ0RkdHFDWmJv?=
 =?utf-8?B?RDFSZDFHaHRRT3JpR3NsdDBjYW4zWU5YSmdxay9qenN2cGZodEpob0Q5R3Mw?=
 =?utf-8?B?N3o1b3NKSXhERkZEQTROMElBczd0MEJJQjMvN1VvQkJ3Rm9ERWhuMHAxTnVM?=
 =?utf-8?B?eUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	tGX2oZHGdGiBUy82f+1+EaA9H27n+eoOaaMT3rmYpr9kQVZtH/eXeAW16pF5y/VrM5wAOxaDw7Ahu9aFn+5C+IlQOmCcl50GNUuU+KcOKaqKF71/oeZhoHfvaagmMxQ5AwbIFJKVGZtsu/6abFzQfPEe/c1dbdYBFdurj1IWefXCN1IjBu3AElkJIjfNgjKu109IJ5UA94YibRArt+m6DIsXtjyM+oRv8fQfj4EVQN0YvQVU1CQ3EBMxZKY8oBb9pMC14I4Y+qy3qL37UK0LXIHFvEOeUjzDmfUnX9AxqjMmwz/KeBbsnAbH6ip24/U6cCWoscop0xzqqJhC4xdme7/qBtMyvI42zwd+B9+fx43RnWewR7QuguGqRnvCE749PfDMB4DKC+ZRHA6AIvmG7m3Xh1uCuq6SPEXxHimuvtzbitihQRoB5P85NJ23BPwfcHExOhxHR5GRYCsPSMaOcHw1DEvECJguIR3ecyX7srqRLfu84VeupdVuxLRh7HTiUhg9e2KuCXkF1JNesaba3xOAUeYOpvZBJ6hRyAPTUnLUe3f5Cspe4ibbQeCPdJ4pTKO/9TreOp6Kksi9aRqXvfLl6OwZ/AFhwxyAYvTngwBuGlQNS7NqlfFiEGwh60RMcRZRftvSWWLEyXhT6cczZNDDIHvS9hXphomM8x9PrQ8kI34N45rhi8VequCkg7x8u/j69EvteW5oaB3XF/hvW1G/60ZyoPnjv0rFhsXCUjeM4003mnS3hJeO/cfty6N9xfuiKd32fttVBRjS0Q+d52F6Evx/9qfhhmoESavjLQ0=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e5fd31c8-3e77-4773-865a-08db1bfbe085
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 15:28:02.4238
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f8As7RPq+98MDIuam7Eh2oVTE0YYl5VFjc66940rAPsyyqTfZX3TpkLymMoZcr5RV/iCDw0VrSc4j/8rd5HLGSGuhttNjSDf454PsR7U6Ic=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6606

On 03/03/2023 2:55 pm, Anthony PERARD wrote:
> From: Andrew Cooper <andrew.cooper3@citrix.com>
>
> It has not been a dependency since at least 4.13.  Remove its mandatory check
> from ./configure.
>
> Annotate the dependency in the CI dockerfiles, and drop them from CirrusCI and
> TravisCI.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>
> (cherry picked from commit e21a6a4f966a7e91cb0bb014dbe15d15cc0502ad)
> ---
>
> Notes:
>     As we dropped "gettext" from many containers, build on staging-4.15
>     starts to fail due to unmet dependency. But that dependency isn't needed,
>     but configure hasn't been updated.
>     
>     pipeline with many fail due to missing gettext:
>         https://gitlab.com/xen-project/xen/-/pipelines/793302203
>     
>     pipeline with that patch backported:
>         https://gitlab.com/xen-project/people/anthonyper/xen/-/pipelines/794335026
>     still several build failure, but less, and not due to configure step failing.
>     
>     Commit can be cherry-picked cleanly to staging-4.15.
>     
>     That commit would be needed as well on staging-4.14, but it doesn't
>     apply cleanly due to change in configure, and missing dockerfiles.

Urgh - I'm sorry about this.  I'd completely forgotten about this mess.

We do need to get CI working reliably, even on all old branches, so we
do need to backport this too.

But looking at the diffstat below, I think we also want to backport
other things too (the change removing Travis), and I'm not sure we want
to re-add the dockerfile comment seeing as we've already dropped it and
rebuilt them all, and this patch is the one that stops it being mandatory.

That would simplify this patch a lot, and make it applicable to 4.14
too, I think.

Jan - are you happy for Anthony and I to just go free reign on the older
branches until we've got testing into a working state?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 15:54:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 15:54:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506096.779108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY7jR-0006DZ-Ns; Fri, 03 Mar 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 506096.779108; Fri, 03 Mar 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 1pY7jR-0006DS-LA; Fri, 03 Mar 2023 15:54:05 +0000
Received: by outflank-mailman (input) for mailman id 506096;
 Fri, 03 Mar 2023 15: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=0Pyx=63=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pY7jQ-0006DK-8b
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 15:54:04 +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 9ea1a725-b9db-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 16:54:03 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id q16so2758289wrw.2
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 07:54: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: 9ea1a725-b9db-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677858842;
        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=EwLE8Mmz42hRAjp2mmXTpqJQBrQRV5VJhB28xGyyOdg=;
        b=DUwN32XaNvlkJH3gMBc0ZzjN+msxdJOe2ocXGR9kakTFWlPYvYIjrWDZrCURKsc/o+
         UDsA1p7FnNhuMyBwEpR/Yf0nIglXaHx/BxJmLdJzseXMJ7K2fkjQ0lXmuJBqCJeSAr3t
         9nkx5Hq/cdABRnB/j9IfwNk2+bjeMIQbs6SjPxrS6r1JpsF7SDESO2nZtLg8dc8je3DB
         YyxCVz3b7Ayuy7HQA2SALou15NxThYZ53lt+sqozSJ40TLq8rlRggJ8vXuDbu+9CQGxb
         eMKMHAXM5FiRslutLvBheapp3fX21kEr4wiMWiAuq2w9oJsFwXAFNKxQaVuwhiAD04Cy
         YxMA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677858842;
        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=EwLE8Mmz42hRAjp2mmXTpqJQBrQRV5VJhB28xGyyOdg=;
        b=O7KA/mt1jiWnJQr963ccSEhw3kj3f5aJysf09wjy62VmqVbfBXi6XrWo4euQBZvC8c
         5pKfoRStfT3voSC1kmZpJcNRRsXlJ34qXDfSyNsex2YQh5CldmzRLTvVo5d+w69nrhzY
         ife6j9Ixxyu8Mh3vhqN7/JP1SOmS0i/brkxO75+jCO2f7c+eq1GMxG333eenEg1AsKh+
         VbfgLY1v6eeSk7APf2vu68c/DYMXmk6rF5O9OHZEkdDCKcw59N3qthwGyj1XC/gGh2Sv
         gyBRbNDPvAkvde9AINzgTpGvsSWtgHA0ttffC7G9OZvl2sa4VthwxGkXngtCzTj2KZRe
         wxwA==
X-Gm-Message-State: AO0yUKXNN5+KBbMd5lUc7LyVd6tY7q5Ac1KQuKb6zDgsR1QVP0HrWVbJ
	7nTAYl+UEFLb8s63BrFyt1AEh7VdtX31JS9GI/b5eg==
X-Google-Smtp-Source: AK7set+IlKxLNys9Fp16oomNgswEXya0h/gjlIyAaTXcDSxgBdGUQNUtENA2JiHu2ZNV0RtpxKQ2Z1GZfbMD6+hW2D4=
X-Received: by 2002:a5d:638d:0:b0:2c7:150c:a0f4 with SMTP id
 p13-20020a5d638d000000b002c7150ca0f4mr495178wru.3.1677858842018; Fri, 03 Mar
 2023 07:54:02 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <fc8e8f1d2d8dbefffd28f6ff1dff600094be8182.1677079672.git.jens.wiklander@linaro.org>
 <55C1E9E3-1515-40BD-8C9B-93564A2B4421@arm.com> <CAHUa44HyQv0f=eaMS9McpzsMAT_xrOOs8HynV7bq+WnjE5CqxA@mail.gmail.com>
 <03A8E301-74F8-4BD3-9A89-7F08A96B108D@arm.com>
In-Reply-To: <03A8E301-74F8-4BD3-9A89-7F08A96B108D@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 3 Mar 2023 16:53:51 +0100
Message-ID: <CAHUa44HJub-+T5gaD8nOa_sUZRQJLsTMo-VAb=ZDLL+G+Lqt0Q@mail.gmail.com>
Subject: Re: [XEN PATCH v7 14/20] xen/arm: ffa: support guest FFA_PARTITION_INFO_GET
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Fri, Mar 3, 2023 at 2:50=E2=80=AFPM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
>
>
> > On 3 Mar 2023, at 14:17, Jens Wiklander <jens.wiklander@linaro.org> wro=
te:
> >
> > Hi Bertrand,
> >
> > On Fri, Mar 3, 2023 at 10:51=E2=80=AFAM Bertrand Marquis
> > <Bertrand.Marquis@arm.com> wrote:
> >>
> >> Hi Jens,
> >>
> >>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> =
wrote:
> >>>
> >>> Adds support in the mediator to handle FFA_PARTITION_INFO_GET request=
s
> >>> from a guest. The requests are forwarded to the SPMC and the response=
 is
> >>> translated according to the FF-A version in use by the guest.
> >>>
> >>> Using FFA_PARTITION_INFO_GET changes the owner of the RX buffer to th=
e
> >>> caller (the guest in this case), so once it is done with the buffer i=
t
> >>> must be released using FFA_RX_RELEASE before another call can be made=
.
> >>>
> >>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> >>> ---
> >>> xen/arch/arm/tee/ffa.c | 126 ++++++++++++++++++++++++++++++++++++++++=
-
> >>> 1 file changed, 124 insertions(+), 2 deletions(-)
> >>>
> >>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> >>> index 953b6dfd5eca..3571817c0bcd 100644
> >>> --- a/xen/arch/arm/tee/ffa.c
> >>> +++ b/xen/arch/arm/tee/ffa.c
> >>> @@ -141,6 +141,12 @@
> >>> #define FFA_MSG_POLL                    0x8400006AU
> >>>
> >>> /* Partition information descriptor */
> >>> +struct ffa_partition_info_1_0 {
> >>> +    uint16_t id;
> >>> +    uint16_t execution_context;
> >>> +    uint32_t partition_properties;
> >>> +};
> >>> +
> >>> struct ffa_partition_info_1_1 {
> >>>    uint16_t id;
> >>>    uint16_t execution_context;
> >>> @@ -157,9 +163,8 @@ struct ffa_ctx {
> >>>    uint32_t guest_vers;
> >>>    bool tx_is_mine;
> >>>    bool interrupted;
> >>> +    spinlock_t lock;
> >>> };
> >>> -
> >>> -
> >>
> >> This is removing 2 empty lines (previous patch was wrongly adding one)
> >> but one empty line is required here.
> >
> > I'll fix it.
> >
> >>
> >>> /* Negotiated FF-A version to use with the SPMC */
> >>> static uint32_t ffa_version __ro_after_init;
> >>>
> >>> @@ -173,10 +178,16 @@ static unsigned int subscr_vm_destroyed_count _=
_read_mostly;
> >>> * Our rx/tx buffers shared with the SPMC.
> >>> *
> >>> * ffa_page_count is the number of pages used in each of these buffers=
.
> >>> + *
> >>> + * The RX buffer is protected from concurrent usage with ffa_rx_buff=
er_lock.
> >>> + * Note that the SPMC is also tracking the ownership of our RX buffe=
r so
> >>> + * for calls which uses our RX buffer to deliver a result we must ca=
ll
> >>> + * ffa_rx_release() to let the SPMC know that we're done with the bu=
ffer.
> >>> */
> >>> static void *ffa_rx __read_mostly;
> >>> static void *ffa_tx __read_mostly;
> >>> static unsigned int ffa_page_count __read_mostly;
> >>> +static DEFINE_SPINLOCK(ffa_rx_buffer_lock);
> >>>
> >>> static bool ffa_get_version(uint32_t *vers)
> >>> {
> >>> @@ -463,6 +474,98 @@ static uint32_t handle_rxtx_unmap(void)
> >>>    return FFA_RET_OK;
> >>> }
> >>>
> >>> +static uint32_t handle_partition_info_get(uint32_t w1, uint32_t w2, =
uint32_t w3,
> >>> +                                          uint32_t w4, uint32_t w5,
> >>> +                                          uint32_t *count)
> >>> +{
> >>> +    bool query_count_only =3D w5 & FFA_PARTITION_INFO_GET_COUNT_FLAG=
;
> >>> +    uint32_t w5_mask =3D 0;
> >>> +    uint32_t ret =3D FFA_RET_DENIED;
> >>> +    struct domain *d =3D current->domain;
> >>> +    struct ffa_ctx *ctx =3D d->arch.tee;
> >>> +
> >>> +    /*
> >>> +     * FF-A v1.0 has w5 MBZ while v1.1 allows
> >>> +     * FFA_PARTITION_INFO_GET_COUNT_FLAG to be non-zero.
> >>> +     */
> >>> +    if ( ctx->guest_vers =3D=3D FFA_VERSION_1_1 )
> >>> +        w5_mask =3D FFA_PARTITION_INFO_GET_COUNT_FLAG;
> >>> +    if ( w5 & ~w5_mask )
> >>> +        return FFA_RET_INVALID_PARAMETERS;
> >>> +
> >>> +    if ( query_count_only )
> >>> +        return ffa_partition_info_get(w1, w2, w3, w4, w5, count);
> >>
> >> This code seems a bit to complex.
> >> I would suggest the following:
> >>
> >> if (w5 & FFA_PARTITION_INFO_GET_COUNT_FLAG)
> >> {
> >>     if ( ctx->guest_vers =3D=3D FFA_VERSION_1_1 )
> >>        return ffa_partition_info_get(w1, w2, w3, w4, w5, count);
> >>     else
> >>        return FFA_RET_INVALID_PARAMETERS;
> >> }
> >
> > OK, I can use that. I'll have to add a
> > if (w5)
> >    return FFA_RET_INVALID_PARAMETERS;
> >
> > since the rest of the bits must be zero.
>
> ok
>
> >
> >>
> >>> +
> >>> +    if ( !ffa_page_count )
> >>> +        return FFA_RET_DENIED;
> >>> +
> >>> +    spin_lock(&ctx->lock);
> >>> +    spin_lock(&ffa_rx_buffer_lock);
> >>> +    if ( !ctx->page_count || !ctx->tx_is_mine )
> >>
> >> If i understand correctly tx_is_mine is protecting the guest rx
> >> buffer until rx_release is called by the guest so that we do not
> >> write in it before the guest has retrieved the data from it.
> >>
> >> The name is very misleading, maybe rx_is_writeable or free would be be=
tter ?
> >
> > The FF-A specification talks about ownership of the TX buffer (from
> > the VMs point of view), hence the name.
> > I'll change it to rx_is_free to be more intuitive without the spec.
>
> Yes but in the code it is quite unclear so better to rename it here.
>
> >
> >>
> >> Also it would be more optimal to test it before taking ffa_rx_buffer_l=
ock.
> >
> > Yes, I'll change that.
> >
> >>
> >>
> >>> +        goto out;
> >>> +    ret =3D ffa_partition_info_get(w1, w2, w3, w4, w5, count);
> >>> +    if ( ret )
> >>> +        goto out;
> >>> +
> >>> +    if ( ctx->guest_vers =3D=3D FFA_VERSION_1_0 )
> >>> +    {
> >>> +        size_t n;
> >>> +        struct ffa_partition_info_1_1 *src =3D ffa_rx;
> >>> +        struct ffa_partition_info_1_0 *dst =3D ctx->rx;
> >>> +
> >>> +        if ( ctx->page_count * FFA_PAGE_SIZE < *count * sizeof(*dst)=
 )
> >>> +        {
> >>> +            ret =3D FFA_RET_NO_MEMORY;
> >>> +            goto out_rx_release;
> >>> +        }
> >>> +
> >>> +        for ( n =3D 0; n < *count; n++ )
> >>> +        {
> >>> +            dst[n].id =3D src[n].id;
> >>> +            dst[n].execution_context =3D src[n].execution_context;
> >>> +            dst[n].partition_properties =3D src[n].partition_propert=
ies;
> >>> +        }
> >>> +    }
> >>> +    else
> >>> +    {
> >>> +        size_t sz =3D *count * sizeof(struct ffa_partition_info_1_1)=
;
> >>> +
> >>> +        if ( ctx->page_count * FFA_PAGE_SIZE < sz )
> >>> +        {
> >>> +            ret =3D FFA_RET_NO_MEMORY;
> >>> +            goto out_rx_release;
> >>> +        }
> >>> +
> >>> +
> >>> +        memcpy(ctx->rx, ffa_rx, sz);
> >>> +    }
> >>> +    ctx->tx_is_mine =3D false;
> >>
> >> at this point we have no reason to hold ctx->lock
> >
> > ctx->lock is special, we're never supposed to have contention on that
> > lock. I believe that we in principle could use spin_trylock() instead
> > and return FFA_RET_BUSY if it fails, but that might be a bit too much.
> > The VM is supposed to synchronize calls that use the RXTX buffers. So
> > unlocking ctx->lock early should give nothing for well-behaving
> > guests, I'd prefer to keep things simple and unlock in reverse order
> > if you don't mind. I'll add a comment.
>
> Please add a comment and a TODO as we have very big locked sections
> here and xen is not preemptible so having someone blocked here by an
> other core doing something is a concern.
>
> If it is expected that a VM should synchronize calls then we might want t=
o
> switch the ctx lock to use trylock and return busy.

I'll try that. In fact, it should be possible to do the same with the
ffa_rx_buffer_lock at least here in handle_partition_info_get(). In a
later patch where share_shm() is introduced, it might only be possible
with trylock if the guest uses the FFA_MEMORY_REGION_FLAG_TIME_SLICE
flag.

>
> >
> >>
> >>> +out_rx_release:
> >>> +    ffa_rx_release();
> >>
> >> There should be no case where do release without unlocking.
> >>
> >> It might be cleaner to have 2 functions ffa_rx_get and ffa_rx_release
> >> handling both the lock and the rx_release message.
> >
> > I'd like to keep ffa_rx_release() as a dumb wrapper. ffa_rx_release()
> > is also used in init_subscribers()  where we don't use any locks.
> > ffa_rx_release() is called after a successful call to
> > ffa_partition_info_get() where we also gained ownership of our RX
> > buffer. Things might be a bit too intertwined for further abstraction.
> > I'll add a comment explaining the relationship between
> > ffa_partition_info_get() and ffa_rx_release().
>
> That would not create any problem to take the lock where it is not
> done already and would make the implemenation a bit more robust.
>
> If at some point some FFA services are used in different cores during
> the boot phase, it might make sense to take the lock even if we are in
> situations where there should be no concurrency just to make the code
> safer.
>
> Please tell me what you think here.

I agree that some extra locking would be harmless, but there's a
problem that ffa_rx_release() should only be called if we in fact have
ownership of the RX buffer. We must if for instance
ffa_partition_info_get() returns an error not call ffa_rx_release().

I think there is some value in only managing the locks in the
handle_*() function since that makes it easier to see the locking
order etc. That said, I wouldn't mind doing some locking in a helper
function if it came naturally, but so far it hasn't in my opinion.

Cheers,
Jens

>
> >
> >>
> >>> +out:
> >>> +    spin_unlock(&ffa_rx_buffer_lock);
> >>
> >> this should stay with ffa_rx_release
> >
> > Depending on if you accept my explanation above.
>
>
> Cheers
> Bertrand
>
> >
> > Thanks,
> > Jens
> >
> >>
> >> Cheers
> >> Bertrand
> >>
> >>> +    spin_unlock(&ctx->lock);
> >>> +
> >>> +    return ret;
> >>> +}
> >>> +
> >>> +static uint32_t handle_rx_release(void)
> >>> +{
> >>> +    uint32_t ret =3D FFA_RET_DENIED;
> >>> +    struct domain *d =3D current->domain;
> >>> +    struct ffa_ctx *ctx =3D d->arch.tee;
> >>> +
> >>> +    spin_lock(&ctx->lock);
> >>> +    if ( !ctx->page_count || ctx->tx_is_mine )
> >>> +        goto out;
> >>> +    ret =3D FFA_RET_OK;
> >>> +    ctx->tx_is_mine =3D true;
> >>> +out:
> >>> +    spin_unlock(&ctx->lock);
> >>> +
> >>> +    return ret;
> >>> +}
> >>> +
> >>> static void handle_msg_send_direct_req(struct cpu_user_regs *regs, ui=
nt32_t fid)
> >>> {
> >>>    struct arm_smccc_1_2_regs arg =3D { .a0 =3D fid, };
> >>> @@ -528,6 +631,7 @@ static bool ffa_handle_call(struct cpu_user_regs =
*regs)
> >>>    uint32_t fid =3D get_user_reg(regs, 0);
> >>>    struct domain *d =3D current->domain;
> >>>    struct ffa_ctx *ctx =3D d->arch.tee;
> >>> +    uint32_t count;
> >>>    int e;
> >>>
> >>>    if ( !ctx )
> >>> @@ -559,6 +663,24 @@ static bool ffa_handle_call(struct cpu_user_regs=
 *regs)
> >>>        else
> >>>            set_regs_success(regs, 0, 0);
> >>>        return true;
> >>> +    case FFA_PARTITION_INFO_GET:
> >>> +        e =3D handle_partition_info_get(get_user_reg(regs, 1),
> >>> +                                      get_user_reg(regs, 2),
> >>> +                                      get_user_reg(regs, 3),
> >>> +                                      get_user_reg(regs, 4),
> >>> +                                      get_user_reg(regs, 5), &count)=
;
> >>> +        if ( e )
> >>> +            set_regs_error(regs, e);
> >>> +        else
> >>> +            set_regs_success(regs, count, 0);
> >>> +        return true;
> >>> +    case FFA_RX_RELEASE:
> >>> +        e =3D handle_rx_release();
> >>> +        if ( e )
> >>> +            set_regs_error(regs, e);
> >>> +        else
> >>> +            set_regs_success(regs, 0, 0);
> >>> +        return true;
> >>>    case FFA_MSG_SEND_DIRECT_REQ_32:
> >>> #ifdef CONFIG_ARM_64
> >>>    case FFA_MSG_SEND_DIRECT_REQ_64:
> >>> --
> >>> 2.34.1
>
>


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 15:56:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 15:56:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506102.779119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY7lx-0006o4-4n; Fri, 03 Mar 2023 15:56:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506102.779119; Fri, 03 Mar 2023 15: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 1pY7lx-0006nx-20; Fri, 03 Mar 2023 15:56:41 +0000
Received: by outflank-mailman (input) for mailman id 506102;
 Fri, 03 Mar 2023 15: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=SP4M=63=citrix.com=prvs=419214df4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pY7lw-0006nr-Ht
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 15:56:40 +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 f68cf73d-b9db-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 16:56:36 +0100 (CET)
Received: from mail-mw2nam04lp2170.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Mar 2023 10:56:29 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6350.namprd03.prod.outlook.com (2603:10b6:510:bf::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.17; Fri, 3 Mar
 2023 15:56:27 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.021; Fri, 3 Mar 2023
 15:56: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: f68cf73d-b9db-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677858996;
  h=message-id:date:to:from:subject:
   content-transfer-encoding:mime-version;
  bh=C/1Ox0bCBIfsU9Q0eIJ6hb9cd3qslNPmfYSkEhXHb+Q=;
  b=hzDcuKd8b9Vcbi0DHoGaNOaOsax2az5xWjN5K7d3V4LfcGiWj28amDVV
   Z33Y7KihFe9rXcE0RRUOOIIoeMlzq0t8LMsqpA8MucEOBCN17pk5SZPn2
   5nyeRFrE9V5Ebc5hsnOVR5qgpnPJuWexefizMCeSC8NgyF930VcHLQ9R7
   Q=;
X-IronPort-RemoteIP: 104.47.73.170
X-IronPort-MID: 99359255
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:SfqFta7J15LMeRBsU8Q4rgxRtCbGchMFZxGqfqrLsTDasY5as4F+v
 mRODGrUb66PYWGgeNwgPtuyoUsOvp+BzIdrT1M/+yk9Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasT5weE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m6
 sZIDAoxQRa/msWPnby7Vu5FjM8II5y+VG8fkikIITDxK98DGcyGZpqQoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Ml0ooj+CF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNNDT+DprKM36LGV7jNPJkYEa2Himue0rXGCdNN1d
 kUr0CV7+MDe82TuFLERRSaQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3Oc0TzE30
 l6Cn/vyGCdi9raSTBqgGqy8qDqzPW0QMjUEbCpcEQ8duYC8+Mc0kw7FSctlHOitlNrpFDrsw
 jeM6i8jm7EUis1N3KK+lbzavw+RSlHyZlZdzm3qsqiNt2uVuKbNi1SU1GXm
IronPort-HdrOrdr: A9a23:v7/rC6kkQdLDtURUa6/uHlmIhzTpDfLa3DAbv31ZSRFFG/Fw9/
 rCoB3U73/JYVcqKRcdcLW7UpVoLkmyyXcY2+cs1PKZLWvbUQiTXeZfBOnZsl7d8kTFn4Yw6U
 4jSdkaNDSZNzNHZK3BkW2F+rgboeVu8MqT9JjjJ3UGd3AVV0m3hT0JezpyESdNNXl77YJSLu
 vk2iLezQDQBEj+aK6AdwE4dtmGnfLnvrT8byULAhY2gTP+8Q9BuNbBYmOlNg51aUI0/Ysf
X-IronPort-AV: E=Sophos;i="5.98,231,1673931600"; 
   d="scan'208";a="99359255"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D9izOjQw9OVqhBMXAmhOPaEa40XqjWi+oX2OPrBqTovAyLVFgZQKMx4QuVBH/7MA41j12P7GTm8uTgBI2DJoYKT/z5Ka5yJTrLowAlD5+1w5qtXLHgWchpqIGvkyZs2pv+M2eWhDGK50NZnpBIKE8ibNjDsIR0jZddoifEyEIJSvtC3rB2+eqwVPKYGxk8EpyqMMH9SXAfNXOX1Tu/gcnqjqEZmaHIqGZ2y2FeG0AQaOyjIQoyVTz2sy7E31AuvX/kkR7Mz1QVy03uv8B/p2fICmnWh2Yz0mtFQLcCMQoMl4qCaHVo1wNfADiynP02kziiX+BSqqidaQCGllF6ieQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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/1Ox0bCBIfsU9Q0eIJ6hb9cd3qslNPmfYSkEhXHb+Q=;
 b=BP1mXnxLhD3xTPsylb6gzSPc+Z9eeY9dX/lOVVnBcDoz2TD0jnJCnJfxbcRAWpnVNtALX8i6qSEZwcj+1NcJJ02DkTyuaT3uPYtvSAczo6jrFxZfNy6hdrpNA3zZQyZq3wa9utvxblhN8Xu+vnMBz/X5RHjdMvbOV3pY8SLBH7DdKnk60WIM6q5VtKfl1wA4Iri8R7cp9FFlCkLx/T8Q5Bi1YTH6eDsHEY/ODY8z/Oe5tLaAGYSvGtIm05zc1QKGwzNaibbDSUGW9NnLl5qarY3pB3CSSlIZ6UIkDCM2J2HvUoNUdFBjYKReeoRK/JtqB5TbB9NUkdrY3dRrIm88Mg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C/1Ox0bCBIfsU9Q0eIJ6hb9cd3qslNPmfYSkEhXHb+Q=;
 b=KhjR9RCf2Rzd/UdzktDtvlkLhft/+YCUgFSKUAjkd6JjETdBIX2WnTu1BDxFyu6Fw8b9SeP+UBkyD52dbElNOlW86o1Nw1YuoQmqAHFAp52LwZXSgQlzMdavO6Q5d6vBYlshwYqX/XxSdwb5lDJtj/bOSWbtxzauZ68b1d0gwSs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <4257ff30-0ece-4138-20f2-b7a3e5a91522@citrix.com>
Date: Fri, 3 Mar 2023 15:56:22 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Content-Language: en-GB
To: xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <jbeulich@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Backports for stable branches
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0116.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c3::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB6350:EE_
X-MS-Office365-Filtering-Correlation-Id: a1136112-c992-45bc-d15d-08db1bffd8eb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3EN4m3S/TCsXOffyjIVPj+Z6xA1oGs863a51wKwyJLQxhFD2+csgHRfcutT7DdXZwQxAUCQ59DKVseXawaIzNtRLkdYqtNSaE/7GlxjqV+d4vXWuvHpZ1e661jKFX3zfkNywjguZO7KcsenIEbnIi6soSj2auI6HrRQDSoh6dYzxyCTw/IejHjhQiV4tZvXN1mujf0kf7sUziaxNt/FZ2bHIexleZv3NfPXNdk8PvJoyPmNqteNjmAlIammNVUnIbngLuNm7x4e4QTVcAFczsiV3XMJqtuqRu8anA87pD22PjKnG6PxmD58yiDsfQeKMaoqTmP/gsdVfY3kOq8zK/eO0Uh7U/6DNUrSBRnPSOsBSDU6VZKU9yviy8A606rnr8qutfy691Bmslf/zSkpJXaKgRDxAJhdIH85UZgfAfXqXt3thfjA+k3IrVeUswXdh8P8aSr9CyWqzAj+zQZaP3oMbE+leWedG8pImLhVOBPNfvQAlPszY09XOodBcmUKXzAukX801+AUAUPEMK1vT8/pIzlaRSIwc44X22F53cl07PNs1gVqKWJhOyXokXQm0DLyZWPY4YX465p0cWfUiiPcv4SYR2H1isOHvmLfDsSK5XOw0C5r69aBTmJKNWqCZAKgfaRNHr/ig5Dybk0dlWWdH4g8pYbxLTpbcnsky0ZhG2/3VEpKgv/ah6TjAFolmT+IWg6bI/romF9ZoDS04ZXmWunz4vZh5hl3arxpfGok=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(346002)(396003)(136003)(376002)(39860400002)(451199018)(36756003)(66476007)(5660300002)(8936002)(66556008)(26005)(4744005)(38100700002)(6512007)(6666004)(3480700007)(6506007)(83380400001)(82960400001)(186003)(86362001)(8676002)(316002)(2616005)(66946007)(41300700001)(478600001)(31696002)(110136005)(6486002)(31686004)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SEFOajN2QTFoVXJjVEExRVBsRDh0djk5VmpqclgwMmMwQTdUKzExM01HOFZw?=
 =?utf-8?B?blBQWkl6TGNGRFJodzFXVDhLVVEwZGovcWF6VXk5dElHeTlPcUpBemhFeUxF?=
 =?utf-8?B?Z1M0VVRQT1NmUEhzbVB2akFVMWdRNVpwVXhIQTNQdFJua21EUHF1VXJOU1V6?=
 =?utf-8?B?Q1k1d1AyV2VFMWR2SzF6Z1dOUjFLZkc3UC9kb3E4dGcrY3Q4Q0V6TUJ4cU53?=
 =?utf-8?B?dWdHMVNjYXc2bk9KcHhjOUJFY3gxencrRUtCN2xkd2Y5a1l0MXREWGcxU0Nn?=
 =?utf-8?B?Mm5Nc0RxSnAwTFlrM1BON1p4ZWoyL1Bac0tDTkRxanROajhrNVFkTFZ6VWda?=
 =?utf-8?B?WnpKbERHcWhreHJHZXlzQ052NHFEMzVxOHNTQldrUjFRYysyNnJRV2x4NEF5?=
 =?utf-8?B?QVZIdjNBeGYxcDNyWEpraUpjV0tpbWhxOTRxVGFLajB6RHpmSTZYWUQ2aWFM?=
 =?utf-8?B?L3I4VHlwb0RPSVA1bTZsTUZUc0ZEWXYxNkJLcDBkT0RVUUtZM0UzQlhLZGxP?=
 =?utf-8?B?aGRLYTVYbzZmd1JMTi9yTE1LYWJ3RDB0dThVTXNyN3MyWER5cEVvVVNLQmhN?=
 =?utf-8?B?N0J4eVQxSkJKVUZraDVYbVpGd21Kdk5OeXByRXUxZ3dVUlB3WUZBSW1JRFda?=
 =?utf-8?B?UGlSSjRwVXFhTndrb2dOaWR2VEl5TjJ0MkJGYTJqMXNqOEg5REhWNTRRdi9B?=
 =?utf-8?B?YStuUHhEVDFpRUlBTHljVDZrZHNOMzMwQ0dZSnVNMW1QQkZaV0V2NlViNDNT?=
 =?utf-8?B?dlNUSTRxYlllYktZeEhuNUNOekhPNUsxVkQrK0w4Z2FXenZlUTNQUGUwdnJl?=
 =?utf-8?B?MzVsS3dVdXVlbHhrQUw0VzVEZWYzVmJsa0Y2SW1tMDg1WENMWGxJK3NDWlFY?=
 =?utf-8?B?dFUzaFZYNFFKSmsrNmY5ajMvNVJwWThhV0c1dHJKc3RHR0dzRHh1V253ek1Q?=
 =?utf-8?B?N25RRFdyVFpzNi94SVRjYTdGQTA5cTlvZFVxTWE1YTArL0FacW8xMVlGeW9X?=
 =?utf-8?B?KzdISVd4SzYvRS80YkJ3T2k5Q2NVbGlDQ0ZlekdhR3RldXRzdlUyaVJDNjNt?=
 =?utf-8?B?RHNDVWIxZkFCMGFmWjlBU3pkL2ZYbXg4SythczBHQ0N5QzhEcXh4dndPSnlU?=
 =?utf-8?B?V2UvWCtFWUQvemhDNTFSRGhKdElhbHluZndZTjhUZ1V0RUtYMWlsalhuVnBT?=
 =?utf-8?B?UUlEMTJQMU9DVE50L3YzcGlzbGNCckNnbjRKeUNMUVhSV2g5cnZXWXpTT24z?=
 =?utf-8?B?aFV2UVllZHJRcWw0M3hwSnI5QVh1ZksxSWFRSWw2SkFXcE5hbWlMSXlyazJi?=
 =?utf-8?B?QXNBbWtUMy8rc2kxWVg3QXBzcUZtK2VLRytUd0JON0pCc056N3lCU2g2Q1lz?=
 =?utf-8?B?dWM2YXR6VkZlWWVxb3NuTHl6VFI3TTJlQUVYR1RVRVZrN2NjcHdYU2N5dWs0?=
 =?utf-8?B?Y2g2UWRTdzVWLytGalp1WGNza1p5VUxCb1N6TjdDQXZvQytkS29qWFh4ZVRs?=
 =?utf-8?B?c2xyY05uYVRnenVwNHVPeFhTQ1Fld0pjcGxhNU1oYi93RnUyTGNtUHpIN2hE?=
 =?utf-8?B?NjJ6SUVTZHRHNWhRUjFPSkowRUFvVExqZ3dxTzhYSHFET0FMR3U4YzZHemRk?=
 =?utf-8?B?SDlFVnZHYmJLOHpWZFRIR2NtSlBoMUw3MVVJcW5GM3g3L3NmcWVTL29iYW5m?=
 =?utf-8?B?QmdiM1E2dmNtUTdWQXIySzljMHk3elE0ci9INmNmQm9lSG5uTUdwRXY3SERR?=
 =?utf-8?B?TktFdkdGeGwyakhoQ0c5a0w2c1c0Tk1ZbElpSHBRUnFXaXgwLzl0YnhIaE1K?=
 =?utf-8?B?TGg0aHQyRzVtangvOGVxeHo2N2JuNUtPdmhvdTJneHJlbnJOUXdnSWtyRDhp?=
 =?utf-8?B?dGFkL3dycWNJTWJhZHVRZ3pJV0xMbE9DNnllTHlzWFBVd1JiRW1SNU94WnIr?=
 =?utf-8?B?OUkrTC9TOWlqOXQycHFJejBlVzJXcjE4TVphZVllNXVraGpyN0xSZjZSSlFE?=
 =?utf-8?B?UzJtMG5FSHdyZVpuSStPQlgvekFTYlJLUzQ3dWJTZVIxWjN3eG9NTklqcGx2?=
 =?utf-8?B?M3NTTDNSTEZ6VHRHVldHemk2c1dVYzM4ZmNWRitZWTc0ODVEanRlY3Q3R1pU?=
 =?utf-8?B?OXVDTjhzVEpjaWRtK2NsbVJzWUJWa0dSOVhCWkVWaGpHK0ZtMC83bXRxckQ0?=
 =?utf-8?B?amc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	nOqrhYPvkvjS0r9lcXQ9lrYaWU48iOUseRKyCHgmqSr0jdvUUqy4cEjxmKnpAFt+g+sXfch3zK0b3LkkAdUI8Z1NhTs9oX9hzDLirSj9AL2VsYIJRJylxDhHwZuAqoZtDhF8TFwr6BE/wA4wV++ifKYxT+hrKUYij3fx3taaIvYs/bozoQ4ZCBzStsf3Gw107DCjT0ZKHm6CvOp0w6iKVgS9r5Fov+DtaPYamwbXLOZWbUqtgOwboCA4hkOuHAcDpv44NmR2KufxL9WP/2TKYk7latQgKaayjotjjMMp6GaHGs7i4tHNLTzh/S0z46xH6y2NK0ycqIzhMu70LBLhCPjm1qF9pknc33TRVmKrVSmIXwPx/EGBS0XUkry3LQo5LWqizqPS1FVOue3d+Y1OOfRF4/YWmTfJiy8WQHSv6FDYvUovXKGhTW8zBOJmSd8bWdRVhNPzYTIXa8ykeweEw7reGjeWht8yWz7hl9cxXXWEzh6LfgtzT50+ZtHiRY4QzfKYVocIoiVYdnooPKPs+KAJmqy/KkEa6o8D3RjK8B1BFUinft7CfCsO56CiRJDgdl3ryCwLm8jqgp2O0D7vRDmNiwGWtoMS3Cr74bU7ypEMesXK5GnUdh+RIBPXkP35WwvYs2mNeWmx3WaKndO1zpglZ+Y8gcdTnxs0n2CjIsXg5fJYjciwDh+rHEl8U4lfnOL2Qe+tK1wTxYsLEuvx+WY9LQ79IZsoifSLEE4JlCdD9oJdmihnlEH+NgV1zD2sEnm6L2A5ADKpfnR/43vX2ZdtxJObMC2vVgq+1Y6MuiI=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a1136112-c992-45bc-d15d-08db1bffd8eb
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 15:56:27.5969
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Prt3CA9TwKeTzJsrdOTf48AMOmMb9RYEtt+bbDJ4zuccvmlYWJoGYkicDPaWOFu9uL3Lmmt/K0OaIDrrlM+apdwfCybAwL79+p/Il297jmE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6350

Hello,

Two python bugfixes which definitely qualify for backport:

897257ba49d0 tools/python: change 's#' size type for Python >= 3.10
3a59443c1d5a tools/xenmon: Fix xenmon.py for with python3.x

Next, I'm going to argue for taking:

f7d07619d2ae x86/vmx: implement VMExit based guest Bus Lock detection
d329b37d1213 x86/vmx: introduce helper to set VMX_INTR_SHADOW_NMI
573279cde1c4 x86/vmx: implement Notify VM Exit
5f08bc9404c7 x86/vmx: Partially revert "x86/vmx: implement Notify VM Exit"

These are technically new features for Sapphire Rapids, but they're both
very simple (in the grand scheme of new features), and are both
mitigations to system-wide denial of services that required silicon
changes to make happen.

Either way, there is a security argument to be made for backporting these.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 16:18:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 16:18:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506109.779128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY86n-0001wx-Su; Fri, 03 Mar 2023 16:18:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506109.779128; Fri, 03 Mar 2023 16: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 1pY86n-0001wq-Pq; Fri, 03 Mar 2023 16:18:13 +0000
Received: by outflank-mailman (input) for mailman id 506109;
 Fri, 03 Mar 2023 16: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=tND9=63=bounce.vates.fr=bounce-md_30504962.64021dbe.v1-158bb8dd17fe432fadf4658927be1fd0@srs-se1.protection.inumbo.net>)
 id 1pY86m-0001wi-5m
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 16:18:12 +0000
Received: from mail179-12.suw41.mandrillapp.com
 (mail179-12.suw41.mandrillapp.com [198.2.179.12])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fbd5fe90-b9de-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 17:18:09 +0100 (CET)
Received: from pmta12.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail179-12.suw41.mandrillapp.com (Mailchimp) with ESMTP id
 4PStRz1mqjz705rYy
 for <xen-devel@lists.xenproject.org>; Fri,  3 Mar 2023 16:18:07 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 158bb8dd17fe432fadf4658927be1fd0; Fri, 03 Mar 2023 16:18:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbd5fe90-b9de-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.fr;
	s=mandrill; t=1677860287; x=1677917887; i=marc.ungeschikts@vates.fr;
	bh=yjFzRYpfMs1ui2NeMtzkHGAls18QAz1hHnf1RJc/lW4=;
	h=From:Subject:To:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:CC:Date:Subject:From;
	b=a1b94AheTCs61uvPG9YbHNswpwHiS1MmuDOt7UHWzXMwdrlgIXdEexqVqT3OH+NWM
	 Aoc3o0OsCHHXBGqLGlTfTOGjWM+FEInrySa0L5brSrxtoHh2xCAOxO8zb2jf1WKq2f
	 jWTJxnntg8QoinV1ayXy3djuB4PvBaDtx/Zm6x8Y=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com; 
 i=@mandrillapp.com; q=dns/txt; s=mandrill; t=1677860287; h=From : 
 Subject : To : Message-Id : Date : MIME-Version : Content-Type : From : 
 Subject : Date : X-Mandrill-User : List-Unsubscribe; 
 bh=yjFzRYpfMs1ui2NeMtzkHGAls18QAz1hHnf1RJc/lW4=; 
 b=ZjfuPI9MgYnP1BPeiO4wwk8Kz+JR7pY8Aj8Ynq/+FC6Bfduli/FJRXFES5ag2MRp/66NSd
 QwDj8lx9M9Tisp0g7rhEB9kf9zBA3VaTkEK5JH+YFTED2EHTUyEC824aNmxlCPui++0GMHSu
 Ur5j2Pwf997UEyMB/BiYz5EGrRm+o=
From: Marc Ungeschikts <marc.ungeschikts@vates.fr>
Subject: =?utf-8?Q?RE=C2=A0:=20Weekly=20meeting=20-=20Xen=20Gitlab=20Issues=20Review?=
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 48e5b86a-aec2-49cd-9e7e-fb489512856c
X-Bm-Transport-Timestamp: 1677860285767
To: xen-devel@lists.xenproject.org
Message-Id: <20230303161805.A363314811C@mail2.vates.fr>
X-Report-Abuse: Please forward a copy of this message, including all headers, to abuse@mandrill.com
X-Report-Abuse: You can also report abuse here: http://mandrillapp.com/contact/abuse?id=30504962.158bb8dd17fe432fadf4658927be1fd0
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20230303:md
Date: Fri, 03 Mar 2023 16:18:07 +0000
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="_av-cOm_5XSbhMsYAqCwg9gF2g"

--_av-cOm_5XSbhMsYAqCwg9gF2g
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

        =F0=9F=93=9D 2023-03-03 Report minutes Xen Gitlab Issues review mee=
ting:
https://cryptpad.fr/pad/#/2/pad/edit/GBcZpfFD5WELm7mdE2C-anKD/

=F0=9F=93=85 For next Week 2023-03-10 14 :00 UTC :
https://cryptpad.fr/pad/#/2/pad/edit/HkzaJDwKHunUzETuQRTswj6F/
and https://meet.jit.si/XenIssuesReview

     

     

 Marc Ungeschikts (Vates)

     

  *De : *Marc Ungeschikts <mailto:marc.ungeschikts@vates.fr>
*Envoy=C3=A9 le :*vendredi 24 f=C3=A9vrier 2023 18:10
*=C3=80 : *xen-devel@lists.xenproject.org
<mailto:xen-devel@lists.xenproject.org>
*Objet :*RE : Weekly meeting - Xen Gitlab Issues Review

 
     

 
      =F0=9F=93=9D 2023-02-24 Report minutes Xen Gitlab Issues review meeti=
ng:
https://cryptpad.fr/pad/#/2/pad/edit/PhI0GK3pNtbm80GI+mqUDXs9/

 
=F0=9F=93=85 For next Week 2023-03-03 14 :00 UTC :
https://cryptpad.fr/pad/#/2/pad/edit/GBcZpfFD5WELm7mdE2C-anKD/
and https://meet.jit.si/XenIssuesReview

Marc Ungeschikts (Vates)

     

  *De : *Marc Ungeschikts <mailto:marc.ungeschikts@vates.fr>
*Envoy=C3=A9 le :*vendredi 17 f=C3=A9vrier 2023 16:15
*=C3=80 : *xen-devel@lists.xenproject.org
<mailto:xen-devel@lists.xenproject.org>
*Objet :*RE : Weekly meeting - Xen Gitlab Issues Review

 
     

 
      =F0=9F=93=9D 2023-02-17 Report minutes Xen Gitlab Issues review meeti=
ng:
https://cryptpad.fr/pad/#/2/pad/edit/fRRWiCN07eq4oa6q31w5HLOx/

 
For next Week 2023-02-24 :
https://cryptpad.fr/pad/#/2/pad/edit/PhI0GK3pNtbm80GI+mqUDXs9/

 Marc Ungeschikts (Vates)

     

  *De : *Marc Ungeschikts <mailto:marc.ungeschikts@vates.fr>
*Envoy=C3=A9 le :*vendredi 3 f=C3=A9vrier 2023 16:55
*=C3=80 : *xen-devel@lists.xenproject.org
<mailto:xen-devel@lists.xenproject.org>
*Objet :*RE : Weekly meeting - Xen Gitlab Issues Review

 
     

 
       =F0=9F=93=9D Report minutes of today's Xen Gitlab Issues review meet=
ing:
https://cryptpad.fr/pad/#/2/pad/edit/CymKm6lKLO-y81RRYtrPdJOI/

      

 
 For next week:
https://cryptpad.fr/pad/#/2/pad/edit/fRRWiCN07eq4oa6q31w5HLOx/ 

 
     

     

 Marc Ungeschikts (Vates)

     

  *De : *Marc Ungeschikts <mailto:marc.ungeschikts@vates.fr>
*Envoy=C3=A9 le :*lundi 30 janvier 2023 10:56
*=C3=80 : *xen-devel@lists.xenproject.org
<mailto:xen-devel@lists.xenproject.org>
*Objet :*Weekly meeting - Xen Gitlab Issues Review

 
     

 
    Hi everydody, last Friday, during the Backlog Review meeting, we
decided to schedule a weekly meeting *every Friday-14:00(UTC)* to talk
about Xen Gitlab issues
<https://gitlab.com/groups/xen-project/-/issues>(discussion, grooming,
triage,...)  
 *Jitsi Room*: https://meet.jit.si/XenIssuesReview 
 
 
You are all welcome, specially developers and maintainers. 
 
  
         
    
   
        * Marc Ungeschikts | Vates Project Manager* 
  *Mobile: 0613302401* 
  *XCP-ng & Xen Orchestra - *Vates solutions 
  *w:* vates.fr | xcp-ng.org | xen-orchestra.com

--_av-cOm_5XSbhMsYAqCwg9gF2g
Content-Type: multipart/related; boundary="_av-n1AqVdaW1Pn7xFPZiHx_FA"

--_av-n1AqVdaW1Pn7xFPZiHx_FA
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html xmlns:o=3D"urn:schemas-microsoft-com:office:office" xmlns:w=3D"urn:sc=
hemas-microsoft-com:office:word" xmlns:m=3D"http://schemas.microsoft.com/of=
fice/2004/12/omml" xmlns=3D"http://www.w3.org/TR/REC-html40">
 <head>
  <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8">
  <meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
  <style><!--
/* Font Definitions */
@font-face
=09{font-family:"Cambria Math";
=09panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
=09{font-family:Calibri;
=09panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
=09{font-family:"Segoe UI Emoji";
=09panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
=09{margin:0cm;
=09font-size:11.0pt;
=09font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
=09{mso-style-priority:99;
=09color:blue;
=09text-decoration:underline;}
.MsoChpDefault
=09{mso-style-type:export-only;}
@page WordSection1
=09{size:612.0pt 792.0pt;
=09margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
=09{page:WordSection1;}
--></style>
 </head>
 <body lang=3D"FR" link=3D"blue" vlink=3D"#954F72" style=3D"word-wrap:break=
-word">
  <div class=3D"WordSection1">
   <p class=3D"MsoNormal"><span style=3D"font-family:&quot;Segoe UI Emoji&q=
uot;,sans-serif">=F0=9F=93=9D</span> 2023-03-03 Report minutes Xen Gitlab I=
ssues review meeting: https://cryptpad.fr/pad/#/2/pad/edit/GBcZpfFD5WELm7md=
E2C-anKD/<br><br><span style=3D"font-family:&quot;Segoe UI Emoji&quot;,sans=
-serif">=F0=9F=93=85</span><span style=3D"font-family:&quot;Segoe UI Emoji&=
quot;,sans-serif"> </span>For next Week 2023-03-10 14&nbsp;:00 UTC&nbsp;: h=
ttps://cryptpad.fr/pad/#/2/pad/edit/HkzaJDwKHunUzETuQRTswj6F/<br>and <a hre=
f=3D"https://meet.jit.si/XenIssuesReview">https://meet.jit.si/XenIssuesRevi=
ew</a></p>
   <p class=3D"MsoNormal"> <o:p>
      &nbsp;
    </o:p></p>
   <p class=3D"MsoNormal"> <o:p>
      &nbsp;
    </o:p></p>
   <p class=3D"MsoNormal">Marc Ungeschikts (Vates)<o:p></o:p></p>
   <p class=3D"MsoNormal"> <o:p>
      &nbsp;
    </o:p></p>
   <div style=3D"mso-element:para-border-div;border:none;border-top:solid #=
E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
    <p class=3D"MsoNormal" style=3D"border:none;padding:0cm"><b>De&nbsp;: <=
/b><a href=3D"mailto:marc.ungeschikts@vates.fr">Marc Ungeschikts</a><br><b>=
Envoy=C3=A9 le&nbsp;:</b>vendredi 24 f=C3=A9vrier 2023 18:10<br><b>=C3=80&n=
bsp;: </b><a href=3D"mailto:xen-devel@lists.xenproject.org">xen-devel@lists=
.xenproject.org</a><br><b>Objet&nbsp;:</b>RE&nbsp;: Weekly meeting - Xen Gi=
tlab Issues Review</p>
   </div>
   <p class=3D"MsoNormal"> <o:p>
      &nbsp;
    </o:p></p>
  </div>
  <blockquote type=3D"cite" style=3D"padding-left:5px; border-left:2px soli=
d #1010ff; margin-left:5px" lang=3D"FR" link=3D"blue" vlink=3D"#954F72">
   <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8"=
>
   <meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)"=
>
   <style><!--
/* Font Definitions */
@font-face
=09{font-family:"Cambria Math";
=09panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
=09{font-family:Calibri;
=09panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
=09{font-family:"Segoe UI Emoji";
=09panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
=09{margin:0cm;
=09font-size:11.0pt;
=09font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
=09{mso-style-priority:99;
=09color:blue;
=09text-decoration:underline;}
.MsoChpDefault
=09{mso-style-type:export-only;}
@page WordSection1
=09{size:612.0pt 792.0pt;
=09margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
=09{page:WordSection1;}
--></style>
   <div class=3D"WordSection1">
    <p class=3D"MsoNormal"><span style=3D"font-family:&quot;Segoe UI Emoji&=
quot;,sans-serif">=F0=9F=93=9D</span> 2023-02-24 Report minutes Xen Gitlab =
Issues review meeting: https://cryptpad.fr/pad/#/2/pad/edit/PhI0GK3pNtbm80G=
I+mqUDXs9/<o:p></o:p></p>
    <p class=3D"MsoNormal" style=3D"margin-bottom:12.0pt"><br><span style=
=3D"font-family:&quot;Segoe UI Emoji&quot;,sans-serif">=F0=9F=93=85 </span>=
For next Week 2023-03-03 14&nbsp;:00 UTC&nbsp;: https://cryptpad.fr/pad/#/2=
/pad/edit/GBcZpfFD5WELm7mdE2C-anKD/<br>and <a href=3D"https://meet.jit.si/X=
enIssuesReview">https://meet.jit.si/XenIssuesReview</a><br><br>Marc Ungesch=
ikts (Vates)<o:p></o:p></p>
    <p class=3D"MsoNormal"> <o:p>
       &nbsp;
     </o:p></p>
    <div style=3D"mso-element:para-border-div;border:none;border-top:solid =
#E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
     <p class=3D"MsoNormal" style=3D"border:none;padding:0cm"><b>De&nbsp;: =
</b><a href=3D"mailto:marc.ungeschikts@vates.fr">Marc Ungeschikts</a><br><b=
>Envoy=C3=A9 le&nbsp;:</b>vendredi 17 f=C3=A9vrier 2023 16:15<br><b>=C3=80&=
nbsp;: </b><a href=3D"mailto:xen-devel@lists.xenproject.org">xen-devel@list=
s.xenproject.org</a><br><b>Objet&nbsp;:</b>RE&nbsp;: Weekly meeting - Xen G=
itlab Issues Review</p>
    </div>
    <p class=3D"MsoNormal"> <o:p>
       &nbsp;
     </o:p></p>
   </div>
   <blockquote type=3D"cite" style=3D"padding-left:5px; border-left:2px sol=
id #1010ff; margin-left:5px" lang=3D"FR" link=3D"blue" vlink=3D"#954F72">
    <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-8=
">
    <meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)=
">
    <style><!--
/* Font Definitions */
@font-face
=09{font-family:"Cambria Math";
=09panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
=09{font-family:Calibri;
=09panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
=09{font-family:"Segoe UI Emoji";
=09panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
=09{margin:0cm;
=09font-size:11.0pt;
=09font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
=09{mso-style-priority:99;
=09color:blue;
=09text-decoration:underline;}
.MsoChpDefault
=09{mso-style-type:export-only;}
@page WordSection1
=09{size:612.0pt 792.0pt;
=09margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
=09{page:WordSection1;}
--></style>
    <div class=3D"WordSection1">
     <p class=3D"MsoNormal"><span style=3D"font-family:&quot;Segoe UI Emoji=
&quot;,sans-serif">=F0=9F=93=9D</span> 2023-02-17 Report minutes Xen Gitlab=
 Issues review meeting: https://cryptpad.fr/pad/#/2/pad/edit/fRRWiCN07eq4oa=
6q31w5HLOx/</p>
     <p class=3D"MsoNormal"><br>For next Week 2023-02-24&nbsp;: https://cry=
ptpad.fr/pad/#/2/pad/edit/PhI0GK3pNtbm80GI+mqUDXs9/<br><br></p>
     <p class=3D"MsoNormal">Marc Ungeschikts (Vates)</p>
     <p class=3D"MsoNormal"> <o:p>
        &nbsp;
      </o:p></p>
     <div style=3D"mso-element:para-border-div;border:none;border-top:solid=
 #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
      <p class=3D"MsoNormal" style=3D"border:none;padding:0cm"><b>De&nbsp;:=
 </b><a href=3D"mailto:marc.ungeschikts@vates.fr">Marc Ungeschikts</a><br><=
b>Envoy=C3=A9 le&nbsp;:</b>vendredi 3 f=C3=A9vrier 2023 16:55<br><b>=C3=80&=
nbsp;: </b><a href=3D"mailto:xen-devel@lists.xenproject.org">xen-devel@list=
s.xenproject.org</a><br><b>Objet&nbsp;:</b>RE&nbsp;: Weekly meeting - Xen G=
itlab Issues Review</p>
     </div>
     <p class=3D"MsoNormal"> <o:p>
        &nbsp;
      </o:p></p>
    </div>
    <blockquote type=3D"cite" style=3D"padding-left:5px; border-left:2px so=
lid #1010ff; margin-left:5px" lang=3D"FR" link=3D"blue" vlink=3D"#954F72">
     <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dutf-=
8"> 
     <meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium=
)">
     <style><!--
/* Font Definitions */
@font-face
=09{font-family:"Cambria Math";
=09panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
=09{font-family:Calibri;
=09panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
=09{font-family:"Segoe UI Emoji";
=09panose-1:2 11 5 2 4 2 4 2 2 3;}
@font-face
=09{font-family:Montserrat;
=09panose-1:0 0 5 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
=09{margin:0cm;
=09font-size:11.0pt;
=09font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
=09{mso-style-priority:99;
=09color:blue;
=09text-decoration:underline;}
.MsoChpDefault
=09{mso-style-type:export-only;}
@page WordSection1
=09{size:612.0pt 792.0pt;
=09margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
=09{page:WordSection1;}
--></style>
     <div class=3D"WordSection1">
      <div>
       <p class=3D"MsoNormal"><span style=3D"font-size:9.0pt;font-family:&q=
uot;Segoe UI Emoji&quot;,sans-serif;color:#1F1F1F;background:white">=F0=9F=
=93=9D</span><span style=3D"font-size:9.0pt;font-family:Montserrat;color:#1=
F1F1F;background:white"> Report minutes of today's Xen Gitlab Issues review=
 meeting: https://cryptpad.fr/pad/#/2/pad/edit/CymKm6lKLO-y81RRYtrPdJOI/</s=
pan><o:p></o:p></p>
       <div>
        <p class=3D"MsoNormal" style=3D"background:white"><span style=3D"fo=
nt-size:9.0pt;font-family:Montserrat;color:#1F1F1F">
          <o:p>
            &nbsp;
          </o:p></span></p>
       </div>
       <p class=3D"MsoNormal" style=3D"background:white"><span style=3D"fon=
t-size:9.0pt;font-family:Montserrat;color:#1F1F1F">For next week:&nbsp;<a h=
ref=3D"https://cryptpad.fr/pad/#/2/pad/edit/fRRWiCN07eq4oa6q31w5HLOx/">http=
s://cryptpad.fr/pad/#/2/pad/edit/fRRWiCN07eq4oa6q31w5HLOx/</a>
         <o:p></o:p></span></p>
      </div>
      <p class=3D"MsoNormal"> <o:p>
         &nbsp;
       </o:p></p>
      <p class=3D"MsoNormal"> <o:p>
         &nbsp;
       </o:p></p>
      <p class=3D"MsoNormal">Marc Ungeschikts (Vates)<o:p></o:p></p>
      <p class=3D"MsoNormal"> <o:p>
         &nbsp;
       </o:p></p>
      <div style=3D"mso-element:para-border-div;border:none;border-top:soli=
d #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
       <p class=3D"MsoNormal" style=3D"border:none;padding:0cm"><b>De&nbsp;=
: </b><a href=3D"mailto:marc.ungeschikts@vates.fr">Marc Ungeschikts</a><br>=
<b>Envoy=C3=A9 le&nbsp;:</b>lundi 30 janvier 2023 10:56<br><b>=C3=80&nbsp;:=
 </b><a href=3D"mailto:xen-devel@lists.xenproject.org">xen-devel@lists.xenp=
roject.org</a><br><b>Objet&nbsp;:</b>Weekly meeting - Xen Gitlab Issues Rev=
iew</p>
      </div>
      <p class=3D"MsoNormal"> <o:p>
         &nbsp;
       </o:p></p>
     </div>
     <blockquote type=3D"cite" style=3D"padding-left:5px; border-left:2px s=
olid #1010ff; margin-left:5px">
      <div id=3D"bm-composer-content-wrapper">
       <div style=3D"font-family: Montserrat, sans-serif; font-size: 9pt; c=
olor: rgb(31, 31, 31);"> <span style=3D"color: rgb(63, 67, 80); font-family=
: &quot;Open Sans&quot;, sans-serif; font-size: 13.5px; white-space: pre-wr=
ap; background-color: transparent; display: inline !important;">Hi everydod=
y, last Friday, during the Backlog Review meeting, we decided to schedule a=
 weekly meeting </span><span style=3D"background-color: transparent;"><stro=
ng style=3D"box-sizing:border-box;font-weight:600;color:rgb(63, 67, 80);fon=
t-family:&quot;Open Sans&quot;, sans-serif;font-size:13.5px;white-space:pre=
-wrap;background-color:rgba(63, 67, 80, 0.04)">every Friday-14:00(UTC)</str=
ong></span><span style=3D"color: rgb(63, 67, 80); font-family: &quot;Open S=
ans&quot;, sans-serif; font-size: 13.5px; white-space: pre-wrap; background=
-color: transparent; display: inline !important;">&nbsp;to talk about </spa=
n><a href=3D"https://gitlab.com/groups/xen-project/-/issues" target=3D"_bla=
nk" style=3D"box-sizing:border-box;background-color:rgba(63, 67, 80, 0.04);=
color:rgb(56, 111, 229);cursor:pointer;word-break:break-word;font-family:&q=
uot;Open Sans&quot;, sans-serif;font-size:13.5px;white-space:pre-wrap"><spa=
n style=3D"box-sizing: border-box; background-color: transparent;">Xen Gitl=
ab issues</span></a><span style=3D"color: rgb(63, 67, 80); font-family: &qu=
ot;Open Sans&quot;, sans-serif; font-size: 13.5px; white-space: pre-wrap; b=
ackground-color: transparent; display: inline !important;">(discussion, gro=
oming, triage,...) </span>
        <br><span style=3D"color:rgb(63, 67, 80);font-family:&quot;Open San=
s&quot;, sans-serif;font-size:13.5px;white-space:pre-wrap;background-color:=
rgba(63, 67, 80, 0.04);display:inline !important">&nbsp;</span><span style=
=3D"background-color: transparent;"><strong style=3D"box-sizing:border-box;=
font-weight:600;color:rgb(63, 67, 80);font-family:&quot;Open Sans&quot;, sa=
ns-serif;font-size:13.5px;white-space:pre-wrap;background-color:rgba(63, 67=
, 80, 0.04)">Jitsi Room</strong></span><span style=3D"color: rgb(63, 67, 80=
); font-family: &quot;Open Sans&quot;, sans-serif; font-size: 13.5px; white=
-space: pre-wrap; background-color: transparent; display: inline !important=
;">: </span><a href=3D"https://meet.jit.si/XenIssuesReview" target=3D"_blan=
k" style=3D"box-sizing:border-box;background-color:rgba(63, 67, 80, 0.04);c=
olor:rgb(56, 111, 229);cursor:pointer;word-break:break-word;font-family:&qu=
ot;Open Sans&quot;, sans-serif;font-size:13.5px;white-space:pre-wrap"><span=
 style=3D"box-sizing: border-box; background-color: transparent;">https://m=
eet.jit.si/XenIssuesReview</span></a>
        <br>
        <br>
        <br><span style=3D"color: rgb(23, 25, 28); font-family: Inter, Twem=
oji, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, Arial, Helv=
etica, sans-serif, STIXGeneral, &quot;Noto Color Emoji&quot;; font-size: 14=
px; background-color: transparent; display: inline !important;">You are all=
 welcome, specially developers and maintainers.</span>
        <br>
       </div>
       <style></style>
      </div>
     </blockquote>
    </blockquote>
   </blockquote>
  </blockquote>
  <div class=3D"x-disclaimer507876458">
   <div>
     &nbsp;
   </div>
   <div>
     &nbsp;
   </div>
   <div>
    <div>
     <br>
     <table>
      <tbody>
       <tr>
        <td style=3D"font-size: 10pt;">&nbsp;</td>
        <td style=3D"font-size: 10pt; padding-left: 20px; border-left-color=
: #b42626; border-left-style: solid; border-left-width: 1px;">
         <div> <strong> Marc Ungeschikts | Vates Project Manager</strong>
         </div>
         <div> <strong>Mobile: 0613302401</strong>
         </div>
         <div> <strong>XCP-ng &amp; Xen Orchestra - </strong>Vates solution=
s
         </div>
         <div> <strong>w:</strong>&nbsp;vates.fr&nbsp;| xcp-ng.org | xen-or=
chestra.com
         </div>
         <div>
          <img style=3D"float: left;" src=3D"cid:x-disclaimer507876458-1677=
860285766.png@bm-disclaimer" alt=3D"" width=3D"174" height=3D"159">
         </div> </td>
       </tr>
      </tbody>
     </table>
    </div>
   </div>
  </div>
 <img src=3D"https://mandrillapp.com/track/open.php?u=3D30504962&id=3D158bb=
8dd17fe432fadf4658927be1fd0" height=3D"1" width=3D"1" alt=3D""></body>
</html>


--_av-n1AqVdaW1Pn7xFPZiHx_FA
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Id: <x-disclaimer507876458-1677860285766.png@bm-disclaimer>
Content-Disposition: inline

iVBORw0KGgoAAAANSUhEUgAAAK4AAACfCAYAAABgKuLmAAAm4XpUWHRSYXcg
cHJvZmlsZSB0eXBlIGV4aWYAAHjatZxpkmSpcoX/swotgXlYDuBgph1o+foO
kVmva2jZa8lU1VWZFRlxL+DuZ3C47c5//ed1/8GvEYZ3ubReR62eX3nkESff
dP/5Nd/fwef39+el8/Wz8PPrbtyvH0ReSnxNn3/2+vX+79fDjwt8vky+K3+5
UN9fP1g//2Dkr+v3Xy70daOkEUW+se8RfV0oxc8PwtcF5mdavo7e/jqF9TW1
r89/loE/Tn/dHYdeK+vzs1//nRurZ4X7pBhPCsnzd0pfA0j6E12afFP5O6YU
30vvlc7fIcWvkbAgf1qnH7+4rbsaav7jm36Kyo/vfonWGV9r9Gu0cvx6S/pl
keuPr3983YXy56i8pf/LnXP/+i7+/ProMX5G9Mvqv8W/1u+bM7OYubLU9WtS
31N83/E+wpF16+4YWvWNP4VLtPd78LuT1ZtUML/94vcOI0TCdUMOFma44byv
O2yGmONxsfFNjDum92JPLY64iVtIWb/DjS2NZMQxpv3CnlP8MZbwbjv8du9u
nTtb4K0xcLHwkuAf/nb/9AP3qhRC0FoS+vCJb4xabIahyOlv3kZEwv1a1PIW
+Pv3r78U10QEi1ZZJTJY2PW5xCrhX0iQXqATbyx8/dRgaPZ1AZaIWxcGExIR
IGohlVCDbzG2EFjIToAmQ48px0UEQinRGGTMKVVi06NuzUdaeG+NJfKy43XA
jEgUKq4Rm5Emwcq5kD8td3JollRyKaWWVnoZZdZUcy211lYFirOlll0rrbbW
ehtt9tRzL7321nsffY44EqBZRh1t9DHGnNxzcuXJpydvmHPFlVZexa262upr
rLlJn5132XW33ffY06IlAz+sWrNuw+YJh1Q6+ZRTTzv9jDMvqXaTu/mWW2+7
/Y47f0TtK6y//f4HUQtfUYsvUnpj+xE1Xm3t+xJBcFIUMwIWXQ5EvCkEJHRU
zHwPOUdFTjHzA8RLJTLIophZUMSIYD4hlhu+Y+fiJ6KK3P8pbq7ln+IW/7eR
cwrdP4zc73H7U9RMNLRfxD5VqEX1ierj56fP2KfI7revTjNvjRUI8HbqXrdv
xdvlv139mjVY7qcXSmjvnE4bo8XF2Po+56wzNhTXorNcILFSOrVFGe7A9LnF
NK3KmL3OuveqQXFodY9uQGIfkzocZ0Cv8/S0/XDHjzVuYJly3SeNUl+5pphZ
wnA2ydC5/Gms3vWbhUrjhH59OqOcMI3qtTTNBUi/7wWM2upzkzUk28nDkwib
peRNfVeuOYkcWVEWoyHtrJzdejkdFUJybDcy60sGdOZf9xzr7tVPLgZWA7un
pRuJQj8ELu92/SHFjDBxrTEZXWplj7tcjiRQ4D5UgmkAhMlaKocx7HLjJAQl
9VJOmYvI1pLi7gW+inX1OEsjy85pbl7+BXiFxSL5wj8LObqCTULGAjEO1rnn
wFVOKo0ViBEtRMFsS6GXmk+2c1ybjIVsz7WWXfhA8jt3VrhNhlQHFGQzHX4e
ZjUS/aSpW55k96xiSA/L0ABTG6msQIjyQvgR07amtR6O1VNaM4TSYvixPq0R
Q0zGHM3yu8WsA54kRg4as3LTaiSL7RbO1PULaxupwhzbYriRYgtjo35KhXsz
eTLrqYUs3Zv5Uj9uz7vJCkpxmU+FYDZbKIZUQN6Qx76gQSdpxs0I0VlJRj9O
7kq+ESja3fKmRM4l+FVE0ts+FR0WSvOdwJ05zt61BMqn8P6sb3KROvzDV/d3
P+ArI2aAo+Vl5PoF2pjz7GUZf3ZpixEAFndYSd5ZbHu3g7q4hXRf5cRrYeUM
qhAAgn8LRDbvzMHbmoHwGtULYwdAYuUWNffgiHnbCcCpfiRIgpvCkk0IC5MC
djESpKS45mPpSOM23fU0tA24Vcoq2cCj0ljOvraFsVoKBygJaezT7LbGZftN
dsqezHCWvfxRvjLwPQjcpNiJ0J7AyDk1jNJCzGVITzWSgMQPdw6GulgkQwyR
PLycbZGTzOSmaicBIevmmMO8w92FvlpzFWp5VIubWS9KCtSKB4IrI5L2fs9F
nXrrZyYwoTAR4MoD3iFQ9WE4BCJzWaQh6bqbNaqMer0l2WAGm8iV2QLVEU05
xLhPBy9yIFFLPZpF4JaOpSX5gfmRbh8xqzJnaCWBCZV/8zFKB73YMCswBIgc
y5lb8Y+xGtzVUlzH7eZBm7JT2tQxeQBjWa2HdbwR7iqwwRi5Ax/oGWNGK+qe
4ChoR2neDKzG5YI/lfWf5Sq+eofFAEN11Bs1ukG6OOPRrM5B5RbgASIjWTpk
OS4/7cPyJPyeRG7xxA0MrlJmznPtjQFsZfrT4csNvEYSgjFwXVYXSjA+yNio
PXHFudRaXBQjl5IZYI2qRqLAHq7YrYLgc3cIm5QmkKx0hUJUfavDYmQVP9zm
JnFBSPcKas+sFIaCFuIkGFkcdqvkk5HNKz9p3jdTj3B6k468jPV4gAOoLQR6
Znj9dooOfjjiNIqBP/bFpQav+Pm+93/z1f32A+gH4Ukq1JOgssPStw3Jwfyn
whyQiGpvyfDNS6Ch2WTRLdsKR4+3mp04YMjSSbs4Ka8hCaw4g4Z8CJHEihCJ
Qt1INC0iFkMfTMhRY/MuJnzJbjyHl3Bi8XoX1gP6jZrwECpaqwrtKA1WhUEb
vL+mJAjyaTsqdiC1oqgFLO+oPZUQtE3ZiZt46xqinw2tJt6VVRKFNIROU7G2
8cD+uLoo2YFCGIb4AfP6nO1Ax8BvTJXc6wYHpKbvblGt7ZA6tcB4pKuQGMze
3DWMV52icGOw7aiwmrLukCtzCh9JP8ogGQxb6pOFYPm9naWRAVeSXqf0K8U3
iCsY6nKfVW/KAhNgp4IRtc7LgA/xKtQF9YegPNVSrHyu8SKpXtwDcEgEyqIe
9uNXBIJW1b9kgs9IZ2iHeW3kQkbropKAJ+IY4KZMAiC0CBdsM1rjSowX7fnU
BzIuAohIyQbYIQ1hi0l2AyJA4eKGAAGhYLnCEaQ4FEJBb4vNIWgYRPKKu8om
wWngQLKnFA6ITpUjdsXB6Yqtqb0pcRML3M8FVwuQBrIIgASuO/V19R+RQoyg
0akfOB+/la7ZZml5F682FBXw5jsy10Hz2QgSq9tJbCKU14K20MOpUR2dSuk7
XH1EQ5/Q/RVmiwFQ28dmb5J+YNlAId7Hrghw6NI/lkZ6/DtfixlubSy3rQAE
udThFyrPp3Q8UoSlHcd4A3oe1YyER6rHhQIuZGEn6nBDUQZy45VGdSREAR6J
BapWqnTiWU7D45jaIEgVrdtl+CdU2ADjeUVeyw4fWDs+n1SSO6jHLc24Qfk6
FqxNjlNVLXnk32DJK1oYyQuKAHukDjA8MAPoGeCXOidbNwRJmkGfUAicRf3o
dnJESUKZ+k8d82Faki0rSGitzzVwC/sywE61wVitOxZ4oyqhn0SUIAwQDnc0
QAHAjgxgTRa5jtZjhan0+qXUScl+SRR0xOGaLgEhr6GAEQifCt8jI0P0flJk
ngQQHWWxJFtH6zLe4tX3qipkxL8oxkFSTAqWQ9kcALxJBMaSVfckL1kzfTGP
ifK3UPbob0IC65JJwCjv405ze8cIPD4EYAC9kK8suFJW/pRy0GXhfOCIT7CC
Yy6KuU4KH7GLx9hG9clqOIwliQmeLtQw+W31bhCJoXX4dEaWmTVgqEVYB/YA
Z6AnSh0J6GMhqTBUq1IiCMBja9cDTUEHU7MghUBUqTmsgkHYT1QDi4hHJAGQ
vTEkvuYkj5V2yehsNAkLFAwEmRNjsQX4oSL3A54OjbcQa7gh3tQRAbFQ3qTG
9lsgenApESnmgB+jGKAkcAbtjZ6BLzHCAN6BmpBCcwSiTQIrTZFOqaNWD+gH
DuaKo+x2p7N7UVpeFKGhBRyTbkj+XgkzxsK/GDp/GCJmA1RA5EdWTi2wSg4R
NKY27t4SaKgqUtTjkRYpl0UAOxEk4Phc3M5ZCV1MwTI1ZMNDNDIuiJTAsoCI
IGNmarfyXvlRrB0431hcFPcqCETCeNOtuGUuBm2thX5BmB0YGECmGOSy/85+
v68Lw4p5Yf2O76iggwZOMD1qRTl1JbDD83WIURg6S5PB1QaMI94lfMBYCX44
2cslSY61K/6naDCuBY6TkDywKdIAJKZo0eFEGQ6R7BURjryANggvspKA9UEy
IyhYXMQ1ohBEgRzJu1wzMgq9TzGSkMOEQWTERMPAsbAQlA7q9+UX6IFF24ls
BluJt+QVLoscQKHhQQnG1IQdeOszYoOy2RDpwNvqDhQWVjo3y0gguMEQToho
ZJtxV+JUKOw4kCDUKF44uowWRMDkhiGW9qDExF19nxmBm2tCIPVgUBcCt8uS
zLlQWih3ro3iAHgzVhQM52OsCT/Ez6IN+WHHQCw0PDWIcztNmrPydkqJIhJ7
YgrxMxdyRwaPUzHHeeM8wIvbgqwimabmNZ4b6s7PsJJD8ckXiEshRXQPVp2A
dRYiV3WXnDy/YTNPqjgASLmAs9gx8jExJEAUEGhwA4DP2mK8WN9B3cIyov/G
RRaGyQW0RCXeaPCLiwloClz+JSlQORQvNQqg14TyQFpPBA0IBuGRKig0hY2c
mym7NVJsSKfI20gBTNWD4y9oHZVgQEa4INaBYbTMbTqItzCcBulQJLiNlNwH
fEFJ7Gc4H6kUYUIYAlEzkFn5brIfTbdAIuXRAIqPyK2Qm9hww8dRIgnp2ja4
UyWu0IHrUDuIFwgLJ4Ptq6fLE+A9D9mHlInPZmCU0KRSLI14uziWBdAQn0PS
5IjlQUMhVHfWssaGbS/6GzLinixuxloP6PYCc4/Gr3yQw7zjGLH2IBGrsaXK
KOYOJEGRh0msAS+q0plegcRZNwQNkSBdq4WI2kNmOO02NRINR0tCJzCIZV9k
PwUInB2P7CUCFKotNQeh4N0lTTe1g7a+CRoAtR3FRI01WIc0Gr2jeFkhxBWu
EQoCwLpnkkudJNQ6OI7p4q8h9Sr7nkhlVsNRkGgttKIZ3MuNMGUJ6WuMOIA9
3bxQOG4AFoAC+NXOeZ5g7CfOUPOM1pHxH/3V/w4m40SAqB1rPe8plGBuaAem
i+CeRNTIK0cJTYUlHwQhSQ50Y/AoRji5W2bs0MVFOIBGhHKA+SsI7QZVFlHD
i3RqsTksFmOlPvAdkXStYcJ82BByMQYSrNaGYasIGQo43ZZVyVXMBWMEQKKX
68sh/AE1UlId8ELfDK1FDCPrFpkJH5sUASwEBsBTSPuQZeD2JrS2YahANTFV
11dQq1rtWFhWbYUnUkORrggIYnQoVplspLCxL/29CFKkco8ujBrAXxyHNAas
mIZym8TPZig66mdGqQA0a2pVPr0QZ8gy+MDMcH0kKAqg4DqYUVtgdvKoctBT
zVNwgJzSTJFt2Fo8LbxV1RGs6k8EFU6mHGHfirzLwBI4hKpy6jUuxhGylGC9
KH302FNwWtygpUC78FG01lI3ed7LMnbKcUrhCR+gBzfxH5qSqbHNZxF6XVm2
qGx1eOS7jFXrSZtF8v94P0TTaZTQZVA9YGMlIvAp8J7QSXR4tdU7q2oSJAOX
h5jSh8kyMqJUgfRIpC2xEGojxyEN5IubFZ84iXeEp9XO1FrbyqqrCDyk68FX
YEwdAZAtlWcRDnx8yGN0cJKV9w7MuaoyqRRxlzQPQILqgehKUNMG9G5kE5AP
SVR5YGMF8VsgyJYPiLfgRRAH2I09qV34HSETRaymlkhDYvFFu5hhJUA5xtrk
1DtUAHKR1vV5TbV9UOVzHaCWyr3Q7dj26YUaVNn/fcPlfnohyLfhFagX5Bwq
69ELyR4gl9s2KvBOuSVMh3wCmv+1JvZMz/dDBd4aa/xAnSJE4oC461G3evlj
1jjJf6z6IH+xikLGim9eQ9uEbZhrYBgCg7RJmHojSXANmK0Ku3p7TgJjLd6H
1Ej4HUuPBAxUJR0hogL7UmYsNl4ablQXrcqO1NI2iYeO56LIeaRUVa8nT5BB
9hFpjNEbZCQKSY3xJlvsbIbYnjNCi6NDQFJCPZVNGWinvJN6CKR9R0/h1kS0
Er8YaDW2N8KQFPausAo4yIDNmCQ3ghZUIK9kvckR9D2wF1Di0COvRxRxU2NQ
zc+k3l4lwcq6rsULUWGWo5SfkR/oMNxAr0n7PkQnq1OKwmVlgW+GAhYgpyBu
xMDBc0nBZMclcBlUGWasCH1UJ0gSbp7UlED8seLYCcww9R+Upw+PYBKApG2U
YvLpOioc2JLBWTcAH1tdcQQ/YWuRIp0kNuDdwUG5r7f5xDxx6gk9S1HUFRrY
6IKOUeCUcScJfoMpKFuo72ovK4YQqUSkCQlPfjGbpL2HQaYhliCMpZ2GQ5Y6
lhjYR6p5eAiUQnyrpQDqkFP3IFNRM/ACYY/DTGZmdDzF7p4yQlCpFQ4jY2pw
ayjb+LZSKytzyAybS1s4B505IcY91KuBEwFIct7uoZBQN4CTIaMPueuGZ/mo
5whtUNdloSNImaBtUAwLfN1RXyhkBDWwzFi7NBtRB5kRW9pNBRDMaRPvU+65
pf5P2it/LfbVULWvCYrI1/bDSqQ92CajeVrVvugFGZFHmbXqFQ5Gj7PMRBaQ
RmcsVD946d3OR0UMQrxtR5wbpAS0gqirk7QocPDtykVi4utOkCE2Mowzj0dx
TmQBybS40BWBQfpgJ1pD+yiwONhHul3BpxQWV8JaET/lpNcqErTI2jV5/w4Q
uartko6/yIFvhDmUSlj19WJR0WrIs9Rkt1o0VLB62JAg2B8W2hOdbDBMcHVB
MoxUO942t4eb4OKpVl2QImC2FZZWYyyomcEPXjc7elQhxgeZEMHE7ZL21du1
myVqsHOYFxg0IoQQP9R4er0W8iOJ0OJuW0PC9sWtPlqhNFnW46gjZrcZT8eo
Qj1F2nDlcnBh2jBgGIFJYg+RX1fdeXmdzkxmNJjEUOZlNtcRktSwr9ryPt2Q
EqDIwKYgw+L0alDBT0kVTWaC+7vfpcxGiwUyb6nHv7bLGw+HMtM2b/u0WFGj
QAFy+YBfSELlBqZ9HFOLjvIoSwiGTzyIi6RdsX2dUBobL8k3UQ6oNSCLqio7
yVdgqNDUiMaKlg/YaOC3GrBP0EdCg1UqDlaCjpp6HIhwFE/QnimevXtJPRAc
FYdnI/B4CGzb8VQ9ohGoqjDSYiqVG2hbfrhYtTnpXzhNHrYQUpQiA99cs8L7
UTsGUoJTWyjaxIckVsBP5nfYqWMx8P1UCDAGtKyFoJi1AkMF5whVJg3F1OzH
+XkIlNWO+Af4lAVFpvQ7lyQYes/BweCcNijuXmDn7b5AIMSHrK3AQcfzR6/0
yyzr1g5qRGTierT3BU5CX0Cdo+jxORtSUwMfQgNjKobiG1uq/x93VX98df7f
fOP/z4XQrKyQQe24MASGuL9bQst6ZDlvWoAz5SIRTf2zMAAzYFIR92qkqpWF
VcLeC6BY66kyjHh93532mfldIDxpvxi4FgrAi/77EwLqgQF0acSOBLAV8a6F
N5BSaD+kYdJxBKkRtPqtHbjHaSbuRjUBABkfGwgtMgLO9/XsMUgo8VLxfQ2x
LsiXIl4M7+PUw4xxC6j35rMYn/vzvXQraoK5XB2JIR1JUvRSBdxwtQlzTKI6
rx2XEnFDCCYk1YaE0WPYT4EkN3y5LF4Hc3NX7xHEu1jv65EuU3vTOsvjSn0H
TeTqAfqo4zddR4d8ax4PAUYh7aDfO+4AsaI2DMoEC2vdhnAh4wZwW1xSK5DR
MYpf1lAnaj4z67+PmjBCL0YxHCijtusiwhmKxxvKgejzBHVzOXwnqgFwWSh7
BgXnqJrRWVvdfaH2jbkkUMUvHKRwSy6SKUXs5lIcYGSS5vdJ/Wm0o32G5ub3
2H4fmv91cJtcAuFFnB7c53MFAQ1krG5O27m1fgXi9AKxkYdSZ9BqeTs12LjX
isZNI68Qs0AIvJyLyoSgwm9tYI7JhC3KEhgHtbPByXwYDByIsJfbswVc6+wW
CYOivdQS9ApjlSu1GFbxUv4IuJs17iniVpS4vQ2QT4QGCU6ENfxsgDkMTrlU
MQb0aSwdGaNWA1YUAvubvVxkHJUGqOOAQt7kDk5c7RJAq01UA7qfq09yMLhG
NDN1NZP29PuldqeteWPVdjJWMlydNJQ0FpVh/UhezJjISBvjOjekNj/h10kP
yWOsH6uHGMaisgQNAeELYQ77Y3XebjIAoqNA2BsEEIFicXXcB99vmOVV1TNI
F3ZBUuaKsjlSAVtNY+0s4pyRgQSyjXEE32iaDglFirYbFHbx/RdLAkuetpg0
fiYGdCRrq+0rhdNQce0oXnBwgG5ginN5h5zmJhIduV+TEyZqI6ohEQ5Wh2Ed
dcQKLk0t3ZKQ3QDOEjX1Vv3FgUBZpjNRI1MJB60dUP6wok6ZHJgT+Yvqw4lR
+ls722h9fF7QDmel0iNqg4zUDFjsxji6OggHl41fUwdVR0ZC6aQGJIp+EiID
c0ZVNrVEESpk/2Itr3aRieVQMxoTUkSXMm/uuY/8zAlFofPhgixEltqB1xBS
hJJ6azqigp5JF62PHmf28qP5deR4xYHyx9SOydJsQy2UygLwxhGokbMl83LD
6peFYfSGBYBRMKM2Vq7aeqEcC4Ids3TV6H6ZTuBwFPgJmJlvQHxisuCC8bbb
9/DaVB0Zrtbukc5ewQJqjjowt7HWE2hEENi9KKqqTRrZ0hVxZUJF7Pc6W0Lr
6Him2nZZh1/iOwGjVXSBkWBGn6QkSwGZpO4/yhY00XYNCffGCiSkDMChgs8A
+yqGHRxSg9/OTk7aBi80BIdGXiL+qHDmiuNbG76ksMhOLR+ufhMaGVQsKsoO
uESzsZpm4+33+23etBPGL92UpcDCBWU3mNzVtUcbbb1AWeaedbwGB77RqEO9
bjjYRaEXF21SVQxmzBKoc9uwDWt4DiIO2QCJgAng/y6gLZndN+UYcBJN5zDI
I+BK4hL3bzgOcsKrWYnuy20NbCXYRrCKtoPgLTweinn7VXVDzBO5qfM8YzgS
GsOoYyZFB6LgBKCIdDdDbWBzQPLwPDf8XNQZTSA3L/SJzZj8UA3esZf7CLOD
bdPB3D8roqr9Udm3pZ0M+MNQj8MbzN4wFxcnvJyaq0wy6+Rjxv9g8KunsifW
FA/BmIz4Q4TzpIOgzV1nNxEtpWG3prQzAyzDeeqEPMLzok1b40YHiY+kx6NX
Qsi15Wcg6aWhg5yI4FGOfCx1wlC1SiM64lyLjpBpgzm8bT7tg8TedCIRmFrv
VCDABIri+JZ6+OqdtBhuQrlrR+dYd4h7yLcEHSTd6GhVPUU6dIIdc32W6JB5
KhBQChiVcNkrUXTW0ntoIBD46+5YF/jBqlPOSAbgAT4qmExybiIQKSivwwUZ
/wSzUCtXA4euhU4VUCaWKTjA4mR1sK8xsL2eqhusynk9owPwogPTQWZ1vGPQ
CcDdIU7eFhg6NYOmKur5o7goq463YDhXx1gM/MIaa8fXIxp0/C9REs9HRX6r
NwThJWEAljiJ7xw0Cp00xG1TPwfFAHLpKQl/dI6YcL8tacPiwHEnJ4zPq8/4
OrxendSGhXHEEMEAmHudF8bQaopKMfgPfTl0Bkgf2TqdnpG+Jplzs863JTFj
WAcI6w6ppJ0SxHyGjHVqGL4qwiF4DZgD2YAGzF0lsOgwon/1oAjIfjC2nRxX
Uzg40jKMoX8sIicHpP5Xwt+9k3VeUT1oAcHgVoePMRSNFGZ6W1GA3/S47L11
GnRfaYqExmG5UtKR8gdlVGsj/4GloazLDAj6YbaxemTdODqkuxMG0M0MFqu2
SIwTtWfqBRAJrwUyzopVrl6HjRpRIEKv8wE2wKWrHgTJAPsEtfNo0/hFAC3A
Dd6esVEb2lssgzlSYHCgR4Uj+6oIXk6vMo5oBiji8XGQxLWqr6oqyaYjZxVR
ON5OiLW+0HpDMafgxI2FSIOSeppGbSkdgQw6NlGhbAxreMeaO9WMpNGZ0QAJ
AcctHnUVECpqEIfLaMT8XQeug69wUQvomoa9cGkfpRy0HgSo2gdeRY3apOkO
omIKNkoI4Djqj4mLQH6IMenmOg+FRHRfm1YXkiTN/nZHC1WDBtisLtLLr0Ta
a/9rCWYBA234LrUukVZd54x76L7qyaG+Gf+R1D0oCqAJB6LKRyVoPxysQanO
gXyJ0seGzZIgSO9MDzGjng0loxNuL46eGh1oOu1yIowBpV58IwA2H4ztuhje
ojhcifs2ryOIhqeaLOEcOquBqx3ECqbhR+BMzWhHKf6zVmaE2rHWUUuSCWDG
HWXtCZMDSU0BHX+N8EBWGwpNzdB6DFldWk2qFykdMgs80UEFPV4RElS6VnAL
o1d03EQa0MAc9YmpRcJraHxyBeGIEGZygQVbr5BAjl+XwWkd3mkcTd7rMFrL
VZ6yaN80KuSAdWuJggb+NCOdVLMpYmJASKikkqZEdDbD5DtAiKhUnV+7EcA1
LItsaBfd7N/h9AZxdHinvTsl9RPPtNvMReU+agY/jhQbRB8h7SW1PseQgYC/
QcYI4arJJ6+UcZADR5CRdlHaDv9AxWR1RcVi0XMPUl590KTm45MAY/WlE8Y1
Te0Jo5W0CbVsoF7xjy0Z1oWrl/IFaTDeB9ISiPRGQ3VM1vo+VMQ6Bgz3BelR
cU5OJQ17khIVgoZBXQ1j/vgp4jJMx60PAg0FopFXHSSHvX/BUfcTkJazovrr
ADeVeXwt1BdXguOTpChFKoG+u55+MnRgkmMrrIK5ObAAynVZaBKRUbfzJrKO
L0qRv8znzWYPqQ+qAk5d2u7FVq2rJ1h0ejXorNzU0SOdxUchfNr2k4T34zW3
oZyQ/3U379/9dDdEiNSIHnlBA189VVR1RgM8itPrgRLteQ30DTaEbNE5Edwe
0TAdTAe+HrqC76yfd6QsBMfoyHc+CBSqs7LUISAD9pT3bu1PuLAAhKLTVwlU
Oq69XUDyyriYWlIr6qDYVOcB8CezqqaFatDO7tQzEg2hijCLIyxLrFXW6VY1
NKtcjI7HnWY68IPa1uPDUYVXtUcjh4cy0qnTI+Ir/etRC1Dp+0Cn037hMZ3H
BWh6fudXoQ2DjZAgEABGtqFetSGQZPt1bkb9IeEaK7tX0IFFlL8ekEG/qpmv
apOOkAJfcELSqalS9QSOdm6pTuqaCUfspajcK+6EHVGfdR7yneE22SB8xL8y
qGJeH5PgpNsnhYoO0vDm9jmAMtunb4Oiso8XyThe7S/r5HlSH2ZVrPJRSwQx
KfV+f7qX7pTePljXoYwE1zqv1rYe22lBp+fOmDGKei7CVU/qaIOx+dfVwG1o
r1znqV+3cSMATMdaqEamtq72unb13evgWJL1U/97+Pf4VxVibz0uhmYkJUER
zAq6O8hg6/kHaGLrFKueWwHM/e46fagng8DrY6anGfaV4FDL8zA+dC6qwN+q
xpT8MchedXwKh39c0JNoF87ziMrxtcJ/WV/yoSFu4LQGsthmHjAy6by1PYfW
06FrH7MjrlsgtbxBuLpQ1YXa94Xi8xAe5sWLBsKuh7tC8Tr7dpCNkJ2O/Ban
58Z+D3R+GdF+itJVH4zqgEYoJ27WdTRCJ4sA5ekgXC9/iO3QU9wqzS6JjKFH
FCDRCxoFhAgvcXw0dZd0EpbYlxqwhjrjMrHrkyqbpdg7mzY1h+/xa1PqGNZF
zxOyKKbVxfLrUbKLdiHZHy7BVEkPntSHuwnB8g0QQ8ckGqrkarfyqeyLtAJN
sMNaXD2F0CAK7VagxKEj70LQI5RepwcwzGLtGrInq/bRc80jk/aoBPQs5I7O
CP6CmTfFrtPwwDmSTeN0fx7oH8fZPuP8HA75daSSfnok1mIEzScJl7yIcckV
Yt/6x6v9SIsf+RXV+s/Wi/inJu+yTvvoZKwOMGRI8Wh3HJcHStX/cYFr1Olt
nVsPlLjTg+AYvPQNEXt9rfBn1GGzolx+NsGDrqPNdj1yMdfrISRIXgF3wi0d
dQnv2EGbOYK0oANiE7/3+R8ElKwjOkYt6fzJ1rFFCAiunF0n8UH105x6u/2d
s6CueC8aZWLowSdqyy/R6aDGk/oeOvgdYNzp/5L48QOFTl2ydzud290hYIn1
UDbqdH5qoiblpU72j6ND5qHgS1Fs1D1LGEkhYgOLpLXD3GCQThoWSBHmRymq
laltPcjToi549PRbVAcpyhz0jiGfgUigglie5CKUixIbb1cQw6fI7qXnPYcU
NCUStU/lwxZSEr4aV44WMWnLrg5FA8iIdxfWMp20g5HnV3+PNfru7wVpGSbX
1HUrUpZVR9JT1qF9eHRR2k197eFsjIYi9NrllvhHNlxtwUG5V8dZcfWsfHzN
voSEfE8x1iZnhvOyZ9DWTlf7/QxnUjMIh4iIZL5JZ1dJEGgCOga3buO1Tm1V
PYnbSSevTTu15hIXJufV0QLS9ThxgVWv/tcEEF97nRLtRkxZS/8auuTMfhpC
F23Ub1ZTOWtnlDjqqOd7qIvKQ4aOT6niuD+F8Kb5Cpzw4z4/Wxlo3vg6pNpy
YbV0cMnFsHgbUqYundrX8TcdhD9BnZC3Al/X/1z9c23/dfWmq+M8qCLtZcNw
aBltgOgJwaRBH1YTL+vzeyQiqxdWt9ScpZOzMr8h8VLX/75BveU+HHX1lqEh
CFG4lpCG2p0ZMLE0vp7mJXVhx04IR2N9vY6XHD07YnpuRKSxigNXq8zX2xH+
vmrQFnkXk34vw4hSNDuCpkl2IOg5Gj1lgfE8A3PiekNB6Fk+VgJHTnVsMbSa
Fd+XlXq1PpYdibF1SalsH/qa5VOy+SLYS9HxFfWlNtUBs+p8BUyCDvRBZk9t
MSipvP8XRg7azQhJj1kyzLNg213PdTCeTlJTE72mlMZ77GzrkRXBjXb71ipd
55a2Glx6diuj9H1epWHCxJuqvUr4jzr1yKKES1xYftMeI4HzehSydmEette/
p41SVtWwGClRy9pe1lnzBMAyIrTJ0mGLIypX6Lok8ce4EDxdtr3LAgXaTBp6
4Kd1oq4d/2PKkFrRR11PAp7wykec4aGTqFVO611svYfQ9NTppzxIO6FMHDJk
/bwD8Se497gOfF3L0YYBWBBkipUwOuZetBuvDa5P1akzrII4uF21OLWptgZO
6TidysQmyAlcM+0X6lQQmhEIkGBtepZ963jC1tEZkinO9lkJPTvyulkarvtY
AkYshwUpH4nHV0B6qF3PFyQ9w9yE0jonpHOJeuzWH6G8nod4hd0cNbY//SPU
ivS52PKsqh/DhTZQhbdKLSMr9RzK0D4j2ZIMnNl6eNSTqdXpiT+CgEfpLHuT
avpEuuAFlKY6Y+kTSLBAfjSf9uY/R7DexlQNldie5ChkcdeM7+i72nY23H8D
uWZ05wi91FUAAAGEaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBzFX1O1IhUH
C4o4ZKhOFqSKOGoVilAh1AqtOphc+iE0aUhSXBwF14KDH4tVBxdnXR1cBUHw
A8TRyUnRRUr8X1JoEePBcT/e3XvcvQOEeplpVsc4oOm2mU4mxGxuRQy9ogsD
iCCEuMwsY1aSUvAdX/cI8PUuxrP8z/05etW8xYCASDzDDNMmXiee2rQNzvvE
EVaSVeJz4jGTLkj8yHXF4zfORZcFnhkxM+k54gixWGxjpY1ZydSIJ4mjqqZT
vpD1WOW8xVkrV1nznvyF4by+vMR1msNIYgGLkCBCQRUbKMNGjFadFAtp2k/4
+Idcv0QuhVwbYOSYRwUaZNcP/ge/u7UKE3EvKZwAOl8c52MECO0CjZrjfB87
TuMECD4DV3rLX6kD05+k11pa9Ajo2wYurluasgdc7gCDT4Zsyq4UpCkUCsD7
GX1TDui/BXpWvd6a+zh9ADLUVeoGODgERouUvebz7u723v490+zvB3gHcqkl
oKXxAAAN/WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJl
Z2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6
eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1Q
IENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8
cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09
Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpz
dEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291
cmNlRXZlbnQjIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9l
bGVtZW50cy8xLjEvIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1w
Lm9yZy94bXAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNv
bS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5j
b20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6
Z2ltcDo5NmE3ZjI0MS1lMjNjLTRiMWEtOTdjZS1kNmU2NjliOTk4ZTIiCiAg
IHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MGNlZmJjNjYtNjFiMy00ZDZk
LWExYzgtMTg5M2QwNWFjOTg5IgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50
SUQ9InhtcC5kaWQ6NDIyZDdlNTItOGE2Ny00NmExLWI5MjYtNTJiOGEzMGIx
OGIwIgogICBkYzpGb3JtYXQ9ImltYWdlL3BuZyIKICAgR0lNUDpBUEk9IjIu
MCIKICAgR0lNUDpQbGF0Zm9ybT0iTGludXgiCiAgIEdJTVA6VGltZVN0YW1w
PSIxNjU2MDE0ODk0NDU0Mjg5IgogICBHSU1QOlZlcnNpb249IjIuMTAuMzAi
CiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0i
R0lNUCAyLjEwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4K
ICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAg
IHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9Inht
cC5paWQ6YTY0MGI4MmMtMDg0My00MjYwLTk3NmMtYTg1ZjA3MDc5ZjcwIgog
ICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKExpbnV4KSIK
ICAgICAgc3RFdnQ6d2hlbj0iMjAyMi0wNC0yOVQxMzoyMzo1NCswMjowMCIv
PgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAg
ICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0i
eG1wLmlpZDozYTUyMDNkNS04NGRiLTQzNDMtOWZhYy03NjFmZDZmZmFhYjgi
CiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgp
IgogICAgICBzdEV2dDp3aGVuPSIyMDIyLTA2LTIzVDIyOjA4OjE0KzAyOjAw
Ii8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICA8L3Jk
ZjpEZXNjcmlwdGlvbj4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PlmiVpAAAAAG
YktHRADwAKIAftw2PhcAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfm
BhcUCA56CWQaAAAgAElEQVR42ux9Z5gkV3X2e+6tqk4Td3d2epN2tUlhJRSQ
QEKABpFE/ggm2SAMxmBbtjA2/uwPJ2wwGNs8BBuDbTAyOdnYGIEtECMhhISQ
YIXianOc2Z3diR2r7j3fj3sqdO/M7Ehik9TneXq3p7u6uvrWe8894T3nEjry
mOWnT79UFdaUledrUoFPBADWAgzYRoio3rTR2CQfuW/UPuPgdu6M2GMX6gzB
I5MvAuqiN7+8N9/f1Uta94C5xzbCZQCWE/MSUqoLzAFZVrAccWRqNoomOTIj
1vIBT6uDNjTTptqYmtkxOnHR5ntqnVHtAPe4yAcA9aprX3O231N6ktJ6E0Ab
CLyWmc8gYFApBTADlsHWAswgZsAwYC3YMmAsODKwYVSHtXs4srvYmK22GT1g
a817p3cdvOein9871hntDnAfs4x95DeWB+XBl0S18MW1feMbibEUhD4AgAXA
DGYGCVhhOXkNNn7YBMDuISCOH5FpIjKH2JgDpt78cWOy+vWoEd1y/o/ujDp3
oAPcBcn0z79O/uKlJZ6aXG12bX0bwuYvAeiv7DgYmJkagWXAmMEWABxQs6CN
wcqMFKjt/xsHYjY2AbH73xgY2zC18CFTb36Cm9G3olrz0Dk/vqvZuTsd4M4q
tT3f61G54tNA9FoeP/wqs3NLCcagfmgS9f3jIM4CFSBmB073T6phGQDbDHjb
tW1sPlhQon3NUSBGZGEb4RbbjK63jehbY7f85L7LEHa0cAe4Tr4P0OUjt7xA
5XK/CqWv4kp1UfTQPUCjhqjWRGXHKLhpkNW2DsDynMkBVQCdALXNdKDY/s2Y
DWwtyLADa6yBI3kexQA2sI3oAW5G/9mcqn7irLt+uqsD2ycwcOt7vqOY9BqV
L/wx+cGLoPQAIkPhQ/eCx8cAZtT2HUHzyLSAVAZMNC/Hmje2d5E1F6zYuQCx
PE+ctVbTIQYtotgeNmDDgDUpkCMLhKZpm9HOqFr/a2v4c9GRmfDcrQ89YUNr
+gkJ2t3f7qEg9xKVy3+afP/ZINUFIjIj+2EO7AGshak00Dg04bReLC3gjac9
y1NuUwecqoW246ntfOCMCiH3lI5WK5qIFmtPX03Aucr3HvytpUsP//3IKHeA
+0QA7Y5vbaRC/t0IgveS5y0FiKAItlJFtO0hoFEDW0ZjbApmun70CZgyiJsN
gTHwSMwKyiA9A0aOj6UW0B6FYzpqUfSUUptI0ZUKmH7TpHrgk80p0zEVHqdS
ve/LSnV1PY3y+Q/C858KpRVIAUoDDITbt8Ls3ApSCrYRorL9oFu6E13q7AVi
yuCWW7VwxmEjMR1iBy0xGVqiD3GEIXXYkHHYkvdixy1yNm9sPnAzGjfN8PP1
w5U/O3fLA0c6wD3JwibSbK0GW5+NLbCNjA2bDQ6bhqPQchRZNpEtrjlrQctk
9YEv+6pQeBHlCx8nzyuz0gTScMBVsJUaGrffArIWpBTqByfRHJvODBCJkkyX
f7KZEUwiDXL9MTiRcdjaw2aZBEUK3NjObQ2XJeCNDDhiUGQcsCMLNE1omtE3
o0b4e8pXu9bdcfcTwnTwTrULMmFjEVuzni0vh4lK1kTEJiKOIsCaBlszzdZM
sAkPTz949xSHYQXM1Z4nXTbrclm99/NFlcu9SeVzH4BW3dmVGaI8w507wI0m
oBWstQgnKslSziCQ876S5Z8TwLZaDUycrPMxnlODFanZEL+usrpDOa1MBCiV
2gwxyBWBtQLYgKHSL2b4CniF76mSZf59APd2NO4Jlqg6vQTAZTCmLwYsoojY
RMaayMJEPhujOQVzncNwkk1z3IbRITbRyOJnvHAyNQ8+X9CFwrWUy70bnt8L
JaYBacTPbb2J6i03A40aSGuYWhO1fUdafKv5BooZIMqALLZtmVvBl9W0nIn5
xq+bWTSvbYvtGuPeiyMNJmM6GAbl9O3N6fp163545487wD1B0jh4gMjXl7C1
Z7GJFKLIMts9BGxja2esiRgmUjYMCxw2+zkKl9owLLOJijARWRMZNlEdUTRm
w+jhXF80mh/w30aF4l+S9rqgtQNt/CD3f3PvftTvuhPEBqQ1wqkqmmMzqe16
1GAd7Zy1BA1sm/0bZ9CQPncWRzZpkUkNcxa8DDbGxXqtgDR+L5S/TQpgHXgM
ojubk9W3nXnrnT/rmAonxK5tehzaIluj2Rpma7eTUncWVp8Vth06PrX5tgNs
7QMwkeJmY4BNuMZG0UpEUcma6EzYaD1pfR4F/luIkBPPqQ1qTqWaI0fAjRBQ
nNqnQkkEEZjIEWbiMxBnIJzGcuNvOEr7QlQy24y1EM+KTMRBUaqBKY6JMUgp
MDsnEZ4CIoBgwR5l7Q2AGTay5HcFTwl68h/ceeVT3r7m5h9v7wD3OItt1tlG
IWCMYhM12PK+nk2XhLMd23PB0xJdBuAAgAOj//VZn61ZbqNwdXFQvTS3uPBG
Isq1hKJa9KN7bmZmwGEIaAcAHXiIFDkPPrED2j5Oqf3bEpeNTYckOpaJAVNG
UyukSQvKfI2iVr3ODsCkyH0LE6Al2MYK7AGAkRMy2DAsA7rgP5eZ37v1souu
XX/7T490gHscpbj6rGjq53dU2BogipS19hF5x4MvfUMIYFf17n9eqoq5FytP
dR29zvNRhhKDYKMISkLa5Cn4/UUXVbAupcs0Wyx3lvPNYnsxZ4E9WzzXARNW
JgQh0bgOsCxuoYA30bAWBAX24vnrZoM1FirnQxf81+RQOnQj8M7nOnQ/rkSd
UhGFWvWgqVUiU6/6tl7pfcSx2js/PkC++jPy6KzUPIhVIKcevizDYED39jiz
MjJgE4EjA5UPECzpBnn66Ngrs3ATRCPDgpH+zVnGWBwBludHWcYUTx52c4FE
9SqAldPApMhpYqXccy1/a3ccKeVWC3m4cxEo5yld8N941vOe9pbHo8Y9pYDL
YWO/rVWnTK0amGqlPPrNzwcL/ez4v/+5B/BvkadelLC42jJaRyk+ZgTLlwF+
DhxGCXhhDXQxQH55H4LFJaiCB/KUA1qW6WWt8HIFfAkrjJNH1gim9vgZ0tBZ
elnueCKn6V14jEQLKwE2pWBVAGnKAFdWCN+DCrw+rxhct+s5l118/8aN1AHu
cZJFV1wd2Ub9XlurwNSqK2zYGFjoZ/0l3c9Xvn6HI7s4NDHzLIt5JjEAhtff
i/yTNsGGkQNvaMCRAUcRQIygv4TCikXIr+hHfkU/gmX9CAZ64C8qwesrQHcF
8IoBdM6HCjyQryWRHpNonOfPcTQgq30zThqJicCKkjgxqRSryGpgUqlJodwB
DrwO1GzZTTRfQ+W8c3Uh+N2uM5eUOjbu8XTSarVdNmruYWPWsok27f3sRw6u
fMN14Xyfmfzvv1iuct4fgdADy26pzWhVZLQftdu7xCiesxGILGp33gmERixG
9zkLgDwNnfOAonJLM1HCMcjGGBJeQRLGlZBW5GxPjgw4NOBGCNuMYKoNl/iw
6bUloeBsAE4ULospQYpdEoKNHJwlO5D7Lq3Er2RoBK82kfnOtisv+cK6m3/C
HeAeBym//E3R3s999CdsomUcmY0cRTsBbJnr+MOffZf2unJvIOJLnBtunbPC
FiS2KLNuATC1k2ICH8WLNsFbsgi1n26GnZ4Em2YmicCwrKEYYM/ZlaQAaOXA
SgJaUuJXCdJiGyFW8vH5LCdEdI4MTK0JU2nAzFQRzdQltSuJB2KXvYudNY41
NLtMGqwYxNYBWJGjRSoCPC+2PAK/K/eeqBF+F8BoB7jHS+vWa4c5MvewNU+x
xlyx7UPvPrLune+btZDQX1TaCMIbAeQSMncc0FcshYtWNJQAxrLEbV1CF2CQ
VsiduQrByuUIRw8hGhmFnZ4G12tAWAfCJtiGQDNyqWGtQUwg0oCWeC9ZsCzj
1OIJphExzsRsiQHyPZCn4ZXywJIesImBXIep1GBrTZhq08WaORMyY7lyFcfW
4siDcpPVMpSvwYEnsQhenesr/h6AP3g8APeUNdh3fPQ9RRs1n8/GnAFjdrAx
393w7g9VW0yEb/yxTznv3bpU+DOVCwDfB3nuAc8HPA+kPEDLQ2lAe+CWtK9y
z4lApNyQKPc/hyG4EYKbTQhXQlKwkctagUHW2cQEYX+5WDQoioCoCYQNcLPu
PgvKmDApo6w98ZFlidlmCFMPHZCnazCTVXBkMsWYklXLknUiC10K4PcUHYss
ioBmBNsItzanar+0+pu3/qwD3OMoD3/gXQNszP+BMUU25ic2Mnec875/TOqu
xr/yByu9ntLdqpgfoMAD+YGA1nP/ax+kNaB9uJSvgFd5gFIOwEqlXpBSmWVe
ZZIPqjUR0ZIZQyvN0XJS/ZDSFg240QDqVXB1GlyZBlcmgXpVQmwSTrOcOHDc
UuLj+Ak2isDNCNFkBeGRGdh6U0p9suAFYCzIU8gN9gChTZxNbhhj6s0PTNy7
/z2bfn5/2AHucZSH/vTajWzM89gazZG5ka19YNPf/SsDwOTX//B9urv4R5Tz
iQK/ReOS5wlgZ9G6ygMrBVKO2ug0MBBTHSlejikT8CeAWbUl0lqdojTjlbFr
M5oxKWM3wjlo1MEzU+DpCfDMBNCog8M6OGwCRiaAkfhwzMmNARoahNM1B+Bq
A7YRyXnTmrf8qkXuPKERu9nA1sKfR9Xmq1Z99aYtHRv3eCYlKpWtUKqPjbkC
xj7LGtMEsPXwP//mMqXptWBLR3NdnZYisgBZMImjJsTw2CYErLMZrQWRcl67
smCbAShJViqpfKC20FqWdBOHstLXKE4oAGAoB17tJgrl84CfA/UtdsCqVYDq
DOzMJLgyBcxMgK2rTI/TvkkGzdPwe4vwSjmYSgPRVBXRZBW21kiiDCyZwGxZ
kcrx+RSZK3a87BnbzvzPH5y2GbVTvnTnH370M/7NS590iKOwyCZayZFZ/mtn
rR9dvGnJy1TOfwV52leeLPOkkqWf4r/lQXFgNKMhCRLgByVJqzRcRq00B8qE
uxJiubx+lPZFi2kRg7m9Lo3bExGeD8oXobp6QaV+UM8iUL4AGGcvE7ddV3zN
noZXyMEr5qACDxxGYGuhSzmoQCe8oCTRYblP+frLH7pnW9gB7nGUj9+x2fzG
xecesM1oKYxZpjXO6FrV/Xqd99c7G1biq0olYak4ch+HqwAl2ah2AGa8/hha
TKm2nM26mqWSkaid7hh/dyuYqf08NJsmJ5DWYD8AFbug+5aAuvqE+hhJ6CtT
jZEkLBR0zoPXlQdpBXgaKtCZ0qPkWlc2p6r/+eH7dx7oAPc4yz/+5L7oN87f
uIejqKzz6ik67w353UFR5XxQFrixxo0B2wJeJGGjJKqfZNFUGxYpA+A58EuU
wSQfrXUFnDQLIz3W+URHfwFTWyElKVCQg+pdBOruA5QHshZswgT0JMmU2KzQ
+QC6qwjl+RLL5qzWJQDVD/1s6/90gHsC5BObH2q+/bz1I7m+4GkEfpYJDfnd
OajAl4ySSp0rSvP7FCcDkvwpzfL/LG5rsiRTK7E8k5WjozTzLDbwUeDN2MDy
eUosZEoATekMSTW254FK3VClXqhc0dn1Yf1oCgQBKshBFQsg7WK5HEWp4if0
vW5L/dP/1JiMOsA9AfIXb7lC5RcVXmItPzmsNhHVQ/jdeSjfazUXlErDWImN
mzUP6JEHVtiRZx3uCG053xatfrSKbbOFidqOEB1MbYVqbXZ3ch6tnT1c6gEK
3UDYAKIo07OBQYEPFQRuRfI8kOc57oS1IEU6WNXzgw/fs/207IzjnXYXnNNd
5HuXeqUcZkam0RyvYGr7QfSsL8Pv1s4OJAkjkcRBYR14LYNhj4Zqu8mb7dih
tDtPrAI5Trva1AyJqxYSnZkloGcKexTJNcQvKYl6xH4jAVaBlAWzAhQjtYA5
5T+wc7gckTwPpT1QsRt2/BB4bASoVR2NR2vAc+X35DOU2M5mega2Wiv6/T1P
N8w/auzewsrzTX7FWu4A9zgJG7uYPD7Xy2t0repFZf8UGocmMcWM7vXL4fd7
SdM5F+aKg/tGaCyUhMISZRnnYpXYiUoSCETp/6QkR6tS+1ecvZTdZVu1aYsT
lzEbIARxJba1UCIpS9Zjm8SQKWPJZvluBBbwimmwuAyUemCOHALGD4GUA2pM
u4yvxOvuhvG8HFTXUOWhzbfrXK5mrZ2sHdg1rTx/mrQ3HSxaajrA/QXJyJ++
kmy1cb7KeQEsw8/76DqjHzN7J9A4NAUbWXSftRK5xb2upFy0LZEFWwLYIOvX
J0kCBZCSrBepjEWhWioSQKJR4wSFOhrAiPmwMZOrxXrgpM6MbOoTAgAsuetw
vLS2OHEavyXWLcVChEjAy04L5wvQS5eDu3qByjQQ1Y6uygBDI09EXtkcPniW
GlxWBxETUZ1J1UipSnPy8GGl/f1Q6pBX7LId4D6WZMRMhWDNxV5vIUmRenkf
3WuWYGr7ITSPTGPyvl3oPXcNckt6QUYIKCZmTikwmTT5QNwKYEmUOWXHDszK
1X7F3j8RA5bSpEQM7qTVAWcAzWn4jdEaKFZZ8Aq0bEpddCnoWfxFHWvgNJjr
XvdSzjoDVCwBQQnUqMPOjIG4hpTX7swOCuu56P6fPOQtecFegAYYWAqgZIEu
ApYyaKNSQcU0ajtIeztJ6xqRsh3gPkKhyBDXG5tsvQnKec4UsAwv56F34zJM
bT2IxuFpTPxsG3rOX4vC4CLJiMXsKSN+i3GVtko7jaycxkvWZPk74RwoSstq
SIl2zfQHI5VoXmTrx5iOtpvjyshY8yYJihjAbrJRsrirWYMdaVxCZ173Ms9Z
EjAeSPvgyjioNikmkgb5AFvbT4e2e91nXbQFwJbK9vsVrOmDCcsglC3QA3Av
cXARSJ1FpLYx824AE0TEHeAuUKofvRHF33nuRlttQHcX0nZFiqE9B97pXR6q
e49g4qdbYM45E12ry0k4LE6Zoi3k77DHwlXgFFxKA2SkYLLdUROerEo5sQzl
eoslwITUoVHatSaxh9MHIcMFV7H1qqSDjqSiMwBuddg4S6dw3GMwCB7IKHFG
A6BrMeDlgMo4UJ8Rh832kfUWxectrT3XAjgC4Eh9ZPeDMKafQWUAZwC82ILP
I/JXEaktzLydiE5aKE2d6mCtj+wmU68pZu454/ChjWxoma00HLWPWUpiXIBd
eRo9Z5ZRWj0A2wgxde82TG7ZA9NoCgHFpMebTG9aeR3WZB629WEMEEUJQSb5
XKY0B2zSjjNx07qWjuUp26u9lCcFc1pjxkpJuY6W+jJKqJiucFI75yumZyr5
W7KJ8IQdJ6Ew5EugnqWgYj/geyBf++Tp/u/NEhPMl8+wuaUrDoP5frb2BxyF
P+dmI+Sw2cvWXAjgHGb2Ohq3TQ7f8i3f6+3LcxQus1FztQqC/nD8cDcA31Zq
sPUmKPBBSgBnlHOstEbP2mWA1qjsHMX0vdthGyF6zl4Dr5AXe9ZzlQJJVEol
/RJIcRKidT27MrRHZIokk9dj8nhWEzvSOif9QFKOr1DGEo3M1JYuTmzgWJGn
kQ1SGnEfBafHZdlvSWcwCNqNhfFSsyK2bQFQrH2nx4BGtGj1W1/o4Z9vmJW3
ECwpM4CZcGLsHhuFoQI/Ccw+PP9cUmoMrq9FB7h7PvN3XbqrZ9A2aitto7Ay
mpnMgygkoolo/15CFDEzw0xWoUt5p1mMY3WRNQ4QWqPnzGXQ+RymH96HmQd2
IqrU0XveOgS9Pc7WZRcPTcrPFYOUdpW6BJAWABpOQ2TZzBuzA6tSmWVfpd1p
SDmQsZgolh0IkwqJ1AZmUm3ZOk4dPpuaGe7w2AZWAkorZkWbzeuyFK02MWXj
wl0AaSiV6+49R2kA8xJu/L4l3Dw8+qC19gyydoli9qG9VTZsjio/sE9Y4G75
y+uKKpc/N6rW1kB7i0l7PkAVADtJe7t1d+/YzA1fOIejkEEa5vAU7KJuKK0d
aA07+qJQGYkIpWWLofM5TN63A7U9I4iqdfRdsBGFgcWAjp0rKdmKPW4BYtJu
KY7f8izghQLX6+BmE5TLg/J5cdxUxplL7WsYAbXKkH2Yjo7/zpZhE83rSnWk
T69SaTwXypUlJXRKlZCGkigC0kY87u8CYFA0hYVlUIPFg7Y+sntGWX/AMoM8
308Zd08g4N71yueRLuY93du1KZqaebIu2S4QMYFnCPgZaW+LLhQrpjIdBj2L
edfbn+trYwmKwI0Q0dgk/HzgMk1khP1lQWQcMJRCYVEP9JPPxpHNWxEensDh
2+5B30Vno7RyEPDS+C10ppkHuYJKluLHuEmH075WogiM6MgRmIlxhwat4JWX
Q/f1Sz1bHCZTqQdGkoY2nPYlUxkvjV34LO3B0BZPSIIMEus1ovFZzAatUnOA
/JaohQO1zoBYIO55HuuFZf4rW+/N22ZjKVtLyu3vNkpK8xMKuHe8aEhxZFay
MU+31foqMAwIh0F0P4Cfr/nNP6ke9aHIGBibcGjDg5PQfV1Aj4YiI0ATEDMl
jeGCUh5LLjkbE/fvQn3/IRz50WZE561H9/rV0PmcgNJhkiV+y1IUxsSiGeNq
WwJHDYSjo7DTk5msmkK0fx9UoQgKgrRwkjNxWbKpJo4N3JYoBGUa6FFbq9NM
nzIid26F1N5uy7ARuwhJkiaG16px43N52ir/2DCY3HxbzkbhJYrQBWay4P1k
ov358hlPHODePnSZ5mrjEpP3LwNRD1ueAeFuAPec+8FPjc8Zx52oTHOOmIzk
90Mg3D+OIJ+DVQpkLEAuO8baOltWu2Xa830sOm8tprqLmHloN6bueRjhZBW9
m9Yh6OlKa9BYpYWMkgJ2HRstQBqm0UQ4sh92ZsaxupQSLe+0oJ2cgF4y4Mrg
W2K/3NqNJsmypbxdjsNlSrWnupJgbxrG4zQC0RYqAynAatczV6d8iTRtnIJc
53I1v6s0r406fsf3ejiKLmRqrLVsFTGPKvDdhdVnVZ8wUYVbNp1P0Uz9WSrn
XUqEAMxjIHybiHZf8Kl/nzcuSFqFkF4DiBzXwEzMIDo0Bb/cLzHPuDRHHDUY
uUOA0ho9Zy6HXypgYvPDqO3ch2hyGr0XnIVieUmijuLtnYhbkw62XkNz3z7Y
atWV0iglpB6VEHpsZQZ60aKjQJlUWyT9wVRiw7JQL51il++nTOOR2Gywadw5
3RSFUs5DvKsPeTKRbBpliM0FnfkbDPJ0FRqzAvfQ/35Vkx9ssGFzkwL3Wdfg
abtS6q7i+vOnnlgJCLYXcZMutYhyxDwBa79JRHsu+Y/vHnPJMX1do/rIhE28
64jBHCHcNwZVykP36gSsTrM4jetuvnFaUGkUBxfBu/xJGN/8MMIjUzh822aE
561H95krHbdXmoiwZUdUIYat1dDYsxdcr2dirKKNlYDRWlfNa0wCPBaqolva
M8mNtgyaOy4u1HTZvcQkQIZUzi29+49uGKk0iL2M2REbHpyGzrImSRhNHL73
wURh7PviPyjy/EAFuaUcRReBaEDmzIxi3AOih7ufdPlJL/k5ocAdPnNjF4f2
AlguANrA8j0M7HnK8B0LspOoUpuC5SqMKba0V66FaO4YQbB+JXR3UZwXkwEs
UuaxmAFBdwGLLz4bkw/vQW33CCbufgDhVBW9Z62B310UXDGYCaYyjXDvPtha
VSqD40SAaOM4ARD3YoiipFVTmiLmNns21pay1EtLUbKZqg1QUrnAnNbJtdQx
cFsimAiSz209JGMmIILQHS0oFxze8Kf/YHZ/6oMead3PJhokpddzFC2XfOA4
gD0A7ut/+gsmTpUo1InVuIZ7mE0vrCIwmhzZQ0+/e/OCjXuaqVkGdhBjietF
ALDnNv2wk1U0tx9AsHY5dHdJbpLcPM7cPEq3dPLyAfrOWYOgtwuT9+9A5aHt
CCen0XvOWhTKSwBiRGMTiA4cADcbzg6OTYOEtG7FPnbFmSzZtaTal9itDnEo
DUga1aUZCE4IO6wy5TxCoYwrLDiJCLTt5scZaJKX2LwsHc2zh1A8gyOANU+b
ah07Pvae820YrlTAEhD1WgqhgEMgPMxEexpTM2OrXvvrpxRX94QClw1HZGHY
9ZLNwdCiR3YCZgAPwfClSHxsm9h4dmIGzW37E/DGFbGsKWmRy4pb9iRTWqFr
1VJ43UVM/HwrmiNjODI1g9KG1SiUcrCHD8vSLyaBirNaUspOSl6XaIcx7hED
VykJswmIFSXhsKOcNQGw40BQ6nMlnF+VDAOhrchSCA+kc+67rDOLkkN00sAM
1kaIqlWEU9Nh9cDoJjZRFwiaQREYuwG6j5U+gCiqD77iLaccpfHEa1zGEWbe
SeABZtLQ6sKb1569B0Q7rtz2wLFnNBNg7T2OdB0bacq11xQNbMen0XxoN4K1
K6D6ul2TEKSUAdKZ1rmWJdevke/rweJLzsXkfdtR33sQ48N3odKVQ/eKRfAK
OZehk33QXBIh5g64PgxxNIAj2Vw6abEYmwQqWfIpm2WLaZCU6ZZDShJznKmf
UxmHk9JO57GpwORqy5SW3mgaMBGsNa59aqOOaHoG0cw0bK3mtHdopqNqbYKN
GQeww4IeVkqNn3HN756SYD1pwH3W/q3R95etu5UtdRPzuYBdykq9jBTfdvP6
s++/cuuD0/N93uYDpnrzTmoaZw9qm4Z5JIwFTbDTNTTu3wlvxQD0kj5nOgSU
tP+MebbQygFJAyALbS26l/SARw+hVm+iPlWDma6juGoRCv1daYdyss4WTXqP
2dSMEIJO0kshBmQmRew0asbGNZlSdZJMWmJFxHTJjA17VK2RVPAqH6bRhKnX
YWo12FoFplqFqVRgmw0Qu4mqcwWofA4Atk/v3Ptl02ju3vjuD51WRZMnpQXT
95et6wFwKRRdTory0NQkrQ5Aq/tJ0z3PfOC+OQG8+wUXroGxPwZhAFq5BsaZ
Dt0JoUU7WqIq5qC6S9CLeqB6SlCFAijnWjOBXeWrrTZgp2Zgq1Vwo+k27as2
MbN/EmG1AeVr5Ad60LW8HzoXuMWBFjYAACAASURBVEgFpWwtQuqs6cUDCDZu
yPR3oJYGzNmWpMjasi2vZ96LqZMJ+SYO+QE2jGCqNZhKFabWAIcM2wydgxiG
ieZXngevuwdeVze8gtSoKQrZmo/lNz3393AayknrHfb9Zes0QMtBeCYpWgOP
fNKKyVMNeGoHaXU/ebSbfN0gX0Xkeeby4dt599UXLoYxnwXzCxzVT2VayTuw
ZvdNgFauylUKB0kraYCXlrFztl2SjhvguQbJ0yNTaIxX3X4RpQA9Zw4g6CpA
aS39aSk5DykFPbAUwYb1rYBUWQBniDbZluM0W6k8JfYxRxGiag1RtYpopoJo
esZ1kYwpFX4Oygsc1VFp6FIXgr5+B9hiwX2XS9O6lcHYKRs235rf9OyvdID7
aEG8Yv0qUnQ+NK0irfrJUyV4isjXNeWrA+TrfeTrEQq8qXxem77m9LXUDN/l
Uv8OmKwFQPHeCEQOpKJ9Y1AmGlll3lMZjSjAJa0S6mF1oobqwWmYegTyFEor
+lEc6IHO+SkoBZB66VLkNm5odb5UpkGJoqTJM0tTvJSfa2EjA9towDQaMLWG
06bVKrjZTDQ3KQXyPei8W/J1Vw+83n54XT3wu7rhlbqgfD9pPcpxv2B2HGTX
TMTuCyvTl5cuuHpPB7iPNc57xsZuaCqTokHy1HJ4qky+WqwCrSnQlgK/pgJv
qqjt2XkTvlUp5EiRUGMpaTCXhJPYiK8Ta2OVaGPKAjUBcgbEif1KIAWEDYPq
oRnUj1QArRD0FVEq9yHfV0z6OTAAtXgJ/HVrXWdEk5LWbRRJO/1I3pPWn6GB
DSPYZhMcNh1BPjMRSBFUEEB3d8Pr6oIuFaG7itCFAnQuD10swF+0FCqXd90k
kwaASJoAMrfv0G4BE30rWPf0F+M0lVOKjzu0e8s0gOmb1529FZbzsJyD5SJH
djmDliuOBi3z4kbOa2hShxRhpdIeyHcNL5QfPzTI90Gedg9p0USedtmpRLPS
0VNYgArpnRtHHXylUFgH1KbrmNz8AJpHKogqDVSKubRNLgOq+zD03jHJvkma
ldM0MmSXSHdeSlYAUgoUBPAX9cLr6YLuKsHv6oJXKkDl8/I7PChPqhxiTV7s
AgW5tEslZ6riJWyX7V/ivo/YRvgiTmM5JSsgrtz2IAOoyWPiBxddcICY7wYz
gaGbTP19pjlAxv4ye55m4wG+LLWc8lFVzJpSGgh8IPBBfgDlyw45nvTLFQ2X
dHSMCxez8VN57i8l5JcuwfjmB1DfvR/N8UrGPiZopUHVmpgqGqw1yNdQMglU
PgddLMArFqCLBac5i3nnNOVybS2ksi2lkFybc7oAeD5UroCE6xXveJlllVG6
fatLO1uwwQFrzXc6wD3O8oyfbs5uEGYAjO55yaWf5cPVl4LRFwOPfQ34ngOp
74F9B1Yb+KDAAwUBOPBhfR8UOACTp8WRa3XYjuqpgLR5niagf8MqTHOI6t5R
mHrkqt89heKKJShu2gAVBK4tlO9DBb5bCYKg1d4las2mxRuryH4kJCQZNrFp
Y1OWmKegC6WY/wG0tFHN0BaTymVytq17+4sqCKY7wD0Zxvmqvlt4qnYP18Nn
xuVg1Ixca/lGmEQZWMjcnN2hUWvA11JsmLFvdVqU2AoupFqZKFl2CznAW9mP
6lgFjYkabNOgcWQahcggN9CVmANJijjuRB6H0qAc9VGlapLjY1m1lANxhpRD
WkEVSm67AGtTk4dtS+untFNPTNIgEHicib9hGrXTupW+Pl0v/EN3bjfvuGDN
jD1SfSURWnrcU0t3xex+uEiNUes2HoGxbiMS49rNI4qAMBInKkpTuFLpy9ak
LfEBaE3Ideeh8x6iaghTa6IxOY2w3oDfU3ImQmLfZri0nCmOjCmU8ZoS794e
X2uyH7B7UeWL0F09LaZAAk7O7AecCarFf7O1/83G/Gth3TNrHeCeJHn7isFd
0Ux4lTnSWJX2MUhvcKJogKSbdwKGJGXMKcvMWnBoYBoGptqEqYsGR6YSlzOf
SzrDEPy8j6A37wiESiGcmELtwBgoF0DnA+d8MbcCMbPrTgIym6F5Z/cEjr8r
l4fX15+QZ+bKrbc4nXG9mbVTUa3x4fyZV9yB01y803rWDXTVTGQ+HI03nhzt
reeooKALChQoaF+BAg0VKChfupbDAFaWabaJA2aMgY0sTCOCqUWw9QgxQZs0
Qffk4C8qwe/JZ4g2Cqw4Q75R8JRCz7I+2CVLUBufRmP0CCZ+ch9qK5aia80K
FJb0O7ILK+ETuMoJZDgJ2XKflO/gbCFVKMLr6XPfHfdjiHuXcXsTXm7Rxszg
+sTUgfv++pPTNwLBc4Hm6XzvT/uNibe87PKBaNvYv/C+6kuTpVM8fPIJ5JEL
l+WU2w9BkhEMcrFUw8nOOGzRatNm9tBVnkawrAtBXzHT+Ty2mymJCZPvIzhn
A6irhOrBI5h+eA9sowlVLKCwfAA968+AVypKdYRqidei5bVMJk0pqHwe3pIB
UC7naJIUGwFtfX+pNfOWtEY1trnzhps/t+dX37+bBnr/F8AdVx3abk9bpXW6
A/djD+2t/s75a+pcbV6Fui0l4GW4ComIXQ6/bmBqBqZqYGoRTCWCrRlw0+0p
xnHD5vYVl1MurK00oUsBlG6rxM1uJmIMqKcHXm83gp4u5JcuggkNzEwVzcMT
qI2MAbLZCGXolmCb9iKLTZt4c5QggL94idulJ7aTk7BfVg1lgy+ZPdgIgDGf
ffBPPvYJnmluBGEdgJHrq+NjHeCeRHn3bz9vW2PHofU83rgw6cGZ2RAa3L64
tFYSUNZxi6P1LQ2eKXHa2Vj4pVwG3PHewKlzRYEP1dvlSDe+j+LSRdClAjgy
CCdnUN93EM3pGSjPh8r5LusnoE3sYDm3yufhDQxA5fMttiu1zJg0htvSjze2
+a3dwlH0tt0f++oWNCIPwBkAzrym1L/7+ur41Ol4zwmPE3n4FU87I9py6Aa7
p7qplSKY+aUxOVujdfsnTUmrT7e5dDYEhpYlmHyNwooeeKWglTij0nAZFYsI
LjgHqpDLxIYVTDNC/fAEZrbvQzRThcoFyJWXoLR6OfJL+jMpZve/7umGv3QA
FOTld7SxxmKnsn0Xobjw0iF3mg1fx6H5bG71M6KbBtaWALwcwFkAtgH4j6sO
bZ/sAPdk2rtXX/qc6KGxb/CRZgnZJnLZkFGchdJJ+vMo8EK4Dy3HxzFUBfiL
Cigs6ZIYcab+LGObBudthF68SEg86W5AIIIJI8zsOYjKrv1gY6ByAfLlJeje
sBp+VxHwPHh9vfCXLgX5Hlo2giDV+nd7x5tMlx0iGLb286bZvDa/5llJwuGm
gbWLAPwqgH4AwwBuvurQ9tMqrqsfT8C97qK1+8HW2Knm0xGxbp2eWV5C2y46
oKT0uyX+Ge+G094aiQFd8DO75WTf42QjaW9xb2a5To9TWiG/qAe5gX5YY2Gq
dTTHxlHbdxBMQLBsKfIryiBf4WhDti3cNVcozPVZ2myb0bX5Nc8ayR5xfXW8
dk2p/wiAcwGsArD7+ur4eAe4J0k+ev/u6LqL1z1oTbQaU81zwS196Y/aLK/1
ZWpxspKAvXQXz8b02TB0zoP2VGrnirOWJD9qDVBvN1QuSE8qAI7juDoXoDDQ
B18akphGA83KNMJaDdZa6MCHzgetAVmeJU47K355Dxvz9tzqoZ/O9vY1pf4p
AAUAawEMXFPqf+D66vhpo3UfV6ZCYu++9LLV4cNjX7L7ak+N98BLQlvZJTW2
eQkZjkImjKTJTW2NdGMRiYL5fXnk+gqOxK4yfcJUthqiD/65awHPS7ZsJZWp
cohplL4Pb3ARjCJMPrQDtV17HaGnvw/FNavQs2Et/O5uHL0vG6V2b8tmajTO
lt8WVutfL539gjlDXjcNrC0DeDWAATEXvtsB7skG7yuv2Bj+fOTf7Wj93KxS
TR2uzHNFGcpfZlhiuzUGL6UtRVWgUBjscjRDIbS3OmsK5GvotavgLR9ICeoZ
GiM8Dd3bhdwZg1DFHECupq16cByTP38IzUOHwcZCFQvo2rgePRvWwSvmQdpD
a1tzuVb39xQYf2Ii+4n82uccM8lw08Da5wO4AsAEgM9ddWj7wY6pcBLlnetX
HuFA/QhhdBnXTRktMfl5NtDLOnNx909u3x2SwJahfZWYC9QWz4VUHXC1Dirm
HTNMlnnSCrqrAH/5YgTLF4kD5sJqpBSCniK6Vq+Av6gfzAwzNY3qjl2o7NoD
YwzI86DjDQkJ2VDcNJj/xkT8kfy65y4oM3ZNqb8GYBOAbgAz15T6d11fHe8A
92TJR7bsxR+/4YrR5tjM3WDzZK5Gy1oC8nR0PDcFL9DCfYj9nbb9OthaeHk/
w1nIOGixNCOgUgOKeahCDrqvBL/ch2BpP3RXrpX3kLGFSRGC3m4Uly9FbnAA
qlBAc+wwarv2oLp3P5pTFfn+HKTb4gyAP42a9iOF9c9fcDr3mlL/DIDzAPTJ
VN12fXW82QHuSZS/veUBvPuFF+83im9GM7qYq9EKJC0PqSVJQUeBN8OyijNo
3KZ1DaA95TJpQGtbUM7MkjACGjUEq5YgWD0IHVdN2CzZBhnyDSeZOVIEv6uI
wuASlM5cBVXIIzx0BI3Rg6jvO4DKnv2I6o2KtfjjmYMTn7rjkl+qf+4RjNH1
1XFcU+o/B8ASAD6AB6+vjp/yXF3CE0S2XX3JoBmb+ajZPfNS27D5JGLQFv6C
JCCo3ZlL+hu4piIuSUHw8hqF/rw4ZM7WJU+KMD0FlfNAOSH55H34mzYgWLcK
qpRPS3B0WiKUlOTEpUUtSQkNgBDVm5jeuReVnXvRGB07MLNz7Lbp23Y9wJVw
Oxib4Xp9VUCoXXVwOx/DxtUA3iphMQbw6asObd/eAe4pJHtfdXlfuG/qOnOg
cq0day6xyoGXhRye7BopiYW4gXhL+liliQhogDyFfF8OftFH3OeBPAUEGsrP
RBmIQNrtA6xXLIW/cTW88mKokpSOJ7vmqKQaI67MyBJ6EgArbcJ68zu7v3Hz
p/b98TeZBoI1cBvsEYBJALsB7AVwEG4LqMmrDm1vtIG2COBiAFcByImp8Omr
Dm3f0QHuKSb7fv25+fDBg8/kidp77c7KpWziPRkgtEJhESaZMAdQViTWQxxW
EAWpCbrLR7Ck4BIGnk7Da0l1sTDHVCZ0FnjwBpdAryrDX1WG6iqkIE22hFIt
FcdJtQbpcfaCD8HPfyq35oUHbiqv82F4EYAyXCp3A4CSTLWq2L9VABV5biSG
uxjAoIAWcDvofOmqQ9vHOsA9FTXvm5+jzP6JMlea77K7Jt/Ik1E/DChJ+WbS
xUnzOdVmF6us2aDgDxagu4LEXEhitNn4bty4JC4N0uSqkQs5eKtXwD9zOVRP
t9sGy0tAmikvUg1o/x7ki+8C0W25DS9vSRjctHQtgeEDyANYDeAc+b+AlKWR
vffx/bcC6Buh6KdXjW7jDnBPYal84To19oUfPdfunXwnjzeeyhNRLyxad30k
auUraMwKXspp+INFqECnnIWYeKPRymeINXEyMTK1ZINL4K9eDjXQD10qgAp5
kO8beP6DCILPcan/44UNL1kwo+umgbU+gGUAlosp0ScaNo5mNwGMArjnqkPb
93YSEKeRHPi/r+xr3rXzRXam+Toeqz6PRxp+mmnLgFcBRzHPVFopoUoa/qI8
KNAtO0Qm5kJG06avq8z5UzYb5XPQ5QF4a1c9EKw740tU6vpa/uI33v+L+L03
DazNifZlEDWuOrjttCOUd4ArMva3b6bqj7cuhu892R6uvs3uPPICHqkFrj3M
HODNpoYVQB5BFTX8/pyzd7OtneL2ULEJojMApqwNTAxPR7Sof6saGPgEafVt
b9PZu3pfdF2zc5c6wJ1TRt/7RgoPVQLS+qxo3+E3m4dHrsZEY4Aj20PVyGtJ
YChKCTnCayCPoHIKXl8OKqdaTQTp8sjZFLMmKZVX0+QHk7S49261fPCz3hkr
v2PGJ2uLf+NvTOeudID7iOXI1/6yv/K9u59p9h6+gierm9A0a2HsGXy4UsRk
oxW8RIBPIA8gX8HrDaAK4lwRUq2qFVDMMbTeC0/vpEJ+K/UWf6RXL7958Tv+
fktn1DvA/YXKwY++Y3Hjvp0reaK6DL5eg2a4kWcaa2CilVxtLEY+txTVRhGa
FGmX+lWeangF7zAF3gQU7UHg7abA3wZjtqCQO6CXLdnvv/iZ+3oveUtHs3aA
e/xl/N//Sjfu2RZEe8Z8rtV8O1HRKOQ1pisq0azWAgD7pcBQITDkqwg9pVAt
H2gO/MEnw84odqQjHelIRzrSkY50pCMd6UhHOtKRjnSkIx3pSEc60pGOdKQj
HelIRzrSkY50pCMd6UhHOtKRjnSkIx3pSEc60pGOdKQjHelIRzry2OW4FksO
D5bVPN9hh0ZH+GScc3iwTMf47bzQaxseLB+PHsM82zXIdavHeu6h0RG7wN8W
f58H1xyvC67P2BSIDsqGwo/qPj5W8Y4jaPMAPgy3l1a7GACfA3DDIzpneVkJ
zB+D60Q4283+RwA3L+BUlwG4fB7w7gLwtQX8xhyATx+HcawA+CiAn7W9fg2A
5+GxNeSeGh4sv3dodGTXMe7dagBXA3gJgIvgGuel21YyjwO4C8B/DQ+WbwRw
YGh0pHnaA1ekBLery2ySf6TABfOzAfwKXOfsdpkG8EcL1Nh/LgCYS3YND5Zv
Gxod2X+M02n5fb/ocZyUidMO3Ivl+x4LcMcA/INMztnGZy3c5n1vgWuWN5cU
4BrpvQTAdgCfGB4sf2ZodOTQiQCuOo7nbgL4+jzvnz88WF7/CM/5ynlu2o1w
/V2PJRfB7XkwnywG8MIFXtPxaBiX3U16Ia//Is6N4cHyebJqvfsYoG2XtQDe
B+CTw4Pllac1cMWOuh/AfXMcshTA0x+B6bEcwCXzXPNXZbIcS64WYB5rpXjO
8GC58ERxdoYHy4MA/hLAcx6l7+MDeCmAjw4PlntOZ40LAPsA/HCO93oAXC52
4kLkcnEQZpOHAfzsWE6H3JxnIO3APZ/TejFcY+STMYbH02k+yjEV8+n5AP7P
PL/HOWXO/p7PdHougF+Rc56eNu7Q6EhleLD8QwCvFaC2y5MBrITbxXs+wHkA
njaHowcAt8kkOZZslO9ciKwDcMnwYHnz0OjIXH29DID/Fm3DswBkBYAL5/js
NgAPzOOcPdKN8u6Ea9B8LNBOiA3dri3fNs/nDosTeq9M+mcCeAWA4izHdsHt
zv4fCzTdTknnDKJx980B3PMBrB8eLG8/Rkhl2TxmwgyAW4dGR6aPAf4AwBDc
tkgLXY1eCuArcrPnsuPfNs/nXwng7+ewM28A8Bdz/CaeBVzHko8B+J8F2uQT
s9j0F88zOT8K4P1DoyOhjOXXANQAvHkOn+MyUUinL3CHRke2DQ+Wfwa3qUb7
TQoAPBtu6/nGPKc5U5yqucyR2xZwKT0CpNmkMYf58Gy5ARNz/DaeSzPKUjk1
j4NUHRod+UVuEjI5NDryaLczXTZHpCYG+v/EoJXfPT48WP4C3G49g3Pgas3w
YPmuhcaMT0WNGztOL5cQWLu8BMD75wLu8GDZFyeue45BvW9odGQhLeYvBHDB
HO99GsCvzXLz8gBeI0vk41n0McyLFbO8fheA/zfHSqrEKT9uiYkTBdzvybJx
5izvnSWAGp7js3kAL5tnqf76Aq/hrXO8flCW8wvFAWyX1w0Plj94LFPkNJfR
Y4D6ncOD5fuHRkcezGjdaTGjToqcKOBOi7H+zjlm9GvmAe66eeyvIwC+tYBQ
z5kAnjXH2/8DYD+Ab8wB3BUSQvvqaRDSOmY0Yg5f4hBcEmHDHPfnMgBfGx4s
fxzAF+V+mpOR6j1R4bDsYH0ZQDTHIVcPD5a753jvl+aZYN+Yx47MyivnWNIs
gG/LOX4AYLZtwwPMnf07leQ88fbne1wyR2y6KYCcT+tuEgfwHgDvhQtlLjtO
XI1TA7giWwH8eI73Fosj1K5BcuLZz+U0fOlYs354sNwF4AUCwHZ5CMDPxYHY
KSGl2cboQskqncryPlm15nt8Hi5N265YIgD/BuDuBeBlJYD/C+C7cr53DQ+W
L5WQ5eMSuDNwMc/ZpCjgapfL4TZHnk3uxtxx0KxcKnb0bMvoT2WJBIARmViz
xWxXArjycWDLRvO8t0MAudANqAtifr0PwJfg0r1nPe6AK8yh2+cIH2kAF8yS
534hZg9yQ2zbY8VuPYlILJ9jIt0yNDpSzZgzt4i9N5uD+MzhwfKix6t3JqvO
TeJv3A639y8vEENr4ZhrNw4Pll9+IswHdYLH54F5QkvrsuEqAcllmD2+OA6X
dGgc4/uWwsUaZ9O2YwC+3/ba7QD2zHGuZ8BR/U5noWOBd2h05CdwfIXflWjQ
yALPrWV1/EcALzne4FUneFaPALgDwGw7ziwR5yG2RS+QmTyb3ANH4DmWh71e
wN8uDMdt2NJ2fdNys2ZbUpcBuPJE23KPUCn88BiPuwDUF3CfKkOjI/8kjvE1
4ozdfgxTI5ZBONromsdDOCwr/wsX7B+Y5b0r4XidYxICm22JDwH8eAFcWQ9z
Jz2MRDlmky8DuG6OsXk9gH9e4A080fJBGdtj2biHH4GimQDwv8OD5WHRpBsB
/LIAumceDX6BaN2/F8fvcQHcH8pyPBtwLxOwRrI0zzYwk1hYTr57njDWYQDf
meO9ewFsnkNTPxku9XzrKQjcIwuYzI/FP9k/PFg+IPfvQ3DZzhdi7lTxCwF8
8nhN8hMO3KHRkVBIGhfOYqoU4IL9/425ubq7sTBuwksAlOd47z/FOcMc2vgL
cwBXwVUGnIrAfdQyXF7mg7k8h6JgAKNDoyNNcWBDAA8MD5bfKtGEZ83xuXPx
2Co1TinnLJavzGNrvVpMhtnI3hbAfw2NjtTmvRFnrCYAb5xnKfvqHGGvOLrw
XczNCLvqRLH8T6B0i4n01VkeX5ptEkuJzn/Po1GXHE98nSzg7p3Fo4/lfMye
GgZchucLxzx7o3GpzPjZgLsZwEPHSFyMYO4U9GIAL35cwZa5LhGTp8zyuAyO
Tz3Xij2XcpjE44BkM5uD9RUAL5ojrHLmXMpUTIVjyQsxN+n8pgU4KFMSXXjZ
LDemCOD5w4Pl64+l+U+wLJLypmOJBXA4S1MUrTkszudsyu2Vw4Pl7wO4YWh0
pCJRmzXi/M5lDjw416p22gJ3aHTEDg+W7xAQnvEIPvplzB5Ky4bB5ivPmQJw
W5x0mOf6zPBg+W65vvbYLcmqcB5mTxGfLLlOPP5jyQSAP0Rr1UkIx1V4FWZP
jS+FY9B9e3iwvANpFcSl82jcb2FhNYCnlcaNl+ObAbxhgcfvAXDHAojJ52Fu
3u02uDTvQuRe0RqzJR3WAnjq8GD57nnKek60XLjA48bQxm0eGh3h4cHybXCk
pbkiMUvhYrp2ASbmVgDfPl6hsJNp42JodGQSjpFVX+BHbsYxSkGElPPMORw7
A2Dz0OjItgVe39Q810dijvSdjhbtbLbn0OjIEQAfAPCTY9imx8LMtGjn+4/n
j1AneRDvWKDNWodL8U4c47heuErV2aSGBXB32+QGzB02u/IRmjmnvAyNjvwU
wNvh4uThozjFGFyM95+O90p0soF7HxbG8NorID+WXArgSfMM6o2P8Po2z6M5
igB+6VGWYc/X/2w+ITz20vV5zzE0OnIXXCebd8CliBcSGYgE7G8B8Fcnwmn1
TvIMN8OD5X+CY4z58xz6EIjuPYaZQBJJuH6Owb5DzJNH6kR+SGxjmsP8mG9J
3gbHc7WzvPeTR7lCFfHYAvvTcJUj8/3uEbkvXxVF8Hy4FPxaAIuQlrnvgOMw
fBuOPzJxoqoiCCdZFtA5EVhg98RjnIsfZXfIR33OX/T1LHCs8IsYy3m+lzKT
71GPa0c60pGOdKQjHelIRzrSkY50pCMd6UhHOtKRjnTk8S3UGYKOPBaRquc+
KHV46MD+E5aI8DIXkIOr4rwIjrd6B4CDx5MsIe2RngzH2pqY57gyXIn0UwA8
9bHmwuW3FuF6ytpf0G/Jwe0dMX66ZJKGB8sb4Squ/+bR7JYjGbWXAfhtWPt2
OBroY72mM+B2T/rAfFtaeXJwNxy5+GVwvIECHBHkT4cHy9+V5xpaN2BML4Aw
ZsJnvrBXNPjk0OgIDy9bTrC2AKI6mLsBqKHRkfamcmcA+ASAa4YHy3cB8KFU
E9b2A2gMjY7MDJeXebJN1DMBvAdAODxYjs/bBaAuBZgFue4JSGv7odGRppBg
egFEQ6Mj0zLYr5XBed7wYHmfHG/h0pjxcxvv2yU9ehWImkMjB1i0TC+AytDo
SEx7fBVcO6JLhwfLR+AI2SZzjpyMTwNAfP25+Jjh8jIN5l4AtfaJKb8hB6Xq
sLZXXp4UHm3LuGcA1QsgglIVWFuQ87K81wdH8u6D69n2D5nP9QAJ7XQ2YHUL
biaFyxEXru6T/dFivm6XTGIjr3fL39FweRmBuQDH+ssDyEHriaH9+1i+/2oA
H2/DFgBMxb+R5I3Xy418J4i+LwP4DqQbtJ0LR7LwATwVjqjxKTi+agGOef9s
Od+tAK4HUQjm98NtLHIFHGv+63CN6iL53nPh9vN6k1zYs+U7LhEAfgRuP4TP
wxGZbwXw+wB+A66n68UA/lpu0lvlmB/IwO6EK+a7RlYRgiNKPwxHvXsaXB+C
98BVqhblRj4omvPw0OjIl6Ujy9Uyyf4VrlvLtXCdd8bk2rbJOZ8j3/ERuLKk
zUOjI/8hv/UaOJ7w9aIk7pLf+8+iLH4HjsQyKWP07cyNWya/eULGEnDNqON9
5DwAnwXwXzLOvwxHjKnLeGwA8Fcyad4k3zsNx3x7hUy6MRmrIRmrHwC4Pgvg
4cHyi+V4wJFqPgXXTuD1cO32r5HvXwbXjOVOGY83y98/gev4GME1DblLvq8f
wI/gejecAeCbcM0Ot8Ix1a6S7/whgE8OjY5UlcyyV8P1Zht5LAAABqlJREFU
0bpxaORANDQ6clgGOA9XLLcObu+rQG7QDBxZuCxf8DoZyE+K1n4NmEtwNLcN
cDtM3i6TYy7a4SoAvwdHFv9rGYA/guPR/hBuQ7mvyOu/Jtf8kMzkv8pcWwjg
twSsa+B6YX1NburvC8h/CNfG6Xq4yoohAU6fAP4ypK37SSbuFQKUj8P1zP0b
uL6674fr3nKbgOEzMjmubvutl8r3lOA4w++S756Qm9kHtyfEjwH89fBgOdsT
uEdAcbaM5VbRklfLZx+AI4EPyHe8C65m7tNwZf7Xyji9EK7E5wa4nT0vFpBp
uPqxV8tnPgHXmvV1cSul4cHyYri2TLfJuL1IxqQsz7sEYL8s3/0ZuU8fkM98
Uu7F6wRXr5fnXxWF9lbBS0LegavUfp0A+pMyad40PFimmEvah6PLsadkxg7I
zbsHjiB8C4C/E4A8Ha7i9Udw3NotctFPF018BK6c/HY4el8Vs7dljwFyH4Bv
Do2O/FDAtlau4QHRSrfAUQlnBKx/I8vSMnl+swx8XJ7TkKXrQgHJtXC7NW6T
a7ldNIoF8CMQXSugtjiaGhmfZwOADw6Njtws2vpv4cqQtsu1/ihjr7efI/7b
yCT7SwHl+QKGg0ib+V02y/34N1l1viTn+qRcx+dl6V8Pt13TdwF8BkTfk1Vi
XFayF8n5PyOrzafkmj1RQHfClSxtg+MuXyaAhBx3CK6DpoLr7HgnWisqrIzp
fwoYbxXz4IsyWW6QyReIQvq3odGRG+Dq3T4DVysYV5X0yiT8X7me+2VSPx9I
ieQPAtjQtufYWjlJvMFeDek+DVUBblE04JNktr5G1H7cZypE2lExks/PF8mY
RFpg15zlhnPmuCPiOMa/oS72Tw1puc0eAH8mN+YPAfwBWjfbsJn/DwyNHDDy
nNBaNBjvHRzvZ+uKLbVuCmCnM9eXPWeWY5xv+z3xTkOBPK6W8XuVKIltbZO6
nvmNkTwqmbEyojkDub7m0MgBztwryL2qZZp7VDP3tARXr/dquBZL8X0MM8B9
L1x711+RlWbTLBNzKvP7K3I/4r9n5BqVHFsRezqSz/lIucZK/r5Iruc18trt
EIeJZeadB+DPhwfLTx0eLL9ILvLHSLsrXgLg9cOD5U1idyyVyMOtcsJvy2NV
22Adr5BbfN4xGZy3SPPl18qyDLG/3gjXxv/34DbcO0eAVoIreJytQ/ceAE8b
HizHG55cLQP9M1mZfn14sHw2jHmr2LPL5abk4NqRFgV4Vw4Pls8ZHiw/DbN3
xoGM734B0OfEJDobR3dJXMg4hnLPXgjXu+si+f0DAvRb5fUXDw+Wnyz3sU9A
f5N8xw2Z+9jMALsgy/k4gN8W5XEFHhmpPfsbCgDeMDxYfsrwYPnZYgrdn1n5
p2QCB2Lz3ij271hW4/5UbJ+nidr+sCz7fyQgJFkWLhFj+w2yzG2VZWqLLA1f
kxt4Y0bbRpnZWEFr55N42TdyfCWjVUN5j2UAq5llaSZznu1iR70IwL/LcnOP
DPiorCZfkCXyftEYPxAQflhmdDXW0hIe+7RMhv+QSMEd8v6E2M9PlvNdB+Bf
BHxxR8S/kwjI+5FutP0O+b5qRvMY+b4pAL8JV8N2qzgtX0brVrLZcUL7OTLv
N+Umf09Mp8/IdT8k4/lV0VgfFafwiEywUCbNw/Kbvy7A+Z84HDo0OjIjy/Z1
goUV8tsa8t2xhs0Wl9ba/q7LayzPd8q1/Ivcxw9ncBOKP7EbrmXW12X8/2to
dIRbt8ZctlzB2mUApmVAIcb5r4nH/OsxqOSHZMMk/fIDk5DXcHmZD6IoDkwP
l5d5AOzQyAELAMPLVxCs9UjriI0hENTQgQMu4rBsmQJDATAgIjCroZEDLpQC
aBCZbMB7uLwsB+ZeaH0I1moALEt/HC8uktaHrnQhFyTnAQwICgzEx8tnAgCL
oNRhABbMyJzPB9AHosmhkQPNzDXE57RDIwfscHlZAOZ+AEegFIMZ0NrAGA9K
RRL+yQby+0E0PTRyoKWyWM7rAYiGRg64UCNz+reMI7SKhvbt45tXriIOw0UA
6iCqtnx2+QqCMYtBVBHQKQBmaORA/Lk+AdbkbPFoCU8uhivTaQyvWKlgjIJS
BtZqEHjogIzTsuWejJvc0+VOOzuM3Sq4+qFo3/Gh0REeXrGSsuMjwYMuAB6U
mojv+TGXHwHuW8Xof8sCKm070pFjYWqlOPS/OjQ68t3HlDmbR1iWLfP/x0DD
k0lGwYgCX6AjJE8o7eAQU+oy0vJkklEwokpcRuiIwR9yp9wBBiwyY5u0u3MA
AAAASUVORK5CYII=

--_av-n1AqVdaW1Pn7xFPZiHx_FA--

--_av-cOm_5XSbhMsYAqCwg9gF2g--



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 16:51:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 16:51:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506121.779149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY8cn-0007Yk-QZ; Fri, 03 Mar 2023 16:51:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506121.779149; Fri, 03 Mar 2023 16: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 1pY8cn-0007Yd-NF; Fri, 03 Mar 2023 16:51:17 +0000
Received: by outflank-mailman (input) for mailman id 506121;
 Fri, 03 Mar 2023 16:51:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=0Pyx=63=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pY8cl-0007Jf-RQ
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 16:51:15 +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 9a4618ef-b9e3-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 17:51:12 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id v16so2967290wrn.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 08:51: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: 9a4618ef-b9e3-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677862271;
        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=jN/rbUQiGJ/V5omFdDMO5rmWNNQ/FfJOctwI5vinchA=;
        b=xGpYCkihlhqEJGsFNm5jVSb2UIDYZQdeoe19mzN41w/zWt5hXsID/dl3nn5H0i5wlO
         pJfaM1JPore0nzHXZ/uNpTlivS5rUwrRnluoBzdEvLyScqSBgjEyTN+ne7X5T5QWbfZm
         8+Y6UQJO4Pud8sGtZqswTuNj905arEd1ZJp4V7qbhUbAGVa0JMvKxVV69HqENJgwQSWz
         UgX0l7hmsPo7ZeOHKwgfHJVJo+kB7L0kayj93luQtxxU0UvtNupmMkxyttmYNYk/5m2d
         TWsRCENCBvEMbxgDF0LWVlZXC6+MGWAcoqmHPqD63A3xDdgdyKvPQtn3uu9QDszy5gJE
         iGiA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677862271;
        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=jN/rbUQiGJ/V5omFdDMO5rmWNNQ/FfJOctwI5vinchA=;
        b=nFSp4znPirRI5a//TvdWY65aTG8IERpEIXEAQFZByJ2cDsthQfVpXAnxZWZbTCL94E
         lfVnv4Py9/iDS14ZaA/wp4pCWdRYi9D4dgfqct/aztjY4tUoyKSiSo9EOmoWHDEueLyC
         QoT38D0le0+XbbzLk/AYF9lwUJe4Uau85DqYDcGwoqn7LkhvAvRPzxN/ZRJwMmWEyYOR
         R1LpXtZCbMlOqGUgKtFtQA8AJfRE7OpKIJzpDqorQ4fRPED64m27TRXtu0OgcY0wvZv/
         KERk9xEWm8t9egu7h/4JnFCWO+VFIh9zXGeCScOeSuTPer4p98CBbkEGRmBFhYJgYmxl
         f1KA==
X-Gm-Message-State: AO0yUKVksnLYcnDx6W19OSDdizVxw7fbB0uKbl6G63NAtIljKPPDkJ1e
	k6/M6ikzTe9VgrfRHadrOnF+dlykoULF6wEWoJRY7w==
X-Google-Smtp-Source: AK7set/tiWGDt41NdN+7Ijpgfepmv9MPULH+mdDL6ySRJH9T/5tO6V9Rb5FWU+RFBDV2SZzeKSvm023gZosDBf2s2IE=
X-Received: by 2002:a5d:6485:0:b0:2c5:4adc:6e52 with SMTP id
 o5-20020a5d6485000000b002c54adc6e52mr1468968wri.3.1677862270974; Fri, 03 Mar
 2023 08:51:10 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <ad85591c42f4db3c3001ae4b5572c1096c159593.1677079672.git.jens.wiklander@linaro.org>
 <C57A3E71-138B-40EB-8B0C-13603EB145AF@arm.com>
In-Reply-To: <C57A3E71-138B-40EB-8B0C-13603EB145AF@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 3 Mar 2023 17:51:00 +0100
Message-ID: <CAHUa44F=T8XB2OJYLA0Y9vUc2xY0dxa4VQTNmkQ3pmqLVwsG_g@mail.gmail.com>
Subject: Re: [XEN PATCH v7 16/20] xen/arm: ffa: add defines for sharing memory
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Fri, Mar 3, 2023 at 2:38=E2=80=AFPM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Adds defines needed for sharing using the function FFA_MEM_SHARE and
> > friends.
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > xen/arch/arm/tee/ffa.c | 57 ++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 57 insertions(+)
> >
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index 3571817c0bcd..bfd378f7fcd7 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -22,6 +22,14 @@
> > #include <asm/tee/ffa.h>
> > #include <asm/regs.h>
> >
> > +/*
> > + * References:
> > + * FF-A-1.0-REL: FF-A specification version 1.0 available at
> > + *               https://developer.arm.com/documentation/den0077/a
> > + * FF-A-1.1-REL0: FF-A specification version 1.1 available at
> > + *                https://developer.arm.com/documentation/den0077/e
> > + */
>
> This could actually be directly in the file header.

OK, I'll move it.

>
> > +
> > /* Error codes */
> > #define FFA_RET_OK                      0
> > #define FFA_RET_NOT_SUPPORTED           -1
> > @@ -66,6 +74,55 @@
> >  */
> > #define FFA_PAGE_SIZE                   SZ_4K
> >
> > +/*
> > + * Limit for shared buffer size. Please note that this define limits
> > + * number of pages. But user buffer can be not aligned to a page
> > + * boundary. So it is possible that user would not be able to share
> > + * exactly FFA_MAX_SHM_BUFFER_PG * FFA_PAGE_SIZE bytes.
> > + *
> > + * FF-A doesn't have any direct requirments on GlobalPlatform or vice
> > + * versa, but an implementation can very well use FF-A in order to pro=
vide
> > + * a GlobalPlatform interface on top.
> > + *
> > + * Global Platform specification for TEE requires that any TEE
> > + * implementation should allow to share buffers with size of at least
> > + * 512KB. Due to align issue mentioned above, we need to increase this
> > + * value with one.
>
> Could you give a bit more details here: what spec version, where in the s=
pec ?
>
> I did download one version of it and at a first glance could not find thi=
s value.

https://globalplatform.org/specs-library/tee-client-api-specification/
TEE Client API Specification version 1.0c, page 24, Table 4-1: API
Configuration Constants, look for TEEC_CONFIG_SHAREDMEM_MAX_SIZE. I'll
add a reference.

>
> > + */
> > +#define FFA_MAX_SHM_PAGE_COUNT          (SZ_512K / FFA_PAGE_SIZE + 1)
> > +
> > +/*
> > + * Limits the number of shared buffers that guest can have at once. Th=
is
> > + * is to prevent case, when guests tricks XEN into exhausting its own
> > + * memory by allocating many small buffers. This value has been chosen
> > + * arbitrary.
> > + */
> > +#define FFA_MAX_SHM_COUNT               32
>
> For those 2 limits, I am a bit wondering which should be defined in the c=
ode or maybe
> configurable in kconfig or through xen command line or per guest.

Per guest sounds like an interesting option when these values aren't
good enough.

>
> I do not think we can answer that now but if one of these limits is reach=
ed we should
> have a clear error message so that we could easily say what to modify and=
 decide
> if/how to solve it.

I'll add prints in the later patches.

>
>
> > +
> > +/* FF-A-1.1-REL0 section 10.9.2 Memory region handle, page 167 */
> > +#define FFA_HANDLE_HYP_FLAG             BIT(63, ULL)
> > +#define FFA_HANDLE_INVALID              0xffffffffffffffffULL
> > +
> > +/*
> > + * The bits for FFA_NORMAL_MEM_REG_ATTR FFA_MEM_ACC_RW below are
> > + * defined in FF-A-1.1-REL0 Table 10.18 at page 175.
> > + */
> > + /* Memory attributes: Normal memory, Write-Back cacheable, Inner shar=
eable */
> > +#define FFA_NORMAL_MEM_REG_ATTR         0x2fU
> > +/* Memory access permissions: Read-write */
> > +#define FFA_MEM_ACC_RW                  0x2U
>
> RW bits are defined in table 10.15 at page 168 if i am not mistaking

Thanks, I'll update it.

>
> > +
> > +/* FF-A-1.1-REL0 section 10.11.4 Flags usage, page 184-187 */
> > +/* Clear memory before mapping in receiver */
> > +#define FFA_MEMORY_REGION_FLAG_CLEAR            BIT(0, U)
> > +/* Relayer may time slice this operation */
> > +#define FFA_MEMORY_REGION_FLAG_TIME_SLICE       BIT(1, U)
> > +/* Clear memory after receiver relinquishes it */
> > +#define FFA_MEMORY_REGION_FLAG_CLEAR_RELINQUISH BIT(2, U)
> > +/* Share memory transaction */
> > +#define FFA_MEMORY_REGION_TRANSACTION_TYPE_SHARE (1U << 3)
> > +
> > +
> Please only add one empty line here.

OK, I'll fix.

>
> I checked the definitions and they are all coherent with the spec.

Thanks,
Jens

>
> Cheers
> Bertrand
>
> > /* Framework direct request/response */
> > #define FFA_MSG_FLAG_FRAMEWORK          BIT(31, U)
> > #define FFA_MSG_TYPE_MASK               0xFFU;
> > --
> > 2.34.1
> >
>


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 16:51:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 16:51:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506120.779138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY8cm-0007Js-J0; Fri, 03 Mar 2023 16:51:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506120.779138; Fri, 03 Mar 2023 16:51:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY8cm-0007Jl-GN; Fri, 03 Mar 2023 16:51:16 +0000
Received: by outflank-mailman (input) for mailman id 506120;
 Fri, 03 Mar 2023 16:51: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=2sLK=63=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1pY8ck-0007JZ-La
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 16:51:14 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 98f0ddf6-b9e3-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 17:51: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: 98f0ddf6-b9e3-11ed-a550-8520e6686977
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1677862268;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=MCS5hIdhQ/pAZpFIVJv+pjgtuwW4Rx08qL2IpzATkGM=;
	b=KaMNsXup67ZJ5L6cfCqybYJIkRPMKpTUyWXciNoKSm6kS+hVZcXJYvJPOCaYt1ToRd40n0
	gZSYGr0NY1qHHUhu44gQuK3FVrpugn15w6bvKAA307IX1PY/1YUuE11xcPy0RATnUs6764
	QBet9XTmyu6+HoZwkqTPRrgc1hSqpgSbUFuGX1SJc1uciKJ8SNVMy6d4vd6bnyDM4ehWnA
	+YIzt0DfUoeY6cWvLps0OXSiJ6C8oWyxuSHUWQiJBLp2akwlNDJA+OmzfJS8WsvyXZTyAF
	b+Zcm7RD80raqOBvNDwJSIMHr2y4HFnbGHgG/DhA9KbNMiibjbi8JXpEYryg5w==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1677862268;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=MCS5hIdhQ/pAZpFIVJv+pjgtuwW4Rx08qL2IpzATkGM=;
	b=tZJ7DqGRn2+9ZabE+VBU8JCaMcvdWQW8bIJ1AoDS7Wq9p+yJNEbnCc/v5pEVf8h9SQAgRo
	K0wp09n9IH3vYnAg==
To: David Woodhouse <dwmw2@infradead.org>, linux-kernel
 <linux-kernel@vger.kernel.org>, xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: IRQ affinity not working on Xen pci-platform device
In-Reply-To: <07866eaf6354dd43d87cffb6eebf101716845b66.camel@infradead.org>
References: <07866eaf6354dd43d87cffb6eebf101716845b66.camel@infradead.org>
Date: Fri, 03 Mar 2023 17:51:07 +0100
Message-ID: <87fsalkcck.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain

David!

On Fri, Mar 03 2023 at 15:16, David Woodhouse wrote:
> I added the 'xen_no_vector_callback' kernel parameter a while back
> (commit b36b0fe96af) to ensure we could test that more for Linux
> guests.
>
> Most of my testing at the time was done with just two CPUs, and I
> happened to just test it with four. It fails, because the IRQ isn't
> actually affine to CPU0.
>
> I tried making it work anyway (in line with the comment in platform-
> pci.c which says that it shouldn't matter if it *runs* on CPU0 as long
> as it processes events *for* CPU0). That didn't seem to work.
>
> If I put the irq_set_affinity() call *before* the request_irq() that
> does actually work. But it's setting affinity on an IRQ it doesn't even
> own yet.

The core allows it for raisins. See below... :)

> Test hacks below; this is testable with today's QEMU master (yay!) and:
>
>   qemu-system-x86_64 -display none -serial mon:stdio -smp 4 \
>      -accel kvm,xen-version=0x4000a,kernel-irqchip=split \
>      -kernel ~/git/linux/arch/x86/boot//bzImage \
>      -append "console=ttyS0,115200 xen_no_vector_callback"
>
> ...
>
> [    0.577173] ACPI: \_SB_.LNKC: Enabled at IRQ 11
> [    0.578149] The affinity mask was 0-3
> [    0.579081] The affinity mask is 0-3 and the handler is on 2
> [    0.580288] The affinity mask is 0 and the handler is on 2

What happens is that once the interrupt is requested, the affinity
setting is deferred to the first interrupt. See the marvelous dance in
arch/x86/kernel/apic/msi.c::msi_set_affinity().

If you do the setting before request_irq() then the startup will assign
it to the target mask right away.

Btw, you are using irq_get_affinity_mask(), which gives you the desired
target mask. irq_get_effective_affinity_mask() gives you the real one.

Can you verify that the thing moves over after the first interrupt or is
that too late already?

Thanks,

        tglx


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 16:53:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 16:53:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506131.779159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY8f7-0008Qa-6l; Fri, 03 Mar 2023 16:53:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506131.779159; Fri, 03 Mar 2023 16: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 1pY8f7-0008QT-3C; Fri, 03 Mar 2023 16:53:41 +0000
Received: by outflank-mailman (input) for mailman id 506131;
 Fri, 03 Mar 2023 16: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=csqk=63=citrix.com=prvs=4196fa7ca=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pY8f5-0008QJ-Cq
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 16:53:39 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef787ea6-b9e3-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 17: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: ef787ea6-b9e3-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677862416;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=EJ7aC+BF1AzWXCEZ0JpqSlmiFXvoJnQrBO7MqzqOVGw=;
  b=anvEej1CBw9x4qodWbvEM3kPVD6OcPx49CbqK7cWTkD3DH/aGUNksqdu
   xfxbAgWv306i+lQtQunry7ukY52M1d7ytQDBBZuQre/XRSwmT8Fw4420M
   /bBnLD5Qmqgin17RY9QVUEvDIWHf/qqBblhzC/rJmUI3IXkfHei6SZqgv
   g=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 101792754
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:BifYhKBc+rGlfxVW/zLjw5YqxClBgxIJ4kV8jS/XYbTApDx23jIAm
 jEfX2COP6nZZmfyKYt0PYznp00AuZXcyNdkQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhA5QRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw/8NeE19T/
 vYheA8WcCmpgeC6/ai+Y7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTIJs4gOevgGi5azBCoUiZjaE2/3LS3Ep6172F3N/9I4TTGpQPwRvEz
 o7A102gXVIKFPHY8xuI+U32pMnBuHnAaZ1HQdVU8dY12QbOlwT/EiY+XlKhrf60okW3Qd5YJ
 gof/S9GhbMp6EWhQ935Xhu5iH2JpBgRX5xXCeJSwBGAzO/Y7hiUAkAATyVdc5o2uckuXzso2
 1SV2dTzClRSXKa9ECzHsO3O9HXrZHZTdDVZDcMZcecby9zGiZMNkxnFd4ZcC7CMpNv3FQzqx
 hnf+UDSmI4vpcIM0qy6+3XOjDStuoXFQ2YJ2+nHYo62xlgnPdD4PuRE/XCetK8dd9jBEjFtq
 VBew6CjAPYy4YZhfcBnaMEEB/mX6vmMK1UwanY/TsB6p1xBF5NOFL28AQ2Sxm8zb67omhezO
 ic/XD+9A7cCVEZGlYctP+qM5z0ClMAM7+jNWPHOdcZpaZNsbgKB9ywGTRfOgD+ywBJ0wf5jZ
 czznSOQ4ZEyU/kP8dZLb71Fje9DKt4Wngs/uqwXPzz4iOHDNRZ5uJ8OMUeUb/BR0U93iFy9z
 jqrDOPTk083eLSnMkHqHXs7cQhiwY4TWcqn9KS6t4erfmJbJY3WI6WKke15J9c9wMy4VI7gp
 xmAZ6OR83Kn7VWvFOlAQioLhG/HNXqnkU8GAA==
IronPort-HdrOrdr: A9a23:sMJKz6sqEyvUtAMcKXfcW2Qh7skCo4Mji2hC6mlwRA09TyXGra
 6TdaUguiMc1gx8ZJkh8erwQJVoJkmshaKdgLNhTotKOTOGhILGFvAZ0WKP+UyHJ8S6zJ8j6U
 4iSdkkNDSSNykKsS+Z2njELz96+qjezEnAv463pB0BLXAIGsUQiDuVEjzrd3GeBjM2e6bRf6
 DsnfavyQDQAEj+Oa+Adww4ttz41qn2fd/dEFI7Li9izDPLoSKj6bb8HRTd9hACUwlXybNnym
 TBmxyR3NTpjxnuoCWstVP73tBzop/M29FDDMuDhow+MTP3kDulY4xnRvmroC01iPvH0idurP
 D85zMbe+hj4XLYeW+45TH33RP77Too43j+jXeFnHrYp9DjTj5SMbsCuWtgSGqc16MchqA97E
 sL5RPZi3NvN2KPoM0p3amKa/lo/nDE6UbK39RjyEC3arFuIYO5nbZvi3+9L61wah4SkLpXbN
 VGPYX57PZScVSVK1XYpHQH+q33Yp0SJGbNfqFQgL3Z79EApgEK86Jf/r1Rop4ZzuNld3Bb3Z
 WDDphV
X-IronPort-AV: E=Sophos;i="5.98,231,1673931600"; 
   d="scan'208";a="101792754"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Doug Goldstein <cardoe@cardoe.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>
Subject: [XEN PATCH] automation: Use --no-install-recommends and -slim base for debian/unstable
Date: Fri, 3 Mar 2023 16:52:58 +0000
Message-ID: <20230303165258.12577-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Use "--no-install-recommends" to avoid installing many packages that
aren't needed, many are *-doc packages. Also start using the -slim
base image as they remove a few unused files/directories, like docs/.

Explicitly install "ca-certificates" as it is only recommended for
"wget".
Explicitly install "ocaml-findlib" as it is only recommended for
"libfindlib-ocaml-dev".

Using "--no-install-recommends" saves about 600MB on the uncompress
image. 2.89GB vs 2.3GB (value from `docker image list`).

Switching to -slim save about 130MB.

Overwall, we go from 2.89GB to 2.17GB.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    Change to use "-slim" was proposed by Andy. I went futher and added
    --no-install-recommends.
    
    I've tried to find other missing packages by looking at differences
    in  "tools/config.log", "stubdom/config.log", "config/", and
    "xen/.config".
    
    A test is in progress to check that no jobs are broken, but result
    probably not before next week.
        https://gitlab.com/xen-project/people/anthonyper/xen/-/pipelines/795600920
    
    I've only tested gcc debug=n on x86_64 locally.

 automation/build/debian/unstable-i386.dockerfile | 6 ++++--
 automation/build/debian/unstable.dockerfile      | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/automation/build/debian/unstable-i386.dockerfile b/automation/build/debian/unstable-i386.dockerfile
index 1c4928b09e..cc116d32e9 100644
--- a/automation/build/debian/unstable-i386.dockerfile
+++ b/automation/build/debian/unstable-i386.dockerfile
@@ -1,4 +1,4 @@
-FROM i386/debian:unstable
+FROM i386/debian:unstable-slim
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
@@ -12,7 +12,8 @@ ENTRYPOINT ["linux32"]
 
 # build depends
 RUN apt-get update && \
-    apt-get --quiet --yes install \
+    apt-get --quiet --no-install-recommends --yes install \
+        ca-certificates \
         build-essential \
         zlib1g-dev \
         libncurses5-dev \
@@ -35,6 +36,7 @@ RUN apt-get update && \
         libc6-dev \
         libnl-3-dev \
         ocaml-nox \
+        ocaml-findlib \
         libfindlib-ocaml-dev \
         markdown \
         transfig \
diff --git a/automation/build/debian/unstable.dockerfile b/automation/build/debian/unstable.dockerfile
index 6ef2878200..06ac909a85 100644
--- a/automation/build/debian/unstable.dockerfile
+++ b/automation/build/debian/unstable.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:unstable
+FROM debian:unstable-slim
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
@@ -10,7 +10,8 @@ WORKDIR /build
 
 # build depends
 RUN apt-get update && \
-    apt-get --quiet --yes install \
+    apt-get --quiet --no-install-recommends --yes install \
+        ca-certificates \
         build-essential \
         zlib1g-dev \
         libncurses5-dev \
@@ -34,6 +35,7 @@ RUN apt-get update && \
         libc6-dev-i386 \
         libnl-3-dev \
         ocaml-nox \
+        ocaml-findlib \
         libfindlib-ocaml-dev \
         markdown \
         transfig \
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Fri Mar 03 16:54:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 16:54:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506136.779169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY8gJ-0000ZO-Hr; Fri, 03 Mar 2023 16:54:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506136.779169; Fri, 03 Mar 2023 16:54: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 1pY8gJ-0000ZH-EJ; Fri, 03 Mar 2023 16:54:55 +0000
Received: by outflank-mailman (input) for mailman id 506136;
 Fri, 03 Mar 2023 16:54: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=lE8C=63=casper.srs.infradead.org=BATV+c2a260b7edcf36afa963+7131+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pY8gI-0000Z2-2i
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 16:54: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 1bf0dee5-b9e4-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 17:54:51 +0100 (CET)
Received: from [2001:8b0:10b:5:4ce9:a0c4:1cf4:98d9]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pY8gA-003Fda-VK; Fri, 03 Mar 2023 16:54: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: 1bf0dee5-b9e4-11ed-a550-8520e6686977
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:To:From:Subject:Message-ID:Sender:Reply-To:Cc:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=UHUCjvMFxm0l89f9hnesx1o/wutaXOCI24n17jQX5/M=; b=QKHH2btXZLWy6ifETkPmmogHJn
	gOtSxDQaf5sZZjCfGtB8blFV5B2ONNwoxOUkUB6dofn0TOi+n75dQz/xw/bkPKSXpfsF+K7FNngt9
	/7r1e1wzJHZeXSEWi2i47Z//99Z8FphuzdExsv2xmmGBZMyG5LbjMUqHNWrGagEU5AP6rs8EhzpxB
	+wfRXROrSkIxmf3SaH3V9k3I48JCdrJdjcYkxqAlBwtpgEUdCkwnixqT/9Dc1mwOXXBt6ViUa1uPK
	n8eCeBNMczZzpizVGXnmvPsqU4ZrvqpWpdtHd/frKz9UrN2Q8d0tp5qCn06Vh5oHo566ltPRDVAjx
	zDjgarOA==;
Message-ID: <1060e7786498f384634b01c335bf7bf43365e1fe.camel@infradead.org>
Subject: Re: IRQ affinity not working on Xen pci-platform device
From: David Woodhouse <dwmw2@infradead.org>
To: Thomas Gleixner <tglx@linutronix.de>, linux-kernel
	 <linux-kernel@vger.kernel.org>, xen-devel <xen-devel@lists.xenproject.org>
Date: Fri, 03 Mar 2023 16:54:46 +0000
In-Reply-To: <87fsalkcck.ffs@tglx>
References: <07866eaf6354dd43d87cffb6eebf101716845b66.camel@infradead.org>
	 <87fsalkcck.ffs@tglx>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-e4GUeChf1iKUMDucCFaE"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Fri, 2023-03-03 at 17:51 +0100, Thomas Gleixner wrote:
> David!
>=20
> On Fri, Mar 03 2023 at 15:16, David Woodhouse wrote:
> > I added the 'xen_no_vector_callback' kernel parameter a while back
> > (commit b36b0fe96af) to ensure we could test that more for Linux
> > guests.
> >=20
> > Most of my testing at the time was done with just two CPUs, and I
> > happened to just test it with four. It fails, because the IRQ isn't
> > actually affine to CPU0.
> >=20
> > I tried making it work anyway (in line with the comment in platform-
> > pci.c which says that it shouldn't matter if it *runs* on CPU0 as long
> > as it processes events *for* CPU0). That didn't seem to work.
> >=20
> > If I put the irq_set_affinity() call *before* the request_irq() that
> > does actually work. But it's setting affinity on an IRQ it doesn't even
> > own yet.
>=20
> The core allows it for raisins. See below... :)
>=20
> > Test hacks below; this is testable with today's QEMU master (yay!) and:
> >=20
> > =C2=A0 qemu-system-x86_64 -display none -serial mon:stdio -smp 4 \
> > =C2=A0=C2=A0=C2=A0=C2=A0 -accel kvm,xen-version=3D0x4000a,kernel-irqchi=
p=3Dsplit \
> > =C2=A0=C2=A0=C2=A0=C2=A0 -kernel ~/git/linux/arch/x86/boot//bzImage \
> > =C2=A0=C2=A0=C2=A0=C2=A0 -append "console=3DttyS0,115200 xen_no_vector_=
callback"
> >=20
> > ...
> >=20
> > [=C2=A0=C2=A0=C2=A0 0.577173] ACPI: \_SB_.LNKC: Enabled at IRQ 11
> > [=C2=A0=C2=A0=C2=A0 0.578149] The affinity mask was 0-3
> > [=C2=A0=C2=A0=C2=A0 0.579081] The affinity mask is 0-3 and the handler =
is on 2
> > [=C2=A0=C2=A0=C2=A0 0.580288] The affinity mask is 0 and the handler is=
 on 2
>=20
> What happens is that once the interrupt is requested, the affinity
> setting is deferred to the first interrupt. See the marvelous dance in
> arch/x86/kernel/apic/msi.c::msi_set_affinity().
>=20
> If you do the setting before request_irq() then the startup will assign
> it to the target mask right away.
>=20
> Btw, you are using irq_get_affinity_mask(), which gives you the desired
> target mask. irq_get_effective_affinity_mask() gives you the real one.
>=20
> Can you verify that the thing moves over after the first interrupt or is
> that too late already?

It doesn't seem to move. The hack to just return IRQ_NONE if invoked on
CPU !=3D 0 was intended to do just that. It's a level-triggered interrupt
so when the handler does nothing on the "wrong" CPU, it ought to get
invoked again on the *correct* CPU and actually=C2=A0work that time.

But no, as the above logs show, it gets invoked twice *both* on CPU2.

If I do the setting before request_irq() then it should assign it right
away (unless that IRQ was already in use? It's theoretically a shared
PCI INTx line). But even then, that would mean I'm messing with
affinity on an IRQ I haven't even requested yet and don't own?

--=-e4GUeChf1iKUMDucCFaE
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzAzMTY1NDQ2WjAvBgkqhkiG9w0BCQQxIgQgoDjoCbx6
ohEyPZTBlI0gH7O61koLIfXf+5eDBIhdFlswgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCVDnN2tkfXnJ1GsKi9fHqp65x14fnHR+1W
SeH3tVdBljfv6H9VtPXSptzlK3D0S7wZVFGkW60IJp4Ws0gh+bW4cTob0u34khoAN5AjkAj6iQPB
A2iKfYFhAsie2EFWS5T/awp8+8Dm61NJzBzgshcXkJazafrBDxjJ2Nr+JEZi7sJBsFEMByI976Hr
AALk7iFyYhmLGVet2BZbq7Hj70X4UNJpzoRTegIyJBLEGKALDMWm4Ze7Z8kg1rL6znljTBdMI/KS
k2Wgp2wENl5ojI8m9uyaskGa8ohR2xKoaxPquLdsJGIfa9ycQaJqmCSSEJ0LGsfmy8IbdVOw93UL
SCNMt5SUziQtaIXZzArg+sc/kzubEwts4RqJr2VfwA7QC0yO6+jj0dXytI9WFyhONl4mZqIOzSR3
/bhBhndnh4NYtgVhE4BTCZ+pC0HWG+hUTLOQSz7DRojeJLkZV6dRVIskbAYR9CmNeX6s244kbid8
CTtZO1JayxYA5kPK77arZGRTIHoLv6ZzPJSAMYwOkinteAPyBJ6LLaTVa+jID0W+mK8aydDwmZ6c
bMiQFLgB/JgIx2GBNnQXbD1s5mk8xc4gU1JEQkVqOR8ALMKkY77PgFsyQcFt66CKxNHE93+qSgto
qr1v2iB9We7wu20bErOvci6bxq1ocUJkd9stTigFtQAAAAAAAA==


--=-e4GUeChf1iKUMDucCFaE--


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 17:25:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 17:25:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506146.779179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY99H-0004sc-1h; Fri, 03 Mar 2023 17:24:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506146.779179; Fri, 03 Mar 2023 17: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 1pY99G-0004sV-VB; Fri, 03 Mar 2023 17:24:50 +0000
Received: by outflank-mailman (input) for mailman id 506146;
 Fri, 03 Mar 2023 17: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=csqk=63=citrix.com=prvs=4196fa7ca=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pY99F-0004sP-HT
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 17:24:49 +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 4a41102c-b9e8-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 18: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: 4a41102c-b9e8-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677864287;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=OGd1B43vpGlou4isA0dW5MPsOTZUetkoVqF0AbM9xe4=;
  b=R8SjVJw81WlZDoDEPmzfjGw47rEVLucOEHuS6yyDK2fdFfQh5322hXHb
   +EidB4rdUoF0oKIgU+01Gzko3sfBRwDQq+yIF61wlCJr5qo9OP9vtFMro
   fuvz433AYG9ssawqPd+UryUuW0IYSuwuNnjHUodveZ2qTWHLB9678IgT8
   A=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 99372835
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:xCByFqJUjbAfKFh5FE+R5JUlxSXFcZb7ZxGr2PjKsXjdYENS3zdWz
 TBOUWHSb6neajChf49wbYq2o0tUvZ7UmtFqSABlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QRlPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c51G1B2s
 vUALAoWfw2IhMzn/+uLVbhz05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWleG0hn75YntApUicv6Yf6GnP1g1hlrPqNbI5f/TbFJ4KxBbD+
 woq+UymJDMlbNGtzQan91OunMyXunz1WJ4dQejQGvlC3wTImz175ActfUCgvfCzh0q6WtReA
 08Z4Cwjqe417kPDZsnwWVi0rWCJujYYWsFMCKsq5QeV0K3W7g2FQG8eQVZpY9U8uMg7bTcjz
 FOOkpXiAjkHmLSNRGiU7Lu8sTK4Mi9TJmgHDRLoViNcvYOl+ttqyEuSEJA6SvXdYsDJ9S/Yw
 Sq7lG83n7Eplt8W3KaVrG+esy39uc2cJuIq3Tn/UmWg5wJ/QYeqYY209FTWhcp9wJalokqp5
 yZdxZXHhAwaJdTUzXHWHr1RdF28z6zdWAAwl2KDCHXIG96F33e4Nb5d7zhlTKuCGpZVIGS5C
 KM/VO442XOyAJdIRfUqC25SI55wpUQFKTgCfqG8Uza2SsItHDJrBQk3DaJq40jjkVI3jYY0M
 oqBfMCnAB4yUPo4k2XmHb9NjuN3nUjSIF8/orihknyaPUe2PibJGd/pznPVBgzG0E90iFqMq
 IsOXyd74x5eTPf/ckHqHX07dDg3wYwALcmu8aR/L7fTSjeK7Ul9U5c9N5t9Id0690mU/8+Ul
 kyAtrhwkgGv2yWbcl3VAp2hAZu2NatCQbsAFXREFT6VN7ILOO5DMI93m0MLQIQa
IronPort-HdrOrdr: A9a23:7uLtTq467OMjUeRsTAPXwPLXdLJyesId70hD6qkmc20zTiX+rb
 HMoB1773/JYVkqM03I9errBEDiexLhHPxOjrX5Zo3SODUO0VHARL2Ki7GO/9SKIUPDH4BmuZ
 uJ3MJFebvN5fQRt7eZ3OEYeexQpeW6zA==
X-IronPort-AV: E=Sophos;i="5.98,231,1673931600"; 
   d="scan'208";a="99372835"
Date: Fri, 3 Mar 2023 17:24:40 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: <xen-devel@lists.xenproject.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [RFC XEN PATCH 0/7] automation, RFC prototype, Have GitLab CI
 built its own containers
Message-ID: <ZAItWIy7oUqRmulW@perard>
References: <20230302175332.56052-1-anthony.perard@citrix.com>
 <alpine.DEB.2.22.394.2303021836450.863724@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.2303021836450.863724@ubuntu-linux-20-04-desktop>

On Thu, Mar 02, 2023 at 06:48:35PM -0800, Stefano Stabellini wrote:
> On Thu, 2 Mar 2023, Anthony PERARD wrote:
> > Patch series available in this git branch:
> > https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.gitlab-containers-auto-rebuild-v1
> > 
> > Hi,
> > 
> > I have done some research to be able to build containers in the CI. This works
> > only for x86 containers as I've setup only a single x86 gitlab-runner to be
> > able to run docker-in-docker.
> > 
> > The runner is setup to only accept jobs from a branch that is "protected" in
> > gitlab. Also, one need credential to push to the container register, those are
> > called "Group deploy tokens", and I've set the variables CI_DEPLOY_USER and
> > CI_DEPLOY_PASSWORD in the project "xen-project/xen" (variables only visible on
> > a pipeline running on a protected branch).
> > 
> > These patch introduce quite a lot of redundancies in jobs, 2 new jobs per
> > containers which build/push containers, and duplicate most of build.yaml.
> > This mean that if we go with this, we have to duplicate and keep in sync many
> > jobs.
> > 
> > To avoid having to do the duplicated jobs by hand, I could look at
> > creating a script that use "build.yaml" as input and produce the 3
> > stages needed to update a container, but that script would need to be
> > run by hand, as gitlab can't really use it, unless ..
> > 
> > I've look at generated pipeline, and they look like this in gitlab:
> >     https://gitlab.com/xen-project/people/anthonyper/xen/-/pipelines/777665738
> > But the result of the generated/child pipeline doesn't seems to be taken into
> > account in the original pipeline, which make me think that we can't use them to
> > generate "build.yaml". But maybe the could be use for generating the pipeline
> > that will update a container.
> > Doc:
> >     https://docs.gitlab.com/ee/ci/pipelines/downstream_pipelines.html#dynamic-child-pipelines
> > 
> > So, with all of this, is it reasonable to test containers before
> > pushing them to production? Or is it to much work? We could simply have jobs
> > tacking care of rebuilding a container and pushing them to production without
> > testing.
> 
> I don't think it is a good idea to duplicate build.yaml, also because
> some of the containers are used in the testing stage too, so an updated
> container could be OK during the build phase and break the testing
> phase. We would need to duplicate both build.yaml and test.yaml, which
> is not feasible.
> 
> In practice today people either:
> 1) re-build a container locally & test it locally before pushing
> 2) re-build a container locally, docker push it, then run a private
>    gitlab pipeline, if it passes send out a patch to xen-devel
> 
> 1) is not affected by this series
> 2) is also not affected because by the time the pipeline is created, the
> container is already updated
> 
> However, there are cases where it would definitely be nice to have a
> "button" to press to update a container. For instance, when a pipeline
> failis due to a Debian unstable apt-get failure, which can be easily fixed
> by updating the Debian unstable container.
> 
> So I think it would be nice to have jobs that can automatically update
> the build containers but I would set them to manually trigger instead of
> automatically (when: manual).

What I was looking at with this work was to be able to have container
been rebuild automatically on a schedule. We have/had containers that
were 3yr old, and when it's a container that supposed to test the lasted
version of a distro, or a rolling release distro, they are kind of
useless if they aren't rebuild regularly. So I was looking to take the
human out of the loop and have computers the tedious work of rebuilding a
container every month or two.

Containers that needs to be rebuilt regularly to stay relevant are
archlinux, debian/unstable, fedora/latest, propably opensuse/leap and
opensuse/tumbleweed. I don't know if they are others.


> Alternatively, we could move the "containers.yaml" stage to be the first
> step, rebuild the containers and push them to a "staging" area
> (registry.gitlab.com/xen-project/xen/staging), run the build and test
> steps fetching from the staging area instead of the regular, if all
> tests pass, then push the containers to
> registry.gitlab.com/xen-project/xen as last step.

Sounds good, I can look into how easily it would be to use a different
registry to run a pipeline.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 17:26:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 17:26:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506151.779188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY9AO-0005Ph-BQ; Fri, 03 Mar 2023 17:26:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506151.779188; Fri, 03 Mar 2023 17: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 1pY9AO-0005Pa-8J; Fri, 03 Mar 2023 17:26:00 +0000
Received: by outflank-mailman (input) for mailman id 506151;
 Fri, 03 Mar 2023 17:25: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=0Pyx=63=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pY9AM-0005Mp-6B
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 17:25:58 +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 7588f144-b9e8-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 18:25:57 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id bw19so2980716wrb.13
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 09:25: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: 7588f144-b9e8-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1677864357;
        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=eolyThTGlo6bEtjLFljkUurvUru9DXvRMlLGBK04tqc=;
        b=AesRmXH0khLbC7bbUOs7pw2sYP2zbK4e8Nl67bmVo2NwV7MgG3uU3/SHZJ77e0d0fe
         SSfPiDeJpjF7raa8G9bTw9Sx9/DmIrFzQSvq+Wc7UQTr5w848HcFVcJKan1mzaworwVh
         fQZBWqFaoe89Uoi0kE56w81bobCVg2WxhJn3GvwE0AsxLtT2DvB7D6ZushmObFiqhHOk
         6WEYbwqaMO3gHAWV4mus3QXg+dv3j9BhjgKx5xZBYcxHQ/wRxsQOg8x6iuC/ehf/8ba9
         oFFMQ5H473Aaviut3bUlcEq70mmwVKFpNIxGnydwQ6s+IKdbC7DZqmYla0hIaGu7of0t
         ykhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677864357;
        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=eolyThTGlo6bEtjLFljkUurvUru9DXvRMlLGBK04tqc=;
        b=3YvZVnRCxnZiCPsGQ6zstdTeA4uij43tdlZ07hCucooLi6neJhqPUE7yCF6RJkGexZ
         gAkC+lTBvHv2GK8gN9O6ay8gllvlY0PXZIeBwn4cf3oGxs6LlFz2cSxW6YAvJ/1L5wuq
         RHKHcw/dAnpxHW8dM8YvzNnLArIvGlroNk3D+0K64snZ5guBI/PVtO18kRuotBguVHwy
         h14nubM9sgX7/qnXg6xs/V7KUVsq+1Ey1zaOvm1yoD0qHMS95RaS8jlPs2hcIseQblv3
         Aif22FfzuJaK9Rnl7V6mUKAe/jm/JAfVAzomS225mPFSobRTsx6QVDAmil4tKkIcJZZb
         FNxw==
X-Gm-Message-State: AO0yUKWdGVUfki4lT7qvoGtmzWycygJvRw4eBReMnYMMLU5PyPoou0gP
	dcs2pJQxZdir31tg8zWX0nGYhUeCyyvrBlT47JJ48g==
X-Google-Smtp-Source: AK7set+uFm5Ox8uBG0e4DrfiiRS12o40zbZ8qCJfHHpY+y9zrkfvYpgvMi4pcdgNBGcAGeMQQiV+3Fy3eWmrRxl4iOk=
X-Received: by 2002:a5d:428c:0:b0:2c9:8a3c:9fa0 with SMTP id
 k12-20020a5d428c000000b002c98a3c9fa0mr631778wrq.3.1677864356856; Fri, 03 Mar
 2023 09:25:56 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <50da283fe4a91820a818d13db4ce50fd8414580a.1677079672.git.jens.wiklander@linaro.org>
 <171822A4-1150-4A35-94AD-52879B1B7EF0@arm.com>
In-Reply-To: <171822A4-1150-4A35-94AD-52879B1B7EF0@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Fri, 3 Mar 2023 18:25:46 +0100
Message-ID: <CAHUa44GLF6MFanZQwtM1u2ddo+=Kw=ZK6tSTkpcXz6EFG5ihAQ@mail.gmail.com>
Subject: Re: [XEN PATCH v7 17/20] xen/arm: ffa: add ABI structs for sharing memory
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Fri, Mar 3, 2023 at 3:20=E2=80=AFPM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Adds the ABI structs used by function FFA_MEM_SHARE and friends for
> > sharing memory.
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
>
> All the structures are coherent with the spec.

Thanks for double-checking.

>
> Just one small question after but independent if you choose or not to cha=
nge the names:
> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
>
> Cheers
> Bertrand
>
> > ---
> > xen/arch/arm/tee/ffa.c | 74 ++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 74 insertions(+)
> >
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index bfd378f7fcd7..94c90b252454 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -197,6 +197,11 @@
> > #define FFA_MSG_SEND                    0x8400006EU
> > #define FFA_MSG_POLL                    0x8400006AU
> >
> > +/*
> > + * Structs below ending with _1_0 are defined in FF-A-1.0-REL and
> > + * struct ending with _1_1 are defined in FF-A-1.1-REL0.
> > + */
> > +
> > /* Partition information descriptor */
> > struct ffa_partition_info_1_0 {
> >     uint16_t id;
> > @@ -211,6 +216,75 @@ struct ffa_partition_info_1_1 {
> >     uint8_t uuid[16];
> > };
> >
> > +/* Constituent memory region descriptor */
> > +struct ffa_address_range {
> > +    uint64_t address;
> > +    uint32_t page_count;
> > +    uint32_t reserved;
> > +};
> > +
> > +/* Composite memory region descriptor */
> > +struct ffa_mem_region {
> > +    uint32_t total_page_count;
> > +    uint32_t address_range_count;
> > +    uint64_t reserved;
> > +    struct ffa_address_range address_range_array[];
> > +};
> > +
> > +/* Memory access permissions descriptor */
> > +struct ffa_mem_access_perm {
> > +    uint16_t endpoint_id;
> > +    uint8_t perm;
> > +    uint8_t flags;
> > +};
> > +
> > +/* Endpoint memory access descriptor */
> > +struct ffa_mem_access {
> > +    struct ffa_mem_access_perm access_perm;
> > +    uint32_t region_offs;
> > +    uint64_t reserved;
> > +};
> > +
> > +/* Lend, donate or share memory transaction descriptor */
> > +struct ffa_mem_transaction_1_0 {
> > +    uint16_t sender_id;
> > +    uint8_t mem_reg_attr;
> > +    uint8_t reserved0;
> > +    uint32_t flags;
> > +    uint64_t global_handle;
>
> Why global ? spec is just saying handle.
>
> > +    uint64_t tag;
> > +    uint32_t reserved1;
> > +    uint32_t mem_access_count;
> > +    struct ffa_mem_access mem_access_array[];
> > +};
> > +
> > +struct ffa_mem_transaction_1_1 {
> > +    uint16_t sender_id;
> > +    uint16_t mem_reg_attr;
> > +    uint32_t flags;
> > +    uint64_t global_handle;
>
> Same here

I'll change it.

Cheers,
Jens

>
> > +    uint64_t tag;
> > +    uint32_t mem_access_size;
> > +    uint32_t mem_access_count;
> > +    uint32_t mem_access_offs;
> > +    uint8_t reserved[12];
> > +};
> > +
> > +/* Endpoint RX/TX descriptor */
> > +struct ffa_endpoint_rxtx_descriptor_1_0 {
> > +    uint16_t sender_id;
> > +    uint16_t reserved;
> > +    uint32_t rx_range_count;
> > +    uint32_t tx_range_count;
> > +};
> > +
> > +struct ffa_endpoint_rxtx_descriptor_1_1 {
> > +    uint16_t sender_id;
> > +    uint16_t reserved;
> > +    uint32_t rx_region_offs;
> > +    uint32_t tx_region_offs;
> > +};
> > +
> > struct ffa_ctx {
> >     void *rx;
> >     const void *tx;
> > --
> > 2.34.1
> >
>


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 18:16:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 18:16:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506158.779198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pY9xb-0003ij-2g; Fri, 03 Mar 2023 18:16:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506158.779198; Fri, 03 Mar 2023 18:16: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 1pY9xb-0003ic-02; Fri, 03 Mar 2023 18:16:51 +0000
Received: by outflank-mailman (input) for mailman id 506158;
 Fri, 03 Mar 2023 18:16: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=mZA2=63=kernel.org=song@srs-se1.protection.inumbo.net>)
 id 1pY9xa-0003iW-6o
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 18:16: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 8dde1a5e-b9ef-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 19:16:47 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 301806186E
 for <xen-devel@lists.xenproject.org>; Fri,  3 Mar 2023 18:16:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 97092C433EF
 for <xen-devel@lists.xenproject.org>; Fri,  3 Mar 2023 18:16:43 +0000 (UTC)
Received: by mail-lf1-f48.google.com with SMTP id d36so1568248lfv.8
 for <xen-devel@lists.xenproject.org>; Fri, 03 Mar 2023 10:16: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: 8dde1a5e-b9ef-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677867403;
	bh=z9o+Fj7F9hEekeJkNgNCjr/Inru7KzeAHF1ZoYV9Iio=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc:From;
	b=tIJ7IPJ4KHsGCVQmNJVMq0GTuDbB7zi4lEH2qhnGRtaBwTofmI+hMCDYpA9763zfj
	 hnCWxc4EDetFEydMYfJYVCKCnuqX7lzBkQNF/3hHX/fFqg2w68Dz/J2NPZRFMC+ExQ
	 nspd4IdvGbl0PjPL3X5dDPVxgtnZL8vGWmW4GwY5J2Ab+G4cboaTKsqbRv/CUgJjYd
	 AlHYoz2pmiJ8UmkE+Tcrvn5IMXyPncF7oLw9cGdunMOy6vRssudSH3Yt9drtUnuDjJ
	 Tu0KBhBdcw9N12uoTUkInH/QUAcuy6fCuLrl3Q9h0Y1mx8oQdTybds27iOc5OdWhww
	 mcEJSCHEURnWg==
X-Gm-Message-State: AO0yUKXOCveTGc/rOzwZt2ZKN3SuaWQVwPFt507KXs2SplUTWAYOoO8d
	gzJepWgaWUrRkDa5/xEEk7UBf/qdIKMa3Y1L14g=
X-Google-Smtp-Source: AK7set8+TKohTy6ON4qynrd6qM7FwtWsRtV8zfmEmFF5syO7UhwA/Y8VS4hyO7ZdSGW9G+CTTREWUsKalOtJ4y3BnUw=
X-Received: by 2002:a05:6512:3c83:b0:4d8:86c2:75ea with SMTP id
 h3-20020a0565123c8300b004d886c275eamr3273736lfv.3.1677867401669; Fri, 03 Mar
 2023 10:16:41 -0800 (PST)
MIME-Version: 1.0
References: <20230302204612.782387-1-mcgrof@kernel.org> <20230302204612.782387-5-mcgrof@kernel.org>
In-Reply-To: <20230302204612.782387-5-mcgrof@kernel.org>
From: Song Liu <song@kernel.org>
Date: Fri, 3 Mar 2023 10:16:29 -0800
X-Gmail-Original-Message-ID: <CAPhsuW4k1hpLDWcQGCtEeR6LEgSboTY+tqbiPp+30_2T+rFezw@mail.gmail.com>
Message-ID: <CAPhsuW4k1hpLDWcQGCtEeR6LEgSboTY+tqbiPp+30_2T+rFezw@mail.gmail.com>
Subject: Re: [PATCH 4/7] md: simplify sysctl registration
To: Luis Chamberlain <mcgrof@kernel.org>
Cc: ebiederm@xmission.com, keescook@chromium.org, yzaikin@google.com, 
	jejb@linux.ibm.com, martin.petersen@oracle.com, minyard@acm.org, 
	kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org, 
	decui@microsoft.com, robinmholt@gmail.com, steve.wahl@hpe.com, 
	mike.travis@hpe.com, arnd@arndb.de, gregkh@linuxfoundation.org, 
	jirislaby@kernel.org, jgross@suse.com, sstabellini@kernel.org, 
	oleksandr_tyshchenko@epam.com, xen-devel@lists.xenproject.org, 
	j.granados@samsung.com, zhangpeng362@huawei.com, tangmeng@uniontech.com, 
	willy@infradead.org, nixiaoming@huawei.com, sujiaxun@uniontech.com, 
	patches@lists.linux.dev, linux-fsdevel@vger.kernel.org, 
	apparmor@lists.ubuntu.com, linux-raid@vger.kernel.org, 
	linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org, 
	openipmi-developer@lists.sourceforge.net, linux-kernel@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"

On Thu, Mar 2, 2023 at 12:46 PM Luis Chamberlain <mcgrof@kernel.org> wrote:
>
> register_sysctl_table() is a deprecated compatibility wrapper.
> register_sysctl() can do the directory creation for you so just use
> that.
>
> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>

Acked-by: Song Liu <song@kernel.org>

Thanks!


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 18:33:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 18:33:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506163.779208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYADO-0006dY-FT; Fri, 03 Mar 2023 18:33:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506163.779208; Fri, 03 Mar 2023 18:33: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 1pYADO-0006dR-Ci; Fri, 03 Mar 2023 18:33:10 +0000
Received: by outflank-mailman (input) for mailman id 506163;
 Fri, 03 Mar 2023 18:33: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=SP4M=63=citrix.com=prvs=419214df4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pYADM-0006dL-Hv
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 18:33:09 +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 d4a64990-b9f1-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 19:33:04 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 03 Mar 2023 13:33:01 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA0PR03MB5482.namprd03.prod.outlook.com (2603:10b6:806:b3::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.22; Fri, 3 Mar
 2023 18:32:59 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.021; Fri, 3 Mar 2023
 18:32:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d4a64990-b9f1-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1677868384;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=QBi16lwtbExr4cVOx5opj4w0cXC34EV5pGAclm4uIEw=;
  b=OhVlbFcihpwVsirXS4PGzFq85GXIiZh6MDZ5jiMK397F0GW+WZ8fgw/r
   Vo2qyEMuDy4PHQZnPXLIDR4+d7PDqFAOw0SXkirg8TmqBW7vNF2DUbPaz
   x4RiKmGNB2aXV24UkjiTnGbNmTLwo47xUEhRpzZSt/p73InPHY7ari11T
   U=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 99786819
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:f5CFxqvOJucIlrye5ZPTDFoFuOfnVHRfMUV32f8akzHdYApBsoF/q
 tZmKT/VP66INDDxKNlwaonk90sG7cXQm4BhT1NoqilhF39H+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASGzCFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwKwE/cSiBttyPw6u9dfFHnPwffJjQFdZK0p1g5Wmx4fcOZ7nmGvyPz/kImTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgP60bou9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOzpqa400ATCroAVIEQaDXuXp6a0tmKZR4oYK
 WMLw3UnnYFnoSRHSfG4BXVUukWsvBQRRt5RGO0S8xyWx+zf5APxLncAZi5MbpohrsBebSwn0
 BqFks3kARRrsaaJUjSN+7GMtzSwNCMJa2gYakc5oRAt5tDipMQ5iELJR9M6Saqt1ISrSHf33
 iyAqzU4i/MLl8kX2q6n/FfBxTWxupzOSQ1z7QLSNo640j5EiEeeT9TAwTDmATxodu51knHpU
 KA4pvWj
IronPort-HdrOrdr: A9a23:o8Ye4KkD8QWAWk81vyP3dMU8W7HpDfIR3DAbv31ZSRFFG/GwvM
 ql9c5rsiMc7wx8ZJhAo7+90cy7Kk80mqQa3WB8B9aftWvdyQiVxfBZjbcKqgeIc0eSygc379
 YDT0ERMqyVMXFKyer8/QmkA5IB7bC8gcaVbD7lvhJQcT0=
X-IronPort-AV: E=Sophos;i="5.98,231,1673931600"; 
   d="scan'208";a="99786819"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VWaZJT2neiL6UpsqCaoYNRklZdBoNlVyQWjcFJd2gB0QokJbQqf08WHWJtkOnd2E11bsoYuka8bRlofHG0JI0BFDxg+WAZLGs74JLSLD9ZibMaT7DoaSqwFmk/GpLUI5Tv8mu23Ot8TrZgvC0dZ4CQt+1okMnj1c4gdAwiKRYllzmik3uV8xu3hMfsoLHF9LflUFJk9oHVrD1ctcpgxTeI2cB/HW6ulkkfaIOHY1kFfXBgcULAbcqATJNTI41Jh+zz7oe6vmRySACQ1J1pPjQeCox6cKdET8p+gtr1M0EdOU1QdD4iSM+9C+JpzlfatuI4ikeduQpxaFfbtXAFz3zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OT/qFtyL5etcUL4kw9EP+A99YyKOwwvnOc9AHYczEfI=;
 b=g2Qo/eblGiiMC+WmUgC7dzfRxaOydH8SwZSM9oSMvKy0RScUAD/r+dtL7W8XELqLiPgil6aC4tgMQgBb4ybbqwXVijVq+I7S4a5txU/ugb17bDQ1xooBKY3LE9z7mwm7EyRehkZK3WUJwdqpclX5d+nF5dGUDEvU7EDBzxQ6FC/LAWg3dVG6e90hsjvjTpL0FKDWjduJe0RD0JdqGlVJrjlPblC1/KclQvxtX398v7v+KilJy9flVEw/9UoN0RWVsC3PkrFW0SKBqoCX9ceSjjobBj//QPDVYGlA+B3+Hb3fQ2TmIkNPlllugoVe0s/AKU3lqtm7ZpdayptIwAGpKw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OT/qFtyL5etcUL4kw9EP+A99YyKOwwvnOc9AHYczEfI=;
 b=U/3IiRVmI5i62ku6AKCkRr5a3dxobfYJzCqEf7E25V5c8PJ2U09IBqoBDa3DW3ZL0ho93erD/sqiMTyuaCNmpc6UgyMu1BvaYYezf1Zzqvnvh+ZFZFnzN7BCg5hgzSlBGi96GHia++bnyf11N9Myq/MJsycg4u583CiVUMI7AL8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9f47f473-c9e2-5a35-f397-bb6e652354b1@citrix.com>
Date: Fri, 3 Mar 2023 18:32:51 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 1/2] x86/cpuid: Infrastructure for leaves 7:1{ecx,edx}
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: <20230104111146.2094-1-andrew.cooper3@citrix.com>
 <20230104111146.2094-2-andrew.cooper3@citrix.com>
 <f62293e3-94f5-005b-dafd-4c9084f5d84b@suse.com>
In-Reply-To: <f62293e3-94f5-005b-dafd-4c9084f5d84b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0244.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a7::15) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA0PR03MB5482:EE_
X-MS-Office365-Filtering-Correlation-Id: 358f109c-fa89-4575-402b-08db1c15b5f8
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ynhSpRO4QX4P4JxS6cBUiuY05sVBWUe8cEK2Fbl0JRltialiqnnWRn3MqLbTppCUlxXsv8AmQPR2VYjBLbiqa8hWrhYAVYN1X9HDxhSuLg84K3YgXn4lEb4U6C9NiVVDhHXMBIlO6aU2Xufnih904ZOsqZ7vgONMgci+QrQ25XsaoA3uO+g90a8GVKalPeKS2WCA3n5Pw6HdNM6zaXJ4bHes2t5o2op+jv0eoihGxgisIbvQ2QHJGu8G6OJ9+3WM3TOwJa4sFygVqTaU/S5EPyi3O143bRjgF0Rt6RbGfw1FXjXIgL/WEoUZLz6OcVxsdiLgdgBUigb8B+Jn1cOLp5nT3POpM9nJJ0/0xKn+yPJvV/T+lBsvvxZQ1BUu/OF9f5wqMtWQy0sp21aREn1cHo595arGFPZVNpG6zETXipO+FFwyp5IvmYr/nUgHNqV1wKJ11AEZNXLatIFPdhyZxtFzeNovOVtinW681qZ3Rlke0N7CHqBBdc7m7EgSS+czjLuCaTrKH3oGBAU51ZIvCBgT7NSIKL44poMz/754JQ2o1Q9maqkhdiPVyDfOajE/1JF3KvRcrv2VBGfT756cUI9uTaihHf3hdkiM6vGE3vvDF+o4SKhHyXXUKC+2nap2X7hjrmKUgBURnHLqExJ9pPOrcktYkmt+/N32cOGo1VlmUe96hFJ5hyuQ3OYpvg32EdPl8F09taZqTCrQxvX1VFVKrc6/Fokut6MfP+1/zbA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(366004)(346002)(39860400002)(396003)(376002)(451199018)(478600001)(186003)(8936002)(82960400001)(54906003)(316002)(41300700001)(31696002)(86362001)(38100700002)(36756003)(2616005)(83380400001)(5660300002)(26005)(4326008)(6916009)(66946007)(66476007)(66556008)(6486002)(31686004)(2906002)(8676002)(53546011)(6512007)(6506007)(6666004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bmRHSFJJRnFzSU51SFRPSFBVUlpqWEVmL0RVcUNJQ2FOeFlDbG42aVlkTnBa?=
 =?utf-8?B?Y1V1YXRnZVZHZTRza3JML2hxR1NGeVJkR0tPUHh4L3owQnIxcUIrQU5jbnI1?=
 =?utf-8?B?MXhMQXhCMVhnZ2grTU5WZy9mQWtaaFFzVGN0YUJvK3BBM3JMU3pZQ0FuOVVL?=
 =?utf-8?B?c2tSLzVKTVplMnlXTkRSWTd6U0dxUEh2Z3lOS1NJc0hTSGJjanE4WVlpZTVx?=
 =?utf-8?B?MUZ5R2ZrLzFXY2M5MGRqWW1xYUVRZWJzOVdyWEZoZEVPekc2S09PY3ByYUgx?=
 =?utf-8?B?aHAxUHlQVSt6d1NBQ1Q4OUIxZ2NHYnI2Y1VMdW85UXJoS0JXL1d6VlhkaHBx?=
 =?utf-8?B?VHBCSWh3cVpNYlRTckg4ejJUR1IvdDREdzBTSHVtS2xySkcvL2dhRURoN2ly?=
 =?utf-8?B?ckdPRm9PeVpkenNjbWQ3WkVMU0tRQ1QrOWZmOXMyM2kvNkptdGYrQzlhRTdZ?=
 =?utf-8?B?R3JzeHRWcldoaU1xVXEvLzJ2QVFRUFhWR1MxeGI3RFJtYXh4ei9xdmRJd0wv?=
 =?utf-8?B?UUVPZlhVemVCUGxOWW9SQ3pWQ3ZZRUFnNVVpNU4wVDRsbFN6b2lDR09wL1ls?=
 =?utf-8?B?eUhtYUVtdjF5c0RQS0hlYTR2NUF1Mnp5L2I3ZWRCSmg3RzJZRzJwb3RORm9F?=
 =?utf-8?B?NVg1eUptdUJZWHU1ZFN0L1l6RUZ4RlQ1L1hkUDZSZW4rTnMxZFVQL21JOS9R?=
 =?utf-8?B?NG9JK3hTTWlpaURLMVE1dW9RWE4ydnVmNUhVd1JWTEFsUlhDRGMzKy8rZlNx?=
 =?utf-8?B?OUxjV0kyamRVWXNnZ2RZL2t1RnlOYXlDVE0vMjg0R28veHkzTnA5em9aK1Jp?=
 =?utf-8?B?ck1FRGxsTjFMZHc4dWprMHN6WjhtUjVWenVmN01uWXpMQ3ZkZ0VsVTZlWWkr?=
 =?utf-8?B?WFN0YWNUKzBsN1RleVZQTnZCV3lxRjk1dWFEMXEzZXB1RnhySUptYVBuSCt6?=
 =?utf-8?B?bXlBTlJXTW12ZUxOYitpdzhUdXNMaC8rcjc5Ynpaams2Tjl4UTY1Yncxd1Zz?=
 =?utf-8?B?Z2F3d3k4TE42TzdmUCtaQ1JpdDRFWElLSnNPd3FIVWRGaHl0cWx1aDRiR2Y3?=
 =?utf-8?B?SEl2a2oyV1ZMV3piUzdJWDVRdVNEdWlMUkNyNXFKaldtd1l4Z0Z3YzlTK3c1?=
 =?utf-8?B?ZHk3VWlIQzFnUHRtcElRSXpXclljREVnN1Eyb0YrcnFJdEpTekRUR3JsZDJr?=
 =?utf-8?B?RzMwZjliUG1ocWtJK1NCNnFuUEFVT0RsMUVWdWhIWEtHMUx5d2lSakFzMUhW?=
 =?utf-8?B?U0hVcTdmMWpUaE0xUVdZR094djlUYnc2N1lJN2RLOW5oVlZqRUhJSXY1VWFU?=
 =?utf-8?B?LzYydGY1d3dxU2tXQzlUOTBBcTRUbGdlVklCVUdBdXhqZlFCNVlHeHRqQlQ2?=
 =?utf-8?B?SmdDdUpMbk5aYnNRTTBPd1lRT25zanM1SEwzci94OWxDNmFkMDVua0VNYnNX?=
 =?utf-8?B?NXdxS1FGR0x5aFNxT0czYlNzL21NL1pIU0ZSNWVSM3dNZjZvYUxaYjl0UVNL?=
 =?utf-8?B?TEhuZHhTNXlhK2llUklKdXpYVlhlU0FqazIyL2FrQzRwYng2R0VCMUZDQWVr?=
 =?utf-8?B?TkZNL1N0NlBHcEovUnhBQkRRNDlBSENkR0QxOG1zVzZCVHV5NXIyRHdDSjlR?=
 =?utf-8?B?ZURIRHp3dE9oaTBmRjNUR2lTL0tvUUdiVXEyNlorZ0EwM2JCbVByVmlHMXQr?=
 =?utf-8?B?WFRrbUhJcTBNRmxkL2M4VXZEVVRlL1BiKzRwWkV1UTc1Yysva3NyallORENO?=
 =?utf-8?B?THVrNlE2d2tEVWFWK2hCR1dwUWdIZVIxK2ZmYk1UclVXUDdrRFdxQUQyWFQ2?=
 =?utf-8?B?dzRNMWJwKytkdFRVMklzemRQZVg2czE1d2xrOURLV3NNb1I5djlWRFNtT0lR?=
 =?utf-8?B?VzdyMXdJeURaYndRTDVwYjM4eUFiOHN5U1NuY05ML1Vyc2Q3bmZYejlnUUQ0?=
 =?utf-8?B?Y0xkT3BmUnh3NEwxRWtia0MzRTY5Rzd6UkZzRDM2b1ZScWlQNms2QmFHZFZs?=
 =?utf-8?B?Z3RadmZtZkxGTHUrZVJleUxySUtPQlloMHVYMXBkN0Mzc0FvMkNGcTIyckdq?=
 =?utf-8?B?c3NUTlVZNFhlYk41ZTZRWHZhUGRlSlRaVHYzbElNSmprV1IvUXMvMHk5SG5p?=
 =?utf-8?B?eXNOZlk0OFV4VWxHemQ0dEo4V3p5MjVaa1hoU1dSUWxKdkFwQXR1WTJXeHBW?=
 =?utf-8?B?WXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	kyT89W3PH4nPzBEHdVS6ceCJZZBYFjOAcA+qmJz9J4byQWGC4ZZ0Ioh7MsiN7DiSiKHnQKHVQTpXfnmLjVVvgPnyhlsMdzzOe+h3wPtZrzjxmL9HeCbrS1LD6WQlOE2R+sEpS9ynmv+jhRPwTLDv8zNn63kYPy3EQ/+KRQH3xYom5Yw1bCqmEAcONcJoLoI/ZQuPB7SBgbk5gkhBgKGM4zG/GW6UFQMWslCNSe82Ot8kpK4x9nDTrBe1Q9ZzpyhU8LKp02l37P4M4ml4JW831P2YhA0AgwLJ2KmHtlw75MjPLYsu2v9Z28PrQ/qgfX9UBBqA9R5CPgG3/4MUWA6HpUt6Mk7ELIVURGk5ZN7NEGyfDarln+LeqTNG3R9a4/DQh4hwfIFgEkfqIHPaE1j5f2+KP8mF23sBXOQtlnvGJtclUE278TQgdEgPghiFwEEI2iqD0luO4489r617u+ms9Sb+NaCJcHDA1MV2zJEaGVtcPvaZFY9J1suPQOuUAwmnfEhKcXu0XPIkYe5Gl7BB/WK3idPZ2lLJSxDn9BDolhCi383wfk+SMNunOgZ9GFakxKFjNczr1IB3ikTEvkiBzDT4LTIf/b2jTzBt82T5Dji+lNdFSsi9pXKkWaKKSTfPsScx0OKLM2ETVYrOGpli59K7DMtb1IC1WhRlDiSgp/mveNO6zETN3SB94LF+iaGCTW8kgRboxkVNJOrtzIky05Xfia9G1j/FtbjooFD8+46zA6rMdGOGilMb0xsmF3P1iWj944BrWduEcixEEu88VjdlwyQb9SaWNPo3+cNQP1X3cCDGJeNjwm6YDpviL9ps
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 358f109c-fa89-4575-402b-08db1c15b5f8
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Mar 2023 18:32:58.6361
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: coiufj3Vo95XNtZOtwJ2e2fOmfPdBxFNNNO8517dfzPl6TEpoyVU34DIBTFgySVtALLz/0a2eio6vlvT6YnFao+M3JslHOGKNEXM30Jt9TA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5482

On 03/03/2023 7:23 am, Jan Beulich wrote:
> On 04.01.2023 12:11, Andrew Cooper wrote:
>> --- a/xen/include/public/arch-x86/cpufeatureset.h
>> +++ b/xen/include/public/arch-x86/cpufeatureset.h
>> @@ -288,6 +288,9 @@ XEN_CPUFEATURE(NSCB,               11*32+ 6) /*A  Null Selector Clears Base (and
>>  /* Intel-defined CPU features, CPUID level 0x00000007:1.ebx, word 12 */
>>  XEN_CPUFEATURE(INTEL_PPIN,         12*32+ 0) /*   Protected Processor Inventory Number */
>>  
>> +/* Intel-defined CPU features, CPUID level 0x00000007:1.ecx, word 14 */
>> +/* Intel-defined CPU features, CPUID level 0x00000007:1.edx, word 15 */
> While committing the backports of this (where I normally test-build
> every commit individually) I came to notice that this introduces a
> transient (until the next commit) build breakage: FEATURESET_NR_ENTRIES
> is calculated from the highest entry found; the comments here don't
> matter at all. Therefore ...
>
>> @@ -343,6 +352,8 @@ static inline void cpuid_policy_to_featureset(
>>      fs[FEATURESET_e21a] = p->extd.e21a;
>>      fs[FEATURESET_7b1] = p->feat._7b1;
>>      fs[FEATURESET_7d2] = p->feat._7d2;
>> +    fs[FEATURESET_7c1] = p->feat._7c1;
>> +    fs[FEATURESET_7d1] = p->feat._7d1;
>>  }
>>  
>>  /* Fill in a CPUID policy from a featureset bitmap. */
>> @@ -363,6 +374,8 @@ static inline void cpuid_featureset_to_policy(
>>      p->extd.e21a  = fs[FEATURESET_e21a];
>>      p->feat._7b1  = fs[FEATURESET_7b1];
>>      p->feat._7d2  = fs[FEATURESET_7d2];
>> +    p->feat._7c1  = fs[FEATURESET_7c1];
>> +    p->feat._7d1  = fs[FEATURESET_7d1];
>>  }
> ... the compiler legitimately complains about out-of-bounds array
> accesses here. This is just fyi for the future (to arrange patch
> splitting differently); I've left the backports as they were.

Hmm.  c/s e3662437eb43 was designed to specifically allow CPUID patches
to be split like this.

Which compiler?  I think I agree with your analysis, but I've never seen
a complaint, hence not noticing.

I suspect we actually want FEATURESET_NR_ENTRIES defined in C, next to
the FEATURESET_* defines, and we want to BUILD_BUG_ON() if the autogen
length is larger than the C length.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 19:32:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 19:32:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506170.779219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYB8a-0006Kg-Us; Fri, 03 Mar 2023 19:32:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506170.779219; Fri, 03 Mar 2023 19:32: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 1pYB8a-0006KZ-Rk; Fri, 03 Mar 2023 19:32:16 +0000
Received: by outflank-mailman (input) for mailman id 506170;
 Fri, 03 Mar 2023 19:32: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 1pYB8Z-0006KP-C7; Fri, 03 Mar 2023 19:32: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 1pYB8Z-0004yO-8t; Fri, 03 Mar 2023 19:32: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 1pYB8Z-0001qF-0p; Fri, 03 Mar 2023 19:32:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pYB8Z-0002A9-0O; Fri, 03 Mar 2023 19:32: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=Z0aoPMGzQJ2YNNuHiW9fJP5Nnt5Ehgh0UpQUqh8Gecw=; b=26K9MTsVpQpE3Dyisi5LAMT2fl
	9fAl/ar1TqR8wzzhbR6KoWoKpGoyRiwpxb3TqVRiYrESQIxSgwmgSOlqwAn0FQWfWyKd1kXbhDQQE
	TYr0OLWGIPxpIft1L8lYmPmHmtTSphEAvzKKb2OcULOXnItPEv3P4NGJ+EUYwJRlwKWA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179062-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 179062: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    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-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-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-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: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-qemuu-debianhvm-amd64-xsm: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-i386-libvirt-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-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-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-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-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-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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-4.17-testing:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=ec5b058d2a6436a2e180315522fcf1645a8153b4
X-Osstest-Versions-That:
    xen=aaf74a532c02017998492c0bf60a9c6be3332f20
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Mar 2023 19:32:15 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 178227
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 178227
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178227
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178227
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 178227
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178227
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 178227
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178227
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178227
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-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-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  ec5b058d2a6436a2e180315522fcf1645a8153b4
baseline version:
 xen                  aaf74a532c02017998492c0bf60a9c6be3332f20

Last test of basis   178227  2023-02-23 09:51:22 Z    8 days
Testing same since   179062  2023-03-03 07:07:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Edwin Török <edwin.torok@cloud.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Sergey Dyasli <sergey.dyasli@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   aaf74a532c..ec5b058d2a  ec5b058d2a6436a2e180315522fcf1645a8153b4 -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 20:19:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 20:19:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506192.779280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYBrf-00049T-1D; Fri, 03 Mar 2023 20:18:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506192.779280; Fri, 03 Mar 2023 20: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 1pYBre-00049M-Ud; Fri, 03 Mar 2023 20:18:50 +0000
Received: by outflank-mailman (input) for mailman id 506192;
 Fri, 03 Mar 2023 20: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=RVKH=63=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pYBre-00049G-2o
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 20: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 997911d6-ba00-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 21:18:46 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 31E17618C4;
 Fri,  3 Mar 2023 20:18:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D3F7CC433EF;
 Fri,  3 Mar 2023 20:18: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: 997911d6-ba00-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677874724;
	bh=JFrgL91Y1mzcieOtFGb67hWIYblIWfe8TovZ4Z0GdeQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ktv4k9uYvuXsRqQMotFR8b78Lvrm+2HLtR9sY5KEtCbZs+YXCYnAWcmWR93Z8MkUT
	 0JcPi3H2DLAGJo6cWjBIpd/HL9nhXQSyjjhH1QNhd5yD3LJlpB6ziuhJ+4VNzLwJxy
	 tTkrW1BJHbsXMcyP1cKLKDTTDfDuOFT+duZMZzr4bryym5ZIkBNWAmMkZejridk106
	 B1AejRdNtOeqkE/Jt5SHCVnZXCL/tf8qTUKomlDdR23izxebmqhsMU6ZyHbqdTP2DN
	 YRgwzvNuI3ft7SxTg7VWkDBor3PITUpToflWCqtr94GNL+dDXY9FRbNeGGM9UZmmiZ
	 FgKSZV1k6LU1g==
Date: Fri, 3 Mar 2023 12:18:42 -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>, 
    Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] automation: Drop sles11sp4 dockerfile
In-Reply-To: <20230303125346.20620-1-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2303031218350.863724@ubuntu-linux-20-04-desktop>
References: <20230303125346.20620-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, 3 Mar 2023, Michal Orzel wrote:
> It has reached EOL and there are no jobs using it on any branch.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

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


> ---
> We can also safely remove sles containers from registry.
> ---
>  automation/build/suse/sles11sp4.dockerfile | 20 --------------------
>  1 file changed, 20 deletions(-)
>  delete mode 100644 automation/build/suse/sles11sp4.dockerfile
> 
> diff --git a/automation/build/suse/sles11sp4.dockerfile b/automation/build/suse/sles11sp4.dockerfile
> deleted file mode 100644
> index ff69a99afc71..000000000000
> --- a/automation/build/suse/sles11sp4.dockerfile
> +++ /dev/null
> @@ -1,20 +0,0 @@
> -FROM registry.gitlab.com/xen-project/xen/suse:sles11sp4-base
> -LABEL maintainer.name="The Xen Project" \
> -      maintainer.email="xen-devel@lists.xenproject.org"
> -
> -ENV USER root
> -
> -RUN mkdir /build
> -WORKDIR /build
> -
> -# Nothing else is needed -- base image already contain everything.
> -
> -# Note:
> -#
> -# SLES11 SP4 runs pre-2.13 glibc, which requires vsyscall support.  Most
> -# distros nowadays disable vsyscall. To run this container, the host needs to
> -# have vsyscall=emulate in its kernel command line.
> -#
> -# Due to various issues in SLES11 SP4, you might want to disable building
> -# certain components. Known *not bulding* components include OVMF, SEABIOS
> -# and upstream QEMU.
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 20:22:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 20:22:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506198.779290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYBvS-0005qo-Gj; Fri, 03 Mar 2023 20:22:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506198.779290; Fri, 03 Mar 2023 20: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 1pYBvS-0005qh-E1; Fri, 03 Mar 2023 20:22:46 +0000
Received: by outflank-mailman (input) for mailman id 506198;
 Fri, 03 Mar 2023 20:22:45 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=RVKH=63=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pYBvR-0005qZ-Dk
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 20:22:45 +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 26f2f91e-ba01-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 21:22:43 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 825EE618E1;
 Fri,  3 Mar 2023 20:22:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36F99C433D2;
 Fri,  3 Mar 2023 20:22: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: 26f2f91e-ba01-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677874961;
	bh=XYm6eICqAsSfKUW+3k84v0Vx/9iaK3BbymfLP+AGWDk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ES3FwiKPW4zXTJ1wXXYs/TEGaFRorUok4cM3zZ8amqBL7aBdMwoiQ03fJwxFPOkH5
	 eodpMToU18aHOnrTBTKd8E8+7V0em8Qveaic9y2mDjR+u8juizPZWct1cfNU0EPW5i
	 kN3A4RrZgYh8Muo+QqbvY3AWftIXvsVxNbhyO9/DzMrcEEgz/ilKD1idC0vW1iMFb9
	 bjR2s8OIWKyl8k3cGATuN//m+Sba8+kJVd3Efyj2tQnacE+LSo42WBoWYAADu+m9k4
	 lKKntHpWkubmZTy7pamClJl/5bTVE9bGhW894kZfwFXsBHgNRN3WYO9/ab1PzHPnc4
	 K5zyUmeGZ3VgA==
Date: Fri, 3 Mar 2023 12:22:39 -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: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] automation: Use --no-install-recommends and -slim
 base for debian/unstable
In-Reply-To: <20230303165258.12577-1-anthony.perard@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2303031220360.863724@ubuntu-linux-20-04-desktop>
References: <20230303165258.12577-1-anthony.perard@citrix.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 Mar 2023, Anthony PERARD wrote:
> Use "--no-install-recommends" to avoid installing many packages that
> aren't needed, many are *-doc packages. Also start using the -slim
> base image as they remove a few unused files/directories, like docs/.
> 
> Explicitly install "ca-certificates" as it is only recommended for
> "wget".
> Explicitly install "ocaml-findlib" as it is only recommended for
> "libfindlib-ocaml-dev".
> 
> Using "--no-install-recommends" saves about 600MB on the uncompress
> image. 2.89GB vs 2.3GB (value from `docker image list`).
> 
> Switching to -slim save about 130MB.
> 
> Overwall, we go from 2.89GB to 2.17GB.
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Hi Anthony, I like this, thank you for doing this. I hate to be the guy
to ask "could you also..." but could you also do the same for the other
Debian Unstable containers? We have:

unstable-arm64v8-arm32-gcc.dockerfile
unstable-arm64v8.dockerfile
unstable-cppcheck.dockerfile
unstable.dockerfile
unstable-i386.dockerfile

I think it would be a good idea to be consistent and update them all?

Contact me privately if you need a native arm64 environment.



> ---
> 
> Notes:
>     Change to use "-slim" was proposed by Andy. I went futher and added
>     --no-install-recommends.
>     
>     I've tried to find other missing packages by looking at differences
>     in  "tools/config.log", "stubdom/config.log", "config/", and
>     "xen/.config".
>     
>     A test is in progress to check that no jobs are broken, but result
>     probably not before next week.
>         https://gitlab.com/xen-project/people/anthonyper/xen/-/pipelines/795600920
>     
>     I've only tested gcc debug=n on x86_64 locally.
> 
>  automation/build/debian/unstable-i386.dockerfile | 6 ++++--
>  automation/build/debian/unstable.dockerfile      | 6 ++++--
>  2 files changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/automation/build/debian/unstable-i386.dockerfile b/automation/build/debian/unstable-i386.dockerfile
> index 1c4928b09e..cc116d32e9 100644
> --- a/automation/build/debian/unstable-i386.dockerfile
> +++ b/automation/build/debian/unstable-i386.dockerfile
> @@ -1,4 +1,4 @@
> -FROM i386/debian:unstable
> +FROM i386/debian:unstable-slim
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> @@ -12,7 +12,8 @@ ENTRYPOINT ["linux32"]
>  
>  # build depends
>  RUN apt-get update && \
> -    apt-get --quiet --yes install \
> +    apt-get --quiet --no-install-recommends --yes install \
> +        ca-certificates \
>          build-essential \
>          zlib1g-dev \
>          libncurses5-dev \
> @@ -35,6 +36,7 @@ RUN apt-get update && \
>          libc6-dev \
>          libnl-3-dev \
>          ocaml-nox \
> +        ocaml-findlib \
>          libfindlib-ocaml-dev \
>          markdown \
>          transfig \
> diff --git a/automation/build/debian/unstable.dockerfile b/automation/build/debian/unstable.dockerfile
> index 6ef2878200..06ac909a85 100644
> --- a/automation/build/debian/unstable.dockerfile
> +++ b/automation/build/debian/unstable.dockerfile
> @@ -1,4 +1,4 @@
> -FROM debian:unstable
> +FROM debian:unstable-slim
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> @@ -10,7 +10,8 @@ WORKDIR /build
>  
>  # build depends
>  RUN apt-get update && \
> -    apt-get --quiet --yes install \
> +    apt-get --quiet --no-install-recommends --yes install \
> +        ca-certificates \
>          build-essential \
>          zlib1g-dev \
>          libncurses5-dev \
> @@ -34,6 +35,7 @@ RUN apt-get update && \
>          libc6-dev-i386 \
>          libnl-3-dev \
>          ocaml-nox \
> +        ocaml-findlib \
>          libfindlib-ocaml-dev \
>          markdown \
>          transfig \
> -- 
> Anthony PERARD
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 20:27:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 20:27:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506207.779300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYC0J-0006YP-8a; Fri, 03 Mar 2023 20:27:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506207.779300; Fri, 03 Mar 2023 20: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 1pYC0J-0006YI-5v; Fri, 03 Mar 2023 20:27:47 +0000
Received: by outflank-mailman (input) for mailman id 506207;
 Fri, 03 Mar 2023 20: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=RVKH=63=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pYC0H-0006YB-ER
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 20:27:45 +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 da22360f-ba01-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 21:27:44 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id EA6626185C;
 Fri,  3 Mar 2023 20:27:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8AFA1C433EF;
 Fri,  3 Mar 2023 20:27: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: da22360f-ba01-11ed-96af-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677875262;
	bh=WYj1mn/QFLSAHMXcUhqepuvhkvu+QKfmUvgsXjfFubU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=OJhnKaUjuGFuzxuuu5irL0/mT9U1z27vi5PWGKyrwWCEkGFxEBBpxtyHIjnDwCcVn
	 csseuNVfM8csJ83Lm6B8YkFCF8DhnLmI4oHq379m6hHLxLi95K61hLeaQEEBGes3kl
	 XatdZ/rJ5aJF/4tvAYfUSRSECwEFPjUkan51KkNHRs44r/S1bYWzhc6L1ZkkG9TkMz
	 3vHTgE6nunYhT3l+bLe/x4tjN8N/E3y/4JgwTygN5Z9Se/CKgtNZiTLtTqQb7GP+jq
	 KmaySuSQ3q88WgU79GqmJpxzmC3LJntgVdHxu9Eau2djaP/bcVrfnW8I0o3T1sFJmy
	 DEhyFdj3TWqLg==
Date: Fri, 3 Mar 2023 12:27:40 -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>, 
    xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [RFC XEN PATCH 0/7] automation, RFC prototype, Have GitLab CI
 built its own containers
In-Reply-To: <ZAItWIy7oUqRmulW@perard>
Message-ID: <alpine.DEB.2.22.394.2303031223160.863724@ubuntu-linux-20-04-desktop>
References: <20230302175332.56052-1-anthony.perard@citrix.com> <alpine.DEB.2.22.394.2303021836450.863724@ubuntu-linux-20-04-desktop> <ZAItWIy7oUqRmulW@perard>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 3 Mar 2023, Anthony PERARD wrote:
> On Thu, Mar 02, 2023 at 06:48:35PM -0800, Stefano Stabellini wrote:
> > On Thu, 2 Mar 2023, Anthony PERARD wrote:
> > > Patch series available in this git branch:
> > > https://xenbits.xen.org/git-http/people/aperard/xen-unstable.git br.gitlab-containers-auto-rebuild-v1
> > > 
> > > Hi,
> > > 
> > > I have done some research to be able to build containers in the CI. This works
> > > only for x86 containers as I've setup only a single x86 gitlab-runner to be
> > > able to run docker-in-docker.
> > > 
> > > The runner is setup to only accept jobs from a branch that is "protected" in
> > > gitlab. Also, one need credential to push to the container register, those are
> > > called "Group deploy tokens", and I've set the variables CI_DEPLOY_USER and
> > > CI_DEPLOY_PASSWORD in the project "xen-project/xen" (variables only visible on
> > > a pipeline running on a protected branch).
> > > 
> > > These patch introduce quite a lot of redundancies in jobs, 2 new jobs per
> > > containers which build/push containers, and duplicate most of build.yaml.
> > > This mean that if we go with this, we have to duplicate and keep in sync many
> > > jobs.
> > > 
> > > To avoid having to do the duplicated jobs by hand, I could look at
> > > creating a script that use "build.yaml" as input and produce the 3
> > > stages needed to update a container, but that script would need to be
> > > run by hand, as gitlab can't really use it, unless ..
> > > 
> > > I've look at generated pipeline, and they look like this in gitlab:
> > >     https://gitlab.com/xen-project/people/anthonyper/xen/-/pipelines/777665738
> > > But the result of the generated/child pipeline doesn't seems to be taken into
> > > account in the original pipeline, which make me think that we can't use them to
> > > generate "build.yaml". But maybe the could be use for generating the pipeline
> > > that will update a container.
> > > Doc:
> > >     https://docs.gitlab.com/ee/ci/pipelines/downstream_pipelines.html#dynamic-child-pipelines
> > > 
> > > So, with all of this, is it reasonable to test containers before
> > > pushing them to production? Or is it to much work? We could simply have jobs
> > > tacking care of rebuilding a container and pushing them to production without
> > > testing.
> > 
> > I don't think it is a good idea to duplicate build.yaml, also because
> > some of the containers are used in the testing stage too, so an updated
> > container could be OK during the build phase and break the testing
> > phase. We would need to duplicate both build.yaml and test.yaml, which
> > is not feasible.
> > 
> > In practice today people either:
> > 1) re-build a container locally & test it locally before pushing
> > 2) re-build a container locally, docker push it, then run a private
> >    gitlab pipeline, if it passes send out a patch to xen-devel
> > 
> > 1) is not affected by this series
> > 2) is also not affected because by the time the pipeline is created, the
> > container is already updated
> > 
> > However, there are cases where it would definitely be nice to have a
> > "button" to press to update a container. For instance, when a pipeline
> > failis due to a Debian unstable apt-get failure, which can be easily fixed
> > by updating the Debian unstable container.
> > 
> > So I think it would be nice to have jobs that can automatically update
> > the build containers but I would set them to manually trigger instead of
> > automatically (when: manual).
> 
> What I was looking at with this work was to be able to have container
> been rebuild automatically on a schedule. We have/had containers that
> were 3yr old, and when it's a container that supposed to test the lasted
> version of a distro, or a rolling release distro, they are kind of
> useless if they aren't rebuild regularly. So I was looking to take the
> human out of the loop and have computers the tedious work of rebuilding a
> container every month or two.
> 
> Containers that needs to be rebuilt regularly to stay relevant are
> archlinux, debian/unstable, fedora/latest, propably opensuse/leap and
> opensuse/tumbleweed. I don't know if they are others.
 
OK. This use-case is very different from 1) and 2) below. In this case
the need to rebuild the container does not come from a change in the
Dockerfile made by a human (e.g. a contributor adding a package to
apt-get) but it comes from the fact that the underlying distro is
updated continuously so the containers should also be updated
continuously.

For this use-case specifically, I think it would be better to trigger
the jobs to do the containers update based on schedule, rather than a
change to the Dockerfile?

And also, given that there are supposed to be no breaking changes, it
would be more acceptable to do the containers update without testing it.
But it would still be nicer to run the tests as suggested below of
course.

 
> > Alternatively, we could move the "containers.yaml" stage to be the first
> > step, rebuild the containers and push them to a "staging" area
> > (registry.gitlab.com/xen-project/xen/staging), run the build and test
> > steps fetching from the staging area instead of the regular, if all
> > tests pass, then push the containers to
> > registry.gitlab.com/xen-project/xen as last step.
> 
> Sounds good, I can look into how easily it would be to use a different
> registry to run a pipeline.

Thanks!


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 20:54:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 20:54:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506220.779316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYCQ6-0002da-FS; Fri, 03 Mar 2023 20:54:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506220.779316; Fri, 03 Mar 2023 20:54: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 1pYCQ6-0002dT-Cj; Fri, 03 Mar 2023 20:54:26 +0000
Received: by outflank-mailman (input) for mailman id 506220;
 Fri, 03 Mar 2023 20:54: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=RVKH=63=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pYCQ5-0002dL-60
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 20:54:25 +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 91e2d26c-ba05-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 21:54:21 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id EBA64618E8;
 Fri,  3 Mar 2023 20:54:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 07B29C433D2;
 Fri,  3 Mar 2023 20:54: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: 91e2d26c-ba05-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677876859;
	bh=1HUa9qKeKoRCGFs1MZ+MO1H4AQRMvPDj2qX5Y330J7U=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=gbVComdJdGaHLigYe6ltLwHtQYKb3KcwwTvTxwM4a8wyhkAaNvO5E7FfXLJ+Yoqx5
	 /c4IqIdlR0LO4M4iylqElHP1jBsYwEEThuPVFrB7AKcXc1D0T50tP/AEXbuxwm0f4q
	 6WSJzAQf2Iwz1jpRRRcB9X0L3t1b4ip7Bn2RW6RGoaZH1xEeTxXAIc01anLqnomgj5
	 vIqjZGttz3C8Fz3zMql7jkaMEyaP54m6HRyn17iJbDWrx8RfVj7yRO3mimlWAqidRI
	 +j265aGg619sE2kcRpB+dir5kteTcZU8V+W7FF7md8vgXlNw8ln9hUUZOmHUuDIWT7
	 M49tth3IDiOEg==
Date: Fri, 3 Mar 2023 12:54:16 -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: xen-devel@lists.xenproject.org, bertrand.marquis@arm.com, wei.chen@arm.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH v3 1/3] xen/cppcheck: add a way to exclude files from
 the scan
In-Reply-To: <20230303093856.2169227-2-luca.fancellu@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303031247330.863724@ubuntu-linux-20-04-desktop>
References: <20230303093856.2169227-1-luca.fancellu@arm.com> <20230303093856.2169227-2-luca.fancellu@arm.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 Mar 2023, Luca Fancellu wrote:
> Add a way to exclude files from the scan, in this way we can skip
> some findings from the report on those files that Xen doesn't own.
> 
> To do that, introduce the exclude-list.json file under docs/misra,
> this file will be populated with relative path to the files/folder
> to be excluded.
> Introduce a new module, exclusion_file_list.py, to deal with the
> exclusion list file and use the new module in cppcheck_analysis.py
> to take a list of excluded paths to update the suppression list of
> cppcheck.
> Modified --suppress flag for cppcheck tool to remove
> unmatchedSuppression findings for those external file that are
> listed but for example not built for the current architecture.
> 
> Add documentation for the file.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

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


> ---
> Changes from v2:
>  - enforce excluded folder path to end with '/*', so update docs
>    and drop the code that handled (badly) that case from
>    exclusion_file_list.py, __cppcheck_path_exclude_syntax(...)
>    (Stefano)
> Changes from v1:
>  - Indentation fixed (Jan)
> ---
> ---
>  docs/misra/exclude-list.json                  |  4 ++
>  docs/misra/exclude-list.rst                   | 46 ++++++++++++
>  xen/scripts/xen_analysis/cppcheck_analysis.py | 20 +++++-
>  .../xen_analysis/exclusion_file_list.py       | 70 +++++++++++++++++++
>  4 files changed, 138 insertions(+), 2 deletions(-)
>  create mode 100644 docs/misra/exclude-list.json
>  create mode 100644 docs/misra/exclude-list.rst
>  create mode 100644 xen/scripts/xen_analysis/exclusion_file_list.py
> 
> diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
> new file mode 100644
> index 000000000000..1fb0ac67747b
> --- /dev/null
> +++ b/docs/misra/exclude-list.json
> @@ -0,0 +1,4 @@
> +{
> +    "version": "1.0",
> +    "content": []
> +}
> diff --git a/docs/misra/exclude-list.rst b/docs/misra/exclude-list.rst
> new file mode 100644
> index 000000000000..c97431a86120
> --- /dev/null
> +++ b/docs/misra/exclude-list.rst
> @@ -0,0 +1,46 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +Exclude file list for xen-analysis script
> +=========================================
> +
> +The code analysis is performed on the Xen codebase for both MISRA
> +checkers and static analysis checkers, there are some files however that
> +needs to be removed from the findings report for various reasons (e.g.
> +they are imported from external sources, they generate too many false
> +positive results, etc.).
> +
> +For this reason the file docs/misra/exclude-list.json is used to exclude every
> +entry listed in that file from the final report.
> +Currently only the cppcheck analysis will use this file.
> +
> +Here is an example of the exclude-list.json file::
> +
> +|{
> +|    "version": "1.0",
> +|    "content": [
> +|        {
> +|            "rel_path": "relative/path/from/xen/file",
> +|            "comment": "This file is originated from ..."
> +|        },
> +|        {
> +|            "rel_path": "relative/path/from/xen/folder/*",
> +|            "comment": "This folder is a library"
> +|        },
> +|        {
> +|            "rel_path": "relative/path/from/xen/mem*.c",
> +|            "comment": "memcpy.c, memory.c and memcmp.c are from the outside"
> +|        }
> +|    ]
> +|}
> +
> +Here is an explanation of the fields inside an object of the "content" array:
> + - rel_path: it is the relative path from the Xen folder to the file/folder that
> +   needs to be excluded from the analysis report, it can contain a wildcard to
> +   match more than one file/folder at the time. This field is mandatory.
> + - comment: an optional comment to explain why the file is removed from the
> +   analysis.
> +
> +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
> +folder.
> diff --git a/xen/scripts/xen_analysis/cppcheck_analysis.py b/xen/scripts/xen_analysis/cppcheck_analysis.py
> index cc1f403d315e..e385e2c8f54a 100644
> --- a/xen/scripts/xen_analysis/cppcheck_analysis.py
> +++ b/xen/scripts/xen_analysis/cppcheck_analysis.py
> @@ -1,7 +1,8 @@
>  #!/usr/bin/env python3
>  
>  import os, re, shutil
> -from . import settings, utils, cppcheck_report_utils
> +from . import settings, utils, cppcheck_report_utils, exclusion_file_list
> +from .exclusion_file_list import ExclusionFileListError
>  
>  class GetMakeVarsPhaseError(Exception):
>      pass
> @@ -50,6 +51,21 @@ def __generate_suppression_list(out_file):
>              # header for cppcheck
>              supplist_file.write("*:*generated/compiler-def.h\n")
>  
> +            try:
> +                exclusion_file = \
> +                    "{}/docs/misra/exclude-list.json".format(settings.repo_dir)
> +                exclusion_list = \
> +                    exclusion_file_list.load_exclusion_file_list(exclusion_file)
> +            except ExclusionFileListError as e:
> +                raise CppcheckDepsPhaseError(
> +                    "Issue with reading file {}: {}".format(exclusion_file, e)
> +                )
> +
> +            # Append excluded files to the suppression list, using * as error id
> +            # to suppress every findings on that file
> +            for path in exclusion_list:
> +                supplist_file.write("*:{}\n".format(path))
> +
>              for entry in headers:
>                  filename = entry["file"]
>                  try:
> @@ -128,7 +144,7 @@ def generate_cppcheck_deps():
>   --relative-paths={}
>   --inline-suppr
>   --suppressions-list={}/suppression-list.txt
> - --suppress='unmatchedSuppression:*generated/compiler-def.h'
> + --suppress='unmatchedSuppression:*'
>   --include={}/include/xen/config.h
>   -DCPPCHECK
>  """.format(settings.outdir, CPPCHECK_BUILD_DIR, settings.xen_dir,
> diff --git a/xen/scripts/xen_analysis/exclusion_file_list.py b/xen/scripts/xen_analysis/exclusion_file_list.py
> new file mode 100644
> index 000000000000..871e480586bb
> --- /dev/null
> +++ b/xen/scripts/xen_analysis/exclusion_file_list.py
> @@ -0,0 +1,70 @@
> +#!/usr/bin/env python3
> +
> +import os, glob, json
> +from . import settings
> +
> +class ExclusionFileListError(Exception):
> +    pass
> +
> +
> +def __cppcheck_path_exclude_syntax(path):
> +    # Prepending * to the relative path to match every path where the Xen
> +    # codebase could be
> +    path = "*" + path
> +
> +    return path
> +
> +
> +# Reads the exclusion file list and returns a list of relative path to be
> +# excluded.
> +def load_exclusion_file_list(input_file):
> +    ret = []
> +    try:
> +        with open(input_file, "rt") as handle:
> +            content = json.load(handle)
> +            entries = content['content']
> +    except json.JSONDecodeError as e:
> +        raise ExclusionFileListError(
> +                "JSON decoding error in file {}: {}".format(input_file, e)
> +        )
> +    except KeyError:
> +        raise ExclusionFileListError(
> +            "Malformed JSON file: content field not found!"
> +        )
> +    except Exception as e:
> +        raise ExclusionFileListError(
> +                "Can't open file {}: {}".format(input_file, e)
> +        )
> +
> +    for entry in entries:
> +        try:
> +            path = entry['rel_path']
> +        except KeyError:
> +            raise ExclusionFileListError(
> +                "Malformed JSON entry: rel_path field not found!"
> +            )
> +        abs_path = settings.xen_dir + "/" + path
> +        check_path = [abs_path]
> +
> +        # If the path contains wildcards, solve them
> +        if '*' in abs_path:
> +            check_path = glob.glob(abs_path)
> +
> +        # Check that the path exists
> +        for filepath_object in check_path:
> +            if not os.path.exists(filepath_object):
> +                raise ExclusionFileListError(
> +                    "Malformed path: {} refers to {} that does not exists"
> +                    .format(path, filepath_object)
> +                )
> +
> +        if settings.analysis_tool == "cppcheck":
> +            path = __cppcheck_path_exclude_syntax(path)
> +        else:
> +            raise ExclusionFileListError(
> +                "Unimplemented for {}!".format(settings.analysis_tool)
> +            )
> +
> +        ret.append(path)
> +
> +    return ret
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 20:55:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 20:55:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506225.779327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYCQz-0003BL-PP; Fri, 03 Mar 2023 20:55:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506225.779327; Fri, 03 Mar 2023 20:55: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 1pYCQz-0003BC-Mi; Fri, 03 Mar 2023 20:55:21 +0000
Received: by outflank-mailman (input) for mailman id 506225;
 Fri, 03 Mar 2023 20:55: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=RVKH=63=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pYCQy-00036b-O2
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 20:55: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 b505c4d1-ba05-11ed-96b0-2f268f93b82a;
 Fri, 03 Mar 2023 21:55:20 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D8F9C6185C;
 Fri,  3 Mar 2023 20:55:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F40FEC433EF;
 Fri,  3 Mar 2023 20:55: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: b505c4d1-ba05-11ed-96b0-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677876918;
	bh=rl2Vcmk4arJTNIWKvnS8/4FR/Hkznk3NPQnjn7F9BWI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=QD/kpHW/B+K/M7qmDIJfLnzJ4qOicbG81RsEk0VK2vkNGCAQQtGEpiJVyIQtJhKOM
	 lUvK5HzaDEmCUEHiw3x4F3lEiW/qbZ2fBA3jB6DdvgovG/BDDX28Jh79wg2APPJ9Kg
	 frc9lvIGvViT87rXCvh4uEs2fP2j56uj3mzmHEtbr69m4SpHgO3BMkuuMJ3sEwVPOt
	 mlhC4RHNKY34a0ilC7njUW+Zw6Uuh5vc3ouxjVQHJXwqr1NvCkGkix6xZtgeQAuQNS
	 pojV+d1Av4Mxu4eV22wOtZkQ43LupcnRKVBegSr27sZabEUxMGkF+ujpQHvLme9KRT
	 FNIlF1IHGRPog==
Date: Fri, 3 Mar 2023 12:55:15 -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: xen-devel@lists.xenproject.org, bertrand.marquis@arm.com, wei.chen@arm.com, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [PATCH v3 3/3] xen/cppcheck: globally suppress
 unusedStructMember
In-Reply-To: <20230303093856.2169227-4-luca.fancellu@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303031246530.863724@ubuntu-linux-20-04-desktop>
References: <20230303093856.2169227-1-luca.fancellu@arm.com> <20230303093856.2169227-4-luca.fancellu@arm.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 Mar 2023, Luca Fancellu wrote:
> unusedStructMember warnings from cppcheck are not reliable and
> are causing a lot of false positives, suppress the checker
> globally for now.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

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

This is great! Results are much cleaner. With this series accepted, I
think we can start looking into how to "diff" cppcheck results to spot
regressions in new patches.


> ---
> Changes from v2:
>  - New patch
> ---
>  xen/scripts/xen_analysis/cppcheck_analysis.py | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/xen/scripts/xen_analysis/cppcheck_analysis.py b/xen/scripts/xen_analysis/cppcheck_analysis.py
> index e385e2c8f54a..ab52ce38d502 100644
> --- a/xen/scripts/xen_analysis/cppcheck_analysis.py
> +++ b/xen/scripts/xen_analysis/cppcheck_analysis.py
> @@ -133,6 +133,8 @@ def generate_cppcheck_deps():
>      # - Explicitly suppress warnings on compiler-def.h because cppcheck throws
>      #   an unmatchedSuppression due to the rule we put in suppression-list.txt
>      #   to skip every finding in the file.
> +    # - Explicitly suppress findings for unusedStructMember that is not very
> +    #   reliable and causes lots of false positives.
>      #
>      # Compiler defines are in compiler-def.h which is included in config.h
>      #
> @@ -145,6 +147,7 @@ def generate_cppcheck_deps():
>   --inline-suppr
>   --suppressions-list={}/suppression-list.txt
>   --suppress='unmatchedSuppression:*'
> + --suppress='unusedStructMember:*'
>   --include={}/include/xen/config.h
>   -DCPPCHECK
>  """.format(settings.outdir, CPPCHECK_BUILD_DIR, settings.xen_dir,
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 23:48:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 23:48:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506250.779385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYF7v-0000OC-GG; Fri, 03 Mar 2023 23:47:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506250.779385; Fri, 03 Mar 2023 23:47: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 1pYF7v-0000O5-Cu; Fri, 03 Mar 2023 23:47:51 +0000
Received: by outflank-mailman (input) for mailman id 506250;
 Fri, 03 Mar 2023 23:47: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 1pYF7u-0000Nv-QY; Fri, 03 Mar 2023 23:47: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 1pYF7u-0002X8-Oh; Fri, 03 Mar 2023 23:47: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 1pYF7u-0000H9-Ek; Fri, 03 Mar 2023 23:47:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pYF7u-0004kC-EG; Fri, 03 Mar 2023 23:47: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=6nznIxiGwuG/Q8UTVVmsyRvGS7E2N9WNRDY0u33bEpk=; b=pBT9fLIw0NCpN8X+BQ1qEpZHXx
	BuOY2CVHWLygRmLxi46lIVmRZBWGI3wiPcT7tak7xyxh4uBj8ea0JkmSjmfA3KSLA2NG0fy6LTFKj
	EL2/L+MfrGXH++z2aCYP/R4tusD1xh0j/Wcr/AYWzPsooQPqzT0GHAAclI7azyjb61jI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179065-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 179065: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-start/debianhvm.repeat:fail:heisenbug
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-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-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-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-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-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-amd64-i386-libvirt-raw:migrate-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-4.16-testing:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=84dfe7a56f04a7412fa4869b3e756c49e1cfbe75
X-Osstest-Versions-That:
    xen=0802504627453a54b1ab408b6e9dc8b5c561172d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Mar 2023 23:47:50 +0000

flight 179065 xen-4.16-testing real [real]
flight 179130 xen-4.16-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179065/
http://logs.test-lab.xenproject.org/osstest/logs/179130/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 14 guest-start/debianhvm.repeat fail pass in 179130-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178448
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178448
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 178448
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 178448
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178448
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178448
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178448
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 178448
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 178448
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-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-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-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  84dfe7a56f04a7412fa4869b3e756c49e1cfbe75
baseline version:
 xen                  0802504627453a54b1ab408b6e9dc8b5c561172d

Last test of basis   178448  2023-02-25 10:13:16 Z    6 days
Testing same since   179065  2023-03-03 07:37:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Edwin Török <edwin.torok@cloud.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Sergey Dyasli <sergey.dyasli@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   0802504627..84dfe7a56f  84dfe7a56f04a7412fa4869b3e756c49e1cfbe75 -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Fri Mar 03 23:57:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Mar 2023 23:57:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506259.779395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYFH4-0002DI-Gr; Fri, 03 Mar 2023 23:57:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506259.779395; Fri, 03 Mar 2023 23: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 1pYFH4-0002DB-E7; Fri, 03 Mar 2023 23:57:18 +0000
Received: by outflank-mailman (input) for mailman id 506259;
 Fri, 03 Mar 2023 23:57: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=RVKH=63=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pYFH3-0002D5-4D
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 23:57:17 +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 1e998c46-ba1f-11ed-a550-8520e6686977;
 Sat, 04 Mar 2023 00:57:14 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 3BCDB61984;
 Fri,  3 Mar 2023 23:57:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0691CC433D2;
 Fri,  3 Mar 2023 23:57: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: 1e998c46-ba1f-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677887832;
	bh=3kCHul096AnixOzy6e3aMMZqVmUKsKICgEw5epe/Bjg=;
	h=Date:From:To:cc:Subject:From;
	b=SERJeFtXuMwBZ6/IxMGtqC6EakGcIwN1YXfF9jZTmPBgNg35RH8Ar7nTrxwsLXDUE
	 VcVFFDtAIaG+rW7CLvaEX0jpJPjwbIuCGhSe7kPf9ibdgcaK8N9Bvq0iHxSO4aFStL
	 BVgaAAxOltl0rG83h9GfTrr1igCO9q9fBt0/3t4bO3El+awpjjPDTUspiiIl3oh3Bq
	 0HRAQ/99U/QpduXWaAxoMgUnz3ExY/4DjY9ONujOey5TBAPhkIepZ4gsSIxki1741t
	 uYWijBQpUICYQC4tOKybFnP9KGP2Frbs7pIp2gAECii/oW7yKg56MTkyaShHQfYAcf
	 TcZee2UIcmruQ==
Date: Fri, 3 Mar 2023 15:57:10 -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, cardoe@cardoe.com, michal.orzel@amd.com
Subject: [PATCH v2 0/2] automation: introduce a Xilinx hardware test
Message-ID: <alpine.DEB.2.22.394.2303031554080.863724@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

This short patch series introduces the first Xen gitlab-ci test run on
real hardware: a physical Xilinx ZCU102 board.

The gitlab container is run on a workstation physically connected to a
ZCU102 board. The test script looks very similar to a regular QEMU test
script, except that at the end it reboots the physical board and
connects to the serial instead of launching QEMU.

The gitlab runner is currently restricted to
https://gitlab.com/xen-project/xen. A CI/CD variable called
"XILINX_JOBS" is set to true for https://gitlab.com/xen-project/xen, so
that we can signal the pipeline to create a xilinx job, otherwise the
job is skipped as the runner is not available.

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 00:01:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 00:01:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506266.779411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYFLK-0004ZE-P1; Sat, 04 Mar 2023 00:01:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506266.779411; Sat, 04 Mar 2023 00:01: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 1pYFLK-0004Y9-I1; Sat, 04 Mar 2023 00:01:42 +0000
Received: by outflank-mailman (input) for mailman id 506266;
 Sat, 04 Mar 2023 00:01: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=9eaR=64=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pYFLJ-0004VH-Aq
 for xen-devel@lists.xenproject.org; Sat, 04 Mar 2023 00:01:41 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bc57426c-ba1f-11ed-a550-8520e6686977;
 Sat, 04 Mar 2023 01:01:39 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 3340E61982;
 Sat,  4 Mar 2023 00:01:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D776DC433D2;
 Sat,  4 Mar 2023 00:01: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: bc57426c-ba1f-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677888097;
	bh=+phEMi9uJWD5eDQu2N3CbwqTH5dCe79zdlh6yAq9uFg=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=H/cnVwZDFDvAblgP8B5VpCQj+X8FQe04+PG4AK7HB0al2j6LcvvXz7bWVpKQEY/Kj
	 CUZAjqDSro4NtdtXrjnGfcwfGfPOduMlZnBcTOjJ6IfY0NG3HeXG9ke+3siDGSWpmJ
	 WMdkI6UuVp1cMYa7il4CYb4ARrpk9Ap1LH14QqGX51bFOot59ZedCdBkMRxtJrRCo1
	 JUvpa+MrVth/keO+OzezlATF/hsWAj+japn900H+JdTcbj1aKqv0p9WTI3eEhRS3J4
	 aMNfZixZc/tdWvAKTNIt+7PGyxlP+w/vAHvMul9SSVnXwmePNOUO3UCYQTafBmFJai
	 ksXB1mUFLZfvQ==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	cardoe@cardoe.com,
	michal.orzel@amd.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH v2 2/2] automation: introduce a dom0less test run on Xilinx hardware
Date: Fri,  3 Mar 2023 15:57:19 -0800
Message-Id: <20230303235719.1181690-2-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2303031554080.863724@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2303031554080.863724@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

The test prepares dom0 and domU binaries and boot artifacts, similarly
to the existing QEMU test. (TBD: share preparation steps with the
regular QEMU tests.)

However, instead of running the test inside QEMU as usual, it copies
the binaries to the tftp server root, triggers a Xilinx ZCU102 board
reboot, and connects to the real serial of the board.

For now and due to its novelty, allow_failure on the Xilinx hardware
test, and only run the job on protected branches with XILINX_JOBS set to
true (the "master" and "staging" on gitlab.com/xen-project/xen qualify).

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- only execute the xilinx job on protected branches with XILINX_JOBS set
to true
---
 automation/gitlab-ci/test.yaml                |  22 ++++
 .../scripts/xilinx-smoke-dom0less-arm64.sh    | 115 ++++++++++++++++++
 2 files changed, 137 insertions(+)
 create mode 100755 automation/scripts/xilinx-smoke-dom0less-arm64.sh

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 1c5f400b68..8f94cad32c 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -85,6 +85,28 @@ build-each-commit-gcc:
   tags:
     - x86_64
 
+xilinx-smoke-dom0less-arm64-gcc:
+  extends: .test-jobs-common
+  variables:
+    CONTAINER: ubuntu:xenial-xilinx
+    LOGFILE: qemu-smoke-xilinx.log
+  artifacts:
+    paths:
+      - smoke.serial
+      - '*.log'
+    when: always
+  tags:
+    - xilinx
+  script:
+    - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
+  needs:
+    - *arm64-test-needs
+    - alpine-3.12-gcc-arm64
+  allow_failure: true
+  only:
+    variables:
+      - $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
+
 qemu-smoke-dom0-arm64-gcc:
   extends: .qemu-arm64
   script:
diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
new file mode 100755
index 0000000000..180c8b5f1c
--- /dev/null
+++ b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
@@ -0,0 +1,115 @@
+#!/bin/bash
+
+set -ex
+
+test_variant=$1
+
+if [ -z "${test_variant}" ]; then
+    passed="ping test passed"
+    domU_check="
+until ifconfig eth0 192.168.0.2 &> /dev/null && ping -c 10 192.168.0.1; do
+    sleep 30
+done
+echo \"${passed}\"
+"
+fi
+
+# DomU
+mkdir -p rootfs
+cd rootfs
+tar xzf ../binaries/initrd.tar.gz
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+echo "#!/bin/sh
+
+${domU_check}
+/bin/sh" > etc/local.d/xen.start
+chmod +x etc/local.d/xen.start
+echo "rc_verbose=yes" >> etc/rc.conf
+find . | cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz
+cd ..
+rm -rf rootfs
+
+# DOM0 rootfs
+mkdir -p rootfs
+cd rootfs
+tar xzf ../binaries/initrd.tar.gz
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+cp -ar ../binaries/dist/install/* .
+
+echo "#!/bin/bash
+
+export LD_LIBRARY_PATH=/usr/local/lib
+bash /etc/init.d/xencommons start
+
+/usr/local/lib/xen/bin/init-dom0less
+
+brctl addbr xenbr0
+brctl addif xenbr0 eth0
+ifconfig eth0 up
+ifconfig xenbr0 up
+ifconfig xenbr0 192.168.0.1
+
+xl network-attach 1 type=vif
+${dom0_check}
+" > etc/local.d/xen.start
+chmod +x etc/local.d/xen.start
+echo "rc_verbose=yes" >> etc/rc.conf
+find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
+cd ..
+
+
+TFTP=/scratch/gitlab-runner/tftp
+START=`pwd`
+
+# ImageBuilder
+echo 'MEMORY_START="0"
+MEMORY_END="0xC0000000"
+
+DEVICE_TREE="mpsoc.dtb"
+XEN="xen"
+DOM0_KERNEL="Image"
+DOM0_RAMDISK="dom0-rootfs.cpio.gz"
+XEN_CMD="console=dtuart dom0_mem=1024M"
+
+NUM_DOMUS=1
+DOMU_KERNEL[0]="Image"
+DOMU_RAMDISK[0]="domU-rootfs.cpio.gz"
+DOMU_MEM[0]="1024"
+
+LOAD_CMD="tftpb"
+UBOOT_SOURCE="boot.source"
+UBOOT_SCRIPT="boot.scr"' > $TFTP/config
+
+cp -f binaries/xen $TFTP/
+cp -f binaries/Image $TFTP/
+cp -f binaries/dom0-rootfs.cpio.gz $TFTP/
+cp -f binaries/domU-rootfs.cpio.gz $TFTP/
+
+rm -rf imagebuilder
+git clone https://gitlab.com/ViryaOS/imagebuilder
+bash imagebuilder/scripts/uboot-script-gen -t tftp -d $TFTP/ -c $TFTP/config
+
+# restart the board
+cd /scratch/gitlab-runner
+bash zcu102.sh 2
+sleep 5
+bash zcu102.sh 1
+sleep 5
+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"
+
+set -e
+(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
+exit 0
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Mar 04 00:01:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 00:01:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506265.779405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYFLK-0004Vx-D6; Sat, 04 Mar 2023 00:01:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506265.779405; Sat, 04 Mar 2023 00:01: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 1pYFLK-0004Vq-AF; Sat, 04 Mar 2023 00:01:42 +0000
Received: by outflank-mailman (input) for mailman id 506265;
 Sat, 04 Mar 2023 00:01: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=9eaR=64=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pYFLI-0004VH-Kg
 for xen-devel@lists.xenproject.org; Sat, 04 Mar 2023 00:01:40 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bc5e28cb-ba1f-11ed-a550-8520e6686977;
 Sat, 04 Mar 2023 01:01:38 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id E1DAAB819FA;
 Sat,  4 Mar 2023 00:01:37 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CEC1EC433EF;
 Sat,  4 Mar 2023 00:01: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: bc5e28cb-ba1f-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1677888096;
	bh=l3p5CzfPCMHZRdXXtESCrWVMuXmzOEmp1Lvn+kITVB0=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=WR5h64MaHyYtsxZnlfeW2BxYWnjOSjK0TC7jUUxjr4C7O2LeBb1D1kwtmPlA6sQZc
	 hM57rF+UcbY+gdzHKHdve7y8f9g2ivazi2K+nu2O7x/AMxEsSo842eINOVAn+TOOSZ
	 5H3Cd0KWjP8er+aWj0eqUD7SzFAqfWqJse6M+FLhwjBkJ2Vv+SkhNYoV1CIJsIKxKl
	 VYEfpMcKdTq7zRaqFRo646O/JJa59C+TUYo4/4lX0h3ECN+lIsorcusSXMY60CaJg6
	 A9uOxsBRJjxHVd7BS2Vc28iejCKI0iP3U+sojKUEtmr9DDj3YI5Uhs7XbA5csXrOAe
	 nOJvJoLx6IVOg==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	cardoe@cardoe.com,
	michal.orzel@amd.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH v2 1/2] automation: add Ubuntu container for Xilinx hardware tests
Date: Fri,  3 Mar 2023 15:57:18 -0800
Message-Id: <20230303235719.1181690-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2303031554080.863724@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2303031554080.863724@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

This container is only run on the controller PC (x86) to trigger the
test on a connected Xilinx ZCU102 physical board.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 .../build/ubuntu/xenial-xilinx.dockerfile     | 25 +++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 automation/build/ubuntu/xenial-xilinx.dockerfile

diff --git a/automation/build/ubuntu/xenial-xilinx.dockerfile b/automation/build/ubuntu/xenial-xilinx.dockerfile
new file mode 100644
index 0000000000..7e4f5d6605
--- /dev/null
+++ b/automation/build/ubuntu/xenial-xilinx.dockerfile
@@ -0,0 +1,25 @@
+FROM ubuntu:16.04
+LABEL maintainer.name="The Xen Project " \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+ENV USER root
+
+RUN mkdir /build
+WORKDIR /build
+
+# build depends
+RUN apt-get update && \
+    apt-get --quiet --yes install \
+        snmp \
+        snmp-mibs-downloader \
+        u-boot-tools \
+        device-tree-compiler \
+        cpio \
+        git \
+        gzip \
+        file \
+        && \
+        apt-get autoremove -y && \
+        apt-get clean && \
+        rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sat Mar 04 00:28:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 00:28:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506276.779425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYFlA-00086F-Py; Sat, 04 Mar 2023 00:28:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506276.779425; Sat, 04 Mar 2023 00: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 1pYFlA-000868-Mk; Sat, 04 Mar 2023 00:28:24 +0000
Received: by outflank-mailman (input) for mailman id 506276;
 Sat, 04 Mar 2023 00: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=j766=64=linutronix.de=tglx@srs-se1.protection.inumbo.net>)
 id 1pYFl9-000862-44
 for xen-devel@lists.xenproject.org; Sat, 04 Mar 2023 00:28:23 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7686a2e8-ba23-11ed-96b0-2f268f93b82a;
 Sat, 04 Mar 2023 01: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: 7686a2e8-ba23-11ed-96b0-2f268f93b82a
From: Thomas Gleixner <tglx@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1677889698;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=G/FC/UQmlqseWhfDNlw3KINn/RGKWtZAvczLpBONhlE=;
	b=pqYwVhy7BgbDiw1L0yaduE3wKzUCMDsN3ZNX3OjSCcDgTdWF1FlK/m8o2fTWyWQAfh7Ezm
	JmKQDTxwomWXlxGtTY4iOR0Z1O/Vr7abL6htP88+P19OOVP/87b1IjD6V2PYnfFhTTncqV
	j0w5GRujKdtB78+LM4TweRIlk9grUx4KrNNP0h/uviy7M8461abD4ARDbJbjrbSmdrFg29
	1alYcODBvyvRn3xNXOFegwZWuDSe1LpzHFGidrAStEwc7vGdYJyNo0W1hIXGUQbO3+/hrs
	i3IkKQYOc45z1t/8izAOVRRkN4QBvma7YhzejbAhO3esQuYGaUE3s1xdSw7PHQ==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1677889698;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=G/FC/UQmlqseWhfDNlw3KINn/RGKWtZAvczLpBONhlE=;
	b=LgbePq1cFz/NWvRrP+tUOrjS9F3eJuadoBjO97vw6SoMX4FQw5ca5VrX6vzH2/u5WuA4TI
	36dFZMkmqrgGDIBA==
To: David Woodhouse <dwmw2@infradead.org>, linux-kernel
 <linux-kernel@vger.kernel.org>, xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: IRQ affinity not working on Xen pci-platform device
In-Reply-To: <1060e7786498f384634b01c335bf7bf43365e1fe.camel@infradead.org>
References: <07866eaf6354dd43d87cffb6eebf101716845b66.camel@infradead.org>
 <87fsalkcck.ffs@tglx>
 <1060e7786498f384634b01c335bf7bf43365e1fe.camel@infradead.org>
Date: Sat, 04 Mar 2023 01:28:17 +0100
Message-ID: <87356ljr6m.ffs@tglx>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

David!

On Fri, Mar 03 2023 at 16:54, David Woodhouse wrote:
> On Fri, 2023-03-03 at 17:51 +0100, Thomas Gleixner wrote:
>> >=20
>> > [=C2=A0=C2=A0=C2=A0 0.577173] ACPI: \_SB_.LNKC: Enabled at IRQ 11
>> > [=C2=A0=C2=A0=C2=A0 0.578149] The affinity mask was 0-3
>> > [=C2=A0=C2=A0=C2=A0 0.579081] The affinity mask is 0-3 and the handler=
 is on 2
>> > [=C2=A0=C2=A0=C2=A0 0.580288] The affinity mask is 0 and the handler i=
s on 2
>>=20
>> What happens is that once the interrupt is requested, the affinity
>> setting is deferred to the first interrupt. See the marvelous dance in
>> arch/x86/kernel/apic/msi.c::msi_set_affinity().
>>=20
>> If you do the setting before request_irq() then the startup will assign
>> it to the target mask right away.
>>=20
>> Btw, you are using irq_get_affinity_mask(), which gives you the desired
>> target mask. irq_get_effective_affinity_mask() gives you the real one.
>>=20
>> Can you verify that the thing moves over after the first interrupt or is
>> that too late already?
>
> It doesn't seem to move. The hack to just return IRQ_NONE if invoked on
> CPU !=3D 0 was intended to do just that. It's a level-triggered interrupt
> so when the handler does nothing on the "wrong" CPU, it ought to get
> invoked again on the *correct* CPU and actually=C2=A0work that time.

So much for the theory. This is virt after all so it does not
necessarily behave like real hardware.

> But no, as the above logs show, it gets invoked twice *both* on CPU2.

Duh. I missed that. Can you instrument whether this ends up in in the
actual irq affinity setter function of the underlying irq chip at all?

> If I do the setting before request_irq() then it should assign it right
> away (unless that IRQ was already in use?

Correct.

> It's theoretically a shared PCI INTx line). But even then, that would
> mean I'm messing with affinity on an IRQ I haven't even requested yet
> and don't own?

Well, that's not any different from userspace changing the affinity of
an interrupt.

Thanks,

        tglx


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 02:59:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 02:59:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506288.779435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYI6c-0000B3-GZ; Sat, 04 Mar 2023 02:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506288.779435; Sat, 04 Mar 2023 02: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 1pYI6c-0000Av-Bd; Sat, 04 Mar 2023 02:58:42 +0000
Received: by outflank-mailman (input) for mailman id 506288;
 Sat, 04 Mar 2023 02:58: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 1pYI6a-0000Al-NF; Sat, 04 Mar 2023 02:58: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 1pYI6a-00064r-Ju; Sat, 04 Mar 2023 02:58: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 1pYI6a-0004fn-6X; Sat, 04 Mar 2023 02:58:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pYI6a-0001hQ-63; Sat, 04 Mar 2023 02:58: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=4AEqq1W0lZ7nAEBAcJcEH0AhG3XaRMvzjzb302OWUAo=; b=ZJjtNkWjrQQbVvAuiyyC6JJV/i
	5Pnof1B+tONEpUPtE4o7mwUSlvj5xamb1t5EPJVT/+dDXaZXr1xRGXsyE8vI9SrFl9U3qOxbR0wYY
	Z/Q7b1TtBybrru7aRETMnu4Ir2sqBn0vJGmkQRIHaLH43JGOkSoQRjI5hMx2Z4O/WSiY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179067-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179067: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-migrupgrade:xen-install/src_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start.2:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-xsm:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-migrupgrade:xen-install/dst_host:fail:heisenbug
    xen-unstable:test-amd64-i386-examine-bios:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-xsm: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-xsm:migrate-support-check: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=380a8c0c65bfb84dab54ab4641cca1387cc41edb
X-Osstest-Versions-That:
    xen=380a8c0c65bfb84dab54ab4641cca1387cc41edb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 04 Mar 2023 02:58:40 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-migrupgrade 10 xen-install/src_host fail in 179018 pass in 179067
 test-amd64-amd64-xl-qcow2    22 guest-start.2    fail in 179018 pass in 179067
 test-amd64-i386-libvirt-xsm   7 xen-install                fail pass in 179018
 test-amd64-i386-migrupgrade  11 xen-install/dst_host       fail pass in 179018
 test-amd64-i386-examine-bios  6 xen-install                fail pass in 179018
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 179018
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 20 guest-start/debianhvm.repeat fail pass in 179018

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-xsm 15 migrate-support-check fail in 179018 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179018
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179018
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179018
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179018
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179018
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179018
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179018
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179018
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179018
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  380a8c0c65bfb84dab54ab4641cca1387cc41edb
baseline version:
 xen                  380a8c0c65bfb84dab54ab4641cca1387cc41edb

Last test of basis   179067  2023-03-03 07:54:01 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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                                  fail    
 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                    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-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 Mar 04 07:44:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 07:44:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506303.779445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYMZK-0002xi-Rd; Sat, 04 Mar 2023 07:44:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506303.779445; Sat, 04 Mar 2023 07: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 1pYMZK-0002xb-Ou; Sat, 04 Mar 2023 07:44:38 +0000
Received: by outflank-mailman (input) for mailman id 506303;
 Sat, 04 Mar 2023 07: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=TRaA=64=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1pYMZJ-0002xV-Ok
 for xen-devel@lists.xenproject.org; Sat, 04 Mar 2023 07:44:38 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20618.outbound.protection.outlook.com
 [2a01:111:f400:7d00::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 668b9baf-ba60-11ed-a550-8520e6686977;
 Sat, 04 Mar 2023 08:44:34 +0100 (CET)
Received: from DB8PR06CA0030.eurprd06.prod.outlook.com (2603:10a6:10:100::43)
 by GV2PR08MB8655.eurprd08.prod.outlook.com (2603:10a6:150:b3::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.23; Sat, 4 Mar
 2023 07:44:29 +0000
Received: from DBAEUR03FT061.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:100:cafe::1f) by DB8PR06CA0030.outlook.office365.com
 (2603:10a6:10:100::43) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.23 via Frontend
 Transport; Sat, 4 Mar 2023 07:44:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT061.mail.protection.outlook.com (100.127.143.28) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.22 via Frontend Transport; Sat, 4 Mar 2023 07:44:29 +0000
Received: ("Tessian outbound 55ffa3012b8f:v135");
 Sat, 04 Mar 2023 07:44:29 +0000
Received: from 04aa66344945.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C8727C45-E1BD-4312-95F5-CE61BBC7C3C1.1; 
 Sat, 04 Mar 2023 07:44:17 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 04aa66344945.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 04 Mar 2023 07:44:17 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAVPR08MB9061.eurprd08.prod.outlook.com (2603:10a6:102:325::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21; Sat, 4 Mar
 2023 07:44:15 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::f0e7:5f67:ed2f:a70a]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::f0e7:5f67:ed2f:a70a%4]) with mapi id 15.20.6156.023; Sat, 4 Mar 2023
 07:44: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: 668b9baf-ba60-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Fz8OvVumSsDVLte1KtHpxyElApUX5XNUfElLLwSnbqA=;
 b=Kq4QxDwcJdRA0vmcF0VKlfawQfapwUGyHTQUPWP+Oh4N+cgZCIekugkyFFC5010gpfgqqAoxz7FFWDbGfgZps3uVjiKgmTiPBAEowsJqh4qZ9vCeXJWV0fZxLozxn4lFxoEp1Tti3YbEdXlgXQx1dcvs17khfuVgV2h9RZWgm1M=
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: e0b1e4474338532d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=emGnonOu5oClh/AUamHzaFLN2DhiOmN91mVm4DMTeQ5pFZ5BpcejcigfXmlz9xwb5RoKQgNLR1Gt2kvTa924GVK48nBRDCo4x5j1ZS70V2YmZ+R1gzrfdXLv8KAwEylmrLaSkqFx92tMWBg8SZMnSy0x6L2CNGSfnncsrlzlqKJOFlV1Cyutqy0tI9rfxAz4GR9TV/hRM/q4QsNOf+YZ6CQsamRg8Ew3DHbOh40e1qWB0p/NYX+vqYQfRAWr2ygZHl5yry202jISAlp0VJjfK4KaX2rNWR62t7AUvWVSmDkhIhARO+JKcVG4H977Eh7QLpsA0gdnQpNzkmrqo2HWrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Fz8OvVumSsDVLte1KtHpxyElApUX5XNUfElLLwSnbqA=;
 b=SNEAMJAoXkIva2NnRCmT5CCXj1rUNR6yvAB0bNvB4lanzqZ1emN2kjCg2LEAuRGJSq0jcAeFgFqj1qTaiF3I80B/A9Tc8+aN3fyf16leLMVUrsz+xoE0oI3iEkY8WfxTcTzFh05bq/mdoF5ZYQrd7FirlsjBYjSmUEdV+Lfvuc+QzgLokb3X9mroInizGn8I+qLTgrTNjRZByCneNghQNlNouhhAGNvoMbIJaaHbab/xuBYLI9i4nL51f2S/YNH0tyOWwL/QGFPwr7d6Y4qbJsB3sKtDvuHboIXpgZ6VUKxH+sTd07iT3nmsi8VbEVfrCBeWY1oW5LQ/BBC5HWkJfQ==
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=Fz8OvVumSsDVLte1KtHpxyElApUX5XNUfElLLwSnbqA=;
 b=Kq4QxDwcJdRA0vmcF0VKlfawQfapwUGyHTQUPWP+Oh4N+cgZCIekugkyFFC5010gpfgqqAoxz7FFWDbGfgZps3uVjiKgmTiPBAEowsJqh4qZ9vCeXJWV0fZxLozxn4lFxoEp1Tti3YbEdXlgXQx1dcvs17khfuVgV2h9RZWgm1M=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH v3 3/3] xen/cppcheck: globally suppress unusedStructMember
Thread-Topic: [PATCH v3 3/3] xen/cppcheck: globally suppress
 unusedStructMember
Thread-Index: AQHZTbQPQEQiXjeM3EGpafXhdsOtVK7piYCAgAC1RAA=
Date: Sat, 4 Mar 2023 07:44:15 +0000
Message-ID: <EB31EA4F-EDB5-40B4-A6C4-E60EEF38CF17@arm.com>
References: <20230303093856.2169227-1-luca.fancellu@arm.com>
 <20230303093856.2169227-4-luca.fancellu@arm.com>
 <alpine.DEB.2.22.394.2303031246530.863724@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2303031246530.863724@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|PAVPR08MB9061:EE_|DBAEUR03FT061:EE_|GV2PR08MB8655:EE_
X-MS-Office365-Filtering-Correlation-Id: 37fabb96-4f3d-4403-b775-08db1c844936
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:
 c9yWs5a8NYA2rc1qHA1MwjgYUnEnw54qIxPgwNdjKftwTM2mg8doJwqpH+5WQIJNn/SMBHW3C9XPDWHkFyao3s4ArsA1IawAjCD4I+RIAajBBPP3cl7JPhEraa+d508s+ScOfEPxqLdOSs4fYiKM6qWR3fnd553kTEK6amu0b8baB8xTKfK9/5MQnwW74BoTXai5RZoAjQsJ7UpRe5e/VfZ8sv4SJz9/fEb9JdRyTu0YaOzGu+EhHuAd6AHA7WKPttleNwPeRqTF5iqOL11pLA2QSdiB9yU6ysQXrn10jMBzO6aVShWbqDP4LwfQMeMCFw6Pa0Dnxrj6+0C0ZDqggeF+u+iegpcxMMS/1C15OZQppnF03zv+6cNBP1eHuWzft5s4D5z7ncceg8LO8NJhcX+mQIc0OzOWt5oGjpDjqw7CRXCZD4Mg1MbLodUdZwggtfV0/rZ5NvPTJwXXXwf7JZJIqkdQZ92WphuWOdan14eFfjifolP3Ilzr+lA3PG9GeEQ1sJcfBNFnvpPRKoVqFM/o9CoOA3jpmIp5/agFh79mG6U/mNBavl/mQY+/pkYx4g89tDhOYJa5YVyEkSgLGwO/0MJB4lM96nKtsXAnXTU2ak4SwBsa3Ed0fRqKxXTjA6bImmkWJdzzMk3LDFn0H1cqjMFPIDwaMG5meVkXBeS6H44hLqJ93eOREzvj3hxz9TiI+R8Vxb/ghxSLGXkUwDGyh47Nx9qjCC0tXoaTq/U=
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:(13230025)(4636009)(346002)(376002)(39860400002)(396003)(136003)(366004)(451199018)(86362001)(53546011)(6506007)(6512007)(2616005)(36756003)(8936002)(2906002)(6486002)(186003)(26005)(71200400001)(478600001)(5660300002)(38070700005)(54906003)(83380400001)(33656002)(122000001)(6916009)(64756008)(8676002)(91956017)(66446008)(66556008)(66476007)(76116006)(316002)(66946007)(4326008)(38100700002)(41300700001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <E897658CBC398F46AF8C96CE9444EBF9@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9061
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:
 DBAEUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	86fa1d9a-2a53-4728-ed61-08db1c84410e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0qemM0rbJoKYqL8uhh4dv+3CEDAkb7iRisvchbMi+Se9q4hqFXA91AsLy9Ms0iVPQLsVp1E7b+LHNhrLPloiBDO3e/KL+sNeDyjOB9yeBYQ5OLDyEPXdA4hyaEOJ3hF3CxsnKnZitTLuUOn5EWUzxqG/wfHPU87yvzWVw66+fc1iLTIoxtrNlW4aVluHyZ0bjDxwuyPtQ91mQjjvK44QezD/0wW2Z5ug/WBODXyACnYZz5BheYwS8Gqjk5bpiJ6sRB5d3RHaD4b7xMv3EQaYwYW/FqySpgk3vUSp69nO4/ZI1kPEUMaeMaCJPOMflInYm9kLgM47JeFM/mSYQiJiQWhtQCqPs6x8REe3c3ozffAdKmd0cmcaBOAPV9VylIyJiAyWlQ2Ro6AvwieTV6PbrvVaeuVsxNmLQHhBdlujnsOLb8PE/GNw8+Mfg9MVPg9jE4aR2+pqgqwR8HjC6nHnde3SzRh3XdpCkAxX2VXQgNYsCrG7+zYUyUedpvjj2PfH7f+FWCwYmxBIMSaDGpJWkFHgFHj/+0GrcKubKLFSMeCDKQl+2UGlJF0FX3E+2IAVoVapF2b4sOWkVX49huD2RxaE1TdwX+dTIs2ibGKu5CivBplbeSHVb9IWqCoveHjMFsZznJ/fwBH/UWYgNZ3AclfhynnHxSygEgkqFZZq8LRso78+hPn9ys0McYkx4eENVlMDFjoWJytHpFp9QkeHkg==
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:(13230025)(4636009)(136003)(39860400002)(376002)(346002)(396003)(451199018)(36840700001)(40470700004)(46966006)(36756003)(33656002)(47076005)(83380400001)(82740400003)(36860700001)(6506007)(6512007)(53546011)(26005)(186003)(336012)(40460700003)(2616005)(6486002)(41300700001)(6862004)(8936002)(70206006)(70586007)(86362001)(4326008)(40480700001)(2906002)(8676002)(5660300002)(356005)(81166007)(316002)(54906003)(478600001)(82310400005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Mar 2023 07:44:29.2484
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 37fabb96-4f3d-4403-b775-08db1c844936
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:
	DBAEUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8655

DQoNCj4gT24gMyBNYXIgMjAyMywgYXQgMjA6NTUsIFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJl
bGxpbmlAa2VybmVsLm9yZz4gd3JvdGU6DQo+IA0KPiBPbiBGcmksIDMgTWFyIDIwMjMsIEx1Y2Eg
RmFuY2VsbHUgd3JvdGU6DQo+PiB1bnVzZWRTdHJ1Y3RNZW1iZXIgd2FybmluZ3MgZnJvbSBjcHBj
aGVjayBhcmUgbm90IHJlbGlhYmxlIGFuZA0KPj4gYXJlIGNhdXNpbmcgYSBsb3Qgb2YgZmFsc2Ug
cG9zaXRpdmVzLCBzdXBwcmVzcyB0aGUgY2hlY2tlcg0KPj4gZ2xvYmFsbHkgZm9yIG5vdy4NCj4+
IA0KPj4gU2lnbmVkLW9mZi1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0uY29t
Pg0KPiANCj4gUmV2aWV3ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2Vy
bmVsLm9yZz4NCj4gDQo+IFRoaXMgaXMgZ3JlYXQhIFJlc3VsdHMgYXJlIG11Y2ggY2xlYW5lci4g
V2l0aCB0aGlzIHNlcmllcyBhY2NlcHRlZCwgSQ0KPiB0aGluayB3ZSBjYW4gc3RhcnQgbG9va2lu
ZyBpbnRvIGhvdyB0byAiZGlmZiIgY3BwY2hlY2sgcmVzdWx0cyB0byBzcG90DQo+IHJlZ3Jlc3Np
b25zIGluIG5ldyBwYXRjaGVzLg0KDQpZZXMgaW5kZWVkISBJIGhhdmUgc29tZSBpZGVhcyBhYm91
dCB0aGUgZGlmZiwgSeKAmWxsIHByZXNlbnQgc29tZXRoaW5nIGF0IHRoZQ0KRnVTYSBtZWV0aW5n
DQoNCj4gDQo+IA0KPj4gLS0tDQo+PiBDaGFuZ2VzIGZyb20gdjI6DQo+PiAtIE5ldyBwYXRjaA0K
Pj4gLS0tDQo+PiB4ZW4vc2NyaXB0cy94ZW5fYW5hbHlzaXMvY3BwY2hlY2tfYW5hbHlzaXMucHkg
fCAzICsrKw0KPj4gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQ0KPj4gDQo+PiBkaWZm
IC0tZ2l0IGEveGVuL3NjcmlwdHMveGVuX2FuYWx5c2lzL2NwcGNoZWNrX2FuYWx5c2lzLnB5IGIv
eGVuL3NjcmlwdHMveGVuX2FuYWx5c2lzL2NwcGNoZWNrX2FuYWx5c2lzLnB5DQo+PiBpbmRleCBl
Mzg1ZTJjOGY1NGEuLmFiNTJjZTM4ZDUwMiAxMDA2NDQNCj4+IC0tLSBhL3hlbi9zY3JpcHRzL3hl
bl9hbmFseXNpcy9jcHBjaGVja19hbmFseXNpcy5weQ0KPj4gKysrIGIveGVuL3NjcmlwdHMveGVu
X2FuYWx5c2lzL2NwcGNoZWNrX2FuYWx5c2lzLnB5DQo+PiBAQCAtMTMzLDYgKzEzMyw4IEBAIGRl
ZiBnZW5lcmF0ZV9jcHBjaGVja19kZXBzKCk6DQo+PiAgICAgIyAtIEV4cGxpY2l0bHkgc3VwcHJl
c3Mgd2FybmluZ3Mgb24gY29tcGlsZXItZGVmLmggYmVjYXVzZSBjcHBjaGVjayB0aHJvd3MNCj4+
ICAgICAjICAgYW4gdW5tYXRjaGVkU3VwcHJlc3Npb24gZHVlIHRvIHRoZSBydWxlIHdlIHB1dCBp
biBzdXBwcmVzc2lvbi1saXN0LnR4dA0KPj4gICAgICMgICB0byBza2lwIGV2ZXJ5IGZpbmRpbmcg
aW4gdGhlIGZpbGUuDQo+PiArICAgICMgLSBFeHBsaWNpdGx5IHN1cHByZXNzIGZpbmRpbmdzIGZv
ciB1bnVzZWRTdHJ1Y3RNZW1iZXIgdGhhdCBpcyBub3QgdmVyeQ0KPj4gKyAgICAjICAgcmVsaWFi
bGUgYW5kIGNhdXNlcyBsb3RzIG9mIGZhbHNlIHBvc2l0aXZlcy4NCj4+ICAgICAjDQo+PiAgICAg
IyBDb21waWxlciBkZWZpbmVzIGFyZSBpbiBjb21waWxlci1kZWYuaCB3aGljaCBpcyBpbmNsdWRl
ZCBpbiBjb25maWcuaA0KPj4gICAgICMNCj4+IEBAIC0xNDUsNiArMTQ3LDcgQEAgZGVmIGdlbmVy
YXRlX2NwcGNoZWNrX2RlcHMoKToNCj4+ICAtLWlubGluZS1zdXBwcg0KPj4gIC0tc3VwcHJlc3Np
b25zLWxpc3Q9e30vc3VwcHJlc3Npb24tbGlzdC50eHQNCj4+ICAtLXN1cHByZXNzPSd1bm1hdGNo
ZWRTdXBwcmVzc2lvbjoqJw0KPj4gKyAtLXN1cHByZXNzPSd1bnVzZWRTdHJ1Y3RNZW1iZXI6KicN
Cj4+ICAtLWluY2x1ZGU9e30vaW5jbHVkZS94ZW4vY29uZmlnLmgNCj4+ICAtRENQUENIRUNLDQo+
PiAiIiIuZm9ybWF0KHNldHRpbmdzLm91dGRpciwgQ1BQQ0hFQ0tfQlVJTERfRElSLCBzZXR0aW5n
cy54ZW5fZGlyLA0KPj4gLS0gDQo+PiAyLjM0LjENCj4+IA0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 09:56:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 09:56:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506336.779454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYOd2-0002ol-Pv; Sat, 04 Mar 2023 09:56:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506336.779454; Sat, 04 Mar 2023 09: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 1pYOd2-0002oe-N1; Sat, 04 Mar 2023 09:56:36 +0000
Received: by outflank-mailman (input) for mailman id 506336;
 Sat, 04 Mar 2023 09:56:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pYOd0-0002oU-Nr; Sat, 04 Mar 2023 09:56:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pYOd0-0008Cf-JG; Sat, 04 Mar 2023 09:56: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 1pYOd0-0004jp-6M; Sat, 04 Mar 2023 09:56:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pYOd0-0000s2-5s; Sat, 04 Mar 2023 09:56: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=l7V/6sMlDN87aQ+cVCsATy3FD+IpjJGCRiPRobgMrF4=; b=ESh08y8JvU6XSW7ROckP3ZmySd
	HSf1QFkNd5i3eIIgRPhOWeEaIUpKYnxZ1+7FdXK7ExpSewA4aOOmn/VHbR5toCVlVFduPjEmj71Y2
	6JzWi/sSUoUb6owX2Dg3EeiDmZMJKk1DZHKauxp6urvC1kToulE83gozrBGQxhQ984WU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179082-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 179082: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-examine:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-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-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-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt: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-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-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:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-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-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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-5.4:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=a103859aaa718cf13cb5f55c3a33512dbab613f7
X-Osstest-Versions-That:
    linux=69f65d442efe5eb3c1ee8adec251b918c1b0090a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 04 Mar 2023 09:56:34 +0000

flight 179082 linux-5.4 real [real]
flight 179173 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179082/
http://logs.test-lab.xenproject.org/osstest/logs/179173/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine       6 xen-install         fail pass in 179173-retest
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail pass in 179173-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178453
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 178453
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 178453
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178453
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178453
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178453
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178453
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 178453
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 178453
 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-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                a103859aaa718cf13cb5f55c3a33512dbab613f7
baseline version:
 linux                69f65d442efe5eb3c1ee8adec251b918c1b0090a

Last test of basis   178453  2023-02-25 11:13:22 Z    6 days
Testing same since   179082  2023-03-03 11:13:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Stern <stern@rowland.harvard.edu>
  Benjamin Tissoires <benjamin.tissoires@redhat.com>
  Dan Williams <dan.j.williams@intel.com>
  Daniel Borkmann <daniel@iogearbox.net>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dean Luick <dean.luick@cornelisnetworks.com>
  Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Florian Zumbiehl <florz@florz.de>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Heiko Stuebner <heiko@sntech.de>
  Jakub Kicinski <kuba@kernel.org>
  Jason Gunthorpe <jgg@nvidia.com>
  Jiasheng Jiang <jiasheng@iscas.ac.cn>
  Johan Hovold <johan@kernel.org>
  Johan Jonker <jbx6244@gmail.com>
  Jon Hunter <jonathanh@nvidia.com>
  Julian Anastasov <ja@ssi.bg>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Leon Romanovsky <leon@kernel.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Martin KaFai Lau <martin.lau@kernel.org>
  Nobuhiro Iwamatsu (CIP) <nobuhiro1.iwamatsu@toshiba.co.jp>
  Sasha Levin <sashal@kernel.org>
  Shuah Khan <skhan@linuxfoundation.org>
  Slade Watkins <srw@sladewatkins.net>
  Sudip Mukherjee <sudip.mukherjee@codethink.co.uk>
  Thomas Weißschuh <linux@weissschuh.net>
  Vinod Koul <vkoul@kernel.org>
  Vishal Verma <vishal.l.verma@intel.com>
  Xin Zhao <xnzhao@google.com>
  Zhang Changzhong <zhangchangzhong@huawei.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 test-amd64-i386-examine                                      fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 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
   69f65d442efe..a103859aaa71  a103859aaa718cf13cb5f55c3a33512dbab613f7 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 09:57:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 09:57:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506345.779464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYOeF-0003OJ-CS; Sat, 04 Mar 2023 09:57:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506345.779464; Sat, 04 Mar 2023 09: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 1pYOeF-0003OC-9J; Sat, 04 Mar 2023 09:57:51 +0000
Received: by outflank-mailman (input) for mailman id 506345;
 Sat, 04 Mar 2023 09:57: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=sJe9=64=casper.srs.infradead.org=BATV+7cd748277c5a0e276522+7132+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pYOeD-0003O4-Uc
 for xen-devel@lists.xenproject.org; Sat, 04 Mar 2023 09:57:50 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 036d0e62-ba73-11ed-a550-8520e6686977;
 Sat, 04 Mar 2023 10:57:47 +0100 (CET)
Received: from [2001:8b0:10b:5:4ce9:a0c4:1cf4:98d9]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pYOe5-003mLX-IZ; Sat, 04 Mar 2023 09: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>
X-Inumbo-ID: 036d0e62-ba73-11ed-a550-8520e6686977
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=SfhZHUyfDsg19uG6RM4Ou8sW0goxAG745IQOeAQ8QYU=; b=Ck3glLKyuw7zsPy3T5KPDKYpN8
	wB/Yp42kmEqRur+bfCTNoaRtiKT1gguMX2NimFz3qLYreym9aFs2UXARN+gJeyaXsmS5LpBKrzqV+
	X19X34RGt8OBT54oYeqiDnFxtPELuc88iMoBShYKWPk6JuitQahUMZbJdgyWrPFrEtjWEjE44ZNeR
	E8+bXSnFld7gfazK0o+5JexvzG8itIlLIvZD3OS4V95G4CW7SIU6HZklJLtovgTuSevKZaac5Z6vG
	FC8o3nUGjGpedR6ZjI5oBkhWwzKFg10Fdgg6WQOmpmR50+ZsmcGQBOEoy4IevED76M6C0PAycAlTS
	B8v3lqwA==;
Message-ID: <c34964056595a5a59d0d53410933a5582ef07d10.camel@infradead.org>
Subject: Re: IRQ affinity not working on Xen pci-platform device^W^W^W QEMU
 split-irqchip I/O APIC.
From: David Woodhouse <dwmw2@infradead.org>
To: Thomas Gleixner <tglx@linutronix.de>, linux-kernel
	 <linux-kernel@vger.kernel.org>, xen-devel <xen-devel@lists.xenproject.org>
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Paolo Bonzini
 <pbonzini@redhat.com>,  qemu-devel <qemu-devel@nongnu.org>, Peter Xu
 <peterx@redhat.com>
Date: Sat, 04 Mar 2023 09:57:40 +0000
In-Reply-To: <87356ljr6m.ffs@tglx>
References: <07866eaf6354dd43d87cffb6eebf101716845b66.camel@infradead.org>
	 <87fsalkcck.ffs@tglx>
	 <1060e7786498f384634b01c335bf7bf43365e1fe.camel@infradead.org>
	 <87356ljr6m.ffs@tglx>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-5Pj+37JDg51UR5035j2m"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


--=-5Pj+37JDg51UR5035j2m
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Sat, 2023-03-04 at 01:28 +0100, Thomas Gleixner wrote:
> David!
>=20
> On Fri, Mar 03 2023 at 16:54, David Woodhouse wrote:
> > On Fri, 2023-03-03 at 17:51 +0100, Thomas Gleixner wrote:
> > > >=20
> > > > [=C2=A0=C2=A0=C2=A0 0.577173] ACPI: \_SB_.LNKC: Enabled at IRQ 11
> > > > [=C2=A0=C2=A0=C2=A0 0.578149] The affinity mask was 0-3
> > > > [=C2=A0=C2=A0=C2=A0 0.579081] The affinity mask is 0-3 and the hand=
ler is on 2
> > > > [=C2=A0=C2=A0=C2=A0 0.580288] The affinity mask is 0 and the handle=
r is on 2
> > >=20
> > > What happens is that once the interrupt is requested, the affinity
> > > setting is deferred to the first interrupt. See the marvelous dance i=
n
> > > arch/x86/kernel/apic/msi.c::msi_set_affinity().
> > >=20
> > > If you do the setting before request_irq() then the startup will assi=
gn
> > > it to the target mask right away.
> > >=20
> > > Btw, you are using irq_get_affinity_mask(), which gives you the desir=
ed
> > > target mask. irq_get_effective_affinity_mask() gives you the real one=
.
> > >=20
> > > Can you verify that the thing moves over after the first interrupt or=
 is
> > > that too late already?
> >=20
> > It doesn't seem to move. The hack to just return IRQ_NONE if invoked on
> > CPU !=3D 0 was intended to do just that. It's a level-triggered interru=
pt
> > so when the handler does nothing on the "wrong" CPU, it ought to get
> > invoked again on the *correct* CPU and actually=C2=A0work that time.
>=20
> So much for the theory. This is virt after all so it does not
> necessarily behave like real hardware.

I think you're right. This looks like a QEMU bug with the "split
irqchip" I/OAPIC.

For reasons I'm unclear about, and which lack a comment in the code,
QEMU still injects I/OAPIC events into the kernel with kvm_set_irq().
(I think it's do to with caching, because QEMU doesn't cache interrupt-
remapping translations anywhere *except* in the KVM IRQ routing table,
so if it just synthesised an MSI message every time it'd have to
retranslate it every time?)

Tracing the behaviour here shows:

 =E2=80=A2 First interrupt happens on CPU2.
 =E2=80=A2 Linux updates the I/OAPIC RTE to point to CPU0, but QEMU doesn't
   update the KVM IRQ routing table yet.
 * QEMU retriggers the (still-high, level triggered) IRQ.
 =E2=80=A2 QEMU calls kvm_set_irq(11), delivering it to CPU2 again.
 =E2=80=A2 QEMU *finally* calls ioapic_update_kvm_routes().
 =E2=80=A2 Linux sees the interrupt on CPU2 again.

  $ qemu-system-x86_64 -display none -serial mon:stdio \
     -accel kvm,xen-version=3D0x4000a,kernel-irqchip=3Dsplit \
     -kernel ~/git/linux/arch/x86/boot//bzImage=C2=A0\
     -append "console=3DttyS0,115200 xen_no_vector_callback" \
     -smp 4 --trace ioapic\* --trace xenstore\*


...

xenstore_read tx 0 path control/platform-feature-xs_reset_watches
ioapic_set_irq vector: 11 level: 1
ioapic_set_remote_irr set remote irr for pin 11
ioapic_service: trigger KVM IRQ 11
[    0.523627] The affinity mask was 0-3 and the handler is on 2
ioapic_mem_write ioapic mem write addr 0x0 regsel: 0x27 size 0x4 val 0x26
ioapic_update_kvm_routes: update KVM route for IRQ 11: fee02000 8021
ioapic_mem_write ioapic mem write addr 0x10 regsel: 0x26 size 0x4 val 0x180=
21
xenstore_reset_watches=20
ioapic_set_irq vector: 11 level: 1
ioapic_mem_read ioapic mem read addr 0x10 regsel: 0x26 size 0x4 retval 0x1c=
021
[    0.524569] ioapic_ack_level IRQ 11 moveit =3D 1
ioapic_eoi_broadcast EOI broadcast for vector 33
ioapic_clear_remote_irr clear remote irr for pin 11 vector 33
ioapic_mem_write ioapic mem write addr 0x0 regsel: 0x26 size 0x4 val 0x26
ioapic_mem_read ioapic mem read addr 0x10 regsel: 0x26 size 0x4 retval 0x18=
021
[    0.525235] ioapic_finish_move IRQ 11 calls irq_move_masked_irq()
[    0.526147] irq_do_set_affinity for IRQ 11, 0
[    0.526732] ioapic_set_affinity for IRQ 11, 0
[    0.527330] ioapic_setup_msg_from_msi for IRQ11 target 0
ioapic_mem_write ioapic mem write addr 0x0 regsel: 0x26 size 0x4 val 0x27
ioapic_mem_write ioapic mem write addr 0x10 regsel: 0x27 size 0x4 val 0x0
ioapic_mem_write ioapic mem write addr 0x0 regsel: 0x27 size 0x4 val 0x26
ioapic_mem_write ioapic mem write addr 0x10 regsel: 0x26 size 0x4 val 0x180=
21
[    0.527623] ioapic_set_affinity returns 0
[    0.527623] ioapic_finish_move IRQ 11 calls unmask_ioapic_irq()
ioapic_mem_write ioapic mem write addr 0x0 regsel: 0x26 size 0x4 val 0x26
ioapic_mem_write ioapic mem write addr 0x10 regsel: 0x26 size 0x4 val 0x802=
1
ioapic_set_remote_irr set remote irr for pin 11
ioapic_service: trigger KVM IRQ 11
ioapic_update_kvm_routes: update KVM route for IRQ 11: fee00000 8021
[    0.529571] The affinity mask was 0 and the handler is on 2
[    xenstore_watch path memory/target token FFFFFFFF92847D40
xenstore_watch_event path memory/target token FFFFFFFF92847D40
ioapic_set_irq vector: 11 level: 1
0.530486] ioapic_ack_level IRQ 11 moveit =3D 0


This is with Linux doing basically nothing when the handler is invoked
on the 'wrong' CPU, and just waiting for it to be right.

Commenting out the kvm_set_irq() calls in ioapic_service() and letting
QEMU synthesise an MSI every time works. Better still, so does this,
making it update the routing table *before* retriggering the IRQ when
the guest updates the RTE:

--- a/hw/intc/ioapic.c
+++ b/hw/intc/ioapic.c
@@ -405,6 +409,7 @@ ioapic_mem_write(void *opaque, hwaddr addr,
uint64_t val,
                 s->ioredtbl[index] |=3D ro_bits;
                 s->irq_eoi[index] =3D 0;
                 ioapic_fix_edge_remote_irr(&s->ioredtbl[index]);
+                ioapic_update_kvm_routes(s);
                 ioapic_service(s);
             }
         }
@@ -418,7 +423,6 @@ ioapic_mem_write(void *opaque, hwaddr addr,
uint64_t val,
         break;
     }
=20
-    ioapic_update_kvm_routes(s);
 }
=20
 static const MemoryRegionOps ioapic_io_ops =3D {



Now, I don't quite see why we don't get a *third* interrupt, since
Linux did nothing to clear the level of IRQ 11 and the last trace I see
from QEMU's ioapic_set_irq confirms it's still set. But I've exceeded
my screen time for the day, so I'll have to frown at that part some
more later. I wonder if the EOI is going missing because it's coming
from the wrong CPU? Note no 'EOI broadcast' after the last line in the
log I showed above; it isn't just that I trimmed it there.

I don't think we need to do anything in Linux; if the handler gets
invoked on the wrong CPU it'll basically find no events pending for
that CPU and return having done nothing... and *hopefully* should be
re-invoked on the correct CPU shortly thereafter.

--=-5Pj+37JDg51UR5035j2m
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA0MDk1NzQwWjAvBgkqhkiG9w0BCQQxIgQgrFR4lPm1
WDljiYico/w9DdB2c2h8YkQJLvf05v7Z9ZIwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCKjldEN2e1QiSry0BI/VClUsT9X5i9xsQl
o5kzxXgu2IcI3OzrESs3dmEUgan8PvGOpS+0L8yUygr+0V3VZTHZnnAZERRWE6iD/xpASyp3o9Da
KPdkfMcgtls6X8k5xI7YELkBQZGcp4SO2QTGXIH0wINAvU64i/k6LpYVKcs5+KTBiPelpCGfGBjx
QqotOvWPQJauEwDkBR2MoQq1PwvacnSc6BYw5gq0BjiQKgkP73rihMBfAnf6ASr8i1A3IYRHFIg4
lCvFYJnI8MImFRjfSYQMdfV3j23Em5OWpBX5/iyJLpdpnU+H1d5n9NniF7g/icK1+gSpMm30J2Uk
sg2yzg2KXz8IyMtVcgOJFqSUZNjPAY/3p5cQ1q3Wlv8+jMgk8xGGrtGjNdAmxkGQZtvB3Kro+jWU
9vPi6Z/LY3gZ+E+z5rjOaUhMYPfaIuT5ZGdeBeESOrDQhqXqB2XTdsEAIFlyg9P4XpBC0XkYzNMf
0N5T2tc5VllfvYq+fIyPAoN33TlhovAIaKqe4j9QU0UBnarSeDKYTLyDhqK9k8ZlA45wR0kvMpJA
PkixXqrDKh54cs8c9NVlHhg2D0lrm7mOw4qQigOXQqGnQ2HefDzFaAXliDYImXK90rtoGCCf9Tt8
F9OdnbfSKrM68mjIuPwQiI3EqraMswlE8pEs8kKLlwAAAAAAAA==


--=-5Pj+37JDg51UR5035j2m--


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 10:15:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 10:15:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506353.779474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYOvM-0006S2-SJ; Sat, 04 Mar 2023 10:15:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506353.779474; Sat, 04 Mar 2023 10:15: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 1pYOvM-0006Rv-PF; Sat, 04 Mar 2023 10:15:32 +0000
Received: by outflank-mailman (input) for mailman id 506353;
 Sat, 04 Mar 2023 10:15: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=sJe9=64=casper.srs.infradead.org=BATV+7cd748277c5a0e276522+7132+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pYOvM-0006Rp-2t
 for xen-devel@lists.xenproject.org; Sat, 04 Mar 2023 10:15:32 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7d71fee8-ba75-11ed-96b2-2f268f93b82a;
 Sat, 04 Mar 2023 11:15:31 +0100 (CET)
Received: from [2001:8b0:10b:5:4ce9:a0c4:1cf4:98d9]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pYOvG-003mnN-J7; Sat, 04 Mar 2023 10:15:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d71fee8-ba75-11ed-96b2-2f268f93b82a
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=20rwfXvSfzlbRk0nD62/C/o7cAHVfP0W1Yrf/Sje8f4=; b=fdm5Mme2DynvdXn/IGkCvGjrnc
	gKT1u5E6rPgDGIvhdVYFQby7eaiR9i6qxzLc5kmuW95Myzn7n+9oxvhcm/Cau/8ne2n/n7uwEZat5
	sTbTJ6lv+rhTvlknegAcaxFl7uiuLS+mi3gZJrT3XsWIH6AkVfX4fyDIGaQoyw/qsnPxDXqhKA5eL
	Cul4z0PuBLgLzg+0hwxQLqWins457PyfPuxQjVUIOb9wXFcKQ1MzckXdg9YUluj4Xc5lWi9EpA1M6
	B1yX8TcWzBTIv8pjrt4tWt/9F4Rb/UfGd9o5sk+M/hNH95bsfgetlAI8c71DxXn10LqK5CPjW6dWR
	bNLoqaIA==;
Message-ID: <6422cc2395c2f2db126dd4172e82b8d32f254403.camel@infradead.org>
Subject: Re: IRQ affinity not working on Xen pci-platform device^W^W^W QEMU
 split-irqchip I/O APIC.
From: David Woodhouse <dwmw2@infradead.org>
To: Thomas Gleixner <tglx@linutronix.de>, linux-kernel
	 <linux-kernel@vger.kernel.org>, xen-devel <xen-devel@lists.xenproject.org>
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Paolo Bonzini
 <pbonzini@redhat.com>,  qemu-devel <qemu-devel@nongnu.org>, Peter Xu
 <peterx@redhat.com>
Date: Sat, 04 Mar 2023 10:15:25 +0000
In-Reply-To: <c34964056595a5a59d0d53410933a5582ef07d10.camel@infradead.org>
References: <07866eaf6354dd43d87cffb6eebf101716845b66.camel@infradead.org>
	 <87fsalkcck.ffs@tglx>
	 <1060e7786498f384634b01c335bf7bf43365e1fe.camel@infradead.org>
	 <87356ljr6m.ffs@tglx>
	 <c34964056595a5a59d0d53410933a5582ef07d10.camel@infradead.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-U1/a4vhKzKCY0SFJQ4L2"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Sat, 2023-03-04 at 09:57 +0000, David Woodhouse wrote:
> I wonder if the EOI is going missing because it's coming
> from the wrong CPU? Note no 'EOI broadcast' after the last line in the
> log I showed above; it isn't just that I trimmed it there.

I'm running on a host kernel without commit fceb3a36c29a so that's
probably it.

https://git.kernel.org/torvalds/c/fceb3a36c29a

--=-U1/a4vhKzKCY0SFJQ4L2
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA0MTAxNTI1WjAvBgkqhkiG9w0BCQQxIgQg7wfgkQqY
Z6Fvb0PEDhmpnLTf3gvOnS0wVzqNGiaVpVUwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgALkZob741/cC//CXzXe3pjA1gZSjLjoKLd
MuECJH5gZqBr14PIiDEO6mqxtL4uSpxruqxua6BVv/PhlaGGdBdKa1K4dH/avSufK9K85pz2e7CF
JtdOvf6vx8YOu18aG/wr8+GA5R2eeymmarDOZgXZXPXxiOaaEpg6x1eJZq+a6CH8lTBjOa5t5wJg
SbVM2EABVKeuWfJc0OKmW71qMXAgGYbDUcyaLBaCXpKRs5JzErxuQ5MPO31o4SsvCEFJZ+DN1QNZ
pTXUvACVhKia38u34puN7LRGVcppzYN9n4XeMsRoelh/mmqMgAbK6vRjdLLp4jx4eEV3Kx6QFxpG
rGGktvWmbTfk+tsN0zBQwZvO9trQ2UxNG+XmTvqPwaP+W4m8UHV8xCUPZ7jd4iJpUfTDHxPL6Q3T
dWG5SOLv6BZmopPd3buf+S3vqDEBvvQW9U5jBLHeeIKbd8ENlIaEvzlevt4PUYdsZszRMTRT82Ev
mX5TPndlh+R8VchSy+9pIAlf0uDyxX8n6hPMhM0Ez29QVMu1RPjKtLos21Ri4hqSR3xms/gjMnnb
wrUCXXHgOOSrWlMVucFu3YRbkWlBEcrCgXRsydJIUA6pD3gw/z/j2+Ixj2xmU6zVLeJaJjNmpySy
amEpnDOrcy314QctJE5+z9JaXm2kQpbRdt8va79cQAAAAAAAAA==


--=-U1/a4vhKzKCY0SFJQ4L2--


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 12:24:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 12:24:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506371.779484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYQvw-0005XI-68; Sat, 04 Mar 2023 12:24:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506371.779484; Sat, 04 Mar 2023 12:24:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYQvw-0005XB-3N; Sat, 04 Mar 2023 12:24:16 +0000
Received: by outflank-mailman (input) for mailman id 506371;
 Sat, 04 Mar 2023 12:24: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 1pYQvu-0005X1-MI; Sat, 04 Mar 2023 12:24: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 1pYQvu-0003IM-Jf; Sat, 04 Mar 2023 12:24: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 1pYQvu-0000LQ-6t; Sat, 04 Mar 2023 12:24:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pYQvu-0004i7-6Q; Sat, 04 Mar 2023 12:24: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=EeX3Pz2fYBXS8cEiBqiXknanHWGxC42SQ8Q20IwvCIE=; b=h+F7abmTMYypAbDH5jdvtwGNSj
	OZM2ckYYiLyisidpLxni+vADLhFg31e2mH0dbh8oV19v1aViT5Rbaf8jYAMTRCUJqJCVkrCNGuwgE
	gD+naMpkUCJ9WqKKZy3GMHsCfPEyfg4g1r94+D23ruzWxDB/QMXJFLyzNQzPYbelvPs0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179093-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179093: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit1:guest-stop:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=2eb29d59ddf02e39774abfb60b2030b0b7e27c1f
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 04 Mar 2023 12:24:14 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 178042
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm     18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail in 179044 REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail in 179044 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-xsm      14 guest-start      fail in 179044 pass in 179093
 test-arm64-arm64-xl-thunderx 14 guest-start      fail in 179044 pass in 179093
 test-arm64-arm64-xl-credit2  14 guest-start                fail pass in 179044
 test-arm64-arm64-xl-credit1  17 guest-stop                 fail pass in 179044

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit2 15 migrate-support-check fail in 179044 never pass
 test-arm64-arm64-xl-credit2 16 saverestore-support-check fail in 179044 never pass
 test-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-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                2eb29d59ddf02e39774abfb60b2030b0b7e27c1f
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   10 days
Failing since        178093  2023-02-22 05:02:47 Z   10 days   20 attempts
Testing same since   179044  2023-03-03 03:26:30 Z    1 days    2 attempts

------------------------------------------------------------
1996 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 16:48:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 16:48:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506406.779495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYV3a-0003fM-Nd; Sat, 04 Mar 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 506406.779495; Sat, 04 Mar 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 1pYV3a-0003fF-Kj; Sat, 04 Mar 2023 16:48:26 +0000
Received: by outflank-mailman (input) for mailman id 506406;
 Sat, 04 Mar 2023 16:48: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 1pYV3Y-0003f5-W7; Sat, 04 Mar 2023 16:48: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 1pYV3Y-0001RZ-TE; Sat, 04 Mar 2023 16:48: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 1pYV3Y-0006O9-Du; Sat, 04 Mar 2023 16:48:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pYV3Y-0002sT-DP; Sat, 04 Mar 2023 16: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IawZIMxYPX3QC1I/RJc7jyLmph5zIfpBYTV61+PHi7w=; b=aehhOf+f9JAAzcrizp13KBTS/L
	ZS87JENo23Pmlt0B0VVWR9NRYmzY6sjZKPn957dsdIZBv3cK0E785eDTfbyR/dHfAEUiRqCJQq81a
	k3JiiESkI7hzAI/P2g9m8HzV71TBmh/7WfA58o+IpLCHvNrcMVx8zovSwpZe1xwk5MpE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179148-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179148: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-xsm:xen-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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check: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-thunderx:migrate-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=380a8c0c65bfb84dab54ab4641cca1387cc41edb
X-Osstest-Versions-That:
    xen=380a8c0c65bfb84dab54ab4641cca1387cc41edb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 04 Mar 2023 16:48:24 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-xsm   7 xen-install                  fail  like 179067
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179067
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179067
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179067
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179067
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179067
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179067
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179067
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179067
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179067
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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          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-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  380a8c0c65bfb84dab54ab4641cca1387cc41edb
baseline version:
 xen                  380a8c0c65bfb84dab54ab4641cca1387cc41edb

Last test of basis   179148  2023-03-04 03:00:56 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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                                  fail    
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 Mar 04 19:28:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 19:28:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506423.779505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYXXu-0006X7-Td; Sat, 04 Mar 2023 19:27:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506423.779505; Sat, 04 Mar 2023 19:27: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 1pYXXu-0006X0-Qz; Sat, 04 Mar 2023 19:27:54 +0000
Received: by outflank-mailman (input) for mailman id 506423;
 Sat, 04 Mar 2023 19:27: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 1pYXXt-0006WX-JJ; Sat, 04 Mar 2023 19:27: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 1pYXXt-0005Qj-Gk; Sat, 04 Mar 2023 19:27: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 1pYXXt-0001Yk-2E; Sat, 04 Mar 2023 19:27:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pYXXt-0002vv-1j; Sat, 04 Mar 2023 19:27: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=z9WdNsIhmNfWPB59gNbMcyKhF0O/QVc+RLzm4qm34qI=; b=CENZooihkgDa0zhmDo1P1Ozpna
	1LNc6H28gobaaprLiM4P87PvIEvjqsadbX2zC/1FzWE1tApzpGATPJ8eG66wUgANRbdyG0EL6bKWT
	8ILiRHkgGSdxUQmpwp2DfAD8WROV9IodfydAqEA3czL2hAsyIJsW+yx0RZFDVIMFKAkk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179154-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179154: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-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-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: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=cea8402e1c322a25ec944d1c36e902fac31d4331
X-Osstest-Versions-That:
    libvirt=b94a82ce9a3a27db2e6f76eacdb64428d11cbe6f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 04 Mar 2023 19:27:53 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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     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-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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              cea8402e1c322a25ec944d1c36e902fac31d4331
baseline version:
 libvirt              b94a82ce9a3a27db2e6f76eacdb64428d11cbe6f

Last test of basis   179049  2023-03-03 04:20:12 Z    1 days
Testing same since   179154  2023-03-04 04:20:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   b94a82ce9a..cea8402e1c  cea8402e1c322a25ec944d1c36e902fac31d4331 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 22:01:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 22:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505505.779566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYZwa-0001Va-NJ; Sat, 04 Mar 2023 22:01:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505505.779566; Sat, 04 Mar 2023 22:01:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYZwa-0001UF-GC; Sat, 04 Mar 2023 22:01:32 +0000
Received: by outflank-mailman (input) for mailman id 505505;
 Fri, 03 Mar 2023 00:57: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=yqmn=63=wdc.com=prvs=4197e97ac=wilfred.mallawa@srs-se1.protection.inumbo.net>)
 id 1pXtjh-0002jL-E2
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 00:57:25 +0000
Received: from esa5.hgst.iphmx.com (esa5.hgst.iphmx.com [216.71.153.144])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 590524f6-b95e-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 01:57:21 +0100 (CET)
Received: from mail-bn7nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.108])
 by ob1.hgst.iphmx.com with ESMTP; 03 Mar 2023 08:57:15 +0800
Received: from BN6PR04MB0963.namprd04.prod.outlook.com (2603:10b6:405:43::35)
 by BYAPR04MB4934.namprd04.prod.outlook.com (2603:10b6:a03:4f::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Fri, 3 Mar
 2023 00:57:12 +0000
Received: from BN6PR04MB0963.namprd04.prod.outlook.com
 ([fe80::6253:849d:e55e:17bb]) by BN6PR04MB0963.namprd04.prod.outlook.com
 ([fe80::6253:849d:e55e:17bb%7]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 00: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: 590524f6-b95e-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com;
  t=1677805040; x=1709341040;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=7S55+emyh6w2GLeLXGHxLfK4ojaE/gAciVDT5/byjX8=;
  b=R8cu9SRIiyHKrZKjRC7iDOn6XlRSfLBfIKbEFoP8PR16kw+ayVTZ/Z6q
   Js+C3I4HCZwiF6HIJIkx5SEWaVmd6FAtAaROciSW452QGP2FeBV8zDbnZ
   Bs3DfjqR6cC6GXeHgehe/kx0lUDe4wLajVj81W8uL7bu2GxR2usAJH782
   PoU+26C9L3yhMpIg8TvKX2ERwYzKw5Ck6zNYVtMhSqqTP4tzNU1t/DIA8
   wkM6PvySLaIwo6EcX3eUMrqyrKEJg/LLXzwzT24iMG/NyC/VJ6q+F7RVe
   oQlWaEsU4ikhhmePxq788q7QAwJpDnM5PTuOHSOvCLvOW9TLgcRHKHN9s
   g==;
X-IronPort-AV: E=Sophos;i="5.98,229,1673884800"; 
   d="scan'208";a="224463212"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CTIMqf/0AhE8aj/Xm7CvSktjMviSpErEf7753fDE76PBKvPsspJHfMZ4jmysylxEnQvsutg/hKWvbaGN64O8bmyBi4E3k77hOB98asGnFWhf4xSVMaWKxz6NBRRFyM+ExQ0WOIZf9Ov49JcIWtqDBgj+Ai6UIGOVn9G+yJNxVl7Ua/eNCmi8d4CvUhby1FQxVrDJNLC7AqQ+zTg+l8J3vUyMf+sV0YFj+Il+cib8PkpG/uYJxMcqxz/zkCppuoaFpNAmGLn014rJCEBM93A36H/BwE4ywPKmz3do72U72UGfYPRPrY0m018HHh+HriZ1/UzG8+Q6J0v69KZNcmfIDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7S55+emyh6w2GLeLXGHxLfK4ojaE/gAciVDT5/byjX8=;
 b=naWMfxl71qoqyicDAQCSat8UX15B2iBo4q0wknl8qSVJx88ie/OMLLTD9RC7IIm/oEPVyi46di45I59iBUWWpmTSMitQEshi+xknMsXyoVJiLsfop7MPtJraYiqkgBZA2VXn+TEi0hfnATUOXFjXaXK+hj0ugYmyihtvJZcepHqTBsGip9G0nYp1axdwvzmbJ4+uWU0EdRH9o4ntRTEzbVhds97YZjIT93hZkMLX/cQvN+DXadDIijFetutwUnIH93MOITHo1KPo4/YYK0M8xJ9MoVdfupT9nvyWhMAJhYEE+RtphqgZlPZdzmaIXVl1GDiQ8GdAICLkuWRK2RLcbw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=wdc.com; dmarc=pass action=none header.from=wdc.com; dkim=pass
 header.d=wdc.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=sharedspace.onmicrosoft.com; s=selector2-sharedspace-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7S55+emyh6w2GLeLXGHxLfK4ojaE/gAciVDT5/byjX8=;
 b=eXoX12sS/C55H1mq3Dhit3BGlbRTbelzdoIyQ3d9/8qqJFha04OMxctI4cc65oO2VlC0lkm79buXOEEHwStva85QxRhjdIXK+nECCWQ4Bk5tCEyp8x8JOy/1+MfeLQmNbCpSlSYLtICQUN7W6qNqYNVvu1hpCZI2RXmTYpTAMC4=
From: Wilfred Mallawa <wilfred.mallawa@wdc.com>
To: "berrange@redhat.com" <berrange@redhat.com>, "peter.maydell@linaro.org"
	<peter.maydell@linaro.org>, "pbonzini@redhat.com" <pbonzini@redhat.com>,
	"thuth@redhat.com" <thuth@redhat.com>, "qemu-devel@nongnu.org"
	<qemu-devel@nongnu.org>
CC: "alex.bennee@linaro.org" <alex.bennee@linaro.org>, "armbru@redhat.com"
	<armbru@redhat.com>, "qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
	"libvir-list@redhat.com" <libvir-list@redhat.com>, "reinoud@netbsd.org"
	<reinoud@netbsd.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "richard.henderson@linaro.org"
	<richard.henderson@linaro.org>, "mlevitsk@redhat.com" <mlevitsk@redhat.com>
Subject: Re: [PATCH v2 5/6] docs/about/deprecated: Deprecate 32-bit arm hosts
Thread-Topic: [PATCH v2 5/6] docs/about/deprecated: Deprecate 32-bit arm hosts
Thread-Index: AQHZTSSxnXLNs0Zv+UaZA/JKDWfIZ67oO+KA
Date: Fri, 3 Mar 2023 00:57:12 +0000
Message-ID: <bcd0821fdccd06fc0f3c084dc2ad77424f37655b.camel@wdc.com>
References: <20230302163106.465559-1-thuth@redhat.com>
	 <20230302163106.465559-6-thuth@redhat.com>
In-Reply-To: <20230302163106.465559-6-thuth@redhat.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=wdc.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN6PR04MB0963:EE_|BYAPR04MB4934:EE_
x-ms-office365-filtering-correlation-id: 46394d25-9359-443b-ec1d-08db1b82393d
wdcipoutbound: EOP-TRUE
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 gGUfBJ6Sy+HVsK+SkIbgOb374BmvCTXKlO3CUVBSjIEru2I1zZ7bdWzfqKSspLF5UBa0tymAUW90KswUDY49mx3Qt2CqFbatFFiT+ptyfTUjHbTDgB1SACQZRD8jTPAU1qlAk3i+T+RuFZjweIORzb8M5nFBY/CpMgcsVrz8PQ4bzu415Oxq2tRrom4om6ZCATFJ1B5lWdazK4jiaB1LM1OyLlmOI4G0sbTsrhsvhAJBbVMJRRo3DIe/1XPUHpffLVMSjXy6rgmbcw+ysLi9hp5tSxvBXpm5hZllgOoJy/DkcfNAVBpBtkMWlLoSvNzfDeMbi/85x7cBBrgiCjzfwQIQJb6MQJgaqwhlWLnqvqG2mMLsNILfyqQtowDtR6QetYavK3XAFBVz9VcDnmCYxWqblzULnn4X1bSwEB95w35AIv/1W+dW59cWIBeoBWlML8V0M93iTRRPbi4OvCwSm0WpppEcNTPUE5sTxkUHzHsXziW4azaSi+qlACeWZfEmv7ua/7pOeelesihVyKsi2DhyVd+wbvviPddJftKJ/6tqnXfl24VkUjynWbzoYtF3cIzrn/XnnCOjnwl7Tp85QOurNg/3b9DzS0gpcsT/eUVBAxK0AZJOn3GimujgkcXqwsh7Mcvr5AY5JgAeDD4u0uDHW/YBQfvkeHmQ6Pz5pqzVthYhrN1VUWaltxRToGE94QioHSUzRD1pjp/2DrMziA==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR04MB0963.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(376002)(136003)(346002)(366004)(396003)(451199018)(4326008)(86362001)(8936002)(36756003)(66946007)(41300700001)(66476007)(64756008)(7416002)(8676002)(66556008)(66446008)(2906002)(5660300002)(44832011)(82960400001)(38070700005)(122000001)(38100700002)(71200400001)(91956017)(478600001)(54906003)(6486002)(316002)(2616005)(76116006)(6512007)(110136005)(26005)(6506007)(186003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WUpkeVR6R2JoZ3dUeW1DeFBxR0dWVmdIQlh5dzYwMVlLNmw2NCtzM1lHVFNa?=
 =?utf-8?B?MFpyZTlCTjBkZS8yUTVUWGY0QjNENXh5dHlzNUlGbHVNUzdSMVZ0d00vb1NF?=
 =?utf-8?B?QUZ6NTV4RElwTTZEWitUdXFEVmIvaW50aEI4eUhDWEpGK1hWZzRPVTlTbGdG?=
 =?utf-8?B?Nk1Gb1RUaVl1TzFKVkJ4T3B6Y216Q3Z4QVNBdCtxVm1nV3hjV1dmVER1WFZT?=
 =?utf-8?B?Vy9yQWpvd2R2dWtMREp1cDZ2ekJjZEZXTTJBZ3JnVlBBM05pZzBtcHFMcDZv?=
 =?utf-8?B?UUdjK0MvU21GdzFvZ1dSUEdvQVV4THd6RkZjK0FJdGV3TmFPZTdOem8ycDJI?=
 =?utf-8?B?TG8wWVpmc0RqMTNqTDF5bGp5c1huWXMraGNieS9xeityK2NNcU9mb2xBQmN6?=
 =?utf-8?B?Z1U5NytBaUJOQzVtSEh3Nmo4MTV4V0E2MzR6Wnp0QnBJcGZkdktPVE9oa1VB?=
 =?utf-8?B?SDU4M0duUndldDNpQkNkbGN3ajhjZlN4WG1KQlJ4SHUya3dvK1ZCems1SVdN?=
 =?utf-8?B?TzJlZjYrZCsvQkJIOXY4cVR4Wk84emFxR202R0o0WnJaQ3JEb3Z4S1BaWG92?=
 =?utf-8?B?ZHZYYW1HRmlOWDMwblNtTGx3clBvYlpPbGYrRDFqR3dvOFFsajJxUjFMOFJ0?=
 =?utf-8?B?NnNKMWlFV1lMMDFJcXc1M0cvaXduZEhxREU1YWVUQW5raFZHV21ibHg1MHNM?=
 =?utf-8?B?QnJKbEtPck5sSkhmLy9aWGk0VDdiaXFSRTdWeXZJMjN1b3R3UGNHUnc2K3Zj?=
 =?utf-8?B?bXVxcXh2SUE0RVl0bi9WMGZIWEl0TlpzSE1YTVpQbGVDRmRtRXZuSkNLSlpG?=
 =?utf-8?B?NDROZzQvQkR0UmFVaW5jbGs0aGpwZHpwNmR0NDFkb05uV2g4YnVmZi8wUktL?=
 =?utf-8?B?YzREcXg1ZjFuMFdTTk9JTk1qclN2R3ZzSVltKzR1dlNnSHJqRUdOUTZqb2s0?=
 =?utf-8?B?bkdMd0wxQjYvMmw5TWhhaXlRN1NLQTBEcVVoYmpzWXJ6aGdPekhDeHRZVWpY?=
 =?utf-8?B?TWlXRGZyTnJibjRpQ01OcFphSXlSWjNvWXdPdHg4VEtCeUtkUmpBbVZlMGFG?=
 =?utf-8?B?a0pvNERCSzJxdGFuTm1IaTdzVTBwZFEwaXp4UTNkNHFzTTJ4N1RFR25UVjRm?=
 =?utf-8?B?VC84aFJRM2tybGt5UGhyTFIxa042dFJ6YXdLY29QMnJ6K2YwZkloS2EwZ0JE?=
 =?utf-8?B?emtPY2gxZ0FPMHN1ZzB0Q3Qwbm9aemwxUGVNRGxRVXlHaG1yTkkvdkVjaHpB?=
 =?utf-8?B?YnFxRHpZTFpHbzlKdXBNV2g2ZXBxOFdEcHhIbVl4cnA0WjBzMkloOTRSM2lH?=
 =?utf-8?B?T2JkUE5XY2xVZDZIL0dBcC9jT3pGbGd4Ymt4cWVFdmgyYm5RZXk4WkNYL0N3?=
 =?utf-8?B?YS9Dalc3eU1FQlpic1pUeDg4TGxyV2VoZGhzeS8veVBjR2VFdFQ1dm5xQUY0?=
 =?utf-8?B?YUh4OFh0L0Zsck42ejhYd3I3Q3dZYmlJelA5TDhEZW5FbVg1bDZqdWVoVUJn?=
 =?utf-8?B?WDB4VUxieDhCdmFkY29zYnhpbXdwbDRVWkRnMjdwK0o3MDV4ckJrbDNhVEJt?=
 =?utf-8?B?ZEt2L20vUm5VV1NUOHQ0aUJRNjI5bjNhdnBaejhsS3k5MHBvVWNpRjN5ZEQ4?=
 =?utf-8?B?RExYOE9ldmNaeVVqRWxBUGhHMWIvS2FIcWNVelpIWGZ2Z3BKZ1NSNGJjMmFl?=
 =?utf-8?B?UThuajM0aXdRdVNMR1BnaWhxajJLRkVtbWpHZlVaTjhtRFBPVmR4alFMQ0Qv?=
 =?utf-8?B?ZjNVdEZMd1dvK2xTWG1aandZNWtMb3pINmZHaUNWZ2JIV3kyNFMwWER0WjZN?=
 =?utf-8?B?dGdHNGJjTUFDL3hpcmIwUnB0eHRxUFFsOFQvSWpkWVNjc3ZHZ0pkU25MT0dD?=
 =?utf-8?B?NTV2aXBRcWVlZUp0SkNYYlU4bHplQW5LTDI2ZjNoQmZ0aXJlYlgrOHNXUVNZ?=
 =?utf-8?B?ZmNpZ2xDUlFXYzVZWXRBOG5kcDJ0NWFSQW42Sndkd1luYWNoaVBFU0NSMmw1?=
 =?utf-8?B?RC80aFZDMmJScUJKSUxXWmVmbmFsMkRGRm81ejYvUkxobGFldjRsNkNFY08y?=
 =?utf-8?B?aWRTb3lKc3BCbW8rQkNEWTRqRGh6Y2dRWXRLU0g4em9BOVMySWhGaEdhVnEz?=
 =?utf-8?B?TE9jLzRmYXVkOWdJc1JHTWNyTmRFaFNPSWtMamVwZzJnS3N3U0I5YmlBc1hP?=
 =?utf-8?B?akE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <93564DB975D52B4EB14C0C0C43C38FC4@namprd04.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	x7iZZBsKVwUyF45LJbRqK+VY5SlsFdF943TKr0CD8Jbi8FLKiVM2RT32915iikhAqBhQd6er8qI2mf4u5gKK2drHSsmJ+5z7N+UL4rilbugzzrUoXm2V0HuM/sfAx2/N1KkZ/yBATbUlZfqYnvpNnZ0yBOWWgAFIkpWUuXrVvAoMArlfSeHg+4gWb92jJ97z4tigNCknMKVQ6SePd9MIiIUsW0H7/3/e6nBIuZsI3L5j56gp8rGtuOEGULGDFRVfg1DHev8C0LxuTbUZfYzHYu00f8+AlkSlmpQfIaZ4LmAbkBMjCGSc8Nl6Qg3XfP3+/gEgVXFi1lyHBULoYNtP2+vetqrnmYWXKaY/tXXGE8KdrL6EbwMcKZKbolFhJ+rhPvVdcWdiwX46MnyAmW5nWQGxKBEl555aKbGlRObpMgVLBVsFEaplzzpS4leNMSw39m3rR9Vua5vjpRgP2n9ia7+l2+b91yF16qo9fPSU7UHJOHVHJv3h6ntnfQstaKAgSv/h12UJvt0UTeEinjRNq9GhhYUtNiqOkbFgCa02Yl4cRldaEaZBFRHOKDub0gcz0+r7t9sRT+RRQiEywhVGtj206GwYdTc2S96A+GRjqouOfv3jsljYaidAzKp2UE24aGjlcXqaJV5VSoXqNmy96lGs8KtxVquVq/oVTG0RXJIC5vYw/Zb79lvwPakwhIg9YKdFXJqGOlvDFFE0XP5it4HRxuh71gHTVaims5ZdgBRJa8Gxh3WzENe700FWja5sbaacEXB3rbZg73RtDN//+7OV/hVME3l334ekKCX2K1LztEtuL4tfD3D6mNoDXXPT9Ccnmx29takvU5BMox7IZr1hVE/HNJcrFq6ozfzbQdKVtslo7LqMj2jlquELLuelLJ38RegcLwbzsjv1RkdNau6nSPdmjFKoHnqzLlpGwos=
X-OriginatorOrg: wdc.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN6PR04MB0963.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 46394d25-9359-443b-ec1d-08db1b82393d
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2023 00:57:12.2802
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 7KYxgsr5usMIfI9wAXIbfvVeUBCxWZF2lkYqanloy7r7DKyBktLxtGhdrJAXDgep/ATmgJcvXAPeFkhbpvuPJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB4934

T24gVGh1LCAyMDIzLTAzLTAyIGF0IDE3OjMxICswMTAwLCBUaG9tYXMgSHV0aCB3cm90ZToNCj4g
Rm9yIHJ1bm5pbmcgUUVNVSBpbiBzeXN0ZW0gZW11bGF0aW9uIG1vZGUsIHRoZSB1c2VyIG5lZWRz
IGEgcmF0aGVyDQo+IHN0cm9uZyBob3N0IHN5c3RlbSwgaS5lLiBub3Qgb25seSBhbiBlbWJlZGRl
ZCBsb3ctZnJlcXVlbmN5DQo+IGNvbnRyb2xsZXIuDQo+IEFsbCByZWNlbnQgYmVlZnkgYXJtIGhv
c3QgbWFjaGluZXMgc2hvdWxkIHN1cHBvcnQgNjQtYml0IG5vdywgaXQncw0KPiB1bmxpa2VseSB0
aGF0IGFueWJvZHkgaXMgc3RpbGwgc2VyaW91c2x5IHVzaW5nIFFFTVUgb24gYSAzMi1iaXQgYXJt
DQo+IENQVSwgc28gd2UgZGVwcmVjYXRlIHRoZSAzMi1iaXQgYXJtIGhvc3RzIGhlcmUgdG8gZmlu
YWxseSBzYXZlIHVzZQ0KPiBzb21lIHRpbWUgYW5kIHByZWNpb3VzIENJIG1pbnV0ZXMuDQo+IA0K
PiBTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgSHV0aCA8dGh1dGhAcmVkaGF0LmNvbT4NCj4gLS0tDQo+
IMKgZG9jcy9hYm91dC9kZXByZWNhdGVkLnJzdCB8IDkgKysrKysrKysrDQo+IMKgMSBmaWxlIGNo
YW5nZWQsIDkgaW5zZXJ0aW9ucygrKQ0KUmV2aWV3ZWQtYnk6IFdpbGZyZWQgTWFsbGF3YSA8d2ls
ZnJlZC5tYWxsYXdhQHdkYy5jb20+DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZG9jcy9hYm91dC9kZXBy
ZWNhdGVkLnJzdCBiL2RvY3MvYWJvdXQvZGVwcmVjYXRlZC5yc3QNCj4gaW5kZXggMjFjZTcwYjVj
OS4uYzcxMTNhNzUxMCAxMDA2NDQNCj4gLS0tIGEvZG9jcy9hYm91dC9kZXByZWNhdGVkLnJzdA0K
PiArKysgYi9kb2NzL2Fib3V0L2RlcHJlY2F0ZWQucnN0DQo+IEBAIC0yMjksNiArMjI5LDE1IEBA
IGRpc2NvbnRpbnVlIGl0LiBTaW5jZSBhbGwgcmVjZW50IHg4NiBoYXJkd2FyZQ0KPiBmcm9tIHRo
ZSBwYXN0ID4xMCB5ZWFycw0KPiDCoGlzIGNhcGFibGUgb2YgdGhlIDY0LWJpdCB4ODYgZXh0ZW5z
aW9ucywgYSBjb3JyZXNwb25kaW5nIDY0LWJpdCBPUw0KPiDCoHNob3VsZCBiZSB1c2VkIGluc3Rl
YWQuDQo+IMKgDQo+ICtTeXN0ZW0gZW11bGF0aW9uIG9uIDMyLWJpdCBhcm0gaG9zdHMgKHNpbmNl
IDguMCkNCj4gKycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycn
Jw0KPiArDQo+ICtTaW5jZSBRRU1VIG5lZWRzIGEgc3Ryb25nIGhvc3QgbWFjaGluZSBmb3IgcnVu
bmluZyBmdWxsIHN5c3RlbQ0KPiBlbXVsYXRpb24sIGFuZA0KPiArYWxsIHJlY2VudCBwb3dlcmZ1
bCBhcm0gaG9zdHMgc3VwcG9ydCA2NC1iaXQsIHRoZSBRRU1VIHByb2plY3QNCj4gZGVwcmVjYXRl
cyB0aGUNCj4gK3N1cHBvcnQgZm9yIHJ1bm5pbmcgYW55IHN5c3RlbSBlbXVsYXRpb24gb24gMzIt
Yml0IGFybSBob3N0cyBpbg0KPiBnZW5lcmFsLiBVc2UNCj4gKzY0LWJpdCBhcm0gaG9zdHMgZm9y
IHN5c3RlbSBlbXVsYXRpb24gaW5zdGVhZC4gKE5vdGU6ICJ1c2VyIiBtb2RlDQo+IGVtdWxhdGlv
bg0KPiArY29udGludW91cyB0byBiZSBzdXBwb3J0ZWQgb24gMzItYml0IGFybSBob3N0cywgdG9v
KQ0KPiArDQo+IMKgDQo+IMKgUUVNVSBBUEkgKFFBUEkpIGV2ZW50cw0KPiDCoC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0NCg0K


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 22:01:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 22:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504113.779521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYZwY-0000Xn-BR; Sat, 04 Mar 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 504113.779521; Sat, 04 Mar 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 1pYZwY-0000XB-4v; Sat, 04 Mar 2023 22:01:30 +0000
Received: by outflank-mailman (input) for mailman id 504113;
 Wed, 01 Mar 2023 15:41: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=hLBl=6Z=rivosinc.com=debug@srs-se1.protection.inumbo.net>)
 id 1pXOaI-0001Wn-Ji
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 15:41:38 +0000
Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com
 [2607:f8b0:4864:20::1034])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d112d92-b847-11ed-96a6-2f268f93b82a;
 Wed, 01 Mar 2023 16:41:37 +0100 (CET)
Received: by mail-pj1-x1034.google.com with SMTP id y2so13743966pjg.3
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 07:41:37 -0800 (PST)
Received: from debug.ba.rivosinc.com ([66.220.2.162])
 by smtp.gmail.com with ESMTPSA id
 l12-20020a62be0c000000b005821c109cebsm8058970pff.199.2023.03.01.07.41.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 07:41: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: 8d112d92-b847-11ed-96a6-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=rivosinc-com.20210112.gappssmtp.com; s=20210112; t=1677685296;
        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=T04RMfKzSUFRrZ3CYc3+bErGU8vpxkP2QVI3mwlpG78=;
        b=RacUjtkKVhkSdFUBywOGho+8dt8NsK+GHdxWXdQ69WX2yCf/yYWl7r6icMXBWT/ShM
         KzbzJEeKqlnWntlEh4Hu5sno9Ak81pDzhFum2pY94j4Sv2hldxTUvXOesOtDXjR8r6gc
         qTgIZDS9fRsSDLNbTTTqAFsgPsTJ/DQ+0jjGE9ek1g+5UBhUcmjFAxCNoVki1FxJorhz
         1mqoDsTuoBLwUNz+cTKmWUvmBN0WlvjuL/8NCCPe/UsZ69pgJ+6lNteW1mdicJGes/KY
         sz2TvcyHAjAaMaJRH5/VJiCFama3PVa+Xs98E38Ow6CsZfQ4ni3p2/e/LUrMvV5jGCLw
         yEmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677685296;
        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=T04RMfKzSUFRrZ3CYc3+bErGU8vpxkP2QVI3mwlpG78=;
        b=OP8lUEAGw6RP/4UsEfOuqksO9Ov/vcOzqr60Bsy5M1l38PXUyfOURpqV/Ygp/vNmOx
         amynM7LJXWUIE2Uk7/pQMXdDF0NScAvee5RHhe7zXjhO/SgHl8bC/5e0431oRtS9q9YB
         NA59jfbazz7geqgpIKtRdxsteoTGwhlbKc25aoB0bAJ6neHqMpM6QResVapXOhtj814X
         sO58Rk+6ZBi8Ryb3N16e8KfRkF//jeiSS03jX5NfTaoZZq8AXLclTnIWnSLo11iQwe+T
         hbomFKohsPxQ1ZTCKu877FLrlxqfPjOSx+g6d4qn555QmMx2Uvq++npqdMiNQWCXd7+r
         60LA==
X-Gm-Message-State: AO0yUKXPWeESqLyc1IFqpFpcZ3Oesux7XdY3VUQrmwTa2T5Y2lSR1tvI
	eXw9tPOvdEf+M/bwXajg+j0aug==
X-Google-Smtp-Source: AK7set89u8u7K351sr+Ck6r7PKKsfq0NxjZus48TDBYC9SmTqwP5jGqb0tSf18Db2RC/D0Tp3KOSQg==
X-Received: by 2002:a05:6a20:2444:b0:cc:ac05:88f7 with SMTP id t4-20020a056a20244400b000ccac0588f7mr8304959pzc.34.1677685295782;
        Wed, 01 Mar 2023 07:41:35 -0800 (PST)
Date: Wed, 1 Mar 2023 07:41:30 -0800
From: Deepak Gupta <debug@rivosinc.com>
To: Rick Edgecombe <rick.p.edgecombe@intel.com>
Cc: x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-mm@kvack.org,
	linux-arch@vger.kernel.org, linux-api@vger.kernel.org,
	Arnd Bergmann <arnd@arndb.de>, Andy Lutomirski <luto@kernel.org>,
	Balbir Singh <bsingharora@gmail.com>,
	Borislav Petkov <bp@alien8.de>,
	Cyrill Gorcunov <gorcunov@gmail.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Eugene Syromiatnikov <esyr@redhat.com>,
	Florian Weimer <fweimer@redhat.com>,
	"H . J . Lu" <hjl.tools@gmail.com>, Jann Horn <jannh@google.com>,
	Jonathan Corbet <corbet@lwn.net>, Kees Cook <keescook@chromium.org>,
	Mike Kravetz <mike.kravetz@oracle.com>,
	Nadav Amit <nadav.amit@gmail.com>, Oleg Nesterov <oleg@redhat.com>,
	Pavel Machek <pavel@ucw.cz>, Peter Zijlstra <peterz@infradead.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Weijiang Yang <weijiang.yang@intel.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	John Allen <john.allen@amd.com>, kcc@google.com, eranian@google.com,
	rppt@kernel.org, jamorris@linux.microsoft.com,
	dethoma@microsoft.com, akpm@linux-foundation.org,
	Andrew.Cooper3@citrix.com, christina.schimpe@intel.com,
	david@redhat.com, linux-alpha@vger.kernel.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org, linux-csky@vger.kernel.org,
	linux-hexagon@vger.kernel.org, linux-ia64@vger.kernel.org,
	loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org,
	Michal Simek <monstr@monstr.eu>, Dinh Nguyen <dinguyen@kernel.org>,
	linux-mips@vger.kernel.org, openrisc@lists.librecores.org,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v6 13/41] mm: Make pte_mkwrite() take a VMA
Message-ID: <20230301154130.GB3505369@debug.ba.rivosinc.com>
References: <20230218211433.26859-1-rick.p.edgecombe@intel.com>
 <20230218211433.26859-14-rick.p.edgecombe@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Disposition: inline
In-Reply-To: <20230218211433.26859-14-rick.p.edgecombe@intel.com>

On Sat, Feb 18, 2023 at 01:14:05PM -0800, Rick Edgecombe wrote:
>The x86 Control-flow Enforcement Technology (CET) feature includes a new
>type of memory called shadow stack. This shadow stack memory has some
>unusual properties, which requires some core mm changes to function
>properly.
>
>One of these unusual properties is that shadow stack memory is writable,
>but only in limited ways. These limits are applied via a specific PTE
>bit combination. Nevertheless, the memory is writable, and core mm code
>will need to apply the writable permissions in the typical paths that
>call pte_mkwrite().
>
>In addition to VM_WRITE, the shadow stack VMA's will have a flag denoting
>that they are special shadow stack flavor of writable memory. So make
>pte_mkwrite() take a VMA, so that the x86 implementation of it can know to
>create regular writable memory or shadow stack memory.
>
>Apply the same changes for pmd_mkwrite() and huge_pte_mkwrite().
>
>No functional change.
>
>Cc: linux-doc@vger.kernel.org
>Cc: linux-kernel@vger.kernel.org
>Cc: linux-alpha@vger.kernel.org
>Cc: linux-snps-arc@lists.infradead.org
>Cc: linux-arm-kernel@lists.infradead.org
>Cc: linux-csky@vger.kernel.org
>Cc: linux-hexagon@vger.kernel.org
>Cc: linux-ia64@vger.kernel.org
>Cc: loongarch@lists.linux.dev
>Cc: linux-m68k@lists.linux-m68k.org
>Cc: Michal Simek <monstr@monstr.eu>
>Cc: Dinh Nguyen <dinguyen@kernel.org>
>Cc: linux-mips@vger.kernel.org
>Cc: openrisc@lists.librecores.org
>Cc: linux-parisc@vger.kernel.org
>Cc: linuxppc-dev@lists.ozlabs.org
>Cc: linux-riscv@lists.infradead.org
>Cc: linux-s390@vger.kernel.org
>Cc: linux-sh@vger.kernel.org
>Cc: sparclinux@vger.kernel.org
>Cc: linux-um@lists.infradead.org
>Cc: xen-devel@lists.xenproject.org
>Cc: linux-arch@vger.kernel.org
>Cc: linux-mm@kvack.org
>Tested-by: Pengfei Xu <pengfei.xu@intel.com>
>Suggested-by: David Hildenbrand <david@redhat.com>
>Signed-off-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
>

Acked-by: Deepak Gupta <debug@rivosinc.com>


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 22:01:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 22:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505507.779576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYZwb-0001iE-GE; Sat, 04 Mar 2023 22:01:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505507.779576; Sat, 04 Mar 2023 22:01: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 1pYZwb-0001fY-0c; Sat, 04 Mar 2023 22:01:33 +0000
Received: by outflank-mailman (input) for mailman id 505507;
 Fri, 03 Mar 2023 00: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=yqmn=63=wdc.com=prvs=4197e97ac=wilfred.mallawa@srs-se1.protection.inumbo.net>)
 id 1pXtkA-0002kI-Nq
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 00:57:54 +0000
Received: from esa6.hgst.iphmx.com (esa6.hgst.iphmx.com [216.71.154.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c35c25f-b95e-11ed-96ad-2f268f93b82a;
 Fri, 03 Mar 2023 01:57:53 +0100 (CET)
Received: from mail-dm6nam12lp2173.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.173])
 by ob1.hgst.iphmx.com with ESMTP; 03 Mar 2023 08:57:49 +0800
Received: from BN6PR04MB0963.namprd04.prod.outlook.com (2603:10b6:405:43::35)
 by BYAPR04MB4934.namprd04.prod.outlook.com (2603:10b6:a03:4f::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Fri, 3 Mar
 2023 00:57:46 +0000
Received: from BN6PR04MB0963.namprd04.prod.outlook.com
 ([fe80::6253:849d:e55e:17bb]) by BN6PR04MB0963.namprd04.prod.outlook.com
 ([fe80::6253:849d:e55e:17bb%7]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 00:57: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: 6c35c25f-b95e-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com;
  t=1677805072; x=1709341072;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=ecDue/StJ/XNaNyJwfVRAVLNghPAXh2UcTou64FfFE8=;
  b=g3fpQNQvXLJDCrswUcVKKdNEjrxFOr9L8lRVDLcxEc+o+liaC1P57eo/
   mn/yghH78GHezYs6EFspoFBkAEvRaZp2yfsY/eTEP6o/BweQB81QXxcJc
   QIc+L7HsuO/tTfUS+VkgRjI16iM2F/VeeZB4iLG9cdTFtUD5ReRfB6G+M
   NjJJxMdmAd+D/Xzl6ULDIrooFThSSWBbYMfzmsEwrJPO0OMAl1yx2kIZB
   6SPOVwk1JW/rpCIU4WeyCJG1vyoDEhm5iI6vKC2OYI5FHUzIHoali69jJ
   tfg7/d8PwNGkgooymOhk79QgOLyUgRVb/2fVtQhr/xO0FAa5iGruBoCC7
   A==;
X-IronPort-AV: E=Sophos;i="5.98,229,1673884800"; 
   d="scan'208";a="224681042"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VHsZM62usFs3QFbTmZmSV7M0ZIBEyVoV7764pOWOphFXUdhP0SSSxLocWjOYrvrpGR+G3FVi/qw7FQFeeHgVqS7mVhdnVSeh8JmOkC8QcdRQdo53cLQSfZZRILG2WMQ8IwrhmmpH6BrzlLjY9TPsOjyZVfDH98vyZ3GUCW9PyoBeAxtY8qg+HxQu0Z/8n/kUQmeJXdterP+zb9/jxoRWEpkHi6r9OshwZCBIXupPwyvJQXk0Vm2Pr20a7X1kUbAWE73IrmZKj2OZ+jAa0zT9Id7Gt/mfS0+buDnDcnS29D8jeG+ixH453MG6hib4DV9kqBqZjit1gEpw/WmCeamVHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ecDue/StJ/XNaNyJwfVRAVLNghPAXh2UcTou64FfFE8=;
 b=GEsTA7J+DAyGu3l0mCMo6gGNnv0OFuWILXp/ZzPONVGb+2zJdwkSnatPrwQ7hT7Uh2s2pGVNLOnbeIMYzltPWpedG9lpQGO5LAe5ROcR6hnafegvijITm5/kczAz49mxIHat9D50Q3q+SbhuDVLRfPX8+JavWAa8LmHaFCeC4D6JXoWwvGne8JcegrCtuXzgX68ZrD/02PIZikF3S6iUPt9mdi+pLfZdpv+78IjmnDdVY4OWWHFiWEzjZU6PhwxtLcpN5bIc7IWKmOu/f96ZrpAqb8vmQgtowcuhW9EhGeRplxMc26Mr6kjtBdN2QNJ9cw36a1tPL5EfhjqUB/OG8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=wdc.com; dmarc=pass action=none header.from=wdc.com; dkim=pass
 header.d=wdc.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=sharedspace.onmicrosoft.com; s=selector2-sharedspace-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ecDue/StJ/XNaNyJwfVRAVLNghPAXh2UcTou64FfFE8=;
 b=pJLc15SzAU4WLXLXWwCdv6d7iP0+gis8AjwJT9xGqC5EzotEHB0iCLgKH8JYrv8wj+t+IzN3GbM6Ef/cK9V9lLrBOvlrgpxqoM1F30z3UFQaSVXP75BuQGJSOuZb+pWiwd5HUBwOJYzKsUuQ+TasAlRLDpPblWfKx4M2hL9sk1c=
From: Wilfred Mallawa <wilfred.mallawa@wdc.com>
To: "berrange@redhat.com" <berrange@redhat.com>, "peter.maydell@linaro.org"
	<peter.maydell@linaro.org>, "pbonzini@redhat.com" <pbonzini@redhat.com>,
	"thuth@redhat.com" <thuth@redhat.com>, "qemu-devel@nongnu.org"
	<qemu-devel@nongnu.org>
CC: "alex.bennee@linaro.org" <alex.bennee@linaro.org>, "armbru@redhat.com"
	<armbru@redhat.com>, "qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
	"libvir-list@redhat.com" <libvir-list@redhat.com>, "reinoud@netbsd.org"
	<reinoud@netbsd.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "richard.henderson@linaro.org"
	<richard.henderson@linaro.org>, "mlevitsk@redhat.com" <mlevitsk@redhat.com>
Subject: Re: [PATCH v2 6/6] gitlab-ci.d/crossbuilds: Drop the 32-bit arm
 system emulation jobs
Thread-Topic: [PATCH v2 6/6] gitlab-ci.d/crossbuilds: Drop the 32-bit arm
 system emulation jobs
Thread-Index: AQHZTSSl9FA3qGnAkEW8XXW1i1T7Fq7oPAuA
Date: Fri, 3 Mar 2023 00:57:46 +0000
Message-ID: <3d9bca01444d248158650d278f90a65422ff7db8.camel@wdc.com>
References: <20230302163106.465559-1-thuth@redhat.com>
	 <20230302163106.465559-7-thuth@redhat.com>
In-Reply-To: <20230302163106.465559-7-thuth@redhat.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=wdc.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN6PR04MB0963:EE_|BYAPR04MB4934:EE_
x-ms-office365-filtering-correlation-id: 1ed937ab-c88f-40bc-29e0-08db1b824db1
wdcipoutbound: EOP-TRUE
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 LUcUIloiLOch//TYrR2HKoVm8+RSq5oaBTHRXk5rCYGsZQJ4l8nP5yLlZxGQQG9Zk7qgUCc2xNVQFa05X50RqpDaMRRSdqP6CY1+MF77XvDJuIIe9XlervkL/0XYdNYGngu98X1dAB9iLLU4rfiI/3gfypJtBj1ryhVp/s1Vby2KwfnJKszL8/gKzGVroOUii3JFLEXd/Iw+xbHyaiBFUil1G3EZClqlIrE5qwz7c3YmUMzzPl3KQg9mhm7pg07UFb1trMq/Cja4wSSgnLVXdST4ZUVU4deIM8pxizLhJJ58ToKRDAJFKIA6BBhW9/X9kYDpLS1EwKbWBd7flZk6YaxqSrXQK7ID/8UnAZK6NaJosZsNh3G7IAjCznuz6LQiUmhglynl1Ja9hMEaVRnba5EAFBGN891spxqVEavi21thl9JuKc+9hE5Gzg+b/VCc5eSVXRWxDygxBJdbB2Gy21+x99Q18uXUkJLNwMMgO0hkogv2yC8Gj31a4zClFto3RhekD5Bj93paeagmarj5WV504uWtGVMgIQrmEE9kbX6oi88AGFjfmfmIsKBrd6vwWc6XSKdol+fq2gi+m1r1mUEpRqPZfG6BfiXZpvnMLkghRWmDAQkoD93Llm5MwIVGjq9RANaeU4Zy7mmvkMArVAGZt3C1TqXpQaaWUW/azfLmkuUAdobSF443t6kE9ledDtPXojkL3+uHDEZuoiEXzw==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR04MB0963.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(376002)(136003)(346002)(366004)(396003)(451199018)(4326008)(86362001)(8936002)(36756003)(66946007)(41300700001)(66476007)(64756008)(7416002)(8676002)(66556008)(66446008)(2906002)(5660300002)(44832011)(82960400001)(38070700005)(122000001)(38100700002)(71200400001)(91956017)(478600001)(54906003)(6486002)(316002)(2616005)(76116006)(6512007)(110136005)(83380400001)(26005)(6506007)(186003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WVY1RHJibzJ4VzBrRXM3QjZCM1VhQ0hIYkZnYXpnTnFvYk1VNzV4THFpN1ZF?=
 =?utf-8?B?ejFNWUpBN1dTMHhTQ05xNDFJS0szNnFQL053SDJxdGZyb0dUU0I3bDBLcUFY?=
 =?utf-8?B?RWhFR25CM0lENTV4Wm9MTDlJNm0xV0xxMndLZ1J6VERsUjUzQ2N6N1NSdDZL?=
 =?utf-8?B?YWNYMFRQMlpQYnRzbnk3RmY3L2ErcDRGOTR5SkJtUCt4R0JoRXpaS0tpS1FL?=
 =?utf-8?B?NWUvU1owc3FBaFdFTUhmWHBzU29hTXlmRXcxWDQ5UGpYUlVIZlRiTE5iZ0JF?=
 =?utf-8?B?dnlZenNPTE82aEU4RmhSaTZGd1F4WFRoSWFrdnVLTnhtTUZLaDdoR3VpbmJy?=
 =?utf-8?B?SDlVV0U0U0N2RzJ1dllIclIyYWdKMmxCOC84TGZlU1ZJYkdtUndmbWFqbjk1?=
 =?utf-8?B?N3VOYSt0SUp4cDdEVDNFOUZYWVBLVU9HdHNzS0daNVZWR3V3alZGakdJUDBF?=
 =?utf-8?B?dm1PMmJaS1Vlc0s5SCtEL3hMaGtrQ0d4Tjhvdm9Ja21xc0RLT2tkYUpuanhV?=
 =?utf-8?B?d2JWSi9lWlViS01PdGVNMStrT2ZXOHp4VnBNb2RDT0NENjM2dlBtc21idUJC?=
 =?utf-8?B?NTBqcFhtK3VPSXNsVGZyaTdWbFJkaFNzc0hXTDh4ODJIME9ZYWxKWDVJN3A0?=
 =?utf-8?B?Ylh1RmU0b0ZYckdHdGFEd01TeXF0MVRiZ2p2aGVrWGRIMlVnZURCZ04zK0g3?=
 =?utf-8?B?K0twTmdCdXNUUS9tektONGZIV2FCZzBBbE5HTEF3L0ZkWVU4Q3JyM2xkLzZ5?=
 =?utf-8?B?ak5NaDRLY1ZPSmdhc3ZBdFhWNE1CeUpHUWRDdVhlZEc3RTFPdml6NU82Tmpa?=
 =?utf-8?B?YzJZYktUWk9FQU9YQ0NsZ05LVEhMenpwNG9kZWlLeUFuL243U0ZYWmdnY3FN?=
 =?utf-8?B?eXc0QTAvYTRrTmZVbFZRNWIxKzhZeWJNc24zRFA3dlF2VENDeHpLWDNtWmpw?=
 =?utf-8?B?SWRhckViOXlKOVJYaU13QjhnVmpYNmhuMi9xZGRjMGhhWGFORGs5S2MwdGFu?=
 =?utf-8?B?REhzcTJpSXdMeElVRlZtK2pFZ3VoZVlOWVpzZlFUN2tuQlpnb0I2dTNZVm5D?=
 =?utf-8?B?UlQvNkd4NmFscjYxVXJrNUdHdExtdnJSUTRnTGJTN09HNlB4RUNJc3ZxekFB?=
 =?utf-8?B?L05ZQVNlU29wVGJaVUErNmplQkFWVzV2TXBnNUhQdnBiUHhxdGhuQ0dDb0s5?=
 =?utf-8?B?ZGhhY21XL3k5TzRuZTMydlZzWWg2eXFXTm9ZN1hzM3pvUG1XMEE4aUdwRVJC?=
 =?utf-8?B?aTBiWGhMbWVOcGdPNjJ2VVBpbjI2bnVKKy9hVnhOcGYzVkF3RFY1OGdva245?=
 =?utf-8?B?dXdoS1doUmYzYytRclBvUlJzdjVxZGFLeDh6QjJ4cVU3N2RBVUN4VmRrNThD?=
 =?utf-8?B?ZXd0SnI4dXRLOUQzbVBGYnhiU0xZUnBPUFZVUm5zTy9qTWY1WEZYTHJWVUx5?=
 =?utf-8?B?bEJTNlc5dEFZcFZJcjVrZm1KRFB2VGU3ZVJIQ2R3c01aRnRCY2EwTHhkSTIw?=
 =?utf-8?B?cWwrbzhjUG5raE1GL1ExOGtXWklRdnZqTFArblZqdEVFbXpsNlA5TmNWaHRw?=
 =?utf-8?B?cjVXZEh4UHpUT1lRRUxPcE1Pc1JIbzJKcFIzOHByWFRXU0dIZ3ZnYjJVQ0lN?=
 =?utf-8?B?OG5XZ2s5QkV6VG1qZUFZK250bVp2aGNxMXhwUVIxNnlGSWRGZGhrNWh5NWdY?=
 =?utf-8?B?MGNYKzYxV2R4djRsTitXelA0SDNNRkVuZUhCdkw4K0JSSXVwK1JGRERPcnNG?=
 =?utf-8?B?TGVpVzJORVN6NUVYakNYRk1PZ0JBSkdZcGFaSDdEZW1xVWIzMnhiTXU3ZFhH?=
 =?utf-8?B?b1VvVzBsblBNUTFpOFZVbXFMay9GTWNwQi9XR1pSLzYzZXJXTFF5bEJ1a1dz?=
 =?utf-8?B?VVhsQjdYaFVGSC9HUHhBc0o1ZCttY0Zhb1Z4cGtFRkhSQkxSMEZ0MG9vVFRC?=
 =?utf-8?B?RHQvSmRxbzJpUDUwWWFTbkVYc3dxTGJabnRFeVNDa0JyOVU5bTJ2MTFYRm9q?=
 =?utf-8?B?MXBCNkFqeFVoWmxsc1RtVEUrL3BJeFZQN29qNFdJNGdvSGtsR01XUjdxY0FS?=
 =?utf-8?B?cm5SaDdmaGRaYThDa1hXcEVKeE5TNFpFU09tUnYzK0pMNjdHMzU3Zm9pT09S?=
 =?utf-8?B?Smx5dXIyRnV6OWx0aEJDUGErSnZyNUdOU0RvblZHK3dZUW1KdkhOWmhVL1VF?=
 =?utf-8?B?THc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <1A4480D9FD740542B8A5F46E2CB230A4@namprd04.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	09hd2wszvkpkYJ9qtvY8l2F3P1uVp5ji5sE48mlXDMNKnniHZwTJk6fgS3VTRstRAc52gSD+/WXqmwrxOzrwhUKh84Qz0FLgHLzR5czjfs6AzopI2aYYDq6T/TAlUtDsbHw11cPhiDDTy58u4/uVziRNmnBKuIZVqqmrRIYVb3s9uAGQYXyA/CyceW29mXmA9i1JOcFU9ayzNWFZ1xQnyRE79uE0gizAxtT39BFv0kJnLcUFfJGqHtHK6angbZNiTMp5xpcPoEzMxvGJiNf6QfpBVu9fuCVSpcKO2EWdKrUgmbj3yjEnpWbcVdLsUaobIFs9Egr71sgXQhKAxt7XHTyGpi0vE5yYbYtkql68ZGthkFBBsnhturTFDLIW3JKrkGpWV2KgHARxnxyXJetCqk1tqp10F1O9y8VsuzKkJDp4fZai/rmt5AG4qaDuNlPoD9sRhy+CaJKy+mGpuGl8VTtACGJPPOAaKWKcOrMrnkHMTTEXBbS4aU+l6F6kCGnFpIQiYHHc3ycKZILYFwbkav2q3t5iDFyH6LA1wcxPIc04NEkQsvb5CUm9yJs6hrkuvWIArXPvh0lkRqaKd/YITwjgKqT6Mjb5JAVew6z/PQLvFymWwctSUerbdwPIi5VPZ28E1GLzhAXA+TupYp4gVAVZMICmn6KRnBCExo20J6jl63hZ6mUh6IfIJrvEUA24p1pnDxSqKA1Vrqg7x+GwxW57xkS6o1zV2tbUjRWR3A9J+WJ9R6l8Q6d+N0ttkl2Q+H0Dq+kKt5fzMYGde9+YgyHW22xeFklwNU54nMVyZGjw6bYFDnzkTpEaPYDBaQ38f7H0zvp1KxypkVdPiMypB0SWDGkCBP59Ee9s5XaIX/bVtl+35LmRRK8RyYeijBIWceHmv2EjY9xhR2hi57YEQJ6TpZEtP6v2DPUbnF7jwV4=
X-OriginatorOrg: wdc.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN6PR04MB0963.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ed937ab-c88f-40bc-29e0-08db1b824db1
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2023 00:57:46.5743
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: UnUVPezUG3wlQefTCNzlm0Myu6rK76zeSsm0DVUPoHa9+1QEgyciGY1gIMpKPX7/R887XfC/utSWtvTXsfeRCQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB4934

T24gVGh1LCAyMDIzLTAzLTAyIGF0IDE3OjMxICswMTAwLCBUaG9tYXMgSHV0aCB3cm90ZToNCj4g
SGFyZGx5IGFueWJvZHkgc3RpbGwgdXNlcyAzMi1iaXQgYXJtIGVudmlyb25tZW50cyBmb3IgcnVu
bmluZyBRRU1VLA0KPiBzbyBsZXQncyBzdG9wIHdhc3Rpbmcgb3VyIHNjYXJjZSBDSSBtaW51dGVz
IHdpdGggdGhlc2Ugam9icy4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFRob21hcyBIdXRoIDx0aHV0
aEByZWRoYXQuY29tPg0KPiAtLS0NCj4gwqAuZ2l0bGFiLWNpLmQvY3Jvc3NidWlsZHMueW1sIHwg
MTQgLS0tLS0tLS0tLS0tLS0NCj4gwqAxIGZpbGUgY2hhbmdlZCwgMTQgZGVsZXRpb25zKC0pDQpS
ZXZpZXdlZC1ieTogV2lsZnJlZCBNYWxsYXdhIDx3aWxmcmVkLm1hbGxhd2FAd2RjLmNvbT4NCj4g
DQo+IGRpZmYgLS1naXQgYS8uZ2l0bGFiLWNpLmQvY3Jvc3NidWlsZHMueW1sIGIvLmdpdGxhYi0N
Cj4gY2kuZC9jcm9zc2J1aWxkcy55bWwNCj4gaW5kZXggM2NlNTFhZGY3Ny4uNDE5YjBjMmZlMSAx
MDA2NDQNCj4gLS0tIGEvLmdpdGxhYi1jaS5kL2Nyb3NzYnVpbGRzLnltbA0KPiArKysgYi8uZ2l0
bGFiLWNpLmQvY3Jvc3NidWlsZHMueW1sDQo+IEBAIC0xLDEzICsxLDYgQEANCj4gwqBpbmNsdWRl
Og0KPiDCoMKgIC0gbG9jYWw6ICcvLmdpdGxhYi1jaS5kL2Nyb3NzYnVpbGQtdGVtcGxhdGUueW1s
Jw0KPiDCoA0KPiAtY3Jvc3MtYXJtZWwtc3lzdGVtOg0KPiAtwqAgZXh0ZW5kczogLmNyb3NzX3N5
c3RlbV9idWlsZF9qb2INCj4gLcKgIG5lZWRzOg0KPiAtwqDCoMKgIGpvYjogYXJtZWwtZGViaWFu
LWNyb3NzLWNvbnRhaW5lcg0KPiAtwqAgdmFyaWFibGVzOg0KPiAtwqDCoMKgIElNQUdFOiBkZWJp
YW4tYXJtZWwtY3Jvc3MNCj4gLQ0KPiDCoGNyb3NzLWFybWVsLXVzZXI6DQo+IMKgwqAgZXh0ZW5k
czogLmNyb3NzX3VzZXJfYnVpbGRfam9iDQo+IMKgwqAgbmVlZHM6DQo+IEBAIC0xNSwxMyArOCw2
IEBAIGNyb3NzLWFybWVsLXVzZXI6DQo+IMKgwqAgdmFyaWFibGVzOg0KPiDCoMKgwqDCoCBJTUFH
RTogZGViaWFuLWFybWVsLWNyb3NzDQo+IMKgDQo+IC1jcm9zcy1hcm1oZi1zeXN0ZW06DQo+IC3C
oCBleHRlbmRzOiAuY3Jvc3Nfc3lzdGVtX2J1aWxkX2pvYg0KPiAtwqAgbmVlZHM6DQo+IC3CoMKg
wqAgam9iOiBhcm1oZi1kZWJpYW4tY3Jvc3MtY29udGFpbmVyDQo+IC3CoCB2YXJpYWJsZXM6DQo+
IC3CoMKgwqAgSU1BR0U6IGRlYmlhbi1hcm1oZi1jcm9zcw0KPiAtDQo+IMKgY3Jvc3MtYXJtaGYt
dXNlcjoNCj4gwqDCoCBleHRlbmRzOiAuY3Jvc3NfdXNlcl9idWlsZF9qb2INCj4gwqDCoCBuZWVk
czoNCg0K


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 22:01:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 22:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505501.779548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYZwZ-000163-Op; Sat, 04 Mar 2023 22:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505501.779548; Sat, 04 Mar 2023 22:01: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 1pYZwZ-00013t-GE; Sat, 04 Mar 2023 22:01:31 +0000
Received: by outflank-mailman (input) for mailman id 505501;
 Fri, 03 Mar 2023 00:54: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=yqmn=63=wdc.com=prvs=4197e97ac=wilfred.mallawa@srs-se1.protection.inumbo.net>)
 id 1pXtgV-0002ez-Mn
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 00:54:07 +0000
Received: from esa6.hgst.iphmx.com (esa6.hgst.iphmx.com [216.71.154.45])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e270ce86-b95d-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 01:54:03 +0100 (CET)
Received: from mail-bn7nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.109])
 by ob1.hgst.iphmx.com with ESMTP; 03 Mar 2023 08:53:57 +0800
Received: from BN6PR04MB0963.namprd04.prod.outlook.com (2603:10b6:405:43::35)
 by BYAPR04MB4934.namprd04.prod.outlook.com (2603:10b6:a03:4f::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Fri, 3 Mar
 2023 00:53:55 +0000
Received: from BN6PR04MB0963.namprd04.prod.outlook.com
 ([fe80::6253:849d:e55e:17bb]) by BN6PR04MB0963.namprd04.prod.outlook.com
 ([fe80::6253:849d:e55e:17bb%7]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 00:53: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: e270ce86-b95d-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com;
  t=1677804843; x=1709340843;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=4eNobiyhoFbqJlsE+MTxvbag/3B2CLFBsVLoCpKvhlg=;
  b=RSdyZ9dbpkfClhSL1XAtU/LKgli3s2EWVVD5y8gwmmuV4s7SFxIYqhby
   WK4lyFDVACCgEwR7DO76E7P0DC8rKy1mQ3sxFVMVYd4ofCOvfqFJzY7WM
   i2jy/CT1JFzrojdjU1a+WNJTV6s+7z9Sa5+/opsdFige+1yrzbf6Qn/kL
   VpZ+XVh1LB5MXhv1XZ07DmpUePn9SYLhJ5SwD+KnUR4HHt+4BAl7upObH
   M9m//7pJQUHRCz+/7dAFWJ20/qbdPOjrCfuW6o1dpTDyRXpMBlauFgW8c
   n5vD3WoqA4pmYVzPwwY8ZH9JSSmQOjRN41LyAr0Vj9xBl3IptzCVREdmD
   w==;
X-IronPort-AV: E=Sophos;i="5.98,229,1673884800"; 
   d="scan'208";a="224680800"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J1palbOdluLYgYzjjZleIwpdCgUElHntRMUaFmubIqgFeQAG9emsXSYJzlhzHqe3tznFefDsVa9tR3awoS4XFAKbRPVALp6YvAnCsHy/IclRHl/k2Jiyubr/b9Pm6+BoaKjSaK5KCXEm7BNiCorRDn52+FDjTaJBuG+PV+Py5FrT5HYdOCOWBcDXT6yNvoGfJzQRVbjwxQOUKUnfRUsS2wV4HUQ2GfwP2RQoa1z1mwVF4BIq4CSI6KsI3GiBpOzsm0qTeLBn+jIaERL22pEoL+ynA49VxjD+ElNpkf+C+XkjIVqdIhEqXAA6SWrIMUPgcYrl2TtEZuonSN/KyDlVAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4eNobiyhoFbqJlsE+MTxvbag/3B2CLFBsVLoCpKvhlg=;
 b=cPPRql7HEE6Q8adTsiuqbY39U2ZCMw8enNneXxcAmS1GgZYseb1jUjiQ++7bypVDZHMXsOqYmcJ/P6EhzuX1tVaWn082QG8BJceI9xIfuuo03XJZb6sdk4FBy3+IYsLImr4hggRJRKDxUxvNeU2fhsQQaDuz3fn5+slcglg6M2JErm209VDb9kOoeHZT2k7rv2kkwtgJqZm/Cie2lDDG6q224GRtp7ZKsdKcN3xsvplTYBKdFPk01dM2wxljlbpweeYsMIum6wIwUwscQlEyX14tlCt5BDzzNjHopQViHLPvcA46zlhAAhQcP9vR05vBGZyY6dYzycYvHjVPZyZuXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=wdc.com; dmarc=pass action=none header.from=wdc.com; dkim=pass
 header.d=wdc.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=sharedspace.onmicrosoft.com; s=selector2-sharedspace-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4eNobiyhoFbqJlsE+MTxvbag/3B2CLFBsVLoCpKvhlg=;
 b=ibC+tIHl6P6oKmQ32ubANqAcONzd9cI6pnUrAIeBlUCVx8Fc7+/GjEmo7QFvqb/nfNQ+piIYcMKY7MPf9ghRSMEPqwoqUuXI7kLOfkMJlPDbyZE1yYUS5eLO8lMrnODNd5sgQf4IARyl15VaqfFVnBjezJW2ZjVIbZvgvQP2IHg=
From: Wilfred Mallawa <wilfred.mallawa@wdc.com>
To: "berrange@redhat.com" <berrange@redhat.com>, "peter.maydell@linaro.org"
	<peter.maydell@linaro.org>, "pbonzini@redhat.com" <pbonzini@redhat.com>,
	"thuth@redhat.com" <thuth@redhat.com>, "qemu-devel@nongnu.org"
	<qemu-devel@nongnu.org>
CC: "alex.bennee@linaro.org" <alex.bennee@linaro.org>, "armbru@redhat.com"
	<armbru@redhat.com>, "qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
	"libvir-list@redhat.com" <libvir-list@redhat.com>, "reinoud@netbsd.org"
	<reinoud@netbsd.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "richard.henderson@linaro.org"
	<richard.henderson@linaro.org>, "mlevitsk@redhat.com" <mlevitsk@redhat.com>
Subject: Re: [PATCH v2 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs
Thread-Topic: [PATCH v2 3/6] gitlab-ci.d/crossbuilds: Drop the i386 jobs
Thread-Index: AQHZTSSyQDAKEMOkqU+AobWcDZi/ka7oOvaA
Date: Fri, 3 Mar 2023 00:53:55 +0000
Message-ID: <0925cfd4b40401ffcc9988219b5945c02170bb13.camel@wdc.com>
References: <20230302163106.465559-1-thuth@redhat.com>
	 <20230302163106.465559-4-thuth@redhat.com>
In-Reply-To: <20230302163106.465559-4-thuth@redhat.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=wdc.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN6PR04MB0963:EE_|BYAPR04MB4934:EE_
x-ms-office365-filtering-correlation-id: 38445a7b-7164-46b8-a83e-08db1b81c3e7
wdcipoutbound: EOP-TRUE
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 ZAdALU5OmDHOmTckS9ubzm1Fy7ZWiI7iYzDzOm5EkJo6JUwMOnKNL+GcPhEh4E/JYhbVCjK1fIOpi69s64X+RMiBmoK7jDnHNFadHPVKZwc6fb5ITHounjRitpY9+ch0JkeKJlv1EY/xWAykTOSoeyt818t9lO65JWmGHsGbhHelbeXLRcFVenb9dVlFR/Caxer2tQlA9fIH5U56pOvBFEJQvcY8MWkqeEB/63ARzmrdRqS7dw3hW1NWHLoix8APoxffmd2YojF1FCf7VCy8lchA2Tis50lSLQ0Ra63tqxhy25sZRb2guUAI5Rb2s2QFPJzSValx7pUogeFVnxNn9z0bkgQVZPc2rqM0xhhkXY59+f8+mbYPs0Y7tGYkq7YYcLepEH59m1wN6yP/wEIWvA3rhhO22aW0ktkLgCdwO3cE6TFgjAb4UmeYn0Se71gSx1cKWKOU/qW1wvvu+P1WjGMxYdOEcXNXQjDpYXURdG8UnVWfx2BI5ckjOJCMOdBmPDz/sFJqWrFdwuD5+fLidlDfGyEsSxLrIYCNYvKP7yBqsgCRecuNItw/rj+6Pc0UHJ9up0rAvFdckPnG3A5A8izm3Te/vz7M0BklxvT8da7A9rr2ajU1SOV/Yp97zjJpVFEhBF3mA8YSc8DM7O3OjXeBaDGRlCtTMzJuIXJ7X7jZFvkUKTWDsVjF3jsYy6ufpYm2UgVUKI0jnYGKSpka6A==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR04MB0963.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(376002)(136003)(346002)(366004)(396003)(451199018)(4326008)(86362001)(8936002)(36756003)(66946007)(41300700001)(66476007)(64756008)(7416002)(8676002)(66556008)(66446008)(2906002)(5660300002)(44832011)(82960400001)(38070700005)(122000001)(38100700002)(71200400001)(91956017)(478600001)(54906003)(6486002)(316002)(2616005)(76116006)(6512007)(110136005)(83380400001)(26005)(6506007)(186003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?aTE4TzZ3NW1HUExEelQweFV3VnhhOXQwZEk1QmM4S3RoYm0xVm5NWWJ1WFpv?=
 =?utf-8?B?QjNaaHdTK0tPTkhkelFTcmN1WWplWDJ0SGVMZU40V3pQdHcxSlgreGd6RUdo?=
 =?utf-8?B?ektVT1NlbnY3VEp2WjRLN2JtWWJNRmlNODNLQW5YbXdKWUhMWGRxTm5SZEYw?=
 =?utf-8?B?eTQzWEt0dERZNWRnV3QzY3NMWlRzVnBWaVhWb3NjbWFmR1kwbmJyQy8vb1ho?=
 =?utf-8?B?eCtOY3ZaUHptSElZTE5aSjByMTJESFNKZWg3cTRHVEVlUm1jb05BTTFWZ05m?=
 =?utf-8?B?ckRuZzNabTVNUVY4SmxJcDRIR2UrMVRPRHVwNkk3WGV4UGdxZG80bTRPaW5M?=
 =?utf-8?B?T24zekUvdFhiZEpyeEkvVUhueVoyYkRWK0NaS0VhWXZJQ1F0bnkzQmtMZDlD?=
 =?utf-8?B?WnFOenZJSC9Ub0JHaVdqdzFGNTdDWVFaWmppWWhHRElydk14KzhiNElUZ1dI?=
 =?utf-8?B?Zk4xZ0ZQY2htOXd5a2V2dFptVkhZdHdGWlhOWkZxamdneGxjaFlYTVVPWXM1?=
 =?utf-8?B?RmhqYzJSai82VFJaWWdNSk52azNjOHN3R3RBeWg2RU9MYjJmYnpPc3kxanIz?=
 =?utf-8?B?MlQ4NmJaWFRzVi8xUzVFS1pxb2pXUlRtYVhXSnBtSXlkRGlIM3pWaFBoMVND?=
 =?utf-8?B?bnpTZy82M2JaZjZobzhkeWdlWEluT3hIZEU3ank4SmRNS2hPT0t0QnpiNFFJ?=
 =?utf-8?B?RGhuZnBHYURRTnBYcDJRWTFaWU81ajczOThaaDJ1N2twOVZTanFUcFVlMWo3?=
 =?utf-8?B?YW9rRTlJTFg5TTJhZHRwYkwrbElkMHVkRVNVdFVkeTFZR1Arb0JiQXE3UW5q?=
 =?utf-8?B?aUtmY0JwdkV4V3BVTEdEd2hnQkdOc0JCdWNGQWIySFk5Sjl3SlhLN3FMMlBp?=
 =?utf-8?B?eDJCZkJWNjJsdTdLTHlyKzdZOWg3eWI5NUpFTVorc0U3b0JxaFNockRRdVJH?=
 =?utf-8?B?RWdtU2FYWHMyR2tMUmIrV2NWOERYeEh6bzg0bjFLRkx3ZW5jeFBxdGd0SU41?=
 =?utf-8?B?bzRsVGlmdm1LT0puMlZIUnh0ZFlwN29FOG1ZR21iK2ZhbGdsRGk0RUJjT1pB?=
 =?utf-8?B?cW9xcTlJRFU1dUs5NnhSdndhYVRjbC80Vk8rNVN1bEUzdld2YTNXV3R1anpM?=
 =?utf-8?B?Ny81OEtXdEFQY3BONXo2cVgyRWxld1Q1L2dhU1NKMzNxb21TNllYYTdDT3lR?=
 =?utf-8?B?RzNqbkJnSTdXYldtdlZVWkJEc05BZlM2YVVvUzJjWGo0Vkl0ZTU1cUJ2Z240?=
 =?utf-8?B?QWlYbXdYNyt6S3pOeEtoNVdVclJ2WDZNemdFRWdSUldzK2xZY1hrWGxRTy9K?=
 =?utf-8?B?emxjY3V0Z2VPU2l1SEowbFgvSWNSRWlmRU9DblpubnBKR0N5OGFHTVlmbDJB?=
 =?utf-8?B?eUpLNXRjOWt4SURCeFAwbm1DNHp3SUloR0hnMVNOdmlVTG9pZEovQkhueWVZ?=
 =?utf-8?B?ZFd5eDAzS1BCWUpibDlCWGVSN3lIWTZmZnJjdzVISTlEWHE1MzFGMGx4amFI?=
 =?utf-8?B?RjFnckxyaEF6ZVEreDdsbGN3SjJFSnJMdjdyQUloamNacnJtdVlxcjBuMVBL?=
 =?utf-8?B?VGZESzNPV0Rhdm9QVGRwNzJINGNUVlJ3YldPcE1xWGxUdkxDYlBIaUhydnZ6?=
 =?utf-8?B?KzJOT0xidG81RGpONjFmS2cwdDdRK0ZSbkhmS0NpajBKc2V1cUdDV1ZQaVVO?=
 =?utf-8?B?dnZxMjFseEtwR3lDdHdnUGpqSHNIV2p5U2x4eGljWTlKSlcrK0krMjlhYmR4?=
 =?utf-8?B?UzduMzg4dXUrQnBGQ3VPaVZHVGNNaEN6T2FlSWpEOVNGb0cwQVRDMGhtVnkz?=
 =?utf-8?B?MEFsMk5NMzB5dmZ1VndrT2ZCd3RQR3lBdmZyODA5aTczelZVbWQxUWpiOUFB?=
 =?utf-8?B?MFdQb012c1BSU2hwRmk4L0ZTVzZOYi82ZEtweW9pd2VnMUNOQ0tLYkM1Q3RT?=
 =?utf-8?B?alZOMDJkd0EvNjQzUE14WEJiQnlRYTZYYXFqTGFBZGRoRU5waWxvRlY1b1dp?=
 =?utf-8?B?L0dzbDN2THl4cm9sNEhjcGsrVWN6cm4ydGhXaEZhTEdpeXpSVlVaZjk3Yndj?=
 =?utf-8?B?eWNkdFYwSVZEcE9uK2xybTFRS1lVYTROMXRFM1RKeEFJQk9Zc3B6cmdZb0Qv?=
 =?utf-8?B?OGVvL3psUkhtQlpxYnc3eEFVTzJTSXNXTWk1aWxRUE9FM1I5dmErazY0bnVr?=
 =?utf-8?B?NXc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <A458CD3A2FA3114FB0689F5B5B8382BB@namprd04.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	gtIckpHT3mkLoYgwtjrvsSwnUo0iwcApF1JlY4Cy9570MJF5p4Y2uEK7x8W/rXfCMaAGEQZhc9m7w1tv+yaidN8S4a/zWKx6wVeqA+ZfWW+GiNqBQROnA2SMPqyv4yCZzUKjVsM4XP7doXOTuqoD/Btpf4cWHSg5G+Z0S/l2AFMEMQI31qnG35xRnJ9Zyl+oLXsxNI9uirertjXRmQsXP9T1Pt/1T+Oyh7ubApkDMGSrh/t5PxGYKEj4cXT1U1n1eOEQP2ClNsQw//Luu1sLsGZZHa9FHW14UBkA2ZYKGN9EeRYAH++V/gfAnmDRkuvDh5Z2bxblPhoJSpRU6zHOFKqnduaZYh/AWyZEBmb1ReQNwAmGhWZKZ0tUtaAPEuLP4J1C9+rqMe68g4bCf9CJDDPpWUWDaTaXRtUFbxC9Z01z3ynZyBuIZ1BTaLGpB8rtXo5ZrIlNFUxGOrBcwnmq+zB+1hbfhj5Z7jvBNATff3CAhM+FVNaf7DJ0/K8G2d18JeYs6y1Nom3tCsEX7uNFb/76JlSPN7SpSJOTGhqYw9HcQGqs6mCv1P93TFS66GrU7N0VAysqYV9hsGPHBFs29jti5L3hSIxuBIugJrdgNAnpwxhgM7+hSUpIqMsJ4XLxGAwkCdjetkfFDOhFHD5ka/zxfiTOrmlZEMgPKsN2LWV/vF7rnc2HgxYHc75994MZvBmuQ5F1ZOARd/64ubXgRoets6Bi5FlFkkFXotwYhi1eJ5P9HR0JlyF+eL9k8oTDn7ajPpw7t16JBaeWP2NaJfrfG2eis2lHpFhP8q+p0q9/ykMfCPyx5LdnakCvUXJkAJ7kk5g+a145fnFS0Ybv+vcQHHAwhcqVqCUR8D9V6nmuu4Zl2dGPn39kKcHo5U4EcBojUIIGkxMocZHPSWS1MhLTxBY5UZARV1IO4fMWax0=
X-OriginatorOrg: wdc.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN6PR04MB0963.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 38445a7b-7164-46b8-a83e-08db1b81c3e7
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2023 00:53:55.4371
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 69H328rLx+zwPUg/A9AmTPg4dW8SX3KAa6NoHKlXpKmQQaVP47KmeawwfwWTUtXLKjVUyzUkIyjnEdrMlZhh0Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB4934

T24gVGh1LCAyMDIzLTAzLTAyIGF0IDE3OjMxICswMTAwLCBUaG9tYXMgSHV0aCB3cm90ZToNCj4g
SGFyZGx5IGFueWJvZHkgc3RpbGwgdXNlcyAzMi1iaXQgeDg2IGVudmlyb25tZW50cyBmb3IgcnVu
bmluZyBRRU1VLA0KPiBzbyBsZXQncyBzdG9wIHdhc3Rpbmcgb3VyIHNjYXJjZSBDSSBtaW51dGVz
IHdpdGggdGhlc2Ugam9icy4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFRob21hcyBIdXRoIDx0aHV0
aEByZWRoYXQuY29tPg0KPiAtLS0NCj4gwqAuZ2l0bGFiLWNpLmQvY3Jvc3NidWlsZHMueW1sIHwg
MTYgLS0tLS0tLS0tLS0tLS0tLQ0KPiDCoDEgZmlsZSBjaGFuZ2VkLCAxNiBkZWxldGlvbnMoLSkN
ClJldmlld2VkLWJ5OiBXaWxmcmVkIE1hbGxhd2EgPHdpbGZyZWQubWFsbGF3YUB3ZGMuY29tPg0K
PiANCj4gZGlmZiAtLWdpdCBhLy5naXRsYWItY2kuZC9jcm9zc2J1aWxkcy55bWwgYi8uZ2l0bGFi
LQ0KPiBjaS5kL2Nyb3NzYnVpbGRzLnltbA0KPiBpbmRleCAxMDE0MTYwODBjLi4zY2U1MWFkZjc3
IDEwMDY0NA0KPiAtLS0gYS8uZ2l0bGFiLWNpLmQvY3Jvc3NidWlsZHMueW1sDQo+ICsrKyBiLy5n
aXRsYWItY2kuZC9jcm9zc2J1aWxkcy55bWwNCj4gQEAgLTQzLDIyICs0Myw2IEBAIGNyb3NzLWFy
bTY0LXVzZXI6DQo+IMKgwqAgdmFyaWFibGVzOg0KPiDCoMKgwqDCoCBJTUFHRTogZGViaWFuLWFy
bTY0LWNyb3NzDQo+IMKgDQo+IC1jcm9zcy1pMzg2LXN5c3RlbToNCj4gLcKgIGV4dGVuZHM6IC5j
cm9zc19zeXN0ZW1fYnVpbGRfam9iDQo+IC3CoCBuZWVkczoNCj4gLcKgwqDCoCBqb2I6IGkzODYt
ZmVkb3JhLWNyb3NzLWNvbnRhaW5lcg0KPiAtwqAgdmFyaWFibGVzOg0KPiAtwqDCoMKgIElNQUdF
OiBmZWRvcmEtaTM4Ni1jcm9zcw0KPiAtwqDCoMKgIE1BS0VfQ0hFQ0tfQVJHUzogY2hlY2stcXRl
c3QNCj4gLQ0KPiAtY3Jvc3MtaTM4Ni11c2VyOg0KPiAtwqAgZXh0ZW5kczogLmNyb3NzX3VzZXJf
YnVpbGRfam9iDQo+IC3CoCBuZWVkczoNCj4gLcKgwqDCoCBqb2I6IGkzODYtZmVkb3JhLWNyb3Nz
LWNvbnRhaW5lcg0KPiAtwqAgdmFyaWFibGVzOg0KPiAtwqDCoMKgIElNQUdFOiBmZWRvcmEtaTM4
Ni1jcm9zcw0KPiAtwqDCoMKgIE1BS0VfQ0hFQ0tfQVJHUzogY2hlY2sNCj4gLQ0KPiDCoGNyb3Nz
LWkzODYtdGNpOg0KPiDCoMKgIGV4dGVuZHM6IC5jcm9zc19hY2NlbF9idWlsZF9qb2INCj4gwqDC
oCB0aW1lb3V0OiA2MG0NCg0K


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 22:01:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 22:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505878.779587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYZwc-0001yT-13; Sat, 04 Mar 2023 22:01:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505878.779587; Sat, 04 Mar 2023 22:01: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 1pYZwb-0001ur-NG; Sat, 04 Mar 2023 22:01:33 +0000
Received: by outflank-mailman (input) for mailman id 505878;
 Fri, 03 Mar 2023 11:09: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=cEYq=63=zedat.fu-berlin.de=glaubitz@srs-se1.protection.inumbo.net>)
 id 1pY3IH-00075W-80
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 11:09:45 +0000
Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de
 [130.133.4.66]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5dbc52c-b9b3-11ed-a550-8520e6686977;
 Fri, 03 Mar 2023 12:09:42 +0100 (CET)
Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69])
 by outpost.zedat.fu-berlin.de (Exim 4.95) with esmtps (TLS1.3)
 tls TLS_AES_256_GCM_SHA384
 (envelope-from <glaubitz@zedat.fu-berlin.de>)
 id 1pY3Hv-003tSJ-6g; Fri, 03 Mar 2023 12:09:23 +0100
Received: from p57bd9bc2.dip0.t-ipconnect.de ([87.189.155.194]
 helo=[192.168.178.81]) by inpost2.zedat.fu-berlin.de (Exim 4.95)
 with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384
 (envelope-from <glaubitz@physik.fu-berlin.de>)
 id 1pY3Hu-0022n3-VM; Fri, 03 Mar 2023 12:09: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: e5dbc52c-b9b3-11ed-a550-8520e6686977
Message-ID: <89fd1c916b6c8094ea1a7a52396b3f91025c75c1.camel@physik.fu-berlin.de>
Subject: Re: [PATCH v2 0/6] Deprecate support for 32-bit x86 and arm hosts
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
To: Thomas Huth <thuth@redhat.com>, Philippe
 =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>, Daniel
 Berrange <berrange@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?=
 <alex.bennee@linaro.org>, qemu-arm@nongnu.org, Maxim Levitsky
 <mlevitsk@redhat.com>, libvir-list@redhat.com, Richard Henderson
 <richard.henderson@linaro.org>, xen-devel@lists.xenproject.org, Reinoud
 Zandijk <reinoud@netbsd.org>, Michael Tokarev <mjt@tls.msk.ru>, Helge
 Deller <deller@gmx.de>
Date: Fri, 03 Mar 2023 12:09:21 +0100
In-Reply-To: <6c1f0d05-924e-854e-0175-5e345945e086@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
	 <4bed38c3-ab4f-cd32-05a4-afa090ad8b9a@linaro.org>
	 <6c1f0d05-924e-854e-0175-5e345945e086@redhat.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 
MIME-Version: 1.0
X-Original-Sender: glaubitz@physik.fu-berlin.de
X-Originating-IP: 87.189.155.194
X-ZEDAT-Hint: PO

Hello!

On Fri, 2023-03-03 at 10:48 +0100, Thomas Huth wrote:
> x86 =3D=3D> deprecate both, user and system emulation support on
>          32-bit hosts
> arm =3D=3D> deprecate only system emulation on 32-bit hosts.

I would recommend against dropping support for 32-bit hosts for qemu-user
as there are some cases where the emulation of 32-bit user code on 64-bit
hosts does not work properly [1].

Adrian

> [1] https://sourceware.org/bugzilla/show_bug.cgi?id=3D23960

--=20
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 22:01:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 22:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505503.779557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYZwa-0001J0-7J; Sat, 04 Mar 2023 22:01:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505503.779557; Sat, 04 Mar 2023 22:01:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYZwZ-0001DB-UR; Sat, 04 Mar 2023 22:01:31 +0000
Received: by outflank-mailman (input) for mailman id 505503;
 Fri, 03 Mar 2023 00:55:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yqmn=63=wdc.com=prvs=4197e97ac=wilfred.mallawa@srs-se1.protection.inumbo.net>)
 id 1pXthx-0002i8-Qk
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 00:55:37 +0000
Received: from esa3.hgst.iphmx.com (esa3.hgst.iphmx.com [216.71.153.141])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ae54e92-b95e-11ed-96ad-2f268f93b82a;
 Fri, 03 Mar 2023 01:55:36 +0100 (CET)
Received: from mail-dm3nam02lp2049.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.49])
 by ob1.hgst.iphmx.com with ESMTP; 03 Mar 2023 08:55:32 +0800
Received: from BN6PR04MB0963.namprd04.prod.outlook.com (2603:10b6:405:43::35)
 by BYAPR04MB4934.namprd04.prod.outlook.com (2603:10b6:a03:4f::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Fri, 3 Mar
 2023 00:55:30 +0000
Received: from BN6PR04MB0963.namprd04.prod.outlook.com
 ([fe80::6253:849d:e55e:17bb]) by BN6PR04MB0963.namprd04.prod.outlook.com
 ([fe80::6253:849d:e55e:17bb%7]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 00:55: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: 1ae54e92-b95e-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com;
  t=1677804936; x=1709340936;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=bW/uTGhgun7/SZdkL38wgpwO6Km0ylvPKJo0NekqdL8=;
  b=JUfKN0lx5kftA4DkvtljQryXV0jhmhSb1QExXxY6KP2p+uk39eV+IttH
   Aux/LYZ8tcQQruXfpcHX4SLxL6Uh0sfzDyBnl8LI9B1OgVkWtl1P9lF6u
   LTvaUu6WuODdNAdglL9S/R/hQtnbx4iNkKQnplP/MJIUazpcj9k/Xe8yh
   22lRfjcW/SwokUSNRDgSctGGsBARrt3VJ53MKJGN44u9bbLZym0y9Lt0s
   czIUo6H+4ZieZhBk0yV0QcpBH0/dzCReAE6fEm+uYtUITb8C8YFBvhqXd
   m8nkRq6u9hkZI/zAYldVk4GY0QZ9mT6+y6W7YwoTC3t5F9pgRrlPHQIFr
   Q==;
X-IronPort-AV: E=Sophos;i="5.98,229,1673884800"; 
   d="scan'208";a="229646358"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AN5LaXKzkh59xyxl7LPrYrobXOCxY3XwJAGZbLq7gQ9gJwK6Ch+ibBb04CcS+OZYOY9ln92Ien+iOJocQZvDFiNAZ4fW8Pt3jesmRSwkwPbLpFFXc9JbNlW+MdPuG6w8tfr0uzFX7eoa4ksEy+OpuEp7ySQQMcewbsQ4RaBNx5AklOl3sRsF0ckjuAAqc6d3jVqaKV+kCSW7iFQMH3qLVESSDhjPOXYU/LzAJ4VMPhsOayFZnfAkqpMpE2p4RRdhISYm6jkMUMkBfv3dnbb03ad3R7BcCZ7zgbZzVhdmSBhXWDUUs2J0XXeVLqlDMcOzsx5zfuTepX1cjOOmdud7+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=bW/uTGhgun7/SZdkL38wgpwO6Km0ylvPKJo0NekqdL8=;
 b=FHeHd4QirfkiFMxtFc/XLqMM33GZaLle2z+m7JK1tVuE8emgEeV8GWom/nhqtiRTrPWB/49DNrN/Ci1wb3Ve2gK0+IZFmixB/CFsdkIB2DdY14+kU/DjZSNZwnfxaW46x8qGqX5ugfOinYh6vlQHYhYVdsDi+cN44cnpx246UqdmLURgyJ5Fr6NduhAD1LmuMboColSWfwY3IkXEgGeQbEv0rJUT4paM5Al606L6LGKMBCeq8HCX9Lw/jSyxPM4n4kWCT4pe+JIY3AwVURpWKy4hszosbsMMFdik0iU6+5znCBdmj/dttZ2P448F0BiVfU0cedjyZD6eaJ/3Yy2PsA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=wdc.com; dmarc=pass action=none header.from=wdc.com; dkim=pass
 header.d=wdc.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=sharedspace.onmicrosoft.com; s=selector2-sharedspace-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bW/uTGhgun7/SZdkL38wgpwO6Km0ylvPKJo0NekqdL8=;
 b=eyy9A8G7B6h3eKe7DzCfl3MI2SDX6DYtr0bR5KS8a8zZUXPmwcSnDymiUgtw4l4bfxYrapVKPSNksENEx2FkzwXzZXpeUWI9OVTzLQuthuDQJ09hNfxYA4W79oFj8PJYQWF9vGyeHKdpO5SStqqjemrWF0LcXZyZda3XcUqjeVE=
From: Wilfred Mallawa <wilfred.mallawa@wdc.com>
To: "berrange@redhat.com" <berrange@redhat.com>, "peter.maydell@linaro.org"
	<peter.maydell@linaro.org>, "pbonzini@redhat.com" <pbonzini@redhat.com>,
	"thuth@redhat.com" <thuth@redhat.com>, "qemu-devel@nongnu.org"
	<qemu-devel@nongnu.org>
CC: "alex.bennee@linaro.org" <alex.bennee@linaro.org>, "armbru@redhat.com"
	<armbru@redhat.com>, "qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
	"libvir-list@redhat.com" <libvir-list@redhat.com>, "reinoud@netbsd.org"
	<reinoud@netbsd.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "richard.henderson@linaro.org"
	<richard.henderson@linaro.org>, "mlevitsk@redhat.com" <mlevitsk@redhat.com>
Subject: Re: [PATCH v2 4/6] docs/about/deprecated: Deprecate the
 qemu-system-arm binary
Thread-Topic: [PATCH v2 4/6] docs/about/deprecated: Deprecate the
 qemu-system-arm binary
Thread-Index: AQHZTSSxfDGpf+NgQE2OVwO1ea+TKq7oO2mA
Date: Fri, 3 Mar 2023 00:55:30 +0000
Message-ID: <489debf829d7d4e563b3e6668d1b40bfc0332d2e.camel@wdc.com>
References: <20230302163106.465559-1-thuth@redhat.com>
	 <20230302163106.465559-5-thuth@redhat.com>
In-Reply-To: <20230302163106.465559-5-thuth@redhat.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=wdc.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN6PR04MB0963:EE_|BYAPR04MB4934:EE_
x-ms-office365-filtering-correlation-id: 9f90f66c-6aad-4286-9d49-08db1b81fc94
wdcipoutbound: EOP-TRUE
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 V8fwbgs7TgBgZASnW+MazunHklWb4um8XHEKMkt+id5icRF7LJAbcrijd8tpVI8RRK3lw4gv/L1n2O0DTtErcljNb3irE+vFPM8/oOsNuLF8N+ApewTjjKe8g6g/Niom9ta9UHJ/jgr2deLS5yGqlOjmiAsPnZ1AEXLFjIsAeX8wDR9YJjm61m5wX1toA0FjhGix7daNPkr2KOx0es5tPxepA2k/SdPiymbgg2zYWh78G48SC2AmHM6Rppnxub37WBmNqCxX8DPZ2Te3Vv2tZ1D9YNHksuKwsPLjG5qJiYcl+dK1A+zWlnB2fw+32tFVRDBDROEN0tCq5uldNFEwrMOEj/pJgP5ZN4Bi/gNpLa932MWzLd1mKzOdJVOpRqI1VOgN5LvGdo4w1svLlw3pG8td663DLoHGBR2NYDEIG2HMPGooHBAlv9IUSwTppGfMu6idMlX6vldpwgBHz/iCkVBGBjCT8iRra4tWt6IF3snssA0BqRK1qFnEAsJHsZBTHIMqL8XKe4eO6wBuCq845cUeUFeVF783RvdmQooHR/UeQVh/cBU0lPdWhyd+8nBySTkp2blkF9Hco6FQ87bg4E5hMoiLLxCDfQWOhH5CdGbaNtO8+TZtHJEF+f5zRLDRDTXi7MjG0sdtcOZ8OFClA9V5sjVpaDBar7t36zB9VbRYGtoGWoOL5a8rh7NC5IXf
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR04MB0963.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(376002)(136003)(346002)(366004)(396003)(451199018)(4326008)(86362001)(8936002)(36756003)(66946007)(41300700001)(66476007)(64756008)(7416002)(8676002)(66556008)(66446008)(2906002)(5660300002)(44832011)(82960400001)(38070700005)(122000001)(38100700002)(71200400001)(91956017)(966005)(478600001)(54906003)(6486002)(316002)(2616005)(76116006)(6512007)(110136005)(26005)(6506007)(186003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?R0RQNm5vWmZ6NTdmSGJwMStvdWNQcktEVC8yajF5NkY4ekwybWg4VWVDak1H?=
 =?utf-8?B?cW5lcUcxK1ZYQlh1bDlsUXZrUXJNalVxbyszTTJFSSs5NTlLWnZhOFVzaXU1?=
 =?utf-8?B?S3puQWZGUVh2dFFtOEtrTmZHQ0xZOXFDVU1VOUJoRTd2cHYxZWMzbTdEU2lr?=
 =?utf-8?B?Nm9IOHBlT0xMYVNNZk1TMFhlYkNmVUY3Tks0eHIybldGcG1aSUFOdkViVHY0?=
 =?utf-8?B?WDV6VUdDNmRpTjVtalFVZTlQSmFicXBEcWhyMzZIRkh4citYaEhmaE5mYkVy?=
 =?utf-8?B?Y3FTWURKMnFZQkU4MUorT1BGa21zTEk2M2l0M3R3WGtRYm1MTDBkMGtnQmsz?=
 =?utf-8?B?Zy9Bem5EWjdsam9NYjBRVktENkt4eHJndnVTNmJJRGlOODBWOXFaRlgwcit6?=
 =?utf-8?B?S0laM3ZtOSt3T3BRdTErTDBvajBpQ2RITklaR05SVDdtUVdENVY3K3RxVitH?=
 =?utf-8?B?VDBFZmQvTmxLSFJGU0pteXVrSHlmS2lKRkozWncybGxEak5SU25zQXhtNmhJ?=
 =?utf-8?B?d3FPdFBXUWdQRlA2TFArSVFxSWNGSjQ3NTY1TER6bEp1c2FsTCt3SHZzZ3V5?=
 =?utf-8?B?MkJvSlV3bURINE4zZ1gyeWoyUkRjNXVsS3d3MUlhMFpFTExYTHN3Yjc2QUlM?=
 =?utf-8?B?V3JtNGozeXVNOHVFZG1ZVlhBTjFmQ3orQnoxbG5HRU55cXVMeVNjUTVRa08z?=
 =?utf-8?B?SlVPUjZRa1ZNdGNiclRCK2R3UndQYVIrdng2cWxtQ3BHdXprTzFmWEx6anlW?=
 =?utf-8?B?d2pENDN0Y2g4a3lMQXBWaU5PWUJqN2N1ZUh1aHM3T05rWTFvRDNLd25veG8y?=
 =?utf-8?B?WUl6eFl1dmZINVd3UlZjV3NKSjY0VFhuMlROQnlLcVBxZGVzMGFIa25qNjJQ?=
 =?utf-8?B?RDZBdmQ2MGx6bGM3REl0b20rUGhEaTFNRHg3Q1VYRnpjYXlyQWEzSklLVWdi?=
 =?utf-8?B?R2x4bVZzcm8vcFVrVGpDK1JxZHFjSFdGTXB0VG9oak9rb05GQ0lMd3RHMjlU?=
 =?utf-8?B?dy9pUkppemt0SVpiTXFFazZXSHppR2x6THF6QVFDZUZJT0NuSGxWVWMzdEhO?=
 =?utf-8?B?NTQzR3BkV2ptT1pSL3p5d1MwZjU2WkpjVk9MT1RuZTUzbk1lKzVTY0pWcGFy?=
 =?utf-8?B?RnFRTkd3YWtDVEUvREhlbmZsNmxvMG0zcXlqUWl1Rzl5MmhVK0x5THB6bm1u?=
 =?utf-8?B?dzY3TFpXQ1BZUFptc2RuK25sTFpuZ01QT1ZOSWt1MjhCZFQ5ZVN0azJqL2x3?=
 =?utf-8?B?bjFUZjkzNVJtajQ1QlBRcGFUbWFUcUFjZkd5aDN0ZjdBSGxLRzgycHVSSFF1?=
 =?utf-8?B?QmJNNlJWOTVOcjlVanFBU3ZyNXZ5cHJycWZ5S3lja2UvUDBPS0JtRnVZbUZB?=
 =?utf-8?B?M1FGdzM1VTMzS2s4ZklUdEF3aEhVVldDTlVOK1FTWCt2UWU4L21maDR5VFpN?=
 =?utf-8?B?aTNQblBUVkgrcVJEZFdVTW5pMzM4Q0NhRGJPeC90TDI1U05yc1BWWWhmYmxr?=
 =?utf-8?B?MDdtQ2c1NkxuMjI1bW91NkZaMW5ZZlBJUGszRmo5TTZuaTBjbXBYZWY1ODZn?=
 =?utf-8?B?U1AwMDUxUWlVK0xIUTFOSTBmQmh6SjRFQ2IxNGk4V0lqY2RxN2ZSVXU5ZThi?=
 =?utf-8?B?UzRMTVZJbEY3UHlKUHB5Nlk4SlJNSTU2Y2szRThFVEFYZUlVNW1rRytXZFo1?=
 =?utf-8?B?d3d4OHhjeE1PZnp6Tnd1SjFtUEhGZC9zMC96RHV4bDF0RVZ0T21ZZlo5NmtD?=
 =?utf-8?B?VWdzWWxYK3o3QUMxUWlwVXVvWFRIZVREcFRhbDl4SW1jMStyQm9rQW4rbUJG?=
 =?utf-8?B?S0Q5bm03R2U1MVBCSWF6QlhHeC9FWVB3SDEwTkVLMjl2VjgzRkxGb3BkTERJ?=
 =?utf-8?B?U2JPZVdXUGIyeGZ5b0R2R1k2TWd2NmJma2lFYjZMUDdEeUFaNitTSGZ5bTVB?=
 =?utf-8?B?ejcyb0tGOVBPczdhK24xUVpOaVhldlZtbkFldEN6TlBPVHBkOFhWaHdoYktD?=
 =?utf-8?B?djQxWmJLaEg4UGl4S1FOTVEvV1hJNGdualltRFdlazFRWVVQT2FENDNXL1JL?=
 =?utf-8?B?bGkxU0dnQkZ6UFJ1bDVrdHY2YUh3c2hMU2xZR3huZW9YdXB2WlcyaVpIb2xt?=
 =?utf-8?B?dFNHMmNOQmhHSVZWb0ZFOTBaUGM3UXRoL3dUUWJMaVNUN0FuRDZRS1pCSHhI?=
 =?utf-8?B?MFE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <505B39B60C353D45A69E2BB72CA1718A@namprd04.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	ecUfadddHZ9gmNcEW05BYVk3C7mh6qudML5EWD7J1ctpE4j3nTEvl6ClGdyIE+YZcsBF7+IdtsebGjXyYDWdV/f28YJf3HrafNUU3xe+MNeYmPfKZlIJLa0n4QRPbzsqU2Ll+3NeuTdO5TpwXY/S103MfX5jcF9uZdoSRnRmswyHtcEd9iTPSEf+V6lQ5nhUqR4kKNUPN+jz3Hl0coBegUbluKSptSEdFrST87Y6aeU1bIWVnXpmChR4Z7PB4WUk/8DsbWZAsY+3zPzf7QwHBgzNb338d1GTFInPluafFVsST57tbrUKUz/hNxS4CbGbSK1Xjo6rBCe91mx5SSfiWfZ+0rNLyVLMZPImikWab01QpH9bETJeVJJ5WJFPbx12BDpV5WPGWu3pmwDJRyxSbZiP+hNyNrduSdcxMZB4e24qW9oASMY13PWodoWSd9R/lzKMP1WXEM0S0AHEwsRoRCUKCEgTjMuJAmWKAz9xkz3aHajM4do4dchidwezrOB0SJWSZmSzkbzINo1uHofO1ND08RizFSlr9lMRH7kcIMqSz9YiB9F12OCIBRdGUyjm3LPpufFdqGQvp7OgHRvmS+RBo2vdJxe/KLfBqz+DhS+32NHwv4+Eu5ezJd3Mc+ji4tApqIML+oHUA0jOAi0pCCzVNIMysdRFmQJ4TMr5bJMRRDwzmzW8v/92uXtjAnHovEtTt7bjgS9WRmL2W4nW4dMeewwiTAwiFD36+h3BiGLP1ZdYre2xh3HoBbfbSzC90T+spL4rs8G5eq9beovmwLFLPw+05xkWTXbpj9CFPS0s7ZDQhTMpcfseN+HMlCiRuF53949bo7Fc9lUlcSSq7nktMwS7fzj/9IdDev7vb6ClwSx6qUMaz87TzrjLYfI7RZejGDteHcPi4cxPIr/0HhZAxaRuCRbdVvqwIC+RGMo=
X-OriginatorOrg: wdc.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN6PR04MB0963.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f90f66c-6aad-4286-9d49-08db1b81fc94
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2023 00:55:30.4917
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: kNfNKAgQX112mUXMCETyOF2tjkPjiVYbf+pIPphPrNSMTa3UZmTOfmNtuTGr4MyNPs8JLKGwbT9QVdXekmtiIw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB4934

T24gVGh1LCAyMDIzLTAzLTAyIGF0IDE3OjMxICswMTAwLCBUaG9tYXMgSHV0aCB3cm90ZToNCj4g
cWVtdS1zeXN0ZW0tYWFyY2g2NCBpcyBhIHByb3BlciBzdXBlcnNldCBvZiBxZW11LXN5c3RlbS1h
cm0sDQo+IGFuZCB0aGUgbGF0dGVyIHdhcyBtYWlubHkgc3RpbGwgcmVxdWlyZWQgZm9yIDMyLWJp
dCBLVk0gc3VwcG9ydC4NCj4gQnV0IHRoaXMgMzItYml0IEtWTSBhcm0gc3VwcG9ydCBoYXMgYmVl
biBkcm9wcGVkIGluIHRoZSBMaW51eA0KPiBrZXJuZWwgYSBjb3VwbGUgb2YgeWVhcnMgYWdvIGFs
cmVhZHksIHNvIHdlIGRvbid0IHJlYWxseSBuZWVkDQo+IHFlbXUtc3lzdGVtLWFybSBhbnltb3Jl
LCB0aHVzIGRlcHJlY2F0ZWQgaXQgbm93Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTogVGhvbWFzIEh1
dGggPHRodXRoQHJlZGhhdC5jb20+DQo+IC0tLQ0KPiDCoGRvY3MvYWJvdXQvZGVwcmVjYXRlZC5y
c3QgfCAxMCArKysrKysrKysrDQo+IMKgMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKykN
ClJldmlld2VkLWJ5OiBXaWxmcmVkIE1hbGxhd2EgPHdpbGZyZWQubWFsbGF3YUB3ZGMuY29tPg0K
PiANCj4gZGlmZiAtLWdpdCBhL2RvY3MvYWJvdXQvZGVwcmVjYXRlZC5yc3QgYi9kb2NzL2Fib3V0
L2RlcHJlY2F0ZWQucnN0DQo+IGluZGV4IGEzMGFhOGRmZGYuLjIxY2U3MGI1YzkgMTAwNjQ0DQo+
IC0tLSBhL2RvY3MvYWJvdXQvZGVwcmVjYXRlZC5yc3QNCj4gKysrIGIvZG9jcy9hYm91dC9kZXBy
ZWNhdGVkLnJzdA0KPiBAQCAtNDUsNiArNDUsMTYgQEAgcnVuIDMyLWJpdCBndWVzdHMgYnkgc2Vs
ZWN0aW5nIGEgMzItYml0IENQVSBtb2RlbCwNCj4gaW5jbHVkaW5nIEtWTSBzdXBwb3J0DQo+IMKg
b24geDg2XzY0IGhvc3RzLiBUaHVzIHVzZXJzIGFyZSByZWNvbW1lbmRlZCB0byByZWNvbmZpZ3Vy
ZSB0aGVpcg0KPiBzeXN0ZW1zDQo+IMKgdG8gdXNlIHRoZSBgYHFlbXUtc3lzdGVtLXg4Nl82NGBg
IGJpbmFyeSBpbnN0ZWFkLg0KPiDCoA0KPiArYGBxZW11LXN5c3RlbS1hcm1gYCBiaW5hcnkgKHNp
bmNlIDguMCkNCj4gKycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnDQo+ICsN
Cj4gK2BgcWVtdS1zeXN0ZW0tYWFyY2g2NGBgIGlzIGEgcHJvcGVyIHN1cGVyc2V0IG9mIGBgcWVt
dS1zeXN0ZW0tYXJtYGAuDQo+IFRoZQ0KPiArbGF0dGVyIHdhcyBtYWlubHkgYSByZXF1aXJlbWVu
dCBmb3IgcnVubmluZyBLVk0gb24gMzItYml0IGFybSBob3N0cywNCj4gYnV0DQo+ICt0aGlzIDMy
LWJpdCBLVk0gc3VwcG9ydCBoYXMgYmVlbiByZW1vdmVkIHNvbWUgeWVhcnMgYWdvIGFscmVhZHkN
Cj4gKHNlZToNCj4gKw0KPiBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2Vy
bmVsL2dpdC90b3J2YWxkcy9saW51eC5naXQvY29tDQo+IG1pdC8/aWQ9NTQxYWQwMTUwY2E0DQo+
ICspLiBUaHVzIHRoZSBRRU1VIHByb2plY3Qgd2lsbCBkcm9wIHRoZSBgYHFlbXUtc3lzdGVtLWFy
bWBgIGJpbmFyeSBpbg0KPiBhDQo+ICtmdXR1cmUgcmVsZWFzZS4gVXNlIGBgcWVtdS1zeXN0ZW0t
YWFyY2g2NGBgIGluc3RlYWQuDQo+ICsNCj4gwqANCj4gwqBTeXN0ZW0gZW11bGF0b3IgY29tbWFu
ZCBsaW5lIGFyZ3VtZW50cw0KPiDCoC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tDQoNCg==


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 22:01:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 22:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505450.779527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYZwY-0000eU-Lu; Sat, 04 Mar 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 505450.779527; Sat, 04 Mar 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 1pYZwY-0000d1-DK; Sat, 04 Mar 2023 22:01:30 +0000
Received: by outflank-mailman (input) for mailman id 505450;
 Thu, 02 Mar 2023 21: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=4vw8=62=oracle.com=nick.alcock@srs-se1.protection.inumbo.net>)
 id 1pXqKt-0005O8-1y
 for xen-devel@lists.xenproject.org; Thu, 02 Mar 2023 21:19:35 +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 eae40ed6-b93f-11ed-a550-8520e6686977;
 Thu, 02 Mar 2023 22:19:31 +0100 (CET)
Received: from pps.filterd (m0246630.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 322K4DvK000641; Thu, 2 Mar 2023 21:19:25 GMT
Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com
 (phxpaimrmta03.appoci.oracle.com [138.1.37.129])
 by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 3nyb72msw4-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 02 Mar 2023 21:19:25 +0000
Received: from pps.filterd
 (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1])
 by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.17.1.5/8.17.1.5)
 with ESMTP id 322KeQhP002332; Thu, 2 Mar 2023 21:19:23 GMT
Received: from nam04-bn8-obe.outbound.protection.outlook.com
 (mail-bn8nam04lp2048.outbound.protection.outlook.com [104.47.74.48])
 by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id
 3ny8sacft6-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 02 Mar 2023 21:19:23 +0000
Received: from DS0PR10MB6798.namprd10.prod.outlook.com (2603:10b6:8:13c::20)
 by SA1PR10MB6414.namprd10.prod.outlook.com (2603:10b6:806:259::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.16; Thu, 2 Mar
 2023 21:19:21 +0000
Received: from DS0PR10MB6798.namprd10.prod.outlook.com
 ([fe80::d0f7:e4fd:bd4:b760]) by DS0PR10MB6798.namprd10.prod.outlook.com
 ([fe80::d0f7:e4fd:bd4:b760%4]) with mapi id 15.20.6156.017; Thu, 2 Mar 2023
 21:19: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: eae40ed6-b93f-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc :
 subject : date : message-id : in-reply-to : references :
 content-transfer-encoding : content-type : mime-version; s=corp-2022-7-12;
 bh=40wA+FlFLr6ElM+W+qIHS/HRTtxmamDt21e9O30ct2Q=;
 b=pnroXtFubucJvDAY1Ns7zCXGz+og5Cj6UuttJR04kJKTniXPb0PGCnuTo6oLSZxr7SsQ
 y7VHh7QWaDPie5jQUryvtktL/VxGdBqB/MXFgJUayY7i2d+w7ib0RJhpWL7zOiGflt6Y
 U5+dpG7w5pX0N464S4N9DXRVEuYqSof/FDHndVVw4gXXpWQp+A434u6fPorPdZDhaYPV
 jeqypwZZdqhya1Tr2G56quwXAkmDJ3yCcmFIjhSFXk13GIsccnarWuhEKV4RGjthcJl0
 PriZ2LZ+6yR89Lk+YOOgkYwI+kiZqYOMCK1e459poCWSxetjwGyxREy4xfqU8hUTBnES 9Q== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fdEQ7FCuVJtUL6MJ9OFIMT9OpvDjMg5nBiYcy435z8ZzQQ1/cc1UIYbxMbuwliwCq7nAfQobjk2v/phqlTdsPbCefFiYiTLCuY0zAuHDsGuzaNh7mGfirbvDo/p3D9JRO4f1mr53CyTOapEIDBCpX+dMSCY/J+ruqHLtbbO+7w/bDkhGyuloUni3kbABFkG5JRWnjC0XWHWqc5TWD22VVeOvi3SHxku9G5yVtDwZf84Z6/qXSblbDvu+b/b3xNaM6RqcFgqYwOoNOy2OZoA4Zzn8eX8BiUejKR+2oU9juVQ0etJVAnqPjvnkSq+gXiCI40fhvwB30PEpFjXQu3a4pg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=40wA+FlFLr6ElM+W+qIHS/HRTtxmamDt21e9O30ct2Q=;
 b=SZowJv7sOC1sDKZKGqOeUWd1DflyIgrjzXgi0e7N7J2STcBAGLTVf3r/RQh13vpGR+N3anoIuwyUEzVzf1+c72ZXJSlPg15hN3AU03Gyo01QWrEvkZKQxg3crujoiQTv/EqttnRbHelCq3kUD5N26BuXPoMMAFgMW80haUFeNIQi9PZXAm33EZCdjjHZZKL3xYDEBV1Y2iONJHwAtqWywRjGTQV1RdcHUtDszjRSUXbKCCq9pWss+lwPi7ZfaA+cXprVVuGyWUCyfWO65ddR8zhsHctOy/ezLo2j13+ryaTKJGXwF7NXnHgi1g/qp7kOkiC6fJKQg35PXSMIIo3nZQ==
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=40wA+FlFLr6ElM+W+qIHS/HRTtxmamDt21e9O30ct2Q=;
 b=pY+rA4UNXy2iTGmT9pvRF2AvueM7qGhOGgqgDOv0udOvybs2LaAOsiWCa1TpQw4c2HwK+8kHYZyUJ/yIvGOLOpt4OG/XQAPFJFKNs5i6MgR4jCvEvAh24T42CMN5TyoXAQ5MAvb2yj6ctPuBkEpl/MI41f8cxFusUNPRayJvdF4=
From: Nick Alcock <nick.alcock@oracle.com>
To: mcgrof@kernel.org
Cc: linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org,
        Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>,
        Juergen Gross <jgross@suse.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        xen-devel@lists.xenproject.org
Subject: [PATCH 15/17] xen: remove MODULE_LICENSE in non-modules
Date: Thu,  2 Mar 2023 21:17:57 +0000
Message-Id: <20230302211759.30135-16-nick.alcock@oracle.com>
X-Mailer: git-send-email 2.39.1.268.g9de2f9a303
In-Reply-To: <20230302211759.30135-1-nick.alcock@oracle.com>
References: <20230302211759.30135-1-nick.alcock@oracle.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: LNXP123CA0010.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:d2::22) To DS0PR10MB6798.namprd10.prod.outlook.com
 (2603:10b6:8:13c::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS0PR10MB6798:EE_|SA1PR10MB6414:EE_
X-MS-Office365-Filtering-Correlation-Id: 80bb5ca1-bf64-48c8-b377-08db1b63ca5d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	b+dRwAQQle0x+ERfMj3cQYI00zj7ks5lrOKCl/dOQ+xxvt9e7nPhAYO1p2S84IDvdUyir8WwlpACa2NWRupkAbZAygTX+tfiyJ+8jjGlKIERvvd5VZxjmxAtIuBlG19TLSg/pqNMc+/NR1qbg9iuN1S+c11a3OGyGtv1qKlTtzgaAC3zBmu9Yopab2rvXDMisuHdEuWoleQpyaYtXKus8ot4PWeQDtpsGrwekUQF82u4Uj0amHwO87SmPapIbi/QW5Ze9vxv6/pe9p0juGQObBHh9OKIyy4kmSlwBQniOoSidiSWXjYPebf1RWEupBuVYM0n/ILU4t+vU5BJ0MDeVZifRkmX03DxR/M+iS+DM97FL/r5ZoH+C8WKCgp+mdBd2olAFtbGt8dik4toEbICE05kabvJo88b+xZEt4HF1J6ScEGlieELXzaG217JTx0v+xD5KnxXbwNNP1z+6yxJAarwQ7EvOiOw2hOc6PBA84IfYlSUQgcyBO5QhSU5wc+nXqACHSHEm7JmGBg5yTFEJPp1XSinM62zU5lS2Fwdx7bKj2CYfsijXgShqUOXXXQwqFFJKK0K6mHONpQWhkMjdUwIWG0jIQU0rfOUEgvnke6eoOK12FDVXVsr7Nr5LodkBNgQNV1ID1gvDOl8LNQMjg==
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR10MB6798.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(346002)(396003)(366004)(136003)(39860400002)(451199018)(44832011)(5660300002)(41300700001)(38100700002)(8676002)(83380400001)(4326008)(6916009)(8936002)(66476007)(66556008)(66946007)(36756003)(2616005)(2906002)(86362001)(6486002)(478600001)(316002)(186003)(1076003)(54906003)(6666004)(6512007)(6506007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?us-ascii?Q?QFZqh3t/ONDF/i7x1Cf9BdABkscdSQJSwldhT1KR8mmwypmqn9fSldsFIvcC?=
 =?us-ascii?Q?yjZ9H4jfa3a85abA5HJyIt5v43VQNAaVhAawcqbQRGmU+L2nytedH2cYPKEN?=
 =?us-ascii?Q?Lhdtpjqq0shpxLWYJl2QPrEf1gciJjLQVQUBKgU/ZBZD66A83lHEB6EomhOB?=
 =?us-ascii?Q?KUOk+1wvuMt2Mxt/v9/pbk226XkaTFG1qb2OZLy/6FwNOC/MFH4NcUpdwzxe?=
 =?us-ascii?Q?Ozj7oLveFMdXj9CkWR25e/M+neQTPl2nzy0vjGkf7WvDd2Cm6HXjKgbA5oUh?=
 =?us-ascii?Q?ahI/mQOFZoB685FPZ3TyqW5sn5NICGGPvbsAEAJQW6iWCbYFzQlNMZLMGF4a?=
 =?us-ascii?Q?s06QtOXY9yvTKckY7h+jhfmwT+h/p77OHZ76dJZEDfGUT1MgLQORQkCl0Bou?=
 =?us-ascii?Q?9vl4/anHJjXURDIaakGMhSi1FTrvobsvrA/pEHF6quUlwRANXKnQLvVWCF5W?=
 =?us-ascii?Q?U6fqSfQUl4n75un1T3FUrCsidRhsmrtEjgStm057AvexV98CZYTFlEIo96gX?=
 =?us-ascii?Q?zPQ/LUp19FmxBrtvLCZjGjTy/bxQ/jyV11q7FgJsXBJcMsWWDj7seivWIisI?=
 =?us-ascii?Q?eqPDBwmCAHU6N6tHL2+yldmrwTrUynHFU/7jP5s7sGgKYLkeVb/pUBT8p6At?=
 =?us-ascii?Q?jiUaTO4Bz1SxlgBPZoN8IPTQJPWso3t0Y8cUOUSN39gOb3t/Sr8XHM6UyoIA?=
 =?us-ascii?Q?yIBfTZVGn7M3DXo8W5ydeqkweaAsmjRY0FXWa6joC4+pWM5JE8I/iDXEabhc?=
 =?us-ascii?Q?i1e+/HovjM6NdhBKNMNxCeT7BZMohY4uLX1myUeeEJYnZ82HRMSDPn0EtZqM?=
 =?us-ascii?Q?PPd8Ebtz5rOckneNuSTxSmhnoy5Bo6/UZsEbY2HX3TV5M5fB2x8OK/mo8nqa?=
 =?us-ascii?Q?MLe9HSDf7RuzIvcImsWzlegNCUeUigvSKknMvNEwbJpYLhsXGU96dZJ30khH?=
 =?us-ascii?Q?Fy/8hvxCjULZFp4/IyApd8idgRqP581kxjj26Uk9QWR3aA4qT5hxPAMoeWuH?=
 =?us-ascii?Q?fauGp85NT7736PHjbL59ZUi1w1w4rtNMWwL7DCSaQL5ez4l4SLJPYHRVWDkV?=
 =?us-ascii?Q?byYVbLh+AkJmWnl213HJJejgHpLbW19W/hDo56BMtu5lNIW7vh1leTOCaAtI?=
 =?us-ascii?Q?1fTmKDl78fvUWDNUAiZXnOQ9cv1L5VG5erUR+gKfRP0gqj7ctVCInPKXTj4R?=
 =?us-ascii?Q?qFce6OuFV2GTbh+BEqvF6UhoHuTRS7SB/t6Gxj2x7gf7LRGUsPR21S2TDZWc?=
 =?us-ascii?Q?+nEQ08YF3Wd1hbJ3kIpOSDOO7jGdzHsKvpudDVPCbeFVWzGLuSHsaCgNT/x1?=
 =?us-ascii?Q?iD51yqozxTNK0bpc9+I/JkONGXj8ugPbWI1ZjvDfQjFSkTIjUV/zo1PRoRUp?=
 =?us-ascii?Q?y6ePFB9A9dzBTydNzzouM6DBKNo+cIbBpUWqrQyY6aaJp4IpICCavPAF4ZY9?=
 =?us-ascii?Q?8h3bkxs58ZVu1Japd6lb0fJlHDQUGVs9XVgG/EcRzOtuuuHg/j3kDjIl1zix?=
 =?us-ascii?Q?6NdUdMIeB+M+XAHHzbWD8cTif2rRfYJD83wxm+tC5zfEoAo/zL4nvWuQMk4C?=
 =?us-ascii?Q?6MX7ifidfI5fx88PDgodVdbidqnFxfs5Uki2yYk7nWvBS75SJlb+UZ8TAeb7?=
 =?us-ascii?Q?82wPomlk7AEaWmitGfW+td0=3D?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 
	ipi0aBksB4QRmQg/AmrNLWuexXctrBhSY4YnylGyrTAPxA/uE0jZqWGqQIzoFiZWKTZZbkTD/xrLoVjmo9ME8VfAoucre8oeDdHTUjZK9CT0NS/6QqS2iSFDyn9psSvLJXvAcRFqSvdtXoW9kKd9ia+aq7C2K/nuBBioJiSXiYqwGOvq3RGkzHbqSDJF/ph/GIHnZmYAW/g1aKNVpVkNa+6hpUG+pyPkIkW+FCU6t3+cFlEMDPaLKbybQL1sJYsmF0hjXP6mS9ksw7ij3hcTXTrV3e5kg3RDXdF3aRTtw7PavfE/x8d+6YOWKtqOweIEvrdc7b4IX3zGpijTb3Rd12G2erB+h1XsRn88phrLJC8GJbGJZMNdZbD24Xbhfq4/L22Pe3F/skul0jUEIQgDJGMX3zw/Z1w6BifKIlGpgC571a71fPAGE6BSTm+yVTLKfBXaNHFJrOKvvSbwiaJ/fSINi6frPlXz5arWp90jHM015T7IXXTrPR9sBTxbQGzuKgygzAg7vkSTR9A7T0VpoOKYjjsPHVXNgQCSJI8/PkbCVtk6Fif/UE++4SMcyl1+MLhvImSqz8Gtm+X49PDWo8Bkyf15Et/T0sWax43r87wC0fjr0mHiuzHM7JoIj72cRq5qSw15YZ+HZRtUcGf98OS1veVcLZf8q6pIEQGdQ1G7c6INznePQe3mFUcnhL8dBFPToxt0UIicHzKGGDignERUUKRk5Tq6CDF7CwCxKVPv2PnIB5fFTVqGhUYIA+r8HDLsPfN4t5E/h6mMnZmLNQEUKSG2PjjN0y45M+JSS4bnZKbIfTx88/e8VdIGdp2zh3xd/jNZIaiUWDemRttRF8Y4iIT6zI14Hf/UrDIZO/aXDXkZIU0HDDvyMRtjUueOs6a7yPFzyxxsKfxazihSjQ==
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 80bb5ca1-bf64-48c8-b377-08db1b63ca5d
X-MS-Exchange-CrossTenant-AuthSource: DS0PR10MB6798.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Mar 2023 21:19:21.5001
 (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: nkvEJrHseohJp6lgmyieoxv9SubfGd8t9gNfM8wRF9njxCgtXpYd9tEBKmrRq9dASGAM9tGN7KTEQqXUIlp+xw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR10MB6414
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.219,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-02_15,2023-03-02_02,2023-02-09_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 bulkscore=0
 malwarescore=0 mlxlogscore=999 phishscore=0 spamscore=0 adultscore=0
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2212070000 definitions=main-2303020183
X-Proofpoint-ORIG-GUID: Tx2KuvEIbvjYb5saulm6qo8_uIlvmB7M
X-Proofpoint-GUID: Tx2KuvEIbvjYb5saulm6qo8_uIlvmB7M

Since commit 8b41fc4454e ("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.

So remove it in the files in this commit, none of which can be built as
modules.

Signed-off-by: Nick Alcock <nick.alcock@oracle.com>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org
---
 drivers/xen/grant-dma-ops.c       | 1 -
 drivers/xen/xenbus/xenbus_probe.c | 1 -
 2 files changed, 2 deletions(-)

diff --git a/drivers/xen/grant-dma-ops.c b/drivers/xen/grant-dma-ops.c
index 9784a77fa3c99..ca0249fc4d18f 100644
--- a/drivers/xen/grant-dma-ops.c
+++ b/drivers/xen/grant-dma-ops.c
@@ -413,4 +413,3 @@ bool xen_virtio_restricted_mem_acc(struct virtio_device *dev)
 
 MODULE_DESCRIPTION("Xen grant DMA-mapping layer");
 MODULE_AUTHOR("Juergen Gross <jgross@suse.com>");
-MODULE_LICENSE("GPL");
diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c
index 58b732dcbfb83..86c04f239e873 100644
--- a/drivers/xen/xenbus/xenbus_probe.c
+++ b/drivers/xen/xenbus/xenbus_probe.c
@@ -1066,4 +1066,3 @@ static int __init xenbus_init(void)
 
 postcore_initcall(xenbus_init);
 
-MODULE_LICENSE("GPL");
-- 
2.39.1.268.g9de2f9a303



From xen-devel-bounces@lists.xenproject.org Sat Mar 04 22:01:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 22:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.504111.779515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYZwY-0000Vj-1i; Sat, 04 Mar 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 504111.779515; Sat, 04 Mar 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 1pYZwX-0000Vc-TS; Sat, 04 Mar 2023 22:01:29 +0000
Received: by outflank-mailman (input) for mailman id 504111;
 Wed, 01 Mar 2023 15: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=hLBl=6Z=rivosinc.com=debug@srs-se1.protection.inumbo.net>)
 id 1pXOY3-0000fb-3F
 for xen-devel@lists.xenproject.org; Wed, 01 Mar 2023 15:39:19 +0000
Received: from mail-pg1-x533.google.com (mail-pg1-x533.google.com
 [2607:f8b0:4864:20::533])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3768813d-b847-11ed-a550-8520e6686977;
 Wed, 01 Mar 2023 16:39:14 +0100 (CET)
Received: by mail-pg1-x533.google.com with SMTP id q189so7948257pga.9
 for <xen-devel@lists.xenproject.org>; Wed, 01 Mar 2023 07:39:14 -0800 (PST)
Received: from debug.ba.rivosinc.com ([66.220.2.162])
 by smtp.gmail.com with ESMTPSA id
 j13-20020a62b60d000000b005a8851e0cddsm8070167pff.188.2023.03.01.07.39.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Mar 2023 07:39: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: 3768813d-b847-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=rivosinc-com.20210112.gappssmtp.com; s=20210112; t=1677685152;
        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=G88lHAU8EQsCcXmuw5k8V0o7uYf93X0m0EbK56nmCkc=;
        b=Ny+HmlrE0gXICVns/E53J7P+ufLy4O/6mPMZ9p2rf+anhUNDxXReAJ7Of7RumsIo7i
         MF0of+OFSSVag+jJbKJCbWqw/7+3QP1Ep9RYaalmJO09mE4viOw8S2klvVFaryWM8jl2
         TtVtqnAAOEN9R1ADWrsxZJSJWmuT6eBeUtGvwmxtiW6+g7vic+774Z/gaDYyszuozffC
         OjXIGEYSwLxa1xaHosEo3E4lK3jZqYXbE8AJSAcyVW/Ya9OJJK8u4pEJ6QPLxpJdgj2D
         ds5e0Mvpliu5fpO+nw6SVbgSyG5paByNt+L/3lCiP7+YU4Hd4Qok+ddJgLOslD7RpwmT
         /2tw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1677685152;
        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=G88lHAU8EQsCcXmuw5k8V0o7uYf93X0m0EbK56nmCkc=;
        b=BypsN1UkNhcoY2pwcSmL+bVejL56EIRkGPM2/+OJWPQG9g+AVQ0iBqQlJmDOmzXOL2
         bUAD160e2672vMbhMih4kYy6zdasxmYxVGJ2tYahDYfyC+87fz1DJY2kPgBnJMesp75N
         8o1tEBDexcps4vL6uH4nLoux8n6+vP4gxfRuIxDj7hu7yFDIG9zSfrT+xdo8tJZLbOaf
         6OfhK9+NWiK4hII93jX3jEsLx8o18CwtayvDxAgrjwnosex2LxeWZtKUKXC+/Kbovkjz
         KiLmK5JMa9b2fiqSKF0iEsufzdwBg+fDZkH9NTw1Cuve1yW9W4H57wly7ymGi0CKIZq0
         jkxQ==
X-Gm-Message-State: AO0yUKV1Q4Nke70LPYsE4aGRfrEoJJm9f/c6LPCui4BTUARets9A1Sk0
	2dOFFQMm+sbLCHXPXzL5c75Mnw==
X-Google-Smtp-Source: AK7set8O+FBRYvI4IODXsFr4hn8ba9dIyWnvB6rPeJHmFqFJ7d5V8y8v1teRy0/jHqbFKVQ/Seo5yA==
X-Received: by 2002:aa7:9ac2:0:b0:5a8:ea06:662 with SMTP id x2-20020aa79ac2000000b005a8ea060662mr6767366pfp.20.1677685152202;
        Wed, 01 Mar 2023 07:39:12 -0800 (PST)
Date: Wed, 1 Mar 2023 07:39:08 -0800
From: Deepak Gupta <debug@rivosinc.com>
To: Rick Edgecombe <rick.p.edgecombe@intel.com>
Cc: x86@kernel.org, "H . Peter Anvin" <hpa@zytor.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org, linux-mm@kvack.org,
	linux-arch@vger.kernel.org, linux-api@vger.kernel.org,
	Arnd Bergmann <arnd@arndb.de>, Andy Lutomirski <luto@kernel.org>,
	Balbir Singh <bsingharora@gmail.com>,
	Borislav Petkov <bp@alien8.de>,
	Cyrill Gorcunov <gorcunov@gmail.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	Eugene Syromiatnikov <esyr@redhat.com>,
	Florian Weimer <fweimer@redhat.com>,
	"H . J . Lu" <hjl.tools@gmail.com>, Jann Horn <jannh@google.com>,
	Jonathan Corbet <corbet@lwn.net>, Kees Cook <keescook@chromium.org>,
	Mike Kravetz <mike.kravetz@oracle.com>,
	Nadav Amit <nadav.amit@gmail.com>, Oleg Nesterov <oleg@redhat.com>,
	Pavel Machek <pavel@ucw.cz>, Peter Zijlstra <peterz@infradead.org>,
	Randy Dunlap <rdunlap@infradead.org>,
	Weijiang Yang <weijiang.yang@intel.com>,
	"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
	John Allen <john.allen@amd.com>, kcc@google.com, eranian@google.com,
	rppt@kernel.org, jamorris@linux.microsoft.com,
	dethoma@microsoft.com, akpm@linux-foundation.org,
	Andrew.Cooper3@citrix.com, christina.schimpe@intel.com,
	david@redhat.com, linux-arm-kernel@lists.infradead.org,
	linux-s390@vger.kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v6 11/41] mm: Introduce pte_mkwrite_kernel()
Message-ID: <20230301153908.GA3505369@debug.ba.rivosinc.com>
References: <20230218211433.26859-1-rick.p.edgecombe@intel.com>
 <20230218211433.26859-12-rick.p.edgecombe@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Disposition: inline
In-Reply-To: <20230218211433.26859-12-rick.p.edgecombe@intel.com>

On Sat, Feb 18, 2023 at 01:14:03PM -0800, Rick Edgecombe wrote:
>The x86 Control-flow Enforcement Technology (CET) feature includes a new
>type of memory called shadow stack. This shadow stack memory has some
>unusual properties, which requires some core mm changes to function
>properly.
>
>One of these changes is to allow for pte_mkwrite() to create different
>types of writable memory (the existing conventionally writable type and
>also the new shadow stack type). Future patches will convert pte_mkwrite()
>to take a VMA in order to facilitate this, however there are places in the
>kernel where pte_mkwrite() is called outside of the context of a VMA.
>These are for kernel memory. So create a new variant called
>pte_mkwrite_kernel() and switch the kernel users over to it. Have
>pte_mkwrite() and pte_mkwrite_kernel() be the same for now. Future patches
>will introduce changes to make pte_mkwrite() take a VMA.
>
>Only do this for architectures that need it because they call pte_mkwrite()
>in arch code without an associated VMA. Since it will only currently be
>used in arch code, so do not include it in arch_pgtable_helpers.rst.
>
>Cc: linux-doc@vger.kernel.org
>Cc: linux-arm-kernel@lists.infradead.org
>Cc: linux-s390@vger.kernel.org
>Cc: xen-devel@lists.xenproject.org
>Cc: linux-arch@vger.kernel.org
>Cc: linux-mm@kvack.org
>Tested-by: Pengfei Xu <pengfei.xu@intel.com>
>Suggested-by: David Hildenbrand <david@redhat.com>
>Signed-off-by: Rick Edgecombe <rick.p.edgecombe@intel.com>
>

Acked-by: Deepak Gupta <debug@rivosinc.com>


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 22:01:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 22:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505497.779533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYZwY-0000kk-V9; Sat, 04 Mar 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 505497.779533; Sat, 04 Mar 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 1pYZwY-0000hs-NT; Sat, 04 Mar 2023 22:01:30 +0000
Received: by outflank-mailman (input) for mailman id 505497;
 Fri, 03 Mar 2023 00:49:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yqmn=63=wdc.com=prvs=4197e97ac=wilfred.mallawa@srs-se1.protection.inumbo.net>)
 id 1pXtcH-0001mN-Qh
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 00:49:46 +0000
Received: from esa3.hgst.iphmx.com (esa3.hgst.iphmx.com [216.71.153.141])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 472db9cb-b95d-11ed-96ad-2f268f93b82a;
 Fri, 03 Mar 2023 01:49:41 +0100 (CET)
Received: from mail-bn7nam10lp2100.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.100])
 by ob1.hgst.iphmx.com with ESMTP; 03 Mar 2023 08:49:37 +0800
Received: from BN6PR04MB0963.namprd04.prod.outlook.com (2603:10b6:405:43::35)
 by BN6PR04MB1010.namprd04.prod.outlook.com (2603:10b6:405:3c::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.21; Fri, 3 Mar
 2023 00:49:32 +0000
Received: from BN6PR04MB0963.namprd04.prod.outlook.com
 ([fe80::6253:849d:e55e:17bb]) by BN6PR04MB0963.namprd04.prod.outlook.com
 ([fe80::6253:849d:e55e:17bb%7]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 00:49: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: 472db9cb-b95d-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com;
  t=1677804581; x=1709340581;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=3c2lLoLKrIgqpiLPhfOUf+iwlyAlQERnRDKmPu4qSms=;
  b=I0NGydZ0oBIndRxU+kVaYgd6zZyzEG0EsDhSFvEzCIieDzgPaQj0/Wxg
   Zw9P+86Av/oI1eEOUopLsYu0j8mIb0K9L7MGzToKcRAsKMPOB48ESRKAa
   EgPn7KJ0rsEVMIrn3+7g4m0UUL+W7XoV8I6jdOgZqwnfdiolcD8SAZcxv
   uqyZfVRMdUos0fS19IR6SRwjt9nolrqo4WPU3XtLS06QZhQIHfi8lIP8f
   8bjddtz7JOWv8+KJqoGAz5eDHeqn2gQSQD/HF/RpWxNoPSEW4AT4Ch0cO
   whadbO0s6dk/i4WdrrixaAxNVZerPrB855l1+YCRY/sqwyZNunVkrj6Xe
   Q==;
X-IronPort-AV: E=Sophos;i="5.98,229,1673884800"; 
   d="scan'208";a="229646082"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SsRddNaPlTVBFYEHBRzoGkOK2GwALQJ9VUGFRhtO4vRtpcH+/mUAFGMy8rtqWZxKKqU0taB3WJEyM8xtZ36/XbFVyQfc3OEPLIu3STr0wetb4ap315zIccRuChI6oNK0lnRXOrSfHutKAFXXqLOZY3s9Z8rqi0CxA9V67kTgJUfMQ1B+d7yxVVZHOj/9Rht4Y4CPnwVvxg8Clp/yzfT/xhuK2xCE+80xxGFtlwJWb5eSYKtfFcPWNSBD0hi/NpEwro5kVra50CUOjeT+ioV3hMa0n0ryOmzJOz3YvfvgKkVfwsNV4nLE+K9QKPQrbd7Rb+nB/abIxUqAD3ju4CfoDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3c2lLoLKrIgqpiLPhfOUf+iwlyAlQERnRDKmPu4qSms=;
 b=cnfEesFK+be5dkiUfN7tCmSPmn3303LhmTJd9oUCGW8H2K/7bdhvVG8tCXUTW6k/YNomVLJtdpLbpSbZaZqY94Pe6IETbFHo8tOMTfAw0RuRN+/8BID8rJ9xvlFMiNi5AykfH5zaT/0mymttFxHG0q59CwCJvQf+FtXQ21GrpX1DKIuU8WvcVk7aB2azlnNMxfA4tlYvTC6IJVqKCN4J6jNVRc1y50ZTQyLUlquQH0P97Qy1l0pDLfMEW02h82Ebar1foyQ7KM42BEJxHOyZB5/gIFo49NmS09SUuCXhkpIHAdTQYHgM4xK8RBWIgTB9YabPjB3Tkr+jBfH+TSXvgA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=wdc.com; dmarc=pass action=none header.from=wdc.com; dkim=pass
 header.d=wdc.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=sharedspace.onmicrosoft.com; s=selector2-sharedspace-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3c2lLoLKrIgqpiLPhfOUf+iwlyAlQERnRDKmPu4qSms=;
 b=ofYC8UMoiscY0qIjizIqsgL+LVcL39TGZtQTemS3h7Bl2DCYxtdQ7y7wACAKvsQq00JBym1cr3vwvE+nzZm5or+rJRfDEXOj5wHQjLuIreABpsjajkfj5SWOVZlEizNgzfv3BVyutoxF5UBrb0ZeYcyre70BqfSPS/dbIOKUJZw=
From: Wilfred Mallawa <wilfred.mallawa@wdc.com>
To: "berrange@redhat.com" <berrange@redhat.com>, "thuth@redhat.com"
	<thuth@redhat.com>
CC: "alex.bennee@linaro.org" <alex.bennee@linaro.org>, "armbru@redhat.com"
	<armbru@redhat.com>, "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"qemu-arm@nongnu.org" <qemu-arm@nongnu.org>, "peter.maydell@linaro.org"
	<peter.maydell@linaro.org>, "libvir-list@redhat.com"
	<libvir-list@redhat.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "mlevitsk@redhat.com"
	<mlevitsk@redhat.com>, "pbonzini@redhat.com" <pbonzini@redhat.com>,
	"reinoud@netbsd.org" <reinoud@netbsd.org>, "richard.henderson@linaro.org"
	<richard.henderson@linaro.org>
Subject: Re: [PATCH v2 1/6] docs/about/deprecated: Deprecate the
 qemu-system-i386 binary
Thread-Topic: [PATCH v2 1/6] docs/about/deprecated: Deprecate the
 qemu-system-i386 binary
Thread-Index: AQHZTSS0My1atrW9yUeGJv0kKNDfAq7nyMiAgABw8YA=
Date: Fri, 3 Mar 2023 00:49:29 +0000
Message-ID: <92f1c28c4cb43f225e77e13565d9878900be3cfb.camel@wdc.com>
References: <20230302163106.465559-1-thuth@redhat.com>
	 <20230302163106.465559-2-thuth@redhat.com> <ZADlWR/jmGsaPGh0@redhat.com>
In-Reply-To: <ZADlWR/jmGsaPGh0@redhat.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=wdc.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN6PR04MB0963:EE_|BN6PR04MB1010:EE_
x-ms-office365-filtering-correlation-id: 1795be8b-892b-4166-80c5-08db1b812576
wdcipoutbound: EOP-TRUE
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 uL0NVor8/H51RgB5b1Dm69IVI6fj+OrBopTsKVX4SpI7iIoVu+LaQrPbPmjtzR7sL2w/wBBCK7jgh1SL9UAFivX/aBNF/P6J5Qy3czxJLg6cRLHHoB83/psxLn3LSzQmsy+aM4Fw1s+1TNjGvcjm+E0lDuv1AslMbaDxC2Bvo9g853mC6LdhzdOFJCPwAbwYvW6cwcpySOaNUoq/f/N7ogdPn+ufEImPlYXKNBxlTqw9aHjqxWBGYx7vbqzTCKUEqOX1Hcto0OxFALt+aD1T/Tj8IE0tVPn8amhfLs47YSNGuSjEgnXc2M+PmUdh1guhhbSI0ipmB/PFZ2n9SA+AnTGN2zjPmQTpPSsxETtZlF9yTrI/X8bSECVhAfJFUGhTpwCKYGfkUrRXhBRbf2kgqQo0EojHcSCumlI3DoRdGwcXRufNO8GQOfl5OkF3uP5gKHRfVwINVRZRJWwB5BLLYPl+5RrGXvflQHZufoopvVfxSLcYgeVGdL2q25pCYCEFVn/FWNuX5ZB9SXRbZmWYx9EDCU+tiKS0ri6PK/KeBbsgmLvcJi59Mc1vyypDZurOy6Elr1AwKXYgl4kxstdADuG6EbY+vmwqGPGWZUjslRLJB3CHkePpmP4bBEtBBbxMauDGMCCliEjeRS2sd5HxzcX1dplKPmWOuZ3cw6UcW4cbsclfRi3cEqGrwaw4AylM
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR04MB0963.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(39860400002)(376002)(136003)(346002)(396003)(451199018)(478600001)(110136005)(83380400001)(41300700001)(66446008)(66476007)(76116006)(54906003)(66946007)(91956017)(8676002)(2616005)(66556008)(8936002)(4326008)(5660300002)(316002)(186003)(6486002)(26005)(38070700005)(6512007)(71200400001)(36756003)(64756008)(966005)(122000001)(82960400001)(38100700002)(6506007)(44832011)(86362001)(2906002)(7416002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?OVdKYk9tRExYQllXUjVzUFczaFJWRkY3THpNNi9GWGMvQzFjU2Fpbjc2QlNS?=
 =?utf-8?B?RCtieDRHUlpudnB2bmkvRTdIRVhCSzY1d0xTQjhpdmRWVEttWWlkczhHVEhZ?=
 =?utf-8?B?RlFSZENRZ2tUN3o1VmZzaFdkcDZZSlVwd01QU0NzYUdSU2piVWRpZFFzVXEr?=
 =?utf-8?B?VitEUm01U0VGZlY0dllydnAzMnVIUTRMckhBSGFDSTVCUHVIT3Z2dUlpTVNt?=
 =?utf-8?B?dFJRbCsvQmxUc2MyeHFqaGxNbEt3NDI2ZGc2ZGI1am5GYTZJVEdrZGZSVTA3?=
 =?utf-8?B?OEtiZU5pZDljQjQySlBvUkxCdjVyUGxsREdUYm9VK1Q2Wll3Z3FBb2lrRS95?=
 =?utf-8?B?NVdGbWdUTVF2RGVkYVV5RGFLVkViS0xkc0dLMFZZOFhkMmFCVTNTQTNrbmZ6?=
 =?utf-8?B?UEpWZ29HUlVOemFDakM5dGROak5MVTlRY2FRYzZib3VhSUFTeVVpbi9xYnhl?=
 =?utf-8?B?TjNVcWpBV1oxcUJSOStEODJOYzZrdUVMQnFIUTBxeit4dmFpc2k0UVppcXBu?=
 =?utf-8?B?anVDZ3FOOWNtd0J6S1V6bHh2QmVycXF4K05TOVlTZVc0b0NBeUdQK3REUEhG?=
 =?utf-8?B?azdaeUtxSjJ1d1c1R1NhMWRvVnQrWlV3OElOODdHdk1qWEdRY2tvVGdTdzRK?=
 =?utf-8?B?d0ZoNGF1VnBWUldTd0l3b2Q1SGdUY1RtTFpabHRIbWhRblgvWG9ZVWhJNFhj?=
 =?utf-8?B?Y28wQ08zb0lZUU8rY0VibG0yWHZMT3MrbWxmQmIxRnpyOENvREhlcWYrVW1r?=
 =?utf-8?B?NGMranVvNjZ3YlQzdFA4MjRqQ3dNMHNLeEV3dlAyU1E0SXptKzlEbnNYYWt3?=
 =?utf-8?B?WmNSMUlTSk1qRkRKWDlqZmZqQ25abHpjTytzSkdqRjB3Tk80K2NaaWFwTkxO?=
 =?utf-8?B?eXBHdXpneEVDZ3RGdVdKRzBhVUcwNENNYjFweDI3b0lUWFlMaklsN1RURmJ6?=
 =?utf-8?B?RHZkMEFvb3Z0aHNGM1A4bGw1NzdWa0VrbmhQbVhoMVY2bWNmdXdpSmFVd2dB?=
 =?utf-8?B?OHkwVjQ5UFMvQXRkaHIrRFloZkRyenpMbXlZT09WQ2M5bFhpRVRDSW9UMkFW?=
 =?utf-8?B?Z3pGWm5kNk1WOXlQeUtmK0NVTzhCQXJBZkdXYU9Leit6L2tCVHJkRjkvMkdj?=
 =?utf-8?B?cnptMURwKzBuTEJZV0k2cVQ4dVN1MVphb1J0eWpFQmNMTGsrUmpKL2F4aG5W?=
 =?utf-8?B?ZW5acHppdVR4MDlZOElPOHp1alBTOGNVL2FHODVoQlVoQWR0SlVzVmJxLytW?=
 =?utf-8?B?cXVOUkdBQTlLMkZwdWx0UTVhRHJrZUEzYjJaa1grTHpOeEVYTkpuUVhIWEtO?=
 =?utf-8?B?a1hrREdCRFlidDdtVFVFeGJnbFhweURJNEowYVpUVmdadjQ5cTUyNVB0RE93?=
 =?utf-8?B?eEVnZllmbFdvcXExM3I4WmM2dk1XMnZSRURTZlRDOFpzNnh6WlUvR3k0STJW?=
 =?utf-8?B?Y1BiN2gwTUJkL0hJdU1UUDBpaHhxakQ0OVFBbTRlWWRFMmp5OC9vK1o4VWVm?=
 =?utf-8?B?YVBCSDA2UzNFenh3UnQ5dVh2SkZCVURYOUZvY3BSRk9sbVBvM3VjN1EreDA4?=
 =?utf-8?B?L2ZkTFJsSTIzcGtQay9LQ0JsYVQ3TkZlNXhJNUg1Vm04aWhIa0psRkFKazFM?=
 =?utf-8?B?NkJCUWRhazl5enRITmJTSXBqQTlvMU00clg0QndmMGFrOVBTRlhQNUlqaGRy?=
 =?utf-8?B?UUhRWThFVEZjaG41ZHI4aUNqcGZlaHRVcGRFN29XRnJjKzZuaWdVMXNPR2Vs?=
 =?utf-8?B?MjJ3R3BsQk9KWkxzaEhCMTQ2VlM2Q2FhQ0RvZ2w1engzYXorbmd4TStyNXRK?=
 =?utf-8?B?cXRDeTF1b1JieUthUXdkalkzb2svRDJMTkRXQzk3L3BENk5KaHZBY2lML1cx?=
 =?utf-8?B?bGgvd09zQ2xkdWNCUTlvWCtvL0Erak5XaHBZQlo5VnFpczd4aStjZE9MRmlO?=
 =?utf-8?B?WGRqQU1MN0J3enI0NUw1L1p0SGIzQmNZSjJ4QU9MK0hEV2JRRGMvbitNb25Q?=
 =?utf-8?B?WU41UUFUckxWM2t5VWpDL0VwQVEvUXRpWlVZMk5yT3QrRzEyM3A4T2xKU3FW?=
 =?utf-8?B?QWVrYzB6OFVwam9hdEI4MG5MbkFxQU90Y3FyWDVEUXdGNVFLMTQzcXRBZXJP?=
 =?utf-8?B?Z3NtbVVEMG5BejA5TG90Q2VGRVJ0YXM4elBqNTd6ZkZBQmEzZVZ5RnV1SGtJ?=
 =?utf-8?B?Y2c9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <5D24C37AEF74A442A68B7BB0BAFBB1F8@namprd04.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	DYSDHBhC1d81/LqY15XpMq1MQSj6BqrAXR18LMc+HMq7QyqOxfvEPbz4VtBJJP+NTcVWycyuPuJxbDoj3mdgroWFbhoZsbXWGWASzJKMBrVBjrxMlkN+SeudMRNgWeN62uRPQud7ONlwO+ARaxTUZKQcCAOrC4Nv/jiXQ2q0jUQ7fwsXE5Y/73xJBpUlfyPO/l6Ro0SX9O2e9YzkQb2MYcq7XhRrOrYw7ECUFGaA4vxoNof0/tFHpv5mCRXZPfjB/hxyc4aw/3VvoWEARqeAqh2lqSOL50GiZWj0bkp4upwtZ0pu2EdGv1NFRDd6nC+5FnhLDmA41emr7sLWsely0pt0A1RPgXwW1x1uzZ0Te/UKdNxLOwWutxMSGYhaX/icxsHypK+bYn7ddAcoezG5LhFqgsGR5OSCHtbAdq+4cseZyNM7As50YVNGwXWDnWrilKyZP6dinJusHPdQZf5mm0+ZeUoAaKdOFolKRXNIBFcvgGuG913vXmp40xumKDvgw3OWASuj1Y3nQOEWTTVwCUSGL0VVDaLVQBT2cqfdAMcJENAvBxeEnpg/Ss66eRDIY+jIOO0ckMGgPHe47RLbwh2JKFaFb8cPASV3b3W3M/324SQHma59K8/85cHltsW10otoqwlREvW1v5eKi2zD0C+LLwKDiK7+qMFJ/e9VSaAvk4bq8ZkxAAY85Pgq7aSIAaeY2XDB5X3rFwBjx0hvfnIf+OwJ/QgR0UXNCnv5cxo1LLFQhcoh+Rk7//6l9bSJz++srpT4fazienUSNIocoApyIV44Jn3+b2e2YcxDh+CB/p1GBnMvpQ3JZydcqW3Gg9UDbUmmWUh0Rem+tZwHKUWtOULXOPCf5ByDhl6/MwXWQ2OM3RZbzPL7DANiyD9aMsYmPMr9bwd9PTm02ryGr9tR6JCXcbaGsRFmIdx/o50=
X-OriginatorOrg: wdc.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN6PR04MB0963.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1795be8b-892b-4166-80c5-08db1b812576
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2023 00:49:29.5842
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: xHOrP+ZHmkviBbUS0goP0bS+jscdTQfpIV/N34t3CPNB6fGMhomSTlcP8XddMNihXHZ0xYuR+5siMP8xJWjpeQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR04MB1010

T24gVGh1LCAyMDIzLTAzLTAyIGF0IDE4OjA1ICswMDAwLCBEYW5pZWwgUC4gQmVycmFuZ8OpIHdy
b3RlOg0KPiBPbiBUaHUsIE1hciAwMiwgMjAyMyBhdCAwNTozMTowMVBNICswMTAwLCBUaG9tYXMg
SHV0aCB3cm90ZToNCj4gPiBIYXJkbHkgYW55Ym9keSByZWFsbHkgcmVxdWlyZXMgdGhlIGkzODYg
YmluYXJ5IGFueW1vcmUsIHNpbmNlIHRoZQ0KPiA+IHFlbXUtc3lzdGVtLXg4Nl82NCBiaW5hcnkg
aXMgYSBwcm9wZXIgc3VwZXJzZXQuIFNvIGxldCdzIGRlcHJlY2F0ZQ0KPiA+IHRoZSAzMi1iaXQg
dmFyaWFudCBub3csIHNvIHRoYXQgd2UgY2FuIGZpbmFsbHkgc3RvcCB3YXN0aW5nIG91cg0KPiA+
IHRpbWUNCj4gPiBhbmQgQ0kgbWludXRlcyB3aXRoIHRoaXMuDQo+IA0KPiBUaGUgZmlyc3Qgc2Vu
dGVuY2UgaXNuJ3QgcXVpdGUgdHJ1ZSB3cnQgdG8gS1ZNLiBDaGFuZ2Ugc2xpZ2h0bHkgdG86DQo+
IA0KPiBBc2lkZSBmcm9tIG5vdCBzdXBwb3J0aW5nIEtWTSBvbiAzMi1iaXQgaG9zdHMsIHRoZSBx
ZW11LXN5c3RlbS14ODZfNjQNCj4gYmluYXJ5IGlzIGEgcHJvcGVyIHN1cGVyc2V0IG9mIHRoZSBx
ZW11LXN5c3RlbS1pMzg2IGJpbmFyeS4gV2l0aCB0aGUNCj4gMzItYml0IGhvc3Qgc3VwcG9ydCBi
ZWluZyBkZXByZWNhdGVkLCBpdCBpcyBub3cgYWxzbyBwb3NzaWJsZSB0bw0KPiBkZXByZWNhdGUg
dGhlIHFlbXUtc3lzdGVtLWkzODYgYmluYXJ5Lg0KPiANCisxDQo+ID4gV2l0aCByZWdhcmRzIHRv
IDMyLWJpdCBLVk0gc3VwcG9ydCBpbiB0aGUgeDg2IExpbnV4IGtlcm5lbCwNCj4gPiB0aGUgZGV2
ZWxvcGVycyBjb25maXJtZWQgdGhhdCB0aGV5IGRvIG5vdCBuZWVkIGEgcmVjZW50DQo+ID4gcWVt
dS1zeXN0ZW0taTM4NiBiaW5hcnkgaGVyZToNCj4gPiANCj4gPiDCoGh0dHBzOi8vbG9yZS5rZXJu
ZWwub3JnL2t2bS9ZJTJmZmtUczVhakZ5MGhQMVVAZ29vZ2xlLmNvbS8NCj4gPiANCj4gPiBTaWdu
ZWQtb2ZmLWJ5OiBUaG9tYXMgSHV0aCA8dGh1dGhAcmVkaGF0LmNvbT4NCj4gPiAtLS0NCj4gPiDC
oGRvY3MvYWJvdXQvZGVwcmVjYXRlZC5yc3QgfCAxMiArKysrKysrKysrKysNCj4gPiDCoDEgZmls
ZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspDQo+IA0KPiBSZXZpZXdlZC1ieTogRGFuaWVsIFAu
IEJlcnJhbmfDqSA8YmVycmFuZ2VAcmVkaGF0LmNvbT4NClJldmlld2VkLWJ5OiBXaWxmcmVkIE1h
bGxhd2EgPHdpbGZyZWQubWFsbGF3YUB3ZGMuY29tPg0KPiANCj4gDQo+IFdpdGggcmVnYXJkcywN
Cj4gRGFuaWVsDQoNCg==


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 22:01:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 22:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505931.779595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYZwc-0002F1-Qq; Sat, 04 Mar 2023 22:01:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505931.779595; Sat, 04 Mar 2023 22:01: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 1pYZwc-0002Bc-DU; Sat, 04 Mar 2023 22:01:34 +0000
Received: by outflank-mailman (input) for mailman id 505931;
 Fri, 03 Mar 2023 11:57: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=cEYq=63=zedat.fu-berlin.de=glaubitz@srs-se1.protection.inumbo.net>)
 id 1pY42h-0000BG-W3
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 11:57:43 +0000
Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de
 [130.133.4.66]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9a6b7a22-b9ba-11ed-96af-2f268f93b82a;
 Fri, 03 Mar 2023 12:57:42 +0100 (CET)
Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69])
 by outpost.zedat.fu-berlin.de (Exim 4.95) with esmtps (TLS1.3)
 tls TLS_AES_256_GCM_SHA384
 (envelope-from <glaubitz@zedat.fu-berlin.de>)
 id 1pY42W-004B3D-QC; Fri, 03 Mar 2023 12:57:32 +0100
Received: from p57bd9bc2.dip0.t-ipconnect.de ([87.189.155.194]
 helo=[192.168.178.81]) by inpost2.zedat.fu-berlin.de (Exim 4.95)
 with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384
 (envelope-from <glaubitz@physik.fu-berlin.de>)
 id 1pY42W-0029Jx-I9; Fri, 03 Mar 2023 12:57: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: 9a6b7a22-b9ba-11ed-96af-2f268f93b82a
Message-ID: <366865d17d130de0d75e9ea18e540bf4979b8ab7.camel@physik.fu-berlin.de>
Subject: Re: [PATCH v2 0/6] Deprecate support for 32-bit x86 and arm hosts
From: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
To: Thomas Huth <thuth@redhat.com>, Philippe
 =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>,
 qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>, Daniel
 Berrange <berrange@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?=
 <alex.bennee@linaro.org>, qemu-arm@nongnu.org, Maxim Levitsky
 <mlevitsk@redhat.com>, libvir-list@redhat.com, Richard Henderson
 <richard.henderson@linaro.org>, xen-devel@lists.xenproject.org, Reinoud
 Zandijk <reinoud@netbsd.org>, Michael Tokarev <mjt@tls.msk.ru>, Helge
 Deller <deller@gmx.de>, Laurent Vivier <lvivier@redhat.com>
Date: Fri, 03 Mar 2023 12:57:31 +0100
In-Reply-To: <2c7f837f-c156-8525-005f-f47d50591a85@redhat.com>
References: <20230302163106.465559-1-thuth@redhat.com>
	 <4bed38c3-ab4f-cd32-05a4-afa090ad8b9a@linaro.org>
	 <6c1f0d05-924e-854e-0175-5e345945e086@redhat.com>
	 <89fd1c916b6c8094ea1a7a52396b3f91025c75c1.camel@physik.fu-berlin.de>
	 <2c7f837f-c156-8525-005f-f47d50591a85@redhat.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 
MIME-Version: 1.0
X-Original-Sender: glaubitz@physik.fu-berlin.de
X-Originating-IP: 87.189.155.194
X-ZEDAT-Hint: PO

Hi Thomas!

On Fri, 2023-03-03 at 12:22 +0100, Thomas Huth wrote:
> The ticket is very long and hard to read, but ... oh my, does that mean y=
ou=20
> need to compile qemu-user in 32-bit mode on a 64-bit x86 host to properly=
=20
> run 32-bit binaries from other architectures? ... uh, that's ugly ... and=
=20
> sounds like bug in QEMU's user mode emulation ... and what if you're runn=
ing=20
> a distro (or different 64-bit host architecutre) that does not support=
=20
> 32-bit userspace libraries anymore? Then you're lost?

Perhaps the explanation here by Florian Weimer is a bit easier to understan=
d:

> https://lore.kernel.org/lkml/87bm56vqg4.fsf@mid.deneb.enyo.de/

Adrian

--=20
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


From xen-devel-bounces@lists.xenproject.org Sat Mar 04 22:01:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Mar 2023 22:01:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.505499.779542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYZwZ-0000uq-EC; Sat, 04 Mar 2023 22:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 505499.779542; Sat, 04 Mar 2023 22:01: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 1pYZwZ-0000sC-3A; Sat, 04 Mar 2023 22:01:31 +0000
Received: by outflank-mailman (input) for mailman id 505499;
 Fri, 03 Mar 2023 00:53: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=yqmn=63=wdc.com=prvs=4197e97ac=wilfred.mallawa@srs-se1.protection.inumbo.net>)
 id 1pXtfd-0002dr-FJ
 for xen-devel@lists.xenproject.org; Fri, 03 Mar 2023 00:53:13 +0000
Received: from esa6.hgst.iphmx.com (esa6.hgst.iphmx.com [216.71.154.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4d76820-b95d-11ed-96ad-2f268f93b82a;
 Fri, 03 Mar 2023 01:53:12 +0100 (CET)
Received: from mail-dm3nam02lp2047.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.47])
 by ob1.hgst.iphmx.com with ESMTP; 03 Mar 2023 08:53:02 +0800
Received: from BN6PR04MB0963.namprd04.prod.outlook.com (2603:10b6:405:43::35)
 by BYAPR04MB4934.namprd04.prod.outlook.com (2603:10b6:a03:4f::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.30; Fri, 3 Mar
 2023 00:53:00 +0000
Received: from BN6PR04MB0963.namprd04.prod.outlook.com
 ([fe80::6253:849d:e55e:17bb]) by BN6PR04MB0963.namprd04.prod.outlook.com
 ([fe80::6253:849d:e55e:17bb%7]) with mapi id 15.20.6156.018; Fri, 3 Mar 2023
 00: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>
X-Inumbo-ID: c4d76820-b95d-11ed-96ad-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com;
  t=1677804792; x=1709340792;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-id:content-transfer-encoding:
   mime-version;
  bh=RdEnAj8UoXYRnVydHlqn5l7u5rhG827S1lOVlOavNO8=;
  b=Dh6ZKE5oaVGvAuouX+ZqMiGUCHF/LnU53WP6dQzkjiwKDH8SXJzLQFEB
   foS7HEszXEaOUsg9vxwFd8BUpkSwRzg1aJHesOB/M/peReE8TDRmN6WcR
   L3apZyBEOliZdqvAsmUz2vXOD4IOc9Z2UKn+KCCvuMsccBs2EsB3QZ9ef
   endFBA/tu9S3tbjT1MOdqisXCuHBfjmDSJMqddExwk33N8BzmGZgQY5lY
   mEUFo4z4CMnLzqhdZRn86GHWmQVOZjQriC5mX9RmqvnoJ4tlje947MLKQ
   yZQw+0ggNxe+HAN39+ttxDDolgYULYZbqPlhN/QFK5dQTK2mdA6+nM12j
   g==;
X-IronPort-AV: E=Sophos;i="5.98,229,1673884800"; 
   d="scan'208";a="224680772"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZWdBM76EzF/+EQEhPxkOKZk2UdMRQ4zNrY6soxQrcNVVQ1lG+sY+52KgdGqaHatDUgf6FUjZgWD69QtqKTRqlAnLyRrnbi4718RgqEaE+oaOpOJDDuW8HSlxINQ8MW2KXO5X9xdL877ESW0WFTVOgq1lTND4ICBCOpe++Sg2VxehdTu89Eaj6439GfouOWbYdnsF4C3+yxeH4tfP0Xstu6wOzjUfKuvkfB7jYmDTHQQqAV8SRUDyah2WZJatJuBvnA8wMf3h9fYl/WNhzlGDA9oa+DfstjgQoEzIGgth735R/vXvDwGW/o2/6p8L2RPW3q/0J2n7rrbYa4C7EI7R4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RdEnAj8UoXYRnVydHlqn5l7u5rhG827S1lOVlOavNO8=;
 b=Kk4/7ftZrZMTJ5sMjbLgHmtO/KC2rs/px2tNtzOBNdeRVgP1bW7Lw8qFr+NMzeqrlApec8nsG0cDCOp3ShOsF/JCIips0lV2XtIGrMRq9lVVRN+pkbuz+9OkiWVD6FMQmJf2BaAVhrnhpjkRcTrh2UuZTn44hM2Gst7io+ldu9cbO0A4XyVsq7prvcKmUcnEx+vCMHKkKSSubn9wnOEf3iE2ZcTZAj+yIp5aLkghhp87aU3B1+rpRVQj5BvocqISwQMensF9JS2YnXebm0e4YHZqphOk9ReFN/zMlFCMVBSK5S1q11Io2J95CiuPfUuV2FGc2vkYl4+IP9H62uaRdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=wdc.com; dmarc=pass action=none header.from=wdc.com; dkim=pass
 header.d=wdc.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=sharedspace.onmicrosoft.com; s=selector2-sharedspace-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RdEnAj8UoXYRnVydHlqn5l7u5rhG827S1lOVlOavNO8=;
 b=ck2dNH+E1ikJWf3U/BTc14ITC13CBbnp4YvQ/O4zKHpDPAC0eoj5gpK3EzSRNHuamwmzKOv+9ClNnaFk8SO0+jZ80lA633HluZTLvx0DnZU1INftRNxPXv/j8UJ6XkS9D1yJcIX3EbE6rlR2OHGkQyFxxDLcb7wgaE/iwqKf5tk=
From: Wilfred Mallawa <wilfred.mallawa@wdc.com>
To: "berrange@redhat.com" <berrange@redhat.com>, "peter.maydell@linaro.org"
	<peter.maydell@linaro.org>, "pbonzini@redhat.com" <pbonzini@redhat.com>,
	"thuth@redhat.com" <thuth@redhat.com>, "qemu-devel@nongnu.org"
	<qemu-devel@nongnu.org>
CC: "alex.bennee@linaro.org" <alex.bennee@linaro.org>, "armbru@redhat.com"
	<armbru@redhat.com>, "qemu-arm@nongnu.org" <qemu-arm@nongnu.org>,
	"libvir-list@redhat.com" <libvir-list@redhat.com>, "reinoud@netbsd.org"
	<reinoud@netbsd.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "richard.henderson@linaro.org"
	<richard.henderson@linaro.org>, "mlevitsk@redhat.com" <mlevitsk@redhat.com>
Subject: Re: [PATCH v2 2/6] docs/about/deprecated: Deprecate 32-bit x86 hosts
Thread-Topic: [PATCH v2 2/6] docs/about/deprecated: Deprecate 32-bit x86 hosts
Thread-Index: AQHZTSSkBgIBlH/SBE65azPCvJVeaK7oOrIA
Date: Fri, 3 Mar 2023 00:52:59 +0000
Message-ID: <6642cd48a3f64a682f3edb47de7b50f6136d6289.camel@wdc.com>
References: <20230302163106.465559-1-thuth@redhat.com>
	 <20230302163106.465559-3-thuth@redhat.com>
In-Reply-To: <20230302163106.465559-3-thuth@redhat.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=wdc.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN6PR04MB0963:EE_|BYAPR04MB4934:EE_
x-ms-office365-filtering-correlation-id: 20576cfa-e94f-437e-35e9-08db1b81a28c
wdcipoutbound: EOP-TRUE
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 MoCu28zNq6VdHsIRv2cPKf6o77Pg6IWAXAvimYsxsAvE4k9VBBV+glW1Cy/il1jhflqshGs8ut3AIkc4GQloNRoKQOMHFzQhdJGL9Pf5Jv1Vh/tV7DCdkcaeQAl4vOo1cbKlOccDLGqRcBSaGvOblH5IlhUT3mSIaSAkCrXiHNfrc7BNyg377WPavxQD/sjLCE2kBsqPiSKruE23vKEmvQZu1mcFcVd2E809BpNoncn+r/Bres82TgIFdpNlRwQ1fqGBuEhVEl88IWIv0J1hLkleZlmv8INpJXzp4JqKAmTYCNXxOArNdsJoSqyvkq0WUoCmzJiAFmooyaeJs/ncy99TFBdux922uhrf40fVRIcJK5zE6eAD4zmjcfviO+t3rk8qRf5ULT7SPm6lewlpWiDcYxZXkVakBYBjR4zNp4rWrzSGHgQBV9/jyB2iyVmANyYAy3gaqqtx2skkwl7JXOqBYHKWJfE1oc9KkOyuffxmi7q7tO80t/2zMu2OfECwh8vt1qGKRpW1/XcXtg7z+mUHaG932T0wD4AJd2TxYYaz+4JxFY4DFzJPPcj1RLER/h6bUw0oi0edCOjOd9SOUBrfWKwLvhH+FIC/3E2Isa1HIZ1NALiq5xV/2bTOL+m3SbWkgyn/GHgGUQb3Mx95RVyXy9d1OcgmX3my5t0y7/0SpvyPvrUaBC8pD2R1OqOujkCf5K21kwOiASAcJX7P+w==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN6PR04MB0963.namprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(376002)(136003)(346002)(366004)(396003)(451199018)(4326008)(86362001)(8936002)(36756003)(66946007)(41300700001)(66476007)(64756008)(7416002)(8676002)(66556008)(66446008)(2906002)(5660300002)(44832011)(82960400001)(38070700005)(122000001)(38100700002)(71200400001)(91956017)(478600001)(54906003)(6486002)(316002)(2616005)(76116006)(6512007)(110136005)(83380400001)(26005)(6506007)(186003);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?UkR2TFZOZ0xZV1VoeXB2U0RXaFpqSmJ3WEdUZ3RQL0IzcVU4RllrT0dzM3Mz?=
 =?utf-8?B?TWg4NENSMzBuUTdOY0ZzRmQrR3U4b3pscmRsRDRrdWplbkJFMDlLOHVHVWM5?=
 =?utf-8?B?dmhvS0ZXSUIyZis2eklQL3hRbnpTRFNLaUJDcGdYMThGT2dGd2E1Q3lvWEMv?=
 =?utf-8?B?WFFHQ25yT0s0ZlkrYTkya2NaUHRpb3ZWWWJab1NOVEtFUm9DTkJ4bnI3d1Zm?=
 =?utf-8?B?MWJOU2sxbWdZQ1RSdXd3aFpxM0QwUGRCN2JkTkNwUm5oNUpBRGFqblVWRllP?=
 =?utf-8?B?NUZJZStiUElRWHNrdFJDNWMreis0b3VsS1RSK1VHbjVlU004cUdNTExpTW4w?=
 =?utf-8?B?YUkvWXhKRGQ1dlBrSHZwMnVkSkxzV1Y0WVg1eUp5YlVDZlRramNTckRkR3p2?=
 =?utf-8?B?NmpnczlMMmpUdSs3NEhQNFdES1dWeVZoUDRPeGNOWjRSUGxld0lUQlRGUklF?=
 =?utf-8?B?cDAwRGxLcmtVQzV0bTNZTmVHTDl4RUVtS0FVNFNGYmZhcEV4aHAwSVczaHE3?=
 =?utf-8?B?d0FyajJPbENrckdDZTh2TU9iUXVreENvWGxUaGs1WEd4SmNNam9qNGV3YStk?=
 =?utf-8?B?U0MvTWw5bWwxUnZXVW40UXM2STlWclkrT1FJRklYTmdYVGlEcENmLzYrdE12?=
 =?utf-8?B?RnJsdGRlaXZ0cjVBRW5IcndGR2xUaGRTYitSVnkxMXMwcHBMK3dIZkxsMGlQ?=
 =?utf-8?B?QjVoU0plSHRLOFhyVDFTTjBBTGM0cjNPbUhhNjJ0MHUzVGJnMXB5bkNUSERk?=
 =?utf-8?B?M05kU3RtM1Y5NDJwa3hhU2dUR2dadXUvR2drblRXNDFpVkdQREdGbmNyVlZV?=
 =?utf-8?B?K0w4YTRFV2R4MmR5QVRHRSsvbWNVWUkyN2pEK0ZkdGpYUWlnVmJ5UUxSKzRl?=
 =?utf-8?B?QkdTVXYzRkxVUGhoTkRQQTVmTno3NUtobERxbVZXS0VEdW1kU3dFUXJmazla?=
 =?utf-8?B?dWJyVjBFSTMyOEUydHdIeGFrUzN0dm0yMHRiK1o3Ny91Nm9ET1BOdUN1bmNF?=
 =?utf-8?B?Vktzb05WMnhOS3pzWW8yRDZ0a3ZnMDJKR2U5Tm1VdDhqQWhWZUtORGtQL3JL?=
 =?utf-8?B?cDU2R3ZJcFlrQ3l5SXBUSzdPM1NLU080S216Vld0UnlCS1ZkWisxRldHekUz?=
 =?utf-8?B?RW0wUk1TVm5tWWRpVExmbGFZemZ0TlhWWFFxbTNRNisxMlhsdnA4am9yNGJ6?=
 =?utf-8?B?cFFxR0hOczY0cVJteHBTMDRvbUFkaXo1WHhpeHdOd3o2Y0duSU1jSEEzLzZk?=
 =?utf-8?B?QkJRd0VJT1duRFhVcU9mNkZma1g4TmkxQTd3dFJXRmdOTzA5ZUhJaHF2aFFr?=
 =?utf-8?B?b3FRWElPUXBHMnQ5a2dMRVZya2lPV2hTN3g4VzVkZzZSaUpkQ3RTalBOZFVJ?=
 =?utf-8?B?amk3OXFxWmFiUW9tTnY5a281blFtYVBUd3BHL29kVkJ0a0daN1BVTzYvU1l0?=
 =?utf-8?B?VEdhNk12ZUtvRTdCUGZaVGJheWlHbkRiaW9idTBvMHozeW85QjJyZytheDIy?=
 =?utf-8?B?ekhCK1VMNXNhelNJZlE4cGtKZG01VjB4ZHpMSmlNRDVoSTNDK09xQWJuRklV?=
 =?utf-8?B?dk1jR0ovUTB0UVdVbFhnQzBvWWJDTEd5cjB5MXVjbUR6aVk5QjRKUjJLbTFS?=
 =?utf-8?B?Vk8zOXd5UnM2WG9aa3ZianNsMW1USlYrdE1WVmM1RlBldnhvWlFiUnRwMm1Q?=
 =?utf-8?B?Tm1NalZCemIxL25JTlF4bEtMTk5JcDRsd3JUYzYvMmxSUUZzMTNuYm1pSUJt?=
 =?utf-8?B?dkR4ckdDQUhxZFRmT3oxMlQ3RmYzdWo4RTBMY2FrNTQxcmIxVXFUbUxUY01t?=
 =?utf-8?B?TVhlblpkMStGb3Q3UW9ycFFpKy9YRjdWUllseUFPVjFpRVFCRVdHbUVSclhi?=
 =?utf-8?B?L1Zsam0ySXg4ZnBid3lBWDBwL1lNb1k2dlVIZDVFaEg1U3VKSkVrUEhBaGt5?=
 =?utf-8?B?b0wxT20zcE5xWWNSMzA2MUFVSEVpS3NBY2FMcVU2d2EwOEdINW1qMC9vVzBI?=
 =?utf-8?B?cy81OS9iTzU4ZEVmTHNtTWZ2cVBaVW1rclB6WHZZK3RVYXMwRWtrMVJISllm?=
 =?utf-8?B?dVpBOTVoa1Y2UlNyTG1TUFh0YWI1WTdrcnhoSzBEMFBNVnlMbmlMZHp4azdp?=
 =?utf-8?B?MDZ3Ui8wSnMzN3FUbnJlMjIxTTlNc1F5RU51RVRhYTRTZjRhY3AwT3VxRU0w?=
 =?utf-8?B?RGc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <59D3A895B68CE44E8E6CDC239A25E20E@namprd04.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	5xTvr0K4l9OGGlyognto9ZQ0d38oqMnjtkgTng/gghdrR6pZl8akZV+jNUrQqk9rvI1UDn8Dlc78I+SJnNa9YOEo//eQdSISJV1XQn4jtgAWGUcDHGYZHWNbw3+H17/GGT8iu+rIEBtYDmo8S0+68mlG70sjrPNtatDPtHggJhk9xlhT2M9nNS8wNKACNDQFIhREXxxjna0hX4r2ZN85+wBQLDwZKfogOvghVnpA7Uy6vnU4kXaQrGQoRrH4FhtOc5gJWs7Xd6drSgOGmC9ykpQW7in6owKs4KqmiaSSB8y9fK+E6THB2OMP/YBw8x9LnJ8lBxyIhcBT51sVK3Qv/oYcbqH3kNJNMO9vx0GtcHXQ49WjRk0VXN3MqF0asYwem83L+VA76c2OBf3XhpeIv4CqGfct5S4Nsn7H9zobzGqc9bun45W/DK//XmNmrngVcxKt8Xp9Y1tRVzre9cKC++ASIWfKTeEWjkAHs4EbkqkvcquUoO8hiYINvLUV0fDptlzJdOzE0LZcvIvYAUGFUihFVySyzlwu9/FbGPMoprK0QhqrZJe7rLZwI+iZzD3+8Qbr35lNKbb2mZibc0KqEkuxOotcHxH5aeEv3zDvACb3QWjJ2VfaCygXt0ji8cZz3q5wS5rvhb9jpzcjP4YqHdT8N2Jq2woku1MbLVPSOENS+DNGe8T2RHTf/hJOiJxNGopZIJAhlfNP6m+VR6NnsPpLNHAnGn7gx/WAuxbMAKyvrJXPRu7J2/wkLcVjVgPUQCjZIlNvtBZ3Iw6OFRiHMwlvclocppejw5uMTUgGEfKQetzE7zvY8J23W4UnX3XF5w8I55TqE97lM4fH3GZlzTqr56R9CxQ/sFqAUjyEzMsyONVWGhwx9VXXYxiz1QYDzJYvoyLRidxB4j45yLBoJkWUIuS59rhjN/ksR/zULGw=
X-OriginatorOrg: wdc.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN6PR04MB0963.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 20576cfa-e94f-437e-35e9-08db1b81a28c
X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2023 00:52:59.4261
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 6qj2mnRq9FFdHq2ji4twGVQ+sycXdp720qRxJy01Hp8plknPG7SXARcF0YJ5CmYhFoe0INM/lZoQsuPHmm/L5g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR04MB4934

T24gVGh1LCAyMDIzLTAzLTAyIGF0IDE3OjMxICswMTAwLCBUaG9tYXMgSHV0aCB3cm90ZToNCj4g
SGFyZGx5IGFueWJvZHkgc3RpbGwgdXNlcyAzMi1iaXQgeDg2IGhvc3RzIHRvZGF5LCBzbyB3ZSBz
aG91bGQgc3RhcnQNCj4gZGVwcmVjYXRpbmcgdGhlbSB0byBzdG9wIHdhc3Rpbmcgb3VyIHRpbWUg
YW5kIENJIG1pbnV0ZXMgaGVyZS4NCj4gRm9yIGV4YW1wbGUsIHRoZXJlIGFyZSBhbHNvIHN0aWxs
IHNvbWUgdW5yZXNvbHZlZCBwcm9ibGVtcyB3aXRoDQo+IHRoZXNlOg0KPiBXaGVuIGVtdWxhdGlu
ZyA2NC1iaXQgYmluYXJpZXMgaW4gdXNlciBtb2RlLCBUQ0cgZG9lcyBub3QgaG9ub3INCj4gYXRv
bWljaXR5DQo+IGZvciA2NC1iaXQgYWNjZXNzZXMsIHdoaWNoIGlzICJwZXJoYXBzIHdvcnNlIHRo
YW4gbm90IHdvcmtpbmcgYXQgYWxsIg0KPiAocXVvdGluZyBSaWNoYXJkKS4gTGV0J3Mgc2ltcGx5
IG1ha2UgaXQgY2xlYXIgdGhhdCBwZW9wbGUgc2hvdWxkIHVzZQ0KPiA2NC1iaXQgeDg2IGhvc3Rz
IG5vd2FkYXlzIGFuZCB3ZSBkbyBub3QgaW50ZW5kIHRvIGZpeC9tYWludGFpbiB0aGUNCj4gb2xk
DQo+IDMyLWJpdCBzdHVmZi4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFRob21hcyBIdXRoIDx0aHV0
aEByZWRoYXQuY29tPg0KPiAtLS0NCj4gwqBkb2NzL2Fib3V0L2RlcHJlY2F0ZWQucnN0IHwgMTIg
KysrKysrKysrKysrDQo+IMKgMSBmaWxlIGNoYW5nZWQsIDEyIGluc2VydGlvbnMoKykNClJldmll
d2VkLWJ5OiBXaWxmcmVkIE1hbGxhd2EgPHdpbGZyZWQubWFsbGF3YUB3ZGMuY29tPg0KPiANCj4g
ZGlmZiAtLWdpdCBhL2RvY3MvYWJvdXQvZGVwcmVjYXRlZC5yc3QgYi9kb2NzL2Fib3V0L2RlcHJl
Y2F0ZWQucnN0DQo+IGluZGV4IDExNzAwYWRhYzkuLmEzMGFhOGRmZGYgMTAwNjQ0DQo+IC0tLSBh
L2RvY3MvYWJvdXQvZGVwcmVjYXRlZC5yc3QNCj4gKysrIGIvZG9jcy9hYm91dC9kZXByZWNhdGVk
LnJzdA0KPiBAQCAtMjA4LDYgKzIwOCwxOCBAQCBDSSBjb3ZlcmFnZSBzdXBwb3J0IG1heSBiaXRy
b3QgYXdheSBiZWZvcmUgdGhlDQo+IGRlcHJlY2F0aW9uIHByb2Nlc3MNCj4gwqBjb21wbGV0ZXMu
IFRoZSBsaXR0bGUgZW5kaWFuIHZhcmlhbnRzIG9mIE1JUFMgKGJvdGggMzIgYW5kIDY0IGJpdCkN
Cj4gYXJlDQo+IMKgc3RpbGwgYSBzdXBwb3J0ZWQgaG9zdCBhcmNoaXRlY3R1cmUuDQo+IMKgDQo+
ICszMi1iaXQgeDg2IGhvc3RzIChzaW5jZSA4LjApDQo+ICsnJycnJycnJycnJycnJycnJycnJycn
JycnJycnDQo+ICsNCj4gK1N1cHBvcnQgZm9yIDMyLWJpdCB4ODYgaG9zdCBkZXBsb3ltZW50cyBp
cyBpbmNyZWFzaW5nbHkgdW5jb21tb24gaW4NCj4gK21haW5zdHJlYW0gT1MgZGlzdHJpYnV0aW9u
cyBnaXZlbiB0aGUgd2lkZXNwcmVhZCBhdmFpbGFiaWxpdHkgb2YgNjQtDQo+IGJpdA0KPiAreDg2
IGhhcmR3YXJlLiBUaGUgUUVNVSBwcm9qZWN0IG5vIGxvbmdlciBjb25zaWRlcnMgMzItYml0IHg4
Ng0KPiBzdXBwb3J0DQo+ICt0byBiZSBhbiBlZmZlY3RpdmUgdXNlIG9mIGl0cyBsaW1pdGVkIHJl
c291cmNlcywgYW5kIHRodXMgaW50ZW5kcyB0bw0KPiArZGlzY29udGludWUgaXQuIFNpbmNlIGFs
bCByZWNlbnQgeDg2IGhhcmR3YXJlIGZyb20gdGhlIHBhc3QgPjEwDQo+IHllYXJzDQo+ICtpcyBj
YXBhYmxlIG9mIHRoZSA2NC1iaXQgeDg2IGV4dGVuc2lvbnMsIGEgY29ycmVzcG9uZGluZyA2NC1i
aXQgT1MNCj4gK3Nob3VsZCBiZSB1c2VkIGluc3RlYWQuDQo+ICsNCj4gKw0KPiDCoFFFTVUgQVBJ
IChRQVBJKSBldmVudHMNCj4gwqAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IMKgDQoNCg==


From xen-devel-bounces@lists.xenproject.org Sun Mar 05 00:11:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Mar 2023 00:11:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506491.779624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYbxp-0005zP-7Q; Sun, 05 Mar 2023 00:10:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506491.779624; Sun, 05 Mar 2023 00:10:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYbxp-0005zI-4m; Sun, 05 Mar 2023 00:10:57 +0000
Received: by outflank-mailman (input) for mailman id 506491;
 Sun, 05 Mar 2023 00:10: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 1pYbxn-0005ys-Mg; Sun, 05 Mar 2023 00:10: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 1pYbxn-00040V-Hh; Sun, 05 Mar 2023 00:10: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 1pYbxn-0007mL-7C; Sun, 05 Mar 2023 00:10:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pYbxn-0004px-6i; Sun, 05 Mar 2023 00:10: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=3bjkMfhrWveHqXS0DtC7pPX7Wm1pW5nyNAmSGg2h2PE=; b=a7QFGAUw4vq+Cjvk8z9P0gLBqS
	JB3OMqXAAPD967Fv0onsiN7/+WGScyzY/3XOAAyL/9goGUIOG9zyAybgWCYyhFQdOYtkPWrqDSpP1
	6CDFvL6yrgQ7AY2FHcKtxECYnLeFv24qEvjGV7TzjBKsfVySaGIFmYcWZI+9kFpZKKWw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179189-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179189: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=0988a0ea791999ebbf95693f2676381825b05033
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 05 Mar 2023 00:10:55 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 178042
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                0988a0ea791999ebbf95693f2676381825b05033
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   11 days
Failing since        178093  2023-02-22 05:02:47 Z   10 days   21 attempts
Testing same since   179189  2023-03-04 12:28:31 Z    0 days    1 attempts

------------------------------------------------------------
2030 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Mar 05 07:07:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Mar 2023 07:07:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506505.779635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYiSJ-0002Xb-8L; Sun, 05 Mar 2023 07:06:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506505.779635; Sun, 05 Mar 2023 07:06:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYiSJ-0002XU-5V; Sun, 05 Mar 2023 07:06:51 +0000
Received: by outflank-mailman (input) for mailman id 506505;
 Sun, 05 Mar 2023 07: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=tvXp=65=gmail.com=bobbyeshleman@srs-se1.protection.inumbo.net>)
 id 1pYiSI-0002XO-55
 for xen-devel@lists.xenproject.org; Sun, 05 Mar 2023 07:06:50 +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 4b591592-bb24-11ed-a550-8520e6686977;
 Sun, 05 Mar 2023 08:06:47 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id s11so26191721edy.8
 for <xen-devel@lists.xenproject.org>; Sat, 04 Mar 2023 23:06: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: 4b591592-bb24-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678000007;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=l+EbDURzTRHIyVVZE31yctx/zWPbqi3GIkGOXgI3s0I=;
        b=frwn8UUfE4KY6GIfVCgvWWhN73nstNxrF8r3/EcWRTys3SvuPiBRpAyi0yxkChD9+t
         xdQUGA765bopG1R3mE/VTekGERthaB+e1s+xiwdEfwy9a6JSjNulrSuxafcuQHSu72WQ
         6tl6Ln/XPxMoHLMfccJ+lkww9DN0moMIoHYg4wzjQMP3WviMsAmkiEaRAiQhR7FfE6oY
         Xd8Hzwz+lFYXOTnnPg1OhVxTmjLNxWRSZ8zQrFQCGbksj+l7YTNWRVFcfVT/3ErRdhGt
         5ZxOcjpKdI1x2MVtZRr8MkpMhuDpa6mSiKMOofUMtT4rMVBGuf8dqw782hJfM9dH5mQx
         aoeA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678000007;
        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=l+EbDURzTRHIyVVZE31yctx/zWPbqi3GIkGOXgI3s0I=;
        b=Kl2gdnnIE8q/jVy+69/6MtjqZraRFsLUbtxur7HSpEOO3z1DirscP9NoEQqujURcm0
         NiqIxunsRfH9ulY4OE5A6HGt2QRUWpK4rC0dlKwLnztQMBDJ7f0KXCe895MP4wdh1OGf
         HM8ocOs7yBI9vm27/T3thldTX5GqWWE8/gNtLPFEBeGotIZV2r0PtyhiPwtYAarMDSQB
         4vc8HjUGlz9wEJJ5h2o/zgD4hS4mle7sHCNum0JdKTleOMUcDRyV5x4VRxfqaww8xZdJ
         eFwtxDmTCrGmMx5nqAboL6kUtWdnn9LMzWa7CtuNE+EHI3Q8RghuzEJxX5AyBCuXa0u9
         5b2g==
X-Gm-Message-State: AO0yUKVxeXihfz1vub8Oaa0uxc6cq1wF8vDUCNpd6id6Pxy0u3tLwruU
	eCYdvw281MDvMiT9wMYX+CV2AYOjsMbnGOF8jxmQ80iU
X-Google-Smtp-Source: AK7set8oBX9xEvDv9QVBKCwJCSoH7H8g9NabbLaIjgbWUolF1qTq4q+cm4RNMioX+l277ys/w1+uIx4Ar64MK+9fjkg=
X-Received: by 2002:a17:906:3141:b0:8e5:411d:4d09 with SMTP id
 e1-20020a170906314100b008e5411d4d09mr3332860eje.15.1678000007012; Sat, 04 Mar
 2023 23:06:47 -0800 (PST)
MIME-Version: 1.0
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
In-Reply-To: <cover.1677838213.git.oleksii.kurochko@gmail.com>
From: Bobby Eshleman <bobby.eshleman@gmail.com>
Date: Sat, 4 Mar 2023 23:06:36 -0800
Message-ID: <CAKB00G2=MSXrLyczXUEm+OzBj=an6CsjUrRfDhLELupTyAGd2w@mail.gmail.com>
Subject: Re: [PATCH v3 0/3] Do basic initialization things
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	Connor Davis <connojdavis@gmail.com>, Gianluca Guida <gianluca@rivosinc.com>, 
	Jan Beulich <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="00000000000059e63905f621d294"

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

I just wanted to let you know I have this queued up to review, I=E2=80=99ve=
 just
been very overloaded. I=E2=80=99ll give these a review in the coming week.

Best,
Bobby

On Fri, Mar 3, 2023 at 2:24 AM Oleksii Kurochko <oleksii.kurochko@gmail.com=
>
wrote:

> The patch series groups and updates the following patches:
> 1. xen/riscv: disable fpu
> 2. xen/riscv: initialize .bss section
> 3. xen/riscv: read/save hart_id and dtb_base passed by bootloader
>
> ---
> Changes since v2:
>  * Patch [xen/riscv: disable fpu] was moved to the start of start()
>    function  to detect illegal usage of floating point
>    earlier.
>  * Add dummy_bss variable to make .bss initialization code more simple.
>  * Change comparison of addresses from signed to unsigned.
>  * Add the comment for start() function with the explanation what and
>    how OpenSBI pass to start() function.
>  * Clean up start() code related to read&save hart_id & dtb_base.
> ---
> Changes since v1:
>  * initialization of .bss was moved to head.S
>  * read/save/pass of hart_id and  dtb_base passed by a bootloader
>    were moved to head.S. Also, it was updated start_xen() arguments
>    to recieve hard_id & dtb_base
> ---
>
> Oleksii Kurochko (3):
>   xen/riscv: disable fpu
>   xen/riscv: read/save hart_id and dtb_base passed by bootloader
>   xen/riscv: initialize .bss section
>
>  xen/arch/riscv/riscv64/head.S | 21 +++++++++++++++++++++
>  xen/arch/riscv/setup.c        | 11 ++++++++++-
>  2 files changed, 31 insertions(+), 1 deletion(-)
>
> --
> 2.39.0
>
>

--00000000000059e63905f621d294
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto">I just wanted to let you know I have this queued up to re=
view, I=E2=80=99ve just been very overloaded. I=E2=80=99ll give these a rev=
iew in the coming week.</div><div dir=3D"auto"><br></div><div dir=3D"auto">=
Best,</div><div dir=3D"auto">Bobby</div><div><br><div class=3D"gmail_quote"=
><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Mar 3, 2023 at 2:24 AM Oleks=
ii Kurochko &lt;<a href=3D"mailto:oleksii.kurochko@gmail.com">oleksii.kuroc=
hko@gmail.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The pa=
tch series groups and updates the following patches:<br>
1. xen/riscv: disable fpu<br>
2. xen/riscv: initialize .bss section<br>
3. xen/riscv: read/save hart_id and dtb_base passed by bootloader<br>
<br>
---<br>
Changes since v2:<br>
=C2=A0* Patch [xen/riscv: disable fpu] was moved to the start of start()<br=
>
=C2=A0 =C2=A0function=C2=A0 to detect illegal usage of floating point<br>
=C2=A0 =C2=A0earlier.<br>
=C2=A0* Add dummy_bss variable to make .bss initialization code more simple=
.<br>
=C2=A0* Change comparison of addresses from signed to unsigned.<br>
=C2=A0* Add the comment for start() function with the explanation what and<=
br>
=C2=A0 =C2=A0how OpenSBI pass to start() function.<br>
=C2=A0* Clean up start() code related to read&amp;save hart_id &amp; dtb_ba=
se.=C2=A0 =C2=A0<br>
---<br>
Changes since v1:<br>
=C2=A0* initialization of .bss was moved to head.S<br>
=C2=A0* read/save/pass of hart_id and=C2=A0 dtb_base passed by a bootloader=
<br>
=C2=A0 =C2=A0were moved to head.S. Also, it was updated start_xen() argumen=
ts<br>
=C2=A0 =C2=A0to recieve hard_id &amp; dtb_base<br>
---<br>
<br>
Oleksii Kurochko (3):<br>
=C2=A0 xen/riscv: disable fpu<br>
=C2=A0 xen/riscv: read/save hart_id and dtb_base passed by bootloader<br>
=C2=A0 xen/riscv: initialize .bss section<br>
<br>
=C2=A0xen/arch/riscv/riscv64/head.S | 21 +++++++++++++++++++++<br>
=C2=A0xen/arch/riscv/setup.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 | 11 ++++++++++-<br=
>
=C2=A02 files changed, 31 insertions(+), 1 deletion(-)<br>
<br>
-- <br>
2.39.0<br>
<br>
</blockquote></div></div>

--00000000000059e63905f621d294--


From xen-devel-bounces@lists.xenproject.org Sun Mar 05 07:53:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Mar 2023 07:53:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506518.779644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYjB1-0000Sf-NO; Sun, 05 Mar 2023 07:53:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506518.779644; Sun, 05 Mar 2023 07:53:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYjB1-0000SY-KU; Sun, 05 Mar 2023 07:53:03 +0000
Received: by outflank-mailman (input) for mailman id 506518;
 Sun, 05 Mar 2023 07:53: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 1pYjB0-0000SM-0q; Sun, 05 Mar 2023 07:53: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 1pYjAz-0005OW-U5; Sun, 05 Mar 2023 07:53: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 1pYjAz-0008Aw-Gj; Sun, 05 Mar 2023 07:53:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pYjAz-000116-GD; Sun, 05 Mar 2023 07:53: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=XTn8UCZi1BtOXxRf+M4D5n4u0LRAqwKIJbWcMUugLN0=; b=Ou4S/1kDUndOuiMNU87m0EYTwh
	SobpvskPV5IRLwxC6gSp/8joNWhYViSR/sKl8cfRY113mDkA2E7NleLKy779Ga9Q7H/MF5HahonWz
	KCmHngwhcklY8ejsPs56D+81dpefdZ8OlKmi3FU1ExqHLKozKJdBF8rGFs9W4Q54c0K8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179239-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179239: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=b01fe98d34f3bed944a93bd8119fed80c856fad8
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 05 Mar 2023 07:53:01 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 178042
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm     18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                b01fe98d34f3bed944a93bd8119fed80c856fad8
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   11 days
Failing since        178093  2023-02-22 05:02:47 Z   11 days   22 attempts
Testing same since   179239  2023-03-05 00:44:03 Z    0 days    1 attempts

------------------------------------------------------------
2041 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Mar 05 10:57:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Mar 2023 10:57:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506549.779654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYm3O-0005cT-VZ; Sun, 05 Mar 2023 10:57:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506549.779654; Sun, 05 Mar 2023 10: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 1pYm3O-0005cM-Sf; Sun, 05 Mar 2023 10:57:22 +0000
Received: by outflank-mailman (input) for mailman id 506549;
 Sun, 05 Mar 2023 10:57: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 1pYm3N-0005cC-Pd; Sun, 05 Mar 2023 10:57: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 1pYm3N-0001l5-MX; Sun, 05 Mar 2023 10:57: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 1pYm3N-0004N4-Cw; Sun, 05 Mar 2023 10:57:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pYm3N-0007nO-Cb; Sun, 05 Mar 2023 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=AkqBPMg9LzAau+l4pv7zxkdmekSGUfCPEsCZVFg8i3w=; b=KNLXngby+6rwbdHVKvsDtLEmjh
	BW5JLF3Rz44+Lu8wVsEBq60H6KhCtHhRFoQv53wR6qEv3YYBtkMckaCznqBHBqaoe16ohZvtSPxbu
	phR2MMF8j5cAbcnYrqxS/fpdP4CAoSL03fRramWCgy2S1Y6tgrPZkPTLOSvGeNFqnVGk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179244-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179244: tolerable trouble: fail/pass/starved
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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=380a8c0c65bfb84dab54ab4641cca1387cc41edb
X-Osstest-Versions-That:
    xen=380a8c0c65bfb84dab54ab4641cca1387cc41edb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 05 Mar 2023 10:57:21 +0000

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

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 179148
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179148
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179148
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179148
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179148
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179148
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179148
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179148
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179148
 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-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          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-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  380a8c0c65bfb84dab54ab4641cca1387cc41edb
baseline version:
 xen                  380a8c0c65bfb84dab54ab4641cca1387cc41edb

Last test of basis   179244  2023-03-05 01:53:01 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 Mar 05 16:26:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Mar 2023 16:26:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506583.779665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYrBF-0002AW-DK; Sun, 05 Mar 2023 16:25:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506583.779665; Sun, 05 Mar 2023 16:25: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 1pYrBF-0002AP-Ae; Sun, 05 Mar 2023 16:25:49 +0000
Received: by outflank-mailman (input) for mailman id 506583;
 Sun, 05 Mar 2023 16:25: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=wtgv=65=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pYrBE-0002AJ-FC
 for xen-devel@lists.xenproject.org; Sun, 05 Mar 2023 16:25:48 +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 61dd316e-bb72-11ed-96b3-2f268f93b82a;
 Sun, 05 Mar 2023 17:25:46 +0100 (CET)
Received: by mail-lj1-x230.google.com with SMTP id t14so7274652ljd.5
 for <xen-devel@lists.xenproject.org>; Sun, 05 Mar 2023 08:25:45 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.189.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.189]) by smtp.gmail.com with ESMTPSA id
 b15-20020a2e988f000000b00295a50e7529sm1339249ljj.90.2023.03.05.08.25.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 05 Mar 2023 08:25: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: 61dd316e-bb72-11ed-96b3-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678033545;
        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=tmM44CFqbt3GZg5aJ9Hk+pTeJpQOUNmKLJQ1apNYbik=;
        b=o8AufjupCrbAchv+89LDUEyKNDO8PeuvB+tAAPTJuyXfamO0k0bmBu9FkGAwg+KCHC
         MuZB93WOG5CdmUUmRI2AflgapehbKQVw0pUYMIg68ANyg1h0L/ZnCQJxc8NxEGFUT4gx
         zE0Evye5TV5BjT/cv1/a6L8cAdFMEkUBsqz9MEzKlV+kOUbLowv+bJeIGGTKT47ILUgk
         L83B1Z2QqYRVeod4cUyqgzUhyp81ssJ8ObrFMiW5fER69YjVGN+/v+Ri2oVVGolI2xyX
         nMEGaixUIzfB5tksDHhiUu90HWHd15lfivr2sxWov0hEPVogbIakySgi01HhKX0wjUth
         sMAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678033545;
        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=tmM44CFqbt3GZg5aJ9Hk+pTeJpQOUNmKLJQ1apNYbik=;
        b=du0/KJVttWCnhCGZOW4WeyMeW3DMhiI0xcSCP5pEmS1DGRmyD0EEgp8NUGtjGL6zup
         /Av+274DtOi00TYLKNd3bg1IAJBnZcFhmGI5PcYcracH+pFYshRuZLI69I5Na+hJ/Wgu
         kGExrcAS2t3fX6wDCUxhMGP/Tv6mCAyPTig9Rh3lO3cCgnWW2ZTVHljnWEIFkS8Mdpps
         A90TAJ/XMHFuwfyqcmTQxkpDkk2d1qn//FxNuRd+/odC4hx15tJ9/YB5mnDv59KOa5j/
         JCKflCSINa2T9x9B8Ey4fbWkcn2nw9U3Y2TqpAFaOPJNKYthvcPMyslTfG5ADtrOp6HY
         /3cw==
X-Gm-Message-State: AO0yUKWB/+UHaWZg26XOaSQtaVTJdGpudh5ez2Ck+KV7ptU31vApkWvr
	MlDMLbptiruzqgo007+htpk=
X-Google-Smtp-Source: AK7set+Cn1C4sRCPrGwdR2r2epJeYEi/BwBDj0MWOiOGPCAuJgy+v9FLX8gkhy92rtZp3QfNzTh+7Q==
X-Received: by 2002:a2e:3101:0:b0:295:b395:3687 with SMTP id x1-20020a2e3101000000b00295b3953687mr2344954ljx.5.1678033545281;
        Sun, 05 Mar 2023 08:25:45 -0800 (PST)
Message-ID: <e0722b2323c78478f8fd07b515bb607ef168ef1e.camel@gmail.com>
Subject: Re: [PATCH v1 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>
Date: Sun, 05 Mar 2023 18:25:43 +0200
In-Reply-To: <98d45f93-b611-1016-45b5-3d7487af261f@xen.org>
References: <cover.1677250203.git.oleksii.kurochko@gmail.com>
	 <a145fbbfb166d9f6bd4859b669d23a1f52004b2b.1677250203.git.oleksii.kurochko@gmail.com>
	 <fca300ad-0fd1-70ed-4cd4-82e89f5c3351@xen.org>
	 <a0f3f1ca4277c1f8aeeaf6531d90c5b04c244af9.camel@gmail.com>
	 <98d45f93-b611-1016-45b5-3d7487af261f@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

SGkgSnVsaWVuLAoKT24gTW9uLCAyMDIzLTAyLTI3IGF0IDE3OjM2ICswMDAwLCBKdWxpZW4gR3Jh
bGwgd3JvdGU6Cj4gSGkgT2xla3NpaSwKPiAKPiBPbiAyNy8wMi8yMDIzIDE2OjUyLCBPbGVrc2lp
IHdyb3RlOgo+ID4gT24gU2F0LCAyMDIzLTAyLTI1IGF0IDE3OjUzICswMDAwLCBKdWxpZW4gR3Jh
bGwgd3JvdGU6Cj4gPiA+ID4gKy8qCj4gPiA+ID4gKyAqIFdBUk5JTkc6IGxvYWRfYWRkcigpIGFu
ZCBsaW5rZXJfYWRkcigpIGFyZSB0byBiZSBjYWxsZWQKPiA+ID4gPiBvbmx5Cj4gPiA+ID4gd2hl
biB0aGUgTU1VIGlzCj4gPiA+ID4gKyAqIGRpc2FibGVkIGFuZCBvbmx5IHdoZW4gZXhlY3V0ZWQg
YnkgdGhlIHByaW1hcnkgQ1BVLsKgIFRoZXkKPiA+ID4gPiBjYW5ub3QgcmVmZXIgdG8KPiA+ID4g
PiArICogYW55IGdsb2JhbCB2YXJpYWJsZSBvciBmdW5jdGlvbnMuCj4gPiA+IAo+ID4gPiBJIGZp
bmQgaW50ZXJlc3RpbmcgeW91IGFyZSBzYXlpbmcgd2hlbgo+ID4gPiBfc2V0dXBfaW5pdGlhbF9w
YWdldGFibGVzKCkgaXMKPiA+ID4gY2FsbGVkIGZyb20gc2V0dXBfaW5pdGlhbF9wYWdldGFibGVz
KCkuIFdvdWxkIHlvdSBiZSBhYmxlIHRvCj4gPiA+IGV4cGxhaW4KPiA+ID4gaG93Cj4gPiA+IHRo
aXMgaXMgZGlmZmVyZW50Pwo+ID4gSSBhbSBub3Qgc3VyZSB0aGF0IEkgdW5kZXJzdGFuZCB5b3Vy
IHF1ZXN0aW9uIGNvcnJlY3RseSBidXQKPiA+IF9zZXR1cF9pbml0aWFsX3BhZ2V0YWJsZXMoKSB3
YXMgaW50cm9kdWNlZCB0byBtYXAgc29tZSBhZGRyZXNzZXMKPiA+IHdpdGgKPiA+IHdyaXRlL3Jl
YWQgZmxhZy4gUHJvYmFibHkgSSBoYXZlIHRvIHJlbmFtZSBpdCB0byBzb21ldGhpbmcgdGhhdCBp
cwo+ID4gbW9yZQo+ID4gY2xlYXIuCj4gCj4gU28gdGhlIGNvbW1lbnQgc3VnZ2VzdHMgdGhhdCB5
b3UgY29kZSBjYW5ub3QgcmVmZXIgdG8gZ2xvYmFsIAo+IGZ1bmN0aW9ucy92YXJpYWJsZXMgd2hl
biB0aGUgTU1VIGlzIG9mZi4gU28gSSBoYXZlIG11bHRpcGxlCj4gcXVlc3Rpb25zOgo+IMKgwqAg
KiBXaHkgb25seSBnbG9iYWw/IElPVywgd2h5IHN0YXRpYyB3b3VsZCBiZSBPSz8KPiDCoMKgICog
c2V0dXBfaW5pdGlhbF9wYWdldGFibGVzKCkgaGFzIGEgY2FsbCB0byAKPiBfc2V0dXBfaW5pdGlh
bF9wYWdldGFibGVzKCkgKElPVyByZWZlcnJpbmcgdG8gYW5vdGhlciBmdW5jdGlvbikuIFdoeQo+
IGlzIAo+IGl0IGZpbmU/Cj4gwqDCoCAqIFlvdSBoYXZlIGNvZGUgaW4gdGhlIG5leHQgcGF0Y2gg
cmVmZXJyaW5nIHRvIGdsb2JhbCB2YXJpYWJsZXMgCj4gKG1haW5seSBfc3RhcnQgYW5kIF9lbmQp
LiBIb3cgaXMgdGhpcyBkaWZmZXJlbnQ/Cj4gCj4gPiA+IAo+ID4gPiA+ICsgKi8KPiA+ID4gPiAr
Cj4gPiA+ID4gKy8qCj4gPiA+ID4gKyAqIENvbnZlcnQgYW4gYWRkcmVzc2VkIGxheWVkIG91dCBh
dCBsaW5rIHRpbWUgdG8gdGhlIGFkZHJlc3MKPiA+ID4gPiB3aGVyZSBpdCB3YXMgbG9hZGVkCj4g
PiA+IAo+ID4gPiBUeXBvOiBzL2FkZHJlc3NlZC9hZGRyZXNzLyA/Cj4gPiBZZXMsIGl0IHNob3Vs
ZCBiZSBhZGRyZXNzLiBhbmQgJ2xheWVkIG91dCcgc2hvdWxkIGJlIGNoYW5nZWQgdG8KPiA+ICds
YWlkCj4gPiBvdXQnLi4uCj4gPiA+IAo+ID4gPiA+ICsgKiBieSB0aGUgYm9vdGxvYWRlci4KPiA+
ID4gPiArICovCj4gPiA+IAo+ID4gPiBMb29raW5nIGF0IHRoZSBpbXBsZW1lbnRhdGlvbiwgeW91
IHNlZW0gdG8gY29uc2lkZXIgdGhhdCBhbnkKPiA+ID4gYWRkcmVzcwo+ID4gPiBub3QKPiA+ID4g
aW4gdGhlIHJhbmdlIFtsaW5rZXJfYWRkcl9zdGFydCwgbGlua2VyX2FkZHJfZW5kWyB3aWxsIGhh
dmUgYSAxOjEKPiA+ID4gbWFwcGluZ3MuCj4gPiA+IAo+ID4gPiBJIGFtIG5vdCBzdXJlIHRoaXMg
aXMgd2hhdCB5b3Ugd2FudC4gU28gSSB3b3VsZCBjb25zaWRlciB0byB0aHJvdwo+ID4gPiBhbgo+
ID4gPiBlcnJvciBpZiBzdWNoIGFkZHJlc3MgaXMgcGFzc2VkLgo+ID4gSSB0aG91Z2h0IHRoYXQg
YXQgdGhpcyBzdGFnZSBhbmQgaWYgbm8gcmVsb2NhdGlvbiB3YXMgZG9uZSBpdCBpcwo+ID4gMTox
Cj4gPiBleGNlcHQgdGhlIGNhc2Ugd2hlbiBsb2FkX2FkZHJfc3RhcnQgIT0gbGlua2VyX2FkZHJf
c3RhcnQuCj4gCj4gVGhlIHByb2JsZW0gaXMgd2hhdCB5b3UgdHJ5IHRvIG1hcCBvbmUgdG8gb25l
IG1heSBjbGFzaCB3aXRoIHRoZQo+IGxpbmtlZCAKPiByZWdpb24gZm9yIFhlbi4gU28gaXQgaXMg
bm90IGFsd2F5cyBwb3NzaWJsZSB0byBtYXAgdGhlIHJlZ2lvbiAxOjEuCj4gCj4gVGhlcmVmb3Jl
LCBJIGRvbid0IHNlZSBhbnkgdXNlIGZvciB0aGUgZWxzZSBwYXJ0IGhlcmUuCkdvdCBpdC4gVGhh
bmtzLgoKSSBhbSBjdXJpb3VzIHRoYW4gd2hhdCBpcyB0aGUgY29ycmVjdCBhcHByb2FjaCBpbiBn
ZW5lcmFsIHRvIGhhbmRsZQp0aGlzIHNpdHVhdGlvbj8KSSBtZWFuIHRoYXQgdGhyb3cgYW4gZXJy
b3IgaXQgaXMgb25lIG9wdGlvbiBidXQgaWYgSSB3b3VsZCBsaWtlIHRvIGRvCnRoYXQgdy9vIHRo
cm93aW5nIGFuIGVycm9yLiBTaG91bGQgaXQgZG9uZSBzb21lIHJlbG9jYXRpb24gaW4gdGhhdApj
YXNlPwoKPiAKPiA+IAo+ID4gCj4gPiA+IAo+ID4gPiA+ICsjZGVmaW5lCj4gPiA+ID4gbG9hZF9h
ZGRyKGxpbmtlcl9hZGRyZXNzKQo+ID4gPiA+IMKgwqDCoMKgIFwKPiA+ID4gPiArCj4gPiA+ID4g
KHsKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqAgdW5z
aWduZWQgbG9uZyBfX2xpbmtlcl9hZGRyZXNzID0gKHVuc2lnbmVkCj4gPiA+ID4gbG9uZykobGlu
a2VyX2FkZHJlc3MpO8KgwqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCBpZiAoIGxp
bmtlcl9hZGRyX3N0YXJ0IDw9IF9fbGlua2VyX2FkZHJlc3MKPiA+ID4gPiAmJsKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBfX2xpbmtlcl9hZGRyZXNzIDwgbGlua2VyX2FkZHJfZW5kCj4gPiA+
ID4gKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBcCj4gPiA+ID4gKwo+ID4gPiA+IHsKPiA+ID4gPiDCoMKgwqDCoCBcCj4gPiA+ID4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19saW5rZXJfYWRkcmVzcwo+ID4gPiA+ID3CoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgX19saW5rZXJfYWRkcmVzcyAtIGxpbmtlcl9hZGRyX3N0YXJ0ICsK
PiA+ID4gPiBsb2FkX2FkZHJfc3RhcnQ7wqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICsKPiA+ID4g
PiB9Cj4gPiA+ID4gwqDCoMKgwqAgXAo+ID4gPiA+ICsKPiA+ID4gPiBfX2xpbmtlcl9hZGRyZXNz
Owo+ID4gPiA+IMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKgIH0pCj4gPiA+ID4gKwo+ID4gPiA+
ICsvKiBDb252ZXJ0IGJvb3QtdGltZSBYZW4gYWRkcmVzcyBmcm9tIHdoZXJlIGl0IHdhcyBsb2Fk
ZWQgYnkKPiA+ID4gPiB0aGUKPiA+ID4gPiBib290IGxvYWRlciB0byB0aGUgYWRkcmVzcyBpdCB3
YXMgbGF5ZWQgb3V0Cj4gPiA+ID4gKyAqIGF0IGxpbmstdGltZS4KPiA+ID4gPiArICovCj4gPiA+
IAo+ID4gPiBDb2Rpbmcgc3R5bGU6IFRoZSBmaXJzdCBsaW5lIGlzIHRvbyBsb25nIGFuZCBtdWx0
aS1saW5lIGNvbW1lbnRzCj4gPiA+IGxvb2sKPiA+ID4gbGlrZToKPiA+ID4gCj4gPiA+IC8qCj4g
PiA+IMKgwqAgKiBGb28KPiA+ID4gwqDCoCAqIEJhcgo+ID4gPiDCoMKgICovCj4gPiA+IAo+ID4g
PiA+ICsjZGVmaW5lCj4gPiA+ID4gbGlua2VyX2FkZHIobG9hZF9hZGRyZXNzKQo+ID4gPiA+IMKg
wqDCoMKgIFwKPiA+ID4gCj4gPiA+IFNhbWUgcmVtYXJrIGFzIGZvciBsb2FkX2FkZHIoKSBhYm92
ZS4KPiA+ID4gCj4gPiA+ID4gKwo+ID4gPiA+ICh7Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoCBc
Cj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgX19sb2FkX2FkZHJlc3MgPSAo
dW5zaWduZWQKPiA+ID4gPiBsb25nKShsb2FkX2FkZHJlc3MpO8KgwqDCoMKgwqDCoMKgwqDCoCBc
Cj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgIGlmICggbG9hZF9hZGRyX3N0YXJ0IDw9IF9fbG9hZF9h
ZGRyZXNzCj4gPiA+ID4gJibCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2xv
YWRfYWRkcmVzcyA8IGxvYWRfYWRkcl9lbmQKPiA+ID4gPiApwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+
ICsKPiA+ID4gPiB7Cj4gPiA+ID4gwqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIF9fbG9hZF9hZGRyZXNzCj4gPiA+ID4gPcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgX19sb2FkX2FkZHJlc3MgLSBsb2FkX2FkZHJfc3RhcnQgKwo+ID4gPiA+IGxpbmtlcl9hZGRy
X3N0YXJ0O8KgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiA+ID4gKwo+ID4gPiA+IH0KPiA+ID4gPiDC
oMKgwqDCoCBcCj4gPiA+ID4gKwo+ID4gPiA+IF9fbG9hZF9hZGRyZXNzOwo+ID4gPiA+IMKgwqDC
oMKgIFwKPiA+ID4gPiArwqDCoMKgIH0pCj4gPiA+ID4gKwo+ID4gPiA+ICtzdGF0aWMgdm9pZCBf
X2F0dHJpYnV0ZV9fKChzZWN0aW9uKCIuZW50cnkiKSkpCj4gPiA+ID4gK19zZXR1cF9pbml0aWFs
X3BhZ2V0YWJsZXMocHRlX3QgKnNlY29uZCwgcHRlX3QgKmZpcnN0LCBwdGVfdAo+ID4gPiA+ICp6
ZXJvZXRoLAo+ID4gPiBDYW4gdGhpcyBiZSBuYW1lZCB0byBzZXR1cF9pbml0aWFsX21hcHBpbmco
KSBzbyB0aGlzIGlzIGNsZWFyZXIKPiA+ID4gYW5kCj4gPiA+IGF2b2lkIHRoZSBvbmUgJ18nIGRp
ZmZlcmVudCB3aXRoIHRoZSBmdW5jdGlvbiBiZWxvdy4KPiA+IFN1cmUuIEl0IHdpbGwgYmUgYmV0
dGVyLgo+ID4gPiAKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgbWFwX3N0YXJ0LAo+ID4gPiA+ICvCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgbG9uZyBtYXBf
ZW5kLAo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgdW5zaWduZWQgbG9uZyBwYV9zdGFydCwKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJvb2wgd3JpdGFibGUpCj4gPiA+IAo+ID4g
PiBXaGF0IGFib3V0IHRoZSBleGVjdXRhYmxlIGJpdD8KPiA+IEl0J3MgYWx3YXlzIGV4ZWN1dGFi
bGUuLi4gQnV0IGFzIHlvdSBtZW50aW9uZWQgYWJvdmUKPiA+IFBURV9MRUFGX0RFRkFVTFQKPiA+
IHNob3VsZCBiZSBlaXRoZXIgUlggb3IgUlcuCj4gPiBJIHRoaW5rIGl0IG1ha2VzIHNlbnNlIHRv
IGFkZCBmbGFncyBpbnN0ZWFkIG9mIHdyaXRhYmxlLgo+ID4gPiAKPiA+ID4gPiArewo+ID4gPiA+
ICvCoMKgwqAgdW5zaWduZWQgbG9uZyBwYWdlX2FkZHI7Cj4gPiA+ID4gK8KgwqDCoCB1bnNpZ25l
ZCBsb25nIGluZGV4MjsKPiA+ID4gPiArwqDCoMKgIHVuc2lnbmVkIGxvbmcgaW5kZXgxOwo+ID4g
PiA+ICvCoMKgwqAgdW5zaWduZWQgbG9uZyBpbmRleDA7Cj4gPiA+IAo+ID4gPiBpbmRleCogY291
bGQgYmUgZGVmaW5lZCBpbiB0aGUgbG9vcCBiZWxvdy4KPiA+IEl0IGNvdWxkLiBCdXQgSSBhbSBj
dXJpb3VzIHdoeSBpdCBpcyBiZXR0ZXI/Cj4gPiA+IAo+ID4gPiA+ICsKPiA+ID4gPiArwqDCoMKg
IC8qIGFsaWduIHN0YXJ0IGFkZHJlc3NlcyAqLwo+ID4gPiA+ICvCoMKgwqAgbWFwX3N0YXJ0ICY9
IFpFUk9FVEhfTUFQX01BU0s7Cj4gPiA+ID4gK8KgwqDCoCBwYV9zdGFydCAmPSBaRVJPRVRIX01B
UF9NQVNLOwo+ID4gPiAKPiA+ID4gSG1tbS4uLiBJIHdvdWxkIGFjdHVhbGx5IGV4cGVjdCB0aGUg
YWRkcmVzcyB0byBiZSBwcm9wZXJseQo+ID4gPiBhbGlnbmVkCj4gPiA+IGFuZAo+ID4gPiB0aGVy
ZWZvcmUgbm90IHJlcXVpcmUgYW4gYWxpZ25tZW50IGhlcmUuCj4gPiA+IAo+ID4gPiBPdGhlcndp
c2UsIHRoaXMgcmFpc2UgdGhlIHF1ZXN0aW9uIG9mIHdoYXQgaGFwcGVuIGlmIHlvdSBoYXZlCj4g
PiA+IHJlZ2lvbgo+ID4gPiB1c2luZyB0aGUgc2FtZSBwYWdlPwo+ID4gVGhhdCBtYXBfc3RhcnQg
Jj3CoCBaRVJPRVRIX01BUF9NQVNLIGlzIG5lZWRlZCB0byBwYWdlIG51bWJlciBvZgo+ID4gYWRk
cmVzcwo+ID4gdy9vIHBhZ2Ugb2Zmc2V0Lgo+IAo+IE15IHBvaW50IGlzIHdoeSB3b3VsZCB0aGUg
cGFnZSBvZmZzZXQgYmUgbm9uLXplcm8/CkkgY2hlY2tlZCBhIGxpbmtlciBzY3JpcHQgYW5kIGFk
ZHJlc3NlcyB0aGF0IHBhc3NlZCB0bwpzZXR1cF9pbml0aWFsX21hcHBpbmcoKSBhbmQgdGhleSBh
cmUgcmVhbGx5IGFsd2F5cyBhbGlnbmVkIHNvIHRoZXJlIGlzCm5vIGFueSBzZW5zZSBpbiBhZGRp
dGlvbmFsIGFsaWdubWVudC4KCj4gCj4gPiA+IAo+ID4gPiA+ICsKPiA+ID4gPiArwqDCoMKgIHBh
Z2VfYWRkciA9IG1hcF9zdGFydDsKPiA+ID4gPiArwqDCoMKgIHdoaWxlICggcGFnZV9hZGRyIDwg
bWFwX2VuZCApCj4gPiA+IAo+ID4gPiBMb29raW5nIGF0IHRoZSBsb29wLCBpdCBsb29rcyBsaWtl
IHlvdSBhcmUgYXNzdW1pbmcgdGhhdCB0aGUKPiA+ID4gcmVnaW9uCj4gPiA+IHdpbGwKPiA+ID4g
bmV2ZXIgY3Jvc3MgYSBib3VuZGFyeSBvZiBhIHBhZ2UtdGFibGUgKGVpdGhlciBMMCwgTDEsIEwy
KS4gSSBhbQo+ID4gPiBub3QKPiA+ID4gY29udmluY2VkIHlvdSBjYW4gbWFrZSBzdWNoIGFzc3Vt
cHRpb24gKHNlZSBiZWxvdykuCj4gPiA+IAo+ID4gPiBCdXQgaWYgeW91IHJlYWxseSB3YW50IHRv
IG1ha2Ugc3VjaCBhc3N1bXB0aW9uIHRoZW4geW91IHNob3VsZAo+ID4gPiBhZGQKPiA+ID4gc29t
ZQo+ID4gPiBndWFyZCAoZWl0aGVyIEJVSUxEX0JVR19PTigpLCBBU1NFUlQoKSwgcHJvcGVyIGNo
ZWNrKSBpbiB5b3VyCj4gPiA+IGNvZGUgdG8KPiA+ID4gYXZvaWQgYW55IHN1cnByaXNlIGluIHRo
ZSBmdXR1cmUuCj4gPiBJIGFtIG5vdCBzdXJlIHRoYXQgSSBmdWxseSB1bmRlcnN0YW5kIHdoYXQg
aXMgdGhlIHByb2JsZW0gaGVyZS4KPiA+IFRoZSBhZGRyZXNzIGlzIGFsaWduZWQgb24gKDE8PDEy
KSBib3VuZGFyeSBhbmQgZWFjaCBpdGVhcmF0aW9uIGlzCj4gPiBtYXBwZWQgKDE8PDEyKSBwYWdl
IHNvIGFsbCBsb29rcyBmaW5lIG9yIEkgbWlzdW5kZXJzdG9vZCB5b3UuCj4gCj4gTGV0J3MgdGFr
ZSBhbiBleGFtcGxlLCBpbWFnaW5lIHRoZSByZWdpb24geW91IHdhbnQgdG8gbWFwIGlzIDRNQi4g
Cj4gQUZBSUNULCB5b3UgYXJlIG9ubHkgcGFzc2luZyBvbmUgTDAgcGFnZS10YWJsZS4gU28geW91
ciBjb2RlIHdpbGwgZW5kCj4gdXAgCj4gdG8gb3ZlcndyaXRlIHRoZSBwcmV2aW91cyBlbnRyaWVz
IGluIHRoZSB6ZXJvZXRoIHBhZ2UtdGFibGUgYW5kIHRoZW4KPiBhZGQgCj4gYW5vdGhlciBsaW5r
IGluIHRoZSBMMSBwYWdlLXRhYmxlLgpHb3QgaXQuIFRoZW4gaXQgbG9va3MgdGhhdCBjdXJyZW50
IGFwcHJvYWNoIGlzbid0IGNvcnJlY3QgdG90YWxseS4uLgoKPiAKPiA+ID4gCj4gPiA+ID4gK8Kg
wqDCoCB7Cj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgIGluZGV4MiA9IHBhZ2V0YWJsZV9zZWNvbmRf
aW5kZXgocGFnZV9hZGRyKTsKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqAgaW5kZXgxID0gcGFnZXRh
YmxlX2ZpcnN0X2luZGV4KHBhZ2VfYWRkcik7Cj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgIGluZGV4
MCA9IHBhZ2V0YWJsZV96ZXJvZXRoX2luZGV4KHBhZ2VfYWRkcik7Cj4gPiA+ID4gKwo+ID4gPiA+
ICvCoMKgwqDCoMKgwqDCoCAvKiBTZXR1cCBsZXZlbDIgdGFibGUgKi8KPiA+ID4gPiArwqDCoMKg
wqDCoMKgwqAgc2Vjb25kW2luZGV4Ml0gPSBwYWRkcl90b19wdGUoKHVuc2lnbmVkIGxvbmcpZmly
c3QpOwo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCBzZWNvbmRbaW5kZXgyXS5wdGUgfD0gUFRFX1RB
QkxFOwo+ID4gPiA+ICsKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqAgLyogU2V0dXAgbGV2ZWwxIHRh
YmxlICovCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgIGZpcnN0W2luZGV4MV0gPSBwYWRkcl90b19w
dGUoKHVuc2lnbmVkIGxvbmcpemVyb2V0aCk7Cj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgIGZpcnN0
W2luZGV4MV0ucHRlIHw9IFBURV9UQUJMRTsKPiA+ID4gPiArCj4gPiA+ID4gK8KgwqDCoMKgwqDC
oMKgIC8qIFNldHVwIGxldmVsMCB0YWJsZSAqLwo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCBpZiAo
ICFwdGVfaXNfdmFsaWQoJnplcm9ldGhbaW5kZXgwXSkgKQo+ID4gPiAKPiA+ID4gQ2FuIHlvdSBl
eHBsYWluIHdoeSB5b3UgYXJlIGNoZWNraW5nICFwdGVfaXNfdmFsaWQoKSBmb3IgdGhlIEwwCj4g
PiA+IGVudHJ5Cj4gPiA+IGJ1dCBub3QgdGhlIG90aGVyPwo+ID4gTXkgbWlzdGFrZSBpdCBzaG91
bGQgYmUgY2hlY2tlZCBmb3IgZWFjaCBsZXZlbC4KPiAKPiBJbiB3aGljaCBjYXNlLCBzaG91bGRu
J3QgeW91IHJldHVybiBhbiBlcnJvciBpZiB0aGUgZW50cnkgaXMgYWx3YXlzCj4gdmFsaWQ/Cj4g
Cj4gPiA+IAo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCB7Cj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgLyogVXBkYXRlIGxldmVsMCB0YWJsZSAqLwo+ID4gPiA+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHplcm9ldGhbaW5kZXgwXSA9IHBhZGRyX3RvX3B0ZSgocGFnZV9hZGRyIC0KPiA+
ID4gPiBtYXBfc3RhcnQpCj4gPiA+ID4gKyBwYV9zdGFydCk7Cj4gPiA+ID4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgemVyb2V0aFtpbmRleDBdLnB0ZSB8PSBQVEVfTEVBRl9ERUZBVUxUOwo+ID4g
PiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHplcm9ldGhbaW5kZXgwXS5wdGUgJj0gfigoIXdy
aXRhYmxlKSA/Cj4gPiA+ID4gUFRFX1dSSVRBQkxFIDoKPiA+ID4gPiAwKTsKPiA+ID4gCj4gPiA+
IExvb2tpbmcgYXQgdGhlIGRlZmF1bHQgdmFsdWUsIGl0IHdvdWxkIG1lYW4gdGhhdCBhIG5vbi13
cml0YWJsZQo+ID4gPiBtYXBwaW5nCj4gPiA+IGlzIGF1dG9tYXRpY2FsbHkgZXhlY3V0YWJsZS4g
VGhpcyBzZWVtcyB3cm9uZyBmb3IgdGhlIHNlY3Rpb24gaXMKPiA+ID4gbm90Cj4gPiA+IG1lYW50
IHRvIGJlIGV4ZWN1dGFibGUgKGxpa2Ugcm9kYXRhKS4KPiA+IFllcywgeW91IGFyZSByaWdodC4g
SSdsbCByZW93cmsgc2V0dXBfaW5pdGlhbF9tYXBwaW5nKCkgdG8gcGFzcwo+ID4gZmxhZ3MKPiA+
IGluc3RlYWQgb2Ygd3JpdGUvcmVhZCAtIG9ubHkgZmxhZy4KPiA+ID4gCj4gPiA+ID4gK8KgwqDC
oMKgwqDCoMKgIH0KPiA+ID4gPiArCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgIC8qIFBvaW50IHRv
IG5leHQgcGFnZSAqLwo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCBwYWdlX2FkZHIgKz0gWkVST0VU
SF9TSVpFOwo+ID4gPiA+ICvCoMKgwqAgfQo+ID4gPiA+ICt9Cj4gPiA+ID4gKwo+ID4gPiA+ICsv
Kgo+ID4gPiA+ICsgKiBzZXR1cF9pbml0aWFsX3BhZ2V0YWJsZXM6Cj4gPiA+ID4gKyAqCj4gPiA+
ID4gKyAqIDEpIEJ1aWxkIHRoZSBwYWdlIHRhYmxlcyBmb3IgWGVuIHRoYXQgbWFwIHRoZSBmb2xs
b3dpbmc6Cj4gPiA+ID4gKyAqwqDCoCAxLjEpwqAgVGhlIHBoeXNpY2FsIGxvY2F0aW9uIG9mIFhl
biAod2hlcmUgdGhlIGJvb3Rsb2FkZXIKPiA+ID4gPiBsb2FkZWQgaXQpCj4gPiA+ID4gKyAqwqDC
oCAxLjIpwqAgVGhlIGxpbmstdGltZSBsb2NhdGlvbiBvZiBYZW4gKHdoZXJlIHRoZSBsaW5rZXIK
PiA+ID4gPiBleHBlY3RlZCBYZW4ncwo+ID4gPiA+ICsgKsKgwqDCoMKgwqDCoMKgwqAgYWRkcmVz
c2VzIHRvIGJlKQo+ID4gPiA+ICsgKiAyKSBMb2FkIHRoZSBwYWdlIHRhYmxlIGludG8gdGhlIFNB
VFAgYW5kIGVuYWJsZSB0aGUgTU1VCj4gPiA+ID4gKyAqLwo+ID4gPiA+ICt2b2lkIF9fYXR0cmli
dXRlX18oKHNlY3Rpb24oIi5lbnRyeSIpKSkKPiA+ID4gCj4gPiA+IEkgY291bGRuJ3QgZmluZCBh
IHNlY3Rpb24gIi5lbnRyeSIgaW4gdGhlIGxpbmtlci4KPiA+ID4gCj4gPiA+ID4gK3NldHVwX2lu
aXRpYWxfcGFnZXRhYmxlcyh1bnNpZ25lZCBsb25nIGxvYWRfYWRkcl9zdGFydCwKPiA+ID4gPiAr
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVk
IGxvbmcgbG9hZF9hZGRyX2VuZCwKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgbGlua2VyX2FkZHJfc3RhcnQsCj4g
PiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1
bnNpZ25lZCBsb25nIGxpbmtlcl9hZGRyX2VuZCkKPiA+ID4gPiArewo+ID4gPiA+ICvCoMKgwqAg
cHRlX3QgKnNlY29uZDsKPiA+ID4gPiArwqDCoMKgIHB0ZV90ICpmaXJzdDsKPiA+ID4gPiArwqDC
oMKgIHB0ZV90ICp6ZXJvZXRoOwo+ID4gPiA+ICsKPiA+ID4gPiArwqDCoMKgIGNsZWFyX3BhZ2V0
YWJsZXMobG9hZF9hZGRyX3N0YXJ0LCBsb2FkX2FkZHJfZW5kLAo+ID4gPiA+ICvCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGxpbmtlcl9hZGRyX3N0YXJ0LCBsaW5rZXJf
YWRkcl9lbmQpOwo+ID4gPiA+ICsKPiA+ID4gPiArwqDCoMKgIC8qIEdldCB0aGUgYWRkcmVzc2Vz
IHdoZXJlIHRoZSBwYWdlIHRhYmxlcyB3ZXJlIGxvYWRlZCAqLwo+ID4gPiA+ICvCoMKgwqAgc2Vj
b25kwqAgPSAocHRlX3QgKilsb2FkX2FkZHIoJnhlbl9zZWNvbmRfcGFnZXRhYmxlKTsKPiA+ID4g
PiArwqDCoMKgIGZpcnN0wqDCoCA9IChwdGVfdCAqKWxvYWRfYWRkcigmeGVuX2ZpcnN0X3BhZ2V0
YWJsZSk7Cj4gPiA+ID4gK8KgwqDCoCB6ZXJvZXRoID0gKHB0ZV90ICopbG9hZF9hZGRyKCZ4ZW5f
emVyb2V0aF9wYWdldGFibGUpOwo+ID4gPiAKPiA+ID4gSSB3b3VsZCBjb25zaWRlciB0byBlbWJl
ZCB0aGUgdHlwZSBjYXN0IGluIGxvYWRfYWRkcigpIHNvIHlvdSBhcmUKPiA+ID4gYWRkaW5nCj4g
PiA+IHNvbWUgdHlwZSBzYWZldHkgd2l0aGluIHlvdXIgY29kZS4KPiA+IERlZmluaXRlbHkgaXQg
d2lsbCBiZSBiZXR0ZXIgYnV0IHNldHVwX2luaXRpYWxfbWFwcGluZygpIHVzZXMKPiA+ICd1bnNp
Z25lZAo+ID4gbG9uZycgZm9yIHBhc3NpbmcgYWRkcmVzcyB0aGF0IHNob3VsZCBiZSBtYXBwZWQu
Cj4gCj4gT25lIHBvc3NpYmlsaXR5IHdvdWxkIGJlIHRvIGludHJvZHVjZSBhIG5ldyB3cmFwcGVy
IGZvciB0aGUKPiB0eXBlc2FmZXR5LiAKPiBBbnl3YXksIGl0IGlzIG5vdCBlc3NlbnRpYWwgZm9y
IG5vdy4gTGV0J3MgYXQgbGVhc3QgZ2V0IHRoZSBsb2dpYyAKPiBjb3JyZWN0IGZpcnN0IDopLgpB
Z3JlZS4gdGhlIGxvZ2ljIHNob3VsZCBiZSBmaXhlZCBmaXJzdC4KPiAKPiA+ID4gCj4gPiA+ID4g
Kwo+ID4gPiA+ICvCoMKgwqAgLyoKPiA+ID4gPiArwqDCoMKgwqAgKiBDcmVhdGUgYSBtYXBwaW5n
IGZyb20gWGVuJ3MgbGluay10aW1lIGFkZHJlc3NlcyB0bwo+ID4gPiA+IHdoZXJlCj4gPiA+ID4g
dGhleSB3ZXJlIGFjdHVhbGx5IGxvYWRlZC4KPiA+ID4gCj4gPiA+IFRoaXMgaXMgbGluZSBpcyB3
YXkgbG9uZyB0aGFuIDgwIGNoYXJhY3RlcnMuIFBsZWFzZSBtYWtlIHN1cmUgdG8KPiA+ID4gd3Jh
cAo+ID4gPiBpdAo+ID4gPiA4MCBjaGFyYWN0ZXJzLgo+ID4gPiAKPiA+ID4gPiArwqDCoMKgwqAg
Ki8KPiA+ID4gPiArwqDCoMKgIF9zZXR1cF9pbml0aWFsX3BhZ2V0YWJsZXMoc2Vjb25kLCBmaXJz
dCwgemVyb2V0aCwKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsaW5rZXJfYWRkcigmX3N0ZXh0KSwKPiA+ID4gPiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBs
aW5rZXJfYWRkcigmX2V0ZXh0KSwKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsb2FkX2FkZHIoJl9zdGV4dCksCj4gPiA+
ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgZmFsc2UpOwo+ID4gPiA+ICvCoMKgwqAgX3NldHVwX2luaXRpYWxfcGFnZXRhYmxlcyhz
ZWNvbmQsIGZpcnN0LCB6ZXJvZXRoLAo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGxpbmtlcl9hZGRyKCZfX2luaXRfYmVn
aW4pLAo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIGxpbmtlcl9hZGRyKCZfX2luaXRfZW5kKSwKPiA+ID4gPiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsb2Fk
X2FkZHIoJl9faW5pdF9iZWdpbiksCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdHJ1ZSk7Cj4gPiA+ID4gK8KgwqDCoCBf
c2V0dXBfaW5pdGlhbF9wYWdldGFibGVzKHNlY29uZCwgZmlyc3QsIHplcm9ldGgsCj4gPiA+ID4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgbGlua2VyX2FkZHIoJl9zcm9kYXRhKSwKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsaW5rZXJfYWRkcigmX2Vyb2Rh
dGEpLAo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIGxvYWRfYWRkcigmX3Nyb2RhdGEpLAo+ID4gPiA+ICvCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZhbHNlKTsK
PiA+ID4gPiArwqDCoMKgIF9zZXR1cF9pbml0aWFsX3BhZ2V0YWJsZXMoc2Vjb25kLCBmaXJzdCwg
emVyb2V0aCwKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBsaW5rZXJfYWRkcl9zdGFydCwKPiA+ID4gPiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBsaW5rZXJf
YWRkcl9lbmQsCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgbG9hZF9hZGRyX3N0YXJ0LAo+ID4gPiA+ICvCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRydWUpOwo+
ID4gPiAKPiA+ID4gV2hlcmUgZG8geW91IGd1YXJhbnRlZSB0aGF0IFhlbiB3aWxsIGFsd2F5cyBm
aXQgaW4gYW4gTDAgdGFibGUKPiA+ID4gYW5kCj4gPiA+IHRoZQo+ID4gPiBzdGFydCBhZGRyZXNz
IGlzIGFsaWduZWQgdG8gdGhlIHNpemUgb2YgYW4gTDAgdGFibGU/Cj4gPiBJIGRvbid0IGd1YXJh
bnRlZSB0aGF0IGl0IGZpdCBpbiBhbiBMMCB0YWJsZSBidXQgdGhlIHN0YXJ0IGFkZHJlc3MKPiA+
IGlzCj4gPiBhbGlnbmVkIHRvIHRoZSBzaXplIG9mIHRoZSBMMCB0YWJsZSBhdCB0aGUgc3RhcnQu
Cj4gVGhlbiBpdCBzaG91bGQgYmUgZml4ZWQuCj4gCj4gPiA+IAo+ID4gPiA+ICsKPiA+ID4gPiAr
wqDCoMKgIC8qCj4gPiA+ID4gK8KgwqDCoMKgICogQ3JlYXRlIGEgbWFwcGluZyBvZiB0aGUgbG9h
ZCB0aW1lIGFkZHJlc3MgcmFuZ2UgdG8uLi4KPiA+ID4gPiB0aGUKPiA+ID4gPiBsb2FkIHRpbWUg
YWRkcmVzcyByYW5nZS4KPiA+ID4gCj4gPiA+IFNhbWUgYWJvdXQgdGhlIGxpbmUgbGVuZ3RoIGhl
cmUuCj4gPiA+IAo+ID4gPiA+ICvCoMKgwqDCoCAqIFRoaXMgbWFwcGluZyBpcyB1c2VkIGF0IGJv
b3QgdGltZSBvbmx5Lgo+ID4gPiA+ICvCoMKgwqDCoCAqLwo+ID4gPiA+ICvCoMKgwqAgX3NldHVw
X2luaXRpYWxfcGFnZXRhYmxlcyhzZWNvbmQsIGZpcnN0LCB6ZXJvZXRoLAo+ID4gPiAKPiA+ID4g
VGhpcyBjYW4gb25seSB3b3JrIGlmIFhlbiBpcyBsb2FkZWQgYXQgaXRzIGxpbmtlZCBhZGRyZXNz
LiBTbyB5b3UKPiA+ID4gbmVlZCBhCj4gPiA+IHNlcGFyYXRlIHNldCBvZiBMMCwgTDEgdGFibGVz
IGZvciB0aGUgaWRlbnRpdHkgbWFwcGluZy4KPiA+ID4gCj4gPiA+IFRoYXQgc2FpZCwgdGhpcyB3
b3VsZCBub3QgYmUgc3VmZmljaWVudCBiZWNhdXNlOgo+ID4gPiDCoMKgwqAgMSkgWGVuIG1heSBu
b3QgYmUgbG9hZGVkIGF0IGEgMk0gYm91bmRhcnkgKHlvdSBjYW4gY29udHJvbAo+ID4gPiB3aXRo
Cj4gPiA+IFUtYm9vdCwgYnV0IG5vdCB3aXRoIEVGSSkuIFNvIHRoaXMgbWF5IGNyb3NzIGEgYm91
bmRhcnkgYW5kCj4gPiA+IHRoZXJlZm9yZQo+ID4gPiBuZWVkIG11bHRpcGxlIHBhZ2VzLgo+ID4g
PiDCoMKgwqAgMikgVGhlIGxvYWQgcmVnaW9uIG1heSBvdmVybGFwIHRoZSBsaW5rIGFkZHJlc3MK
PiA+ID4gCj4gPiA+IFdoaWxlIEkgdGhpbmsgaXQgd291bGQgYmUgZ29vZCB0byBoYW5kbGUgdGhv
c2UgY2FzZXMgZnJvbSB0aGUKPiA+ID4gc3RhcnQsCj4gPiA+IEkKPiA+ID4gd291bGQgdW5kZXJz
dGFuZCB3aHkgYXJlIG5vdCBlYXN5IHRvIHNvbHZlLiBTbyBJIHRoaW5rIHRoZQo+ID4gPiBtaW5p
bXVtIGlzCj4gPiA+IHRvCj4gPiA+IHRocm93IHNvbWUgZXJyb3JzIGlmIHlvdSBhcmUgaW4gYSBj
YXNlIHlvdSBjYW4ndCBzdXBwb3J0Lgo+ID4gRG8geW91IG1lYW4gdG8gdGhyb3cgc29tZSBlcnJv
ciBpbiBsb2FkX2FkZHIoKS9saW5rZGVyX2FkZHIoKT8KPiAKPiBJbiB0aGlzIGNhc2UsIEkgbWVh
bnQgdG8gY2hlY2sgaWYgbG9hZF9hZGRyICE9IGxpbmtlcl9hZGRyLCB0aGVuCj4gdGhyb3cgCj4g
YW4gZXJyb3IuCkkgYW0gbm90IHN1cmUgdGhhdCBpdCBpcyBuZWVkZWQgbm93IGFuZCBpdCBpcyBl
YXNpZXIgdG8gdGhyb3cgYW4gZXJyb3IKYnV0IGlzIG9wdGlvbiBleGlzdCB0byBoYW5kbGVyIHNp
dHVhdGlvbiB3aGVuIGxvYWRfYWRkciAhPSBsaW5rZXJfYWRkcgpleGNlcHQgdGhyb3dpbmcgYW4g
ZXJyb3I/IHJlbG9jYXRlPwoKCn4gT2xla3NpaQo=



From xen-devel-bounces@lists.xenproject.org Sun Mar 05 17:16:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Mar 2023 17:16:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506591.779675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYrxu-0008Ik-50; Sun, 05 Mar 2023 17:16:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506591.779675; Sun, 05 Mar 2023 17: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 1pYrxu-0008Id-14; Sun, 05 Mar 2023 17:16:06 +0000
Received: by outflank-mailman (input) for mailman id 506591;
 Sun, 05 Mar 2023 17:16: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 1pYrxs-0008IT-PT; Sun, 05 Mar 2023 17:16: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 1pYrxs-0002xy-MJ; Sun, 05 Mar 2023 17:16: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 1pYrxs-0004Fa-CO; Sun, 05 Mar 2023 17:16:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pYrxs-0007zS-Bq; Sun, 05 Mar 2023 17:16: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=gCJUpQQtdcYBForMGI9+f540rZd22UXTOQe/wOz3PB8=; b=vH9zWyX3kB9ANN6F0VoVCvcVWO
	ezTdrpx81ACLUfT8GyRN2QqtNGJHDfJlIrbsKAE4p1/bfukmGEasgYpsSphkwBxarAu6gZEVoiC6T
	uho1ihYJZS5F0hnEd59zTAb9XeDFiYBBT7BHHPL2CRIA2A+g+P4Si4/l2GSKIPBWguic=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179269-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179269: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    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-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-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=b01fe98d34f3bed944a93bd8119fed80c856fad8
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 05 Mar 2023 17:16:04 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 178042
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm     18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail in 179239 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-credit1  14 guest-start      fail in 179239 pass in 179269
 test-arm64-arm64-libvirt-xsm 14 guest-start      fail in 179239 pass in 179269
 test-arm64-arm64-xl-credit2  17 guest-stop                 fail pass in 179239

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                b01fe98d34f3bed944a93bd8119fed80c856fad8
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   11 days
Failing since        178093  2023-02-22 05:02:47 Z   11 days   23 attempts
Testing same since   179239  2023-03-05 00:44:03 Z    0 days    2 attempts

------------------------------------------------------------
2041 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Mar 05 21:28:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Mar 2023 21:28:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506606.779684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYvto-0003No-1c; Sun, 05 Mar 2023 21:28:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506606.779684; Sun, 05 Mar 2023 21:28:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYvtn-0003Nh-VI; Sun, 05 Mar 2023 21:28:07 +0000
Received: by outflank-mailman (input) for mailman id 506606;
 Sun, 05 Mar 2023 21:28:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=wtgv=65=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pYvtm-0003Nb-TL
 for xen-devel@lists.xenproject.org; Sun, 05 Mar 2023 21:28:07 +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 9d80d1b4-bb9c-11ed-96b4-2f268f93b82a;
 Sun, 05 Mar 2023 22:28:05 +0100 (CET)
Received: by mail-lf1-x12b.google.com with SMTP id n2so10224036lfb.12
 for <xen-devel@lists.xenproject.org>; Sun, 05 Mar 2023 13:28:04 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.189.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.189]) by smtp.gmail.com with ESMTPSA id
 d17-20020ac24c91000000b004db3e445f1fsm1346234lfl.97.2023.03.05.13.28.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 05 Mar 2023 13:28: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: 9d80d1b4-bb9c-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678051684;
        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=PrAhwOfseeWKZJGnsBqfqAfxsaDQuK+jdP3GQbvRtQ8=;
        b=HwwVp8umXBzrFQ5abcOzoWUptjOEhiKSXB79gRN+EoygJZg8KMZvduho3SM32Ss9T9
         OmXAab8A5LUlSZX9U82vIl7AFC2HVh+NUXTfgulKelu0Vwamt736nk8H/YyDCIBwAlbh
         9MWwhZfign40kp0VFxDYZgEq5aDOiKu4bWLrRepED4/3WWsTNAYJnSMpINPkxZVsqbMs
         6p+AfvWo3iJ39pPXFthceoCXXwYa9vZPC9spNlkPb5cd3lt8Gg0Q9sAAdf6B1R+jySbR
         /2eEzuA8wGyZyhIAToTWAUiMlCYvalU3giOvW8tDh6Pz/fa7GCXs0snY1+JHekz1+lrw
         h73g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678051684;
        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=PrAhwOfseeWKZJGnsBqfqAfxsaDQuK+jdP3GQbvRtQ8=;
        b=Fs4DvjCCpfk6x8MHCxXQTr1LuaBM4PiQoQAA4Wl67hz567kYmm+0oC6dT4HRCsFAST
         nKUN7aa0+RbV4mHeeDfvoTcMc8bsv4Q5TIyOh/DuL/fhx7XgpioiiQ8Sj9j5/POwy56L
         Crn+3MuiZ+9CT8wg5IMSsbfTo46jl4gGP0Ju5vtsfeO/oI/Q3GdvMrtVTyxzRWYCRdy+
         /w0YFTYDQ8fFWQVlz3bRBOnU6ZZK0uaz8w1w4C1BeR68tlyoL7L+EQu+61Ozk/eB/TCR
         1hlxf2eJr7oG89PzOQ1n1LqerB+77Ej0FtpfVeZPhav37c7MFuBO91C0v31NR2CT81g7
         BjcQ==
X-Gm-Message-State: AO0yUKXFn16a2UAcSC6aKbFcF6BLlUgSVCkxuMJZr8GnS2ukFiZcUHiQ
	Mwx0lR6iO/85pS2BI+axbU0=
X-Google-Smtp-Source: AK7set+TH2BEosxrhDbUzcE2pbAKGIckf+KUlqjUARh3ot/+Zores8F8nlsNYzPmZ5833roi8C4MCQ==
X-Received: by 2002:ac2:41cd:0:b0:4db:3e2d:3efc with SMTP id d13-20020ac241cd000000b004db3e2d3efcmr2371907lfi.10.1678051684195;
        Sun, 05 Mar 2023 13:28:04 -0800 (PST)
Message-ID: <cdf18b1be34a623666808764439d50560663c574.camel@gmail.com>
Subject: Re: [PATCH v1 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>
Date: Sun, 05 Mar 2023 23:28:02 +0200
In-Reply-To: <e0722b2323c78478f8fd07b515bb607ef168ef1e.camel@gmail.com>
References: <cover.1677250203.git.oleksii.kurochko@gmail.com>
	 <a145fbbfb166d9f6bd4859b669d23a1f52004b2b.1677250203.git.oleksii.kurochko@gmail.com>
	 <fca300ad-0fd1-70ed-4cd4-82e89f5c3351@xen.org>
	 <a0f3f1ca4277c1f8aeeaf6531d90c5b04c244af9.camel@gmail.com>
	 <98d45f93-b611-1016-45b5-3d7487af261f@xen.org>
	 <e0722b2323c78478f8fd07b515bb607ef168ef1e.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

>=20
> >=20
> > > >=20
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0 page_addr =3D map_start;
> > > > > +=C2=A0=C2=A0=C2=A0 while ( page_addr < map_end )
> > > >=20
> > > > Looking at the loop, it looks like you are assuming that the
> > > > region
> > > > will
> > > > never cross a boundary of a page-table (either L0, L1, L2). I
> > > > am
> > > > not
> > > > convinced you can make such assumption (see below).
> > > >=20
> > > > But if you really want to make such assumption then you should
> > > > add
> > > > some
> > > > guard (either BUILD_BUG_ON(), ASSERT(), proper check) in your
> > > > code to
> > > > avoid any surprise in the future.
> > > I am not sure that I fully understand what is the problem here.
> > > The address is aligned on (1<<12) boundary and each itearation is
> > > mapped (1<<12) page so all looks fine or I misunderstood you.
> >=20
> > Let's take an example, imagine the region you want to map is 4MB.=20
> > AFAICT, you are only passing one L0 page-table. So your code will
> > end
> > up=20
> > to overwrite the previous entries in the zeroeth page-table and
> > then
> > add=20
> > another link in the L1 page-table.
> Got it. Then it looks that current approach isn't correct totally...
Or as an option we can add to xen.lds.S something like:

  ASSERT(_end - _start <=3D MB(L0_ENTRIES*PAGE_SIZE), "Xen too large")

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 00:17:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 00:17:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506613.779696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pYyXY-0006rb-93; Mon, 06 Mar 2023 00:17:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506613.779696; Mon, 06 Mar 2023 00: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 1pYyXY-0006rU-4Q; Mon, 06 Mar 2023 00:17:20 +0000
Received: by outflank-mailman (input) for mailman id 506613;
 Mon, 06 Mar 2023 00:17: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 1pYyXW-0006rK-N2; Mon, 06 Mar 2023 00:17: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 1pYyXW-0004XY-JG; Mon, 06 Mar 2023 00:17: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 1pYyXW-00054a-6P; Mon, 06 Mar 2023 00:17:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pYyXW-00089K-5u; Mon, 06 Mar 2023 00:17: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=sv3Nkvov7MRHhKL//ITkMSbJzwxB4soA9vpQtuS4hME=; b=yv7uRR8eHSMSJCE4VsWg2ZPWxa
	Z+52WqHX+DBp8yw14wSmHeeIdM+fCk02JeYzY25zWHQwkThJF8AC8pmBf6CrHLCFER+A0zCMsWUOq
	njrudBI48yLtp7Q29jYxytHQzvW3Wp6pBaLnh7mXzuhWZf8+ogdoGBbGGAaS5TAT0cbo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179310-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179310: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine-uefi:reboot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pygrub:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:xen-boot/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-libvirt:xen-boot:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-examine-bios:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-examine:reboot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    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-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:saverestore-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=b01fe98d34f3bed944a93bd8119fed80c856fad8
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 06 Mar 2023 00:17:18 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel  8 xen-boot          fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel  8 xen-boot              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-win7-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow    8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl           8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64  8 xen-boot    fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm  8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd  8 xen-boot            fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine-uefi  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64  8 xen-boot             fail REGR. vs. 178042
 test-amd64-amd64-pygrub       8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-pair        12 xen-boot/src_host        fail REGR. vs. 178042
 test-amd64-amd64-pair        13 xen-boot/dst_host        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2  8 xen-boot               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 12 xen-boot/src_host       fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 13 xen-boot/dst_host       fail REGR. vs. 178042
 test-arm64-arm64-xl          17 guest-stop               fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2   8 xen-boot                 fail REGR. vs. 178042
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl  8 xen-boot                fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm     18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-examine-bios  8 reboot                  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64  8 xen-boot         fail REGR. vs. 178042
 test-amd64-amd64-examine      8 reboot                   fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 8 xen-boot fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu  8 xen-boot                fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail in 179239 REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 18 guest-start/debian.repeat fail in 179269 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-credit1  14 guest-start      fail in 179239 pass in 179310
 test-arm64-arm64-xl          14 guest-start      fail in 179269 pass in 179310
 test-arm64-arm64-xl-credit2  17 guest-stop                 fail pass in 179239
 test-arm64-arm64-libvirt-xsm 14 guest-start                fail pass in 179269

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 179269 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 179269 never pass
 test-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-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                b01fe98d34f3bed944a93bd8119fed80c856fad8
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   12 days
Failing since        178093  2023-02-22 05:02:47 Z   11 days   24 attempts
Testing same since   179239  2023-03-05 00:44:03 Z    0 days    3 attempts

------------------------------------------------------------
2041 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                fail    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     fail    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                fail    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 05:49:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 05:49:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506629.779705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ3iv-00014o-8A; Mon, 06 Mar 2023 05:49:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506629.779705; Mon, 06 Mar 2023 05: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 1pZ3iv-00014h-5P; Mon, 06 Mar 2023 05:49:25 +0000
Received: by outflank-mailman (input) for mailman id 506629;
 Mon, 06 Mar 2023 05:49: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 1pZ3it-00014X-R8; Mon, 06 Mar 2023 05:49: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 1pZ3it-0003JL-Q2; Mon, 06 Mar 2023 05:49: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 1pZ3it-0002os-5s; Mon, 06 Mar 2023 05:49:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZ3it-0007SD-5M; Mon, 06 Mar 2023 05:49: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=ZMZd9/gIPr3knV5aSqt2fVsBK3GiUyBUI47Gng2WMIY=; b=RV7EwzDqltwMW38vFAODopR/Tr
	di2g9ew74vuEdQdF2TmrMVzIEDwaYEdf8Cw6gHWUOkY5wN/Xj4wgIyvAUNGYnYcuA6u7A2o1eF4HK
	mt2ie1wBvKdriGIz4jjrSuFtoLcn/U5x9YZJ5TMq3bxBaGrmjl0mzh4xoAXWONCCu2Wk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179351-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179351: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=fc14c809cb982f3c8cb3429604262cde0cb264a9
X-Osstest-Versions-That:
    ovmf=f80f052277c88a67c55e107b550f504eeea947d3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 06 Mar 2023 05:49:23 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 fc14c809cb982f3c8cb3429604262cde0cb264a9
baseline version:
 ovmf                 f80f052277c88a67c55e107b550f504eeea947d3

Last test of basis   178885  2023-03-01 15:12:19 Z    4 days
Testing same since   179351  2023-03-06 03:12:47 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Rebecca Cran <quic_rcran@quicinc.com>
  Rebecca Cran <rebecca@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
   f80f052277..fc14c809cb  fc14c809cb982f3c8cb3429604262cde0cb264a9 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 06:38:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 06:38:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506639.779715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ4UV-000749-07; Mon, 06 Mar 2023 06:38:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506639.779715; Mon, 06 Mar 2023 06:38:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ4UU-000742-TQ; Mon, 06 Mar 2023 06:38:34 +0000
Received: by outflank-mailman (input) for mailman id 506639;
 Mon, 06 Mar 2023 06:38: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=jcWU=66=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZ4UU-00073w-0j
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 06:38:34 +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 81ed8bcb-bbe9-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 07:38:30 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id i28so11385836lfv.0
 for <xen-devel@lists.xenproject.org>; Sun, 05 Mar 2023 22:38:30 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.189.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.189]) by smtp.gmail.com with ESMTPSA id
 m16-20020a195210000000b004db2ca9dd33sm1494359lfb.275.2023.03.05.22.38.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 05 Mar 2023 22:38: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: 81ed8bcb-bbe9-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678084709;
        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=dCWNEvXbL4qrXRHbCJ8GR+73nKaaHFnvCjWH5ePcBL4=;
        b=HR9+FfK4+hxR5oyDAxhqlEyW8iYaiaEjpHHwR9PgE33FTP+bFgk5ZQXgAdsverGXIQ
         vi13PRt5u3Ip/nGGOawUNR4Nh+gSJoZO64kQsvh67r48nRvIBOGgtW9/iDYIVCPjkFg9
         qlYUnlXtPxoIKwhP90UNUPQRsvedY/6NCD2hmXrvMGskIW5ZkneZqakWjq7Ym2f3tr9b
         pGajaCpR8F743niwbj4ripdHEa8zsJUZxgnOMZQuCXYS2AjDR56z2TtKgZl2FsqXlwdo
         4GJ7RaOEJ3PZAEK0Mo7kVgtIRT+Wu9sU3aDlCik2MCm/2Ji0b/Zl/ElABAL3utBHDPSP
         2TkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678084709;
        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=dCWNEvXbL4qrXRHbCJ8GR+73nKaaHFnvCjWH5ePcBL4=;
        b=xttx9hM/VEVIe0U09UnAIJQvWaRB+5NYJkQ7iXv8nT+9SbIA/1wlmoz/Rjjcd8Pfz+
         4LOThnarHmhThYvkUzfiBlBWm4/ooq4OMSbm+wvmvHTgwRAjAUwlRRlYSzUgVRlQ625M
         1sw5EvcspVZ5HLH6uCCBENHQPCSx3lZfDY+QI4h/KrkmCUvbGDVq8mHb8ZGK+EP9/Y1K
         lgiSw2xmpCwiL2VnLM/0MTbWtHEQqm5pxX7Fascf8CWH56Dyfj5QuZSDkq1pp5+aXWls
         FN71n5R+prCvxeb3UfxYTPkX14z+t7ZHox7BJa3CBd0Coj9QkHHtl4VflPKdqqnRmuDn
         tkLg==
X-Gm-Message-State: AO0yUKUtfNOIpHvvwIWk2IUfL7I9EiTXVEAsWLfyLbJ/pj6laYs/Qjkb
	Ue3t859cu2cKLqYEc2/fnxc=
X-Google-Smtp-Source: AK7set8/86HztPHCYI2w642crwHtQYqhDfHGDgDpVFzeCJHgitISHhRxd58b27lBvJRPkxt6vbf2tg==
X-Received: by 2002:a19:5514:0:b0:4dd:a66c:6854 with SMTP id n20-20020a195514000000b004dda66c6854mr2602137lfe.25.1678084709446;
        Sun, 05 Mar 2023 22:38:29 -0800 (PST)
Message-ID: <741b22ed304b81b1db948b3c7635b926414d4e85.camel@gmail.com>
Subject: Re: [PATCH v1 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>,
 xen-devel@lists.xenproject.org
Date: Mon, 06 Mar 2023 08:38:27 +0200
In-Reply-To: <fcd149ee-b95e-4488-c1c1-c2122843fa5b@suse.com>
References: <cover.1677250203.git.oleksii.kurochko@gmail.com>
	 <a145fbbfb166d9f6bd4859b669d23a1f52004b2b.1677250203.git.oleksii.kurochko@gmail.com>
	 <fcd149ee-b95e-4488-c1c1-c2122843fa5b@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

T24gTW9uLCAyMDIzLTAyLTI3IGF0IDE2OjEyICswMTAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAyNC4wMi4yMDIzIDE2OjA2LCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gLS0tIC9kZXYv
bnVsbAo+ID4gKysrIGIveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcGFnZS5oCj4gPiBAQCAt
MCwwICsxLDkwIEBACj4gPiArI2lmbmRlZiBfQVNNX1JJU0NWX1BBR0VfSAo+ID4gKyNkZWZpbmUg
X0FTTV9SSVNDVl9QQUdFX0gKPiA+ICsKPiA+ICsjaW5jbHVkZSA8eGVuL2NvbnN0Lmg+Cj4gPiAr
I2luY2x1ZGUgPHhlbi90eXBlcy5oPgo+ID4gKwo+ID4gKyNkZWZpbmUgUEFHRV9FTlRSSUVTwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCA1MTIKPiA+ICsjZGVmaW5lIFZQTl9CSVRTwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgICg5KQo+ID4gKyNkZWZpbmUgVlBOX01BU0vCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgKCh1bnNpZ25lZCBsb25nKSgoMSA8PCBWUE5fQklUUykgLQo+ID4g
MSkpCj4gPiArCj4gPiArI2lmZGVmIENPTkZJR19SSVNDVl82NAo+ID4gKy8qIEwzIGluZGV4IEJp
dFs0NzozOV0gKi8KPiA+ICsjZGVmaW5lIFRISVJEX1NISUZUwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgICgzOSkKPiA+ICsjZGVmaW5lIFRISVJEX01BU0vCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAoVlBOX01BU0sgPDwgVEhJUkRfU0hJRlQpCj4gPiArLyogTDIgaW5kZXggQml0WzM4OjMwXSAq
Lwo+ID4gKyNkZWZpbmUgU0VDT05EX1NISUZUwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMzApCj4g
PiArI2RlZmluZSBTRUNPTkRfTUFTS8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoVlBOX01BU0sg
PDwgU0VDT05EX1NISUZUKQo+ID4gKy8qIEwxIGluZGV4IEJpdFsyOToyMV0gKi8KPiA+ICsjZGVm
aW5lIEZJUlNUX1NISUZUwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgyMSkKPiA+ICsjZGVmaW5l
IEZJUlNUX01BU0vCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoVlBOX01BU0sgPDwgRklSU1Rf
U0hJRlQpCj4gPiArLyogTDAgaW5kZXggQml0WzIwOjEyXSAqLwo+ID4gKyNkZWZpbmUgWkVST0VU
SF9TSElGVMKgwqDCoMKgwqDCoMKgwqDCoMKgICgxMikKPiA+ICsjZGVmaW5lIFpFUk9FVEhfTUFT
S8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKFZQTl9NQVNLIDw8IFpFUk9FVEhfU0hJRlQpCj4gPiAr
Cj4gPiArI2Vsc2UgLy8gQ09ORklHX1JJU0NWXzMyCj4gPiArCj4gPiArLyogTDEgaW5kZXggQml0
WzMxOjIyXSAqLwo+ID4gKyNkZWZpbmUgRklSU1RfU0hJRlTCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgKDIyKQo+ID4gKyNkZWZpbmUgRklSU1RfTUFTS8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IChWUE5fTUFTSyA8PCBGSVJTVF9TSElGVCkKPiA+ICsKPiA+ICsvKiBMMCBpbmRleCBCaXRbMjE6
MTJdICovCj4gPiArI2RlZmluZSBaRVJPRVRIX1NISUZUwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDEy
KQo+ID4gKyNkZWZpbmUgWkVST0VUSF9NQVNLwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoVlBOX01B
U0sgPDwgWkVST0VUSF9TSElGVCkKPiA+ICsjZW5kaWYKPiA+ICsKPiA+ICsjZGVmaW5lIFRISVJE
X1NJWkXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMSA8PCBUSElSRF9TSElGVCkKPiA+ICsj
ZGVmaW5lIFRISVJEX01BUF9NQVNLwqDCoMKgwqDCoMKgwqDCoMKgICh+KFRISVJEX1NJWkUgLSAx
KSkKPiA+ICsjZGVmaW5lIFNFQ09ORF9TSVpFwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgxIDw8
IFNFQ09ORF9TSElGVCkKPiA+ICsjZGVmaW5lIFNFQ09ORF9NQVBfTUFTS8KgwqDCoMKgwqDCoMKg
wqAgKH4oU0VDT05EX1NJWkUgLSAxKSkKPiA+ICsjZGVmaW5lIEZJUlNUX1NJWkXCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCAoMSA8PCBGSVJTVF9TSElGVCkKPiA+ICsjZGVmaW5lIEZJUlNUX01B
UF9NQVNLwqDCoMKgwqDCoMKgwqDCoMKgICh+KEZJUlNUX1NJWkUgLSAxKSkKPiA+ICsjZGVmaW5l
IFpFUk9FVEhfU0laRcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDEgPDwgWkVST0VUSF9TSElGVCkK
PiA+ICsjZGVmaW5lIFpFUk9FVEhfTUFQX01BU0vCoMKgwqDCoMKgwqDCoCAofihaRVJPRVRIX1NJ
WkUgLSAxKSkKPiA+ICsKPiA+ICsjZGVmaW5lIFBURV9TSElGVMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgMTAKPiA+ICsKPiA+ICsjZGVmaW5lIFBURV9WQUxJRMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgQklUKDAsIFVMKQo+ID4gKyNkZWZpbmUgUFRFX1JFQURBQkxFwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBCSVQoMSwgVUwpCj4gPiArI2RlZmluZSBQVEVfV1JJVEFCTEXCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIEJJVCgyLCBVTCkKPiA+ICsjZGVmaW5lIFBURV9FWEVDVVRBQkxFwqDC
oMKgwqDCoMKgwqDCoMKgIEJJVCgzLCBVTCkKPiA+ICsjZGVmaW5lIFBURV9VU0VSwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJJVCg0LCBVTCkKPiA+ICsjZGVmaW5lIFBURV9HTE9CQUzC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBCSVQoNSwgVUwpCj4gPiArI2RlZmluZSBQVEVfQUND
RVNTRUTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJJVCg2LCBVTCkKPiA+ICsjZGVmaW5lIFBURV9E
SVJUWcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQklUKDcsIFVMKQo+ID4gKyNkZWZpbmUg
UFRFX1JTV8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChCSVQoOCwgVUwpIHwgQklU
KDksIFVMKSkKPiA+ICsKPiA+ICsjZGVmaW5lIFBURV9MRUFGX0RFRkFVTFTCoMKgwqDCoMKgwqDC
oCAoUFRFX1ZBTElEIHwgUFRFX1JFQURBQkxFIHwKPiA+IFBURV9XUklUQUJMRSB8IFBURV9FWEVD
VVRBQkxFKQo+ID4gKyNkZWZpbmUgUFRFX1RBQkxFwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAoUFRFX1ZBTElEKQo+ID4gKwo+ID4gKy8qIENhbGN1bGF0ZSB0aGUgb2Zmc2V0cyBpbnRvIHRo
ZSBwYWdldGFibGVzIGZvciBhIGdpdmVuIFZBICovCj4gPiArI2RlZmluZSB6ZXJvZXRoX2xpbmVh
cl9vZmZzZXQodmEpwqDCoCAoKHZhKSA+PiBaRVJPRVRIX1NISUZUKQo+ID4gKyNkZWZpbmUgZmly
c3RfbGluZWFyX29mZnNldCh2YSnCoMKgwqDCoCAoKHZhKSA+PiBGSVJTVF9TSElGVCkKPiA+ICsj
ZGVmaW5lIHNlY29uZF9saW5lYXJfb2Zmc2V0KHZhKcKgwqDCoCAoKHZhKSA+PiBTRUNPTkRfU0hJ
RlQpCj4gPiArI2RlZmluZSB0aGlyZF9saW5lYXJfb2Zmc2V0KHZhKcKgwqDCoMKgICgodmEpID4+
IFRISVJEX1NISUZUKQo+ID4gKwo+ID4gKyNkZWZpbmUgcGFnZXRhYmxlX3plcm9ldGhfaW5kZXgo
dmEpIHplcm9ldGhfbGluZWFyX29mZnNldCgodmEpICYKPiA+IFpFUk9FVEhfTUFTSykKPiA+ICsj
ZGVmaW5lIHBhZ2V0YWJsZV9maXJzdF9pbmRleCh2YSnCoMKgIGZpcnN0X2xpbmVhcl9vZmZzZXQo
KHZhKSAmCj4gPiBGSVJTVF9NQVNLKQo+ID4gKyNkZWZpbmUgcGFnZXRhYmxlX3NlY29uZF9pbmRl
eCh2YSnCoCBzZWNvbmRfbGluZWFyX29mZnNldCgodmEpICYKPiA+IFNFQ09ORF9NQVNLKQo+ID4g
KyNkZWZpbmUgcGFnZXRhYmxlX3RoaXJkX2luZGV4KHZhKcKgwqAgdGhpcmRfbGluZWFyX29mZnNl
dCgodmEpICYKPiA+IFRISVJEX01BU0spCj4gPiArCj4gPiArLyogUGFnZSBUYWJsZSBlbnRyeSAq
Lwo+ID4gK3R5cGVkZWYgc3RydWN0IHsKPiA+ICvCoMKgwqAgdWludDY0X3QgcHRlOwo+ID4gK30g
cHRlX3Q7Cj4gPiArCj4gPiArLyogU2hpZnQgdGhlIFZQTlt4XSBvciBQUE5beF0gZmllbGRzIG9m
IGEgdmlydHVhbCBvciBwaHlzaWNhbAo+ID4gYWRkcmVzcwo+ID4gKyAqIHRvIGJlY29tZSB0aGUg
c2hpZnRlZCBQUE5beF0gZmllbGRzIG9mIGEgcGFnZSB0YWJsZSBlbnRyeSAqLwo+ID4gKyNkZWZp
bmUgYWRkcl90b19wcG4oeCkgKCgoeCkgPj4gUEFHRV9TSElGVCkgPDwgUFRFX1NISUZUKQo+ID4g
Kwo+ID4gK3N0YXRpYyBpbmxpbmUgcHRlX3QgcGFkZHJfdG9fcHRlKHVuc2lnbmVkIGxvbmcgcGFk
ZHIpCj4gPiArewo+ID4gK8KgwqDCoCByZXR1cm4gKHB0ZV90KSB7IC5wdGUgPSBhZGRyX3RvX3Bw
bihwYWRkcikgfTsKPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIGlubGluZSBib29sIHB0ZV9pc192
YWxpZChwdGVfdCAqcCkKPiAKPiBCdHcgLSBjb25zdCB3aGVuZXZlciBwb3NzaWJsZSBwbGVhc2Us
IGVzcGVjaWFsbHkgaW4gc3VjaCBiYXNpYwo+IGhlbHBlcnMuClN1cmUuIFRoYW5rcy4KPiAKPiA+
IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL3hlbi9hcmNoL3Jpc2N2L21tLmMKPiA+IEBAIC0wLDAg
KzEsMjIzIEBACj4gPiArI2luY2x1ZGUgPHhlbi9pbml0Lmg+Cj4gPiArI2luY2x1ZGUgPHhlbi9s
aWIuaD4KPiA+ICsKPiA+ICsjaW5jbHVkZSA8YXNtL2Nzci5oPgo+ID4gKyNpbmNsdWRlIDxhc20v
bW0uaD4KPiA+ICsjaW5jbHVkZSA8YXNtL3BhZ2UuaD4KPiA+ICsKPiA+ICsvKgo+ID4gKyAqIHhl
bl9zZWNvbmRfcGFnZXRhYmxlIGlzIGluZGV4ZWQgd2l0aCB0aGUgVlBOWzJdIHBhZ2UgdGFibGUK
PiA+IGVudHJ5IGZpZWxkCj4gPiArICogeGVuX2ZpcnN0X3BhZ2V0YWJsZSBpcyBhY2Nlc3NlZCBm
cm9tIHRoZSBWUE5bMV0gcGFnZSB0YWJsZQo+ID4gZW50cnkgZmllbGQKPiA+ICsgKiB4ZW5femVy
b2V0aF9wYWdldGFibGUgaXMgYWNjZXNzZWQgZnJvbSB0aGUgVlBOWzBdIHBhZ2UgdGFibGUKPiA+
IGVudHJ5IGZpZWxkCj4gPiArICovCj4gPiArcHRlX3QgeGVuX3NlY29uZF9wYWdldGFibGVbUEFH
RV9FTlRSSUVTXQo+ID4gX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oUEFHRV9TSVpFKSkpOwo+
IAo+IHN0YXRpYz8KSXQgc2hvdWxkIGJlIHN0YXRpYy4KVGhhbmtzLgo+IAo+ID4gK3N0YXRpYyBw
dGVfdCB4ZW5fZmlyc3RfcGFnZXRhYmxlW1BBR0VfRU5UUklFU10KPiA+ICvCoMKgwqAgX19hdHRy
aWJ1dGVfXygoX19hbGlnbmVkX18oUEFHRV9TSVpFKSkpOwo+ID4gK3N0YXRpYyBwdGVfdCB4ZW5f
emVyb2V0aF9wYWdldGFibGVbUEFHRV9FTlRSSUVTXQo+ID4gK8KgwqDCoCBfX2F0dHJpYnV0ZV9f
KChfX2FsaWduZWRfXyhQQUdFX1NJWkUpKSk7Cj4gCj4gUGxlYXNlIHVzZSBfX2FsaWduZWQoKSBp
bnN0ZWFkIG9mIG9wZW4tY29kaW5nIGl0LiBZb3UgYWxzbyBtYXkgd2FudAo+IHRvCj4gc3BlY2lm
aXkgdGhlIHNlY3Rpb24gaGVyZSBleHBsaWNpdGx5LCBhcyAuYnNzLnBhZ2VfYWxpZ25lZCAoYXMg
d2UgZG8KPiBlbHNld2hlcmUpLgo+IAo+ID4gK2V4dGVybiB1bnNpZ25lZCBsb25nIF9zdGV4dDsK
PiA+ICtleHRlcm4gdW5zaWduZWQgbG9uZyBfZXRleHQ7Cj4gPiArZXh0ZXJuIHVuc2lnbmVkIGxv
bmcgX19pbml0X2JlZ2luOwo+ID4gK2V4dGVybiB1bnNpZ25lZCBsb25nIF9faW5pdF9lbmQ7Cj4g
PiArZXh0ZXJuIHVuc2lnbmVkIGxvbmcgX3Nyb2RhdGE7Cj4gPiArZXh0ZXJuIHVuc2lnbmVkIGxv
bmcgX2Vyb2RhdGE7Cj4gCj4gUGxlYXNlIHVzZSBrZXJuZWwuaCBhbmQgZHJvcCB0aGVuIGNvbGxp
ZGluZyBkZWNsYXJhdGlvbnMuIEZvciB3aGF0J3MKPiBsZWZ0IHBsZWFzZSB1c2UgYXJyYXkgdHlw
ZXMsIGFzIHN1Z2dlc3RlZCBlbHNld2hlcmUgYWxyZWFkeS4KVGhhbmtzLiBJJ2xsIHRha2UgaXQg
aW50byBhY2NvdW50Lgo+IAo+ID4gK3BhZGRyX3QgcGh5c19vZmZzZXQ7Cj4gPiArCj4gPiArI2Rl
ZmluZSByZXNvbHZlX2Vhcmx5X2FkZHIoeCkgXAo+ID4gK8KgwqDCoAo+ID4gKHvCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgCj4gPiDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqDCoMKgwqDCoMKgIHVuc2ln
bmVkIGxvbmcgKgo+ID4gX18jI3g7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIFwKPiA+ICvCoMKgwqDCoMKgwqDCoCBpZiAoIGxvYWRfYWRkcl9zdGFydCA8PSB4ICYmIHgg
PCBsb2FkX2FkZHJfZW5kCj4gPiApwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCBcCj4gCj4gTml0OiBNaXNtYXRjaGVkIGluZGVudGF0aW9uLgo+IAo+ID4gK8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgX18jI3ggPSAodW5zaWduZWQgbG9uZwo+ID4gKil4O8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqDCoMKgwqDCoAo+ID4gZWxzZcKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoAo+ID4gwqDCoMKgwqAgXAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX18jI3ggPSAo
dW5zaWduZWQgbG9uZyAqKSh4ICsgbG9hZF9hZGRyX3N0YXJ0IC0KPiA+IGxpbmtlcl9hZGRyX3N0
YXJ0KTsgXAo+ID4gK8KgwqDCoMKgwqDCoMKgCj4gPiBfXyMjeDvCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gwqDCoMKg
wqAgXAo+ID4gK8KgwqDCoMKgIH0pCj4gPiArCj4gPiArc3RhdGljIHZvaWQgX19pbml0IGNsZWFy
X3BhZ2V0YWJsZXModW5zaWduZWQgbG9uZyBsb2FkX2FkZHJfc3RhcnQsCj4gPiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQg
bG9uZyBsb2FkX2FkZHJfZW5kLAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgbGlua2VyX2FkZHJfc3RhcnQs
Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgdW5zaWduZWQgbG9uZyBsaW5rZXJfYWRkcl9lbmQpCj4gCj4gTml0IChzdHlsZSk6IElu
ZGVudGF0aW9uLgo+IAo+ID4gK3sKPiA+ICvCoMKgwqAgdW5zaWduZWQgbG9uZyAqcDsKPiA+ICvC
oMKgwqAgdW5zaWduZWQgbG9uZyBwYWdlOwo+ID4gK8KgwqDCoCB1bnNpZ25lZCBsb25nIGk7Cj4g
PiArCj4gPiArwqDCoMKgIHBhZ2UgPSAodW5zaWduZWQgbG9uZykmeGVuX3NlY29uZF9wYWdldGFi
bGVbMF07Cj4gPiArCj4gPiArwqDCoMKgIHAgPSByZXNvbHZlX2Vhcmx5X2FkZHIocGFnZSk7Cj4g
PiArwqDCoMKgIGZvciAoIGkgPSAwOyBpIDwgQVJSQVlfU0laRSh4ZW5fc2Vjb25kX3BhZ2V0YWJs
ZSk7IGkrKyApCj4gPiArwqDCoMKgIHsKPiA+ICvCoMKgwqDCoMKgwqDCoCBwW2ldID0gMFVMTDsK
PiA+ICvCoMKgwqAgfQo+IAo+IFdlIHR5cGljYWxseSBvbWl0IGJyYWNlcyBhcm91bmQgc2luZ2xl
LXN0YXRlbWVudCBib2RpZXMuIEhlcmUsCj4gdGhvdWdoOiBXaHkgZG8geW91IGRvIHRoaXMgaW4g
dGhlIGZpcnN0IHBsYWNlPyBUaGVzZSBzdGF0aWMgYXJyYXlzCj4gYWxsIHN0YXJ0IG91dCB6ZXJv
LWluaXRpYWxpemVkIGFueXdheSAoZnJvbSB3aGVuIHlvdSBjbGVhciAuYnNzKS4KPiBQbHVzIGV2
ZW4gaWYgdGhleSBkaWRuJ3QgLSB3aHkgbm90IG1lbXNldCgpPwpjbGVhcl9wYWdldGFibGVzKCkg
d2lsbCBiZSBkZWxldGVkIGFzIHlvdSBtZW50aW9uZWQgaXQgd2lsbCBiZSB6ZXJvZWQKZHVyaW5n
IGluaXRpYWxpemF0aW9uIG9mIC5ic3MuCkl0IHdhc24ndCBkb25lIGJlZm9yZSBiZWNhdXNlIC5i
c3Mgd2Fzbid0IGluaXRpYWxpemVkLiBOb3cgdGhlIHBhdGNoZXMKYXJlIHdhaXRpbmcgdG8gYmUg
bWVyZ2VkLgo+IAo+ID4gK8KgwqDCoCBwYWdlID0gKHVuc2lnbmVkIGxvbmcpJnhlbl9maXJzdF9w
YWdldGFibGVbMF07Cj4gPiArwqDCoMKgIHAgPSByZXNvbHZlX2Vhcmx5X2FkZHIocGFnZSk7Cj4g
PiArwqDCoMKgIGZvciAoIGkgPSAwOyBpIDwgQVJSQVlfU0laRSh4ZW5fZmlyc3RfcGFnZXRhYmxl
KTsgaSsrICkKPiA+ICvCoMKgwqAgewo+ID4gK8KgwqDCoMKgwqDCoMKgIHBbaV0gPSAwVUxMOwo+
ID4gK8KgwqDCoCB9Cj4gPiArCj4gPiArwqDCoMKgIHBhZ2UgPSAodW5zaWduZWQgbG9uZykmeGVu
X3plcm9ldGhfcGFnZXRhYmxlWzBdOwo+ID4gK8KgwqDCoCBwID0gcmVzb2x2ZV9lYXJseV9hZGRy
KHBhZ2UpOwo+ID4gK8KgwqDCoCBmb3IgKCBpID0gMDsgaSA8IEFSUkFZX1NJWkUoeGVuX3plcm9l
dGhfcGFnZXRhYmxlKTsgaSsrICkKPiA+ICvCoMKgwqAgewo+ID4gK8KgwqDCoMKgwqDCoMKgIHBb
aV0gPSAwVUxMOwo+ID4gK8KgwqDCoCB9Cj4gPiArfQo+ID4gKwo+ID4gKy8qCj4gPiArICogV0FS
TklORzogbG9hZF9hZGRyKCkgYW5kIGxpbmtlcl9hZGRyKCkgYXJlIHRvIGJlIGNhbGxlZCBvbmx5
Cj4gPiB3aGVuIHRoZSBNTVUgaXMKPiA+ICsgKiBkaXNhYmxlZCBhbmQgb25seSB3aGVuIGV4ZWN1
dGVkIGJ5IHRoZSBwcmltYXJ5IENQVS7CoCBUaGV5Cj4gPiBjYW5ub3QgcmVmZXIgdG8KPiA+ICsg
KiBhbnkgZ2xvYmFsIHZhcmlhYmxlIG9yIGZ1bmN0aW9ucy4KPiA+ICsgKi8KPiA+ICsKPiA+ICsv
Kgo+ID4gKyAqIENvbnZlcnQgYW4gYWRkcmVzc2VkIGxheWVkIG91dCBhdCBsaW5rIHRpbWUgdG8g
dGhlIGFkZHJlc3MKPiA+IHdoZXJlIGl0IHdhcyBsb2FkZWQKPiA+ICsgKiBieSB0aGUgYm9vdGxv
YWRlci4KPiA+ICsgKi8KPiA+ICsjZGVmaW5lCj4gPiBsb2FkX2FkZHIobGlua2VyX2FkZHJlc3Mp
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiDCoMKgwqAgXAo+ID4gK8KgwqDCoAo+ID4g
KHvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgCj4gPiDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgwqDCoMKg
wqAgdW5zaWduZWQgbG9uZyBfX2xpbmtlcl9hZGRyZXNzID0gKHVuc2lnbmVkCj4gPiBsb25nKShs
aW5rZXJfYWRkcmVzcyk7wqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgwqDCoMKgwqAgaWYgKCBsaW5r
ZXJfYWRkcl9zdGFydCA8PSBfX2xpbmtlcl9hZGRyZXNzCj4gPiAmJsKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIF9fbGlua2VyX2FkZHJlc3MgPCBsaW5rZXJfYWRkcl9lbmQKPiA+ICnCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4g
K8KgwqDCoMKgwqDCoMKgCj4gPiB7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiDCoMKgwqAgXAo+ID4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19saW5rZXJfYWRkcmVzcwo+ID4gPcKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIF9fbGlua2VyX2FkZHJlc3MgLSBsaW5rZXJfYWRkcl9zdGFydCArCj4gPiBsb2Fk
X2FkZHJfc3RhcnQ7wqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoMKgwqDCoMKgCj4gPiB9wqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgCj4gPiDCoMKgwqAgXAo+ID4gK8KgwqDCoMKgwqDCoMKgCj4gPiBfX2xp
bmtlcl9hZGRyZXNzO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAK
PiA+IMKgwqDCoCBcCj4gPiArwqDCoMKgIH0pCj4gPiArCj4gPiArLyogQ29udmVydCBib290LXRp
bWUgWGVuIGFkZHJlc3MgZnJvbSB3aGVyZSBpdCB3YXMgbG9hZGVkIGJ5IHRoZQo+ID4gYm9vdCBs
b2FkZXIgdG8gdGhlIGFkZHJlc3MgaXQgd2FzIGxheWVkIG91dAo+ID4gKyAqIGF0IGxpbmstdGlt
ZS4KPiA+ICsgKi8KPiA+ICsjZGVmaW5lCj4gPiBsaW5rZXJfYWRkcihsb2FkX2FkZHJlc3MpwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiDCoMKgwqAgXAo+ID4gK8KgwqDCoAo+ID4gKHvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgCj4gPiDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgwqDCoMKgwqAg
dW5zaWduZWQgbG9uZyBfX2xvYWRfYWRkcmVzcyA9ICh1bnNpZ25lZAo+ID4gbG9uZykobG9hZF9h
ZGRyZXNzKTvCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoMKgwqDCoMKgIGlmICggbG9h
ZF9hZGRyX3N0YXJ0IDw9IF9fbG9hZF9hZGRyZXNzCj4gPiAmJsKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgX19sb2FkX2FkZHJlc3MgPCBsb2FkX2FkZHJfZW5kCj4gPiApwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgXAo+ID4gK8KgwqDCoMKgwqDCoMKgCj4gPiB7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiDCoMKg
wqAgXAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19sb2FkX2FkZHJlc3MKPiA+ID3CoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgX19sb2FkX2FkZHJlc3MgLSBsb2FkX2FkZHJfc3RhcnQgKwo+
ID4gbGlua2VyX2FkZHJfc3RhcnQ7wqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqDCoMKg
wqDCoAo+ID4gfcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gwqDCoMKgIFwKPiA+ICvCoMKgwqDCoMKg
wqDCoAo+ID4gX19sb2FkX2FkZHJlc3M7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAKPiA+IMKgwqDCoCBcCj4gPiArwqDCoMKgIH0pCj4gPiArCj4gPiArc3Rh
dGljIHZvaWQgX19hdHRyaWJ1dGVfXygoc2VjdGlvbigiLmVudHJ5IikpKQo+ID4gK19zZXR1cF9p
bml0aWFsX3BhZ2V0YWJsZXMocHRlX3QgKnNlY29uZCwgcHRlX3QgKmZpcnN0LCBwdGVfdAo+ID4g
Knplcm9ldGgsCj4gCj4gV2h5IHRoZSBzcGVjaWFsIHNlY3Rpb24gKGFsc28gYWdhaW4gZnVydGhl
ciBkb3duKT8KVGhlcmUgaXMgbm8gc3BlY2lmaWMgcmVhc29uIGluIGNhc2Ugb2YgWGVuLiBJJ2xs
IHJlbW92ZSB0aGF0LgoKfiBPbGVrc2lpCg==



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 06:40:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 06:40:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506645.779725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ4Vx-0008Sn-9n; Mon, 06 Mar 2023 06:40:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506645.779725; Mon, 06 Mar 2023 06:40:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ4Vx-0008S4-6q; Mon, 06 Mar 2023 06:40:05 +0000
Received: by outflank-mailman (input) for mailman id 506645;
 Mon, 06 Mar 2023 06:40: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=jcWU=66=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZ4Vv-00087y-Qo
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 06:40:03 +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 b971db0a-bbe9-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 07:40:03 +0100 (CET)
Received: by mail-lj1-x22d.google.com with SMTP id z5so8497002ljc.8
 for <xen-devel@lists.xenproject.org>; Sun, 05 Mar 2023 22:40:03 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.189.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.189]) by smtp.gmail.com with ESMTPSA id
 o1-20020a05651238a100b004deead111f5sm1500787lft.289.2023.03.05.22.40.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 05 Mar 2023 22:40: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: b971db0a-bbe9-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678084803;
        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=jx2kT/6gKG1S1vNI57RuAVKVW0rSCySr2R/KQymdUjk=;
        b=LYmgRFbDfbFubTfwdk+cEkr6THb63x+BzBVz/Hub4ySZPJiEN9BEsddFvVeR6vMBWC
         5Yjxp5OmkEO/NZnxUCkUEj++/ypGZQv31x8b7qbn4873X/Hel8uWBg4kwtoYX1poB46n
         b/lT/3S3Zh8tGAiA1hUx1NwNoxu3p02s3H9e8gjo9V5QbvoyyGkyh53A6/Z5Efa9Xh4P
         Z2iA6s65GUkyWKDyTx2KCvAmtkQNKIMbtQZ58kBnrgL/FoJrS5YtMXy8Mro9dzbGb8B7
         B4gG1YtQgVMbQAtSaRsMuAZ8q78KMe+kQ/E73QjC/lm5LEKf3MzKex3+t9JAv2dfXJlR
         2Jaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678084803;
        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=jx2kT/6gKG1S1vNI57RuAVKVW0rSCySr2R/KQymdUjk=;
        b=DWlk5XzdXZtGUfbXhc/PIy2UQ8cTsidDhLAG1VVw0KMMv4TB3rwWsTvhWvhCEuMctP
         EBy2NmEgJRiw7wqFOgXQNT52T5EScluSL9u3PSdzJVN7Lg11vUPXwtLfoJAjYxe0Ylcg
         LeJpOoLbf+X9flZ2GWdXQUSI53H1prXbttx7OzpMlm8T1cq+hL1r2DaLAOB82wz78Vec
         pxFiSZtSaDZiHsZH3/J9i6ihFXbb3dBqP+BtX/tE2i0Os8S7ocUdmED9SahqAyyA0hAz
         j7tOfaYDcUoWkz0uJP7TY2bUTTxlgibOrCUJ9L1Iia9oLzDEWlrbgWYvzxOwBwJFJfym
         X0pg==
X-Gm-Message-State: AO0yUKVfG02ZP9WIV8ktXleWFg81Ax1QbE1KyfI3qBe35s1NDgBKcgUU
	Jwvt7iY1ftp52u7hW4SRbBk=
X-Google-Smtp-Source: AK7set9OC+7fyEIAEpZI+rb19qhrFqZJjva/Ip92LgLcNsQUX0HdGZeT6bBbSJhEbqDycFuw3ElbJQ==
X-Received: by 2002:a2e:b00e:0:b0:293:50e7:3d07 with SMTP id y14-20020a2eb00e000000b0029350e73d07mr2658526ljk.14.1678084802603;
        Sun, 05 Mar 2023 22:40:02 -0800 (PST)
Message-ID: <4d82290b38d21dc4cc7a0c8a3ce87eb2a86536cd.camel@gmail.com>
Subject: Re: [PATCH v1 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>,
 xen-devel@lists.xenproject.org
Date: Mon, 06 Mar 2023 08:39:59 +0200
In-Reply-To: <a37cdfda-f516-2098-2b1a-bb8a69a049ae@suse.com>
References: <cover.1677250203.git.oleksii.kurochko@gmail.com>
	 <a145fbbfb166d9f6bd4859b669d23a1f52004b2b.1677250203.git.oleksii.kurochko@gmail.com>
	 <fcd149ee-b95e-4488-c1c1-c2122843fa5b@suse.com>
	 <a37cdfda-f516-2098-2b1a-bb8a69a049ae@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Mon, 2023-02-27 at 16:19 +0100, Jan Beulich wrote:
> On 27.02.2023 16:12, Jan Beulich wrote:
> > On 24.02.2023 16:06, Oleksii Kurochko wrote:
> > > +static void __attribute__((section(".entry")))
> > > +_setup_initial_pagetables(pte_t *second, pte_t *first, pte_t
> > > *zeroeth,
> >=20
> > Why the special section (also again further down)?
>=20
> Looking at patch 2 it occurred to me that you probably mean __init
> here.
Yes, you are right.
>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 06:57:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 06:57:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506651.779735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ4mY-0001sp-Op; Mon, 06 Mar 2023 06:57:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506651.779735; Mon, 06 Mar 2023 06:57: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 1pZ4mY-0001si-Lo; Mon, 06 Mar 2023 06:57:14 +0000
Received: by outflank-mailman (input) for mailman id 506651;
 Mon, 06 Mar 2023 06:57: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=MPo4=66=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZ4mW-0001sc-FH
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 06:57:12 +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 1c54d360-bbec-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 07:57:08 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB7119.eurprd04.prod.outlook.com (2603:10a6:800:12e::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Mon, 6 Mar
 2023 06:57:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Mon, 6 Mar 2023
 06:57: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: 1c54d360-bbec-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bWpphCvFmXJASebJ5y2ICztdN5zNQjTqj5dDOoEfnQCsO8t9aseWlyhe5V7dRXcK+ZZk3adYzriLUYZFDmfMYd5KMXT7UeUgIrn1OaLjRRVkFY4Ym7FuvaKEoENOHu1++NWNwzzrp2FyURSszp4YHwbOt6Yv84sOQkePahwhFKNSYL8vyvJCmrtycSrgz35MeYe52Kgv4+lykS5DB1zYe+UuyRIKQwpFe6yTLyr+Bp4fJ/W66qu8UCeaRGeoZVlYH4m/c8qf4IaGQxTCEzmo5kiIQ85o+64yTq4kbToRPHVP0EG4j/ZZ2bIbFxnhHJSr8h1MxM+W6rDi3L226l8+dw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MR4vmimCzefpM+08QYa+0OsmT/jsoyf304Nr2AOL26o=;
 b=R7tblq1phMNO6/d5EHzsLLSu22wJcOUzbciDuGtLd1Q4DK972tisOmtlv2JIY+MhJq9zGoBgzGezbr+UDjO4cEGor936QxL/GMzouzFrH4JhuuLPadFGmNGBpPc2HCMfNz0ry+/RTPHRWsvXsuYgGNrZzbJezCsV6M0Orsf9SwhIV+7AAPBBzyypoLvmvgkmG0Wr3PtDOiF35WNnG3w/RKog0svY3kjAGw1PV2urnOwSK/pAQ8D4XER8XDpyOdvXi7Z552w1laD0PZGFDJJ+D2ITSsogHbbty4FcPn4WByNbokhImXBjRL0DUW2eWPPPsrlg4lqgLvADaxdWc++75Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MR4vmimCzefpM+08QYa+0OsmT/jsoyf304Nr2AOL26o=;
 b=Tt1MotSSS/MeVGDIMpb3OpsYehyxs95ol0o8xYQ19SnadrywFLBegulIz5d7g/ueAyM9RN1ZZ9bnAzS2uIMP/SxLS0O69usSxvhZaIRNRLZdm88FksqqL2yWqNsMyzlXEsSOksGXyui/e3BAsKWQzflTwaFHuXSaYC7NJ1IB8CNFpiuKAPuf1Zw4UNjqWdZyTeunfhht3X/yi5gnO4Uz6V5ZYy4+UtAnKLoiaFvfmJPKQ//OBdUCCQnGRBE7YQgPi1eXZUq5yCx/pFC0YxdWfzWf4NBYVzoz+ksAip888B6rSPH64VN8cgM+lQITR/FykfwGm0erd3gJhCY8+q2wMA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a282c338-98ab-6c3f-314b-267a5a82bad1@suse.com>
Date: Mon, 6 Mar 2023 07:57:05 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 1/2] x86/cpuid: Infrastructure for leaves 7:1{ecx,edx}
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: <20230104111146.2094-1-andrew.cooper3@citrix.com>
 <20230104111146.2094-2-andrew.cooper3@citrix.com>
 <f62293e3-94f5-005b-dafd-4c9084f5d84b@suse.com>
 <9f47f473-c9e2-5a35-f397-bb6e652354b1@citrix.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9f47f473-c9e2-5a35-f397-bb6e652354b1@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0100.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB7119:EE_
X-MS-Office365-Filtering-Correlation-Id: 717a6283-f37b-4fa4-6af3-08db1e0ffeb9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QVhCtOoCwb2PqOzbKY0Iw6DAw00Hlua2cU+Wo0ZcG5z8eEnFHSGq1+E7s5rn51N+fU2L7zuUu93Cf2qbbJ3DCscymPpXkgg+XQUbu56AcSpNO/g9edqQJgxwFgftab8yivqD1yCS2SR+XSH4gUqCb4ded/AwlyTJo6BQyeCA1T2/xtl1HEX/DGHAHkQopLHP4dAixPOMDpKgbG2NHFg4TddpGpuxA0xY2iPFikdWHffalhb8OJKhjn2JB/WTNrb7k+jtwE60hqtXkQFh8030HW58lReHEvOv04a0mKN0ftu4ZSdc8BjLK7EQ33Xh2YMWYVxQ6Z5w89+b0CjrixTLMjvW5aasSoVY2cLPi804cJJStPK0XHk2p3SvxAqOJMoNSKDx0lU0BM317rutk0bNqtLxuhiWtaU287CrZ1w4NahMFEyTmLi63ZDz5b4PRx7BdxQ5N7FOCQTIOHST7YhJ+NN121PDr9k1QuAbq8rojgs+id2m2k53gYjQp1X1o9BIdG0sIEsM4QsXYy7eUswj0sR8Ch9UFE4850kssW9Weu/O3gsdtb0MzZHp7ptWlecK6gJtC0YSrC/nRomU9HWAHk8jeD2u2rfl0Yh6XuCNN2j3PL80M9mCDDpDstTjcULM/gT4UJUhaZn/30StPb6mamhOuPPRi8kbOi2PFykZy3u5U0EqUMCHx1C+APJijz8fmWqwdtCd6aSfqwc6M8Uef6XSE3IU3XbkiNK9a9C3zf8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39850400004)(136003)(346002)(366004)(396003)(376002)(451199018)(186003)(38100700002)(8936002)(66556008)(4326008)(6916009)(8676002)(66946007)(41300700001)(66476007)(2906002)(5660300002)(478600001)(2616005)(53546011)(6512007)(6506007)(26005)(6486002)(316002)(54906003)(36756003)(86362001)(31696002)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Rk96dXU0QzFHU1ZFNklKSkp6Mi96ODNVMmNZa0wzWEN3TWtiWnc0U1ZKeDg1?=
 =?utf-8?B?a1p1ZU4wMWNpU2pXbG1ITlJLeThmZW9rZXlLdGdVZ3lhVk05aHBkNklXcVdr?=
 =?utf-8?B?VUNJTUdrTGNyS1UrUGlMWTQ0ZDBMa3lzRWFZdWt5THpkMFRFeXhObWMydjlZ?=
 =?utf-8?B?RW0xYWFPa1FrZXdzdXJmTHNTVXgvcUJPZzF0SExSWVQ3RVJtSlBzWk1Kemt6?=
 =?utf-8?B?a0RiQmF2VFFRS2R3c1ZaVkdsM1lhYkxwb3ZEajRqamVqbUdSaFN0Vzk2NXIy?=
 =?utf-8?B?cEJSMThXOER6OHNDVk14Q1c2V0hQcmt1WDlEVWVGQU1XckswVy9MWHlsQlR6?=
 =?utf-8?B?R09FeUprMkRWTnRkSHRGU2NqZlFWYkRkc1VRMWd3UGZYTERJSXJQZDN6emlJ?=
 =?utf-8?B?M3NlZjhHbUZJeFBYYUVUbkpKbkVZRE9FUnF5NDcySlArQWhmQk5nMCtuZS9n?=
 =?utf-8?B?WmhuTnRha1FSUnorc1l4bDRoMnRVakxETFBwNzljUGhtaFJVSTlMeHdLSGZC?=
 =?utf-8?B?a2grcXduNmFLOXMzRzNsc0drVUk2dE10S0tTN3hPTCtoaXArOFlQVU9OdHZP?=
 =?utf-8?B?UzlBb2syQ0RpYlR3OW1IL0ZZWkxzTVRnM1pjK3VUSXdscjI0WHJpV1Z4ellF?=
 =?utf-8?B?dGN1M1ZyLzEwK3UxbmxKZnRYU3E2VUpMMnYvK1ArVWRjTjRsTDIwamE2OG5K?=
 =?utf-8?B?MTZBMWFEQ0F5dms2eHJOWGdkZHc1UFdadklHLzZGTEMvNTFPNDE0NFpOb2ZE?=
 =?utf-8?B?QWRiaXV6cDhrT3hWT0JtS3Axa2xQVmc4UEF4emczZjBEOHFZV1pybUIraDI3?=
 =?utf-8?B?MlVKNUFzSE9pTngvajFzQ2tqTFBUZk01R1BwdmUxTng3cUFIeWRQRnlBbk4v?=
 =?utf-8?B?M2VzOUh0UjNxNE95UXFIdEFHZStvWDd0ZjRoTDdJQk5CbVRwamdYRGFGU2lj?=
 =?utf-8?B?c2txeDNDTFVpWUMrcGIxdzZYQy8wRnNMdHp3N1VnSGxmVlZZdzlZeEJzQ2JC?=
 =?utf-8?B?M1U1RnErVlV4UWgvVWtZaDNNRnNMRGt5ZDVTbXpXc2ZlUDBFdUgyc040VzR2?=
 =?utf-8?B?Q002ZUhaTDlVMHN0TUxhUUNzcEZjbWRhUFBDemhaVXQ3WWF5NVdXZkJyRGxx?=
 =?utf-8?B?Z2NtRFdDaDJ4U3lqTVViY3ZOZHg0U2FTOTh5cThGbTVQdmZHc2g4TjB1YXds?=
 =?utf-8?B?RGlwMHArenBDOUxNTmpINFVvUi9PTXdzZHpDM1FiT2ZzUGRjYVU4REVlWVBJ?=
 =?utf-8?B?cmwrbDE1MkM0Z3RPZWFtZUdRaHlzYVVTY255SVQ0NVByYU1sYmJwdlNmWUEz?=
 =?utf-8?B?aGg2TkNGOEk2dnRhOXp3TUk0TTEreW9zYXJEaFl5aFgrRmNvaUFBM0xHaG9O?=
 =?utf-8?B?RVN4NG94NVNHSnlhREo2UGcwaVNYcUpvbm01eWNLallIOEdYY25Rby96alZy?=
 =?utf-8?B?TVJTNXJKOGE5ZXhpNjJZQm16VDU0MFZvc3JMa0FaRThhVHY4TVZlT3VMTmlw?=
 =?utf-8?B?STg0Wll6RG5lNXgybXUwb3JOdFVEL1d1Mnh4Rk1LTmR1anVBeExnQncwQ2xj?=
 =?utf-8?B?Ri9iWDF0cWlxa0loM0dkR1A3WVc1ZFdKaXdkRlNRUEtUallXZnM1OExVSElP?=
 =?utf-8?B?cDJzRXkrY2Q2REhKU0M3ejk3SDcvMC8ra01PMHE3S2pMMmdYSktFYjVxbHZh?=
 =?utf-8?B?SEZqVHhneGNOZDUwVGEydDhtZXp0Vk94cHRaYXUyT3AvaWFuNU16NGZyWmQ1?=
 =?utf-8?B?VjlnL3U4WGRtS3g2Q0lJOHYwZmZQWjl3MXVITENoVlZXZHZrKy8rYUhyazJ4?=
 =?utf-8?B?Q3JQSFAyR0lVTlZ4emJDcDBVWXVDVmJpalU5M3l0M1BLWloxUUtMQTN1Q0ta?=
 =?utf-8?B?WnZXYkN2WTA5cXNnRkxsVUloUVNRTmdrT1pSK1JGOUxpUFl3cVhTVkFQRXFB?=
 =?utf-8?B?ZFRTK3NmRHlLWjJoeDVOTkhuUnFFb21rZlZ2VnBaM1NwQk9YNGFTZ1dmT1BE?=
 =?utf-8?B?N1ZXejRNMlcrOHJLaU9XU2NBdW9rYmEwTzhtZlVMdStjdEFHTDJjNHlzdTR1?=
 =?utf-8?B?cnU1dG00QzNsdnp6WW5tRGpvUDhuTW10NEZJQllmQUtUYWp1eHFOMkRjalNW?=
 =?utf-8?Q?ooCPTWUTu3DWm7ulnBKAYT54B?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 717a6283-f37b-4fa4-6af3-08db1e0ffeb9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 06:57:05.3401
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iM7B1V+nIP/QHnMmiqsWYftrdVEON35GNLi3Q3o0TeTbtqC+va7CZT2TezUCFqGzAgHkcR3AFNiCi3W2fxB4Yg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7119

On 03.03.2023 19:32, Andrew Cooper wrote:
> On 03/03/2023 7:23 am, Jan Beulich wrote:
>> On 04.01.2023 12:11, Andrew Cooper wrote:
>>> --- a/xen/include/public/arch-x86/cpufeatureset.h
>>> +++ b/xen/include/public/arch-x86/cpufeatureset.h
>>> @@ -288,6 +288,9 @@ XEN_CPUFEATURE(NSCB,               11*32+ 6) /*A  Null Selector Clears Base (and
>>>  /* Intel-defined CPU features, CPUID level 0x00000007:1.ebx, word 12 */
>>>  XEN_CPUFEATURE(INTEL_PPIN,         12*32+ 0) /*   Protected Processor Inventory Number */
>>>  
>>> +/* Intel-defined CPU features, CPUID level 0x00000007:1.ecx, word 14 */
>>> +/* Intel-defined CPU features, CPUID level 0x00000007:1.edx, word 15 */
>> While committing the backports of this (where I normally test-build
>> every commit individually) I came to notice that this introduces a
>> transient (until the next commit) build breakage: FEATURESET_NR_ENTRIES
>> is calculated from the highest entry found; the comments here don't
>> matter at all. Therefore ...
>>
>>> @@ -343,6 +352,8 @@ static inline void cpuid_policy_to_featureset(
>>>      fs[FEATURESET_e21a] = p->extd.e21a;
>>>      fs[FEATURESET_7b1] = p->feat._7b1;
>>>      fs[FEATURESET_7d2] = p->feat._7d2;
>>> +    fs[FEATURESET_7c1] = p->feat._7c1;
>>> +    fs[FEATURESET_7d1] = p->feat._7d1;
>>>  }
>>>  
>>>  /* Fill in a CPUID policy from a featureset bitmap. */
>>> @@ -363,6 +374,8 @@ static inline void cpuid_featureset_to_policy(
>>>      p->extd.e21a  = fs[FEATURESET_e21a];
>>>      p->feat._7b1  = fs[FEATURESET_7b1];
>>>      p->feat._7d2  = fs[FEATURESET_7d2];
>>> +    p->feat._7c1  = fs[FEATURESET_7c1];
>>> +    p->feat._7d1  = fs[FEATURESET_7d1];
>>>  }
>> ... the compiler legitimately complains about out-of-bounds array
>> accesses here. This is just fyi for the future (to arrange patch
>> splitting differently); I've left the backports as they were.
> 
> Hmm.  c/s e3662437eb43 was designed to specifically allow CPUID patches
> to be split like this.
> 
> Which compiler?  I think I agree with your analysis, but I've never seen
> a complaint, hence not noticing.

gcc 12

> I suspect we actually want FEATURESET_NR_ENTRIES defined in C, next to
> the FEATURESET_* defines, and we want to BUILD_BUG_ON() if the autogen
> length is larger than the C length.

Hmm, yes, this may be the best we can do.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 07:08:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 07:08:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506658.779745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ4x9-0003eD-Rm; Mon, 06 Mar 2023 07:08:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506658.779745; Mon, 06 Mar 2023 07:08: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 1pZ4x9-0003e6-Ox; Mon, 06 Mar 2023 07:08:11 +0000
Received: by outflank-mailman (input) for mailman id 506658;
 Mon, 06 Mar 2023 07:08: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZ4x8-0003dy-Gl
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 07:08:10 +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 a6557a0b-bbed-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 08:08: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 D48D821A3C;
 Mon,  6 Mar 2023 07:08: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 A1D5313513;
 Mon,  6 Mar 2023 07:08:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gX5GJliRBWRzJQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 2023 07:08:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6557a0b-bbed-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678086488; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=GxnEcqxtAuM7DCHjX6Aj+nxa2Y99uuDgnDC9yGlaTf8=;
	b=Q6h3AzueJA2LsHjC0dFuHURbb3o+LrqUAIm0T9rEFmgznEbHPf56aDLg3b787jpT974SlA
	nl5hD2Vg809qAb1s81Mt7E18edaY9sKHAOi64wBgNEM6O0gpHdFCOqDyMIveldFuCxr7Mi
	gdM0kG8tQzKMa8hERYc3NCVqyXRebDY=
Message-ID: <21357fda-9e22-d46e-17c2-81b72b76ea59@suse.com>
Date: Mon, 6 Mar 2023 08:08:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [PATCH v2 4/4] tools: add offsetof() to xen-tools/common-macros.h
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230227154153.31080-1-jgross@suse.com>
 <20230227154153.31080-5-jgross@suse.com>
 <8a0a2cb9-17e9-31c3-5876-cdfcc669ddc4@suse.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <8a0a2cb9-17e9-31c3-5876-cdfcc669ddc4@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------tMm1yFFimv9NaxGmcABv9nzx"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------tMm1yFFimv9NaxGmcABv9nzx
Content-Type: multipart/mixed; boundary="------------46HIhK00EMfhtfl8OI6tQ8wQ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
Message-ID: <21357fda-9e22-d46e-17c2-81b72b76ea59@suse.com>
Subject: Re: [PATCH v2 4/4] tools: add offsetof() to xen-tools/common-macros.h
References: <20230227154153.31080-1-jgross@suse.com>
 <20230227154153.31080-5-jgross@suse.com>
 <8a0a2cb9-17e9-31c3-5876-cdfcc669ddc4@suse.com>
In-Reply-To: <8a0a2cb9-17e9-31c3-5876-cdfcc669ddc4@suse.com>

--------------46HIhK00EMfhtfl8OI6tQ8wQ
Content-Type: multipart/mixed; boundary="------------mEKhpf2TyHgRog5cm7pwQTaT"

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

T24gMjcuMDIuMjMgMTY6NTMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNy4wMi4yMDIz
IDE2OjQxLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEvdG9vbHMvZmlybXdhcmUv
aW5jbHVkZS9zdGRkZWYuaA0KPj4gKysrIGIvdG9vbHMvZmlybXdhcmUvaW5jbHVkZS9zdGRk
ZWYuaA0KPj4gQEAgLTEsMTAgKzEsMTAgQEANCj4+ICAgI2lmbmRlZiBfU1REREVGX0hfDQo+
PiAgICNkZWZpbmUgX1NURERFRl9IXw0KPj4gICANCj4+ICsjaW5jbHVkZSA8eGVuLXRvb2xz
L2NvbW1vbi1tYWNyb3MuaD4NCj4+ICsNCj4+ICAgdHlwZWRlZiBfX1NJWkVfVFlQRV9fIHNp
emVfdDsNCj4+ICAgDQo+PiAgICNkZWZpbmUgTlVMTCAoKHZvaWQqKTApDQo+PiAgIA0KPj4g
LSNkZWZpbmUgb2Zmc2V0b2YodCwgbSkgX19idWlsdGluX29mZnNldG9mKHQsIG0pDQo+PiAt
DQo+PiAgICNlbmRpZg0KPiANCj4gVGhlIEMgc3RhbmRhcmQgaXMgcHJldHR5IHNwZWNpZmlj
IGFib3V0IHdoYXQgYSBoZWFkZXIgb2YgdGhpcyBuYW1lDQo+IG1heSBvciAoaW4gcGFydGlj
dWxhciBoZXJlKSBtYXkgbm90IGRlZmluZS4gWW91IGFkZCBtdWNoIG1vcmUgdG8gdGhlDQo+
IG5hbWUgc3BhY2UgdGhhbiBqdXN0IHRoZSByZXBsYWNlbWVudCBvZmZzZXRvZigpLiBJZiB0
aGlzIHdhcyBhDQo+IGhlYWRlciB1c2VkIGJ5IGFuIGluZGl2aWR1YWwgY29tcG9uZW50LCB0
aGlzIG1pZ2h0IGJlIGZpbmUuIEJ1dCB0aGlzDQo+IGhlYWRlciBpcyBtZWFudCB0byBzZXJ2
ZSBhbGwgY29tcG9uZW50cyB1bmRlciBmaXJtd2FyZS8gd2hpY2ggY2FyZQ0KPiB0byBpbmNs
dWRlIGl0LiBBdCBwcmVzZW50IHRoYXQncyBodm1sb2FkZXIgKHdoaWNoIHdlIGNvbnRyb2ws
IHNvIHdlDQo+IGNhbiBhcnJhbmdlIGZvciBpdCB0byBiZSBmcmVlIG9mIGNvbGxpc2lvbnMp
IGFuZCByb21iaW9zICh3aGljaCB3ZQ0KPiBkbyBub3QgcmVhbGx5IGNvbnRyb2wsIGFuZCB3
aGljaCBwZW9wbGUgYWxzbyBtYXkgbm90IGJ1aWxkIHJvdXRpbmVseQ0KPiBhbnltb3JlKS4N
Cg0KR29vZCBwb2ludC4NCg0KSSBoYXZlIHZlcmlmaWVkIHRoYXQgdGhlIGJ1aWxkIGlzIHN0
aWxsIHN1Y2NlZWRpbmcgd2l0aG91dCB0aGUgbW9kaWZpY2F0aW9uDQpvZiB0b29scy9maXJt
d2FyZS9pbmNsdWRlL3N0ZGRlZi5oLCBzbyBJJ2xsIGRyb3AgdGhpcyBodW5rLg0KDQoNCkp1
ZXJnZW4NCg0K
--------------mEKhpf2TyHgRog5cm7pwQTaT
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-----

--------------mEKhpf2TyHgRog5cm7pwQTaT--

--------------46HIhK00EMfhtfl8OI6tQ8wQ--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQFkVgFAwAAAAAACgkQsN6d1ii/Ey+k
xwf9FyAuK9EHmk6KlgL7JX9LZqRFMMaKAjG+c1pnuU9mBoKce/9HJ80Y7GyR3/rSkw5EjujWH8jk
SferJLgdLbb6ahpAWJpc5ZF3lMf+3y4LlVaFLftp2oXVxtIe8R7j9GAD8eppT967rvPo5Vn5lDfi
qSEzmnTM6Js9F0o9g1UTrkutzFe4X/7CN8wYSC82XojuuB5AG8ipmsc1SNg1A2nkp/SvWdl1zMNC
bWMTuYQcHi0+sdBuiRm+KGyIcFObCMNskuEP18anBkU6/kMm8dHwZUHOIiekiYLc1/3Ss0nQPcpv
8vJFYR8+HOMJn7gBYNhlvZFUR2ZbhKSUfi00v2N15g==
=5Bg/
-----END PGP SIGNATURE-----

--------------tMm1yFFimv9NaxGmcABv9nzx--


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 07:13:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 07:13:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506664.779755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ525-0005El-Ex; Mon, 06 Mar 2023 07:13:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506664.779755; Mon, 06 Mar 2023 07:13:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ525-0005Ee-CC; Mon, 06 Mar 2023 07:13:17 +0000
Received: by outflank-mailman (input) for mailman id 506664;
 Mon, 06 Mar 2023 07: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZ524-0005EI-85
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 07:13: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 5c48e208-bbee-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 08:13: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 22B1F21EB3;
 Mon,  6 Mar 2023 07:13: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 8A06913513;
 Mon,  6 Mar 2023 07:13:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id SGQ1IImSBWTyJgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 2023 07:13:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c48e208-bbee-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678086794; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=YvDMhSXmiGVzbLzei78fgWHA9om6Y2kLxVX8sxZc5Gw=;
	b=bKDgHjtxGNG6fq67wCumi1sHfMM0tgk7FIUhaw+ZqSzBRxSQjsWuss0R4q1hdi0XGRNJaj
	nDSerQOpEefdoe4JKVVe7XAcQf/L55lu0xNZyK8YQZHkSIlhze4rhNlNYFNbPMDGYBE8ZG
	+1XRnAJ1Pv7fTJCav/Cf8zRycj//udo=
Message-ID: <30f30ce8-697b-2df2-143d-d182d53760cc@suse.com>
Date: Mon, 6 Mar 2023 08:13:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [PATCH v2 1/4] tools: rename xen-tools/libs.h file to
 common-macros.h
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <20230227154153.31080-1-jgross@suse.com>
 <20230227154153.31080-2-jgross@suse.com>
 <07780c4a-48ff-9c63-9f73-39d8e272a6bd@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <07780c4a-48ff-9c63-9f73-39d8e272a6bd@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------j41H5dxvaQGy1AYlSTp6Kk4H"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------j41H5dxvaQGy1AYlSTp6Kk4H
Content-Type: multipart/mixed; boundary="------------WkBSwxi9p5IDAUC2Us7JgSzE";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?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>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
Message-ID: <30f30ce8-697b-2df2-143d-d182d53760cc@suse.com>
Subject: Re: [PATCH v2 1/4] tools: rename xen-tools/libs.h file to
 common-macros.h
References: <20230227154153.31080-1-jgross@suse.com>
 <20230227154153.31080-2-jgross@suse.com>
 <07780c4a-48ff-9c63-9f73-39d8e272a6bd@suse.com>
In-Reply-To: <07780c4a-48ff-9c63-9f73-39d8e272a6bd@suse.com>

--------------WkBSwxi9p5IDAUC2Us7JgSzE
Content-Type: multipart/mixed; boundary="------------jGWdJtZYKimcYxNOtN25KN0Z"

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

T24gMjcuMDIuMjMgMTY6NDYsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNy4wMi4yMDIz
IDE2OjQxLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEvdG9vbHMvaW5jbHVkZS94
ZW4tdG9vbHMvbGlicy5oDQo+PiArKysgYi90b29scy9pbmNsdWRlL3hlbi10b29scy9jb21t
b24tbWFjcm9zLmgNCj4+IEBAIC0xLDUgKzEsMTMgQEANCj4+IC0jaWZuZGVmIF9fWEVOX1RP
T0xTX0xJQlNfXw0KPj4gLSNkZWZpbmUgX19YRU5fVE9PTFNfTElCU19fDQo+PiArI2lmbmRl
ZiBfX1hFTl9UT09MU19DT01NT05fTUFDUk9TX18NCj4+ICsjZGVmaW5lIF9fWEVOX1RPT0xT
X0NPTU1PTl9NQUNST1NfXw0KPj4gKw0KPj4gKy8qDQo+PiArICogQ2F1dGlvbjoNCj4+ICsg
Kg0KPj4gKyAqIFRoaXMgaGVhZGVyIG11c3QgYmUgY29tcGxldGVseSBzZWxmLWNvbnRhaW5l
ZC4gVGhlcmUgYXJlIG5vIGV4dGVybmFsDQo+PiArICogcmVmZXJlbmNlcyB0byB2YXJpYWJs
ZXMgb3IgZnVuY3Rpb25zIGFsbG93ZWQsIGFzIHRoZSBmaWxlIG1pZ2h0IGJlIGluY2x1ZGVk
DQo+PiArICogZm9yIGRpZmZlcmVudCBydW50aW1lIGVudmlyb25tZW50cywgc3VjaCBhcyBm
aXJtd2FyZSBvciBub3JtYWwgcHJvZ3JhbXMuDQo+PiArICovDQo+IA0KPiBNYXkgSSBhc2sg
dG8gZ28gYSB0aW55IHN0ZXAgZnVydGhlcjogcy9ub3JtYWwvdGFyZ2V0IGFuZCBidWlsZCBo
b3N0LyBvcg0KPiBzb21ldGhpbmcgYWxpa2U/DQoNCkZpbmUgd2l0aCBtZS4NCg0KDQpKdWVy
Z2VuDQoNCg==
--------------jGWdJtZYKimcYxNOtN25KN0Z
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-----

--------------jGWdJtZYKimcYxNOtN25KN0Z--

--------------WkBSwxi9p5IDAUC2Us7JgSzE--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQFkokFAwAAAAAACgkQsN6d1ii/Ey8i
UQf+LV/FIqbyaf/Q3ejvWAe6IyyoqEHUjoeeIhkwJRCExrEkhb+D/Qi9s9BNa/DxryFZFNmgao7t
V5Q1eu7pxGe6oAXtWwIzdoPzNjgdpnAo0QVTEmEf6RSI+oDsimi74CNnBSc6Zvr5cyXVmPa+gejD
5KvA43F87UAGmBYVjHduo1unGSoHOcBlDCCEejafyqKDAhLdXBu5EtsZczUC5F9txIQE8b45TTKt
Vd1OtyYDtRLY1hD4E9Sh1tRCmjjm61nLY3b/oVmdyy0+ZhdgC+j/6KiUDOOB+t/efB0FMvZltOI9
HU7PNOW59TT000/IU2UZApSaaqhKorKLlzeq0pnAuQ==
=vBLy
-----END PGP SIGNATURE-----

--------------j41H5dxvaQGy1AYlSTp6Kk4H--


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 07:21:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 07:21:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506671.779765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5AI-0006r1-AK; Mon, 06 Mar 2023 07:21:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506671.779765; Mon, 06 Mar 2023 07: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 1pZ5AI-0006qu-7Z; Mon, 06 Mar 2023 07:21:46 +0000
Received: by outflank-mailman (input) for mailman id 506671;
 Mon, 06 Mar 2023 07: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZ5AH-0006qo-6Z
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 07:21: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 8bc79d59-bbef-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 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-out1.suse.de (Postfix) with ESMTPS id 3BD8A2236F;
 Mon,  6 Mar 2023 07:21: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 B631713A66;
 Mon,  6 Mar 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 IWj1KoaUBWS5KQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 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: 8bc79d59-bbef-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678087303; 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=RoaKLgTDceUWrqDSmTfJEaNeDz4hfxmjVuVvMvpoHtk=;
	b=hVQH8dOAtHJPdZmGTf1s2L1xfq4OoOWb27HO+Lv2t9XofV+BxMb3Ffc4ifIAK16cHR8cUL
	QdwC/TUXsPihtXaxVBKVk3IXdWJo2//n/yw9fr+ykcRivbJ0ukXQl6M1TG479J8/3ALDBR
	ONRz96BjQUz0BApThrm83DZqeX0YIGI=
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>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.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>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Julien Grall <julien@xen.org>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [PATCH v3 0/4] tools: use xen-tools/libs.h for common definitions
Date: Mon,  6 Mar 2023 08:21:36 +0100
Message-Id: <20230306072140.28402-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are some macros defined multiple times in tools. Use only
a single header file for defining those macros and drop the copies.

V2:
- add patch 1 (Andrew Cooper)

V3:
- address comments

Juergen Gross (4):
  tools: rename xen-tools/libs.h file to common-macros.h
  tools: add container_of() macro to xen-tools/common-macros.h
  tools: get rid of additional min() and max() definitions
  tools: add offsetof() to xen-tools/common-macros.h

 tools/console/daemon/io.c                     |  2 +-
 tools/firmware/hvmloader/util.h               | 11 ++-------
 tools/fuzz/cpu-policy/afl-policy-fuzzer.c     |  2 +-
 .../xen-tools/{libs.h => common-macros.h}     | 23 ++++++++++++++++---
 tools/libfsimage/Rules.mk                     |  2 ++
 tools/libfsimage/xfs/fsys_xfs.c               |  4 +---
 tools/libs/call/buffer.c                      |  2 +-
 tools/libs/ctrl/xc_pm.c                       |  2 +-
 tools/libs/ctrl/xc_private.h                  |  2 +-
 tools/libs/foreignmemory/linux.c              |  2 +-
 tools/libs/gnttab/freebsd.c                   |  2 +-
 tools/libs/gnttab/linux.c                     |  2 +-
 tools/libs/guest/xg_core_arm.c                |  2 +-
 tools/libs/guest/xg_cpuid_x86.c               |  2 +-
 tools/libs/guest/xg_dom_arm.c                 |  2 +-
 tools/libs/guest/xg_dom_bzimageloader.c       |  2 +-
 tools/libs/guest/xg_dom_x86.c                 |  2 +-
 tools/libs/guest/xg_sr_common.c               |  2 +-
 tools/libs/light/libxl_internal.h             |  2 +-
 tools/libs/light/libxl_psr.c                  |  2 +-
 tools/libs/stat/xenstat_linux.c               |  2 +-
 tools/libs/vchan/init.c                       |  7 +-----
 tools/misc/xen-access.c                       |  2 +-
 tools/misc/xen-cpuid.c                        |  2 +-
 tools/misc/xen-diag.c                         |  2 +-
 tools/misc/xen-hptool.c                       |  2 +-
 tools/misc/xen-livepatch.c                    |  2 +-
 tools/misc/xen-mfndump.c                      |  2 +-
 tools/misc/xenpm.c                            |  2 +-
 tools/ocaml/libs/mmap/xenmmap_stubs.c         |  2 +-
 tools/ocaml/libs/xc/xenctrl_stubs.c           |  2 +-
 tools/python/xen/lowlevel/xc/xc.c             |  2 +-
 tools/tests/cpu-policy/test-cpu-policy.c      |  2 +-
 .../paging-mempool/test-paging-mempool.c      |  2 +-
 tools/tests/resource/test-resource.c          |  2 +-
 tools/tests/tsx/test-tsx.c                    |  2 +-
 tools/tests/vhpet/emul.h                      | 16 +------------
 tools/tests/vpci/emul.h                       | 22 +-----------------
 tools/tests/x86_emulator/x86-emulate.h        |  7 +-----
 tools/tests/xenstore/test-xenstore.c          |  2 +-
 tools/xenstore/list.h                         |  6 ++---
 tools/xenstore/utils.h                        |  2 +-
 tools/xentrace/analyze.h                      |  2 +-
 tools/xl/xl_cmdtable.c                        |  2 +-
 xen/lib/x86/private.h                         |  2 +-
 45 files changed, 67 insertions(+), 103 deletions(-)
 rename tools/include/xen-tools/{libs.h => common-macros.h} (74%)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 07:21:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 07:21:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506672.779775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5AP-00078H-J4; Mon, 06 Mar 2023 07:21:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506672.779775; Mon, 06 Mar 2023 07:21:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5AP-000788-G6; Mon, 06 Mar 2023 07:21:53 +0000
Received: by outflank-mailman (input) for mailman id 506672;
 Mon, 06 Mar 2023 07:21: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZ5AN-0006qo-PA
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 07:21:51 +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 8f29f080-bbef-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 08:21: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 21EB81FDAE;
 Mon,  6 Mar 2023 07:21: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 971D013A66;
 Mon,  6 Mar 2023 07:21:48 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id S7nHI4yUBWTHKQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 2023 07:21:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f29f080-bbef-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678087309; 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=jFT+0nbJeKez3tdZ3hN9Aftdtbd1wRX/xlXPbO/ug3Y=;
	b=Z5Bo5hkYMatyrX/SNn0tgSzHd+hTNPdVd/i/w3lsFmLiKzinpPEy4T2+Eq2bW3Oc2pXhEb
	b9+rL/QfbJou8PlWd7I7bGUZYjLdgo9JUjdo8ZIJHRKOJ+68PiVUsmUKcYbrtm8a4as3Bz
	GF0Cz4yAcdyMJ8RTqR7Q/EyExYNrbHA=
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>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.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>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Julien Grall <julien@xen.org>,
	George Dunlap <george.dunlap@citrix.com>,
	Christian Lindig <christian.lindig@cloud.com>
Subject: [PATCH v3 1/4] tools: rename xen-tools/libs.h file to common-macros.h
Date: Mon,  6 Mar 2023 08:21:37 +0100
Message-Id: <20230306072140.28402-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230306072140.28402-1-jgross@suse.com>
References: <20230306072140.28402-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In order to better reflect the contents of the header and to make it
more appropriate to use it for different runtime environments like
programs, libraries, and firmware, rename the libs.h include file to
common-macros.h. Additionally add a comment pointing out the need to be
self-contained.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> # tools/python/xen/lowlevel/xc/xc.c
Acked-by: Christian Lindig <christian.lindig@cloud.com>
---
V2:
- new patch
V3:
- small rephrase of warning comment (Jan Beulich)
---
 tools/console/daemon/io.c                         |  2 +-
 tools/fuzz/cpu-policy/afl-policy-fuzzer.c         |  2 +-
 .../include/xen-tools/{libs.h => common-macros.h} | 15 ++++++++++++---
 tools/libs/call/buffer.c                          |  2 +-
 tools/libs/ctrl/xc_pm.c                           |  2 +-
 tools/libs/ctrl/xc_private.h                      |  2 +-
 tools/libs/foreignmemory/linux.c                  |  2 +-
 tools/libs/gnttab/freebsd.c                       |  2 +-
 tools/libs/gnttab/linux.c                         |  2 +-
 tools/libs/guest/xg_core_arm.c                    |  2 +-
 tools/libs/guest/xg_cpuid_x86.c                   |  2 +-
 tools/libs/guest/xg_dom_arm.c                     |  2 +-
 tools/libs/guest/xg_dom_bzimageloader.c           |  2 +-
 tools/libs/guest/xg_dom_x86.c                     |  2 +-
 tools/libs/guest/xg_sr_common.c                   |  2 +-
 tools/libs/light/libxl_internal.h                 |  2 +-
 tools/libs/light/libxl_psr.c                      |  2 +-
 tools/libs/stat/xenstat_linux.c                   |  2 +-
 tools/misc/xen-access.c                           |  2 +-
 tools/misc/xen-cpuid.c                            |  2 +-
 tools/misc/xen-diag.c                             |  2 +-
 tools/misc/xen-hptool.c                           |  2 +-
 tools/misc/xen-livepatch.c                        |  2 +-
 tools/misc/xen-mfndump.c                          |  2 +-
 tools/misc/xenpm.c                                |  2 +-
 tools/ocaml/libs/mmap/xenmmap_stubs.c             |  2 +-
 tools/ocaml/libs/xc/xenctrl_stubs.c               |  2 +-
 tools/python/xen/lowlevel/xc/xc.c                 |  2 +-
 tools/tests/cpu-policy/test-cpu-policy.c          |  2 +-
 tools/tests/paging-mempool/test-paging-mempool.c  |  2 +-
 tools/tests/resource/test-resource.c              |  2 +-
 tools/tests/tsx/test-tsx.c                        |  2 +-
 tools/tests/vhpet/emul.h                          |  2 +-
 tools/tests/x86_emulator/x86-emulate.h            |  2 +-
 tools/tests/xenstore/test-xenstore.c              |  2 +-
 tools/xenstore/utils.h                            |  2 +-
 tools/xentrace/analyze.h                          |  2 +-
 tools/xl/xl_cmdtable.c                            |  2 +-
 xen/lib/x86/private.h                             |  2 +-
 39 files changed, 50 insertions(+), 41 deletions(-)
 rename tools/include/xen-tools/{libs.h => common-macros.h} (82%)

diff --git a/tools/console/daemon/io.c b/tools/console/daemon/io.c
index 682c1f4008..6bfe96715b 100644
--- a/tools/console/daemon/io.c
+++ b/tools/console/daemon/io.c
@@ -50,7 +50,7 @@
 #include <sys/ioctl.h>
 #include <libutil.h>
 #endif
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 /* Each 10 bits takes ~ 3 digits, plus one, plus one for nul terminator. */
 #define MAX_STRLEN(x) ((sizeof(x) * CHAR_BIT + CHAR_BIT-1) / 10 * 3 + 2)
diff --git a/tools/fuzz/cpu-policy/afl-policy-fuzzer.c b/tools/fuzz/cpu-policy/afl-policy-fuzzer.c
index 79a849a044..7d0f274c6c 100644
--- a/tools/fuzz/cpu-policy/afl-policy-fuzzer.c
+++ b/tools/fuzz/cpu-policy/afl-policy-fuzzer.c
@@ -8,7 +8,7 @@
 
 #include <getopt.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 #include <xen/lib/x86/cpuid.h>
 #include <xen/lib/x86/msr.h>
 #include <xen/domctl.h>
diff --git a/tools/include/xen-tools/libs.h b/tools/include/xen-tools/common-macros.h
similarity index 82%
rename from tools/include/xen-tools/libs.h
rename to tools/include/xen-tools/common-macros.h
index bafc90e2f6..a372b9ecf2 100644
--- a/tools/include/xen-tools/libs.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -1,5 +1,14 @@
-#ifndef __XEN_TOOLS_LIBS__
-#define __XEN_TOOLS_LIBS__
+#ifndef __XEN_TOOLS_COMMON_MACROS__
+#define __XEN_TOOLS_COMMON_MACROS__
+
+/*
+ * Caution:
+ *
+ * This header must be completely self-contained. There are no external
+ * references to variables or functions allowed, as the file might be included
+ * for different runtime environments, such as firmware or target and build
+ * host programs.
+ */
 
 #ifndef BUILD_BUG_ON
 #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
@@ -67,4 +76,4 @@
 #define __must_check __attribute__((__warn_unused_result__))
 #endif
 
-#endif	/* __XEN_TOOLS_LIBS__ */
+#endif	/* __XEN_TOOLS_COMMON_MACROS__ */
diff --git a/tools/libs/call/buffer.c b/tools/libs/call/buffer.c
index 085674d882..2579b8c719 100644
--- a/tools/libs/call/buffer.c
+++ b/tools/libs/call/buffer.c
@@ -16,7 +16,7 @@
 #include <errno.h>
 #include <string.h>
 #include <pthread.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #include "private.h"
 
diff --git a/tools/libs/ctrl/xc_pm.c b/tools/libs/ctrl/xc_pm.c
index 76d7eb7f26..c3a9864bf7 100644
--- a/tools/libs/ctrl/xc_pm.c
+++ b/tools/libs/ctrl/xc_pm.c
@@ -21,7 +21,7 @@
 #include <stdbool.h>
 #include "xc_private.h"
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 /*
  * Get PM statistic info
diff --git a/tools/libs/ctrl/xc_private.h b/tools/libs/ctrl/xc_private.h
index ed960c6f30..80dc464c93 100644
--- a/tools/libs/ctrl/xc_private.h
+++ b/tools/libs/ctrl/xc_private.h
@@ -39,7 +39,7 @@
 
 #include <xen/sys/privcmd.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #if defined(HAVE_VALGRIND_MEMCHECK_H) && !defined(NDEBUG) && !defined(__MINIOS__)
 /* Compile in Valgrind client requests? */
diff --git a/tools/libs/foreignmemory/linux.c b/tools/libs/foreignmemory/linux.c
index 9062117407..12f959765a 100644
--- a/tools/libs/foreignmemory/linux.c
+++ b/tools/libs/foreignmemory/linux.c
@@ -25,7 +25,7 @@
 
 #include <sys/mman.h>
 #include <sys/ioctl.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #include "private.h"
 
diff --git a/tools/libs/gnttab/freebsd.c b/tools/libs/gnttab/freebsd.c
index e42ac3fbf3..d69d928a16 100644
--- a/tools/libs/gnttab/freebsd.c
+++ b/tools/libs/gnttab/freebsd.c
@@ -31,7 +31,7 @@
 #include <xen/sys/gntdev.h>
 
 #include <xenctrl.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #include "private.h"
 
diff --git a/tools/libs/gnttab/linux.c b/tools/libs/gnttab/linux.c
index 5628fd5719..7286c1d4fe 100644
--- a/tools/libs/gnttab/linux.c
+++ b/tools/libs/gnttab/linux.c
@@ -33,7 +33,7 @@
 #include <xen/sys/gntalloc.h>
 
 #include <xenctrl.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #include "private.h"
 
diff --git a/tools/libs/guest/xg_core_arm.c b/tools/libs/guest/xg_core_arm.c
index aaabd07558..de30cf0c31 100644
--- a/tools/libs/guest/xg_core_arm.c
+++ b/tools/libs/guest/xg_core_arm.c
@@ -19,7 +19,7 @@
 #include "xc_private.h"
 #include "xg_core.h"
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 int
 xc_core_arch_gpfn_may_present(struct xc_core_arch_context *arch_ctxt,
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 57f81eb0a0..4542878bbe 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -24,7 +24,7 @@
 #include <limits.h>
 #include "xg_private.h"
 #include <xen/hvm/params.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 enum {
 #define XEN_CPUFEATURE(name, value) X86_FEATURE_##name = value,
diff --git a/tools/libs/guest/xg_dom_arm.c b/tools/libs/guest/xg_dom_arm.c
index 5e3b76355e..d616dccbd6 100644
--- a/tools/libs/guest/xg_dom_arm.c
+++ b/tools/libs/guest/xg_dom_arm.c
@@ -21,7 +21,7 @@
 
 #include <xen/xen.h>
 #include <xen/io/protocols.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #include "xg_private.h"
 
diff --git a/tools/libs/guest/xg_dom_bzimageloader.c b/tools/libs/guest/xg_dom_bzimageloader.c
index 764ddbb43e..c6ee6d83e7 100644
--- a/tools/libs/guest/xg_dom_bzimageloader.c
+++ b/tools/libs/guest/xg_dom_bzimageloader.c
@@ -34,7 +34,7 @@
 #include "xg_private.h"
 #include "xg_dom_decompress.h"
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #ifndef __MINIOS__
 
diff --git a/tools/libs/guest/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c
index 9328fbf804..811d176488 100644
--- a/tools/libs/guest/xg_dom_x86.c
+++ b/tools/libs/guest/xg_dom_x86.c
@@ -35,7 +35,7 @@
 #include <xen/arch-x86/hvm/start_info.h>
 #include <xen/io/protocols.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #include "xg_private.h"
 #include "xenctrl.h"
diff --git a/tools/libs/guest/xg_sr_common.c b/tools/libs/guest/xg_sr_common.c
index 17567ab133..7ccdc3b1f6 100644
--- a/tools/libs/guest/xg_sr_common.c
+++ b/tools/libs/guest/xg_sr_common.c
@@ -2,7 +2,7 @@
 
 #include "xg_sr_common.h"
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 static const char *const dhdr_types[] =
 {
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index ad982d691a..5244fde623 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -58,7 +58,7 @@
 #include <xenguest.h>
 #include <xenhypfs.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #include "xentoollog.h"
 
diff --git a/tools/libs/light/libxl_psr.c b/tools/libs/light/libxl_psr.c
index 9ced7d1715..712a55a73d 100644
--- a/tools/libs/light/libxl_psr.c
+++ b/tools/libs/light/libxl_psr.c
@@ -16,7 +16,7 @@
 #include "libxl_osdeps.h" /* must come before any other headers */
 #include "libxl_internal.h"
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #define IA32_QM_CTR_ERROR_MASK         (0x3ul << 62)
 
diff --git a/tools/libs/stat/xenstat_linux.c b/tools/libs/stat/xenstat_linux.c
index ebcd65f24a..05d0b07553 100644
--- a/tools/libs/stat/xenstat_linux.c
+++ b/tools/libs/stat/xenstat_linux.c
@@ -30,7 +30,7 @@
 #include <string.h>
 #include <unistd.h>
 #include <regex.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #include "xenstat_priv.h"
 
diff --git a/tools/misc/xen-access.c b/tools/misc/xen-access.c
index 0731c20b83..4097eebe6f 100644
--- a/tools/misc/xen-access.c
+++ b/tools/misc/xen-access.c
@@ -43,7 +43,7 @@
 #include <xenevtchn.h>
 #include <xen/vm_event.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #if defined(__arm__) || defined(__aarch64__)
 #include <xen/arch-arm.h>
diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 3ab820571d..8cf6a5ecfe 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -10,7 +10,7 @@
 #include <xenctrl.h>
 #include <xenguest.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 static uint32_t nr_features;
 
diff --git a/tools/misc/xen-diag.c b/tools/misc/xen-diag.c
index 4778914820..cd0c2c1fc6 100644
--- a/tools/misc/xen-diag.c
+++ b/tools/misc/xen-diag.c
@@ -11,7 +11,7 @@
 #include <xenctrl.h>
 
 #include <xen/errno.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 static xc_interface *xch;
 
diff --git a/tools/misc/xen-hptool.c b/tools/misc/xen-hptool.c
index 7f17f24942..6d6aec8bad 100644
--- a/tools/misc/xen-hptool.c
+++ b/tools/misc/xen-hptool.c
@@ -5,7 +5,7 @@
 #include <xenctrl.h>
 #include <xenguest.h>
 #include <xenstore.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 static xc_interface *xch;
 
diff --git a/tools/misc/xen-livepatch.c b/tools/misc/xen-livepatch.c
index 16a4a47ab7..5bf9d9a32b 100644
--- a/tools/misc/xen-livepatch.c
+++ b/tools/misc/xen-livepatch.c
@@ -15,7 +15,7 @@
 #include <xenstore.h>
 
 #include <xen/errno.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 static xc_interface *xch;
 
diff --git a/tools/misc/xen-mfndump.c b/tools/misc/xen-mfndump.c
index 62121bd241..b32c95e262 100644
--- a/tools/misc/xen-mfndump.c
+++ b/tools/misc/xen-mfndump.c
@@ -8,7 +8,7 @@
 #include <xenctrl.h>
 #include <xenguest.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #define M2P_SIZE(_m)    ROUNDUP(((_m) * sizeof(xen_pfn_t)), 21)
 #define is_mapped(pfn_type) (!((pfn_type) & 0x80000000UL))
diff --git a/tools/misc/xenpm.c b/tools/misc/xenpm.c
index 4f8cde690a..1bb6187e56 100644
--- a/tools/misc/xenpm.c
+++ b/tools/misc/xenpm.c
@@ -28,7 +28,7 @@
 #include <inttypes.h>
 #include <sys/time.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #define MAX_PKG_RESIDENCIES 12
 #define MAX_CORE_RESIDENCIES 8
diff --git a/tools/ocaml/libs/mmap/xenmmap_stubs.c b/tools/ocaml/libs/mmap/xenmmap_stubs.c
index d623ad390e..c85b1fcce7 100644
--- a/tools/ocaml/libs/mmap/xenmmap_stubs.c
+++ b/tools/ocaml/libs/mmap/xenmmap_stubs.c
@@ -21,7 +21,7 @@
 #include <errno.h>
 #include "mmap_stubs.h"
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #include <caml/mlvalues.h>
 #include <caml/memory.h>
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index ed1cbafdb4..6ec9ed6d1e 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -33,7 +33,7 @@
 #define XC_WANT_COMPAT_MAP_FOREIGN_API
 #include <xenctrl.h>
 #include <xenguest.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #include "mmap_stubs.h"
 
diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c
index cfb2734a99..224671bc02 100644
--- a/tools/python/xen/lowlevel/xc/xc.c
+++ b/tools/python/xen/lowlevel/xc/xc.c
@@ -22,7 +22,7 @@
 #include <xen/hvm/hvm_info_table.h>
 #include <xen/hvm/params.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 /* Needed for Python versions earlier than 2.3. */
 #ifndef PyMODINIT_FUNC
diff --git a/tools/tests/cpu-policy/test-cpu-policy.c b/tools/tests/cpu-policy/test-cpu-policy.c
index ed450a0997..d3f24fd6d2 100644
--- a/tools/tests/cpu-policy/test-cpu-policy.c
+++ b/tools/tests/cpu-policy/test-cpu-policy.c
@@ -7,7 +7,7 @@
 #include <string.h>
 #include <err.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 #include <xen/asm/x86-vendors.h>
 #include <xen/lib/x86/cpu-policy.h>
 #include <xen/domctl.h>
diff --git a/tools/tests/paging-mempool/test-paging-mempool.c b/tools/tests/paging-mempool/test-paging-mempool.c
index b2dfe9b074..1ebc13455a 100644
--- a/tools/tests/paging-mempool/test-paging-mempool.c
+++ b/tools/tests/paging-mempool/test-paging-mempool.c
@@ -8,7 +8,7 @@
 #include <xenctrl.h>
 #include <xenforeignmemory.h>
 #include <xengnttab.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 static unsigned int nr_failures;
 #define fail(fmt, ...)                          \
diff --git a/tools/tests/resource/test-resource.c b/tools/tests/resource/test-resource.c
index 0a950072f9..7ae88ea348 100644
--- a/tools/tests/resource/test-resource.c
+++ b/tools/tests/resource/test-resource.c
@@ -7,7 +7,7 @@
 #include <xenctrl.h>
 #include <xenforeignmemory.h>
 #include <xengnttab.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 static unsigned int nr_failures;
 #define fail(fmt, ...)                          \
diff --git a/tools/tests/tsx/test-tsx.c b/tools/tests/tsx/test-tsx.c
index f11e8c54e0..d6d98c299b 100644
--- a/tools/tests/tsx/test-tsx.c
+++ b/tools/tests/tsx/test-tsx.c
@@ -28,7 +28,7 @@
 
 #include <xenctrl.h>
 #include <xenguest.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #include "xg_private.h"
 
diff --git a/tools/tests/vhpet/emul.h b/tools/tests/vhpet/emul.h
index b022cc0eab..dfeb10f74e 100644
--- a/tools/tests/vhpet/emul.h
+++ b/tools/tests/vhpet/emul.h
@@ -24,7 +24,7 @@
 
 #include "hpet.h"
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #define NR_CPUS 8
 
diff --git a/tools/tests/x86_emulator/x86-emulate.h b/tools/tests/x86_emulator/x86-emulate.h
index 18ae40d017..46d4e43cea 100644
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -39,7 +39,7 @@
 #include <xen/asm/x86-defns.h>
 #include <xen/asm/x86-vendors.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #define BUG() abort()
 #define ASSERT assert
diff --git a/tools/tests/xenstore/test-xenstore.c b/tools/tests/xenstore/test-xenstore.c
index d3574b3fa2..d491dac53b 100644
--- a/tools/tests/xenstore/test-xenstore.c
+++ b/tools/tests/xenstore/test-xenstore.c
@@ -31,7 +31,7 @@
 #include <time.h>
 #include <xenstore.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #define TEST_PATH "xenstore-test"
 #define WRITE_BUFFERS_N    10
diff --git a/tools/xenstore/utils.h b/tools/xenstore/utils.h
index 9d012b97c1..028ecb9d7a 100644
--- a/tools/xenstore/utils.h
+++ b/tools/xenstore/utils.h
@@ -5,7 +5,7 @@
 #include <stdint.h>
 #include <stdio.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #include "xenstore_lib.h"
 
diff --git a/tools/xentrace/analyze.h b/tools/xentrace/analyze.h
index f9d98d8da4..6fefa19639 100644
--- a/tools/xentrace/analyze.h
+++ b/tools/xentrace/analyze.h
@@ -3,7 +3,7 @@
 
 #include <stdint.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #define TRC_GEN_MAIN     0
 #define TRC_SCHED_MAIN   1
diff --git a/tools/xl/xl_cmdtable.c b/tools/xl/xl_cmdtable.c
index 35182ca196..ccf4d83584 100644
--- a/tools/xl/xl_cmdtable.c
+++ b/tools/xl/xl_cmdtable.c
@@ -15,7 +15,7 @@
 #include <string.h>
 
 #include <libxl.h>
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 #include "xl.h"
 
diff --git a/xen/lib/x86/private.h b/xen/lib/x86/private.h
index 2d53bd3ced..60bb82a400 100644
--- a/xen/lib/x86/private.h
+++ b/xen/lib/x86/private.h
@@ -26,7 +26,7 @@
 #include <xen/asm/msr-index.h>
 #include <xen/asm/x86-vendors.h>
 
-#include <xen-tools/libs.h>
+#include <xen-tools/common-macros.h>
 
 static inline bool test_bit(unsigned int bit, const void *vaddr)
 {
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 07:21:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 07:21:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506673.779785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5AU-0007RQ-Ut; Mon, 06 Mar 2023 07:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506673.779785; Mon, 06 Mar 2023 07: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 1pZ5AU-0007RJ-Rm; Mon, 06 Mar 2023 07:21:58 +0000
Received: by outflank-mailman (input) for mailman id 506673;
 Mon, 06 Mar 2023 07:21: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZ5AU-0007Q4-5u
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 07:21:58 +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 927ffcd6-bbef-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 08:21: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-out1.suse.de (Postfix) with ESMTPS id B64BC21F23;
 Mon,  6 Mar 2023 07:21: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 75FE413A66;
 Mon,  6 Mar 2023 07:21:54 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id f3pfG5KUBWTNKQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 2023 07:21: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: 927ffcd6-bbef-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678087314; 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=ZAOiNku1qn54kFA/oDF/LZSkhRDjcSqPJu0jThyD5Dc=;
	b=roPeSza2069dnzh9CTmHOJkpGSAYItGa9m9zTeaAiP5FjQWNq643t/njYtTWBo1ds5w/75
	dc6X09V8nQ4h5dLQ9gTXM6pR4VFr/dw9gHuXtFSqJiCAj402m2tmPJe49jBZBp5EA0ECFz
	Uq2LUN+U0eq92SjEKuXDG2xi5LHSHTg=
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>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v3 2/4] tools: add container_of() macro to xen-tools/common-macros.h
Date: Mon,  6 Mar 2023 08:21:38 +0100
Message-Id: <20230306072140.28402-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230306072140.28402-1-jgross@suse.com>
References: <20230306072140.28402-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of having 4 identical copies of the definition of a
container_of() macro in different tools header files, add that macro
to xen-tools/common-macros.h and use that instead.

Delete the other copies of that macro.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
There is a similar macro CONTAINER_OF() defined in
tools/include/xentoolcore_internal.h, which allows to not only use a
type for the 2nd parameter, but a variable, too.
I'd like to get rid of that macro as well, but there are lots of use
cases especially in libxl. Any thoughts regarding that macro?
I could either:
- don't touch it at all
- enhance container_of() like CONTAINER_OF() and replace all use cases
  of CONTAINER_OF() with container_of()
- replace the few CONTAINER_OF() users outside libxl with container_of()
  and define CONTAINER_OF() in e.g. libxl_internal.h
- replace all CONTAINER_OF() use cases with container_of(), including
  the change from (.., var, ..) to (.., type, ...).

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/include/xen-tools/common-macros.h | 4 ++++
 tools/tests/vhpet/emul.h                | 3 ---
 tools/tests/vpci/emul.h                 | 6 +-----
 tools/tests/x86_emulator/x86-emulate.h  | 5 -----
 tools/xenstore/list.h                   | 6 ++----
 5 files changed, 7 insertions(+), 17 deletions(-)

diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h
index a372b9ecf2..b046ab48bf 100644
--- a/tools/include/xen-tools/common-macros.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -76,4 +76,8 @@
 #define __must_check __attribute__((__warn_unused_result__))
 #endif
 
+#define container_of(ptr, type, member) ({                \
+    typeof( ((type *)0)->member ) *__mptr = (ptr);        \
+    (type *)( (char *)__mptr - offsetof(type,member) );})
+
 #endif	/* __XEN_TOOLS_COMMON_MACROS__ */
diff --git a/tools/tests/vhpet/emul.h b/tools/tests/vhpet/emul.h
index dfeb10f74e..610641ab0c 100644
--- a/tools/tests/vhpet/emul.h
+++ b/tools/tests/vhpet/emul.h
@@ -125,9 +125,6 @@ enum
 #define max_t(type, x, y) \
     ({ type __x = (x); type __y = (y); __x > __y ? __x : __y; })
 #define offsetof(t, m) ((unsigned long )&((t *)0)->m)
-#define container_of(ptr, type, member) ({              \
-        typeof( ((type *)0)->member ) *__mptr = (ptr);  \
-        (type *)( (char *)__mptr - offsetof(type,member) ); })
 
 struct domain;
 
diff --git a/tools/tests/vpci/emul.h b/tools/tests/vpci/emul.h
index f03e3a56d1..7169a2ea02 100644
--- a/tools/tests/vpci/emul.h
+++ b/tools/tests/vpci/emul.h
@@ -27,11 +27,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-#define container_of(ptr, type, member) ({                      \
-        typeof(((type *)0)->member) *mptr = (ptr);              \
-                                                                \
-        (type *)((char *)mptr - offsetof(type, member));        \
-})
+#include <xen-tools/common-macros.h>
 
 #define smp_wmb()
 #define prefetch(x) __builtin_prefetch(x)
diff --git a/tools/tests/x86_emulator/x86-emulate.h b/tools/tests/x86_emulator/x86-emulate.h
index 46d4e43cea..1af986f78d 100644
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -56,11 +56,6 @@
 
 #define cf_check /* No Control Flow Integriy checking */
 
-#define container_of(ptr, type, member) ({             \
-    typeof(((type *)0)->member) *mptr__ = (ptr);       \
-    (type *)((char *)mptr__ - offsetof(type, member)); \
-})
-
 #define AC_(n,t) (n##t)
 #define _AC(n,t) AC_(n,t)
 
diff --git a/tools/xenstore/list.h b/tools/xenstore/list.h
index b17d13e0ec..a464a38b61 100644
--- a/tools/xenstore/list.h
+++ b/tools/xenstore/list.h
@@ -3,6 +3,8 @@
 /* Taken from Linux kernel code, but de-kernelized for userspace. */
 #include <stddef.h>
 
+#include <xen-tools/common-macros.h>
+
 #undef LIST_HEAD_INIT
 #undef LIST_HEAD
 #undef INIT_LIST_HEAD
@@ -15,10 +17,6 @@
 #define LIST_POISON1  ((void *) 0x00100100)
 #define LIST_POISON2  ((void *) 0x00200200)
 
-#define container_of(ptr, type, member) ({			\
-        typeof( ((type *)0)->member ) *__mptr = (ptr);	\
-        (type *)( (char *)__mptr - offsetof(type,member) );})
-
 /*
  * Simple doubly linked list implementation.
  *
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 07:22:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 07:22:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506675.779795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5AZ-0007qK-6x; Mon, 06 Mar 2023 07:22:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506675.779795; Mon, 06 Mar 2023 07: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 1pZ5AZ-0007px-3Q; Mon, 06 Mar 2023 07:22:03 +0000
Received: by outflank-mailman (input) for mailman id 506675;
 Mon, 06 Mar 2023 07: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZ5AX-0006qo-Hi
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 07:22:01 +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 95d95adb-bbef-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 08:22: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 595A81FDAE;
 Mon,  6 Mar 2023 07:22: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 2817313A66;
 Mon,  6 Mar 2023 07:22:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id hjGmCJiUBWTZKQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 2023 07:22: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: 95d95adb-bbef-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678087320; 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=B1c6Zfhki+3SKicBGrekaC400lL1q73+u27gT8K2e1I=;
	b=tQkzODY4gQLp3rBNok23lHRs6oVgnTkO4SkYYUE7j6MIBddcP2mvnPmafSawpcqUXA31Du
	lGrrHh0uO+W7SwgCt1GPdXnUtS9Em/JZzjz1BlJqNqLgRwe3NnDZv5k9UAOc3+eNQEWWaJ
	J3aeYnHCmji4Ty7VyVukjEAkg+KMfnk=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v3 3/4] tools: get rid of additional min() and max() definitions
Date: Mon,  6 Mar 2023 08:21:39 +0100
Message-Id: <20230306072140.28402-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230306072140.28402-1-jgross@suse.com>
References: <20230306072140.28402-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Defining min(), min_t(), max() and max_t() at other places than
xen-tools/common-macros.h isn't needed, as the definitions in said
header can be used instead.

Same applies to BUILD_BUG_ON() in hvmloader.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/firmware/hvmloader/util.h |  8 ++------
 tools/libs/vchan/init.c         |  3 +--
 tools/tests/vhpet/emul.h        | 11 +----------
 tools/tests/vpci/emul.h         | 16 ----------------
 4 files changed, 4 insertions(+), 34 deletions(-)

diff --git a/tools/firmware/hvmloader/util.h b/tools/firmware/hvmloader/util.h
index 8d95eab28a..e04990ee97 100644
--- a/tools/firmware/hvmloader/util.h
+++ b/tools/firmware/hvmloader/util.h
@@ -9,6 +9,8 @@
 #include <xen/hvm/hvm_info_table.h>
 #include "e820.h"
 
+#include <xen-tools/common-macros.h>
+
 /* Request un-prefixed values from errno.h. */
 #define XEN_ERRNO(name, value) name = value,
 enum {
@@ -41,12 +43,6 @@ void __assert_failed(const char *assertion, const char *file, int line)
 void __bug(const char *file, int line) __attribute__((noreturn));
 #define BUG() __bug(__FILE__, __LINE__)
 #define BUG_ON(p) do { if (p) BUG(); } while (0)
-#define BUILD_BUG_ON(p) ((void)sizeof(char[1 - 2 * !!(p)]))
-
-#define min_t(type,x,y) \
-        ({ type __x = (x); type __y = (y); __x < __y ? __x: __y; })
-#define max_t(type,x,y) \
-        ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; })
 
 #define MB(mb) (mb##ULL << 20)
 #define GB(gb) (gb##ULL << 30)
diff --git a/tools/libs/vchan/init.c b/tools/libs/vchan/init.c
index 9195bd3b98..021e1f29e1 100644
--- a/tools/libs/vchan/init.c
+++ b/tools/libs/vchan/init.c
@@ -45,6 +45,7 @@
 #include <xen/sys/gntalloc.h>
 #include <xen/sys/gntdev.h>
 #include <libxenvchan.h>
+#include <xen-tools/common-macros.h>
 
 #include "vchan.h"
 
@@ -72,8 +73,6 @@
 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
 #endif
 
-#define max(a,b) ((a > b) ? a : b)
-
 static int init_gnt_srv(struct libxenvchan *ctrl, int domain)
 {
 	int pages_left = ctrl->read.order >= PAGE_SHIFT ? 1 << (ctrl->read.order - PAGE_SHIFT) : 0;
diff --git a/tools/tests/vhpet/emul.h b/tools/tests/vhpet/emul.h
index 610641ab0c..6af880cd43 100644
--- a/tools/tests/vhpet/emul.h
+++ b/tools/tests/vhpet/emul.h
@@ -114,16 +114,7 @@ enum
     TASKLET_SOFTIRQ,
     NR_COMMON_SOFTIRQS
 };
-/*
- * ..and if you can't take the strict
- * types, you can specify one yourself.
- *
- * Or not use min/max at all, of course.
- */
-#define min_t(type, x, y) \
-    ({ type __x = (x); type __y = (y); __x < __y ? __x : __y; })
-#define max_t(type, x, y) \
-    ({ type __x = (x); type __y = (y); __x > __y ? __x : __y; })
+
 #define offsetof(t, m) ((unsigned long )&((t *)0)->m)
 
 struct domain;
diff --git a/tools/tests/vpci/emul.h b/tools/tests/vpci/emul.h
index 7169a2ea02..8c5bcadd5f 100644
--- a/tools/tests/vpci/emul.h
+++ b/tools/tests/vpci/emul.h
@@ -106,22 +106,6 @@ typedef union {
 #define BUG() assert(0)
 #define ASSERT_UNREACHABLE() assert(0)
 
-#define min(x, y) ({                    \
-        const typeof(x) tx = (x);       \
-        const typeof(y) ty = (y);       \
-                                        \
-        (void) (&tx == &ty);            \
-        tx < ty ? tx : ty;              \
-})
-
-#define max(x, y) ({                    \
-        const typeof(x) tx = (x);       \
-        const typeof(y) ty = (y);       \
-                                        \
-        (void) (&tx == &ty);            \
-        tx > ty ? tx : ty;              \
-})
-
 #endif
 
 /*
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 07:22:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 07:22:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506678.779805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5Af-0008KP-FJ; Mon, 06 Mar 2023 07:22:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506678.779805; Mon, 06 Mar 2023 07:22: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 1pZ5Af-0008KE-Bz; Mon, 06 Mar 2023 07:22:09 +0000
Received: by outflank-mailman (input) for mailman id 506678;
 Mon, 06 Mar 2023 07:22: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZ5Ad-0007Q4-TY
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 07:22:08 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 99356240-bbef-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 08:22: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 003072236F;
 Mon,  6 Mar 2023 07:22:06 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BBB0113A66;
 Mon,  6 Mar 2023 07:22:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id o95zLJ2UBWTiKQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 2023 07: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: 99356240-bbef-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678087326; 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=C79P8kJOxeYApeIizL+uptzDQc+yFSzBIoJIgJpxxKk=;
	b=KZe3nEU4pqcafb3HqvK+mxSTHyAxkxBh9K+NfE7PRWdWprlXNu0n3b6eCb2PBwlifPaGDn
	bnOWrfBXeJRWpPmcjfFAeyQSTLkjvcCpXj/2MZBb9D7BARgYuVGLuJ5khVXid204vCViq+
	NV/+1M2hHHDNc3Gc6WWDhcQCjWuWKTs=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v3 4/4] tools: add offsetof() to xen-tools/common-macros.h
Date: Mon,  6 Mar 2023 08:21:40 +0100
Message-Id: <20230306072140.28402-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230306072140.28402-1-jgross@suse.com>
References: <20230306072140.28402-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of having multiple files defining offsetof(), add the
definition to tools/include/xen-tools/common-macros.h.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- don't modify tools/firmware/include/stddef.h (Jan Beulich)
---
 tools/firmware/hvmloader/util.h         | 3 ---
 tools/include/xen-tools/common-macros.h | 4 ++++
 tools/libfsimage/Rules.mk               | 2 ++
 tools/libfsimage/xfs/fsys_xfs.c         | 4 +---
 tools/libs/vchan/init.c                 | 4 ----
 tools/tests/vhpet/emul.h                | 2 --
 6 files changed, 7 insertions(+), 12 deletions(-)

diff --git a/tools/firmware/hvmloader/util.h b/tools/firmware/hvmloader/util.h
index e04990ee97..7249773eeb 100644
--- a/tools/firmware/hvmloader/util.h
+++ b/tools/firmware/hvmloader/util.h
@@ -30,9 +30,6 @@ enum {
 #define SEL_DATA32          0x0020
 #define SEL_CODE64          0x0028
 
-#undef offsetof
-#define offsetof(t, m) ((unsigned long)&((t *)0)->m)
-
 #undef NULL
 #define NULL ((void*)0)
 
diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h
index b046ab48bf..b149be8365 100644
--- a/tools/include/xen-tools/common-macros.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -80,4 +80,8 @@
     typeof( ((type *)0)->member ) *__mptr = (ptr);        \
     (type *)( (char *)__mptr - offsetof(type,member) );})
 
+#ifndef offsetof
+#define offsetof(a, b) __builtin_offsetof(a, b)
+#endif
+
 #endif	/* __XEN_TOOLS_COMMON_MACROS__ */
diff --git a/tools/libfsimage/Rules.mk b/tools/libfsimage/Rules.mk
index cf37d6cb0d..85674f2379 100644
--- a/tools/libfsimage/Rules.mk
+++ b/tools/libfsimage/Rules.mk
@@ -3,6 +3,8 @@ include $(XEN_ROOT)/tools/libfsimage/common.mk
 FSLIB = fsimage.so
 TARGETS += $(FSLIB)
 
+CFLAGS += $(CFLAGS_xeninclude)
+
 .PHONY: all
 all: $(TARGETS)
 
diff --git a/tools/libfsimage/xfs/fsys_xfs.c b/tools/libfsimage/xfs/fsys_xfs.c
index d735a88e55..f562daaef0 100644
--- a/tools/libfsimage/xfs/fsys_xfs.c
+++ b/tools/libfsimage/xfs/fsys_xfs.c
@@ -19,6 +19,7 @@
 
 #include <xenfsimage_grub.h>
 #include "xfs.h"
+#include <xen-tools/common-macros.h>
 
 #define MAX_LINK_COUNT	8
 
@@ -182,9 +183,6 @@ fsb2daddr (xfs_fsblock_t fsbno)
 			 (xfs_agblock_t)(fsbno & mask32lo(xfs.agblklog)));
 }
 
-#undef offsetof
-#define offsetof(t,m)	((size_t)&(((t *)0)->m))
-
 static inline int
 btroot_maxrecs (fsi_file_t *ffi)
 {
diff --git a/tools/libs/vchan/init.c b/tools/libs/vchan/init.c
index 021e1f29e1..ad4cc66d2c 100644
--- a/tools/libs/vchan/init.c
+++ b/tools/libs/vchan/init.c
@@ -69,10 +69,6 @@
 #define MAX_RING_SHIFT 20
 #define MAX_RING_SIZE (1 << MAX_RING_SHIFT)
 
-#ifndef offsetof
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-#endif
-
 static int init_gnt_srv(struct libxenvchan *ctrl, int domain)
 {
 	int pages_left = ctrl->read.order >= PAGE_SHIFT ? 1 << (ctrl->read.order - PAGE_SHIFT) : 0;
diff --git a/tools/tests/vhpet/emul.h b/tools/tests/vhpet/emul.h
index 6af880cd43..7b3ee88fb5 100644
--- a/tools/tests/vhpet/emul.h
+++ b/tools/tests/vhpet/emul.h
@@ -115,8 +115,6 @@ enum
     NR_COMMON_SOFTIRQS
 };
 
-#define offsetof(t, m) ((unsigned long )&((t *)0)->m)
-
 struct domain;
 
 struct vcpu
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 07:28:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 07:28:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506697.779815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5Gb-0001Jz-6B; Mon, 06 Mar 2023 07:28:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506697.779815; Mon, 06 Mar 2023 07:28: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 1pZ5Gb-0001Js-24; Mon, 06 Mar 2023 07:28:17 +0000
Received: by outflank-mailman (input) for mailman id 506697;
 Mon, 06 Mar 2023 07:28: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=MPo4=66=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZ5GY-0001Jm-VJ
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 07:28:14 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20612.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 735c4cab-bbf0-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 08:28:12 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7402.eurprd04.prod.outlook.com (2603:10a6:102:89::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Mon, 6 Mar
 2023 07:28:10 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Mon, 6 Mar 2023
 07:28: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: 735c4cab-bbf0-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K+0NyDpatGgZdlU9NwyE46HkEA7YkpuXFqPCM9rPiuQmKwFNp34Ep5slgBJz9HEPHtAsrx5W5xNFCYHGIhkXijojrLbNP33juK9pIbnImgs3SYAb2R7jY0nOiRLdmeGeI7swy0Bt3R3AlzceGTdvcJ9kMwdrUy+Aoudpi7OgRHuwYnonMGEO/JyirLLBuG1IJGst3F1ccXeo2LotLKGlKx2ryg9hIw5GbDFpsdGbni124dQlvNthfcQ1hKb5p6eU0nkrLw9iqLSkI/7Oadz1oEQvJshR+dDoR+oES5XPoUa739q3+/x7sosb9Xq1Bq+M1ynya70gR3C0VToGrot56Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AnTEM5sugEarqJS1TS9HMZmbYxJcHJiesU+HYURsDiU=;
 b=KBPz/Tl60V2YxaPwphxwq8MdiX6j/Xg4AffaDnO9aTdIQvw4Qnhephtr+24Z7OjbrKDWNF2N/eTPd2jU0ytuqYh12ayL8mrS32tqM9MARJ0ZC8ZjZU/WCDCrQMxAumnGOrCHl1h2Yq6lzZ3OWSc2Dx07AW1gVd3yBC5bGn2VfoR4EFe1Zvrv4M+TsKKKmbEYHnS1gRwmo7fpCC9SBfT36uRS91/henwagHo1EQb5C8+sLPlV/iDqm68c/PLCzieCpcYzAM81vOQBJ2b2V6QHlDYzztNEMdIncg3vCbG3cxzGmdZfUR3qSYgVuC5tl9x5Vyur344uEiZV+VxpTqejnQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AnTEM5sugEarqJS1TS9HMZmbYxJcHJiesU+HYURsDiU=;
 b=OSqnE+VuJEa3QuePZ6H2W+2APvEH7y83FJUNxsLXb6UgsrOw+JHjvDO+ltb7AbL4JWPCypM8MpHBXSLLRsWOYaR8DGVVyzQ74XD9hI+of4tbKAy6xUAgLbSYHhzbonf8HIc2pA7H6TWD1GHIFzCcHJ8TY157g8lukfvuCNMtXxcKwUcTARCynb7JRtdU6XFOnZZcno2GspfnSHQs0XxlmZvNYfIwc0Cdqg3zeZxWcYTlXjxOlrTGcyaIA++ut2PoThPdjeKakN6NBamS7itNfQfY9S4B/Flzgy9mwBdTq64rV2OiJAYsajo93ZvXfcQB7DKGTxkre85ZWPJW+FfJqw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ab40c09a-86da-faf6-6976-fa68537d5ecf@suse.com>
Date: Mon, 6 Mar 2023 08:28:10 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: Backports for stable branches
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
References: <4257ff30-0ece-4138-20f2-b7a3e5a91522@citrix.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Anthony Perard <anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4257ff30-0ece-4138-20f2-b7a3e5a91522@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0071.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7402:EE_
X-MS-Office365-Filtering-Correlation-Id: 66006316-6938-46e6-3a03-08db1e145664
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZobJHhiYv7jISIUeojJBpKWi+teQTnHUEYKgtcJaVYG58gWnMpgi3cttgAxNWaqhOaqk19MZPM0VcqvQzSWo+GNMjU1XZ1s13EFneUdqZlWAL0SXC3qClYhDeKSCIdVMquOQI7uzHB/PBp7pUD/1gramxLavLnTBw339JYf2xME/O9fJlkP9PfCPahy69ATz3UVnA8J/UY3sAilz2qxR3jbHfwDQWfGrqR8N54Muaq72KMziBTBGBkTQfmOq2jnluywSF11YnOjNvS9BaTXGZt3qGmuJx+I8TzYDtkHngpyU19AVkVyWCk3o16SkbFjvZ9K1ss4PorppKhEmLiDNHgcbtPskBOqJS/5HbpallI8FX+ixX7qkGF4XzScMCP5G2iwUyn3/6bRfGbk2xp+cIYHvMiX1/Dl7F+DJtMaT5LlVEmjQ7jCEhNgt0t6frfOWxhJOxGIH0++m4XuQLm4n9WsoX+KFGsY3DT7rr3WPwLn/W5cPcMzv5X1HUqoWEr4jcpW/07JHPEOUMz7/zBB5fIt3z0cLNCNwjzNz++zkdalanKr3Ht1KcmozCgVHBn35uFZrkDiTO6s2YDL+3jKnmohUb8enl0qfx98jl0vbQOHQ9FJhfoVfwMIhcDuL3EHaIrVpTOsdBh2rE8xrZDRgZVNe60zqJ2/RS+pgCndsHIDThIKZjJ9DYX0t+jJ/InC3fjGFeeF9xr9O5A9SXK6uXM8H/YQfJjkBR7heF8GEPwdsiOtvfswrvq9PcEVbl9bY1pwe+Y6yxjMqWpYfupBKVSc5s3iE76eWI5sEABHY5pI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(376002)(366004)(39860400002)(396003)(136003)(451199018)(8936002)(31686004)(5660300002)(66946007)(66476007)(66556008)(2906002)(6916009)(8676002)(4326008)(54906003)(316002)(478600001)(36756003)(3480700007)(6506007)(6486002)(53546011)(26005)(2616005)(41300700001)(31696002)(86362001)(83380400001)(186003)(38100700002)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a2xvMnZSSGZIUkJwTTUrY1h5M3g5WUxjTWxmeVNvZjhFdHMzTy94dVFQMzFV?=
 =?utf-8?B?L2lqU01qUG8xRmJic1F4TTR5ZVlqRXJzRC9RT2hDN3NEd1ZmbnJtS0Q1VFFm?=
 =?utf-8?B?LzFpYkdHZXI3S2NJbFJpcHNRQnRtLzNxSnJtZlR6UWdham9JVW1PVmtibkhs?=
 =?utf-8?B?MVNKMStmN0ZYTk1GdTZaT0ZGaDlpRDkwaXJoS2psSnpJUStjRzFzOCtVQ0Nt?=
 =?utf-8?B?RzdtNnRGNUtlQ0VucTVRTGVuMHI3bnFQWml1cGdESnZ2R09YaXlrcWZ2QURT?=
 =?utf-8?B?K2s1dEpDVDRVTnVUeWYwWjFqTkNKMjVrNnpaeE5TbmFXV2pXY0ZNREZHeHc0?=
 =?utf-8?B?a2xvVnIrTWx1b2JuTi9CT0E5ZHpMcFZXQnlabFdnWTFiNVIxWXhDcnlOak9r?=
 =?utf-8?B?MGFWTEIxeTZJZmtraDJmVS9kb0NqZS9zcEc0Y09pZDJhMEN3UGVCdFF3Vmxw?=
 =?utf-8?B?SUR6Q0lIMEhJYTQvWUZCK2d6OFZsbXI2Zy9KQkswVHNBUG5MYVBsaklSMW5j?=
 =?utf-8?B?RWVsTFM3NkE5Y1hHTXdIVCsvaEJUeVRCeFVITHZCbzFHL25RS0d1S1VvZUlW?=
 =?utf-8?B?SGNxb3pEUVV3eTlPMFhjRUtmc2NEeW9vTEFpc2hEY3h4Y0FZblhpNkg4bWxn?=
 =?utf-8?B?YjdBcWFMK1NEYWxodms5NFlRNVZmenVXZGY1WGw1TStmcmhUTzhwaWpoRHhp?=
 =?utf-8?B?UWVtck9ZT0hVaGZOektVMnBnK1JRVkdwSjN6eFN2dWtvTjZ3bWlyeUpPdDdN?=
 =?utf-8?B?dkM1eHpVeEpUdTBIb05lQnR6a1VjNklRNVBmODMrQW5kVHErRUFOYWo2MmtW?=
 =?utf-8?B?akRvTWZDQ1VobnhRU2ZRd0hkYStrUnhpUmttQllmcEQ3VHhLcE5xNWo1SVMv?=
 =?utf-8?B?MFY2a0x0dDU5RFBKeVBpSnBRcW1lOWl5cDRERU1ZcER1NU1vNUpxNUJmR1ox?=
 =?utf-8?B?cEpFYlk3T0pTejJRN2NLSlNhWEhmS1M0bk9uTVU5dGdoT2orNVJvcnYyajRy?=
 =?utf-8?B?V3BOMUNLaEdCN1BBZkkyR01nSUJ5RFJnRmNsUHd5R2ovK01zd3VXQlJFbnRQ?=
 =?utf-8?B?MGp2Y1Z3V0JFSHhCOStCR2w3WWZBbU9iYXUrZGZPcm81d1N0Rm1HM21NQmdx?=
 =?utf-8?B?NkgxMnovbFE4b0ZhcFlNek9nRnBGOGpEZGI5cUgwbmJlNmg0RndEOUlySkpO?=
 =?utf-8?B?VmM3aWRmQ3lpZkZodXh0TDhaZkJsOVBwc084V2xaWUFKZmh2NldKYUZib0lW?=
 =?utf-8?B?NHNJOHZlUDk5M3YwMXhTWjBVaklmWUpSZmVSOFJyQktXVS8vdGRicmh6Zzlv?=
 =?utf-8?B?OWtsblJqbDc0L1lyUVdqdHJtQlJWcEtqejdDbUFVVkg0MkYzRTJLZ0NjSVQw?=
 =?utf-8?B?by83c1k5TGRhS1ZaK2xzTHhWQXFTSFdTZ3pOQnBQZ1JBSmhrV1F4NVloWkVp?=
 =?utf-8?B?bnRQQ3YvYyswckRyZGVNUnJlcmVkaitQc3YvcHZTK3BVLzQrRWdhS0tiaG1L?=
 =?utf-8?B?cmkrTUJ1NTdEVHkrZ05kWWZXd3YzYWk1NW9JZnE0bDNMTkwwZGc5MUhnMGZE?=
 =?utf-8?B?SzRMOWpkc0ZXVDFjaGR5aWZJK1kxUXFQbzVyU3BqRXo0UjJ1TnNFa0xJVWlk?=
 =?utf-8?B?RjZxQkRmenlIbGg0RnhPdW9nUVRxSGtZTEMxVlluYmNpYTNWVnNlVmxqY3px?=
 =?utf-8?B?TzdvOFJsR2J3NURRT0o4MmpMS2FMZWVKRW01SyswU2VNMzZINkhxRWwrVVpu?=
 =?utf-8?B?QkdCSmZaSzRDR2hiOFgyaG9TRWRKM3p4OUs4NkVBb1RFYUNPMjd2SGpKSEMr?=
 =?utf-8?B?Rm83WWZhYlQzL2Jnejc2OHZhTjlKei83MENEa2R1cHUxRFIrSHJGVEs4Y2lt?=
 =?utf-8?B?K3lVSkhSNWRwc1RqVWtrVkFHWlZpNXRRQ3lkNStzakE0cjF0SEtFU3dDVUFF?=
 =?utf-8?B?Q25qbnM4ajhkdDF1cTdVR0UxSDhLM3JNS3o0NWdSa2dTdW9YaEUweUg2R3di?=
 =?utf-8?B?b0J6bGlJUjFNZFMrcCtnTm9jM1ByMlk5amh4Yjc5QXg1RlVUM2xnYkFQN1Zq?=
 =?utf-8?B?MlJ5U3RVMi9yeHVkY2FTaE9KYmluc24yNlNid0lYWlZCbGFLajlvZkloUC80?=
 =?utf-8?Q?ZiJM/R6oQDxcwvokrtTx24m0V?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 66006316-6938-46e6-3a03-08db1e145664
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 07:28:10.1582
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /zKYpUUMU4EgBtxFvVjsOV5oiy+Nu+9pnVcFAB+mE0Bv6O71lkp86WEOVp854RF+ErV0Ai7u/NQnHqc8+dFy2g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7402

On 03.03.2023 16:56, Andrew Cooper wrote:
> Two python bugfixes which definitely qualify for backport:
> 
> 897257ba49d0 tools/python: change 's#' size type for Python >= 3.10
> 3a59443c1d5a tools/xenmon: Fix xenmon.py for with python3.x

Queued. I wasn't entirely certain about these when I saw them going in.
They also had no Fixes: tags.

> Next, I'm going to argue for taking:
> 
> f7d07619d2ae x86/vmx: implement VMExit based guest Bus Lock detection
> d329b37d1213 x86/vmx: introduce helper to set VMX_INTR_SHADOW_NMI
> 573279cde1c4 x86/vmx: implement Notify VM Exit
> 5f08bc9404c7 x86/vmx: Partially revert "x86/vmx: implement Notify VM Exit"
> 
> These are technically new features for Sapphire Rapids, but they're both
> very simple (in the grand scheme of new features), and are both
> mitigations to system-wide denial of services that required silicon
> changes to make happen.
> 
> Either way, there is a security argument to be made for backporting these.

I have to admit I'm not entirely certain here. At present my inclination
would be to put them in 4.17 only, where - it only going to be 4.17.1 -
the "new feature" aspect is more reasonable to accept. 4.16, otoh, is
relatively soon to go out of general support (albeit I notice not yet
after the next stable release, as this time round the 4 month cadence
was followed pretty closely). Thoughts?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 07:39:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 07:39:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506705.779825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5Qv-000335-92; Mon, 06 Mar 2023 07:38:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506705.779825; Mon, 06 Mar 2023 07: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 1pZ5Qv-00032y-4k; Mon, 06 Mar 2023 07:38:57 +0000
Received: by outflank-mailman (input) for mailman id 506705;
 Mon, 06 Mar 2023 07:38: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=MPo4=66=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZ5Qu-00032k-FC
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 07:38:56 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on20613.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2732098-bbf1-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 08:38:55 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS5PR04MB9971.eurprd04.prod.outlook.com (2603:10a6:20b:67f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.27; Mon, 6 Mar
 2023 07:38:53 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Mon, 6 Mar 2023
 07:38: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: f2732098-bbf1-11ed-96b4-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N7tGXTvWDhACkUpE68DUKlhyJ26ilkhMMJSHWwnIELrPp6xnGD+hJDPwiRj1P2UShYGjSFfrvpGw9TBigRAclG74oHQ4lLdystp1szHmlyt7ciNEjzuykJZ+lg+kV3fkIDaDRLfO1kreQg+A6PYykPzFJv6rvVatX6OXV9UOWdjDNSFEwlhd225RbPE5JdE+8FezwWkDSwFmyUm7LqDZA3NHarLNEy33kvD+f3dXfmj19VcLhwcLhnWoNlBW4+VpYFj8nAV5RoRy/xbd/0TwXwMWuFGukZQmLJ6yG5H0zF3aQMwRLg1zn4261ySHEKj4ORFCesbpVUVcodDwGz7Xbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SSVXXmIaRInjRD19BeEx3RH4W72+sp6hVa1K0cRrOmA=;
 b=PUj905I6RZPYvGyAyUKdqNs/WUIogifxgbuVjhTT+6lbrDPYQpQc4PRKqyeZZhHag64z55Vtv9ZWX8FxpcEf/bg3HoyA3o9ag0LioE+esVF/Cg1ecgS7wrRFkzSFoYUwfu2qdWztX2cAJQZx1ylO2RQtTwUjAb645wrRb+ja90Pm/XOGET7twTpmSRiZ4EXzlB16xPfhK2aM3wixTyeEqb+AsTqsXkONlsiiFneXJFN0A45/ZpxbQEcdRVF2FgLHQtgIEc0IPQmtq9eD5dxl8AGixuvEz3NPr/NIVAGAPqWBhZnA6c5Rxf6cZAcokRzZBzNHBWLm8t3fWoXzA7QA9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SSVXXmIaRInjRD19BeEx3RH4W72+sp6hVa1K0cRrOmA=;
 b=0drp3rEA4kdovYScSm9/1lU3R4JlzaMb1SPygQdUChy7lPvlGseLaEZvFfp4BWNs7IeS2F3qROuv4iMyhI5p7gJXRu6oeX3Qtuwcs2bDyGnIPX92GMCPdXE9/ruyggt/LXJvC8ykhKD3+aNccS0HpAK7kYaEsFh9/d4dYm8VptWBKadpVEqSKXvDk41vqUvDa7CSXjwt9VrpIYbS8q3CI0TCZTwfGS1vd1oalHXMfNYakdDKL0LuIDBNL1JeUjQ/WagTSNsmLk8oojA10QwQjG8tUrOvZewA+t6iC11/FJVNlUGhjTbNQh3Vtc7ozyoPkmcEiDZ1qXdUKCKWkgM00Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a3f0ccb5-3543-8daa-b37f-ca74af17afbe@suse.com>
Date: Mon, 6 Mar 2023 08:38:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN PATCH backport for-4.15] tools: Drop gettext as a build
 dependency
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20230303145535.23412-1-anthony.perard@citrix.com>
 <b8670d3a-704b-110a-8400-fabb0b1d1879@citrix.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b8670d3a-704b-110a-8400-fabb0b1d1879@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0111.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS5PR04MB9971:EE_
X-MS-Office365-Filtering-Correlation-Id: c75e87a9-e31b-4ab8-d5cf-08db1e15d5bc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	waRFu0e1gNN2YB18eWzJqJcoTixdrnd0gklAp8kG+ysUTwyPJewDatbtvfbBjW8pmIC+bk3hZfQ3AFiowjWHG45t+3Fjx7tvW7fFRbo5OVGlqFZsgT/6VBLQoLrAwgarCbgkBtd/4HAo0h0IeD3HKjQKMF3urcFGy9M1XNg9SVc9rCPfl6aJTv216ZkbZ83E3QOwBCjbgYF57oe7Cv0SD6kvXj6z1blStuABttsAiS1uZwcxpjc1pY8Nyu3Lxo4pGEKFKikRv6xFMTRNYTj/3DkXq2BKA3UBtmFsL0ZNPYrun3cy0+sn+GYfIRzwRqdzfwO43yO3bLO5zLU1DfA/AzjcuKorbMGLRXAtpSqhnYyGUfHtuzMzipKUqFU1ncxwLpPTZGoYK47Bq9dvI/YxoF+GFBVOoPxgkiXOEbVbM9Mk/XHLEZmrkF22dJ3t+HE2O4LfW89k3tsigAQbuohW84aWPiL+e+GYwkYKJeeVqhdzbdeOcVwydhMLHlgQpD/tUJusp/D5pkfox8RjmxTVSk0Mc6sIXP4+P4a2wa0/wpcN/0oadN+XT+E7SDGNLRtALuIORl1N+iiS64YIsTZ/tPn3lop/3vP+xF/2swNJq+qQBJxrRkD+0P6UTMZ3H26mgwJFh8jG120WNzSiD/l8HRfM+s0vLX8+CFSZI/upD6NP5fHZPwTKAk4IpVsU6HznYwzdpnYUQJ9t+nXrblbxvTPZL9SkIuFI6TXQeyAR/aljJKTpnVzKSwjQ/3557frT0xvV3PppGW8Hfu8p2VaPlA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(376002)(136003)(39860400002)(346002)(451199018)(36756003)(83380400001)(478600001)(6486002)(966005)(26005)(2616005)(6512007)(31696002)(53546011)(6506007)(186003)(8936002)(41300700001)(8676002)(4326008)(66476007)(66946007)(2906002)(66556008)(5660300002)(86362001)(38100700002)(110136005)(316002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z3lUdm1TWXFoWFFmWUhuZzZwa1N5WjdQMlVxdThIYWlUMjkveTJXb3lEemdR?=
 =?utf-8?B?S0V4T2MzSEM4Q1loZm9DcWt5TnBxM1NMZUdCcDNUekZ0d0xuSFd3MHZ2RUcw?=
 =?utf-8?B?bzVzb1lpTHpBZmJBbVlOYy8xMUN2aDVudW9GM1B6UGk2bGgyWklXR25LRzBm?=
 =?utf-8?B?OEhiRVhHeWNqNVhHcERZU3ZPcWl3SmIySDdmRTVJdncrcGpERXJVVk5DcG96?=
 =?utf-8?B?dG1iZDVMb2tHS20yYWUxRXBTSzFKdHd0UzdCUVRvaElVaTNQVGx4R3BhVDdQ?=
 =?utf-8?B?bHU5ODVpKzVrOXlKb3dZR21WaVNJVFYrNVBPM2xPOE14dENJa1N0OXBJck1N?=
 =?utf-8?B?Z2hVcElXK2JzSWRFNDlOWnc4Y3hrTlQyOC80NHNaWHE2emtkRVdoWWd0YWc1?=
 =?utf-8?B?SFh2c0JBa09taG1JS2ZveWZWeDFBVzR1UGMzVzJCRXpBNm1RbGpRVlBlT0d2?=
 =?utf-8?B?WEhsbUdUbW9hRlJZaVUrM0ZlNEZBVXFCaDREcXNoNFhhdUtiZDZkODdwajcy?=
 =?utf-8?B?WUZ2WFl6TGdaMUd3dExuMVM3bEJiRE1FQzluZGU0dmdzeGhVa0hKQnRBKzBj?=
 =?utf-8?B?aXlweUpCQzVkK1NiNDVKT3NwVVQzSjdQbjkycFRLKzdKa2JkMCtFajVLeWxJ?=
 =?utf-8?B?OE9ITmE0UXBTN2xlTm1kRUozMnM2T3laQkUwWnJQVzBKUnBRRWcyOExjT2pl?=
 =?utf-8?B?aStuWlA4MWZ4WGlEby85NDU0M3puK1ppM3dLMWdhdGxTRmpxUlZYME9HU3h5?=
 =?utf-8?B?c0dadTRhWWZ4L3BzUTZQSHp0MVlKY2paVWVxa3FWTjlQSVpibEdrR3NHNlJr?=
 =?utf-8?B?aC9HZXJyRmVGVHc1TUdsZ3dWQ29FZmhBNnJJYnhQYitYSVl0VTBFeCt0Nmwz?=
 =?utf-8?B?S201Vm1uYkJLZXd6UWFjcmN6M1daa1FBUEluUWlEY1VoVGtMbWRGZTZzUndN?=
 =?utf-8?B?Yzl6RlQ2Q1lWUDV4U0RXSEs5N1NZT2w5U1lJOE43WnN5VEtLSVZ1NnhzaU83?=
 =?utf-8?B?eXE4elBLL0xhVm01bmpKVWRsc1V1NU1haUhDbVEwK2owUDVrUG1GcEFqN2dC?=
 =?utf-8?B?SU9SUmxkODczTzYrTWFZNjkxTVg3SExsb3VISTBnS2dud00wMnJHQkFmMGVG?=
 =?utf-8?B?Y3ZIcVpESFBvRkVJdjNVc3VmZFF4UXZlN1pUdFdBdjFZY1RFUTRhNllXYnNa?=
 =?utf-8?B?UWl2RXR2TS9aY2QySVBrQW5QK0x6QjBzd1VHclA4TXpvR3I4bmNGZFcxTkd1?=
 =?utf-8?B?WWRGcmxmUzBONGp0V3MzU0I1LzVkL2FhWXdZZEUyY0JOU0IzU0JYWFE3aXJ0?=
 =?utf-8?B?MjdCNlRucWFiZjR4QVo4ak93OWdMdklxakVoZjZNL1lYeGtjNWpJZllHSkhV?=
 =?utf-8?B?R2dhN1VuSWk0L0pmdjhnd0RreHlLYTVZSllnaUJiN25WUVpoNG1McUtBb3Nx?=
 =?utf-8?B?bGs2Q3BvTVU1WWZjUm1od0tXNVJocjQ0dm5MOGJxaVFSazZtNFgyUG9Bazlz?=
 =?utf-8?B?d2U2YjVFSllDWXpEeUdGYTVTaUtQdlpKZ3J5K0pPQlo1ZWh1cXpXVkM3TWVh?=
 =?utf-8?B?ZG5nTVg1a3FsWDI4Sm5TbDNWWXcrdXJjNDF0SlRhWjFVSXAxbnduTGdaZzZt?=
 =?utf-8?B?aHB4WmdYcFpNY2U1ZGZybVRxSnhSMVNNMVc4U3AzaDh2dWhuOUdJVWlFRVRW?=
 =?utf-8?B?WGQ2ZjUzZVhGUStpOWcydGZaa09LYnc5ZXhmR1ZWVXp4YTgzVjdFRVI1VFc2?=
 =?utf-8?B?ZlpSd2RwdXR1eW11NzVtcjUrdjhNNUVMOWkxMEhCbktiemtSV3ZxMy9DVFBX?=
 =?utf-8?B?YVRxWTB6Ulc2K1FWcXlqcS9qdC83QkpnanJwQU1PUlFZMXhZT25rRFhHeUNs?=
 =?utf-8?B?ZlZwcjBRcE15Yi9IWWdYemVabno4OTlFVXRkNENndEJpbXZMaUJuK1ZiWlkr?=
 =?utf-8?B?VGdLWkx4eGZZdkJHKy9JQlhZKzdTY29zcHhob3AvSys0cHdBUDM1a01YT3BX?=
 =?utf-8?B?Tk5wYStMV2Z2WGp3OEhVRmg2RHhrcjZkYTd3UTVWVFJneVNBR1poTFA2UW81?=
 =?utf-8?B?WTNJYkdaVmh6M1ZhTTBCL3hVL1ZUWXh4SUtYdDBtS2R1cllzaWFBY0M4a3NX?=
 =?utf-8?Q?kn9DhIQtP9vf1O6x1CDOV4dFL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c75e87a9-e31b-4ab8-d5cf-08db1e15d5bc
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 07:38:53.3063
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xwU6q9Q8csTQNs1nCjSgcyITYX3m98W1isoJPRCkrsxZahwAenp9nrCuEEvLP2czNU+blIP+osU7DKTs+0WvHw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9971

On 03.03.2023 16:27, Andrew Cooper wrote:
> On 03/03/2023 2:55 pm, Anthony PERARD wrote:
>> From: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>> It has not been a dependency since at least 4.13.  Remove its mandatory check
>> from ./configure.
>>
>> Annotate the dependency in the CI dockerfiles, and drop them from CirrusCI and
>> TravisCI.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Acked-by: Roger Pau Monné <roger.pau@citrix.com>
>> (cherry picked from commit e21a6a4f966a7e91cb0bb014dbe15d15cc0502ad)
>> ---
>>
>> Notes:
>>     As we dropped "gettext" from many containers, build on staging-4.15
>>     starts to fail due to unmet dependency. But that dependency isn't needed,
>>     but configure hasn't been updated.
>>     
>>     pipeline with many fail due to missing gettext:
>>         https://gitlab.com/xen-project/xen/-/pipelines/793302203
>>     
>>     pipeline with that patch backported:
>>         https://gitlab.com/xen-project/people/anthonyper/xen/-/pipelines/794335026
>>     still several build failure, but less, and not due to configure step failing.
>>     
>>     Commit can be cherry-picked cleanly to staging-4.15.
>>     
>>     That commit would be needed as well on staging-4.14, but it doesn't
>>     apply cleanly due to change in configure, and missing dockerfiles.
> 
> Urgh - I'm sorry about this.  I'd completely forgotten about this mess.
> 
> We do need to get CI working reliably, even on all old branches, so we
> do need to backport this too.
> 
> But looking at the diffstat below, I think we also want to backport
> other things too (the change removing Travis), and I'm not sure we want
> to re-add the dockerfile comment seeing as we've already dropped it and
> rebuilt them all, and this patch is the one that stops it being mandatory.
> 
> That would simplify this patch a lot, and make it applicable to 4.14
> too, I think.
> 
> Jan - are you happy for Anthony and I to just go free reign on the older
> branches until we've got testing into a working state?

Sure, as long as it doesn't get really unwieldy.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 07:45:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 07:45:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506713.779834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5X0-0004d4-TG; Mon, 06 Mar 2023 07:45:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506713.779834; Mon, 06 Mar 2023 07: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 1pZ5X0-0004cx-QW; Mon, 06 Mar 2023 07:45:14 +0000
Received: by outflank-mailman (input) for mailman id 506713;
 Mon, 06 Mar 2023 07: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZ5Wz-0004bK-9F
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 07:45: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 d295ddab-bbf2-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 08:45: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-out2.suse.de (Postfix) with ESMTPS id 772C81FDAE;
 Mon,  6 Mar 2023 07:45: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 3819713A66;
 Mon,  6 Mar 2023 07:45:10 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2emSCwaaBWS3MQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 2023 07:45: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: d295ddab-bbf2-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678088710; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=bvfUC8q+00MK02gRZBfK7bnH1M/87l0GuCubGKvjr8o=;
	b=POVgT2F43rYV/4zWzfvBgeTzNP6KzhS35wm6kheV+iLgTQHyFTaDEqF76jK644FsicSKr2
	4hGB/BRtJDyufE2+yxnWM5F3IIsIPGTSory2lz6LHnjsczM84bpq9NWX9ntZMVV9XITIEn
	GZv3kA5uvw+x1QladW6bTV3OC5G9ZTI=
Message-ID: <0f699825-e9dc-137c-2246-903a5934ca27@suse.com>
Date: Mon, 6 Mar 2023 08:45:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [PATCH 15/17] xen: remove MODULE_LICENSE in non-modules
Content-Language: en-US
To: Nick Alcock <nick.alcock@oracle.com>, mcgrof@kernel.org
Cc: linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org,
 Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20230302211759.30135-1-nick.alcock@oracle.com>
 <20230302211759.30135-16-nick.alcock@oracle.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20230302211759.30135-16-nick.alcock@oracle.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------5uQ0hU8nmKsloiZybUwzi7yw"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------5uQ0hU8nmKsloiZybUwzi7yw
Content-Type: multipart/mixed; boundary="------------D6gu70LtnR6qDUrrJ6LmOs1H";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Nick Alcock <nick.alcock@oracle.com>, mcgrof@kernel.org
Cc: linux-modules@vger.kernel.org, linux-kernel@vger.kernel.org,
 Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
Message-ID: <0f699825-e9dc-137c-2246-903a5934ca27@suse.com>
Subject: Re: [PATCH 15/17] xen: remove MODULE_LICENSE in non-modules
References: <20230302211759.30135-1-nick.alcock@oracle.com>
 <20230302211759.30135-16-nick.alcock@oracle.com>
In-Reply-To: <20230302211759.30135-16-nick.alcock@oracle.com>

--------------D6gu70LtnR6qDUrrJ6LmOs1H
Content-Type: multipart/mixed; boundary="------------jYSLBxLnUVAbNmnkv1k4J42A"

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

T24gMDIuMDMuMjMgMjI6MTcsIE5pY2sgQWxjb2NrIHdyb3RlOg0KPiBTaW5jZSBjb21taXQg
OGI0MWZjNDQ1NGUgKCJrYnVpbGQ6IGNyZWF0ZSBtb2R1bGVzLmJ1aWx0aW4gd2l0aG91dA0K
PiBNYWtlZmlsZS5tb2RidWlsdGluIG9yIHRyaXN0YXRlLmNvbmYiKSwgTU9EVUxFX0xJQ0VO
U0UgZGVjbGFyYXRpb25zDQo+IGFyZSB1c2VkIHRvIGlkZW50aWZ5IG1vZHVsZXMuIEFzIGEg
Y29uc2VxdWVuY2UsIHVzZXMgb2YgdGhlIG1hY3JvDQo+IGluIG5vbi1tb2R1bGVzIHdpbGwg
Y2F1c2UgbW9kcHJvYmUgdG8gbWlzaWRlbnRpZnkgdGhlaXIgY29udGFpbmluZw0KPiBvYmpl
Y3QgZmlsZSBhcyBhIG1vZHVsZSB3aGVuIGl0IGlzIG5vdCAoZmFsc2UgcG9zaXRpdmVzKSwg
YW5kIG1vZHByb2JlDQo+IG1pZ2h0IHN1Y2NlZWQgcmF0aGVyIHRoYW4gZmFpbGluZyB3aXRo
IGEgc3VpdGFibGUgZXJyb3IgbWVzc2FnZS4NCj4gDQo+IFNvIHJlbW92ZSBpdCBpbiB0aGUg
ZmlsZXMgaW4gdGhpcyBjb21taXQsIG5vbmUgb2Ygd2hpY2ggY2FuIGJlIGJ1aWx0IGFzDQo+
IG1vZHVsZXMuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBOaWNrIEFsY29jayA8bmljay5hbGNv
Y2tAb3JhY2xlLmNvbT4NCj4gU3VnZ2VzdGVkLWJ5OiBMdWlzIENoYW1iZXJsYWluIDxtY2dy
b2ZAa2VybmVsLm9yZz4NCj4gQ2M6IEx1aXMgQ2hhbWJlcmxhaW4gPG1jZ3JvZkBrZXJuZWwu
b3JnPg0KPiBDYzogbGludXgtbW9kdWxlc0B2Z2VyLmtlcm5lbC5vcmcNCj4gQ2M6IGxpbnV4
LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmcNCj4gQ2M6IEhpdG9taSBIYXNlZ2F3YSA8aGFzZWdh
d2EtaGl0b21pQGZ1aml0c3UuY29tPg0KPiBDYzogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuY29tPg0KPiBDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwu
b3JnPg0KPiBDYzogeGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQoNClJldmlld2Vk
LWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0KDQo=

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

--------------jYSLBxLnUVAbNmnkv1k4J42A--

--------------D6gu70LtnR6qDUrrJ6LmOs1H--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQFmgUFAwAAAAAACgkQsN6d1ii/Ey9l
3Af/chWbP3S4hRcNsV/TYIYcYV3Hl5/2xH0rooUUpra4ICftGFDMh6nCrqkHw/uTnIiSJa963Tjv
KI9tdIdslI+j0+BI/JTupeoAIi32xY00Q6e18SDqaKW92br5nsmpCDHDrgIzB8IVDR9xoZTWfvdf
EYYVORkuEfPtenkRWRw/oKrkUABgZII0kW4MzzBiHVJd7T382UuC5JSI/nrGjy7OjEUt8g8ohSeG
+UL3Es9HPWivDOI1n86VokML35/LZv+WRGuHQMI0oUe+YSmQ/DSsTR27lMz1Qp0ajhMBi/tvo4zs
GEgeFmKg6ELCPL6xHlaN3rL4lPjJZ7w0h7CsOdOZBA==
=oy5r
-----END PGP SIGNATURE-----

--------------5uQ0hU8nmKsloiZybUwzi7yw--


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 07:52:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 07:52:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506719.779845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5eC-0006Eb-MV; Mon, 06 Mar 2023 07:52:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506719.779845; Mon, 06 Mar 2023 07:52:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5eC-0006EU-IE; Mon, 06 Mar 2023 07:52:40 +0000
Received: by outflank-mailman (input) for mailman id 506719;
 Mon, 06 Mar 2023 07:52: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=MPo4=66=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZ5eA-0006EO-MN
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 07:52:38 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2075.outbound.protection.outlook.com [40.107.7.75])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dccb18e0-bbf3-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 08:52:37 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6156.28; Mon, 6 Mar
 2023 07:52:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Mon, 6 Mar 2023
 07:52:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dccb18e0-bbf3-11ed-96b4-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KThnHuubOUXrYxgmSioywnujgAlTBm1Vx45MXgSmyNpDZ8uphpM91XGp462r6J/tqeEl0OilqCqWpYri5nhGcdRDKdUbrmbBxP2X1vfNgHy0jY09dL/aiqkwtmvsimSS+PSj2YBR7sQJKmpkrYaOQKPcktOrI30rPLjE8t9TSQBzOjNZGzzQtexLxTf6+wZcE49WHZygVRBplwdJFJDeg3aGQwWQkG+RXCk9TLc4ZUu1PsWcYpdfBxGRslBpZvyHxpWUwQ2j2OKqLzblCLh683XlN/o9BFujzfc77fJ3hacHiwEY7nM0c7PPda+xm7bVYB0VNO24OoE0cmbzMthl5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GXiHBFC03vjmnJP/fGDU1GJSvwRPTe1uDKumwaogx6w=;
 b=jP9/YvpwcXUquQSWfGPnJNkniaQD3lE5Lda4y/KqxTLQioE8Gm3YoyHBNpM1YOGy9Kl0EEl1/BBlDhGsOIAv8WSzccf/viJ1aOkauZUAcxC0YscEt4L5Vkt5i4htq+tZHTVu4QhzqY7HNZ9ZJtXUn9iltKYp1hj92NfqN03A/60n5zNk6R8eNm8WmnrUyCk+d5EuNHdiESIyX4NqCLfe3pSt3un9uS2sgPLC2amxCVDlAFeTXJtnpbDAfAaR8V35dPcHxgkB+ScLkB5gtBAh5uEgXQJoE13tbcHEaMnjCxdmwhHu2aCzX0IXIPYpym6MFQm78JZQ6tOziI90ew+2WQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GXiHBFC03vjmnJP/fGDU1GJSvwRPTe1uDKumwaogx6w=;
 b=PRQ7SYbj1TnBIw/CNf5A4anZ6C8wWDSOT7M1Gf61/Y8qM0DZdAIjg44MiwsInfe23dYILa+qWBYDqHKQx8fiJkid0aycmnuR4m5BKAyi2gNojXxOKcLhuLVSnZ0mTNqnWgjgXJtoDSNUIjIoXK57FzHX7rG8OCYaa7ARU8Oo5UAaTDB+F01jO+qolhEow+X1swTBv00i6BpfRZAs4j7Wl03ZAA2/fvkYc3J9Aq56zOJdLeEhmELo0x6QM1Ruis7vkoDVDpYlW1nBg++bZWhO0kaRHoc7UFB8dhwZefp8QwSFQIycHnu9lXXiLpIj9OJ9znXnfEd13D6f5hcsKYzA2w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <40bb78bc-c406-f18d-f1a5-ce3a0a448a67@suse.com>
Date: Mon, 6 Mar 2023 08:52:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 1/4] tools: rename xen-tools/libs.h file to
 common-macros.h
Content-Language: en-US
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>,
 Christian Lindig <christian.lindig@cloud.com>,
 Juergen Gross <jgross@suse.com>
References: <20230306072140.28402-1-jgross@suse.com>
 <20230306072140.28402-2-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230306072140.28402-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0119.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8276:EE_
X-MS-Office365-Filtering-Correlation-Id: 32a5de93-da92-47eb-ce47-08db1e17af8b
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:
	Y4P35knwSpOJ6HUdjUzRlNQm+kSnTo83BTFvwmruWrSmicDOD+/cIivPoGSsVQSLrp/sZgyDSDZNCmWs2DN6HUed34Dj+lUJX/eza3cm5wjsduc51gsBHbK6h/IHNn/d80nPl1aMMlgstuCuV6TJQNN43QV49uDSht+Rh3tarGj4sf1tKP7ukAJ5Ho1p7LDGtW58vNoaooiaVybCdVyL4J4uWnA/wLoKyc3Qx0lGSqR7wVVxd3Mk0wTuqLJ5WR81bw5mzEhz7WP/heQ0AN0ZZIOvM1bHzACmd9GZBOQoIOzbMESHo/Hvrd+mJs96ZlKkmjqVg344A7+lqHsAx3KsEPgINeZrXpIjQ5b89GGVp26jrg2yhCXGRSxZHKH2HgLxu4skWWedeF7yrCABM/pIJPffnhsss4zal892KsFuLUphse1WdwXN5X+FnpXB8oRJHow1d7SMsOgvhPLdW1J8BVlm3OKXpWT9w4b3cAw5dDzBaIs+iUe1LcG1qsaptem+2P4x4AWlyTdYWn/Bs/85rnW4BlmvnUOIdR6R7dOHiFsgvQp6G2UlKJenybWgJQBayPBPJs7OZBMxn9W4iqj/KIl4vCNDfsS4F2/krGHgMK6z1U5OoE+0skzAvweXQq3ykx8G1Ei5NPdwvWk0v01/y9AwdyMYDQuKJgzh8qp4LbHkajJNnV7msaRSMjUvlWV5sjjcAr/BO/3dY1UadMyv+YJ6//tFtJNWVv93+5hGf8s=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(376002)(366004)(136003)(396003)(39860400002)(451199018)(86362001)(31696002)(36756003)(8676002)(66946007)(66476007)(6916009)(5660300002)(4326008)(41300700001)(6486002)(478600001)(54906003)(316002)(66556008)(2906002)(8936002)(7416002)(38100700002)(53546011)(107886003)(6512007)(6506007)(186003)(26005)(83380400001)(2616005)(66574015)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WlJ6VC9vUW5pR2NnZ0N5U1ZRS0hNZHlJT21WZDErMlVrZk5yWklET3BmaXpa?=
 =?utf-8?B?eUJMekUrYWs0V0F5czNpZ1hhLzc2eDhGRnFWeWhBaFVWN2RPSk1pWkVQYlMz?=
 =?utf-8?B?ZXJIN1RUSTdQTlEza3hYZTUwcmoxSjdMZEtjbGt3K011Y3g1eDlidmxrc29i?=
 =?utf-8?B?RExHK0JNVVBsSnBGN2lPYk5VbGhvUmVTV1phYjNrdnpwYnExTldRZHRlRDhw?=
 =?utf-8?B?RVFOY093TW9tejJycU1rQjdpSUc4WTFhd2txVTR0YmlqYlRFeXI0STBURGxH?=
 =?utf-8?B?ZEo3L2wvVnNCTWRWTUxCb2g1akJZc2xESGx1Vkt1N1NxelpYWkZTbkxicmlu?=
 =?utf-8?B?UnoveUpjdDcwU3B0RFdqZERMaTMwUFhmSzhkSTE4aThCdW1ISXJ1NjlLZEpV?=
 =?utf-8?B?UVR6ZGhIbTZjRXhEYktvOE80K1IyS3Raa1Y5K0hsQVBVZjE1Yzlucm03ekNT?=
 =?utf-8?B?R3pVSlNwdWF5Q1hQdFJIeWhabWJPaTBkSXN6b1IyUENvNWJCM2VmSkFlN3VW?=
 =?utf-8?B?SUZWbVAxU09JdlJ5VEV5SFB5SUVWZVRub3g5dUgwVndxOTViWjkrWUNFQ3A0?=
 =?utf-8?B?dCtTSzlZUE1XSFdiNEkzTnpjbDFNTS9lUS9PaDgwSkdESTh3YTdRbUpBNlF3?=
 =?utf-8?B?eHBtazBZbUhpbERDRmR1RXNZdElJbHhiZ2xyQXhHMFRhTUxYaWZUZHdPcExP?=
 =?utf-8?B?S2dYdm1ObFhYcGtuRlpxU3RURzd5RnNjVkdJMVB0NEQ5V3d1cFpXV1BXNkpZ?=
 =?utf-8?B?eFdFWHprNlVHRUFreENoVDVidXJyZXlpN2tQSGJlLzFGWjB3ZzJETm1nRGQv?=
 =?utf-8?B?RzdPS3RTY0FzVlkwRjJBUWxiUk45SGZ5N1pyT0Q2dXdieGtBKzc4TzEycXIr?=
 =?utf-8?B?U0NQYXdZakg1NFBkYmw1amJnam5YbzlmNk11WldLQk44eGRoa01JN0NybWZB?=
 =?utf-8?B?bStLMWExelEvTVVBbXgrNGN4eldxNEk0d1FFNnBwMkE5aU91QmFCRlRKdmNv?=
 =?utf-8?B?YSs1UFRRSSswWVJJK1d6VGJaUkhuZTgrKzljZFpDakFkVzVXREdoMWZOS1k0?=
 =?utf-8?B?a0ZYT1FidXpzTlRDaGgyQy9sem14VDZINlF4NmtmRlRFcFpDdTB5cXNVY0xj?=
 =?utf-8?B?KzZpVEYraXUzd3hBZ1BqeXY4SXFLNS8vTi9oMUd0REw4ZUdjc2hKRThIZ2JQ?=
 =?utf-8?B?SzdXRGpWOVFDL3d1b2VhcGszK0JCTHIvd3FUMzFPL3JRQkpiL1FJeDRsSElq?=
 =?utf-8?B?Z3FhZmRsdXpQY005MndzNTBQTWFYL0FZYkdHWXk5NmcxeTVKY3krbmk2RWNB?=
 =?utf-8?B?enVEeWdKa0xwU1ExdW1EM0tWek5QNS9PY0piM3BsUDFqN1ZrTmlJVFZBVmpn?=
 =?utf-8?B?VDFocWp5OEJSOEpHc0FkaEdxNkhCWElFaUpMYkptN0J0V3N0OFRSbXN2dktv?=
 =?utf-8?B?NnlvWWdRUEIzMVNpN2J2UThaUU1KU0JMSWJqdHYvK1VsdWlLckJheVd5VGk1?=
 =?utf-8?B?VEp3ZVZ4QnA5RFEzY2pZY3E0R1QzSnRHaDF0czJiZXp5VmtZblJvQjlpN3Bh?=
 =?utf-8?B?TCt5U3BHcDh4Y0Mwei9jVGhhblNtTW5yMDg1QWxRc0NQaW9TOHdQMFNMcEhL?=
 =?utf-8?B?Zk9mY0I4R3g1RWFMR1NJbkhLaDAyMFNLUUhVQjAwNGhlR1JrSytaZENKY05M?=
 =?utf-8?B?VFdEMGNuckI4Y0dVM09PYjdiMi8zbkNFN3lOa1kvQ2hxNEN0cmZjSkkvdUtT?=
 =?utf-8?B?dDZBSHFCRkthOEZXMUtLQncvaENyVUdLMDlWSkljTVJ2dXBIcWozWHR3Rkc1?=
 =?utf-8?B?dWx5SFRDQzk4WktNQjNzMGRHZU9sSEZNSWI4NjQ0WGEvZDg3cXdOZ0NFem84?=
 =?utf-8?B?b3VONFBFRWNXOWJ2KzIrdFV5Q1NtaitnSW5pK1cyYStTZUFsbGR2cllqNE9y?=
 =?utf-8?B?UzZHeStyeFBLTDlzV2w3WXgxQXdjNzg5UENRZ1BYKy9sRUM5eXg5R1hkM0Ji?=
 =?utf-8?B?b0ZWWVEvdm03UDRleEZwVUxTSEw4d3hOMnJOdUNtYVUyUkxOYWQzNTlkck9Y?=
 =?utf-8?B?R21QYk1pNFFaYlBNeG9ROHcxeWszU3d3eGZlMkpQZ0g2MnZETUh2a2tNbGpa?=
 =?utf-8?Q?IREv0QOkpyW9uX/enKjzuIt2l?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 32a5de93-da92-47eb-ce47-08db1e17af8b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 07:52:08.2563
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3ckZR+wr5QyqZ3ORJ7IjRNI63qfeY2dCPwuz/0xRVay/w1fUVRTTQmS8A8dDdSVjjIPq+fl8av3VWKAstZgT/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8276

On 06.03.2023 08:21, Juergen Gross wrote:
> In order to better reflect the contents of the header and to make it
> more appropriate to use it for different runtime environments like
> programs, libraries, and firmware, rename the libs.h include file to
> common-macros.h. Additionally add a comment pointing out the need to be
> self-contained.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> # tools/python/xen/lowlevel/xc/xc.c

Just as a general remark: I think it would be nice to strive to keep
such scope restriction identifiers short as possible without becoming
ambiguous. With this ...

> ---
>  tools/console/daemon/io.c                         |  2 +-
>  tools/fuzz/cpu-policy/afl-policy-fuzzer.c         |  2 +-
>  .../include/xen-tools/{libs.h => common-macros.h} | 15 ++++++++++++---
>  tools/libs/call/buffer.c                          |  2 +-
>  tools/libs/ctrl/xc_pm.c                           |  2 +-
>  tools/libs/ctrl/xc_private.h                      |  2 +-
>  tools/libs/foreignmemory/linux.c                  |  2 +-
>  tools/libs/gnttab/freebsd.c                       |  2 +-
>  tools/libs/gnttab/linux.c                         |  2 +-
>  tools/libs/guest/xg_core_arm.c                    |  2 +-
>  tools/libs/guest/xg_cpuid_x86.c                   |  2 +-
>  tools/libs/guest/xg_dom_arm.c                     |  2 +-
>  tools/libs/guest/xg_dom_bzimageloader.c           |  2 +-
>  tools/libs/guest/xg_dom_x86.c                     |  2 +-
>  tools/libs/guest/xg_sr_common.c                   |  2 +-
>  tools/libs/light/libxl_internal.h                 |  2 +-
>  tools/libs/light/libxl_psr.c                      |  2 +-
>  tools/libs/stat/xenstat_linux.c                   |  2 +-
>  tools/misc/xen-access.c                           |  2 +-
>  tools/misc/xen-cpuid.c                            |  2 +-
>  tools/misc/xen-diag.c                             |  2 +-
>  tools/misc/xen-hptool.c                           |  2 +-
>  tools/misc/xen-livepatch.c                        |  2 +-
>  tools/misc/xen-mfndump.c                          |  2 +-
>  tools/misc/xenpm.c                                |  2 +-
>  tools/ocaml/libs/mmap/xenmmap_stubs.c             |  2 +-
>  tools/ocaml/libs/xc/xenctrl_stubs.c               |  2 +-
>  tools/python/xen/lowlevel/xc/xc.c                 |  2 +-
>  tools/tests/cpu-policy/test-cpu-policy.c          |  2 +-
>  tools/tests/paging-mempool/test-paging-mempool.c  |  2 +-
>  tools/tests/resource/test-resource.c              |  2 +-
>  tools/tests/tsx/test-tsx.c                        |  2 +-
>  tools/tests/vhpet/emul.h                          |  2 +-
>  tools/tests/x86_emulator/x86-emulate.h            |  2 +-
>  tools/tests/xenstore/test-xenstore.c              |  2 +-
>  tools/xenstore/utils.h                            |  2 +-
>  tools/xentrace/analyze.h                          |  2 +-
>  tools/xl/xl_cmdtable.c                            |  2 +-
>  xen/lib/x86/private.h                             |  2 +-
>  39 files changed, 50 insertions(+), 41 deletions(-)
>  rename tools/include/xen-tools/{libs.h => common-macros.h} (82%)

... diffstat, tools/python/ would be sufficient here imo. (As noted
earlier, I consider the marker unnecessary here, just like
Christian's isn't scope restricted to tools/ocaml/. While I accept
that views may differ here, I think it would be helpful if within a
patch optional scope restrictions were all present or all absent;
ones truly restricting scope are different of course.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:01:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:01:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506730.779855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5mQ-0008To-VO; Mon, 06 Mar 2023 08:01:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506730.779855; Mon, 06 Mar 2023 08:01:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5mQ-0008Th-SZ; Mon, 06 Mar 2023 08:01:10 +0000
Received: by outflank-mailman (input) for mailman id 506730;
 Mon, 06 Mar 2023 08:01:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MPo4=66=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZ5mP-0008Tb-2X
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 08:01:09 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20630.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09325fd9-bbf5-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 09:01:01 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by GVXPR04MB9995.eurprd04.prod.outlook.com (2603:10a6:150:118::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Mon, 6 Mar
 2023 08:00:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Mon, 6 Mar 2023
 08:00: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: 09325fd9-bbf5-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ia5g6ZewEk6A4j7CtabKWykKY1wcuHu+bnBmFkuU8l8z97+90g1lv3cX7FZxX14dOK/3Za435xxzVSGS5IM2xtPc/U9Bt9s/VkX/tNpxd3yQK4PfrmvxcjEbR65M6ZmcGajKr3B4OOi2xNQ/UBLspngCXftMN+/jSwVMmwJGwlFr7Ve+GJ066qTDvbipRY1N4K6dsMM1cSZ2M7z2M21YJLJl6RDrYprMb81ESZOjOBmPPUe1SL9QdCmW1s3wWecoNsFiJN0zz/oZAuRvGkAN92ZKkpEL12LyP5Jg67acj/xYdP2aErAUfcB26Q2RFGogDTdlYipBMESdeGFvWniReg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eVidFXoQ0TImv9+Uo+6DJD93B3ElRJR+9kbL/je1y4g=;
 b=nWw/FE0hYk1UUaWMd/+ZNA9C3VR35PR80fELTuQp1ey3Oqufwzbf4lEuiONYjjN0iDldwxNlxnLbiN4Du5BSKIE/JYGJCL9MPzsw+CH1NRzTwg+Gf2Tbtz8d6wF5wkh+MWqAKKEh7dyTotgc9IHNLD+7vMziSSojYPYth8bWpomW+gzjbxb48Wa+rsFotOjesQqys74tV3ldRxfZKHEHaYmTuFZGjAgOXs/6XZl7RAaZkLocsoU0V76jr970M57rT3lxcfZhU2gs+M7S6e/1rD6kWBk6YiEPhZTdABcp0hhhlVvENd+zNqUaJnaRnSSWd/1klfJRrvk3uSx/TA9fEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eVidFXoQ0TImv9+Uo+6DJD93B3ElRJR+9kbL/je1y4g=;
 b=tgHjAO81ZkWxITomrXk4VSuQD49nVUtqqopKV/PKpstjK3PUdkaQp2vIa9BztKlirolF0PbUJCKTjZbfLYN8g5e+1Bm0h0E5INrl0y7jXgRE3I5+I7MF5CwNxVqwHQsjWWOExhEkvK0UG1zV15CkHgmieZZ1huY2LSRB8YGh05FYTdekTMroSKTnhoNbDYUEh9uDZdXCliWl+RUVsO0ORdjvEo21nuf2nr1doqdNsKD6M3oRRq5Km8xQqdO6KDEum0JNirhp/lXYkL63jMhfI/lgo7s+QV40lSCKfPOuaoTBaYXlHlLjWawpQP2IFahMgdUrMvQPRovLVGi4zG89pQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a38060b7-c4ff-51d2-e596-8bacbd253912@suse.com>
Date: Mon, 6 Mar 2023 09:00:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 4/4] tools: add offsetof() to xen-tools/common-macros.h
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230306072140.28402-1-jgross@suse.com>
 <20230306072140.28402-5-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230306072140.28402-5-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0132.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|GVXPR04MB9995:EE_
X-MS-Office365-Filtering-Correlation-Id: 60673e1d-5740-4cbc-06fd-08db1e18ebcb
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:
	kBN/CJD9T3eRHbX79BjhcxJDrSF2DgHzHmIM0Nf4LoXzjytnQJlyRezkFA+gsojx1CB/z908jzH6wdrTnCi7ZRq5+JOy2GuymVUZPqWQE65xU4WLNA/f+9h6cel9kHJtQgna/qfSOhV74R4RIlkz1vuBmc2xHaHVkq0e7BTJ1EPeYuFToDGTK0JjQyOXYFxVJR8+3C5Sg2RDhYNAD3VasIzgPmynKWIo1LCrD2UxyUMbRJqe+m6e5v0jjFMAVm3oZ4tUjRbxN0zF3XMwusIsTbnsi1D5WVoOxi+MocxYz+S7s7cLFW/DSXRdQ5NTshE6JbJLLVHBH7Dbj5zSQzCKjArEB61RCnFYHDulIMSvH3rPuS9zicfal/vGmoq4te5HvNFLJlwU6hIJ/La9stIa+PJFE4R3b+lDW3tG0KfiXVAtyoGF+9gnz38M5Vl7IGuBn1QM608HCwMj8VzY5htEMsFOF43JB387RNQfJrQOj5hORhEQs4uQZX+vOop/m0HFlQrXAY0uLMuWjtR5ZcAYLykLRR31s1yZrvEnmw3D7/PcKI2mYL7YsFxis4aYUgvdNmwwxwwYHo1EzNAxuc4P7hWDwgD8N2InPdDAbwCo4KSfahiGDVxMB3i5k/ZqwsjlaAYgHcfMges4PquIlsXxwODe7A6/vnwLGe+otj6WstfySGpKFEXAzll656mbE9erVwk17Tvdd16fFw8XUHmhDpQVIG8LcmnjCS6om72eqpg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(396003)(366004)(39860400002)(376002)(346002)(451199018)(86362001)(31696002)(38100700002)(36756003)(2906002)(5660300002)(4326008)(66556008)(8676002)(66476007)(8936002)(6862004)(41300700001)(66946007)(2616005)(53546011)(186003)(26005)(83380400001)(6512007)(6506007)(54906003)(478600001)(6636002)(37006003)(316002)(6486002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bk0vSUtoQkZxcVMrQXFmblMyM1Rvejd6aThrQUR1MFA2SWJsYzRLczRjVml2?=
 =?utf-8?B?NEFqZ2t3YlNPTlU2U1RNd1djQ1VKc1VvOGt3TFc0MkR6TzF0ZExZOStvMmUy?=
 =?utf-8?B?blNoWkFhekhFR0ZOU2M4WXpOTzJlOWY4djRQL3BDT2hNVWVZR2ZpYStBZ0lt?=
 =?utf-8?B?ZnNlMFMrbldwbEQvWE54TzFUMnZtT3FLTnBIQ0MxeHpmQUFvUzdVREJ3OUs5?=
 =?utf-8?B?WlphL0p6QVRlTjNMczc0Y0VYVjZ3ZEZIUE02Y3dhL2V6b1prZjV0cnBqbk16?=
 =?utf-8?B?VGlNRm9DL3lwejdkTWNMRXIyYkg4RU8yWEpBMm01dEJDdmpLRHVUYzhGWTBE?=
 =?utf-8?B?dWJZU2VDemJUTzNCZFdyZGtLZWRJNnlUZWNLMzg4WjJYRDlObWhWakFibzRK?=
 =?utf-8?B?N0V1TThnOE94UXFwaHIrM1BRQlFxQVNNLys0Z2xxUUFmdDVSY2tTcytKSkhz?=
 =?utf-8?B?MkovbVVqNlRFcXJiMGtFcXh4emRNSGNsR3N1MU84T0U5N0J4ZVp1MkN5QzRx?=
 =?utf-8?B?d2Iya1dqazlIQ1FIMGJLbkN0S0VsZHV0anU4Y0FWbmZPc1prbjFCMmlyZzAr?=
 =?utf-8?B?TnNVaVBjYnZjN05iVG11TkdjSHg1d2hkQ21Fei9kVTZSam1sWkNteDdNN1RP?=
 =?utf-8?B?aG1aSVVvTTIvNG1JQXg1TVltTDkybjV3cVNDbm93U0lETlhTaDREOHlKem1T?=
 =?utf-8?B?bGIvWElrQUpibzg1cC9wc014NU9xTEtsc2pvNGJWV2REOVJhaTduYkplODFD?=
 =?utf-8?B?WWxwSlZMdDRjQS9YRmdHVG1na0JOSnU3ZWpsZnRSODcyK08vV0FrazRrNXJx?=
 =?utf-8?B?RXlzaDhma0JtWkhhVDVFMHJKcUZvcW8zOUVsUlYyemVhNHZsNmZ0aENIMm9F?=
 =?utf-8?B?Zjg4Vi9Uc0xacUtvOUhPZVA1Skw0QldSSFRhK1VxMEt1SmpyU0UxSXYxQzVM?=
 =?utf-8?B?NlRLUnNjREpoeUhTMUE3cndYSm4yT3h6akdJZkNNZmZTNEF0eS95eFh6czFx?=
 =?utf-8?B?bWxxMXlnQVNEcEtEQmlCaTR4MWNiU1llWDdaaTJvVkFkTUxGMFBBMk02WWNj?=
 =?utf-8?B?TGloajcvS2luVHVOZk12Q0pLVmtKZlNiOGE0K1JrZ0JyaHQyR1l3d0F0STFM?=
 =?utf-8?B?cWVWbERCMmpIa0huRC9vdTFrSGJSKzNlQ29abzUwUGR4VzdiQ2QwVzdIVmdN?=
 =?utf-8?B?M0Rzczdva3VEVDVyL0ZvSm9PZzJGRHhJOWNHVVBUeCtST0xmd1JQTjAxWDFB?=
 =?utf-8?B?U3FjemxwWnRhOXpnVzVZVGptNklSZGpTMmVZMFZSb0tzRDh5bnUzeE9raVl3?=
 =?utf-8?B?QWV6ZmdnbVFaMDF4S2QvOFB4a0svdFpDWXBQVk5rbUhKeVhsQ1Nkd0YwV3Nw?=
 =?utf-8?B?d2VsQWdDOVVkZEFuQTRiY1NITnNEOG9haWtBUzV0dGUxM1l3ODZsMmIvdjk4?=
 =?utf-8?B?ZXNJOHlMdDhBeWRyVkZYajUyNTV2c2hSTFlVY1dGbVNzOFA3NGViN1FlWFZT?=
 =?utf-8?B?TTV6UFRMYnhmVEFSNk5NTnFGamZ1eXhJcU8ySGlMT3E5SXdjemdiWXpxMzI1?=
 =?utf-8?B?dGJZekJ6WStpQXlQN1p5M0ltTzR3VXdGakk1SEpiUjJmTFIwc0d2Y3A0QUJR?=
 =?utf-8?B?Si9MWHhJbWhpTUtaY0NyWnlaRGljblYyUnI3NEgrODZvbU5KTW5Pb0VYUTli?=
 =?utf-8?B?dnZ3eTV3R20xUmw2eHhqQ1ZnSzgybGF0bTRGTmdpU1RSQTUzb0NwTTFqd1pZ?=
 =?utf-8?B?aXE2emRLKzl3MTlKRmFPcldKT2ZQYVBQbTZqVjYzVWYyMjF3MnZFc3pERTZu?=
 =?utf-8?B?V0hjRmJZVW1tT1FIK0xCU0lQZUo2bnVTS0R4OU1mcG8xS3NDbS9FWnNyNUxw?=
 =?utf-8?B?RVJybTQ2THZ0MlJTN09FWUVXM1pEWGhTSzVVTjVZZms1R09YQ1VxcWJBMnB4?=
 =?utf-8?B?ZnRoazdCWWZSd3VsVmdNYVlxcndkN2tKdWhTQjl5MDlORUR2RTlzSktZUlpI?=
 =?utf-8?B?ci9nblpRQlNqcm5FbFJOSXlMc1FWaEJYb3V2cmRtdXQ2OFlqemZhcTIwL1pK?=
 =?utf-8?B?eCsyUHpucXEycHRRb3krdlJnczUvc3ZlMVplT2VBZDl0WUJTa1IvUDdKdDdH?=
 =?utf-8?Q?ojWQDfzItWGMU1nuuQDvsiacm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 60673e1d-5740-4cbc-06fd-08db1e18ebcb
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 08:00:58.8463
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0pNKubrdhWaiWCT0hfroxoWk6ShqvhJu119z6qPWWtSCyTdZ/RqJ7suCjVlKXZ0bD6xcFdiabo8R70EbyaD/EQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9995

On 06.03.2023 08:21, Juergen Gross wrote:
> --- a/tools/include/xen-tools/common-macros.h
> +++ b/tools/include/xen-tools/common-macros.h
> @@ -80,4 +80,8 @@
>      typeof( ((type *)0)->member ) *__mptr = (ptr);        \
>      (type *)( (char *)__mptr - offsetof(type,member) );})
>  
> +#ifndef offsetof
> +#define offsetof(a, b) __builtin_offsetof(a, b)
> +#endif

How's this going to work reliably with parties perhaps also including
stddef.h, which also is expected to define this macro, and which may
do so with a different sequence of tokens (even if that ends up
having the same effect)? There shouldn't be a need to define this
macro for any "normal" environments, e.g. ...

> --- a/tools/libfsimage/xfs/fsys_xfs.c
> +++ b/tools/libfsimage/xfs/fsys_xfs.c
> @@ -19,6 +19,7 @@
>  
>  #include <xenfsimage_grub.h>
>  #include "xfs.h"
> +#include <xen-tools/common-macros.h>
>  
>  #define MAX_LINK_COUNT	8
>  
> @@ -182,9 +183,6 @@ fsb2daddr (xfs_fsblock_t fsbno)
>  			 (xfs_agblock_t)(fsbno & mask32lo(xfs.agblklog)));
>  }
>  
> -#undef offsetof
> -#define offsetof(t,m)	((size_t)&(((t *)0)->m))
> -
>  static inline int
>  btroot_maxrecs (fsi_file_t *ffi)
>  {

... this library or ...

> --- a/tools/libs/vchan/init.c
> +++ b/tools/libs/vchan/init.c
> @@ -69,10 +69,6 @@
>  #define MAX_RING_SHIFT 20
>  #define MAX_RING_SIZE (1 << MAX_RING_SHIFT)
>  
> -#ifndef offsetof
> -#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
> -#endif
> -
>  static int init_gnt_srv(struct libxenvchan *ctrl, int domain)
>  {
>  	int pages_left = ctrl->read.order >= PAGE_SHIFT ? 1 << (ctrl->read.order - PAGE_SHIFT) : 0;

... this tool or ...

> --- a/tools/tests/vhpet/emul.h
> +++ b/tools/tests/vhpet/emul.h
> @@ -115,8 +115,6 @@ enum
>      NR_COMMON_SOFTIRQS
>  };
>  
> -#define offsetof(t, m) ((unsigned long )&((t *)0)->m)
> -
>  struct domain;
>  
>  struct vcpu

... this test binary (which is an ordinary host one as well). They all
should include stddef.h and be done.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:01:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:01:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506735.779865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5nD-0000YU-8a; Mon, 06 Mar 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 506735.779865; Mon, 06 Mar 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 1pZ5nD-0000YN-5q; Mon, 06 Mar 2023 08:01:59 +0000
Received: by outflank-mailman (input) for mailman id 506735;
 Mon, 06 Mar 2023 08: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZ5nC-0008Tb-1O
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 08:01:58 +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 29cc29f0-bbf5-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 09:01: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 B5CB61FDAE;
 Mon,  6 Mar 2023 08:01: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 400A313A66;
 Mon,  6 Mar 2023 08:01:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id VxcoDvOdBWQeOAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 2023 08:01: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: 29cc29f0-bbf5-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678089715; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=GYIv9v2rzxnDllNLdDDZhG3DvkurNa3CwLoXMNLu1N8=;
	b=dbCRFDRODXxGGO8zEMaG0nfcxyTOfl1nuMkkw9P7y/Ro7OpR0JimQJPqdhmDS1uwUl0AUI
	twXltov8JJyLAn+c0fXUtVWlEoiNNX/uA8ulNsCBlGc+IPLQZPqWgK91w0g3HcrU9Z5rHA
	JcJfvuBVcNgoJddd9QU2bsdUFH8GN3g=
Message-ID: <662c5584-d43c-8e2b-442d-48839f0ebf4c@suse.com>
Date: Mon, 6 Mar 2023 09:01:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [PATCH v3 1/4] tools: rename xen-tools/libs.h file to
 common-macros.h
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>,
 Christian Lindig <christian.lindig@cloud.com>
References: <20230306072140.28402-1-jgross@suse.com>
 <20230306072140.28402-2-jgross@suse.com>
 <40bb78bc-c406-f18d-f1a5-ce3a0a448a67@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <40bb78bc-c406-f18d-f1a5-ce3a0a448a67@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------SjL1AhAMOlfcWqXLmEKbaZGn"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------SjL1AhAMOlfcWqXLmEKbaZGn
Content-Type: multipart/mixed; boundary="------------UUPD74gH0fsoj2gpVnHc0PML";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>,
 Christian Lindig <christian.lindig@cloud.com>
Message-ID: <662c5584-d43c-8e2b-442d-48839f0ebf4c@suse.com>
Subject: Re: [PATCH v3 1/4] tools: rename xen-tools/libs.h file to
 common-macros.h
References: <20230306072140.28402-1-jgross@suse.com>
 <20230306072140.28402-2-jgross@suse.com>
 <40bb78bc-c406-f18d-f1a5-ce3a0a448a67@suse.com>
In-Reply-To: <40bb78bc-c406-f18d-f1a5-ce3a0a448a67@suse.com>

--------------UUPD74gH0fsoj2gpVnHc0PML
Content-Type: multipart/mixed; boundary="------------ayNFgutFUCpB1KBgp0WlWma2"

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

T24gMDYuMDMuMjMgMDg6NTIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNi4wMy4yMDIz
IDA4OjIxLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gSW4gb3JkZXIgdG8gYmV0dGVyIHJl
ZmxlY3QgdGhlIGNvbnRlbnRzIG9mIHRoZSBoZWFkZXIgYW5kIHRvIG1ha2UgaXQNCj4+IG1v
cmUgYXBwcm9wcmlhdGUgdG8gdXNlIGl0IGZvciBkaWZmZXJlbnQgcnVudGltZSBlbnZpcm9u
bWVudHMgbGlrZQ0KPj4gcHJvZ3JhbXMsIGxpYnJhcmllcywgYW5kIGZpcm13YXJlLCByZW5h
bWUgdGhlIGxpYnMuaCBpbmNsdWRlIGZpbGUgdG8NCj4+IGNvbW1vbi1tYWNyb3MuaC4gQWRk
aXRpb25hbGx5IGFkZCBhIGNvbW1lbnQgcG9pbnRpbmcgb3V0IHRoZSBuZWVkIHRvIGJlDQo+
PiBzZWxmLWNvbnRhaW5lZC4NCj4+DQo+PiBTdWdnZXN0ZWQtYnk6IEFuZHJldyBDb29wZXIg
PGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+PiBBY2tlZC1ieTogTWFyZWsgTWFyY3p5a293
c2tpLUfDs3JlY2tpIDxtYXJtYXJla0BpbnZpc2libGV0aGluZ3NsYWIuY29tPiAjIHRvb2xz
L3B5dGhvbi94ZW4vbG93bGV2ZWwveGMveGMuYw0KPiANCj4gSnVzdCBhcyBhIGdlbmVyYWwg
cmVtYXJrOiBJIHRoaW5rIGl0IHdvdWxkIGJlIG5pY2UgdG8gc3RyaXZlIHRvIGtlZXANCj4g
c3VjaCBzY29wZSByZXN0cmljdGlvbiBpZGVudGlmaWVycyBzaG9ydCBhcyBwb3NzaWJsZSB3
aXRob3V0IGJlY29taW5nDQo+IGFtYmlndW91cy4gV2l0aCB0aGlzIC4uLg0KPiANCj4+IC0t
LQ0KPj4gICB0b29scy9jb25zb2xlL2RhZW1vbi9pby5jICAgICAgICAgICAgICAgICAgICAg
ICAgIHwgIDIgKy0NCj4+ICAgdG9vbHMvZnV6ei9jcHUtcG9saWN5L2FmbC1wb2xpY3ktZnV6
emVyLmMgICAgICAgICB8ICAyICstDQo+PiAgIC4uLi9pbmNsdWRlL3hlbi10b29scy97bGli
cy5oID0+IGNvbW1vbi1tYWNyb3MuaH0gfCAxNSArKysrKysrKysrKystLS0NCj4+ICAgdG9v
bHMvbGlicy9jYWxsL2J1ZmZlci5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICst
DQo+PiAgIHRvb2xzL2xpYnMvY3RybC94Y19wbS5jICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgMiArLQ0KPj4gICB0b29scy9saWJzL2N0cmwveGNfcHJpdmF0ZS5oICAgICAgICAg
ICAgICAgICAgICAgIHwgIDIgKy0NCj4+ICAgdG9vbHMvbGlicy9mb3JlaWdubWVtb3J5L2xp
bnV4LmMgICAgICAgICAgICAgICAgICB8ICAyICstDQo+PiAgIHRvb2xzL2xpYnMvZ250dGFi
L2ZyZWVic2QuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPj4gICB0b29scy9s
aWJzL2dudHRhYi9saW51eC5jICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4+
ICAgdG9vbHMvbGlicy9ndWVzdC94Z19jb3JlX2FybS5jICAgICAgICAgICAgICAgICAgICB8
ICAyICstDQo+PiAgIHRvb2xzL2xpYnMvZ3Vlc3QveGdfY3B1aWRfeDg2LmMgICAgICAgICAg
ICAgICAgICAgfCAgMiArLQ0KPj4gICB0b29scy9saWJzL2d1ZXN0L3hnX2RvbV9hcm0uYyAg
ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4+ICAgdG9vbHMvbGlicy9ndWVzdC94Z19k
b21fYnppbWFnZWxvYWRlci5jICAgICAgICAgICB8ICAyICstDQo+PiAgIHRvb2xzL2xpYnMv
Z3Vlc3QveGdfZG9tX3g4Ni5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPj4gICB0
b29scy9saWJzL2d1ZXN0L3hnX3NyX2NvbW1vbi5jICAgICAgICAgICAgICAgICAgIHwgIDIg
Ky0NCj4+ICAgdG9vbHMvbGlicy9saWdodC9saWJ4bF9pbnRlcm5hbC5oICAgICAgICAgICAg
ICAgICB8ICAyICstDQo+PiAgIHRvb2xzL2xpYnMvbGlnaHQvbGlieGxfcHNyLmMgICAgICAg
ICAgICAgICAgICAgICAgfCAgMiArLQ0KPj4gICB0b29scy9saWJzL3N0YXQveGVuc3RhdF9s
aW51eC5jICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4+ICAgdG9vbHMvbWlzYy94ZW4t
YWNjZXNzLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+PiAgIHRvb2xz
L21pc2MveGVuLWNwdWlkLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0K
Pj4gICB0b29scy9taXNjL3hlbi1kaWFnLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHwgIDIgKy0NCj4+ICAgdG9vbHMvbWlzYy94ZW4taHB0b29sLmMgICAgICAgICAgICAgICAg
ICAgICAgICAgICB8ICAyICstDQo+PiAgIHRvb2xzL21pc2MveGVuLWxpdmVwYXRjaC5jICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPj4gICB0b29scy9taXNjL3hlbi1tZm5k
dW1wLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4+ICAgdG9vbHMvbWlz
Yy94ZW5wbS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstDQo+PiAg
IHRvb2xzL29jYW1sL2xpYnMvbW1hcC94ZW5tbWFwX3N0dWJzLmMgICAgICAgICAgICAgfCAg
MiArLQ0KPj4gICB0b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmxfc3R1YnMuYyAgICAgICAg
ICAgICAgIHwgIDIgKy0NCj4+ICAgdG9vbHMvcHl0aG9uL3hlbi9sb3dsZXZlbC94Yy94Yy5j
ICAgICAgICAgICAgICAgICB8ICAyICstDQo+PiAgIHRvb2xzL3Rlc3RzL2NwdS1wb2xpY3kv
dGVzdC1jcHUtcG9saWN5LmMgICAgICAgICAgfCAgMiArLQ0KPj4gICB0b29scy90ZXN0cy9w
YWdpbmctbWVtcG9vbC90ZXN0LXBhZ2luZy1tZW1wb29sLmMgIHwgIDIgKy0NCj4+ICAgdG9v
bHMvdGVzdHMvcmVzb3VyY2UvdGVzdC1yZXNvdXJjZS5jICAgICAgICAgICAgICB8ICAyICst
DQo+PiAgIHRvb2xzL3Rlc3RzL3RzeC90ZXN0LXRzeC5jICAgICAgICAgICAgICAgICAgICAg
ICAgfCAgMiArLQ0KPj4gICB0b29scy90ZXN0cy92aHBldC9lbXVsLmggICAgICAgICAgICAg
ICAgICAgICAgICAgIHwgIDIgKy0NCj4+ICAgdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3g4
Ni1lbXVsYXRlLmggICAgICAgICAgICB8ICAyICstDQo+PiAgIHRvb2xzL3Rlc3RzL3hlbnN0
b3JlL3Rlc3QteGVuc3RvcmUuYyAgICAgICAgICAgICAgfCAgMiArLQ0KPj4gICB0b29scy94
ZW5zdG9yZS91dGlscy5oICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4+
ICAgdG9vbHMveGVudHJhY2UvYW5hbHl6ZS5oICAgICAgICAgICAgICAgICAgICAgICAgICB8
ICAyICstDQo+PiAgIHRvb2xzL3hsL3hsX2NtZHRhYmxlLmMgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAgMiArLQ0KPj4gICB4ZW4vbGliL3g4Ni9wcml2YXRlLmggICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHwgIDIgKy0NCj4+ICAgMzkgZmlsZXMgY2hhbmdlZCwgNTAg
aW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pDQo+PiAgIHJlbmFtZSB0b29scy9pbmNs
dWRlL3hlbi10b29scy97bGlicy5oID0+IGNvbW1vbi1tYWNyb3MuaH0gKDgyJSkNCj4gDQo+
IC4uLiBkaWZmc3RhdCwgdG9vbHMvcHl0aG9uLyB3b3VsZCBiZSBzdWZmaWNpZW50IGhlcmUg
aW1vLiAoQXMgbm90ZWQNCj4gZWFybGllciwgSSBjb25zaWRlciB0aGUgbWFya2VyIHVubmVj
ZXNzYXJ5IGhlcmUsIGp1c3QgbGlrZQ0KPiBDaHJpc3RpYW4ncyBpc24ndCBzY29wZSByZXN0
cmljdGVkIHRvIHRvb2xzL29jYW1sLy4gV2hpbGUgSSBhY2NlcHQNCj4gdGhhdCB2aWV3cyBt
YXkgZGlmZmVyIGhlcmUsIEkgdGhpbmsgaXQgd291bGQgYmUgaGVscGZ1bCBpZiB3aXRoaW4g
YQ0KPiBwYXRjaCBvcHRpb25hbCBzY29wZSByZXN0cmljdGlvbnMgd2VyZSBhbGwgcHJlc2Vu
dCBvciBhbGwgYWJzZW50Ow0KPiBvbmVzIHRydWx5IHJlc3RyaWN0aW5nIHNjb3BlIGFyZSBk
aWZmZXJlbnQgb2YgY291cnNlLikNCg0KSG1tLCByaWdodC4gSW4gY2FzZSBJIG5lZWQgdG8g
cmVzZW5kIEknbGwgZHJvcCB0aGUgcmVzdHJpY3Rpb24uDQoNCg0KSnVlcmdlbg0K
--------------ayNFgutFUCpB1KBgp0WlWma2
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-----

--------------ayNFgutFUCpB1KBgp0WlWma2--

--------------UUPD74gH0fsoj2gpVnHc0PML--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQFnfIFAwAAAAAACgkQsN6d1ii/Ey9D
3Af/WxTkQibAQdwUR+f0wxoWFc2tLJ6C3coWMA6chwrMJbsxmkpCePscr6D0DPCCi4QEP/VI734N
0AbDctyqUNWV6ImIGF61+vzYyxKXQbingidl8eKKoHiTEeXQwYGr8RiA5s9zTxGGZgtf5mQGnxIa
9iRWU2rBd0MtiZm5BC0UAM5LkF8tvI1bJ0b9RQEgWrYozWzDUv+FPXm8AkKRmrCdp9CsYN2WuWNQ
lb5ueIY9ujSRAeu6gZbhTjRAvc8Bi3iPepcF7l8HMn0IilmaldqzoWDOT2yueD5ZxsosoLdeQRZQ
02AIH9FEv/oyaohqZdwj5D3vluQ2vLsGWLl6k5Zfjg==
=sIfp
-----END PGP SIGNATURE-----

--------------SjL1AhAMOlfcWqXLmEKbaZGn--


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:04:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:04:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506740.779875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5pd-00019q-NN; Mon, 06 Mar 2023 08:04:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506740.779875; Mon, 06 Mar 2023 08: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 1pZ5pd-00019j-K3; Mon, 06 Mar 2023 08:04:29 +0000
Received: by outflank-mailman (input) for mailman id 506740;
 Mon, 06 Mar 2023 08:04: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 1pZ5pc-00019X-4J; Mon, 06 Mar 2023 08:04: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 1pZ5pc-0006uc-2C; Mon, 06 Mar 2023 08:04: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 1pZ5pb-0007TT-QY; Mon, 06 Mar 2023 08:04:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZ5pb-0004In-Q3; Mon, 06 Mar 2023 08:04: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=VDr9qQqQCYnFFfKqmwctJBDq6wHyiuKE8OVjpmJlSO8=; b=bW/pPGtBizss0KnFHouab5P1+O
	tnuRsWfcNRgMyyUYYxHfvVsxW8wAyQjxbdUUt9TEWYm2xqIk70Jj6JR9rBJRqVbH/74uAbg+5mFnr
	iXQnSZfIIsErSTb4EnBMPxqQdsD1LXeUlK9DqkYz3YZgNfUEh/bhXxFCdI2Bq1pcKQjQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179339-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179339: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-saverestore:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop: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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=fe15c26ee26efa11741a7b632e9f23b01aca4cc6
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 06 Mar 2023 08:04:27 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 17 guest-localmigrate   fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 18 guest-localmigrate      fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  19 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   19 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     17 guest-saverestore        fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                fe15c26ee26efa11741a7b632e9f23b01aca4cc6
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   12 days
Failing since        178093  2023-02-22 05:02:47 Z   12 days   25 attempts
Testing same since   179339  2023-03-06 00:44:03 Z    0 days    1 attempts

------------------------------------------------------------
2047 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:09:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:09:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506749.779885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5ub-00021x-F0; Mon, 06 Mar 2023 08:09:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506749.779885; Mon, 06 Mar 2023 08:09: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 1pZ5ub-00021q-B7; Mon, 06 Mar 2023 08:09:37 +0000
Received: by outflank-mailman (input) for mailman id 506749;
 Mon, 06 Mar 2023 08:09: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZ5uZ-00021j-Ee
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 08:09:35 +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 3aeecf67-bbf6-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 09:09: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-out1.suse.de (Postfix) with ESMTPS id E3AFA21DDA;
 Mon,  6 Mar 2023 08:09: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 B1F4E13A66;
 Mon,  6 Mar 2023 08:09:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id eoqqKb2fBWQwPAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 2023 08:09: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: 3aeecf67-bbf6-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678090173; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=eUoxEhZbENV190/jBgWCUAgKgJwm5Im6+MeY0aWZKM4=;
	b=o+5ReatLyuU09FJUJp7JnjaVuP6zagF5JkW/JXkniPNnQyXpDRDLX7Fgg9Te/urt7eJnbO
	QHBVAcmQ2KJ1sDdSOZ/AQVd4qdujal39HemBqPiQGRJotmhuHKnpsTIC2mJhwTnvnRdW40
	hnYFAyy/na1zwcuSwNTuUuEd3dM1h0o=
Message-ID: <1d4cd0ea-11fa-757f-edc7-526ef36f305e@suse.com>
Date: Mon, 6 Mar 2023 09:09:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [PATCH v3 4/4] tools: add offsetof() to xen-tools/common-macros.h
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230306072140.28402-1-jgross@suse.com>
 <20230306072140.28402-5-jgross@suse.com>
 <a38060b7-c4ff-51d2-e596-8bacbd253912@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <a38060b7-c4ff-51d2-e596-8bacbd253912@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------cxuQ4sZnoZyhCc5fIhJKKiqk"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------cxuQ4sZnoZyhCc5fIhJKKiqk
Content-Type: multipart/mixed; boundary="------------hHgMbiDE24dkLGQpjsO03Bs6";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
Message-ID: <1d4cd0ea-11fa-757f-edc7-526ef36f305e@suse.com>
Subject: Re: [PATCH v3 4/4] tools: add offsetof() to xen-tools/common-macros.h
References: <20230306072140.28402-1-jgross@suse.com>
 <20230306072140.28402-5-jgross@suse.com>
 <a38060b7-c4ff-51d2-e596-8bacbd253912@suse.com>
In-Reply-To: <a38060b7-c4ff-51d2-e596-8bacbd253912@suse.com>

--------------hHgMbiDE24dkLGQpjsO03Bs6
Content-Type: multipart/mixed; boundary="------------oE07EcXepkTL8QgYp8Y0yfn8"

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

T24gMDYuMDMuMjMgMDk6MDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNi4wMy4yMDIz
IDA4OjIxLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEvdG9vbHMvaW5jbHVkZS94
ZW4tdG9vbHMvY29tbW9uLW1hY3Jvcy5oDQo+PiArKysgYi90b29scy9pbmNsdWRlL3hlbi10
b29scy9jb21tb24tbWFjcm9zLmgNCj4+IEBAIC04MCw0ICs4MCw4IEBADQo+PiAgICAgICB0
eXBlb2YoICgodHlwZSAqKTApLT5tZW1iZXIgKSAqX19tcHRyID0gKHB0cik7ICAgICAgICBc
DQo+PiAgICAgICAodHlwZSAqKSggKGNoYXIgKilfX21wdHIgLSBvZmZzZXRvZih0eXBlLG1l
bWJlcikgKTt9KQ0KPj4gICANCj4+ICsjaWZuZGVmIG9mZnNldG9mDQo+PiArI2RlZmluZSBv
ZmZzZXRvZihhLCBiKSBfX2J1aWx0aW5fb2Zmc2V0b2YoYSwgYikNCj4+ICsjZW5kaWYNCj4g
DQo+IEhvdydzIHRoaXMgZ29pbmcgdG8gd29yayByZWxpYWJseSB3aXRoIHBhcnRpZXMgcGVy
aGFwcyBhbHNvIGluY2x1ZGluZw0KPiBzdGRkZWYuaCwgd2hpY2ggYWxzbyBpcyBleHBlY3Rl
ZCB0byBkZWZpbmUgdGhpcyBtYWNybywgYW5kIHdoaWNoIG1heQ0KPiBkbyBzbyB3aXRoIGEg
ZGlmZmVyZW50IHNlcXVlbmNlIG9mIHRva2VucyAoZXZlbiBpZiB0aGF0IGVuZHMgdXANCj4g
aGF2aW5nIHRoZSBzYW1lIGVmZmVjdCk/IFRoZXJlIHNob3VsZG4ndCBiZSBhIG5lZWQgdG8g
ZGVmaW5lIHRoaXMNCj4gbWFjcm8gZm9yIGFueSAibm9ybWFsIiBlbnZpcm9ubWVudHMsIGUu
Zy4gLi4uDQo+IA0KPj4gLS0tIGEvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYw0K
Pj4gKysrIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYw0KPj4gQEAgLTE5LDYg
KzE5LDcgQEANCj4+ICAgDQo+PiAgICNpbmNsdWRlIDx4ZW5mc2ltYWdlX2dydWIuaD4NCj4+
ICAgI2luY2x1ZGUgInhmcy5oIg0KPj4gKyNpbmNsdWRlIDx4ZW4tdG9vbHMvY29tbW9uLW1h
Y3Jvcy5oPg0KPj4gICANCj4+ICAgI2RlZmluZSBNQVhfTElOS19DT1VOVAk4DQo+PiAgIA0K
Pj4gQEAgLTE4Miw5ICsxODMsNiBAQCBmc2IyZGFkZHIgKHhmc19mc2Jsb2NrX3QgZnNibm8p
DQo+PiAgIAkJCSAoeGZzX2FnYmxvY2tfdCkoZnNibm8gJiBtYXNrMzJsbyh4ZnMuYWdibGts
b2cpKSk7DQo+PiAgIH0NCj4+ICAgDQo+PiAtI3VuZGVmIG9mZnNldG9mDQo+PiAtI2RlZmlu
ZSBvZmZzZXRvZih0LG0pCSgoc2l6ZV90KSYoKCh0ICopMCktPm0pKQ0KPj4gLQ0KPj4gICBz
dGF0aWMgaW5saW5lIGludA0KPj4gICBidHJvb3RfbWF4cmVjcyAoZnNpX2ZpbGVfdCAqZmZp
KQ0KPj4gICB7DQo+IA0KPiAuLi4gdGhpcyBsaWJyYXJ5IG9yIC4uLg0KPiANCj4+IC0tLSBh
L3Rvb2xzL2xpYnMvdmNoYW4vaW5pdC5jDQo+PiArKysgYi90b29scy9saWJzL3ZjaGFuL2lu
aXQuYw0KPj4gQEAgLTY5LDEwICs2OSw2IEBADQo+PiAgICNkZWZpbmUgTUFYX1JJTkdfU0hJ
RlQgMjANCj4+ICAgI2RlZmluZSBNQVhfUklOR19TSVpFICgxIDw8IE1BWF9SSU5HX1NISUZU
KQ0KPj4gICANCj4+IC0jaWZuZGVmIG9mZnNldG9mDQo+PiAtI2RlZmluZSBvZmZzZXRvZihU
WVBFLCBNRU1CRVIpICgoc2l6ZV90KSAmKChUWVBFICopMCktPk1FTUJFUikNCj4+IC0jZW5k
aWYNCj4+IC0NCj4+ICAgc3RhdGljIGludCBpbml0X2dudF9zcnYoc3RydWN0IGxpYnhlbnZj
aGFuICpjdHJsLCBpbnQgZG9tYWluKQ0KPj4gICB7DQo+PiAgIAlpbnQgcGFnZXNfbGVmdCA9
IGN0cmwtPnJlYWQub3JkZXIgPj0gUEFHRV9TSElGVCA/IDEgPDwgKGN0cmwtPnJlYWQub3Jk
ZXIgLSBQQUdFX1NISUZUKSA6IDA7DQo+IA0KPiAuLi4gdGhpcyB0b29sIG9yIC4uLg0KPiAN
Cj4+IC0tLSBhL3Rvb2xzL3Rlc3RzL3ZocGV0L2VtdWwuaA0KPj4gKysrIGIvdG9vbHMvdGVz
dHMvdmhwZXQvZW11bC5oDQo+PiBAQCAtMTE1LDggKzExNSw2IEBAIGVudW0NCj4+ICAgICAg
IE5SX0NPTU1PTl9TT0ZUSVJRUw0KPj4gICB9Ow0KPj4gICANCj4+IC0jZGVmaW5lIG9mZnNl
dG9mKHQsIG0pICgodW5zaWduZWQgbG9uZyApJigodCAqKTApLT5tKQ0KPj4gLQ0KPj4gICBz
dHJ1Y3QgZG9tYWluOw0KPj4gICANCj4+ICAgc3RydWN0IHZjcHUNCj4gDQo+IC4uLiB0aGlz
IHRlc3QgYmluYXJ5ICh3aGljaCBpcyBhbiBvcmRpbmFyeSBob3N0IG9uZSBhcyB3ZWxsKS4g
VGhleSBhbGwNCj4gc2hvdWxkIGluY2x1ZGUgc3RkZGVmLmggYW5kIGJlIGRvbmUuDQoNClll
cywgdGhpcyBpcyBwcm9iYWJseSBhIGJldHRlciB3YXkgdG8gaGFuZGxlIHRoaXMuDQoNClNv
IEkgdGhpbmsgdGhpcyBwYXRjaCBzaG91bGQgYmUgZHJvcHBlZC4NCg0KSSdsbCBzZW5kIG91
dCBhbm90aGVyIHNtYWxsIHNlcmllcyByZW1vdmluZyB0aGUgcHJpdmF0ZSBvZmZzZXRvZigp
DQpkZWZpbml0aW9ucyBhbmQgdXNpbmcgc3RkZGVmLmggaW5zdGVhZC4gVGhpcyBzaG91bGQg
aW5jbHVkZSBodm1sb2FkZXIsDQp3aGljaCBjYW4gdXNlIHRoZSB0b29scy9maXJtd2FyZS9p
bmNsdWRlL3N0ZGRlZi5oIHZhcmlhbnQuDQoNCg0KSnVlcmdlbg0K
--------------oE07EcXepkTL8QgYp8Y0yfn8
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-----

--------------oE07EcXepkTL8QgYp8Y0yfn8--

--------------hHgMbiDE24dkLGQpjsO03Bs6--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQFn70FAwAAAAAACgkQsN6d1ii/Ey9R
kAf/UYEvKkS9erxssrJa16/PMMtEuj7WKvPL9UGZVzgBuMajhHPT+dx/rQkQWC5VjH55wU6O8FSB
ytcaG2q0ceDSYfOuR+9Pz68hVA85ig4gdWBblTWTXpojJarSf1mYEPqKB4+Ucja5tc4/VHtVIeGP
d7voSbIpZ9Q21IvuyhO4FyVABO9lCGm7tSYoJkhJ3D1Zm1uh8JL5RK5b7x3/w69Wy0JwwTiS35Sb
koA34bm6K6JfCJk+CfhduSto41e8b7et4baOyCz5g45f2trtYMQ4svs81fjRLscHBAlvCMJiIPKa
MUDwDLzGf5oKjNI9iC9lgKhBChyWFNEJvQRvefTmtQ==
=VWz/
-----END PGP SIGNATURE-----

--------------cxuQ4sZnoZyhCc5fIhJKKiqk--


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:10:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:10:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506753.779895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ5vp-0003Od-Oc; Mon, 06 Mar 2023 08:10:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506753.779895; Mon, 06 Mar 2023 08: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 1pZ5vp-0003OW-Ls; Mon, 06 Mar 2023 08:10:53 +0000
Received: by outflank-mailman (input) for mailman id 506753;
 Mon, 06 Mar 2023 08:10: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZ5vo-0003OQ-HG
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 08:10: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 69072678-bbf6-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 09:10: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 5DEEA22370;
 Mon,  6 Mar 2023 08:10: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 7789E13A66;
 Mon,  6 Mar 2023 08:10:50 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id P9ajGwqgBWQDPQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 2023 08:10: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: 69072678-bbf6-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678090251; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=eqsn968J0cCVrLZWYWjZfL9JRrTtcZJUf2GKxlH4pcQ=;
	b=PdpeJ3+WlkwHUCyDxfOU4oUlyi45jTM8bCwD1xRH7VogqLYwkFHHuTujXj7Nn5ducCF3U4
	MsX7DKbaXKWZmNwGt21FRnTv0JidlNvKGRIBDBgF70SokY3yIqdPIerI03XxfSaVse6b6N
	cxhKcHEIGqChRAkLHqUaRvN+hEuBXaI=
Message-ID: <453a66f5-5443-01a5-7161-8c888eea1957@suse.com>
Date: Mon, 6 Mar 2023 09:10:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [PATCH 7/7] xen: simplify sysctl registration for balloon
Content-Language: en-US
To: Luis Chamberlain <mcgrof@kernel.org>, ebiederm@xmission.com,
 keescook@chromium.org, yzaikin@google.com, jejb@linux.ibm.com,
 martin.petersen@oracle.com, minyard@acm.org, kys@microsoft.com,
 haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
 song@kernel.org, robinmholt@gmail.com, steve.wahl@hpe.com,
 mike.travis@hpe.com, arnd@arndb.de, gregkh@linuxfoundation.org,
 jirislaby@kernel.org, sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 xen-devel@lists.xenproject.org
Cc: j.granados@samsung.com, zhangpeng362@huawei.com, tangmeng@uniontech.com,
 willy@infradead.org, nixiaoming@huawei.com, sujiaxun@uniontech.com,
 patches@lists.linux.dev, linux-fsdevel@vger.kernel.org,
 apparmor@lists.ubuntu.com, linux-raid@vger.kernel.org,
 linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org,
 openipmi-developer@lists.sourceforge.net, linux-kernel@vger.kernel.org
References: <20230302204612.782387-1-mcgrof@kernel.org>
 <20230302204612.782387-8-mcgrof@kernel.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20230302204612.782387-8-mcgrof@kernel.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------cK08nbi0V3641a7DHkBg1e2W"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------cK08nbi0V3641a7DHkBg1e2W
Content-Type: multipart/mixed; boundary="------------DF6mDcbQeAPh0wqxZibFzCd0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Luis Chamberlain <mcgrof@kernel.org>, ebiederm@xmission.com,
 keescook@chromium.org, yzaikin@google.com, jejb@linux.ibm.com,
 martin.petersen@oracle.com, minyard@acm.org, kys@microsoft.com,
 haiyangz@microsoft.com, wei.liu@kernel.org, decui@microsoft.com,
 song@kernel.org, robinmholt@gmail.com, steve.wahl@hpe.com,
 mike.travis@hpe.com, arnd@arndb.de, gregkh@linuxfoundation.org,
 jirislaby@kernel.org, sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
 xen-devel@lists.xenproject.org
Cc: j.granados@samsung.com, zhangpeng362@huawei.com, tangmeng@uniontech.com,
 willy@infradead.org, nixiaoming@huawei.com, sujiaxun@uniontech.com,
 patches@lists.linux.dev, linux-fsdevel@vger.kernel.org,
 apparmor@lists.ubuntu.com, linux-raid@vger.kernel.org,
 linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org,
 openipmi-developer@lists.sourceforge.net, linux-kernel@vger.kernel.org
Message-ID: <453a66f5-5443-01a5-7161-8c888eea1957@suse.com>
Subject: Re: [PATCH 7/7] xen: simplify sysctl registration for balloon
References: <20230302204612.782387-1-mcgrof@kernel.org>
 <20230302204612.782387-8-mcgrof@kernel.org>
In-Reply-To: <20230302204612.782387-8-mcgrof@kernel.org>

--------------DF6mDcbQeAPh0wqxZibFzCd0
Content-Type: multipart/mixed; boundary="------------MsaV4p6uFuvvpR0Tnh9bv8Z8"

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

T24gMDIuMDMuMjMgMjE6NDYsIEx1aXMgQ2hhbWJlcmxhaW4gd3JvdGU6DQo+IHJlZ2lzdGVy
X3N5c2N0bF90YWJsZSgpIGlzIGEgZGVwcmVjYXRlZCBjb21wYXRpYmlsaXR5IHdyYXBwZXIu
DQo+IHJlZ2lzdGVyX3N5c2N0bF9pbml0KCkgY2FuIGRvIHRoZSBkaXJlY3RvcnkgY3JlYXRp
b24gZm9yIHlvdSBzbyBqdXN0DQo+IHVzZSB0aGF0Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTog
THVpcyBDaGFtYmVybGFpbiA8bWNncm9mQGtlcm5lbC5vcmc+DQoNClJldmlld2VkLWJ5OiBK
dWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0KDQo=
--------------MsaV4p6uFuvvpR0Tnh9bv8Z8
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-----

--------------MsaV4p6uFuvvpR0Tnh9bv8Z8--

--------------DF6mDcbQeAPh0wqxZibFzCd0--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQFoAoFAwAAAAAACgkQsN6d1ii/Ey/O
cQf/UgUlm7Jf2BZLvJhuDsq9O+IW6Npn1h2rQdo60ZYboq1o5TQYMejnC1JeUpLLrC4U2R6d5miv
5qdjYRtM6HEuoeibfi+fZQsn1QOhlIo42hVx1l2pCW4EMasDGDYyYiHBz9knt8nEXXBKNVejiIWK
vHTAI9eelFBkaCs4VWAYByv/g5A2LZ3k4FIi1Ns6qYztfXY2wGEh2D2usSG9qqTh3uGXbf4+wrLZ
n+iGnhXZhK9sScOuypGb94iOCUNHFBo/F0gtDqyIIXvqR50NvxOcZWx5HVH8PJOoMcsfLRQ/K2us
rQKj/rLlj+U4DbCEmuCSdLIV9MJ+iqfEiRlC8ppxEg==
=b1HF
-----END PGP SIGNATURE-----

--------------cK08nbi0V3641a7DHkBg1e2W--


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:15:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:15:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506759.779904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ604-000426-A1; Mon, 06 Mar 2023 08:15:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506759.779904; Mon, 06 Mar 2023 08:15: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 1pZ604-00041z-71; Mon, 06 Mar 2023 08:15:16 +0000
Received: by outflank-mailman (input) for mailman id 506759;
 Mon, 06 Mar 2023 08:15: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 1pZ603-00041p-33; Mon, 06 Mar 2023 08:15: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 1pZ603-0007IY-0B; Mon, 06 Mar 2023 08:15: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 1pZ602-00084m-P9; Mon, 06 Mar 2023 08:15:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZ602-0007hE-Oe; Mon, 06 Mar 2023 08:15:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cp48uasmkKpeUO4tGGvD+g8nsmmem24P04V2EE83918=; b=viOGXx8mnYS2pKcHkjc6J6nQ4O
	VyM7EytYUFWJ7yRZLudkJM2FRNSpuwmNm/aC2ZBeCaYMkSNMthEDqOAJ/VapFM50hNtTttP567+4i
	kYw4FM95ad8oS76Et3ABbF6SAdWk9VtEFhci4SeceQ1lRDBEyr4esr0ho5es5nYzECCE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179364-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179364: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a1d595fc9c049874b972a371fe6090738a176f5b
X-Osstest-Versions-That:
    ovmf=fc14c809cb982f3c8cb3429604262cde0cb264a9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 06 Mar 2023 08:15:14 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a1d595fc9c049874b972a371fe6090738a176f5b
baseline version:
 ovmf                 fc14c809cb982f3c8cb3429604262cde0cb264a9

Last test of basis   179351  2023-03-06 03:12:47 Z    0 days
Testing same since   179364  2023-03-06 06:12:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Jiaxin Wu <jiaxin.wu@intel.com>
  Nickle Wang <nicklew@nvidia.com>
  Wu, Jiaxin <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
   fc14c809cb..a1d595fc9c  a1d595fc9c049874b972a371fe6090738a176f5b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:39:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:39:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506768.779915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ6NT-0006zj-5E; Mon, 06 Mar 2023 08:39:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506768.779915; Mon, 06 Mar 2023 08:39:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ6NT-0006zc-2S; Mon, 06 Mar 2023 08:39:27 +0000
Received: by outflank-mailman (input) for mailman id 506768;
 Mon, 06 Mar 2023 08:39:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xdHg=66=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pZ6NS-0006zW-8Q
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 08:39:26 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6561fc33-bbfa-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 09:39:24 +0100 (CET)
Received: from DM6PR06CA0024.namprd06.prod.outlook.com (2603:10b6:5:120::37)
 by CH2PR12MB4860.namprd12.prod.outlook.com (2603:10b6:610:6c::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Mon, 6 Mar
 2023 08:39:21 +0000
Received: from DM6NAM11FT033.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:120:cafe::cb) by DM6PR06CA0024.outlook.office365.com
 (2603:10b6:5:120::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28 via Frontend
 Transport; Mon, 6 Mar 2023 08:39:21 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT033.mail.protection.outlook.com (10.13.172.221) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.15 via Frontend Transport; Mon, 6 Mar 2023 08:39:20 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 6 Mar
 2023 02:39:19 -0600
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Mon, 6 Mar 2023 02:39: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: 6561fc33-bbfa-11ed-96b4-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BfT4RFomdq79w+BAu/TGE8r3HnvhG6Duy9BcIqpYEr3AsNkXK8XDbXKHjWokhWKO6X0ZWtv7k40bpAzsuCGjNPbx2IrH6xDJDLVoZ+Zdpc6WkpbDPdxsRcxf9eQ3LUnsodtuI7l2VFYMy1lIBzUF+O+5CbrLMV6rPdN0TN8oxl3jTQBvf1gXYmM8/2UhkARjpnED+QvSMgT4wdmF6CPpoulx5A1Zz3Cu4dx8LzZuaYU89IXPPG0BvvKsSh6/yNWjujUTomnepFR+K+oI0KRs++rKG0UylkBIcZouuNAH5jjcWcL1dDN+u4asW4p2MLQLLiZASCH3rdkgZ5RLbc+YvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CsQHG1nbJ+u+pOp0g3LeW7mMIkmRmXER6TX8lSb5M64=;
 b=fwmck9X2HQw48Ad3Na4ui1p7nmvaQwBBCyHmCMW4Oi89m0b8aQN8r6n+FupWQPfShbiUr8IkszzLJxC+nIWmPHlnmThaMruaaYc6F3yr7ExBq1RXwwbVl3QJ8+x/utf+v6LmglkY2XyvWrMmcfpUMb4ZIimSN6gdyYoFkQMpWzhVc04CZJhA9Yhq5Wi5qa2mxBOFf18mvnP4YniIVDiQYFRvGIYBgxhNUh+4XZRu6yxjyNo5ew2UYsW52mE2eQinBR0PIvES4g/jQRydcZSMfwGgx6RhVqX3PU7pB05hXLbi0EyawhO5CuJlgzVAgMpNOJghcJQujWEWJYXgbFLmfA==
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
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=CsQHG1nbJ+u+pOp0g3LeW7mMIkmRmXER6TX8lSb5M64=;
 b=4juPT3oCMo7I7cTL44+lZfJlWN5Bg83GUaWHLv8nYxvJp98xw3TjeHNDgQxxCxLnUlRn7Bwk1EZj2UU079yy2DH1i48MQnQMTOLyIagP4KBmEN+a4oerh2I5EWtSqKSFfdvVJeF28eM7Y4mBmN6eZI2a0+3yl0P9Pszv6jFtQA4=
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: <1e8ffb31-60a9-39fe-72cb-d31431f9e61f@amd.com>
Date: Mon, 6 Mar 2023 09:39:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 1/2] automation: add Ubuntu container for Xilinx
 hardware tests
To: Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
CC: <cardoe@cardoe.com>, Stefano Stabellini <stefano.stabellini@amd.com>
References: <alpine.DEB.2.22.394.2303031554080.863724@ubuntu-linux-20-04-desktop>
 <20230303235719.1181690-1-sstabellini@kernel.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230303235719.1181690-1-sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT033:EE_|CH2PR12MB4860:EE_
X-MS-Office365-Filtering-Correlation-Id: 87089730-6f99-4048-d034-08db1e1e4816
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	o9dEp5kAyues/S2BPdYrer7neqqe5IMh4EAUpUxFqpkK3OtuzlYwB/KdN3pdIUbRbjYPTuf0o8iGmaJBaYtKgyomDorRgXfnPF5du2VuTY6LyTtiD6ewp2oil3t4bkzly2dZlo/glHRdVTsFrFKts6Po9DiUqmeqraCT1s57VITdVKKVnPlHOJQXwhRHdFGNt2Z9fXHhwR3kd1Hs5I1wj2ARESIgYRt5pAC9/qo0m0nsBIt7wpKvsibCdPj6JF9j0l78ALnI8kK0zuUk01GrSJdeQ9K8GOkDVIaTSmAp0LrUJanvXb8Say6MsZIwvD0rP/Qq7Ey+z6S1s2q579Ec8dnRKXTV6POgWKswWi7CJnhHdhsrWppzWdGr4kaMWLdNvLexw5vcVcssPIYPn8f3T15RYhdZRaR2obO3WsNtY6irjFcDbDf1/a161qU2oWxhZ+k92c50//2pKH5HdvQ5lePQdNt4SbZoQ4WPVgTRywU8Knz9ZBGH007mPGDhrmcaBiCK5PgZl9UAB6DfKsYilgBDKUOfQu9og9xoyxIEwm2CLGWpNfEAh1ZbOjvZaom1ilEPFAvV7mzZAeSCRgQNJQ2EHMMkh3E1Al6C/kX/RUHbhHCdmFRGgd1XRJ79uyaS+OPBzGlAfRGdlVgAYLW4QWP8osRJU1frCj0XHGIPZnT7VaGIo0ncrE+zoTMvQzrOAo6IypDGXVqilxKOGwq0awK3YYLcssMmr5nVpAVkc/ROK2rYkXq8cxB4PIfv8J9xUYTQYyxbe5uO3g4hJmjY8A==
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:(13230025)(4636009)(39860400002)(346002)(136003)(376002)(396003)(451199018)(46966006)(40470700004)(36840700001)(426003)(36860700001)(31686004)(47076005)(36756003)(40460700003)(82740400003)(8936002)(40480700001)(5660300002)(2906002)(478600001)(81166007)(86362001)(356005)(31696002)(82310400005)(2616005)(336012)(186003)(26005)(53546011)(70206006)(70586007)(8676002)(44832011)(16576012)(316002)(4326008)(54906003)(110136005)(41300700001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 08:39:20.9582
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 87089730-6f99-4048-d034-08db1e1e4816
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:
	DM6NAM11FT033.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4860

Hi Stefano,

On 04/03/2023 00:57, Stefano Stabellini wrote:
> 
> 
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> This container is only run on the controller PC (x86) to trigger the
> test on a connected Xilinx ZCU102 physical board.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
>  .../build/ubuntu/xenial-xilinx.dockerfile     | 25 +++++++++++++++++++
>  1 file changed, 25 insertions(+)
>  create mode 100644 automation/build/ubuntu/xenial-xilinx.dockerfile
> 
> diff --git a/automation/build/ubuntu/xenial-xilinx.dockerfile b/automation/build/ubuntu/xenial-xilinx.dockerfile
> new file mode 100644
> index 0000000000..7e4f5d6605
> --- /dev/null
> +++ b/automation/build/ubuntu/xenial-xilinx.dockerfile
> @@ -0,0 +1,25 @@
> +FROM ubuntu:16.04
> +LABEL maintainer.name="The Xen Project " \
> +      maintainer.email="xen-devel@lists.xenproject.org"
> +
> +ENV DEBIAN_FRONTEND=noninteractive
> +ENV USER root
> +
> +RUN mkdir /build
> +WORKDIR /build
> +
> +# build depends
This comment is a bit misleading given the usage of this container.
Something like "board bringup depends" would be better and it would make clear
why we have this container.

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

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:41:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:41:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506775.779924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ6PY-0008Qy-MJ; Mon, 06 Mar 2023 08:41:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506775.779924; Mon, 06 Mar 2023 08: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 1pZ6PY-0008Qr-Jj; Mon, 06 Mar 2023 08:41:36 +0000
Received: by outflank-mailman (input) for mailman id 506775;
 Mon, 06 Mar 2023 08:41: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=q3Qw=66=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1pZ6PN-0008QZ-ET
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 08:41:35 +0000
Received: from mail.skyhub.de (mail.skyhub.de [5.9.137.197])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad005f2d-bbfa-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 09:41:24 +0100 (CET)
Received: from zn.tnic (p5de8e9fe.dip0.t-ipconnect.de [93.232.233.254])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 364BD1EC0554;
 Mon,  6 Mar 2023 09: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: ad005f2d-bbfa-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim;
	t=1678092083;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:in-reply-to:in-reply-to:  references:references;
	bh=Ch2JqcQidKQQw3jxmmjcy3XtJaLHvZg4719TcnfXY28=;
	b=Qx2LNM8GAehIIoRwD6DIBt12Y5dpKRZm+CSgKO+pDq6m4Xe438WsLBNmOQg6NKRA3ywcQ5
	LJE1fX9vDOQbHArJ99nI+xx1I2w/W+UEGxcn4QY6UKQEBvGEq5lZ1JEnIu+MfHiejEZE/z
	aGW6efJMwgYssl+dV21lAbF+6UBau7E=
Date: Mon, 6 Mar 2023 09:41:17 +0100
From: Borislav Petkov <bp@alien8.de>
To: Juergen Gross <jgross@suse.com>
Cc: "Srivatsa S. Bhat" <srivatsa@csail.mit.edu>,
	linux-kernel@vger.kernel.org, x86@kernel.org,
	virtualization@lists.linux-foundation.org,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Alexey Makhalov <amakhalov@vmware.com>,
	VMware PV-Drivers Reviewers <pv-drivers@vmware.com>,
	Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2] x86/paravirt: merge activate_mm and dup_mmap callbacks
Message-ID: <20230306084117.GAZAWnLeGI09VLsXkC@fat_crate.local>
References: <20230207075902.7539-1-jgross@suse.com>
 <dc5fbb2e-6a23-15e5-a451-e069e90a0656@csail.mit.edu>
 <2b4b0590-8327-3567-f4cd-e610d52fbf1c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <2b4b0590-8327-3567-f4cd-e610d52fbf1c@suse.com>

On Thu, Feb 23, 2023 at 04:05:51PM +0100, Juergen Gross wrote:
> x86 maintainers, I think this patch should be carried via the tip tree.

You missed a spot. I'll whack it.

diff --git a/arch/x86/include/asm/mmu_context.h b/arch/x86/include/asm/mmu_context.h
index a8b323266179..c3ad8a526378 100644
--- a/arch/x86/include/asm/mmu_context.h
+++ b/arch/x86/include/asm/mmu_context.h
@@ -16,13 +16,6 @@
 
 extern atomic64_t last_mm_ctx_id;
 
-#ifndef CONFIG_PARAVIRT_XXL
-static inline void paravirt_activate_mm(struct mm_struct *prev,
-					struct mm_struct *next)
-{
-}
-#endif	/* !CONFIG_PARAVIRT_XXL */
-
 #ifdef CONFIG_PERF_EVENTS
 DECLARE_STATIC_KEY_FALSE(rdpmc_never_available_key);
 DECLARE_STATIC_KEY_FALSE(rdpmc_always_available_key);

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:47:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:47:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506780.779935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ6V1-0000e3-Ax; Mon, 06 Mar 2023 08:47:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506780.779935; Mon, 06 Mar 2023 08:47: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 1pZ6V1-0000dw-77; Mon, 06 Mar 2023 08:47:15 +0000
Received: by outflank-mailman (input) for mailman id 506780;
 Mon, 06 Mar 2023 08: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=A4jh=66=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pZ6Uz-0000dk-8P
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 08:47:13 +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 7a8ddc30-bbfb-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 09:47:11 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-141-iFMUPCcmN3aMIcATWsDMhw-1; Mon, 06 Mar 2023 03:47:03 -0500
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D705D85C6F4;
 Mon,  6 Mar 2023 08:47:02 +0000 (UTC)
Received: from thuth.com (unknown [10.39.193.101])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 664C3175AD;
 Mon,  6 Mar 2023 08:47: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: 7a8ddc30-bbfb-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678092428;
	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=tCsKG0wad2kO1KKnqRl1WoTNl9pW94eSqEiurkcIzhg=;
	b=WsiT/FQuS/inI7Y+rWJgid3sdapcChrttwN9U3XS6qF+qBcFVpe5Q5+lqAgqPPHD+fLHPI
	lWluwP+2VlR4NaIBihv0bHhVTwK1yIY7HN9ahppr3UHRZ9+OKxCUZBiAEVkM3wPkeQ3VPy
	+14RHBgiAF3QYoR2aLB6KqVaED2VA+0=
X-MC-Unique: iFMUPCcmN3aMIcATWsDMhw-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Subject: [PATCH v4 0/5] Deprecate system emulation support for 32-bit x86 and arm hosts
Date: Mon,  6 Mar 2023 09:46:53 +0100
Message-Id: <20230306084658.29709-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5

We're struggling quite badly with our CI minutes on the shared
gitlab runners, so we urgently need to think of ways to cut down
our supported build and target environments. Hardly anybody uses
QEMU system emulation on 32-bit x86 and arm hosts anymore, so it's
time to deprecate these environments now.

This is a follow-up patch series from the previous discussion here:

 https://lore.kernel.org/qemu-devel/20230130114428.1297295-1-thuth@redhat.com/

where people still mentioned that there is still interest in certain
support for 32-bit host hardware. But as far as I could see, there is
no real need for system emulation on 32-bit x86 host and 32-bit arm
hosts anymore, so it should be fine if we drop these host environments
soon (these are also the two architectures that contribute the most to
the long test times in our CI, so we would benefit a lot by dropping
those).

v4:
- Drop the patch that deprecated qemu-system-arm since it still
  might be required to enforce 32-bit guests with TCG
- Only deprecate system emulation on 32-bit x86 hosts since user-mode
  emulation might still be useful in certain scenarios
- Add a sentence how to enforce 32-bit mode with qemu-system-x86_64

v3:
- Update some commit descriptions according to the suggestions in v2
- Added the Reviewed-bys from v2

v2:
- Split binary and host deprecation into separate patches
- Added patches to immediately drop the jobs from the CI

Thomas Huth (5):
  docs/about/deprecated: Deprecate 32-bit x86 hosts for system emulation
  docs/about/deprecated: Deprecate the qemu-system-i386 binary
  gitlab-ci.d/crossbuilds: Drop the i386 system emulation job
  docs/about/deprecated: Deprecate 32-bit arm hosts for system emulation
  gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs

 docs/about/deprecated.rst    | 34 ++++++++++++++++++++++++++++++++++
 .gitlab-ci.d/crossbuilds.yml | 24 ------------------------
 2 files changed, 34 insertions(+), 24 deletions(-)

-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:47:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:47:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506783.779960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ6V3-0001CB-6I; Mon, 06 Mar 2023 08:47:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506783.779960; Mon, 06 Mar 2023 08:47: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 1pZ6V3-0001Bd-06; Mon, 06 Mar 2023 08:47:17 +0000
Received: by outflank-mailman (input) for mailman id 506783;
 Mon, 06 Mar 2023 08:47: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=A4jh=66=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pZ6V2-0000dk-8I
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 08:47:16 +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 7e407da0-bbfb-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 09:47:15 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-221-1imUG1pVNKuXUSYHpP6cUQ-1; Mon, 06 Mar 2023 03:47:11 -0500
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 9BDFA101A52E;
 Mon,  6 Mar 2023 08:47:10 +0000 (UTC)
Received: from thuth.com (unknown [10.39.193.101])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 46752175AD;
 Mon,  6 Mar 2023 08:47: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: 7e407da0-bbfb-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678092434;
	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=oOdHjT9I3a98EaTtzARQkAnvMgS9UeiFJMCcEWuHsDg=;
	b=DjAt4GJOOkGvRm5K2/rky9P1UeeDEp6qpryOkVblpWoOtXgwMuYKQ+21PLrkd2NLmkqTsL
	bleh6d+LTi/u/I6AUnmVMQe9N/A4AsVXlT1sgW/MNrOLlA3PPpb2xqKUAIaM8xu0QYjbiY
	a2kmrqa+nTE2lDSkR9O+X4bpmI7u8yA=
X-MC-Unique: 1imUG1pVNKuXUSYHpP6cUQ-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Subject: [PATCH v4 3/5] gitlab-ci.d/crossbuilds: Drop the i386 system emulation job
Date: Mon,  6 Mar 2023 09:46:56 +0100
Message-Id: <20230306084658.29709-4-thuth@redhat.com>
In-Reply-To: <20230306084658.29709-1-thuth@redhat.com>
References: <20230306084658.29709-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5

Hardly anybody still uses 32-bit x86 environments for running QEMU with
full system emulation, so let's stop wasting our scarce CI minutes with
this job.

(There are still the 32-bit MinGW and TCI jobs around for having
some compile test coverage on 32-bit)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/crossbuilds.yml | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index d3a31a2112..a25cb87ae4 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -43,16 +43,6 @@ cross-arm64-user:
   variables:
     IMAGE: debian-arm64-cross
 
-cross-i386-system:
-  extends:
-    - .cross_system_build_job
-    - .cross_test_artifacts
-  needs:
-    job: i386-fedora-cross-container
-  variables:
-    IMAGE: fedora-i386-cross
-    MAKE_CHECK_ARGS: check-qtest
-
 cross-i386-user:
   extends:
     - .cross_user_build_job
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:47:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:47:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506782.779955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ6V2-00018P-Qf; Mon, 06 Mar 2023 08:47:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506782.779955; Mon, 06 Mar 2023 08: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 1pZ6V2-00018I-ML; Mon, 06 Mar 2023 08:47:16 +0000
Received: by outflank-mailman (input) for mailman id 506782;
 Mon, 06 Mar 2023 08:47: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=A4jh=66=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pZ6V2-0000ol-2g
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 08:47:16 +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 7cb2f890-bbfb-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 09:47:13 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-212-NkXWXKrvNS6cNOE-ISoWlA-1; Mon, 06 Mar 2023 03:47:08 -0500
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 027C487A391;
 Mon,  6 Mar 2023 08:47:08 +0000 (UTC)
Received: from thuth.com (unknown [10.39.193.101])
 by smtp.corp.redhat.com (Postfix) with ESMTP id AC35A175AD;
 Mon,  6 Mar 2023 08:47: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: 7cb2f890-bbfb-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678092431;
	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=37MyqIGrJ8NDqQYDY+IFgkqLJhkh+Oz/+/sGdhCxVu4=;
	b=d93zdGY+sC/dp6PQ7r4RRuswWzSmxDJYAbbV1op3/OuLn4cXrFdWqrCdf8h7zeWpA2xdPb
	Z5vDvXkamjiToVj1vzHZ4npFlx+spxnJO/JNuqiX4JuQHQF0SL6pJZ6UDkzB9Gd6MFcNNz
	lOEfw9nLUHg67R+kM+/+LzEni1fshAA=
X-MC-Unique: NkXWXKrvNS6cNOE-ISoWlA-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Subject: [PATCH v4 2/5] docs/about/deprecated: Deprecate the qemu-system-i386 binary
Date: Mon,  6 Mar 2023 09:46:55 +0100
Message-Id: <20230306084658.29709-3-thuth@redhat.com>
In-Reply-To: <20230306084658.29709-1-thuth@redhat.com>
References: <20230306084658.29709-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5

Aside from not supporting KVM on 32-bit hosts, the qemu-system-x86_64
binary is a proper superset of the qemu-system-i386 binary. With the
32-bit host support being deprecated, it is now also possible to
deprecate the qemu-system-i386 binary.

With regards to 32-bit KVM support in the x86 Linux kernel,
the developers confirmed that they do not need a recent
qemu-system-i386 binary here:

 https://lore.kernel.org/kvm/Y%2ffkTs5ajFy0hP1U@google.com/

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 1ca9dc33d6..c4fcc6b33c 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -34,6 +34,20 @@ deprecating the build option and no longer defend it in CI. The
 ``--enable-gcov`` build option remains for analysis test case
 coverage.
 
+``qemu-system-i386`` binary (since 8.0)
+'''''''''''''''''''''''''''''''''''''''
+
+The ``qemu-system-i386`` binary was mainly useful for running with KVM
+on 32-bit x86 hosts, but most Linux distributions already removed their
+support for 32-bit x86 kernels, so hardly anybody still needs this. The
+``qemu-system-x86_64`` binary is a proper superset and can be used to
+run 32-bit guests by selecting a 32-bit CPU model, including KVM support
+on x86_64 hosts. Thus users are recommended to reconfigure their systems
+to use the ``qemu-system-x86_64`` binary instead. If a 32-bit CPU guest
+environment should be enforced, you can switch off the "long mode" CPU
+flag, e.g. with ``-cpu max,lm=off``.
+
+
 System emulator command line arguments
 --------------------------------------
 
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:47:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:47:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506781.779940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ6V1-0000hA-KX; Mon, 06 Mar 2023 08:47:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506781.779940; Mon, 06 Mar 2023 08:47: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 1pZ6V1-0000fg-ES; Mon, 06 Mar 2023 08:47:15 +0000
Received: by outflank-mailman (input) for mailman id 506781;
 Mon, 06 Mar 2023 08: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=A4jh=66=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pZ6Uz-0000dk-Sm
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 08:47: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 7bb705e8-bbfb-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 09:47:11 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-480-BweyhluRMwuANh_BPVGZnA-1; Mon, 06 Mar 2023 03:47:06 -0500
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6AB3C1C05EB7;
 Mon,  6 Mar 2023 08:47:05 +0000 (UTC)
Received: from thuth.com (unknown [10.39.193.101])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 21233440DE;
 Mon,  6 Mar 2023 08:47: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: 7bb705e8-bbfb-11ed-96b4-2f268f93b82a
X-MC-Unique: BweyhluRMwuANh_BPVGZnA-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Subject: [PATCH v4 1/5] docs/about/deprecated: Deprecate 32-bit x86 hosts for system emulation
Date: Mon,  6 Mar 2023 09:46:54 +0100
Message-Id: <20230306084658.29709-2-thuth@redhat.com>
In-Reply-To: <20230306084658.29709-1-thuth@redhat.com>
References: <20230306084658.29709-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5

Hardly anybody still uses 32-bit x86 hosts today, so we should start
deprecating them to stop wasting our time and CI minutes here.
For example, there are also still some unresolved problems with these:
When emulating 64-bit binaries in user mode, TCG does not honor atomicity
for 64-bit accesses, which is "perhaps worse than not working at all"
(quoting Richard). Let's simply make it clear that people should use
64-bit x86 hosts nowadays and we do not intend to fix/maintain the old
32-bit stuff.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index 15084f7bea..1ca9dc33d6 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -196,6 +196,17 @@ CI coverage support may bitrot away before the deprecation process
 completes. The little endian variants of MIPS (both 32 and 64 bit) are
 still a supported host architecture.
 
+System emulation on 32-bit x86 hosts (since 8.0)
+''''''''''''''''''''''''''''''''''''''''''''''''
+
+Support for 32-bit x86 host deployments is increasingly uncommon in mainstream
+OS distributions given the widespread availability of 64-bit x86 hardware.
+The QEMU project no longer considers 32-bit x86 support for system emulation to
+be an effective use of its limited resources, and thus intends to discontinue
+it. Since all recent x86 hardware from the past >10 years is capable of the
+64-bit x86 extensions, a corresponding 64-bit OS should be used instead.
+
+
 QEMU API (QAPI) events
 ----------------------
 
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:47:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:47:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506784.779975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ6V7-0001jl-FG; Mon, 06 Mar 2023 08:47:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506784.779975; Mon, 06 Mar 2023 08:47: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 1pZ6V7-0001jX-BB; Mon, 06 Mar 2023 08:47:21 +0000
Received: by outflank-mailman (input) for mailman id 506784;
 Mon, 06 Mar 2023 08:47: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=A4jh=66=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pZ6V5-0000dk-TJ
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 08:47: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 80609d35-bbfb-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 09:47: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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-67-cbgnrg-hNoiPEn6lO3Smbg-1; Mon, 06 Mar 2023 03:47:14 -0500
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 54444185A7A4;
 Mon,  6 Mar 2023 08:47:13 +0000 (UTC)
Received: from thuth.com (unknown [10.39.193.101])
 by smtp.corp.redhat.com (Postfix) with ESMTP id DF4AC440DE;
 Mon,  6 Mar 2023 08:47: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: 80609d35-bbfb-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678092437;
	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=Tu4fLVUa5CKH9yGWFtuNR/Tn/c+l+6gsZNxsu/a/pnc=;
	b=ByIlNLDwb6LDeAYU+vUZHPccOcfthy0mS9BpjFlsIrHH8CXMd58EPcbp7MM/QO7o8/Mild
	TLoa86NJ13xrie3btLLnWHZYhSmyrncL/SegN+/whM49QdsCzIXJg8009GTL9rJrfSA3V+
	QbwoWyCpvIgS9HdeYh80k7Qft3gN3Zs=
X-MC-Unique: cbgnrg-hNoiPEn6lO3Smbg-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Subject: [PATCH v4 4/5] docs/about/deprecated: Deprecate 32-bit arm hosts for system emulation
Date: Mon,  6 Mar 2023 09:46:57 +0100
Message-Id: <20230306084658.29709-5-thuth@redhat.com>
In-Reply-To: <20230306084658.29709-1-thuth@redhat.com>
References: <20230306084658.29709-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5

For running QEMU in system emulation mode, the user needs a rather
strong host system, i.e. not only an embedded low-frequency controller.
All recent beefy arm host machines should support 64-bit now, it's
unlikely that anybody is still seriously using QEMU on a 32-bit arm
CPU, so we deprecate the 32-bit arm hosts here to finally save use
some time and precious CI minutes.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 docs/about/deprecated.rst | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
index c4fcc6b33c..f0de517dc2 100644
--- a/docs/about/deprecated.rst
+++ b/docs/about/deprecated.rst
@@ -220,6 +220,15 @@ be an effective use of its limited resources, and thus intends to discontinue
 it. Since all recent x86 hardware from the past >10 years is capable of the
 64-bit x86 extensions, a corresponding 64-bit OS should be used instead.
 
+System emulation on 32-bit arm hosts (since 8.0)
+''''''''''''''''''''''''''''''''''''''''''''''''
+
+Since QEMU needs a strong host machine for running full system emulation, and
+all recent powerful arm hosts support 64-bit, the QEMU project deprecates the
+support for running any system emulation on 32-bit arm hosts in general. Use
+64-bit arm hosts for system emulation instead. (Note: "user" mode emulation
+continuous to be supported on 32-bit arm hosts, too)
+
 
 QEMU API (QAPI) events
 ----------------------
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 08:47:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 08:47:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506785.779985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ6V9-00022I-PJ; Mon, 06 Mar 2023 08:47:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506785.779985; Mon, 06 Mar 2023 08:47: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 1pZ6V9-000221-Ll; Mon, 06 Mar 2023 08:47:23 +0000
Received: by outflank-mailman (input) for mailman id 506785;
 Mon, 06 Mar 2023 08:47: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=A4jh=66=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pZ6V8-0000dk-To
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 08:47: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 822d7c10-bbfb-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 09:47:22 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-534-DmKCntfRM1qxeZT9MJ-5Eg-1; Mon, 06 Mar 2023 03:47:16 -0500
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 188F43813F2F;
 Mon,  6 Mar 2023 08:47:16 +0000 (UTC)
Received: from thuth.com (unknown [10.39.193.101])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 92FC3175AD;
 Mon,  6 Mar 2023 08: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: 822d7c10-bbfb-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678092441;
	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=4T9cplH6CcELavmnQDL+WvQDU+eNL+kdMeEtlFvM8H4=;
	b=jThZ/X3t7qjLsFky59u0JMwMERLIW3z6thHSHWI+Bx7WIgzDXSISBzw6sF2MSWvtOfDIFH
	TmvZ3Ze4jOrO2Kk4uplPDo8X2F3Y0zMkdK7tG/5ZcxsyBkV9FcURe0+96XSkvSCgbo1LnT
	WnCjdzqr3yPN1wchTab5pKCpSpunyUY=
X-MC-Unique: DmKCntfRM1qxeZT9MJ-5Eg-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Peter Maydell <peter.maydell@linaro.org>,
	Daniel Berrange <berrange@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org,
	Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Subject: [PATCH v4 5/5] gitlab-ci.d/crossbuilds: Drop the 32-bit arm system emulation jobs
Date: Mon,  6 Mar 2023 09:46:58 +0100
Message-Id: <20230306084658.29709-6-thuth@redhat.com>
In-Reply-To: <20230306084658.29709-1-thuth@redhat.com>
References: <20230306084658.29709-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5

Hardly anybody still uses 32-bit arm environments for running QEMU,
so let's stop wasting our scarce CI minutes with these jobs.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 .gitlab-ci.d/crossbuilds.yml | 14 --------------
 1 file changed, 14 deletions(-)

diff --git a/.gitlab-ci.d/crossbuilds.yml b/.gitlab-ci.d/crossbuilds.yml
index a25cb87ae4..61b8ac86ee 100644
--- a/.gitlab-ci.d/crossbuilds.yml
+++ b/.gitlab-ci.d/crossbuilds.yml
@@ -1,13 +1,6 @@
 include:
   - local: '/.gitlab-ci.d/crossbuild-template.yml'
 
-cross-armel-system:
-  extends: .cross_system_build_job
-  needs:
-    job: armel-debian-cross-container
-  variables:
-    IMAGE: debian-armel-cross
-
 cross-armel-user:
   extends: .cross_user_build_job
   needs:
@@ -15,13 +8,6 @@ cross-armel-user:
   variables:
     IMAGE: debian-armel-cross
 
-cross-armhf-system:
-  extends: .cross_system_build_job
-  needs:
-    job: armhf-debian-cross-container
-  variables:
-    IMAGE: debian-armhf-cross
-
 cross-armhf-user:
   extends: .cross_user_build_job
   needs:
-- 
2.31.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 09:19:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 09:19:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506816.779995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ70E-0007WO-K4; Mon, 06 Mar 2023 09:19:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506816.779995; Mon, 06 Mar 2023 09:19:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ70E-0007WH-Fo; Mon, 06 Mar 2023 09:19:30 +0000
Received: by outflank-mailman (input) for mailman id 506816;
 Mon, 06 Mar 2023 09:19:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=XRxq=66=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pZ70D-0007WB-Fb
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 09:19: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 fdf9b689-bbff-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 10:19:27 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id h14so8036716wru.4
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 01:19:26 -0800 (PST)
Received: from [192.168.30.216] ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id
 f9-20020adfdb49000000b002c59c6abc10sm9449418wrj.115.2023.03.06.01.19.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Mar 2023 01:19: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: fdf9b689-bbff-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678094366;
        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=58NVK48NfnWrtVLNjDhVbfVDpCm42d+xmhl5m+sFIt4=;
        b=DoGQQJZdoqFHDOtbxQ73NJqmi02v273gLkXN0yjk+YT/7zY8EqBGtqRcik5T9ez3Nc
         nmJtaAIbHFQJTvGfQOvEa4PBZcuRsqvDJEWjmo2Y2XEDY16FoZoRKjBVKMuwsn9W2ywc
         YBsAIbZM+gzVtaF08BtiIgi6Wri99eR0o0L3Gfc80PI6IOY0c0tXBZL4iJnxqqEz+ljs
         fHix0JKHzhM9mKZLmzeQqzCO/ilr8EOL3K0jV27w82Hi5T8ODkqWcls6gAkKAlVW2ZrW
         k9pIh2xOiSlXwjQf6pZkO4zbxCy4efHY34YrfeAPfSnZa1/5gBxIM2LWwk+zlD6lxx1k
         VwCg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678094366;
        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=58NVK48NfnWrtVLNjDhVbfVDpCm42d+xmhl5m+sFIt4=;
        b=DxWDUW3bdqeKe1Zg5FpFFDWCIIn5T6CCI+cH65c3oOeuurh1SNb9XPWU6460aAP7kK
         FVqcfjYjD4W/kSo8Rjb1x9mzS/3oc4v3VlYBcez0wKcVT9JVIo7P9uz+EaufTvB3EcEV
         WUIseR4rkIlDElp5PiCsxtneWDBBfTdp17e564ZXsANN8ADUvc/KlCDGrsI37xGTd67t
         ODSpnbWifRlTbHeOP/72xXnvE/Zpdrj6gsrSrMsfj/MsThRVgDrRhMl8hebsm3Mpf6JA
         Y1NwPupAmRGXHA/wsBwcUdeYFc96lbIiAxSl1GAhAgRfS35xNpkDE5Jn82fc9LEZrxc8
         s9tA==
X-Gm-Message-State: AO0yUKXjA8joygQKJbKGcXQ2u1W7FHjdmisJUo2LqHLcHp7ZyXv3Cfhh
	DSbH7iLl+kOMOSDBybiK0WWD5Q==
X-Google-Smtp-Source: AK7set+jsAty6DpV+HYFXiTVVgLiQ5rrjzNYIewz64rQR7F0LEGTSV6+QptEOtlt0IcQBtu54VHDqA==
X-Received: by 2002:a5d:664e:0:b0:2cd:defe:cfd3 with SMTP id f14-20020a5d664e000000b002cddefecfd3mr6817401wrw.30.1678094366348;
        Mon, 06 Mar 2023 01:19:26 -0800 (PST)
Message-ID: <e2af415a-79dc-f4ef-6c10-5f6454c11b58@linaro.org>
Date: Mon, 6 Mar 2023 10:19:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v4 3/5] gitlab-ci.d/crossbuilds: Drop the i386 system
 emulation job
Content-Language: en-US
To: Thomas Huth <thuth@redhat.com>, qemu-devel@nongnu.org,
 Peter Maydell <peter.maydell@linaro.org>,
 Daniel Berrange <berrange@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>,
 Wilfred Mallawa <wilfred.mallawa@wdc.com>,
 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
References: <20230306084658.29709-1-thuth@redhat.com>
 <20230306084658.29709-4-thuth@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230306084658.29709-4-thuth@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 6/3/23 09:46, Thomas Huth wrote:
> Hardly anybody still uses 32-bit x86 environments for running QEMU with
> full system emulation, so let's stop wasting our scarce CI minutes with
> this job.
> 
> (There are still the 32-bit MinGW and TCI jobs around for having
> some compile test coverage on 32-bit)
> 
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   .gitlab-ci.d/crossbuilds.yml | 10 ----------
>   1 file changed, 10 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 09:21:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 09:21:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506821.780005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ724-0000SM-Vh; Mon, 06 Mar 2023 09:21:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506821.780005; Mon, 06 Mar 2023 09: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 1pZ724-0000SF-RQ; Mon, 06 Mar 2023 09:21:24 +0000
Received: by outflank-mailman (input) for mailman id 506821;
 Mon, 06 Mar 2023 09:21: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=xdHg=66=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pZ723-0000S8-Ie
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 09:21:23 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 40dd0198-bc00-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 10:21:20 +0100 (CET)
Received: from MW4PR03CA0215.namprd03.prod.outlook.com (2603:10b6:303:b9::10)
 by CY8PR12MB7290.namprd12.prod.outlook.com (2603:10b6:930:55::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.21; Mon, 6 Mar
 2023 09:21:17 +0000
Received: from CO1NAM11FT101.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b9:cafe::db) by MW4PR03CA0215.outlook.office365.com
 (2603:10b6:303:b9::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28 via Frontend
 Transport; Mon, 6 Mar 2023 09:21:17 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT101.mail.protection.outlook.com (10.13.175.164) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.15 via Frontend Transport; Mon, 6 Mar 2023 09:21:16 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 6 Mar
 2023 03:21:15 -0600
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Mon, 6 Mar 2023 03:21: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: 40dd0198-bc00-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JfU6scOlEUh11UFkWYR/z3smjYPsSvds8dTfQBwu6CgHhycLJt+kT4hlmi4OytxHOa1D0tVLNj5mWkCFJRpz2nfhgDOFVZRGstjCnvxohEWZCbr6GnrRX0E0Dx+y4cvFC345PaDs63MPj7ZkBOQISn/9+J9hkSbFEyJRpVzmkW0wUxsgonFUkE1Y7EJpmisUD+DMN8yBEiZbNQ/YgkqScTo6K40yZ0xamY75n/7jGsWWFM/R4rcfhGjqCE2Ty+cuHw2es+Ar1qsshzy05Eraz/yiLHQhH0At6Cf0hyWZ+DPx84v4Jq7cqSmnG6yK8L0IGkZhU/KhKTu5/ZjeLBCzyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XdA6tYqrbQehbY/cvhRFBCueCEkEptMAaW2S8APz5HQ=;
 b=RUgxCOUSBdvElYa1IRA/ZPJAbKV9HVZMBTs/HjBluEgad4jJtHImIjvNdMFUC5fFs3t3tr+o3SmNq9kq3sUttqd1V5EwfuPu/5EeuPePCuEpS0ju3wRQRN7MwWUev5FLWefw8cluCUSX3+rPBCzr2d1VCfTXQ53RrkXRfFyV8x5pOlSkfzhUIDQ6cd7Q1FchrDRdOz8Cz34FXE+xFQYa5i+WXU9fe3+5Jujn4Qf5YPpDyrkdFISoCY+y1l3qUk2cGCIy9DZmA1m4rN4Z2A5xK8e5c7ble5rhDaZaEqvH1L9Osb/Q4DJOMMo4cFK60gI7/G2tVXK1fYLr2mkQjPEI3Q==
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
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=XdA6tYqrbQehbY/cvhRFBCueCEkEptMAaW2S8APz5HQ=;
 b=cu5PdZvCuTyj+Iwu0pmA6gZ9IpkDUpg/aHJ6md5FhRJPfpA87RenVqk7zI3ERl8DWwOHJVGAuFMCHddEr+NY0GJJBQxswlf9A40uroiPfacKggRZzdzFKk6MI4WBiy3Dxi679nMHxFqXrPBrfEwIDDxRxj3m6LbuQDqJt+xUSRo=
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: <d0d816bf-a71e-5528-b4f4-626d82cdabac@amd.com>
Date: Mon, 6 Mar 2023 10:21:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/2] automation: introduce a dom0less test run on
 Xilinx hardware
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
CC: <cardoe@cardoe.com>, Stefano Stabellini <stefano.stabellini@amd.com>
References: <alpine.DEB.2.22.394.2303031554080.863724@ubuntu-linux-20-04-desktop>
 <20230303235719.1181690-2-sstabellini@kernel.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230303235719.1181690-2-sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT101:EE_|CY8PR12MB7290:EE_
X-MS-Office365-Filtering-Correlation-Id: fd3e9576-f3e9-4eba-8e60-08db1e2423cd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bAMCRaTJ7gLHGA3a8dswGgApOFJtg23poOtHYwwL/evaajPVGD/xK4B/INIS5F7T39o6kLXgC5ME/Y31Y1xDeGwQnzOXzPkkZWB2mgKYcbb22/4iNLLnVqPV7/Wmv5a8B+wneJiTHovo/HEMMDgTpTDWGPt+axgwFk+eJApA8HMWrp8cg49xd5TQ3BbJbElK2Qjroczi5EWzDKeIkJJahw3pG36nO1cvwPWnazyu+1VQdbuz4JV6nXW2Qqqq/eCey+Q95dN/xTfg2K+liAG16tsnMQ1Xeb8urMbxPxCZMF2syU0bThVPDRU/+bZOrKANlOgePqYU/trJOZNe0UCCot90WGy/uXlP33HVFlAxiRl/jRlrUH1V0eERs6cZb3b5JMVp0JqL7wo70OVpedCXUKqEJZDR2OoxzsbwoMikE+7WURrBfOJQH89y6aslhkeVqOgKcijZwiTwdwTAFf+EIt0hEEB0kMi5jVhPabRdCIzsU3OoAr/2zIm5nCQmF+Kgz060oLv7YmeB5o/E+bj2PlvlyVQ62ttyxrBSOwL/sBBBy5gT97OstNnn8jYJ6Fovj0jYpI5gJDiO1MPUgxQVvKrIY61yq5DP4S6HhMX6vEDbw3088d5qFl0nE/baTFS0QBWtpRfmIHbRBRQPaZYS1eAAG80hP0N36HJ79d7zI3oMcc9BWEHsofAkv77e1WAgmXnYProbjsz5tWYvF6XQ68g7XnnT989Mqpdo16x+cr+jRCANRCQfCoiTQI+x9nSqJgT4JFey8LC8QshuBtaj0Fyl1cEndth1QFr9bSf7YUetzt4ik01obpVFZGPkqwiZa8rVOVGWVBmh50T0hBYHJfxEg0fM6B1vjWNry2Oen4c=
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:(13230025)(4636009)(396003)(39860400002)(346002)(376002)(136003)(451199018)(46966006)(40470700004)(36840700001)(66899018)(84970400001)(2616005)(966005)(36860700001)(81166007)(82740400003)(36756003)(47076005)(31696002)(316002)(478600001)(16576012)(86362001)(356005)(54906003)(110136005)(82310400005)(31686004)(83380400001)(41300700001)(426003)(186003)(40460700003)(53546011)(26005)(336012)(2906002)(5660300002)(70586007)(8936002)(44832011)(8676002)(4326008)(70206006)(40480700001)(32563001)(36900700001)(43740500002)(139555002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 09:21:16.9824
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: fd3e9576-f3e9-4eba-8e60-08db1e2423cd
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:
	CO1NAM11FT101.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7290

Hi Stefano,

On 04/03/2023 00:57, Stefano Stabellini wrote:
> 
> 
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> The test prepares dom0 and domU binaries and boot artifacts, similarly
> to the existing QEMU test. (TBD: share preparation steps with the
> regular QEMU tests.)
> 
> However, instead of running the test inside QEMU as usual, it copies
> the binaries to the tftp server root, triggers a Xilinx ZCU102 board
> reboot, and connects to the real serial of the board.
> 
> For now and due to its novelty, allow_failure on the Xilinx hardware
> test, and only run the job on protected branches with XILINX_JOBS set to
> true (the "master" and "staging" on gitlab.com/xen-project/xen qualify).
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
> Changes in v2:
> - only execute the xilinx job on protected branches with XILINX_JOBS set
> to true
> ---
>  automation/gitlab-ci/test.yaml                |  22 ++++
>  .../scripts/xilinx-smoke-dom0less-arm64.sh    | 115 ++++++++++++++++++
>  2 files changed, 137 insertions(+)
>  create mode 100755 automation/scripts/xilinx-smoke-dom0less-arm64.sh
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 1c5f400b68..8f94cad32c 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -85,6 +85,28 @@ build-each-commit-gcc:
>    tags:
>      - x86_64
> 
> +xilinx-smoke-dom0less-arm64-gcc:
> +  extends: .test-jobs-common
> +  variables:
> +    CONTAINER: ubuntu:xenial-xilinx
> +    LOGFILE: qemu-smoke-xilinx.log
> +  artifacts:
> +    paths:
> +      - smoke.serial
> +      - '*.log'
> +    when: always
> +  tags:
> +    - xilinx
> +  script:
> +    - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *arm64-test-needs
> +    - alpine-3.12-gcc-arm64
> +  allow_failure: true
> +  only:
> +    variables:
> +      - $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
> +
Surely we will want to have more tests running on our HW board.
For that, let's introduce a template and a job separately right away:

.xilinx-arm64:
  extends: .test-jobs-common
  variables:
    CONTAINER: ubuntu:xenial-xilinx
    LOGFILE: qemu-smoke-xilinx.log
  artifacts:
    paths:
      - smoke.serial
      - '*.log'
    when: always
  allow_failure: true
  only:
    variables:
      - $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
  tags:
    - xilinx


xilinx-smoke-dom0less-arm64-gcc:
  extends: .xilinx-arm64
  script:
    - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
  needs:
    - *arm64-test-needs
    - alpine-3.12-gcc-arm64


>  qemu-smoke-dom0-arm64-gcc:
>    extends: .qemu-arm64
>    script:
> diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
> new file mode 100755
> index 0000000000..180c8b5f1c
> --- /dev/null
> +++ b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
> @@ -0,0 +1,115 @@
> +#!/bin/bash
> +
> +set -ex
> +
> +test_variant=$1
> +
> +if [ -z "${test_variant}" ]; then
> +    passed="ping test passed"
> +    domU_check="
> +until ifconfig eth0 192.168.0.2 &> /dev/null && ping -c 10 192.168.0.1; do
> +    sleep 30
> +done
> +echo \"${passed}\"
> +"
> +fi
> +
> +# DomU
> +mkdir -p rootfs
> +cd rootfs
> +tar xzf ../binaries/initrd.tar.gz
> +mkdir proc
> +mkdir run
> +mkdir srv
> +mkdir sys
> +rm var/run
> +echo "#!/bin/sh
> +
> +${domU_check}
> +/bin/sh" > etc/local.d/xen.start
> +chmod +x etc/local.d/xen.start
> +echo "rc_verbose=yes" >> etc/rc.conf
> +find . | cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz
> +cd ..
> +rm -rf rootfs
Why do we create a domU rootfs in a different manner compared to qemu one?
I think this could be done using busybox (it would have to be installed in container)
and it would make it easier to share qemu/xilinx script.

> +
> +# DOM0 rootfs
> +mkdir -p rootfs
> +cd rootfs
> +tar xzf ../binaries/initrd.tar.gz
> +mkdir proc
> +mkdir run
> +mkdir srv
> +mkdir sys
> +rm var/run
> +cp -ar ../binaries/dist/install/* .
> +
> +echo "#!/bin/bash
> +
> +export LD_LIBRARY_PATH=/usr/local/lib
> +bash /etc/init.d/xencommons start
> +
> +/usr/local/lib/xen/bin/init-dom0less
> +
> +brctl addbr xenbr0
> +brctl addif xenbr0 eth0
> +ifconfig eth0 up
> +ifconfig xenbr0 up
> +ifconfig xenbr0 192.168.0.1
> +
> +xl network-attach 1 type=vif
> +${dom0_check}
> +" > etc/local.d/xen.start
> +chmod +x etc/local.d/xen.start
> +echo "rc_verbose=yes" >> etc/rc.conf
> +find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
> +cd ..
> +
> +
> +TFTP=/scratch/gitlab-runner/tftp
> +START=`pwd`
> +
> +# ImageBuilder
> +echo 'MEMORY_START="0"
> +MEMORY_END="0xC0000000"
This is incorrect for zcu102. It should be the end address of a first memory bank
which is 0x7ff00000.

> +
> +DEVICE_TREE="mpsoc.dtb"
Can we do something to expose this dtb so that everyone with no access to a runner can see it?
It will become necessary when we start introducing some passthrough test jobs.
Also, how about naming this: mpsoc_smmu.dtb to make it clear that we are running with IOMMU enabled?
In the future we might want to test both configurations, especially for static partitioning use cases.

> +XEN="xen"
> +DOM0_KERNEL="Image"
> +DOM0_RAMDISK="dom0-rootfs.cpio.gz"
> +XEN_CMD="console=dtuart dom0_mem=1024M"
With just "console=dtuart" we are relying on a presence of "stdout-path" under /chosen which is optional.
I would suggest: "console=dtuart dtuart=serial0"

> +
> +NUM_DOMUS=1
> +DOMU_KERNEL[0]="Image"
> +DOMU_RAMDISK[0]="domU-rootfs.cpio.gz"
> +DOMU_MEM[0]="1024"
> +
> +LOAD_CMD="tftpb"
> +UBOOT_SOURCE="boot.source"
> +UBOOT_SCRIPT="boot.scr"' > $TFTP/config
> +
> +cp -f binaries/xen $TFTP/
> +cp -f binaries/Image $TFTP/
> +cp -f binaries/dom0-rootfs.cpio.gz $TFTP/
> +cp -f binaries/domU-rootfs.cpio.gz $TFTP/
> +
> +rm -rf imagebuilder
> +git clone https://gitlab.com/ViryaOS/imagebuilder
> +bash imagebuilder/scripts/uboot-script-gen -t tftp -d $TFTP/ -c $TFTP/config
> +
> +# restart the board
> +cd /scratch/gitlab-runner
> +bash zcu102.sh 2
> +sleep 5
> +bash zcu102.sh 1
> +sleep 5
> +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"
> +
> +set -e
> +(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
> +exit 0
> --
> 2.25.1
> 

Great job, this is awesome.

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 09:23:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 09:23:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506826.780015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ74G-00011H-BT; Mon, 06 Mar 2023 09:23:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506826.780015; Mon, 06 Mar 2023 09:23:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ74G-00011A-8m; Mon, 06 Mar 2023 09:23:40 +0000
Received: by outflank-mailman (input) for mailman id 506826;
 Mon, 06 Mar 2023 09:23: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=XRxq=66=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pZ74F-000111-1a
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 09:23:39 +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 93d0e589-bc00-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 10:23:38 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id k37so5206606wms.0
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 01:23:38 -0800 (PST)
Received: from [192.168.30.216] ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id
 ip21-20020a05600ca69500b003eb596cbc54sm9757477wmb.0.2023.03.06.01.23.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Mar 2023 01:23: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: 93d0e589-bc00-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678094618;
        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=aM8yQzb6WKbL4bzQLxP0iSUvbhpnXZWifDlyLE6JbHY=;
        b=ZxBUzWA1U7RyUWDqxC8pGR7cVnnCrSZXVCvfwxorachb08lbZyZrYAjYalqafHALrT
         B3eNncZcnTZMDiL9RjkbXDMZOhxLRLuVt7x4iiw4UZ85K4wYAtion+vHicS1CdEu+Yag
         MYJtH98F6kQEsgRu8DtzdPCd6twm4WdaUsXoFw+2EOOt6lmj+2qvRYC6XjpBIDKwlK59
         lSnRayLtoFSZZHIHKQ2Vs0u8a06YQ1YFp+LDxIrjWDdkCZEf4jbvfePO4KKAMuuLaLs5
         a0X7dDGDc99KcilueL9vQmMnOEnUNI+HsybZrZQY4m/f0KcKhNiaDMbWeiJXutOEDU8S
         9hsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678094618;
        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=aM8yQzb6WKbL4bzQLxP0iSUvbhpnXZWifDlyLE6JbHY=;
        b=z2IWBzZuU3FH+se+Y3ns6D2oe0lsYTjROk8VmjlsY5JsnRo3cnViLCKP2/+2uNxLgY
         KqwP4Rsg7WVxTCVDlIQqp00m/fwrs7XsFefZNbYMFe4PwfETWI+ohTB+LE9sjPu7J7Vi
         C5ZrzOhTmzzZFjRF5qteV7TvXxokyl8vRUmVWM732ym4BMTtDSXB6mONL2KRu3+KsTBN
         cvYapW3cry1/g4ELhT7RifN+aAqI1UmUAsuNqPLz/AtIF7G/sWENcp4v9PfcXkS8Ps0H
         uCvZcYN022tx9LUhlG6Ou+HS/jzQxdNSnvK0A7bIEU6P0uiLM9Xk0gg7fN7sZss/OUrW
         1+6Q==
X-Gm-Message-State: AO0yUKVzVis++WcgxeV7lZPBcU2uFKvncNOPiUnArq2BXB5gQaMgjb89
	7N3wjC/4VgLFqwqT7lCO/oHUUQ==
X-Google-Smtp-Source: AK7set/YyrDokolJUA9eTExju2L4Xl1IwIifBnQdVPnxauD6XSY0IMli53ULjRHCUm4ngW3ahZKDIQ==
X-Received: by 2002:a05:600c:3c85:b0:3ea:f05b:50cc with SMTP id bg5-20020a05600c3c8500b003eaf05b50ccmr9296892wmb.8.1678094617810;
        Mon, 06 Mar 2023 01:23:37 -0800 (PST)
Message-ID: <bd6266de-59c0-65c0-6e4a-04312f590dd1@linaro.org>
Date: Mon, 6 Mar 2023 10:23:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v4 4/5] docs/about/deprecated: Deprecate 32-bit arm hosts
 for system emulation
Content-Language: en-US
To: Thomas Huth <thuth@redhat.com>, qemu-devel@nongnu.org,
 Peter Maydell <peter.maydell@linaro.org>,
 Daniel Berrange <berrange@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>,
 Wilfred Mallawa <wilfred.mallawa@wdc.com>,
 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
References: <20230306084658.29709-1-thuth@redhat.com>
 <20230306084658.29709-5-thuth@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230306084658.29709-5-thuth@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 6/3/23 09:46, Thomas Huth wrote:
> For running QEMU in system emulation mode, the user needs a rather
> strong host system, i.e. not only an embedded low-frequency controller.
> All recent beefy arm host machines should support 64-bit now, it's
> unlikely that anybody is still seriously using QEMU on a 32-bit arm
> CPU, so we deprecate the 32-bit arm hosts here to finally save use
> some time and precious CI minutes.
> 
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   docs/about/deprecated.rst | 9 +++++++++
>   1 file changed, 9 insertions(+)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 09:27:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 09:27:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506831.780024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ77i-0001e7-Qv; Mon, 06 Mar 2023 09:27:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506831.780024; Mon, 06 Mar 2023 09: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 1pZ77i-0001e0-Nl; Mon, 06 Mar 2023 09:27:14 +0000
Received: by outflank-mailman (input) for mailman id 506831;
 Mon, 06 Mar 2023 09: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=iyJo=66=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1pZ77i-0001du-2d
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 09:27:14 +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 12772c21-bc01-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 10:27:11 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-498-tuDuK4RnONuyfVEmCP4RgA-1; Mon, 06 Mar 2023 04:27:07 -0500
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id CFFE1811E6E;
 Mon,  6 Mar 2023 09:27:06 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.53])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 79A0140CF8F0;
 Mon,  6 Mar 2023 09:27: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: 12772c21-bc01-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678094830;
	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=RVCxoISPsMUUVKX9jBhQfLyhrTTxfK/FPc4RIMTqVfU=;
	b=VFUr4viTTY1MKxnUvosvWDJVgfykQ0yWrgMTmTREHEDpiTUrbl313MY4MG4iV0jSleSo7k
	rWT9qf6rmHd4rxrm378XP8vEzDu1AkJcCvtzsgFlMX28E3KLrkJJNoEV/5mXv0CqnnWe8B
	vD7bC1ZHBGObOKO/tyWWXZRDQjC8Zvk=
X-MC-Unique: tuDuK4RnONuyfVEmCP4RgA-1
Date: Mon, 6 Mar 2023 09:27:01 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org, Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Subject: Re: [PATCH v4 2/5] docs/about/deprecated: Deprecate the
 qemu-system-i386 binary
Message-ID: <ZAWx5eBskd1cItDx@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20230306084658.29709-1-thuth@redhat.com>
 <20230306084658.29709-3-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230306084658.29709-3-thuth@redhat.com>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.1

On Mon, Mar 06, 2023 at 09:46:55AM +0100, Thomas Huth wrote:
> Aside from not supporting KVM on 32-bit hosts, the qemu-system-x86_64
> binary is a proper superset of the qemu-system-i386 binary. With the
> 32-bit host support being deprecated, it is now also possible to
> deprecate the qemu-system-i386 binary.
> 
> With regards to 32-bit KVM support in the x86 Linux kernel,
> the developers confirmed that they do not need a recent
> qemu-system-i386 binary here:
> 
>  https://lore.kernel.org/kvm/Y%2ffkTs5ajFy0hP1U@google.com/
> 
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  docs/about/deprecated.rst | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> index 1ca9dc33d6..c4fcc6b33c 100644
> --- a/docs/about/deprecated.rst
> +++ b/docs/about/deprecated.rst
> @@ -34,6 +34,20 @@ deprecating the build option and no longer defend it in CI. The
>  ``--enable-gcov`` build option remains for analysis test case
>  coverage.
>  
> +``qemu-system-i386`` binary (since 8.0)
> +'''''''''''''''''''''''''''''''''''''''
> +
> +The ``qemu-system-i386`` binary was mainly useful for running with KVM
> +on 32-bit x86 hosts, but most Linux distributions already removed their
> +support for 32-bit x86 kernels, so hardly anybody still needs this. The
> +``qemu-system-x86_64`` binary is a proper superset and can be used to
> +run 32-bit guests by selecting a 32-bit CPU model, including KVM support
> +on x86_64 hosts. Thus users are recommended to reconfigure their systems
> +to use the ``qemu-system-x86_64`` binary instead. If a 32-bit CPU guest
> +environment should be enforced, you can switch off the "long mode" CPU
> +flag, e.g. with ``-cpu max,lm=off``.

I had the idea to check this today and this is not quite sufficient,
because we have code that changes the family/model/stepping for
'max' which is target dependent:

#ifdef TARGET_X86_64
    object_property_set_int(OBJECT(cpu), "family", 15, &error_abort);
    object_property_set_int(OBJECT(cpu), "model", 107, &error_abort);
    object_property_set_int(OBJECT(cpu), "stepping", 1, &error_abort);
#else
    object_property_set_int(OBJECT(cpu), "family", 6, &error_abort);
    object_property_set_int(OBJECT(cpu), "model", 6, &error_abort);
    object_property_set_int(OBJECT(cpu), "stepping", 3, &error_abort);
#endif

The former is a 64-bit AMD model and the latter is a 32-bit model.

Seems LLVM was sensitive to this distinction to some extent:

   https://gitlab.com/qemu-project/qemu/-/issues/191


A further difference is that qemy-system-i686 does not appear to enable
the 'syscall' flag, but I've not figured out where that difference is
coming from in the code.

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



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 09:54:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 09:54:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506849.780034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ7Y4-0005Wh-1o; Mon, 06 Mar 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 506849.780034; Mon, 06 Mar 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 1pZ7Y3-0005WZ-VO; Mon, 06 Mar 2023 09:54:27 +0000
Received: by outflank-mailman (input) for mailman id 506849;
 Mon, 06 Mar 2023 09:54: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=A4jh=66=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pZ7Y2-0005WR-Lc
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 09:54:26 +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 dee2ff47-bc04-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 10:54:23 +0100 (CET)
Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com
 [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-466-wlcnKIffM4iIr8V-edGNhg-1; Mon, 06 Mar 2023 04:54:18 -0500
Received: by mail-wm1-f69.google.com with SMTP id
 u19-20020a05600c00d300b003eb24ce58ceso3356650wmm.9
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 01:54:18 -0800 (PST)
Received: from [192.168.0.2] (ip-109-43-177-59.web.vodafone.de.
 [109.43.177.59]) by smtp.gmail.com with ESMTPSA id
 t14-20020a05600c450e00b003e1fee8baacsm13959147wmo.25.2023.03.06.01.54.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Mar 2023 01:54: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: dee2ff47-bc04-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678096462;
	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=/IZ1ky/xkWglsrFT/6nq1KATgbmkO5fk4nyAibCjdSg=;
	b=ZBFhxzEZKxNOIcyblu0iiAixjgHTO0tyP11/J1+j1+c1aG1gOZtO2boo8A36V8pGbaorS7
	YUoebQ4uFwicJlomnMRO5vlgxb5+47JHuzduxKxCMM4gTHRyrQvGMBUy5rtmeWD8bxUC9f
	Jt9bH3yiLdoOl+LXkpp5dc+KLklmFWI=
X-MC-Unique: wlcnKIffM4iIr8V-edGNhg-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/IZ1ky/xkWglsrFT/6nq1KATgbmkO5fk4nyAibCjdSg=;
        b=XQpvZwPAyDQf1L2oegFRpZWVct8dWkXUnbpbsBsPjeUbzSnoVL0SSFf0LDGdmKw255
         kZCT1ojwdMPZeD18yaFJkM91EBN0kZoF/j53ihzPg1+NX/M8a6uaP5oo1QSsCHYgwsm/
         Pazwvhf1JrB3Sk9PCTusr3pvtBLRRF2mRobQYkM/2LwTziTnJQlM6iHUWfZqLf3TrpT7
         gJQGIOEUNnTaGZrK5nNFoIPwVpZZaC6NZr93yFBhI9wZ4zT7bLthDYUQz9sHLQ7F/0Nl
         SC4CEyOlvsIkKtj+D5eSH8aQYh8XjdONepTP79O0QcjXJYJ/GWfMrwCRJ0i3OzzGsv2i
         verQ==
X-Gm-Message-State: AO0yUKWX2pnNaipPDU+j8PRcRWnBR136BhCt6Hj7NN0MKylWReiN74Ky
	K6jaqprzC0eFDwU//M2rNUt27tPdRKdztcCDWtAYymo277nXhJSuG4/OpLAt1u8Y1K9aPF4L2NO
	+tI2+B4A5GXPX8so+xSegXtKGQOw=
X-Received: by 2002:a05:600c:4e41:b0:3ea:e7e7:a2f9 with SMTP id e1-20020a05600c4e4100b003eae7e7a2f9mr8714220wmq.13.1678096457800;
        Mon, 06 Mar 2023 01:54:17 -0800 (PST)
X-Google-Smtp-Source: AK7set/Y5fVbS8oNQOxxEeWGw0KXRDmT9Qd7Bxg+i5j65XmudEOzjYgZkZ9OHfobAcs434dEa0zIig==
X-Received: by 2002:a05:600c:4e41:b0:3ea:e7e7:a2f9 with SMTP id e1-20020a05600c4e4100b003eae7e7a2f9mr8714198wmq.13.1678096457477;
        Mon, 06 Mar 2023 01:54:17 -0800 (PST)
Message-ID: <e5a86d76-03af-6da9-a8ee-da4a494e0e23@redhat.com>
Date: Mon, 6 Mar 2023 10:54:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v4 2/5] docs/about/deprecated: Deprecate the
 qemu-system-i386 binary
To: =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>,
 Wilfred Mallawa <wilfred.mallawa@wdc.com>,
 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
References: <20230306084658.29709-1-thuth@redhat.com>
 <20230306084658.29709-3-thuth@redhat.com> <ZAWx5eBskd1cItDx@redhat.com>
From: Thomas Huth <thuth@redhat.com>
In-Reply-To: <ZAWx5eBskd1cItDx@redhat.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: 8bit

On 06/03/2023 10.27, Daniel P. Berrangé wrote:
> On Mon, Mar 06, 2023 at 09:46:55AM +0100, Thomas Huth wrote:
>> Aside from not supporting KVM on 32-bit hosts, the qemu-system-x86_64
>> binary is a proper superset of the qemu-system-i386 binary. With the
>> 32-bit host support being deprecated, it is now also possible to
>> deprecate the qemu-system-i386 binary.
>>
>> With regards to 32-bit KVM support in the x86 Linux kernel,
>> the developers confirmed that they do not need a recent
>> qemu-system-i386 binary here:
>>
>>   https://lore.kernel.org/kvm/Y%2ffkTs5ajFy0hP1U@google.com/
>>
>> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
>> Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   docs/about/deprecated.rst | 14 ++++++++++++++
>>   1 file changed, 14 insertions(+)
>>
>> diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
>> index 1ca9dc33d6..c4fcc6b33c 100644
>> --- a/docs/about/deprecated.rst
>> +++ b/docs/about/deprecated.rst
>> @@ -34,6 +34,20 @@ deprecating the build option and no longer defend it in CI. The
>>   ``--enable-gcov`` build option remains for analysis test case
>>   coverage.
>>   
>> +``qemu-system-i386`` binary (since 8.0)
>> +'''''''''''''''''''''''''''''''''''''''
>> +
>> +The ``qemu-system-i386`` binary was mainly useful for running with KVM
>> +on 32-bit x86 hosts, but most Linux distributions already removed their
>> +support for 32-bit x86 kernels, so hardly anybody still needs this. The
>> +``qemu-system-x86_64`` binary is a proper superset and can be used to
>> +run 32-bit guests by selecting a 32-bit CPU model, including KVM support
>> +on x86_64 hosts. Thus users are recommended to reconfigure their systems
>> +to use the ``qemu-system-x86_64`` binary instead. If a 32-bit CPU guest
>> +environment should be enforced, you can switch off the "long mode" CPU
>> +flag, e.g. with ``-cpu max,lm=off``.
> 
> I had the idea to check this today and this is not quite sufficient,
> because we have code that changes the family/model/stepping for
> 'max' which is target dependent:
> 
> #ifdef TARGET_X86_64
>      object_property_set_int(OBJECT(cpu), "family", 15, &error_abort);
>      object_property_set_int(OBJECT(cpu), "model", 107, &error_abort);
>      object_property_set_int(OBJECT(cpu), "stepping", 1, &error_abort);
> #else
>      object_property_set_int(OBJECT(cpu), "family", 6, &error_abort);
>      object_property_set_int(OBJECT(cpu), "model", 6, &error_abort);
>      object_property_set_int(OBJECT(cpu), "stepping", 3, &error_abort);
> #endif
> 
> The former is a 64-bit AMD model and the latter is a 32-bit model.
> 
> Seems LLVM was sensitive to this distinction to some extent:
> 
>     https://gitlab.com/qemu-project/qemu/-/issues/191
> 
> A further difference is that qemy-system-i686 does not appear to enable
> the 'syscall' flag, but I've not figured out where that difference is
> coming from in the code.

Ugh, ok. I gave it a quick try with a patch like this:

diff --git a/target/i386/cpu.c b/target/i386/cpu.c
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -4344,15 +4344,15 @@ static void max_x86_cpu_initfn(Object *obj)
       */
      object_property_set_str(OBJECT(cpu), "vendor", CPUID_VENDOR_AMD,
                              &error_abort);
-#ifdef TARGET_X86_64
-    object_property_set_int(OBJECT(cpu), "family", 15, &error_abort);
-    object_property_set_int(OBJECT(cpu), "model", 107, &error_abort);
-    object_property_set_int(OBJECT(cpu), "stepping", 1, &error_abort);
-#else
-    object_property_set_int(OBJECT(cpu), "family", 6, &error_abort);
-    object_property_set_int(OBJECT(cpu), "model", 6, &error_abort);
-    object_property_set_int(OBJECT(cpu), "stepping", 3, &error_abort);
-#endif
+    if (object_property_get_bool(obj, "lm", &error_abort)) {
+        object_property_set_int(obj, "family", 15, &error_abort);
+        object_property_set_int(obj, "model", 107, &error_abort);
+        object_property_set_int(obj, "stepping", 1, &error_abort);
+    } else {
+        object_property_set_int(obj, "family", 6, &error_abort);
+        object_property_set_int(obj, "model", 6, &error_abort);
+        object_property_set_int(obj, "stepping", 3, &error_abort);
+    }
      object_property_set_str(OBJECT(cpu), "model-id",
                              "QEMU TCG CPU version " QEMU_HW_VERSION,
                              &error_abort);

... but it seems like the "lm" property is not initialized
there yet, so this does not work... :-/

Giving that we have soft-freeze tomorrow, let's ignore this patch
for now and revisit this topic during the 8.1 cycle. But I'll
queue the other 4 patches to get some pressure out of our CI
during the freeze time.

  Thomas



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 09:58:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 09:58:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506855.780045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ7bm-000683-JH; Mon, 06 Mar 2023 09:58:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506855.780045; Mon, 06 Mar 2023 09:58: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 1pZ7bm-00067w-GU; Mon, 06 Mar 2023 09:58:18 +0000
Received: by outflank-mailman (input) for mailman id 506855;
 Mon, 06 Mar 2023 09:58: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=iyJo=66=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1pZ7bk-00067m-IL
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 09:58:16 +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 6878010d-bc05-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 10:58:14 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-265-CJe-6B2XMuehfhRkcWvuEw-1; Mon, 06 Mar 2023 04:58:09 -0500
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
 [10.11.54.4])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id DC7643C0F180;
 Mon,  6 Mar 2023 09:58:08 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.53])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 748B42026D4B;
 Mon,  6 Mar 2023 09:58: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: 6878010d-bc05-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678096693;
	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=tODt+tZ1i+Zx/RZzFTW5f0IKFhRamX691WjUjGAq/Gc=;
	b=aqCsO1K3UgOSiEIUgozWGqzEDOdBewccKwKy7mo43xEwiUPSUSjBL0yasmderEO8DnQ7Ou
	CdKqP4WyeQxhVf2FBWqN/b/jXX05PtR3yJZfSu2544jqlB0uRi3sXvoX587Y+HlPESKK3J
	OfLZi7B30iNZgRJ+sEjtywrdNOYlR9g=
X-MC-Unique: CJe-6B2XMuehfhRkcWvuEw-1
Date: Mon, 6 Mar 2023 09:58:01 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org, Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Subject: Re: [PATCH v4 2/5] docs/about/deprecated: Deprecate the
 qemu-system-i386 binary
Message-ID: <ZAW5KffNsA6/N87B@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20230306084658.29709-1-thuth@redhat.com>
 <20230306084658.29709-3-thuth@redhat.com>
 <ZAWx5eBskd1cItDx@redhat.com>
 <e5a86d76-03af-6da9-a8ee-da4a494e0e23@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e5a86d76-03af-6da9-a8ee-da4a494e0e23@redhat.com>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4

On Mon, Mar 06, 2023 at 10:54:15AM +0100, Thomas Huth wrote:
> On 06/03/2023 10.27, Daniel P. Berrangé wrote:
> > On Mon, Mar 06, 2023 at 09:46:55AM +0100, Thomas Huth wrote:
> > > Aside from not supporting KVM on 32-bit hosts, the qemu-system-x86_64
> > > binary is a proper superset of the qemu-system-i386 binary. With the
> > > 32-bit host support being deprecated, it is now also possible to
> > > deprecate the qemu-system-i386 binary.
> > > 
> > > With regards to 32-bit KVM support in the x86 Linux kernel,
> > > the developers confirmed that they do not need a recent
> > > qemu-system-i386 binary here:
> > > 
> > >   https://lore.kernel.org/kvm/Y%2ffkTs5ajFy0hP1U@google.com/
> > > 
> > > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> > > Reviewed-by: Wilfred Mallawa <wilfred.mallawa@wdc.com>
> > > Signed-off-by: Thomas Huth <thuth@redhat.com>
> > > ---
> > >   docs/about/deprecated.rst | 14 ++++++++++++++
> > >   1 file changed, 14 insertions(+)
> > > 
> > > diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst
> > > index 1ca9dc33d6..c4fcc6b33c 100644
> > > --- a/docs/about/deprecated.rst
> > > +++ b/docs/about/deprecated.rst
> > > @@ -34,6 +34,20 @@ deprecating the build option and no longer defend it in CI. The
> > >   ``--enable-gcov`` build option remains for analysis test case
> > >   coverage.
> > > +``qemu-system-i386`` binary (since 8.0)
> > > +'''''''''''''''''''''''''''''''''''''''
> > > +
> > > +The ``qemu-system-i386`` binary was mainly useful for running with KVM
> > > +on 32-bit x86 hosts, but most Linux distributions already removed their
> > > +support for 32-bit x86 kernels, so hardly anybody still needs this. The
> > > +``qemu-system-x86_64`` binary is a proper superset and can be used to
> > > +run 32-bit guests by selecting a 32-bit CPU model, including KVM support
> > > +on x86_64 hosts. Thus users are recommended to reconfigure their systems
> > > +to use the ``qemu-system-x86_64`` binary instead. If a 32-bit CPU guest
> > > +environment should be enforced, you can switch off the "long mode" CPU
> > > +flag, e.g. with ``-cpu max,lm=off``.
> > 
> > I had the idea to check this today and this is not quite sufficient,
> > because we have code that changes the family/model/stepping for
> > 'max' which is target dependent:
> > 
> > #ifdef TARGET_X86_64
> >      object_property_set_int(OBJECT(cpu), "family", 15, &error_abort);
> >      object_property_set_int(OBJECT(cpu), "model", 107, &error_abort);
> >      object_property_set_int(OBJECT(cpu), "stepping", 1, &error_abort);
> > #else
> >      object_property_set_int(OBJECT(cpu), "family", 6, &error_abort);
> >      object_property_set_int(OBJECT(cpu), "model", 6, &error_abort);
> >      object_property_set_int(OBJECT(cpu), "stepping", 3, &error_abort);
> > #endif
> > 
> > The former is a 64-bit AMD model and the latter is a 32-bit model.
> > 
> > Seems LLVM was sensitive to this distinction to some extent:
> > 
> >     https://gitlab.com/qemu-project/qemu/-/issues/191
> > 
> > A further difference is that qemy-system-i686 does not appear to enable
> > the 'syscall' flag, but I've not figured out where that difference is
> > coming from in the code.
> 
> Ugh, ok. I gave it a quick try with a patch like this:
> 
> diff --git a/target/i386/cpu.c b/target/i386/cpu.c
> --- a/target/i386/cpu.c
> +++ b/target/i386/cpu.c
> @@ -4344,15 +4344,15 @@ static void max_x86_cpu_initfn(Object *obj)
>       */
>      object_property_set_str(OBJECT(cpu), "vendor", CPUID_VENDOR_AMD,
>                              &error_abort);
> -#ifdef TARGET_X86_64
> -    object_property_set_int(OBJECT(cpu), "family", 15, &error_abort);
> -    object_property_set_int(OBJECT(cpu), "model", 107, &error_abort);
> -    object_property_set_int(OBJECT(cpu), "stepping", 1, &error_abort);
> -#else
> -    object_property_set_int(OBJECT(cpu), "family", 6, &error_abort);
> -    object_property_set_int(OBJECT(cpu), "model", 6, &error_abort);
> -    object_property_set_int(OBJECT(cpu), "stepping", 3, &error_abort);
> -#endif
> +    if (object_property_get_bool(obj, "lm", &error_abort)) {
> +        object_property_set_int(obj, "family", 15, &error_abort);
> +        object_property_set_int(obj, "model", 107, &error_abort);
> +        object_property_set_int(obj, "stepping", 1, &error_abort);
> +    } else {
> +        object_property_set_int(obj, "family", 6, &error_abort);
> +        object_property_set_int(obj, "model", 6, &error_abort);
> +        object_property_set_int(obj, "stepping", 3, &error_abort);
> +    }
>      object_property_set_str(OBJECT(cpu), "model-id",
>                              "QEMU TCG CPU version " QEMU_HW_VERSION,
>                              &error_abort);
> 
> ... but it seems like the "lm" property is not initialized
> there yet, so this does not work... :-/
> 
> Giving that we have soft-freeze tomorrow, let's ignore this patch
> for now and revisit this topic during the 8.1 cycle. But I'll
> queue the other 4 patches to get some pressure out of our CI
> during the freeze time.

Yep, makes sense.

More generally the whole impl of the 'max' CPU feels somewhat
questionable even for qemu-system-i386. It exposes all features
that TCG supports. A large set of these features never existed
on *any* 32-bit silicon. Hands up who has seen 32-bit silicon
with AVX2 support ? From a correctness POV we should have
capped CPU features in some manner. Given the lack of interest
in 32-bit though, we've ignored the problem and it likely does
not affect apps anyway as they're not likely to be looking for
newish features.

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



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 10:17:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 10:17:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506862.780055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ7uQ-0000Va-4u; Mon, 06 Mar 2023 10:17:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506862.780055; Mon, 06 Mar 2023 10:17: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 1pZ7uQ-0000VT-1w; Mon, 06 Mar 2023 10:17:34 +0000
Received: by outflank-mailman (input) for mailman id 506862;
 Mon, 06 Mar 2023 10:17: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=MPo4=66=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZ7uN-0000VN-Np
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 10:17:31 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 18aef401-bc08-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 11:17:29 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9518.eurprd04.prod.outlook.com (2603:10a6:102:22d::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Mon, 6 Mar
 2023 10:17:25 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Mon, 6 Mar 2023
 10: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>
X-Inumbo-ID: 18aef401-bc08-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N3+dCYi04uyUma8F8RmlEGLiKbVVbX1e3QqQCL/8e0D0Ow+lhbEp8IUfC10KDxavc1xF+9oYbN2PCwLi2l3SxDv7T5wfOOrcRuB8QoC1lCfOgjT60ZjfnegtwVC4MeqFS7u9CfFPwR42vm847eYM4l9UjiqRCaeaDsm0ddcsUpsBfz+tfcoNhv/p0tlsqVYmzKqucu34rsNOBP6uUrW0zEpjT9/arkWXzEZ62CMWjOBpm5NQnymcqXPP5Zjco4Q0LqZ3ewuwF7yMc3H4IQ2/B1q9Iey615ZjWFgVhWv18LCz8flz1nxWPlqZ5BmagTneGTU0zhrs8F5MIVFdYrJSyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TjtnZ2xHk7ZxpsWpR4IHQgPoO3yyJn1irokzDwuEQbk=;
 b=fN6H9YJb8dIegiYQiEqL5Y/h5ciunW69udi2xcdAcopFREMRR+gWMuEk5E+KLdfd4r0P47jHzBIqjRropHT/p4nttrx11GYTP/wGoz72CnWWCb5GqttD36Rg1hr/vlD2iVHZR3AlaxzTjUZKuXhgEmtMXcyUGcx1aZMFAW9esFOUCwB0X2SweTE3oVMklAxDSvK3Pv/z9tqA5sexElG5MFPXbC3bzHa4R8MYlF7lQdsVksobG0nP6RtYFX4/JKnScSchDP4BKiVzvHFji/zm6SOS6e2pUinE7ZrdmeDphoMyhG7FTOVpq1bNmkyQmi7BwYNN1heGyz+O5zU/O5iGyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TjtnZ2xHk7ZxpsWpR4IHQgPoO3yyJn1irokzDwuEQbk=;
 b=mc4NUL2I0q5W6FG4YV4mCN1W+2NGFATy8Y7RZmsdgIV3FRZFQbVtk4gt2R8pZQ3uZFncxUd06b30A/rUyxJyXizl+Mlhsfi4pqpWVla5d4jcy+qaHgcpxGniyZl1waPJ7QMj0y28/OgMuqNrNWLEfU/b/p1eIFDmXV5NbnNivsJWFQzTr+93VNOs4GvvPkg3rbWyAKWTVYzVmI8nwspbq2HkuUkzRzWWei+0cC8+0nSktIEcAEEeYRKR/6w506OBkp5oNI8FDNqsp5LfP2nsZmHbRimBQb2ItmVABjYw3nScOxSOnsPeU5KaJ6tAfYrRO/SWiPNIz61ZDgvXa1D3Ew==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <91343570-3532-521f-9bfe-3a68902426d0@suse.com>
Date: Mon, 6 Mar 2023 11:17:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 1/4] xen: introduce CONFIG_GENERIC_BUG_FRAME
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
 <5cd3dd5233cf41ad54ce1cd98b706085b95bfcee.1677839409.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5cd3dd5233cf41ad54ce1cd98b706085b95bfcee.1677839409.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0059.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9518:EE_
X-MS-Office365-Filtering-Correlation-Id: 82fa0a02-273e-421c-0935-08db1e2bfb3e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TXsp3ZpgmEyJloU5pEfyvwLn5rDN66QYilrarr3zO16adcfhDSu3n0waZd/zRIT6dBzI3hx/NRTcEqU/f+O0C2YcNBgrgDLUvKtxFVsRkzwLK0k+0WztNCSJCZ1q1xCGkajzlUTlvOOu+Lf4yD2cE1PScNSPvGK8vftTTDa/6g0TPBdtSQhcLIr44Y8PZkL44bQE4kJQWJc9lbDRNc5XkHQtfhHJQV8bRPl21fO5auPnKysh/eRLvu2R5G+GjTv3owAdEhpIwPhXhhg1Z/lRS03kzaZ+EU5dL4uXdLi/aNNqpljBEsKIEdGSbnzig+QMHAlT99E8h3AaG6JZudyOIs3pD2xrdjbAF+Nm37lmk+yP+EFbaFOjv2sOiVhwoUWTQylba19opcfXY3nf3Tdw7uGKy3xtsYTMvcr0vyqV0FTS7/+5tcpEC/u/x57+Fj7ZA90Mg+ZpvScdGK/zqeL9zg+xt9yvmromtLJH61oOliA2NpzabVoSgf8jKxr/LVE1w5B+ZRdz9cyfbuT+V9IDlDDnHwYn2P4I7Imxw4BhKEdzerm8be8ucHNWsZzQzaLibz9zdM/Fz580PLS99rFMeN93Vq97n/vbeYTsqf3XCn1BCl1yGRsoOKagepWe4WwRdTqN8Ax2sCH12CacGOEFPBrbBOj8huH5sojk/Na9DvfaXi68nqdbScIg84bH9izktKBm1gUoCL9uztXIso+I3p1ty8XxlSCfebEwGLkTw3qHUKORJ2mPEmZn03tzcYUzlhKQtjbXg4L3nCTXDEuxMrffoVOGuCa5iwvfsf8u4Hc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(346002)(376002)(136003)(366004)(396003)(451199018)(66899018)(54906003)(36756003)(6486002)(316002)(83380400001)(86362001)(31696002)(31686004)(186003)(2906002)(5660300002)(66556008)(8936002)(6916009)(66946007)(41300700001)(66476007)(4326008)(8676002)(478600001)(53546011)(6512007)(6506007)(26005)(2616005)(38100700002)(41533002)(69594002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d0ZiaHlCRnYxZ01FbFpyWThPR2J0b29kUC9hZlNtNENQUUZscDJwckZ4a2U3?=
 =?utf-8?B?NGd1ZDZZbHVnejYxVnhCWktUcHlLYVdRUEl3b0dmN2lQckR3Q1lUTWhxbFpl?=
 =?utf-8?B?RWpQNnFNN2NZZ21BamFNT0lLTFczSFo1NFFOVFR3b3dhRnNSVEpPWWY0dEtT?=
 =?utf-8?B?VmpmL0w1RXFOM3ZUWkFqRVFkdlBpakd0OFN3T0JQZ2hUb2YvVkRoK0haRFBa?=
 =?utf-8?B?MVE4MGEzQkFYQ2JnYSs4d283SDUxLzlydGhCbGJHbGwvWVRXN09JczVMbHFU?=
 =?utf-8?B?MHRpdDg4TWY1SFVNOGQwZ1piWWcxSmRMalVicUNMZkhwdXZhMzFOT0ZubnEv?=
 =?utf-8?B?WStkamQvVGNiSElIaXpOTFNQVW9EYXdWYXZybmZkVnJ0eGFMTzFpQURPVDFQ?=
 =?utf-8?B?V0s2QU03WFpjYzFSSGNUcTZGNFg3blA0ZmdBSUc2cnVURUpJT3BaMW41TzNj?=
 =?utf-8?B?N2l6K1U1S2FEUlhiV3lpejhzZVRtcEZyUXFncFVXL0QzYjZRZHhFdytsbG1J?=
 =?utf-8?B?cWlsc21YQ1pMdDY3U1BFWWZiVDlMVU9wWlA5Y0RjS0kySHJnUDkxdmpxRUFs?=
 =?utf-8?B?Vzh2eWFmbWxjYmpNK2xUUVpMbmI4WnNhanQ2RXRxbThEUUpENzRobk0wWHZS?=
 =?utf-8?B?ZDcwUnQvSW10U3BJT3p6aGhYU0Z6RXkwT3VVMVZxWmRGb1hlR3FFcHFNd0dZ?=
 =?utf-8?B?Z1lkdnlvVlBqRFJMc3ExZ0VqbnRFWi9Hdlc0YXQwSmRvRWMrYVhVMzJpRUlp?=
 =?utf-8?B?RkpwNFMwbVhIVG4zK2JsaDRKTHkzVkxlaTJzY29sVjlVcGZjSmp2T0VSWjdP?=
 =?utf-8?B?VzU4bmdlQmZiU2pDc29KZ05xQ3RzdmJPaHljNHhMWXdHUllSSGR5SUNaeTEw?=
 =?utf-8?B?ci9nTGllZVZaN09wVjQyU2k1UmlWYTZvUkZIOGlydHAvbGlZZVdacVRhR0dE?=
 =?utf-8?B?ZnlhMEJtREkzOU9jVmZUdmVyYjRQNlViSUNqODNBcHdqQlZrRTRWcEtwQW05?=
 =?utf-8?B?R2FxN2FUQlpzNi9JSE4yWS9jMFhFckhKVE5qZ1ZwK2owSzRObTF4aWFxdXFi?=
 =?utf-8?B?WmNuZWVaU2hyT214WmxHKzh2NGxxNE1oL2wyck5uc1JZcDR3TTdJWGlodjc2?=
 =?utf-8?B?NndSTldTbmMxdEs2M0RNZzlheUE3NUJoRE5XQmsxSU96VkFOdFVhVjZHVTdP?=
 =?utf-8?B?QWJPK2lMVzliYVBCWmFDaHpxL0lOY0N4Z1RlRGplQjNEVmVsaitvNjhjOGVa?=
 =?utf-8?B?OE1sVzEwdjBDTzNlaUh1ekszYkZ1Tld0QkxoSm5CMFE1Y0V2QjJiRnJUK2p1?=
 =?utf-8?B?UHhWWWI2aWhtNHI1RGxkV0NiQXFGNngva0xGUWU2SkEvQW5sZFUxcEUxTjNs?=
 =?utf-8?B?UEtVVXoyTk56RWErUDJST2I0c0d3Q1NoaEMrU3Q2VlNkZm5Wd21qdVR6eVBi?=
 =?utf-8?B?RkVlSEZtZkdrYy96bXJreE85TjBURHR2WnV6ODVJNG1STWtsNklST3haeHBO?=
 =?utf-8?B?TVZrWWMwQXRJckg3NmZVMkEwWmdDYWl0aWxQa3l6NXYyQi9YL05FcFdlSGln?=
 =?utf-8?B?dmlVbGw4VTRTTUlZZUlDNjBtVEJDOGU0TkkzZklPQkppZVdsV0NScTd6aEtM?=
 =?utf-8?B?ci8yK1FJNXQvQlRYT2dUWjJNUGtvYWRHc1lTbHo5SSt5SE1nWWZ6cVBESVB6?=
 =?utf-8?B?ekFoY0FKOEdUSFVHMFNmSWxST003Z2o4bk5obTBRaXBzNDg3WkZDQWJOOVJS?=
 =?utf-8?B?VDRaYjNNTkc1VUZ5aGFFUzVVQTEvT0JDdncrcnk2alhNVmhFeUZrMjJjL0xL?=
 =?utf-8?B?Wm9qaW1pRVllVVkzRFA2OUFWQ3VSWkRuRnFqalhQcnVKK2NPb0dxb1F6cjYv?=
 =?utf-8?B?cVhPa0dkeHcrV2xKR0R1ZW1sQjV3NnRObnEvaG5jQ3k3bmhod1RSZHVUaVNp?=
 =?utf-8?B?MzZUK0tLQnc4NHF0KzFlazBkUzFoaCt6bVFkYjVFR2FjRmYyRVErZ1ZkSkU0?=
 =?utf-8?B?dHl3OG1pejhXcHpiaCtUQlR6aVpWNi96ZzcwVlJ5SG9LczJSdHpKN1JZdW9O?=
 =?utf-8?B?dlV6M0Vja0FrUmd1TEJQK3B5MjV1M1lpcWxPWVFSaVRROHRMODNYNjFpTnBS?=
 =?utf-8?Q?MG4KJEA+uOG+mC7wf+lkAPvv2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82fa0a02-273e-421c-0935-08db1e2bfb3e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 10:17:25.2193
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HlpPem/daZEwEHKv7OGoH+niWO37sBGyHHcbJO6EgPh36Qa0v03cBoJ5SNZszYYyUCSFikRNtoO/8GlznBPSTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9518

On 03.03.2023 11:38, Oleksii Kurochko wrote:
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -28,6 +28,9 @@ config ALTERNATIVE_CALL
>  config ARCH_MAP_DOMAIN_PAGE
>  	bool
>  
> +config GENERIC_BUG_FRAME
> +	bool

With Arm now also going to use the generic logic, do we actually need this
control anymore (provided things have been proven to work on Arm for the
compiler range we support there)? It looks like because of the way the
series is partitioned it may be necessary transiently, but it should be
possible to drop it again in a new 5th patch.

> --- /dev/null
> +++ b/xen/common/bug.c
> @@ -0,0 +1,103 @@
> +#include <xen/bug.h>
> +#include <xen/debugger.h>
> +#include <xen/errno.h>
> +#include <xen/kernel.h>
> +#include <xen/livepatch.h>
> +#include <xen/string.h>
> +#include <xen/types.h>
> +#include <xen/virtual_region.h>
> +
> +#include <asm/processor.h>
> +
> +/*
> + * Returns a negative value in case of an error otherwise the bug type.
> + */

Nit: Style (this is a single line comment). But see also below related
comment on the function's declaration.

> +int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
> +{
> +    const struct bug_frame *bug = NULL;
> +    const struct virtual_region *region;
> +    const char *prefix = "", *filename, *predicate;
> +    unsigned long fixup;
> +    unsigned int id = BUGFRAME_NR, lineno;
> +
> +    region = find_text_region(pc);
> +    if ( !region )
> +        return -EINVAL;
> +
> +    for ( id = 0; id < BUGFRAME_NR; id++ )
> +    {
> +        const struct bug_frame *b;
> +        size_t i;
> +
> +        for ( i = 0, b = region->frame[id].bugs;
> +                i < region->frame[id].n_bugs; b++, i++ )

Nit: Indentation (the "i" on the 2nd line wants to align with that
on the 1st one).

> +        {
> +            if ( bug_loc(b) == pc )
> +            {
> +                bug = b;
> +                goto found;
> +            }
> +        }
> +    }
> +
> + found:
> +    if ( !bug )
> +        return -EINVAL;

While I'm generally unhappy with many uses of -EINVAL (it's used to
indicate way too many different kinds of errors), can we at least
consider using -ENOENT here instead? (I'm sorry, I should have asked
for this earlier on.)

> --- /dev/null
> +++ b/xen/include/xen/bug.h
> @@ -0,0 +1,158 @@
> +#ifndef __XEN_BUG_H__
> +#define __XEN_BUG_H__
> +
> +#define BUGFRAME_run_fn 0
> +#define BUGFRAME_warn   1
> +#define BUGFRAME_bug    2
> +#define BUGFRAME_assert 3
> +
> +#define BUGFRAME_NR     4
> +
> +#ifndef BUG_FRAME_STRUCT

This check won't help when it comes ahead of ...

> +#define BUG_DISP_WIDTH    24
> +#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
> +#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
> +#endif
> +
> +#include <asm/bug.h>

... this. But is the #ifdef actually necessary? Or can the #define-s
be moved ...

> +#ifndef BUG_DEBUGGER_TRAP_FATAL
> +#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
> +#endif
> +
> +#ifndef __ASSEMBLY__
> +
> +#include <xen/lib.h>
> +
> +#ifndef BUG_FRAME_STRUCT

... here? (I guess having them defined early, but unconditionally is
better. If an arch wants to override them, they can #undef and then
#define.)

Above from here the "#ifndef __ASSEMBLY__" also wants to move up, to
further enclose BUG_DEBUGGER_TRAP_FATAL (which is useless in assembly
code).

> +struct bug_frame {
> +    signed int loc_disp:BUG_DISP_WIDTH;
> +    unsigned int line_hi:BUG_LINE_HI_WIDTH;
> +    signed int ptr_disp:BUG_DISP_WIDTH;
> +    unsigned int line_lo:BUG_LINE_LO_WIDTH;
> +    signed int msg_disp[];
> +};
> +
> +#define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
> +
> +#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
> +
> +#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
> +                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
> +                      BUG_LINE_LO_WIDTH) +                                   \
> +                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
> +                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
> +
> +#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
> +
> +#endif /* BUG_FRAME_STRUCT */
> +
> +/*
> + * Generic implementation has been based on x86 implementation where
> + * '%c' to deal with punctation sign ($, # depending on architecture)
> + * before immediate.
> + *
> + * Not all architecture's compilers have full support of '%c' and not for all
> + * assemblers punctation sign is used before immediate.
> + * Thereby it was decided to introduce BUG_ASM_CONST.
> + */

I have to admit that I'm not really happy with this comment. At the very
least the last sentence imo doesn't belong there. But overall how about
something like

"Some architectures mark immediate instruction operands in a special way.
 In such cases the special marking may need omitting when specifying
 directive operands. Allow architectures to specify a suitable modifier."

> +#ifndef BUG_ASM_CONST
> +#define BUG_ASM_CONST ""
> +#endif
> +
> +#if !defined(_ASM_BUGFRAME_TEXT) || !defined(_ASM_BUGFRAME_INFO)

Please don't make the conditional more complicated than necessary:
Checking for just _ASM_BUGFRAME_TEXT is enough here.

> +#define _ASM_BUGFRAME_TEXT(second_frame)                                            \
> +    ".Lbug%=:"BUG_INSTR"\n"                                                         \
> +    "   .pushsection .bug_frames.%"BUG_ASM_CONST"[bf_type], \"a\", %%progbits\n"    \
> +    "   .p2align 2\n"                                                               \
> +    ".Lfrm%=:\n"                                                                    \
> +    "   .long (.Lbug%= - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_hi]\n"                 \
> +    "   .long (%"BUG_ASM_CONST"[bf_ptr] - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_lo]\n"\
> +    "   .if " #second_frame "\n"                                                    \
> +    "   .long 0, %"BUG_ASM_CONST"[bf_msg] - .Lfrm%=\n"                              \
> +    "   .endif\n"                                                                   \
> +    "   .popsection\n"
> +
> +#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
> +    [bf_type]    "i" (type),                                                 \
> +    [bf_ptr]     "i" (ptr),                                                  \
> +    [bf_msg]     "i" (msg),                                                  \
> +    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
> +                      << BUG_DISP_WIDTH),                                    \
> +    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
> +
> +#endif /* _ASM_BUGFRAME_TEXT || _ASM_BUGFRAME_INFO */
> +
> +#ifndef BUG_FRAME
> +
> +#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
> +    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH));         \
> +    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
> +    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
> +                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
> +} while (0)

Isn't this tied to BUG_FRAME_STRUCT being defined (or not)? At least
the 1st BUILD_BUG_ON() looks problematic if an arch wasn't to use
the generic struct: With how you have things right now
BUG_LINE_{LO,HI}_WIDTH may not be defined, and the check would also
be at risk of causing false positives. Perhaps it's appropriate to
have a separate #ifdef (incl the distinct identifier used), but that
first BUILD_BUG_ON() needs abstracting out.

Also nit: Style (see ...

> +#endif
> +
> +#ifndef run_in_exception_handler
> +
> +/*
> + * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
> + * and use a real static inline here to get proper type checking of fn().
> + */
> +#define run_in_exception_handler(fn)                            \
> +    do {                                                        \
> +        (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
> +        BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);             \
> +    } while ( 0 )

... here). Also, considering the boolean nature, I guess we're in the
process of moving such to be "} while ( false );".

Also please be consistent with formatting of the two adjacent macros,
both indentation-wise and where "do {" is placed. Which of the two
forms you use is secondary.

> +#endif /* run_in_exception_handler */
> +
> +#ifndef WARN
> +#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, NULL)
> +#endif
> +
> +#ifndef BUG
> +#define BUG() do {                                              \
> +    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, NULL);      \
> +    unreachable();                                              \
> +} while (0)
> +#endif
> +
> +#ifndef assert_failed
> +#define assert_failed(msg) do {                                 \
> +    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
> +    unreachable();                                              \
> +} while (0)
> +#endif
> +
> +#ifdef CONFIG_GENERIC_BUG_FRAME
> +
> +struct cpu_user_regs;
> +
> +/*
> + * Returns a negative value in case of an error otherwise the bug type.
> + */

Perhaps add "(BUGFRAME_*)", which would then also make this a properly
multi-line comment (right now it's a style violation, as is the case
for the function definition as pointed out above)?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 10:24:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 10:24:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506869.780064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ80q-0002Ac-VP; Mon, 06 Mar 2023 10:24:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506869.780064; Mon, 06 Mar 2023 10: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 1pZ80q-0002AV-SQ; Mon, 06 Mar 2023 10:24:12 +0000
Received: by outflank-mailman (input) for mailman id 506869;
 Mon, 06 Mar 2023 10:24: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=MPo4=66=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZ80q-0002AP-4C
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 10:24:12 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0894d490-bc09-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 11:24:10 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by GVXPR04MB9926.eurprd04.prod.outlook.com (2603:10a6:150:11a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Mon, 6 Mar
 2023 10:24:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Mon, 6 Mar 2023
 10:24: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: 0894d490-bc09-11ed-96b4-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i5hBwIspF7kPjuNS5C7jXTA7weGsPXbbR/L1LmsRINJgVvTo2PZuUC+ReFF7ia6JSCAhVlIelLT6aBn9rARFv5c8n+dKyg74wNoV/lx9fLgYCtbhKWgYnS7VcNkKlmQ2imzRGSAThH1UqSJ5q68+q2CWw/IEAlojV7kqAsisrFRs6gykzwrh+L3VP+ZjfZZJof/yW5h8mNAmT/iWO5rhZ8CFrLFLP0jJbBzb03YnQ0dv7PZUHISPl+f9zFgw7W7djzeUsfx0Eq6mM691atDLWnsXbQrdGIrNmYAO5dzW5bOvfqwf9pwanTGTG1lU1zfElzirkmqvVSrM2Z/sB3i3gw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LDEGJHWyC+bGu8uuJfXWYHJqDhbmGcnfdXH1AiEeTOU=;
 b=dgSnew5Pcf8xhNvNM0CBoz0CaWVW00ohR2CTvxnn6+4RAenMRw8SWImNmzMShTyFTu39t7pDLdywGbM1ijJri4EURQ3oNnGHYGUOGpZ9Dp2K1eODlNRuTeUrORuFBbSCpx554x5vGO6VxEbE1IOJF/FhBWMUvHjZubc6ck0euWASOrE29UizQrfoQ+npxp+XUa9OViUqjXSYu5fwoTedEnarDNj25fhYeYJ0zn9DRdJwW0S9j2f0Bb70uOOizM+7TK6SORicVtVIMvZ0GKdMRPBqv0qFwtQ8NHUGesNmV1znqjoKTE1f+ht/y9G3Y/GiilmvtncVFLkmEEKsFeUzlA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LDEGJHWyC+bGu8uuJfXWYHJqDhbmGcnfdXH1AiEeTOU=;
 b=JlJRMHXRGfC2RHNa4RxlxCt3M1tVp8S9pxPjT33vWreSDmRZVtruKobvAWzF6KgRiUijz997ibMiXQ81Z9+s/BvRwSv08EHSe6u3AWYZo/dzKxhfELke8t+DkIqJOmca4A6M/hRWmQrtX7XYIhZZM3Xx9Im0zugDWmQ419CR1ONUmZtZsErv/YmIC+7TBqsX6nUwUCtMz1yzOSWIDnmiZ5mOZLWWNNSASPLdjVrsrH9IuzaHrFzSIGW2lwgQGsx0RVxGNkO1fEOXk8kd190p9WeSVN0WwwquVdOqgT+jX/R1W5mKdDI6rAydhglK3m/gcBKGsY6Rj99a39uY0Hv+3Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5c7e4584-9c99-1ecd-e231-438b89c11805@suse.com>
Date: Mon, 6 Mar 2023 11:24:06 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 2/4] xen: change <asm/bug.h> to <xen/bug.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.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: <cover.1677839409.git.oleksii.kurochko@gmail.com>
 <f108147036c9e35b156b45c0f52779cea09025c9.1677839409.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f108147036c9e35b156b45c0f52779cea09025c9.1677839409.git.oleksii.kurochko@gmail.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|GVXPR04MB9926:EE_
X-MS-Office365-Filtering-Correlation-Id: 67cfe73a-98a3-4a36-50c5-08db1e2ceb82
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	imoDTBoopZ34S9l9bnrTZZHh7uVpil93U/xuxouWaktMtckLeO+z4LmNse7KaUUfF/QumJ0yeYHas1y5pkGn63HiT//+ZKenkecWz9toziNLtnvMLPXMcnYtKy5kOmGrAiVaiLQyKTnHMJfTSsYgqnOSB500Lc7A1uevsi8iOTHBedyA0ZTufUJc8cFZrHPV5h97Fs2RZeOjSHWpzECNc9GcjKQKrm5xeof0UT6BVbcpVzECQ+3yVUy1H84HIsBnakpWAAhDJhtkr/8CypYX1rR3e3V1RJ9yzL9Liy6DN33YYiJ++bLXaS5LTCKikrh9n4ga+WagGO0YbWZVJT2rDs0PhBvLrblO5Ytwjc+V55KkAZDNsIKk58IZs4zFMZqcAUOPfbEga9otpaGR5W1m1MSe9bUGcAt9RgCL8S5l2xxsADF1MfYo1th5OW3HUEZo3g8r+IpqdkR1leJDAojGbQ9l7gimJT2cc2iBJgSNVLlUONhWYmzHrw+a9Famnox8fJc2o2pnY/REWpIFV0RWmrWWjsncFD4e8fM16q9PBbRBs/lI2wtYoeoYOoaXIVwhcfEXV6jWPpViy2RbRtDhoBm/EMt3MtxIk7CQsWHrJ2gDYmR2RTXlNUR/RAdyQkDgD3CnYJ+OQZJDDvA2D88WUUXrQd8KKFN1ivAxY38CKT0v8GLznC09kkfVzOYhvQzH9uwwu9lV+VZTXLODDz7ea4/KEG5gza9fcklo8X3BRgg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(396003)(366004)(376002)(346002)(136003)(451199018)(31686004)(66899018)(83380400001)(36756003)(478600001)(54906003)(316002)(38100700002)(2616005)(6486002)(6506007)(6512007)(53546011)(186003)(26005)(41300700001)(5660300002)(7416002)(66476007)(66556008)(66946007)(8936002)(8676002)(6916009)(86362001)(4326008)(31696002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TGcvWWZsZmxkejZ4QTQ5TzdXaGRteXk2djBxMXNRdnZDQ0hucVc5STMrNE01?=
 =?utf-8?B?ZnVhZEhOMi9HZk5GaTdBSGIxMlAzVnZRMUhaTVNwUzNPcU50bWNFbjdvRjk5?=
 =?utf-8?B?cVNOWDFraUpLWTVKckhzOUlJUWdUK1o2c2I0Z29GQ2xHVWhFNU5hUmpWaS9m?=
 =?utf-8?B?UFlQK2tTQWZXaU84TzY0V3hNOXRnWGpSQTdSbzB0TzlrN1UxWi82cVdNK294?=
 =?utf-8?B?WEpRWnhtSGxMeEpHN0RhNkNqMHgzZ1EwSkpZMEpuT2tiRURIWkxNaHVuaEhp?=
 =?utf-8?B?YjhGZisxY3dUaHRHS3RlaUtBVDJWWlN3WUlNUjNiZVdCR3FNNkd6SDN2c2Uw?=
 =?utf-8?B?QnkzSmdpWktPT0F3NTFad0VwWllhWEh6NTdDclFKU3oxbUtJMUxoaGtDNXA3?=
 =?utf-8?B?ZkEwTEZQeU5BMExlK21HMnlwdndvdE9ZM2xpQnpQWGxJNGpheEdLUmtqeG8z?=
 =?utf-8?B?WHJhMWtvQ0ZERk9tSU1taXg3UUlZNDBBNytlZXNSWVduODVIeS8ySmxsSW0v?=
 =?utf-8?B?bG93bjJ0UFlSZG9UZlZmV29lTjhoYzZUakZyTHYxeUxFSTZDVURBOWFFYWpi?=
 =?utf-8?B?TjkrM1NLODFCWVQ0anBIQjluOExUS0VHSVl0aWhwVTB6bUhVQ3FGOTM4emFB?=
 =?utf-8?B?Q0FRSEdJMzg4WWZvYzMzcmt4cnZVZ0ZYYVhJUk91dlpXUWpBcjczM2Vwb3Ra?=
 =?utf-8?B?a1A5bHEzL2ZSUnZob21rb3ZCSGl0UEZtcHpkUi9MQk56M0dIOGVSNlNRSTIv?=
 =?utf-8?B?YjdGMDNOTTJGb1d6NUVVRzcyQUEvSDA3SGQ3ZjlzRXIyZzFOelF4ajFZZmpM?=
 =?utf-8?B?VUUySWVuN3BwUkVTRmNRWkNOZE9mQ3VrUXhSbTg0bENDQ0hkY3pHdXhUSlFZ?=
 =?utf-8?B?cGpTeGoxelpmYjRqUTRGZU9xRFJEMXVwWkNzYk52YUR2Mkg2bm56TllhY1VJ?=
 =?utf-8?B?R28vRjU0azRpaHpHZUJKZEtSMmtVTjdGWGRZd002bFJBcXV2TGlRL29qVmpx?=
 =?utf-8?B?dTlRZWVxaU9QTjgzaE5DUzZXbkRVT0tRcVN1bkc3cVFwa1ZXaUsrNnBIdUp2?=
 =?utf-8?B?bGNPckJnRFl2RXJ5YXd5citwWnFrVldoeHBRS0xYNHdlYmowbWxtWGhiYWRh?=
 =?utf-8?B?aVNTWTJweE8xVjRGWG5kcFdsWW5veUJwd0lqcnZRbDNocEMwcDcrQnFubjUr?=
 =?utf-8?B?K3pqVWV6Mm8xclRleFFQaFQvcHRMUnFpNkZsMW5rSVFMZE5vbE9BdFUwb1FU?=
 =?utf-8?B?aUQ0WmZ0SWR1R250U0NkUFBaWTlTV1k5cWpZbEp6UDY5UktWeXV5OXo3NDd3?=
 =?utf-8?B?REVBR05iR2FaSVZNdzdKeHN3cHhvbDNXd2dHS055dUV4Y2NnQTZMcDVKQUdh?=
 =?utf-8?B?TXdzTGhnZTAyZklMSmx0clFNUXpsN0JzK1Z0MHlKZHNxbEgzNWhYVGVwL1VN?=
 =?utf-8?B?ckpjajI1Y21GMlkzT0hPZGp5SUsvVVlVbUEzdURHR2hEZGtlV0RXUDMyUGhQ?=
 =?utf-8?B?RGxEeGp4UTVmWDFFTmF5a0c2SnQyUDgrQk1LTitmWm9iNDBmZldqVURHTjE1?=
 =?utf-8?B?aFBRUnlNSmM1TjlQL1JPaDZXRW1kTW1jekVZaGM3VGtwOVlHMUNucHZZK3d5?=
 =?utf-8?B?WEhwTGJ4YW1rVFYyaEVNa2ovbzB1THplRTJoNE03bloxL3VQTUEzd1RDaEV5?=
 =?utf-8?B?cm51eTB1MHVkaGNCeXVUcFR6akhHVmdNZ2JSNnRvNjFDazM2QVh0Zm1yTTBu?=
 =?utf-8?B?WkFuOHVZWGErVkh4UFNvQUNCcWZiYlpya3JWOHBiaG9yNU5FS0QycXNXd0tF?=
 =?utf-8?B?YUVkU3Y3Q29ud2hCQ0svTkkybzgrV0VjR0x1amtqMmw2N1ErWTVVWmlINDlO?=
 =?utf-8?B?c1JpSlhzOUUxd1I2Ui9PRmlzMm1LanlUVko4TCtCL29pby9mZWVSWklVOXN4?=
 =?utf-8?B?b0pCWW9qdytVUDJ2Qkt5NGtMaG5NbmlrZnZGdGdSWmkzYkMxTlJrWkNhVTBw?=
 =?utf-8?B?VUZib0VvRStReUpxancxUHlwK050YXRxYTVGTWZCV3FZZnladm9HeDBvc3dt?=
 =?utf-8?B?YWY0UFRWYlkzSEJ5TTRRN3Q5cWJQeXJJVldXQVY3ZUtDODhyZEE4andmNXNP?=
 =?utf-8?Q?w0bV+aJP4+KXKBGestZiZNKIs?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 67cfe73a-98a3-4a36-50c5-08db1e2ceb82
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 10:24:08.3512
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QQdv65FxamqclkLymnRcv6+1hSBIHnxzoZFU+EN5HRIo3wZh/Sa246GEjHjK5FQKb416LDZrYezpaOguOlJrpw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9926

On 03.03.2023 11:38, Oleksii Kurochko wrote:
> The idea of the patch is to change all <asm/bug.h> to <xen/bug.h> and
> keep Xen compilable with adding only minimal amount of changes:
> 1. It was added "#include <xen/types.h>" to ARM's "<asm/bug.h>" as it
>   uses uint_{16,32}t in 'struct bug_frame'.
> 2. It was added '#define BUG_FRAME_STRUCT' which means that ARM hasn't
>   been switched to generic implementation yet.
> 3. It was added '#define BUG_FRAME_STRUCT' which means that x86 hasn't
>   been switched to generic implementation yet.
> 4. BUGFRAME_* and _start_bug_frame[], _stop_bug_frame_*[] were removed
>   for ARM & x86 to deal with compilation errors such as:
>       redundant redeclaration of ...
> 
> In the following two patches x86 and ARM archictectures will be
> switched fully:
> * xen/arm: switch ARM to use generic implementation of bug.h
> * xen/x86: switch x86 to use generic implemetation of bug.h
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V5:
>  - Nothing changed
> ---
> Changes in V4:
> 	- defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH were moved into
> 	  "ifndef BUG_FRAME_STRUCT" in <xen/bug.h> as they are specific for 'struct bug_frame' and so should
> 	  co-exist together. So the defines were back to <asm/bug.h> until BUG_FRAME_STRUCT will be defined in
> 	  <asm/bug.h>.
> 	- Update the comment message.
> ---
> Changes in V3:
>  * Update patch 2 not to break compilation: move some parts from patches 3 and 4
>    to patch 2:
>    * move some generic parts from <asm/bug.h> to <xen/bug.h>
>    * add define BUG_FRAME_STRUCT in ARM's <asm/bug.h>
> ---
> Changes in V2:
>  * Put [PATCH v1 4/4] xen: change <asm/bug.h> to <xen/bug.h> as second patch,
>    update the patch to change all <asm/bug.h> to <xen/bug.h> among the whole project
>    to not break build.
>  * Update the commit message.
> ---
>  xen/arch/arm/include/asm/bug.h       | 17 ++++-------------
>  xen/arch/arm/include/asm/div64.h     |  2 +-
>  xen/arch/arm/vgic/vgic-v2.c          |  2 +-
>  xen/arch/arm/vgic/vgic.c             |  2 +-
>  xen/arch/x86/acpi/cpufreq/cpufreq.c  |  2 +-
>  xen/arch/x86/include/asm/asm_defns.h |  2 +-
>  xen/arch/x86/include/asm/bug.h       | 15 ++-------------
>  xen/drivers/cpufreq/cpufreq.c        |  2 +-
>  xen/include/xen/lib.h                |  2 +-
>  9 files changed, 13 insertions(+), 33 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
> index f4088d0913..9315662c6e 100644
> --- a/xen/arch/arm/include/asm/bug.h
> +++ b/xen/arch/arm/include/asm/bug.h
> @@ -1,6 +1,8 @@
>  #ifndef __ARM_BUG_H__
>  #define __ARM_BUG_H__
>  
> +#include <xen/types.h>
> +
>  #if defined(CONFIG_ARM_32)
>  # include <asm/arm32/bug.h>
>  #elif defined(CONFIG_ARM_64)
> @@ -13,6 +15,8 @@
>  #define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
>  #define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
>  
> +#define BUG_FRAME_STRUCT
> +
>  struct bug_frame {
>      signed int loc_disp;    /* Relative address to the bug address */
>      signed int file_disp;   /* Relative address to the filename */
> @@ -26,13 +30,6 @@ struct bug_frame {
>  #define bug_line(b) ((b)->line)
>  #define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
>  
> -#define BUGFRAME_run_fn 0
> -#define BUGFRAME_warn   1
> -#define BUGFRAME_bug    2
> -#define BUGFRAME_assert 3
> -
> -#define BUGFRAME_NR     4
> -
>  /* Many versions of GCC doesn't support the asm %c parameter which would
>   * be preferable to this unpleasantness. We use mergeable string
>   * sections to avoid multiple copies of the string appearing in the
> @@ -89,12 +86,6 @@ struct bug_frame {
>      unreachable();                                              \
>  } while (0)
>  
> -extern const struct bug_frame __start_bug_frames[],
> -                              __stop_bug_frames_0[],
> -                              __stop_bug_frames_1[],
> -                              __stop_bug_frames_2[],
> -                              __stop_bug_frames_3[];
> -
>  #endif /* __ARM_BUG_H__ */
>  /*
>   * Local variables:
> diff --git a/xen/arch/arm/include/asm/div64.h b/xen/arch/arm/include/asm/div64.h
> index 1cd58bc51a..fc667a80f9 100644
> --- a/xen/arch/arm/include/asm/div64.h
> +++ b/xen/arch/arm/include/asm/div64.h
> @@ -74,7 +74,7 @@
>  
>  #elif __GNUC__ >= 4
>  
> -#include <asm/bug.h>
> +#include <xen/bug.h>
>  
>  /*
>   * If the divisor happens to be constant, we determine the appropriate
> diff --git a/xen/arch/arm/vgic/vgic-v2.c b/xen/arch/arm/vgic/vgic-v2.c
> index 1a99d3a8b4..c90e88fddb 100644
> --- a/xen/arch/arm/vgic/vgic-v2.c
> +++ b/xen/arch/arm/vgic/vgic-v2.c
> @@ -16,8 +16,8 @@
>   */
>  
>  #include <asm/new_vgic.h>
> -#include <asm/bug.h>
>  #include <asm/gic.h>
> +#include <xen/bug.h>
>  #include <xen/sched.h>
>  #include <xen/sizes.h>
>  
> diff --git a/xen/arch/arm/vgic/vgic.c b/xen/arch/arm/vgic/vgic.c
> index f0f2ea5021..b9463a5f27 100644
> --- a/xen/arch/arm/vgic/vgic.c
> +++ b/xen/arch/arm/vgic/vgic.c
> @@ -15,9 +15,9 @@
>   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
>   */
>  
> +#include <xen/bug.h>
>  #include <xen/list_sort.h>
>  #include <xen/sched.h>
> -#include <asm/bug.h>
>  #include <asm/event.h>
>  #include <asm/new_vgic.h>
>  
> diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
> index c27cbb2304..18ff2a443b 100644
> --- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
> +++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
> @@ -27,6 +27,7 @@
>   * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   */
>  
> +#include <xen/bug.h>
>  #include <xen/types.h>
>  #include <xen/errno.h>
>  #include <xen/delay.h>
> @@ -35,7 +36,6 @@
>  #include <xen/sched.h>
>  #include <xen/timer.h>
>  #include <xen/xmalloc.h>
> -#include <asm/bug.h>
>  #include <asm/msr.h>
>  #include <asm/io.h>
>  #include <asm/processor.h>
> diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
> index d9431180cf..a8526cf36c 100644
> --- a/xen/arch/x86/include/asm/asm_defns.h
> +++ b/xen/arch/x86/include/asm/asm_defns.h
> @@ -6,7 +6,7 @@
>  /* NB. Auto-generated from arch/.../asm-offsets.c */
>  #include <asm/asm-offsets.h>
>  #endif
> -#include <asm/bug.h>
> +#include <xen/bug.h>
>  #include <asm/x86-defns.h>
>  #include <xen/stringify.h>
>  #include <asm/cpufeature.h>

While there's an unhelpful mix of asm/ and xen/ here already, may I ask
that you try to avoid making things yet worse: Unless there's a reason
not to, please move the added line past asm/x86-defns.h, adjacent to
xen/stringify.h. Then non-Arm parts
Acked-by: Jan Beulich <jbeulich@suse.com>
(assuming of course no further large rework is necessary because of the
comments on patch 1).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 10:25:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 10:25:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506874.780075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ82H-0002jK-9w; Mon, 06 Mar 2023 10:25:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506874.780075; Mon, 06 Mar 2023 10:25:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ82H-0002jD-6n; Mon, 06 Mar 2023 10:25:41 +0000
Received: by outflank-mailman (input) for mailman id 506874;
 Mon, 06 Mar 2023 10:25:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hnE+=66=citrix.com=prvs=4220c523c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pZ82F-0002j5-Pt
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 10:25:40 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3b129387-bc09-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 11:25:37 +0100 (CET)
Received: from mail-dm6nam10lp2103.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.103])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Mar 2023 05:25:30 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5725.namprd03.prod.outlook.com (2603:10b6:a03:2ae::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.27; Mon, 6 Mar
 2023 10:25:28 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.021; Mon, 6 Mar 2023
 10:25:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b129387-bc09-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678098336;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=To+Q6vplXy8M6Sr7Lf0mExWRChDCvip4MpaD1uk27k0=;
  b=bJhy/wnjjw0olKWXfELWkDV2lZn41u9UtfexlCE4hFoy190uopFy8H7q
   i4/f35ZoPlZjq0Zx4yU/OTxYTeh7VcPkU0Qc0NL102Ksm6d7CrIh0/Xx/
   sKg0czNKb9nGtwWBrEiW6Zle72YqpGMLMnD2k+K7ak4OE7tImXWf3/GOp
   o=;
X-IronPort-RemoteIP: 104.47.58.103
X-IronPort-MID: 98466576
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ycqNhKkt7o9eS4g9ALRtMgvo5gxhJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJOXmjQO6zZZWXxeNgkb4zk9B9SvMLTzdM2TgFkpSw9ECMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5AGGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dofcy0AT0Cfu+27zpyyU9VKoectCfC+aevzulk4pd3YJdAPZMmbBonvu5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVw3ieC2WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapDROHmqKM13jV/wEQ2OTcmbQee/8Wpj2m6RdFOK
 X5O6yox+P1aGEuDC4OVsweDiGWfohcWVt5UEus7wAKA0KzZ50CeHGdsZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluaMiEPIWgPTSQNVwcC7p/op4RbphfORdZqFOiylM/4HRn5x
 jzMpy87750IkcMF3qO8u0vbijihopzISA8d7wDbGGmi62tEiJWNYoWp7R3X6KhGJYPAFl2Z5
 iFcwI6Z8fwECoyLmGqVWuIREbq15vGDdjrBnVpoGJpn/DOok5K+Qb1tDPhFDB8BGq45lfXBO
 Sc/ZSs5CEdvAUaX
IronPort-HdrOrdr: A9a23:1z/kW6xoUSVskEY4i45kKrPwPb1zdoMgy1knxilNoH1uH/Bw8v
 rE9sjzuiWE6wr5J0tQ++xoVJPvfZq+z/JICOsqXYtKNTOO0FdAR7sM0WKN+Vzd8iTFh4tg6Z
 s=
X-IronPort-AV: E=Sophos;i="5.98,236,1673931600"; 
   d="scan'208";a="98466576"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CGOr2Gw1kvJB+Xo2i59tI2wJz9cp4O5E3xo7Eg+eYb+GMpbVUaqL7gFluloQIKfPoqTf2d6U/sHqwG6tlLtDmKBYuHIsaYUU/fRnRi8RoVjc55SZlA92WbxPTqrIGnD3oxbftFD2XpAP068pIFo85BRJDQfnRnVm+aGdf4Gbd6uS4n965Ch3Sj0OBA06BeFW0eFOgwqjHKZ1/JnXzCIzJmOlX9JM58IuFdBW1cET39rN91W9pMGWT75bwkECG3G8gGvIqjQE3bYf9G3VhweoRssnv9THGM8O7pJEIEYl8cCnbqrR999On4BXQI0qs1BtWphh+cZl7NQClocree44GA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mKaD0CLrMZ6aX2Z3CEuXe/uO4dawKUVAmhZZrz1Qul0=;
 b=Ga0xeTA9G/kYYo0TXK4+FQW6BOya62vh6WHIM1s4wh3AnZKsrykYK7AlHHWaHn833lJcb2ejEShimJ5aCTeDAaXNT2WjGxex/mqy6iusRcVznb/kEVn/8kY78ZP9XFd4IUcnuf01cHeZ64f/fyLeAzbbFeIySkf/vlzpCI6NxYboJGP4kV+nh5N/CdEHRWY6ZnY49affJ0omQRTJl0BXJYku3LxM0LXG2oqVEzZEmemHDyy2Z2xkL94Kcw8KnkZxcl7L1L5SA0X937ZA8uyqzM1V/WNy3bk57EPEUJbScaxdD3iDPKJiVYNgmuWIK1r8L0JYUSxnCbFZwjA7hjEa1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mKaD0CLrMZ6aX2Z3CEuXe/uO4dawKUVAmhZZrz1Qul0=;
 b=v6lTDpIsXvpu2S30rMOz9a0QMb2nR7+3NEoQV/2nXBtsKQwiNVoO/Ch/repIrBRaAI321tzxCM7vNiAYKbKw4y0JjDf76Q1pavPJdihQqFk2lEFfOeBEBiJnradoVAetnyrj4yZNC9jp6rxcXWWlfdIyny0gvlX5i4Ty7ETzprU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <290dec66-c5a5-0609-f95f-7e3bcfd3fc94@citrix.com>
Date: Mon, 6 Mar 2023 10:25:21 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [PATCH v2 2/2] automation: introduce a dom0less test run on
 Xilinx hardware
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
Cc: cardoe@cardoe.com, michal.orzel@amd.com,
 Stefano Stabellini <stefano.stabellini@amd.com>
References: <alpine.DEB.2.22.394.2303031554080.863724@ubuntu-linux-20-04-desktop>
 <20230303235719.1181690-2-sstabellini@kernel.org>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <20230303235719.1181690-2-sstabellini@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0630.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:294::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB5725:EE_
X-MS-Office365-Filtering-Correlation-Id: be47f139-d9c2-4c08-2885-08db1e2d1aeb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5CQ0kOvvolzhDwCxb9Fqa/WbSJfv96UfZ+xZPljAAH3SvXgWsO7BcLd3uZL2inS0L9OMbWKgCh5MyGuF+NPjC1aL9WFlTee+jVzg+VP4Mhhjuiv/pCgnQ1lcWCqiFD800Zw27nkIM6tprZ05USlcZ3k7XMNnX4aN1RNdhNAsdwvcbYwaKbtagKpK/R0hClSeZhbnEUNy9uzYpaSc4robbZDwJuNRUsvSVz/DrqzVO5mEWn9OWY7JcYwnjVFmIl671KDtifq+3VFRrGw0XCFOeULOXChFFbt26u1Cyuwh++w3b7pfUFg2ey9HeQVdIn9j6dNt8w6lu3y5HzMnCL1FfW/o1U0DW0I0fqapmUsgTXXqqoxt22dwfY3UwaObShrtd1kpSZ9qtkX2Zvk2lfdbbT1sMvx9WLjxNHM4YFpci4dgYz6Iw/019t0Fwv/n2uHPlVlF/0oqspgJhKBup8iSVTfn4jDc4SVh9ZTDgVRo8xUI88oz69TZWy7te4FssRZ0zi0YZpzs2MH+RKuWcPE1gzmdNMAvIFtd4q9FiJLQS8bDW+chsJq1bhZ+urEWG2hZftQuGBqIiVMDAmHk9ZCJxZNaUZYQLFn5XST1ksFODaDOpZAf41+3O/qhRutAvyyVEe1cLXR9K0TbdMmJjvv1NLmMdVpxd3Y4N405ExfKfuSDOcvYtuSQnpEzXP2Bh/Zoj4q0kLUc29Rag3EnVtuyYEaJUuCszQNi4/P207ptkYTEfMHDewCDNFA96P2WWLS9
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(396003)(39860400002)(346002)(366004)(136003)(451199018)(31686004)(36756003)(316002)(83380400001)(31696002)(86362001)(6486002)(186003)(2906002)(4744005)(5660300002)(8936002)(41300700001)(66946007)(4326008)(8676002)(66556008)(66476007)(478600001)(6506007)(6512007)(26005)(53546011)(2616005)(6666004)(82960400001)(38100700002)(32563001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RURBeEVRMTV0b2xlalVvRFNzVU1GUXlaTm5aY3FZTDdqOExLb0FrWWo2clVq?=
 =?utf-8?B?N0xmQzU0MnExcFJCdktsRmhES1IwWWVzUEUzSjg5YzVOaUxYTVNDUk1IQi9u?=
 =?utf-8?B?K1BxcWVoZms2Y0ZPb1lOejgxMnV1eTBoYlIxOWN6L2tUYjBjc01GRkpEa1I3?=
 =?utf-8?B?MlhCTEgvR05oTVVhVUZNUVk5Wkp0K1FqMzNXQ0k2ODFOY1VaYVZ5WE5JUTND?=
 =?utf-8?B?bTM4ZytLSHRQS3A3WU05cEhSYkZVQ0JES2hndjVkT2tTbEdJODl1Z2NQRzFE?=
 =?utf-8?B?VkNtd3dvMUlSTmMzQjZxLzNhQ2wyUCt3Q1lZS00rZDhwT0Q5N0cvR3A3WWFD?=
 =?utf-8?B?WGpwTzEvZ05hN05INXR6MGJpZTN1S3FBaVMwYVYwWHYxR0d1eHUvZEQ2OCtw?=
 =?utf-8?B?MDJBTWdka0hwdTFCQ3EveFR0eGNrNU5RZVB6WFNRU1hFZy8vUTRzTmoxeFZk?=
 =?utf-8?B?WHNBbTNjTDNZZHhwN0d5VkJrWHJLZDlLL1lyN2NiVFArQUYzbUNJWlByenRt?=
 =?utf-8?B?emM5UncwT0FzQnBsWGhINjBsWVBQK01yWnpWNzZLTXBhK2N4QmhjYU9SVmhK?=
 =?utf-8?B?LytyMjJ1eDdCQTRzS0ZPb1lXTGdna1owVnlhS05saVNYQXlWeEpSVFF5V2ZK?=
 =?utf-8?B?Tnc0UTk0c1ZFNW00NjN3bGpNL09mSG9CYnQwd1I3SDl2Y2RvTWUrRC9Od214?=
 =?utf-8?B?azM5dVU2UGJKMUErck8yOXNuWVJTL0NMM0wvRmJKczJqWDJ5OWMyYXo2b09Q?=
 =?utf-8?B?Tm9LZUltVlVUUnBNZWFxNk1CT1NyTi9wSWFQbTd2TDhzS0ljb1lYTmdxcFYy?=
 =?utf-8?B?NnFkbFVmUjFMbUt5aVo1ZGF5VE1hRkM0eXlYdGNSM2gycG5EeUtJVzV2Lzgv?=
 =?utf-8?B?bXFVWFU4VExVMXdYZCtraFYvUDAraDR6T3p5MDNMdWNUNDF0MWNHQUhQWGpz?=
 =?utf-8?B?VmZvLzMzT1dXL3lyWkNSZ2FsV1VFY3hYN0lxSXJJaUp6MExIUlBteHd3NFpJ?=
 =?utf-8?B?SmVJd2RkYm8rTCtUbXNTMEx5TmN1M0kyUkMrVWxveFgyeWhaNFdSRDdTUjdn?=
 =?utf-8?B?VnlIMW55MkQ3dHlOZXJmTG14NUd2OTA2eTdmWDlSaGF0WGdMb0Z1Qnh2RVdJ?=
 =?utf-8?B?bldlMkNZc21LR3EzaE4rd1R3QjhtOGx4RnBQZ0lvREZZK1piZ0VhMnErZjVY?=
 =?utf-8?B?K3JMVy9qK3RoVlRVb3Q5VnBxRTJjR2JUbXhoRXhYUW9qNUNmOU94VFJJNlVh?=
 =?utf-8?B?OXpVaStPVVZmSkd3RlRBa2g3TlNaY0NMTEI1c1I5VTMvdHBZc0YwM05pNFh4?=
 =?utf-8?B?VEZwVHIwc2Y0ZlhWTzZ6eXBYengwZGUwWWZyU25DSGI0eWZPZWpyWFgyRVZS?=
 =?utf-8?B?WGZtNisrVC9sVTZDeU9lUDdFb3hOSkJ0WS9GVkFwbHZDaWdQamhBN3dyTVpY?=
 =?utf-8?B?WGdZaFhKL2toZWRnbThNZkNnSTlvVUR1aHNqNmRFU0hkZ0o1OEdhUzUxMTlL?=
 =?utf-8?B?S3N4K2tnVDRjUGdEUGp1QitwUWtuNERGSXZ6Z3dMbkRRSlZpUVM2d2x2K3po?=
 =?utf-8?B?UXdXd0FtdFFVWGxNYVludlZwM2dSZkNWdlB3a3JIZzZoRWFxUXBxTTZQcU1q?=
 =?utf-8?B?OHg0Ym4xakF1ZFNQU3Z1cVVIMDJ2QnFuYjhkRmV6T1JPTWhhSUxneENVdkxE?=
 =?utf-8?B?V0g0cjBOcy9FbU9TRytPR3FGak01Ty9KTnEvbVptbHh4cVg4WVgxd0pTTnNz?=
 =?utf-8?B?Yzh4SFkwMzNtTzVxS2lPREt5bXVhaG15NlI5QVB1MkNBVXhTQUt3ZXRoOXJT?=
 =?utf-8?B?RUpvZlZFVm9pdW1NbCtVc3Q2ZnVmVnNIYXJNekpKNk42RW0vSk5rSWNYa21z?=
 =?utf-8?B?am9EQkRUak9kTW1XZnNsb0ZJWUp3d3Q1RmV4Y2s5ZmhVRXB4M21EbzhlMFVH?=
 =?utf-8?B?WDRzbndDZXpsMUlnUEtoaURGY2xFVEpGeFNoQllMVXVDblpqOXExUlpLYzVl?=
 =?utf-8?B?QUJVM2FkdzlMWVV4eDRzQVMxdnBWQnR2R0hFZXVrY09GdTFwYjRsTlk0WXJy?=
 =?utf-8?B?UWFLQjRFeUs5T3lKWDBoTFU1R0l1a2thN2RjSHBPRTFZWmM5MUpla2FnVGd5?=
 =?utf-8?B?Nk54dnlNUDA5MzZ0Ukxkem9zUnZJRnduY0t3NGNoZ2JxeStRdkY2bGI0WXBG?=
 =?utf-8?B?MGc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	xxr0YLZ54TVtjqB0GtllRtK5Hcg6fEduje5zifs4j8G4Ff+I+kfFWXJHsv87lKpxHCyPm736W/pXxPLP6Tyrm6WcIVa9zH7jGoaeH60vNohKVDbQJgLnbvwrSYH1thDXDVCzauDWYpPmjQwiTFC93jZWDZZ8ftNuOV0yp7nWBSeltwwvAVoIl8K/0AvHxRFNXwpdMAwEF8ON8oDGkVCPM8FJtbn5IgArBa0UvZc/wvfbfx66S2i7zQgW+2pypVntEYjpIc7fNHlV42umK3MADcx24j+mA0WsNhkfjVt4/bD/DCrRwJOliYdYH3tW63NguhmwVB9I7MliZUAjJ8oc09l33mR+DI8JWNIQisnCPMtmGZbKKiQKXd7WKU7IrYZT4TlzycKwoX5yde/jj3fuiuQK5jzYFbSJG8FEQtrRNglKOZ4Kv+jBR5bDeKIVIfmHXT34cWtSv8eCfnjHIi50bqNLZJnrvrF3TPjkmNOzLJipK/2XFHI/ksIKpvSGDM4SKLDXIt0ACJFtCFWX/H3lvBtJc0ukNDHxl223nsyyP5dITadv6s7PAljlfj0sZjzhaQfYG6lMw/gnIdLsfe+4ntrdzQ917fxyKauVi9iRZKTanpx4SB94YucE2QWn3UKSO6mHB/h4Lbz2WKAUIXCtEXOZITl5brpXuHkAiwKLEkcP7rCVBc3ZE5xEXrDaeAcZ9K7fV5Nf8SHVaZFw2uAone0f4YqNvBq3FsiO7wpM5ks3cItZuWUpPnbu5o7uSeWwFfPhl9gyi+nDfmljppFlX9BVTkRMEVYYZmtajS+o4IkSPTQg8qZ69995mvfiPWcvp4u7C9OEpFnjitX7OtRunVnpY9GE9l40mp+o0FHe8sk=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: be47f139-d9c2-4c08-2885-08db1e2d1aeb
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 10:25:28.0318
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: m/Qsf+SRpGOFGhsgGkPywfbnCovv30lbIGE0mLkZNXAZq1fd0tP386ZBwPu9P0mAQj6XCAlCG2q8AwVr7YIZGoQ6gzVkZh4TRyPavaL1AL4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5725

On 03/03/2023 11:57 pm, Stefano Stabellini wrote:
> +  only:
> +    variables:
> +      - $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"

We don't want to protect every branch of a tree that only a select
number of people can push to, nor (for this, or others configured with
the runner), want to impose branching conventions on them.

In all anticipated cases, those able to push would also be able to
reconfigure the protected-ness of branches, so this doesn't gain us any
security I don't think, but it certainly puts more hoops in the way to
be jumped through.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 10:37:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 10:37:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506879.780085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ8DT-0004PX-By; Mon, 06 Mar 2023 10:37:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506879.780085; Mon, 06 Mar 2023 10:37: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 1pZ8DT-0004PQ-8U; Mon, 06 Mar 2023 10:37:15 +0000
Received: by outflank-mailman (input) for mailman id 506879;
 Mon, 06 Mar 2023 10:37: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=MPo4=66=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZ8DS-0004PK-4V
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 10:37:14 +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 db08a082-bc0a-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 11:37:13 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9445.eurprd04.prod.outlook.com (2603:10a6:102:2b4::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Mon, 6 Mar
 2023 10:36:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Mon, 6 Mar 2023
 10:36: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: db08a082-bc0a-11ed-96b4-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AuUYYccodyPOSSLozp67m0IxpnKNgULPa8+QFR0g9nNHskimkGzaOwWXZaUjJSeZPzPYTAj0h5Vs+F4zVmIY6NbHhjUt4ulj14xe2/f7t1y+/yJz75cwmFjYbWxNI8ja94dOSUM8VZyxXro3xhkAuTlyCSpZi6XY3eNAXWnZPiOwtQYZSjAPgui/vBBjR/Vo/csEb6yLoxjf9s8hYDsiKJzhHg+TA53CNTsLBmUPzqTUSd4EaFh5BhydBXlyQeSMWll2rQw9Ki89Go7Ded6Jd1nGOAI3XbPzT82u1zb4O7t61082TU4o1x5Oh78gqy3NF22eJC4Fbt3w3R7N0KNK2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sjV7+76idGZtPwDM4jutpaCQclbaHRpaK4nKzjauz9A=;
 b=BH5icuLCr09nHoiNrJXxbAA5Ojz7qvpUktqLu1xRx1r2fqxQSasrWlggaNc7rLcyYjRzGehe4vlAX/epHwZhUa9OfjIgviH0i+KKCp7v+1IzJGPqGK5gmeO4SxGBAd+VOUNIg8gKTLJIyWcQ8nN9sktTye9eZhPCePNKpebHo6GTIlwdp6Lwjqb+qoexUKrQlAOp30q/tewZLze1mpgcCAawBjruFf/BjzltBN7oxWurd5Kk/+MArWCMC0JwO18Dcc7F3jWFppVdlOaXaMK/32DCpo8Oqenpc1ZoKxXyFV4UmAavh2EYLMIkTGsFeTqmNOL7d7DVOqUL4WXlNN4D3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sjV7+76idGZtPwDM4jutpaCQclbaHRpaK4nKzjauz9A=;
 b=g0hvsb3MdIf2LaQsByBAKJlQ6IVBWkkvl7sszZiser6dx81fTuM+0RftOgGvNQ+SGnp7M6NIECa1yk7MUvCRdsdg+LGDV8Qzc8tpK4eqfIrb7clH9VQPeJEaH0HA/r3oSjVVktQx2kBKOnSGuINx0cluc48KQ8xFc4cYARjSSq8DzE73/7ODhxXWRN5+UiIxCed+iGku7/Za2gLw+ShDDCE+wTl4ianZlzkf59WLLncYMwMCstWUMQ5oUtF3/z8OJs8kfe60ttzloDa7lI646EUxd00W0rrcu4T8ycYnLb8U/RPvjfhnObabSoyS3G0LwgE9E5ZA14FExhLSYE4dBA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8a7920d9-9622-195c-2706-2b435c2c856e@suse.com>
Date: Mon, 6 Mar 2023 11:36:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 4/4] xen/x86: switch x86 to use generic implemetation
 of bug.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.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.1677839409.git.oleksii.kurochko@gmail.com>
 <4a478638449e66a76e1671db38ec29b9e3108201.1677839409.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4a478638449e66a76e1671db38ec29b9e3108201.1677839409.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9445:EE_
X-MS-Office365-Filtering-Correlation-Id: f9acdd32-d86d-410a-1264-08db1e2eadfd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QseKEVhSoG1JRCmIrSKOHlX8u9xQ6uqdqEJZteVVMdWezkSyVJus4YPOoVTtjLpqyJ1uNtEyyExSz92k9Tl9SuoPN5n069A7k+Cw8tm+Tbs3h0jW/MLn+iUGL9inx7g8+O+E0o29HXckXpD8K+GcPpWEg3ghZmTAM4qfHroritJlIIT/vZ9dwuHYBGFRSMfRPQ6I+JspOMsuscq5l2Fz3KsuuU2RQcDspMzjSNe3gmoamCaRwQ9rSNAw/d5TKRU0WPoRJ8QyuxuzCwyAlEQ+Mt/ZfF81nDhNvstwW/knmegDbLsynLGJY0lXwzphKN2bzwHzxIafaUI42GJmBz+JFoIx7tNVesLmJNYUAwQmbJNo0w8b6t70kpCnsJdXegjH5LZmAZFQE0EKb/50PF1F/wiHgIXDkAU45d8YhsEdLvu5+egvAOneAzeIrRPaTs/LJWm853q8clrIVGx65wl2oAb8OGsUoAdN5C0GcFolQZAJJLM/D+wW/4vc7nH/HoDSaqXWaomvA+ggeY8lQtd5QTW8qPpNDhtCtpOXEZ0QxjRdgq28o+APqKV5ogfnIbA9vuC43S7KCJ7klp82ZrJqf/OqMbAv4Yi4BUuSuGdyhmzhnDaBsvxTZeHXlj3SwJvrXZboSEIc7WEtWKzOlw+NyTU6sK4Z0jIkKh/7xLr9Swg9cSoM5q9DwsEll177SGasAWY3I6ktwt1Q4J29Sqpa8NPqJOKk7D22D64nBrKywex98g0MYxwNHN7btEkYAErf
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(346002)(376002)(136003)(366004)(396003)(451199018)(31686004)(54906003)(36756003)(6486002)(316002)(83380400001)(86362001)(31696002)(186003)(2906002)(5660300002)(66556008)(8936002)(6916009)(66946007)(41300700001)(66476007)(4326008)(8676002)(478600001)(53546011)(6512007)(6506007)(26005)(2616005)(6666004)(38100700002)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WjJKazFZeGxodWJTeVlpNzU1UUYyRUZLRTExVFc4N29GNGRUNXpraytDdGF2?=
 =?utf-8?B?U2Jkb0FpY3piZ1prbTVmb1ppWGp3WjdPNTdodWE3SVdNaS9ZdDZ2bGR0OHhC?=
 =?utf-8?B?MXdSZHR1V29CUGZncWpKMm5aZ1pBUFhUL1A5UEJlNGZYNXpTSzdwbTl3dGhK?=
 =?utf-8?B?c0xOQnpOYTJRTWViWVk1SkpNOFNZMTJZcjNiQXlENU11cGZyTFFZNFA3VWxq?=
 =?utf-8?B?QjRjRWVFYVdkL25OU0JneVVtUjZ3cWxrVGxKT1hkRDNzNVBPY0N4dnl1eEtw?=
 =?utf-8?B?amMyRndVOFJ1Nnl2ejJ3M1NWNjF0VXdQVEluamhrRGNheVliTHRqQjdlNmM0?=
 =?utf-8?B?ajVFVHdjL0gxQ3JNb00vMm9LaktOb21oVm5KVnRJN21IQUxENmJObHovMmhz?=
 =?utf-8?B?Tk0wbEZONjMzcHZ1U3ZiSVgydlhIL2U3eVB5NEw4bmtUZGFnNjBrWTVkejh5?=
 =?utf-8?B?dVpxZVVydVFiVGEzRndRekVXN3lHaG9TajhOSDUrbURiUlZKY3J1UjFKcitT?=
 =?utf-8?B?UFZsTFRKcHBGa1VNR3F4b3E1US9jOG1QUFFHQy9oOVhtSXVoc0wyU0t6ZnpT?=
 =?utf-8?B?c0NseUo4bkIweHdNZUhOZStUczIrRDM2a3NNWHRtWDNVeEZBVGsvaTIrTWFI?=
 =?utf-8?B?R084YWNrQ3hyS2tqTHo1Tm1JcVVzVkJ6a1hjSnFpOEV6aWoyN3J6Um9yQXVk?=
 =?utf-8?B?MWpUOFp2RVNkbkR5WllNaVEyMmJTREhLOGlZYWpCQjZDZTB1b0pkbGNSRk54?=
 =?utf-8?B?QlhXSG83a1NmK3NmWWlIYzhlVE1XbUJ5QnltMTk3TjJTTnF1RFRvVlhnYXJi?=
 =?utf-8?B?Z2pDcGRRbGtENVVUMFBFUGJvcEFHUUZLZGZ6YUNpL1lZYWc4ZGlLNHJLS0sx?=
 =?utf-8?B?VEFHd01oYitXUGNOWThBMUg5ZTQ3a2haTWMxYnV3TW9qenk3Ykg5YXdNb3lM?=
 =?utf-8?B?R2VkbWVsblpNdDV2L3lvV0x5V3ZhVzlLWE5vcWlMdmxzNU1XTnVUa09lZFcr?=
 =?utf-8?B?TkhTSjlDSmFYbU1QOVVQZ2NTYktjTHRFQWVpMDQ0cUZoVGgwanozYWZZMXRL?=
 =?utf-8?B?SEVsaGdtcWZrMllmZ0NVeUR4dkIxY290QXpRSUlnbzZLUWpsa2E3dEdRcHRI?=
 =?utf-8?B?eEo5OFBKUEZxaTl4ZUlFSnNZaThvT1NiYndaRkJNaUkzOUR2bTZvc2hBZTRC?=
 =?utf-8?B?MVJFYnNjQjhGam5VMlY5cTlEVVRmYy9id0dqOXE1UEMxNk5majRKWlRCc1V6?=
 =?utf-8?B?SUZRWjROUVB0UmhvaWJoenR2UWdHQzh0VzE1YUZtUUduZmZUaEYzOXJmSE9E?=
 =?utf-8?B?cTg0Y2lBZmtpcURTcXJlTEJqb3FQOFNPVU5LL2lDTGtsa1VjSVBub3RQRysr?=
 =?utf-8?B?TThwYmxtNllMMDI4ZG5SQzBIbEFTOTJaUFZid21WYm4xS2JaYVpaMkNFWjVR?=
 =?utf-8?B?d1lsV2wxYkcyRVRJdm4vRC94WGpLU2NOZnh6cmlOMGFhUlVDcXhLM3dFNXRC?=
 =?utf-8?B?bTNCK09SNkxGSHhZSUdMdG5qUUd5Z3JLSXoyNmxEZXNrVlRYdno5cU0ySVM5?=
 =?utf-8?B?M3pzeTRKZ3FLcER3N296bzFJV0w0TXJVSWF3SmxJMy9vZnhvQUVQTUtMNzZk?=
 =?utf-8?B?aHI2MnV6SjU5UmNWOVcvdDNrWVdvc3RzTnlnQWJOMXJMbGt5K2d2UnhTVUY5?=
 =?utf-8?B?T3lTSlBoV3lWSmtBaDRuOU1GcklUaFRNbWpiR3YrbDVzQmhxR3RqdXpEWmt3?=
 =?utf-8?B?dVBxWTBMQklibWt0OHdSR25Uc0E2cmN6Mm1COUVvZ0RZVGpheXp0WGtLYnN4?=
 =?utf-8?B?OVJBZWdzQ3VybmJCZlNWRnI4WnFGb2xleFRXVHFpeXVIeFJtcHdPQklEVmR0?=
 =?utf-8?B?bUJuTDdCbFI1Wmg4SGdiTnpJTXlhenhPTVZMbmNyUDlNOTFwZDRDRElaSHRW?=
 =?utf-8?B?elI1cVlLdjBwRm1qY2sxT08wcGxTYmgrbExoL0wrSUZhSTg5SEdHUFFvYmJM?=
 =?utf-8?B?eU5ZT3JWZUZ1TXNhUDFReFhNa0MxbUFNM3F0WEMwTWw5U21GYUdNVjU2S0RX?=
 =?utf-8?B?MWVGRzNoYnk4cTgxNzNLRG5EWE53ZTd4SllpNURSa3hDcGtoZDRIcGtYYXJQ?=
 =?utf-8?Q?Q7NeLM/VMypA6OPJI13GwtWbU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f9acdd32-d86d-410a-1264-08db1e2eadfd
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 10:36:44.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: MgmK1mBQSsZxO3wr9whux2+38Ar/rflSvTNsbrnXU9ycKCrgDSgk1f3GimZu5Hgifxq3b7cMop9DjrsixuvSyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9445

On 03.03.2023 11:38, Oleksii Kurochko wrote:
> The following changes were made:
> * Make GENERIC_BUG_FRAME mandatory for X86
> * Update asm/bug.h using generic implementation in <xen/bug.h>
> * Change prototype of debugger_trap_fatal() in asm/debugger.h
>   to align it with generic prototype in <xen/debugger.h>.

Is this part of the description stale? The patch ...

> ---
>  xen/arch/x86/Kconfig           |  1 +
>  xen/arch/x86/include/asm/bug.h | 73 ++----------------------------
>  xen/arch/x86/traps.c           | 81 +++-------------------------------
>  3 files changed, 11 insertions(+), 144 deletions(-)

... doesn't touch asm/debugger.h at all.

> --- a/xen/arch/x86/include/asm/bug.h
> +++ b/xen/arch/x86/include/asm/bug.h
> @@ -1,79 +1,12 @@
>  #ifndef __X86_BUG_H__
>  #define __X86_BUG_H__
>  
> -#define BUG_DISP_WIDTH    24
> -#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
> -#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
> +#define BUG_DEBUGGER_TRAP_FATAL(regs) debugger_trap_fatal(X86_EXC_GP,regs)

Along the lines of a comment on an earlier patch, please move this ...

>  #ifndef __ASSEMBLY__

... into the thus guarded section.

> @@ -1166,12 +1167,9 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
>  
>  void do_invalid_op(struct cpu_user_regs *regs)
>  {
> -    const struct bug_frame *bug = NULL;
>      u8 bug_insn[2];
> -    const char *prefix = "", *filename, *predicate, *eip = (char *)regs->rip;
> -    unsigned long fixup;
> -    int id = -1, lineno;
> -    const struct virtual_region *region;
> +    const char *eip = (char *)regs->rip;

I realize "char" was used before, but now that this is all on its own,
can this at least become "unsigned char", but yet better "void"?

> @@ -1185,83 +1183,18 @@ void do_invalid_op(struct cpu_user_regs *regs)
>           memcmp(bug_insn, "\xf\xb", sizeof(bug_insn)) )
>          goto die;
>  
> -    region = find_text_region(regs->rip);
> -    if ( region )
> -    {
> -        for ( id = 0; id < BUGFRAME_NR; id++ )
> -        {
> -            const struct bug_frame *b;
> -            unsigned int i;
> -
> -            for ( i = 0, b = region->frame[id].bugs;
> -                  i < region->frame[id].n_bugs; b++, i++ )
> -            {
> -                if ( bug_loc(b) == eip )
> -                {
> -                    bug = b;
> -                    goto found;
> -                }
> -            }
> -        }
> -    }
> -
> - found:
> -    if ( !bug )
> +    id = do_bug_frame(regs, regs->rip);
> +    if ( id < 0 )
>          goto die;
> -    eip += sizeof(bug_insn);
> -    if ( id == BUGFRAME_run_fn )
> -    {
> -        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
> -
> -        fn(regs);
> -        fixup_exception_return(regs, (unsigned long)eip);
> -        return;
> -    }
>  
> -    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
> -    filename = bug_ptr(bug);
> -    if ( !is_kernel(filename) && !is_patch(filename) )
> -        goto die;
> -    fixup = strlen(filename);
> -    if ( fixup > 50 )
> -    {
> -        filename += fixup - 47;
> -        prefix = "...";
> -    }
> -    lineno = bug_line(bug);
> +    eip += sizeof(bug_insn);
>  
>      switch ( id )
>      {
> +    case BUGFRAME_run_fn:
>      case BUGFRAME_warn:
> -        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
> -        show_execution_state(regs);
>          fixup_exception_return(regs, (unsigned long)eip);
>          return;
> -
> -    case BUGFRAME_bug:
> -        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
> -
> -        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
> -            return;

This and ...

> -        show_execution_state(regs);
> -        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
> -
> -    case BUGFRAME_assert:
> -        /* ASSERT: decode the predicate string pointer. */
> -        predicate = bug_msg(bug);
> -        if ( !is_kernel(predicate) && !is_patch(predicate) )
> -            predicate = "<unknown>";
> -
> -        printk("Assertion '%s' failed at %s%s:%d\n",
> -               predicate, prefix, filename, lineno);
> -
> -        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
> -            return;

... this return look to have no proper representation in the new
logic; both cases fall through to ...

> -        show_execution_state(regs);
> -        panic("Assertion '%s' failed at %s%s:%d\n",
> -              predicate, prefix, filename, lineno);
>      }
>  
>   die:

... here now, which is an unwanted functional change.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 10:41:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 10:41:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506887.780095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ8HR-00064C-VB; Mon, 06 Mar 2023 10:41:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506887.780095; Mon, 06 Mar 2023 10: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 1pZ8HR-000645-Rt; Mon, 06 Mar 2023 10:41:21 +0000
Received: by outflank-mailman (input) for mailman id 506887;
 Mon, 06 Mar 2023 10:41: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=MPo4=66=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZ8HQ-00063z-3R
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 10:41:20 +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 6d03328c-bc0b-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 11:41:18 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9445.eurprd04.prod.outlook.com (2603:10a6:102:2b4::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Mon, 6 Mar
 2023 10:41:16 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Mon, 6 Mar 2023
 10:41: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: 6d03328c-bc0b-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GSMEdchod4W5ULfStavJoguauOS9mjV0CYX46WHIFOzQB8gqBlVLEOvdyiyO67+KRl8tWZ+BlNeSR6heMR2Gvn0ffzG7AZIi1oF/TCyt2dVDnxrauuweX1CPiXDsiBMCsoV2x6BeJWJo2/KM0rcqhQPy5V9v1pSMhSWUOUjlke1RSRiCMFXX6aE2051u8E0Jfbn+ElCOReE49NUPjGy5YOegYPOBrJkN8/auk525U3zjF6pETzoq5RpevMq54wVPdRHbOF5hWpJ5W+H+vN022kKEJphbsJ5fwzQ4RgKZOLO8JTez5rJZ51rOzVTuTDOddHw5TW/6UjDecGXKga/fSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LSHBS/m3inQc9WssuHBnydIzn+s7J9z7x1h0dFH4KjY=;
 b=ENMtnLLSt5pzDtjEyO9PUoFUEfY+HrzuFiNyoZgFZtHyACPCaoIHydo74URZyo5hCReZXXsRETQTNBlOBjdT0QXlMy24cCdWxBWEeOwaZms9sx04B7b+dzYK+p3BC9vSgA68mZY2UfQU8kWL/gbrqD1mALWLa20xewedFga+bk7POgukc4TRxxBlzzDnBvW1fUs1CO2D4hUScLHCbWH/G2cUp880k30qmHm3bC5Dxy/SqZYrBYRRPHpCSsbTHFDl7pdgMDOhEcwRdbAf+0K6/qPVm5Sl2qhYX5n9QkOiry61bx0PoKVqkw/aF88KXDkSdq66zxdaf8L+tUKgl45jTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LSHBS/m3inQc9WssuHBnydIzn+s7J9z7x1h0dFH4KjY=;
 b=fTt8/1Ok2v5q6eZS9lHhaCQmKJl6LwE9yA9CgoDh65zQIv4aC8gakCqALcTcfA8K5BDJz7DlalcU67uEEnWOBOBO3dC8/S2RH3dACuIXthPSP2GDmrzesTncCfynkJfn6vc+2t8Vyn4y4NXcccdhqLuiRPWp14RkWeqm5liBtl8qCEpS3gh1eEJlE1kMWHTmUv+3bjufV5+C1ybXlUPgteu0xVXN+kTDQFpG34o4ehixzkR8diOgV/uZjs4Fx7rmQb6GB5QVVXeA0+yX7ksGXks2QMiMS5Ltb17jgwf9mq1Us0JplrSciDs0sL2j3+SLnNqiq0XHJc1Qm+dzass2Cw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7c5bcb62-e8fd-1073-155e-da4f05772ad7@suse.com>
Date: Mon, 6 Mar 2023 11:41:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 1/4] xen: introduce CONFIG_GENERIC_BUG_FRAME
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
 <5cd3dd5233cf41ad54ce1cd98b706085b95bfcee.1677839409.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5cd3dd5233cf41ad54ce1cd98b706085b95bfcee.1677839409.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0003.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::22) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9445:EE_
X-MS-Office365-Filtering-Correlation-Id: f1eabcbe-10e8-4a20-cfc7-08db1e2f5066
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4z+Ntp4GMM6j3756dPSTJgIkLhI0mPt4vbDqlDe7ZqGtPN5kX2hZA/wsvjcGp0JpXsEmdDWp14d4IuCcUycGkGTKCh9S50klLYuiirhwJ6wWQ4MJ9Hq//SibQuehFn23qqQS4N53d+ostxkD/uZURzbf6Ximom3airAo3CqsVmS/05QRcb9DJtTDwjM+tGq0DrGft3WNMEl/qVczwRw/+EJp7btTvrduN16wLf5gquU1YlqQgzQ5rn0WnCRow7tSBuij05IghNVpDi3WJPUbheyIYUsMfvTqVTQtiKYFdDNTC4+oNlt4+BarJIDDZd7HawmVJ626cJYUUjhqzBf6cSKafAxgOkrQHPV0AIfM9huL3p6zJecEr4t1icVfldDTvNpVsD5RneD6k7nvNtZGovNPeQ7VLZLCP/JUMHkNLLI2oZA+GF0F8d5ZLgcN6zUnse78NBSUvjk7JTeHIgncCHiI8EK+uzVl9YU8HJFJT4UFb3ZCRz849RmvfhztQYI7nriISKgQHRXzShbU2Q6xtu9ktWBQfHKYoqojJJkYpcEoqqxrbX7KzOOA5G0t/ZIL5+I+WIk4gZ5xcVKcc4H+g3sCdUv8rd88NfOo4S+X7xDcuUhvaJGnxoTA0YL3ZpO+2sCBBVmI7seBvA/t7MX0EzjfJ5pIut9rnALqsugEmrYw73bZhhplS5fG1o1ZnpF8AZZcHljDP91GH5CwaBvjp1JtumtXgNKTryGdzQ7wY13NBCQhb4FAKcPMUvoSaUbP
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(346002)(376002)(136003)(366004)(396003)(451199018)(31686004)(54906003)(36756003)(6486002)(316002)(83380400001)(86362001)(31696002)(186003)(2906002)(5660300002)(66556008)(8936002)(6916009)(66946007)(41300700001)(66476007)(4326008)(8676002)(478600001)(53546011)(6512007)(6506007)(26005)(2616005)(38100700002)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WHF5WTR0SVNzeU5jR1FqZ2hncGRIZE4xNmhRbVBqWVN2RXQ1QlUvRzYzejZt?=
 =?utf-8?B?eGVjRlRqZXZsVkFiQ2xnRTdMbTQwT0ZjYlA5WDR4azFpTnJBeG9ZYnBFTDYx?=
 =?utf-8?B?Wm9XZTByOXgzMGZGaXlBT1o4OFFhOElyUmxjWWJnellYSm5qSzl5T0JKY0Ny?=
 =?utf-8?B?VTBEUnQ5VVduSDlQT1ptdUxWbEZ5TndFM0pHYzdSRmlVNW9OL1FyZnVLUUpu?=
 =?utf-8?B?dkN2UXZTNCtYSVFHbnNGN2ZCSi9URFBvYzdmNkFNalRiWkFicjRpSUZyelBw?=
 =?utf-8?B?UVduQXo5Q0k1RmloNk1BTGlFeTNzdVNhcjNjOTQ3aHFyMVJnMk9CSVlNeFBw?=
 =?utf-8?B?RHcwVWZWSStTb1hQQXBhbFVvV0RMN2M5R0d1cHlFdlo3T3podThmTmx2ZzVn?=
 =?utf-8?B?aGg0TzYycUpLYzBnZlFoUzJpazBna0syWkJNcjI4OUltWC9PMm5ab3hqYmZR?=
 =?utf-8?B?NWhvRE13RFluY1kram5xZVBvU21xWGFlVnZPeFdvQVFOSUtWdXdtSjNFQnl2?=
 =?utf-8?B?RVFRQmdXOFhOVU1uSjNIWCsvQldVUVdwTzhjUERrdEx6YWRzdWR6US9USDZ1?=
 =?utf-8?B?S3BkWjNGdzhRNDRtSmh4Um5pUlBaSHAxWS8rVnlHbW1XazlIQy9BVU9JaEVL?=
 =?utf-8?B?cm9EOG9xVFY2YytSNkQrTWlXa2tmL0hBUTdhL2VjamV1UTFOT29GZUUxSk42?=
 =?utf-8?B?WEJSdWxZanJ4MmtuVFZWQmgrWUZUVXFsUjBmeFFXaThkYWRRNldZZVFCUk5o?=
 =?utf-8?B?cWRtNFRFaFJOYVRYbnhtK2p1WURxMVRBYnF0MUVpb0lBNTNhQS9lVTN1Z2Vl?=
 =?utf-8?B?VG1OYys3ZnpQR0RmOG9iT1o4S0RhTTFIRGlqOStDM05OV1BUSE5LbFl1VkV1?=
 =?utf-8?B?UmJ6UnhCbmZ3UlFud1JqZWxhYjZyM3liOENzN2JBVHd5OGlTbVVZN2N6aHl6?=
 =?utf-8?B?SU56NjBuNUNlbkFsWEZBQXFwN2daR1Zxc2xKSThYQzR5UUxPM0JNdTRKNFFF?=
 =?utf-8?B?V3phb2tJVzFDZ1liZ3E5UTZpV2svcmVhZ3NKa24yalI2eHFxWUJQWkd4UGRH?=
 =?utf-8?B?RTBGSlBtdVl0YXNzMDlWTkFWS3RYYjJvUFFRODZKQ0pwN1VBWUwrZExZdGV5?=
 =?utf-8?B?enJQVUpndzIyYVFCcDdqcktiaVB4UFNPSmplcEhEOTdoYmJIdGhRd3lXWGM0?=
 =?utf-8?B?TEFUTC9FRG9xSlVHOEV2cnN4LzlUSy9ybFlVS3BZUFR3WDVDU2F0aklPSkFj?=
 =?utf-8?B?U1FaSmxsWXZRNWRVU05YR0VkRjBiM2RHRFRpU2Erc2dxTnRudWoxNlVkNnNw?=
 =?utf-8?B?YXAvajFoRmxhbnh4NFJmaG1YUkhrZjY2Z3JGZlhSbzZ1cVhqUlVialVKYVBl?=
 =?utf-8?B?MmlMb2NUaGJLNHhybm5WM3Q5TWtFbVNKWmtROEpvYjRUTGJvRitBMmNVUkF1?=
 =?utf-8?B?WDFLbkFwaXlBT0JNR2dQTFBjMTdianNJVHdmSiszR3NBQ3lZQ3JvdjJTaGM3?=
 =?utf-8?B?SURjNnJFblhoM2pqVTdzbXUzSk0yR1VIN1FLYXlCdS9vOW5NUCtaVGZaRWpX?=
 =?utf-8?B?SjMzY296RDZWSHdwb05iYWZIMmdPMmtIeE1zbzNobUE0SThkRVVRVXl1UlJJ?=
 =?utf-8?B?c0QrMmRVVHNIbHZzVlBhcStjUjFqMDl6alF2YmtxUkNNVFByZ1JrUjBhWDVt?=
 =?utf-8?B?SDdXWXFYVm5vWDJ2ODAvQUxMa1FBR1YzZCtFZDdneHB4dWcrSkVBdWxkVmpL?=
 =?utf-8?B?OUpUTjR2M2pjY2s0aS82SGhtbm9Yb09HN3pGcmFSaTNMOU52ZytGZU1kdSs3?=
 =?utf-8?B?OWRrVHVLYUU4cS92VnFHY0VGNkpkenU4aHJEbFJ6TmF0ZXF2K2JBUkNaQnUy?=
 =?utf-8?B?RDRqam1PdmlrK01aVGhrUGovTmtjY0JUS2ZxcWFLYS9YSFZtMXdCbDB0V1pK?=
 =?utf-8?B?V0lUVW0wL1FDVU9pclMvMGJkRkFVVEw2ZjlrM3RMTGRrZGdHd0JqM1RTNFdr?=
 =?utf-8?B?OHhwdEtjSzV0Y2dWQ3pBQ1FKU05WaEV3OUo4bitoc0EwN296Nm52M2lBSkRi?=
 =?utf-8?B?T2ptMEgvcnB2ZmJIT1FCZ0JyNmRHMkRJNlhkMXI5OUdnZFF3cWJrbG1wWWlq?=
 =?utf-8?Q?EAATp+6oJjCoIG07HHbca5F7O?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1eabcbe-10e8-4a20-cfc7-08db1e2f5066
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 10:41:16.5362
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: I2KtwCTvTtXLsC2GgKH8h28ZZeEkitEfvcoAOodpIB6fQ29UQw+EQBZxUtadiAyS1VOv5DTNoA0AQv4y6BdDkg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9445

On 03.03.2023 11:38, Oleksii Kurochko wrote:
> +int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
> +{
> +    const struct bug_frame *bug = NULL;
> +    const struct virtual_region *region;
> +    const char *prefix = "", *filename, *predicate;
> +    unsigned long fixup;
> +    unsigned int id = BUGFRAME_NR, lineno;
> +
> +    region = find_text_region(pc);
> +    if ( !region )
> +        return -EINVAL;
> +
> +    for ( id = 0; id < BUGFRAME_NR; id++ )
> +    {
> +        const struct bug_frame *b;
> +        size_t i;
> +
> +        for ( i = 0, b = region->frame[id].bugs;
> +                i < region->frame[id].n_bugs; b++, i++ )
> +        {
> +            if ( bug_loc(b) == pc )
> +            {
> +                bug = b;
> +                goto found;
> +            }
> +        }
> +    }
> +
> + found:
> +    if ( !bug )
> +        return -EINVAL;
> +
> +    if ( id == BUGFRAME_run_fn )
> +    {
> +        void (*fn)(const struct cpu_user_regs *) = bug_ptr(bug);
> +
> +        fn(regs);
> +
> +        return id;
> +    }
> +
> +    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
> +    filename = bug_ptr(bug);
> +    if ( !is_kernel(filename) && !is_patch(filename) )
> +        return -EINVAL;
> +    fixup = strlen(filename);
> +    if ( fixup > 50 )
> +    {
> +        filename += fixup - 47;
> +        prefix = "...";
> +    }
> +    lineno = bug_line(bug);
> +
> +    switch ( id )
> +    {
> +    case BUGFRAME_warn:
> +        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
> +        show_execution_state(regs);
> +
> +        return id;
> +
> +    case BUGFRAME_bug:
> +        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
> +
> +        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
> +            return id;
> +
> +        show_execution_state(regs);
> +        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
> +
> +    case BUGFRAME_assert:
> +        /* ASSERT: decode the predicate string pointer. */
> +        predicate = bug_msg(bug);
> +        if ( !is_kernel(predicate) && !is_patch(predicate) )
> +            predicate = "<unknown>";
> +
> +        printk("Assertion '%s' failed at %s%s:%d\n",
> +               predicate, prefix, filename, lineno);
> +
> +        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
> +            return id;
> +
> +        show_execution_state(regs);
> +        panic("Assertion '%s' failed at %s%s:%d\n",
> +              predicate, prefix, filename, lineno);
> +    }
> +
> +    return id;
> +}

This final "return" looks like almost dead code (it isn't when an
unrecognized id is found). May I suggest to switch all "return id"
inside the switch() block to just "break", to make this final
"return" be (a) the central one and (b) more obviously a used path?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 10:47:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 10:47:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506892.780104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ8NQ-0006gi-J6; Mon, 06 Mar 2023 10:47:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506892.780104; Mon, 06 Mar 2023 10:47: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 1pZ8NQ-0006gb-GW; Mon, 06 Mar 2023 10:47:32 +0000
Received: by outflank-mailman (input) for mailman id 506892;
 Mon, 06 Mar 2023 10:47: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=TUpM=66=tibco.com=clindig@srs-se1.protection.inumbo.net>)
 id 1pZ8NP-0006gV-He
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 10:47:31 +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 4b1c27bb-bc0c-11ed-96b4-2f268f93b82a;
 Mon, 06 Mar 2023 11:47:30 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 o11-20020a05600c4fcb00b003eb33ea29a8so4901790wmq.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 02:47:30 -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
 j39-20020a05600c48a700b003e21638c0edsm9526706wmp.45.2023.03.06.02.47.29
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 06 Mar 2023 02:47: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: 4b1c27bb-bc0c-11ed-96b4-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1678099650;
        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=fsFBWkKDKCDs13ZOYlQBQNx45rT/3lOOoulMCyoJspM=;
        b=NZjDh8/HYHUYuBdVGrFcUQXtGo28jYY/m4mKWJw/K/O/GfK9Tvb+IpxI8PZC7Ji7HX
         o5wYi2BvudJdsnTQlz0VMeiK76AyauzXfXeTLcFU4Xkord9/yAkuhPgqtgOYW/tngtST
         3ygsWuMaincEvZDP98RmJP1pGcqT/Ebmx9Vok=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678099650;
        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=fsFBWkKDKCDs13ZOYlQBQNx45rT/3lOOoulMCyoJspM=;
        b=HGYMb3G/aziupcVo6Qoz+9DD8DWt6TzD5iK/nD0QuBSy/AswNlOYjigMLL1ny2f5Kp
         EuR4FQ7grlKLGwRs5aYT9Y7EvS83a64uvcv7mY8xJcl+NUnUBKSd+IR+mApfP76Oip+j
         eN0B4ulnPISzvH90dnFQi1RABT4AeulXFD1Mvz19ExBwsfCaveHarlzS0/AjIY/2G6Hg
         l8O3U3SWFlgdXQh/ci0pUyhmvCoAEhtapQoHj8tbKISMwTzp72Xu7aRS2lMFwOs1wC4J
         4xrOo1jQBkizzP6WMKIxheLMBCjGU/a+qrwwqudn4JA0zQS2u4W4BjBRuprB18Kzk4cf
         up+Q==
X-Gm-Message-State: AO0yUKV5ub7Q22lG6mcLb3sOqrACunUwONY+z14vvO8Ws2YrjeqDy1Is
	czwmhptJ39PejWZHuEs+BsKb7w==
X-Google-Smtp-Source: AK7set+xk9ym4JDJAC93UqxY9g4tn80BmaP576098SRLQlCHLsZWK7HHoVo/rc9KuYMlIScIAWfh2w==
X-Received: by 2002:a05:600c:5110:b0:3e2:1a01:3a7c with SMTP id o16-20020a05600c511000b003e21a013a7cmr9665933wms.6.1678099649929;
        Mon, 06 Mar 2023 02:47:29 -0800 (PST)
Content-Type: text/plain;
	charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
Subject: Re: [PATCH v3 0/4] tools: use xen-tools/libs.h for common definitions
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <20230306072140.28402-1-jgross@suse.com>
Date: Mon, 6 Mar 2023 10:47:28 +0000
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Jan Beulich <jbeulich@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.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>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 =?utf-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
 Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>
Content-Transfer-Encoding: 7bit
Message-Id: <9D47146A-BAE6-42D8-BE96-A869369CC980@cloud.com>
References: <20230306072140.28402-1-jgross@suse.com>
To: Juergen Gross <jgross@suse.com>
X-Mailer: Apple Mail (2.3696.120.41.1.1)



> On 6 Mar 2023, at 07:21, Juergen Gross <jgross@suse.com> wrote:
> 
> There are some macros defined multiple times in tools. Use only
> a single header file for defining those macros and drop the copies.
> 
> V2:
> - add patch 1 (Andrew Cooper)
> 
> V3:
> - address comments
> 
> Juergen Gross (4):
>  tools: rename xen-tools/libs.h file to common-macros.h
>  tools: add container_of() macro to xen-tools/common-macros.h
>  tools: get rid of additional min() and max() definitions
>  tools: add offsetof() to xen-tools/common-macros.h

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



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 11:08:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 11:08:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506902.780115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ8hA-00014g-B0; Mon, 06 Mar 2023 11:07:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506902.780115; Mon, 06 Mar 2023 11: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 1pZ8hA-00014Z-84; Mon, 06 Mar 2023 11:07:56 +0000
Received: by outflank-mailman (input) for mailman id 506902;
 Mon, 06 Mar 2023 11:07: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 1pZ8h9-00014P-6P; Mon, 06 Mar 2023 11:07: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 1pZ8h9-0002us-36; Mon, 06 Mar 2023 11:07: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 1pZ8h8-0005xU-Mq; Mon, 06 Mar 2023 11:07:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZ8h8-0007js-MO; Mon, 06 Mar 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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=YqenLtEiQi14N1Asc3IS/ZqkE7g46ohY1nMH2Q9kjOI=; b=DXlK+pDytf38YnVz6UQNwocs1C
	QlhPWKzUvZBwJterIzCCU+Bq3sNF+ckW/OxBKcT8QAp49SSxmKBSDRUbahKL41toc/336c+6mES82
	mdLxjxOILMBqizqBBD3D0PVE+35yPsRyHD00RIXkMYFR5c+BHvclHgo3pFk1AGXUkyOI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179344-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179344: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-raw:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=380a8c0c65bfb84dab54ab4641cca1387cc41edb
X-Osstest-Versions-That:
    xen=380a8c0c65bfb84dab54ab4641cca1387cc41edb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 06 Mar 2023 11:07:54 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-raw   7 xen-install                fail pass in 179244
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat  fail pass in 179244

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-raw 14 migrate-support-check fail in 179244 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179244
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179244
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179244
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179244
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179244
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179244
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179244
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179244
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179244
 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-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          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-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  380a8c0c65bfb84dab54ab4641cca1387cc41edb
baseline version:
 xen                  380a8c0c65bfb84dab54ab4641cca1387cc41edb

Last test of basis   179344  2023-03-06 01:52:05 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 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 Mar 06 11:10:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 11:10:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506912.780124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ8jp-0002i2-S0; Mon, 06 Mar 2023 11:10:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506912.780124; Mon, 06 Mar 2023 11: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 1pZ8jp-0002hv-PP; Mon, 06 Mar 2023 11:10:41 +0000
Received: by outflank-mailman (input) for mailman id 506912;
 Mon, 06 Mar 2023 11:10: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=vOCg=66=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1pZ8jo-0002hn-91
 for xen-devel@lists.xen.org; Mon, 06 Mar 2023 11:10:40 +0000
Received: from mail-pl1-x633.google.com (mail-pl1-x633.google.com
 [2607:f8b0:4864:20::633])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 841a6e02-bc0f-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 12:10:36 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id y11so9899240plg.1
 for <xen-devel@lists.xen.org>; Mon, 06 Mar 2023 03:10:35 -0800 (PST)
Received: from localhost ([122.172.83.155]) by smtp.gmail.com with ESMTPSA id
 ke13-20020a170903340d00b0019ea9e5815bsm4457935plb.45.2023.03.06.03.10.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Mar 2023 03:10: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: 841a6e02-bc0f-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678101034;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=lzt81DQlpQsWvSvVQpEytEsQpJe9zI8mvbr2m91fVZY=;
        b=KkADiyumUMwnMwSZagTAmvDoqMmGCkviqQ5W3Ewa+3JcciWXtrok3LZkOQpgRqaWN8
         iIraLBPdCrkwyfvvxTfFWrMD07MuMxJtjKz1BdtSHYJjAASZUi+LNNR8UHlYM772k1Xl
         RTyo+wE8i4TbHbQVvuW9wwSRWTQWvdQMKB9oMvQVba+RPf18ATxFLtn/K0H5L8izMZsH
         solmldOc/veuoYtEIY84nID8jNwgdBcj7JlCmIRn5YFhnyLHrCIGn6zU+UaMDrgOBhYW
         xkluFP3sUtX1hyDtiqhgUKPV7wQ+Quody+t3OAoNMG6vOR8/9RjgiU9E/Jm1Wcrwgk04
         52VA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678101034;
        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=lzt81DQlpQsWvSvVQpEytEsQpJe9zI8mvbr2m91fVZY=;
        b=EsQVTgRo6Kwfao5b0cTgJMS6uwI76ztAbYBIUV0AWiy/48RqVNGcmzDt8GSHbikJYS
         AR+LWZILG/B4pQHqPDVKyB5YYZdlus8mtfLRzCtrj/0gv191VYa44pMXBsvVXdZ7CvKF
         rCApTa1+2L1akTo+iWYF3IIQNu1FttauDfVcCZG0uGGYp//qbVnv+Y7HofbBLpuYdyrD
         xc7QrufCKoa1DSqi0CRPCX3zBgLVSiYT+hAqwMH7naesiAIlf8LmohInMYnU7rFpyKm0
         dKpfWm5kgE2ve/YoJYaQwIlnMMMAYQ/Kuwp+qoV7NX/j1x7D0bV4BnDJhtZFKC7jomGx
         3IRg==
X-Gm-Message-State: AO0yUKVBZt12ICpO5OTHNXNHhtk55JvosfqeZqYXqDQYhCw8IvRxdrWh
	72K+3InAeRk9pnBIiI8A2aCGbw==
X-Google-Smtp-Source: AK7set9qaeII3L0WNlhjuyVZJGmfT1j/fje0bHum91rfnikT0gw6CnQ7u6ibmUuIG2PFTWVIbPGn4A==
X-Received: by 2002:a17:903:18e:b0:19a:75b8:f4ff with SMTP id z14-20020a170903018e00b0019a75b8f4ffmr13424289plg.35.1678101033802;
        Mon, 06 Mar 2023 03:10:33 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: qemu-devel@nongnu.org,
	virtio-dev@lists.oasis-open.org,
	"Michael S. Tsirkin" <mst@redhat.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Stefan Hajnoczi <stefanha@redhat.com>
Subject: [PATCH V2] docs: vhost-user: Add Xen specific memory mapping support
Date: Mon,  6 Mar 2023 16:40:24 +0530
Message-Id: <7c3c120bcf2cf023e873800fd3f55239dd302e38.1678100850.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The current model of memory mapping at the back-end works fine where a
standard call to mmap() (for the respective file descriptor) is enough
before the front-end can start accessing the guest memory.

There are other complex cases though where the back-end needs more
information and simple mmap() isn't enough. For example Xen, a type-1
hypervisor, currently supports memory mapping via two different methods,
foreign-mapping (via /dev/privcmd) and grant-dev (via /dev/gntdev). In
both these cases, the back-end needs to call mmap() and ioctl(), and
need to pass extra information via the ioctl(), like the Xen domain-id
of the guest whose memory we are trying to map.

Add a new protocol feature, 'VHOST_USER_PROTOCOL_F_XEN_MMAP', which lets
the back-end know about the additional memory mapping requirements.
When this feature is negotiated, the front-end can send the
'VHOST_USER_SET_XEN_MMAP' message type to provide the additional
information to the back-end.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
V1->V2:
- Make the custom mmap feature Xen specific, instead of being generic.
- Clearly define which memory regions are impacted by this change.
- Allow VHOST_USER_SET_XEN_MMAP to be called multiple times.
- Additional Bit(2) property in flags.

 docs/interop/vhost-user.rst | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst
index 3f18ab424eb0..8be5f5eae941 100644
--- a/docs/interop/vhost-user.rst
+++ b/docs/interop/vhost-user.rst
@@ -258,6 +258,24 @@ Inflight description
 
 :queue size: a 16-bit size of virtqueues
 
+Xen mmap description
+^^^^^^^^^^^^^^^^^^^^
+
++-------+-------+
+| flags | domid |
++-------+-------+
+
+:flags: 64-bit bit field
+
+- Bit 0 is set for Xen foreign memory memory mapping.
+- Bit 1 is set for Xen grant memory memory mapping.
+- Bit 2 is set if the back-end can directly map additional memory (like
+  descriptor buffers or indirect descriptors, which aren't part of already
+  shared memory regions) without the need of front-end sending an additional
+  memory region first.
+
+:domid: a 64-bit Xen hypervisor specific domain id.
+
 C structure
 -----------
 
@@ -867,6 +885,7 @@ Protocol features
   #define VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS 14
   #define VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS  15
   #define VHOST_USER_PROTOCOL_F_STATUS               16
+  #define VHOST_USER_PROTOCOL_F_XEN_MMAP             17
 
 Front-end message types
 -----------------------
@@ -1422,6 +1441,23 @@ Front-end message types
   query the back-end for its device status as defined in the Virtio
   specification.
 
+``VHOST_USER_SET_XEN_MMAP``
+  :id: 41
+  :equivalent ioctl: N/A
+  :request payload: Xen mmap description
+  :reply payload: N/A
+
+  When the ``VHOST_USER_PROTOCOL_F_XEN_MMAP`` protocol feature has been
+  successfully negotiated, this message is submitted by the front-end to set the
+  Xen hypervisor specific memory mapping configurations at the back-end.  These
+  configurations should be used to mmap memory regions, virtqueues, descriptors
+  and descriptor buffers. The front-end must send this message before any
+  memory-regions are sent to the back-end via ``VHOST_USER_SET_MEM_TABLE`` or
+  ``VHOST_USER_ADD_MEM_REG`` message types. The front-end can send this message
+  multiple times, if different mmap configurations are required for different
+  memory regions, where the most recent ``VHOST_USER_SET_XEN_MMAP`` must be used
+  by the back-end to map any newly shared memory regions.
+
 
 Back-end message types
 ----------------------
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 11:44:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 11:44:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506917.780135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ9GJ-0006id-F1; Mon, 06 Mar 2023 11:44:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506917.780135; Mon, 06 Mar 2023 11:44:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZ9GJ-0006iW-CH; Mon, 06 Mar 2023 11:44:15 +0000
Received: by outflank-mailman (input) for mailman id 506917;
 Mon, 06 Mar 2023 11:44:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hnE+=66=citrix.com=prvs=4220c523c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pZ9GH-0006iQ-Pp
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 11:44:14 +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 34f75c28-bc14-11ed-96b5-2f268f93b82a;
 Mon, 06 Mar 2023 12:44:11 +0100 (CET)
Received: from mail-mw2nam10lp2106.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.106])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Mar 2023 06:44:08 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH2PR03MB5239.namprd03.prod.outlook.com (2603:10b6:610:a2::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Mon, 6 Mar
 2023 11:44:06 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.021; Mon, 6 Mar 2023
 11:44:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 34f75c28-bc14-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678103051;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=e8ZLogsmPMkBO1El3/urDrsDGsvKVvWzAxDVum6+L6E=;
  b=W4D7gALtoqzAMNUpol0dxaQvnLS3doRf0NMYoZFi+SdK01WaMsVZtfk1
   xasX1Vc+0f4ookzz0MdzXs+SQkdHWvzvGRf/iwD93RFhzh4TO9r0pudH8
   8MDwdhoefpjVNyYMf3YZ3/RKxy/1yMIHSXaIaCTMwbGKfyIg0y1tu1qj7
   U=;
X-IronPort-RemoteIP: 104.47.55.106
X-IronPort-MID: 99660958
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ElrJ4arm7DRjqUAFlORUgi1HEVdeBmIGZBIvgKrLsJaIsI4StFCzt
 garIBnSbP+PNDOmeYx0bti0oUxVvJHXnNI3TANl+yFhH35D8puZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzydNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAD5OTBCp2/Ku+oqAQ89BotYHFJO1J6pK7xmMzRmBZRonabbqZvySoPpnhnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeWraYKLEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXpp6A02AzOlgT/DjVKc0P8+aCVhXejSshNB
 mMquSct8PY9oRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8kN+pES0cLGtHYDBeSwIAuoHnuNtq1kyJSct/GqmoiNGzASv33
 z2BsCk5gfMUkNIP0KK4u1vAhlpAu6T0c+L83S2PNkrN0++zTNfNi1CAgbQD0ct9EQ==
IronPort-HdrOrdr: A9a23:AS2OaK2CSp02Kkzm5OAK2wqjBLwkLtp133Aq2lEZdPU1SKClfq
 WV98jzuiWatN98Yh8dcLK7WJVoMEm8yXcd2+B4V9qftWLdyQiVxe9ZnO7f6gylNyri9vNMkY
 dMGpIObOEY1GIK7/rH3A==
X-IronPort-AV: E=Sophos;i="5.98,236,1673931600"; 
   d="scan'208";a="99660958"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I91aelhJQvMMO6rE9PyBHEBa2pu9I1iIgK/GD5WZg068+m6KXTrShV6x4Riom2plEEpdm3/gB/wotGs6zETUU0zOOGXTnwiyZnPZpFiW7/O/U0p91XctlIAoPVHqZJkXoyFD77xYYX5I4UJL8FqzgW8QzArC/SMixUZiPwG74Z4ZDu9jlO7ZAGign47tMiXVa63qoFAj5FKVbCulLaB9yQo2h4wS3nU7u+QR8FrlgfMIbFEhfHOvM8Z1UxE4NjIF/MXJL/Xr3BwCsC0tLq/ZtkH2zGlUl/17H/xhKQZ+EZfRpu3MmtX/6yctr8se5tNYsEG91EIvLqDbLoBxDLgg0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e8ZLogsmPMkBO1El3/urDrsDGsvKVvWzAxDVum6+L6E=;
 b=nTo3KQryrrDayuiTHQz0CrtCCsggPlDCyG6/u/LxTIMlRjVhA9CUivcwXAhriC2cWbjgaPXOGik0Y7bBEZPhzKHJ9yUEGJLB8lqUqpe4JGfdz+yECcXFJLEh1xg/pu/mI6JBQ1uH5ohKICvaAMjl+1N1oNOdrO3ekJeOH6IrZBECaEt9o2owZlYQfcFDS7uM4DdiIxAPwqN9b7ffdH9L1lCXJvy248VFLL5zoSt3TcPPRDyIg11SMN1YDa6L1rnQGLuCKrrxaeNONjaVcil73nr1H4jlHegFHCH2jjJ6cLRhZWGfk8rVNCiY6JIL3MuWpZpI7O8d73JTVYKSQKeEYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e8ZLogsmPMkBO1El3/urDrsDGsvKVvWzAxDVum6+L6E=;
 b=PV98aCRO8xfWqY+7ZXWnduQGwHUe6aouZJeJ/JNlAbUMmwkvZ/jYmp26xSZRx5GDNN6YfMHiIVOcsLcw+AjT2dqCqe1jj01e/Q+2vP9gWsgUbIFC/hhjtSqvtWKYhRqQQ31Lg0nPJ8q5oqDUVjTCc1hVtQgg9t0ecv3jnykpAco=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <05a15bdf-cd5b-5312-f095-5d905d290c55@citrix.com>
Date: Mon, 6 Mar 2023 11:44:01 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: Backports for stable branches
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>,
 Anthony Perard <anthony.perard@citrix.com>
References: <4257ff30-0ece-4138-20f2-b7a3e5a91522@citrix.com>
 <ab40c09a-86da-faf6-6976-fa68537d5ecf@suse.com>
In-Reply-To: <ab40c09a-86da-faf6-6976-fa68537d5ecf@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0220.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:33a::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CH2PR03MB5239:EE_
X-MS-Office365-Filtering-Correlation-Id: f7e84f7d-7c30-4556-dd82-08db1e38171c
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5DH1kv6zs4gNYbRjDeQnPGJehEMcJ4Gfk6I86wYJInIpc70P+rMXFwImIDoTnTvEyaGilJvs0/7T8q8Ai1fGEKDGVaK7YCEuvo6JrBjt6CBW2ypxhhHb6iBW8ZQt0fKgXwoqUhJYp+bzP98EikPG7YgABjXa4z+IyWfbcmtFehddj+rKPJNugnJbREbO29LLWFtYqR020NXf8AMYSdrQNZF9Oeei2KNbPiwNvilCOFmxD+XtZKjiWw05bhM19Bo2XWOLSkNWyHsGdGBtKRh300zKgJYjm3Vq0iIH2QTowpqke8lhJysUKYQSJSgSULWBiO+EdXHX7YWpHad5oEcZPeOUVS6/tndZBaGFJsUL7iT1Hch7jBS67qbHgDCzPmc6bdUZv4F+UMJ61mVSB8c4P6E2WXov1URuM6z1rg/W0Os/N70NTpuFRdGqFzJY42QQXefC/0D6iguREG6u6NUFd9sKjRs1paYxHvfjjXLVz0XAH53Ucp6OQYJtavmBDOmMq8SEAeQjVu/E2sprPjvYbOjsrulve5SX2nnsshpRcpOV3TPgZw95AbiGOycaO7E1xIBptc7GRahbZSKmzs9XZVCjtqbqscHbw5+ktCCPig+xft+Lo4m0RDyr4aQ2/alxd0oXm78/JeYN9GhhQj9h2hSvtvne9BPUcI4PL8FndHzuv2v43tUUroYvsrrttqR066St5NL4i9tYiGlnvDcE6yGMHLip6/h3B0/pMRW9Pyc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(376002)(346002)(39860400002)(366004)(136003)(451199018)(6506007)(53546011)(6486002)(6666004)(107886003)(3480700007)(36756003)(83380400001)(86362001)(31696002)(82960400001)(38100700002)(6512007)(186003)(26005)(2616005)(41300700001)(66946007)(66476007)(66556008)(4326008)(8676002)(6916009)(2906002)(8936002)(31686004)(5660300002)(316002)(54906003)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MkZSdDNJZGZYcGxyN0dMRXg4TnM0eVdjYnpUZ2RZOXVFb2ZLd0JpTW5DOGFS?=
 =?utf-8?B?SC9LZG9Kc0pOY09OR3p3eTFZWW5Ed2lOR2hMc1dJMkFrZGsxSnlxL2Evdno0?=
 =?utf-8?B?MGJkWEV3MlY5RlhzemZWclNyVk9QUkhETmhuMDU1cWxNK0FkTnduZ1BvbGp0?=
 =?utf-8?B?MlpHdGo2aUlWcW5HOEc0MkFsK0x5RDBqRGVhb2lxOExqWjlZRDc3eW1ia1VB?=
 =?utf-8?B?RDU3cW9vc25FNUFMLzVsMGFqTERvaDZ1N3MyM1pQbkZxL05qdnlpZzJDK3B1?=
 =?utf-8?B?amlZT00zU3dQT2loNm9mRW5ObVpjbzA3QlBOcVJ5bGFFV3NRS2czbEF6dU1V?=
 =?utf-8?B?WWtYU2pLd1ZlcUkyNVRGVnJqWkJROCt6YjVhMTNQUWs3byt4dllSWEpkK21T?=
 =?utf-8?B?SGlScnZybjZ1QTdZajFINW1ydDU4OUNlSStTd3VVTVFKSUM5djB4aUp3bGNQ?=
 =?utf-8?B?b0Y5cTlLQW9GZjV2MStzSm1xVWxGdU9zVGo1c0dvN1p0STlScWpkbzlhZDNy?=
 =?utf-8?B?Y0NFNG8wTWlMdHRzTWJNS1JpdGtxQ3ZmcEhjZXpQOG13UE83dXFaZnhkcG1l?=
 =?utf-8?B?QzhScVhXMUg1VEt5eUFaRWlwUktJd0d1MlVtcEI0U09FS2QxZ0JlU0tGK0Nj?=
 =?utf-8?B?K2FpUk5jVzZXK3NNU1hBanQwbkZvQXBWQ1ZTSlNVNmZDYkM1YU1wNDBGcHdr?=
 =?utf-8?B?SFpEN2xuVEFrSktpdVRFdnVacFVtNEszN3pjdWlmdjU2ZlRaUXRDdlNtQmpW?=
 =?utf-8?B?UFlWTDRIVm9QMTBCaWkzZzk0dGFWcndOQmJaYjlKWDBzMm1FakswOWN0M01i?=
 =?utf-8?B?TVNQVWVPVkJ4b0VSVFVTd2lLQ1FaTzBaS1J5MmRMNkRRS3A5T1lTc09uSnBo?=
 =?utf-8?B?anlmemRaOVJsOU9TQWtCd0hUNEZHcVdJWnJXYmxyRlNjOElOTmh3WnZRRlNG?=
 =?utf-8?B?S2FjbE5qZnFCNUw5V0ZjYmpRYklFZ3Q3U2NnczQzb29qVTMvaUUzNW5aSEZM?=
 =?utf-8?B?SlluSEJFc2Y4bW5uNnBpdStUL0JReE02UEEwNmRzRGpCK1QzeDJNWTJLVUxB?=
 =?utf-8?B?NTlwbjBab1B0RklSNUpnRzkzZitZd3hqaGx2RVlRa2dlc3daSkYxNUROb0ho?=
 =?utf-8?B?Wktyd2ZEUlVuTUVNblFRM3cwb2N2SG94elI5cjhCVSsza0Fwek1RbjU5ZDFO?=
 =?utf-8?B?YXZkOUZOUTlKamhZeVRHemFWbWdNL3VTcXl0MkowY2V3cis3U1VDZ3crSkdt?=
 =?utf-8?B?NG1ScDlXVGxSa2JoNWk2TGJicGFNQlM0ckNNU0pqRTZrWHAzWlIwM2pmcExB?=
 =?utf-8?B?eUpyeExuVVNWYTM1MEFQZlZPT1U3K2xLTW0vWjZUOGlQVkJPUis5SlIvTmNr?=
 =?utf-8?B?Nk13SlMyTWhzc2xqV3FJUUFrLzVKQlN3ZkxnR01qR1FFL2JyMnpDbjhmQVdm?=
 =?utf-8?B?MUM4N0JHZnJPYnB1NHJRdVZZeFN4NGFHaStFbFV6SllPY25MSUM3d1hOZmJm?=
 =?utf-8?B?RWVTT3VTWUgwajdEYmswZmZacXdQRkk0RnRWZEk1T1VMN1lKcE9oWEptSTla?=
 =?utf-8?B?SCtSMEc4Vk9zeGlBWWZUdzZCUEpZd001a2pJcmRHcEMzK214ZjBCMGw2WVND?=
 =?utf-8?B?bGJ3czZMQlc4ZHc0NHpaa2k4Y0R6VHhEUGVwTDEwOEpTTzdueTNnZDNENHRT?=
 =?utf-8?B?cFBlSkJmRExUakMzUUkvMC9Ub3lOc2VSWTBrSEd1QnpOUnlyRnZIckhoY0tz?=
 =?utf-8?B?VUhBV1pHT3liTTZyYkVaOWFmZ2diR2lOL0tWbURxZmhwNUt3R0JBeGZ6d2FL?=
 =?utf-8?B?dDc2bDRKZjM2Q2N3SjZReDg4Y1ZhcUFUZmZZTnZrQTU5VWRGY3dYYTl4Vi9q?=
 =?utf-8?B?c0Nad2diTkNlM3RFd2VNR0o4M1JueC9uVDFFK2w1b2lxdnZOSkhTMmcvZm9U?=
 =?utf-8?B?NDliK3JjRGpFaTVvWWo2aXFXa0hPd25XNmhSNXlNeUM3UWk1Y0NlTkluSjVx?=
 =?utf-8?B?YVJWTTR3UXcxM3RwUnkyMStucFNPTEdyUDV2TFMzM3Ivd1M2V0ZPSE1Ud0Fp?=
 =?utf-8?B?MS9Oams3WUltZ0FaVzFlUFdNbDNOK2NpU29lTjFhay91OVluZGJ2WEl4RHZF?=
 =?utf-8?B?elRhK2tGZGVQRVdocVNxUFhpRmhSQ053dnpjMDI5cnE5SlFoU1Mrc1crTEhQ?=
 =?utf-8?B?a3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	gi4DtGPCx7vxPTyunF4QNCdN4tx40wqogR7SR8ieupsQdJz9YNlu7WA9Ewa0GXLSKO3UbUFdNVrgKGXkBmtUxbpXmU0rjdG0CCpMJgPESjD4wMBdFcG0PZLRZDe5q5T5oegdlxP8im2IVHYJALr/nQWxt8q1euekFFE+vCy97ZONwu5cnz7lWh+1ncCKPMPyPk9BdA+wBXbZ5pfh6k6k4P4v2kESEYRlZ+crM+j9TaFX78701/vcJhhOBtiOLqGmr39Gph7BPvbHVBJWgmL06IbD3JO+xg1PPZK9OkqfvFMMJVZYC0YnVOSHuCu9ErBRnUMxePLf0BbJAQk3XB7k50jew6eNl/+V640LtoB13Wfb24D8qvttTG7JBZQjWt2AqdQmLmhk6nJOHXXslkaWD4DZsTvszzk63HawXEcl40FgG24rM3aFmJ5awaXw9hpYNpQ5csjN6N+ODocpD+moiAoRz+xemW/Vt9G1rJmp6V8mOOwA46NTlEMJcQ87TLkONL5HINvr650o/xoBc6bDsB0ZVaKj77uUDdueCdrmKcXOs8LWVjGqXJK211O6gri1v91hFj/S3jHvZn3ZT1S+a+WK2QHvvDrhSK5koIm6UXK2s1bghbkQ27mi1w90ygxl7TZPdC8aa8MMiMMGkKkzXyTXzi6Nkdlr5ksIsRkS+2n0mjwge9iKwdrl/86o2DzUTj2WH0HhS+3ietJanAanFAPvAyVdUMTrezxoxILl42kncKsy3lQAHGLatIVsxD0HDOGye1gmNpp+GTb7ZbhZlSrdUIU6JpexFCqwTHjvc9A=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f7e84f7d-7c30-4556-dd82-08db1e38171c
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 11:44:06.0951
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mRsjGAVRBRmXm9fr7dpwW5CohlZfNb8LcomQHK65VlFzdldQAN0v5gayyfb2LCzCtJQoj4KoBhek0mv3PIU6gWWvNkvs5jmTlB3dmOaZmv0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5239

On 06/03/2023 7:28 am, Jan Beulich wrote:
> On 03.03.2023 16:56, Andrew Cooper wrote:
>> Two python bugfixes which definitely qualify for backport:
>>
>> 897257ba49d0 tools/python: change 's#' size type for Python >= 3.10
>> 3a59443c1d5a tools/xenmon: Fix xenmon.py for with python3.x
> Queued. I wasn't entirely certain about these when I saw them going in.
> They also had no Fixes: tags.

In both cases, they're requirements added by an external party after the
code was in our tree, so there are no obvious fixes tags.

The first patch is really "support compiling with Python 3.10", while
the second is arguably a bug in Xen 4.10(?) when declared full Python 3
support.

>> Next, I'm going to argue for taking:
>>
>> f7d07619d2ae x86/vmx: implement VMExit based guest Bus Lock detection
>> d329b37d1213 x86/vmx: introduce helper to set VMX_INTR_SHADOW_NMI
>> 573279cde1c4 x86/vmx: implement Notify VM Exit
>> 5f08bc9404c7 x86/vmx: Partially revert "x86/vmx: implement Notify VM Exit"
>>
>> These are technically new features for Sapphire Rapids, but they're both
>> very simple (in the grand scheme of new features), and are both
>> mitigations to system-wide denial of services that required silicon
>> changes to make happen.
>>
>> Either way, there is a security argument to be made for backporting these.
> I have to admit I'm not entirely certain here. At present my inclination
> would be to put them in 4.17 only, where - it only going to be 4.17.1 -
> the "new feature" aspect is more reasonable to accept. 4.16, otoh, is
> relatively soon to go out of general support (albeit I notice not yet
> after the next stable release, as this time round the 4 month cadence
> was followed pretty closely). Thoughts?

Bus Lock detection is a "simple" DoS mitigation.  The system continues
to function in presence of a rogue core generating buslocks as fast as
possible.  So this is (ultimately) a nice-to-have.

Notify Exit is different.  It is intended to mitigate pipeline infinite
loops - two we've issued an XSA for, but the PCI Passthrough one that
has no mitigation other than this.

The further we backport Notify Exit, the more we shrink the affected
versions on a theoretical future pipeline infinite loop.  (Marginally,
perhaps, but its still a good start.)


So putting them into 4.17 is definitely an improvement over only being
in 4.18.

But I think if we do get a new pipeline infinite loop issue in the
future, I'll be backporting Notify Exit as a prerequisite on all
security branches that don't currently have it.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 12:31:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 12:31:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506934.780146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZA0G-0004XY-6M; Mon, 06 Mar 2023 12:31:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506934.780146; Mon, 06 Mar 2023 12: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 1pZA0G-0004XR-15; Mon, 06 Mar 2023 12:31:44 +0000
Received: by outflank-mailman (input) for mailman id 506934;
 Mon, 06 Mar 2023 12:31: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 1pZA0E-0004XG-OK; Mon, 06 Mar 2023 12:31: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 1pZA0E-0004mk-Bn; Mon, 06 Mar 2023 12:31: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 1pZA0E-0008Co-0q; Mon, 06 Mar 2023 12:31:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZA0E-0000gw-0N; Mon, 06 Mar 2023 12: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=ZJWlrQ3hAdXwCuV3ZDMy4BVmb2riAzEJI86LjPATqDM=; b=gjd0rkBpY8SNHVyAPZVGwu0nUG
	fDxYPD5teJtCB8JLhC8fzo3MWsmpdtByqBJCn8FRPMQaD98MwBQQdjjrjRvY0d5Q6cP3gOy+jFIZB
	axbmoGa8o695pDF89kRxS0t/MzZZVdzpFMJ/mVh5xYD097/OSvk6RlgsjqTe66zqnUlU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179381-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179381: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=31270f11a96ebb875cd70661e2df9e5c6edd7564
X-Osstest-Versions-That:
    xen=380a8c0c65bfb84dab54ab4641cca1387cc41edb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 06 Mar 2023 12:31:42 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  31270f11a96ebb875cd70661e2df9e5c6edd7564
baseline version:
 xen                  380a8c0c65bfb84dab54ab4641cca1387cc41edb

Last test of basis   178990  2023-03-02 15:00:26 Z    3 days
Testing same since   179381  2023-03-06 10:01:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   380a8c0c65..31270f11a9  31270f11a96ebb875cd70661e2df9e5c6edd7564 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 13:48:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 13:48:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506947.780155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZBCX-0004S9-Hw; Mon, 06 Mar 2023 13:48:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506947.780155; Mon, 06 Mar 2023 13: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 1pZBCX-0004S2-EW; Mon, 06 Mar 2023 13:48:29 +0000
Received: by outflank-mailman (input) for mailman id 506947;
 Mon, 06 Mar 2023 13:48:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=A4jh=66=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pZBCV-0004Rw-IK
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 13:48: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 8fb79124-bc25-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 14:48:24 +0100 (CET)
Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com
 [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-178-Hgc09HgxNCuM2IR7pdQ36Q-1; Mon, 06 Mar 2023 08:48:19 -0500
Received: by mail-wm1-f72.google.com with SMTP id
 n15-20020a05600c500f00b003dd07ce79c8so3773605wmr.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 05:48:19 -0800 (PST)
Received: from [192.168.0.2] (ip-109-43-177-59.web.vodafone.de.
 [109.43.177.59]) by smtp.gmail.com with ESMTPSA id
 p21-20020a05600c431500b003daf672a616sm10046951wme.22.2023.03.06.05.48.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Mar 2023 05:48: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: 8fb79124-bc25-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678110503;
	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=Xp1uVGpz5WAE3d5wBHh+CPfxFFEftI2bHpCIHpoRqB8=;
	b=ciLlD6bRl8rdybo4mbMj8ogntOumkFNjUFHrhZDIXdDwXAap8/DBgUn5bzHxyF+5g1I2Ex
	vemFYnaK5K5eo+NzaWxOjfOguydzg5YdCLPW9cacYzSMskYIEggszYFF1I7l+knpZcVa51
	Mv7S98yXCoArIJX+YjBNCESy0hDRZQg=
X-MC-Unique: Hgc09HgxNCuM2IR7pdQ36Q-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678110498;
        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=Xp1uVGpz5WAE3d5wBHh+CPfxFFEftI2bHpCIHpoRqB8=;
        b=abZiB8Owm7DCn4hu59y6vsDWRB/TGR4qJD8m7evP4FKa7vFRcOEq7nFs5P32B3tnGs
         yL7vTnxl9bNw5nMZlIYQOIcTVRYEnFLhgyFAzJzhY5aniMpZv1cKBDF7ROa/aIpDGpw/
         fLkNBMppAIOafv9pVSsiJSvN4LLh1YC7PrRWKGxcSVvJlhPO/SyOhNzMrkjZ631wBjtS
         gC+y2qI2e01rUBepSXdjfiWLqHoxSeTSrjuaE266cx1f/w3ROamk4csd9fZRBsHvwPkE
         AXjnIxKI8MKJJBgR5nBNguCTb/VswmoCbzO+mNluHKaXUcwJ8uMG3vh7NGK3iOaIIkQM
         4GZQ==
X-Gm-Message-State: AO0yUKXXOVXmhW9iEk8Rh9ZCMntXDKjg6oevLPPdPC4UPV3IKJvRNXa2
	knGPPcUjT02grUlL/LQp3N3nU6e2Ahgmgm3X9+sSS/i5KQec6f2RCR5cJnHz3gukW5xGvUtW7+Z
	y8kc10fYwW1wCXYBJjfp/1yTZVzE=
X-Received: by 2002:a05:600c:190b:b0:3eb:38e6:f64f with SMTP id j11-20020a05600c190b00b003eb38e6f64fmr9267075wmq.8.1678110498645;
        Mon, 06 Mar 2023 05:48:18 -0800 (PST)
X-Google-Smtp-Source: AK7set8gc4hy0Y9b+zGdCJ1WXKWLCkTPj6LWr9s/xMhjNkm3Fu6ztFBbjS1tZSQvYUJf6SWYT6Lk9w==
X-Received: by 2002:a05:600c:190b:b0:3eb:38e6:f64f with SMTP id j11-20020a05600c190b00b003eb38e6f64fmr9267050wmq.8.1678110498419;
        Mon, 06 Mar 2023 05:48:18 -0800 (PST)
Message-ID: <a97c8b6d-8e58-82b5-d73f-72a7061fb5d4@redhat.com>
Date: Mon, 6 Mar 2023 14:48:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v4 2/5] docs/about/deprecated: Deprecate the
 qemu-system-i386 binary
To: =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>,
 Wilfred Mallawa <wilfred.mallawa@wdc.com>,
 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
References: <20230306084658.29709-1-thuth@redhat.com>
 <20230306084658.29709-3-thuth@redhat.com> <ZAWx5eBskd1cItDx@redhat.com>
From: Thomas Huth <thuth@redhat.com>
In-Reply-To: <ZAWx5eBskd1cItDx@redhat.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: 8bit

On 06/03/2023 10.27, Daniel P. Berrangé wrote:
> On Mon, Mar 06, 2023 at 09:46:55AM +0100, Thomas Huth wrote:
>> [...] If a 32-bit CPU guest
>> +environment should be enforced, you can switch off the "long mode" CPU
>> +flag, e.g. with ``-cpu max,lm=off``.
> 
> I had the idea to check this today and this is not quite sufficient,
[...]
> A further difference is that qemy-system-i686 does not appear to enable
> the 'syscall' flag, but I've not figured out where that difference is
> coming from in the code.

I think I just spotted this by accident in target/i386/cpu.c
around line 637:

#ifdef TARGET_X86_64
#define TCG_EXT2_X86_64_FEATURES (CPUID_EXT2_SYSCALL | CPUID_EXT2_LM)
#else
#define TCG_EXT2_X86_64_FEATURES 0
#endif

  Thomas



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 13:58:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 13:58:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506952.780165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZBM0-00069F-DT; Mon, 06 Mar 2023 13:58:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506952.780165; Mon, 06 Mar 2023 13: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 1pZBM0-000698-9e; Mon, 06 Mar 2023 13:58:16 +0000
Received: by outflank-mailman (input) for mailman id 506952;
 Mon, 06 Mar 2023 13: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=t6QT=66=citrix.com=prvs=4224746ab=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pZBLy-000692-Sb
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 13:58:14 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed4f2775-bc26-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 14:58: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: ed4f2775-bc26-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678111091;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=HSSPGEMrvDoYUxkiAfHI8fUzcy+d6Oq56HQF6eBirVo=;
  b=fNByOjc8ILMZMUMjzFllzXNcoDJZ76MS6iHwCVNJMwjm5fcMLgfSUXd6
   XKUVntv7HUbw8Khl9mIEFz6aYeY8/g9Dw6nIMFe4YGryUe6I3w3Kel/iL
   64YI/mnq9hBYXfuWlQEfZFNMi6sth9sjXN/xu/E1AQ8CZxMHiHONU9Zfo
   U=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 99677393
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:1YZL/q1w+CZMzAsv7fbD5dFxkn2cJEfYwER7XKvMYLTBsI5bpz1Wz
 zMfWjrQbP6KMDD1eop3bt7i9kwOsMeAn4NnHlM/pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdmO6gR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfDlke/
 qBDLGg0My/fuaXxx5ilSuQziZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKk2aOHWjOX9OYH46tO6umnn4dSwesF+PrLA7y2PS0BZwwP7mN9+9ltmiFJQLwRnD9
 zmuE2LROC09EtmTmT689X+h2e7xgGT0eY00LejtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHslh8DWfJAHusi8gaPx6HIpQGDCQA5oiVpMYJ88pVsHHpzi
 wHPxomybdByjFGLYX2lprzI9jfqAHUqcVFFIiguUwsIvNa29enfkSnzZtpkFae0iPj8Fjfx3
 y2GoUACulkDsSIY//7lpA6a2lpAsrCMF1dovVuPAgpJ+ysjPOaYi5qUBU83BBqqBKKQVRG/s
 XcNgKByB8heXMjWxERhrAjgdYxFBspp0hWG3jaD/LF7rVxBHkJPmqgBiAyS3G8zbq45lcbBO
 Sc/Qz956p5JJ2eNZqRqeY+3AMlC5fG+SoS9CqmOM4cSP8QZmOq7EMZGPxP44owQuBJ0zfFX1
 WmzKq5A8kr2+Yw4lWHrFo/xIJcgxzwkxHO7eHwI503P7FZqX1bMEe1tGALXPogEAFas/F29H
 yB3a5HblH2ykYTWPkHqzGLkBQlScSlmW8mr+pQ/myzqClMOJVzNwsT5mdsJE7GJVYwP/gsU1
 hlRgnNl9Wc=
IronPort-HdrOrdr: A9a23:R3oZ+qy3xSDDRTcvocCVKrPwBL1zdoMgy1knxilNoH1uHfBw8v
 rEoB11726StN98YhAdcKm7Scy9qBDnm6Kdn7NhWYtKBzOW21dARbsKheGOrwEIcBefygcy79
 YZT0FWMqyTMXFKyer8/QmkA5IB7bC8gduVbD7lvhFQpNdRGthd0zs=
X-IronPort-AV: E=Sophos;i="5.98,238,1673931600"; 
   d="scan'208";a="99677393"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Ian Jackson <iwj@xenproject.org>, Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [OSSTEST PATCH] ap-common: Fix qemu.git URL
Date: Mon, 6 Mar 2023 13:57:31 +0000
Message-ID: <20230306135731.43329-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Cloning from "git://git.qemu.org/qemu.git" haven't work for maybe a
month.

While "https://git.qemu.org/qemu.git" seems to work, it only redirects
to gitlab.com.

qemu.org website point to a repo hosted by gitlab.com.

So, switch to "https://gitlab.com/qemu-project/qemu.git".

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---
 ap-common | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ap-common b/ap-common
index 547b48ed..292553ed 100644
--- a/ap-common
+++ b/ap-common
@@ -90,7 +90,7 @@ fi
 
 : ${TREE_QEMU_UPSTREAM:=${BASE_TREE_QEMU_UPSTREAM}}
 
-: ${TREE_QEMU_MAINLINE:=git://git.qemu.org/qemu.git}
+: ${TREE_QEMU_MAINLINE:=https://gitlab.com/qemu-project/qemu.git}
 
 info_linux_tree () {
 	case $1 in
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 14:06:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 14:06:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506957.780175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZBU8-0007uN-7q; Mon, 06 Mar 2023 14:06:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506957.780175; Mon, 06 Mar 2023 14:06: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 1pZBU8-0007uG-42; Mon, 06 Mar 2023 14:06:40 +0000
Received: by outflank-mailman (input) for mailman id 506957;
 Mon, 06 Mar 2023 14:06: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=iyJo=66=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1pZBU6-0007u8-OE
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 14:06:38 +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 1ac225af-bc28-11ed-96b5-2f268f93b82a;
 Mon, 06 Mar 2023 15:06: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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-669-l5ZckLzFOV6jvPPgyotFqw-1; Mon, 06 Mar 2023 09:06:33 -0500
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com
 [10.11.54.8])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7F118830D44;
 Mon,  6 Mar 2023 14:06:14 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.53])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 1C159C1602A;
 Mon,  6 Mar 2023 14:06: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: 1ac225af-bc28-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678111595;
	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=voMt6AB+9qNIUfz/3mjHZ4ciEx34KDCiHB56iJwYfX4=;
	b=UtH/Yat60eW1qiWD/RrYxN7Ieal9/DmQxispGNoIFVCP3gEZs2z2Uf16c1SAfuE5fNysT7
	Nm6qirD4c9osWR/QGydl/GL/lPXJ37AKPU7N5jIJdTZ8BbF3EcmJ6rSOo//ulFnOpmO5HX
	GLoQYBu3HD6w1c9iT7CAQAuxUTEE95E=
X-MC-Unique: l5ZckLzFOV6jvPPgyotFqw-1
Date: Mon, 6 Mar 2023 14:06:08 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org, Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Subject: Re: [PATCH v4 2/5] docs/about/deprecated: Deprecate the
 qemu-system-i386 binary
Message-ID: <ZAXzUIs6wODe7/hf@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20230306084658.29709-1-thuth@redhat.com>
 <20230306084658.29709-3-thuth@redhat.com>
 <ZAWx5eBskd1cItDx@redhat.com>
 <a97c8b6d-8e58-82b5-d73f-72a7061fb5d4@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a97c8b6d-8e58-82b5-d73f-72a7061fb5d4@redhat.com>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8

On Mon, Mar 06, 2023 at 02:48:16PM +0100, Thomas Huth wrote:
> On 06/03/2023 10.27, Daniel P. Berrangé wrote:
> > On Mon, Mar 06, 2023 at 09:46:55AM +0100, Thomas Huth wrote:
> > > [...] If a 32-bit CPU guest
> > > +environment should be enforced, you can switch off the "long mode" CPU
> > > +flag, e.g. with ``-cpu max,lm=off``.
> > 
> > I had the idea to check this today and this is not quite sufficient,
> [...]
> > A further difference is that qemy-system-i686 does not appear to enable
> > the 'syscall' flag, but I've not figured out where that difference is
> > coming from in the code.
> 
> I think I just spotted this by accident in target/i386/cpu.c
> around line 637:
> 
> #ifdef TARGET_X86_64
> #define TCG_EXT2_X86_64_FEATURES (CPUID_EXT2_SYSCALL | CPUID_EXT2_LM)
> #else
> #define TCG_EXT2_X86_64_FEATURES 0
> #endif

Hmm, so right now the difference between qemu-system-i386 and
qemu-system-x86_64 is based on compile time conditionals. So we
have the burden of building everything twice and also a burden
of testing everything twice.

If we eliminate qemu-system-i386 we get rid of our own burden,
but users/mgmt apps need to adapt to force qemu-system-x86_64
to present a 32-bit system.

What about if we had qemu-system-i386 be a hardlink to
qemu-system-x86_64, and then changed behaviour based off the
executed binary name ?

ie if running qemu-system-i386, we could present a 32-bit CPU by
default. We eliminate all of our double compilation burden still.
We still have extra testing burden, but it is in a fairly narrow
area, so does not imply x2 the testing burden just $small-percentage
extra testing ?  That would means apps/users would not need to change
at all, but we still get most of the win we're after on the
QEMU side 

Essentially #ifdef TARGET_X86_64  would be change  'if (is_64bit) {...}'
in a handful of places, with 'bool is_64bit' initialized in main() from
argv[0] ?

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



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 14:18:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 14:18:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506963.780185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZBfd-0001BJ-8l; Mon, 06 Mar 2023 14:18:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506963.780185; Mon, 06 Mar 2023 14: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 1pZBfd-0001BC-5t; Mon, 06 Mar 2023 14:18:33 +0000
Received: by outflank-mailman (input) for mailman id 506963;
 Mon, 06 Mar 2023 14: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=A4jh=66=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pZBfc-0001B6-Fa
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 14:18:32 +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 c3e82a70-bc29-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 15:18:29 +0100 (CET)
Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com
 [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-658-Nj0kTPHFM9C-RtqlKixEnw-1; Mon, 06 Mar 2023 09:18:27 -0500
Received: by mail-wm1-f71.google.com with SMTP id
 l31-20020a05600c1d1f00b003e8626cdd42so3631737wms.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 06:18:26 -0800 (PST)
Received: from [192.168.0.2] (ip-109-43-177-59.web.vodafone.de.
 [109.43.177.59]) by smtp.gmail.com with ESMTPSA id
 g40-20020a05600c4ca800b003eb3933ef10sm10076844wmp.46.2023.03.06.06.18.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Mar 2023 06:18: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: c3e82a70-bc29-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678112308;
	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=Mbkz7IRHAR6Gk1TwwjGuAsPHXnfma+ZrprMAvR7H3bE=;
	b=cUvCgz/1TOpzETe9v9/qhb1vtRanSRVtiwRKMOx5m3cAMGtnbIs0Wfcz5QpzV+VCSL5zUk
	nMfb+zDYgRppITaBxRUeNQUwc9v8/ZJis+j7cuCXNklMqvRzMjHtL1b1L5N3APpS6CZST2
	lNcuoeeB75NnrLoQs59Wrwr/UGvvr1U=
X-MC-Unique: Nj0kTPHFM9C-RtqlKixEnw-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678112306;
        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=Mbkz7IRHAR6Gk1TwwjGuAsPHXnfma+ZrprMAvR7H3bE=;
        b=ZZRZOoLq/IqJHAdv7xl+rX6A+yt8nMek4GFXeEmsqPBOf0Kdy+OGItcEBxLHXhh3GY
         wzph7sR8QyYO9LHBAIDmzzeQ/SYsxnc/TWSwDaGLpKvi22aWb1hL0P+BIX3EzVLV7f54
         p1AW8tJmgEjelUfmZazOAyg9R5dP3SCxu1ZngNfG0JtxZBRwTSgIg5X2Rr05UZ8zf+TJ
         J5yWFDeCDlnC7HzKOCz6cEBz+nFWuCLNdJesQcI/KfaCRcmoTSMcjqbd4fKoKA7bhxEN
         nVqPEpa1j9jZoFzhRsOBtf4X88iH5ieaGJ9vJTC+VhmUvab8A9rLBfoTx/VtgBvqR52R
         sosg==
X-Gm-Message-State: AO0yUKUrJ5QTs3akOT+O+31ZforJHJB3FWKqPdtp544bt+Mg7v9CFTAH
	G4ci85fA7XKBf8G+TEe1BVwyn/hPFgmG4H+HJgLJPd103CHW8QREb13r+2ObkAVzVAnI7UNUcmd
	8rQ5Vpf+OsGjWBjZYW08eJhfmnIg=
X-Received: by 2002:a05:600c:198e:b0:3eb:36fa:b78d with SMTP id t14-20020a05600c198e00b003eb36fab78dmr9109242wmq.23.1678112305985;
        Mon, 06 Mar 2023 06:18:25 -0800 (PST)
X-Google-Smtp-Source: AK7set/MR21FgoX8RyVFXUFY4MzV72bl/PWGUpJmW46y4RO7kLsnJJfonvCikk1sHoHsw2wpQdbBPg==
X-Received: by 2002:a05:600c:198e:b0:3eb:36fa:b78d with SMTP id t14-20020a05600c198e00b003eb36fab78dmr9109217wmq.23.1678112305735;
        Mon, 06 Mar 2023 06:18:25 -0800 (PST)
Message-ID: <7f1501ba-f875-b227-8d7e-f43e69b2ab8d@redhat.com>
Date: Mon, 6 Mar 2023 15:18:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v4 2/5] docs/about/deprecated: Deprecate the
 qemu-system-i386 binary
To: =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>,
 Wilfred Mallawa <wilfred.mallawa@wdc.com>,
 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
References: <20230306084658.29709-1-thuth@redhat.com>
 <20230306084658.29709-3-thuth@redhat.com> <ZAWx5eBskd1cItDx@redhat.com>
 <a97c8b6d-8e58-82b5-d73f-72a7061fb5d4@redhat.com>
 <ZAXzUIs6wODe7/hf@redhat.com>
From: Thomas Huth <thuth@redhat.com>
In-Reply-To: <ZAXzUIs6wODe7/hf@redhat.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: 8bit

On 06/03/2023 15.06, Daniel P. Berrangé wrote:
> On Mon, Mar 06, 2023 at 02:48:16PM +0100, Thomas Huth wrote:
>> On 06/03/2023 10.27, Daniel P. Berrangé wrote:
>>> On Mon, Mar 06, 2023 at 09:46:55AM +0100, Thomas Huth wrote:
>>>> [...] If a 32-bit CPU guest
>>>> +environment should be enforced, you can switch off the "long mode" CPU
>>>> +flag, e.g. with ``-cpu max,lm=off``.
>>>
>>> I had the idea to check this today and this is not quite sufficient,
>> [...]
>>> A further difference is that qemy-system-i686 does not appear to enable
>>> the 'syscall' flag, but I've not figured out where that difference is
>>> coming from in the code.
>>
>> I think I just spotted this by accident in target/i386/cpu.c
>> around line 637:
>>
>> #ifdef TARGET_X86_64
>> #define TCG_EXT2_X86_64_FEATURES (CPUID_EXT2_SYSCALL | CPUID_EXT2_LM)
>> #else
>> #define TCG_EXT2_X86_64_FEATURES 0
>> #endif
> 
> Hmm, so right now the difference between qemu-system-i386 and
> qemu-system-x86_64 is based on compile time conditionals. So we
> have the burden of building everything twice and also a burden
> of testing everything twice.
> 
> If we eliminate qemu-system-i386 we get rid of our own burden,
> but users/mgmt apps need to adapt to force qemu-system-x86_64
> to present a 32-bit system.
> 
> What about if we had qemu-system-i386 be a hardlink to
> qemu-system-x86_64, and then changed behaviour based off the
> executed binary name ?

We could also simply provide a shell script that runs:

  qemu-system-x86_64 -cpu qemu32 $*

... that'd sounds like the simplest solution to me.

  Thomas



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 14:23:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 14:23:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506969.780194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZBkH-0002la-RP; Mon, 06 Mar 2023 14:23:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506969.780194; Mon, 06 Mar 2023 14:23: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 1pZBkH-0002lT-On; Mon, 06 Mar 2023 14:23:21 +0000
Received: by outflank-mailman (input) for mailman id 506969;
 Mon, 06 Mar 2023 14:23: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=opIj=66=gmail.com=matiasevara@srs-se1.protection.inumbo.net>)
 id 1pZBkG-0002lN-1V
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 14:23:20 +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 70d85b09-bc2a-11ed-96b5-2f268f93b82a;
 Mon, 06 Mar 2023 15:23:18 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id bx12so8967559wrb.11
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 06:23:18 -0800 (PST)
Received: from horizon ([2a01:e0a:257:8c60:48e5:bfa:d652:b8ef])
 by smtp.gmail.com with ESMTPSA id
 w9-20020a05600018c900b002c5a1bd5280sm9962275wrq.95.2023.03.06.06.23.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Mar 2023 06:23: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: 70d85b09-bc2a-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678112598;
        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=kLPMiR6YYwqNgf2OlRvfzJqSL0t/mkX/PsJDY3H57xw=;
        b=k3R31LV7JvDl39nt0S9VkjCUZoCyt9O8ISPSj+joNhpmwvK8JPlGMyXLzseJTV/JVH
         2bSQa6UUZBL3BiNIzW85NbmIZd20mOnu5wCxX9zOk1OrGLfHS//36kEUWwxx/kWrOZUx
         eZ1j7dBJj18x3FxZs9P5cjzImG05g4j3eAjj/ILk4eoSOWWzHOMywQ7KXpKKm5NAQ2ze
         wrbxlieCjOGYhN4BZAThtPmIYyQPjau0sCn/rCGIrjpx8aHk9DCrC+A1YLgDsE+aHv7B
         JDYGW8ZFw2ry52Mm+s+rEy6C7astEvr0wWcBJxIwDQuSNIE1MFrMdclW6swuNBUFGio2
         ZgXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678112598;
        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=kLPMiR6YYwqNgf2OlRvfzJqSL0t/mkX/PsJDY3H57xw=;
        b=U63DjTD5+s/lfeQNUwKuiqAVthTLul2mWMcaeYOSoPe1v5tKfP5Nt3yQgaKwHtMhpk
         7lcMPzTuHOKlHvyW5KcfjBMmUSBX+6wtYdQGKeCr7O3RYxl/eY5ijVP0SdIS2XNbKJuS
         vPsg8/7M0+alo4IsNWdmTvdvZCaZMr19bE7J6oc+f5mGG9V4vFonC2D8kt9nMWfQdnHV
         Fn90PaH5ycWiQ4yWH2Vts3HCFKnbBlA5tG7h9+XRNWnN5zXOE6nOYU4rMndP6uqc9nJc
         SzcO6D9KHdEfgX7SxrfxQgQugxOmlzFBS+zkOV+I9bDsxXt5ExxsYPc8mGRnYXyUtQ5n
         CsTw==
X-Gm-Message-State: AO0yUKXKggwP6oaw9tMK0Bzf2PDq1kNuzxFxEBvBubjRaHA0hMT1mqmk
	q4pqVfTspG7vo3GVU+ZJpZYdVFPY0p0=
X-Google-Smtp-Source: AK7set/X9acdGdf+HnkIBmL5miVkVxZaa8WO7FPuXAwt0OLPaGPNUyfrAhfrjcO+Cd5poaDrB3yikg==
X-Received: by 2002:a5d:4d02:0:b0:2c5:58fc:e1bb with SMTP id z2-20020a5d4d02000000b002c558fce1bbmr7739372wrt.10.1678112597867;
        Mon, 06 Mar 2023 06:23:17 -0800 (PST)
Date: Mon, 6 Mar 2023 15:23:15 +0100
From: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
	Jan Beulich <jbeulich@suse.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: API/ABIs: Re: [RFC PATCH v2 0/2] Add a new acquire resource to
 query vcpu statistics
Message-ID: <20230306142315.GA745324@horizon>
References: <cover.1665138677.git.matias.vara@vates.fr>
 <90a551bc-ffda-6db8-775b-11c100bf6f52@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <90a551bc-ffda-6db8-775b-11c100bf6f52@citrix.com>

Hello Andrew and thanks for the comments, please find my comments below.

On Thu, Feb 23, 2023 at 07:56:28PM +0000, Andrew Cooper wrote:
> A discussion about forward extensible APIs and ABIs here.
> 
> First, its important to say that this should be "domain stats" and not
> just "vcpu stats". This is easy to account for now, but hard to
> retrofit later.
> 
> For the shared memory, we have a minimum granularity of PAGE_SIZE (4k
> for now, but this will change in due course on non-x86 architectures),
> and a resource-agnostic way of determining the resource size (as a
> multiple of the page size).
> 
> But there are other things we need to consider:
> 
> 1) To be sensibly extendable, there needs to be some metadata, and the
> domain stats is clearly going to be a different shape to the vcpu stats.
> 
> 2) We also want to give Xen some flexibility to allocate memory in a
> suitable manner for the system.
> 
> 3) Xen and the userspace consuming this interface will likely be built
> from different versions of the header. This needs to inter-operate with
> the common subset of functionality.
> 
> 
> So what we want, at least to describe the shape, is something like this:
> 
> struct dom_shmem_stats {
>  uint32_t dom_size; // sizeof(dom)
>  uint32_t vcpu_offs;
>  uint32_t vcpu_size; // sizeof(vcpu)
>  uint32_t vcpu_stride;
>  ...
> };
> 
> struct vcpu_shmem_stats {
>  ...
> };
> 
> where the data layout shall be that there is one dom structure starting
> at 0, and an array of vcpu_stride objects starting at vcpu_offset.
> 
> Obviously, some invariants apply. vcpu_offs >= dom_size, and
> vcpu_stride >= vcpu_size. The total size of the mapping must be larger
> than vcpu_offs + vcpus * vcpu_stride (and no, I intentionally don't
> care about the rounding at the end because it doesn't change things in
> practice.)
> 

Would it make sense to use different type-specific resources identifiers for
each "stat"?, e.g., XENMEM_resource_stats_table_id_vcpustats,
XENMEM_resource_stats_table_id_domstats and so on. The size of each of these
type-specific resources would be queried by using
`xenforeignmemory_resource_size()`. The mapping would be done by using
`xenforeignmemory_map_resource()`.

The metadata to represent the XENMEM_resource_stats_table_id_vcpustats
resource could be:

struct vcpu_shmem_stats {
#define STATS_A (1u << 0)
...
#define VCPU_STATS_MAGIC 0xaabbccdd
  uint32_t magic;
  uint32_t stats_active;
  uint32_t offset; // roundup(sizeof(vcpu_shmem_stats), cacheline_size)
  uint32_t size;  // sizeof(vcpu_stats)
  uint32_t stride; // roundup(sizeof(vcpu_stats), cacheline_size)
     uint32_t _pad;
  ...
};

struct vcpu_stats {
  /*
  * If the least-significant bit of the seq number is set then an update
  * is in progress and the consumer must wait to read a consistent set of
  * values. This mechanism is similar to Linux's seqlock.
  */
  uint32_t seq;
  uint32 _pad;
  uint64_t stats_a; // e.g., runstate_running_time
  ...
};

The data layout shall be that there is one vcpu_shmem_stats structure starting
at 0, and an array of stride objects starting at offset, i.e., vcpu_stats
structures. The invariants would be:
* 1. offset >= sizeof(struct vcpu_shmem_stats)
* 2. stride >= size
* 3. the total size of the mapping in frames, which is the value returned by
 resource_size(), must be larger than (offs + vcpus * stride).
* 4. Xen must not produce any data outside of [base, stride) for vcpu data.

The steps to add a new counter B would be:
1. append the new field at vcpu_stats structure.
2. define the bit in stats_active,.i.e., #define STATS_B (1u << 1)
3. advertise STATS_B
I may be missing some steps here but that would be the overall process.

Regarding your email, I have the following comments:

- I still do not know how to choose the value of cacheline_size. I understand
this value shall be between the actual cacheline_size and PAGE_SIZE. A value
that could match most architectures could be 256 bytes.

- Xen shall use the "stats_active" field to indicate what it is producing. In
  this field, reserved bits shall be 0. This shall allow us to agree on the
layout even when producer and consumer are compiled with different headers.

- In the vcpu_stats structure, new fields can only ever be appended.

- The magic field shall act as a sanity check but also as an ABI version in case
we decide to break backward-compatibility.

> A very simple layout, packing the data as closely as reasonable, might be:
> 
> vcpu_offs = roundup(sizeof(dom), cacheline_size)
> vcpu_stride = roundup(sizeof(vcpu), cacheline_size);
> 
> but Xen might have reason to use some other rounding. As the dom or
> vcpu size approaches a page, then Xen will want to change allocation
> scheme to use page size for both, and not vmap the lot as one
> consecutive region.
> 
> 
> 
> For the stats data itself, there wants to be some indication of what
> data Xen is producing, so userspace can know not to bother consuming.
> So something like:
> 
> struct $foo_stats {
>  ...
> 
> #define STATS_A (1u << 0)
> #define STATS_B (1u << 2)
>  uint32_t stats_active;
> 
>  struct $foo_stats_a {
>   uint32_t single_field;
>   ... // maybe other singleton fields
>  };
> 
>  struct $foo_stats_b {
>   uint32_t seq; // "seq" is more common than "version"
>   uint32_t _pad;
>   uint64_t field1;
>   uint64_t field2;
>   ...
>  };
> };
> 
> 
> Forward compatibility rules say that you can only ever append new
> fields. But as hinted at with the stats_active field, its fine to leave
> reserved fields around for future use, generally with a rule that
> anything reserved shall be 0.
> 
> Importantly, this means that offsetof(dom, stats_b) is fixed, and will
> inter-operate just fine if e.g. userspace knows about a stats_c that Xen
> doesn't know about.
> 
> But this does highlight some more invariants. Xen must not produce any
> data outside of [0, vcpu_offs) for dom data, and [base, vcpu_stride) for
> vcpu data.
> 
> Furthermore, Xen should not produce any data not indicated by the
> stats_active field. That said, if Xen is compiled knowing about
> dom->stats_c, and userspace is not, then userspace will observe Xen
> advertising a stat it doesn't know, and producing data beyond
> userspace's sizeof(dom), but within dom->vcpu_offs. This is explicitly
> fine and expected, and why Xen writes it's sizeof() information into the
> dom header. This allows both sides to agree on the layout even when
> they're not compiled from identical copies of the header.
> 
> 
> 
> A few closing thoughts.
> 
> 1) It is wise to have a magic number at the head of each dom and vcpu
> struct. This helps sanity check that both sides have correctly agreed
> on the layout, but can also serve double duty as an ABI "version". If
> we screw up spectacularly, and decide that the best course of action is
> to break backwards compatibility, then we can change the magic and edit
> the structs in a non-forwards-compatible way.
> 
> 2) We may get to a point of wanting arch specific stats. This can be
> accommodated in the model by having struct arch_{dom,vcpu}_stats at
> positions described by the layout at the start of dom. It would be wise
> to leave space (reserved fields) there to use if necessary. This is
> cleaner than deciding that we need to put some new layout fields after
> the latest $foo_stats_$N and before $foo_stats_$M.
> 

I did not address this yet. The vcpu_stats could have some fields that would be
architecture-dependent. Those fields would be advertised by the stats_active
field.

> 3) It would be great if we could have something in tools/tests/ which
> can attach to a running VM and assess the correctness of the invariants
> given. Better yet if it could compile for each change of the ABI and
> assess the correctness for all.
> 

I agree.

Feedback is welcome.

Thanks, Matias.


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 14:26:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 14:26:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506977.780205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZBmr-0003QC-DF; Mon, 06 Mar 2023 14:26:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506977.780205; Mon, 06 Mar 2023 14:26: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 1pZBmr-0003Q5-9X; Mon, 06 Mar 2023 14:26:01 +0000
Received: by outflank-mailman (input) for mailman id 506977;
 Mon, 06 Mar 2023 14:25: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=iyJo=66=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1pZBmp-0003Pz-LB
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 14:25:59 +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 cefb89fd-bc2a-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 15:25:57 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-202-E3cSk3IdM4S-H1nnc8DTYQ-1; Mon, 06 Mar 2023 09:25:52 -0500
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com
 [10.11.54.8])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 66FFA80D0F9;
 Mon,  6 Mar 2023 14:25:51 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.53])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id E9512C16029;
 Mon,  6 Mar 2023 14:25: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: cefb89fd-bc2a-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678112756;
	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=jUmBo2n1j7rGIkJNVwLu/Dgr9Lj3pQ6jxLfoS+Lw8+0=;
	b=cTEonMIn3sB+ka/T3u8tI4rzgXE/KUMm+cXyYmqnwXGK8Q+cda4Qx9/UZ5pBtECJIYeV2M
	dyHz6SSBRD/b2SdIdyilzCOqc4kqXC5qlzRP7HIwUQRS/liPO7jeJBJwYAXOyb8bJCtnd+
	DCL40SWrLivocZI/HhA5Hr715auUmbE=
X-MC-Unique: E3cSk3IdM4S-H1nnc8DTYQ-1
Date: Mon, 6 Mar 2023 14:25:46 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	qemu-arm@nongnu.org, Maxim Levitsky <mlevitsk@redhat.com>,
	libvir-list@redhat.com,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Subject: Re: [PATCH v4 2/5] docs/about/deprecated: Deprecate the
 qemu-system-i386 binary
Message-ID: <ZAX36kyxT2aEg4DF@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20230306084658.29709-1-thuth@redhat.com>
 <20230306084658.29709-3-thuth@redhat.com>
 <ZAWx5eBskd1cItDx@redhat.com>
 <a97c8b6d-8e58-82b5-d73f-72a7061fb5d4@redhat.com>
 <ZAXzUIs6wODe7/hf@redhat.com>
 <7f1501ba-f875-b227-8d7e-f43e69b2ab8d@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <7f1501ba-f875-b227-8d7e-f43e69b2ab8d@redhat.com>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8

On Mon, Mar 06, 2023 at 03:18:23PM +0100, Thomas Huth wrote:
> On 06/03/2023 15.06, Daniel P. Berrangé wrote:
> > On Mon, Mar 06, 2023 at 02:48:16PM +0100, Thomas Huth wrote:
> > > On 06/03/2023 10.27, Daniel P. Berrangé wrote:
> > > > On Mon, Mar 06, 2023 at 09:46:55AM +0100, Thomas Huth wrote:
> > > > > [...] If a 32-bit CPU guest
> > > > > +environment should be enforced, you can switch off the "long mode" CPU
> > > > > +flag, e.g. with ``-cpu max,lm=off``.
> > > > 
> > > > I had the idea to check this today and this is not quite sufficient,
> > > [...]
> > > > A further difference is that qemy-system-i686 does not appear to enable
> > > > the 'syscall' flag, but I've not figured out where that difference is
> > > > coming from in the code.
> > > 
> > > I think I just spotted this by accident in target/i386/cpu.c
> > > around line 637:
> > > 
> > > #ifdef TARGET_X86_64
> > > #define TCG_EXT2_X86_64_FEATURES (CPUID_EXT2_SYSCALL | CPUID_EXT2_LM)
> > > #else
> > > #define TCG_EXT2_X86_64_FEATURES 0
> > > #endif
> > 
> > Hmm, so right now the difference between qemu-system-i386 and
> > qemu-system-x86_64 is based on compile time conditionals. So we
> > have the burden of building everything twice and also a burden
> > of testing everything twice.
> > 
> > If we eliminate qemu-system-i386 we get rid of our own burden,
> > but users/mgmt apps need to adapt to force qemu-system-x86_64
> > to present a 32-bit system.
> > 
> > What about if we had qemu-system-i386 be a hardlink to
> > qemu-system-x86_64, and then changed behaviour based off the
> > executed binary name ?
> 
> We could also simply provide a shell script that runs:
> 
>  qemu-system-x86_64 -cpu qemu32 $*
> 
> ... that'd sounds like the simplest solution to me.

That woudn't do the right thing if the user ran 'qemu-system-i386 -cpu max'
because their '-cpu max' would override the -cpu arg in the shell script
that forced 32-bit mode.


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



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 14:41:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 14:41:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506985.780214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZC1F-000686-L2; Mon, 06 Mar 2023 14:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506985.780214; Mon, 06 Mar 2023 14: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 1pZC1F-00067z-IG; Mon, 06 Mar 2023 14:40:53 +0000
Received: by outflank-mailman (input) for mailman id 506985;
 Mon, 06 Mar 2023 14: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=hnE+=66=citrix.com=prvs=4220c523c=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pZC1E-00067t-RA
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 14:40:52 +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 e209d77e-bc2c-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 15:40:50 +0100 (CET)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 06 Mar 2023 09:40:40 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO1PR03MB5924.namprd03.prod.outlook.com (2603:10b6:303:9a::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Mon, 6 Mar
 2023 14:40:37 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.021; Mon, 6 Mar 2023
 14:40: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: e209d77e-bc2c-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678113650;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=uqrRXM5v1oGuAk0rGYx1QEqHrxzyWuFRlFZFAWmvISc=;
  b=Jk2IMpp1FU2ZYt8kpioTDUfVBw+fPk9eS+qSWjHARgTXNq+hiXCFW5tv
   E00kXZ7QFVlLlDYOrT3eETC8cWxDTy9wn9TUXIgBDrgO3V/JlIVZVHghU
   JIN+vCJNON6EEbYVAoDEYiOpzsrKNjkdGEcDQJoUOzZA2+qBqk1KjVjts
   I=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 99066451
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:W8Yx46gkoOu0P5yH7WIfPUHMX161eREKZh0ujC45NGQN5FlHY01je
 htvWm+FOvfcZmP8KNwgbIWxoBhU7JDXm9dmGVE/rig9EX8b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5weAzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQ1LRpXYyKGwN6y2aCYS7Ux2ekaC9vkadZ3VnFIlVk1DN4AaLWaGuDgw48d2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEhluGzYLI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6RezgqKA23QT7Kmo7JTQTU2ei/f2ChmH9VclVL
 hUu9Cwuov1nnKCsZpynN/Gim1aUsxhZV9dOHukS7ACW1rGS8wufHnIDTDNKdJohrsBebT011
 HeZktXxHzttvbaJD3WH+d+pQSiaPCEUKSoIY38CRA5cut37+tht3lTIU8ppF7OzgpvtAzbsz
 juWrS84wbIOkcoM0Kb99lfC696xmqX0oscOzl2/dgqYAslRPeZJu6TABYDn0Mt9
IronPort-HdrOrdr: A9a23:PX26IK7TdMhJ2tWV5gPXwdWCI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc6Ax/ZJjvo6HnBEDyewK5yXcT2/htAV7CZnidhILMFu1fBOTZsl7d8kHFh5ZgPO
 JbAtND4b7LfCZHZKTBgDVQeuxIqLfnzEnrv5am854Ed3AUV0gK1XYdNu/0KDwQeOALP+taKH
 LKjfA32wZINE5nJvhSQRI+Lpr+juyOsKijTQ8NBhYh5gXLpTS06ITiGxzd8gYCXyhJybIC93
 GAtwDi/K2sv9yy1xeZjgbonthrseqk7uEGKN2Hi8ATJDmpogG0ZL55U7nHkCEprPqp4FMKls
 CJhxs7Jcx8517YY2nwixrw3AvL1ioo9hbZuBKlqEqmhfa8aCMxCsJHi44cWhzF63A4tNU59K
 5QxWqWu7deEBuFxU3GlpL1fiAvsnDxjWspkOYVgXAaeYwCaIVJpYha2E9OCp8PEA/z9YhiOu
 hzC8P34upQbDqhHjvkl1gq5ObpcmU4Hx+ATERHksuJ0wJOlHQ89EcczNx3pAZ2yLsND71/o8
 jUOKVhk79DCuUMa7hmOesHScyrTkTQXBPlKgupUBTaPZBCH0iIh4/84b0z6u3vUocP1oEOlJ
 PIV04dnXIuenjpFdaF0PRwg1HwqV2GLHbQI/xllt1EUuWWfsuuDcTDciFhryKYmYRdPiWBMM
 zDf66/AJfYXB/T8MhyrkvDsqJpWAojuf0uy6cGsm2107L2w63Rx5rmmaXoVfPQOAdhfF/DKV
 0+exW2DPl8zymQKwrFaV7qKjzQRnA=
X-IronPort-AV: E=Sophos;i="5.98,238,1673931600"; 
   d="scan'208";a="99066451"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lGl/Q4sGqb1YWiOIEtm4cRH/6XWsTuwG3w1KAiRUkV2Q8bAXqTithlkfey8XMP7TA+76sT4UL/15B9B20Xoz3F9W3Mk4rt5bXhHrosddvUBRdV2XoYCIr8wtTL3wdX1X1ROMh9xhjQVDopT36bOqgDxL0rwgUDMcWXlR4MrYVkstQDVy1bLLVYRxCrNSkiYM9WyrJjv0ewHsYyqOTHD9IgouIALOkZvd/HDbqkZsA1UVxpgPGWvhvuKUk/uXGGYwdPPQ6IV8eLK5uKDhTNpLmNtbR87g+nT/s1Mkl9PkYztHQGXmVmG5zAO+u5L1gLp2yNIA8EFZ/tXosbOxNj4I7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uqrRXM5v1oGuAk0rGYx1QEqHrxzyWuFRlFZFAWmvISc=;
 b=kg2eHCPTB/nQQDlLqPlR/VT/bx19fzpQHpZnibYMxY/FLEiKx3aLk4LmcmVDsJrqPbrtxsaCQSwOt6QLc+3ur2wqcCbzvGIgHyX8ZHEpJDiEiU/X1RgV8cDsgt8hYIH9GQIPEaCKCbk6NAaOKb0BOGBrCDw/AmJt0BCk3A2UVx06kZg4eQNfqEI+rTnU0Gwa/npjgx1vAL5/Xjr7rqp75N5rFYAb5lWYt6olKg4+rtmF6ihUtmjYg6LoWIhhsCO9dXVl6PySiGu6Pobdtc62LwW9bAsmdW7gsefeow0LUBahHDpGlf+eSmgVuAs4/LxOy0D7rLF4q4LkZMhKZp6/hg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uqrRXM5v1oGuAk0rGYx1QEqHrxzyWuFRlFZFAWmvISc=;
 b=STHRWk9VZ+j+vVbRWIUOue1rw2rfDhJKu5ARqAMcik22p+QaXOd+RUQ4GbURTQDAL33wnyw8IU4HrbQ9Lkq7/zIYoa6p8d2T56mZtr2XBVTAmc10nUqcwtMpa9NYoO98mhFoyQm1kUnn+jgj5yEXgVHGUqu+aFQIaXseWfPs2t4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <8b21128c-4d48-0834-ffe6-452dc395e5c9@citrix.com>
Date: Mon, 6 Mar 2023 14:40:31 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [OSSTEST PATCH] ap-common: Fix qemu.git URL
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Ian Jackson <iwj@xenproject.org>, Roger Pau Monne <roger.pau@citrix.com>
References: <20230306135731.43329-1-anthony.perard@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <20230306135731.43329-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO0P123CA0005.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:354::17) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CO1PR03MB5924:EE_
X-MS-Office365-Filtering-Correlation-Id: 4b814c74-c365-4add-506e-08db1e50bfc5
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2Bqj6oopAxwQno+Xiau/FV2ah7IhWxgMYOBzU81h5ppgoha8aR0rYPt4aDs4vn3fKPDxB4iHPvsBa5McP5jYbqJw8cyESVvBoelZFf3qTgCJFxjFDthZrMG184u+jA9hoo8+DGA8ZXFPKncGFkwAtk7/u6khX/14+/8MJHFxqzHG7zFRHgSk8ZJ5y+7syuCQzwsjY6iL3KwiJvBB+Oers67TBQ1+XCLW7bvrTh5gwWDXvLitPl851yOHG24SIHI0twd//QdZ2ap55Z6Pndc2AZNFlMS5trtWDjpV1+18qnw/UgMK7ccEKi8EXu22do8R80RldmyuxDcadrYPV3ZL0KXC34gUr42QWXqop3WYBuWflaBwKz6mySHK1ixF9QAfqxWiGLUN35WdLYZYH3evaDMEzLVFNzTxJbQf0lY78S+Ln46ntRCmBMXctsaIKRmIGU/hHmRGzLqzeon1iW6vv8lOuubzGOmabBbahqeGIpVaBJM0zvD9VyBar2IzQsQtYaiPL+sLttxhjXLOGvJMQt6PJYvP5wTTnnSL/gkjP0VMBysWV3eiIzC1wm5AAVlYrR9Tv+hdV5FTxEQLhZAWCLtlMLHVtlP08TAiOZAnkTq1ZzdZJy07N6ZP6XRXsQG9wek5ChxngOY5pSpIfI5IzMvPoeI8Wn8y02a1ZwqO1BPYU6qa3cqg/v2pP0D4HJkDFz8A/fUuA2NjAujwEQxYwq0kDzLFlcvCu1XYxpG3JIY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(136003)(376002)(366004)(346002)(396003)(451199018)(6506007)(6512007)(53546011)(6486002)(107886003)(6666004)(36756003)(86362001)(31696002)(82960400001)(38100700002)(186003)(2616005)(26005)(41300700001)(66946007)(66556008)(66476007)(8676002)(4326008)(2906002)(31686004)(4744005)(8936002)(5660300002)(478600001)(316002)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QTY1OUc3ekR5SlI3emtrdlBlbzllV2lwbW5rL2xsNGhpSlZWZnMrSitYSFds?=
 =?utf-8?B?enFQOFM4U1lSSkdWcFNqYkpzc0RNaUVqMDZFblVJM0V4UnkvUHlpY0lBcW5K?=
 =?utf-8?B?WDI0TlR2OHJTRmdhS05RUWFrdEVxdHQxR241VjZReVh0a3VmcUtvWlVyZHVj?=
 =?utf-8?B?dUxQdk5hNWFXSGV2YmxQNExwYnF6enlIckpmWm0rSlAwTjNkYjA4bnQvV1Aw?=
 =?utf-8?B?bk9PWVBMeEdUSWZ5NTJ6YmNLUVpBRGtQbnVvV2QvWWhkUGZMZERwZkpIdk1R?=
 =?utf-8?B?V01tTjc3YWNHV3dubVRLYjI1dUUweTE1SHhvRGsxcVd5VERKRnBNRmhPVGk5?=
 =?utf-8?B?M0xBMzB0L1Z6RXBNdEpDTjNWai9UVW8waVZsb1B3SEFEb0I3aENDdXFzUitN?=
 =?utf-8?B?ZzdKdEN5OGpBL1BYZ3RFNGJlamk0TXdMVEJEZzlQRXI0ZmJkUEh4SzRuR1V2?=
 =?utf-8?B?YU5reCszZFMwb2NWWllyTDJPRVlINE1WWjNiWE5tdnFvTW1Gc1dJR0pHRitO?=
 =?utf-8?B?QW9iUmRnWmZqc05sbEJUdmVOT3p1YzUrcGQ0enBqZUl0OHhKNTN5LzBvTm5u?=
 =?utf-8?B?RjF6QmhlVm1zL2FwZlVIc1RMTjZsOGJHZVB3c2s3dGN5bWRoSkloTUZTVUNH?=
 =?utf-8?B?Unhjc2QvRTlNbUpkYXhKMW1MRWwvanFTTjQvTHZxYmhjdkx0ZmNHaUhEcGNM?=
 =?utf-8?B?ZkZGVTYvb0laeDhiWXlEN0NWUnRpWlNqSDNyT0RjajdsRWlSOXVhUU10ejZN?=
 =?utf-8?B?NTJqd3JhM1VhL2V3UW1VcEFrWkN4WGdyRXNEZlVlanRaVml1Q214NDFRT3Bw?=
 =?utf-8?B?OVh2NkFONTVDbldRR2QxOXNKQk90a0Y3STBvd1BaM1pheVBqazR0NkZqbkFO?=
 =?utf-8?B?a01CWkg1b3hZeEFmSFJxck9Ha0pIb3ordmg3eWgvTng5NUp0Z3dHc2VkMlE3?=
 =?utf-8?B?aGcvRUpRT3RTdXBVaXNDM0dXdElwcjM2VEJEeHF4T3dwazZzRDRqVmFkMEJR?=
 =?utf-8?B?R1NqaEllNmlYNGhGOHdCNCttcStYaXY3eXNzNFIzMWY2L2RHcnBLMzROMFl0?=
 =?utf-8?B?MkxlelRkNjFkNFE3RGpSb29QN3J5WUd3eG5tTER5Ui9yUVFFZ0lzZDNjOEhW?=
 =?utf-8?B?QzdsNkh2T0NqS20ybDdPclc3dW1FSFFUTzl0YzhuSDZtNVR6aUVCOGptOHVC?=
 =?utf-8?B?aWlMV0x5MmRUaTN0QjNCZTZRVDhlRWJLNUNMU0xNZUVDMzFFblJublpDYU5u?=
 =?utf-8?B?TktzNFN4QmMybnNJNWxLYldWN3IxWDUrWWVJL3ZITzNuTDRFSXE1VXRibFVQ?=
 =?utf-8?B?N2JoZ25qbnJqblBYV1g2VVlMMjRkNitkY0tFTTN0N2hsKy9DUmRId01pblFE?=
 =?utf-8?B?MXFNNWZlczVUMHZrMWNJZ3M4VGN0YzViLzZmR3J1eGF2Z1hDenVRM3lmMXNy?=
 =?utf-8?B?OThCUko0SU5FZldnb2FhQmF5VlBwZkkwRGY2ZG0zTndKK1hZRCtZWnBQMVBN?=
 =?utf-8?B?dUVhbkJXOXdxYzZUNHY4V1hMY1M1Unl2MkJCVExxeXNDeUg1bThqR3BUcTIz?=
 =?utf-8?B?bittbDBBNGZjTmRLUG85UUtycXdXbzVtUE9CQmx5WW9UU3dNVytDWEtYUnY1?=
 =?utf-8?B?dU9CUDdvTnY3ZUV1QzFLMi9SMk5pS2ExdExHSTBWbzF4c2wvemhoMGZRSXo1?=
 =?utf-8?B?bE1XR3E4MGk0WXhNa2lhd2lSbzRKd0g3THJLb1lEek42Ty9CUDR0eVNDdTJq?=
 =?utf-8?B?UlE4R05FZ2dvZ3hIZTJ1ZEtPaWxTaVlLZkhiUXN4elAxMm5vK0hzNFpKTHhi?=
 =?utf-8?B?VHNrclYrdnBxLzROTFE3c2dKdWJzYW5uYnR4cXJVc09LcGllWGxtQkF6d0kw?=
 =?utf-8?B?aEFSNWUrcmxjNGFYTkFWV29Pc2VKaGoxeVlsZHhMSExIdXQ1VXBiKzhEQ3A4?=
 =?utf-8?B?U0ZvYWxzVVQ3MlBmcDRpaG5nd25nYXJyVGJJRWM1UXplTGhpOFE2QnIzWVgx?=
 =?utf-8?B?MXVSNlo0d0lwdEw3SHFhMEZxR21nZXczQkhRVjcwdUhaSTVKMVBPQ1BXTzFt?=
 =?utf-8?B?dzVpaVZjUG4yY0RTclZsdVlHQ3M5T2oxelBkUkFFd1FPa1NldHVmSEJqR3NY?=
 =?utf-8?B?MUpPZVRUSXpiYXNnekpvTm5OVmxaMjFmcGZ3S2w5RWZQbkIvME5Nc3JFUFFm?=
 =?utf-8?B?YWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	T36SlsivWG/d19/rR//0Ge65OmFElbUnCjmiWuRIRPGAuty0vkTQkfqpAP3/oS7BNaTawZfE+2jswQh12zT6nSx50xYhkG7M9nCEH9+dfOdaYn0+SQsSS31wKvw1XQbQI6c8l/stQxEQ9K/MAMbTeRhj9aJtfgquDZ+dv6+5Hql2DhdGAFrYHxTT0SPAkcpqTwqpkNFULIb6zdoe9JZ9SBoDIUcXoKgOISeX1kAYTVII+RWSo3oWudhcGoQ5LqCghJvafQmmDRMpM4qdbUDiWQwPfMC+Jpp96ICccbGjAjy7lwfxP4VC8eiyHcVBtlVnMveBDk0SZ8E6D6h+vwJeIRcsaZj2EOZT5RD8eaKfuOFl2184GPNXqLtVEOmGaL9z6phzuvYTWnspgQl3nhqXDMwfIof1jiyzIm9eaBq8V9PBzdRXPDgMMWc95V1QFK9hrDn6h9khGvHxM5FBXZu1/2GAd1RZC1sAy2Y7tebKHY1hZjXTw8JtbAPNa+NQ8JyAOXjEkmIKQ8u7U+NQPQN4tQIEfoVyXrQGICSSzcsGUyB4ZU/fFzxGb5uldYa00pdpYPwN07P39ONGdq0x0pus9hfSKZL3I8v52YXwBaYEF4ZnKsmYxiFfMwypW4RQB1jrfHs3GgYyUbbQn4MeU4DGXJolwItSPHJcWzIIYNnyjoJ4m5h37/vEWg0e5jcsjkPR/gnXLIYTOEg+h5U74hx6pKoL4KWzAxtF4japJBafT97llevbOS4vbWXYH8eXzK67pEhO+xKXbrEnXin3BNYL4d9ToutpFnBQyXbY94D/45HxdHopH1NeK8G8pVebqjaM
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4b814c74-c365-4add-506e-08db1e50bfc5
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Mar 2023 14:40:37.1340
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mT+JU8U1t/TixlbPmtEJNU55RKbNzWtOFftycjz2w1jAYaDWMx3/8E3/3XqiLvJICa/BYx01cjLHKVQ+XV8NdjR49X96FVt4F8j2yCgNYco=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5924

On 06/03/2023 1:57 pm, Anthony PERARD wrote:
> Cloning from "git://git.qemu.org/qemu.git" haven't work for maybe a
> month.
>
> While "https://git.qemu.org/qemu.git" seems to work, it only redirects
> to gitlab.com.
>
> qemu.org website point to a repo hosted by gitlab.com.
>
> So, switch to "https://gitlab.com/qemu-project/qemu.git".
>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 14:56:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 14:56:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506990.780225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZCG2-0007qF-Ui; Mon, 06 Mar 2023 14:56:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506990.780225; Mon, 06 Mar 2023 14: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 1pZCG2-0007q8-Rg; Mon, 06 Mar 2023 14:56:10 +0000
Received: by outflank-mailman (input) for mailman id 506990;
 Mon, 06 Mar 2023 14:56: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=XRxq=66=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pZCG2-0007q2-4t
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 14:56:10 +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 0707cacf-bc2f-11ed-96b5-2f268f93b82a;
 Mon, 06 Mar 2023 15:56:08 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id c18so5839928wmr.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 06:56:08 -0800 (PST)
Received: from [192.168.30.216] ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id
 w17-20020adfd4d1000000b002c6d0462163sm10121537wrk.100.2023.03.06.06.56.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Mar 2023 06:56: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: 0707cacf-bc2f-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678114568;
        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=HSNlvtsNsid6WJj6EyGrAe6WXlCiD/g/Bz4qeivUmY0=;
        b=Oqt2bb8ePN1P2UfEps2tUjKOfsG9rH27VORr8popXmXXRgGHVPyBtt8DnmmiwrLf45
         eQk9WIsrg/C/vofTE5oPgmUVBiGwxQXMW8EvZK1UZP2JhJBQIXx9UAlGAIudq+v4IL7D
         W53M1f7Ers2pi/HtcHdWfZObZH5SxaB2t6UcgXPWpuWxJMStEsqQxkXt34BXYQZXXfsl
         DjuA+SFDKMeeWYEZVJroEL+cMlPNwC20OYsrzF9qBr2oH6C9TW7Av0O92i8kqB6eVbeH
         HIpU/31mqlE476m7BH9B68Tvf3cDyjCQdBWDNXZinEUXKPWeRBqFoYoc/cn2He3TeKHY
         p5yw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678114568;
        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=HSNlvtsNsid6WJj6EyGrAe6WXlCiD/g/Bz4qeivUmY0=;
        b=wJRCVgWMsIbeeFJ2VdbJPaGywBUQr9sWrlwcBTr3ZJoNfskIwb8+erov9jMhnQCz87
         ZVI4BGlWwTTk3PHTd4HMY5mLpf5IXdRiOjZRhcTVE433vVlXow2zt8q1Lru29nwpoIJl
         HZMEve5nbLgKO2vvCcGQ5WFKYuT0MxyZ5byZ5jF8FMvGbYT9zgUzMy6hnVkXFtOFtk3f
         6ztae55JoQ9lZTJjKueirv98q1+Ys8lY8gnBmiN1Gw9X8pksNc9t09QonwERCSk0zcYK
         FnreEcBhIntORxy+iM4JNPOXIGI3T5CYKSVHPxdomjvRrg9QTuTPT6wC2tJeCzFVVV5h
         JRvg==
X-Gm-Message-State: AO0yUKVqLkZ7cW0kOevzM9BF+V94A31DJkbKB2IfGMy5YUpKvY+gL8RM
	QLKOPZx3H3Q/o3iXLd6urO5Qbw==
X-Google-Smtp-Source: AK7set/s8L1UGgm9AiWwMENrcTLfGMTYfkneJNyQl1C+0XtXj8LbERh8o6P6UbeKmtlIgI33BKq6+w==
X-Received: by 2002:a05:600c:4e90:b0:3da:fc30:bfc5 with SMTP id f16-20020a05600c4e9000b003dafc30bfc5mr9417698wmq.13.1678114568128;
        Mon, 06 Mar 2023 06:56:08 -0800 (PST)
Message-ID: <5470384c-d720-26fc-3b3f-78e32e804b4d@linaro.org>
Date: Mon, 6 Mar 2023 15:56:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v4 2/5] docs/about/deprecated: Deprecate the
 qemu-system-i386 binary
Content-Language: en-US
To: =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>,
 Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>,
 Wilfred Mallawa <wilfred.mallawa@wdc.com>,
 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
References: <20230306084658.29709-1-thuth@redhat.com>
 <20230306084658.29709-3-thuth@redhat.com> <ZAWx5eBskd1cItDx@redhat.com>
 <a97c8b6d-8e58-82b5-d73f-72a7061fb5d4@redhat.com>
 <ZAXzUIs6wODe7/hf@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <ZAXzUIs6wODe7/hf@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 6/3/23 15:06, Daniel P. Berrangé wrote:
> On Mon, Mar 06, 2023 at 02:48:16PM +0100, Thomas Huth wrote:
>> On 06/03/2023 10.27, Daniel P. Berrangé wrote:
>>> On Mon, Mar 06, 2023 at 09:46:55AM +0100, Thomas Huth wrote:
>>>> [...] If a 32-bit CPU guest
>>>> +environment should be enforced, you can switch off the "long mode" CPU
>>>> +flag, e.g. with ``-cpu max,lm=off``.
>>>
>>> I had the idea to check this today and this is not quite sufficient,
>> [...]
>>> A further difference is that qemy-system-i686 does not appear to enable
>>> the 'syscall' flag, but I've not figured out where that difference is
>>> coming from in the code.
>>
>> I think I just spotted this by accident in target/i386/cpu.c
>> around line 637:
>>
>> #ifdef TARGET_X86_64
>> #define TCG_EXT2_X86_64_FEATURES (CPUID_EXT2_SYSCALL | CPUID_EXT2_LM)
>> #else
>> #define TCG_EXT2_X86_64_FEATURES 0
>> #endif
> 
> Hmm, so right now the difference between qemu-system-i386 and
> qemu-system-x86_64 is based on compile time conditionals. So we
> have the burden of building everything twice and also a burden
> of testing everything twice.
> 
> If we eliminate qemu-system-i386 we get rid of our own burden,
> but users/mgmt apps need to adapt to force qemu-system-x86_64
> to present a 32-bit system.
> 
> What about if we had qemu-system-i386 be a hardlink to
> qemu-system-x86_64, and then changed behaviour based off the
> executed binary name ?
> 
> ie if running qemu-system-i386, we could present a 32-bit CPU by
> default. We eliminate all of our double compilation burden still.
> We still have extra testing burden, but it is in a fairly narrow
> area, so does not imply x2 the testing burden just $small-percentage
> extra testing ?  That would means apps/users would not need to change
> at all, but we still get most of the win we're after on the
> QEMU side
> 
> Essentially #ifdef TARGET_X86_64  would be change  'if (is_64bit) {...}'
> in a handful of places, with 'bool is_64bit' initialized in main() from
> argv[0] ?

That is what Alex suggested me to do with ARM binaries as a prototype
of unifying 32/64-bit binaries, avoiding to break users scripts.


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 14:58:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 14:58:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.506995.780235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZCIf-0008P2-BQ; Mon, 06 Mar 2023 14:58:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 506995.780235; Mon, 06 Mar 2023 14: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 1pZCIf-0008Ov-8f; Mon, 06 Mar 2023 14:58:53 +0000
Received: by outflank-mailman (input) for mailman id 506995;
 Mon, 06 Mar 2023 14:58: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=iyJo=66=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1pZCIe-0008Op-8S
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 14:58:52 +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 666be672-bc2f-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 15:58: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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-563-MPXax0aiPU--pOq_go1idA-1; Mon, 06 Mar 2023 09:58:45 -0500
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
 [10.11.54.4])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 82EC7811E6E;
 Mon,  6 Mar 2023 14:58:44 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.53])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 7E2962026D4B;
 Mon,  6 Mar 2023 14:58: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: 666be672-bc2f-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678114728;
	h=from:from:reply-to:reply-to:subject:subject:date:date:
	 message-id:message-id:to:to:cc:mime-version:mime-version:
	 content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding:
	 in-reply-to:in-reply-to:references:references;
	bh=a93oAn60717NX8pmLmU53M4NQQZCFhxdTP7eNfQ6xsA=;
	b=WGIsaJ1jDmUej8o/e/iZOXYT0aX8zMiNuOQ3rPSOfaJTx1kOLNnfXBLBZAwDToWP5HdAin
	X/fcflMQLk91cjBmbQ05PaLJi6mLpPTXPsMMxltpyKC+0nIWbvC8w+Tp8hFmPuR+4smdAq
	4zaNJDA6ZV0CuIhYc7kCozGb2bESw64=
X-MC-Unique: MPXax0aiPU--pOq_go1idA-1
Date: Mon, 6 Mar 2023 14:58:30 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>, libvir-list@redhat.com,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	Richard Henderson <richard.henderson@linaro.org>,
	qemu-devel@nongnu.org, Markus Armbruster <armbru@redhat.com>,
	Wilfred Mallawa <wilfred.mallawa@wdc.com>, qemu-arm@nongnu.org,
	Reinoud Zandijk <reinoud@netbsd.org>,
	xen-devel@lists.xenproject.org, Paolo Bonzini <pbonzini@redhat.com>,
	Maxim Levitsky <mlevitsk@redhat.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
Subject: Re: [PATCH v4 2/5] docs/about/deprecated: Deprecate the
 qemu-system-i386 binary
Message-ID: <ZAX/lqu0Duuxfy/E@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20230306084658.29709-1-thuth@redhat.com>
 <20230306084658.29709-3-thuth@redhat.com>
 <ZAWx5eBskd1cItDx@redhat.com>
 <a97c8b6d-8e58-82b5-d73f-72a7061fb5d4@redhat.com>
 <ZAXzUIs6wODe7/hf@redhat.com>
 <7f1501ba-f875-b227-8d7e-f43e69b2ab8d@redhat.com>
 <ZAX36kyxT2aEg4DF@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZAX36kyxT2aEg4DF@redhat.com>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.4

On Mon, Mar 06, 2023 at 02:25:46PM +0000, Daniel P. Berrangé wrote:
> On Mon, Mar 06, 2023 at 03:18:23PM +0100, Thomas Huth wrote:
> > On 06/03/2023 15.06, Daniel P. Berrangé wrote:
> > > On Mon, Mar 06, 2023 at 02:48:16PM +0100, Thomas Huth wrote:
> > > > On 06/03/2023 10.27, Daniel P. Berrangé wrote:
> > > > > On Mon, Mar 06, 2023 at 09:46:55AM +0100, Thomas Huth wrote:
> > > > > > [...] If a 32-bit CPU guest
> > > > > > +environment should be enforced, you can switch off the "long mode" CPU
> > > > > > +flag, e.g. with ``-cpu max,lm=off``.
> > > > > 
> > > > > I had the idea to check this today and this is not quite sufficient,
> > > > [...]
> > > > > A further difference is that qemy-system-i686 does not appear to enable
> > > > > the 'syscall' flag, but I've not figured out where that difference is
> > > > > coming from in the code.
> > > > 
> > > > I think I just spotted this by accident in target/i386/cpu.c
> > > > around line 637:
> > > > 
> > > > #ifdef TARGET_X86_64
> > > > #define TCG_EXT2_X86_64_FEATURES (CPUID_EXT2_SYSCALL | CPUID_EXT2_LM)
> > > > #else
> > > > #define TCG_EXT2_X86_64_FEATURES 0
> > > > #endif
> > > 
> > > Hmm, so right now the difference between qemu-system-i386 and
> > > qemu-system-x86_64 is based on compile time conditionals. So we
> > > have the burden of building everything twice and also a burden
> > > of testing everything twice.
> > > 
> > > If we eliminate qemu-system-i386 we get rid of our own burden,
> > > but users/mgmt apps need to adapt to force qemu-system-x86_64
> > > to present a 32-bit system.
> > > 
> > > What about if we had qemu-system-i386 be a hardlink to
> > > qemu-system-x86_64, and then changed behaviour based off the
> > > executed binary name ?
> > 
> > We could also simply provide a shell script that runs:
> > 
> >  qemu-system-x86_64 -cpu qemu32 $*
> > 
> > ... that'd sounds like the simplest solution to me.
> 
> That woudn't do the right thing if the user ran 'qemu-system-i386 -cpu max'
> because their '-cpu max' would override the -cpu arg in the shell script
> that forced 32-bit mode.

It would also fail to work with SELinux, because policy restrictions
doesn't allow for an intermediate wrapper script to exec binaries.

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



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 15:27:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 15:27:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507013.780244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZCk4-0003ww-Jt; Mon, 06 Mar 2023 15:27:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507013.780244; Mon, 06 Mar 2023 15:27:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZCk4-0003wp-HE; Mon, 06 Mar 2023 15:27:12 +0000
Received: by outflank-mailman (input) for mailman id 507013;
 Mon, 06 Mar 2023 15:27: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=aUxP=66=gmail.com=wei.liu.linux@srs-se1.protection.inumbo.net>)
 id 1pZCk3-0003wj-53
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 15:27:11 +0000
Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com
 [209.85.221.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5c675a78-bc33-11ed-96b5-2f268f93b82a;
 Mon, 06 Mar 2023 16:27:10 +0100 (CET)
Received: by mail-wr1-f51.google.com with SMTP id v16so9286988wrn.0
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 07:27:10 -0800 (PST)
Received: from liuwe-devbox-debian-v2 ([51.145.34.42])
 by smtp.gmail.com with ESMTPSA id
 r1-20020a056000014100b002c5534db60bsm10414947wrx.71.2023.03.06.07.27.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Mar 2023 07:27: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: 5c675a78-bc33-11ed-96b5-2f268f93b82a
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678116429;
        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=WjzbTdN7CLD76LwUYgSQFGlrkv+uCLMJlqFIMmRORpA=;
        b=4cdzewtHR1wPXl4evobT8E1MmtldqxsY+6nyVzADysCNxPDfxPpx8bwch4Pblt7cuF
         EIs/w5oYEVZGvbTI5oFwfCWupIT4ac8GburVWOPV55e1TWWHriG+vvwd4B/67nhtcgAW
         ofrkNapXxSEEb+R5pFHTnfd3WTkAYBi5ygnMr+1hFJe7cNNwa8jDn7PL7DpIW+PzBtTo
         rH/EEmkBwiKkeJ2dueISm3CIrI3bJTRnKahUfYywe+kLIChVqQEU9QlcAlsiXX0sP+Fi
         iVPasksnfGqUa11BKgnb7keTHzJn9+7U4H+iMnOQa5kPfRgVYVj+oo1w8L2LHBtTUima
         rhzg==
X-Gm-Message-State: AO0yUKVgrZj4PUtAmGvVa2ZbzvtyQ9SS2my1hnlQIABzDLFDEX7X3Nqf
	aLhxha5YbXF889q0v4arRFs=
X-Google-Smtp-Source: AK7set8sLVDUwT8GQGScn0gVSp+FOGcmG6WKTOjmYMNL/6orgxuEwPFL/9jsyQwuVKKF6cXajJRglg==
X-Received: by 2002:adf:eb4b:0:b0:2c6:e744:cf71 with SMTP id u11-20020adfeb4b000000b002c6e744cf71mr6185222wrn.52.1678116429360;
        Mon, 06 Mar 2023 07:27:09 -0800 (PST)
Date: Mon, 6 Mar 2023 15:27:03 +0000
From: Wei Liu <wei.liu@kernel.org>
To: Luis Chamberlain <mcgrof@kernel.org>
Cc: ebiederm@xmission.com, keescook@chromium.org, yzaikin@google.com,
	jejb@linux.ibm.com, martin.petersen@oracle.com, minyard@acm.org,
	kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
	decui@microsoft.com, song@kernel.org, robinmholt@gmail.com,
	steve.wahl@hpe.com, mike.travis@hpe.com, arnd@arndb.de,
	gregkh@linuxfoundation.org, jirislaby@kernel.org, jgross@suse.com,
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
	xen-devel@lists.xenproject.org, j.granados@samsung.com,
	zhangpeng362@huawei.com, tangmeng@uniontech.com,
	willy@infradead.org, nixiaoming@huawei.com, sujiaxun@uniontech.com,
	patches@lists.linux.dev, linux-fsdevel@vger.kernel.org,
	apparmor@lists.ubuntu.com, linux-raid@vger.kernel.org,
	linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/7] hv: simplify sysctl registration
Message-ID: <ZAYGR4DFQrjZVpC5@liuwe-devbox-debian-v2>
References: <20230302204612.782387-1-mcgrof@kernel.org>
 <20230302204612.782387-4-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230302204612.782387-4-mcgrof@kernel.org>

On Thu, Mar 02, 2023 at 12:46:08PM -0800, Luis Chamberlain wrote:
> register_sysctl_table() is a deprecated compatibility wrapper.
> register_sysctl() can do the directory creation for you so just use
> that.
> 
> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>

Reviewed-by: Wei Liu <wei.liu@kernel.org>


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 15:35:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 15:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507020.780254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZCs5-0005an-Cc; Mon, 06 Mar 2023 15:35:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507020.780254; Mon, 06 Mar 2023 15:35: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 1pZCs5-0005ag-9z; Mon, 06 Mar 2023 15:35:29 +0000
Received: by outflank-mailman (input) for mailman id 507020;
 Mon, 06 Mar 2023 15: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=sNqe=66=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1pZCs3-0005aa-45
 for xen-devel@lists.xen.org; Mon, 06 Mar 2023 15:35:27 +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 82ef4976-bc34-11ed-96b5-2f268f93b82a;
 Mon, 06 Mar 2023 16:35: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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-554-L6-SOzn1OAGkVQ6bHCSKTQ-1; Mon, 06 Mar 2023 10:35:15 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6F6BD8027FD;
 Mon,  6 Mar 2023 15:34:54 +0000 (UTC)
Received: from localhost (unknown [10.39.195.176])
 by smtp.corp.redhat.com (Postfix) with ESMTP id B131A492C14;
 Mon,  6 Mar 2023 15:34: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: 82ef4976-bc34-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678116923;
	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=RhktDrmgHXbh+B4QkEdlxbs0OpCbKljBE7TnSqUmdxc=;
	b=LFXyVCKveEOTuuMzi9Qt5JzQANUXmnIIBZeROQH6DRDz4yqFnRNPm2cBsBvMwYwGOIdfjc
	udnUG7681qzgMRnhhTU7bEOHFjgbc2bzJqrq521DPc+w04CoeLIJxTL0PVi/xhRLHE32vy
	MB2RYjbfTycv2YzBXB4hDhiy6DFBcHQ=
X-MC-Unique: L6-SOzn1OAGkVQ6bHCSKTQ-1
Date: Mon, 6 Mar 2023 10:34:51 -0500
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH V2] docs: vhost-user: Add Xen specific memory mapping
 support
Message-ID: <20230306153451.GB51288@fedora>
References: <7c3c120bcf2cf023e873800fd3f55239dd302e38.1678100850.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="6o3hguOYtNtqX5if"
Content-Disposition: inline
In-Reply-To: <7c3c120bcf2cf023e873800fd3f55239dd302e38.1678100850.git.viresh.kumar@linaro.org>
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.9


--6o3hguOYtNtqX5if
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Mar 06, 2023 at 04:40:24PM +0530, Viresh Kumar wrote:
> The current model of memory mapping at the back-end works fine where a
> standard call to mmap() (for the respective file descriptor) is enough
> before the front-end can start accessing the guest memory.
>=20
> There are other complex cases though where the back-end needs more
> information and simple mmap() isn't enough. For example Xen, a type-1
> hypervisor, currently supports memory mapping via two different methods,
> foreign-mapping (via /dev/privcmd) and grant-dev (via /dev/gntdev). In
> both these cases, the back-end needs to call mmap() and ioctl(), and
> need to pass extra information via the ioctl(), like the Xen domain-id
> of the guest whose memory we are trying to map.
>=20
> Add a new protocol feature, 'VHOST_USER_PROTOCOL_F_XEN_MMAP', which lets
> the back-end know about the additional memory mapping requirements.
> When this feature is negotiated, the front-end can send the
> 'VHOST_USER_SET_XEN_MMAP' message type to provide the additional
> information to the back-end.
>=20
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
> V1->V2:
> - Make the custom mmap feature Xen specific, instead of being generic.
> - Clearly define which memory regions are impacted by this change.
> - Allow VHOST_USER_SET_XEN_MMAP to be called multiple times.
> - Additional Bit(2) property in flags.
>=20
>  docs/interop/vhost-user.rst | 36 ++++++++++++++++++++++++++++++++++++
>  1 file changed, 36 insertions(+)
>=20
> diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst
> index 3f18ab424eb0..8be5f5eae941 100644
> --- a/docs/interop/vhost-user.rst
> +++ b/docs/interop/vhost-user.rst
> @@ -258,6 +258,24 @@ Inflight description
> =20
>  :queue size: a 16-bit size of virtqueues
> =20
> +Xen mmap description
> +^^^^^^^^^^^^^^^^^^^^
> +
> ++-------+-------+
> +| flags | domid |
> ++-------+-------+
> +
> +:flags: 64-bit bit field
> +
> +- Bit 0 is set for Xen foreign memory memory mapping.
> +- Bit 1 is set for Xen grant memory memory mapping.
> +- Bit 2 is set if the back-end can directly map additional memory (like
> +  descriptor buffers or indirect descriptors, which aren't part of alrea=
dy
> +  shared memory regions) without the need of front-end sending an additi=
onal
> +  memory region first.

I don't understand what Bit 2 does. Can you rephrase this? It's unclear
to me how additional memory can be mapped without a memory region
(especially the fd) is sent?

> +
> +:domid: a 64-bit Xen hypervisor specific domain id.
> +
>  C structure
>  -----------
> =20
> @@ -867,6 +885,7 @@ Protocol features
>    #define VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS 14
>    #define VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS  15
>    #define VHOST_USER_PROTOCOL_F_STATUS               16
> +  #define VHOST_USER_PROTOCOL_F_XEN_MMAP             17
> =20
>  Front-end message types
>  -----------------------
> @@ -1422,6 +1441,23 @@ Front-end message types
>    query the back-end for its device status as defined in the Virtio
>    specification.
> =20
> +``VHOST_USER_SET_XEN_MMAP``
> +  :id: 41
> +  :equivalent ioctl: N/A
> +  :request payload: Xen mmap description
> +  :reply payload: N/A
> +
> +  When the ``VHOST_USER_PROTOCOL_F_XEN_MMAP`` protocol feature has been
> +  successfully negotiated, this message is submitted by the front-end to=
 set the
> +  Xen hypervisor specific memory mapping configurations at the back-end.=
  These
> +  configurations should be used to mmap memory regions, virtqueues, desc=
riptors
> +  and descriptor buffers. The front-end must send this message before any
> +  memory-regions are sent to the back-end via ``VHOST_USER_SET_MEM_TABLE=
`` or
> +  ``VHOST_USER_ADD_MEM_REG`` message types. The front-end can send this =
message
> +  multiple times, if different mmap configurations are required for diff=
erent
> +  memory regions, where the most recent ``VHOST_USER_SET_XEN_MMAP`` must=
 be used
> +  by the back-end to map any newly shared memory regions.

This message modifies the behavior of subsequent
VHOST_USER_SET_MEM_TABLE and VHOST_USER_ADD_MEM_REG messages. The memory
region structs can be extended and then VHOST_USER_SET_XEN_MMAP isn't
needed.

In other words:

  When VHOST_USER_PROTOCOL_F_XEN_MMAP is negotiated, each "Memory
  regions description" and "Single memory region description" has the
  following additional fields appended:

  +----------------+-------+
  | xen_mmap_flags | domid |
  +----------------+-------+

  :xen_mmap_flags: 64-bit bit field
  :domid: a 64-bit Xen hypervisor specific domain id.

Stefan

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

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmQGCBsACgkQnKSrs4Gr
c8ioqggAr0sNzP6odV6D7q20EAu0U8ebHThXN5TfZ1O1jznw1m3Elh711LqjSR95
EMzBureA2VwAyjXwVMLcA557T71x1e7yaFBaw0EIn1sbQaX0yjUlWZq0RiR4JKbw
JL84hDrdkgZtX+Vixgp+rfRBs8qyzSBmC8F0zlhJOgkEob0D42hsNPohZIKj2g3a
cmUEXIrrGswJ5gYyP/j0OT587jybv4MA08r/jssdjYniqvZk7Ud3gcnen2pzTLyk
B6c/fjZK7a6nqf3LQSssQ5xbQR4mbQ9UTdkzh1jyT7v3B/3dWnnBviWftlvMjSDR
PZ4DkjIcicxpP2QEr9tK1qBSqf2K8g==
=pUBT
-----END PGP SIGNATURE-----

--6o3hguOYtNtqX5if--



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 16:29:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 16:29:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507057.780268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZDi5-0004BH-BN; Mon, 06 Mar 2023 16:29:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507057.780268; Mon, 06 Mar 2023 16: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 1pZDi5-0004B9-7Q; Mon, 06 Mar 2023 16:29:13 +0000
Received: by outflank-mailman (input) for mailman id 507057;
 Mon, 06 Mar 2023 16: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZDi4-0004Az-8I
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 16:29:12 +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 03946f70-bc3c-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 17:29: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 009F7219FD;
 Mon,  6 Mar 2023 16:29:06 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id BBEC013A66;
 Mon,  6 Mar 2023 16:29:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id rBKDLNEUBmT9TwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 2023 16:29:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03946f70-bc3c-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678120146; 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=XYkvJWDskDu0UyIQJhZo4ZtUp5tTjH1h/3j6J1D6JLc=;
	b=gEJiScqD8l7hthItK9kXJV++q/ooIKVwb0sQr9ZtgVNOn6h/X8hA1cRsJBS951/De6+BLH
	ost9iqUmpLh/6aiquHew1Lh+d8plT+KksEzS/CUz49ZEWxqrPGEN9KzaAztXsGVBwUYULA
	DSGlFsyK7f1ZJ7i8Ki72tOcfKGqsbAA=
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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] tools/tests: remove vhpet tests
Date: Mon,  6 Mar 2023 17:29:04 +0100
Message-Id: <20230306162904.7831-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

tools/tests/vhpet tests don't build since ages (at least since 4.10)
and they can't be activated from outside of tools/tests/vhpet.

Remove them as they seem to be irrelevant.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
Andrew seems to remember that Roger wanted to keep those tests, but
this information might be stale or based on false assumptions.
So this patch should only go in with Roger's Ack.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/tests/vhpet/.gitignore |   4 -
 tools/tests/vhpet/Makefile   |  39 --
 tools/tests/vhpet/emul.h     | 414 -------------------
 tools/tests/vhpet/main.c     | 776 -----------------------------------
 4 files changed, 1233 deletions(-)
 delete mode 100644 tools/tests/vhpet/.gitignore
 delete mode 100644 tools/tests/vhpet/Makefile
 delete mode 100644 tools/tests/vhpet/emul.h
 delete mode 100644 tools/tests/vhpet/main.c

diff --git a/tools/tests/vhpet/.gitignore b/tools/tests/vhpet/.gitignore
deleted file mode 100644
index 4cefa62218..0000000000
--- a/tools/tests/vhpet/.gitignore
+++ /dev/null
@@ -1,4 +0,0 @@
-test_vhpet
-test_vhpet.out
-hpet.h
-hpet.c
diff --git a/tools/tests/vhpet/Makefile b/tools/tests/vhpet/Makefile
deleted file mode 100644
index 2d56ffdfd9..0000000000
--- a/tools/tests/vhpet/Makefile
+++ /dev/null
@@ -1,39 +0,0 @@
-
-XEN_ROOT=$(CURDIR)/../../..
-include $(XEN_ROOT)/tools/Rules.mk
-
-TARGET := test_vhpet
-
-.PHONY: all
-all: $(TARGET)
-
-.PHONY: run
-run: $(TARGET)
-	./$(TARGET) > $(TARGET).out
-	./$(TARGET) 0 > $(TARGET).0.out
-	./$(TARGET) 0 1 0 20 > $(TARGET).0.1.0.20.out
-	./$(TARGET) 200 > $(TARGET).200.out
-	./$(TARGET) 200 1 0 20 > $(TARGET).200.1.0.20.out
-	./$(TARGET) 300 5 > $(TARGET).200.5.out
-	./$(TARGET) 400 4 2000 > $(TARGET).200.4.2000.out
-	./$(TARGET) 0 1 0 20 0x0103 > $(TARGET).0.1.0.20.0x0103.out
-	./$(TARGET) 200 1 0 20 0x0103 > $(TARGET).200.1.0.20.0x0103.out
-
-$(TARGET): hpet.c main.c hpet.h emul.h Makefile
-	$(HOSTCC) -g -o $@ hpet.c main.c
-
-.PHONY: clean
-clean:
-	rm -rf $(TARGET) $(TARGET).out *.o *~ core* hpet.h hpet.c
-
-.PHONY: distclean
-distclean: clean
-
-.PHONY: install
-install:
-
-hpet.h: $(XEN_ROOT)/xen/arch/x86/include/asm/hpet.h
-	cp $< $@
-
-hpet.c: $(XEN_ROOT)/xen/arch/x86/hvm/hpet.c
-	sed -e "/#include/d" -e "1i#include \"emul.h\"\n" <$< >$@
diff --git a/tools/tests/vhpet/emul.h b/tools/tests/vhpet/emul.h
deleted file mode 100644
index b022cc0eab..0000000000
--- a/tools/tests/vhpet/emul.h
+++ /dev/null
@@ -1,414 +0,0 @@
-/*
- * Xen emulation for hpet
- *
- * Copyright (C) 2014 Verizon Corporation
- *
- * This file is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License Version 2 (GPLv2)
- * as published by the Free Software Foundation.
- *
- * This file 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. <http://www.gnu.org/licenses/>.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <stdint.h>
-#include <inttypes.h>
-#include <string.h>
-
-#define PCI_HAVE_64BIT_ADDRESS
-#include <pci/types.h>
-
-#include "hpet.h"
-
-#include <xen-tools/libs.h>
-
-#define NR_CPUS 8
-
-typedef int64_t s_time_t;
-typedef int spinlock_t;
-typedef int bool_t;
-
-#define BITS_PER_LONG __WORDSIZE
-#define BITS_TO_LONGS(bits) \
-    (((bits) + BITS_PER_LONG - 1) / BITS_PER_LONG)
-#define DECLARE_BITMAP(name, bits) \
-    unsigned long name[BITS_TO_LONGS(bits)]
-typedef struct cpumask
-{
-    DECLARE_BITMAP(bits, NR_CPUS);
-} cpumask_t;
-typedef cpumask_t *cpumask_var_t;
-struct msi_desc
-{
-    struct msi_attrib
-    {
-        u8    type    : 5;    /* {0: unused, 5h:MSI, 11h:MSI-X} */
-        u8    maskbit : 1;    /* mask-pending bit supported ?   */
-        u8    masked  : 1;
-        u8    is_64   : 1;    /* Address size: 0=32bit 1=64bit  */
-        u8    pos;            /* Location of the msi capability */
-        u16   entry_nr;       /* specific enabled entry         */
-    } msi_attrib;
-};
-
-struct msi_msg
-{
-    u32     address_lo;     /* low 32 bits of msi message address */
-    u32     address_hi;     /* high 32 bits of msi message address */
-    u32     data;           /* 16 bits of msi message data */
-    u32     dest32;         /* used when Interrupt Remapping with EIM is enabled */
-};
-
-#define X86EMUL_OKAY 100
-#define EINVAL 101
-
-#define DBG_LEVEL_PIT 200
-
-#define TRC_HW_VCHIP_HPET_START_TIMER 300
-#define TRC_HW_VCHIP_HPET_STOP_TIMER 301
-#define TRC_HW_VCHIP_PIT_STOP_TIMER 302
-
-#define TRC_HVM_VCHIP_HPET_START_TIMER 400
-#define TRC_HVM_VCHIP_HPET_STOP_TIMER 401
-#define TRC_HVM_VCHIP_PIT_STOP_TIMER 402
-
-#define TRC_HVM_EMUL_HPET_START_TIMER 400
-#define TRC_HVM_EMUL_HPET_STOP_TIMER 401
-#define TRC_HVM_EMUL_PIT_STOP_TIMER 402
-
-#define __read_mostly
-#define __initdata
-#define __init
-#define __maybe_unused
-#define __cacheline_aligned
-#define boolean_param(a, b)
-#define fix_to_virt(a) a
-#define xmalloc_array(_type, _num) (void *)(_type)(_num)
-#define DEFINE_PER_CPU(_type, _name) _type _name
-
-#define KERN_DEBUG
-#define KERN_INFO
-
-#define XENLOG_WARNING
-#define XENLOG_INFO
-#define XENLOG_ERR
-#define XENLOG_GUEST
-
-#define MSI_TYPE_UNKNOWN 0
-#define MSI_TYPE_HPET    1
-#define MSI_TYPE_IOMMU   2
-
-#define STIME_MAX ((s_time_t)((uint64_t)~0ull>>1))
-
-/* Low-latency softirqs come first in the following list. */
-enum
-{
-    TIMER_SOFTIRQ = 0,
-    SCHEDULE_SOFTIRQ,
-    NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ,
-    RCU_SOFTIRQ,
-    TASKLET_SOFTIRQ,
-    NR_COMMON_SOFTIRQS
-};
-/*
- * ..and if you can't take the strict
- * types, you can specify one yourself.
- *
- * Or not use min/max at all, of course.
- */
-#define min_t(type, x, y) \
-    ({ type __x = (x); type __y = (y); __x < __y ? __x : __y; })
-#define max_t(type, x, y) \
-    ({ type __x = (x); type __y = (y); __x > __y ? __x : __y; })
-#define offsetof(t, m) ((unsigned long )&((t *)0)->m)
-#define container_of(ptr, type, member) ({              \
-        typeof( ((type *)0)->member ) *__mptr = (ptr);  \
-        (type *)( (char *)__mptr - offsetof(type,member) ); })
-
-struct domain;
-
-struct vcpu
-{
-    int vcpu_id;
-    struct domain *domain;
-};
-
-typedef void time_cb(struct vcpu *v, void *opaque);
-
-struct periodic_time
-{
-#define PTSRC_isa    1 /* ISA time source */
-#define PTSRC_lapic  2 /* LAPIC time source */
-    u8 source;                  /* PTSRC_ */
-};
-
-void destroy_periodic_time(struct periodic_time *pt);
-void create_periodic_time(
-    struct vcpu *v, struct periodic_time *pt, uint64_t delta,
-    uint64_t period, uint8_t irq, time_cb *cb, void *data);
-
-#define HPET_TIMER_NUM 3
-
-struct hpet_registers
-{
-    /* Memory-mapped, software visible registers */
-    uint64_t capability;        /* capabilities */
-    uint64_t config;            /* configuration */
-    uint64_t isr;               /* interrupt status reg */
-    uint64_t mc64;              /* main counter */
-    struct                      /* timers */
-    {
-        uint64_t config;        /* configuration/cap */
-        uint64_t cmp;           /* comparator */
-        uint64_t fsb;           /* FSB route, not supported now */
-    } timers[HPET_TIMER_NUM];
-
-    /* Hidden register state */
-    uint64_t period[HPET_TIMER_NUM]; /* Last value written to comparator */
-    uint64_t comparator64[HPET_TIMER_NUM]; /* 64 bit running comparator */
-    uint64_t offset64[HPET_TIMER_NUM]; /* offset so comparator calc "works" */
-    uint64_t first_mc64[HPET_TIMER_NUM]; /* 1st interval main counter */
-    bool_t first_enabled[HPET_TIMER_NUM]; /* In 1st interval */
-};
-
-typedef struct HPETState
-{
-    struct hpet_registers hpet;
-    uint64_t stime_freq;
-    uint64_t hpet_to_ns_scale; /* hpet ticks to ns (multiplied by 2^10) */
-    uint64_t hpet_to_ns_limit; /* max hpet ticks convertable to ns      */
-    uint64_t mc_offset;
-    struct periodic_time pt[HPET_TIMER_NUM];
-    spinlock_t lock;
-} HPETState;
-
-typedef struct PITState
-{
-    struct periodic_time pt0;
-    spinlock_t lock;
-} PITState;
-
-
-struct pl_time      /* platform time */
-{
-    struct HPETState vhpet;
-    /* guest_time = Xen sys time + stime_offset */
-    int64_t stime_offset;
-    /* Ensures monotonicity in appropriate timer modes. */
-    uint64_t last_guest_time;
-    spinlock_t pl_time_lock;
-};
-
-#define HVM_PARAM_HPET_ENABLED 11
-
-struct hvm_domain
-{
-    struct pl_time         pl_time;
-    long params[20];
-};
-
-struct arch_domain
-{
-    struct hvm_domain hvm_domain;
-    struct PITState vpit;
-};
-
-struct domain
-{
-    int domain_id;
-    struct arch_domain arch;
-    struct vcpu *vcpu[NR_CPUS];
-};
-
-typedef int (*hvm_mmio_read_t)(struct vcpu *v,
-                               unsigned long addr,
-                               unsigned long length,
-                               unsigned long *val);
-typedef int (*hvm_mmio_write_t)(struct vcpu *v,
-                                unsigned long addr,
-                                unsigned long length,
-                                unsigned long val);
-typedef int (*hvm_mmio_check_t)(struct vcpu *v, unsigned long addr);
-
-
-struct hvm_mmio_ops
-{
-    hvm_mmio_check_t check;
-    hvm_mmio_read_t  read;
-    hvm_mmio_write_t write;
-};
-
-/* Marshalling and unmarshalling uses a buffer with size and cursor. */
-typedef struct hvm_domain_context
-{
-    uint32_t cur;
-    uint32_t size;
-    uint8_t *data;
-} hvm_domain_context_t;
-
-int current_domain_id(void);
-#define dprintk(_l, _f, _a...)                  \
-    printk(_l "%s:%d: " _f, __FILE__ , __LINE__ , ## _a )
-#define gdprintk(_l, _f, _a...)                         \
-    printk(XENLOG_GUEST _l "%s:%d:d%d " _f, __FILE__,   \
-           __LINE__, current_domain_id() , ## _a )
-struct vcpu *get_current();
-#define current get_current()
-
-#define HVM_SAVE_CODE(_x) HVM_SAVE_CODE_##_x
-#define HVM_SAVE_LENGTH(_x) HVM_SAVE_LENGTH_##_x
-
-/*
- * HPET
- */
-
-uint64_t hvm_get_guest_time(struct vcpu *v);
-
-#define HPET_TIMER_NUM     3    /* 3 timers supported now */
-struct hvm_hw_hpet
-{
-    /* Memory-mapped, software visible registers */
-    uint64_t capability;        /* capabilities */
-    uint64_t res0;              /* reserved */
-    uint64_t config;            /* configuration */
-    uint64_t res1;              /* reserved */
-    uint64_t isr;               /* interrupt status reg */
-    uint64_t res2[25];          /* reserved */
-    uint64_t mc64;              /* main counter */
-    uint64_t res3;              /* reserved */
-    struct                      /* timers */
-    {
-        uint64_t config;        /* configuration/cap */
-        uint64_t cmp;           /* comparator */
-        uint64_t fsb;           /* FSB route, not supported now */
-        uint64_t res4;          /* reserved */
-    } timers[HPET_TIMER_NUM];
-    uint64_t res5[4 * (24 - HPET_TIMER_NUM)]; /* reserved, up to 0x3ff */
-
-    /* Hidden register state */
-    uint64_t period[HPET_TIMER_NUM]; /* Last value written to comparator */
-};
-
-typedef int (*hvm_save_handler)(struct domain *d,
-                                hvm_domain_context_t *h);
-typedef int (*hvm_load_handler)(struct domain *d,
-                                hvm_domain_context_t *h);
-
-struct hvm_save_descriptor
-{
-    uint16_t typecode;          /* Used to demux the various types below */
-    uint16_t instance;          /* Further demux within a type */
-    uint32_t length;            /* In bytes, *not* including this descriptor */
-};
-
-void hvm_register_savevm(uint16_t typecode,
-                         const char *name,
-                         hvm_save_handler save_state,
-                         hvm_load_handler load_state,
-                         size_t size, int kind);
-
-#define HVMSR_PER_DOM 1
-
-#define HVM_REGISTER_SAVE_RESTORE(_x, _save, _load, _num, _k)       \
-    int __init __hvm_register_##_x##_save_and_restore(void)     \
-    {                                                                   \
-        hvm_register_savevm(HVM_SAVE_CODE(_x),                          \
-                            #_x,                                        \
-                            &_save,                                     \
-                            &_load,                                     \
-                            (_num) * (HVM_SAVE_LENGTH(_x)               \
-                                 + sizeof(struct hvm_save_descriptor)), \
-                            _k);                                        \
-        return 0;                                                       \
-    }                                                                   \
-
-#define HVM_SAVE_CODE_HPET 0
-#define HVM_SAVE_LENGTH_HPET sizeof(struct hvm_hw_hpet)
-
-#define printk printf
-
-#define spin_lock(a)
-#define spin_unlock(a)
-#define spin_lock_init(a)
-#define spin_is_locked(a) 1
-#define ASSERT(a)
-
-#define ADDR (*(volatile long *) addr)
-
-static inline void __set_bit(int nr, volatile void *addr)
-{
-    asm volatile(
-        "btsl %1,%0"
-        : "=m"(ADDR)
-        : "Ir"(nr), "m"(ADDR) : "memory");
-}
-
-static inline void __clear_bit(int nr, volatile void *addr)
-{
-    asm volatile(
-        "btrl %1,%0"
-        : "=m"(ADDR)
-        : "Ir"(nr), "m"(ADDR) : "memory");
-}
-
-static inline unsigned int find_first_set_bit(unsigned long word)
-{
-    asm("bsf %1,%0" : "=r"(word) : "r"(word));
-    return (unsigned int)word;
-}
-
-#define HVM_DBG_LOG(level, _f, _a...)                   \
-    do {                                \
-        printf("[HVM:%d.%d] <%s> " _f "\n",                             \
-               current->domain->domain_id, current->vcpu_id, __func__,  \
-               ## _a);                                                  \
-    } while ( 0 )
-
-void __domain_crash(struct domain *d);
-#define domain_crash(d) do {                        \
-        printf("domain_crash called from %s:%d\n", __FILE__, __LINE__); \
-        __domain_crash(d);                                              \
-    } while ( 0 )
-
-#define MICROSECS(_us) ((s_time_t)((_us) * 1000ULL))
-
-#define pt_global_vcpu_target(d)        \
-    ((d)->vcpu ? (d)->vcpu[0] : NULL)
-
-#define TRACE_0D(a)
-#define TRACE_1D(a, b)
-#define TRACE_2D(a, b, c)
-#define TRACE_3D(a, b, c, d)
-#define TRACE_4D(a, b, c, d, e)
-#define TRACE_5D(a, b, c, d, e, f)
-#define TRACE_6D(a, b, c, d, e, f, g)
-
-#define TRC_PAR_LONG(par) ((par)&0xFFFFFFFF),((par)>>32)
-
-#define TRACE_2_LONG_2D(_e, d1, d2, ...) \
-    TRACE_4D(_e, d1, d2)
-#define TRACE_2_LONG_3D(_e, d1, d2, d3, ...) \
-    TRACE_5D(_e, d1, d2, d3)
-#define TRACE_2_LONG_4D(_e, d1, d2, d3, d4, ...) \
-    TRACE_6D(_e, d1, d2, d3, d4)
-
-/* debug */
-
-extern int __read_mostly hpet_debug;
-extern uint64_t __read_mostly hpet_force_diff;
-extern uint64_t __read_mostly hpet_force_mc64;
-extern uint64_t __read_mostly hpet_force_cmp;
-extern uint64_t __read_mostly hpet_force_period;
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/tools/tests/vhpet/main.c b/tools/tests/vhpet/main.c
deleted file mode 100644
index 6fe65ea808..0000000000
--- a/tools/tests/vhpet/main.c
+++ /dev/null
@@ -1,776 +0,0 @@
-/*
- * Xen emulation for hpet
- *
- * Copyright (C) 2014 Verizon Corporation
- *
- * This file is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License Version 2 (GPLv2)
- * as published by the Free Software Foundation.
- *
- * This file 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. <http://www.gnu.org/licenses/>.
- */
-
-/*
- * http://www.intel.com/content/dam/www/public/us/en/documents/technical-specifications/software-developers-hpet-spec-1-0a.pdf
- *
- * xen_source is a directory that has all xen source below it.
- *
- * Usage:
- *
-
-
-  xen_source=../../..
-  sed -e "/#include/d" -e "1i#include \"emul.h\"\n" <$xen_source/xen/arch/x86/hvm/hpet.c >hpet.c
-  cp $xen_source/xen/include/asm-x86/hpet.h .
-
-  gcc -g -o test_vhpet hpet.c main.c
-  ./test_vhpet >test_vhpet.out
-
- *
- *
- * This is almost the same as
- *
-
-  make run
-
- *
- * Or
- *
- * make -C tools/tests/vhpet run
- *
- * From a xen source tree.  The differance
- * is that you need to be in a xen source tree
- * and normal make rules apply.
- *
- */
-
-#define FORCE_THOUSANDS_SEP
-
-#include <locale.h>
-#include <langinfo.h>
-#include <stdarg.h>
-#include "emul.h"
-#include "hpet.h"
-
-#define S_TO_NS    1000000000ULL           /* 1s  = 10^9  ns */
-
-#define START_MC64 0x108a8
-
-static int hpet_mult = 1;
-static int hpet_add;
-static int hvm_clock_cost = 1234567;
-static int tick_count = 1;
-static int debug = 3;
-
-static int skip_load;
-static int skip_error_on_load;
-
-static char *global_thousep;
-
-extern const struct hvm_mmio_ops hpet_mmio_ops;
-
-struct domain dom1;
-struct vcpu vcpu0;
-struct hvm_hw_hpet hpet_save;
-
-
-uint64_t hvm_guest_time;
-
-static struct
-{
-    hvm_save_handler save;
-    hvm_load_handler load;
-    const char *name;
-    size_t size;
-    int kind;
-} hvm_sr_handlers[3] = {{NULL, NULL, "<?>"},};
-
-static uint64_t new_guest_time[] = {
-    0x20,
-    0x2a840,
-    0xf4200,
-    0x10000000000ULL,
-    0x0fffffffffefff00ULL,
-    0x20,
-    0xffffffff00000000ULL,
-    0x20,
-};
-
-static int print_error(const char *fmt, ...)
-{
-    va_list args;
-    int i = 0;
-
-    if ( (debug & 0x0100) && skip_error_on_load )
-        return i;
-
-    va_start(args, fmt);
-    if ( debug & 0x0001 )
-        i = vfprintf(stdout, fmt, args);
-    va_end(args);
-    va_start(args, fmt);
-    if ( debug & 0x0002 )
-        i = vfprintf(stderr, fmt, args);
-    va_end(args);
-    return i;
-}
-
-
-int current_domain_id(void)
-{
-    return current->domain->domain_id;
-}
-
-struct vcpu *get_current()
-{
-    return &vcpu0;
-}
-
-void __domain_crash(struct domain *d)
-{
-    exit(42);
-}
-
-uint64_t hvm_get_guest_time(struct vcpu *v)
-{
-    uint64_t ret = hvm_guest_time;
-
-    hvm_guest_time += hvm_clock_cost;
-    return ret;
-}
-
-int _hvm_init_entry(struct hvm_domain_context *h,
-                    uint16_t tc, uint16_t inst, uint32_t len)
-{
-    h->cur = 0;
-    h->size = sizeof(hpet_save);
-    h->data = (void *)&hpet_save;
-
-    return 0;
-}
-
-int _hvm_check_entry(struct hvm_domain_context *h,
-                     uint16_t type, uint32_t len, bool_t strict_length)
-{
-    h->cur = 0;
-    h->size = sizeof(hpet_save);
-    h->data = (void *)&hpet_save;
-
-    return 0;
-}
-
-void __init hvm_register_savevm(uint16_t typecode,
-                                const char *name,
-                                hvm_save_handler save_state,
-                                hvm_load_handler load_state,
-                                size_t size, int kind)
-{
-    hvm_sr_handlers[typecode].save = save_state;
-    hvm_sr_handlers[typecode].load = load_state;
-    hvm_sr_handlers[typecode].name = name;
-    hvm_sr_handlers[typecode].size = size;
-    hvm_sr_handlers[typecode].kind = kind;
-}
-
-int do_save(uint16_t typecode, struct domain *d, hvm_domain_context_t *h)
-{
-    return hvm_sr_handlers[typecode].save(d, h);
-}
-
-int do_load(uint16_t typecode, struct domain *d, hvm_domain_context_t *h)
-{
-    if (skip_load & 0x1)
-    {
-        printf("skip_load=%#x\n", skip_load);
-    }
-    else
-    {
-        int ret;
-
-        printf("do_load\n");
-        skip_error_on_load = 1;
-        ret = hvm_sr_handlers[typecode].load(d, h);
-        skip_error_on_load = 0;
-    }
-}
-
-static void dump_hpet(void)
-{
-    int i;
-    unsigned long long conf;
-    struct hvm_hw_hpet h = hpet_save;
-    conf = (unsigned long long) h.config;
-    printf("    HPET: capability %#llx config %#llx(%s%s)\n",
-           (unsigned long long) h.capability,
-           conf,
-           conf & HPET_CFG_ENABLE ? "E" : "",
-           conf & HPET_CFG_LEGACY ? "L" : "");
-    printf("          isr %#llx counter %#llx(%'lld)\n",
-           (unsigned long long) h.isr,
-           (unsigned long long) h.mc64,
-           (unsigned long long) h.mc64);
-    for (i = 0; i < HPET_TIMER_NUM; i++)
-    {
-        conf = (unsigned long long) h.timers[i].config;
-        printf("          timer%i config %#llx(%s%s%s) cmp %#llx(%'lld)\n", i,
-               conf,
-               conf & HPET_TN_ENABLE ? "E" : "",
-               conf & HPET_TN_PERIODIC ? "P" : "",
-               conf & HPET_TN_32BIT ? "32" : "",
-               (unsigned long long) h.timers[i].cmp,
-               (unsigned long long) h.timers[i].cmp);
-        printf("          timer%i period %#llx(%'lld) fsb %#llx\n", i,
-               (unsigned long long) h.period[i],
-               (unsigned long long) h.period[i],
-               (unsigned long long) h.timers[i].fsb);
-    }
-}
-
-void pit_stop_channel0_irq(PITState *pit)
-{
-    printf("pit_stop_channel0_irq: pit=%p\n", pit);
-
-    TRACE_1D(TRC_HVM_VCHIP_PIT_STOP_TIMER, get_cycles());
-    spin_lock(&pit->lock);
-    destroy_periodic_time(&pit->pt0);
-    spin_unlock(&pit->lock);
-}
-
-void destroy_periodic_time(struct periodic_time *pt)
-{
-    int idx = ((long)pt) & 0x7;
-
-    printf("destroy_periodic_time: pt=%d\n", idx);
-}
-
-void create_periodic_time(struct vcpu *v, struct periodic_time *pt,
-                          uint64_t delta, uint64_t period, uint8_t irq,
-                          time_cb *cb, void *data)
-{
-    int idx = ((long)pt) & 0x7;
-
-    if ( debug & 0x0010 )
-    {
-        int i;
-
-        printf("create_periodic_time: "
-               "mc64=%#lx(%'ld) mc_offset=%#lx(%'ld)\n",
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.mc64,
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.mc64,
-               dom1.arch.hvm_domain.pl_time.vhpet.mc_offset,
-               dom1.arch.hvm_domain.pl_time.vhpet.mc_offset);
-        for (i = 0; i < 3; i++)
-        {
-            printf("                 "
-                   "[%d] cmp64=%#lx(%'ld) cmp=%#lx(%'ld)\n", i,
-                   dom1.arch.hvm_domain.pl_time.vhpet.hpet.comparator64[i],
-                   dom1.arch.hvm_domain.pl_time.vhpet.hpet.comparator64[i],
-                   dom1.arch.hvm_domain.pl_time.vhpet.hpet.timers[i].cmp,
-                   dom1.arch.hvm_domain.pl_time.vhpet.hpet.timers[i].cmp);
-        }
-    }
-    if ( period )
-    {
-        printf("create_periodic_time: pt=%d delta=%'"PRId64" period=%'"PRIu64
-               " - %'"PRIu64".%02d Hz irq=%d\n",
-               idx, delta, period, (uint64_t)(S_TO_NS / period),
-               (int)((S_TO_NS / (period / 100ULL)) % 100), irq);
-        /* +160 is for hpet_tick_to_ns() not simple. */
-        if ( delta > (period * (hpet_mult + hpet_add + 160)) )
-            print_error("%s(%ld): Possible ..MP-BIOS bug: 8254 timer...: delta=%'"PRId64
-                        " period=%'"PRIu64"\n", __func__, __LINE__,
-                        delta, period);
-    }
-    else
-        printf("create_periodic_time: pt=%d delta=%'"PRId64
-               " period=%'"PRIu64" irq=%d\n",
-               idx, delta, period, irq);
-}
-
-void udelay(int w)
-{
-}
-
-unsigned int hpet_readl(unsigned long a)
-{
-    unsigned long ret = 0;
-    hpet_mmio_ops.read(current, a, 4, &ret);
-    return ret;
-}
-
-void hpet_writel(unsigned long d, unsigned long a)
-{
-    hpet_mmio_ops.write(current, a, 4, d);
-    return;
-}
-
-static void _hpet_print_config(const char *function, int line)
-{
-    u32 i, timers, l, h;
-    printk(KERN_INFO "hpet: %s(%d):\n", function, line);
-    l = hpet_readl(HPET_ID);
-    h = hpet_readl(HPET_PERIOD);
-    timers = ((l & HPET_ID_NUMBER) >> HPET_ID_NUMBER_SHIFT) + 1;
-    printk(KERN_INFO "hpet: ID: 0x%x, PERIOD: 0x%x\n", l, h);
-    l = hpet_readl(HPET_CFG);
-    h = hpet_readl(HPET_STATUS);
-    printk(KERN_INFO "hpet: CFG: 0x%x, STATUS: 0x%x\n", l, h);
-    l = hpet_readl(HPET_COUNTER);
-    h = hpet_readl(HPET_COUNTER + 4);
-    printk(KERN_INFO "hpet: COUNTER_l: 0x%x, COUNTER_h: 0x%x\n", l, h);
-
-    for (i = 0; i < timers; i++)
-    {
-        l = hpet_readl(HPET_Tn_CFG(i));
-        h = hpet_readl(HPET_Tn_CFG(i) + 4);
-        printk(KERN_INFO "hpet: T%d: CFG_l: 0x%x, CFG_h: 0x%x\n",
-               i, l, h);
-        l = hpet_readl(HPET_Tn_CMP(i));
-        h = hpet_readl(HPET_Tn_CMP(i) + 4);
-        printk(KERN_INFO "hpet: T%d: CMP_l: 0x%x, CMP_h: 0x%x\n",
-               i, l, h);
-        l = hpet_readl(HPET_Tn_ROUTE(i));
-        h = hpet_readl(HPET_Tn_ROUTE(i) + 4);
-        printk(KERN_INFO "hpet: T%d ROUTE_l: 0x%x, ROUTE_h: 0x%x\n",
-               i, l, h);
-    }
-}
-
-#define hpet_print_config()                     \
-    do {                                        \
-        _hpet_print_config(__func__, __LINE__); \
-    } while ( 0 )
-
-static void hpet_stop_counter(void)
-{
-    unsigned long cfg = hpet_readl(HPET_CFG);
-    cfg &= ~HPET_CFG_ENABLE;
-    hpet_writel(cfg, HPET_CFG);
-}
-
-static void hpet_reset_counter(unsigned long low, unsigned long high)
-{
-    hpet_writel(low, HPET_COUNTER);
-    hpet_writel(high, HPET_COUNTER + 4);
-}
-
-static void hpet_start_counter(void)
-{
-    unsigned long cfg = hpet_readl(HPET_CFG);
-    cfg |= HPET_CFG_ENABLE;
-    hpet_writel(cfg, HPET_CFG);
-}
-
-static void hpet_restart_counter(void)
-{
-    hpet_stop_counter();
-    hpet_reset_counter(0, 0);
-    hpet_start_counter();
-}
-
-static void hpet_set_mode(uint64_t delta, int timer)
-{
-    unsigned long cfg, cmp, cmp2, now;
-
-    hpet_stop_counter();
-    now = hpet_readl(HPET_COUNTER);
-    cmp = now + (unsigned long)(hpet_mult * delta) + hpet_add;
-    cfg = hpet_readl(HPET_Tn_CFG(timer));
-    /* Make sure we use edge triggered interrupts */
-    cfg &= ~HPET_TN_LEVEL;
-    cfg |= HPET_TN_ENABLE | HPET_TN_PERIODIC |
-           HPET_TN_SETVAL | HPET_TN_32BIT;
-    /* Mask to 32 bits just like the hardware */
-    cmp = (uint32_t)cmp;
-    delta = (uint32_t)delta;
-    /* Do the config */
-    hpet_writel(cfg, HPET_Tn_CFG(timer));
-    hpet_writel(cmp, HPET_Tn_CMP(timer));
-    printf("%s(%ld): HPET_TN_SETVAL cmp=%#lx(%'ld) timer=%d\n",
-           __func__, __LINE__, cmp, cmp, timer);
-    udelay(1);
-    /*
-     * HPET on AMD 81xx needs a second write (with HPET_TN_SETVAL
-     * cleared) to T0_CMP to set the period. The HPET_TN_SETVAL
-     * bit is automatically cleared after the first write.
-     * (See AMD-8111 HyperTransport I/O Hub Data Sheet,
-     * Publication # 24674)
-     */
-    hpet_writel((unsigned long) delta, HPET_Tn_CMP(timer));
-    printf("%s(%ld): period=%#lx(%'ld) timer=%d\n", __func__, __LINE__,
-           (unsigned long) delta, (unsigned long) delta, timer);
-    cmp2 = hpet_readl(HPET_Tn_CMP(timer));
-    if ( cmp2 != cmp )
-        print_error("%s(%ld): T%d Error: Set %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, cmp, cmp, cmp2, cmp2);
-
-    hpet_start_counter();
-    hpet_print_config();
-}
-
-
-hpet_check_stopped(uint64_t old_delta, int timer)
-{
-    unsigned long mc_low, mc_high, old_cmp, now;
-    unsigned long cfg, cmp, delta, cmp2, cmp3;
-
-    if (skip_load & 0x2)
-    {
-        printf("Skip hpet_check_stopped. skip_load=%#x\n", skip_load);
-        return;
-    }
-    hpet_stop_counter();
-    mc_low = hpet_readl(HPET_COUNTER);
-    mc_high = hpet_readl(HPET_COUNTER + 4);
-    old_cmp = hpet_readl(HPET_Tn_CMP(timer));
-
-    hpet_reset_counter(67752, 0);
-    cmp = 255252;
-    delta = 62500;
-
-    now = hpet_readl(HPET_COUNTER);
-    if ( now != 67752 )
-        print_error("%s(%ld): T%d Error: Set mc %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, 67752, 67752, now, now);
-    cfg = hpet_readl(HPET_Tn_CFG(timer));
-    cfg |= HPET_TN_SETVAL;
-    hpet_writel(cfg, HPET_Tn_CFG(timer));
-    hpet_writel(cmp, HPET_Tn_CMP(timer));
-    printf("%s(%ld): HPET_TN_SETVAL cmp=%#lx(%'ld) timer=%d\n",
-           __func__, __LINE__, cmp, cmp, timer);
-    cmp2 = hpet_readl(HPET_Tn_CMP(timer));
-    if ( cmp2 != cmp )
-        print_error("%s(%ld): T%d Error: Set cmp %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, cmp, cmp, cmp2, cmp2);
-
-    hpet_writel((unsigned long) delta, HPET_Tn_CMP(timer));
-    printf("%s(%ld): period=%#lx(%'ld) timer=%d\n", __func__, __LINE__,
-           (unsigned long) delta, (unsigned long) delta, timer);
-    cmp3 = hpet_readl(HPET_Tn_CMP(timer));
-    if ( cmp3 != cmp )
-        print_error("%s(%ld): T%d Error: Set period, cmp %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, cmp, cmp, cmp3, cmp3);
-
-    if ( dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer] != delta )
-        printf("%s(%ld): T%d Warning: Set period %#lx(%'ld) != %#lx(%'ld)\n",
-               __func__, __LINE__, timer, delta, delta,
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer],
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer]);
-
-    hpet_reset_counter(67752, 0);
-    cmp = 255252;
-    delta = 62500;
-
-    now = hpet_readl(HPET_COUNTER);
-    if ( now != 67752 )
-        print_error("%s(%ld): T%d Error: Set mc %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, 67752, 67752, now, now);
-    cfg = hpet_readl(HPET_Tn_CFG(timer));
-    cfg |= HPET_TN_SETVAL;
-    hpet_writel(cfg, HPET_Tn_CFG(timer));
-    hpet_writel(cmp, HPET_Tn_CMP(timer));
-    printf("%s(%ld): HPET_TN_SETVAL cmp=%#lx(%'ld) timer=%d\n",
-           __func__, __LINE__, cmp, cmp, timer);
-    cmp2 = hpet_readl(HPET_Tn_CMP(timer));
-    if ( cmp2 != cmp )
-        print_error("%s(%ld): T%d Error: Set cmp %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, cmp, cmp, cmp2, cmp2);
-
-    hpet_writel((unsigned long) delta, HPET_Tn_CMP(timer));
-    printf("%s(%ld): period=%#lx(%'ld) timer=%d\n", __func__, __LINE__,
-           (unsigned long) delta, (unsigned long) delta, timer);
-    cmp3 = hpet_readl(HPET_Tn_CMP(timer));
-    if ( cmp3 != cmp )
-        print_error("%s(%ld): T%d Error: Set period, cmp %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, cmp, cmp, cmp3, cmp3);
-
-    if ( dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer] != delta )
-        printf("%s(%ld): T%d Warning: Set period %#lx(%'ld) != %#lx(%'ld)\n",
-               __func__, __LINE__, timer, delta, delta,
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer],
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer]);
-
-    hpet_reset_counter(67700, 0);
-
-    now = hpet_readl(HPET_COUNTER);
-    if ( now != 67700 )
-        print_error("%s(%ld): T%d Error: Set mc %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, 67752, 67752, now, now);
-    cmp2 = hpet_readl(HPET_Tn_CMP(timer));
-    if ( cmp2 != cmp )
-        print_error("%s(%ld): T%d Error: Set mc, cmp %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, cmp, cmp, cmp2, cmp2);
-
-    cmp3 = hpet_readl(HPET_Tn_CMP(timer));
-    if ( cmp3 != cmp )
-        print_error("%s(%ld): T%d Error: Set mc, cmp %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, cmp, cmp, cmp3, cmp3);
-
-    if ( dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer] != delta )
-        printf("%s(%ld): T%d Warning: Set mc, period %#lx(%'ld) != %#lx(%'ld)\n",
-               __func__, __LINE__, timer, delta, delta,
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer],
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer]);
-
-    cmp = 67701;
-
-    now = hpet_readl(HPET_COUNTER);
-    if ( now != 67700 )
-        print_error("%s(%ld): T%d Error: Set cmp, mc %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, 67752, 67752, now, now);
-    cfg = hpet_readl(HPET_Tn_CFG(timer));
-    cfg |= HPET_TN_SETVAL;
-    hpet_writel(cfg, HPET_Tn_CFG(timer));
-    hpet_writel(cmp, HPET_Tn_CMP(timer));
-    printf("%s(%ld): HPET_TN_SETVAL cmp=%#lx(%'ld) timer=%d\n",
-           __func__, __LINE__, cmp, cmp, timer);
-    cmp2 = hpet_readl(HPET_Tn_CMP(timer));
-    if ( cmp2 != cmp )
-        print_error("%s(%ld): T%d Error: Set cmp, cmp %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, cmp, cmp, cmp2, cmp2);
-
-    cmp3 = hpet_readl(HPET_Tn_CMP(timer));
-    if ( cmp3 != cmp )
-        print_error("%s(%ld): T%d Error: Set cmp, cmp %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, cmp, cmp, cmp3, cmp3);
-
-    if ( dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer] != delta )
-        printf("%s(%ld): T%d Warning: Set cmp, period %#lx(%'ld) != %#lx(%'ld)\n",
-               __func__, __LINE__, timer, delta, delta,
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer],
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer]);
-
-    delta = 500;
-
-    now = hpet_readl(HPET_COUNTER);
-    if ( now != 67700 )
-        print_error("%s(%ld): T%d Error: Set period, mc %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, 67752, 67752, now, now);
-    cmp2 = hpet_readl(HPET_Tn_CMP(timer));
-    if ( cmp2 != cmp )
-        print_error("%s(%ld): T%d Error: Set period, cmp %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, cmp, cmp, cmp2, cmp2);
-
-    hpet_writel((unsigned long) delta, HPET_Tn_CMP(timer));
-    printf("%s(%ld): period=%#lx(%'ld) timer=%d\n", __func__, __LINE__,
-           (unsigned long) delta, (unsigned long) delta, timer);
-    cmp3 = hpet_readl(HPET_Tn_CMP(timer));
-    if ( cmp3 != cmp )
-        print_error("%s(%ld): T%d Error: Set period, cmp %#lx(%'ld) != %#lx(%'ld)\n",
-                    __func__, __LINE__, timer, cmp, cmp, cmp3, cmp3);
-
-    if ( dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer] != delta )
-        printf("%s(%ld): T%d Warning: Set period, period %#lx(%'ld) != %#lx(%'ld)\n",
-               __func__, __LINE__, timer, delta, delta,
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer],
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.period[timer]);
-
-    hpet_reset_counter(mc_low, mc_high);
-    cfg = hpet_readl(HPET_Tn_CFG(timer));
-    cfg |= HPET_TN_SETVAL;
-    hpet_writel(cfg, HPET_Tn_CFG(timer));
-    hpet_writel(old_cmp, HPET_Tn_CMP(timer));
-    hpet_writel(old_delta, HPET_Tn_CMP(timer));
-    hpet_start_counter();
-}
-
-
-int
-main(int argc, char **argv)
-{
-    hvm_domain_context_t hdc;
-    struct hvm_hw_hpet hpet0;
-    struct hvm_hw_hpet hpet1;
-    struct hvm_hw_hpet hpet2;
-    int i, k;
-
-    setlocale(LC_ALL, "");
-
-#ifdef FORCE_THOUSANDS_SEP
-    setlocale(LC_NUMERIC, "en_US.utf8");
-#endif
-    global_thousep = nl_langinfo(THOUSEP);
-
-    printf("test_vhpet 1.0\n");
-
-    if ( argc > 1 )
-        hvm_clock_cost = atoi(argv[1]);
-    if ( argc > 2 )
-        hpet_mult = atoi(argv[2]);
-    if ( argc > 3 )
-        hpet_add = atoi(argv[3]);
-    if ( argc > 4 )
-        tick_count = atoi(argv[4]);
-    if ( argc > 5 )
-        debug = strtol(argv[5], NULL, 0);
-
-    printf("hvm_clock_cost=%'d hpet_mult=%'d hpet_add=%'d tick_count=%d debug=%#x\n",
-           hvm_clock_cost, hpet_mult, hpet_add, tick_count, debug);
-
-    dom1.domain_id = 1;
-    dom1.vcpu[0] = &vcpu0;
-    vcpu0.vcpu_id = 0;
-    vcpu0.domain = &dom1;
-
-    __hvm_register_HPET_save_and_restore();
-
-    for (skip_load = 3; skip_load >= 0; skip_load--)
-    {
-
-        printf("\nskip_load=%d\n", skip_load);
-
-        hvm_guest_time = 16;
-
-        hpet_init(&vcpu0);
-
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet0 = hpet_save;
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet1 = hpet_save;
-        if (hpet0.mc64 != hpet1.mc64)
-            print_error("%s(%ld): With clock stopped mc64 changed: %'ld to %'ld\n",
-                        __func__, __LINE__, hpet0.mc64, hpet1.mc64);
-
-        do_load(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet2 = hpet_save;
-        if (hpet1.mc64 != hpet2.mc64)
-            print_error("%s(%ld): With clock stopped mc64 changed: %'ld to %'ld\n",
-                        __func__, __LINE__, hpet1.mc64, hpet2.mc64);
-
-        dom1.arch.hvm_domain.pl_time.vhpet.hpet.mc64 = START_MC64;
-        dom1.arch.hvm_domain.pl_time.vhpet.mc_offset = START_MC64
-            - hvm_guest_time - hvm_clock_cost;
-        printf("\n"
-               "mc64=%#lx(%'ld) mc_offset=%#lx(%'ld)\n",
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.mc64,
-               dom1.arch.hvm_domain.pl_time.vhpet.hpet.mc64,
-               dom1.arch.hvm_domain.pl_time.vhpet.mc_offset,
-               dom1.arch.hvm_domain.pl_time.vhpet.mc_offset);
-
-        printf("\nhvm_guest_time=%#lx(%'ld)\n",
-               hvm_guest_time, hvm_guest_time);
-
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet0 = hpet_save;
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet1 = hpet_save;
-        if (hpet0.mc64 != hpet1.mc64)
-            print_error("%s(%ld): With clock stopped mc64 changed: %'ld to %'ld\n",
-                        __func__, __LINE__, hpet0.mc64, hpet1.mc64);
-
-        do_load(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet2 = hpet_save;
-        if (hpet1.mc64 != hpet2.mc64)
-            print_error("%s(%ld): With clock stopped mc64 changed: %'ld to %'ld\n",
-                        __func__, __LINE__, hpet1.mc64, hpet2.mc64);
-
-        hpet_set_mode(0xf424, 0);
-        hpet_check_stopped(0xf424, 0);
-
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet0 = hpet_save;
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet1 = hpet_save;
-        do_load(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet2 = hpet_save;
-
-        hpet_set_mode(0, 1);
-        hpet_check_stopped(0, 1);
-
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet0 = hpet_save;
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet1 = hpet_save;
-
-        do_load(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet2 = hpet_save;
-
-        hpet_set_mode(~0ULL, 2);
-        hpet_check_stopped(~0ULL, 2);
-
-        hpet_set_mode(0x80000000, 2);
-        hpet_check_stopped(0x80000000, 2);
-
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet0 = hpet_save;
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet1 = hpet_save;
-
-        do_load(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-        dump_hpet();
-        hpet2 = hpet_save;
-
-
-        for (k = 0; k < ARRAY_SIZE(new_guest_time); k++)
-        {
-            hvm_guest_time = new_guest_time[k];
-            printf("\nhvm_guest_time=%#lx(%'ld)\n",
-                   hvm_guest_time, hvm_guest_time);
-
-            do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-            dump_hpet();
-            hpet0 = hpet_save;
-            do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-            dump_hpet();
-            hpet1 = hpet_save;
-
-            do_load(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-            do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-            dump_hpet();
-            hpet2 = hpet_save;
-
-            for (i = 0; i < tick_count; i++)
-            {
-                hvm_guest_time += 0x10;
-                printf("\nhvm_guest_time=%#lx(%'ld)\n",
-                       hvm_guest_time, hvm_guest_time);
-
-                do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-                dump_hpet();
-                hpet0 = hpet_save;
-                do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-                dump_hpet();
-                hpet1 = hpet_save;
-
-                do_load(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-                do_save(HVM_SAVE_CODE(HPET), &dom1, &hdc);
-                dump_hpet();
-                hpet2 = hpet_save;
-
-            }
-        }
-    }
-
-    return 0;
-}
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 16:34:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 16:34:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507064.780277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZDnE-0005j1-2h; Mon, 06 Mar 2023 16:34:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507064.780277; Mon, 06 Mar 2023 16: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 1pZDnE-0005iu-05; Mon, 06 Mar 2023 16:34:32 +0000
Received: by outflank-mailman (input) for mailman id 507064;
 Mon, 06 Mar 2023 16:34: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZDnC-0005io-De
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 16:34: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 c356e699-bc3c-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 17:34: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 C070F1FDE1;
 Mon,  6 Mar 2023 16:34: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 5B10B13A66;
 Mon,  6 Mar 2023 16:34:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id YcD4FBMWBmQSUwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 2023 16:34: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: c356e699-bc3c-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678120467; 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=JLyl7tOs3cGxnl6jsRkLZyKtPgiGs1BfdB5/trbJ61I=;
	b=r/FPHOOIxRKcnzZfsnhcLhNSIeo/EHZYI4avFDkcRAthhaPL+ESDs+pl7x30PrrtdHFHiD
	rrUlNtqqhJNYUcPQFRnCq9u8HQk5NdAmhkaWH9+UD99uzFrYU4IBBNSvBSpSdBxZuKMqZj
	9r+C5NXvqSpUgM7B+3kCuWGYx/kVMLs=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org,
	linux-hyperv@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>,
	"K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Wei Liu <wei.liu@kernel.org>,
	Dexuan Cui <decui@microsoft.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org,
	Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>
Subject: [PATCH v4 00/12] x86/mtrr: fix handling with PAT but without MTRR
Date: Mon,  6 Mar 2023 17:34:13 +0100
Message-Id: <20230306163425.8324-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series tries to fix the rather special case of PAT being available
without having MTRRs (either due to CONFIG_MTRR being not set, or
because the feature has been disabled e.g. by a hypervisor).

The main use cases are Xen PV guests and SEV-SNP guests running under
Hyper-V.

Instead of trying to work around all the issues by adding if statements
here and there, just try to use the complete available infrastructure
by setting up a read-only MTRR state when needed.

In the Xen PV case the current MTRR MSR values can be read from the
hypervisor, while for the SEV-SNP case all needed is to set the
default caching mode to "WB".

I have added more cleanup which has been discussed when looking into
the most recent failures.

Note that I couldn't test the Hyper-V related change (patch 3).

Running on bare metal and with Xen didn't show any problems with the
series applied.

It should be noted that patches 9+10 are replacing today's way to
lookup the MTRR cache type for a memory region from looking at the
MTRR register values to building a memory map with the cache types.
This should make the lookup much faster and much easier to understand.

Changes in V2:
- replaced former patches 1+2 with new patches 1-4, avoiding especially
  the rather hacky approach of V1, while making all the MTRR type
  conflict tests available for the Xen PV case
- updated patch 6 (was patch 4 in V1)

Changes in V3:
- dropped patch 5 of V2, as already applied
- split patch 1 of V2 into 2 patches
- new patches 6-10
- addressed comments

Changes in V4:
- addressed comments

Juergen Gross (12):
  x86/mtrr: split off physical address size calculation
  x86/mtrr: optimize mtrr_calc_physbits()
  x86/mtrr: support setting MTRR state for software defined MTRRs
  x86/hyperv: set MTRR state when running as SEV-SNP Hyper-V guest
  x86/xen: set MTRR state when running as Xen PV initial domain
  x86/mtrr: replace vendor tests in MTRR code
  x86/mtrr: allocate mtrr_value array dynamically
  x86/mtrr: add get_effective_type() service function
  x86/mtrr: construct a memory map with cache modes
  x86/mtrr: use new cache_map in mtrr_type_lookup()
  x86/mtrr: don't let mtrr_type_lookup() return MTRR_TYPE_INVALID
  x86/mm: only check uniform after calling mtrr_type_lookup()

 arch/x86/include/asm/mtrr.h        |  15 +-
 arch/x86/include/uapi/asm/mtrr.h   |   6 +-
 arch/x86/kernel/cpu/mshyperv.c     |   4 +
 arch/x86/kernel/cpu/mtrr/amd.c     |   2 +-
 arch/x86/kernel/cpu/mtrr/centaur.c |   2 +-
 arch/x86/kernel/cpu/mtrr/cleanup.c |   4 +-
 arch/x86/kernel/cpu/mtrr/cyrix.c   |   2 +-
 arch/x86/kernel/cpu/mtrr/generic.c | 492 ++++++++++++++++++-----------
 arch/x86/kernel/cpu/mtrr/mtrr.c    |  94 +++---
 arch/x86/kernel/cpu/mtrr/mtrr.h    |   7 +-
 arch/x86/kernel/setup.c            |   2 +
 arch/x86/mm/pgtable.c              |  24 +-
 arch/x86/xen/enlighten_pv.c        |  52 +++
 13 files changed, 454 insertions(+), 252 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 16:34:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 16:34:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507067.780288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZDnf-0006AZ-AL; Mon, 06 Mar 2023 16:34:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507067.780288; Mon, 06 Mar 2023 16:34:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZDnf-0006AS-7M; Mon, 06 Mar 2023 16:34:59 +0000
Received: by outflank-mailman (input) for mailman id 507067;
 Mon, 06 Mar 2023 16:34: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=kIMi=66=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZDnd-0006AC-NY
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 16:34: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 d43a97c4-bc3c-11ed-96b5-2f268f93b82a;
 Mon, 06 Mar 2023 17:34: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 2139B21E60;
 Mon,  6 Mar 2023 16:34: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 D4D4813A66;
 Mon,  6 Mar 2023 16:34:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id PkrGMi8WBmRWUwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Mar 2023 16:34:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d43a97c4-bc3c-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678120496; 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=QeDAQjSRqeP0iwOfsSlKaCLfsyacyLvFFynhKMg6itw=;
	b=L0ORxZJRMkPybl9qj+RAorA80nbejKg5XvHMdSpdYEzrYn4KgSUMFPaxfEgYjAJI2bDKF6
	mzHQ5m87Ic6c/BgUzhbf/mMcZy2OPaG9/RLe5a2OW4fb8jiZZ/45mtEDztLmim1NkEWYVx
	QUxyHCFID5ix33QJnlXAQ1ezxKn5AN8=
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 v4 05/12] x86/xen: set MTRR state when running as Xen PV initial domain
Date: Mon,  6 Mar 2023 17:34:18 +0100
Message-Id: <20230306163425.8324-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230306163425.8324-1-jgross@suse.com>
References: <20230306163425.8324-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When running as Xen PV initial domain (aka dom0), MTRRs are disabled
by the hypervisor, but the system should nevertheless use correct
cache memory types. This has always kind of worked, as disabled MTRRs
resulted in disabled PAT, too, so that the kernel avoided code paths
resulting in inconsistencies. This bypassed all of the sanity checks
the kernel is doing with enabled MTRRs in order to avoid memory
mappings with conflicting memory types.

This has been changed recently, leading to PAT being accepted to be
enabled, while MTRRs stayed disabled. The result is that
mtrr_type_lookup() no longer is accepting all memory type requests,
but started to return WB even if UC- was requested. This led to
driver failures during initialization of some devices.

In reality MTRRs are still in effect, but they are under complete
control of the Xen hypervisor. It is possible, however, to retrieve
the MTRR settings from the hypervisor.

In order to fix those problems, overwrite the MTRR state via
mtrr_overwrite_state() with the MTRR data from the hypervisor, if the
system is running as a Xen dom0.

Fixes: 72cbc8f04fe2 ("x86/PAT: Have pat_enabled() properly reflect state when running on Xen")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
V3:
- move the call of mtrr_overwrite_state() to xen_pv_init_platform()
V4:
- only call mtrr_overwrite_state() if any MTRR got from Xen
  (Boris Ostrovsky)
---
 arch/x86/xen/enlighten_pv.c | 52 +++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index bb59cc6ddb2d..12e6b6845870 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -68,6 +68,7 @@
 #include <asm/reboot.h>
 #include <asm/hypervisor.h>
 #include <asm/mach_traps.h>
+#include <asm/mtrr.h>
 #include <asm/mwait.h>
 #include <asm/pci_x86.h>
 #include <asm/cpu.h>
@@ -119,6 +120,54 @@ static int __init parse_xen_msr_safe(char *str)
 }
 early_param("xen_msr_safe", parse_xen_msr_safe);
 
+/* Get MTRR settings from Xen and put them into mtrr_state. */
+static void __init xen_set_mtrr_data(void)
+{
+#ifdef CONFIG_MTRR
+	struct xen_platform_op op = {
+		.cmd = XENPF_read_memtype,
+		.interface_version = XENPF_INTERFACE_VERSION,
+	};
+	unsigned int reg;
+	unsigned long mask;
+	uint32_t eax, width;
+	static struct mtrr_var_range var[MTRR_MAX_VAR_RANGES] __initdata;
+
+	/* Get physical address width (only 64-bit cpus supported). */
+	width = 36;
+	eax = cpuid_eax(0x80000000);
+	if ((eax >> 16) == 0x8000 && eax >= 0x80000008) {
+		eax = cpuid_eax(0x80000008);
+		width = eax & 0xff;
+	}
+
+	for (reg = 0; reg < MTRR_MAX_VAR_RANGES; reg++) {
+		op.u.read_memtype.reg = reg;
+		if (HYPERVISOR_platform_op(&op))
+			break;
+
+		/*
+		 * Only called in dom0, which has all RAM PFNs mapped at
+		 * RAM MFNs, and all PCI space etc. is identity mapped.
+		 * This means we can treat MFN == PFN regarding MTTR settings.
+		 */
+		var[reg].base_lo = op.u.read_memtype.type;
+		var[reg].base_lo |= op.u.read_memtype.mfn << PAGE_SHIFT;
+		var[reg].base_hi = op.u.read_memtype.mfn >> (32 - PAGE_SHIFT);
+		mask = ~((op.u.read_memtype.nr_mfns << PAGE_SHIFT) - 1);
+		mask &= (1UL << width) - 1;
+		if (mask)
+			mask |= 1 << 11;
+		var[reg].mask_lo = mask;
+		var[reg].mask_hi = mask >> 32;
+	}
+
+	/* Only overwrite MTRR state if any MTRR could be got from Xen. */
+	if (reg)
+		mtrr_overwrite_state(var, reg, MTRR_TYPE_UNCACHABLE);
+#endif
+}
+
 static void __init xen_pv_init_platform(void)
 {
 	/* PV guests can't operate virtio devices without grants. */
@@ -135,6 +184,9 @@ static void __init xen_pv_init_platform(void)
 
 	/* pvclock is in shared info area */
 	xen_init_time_ops();
+
+	if (xen_initial_domain())
+		xen_set_mtrr_data();
 }
 
 static void __init xen_pv_guest_late_init(void)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 18:01:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 18:01:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507089.780307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZF9E-0008J4-Ia; Mon, 06 Mar 2023 18:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507089.780307; Mon, 06 Mar 2023 18:01: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 1pZF9E-0008Ix-Fk; Mon, 06 Mar 2023 18:01:20 +0000
Received: by outflank-mailman (input) for mailman id 507089;
 Mon, 06 Mar 2023 18:01: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 1pZF9C-0008In-Fj; Mon, 06 Mar 2023 18:01: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 1pZF9C-0004s2-Dr; Mon, 06 Mar 2023 18:01: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 1pZF9C-0001p7-5O; Mon, 06 Mar 2023 18:01:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZF9C-00035H-4s; Mon, 06 Mar 2023 18:01:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Z6n6ycrjyuv1Jsm8K2YU4+ihH4+qRaG63STU4E0u0nI=; b=n+HlMG1lT5GtWdt6VdcNkPCYpl
	gKLYlTspMIBjV8Sa0pFmnR2SWrD191oarEdTjBJC2wLw1/3kwARcX6HKGdOeaQOftsJkRqlurt1Nt
	lBbNFNDziyz1mWG+AjeeNVLcboXj/RjmUvPMRfYtuf82kGXqWxf0J0+UaVP/PmXJuTwQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179372-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179372: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-saverestore:fail:allowable
    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-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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=fe15c26ee26efa11741a7b632e9f23b01aca4cc6
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 06 Mar 2023 18:01:18 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  19 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 19 guest-saverestore.2     fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   19 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 18 guest-start/debianhvm.repeat fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 17 guest-localmigrate fail in 179339 REGR. vs. 178042
 test-amd64-amd64-xl-credit2 19 guest-saverestore.2 fail in 179339 REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 179339 REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 18 guest-start/debian.repeat fail in 179339 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit1 18 guest-localmigrate fail in 179339 pass in 179372
 test-amd64-amd64-xl-multivcpu 18 guest-localmigrate fail in 179339 pass in 179372
 test-amd64-coresched-amd64-xl 14 guest-start     fail in 179339 pass in 179372
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail in 179339 pass in 179372
 test-arm64-arm64-xl-xsm      14 guest-start      fail in 179339 pass in 179372
 test-arm64-arm64-xl-credit2  14 guest-start      fail in 179339 pass in 179372
 test-arm64-arm64-xl-thunderx 14 guest-start      fail in 179339 pass in 179372
 test-amd64-amd64-freebsd12-amd64 13 guest-start            fail pass in 179339
 test-amd64-amd64-xl-credit2  17 guest-saverestore          fail pass in 179339
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail pass in 179339
 test-arm64-arm64-libvirt-xsm 14 guest-start                fail pass in 179339

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     17 guest-saverestore        fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 179339 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 179339 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                fe15c26ee26efa11741a7b632e9f23b01aca4cc6
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   13 days
Failing since        178093  2023-02-22 05:02:47 Z   12 days   26 attempts
Testing same since   179339  2023-03-06 00:44:03 Z    0 days    2 attempts

------------------------------------------------------------
2047 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 20:40:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 20:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507110.780337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZHdU-0001HX-IE; Mon, 06 Mar 2023 20:40:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507110.780337; Mon, 06 Mar 2023 20: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 1pZHdU-0001HJ-ET; Mon, 06 Mar 2023 20:40:44 +0000
Received: by outflank-mailman (input) for mailman id 507110;
 Mon, 06 Mar 2023 20: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=r4JU=66=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pZHdT-0000m6-AA
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 20:40:43 +0000
Received: from mail-qt1-x82c.google.com (mail-qt1-x82c.google.com
 [2607:f8b0:4864:20::82c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2900348b-bc5f-11ed-96b5-2f268f93b82a;
 Mon, 06 Mar 2023 21:40:42 +0100 (CET)
Received: by mail-qt1-x82c.google.com with SMTP id h19so12077425qtk.7
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 12:40:42 -0800 (PST)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:2825:cedc:1289:7391])
 by smtp.gmail.com with ESMTPSA id
 j10-20020ac8440a000000b003b82a07c4d6sm8086316qtn.84.2023.03.06.12.40.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Mar 2023 12:40: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: 2900348b-bc5f-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678135240;
        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=XhXDy5ti8KLorVIT2G2UDKzu/rOmP963s9KoYPQtJPg=;
        b=eyCh7wyIPm1KFpLgKs+7TCdsYLsW2uO2qFPO9zBCmdPOrV9jKzUJv2K3evBH4O3ERZ
         l/bUtrLd+KaJYiaI3bMjYYpYS0tDbmLYXZzAp6UtXm7/pbLtv62/p5NhjYMr+19GU4sI
         eg4AWjeCZMfEBbs3ujY6Yv5C9FkzrFAlOuImjM158CJhlRiEP7B3a+orny2YudrFAJ6v
         mLiwJ+5xGeWecRiZFvIJx6yfEoqw2IEnS1WRKwJQ/sI/FCM8H93rcgJE2pvPBanpMQtf
         k3ZYYG+gHodFX2M5XsMIl998k+gxARyf3KoFi92u24hVf/DDpsDYlA23Y62AgoW1Pyo9
         9VZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678135240;
        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=XhXDy5ti8KLorVIT2G2UDKzu/rOmP963s9KoYPQtJPg=;
        b=r/bkSljilu0N2mIfleI1KUjBfdFU8rzx3sDQlG90EeZVfYkcprO11ODgeIhYs+nGUC
         TgKEc7E41XhdqmQb1oPbOiHOD5eAF39vwt2OIyxj0dpqM+LYQKQlnwk8nHoAtkLeMkOd
         PcWumXcTQ8MbvCovpDbrjp2fIFDHsgCIITddAXVxM4fZ4KrVTsbmvFf6iyhgXrDZcR9K
         7SKhpWpQwX3YBih7f24dNM+7szp3TtnI6QIw4lZtKgXkhAfD2aPJQlF1OOl1harmLi3n
         EQlJ01XB2/aY3ydFwzdb1UqZxvh2ACS9ADDffo1IOWMQCwGXFVQRHggH+9v1dWBMcP5A
         pUzw==
X-Gm-Message-State: AO0yUKVNFIIHbYZODZWD8dZil2SZAXH036RqlYpMp3oF/W50mmNyOCee
	iWIYEBwmlxRCJJcKZ1wukXbfRWfxViU=
X-Google-Smtp-Source: AK7set++jiCpAfR58iuZ5SwbyicSozBn5xU3pSr39+n4WlUA1blXwaM1msSoRur+65ZbsLDCkedh9Q==
X-Received: by 2002:a05:622a:48:b0:3ba:1d8d:f6d0 with SMTP id y8-20020a05622a004800b003ba1d8df6d0mr22135529qtw.23.1678135240326;
        Mon, 06 Mar 2023 12:40:40 -0800 (PST)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 2/3] xl/libxl: Add ability to specify SMBIOS strings
Date: Mon,  6 Mar 2023 15:40:23 -0500
Message-Id: <20230306204024.124882-3-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230306204024.124882-1-jandryuk@gmail.com>
References: <20230306204024.124882-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

hvm_xs_strings.h specifies xenstore entries which can be used to set or
override smbios strings.  hvmloader has support for reading them, but
xl/libxl support is not wired up.

Allow specifying the strings with the new xl.cfg option:
smbios=["bios_vendor=Xen Project","system_version=1.0"]

In terms of strings, the SMBIOS specification 3.5 says:
https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.5.0.pdf
"""
Strings must be encoded as UTF-8 with no byte order mark (BOM). For
compatibility with older SMBIOS parsers, US-ASCII characters should be
used.  NOTE There is no limit on the length of each individual text
string. However, the length of the entire structure table (including all
strings) must be reported in the Structure Table Length field of the
32-bit Structure Table Entry Point (see 5.2.1) and/or the Structure
Table Maximum Size field of the 64-bit Structure Table Entry Point (see
5.2.2).
"""

The strings aren't checked for utf-8 or length.  hvmloader has a sanity
check on the overall length.

The libxl_smbios_type enum starts at 1 since otherwise the 0th key is
not printed in the json output.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
v3
Disallow empty value strings
xstrdup listitem before modifying
Handle option=foo=bar -> option foo=bar
Fix compilation - remove stray }
Remove log message newline
Add multiline comment star
Rename variable v to key

v2:
Update s/_/-/ comment
Update debug print to xs_path = "value"
Error on xlu_cfg_get_listitem failure
Use EXIT_FAILURE consistently
free parsed strings
Move break to new line

The rendered man page and html don't have a newline at the end of the
new section.
"""
           battery_device_name=STRING
       ms_vm_genid="OPTION"
"""

however the txt format is correct:
"""
        battery_device_name=STRING

    ms_vm_genid="OPTION"
"""

I'm at a loss as to why this is happening.
---
 docs/man/xl.cfg.5.pod.in             | 45 +++++++++++++++++++++
 tools/golang/xenlight/helpers.gen.go | 51 ++++++++++++++++++++++++
 tools/golang/xenlight/types.gen.go   | 27 +++++++++++++
 tools/include/libxl.h                |  5 +++
 tools/libs/light/libxl_dom.c         | 21 ++++++++++
 tools/libs/light/libxl_types.idl     | 26 +++++++++++++
 tools/xl/xl_parse.c                  | 58 +++++++++++++++++++++++++++-
 7 files changed, 232 insertions(+), 1 deletion(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 024bceeb61..bc4386ee96 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2079,6 +2079,51 @@ number of vendor defined SMBIOS structures (type 128 - 255). Since SMBIOS
 structures do not present their overall size, each entry in the file must be
 preceded by a 32b integer indicating the size of the following structure.
 
+=item B<smbios=[ "SMBIOS_SPEC_STRING", "SMBIOS_SPEC_STRING", ...]>
+
+Specifies the SMBIOS values to be provided to the guest.  These set or
+override specific entries in the tables provided to the guest.
+
+Each B<SMBIOS_SPEC_STRING> is a C<KEY=VALUE> string from the following list:
+
+=over 4
+
+=item B<bios_vendor=STRING>
+
+=item B<bios_version=STRING>
+
+=item B<system_manufacturer=STRING>
+
+=item B<system_product_name=STRING>
+
+=item B<system_version=STRING>
+
+=item B<system_serial_number=STRING>
+
+=item B<baseboard_manufacturer=STRING>
+
+=item B<baseboard_product_name=STRING>
+
+=item B<baseboard_version=STRING>
+
+=item B<baseboard_serial_number=STRING>
+
+=item B<baseboard_asset_tag=STRING>
+
+=item B<baseboard_location_in_chassis=STRING>
+
+=item B<enclosure_manufacturer=STRING>
+
+=item B<enclosure_serial_number=STRING>
+
+=item B<enclosure_asset_tag=STRING>
+
+=item B<battery_manufacturer=STRING>
+
+=item B<battery_device_name=STRING>
+
+=back
+
 =item B<ms_vm_genid="OPTION">
 
 Provide a VM generation ID to the guest.
diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index 3ac4938858..0a203d2232 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -589,6 +589,38 @@ xc.build_id = C.CString(x.BuildId)}
  return nil
  }
 
+// NewSmbios returns an instance of Smbios initialized with defaults.
+func NewSmbios() (*Smbios, error) {
+var (
+x Smbios
+xc C.libxl_smbios)
+
+C.libxl_smbios_init(&xc)
+defer C.libxl_smbios_dispose(&xc)
+
+if err := x.fromC(&xc); err != nil {
+return nil, err }
+
+return &x, nil}
+
+func (x *Smbios) fromC(xc *C.libxl_smbios) error {
+ x.Key = SmbiosType(xc.key)
+x.Value = C.GoString(xc.value)
+
+ return nil}
+
+func (x *Smbios) toC(xc *C.libxl_smbios) (err error){defer func(){
+if err != nil{
+C.libxl_smbios_dispose(xc)}
+}()
+
+xc.key = C.libxl_smbios_type(x.Key)
+if x.Value != "" {
+xc.value = C.CString(x.Value)}
+
+ return nil
+ }
+
 // NewDomainCreateInfo returns an instance of DomainCreateInfo initialized with defaults.
 func NewDomainCreateInfo() (*DomainCreateInfo, error) {
 var (
@@ -1183,6 +1215,15 @@ return fmt.Errorf("converting field Altp2M: %v", err)
 }
 x.SystemFirmware = C.GoString(tmp.system_firmware)
 x.SmbiosFirmware = C.GoString(tmp.smbios_firmware)
+x.Smbios = nil
+if n := int(tmp.num_smbios); n > 0 {
+cSmbios := (*[1<<28]C.libxl_smbios)(unsafe.Pointer(tmp.smbios))[:n:n]
+x.Smbios = make([]Smbios, n)
+for i, v := range cSmbios {
+if err := x.Smbios[i].fromC(&v); err != nil {
+return fmt.Errorf("converting field Smbios: %v", err) }
+}
+}
 x.AcpiFirmware = C.GoString(tmp.acpi_firmware)
 x.Hdtype = Hdtype(tmp.hdtype)
 if err := x.Nographic.fromC(&tmp.nographic);err != nil {
@@ -1495,6 +1536,16 @@ if tmp.SystemFirmware != "" {
 hvm.system_firmware = C.CString(tmp.SystemFirmware)}
 if tmp.SmbiosFirmware != "" {
 hvm.smbios_firmware = C.CString(tmp.SmbiosFirmware)}
+if numSmbios := len(tmp.Smbios); numSmbios > 0 {
+hvm.smbios = (*C.libxl_smbios)(C.malloc(C.ulong(numSmbios)*C.sizeof_libxl_smbios))
+hvm.num_smbios = C.int(numSmbios)
+cSmbios := (*[1<<28]C.libxl_smbios)(unsafe.Pointer(hvm.smbios))[:numSmbios:numSmbios]
+for i,v := range tmp.Smbios {
+if err := v.toC(&cSmbios[i]); err != nil {
+return fmt.Errorf("converting field Smbios: %v", err)
+}
+}
+}
 if tmp.AcpiFirmware != "" {
 hvm.acpi_firmware = C.CString(tmp.AcpiFirmware)}
 hvm.hdtype = C.libxl_hdtype(tmp.Hdtype)
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index 16ce879e3f..2d8bc7654a 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -392,6 +392,32 @@ Commandline string
 BuildId string
 }
 
+type SmbiosType int
+const(
+SmbiosTypeBiosVendor SmbiosType = 1
+SmbiosTypeBiosVersion SmbiosType = 2
+SmbiosTypeSystemManufacturer SmbiosType = 3
+SmbiosTypeSystemProductName SmbiosType = 4
+SmbiosTypeSystemVersion SmbiosType = 5
+SmbiosTypeSystemSerialNumber SmbiosType = 6
+SmbiosTypeBaseboardManufacturer SmbiosType = 7
+SmbiosTypeBaseboardProductName SmbiosType = 8
+SmbiosTypeBaseboardVersion SmbiosType = 9
+SmbiosTypeBaseboardSerialNumber SmbiosType = 10
+SmbiosTypeBaseboardAssetTag SmbiosType = 11
+SmbiosTypeBaseboardLocationInChassis SmbiosType = 12
+SmbiosTypeEnclosureManufacturer SmbiosType = 13
+SmbiosTypeEnclosureSerialNumber SmbiosType = 14
+SmbiosTypeEnclosureAssetTag SmbiosType = 15
+SmbiosTypeBatteryManufacturer SmbiosType = 16
+SmbiosTypeBatteryDeviceName SmbiosType = 17
+)
+
+type Smbios struct {
+Key SmbiosType
+Value string
+}
+
 type DomainCreateInfo struct {
 Type DomainType
 Hap Defbool
@@ -572,6 +598,7 @@ NestedHvm Defbool
 Altp2M Defbool
 SystemFirmware string
 SmbiosFirmware string
+Smbios []Smbios
 AcpiFirmware string
 Hdtype Hdtype
 Nographic Defbool
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index d652895075..5c65222f1e 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -174,6 +174,11 @@
  */
 #define LIBXL_HAVE_BUILDINFO_HVM_MS_VM_GENID 1
 
+/*
+ * libxl_domain_build_info has the u.hvm.smbios field.
+ */
+#define LIBXL_HAVE_BUILDINFO_HVM_SMBIOS 1
+
 /*
  * LIBXL_HAVE_VCPUINFO_SOFT_AFFINITY indicates that a 'cpumap_soft'
  * field (of libxl_bitmap type) is present in libxl_vcpuinfo,
diff --git a/tools/libs/light/libxl_dom.c b/tools/libs/light/libxl_dom.c
index f6311eea6e..5433301f70 100644
--- a/tools/libs/light/libxl_dom.c
+++ b/tools/libs/light/libxl_dom.c
@@ -773,6 +773,27 @@ static int hvm_build_set_xs_values(libxl__gc *gc,
             goto err;
     }
 
+    for (int i = 0; i < info->u.hvm.num_smbios; i++) {
+        char *p;
+        path = GCSPRINTF("/local/domain/%d/"HVM_XS_BIOS_STRINGS"/%s", domid,
+                   libxl_smbios_type_to_string(info->u.hvm.smbios[i].key));
+
+        /* Convert libxl_smbios_type string to xenstore path that hvmloader
+         * will use, as defined by HVM_XS_*. That is convert the '_' to '-'. */
+        p = strrchr(path, '/');
+        for ( ; *p; p++) {
+            if (*p == '_')
+                *p = '-';
+        }
+
+        LOGD(DEBUG, domid, "Writing %s = \"%s\"", path,
+             info->u.hvm.smbios[i].value);
+        ret = libxl__xs_printf(gc, XBT_NULL, path, "%s",
+                               info->u.hvm.smbios[i].value);
+        if (ret)
+            goto err;
+    }
+
     /* Only one module can be passed. PVHv2 guests do not support this. */
     if (dom->acpi_modules[0].guest_addr_out && 
         info->type == LIBXL_DOMAIN_TYPE_HVM) {
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 0cfad8508d..df4dd36697 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -423,6 +423,31 @@ libxl_version_info = Struct("version_info", [
     ("build_id",          string),
     ], dir=DIR_OUT)
 
+libxl_smbios_type = Enumeration("smbios_type", [
+    (1,  "bios_vendor"),
+    (2,  "bios_version"),
+    (3,  "system_manufacturer"),
+    (4,  "system_product_name"),
+    (5,  "system_version"),
+    (6,  "system_serial_number"),
+    (7,  "baseboard_manufacturer"),
+    (8,  "baseboard_product_name"),
+    (9,  "baseboard_version"),
+    (10, "baseboard_serial_number"),
+    (11, "baseboard_asset_tag"),
+    (12, "baseboard_location_in_chassis"),
+    (13, "enclosure_manufacturer"),
+    (14, "enclosure_serial_number"),
+    (15, "enclosure_asset_tag"),
+    (16, "battery_manufacturer"),
+    (17, "battery_device_name"),
+    ])
+
+libxl_smbios = Struct("smbios", [
+    ("key",          libxl_smbios_type),
+    ("value",        string),
+    ], dir=DIR_IN)
+
 libxl_domain_create_info = Struct("domain_create_info",[
     ("type",         libxl_domain_type),
     ("hap",          libxl_defbool),
@@ -609,6 +634,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
                                        ("altp2m",           libxl_defbool),
                                        ("system_firmware",  string),
                                        ("smbios_firmware",  string),
+                                       ("smbios",           Array(libxl_smbios, "num_smbios")),
                                        ("acpi_firmware",    string),
                                        ("hdtype",           libxl_hdtype),
                                        ("nographic",        libxl_defbool),
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 853e9f357a..ba219024b6 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1297,8 +1297,9 @@ void parse_config_data(const char *config_source,
     XLU_ConfigList *cpus, *vbds, *nics, *pcis, *cvfbs, *cpuids, *vtpms,
                    *usbctrls, *usbdevs, *p9devs, *vdispls, *pvcallsifs_devs;
     XLU_ConfigList *channels, *ioports, *irqs, *iomem, *viridian, *dtdevs,
-                   *mca_caps;
+                   *mca_caps, *smbios;
     int num_ioports, num_irqs, num_iomem, num_cpus, num_viridian, num_mca_caps;
+    int num_smbios;
     int pci_power_mgmt = 0;
     int pci_msitranslate = 0;
     int pci_permissive = 0;
@@ -1860,6 +1861,61 @@ void parse_config_data(const char *config_source,
         xlu_cfg_replace_string(config, "acpi_firmware",
                                &b_info->u.hvm.acpi_firmware, 0);
 
+        switch (xlu_cfg_get_list(config, "smbios", &smbios, &num_smbios, 0))
+        {
+        case 0: /* Success */
+            b_info->u.hvm.num_smbios = num_smbios;
+            b_info->u.hvm.smbios = xcalloc(num_smbios, sizeof(libxl_smbios));
+            for (i = 0; i < num_smbios; i++) {
+                libxl_smbios_type type;
+                char *option;
+                char *value;
+
+                buf = xlu_cfg_get_listitem(smbios, i);
+                if (!buf) {
+                    fprintf(stderr,
+                            "xl: Unable to get element #%d in smbios list\n",
+                            i);
+                    exit(EXIT_FAILURE);
+                }
+
+                option = xstrdup(buf);
+                value = strchr(option, '=');
+                if (value == NULL) {
+                    fprintf(stderr, "xl: failed to split \"%s\" at '='\n",
+                            option);
+                    exit(EXIT_FAILURE);
+                }
+
+                *value = '\0';
+                value++;
+
+                if (*value == '\0') {
+                    fprintf(stderr,
+                            "xl: empty value not allowed for smbios \"%s=\"\n",
+                            option);
+                    exit(EXIT_FAILURE);
+                }
+
+                e = libxl_smbios_type_from_string(option, &type);
+                if (e) {
+                    fprintf(stderr, "xl: unknown smbios type '%s'\n", option);
+                    exit(EXIT_FAILURE);
+                }
+
+                b_info->u.hvm.smbios[i].key = type;
+                b_info->u.hvm.smbios[i].value = xstrdup(value);
+
+                free(option);
+            }
+            break;
+        case ESRCH: /* Option not present */
+            break;
+        default:
+            fprintf(stderr,"xl: Unable to parse smbios options.\n");
+            exit(EXIT_FAILURE);
+        }
+
         if (!xlu_cfg_get_string(config, "ms_vm_genid", &buf, 0)) {
             if (!strcmp(buf, "generate")) {
                 e = libxl_ms_vm_genid_generate(ctx, &b_info->u.hvm.ms_vm_genid);
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 20:40:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 20:40:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507109.780327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZHdR-00011F-95; Mon, 06 Mar 2023 20:40:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507109.780327; Mon, 06 Mar 2023 20:40: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 1pZHdR-000118-5p; Mon, 06 Mar 2023 20:40:41 +0000
Received: by outflank-mailman (input) for mailman id 507109;
 Mon, 06 Mar 2023 20:40: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=r4JU=66=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pZHdQ-0000m6-7n
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 20:40:40 +0000
Received: from mail-qt1-x82b.google.com (mail-qt1-x82b.google.com
 [2607:f8b0:4864:20::82b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2783c7fd-bc5f-11ed-96b5-2f268f93b82a;
 Mon, 06 Mar 2023 21:40:39 +0100 (CET)
Received: by mail-qt1-x82b.google.com with SMTP id c3so12081786qtc.8
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 12:40:39 -0800 (PST)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:2825:cedc:1289:7391])
 by smtp.gmail.com with ESMTPSA id
 j10-20020ac8440a000000b003b82a07c4d6sm8086316qtn.84.2023.03.06.12.40.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Mar 2023 12:40: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: 2783c7fd-bc5f-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678135238;
        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=y28wWCfzzCCf0En/MTSEqU7UtSyyDPmGt1fjWU1k+QE=;
        b=pOS7MOKa3aKm/6gJKPiLUcYhTlP3C4ufRg/Wbl6qeTAFw+ISxiqBfqrE/LxRqBmWPN
         AyC3PRQAQugtmJbbKnzic9Ct6mHPIu5iwG4jJh3Q4Hhu11x+XsHmcUP0+lNflE7jWZKy
         Y+oQmYsVSl+7etoAzBMB4hg4lCPuGSnwEOTMo0Fz3yF6g3AkV/mYkZlr894Nd2UZ8Krl
         673NrSHdTYtS99eYlduJVrqMS/Bt7VU2Solk8D6Dj2In0TkVq48hje0nTfThb4GHQmSm
         7/VO3+UdUUu+oidohm9jcrmnWaRnSbbfXmpUWkryUeAk+AKbFyZjTFwBbLi18VN3gYaL
         Mong==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678135238;
        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=y28wWCfzzCCf0En/MTSEqU7UtSyyDPmGt1fjWU1k+QE=;
        b=FYu83frzJM9Rt1+A5+/WFAWIWagundxBmZo+J18ue3wk1vwp2QPsass4Ia6U+o4zOn
         fTKR2JnOpkcFTQigiGc4re9iQTAoquFcdp1Kse3sliaGOveBA8Ckw+GdVrtcj1HpAYso
         rg+q7vqRD0TS79FPkABrgk9iMFfIpz0xs2c2i66/7kWmXpy0ensDVT2EMkjx6A+cPWYY
         bkRnWlxu2d57k7D3010ONJmiP8Vs9Aj+a6RZGBRZ8YFAqBnsg7JfpQtDYNbnO0IhQbBW
         qkMzECDakW64edbiTJOq17RMuI/6pGy9ZLB1p249LZmK//SkFUFwzzR9q2oDg8u3q7XQ
         3pBg==
X-Gm-Message-State: AO0yUKUcEc/0IAFLUh7BU9ebD3Vap7XhKVAGtp2Nqh2bQbpl2JKfR4UQ
	qyK4glbUCM6BSyD6U1cHEMCajh3ZY9g=
X-Google-Smtp-Source: AK7set+8EY1clqDGMHutI3NT4TBwSF9qFqitsupVTFFzFDB9+Gyfw1lnf9qnLSfekCSsWCq8ny8RXA==
X-Received: by 2002:ac8:4e8f:0:b0:3bf:cea5:9866 with SMTP id 15-20020ac84e8f000000b003bfcea59866mr21102985qtp.24.1678135237738;
        Mon, 06 Mar 2023 12:40:37 -0800 (PST)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 1/3] golang/xenlight: Extend KeyedUnion to support Arrays
Date: Mon,  6 Mar 2023 15:40:22 -0500
Message-Id: <20230306204024.124882-2-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230306204024.124882-1-jandryuk@gmail.com>
References: <20230306204024.124882-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Generation for KeyedUnion types doesn't support Arrays.  The smbios
support will place an smbios array inside the hvm KeyedUnion, and
gentotypes doesn't generate buildable Go code.

Have KeyedUnion add an idl.Array check and issue the approriate
xenlight_golang_array_to_C and xenlight_golang_array_from_C calls when
needed.  This matches how it is done in xenlight_golang_define_to_C &
xenlight_golang_define_from_C

xenlight_golang_array_to_C and xenlight_golang_array_from_C need to be
extended to set the cvarname and govarname as approriate for the
KeyedUnion cases to match the surrounding code.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/golang/xenlight/gengotypes.py | 41 ++++++++++++++++++-----------
 1 file changed, 25 insertions(+), 16 deletions(-)

diff --git a/tools/golang/xenlight/gengotypes.py b/tools/golang/xenlight/gengotypes.py
index 9fec60602d..e4eb7ca1c1 100644
--- a/tools/golang/xenlight/gengotypes.py
+++ b/tools/golang/xenlight/gengotypes.py
@@ -376,6 +376,10 @@ def xenlight_golang_union_from_C(ty = None, union_name = '', struct_name = ''):
         s += 'tmp := (*C.{0})(unsafe.Pointer(&xc.{1}[0]))\n'.format(typename,union_name)
 
         for nf in f.type.fields:
+            if isinstance(nf.type, idl.Array):
+                s += xenlight_golang_array_from_C(nf,cvarname='tmp')
+                continue
+
             s += xenlight_golang_convert_from_C(nf,cvarname='tmp')
 
         s += 'return nil\n'
@@ -416,7 +420,7 @@ def xenlight_golang_union_from_C(ty = None, union_name = '', struct_name = ''):
 
     return (s,extras)
 
-def xenlight_golang_array_from_C(ty = None):
+def xenlight_golang_array_from_C(ty = None, cvarname = 'xc'):
     """
     Convert C array to Go slice using the method
     described here:
@@ -433,9 +437,9 @@ def xenlight_golang_array_from_C(ty = None):
     clenvar    = ty.type.lenvar.name
 
     s += 'x.{0} = nil\n'.format(goname)
-    s += 'if n := int(xc.{0}); n > 0 {{\n'.format(clenvar)
+    s += 'if n := int({0}.{1}); n > 0 {{\n'.format(cvarname,clenvar)
     s += '{0} := '.format(cslice)
-    s +='(*[1<<28]C.{0})(unsafe.Pointer(xc.{1}))[:n:n]\n'.format(ctypename, cname)
+    s +='(*[1<<28]C.{0})(unsafe.Pointer({1}.{2}))[:n:n]\n'.format(ctypename, cvarname, cname)
     s += 'x.{0} = make([]{1}, n)\n'.format(goname, gotypename)
     s += 'for i, v := range {0} {{\n'.format(cslice)
 
@@ -579,6 +583,11 @@ def xenlight_golang_union_to_C(ty = None, union_name = '',
 
         s += 'var {0} C.{1}\n'.format(f.name,cgotype)
         for uf in f.type.fields:
+            if isinstance(uf.type, idl.Array):
+                s += xenlight_golang_array_to_C(uf, cvarname=f.name,
+                                                govarname="tmp")
+                continue
+
             s += xenlight_golang_convert_to_C(uf,cvarname=f.name,
                                               govarname='tmp')
 
@@ -596,7 +605,7 @@ def xenlight_golang_union_to_C(ty = None, union_name = '',
 
     return s
 
-def xenlight_golang_array_to_C(ty = None):
+def xenlight_golang_array_to_C(ty = None, cvarname="xc", govarname="x"):
     s = ''
 
     gotypename = xenlight_golang_fmt_name(ty.type.elem_type.typename)
@@ -608,27 +617,27 @@ def xenlight_golang_array_to_C(ty = None):
 
     is_enum = isinstance(ty.type.elem_type,idl.Enumeration)
     if gotypename in go_builtin_types or is_enum:
-        s += 'if {0} := len(x.{1}); {2} > 0 {{\n'.format(golenvar,goname,golenvar)
-        s += 'xc.{0} = (*C.{1})(C.malloc(C.size_t({2}*{3})))\n'.format(cname,ctypename,
+        s += 'if {0} := len({1}.{2}); {3} > 0 {{\n'.format(golenvar,govarname,goname,golenvar)
+        s += '{0}.{1} = (*C.{2})(C.malloc(C.size_t({3}*{4})))\n'.format(cvarname,cname,ctypename,
                                                                    golenvar,golenvar)
-        s += 'xc.{0} = C.int({1})\n'.format(clenvar,golenvar)
-        s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer(xc.{2}))[:{3}:{4}]\n'.format(goname,
-                                                                      ctypename,cname,
+        s += '{0}.{1} = C.int({2})\n'.format(cvarname,clenvar,golenvar)
+        s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer({2}.{3}))[:{4}:{5}]\n'.format(goname,
+                                                                      ctypename,cvarname,cname,
                                                                       golenvar,golenvar)
-        s += 'for i,v := range x.{0} {{\n'.format(goname)
+        s += 'for i,v := range {0}.{1} {{\n'.format(govarname,goname)
         s += 'c{0}[i] = C.{1}(v)\n'.format(goname,ctypename)
         s += '}\n}\n'
 
         return s
 
-    s += 'if {0} := len(x.{1}); {2} > 0 {{\n'.format(golenvar,goname,golenvar)
-    s += 'xc.{0} = (*C.{1})(C.malloc(C.ulong({2})*C.sizeof_{3}))\n'.format(cname,ctypename,
+    s += 'if {0} := len({1}.{2}); {3} > 0 {{\n'.format(golenvar,govarname,goname,golenvar)
+    s += '{0}.{1} = (*C.{2})(C.malloc(C.ulong({3})*C.sizeof_{4}))\n'.format(cvarname,cname,ctypename,
                                                                    golenvar,ctypename)
-    s += 'xc.{0} = C.int({1})\n'.format(clenvar,golenvar)
-    s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer(xc.{2}))[:{3}:{4}]\n'.format(goname,
-                                                                         ctypename,cname,
+    s += '{0}.{1} = C.int({2})\n'.format(cvarname,clenvar,golenvar)
+    s += 'c{0} := (*[1<<28]C.{1})(unsafe.Pointer({2}.{3}))[:{4}:{5}]\n'.format(goname,
+                                                                         ctypename,cvarname,cname,
                                                                          golenvar,golenvar)
-    s += 'for i,v := range x.{0} {{\n'.format(goname)
+    s += 'for i,v := range {0}.{1} {{\n'.format(govarname,goname)
     s += 'if err := v.toC(&c{0}[i]); err != nil {{\n'.format(goname)
     s += 'return fmt.Errorf("converting field {0}: %v", err)\n'.format(goname)
     s += '}\n}\n}\n'
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 20:40:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 20:40:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507108.780317 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZHdP-0000mJ-1t; Mon, 06 Mar 2023 20:40:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507108.780317; Mon, 06 Mar 2023 20: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 1pZHdO-0000mC-Uk; Mon, 06 Mar 2023 20:40:38 +0000
Received: by outflank-mailman (input) for mailman id 507108;
 Mon, 06 Mar 2023 20:40: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=r4JU=66=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pZHdN-0000m6-Q5
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 20:40:37 +0000
Received: from mail-qt1-x830.google.com (mail-qt1-x830.google.com
 [2607:f8b0:4864:20::830])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25493301-bc5f-11ed-96b5-2f268f93b82a;
 Mon, 06 Mar 2023 21:40:36 +0100 (CET)
Received: by mail-qt1-x830.google.com with SMTP id y10so12118270qtj.2
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 12:40:35 -0800 (PST)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:2825:cedc:1289:7391])
 by smtp.gmail.com with ESMTPSA id
 j10-20020ac8440a000000b003b82a07c4d6sm8086316qtn.84.2023.03.06.12.40.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Mar 2023 12:40: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: 25493301-bc5f-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678135234;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=tanG/61RIVNPTSr+AuBW+7eqNejzIWDAyrP5pglDf+Y=;
        b=Hm5s03+H5Zwz/oAK7rP85dmjyVQHRMTLWwmwtzZz2pJEDb+d+J4dfKQOjYLjT/pkcG
         R6GBlq2u9CYKJ5F8PXHduwlXMDIhjuOqhqtcyYNAghKLbhSDtaCmPGnbgm3fmkRcaHBQ
         A33rMQ+r0HTx+yhC8QnAOcR8/UbJALLDTXqDY6swR9AB0lgZf3+qyy3TThB/HAaolpie
         dnPYbVe535e7X30rYy8BJoc3+SvtyzRgBZvjRme1/BKigGEZ/TITFFc8p938+vHgxXwq
         WyXA1MgQ4oBYw80y9RvEujKtHMWf9B56hMzNp+qyVrByDXsSZqHp/5ocJFnS/lDPHRm6
         /IvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678135234;
        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=tanG/61RIVNPTSr+AuBW+7eqNejzIWDAyrP5pglDf+Y=;
        b=AoFvZgUyhSYoY51EdMKa0HjBdzmeSc6thOx5fIdkbergyM+o7Bby+b7VRYh/9i24iG
         SndbgQxXWmhwPM1p096Gt6UBc6oSkQ3M5jWAQSabhUTfxU9caAKT8ZuKhZc3jMrhiA35
         hLsIn8YMUPaOwW1VYD1v4P1HcWufHNHisbbYEXppk3e2AAcFplbsKOuuRxNPNCz1vrJL
         2Zm2fS7j24JMufZl+g7+vrJcoR0xBkn7xn0Ca93zvB1WEiDBF44hBkEfJ64SzRuwXBfd
         0Sz+dZtzvhV9e7xkC/VMAoU9wqS9uTkivNerD7r8fGWq3olPzzNCiPKThMyaUBht/y/q
         d7cg==
X-Gm-Message-State: AO0yUKUa95DGBMsyEJ5w795EG+8XQq5jVQIuGQejlT8C2WWKQHRq2mhr
	GS/DX1CI252Pj+Ae3A+vf7p1+ACfYwU=
X-Google-Smtp-Source: AK7set9S/prMsP6UV9btZCY/kpbvDySl0Yz4hcDEv+2lTxr76Pjxhm9JK1EWN6/Oksn+pG8nDUB1ww==
X-Received: by 2002:a05:622a:103:b0:3bf:a15e:a898 with SMTP id u3-20020a05622a010300b003bfa15ea898mr18661250qtw.18.1678135234116;
        Mon, 06 Mar 2023 12:40:34 -0800 (PST)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 0/3] libxl smbios support
Date: Mon,  6 Mar 2023 15:40:21 -0500
Message-Id: <20230306204024.124882-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

hvm_xs_strings.h specifies xenstore entries which can be used to set or
override smbios strings.  hvmloader has support for reading them, but
xl/libxl support is not wired up.  This patches adds a new xl.cfg option
and libxl support to write the xenstore strings.

The xl syntax looks like:
smbios=["bios_vendor=Xen Project","system_version=1.0"]

The Go binding generation needed extending to support Arrays inside a
KeyedUnion, which is what the first patch does.  The generated go code
builds, but it is otherwise untested.

There are also oem strings, oem-1..oem-99, that HVM loader supports.
xl parse multiple oem strings like smbios=["oem=A,oem=B"], libxl then
iterates over them and assigned to the oem-%d entries.  Both xl and
libxl check that the 99 string limit isn't exceeded.

The rendered man page and html don't have a newline at the end of the
new section after patch 2.
"""
           battery_device_name=STRING
       ms_vm_genid="OPTION"
"""

however the txt format is correct:
"""
        battery_device_name=STRING

    ms_vm_genid="OPTION"
"""

It goes away after patch 3 is applied since it adds text about the "oem"
option in between the two lines above.  I'm at a loss as to why this is
happening.

v4 is a rebase and resend of v3.

Jason Andryuk (3):
  golang/xenlight: Extend KeyedUnion to support Arrays
  xl/libxl: Add ability to specify SMBIOS strings
  xl/libxl: Add OEM string support to smbios

 docs/man/xl.cfg.5.pod.in             | 49 +++++++++++++++++++
 tools/golang/xenlight/gengotypes.py  | 41 +++++++++-------
 tools/golang/xenlight/helpers.gen.go | 51 ++++++++++++++++++++
 tools/golang/xenlight/types.gen.go   | 28 +++++++++++
 tools/include/libxl.h                |  5 ++
 tools/libs/light/libxl_dom.c         | 33 +++++++++++++
 tools/libs/light/libxl_types.idl     | 27 +++++++++++
 tools/xl/xl_parse.c                  | 71 +++++++++++++++++++++++++++-
 8 files changed, 288 insertions(+), 17 deletions(-)

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 20:40:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 20:40:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507111.780346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZHdZ-0001b0-0D; Mon, 06 Mar 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 507111.780346; Mon, 06 Mar 2023 20: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 1pZHdY-0001ar-T8; Mon, 06 Mar 2023 20:40:48 +0000
Received: by outflank-mailman (input) for mailman id 507111;
 Mon, 06 Mar 2023 20:40: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=r4JU=66=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pZHdY-0001Yf-1N
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 20:40:48 +0000
Received: from mail-qt1-x82a.google.com (mail-qt1-x82a.google.com
 [2607:f8b0:4864:20::82a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a586ee2-bc5f-11ed-a550-8520e6686977;
 Mon, 06 Mar 2023 21:40:44 +0100 (CET)
Received: by mail-qt1-x82a.google.com with SMTP id l18so12121307qtp.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 12:40:44 -0800 (PST)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:2825:cedc:1289:7391])
 by smtp.gmail.com with ESMTPSA id
 j10-20020ac8440a000000b003b82a07c4d6sm8086316qtn.84.2023.03.06.12.40.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Mar 2023 12:40: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: 2a586ee2-bc5f-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678135242;
        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=Vfk/rPawOAJLlZCQLkL2VKm1IzggPUh3nbzo39BZfvE=;
        b=pwib/E7fZpMEgZj6q46rp1M996L8fifkdOsW0gnX3Af6a4vYp+P1tlK7GbElvhYOjS
         6QGFp0mUGfCQEjOe/8yWcFyPkc/3Q20aIkRTjDCyGMndNA9iwth9GPSS3Po3XCSwaL6x
         qAXze8FXhkMtayNkHrnps9TCNG3wDUjHPpe5ADetj6gx29Ln651lFrf/E/D6g9SxX+po
         BSucj+v8OIi+wqHfty6d3H3vpTk6HoLptbkDdFORu4jerCf+eDf96gIK5xG7hn5inpmk
         iEapkUIXmfSoOILJwPJF5+LfuDB9Aqs1qHEp5jTKKx0h8x6oGJKQY9JopKTDFf/VdlVU
         +DPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678135242;
        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=Vfk/rPawOAJLlZCQLkL2VKm1IzggPUh3nbzo39BZfvE=;
        b=klTR/O4MxAQTpGO2lTihz0ONsv8CJIg9fAYaImTutCSnJ/pUYpxfi0etZxCUR0X0Aq
         0WI7VYlSsVdgGdEE2Wrnu3bQ9pqZxyEgPJGyLL4mjPwgUOGfEYYtHbE08UgMz/D1vT1s
         gnNVEtt4JCVNSREX3eaiEpv9Lzf3OHUjDu4GPtwIZYfitb5nBh+IKGxA/YZ3q03GL248
         5duQGlIUQBKye+CeDCsE2eeA6xSV9lkS94ODuUhWWOeEen5TbY/9m+SXOFiWjGwDnnIC
         7mWpdvj/VeHyh7pve/W8yam8DA6yNT2gUYx9HdQGJv3jjE0UuTfXT8z1yCBEVRTJNNQk
         5wig==
X-Gm-Message-State: AO0yUKXfGnxTH67onf7Ql5EvdKwvX3RIXk2iUIhjTUwGWPxJUyRl8yuP
	L5cTNOArzHKANzzVl1YBewHij+bYJz0=
X-Google-Smtp-Source: AK7set9QDBiBf+sZ/r6SIHghP2w3mQO/LyXVMA0sMDoSswzRUsoDvnNEF54FensgRkQH04z/GIaIsA==
X-Received: by 2002:a05:622a:5c9:b0:3bf:d9a9:25e5 with SMTP id d9-20020a05622a05c900b003bfd9a925e5mr18486750qtb.30.1678135242687;
        Mon, 06 Mar 2023 12:40:42 -0800 (PST)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v4 3/3] xl/libxl: Add OEM string support to smbios
Date: Mon,  6 Mar 2023 15:40:24 -0500
Message-Id: <20230306204024.124882-4-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230306204024.124882-1-jandryuk@gmail.com>
References: <20230306204024.124882-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for OEM strings in the SMBIOS type 11.

hvmloader checks them sequentially, so hide the implementation detail.
Allow multiple plain oem= items and assign the numeric values
internally.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
v3:
Add } from patch 2 to parse_config_data
Use EXIT_FAILURE
Print error message in libxl for > 99 OEM strings

v2:
Move oem= description to be indented in docs
Re-work oem= description
Re-word oem string limit xl error message
Replace OEM_{1,99) with just OEM and handle in libxl

This change re-introduces the newline before ms_vm_genid.
---
 docs/man/xl.cfg.5.pod.in           |  4 ++++
 tools/golang/xenlight/types.gen.go |  1 +
 tools/libs/light/libxl_dom.c       | 16 ++++++++++++++--
 tools/libs/light/libxl_types.idl   |  1 +
 tools/xl/xl_parse.c                | 13 +++++++++++++
 5 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index bc4386ee96..10f37990be 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2122,6 +2122,10 @@ Each B<SMBIOS_SPEC_STRING> is a C<KEY=VALUE> string from the following list:
 
 =item B<battery_device_name=STRING>
 
+=item B<oem=STRING>
+
+oem= can be specified up to 99 times.
+
 =back
 
 =item B<ms_vm_genid="OPTION">
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index 2d8bc7654a..a7c17699f8 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -411,6 +411,7 @@ SmbiosTypeEnclosureSerialNumber SmbiosType = 14
 SmbiosTypeEnclosureAssetTag SmbiosType = 15
 SmbiosTypeBatteryManufacturer SmbiosType = 16
 SmbiosTypeBatteryDeviceName SmbiosType = 17
+SmbiosTypeOem SmbiosType = 18
 )
 
 type Smbios struct {
diff --git a/tools/libs/light/libxl_dom.c b/tools/libs/light/libxl_dom.c
index 5433301f70..25fb716084 100644
--- a/tools/libs/light/libxl_dom.c
+++ b/tools/libs/light/libxl_dom.c
@@ -755,6 +755,7 @@ static int hvm_build_set_xs_values(libxl__gc *gc,
                                    const libxl_domain_build_info *info)
 {
     char *path = NULL;
+    int num_oem = 1;
     int ret = 0;
 
     if (dom->smbios_module.guest_addr_out) {
@@ -775,8 +776,19 @@ static int hvm_build_set_xs_values(libxl__gc *gc,
 
     for (int i = 0; i < info->u.hvm.num_smbios; i++) {
         char *p;
-        path = GCSPRINTF("/local/domain/%d/"HVM_XS_BIOS_STRINGS"/%s", domid,
-                   libxl_smbios_type_to_string(info->u.hvm.smbios[i].key));
+        if (info->u.hvm.smbios[i].key == LIBXL_SMBIOS_TYPE_OEM) {
+            if (num_oem > 99) {
+                LOGD(ERROR, domid, "More than 99 SMBIOS OEM strings specified");
+                ret = ERROR_INVAL;
+                goto err;
+            }
+            path = GCSPRINTF("/local/domain/%d/"HVM_XS_OEM_STRINGS, domid,
+                             num_oem);
+            num_oem++;
+        } else {
+            path = GCSPRINTF("/local/domain/%d/"HVM_XS_BIOS_STRINGS"/%s", domid,
+                       libxl_smbios_type_to_string(info->u.hvm.smbios[i].key));
+        }
 
         /* Convert libxl_smbios_type string to xenstore path that hvmloader
          * will use, as defined by HVM_XS_*. That is convert the '_' to '-'. */
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index df4dd36697..c10292e0d7 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -441,6 +441,7 @@ libxl_smbios_type = Enumeration("smbios_type", [
     (15, "enclosure_asset_tag"),
     (16, "battery_manufacturer"),
     (17, "battery_device_name"),
+    (18, "oem"),
     ])
 
 libxl_smbios = Struct("smbios", [
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index ba219024b6..e344d4fda3 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1864,6 +1864,9 @@ void parse_config_data(const char *config_source,
         switch (xlu_cfg_get_list(config, "smbios", &smbios, &num_smbios, 0))
         {
         case 0: /* Success */
+        {
+            unsigned int num_oem = 1;
+
             b_info->u.hvm.num_smbios = num_smbios;
             b_info->u.hvm.smbios = xcalloc(num_smbios, sizeof(libxl_smbios));
             for (i = 0; i < num_smbios; i++) {
@@ -1903,12 +1906,22 @@ void parse_config_data(const char *config_source,
                     exit(EXIT_FAILURE);
                 }
 
+                if (type == LIBXL_SMBIOS_TYPE_OEM) {
+                    if (num_oem > 99) {
+                        fprintf(stderr,
+                                "xl: smbios limited to 99 oem strings\n");
+                        exit(EXIT_FAILURE);
+                    }
+                    num_oem++;
+                }
+
                 b_info->u.hvm.smbios[i].key = type;
                 b_info->u.hvm.smbios[i].value = xstrdup(value);
 
                 free(option);
             }
             break;
+        }
         case ESRCH: /* Option not present */
             break;
         default:
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 23:03:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 23:03:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507144.780359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZJrA-0001G2-13; Mon, 06 Mar 2023 23:03:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507144.780359; Mon, 06 Mar 2023 23:03: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 1pZJr9-0001Fv-UY; Mon, 06 Mar 2023 23:02:59 +0000
Received: by outflank-mailman (input) for mailman id 507144;
 Mon, 06 Mar 2023 23:02: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=Xk/k=66=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pZJr8-0001Fp-IU
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 23:02: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 07e339a1-bc73-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 00:02:56 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 42419B81154;
 Mon,  6 Mar 2023 23:02:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 18799C433EF;
 Mon,  6 Mar 2023 23:02: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: 07e339a1-bc73-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678143773;
	bh=vy3V0D7o7wM6521UIemzfQvh1AgtozXFDqA/cvx/wv0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ZheD85apitOFWjvrelm/LL6hEIIVi+8acz8dQjw+frVtH2ZxcilfPfBWeiCC0g7bu
	 8P14GCcPYY95ZWEIFMorjUsQ9torMbx4m+ABXMuY4RYG1lx7BLTHH515H1+GnVqXqm
	 0O677rOOj0i+Z9ZS7hwcRPiapGlJ66QA79W+hxBPQqgovqPKowW0ozFxlAoM24gctK
	 84vt8QzbXtMX+29vViWWrZpX4A7aU5X0X2ZhIbnFPcW3czzkhq1Jw+zQhe9lkqPdjU
	 zVOIk2ayqByb47WpRPVzaagkIgQzA1KzCvXsE4eoDM3JPt/D883XXu5NVsIckxmhqM
	 7PPM8FLD2HLCg==
Date: Mon, 6 Mar 2023 15:02:51 -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@lists.xenproject.org, cardoe@cardoe.com, michal.orzel@amd.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH v2 2/2] automation: introduce a dom0less test run on
 Xilinx hardware
In-Reply-To: <290dec66-c5a5-0609-f95f-7e3bcfd3fc94@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2303061450530.863724@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2303031554080.863724@ubuntu-linux-20-04-desktop> <20230303235719.1181690-2-sstabellini@kernel.org> <290dec66-c5a5-0609-f95f-7e3bcfd3fc94@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, 6 Mar 2023, Andrew Cooper wrote:
> On 03/03/2023 11:57 pm, Stefano Stabellini wrote:
> > +  only:
> > +    variables:
> > +      - $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
> 
> We don't want to protect every branch of a tree that only a select
> number of people can push to,

Actually this is useful, more on this below


> nor (for this, or others configured with
> the runner), want to impose branching conventions on them.
> 
> In all anticipated cases, those able to push would also be able to
> reconfigure the protected-ness of branches, so this doesn't gain us any
> security I don't think, but it certainly puts more hoops in the way to
> be jumped through.

It is true that it adds a small inconvenience to the user, but I think
the benefits outweigh the inconvenience at the moment (that could change
though.)

With this, I can register the gitlab runner with a specific gitlab
project (for instance
https://gitlab.com/xen-project/people/sstabellini/xen) then I can mark
all branches as "protected" and select very specific access permissions,
e.g. I can give individual access to Julien, Bertrand, Michal, anyone,
to specific branches, which is great to allow them to run individual
pre-commit tests permanently or temporarily.

I couldn't find another way to do it at the moment, as non-protected
branches don't come with detailed access permissions. But it is possible
that as we setup a new sub-group under https://gitlab.com/xen-project
for people with access to the runner, then we might be able to remove
this restriction because it becomes unnecessary. We can remove the
protected check at that point.


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 23:15:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 23:15:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507149.780370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZK2z-0002uk-4L; Mon, 06 Mar 2023 23:15:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507149.780370; Mon, 06 Mar 2023 23:15:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZK2z-0002ud-02; Mon, 06 Mar 2023 23:15:13 +0000
Received: by outflank-mailman (input) for mailman id 507149;
 Mon, 06 Mar 2023 23:15: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=Xk/k=66=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pZK2x-0002tj-Su
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 23:15: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 bc634ec7-bc74-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 00:15:08 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 83D9361019;
 Mon,  6 Mar 2023 23:15:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3827DC433D2;
 Mon,  6 Mar 2023 23:15: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: bc634ec7-bc74-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678144506;
	bh=RBuo6ripJoJWJMLB7ZbwKfR0Kg8nLoJr7usvXQDDZwk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Dl2XmcwPsKzc2MtAzQ1LqAqAQ9rYfTh40uhF7SEllsUfPKtZJdb8CLQiAG7DloR0Y
	 fFSyzAYwpbd/AIN1DbTqS6fnfGe2ZKs4O1d0J60YEKsxbuc5B142EDyqeVt+vdG4aD
	 O9ybrHQgZPDi6lUiAKNJI0Gw3HSrW2Xy859tNtKk1I7gloiBjL57Lc8UA3FYoo6zlv
	 sIObL3ZkFxVHhNP4urEj3J7JjBa1s0Psn+/YR5r92MU+sULNe0YFuc6oATDSmbljaY
	 GKbP+AtKxk4QcvImumUTTUViDT//MZYuooi1ycEW0au45XpS1U313SwjeN1wlAEP+L
	 0byV+Y/L1ETZw==
Date: Mon, 6 Mar 2023 15:15:04 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, cardoe@cardoe.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH v2 2/2] automation: introduce a dom0less test run on
 Xilinx hardware
In-Reply-To: <d0d816bf-a71e-5528-b4f4-626d82cdabac@amd.com>
Message-ID: <alpine.DEB.2.22.394.2303061507590.863724@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2303031554080.863724@ubuntu-linux-20-04-desktop> <20230303235719.1181690-2-sstabellini@kernel.org> <d0d816bf-a71e-5528-b4f4-626d82cdabac@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, 6 Mar 2023, Michal Orzel wrote:
> Hi Stefano,
> 
> On 04/03/2023 00:57, Stefano Stabellini wrote:
> > 
> > 
> > From: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > The test prepares dom0 and domU binaries and boot artifacts, similarly
> > to the existing QEMU test. (TBD: share preparation steps with the
> > regular QEMU tests.)
> > 
> > However, instead of running the test inside QEMU as usual, it copies
> > the binaries to the tftp server root, triggers a Xilinx ZCU102 board
> > reboot, and connects to the real serial of the board.
> > 
> > For now and due to its novelty, allow_failure on the Xilinx hardware
> > test, and only run the job on protected branches with XILINX_JOBS set to
> > true (the "master" and "staging" on gitlab.com/xen-project/xen qualify).
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > ---
> > Changes in v2:
> > - only execute the xilinx job on protected branches with XILINX_JOBS set
> > to true
> > ---
> >  automation/gitlab-ci/test.yaml                |  22 ++++
> >  .../scripts/xilinx-smoke-dom0less-arm64.sh    | 115 ++++++++++++++++++
> >  2 files changed, 137 insertions(+)
> >  create mode 100755 automation/scripts/xilinx-smoke-dom0less-arm64.sh
> > 
> > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> > index 1c5f400b68..8f94cad32c 100644
> > --- a/automation/gitlab-ci/test.yaml
> > +++ b/automation/gitlab-ci/test.yaml
> > @@ -85,6 +85,28 @@ build-each-commit-gcc:
> >    tags:
> >      - x86_64
> > 
> > +xilinx-smoke-dom0less-arm64-gcc:
> > +  extends: .test-jobs-common
> > +  variables:
> > +    CONTAINER: ubuntu:xenial-xilinx
> > +    LOGFILE: qemu-smoke-xilinx.log
> > +  artifacts:
> > +    paths:
> > +      - smoke.serial
> > +      - '*.log'
> > +    when: always
> > +  tags:
> > +    - xilinx
> > +  script:
> > +    - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
> > +  needs:
> > +    - *arm64-test-needs
> > +    - alpine-3.12-gcc-arm64
> > +  allow_failure: true
> > +  only:
> > +    variables:
> > +      - $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
> > +
> Surely we will want to have more tests running on our HW board.
> For that, let's introduce a template and a job separately right away:
> 
> .xilinx-arm64:
>   extends: .test-jobs-common
>   variables:
>     CONTAINER: ubuntu:xenial-xilinx
>     LOGFILE: qemu-smoke-xilinx.log
>   artifacts:
>     paths:
>       - smoke.serial
>       - '*.log'
>     when: always
>   allow_failure: true
>   only:
>     variables:
>       - $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
>   tags:
>     - xilinx
> 
> 
> xilinx-smoke-dom0less-arm64-gcc:
>   extends: .xilinx-arm64
>   script:
>     - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
>   needs:
>     - *arm64-test-needs
>     - alpine-3.12-gcc-arm64

Makes sense


> >  qemu-smoke-dom0-arm64-gcc:
> >    extends: .qemu-arm64
> >    script:
> > diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
> > new file mode 100755
> > index 0000000000..180c8b5f1c
> > --- /dev/null
> > +++ b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
> > @@ -0,0 +1,115 @@
> > +#!/bin/bash
> > +
> > +set -ex
> > +
> > +test_variant=$1
> > +
> > +if [ -z "${test_variant}" ]; then
> > +    passed="ping test passed"
> > +    domU_check="
> > +until ifconfig eth0 192.168.0.2 &> /dev/null && ping -c 10 192.168.0.1; do
> > +    sleep 30
> > +done
> > +echo \"${passed}\"
> > +"
> > +fi
> > +
> > +# DomU
> > +mkdir -p rootfs
> > +cd rootfs
> > +tar xzf ../binaries/initrd.tar.gz
> > +mkdir proc
> > +mkdir run
> > +mkdir srv
> > +mkdir sys
> > +rm var/run
> > +echo "#!/bin/sh
> > +
> > +${domU_check}
> > +/bin/sh" > etc/local.d/xen.start
> > +chmod +x etc/local.d/xen.start
> > +echo "rc_verbose=yes" >> etc/rc.conf
> > +find . | cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz
> > +cd ..
> > +rm -rf rootfs
> Why do we create a domU rootfs in a different manner compared to qemu one?
> I think this could be done using busybox (it would have to be installed in container)
> and it would make it easier to share qemu/xilinx script.

That's because we cannot reuse the busybox steps as-is: this container
is running on an x86 machine while busybox is an arm64 binary. I think
that problem could be solved somehow, but I didn't want to solve it
right now.


> > +
> > +# DOM0 rootfs
> > +mkdir -p rootfs
> > +cd rootfs
> > +tar xzf ../binaries/initrd.tar.gz
> > +mkdir proc
> > +mkdir run
> > +mkdir srv
> > +mkdir sys
> > +rm var/run
> > +cp -ar ../binaries/dist/install/* .
> > +
> > +echo "#!/bin/bash
> > +
> > +export LD_LIBRARY_PATH=/usr/local/lib
> > +bash /etc/init.d/xencommons start
> > +
> > +/usr/local/lib/xen/bin/init-dom0less
> > +
> > +brctl addbr xenbr0
> > +brctl addif xenbr0 eth0
> > +ifconfig eth0 up
> > +ifconfig xenbr0 up
> > +ifconfig xenbr0 192.168.0.1
> > +
> > +xl network-attach 1 type=vif
> > +${dom0_check}
> > +" > etc/local.d/xen.start
> > +chmod +x etc/local.d/xen.start
> > +echo "rc_verbose=yes" >> etc/rc.conf
> > +find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
> > +cd ..
> > +
> > +
> > +TFTP=/scratch/gitlab-runner/tftp
> > +START=`pwd`
> > +
> > +# ImageBuilder
> > +echo 'MEMORY_START="0"
> > +MEMORY_END="0xC0000000"
> This is incorrect for zcu102. It should be the end address of a first memory bank
> which is 0x7ff00000.

Thanks!


> > +
> > +DEVICE_TREE="mpsoc.dtb"
> Can we do something to expose this dtb so that everyone with no access to a runner can see it?
> It will become necessary when we start introducing some passthrough test jobs.
> Also, how about naming this: mpsoc_smmu.dtb to make it clear that we are running with IOMMU enabled?
> In the future we might want to test both configurations, especially for static partitioning use cases.

Yes, the dtb is public under
arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.1.dts in Linux.

We could rebuild it from the upstream version if we wanted but I thought
for now is more convenient to just use it as is. But I can do two simple
things to make things clearer and easier to maintain:
- export mpsoc.dtb among the artifacts, so that anyone can download
- rename it to mpsoc_smmu.dtb as you suggested

 
> > +XEN="xen"
> > +DOM0_KERNEL="Image"
> > +DOM0_RAMDISK="dom0-rootfs.cpio.gz"
> > +XEN_CMD="console=dtuart dom0_mem=1024M"
> With just "console=dtuart" we are relying on a presence of "stdout-path" under /chosen which is optional.
> I would suggest: "console=dtuart dtuart=serial0"

OK


> > +
> > +NUM_DOMUS=1
> > +DOMU_KERNEL[0]="Image"
> > +DOMU_RAMDISK[0]="domU-rootfs.cpio.gz"
> > +DOMU_MEM[0]="1024"
> > +
> > +LOAD_CMD="tftpb"
> > +UBOOT_SOURCE="boot.source"
> > +UBOOT_SCRIPT="boot.scr"' > $TFTP/config
> > +
> > +cp -f binaries/xen $TFTP/
> > +cp -f binaries/Image $TFTP/
> > +cp -f binaries/dom0-rootfs.cpio.gz $TFTP/
> > +cp -f binaries/domU-rootfs.cpio.gz $TFTP/
> > +
> > +rm -rf imagebuilder
> > +git clone https://gitlab.com/ViryaOS/imagebuilder
> > +bash imagebuilder/scripts/uboot-script-gen -t tftp -d $TFTP/ -c $TFTP/config
> > +
> > +# restart the board
> > +cd /scratch/gitlab-runner
> > +bash zcu102.sh 2
> > +sleep 5
> > +bash zcu102.sh 1
> > +sleep 5
> > +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"
> > +
> > +set -e
> > +(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
> > +exit 0
> > --
> > 2.25.1
> > 
> 
> Great job, this is awesome.

Thank you! :-)


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 23:33:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 23:33:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507154.780380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZKKI-0005as-HY; Mon, 06 Mar 2023 23:33:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507154.780380; Mon, 06 Mar 2023 23: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 1pZKKI-0005al-Cr; Mon, 06 Mar 2023 23:33:06 +0000
Received: by outflank-mailman (input) for mailman id 507154;
 Mon, 06 Mar 2023 23:33: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=Xk/k=66=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pZKKH-0005af-Ah
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 23:33:05 +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 3d045101-bc77-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 00:33:03 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 7F789B811CF;
 Mon,  6 Mar 2023 23:33:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 89F5BC433EF;
 Mon,  6 Mar 2023 23:33: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: 3d045101-bc77-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678145581;
	bh=3kCHul096AnixOzy6e3aMMZqVmUKsKICgEw5epe/Bjg=;
	h=Date:From:To:cc:Subject:From;
	b=nbhnouVwN9+er8jy+RkSs6juuNACfWwaZqdkt9hsU5Wmf+l9ygACUlSqtvBtx2c/c
	 +mju2mm3axoFXMs5S2PG4fQLOa8yVNGZpYfDQrFhxJVFsjlDLbTJTw9kil9gOCJHiv
	 XEormtSGmddbltEBOTSaDb2fWah6Ud+BzPzYeS0jzxT6EW/xRU6Og77wNjN+X5Y9k/
	 SJJqf/MrIXcegvI4IDXF6mqh280E91GjHn0zzd7X1qED9cPznj4tdRU5xfQ4rvptQ6
	 gd4cmU9yinCttROXwEhvmul5ByWAEOwNR/MShlgP45soo0vDyXWxZx8fRGt3r+ktjo
	 VlcNtL/AmTfHg==
Date: Mon, 6 Mar 2023 15:32:58 -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, cardoe@cardoe.com, michal.orzel@amd.com
Subject: [PATCH v3 0/2] automation: introduce a Xilinx hardware test
Message-ID: <alpine.DEB.2.22.394.2303061531240.863724@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi all,

This short patch series introduces the first Xen gitlab-ci test run on
real hardware: a physical Xilinx ZCU102 board.

The gitlab container is run on a workstation physically connected to a
ZCU102 board. The test script looks very similar to a regular QEMU test
script, except that at the end it reboots the physical board and
connects to the serial instead of launching QEMU.

The gitlab runner is currently restricted to
https://gitlab.com/xen-project/xen. A CI/CD variable called
"XILINX_JOBS" is set to true for https://gitlab.com/xen-project/xen, so
that we can signal the pipeline to create a xilinx job, otherwise the
job is skipped as the runner is not available.

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Mon Mar 06 23:33:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 23:33:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507155.780390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZKKU-0005tA-N4; Mon, 06 Mar 2023 23:33:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507155.780390; Mon, 06 Mar 2023 23:33: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 1pZKKU-0005t3-KL; Mon, 06 Mar 2023 23:33:18 +0000
Received: by outflank-mailman (input) for mailman id 507155;
 Mon, 06 Mar 2023 23:33: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=Xk/k=66=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pZKKS-0005af-L4
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 23:33:16 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44296f09-bc77-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 00:33:15 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 50DAC61183;
 Mon,  6 Mar 2023 23:33:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 13912C433D2;
 Mon,  6 Mar 2023 23:33: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: 44296f09-bc77-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678145593;
	bh=M+QhWGuUbzDwVJWG4MjZlhHdrqDNz+IKRDebRuiLYvE=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=JGUcZrP22a/1n9ksr5ZPhfmZILFtHTqoUKGsZC6tZIMTjkS60pYJIQak1TWe79JK8
	 xSZnSYzr0hLJycVeyiKhNsnlw0jGnuY8mgNVrp82OTy2aOewQbr8gHbi+k8K93ZR7G
	 khQP9Yk3BHFYQ/YHv5EEdwav7zpQ2wH4rDqOyfXXfHQdEdMd297Rf+8JIWzRkqj6Br
	 sohbWcp4SMrnaSiNW5CYuIuHo/9mtvlWwnCznInFYJfadW7CuNby1LTE0jHMhSXoPC
	 KF2jIl7iCQo94S9sZU6L16viT5tL8vzQ5dyMSgGWr2d4YcHj3tu54cCgGqLl8eTfIS
	 qFDt4JmrntU7w==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	cardoe@cardoe.com,
	michal.orzel@amd.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH v3 1/2] automation: add Ubuntu container for Xilinx hardware tests
Date: Mon,  6 Mar 2023 15:33:09 -0800
Message-Id: <20230306233310.1993693-1-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2303061531240.863724@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2303061531240.863724@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

This container is only run on the controller PC (x86) to trigger the
test on a connected Xilinx ZCU102 physical board.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v3:
- improve in-code comment
- add reviewed-by
---
 .../build/ubuntu/xenial-xilinx.dockerfile     | 25 +++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 automation/build/ubuntu/xenial-xilinx.dockerfile

diff --git a/automation/build/ubuntu/xenial-xilinx.dockerfile b/automation/build/ubuntu/xenial-xilinx.dockerfile
new file mode 100644
index 0000000000..5f70871352
--- /dev/null
+++ b/automation/build/ubuntu/xenial-xilinx.dockerfile
@@ -0,0 +1,25 @@
+FROM ubuntu:16.04
+LABEL maintainer.name="The Xen Project " \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+ENV USER root
+
+RUN mkdir /build
+WORKDIR /build
+
+# board bringup depends
+RUN apt-get update && \
+    apt-get --quiet --yes install \
+        snmp \
+        snmp-mibs-downloader \
+        u-boot-tools \
+        device-tree-compiler \
+        cpio \
+        git \
+        gzip \
+        file \
+        && \
+        apt-get autoremove -y && \
+        apt-get clean && \
+        rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 06 23:33:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Mar 2023 23:33:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507157.780400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZKKX-0006AP-45; Mon, 06 Mar 2023 23:33:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507157.780400; Mon, 06 Mar 2023 23: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 1pZKKX-0006AA-0d; Mon, 06 Mar 2023 23:33:21 +0000
Received: by outflank-mailman (input) for mailman id 507157;
 Mon, 06 Mar 2023 23:33:20 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Xk/k=66=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pZKKW-00069I-68
 for xen-devel@lists.xenproject.org; Mon, 06 Mar 2023 23:33:20 +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 44ed0765-bc77-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 00:33:17 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 064B9B811C6;
 Mon,  6 Mar 2023 23:33:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 14934C4339B;
 Mon,  6 Mar 2023 23:33: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: 44ed0765-bc77-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678145594;
	bh=uhzeii5n7Qy0ZyMfDNous4nsNcRWOwJZPRNM3k7M6uo=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=BA+31gx73s6hcDPRyQxLt+ODJdtzH4VusuOrN+MNmupVkbVvMB4SNLniUvl81z6bX
	 wcxU5hxYdUgmmiMjYK9jJFcy9gHYmskSmOp7H893G0wy4cdQNtOdm7Jh8gTMM7qnIK
	 tskmvRX1h6bBDNBdn5rXMgPy0vanj+KsJ/XO4DEUkgfyhSwKq5bzMS3SblzIIxL6lU
	 nQkXw2jQdNIbGKRu8D8L/OJizfUmaqLIzljJa1iK46n8jjk2yFmfwoBnVkZeDwh6QF
	 qqOp/8+gC9qvYQc5oM5tl1kF1WzkOIRxh+ZoHnYsmFuE9vlnibQ0AKuaJImk0Dp3cq
	 7SkSMdQ1dIOEg==
From: Stefano Stabellini <sstabellini@kernel.org>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	cardoe@cardoe.com,
	michal.orzel@amd.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: [PATCH v3 2/2] automation: introduce a dom0less test run on Xilinx hardware
Date: Mon,  6 Mar 2023 15:33:10 -0800
Message-Id: <20230306233310.1993693-2-sstabellini@kernel.org>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <alpine.DEB.2.22.394.2303061531240.863724@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2303061531240.863724@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Stefano Stabellini <stefano.stabellini@amd.com>

The test prepares dom0 and domU binaries and boot artifacts, similarly
to the existing QEMU test. (TBD: share preparation steps with the
regular QEMU tests.)

However, instead of running the test inside QEMU as usual, it copies
the binaries to the tftp server root, triggers a Xilinx ZCU102 board
reboot, and connects to the real serial of the board.

For now and due to its novelty, allow_failure on the Xilinx hardware
test, and only run the job on protected branches with XILINX_JOBS set to
true (the "master" and "staging" on gitlab.com/xen-project/xen qualify).

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v3:
- use a template to make it easier to create other xilinx jobs
- export dtbs as artifacts
- use 0x7ff00000 as MEMORY_END
- rename mpsoc.dtb to mpsoc_smmu.dtb
- add dtuart=serial0 to XEN_CMD
- stop the board after usage to save power

Changes in v2:
- only execute the xilinx job on protected branches with XILINX_JOBS set
to true
---
 automation/gitlab-ci/test.yaml                |  26 ++++
 .../scripts/xilinx-smoke-dom0less-arm64.sh    | 122 ++++++++++++++++++
 2 files changed, 148 insertions(+)
 create mode 100755 automation/scripts/xilinx-smoke-dom0less-arm64.sh

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 1c5f400b68..61491cf2d6 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -67,6 +67,24 @@
   tags:
     - x86_64
 
+.xilinx-arm64:
+  extends: .test-jobs-common
+  variables:
+    CONTAINER: ubuntu:xenial-xilinx
+    LOGFILE: qemu-smoke-xilinx.log
+  artifacts:
+    paths:
+      - smoke.serial
+      - '*.log'
+      - '*.dtb'
+    when: always
+  allow_failure: true
+  only:
+    variables:
+      - $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
+  tags:
+    - xilinx
+
 # Test jobs
 build-each-commit-gcc:
   extends: .test-jobs-common
@@ -85,6 +103,14 @@ build-each-commit-gcc:
   tags:
     - x86_64
 
+xilinx-smoke-dom0less-arm64-gcc:
+  extends: .xilinx-arm64
+  script:
+    - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
+  needs:
+    - *arm64-test-needs
+    - alpine-3.12-gcc-arm64
+
 qemu-smoke-dom0-arm64-gcc:
   extends: .qemu-arm64
   script:
diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
new file mode 100755
index 0000000000..82158ab7ea
--- /dev/null
+++ b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
@@ -0,0 +1,122 @@
+#!/bin/bash
+
+set -ex
+
+test_variant=$1
+
+if [ -z "${test_variant}" ]; then
+    passed="ping test passed"
+    domU_check="
+until ifconfig eth0 192.168.0.2 &> /dev/null && ping -c 10 192.168.0.1; do
+    sleep 30
+done
+echo \"${passed}\"
+"
+fi
+
+# DomU
+mkdir -p rootfs
+cd rootfs
+tar xzf ../binaries/initrd.tar.gz
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+echo "#!/bin/sh
+
+${domU_check}
+/bin/sh" > etc/local.d/xen.start
+chmod +x etc/local.d/xen.start
+echo "rc_verbose=yes" >> etc/rc.conf
+find . | cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz
+cd ..
+rm -rf rootfs
+
+# DOM0 rootfs
+mkdir -p rootfs
+cd rootfs
+tar xzf ../binaries/initrd.tar.gz
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+cp -ar ../binaries/dist/install/* .
+
+echo "#!/bin/bash
+
+export LD_LIBRARY_PATH=/usr/local/lib
+bash /etc/init.d/xencommons start
+
+/usr/local/lib/xen/bin/init-dom0less
+
+brctl addbr xenbr0
+brctl addif xenbr0 eth0
+ifconfig eth0 up
+ifconfig xenbr0 up
+ifconfig xenbr0 192.168.0.1
+
+xl network-attach 1 type=vif
+${dom0_check}
+" > etc/local.d/xen.start
+chmod +x etc/local.d/xen.start
+echo "rc_verbose=yes" >> etc/rc.conf
+find . | cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
+cd ..
+
+
+TFTP=/scratch/gitlab-runner/tftp
+START=`pwd`
+
+# ImageBuilder
+echo 'MEMORY_START="0"
+MEMORY_END="0x7ff00000"
+
+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"
+
+NUM_DOMUS=1
+DOMU_KERNEL[0]="Image"
+DOMU_RAMDISK[0]="domU-rootfs.cpio.gz"
+DOMU_MEM[0]="1024"
+
+LOAD_CMD="tftpb"
+UBOOT_SOURCE="boot.source"
+UBOOT_SCRIPT="boot.scr"' > $TFTP/config
+
+cp -f binaries/xen $TFTP/
+cp -f binaries/Image $TFTP/
+cp -f binaries/dom0-rootfs.cpio.gz $TFTP/
+cp -f binaries/domU-rootfs.cpio.gz $TFTP/
+# export dtb to artifacts
+cp $TFTP/mpsoc_smmu.dtb .
+
+rm -rf imagebuilder
+git clone https://gitlab.com/ViryaOS/imagebuilder
+bash imagebuilder/scripts/uboot-script-gen -t tftp -d $TFTP/ -c $TFTP/config
+
+# restart the board
+cd /scratch/gitlab-runner
+bash zcu102.sh 2
+sleep 5
+bash zcu102.sh 1
+sleep 5
+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"
+
+# stop the board
+cd /scratch/gitlab-runner
+bash zcu102.sh 2
+cd $START
+
+set -e
+(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
+exit 0
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 00:13:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 00:13:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507177.780425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZKxg-0003ta-5Q; Tue, 07 Mar 2023 00:13:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507177.780425; Tue, 07 Mar 2023 00:13: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 1pZKxg-0003tT-2P; Tue, 07 Mar 2023 00:13:48 +0000
Received: by outflank-mailman (input) for mailman id 507177;
 Tue, 07 Mar 2023 00:13: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 1pZKxf-0003tJ-4l; Tue, 07 Mar 2023 00:13: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 1pZKxf-0006Fl-3B; Tue, 07 Mar 2023 00:13: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 1pZKxe-0007F1-Qy; Tue, 07 Mar 2023 00:13:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZKxe-0002cf-QX; Tue, 07 Mar 2023 00:13: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=EHbKaTz8Oqj0GJLSX/NEAHuzudR08p9jEdQgZRhNmyE=; b=dJzwbhCvfKmLNpbepqPerLenYY
	aj8G6krC+9taoDrj0zwY++mPY4VpAgH1wOmhVvqi1I3kft3Kbop8KhgyXIB6mw6BUjwDNvRqXXXso
	StEGdLyff7+ZSO6sOQMXZDmSFZSBgRs/q4RD8AbO+Ue4hEGuLiRBwUEMSnQdY4wRCAXU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179392-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179392: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install: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-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-amd64-libvirt-vhd:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start: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-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=31270f11a96ebb875cd70661e2df9e5c6edd7564
X-Osstest-Versions-That:
    xen=380a8c0c65bfb84dab54ab4641cca1387cc41edb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Mar 2023 00:13:46 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 179435-retest
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail pass in 179435-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 179435 like 179344
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179344
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179344
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179344
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179344
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat    fail  like 179344
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179344
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179344
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179344
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179344
 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-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          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-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  31270f11a96ebb875cd70661e2df9e5c6edd7564
baseline version:
 xen                  380a8c0c65bfb84dab54ab4641cca1387cc41edb

Last test of basis   179344  2023-03-06 01:52:05 Z    0 days
Testing same since   179392  2023-03-06 12:39:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Luca Fancellu <luca.fancellu@arm.com>
  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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 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
   380a8c0c65..31270f11a9  31270f11a96ebb875cd70661e2df9e5c6edd7564 -> master


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 02:44:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 02:44:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507194.780439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZNIx-0001rK-6m; Tue, 07 Mar 2023 02:43:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507194.780439; Tue, 07 Mar 2023 02:43: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 1pZNIx-0001r4-1X; Tue, 07 Mar 2023 02:43:55 +0000
Received: by outflank-mailman (input) for mailman id 507194;
 Tue, 07 Mar 2023 02:43: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=NRYl=67=linaro.org=richard.henderson@srs-se1.protection.inumbo.net>)
 id 1pZNIv-0001qy-Tp
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 02:43:53 +0000
Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com
 [2607:f8b0:4864:20::102f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e315cd8f-bc91-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 03:43:50 +0100 (CET)
Received: by mail-pj1-x102f.google.com with SMTP id
 h17-20020a17090aea9100b0023739b10792so10629225pjz.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Mar 2023 18:43:49 -0800 (PST)
Received: from ?IPV6:2602:ae:154a:9f01:b1e0:bfd9:8b1a:efeb?
 ([2602:ae:154a:9f01:b1e0:bfd9:8b1a:efeb])
 by smtp.gmail.com with ESMTPSA id
 li11-20020a170903294b00b0017a032d7ae4sm7360964plb.104.2023.03.06.18.43.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Mar 2023 18:43: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: e315cd8f-bc91-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678157028;
        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=TZZUerayr4Vwu+mLpbm9993BkKWAeLPQd3Hs8A+YpLQ=;
        b=GJPBc3z+jhZ0HwjeNXwiWdLykxv/heTtof0JnXRPLTjNLt7XoK4QATdgNl+zC+uYER
         10d0xOLQbQ5tKYoDbIepka+6YTmlOUZmsOSvE70UNfF3w9HogCJB7jX1p7RTdlmoYAfV
         JPY7PUgR2Wlg1G7tB4aycGrixENBPBoSczpL3n5ygJXhOGdt0hO2g+lGwFfljuixSS0L
         MJPHza/Fg/HF+l4hSqLwluZc/FJxCAJaiegNxwZntC0CHWeeXnLOvth8uFAOaT2d8fta
         bCGTwmswBAEx6jDFOnheZ5bo6qC0nc8ABG1jflBxDQb5iGqPx1QACgdrDd/l/2Vtkp5n
         KjsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678157028;
        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=TZZUerayr4Vwu+mLpbm9993BkKWAeLPQd3Hs8A+YpLQ=;
        b=37xJ1qOff/rUVDMRHa3OWeB8dkyY+c6rqHEsYyCJdIbe19QT+sRkr7Navm9PJP7hBJ
         92t/By/FAONFkQ/L9b1WmeL3g3hcUnjgxU0Xb4/I8pToZE5QlfQE190FP4LgPy3161fT
         tPfTFsabGTQH7i/Dz6O2q5IvpwfbC2MNpQ0X72EuAY2tjDxcQLX4Mnj1OdfyuUkRK0aV
         /QcxchhqXoQLYzWytZj4QDc7pciq+ceBsnp5WtIio/zXHFO+oCZsSlRJGgtaTgrj0taP
         A/1et1n5EWyOe0kZBfMH7iG9HDl3SALfSzOWVsH7U2OpaC/DZS9WScrphQujHKjB68oo
         NIzg==
X-Gm-Message-State: AO0yUKUgxCyaN02VIkM1If/2a+yh/mEfVGuu8ckSKDW5mYq0HkJk0X3O
	sovkM/m/inwfDINWVtSQ5cVj2w==
X-Google-Smtp-Source: AK7set8T2iiJsAa1B9KEmbNwjnC1t3/UPR2fiiOhp2gcxJV18BX8m8me8ijn0RPS48CAkLqh08YiJw==
X-Received: by 2002:a17:902:d2c9:b0:19a:7d0e:ceea with SMTP id n9-20020a170902d2c900b0019a7d0eceeamr14474139plc.25.1678157027766;
        Mon, 06 Mar 2023 18:43:47 -0800 (PST)
Message-ID: <861d7a45-734e-8115-ec57-7d0629fa36a1@linaro.org>
Date: Mon, 6 Mar 2023 18:43:45 -0800
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [PATCH v4 4/5] docs/about/deprecated: Deprecate 32-bit arm hosts
 for system emulation
Content-Language: en-US
To: Thomas Huth <thuth@redhat.com>, qemu-devel@nongnu.org,
 Peter Maydell <peter.maydell@linaro.org>,
 Daniel Berrange <berrange@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
 =?UTF-8?Q?Alex_Benn=c3=a9e?= <alex.bennee@linaro.org>, qemu-arm@nongnu.org,
 Maxim Levitsky <mlevitsk@redhat.com>, libvir-list@redhat.com,
 xen-devel@lists.xenproject.org, Reinoud Zandijk <reinoud@netbsd.org>,
 Wilfred Mallawa <wilfred.mallawa@wdc.com>,
 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
References: <20230306084658.29709-1-thuth@redhat.com>
 <20230306084658.29709-5-thuth@redhat.com>
From: Richard Henderson <richard.henderson@linaro.org>
In-Reply-To: <20230306084658.29709-5-thuth@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 3/6/23 00:46, Thomas Huth wrote:
> +continuous to be supported on 32-bit arm hosts, too)

"continues"

Acked-by: Richard Henderson <richard.henderson@linaro.org>


r~


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 05:44:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 05:44:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507202.780449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZQ72-0005h0-Ux; Tue, 07 Mar 2023 05:43:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507202.780449; Tue, 07 Mar 2023 05: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 1pZQ72-0005gt-SB; Tue, 07 Mar 2023 05:43:48 +0000
Received: by outflank-mailman (input) for mailman id 507202;
 Tue, 07 Mar 2023 05: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=g8Ij=67=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1pZQ70-0005gn-S9
 for xen-devel@lists.xen.org; Tue, 07 Mar 2023 05:43:47 +0000
Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com
 [2607:f8b0:4864:20::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0357a4e1-bcab-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 06:43:45 +0100 (CET)
Received: by mail-pl1-x62c.google.com with SMTP id p20so12906727plw.13
 for <xen-devel@lists.xen.org>; Mon, 06 Mar 2023 21:43:41 -0800 (PST)
Received: from localhost ([122.172.83.155]) by smtp.gmail.com with ESMTPSA id
 s9-20020aa78d49000000b00593baab06dcsm7141652pfe.198.2023.03.06.21.43.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Mar 2023 21:43: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: 0357a4e1-bcab-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678167819;
        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=JyZwio1/+xEWEzxkU6lojpUS2ztMZWUFHUjMcU1o9Ac=;
        b=o16eilWBr6zovjyWBhZARYVUNpNVmCZ957WBaB90uj7v0ijWyRBXmC7axWu8HUZPyg
         KqtIzrubb7yLJoVYDDZjm8XSUkAGsxsVMF9j0TaooAIhC06dzpsknR7pU+ntUYNBPIYT
         L7y1UFhH7xiji8e84ojd1iOgzmq/UBxzbkvGoVJ+KKxlHycKVg9CHQ1yapCkzDtiCZXd
         furkDTqHtAcgVuaERH1QSL3vMTrnJZHGg9Rl4Gf9Vz1r5GnKsMD0qQf1lZAVUWBPkp7l
         WKFe79gq/A1iq09ibizZAB9etxoUb6KR8vArQ+xrG08rqo9LuI4R39iZlL6K/d//KcJj
         fk0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678167819;
        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=JyZwio1/+xEWEzxkU6lojpUS2ztMZWUFHUjMcU1o9Ac=;
        b=VsyHUktcrsLlkTFhr12YwsiE9dDckGQ+vRed6UyeiF+Bw2XCd7aED7mYVQ2W+Fknj4
         WYsDDDhhOADWgNThDYmimnR+HA3gHCKUtP9brdq1a+BuBYH1SdsoyHWpGM7gxMeMYFQ1
         Y2nOQnxaDtn7EfVonI9iIs6Q3D5dkmJgJSK8KVQJFTDb1JcDkINEviAvVxoZy+b8TWYZ
         B6avz6EpVq9mmrC5T/uBjK7omikC1EuH/UtNs9sqKXWbYCm1sgMERNpAUHzxdMPEbBZJ
         ZIkzBNxnhkvjNMglVlQ+n8YT3Lu/Yl6pEKqUAiMdqube7bNeO83sMv6mDQlK+opNbFjI
         ULwg==
X-Gm-Message-State: AO0yUKW0CFQaWsuRaguhjUMbhWMlglCDkyeLwjbhjrFEP7fgcJtBzw+Y
	6/bHstjE1Mq3PFjqgxSY9Ct9OA==
X-Google-Smtp-Source: AK7set89vFW4+ayrW7cytv4tRdqoqnfUXD2/9IyuD77nfB09OVscnz1hGiNeFSav+nWeZHFOSm9Lqg==
X-Received: by 2002:a05:6a20:7d88:b0:cc:a5d6:4471 with SMTP id v8-20020a056a207d8800b000cca5d64471mr17965217pzj.58.1678167819311;
        Mon, 06 Mar 2023 21:43:39 -0800 (PST)
Date: Tue, 7 Mar 2023 11:13:36 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH V2] docs: vhost-user: Add Xen specific memory mapping
 support
Message-ID: <20230307054336.uvky5d7q2qqlxdcv@vireshk-i7>
References: <7c3c120bcf2cf023e873800fd3f55239dd302e38.1678100850.git.viresh.kumar@linaro.org>
 <20230306153451.GB51288@fedora>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230306153451.GB51288@fedora>

On 06-03-23, 10:34, Stefan Hajnoczi wrote:
> On Mon, Mar 06, 2023 at 04:40:24PM +0530, Viresh Kumar wrote:
> > +Xen mmap description
> > +^^^^^^^^^^^^^^^^^^^^
> > +
> > ++-------+-------+
> > +| flags | domid |
> > ++-------+-------+
> > +
> > +:flags: 64-bit bit field
> > +
> > +- Bit 0 is set for Xen foreign memory memory mapping.
> > +- Bit 1 is set for Xen grant memory memory mapping.
> > +- Bit 2 is set if the back-end can directly map additional memory (like
> > +  descriptor buffers or indirect descriptors, which aren't part of already
> > +  shared memory regions) without the need of front-end sending an additional
> > +  memory region first.
> 
> I don't understand what Bit 2 does. Can you rephrase this? It's unclear
> to me how additional memory can be mapped without a memory region
> (especially the fd) is sent?

I (somehow) assumed we will be able to use the same file descriptor
that was shared for the virtqueues memory regions and yes I can see
now why it wouldn't work or create problems.

And I need suggestion now on how to make this work.

With Xen grants, the front end receives grant address from the from
guest kernel, they aren't physical addresses, kind of IOMMU stuff.

The back-end gets access for memory regions of the virtqueues alone
initially.  When the back-end gets a request, it reads the descriptor
and finds the buffer address, which isn't part of already shared
regions. The same happens for descriptor addresses in case indirect
descriptor feature is negotiated.

At this point I was thinking maybe the back-end can simply call the
mmap/ioctl to map the memory, using the file descriptor used for the
virtqueues.

How else can we make this work ? We also need to unmap/remove the
memory region, as soon as the buffer is processed as the grant address
won't be relevant for any subsequent request.

Should I use VHOST_USER_IOTLB_MSG for this ? I did look at it and I
wasn't convinced if it was an exact fit. For example it says that a
memory address reported with miss/access fail should be part of an
already sent memory region, which isn't the case here.

> This message modifies the behavior of subsequent
> VHOST_USER_SET_MEM_TABLE and VHOST_USER_ADD_MEM_REG messages. The memory
> region structs can be extended and then VHOST_USER_SET_XEN_MMAP isn't
> needed.
> 
> In other words:
> 
>   When VHOST_USER_PROTOCOL_F_XEN_MMAP is negotiated, each "Memory
>   regions description" and "Single memory region description" has the
>   following additional fields appended:
> 
>   +----------------+-------+
>   | xen_mmap_flags | domid |
>   +----------------+-------+

This looks fine.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 06:32:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 06:32:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507205.780459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZQs2-00033V-F8; Tue, 07 Mar 2023 06:32:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507205.780459; Tue, 07 Mar 2023 06:32:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZQs2-00033O-CQ; Tue, 07 Mar 2023 06:32:22 +0000
Received: by outflank-mailman (input) for mailman id 507205;
 Tue, 07 Mar 2023 06:32: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=JVyd=67=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZQs1-00033H-24
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 06:32:21 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ce776d53-bcb1-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 07:32: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 874441F8B2;
 Tue,  7 Mar 2023 06:32: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 39F7013440;
 Tue,  7 Mar 2023 06:32:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ePzJDHHaBmSgWQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Mar 2023 06:32:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ce776d53-bcb1-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678170737; 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=P4X0rizAn2tmZd0YquP4ywdWqVXsZ5Fyd+f3Q1uuEFE=;
	b=SsGKnzLrQsn59Cs0Edi7164XCKWEJ3uVOH70wvoXr9TcaonjpFUJ0kr3YfUlj4fkntVuuu
	RWoOatgVZGAx4fmP5H9JP3VvuwSl9kJgi8DmhBlmoWBuJC8zANEFObIg4VL6S+FY2Hclfs
	wSAHYvQz7V43eoKzkRzahFJiDuQqysk=
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 0/2] xen: some CONFIG_DEBUG_INFO changes
Date: Tue,  7 Mar 2023 07:32:12 +0100
Message-Id: <20230307063214.30569-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Enabling crash dump analysis of the hypervisor requires the hypervisor
having been built with CONFIG_DEBUG_INFO enabled. Today this requires
either CONFIG_DEBUG or CONFIG_EXPERT set, which are both not security
supported.

This small series changes that in order to allow security supported
Xen builds with the capability to do crash dump analysis via the
"crash" tool.

Juergen Gross (2):
  xen: move CONFIG_DEBUG_INFO out of EXPERT section
  xen: update CONFIG_DEBUG_INFO help text

 xen/Kconfig.debug | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 06:32:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 06:32:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507206.780468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZQs6-0003Is-MT; Tue, 07 Mar 2023 06:32:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507206.780468; Tue, 07 Mar 2023 06:32:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZQs6-0003Il-Je; Tue, 07 Mar 2023 06:32:26 +0000
Received: by outflank-mailman (input) for mailman id 507206;
 Tue, 07 Mar 2023 06:32: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=JVyd=67=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZQs5-00033H-5e
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 06:32:25 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d1c04761-bcb1-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 07:32: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 2B04E1FE0C;
 Tue,  7 Mar 2023 06:32: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 E27E813440;
 Tue,  7 Mar 2023 06:32:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id RnIINnbaBmSuWQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Mar 2023 06:32: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: d1c04761-bcb1-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678170743; 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=vPgjXrNLvgzUHqKwlkvV6+Y9at3ZjxhnLYmXdQafiRA=;
	b=Dn9/0C4fXmGeaorjgKHh4hH5Mf/St3fpsVufrFqico0iefQ7BOQzHnJ7tNyFlAak7qk22F
	1/GEulRvXcPQOPIBXe+wK4MJjfw1Er9T0v+QGHSJBOdmro55F7Xy9fvrqA4lttSvprkHPv
	lUaOXrEXt0pncBTKJ+xhl2APFtqrLl8=
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 1/2] xen: move CONFIG_DEBUG_INFO out of EXPERT section
Date: Tue,  7 Mar 2023 07:32:13 +0100
Message-Id: <20230307063214.30569-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230307063214.30569-1-jgross@suse.com>
References: <20230307063214.30569-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to support hypervisor analysis of crash dumps, xen-syms needs
to contain debug_info. It should be allowed to configure the hypervisor
to be built with CONFIG_DEBUG_INFO in non-debug builds without having
to enable EXPERT.

Using a rather oldish gcc (7.5) it was verified that code generation
doesn't really differ between CONFIG_DEBUG_INFO on or off without
CONFIG_DEBUG being set (only observed differences were slightly
different symbol addresses, verified via "objdump -d"). The old gcc
version selection was based on the assumption, that newer gcc won't
regress in this regard.

So move CONFIG_DEBUG_INFO out of the section guarded by EXPERT.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/Kconfig.debug | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index fad3050d4f..a2691f4239 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -11,6 +11,13 @@ config DEBUG
 
 	  You probably want to say 'N' here.
 
+config DEBUG_INFO
+	bool "Compile Xen with debug info"
+	default DEBUG
+	---help---
+	  If you say Y here the resulting Xen will include debugging info
+	  resulting in a larger binary image.
+
 if DEBUG || EXPERT
 
 config CRASH_DEBUG
@@ -28,13 +35,6 @@ config GDBSX
 	  If you want to enable support for debugging guests from dom0 via
 	  gdbsx then say Y.
 
-config DEBUG_INFO
-	bool "Compile Xen with debug info"
-	default y
-	---help---
-	  If you say Y here the resulting Xen will include debugging info
-	  resulting in a larger binary image.
-
 config FRAME_POINTER
 	bool "Compile Xen with frame pointers"
 	default DEBUG
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 06:32:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 06:32:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507207.780479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZQsB-0003bW-V0; Tue, 07 Mar 2023 06:32:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507207.780479; Tue, 07 Mar 2023 06:32: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 1pZQsB-0003bN-Rt; Tue, 07 Mar 2023 06:32:31 +0000
Received: by outflank-mailman (input) for mailman id 507207;
 Tue, 07 Mar 2023 06:32: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=JVyd=67=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZQsA-0003aF-Kh
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 06:32:30 +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 d5179822-bcb1-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 07:32: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 C56E71FE0C;
 Tue,  7 Mar 2023 06:32: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 890A013440;
 Tue,  7 Mar 2023 06:32:28 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 3N0nIHzaBmS+WQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Mar 2023 06:32:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5179822-bcb1-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678170748; 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=JQeQBjgXognDwpHsaZ/AdZba+6tFL2v6oNaCRwJ1TnI=;
	b=D8+8v5bkh08q2MmzoZcAi3hf8xMrj6fm5p9kVA2yYHMDS7xSLVjAFD5NN7OIH++y03KK31
	eDDc05NFACfU5fXQzHYwjGOZXgiktwOfWsiMJaoXWQeJ4jbUuaI9/78VCtIIWw4wxJ+DTZ
	kEKImUQgJXJAObpnaUrfrlg+C1R56qg=
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 2/2] xen: update CONFIG_DEBUG_INFO help text
Date: Tue,  7 Mar 2023 07:32:14 +0100
Message-Id: <20230307063214.30569-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230307063214.30569-1-jgross@suse.com>
References: <20230307063214.30569-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update the help text of the CONFIG_DEBUG_INFO option to be a little
bit more specific.

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

diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index a2691f4239..20c73ee55a 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -15,8 +15,11 @@ config DEBUG_INFO
 	bool "Compile Xen with debug info"
 	default DEBUG
 	---help---
-	  If you say Y here the resulting Xen will include debugging info
-	  resulting in a larger binary image.
+	  Say Y here if you want to build Xen with debug information. This
+	  information is needed e.g. for doing crash dump analysis of the
+	  hypervisor via the "crash" tool.
+	  Saying Y will increase the size of xen-syms and the built EFI
+	  binary.
 
 if DEBUG || EXPERT
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 06:40:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 06:40:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507214.780489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZQzu-0005jU-Or; Tue, 07 Mar 2023 06:40:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507214.780489; Tue, 07 Mar 2023 06:40:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZQzu-0005jN-M0; Tue, 07 Mar 2023 06:40:30 +0000
Received: by outflank-mailman (input) for mailman id 507214;
 Tue, 07 Mar 2023 06:40:29 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pZQzt-0005jB-FC; Tue, 07 Mar 2023 06:40:29 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pZQzt-0005mp-BO; Tue, 07 Mar 2023 06:40:29 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pZQzs-00075X-Tk; Tue, 07 Mar 2023 06:40:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZQzs-0001CM-TD; Tue, 07 Mar 2023 06:40:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=By5Bfj0c0IttZ0Dl75AVFKb3hFXwq9d+z9GarSCN0h0=; b=cVc85dz5NNS0qL6ps+W9izZVDj
	lPesfmbcQn+b7Rcn9rUn3N1IgSMtZs4rxV2qhUFn1/59M/6959vpHIiKI3hkHJTkpG7va47wh8JPk
	aXP5QMrluzta3OMpIiynpcE+yIlYD3Exx3fG+4fxXMhKC9SOz6PuqWn1GPh+jKfc7EfU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179417-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179417: regressions - trouble: broken/fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-coresched-amd64-xl:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:host-install(5):broken:heisenbug
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore.2:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2: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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=fe15c26ee26efa11741a7b632e9f23b01aca4cc6
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Mar 2023 06:40:28 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-coresched-amd64-xl    <job status>                 broken
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-pair 27 guest-migrate/dst_host/src_host fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 17 guest-localmigrate fail in 179339 REGR. vs. 178042
 test-amd64-amd64-xl-shadow 19 guest-saverestore.2 fail in 179339 REGR. vs. 178042
 test-arm64-arm64-xl-credit1  17 guest-stop     fail in 179339 REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 179339 REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 179339 REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 18 guest-start/debian.repeat fail in 179339 REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 19 guest-saverestore.2 fail in 179372 REGR. vs. 178042
 test-amd64-coresched-amd64-xl 17 guest-saverestore fail in 179372 REGR. vs. 178042
 test-arm64-arm64-xl-xsm      17 guest-stop     fail in 179372 REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop     fail in 179372 REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 18 guest-start/debianhvm.repeat fail in 179372 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-coresched-amd64-xl  5 host-install(5)         broken pass in 179372
 test-amd64-coresched-amd64-xl 14 guest-start     fail in 179339 pass in 179372
 test-amd64-amd64-xl-credit1 18 guest-localmigrate fail in 179339 pass in 179417
 test-amd64-amd64-pair      25 guest-start/debian fail in 179339 pass in 179417
 test-amd64-amd64-xl-rtds    17 guest-saverestore fail in 179339 pass in 179417
 test-amd64-amd64-xl-credit2 19 guest-saverestore.2 fail in 179339 pass in 179417
 test-arm64-arm64-xl-thunderx 14 guest-start      fail in 179339 pass in 179417
 test-amd64-amd64-xl-credit1 19 guest-saverestore.2 fail in 179372 pass in 179417
 test-amd64-amd64-xl-credit2 17 guest-saverestore fail in 179372 pass in 179417
 test-amd64-amd64-freebsd12-amd64 13 guest-start            fail pass in 179339
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail pass in 179339
 test-arm64-arm64-libvirt-xsm 14 guest-start                fail pass in 179339
 test-amd64-amd64-xl-multivcpu 18 guest-localmigrate        fail pass in 179372
 test-amd64-amd64-xl-shadow   14 guest-start                fail pass in 179372
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 16 guest-localmigrate fail pass in 179372
 test-arm64-arm64-xl-credit1  14 guest-start                fail pass in 179372
 test-arm64-arm64-xl-xsm      14 guest-start                fail pass in 179372
 test-arm64-arm64-xl-credit2  14 guest-start                fail pass in 179372
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail pass in 179372

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

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1 15 migrate-support-check fail in 179339 never pass
 test-arm64-arm64-xl-credit1 16 saverestore-support-check fail in 179339 never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 179339 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 179339 never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail in 179372 never pass
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 179372 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 179372 never pass
 test-arm64-arm64-xl-credit2 15 migrate-support-check fail in 179372 never pass
 test-arm64-arm64-xl-credit2 16 saverestore-support-check fail in 179372 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                fe15c26ee26efa11741a7b632e9f23b01aca4cc6
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   13 days
Failing since        178093  2023-02-22 05:02:47 Z   13 days   27 attempts
Testing same since   179339  2023-03-06 00:44:03 Z    1 days    3 attempts

------------------------------------------------------------
2047 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                broken  
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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-coresched-amd64-xl broken
broken-step test-amd64-coresched-amd64-xl host-install(5)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 07:45:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 07:45:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507225.780499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZS0P-0004Tn-LL; Tue, 07 Mar 2023 07:45:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507225.780499; Tue, 07 Mar 2023 07:45: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 1pZS0P-0004Tg-HV; Tue, 07 Mar 2023 07:45:05 +0000
Received: by outflank-mailman (input) for mailman id 507225;
 Tue, 07 Mar 2023 07:45: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=Qpp6=67=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pZS0O-0004Ta-1L
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 07:45:04 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20603.outbound.protection.outlook.com
 [2a01:111:f400:7eab::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4741325-bcbb-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 08:44:57 +0100 (CET)
Received: from MW4P223CA0027.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::32)
 by MN6PR12MB8516.namprd12.prod.outlook.com (2603:10b6:208:46f::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Tue, 7 Mar
 2023 07:44:52 +0000
Received: from CO1NAM11FT031.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:80:cafe::a8) by MW4P223CA0027.outlook.office365.com
 (2603:10b6:303:80::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28 via Frontend
 Transport; Tue, 7 Mar 2023 07:44:51 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT031.mail.protection.outlook.com (10.13.174.118) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.16 via Frontend Transport; Tue, 7 Mar 2023 07:44: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.2375.34; Tue, 7 Mar
 2023 01:44:50 -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.2375.34; Mon, 6 Mar
 2023 23:44:50 -0800
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 7 Mar 2023 01:44: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: f4741325-bcbb-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jpgr+5OcLgl49FuFu18aMj1F/RfalqRnjgzCc3QX3NKbKOiw9BMURV34npGPX7lfo+vhOELFmySAjNerxdQnXii6UrsdDq45I0jpapTHAwSALp/AQrhcLj7HcMgREilL132SdpDByt00wbpSiM1UPdRYMehFB5AKin8PgfyOYch+5J4qgX4VE6JUbs9sqDp+ip7n7QxHw02px+azkzACJCa2HtF1GuIe83KOfW0pGA7UwzLBjhJttqK1R5b10962S3QAsmecmwM0SqInH+ECOMtB1IQNk/MPE6Kn/hZPU898n/qucmrcrW2eNdOPCe7116FQDxr0QEnW2hAm9GkELQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ztUOjWmGbhgJmeyq1igx4loYPycHIc4P3v6JKMlyfso=;
 b=BbZMe7BOOwAn3P62pU3H7pNu+dIhN5u6T+eOfK/qfEXFA5TdE1hrbjhPjERF7HoklAqaOR+t3UarCAmB/kPGVpSo0nDOJr+AV571skH3KOcQ74r606qqlws1ww6TAZcUSyi5WUNnvDuPkFycaMeIfmLKOiu/TdvSups/9Edk+H0rA6zhyTOrbEOtWMkuE1h6Mm/KLni8h3YR5J1BuBnqStKL3ANF0YAw1iH0JxH47pjus2XYOrUVdHKt2UQ5YxWEBE6KooMcxnXScd0714cR5jEibtAXvFnmrLF/et8r4GpOcT2F7ZTUk0zXIuQZ0OCEVv3DwuWSYNG1j7ao/w+DOg==
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
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=ztUOjWmGbhgJmeyq1igx4loYPycHIc4P3v6JKMlyfso=;
 b=CCRxyFrlwSHCamrsxHD0wvFqg4c/9oQemoJh7Eo6JEtTmRMP+C3w4UBWb5vIzmPPh6dpRPwqBC6nmJ99iH/NwLleH4dJ0AgX/tKOHOZS7CRSkW2szToSRTVMoRbTee2/GXM/VSSJpEnyIum/EpVSRfnulOC2xdtJ4KNe6sgmNuk=
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: <805be02d-54ec-62e4-02ab-144b9be56880@amd.com>
Date: Tue, 7 Mar 2023 08:44:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 2/2] automation: introduce a dom0less test run on
 Xilinx hardware
To: Stefano Stabellini <sstabellini@kernel.org>,
	<xen-devel@lists.xenproject.org>
CC: <cardoe@cardoe.com>, Stefano Stabellini <stefano.stabellini@amd.com>
References: <alpine.DEB.2.22.394.2303061531240.863724@ubuntu-linux-20-04-desktop>
 <20230306233310.1993693-2-sstabellini@kernel.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230306233310.1993693-2-sstabellini@kernel.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT031:EE_|MN6PR12MB8516:EE_
X-MS-Office365-Filtering-Correlation-Id: 82d8a84d-d8db-40a2-88b6-08db1edfd5ea
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vYMeursgIblYr1f05giBeil8rCk1StTIuQRhDSBwfpdcg+1yq5H61RCu2sHzs8DEFjCmr6QJs/ekQ/1EDMDfJbcIiam3lgb6fccqmMP889H/lAM4F9qf7caXkIStfGHutMhEhfnVnhsKUPqnw45rqrMKrFq68nS3kovV4i80cesJ/w1k5jiN54OSM90ntWgSSoPwYLe+KTSP1uvkysNDZmmh+x9ge1XWYBWAeGkVUbwQ6FYipiQz4rLKjO00MrpeElcFO9SCqamNxv+29FlVpHGZ4KB4SPmsMnCwhq2OuRYit9WKPhHOV/0i4vtNWpTxc5f61XUH7wphzHTrFMe9v13rIAB09/QtdPMB1Gpyl5RX1zbAzIHk2O0AZY1jE9MzqZ4b+ALWO3mKDTlSF+j7hsnyuKmoeVUSGC5SvQ6X8yj6zL2nW0nhClV1jZdkWt/VYxXPqaaaM8uiOJDFXxSX5C3FjGnm4uZuMZTmAj7FPuhzEltsavNpgqNW5sZKHFvJgam8WunP7IkvycMF8MPhG39uMNl/mJXDVg9UJ4GeFDWrupuJbM+V93LPXJblkGhvi/pEUJynBicyJgYxKUppRnmvvxKqUK2/37wHjWAvtVeQelZJyRhIy7ZxBmKBrQK6vvsvlpNk5uUvMhvxxcmo/K4ysnpA7UQpLIr33/kLwPw2X9S8PfsZHyKnevtiIZa/lGxnkXM/LK+BkdgWSIFyXku+eoq9/6ZaVWbDKFFGVjYautRY36I+tyIc7FHXG0oe57fZpcOA4IHo8kBkrq/P74i36NkUMVmq4Nr3QuIESnc=
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:(13230025)(4636009)(396003)(346002)(39860400002)(376002)(136003)(451199018)(46966006)(36840700001)(40470700004)(36756003)(40460700003)(40480700001)(82740400003)(53546011)(336012)(2616005)(26005)(186003)(110136005)(16576012)(54906003)(41300700001)(8676002)(4326008)(4744005)(70206006)(70586007)(44832011)(316002)(8936002)(81166007)(478600001)(2906002)(5660300002)(31696002)(86362001)(82310400005)(356005)(426003)(47076005)(36860700001)(83380400001)(84970400001)(31686004)(32563001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 07:44:51.6952
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 82d8a84d-d8db-40a2-88b6-08db1edfd5ea
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:
	CO1NAM11FT031.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN6PR12MB8516

Hi Stefano,

On 07/03/2023 00:33, Stefano Stabellini wrote:
> 
> 
> From: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> The test prepares dom0 and domU binaries and boot artifacts, similarly
> to the existing QEMU test. (TBD: share preparation steps with the
> regular QEMU tests.)
> 
> However, instead of running the test inside QEMU as usual, it copies
> the binaries to the tftp server root, triggers a Xilinx ZCU102 board
> reboot, and connects to the real serial of the board.
> 
> For now and due to its novelty, allow_failure on the Xilinx hardware
> test, and only run the job on protected branches with XILINX_JOBS set to
> true (the "master" and "staging" on gitlab.com/xen-project/xen qualify).
> 
> 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 Tue Mar 07 08:42:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 08:42:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507238.780509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZStv-0003Oh-AP; Tue, 07 Mar 2023 08:42:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507238.780509; Tue, 07 Mar 2023 08: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 1pZStv-0003Oa-7A; Tue, 07 Mar 2023 08:42:27 +0000
Received: by outflank-mailman (input) for mailman id 507238;
 Tue, 07 Mar 2023 08:42:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZStt-0003OU-Rx
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 08:42:26 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fb04bc0c-bcc3-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 09:42:24 +0100 (CET)
Received: from [2001:8b0:10b:5:c09:fa3d:b1cb:4d7e]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZStn-006AtH-8x; Tue, 07 Mar 2023 08:42: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: fb04bc0c-bcc3-11ed-96b5-2f268f93b82a
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=0JRGd9zUdQNiRK6t0/Oj6I7vSg22vKQjEFO5u39ayeg=; b=DnEF4yGhX8yWxMegKD/cO7C1jh
	3kC9VCxnXOidoRnEGUtxRRgHs0QcC21fDxU9F6cj/W+q4gZbyIRpI77AHXdcR9gCwLK60a9w7Mi8s
	8wKX1473qWmt+u1UOkIQmVJjpXS3FPVdaBXAK6z/1/KHp7GIHw17/6+AVaI0YAWXLRs+X0ET09A1W
	eNtmtp7TcpkbNzKT9oS3QCSVkxm6brKI3yFOHixO/AfruwDCzy2Yl3dfEOE3ck85QNw+PVe1mTi3D
	geKuAvmt3DtVkuwWnZ33LoJ0zoHIiRJkqhwRFR6g5+SiYEUJn2bFUk/t2pR9UIp1HwulxqR6ONJGv
	w+9L4tiQ==;
Message-ID: <0f25af10f21de2a36f4748f20d457dca5bce1f64.camel@infradead.org>
Subject: Re: [SeaBIOS] Re: [SeaBIOS PATCH] xen: require Xen info structure
 at 0x1000 to detect Xen
From: David Woodhouse <dwmw2@infradead.org>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: seabios <seabios@seabios.org>, xen-devel
 <xen-devel@lists.xenproject.org>,  qemu-devel <qemu-devel@nongnu.org>, paul
 <paul@xen.org>
Date: Tue, 07 Mar 2023 08:42:18 +0000
In-Reply-To: <20230202091031.xmnao56wziptjak2@sirius.home.kraxel.org>
References: <feef99dd2e1a5dce004d22baf07d716d6ea1344c.camel@infradead.org>
	 <Y9scWQ/ASMCrY/uM@morn>
	 <fd3259a2765d4b33ccf7baea320ac798bab63159.camel@infradead.org>
	 <20230202091031.xmnao56wziptjak2@sirius.home.kraxel.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-p2zbuCuHG2EzAnYWyp4u"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Thu, 2023-02-02 at 10:10 +0100, Gerd Hoffmann wrote:
> > Thanks, Kevin.
> >=20
> > I'd like to get the rest of the Xen platform support in to qemu 8.0
> > if
> > possible. Which is currently scheduled for March.
> >=20
> > Is there likely to be a SeaBIOS release before then which Gerd
> > would
> > pull into qemu anyway, or should I submit a submodule update to a
> > snapshot of today's tree? That would just pull in this commit, and
> > the
> > one other fix that's in the SeaBIOS tree since 1.16.1?
>=20
> Tagging 1.16.2 in time for the qemu 8.0 should not be a problem given
> that we have only bugfixes in master.=C2=A0 Roughly around soft freeze is
> probably a good time for that.

That's, erm, at the *end* of today 2023-03-07, and the freeze happens
only *after* Paul has reviewed the phase 2 Xen PV back end support,
right?

https://wiki.qemu.org/Planning/8.0

--=-p2zbuCuHG2EzAnYWyp4u
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MDg0MjE4WjAvBgkqhkiG9w0BCQQxIgQgm2dmIEqK
7u48nGOsa2GmWmKnd0JmUmgdXdNDAGLNvC8wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBLoh5CTBhCNBAoCNWFqJPZwiHLP4jljfc7
TmNMg7Na/p8v1ZoZKTUNsbuBFq4ziAUNfH++3eUXUE06e/p4BC7hnfpg77xAT3WfgpxdSyHy1LnX
ojctdgnlSjISN4tacm5Xjuo3L4go9Ma1TkqpUaG+I1wcmyyoVJTHmxe20Z3KwvX/H+/pwh16bQYn
T3r4xggnEHxSf4Bv0kNtSWuOkqGor2xz1YNb6iJOmb+ot91q6yG7DfQE/09PKUBjkWIHJTXYx+3c
aHMU1t+e+dtBYJDqXUrMe/WHsxU4ahsVyIZ/9DBVogQMQil26inoZjEeVSiuBbGbeg2wClpLeu79
l0LoMIszXH91rKP93ICEFMWtHmq6eFrtnS0oxyKduWNLr2lGDRo/UTnEIn3u504zAAOrlocGW2LM
9b8nAIWKHinaZw/Wemk0T84zY78A3xM/u/szNGlkEPeXOFiawSmv41QejHBi4BtO2YKaEa38axIw
QkVkK8E9xuZbvqeFSTskR/pbW3S+Uq0/5sfEoX9X2y4xlixYKac9D0oc5CDooJIPBgMRpRM1nnsB
JC5tqYkUw9UcbgSbXueXl8EkyIqzhD9HB1apUA8e24QGqeow37ANafFaoi9i+QkNKAJPeuCfTP+0
C7TH3uFXoMjTUTm8rotC9VIC58rQH2mX2Td2xSfnAgAAAAAAAA==


--=-p2zbuCuHG2EzAnYWyp4u--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 09:28:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 09:28:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507245.780519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZTcB-0008BE-OM; Tue, 07 Mar 2023 09:28:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507245.780519; Tue, 07 Mar 2023 09:28: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 1pZTcB-0008B7-LU; Tue, 07 Mar 2023 09:28:11 +0000
Received: by outflank-mailman (input) for mailman id 507245;
 Tue, 07 Mar 2023 09:28: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 1pZTcA-0008Ax-S0; Tue, 07 Mar 2023 09:28: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 1pZTcA-00028C-QD; Tue, 07 Mar 2023 09:28: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 1pZTcA-00077J-ES; Tue, 07 Mar 2023 09:28:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZTcA-0006Eo-E7; Tue, 07 Mar 2023 09:28: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=Zl0kjDojS+1WkwuvBwHf/QxJaXADWVtO830yp1C4MAs=; b=6uk+8ZyyVXz73AqgQFJsgrYF9K
	4t6TM73qs299ADnCWEt8ssKnnrtfqtXpTUGyv6Kt7392pmXW2+ibU+8WRgNVMfIvhd0iHXS82soJR
	GneUW7nWNuLMABiP5GnEIA+TAuSfRSLJi0dRu0uyJyIhojom6RO/2ZOQdmoPlvXhXUps=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179476-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179476: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=46f51898ff716e53921b93e8d78af0fc7d06a2f9
X-Osstest-Versions-That:
    ovmf=a1d595fc9c049874b972a371fe6090738a176f5b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Mar 2023 09:28:10 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 46f51898ff716e53921b93e8d78af0fc7d06a2f9
baseline version:
 ovmf                 a1d595fc9c049874b972a371fe6090738a176f5b

Last test of basis   179364  2023-03-06 06:12:20 Z    1 days
Testing same since   179476  2023-03-07 07:10:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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
   a1d595fc9c..46f51898ff  46f51898ff716e53921b93e8d78af0fc7d06a2f9 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 10:02:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 10:02:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507257.780529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZU9U-0004TI-EJ; Tue, 07 Mar 2023 10:02:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507257.780529; Tue, 07 Mar 2023 10: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 1pZU9U-0004TB-Aq; Tue, 07 Mar 2023 10:02:36 +0000
Received: by outflank-mailman (input) for mailman id 507257;
 Tue, 07 Mar 2023 10: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=4ndv=67=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZU9S-0004Sk-An
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 10:02:34 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0600.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c4e53be-bccf-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 11:02:31 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by GV1PR04MB9120.eurprd04.prod.outlook.com (2603:10a6:150:27::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 10:02:28 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
 10: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: 2c4e53be-bccf-11ed-96b5-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bCK+l0V77pzSDkzGN0N6QKmNZRWLyesDN9Ge9f9abJCT0Vhi0jWj3mZGDS559Exs9SQOZlasUgEFmM+ZBon4PG/NbNOhCQ3OizNT0ESlmazK/XSxyyEzAxyZXD8D0tcfBV4xND8+PUYsrDMjwRpbxxOlk6JZgN2aaOlkRYJa3o9wMhquzVlwakym1vK7vOANqAkSr1ojq5fqDGUma3DrjhWRj6HzqdJol1AgQpVdJMOnGW2Uo6Uzf89YI+5L+jP4JB/kFAt6dUuCLgtqf5+f2xFB9Ymt4xxqD+/JZkd5lOGk0V1OFfv85KjehzAhf8UbiUFMh4mzgeQ0UMyNeFNQjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PGNNqG66crN0xbi23jiFRqg+lWAEfHlfb9vTyg4VGjM=;
 b=FCCCJ0/IkSap9ULRpEaphA5zVVMMPpHhlLPDn1Pnvjq5o6lMY+v56COUbxjOuLRFyexkSrFowi2cvqsAZPnaSRIaCgL537z0Qr6MvT6nbRQJAKhI7p78kLbSBnNWr6OfgjEZJWMmKckyAlmzFiYrUFHiFq0soehW6InnKAZzImG5mRPM9WKa2m7OBxRwI/yoNEpzaN7wapFhsuSpZNITAiJZ0/KM6PYd1FncPBUW9ZeGa2E6BqqD23ZUu9vZKAu5YTk3pYNMqltIK7jryXZIUCbxopvVjIwg4QmcdklRLCLchlfCld4Je+2GpI/cDpOFdS8wAKc80EcZqjzHsHnaHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PGNNqG66crN0xbi23jiFRqg+lWAEfHlfb9vTyg4VGjM=;
 b=dUQzCx39h8KVfnWl1cpaPN397S0A7BheUWRphN2zb52nouZt0Vcvjk8BwDirq5IdW+mRE+DcihloXHcGsd4ey/vx+318EQSoCFZ1Ie7drRAQRstryhg8bsFVwk/3TW5tfkqp+xHAvEo7G/DYk1xfT7EDxVzGImPwb02PxBBtTNsNO2Yz3vZ8c43ZAzAJCo5awZauGwp1tcSPsLNtNjonR/u+HMF8Q3g5dL+Pgc/nij3oZ4t1QZIwryhlLMA4LjS4lJxtFahTfm2sK+tQ2aPaiJbssKY1FzOq1/9/AqutYZ8Cq7hLNp+wFyRq+Wsy/ifGmrVNNlCuEjuwxLvxPpgLYg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b131fc3d-901b-a4e9-3827-0daab0505452@suse.com>
Date: Tue, 7 Mar 2023 11:02:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] tools/tests: remove vhpet tests
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <20230306162904.7831-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230306162904.7831-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0149.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|GV1PR04MB9120:EE_
X-MS-Office365-Filtering-Correlation-Id: a59e50ef-9241-4ff6-fd2e-08db1ef30ead
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:
	ccigRdxNzcZxO6PFiHHn30jrc+1CC3m1xsydQaWFYiFYwqFO4+kFl6N7jbyMJwWr1FKlWX9g/lJpTlPw0JAMlYEK2sCBUuFCSA6qRx1OFeKNiJcsxP4xXeJCCE24k9tUDafhHBqTjRl5V6aj7+Ib6GkDUA8I1SoBWI1907ehmBLLnntNv97jRLN+L9JOw9El7VFiJ6pnByVvlfUCNGL+Lr0ipVRW2oFUE1S43fXZ7zwBfMo+KOyRRbtjjR1eZjFCn6zzHOceO1HqIO9iDQ2Yt16v/+WW8O95BQu9STwiVwDvEG5r4cn4+gfT+dVFQT8hjUa/0EUiV07yzvzVKyAW2mTM+Twto3Ev7sumnKyYspBTFtlF8B6CZEnFA2OGyBv8Bze3qFKY9yWdxyrev0KE0hSWghrhwSTmQFJ1rUQ0OuyLFQ6ZxxfRG1/pfynAgYAE/rejuNMUbybdrPALbBhh2/8DcnF4o/+pUJuq/PLE6AURM+xz0RCEVqJK4oyN6IIWFTrFwQb18NjxQLIozeVRlK0s0H2EtEXAdgXNgrphbEV5WEGkbVgzwHvoF7hS3Tu+fkMYlj+bDfN9BIc7LNt3nC+l59aDiKEIQZYQVoaeoZQKwuN5TR6f4IIur2rhwBmulihdQN9kCoSp97nt6kG9fqOu6dU6Mlb9jGMygexNHWpemOkUWX4Cuwndwa43j7oWA8nhafd1a8qRkJlCJC3tg7Wi247BeNut0lOm2aavVhI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(396003)(376002)(136003)(39860400002)(451199018)(38100700002)(86362001)(31696002)(5660300002)(36756003)(2906002)(4326008)(8676002)(41300700001)(6862004)(8936002)(66946007)(66556008)(66476007)(2616005)(53546011)(186003)(83380400001)(316002)(478600001)(54906003)(6636002)(37006003)(6666004)(6512007)(6506007)(26005)(31686004)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SUdNL3RyMnhsSjJ5V1ZlK1BVenJjbzZpNUUrRk5MVHp2QmllRkpzL2xrYXJU?=
 =?utf-8?B?MjU1SnlJc3doWUtLMkw0Y2p4eEgzV3pZcHpCVmhsOXZFa1JwZWUrd3hOTVNG?=
 =?utf-8?B?c0hwaldzaWJlWTR3TWQ1emsrVDAyMU9aQWlOa21YaHQvRVZkTHcrQTlnT3R1?=
 =?utf-8?B?NWhjQ0NjcXE3aVBkTnNEQ2pPbW9ubStjTlBrL2FWTE9ka0x5cURwYlpiSHp0?=
 =?utf-8?B?ZlFIWGsyWEF3M25NRHhTL04xRmlBeXFIcFpVS1VXQ25QNlpDZm5PTDlHL3ht?=
 =?utf-8?B?YjY2L2V4RlQ3bzQ2eHI4TzIvQUtKWE1sL3VjMEtFMEIrREVlVFQ2ampCSUJM?=
 =?utf-8?B?RzRUUVA5OVdnSGtHcmdkeWNFUGNxQlN4ZkdYUVo4U2c1WGhHalBZY1AyRmdj?=
 =?utf-8?B?WHl1aWN3ZHpUMlkwQ00zUTVSM1kxMTJmZFNWZVFXQnN6elZFelROZXBIUG5n?=
 =?utf-8?B?dEFmcEhuWXNyR0NWdk9lV05mRmNTNG1RejRRRXlPcWorbElXbERkY1BRRjZZ?=
 =?utf-8?B?MEhDMTN6dnF6U0dhZ1RXRGRna3BwQWdFUUlKbFNZMFlOM1JYU253ZFdPd1NX?=
 =?utf-8?B?ODdSdkJreXFTR0lBeFd1Ti9Zc0N5cnpZelJyVXUxbWVpVVdTdVRqek4weFFH?=
 =?utf-8?B?SlJ5dDM4emZPN2F6NlovN00vRllwNG9pNjY5RW9VWFV2ZkVwbHFNQWJzOHN5?=
 =?utf-8?B?dHNVZ0FGcWh1dGFtRmw3dFZLRE50VUF6bDd4Q29sTmhMeVNMaUtTSU5jQkd6?=
 =?utf-8?B?MnRuMHVXZml2bFlnaUpyU1pWaFRIaVpmeUxBbXYvVlhsTXQ1TlZpc0dteHAr?=
 =?utf-8?B?ZDloem9Yd3dSVms5K3BOQkkwWE9iRmVsUGdTd1dhZExKbHQxQ2FsOHlXTXlj?=
 =?utf-8?B?TmFWZXlSMTdtL1J3MDJjbzRPcjhFNjZ5ZldKb204cFpnTWhnMnhBNjRxRlZ4?=
 =?utf-8?B?VGhWbWc1K3JKdFplVk9oa0Y2UzUrdllQVDV4R3NzbnRkTXF4a3ZOZmhNcy9G?=
 =?utf-8?B?MmhybTYwaG5zTmg2YS9JL3ZXdmN2RlpmdDhOTUVtMEJUV2greGJYbDd3ekNM?=
 =?utf-8?B?OHNKWmdGNTdQSFNFSGwrQkZWdmpNT3RpenB4SnVxWXd0Qkw5MFcySnhvTU5l?=
 =?utf-8?B?cmliTW9XYVo0MUY1Qmo4NHcwckZRM0loOGdLZG1LVDBMZGNQa3Y1V215ZFlq?=
 =?utf-8?B?Zk9INUovRWtuajk5d2VweWJCTDBpQWd3eGZ0djF0L0tiV3RhbmVpdkZEekkr?=
 =?utf-8?B?cUozNFlJUlA4VXFEUDR0SjY5ZVlMNzVTeVNJcWkzTGp2eERqeWZPTWhPbnU3?=
 =?utf-8?B?d0cxT3RraXRoUnZha2hNRTArSEdiUzdBMTRIdm83N0FSTE02N2E1Z3JNUXJG?=
 =?utf-8?B?ckZ3ZElCNGgwSFNtcGNlQnd0TjF0NWh5b1R0K1hiT2dCZTI4MlpCaWFxbmdm?=
 =?utf-8?B?STFyY1dLTTc2R2V4NUpvQWY5SkhOREl6L3JEeGpCZkNrWXY2UHVUSlYraFVZ?=
 =?utf-8?B?TU5BazZHOGNwMXlJbDNsbWZ2NVFlWkQ1QVNpYVBzQzRSS0Z4Y0tHNnRHQWVL?=
 =?utf-8?B?eU5MbWtOTWp4R29LaXBMVXB3VEVkR3VJU2hRYW1WZmVDZzQ5STVvVlpGeVNY?=
 =?utf-8?B?MlF5Q3owRmtCd0J1YUxEb1ZWWXRRRnRZTnozdjVjUFhNOEhwQTM2Y2lXL0hr?=
 =?utf-8?B?SXl5TFVYSnI1SGZIQlVOU1FGQXhJcTZ4ZUZYSmZVbDdyUWZFTlJjZWJqNFpt?=
 =?utf-8?B?OVZudnU5MXpsL0gzbTluVEJUK1NnYWxHL2JiUjRSd3pONjhTc1JnY3R0VmtV?=
 =?utf-8?B?MnpZWWQyY1NYekJEQmlKWEhpS2NKbHBtLytUS2JjenpvZER0SXRzc0VlU2Jq?=
 =?utf-8?B?bkpoNk9MeEZxamxJZDc1djJLOWNrZmgxZWg5V3dmWUVFeDZIODlSMWgrNjIw?=
 =?utf-8?B?cFN3UldYeW9PQUJTM2JLUy9IVVVXbVR6ZHBKNWtVOUNuT1V3ZVdYVHZaQkYv?=
 =?utf-8?B?RjF5ZnVWN3VWMXQ0K0c3Z244bzNzdzNwdFcxN0Q1TXlUNXZxY1ptZnJkUCtz?=
 =?utf-8?B?eUlCdnh1MTBWUGpnL3grTHc4K1hhZDFSN2czTGNKZjd6dmExV3k1VmdKZi9l?=
 =?utf-8?Q?FhaXpGezrNPfIR3vM5CyZdxPt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a59e50ef-9241-4ff6-fd2e-08db1ef30ead
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 10:02:27.7570
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HCOUM/N5qMHyX/ye1+O2Rxu3RoUamAKi3vHgEUpLeA2n4EuOnLkdy8Wx0Af/T1GwoFBoH4EeRaf4Cw87EJgcNA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9120

On 06.03.2023 17:29, Juergen Gross wrote:
> tools/tests/vhpet tests don't build since ages (at least since 4.10)
> and they can't be activated from outside of tools/tests/vhpet.

This isn't exactly true - see the run-tests-% goal in the top level
Makefile.

> Remove them as they seem to be irrelevant.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> Andrew seems to remember that Roger wanted to keep those tests, but
> this information might be stale or based on false assumptions.
> So this patch should only go in with Roger's Ack.

Having tried a little I can see that it's going to be quite a bit of
work to get the thing to at least build again. In fact it looks as
if it, having been introduced in 4.5, may already not have built
successfully anymore by the time 4.5 was released: hpet_init()
takes a struct domain *, but is passed &vcpu0 (matching what I can
see in 4.4); I've noticed this while trying to figure out from where
it got a declaration of the function in the first place.

Nevertheless the test once served a purpose, so it may be worth
making it work again. So yes, to decide which direction to move we
will want Roger's opinion.

Whether just building it by default is useful I'm not entirely
certain. What I'd consider more useful is if tests like this were
_run_ in the course of routine automated testing.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 10:10:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 10:10:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507262.780539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZUHQ-00065k-Bt; Tue, 07 Mar 2023 10:10:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507262.780539; Tue, 07 Mar 2023 10: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 1pZUHQ-00065d-96; Tue, 07 Mar 2023 10:10:48 +0000
Received: by outflank-mailman (input) for mailman id 507262;
 Tue, 07 Mar 2023 10:10: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=Ob8o=67=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1pZUHO-00065X-6H
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 10:10:46 +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 52883f9f-bcd0-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 11:10:44 +0100 (CET)
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
 by PAXPR04MB8094.eurprd04.prod.outlook.com (2603:10a6:102:1c1::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 10:10:41 +0000
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487]) by VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487%4]) with mapi id 15.20.6156.029; Tue, 7 Mar 2023
 10:10:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52883f9f-bcd0-11ed-96b5-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RvEdzOSw1rhiQck+CykGp8XyuoR5LIeMa2IPCKgLCP7oNcSZsg3FYpL/JdXxePtZPnM5xF2Tnnq4RoFXZQ/+DkchsPBR4o8jhZGyYeW9R1JUVeony9x5Z9ybxhCOUxB93Wtg2QszcNtaIgCgzCdAJ9ccLXSXtwDjRt31aY412bzwG5CuBSl7BGGW2pJv/9WTa2hAZNxvBA23BV+gRj5Qt2bzfUMTuMqViTDGsTnM25Kp+RIxAFVrgi0TkcSxhfyF/qbqVbzhXVtVGMkpGN6eJHFY/nX1krW/fYQg0rWZUe5Zu5O5INloYLV59sLsLSvGvH8pG5Va631jg5ymIK9QMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uXeBE1/jUqceiRWYKQbfilh/+nWktBFKKG1WSu9F9Ig=;
 b=PiIzuH8FHi64gR2m6h6PyeZqNV7SYdEYRpQsRw6rAjaCPLOHDahSlMhOKbRU2j9bUwD/+s9R4A0d03WOyqqypg1jIyAN5Z85q/uFMkfFiTGj6NRJp9lRyHXPco3xg0HKJHOclKtx4zEWmRYOh80RpiWAgHOtCQpikZIyS0CxtbkHoOXrfFtiX2bHUvdoYVxd7jJG00iP3MfW7sxAom+UOSbc61kTNyVapARHZanffcDvP3oGPN39ZLAxnqIdTwwZXaiL6AVV1te9iPajeSmngiztEL4LWJLZCmg/mSvEcPMfQDlfzmqKkuBOJTOVtkfLic73EP4Egp+h8VuJnjVriQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uXeBE1/jUqceiRWYKQbfilh/+nWktBFKKG1WSu9F9Ig=;
 b=KfanVV7JoUmvpVp4ABQJmXEkMznCniE15UhdEThOB5A04MwNlFUGotoYrjiPsyyutmpW3n7RRsWkPrdA9AOwpBgzWAF0G7d9buGt5430f0pf9BhUbfBIKa/5H5Pm8EIfZpoSj4eNHjmtrN/LREeBKIzKcpgsdAjhEacu0hJTNWk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Subject: [PATCH v1 0/2] Fix ARM Generic Timer interrupt parsing
Date: Tue,  7 Mar 2023 12:09:47 +0200
Message-Id: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.35.1
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM9P250CA0006.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:20b:21c::11) To VI1PR04MB5056.eurprd04.prod.outlook.com
 (2603:10a6:803:5a::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB5056:EE_|PAXPR04MB8094:EE_
X-MS-Office365-Filtering-Correlation-Id: dbde6252-e2ee-4ec6-5ba5-08db1ef434e7
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/IRSviBWNvBw7c4QdThF6o47hgWIwZL/OIifncUY1YJuh7cvyQvvnDYWLsl4yul4NoyOUJVkyBlh4oHf616DxM/OYnAd/HtJNlB8IGLkCZ/rSiES7FEs9X5n1YAR34ykiHeqmlSGRAGnWYMsRibKHa8ZDxK1q6UWsDCmNQ1MQDxFCiIInimQB8w23Sh0fXeixuU2QDMtsVUpSdsWHJwn5YB6qzdjfCmrN75WdSrpOpvf1oQeaEARIJDbyj3iLQ9XJXLvuHFFv6oeaML0wND2cNiSujj8ndyfW4CTcgb/YGTc7lXvvPwVSqQTfMk/XCxoba1uNM6TDErBAlwNjHe3NBfnGknsMUr+9t1+o5yT7ZBHT9jZ2CFakKVwwnSoGwHt/IGRfAR/e9pzf62YMm8mfFfAsntec/C36eCcrvEy7RZpJITNWhqnkG3RjrJg94mwOX640lzv6aMlE6bj1qA9UjhMpl5pYtWT+N9bbkswVjvp8cfJ4D9eLyvHUI9qpMWV842Nw+BSbhfMbxw+Leg0UoJGuX/0XRgYHxGNs976PoWJYFr9mp4b8yWF4aCRk6myYq/ajmeHYnlOWu/GGRkYFx5Uf0HDzXukeTBjXpOBZFS+Wmh7W/09b5t+BwknscjoiDcRrOj8PxxIjgWxEZgs1aJJ8w20Bo4iQCnUlJZX2ULifMcz/YxWv/VMLeMQ7F0xXQ/gtQACTjeHibD5v5dxW/WWGQ5xEVLvnXAHtVZW6TY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5056.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(396003)(366004)(39860400002)(136003)(451199018)(5660300002)(8936002)(2906002)(41300700001)(4326008)(66946007)(6916009)(66556008)(83380400001)(66476007)(8676002)(316002)(478600001)(6486002)(52116002)(1076003)(6512007)(6506007)(86362001)(186003)(38100700002)(26005)(2616005)(38350700002)(41533002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?8ZvX5b55Z/Ev58JLVEORY2zAVb1E1/H18AS90D3koG6txEqxjytxhRYNG3K4?=
 =?us-ascii?Q?OsT2KTc1uIrYj/k+I/d6JEvBky39JLCBR2+fP+QDl+qCyHJS17lOjfAp4lAw?=
 =?us-ascii?Q?8lkqQCAFGshRj0El8hYtFoiRqKphYPD6MgY4h5HAgPXYz2lZ8fujhqwEhSxG?=
 =?us-ascii?Q?MoNUBrNZJqXhfbYLC21lZiRdCeHZpkfNTrHjC7da3SBThp+kgaQKeMQjoGSa?=
 =?us-ascii?Q?frubTVCyTG1GdOfFHUOCDOeQNEI9nEr0gPqe8b0Afy9jiS/ntpNltxzhQ8jt?=
 =?us-ascii?Q?GgfhrrYXWhpKeuvkkL9tyOAyNaN8vxZeZfCJ/+N3Pgm7gsKDZr795JUR92+N?=
 =?us-ascii?Q?qpJNypIMAtnGMGPInBI8bT4Qq6RXH5SotxRW9ngGQwxnknELapvgoAGvDTLi?=
 =?us-ascii?Q?U2zDC63bnujMdlAapAWnn1VgXluwZq0cXfBB7YH9ik+gDfQT3vbNltV9IraC?=
 =?us-ascii?Q?zy3l3CbEn1UMPEcHWqnKfPIaUxE146HdYh+cmBe2tiR59Jsa5uuHWo+bgl7i?=
 =?us-ascii?Q?jK43YIdYqpuDcxtB2xdCuHWtRGYOC7AaErKJ9rFwSzk8s5sSxoMEfvopnqsH?=
 =?us-ascii?Q?PLHwPXaOepK4UwMZ+Dup8/CCg1JWZ4ckiojvLiPHjC/GBcbGM+bAJTNCEpkq?=
 =?us-ascii?Q?V2pzuc1pfpnZ4sU9V/Qu4DIvHo/MiHdkgNl+gDiciBow89s/YeMkHC8EwgNU?=
 =?us-ascii?Q?kBYGo/6IqU/4g6sp55zlPqKS6WAuj3sUfOU8hzaKAc1uvQDqduiML8bNUzui?=
 =?us-ascii?Q?wE27YdAoF7lolpc7XXPAf5vi4rW1dJ+2Wbus8QO1941Hep+YsU842VLIyeYA?=
 =?us-ascii?Q?yg2SMJ6nOisyBySOpCcaCXn8+gNMDuLmJdvjInPb+6cnAMPu0kT6zRDDNtVI?=
 =?us-ascii?Q?zF2q9ZK8/vq8sjuzx7gemuUZrbuLJQ+Ba+PZMx42tLEt//83n0UBoWuCoesH?=
 =?us-ascii?Q?y/J5yoccFQiC5CFdZLYw73nD7cQEC9DC+hxT6caXhJ6ZAuGD2EpwNEByptuo?=
 =?us-ascii?Q?nra3btxaygk3wW9Nr73HUqs6HH6UtGn2Skdac/1uIOtIuPSMl15J4r3L6qOA?=
 =?us-ascii?Q?ze5e9ZBdMeoNUKoL3Hz+L/M/cf9qzcB4vpKBVUMjSIsi4A/3tN7tuy8G6F/6?=
 =?us-ascii?Q?X2HLWXNgAjW+ZE7XNpPcTTzegFKWR+tys+NM0C/YZnFgRc7NAy/XxDieXWlW?=
 =?us-ascii?Q?jl7PQD7Q7QCb29Bshu8G591EZFmDPwri4akjukUaVSbyyqwpmC0SqlaGGmhp?=
 =?us-ascii?Q?SxqK4QdexxaVj0SLwDzm23V0R67qlu9Uak4UfHBKX+8FMO8OfIk/9KodADYS?=
 =?us-ascii?Q?f6COL2YyicdZymS+PsATAD/a30N0pLeHTdH2vkm8aqM0YGFRHVIlZq4SeyCB?=
 =?us-ascii?Q?xYWQy3zbVKNGu5gFI+/yZHwviCK4grVs5LRO0KocDrGamrTWBy2mhvOiJpRl?=
 =?us-ascii?Q?nQ4U5EUtgXDZA9NTJdXcA9K+EHdbbW2ozRUIWt3XGwcW0WqlO9ixbykLyq6V?=
 =?us-ascii?Q?EIjly9qiEeylxS1gpuiMiXOqjB3vrczjCdW3ihVijqwQqgN+Qtf+1+wBJPB9?=
 =?us-ascii?Q?AQyvmtyJRj8ytnM6tfZzPJziqBK+hl7oVTfRUAsKympp8cEsn1qYwpQFedRe?=
 =?us-ascii?Q?bQ=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dbde6252-e2ee-4ec6-5ba5-08db1ef434e7
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5056.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 10:10:41.3987
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bzsm47ehxtveClf4USKm7fZMdCmifTxgtoGQg7Nd+d2hrh4zR1hY/HqfNBY49/RZwfCjmFGsQ7+jP+VQXzqL0n8Dao8WjfO+Mhgw3Rypvx0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8094

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

This 2-patch series fixes the parsing of the ARM Generic Timer
interrupts from the device tree.

If the generic timer interrupts order in the DT was different than
the expected order in Xen code, these interrupts would no longer be
correctly parsed and registered by Xen, and would result in boot failure.

This method with using "interrupt-names" for the generic timer interrupts
instead of having them hardcoded in the DTB in a specific order is the newer
approach already implemented in Linux. Xen did not have the necessary code for
this approach, and it has been implemented by the means of this patch series.

Functionality should remain the same if "interrupt-names" is not present in the
Generic Timer DTB node of the platform, but the interrupts should then still be
present in the expected "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt" order.
If "interrupt-names" is present, now it is also correctly handled.

Andrei Cherechesu (2):
  arch/arm: irq: Add platform_get_irq_byname() implementation
  arch/arm: time: Add support for parsing interrupts by names

 xen/arch/arm/include/asm/irq.h        |  2 ++
 xen/arch/arm/include/asm/time.h       |  3 ++-
 xen/arch/arm/irq.c                    | 14 +++++++++++
 xen/arch/arm/time.c                   | 26 +++++++++++++++++---
 xen/drivers/passthrough/arm/smmu-v3.c | 35 +++++----------------------
 5 files changed, 46 insertions(+), 34 deletions(-)

-- 
2.35.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 10:11:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 10:11:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507263.780549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZUHc-0006Ol-Jm; Tue, 07 Mar 2023 10:11:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507263.780549; Tue, 07 Mar 2023 10: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 1pZUHc-0006OZ-Gy; Tue, 07 Mar 2023 10:11:00 +0000
Received: by outflank-mailman (input) for mailman id 507263;
 Tue, 07 Mar 2023 10: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=Ob8o=67=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1pZUHb-0006Nh-5X
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 10:10:59 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 597925f7-bcd0-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 11:10:56 +0100 (CET)
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
 by PAXPR04MB8094.eurprd04.prod.outlook.com (2603:10a6:102:1c1::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 10:10:54 +0000
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487]) by VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487%4]) with mapi id 15.20.6156.029; Tue, 7 Mar 2023
 10:10: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: 597925f7-bcd0-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GnIAxOG5Tr4iGrWOVRe5bXYIYJi6xISWNzBCAI+3A7HZmiQZ9Qz25eWaXhrAl3x2h184dSFljXF2gv20BEm69fCXppdL7TupHVvkfytOFEkN7UvSbUO6Scf+W+Z0Mn41G3kRgOXE5+00A8+fpC2E2hfwszPvg3p2dVK9MZDo+MPkuNo6DdKYzfuhPYFaPGkzzRHVDZdW0QnI3jdx0UrAKzHKCfNXrjfDTe4L6KRUA4RmYuuXqk2daK0hYnEtmXADGFAp+xMN20jc3jCCz0yNTE7Tn9we2N/1obLF9OEySKlaTmfzVFLQXemSLCnjhTDyCyB/uTOli6ps1l6U/yjiGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Tyq86JbXHflsMuSweaOQDMiXi/8wRTSxsXZl4iIFAhs=;
 b=brcei4ePtvnp831MMkK0VyhdMcOCOUhU/aoAj/HUrHkNoUeJdscKiw2ylMU+qZEZF65UvTGqaFgsmqIJQnb7p7djVFXn1Vs7+pa2Rx5GEOast6XawhKmJ3vR3hSG575tRhuHkKn7TPqocmduB2Y0ULieiYWAc6RpuSoylyKiFLKFDB9ebfGClJslepltKLoEJN7byJHyelYnkCQ0AVPBV5ZY7HBnqSyhEn8W6OLNkVFoC/OxSy15tjqT+2Nor3ZOTGi3qlSh4gd2GUGlcYQPYAGuX2tr7gbd0nvwuOhEfQVRbXBOtI/5FOWrKLeebC1/tb2MHc5McipEJwKadpCdEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Tyq86JbXHflsMuSweaOQDMiXi/8wRTSxsXZl4iIFAhs=;
 b=BD9yj3gMnctJ7+6wK3sXVbUX9MMd65W8g+txHlyOpDU2rn+iV98BAljE31kbvo16TrNhimmEn3Z9cnKbfz4jk5i5SAtl4g4KhvpruJkNbzyq3G7MgJixviemoxTCHflHfyd75QbFsdil5FnNcrdaZSBiAEaxpaOQKzXzdXeRhYk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Subject: [PATCH v1 1/2] arch/arm: irq: Add platform_get_irq_byname() implementation
Date: Tue,  7 Mar 2023 12:09:48 +0200
Message-Id: <20230307100949.9231-2-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.35.1
In-Reply-To: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM9P250CA0006.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:20b:21c::11) To VI1PR04MB5056.eurprd04.prod.outlook.com
 (2603:10a6:803:5a::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB5056:EE_|PAXPR04MB8094:EE_
X-MS-Office365-Filtering-Correlation-Id: 12146b3f-9fc9-4667-408e-08db1ef43c4c
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JF0gh7sPMbTpxgODkZjn63eI6nP4rzrsjoVLCq6v9bvemYms34mKLotXtPLyLTMHBLKn366vmK0UrSki9Nx8z54n2qDM/3uITp7JNIzGZGDFLZUj7+JUWF+99abUJo/TYz5ApIOGRo0BlE/J1j9by7C2Q7di1H6B2AlyVrF5eE4ZsObv2cJhfkGb5Mp6mS0MoXMHESFl//oNyfP1kGTC79lZ0znX6e4sIh7U/stm3YH7Qx99xgMdl9uOIeTXqZqMTMnwpBFsMGmGNh+X9FlCXoiY9jpu7syKh2UwAGJV9hf+l42J2692dk/zgzBE2k+FjTlsNU93zrZN70c3slHqW1H6UXHMR9WMB3Ln8ilrWv60U8mlg1njxcv3P9883TJfKet+Kg9VFUYKWbfkeMwISy3XQZ1iVG4ty0LuC2RWVTQUsHiS8e25AXtQsaEn9AVIpc43uuvlkYiFrWb2ke3F0ZQnyyhg+WXEmRYE7S8I7356kq2BIoRYu2J0sS6BH2c6b3Q+BMtmsG7qET09FfLSbTSp4EOH0RSR2gg4RD3ABz1XAcsd9eg91cLMfkXkkb/noBXjktepy99JLBnl+KrznCeRFbcKU6rWol8xLbk/9ItusXp6+UASyXa+5b2gk9MZHNdmErEHvzMZi3oRBxYwlNdQA3W+0JMNJ5RGYK4lGd6nkjKJ3kPlotyPRBVok5bvucYWSxQpFs1uxshE9PiLgA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5056.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(396003)(366004)(39860400002)(136003)(451199018)(5660300002)(8936002)(2906002)(41300700001)(4326008)(66946007)(6916009)(66556008)(83380400001)(66476007)(8676002)(316002)(6666004)(478600001)(6486002)(52116002)(1076003)(6512007)(6506007)(86362001)(186003)(38100700002)(26005)(2616005)(38350700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?L0X2VBnQ7m9TkKF7HDOMAUc6BAKmfX2yRxYmTFKjLXrVcrovirw9qD9oTENS?=
 =?us-ascii?Q?SIghaHukTE57A3X6q4kXuSZ9yCghk0i2lXVs6nB6/L/xX6uP6956VIUmHkPk?=
 =?us-ascii?Q?gS2+B9pM1gbD15cwqxzIIBeqewQzLFk9pT+9r/E+7mxbvTQvQ1TZG1rFw2JO?=
 =?us-ascii?Q?hpkqW/WmSoaSS7BD4hVIb+OQjSkopI4K57WE+lkeTvd4A2H8Z9tC+CvmoYbK?=
 =?us-ascii?Q?jrGkjhshfitHoVKYeOVVdtCsPKUoeBDg4oYqMWMvrpT7cApHeovr6NrjoEDq?=
 =?us-ascii?Q?JOBzBzbOdTQU1BemVRl+Z4cVCzDVbTPBv3bl0KpSsAaSjoA6NKb7XApB629n?=
 =?us-ascii?Q?13pkKX6IxSxrxKwWM3DKah3PV2/4J1lMWk4C2sw/qqva7Pc6xaSb7/DTLeTq?=
 =?us-ascii?Q?wf06vvW2bdOBrbGl3Mlzo8F6oqFN/pcP95CviqBrn34c+pkm5+DWOpiGHnaw?=
 =?us-ascii?Q?6y1YqCanBDHf8omPR095rgArUD89N3UokzdjZrtc6Aw/r3UyC6wOeNE/fhWK?=
 =?us-ascii?Q?mh+dYYPsV/TVOsLZbMwW3mDejAIz1/Fwhfwo55A8PSIZb/xqGCysabxAZo3r?=
 =?us-ascii?Q?yM8vQJV149k7yvUxx5KI6oJA6cLsH9unRAC2rtr+e12UNebFlQ39T2DuTZM7?=
 =?us-ascii?Q?6EnTHAFCOjPFmz1QN99VAC0feE2QJgZBghYQt8MFEa0ahN30ig9QfmxvJpVQ?=
 =?us-ascii?Q?0HjTldcV9py9bzBRkqLcOu7dwiOhaCK/11/LBlpvFOpanANiOcJF16C+ZNYL?=
 =?us-ascii?Q?5YNkvOLx/C2duD2P/Sha/Gnh4WD4WBC2dHioBzTWakPpETDWhEYUc19WxnZt?=
 =?us-ascii?Q?dqgvB8iI8+gmARiuP118sfHQRLQj/bQsniNYpDWw0KybNzRZo1+ZOxi6Mfub?=
 =?us-ascii?Q?oEGRvKUaTDb9M1hDjbuD86s03ELQ4dd/tRCLTx1vywPsu7XmjomVsC+g/i5u?=
 =?us-ascii?Q?QicYJX4a81H+CZtsqQNz1ZmzB02lx99fIwdV+dba6TgkUJI0ICFtVccMlgPT?=
 =?us-ascii?Q?svWQxjER7kcVrkacvDQZ5QEDpQv2iz3mNanRAqjHscVDly9JMytKE8eStEgC?=
 =?us-ascii?Q?PWLKjPhkI71zCIFPP4FDjorqpfk4YSoyCI1bjKNk3GQkPlxD/dmEdOxAAx5F?=
 =?us-ascii?Q?TBOGeNzeHjWOWMFlEy8POL7lNv1yLulABhiaPAp+jW76WGAB8uINjJuZjsCN?=
 =?us-ascii?Q?337g23sdkb/AdeCEjs+uV0IcxSohiWMNG7Z7JjtC52IdMNvySSYmfK6LmKYG?=
 =?us-ascii?Q?u2lKD0jxuqFDFqD1Z3OUCta1B6I8dyJwIKViEc+yhS/RRGcEWn8xHK1Rbmbg?=
 =?us-ascii?Q?rF+eevWNo2gWQS4lgH48BucGg9A2Zbc1kvLX9GYuuk34bUKlcDevUJ8+UoSs?=
 =?us-ascii?Q?DqoP5IZELqbPSMEE/fqIY+2SW94Nu2azT6bxHVouK+mcwhb3d+1bp3SzYVs7?=
 =?us-ascii?Q?uBouvGxvk2kvnABQqTMqe02tlCBOG1rH7ZmiXdsJvQS8tyouyb7bxCo+0sYo?=
 =?us-ascii?Q?cmuTHief0S8ls+G8RU78zXsrdg3ckSz7Jil5yUKar75S8CQFKRfLhahrek2W?=
 =?us-ascii?Q?bLbtpdzPeJTK+rApBzGeng6bRtMaT5FpgmFC7KSw/uJUg3gKyQiZiI6poGzQ?=
 =?us-ascii?Q?HA=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 12146b3f-9fc9-4667-408e-08db1ef43c4c
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5056.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 10:10:53.9134
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: n/5kjByvuv5osyD6jJwCNwgZKnoPywLCEVpObXeSuwmSW3q54dUNItUrheQ6XJVi5zKeBXGk/qO4OH+p7vo0FA2cTg6YKSil7bWwcbyhnBc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8094

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Moved implementation for the function which parses the IRQs of a DT
node by the "interrupt-names" property from the SMMU-v3 driver
to the IRQ core code and made it non-static to be used as helper.

Also changed it to receive a "struct dt_device_node*" as parameter,
like its counterpart, platform_get_irq(). Updated its usage inside
the SMMU-v3 driver accordingly.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
---
 xen/arch/arm/include/asm/irq.h        |  2 ++
 xen/arch/arm/irq.c                    | 14 +++++++++++
 xen/drivers/passthrough/arm/smmu-v3.c | 35 +++++----------------------
 3 files changed, 22 insertions(+), 29 deletions(-)

diff --git a/xen/arch/arm/include/asm/irq.h b/xen/arch/arm/include/asm/irq.h
index 245f49dcba..af94f41994 100644
--- a/xen/arch/arm/include/asm/irq.h
+++ b/xen/arch/arm/include/asm/irq.h
@@ -89,6 +89,8 @@ int irq_set_type(unsigned int irq, unsigned int type);
 
 int platform_get_irq(const struct dt_device_node *device, int index);
 
+int platform_get_irq_byname(struct dt_device_node *np, const char *name);
+
 void irq_set_affinity(struct irq_desc *desc, const cpumask_t *cpu_mask);
 
 /*
diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index 79718f68e7..ded495792b 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -718,6 +718,20 @@ int platform_get_irq(const struct dt_device_node *device, int index)
     return irq;
 }
 
+int platform_get_irq_byname(struct dt_device_node *np, const char *name)
+{
+	int index;
+
+	if ( unlikely(!name) )
+		return -EINVAL;
+
+	index = dt_property_match_string(np, "interrupt-names", name);
+	if ( index < 0 )
+		return index;
+
+	return platform_get_irq(np, index);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index d58c5cd0bf..bfdb62b395 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -200,30 +200,6 @@ static inline void dev_iommu_priv_set(struct device *dev, void *priv)
 	fwspec->iommu_priv = priv;
 }
 
-static int platform_get_irq_byname_optional(struct device *dev,
-				const char *name)
-{
-	int index, ret;
-	struct dt_device_node *np  = dev_to_dt(dev);
-
-	if (unlikely(!name))
-		return -EINVAL;
-
-	index = dt_property_match_string(np, "interrupt-names", name);
-	if (index < 0) {
-		dev_info(dev, "IRQ %s not found\n", name);
-		return index;
-	}
-
-	ret = platform_get_irq(np, index);
-	if (ret < 0) {
-		dev_err(dev, "failed to get irq index %d\n", index);
-		return -ENODEV;
-	}
-
-	return ret;
-}
-
 /* Start of Linux SMMUv3 code */
 static bool disable_bypass = 1;
 
@@ -2434,6 +2410,7 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 	int irq, ret;
 	paddr_t ioaddr, iosize;
 	struct arm_smmu_device *smmu;
+	struct dt_device_node *np = dev_to_dt(pdev);
 
 	smmu = xzalloc(struct arm_smmu_device);
 	if (!smmu)
@@ -2451,7 +2428,7 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 	}
 
 	/* Base address */
-	ret = dt_device_get_address(dev_to_dt(pdev), 0, &ioaddr, &iosize);
+	ret = dt_device_get_address(np, 0, &ioaddr, &iosize);
 	if (ret)
 		goto out_free_smmu;
 
@@ -2484,19 +2461,19 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 
 	/* Interrupt lines */
 
-	irq = platform_get_irq_byname_optional(pdev, "combined");
+	irq = platform_get_irq_byname(np, "combined");
 	if (irq > 0)
 		smmu->combined_irq = irq;
 	else {
-		irq = platform_get_irq_byname_optional(pdev, "eventq");
+		irq = platform_get_irq_byname(np, "eventq");
 		if (irq > 0)
 			smmu->evtq.q.irq = irq;
 
-		irq = platform_get_irq_byname_optional(pdev, "priq");
+		irq = platform_get_irq_byname(np, "priq");
 		if (irq > 0)
 			smmu->priq.q.irq = irq;
 
-		irq = platform_get_irq_byname_optional(pdev, "gerror");
+		irq = platform_get_irq_byname(np, "gerror");
 		if (irq > 0)
 			smmu->gerr_irq = irq;
 	}
-- 
2.35.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 10:11:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 10:11:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507265.780559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZUHd-0006er-V2; Tue, 07 Mar 2023 10:11:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507265.780559; Tue, 07 Mar 2023 10: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 1pZUHd-0006ei-QJ; Tue, 07 Mar 2023 10:11:01 +0000
Received: by outflank-mailman (input) for mailman id 507265;
 Tue, 07 Mar 2023 10: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=Ob8o=67=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1pZUHc-0006Nh-Ep
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 10:11:00 +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 5ade7ad3-bcd0-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 11:10:58 +0100 (CET)
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
 by AM8PR04MB7921.eurprd04.prod.outlook.com (2603:10a6:20b:247::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 10:10:56 +0000
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487]) by VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487%4]) with mapi id 15.20.6156.029; Tue, 7 Mar 2023
 10:10: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: 5ade7ad3-bcd0-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hxdIJcwQSctzoQSsxT9vzZLcP4ucpRrb1ur3H+MbCwFU3lABQ4GHOo0XvxfbRKwjoysrXufuHDKc4eXBfetVlgY9lzsL9i4Wb6y3VdACY73P5wwWNqUnjmIUGntx20bsgASDYZgCPfRSyhEkTfPC9tpTvyEZP960FuXZW94qZV/e1ezoYOZp60CfqEwAWmhWLsUia0sYh3AO2+ODVo77rm++3wNZuP3Nh3WxqpvBo7E3MKpf78kslrQrbbcON8swGB8vRloOft/aY5LqLogeS5JGMjz2DtbMdQTlCNlZ7JL8xrftHWZTfMslOiI+LQk8J0wVK56xHC4kponP5yDYsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ujULk3y1sKw+hpceXjwl0rWf8ealySFr+FKiZ5uJz1k=;
 b=k3tgYjR1qR2xxaZQUxhgH7YAHANul07u0zbXjZqytrkp57ZASLmwHCilWUwDJ5fHbqYgjNJhngAv44nAongMk9VwEZ9kb3i3te+EEccJG1iK1hzg9C2pmdOI6ZH8Ih94MU15zwdcUz15LQzbhPQ7nxPG1GfuOcNMaiZeGnuUoXhXv1xV04qWRDG1U5mrHqgU2EHJTDIV0XxNEvCuirgE3cpiezzlI7iq/9pw0KZNYWNCzoCXRYDJlqQsEYBPXPi2Tpv1oInj9Bly1Bh85S8gqliOyo/Cj2AU/vGdVl8tzJXFI73A+E16sLesgGZawnvYY6g8RCix7UEUYELKIu1//A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ujULk3y1sKw+hpceXjwl0rWf8ealySFr+FKiZ5uJz1k=;
 b=XPFeCHSuaf/Maik/y0ickPs3kDmeBO35t8/7+v93NIcM3/IQkPznGWOo+F6bO9x2wS50JH7U6kvM7L0XyWbAyJZgbnNeVxn4GqoYbYUwE/NLJRagcML8Gf8v40ZBsNSTAjR+SGR8swYFsvaxgAQ+68xDp7aeTDO3YUZHGOWbLcE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Subject: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts by names
Date: Tue,  7 Mar 2023 12:09:49 +0200
Message-Id: <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.35.1
In-Reply-To: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM9P250CA0006.EURP250.PROD.OUTLOOK.COM
 (2603:10a6:20b:21c::11) To VI1PR04MB5056.eurprd04.prod.outlook.com
 (2603:10a6:803:5a::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB5056:EE_|AM8PR04MB7921:EE_
X-MS-Office365-Filtering-Correlation-Id: 605580d9-2297-40be-ea7b-08db1ef43de3
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	o64yeR9N+eIHS8LmikWqMxovNJV3eLVOTHrsPYKDlA3JU+pniDRsXertxsnF6sSlVXIMhVZL1FTkaqbXKzfhl1clXqZ8Cy08yVqUza6LRixsxZx+nRucWZXPX4+Cpxae+gIpJG/3/hpoYiTMyhuvLifpxd/wvL5j5dSyZl63rdq5w6c7Di7ISSh/9aI41WPuir7KEDfYvzAJw2qZtdzJsuUAvWXUSP0CMtb7TrSlBCHw9a2qnRzqA8ETfTS6JiFjs6J1yA2wxSUsUCyoLGP2GWNz51CKKezFVJ6fjsDY5nUfF/OF9dy68Vvb0EqFVci4YevQNGx1SizZTYhQ1FcZuMPPVjRJFrCSvleW0rQqGpqHGrKXM7BSz8DDWTMSDiWm4igVQHfYYHW6g2mL0j7zhKaO5tRBhkZ7c9s3WBYXBuwpu2QK9Q1V7WUpHHgejv3gbkhSNFJCFmbxm9Y5Lu0/iCVzZSAizshNK+yoX2Cz0PPENFajf+BSfWPy6XwP3/R2lGSAV2VVuNMPkY8EXIlcZWz9K7v/5q9nDx3SPmiAukq5V5HX5oO+iQQPkQ2x5YGF+sAxQinqbtlVNzBpQv2TDguq2gLTvYPBAJrdDQ0TEQnyExVjaC0/nnsIfKqQ2nKqyYXVumYJgBJVh8C8i32xmlBTgqFW38HdR0nf5O8adxw5BqZ/y/Ond/Pl4LQwRGTQ394Xhv+mT5kbunrh6xri3g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5056.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(136003)(376002)(396003)(366004)(39860400002)(451199018)(38350700002)(38100700002)(86362001)(8676002)(6666004)(8936002)(6506007)(5660300002)(2906002)(4326008)(66946007)(41300700001)(66556008)(6916009)(66476007)(186003)(2616005)(83380400001)(6512007)(316002)(478600001)(26005)(1076003)(52116002)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?TYJ/TmdxBe2a/uhqf/wbD5Ey93eechP/sH8L43YsjcuscsJC4qiAI5/ihiH0?=
 =?us-ascii?Q?0paqdWCNpDxdtanBSo5mJUAEFV7hf7AOGjYNeMgboMIosWGUnr5+Hgbh06hq?=
 =?us-ascii?Q?jsX7jsHb9nQ0WfS1pwrjGBYFFiGLNCVPJSNlHxz64site/p1cGY6g+k8Am3b?=
 =?us-ascii?Q?+++1ZQ5Ml2NCX/BpdfSoNPp8XPg+XAmhihzUD5WMmCuwDvSOJAureWZpCjvI?=
 =?us-ascii?Q?aQpei8YG15y9TyNoyz5oXWs6mbsnwJHnPZ2B3HVgrLxnFNOfUI/+Oy+FDXHb?=
 =?us-ascii?Q?xUHukOnXdoOM5gECLlGEIyIPw8fbeipNYUMwIjT7h+gDlE1OuoEb/4BYZkH7?=
 =?us-ascii?Q?nsNFqZuV/C0PmL8r4glV6ruJjfx2pvrlm1soYTk2P0saTOJM6Fg988wDoMXg?=
 =?us-ascii?Q?LdgMa8cu4me754jp4M2gYT7QZfahdtTLjsvIfuZLn/ndg0/wHiDBMYiwg4Df?=
 =?us-ascii?Q?P8m2yClNdApWNg9upwxFQlQPnSnnPf+jStAJaB1akU0/GJWevqopALLGRQib?=
 =?us-ascii?Q?wBeQ8p0khlQixTKkS8NDqEhYzXMc9A9Ym+FdaAEaiCedKYLQYhnvH0F3N71i?=
 =?us-ascii?Q?AVif3gWAxFkxVNgLfBxL7B1btNhDl1UTxEPXYwXsVmRD6tS7/OBynQ/d6+xx?=
 =?us-ascii?Q?OuSQuhVhScmzqR+gLV3HUf9aFCDlYTR3wgj225k03bdRvPXbyTLLEnot9gl/?=
 =?us-ascii?Q?4aX7mIw6fdux60HEmRbmQ+1OIdX/Y2JnnkiaZrpcXWer6haJoYixBQJoHYOI?=
 =?us-ascii?Q?1wip7wlUGGYJY15aTZ4WurDcT4wJJ3n83CN0uO4G2+h7B+/iTPziTeF+LLA5?=
 =?us-ascii?Q?Bk+86EyicZfPvl94WJtpv7qM6G3NZW5xAIlCsLrBBobZ6SHr8nDsypGc14gq?=
 =?us-ascii?Q?jiWbbQiiHJXTGmRU6slYVM0br1LTC6krS9Rud+bksx3cceVmT2tLglo4cua9?=
 =?us-ascii?Q?67+OB5V3G9x26x4VcxP6Knyl+5lTSuipTQ8ZNsNPBlY4023C0Qmtt5yukCu0?=
 =?us-ascii?Q?5DCpokomVy2H0u87ocY/JSPsrUOzfvVyjZ9ERus/fihqaRKolkJBgTWZ17ZE?=
 =?us-ascii?Q?YLIUV1WMlsyACxDorx/4pYiFlQnQPrj6/SPj3iZ13ELqvVVa4WYwk1WIFKjj?=
 =?us-ascii?Q?AnRzw274YqPa4G+f3Hc7l7IgvrEqHnV6BpSyBhUFub0Siap0ffmy48rpiOdv?=
 =?us-ascii?Q?CPtg1qP34pdu1FouOCA3iPyKMjGR9MoLN3R95fyt8o/2/PbpJZstBLV/khue?=
 =?us-ascii?Q?HwIhw4FRxUsck65qJtua1+/JG9pmVi0Cnnf+TTYCGkWNpq42hRpcgEQnbGyl?=
 =?us-ascii?Q?b6NmNA1pfWblY0YtwjOyTXafsFULChT1EblAc6cj5r6QT2ALuneG5se/ue5G?=
 =?us-ascii?Q?442v/mcR95h5XLux0+ursizpZUEkEeSawo/3ngkU3hUs+OxDj0NWd1gLIzAl?=
 =?us-ascii?Q?RaAwr6bJfM5MFCrmX7gvPk6VcHmJ98jvYX8OSBtvbKKq9vPaLt+fmfBLOv6t?=
 =?us-ascii?Q?S34UDIghY37ufP+XeVopB51aJzW9yK2p3HikbP7K+wpXxyBK+PHhqqUIvXA3?=
 =?us-ascii?Q?jYo9C2c9FexnqbPMRZrVM82Nssny6bcZOQahkrYsaluaGVZq6YR0cn0F9Fe8?=
 =?us-ascii?Q?gA=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 605580d9-2297-40be-ea7b-08db1ef43de3
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5056.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 10:10:56.3663
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: V0VS2RlksyQqhiEV6H/MdXbNrrljZHWFvHhl458JIuau/l5rwejIACS6mvjiVWF45kHjbeJqybiKfsHrds3j7fhYuuA89+TwHl2d0CJQnzY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7921

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Added support for parsing the ARM generic timer interrupts DT
node by the "interrupt-names" property, if it is available.

If not available, the usual parsing based on the expected
IRQ order is performed.

Also added the "hyp-virt" PPI to the timer PPI list, even
though it's currently not in use. If the "hyp-virt" PPI is
not found, the hypervisor won't panic.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
---
 xen/arch/arm/include/asm/time.h |  3 ++-
 xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
 2 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
index 4b401c1110..49ad8c1a6d 100644
--- a/xen/arch/arm/include/asm/time.h
+++ b/xen/arch/arm/include/asm/time.h
@@ -82,7 +82,8 @@ enum timer_ppi
     TIMER_PHYS_NONSECURE_PPI = 1,
     TIMER_VIRT_PPI = 2,
     TIMER_HYP_PPI = 3,
-    MAX_TIMER_PPI = 4,
+    TIMER_HYP_VIRT_PPI = 4,
+    MAX_TIMER_PPI = 5,
 };
 
 /*
diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index 433d7be909..794da646d6 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
 
 static unsigned int timer_irq[MAX_TIMER_PPI];
 
+static const char *timer_irq_names[MAX_TIMER_PPI] = {
+    [TIMER_PHYS_SECURE_PPI] = "sec-phys",
+    [TIMER_PHYS_NONSECURE_PPI] = "phys",
+    [TIMER_VIRT_PPI] = "virt",
+    [TIMER_HYP_PPI] = "hyp-phys",
+    [TIMER_HYP_VIRT_PPI] = "hyp-virt",
+};
+
 unsigned int timer_get_irq(enum timer_ppi ppi)
 {
     ASSERT(ppi >= TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
@@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void)
 {
     int res;
     unsigned int i;
+    bool has_names;
+
+    has_names = dt_property_read_bool(timer, "interrupt-names");
 
     /* Retrieve all IRQs for the timer */
     for ( i = TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
     {
-        res = platform_get_irq(timer, i);
-
-        if ( res < 0 )
+        if ( has_names )
+            res = platform_get_irq_byname(timer, timer_irq_names[i]);
+        else
+            res = platform_get_irq(timer, i);
+
+        if ( res > 0 )
+            timer_irq[i] = res;
+        /* Do not panic if "hyp-virt" PPI is not found, since it's not
+         * currently used.
+         */
+        else if ( i != TIMER_HYP_VIRT_PPI )
             panic("Timer: Unable to retrieve IRQ %u from the device tree\n", i);
-        timer_irq[i] = res;
     }
 }
 
-- 
2.35.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 10:12:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 10:12:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507273.780569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZUIk-0007ix-Co; Tue, 07 Mar 2023 10:12:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507273.780569; Tue, 07 Mar 2023 10: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 1pZUIk-0007iq-A3; Tue, 07 Mar 2023 10:12:10 +0000
Received: by outflank-mailman (input) for mailman id 507273;
 Tue, 07 Mar 2023 10:12: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=4ndv=67=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZUIi-0007ig-KT
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 10:12:08 +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 8308a040-bcd0-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 11:12:06 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU0PR04MB9300.eurprd04.prod.outlook.com (2603:10a6:10:357::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Tue, 7 Mar
 2023 10:12:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
 10:12: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: 8308a040-bcd0-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cYkYyR8XazbhX7IFIMs3uEs24jSxL+q2t6L+LtFF5GYc0JMG6drkK+4Vbuif/rgfPjXWtGLJHS8l2rhDkfyISUtbIULvW421NyzOJRvbFBRwigVhBx1+sFeAVXJ++9qw0YjmgwIrMLh9vkgBraMbEMvHTBtMmgMlu4fUP1iKnJfWnQz2vUm66PKCXrZgtuIEtegjkO/wnwzFA2OhXlKILqEAZRdnm3MxXulw82frf88iDwudhScrpqD5KriAPJ6KMxKuj0zozvzwQoA7otJGge69HKV8dzSJPHHj3F8KA0Ec7/dmEXVHzhbp1NGIoVsN+BwY3oYOlqXmdPdZwiINhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HJPnfFe8idBUNYlVhDXOIMLAPqhrMoUJbXW8Se90YAA=;
 b=SnegFLsSL/WPOwRiClW+9iHLzyi/EhGdVfb7vYfVQJ8O7tZldTGjxCeE5ZfufFsyULiOWD11jmkd8ONESmvZv3SWyciWITBPiKgQLlH9vW+1Mg5H3AyqyGSsLeBrTzCKSqmCAy3ZN2jipELbP0bMUOJR7koXOhwsi9wenNR4OIwmkPZOPTo0PABwfDnpMFSTplhn2ItCZ82l+kveqerpzU8pjxlEbTu9zrNZQGNgyer4jNq+Q7dszNm8uIqA1iVokCArGT+f2FDAQYjvfSUy24WA+BMMy/X/KIxe4Hzu686aCx7z4hlUKrefcH41Sw76dyGAJu8p64zfncKcc2wMFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HJPnfFe8idBUNYlVhDXOIMLAPqhrMoUJbXW8Se90YAA=;
 b=RHgiYp3SdcVh2FukQDTgZZEg8RTshX/T/JUghmLDLXNP8pVJKvyUzI2R61Q3SHLYJx4DJLffnGwFCEtINVOljMLKh4+cONIITgOpOLAYJsbJfLWRvOwJlTZO5F1s5MsFJlBeb5U3KB7H5pqbJSlGPMwLwrdK9PiFnypIMJrfmrD9waoLpqMqn+J4+jIIctqIHi75LwDh7ZsgZSD05bFGl4L1XEWiwJ9GIpM9XzQPuV0Z7p8uF+k+sw3uaNiZs32Azl43N30yaNpmqO+KF2PFsG0b6hHDAPIFVMglZ7EBtWAgYmZP+d35oq8AgZIqLoKRibxJftpHxfRif4qXxuY41Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c40f1a4e-63a5-af2a-e5db-729b1af80708@suse.com>
Date: Tue, 7 Mar 2023 11:12:00 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: API/ABIs: Re: [RFC PATCH v2 0/2] Add a new acquire resource to
 query vcpu statistics
Content-Language: en-US
To: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
 =?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>,
 Dario Faggioli <dfaggioli@suse.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <cover.1665138677.git.matias.vara@vates.fr>
 <90a551bc-ffda-6db8-775b-11c100bf6f52@citrix.com>
 <20230306142315.GA745324@horizon>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230306142315.GA745324@horizon>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0058.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU0PR04MB9300:EE_
X-MS-Office365-Filtering-Correlation-Id: 1902d995-41cf-42b8-2aa2-08db1ef465a5
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:
	N220IfqJFOkNjOcN3OQm/eRZ+ns2IoF+0TLSs7J7XqH0EyOKpusQwA3mWUM8wX6GUiVsJ4lsxvR+29+KDWavhAzVNlrXx05hczoBBRIrsDJd2SBRfQDcPS0NNi0N1yu47b5iGa80Ky487eZlgW9tnGZzccOlayv2OANASCQCD+OHNst3GCP4Wz7EXQo9uBBBU2GCkMr2gllXE8xc7xBhoE4M5G0r9YptyJ5g5uiLOaIYP+II02mYGYX3U83jv+YZZm62IlUxYk65myRxVMbR+DARvzWhQ31MQVwQPqHupcHOwhJNbDLS8DmCmwbLWjSPZlgyrCMRf1iGOp5zqrJV/2B11PcF4772zjU/z0JfXXR1DKiD8ObRcYeRaU2zzmfiXCkML6Y8O5NeB1bza48b+QBPXMid0oZHpw5u/CeRgyQg760AAfJaVSNF5/rCrwMv7vXRIFZp61tHeukg1JUgVLNW90CA+l6T8595RV//Lw78riIbMqIUTefgzqIiW2lPideZdkafqojKSBM19fSvysHEdQWxkmgC0S2OYSKPjymXxfoLxL6SfVcRSlEPt3VxDDN0JUfw6a+nX2P0RGmWEBUfguGLwgMnJVuhQOm4WU615j/xyHv8Zy2fUJGXdU1mhj9wzW90nygqBbLsuZoMdjsv6KPypv8vyieai7u5UWyQx0ufa13/ria49K8EzWLogci/GjHsHxXnRIw/lryo9ofvE7BuJPySnbgBYDnxuqU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(136003)(346002)(396003)(39860400002)(366004)(451199018)(31686004)(4326008)(36756003)(66946007)(66556008)(6916009)(41300700001)(7416002)(66476007)(8676002)(8936002)(2906002)(5660300002)(86362001)(31696002)(38100700002)(6486002)(54906003)(478600001)(316002)(6506007)(53546011)(186003)(2616005)(26005)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MDR3andjcDFBczBFREZVMDd1dkw4QnRJM0dyZlNiVHZkWlRudSt1RUE4WjQw?=
 =?utf-8?B?clhJWmErRSsvcElScHRBUUVrMTNqVnpJVFI4N0ZnZW9pcG5EOHhoZmpqY3ZE?=
 =?utf-8?B?bkMzRk1aT0NRNE5HazJWMTFtbk9OS2ZKcW16d2toRnFRazNRaHZHWUVaTzg1?=
 =?utf-8?B?Y2JHVFhrVTJIcUZ1R0JUWHo5cy9MN3NPM2NuMitkb1FtL1h4eEEyODRMUjI3?=
 =?utf-8?B?blRhQmFVeG1BbWxkZ2pybzFSdml2TmFYcThJT2ZRQndLTnZQOVpCT0ZuRmZw?=
 =?utf-8?B?dlVaUkppNmNOc0dHbzViYTk3b2tEVk5zTmlrSklqTkI0bEc3SGZ2ckxVRHUv?=
 =?utf-8?B?RDZDalhkeURnL2RtOE5naDBHNkt0Y2ZKbVRNVDhOeDEzeHppelRjTUQrN2Vv?=
 =?utf-8?B?SjZTS29GUmorS1pPQ25QQXVEY0pUMWZQT1dLeStDRFBKWW5aL1kwK05QazM2?=
 =?utf-8?B?NVBYb1I5QWNaMW5pbjRHbldQTFMxYkVKTnhtMG5ybDY4b3JBZHJhaGFuYnZ5?=
 =?utf-8?B?SHoyeVVzNlQrZW9kU1BpUlJYdFliQ3FJeG5rc2hPRGtaa1haOWJMUVJJM1lq?=
 =?utf-8?B?R0FVdVFuNHQ5Ly8vWGFJUEtkdEFsWTIrRTUrTlRScnFYQ1dPaDlPWllLVE8z?=
 =?utf-8?B?TlVjZ3ZFNWQ1QTR5Ty9mcjZtYWFhZFNaOW04d1A4ZDlacHpmMEt0MFlHZEg2?=
 =?utf-8?B?Sk9lSjJWekp2cGZhN2lOVE10ZGpYK3Nmb1EwSndvRENtckl2ZEoybGQvUEdR?=
 =?utf-8?B?Y3hXN0oydXBwakY0THVJbWQ1aHBHdDNWVFN3QWNWYUQ2T2dKMzdoZWltV0px?=
 =?utf-8?B?cFhncmd2VlpEQUNpWDV0S1E3VW5OaW5rcjc2Y0tUTG1reGVxazBKVGhmVEZJ?=
 =?utf-8?B?Q0dqUFhOUlVIWEFuRW92cjJMRXJGaUF4bDlyeFpYZlNRWjRwdDdDdVBaNGdT?=
 =?utf-8?B?VzZhRitKMG1uNHF0MUVxTXVMLzRFWUdpa0pyZDZ6aDlzSlFqeWdNM1NQZk1V?=
 =?utf-8?B?OTdBcWg4S0JiU0R3YlY4bmlrdVN6TmxXVnV0R1VQRDdMUWg1a3doUkJVTWxL?=
 =?utf-8?B?K2NSbzlmMkFzeVlmUVNPNCs3dWwzdG9IQ2pHUzJQSktKWnBYKzhQNVhhS2tL?=
 =?utf-8?B?UFZNTFZOWGV1TlR4RkNKWHBvV3RFbm42Nmt2dHpZaHQ0azhibko5VVRpNGlX?=
 =?utf-8?B?elM2ZWJnWUZYajRwWForcFpBa2JwZmxNZ2puN3NvQ1N0M3VlN0hlVEZHQkNK?=
 =?utf-8?B?enlQeE1yU2JoWlpRREhOMmlCMWhKUU9OMm92UTlMbXpaZWdTMHNMbTNVZmVP?=
 =?utf-8?B?eXJpTkQ5QjV0SmhhTDFJczJxbzhTV21ERHRremRTaWt3UUQxemxHU0NIU2lR?=
 =?utf-8?B?dkxlcUNodWdlelhUVGpweUozTGRiWklleXdVNklkRGtuWmk4aDRJN3ZxdHg3?=
 =?utf-8?B?OWpOQ0R3YUNTa3BiYWVJUWJFUVlNQTlmY2Q4S1Q1dzhlVDJTRGd6TjE1L3Iz?=
 =?utf-8?B?SHVicG9QS3RIQ1diVE12Q2pMYjdROUpmVTdzcmUwT09jTExTQXFZTy90U2lq?=
 =?utf-8?B?ZmJiWUhaWHBlUzNNdjJzZkhOYjR5VU1vRDZxd3V1MnhoYzdzSm9aYnpoaEhN?=
 =?utf-8?B?UmJQL3d5YXpUaTNpLzM5VEp4ZlBIZnZKT1JiWGw1ZDNhaWJzT1gyNmt4ZmN3?=
 =?utf-8?B?Q3NSWGFQc01IQmNqSFJGTkFENEFiQlR3REN1UHNVekl6Z1NsVHZyZTZ0OVdU?=
 =?utf-8?B?RlZydzdHVkRGNHFVNDdlZlIrRms2TkFiYTJUTG1GUEJXSDM0SFljaDZlSnJT?=
 =?utf-8?B?SU1VT21MYktyQjNaWjBHb2YxcGpKSmFRTC9sVnNYeVB6RGNBTWdhaklkaE5s?=
 =?utf-8?B?OFkyOWU1N2xvRnNqN2JyVkQ0MzV4aDdZbEVHN29uR1ZPdFdmWnpRZHB5TmhT?=
 =?utf-8?B?RVBJWlFWMHYrNTJDQnovbGZhTGRmdVFBd2tDeGdub1FOeFpZSUw0KzNFUTA4?=
 =?utf-8?B?U0t6bEtUallCWnRXWDFIb1NnYVBKaU00N3pXd0ZlVi9WWC9CM1pIL2tRc0pW?=
 =?utf-8?B?VHlkd1dkTE5RY1lDNFpqR0ZzeldxSkxSMmxlSXpybzMwekZqQnE1NmRqWFhp?=
 =?utf-8?Q?iCF+NNniwB8mvfqF7+w3HE/+j?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1902d995-41cf-42b8-2aa2-08db1ef465a5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 10:12:03.2514
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wz8CQTGZyJTmqtPMXVd8wt8+SWh2FzUpp0uw8qiMDm/19Dd+e+iZbjeygGmCPiG6cweesdR/kmh8wnBtgA2jWg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9300

On 06.03.2023 15:23, Matias Ezequiel Vara Larsen wrote:
> Regarding your email, I have the following comments:
> 
> - I still do not know how to choose the value of cacheline_size. I understand
> this value shall be between the actual cacheline_size and PAGE_SIZE. A value
> that could match most architectures could be 256 bytes.

This isn't a concern anymore when offset and stride are stored in the
header. It was a concern when trying to come up with a layout where
these value were to be inferred (or known a priori).

> - Xen shall use the "stats_active" field to indicate what it is producing. In
>   this field, reserved bits shall be 0. This shall allow us to agree on the
> layout even when producer and consumer are compiled with different headers.

I wonder how well such a bitfield is going to scale. It provides for
only 32 (maybe 64) counters. Of course this may seem a lot right now,
but you never know how quickly something like this can grow. Plus
with ...

> - In the vcpu_stats structure, new fields can only ever be appended.

... this rule the only ambiguity that could arise to consumers when
no active flags existed would be that they can't tell "event never
occurred" from "hypervisor doesn't know about this anymore".

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 10:15:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 10:15:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507276.780579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZUM6-0008P9-TO; Tue, 07 Mar 2023 10:15:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507276.780579; Tue, 07 Mar 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 1pZUM6-0008P2-QW; Tue, 07 Mar 2023 10:15:38 +0000
Received: by outflank-mailman (input) for mailman id 507276;
 Tue, 07 Mar 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=JVyd=67=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZUM5-0008Or-M9
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 10:15: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 00bb3e10-bcd1-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 11:15: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-out2.suse.de (Postfix) with ESMTPS id 3280D1FE17;
 Tue,  7 Mar 2023 10:15: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 019581341F;
 Tue,  7 Mar 2023 10:15:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 8vGCOscOB2TGWgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Mar 2023 10:15: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: 00bb3e10-bcd1-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678184136; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=s4Qt3vZRexltBFiP0VZtlCJzwjAadgqYyj2/rqyXu0o=;
	b=gJBNkNmw2QtMXirjMceYRptRgEkD6Q/4fkHg1zcre4mY7p1zI1/7e2r/rE9j37acH0Sbat
	sV3lvccQXKkiuJwb8gTW5DhH6HVoO/JdwktU8mVOfgkfrkHpJ9aPIaMA5vjJ8eOxbhexGY
	gRelTG+mDgkcB8v6HQVdL8ETykoeLuc=
Message-ID: <a688c968-bebe-694e-b8af-3acdedd4334c@suse.com>
Date: Tue, 7 Mar 2023 11:15:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [PATCH] tools/tests: remove vhpet tests
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <20230306162904.7831-1-jgross@suse.com>
 <b131fc3d-901b-a4e9-3827-0daab0505452@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <b131fc3d-901b-a4e9-3827-0daab0505452@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------jo0DPslVwukZ8Nf47CptpVH0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------jo0DPslVwukZ8Nf47CptpVH0
Content-Type: multipart/mixed; boundary="------------WJxB0zXTd0z5p7kcO28EbN8r";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <a688c968-bebe-694e-b8af-3acdedd4334c@suse.com>
Subject: Re: [PATCH] tools/tests: remove vhpet tests
References: <20230306162904.7831-1-jgross@suse.com>
 <b131fc3d-901b-a4e9-3827-0daab0505452@suse.com>
In-Reply-To: <b131fc3d-901b-a4e9-3827-0daab0505452@suse.com>

--------------WJxB0zXTd0z5p7kcO28EbN8r
Content-Type: multipart/mixed; boundary="------------oja9rJ0O2VmMaU7Kt0dzeFdV"

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

T24gMDcuMDMuMjMgMTE6MDIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNi4wMy4yMDIz
IDE3OjI5LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gdG9vbHMvdGVzdHMvdmhwZXQgdGVz
dHMgZG9uJ3QgYnVpbGQgc2luY2UgYWdlcyAoYXQgbGVhc3Qgc2luY2UgNC4xMCkNCj4+IGFu
ZCB0aGV5IGNhbid0IGJlIGFjdGl2YXRlZCBmcm9tIG91dHNpZGUgb2YgdG9vbHMvdGVzdHMv
dmhwZXQuDQo+IA0KPiBUaGlzIGlzbid0IGV4YWN0bHkgdHJ1ZSAtIHNlZSB0aGUgcnVuLXRl
c3RzLSUgZ29hbCBpbiB0aGUgdG9wIGxldmVsDQo+IE1ha2VmaWxlLg0KDQpBaCwgSSBtaXNz
ZWQgdGhhdCBvbmUuDQoNCj4gDQo+PiBSZW1vdmUgdGhlbSBhcyB0aGV5IHNlZW0gdG8gYmUg
aXJyZWxldmFudC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jv
c3NAc3VzZS5jb20+DQo+PiAtLS0NCj4+IEFuZHJldyBzZWVtcyB0byByZW1lbWJlciB0aGF0
IFJvZ2VyIHdhbnRlZCB0byBrZWVwIHRob3NlIHRlc3RzLCBidXQNCj4+IHRoaXMgaW5mb3Jt
YXRpb24gbWlnaHQgYmUgc3RhbGUgb3IgYmFzZWQgb24gZmFsc2UgYXNzdW1wdGlvbnMuDQo+
PiBTbyB0aGlzIHBhdGNoIHNob3VsZCBvbmx5IGdvIGluIHdpdGggUm9nZXIncyBBY2suDQo+
IA0KPiBIYXZpbmcgdHJpZWQgYSBsaXR0bGUgSSBjYW4gc2VlIHRoYXQgaXQncyBnb2luZyB0
byBiZSBxdWl0ZSBhIGJpdCBvZg0KPiB3b3JrIHRvIGdldCB0aGUgdGhpbmcgdG8gYXQgbGVh
c3QgYnVpbGQgYWdhaW4uIEluIGZhY3QgaXQgbG9va3MgYXMNCj4gaWYgaXQsIGhhdmluZyBi
ZWVuIGludHJvZHVjZWQgaW4gNC41LCBtYXkgYWxyZWFkeSBub3QgaGF2ZSBidWlsdA0KPiBz
dWNjZXNzZnVsbHkgYW55bW9yZSBieSB0aGUgdGltZSA0LjUgd2FzIHJlbGVhc2VkOiBocGV0
X2luaXQoKQ0KPiB0YWtlcyBhIHN0cnVjdCBkb21haW4gKiwgYnV0IGlzIHBhc3NlZCAmdmNw
dTAgKG1hdGNoaW5nIHdoYXQgSSBjYW4NCj4gc2VlIGluIDQuNCk7IEkndmUgbm90aWNlZCB0
aGlzIHdoaWxlIHRyeWluZyB0byBmaWd1cmUgb3V0IGZyb20gd2hlcmUNCj4gaXQgZ290IGEg
ZGVjbGFyYXRpb24gb2YgdGhlIGZ1bmN0aW9uIGluIHRoZSBmaXJzdCBwbGFjZS4NCj4gDQo+
IE5ldmVydGhlbGVzcyB0aGUgdGVzdCBvbmNlIHNlcnZlZCBhIHB1cnBvc2UsIHNvIGl0IG1h
eSBiZSB3b3J0aA0KPiBtYWtpbmcgaXQgd29yayBhZ2Fpbi4gU28geWVzLCB0byBkZWNpZGUg
d2hpY2ggZGlyZWN0aW9uIHRvIG1vdmUgd2UNCj4gd2lsbCB3YW50IFJvZ2VyJ3Mgb3Bpbmlv
bi4NCg0KWWVzLCBJIGFncmVlLiBUaGUgbWFpbiByZWFzb24gdG8gd3JpdGUgdGhpcyBwYXRj
aCB3YXMgdG8gY29tZSB0byBhDQpkZWNpc2lvbiB3aGF0IHRvIGRvIHdpdGggdGhlIHRlc3Q6
IGRpc2NhcmQgaXQgb3IgcmVwYWlyIGl0Lg0KDQo+IFdoZXRoZXIganVzdCBidWlsZGluZyBp
dCBieSBkZWZhdWx0IGlzIHVzZWZ1bCBJJ20gbm90IGVudGlyZWx5DQo+IGNlcnRhaW4uIFdo
YXQgSSdkIGNvbnNpZGVyIG1vcmUgdXNlZnVsIGlzIGlmIHRlc3RzIGxpa2UgdGhpcyB3ZXJl
DQo+IF9ydW5fIGluIHRoZSBjb3Vyc2Ugb2Ygcm91dGluZSBhdXRvbWF0ZWQgdGVzdGluZy4N
Cg0KSW4gd2hpY2ggY2FzZSBpdCB3b3VsZCBuZWVkIHRvIGJ1aWx0IGF0IGxlYXN0IGJ5IHRo
aXMgdGVzdCBzdGVwLg0KDQpJIGFncmVlIHRoaXMgd291bGQgYmUgYSBzZW5zaWJsZSB0aGlu
ZyB0byBkby4NCg0KDQpKdWVyZ2VuDQo=
--------------oja9rJ0O2VmMaU7Kt0dzeFdV
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-----

--------------oja9rJ0O2VmMaU7Kt0dzeFdV--

--------------WJxB0zXTd0z5p7kcO28EbN8r--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQHDscFAwAAAAAACgkQsN6d1ii/Ey8u
hwf+O5nAjO5Tvs1s9C+TYxH1sId2aWCbOfBsHEHZoxwrt80ndG0QEG8/+Vdn1e2dmYW/sjBQMFSw
TbZk8C/EYQVj6oYLFMt8yfyiWFicM4uX5FXPrY7YDk9NFtlUQDUbIi4VCJGKd71qnRP27RpPZ0fM
wJ+AtXvnC7kxDmfk37gbVAYQ0iw9M8/sJrO6KuMgh6Sn4AUc3wc5OrbVKVMrJFRxWDnlJ26QO+mj
LDxW+bgNcz2A4xRfZ5UfaQ/TXOrUMQyQYrMiZwjiw5XCiCLgUzcnert/9Ga0DSW50NLtRVN1hIoE
Z3y/TgstWPDfA9YsU4dhFQFmrX/D3zuc9Q5RWYE+Vw==
=ayC4
-----END PGP SIGNATURE-----

--------------jo0DPslVwukZ8Nf47CptpVH0--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 10:32:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 10:32:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507284.780589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZUbl-0002bO-97; Tue, 07 Mar 2023 10:31:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507284.780589; Tue, 07 Mar 2023 10: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 1pZUbl-0002bH-5v; Tue, 07 Mar 2023 10:31:49 +0000
Received: by outflank-mailman (input) for mailman id 507284;
 Tue, 07 Mar 2023 10: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=4ndv=67=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZUbk-0002bB-BX
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 10:31:48 +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 4318a42c-bcd3-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 11:31:47 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6156.29; Tue, 7 Mar
 2023 10:31:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
 10:31:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4318a42c-bcd3-11ed-96b5-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BAd5sSFMvASeiPS8MVpyEewzrRTyv7t3u5yfgmYbOS3WjyhCXE9sLTT/MLqs682NOIZONAsluAOJ70AGsiSW6sH7X15+gKZu7PLpBszO9wHXr1U6BQMHyQ1LE3wY/Yk8Fg3sbSf85uFOaj/8dKOEk5VjgNu6E4GWmGQ/XXFLKfnD709/90ymk0kyq5vgquEsNFHRlICEMG9iMF3bMSV1mG2QCh51N+EDtsFstgRi/EqG/2AKrdRdIuUteY1hF0N7vecZ4p4gagLhoEl+y15gzNBt95WEMk66SiV1uvHfe7Gs9/0opyabQ3UeS6EYwQn06uwIH45nssUWvEEIq26ANg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lWBcvOeW8FnynRmPGdKKUHqLNmqjQp5RGSOdGHIFaxg=;
 b=IZUYKiaOkKQ5CgCLXDQR3ikwFvJMkTHD9osC+F8lQ+m3PIbuRRlxU7OXNuTGUSYbLEdgj/x1HUSeI3KNEOh2E4x1QIlfYKabAATr+Pu4wdYD/3PfOlaB9xslR3Kqv38Yd8oWRleB8XpZOZCdLGMq3bPyojpm5hTw9u2p3qnh3Xbu3KWv6zsOKnAdg9iKk0n8tWpnRLaZa06LFg1buL4QmGCb7H/EloaVBF2ejcOWluWiQMwa1CydUA1NwcsDM/f6E4Z0ts+WoFWDaIw3XzAbXzANaYmdR4iMwVbma7WrPMMdXQ8u36f1PNmkPBKhu9f3bPNUBYN87TPgfi30A1KdTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lWBcvOeW8FnynRmPGdKKUHqLNmqjQp5RGSOdGHIFaxg=;
 b=n7Yloftv/OXvKYcXMuw/03E8aBzC9L3OSnAwuOk0TPXWIXRyKC1/RG4wniv0I9oy2QVnWYgGsjoDLbALDFThIoL345/VHfVYjgMyjAjXwNtC6wFIbm14IcOFmIUOTEXSN8TQWFiz09l/hAHPd1FtDdNyhy4Sr4hgdIBEvpMrx9Y8OHbwwcZWJTGRwi0TkwbKiCPxRAss/Q0xrksKw8EKhe0nG2ujwqkNVJHM6OYd0Nq8rdlc9NgNpWk4E7oJCe5sjgFuM2SMiGPkNxWggSB/nWk7e3bPQQ8k8+Vj3TyR92yQT8xslJO5onT3n60Nz+BDM30uwFMtKxOr9LOdU688aQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e1353c0c-9501-3713-b759-0989447e6496@suse.com>
Date: Tue, 7 Mar 2023 11:31:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 1/2] xen: move CONFIG_DEBUG_INFO out of EXPERT section
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: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-2-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230307063214.30569-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0103.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7396:EE_
X-MS-Office365-Filtering-Correlation-Id: 83572c0c-a7de-40db-f9e3-08db1ef7260f
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:
	5WGWhWtdgIlTNU1bAlPO+e8Rdr5+c88ji/+m0bBDnb/rGvcNzfjxhCoGYjonxelesTZDbA7aRo44YumB3nXRPMScYET44g5yvjYywd2fHnJ0UpF2rWHjpJWkvrD5LDU1BC/92VdwM5hnQtniEa7J/0q2r0yF5viENjBoV4z50BHo+CcYI6X2T3QD28+LSqdWbh5akqj2Fqbkndv/CPBdek1BjOhSVPP7kFStMsZbOYKSXogvSRfaKzBjICX6l80t2NnTuaMMjUP5RfwNYCbnxlu2ppUoRBPJ1UACw8kQ/YSzxepKykzNG3sLldQuwb2kkJ8OioweAdeDlrlzJl1vtHXnqGm8LEwa862KNCIrVCES2xv12F6fatHtjwhH7baUHsreFcTgcaP8P+KKiZaMsbeusRjjIL4TNc/UOPOssVaSBMDU16vnFviB5vVqN/mowM/q/0bHGl8VroQy9l0vndF9KKvtZlhs55ST3yn1eg2RlJAKNkcN26L8dtk/ltRyPhS0OZGqpQmqxNzafx0giTwntO82Rio+EcNNIHYGdWLqY+yWhHGdxzexsTLY1cZAX5BGAM+cpOPGgA+1ttyY9vWqNlyixpLB20gOP+rTJMpBWoolegJV8KmPedu89PYdgzB+tJGGbsF+paYKgAdK3EMHGjCMffO+u+Tx9xTcBMavZG6KPb2hudnW+OejzfH8o01zQhyZIJMtIRbCYjXH2GW8reORWiAJvYdrvuSP0c8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(136003)(366004)(39860400002)(376002)(346002)(451199018)(31686004)(36756003)(4326008)(6862004)(66946007)(66556008)(41300700001)(8936002)(6506007)(5660300002)(2906002)(6666004)(86362001)(38100700002)(31696002)(66476007)(8676002)(26005)(6486002)(54906003)(316002)(478600001)(6512007)(6636002)(37006003)(83380400001)(2616005)(186003)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MlpOWktSdXQ5MXFudHYvVmNVY3NBc3JxcXZTOE4vTzYzN2pqTS9KdVhSM3dy?=
 =?utf-8?B?bG5uWWMrdEtOZU1NNDNyUFo0TFdJejROeEdQcEV1VXhIWnViYWx2K2VKNDRh?=
 =?utf-8?B?eUIvSWpKSElDQmNhWitiTkg4SURrdnVyL2hZTnZ6TkVzNVpCL2NSVzlxT1hy?=
 =?utf-8?B?WkhQS25BbHdERXhqMmhHRWJwbzhGakNzSEFqU2gwQkticU5oeEpkd1ByOTlG?=
 =?utf-8?B?dWNac1lQb1VnVmhZbnBsVk0zSkFRczdXczNRMXdrMksrRlV6UEIreUdyN1pK?=
 =?utf-8?B?N0tTemJmS3RsMVllOFZjQk1Pd3FUVmYzMnhDNEMzdjFxSmJBRGVubURLMnFa?=
 =?utf-8?B?U2ZkYmtlTHNHSWNrK01CTWtUZFU3Vm1mUEZaWG1iSDJkRmFxTEJ6VC9sYWFm?=
 =?utf-8?B?RW1nZjRDaFRFeVVxemJnNmR2Rkd1ZnVKc3cwVGZ0c3RVc2lIeHp0b0p5b3FB?=
 =?utf-8?B?VXRzZlU2RFFmQ3AvdTQ0SkJpbG82cytTVVZYRU9Nelp3VXpuRWh3TDlOQm9D?=
 =?utf-8?B?aDJyN0NqR09DVTAzMXg5eXNpSkZVQTVzZmZ5UU16cmdYSGNERUg4MTQwVGVr?=
 =?utf-8?B?VWsxS3ZxZWNpQ1lBUUczWGdjb3E0ZndPNDY2a2ZldGpwS0tkRzFPdk9aQ2xo?=
 =?utf-8?B?a3pIMitoOTdMcVNOUzZHWU9rTVpyMzViNk9ZbjFlUGRxUVJWS2VrUWpXQ0ZH?=
 =?utf-8?B?OWxaQm1iOVFBOEpCWUtOU1BJVElrMUFGTVkzK1NhakZOMzNiM3U2cVloeUJy?=
 =?utf-8?B?c0xQbjBHSFRsMVRMa1RQZmdWR1pTTWxoenlXcm5URHZ5NnFHWHR2a2NSUzhx?=
 =?utf-8?B?VDRBWmJzMHdyeGl0a0psM20yQkE5bVhtemtwYm1WOVlsUUVYVmovMVRwWnVw?=
 =?utf-8?B?cmtaMUJLWk9RUmFuT2N1T3FRN0VRTXBYZGZBVkdhTmFweVcwWDhLdkVaR3VN?=
 =?utf-8?B?ZzZ1MHZ1OHJHVGx6SjlKNVB0elRUVTl5dm9HTzF0MzBoTnhvZHFCUlZqanFE?=
 =?utf-8?B?WndJMHFLMFovYXdsWGg5cCtRNEQyR0I5cU1GdS96cHhnUktBdkVWVGVaempF?=
 =?utf-8?B?c1pUYTFvcmVqcUlkVHhLbERjUjdyZVJraFFHems4TzU5WEh3NzdUbG4xUE9Z?=
 =?utf-8?B?cXUyYXBtUVdQNm1DSU16bTVZbkRmRy8yZDQ4QVBBSXNGQy8rTnlaSU5pcjQy?=
 =?utf-8?B?SWM2cURKdVJ4WmhzcEdaVmJzZSs1elZUODlRTUd0c0dYR2thWlVRWm5QUjg1?=
 =?utf-8?B?Y0tITFJ5cURDQ0tFR2lQSFZ1OGJaTk1qS09jbUlVVzlOTWtNdVFzZGtET3kr?=
 =?utf-8?B?VWFtUnZRK1ZlZ09hbkZFZ2QxMlN5R1RldmI0VTF1UFJxMjc1Wmp6ajNMZWVD?=
 =?utf-8?B?NDVpMXlYODlMQkdNcjhCTkxEdk9xNGI1aW9yb3NMd2lNWVc1SjhvcGJEK2s5?=
 =?utf-8?B?dzdYNXR2L3BNZ2xHVElUSnRLOTVmS1BkbnJIcTkzOGdlZ3I0M3VrWVJYOTdh?=
 =?utf-8?B?OGEybjIreGRvRUkvRitXVUFVTFAvdi85Qk9TeDhmRTdCU1MyeExxQXpTZjZi?=
 =?utf-8?B?cWNOYmE0TkQxWEFrTjhQTEV2RkNYVTF4eVNGQnYwcWtzMC9GNHMwd0luZXpS?=
 =?utf-8?B?K2Z3VFR0TGhtTVNPSFJsSHNzT3A1UGNVYldQRDM0R3B3V0FTY1NQYWdMeFNS?=
 =?utf-8?B?b3ExSHA4RzVGM255WDl0cFZlZTliZm1jdHF1UGpjc1JJcWcyUWFIWFN0cm5G?=
 =?utf-8?B?MkxnWXVlQndPOGRMcm9Na1M4TjVHdVQrMXVmYWtobjR1dFIvL05uVnFmU0hm?=
 =?utf-8?B?elEwTm9RV3BDcXlSRnFRUVF3RWhWNGJlakpIY0RCMlJGUkxaMkRsa3JjT2t3?=
 =?utf-8?B?ZzJvWDNFVmtTc2FqcnRwSlNtWW9rWHNhVjN1S2VjZDc1MENFMkdaMlVqWDU3?=
 =?utf-8?B?ckw2TTRTSmxQcTF5eTNjVmNqR05SMmlNS3RRTEN3YkR0clpnNFBGNmcvR3dN?=
 =?utf-8?B?NnR2dkRmNVhxQ2VNQlRmRC80QTNpV0RWUnFQbGtaL2JSckNoaXBRS3o4c0dQ?=
 =?utf-8?B?dCtGd3dJM0FnMDA2eUNvaGhka2RCcDJkQ0tIbkU0VThhOXFtdjFzYzg0WHdP?=
 =?utf-8?Q?vLEd/r+LOYm5HcSh2G+HE9+tX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 83572c0c-a7de-40db-f9e3-08db1ef7260f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 10:31:44.8956
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HVKS5+hzJ9GjAP9sapI8qA2c7lZlO2m6VmrzP2kUXIN//TXVeS2cBO1ebB+W75YTP5kRa+SN1xAtrCGgP1HWSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7396

On 07.03.2023 07:32, Juergen Gross wrote:
> In order to support hypervisor analysis of crash dumps, xen-syms needs
> to contain debug_info. It should be allowed to configure the hypervisor
> to be built with CONFIG_DEBUG_INFO in non-debug builds without having
> to enable EXPERT.

In how far does this apply to xen.efi as well? (You can't really use
xen-syms for crash debugging when the crash occurred with xen.efi in
use.)

> Using a rather oldish gcc (7.5) it was verified that code generation
> doesn't really differ between CONFIG_DEBUG_INFO on or off without
> CONFIG_DEBUG being set (only observed differences were slightly
> different symbol addresses, verified via "objdump -d"). The old gcc
> version selection was based on the assumption, that newer gcc won't
> regress in this regard.

This is good to know, but I'm still curious about the mentioned
differences in symbol addresses: If code generation didn't change, what
caused addresses to differ? Is that merely because individual functions
or objects are emitted in different order by the compiler? (If so I'd
be inclined to infer that comparing generated code must have been
quite a bit of effort, as first of all you would have had to undo that
re-ordering.)

The other thing to at least mention here is that with new enough
binutils, when Dwarf debug info can be enabled for keeping in xen.efi,
linking time of xen.efi increases quite a bit with DEBUG_INFO=y (which
is a result of linking ELF objects into a non-ELF binary, when at
least GNU ld optimizes only the ELF -> ELF case when processing the
[massive amount of] relocations).

> So move CONFIG_DEBUG_INFO out of the section guarded by EXPERT.

Isn't the prior DEBUG dependency as relevant?

> --- a/xen/Kconfig.debug
> +++ b/xen/Kconfig.debug
> @@ -11,6 +11,13 @@ config DEBUG
>  
>  	  You probably want to say 'N' here.
>  
> +config DEBUG_INFO
> +	bool "Compile Xen with debug info"
> +	default DEBUG
> +	---help---

Nit: Even if just code movement, please use "help" in the moved
instance.

> +	  If you say Y here the resulting Xen will include debugging info
> +	  resulting in a larger binary image.
> +
>  if DEBUG || EXPERT

The new placement isn't very helpful when considering some of the ways
kconfig data is presented. At least for the non-graphical presentation
it used to be the case that hierarchies were presented properly only
when dependencies immediately followed their dependents (i.e. here:
DEBUG is a dependent of everything inside the "if" above). Therefore I
think rather than moving the block up you may better move it down past
the "endif".

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 10:42:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 10:42:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507291.780599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZUlb-0004GF-EI; Tue, 07 Mar 2023 10:41:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507291.780599; Tue, 07 Mar 2023 10: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 1pZUlb-0004G8-Av; Tue, 07 Mar 2023 10:41:59 +0000
Received: by outflank-mailman (input) for mailman id 507291;
 Tue, 07 Mar 2023 10:41: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=4ndv=67=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZUlZ-0004G2-TF
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 10:41:57 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ae8f998d-bcd4-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 11:41:56 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7944.eurprd04.prod.outlook.com (2603:10a6:20b:28a::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 10:41:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
 10:41: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: ae8f998d-bcd4-11ed-96b5-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DZiE/b+17TCtp/z+F8emLLGZPFR56ibsQBorijd4Lx0QrFzk7KL1pIs59Z410kV2FbYcq2jnfK1rXjPby1Gxyif+Yi/Y4lidPj2luML5BIagFnyAi5jrONRdv/kb+c6nQ5IgooTWxzBrtxYQcvZAG/6hmM+mlyOR6T+KVmMNw2Zu6ZwmeehUibOjZ4p98NfNgXC6y5UYgxwhwxRcGfiynaJP3DRlHGN5bRGGMpgEFqS7HJdIuxrEIq8dvFPpM7MKzEYJh29gLn8IbIS4cXdS1MrokNR6FfRvWJzUejfN7z52UNIUyltOi/VkXrTGhxRKfQnIr4ID+4+9+VdstgYW5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Vot0JgLF/0I33rTC1XX1SQO2E/iURNot1FQyTzig7xs=;
 b=H8FZdQAw9BYDvVDgSPoThVZXzIilBaw1sHRDo8gsuGj1UmenNCj8xf7f0WtA4HzrbML+N7sFPifxKwsPLbDTxyq82WkNJDyvPh8IkNW7YrpxH6eVzAwAFg2z8GfmGZdZbctCabxaMwB285Oil6gnUosHi+derFKPYPg346P0kdrTbTP9ouliiWzzArc/1EMdEcvo7+lGTHjRu7N5ZOlpF+xvPfMO9a9q7ajwC7+mX05cGJml/MHjzWKaefFIwoBXUDO3rWQx3MPMurvfq8OheLAwHZWjtSoplFGoNkRbQL0iLGAMEqkGGi1psdbCMEHKjYUC52DqnOY1ke93IsiFww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Vot0JgLF/0I33rTC1XX1SQO2E/iURNot1FQyTzig7xs=;
 b=sWa9blhHHSr/it0v52fieMmpeMe588iNkt5GbDvQR0ZwaLWmHSaUWGLTw7H9dFy2UNMCnKOEJCW4l7LRv/9RIqhnVnZd9s+8vaa43dT0HBvaHuuWIUDSHRSaVSk8GGOBN/6SPlPiOahQxi+NOiOMD/yuz9rJDEjqiJ3vhryWBODx/oBIWSiNkWMGb4r3B2MitSVYk6XotDBEETqHYgPwdcPzGcUwmTSYAg7NBgY2vBJU6nN0VCkurXt9dXjNJO3WmGex3TCyTHCBOjhVqzSrKgWMCa342uXLDs61rb8P/QOc73CersYbtZy3rFJEu2wFzK5ZPyS/EcwEhXXb702yQw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>
Date: Tue, 7 Mar 2023 11:41:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 2/2] xen: update CONFIG_DEBUG_INFO help text
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: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-3-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230307063214.30569-3-jgross@suse.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7944:EE_
X-MS-Office365-Filtering-Correlation-Id: 879c2b7b-f87c-4e2f-0375-08db1ef89028
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:
	bZDM8i+4ldixpxPje2ZvDP4uGnAcxTM/j6MJPyKZLQJAnziR0VyOs0huWBIEyZ+3UomGk1h2nY9ebxymm0X9c4toqboOqq2ZcPIBWblrkByN8QDtW/VqhJpiFS96SOGwAVW+yDwzp0YpKqnIhj6Z30xu8WRl3843L5aMKLrFeh/OxHwwviTYrX4kSWxPmstF5p4cMiRGiB+5UH890mrq8XsenRyFLKNKcSejp8lpkjyxxNNZp1SdJ+040syT7YFMO2b77dW7va904J595T1ri302yMC63zf6dboXC5yraZmcB239tVQgj3VD9rEVriZRPJXA0e0rhaEalLaixt4R3xUEO4wd0/WgHo1hNafRegJWGQ6sVGFWTDFCKVPBZN3jm/A/Yh+uo7miKyjufitwGV9qzSMZVHM16Vxw/fJtFp1szbJfXXnILfpm5KW54gnTp2J6uLRyE2wEOp5T0zIe0eCUkulRC5Tp54LQ2Ptbm8BdNAvvw3LlU6PHgMWfwHT260Fp4EY+GmyVPppa/2arTLBHAmQOiMKrhFGmHKTz51V3hYNRiqIFugobwlG2lwDHfcrYV/LD8U+q8jvwbyakWqkyg+qirMLluMFilS5eG4oIe1ZU/2iNMypoVNAficaeXO+c9e+HAPHizg1wQMdOuFPc2pyeQN8YFKO6cygnX9fA4RYf5XDTdb7onSwdnu3lBhzAuaPHde0SYBkGgKS1cDL4FM1vC45a6sUaYHbO6yY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(376002)(396003)(346002)(136003)(39860400002)(451199018)(6862004)(5660300002)(31686004)(8936002)(8676002)(66556008)(66476007)(2906002)(66946007)(4326008)(41300700001)(6636002)(54906003)(37006003)(316002)(478600001)(6512007)(36756003)(6666004)(26005)(53546011)(6506007)(6486002)(2616005)(31696002)(86362001)(38100700002)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmppOGJqaVJ2QWd2Vm1HdS9RRFNOS1V1ZkE5MzRhcXBGM2U1aTBKTERhV3Rl?=
 =?utf-8?B?eXJwVVlTVzMvelh5RW1CTTJpYVNlSXJBSTQ0bWYxVURtMkxpOU5nT0NQOG9L?=
 =?utf-8?B?eFZXNEl3K1pCVGFudEp4Q0N6S2pWajA3MU1lUy9XaTN2L1lVcmY3YWlEazJB?=
 =?utf-8?B?SkpJNm1xc1ZFU1Y1USsrMGQrcFY3U3RZcXZWUjZmZ0pmLzllNFZxM1VOTklN?=
 =?utf-8?B?NkZZd3luSUFXSDN5OTg1Z0gxNUhBb3doYTBMY0RkdG5LeHJ3NUxIdnNueWYv?=
 =?utf-8?B?b3o0YXFVWEY1TE04Mi9DeUVmVDIzU1JzdjBGQnNtWWRWSnFJbVRwMU5VSkNQ?=
 =?utf-8?B?RVpHSGxsU3pUQnZGbGd3aU9QUFUyNmE4OFY2UG03cUU1V21SY0RMY1VJRmRZ?=
 =?utf-8?B?VUttMUh3NHVIZG9vdTFRL3AxaHFBQWRHQ2xKWXlJQ2Nrczk4Q2ZicUVtbVF2?=
 =?utf-8?B?eTByN2cxRkk3dzNZUzU1R1JOd2ViV1V1ZnU2c3o0c3lTcUdwckx0MDJtWEFM?=
 =?utf-8?B?MG9HdldheHpKMGt4Z0lHU2tiZElpajJ0aWFSY3RXQ0tZdlNMQUlnWWh0VmVh?=
 =?utf-8?B?bVpXSDFpQVNVWCtsZjR1Szk4SzZnSXM3U0VHT2Jzb1Q1SFhldVFqeVh4SWlP?=
 =?utf-8?B?RjFta0dtL1k4TmcwNGwzV2pvbGxKYjV2QWZwUDlvK3pBYitwVkFKWWhQa0cw?=
 =?utf-8?B?SklOS0pPNXNaZGtVTzF0dzdCdzlSZ2VXeFVUeE9QTW04L2RDWjJ6L0hvM3kz?=
 =?utf-8?B?eWFBaVVUOUZLWnVOWEx1dzd6ZXJ4YWNJK2cyNWpLT21VTlZ6cUNweGh2b1JE?=
 =?utf-8?B?dGtKMzIyMTN0VnNGaC9DVnYvQ1NRUlJYclpjWkRYbkRZaXl0K2JTVnIxSEly?=
 =?utf-8?B?SUVUc0FIUU8rSmhKdGpPSHRUdWhQQWlDbkdFenljUThzbWVCdm8vODZzV21L?=
 =?utf-8?B?d0Z5SW9xeXRRdnJEaStPSC9COE1OUm5hZFEySS83Zk1vVmNGUGhHZlZaT21r?=
 =?utf-8?B?QjNqbytWS2paZTgrRTlkN1l3Qk84U2M4ekZsV3N0ZkM0NFF1dXhVT3QzaUdw?=
 =?utf-8?B?TUd2NlN1Skoxay9tZFhsT09RcENtTGI4UkhaT0dYbFFJeFkrVUgvQWpWOU13?=
 =?utf-8?B?RUhRdDIzbzI0bXZLWVV1c1A3alovd043MnhmTkdHeGJDNG16VFB3aC94Nkt3?=
 =?utf-8?B?VngycDY2VWQ2ZitHdjNJV0QxRFFMVEtXa1NoU2RyalBTdFlUbU11ZGx6NzM2?=
 =?utf-8?B?TmFjZUk0SGhkNGFyOXV6N1FsUHlCQ0xLbkFJU1c2YXhiVElROVZUMlJsczYz?=
 =?utf-8?B?ZzgrN2M4Um5WMjY5Z1VXcWZEeXU4dVV5emNjOWdlaXZ2Ym1YVVhMUHFjOFUr?=
 =?utf-8?B?Y2h0cHhsdlJ1R2dSNlpYZnZkNXc3MjJwdkhVMjY5RVVnclZSRVB1Y0d3Rkxj?=
 =?utf-8?B?QjZzNHAvekNOTmpuSVhxUXB1bTdsVWJqVTZBalI4akRNNVovVUhHaHRGaGVE?=
 =?utf-8?B?ZWNIM210RnEyUWpMajBySUV4TUxqRDRId0xtd3Q2cUdMbWhyMzllU3VhYlk3?=
 =?utf-8?B?Nk1aNXgrRmI4Yk01WXhqWHRZeVlWSVZ5cUJDd1UzV0YzYnZxQmE3L0dOVEg5?=
 =?utf-8?B?SC8vTjc3ZmhSbTduWmVJa0JDejlpMTliR21vQWlKQXc0TUNrVmxMZk5hNnlF?=
 =?utf-8?B?RU1NK3RqN2RlYU9jc3Q1M09yR1JyVmw5c3k3c3hLMkw5N0grcXNRelhZZld1?=
 =?utf-8?B?RXBXZUVnS0JWYnB0R1pNMHpnYndMTGRDR3NyNnk3SlVnQXNhZ3hjRktHeXlz?=
 =?utf-8?B?VjZuT05PR0svcGZDbVhwV01lRmg4NVMzMlBpckN1U05hMlhVU0NLOFJuQVc4?=
 =?utf-8?B?SnJrOGZWZUdrMEJoaFBPVkduZkZEakZVczlRUzY4TXk4ZTVkMmhCVVJLQTI3?=
 =?utf-8?B?UG1EajREaUVlL3ZkOUxGVHdlOHl4Z1JKTUZ3T3cweE9rNW5GVFlrcVpoOWNP?=
 =?utf-8?B?U0kxUXZWNVBCalZZT3pQYUhRaFpUZm5CSThuNHcvek9jN3FGMkVUNmhhNnF6?=
 =?utf-8?B?ZzRSWE5mWHZmQ0ovQ1FUL052ZDkzQWUyRjFycWY5bWF2a2huVFRudThGSlZs?=
 =?utf-8?Q?OnFL5zKeV8EHFq5qljMervBaA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 879c2b7b-f87c-4e2f-0375-08db1ef89028
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 10:41:52.3258
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HL4MixVO05BhftBMmLESVd1bg8x7OdnQfNoi1NQ2GEe1yNhBvvJ+/5sBPm8W7LsmTXy+m/TPBygGP4QFy6ssZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7944

On 07.03.2023 07:32, Juergen Gross wrote:
> --- a/xen/Kconfig.debug
> +++ b/xen/Kconfig.debug
> @@ -15,8 +15,11 @@ config DEBUG_INFO
>  	bool "Compile Xen with debug info"
>  	default DEBUG
>  	---help---
> -	  If you say Y here the resulting Xen will include debugging info
> -	  resulting in a larger binary image.
> +	  Say Y here if you want to build Xen with debug information. This
> +	  information is needed e.g. for doing crash dump analysis of the
> +	  hypervisor via the "crash" tool.
> +	  Saying Y will increase the size of xen-syms and the built EFI
> +	  binary.

Largely fine with me, just one question: Why do you mention xen-syms by
name, but then verbally describe xen.efi? And since, unlike for xen-syms,
this affects the installed binary actually used for booting (which may
be placed on a space constrained partition), it may be prudent to
mention INSTALL_EFI_STRIP here (as a way to reduce the binary size of
what ends up on the EFI partition, even if that wouldn't affect the
"normal" way of putting the binary on the EFI partition - people would
still need to take care of that in their distros).

I guess this size aspect wrt the EFI partition is actually something
that should also be mentioned in patch 1, because this can be an argument
against exposure of the option (precisely because it requires extra
activity to prevent the EFI partition running out of space).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 10:55:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 10:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507295.780608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZUym-0005uA-HH; Tue, 07 Mar 2023 10:55:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507295.780608; Tue, 07 Mar 2023 10: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 1pZUym-0005u3-EW; Tue, 07 Mar 2023 10:55:36 +0000
Received: by outflank-mailman (input) for mailman id 507295;
 Tue, 07 Mar 2023 10: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZUyk-0005th-VN
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 10:55: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 945a3c87-bcd6-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 11:55:32 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 m25-20020a7bcb99000000b003e7842b75f2so6915788wmi.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 02:55:31 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 u10-20020a7bc04a000000b003e876122dc1sm16145657wmc.47.2023.03.07.02.55.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 02:55: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: 945a3c87-bcd6-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678186531;
        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=AAVcnYx3QZnRAXDufYHLkIsodJ4tM4KvNy14RA4QE6M=;
        b=a2gVlMiiU7S5mZPCuXPp1IpSMVC+Ak7HPfIQRaEpo37lxzMJri9lb4k6bMUE2znpp9
         +P5S5bcv+G6hwCEVBnr83uEQiNmOKdZRnZUFc+7GTEGesu2Cj28KEVHTSuxr5Ue677wL
         bHQTLKtf3KlHExJYrJiht5K60X7omSVw2xjcsOnkO1ahV7QeBOzYstc3kSCyuQ10L+1Q
         5+4axwdeDX8rSr1vw9xx2502MyzKNaSqdbMf27UO5wADXT1u3hUhgb6ePe3iMCohPA9B
         TFwepiM5syMTsH6S1/V+tHvZW/6ci5jde3EsSozaoD6nQo+AdD2qKcNVh+GGdHCUxJtw
         wObg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678186531;
        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=AAVcnYx3QZnRAXDufYHLkIsodJ4tM4KvNy14RA4QE6M=;
        b=Jqx/kmoYSkXBuHTQVSeEMpXpYq1haeUKL5J5H7pooBIdHXtj5Yjx5Szz+xKzaj0TTh
         hWlvut6OMOnG0t6yMGJ15U2rFfV7qQY0O+1DK7MGteDtEo3JsxlqKn0cYNwfpEjW1Uwe
         jWvvSFRbCS/FAuUJThF76Lp9jse/HyrPXMLHIQ4dOXPAA58fZauqS9Tdg3fvlb3IsV2p
         B6z5hjhF60vUz87GqLpqZ1etlpGdxpLJGzeo+cm6e642BBHad9PxUCutaqKtLtoAS6SU
         pOSaMi+DKWyrSbNDfklw3TLr8DShFkipTWcS0qnW1I6lis+TRafiy71jfH8RRay+MIuH
         M8Ig==
X-Gm-Message-State: AO0yUKUmVCV1pGw0AQ6HEGVqVdavFt/DVaUqmPmymF+LU0Sz2MABojFU
	SmELszdmoCilp4/G8XYnnsI=
X-Google-Smtp-Source: AK7set+BkQbMolHKG9tsxmouOdNPkJc43l0g6ZwDn7TZkxqZPIfcbEg+j+eVA5m18GT2O3Gmz9a6Eg==
X-Received: by 2002:a05:600c:a47:b0:3eb:2b88:9adc with SMTP id c7-20020a05600c0a4700b003eb2b889adcmr11175851wmq.25.1678186531216;
        Tue, 07 Mar 2023 02:55:31 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <e33bba43-5f5d-80e6-34ff-62c7b6eafc1f@xen.org>
Date: Tue, 7 Mar 2023 10:55:29 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 01/25] hw/xen: Add xenstore wire implementation and
 implementation stubs
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-2-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-2-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> This implements the basic wire protocol for the XenStore commands, punting
> all the actual implementation to xs_impl_* functions which all just return
> errors for now.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/kvm/meson.build     |   1 +
>   hw/i386/kvm/trace-events    |  15 +
>   hw/i386/kvm/xen_xenstore.c  | 871 +++++++++++++++++++++++++++++++++++-
>   hw/i386/kvm/xenstore_impl.c | 117 +++++
>   hw/i386/kvm/xenstore_impl.h |  58 +++
>   5 files changed, 1054 insertions(+), 8 deletions(-)
>   create mode 100644 hw/i386/kvm/xenstore_impl.c
>   create mode 100644 hw/i386/kvm/xenstore_impl.h
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 11:14:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 11:14:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507298.780619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZVGh-0008Ur-3T; Tue, 07 Mar 2023 11:14:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507298.780619; Tue, 07 Mar 2023 11:14: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 1pZVGg-0008Uk-VS; Tue, 07 Mar 2023 11:14:06 +0000
Received: by outflank-mailman (input) for mailman id 507298;
 Tue, 07 Mar 2023 11:14: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZVGf-0008Ue-Fb
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 11:14:05 +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 2a70015a-bcd9-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 12:14:03 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id bw19so11695761wrb.13
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 03:14:02 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 s10-20020adfea8a000000b002c7e1a39adcsm12438895wrm.23.2023.03.07.03.14.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 03:14: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: 2a70015a-bcd9-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678187642;
        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=+UfWWeab53Q03jZDtXQ+5Yh0vqFB94sHitv/tkqXpLU=;
        b=dv8vTJjwqtTjXs3u3XBxY8Imbr19fxW4hvcJCbEr4fv5qf7FHyVcArSx1WAAKIrnZg
         RwlJVPSOgwspaKLI7tNJFUrfsISnDvmrnLjDJgjloTs9Rm5qFLKtJ7f3AwfjOPcz/n24
         RqsOoNYbwCEk5IOL3AIBrcU8FCwnZiVDyfA8HcoDQI1KAWFIejtD38v57p/sDfksIeJj
         Zl/JVsxC13Jcwxyk6ApSHFlvh60IgB5pO3QIrsS+z3H1GhHj3/GwB5yr8rD8QylF0khM
         9O/yRVLU2QTK9POMEMh174whFAcf7knPFxr0d+eFD60K3LnmO/D0msrzdbFLd9ya8MPD
         iFSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678187642;
        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=+UfWWeab53Q03jZDtXQ+5Yh0vqFB94sHitv/tkqXpLU=;
        b=mLhIHATCRF6Pg/wfnufQzCIv2eDXUjdK7XY4aCsWvfT0VNwGJhyWcR5bt9RtPErTjI
         3Z74TAlHnwYb4bwkEkADXUIqb9WgkzP46LQtEbQ/9bvoE/EfBOQBb1U7Z62nXqsISTS6
         yVkYVUMsFcDO7iRTerYttqMOjg2kKPGdnW3K0UN8q08MfvaxPk42HrEwau/SV22BWPP1
         yOD2pX2JvbunaJMh6bW77cZlo2CHtYRmRUhy5ydKibi/fbEkOZnI6vMFORTkmXQALdZD
         kYwAnvS5pfEzLCGxuBs0VAjhFP9kSspeZ7N6XNMvBGtzIapMuPOLu/tUn04m8d/1sXLd
         Y6ng==
X-Gm-Message-State: AO0yUKX3wMR1CkeI9XHJu8EZJ65yJRD/+zTDTkYbtk7z3CuVW6+bCggX
	kr94cWMHQ4lyUCWrKsVdSZs=
X-Google-Smtp-Source: AK7set9YJQPgeJ4SYTMx8cCML/BVjgNf7J5REgSM4A5jb0VULVqcnJA3hCJjLkMEK5Knls1hRwlMjQ==
X-Received: by 2002:a5d:43d0:0:b0:2ca:8ae5:ea2 with SMTP id v16-20020a5d43d0000000b002ca8ae50ea2mr7831817wrr.40.1678187642054;
        Tue, 07 Mar 2023 03:14:02 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <5d2f10e0-cfa2-38f8-2d4f-0ef1926d9054@xen.org>
Date: Tue, 7 Mar 2023 11:14:00 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 02/25] hw/xen: Add basic XenStore tree walk and
 write/read/directory support
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-3-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-3-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> This is a fairly simple implementation of a copy-on-write tree.
> 
> The node walk function starts off at the root, with 'inplace == true'.
> If it ever encounters a node with a refcount greater than one (including
> the root node), then that node is shared with other trees, and cannot
> be modified in place, so the inplace flag is cleared and we copy on
> write from there on down.
> 
> Xenstore write has 'mkdir -p' semantics and will create the intermediate
> nodes if they don't already exist, so in that case we flip the inplace
> flag back to true as as populated the newly-created nodes.

Something has gone wrong with the comment there... 'as we populate' perhaps?

> 
> We put a copy of the absolute path into the buffer in the struct walk_op,
> with *two* NUL terminators at the end. As xs_node_walk() goes down the
> tree, it replaces the next '/' separator with a NUL so that it can use
> the 'child name' in place. The next recursion down then puts the '/'
> back and repeats the exercise for the next path element... if it doesn't
> hit that *second* NUL termination which indicates the true end of the
> path.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/kvm/xenstore_impl.c | 527 +++++++++++++++++++++++++++++++++++-
>   tests/unit/meson.build      |   1 +
>   tests/unit/test-xs-node.c   | 197 ++++++++++++++
>   3 files changed, 718 insertions(+), 7 deletions(-)
>   create mode 100644 tests/unit/test-xs-node.c
> 

With the comment fixed...

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 11:29:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 11:29:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507302.780629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZVVf-0001nZ-De; Tue, 07 Mar 2023 11:29:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507302.780629; Tue, 07 Mar 2023 11:29:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZVVf-0001nS-9r; Tue, 07 Mar 2023 11:29:35 +0000
Received: by outflank-mailman (input) for mailman id 507302;
 Tue, 07 Mar 2023 11:29:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZVVe-0001nM-1m
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 11:29:34 +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 544f52ee-bcdb-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 12:29:31 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id g3so11763595wri.6
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 03:29:31 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 c10-20020adffb0a000000b002ce72cff2ecsm2753413wrr.72.2023.03.07.03.29.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 03:29: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: 544f52ee-bcdb-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678188571;
        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=ZH3Q1fiViFkedD/SohivkdCJBORP2dYkWAHXGgMGnQU=;
        b=bYEbe4alNTH1brr9NksFnpytF/v98dG4TityAnXFRd3UU9kGlZ8UU+bDJyB4rPUXeH
         FZk/u1LeYUF20rcQTfoylIOq3XwjiX7ONG2mu9d/i1BKKQqI7gbR5PdrmuJP8qRwBg1/
         J97r28ac6C8rV6Qunq4gSIlgLRrVGMIVrzPqGY8gmM+tghAAzeNmnE7xdr9oFvqw323n
         kBxN+ZDNU/18BspzG6coku5fsrSrNT5HohGKIV3/UxKAhVUlowyFtP5C6K9aV4l5h8mJ
         1HbW87lwLYrk6smoHY+sGHkyvUG4q5haVvY//U/kHukHN8s50WEWwX66ae8D8VINW8pr
         s31g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678188571;
        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=ZH3Q1fiViFkedD/SohivkdCJBORP2dYkWAHXGgMGnQU=;
        b=kqusTuqkz4/PyUTzngl/dtJERGHBwWDfmxrA9m+iEQ5zYy0U3h75c96dAoM7IuGJC5
         lmfTbw9CIXyLFBawz8x2nN+IkFmylLnWxrZgnkmut+AYXuyoOtXZxkShjYwA+vr/QPYB
         CKCEktExqlTwqKVLMDMGcHic5bJFIwqxSiYl2l0tjvfi5n0dPnb1siaKbg6qm4eKcF77
         bmDj0+dggdH+Ax6ZZNyyGxb0YSLL4U+zvO9muNV/KGFCkThkW/thd9+kEx8pmgBuwhB3
         QRcMjQpXC9T7u3G2LzMynkhOh7lH2bbeRfjR7zodCbQ4I18RtU8nUfcd89cHVEp7Bt/2
         cqqg==
X-Gm-Message-State: AO0yUKU2f+z90O96Z6AIYnWydKEH+3dPWHf19+K1ZTKc8PaRD35GLBek
	JiGvn4BdpWK2Hq99H9bd5fE=
X-Google-Smtp-Source: AK7set8Lclo21+j8Gxl4MN8i0MzUImFNsiKxJ2ypaJRJ+vZG5Jq1AaAuRc/IUvQQUn8nANF098S2og==
X-Received: by 2002:adf:e8cd:0:b0:2cb:3660:44e with SMTP id k13-20020adfe8cd000000b002cb3660044emr9034590wrn.66.1678188571284;
        Tue, 07 Mar 2023 03:29:31 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <b7ef693a-5586-fe65-9825-15655a7ec67b@xen.org>
Date: Tue, 7 Mar 2023 11:29:29 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 03/25] hw/xen: Implement XenStore watches
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-4-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-4-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Starts out fairly simple: a hash table of watches based on the path.
> 
> Except there can be multiple watches on the same path, so the watch ends
> up being a simple linked list, and the head of that list is in the hash
> table. Which makes removal a bit of a PITA but it's not so bad; we just
> special-case "I had to remove the head of the list and now I have to
> replace it in / remove it from the hash table". And if we don't remove
> the head, it's a simple linked-list operation.
> 
> We do need to fire watches on *deleted* nodes, so instead of just a simple
> xs_node_unref() on the topmost victim, we need to recurse down and fire
> watches on them all.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/kvm/xenstore_impl.c | 253 +++++++++++++++++++++++++++++++++---
>   tests/unit/test-xs-node.c   |  85 ++++++++++++
>   2 files changed, 323 insertions(+), 15 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>

... with one suggestion...

[snip]
> +    /* Check for duplicates */
> +    w = g_hash_table_lookup(s->watches, abspath);
> +    while (w) {
> +        if (!g_strcmp0(token, w->token) &&  opaque == w->cb_opaque &&
> +            fn == w->cb && dom_id == w->dom_id) {
> +            return EEXIST;
> +        }
> +        w = w->next;

I think you could stash a tail pointer here...

> +    }
> +
> +    if (dom_id && s->nr_domu_watches >= XS_MAX_WATCHES) {
> +        return E2BIG;
> +    }
> +
> +    w = g_new0(XsWatch, 1);
> +    w->token = g_strdup(token);
> +    w->cb = fn;
> +    w->cb_opaque = opaque;
> +    w->dom_id = dom_id;
> +    w->rel_prefix = strlen(abspath) - strlen(path);
> +
> +    l = g_hash_table_lookup(s->watches, abspath);

... to avoid the duplicate hash lookup here.

> +    if (l) {
> +        w->next = l->next;
> +        l->next = w;
> +    } else {
> +        g_hash_table_insert(s->watches, g_strdup(abspath), w);
> +    }
> +    if (dom_id) {
> +        s->nr_domu_watches++;
> +    }
> +
> +    /* A new watch should fire immediately */
> +    fn(opaque, path, token);
> +
> +    return 0;
> +}



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 11:32:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 11:32:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507305.780639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZVYF-0003CY-R2; Tue, 07 Mar 2023 11:32:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507305.780639; Tue, 07 Mar 2023 11: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 1pZVYF-0003CR-Nf; Tue, 07 Mar 2023 11:32:15 +0000
Received: by outflank-mailman (input) for mailman id 507305;
 Tue, 07 Mar 2023 11:32: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 1pZVYF-0003CF-0w; Tue, 07 Mar 2023 11:32: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 1pZVYE-0004wa-W0; Tue, 07 Mar 2023 11:32: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 1pZVYE-0003d9-ME; Tue, 07 Mar 2023 11:32:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZVYE-0005mx-Lm; Tue, 07 Mar 2023 11:32: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=kYehbZCZUz0eRMjUjorydqseqmwbZehZfDAXg/dhL4w=; b=JjT5rwDTv57SEsivxq82ND22Fa
	FxDo2Dim2nGZUdbDl1zs78Tkyj3OA1O4l4NJ0OFLqgHJnbbPcTXbZinn6KALl2jx+UFHgxxNuxIBY
	Av1RlY6FjaAArFU9u4hAcptBZA/XsTVyJ9entadd81u0cOnCVTB5dDiDVqQSTmRX0XUY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179487-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179487: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=c7c25997595aa34ce0a7a21ca2e1fc5b0f9b38a6
X-Osstest-Versions-That:
    ovmf=46f51898ff716e53921b93e8d78af0fc7d06a2f9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Mar 2023 11:32:14 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 c7c25997595aa34ce0a7a21ca2e1fc5b0f9b38a6
baseline version:
 ovmf                 46f51898ff716e53921b93e8d78af0fc7d06a2f9

Last test of basis   179476  2023-03-07 07:10:44 Z    0 days
Testing same since   179487  2023-03-07 09:43:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Xie, Yuanhao <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
   46f51898ff..c7c2599759  c7c25997595aa34ce0a7a21ca2e1fc5b0f9b38a6 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 11:33:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 11:33:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507312.780649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZVZ0-0003mV-91; Tue, 07 Mar 2023 11:33:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507312.780649; Tue, 07 Mar 2023 11:33:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZVZ0-0003mO-5L; Tue, 07 Mar 2023 11:33:02 +0000
Received: by outflank-mailman (input) for mailman id 507312;
 Tue, 07 Mar 2023 11:33: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=zeiT=67=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZVYz-0003VK-0N
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 11:33:01 +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 d03d9c9b-bcdb-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 12:32:59 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id p16so7519849wmq.5
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 03:32:59 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 t21-20020a1c7715000000b003e2096da239sm16078020wmi.7.2023.03.07.03.32.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Mar 2023 03:32: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: d03d9c9b-bcdb-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678188779;
        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=yN4bfWOkOufqIgTFRvVAF0OCTW2ni/swJqFcM7VHQLg=;
        b=ZkUFC1cXsCcveyveUvbO+yXLEbrNNJEeTdEmb8/bS8DXDqofpPU0rmqcQxbRGz0c1z
         ZaqS+nvFv81YEa7LDBYHC9U8irTFeDi0NbgfbKHk6Vs4pXk09GBlSkM0DhIFUT013Oe7
         f5I/FFW6GIdXYEy3qi6I6MJtqPe2AyIh/5Y+TONAuxZz6RoQPP/ZvTyX4d5gkW/y3/xK
         HIutqVW07DB02YAYUVKZHSHoo8L1GjodUfIwLhYUj7CGH39VfFmx/bhu0BYkMH8HnvIB
         8dIqJYgUoLVIT6KA4arjZZuG8S2/I/OMNOX5juTlp7oEyV9nXxbDDZ2aEjkmx1expw3a
         s0VQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678188779;
        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=yN4bfWOkOufqIgTFRvVAF0OCTW2ni/swJqFcM7VHQLg=;
        b=7O1wfdhLbzaa66ikw0b8kf2fvygYtkWmA0Dksnmt21Pw/CI8xewjE4X3muy6Y5hTic
         UYYMFXmEJLKdkosylDMn+qindFdNBDi/PP+wqnpak5QQhfegMsW4JMiNvpOqjayFdabg
         Qd5ct5USc0YvCE1JHyd0ZX0VrAHCF87kQqEtTVdFi/JJ15t98F6NxjdNJ3Dl+oCh9yj4
         4CbCjxmiYf7geLNJC008Y28LJpOseMuNFJisocIjDE/JCPK/n+XgemIg2nm3QmiK+kRK
         zqQ3xjsIkaCD1JWvzt7EoIn8Hyw/VCxBBRKdA28zjWWeuLJ6kmMn5FEW9xNEKEr6HLLb
         NETg==
X-Gm-Message-State: AO0yUKXYK0EjAy5ZUu3tN267T4aV/eUcHYmmZ4lYU5jG9bNMN1vHCGlC
	ZT7XeZSkMyCewn7RIU+itlrvjbprtGo=
X-Google-Smtp-Source: AK7set+fVqGGvAZVlYgOB7rrK5o1ZsUqidgtI51bQaasClITw2/1Hjrbk2VOsNOzFJFHSR7+pq3nlg==
X-Received: by 2002:a05:600c:1548:b0:3e2:1f00:bff7 with SMTP id f8-20020a05600c154800b003e21f00bff7mr9961736wmg.12.1678188778997;
        Tue, 07 Mar 2023 03:32:58 -0800 (PST)
Message-ID: <17d7dc28a767ec9012d4a7ac3d337c4b9c34d98e.camel@gmail.com>
Subject: Re: [PATCH v5 1/4] xen: introduce CONFIG_GENERIC_BUG_FRAME
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 13:32:57 +0200
In-Reply-To: <91343570-3532-521f-9bfe-3a68902426d0@suse.com>
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
	 <5cd3dd5233cf41ad54ce1cd98b706085b95bfcee.1677839409.git.oleksii.kurochko@gmail.com>
	 <91343570-3532-521f-9bfe-3a68902426d0@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

T24gTW9uLCAyMDIzLTAzLTA2IGF0IDExOjE3ICswMTAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiA+
IE9uIDAzLjAzLjIwMjMgMTE6MzgsIE9sZWtzaWkgS3Vyb2Noa28gd3JvdGU6Cj4gPiA+ID4gLS0t
IGEveGVuL2NvbW1vbi9LY29uZmlnCj4gPiA+ID4gKysrIGIveGVuL2NvbW1vbi9LY29uZmlnCj4g
PiA+ID4gQEAgLTI4LDYgKzI4LDkgQEAgY29uZmlnIEFMVEVSTkFUSVZFX0NBTEwKPiA+ID4gPiDC
oGNvbmZpZyBBUkNIX01BUF9ET01BSU5fUEFHRQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqBib29s
Cj4gPiA+ID4gwqAKPiA+ID4gPiArY29uZmlnIEdFTkVSSUNfQlVHX0ZSQU1FCj4gPiA+ID4gK8Kg
wqDCoMKgwqDCoMKgYm9vbAo+ID4gCj4gPiBXaXRoIEFybSBub3cgYWxzbyBnb2luZyB0byB1c2Ug
dGhlIGdlbmVyaWMgbG9naWMsIGRvIHdlIGFjdHVhbGx5Cj4gPiBuZWVkCj4gPiB0aGlzCj4gPiBj
b250cm9sIGFueW1vcmUgKHByb3ZpZGVkIHRoaW5ncyBoYXZlIGJlZW4gcHJvdmVuIHRvIHdvcmsg
b24gQXJtCj4gPiBmb3IKPiA+IHRoZQo+ID4gY29tcGlsZXIgcmFuZ2Ugd2Ugc3VwcG9ydCB0aGVy
ZSk/IEl0IGxvb2tzIGxpa2UgYmVjYXVzZSBvZiB0aGUgd2F5Cj4gPiB0aGUKPiA+IHNlcmllcyBp
cyBwYXJ0aXRpb25lZCBpdCBtYXkgYmUgbmVjZXNzYXJ5IHRyYW5zaWVudGx5LCBidXQgaXQKPiA+
IHNob3VsZAo+ID4gYmUKPiA+IHBvc3NpYmxlIHRvIGRyb3AgaXQgYWdhaW4gaW4gYSBuZXcgNXRo
IHBhdGNoLgpXZSBzdGlsbCBuZWVkIGl0IGJlY2F1c2UgUklTQy1WIGRvZXNuJ3QgcmVhZHkgeWV0
IHRvIHVzZSBkb19idWdfZnJhbWUoKQpmcm9tIHhlbi9jb21tb24vYnVnLmMgYXMgaXQgcmVxdWly
ZXMgZmluZF90ZXh0X3JlZ2lvbigpLAp2aXJ0dWFsX3JlZ2lvbigpIGFuZCBwYW5pYygpLgpUaGUg
bWVudGlvbmVkIGZ1bmN0aW9uYWxpdHkgaXNuJ3QgcmVhZHkgbm93IGZvciBSSVNDLVYgc28gUklT
Qy1WIHdpbGwKdXNlIG9ubHkgZ2VuZXJpYyB0aGluZ3MgZnJvbSA8eGVuL2J1Zy5oPiBvbmx5IGZv
ciBzb21lIHRpbWUuCgpBbm90aGVyIG9uZSByZWFzb24gSSB3b3VsZCBsaWtlIHRvIGxlYXZlIHRo
ZSBjb25maWcgaXQgaXMgcHJvYmFibHkgdGhlCnNhbWUgc2l0dWF0aW9uIHdpbGwgYmUgZm9yIGZ1
dHVyZSBhcmNoaXRlY3R1cmVzLgpUaGlzIGlzIG5vdCBzb21ldGhpbmcgbWFuZGF0b3J5IGlmIHRo
ZSBjb25maWcgaXNuJ3QgcmVhbGx5IG5lY2Vzc2FyeQp0aGFuIGl0IHNob3VsZCBiZSByZW1vdmVk
IGFmdGVyIFJJU0MtViB3aWxsIGJlIHJlYWR5IHRvIG1pZ3JhdGUgZnVsbCBvbgpnZW5lcmljIGlt
cGxlbWVudGF0aW9uLgo+ID4gCj4gPiA+ID4gLS0tIC9kZXYvbnVsbAo+ID4gPiA+ICsrKyBiL3hl
bi9jb21tb24vYnVnLmMKPiA+ID4gPiBAQCAtMCwwICsxLDEwMyBAQAo+ID4gPiA+ICsjaW5jbHVk
ZSA8eGVuL2J1Zy5oPgo+ID4gPiA+ICsjaW5jbHVkZSA8eGVuL2RlYnVnZ2VyLmg+Cj4gPiA+ID4g
KyNpbmNsdWRlIDx4ZW4vZXJybm8uaD4KPiA+ID4gPiArI2luY2x1ZGUgPHhlbi9rZXJuZWwuaD4K
PiA+ID4gPiArI2luY2x1ZGUgPHhlbi9saXZlcGF0Y2guaD4KPiA+ID4gPiArI2luY2x1ZGUgPHhl
bi9zdHJpbmcuaD4KPiA+ID4gPiArI2luY2x1ZGUgPHhlbi90eXBlcy5oPgo+ID4gPiA+ICsjaW5j
bHVkZSA8eGVuL3ZpcnR1YWxfcmVnaW9uLmg+Cj4gPiA+ID4gKwo+ID4gPiA+ICsjaW5jbHVkZSA8
YXNtL3Byb2Nlc3Nvci5oPgo+ID4gPiA+ICsKPiA+ID4gPiArLyoKPiA+ID4gPiArICogUmV0dXJu
cyBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3Igb3RoZXJ3aXNlIHRoZQo+ID4g
PiA+IGJ1Zwo+ID4gPiA+IHR5cGUuCj4gPiA+ID4gKyAqLwo+ID4gCj4gPiBOaXQ6IFN0eWxlICh0
aGlzIGlzIGEgc2luZ2xlIGxpbmUgY29tbWVudCkuIEJ1dCBzZWUgYWxzbyBiZWxvdwo+ID4gcmVs
YXRlZAo+ID4gY29tbWVudCBvbiB0aGUgZnVuY3Rpb24ncyBkZWNsYXJhdGlvbi4KVGhhbmtzLiBJ
J2xsIGZpeCB0aGF0Lgo+ID4gCj4gPiA+ID4gK2ludCBkb19idWdfZnJhbWUoc3RydWN0IGNwdV91
c2VyX3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgcGMpCj4gPiA+ID4gK3sKPiA+ID4gPiArwqDC
oMKgIGNvbnN0IHN0cnVjdCBidWdfZnJhbWUgKmJ1ZyA9IE5VTEw7Cj4gPiA+ID4gK8KgwqDCoCBj
b25zdCBzdHJ1Y3QgdmlydHVhbF9yZWdpb24gKnJlZ2lvbjsKPiA+ID4gPiArwqDCoMKgIGNvbnN0
IGNoYXIgKnByZWZpeCA9ICIiLCAqZmlsZW5hbWUsICpwcmVkaWNhdGU7Cj4gPiA+ID4gK8KgwqDC
oCB1bnNpZ25lZCBsb25nIGZpeHVwOwo+ID4gPiA+ICvCoMKgwqAgdW5zaWduZWQgaW50IGlkID0g
QlVHRlJBTUVfTlIsIGxpbmVubzsKPiA+ID4gPiArCj4gPiA+ID4gK8KgwqDCoCByZWdpb24gPSBm
aW5kX3RleHRfcmVnaW9uKHBjKTsKPiA+ID4gPiArwqDCoMKgIGlmICggIXJlZ2lvbiApCj4gPiA+
ID4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOwo+ID4gPiA+ICsKPiA+ID4gPiArwqDC
oMKgIGZvciAoIGlkID0gMDsgaWQgPCBCVUdGUkFNRV9OUjsgaWQrKyApCj4gPiA+ID4gK8KgwqDC
oCB7Cj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgIGNvbnN0IHN0cnVjdCBidWdfZnJhbWUgKmI7Cj4g
PiA+ID4gK8KgwqDCoMKgwqDCoMKgIHNpemVfdCBpOwo+ID4gPiA+ICsKPiA+ID4gPiArwqDCoMKg
wqDCoMKgwqAgZm9yICggaSA9IDAsIGIgPSByZWdpb24tPmZyYW1lW2lkXS5idWdzOwo+ID4gPiA+
ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaSA8IHJlZ2lvbi0+ZnJhbWVbaWRdLm5f
YnVnczsgYisrLCBpKysgKQo+ID4gCj4gPiBOaXQ6IEluZGVudGF0aW9uICh0aGUgImkiIG9uIHRo
ZSAybmQgbGluZSB3YW50cyB0byBhbGlnbiB3aXRoIHRoYXQKPiA+IG9uIHRoZSAxc3Qgb25lKS4K
VGhhbmtzLiBJJ2xsIHVwZGF0ZSB0aGUgaW5kZW50YXRpb24uCj4gPiAKPiA+ID4gPiArwqDCoMKg
wqDCoMKgwqAgewo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICggYnVnX2xvYyhi
KSA9PSBwYyApCj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgewo+ID4gPiA+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYnVnID0gYjsKPiA+ID4gPiArwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gZm91bmQ7Cj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgfQo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCB9Cj4gPiA+ID4gK8KgwqDCoCB9Cj4gPiA+
ID4gKwo+ID4gPiA+ICsgZm91bmQ6Cj4gPiA+ID4gK8KgwqDCoCBpZiAoICFidWcgKQo+ID4gPiA+
ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gLUVJTlZBTDsKPiA+IAo+ID4gV2hpbGUgSSdtIGdlbmVy
YWxseSB1bmhhcHB5IHdpdGggbWFueSB1c2VzIG9mIC1FSU5WQUwgKGl0J3MgdXNlZCB0bwo+ID4g
aW5kaWNhdGUgd2F5IHRvbyBtYW55IGRpZmZlcmVudCBraW5kcyBvZiBlcnJvcnMpLCBjYW4gd2Ug
YXQgbGVhc3QKPiA+IGNvbnNpZGVyIHVzaW5nIC1FTk9FTlQgaGVyZSBpbnN0ZWFkPyAoSSdtIHNv
cnJ5LCBJIHNob3VsZCBoYXZlCj4gPiBhc2tlZAo+ID4gZm9yIHRoaXMgZWFybGllciBvbi4pClN1
cmUuIERvbmUuCj4gPiAKPiA+ID4gPiAtLS0gL2Rldi9udWxsCj4gPiA+ID4gKysrIGIveGVuL2lu
Y2x1ZGUveGVuL2J1Zy5oCj4gPiA+ID4gQEAgLTAsMCArMSwxNTggQEAKPiA+ID4gPiArI2lmbmRl
ZiBfX1hFTl9CVUdfSF9fCj4gPiA+ID4gKyNkZWZpbmUgX19YRU5fQlVHX0hfXwo+ID4gPiA+ICsK
PiA+ID4gPiArI2RlZmluZSBCVUdGUkFNRV9ydW5fZm4gMAo+ID4gPiA+ICsjZGVmaW5lIEJVR0ZS
QU1FX3dhcm7CoMKgIDEKPiA+ID4gPiArI2RlZmluZSBCVUdGUkFNRV9idWfCoMKgwqAgMgo+ID4g
PiA+ICsjZGVmaW5lIEJVR0ZSQU1FX2Fzc2VydCAzCj4gPiA+ID4gKwo+ID4gPiA+ICsjZGVmaW5l
IEJVR0ZSQU1FX05SwqDCoMKgwqAgNAo+ID4gPiA+ICsKPiA+ID4gPiArI2lmbmRlZiBCVUdfRlJB
TUVfU1RSVUNUCj4gPiAKPiA+IFRoaXMgY2hlY2sgd29uJ3QgaGVscCB3aGVuIGl0IGNvbWVzIGFo
ZWFkIG9mIC4uLgo+ID4gCj4gPiA+ID4gKyNkZWZpbmUgQlVHX0RJU1BfV0lEVEjCoMKgwqAgMjQK
PiA+ID4gPiArI2RlZmluZSBCVUdfTElORV9MT19XSURUSCAoMzEgLSBCVUdfRElTUF9XSURUSCkK
PiA+ID4gPiArI2RlZmluZSBCVUdfTElORV9ISV9XSURUSCAoMzEgLSBCVUdfRElTUF9XSURUSCkK
PiA+ID4gPiArI2VuZGlmCj4gPiA+ID4gKwo+ID4gPiA+ICsjaW5jbHVkZSA8YXNtL2J1Zy5oPgo+
ID4gCj4gPiAuLi4gdGhpcy4gQnV0IGlzIHRoZSAjaWZkZWYgYWN0dWFsbHkgbmVjZXNzYXJ5PyBP
ciBjYW4gdGhlICNkZWZpbmUtCj4gPiBzCj4gPiBiZSBtb3ZlZCAuLi4KPiA+IAo+ID4gPiA+ICsj
aWZuZGVmIEJVR19ERUJVR0dFUl9UUkFQX0ZBVEFMCj4gPiA+ID4gKyNkZWZpbmUgQlVHX0RFQlVH
R0VSX1RSQVBfRkFUQUwocmVncykgMAo+ID4gPiA+ICsjZW5kaWYKPiA+ID4gPiArCj4gPiA+ID4g
KyNpZm5kZWYgX19BU1NFTUJMWV9fCj4gPiA+ID4gKwo+ID4gPiA+ICsjaW5jbHVkZSA8eGVuL2xp
Yi5oPgo+ID4gPiA+ICsKPiA+ID4gPiArI2lmbmRlZiBCVUdfRlJBTUVfU1RSVUNUCj4gPiAKPiA+
IC4uLiBoZXJlPyAoSSBndWVzcyBoYXZpbmcgdGhlbSBkZWZpbmVkIGVhcmx5LCBidXQgdW5jb25k
aXRpb25hbGx5Cj4gPiBpcwo+ID4gYmV0dGVyLiBJZiBhbiBhcmNoIHdhbnRzIHRvIG92ZXJyaWRl
IHRoZW0sIHRoZXkgY2FuICN1bmRlZiBhbmQgdGhlbgo+ID4gI2RlZmluZS4pCldlIGNhbid0IG1v
dmUgaXQgdG8gI2luZGVmIF9fQVNTRU1CTFlfXyBiZWNhdXNlIGluIHRoaXMgY2FzZSB4ODYKY29t
cGlsYXRpb24gd2lsbCBmYWlsIGFzIGluIHg4NidzIDxhc20vYnVnLmg+IEJVR19ESVNQX1dJRFRI
LApCVUdfTElORV9MT19XSURUSCwgQlVHX0xJTkVfSElfV0lEVEggYXJlIHVzZWQgaW4gY2FzZSB3
aGVuIHRoZSBoZWFkZXIKaXMgaW5jbHVkZWQgaW4gYXNzZW1ibHkgY29kZS4KCkkgYWdyZWUgdGhh
dCB0aGVyZSBpcyBubyBhbnkgc2Vuc2UgdG8gaGF2ZSB0aGUgZGVmaW5lcyB1bmRlciAiI2lmbmRl
ZgpCVUdfRlJBTUVfU1RVQ1QiIGJlZm9yZSA8YXNtL2J1Zy5oPiBidXQgaXQgaXMgbmVjZXNzYXJ5
IHRvIGRlZmluZSB0aGVtCmJlZm9yZSA8YXNtL2J1Zy5oPi4gVGhlIGRlZmluZXMgd2VyZSBwdXQg
dW5kZXIgIiNpZm5kZWYKQlVHX0ZSQU1FX1NUVUNUIiBiZWNhdXNlIGl0IHNlZW1zIHRvIG1lIHRo
YXQgbG9naWNhbGx5IHRoZSBkZWZpbmVzCnNob3VsZCBnbyBvbmx5IHdpdGggZGVmaW5pdGlvbiBv
ZiAnc3RydWN0IGJ1Z19mcmFtZScuCgpTbyBpdCBsb29rcyBsaWtlIHRoZSBvbmx5IG9uZSB3YXkg
d2UgaGF2ZS4gSXQgaXMgZGVmaW5lIHRoZW0KdW5jb25kaXRpb25hbGx5IGJlZm9yZSA8YXNtL2J1
Zy5oPiBhbmQgI3VuZGVmIGlmIGl0IHdpbGwgYmUgbmVjZXNzYXJ5CmZvciBzcGVjaWZpYyBhcmNo
aXRlY3R1cmUuCkFzIGFuIG9wdGlvbiB3ZSBjYW4gbW92ZSB0aGUgZGVmaW5lcyB0byAjaWZuZGVm
IEJVR19GUkFNRV9TVFJVQ1QgdW5kZXIKI2lmbmRlZiBfX0FTU0VNQkxZX18gYW5kIHRoZW4gZGVm
aW5lIHRoZW0gZXhwbGljaXRseSBpbiB4ODYncwo8YXNtL2J1Zy5oPiBmb3IgY2FzZSB3aGVuIHRo
ZSBoZWFkZXIgaXMgaW5jbHVkZWQgc29tZSB3aGVyZSBpbiBhc3NlbWJseQpjb2RlLiBCdXQgdGhp
cyBvcHRpb24gbG9va3MgcmVhbGx5IHdlaXJkLgoKPiA+IAo+ID4gQWJvdmUgZnJvbSBoZXJlIHRo
ZSAiI2lmbmRlZiBfX0FTU0VNQkxZX18iIGFsc28gd2FudHMgdG8gbW92ZSB1cCwKPiA+IHRvCj4g
PiBmdXJ0aGVyIGVuY2xvc2UgQlVHX0RFQlVHR0VSX1RSQVBfRkFUQUwgKHdoaWNoIGlzIHVzZWxl
c3MgaW4KPiA+IGFzc2VtYmx5Cj4gPiBjb2RlKS4KWWVhaCwgc3VyZS4gV2lsbCBtb3ZlIHVwICIj
aWZuZGVmIF9fQVNTRU1CTFlfXyIKPiA+IAo+ID4gPiA+ICtzdHJ1Y3QgYnVnX2ZyYW1lIHsKPiA+
ID4gPiArwqDCoMKgIHNpZ25lZCBpbnQgbG9jX2Rpc3A6QlVHX0RJU1BfV0lEVEg7Cj4gPiA+ID4g
K8KgwqDCoCB1bnNpZ25lZCBpbnQgbGluZV9oaTpCVUdfTElORV9ISV9XSURUSDsKPiA+ID4gPiAr
wqDCoMKgIHNpZ25lZCBpbnQgcHRyX2Rpc3A6QlVHX0RJU1BfV0lEVEg7Cj4gPiA+ID4gK8KgwqDC
oCB1bnNpZ25lZCBpbnQgbGluZV9sbzpCVUdfTElORV9MT19XSURUSDsKPiA+ID4gPiArwqDCoMKg
IHNpZ25lZCBpbnQgbXNnX2Rpc3BbXTsKPiA+ID4gPiArfTsKPiA+ID4gPiArCj4gPiA+ID4gKyNk
ZWZpbmUgYnVnX2xvYyhiKSAoKHVuc2lnbmVkIGxvbmcpKGIpICsgKGIpLT5sb2NfZGlzcCkKPiA+
ID4gPiArCj4gPiA+ID4gKyNkZWZpbmUgYnVnX3B0cihiKSAoKGNvbnN0IHZvaWQgKikoYikgKyAo
YiktPnB0cl9kaXNwKQo+ID4gPiA+ICsKPiA+ID4gPiArI2RlZmluZSBidWdfbGluZShiKSAoKCgo
KGIpLT5saW5lX2hpICsgKChiKS0+bG9jX2Rpc3AgPCAwKSkKPiA+ID4gPiAmwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgKCgxIDw8IEJVR19MSU5FX0hJX1dJRFRIKSAtIDEpKQo+ID4gPiA+
IDw8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQlVHX0xJTkVfTE9fV0lEVEgp
Cj4gPiA+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCAoKChiKS0+bGluZV9sbyArICgoYiktPnB0cl9kaXNwIDwgMCkpCj4g
PiA+ID4gJsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgoMSA8PCBCVUdfTElORV9MT19X
SURUSCkgLSAxKSkpCj4gPiA+ID4gKwo+ID4gPiA+ICsjZGVmaW5lIGJ1Z19tc2coYikgKChjb25z
dCBjaGFyICopKGIpICsgKGIpLT5tc2dfZGlzcFsxXSkKPiA+ID4gPiArCj4gPiA+ID4gKyNlbmRp
ZiAvKiBCVUdfRlJBTUVfU1RSVUNUICovCj4gPiA+ID4gKwo+ID4gPiA+ICsvKgo+ID4gPiA+ICsg
KiBHZW5lcmljIGltcGxlbWVudGF0aW9uIGhhcyBiZWVuIGJhc2VkIG9uIHg4NiBpbXBsZW1lbnRh
dGlvbgo+ID4gPiA+IHdoZXJlCj4gPiA+ID4gKyAqICclYycgdG8gZGVhbCB3aXRoIHB1bmN0YXRp
b24gc2lnbiAoJCwgIyBkZXBlbmRpbmcgb24KPiA+ID4gPiBhcmNoaXRlY3R1cmUpCj4gPiA+ID4g
KyAqIGJlZm9yZSBpbW1lZGlhdGUuCj4gPiA+ID4gKyAqCj4gPiA+ID4gKyAqIE5vdCBhbGwgYXJj
aGl0ZWN0dXJlJ3MgY29tcGlsZXJzIGhhdmUgZnVsbCBzdXBwb3J0IG9mICclYycKPiA+ID4gPiBh
bmQKPiA+ID4gPiBub3QgZm9yIGFsbAo+ID4gPiA+ICsgKiBhc3NlbWJsZXJzIHB1bmN0YXRpb24g
c2lnbiBpcyB1c2VkIGJlZm9yZSBpbW1lZGlhdGUuCj4gPiA+ID4gKyAqIFRoZXJlYnkgaXQgd2Fz
IGRlY2lkZWQgdG8gaW50cm9kdWNlIEJVR19BU01fQ09OU1QuCj4gPiA+ID4gKyAqLwo+ID4gCj4g
PiBJIGhhdmUgdG8gYWRtaXQgdGhhdCBJJ20gbm90IHJlYWxseSBoYXBweSB3aXRoIHRoaXMgY29t
bWVudC4gQXQgdGhlCj4gPiB2ZXJ5Cj4gPiBsZWFzdCB0aGUgbGFzdCBzZW50ZW5jZSBpbW8gZG9l
c24ndCBiZWxvbmcgdGhlcmUuIEJ1dCBvdmVyYWxsIGhvdwo+ID4gYWJvdXQKPiA+IHNvbWV0aGlu
ZyBsaWtlCj4gPiAKPiA+ICJTb21lIGFyY2hpdGVjdHVyZXMgbWFyayBpbW1lZGlhdGUgaW5zdHJ1
Y3Rpb24gb3BlcmFuZHMgaW4gYQo+ID4gc3BlY2lhbAo+ID4gd2F5Lgo+ID4gwqBJbiBzdWNoIGNh
c2VzIHRoZSBzcGVjaWFsIG1hcmtpbmcgbWF5IG5lZWQgb21pdHRpbmcgd2hlbgo+ID4gc3BlY2lm
eWluZwo+ID4gwqBkaXJlY3RpdmUgb3BlcmFuZHMuIEFsbG93IGFyY2hpdGVjdHVyZXMgdG8gc3Bl
Y2lmeSBhIHN1aXRhYmxlCj4gPiBtb2RpZmllci4iCllvdXIgY29tbWVudCBsb29rcyByZWFsbHkg
YmV0dGVyLiBTbyBJJ2xsIHVzZSBpdC4KPiA+IAo+ID4gPiA+ICsjaWZuZGVmIEJVR19BU01fQ09O
U1QKPiA+ID4gPiArI2RlZmluZSBCVUdfQVNNX0NPTlNUICIiCj4gPiA+ID4gKyNlbmRpZgo+ID4g
PiA+ICsKPiA+ID4gPiArI2lmICFkZWZpbmVkKF9BU01fQlVHRlJBTUVfVEVYVCkgfHwKPiA+ID4g
PiAhZGVmaW5lZChfQVNNX0JVR0ZSQU1FX0lORk8pCj4gPiAKPiA+IFBsZWFzZSBkb24ndCBtYWtl
IHRoZSBjb25kaXRpb25hbCBtb3JlIGNvbXBsaWNhdGVkIHRoYW4gbmVjZXNzYXJ5Ogo+ID4gQ2hl
Y2tpbmcgZm9yIGp1c3QgX0FTTV9CVUdGUkFNRV9URVhUIGlzIGVub3VnaCBoZXJlLgpTdXJlLiBJ
J2xsIHVwZGF0ZSB0aGF0Lgo+ID4gCj4gPiA+ID4gKyNkZWZpbmUKPiA+ID4gPiBfQVNNX0JVR0ZS
QU1FX1RFWFQoc2Vjb25kX2ZyYW1lKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiA+ID4gwqDCoMKgwqAKPiA+ID4gPiDCoMKg
wqDCoMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKgCj4gPiA+ID4gIi5MYnVnJT06IkJVR19JTlNU
UiJcbiLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gPiA+IMKgwqDCoMKgCj4gPiA+ID4gwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKgICLCoMKgIC5wdXNoc2VjdGlv
biAuYnVnX2ZyYW1lcy4lIkJVR19BU01fQ09OU1QiW2JmX3R5cGVdLAo+ID4gPiA+IFwiYVwiLAo+
ID4gPiA+ICUlcHJvZ2JpdHNcbiLCoMKgwqAgXAo+ID4gPiA+ICvCoMKgwqAgIsKgwqAgLnAyYWxp
Z24KPiA+ID4gPiAyXG4iwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gPiA+IMKgwqDCoAo+ID4gPiA+IFwKPiA+ID4gPiArwqDC
oMKgCj4gPiA+ID4gIi5MZnJtJT06XG4iwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgCj4gPiA+ID4gwqDCoMKgwqAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgXAo+ID4gPiA+ICvCoMKgwqAgIsKgwqAgLmxvbmcgKC5MYnVnJT0gLSAuTGZybSU9KSAr
Cj4gPiA+ID4gJSJCVUdfQVNNX0NPTlNUIltiZl9saW5lX2hpXVxuIsKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKgICLCoMKgIC5sb25nICglIkJVR19BU01f
Q09OU1QiW2JmX3B0cl0gLSAuTGZybSU9KSArCj4gPiA+ID4gJSJCVUdfQVNNX0NPTlNUIltiZl9s
aW5lX2xvXVxuIlwKPiA+ID4gPiArwqDCoMKgICLCoMKgIC5pZiAiICNzZWNvbmRfZnJhbWUKPiA+
ID4gPiAiXG4iwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwK
PiA+ID4gPiArwqDCoMKgICLCoMKgIC5sb25nIDAsICUiQlVHX0FTTV9DT05TVCJbYmZfbXNnXSAt
Cj4gPiA+ID4gLkxmcm0lPVxuIsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKgwqAgIsKgwqAKPiA+ID4gPiAuZW5k
aWZcbiLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAK
PiA+ID4gPiDCoMKgwqDCoAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKg
wqAgIsKgwqAgLnBvcHNlY3Rpb25cbiIKPiA+ID4gPiArCj4gPiA+ID4gKyNkZWZpbmUgX0FTTV9C
VUdGUkFNRV9JTkZPKHR5cGUsIGxpbmUsIHB0ciwKPiA+ID4gPiBtc2cpwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKg
wqAgW2JmX3R5cGVdwqDCoMKgICJpIgo+ID4gPiA+ICh0eXBlKSzCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKgwqAgW2JmX3B0cl3CoMKgwqDCoCAi
aSIKPiA+ID4gPiAocHRyKSzCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCBcCj4gPiA+ID4gK8KgwqDCoCBbYmZfbXNnXcKgwqDCoMKgICJpIgo+ID4gPiA+IChtc2cpLMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKg
IFtiZl9saW5lX2xvXSAiaSIgKChsaW5lICYgKCgxIDw8IEJVR19MSU5FX0xPX1dJRFRIKSAtCj4g
PiA+ID4gMSkpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDw8Cj4gPiA+ID4gQlVHX0RJU1Bf
V0lEVEgpLMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKgwqAgW2JmX2xpbmVfaGldICJpIiAo
KChsaW5lKSA+PiBCVUdfTElORV9MT19XSURUSCkgPDwKPiA+ID4gPiBCVUdfRElTUF9XSURUSCkK
PiA+ID4gPiArCj4gPiA+ID4gKyNlbmRpZiAvKiBfQVNNX0JVR0ZSQU1FX1RFWFQgfHwgX0FTTV9C
VUdGUkFNRV9JTkZPICovCj4gPiA+ID4gKwo+ID4gPiA+ICsjaWZuZGVmIEJVR19GUkFNRQo+ID4g
PiA+ICsKPiA+ID4gPiArI2RlZmluZSBCVUdfRlJBTUUodHlwZSwgbGluZSwgcHRyLCBzZWNvbmRf
ZnJhbWUsIG1zZykgZG8KPiA+ID4gPiB7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIFwKPiA+ID4gPiArwqDCoMKgIEJVSUxEX0JVR19PTigobGluZSkgPj4gKEJVR19MSU5FX0xP
X1dJRFRIICsKPiA+ID4gPiBCVUdfTElORV9ISV9XSURUSCkpO8KgwqDCoMKgwqDCoMKgwqAgXAo+
ID4gPiA+ICvCoMKgwqAgQlVJTERfQlVHX09OKCh0eXBlKSA+PQo+ID4gPiA+IEJVR0ZSQU1FX05S
KTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKgwqAgYXNtIHZvbGF0aWxlICgKPiA+ID4g
PiBfQVNNX0JVR0ZSQU1FX1RFWFQoc2Vjb25kX2ZyYW1lKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIDo6IF9BU01fQlVHRlJBTUVfSU5GTyh0eXBlLCBsaW5lLCBwdHIs
IG1zZykKPiA+ID4gPiApO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICt9IHdoaWxl
ICgwKQo+ID4gCj4gPiBJc24ndCB0aGlzIHRpZWQgdG8gQlVHX0ZSQU1FX1NUUlVDVCBiZWluZyBk
ZWZpbmVkIChvciBub3QpPyBBdAo+ID4gbGVhc3QKPiA+IHRoZSAxc3QgQlVJTERfQlVHX09OKCkg
bG9va3MgcHJvYmxlbWF0aWMgaWYgYW4gYXJjaCB3YXNuJ3QgdG8gdXNlCj4gPiB0aGUgZ2VuZXJp
YyBzdHJ1Y3Q6IFdpdGggaG93IHlvdSBoYXZlIHRoaW5ncyByaWdodCBub3cKPiA+IEJVR19MSU5F
X3tMTyxISX1fV0lEVEggbWF5IG5vdCBiZSBkZWZpbmVkLCBhbmQgdGhlIGNoZWNrIHdvdWxkIGFs
c28KPiA+IGJlIGF0IHJpc2sgb2YgY2F1c2luZyBmYWxzZSBwb3NpdGl2ZXMuIFBlcmhhcHMgaXQn
cyBhcHByb3ByaWF0ZSB0bwo+ID4gaGF2ZSBhIHNlcGFyYXRlICNpZmRlZiAoaW5jbCB0aGUgZGlz
dGluY3QgaWRlbnRpZmllciB1c2VkKSwgYnV0Cj4gPiB0aGF0Cj4gPiBmaXJzdCBCVUlMRF9CVUdf
T04oKSBuZWVkcyBhYnN0cmFjdGluZyBvdXQuCk1pc3NlZCB0aGF0LiBUaGFua3MuCkknbGwgaW50
cm9kdWNlIHRoYXQgYSBzZXBhcmF0ZSAjaWZkZWYgYmVmb3JlIEJVR19GUkFNRToKCiNpZm5kZWYg
QlVJTERfQlVHX09OX0xJTkVfV0lEVEgKI2RlZmluZSBCVUlMRF9CVUdfT05fTElORV9XSURUSCBc
CiAgICAgICAgQlVJTERfQlVHX09OKChsaW5lKSA+PiAoQlVHX0xJTkVfTE9fV0lEVEggKyBCVUdf
TElORV9ISV9XSURUSCkpCiNlbmRpZgo+ID4gCj4gPiBBbHNvIG5pdDogU3R5bGUgKHNlZSAuLi4K
PiA+IAo+ID4gPiA+ICsjZW5kaWYKPiA+ID4gPiArCj4gPiA+ID4gKyNpZm5kZWYgcnVuX2luX2V4
Y2VwdGlvbl9oYW5kbGVyCj4gPiA+ID4gKwo+ID4gPiA+ICsvKgo+ID4gPiA+ICsgKiBUT0RPOiB1
bnRhbmdsZSBoZWFkZXIgZGVwZW5kZW5jZXMsIGJyZWFrIEJVSUxEX0JVR19PTigpIG91dAo+ID4g
PiA+IG9mCj4gPiA+ID4geGVuL2xpYi5oLAo+ID4gPiA+ICsgKiBhbmQgdXNlIGEgcmVhbCBzdGF0
aWMgaW5saW5lIGhlcmUgdG8gZ2V0IHByb3BlciB0eXBlCj4gPiA+ID4gY2hlY2tpbmcKPiA+ID4g
PiBvZiBmbigpLgo+ID4gPiA+ICsgKi8KPiA+ID4gPiArI2RlZmluZQo+ID4gPiA+IHJ1bl9pbl9l
eGNlcHRpb25faGFuZGxlcihmbinCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKgwqAgZG8KPiA+ID4gPiB7wqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICvC
oMKgwqDCoMKgwqDCoCAodm9pZCkoKGZuKSA9PSAodm9pZCAoKikoc3RydWN0IGNwdV91c2VyX3Jl
Z3MKPiA+ID4gPiAqKSlOVUxMKTsgXAo+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoCBCVUdfRlJBTUUo
QlVHRlJBTUVfcnVuX2ZuLCAwLCBmbiwgMCwKPiA+ID4gPiBOVUxMKTvCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgXAo+ID4gPiA+ICvCoMKgwqAgfSB3aGlsZSAoIDAgKQo+ID4gCj4gPiAuLi4gaGVy
ZSkuIEFsc28sIGNvbnNpZGVyaW5nIHRoZSBib29sZWFuIG5hdHVyZSwgSSBndWVzcyB3ZSdyZSBp
bgo+ID4gdGhlCj4gPiBwcm9jZXNzIG9mIG1vdmluZyBzdWNoIHRvIGJlICJ9IHdoaWxlICggZmFs
c2UgKTsiLgo+ID4gCj4gPiBBbHNvIHBsZWFzZSBiZSBjb25zaXN0ZW50IHdpdGggZm9ybWF0dGlu
ZyBvZiB0aGUgdHdvIGFkamFjZW50Cj4gPiBtYWNyb3MsCj4gPiBib3RoIGluZGVudGF0aW9uLXdp
c2UgYW5kIHdoZXJlICJkbyB7IiBpcyBwbGFjZWQuIFdoaWNoIG9mIHRoZSB0d28KPiA+IGZvcm1z
IHlvdSB1c2UgaXMgc2Vjb25kYXJ5LgpUaGFua3MuIERvbmUuCj4gPiAKPiA+ID4gPiArI2VuZGlm
IC8qIHJ1bl9pbl9leGNlcHRpb25faGFuZGxlciAqLwo+ID4gPiA+ICsKPiA+ID4gPiArI2lmbmRl
ZiBXQVJOCj4gPiA+ID4gKyNkZWZpbmUgV0FSTigpIEJVR19GUkFNRShCVUdGUkFNRV93YXJuLCBf
X0xJTkVfXywgX19GSUxFX18sIDAsCj4gPiA+ID4gTlVMTCkKPiA+ID4gPiArI2VuZGlmCj4gPiA+
ID4gKwo+ID4gPiA+ICsjaWZuZGVmIEJVRwo+ID4gPiA+ICsjZGVmaW5lIEJVRygpIGRvCj4gPiA+
ID4ge8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiA+ID4gK8KgwqDCoCBC
VUdfRlJBTUUoQlVHRlJBTUVfYnVnLMKgIF9fTElORV9fLCBfX0ZJTEVfXywgMCwKPiA+ID4gPiBO
VUxMKTvCoMKgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKgCj4gPiA+ID4gdW5yZWFjaGFibGUoKTvC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ICt9IHdoaWxlICgwKQo+
ID4gPiA+ICsjZW5kaWYKPiA+ID4gPiArCj4gPiA+ID4gKyNpZm5kZWYgYXNzZXJ0X2ZhaWxlZAo+
ID4gPiA+ICsjZGVmaW5lIGFzc2VydF9mYWlsZWQobXNnKSBkbwo+ID4gPiA+IHvCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwK
PiA+ID4gPiArwqDCoMKgIEJVR19GUkFNRShCVUdGUkFNRV9hc3NlcnQsIF9fTElORV9fLCBfX0ZJ
TEVfXywgMSwKPiA+ID4gPiBtc2cpO8KgwqDCoMKgIFwKPiA+ID4gPiArwqDCoMKgCj4gPiA+ID4g
dW5yZWFjaGFibGUoKTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+
ICt9IHdoaWxlICgwKQo+ID4gPiA+ICsjZW5kaWYKPiA+ID4gPiArCj4gPiA+ID4gKyNpZmRlZiBD
T05GSUdfR0VORVJJQ19CVUdfRlJBTUUKPiA+ID4gPiArCj4gPiA+ID4gK3N0cnVjdCBjcHVfdXNl
cl9yZWdzOwo+ID4gPiA+ICsKPiA+ID4gPiArLyoKPiA+ID4gPiArICogUmV0dXJucyBhIG5lZ2F0
aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3Igb3RoZXJ3aXNlIHRoZQo+ID4gPiA+IGJ1Zwo+
ID4gPiA+IHR5cGUuCj4gPiA+ID4gKyAqLwo+ID4gCj4gPiBQZXJoYXBzIGFkZCAiKEJVR0ZSQU1F
XyopIiwgd2hpY2ggd291bGQgdGhlbiBhbHNvIG1ha2UgdGhpcyBhCj4gPiBwcm9wZXJseQo+ID4g
bXVsdGktbGluZSBjb21tZW50IChyaWdodCBub3cgaXQncyBhIHN0eWxlIHZpb2xhdGlvbiwgYXMg
aXMgdGhlCj4gPiBjYXNlCj4gPiBmb3IgdGhlIGZ1bmN0aW9uIGRlZmluaXRpb24gYXMgcG9pbnRl
ZCBvdXQgYWJvdmUpPwo+ID4gClVwZGF0ZWQuIFRoYW5rcy4KCn4gT2xla3NpaQoK



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 11:34:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 11:34:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507315.780660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZVZv-0004Kv-LC; Tue, 07 Mar 2023 11:33:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507315.780660; Tue, 07 Mar 2023 11: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 1pZVZv-0004Ko-GS; Tue, 07 Mar 2023 11:33:59 +0000
Received: by outflank-mailman (input) for mailman id 507315;
 Tue, 07 Mar 2023 11:33: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=JVyd=67=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZVZt-0004HF-Ot
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 11:33: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 f1853e1a-bcdb-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 12:33: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 2137F1FE18;
 Tue,  7 Mar 2023 11:33: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 DF2D213440;
 Tue,  7 Mar 2023 11:33:54 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id SlksNSIhB2Q9DQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Mar 2023 11:33:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1853e1a-bcdb-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678188835; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=ZIhSjodlMZHkfVxut8QZ5TfxLHihKR/af6VWsZD68ig=;
	b=XIAsqSPY1lXvy9fPVKoT2zLhSUpDd4wV03scGU1CVSrseM/IYnhI+ajnvSiyxLmTw7eFCr
	LR6Nx9/3PbevOB2SsBjFfGTa/2RKK/7CahGCbAMuRYU3qcHxFtFjbZ9NeIrl6KpW3RMVsm
	y1DIOB+7Uj+CXKXwTADiR3I/p30DxXs=
Message-ID: <d3d2b65c-ccb4-5408-38d2-d637e1f67064@suse.com>
Date: Tue, 7 Mar 2023 12:33:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
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: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-2-jgross@suse.com>
 <e1353c0c-9501-3713-b759-0989447e6496@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 1/2] xen: move CONFIG_DEBUG_INFO out of EXPERT section
In-Reply-To: <e1353c0c-9501-3713-b759-0989447e6496@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------h8uoewT2IvQkXrD0UgDcYb8A"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------h8uoewT2IvQkXrD0UgDcYb8A
Content-Type: multipart/mixed; boundary="------------YF1Gsw5ZKqYBihYrS7APCSVM";
 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: <d3d2b65c-ccb4-5408-38d2-d637e1f67064@suse.com>
Subject: Re: [PATCH 1/2] xen: move CONFIG_DEBUG_INFO out of EXPERT section
References: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-2-jgross@suse.com>
 <e1353c0c-9501-3713-b759-0989447e6496@suse.com>
In-Reply-To: <e1353c0c-9501-3713-b759-0989447e6496@suse.com>

--------------YF1Gsw5ZKqYBihYrS7APCSVM
Content-Type: multipart/mixed; boundary="------------APHLmIdao37ihpotCrNUZd70"

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

T24gMDcuMDMuMjMgMTE6MzEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNy4wMy4yMDIz
IDA3OjMyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gSW4gb3JkZXIgdG8gc3VwcG9ydCBo
eXBlcnZpc29yIGFuYWx5c2lzIG9mIGNyYXNoIGR1bXBzLCB4ZW4tc3ltcyBuZWVkcw0KPj4g
dG8gY29udGFpbiBkZWJ1Z19pbmZvLiBJdCBzaG91bGQgYmUgYWxsb3dlZCB0byBjb25maWd1
cmUgdGhlIGh5cGVydmlzb3INCj4+IHRvIGJlIGJ1aWx0IHdpdGggQ09ORklHX0RFQlVHX0lO
Rk8gaW4gbm9uLWRlYnVnIGJ1aWxkcyB3aXRob3V0IGhhdmluZw0KPj4gdG8gZW5hYmxlIEVY
UEVSVC4NCj4gDQo+IEluIGhvdyBmYXIgZG9lcyB0aGlzIGFwcGx5IHRvIHhlbi5lZmkgYXMg
d2VsbD8gKFlvdSBjYW4ndCByZWFsbHkgdXNlDQo+IHhlbi1zeW1zIGZvciBjcmFzaCBkZWJ1
Z2dpbmcgd2hlbiB0aGUgY3Jhc2ggb2NjdXJyZWQgd2l0aCB4ZW4uZWZpIGluDQo+IHVzZS4p
DQoNClRCSCBJIGRvbid0IGtub3cgd2hhdCBpcyBuZWVkZWQgZm9yIGFuYWx5c2lzIG9mIGNy
YXNoIGR1bXBzIHdpdGggdGhlIHhlbi5lZmkNCmJpbmFyeS4NCg0KPiANCj4+IFVzaW5nIGEg
cmF0aGVyIG9sZGlzaCBnY2MgKDcuNSkgaXQgd2FzIHZlcmlmaWVkIHRoYXQgY29kZSBnZW5l
cmF0aW9uDQo+PiBkb2Vzbid0IHJlYWxseSBkaWZmZXIgYmV0d2VlbiBDT05GSUdfREVCVUdf
SU5GTyBvbiBvciBvZmYgd2l0aG91dA0KPj4gQ09ORklHX0RFQlVHIGJlaW5nIHNldCAob25s
eSBvYnNlcnZlZCBkaWZmZXJlbmNlcyB3ZXJlIHNsaWdodGx5DQo+PiBkaWZmZXJlbnQgc3lt
Ym9sIGFkZHJlc3NlcywgdmVyaWZpZWQgdmlhICJvYmpkdW1wIC1kIikuIFRoZSBvbGQgZ2Nj
DQo+PiB2ZXJzaW9uIHNlbGVjdGlvbiB3YXMgYmFzZWQgb24gdGhlIGFzc3VtcHRpb24sIHRo
YXQgbmV3ZXIgZ2NjIHdvbid0DQo+PiByZWdyZXNzIGluIHRoaXMgcmVnYXJkLg0KPiANCj4g
VGhpcyBpcyBnb29kIHRvIGtub3csIGJ1dCBJJ20gc3RpbGwgY3VyaW91cyBhYm91dCB0aGUg
bWVudGlvbmVkDQo+IGRpZmZlcmVuY2VzIGluIHN5bWJvbCBhZGRyZXNzZXM6IElmIGNvZGUg
Z2VuZXJhdGlvbiBkaWRuJ3QgY2hhbmdlLCB3aGF0DQo+IGNhdXNlZCBhZGRyZXNzZXMgdG8g
ZGlmZmVyPyBJcyB0aGF0IG1lcmVseSBiZWNhdXNlIGluZGl2aWR1YWwgZnVuY3Rpb25zDQo+
IG9yIG9iamVjdHMgYXJlIGVtaXR0ZWQgaW4gZGlmZmVyZW50IG9yZGVyIGJ5IHRoZSBjb21w
aWxlcj8gKElmIHNvIEknZA0KPiBiZSBpbmNsaW5lZCB0byBpbmZlciB0aGF0IGNvbXBhcmlu
ZyBnZW5lcmF0ZWQgY29kZSBtdXN0IGhhdmUgYmVlbg0KPiBxdWl0ZSBhIGJpdCBvZiBlZmZv
cnQsIGFzIGZpcnN0IG9mIGFsbCB5b3Ugd291bGQgaGF2ZSBoYWQgdG8gdW5kbyB0aGF0DQo+
IHJlLW9yZGVyaW5nLikNCg0KSSBkaWQgYSBzaW1wbGUgZGlmZiBvZiB0aGUgdHdvIGRpc2Fz
c2VtYmx5IG91dHB1dHMgYW5kIGdvdCBvbmx5IHNtYWxsDQpkaWZmZXJlbmNlcyBmb3IgJXJp
cCByZWxhdGl2ZSBhZGRyZXNzZXMgKHRoZSBkaWZmZXJlbmNlcyB3ZXJlIGluIHRoZQ0KcmFu
Z2Ugb2YgKy8tIDMyIGJ5dGVzKS4NCg0KPiBUaGUgb3RoZXIgdGhpbmcgdG8gYXQgbGVhc3Qg
bWVudGlvbiBoZXJlIGlzIHRoYXQgd2l0aCBuZXcgZW5vdWdoDQo+IGJpbnV0aWxzLCB3aGVu
IER3YXJmIGRlYnVnIGluZm8gY2FuIGJlIGVuYWJsZWQgZm9yIGtlZXBpbmcgaW4geGVuLmVm
aSwNCj4gbGlua2luZyB0aW1lIG9mIHhlbi5lZmkgaW5jcmVhc2VzIHF1aXRlIGEgYml0IHdp
dGggREVCVUdfSU5GTz15ICh3aGljaA0KPiBpcyBhIHJlc3VsdCBvZiBsaW5raW5nIEVMRiBv
YmplY3RzIGludG8gYSBub24tRUxGIGJpbmFyeSwgd2hlbiBhdA0KPiBsZWFzdCBHTlUgbGQg
b3B0aW1pemVzIG9ubHkgdGhlIEVMRiAtPiBFTEYgY2FzZSB3aGVuIHByb2Nlc3NpbmcgdGhl
DQo+IFttYXNzaXZlIGFtb3VudCBvZl0gcmVsb2NhdGlvbnMpLg0KDQpPa2F5LCBJIGNhbiBh
ZGQgdGhpcy4NCg0KPiANCj4+IFNvIG1vdmUgQ09ORklHX0RFQlVHX0lORk8gb3V0IG9mIHRo
ZSBzZWN0aW9uIGd1YXJkZWQgYnkgRVhQRVJULg0KPiANCj4gSXNuJ3QgdGhlIHByaW9yIERF
QlVHIGRlcGVuZGVuY3kgYXMgcmVsZXZhbnQ/DQoNCk5vdCBmb3IgdGhlIGNhc2UgIm5vbi1k
ZWJ1ZyBidWlsZHMiIHRoZSBwYXRjaCBpcyBhZGRyZXNzaW5nLg0KDQo+IA0KPj4gLS0tIGEv
eGVuL0tjb25maWcuZGVidWcNCj4+ICsrKyBiL3hlbi9LY29uZmlnLmRlYnVnDQo+PiBAQCAt
MTEsNiArMTEsMTMgQEAgY29uZmlnIERFQlVHDQo+PiAgIA0KPj4gICAJICBZb3UgcHJvYmFi
bHkgd2FudCB0byBzYXkgJ04nIGhlcmUuDQo+PiAgIA0KPj4gK2NvbmZpZyBERUJVR19JTkZP
DQo+PiArCWJvb2wgIkNvbXBpbGUgWGVuIHdpdGggZGVidWcgaW5mbyINCj4+ICsJZGVmYXVs
dCBERUJVRw0KPj4gKwktLS1oZWxwLS0tDQo+IA0KPiBOaXQ6IEV2ZW4gaWYganVzdCBjb2Rl
IG1vdmVtZW50LCBwbGVhc2UgdXNlICJoZWxwIiBpbiB0aGUgbW92ZWQNCj4gaW5zdGFuY2Uu
DQoNCk9rYXkuDQoNCj4gDQo+PiArCSAgSWYgeW91IHNheSBZIGhlcmUgdGhlIHJlc3VsdGlu
ZyBYZW4gd2lsbCBpbmNsdWRlIGRlYnVnZ2luZyBpbmZvDQo+PiArCSAgcmVzdWx0aW5nIGlu
IGEgbGFyZ2VyIGJpbmFyeSBpbWFnZS4NCj4+ICsNCj4+ICAgaWYgREVCVUcgfHwgRVhQRVJU
DQo+IA0KPiBUaGUgbmV3IHBsYWNlbWVudCBpc24ndCB2ZXJ5IGhlbHBmdWwgd2hlbiBjb25z
aWRlcmluZyBzb21lIG9mIHRoZSB3YXlzDQo+IGtjb25maWcgZGF0YSBpcyBwcmVzZW50ZWQu
IEF0IGxlYXN0IGZvciB0aGUgbm9uLWdyYXBoaWNhbCBwcmVzZW50YXRpb24NCj4gaXQgdXNl
ZCB0byBiZSB0aGUgY2FzZSB0aGF0IGhpZXJhcmNoaWVzIHdlcmUgcHJlc2VudGVkIHByb3Bl
cmx5IG9ubHkNCj4gd2hlbiBkZXBlbmRlbmNpZXMgaW1tZWRpYXRlbHkgZm9sbG93ZWQgdGhl
aXIgZGVwZW5kZW50cyAoaS5lLiBoZXJlOg0KPiBERUJVRyBpcyBhIGRlcGVuZGVudCBvZiBl
dmVyeXRoaW5nIGluc2lkZSB0aGUgImlmIiBhYm92ZSkuIFRoZXJlZm9yZSBJDQo+IHRoaW5r
IHJhdGhlciB0aGFuIG1vdmluZyB0aGUgYmxvY2sgdXAgeW91IG1heSBiZXR0ZXIgbW92ZSBp
dCBkb3duIHBhc3QNCj4gdGhlICJlbmRpZiIuDQoNCkZpbmUgd2l0aCBtZS4NCg0KDQpKdWVy
Z2VuDQo=
--------------APHLmIdao37ihpotCrNUZd70
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-----

--------------APHLmIdao37ihpotCrNUZd70--

--------------YF1Gsw5ZKqYBihYrS7APCSVM--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQHISIFAwAAAAAACgkQsN6d1ii/Ey/4
6Qf9HeOttdGw1X/JNUsyU5IP8xwJ3Ji7YFwIo30/LfQtC8wJOM/PyTRqgWlzXBks47ZG5PeH7TTQ
HFebS/t2y/yS+lmtBTRbKqJTTem/WV0h6kKd/zeJSYcC1NDtIEt7fHIpXPr4sSko0g5FoOuVEo6T
a/2sXwEqMp4AOvwLrl/9YzoW9L+JvsED299j96+/e4i2KYfE2NrJQRSMcStpm/uFQHwgKLCl8GIf
NmFV8bsoC3HCe3pIvgjQtS3plnqo6R6gmni7XCfSYL//xst+dMN6POEgUY0AHunUehdUFQVwe+JA
mAEVKIKn2ia8SHHWSCNAXR6u+nPP9jWElSIZEd3Big==
=8gVL
-----END PGP SIGNATURE-----

--------------h8uoewT2IvQkXrD0UgDcYb8A--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 11:34:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 11:34:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507320.780668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZVaa-0004rt-Vc; Tue, 07 Mar 2023 11:34:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507320.780668; Tue, 07 Mar 2023 11: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 1pZVaa-0004rm-Si; Tue, 07 Mar 2023 11:34:40 +0000
Received: by outflank-mailman (input) for mailman id 507320;
 Tue, 07 Mar 2023 11: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=zeiT=67=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZVaZ-0004jv-Ei
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 11:34:39 +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 0b523302-bcdc-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 12:34:38 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id h11so11780100wrm.5
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 03:34:38 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 f2-20020adfdb42000000b002c54fb024b2sm12204662wrj.61.2023.03.07.03.34.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Mar 2023 03:34: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: 0b523302-bcdc-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678188878;
        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=yGZgPJWnH/SnqpV+oOPAmp/KHXkA8IXtpvjGprFRQCk=;
        b=gEdQMkN7L2pdZlkVOmuQz31H0EIoBPOnEPEI1+8h53htCqY2wXBEt8glJwFdDouJAt
         /0qBSff9dZATeHXj18uYFgZzM1MPUU8TKzkyIIPCFmGT+qpkDtrCwzivBA6KIoZFF+On
         PzQWf3ggTfX6uH88nCKEvh0fTRBShY/BvxBxC2J3Ew/sxlE3vERBWheRU6ViMLskhEKe
         EAGD1guw2O6KH7kNdVhoA0ZfV4QS2I8hN2h+7dvvKjnWo9f9GBAjE7oHcmXz0D81xfIr
         O1UwDS1BZPo3FNpLmJVSOF9M5OMz/g39qTcNbLzAnF6mbgo1Mk6BP/t83cy/yy/g5azG
         oI8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678188878;
        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=yGZgPJWnH/SnqpV+oOPAmp/KHXkA8IXtpvjGprFRQCk=;
        b=thMTVgAmXkell1rWMReL0BVTJ/zHm5HT/4e3SxjuTlf/iO7WMK9kDfgX0BS/ECPIyU
         ybwy7wq75SvQTjqctHa+c7IjBpAH5JguutQ8cKdbr5yD9Jf41xukKycA792UpzSzT+4v
         L+PgKy449fzyZrOkWt4Ipozd9yqAYbnbF0YSXuNWl2I5c3tOeCmFBy5cFthXMZImTu5v
         TB0YxPCEK4Zp3slHHuF8O+Bf21cx3HMrRX8fZ6VI3LH7ZyuvEfAutfpiMQVNN2CoowLb
         NWS4WWrYvduif05l5Z8hJjbwhPRLSwNuVR7S2zFRjanPjpM00i3CljZ0on/edQ9TdkLh
         X3ZQ==
X-Gm-Message-State: AO0yUKXU+7AOthwkW+4B153NkDT7JtATZH0g77E0W8IMsXF0HBxrt8co
	rvXzPTG4SFjNT58tQhVe3fw=
X-Google-Smtp-Source: AK7set/nSTA2iK73p2ozbMhoyvy6ABym1rap3cBPngJIXrOIviS35kJLiKmzgVpZMyUlGg/4jSEnUQ==
X-Received: by 2002:adf:f48f:0:b0:2c7:e05:2d1b with SMTP id l15-20020adff48f000000b002c70e052d1bmr8546148wro.50.1678188878353;
        Tue, 07 Mar 2023 03:34:38 -0800 (PST)
Message-ID: <517032abd06c800be192021e51ec62dc3749dc6f.camel@gmail.com>
Subject: Re: [PATCH v5 1/4] xen: introduce CONFIG_GENERIC_BUG_FRAME
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 13:34:36 +0200
In-Reply-To: <7c5bcb62-e8fd-1073-155e-da4f05772ad7@suse.com>
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
	 <5cd3dd5233cf41ad54ce1cd98b706085b95bfcee.1677839409.git.oleksii.kurochko@gmail.com>
	 <7c5bcb62-e8fd-1073-155e-da4f05772ad7@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

T24gTW9uLCAyMDIzLTAzLTA2IGF0IDExOjQxICswMTAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAwMy4wMy4yMDIzIDExOjM4LCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gK2ludCBkb19i
dWdfZnJhbWUoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgcGMpCj4g
PiArewo+ID4gK8KgwqDCoCBjb25zdCBzdHJ1Y3QgYnVnX2ZyYW1lICpidWcgPSBOVUxMOwo+ID4g
K8KgwqDCoCBjb25zdCBzdHJ1Y3QgdmlydHVhbF9yZWdpb24gKnJlZ2lvbjsKPiA+ICvCoMKgwqAg
Y29uc3QgY2hhciAqcHJlZml4ID0gIiIsICpmaWxlbmFtZSwgKnByZWRpY2F0ZTsKPiA+ICvCoMKg
wqAgdW5zaWduZWQgbG9uZyBmaXh1cDsKPiA+ICvCoMKgwqAgdW5zaWduZWQgaW50IGlkID0gQlVH
RlJBTUVfTlIsIGxpbmVubzsKPiA+ICsKPiA+ICvCoMKgwqAgcmVnaW9uID0gZmluZF90ZXh0X3Jl
Z2lvbihwYyk7Cj4gPiArwqDCoMKgIGlmICggIXJlZ2lvbiApCj4gPiArwqDCoMKgwqDCoMKgwqAg
cmV0dXJuIC1FSU5WQUw7Cj4gPiArCj4gPiArwqDCoMKgIGZvciAoIGlkID0gMDsgaWQgPCBCVUdG
UkFNRV9OUjsgaWQrKyApCj4gPiArwqDCoMKgIHsKPiA+ICvCoMKgwqDCoMKgwqDCoCBjb25zdCBz
dHJ1Y3QgYnVnX2ZyYW1lICpiOwo+ID4gK8KgwqDCoMKgwqDCoMKgIHNpemVfdCBpOwo+ID4gKwo+
ID4gK8KgwqDCoMKgwqDCoMKgIGZvciAoIGkgPSAwLCBiID0gcmVnaW9uLT5mcmFtZVtpZF0uYnVn
czsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaSA8IHJlZ2lvbi0+ZnJhbWVb
aWRdLm5fYnVnczsgYisrLCBpKysgKQo+ID4gK8KgwqDCoMKgwqDCoMKgIHsKPiA+ICvCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIGlmICggYnVnX2xvYyhiKSA9PSBwYyApCj4gPiArwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCB7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJ1ZyA9IGI7
Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gZm91bmQ7Cj4gPiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4gPiArwqDCoMKgwqDCoMKgwqAgfQo+ID4gK8KgwqDCoCB9
Cj4gPiArCj4gPiArIGZvdW5kOgo+ID4gK8KgwqDCoCBpZiAoICFidWcgKQo+ID4gK8KgwqDCoMKg
wqDCoMKgIHJldHVybiAtRUlOVkFMOwo+ID4gKwo+ID4gK8KgwqDCoCBpZiAoIGlkID09IEJVR0ZS
QU1FX3J1bl9mbiApCj4gPiArwqDCoMKgIHsKPiA+ICvCoMKgwqDCoMKgwqDCoCB2b2lkICgqZm4p
KGNvbnN0IHN0cnVjdCBjcHVfdXNlcl9yZWdzICopID0gYnVnX3B0cihidWcpOwo+ID4gKwo+ID4g
K8KgwqDCoMKgwqDCoMKgIGZuKHJlZ3MpOwo+ID4gKwo+ID4gK8KgwqDCoMKgwqDCoMKgIHJldHVy
biBpZDsKPiA+ICvCoMKgwqAgfQo+ID4gKwo+ID4gK8KgwqDCoCAvKiBXQVJOLCBCVUcgb3IgQVNT
RVJUOiBkZWNvZGUgdGhlIGZpbGVuYW1lIHBvaW50ZXIgYW5kIGxpbmUKPiA+IG51bWJlci4gKi8K
PiA+ICvCoMKgwqAgZmlsZW5hbWUgPSBidWdfcHRyKGJ1Zyk7Cj4gPiArwqDCoMKgIGlmICggIWlz
X2tlcm5lbChmaWxlbmFtZSkgJiYgIWlzX3BhdGNoKGZpbGVuYW1lKSApCj4gPiArwqDCoMKgwqDC
oMKgwqAgcmV0dXJuIC1FSU5WQUw7Cj4gPiArwqDCoMKgIGZpeHVwID0gc3RybGVuKGZpbGVuYW1l
KTsKPiA+ICvCoMKgwqAgaWYgKCBmaXh1cCA+IDUwICkKPiA+ICvCoMKgwqAgewo+ID4gK8KgwqDC
oMKgwqDCoMKgIGZpbGVuYW1lICs9IGZpeHVwIC0gNDc7Cj4gPiArwqDCoMKgwqDCoMKgwqAgcHJl
Zml4ID0gIi4uLiI7Cj4gPiArwqDCoMKgIH0KPiA+ICvCoMKgwqAgbGluZW5vID0gYnVnX2xpbmUo
YnVnKTsKPiA+ICsKPiA+ICvCoMKgwqAgc3dpdGNoICggaWQgKQo+ID4gK8KgwqDCoCB7Cj4gPiAr
wqDCoMKgIGNhc2UgQlVHRlJBTUVfd2FybjoKPiA+ICvCoMKgwqDCoMKgwqDCoCBwcmludGsoIlhl
biBXQVJOIGF0ICVzJXM6JWRcbiIsIHByZWZpeCwgZmlsZW5hbWUsIGxpbmVubyk7Cj4gPiArwqDC
oMKgwqDCoMKgwqAgc2hvd19leGVjdXRpb25fc3RhdGUocmVncyk7Cj4gPiArCj4gPiArwqDCoMKg
wqDCoMKgwqAgcmV0dXJuIGlkOwo+ID4gKwo+ID4gK8KgwqDCoCBjYXNlIEJVR0ZSQU1FX2J1ZzoK
PiA+ICvCoMKgwqDCoMKgwqDCoCBwcmludGsoIlhlbiBCVUcgYXQgJXMlczolZFxuIiwgcHJlZml4
LCBmaWxlbmFtZSwgbGluZW5vKTsKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoCBpZiAoIEJVR19E
RUJVR0dFUl9UUkFQX0ZBVEFMKHJlZ3MpICkKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJl
dHVybiBpZDsKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoCBzaG93X2V4ZWN1dGlvbl9zdGF0ZShy
ZWdzKTsKPiA+ICvCoMKgwqDCoMKgwqDCoCBwYW5pYygiWGVuIEJVRyBhdCAlcyVzOiVkXG4iLCBw
cmVmaXgsIGZpbGVuYW1lLCBsaW5lbm8pOwo+ID4gKwo+ID4gK8KgwqDCoCBjYXNlIEJVR0ZSQU1F
X2Fzc2VydDoKPiA+ICvCoMKgwqDCoMKgwqDCoCAvKiBBU1NFUlQ6IGRlY29kZSB0aGUgcHJlZGlj
YXRlIHN0cmluZyBwb2ludGVyLiAqLwo+ID4gK8KgwqDCoMKgwqDCoMKgIHByZWRpY2F0ZSA9IGJ1
Z19tc2coYnVnKTsKPiA+ICvCoMKgwqDCoMKgwqDCoCBpZiAoICFpc19rZXJuZWwocHJlZGljYXRl
KSAmJiAhaXNfcGF0Y2gocHJlZGljYXRlKSApCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBw
cmVkaWNhdGUgPSAiPHVua25vd24+IjsKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoCBwcmludGso
IkFzc2VydGlvbiAnJXMnIGZhaWxlZCBhdCAlcyVzOiVkXG4iLAo+ID4gK8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgcHJlZGljYXRlLCBwcmVmaXgsIGZpbGVuYW1lLCBsaW5lbm8pOwo+ID4g
Kwo+ID4gK8KgwqDCoMKgwqDCoMKgIGlmICggQlVHX0RFQlVHR0VSX1RSQVBfRkFUQUwocmVncykg
KQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGlkOwo+ID4gKwo+ID4gK8KgwqDC
oMKgwqDCoMKgIHNob3dfZXhlY3V0aW9uX3N0YXRlKHJlZ3MpOwo+ID4gK8KgwqDCoMKgwqDCoMKg
IHBhbmljKCJBc3NlcnRpb24gJyVzJyBmYWlsZWQgYXQgJXMlczolZFxuIiwKPiA+ICvCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBwcmVkaWNhdGUsIHByZWZpeCwgZmlsZW5hbWUsIGxpbmVubyk7
Cj4gPiArwqDCoMKgIH0KPiA+ICsKPiA+ICvCoMKgwqAgcmV0dXJuIGlkOwo+ID4gK30KPiAKPiBU
aGlzIGZpbmFsICJyZXR1cm4iIGxvb2tzIGxpa2UgYWxtb3N0IGRlYWQgY29kZSAoaXQgaXNuJ3Qg
d2hlbiBhbgo+IHVucmVjb2duaXplZCBpZCBpcyBmb3VuZCkuIE1heSBJIHN1Z2dlc3QgdG8gc3dp
dGNoIGFsbCAicmV0dXJuIGlkIgo+IGluc2lkZSB0aGUgc3dpdGNoKCkgYmxvY2sgdG8ganVzdCAi
YnJlYWsiLCB0byBtYWtlIHRoaXMgZmluYWwKPiAicmV0dXJuIiBiZSAoYSkgdGhlIGNlbnRyYWwg
b25lIGFuZCAoYikgbW9yZSBvYnZpb3VzbHkgYSB1c2VkIHBhdGg/Cj4gClN1cmUgSXQgd2lsbCBi
ZSBtdWNoIGJldHRlci4KCn4gT2xla3NpaQoK



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 11:43:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 11:43:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507324.780678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZVie-0006Zl-Pr; Tue, 07 Mar 2023 11:43:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507324.780678; Tue, 07 Mar 2023 11: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 1pZVie-0006Ze-NG; Tue, 07 Mar 2023 11:43:00 +0000
Received: by outflank-mailman (input) for mailman id 507324;
 Tue, 07 Mar 2023 11:42: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=4ndv=67=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZVid-0006ZY-DZ
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 11:42:59 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2089.outbound.protection.outlook.com [40.107.7.89])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 33f482ec-bcdd-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 12:42:56 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8343.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 11:42:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
 11:42: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: 33f482ec-bcdd-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j4MxEEzWTBh0+0gc3Sw2BincNv4LBYx5FWjVQtpUjCutpmsaOE9qDC6ijieGJFsyrfaCzFBbLOT0VZQSqAyCm54GzIMolXerp2iAURMDu1plzHWHIY/DKu2LqblQU9tfqJOI9YShpGlyPuvGp7IA/xizpw07sXn52j9WQXtNduVlNTnWhcVHqkJTSH70nLDSHudxSLkSE7LBsZ+N8al6eDbzerONO1Y9W44sCiGltavSiQsrYKj3Sla1ESsu/qDHIjYVWZ5BApr+x0Ao5eSaZUwsfciUPiqhd7FteZEgndGHZW7KU12khdZCqfgvJf+26kMLeKCqnFaGI2LvXIWgnQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3IY4T1oa816d9IcwP86x/Vkig01OAVMZZePzJeiLgqI=;
 b=jCOlSWMDdcAxehBcC/Tv5zhSEcssfmBMn9VO1ia2sReQ4uusHyECuxHlnKQmhmIBQmJPJpgtJyrKWuN9roTo6ulqEYvW9WqI2ZYPwHYu5Uk4a6UgTGhOLhoqJO2+1E3ZOT/7SNZoEJoMjC5hPk0mbxAgQyq/TOAv1r1sZnQFfqGxVpWJDTVlEirShGL+D41T7AU9E48pKXsu5RUi69eSpJZXW1hwIhAgTx4j5lVDp62ZhTRCO2OTfgxoUvTETE10dd4O+34jdaYgcbwjBQgSezcXbn8qiyKAn1ARHA5O2hIx/63xMWtRtItuSfYwutfZW6MVs68tW4wtv0pMBzsDlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3IY4T1oa816d9IcwP86x/Vkig01OAVMZZePzJeiLgqI=;
 b=RzIffzPCWjoWMy8vt+2c0f1WTP5wja87Ko/O60QOsIUGnEmNp24ldoD4CqcPPkd40kcTOdMoKHLbn0ojMUGzd9zng2OGqrXpExW6K2AWI0fbEAnIGCIpE8CN7bPC1qqHmrky/Aitfsf1UCJZgukUTjrOmUfI6YQfNbBYkeG/YHOaLyfmKjrzZJhjJru9DCVKmLQ9UvpykMSBIK+HIoqNI6dyW1kzSB9rJQ6MdJUNOhCKbgViezFwdIEB2pnVgslm4vsWwgla/zpmCxqaDzLFa3mHnFiL91APF1Gfy7HxKo/xAZkXQtaovZ21OSpLwTeAUdpysAtFHGv+TAWuVwM8gQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <40fa3767-cc11-aba9-15bc-e528965b599a@suse.com>
Date: Tue, 7 Mar 2023 12:42:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 1/2] xen: move CONFIG_DEBUG_INFO out of EXPERT section
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: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-2-jgross@suse.com>
 <e1353c0c-9501-3713-b759-0989447e6496@suse.com>
 <d3d2b65c-ccb4-5408-38d2-d637e1f67064@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d3d2b65c-ccb4-5408-38d2-d637e1f67064@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0018.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::28)
 To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8343:EE_
X-MS-Office365-Filtering-Correlation-Id: 63b4734e-83cc-4015-f50f-08db1f01065b
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:
	iTgYsJ9g2DUqzM+8PpwFrNLoypVptJ3WUkOmfrInATP/FXdQNfAhskBfs/oZuYw7A3WFV48/zVL11rxEtWu41H+ooM+6BROTFmpjaBjRiCxuAVidjZIW879gss1UUsYzhLKqYQ0Pa5obvUVfyOIPjo57uA8vq6cnDXP9KGk7RnKhsFWROyblTJmyVdA/AUV4vj7y8TRT9yvT+FIAMGFQxMci/6ODeaJbBMUgYuRJpPtllcii/81sjTxbq1QRp+aPhmaB6GceUvGp3mQZxsgTAOqSEfBTyxNuGwfqD5kKv9p6Tdt0BHJNsyle4emXyEOwsbDh70TlQwWBXy154giQAa17pPqYk1CO5ai056f13tb7kd20WdS4UKxoNCJ2diTQU4Z/YfqcKQQBU6d5PhMQqIEJR+1/KfhZLWfeF5uSe/XLE1rtukAigp39a+5jb4ETKjRD5r50LjPShPFl+UAOmtfuwKyZZUOTTtx0QxjWm0VyWAqQVyw0txmnaG5eMGX4aIS7X2WgdY7p2StlDmWfaEM1NdIh6QesS9fjZ/gQfOaep1ckMVoyk0HoFfv+yrUW8A0YLBbAgmuiePUjcckAXa0f75+km/fS91GOQbA2kiwojbll5AaXE2zkURscswFcBCt1Sch8lzEWjV3cuDbSy8LOdt8fsBu05rwyhmM6Iln1mVqhnbBKm9WNgbLNvABciYk7E5w2LJxBvBhaGXemhMAQ1xnhaUhug/MuM536WdI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(376002)(39860400002)(366004)(136003)(396003)(451199018)(31696002)(38100700002)(86362001)(66476007)(36756003)(8676002)(5660300002)(6506007)(6666004)(2906002)(4326008)(8936002)(41300700001)(6862004)(66946007)(66556008)(186003)(2616005)(53546011)(83380400001)(316002)(478600001)(37006003)(6512007)(6636002)(26005)(6486002)(54906003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGRLUGZPbEtqbXVGS0N4Um5mdWxJTHBMeG9xbFRUdlNWV3RqelBMV1QzUk03?=
 =?utf-8?B?cHJGQmQ2RGhlNFV5aDJnVUJ1NFpiTjZrNDltcVBZM2pPNzUwcDh5eGVYMEda?=
 =?utf-8?B?Vmx6Y2xQVGRLanFWOGJtRDc0amdROW5Yd0QzakJmNUlsSVc1Vlg2eWRvYUxQ?=
 =?utf-8?B?OTlWZ0ZqbUh5T1VHUERxbTNkN1RZSERCSllXUTFGMmlpNHFDVTcrRmRFaDJC?=
 =?utf-8?B?RHhkbnhUMHBDMzJqVWp4cWgxeFJvWVBTOHI1aTBaU3RCWWdoZjdkZnFLaTJZ?=
 =?utf-8?B?ZWhTTUVsYkZXeDIra0d3ZkdXSWQ3UE9qUWZxaUhkUnNJd29vdkFEaXJmd1gx?=
 =?utf-8?B?TUpmU2FRRGw0VTZsTnNQb0NTL1ZMdWFxVzJnRlRzMFA1Y2l5S2x1NW85YzJt?=
 =?utf-8?B?Q2wxRWxybk1HUXVWSFRhUG9VU3A1cTBjUlJiZ1Z3dStxMnF6UWpPZFpkbTZ0?=
 =?utf-8?B?TjhMNlg4V1NSYUlYdXJCSHd1S0lCQ3lRTUdnOXRqeENZMTdoaG9XRnlHS1dw?=
 =?utf-8?B?eUNyb1ZJSUJJbW5WSUlpZWxZMmo0SFZDbVJjb1VlMm9JOGhTaTZ0ZTdYNkdr?=
 =?utf-8?B?dmFSTGNRUG9DbTlUK2o2YjRVbk1vN3grR1RxZkVGTGhMd2R1SVBENzZObzZ4?=
 =?utf-8?B?RnJVYWFGZEU0NE0wRmRsM0JiWDhFR3NEV2UxQ25jRkt6YmhIVUpvMHBQakFM?=
 =?utf-8?B?clNHL3daT21ad1crNjNzVm9MOENuZzQ3VjRmZDlTaWI5N1BEVnJqRHpkaXNo?=
 =?utf-8?B?cXpwZGJna2RjZWdmc2dNTC9sQnRlTU5qN25jQXZDQWxHWWE1cC8vT1ZUMytu?=
 =?utf-8?B?SXNYanUyOVA2ZFFiaUhKZFhubytuQ2RBbE9hckxTSEcvcGYzSW1JVVFtZ1Zy?=
 =?utf-8?B?blJ3TEY5T2hXSGVBWFFnclVQSHdiUFk5L2s3ZnpwQy9zakw4SDNHY0t2cFNw?=
 =?utf-8?B?b2ZsL3k0UlpwRE9FNjl4Z05mNWxGQjhqdi9QQzBDRUc1Y1FWSFdaTlFqM3Q3?=
 =?utf-8?B?SG1rUWtlZkNkVm1GSW0xZ2FWaEZRTnpSSU5HM2VHaEFoZ2ZKYnZLT1U5YjF1?=
 =?utf-8?B?TXpxeDZLVXNVbll1MzBMV3puS0Y1bk1adVR3SXU0aWp2VWdmbjdzZ0paMHdm?=
 =?utf-8?B?K01FWWNEODVSaUh2N1N6UURKRlUwV29lSDVkZ2FiZ1ZPTXU0bS8vUnkxN0Vj?=
 =?utf-8?B?QUlBUkNEZ1pvSVhkR3R3K0RSNG5MVTE2NzVNbFNYSE1Tc0pRbGx1Z1BXVWRy?=
 =?utf-8?B?QlcwY01CU2l6SGFxUDlQc0syc0dJVU9zb0xKV00zY2VXYTE0SXFDanVSS0d0?=
 =?utf-8?B?TDBtUlJuVm9yNlZYSnlwcDVkRlovbjg1UmoyOElOcnBLQnN1M0RxNkE2SWNu?=
 =?utf-8?B?cTRYdUN1ZXE0VVlUVzBidk1LeG5jUXc5RG1EOC9JekNUTmx2V0VOTVJnQnhL?=
 =?utf-8?B?VjYzUzdiYmpOazRNeFlHSmRMb21aQXRML1lJU1VmcFZSbXAzOU9SU1dha2lh?=
 =?utf-8?B?TlRqU3NJNnNsa3JHbmNoUjI3aTBoUUN1Z3BpWmRvMWQwRVNsSVF2Q1hENlF4?=
 =?utf-8?B?NW9MSDIrQ3NJelpac1hYZ0ErODhIZFlpOEFleGF4UXFzQU10RWRuU2wxblpY?=
 =?utf-8?B?UXlITWtrWEkzLzBjbTcxY1NpVWIxcXpMK2ZFVzRYb3FFVkFJVEYvL3pGeWFv?=
 =?utf-8?B?SXVjMjd1bkhrYnUrM1VLR0tiWERBUEtZNzBOVlhSTGwrMHQvS0lRbWV1NXBr?=
 =?utf-8?B?YndxMVVMQWNZNjhrd3AzR1YycU82S0thd1dNZ2tuTHVZSGs0MW9rTXRaZHZ4?=
 =?utf-8?B?U2pDR3RxVTcwT3BadVduaXlaYWJCZ3EyWmIxNVFHaGo2N3BPUTA1b0t5V2JQ?=
 =?utf-8?B?V1h2VXB0RjRYVm55cHZjYnVpOGRoVVFWL1IvVE5XTlVxT0NLMVRmU3JTSlNh?=
 =?utf-8?B?MTZXbU5peXFjSW50STRObFFkaGxsbS9rdEJtbWljckR2bWpFb0xGcjlRbmkv?=
 =?utf-8?B?S0tmWTJtU1pzUUZ0QTcxSVpnN3pVY2ZFM09vclBFSjA5QUhmMnlwSzRmL1or?=
 =?utf-8?B?SmRVcFBzQjVUMjROcEU3Y2Q2WlU2dGtjZ3hXZFdJd0RyemluTUs2NlNySFcx?=
 =?utf-8?Q?LnLBFsC0aRKX4JIB1hFZRiHhx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 63b4734e-83cc-4015-f50f-08db1f01065b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 11:42:26.6893
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: enJFXwi27h2t8aQNBbGBRQQumoEAgXOyG8c23t9tiHWwMqi/C79OjCr6JgYGg21JPpoX60GkiENwdu1+d+ULeg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8343

On 07.03.2023 12:33, Juergen Gross wrote:
> On 07.03.23 11:31, Jan Beulich wrote:
>> On 07.03.2023 07:32, Juergen Gross wrote:
>>> Using a rather oldish gcc (7.5) it was verified that code generation
>>> doesn't really differ between CONFIG_DEBUG_INFO on or off without
>>> CONFIG_DEBUG being set (only observed differences were slightly
>>> different symbol addresses, verified via "objdump -d"). The old gcc
>>> version selection was based on the assumption, that newer gcc won't
>>> regress in this regard.
>>
>> This is good to know, but I'm still curious about the mentioned
>> differences in symbol addresses: If code generation didn't change, what
>> caused addresses to differ? Is that merely because individual functions
>> or objects are emitted in different order by the compiler? (If so I'd
>> be inclined to infer that comparing generated code must have been
>> quite a bit of effort, as first of all you would have had to undo that
>> re-ordering.)
> 
> I did a simple diff of the two disassembly outputs and got only small
> differences for %rip relative addresses (the differences were in the
> range of +/- 32 bytes).

That's still odd and hence imo wants understanding. Do you still have
both binaries around?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 11:46:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 11:46:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507327.780689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZVlr-0007Ap-AI; Tue, 07 Mar 2023 11:46:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507327.780689; Tue, 07 Mar 2023 11: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 1pZVlr-0007Ai-5y; Tue, 07 Mar 2023 11:46:19 +0000
Received: by outflank-mailman (input) for mailman id 507327;
 Tue, 07 Mar 2023 11:46: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 1pZVlq-0007AY-I1; Tue, 07 Mar 2023 11:46: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 1pZVlq-0005MF-EX; Tue, 07 Mar 2023 11:46: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 1pZVlq-00040R-0P; Tue, 07 Mar 2023 11:46:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZVlp-0000vb-W3; Tue, 07 Mar 2023 11:46: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=LWMMi438shpTc07nTeVoeBhULF8POgINn69fPJwYbKA=; b=1lDY4vAFkcCxO3aBKYHwGaAHeQ
	O5m/Npk8f1f03gwsCNj/S6La+A5ck1ItJQuqi84e/AEB+jKS+pMFHAyHeYR+3IyfZurkjcHHc0/7x
	yLsM+AoS9ddiID0pktoS+dGArTARXGoGZBSsGLUBOaj4ybWzQzEmcPKR7KMpMZKras/s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179449-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179449: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=817fd33836e73812df2f1907612b57750fcb9491
X-Osstest-Versions-That:
    qemuu=387b2b52558bbb44ad74634415e1ab488d3c62a7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Mar 2023 11:46:17 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop      fail blocked in 176342
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 176342
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 176342
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 176342
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 176342
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt     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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  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-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      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                817fd33836e73812df2f1907612b57750fcb9491
baseline version:
 qemuu                387b2b52558bbb44ad74634415e1ab488d3c62a7

Last test of basis   176342  2023-02-03 03:30:18 Z   32 days
Failing since        176352  2023-02-03 17:40:20 Z   31 days    7 attempts
Testing same since   179449  2023-03-07 01:40:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "John Berberian, Jr" <jeb.study@gmail.com>
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Alberto Faria <afaria@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alexander Bulekov <alxndr@bu.edu>
  Alexander Graf <agraf@csgraf.de>
  Alistair Francis <alistair.francis@wdc.com>
  Andrey Zhadchenko <andrey.zhadchenko@virtuozzo.com>
  Ankur Arora <ankur.a.arora@oracle.com>
  Antoine Damhet <antoine.damhet@shadow.tech>
  Anton Johansson <anjo@rev.ng>
  Anton Kochkov <anton.kochkov@proton.me>
  Anup Patel <apatel@ventanamicro.com>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
  Bernhard Beschow <shentey@gmail.com>
  Bibo Mao <maobibo@loongson.cn>
  Bin Meng <bmeng@tinylab.org>
  Brad Smith <brad@comstyle.com>
  Carlos López <clopez@suse.de>
  Charles Frey <charles.frey@shadow.tech>
  Christian Schoenebeck <qemu_oss@crudebyte.com>
  Christian Svensson <blue@cmd.nu>
  Christoph Müllner <christoph.muellner@vrull.eu>
  Claudio Fontana <cfontana@suse.de>
  Claudio Imbrenda <imbrenda@linux.ibm.com>
  Corey Minyard <cminyard@mvista.com>
  Cornelia Huck <cohuck@redhat.com>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Daniel Henrique Barboza <danielhb413@gmail.com>
  Daniel Henrique Barboza <dbarboza@ventanamicro.com>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@amazon.co.uk>
  David Woodhouse <dwmw@amazon.co.uk>
  David Wooodhouse <dwmw@amazon.co.uk>
  Deepak Gupta <debug@rivosinc.com>
  Dinah Baum <dinahbaum123@gmail.com>
  Dongli Zhang <dongli.zhang@oracle.com>
  Doug Rabson <dfr@rabson.org>
  Dov Murik <dovmurik@linux.ibm.com>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Drew DeVault <sir@cmpwn.com>
  Eitan Eliahu <eitan_eliahu@hotmail.com>
  Emanuele Giuseppe Esposito <eesposit@redhat.com>
  Emilio Cota <cota@braap.org>
  Eric Auger <eric.auger@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Evgeny Iakovlev <eiakovlev@linux.microsoft.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  Fiona Ebner <f.ebner@proxmox.com>
  Frank Chang <frank.chang@sifive.com>
  Frederic Barrat <fbarrat@linux.ibm.com>
  Fuad Tabba <tabba@google.com>
  Gautam Dawar <gautam.dawar@amd.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Gregory Price <gourry.memverge@gmail.com>
  Gregory Price <gregory.price@memverge.com>
  Guenter Roeck <linux@roeck-us.net>
  Hanna Czenczek <hreitz@redhat.com>
  Hanna Reitz <hreitz@redhat.com>
  Hao Wu <wuhaotsh@google.com>
  Havard Skinnemoen <hskinnemoen@google.com>
  Helge Deller <deller@gmx.de>
  Himanshu Chauhan <hchauhan@ventanamicro.com>
  Idan Horowitz <idan.horowitz@gmail.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ira Weiny <ira.weiny@intel.com>
  Jason Wang <jasowang@redhat.com>
  Jean-Philippe Brucker <jean-philippe@linaro.org>
  Jiang Jiacheng <jiangjiacheng@huawei.com>
  Jiri Pirko <jiri@nvidia.com>
  Joao Martins <joao.m.martins@oracle.com>
  Joel Stanley <joel@jms.id.au>
  Joelle van Dyne <j@getutm.app>
  John Berberian, Jr <jeb.study@gmail.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Juergen Lock <nox@jelal.kn-bremen.de>
  Julia Suvorova <jusual@redhat.com>
  Junqiang Wang <wangjunqiang@iscas.ac.cn>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Keith Packard <keithp@keithp.com>
  Kevin Wolf <kwolf@redhat.com>
  Khadija Kamran <kkamran.bese16seecs@seecs.edu.pk>
  Klaus Jensen <k.jensen@samsung.com>
  Kyle Evans <kevans@FreeBSD.org>
  Laurent Vivier <laurent@vivier.eu>
  Laurent Vivier <lvivier@redhat.com>
  Lei Yang <leiyang@redhat.com>
  Leonardo Bras <leobras@redhat.com>
  Letu Ren <fantasquex@gmail.com>
  Li Zhang <lizhang@suse.de>
  ling xu <ling1.xu@intel.com>
  LIU Zhiwei <zhiwei_liu@linux.alibaba.com>
  Lukáš Doktor <ldoktor@redhat.com>
  manish.mishra <manish.mishra@nutanix.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Mauro Matteo Cascella <mcascell@redhat.com>
  Maxime Coquelin <maxime.coquelin@redhat.com>
  Michael S. Tsirkin <mst@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Mike Frysinger <vapier@gentoo.org>
  Mostafa Saleh <smostafa@google.com>
  Murilo Opsfelder Araujo <muriloo@linux.ibm.com>
  Nathan Chancellor <nathan@kernel.org>
  Ninad Palsule <ninadpalsule@us.ibm.com>
  Or Ozeri <oro@il.ibm.com>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Delevoryas <peter@pjd.dev>
  Peter Krempa <pkrempa@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philipp Tomsich <philipp.tomsich@vrull.eu>
  Philippe Mathieu-Daudé <f4bug@amsat.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Qiang Liu <cyruscyliu@gmail.com>
  Raphael Kubo da Costa <rakuco@FreeBSD.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Richard W.M. Jones <rjones@redhat.com>
  Rui Wang <wangrui@loongson.cn>
  Sean Bruno <sbruno@FreeBSD.org>
  Sergey Matyukevich <sergey.matyukevich@syntacore.com>
  Shaobo Song <songshaobo@eswincomputing.com>
  Sittisak Sinprem <ssinprem@celestica.com>
  Song Gao <gaosong@loongson.cn>
  Stacey Son <sson@FreeBSD.org>
  Stefan Hajnoczi <stefanha@redhat.com>
  Stefano Garzarella <sgarzare@redhat.com>
  Stephen Longfield <slongfield@google.com>
  Steve Sistare <steven.sistare@oracle.com>
  TaiseiIto <taisei1212@outlook.jp>
  Taylor Simpson <tsimpson@quicinc.com>
  Thomas Huth <thuth@redhat.com>
  Viktor Prutyanov <viktor@daynix.com>
  Vladimir Isaev <vladimir.isaev@syntacore.com>
  Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
  Volker Rümelin <vr_qemu@t-online.de>
  Wang, Lei <lei4.wang@intel.com>
  Warner Losh <imp@bsdimp.com>
  Weiwei Li <liweiwei@iscas.ac.cn>
  Wilfred Mallawa <wilfred.mallawa@wdc.com>
  Xiang Zheng <zhengxiang9@huawei.com>
  Yajun Wu <yajunw@nvidia.com>
  Zhenzhong Duan <zhenzhong.duan@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   387b2b5255..817fd33836  817fd33836e73812df2f1907612b57750fcb9491 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 12:05:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 12:05:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507336.780699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZW3x-0001RQ-2e; Tue, 07 Mar 2023 12:05:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507336.780699; Tue, 07 Mar 2023 12:05: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 1pZW3w-0001RJ-Vq; Tue, 07 Mar 2023 12:05:00 +0000
Received: by outflank-mailman (input) for mailman id 507336;
 Tue, 07 Mar 2023 12:04: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=JVyd=67=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZW3v-0001RD-Dy
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 12:04:59 +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 47c50e36-bce0-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 13:04: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 B7E7D21A1B;
 Tue,  7 Mar 2023 12:04: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 77C991341F;
 Tue,  7 Mar 2023 12:04:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wjxTG2koB2SzIQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Mar 2023 12: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>
X-Inumbo-ID: 47c50e36-bce0-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678190697; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=FvzdQejLG0UyJO/IekvXYMGiMU03HkSiTcmGKnQAyoA=;
	b=gw0houZTQEO/XvGmqnNvgf3NY0xwJVY4+RpSDbHF+okNyOa1/domlK8fTEMNd4u1Y0F2Bk
	4HqTMlTUNc8YJWhLSMpd3/Us8r0rHpg69jy/uQz6ezlfZkopv7EeYQQBa7Zot9nqShxfqg
	mQ4UsOiUfTHqyahxDfvmjwxqxEyFusY=
Message-ID: <9a80af7b-1b35-ea7b-b449-ecf9f0256914@suse.com>
Date: Tue, 7 Mar 2023 13:04:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
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: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-2-jgross@suse.com>
 <e1353c0c-9501-3713-b759-0989447e6496@suse.com>
 <d3d2b65c-ccb4-5408-38d2-d637e1f67064@suse.com>
 <40fa3767-cc11-aba9-15bc-e528965b599a@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 1/2] xen: move CONFIG_DEBUG_INFO out of EXPERT section
In-Reply-To: <40fa3767-cc11-aba9-15bc-e528965b599a@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------1TmgoXA00v1XnES8SJS4UzjL"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------1TmgoXA00v1XnES8SJS4UzjL
Content-Type: multipart/mixed; boundary="------------XQ0cads0f5EoFmdyK3VbyXHK";
 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: <9a80af7b-1b35-ea7b-b449-ecf9f0256914@suse.com>
Subject: Re: [PATCH 1/2] xen: move CONFIG_DEBUG_INFO out of EXPERT section
References: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-2-jgross@suse.com>
 <e1353c0c-9501-3713-b759-0989447e6496@suse.com>
 <d3d2b65c-ccb4-5408-38d2-d637e1f67064@suse.com>
 <40fa3767-cc11-aba9-15bc-e528965b599a@suse.com>
In-Reply-To: <40fa3767-cc11-aba9-15bc-e528965b599a@suse.com>

--------------XQ0cads0f5EoFmdyK3VbyXHK
Content-Type: multipart/mixed; boundary="------------j5f99Ah8PBiemXbhAAFhNf21"

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

T24gMDcuMDMuMjMgMTI6NDIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNy4wMy4yMDIz
IDEyOjMzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMDcuMDMuMjMgMTE6MzEsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDA3LjAzLjIwMjMgMDc6MzIsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IFVzaW5nIGEgcmF0aGVyIG9sZGlzaCBnY2MgKDcuNSkgaXQgd2Fz
IHZlcmlmaWVkIHRoYXQgY29kZSBnZW5lcmF0aW9uDQo+Pj4+IGRvZXNuJ3QgcmVhbGx5IGRp
ZmZlciBiZXR3ZWVuIENPTkZJR19ERUJVR19JTkZPIG9uIG9yIG9mZiB3aXRob3V0DQo+Pj4+
IENPTkZJR19ERUJVRyBiZWluZyBzZXQgKG9ubHkgb2JzZXJ2ZWQgZGlmZmVyZW5jZXMgd2Vy
ZSBzbGlnaHRseQ0KPj4+PiBkaWZmZXJlbnQgc3ltYm9sIGFkZHJlc3NlcywgdmVyaWZpZWQg
dmlhICJvYmpkdW1wIC1kIikuIFRoZSBvbGQgZ2NjDQo+Pj4+IHZlcnNpb24gc2VsZWN0aW9u
IHdhcyBiYXNlZCBvbiB0aGUgYXNzdW1wdGlvbiwgdGhhdCBuZXdlciBnY2Mgd29uJ3QNCj4+
Pj4gcmVncmVzcyBpbiB0aGlzIHJlZ2FyZC4NCj4+Pg0KPj4+IFRoaXMgaXMgZ29vZCB0byBr
bm93LCBidXQgSSdtIHN0aWxsIGN1cmlvdXMgYWJvdXQgdGhlIG1lbnRpb25lZA0KPj4+IGRp
ZmZlcmVuY2VzIGluIHN5bWJvbCBhZGRyZXNzZXM6IElmIGNvZGUgZ2VuZXJhdGlvbiBkaWRu
J3QgY2hhbmdlLCB3aGF0DQo+Pj4gY2F1c2VkIGFkZHJlc3NlcyB0byBkaWZmZXI/IElzIHRo
YXQgbWVyZWx5IGJlY2F1c2UgaW5kaXZpZHVhbCBmdW5jdGlvbnMNCj4+PiBvciBvYmplY3Rz
IGFyZSBlbWl0dGVkIGluIGRpZmZlcmVudCBvcmRlciBieSB0aGUgY29tcGlsZXI/IChJZiBz
byBJJ2QNCj4+PiBiZSBpbmNsaW5lZCB0byBpbmZlciB0aGF0IGNvbXBhcmluZyBnZW5lcmF0
ZWQgY29kZSBtdXN0IGhhdmUgYmVlbg0KPj4+IHF1aXRlIGEgYml0IG9mIGVmZm9ydCwgYXMg
Zmlyc3Qgb2YgYWxsIHlvdSB3b3VsZCBoYXZlIGhhZCB0byB1bmRvIHRoYXQNCj4+PiByZS1v
cmRlcmluZy4pDQo+Pg0KPj4gSSBkaWQgYSBzaW1wbGUgZGlmZiBvZiB0aGUgdHdvIGRpc2Fz
c2VtYmx5IG91dHB1dHMgYW5kIGdvdCBvbmx5IHNtYWxsDQo+PiBkaWZmZXJlbmNlcyBmb3Ig
JXJpcCByZWxhdGl2ZSBhZGRyZXNzZXMgKHRoZSBkaWZmZXJlbmNlcyB3ZXJlIGluIHRoZQ0K
Pj4gcmFuZ2Ugb2YgKy8tIDMyIGJ5dGVzKS4NCj4gDQo+IFRoYXQncyBzdGlsbCBvZGQgYW5k
IGhlbmNlIGltbyB3YW50cyB1bmRlcnN0YW5kaW5nLiBEbyB5b3Ugc3RpbGwgaGF2ZQ0KPiBi
b3RoIGJpbmFyaWVzIGFyb3VuZD8NCg0KSSBoYXZlIGp1c3QgcmVnZW5lcmF0ZWQgdGhlIG9u
ZSB3aXRoIGRlYnVnLWluZm8uIEl0IGlzIGEgNC4xNyBidWlsZC4NCg0KSSBqdXN0IGZvdW5k
IHRoZSBhdCBsZWFzdCBvbmUgcmVhc29uOiB4ZW5fY29uZmlnX2RhdGEgaGFzIGEgZGlmZmVy
ZW50IHNpemUNCihvYnZpb3VzbHkhKSBhbmQgdGhpcyBmaW5hbGx5IGxlYWRzIHRvIGFuIG9m
ZnNldCBvZiAzMiBieXRlcyBmb3Igc3ltYm9scw0KYXQgaGlnaGVyIGFkZHJlc3NlcyAod2l0
aCBzb21lIGl0ZW1zIG9ubHkgZGlmZmVyaW5nIGJ5IDggYnl0ZXMgZHVlIHRvDQphbGlnbm1l
bnQpLg0KDQoNCkp1ZXJnZW4NCg==
--------------j5f99Ah8PBiemXbhAAFhNf21
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-----

--------------j5f99Ah8PBiemXbhAAFhNf21--

--------------XQ0cads0f5EoFmdyK3VbyXHK--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQHKGgFAwAAAAAACgkQsN6d1ii/Ey/g
aQf8D9mwvYuzDzKeBhAUxKM837DasViukCNE/5YxYZEowzhK86XJmgutcDwzioI5Uh9sfrUbIeJ1
TGaL8ZCnIWrHvaP9KgxzGTpyyN7ROHwczOVPLsOayZMcnu38OKGWK1iZ5hOCl/tLWUyNhNgecAiA
hf9arDInTS09ng25ECJNrlqnYYmA2x0WHFXDSeDq7Or6wbwo1FrGzMmXFrgRxhOpqxMgUOpj2OM7
mDo40I6D3w7s4/ASErfhPRYf5UUa6ZU0p0sc+bJ1M3mLz4lnE0OyKzKldwhzLBM11h1RAJSuxdrx
hfDb2rqwx51ubPwleFQrMx41f2w/nTL8Oo4dPrTPIA==
=qRm1
-----END PGP SIGNATURE-----

--------------1TmgoXA00v1XnES8SJS4UzjL--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 12:21:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 12:21:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507341.780708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZWJZ-000422-Ed; Tue, 07 Mar 2023 12:21:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507341.780708; Tue, 07 Mar 2023 12: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 1pZWJZ-00041v-BT; Tue, 07 Mar 2023 12:21:09 +0000
Received: by outflank-mailman (input) for mailman id 507341;
 Tue, 07 Mar 2023 12:21: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZWJW-00041p-EZ
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 12:21:07 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8514007c-bce2-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 13:21:01 +0100 (CET)
Received: from [2001:8b0:10b:5:c09:fa3d:b1cb:4d7e]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZWJK-006KtZ-L1; Tue, 07 Mar 2023 12:20: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: 8514007c-bce2-11ed-96b5-2f268f93b82a
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=psmrgOGKg+qN8TWDMtksDqLiV4J2R9vcY0jcEXnFWgw=; b=etxBs8uULjY/lbtcGoc3yltfJP
	/Q8+GlI+IbruK70cq9DucdWgAW4+wHxJl2YYd7s77pZuqbSeSqeUiR4TtGCoqQpxXrbyrXzpn9UfX
	AIeVsYoOKmb+y5sWPyUFTAWbR+cRXN4bOJgs3nuLXiZa7S5cz2kzgNIy33h8PFjZMRacHZBgXTSf6
	7OOtqqq20ScATnNql0GYMlIf74U44poG8s6iVIEBOQq+MT9+9S7jkm0X84ZhCLvuBP0B7lP04tnwA
	y2xA8hIiGbzSMHekBpEg82Xc9III0BPmhu+orzFn+KZDic1cRVcTIliffXVvHgUHGe9ICxvh4jx7e
	mEbT9Xuw==;
Message-ID: <8c40c6f2c501f68f9a4154ce2f6edb249e19a345.camel@infradead.org>
Subject: Re: [RFC PATCH v1 03/25] hw/xen: Implement XenStore watches
From: David Woodhouse <dwmw2@infradead.org>
To: paul@xen.org, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>, Joao Martins
 <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>,  xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 12:20:53 +0000
In-Reply-To: <b7ef693a-5586-fe65-9825-15655a7ec67b@xen.org>
References: <20230302153435.1170111-1-dwmw2@infradead.org>
	 <20230302153435.1170111-4-dwmw2@infradead.org>
	 <b7ef693a-5586-fe65-9825-15655a7ec67b@xen.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-bPmQRzD8RWWnOQxcErtf"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Tue, 2023-03-07 at 11:29 +0000, Paul Durrant wrote:
>=20
> I think you could stash a tail pointer here...
>=20
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0 if (dom_id && s->nr_domu_watches >=3D XS_MAX_WATCHE=
S) {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return E2BIG;
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0 w =3D g_new0(XsWatch, 1);
> > +=C2=A0=C2=A0=C2=A0 w->token =3D g_strdup(token);
> > +=C2=A0=C2=A0=C2=A0 w->cb =3D fn;
> > +=C2=A0=C2=A0=C2=A0 w->cb_opaque =3D opaque;
> > +=C2=A0=C2=A0=C2=A0 w->dom_id =3D dom_id;
> > +=C2=A0=C2=A0=C2=A0 w->rel_prefix =3D strlen(abspath) - strlen(path);
> > +
> > +=C2=A0=C2=A0=C2=A0 l =3D g_hash_table_lookup(s->watches, abspath);
>=20
> ... to avoid the duplicate hash lookup here.

Good point. The EEXIST check was added later as I was reviewing and
comparing with the real xenstored, so I didn't spot that. Thanks.

--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -673,7 +673,7 @@ int xs_impl_watch(XenstoreImplState *s, unsigned int do=
m_id, const char *path,
     }
=20
     /* Check for duplicates */
-    w =3D g_hash_table_lookup(s->watches, abspath);
+    l =3D w =3D g_hash_table_lookup(s->watches, abspath);
     while (w) {
         if (!g_strcmp0(token, w->token) &&  opaque =3D=3D w->cb_opaque &&
             fn =3D=3D w->cb && dom_id =3D=3D w->dom_id) {
@@ -693,7 +693,7 @@ int xs_impl_watch(XenstoreImplState *s, unsigned int do=
m_id, const char *path,
     w->dom_id =3D dom_id;
     w->rel_prefix =3D strlen(abspath) - strlen(path);
=20
-    l =3D g_hash_table_lookup(s->watches, abspath);
+    /* l was looked up above when checking for duplicates */
     if (l) {
         w->next =3D l->next;
         l->next =3D w;


--=-bPmQRzD8RWWnOQxcErtf
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MTIyMDUzWjAvBgkqhkiG9w0BCQQxIgQgbe5r/LUc
4YhB5sgEggqPEkwbYVI84c08c3RXzEmcA4Uwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAmUpM4APv3no0AZ1DkiTeMWJ2FYmfoZ/9p
Fg7CPZHT0goNwL6aJlWnPrdb9Kr4XJNCKIpZyTv6DnEx6aa8p/hKiAsb7/WSxXwbY5ccI2bms3eO
tbdXXXtLVk0YB5EU6AjkT6N/zG8Xvc6CUWx1yX3LvUMEmheEminGcA5NVusdTISXmFRUI5411SLP
MplsD2kscLCcfTX7O7E1XGTRF8QeaOJZtGfim2NiAfaGHZVukvXiAh2ItTiT3pmJTyiQiTN8QXVQ
7cBEzjWBB4eAauCkwyRxnoL3oi65gyYMs4+tFNypUk9Dpo4dU2DxQVll43ZrgEuWg0LXUt+Y/R2D
WsC8mEKYrxzpRxJ6psV7+JjxKoodUMjmXiEM3cYDsXDK8/ZT9BJNqAvm9O5SjRO5uDPUv1iJKiFJ
JW+ghdmnkUqIhux5qO64ePlhJT7y5447D+7UMYgD/o0vY2l91+cr9LkUqMjcPA/97nI1YSqDqAPF
csgOjp6jZfsorP7FMfS2fMKw/Jpn65x9KhQjZ+YqAl3/E0iT2M4Ot5xu3eNoTYWr6bhCMLnwGcyg
3wwNjIap79nLYYoDkdCkgrfzal7gblvC3YPLFtHgKfj4rdbuu4UPyy8f2WfJLUui6UW59n4w7CrW
pVCw+clvIe9EtD/3ahnvznkGGmeD17mAgKUnY+PXFAAAAAAAAA==


--=-bPmQRzD8RWWnOQxcErtf--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 12:45:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 12:45:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507349.780719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZWh7-0006iD-Fh; Tue, 07 Mar 2023 12:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507349.780719; Tue, 07 Mar 2023 12: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 1pZWh7-0006i6-Bz; Tue, 07 Mar 2023 12:45:29 +0000
Received: by outflank-mailman (input) for mailman id 507349;
 Tue, 07 Mar 2023 12: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=4ndv=67=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZWh6-0006i0-0a
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 12:45:28 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef119b4b-bce5-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 13:45:26 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7858.eurprd04.prod.outlook.com (2603:10a6:20b:237::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 12:45:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
 12: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: ef119b4b-bce5-11ed-96b5-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EIxLxBxNzldMXaDB6xQtMY5vD1qdtwK7IVBk+K2dzBtZ0MZgeg30Gx2lZWqV+cq97qQBUsl2sy6HST+Bj2sLsM63DJJCsRkZU28zbGH9kyFWxAnKTIlFtVxSZmQ0xK1c9zwgPmUYeN1YjO62GkFw79/gauijb/mFFagbVsuhsyGY91bEcK68JmtP1lfclkBJ1Y8fV6hecRrq4Vy6MYDBSrk1yiiU31q+2QeXAQMJYZUbS+rYbnG+KcQC+GdUOlatlP8vPsPdc2BO1e1A8gpORQuBsGjnfuBVMBGtMWft82M6hOUI+EZ4e6ElPwi5xtToavi+1F4bwzwlFm8BnqMIWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FPDVsrmBaSXOKsPeybsEpDBovDutUOcdx11CwB3cyjo=;
 b=FWBxhw9eXEHb78B2XQsjKPPgklTDBfSeOY270N8yqQaGZcZ3pbnf0/gc7JLAiekqCVu1IUHKly2qVl0o2p+Cub6BXY17NJznYgIWe65dAx4YAZzyBeGD7fOFsK6dqHgkRPi61W4bUehro36zvTbc84d2h7R8YXT9AtKaVREaqgnOd3Hn7pS1HeMR7mXRCTD/5SV78knMj85LI5OBBasMIdvMIBmak1HFyjqlCZ1s7ROnfXnthA7YLcrYkDRZtzIzId7eZb4bQ6LpGsHonADpnsLHLjUTgQMrgc+EafiaEj+LFbbklJ8xfs4NWh2iy8yADGpksS9CeJIa2EMrnjwQeg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FPDVsrmBaSXOKsPeybsEpDBovDutUOcdx11CwB3cyjo=;
 b=TRGM1i6HyTpdkV+ICOXcMmoIWelbGMsmY71tTv0hNHtJxbZRXoQlkK2VwGu0nytthJH1EhkcLH/zqxvlWtJ+40NyFgJUQOcc3o6mpsLvIeotdAXKmaSW3xgXkyCfKWynaST6dwg7ib1XS94qBDWznFudKNZLbmKMRkW3AG/HA+2fE1FFdRQ6jVAfGImARLlxMB6MgLIXTzjXFpXT/nZVtg0hxCd3+x21Eh/RVaIyffT7gZQOsn14/feTLF1ST5Yek2zyVK36FsQsaxxAZqPiW/ypvpuw7Tk0parQ7v+TZNkRuUtVa2/zh/QepF2zGxsaCbkMIXKjZjR1jLkK4BU7Uw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2159afc3-c55e-1559-4eb8-b20dcde41317@suse.com>
Date: Tue, 7 Mar 2023 13:45:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 1/2] xen: move CONFIG_DEBUG_INFO out of EXPERT section
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: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-2-jgross@suse.com>
 <e1353c0c-9501-3713-b759-0989447e6496@suse.com>
 <d3d2b65c-ccb4-5408-38d2-d637e1f67064@suse.com>
 <40fa3767-cc11-aba9-15bc-e528965b599a@suse.com>
 <9a80af7b-1b35-ea7b-b449-ecf9f0256914@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9a80af7b-1b35-ea7b-b449-ecf9f0256914@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0077.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7858:EE_
X-MS-Office365-Filtering-Correlation-Id: b7681e7f-bd85-4d16-09eb-08db1f09d170
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:
	yD8UR9gdoAzvYtaVqjvNCqq4KDu46QHezGaMDa32RMedl7lNKY4itjsFi0wJRWAw/jif4jvaWpWMBCy/GBR9QzDLBF4Qi3vX1Yzz/hq2Vvn7ngejbBGKgLyBaBhUktdsWNgecf/9UvS7qDA2xBVvt6iR7HoX3CJiJ/+NHrACxmsIQxh+C0rLiTTs34uh7TWII6TCtoxYoeWDYIradpTLISe/7FZ1vHHlmY+BGuu04CTfDjmA4JHk7jUwNJ9vnpFgkANGsn8J33+q1gvM4ElRrd28FDYTzLpkCWrqicHSz0nSctgLmUC79ns6RS0mql5FnVMfi9qrOxkdffatXN9xjdlVZi4BBkbrQFaEXxc8vvjSmjtdP1DcrIDKSx8r0tl7gH3PFWRybh2K55uw/I7hRpjS3BAaZDmVFrkIjVqClfyZ+rBi+xeYnMXVroeN6lGD4E/OdbuiD7uzsnh/oBT6x1nVXAMgfSKGdLusDz2HseZ1Z0OGmXA+K9y4xtThSSnJPmpqFu2PpC3I9MZ8nmvkZOD84WA7qlanXeOPj6DPXE/Uu/+pXou3ynWIGJODA9rf8WYpMuBpUK+kI4DP99hGVWKb6I/sYSs6R+FdeUV4D9QUIjZV19Z2w+TzaA1vaGJoXtmv4aAq+bJEm5PN1tCvZ2D3UFwQiGu2juSdw9dDnQ/n7KDWeCv8J2VCevmDunipWv9em1uJ3fqQ72D1kEu4IytcI92oOYRNJG9bzTQ66hY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(376002)(366004)(346002)(39860400002)(136003)(451199018)(2906002)(38100700002)(186003)(26005)(6506007)(53546011)(6512007)(2616005)(31686004)(66946007)(66476007)(66556008)(478600001)(8936002)(5660300002)(6862004)(6486002)(41300700001)(31696002)(6636002)(54906003)(36756003)(4326008)(37006003)(8676002)(316002)(86362001)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cVNMVG92VUx1RmJINDRGS2tsb3NTUXBEQXI4bVl4YlNFbktBaW4vUGxiL3dG?=
 =?utf-8?B?RWR1Z1NlTG5WUzlQWVRzTVVDTE1nZzI3V3V6ditweGthVTl5NUcxYmM1MG1Y?=
 =?utf-8?B?TmtTTnA4TFJhOFVCMVhCYkx2UHdaaE1LVjA5LzZUblJUUDAzQmViNWxvK01D?=
 =?utf-8?B?NXRhWG9uUW9hL24vWGNwSlVPZ1grV1VNcDdGZWcvNlRhYlEycnlCaTA2NENo?=
 =?utf-8?B?Sy9lRU9KNDZUY0g4U3N3VWw4ekxRUnlYaHRidjdXdjlmTXdvbjAwZ0lvby9R?=
 =?utf-8?B?UUVyTElhVGgzdTAyV0tVZ2RrZHBSN0JvSlNVeFV6VzBhRHhEQzRSQmRwaHU0?=
 =?utf-8?B?MXRTZC9DRXgzNXY1T3JKbnpNV1dySFJjY3UvMWdBVkx2THpTY3REYnhDVGlz?=
 =?utf-8?B?eGk2ZVRjZ1lGMHRoZWJzbXRCN1VXOCt5cXprMHVoNndveEU1dklWL2x5UVZT?=
 =?utf-8?B?Wko5SVFsVG90dEd6MmhGeVIvTzl6ZGR4WU9KakFOTGxyaGlVN0FuSy90V3Y3?=
 =?utf-8?B?ejZXbVN1SWgxbEs4Q1FObDdndTVxVXgwc3E4OFp5aUtIVXplT05BbWNEOEdm?=
 =?utf-8?B?WlhNakZkaWpibERKYkpMWHpxMjZCMGpLN0pEZ3ByOUw5MjVsR0ZJWTRMTjVW?=
 =?utf-8?B?ZGhaekNTb1hmUk5yQW44VWxTL1ZmUlBTckl4S09CV2xKelZncWY5RWxSa2Zm?=
 =?utf-8?B?MmVBMVJDd2tVS0NvQk1ZZVR4SVhsU2NkSE5ZNUw3bW9QQ2UzWW1Kb010TzdL?=
 =?utf-8?B?dWNINStUVFhaTTJsbWFXeEJydUNtU2NDTDdzVU9PWFZTR2ZTOENpYmVQaXZB?=
 =?utf-8?B?WGRYdDB4empMalliN1NvM2c4cUdudThDbFNZK3BleUNIWlI0enpvaXAxUFJx?=
 =?utf-8?B?MEJtbnlDOUhubUlKcDFtYzA0Mk1lYnIvWXJUdDVKSWt2SHRGTlRONDdkS1Vj?=
 =?utf-8?B?OTdpZHY4ZEZwWDhSYmxtRFFIRmYxRTFXK2JtY2VFS1Zsd1JzZmEwaEI0VWJa?=
 =?utf-8?B?eUk5aURxOTNDYnQzQ1JtUGM5RDZBVjlhR05PVTlUOWNidEpuZitiUWloQXY2?=
 =?utf-8?B?REdqS281bTB2MVlHREhuTzA4RmNyS25kdVkwK0t4YVI0c01UWWxqVC9remVO?=
 =?utf-8?B?WmZwQ3RhNHJVVlIwMVplSVc3UWJJb1ZtZ2JraXdoY2RnQm1ZbVVWN3VGaGVV?=
 =?utf-8?B?VVQrYzVrNXEvMHZ0bHBSOUNWS0FsRDgwMmF6NG9OUXNDcWg1cDJNZWhValVR?=
 =?utf-8?B?YU9FYzVmS0dURWpyTjY4RzlUNENQdlZUMWswb29MUm1Hd0JHcVFMa0VGYkR6?=
 =?utf-8?B?clp4ang1WXJ4bHN1OTF6d3ladkZTOWlDSUVWeVBQTjdSSWdiTU1uMkdIalF2?=
 =?utf-8?B?WEdtQWU5TEFVb2loekV0RUJ4ME5sM3dsbUFVUXNBczZna3ZiU0RrQ0c5d0lw?=
 =?utf-8?B?SnA2Wkdjc3h2R1BKalNYVzZBNHUxanBsZzNVUXBBRU5PM0duUFk5SXY4dXNi?=
 =?utf-8?B?a2JUY2NOWFhmYmZub3NYYVNpblRjQUxDblpVWU1HQ1RCNEZOazlJZDNXVWZm?=
 =?utf-8?B?U2NlbEJsQzE5bWtBdEpvWStwUWROeGpCVGF3OXJRRWlLa0p1UGVkS1QvQ2U2?=
 =?utf-8?B?UWRheFJTWTZRdEV0cmtMZmIxVWkyYzlyeStWd3FoQ1NEajdFRmMzWWdlWGtY?=
 =?utf-8?B?bDU3T29lTTlkb2lSY1dWd1lqTktuYWZDMTFTcFRFTm01MkhkQVBNUUI3eTl0?=
 =?utf-8?B?VGJHVDYvM25CQ2lMTFZFUWVLTG5tSHRZbHA4VGxkL0EwREo0YnZlY2xjVE4x?=
 =?utf-8?B?MzhoWHkxTndSdEYvSXI5alQxQ2tScWdyU0t5amhKeWVWckhuUTdYblRIZUo1?=
 =?utf-8?B?bzFrSENuTDJoWVJHdFN3bnU3UWg4MHdBbE1EVUZVcXQ1cmZ1RG1Wa1BnTFo3?=
 =?utf-8?B?MDg1NHN2TlhaWVFhMkJsdkxmNUU0UFlMQ2FZWUl1cmFxZFIwajZ3NkxJMEdC?=
 =?utf-8?B?RDZ0VC94V2lVYW8xMmZqcTViL2Fya0RpNmdScWtRYjl2Uk1IWjFla2JZS2ZG?=
 =?utf-8?B?OCs1RnhXTXBHbFlPcjE4THRCYjVncGcyMEZ6WkZrd3FNMkxIb2ZwQ0p4bU9n?=
 =?utf-8?Q?GXsURj55JVr86IwCL9pImQILv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b7681e7f-bd85-4d16-09eb-08db1f09d170
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 12:45:23.4660
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MDGLAsBeEaB627mDzoeFCHFh6qsETwb0TmUbHbH8/uIpYG8x2W94iZv3Efe6uDNNJK8h3dBNrUHpUFa4LF4K2g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7858

On 07.03.2023 13:04, Juergen Gross wrote:
> On 07.03.23 12:42, Jan Beulich wrote:
>> On 07.03.2023 12:33, Juergen Gross wrote:
>>> On 07.03.23 11:31, Jan Beulich wrote:
>>>> On 07.03.2023 07:32, Juergen Gross wrote:
>>>>> Using a rather oldish gcc (7.5) it was verified that code generation
>>>>> doesn't really differ between CONFIG_DEBUG_INFO on or off without
>>>>> CONFIG_DEBUG being set (only observed differences were slightly
>>>>> different symbol addresses, verified via "objdump -d"). The old gcc
>>>>> version selection was based on the assumption, that newer gcc won't
>>>>> regress in this regard.
>>>>
>>>> This is good to know, but I'm still curious about the mentioned
>>>> differences in symbol addresses: If code generation didn't change, what
>>>> caused addresses to differ? Is that merely because individual functions
>>>> or objects are emitted in different order by the compiler? (If so I'd
>>>> be inclined to infer that comparing generated code must have been
>>>> quite a bit of effort, as first of all you would have had to undo that
>>>> re-ordering.)
>>>
>>> I did a simple diff of the two disassembly outputs and got only small
>>> differences for %rip relative addresses (the differences were in the
>>> range of +/- 32 bytes).
>>
>> That's still odd and hence imo wants understanding. Do you still have
>> both binaries around?
> 
> I have just regenerated the one with debug-info. It is a 4.17 build.
> 
> I just found the at least one reason: xen_config_data has a different size
> (obviously!) and this finally leads to an offset of 32 bytes for symbols
> at higher addresses (with some items only differing by 8 bytes due to
> alignment).

Thanks for checking - this kind of a delta is of course to be expected.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 12:52:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 12:52:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507354.780729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZWnW-0008Ix-8h; Tue, 07 Mar 2023 12:52:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507354.780729; Tue, 07 Mar 2023 12:52: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 1pZWnW-0008Iq-5a; Tue, 07 Mar 2023 12:52:06 +0000
Received: by outflank-mailman (input) for mailman id 507354;
 Tue, 07 Mar 2023 12:52:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zeiT=67=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZWnV-0008Ik-Cb
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 12:52:05 +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 db9b5002-bce6-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 13:52:03 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id e13so11975267wro.10
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 04:52:03 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 h2-20020adffd42000000b002cde626cd96sm12623135wrs.65.2023.03.07.04.52.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Mar 2023 04: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: db9b5002-bce6-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678193523;
        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=DCmW4Aq/nGt+kwcmzqsNCJKlnkuGs7b19CPu9p4c9cU=;
        b=ZrH3WGvdZrumm7j7/MwdYV0NtpJD5n3+s3BaLYI6WGwOF5YcAS4bKtluGbk6uRd+af
         HQDlbUsUIYoVHhy03TdDOhLwiQTt0eKehyO1k/gYYsnfwF9IfqN37/4M+IS/Eno1z2Jp
         8hx+LxgxZ8q6fBmBiXgFwtwo1LBHMmSJzQSvPGmKlyj5+elTUjoVzbQmvW5fxzz/LJfg
         IZ9BiShLmnm5TJXtGTp2uLPXYr++Q7JHcSldXia6hWKj8ESr0x+GVgil0kMsmD6SKICK
         f4mVUg8PVxGTyEe6GVhGj1ZWg0WKiDZyQTLIls4AaUSZWNNsOTlwdbPVvP8z+J6SQDV3
         f8gA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678193523;
        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=DCmW4Aq/nGt+kwcmzqsNCJKlnkuGs7b19CPu9p4c9cU=;
        b=uV7PVnetnlwy4EGjdjzIjaq9IxeUNLemMI7KYv5qY26ClWs7TRqRUIls4i8/9gC/eC
         YRo70wm7PfTrM4ZNDZnLH/ocHdACCZqOHYGmD1ARpluwlmls1FwmSNa6nv9lLT6pJg5C
         fJQgztYETgpQL6sg5Ekl193FH47rbUhyrsr+TJcLuJZgBd+sOj7P5UGtaeWdYrn6EquV
         ydnaPNHzB0va9OfLSmZTESsGlDa30UTi8oqszRKcNooV5ZrIjB8wq3pPtuhlPWwpJ+WW
         phQ4oLjHG+siY4wDiR9aOTXyxzJ6Im5FBdjxJb5JFQLUroWNuFB/zdcuxsbFftyKZDZT
         za+A==
X-Gm-Message-State: AO0yUKXhbvlBALfJtuZzJmqQsTJ6GAD6C5HJq8mrTrPsPwKhwL5oT0EC
	T2pUZDWI8cCPTidEWb6Y4WI=
X-Google-Smtp-Source: AK7set/DvDxt/Pc4G3uc3xzE8iv/wwduEpqDVsYOaFHPukG+Jf61RKCBmyp6nwnqHo+wXPTaXFSTtg==
X-Received: by 2002:adf:de8b:0:b0:2c7:7ac:ca6d with SMTP id w11-20020adfde8b000000b002c707acca6dmr9461354wrl.48.1678193522581;
        Tue, 07 Mar 2023 04:52:02 -0800 (PST)
Message-ID: <e91666a08b6cfc146123e18e634aacd979161b66.camel@gmail.com>
Subject: Re: [PATCH v5 4/4] xen/x86: switch x86 to use generic implemetation
 of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 14:52:00 +0200
In-Reply-To: <8a7920d9-9622-195c-2706-2b435c2c856e@suse.com>
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
	 <4a478638449e66a76e1671db38ec29b9e3108201.1677839409.git.oleksii.kurochko@gmail.com>
	 <8a7920d9-9622-195c-2706-2b435c2c856e@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

T24gTW9uLCAyMDIzLTAzLTA2IGF0IDExOjM2ICswMTAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAwMy4wMy4yMDIzIDExOjM4LCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gVGhlIGZvbGxv
d2luZyBjaGFuZ2VzIHdlcmUgbWFkZToKPiA+ICogTWFrZSBHRU5FUklDX0JVR19GUkFNRSBtYW5k
YXRvcnkgZm9yIFg4Ngo+ID4gKiBVcGRhdGUgYXNtL2J1Zy5oIHVzaW5nIGdlbmVyaWMgaW1wbGVt
ZW50YXRpb24gaW4gPHhlbi9idWcuaD4KPiA+ICogQ2hhbmdlIHByb3RvdHlwZSBvZiBkZWJ1Z2dl
cl90cmFwX2ZhdGFsKCkgaW4gYXNtL2RlYnVnZ2VyLmgKPiA+IMKgIHRvIGFsaWduIGl0IHdpdGgg
Z2VuZXJpYyBwcm90b3R5cGUgaW4gPHhlbi9kZWJ1Z2dlci5oPi4KPiAKPiBJcyB0aGlzIHBhcnQg
b2YgdGhlIGRlc2NyaXB0aW9uIHN0YWxlPyBUaGUgcGF0Y2ggLi4uCkl0IGlzIHN0YWxlLiBVcGRh
dGVkIG5vdy4KPiAKPiA+IC0tLQo+ID4gwqB4ZW4vYXJjaC94ODYvS2NvbmZpZ8KgwqDCoMKgwqDC
oMKgwqDCoMKgIHzCoCAxICsKPiA+IMKgeGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2J1Zy5oIHwg
NzMgKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiDCoHhlbi9hcmNoL3g4Ni90cmFw
cy5jwqDCoMKgwqDCoMKgwqDCoMKgwqAgfCA4MSArKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KPiA+IC0tLS0KPiA+IMKgMyBmaWxlcyBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspLCAxNDQg
ZGVsZXRpb25zKC0pCj4gCj4gLi4uIGRvZXNuJ3QgdG91Y2ggYXNtL2RlYnVnZ2VyLmggYXQgYWxs
Lgo+IAo+ID4gLS0tIGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2J1Zy5oCj4gPiArKysgYi94
ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vYnVnLmgKPiA+IEBAIC0xLDc5ICsxLDEyIEBACj4gPiDC
oCNpZm5kZWYgX19YODZfQlVHX0hfXwo+ID4gwqAjZGVmaW5lIF9fWDg2X0JVR19IX18KPiA+IMKg
Cj4gPiAtI2RlZmluZSBCVUdfRElTUF9XSURUSMKgwqDCoCAyNAo+ID4gLSNkZWZpbmUgQlVHX0xJ
TkVfTE9fV0lEVEggKDMxIC0gQlVHX0RJU1BfV0lEVEgpCj4gPiAtI2RlZmluZSBCVUdfTElORV9I
SV9XSURUSCAoMzEgLSBCVUdfRElTUF9XSURUSCkKPiA+ICsjZGVmaW5lIEJVR19ERUJVR0dFUl9U
UkFQX0ZBVEFMKHJlZ3MpCj4gPiBkZWJ1Z2dlcl90cmFwX2ZhdGFsKFg4Nl9FWENfR1AscmVncykK
PiAKPiBBbG9uZyB0aGUgbGluZXMgb2YgYSBjb21tZW50IG9uIGFuIGVhcmxpZXIgcGF0Y2gsIHBs
ZWFzZSBtb3ZlIHRoaXMKPiAuLi4KPiAKPiA+IMKgI2lmbmRlZiBfX0FTU0VNQkxZX18KPiAKPiAu
Li4gaW50byB0aGUgdGh1cyBndWFyZGVkIHNlY3Rpb24uCkJ1dCBpdCB3YXMgZGVmaW5lZCB0aGVy
ZSBiZWZvcmUgdGhlIHBhdGNoIHNlcmllcyBhbmQgdGhlc2UgZGVmaW5pZXMgYXJlCnVzZWQgaW4g
IiNlbHNlIC8qICFfX0FTU0VNQkxZX18gKi8iCj4gCj4gPiBAQCAtMTE2NiwxMiArMTE2Nyw5IEBA
IHZvaWQgY3B1aWRfaHlwZXJ2aXNvcl9sZWF2ZXMoY29uc3Qgc3RydWN0Cj4gPiB2Y3B1ICp2LCB1
aW50MzJfdCBsZWFmLAo+ID4gwqAKPiA+IMKgdm9pZCBkb19pbnZhbGlkX29wKHN0cnVjdCBjcHVf
dXNlcl9yZWdzICpyZWdzKQo+ID4gwqB7Cj4gPiAtwqDCoMKgIGNvbnN0IHN0cnVjdCBidWdfZnJh
bWUgKmJ1ZyA9IE5VTEw7Cj4gPiDCoMKgwqDCoCB1OCBidWdfaW5zblsyXTsKPiA+IC3CoMKgwqAg
Y29uc3QgY2hhciAqcHJlZml4ID0gIiIsICpmaWxlbmFtZSwgKnByZWRpY2F0ZSwgKmVpcCA9IChj
aGFyCj4gPiAqKXJlZ3MtPnJpcDsKPiA+IC3CoMKgwqAgdW5zaWduZWQgbG9uZyBmaXh1cDsKPiA+
IC3CoMKgwqAgaW50IGlkID0gLTEsIGxpbmVubzsKPiA+IC3CoMKgwqAgY29uc3Qgc3RydWN0IHZp
cnR1YWxfcmVnaW9uICpyZWdpb247Cj4gPiArwqDCoMKgIGNvbnN0IGNoYXIgKmVpcCA9IChjaGFy
ICopcmVncy0+cmlwOwo+IAo+IEkgcmVhbGl6ZSAiY2hhciIgd2FzIHVzZWQgYmVmb3JlLCBidXQg
bm93IHRoYXQgdGhpcyBpcyBhbGwgb24gaXRzCj4gb3duLAo+IGNhbiB0aGlzIGF0IGxlYXN0IGJl
Y29tZSAidW5zaWduZWQgY2hhciIsIGJ1dCB5ZXQgYmV0dGVyICJ2b2lkIj8KSWYgd2UgY2hhbmdl
IGl0IHRvICJ2b2lkIiBzaG91bGRuJ3QgaXQgcmVxdWlyZSBhZGRpdGlvbmFsIGNhc3RzIGhlcmUg
KAp3aGljaCBpcyBub3QgbmljZSApOgogICAgICAgZWlwICs9IHNpemVvZihidWdfaW5zbik7ClBy
b2JhYmx5ICd1bnNnaW5lZCBjaGFyJyB3aWxsIGJlIGJldHRlci4KPiAKPiA+IEBAIC0xMTg1LDgz
ICsxMTgzLDE4IEBAIHZvaWQgZG9faW52YWxpZF9vcChzdHJ1Y3QgY3B1X3VzZXJfcmVncwo+ID4g
KnJlZ3MpCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqAgbWVtY21wKGJ1Z19pbnNuLCAiXHhmXHhiIiwg
c2l6ZW9mKGJ1Z19pbnNuKSkgKQo+ID4gwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGRpZTsKPiA+IMKg
Cj4gPiAtwqDCoMKgIHJlZ2lvbiA9IGZpbmRfdGV4dF9yZWdpb24ocmVncy0+cmlwKTsKPiA+IC3C
oMKgwqAgaWYgKCByZWdpb24gKQo+ID4gLcKgwqDCoCB7Cj4gPiAtwqDCoMKgwqDCoMKgwqAgZm9y
ICggaWQgPSAwOyBpZCA8IEJVR0ZSQU1FX05SOyBpZCsrICkKPiA+IC3CoMKgwqDCoMKgwqDCoCB7
Cj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCBzdHJ1Y3QgYnVnX2ZyYW1lICpiOwo+
ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgaW50IGk7Cj4gPiAtCj4gPiAtwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBmb3IgKCBpID0gMCwgYiA9IHJlZ2lvbi0+ZnJhbWVbaWRdLmJ1
Z3M7Cj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpIDwgcmVnaW9uLT5m
cmFtZVtpZF0ubl9idWdzOyBiKyssIGkrKyApCj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB7
Cj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICggYnVnX2xvYyhiKSA9PSBl
aXAgKQo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB7Cj4gPiAtwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYnVnID0gYjsKPiA+IC3CoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnb3RvIGZvdW5kOwo+ID4gLcKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCB9Cj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4gPiAtwqDC
oMKgwqDCoMKgwqAgfQo+ID4gLcKgwqDCoCB9Cj4gPiAtCj4gPiAtIGZvdW5kOgo+ID4gLcKgwqDC
oCBpZiAoICFidWcgKQo+ID4gK8KgwqDCoCBpZCA9IGRvX2J1Z19mcmFtZShyZWdzLCByZWdzLT5y
aXApOwo+ID4gK8KgwqDCoCBpZiAoIGlkIDwgMCApCj4gPiDCoMKgwqDCoMKgwqDCoMKgIGdvdG8g
ZGllOwo+ID4gLcKgwqDCoCBlaXAgKz0gc2l6ZW9mKGJ1Z19pbnNuKTsKPiA+IC3CoMKgwqAgaWYg
KCBpZCA9PSBCVUdGUkFNRV9ydW5fZm4gKQo+ID4gLcKgwqDCoCB7Cj4gPiAtwqDCoMKgwqDCoMKg
wqAgdm9pZCAoKmZuKShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqKSA9IGJ1Z19wdHIoYnVnKTsKPiA+
IC0KPiA+IC3CoMKgwqDCoMKgwqDCoCBmbihyZWdzKTsKPiA+IC3CoMKgwqDCoMKgwqDCoCBmaXh1
cF9leGNlcHRpb25fcmV0dXJuKHJlZ3MsICh1bnNpZ25lZCBsb25nKWVpcCk7Cj4gPiAtwqDCoMKg
wqDCoMKgwqAgcmV0dXJuOwo+ID4gLcKgwqDCoCB9Cj4gPiDCoAo+ID4gLcKgwqDCoCAvKiBXQVJO
LCBCVUcgb3IgQVNTRVJUOiBkZWNvZGUgdGhlIGZpbGVuYW1lIHBvaW50ZXIgYW5kIGxpbmUKPiA+
IG51bWJlci4gKi8KPiA+IC3CoMKgwqAgZmlsZW5hbWUgPSBidWdfcHRyKGJ1Zyk7Cj4gPiAtwqDC
oMKgIGlmICggIWlzX2tlcm5lbChmaWxlbmFtZSkgJiYgIWlzX3BhdGNoKGZpbGVuYW1lKSApCj4g
PiAtwqDCoMKgwqDCoMKgwqAgZ290byBkaWU7Cj4gPiAtwqDCoMKgIGZpeHVwID0gc3RybGVuKGZp
bGVuYW1lKTsKPiA+IC3CoMKgwqAgaWYgKCBmaXh1cCA+IDUwICkKPiA+IC3CoMKgwqAgewo+ID4g
LcKgwqDCoMKgwqDCoMKgIGZpbGVuYW1lICs9IGZpeHVwIC0gNDc7Cj4gPiAtwqDCoMKgwqDCoMKg
wqAgcHJlZml4ID0gIi4uLiI7Cj4gPiAtwqDCoMKgIH0KPiA+IC3CoMKgwqAgbGluZW5vID0gYnVn
X2xpbmUoYnVnKTsKPiA+ICvCoMKgwqAgZWlwICs9IHNpemVvZihidWdfaW5zbik7Cj4gPiDCoAo+
ID4gwqDCoMKgwqAgc3dpdGNoICggaWQgKQo+ID4gwqDCoMKgwqAgewo+ID4gK8KgwqDCoCBjYXNl
IEJVR0ZSQU1FX3J1bl9mbjoKPiA+IMKgwqDCoMKgIGNhc2UgQlVHRlJBTUVfd2FybjoKPiA+IC3C
oMKgwqDCoMKgwqDCoCBwcmludGsoIlhlbiBXQVJOIGF0ICVzJXM6JWRcbiIsIHByZWZpeCwgZmls
ZW5hbWUsIGxpbmVubyk7Cj4gPiAtwqDCoMKgwqDCoMKgwqAgc2hvd19leGVjdXRpb25fc3RhdGUo
cmVncyk7Cj4gPiDCoMKgwqDCoMKgwqDCoMKgIGZpeHVwX2V4Y2VwdGlvbl9yZXR1cm4ocmVncywg
KHVuc2lnbmVkIGxvbmcpZWlwKTsKPiA+IMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuOwo+ID4gLQo+
ID4gLcKgwqDCoCBjYXNlIEJVR0ZSQU1FX2J1ZzoKPiA+IC3CoMKgwqDCoMKgwqDCoCBwcmludGso
IlhlbiBCVUcgYXQgJXMlczolZFxuIiwgcHJlZml4LCBmaWxlbmFtZSwgbGluZW5vKTsKPiA+IC0K
PiA+IC3CoMKgwqDCoMKgwqDCoCBpZiAoIGRlYnVnZ2VyX3RyYXBfZmF0YWwoVFJBUF9pbnZhbGlk
X29wLCByZWdzKSApCj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47Cj4gCj4gVGhp
cyBhbmQgLi4uCj4gCj4gPiAtwqDCoMKgwqDCoMKgwqAgc2hvd19leGVjdXRpb25fc3RhdGUocmVn
cyk7Cj4gPiAtwqDCoMKgwqDCoMKgwqAgcGFuaWMoIlhlbiBCVUcgYXQgJXMlczolZFxuIiwgcHJl
Zml4LCBmaWxlbmFtZSwgbGluZW5vKTsKPiA+IC0KPiA+IC3CoMKgwqAgY2FzZSBCVUdGUkFNRV9h
c3NlcnQ6Cj4gPiAtwqDCoMKgwqDCoMKgwqAgLyogQVNTRVJUOiBkZWNvZGUgdGhlIHByZWRpY2F0
ZSBzdHJpbmcgcG9pbnRlci4gKi8KPiA+IC3CoMKgwqDCoMKgwqDCoCBwcmVkaWNhdGUgPSBidWdf
bXNnKGJ1Zyk7Cj4gPiAtwqDCoMKgwqDCoMKgwqAgaWYgKCAhaXNfa2VybmVsKHByZWRpY2F0ZSkg
JiYgIWlzX3BhdGNoKHByZWRpY2F0ZSkgKQo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJl
ZGljYXRlID0gIjx1bmtub3duPiI7Cj4gPiAtCj4gPiAtwqDCoMKgwqDCoMKgwqAgcHJpbnRrKCJB
c3NlcnRpb24gJyVzJyBmYWlsZWQgYXQgJXMlczolZFxuIiwKPiA+IC3CoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIHByZWRpY2F0ZSwgcHJlZml4LCBmaWxlbmFtZSwgbGluZW5vKTsKPiA+IC0K
PiA+IC3CoMKgwqDCoMKgwqDCoCBpZiAoIGRlYnVnZ2VyX3RyYXBfZmF0YWwoVFJBUF9pbnZhbGlk
X29wLCByZWdzKSApCj4gPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm47Cj4gCj4gLi4u
IHRoaXMgcmV0dXJuIGxvb2sgdG8gaGF2ZSBubyBwcm9wZXIgcmVwcmVzZW50YXRpb24gaW4gdGhl
IG5ldwo+IGxvZ2ljOyBib3RoIGNhc2VzIGZhbGwgdGhyb3VnaCB0byAuLi4KPiAKPiA+IC3CoMKg
wqDCoMKgwqDCoCBzaG93X2V4ZWN1dGlvbl9zdGF0ZShyZWdzKTsKPiA+IC3CoMKgwqDCoMKgwqDC
oCBwYW5pYygiQXNzZXJ0aW9uICclcycgZmFpbGVkIGF0ICVzJXM6JWRcbiIsCj4gPiAtwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJlZGljYXRlLCBwcmVmaXgsIGZpbGVuYW1lLCBsaW5lbm8p
Owo+ID4gwqDCoMKgwqAgfQo+ID4gwqAKPiA+IMKgIGRpZToKPiAKPiAuLi4gaGVyZSBub3csIHdo
aWNoIGlzIGFuIHVud2FudGVkIGZ1bmN0aW9uYWwgY2hhbmdlLgpPaCwgeW91IGFyZSByaWdodC4g
U28gdGhlbiBpbiBjYXNlIHdlIGhhdmUgY29ycmVjdCBpZCBpdCBpcyBuZWVkZWQgdG8KZG8gb25s
eSByZXR1cm46CiAgICBzd2l0Y2ggKCBpZCApCiAgICB7CiAgICBjYXNlIEJVR0ZSQU1FX3J1bl9m
bjoKICAgIGNhc2UgQlVHRlJBTUVfd2FybjoKICAgICAgICBmaXh1cF9leGNlcHRpb25fcmV0dXJu
KHJlZ3MsICh1bnNpZ25lZCBsb25nKWVpcCk7CiAgICAgICAgYnJlYWs7CiAgICB9CgogICAgcmV0
dXJuOwoKClRoYW5rcyBmb3IgZmluZGluZyB0aGF0LgoKfiBPbGVrc2lpCg==



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 12:54:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 12:54:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507357.780739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZWpy-0000Qs-M9; Tue, 07 Mar 2023 12:54:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507357.780739; Tue, 07 Mar 2023 12:54: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 1pZWpy-0000Ql-J8; Tue, 07 Mar 2023 12:54:38 +0000
Received: by outflank-mailman (input) for mailman id 507357;
 Tue, 07 Mar 2023 12:54:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=4ndv=67=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZWpx-0000Qf-DP
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 12:54:37 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0602.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 36c09203-bce7-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 13:54:36 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9625.eurprd04.prod.outlook.com (2603:10a6:10:308::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 12:54:34 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
 12:54: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: 36c09203-bce7-11ed-96b5-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LWTQ01oKAwrWmPk/tS3GMeV02HPa60IJ50gpN/PEg11rD7/73ZVBfxi2JN80BmikhSmQKwuWsn/GpeMn3idVhi0B7li0ljcOU3u8uNxTmg6hy2atkNfABXxoNnhnxK9WOXIevDGjCtoUNp44LbAWe748+ftpg9s+7bvATFTDSH/Dt5MaGt+QdjVOPsi5J8YC5M46NfcoQL6OGKNkB6/DhCOr7/5S7f2syaa4FttAZw1aP48+WHnt/nNp76DNTAFypCMYeYGU5BAwhuJKeZliOv57FL84j+QEZlBwD7W9woT7TXI/MHDTBt3fMK9P7p9EwQhDF9jw/kqfeuqSDgxjPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bCX7c+lGQ+RX+tEajWGSKXGtIOVDs9CjYwcvTudugio=;
 b=oVNQprjEFCv4d2OvTk8A07LXxvLqRWn2IY4O+YSj2CjRL36xZcBbqvpOT3tJqWqKjBl45RiP3EfqyXoAs6lZKyCxGf6hMEou9ixa71jIfSmj/EgkAI+eXpEt1qE/WIdE39yjnIAnj5/ueBn7D9SlmRt7gtgmO/J5MoHQ3retXXN9pLkCsyAakG8AeEse+U5V6EvOWHE8sVDzR2f5UrMzkYmAUAmuqVc90LWIukjl460WdeAotpoXLj2JZm4WrEeCq/h2f5ukvYFQEjXj72+xCxUVeFfg8X8rU+KkV5upWnRReHjHsrlWoaRreWJdxIqblqzd9w2kmbIoolUGpITD6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bCX7c+lGQ+RX+tEajWGSKXGtIOVDs9CjYwcvTudugio=;
 b=2eAKGlxxPp+/oR7ki/zpse3IUJmlajzdabzK9KKcB/xO+xVZPyPz7sxzgjCmoz6k99hObeTG2VczfrlWKkMVky5tstD9dcfQLVKNFlfc0v2yha3F5FlufqieC2TwySimvKVKLYnceSb7BGERHrUjdWu8F9EFWn4FsBv3oQ7w7Snh8tzmw/IddsyOe8wG0zL0Wvb2wRdYM17h8XTf7RDT8YxzOU4M6OAhlB3N2M9vWEpgXD3UfnKY6/6jb4o4LZOuVIS1dB5wNYD6E66W9rZoeCknHfa6pYzmK4+q735JfpCr4XdRDEd7aeNiCRQPhUEPTFBJLNFhgBdwwpDjIDEJGg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3876c439-a249-973c-b91f-ec78443a5fc0@suse.com>
Date: Tue, 7 Mar 2023 13:54:32 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 1/4] xen: introduce CONFIG_GENERIC_BUG_FRAME
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
 <5cd3dd5233cf41ad54ce1cd98b706085b95bfcee.1677839409.git.oleksii.kurochko@gmail.com>
 <91343570-3532-521f-9bfe-3a68902426d0@suse.com>
 <17d7dc28a767ec9012d4a7ac3d337c4b9c34d98e.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <17d7dc28a767ec9012d4a7ac3d337c4b9c34d98e.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0136.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9625:EE_
X-MS-Office365-Filtering-Correlation-Id: 5d1485c4-9644-41e8-3557-08db1f0b19ec
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PRu0nW3ea5ZrUsqnUJoNkSeD45Ia48M+2hwTogqRgP3udwGAAuF/wIile15q1jaXDPOGegfdFH1ejXNC7nbAdoPsVOxuzXksscmqabKzKjCTvKXqa7J/1WKKXnwN8dU9rUEThPjq0bsucQdtBqur3ahvMToNN5Dw/qYe7HSNMIvYQXiygKyDVcfn+r/dybKA+F6HFKgO59JxasxnlXUj4cDgERZfIs3wnZxEMzZc0GTd2O//dlB7KMFyKlCLQ2O3Qp9zZALfok4VV1c0X0ttc2RPgTZQhSB5s4mxnK2wuY5cNPSizKDicH48jkpjfa81Ju2qztgFkkGJJ82wxD8PfRvtrwa/Ygz5rWvqMEAj4rKtG1SD/v3dmdHRkWSlYmLDFNuB2TEhmDvwuj28TdKEyNqJF10c0ZWQrlFMjGaL6340lfhNzkllXoLDqx5Fmd1ceMH4nHiKbi96k7av9a3Owkr8KPviVCUJ5GkbB8cFEjcrL3s3FXW0gTOMEwmSQ8Vr3s2VIoRr0kfOv48E3arSQUMFJphdI+LbKsrOsXTVAq7nqqyRVQ6ZqvEyIiiknVQY3H7VGnec4Hv68olZr5j3vBtyxSHxduwfIsdFgkqpmkPmyWMi75Xk09Qg8lR1LNyQq2nqPqViZ1jCS+thhcEC1aoEoOL1vEbmRiptUvBVScr7tTNVHJtzEuT1j/NyK6eyL7v4UYRnqYhFiOFUTRphSjAom2zif6ePbTo64dnco9owCSHg9TXhCKwcE+qcJLIT15JuEmLOrLasI77lZV0X1eOi3V+76gsQzSnZIACAMrk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(346002)(136003)(376002)(39860400002)(451199018)(38100700002)(86362001)(31696002)(66556008)(66476007)(36756003)(8676002)(5660300002)(6506007)(2906002)(4326008)(8936002)(66946007)(6916009)(41300700001)(186003)(2616005)(53546011)(83380400001)(316002)(478600001)(6512007)(26005)(6486002)(54906003)(31686004)(41533002)(69594002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NHkvVVdZNzIvUDU1T2dvV0hYa1ozV3RYdmlaRlMyNElQVEJTRXY2djRiSDdW?=
 =?utf-8?B?WTVKeWF2UzBsOEtOMXlXcktyUXpQYk5PSWRucGN0ZTNyRmVvZnBJWlhqT201?=
 =?utf-8?B?bG1mMUx4NE13TnNXb2RNaGFGck5xWldZTXBOcSs2T1VZbzhmUXNJdi9uWXZh?=
 =?utf-8?B?UkM3Q1Z2b2tzUDFYbG1qN3o1UTR4VUR3eUVIS0ZYZFN5OWp2WXBwdVR1dTFO?=
 =?utf-8?B?REdIS2E3cGU0ejJacjlOUnVvNlJLZGREenZvelpieHBjZVg1Yk9WMklORkVR?=
 =?utf-8?B?Y3VTdXNnSDBXR1IvSFhyK3prc0VPVVB0TG1ZWDVPT2E2RVMwK0JnRVd2b1VN?=
 =?utf-8?B?N2RKaGxRT3pTTmdsTEpxQ21hTklpTlZ5dDg2UldMNjB4b0dweVNOdldwVW1j?=
 =?utf-8?B?NGZRbWg4WG1WZEFTcndYWU5WUHVPMmsxVSt5eG5jU3dOdHNyb24vTm5MZWNU?=
 =?utf-8?B?Wm42cm1HWVdOUE54dytYL3JKcGNaaEFZa2lpZG1HWGpHeWxjbExpZldjRjVl?=
 =?utf-8?B?a0VVWkhQUDFnR2hjYk1pakRlYXA3ZFY0NUd1V3I4NXJOT1E4Z1FTSm56N0dV?=
 =?utf-8?B?UFNBekNmRkJ0V3k4dmRGWER4dWZoNFdzMmhwdU0welpDdFVCRSt3Skd0Tjhm?=
 =?utf-8?B?MFJwNXZOZ0hpNmI1SWN6bmdDcmJPZ1M2Sm5IRm1aR0VOZTF2MFRFUTlPeXBa?=
 =?utf-8?B?VFM0YWgrL3lIRUFPSHc0Y1N5ckg4bkZIcUpoY2JTcXNTc0p2Sll2SUNnbVdp?=
 =?utf-8?B?Qnppa0hrVlNPRHdFVm9ZT05Lc2NEL0ZCT1BIVkhDUWtGeDhqTkFhSXAwUGRz?=
 =?utf-8?B?NkcyN0ZMOHk3Wm1XS3BQdG5jN2V6YnlKYzEzQ0gwc2oxT3IvZFVkaGNPTXNW?=
 =?utf-8?B?Slp5S2d1MGpPMmV4Zm4rME5mY0k0QmkrWnhqNzdBWVk2YnVaQlBCSENSMVdo?=
 =?utf-8?B?d2pmZG1ZSmVEc0FXa2V4R25zdmRMMEt3Z093ZUFwalB3ZVNETUdTSFhyY1BL?=
 =?utf-8?B?V1JZYUtoNVBGMndwdVIzUVUwTXdkUkEwWWNLQVllY3MyTEpkYk5TUCtFU2I5?=
 =?utf-8?B?SXNzVmZUaDJnWWtGWlBCQnlYWnRUZVRRaGc4ZmtXalhmV3p0a09yOVRpekg2?=
 =?utf-8?B?djR4LzNmRzYwQUx1TVdkcUxWV3pIUWo2NUNNR1NSRVVkV01BNElkZzZVZ0dw?=
 =?utf-8?B?c05EZERHWnlHWHFCSkZhaUlXYUl1SXBMU3lvcndyMmpYY3RKT25TVnMwcVB4?=
 =?utf-8?B?anM3YytkK2Y0aDRSanlGZlBBZHJrRjdQWTFiTi9NdWJpVVRPbzVkdW05MSsx?=
 =?utf-8?B?dXNKT1NJUVZJL3Y2Rkp3UlNvRnkxYk5POStxSFFKWE9DY2F0RHU1V0lMRUo5?=
 =?utf-8?B?a1F6UzRyR1VBYzdGQTRjMEdNSXdrMkpjLzVKT2NuT04zTitseTN6UzNBTk5p?=
 =?utf-8?B?TTI5REhQN3F4dHFiNk4wRWErblJQTWgwRmVONERxQjFyVmdrWXlOZmMxSlRi?=
 =?utf-8?B?dzEwQmdGdndKTHJ0NEhWRGZvWGJGN3QyNVc4TTVJcjZSRXo1K28rQnNtVXo2?=
 =?utf-8?B?eTlPUGFuaWlnVURKaWtDQkk1ME1iWWc0UVFOb0pkZGdTNUJ1ZEw5bXVyWjJs?=
 =?utf-8?B?RWdKYzQwd0U2d2w3NFF3dDg1YjdJbnRYeC9kaE14NTF5Wk95TUZIT3RGOWZY?=
 =?utf-8?B?UE54anlFamt5VzRpVVIrVFd1RmZPSzNvMk12cDdMNzdCY0lLcjFVdTE3SnNM?=
 =?utf-8?B?MVE4TUkzMUhPVVFSaEx1SjF2MDM4Q3FWaU8yek1uYVdoOThld3djaGoxTW9q?=
 =?utf-8?B?VUlqQVhjYjJqd0J6NEdESkFQTEUrNDJ3UG1WTkRNY0FTYk5IZlJIYXc3djlY?=
 =?utf-8?B?UjJ4ZjVqdDN1enhnakZIYURwdS9renlCYk1ybHFZWmVob29qT1VydGEzNmcv?=
 =?utf-8?B?QU5NNzdiTXFVbXg0ZnUwTnUwSyswZFRZRCtKY1F5MGlXamJLc3dCUnVIY3By?=
 =?utf-8?B?Ni9EVmhnN1FTcVA2dVRJZmNvaDVJNllLQnJhUUFRQXVVSmJCZG9DbW13aDNr?=
 =?utf-8?B?aXBkMWpSQTQ0b2VxMHcyMVRZeElnN25teVM1TER1Zi9TdUxrcE9LU3RTRDU2?=
 =?utf-8?Q?OBlWIHR1Ayhvnf58pCv2TFtiR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d1485c4-9644-41e8-3557-08db1f0b19ec
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 12:54:34.5256
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3NDnEHcvWK/Bbt4adWXartiueVwkWsc+s2PZYEFdDGUDZenEVwX42fPnM1qShJY1icLzg5AhqnSfHaLDFWMaqA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9625

On 07.03.2023 12:32, Oleksii wrote:
> On Mon, 2023-03-06 at 11:17 +0100, Jan Beulich wrote:
>>> On 03.03.2023 11:38, Oleksii Kurochko wrote:
>>>>> --- a/xen/common/Kconfig
>>>>> +++ b/xen/common/Kconfig
>>>>> @@ -28,6 +28,9 @@ config ALTERNATIVE_CALL
>>>>>  config ARCH_MAP_DOMAIN_PAGE
>>>>>         bool
>>>>>  
>>>>> +config GENERIC_BUG_FRAME
>>>>> +       bool
>>>
>>> With Arm now also going to use the generic logic, do we actually
>>> need
>>> this
>>> control anymore (provided things have been proven to work on Arm
>>> for
>>> the
>>> compiler range we support there)? It looks like because of the way
>>> the
>>> series is partitioned it may be necessary transiently, but it
>>> should
>>> be
>>> possible to drop it again in a new 5th patch.
> We still need it because RISC-V doesn't ready yet to use do_bug_frame()
> from xen/common/bug.c as it requires find_text_region(),
> virtual_region() and panic().
> The mentioned functionality isn't ready now for RISC-V so RISC-V will
> use only generic things from <xen/bug.h> only for some time.

Oh, right. So let's leave it for the time being, but consider dropping
it once RISC-V is more complete.

>>>>> --- /dev/null
>>>>> +++ b/xen/include/xen/bug.h
>>>>> @@ -0,0 +1,158 @@
>>>>> +#ifndef __XEN_BUG_H__
>>>>> +#define __XEN_BUG_H__
>>>>> +
>>>>> +#define BUGFRAME_run_fn 0
>>>>> +#define BUGFRAME_warn   1
>>>>> +#define BUGFRAME_bug    2
>>>>> +#define BUGFRAME_assert 3
>>>>> +
>>>>> +#define BUGFRAME_NR     4
>>>>> +
>>>>> +#ifndef BUG_FRAME_STRUCT
>>>
>>> This check won't help when it comes ahead of ...
>>>
>>>>> +#define BUG_DISP_WIDTH    24
>>>>> +#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
>>>>> +#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
>>>>> +#endif
>>>>> +
>>>>> +#include <asm/bug.h>
>>>
>>> ... this. But is the #ifdef actually necessary? Or can the #define-
>>> s
>>> be moved ...
>>>
>>>>> +#ifndef BUG_DEBUGGER_TRAP_FATAL
>>>>> +#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
>>>>> +#endif
>>>>> +
>>>>> +#ifndef __ASSEMBLY__
>>>>> +
>>>>> +#include <xen/lib.h>
>>>>> +
>>>>> +#ifndef BUG_FRAME_STRUCT
>>>
>>> ... here? (I guess having them defined early, but unconditionally
>>> is
>>> better. If an arch wants to override them, they can #undef and then
>>> #define.)
> We can't move it to #indef __ASSEMBLY__ because in this case x86
> compilation will fail as in x86's <asm/bug.h> BUG_DISP_WIDTH,
> BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH are used in case when the header
> is included in assembly code.

Oh, of course.

> I agree that there is no any sense to have the defines under "#ifndef
> BUG_FRAME_STUCT" before <asm/bug.h> but it is necessary to define them
> before <asm/bug.h>. The defines were put under "#ifndef
> BUG_FRAME_STUCT" because it seems to me that logically the defines
> should go only with definition of 'struct bug_frame'.
> 
> So it looks like the only one way we have. It is define them
> unconditionally before <asm/bug.h> and #undef if it will be necessary
> for specific architecture.
> As an option we can move the defines to #ifndef BUG_FRAME_STRUCT under
> #ifndef __ASSEMBLY__ and then define them explicitly in x86's
> <asm/bug.h> for case when the header is included some where in assembly
> code. But this option looks really weird.

Indeed.

>>>>> +#define BUG_FRAME(type, line, ptr, second_frame, msg) do
>>>>> {                   \
>>>>> +    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH +
>>>>> BUG_LINE_HI_WIDTH));         \
>>>>> +    BUILD_BUG_ON((type) >=
>>>>> BUGFRAME_NR);                                     \
>>>>> +    asm volatile (
>>>>> _ASM_BUGFRAME_TEXT(second_frame)                          \
>>>>> +                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg)
>>>>> );            \
>>>>> +} while (0)
>>>
>>> Isn't this tied to BUG_FRAME_STRUCT being defined (or not)? At
>>> least
>>> the 1st BUILD_BUG_ON() looks problematic if an arch wasn't to use
>>> the generic struct: With how you have things right now
>>> BUG_LINE_{LO,HI}_WIDTH may not be defined, and the check would also
>>> be at risk of causing false positives. Perhaps it's appropriate to
>>> have a separate #ifdef (incl the distinct identifier used), but
>>> that
>>> first BUILD_BUG_ON() needs abstracting out.
> Missed that. Thanks.
> I'll introduce that a separate #ifdef before BUG_FRAME:
> 
> #ifndef BUILD_BUG_ON_LINE_WIDTH
> #define BUILD_BUG_ON_LINE_WIDTH \
>         BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))
> #endif

But then please make this a function-like macro.

I'm also not convinced of the #ifndef - an arch using an entirely
different layout should have no need for this check. So I'd rather
attach the #define to what's inside #ifndef BUG_FRAME_STRUCT and
have an #else there to supply a #define to <empty> alternatively.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 13:00:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 13:00:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507362.780748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZWv9-0001AO-9T; Tue, 07 Mar 2023 12:59:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507362.780748; Tue, 07 Mar 2023 12: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 1pZWv9-0001AH-6q; Tue, 07 Mar 2023 12:59:59 +0000
Received: by outflank-mailman (input) for mailman id 507362;
 Tue, 07 Mar 2023 12:59: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=4ndv=67=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZWv8-0001AB-02
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 12:59:58 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5231f30-bce7-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 13:59:56 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7421.eurprd04.prod.outlook.com (2603:10a6:800:1b3::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Tue, 7 Mar
 2023 12:59:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
 12:59:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5231f30-bce7-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=juubP/Y/sD6tGGGY9Zgp0OglDeTppDmGGs51+y/e++xamogoLMyiYXhqUBW0zkgra6GuaWbS59XQ1nV/6Ff7hFv66xgA7fL4oBYH8kkcqKjE3QpITfzRQXgCWkCQhSlIeIYmUoKwzTSkqINVjTCKrBG6ZPNZQvJ1kkDmFXvCPcRrKBEmDZnfqaWJv7+85H7HEKERoOT7mhNO3EwFXjFMea/MorqEm5A7zh9nytoFiK34J74Oslz4+jRWzQEuiVRT8/PB+vNXRWe7yH9ZughUTDPbPKnqWn0nsqc50dlUtTMjq8PY5nrzh1ax6AASR1g3gMbFVn3+IY+ZI4UU5EMJhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TwF6sOp9E35LXOG1MmbNB8Hk+aAUK/sxyqHptmkkULU=;
 b=iNV9Uzxcy3ORMEVBpKSA50IVp9qvb4flJRx4ydPN8kCKaLphDAEcq5pssypNU191eDij30sxrJvDHHRtN121rWBBq9wOfqLTjJX7pjO1vyjM7ykFC4+Zj2I6UgSgIAPe+L5SSeTlwjTImXeXo5rM+uiq27EpYmwV73abAIliJsaI5LKQ9MpnbCaf5Q05Ead13IrDSA4eQqA32FvfHMKBGMj9Xv3srKi4j8o4YE+Gaim1FoZXJ3SSLmWU550cKdokggNMD4CqHRdnuPQXyYyxKw4BFwFziRG1GgbJDUvwoDuDjbMknnAIbJtR97Lb9kNeySPiC8K+RgncJ7BiskFwPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TwF6sOp9E35LXOG1MmbNB8Hk+aAUK/sxyqHptmkkULU=;
 b=pkg17BmsmfvkUy2qEl19ZbFY+K3NBvnSbBeZptuBG9yBbhVtAugS3lBSEnVUhms4OOF9oCHTVVHyBhdtSAn0ax/lKg6fuQFFHYKcYpcjIt+LGKvS0YqDVokKd3vZKO7ctuOpPHD9+TdUaONc2nxs7S30JrAb2Re4jXVDGd3vCcWllV2Y081JvNRYWAJG6HKNZmpC5W+FkVSApPhwkLnL8nExO4VS4bBG30lgHDihONaage4bk4qMKkXOVMJkElQCZfVs1PiLaBmBtsauCl3YplAfYEw4wSAICVUxMvdI+1IiWsQh/yPfC90KEWbR3zVf++R/bwWEe9/AVTI5TL2MJg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9bb8c837-7aa4-ba75-99fc-5e4c079023b3@suse.com>
Date: Tue, 7 Mar 2023 13:59:52 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 4/4] xen/x86: switch x86 to use generic implemetation
 of bug.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.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.1677839409.git.oleksii.kurochko@gmail.com>
 <4a478638449e66a76e1671db38ec29b9e3108201.1677839409.git.oleksii.kurochko@gmail.com>
 <8a7920d9-9622-195c-2706-2b435c2c856e@suse.com>
 <e91666a08b6cfc146123e18e634aacd979161b66.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e91666a08b6cfc146123e18e634aacd979161b66.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0160.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7421:EE_
X-MS-Office365-Filtering-Correlation-Id: 4376df90-14ee-4d62-4f39-08db1f0bd87a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dM8mr0VwJZroIMq/VTjygbsZV/dE60N41i14zLrID7wFvST+7lBcrTEFwcrPKQgW01v+Di/7Cz0jHL3RO2QZgjK3yFVNX6ozrPURBAfFdSJQ45Q8EZUrQPvyIeLFGn/3rBl7de0Cold4VfxtYPODG1DPEOvI45yk00E2KFGpjvdGZ2P3odFWQYIvbfdw6CPmhIc4jZoM2DNqPX8EzI4D5j+WCkry30ro0cJWzoG7PIubsRe2ml/QJRPhiOznBUyulZm39t/0TRuWJFfJsFLPmmIc7DX9jvQOVg/2LZU57VjPTXQ0vS4q3zeT4gmKayy5ipG5IeYAC/kNlLrYO8WCQ45rn1I+ZTidvFa3GXt2S7SudKdnAkpPXnssKqlE3uZyOqMzpO41QStHzXpW5OXazfdCRAYRmhc0mq6nranRlw2NqsMXg3LkBN1rwH9IjqdT7S3X+WkOqEDTs1nEpwgOOtb5w2hb5SkA9FXSisol9ngBgLul9JK1wgVvdPMijlpn8dOk31lKKXzRyZPRTzcCIz2lAYfDQhYUoJxI8KQ+XIf5Lxo6P/cjVFiwE5cx8SljqAtmfV8VRODEy+V9LaagjV6cuOfjONdoBFX6vHksER7Z98Zvxe2jYZlXISq0jxl3sBMkLXN1f+5dwECFNcJfuGYmFPI56t01q8DIB45bJINxl5udAXmAEQxH81ajN+yQfJcPClxPkh6ICtxGvXHkbhVA/RFzxYFywhP53KYXkUnQP8sRbzCtRRqRf16YR771
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(136003)(39860400002)(376002)(346002)(451199018)(186003)(2906002)(5660300002)(38100700002)(6916009)(8936002)(66946007)(8676002)(41300700001)(66476007)(4326008)(478600001)(66556008)(6512007)(26005)(2616005)(53546011)(6486002)(36756003)(54906003)(316002)(86362001)(31696002)(31686004)(6506007)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TSs3RUJ4cjhHdXJLSzFkVHRsVE1rVTAwTDZTeEI2MjQ2MWQyUE1meWl5MTJz?=
 =?utf-8?B?MjRLM1l5YXpCU2xsQ0d2RTVhTkh4YWUxOEtPckt0RXlBcExIYndBN3NYUGdC?=
 =?utf-8?B?MGdlQi9OdjF4b056TnVEUmRET055SVY3cHU5M3ZlTUl0V2dERFpnZ0dieno2?=
 =?utf-8?B?SUZIS3M3UVlxWStsUmt6aGFWYVZnamNBaG90cjBkaDdwSzlicGYwWGxDT0J2?=
 =?utf-8?B?RUpHMCtaOVpzR0dMaDdyVzAzR2FSOGVhOU9vRlBrcFZtcEhZdjh1M0wwVE1r?=
 =?utf-8?B?WXNvQjN2Vmdjbko5U3BNZHRyZ3AyUmtTcmo0Y1lBRlBVVmVyeFNydjZQeEhM?=
 =?utf-8?B?Zm5QUzFEbktIb1NNMEMwczdJd3pSUEJlSHRwcUFocmpBVGF6STM3eUxnZS9a?=
 =?utf-8?B?Z1dwTmFXOHVuL1lrZ2RBWE5LNFhJRkRjeXlMdHpPQTZkUHpuT2c5TlJRSVc3?=
 =?utf-8?B?N2ZRbndQZGJwWXF3WFZTODV0RXMvMXRtSjZuVVpNNktPNWNOc1JsUXRTSkJx?=
 =?utf-8?B?WkhHSHQwSnRhUzNlNFdFZFpOYnlScUFUS0pCWVM3RGJja2NaQXF3d2Q1MXRM?=
 =?utf-8?B?L1REQWI1di9hbFBOTjFIR0FZZ0lGNHE0OGhjZ0dLSFNLQ1Mwa24rV3pKdXlF?=
 =?utf-8?B?bEV3d3BxWm5zSnNsajVqRS84dWNGeEpheExQL1NiRjJIV084RkptRDhuU0FZ?=
 =?utf-8?B?UGpNOUVNeDlEdXFUMi9mZHE1NDAyQlBUTEdqK0xadHpKUGw1SU1SMGVNRWg4?=
 =?utf-8?B?TGFOcndmVWkzRzZkeHNDZE5jN2tjUzJrRysxTDlYSllpdG9tZGxmQWd0SzFl?=
 =?utf-8?B?bVM3UU9LSDBKcFYvUUFHcnVxdGx1djJyZ09hTTdzZUc4RkdCWXFzMzFnZnFH?=
 =?utf-8?B?Sy9VYnZXbnpPWExYSEJaanJ1VFRNNXhmanFycXBBYmlJQzhPeUsya01jSncr?=
 =?utf-8?B?Q3F6RlpCalNhOTh4QTZFM3RrdHk3QmRrZmFvVytyWTlkMVhXdjd3R3RYNjFq?=
 =?utf-8?B?YUZ1OHhaa1Nja3F0QVpVMHY3M2QvSEVqdjNFRTBuZ0Rxa29zcUVSdGx6MnJK?=
 =?utf-8?B?azRZSld4bklVM0luL0xteGR4dk9lSWFnSFZZa3NBZFlwaHhZVjZwUFpqYVNy?=
 =?utf-8?B?a0NML1F6T3VKcUp1L2hOSVhGbEI3amUzNWVTb1NMZmw5YWdFeFUxdS8xQ05W?=
 =?utf-8?B?YXZFbmV4QkRYS0UyMnpCZnMzS1NRa0FGVmhUdWo2TGNCWG4vT3crbGk3RHhz?=
 =?utf-8?B?U3RwVVRLZk9sRzg5bmYvUkhhWUp2TVBjUkRtTVJNakREamVlUENUa3gvcEI2?=
 =?utf-8?B?VGlaekNKWHRoZ0c5RzBDamVYa3JMeFRqblV1TzZobTJSaEhCVkUzSzZvSGps?=
 =?utf-8?B?L1ZENXgvbzR3cDFscng3OVNUNVNtd2Z2RXR2MG1saUFRNkw2eWpwb0tQTTZR?=
 =?utf-8?B?ZVMvQmFNQmJPZjhDRyt5WlU0WnpoVGVmQmxjbml2S0pOMnVzZTFSMDVyZ05i?=
 =?utf-8?B?eUR5aU9FK0U1cVdtM29xK3VtRnoxdnd4YkJwQ2lheDFNcHYxSytTZ3pHYU1m?=
 =?utf-8?B?Y2xYWDliRkQ1bUNQejh4c0E1OGp0bGVKcnFoOHRISlRuTHBxSGl5dm90NUkw?=
 =?utf-8?B?NnlPWHlOdUp3QllWdVNVSEZaV29CUzlva1pyWG5DdEZFamlMZW4xMEwrSW5N?=
 =?utf-8?B?Q1QwRU5mTjRHZGFWZVA3TmNMeEdCRmgvb0NuQjJEZFVZUHU2aUR3cFJqSkg4?=
 =?utf-8?B?YXZNRXdoK0h6TUtRU1ZFWW1zSU5sWFppa0FQTXJ2RTE1WXkzZ3RXRmZqdE5i?=
 =?utf-8?B?d21VL1RCZ3RTampGRDFmK2NQMEUybzB2NndYMXA4TlpCNWhGZk5jczg3TzBS?=
 =?utf-8?B?MTIrbVQzWmt0bTNTRHZYTDBGZndTMmNOUmZMMDlYMXlFUHVueVRUN2c3elov?=
 =?utf-8?B?VHVKTW82SmgyaWtSSTR6ZXl6dG92cGdlNytRb01GcG5CVnFpTGVFK2I1ODVV?=
 =?utf-8?B?ZldZQ2dOT2NuajQwMmhiVmx5cU93R1hHb2lGOXVnR2FZSnczRGF4b2FwZmdI?=
 =?utf-8?B?VFZOcm5OODlVRmVPSS9nWkU1NFRnQjk2WUxXTEMzeFQ0MVRkdHJ5RkU0RVpt?=
 =?utf-8?Q?1ZK9eStfKyArjSeUQSoFos7Lo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4376df90-14ee-4d62-4f39-08db1f0bd87a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 12:59:54.1458
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BssyI5E2ZyZT4tVORl6klta+emu6cQ7BS58TCMCrIroeKInsYIvqhWugCWJMV3q7yUMqnM7j2GSo3xlyzIsETQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7421

On 07.03.2023 13:52, Oleksii wrote:
> On Mon, 2023-03-06 at 11:36 +0100, Jan Beulich wrote:
>> On 03.03.2023 11:38, Oleksii Kurochko wrote:
>>> --- a/xen/arch/x86/include/asm/bug.h
>>> +++ b/xen/arch/x86/include/asm/bug.h
>>> @@ -1,79 +1,12 @@
>>>  #ifndef __X86_BUG_H__
>>>  #define __X86_BUG_H__
>>>  
>>> -#define BUG_DISP_WIDTH    24
>>> -#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
>>> -#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
>>> +#define BUG_DEBUGGER_TRAP_FATAL(regs)
>>> debugger_trap_fatal(X86_EXC_GP,regs)
>>
>> Along the lines of a comment on an earlier patch, please move this
>> ...
>>
>>>  #ifndef __ASSEMBLY__
>>
>> ... into the thus guarded section.
> But it was defined there before the patch series and these definies are
> used in "#else /* !__ASSEMBLY__ */"

Since you use plural, maybe a misunderstanding? My comment was solely
on the line you add; the removed lines are there merely as context.

>>> @@ -1166,12 +1167,9 @@ void cpuid_hypervisor_leaves(const struct
>>> vcpu *v, uint32_t leaf,
>>>  
>>>  void do_invalid_op(struct cpu_user_regs *regs)
>>>  {
>>> -    const struct bug_frame *bug = NULL;
>>>      u8 bug_insn[2];
>>> -    const char *prefix = "", *filename, *predicate, *eip = (char
>>> *)regs->rip;
>>> -    unsigned long fixup;
>>> -    int id = -1, lineno;
>>> -    const struct virtual_region *region;
>>> +    const char *eip = (char *)regs->rip;
>>
>> I realize "char" was used before, but now that this is all on its
>> own,
>> can this at least become "unsigned char", but yet better "void"?
> If we change it to "void" shouldn't it require additional casts here (
> which is not nice ):
>        eip += sizeof(bug_insn);

Arithmetic on pointers to void is a GNU extension which we make
heavy use of all over the hypervisor.

>>>      switch ( id )
>>>      {
>>> +    case BUGFRAME_run_fn:
>>>      case BUGFRAME_warn:
>>> -        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
>>> -        show_execution_state(regs);
>>>          fixup_exception_return(regs, (unsigned long)eip);
>>>          return;
>>> -
>>> -    case BUGFRAME_bug:
>>> -        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
>>> -
>>> -        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
>>> -            return;
>>
>> This and ...
>>
>>> -        show_execution_state(regs);
>>> -        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
>>> -
>>> -    case BUGFRAME_assert:
>>> -        /* ASSERT: decode the predicate string pointer. */
>>> -        predicate = bug_msg(bug);
>>> -        if ( !is_kernel(predicate) && !is_patch(predicate) )
>>> -            predicate = "<unknown>";
>>> -
>>> -        printk("Assertion '%s' failed at %s%s:%d\n",
>>> -               predicate, prefix, filename, lineno);
>>> -
>>> -        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
>>> -            return;
>>
>> ... this return look to have no proper representation in the new
>> logic; both cases fall through to ...
>>
>>> -        show_execution_state(regs);
>>> -        panic("Assertion '%s' failed at %s%s:%d\n",
>>> -              predicate, prefix, filename, lineno);
>>>      }
>>>  
>>>   die:
>>
>> ... here now, which is an unwanted functional change.
> Oh, you are right. So then in case we have correct id it is needed to
> do only return:
>     switch ( id )
>     {
>     case BUGFRAME_run_fn:
>     case BUGFRAME_warn:
>         fixup_exception_return(regs, (unsigned long)eip);
>         break;
>     }
> 
>     return;

Except the "return" needs to remain inside the switch; unrecognized id
values should still fall through to the "die" label.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 13:13:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 13:13:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507367.780759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZX7q-0003ij-I3; Tue, 07 Mar 2023 13:13:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507367.780759; Tue, 07 Mar 2023 13:13:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZX7q-0003ic-Ea; Tue, 07 Mar 2023 13:13:06 +0000
Received: by outflank-mailman (input) for mailman id 507367;
 Tue, 07 Mar 2023 13:13:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zeiT=67=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZX7p-0003iW-Qg
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 13:13: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 ca65f837-bce9-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 14:13:03 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 fm20-20020a05600c0c1400b003ead37e6588so10360268wmb.5
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 05:13:03 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 r20-20020a05600c425400b003dc47d458cdsm12999796wmm.15.2023.03.07.05.13.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Mar 2023 05:13: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: ca65f837-bce9-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678194782;
        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=qDCpDGgHNtS2NsIBbrdrVDnUk/BCKkJzDAx6MtlGpG4=;
        b=IiSoZgw5yMDmgc+bGDPcDpfFP7ncs5y/L2OeUrP3WBkxJ6lmdkTjLJzsBiIRZYi6Rv
         TIUtAKLhUfjO5kMrHX46SyLdxioMF3UIeuhOb6DaMIebwq6PDD7McdEgpZvDL3vH+/P9
         Cwy6x9l9xdwtH1XpT/pVdQk0teEYr7vfq9yeMU6y5IssiDW+FD5QMeKmc2UgT1aoM3N9
         Wbs7e+tXq/4escirl+x2PVrRYFdduDAitMrhsBJRNihz1b6OVf4KeW+JKUxaUA1862Ar
         ZVwdLglaUSZQ/nLLV/XsOkybsDwPdPa7DMX7P+PGA6o0r7IwZgBKwLAN+UhrPiUGlAmH
         AFzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678194782;
        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=qDCpDGgHNtS2NsIBbrdrVDnUk/BCKkJzDAx6MtlGpG4=;
        b=qC5Ubl6D7kuy1NTj8+1vX1ChueGUaz80ZCogfceX+sf1B9UWocj7hyf4V8uABVMA9d
         XIfytrZL8+IIr9uH5ApcWp1YMfBdn9ssUgkXuk5dv4vwXF4VndLxzQSQUOiUAHsjUru2
         wMAL2BmDHFciMCWbmV7rjVGax/m+nrFfc9h2GGSNl7O1eafSm8Hm4MbzVlO45cK+W6QQ
         8C2Bmn4ZazKDuh5zroUH/HK0y7WvNEHDc8utuiscyswhrU9nLpDphKpQXkuvMqFhUmxO
         xQIoqcWN9m29Qy52ieaDWxuce3R8detv5bASo/ukBKdY8EKcPTPJaEjfe75oyswu8cAw
         5M+g==
X-Gm-Message-State: AO0yUKUJHnP5N32SIA+ZrBPdBMsJ2vbryTIO9Turvdsc3LHRtg6xi6bF
	fIIhkuspe+r0cmS78OamWtY=
X-Google-Smtp-Source: AK7set8WPR6Yp/tqqLyYNyklxSdVu4GIQkkt5j9my+mdaUgJmpBeQg3o8FhZICQtfrVogJ777Aqk3Q==
X-Received: by 2002:a05:600c:b85:b0:3eb:966e:b2a5 with SMTP id fl5-20020a05600c0b8500b003eb966eb2a5mr9363200wmb.17.1678194782334;
        Tue, 07 Mar 2023 05:13:02 -0800 (PST)
Message-ID: <46e7e298e52afcee46bb7fd52ddd181227356c98.camel@gmail.com>
Subject: Re: [PATCH v5 1/4] xen: introduce CONFIG_GENERIC_BUG_FRAME
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 15:13:00 +0200
In-Reply-To: <17d7dc28a767ec9012d4a7ac3d337c4b9c34d98e.camel@gmail.com>
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
	 <5cd3dd5233cf41ad54ce1cd98b706085b95bfcee.1677839409.git.oleksii.kurochko@gmail.com>
	 <91343570-3532-521f-9bfe-3a68902426d0@suse.com>
	 <17d7dc28a767ec9012d4a7ac3d337c4b9c34d98e.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

> > > > > +
> > > > > +#define BUG_FRAME(type, line, ptr, second_frame, msg) do
> > > > > {=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > > > > +=C2=A0=C2=A0=C2=A0 BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH +
> > > > > BUG_LINE_HI_WIDTH));=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 \
> > > > > +=C2=A0=C2=A0=C2=A0 BUILD_BUG_ON((type) >=3D
> > > > > BUGFRAME_NR);=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 \
> > > > > +=C2=A0=C2=A0=C2=A0 asm volatile (
> > > > > _ASM_BUGFRAME_TEXT(second_frame)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 :: _ASM_BUGFRAME_INFO(type, l=
ine, ptr,
> > > > > msg)
> > > > > );=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 \
> > > > > +} while (0)
> > >=20
> > > Isn't this tied to BUG_FRAME_STRUCT being defined (or not)? At
> > > least
> > > the 1st BUILD_BUG_ON() looks problematic if an arch wasn't to use
> > > the generic struct: With how you have things right now
> > > BUG_LINE_{LO,HI}_WIDTH may not be defined, and the check would
> > > also
> > > be at risk of causing false positives. Perhaps it's appropriate
> > > to
> > > have a separate #ifdef (incl the distinct identifier used), but
> > > that
> > > first BUILD_BUG_ON() needs abstracting out.
> Missed that. Thanks.
> I'll introduce that a separate #ifdef before BUG_FRAME:
>=20
> #ifndef BUILD_BUG_ON_LINE_WIDTH
> #define BUILD_BUG_ON_LINE_WIDTH \
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BUILD_BUG_ON((line) >> (BUG_LI=
NE_LO_WIDTH +
> BUG_LINE_HI_WIDTH))
> #endif
I think even better will be to do in the following way:

#ifndef LINE_WIDTH
#define LINE_WIDTH (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH)
#endif

#define BUG_FRAME(type, line, ptr, second_frame, msg) do {           =20
\
    BUILD_BUG_ON((line) >> LINE_WIDTH);                              =20
\
    BUILD_BUG_ON((type) >=3D BUGFRAME_NR);                             =20
\
    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                  =20
\
                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );    =20
\
} while (false)

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 13:16:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 13:16:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507370.780769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXAw-0004J8-0u; Tue, 07 Mar 2023 13:16:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507370.780769; Tue, 07 Mar 2023 13:16:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXAv-0004J1-UL; Tue, 07 Mar 2023 13:16:17 +0000
Received: by outflank-mailman (input) for mailman id 507370;
 Tue, 07 Mar 2023 13:16: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZXAv-0004Iu-Bt
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 13:16:17 +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 3d2a1c43-bcea-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 14:16:15 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 ay29-20020a05600c1e1d00b003e9f4c2b623so10369248wmb.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 05:16:15 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 f5-20020a7bc8c5000000b003e896d953a8sm16951714wml.17.2023.03.07.05.16.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 05:16: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: 3d2a1c43-bcea-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678194975;
        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=NFum2acnD9qYIwVa4tN5V4rmj4o+XnW3TVVaSWehf/Q=;
        b=SZwu487hPaxa1Ml6JrIRmk1SY/X8d1XEVA1jvsk+qGJqyzpAGGs9uOKiVrUZep6KgC
         9joBlBXOePTp4l1Ul9zRJ6OScp+nUDimFrAcgK1umvqbMRDW8iU/QdVo7vT11uqrxmgW
         FZKOgl0HA9zzzg7ldT8D+wDOwqhqj6idTeX8casyH7OhHPnypet9OLHo+cvzxHhXS2Al
         QeUHwUq7uYT1aChO4csj3cWZsYbeVmILH8HI0OmGqxBgndZvD7yfBqWZrMzr4LHicCak
         3qOnEMyM1QlEnqhbuI8jS1I6v2elutXpeNlz1BIOVOBPUH+0meavW0W+Bb7Cx6EyzA4G
         70qA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678194975;
        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=NFum2acnD9qYIwVa4tN5V4rmj4o+XnW3TVVaSWehf/Q=;
        b=n6+c7aaDGvNRKUfxn7/Mxs8H7/UDqIJSObkuTBgjtt6gzdEWWtXOzSKwfco4ax3BcN
         wEEAa7rrZs08S69jQrAlC+0Ns8WiqZ8UMq02N059SxxnZgmgxMbC+731NKu+EPI6d+/h
         8lVPYk+ClFYczcTJuz9Zvg6AuiNTtc/9zK7v6lBpxpuub515CRHBR7Uv5ss3UuZAS4Mh
         G+z95QKLgVZw3n6UTbETkND7wiV4Th2QGv2a0Uu4Pp5ND1elnC3obXQIj86KrFIQmwgu
         G/zXF5Nhhy+Hh7vWkZge+YmnA28Tl1NcrCzGaEf4bX5oktdrsoKRIRGGCu9dXyi8n1H5
         1Vig==
X-Gm-Message-State: AO0yUKXOzzdOgb6t4Gc/FI5AqyYSU0wrpkrFNxR88ijFZzF4Ys0z9sXF
	bGmJdPOL7R7W5xl96Jl5pzBucfxovC2fjw==
X-Google-Smtp-Source: AK7set/3FVQWrAPQv/TXVvlTUtHXEfMHwVBFmnk+0VpesCeDk1kQ6VPtR483XrvlOZgc5jZ/Tz2uWA==
X-Received: by 2002:a05:600c:1c05:b0:3eb:2e32:72c3 with SMTP id j5-20020a05600c1c0500b003eb2e3272c3mr13181892wms.22.1678194974851;
        Tue, 07 Mar 2023 05:16:14 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <58ab28a8-ac77-889f-fb5a-aec140811889@xen.org>
Date: Tue, 7 Mar 2023 13:16:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 04/25] hw/xen: Implement XenStore transactions
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-5-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-5-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Given that the whole thing supported copy on write from the beginning,
> transactions end up being fairly simple. On starting a transaction, just
> take a ref of the existing root; swap it back in on a successful commit.
> 
> The main tree has a transaction ID too, and we keep a record of the last
> transaction ID given out. if the main tree is ever modified when it isn't
> the latest, it gets a new transaction ID.
> 
> A commit can only succeed if the main tree hasn't moved on since it was
> forked. Strictly speaking, the XenStore protocol allows a transaction to
> succeed as long as nothing *it* read or wrote has changed in the interim,
> but no implementations do that; *any* change is sufficient to abort a
> transaction.
> 
> This does not yet fire watches on the changed nodes on a commit. That bit
> is more fun and will come in a follow-on commit.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/kvm/xenstore_impl.c | 150 ++++++++++++++++++++++++++++++++++--
>   tests/unit/test-xs-node.c   | 118 ++++++++++++++++++++++++++++
>   2 files changed, 262 insertions(+), 6 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 13:16:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 13:16:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507371.780779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXAz-0004ZU-7q; Tue, 07 Mar 2023 13:16:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507371.780779; Tue, 07 Mar 2023 13:16: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 1pZXAz-0004ZN-4t; Tue, 07 Mar 2023 13:16:21 +0000
Received: by outflank-mailman (input) for mailman id 507371;
 Tue, 07 Mar 2023 13:16: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=4ndv=67=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZXAy-0004Yd-Cs
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 13:16:20 +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 3f29b254-bcea-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 14:16:19 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB8019.eurprd04.prod.outlook.com (2603:10a6:20b:24b::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 13:16:16 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
 13:16: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: 3f29b254-bcea-11ed-96b5-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kgbOcfcjqr47eOSCJDR5ZqtHR8YHSwiokWu1qzS8oXDz+VZyg9qFUGVCJM//zVph1cOdV/ihFPU/SEaadoR9Oxe/mCKxVhlBTO+FOQpk1YpmdEvVz2AUiXuDtm5Yh5+EiesXl6py/jBinXr1RvpTMszsZ3IPKkzjPp3YY6XqUTdgXJXd4A9kseps6aU7GT4n5OCLM8IjcUNcsQe0j58chNbdE41M5djOiW7mQZrpozbOhuZQLenaw5GoPZah2otWD2qJeSHYnzameJUPJ8ZN2A1n3nJBujzPzSE1X3pMxaL3IQypR9Oo6fGrUi+39bsjiY0wVtL+9Av97z11qRVXQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lnkl8qHeuIo2xSv5AcVadwAmFMvyNJ3U2Oj/yZGo8XE=;
 b=TwWPhbrg/I5yYFEBFs1gtL3zoVzoaBNbyHPfoR4fo6SCXrCIIA929vM6IEmlBqtSpGazm30sqSUNZ5q77SE0iiPYMcR8V8LLqVisMN4GzPn+tIf8kCrUwe7dENdKyaAsRCteeblU2xRllaVW01JCnn5vuJqaHV8dwKzd8iJ+he2lRouSOS5Kh6w7HG+aIKmhjbN2/p80fkD57cFk6A8IXnEP1O/bto1coT5JQ92l4O2RtCAu/G11cKQdOGNl4YWa37NklacFjKGqGSn0LqJUWu/y28eBScPEam2l5urSxo1OIfGYMd0auJYrEjn48xM1GT20HarDeUIDCI4PBWDfMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lnkl8qHeuIo2xSv5AcVadwAmFMvyNJ3U2Oj/yZGo8XE=;
 b=R70NJQhvxug8J4lhRexu2sFrOYolx2elqwOiNanPoADiiuI4IfrlGf4tJUDOD1u5w8pO6ngnqCgjajkhGwWu+47s+ROe6OOlb5ebmZuyOCxYZ7w2wv7C1H7Zg/LJO53mxj6oqGSQjXjsKrW65c4AB7zK4/0/8apFQbazF9w6PrUT0gH7ChaWZ3cr2grEvbgZ2IQELGJbo4DlY/ndPfCMoUux/0LbSpR7cXpceFeFEjr8CNLH/a3h0G6mTOLY52545fDwtIzQF629uoiVCKG6iX4dwDxDPDHONnIq2efj1pFlX4d8p2GdO4a+e6thXVXiHoOX9rlAb9NC9vs0Rq4Jyw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7be952d9-efea-23ec-0c5f-cfce03bee6a0@suse.com>
Date: Tue, 7 Mar 2023 14:16:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 1/4] xen: introduce CONFIG_GENERIC_BUG_FRAME
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
 <5cd3dd5233cf41ad54ce1cd98b706085b95bfcee.1677839409.git.oleksii.kurochko@gmail.com>
 <91343570-3532-521f-9bfe-3a68902426d0@suse.com>
 <17d7dc28a767ec9012d4a7ac3d337c4b9c34d98e.camel@gmail.com>
 <46e7e298e52afcee46bb7fd52ddd181227356c98.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <46e7e298e52afcee46bb7fd52ddd181227356c98.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0144.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB8019:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e5b699e-d032-40f0-a76a-08db1f0e2215
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PwRvniyyjgZrYI9gDo6kOhgXafKZLkePhTD4QN81lGlmd/fxx7b0DS5S+4DKGo13XtGlbJw3+0rXpUerRpYFxng9mSWi4FXXvO8gZayGRFAuaZsKOSTjVbPwa9pe8+J5V29Ndvyyqv/n+RoOEVFzB1/pHcsVjVAY1P19qlHQtIM1x20YrZl4lNtQL1PW3Y2CCAp76YgGK6J0UnmrW26utCvHeG/o+QkjiMAtjL3WS1/xHvREMYglXokXRQG3ry5D2y2M9ELz/Cgk9PwMHojbwpeKZ/iv1j3avJ2E9OS5sgPoezedhen4UwKLU4riqtJvVq+K9A2lkxZIAbuqkfOwge93SOpsV2ZyuTJv3laomemhEi3oU7UNWpKEUlqfduXrOhM7WDQ+bvGM71yKDfuEbLMq24vk4kWEhAeFH41xahKvJne1n/PlpuvbTMVuCGe7iccXkWdZ9br52f1UQhe9nlv6CDWJFNfke821upwWxG6AuJt8wkcvNDxDI2Il4uM+178AnMZJah2F3ROR6ystdZ61GEoeNKS2no8UrVggegI4SQMhWZoZnANUUIB0Lx9xevjZkGw6H2oNeX0S2wLDPTkZl/BrIgWyKup3D90goqGwPhY00v52CopcrKSLOdc2EalqwofnO9kVVBDRGDeJSFfNUP9cBNzKq6yswCu+HpcE81ty32FovB5XyBp1kfSHF5aHOqenxGg+Lj1pCjiiEcu4CjJeLVncVbv1aJGS5mcXffWFc7o88n3qqud+/2sp
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(376002)(136003)(346002)(396003)(366004)(451199018)(31686004)(2906002)(5660300002)(8936002)(41300700001)(4326008)(66946007)(66476007)(6916009)(83380400001)(66556008)(8676002)(54906003)(316002)(478600001)(6486002)(53546011)(6506007)(6512007)(31696002)(86362001)(186003)(2616005)(38100700002)(36756003)(26005)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dHNuMDkvM1NzQ0RPQ2sxZHpmNUZiaThuRzg4UXBFbmhiK2d4T2hnUzBoR0Mx?=
 =?utf-8?B?OC9IMTJveXdVRm1JOEw3K2xYcDBOMnRROXVvT01SZGVCSGpyN201ZG9BWkhx?=
 =?utf-8?B?RG13Wlg2MlpWN0FsV29WejlqemhzUnMwR1o1czlxVU4vcjAzY2NobUZwanla?=
 =?utf-8?B?OU5IclhoTGYvVWN3RzBlTThCVUpoZCs5QWF1d1pTVWt6YVBsVHlTUHlvZkxH?=
 =?utf-8?B?S1dEVUVLMTBLSGhRVWhuSkpibEFrQkgwbVdkZUFJWlYrRlBLNHlTVk0wOWM2?=
 =?utf-8?B?Q2pOZUVwY2pLR0NQR0dNN0dSUlQrV2RGWWh1Z0VPWFJCcE91Ti9XdVlrMzJF?=
 =?utf-8?B?ZGhhdTVjR0E2Q3hiWFRpT2JTcmxIMFFJOEs1RElibGdocEt6WjdybVBld0FS?=
 =?utf-8?B?ZFZPUERRcGlWVjVRZnBHM0lXcjA2TnBUSXFjd2kzUGJDVzR5WE9zbkNEZFJK?=
 =?utf-8?B?KzlPMVRPZkRYRjJ2UDVndkNxNEpwSmpjTEJXMS9CZDl5TnVhWG9CT2s1UThw?=
 =?utf-8?B?NmsyUExYKzJTUFpEeEN0ZCtLME1XbGFBRkJiZjUvOUpham1rbjZFeEVGV1dI?=
 =?utf-8?B?aXE3NFM4Y1ZZMCtOaXIvMXZiT2Z5T1ZPS1VFdHUrc1I0WkgweG5SZURja1Bk?=
 =?utf-8?B?ZXgxMmNuN2UzUGxxVkdJZ3N3eUpDQmZCTXp2WndxYmZsMytHSFJXZnFaYlhh?=
 =?utf-8?B?ZXcvRFdtSVJObm5UNDlhTE56U2FvTXYxRGIvQzVWcmd5RmJiVUdzcHB6V0cw?=
 =?utf-8?B?RHpLNGVOem5pVzdDeFFxZ0FLMUsycm9ySEdLUHNOOXFGTXRQemVPZFJRbUVT?=
 =?utf-8?B?UFB5OHhTMkt2Wmx0QUlWdGIvdFZIWDR6QVVySkJ4TTJScVVlb3NsY0RiVFl2?=
 =?utf-8?B?Vi9kREoxbUhNSlRBNGJuUlhxNUxST1Q0U2FJbHVocWoyVG03MUk4YmRrZlc1?=
 =?utf-8?B?a1BuRTRQdUIzS1dVdE9zNzRjb3ZIVnFkTnhzRnBlZ1Z2WDY4eGhxeW9EZ0VD?=
 =?utf-8?B?ckNjSkc4SmtYNkdEWS9iOHdkZmZDY2w1K3dIWG1CSzRqMXNWZTFyN3FKVFZl?=
 =?utf-8?B?bklBakVSZnlvSjUzQU1GRnY5dEFrZWdCUC9YTm9RdHZMMUV2bnQxZ2t5TTNj?=
 =?utf-8?B?MkdscUl4TE54K2pyRnV0bEhpSEVVaXJkaXIxa1Z1L1c4bGpGb296ZGZ3UWEw?=
 =?utf-8?B?V2lGZEdOWWJzREY2Z1hKWXc1d1lPbnFwOEVVbG9DcnFWT1Q1UzJPSG9KZ0du?=
 =?utf-8?B?VXc5YndkZWRtQjJ6eUZ1ZGlCczlFRzFseU1aenRBZ1l5bnBFR2dRUFZpN3dP?=
 =?utf-8?B?L0g1LzlXL09ZdHkrVkhUT1g3TkZXSWNsUDVxZXpYMEZmSWNVTjdGd2xtZmVm?=
 =?utf-8?B?V1Y4MW0yQVlCSWpQeGdBRnMwMWFabmxBUE5GZDNyUDJwQzFKaC80aElZOERC?=
 =?utf-8?B?Qm5wRmgveTJ3bWVWN2VlcDRwd2V1cmtma2dGWnJNOXJnZ3ZFVlRRbFAzUlZt?=
 =?utf-8?B?NHhBTEdhdlE3bUFHUWRqcWtwUzg2U0FnT2w4OFlRdU13VWk0OUZxbGhWaFJM?=
 =?utf-8?B?MG41bXpQODc2c216elY3M0xwT0M1Rk9uY3NRd1NkSDM2bkFGaTJDZG9tbWdx?=
 =?utf-8?B?Wlh4ckRWSTNMaXhLMUlyRFJvR29mSWVzUXU2YTVXdVptZnhNWUgyaHlqaksx?=
 =?utf-8?B?cG91OFpMeWJTVC9nbEdhYzFQZTVpNnBiWWk4REkrakY0amxyRFFVNEJaSXlJ?=
 =?utf-8?B?WGFUdk92bUVxTW1NWEZXZUZyNG5ZL05Wc3V5NDlycTgyem5rWitHL3VxYkNS?=
 =?utf-8?B?STArdGlHMlFNWGhVWFVzYXBISVY2QjlZbjUrVXVpUzJPQ1NjRmRtVXpxQm43?=
 =?utf-8?B?cTBwS1J5MEpVNFRycVc2V0Qwb1B3VHR2U09KTk9EejZxQmNNUDZBbGpVVjVL?=
 =?utf-8?B?TUpGZUY4V0lCb3BMelg0ektKbW9RL05BTHdnTXdlNTdXWXltM3F2Nmd3dm14?=
 =?utf-8?B?emdCczB1VlNzOFpSM2dZbXF1UGNxSXBnWHJkR1NmUTkvd2I2RXZ3RnJkRzVo?=
 =?utf-8?B?ZHVlalExMTZEWXRiZVgwenZkVUo1dDFKcmJoeVRFRGpqNDlIdGlNeDk0eWEv?=
 =?utf-8?Q?V4jJUUTU0oK/MyUPZqD6nZLkP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e5b699e-d032-40f0-a76a-08db1f0e2215
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 13:16:16.6154
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7v4L4hRkRqrVbuVPoCYBw9fV7P90aalYOyfx6o4HfrPkIvlOLL1T8TESUIkZUYID6eD1px2AghQn/lx8td1UbA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8019

On 07.03.2023 14:13, Oleksii wrote:
>>>>>> +
>>>>>> +#define BUG_FRAME(type, line, ptr, second_frame, msg) do
>>>>>> {                   \
>>>>>> +    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH +
>>>>>> BUG_LINE_HI_WIDTH));         \
>>>>>> +    BUILD_BUG_ON((type) >=
>>>>>> BUGFRAME_NR);                                     \
>>>>>> +    asm volatile (
>>>>>> _ASM_BUGFRAME_TEXT(second_frame)                          \
>>>>>> +                   :: _ASM_BUGFRAME_INFO(type, line, ptr,
>>>>>> msg)
>>>>>> );            \
>>>>>> +} while (0)
>>>>
>>>> Isn't this tied to BUG_FRAME_STRUCT being defined (or not)? At
>>>> least
>>>> the 1st BUILD_BUG_ON() looks problematic if an arch wasn't to use
>>>> the generic struct: With how you have things right now
>>>> BUG_LINE_{LO,HI}_WIDTH may not be defined, and the check would
>>>> also
>>>> be at risk of causing false positives. Perhaps it's appropriate
>>>> to
>>>> have a separate #ifdef (incl the distinct identifier used), but
>>>> that
>>>> first BUILD_BUG_ON() needs abstracting out.
>> Missed that. Thanks.
>> I'll introduce that a separate #ifdef before BUG_FRAME:
>>
>> #ifndef BUILD_BUG_ON_LINE_WIDTH
>> #define BUILD_BUG_ON_LINE_WIDTH \
>>         BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH +
>> BUG_LINE_HI_WIDTH))
>> #endif
> I think even better will be to do in the following way:
> 
> #ifndef LINE_WIDTH
> #define LINE_WIDTH (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH)
> #endif
> 
> #define BUG_FRAME(type, line, ptr, second_frame, msg) do {            
> \
>     BUILD_BUG_ON((line) >> LINE_WIDTH);                               
> \
>     BUILD_BUG_ON((type) >= BUGFRAME_NR);                              
> \
>     asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                   
> \
>                    :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );     
> \
> } while (false)

Not sure - that'll still require arches to define LINE_WIDTH. What
if they store the line number in a 32-bit field? Then defining
LINE_WIDTH to 32 would yield undefined behavior here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 13:32:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 13:32:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507380.780789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXQD-0007Qz-Lj; Tue, 07 Mar 2023 13:32:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507380.780789; Tue, 07 Mar 2023 13: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 1pZXQD-0007Qs-Gp; Tue, 07 Mar 2023 13:32:05 +0000
Received: by outflank-mailman (input) for mailman id 507380;
 Tue, 07 Mar 2023 13:32: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=zeiT=67=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZXQC-0007Qm-44
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 13:32:04 +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 714af29a-bcec-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 14:32:02 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id p26so7755619wmc.4
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 05:32:01 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 g9-20020a05600c308900b003dfe5190376sm12858099wmn.35.2023.03.07.05.32.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Mar 2023 05:32: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: 714af29a-bcec-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678195921;
        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=TsSHmCWbay6Nebh30sKWsmQisQs5TxAvCURqm6DNZX8=;
        b=i4iqhrVOLTdzE4bve5mMBhHN4Z1HM0RYavpBMnStzEdea6BbYvZP8KCj4kWZzWuNno
         KU7jYH0LXvwHx3DcFk4gN9t1H9qiWwti5MwfAfmi4QqvqC0dKAyG3segSXRuegDV/i6A
         paB3yPhVTAuNQXaf2lgxjfW/yBXKZ1m5L8jiRvACJWngG010Y81e7UxQa+/p5RCwPMaB
         JmopZaZeUsm72Awe2+W7ok3a6+L004vQ2a7H4bAUo83aefuQIUhUMq6r5jhyR8VbtjaD
         fmJJtId7bUcKQwrm6ERulaxcaoxegmepXQnLSMtTcblHzF68wCwmJNYs0hxLbUJa+Zsi
         r9Fw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678195921;
        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=TsSHmCWbay6Nebh30sKWsmQisQs5TxAvCURqm6DNZX8=;
        b=uV0GqZBpI40kZyDaB4xeTSuX9SDEZQ8IvGMTkoBkvEyIezfjTWd6sG/uJ9KK3fMf/f
         YzBYbf9GQA2ie8hOKCGJT2jncYsYvSPqAG2l5cpab2uC2rpJTrqlm1iVqdZWztLFHNfT
         TwDi4iCwGr7obQy0Dsd0keSiq9UH1BKE0qUl2Us7ruDeSSZrcDPTBDo2s7CChBTfCSqu
         PXpBRl57Or+gfqLlap+6YYfa5SLd00As4MctjLjepKdqvFA8Go6bfVaJX9D+KVgHeD6M
         1XIjvBiZD4GIUDjxfUMTSfshD8zu1b6eXLc38bj+HoRUafMlmAVNlDG1Wsgj0vH20D1e
         NTCw==
X-Gm-Message-State: AO0yUKXneyiv5Seu9PWS/5LtPoAhFAJDJkG7Olp/YwSl46nol7hfGDrn
	asgEzhpoy0/k8gq1dresQp0=
X-Google-Smtp-Source: AK7set/oDq8oX621h7mUBzsWYcIxAcmfWLOj1R39cIleun2OcWVDl21LAlMZeasNjVv/pTubLYqiDQ==
X-Received: by 2002:a05:600c:1d22:b0:3eb:2708:86ce with SMTP id l34-20020a05600c1d2200b003eb270886cemr13154221wms.31.1678195921374;
        Tue, 07 Mar 2023 05:32:01 -0800 (PST)
Message-ID: <3d6d2a4f89744e8b6814e668244fe8058df04d64.camel@gmail.com>
Subject: Re: [PATCH v5 1/4] xen: introduce CONFIG_GENERIC_BUG_FRAME
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 15:31:59 +0200
In-Reply-To: <7be952d9-efea-23ec-0c5f-cfce03bee6a0@suse.com>
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
	 <5cd3dd5233cf41ad54ce1cd98b706085b95bfcee.1677839409.git.oleksii.kurochko@gmail.com>
	 <91343570-3532-521f-9bfe-3a68902426d0@suse.com>
	 <17d7dc28a767ec9012d4a7ac3d337c4b9c34d98e.camel@gmail.com>
	 <46e7e298e52afcee46bb7fd52ddd181227356c98.camel@gmail.com>
	 <7be952d9-efea-23ec-0c5f-cfce03bee6a0@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

T24gVHVlLCAyMDIzLTAzLTA3IGF0IDE0OjE2ICswMTAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAwNy4wMy4yMDIzIDE0OjEzLCBPbGVrc2lpIHdyb3RlOgo+ID4gPiA+ID4gPiA+ICsKPiA+ID4g
PiA+ID4gPiArI2RlZmluZSBCVUdfRlJBTUUodHlwZSwgbGluZSwgcHRyLCBzZWNvbmRfZnJhbWUs
IG1zZykgZG8KPiA+ID4gPiA+ID4gPiB7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIFwKPiA+ID4gPiA+ID4gPiArwqDCoMKgIEJVSUxEX0JVR19PTigobGluZSkgPj4gKEJVR19M
SU5FX0xPX1dJRFRIICsKPiA+ID4gPiA+ID4gPiBCVUdfTElORV9ISV9XSURUSCkpO8KgwqDCoMKg
wqDCoMKgwqAgXAo+ID4gPiA+ID4gPiA+ICvCoMKgwqAgQlVJTERfQlVHX09OKCh0eXBlKSA+PQo+
ID4gPiA+ID4gPiA+IEJVR0ZSQU1FX05SKTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ID4gPiA+
ICvCoMKgwqAgYXNtIHZvbGF0aWxlICgKPiA+ID4gPiA+ID4gPiBfQVNNX0JVR0ZSQU1FX1RFWFQo
c2Vjb25kX2ZyYW1lKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgCj4gPiA+ID4gPiA+ID4gXAo+ID4gPiA+ID4gPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgOjogX0FTTV9CVUdGUkFNRV9JTkZPKHR5cGUsIGxpbmUsCj4gPiA+
ID4gPiA+ID4gcHRyLAo+ID4gPiA+ID4gPiA+IG1zZykKPiA+ID4gPiA+ID4gPiApO8KgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgXAo+ID4gPiA+ID4gPiA+ICt9IHdoaWxlICgwKQo+ID4gPiA+ID4gCj4g
PiA+ID4gPiBJc24ndCB0aGlzIHRpZWQgdG8gQlVHX0ZSQU1FX1NUUlVDVCBiZWluZyBkZWZpbmVk
IChvciBub3QpPwo+ID4gPiA+ID4gQXQKPiA+ID4gPiA+IGxlYXN0Cj4gPiA+ID4gPiB0aGUgMXN0
IEJVSUxEX0JVR19PTigpIGxvb2tzIHByb2JsZW1hdGljIGlmIGFuIGFyY2ggd2Fzbid0IHRvCj4g
PiA+ID4gPiB1c2UKPiA+ID4gPiA+IHRoZSBnZW5lcmljIHN0cnVjdDogV2l0aCBob3cgeW91IGhh
dmUgdGhpbmdzIHJpZ2h0IG5vdwo+ID4gPiA+ID4gQlVHX0xJTkVfe0xPLEhJfV9XSURUSCBtYXkg
bm90IGJlIGRlZmluZWQsIGFuZCB0aGUgY2hlY2sKPiA+ID4gPiA+IHdvdWxkCj4gPiA+ID4gPiBh
bHNvCj4gPiA+ID4gPiBiZSBhdCByaXNrIG9mIGNhdXNpbmcgZmFsc2UgcG9zaXRpdmVzLiBQZXJo
YXBzIGl0J3MKPiA+ID4gPiA+IGFwcHJvcHJpYXRlCj4gPiA+ID4gPiB0bwo+ID4gPiA+ID4gaGF2
ZSBhIHNlcGFyYXRlICNpZmRlZiAoaW5jbCB0aGUgZGlzdGluY3QgaWRlbnRpZmllciB1c2VkKSwK
PiA+ID4gPiA+IGJ1dAo+ID4gPiA+ID4gdGhhdAo+ID4gPiA+ID4gZmlyc3QgQlVJTERfQlVHX09O
KCkgbmVlZHMgYWJzdHJhY3Rpbmcgb3V0Lgo+ID4gPiBNaXNzZWQgdGhhdC4gVGhhbmtzLgo+ID4g
PiBJJ2xsIGludHJvZHVjZSB0aGF0IGEgc2VwYXJhdGUgI2lmZGVmIGJlZm9yZSBCVUdfRlJBTUU6
Cj4gPiA+IAo+ID4gPiAjaWZuZGVmIEJVSUxEX0JVR19PTl9MSU5FX1dJRFRICj4gPiA+ICNkZWZp
bmUgQlVJTERfQlVHX09OX0xJTkVfV0lEVEggXAo+ID4gPiDCoMKgwqDCoMKgwqDCoCBCVUlMRF9C
VUdfT04oKGxpbmUpID4+IChCVUdfTElORV9MT19XSURUSCArCj4gPiA+IEJVR19MSU5FX0hJX1dJ
RFRIKSkKPiA+ID4gI2VuZGlmCj4gPiBJIHRoaW5rIGV2ZW4gYmV0dGVyIHdpbGwgYmUgdG8gZG8g
aW4gdGhlIGZvbGxvd2luZyB3YXk6Cj4gPiAKPiA+ICNpZm5kZWYgTElORV9XSURUSAo+ID4gI2Rl
ZmluZSBMSU5FX1dJRFRIIChCVUdfTElORV9MT19XSURUSCArIEJVR19MSU5FX0hJX1dJRFRIKQo+
ID4gI2VuZGlmCj4gPiAKPiA+ICNkZWZpbmUgQlVHX0ZSQU1FKHR5cGUsIGxpbmUsIHB0ciwgc2Vj
b25kX2ZyYW1lLCBtc2cpIGRvCj4gPiB7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAKPiA+IFwKPiA+
IMKgwqDCoCBCVUlMRF9CVUdfT04oKGxpbmUpID4+Cj4gPiBMSU5FX1dJRFRIKTvCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgCj4gPiBc
Cj4gPiDCoMKgwqAgQlVJTERfQlVHX09OKCh0eXBlKSA+PQo+ID4gQlVHRlJBTUVfTlIpO8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgCj4g
PiBcCj4gPiDCoMKgwqAgYXNtIHZvbGF0aWxlICgKPiA+IF9BU01fQlVHRlJBTUVfVEVYVChzZWNv
bmRfZnJhbWUpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIAo+ID4gXAo+ID4g
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDo6IF9BU01fQlVHRlJBTUVfSU5G
Tyh0eXBlLCBsaW5lLCBwdHIsIG1zZykKPiA+ICk7wqDCoMKgwqAgCj4gPiBcCj4gPiB9IHdoaWxl
IChmYWxzZSkKPiAKPiBOb3Qgc3VyZSAtIHRoYXQnbGwgc3RpbGwgcmVxdWlyZSBhcmNoZXMgdG8g
ZGVmaW5lIExJTkVfV0lEVEguIFdoYXQKPiBpZiB0aGV5IHN0b3JlIHRoZSBsaW5lIG51bWJlciBp
biBhIDMyLWJpdCBmaWVsZD8gVGhlbiBkZWZpbmluZwo+IExJTkVfV0lEVEggdG8gMzIgd291bGQg
eWllbGQgdW5kZWZpbmVkIGJlaGF2aW9yIGhlcmUuCj4gCkl0IG1pZ2h0IGJlIGFuIGlzc3VlLgoK
VGhhbiBpdCB3aWxsIGJlIGJldHRlciB0byBoYXZlIGZ1bmN0aW9uLWxpa2UgbWFjcm9zIG1lbnRp
b25lZCBpbgpwcmV2aW91cyBlLW1haWwuCgpUaGFua3MKCn4gT2xla3NpaQo=



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 13:32:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 13:32:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507385.780798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXQy-0007zt-1d; Tue, 07 Mar 2023 13:32:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507385.780798; Tue, 07 Mar 2023 13: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 1pZXQx-0007zm-VI; Tue, 07 Mar 2023 13:32:51 +0000
Received: by outflank-mailman (input) for mailman id 507385;
 Tue, 07 Mar 2023 13:32: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZXQx-0007Qm-DU
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 13:32: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 8e7c7181-bcec-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 14:32:50 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id p16so7754574wmq.5
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 05:32:50 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 r39-20020a05600c322700b003eafc47eb09sm12525574wmp.43.2023.03.07.05.32.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 05:32: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: 8e7c7181-bcec-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678195970;
        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=kDsyvzDA2+Psrh9BpIfxaF+LujFd3oi/i0xLE80Ui3c=;
        b=nCMky25iTURI9/TaPxOOya0n8CwUqv0yj6qGrMSx6lMjSlnDlwRUrYXtgHwfnq/gse
         eYkVl7NqBmisW5VRBiDY1Bpbl/egKRSoddKECq0nRvtyoIQLxpc908BsZSmVol5R/tko
         IKzXdCM9aWfBr6LiXszRINHazD/jb7WCg4nXrwnXVnDAZaNN1E+RlHjGZcPUkdJQenKv
         Cp6q3UeOcNftTLHaWxdwlERwLrW3bCksyEZP0vYM2281kbPQ4yTDnfP5oX11YZUTE9qk
         9UTZpQGrweRo4nkdV2gkhAhQle/bkw2oykklgJA24exZiN1tr/OjGaFxatGT3dxNplEP
         zCRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678195970;
        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=kDsyvzDA2+Psrh9BpIfxaF+LujFd3oi/i0xLE80Ui3c=;
        b=JTdnp2rLnFezFk/5U5JysFwfJk/Dp/Rhgnd+9FRO9akvysfBpKDXK5LJFs9JuIu3+v
         Mn80CfyADFr4mlIFj7Yn2vGhoAcJAoEqKsScWTISotUKPE6J93vUBZb5tyZfOgaMCbWk
         5N95KIX8cGM6oKy/k4IKxD/UmAzDDCNEUhBr2RfggVSTpVFVH3WUxrdrXRqkYvdsnDy3
         6s3rAJqUK+GrWuSCEwXTb22UAs9RbSOJc/RIO0ogH56F7dr6lJ0pGUsnssKe4vNOtX2L
         59NJvC7BDwL08dY+u+ZjwzDUK9sRkGRNq2695bZNgPIfNG4x1gSEhUomt0HCt4BFRWkc
         epsg==
X-Gm-Message-State: AO0yUKVGEI0hRsuexBHOMTF/HvqxdbOaNoOBrTkybHfQ6lER5OMJFv4m
	MhXGFSh9h38Q46Ap1UCVItc=
X-Google-Smtp-Source: AK7set8Z0OvvHtBbdRob0NHfPmqKbu8pXQDMIHHkSrhsvZr6Y+/aoR8LjxYbUVWyGzMM5Yz9b0WSvg==
X-Received: by 2002:a05:600c:1e14:b0:3ea:edd7:1f1f with SMTP id ay20-20020a05600c1e1400b003eaedd71f1fmr12651873wmb.40.1678195970271;
        Tue, 07 Mar 2023 05:32:50 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <f133ca78-8b1e-149c-d907-7a843c8f322d@xen.org>
Date: Tue, 7 Mar 2023 13:32:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 05/25] hw/xen: Watches on XenStore transactions
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-6-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-6-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Firing watches on the nodes that still exist is relatively easy; just
> walk the tree and look at the nodes with refcount of one.
> 
> Firing watches on *deleted* nodes is more fun. We add 'modified_in_tx'
> and 'deleted_in_tx' flags to each node. Nodes with those flags cannot
> be shared, as they will always be unique to the transaction in which
> they were created.
>
> When xs_node_walk would need to *create* a node as scaffolding and it
> encounters a deleted_in_tx node, it can resurrect it simply by clearing
> its deleted_in_tx flag. If that node originally had any *data*, they're
> gone, and the modified_in_tx flag will have been set when it was first
> deleted.
> 
> We then attempt to send appropriate watches when the transaction is
> committed, properly delete the deleted_in_tx nodes, and remove the
> modified_in_tx flag from the others.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/kvm/xenstore_impl.c | 151 ++++++++++++++++++++++-
>   tests/unit/test-xs-node.c   | 231 +++++++++++++++++++++++++++++++++++-
>   2 files changed, 380 insertions(+), 2 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>

... with a couple of nits in comments called out below...

[snip]
> +static gboolean tx_commit_walk(gpointer key, gpointer value,
> +                               gpointer user_data)
> +{
> +    struct walk_op *op = user_data;
> +    int path_len = strlen(op->path);
> +    int key_len = strlen(key);
> +    bool fire_parents = true;
> +    XsWatch *watch;
> +    XsNode *n = value;
> +
> +    if (n->ref != 1) {
> +        return false;
> +    }
> +
> +    if (n->deleted_in_tx) {
> +        /*
> +         * We first watches on our parents if we are the *first* node

We first *fire* watches on our parents...

> +         * to be deleted (the topmost one). This matches the behaviour
> +         * when deleting in the live tree.
> +         */
> +        fire_parents = !op->deleted_in_tx;
> +
> +        /* Only used on the way down so no need to clear it later */
> +        op->deleted_in_tx = true;
> +    }
> +
> +    assert(key_len + path_len + 2 <= sizeof(op->path));
> +    op->path[path_len] = '/';
> +    memcpy(op->path + path_len + 1, key, key_len + 1);
> +
> +    watch = g_hash_table_lookup(op->s->watches, op->path);
> +    if (watch) {
> +        op->watches = g_list_append(op->watches, watch);
> +    }
> +
> +    if (n->children) {
> +        g_hash_table_foreach_remove(n->children, tx_commit_walk, op);
> +    }
> +
> +    if (watch) {
> +        op->watches = g_list_remove(op->watches, watch);
> +    }
> +
> +    /*
> +     * Don't fire watches if this node was only copied because a
> +     * descendent was changed. The modifieD_in_tx flag indicates the

s/modifieD/modified

> +     * ones which were really changed.
> +     */
> +    if (n->modified_in_tx || n->deleted_in_tx) {
> +        fire_watches(op, fire_parents);
> +        n->modified_in_tx = false;
> +    }
> +    op->path[path_len] = '\0';
> +
> +    /* Deleted nodes really do get expunged when we commit */
> +    return n->deleted_in_tx;
> +}



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 13:37:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 13:37:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507388.780808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXVp-0000L4-Kt; Tue, 07 Mar 2023 13:37:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507388.780808; Tue, 07 Mar 2023 13: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 1pZXVp-0000Kx-I2; Tue, 07 Mar 2023 13:37:53 +0000
Received: by outflank-mailman (input) for mailman id 507388;
 Tue, 07 Mar 2023 13:37: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZXVn-0000Kr-6n
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 13:37: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 3d253b0f-bced-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 14:37:47 +0100 (CET)
Received: from [2001:8b0:10b:5:c09:fa3d:b1cb:4d7e]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZXVb-006NkZ-S2; Tue, 07 Mar 2023 13:37:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d253b0f-bced-11ed-a550-8520e6686977
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=RJQ6zEJ3H1HWMcyWJLXYmeSMKl0OJXnus50pvRU1Wno=; b=vq9nM6TaTU6/uVg0n79Q+g/iME
	ML4/yvGc/SC5NNK1PkWu3BszBWYYAFfzgmpaDDeM6XgNHiYhhmgRUCBXcvfrR8G2k5mU2b5F0ER0b
	gAIAwdD9mj/QhL6MC2WDS8P5wmfZcUFd0kZ200kggcT1cGHcEiHs7XrK9y/ySw1AKqfvKbxHTwcNJ
	IlHw57OhWAJnVetS/PURA55TgWK41CMCWAKdtqJJMBeRVHg5cGJLDAyuGpN5AcHbQUATxf8vVdW+g
	W0uOKnfs/GSMCQ5W6zTAFYFDmXy9desuGp5+GVd74VbRDBIbPJFedWyeEDKr9puM0IqsEZ68zH/gU
	k8ZKMa3Q==;
Message-ID: <257253856a9aa4b2ebe2c4b7a2a59079383fea67.camel@infradead.org>
Subject: Re: [RFC PATCH v1 05/25] hw/xen: Watches on XenStore transactions
From: David Woodhouse <dwmw2@infradead.org>
To: paul@xen.org, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>, Joao Martins
 <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>,  xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 13:37:38 +0000
In-Reply-To: <f133ca78-8b1e-149c-d907-7a843c8f322d@xen.org>
References: <20230302153435.1170111-1-dwmw2@infradead.org>
	 <20230302153435.1170111-6-dwmw2@infradead.org>
	 <f133ca78-8b1e-149c-d907-7a843c8f322d@xen.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-e6+zgcZDXigzL3lqbvVa"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Tue, 2023-03-07 at 13:32 +0000, Paul Durrant wrote:
>=20
> Reviewed-by: Paul Durrant <paul@xen.org>
>=20
> ... with a couple of nits in comments called out below...

Thanks, I'm fixing these and pushing them out to my tree at
https://git.infradead.org/users/dwmw2/qemu.git/shortlog/refs/heads/xenfv
(and occasionally to Gitlab CI) as you go.

Still harbouring the fantasy that we might manage to make the soft
freeze deadline :)

--=-e6+zgcZDXigzL3lqbvVa
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MTMzNzM4WjAvBgkqhkiG9w0BCQQxIgQgaFMlcuwb
lErsC8Ce9ePg0LTVP1vkj9JNeXtUVeFIeMUwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgA9I4QE1OAwQjTyw+BUd8AP7zN91k0TdVNa
DFAqPxiAYYO8KhhNLvM1Dqc08a0fBbd7PRxQgNK8iNXMEsbK7sFPIcyXx17/CbCzaHmKO24SU9Yt
iquPEjhukbLpX6zPuEsDrvw56UUVHQRoooAyCV6T98dPHiBhRtDdeuJLKKOmKTZ5+W1G1HLr9pla
kSgq5ITMBBRairXz25PIzXZD+IDRKBlRUXf2XWogUWtzCblj183w+DYMxr00I6EiibmsiUtpgUKo
Fysq77OO43hV6mC4CrAU2I/p+di5u7P4KRIhize97LkeFL6L/K3nP9vbTEcD3+Js6L9lj3a0pKJW
6iLtlWDHoLGTmeoE5eNP/mmFGWXZfglQu9K4gwtYFQ2zDYWKUnya5GCWoVpc/9RoS6GlLdBl9M6k
4ojq38h00Juretyt/j1+XUc4gaQ0AaaroFBxoODjoWOZGwgJVis20yWEe8GPaI50FB6CmxRovt/n
xzmKLDswMN+OFQIYF3092UEiyGvLsvmSWOvoVb9P0jXPt3nYODs+iN4s/NeDwS1nXhRX3jgRxKVr
ecsvmmFWIq+NCsdytHofm8Eu6gqWzk2rbyy8ldgDY53y/k40hg6XGyMzozFXds4fS6OS5fsBK2iZ
pq7X6mAnUg/kZzD44nrBNNPdMO24k5ohLTusTcsIhwAAAAAAAA==


--=-e6+zgcZDXigzL3lqbvVa--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 13:37:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 13:37:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507389.780819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXVu-0000bU-U8; Tue, 07 Mar 2023 13:37:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507389.780819; Tue, 07 Mar 2023 13: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 1pZXVu-0000bN-Pz; Tue, 07 Mar 2023 13:37:58 +0000
Received: by outflank-mailman (input) for mailman id 507389;
 Tue, 07 Mar 2023 13:37: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=zeiT=67=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZXVt-0000ah-Pu
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 13:37:57 +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 44c77c53-bced-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 14:37:56 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 bg16-20020a05600c3c9000b003eb34e21bdfso10464696wmb.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 05:37:56 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 q10-20020a5d658a000000b002c70851fdd8sm12634521wru.75.2023.03.07.05.37.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Mar 2023 05:37: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: 44c77c53-bced-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678196276;
        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=LBozl/jteQCSq5ymfj39QkpcL0DAY6dgRc+xb2K6Bwg=;
        b=Yg60t1Evp4FStN1sNZDmHz5PWswI+4NLpSocr87TY08K30X+wzacqTv3zRHzg0ttTO
         bfN6Wz1jyBsfLumaLVwRNzC0In2wu3OjWv8ZKmU58FPuGXyuvAvQQ7Vz5IGWDLAEALkH
         CklcCM2TwClw28LdUa/wbxBtoI8Etc6pngn4GmUUmsZTV/j8maSqG8PEjdzovIYstS0i
         tNIaoCX7cVUG926iWdGEh5XesLBGMT5P12Ixxi6R9cBab8P306h0NVTbdkJFY9IwDIJc
         qpF5ct/0i/a59AuvSzHnj3U2zhaCpQTrASfg9zg7RIYQfRqwSWMwu3TdolqxFIzcPmtC
         LctA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678196276;
        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=LBozl/jteQCSq5ymfj39QkpcL0DAY6dgRc+xb2K6Bwg=;
        b=yjO/22Xc1UBm++53kP31WdpJ5dExcr7hhi7Z8JXUEwKC5u6qy9yTAloryPu2zW9Krq
         up1RjfWRR3dg+hfH+20iVs1VsPfBZqB7UmTOKBrUKhof5iCsrp1myrieymg9lZd9jVzK
         a4gb33pZLVKRwY/2nNX+cRarvJpJxXB0dPGvu4Z+/yzLzKUWryuxuQbh+pxstrcmaMUJ
         X9vyni9hozXEWlZNIMsEazMINgDkyQVP0fZZaCXfU1HpJPp3dRUqWSBVRsYh0zOuq2H8
         0WglpHTQ9YPTJz4mXfRVwhfACTMcrreh4ZE6wA3MVhjnpIxekfSD5vYvq7/FCmsT75Zf
         43Jw==
X-Gm-Message-State: AO0yUKUOCm7I/x3KxwpuzcRVUxnpqph9FmCqOHCWV8xOOFkdQLYz9eQ5
	+l77thUJynXXjJQrN14yqBU=
X-Google-Smtp-Source: AK7set/yF9UbXD+KUGbGlqIn3tY+z9kXngEMj2NFmDevMl7jInVdhapnVUBAUxd8A2yjWhvm++aN1w==
X-Received: by 2002:a05:600c:3b16:b0:3eb:5990:aea4 with SMTP id m22-20020a05600c3b1600b003eb5990aea4mr13137019wms.12.1678196276207;
        Tue, 07 Mar 2023 05:37:56 -0800 (PST)
Message-ID: <cfc8f4450928fb8696db13dc25bb9b9b4cd6c68d.camel@gmail.com>
Subject: Re: [PATCH v5 4/4] xen/x86: switch x86 to use generic implemetation
 of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 15:37:54 +0200
In-Reply-To: <9bb8c837-7aa4-ba75-99fc-5e4c079023b3@suse.com>
References: <cover.1677839409.git.oleksii.kurochko@gmail.com>
	 <4a478638449e66a76e1671db38ec29b9e3108201.1677839409.git.oleksii.kurochko@gmail.com>
	 <8a7920d9-9622-195c-2706-2b435c2c856e@suse.com>
	 <e91666a08b6cfc146123e18e634aacd979161b66.camel@gmail.com>
	 <9bb8c837-7aa4-ba75-99fc-5e4c079023b3@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Tue, 2023-03-07 at 13:59 +0100, Jan Beulich wrote:
> On 07.03.2023 13:52, Oleksii wrote:
> > On Mon, 2023-03-06 at 11:36 +0100, Jan Beulich wrote:
> > > On 03.03.2023 11:38, Oleksii Kurochko wrote:
> > > > --- a/xen/arch/x86/include/asm/bug.h
> > > > +++ b/xen/arch/x86/include/asm/bug.h
> > > > @@ -1,79 +1,12 @@
> > > > =C2=A0#ifndef __X86_BUG_H__
> > > > =C2=A0#define __X86_BUG_H__
> > > > =C2=A0
> > > > -#define BUG_DISP_WIDTH=C2=A0=C2=A0=C2=A0 24
> > > > -#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
> > > > -#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
> > > > +#define BUG_DEBUGGER_TRAP_FATAL(regs)
> > > > debugger_trap_fatal(X86_EXC_GP,regs)
> > >=20
> > > Along the lines of a comment on an earlier patch, please move
> > > this
> > > ...
> > >=20
> > > > =C2=A0#ifndef __ASSEMBLY__
> > >=20
> > > ... into the thus guarded section.
> > But it was defined there before the patch series and these definies
> > are
> > used in "#else /* !__ASSEMBLY__ */"
>=20
> Since you use plural, maybe a misunderstanding? My comment was solely
> on the line you add; the removed lines are there merely as context.
Really. I misunderstood you.
>=20
> > > > @@ -1166,12 +1167,9 @@ void cpuid_hypervisor_leaves(const
> > > > struct
> > > > vcpu *v, uint32_t leaf,
> > > > =C2=A0
> > > > =C2=A0void do_invalid_op(struct cpu_user_regs *regs)
> > > > =C2=A0{
> > > > -=C2=A0=C2=A0=C2=A0 const struct bug_frame *bug =3D NULL;
> > > > =C2=A0=C2=A0=C2=A0=C2=A0 u8 bug_insn[2];
> > > > -=C2=A0=C2=A0=C2=A0 const char *prefix =3D "", *filename, *predicat=
e, *eip =3D
> > > > (char
> > > > *)regs->rip;
> > > > -=C2=A0=C2=A0=C2=A0 unsigned long fixup;
> > > > -=C2=A0=C2=A0=C2=A0 int id =3D -1, lineno;
> > > > -=C2=A0=C2=A0=C2=A0 const struct virtual_region *region;
> > > > +=C2=A0=C2=A0=C2=A0 const char *eip =3D (char *)regs->rip;
> > >=20
> > > I realize "char" was used before, but now that this is all on its
> > > own,
> > > can this at least become "unsigned char", but yet better "void"?
> > If we change it to "void" shouldn't it require additional casts
> > here (
> > which is not nice ):
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 eip +=3D sizeof(bug_insn);
>=20
> Arithmetic on pointers to void is a GNU extension which we make
> heavy use of all over the hypervisor.
Got it. Than I'll rework it with 'void *'.
>=20
> > > > =C2=A0=C2=A0=C2=A0=C2=A0 switch ( id )
> > > > =C2=A0=C2=A0=C2=A0=C2=A0 {
> > > > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_run_fn:
> > > > =C2=A0=C2=A0=C2=A0=C2=A0 case BUGFRAME_warn:
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Xen WARN at %s%=
s:%d\n", prefix, filename,
> > > > lineno);
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(re=
gs);
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fixup_exception_re=
turn(regs, (unsigned long)eip);
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return;
> > > > -
> > > > -=C2=A0=C2=A0=C2=A0 case BUGFRAME_bug:
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Xen BUG at %s%s=
:%d\n", prefix, filename,
> > > > lineno);
> > > > -
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( debugger_trap_fata=
l(TRAP_invalid_op, regs) )
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 return;
> > >=20
> > > This and ...
> > >=20
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(re=
gs);
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 panic("Xen BUG at %s%s:=
%d\n", prefix, filename,
> > > > lineno);
> > > > -
> > > > -=C2=A0=C2=A0=C2=A0 case BUGFRAME_assert:
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* ASSERT: decode the p=
redicate string pointer. */
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 predicate =3D bug_msg(b=
ug);
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !is_kernel(predica=
te) && !is_patch(predicate) )
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 predicate =3D "<unknown>";
> > > > -
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Assertion '%s' =
failed at %s%s:%d\n",
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 predicate, prefix, filename, lineno);
> > > > -
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( debugger_trap_fata=
l(TRAP_invalid_op, regs) )
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 return;
> > >=20
> > > ... this return look to have no proper representation in the new
> > > logic; both cases fall through to ...
> > >=20
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(re=
gs);
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 panic("Assertion '%s' f=
ailed at %s%s:%d\n",
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 predicate, prefix, filename, lineno);
> > > > =C2=A0=C2=A0=C2=A0=C2=A0 }
> > > > =C2=A0
> > > > =C2=A0 die:
> > >=20
> > > ... here now, which is an unwanted functional change.
> > Oh, you are right. So then in case we have correct id it is needed
> > to
> > do only return:
> > =C2=A0=C2=A0=C2=A0 switch ( id )
> > =C2=A0=C2=A0=C2=A0 {
> > =C2=A0=C2=A0=C2=A0 case BUGFRAME_run_fn:
> > =C2=A0=C2=A0=C2=A0 case BUGFRAME_warn:
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fixup_exception_return(regs,=
 (unsigned long)eip);
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break;
> > =C2=A0=C2=A0=C2=A0 }
> >=20
> > =C2=A0=C2=A0=C2=A0 return;
>=20
> Except the "return" needs to remain inside the switch; unrecognized
> id
> values should still fall through to the "die" label.
Yeah, it is still possible to get unrecognized id.
Thanks.
>=20

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 13:40:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 13:40:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507397.780828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXYO-0002Oe-AE; Tue, 07 Mar 2023 13:40:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507397.780828; Tue, 07 Mar 2023 13: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 1pZXYO-0002OX-7F; Tue, 07 Mar 2023 13:40:32 +0000
Received: by outflank-mailman (input) for mailman id 507397;
 Tue, 07 Mar 2023 13:40: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZXYM-0002ON-OJ
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 13:40:30 +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 9f6f270b-bced-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 14:40:28 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 p23-20020a05600c1d9700b003ead4835046so921562wms.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 05:40:28 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 l26-20020a05600c1d1a00b003e20970175dsm18819769wms.32.2023.03.07.05.40.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 05:40: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: 9f6f270b-bced-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678196428;
        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=nNICl/NyVJukFnVn6RmR6QpZM8fyn1UqtyTmNPAEbyo=;
        b=hdn8Y7R39GmvpdRZY10YxOr6oayLFTMnukmy84ND49jcL2labjwnK7GPvYowZahppt
         y/N6YpIj7c1xwBa4OKcVa8Bk/eMt2WAc8UbkUZLu4XnOfVUGohWuaj8DHie9dZX/cCSU
         mHKBprsJLkxyeOH4Zzcl+CK3oM4MwYK8dLiZAX3uGLaOdb3Z98MrYClgMRilZAuGv5Ro
         WEhFkek1SXfG9txDHVD9sj6FDq7uT5kDyN8gxrb91hweDi6BDuTSMDwUrsxTzaoH3HWJ
         gYRw3RzguTUgVyKhVgRJh9nXMAuv3w8tdRp491NS6v4gmZ1WgqPnTW56DhGy0iQy2igS
         xQPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678196428;
        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=nNICl/NyVJukFnVn6RmR6QpZM8fyn1UqtyTmNPAEbyo=;
        b=z2vY7MiOy975IIe5ruGma+YsKs4gJlyNhw4pBHFnjjJkaG6qQbUts6ahiVV55fMn5/
         8lhG+k/Le0vMeieZSptw6aw/clUIbpJjkhcgwXPYV8Hua99yu/XufDdJO9KJomVrurK/
         ABZIaBvAjJfzN6bp7hJw8uduTSoIlhsktsUy29431MN794puLm3qeR+3G5Pisj79az+V
         FSVZU9TvEWX3XE9/0GwQGgaYC1Nen3yzYNOfFNrNV8t0JQcxskemiqZqTQ3qGQVwF8co
         OtfuvDJZISZjMQna8o/eU1+zPXDNZo/XqypTMSWaBqjjkuUeXgwBCT84Vf97uxsbHs8b
         7u1A==
X-Gm-Message-State: AO0yUKV0lzsFQEzbkYcVzg3MDml55Wu+ulOklvpQGvhh5STnxnkvzjmU
	XliBt+3LqSXEaYCStSZwA9k=
X-Google-Smtp-Source: AK7set9yGcoS7orl6s6X+QorQrZ+Wi6unxTHJGCLiXxioA3KnRgKc/BJ8RBynR3npr1YSyHmW33uJA==
X-Received: by 2002:a1c:750a:0:b0:3ea:e834:d0d1 with SMTP id o10-20020a1c750a000000b003eae834d0d1mr12496383wmc.36.1678196428403;
        Tue, 07 Mar 2023 05:40:28 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <69d9c353-8bb3-b184-4cbe-1bcacf71b49b@xen.org>
Date: Tue, 7 Mar 2023 13:40:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 06/25] hw/xen: Implement XenStore permissions
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-7-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-7-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: Paul Durrant <pdurrant@amazon.com>
> 
> Store perms as a GList of strings, check permissions.
> 
> Signed-off-by: Paul Durrant <pdurrant@amazon.com>
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/kvm/xen_xenstore.c  |   2 +-
>   hw/i386/kvm/xenstore_impl.c | 259 +++++++++++++++++++++++++++++++++---
>   hw/i386/kvm/xenstore_impl.h |   8 +-
>   tests/unit/test-xs-node.c   |  27 +++-
>   4 files changed, 275 insertions(+), 21 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 13:51:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 13:51:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507402.780839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXiN-0004Au-D1; Tue, 07 Mar 2023 13:50:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507402.780839; Tue, 07 Mar 2023 13:50:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXiN-0004An-9Y; Tue, 07 Mar 2023 13:50:51 +0000
Received: by outflank-mailman (input) for mailman id 507402;
 Tue, 07 Mar 2023 13:50:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pZXiM-0004Ad-Pn; Tue, 07 Mar 2023 13:50:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pZXiM-0008Dy-OD; Tue, 07 Mar 2023 13:50:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pZXiM-00073n-El; Tue, 07 Mar 2023 13:50:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZXiM-0003RK-EI; Tue, 07 Mar 2023 13:50:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wxwDw5Xu+8rSrIfHvSGl4N+hR7iSnVtFn5DzXV+k0UA=; b=jrQ7sGVaFgestys2x7pX539qI8
	JRPhRK2UddlxdmDE1aeZe3IemKmJKMZgkSyA7JSLKEeF8Cz7LRvUFlrHu8hLh2orNvXlhVMPrQloT
	jGrgXzQhS3o/YQ0eZCGNNgmxUO/HNmP+jbBw2aGORm2aMIrkQeZUonhMN3EpB/ClgENI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179496-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179496: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=aa1cd447b346e8cc8141df2fe2d321b032c08acb
X-Osstest-Versions-That:
    ovmf=c7c25997595aa34ce0a7a21ca2e1fc5b0f9b38a6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Mar 2023 13:50:50 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 aa1cd447b346e8cc8141df2fe2d321b032c08acb
baseline version:
 ovmf                 c7c25997595aa34ce0a7a21ca2e1fc5b0f9b38a6

Last test of basis   179487  2023-03-07 09:43:43 Z    0 days
Testing same since   179496  2023-03-07 11:42:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Liu, Zhiguang <Zhiguang.Liu@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          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
   c7c2599759..aa1cd447b3  aa1cd447b346e8cc8141df2fe2d321b032c08acb -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 13:51:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 13:51:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507407.780849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXjG-0004gF-M4; Tue, 07 Mar 2023 13:51:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507407.780849; Tue, 07 Mar 2023 13:51:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXjG-0004g8-Iq; Tue, 07 Mar 2023 13:51:46 +0000
Received: by outflank-mailman (input) for mailman id 507407;
 Tue, 07 Mar 2023 13:51: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZXjE-0004fq-G7
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 13:51:44 +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 30f9a67d-bcef-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 14:51:42 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id az36so7818568wmb.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 05:51:42 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 n1-20020adffe01000000b002c4084d3472sm12863551wrr.58.2023.03.07.05.51.41
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 05:51: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: 30f9a67d-bcef-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678197102;
        h=content-transfer-encoding:in-reply-to:organization:reply-to
         :references:to:content-language:subject:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=VSyVFg7J7TubDf3OOWlQoBsaoQ/Li0UBTheHqmICqNA=;
        b=Yes0vRSLKmkYu2xYNSDv2IqSJSBxEX2Dv743hcHCJt30inGRRXHHmM6HQ8+cKuy0cR
         f+s3FwGdavOc/bA8QtTaNd9oWCFSUcrbklAKs5LiIPd0GC3gXRc5ffLVy2Rhkip+ZiRp
         fByJxbzSib6BoagBys0tiwUOjj4aYE6O7vO9bHDsX1XWTxCH3EpNuZ45du42L78G+sbk
         j5Ivzkr+8FqE91wVz3aYReKGsKQSZHVUyDLloYzSD8jlfOdeKb2/JbTI5WOlSaFBaDl8
         G5XKsn8Ao+73ayW/25EBafiVhkgFlRKKG21uDNg4oNjC+zS7UCxS+Z7ye6heh91ZSswp
         5pAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678197102;
        h=content-transfer-encoding:in-reply-to:organization:reply-to
         :references: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=VSyVFg7J7TubDf3OOWlQoBsaoQ/Li0UBTheHqmICqNA=;
        b=k+29Q5vDTEzRq1bjFFJRlO8zSn8BC262l78yPTQ89UQ/hGd2Iwot4epxR3bCCFkEWS
         Xr2F+0sjydauWtQDCTT4Nitd0n7JsjiU1aigayd/x7l9XL/lmc+tg9ukFTHpC4oHcZ4I
         WuEDVpZ+YmrPcde7jhUxcND9MTMP/RL51CqO0gIdq3SQXzROe4SYKKjNdGx6jhI4auO1
         REuyPa8/cY4EGnrBdw0i0itpuLe2fh0D+/Cx+pZ80MpEc4QVFGkrJYTO3Re+ehq6U37q
         t+SZM18/zDmCSOAInwi1r3i7pJJ0LQ0YOb3UuoVuGw0F7HK0RS9hz/qDkP53YDXUDXRt
         CkYg==
X-Gm-Message-State: AO0yUKVu6Mv1zSxGvKkY2g+rjcV9BJMVJR9cXQZx++dvMkCN+83Ne8Nb
	7eT0F6qfUzW+ZZA9KwwK3YCue9NAvoQWNA==
X-Google-Smtp-Source: AK7set+vSQPebbqfpJXmFa42fmhp55jhJt3npAzNkm26f/rohKHFKR4nk0rtKnddvTPOXW2srnEg8g==
X-Received: by 2002:a05:600c:4748:b0:3df:e4b4:de69 with SMTP id w8-20020a05600c474800b003dfe4b4de69mr12646893wmo.27.1678197101950;
        Tue, 07 Mar 2023 05:51:41 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <ac35d26a-f07b-6b49-fb61-2b858782f99e@xen.org>
Date: Tue, 7 Mar 2023 13:51:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC PATCH v1 07/25] hw/xen: Implement core serialize/deserialize
 methods for xenstore_impl
Content-Language: en-US
To: xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-8-dwmw2@infradead.org>
Reply-To: paul@xen.org
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-8-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> In fact I think we want to only serialize the contents of the domain's
> path in /local/domain/${domid} and leave the rest to be recreated? Will
> defer to Paul for that.
> 

Yes. Assuming backends have properly implemented save/restore code then 
they should be able to re-create their xenstore content. Also, it's 
generally convenient for them to start back in 'InitWait' state the 
drive their state machine back to 'Connected' so that grant refs can be 
mapped, event channels bound etc. along the way.

> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/kvm/xen_xenstore.c  |  25 +-
>   hw/i386/kvm/xenstore_impl.c | 574 +++++++++++++++++++++++++++++++++++-
>   hw/i386/kvm/xenstore_impl.h |   5 +
>   tests/unit/test-xs-node.c   | 236 ++++++++++++++-
>   4 files changed, 824 insertions(+), 16 deletions(-)

The code LGTM though; just need to limit the saved tree to 
'/local/domain/<domid>'

   Paul


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 13:51:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 13:51:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507408.780859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXjH-0004vk-Tc; Tue, 07 Mar 2023 13:51:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507408.780859; Tue, 07 Mar 2023 13: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 1pZXjH-0004vd-Pf; Tue, 07 Mar 2023 13:51:47 +0000
Received: by outflank-mailman (input) for mailman id 507408;
 Tue, 07 Mar 2023 13: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZXjG-0004UT-9R
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 13:51: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 32339f49-bcef-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 14:51:45 +0100 (CET)
Received: from [2001:8b0:10b:5:c09:fa3d:b1cb:4d7e]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZXj0-006OFM-F6; Tue, 07 Mar 2023 13:51:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32339f49-bcef-11ed-96b5-2f268f93b82a
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=HRxyhd/oioqCd1sk0WdqUmIMu/OMpK9WfvQPOPeq7Ug=; b=DQ7g2c2BMp8ZPP4hKL1VFOU3bs
	azkC6kh0McljNC0+WknUd53nc3sRqr7ltLbdYpsCPaqX+LMUC/HAEUz0RvFxG+s+xhTyqI3Q7gH1r
	63XW2E8KO/uSe1RAAOMEDmOAWELWhkg/OX78Wy6fO/VE51RsP9wxxpgBHQBFEGoezWN0tCUgLvhei
	zgXdZcSPDVyPn5XqPpHJ6j2LW+/mQEvM6QDObWrWBk6AiQOGUUSifS4Y16egJMe8dv6B/EacdxLHu
	VcG23NN9SebUgWOPpkKfNEUiJdkAN0HYh3ed16+ffaFPw9RK2p1tV3P8ctP+dDIGgJuW9gcs8hz2+
	mnV7o76A==;
Message-ID: <f149fe1eb3836c14655e3e7eaa4032298ae68545.camel@infradead.org>
Subject: Re: [PATCH v6 20/20] irqdomain: Switch to per-domain locking
From: David Woodhouse <dwmw2@infradead.org>
To: Johan Hovold <johan+linaro@kernel.org>, Marc Zyngier <maz@kernel.org>, 
 Thomas Gleixner <tglx@linutronix.de>, xen-devel
 <xen-devel@lists.xenproject.org>
Cc: x86@kernel.org, platform-driver-x86@vger.kernel.org, 
 linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, 
 linux-kernel@vger.kernel.org, Hsin-Yi Wang <hsinyi@chromium.org>, Mark-PK
 Tsai <mark-pk.tsai@mediatek.com>
Date: Tue, 07 Mar 2023 13:51:29 +0000
In-Reply-To: <20230213104302.17307-21-johan+linaro@kernel.org>
References: <20230213104302.17307-1-johan+linaro@kernel.org>
	 <20230213104302.17307-21-johan+linaro@kernel.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-V5MNw96SXBJUAIQxb11D"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Mon, 2023-02-13 at 11:43 +0100, Johan Hovold wrote:
> The IRQ domain structures are currently protected by the global
> irq_domain_mutex. Switch to using more fine-grained per-domain locking,
> which can speed up parallel probing by reducing lock contention.
>=20
> On a recent arm64 laptop, the total time spent waiting for the locks
> during boot drops from 160 to 40 ms on average, while the maximum
> aggregate wait time drops from 550 to 90 ms over ten runs for example.
>=20
> Note that the domain lock of the root domain (innermost domain) must be
> used for hierarchical domains. For non-hierarchical domains (as for root
> domains), the new root pointer is set to the domain itself so that
> &domain->root->mutex always points to the right lock.
>=20
> Also note that hierarchical domains should be constructed using
> irq_domain_create_hierarchy() (or irq_domain_add_hierarchy()) to avoid
> having racing allocations access a not fully initialised domain. As a
> safeguard, the lockdep assertion in irq_domain_set_mapping() will catch
> any offenders that also fail to set the root domain pointer.
>=20
> Tested-by: Hsin-Yi Wang <hsinyi@chromium.org>
> Tested-by: Mark-PK Tsai <mark-pk.tsai@mediatek.com>
> Signed-off-by: Johan Hovold <johan+linaro@kernel.org>

Broke Xen. And it's *so* easy to test. As long as you have qemu master
branch from no older than last Thursday, that is...

$ qemu-system-x86_64 -serial mon:stdio  -display none \
 -accel kvm,xen-version=3D0x4000e,kernel-irqchip=3Dsplit \
 -kernel arch/x86/boot/bzImage -append "console=3DttyS0"=20

...

[    0.466554] BUG: kernel NULL pointer dereference, address: 0000000000000=
0c0
[    0.467249] #PF: supervisor read access in kernel mode
[    0.467249] #PF: error_code(0x0000) - not-present page
[    0.467249] PGD 0 P4D 0=20
[    0.467249] Oops: 0000 [#1] PREEMPT SMP PTI
[    0.467249] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.2.0-rc4+ #1206
[    0.467249] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS =
rel-1.16.1-0-g3208b098f51a-prebuilt.qemu.org 04/01/2014
[    0.467249] RIP: 0010:irq_domain_create_hierarchy+0x2c/0x70
[    0.467249] Code: 1e fa 0f 1f 44 00 00 41 54 49 89 fc 48 89 cf 55 89 f5 =
53 85 d2 74 40 89 d6 31 c9 89 d2 e8 2c fa ff ff 48 89 c3 48 85 db 74 21 <49=
> 8b 84 24 c0 00 00 00 09 6b 28 48 89 df 4c 89 a3 f0 00 00 00 48
[    0.467249] RSP: 0000:ffffc90000013e60 EFLAGS: 00010286
[    0.467249] RAX: ffff8880053a1a00 RBX: ffff8880053a1a00 RCX: 00000000000=
00000
[    0.467249] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffffffff848=
28fa0
[    0.467249] RBP: 0000000000000010 R08: 0000000000000003 R09: 00000000000=
00000
[    0.467249] R10: 0000000025a89be7 R11: 00000000442a63fa R12: 00000000000=
00000
[    0.467249] R13: ffffffff83ac1b98 R14: 0000000000000000 R15: 00000000000=
00000
[    0.467249] FS:  0000000000000000(0000) GS:ffff888007a00000(0000) knlGS:=
0000000000000000
[    0.467249] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.467249] CR2: 00000000000000c0 CR3: 0000000002824000 CR4: 00000000000=
006f0
[    0.467249] Call Trace:
[    0.467249]  <TASK>
[    0.467249]  ? __pfx_pci_arch_init+0x10/0x10
[    0.467249]  __msi_create_irq_domain+0x85/0x170
[    0.467249]  ? __pfx_pci_arch_init+0x10/0x10
[    0.467249]  xen_create_pci_msi_domain+0x34/0x40
[    0.467249]  x86_create_pci_msi_domain+0x12/0x1e
[    0.467249]  pci_arch_init+0x31/0x7a
[    0.467249]  ? __pfx_pci_arch_init+0x10/0x10
[    0.467249]  do_one_initcall+0x5f/0x320
[    0.467249]  ? rcu_read_lock_sched_held+0x43/0x80
[    0.467249]  kernel_init_freeable+0x189/0x1c6
[    0.467249]  ? __pfx_kernel_init+0x10/0x10
[    0.467249]  kernel_init+0x1a/0x130
[    0.467249]  ret_from_fork+0x2c/0x50
[    0.467249]  </TASK>
[    0.467249] Modules linked in:
[    0.467249] CR2: 00000000000000c0
[    0.467249] ---[ end trace 0000000000000000 ]---
[    0.467249] RIP: 0010:irq_domain_create_hierarchy+0x2c/0x70
[    0.467249] Code: 1e fa 0f 1f 44 00 00 41 54 49 89 fc 48 89 cf 55 89 f5 =
53 85 d2 74 40 89 d6 31 c9 89 d2 e8 2c fa ff ff 48 89 c3 48 85 db 74 21 <49=
> 8b 84 24 c0 00 00 00 09 6b 28 48 89 df 4c 89 a3 f0 00 00 00 48
[    0.467249] RSP: 0000:ffffc90000013e60 EFLAGS: 00010286
[    0.467249] RAX: ffff8880053a1a00 RBX: ffff8880053a1a00 RCX: 00000000000=
00000
[    0.467249] RDX: 0000000000000000 RSI: 0000000000000001 RDI: ffffffff848=
28fa0
[    0.467249] RBP: 0000000000000010 R08: 0000000000000003 R09: 00000000000=
00000
[    0.467249] R10: 0000000025a89be7 R11: 00000000442a63fa R12: 00000000000=
00000
[    0.467249] R13: ffffffff83ac1b98 R14: 0000000000000000 R15: 00000000000=
00000
[    0.467249] FS:  0000000000000000(0000) GS:ffff888007a00000(0000) knlGS:=
0000000000000000
[    0.467249] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[    0.467249] CR2: 00000000000000c0 CR3: 0000000002824000 CR4: 00000000000=
006f0
[    0.467249] Kernel panic - not syncing: Fatal exception


--=-V5MNw96SXBJUAIQxb11D
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MTM1MTI5WjAvBgkqhkiG9w0BCQQxIgQgH1mcpSq3
H29WUi6FBHHKyOt1OXVRZGfAvLfmorma6gQwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCBiO2scwjQK9nvrOCTo6fZaWzZvkDMnQY3
KfnzStAQfueWONgl8xJIyIMbl0c4VQ4Fy2kprpDxnVZu5O8le7opbiCrKXA8o+MWL/h7vQWbur7n
fhIf6KwRCeN2wjkL8GJQdn2c9iVaoy2DOqPLGsj3BLwvvwupn7gAUO0CxrSC75QHbBxHnewG9OtU
rOp99n/ZMYN5FEuNRZYcrrEGcbAgTTL70kzHuCd1QnFPTFkRy5rZgzkCPnqHt6aOWC2B8Md/9BzO
rDNp5ioFtL0qRcxfcAUTZcqKTg46/rGfG+RD4GnMc1DgmMNJLqUXLwz4hgy9pCKpIBDHjosEelAy
5vMEtD10V3Ljz4MECaRp6F5u/rQ/sDxqlCy1JwyG19v9cRWbqvBBhIcrSD7xbHCjiPPA2CJyJpU5
rI2GcNVEJ6Z+5MziKfgMCIIetdEuD1OrDgx3QBfqxlnNF3CW3GdYVtuknBqrorTkfqPZoF7BBQWT
R45pUXw0ykIrYDJL7EQGlrRsS9UcrkkTy+Eweky4W9dFv9ReAkYAMSU20oQbFpIqGDSwZ0oqOO7E
S5R+uM2w0HsYyWhKElqdIV/PgOXjwrtaD98ir+Tg8ELSyTAO6QXiHINBwglyISRqntZrmfdNVAoy
biga24iyM7G0NrqFQqznpzoldpG9XS1MSAmE2KN9wQAAAAAAAA==


--=-V5MNw96SXBJUAIQxb11D--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 13:52:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 13:52:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507415.780869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXk8-0005kO-89; Tue, 07 Mar 2023 13:52:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507415.780869; Tue, 07 Mar 2023 13:52:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXk8-0005kF-3x; Tue, 07 Mar 2023 13:52:40 +0000
Received: by outflank-mailman (input) for mailman id 507415;
 Tue, 07 Mar 2023 13:52: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZXk7-0004fq-7s
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 13:52:39 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51e6c609-bcef-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 14:52:37 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id bx12so12165982wrb.11
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 05:52:37 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 z11-20020a5d654b000000b002c70f5627d5sm12559129wrv.63.2023.03.07.05.52.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 05: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: 51e6c609-bcef-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678197157;
        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=IxFlqZr0mGRhmULnOKeJqsxe48v70ZBxJnmwKGFTiO0=;
        b=VBreMLSBQBTjpHLmYWqbVCZ6vDGTcBjMf8fz7qnwbbAc+FcP7g2m2aPAGuB6WWygHa
         IPM+YL7p5fjWDzGkwbdqDwb5UzO0mOhcZKK0e1gW6CDlaqdMbJDnKSz2yi8nQt0GUNvr
         MBHmtWXum96/Gb6aBkLO08EYK/hoQsHHvt94Pq7Oj56MQW0oA22VKmbgBHQc/U66gBfr
         p1Rk9+qeXSzLmmJ0/F3iAOd30WvBiEMYBq+0fiee22jNeCZeSYqEGCVh9ZmZMJQ3qRQR
         eMBY6K2G8+h//Gf22KXyG06Z3awpR2GhcYnnr3QhkLNOt2pg5d0up/8VDUU2u7ClGFoc
         Tyeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678197157;
        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=IxFlqZr0mGRhmULnOKeJqsxe48v70ZBxJnmwKGFTiO0=;
        b=72bX49/PJuRfWVuanqWpEqOkDwrNR2fRJU3+Kf22RT/DcqeLhwJnVtDnXTP1JUaSU+
         EJ4BxXDJpm5um4RiV7gXaLjgSNUphkRU5X7tNgLxSAjMBlbn5br/GsVuw0I6LgJ5gjBQ
         8BSPQP/IuHKqpqphOiuNmIAkUEvP3jReavKKi2E8bMwLZPD5JD6ZkvDKjuuIRrC23FFg
         wkJCQTNn86GgPtMQIcF+ykJtgbN5s2I6hEFr0dskfZGeOj/+fjIY910ypB5VNV5MDqWs
         y6exSMOmelBjPKGnuGQwPLwAAVmzioQ0MMfGo0grwVyYWu0DPfkwabzUh1mVoKOkm9Ds
         McFQ==
X-Gm-Message-State: AO0yUKXGH40z00s7N7OBHGyF+bJsE53Wv+8Q8c8IIdQUAM+m2NKg/q8v
	qW0G7aTIvQFOufwQfLKaptU=
X-Google-Smtp-Source: AK7set+P/VN1nCeaWEXutY2mF6tnycVncnjJOoM/2Q3o42A0amwIajwY37PDToy2KIlE9qMpN1Hwqg==
X-Received: by 2002:adf:f68a:0:b0:2ca:175b:d850 with SMTP id v10-20020adff68a000000b002ca175bd850mr9346152wrp.11.1678197157288;
        Tue, 07 Mar 2023 05:52:37 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <b5d3d99a-6d33-1336-7f21-6b7277827d54@xen.org>
Date: Tue, 7 Mar 2023 13:52:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 08/25] hw/xen: Create initial XenStore nodes
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-9-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-9-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: Paul Durrant <pdurrant@amazon.com>
> 
> Signed-off-by: Paul Durrant <pdurrant@amazon.com>
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/kvm/xen_xenstore.c | 70 ++++++++++++++++++++++++++++++++++++++
>   1 file changed, 70 insertions(+)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:04:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:04:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507421.780879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXvN-0007bD-Co; Tue, 07 Mar 2023 14:04:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507421.780879; Tue, 07 Mar 2023 14: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 1pZXvN-0007b6-9D; Tue, 07 Mar 2023 14:04:17 +0000
Received: by outflank-mailman (input) for mailman id 507421;
 Tue, 07 Mar 2023 14: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=JVyd=67=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZXvL-0007b0-L4
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:04:15 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f04a6424-bcf0-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 15:04: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 68F061FDD1;
 Tue,  7 Mar 2023 14:04:12 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3011613440;
 Tue,  7 Mar 2023 14:04:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 1Z9JClxEB2QgbQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Mar 2023 14:04:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f04a6424-bcf0-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678197852; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=AJR3LUtl2kDfYB2pLO9FnSnEO18J5Fw09eTwyKgY3TE=;
	b=azuT+geI4R9lbd+OawhJDD94kIPKNTJwbtshrnLMMKx/dErwJniONYg5P/xd0ieYzhqV54
	RiEHHWg6uC/xRO+dhIw8sS58SNr3k4uEBEQzqRwLUxahLn/nDEDxHYKi3Tw3SmL0gZVmM9
	BUS+lhtuy8YVasVuj9gFmDFQSLECfb4=
Message-ID: <d0aefe0b-4e71-458c-0072-345e1c505083@suse.com>
Date: Tue, 7 Mar 2023 15:04:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
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: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-3-jgross@suse.com>
 <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 2/2] xen: update CONFIG_DEBUG_INFO help text
In-Reply-To: <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------rXCW2TQvma0iTsozsYxvR5OY"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------rXCW2TQvma0iTsozsYxvR5OY
Content-Type: multipart/mixed; boundary="------------s6jhj5JT5NNC9nkx2Yy4AFyH";
 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: <d0aefe0b-4e71-458c-0072-345e1c505083@suse.com>
Subject: Re: [PATCH 2/2] xen: update CONFIG_DEBUG_INFO help text
References: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-3-jgross@suse.com>
 <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>
In-Reply-To: <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>

--------------s6jhj5JT5NNC9nkx2Yy4AFyH
Content-Type: multipart/mixed; boundary="------------tVPgJ6fj78Z0EIzHRJFACirY"

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

T24gMDcuMDMuMjMgMTE6NDEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNy4wMy4yMDIz
IDA3OjMyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEveGVuL0tjb25maWcuZGVi
dWcNCj4+ICsrKyBiL3hlbi9LY29uZmlnLmRlYnVnDQo+PiBAQCAtMTUsOCArMTUsMTEgQEAg
Y29uZmlnIERFQlVHX0lORk8NCj4+ICAgCWJvb2wgIkNvbXBpbGUgWGVuIHdpdGggZGVidWcg
aW5mbyINCj4+ICAgCWRlZmF1bHQgREVCVUcNCj4+ICAgCS0tLWhlbHAtLS0NCj4+IC0JICBJ
ZiB5b3Ugc2F5IFkgaGVyZSB0aGUgcmVzdWx0aW5nIFhlbiB3aWxsIGluY2x1ZGUgZGVidWdn
aW5nIGluZm8NCj4+IC0JICByZXN1bHRpbmcgaW4gYSBsYXJnZXIgYmluYXJ5IGltYWdlLg0K
Pj4gKwkgIFNheSBZIGhlcmUgaWYgeW91IHdhbnQgdG8gYnVpbGQgWGVuIHdpdGggZGVidWcg
aW5mb3JtYXRpb24uIFRoaXMNCj4+ICsJICBpbmZvcm1hdGlvbiBpcyBuZWVkZWQgZS5nLiBm
b3IgZG9pbmcgY3Jhc2ggZHVtcCBhbmFseXNpcyBvZiB0aGUNCj4+ICsJICBoeXBlcnZpc29y
IHZpYSB0aGUgImNyYXNoIiB0b29sLg0KPj4gKwkgIFNheWluZyBZIHdpbGwgaW5jcmVhc2Ug
dGhlIHNpemUgb2YgeGVuLXN5bXMgYW5kIHRoZSBidWlsdCBFRkkNCj4+ICsJICBiaW5hcnku
DQo+IA0KPiBMYXJnZWx5IGZpbmUgd2l0aCBtZSwganVzdCBvbmUgcXVlc3Rpb246IFdoeSBk
byB5b3UgbWVudGlvbiB4ZW4tc3ltcyBieQ0KPiBuYW1lLCBidXQgdGhlbiB2ZXJiYWxseSBk
ZXNjcmliZSB4ZW4uZWZpPyBBbmQgc2luY2UsIHVubGlrZSBmb3IgeGVuLXN5bXMsDQoNCkZv
ciB4ZW4tc3ltcyBJIGNvdWxkbid0IGZpbmQgYW4gZWFzaWx5IHVuZGVyc3RhbmRhYmxlIHdv
cmRpbmcuIEknZCBiZSBmaW5lDQp3aXRoIGp1c3Qgc2F5aW5nICJ4ZW4uZWZpIi4NCg0KPiB0
aGlzIGFmZmVjdHMgdGhlIGluc3RhbGxlZCBiaW5hcnkgYWN0dWFsbHkgdXNlZCBmb3IgYm9v
dGluZyAod2hpY2ggbWF5DQo+IGJlIHBsYWNlZCBvbiBhIHNwYWNlIGNvbnN0cmFpbmVkIHBh
cnRpdGlvbiksIGl0IG1heSBiZSBwcnVkZW50IHRvDQo+IG1lbnRpb24gSU5TVEFMTF9FRklf
U1RSSVAgaGVyZSAoYXMgYSB3YXkgdG8gcmVkdWNlIHRoZSBiaW5hcnkgc2l6ZSBvZg0KPiB3
aGF0IGVuZHMgdXAgb24gdGhlIEVGSSBwYXJ0aXRpb24sIGV2ZW4gaWYgdGhhdCB3b3VsZG4n
dCBhZmZlY3QgdGhlDQo+ICJub3JtYWwiIHdheSBvZiBwdXR0aW5nIHRoZSBiaW5hcnkgb24g
dGhlIEVGSSBwYXJ0aXRpb24gLSBwZW9wbGUgd291bGQNCj4gc3RpbGwgbmVlZCB0byB0YWtl
IGNhcmUgb2YgdGhhdCBpbiB0aGVpciBkaXN0cm9zKS4NCg0KV2hhdCBhYm91dCBhZGRpbmcg
YSByZWxhdGVkIEtjb25maWcgb3B0aW9uIGluc3RlYWQ/DQoNCkknZCBiZSBmaW5lIHdpdGgg
YSB0ZXh0dWFsIG1lbnRpb25pbmcgb2YgSU5TVEFMTF9FRklfU1RSSVAsIHRvby4NCg0KPiBJ
IGd1ZXNzIHRoaXMgc2l6ZSBhc3BlY3Qgd3J0IHRoZSBFRkkgcGFydGl0aW9uIGlzIGFjdHVh
bGx5IHNvbWV0aGluZw0KPiB0aGF0IHNob3VsZCBhbHNvIGJlIG1lbnRpb25lZCBpbiBwYXRj
aCAxLCBiZWNhdXNlIHRoaXMgY2FuIGJlIGFuIGFyZ3VtZW50DQo+IGFnYWluc3QgZXhwb3N1
cmUgb2YgdGhlIG9wdGlvbiAocHJlY2lzZWx5IGJlY2F1c2UgaXQgcmVxdWlyZXMgZXh0cmEN
Cj4gYWN0aXZpdHkgdG8gcHJldmVudCB0aGUgRUZJIHBhcnRpdGlvbiBydW5uaW5nIG91dCBv
ZiBzcGFjZSkuDQoNClRoaXMgbWlnaHQgYmUgYW5vdGhlciByZWFzb24gdG8gbWFrZSBpdCBl
YXNpbHkgY29uZmlndXJhYmxlLg0KDQoNCkp1ZXJnZW4NCg==
--------------tVPgJ6fj78Z0EIzHRJFACirY
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-----

--------------tVPgJ6fj78Z0EIzHRJFACirY--

--------------s6jhj5JT5NNC9nkx2Yy4AFyH--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQHRFsFAwAAAAAACgkQsN6d1ii/Ey82
Hgf+LV7+9dubeAnJ24G8h+NoJ2LUCdyLYcr/ulzeiXykP260R+wfp52R2IYntFs8iKQ8KTKBpR72
PEn//NY61sgNfS3PBrgsLDhKq0FFgOyfZvA0MZarhg8rJapatAdeyWwY+8nCpzq0EzqCDe7A6yKB
iMBkq5nhK/G98mW6tyB8SpYwYAePFBa8yqkg4FVvixr2mo6Y72hAdlBovrSLhU6f/ENo/lDiFK0a
7eLCxD0uKHDtEpvC5H7fv/Dn101mzGLwI+4Yf4iQLPmcSlVDcaIuFCZlMCjpFgloEke3mt16YyOf
Ia/gz1QHm/Pvp+1w9Xo3w28eFkcWOEvqmqcmbu59bg==
=9AmD
-----END PGP SIGNATURE-----

--------------rXCW2TQvma0iTsozsYxvR5OY--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:05:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:05:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507424.780889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXw5-00083z-Kn; Tue, 07 Mar 2023 14:05:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507424.780889; Tue, 07 Mar 2023 14:05: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 1pZXw5-00083s-Hq; Tue, 07 Mar 2023 14:05:01 +0000
Received: by outflank-mailman (input) for mailman id 507424;
 Tue, 07 Mar 2023 14:05: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZXw4-0007z2-7v
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:05:00 +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 0c267c3c-bcf1-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 15:04:59 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 t25-20020a1c7719000000b003eb052cc5ccso10467809wmi.4
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 06:04:59 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 p16-20020a05600c359000b003e209b45f6bsm18816506wmq.29.2023.03.07.06.04.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 06:04: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: 0c267c3c-bcf1-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678197899;
        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=zCR+/N3JyI+Rqvibb9E6aDk11EXgY7qQNvMvTlCWGys=;
        b=ZT1+yqNLKF4tCXDwhfbe6ei5KUOCnCYN6paoXOyafFTh/s98Usj8fCHKAiTBHWRL0U
         HAOkYv5emKWiAF/l0JdSuhg8/oR+35GjDNG/edIWC6ub/G1ei1+p6UbamjLvkW2CES3L
         TbSKnHA5R/hX/ErtxLj//ZLblQVyGZJCpOX2fdCEt9W46lPShQO7EvX4XWtclVlfVIrx
         n/2uC1tD/g+mQaXEw8bNgX7MdOjend3MWNmFjiiLGOgS8j4MH4QQ3QrfBXLfgCIiuWa0
         MU78kOiwKm3UYnATJd9WOatuMaLfgEDu4is4PiZm9SMet+Q/uqAO8eWKkklvdFHah+RF
         sCqA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678197899;
        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=zCR+/N3JyI+Rqvibb9E6aDk11EXgY7qQNvMvTlCWGys=;
        b=bKS/Jmk9pvqaR8u40w8KpcbYDcn8ZYQ2wBdQj27jy4tRfGiYR85h1HjZp6BaCLliLZ
         NE2al1m8Xjnue/ERy89gzT4SaCV+PUPpmMNKpFXC9ku33i+nK1U061BOxBuA4+DVfKZk
         VKHouNXp84NR9Ibyrlznn3xzVjMGZ3o+OSlp/lJJ2cfJV4bA9+we6jtHq1+kjJhvFzmn
         59JLymHdgetyqIIDS64U6/K8RsARtbl3m8+tQFY1rRk/mpdCNMLYqcPrRzCs5Sx5al6r
         W8rsNGb8VUeyu7dsO+yoY/zXSv4X4kQkZHnMv10R4luG+fQ8mM/RpY1ySOvT9sUVFX4w
         Ti2g==
X-Gm-Message-State: AO0yUKV4K5G64S11HZpeznZ7mbyRlBYB3kTAUcBGncmYuLSQ2N79N4id
	5+BGCSI1T6YLfSRMFovtgu0=
X-Google-Smtp-Source: AK7set+JQIL0mryS1clp30PdlBA8ugHIKdAQwBeb8lXItjElggkk+mBYVgbh9t3cvK566shmRyn1mw==
X-Received: by 2002:a05:600c:4997:b0:3eb:9822:28f7 with SMTP id h23-20020a05600c499700b003eb982228f7mr9878373wmp.9.1678197899227;
        Tue, 07 Mar 2023 06:04:59 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <abd65d3c-0b2d-7f90-b5f1-3a26d56bc6c4@xen.org>
Date: Tue, 7 Mar 2023 14:04:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 09/25] hw/xen: Add evtchn operations to allow
 redirection to internal emulation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-10-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-10-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> The existing implementation calling into the real libxenevtchn moves to
> a new file hw/xen/xen-operations.c, and is called via a function table
> which in a subsequent commit will also be able to invoke the emulated
> event channel support.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Signed-off-by: Paul Durrant <pdurrant@amazon.com>
> ---
>   hw/9pfs/xen-9p-backend.c            |  24 +++---
>   hw/i386/xen/xen-hvm.c               |  27 ++++---
>   hw/xen/meson.build                  |   1 +
>   hw/xen/xen-bus.c                    |  22 +++---
>   hw/xen/xen-legacy-backend.c         |   8 +-
>   hw/xen/xen-operations.c             |  71 +++++++++++++++++
>   hw/xen/xen_pvdev.c                  |  12 +--
>   include/hw/xen/xen-bus.h            |   1 +
>   include/hw/xen/xen-legacy-backend.h |   1 +
>   include/hw/xen/xen_backend_ops.h    | 118 ++++++++++++++++++++++++++++
>   include/hw/xen/xen_common.h         |  12 ---
>   include/hw/xen/xen_pvdev.h          |   1 +
>   softmmu/globals.c                   |   1 +
>   13 files changed, 242 insertions(+), 57 deletions(-)
>   create mode 100644 hw/xen/xen-operations.c
>   create mode 100644 include/hw/xen/xen_backend_ops.h
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:06:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:06:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507427.780899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZXxG-0000Fy-1L; Tue, 07 Mar 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 507427.780899; Tue, 07 Mar 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 1pZXxF-0000Fr-Sx; Tue, 07 Mar 2023 14:06:13 +0000
Received: by outflank-mailman (input) for mailman id 507427;
 Tue, 07 Mar 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=JVyd=67=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZXxF-0000Fj-CZ
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:06:13 +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 36f6340c-bcf1-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 15: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-out2.suse.de (Postfix) with ESMTPS id 4718D1FDD1;
 Tue,  7 Mar 2023 14:06:11 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id D32A113440;
 Tue,  7 Mar 2023 14:06:10 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id nyKuMdJEB2RdbgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Mar 2023 14: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: 36f6340c-bcf1-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678197971; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=kf+wSYlu37HIvliDXrRtx+MDVuxmYYF8KfwKZAyv1mg=;
	b=ro/LC/JfdgXCvy7zbRwZyB8Eatvxc4d8LEqCbPBN0aWAe6nvL0xV/ubL0SqhJsrAb2xbm/
	EH+ONlMe9Pv1XHpetbi633kIwdCVsB8EeYQxbRQGGDWprfFT3jc4kanEOVdI/TB4v+w6jo
	E/HBG+C3ffPk3kVxwN03MWxYDI3U3qk=
Message-ID: <33118f0b-6752-7e4c-49a3-a8c9345f02a1@suse.com>
Date: Tue, 7 Mar 2023 15:06:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [PATCH v6 20/20] irqdomain: Switch to per-domain locking
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>,
 Johan Hovold <johan+linaro@kernel.org>, Marc Zyngier <maz@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>,
 xen-devel <xen-devel@lists.xenproject.org>
Cc: x86@kernel.org, platform-driver-x86@vger.kernel.org,
 linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
 linux-kernel@vger.kernel.org, Hsin-Yi Wang <hsinyi@chromium.org>,
 Mark-PK Tsai <mark-pk.tsai@mediatek.com>
References: <20230213104302.17307-1-johan+linaro@kernel.org>
 <20230213104302.17307-21-johan+linaro@kernel.org>
 <f149fe1eb3836c14655e3e7eaa4032298ae68545.camel@infradead.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <f149fe1eb3836c14655e3e7eaa4032298ae68545.camel@infradead.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------w9ucrDayWOH8tsGwTzYVKhmL"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------w9ucrDayWOH8tsGwTzYVKhmL
Content-Type: multipart/mixed; boundary="------------xRzMZYK008SexuahzDyWucOO";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: David Woodhouse <dwmw2@infradead.org>,
 Johan Hovold <johan+linaro@kernel.org>, Marc Zyngier <maz@kernel.org>,
 Thomas Gleixner <tglx@linutronix.de>,
 xen-devel <xen-devel@lists.xenproject.org>
Cc: x86@kernel.org, platform-driver-x86@vger.kernel.org,
 linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
 linux-kernel@vger.kernel.org, Hsin-Yi Wang <hsinyi@chromium.org>,
 Mark-PK Tsai <mark-pk.tsai@mediatek.com>
Message-ID: <33118f0b-6752-7e4c-49a3-a8c9345f02a1@suse.com>
Subject: Re: [PATCH v6 20/20] irqdomain: Switch to per-domain locking
References: <20230213104302.17307-1-johan+linaro@kernel.org>
 <20230213104302.17307-21-johan+linaro@kernel.org>
 <f149fe1eb3836c14655e3e7eaa4032298ae68545.camel@infradead.org>
In-Reply-To: <f149fe1eb3836c14655e3e7eaa4032298ae68545.camel@infradead.org>

--------------xRzMZYK008SexuahzDyWucOO
Content-Type: multipart/mixed; boundary="------------1brh0jylh4ikgokNQLJKaWUi"

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

T24gMDcuMDMuMjMgMTQ6NTEsIERhdmlkIFdvb2Rob3VzZSB3cm90ZToNCj4gT24gTW9uLCAy
MDIzLTAyLTEzIGF0IDExOjQzICswMTAwLCBKb2hhbiBIb3ZvbGQgd3JvdGU6DQo+PiBUaGUg
SVJRIGRvbWFpbiBzdHJ1Y3R1cmVzIGFyZSBjdXJyZW50bHkgcHJvdGVjdGVkIGJ5IHRoZSBn
bG9iYWwNCj4+IGlycV9kb21haW5fbXV0ZXguIFN3aXRjaCB0byB1c2luZyBtb3JlIGZpbmUt
Z3JhaW5lZCBwZXItZG9tYWluIGxvY2tpbmcsDQo+PiB3aGljaCBjYW4gc3BlZWQgdXAgcGFy
YWxsZWwgcHJvYmluZyBieSByZWR1Y2luZyBsb2NrIGNvbnRlbnRpb24uDQo+Pg0KPj4gT24g
YSByZWNlbnQgYXJtNjQgbGFwdG9wLCB0aGUgdG90YWwgdGltZSBzcGVudCB3YWl0aW5nIGZv
ciB0aGUgbG9ja3MNCj4+IGR1cmluZyBib290IGRyb3BzIGZyb20gMTYwIHRvIDQwIG1zIG9u
IGF2ZXJhZ2UsIHdoaWxlIHRoZSBtYXhpbXVtDQo+PiBhZ2dyZWdhdGUgd2FpdCB0aW1lIGRy
b3BzIGZyb20gNTUwIHRvIDkwIG1zIG92ZXIgdGVuIHJ1bnMgZm9yIGV4YW1wbGUuDQo+Pg0K
Pj4gTm90ZSB0aGF0IHRoZSBkb21haW4gbG9jayBvZiB0aGUgcm9vdCBkb21haW4gKGlubmVy
bW9zdCBkb21haW4pIG11c3QgYmUNCj4+IHVzZWQgZm9yIGhpZXJhcmNoaWNhbCBkb21haW5z
LiBGb3Igbm9uLWhpZXJhcmNoaWNhbCBkb21haW5zIChhcyBmb3Igcm9vdA0KPj4gZG9tYWlu
cyksIHRoZSBuZXcgcm9vdCBwb2ludGVyIGlzIHNldCB0byB0aGUgZG9tYWluIGl0c2VsZiBz
byB0aGF0DQo+PiAmZG9tYWluLT5yb290LT5tdXRleCBhbHdheXMgcG9pbnRzIHRvIHRoZSBy
aWdodCBsb2NrLg0KPj4NCj4+IEFsc28gbm90ZSB0aGF0IGhpZXJhcmNoaWNhbCBkb21haW5z
IHNob3VsZCBiZSBjb25zdHJ1Y3RlZCB1c2luZw0KPj4gaXJxX2RvbWFpbl9jcmVhdGVfaGll
cmFyY2h5KCkgKG9yIGlycV9kb21haW5fYWRkX2hpZXJhcmNoeSgpKSB0byBhdm9pZA0KPj4g
aGF2aW5nIHJhY2luZyBhbGxvY2F0aW9ucyBhY2Nlc3MgYSBub3QgZnVsbHkgaW5pdGlhbGlz
ZWQgZG9tYWluLiBBcyBhDQo+PiBzYWZlZ3VhcmQsIHRoZSBsb2NrZGVwIGFzc2VydGlvbiBp
biBpcnFfZG9tYWluX3NldF9tYXBwaW5nKCkgd2lsbCBjYXRjaA0KPj4gYW55IG9mZmVuZGVy
cyB0aGF0IGFsc28gZmFpbCB0byBzZXQgdGhlIHJvb3QgZG9tYWluIHBvaW50ZXIuDQo+Pg0K
Pj4gVGVzdGVkLWJ5OiBIc2luLVlpIFdhbmcgPGhzaW55aUBjaHJvbWl1bS5vcmc+DQo+PiBU
ZXN0ZWQtYnk6IE1hcmstUEsgVHNhaSA8bWFyay1way50c2FpQG1lZGlhdGVrLmNvbT4NCj4+
IFNpZ25lZC1vZmYtYnk6IEpvaGFuIEhvdm9sZCA8am9oYW4rbGluYXJvQGtlcm5lbC5vcmc+
DQo+IA0KPiBCcm9rZSBYZW4uDQoNCkZpeGVkIHdpdGggY29tbWl0IGFkMzJhYjk2MDRmMi4N
Cg0KDQpKdWVyZ2VuDQo=
--------------1brh0jylh4ikgokNQLJKaWUi
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-----

--------------1brh0jylh4ikgokNQLJKaWUi--

--------------xRzMZYK008SexuahzDyWucOO--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQHRNIFAwAAAAAACgkQsN6d1ii/Ey9I
lwf9ES5dmEFfcLOojH7ZzPGUjs5d7HGdnwvcVTeRMrN7SLOTpfm2+Eudbjq9Q1BXD7WvmqD918sH
FEs/BqLb0MSbYYSE1Xjt2ZJ/iO+lH0RwFSTffO4fin2sxeMwpOuBffi9B6MQHmPfAHpawlldwygi
HWms/vUKqJUb5+tdwFHK0Z8nFxkuKVsux0ybfMJ0c5Ao9bVnxHimU9F8t0SygKY31qMMTb89LtRv
VWpHS/aPdmlmWyS/7K6hEdN043pL4uGHQ0HsWlz0a1wj+XocWQ5UOC6tYp6cmK0mLnAE0bs8QfAC
Z9zI+/jn7/foax/h021MmFlMy1Gg2mB62IG3ktaJGA==
=PkV3
-----END PGP SIGNATURE-----

--------------w9ucrDayWOH8tsGwTzYVKhmL--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:18:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:18:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507430.780909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZY8t-0001w0-3Q; Tue, 07 Mar 2023 14:18:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507430.780909; Tue, 07 Mar 2023 14:18:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZY8t-0001vt-0O; Tue, 07 Mar 2023 14:18:15 +0000
Received: by outflank-mailman (input) for mailman id 507430;
 Tue, 07 Mar 2023 14:18: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZY8s-0001vi-Bp
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:18:14 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e4665692-bcf2-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 15:18:12 +0100 (CET)
Received: from [2001:8b0:10b:5:640c:634b:db90:9c87]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZY8h-006TLE-Q9; Tue, 07 Mar 2023 14:18:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4665692-bcf2-11ed-a550-8520e6686977
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=/3jbkIwpVJ/VerNvF0LcqYUDPFjsDPeMNCNxu5wBOKE=; b=hFkr/k0HYfEwqSYnZYQjP6xJlB
	SXxUkyEFol6rmETacQwE3KcRkl3rQHT4mbB04b6bCdS0j7xAD2GH7E7L4ts18nSpzS4KqTFTsCNl5
	ozUNCPHKQefQC1Jwu6hiksRNHavxszZXWjuK359WHoH8pHiD18dz0cNTLvhsiIV5AqGBzf/jdJLIP
	n4eVT0xafl+uZ2d5mgpQERBO2dnkFMU1DCF+sIJl5FZ5mzSbCRUcd+pYBi/utNHEeySvJdB7rAUic
	CUZlnDu/ByqumJYilKO6h4lA/8GIkaHjAOzr6hqBIq3F8cp14EHEJ2iJpAQ8nABsWOB6QtexfHf9q
	Og4lznRg==;
Message-ID: <26e3ecb35c36d178cc7d02d04dfaeaaf51d58366.camel@infradead.org>
Subject: Re: [PATCH v6 20/20] irqdomain: Switch to per-domain locking
From: David Woodhouse <dwmw2@infradead.org>
To: Juergen Gross <jgross@suse.com>, Johan Hovold <johan+linaro@kernel.org>,
  Marc Zyngier <maz@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
 xen-devel <xen-devel@lists.xenproject.org>
Cc: x86@kernel.org, platform-driver-x86@vger.kernel.org, 
 linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org, 
 linux-kernel@vger.kernel.org, Hsin-Yi Wang <hsinyi@chromium.org>, Mark-PK
 Tsai <mark-pk.tsai@mediatek.com>
Date: Tue, 07 Mar 2023 14:18:01 +0000
In-Reply-To: <33118f0b-6752-7e4c-49a3-a8c9345f02a1@suse.com>
References: <20230213104302.17307-1-johan+linaro@kernel.org>
	 <20230213104302.17307-21-johan+linaro@kernel.org>
	 <f149fe1eb3836c14655e3e7eaa4032298ae68545.camel@infradead.org>
	 <33118f0b-6752-7e4c-49a3-a8c9345f02a1@suse.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-O5rbambac+Czr9Q3WDDZ"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Tue, 2023-03-07 at 15:06 +0100, Juergen Gross wrote:
> On 07.03.23 14:51, David Woodhouse wrote:
> > On Mon, 2023-02-13 at 11:43 +0100, Johan Hovold wrote:
> > > The IRQ domain structures are currently protected by the global
> > > irq_domain_mutex. Switch to using more fine-grained per-domain lockin=
g,
> > > which can speed up parallel probing by reducing lock contention.
> > >=20
> > > On a recent arm64 laptop, the total time spent waiting for the locks
> > > during boot drops from 160 to 40 ms on average, while the maximum
> > > aggregate wait time drops from 550 to 90 ms over ten runs for example=
.
> > >=20
> > > Note that the domain lock of the root domain (innermost domain) must =
be
> > > used for hierarchical domains. For non-hierarchical domains (as for r=
oot
> > > domains), the new root pointer is set to the domain itself so that
> > > &domain->root->mutex always points to the right lock.
> > >=20
> > > Also note that hierarchical domains should be constructed using
> > > irq_domain_create_hierarchy() (or irq_domain_add_hierarchy()) to avoi=
d
> > > having racing allocations access a not fully initialised domain. As a
> > > safeguard, the lockdep assertion in irq_domain_set_mapping() will cat=
ch
> > > any offenders that also fail to set the root domain pointer.
> > >=20
> > > Tested-by: Hsin-Yi Wang <hsinyi@chromium.org>
> > > Tested-by: Mark-PK Tsai <mark-pk.tsai@mediatek.com>
> > > Signed-off-by: Johan Hovold <johan+linaro@kernel.org>
> >=20
> > Broke Xen.
>=20
> Fixed with commit ad32ab9604f2.

Thanks.

--=-O5rbambac+Czr9Q3WDDZ
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MTQxODAxWjAvBgkqhkiG9w0BCQQxIgQgtFKrZPkh
35qQ1OUst9mi5TytFQGHvChC43pzoLEutQgwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAeAyUJ27zvjBYOYdSzp3h4W+0KitGJdW2R
WNLQETCB6qVFTvle/EZ9iZyMoOWDOV5vGV+0s6QulHjmP0UHU7DGwNVWHtUBAkPGKnon0QiKcS4s
ZuE+iYyu/Ey7LqMvLXwnZQBnmuLo9TE+ezzbyHDmTpFv7VQyZFqiHtT5NqndLsxDhHvdVeGX4Iwx
mAX2UEIAbYEp9AdIwQk4SZV0V2L28BfhEkg/CfC0fI9j3e8G6yyOa2D4unzXw6gvrSQ3t3TynWU3
qIdYNxC0dMKZpfPJvr9qjlo6bT1fJHeL7rm2RjeucerIyEoPTsoLafGvAEJcY5dSVohHfqKS4yEC
JAiuyQExSFfHjmkigpX9nu/9/OJ5rGlrJ94Psl1ZdBzjyI5JqzMCHA2zk9J0bucXGLbt5w9ZMhGK
soZR4RL4xZpOuvkLYcDvOeTFNEL90dg1hd/SHwmHXaW4Mj5nZvHIj4LYzkjCI13dPlKO87YVsevx
MrGssQXuwId57pqEZL5FEdVtx+bRKIvGI4ieGG0u1qSAhyp00eC69NyU8bSm5zHlaq1nQWKaLTCO
eEyC5J0ghShA6bviXnqn9FJGQBnm4mQ7fvf3CTsblyee/HxRlEOBWGDTowdZ4ak0BOhiZJ0dUatT
I/oN3hJkZTHYAPZ7rL6Gqmor0MzYCTIzzc+Zqe7ZQQAAAAAAAA==


--=-O5rbambac+Czr9Q3WDDZ--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:18:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:18:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507436.780919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZY9Q-0002UN-FS; Tue, 07 Mar 2023 14:18:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507436.780919; Tue, 07 Mar 2023 14: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 1pZY9Q-0002UG-BY; Tue, 07 Mar 2023 14:18:48 +0000
Received: by outflank-mailman (input) for mailman id 507436;
 Tue, 07 Mar 2023 14:18: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=4ndv=67=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZY9P-0002HE-BQ
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:18:47 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0603.outbound.protection.outlook.com
 [2a01:111:f400:fe02::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f852eb09-bcf2-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 15:18:46 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7962.eurprd04.prod.outlook.com (2603:10a6:10:1e7::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 14:18:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
 14:18: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: f852eb09-bcf2-11ed-96b5-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HrHfbkIQ8kuXswAIPOwXSo+SU8Fm/0l+boi+Oc8s1YWEjYO8+KsqyvFjkBQKNZ86bGniXzn7YltJcc5wPwT3g9H827w1YQdPt8E1GYv2xdN3Fa/soyVZxHAIiV0n3lGl+xQhW5cTRxJeGs4hAZFVBYa0vxpOVKMJTJv7pWjo6PrJwtRaGk8WSY75fGuOJ/8JyyhZBW65byc6V+BOACRsn4f3X+uDNjH9CqkFWaj7wqBFRmX4CR+yVMzvis0H0BOGZp/WhdApm/KhQHo2flRKEXg+kKt5Se2f1zWXSx4MTdjxaw6DO5dBEKhQujqflR07To1MDRvj046ZTTfqfGTGmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MNBXG18Uz8BkwbiBLxHtqKffUuQw5MlNCR2mFiJJPAo=;
 b=W6U6fmLS+SODtZIhXpsOTcjpS3mR/ypo8/CXSDLMEk1fndWtsUseWbw7vQ6tNfRi/P8V4A1r3SHqNJESddlywAWeelak0e+iuaBhbkLzthtl+V6DIsldkBF4nePiofaOq9u9B6uOINdPDFDU9pIaZSerGdjKF7XxD1KM8ZWf+ImZj9P33tHROQwOVS0UuEmTWlaWiGRdObZVsjg/9rZqlJZz6UTuOmW+wS50geeIdpQ+SHsziiZQ2Nj/7bK/AGhRWViJMgot0MWHChxY0BiM5IrYxJAe2tGCkn0uwNwnCcUami55KMURQ60clXQPJ/IDxE8p3AoaYs+q5+WFMGntkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MNBXG18Uz8BkwbiBLxHtqKffUuQw5MlNCR2mFiJJPAo=;
 b=1e6rfRUQQxMGNk3vkZbi35NXrWrDhFFYOJI+BOPREZVZmsxP8xiu4euPjOmzDTfG8g2HEbdAkbYFGuu/V5gbZR3er191FGHwdWkasinM8F5QtqEcf5SFm6BMY1eKjjOE2DkwZ7+L/AWzkjV9V6+miXLporFGLQmwVAEHw3YWI5yQvzVijV7Qujf4JWCuGmlKAKwyV0dK/7atnOuBvm1nHWZwpLcU69CDl58noZsfIaZ/82hXe1L9qwnJMg7ZnrZIoTFSnfKWNiVF0fLrBXVHmvj2QKDPUv8+nce2i5WgTazTAHqe8P6hFr+fwdZ/ZxaCj/VvnJz4qW9Rgy3HpBRCDg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <825c0085-ba84-9ede-ea91-f07dce66f214@suse.com>
Date: Tue, 7 Mar 2023 15:18:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 2/2] xen: update CONFIG_DEBUG_INFO help text
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: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-3-jgross@suse.com>
 <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>
 <d0aefe0b-4e71-458c-0072-345e1c505083@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d0aefe0b-4e71-458c-0072-345e1c505083@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0104.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7962:EE_
X-MS-Office365-Filtering-Correlation-Id: 04e4d39b-b388-49c8-47b1-08db1f16db52
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:
	5puQENxTcpDhDVG+Z4hPeBeiekD6FIHeY7vF8J/u7Josz/RExFIUCJqOaRsrb0HuMxD4H8Dh8j3uet40Yjvxk8fk2ZZ8/ebD/122xdAtHevQzasJm1hQBLT++WhunJJ7z6vm83fybqmDkxMlMh38aeIdmcEqYGvV8Qlu4hoGIF5A6O3qAr8FwVayVpU+VVUUvU9O/TbOHAe8sfHMYpivekpCVDZwGnSDdz6PP8cwxHxQxRS8tWda9XOO5ZdylN0ZpblSogtJMBsmS7D0o35y92wRUW5WVOV6WbuB1QnY6e5BC/QralpzCRtQO/yhIKZyCSAOJUfhwXLmxBFtKn72Tp+Yrk/it962TrLek9dvAMOmr5Vqfj8/lZNa8iS/UbwAqaHFnp+VsonT6uFFpPe2IN1vkDIu7LsPd6JRja7EkbV1RQLgz7pFTRB7vTe6U+kMqReEYdC3SGuqr2JdI0LmO3yeqn7v5Wm2w3Jt6f0QSwgcDx1aUHfG52WBL45jGNgM7wCmcTjo6gDJ7oiy2fuojevfgxEIPXyJAGBZv92ZK4VASOKLHXFkNyiT+WPMkDBGBQl3BlYdfWYJtawlyjXZxieqhMAI66mDtj0+z/MVK9A0B2rQlBhaa55Wr0+AKD9VnN2rC+mdzGnUwvXIEshk/H9omxbmYe5sHSe6setu0W517BXgnDMkwtwl73zWrZmSiJhXGASNrxz24vLrWE95mzzsirdW5HPJdHXfL+FiVmo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(396003)(136003)(376002)(346002)(366004)(451199018)(31686004)(8676002)(36756003)(4326008)(6862004)(66946007)(41300700001)(8936002)(6506007)(5660300002)(2906002)(38100700002)(86362001)(31696002)(66556008)(66476007)(6486002)(26005)(54906003)(316002)(478600001)(6512007)(6636002)(37006003)(2616005)(186003)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WERVUm1zQU9FR2JtNEIrejk4Z1VCTTlxYjNBY2ZOaHBRTnNyaC9iMFNzNUVz?=
 =?utf-8?B?eDltSkk1MEQzU2xCMkFMZU0rZHFEM1FWMGd1RjU2ZHFucE9XMnhBSTZVSmtK?=
 =?utf-8?B?aGloTERqOXNNRit6TWtHUzZ2VEVJR0RNbDdpV0RqcFpVeGo5WEM2dnlUTTdL?=
 =?utf-8?B?ZDZmb0U4eUNWNkRFWUtZMDFQWEtlVjdRcXJGNFIwRm1mTU01NzFDRHpaOEp5?=
 =?utf-8?B?MGVVZUwzSjBlSmNxVkh4L0NBMzNaWUxkYWVSN3U2U1JhK2Z0SHVyUTJuTVpX?=
 =?utf-8?B?cU0vYmVPbzZObWtEMWZFaEJ4UytMRFM5UXJoem9xaXl3dUlNMVlFOGo0MVI2?=
 =?utf-8?B?RVhtZGZVSEpTMWlFcWpOZWRTT3k1THJPdlFaejR4QVdHdytRU2lEdDhTTnpL?=
 =?utf-8?B?dUNnaW44dFBKTnlMRm1YQzFJUm9zR010QkQzcU1xUjJORklSR2JiSnp4ampx?=
 =?utf-8?B?ZnFsOE1Ga2Z6L3JuWG9qaHo1bHRnOVhWTzRQaDJXRVRQcnJFOXNSOTVSZG1N?=
 =?utf-8?B?M0Jvdnh6eGJhckkxWTUzNVNySHFJeEs4SVJFVjBjb3h6M2g3N0pENkZlWnlT?=
 =?utf-8?B?R1ErUkFoeW5FMzZwakp6Y2h4RmNoaU5xTWszR0p4OEJ5dDIxcVBDTXZEZWNo?=
 =?utf-8?B?OUZ1UFRBQS92SWF3TW1sVm9XY3ZtR3FBSStKb2JuTkpESER2bTZjOC9iY1R4?=
 =?utf-8?B?ZHRqZEtJblFSNEZlMDF1RGZjMllFbExSbjNYYjRDbWFzenZxMzdZcHZTYzBv?=
 =?utf-8?B?Rld5aWdjdnF6UWI5SHF1SG1NZEVIWERjTFpYVHI1U1JodFlrS0FIYzVmdzRv?=
 =?utf-8?B?VFVPczVpdFZPMWlHK3BXdkVqSlBoSUlSZDFkZUNYS1hoQnZmYzc5ajFyU083?=
 =?utf-8?B?YVpVWW5ObXBNUW5QMzJrTFUwdWdHVEtScWViM1d6UzdFZjFYYVBzQ0p3eFg3?=
 =?utf-8?B?cWNLM2ozWVBEUHExdlpBY2d1NEV5Sld4dnNxMVc3M3dzTWtnVi90c21qUDNq?=
 =?utf-8?B?M1ZsUm1kUXZUUjNyT0xxdWJmY2d4Z3o2b0dyUTZ5dlRwSWVoeHZRNnlIWFk5?=
 =?utf-8?B?aE5TWlhtTjZnblFSRC83Yk9HbDNnZGRlRjBPSW9qMWR3YzhDaTFNSWNqd0g0?=
 =?utf-8?B?WWwybVhqVGROZnZ6SDlrNTRKY0x3bGxsYktwQit5Q1JPSzFkaFRGYm80VWto?=
 =?utf-8?B?bmcxSE1pd2dkS1VDZlhIREFrdzVtRGNubVZETTBCeHhuMGhXQTE5RkNGSVlS?=
 =?utf-8?B?VXY1RS9WODBBZ2JiSjQyNmljdVNlMzlRYk10b3JDdmxFcDArWnViLzg4d0k4?=
 =?utf-8?B?N1M5dFg2Vm1pUENnRXZEd2d5OUduaHRUelpvcVI3WUt4ejh1WVhjK3MxS2lP?=
 =?utf-8?B?UnhoQVJmS1NCUUtRcElyRGcvb3EyRlZzcnlLSmE0N28wdUM0WkJPZnMwaGtG?=
 =?utf-8?B?eGV0V0ZONkZleFZxSk12U1ZyUWlGd1RISSswcmZ2a3ZpSGI3cVUybTk1S2pF?=
 =?utf-8?B?a1BNeVdDUzIvQy9SR2gyNUpsdW1DOFFwcWsxdkVxUDM5dHVWaWZVa2VDcGVt?=
 =?utf-8?B?Vkk4aHRTVFFHaThDcHl3YlY3THJ6aFY0Y3k2N0oweW5sOGQyZEhuUnkwR2Fl?=
 =?utf-8?B?dFhIYlJGSkVUUjM4c1Z1UXcxUjc2NFpNOXhoUzgrWm85alEzZUkwZk0xNzc3?=
 =?utf-8?B?NkJXQ0xDWHVQbmYwRnJNeFFybmNaZW1uWFhXaGRUVUVGY0xVSnE4VitFVnZr?=
 =?utf-8?B?Q3pOUmNqTTJ0L2N3T2EwR3FLcnlOQmhBVGMyYzR5bmJTbkxnREUwNHpqRnZi?=
 =?utf-8?B?OS9nRnd5S21hd3AwWjZZNU5xaStCTWhrMHFKV1VqaURLYlhRRm51eE5tWlNU?=
 =?utf-8?B?YkJ2RUp2RWFSMHhQN3Y2VWUzOXdsVGxNaHV0ZFZveFJCSGM4UytPN0VCMnVs?=
 =?utf-8?B?SGU3YUY3TWk4NThiV0VKNzVxNkU3bUY0aVdHQkpPRGtmeDBPREZFRWRUd0g3?=
 =?utf-8?B?dXRNSEg1b1VKOFlUNlFxbWs2WkdZbWJ1QTRKbFZlNTc2NXlhcUptU05IVmow?=
 =?utf-8?B?cjJxQ2Z2OWtNY3hCZnJ2VjBTMFV5NXBuelhKcnJhY2lLdjlmTDYxeU1seStU?=
 =?utf-8?Q?bQuLljmw27iG9aGAPbxwJyOMd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 04e4d39b-b388-49c8-47b1-08db1f16db52
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 14:18:43.3963
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: m+qDehsuCr+hVqH1cqHIpz8ddH++eKOJzXjSCW+ZvXMnskZvc8dlDJzsCoxDs5+qjyV3LWxnZ/+rrCxqzCJs6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7962

On 07.03.2023 15:04, Juergen Gross wrote:
> On 07.03.23 11:41, Jan Beulich wrote:
>> On 07.03.2023 07:32, Juergen Gross wrote:
>>> --- a/xen/Kconfig.debug
>>> +++ b/xen/Kconfig.debug
>>> @@ -15,8 +15,11 @@ config DEBUG_INFO
>>>   	bool "Compile Xen with debug info"
>>>   	default DEBUG
>>>   	---help---
>>> -	  If you say Y here the resulting Xen will include debugging info
>>> -	  resulting in a larger binary image.
>>> +	  Say Y here if you want to build Xen with debug information. This
>>> +	  information is needed e.g. for doing crash dump analysis of the
>>> +	  hypervisor via the "crash" tool.
>>> +	  Saying Y will increase the size of xen-syms and the built EFI
>>> +	  binary.
>>
>> Largely fine with me, just one question: Why do you mention xen-syms by
>> name, but then verbally describe xen.efi? And since, unlike for xen-syms,
> 
> For xen-syms I couldn't find an easily understandable wording. I'd be fine
> with just saying "xen.efi".
> 
>> this affects the installed binary actually used for booting (which may
>> be placed on a space constrained partition), it may be prudent to
>> mention INSTALL_EFI_STRIP here (as a way to reduce the binary size of
>> what ends up on the EFI partition, even if that wouldn't affect the
>> "normal" way of putting the binary on the EFI partition - people would
>> still need to take care of that in their distros).
> 
> What about adding a related Kconfig option instead?

How would a Kconfig option possibly affect this? You want debug info
in the xen.efi in its standard install location (outside of the EFI
partition); or else if you don't want it there why would you want it
in xen-syms? It is the step of populating the EFI partition from the
standard install location where some equivalent of INSTALL_EFI_STRIP
would come into play. That step is done outside of Xen's build
system and hence outside of any Kconfig control.

Jan

> I'd be fine with a textual mentioning of INSTALL_EFI_STRIP, too.
> 
>> I guess this size aspect wrt the EFI partition is actually something
>> that should also be mentioned in patch 1, because this can be an argument
>> against exposure of the option (precisely because it requires extra
>> activity to prevent the EFI partition running out of space).
> 
> This might be another reason to make it easily configurable.
> 
> 
> Juergen



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:22:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:22:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507440.780929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYCk-00046H-TI; Tue, 07 Mar 2023 14:22:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507440.780929; Tue, 07 Mar 2023 14: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 1pZYCk-00046A-QV; Tue, 07 Mar 2023 14:22:14 +0000
Received: by outflank-mailman (input) for mailman id 507440;
 Tue, 07 Mar 2023 14: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZYCi-000464-S4
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:22:12 +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 72cd7106-bcf3-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 15:22:10 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id e13so12265602wro.10
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 06:22:10 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 b3-20020a5d40c3000000b002ce37d2464csm8961236wrq.83.2023.03.07.06.22.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 06:22: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: 72cd7106-bcf3-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678198930;
        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=e1T7dwTAFynIqBbDPT+25OMILowKxuyALasx/unKD6A=;
        b=ah0BH9g0PDl8+P8TM81AODYdMIlTRJ3nnN0V7sjJDQSQMmrCv9UMlkpayOW/ccFnT8
         onwTS+v1PIqriHeg+o0DpY5tr76TiqqDmNJiMp8/eE+v6u21l/c7aKzBZ5ESCGslkDWq
         OYdTK+WRTpJgYiSazr7hKDujqNlGiOsURSHcy16/YhbmK2YWOk3eekUs+SNnC9aH4qBC
         QBglJlQ7L64P5Xq+zMhiCjv0t942LBdpQKFJ71Kzf8oFh9BU1wbBnzw2iNW6W5kKwbty
         k6oL1wod4Er9MfGf2cBWyApGLT/7JBbXETySYfZxVS9+GoNPTiIXg/H4PsIKrvQdrazf
         fsOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678198930;
        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=e1T7dwTAFynIqBbDPT+25OMILowKxuyALasx/unKD6A=;
        b=G5b8ajAILBH+yMgimXmvDeLB+IrpS5mlxv6NK6CVI752uUhZTebWDN4ZVRa5HDUsGZ
         ZkJp8nE3B/oA0P7+3GAxSfEjemPjemDRpbS7Wvw3wMTAQbQmWjFgG4hgqhzH42oBYBHZ
         AKnJrKcJ9bJKoBpPj138sC+COSBHVe7uuO63ZXo6FNhKYoBR9dyNMxbN3TyDtjWuEYeL
         8O8+DLojbmJjTwiQZbvhF5NHWw43W7qqoFDV6lhuovK3L8m67uc2RNeEuPkzFxFPDxXm
         xtefwpQMRvlN0L0Jc1LAgE9b3Q9qq+1Zwley0k7OBBiHJn4N17v+KGVqFX5vt0bD/Wov
         fyvg==
X-Gm-Message-State: AO0yUKVttvRsob4WziwycYMr0TCgGUKRlw+pz2GVqvOQQftU0SYHwjpL
	9I/Hv4/c/3fJDXpeWrv6udM=
X-Google-Smtp-Source: AK7set+/tlPexfD8420vsP0Uvu9OA/xu7ONG39HFE1Bfdz8z05dvKTOFlcpJ8UPQ5E/Xu1PKDjW+ng==
X-Received: by 2002:adf:eed1:0:b0:2c5:4c9f:cf3b with SMTP id a17-20020adfeed1000000b002c54c9fcf3bmr11972241wrp.7.1678198930253;
        Tue, 07 Mar 2023 06:22:10 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <fb9c8676-75b9-85c3-2eac-4cf7d31cd894@xen.org>
Date: Tue, 7 Mar 2023 14:22:08 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 10/25] hw/xen: Add gnttab operations to allow
 redirection to internal emulation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-11-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-11-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Move the existing code using libxengnttab to xen-operations.c and allow
> the operations to be redirected so that we can add emulation of grant
> table mapping for backend drivers.
> 
> In emulation, mapping more than one grant ref to be virtually contiguous
> would be fairly difficult. The best way to do it might be to make the
> ram_block mappings actually backed by a file (shmem or a deleted file,
> perhaps) so that we can have multiple *shared* mappings of it. But that
> would be fairly intrusive.
> 
> Making the backend drivers cope with page *lists* instead of expecting
> the mapping to be contiguous is also non-trivial, since some structures
> would actually *cross* page boundaries (e.g. the 32-bit blkif responses
> which are 12 bytes).
> 
> So for now, we'll support only single-page mappings in emulation. Add a
> XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE flag to indicate that the native Xen
> implementation *does* support multi-page maps, and a helper function to
> query it.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Signed-off-by: Paul Durrant <pdurrant@amazon.com>
[snip]
> @@ -65,7 +195,34 @@ struct evtchn_backend_ops libxenevtchn_backend_ops = {
>       .pending = xenevtchn_pending,
>   };
>   
> +static xengnttab_handle *libxengnttab_backend_open(void)
> +{
> +    return xengnttab_open(NULL, 0);
> +}
> +
> +
> +static struct gnttab_backend_ops libxengnttab_backend_ops = {
> +    .features = XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE,
> +    .open = libxengnttab_backend_open,
> +    .close = xengnttab_close,
> +    .grant_copy = libxengnttab_fallback_grant_copy,
> +    .set_max_grants = xengnttab_set_max_grants,
> +    .map_refs = xengnttab_map_domain_grant_refs,
> +    .unmap = xengnttab_unmap,
> +};
> +
>   void setup_xen_backend_ops(void)
>   {
> +#if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
> +    xengnttab_handle *xgt = xengnttab_open(NULL, 0);
> +
> +    if (xgt) {
> +        if (xengnttab_grant_copy(xgt, 0, NULL) == 0) {
> +            xen_gnttab_ops->grant_copy = libxengnttab_backend_grant_copy;

As we found out, this ^^^ is dereferencing a NULL pointer. Switching 
'xen_gnttab_ops->' for the obviously intended 
'libxengnttab_backend_ops.' fixes the problem.

> +        }
> +        xengnttab_close(xgt);
> +    }
> +#endif
>       xen_evtchn_ops = &libxenevtchn_backend_ops;
> +    xen_gnttab_ops = &libxengnttab_backend_ops;

With that rectified...

Reviewed-by: Paul Durrant <paul@xen.org>

>   }



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:23:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:23:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507443.780939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYDe-0004cc-6O; Tue, 07 Mar 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 507443.780939; Tue, 07 Mar 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 1pZYDe-0004cV-3l; Tue, 07 Mar 2023 14:23:10 +0000
Received: by outflank-mailman (input) for mailman id 507443;
 Tue, 07 Mar 2023 14:23: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=JVyd=67=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZYDc-0004Xu-Me
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:23: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 94e999e4-bcf3-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 15:23: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 B183621A02;
 Tue,  7 Mar 2023 14:23: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 77CBA1341F;
 Tue,  7 Mar 2023 14:23:07 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Tgy2G8tIB2TzeAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Mar 2023 14: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: 94e999e4-bcf3-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678198987; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=p7dwYvdhDL9Y2cul0RryA7tRWfAjrTaa1rEtFJj/yTU=;
	b=EoF3Lt4zEbPbm+S8oXSG0lFZZQM1kH9FRDu5e481Gnh6R8b/vJzFBaq6kVhOWW+sYSF9nA
	Y5m2T0BzChUu/YB5hdeqRrFxf2qfTh1rOj+ea8KlsBl0kjMQEoi1WaRqQpvcNxBlTFQvOb
	nJZVX2EpnS0/fYZBNHjq0vjMkzaKQBs=
Message-ID: <9537fcd2-99ae-0570-aba3-41fd1fefe4ba@suse.com>
Date: Tue, 7 Mar 2023 15:23:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [PATCH 2/2] xen: update CONFIG_DEBUG_INFO help text
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: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-3-jgross@suse.com>
 <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>
 <d0aefe0b-4e71-458c-0072-345e1c505083@suse.com>
 <825c0085-ba84-9ede-ea91-f07dce66f214@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <825c0085-ba84-9ede-ea91-f07dce66f214@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------s4paX0px1wy5RVY2G6ZzHfyz"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------s4paX0px1wy5RVY2G6ZzHfyz
Content-Type: multipart/mixed; boundary="------------4UE9M1trPRij4vFzGGL87QnT";
 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: <9537fcd2-99ae-0570-aba3-41fd1fefe4ba@suse.com>
Subject: Re: [PATCH 2/2] xen: update CONFIG_DEBUG_INFO help text
References: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-3-jgross@suse.com>
 <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>
 <d0aefe0b-4e71-458c-0072-345e1c505083@suse.com>
 <825c0085-ba84-9ede-ea91-f07dce66f214@suse.com>
In-Reply-To: <825c0085-ba84-9ede-ea91-f07dce66f214@suse.com>

--------------4UE9M1trPRij4vFzGGL87QnT
Content-Type: multipart/mixed; boundary="------------QNpfez70Op6Wy66dVmyY0Y4b"

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

T24gMDcuMDMuMjMgMTU6MTgsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNy4wMy4yMDIz
IDE1OjA0LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMDcuMDMuMjMgMTE6NDEsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDA3LjAzLjIwMjMgMDc6MzIsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IC0tLSBhL3hlbi9LY29uZmlnLmRlYnVnDQo+Pj4+ICsrKyBiL3hl
bi9LY29uZmlnLmRlYnVnDQo+Pj4+IEBAIC0xNSw4ICsxNSwxMSBAQCBjb25maWcgREVCVUdf
SU5GTw0KPj4+PiAgICAJYm9vbCAiQ29tcGlsZSBYZW4gd2l0aCBkZWJ1ZyBpbmZvIg0KPj4+
PiAgICAJZGVmYXVsdCBERUJVRw0KPj4+PiAgICAJLS0taGVscC0tLQ0KPj4+PiAtCSAgSWYg
eW91IHNheSBZIGhlcmUgdGhlIHJlc3VsdGluZyBYZW4gd2lsbCBpbmNsdWRlIGRlYnVnZ2lu
ZyBpbmZvDQo+Pj4+IC0JICByZXN1bHRpbmcgaW4gYSBsYXJnZXIgYmluYXJ5IGltYWdlLg0K
Pj4+PiArCSAgU2F5IFkgaGVyZSBpZiB5b3Ugd2FudCB0byBidWlsZCBYZW4gd2l0aCBkZWJ1
ZyBpbmZvcm1hdGlvbi4gVGhpcw0KPj4+PiArCSAgaW5mb3JtYXRpb24gaXMgbmVlZGVkIGUu
Zy4gZm9yIGRvaW5nIGNyYXNoIGR1bXAgYW5hbHlzaXMgb2YgdGhlDQo+Pj4+ICsJICBoeXBl
cnZpc29yIHZpYSB0aGUgImNyYXNoIiB0b29sLg0KPj4+PiArCSAgU2F5aW5nIFkgd2lsbCBp
bmNyZWFzZSB0aGUgc2l6ZSBvZiB4ZW4tc3ltcyBhbmQgdGhlIGJ1aWx0IEVGSQ0KPj4+PiAr
CSAgYmluYXJ5Lg0KPj4+DQo+Pj4gTGFyZ2VseSBmaW5lIHdpdGggbWUsIGp1c3Qgb25lIHF1
ZXN0aW9uOiBXaHkgZG8geW91IG1lbnRpb24geGVuLXN5bXMgYnkNCj4+PiBuYW1lLCBidXQg
dGhlbiB2ZXJiYWxseSBkZXNjcmliZSB4ZW4uZWZpPyBBbmQgc2luY2UsIHVubGlrZSBmb3Ig
eGVuLXN5bXMsDQo+Pg0KPj4gRm9yIHhlbi1zeW1zIEkgY291bGRuJ3QgZmluZCBhbiBlYXNp
bHkgdW5kZXJzdGFuZGFibGUgd29yZGluZy4gSSdkIGJlIGZpbmUNCj4+IHdpdGgganVzdCBz
YXlpbmcgInhlbi5lZmkiLg0KPj4NCj4+PiB0aGlzIGFmZmVjdHMgdGhlIGluc3RhbGxlZCBi
aW5hcnkgYWN0dWFsbHkgdXNlZCBmb3IgYm9vdGluZyAod2hpY2ggbWF5DQo+Pj4gYmUgcGxh
Y2VkIG9uIGEgc3BhY2UgY29uc3RyYWluZWQgcGFydGl0aW9uKSwgaXQgbWF5IGJlIHBydWRl
bnQgdG8NCj4+PiBtZW50aW9uIElOU1RBTExfRUZJX1NUUklQIGhlcmUgKGFzIGEgd2F5IHRv
IHJlZHVjZSB0aGUgYmluYXJ5IHNpemUgb2YNCj4+PiB3aGF0IGVuZHMgdXAgb24gdGhlIEVG
SSBwYXJ0aXRpb24sIGV2ZW4gaWYgdGhhdCB3b3VsZG4ndCBhZmZlY3QgdGhlDQo+Pj4gIm5v
cm1hbCIgd2F5IG9mIHB1dHRpbmcgdGhlIGJpbmFyeSBvbiB0aGUgRUZJIHBhcnRpdGlvbiAt
IHBlb3BsZSB3b3VsZA0KPj4+IHN0aWxsIG5lZWQgdG8gdGFrZSBjYXJlIG9mIHRoYXQgaW4g
dGhlaXIgZGlzdHJvcykuDQo+Pg0KPj4gV2hhdCBhYm91dCBhZGRpbmcgYSByZWxhdGVkIEtj
b25maWcgb3B0aW9uIGluc3RlYWQ/DQo+IA0KPiBIb3cgd291bGQgYSBLY29uZmlnIG9wdGlv
biBwb3NzaWJseSBhZmZlY3QgdGhpcz8gWW91IHdhbnQgZGVidWcgaW5mbw0KPiBpbiB0aGUg
eGVuLmVmaSBpbiBpdHMgc3RhbmRhcmQgaW5zdGFsbCBsb2NhdGlvbiAob3V0c2lkZSBvZiB0
aGUgRUZJDQo+IHBhcnRpdGlvbik7IG9yIGVsc2UgaWYgeW91IGRvbid0IHdhbnQgaXQgdGhl
cmUgd2h5IHdvdWxkIHlvdSB3YW50IGl0DQo+IGluIHhlbi1zeW1zPyBJdCBpcyB0aGUgc3Rl
cCBvZiBwb3B1bGF0aW5nIHRoZSBFRkkgcGFydGl0aW9uIGZyb20gdGhlDQo+IHN0YW5kYXJk
IGluc3RhbGwgbG9jYXRpb24gd2hlcmUgc29tZSBlcXVpdmFsZW50IG9mIElOU1RBTExfRUZJ
X1NUUklQDQo+IHdvdWxkIGNvbWUgaW50byBwbGF5LiBUaGF0IHN0ZXAgaXMgZG9uZSBvdXRz
aWRlIG9mIFhlbidzIGJ1aWxkDQo+IHN5c3RlbSBhbmQgaGVuY2Ugb3V0c2lkZSBvZiBhbnkg
S2NvbmZpZyBjb250cm9sLg0KDQpXZSBoYXZlIDIgYmluYXJpZXMgZm9yIHRoZSBub24tRUZJ
IGh5cGVydmlzb3IgKHhlbi1zeW1zIGFuZCB4ZW5bLmd6XSkuDQpXaHkgY2FuJ3Qgd2UgaGF2
ZSB0aGUgc2FtZSBmb3IgRUZJPyBFLmcuIHhlbi1zeW1zLmVmaSBhbmQgeGVuLmVmaS4NClRo
ZSBmb3JtZXIgd291bGQgaGF2ZSB0aGUgZGVidWctaW5mbywgdGhlIGxhdHRlciBjb3VsZCBi
ZSBpbnN0YWxsZWQNCmludG8gdGhlIEVGSSBwYXJ0aXRpb24uDQoNCg0KSnVlcmdlbg0K
--------------QNpfez70Op6Wy66dVmyY0Y4b
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-----

--------------QNpfez70Op6Wy66dVmyY0Y4b--

--------------4UE9M1trPRij4vFzGGL87QnT--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQHSMsFAwAAAAAACgkQsN6d1ii/Ey8P
FQgAix3d3K04JlBkZWaomKJ+mWb+mlL8/z8g34JXl+7b4S4DrHVbwjZW7oI+muaWzHGZCsI0zGW6
nzn8BWwGADeC+pbM0Yf9ZEBbr8S505MgT6t82JIOKRMNzUwys24winegkHHBGn0AxgtDNwqPvd8z
yImH/x9Blo9f8c7etEFvy8hnbXDQ8jC7wGfh1cje+QmRo4+OtmGGa2QpRWLqeY650Vkpp96OzGEr
n4vIiUgbsdcV0qHKT5YTxW1UjjmchWvhAZF43TXNVHufBn1pAG10dj2KgW3jbhFJM+xyBNHLUcmm
07XyqilBby4O2FWyJSvrnfL/p5Em9VJPpmtZiuPeiw==
=I+vC
-----END PGP SIGNATURE-----

--------------s4paX0px1wy5RVY2G6ZzHfyz--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:30:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:30:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507449.780949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYKn-0006IX-2B; Tue, 07 Mar 2023 14:30:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507449.780949; Tue, 07 Mar 2023 14: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 1pZYKm-0006IQ-V5; Tue, 07 Mar 2023 14:30:32 +0000
Received: by outflank-mailman (input) for mailman id 507449;
 Tue, 07 Mar 2023 14: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZYKm-0006IK-9l
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:30:32 +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 9d05cd61-bcf4-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 15:30:31 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 j19-20020a05600c191300b003eb3e1eb0caso10538657wmq.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 06:30:31 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 v12-20020a05600c12cc00b003de2fc8214esm12845019wmd.20.2023.03.07.06.30.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 06:30: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: 9d05cd61-bcf4-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678199431;
        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=lI7njEETZfbtZhY4ryxwf6AgQBevQ9BycQ5nRxlv40E=;
        b=KDLHCAg4VKsV4+wx8FZLc475Kq2fcW7k97rBoPbbr1Xg2RRbP6bAg17fcMHKJYynxj
         qvncC0Nz1cb+s+xbRvEExVUm4lV6btuFoRVvbtd0tCQy031r7m3+LexBc5oaBgeh3Rd1
         DQzEwQqDOtfMSl4KAoSzQCBZCECh03FWxkUOU0o/utqO4X2qFL9Fn/y5zO8SCFcjmE8V
         at/btXNafsNNGjnbfkKDV0ycU5G9lf8pB9g/LyygV2Hf9s6Z1fmTysKT2LS3ya/kC1P/
         4bOKVayyvLFpqUXnlCaEZ166v73Ikhq+pS+5rzpxeVxrESS4T1eaBYSRUcSI++tlRY+m
         CQow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678199431;
        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=lI7njEETZfbtZhY4ryxwf6AgQBevQ9BycQ5nRxlv40E=;
        b=J/6f8CUlnLrWUmhWmTHJTh/xWZ5kqo4OjjhGB8Sps3+DjxLgPiHk/7MdpnNWCpVmz+
         KSjRg6I+yNYACXv2BHI1cet33q14gh1sVa8sBZgnAqPUp3Lz7yj2QZX+AsuSj4IWJTkG
         8dcIr1hPOuVVU3dC2m6UaLkS/Ny7mG3FrCpGwAffpH+hc/+yM19N9WhJOpHRcmYFaUI7
         jFBASqcFTsSfXzhLT8btVww9dUp7tmd+riD0itkwQbV268He2VEjeWpYGUtxH+dwOt/F
         hA/MjFhYKo982k6qx4MfqkjcuZ/QqPj9MK8Q+NudHQOliGBIDhssvQSUQcpVXy28SFo5
         CPvg==
X-Gm-Message-State: AO0yUKXde7J3qfeXouuyqnuQeKm7Okv3N5Ua+z3F/XqJ1JbADqN7Fok/
	1YmWNOvLZcrrA+nvA6cH528=
X-Google-Smtp-Source: AK7set/r76LMNSw/ok5klQNRFQSycL7zdWrfke+YueXkMJLikpP0WP8+eAAfuOPN4RdwZR/Seb/1uQ==
X-Received: by 2002:a05:600c:45d3:b0:3e7:cee4:f8a with SMTP id s19-20020a05600c45d300b003e7cee40f8amr13037923wmo.29.1678199430711;
        Tue, 07 Mar 2023 06:30:30 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <4c5938c7-dc09-435d-1da3-6e9842c64d21@xen.org>
Date: Tue, 7 Mar 2023 14:30:29 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 11/25] hw/xen: Pass grant ref to gnttab unmap
 operation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-12-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-12-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> The previous commit introduced redirectable gnttab operations fairly
> much like-for-like, with the exception of the extra arguments to the
> ->open() call which were always NULL/0 anyway.
> 
> This *changes* the arguments to the ->unmap() operation to include the
> original ref# that was mapped. Under real Xen it isn't necessary; all we
> need to do from QEMU is munmap(), then the kernel will release the grant,
> and Xen does the tracking/refcounting for the guest.
> 
> When we have emulated grant tables though, we need to do all that for
> ourselves. So let's have the back ends keep track of what they mapped
> and pass it in to the ->unmap() method for us.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/9pfs/xen-9p-backend.c            |  7 ++++---
>   hw/block/dataplane/xen-block.c      |  1 +
>   hw/char/xen_console.c               |  2 +-
>   hw/net/xen_nic.c                    | 13 ++++++++-----
>   hw/usb/xen-usb.c                    | 21 ++++++++++++++++-----
>   hw/xen/xen-bus.c                    |  4 ++--
>   hw/xen/xen-legacy-backend.c         |  4 ++--
>   hw/xen/xen-operations.c             |  9 ++++++++-
>   include/hw/xen/xen-bus.h            |  2 +-
>   include/hw/xen/xen-legacy-backend.h |  6 +++---
>   include/hw/xen/xen_backend_ops.h    |  7 ++++---
>   11 files changed, 50 insertions(+), 26 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:34:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:34:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507452.780959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYOm-0006sv-Ja; Tue, 07 Mar 2023 14:34:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507452.780959; Tue, 07 Mar 2023 14: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 1pZYOm-0006so-Fk; Tue, 07 Mar 2023 14:34:40 +0000
Received: by outflank-mailman (input) for mailman id 507452;
 Tue, 07 Mar 2023 14:34:39 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=4ndv=67=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZYOl-0006sP-2j
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:34:39 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on061b.outbound.protection.outlook.com
 [2a01:111:f400:fe02::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2de43a51-bcf5-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 15:34:35 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8126.eurprd04.prod.outlook.com (2603:10a6:102:1bc::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 14:34:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
 14:34: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: 2de43a51-bcf5-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dwmtIVZijkSsfjTty1F9thoBv8roF270bD4v3TiBK7oZ7eDg2gnFQqT+wGgUW0kuOqfbyQNBhgYM1L+EFa9tJddzXgTxWv7pCy3MdVWR/SA7dO2REr+CEQbzOttz4ltHIkX2OPXrUtdw5KmS/TvDsePYNx5etEXMjrf2BcJSBm0zdyEHhwbeSQsko25xj4F43gWCeW/5y/TV1CUVCrHyIgC2wcXmS6TtNhhtSu9aSSBI07FHlaskVa8sNXMZVZr4n6/DBGFeDwF24Kwd0//4+p5hu/S5MAuoiyHVhEekukyhHNyE5EZvmafi84MfGat7d//OAoNUiQhI5uF4b8USjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nz80npVi72Tvjkc7EC5ts0i3fMZ+JO67v2Ty7Cmml04=;
 b=hk6gDK42RrJ89N2oydVTF9TP+NDKy2Jw1YdToSd0rqxIzXtBeYwKiBSo8OLwizz0qCTcmSO6BWnSGkRW0skTJz4VepEXfVSyVebmjzfPHubD9WSfuCCoiA2fH9fxTGINJ+n9aGTIrcLzqI4p55bbgdUhjYSl2PGKWoQWY1niMOBtzl56YRMBNB6DcZO4k+SMPe+S7hpt/xfiaJu63dqNjQ7HOPawrzEddjtaC2KXxwe5FeRCZzQKF5BMftsGQurEBGY95WNYz/GWuqan8HFw+h6nb7HNgMcsDOPldJjA7wb11X8eQp6t9ZdisMUs/k/39gEKwNYewP3M0bifj6voRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nz80npVi72Tvjkc7EC5ts0i3fMZ+JO67v2Ty7Cmml04=;
 b=ONrgSMeKcvV/jgiuWlHDdxm02ZW9K0sP5hKum/ZVzsnTmdayoO9tUk+r3PDNh0yWTd1HCGTHoGRaJDo/WpggoyfbRC9oHdC7H4Gy5DO0iT5s5ae6pdCHM2tnAMCN9D0QeQRSPu5G6ZdZ2+j9A45GdtPlW5Dw8YBpn2nFRR/lpw0byPepnptao+C5qfWHdzOc4uxr7m0ADvC3A72Cl3GJ6wRlkF/+KRoro5qzrHw9qdEyyPBN/KKx5SWgSYtC75hqWuPBcWniufjHJt0a83ZMT4AL3vEQILLtdz/tsx4Ea8vP925Q/p8PN0t7ZLLTP7iPq70p+1ipvvgxVVCKlKVatA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c8c8209f-0ad1-2a13-946d-0ac9a0f454bc@suse.com>
Date: Tue, 7 Mar 2023 15:34:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 2/2] xen: update CONFIG_DEBUG_INFO help text
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: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-3-jgross@suse.com>
 <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>
 <d0aefe0b-4e71-458c-0072-345e1c505083@suse.com>
 <825c0085-ba84-9ede-ea91-f07dce66f214@suse.com>
 <9537fcd2-99ae-0570-aba3-41fd1fefe4ba@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9537fcd2-99ae-0570-aba3-41fd1fefe4ba@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0102.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8126:EE_
X-MS-Office365-Filtering-Correlation-Id: 33f39697-f016-4cc8-9848-08db1f191069
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:
	5W1XfB1oCaOHRGKwUQw164z8a1ct909Akez/j7vT/elC8PTIHz1hgsU6P/K4IDvUnommXW6dfoXr0O0ykPhWzZ+oIDtzURl9oOEh8qgGYgbilUHeCs/K7AQbYz+HUkQjo6flNsv2KTZ4s1ypu9kPwK1cRNIp++XrZ/Ey68ZNURq3HfJudq+sB99YHUJbANClkwiBeYY8OD1igG41OZIKPqmr4I1x4o9UadT7z+k/6Pop7ERIRhnyFFCT9jC9v2eb4LneGUv1yCHqHrD1iI701eRQlgYuCDXCI3C6goUf6fGKw/82LAM3rYh3TTF1cMxTjfMxK3F7dLEuCTsL5uXG2ubHGTNAZItVmuGO6XCq6FE8Z3ebq/6YWqnjJ36swMjzP0Y39lOiGZ0bthZzbr5bnvm4YMAI+thKHOSmiaDUbhiSsLgu/pJoFFgCnkplnlV+aojYnJSDKyTOG2JdUOaWw6qrwrQS2+XPCNansGl/9IrNavgkw+YWFQqqHFGfibvY+TIXds0Y53D10JEhs06JxIYUevVLu/3BoLW3D+nxGia537u731sztymksHRGPtiXR5XpKrIYx6bfOl1vdjagBbzZUGRQVIc5GRPIaFVVRVFFIK5U+j1HwSYIVDfL92k+FX2oe1tcFCr3KbMgNrPukRenqXDBt7wB3QCS0tD/b21I9mu1b9lPLkIh+MNAW9c0KHG4vrj/eA2dC0eEJVi0i1kV+nmTRazbOeTPI8kiT7w=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(396003)(366004)(376002)(136003)(346002)(451199018)(316002)(31696002)(8676002)(66556008)(4326008)(66946007)(66476007)(86362001)(186003)(2616005)(26005)(38100700002)(36756003)(478600001)(54906003)(6636002)(37006003)(53546011)(6512007)(6506007)(6486002)(2906002)(8936002)(5660300002)(6862004)(31686004)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QmNmVS9CbzIvekZBYXFmUXUwbXQ0eERjVTZWK29BSEhrNm1BZXlqOXljWEdj?=
 =?utf-8?B?MWhzZVl3eHlIczBuL3RyTVdRUVF5aVJJL1RvTDBVU3RQbUR3dmd5WEZMT2I1?=
 =?utf-8?B?WENkS0hpVy9SOXlIaXNEYmpucE1oOEtGUWxpZE4xcTZCZXZ6NlVoQ3hhckV6?=
 =?utf-8?B?TDFCZTFKMWtNdkpDOXlGVjQwNVZMNXV2dUx5Z2hGRC9Pc0xhNlp1aTRKbTJB?=
 =?utf-8?B?MUg1bStzRnpaaHhxOHhaOEtMRlM4WFkwSnB2eEpZbkNEWDdOckxTZ1ZWUEZJ?=
 =?utf-8?B?YTAvSDJZbVIycEhNdlNybHVkRGh3UHNGazdlWHdIcVZBcllJazNQMlpBM0U3?=
 =?utf-8?B?SURMdGNkU0lWcGhkOUFoN0d3OElyT3NiT0VIRGw4aGg3bWgvZDlGd1A5NVlY?=
 =?utf-8?B?cTRLQ1RPbm9YYVBuZ1piUVVpcWFqbVZtVnNIazljQmNoTkZ5ZExRSHdqR1Jy?=
 =?utf-8?B?SzF3YUJGNTdjbzF6dklUTmdyZnJUZkJKaGl0eHBPZkJqMUFvcnhDaVR3ak0z?=
 =?utf-8?B?ejNtVXR4TnBFeFFHbDJSdWViQnViVWg3OEhnWStnMUJmN1lUZmduT0hyZ0ZJ?=
 =?utf-8?B?ZEw0Y1JuOUR4SUliQ2dnTXpUMHBoaWpaS0hVMnUvYkIyUStXTGdMdHU3ZDNh?=
 =?utf-8?B?NkdwVVp5bzVpR0VDMW04bW9QTWUyQnFja0hrM281NXZhNXh6UWk0U1FIMUhk?=
 =?utf-8?B?UE54cEg5eFlsMVpHVEFKbXJFeFRtOTlBSGFzZnhhcVl1VG91UXpaRk9SY1NL?=
 =?utf-8?B?Z3JweWxrTThLSDcyZ1VNbjdzOHV1REc0NDFkbEJ1L1JYM080ZVBabkh5OEZh?=
 =?utf-8?B?amliWTZ2RDlNZ3JudzEyVTQwSGoxM1o2bXJGZTFkT3VrOXdIc2FpeWIzcFFK?=
 =?utf-8?B?Mkg0THFDVjlNZWZMNG1STzJUL25sdkFVcVpDazRORnU3YXNua0hjSXNZZEI4?=
 =?utf-8?B?S1hwYjlIbTBGSWRHRjd2MXdFa0RCTVVXZGtYQWlIUk9ibFhaNHRoMmJ5MHZk?=
 =?utf-8?B?ZlVaOHlNRHhrTGg0ZDJQdDBEMzRWVlc0Y3VPeXF4TThicUZBTzZkTVFEMTVl?=
 =?utf-8?B?VG5td0d3cmZLMGM1VVpDVDVQdVJ2Rlg3czEwU2l1M3NrRVpCMVBuY3gwdVpl?=
 =?utf-8?B?N09jVVUyanBGMjYxN3YzS2xLSktqWjVzaFhQTWRzZVcrQWhZcUhreStRa3JM?=
 =?utf-8?B?bmM1N0RHZlU3V25hcUcxcUJiUjdZZWNzODVpV0llaTMvNjROdGkwamZPVGJx?=
 =?utf-8?B?ZUZHOUxCanNsK2ZRNklFNGYxWGYxSjlISU5rcHJ0S216UDJnbmZuMElJZEJo?=
 =?utf-8?B?TjZ0d2s0L3V4T1ZmME9IbSswNlk2UmdlTmkydW1BUHBEYTc5V2hMajZtMUI5?=
 =?utf-8?B?T2pYdjBkaXJ2K3JOeWJCbi8wakZiODRXTFlscjFBSmI2UFphYndaOExwQUxF?=
 =?utf-8?B?eGx4TXU1UHk4RE1VMkVHNXU4YllyVmVWREw0SSttRnk3Y3JDLzkzR0xFOXdq?=
 =?utf-8?B?a3JId0xWY05XYStMS1lxVFUwYmEramJjV2ZUMFowTjgxdWltdzN5cFB4cWhE?=
 =?utf-8?B?eHFHdXFxVzZjcXBFbm00azAxMVVrU1ZIN1ByeHNrTkdOZlNDa2I4Y1RBWkFC?=
 =?utf-8?B?Ni9IUDBJVVZEaWVrZWNLZG5rYkRlbnBqT29vWWYvNnJVM1VMQng3Qm9GUSt2?=
 =?utf-8?B?WnNJWjBpR2V6NjRTTFlWYXh5dTRVQzJ0S2xWeFA2REdqZ3R0U0lYanAwbU9z?=
 =?utf-8?B?djU2c21HWFl4eUdIaFUxMEV1RHNZc2lzcENlaHV4V0VLZk15NTBGYkViZDdN?=
 =?utf-8?B?WElNZkxBSDBUQjZMdmdZNjUzSjBKbE1GYUI3b1ZMRzk1YXNuTjNnQTUwZUR2?=
 =?utf-8?B?dWVoMGg2SlBiS0J0NDJ4c1RnMTZUY0FNYzhKbXNpc0R3bTBUYWRVNEIyRE9v?=
 =?utf-8?B?Vk9pMHZ5UGEzdnFHZTZScWx0UXNtVTZkUHhUN2hMZGJuWkYwTlhESy9DNWVO?=
 =?utf-8?B?RUtQN0RHWjgrYXBiZWNVZDZwcHMzQUNWWE0wNW5NbFF0RzcvVXBONGZUZnBG?=
 =?utf-8?B?UTZyS2Nwd0lhTTg1RG02c0ZmZGtIakFMRnBmd1Mxbk9nZVphcjFvTVRwbW1B?=
 =?utf-8?Q?07oyuqf/Y6v+qEA06wUKLGk7Q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 33f39697-f016-4cc8-9848-08db1f191069
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 14:34:31.4618
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kG1LozC0A/eVDXqzkLqO6COPyjM01LUL/4bB2SWLQ9QrphnPV0Z2JKQcbzIA60bjzQpS/srRIYhJ+5j1iTRnqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8126

On 07.03.2023 15:23, Juergen Gross wrote:
> On 07.03.23 15:18, Jan Beulich wrote:
>> On 07.03.2023 15:04, Juergen Gross wrote:
>>> On 07.03.23 11:41, Jan Beulich wrote:
>>>> On 07.03.2023 07:32, Juergen Gross wrote:
>>>>> --- a/xen/Kconfig.debug
>>>>> +++ b/xen/Kconfig.debug
>>>>> @@ -15,8 +15,11 @@ config DEBUG_INFO
>>>>>    	bool "Compile Xen with debug info"
>>>>>    	default DEBUG
>>>>>    	---help---
>>>>> -	  If you say Y here the resulting Xen will include debugging info
>>>>> -	  resulting in a larger binary image.
>>>>> +	  Say Y here if you want to build Xen with debug information. This
>>>>> +	  information is needed e.g. for doing crash dump analysis of the
>>>>> +	  hypervisor via the "crash" tool.
>>>>> +	  Saying Y will increase the size of xen-syms and the built EFI
>>>>> +	  binary.
>>>>
>>>> Largely fine with me, just one question: Why do you mention xen-syms by
>>>> name, but then verbally describe xen.efi? And since, unlike for xen-syms,
>>>
>>> For xen-syms I couldn't find an easily understandable wording. I'd be fine
>>> with just saying "xen.efi".
>>>
>>>> this affects the installed binary actually used for booting (which may
>>>> be placed on a space constrained partition), it may be prudent to
>>>> mention INSTALL_EFI_STRIP here (as a way to reduce the binary size of
>>>> what ends up on the EFI partition, even if that wouldn't affect the
>>>> "normal" way of putting the binary on the EFI partition - people would
>>>> still need to take care of that in their distros).
>>>
>>> What about adding a related Kconfig option instead?
>>
>> How would a Kconfig option possibly affect this? You want debug info
>> in the xen.efi in its standard install location (outside of the EFI
>> partition); or else if you don't want it there why would you want it
>> in xen-syms? It is the step of populating the EFI partition from the
>> standard install location where some equivalent of INSTALL_EFI_STRIP
>> would come into play. That step is done outside of Xen's build
>> system and hence outside of any Kconfig control.
> 
> We have 2 binaries for the non-EFI hypervisor (xen-syms and xen[.gz]).
> Why can't we have the same for EFI? E.g. xen-syms.efi and xen.efi.
> The former would have the debug-info, the latter could be installed
> into the EFI partition.

I view the two-binaries model of the non-EFI case as merely an
implementation detail; it just so happens that there's little point
in mkelf32 retaining debug info. I therefore don't view it as very
reasonable to artificially introduce yet another binary. Another
thing would be if there was a way to produce a binary without
debug info accompanied by a separate file holding just the debug
info. Yet I'm unaware of such being possible with PE/COFF binaries.

But yes - technically this might be an option (although, just to
mention it, I'm having a vague recollection of there being an issue
with this, but I can't say what this might be, plus it is easily
possible that I'm misremembering or mixing up things).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:41:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:41:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507455.780969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYUn-0008Sq-7k; Tue, 07 Mar 2023 14:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507455.780969; Tue, 07 Mar 2023 14: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 1pZYUn-0008Sj-4z; Tue, 07 Mar 2023 14:40:53 +0000
Received: by outflank-mailman (input) for mailman id 507455;
 Tue, 07 Mar 2023 14: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZYUm-0008Sd-5O
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:40:52 +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 0dfedb23-bcf6-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 15:40:50 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 l7-20020a05600c4f0700b003e79fa98ce1so7337963wmq.2
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 06:40:50 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 m18-20020a05600c3b1200b003db0ad636d1sm18553965wms.28.2023.03.07.06.40.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 06:40: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: 0dfedb23-bcf6-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678200050;
        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=Cd7r0E6egEeOQJKPiGStKR4A/mQxjInl3PZyVX0qqN4=;
        b=boRiul5MDGRzTHWvmpZKeuB3QNhk9U3VoOjDYMlNZHbzck0rRn7HMVqK8eT0VxhhGh
         iFB7HJFP4280Jcc8UyvJghLSGOf2182uwqQm8JCSiu5m5hPoJBfviZ2d25Kov3PuU6lW
         pSKkay3ZOQUtve1U0WcTksrFbtRH3LmZmzwb7bYvEh9I6rrLRVTvJqG9qUBhO/EcoEfE
         zecP8azTx1dmdX+LxcVETQjhaFNrTsIskJb3cH5ndyBnWsgzEd7oz1KBxaYIroz+90LV
         eMErCDVSFZlkQRj9pfIaSIaAZAXNoovsAR5g8lc8q2ODcHn4PLo0ewXo/pe8r20njYXg
         s70g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678200050;
        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=Cd7r0E6egEeOQJKPiGStKR4A/mQxjInl3PZyVX0qqN4=;
        b=onNRnO7E8gqTNJesI3lkGpnpn2GIjoDsw8Vpq2UJC4nhWtgX0BbMtTnJKdxTZ5ERq3
         CuffUFb/Y0jAdVHQ4BXQGs+zeDXYK8pumBPSqSLTwmlKCoQ8L7Uui1h0Aj0Y8yZc+2cC
         kDombM6AcRhG5eQEPgV1NeWi7tGppYsV8iBSt7a06Mqv7JqbGA0wXaSfFLQ78dFDvgLf
         tkLJPL+MHHbqiqpy21Cfbyo0yX367nO580L0o7ja4mP3XBzTZtlPBG+mAHMu57dElQcZ
         95rOzpsoJ70ZPdZyhCwDjHgh0pAjFfucmf6B5sOfdC2vFmAc0WW1jDIMhaaYB+d3dJyh
         oMsA==
X-Gm-Message-State: AO0yUKVuu4jQfBLiryuTAPgojIBT2Fil8vQqI2dm4sDdM+hygMxb4L9j
	I9jqYVuVOQQ/4eNM60rVFI0=
X-Google-Smtp-Source: AK7set9ka4HjGPxXSbVhfdpPv+uZeUTPWrsODgLJe+MS+2XAXrYwMmCaoipDOHJZ+PqHIYxTcZDr7Q==
X-Received: by 2002:a05:600c:4f14:b0:3eb:1d0c:ad71 with SMTP id l20-20020a05600c4f1400b003eb1d0cad71mr12613828wmq.23.1678200049812;
        Tue, 07 Mar 2023 06:40:49 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <470e51bf-5159-fd32-93b5-03f5bdf5f050@xen.org>
Date: Tue, 7 Mar 2023 14:40:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 12/25] hw/xen: Add foreignmem operations to allow
 redirection to internal emulation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-13-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-13-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Signed-off-by: Paul Durrant <pdurrant@amazon.com>
> ---
>   hw/char/xen_console.c            |  8 +++---
>   hw/display/xenfb.c               | 20 +++++++-------
>   hw/xen/xen-operations.c          | 45 ++++++++++++++++++++++++++++++++
>   include/hw/xen/xen_backend_ops.h | 26 ++++++++++++++++++
>   include/hw/xen/xen_common.h      | 13 ---------
>   softmmu/globals.c                |  1 +
>   tests/unit/test-xs-node.c        |  1 +
>   7 files changed, 88 insertions(+), 26 deletions(-)
> 
[snip]
> diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
> index d4d10d3ff1..632ce617cc 100644
> --- a/include/hw/xen/xen_common.h
> +++ b/include/hw/xen/xen_common.h
> @@ -32,19 +32,6 @@ typedef xc_interface xenforeignmemory_handle;
>   #define xenforeignmemory_open(l, f) xen_xc
>   #define xenforeignmemory_close(h)
>   
> -static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
> -                                         int prot, size_t pages,
> -                                         const xen_pfn_t arr[/*pages*/],
> -                                         int err[/*pages*/])
> -{
> -    if (err)
> -        return xc_map_foreign_bulk(h, dom, prot, arr, err, pages);
> -    else
> -        return xc_map_foreign_pages(h, dom, prot, arr, pages);
> -}
> -
> -#define xenforeignmemory_unmap(h, p, s) munmap(p, s * XC_PAGE_SIZE)
> -

Actually, probably best 'static inline' that, or at least put brackets 
round the 'p' and 's' for safety.

With either one of those options chosen...

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:44:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:44:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507459.780979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYYF-0000bc-Nt; Tue, 07 Mar 2023 14:44:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507459.780979; Tue, 07 Mar 2023 14:44: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 1pZYYF-0000bV-Jp; Tue, 07 Mar 2023 14:44:27 +0000
Received: by outflank-mailman (input) for mailman id 507459;
 Tue, 07 Mar 2023 14:44: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZYYD-0000bN-R8
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:44:25 +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 8d6079ef-bcf6-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 15:44:24 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 j19-20020a05600c191300b003eb3e1eb0caso10567832wmq.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 06:44:24 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 g12-20020a05600c310c00b003dc49e0132asm18819877wmo.1.2023.03.07.06.44.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 06: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: 8d6079ef-bcf6-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678200263;
        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=1vpSbqsNRdvuEz3fFpUC5AJNPHlYHSh6keWZcRzex34=;
        b=QUJjvrSsP3R/DyVq3RYS8W+EkMZ7KQk1SXtKGOIgzYMaDkNiHvSEoEPURvwLYY545o
         NR62RAi2BLIShZGaR2zfjiEsqDmdSAzAgNxXEup5pRC9whG7dhaum65/0f3F1sFH12wn
         KoEJI1EM8RjybN0GakwSeSMmDQAKFDUJE8H7k7RxCXgrXE/ibyFSh3GZjN8AOUI/RVuf
         GNT9pMpF2xiIVHXDiJTiTayqafpcpY4i/BZ3uqgLEvfGDAQb685LIZ7IKB9BaXNRD/wh
         HZRusZSxork5eOOjtHNrL72AKAZ6lhxg4fVX4rCJnj1d/9wwNLMu/T8Fmp15tmFbzTLM
         gjRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678200263;
        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=1vpSbqsNRdvuEz3fFpUC5AJNPHlYHSh6keWZcRzex34=;
        b=rRtSEP57K3CKYNr2YJ17IyIAa3v+tOwdxrjkSwlY3UxuerkxeBxnf4u3yMW/8OCTNG
         HES1TRh8SDgUCNtpt3WP8MRlYYKsUPfZvjc1dWvyPnDKTB/400iL1Y9hwN9x0SjWqwK+
         3wX7daXz/uibMVy8QwoR7aC9HGudGlSyIJknTIjtYxT7M4dzP+VwoHsk8yfRd+ilIZaf
         PYO5J7CNIttozCmxtwhGhZXmbeiW/Vq5nv/QKJ6hcyp6Ca+pqoIVHAix5sHLHD7xA6pY
         6RD+JsWvLFdb3hMQBqIUu/XWYJn5fPCoUILKRprtMpGMfC1m5KMsDrDajOhMVTED44m7
         eyaA==
X-Gm-Message-State: AO0yUKUWcbGvjOspkxyfSFnN/pnnoMNZREk2SCApXLoNZTA72VJZ8miX
	IqaMEDQGY2Jbe9WxOFaZMjs=
X-Google-Smtp-Source: AK7set/1x6a2eQiNZ8loKuPP8J1iGUxMdVAbiKgnuFwid8+qGYKokj4HfdyME5UUK8UpvrJC+yYJJg==
X-Received: by 2002:a05:600c:450d:b0:3d9:f769:2115 with SMTP id t13-20020a05600c450d00b003d9f7692115mr13555203wmo.26.1678200263423;
        Tue, 07 Mar 2023 06:44:23 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <71e68af5-1528-f5c3-221a-5166af9396c6@xen.org>
Date: Tue, 7 Mar 2023 14:44:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 13/25] hw/xen: Add xenstore operations to allow
 redirection to internal emulation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-14-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-14-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: Paul Durrant <pdurrant@amazon.com>
> 
> Signed-off-by: Paul Durrant <pdurrant@amazon.com>
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   accel/xen/xen-all.c                 |  11 +-
>   hw/char/xen_console.c               |   2 +-
>   hw/i386/kvm/xen_xenstore.c          |   3 -
>   hw/i386/kvm/xenstore_impl.h         |   8 +-
>   hw/xen/xen-bus-helper.c             |  62 +++----
>   hw/xen/xen-bus.c                    | 261 ++++------------------------
>   hw/xen/xen-legacy-backend.c         | 119 +++++++------
>   hw/xen/xen-operations.c             | 198 +++++++++++++++++++++
>   hw/xen/xen_devconfig.c              |   4 +-
>   hw/xen/xen_pt_graphics.c            |   1 -
>   hw/xen/xen_pvdev.c                  |  49 +-----
>   include/hw/xen/xen-bus-helper.h     |  26 +--
>   include/hw/xen/xen-bus.h            |  17 +-
>   include/hw/xen/xen-legacy-backend.h |   6 +-
>   include/hw/xen/xen_backend_ops.h    | 163 +++++++++++++++++
>   include/hw/xen/xen_common.h         |   1 -
>   include/hw/xen/xen_pvdev.h          |   2 +-
>   softmmu/globals.c                   |   1 +
>   18 files changed, 525 insertions(+), 409 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:44:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:44:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507460.780989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYYL-0000tH-1y; Tue, 07 Mar 2023 14:44:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507460.780989; Tue, 07 Mar 2023 14:44: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 1pZYYK-0000tA-VN; Tue, 07 Mar 2023 14:44:32 +0000
Received: by outflank-mailman (input) for mailman id 507460;
 Tue, 07 Mar 2023 14: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=XRF8=67=gmail.com=matiasevara@srs-se1.protection.inumbo.net>)
 id 1pZYYK-0000sR-44
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:44:32 +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 919a946c-bcf6-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 15:44:31 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id k37so7960475wms.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 06:44:31 -0800 (PST)
Received: from horizon (lfbn-gre-1-246-234.w90-112.abo.wanadoo.fr.
 [90.112.203.234]) by smtp.gmail.com with ESMTPSA id
 v16-20020a05600c471000b003e9ded91c27sm18796101wmo.4.2023.03.07.06.44.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Mar 2023 06:44: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: 919a946c-bcf6-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678200270;
        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=uksrb4+N3txK0Dgw/vUdYDorW3X2SBQSdUvTrcwhzFg=;
        b=MxWid/Ol0ic7aFSWZiExdg8hH+Yo9ctr9OZlmsUzrN/kKdAY37XxLbnPFmZbk2Xcsb
         bjI+IrwFreV4mfiuzyfWzE8F3sP4LNEh5FvNKebYb2TyMxWe57QKH3q8FBonbR06Sfev
         No8PHrFDzjBRAU/EWJd4x2jLaj0PdAABdsDG1wEOCwDD82BBViZ+LGSkE7IdV7PpzJcc
         eoSTVqgVmh355mUgTjP8U5RLXdh7eocVcjpwJyvbOaoT5xfK4PNFR88LYuOd3NyDf54G
         +D0NwPVkHi/0OajktEpgl3iU0mYqZfeFKyI3lDPCiorkrOorlfydWSrngeDzJkNPOV9l
         e1Jw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678200270;
        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=uksrb4+N3txK0Dgw/vUdYDorW3X2SBQSdUvTrcwhzFg=;
        b=svrpgWNvrmZ1TCuoAHKCyAM1bBid5IeuC9qU6RTlvqH8Z5/C+dnl5bNyJ8tn4iJV2X
         q453bHn+0z6ItmK6EFNEOhvvWtISHmuvB/ezCITn98d7QUAmAuO0qmkprgPsJZOV3lqF
         UFbSOp9OZj2x0QocIXz7uzYdkAzFeRNxG4AEDYVa/NGJtw2zKs+nO5enz6UZYJM1OGDU
         ba0BSsT644NFEXAD4IvZ4mqJiHyYtMeo3jW3fxKOrTomo4DHk/HJartw/GLb+6L7YWOZ
         419rPlaSMZlI81l+/UIGX2buE+yUKL9FYo36NPRzWz/sEl+4vK2d49lhFkSOWn9F5TiF
         myTw==
X-Gm-Message-State: AO0yUKVxytDf1uPrtVy7A4SOCt8fiYPKnuuFR+iRhCocuTRQ9J+tG+gw
	/vVZkBJ3jjpQWRvKEMOYxcM=
X-Google-Smtp-Source: AK7set+2F/zIbh/UG/1NomK3tD46DqiIAbQYWGEIVoUW36VvoDwxPxhi9LhQA20JCPy4S7hH7GN9ag==
X-Received: by 2002:a05:600c:45d2:b0:3eb:39e7:35fe with SMTP id s18-20020a05600c45d200b003eb39e735femr12392862wmo.30.1678200270320;
        Tue, 07 Mar 2023 06:44:30 -0800 (PST)
Date: Tue, 7 Mar 2023 15:44:27 +0100
From: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [RFC PATCH v2 1/2] xen/memory : Add a stats_table resource type
Message-ID: <20230307144427.GA997565@horizon>
References: <cover.1665138677.git.matias.vara@vates.fr>
 <af6032c9f5863b7e6fb183a0a197407ec92bb067.1665138677.git.matias.vara@vates.fr>
 <b59b6466-8d06-f7af-beb9-3c38c638a455@suse.com>
 <3aa736d3-b833-0c6c-2a41-71cc4b953aae@suse.com>
 <20230217085006.GA2281468@horizon>
 <7e79d20d-0922-565a-e46d-e3366c0bcfb4@suse.com>
 <20230217092948.GA2282871@horizon>
 <9864e936-5c77-a790-e36c-766d5359cd83@suse.com>
 <20230223121647.GA3260113@horizon>
 <496b1fd7-4540-66c6-be89-51f20a6666ab@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <496b1fd7-4540-66c6-be89-51f20a6666ab@suse.com>

On Thu, Feb 23, 2023 at 01:42:08PM +0100, Jan Beulich wrote:
> On 23.02.2023 13:16, Matias Ezequiel Vara Larsen wrote:
> > On Fri, Feb 17, 2023 at 03:10:53PM +0100, Jan Beulich wrote:
> >> On 17.02.2023 10:29, Matias Ezequiel Vara Larsen wrote:
> >>> On Fri, Feb 17, 2023 at 09:57:43AM +0100, Jan Beulich wrote:
> >>>> On 17.02.2023 09:50, Matias Ezequiel Vara Larsen wrote:
> >>>>> On Wed, Dec 14, 2022 at 08:56:57AM +0100, Jan Beulich wrote:
> >>>>>> On 14.12.2022 08:29, Jan Beulich wrote:
> >>>>>>> On 07.10.2022 14:39, Matias Ezequiel Vara Larsen wrote:
> >>>>>>>> +static int stats_vcpu_alloc_mfn(struct domain *d)
> >>>>>>>> +{
> >>>>>>>> +    struct page_info *pg;
> >>>>>>>> +
> >>>>>>>> +    pg = alloc_domheap_page(d, MEMF_no_refcount);
> >>>>>>>
> >>>>>>> The ioreq and vmtrace resources are also allocated this way, but they're
> >>>>>>> HVM-specific. The one here being supposed to be VM-type independent, I'm
> >>>>>>> afraid such pages will be accessible by an "owning" PV domain (it'll
> >>>>>>> need to guess the MFN, but that's no excuse).
> >>>>>>
> >>>>>> Which might be tolerable if it then can't write to the page. That would
> >>>>>> require "locking" the page r/o (from guest pov), which ought to be
> >>>>>> possible by leveraging a variant of what share_xen_page_with_guest()
> >>>>>> does: It marks pages PGT_none with a single type ref. This would mean
> >>>>>> ...
> >>>>>>
> >>>>>>>> +    if ( !pg )
> >>>>>>>> +        return -ENOMEM;
> >>>>>>>> +
> >>>>>>>> +    if ( !get_page_and_type(pg, d, PGT_writable_page) ) {
> >>>>>>
> >>>>>> ... using PGT_none here. Afaict this _should_ work, but we have no
> >>>>>> precedent of doing so in the tree, and I may be overlooking something
> >>>>>> which prevents that from working.
> >>>>>>
> >>>>>
> >>>>> I do not fully understand this. I checked share_xen_page_with_guest() and I
> >>>>> think you're talking about doing something like this for each allocated page to
> >>>>> set them ro from a pv guest pov:
> >>>>>
> >>>>> pg->u.inuse.type_info = PGT_none;
> >>>>> pg->u.inuse.type_info |= PGT_validated | 1;
> >>>>> page_set_owner(page, d); // not sure if this is needed
> >>>>>
> >>>>> Then, I should use PGT_none instead of PGT_writable_page in
> >>>>> get_page_and_type(). Am I right?
> >>>>
> >>>> No, if at all possible you should avoid open-coding anything. As said,
> >>>> simply passing PGT_none to get_page_and_type() ought to work (again, as
> >>>> said, unless I'm overlooking something). share_xen_page_with_guest()
> >>>> can do what it does because the page isn't owned yet. For a page with
> >>>> owner you may not fiddle with type_info in such an open-coded manner.
> >>>>
> >>>
> >>> Thanks. I got the following bug when passing PGT_none:
> >>>
> >>> (XEN) Bad type in validate_page 0 t=0000000000000001 c=8040000000000002
> >>> (XEN) Xen BUG at mm.c:2643
> >>
> >> The caller of the function needs to avoid the call not only for writable
> >> and shared pages, but also for this new case of PGT_none.
> > 
> > Thanks. If I understand correctly, _get_page_type() needs to avoid to call
> > validate_page() when type = PGT_none.
> 
> Yes.
> 
> > For the writable and shared pages, this
> > is avoided by setting nx |= PGT_validated. Am I right?
> 
> Well, no, I wouldn't describe it like that. The two (soon three) types not
> requiring validation simply set the flag without calling validate_page().
> 

I see, thanks. I added the corresponding check at _get_page_type() to set the
flag without calling validate_page() for the PGT_none type. I think I am
missing something when I am releasing the pages. I am triggering the following
BUG() when issuing put_page_and_type():
 
(XEN) Xen BUG at mm.c:2698

This is at devalidate_page(). I guess the call to devalidate_page() shall be
also avoided. I was wondering if put_page_and_type() is required in this case.

Matias


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:47:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:47:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507467.780999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYbK-0001op-Gh; Tue, 07 Mar 2023 14:47:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507467.780999; Tue, 07 Mar 2023 14: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 1pZYbK-0001oi-DO; Tue, 07 Mar 2023 14:47:38 +0000
Received: by outflank-mailman (input) for mailman id 507467;
 Tue, 07 Mar 2023 14:47: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZYbJ-0001oM-9b
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:47:37 +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 ff419d96-bcf6-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 15:47:35 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id c18so7930599wmr.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 06:47:35 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 t25-20020a05600c329900b003eb5ce1b734sm13767030wmp.7.2023.03.07.06.47.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 06:47: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: ff419d96-bcf6-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678200454;
        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=8pvI8mWRtOffX7ZweM8Bm3DrCuqAqcnBQHi5XLhLR0g=;
        b=alYzenEzUp2r8Vy229p1P745TTWU2+ZbX8TzLWtvWRpPTXeMlGbQOHk4ZajY3xz/6N
         GzUHEl4YuqPe4t8Hl5ZNwZ8LELWkAFQhvfbYQm1DUZYbd619DH1lg6g7XPPUWe7Y2fV/
         +fQCuSVMU0L/57kbsIA7seQry9CANI0eKyWWb/qw99ndtV4jh9eIm0f25Ug8xHU4KCPk
         Kdggq0ySW+815Q28xTYIn8fck+oqEZF69IJUlk//i+ydQAtNhybPiLTNLGDL/zHZNp7n
         VWWu1qG70u8osSODE0VnTfW/dPdKFFN8TrhbwcHv8nNMOclRBRSP5n6CF15/JoC4kr40
         rXLw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678200454;
        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=8pvI8mWRtOffX7ZweM8Bm3DrCuqAqcnBQHi5XLhLR0g=;
        b=vtfdLv8QkJi6+rUGEXR9Q94F1qA3osub55IQOPBzTPd6/kii+xiiA9wH/O3SorBK76
         BvDhkCl3lXlpePO4nhbrhcFuXHTvLwHBTiB/wUS80NOljusb1jk0d2hPRw0IgoE5dOXl
         uNgf74fl3ANnGMF3Dxl6PMm8tjPKV7sNIzKdlSI4ydnF0VIjU9jgGiYcsTJyd/Q2A0I6
         NZEAL2r0J3TWqPCdPMQIBzNSlaKg5WWJuOz0ccEBydqBd+ufW8YVSLvFVkUYtRmF09zJ
         6J9jU27/eVmkgDioU33o+rF/96uP8m5V/A8rIDRNzas1cCJaH9SY7fs+RqXqvg9ZFTAT
         8+uw==
X-Gm-Message-State: AO0yUKXjKbVNnTxCUC7Y3BAHXNVgtVGcreVrGbBJJYYQkz8jPVpMC+T/
	AVQbKkKPa9XT8TASdk4vpXc=
X-Google-Smtp-Source: AK7set/PT9wHI1ZQ1RmWcMUPmH0kMfiSHl/cQ+QojdbC2iTtmbOaNW0Ly8PRdtS5cR5yr13JA4Auag==
X-Received: by 2002:a05:600c:1992:b0:3e2:9b4:4303 with SMTP id t18-20020a05600c199200b003e209b44303mr13106588wmq.19.1678200454574;
        Tue, 07 Mar 2023 06:47:34 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <43bf286f-4b3e-5956-25b1-4ab527657fbb@xen.org>
Date: Tue, 7 Mar 2023 14:47:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 14/25] hw/xen: Move xenstore_store_pv_console_info
 to xen_console.c
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-15-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-15-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> There's no need for this to be in the Xen accel code, and as we want to
> use the Xen console support with KVM-emulated Xen we'll want to have a
> platform-agnostic version of it. Make it use GString to build up the
> path while we're at it.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   accel/xen/xen-all.c   | 61 -------------------------------------------
>   hw/char/xen_console.c | 45 +++++++++++++++++++++++++++++--
>   include/hw/xen/xen.h  |  2 --
>   3 files changed, 43 insertions(+), 65 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:48:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:48:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507470.781008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYcI-0002MV-PA; Tue, 07 Mar 2023 14:48:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507470.781008; Tue, 07 Mar 2023 14: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 1pZYcI-0002MO-MY; Tue, 07 Mar 2023 14:48:38 +0000
Received: by outflank-mailman (input) for mailman id 507470;
 Tue, 07 Mar 2023 14: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZYcH-0002Lz-RQ
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:48:37 +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 2395120c-bcf7-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 15:48:36 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id j2so12361051wrh.9
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 06:48:36 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 o16-20020a056000011000b002c703d59fa7sm12750392wrx.12.2023.03.07.06.48.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 06:48: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: 2395120c-bcf7-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678200515;
        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=qJV8X1ahMrwunc4I9nebCaoiX6hr9jR3+0dd1Yu8Uhk=;
        b=CrhWd3j/9hc/yzuu/AXDjfdbsI6i9Gul7zANq1FlfIjwYGAFkAVP9Fg3BP5uwQslNp
         hppBNBYJ402bnr6+mDBcrGND/dAXnEvibsFKH806PuoKguTQx2DilO6gy8jNgVGsQ4UR
         8tDS5uJxlUejZOcefYZhiN+chK2KjW9QppOpaHZXQ8Cbi5TBWeb5i0GjoPCvYxhWCPc1
         IZCjO6v7FRg07CcFR0J+Fuf7IKncGDNRKwzOb+9PGDNJRPa1Hk9zz5f0gChXcdFzIl1L
         IAvPZpj9WWtXRzjlCcHPqNlXIGB/EarWHgBhXmbBxDR9YioSmSVr4Rsmx4WmemO4d1Bv
         xzMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678200515;
        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=qJV8X1ahMrwunc4I9nebCaoiX6hr9jR3+0dd1Yu8Uhk=;
        b=F/fqhVXYledjArUxS1urhY00gHsQz9+9kBRgJxFNqekimdPTwUO9g1GzD/lGxZ0FAd
         Ildc0mQs5saGhqHOHGd1OXPB08bGQDbydNHvxCY30KcmQcJXONijDVz+CFEm2U4fnBO7
         lxnxAYT7SMsj4rdeZmx4A/QsCQpPi9tIH6xjAN69dPsjKYpZc44udldU999UwWDiZdiO
         Swi8l8hB77uxGZfF3Rjufl7PKRnXjTuuWtnNJp+SoUuJ6qME+A14O1zEmy6EQmlnIdxU
         pbjWh2LmtFqIob1Z/moInvvv1SHMTriANDzkWYyyZotLmcZ835I91PElRc5oKYiWWHOL
         xeqA==
X-Gm-Message-State: AO0yUKWAzYB4LFNwijtClrbW6eIbPM24Y9H+zic6YdInla7Mec1hj6r9
	O4N8z8JWMByPeNM0Ms5e+ig=
X-Google-Smtp-Source: AK7set+QLpMeKjKDmL7zyyrzOxGL27KoFw6yVMrfR59U9/0wom9sKE5L/9llGVFsGi4zqDHS0OChcw==
X-Received: by 2002:adf:dc90:0:b0:2c5:4c1f:3c9 with SMTP id r16-20020adfdc90000000b002c54c1f03c9mr8856131wrj.49.1678200515429;
        Tue, 07 Mar 2023 06:48:35 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <9aba8f4d-0572-b6b4-44c8-a4f5f88e1477@xen.org>
Date: Tue, 7 Mar 2023 14:48:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 15/25] hw/xen: Use XEN_PAGE_SIZE in PV backend
 drivers
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-16-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-16-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> XC_PAGE_SIZE comes from the actual Xen libraries, while XEN_PAGE_SIZE is
> provided by QEMU itself in xen_backend_ops.h. For backends which may be
> built for emulation mode, use the latter.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/block/dataplane/xen-block.c |  8 ++++----
>   hw/display/xenfb.c             | 12 ++++++------
>   hw/net/xen_nic.c               | 12 ++++++------
>   hw/usb/xen-usb.c               |  8 ++++----
>   4 files changed, 20 insertions(+), 20 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:48:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:48:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507472.781019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYcd-0002pG-2X; Tue, 07 Mar 2023 14:48:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507472.781019; Tue, 07 Mar 2023 14:48: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 1pZYcc-0002p9-UD; Tue, 07 Mar 2023 14:48:58 +0000
Received: by outflank-mailman (input) for mailman id 507472;
 Tue, 07 Mar 2023 14:48: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZYca-0002Lz-Pl
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:48:57 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2db29641-bcf7-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 15:48:53 +0100 (CET)
Received: from [2001:8b0:10b:5:640c:634b:db90:9c87]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZYcT-006UYR-8P; Tue, 07 Mar 2023 14:48: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: 2db29641-bcf7-11ed-a550-8520e6686977
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=3VK1x/GnUv1bomVR2NRjy7iGAlY+aJ7tdAAZjUR68Jo=; b=RjRcz05+naI3gpqz2yM1NJMAc2
	PqqXpLGxOfuL/dO6eI4+awHwqRk6kISjaClxgdEX4WR+8Z5rDwZ9j/GyuFoq48hAMUN6L2z1O918o
	ZXJPw12PF5yvnodZYYKBoghJFSgqfnKUAurT+pBQG66Ta1nXho2feA6DWcogJ3OV99J9Y9IdR/Vl2
	xSpLUlK3lK6uUTcJdv3xeJNFqSLiHJaAcoyD+3Xlan7UI+TTNLkTn+zZbBWVnIoQxxXwyzAoVcR16
	qeENCz6wa6iAMnXDKxf99reioYXEMEnME3Bj7zV48AyBYq+DBdU9DB/VQZzF5UYTV84ciYLAfFIZy
	mA+cEeWg==;
Message-ID: <bac842b0b1ea81e5aee922f3864bf57b99c515d4.camel@infradead.org>
Subject: Re: [RFC PATCH v1 12/25] hw/xen: Add foreignmem operations to allow
 redirection to internal emulation
From: David Woodhouse <dwmw2@infradead.org>
To: paul@xen.org, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>, Joao Martins
 <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>,  xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 14:48:47 +0000
In-Reply-To: <470e51bf-5159-fd32-93b5-03f5bdf5f050@xen.org>
References: <20230302153435.1170111-1-dwmw2@infradead.org>
	 <20230302153435.1170111-13-dwmw2@infradead.org>
	 <470e51bf-5159-fd32-93b5-03f5bdf5f050@xen.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-FoqbE/HMUlB5H1Dh7um1"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Tue, 2023-03-07 at 14:40 +0000, Paul Durrant wrote:
>=20
> > -
> > -#define xenforeignmemory_unmap(h, p, s) munmap(p, s * XC_PAGE_SIZE)
> > -
>=20
> Actually, probably best 'static inline' that, or at least put brackets=
=20
> round the 'p' and 's' for safety.
>=20
That's the one we're *removing* :)

> With either one of those options chosen...
>=20
> Reviewed-by: Paul Durrant <paul@xen.org>

Taking that anyway.

--=-FoqbE/HMUlB5H1Dh7um1
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MTQ0ODQ3WjAvBgkqhkiG9w0BCQQxIgQgfOhaNgUX
r6APDYEwIvSj6LoIyq58d40gEt4k6uBop1Ewgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgArryNwfE8fQRDDjy41kT6Fk/IMDEE/8zD0
X9psIyxKx7ESNWsP8ba/0OfL4exst0plb73IxJDLh2GTQNErpF/seq+0zlxzG83VOMbFj/awbWDb
UoIIMnAbi2311wnVKb+uaaZbdd0CX9A4mu7aUGsp31vVC7SW+lVhke1d0NsOPV/gy6pcBxbkhUHL
3rceXeHfaTVOgJguTNc0svinvU2YQlBMSUjKc48mlwLP/sEsSBuVbmr++nQFBLpC/8uPwiWE9XHX
ghbN3UQaY0Ooq4MGjMJ8bOB0u+4FY0tVR1oMV6y3n0MPYk22HMPh8Y9VtTbR5dbWZNFAVkxiqb7I
sGsLQo54xrWKaIoq/bkxIC/KjGk/2MkieZq/QQnrghk6v8NaBu7thbmvCOczZ0JoLZXDy+a5KCS3
2QWH9SmSW5mxYkKkcNQj871NTPj+iLcp8cr7Hr2FrcmwXNXmTq8MM6sQl60zfyU3NtUpIppk5yF9
sITfxFR6HQmrl+t6amQZa9t5n123oFgnv06SHLWX0CIje+FnOCn8LCx1LCF8ROp5JWDR4u72YzmI
y+pH/3JUjfQkiNxROvdD7TUEitNwILfryXqjLSvCKZshWZH1H7tHuxrZhStFB3397oKgvyGF6sIa
S/eyQeXPUEk4Vcma/o0/wHmEbjQOe7rWWO5GHk2qcAAAAAAAAA==


--=-FoqbE/HMUlB5H1Dh7um1--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:52:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:52:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507480.781028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYg3-0004X3-K9; Tue, 07 Mar 2023 14:52:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507480.781028; Tue, 07 Mar 2023 14: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 1pZYg3-0004Ww-HS; Tue, 07 Mar 2023 14:52:31 +0000
Received: by outflank-mailman (input) for mailman id 507480;
 Tue, 07 Mar 2023 14:52: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZYg2-0004Wq-RL
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:52:30 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aeda126e-bcf7-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 15:52:29 +0100 (CET)
Received: from [2001:8b0:10b:5:640c:634b:db90:9c87]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZYfz-006Ug6-R7; Tue, 07 Mar 2023 14:52:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aeda126e-bcf7-11ed-96b5-2f268f93b82a
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=NM5iY4Nn2TQHVHW60ithMLKb9Sk7IdBVcMTvxKsytlo=; b=mCpju/yXxi7M9lVabSMmnR15lS
	TNNd73gvQ5a3a5ncKSkR+qgP1q0DUwavndqnEkIPjpah/d53CXpOMwpMPR3gyAm4KHsPNOZpGjy/j
	WTdkXdMirls8AKREHcJnJmh7moo55cWWz8ZCBbDDxF9L0aGe8FzpK5XQ0MQ8sx6JUvxCPvVpPLmLW
	brE4BLbPJT54Y0JM+sVTgh/E98GC0TmT2YgIWtb6pdkU8Q9z4k+yTGKLHpYeeJXglEcTWaXEtvSYZ
	8f5THH3cHLyMCY8VxG7L0z9m7wnFkPw78lv7qZmpa5FqnVFoBvjabKGmsjYhV2GBOmBPya6uudgSe
	Q28von4g==;
Message-ID: <a5321652a4f0742edfbe8d14154959176d2538a5.camel@infradead.org>
Subject: Re: [RFC PATCH v1 13/25] hw/xen: Add xenstore operations to allow
 redirection to internal emulation
From: David Woodhouse <dwmw2@infradead.org>
To: paul@xen.org, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>, Joao Martins
 <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>,  xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 14:52:27 +0000
In-Reply-To: <71e68af5-1528-f5c3-221a-5166af9396c6@xen.org>
References: <20230302153435.1170111-1-dwmw2@infradead.org>
	 <20230302153435.1170111-14-dwmw2@infradead.org>
	 <71e68af5-1528-f5c3-221a-5166af9396c6@xen.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-5VaiBU4L8kSd+PiqZGvg"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


--=-5VaiBU4L8kSd+PiqZGvg
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2023-03-07 at 14:44 +0000, Paul Durrant wrote:
> On 02/03/2023 15:34, David Woodhouse wrote:
> > From: Paul Durrant <pdurrant@amazon.com>
> >=20
> > Signed-off-by: Paul Durrant <pdurrant@amazon.com>
> > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> > ---
>=20
> Reviewed-by: Paul Durrant <paul@xen.org>

You're reviewing your own code on some of those... :)

Do we need to get review from *another* person listed in MAINTAINERS
for Xen? Or shall I add my own R-by tags for those ones too?



--=-5VaiBU4L8kSd+PiqZGvg
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MTQ1MjI3WjAvBgkqhkiG9w0BCQQxIgQgyaGNhqvM
tYrbjyHuecW0B5ckVDP0OrXDovzKHnBNdp0wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAL4GNtIAZAcbTjnxs45Ba/uLwFu0Wv7ijf
06KIALZvoHaILqZCUubcsod0Bvtp5ioUZ67EByItywCtuW5uaSo98DFbCAwS5Zf2Ein9mQpufMkl
ZXiXFDk/H5zmHIBFNhFhPigZ/eiYR3EJDhCBuypK5c8k7rTq/1ByQCodVutMXUh2M60bOkJRRwKU
TWx925gsIQvx+HyGaDb+hLIn2Y8viiW16C8fBPO0N8QpwWXoO4Q3u2HeG5ywMoIERe1Lg7+ZPvUV
u+q2npKB71Pc4Hul4Fqix2p4GOoaVv1fN1b4TC0+Qc9RDx7rlQlFGgrV+WxQEARThvhRjWHkxcHb
h6xsiOZkZRBiYJYW80GGkdNVoncHhe/obO9hb+CvmhZPwNKLLmMa5L6NFATX7ovDX/dNiFAy01XI
bYF02YTfmf45nrj1MJfwLIyZBoK+MeaiEoEK+TYVG+l/rT243sx+DzNqDHceM9fsFAyXykPFG48m
THmi+wT1ZzsKIIGJfJGkoB0RoRH15wpsyN99XaeCAGkbN7sInOJxQSPA54nPPtPslKrsz6SENHsz
3PWtRzMj7u0EtZCNO7Rb/Q1sCIyGwOcy/W38ryEAT3HAxYL0Lp4iZHB7VK8EraV/S6JiylHUQbiS
SnHSGvTBGRXyZp14xItm3xvko+zY1JHV1DhWO8wEFQAAAAAAAA==


--=-5VaiBU4L8kSd+PiqZGvg--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:54:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:54:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507485.781038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYhs-00054e-Uy; Tue, 07 Mar 2023 14:54:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507485.781038; Tue, 07 Mar 2023 14: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 1pZYhs-00054X-SR; Tue, 07 Mar 2023 14:54:24 +0000
Received: by outflank-mailman (input) for mailman id 507485;
 Tue, 07 Mar 2023 14:54: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZYhr-00054P-OR
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:54:23 +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 f25b9d93-bcf7-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 15:54:22 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 ay29-20020a05600c1e1d00b003e9f4c2b623so10571412wmb.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 06:54:22 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 h17-20020a05600c351100b003e4326a6d53sm18436678wmq.35.2023.03.07.06.54.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 06:54: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: f25b9d93-bcf7-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678200862;
        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=zdxSf6SnonAAwLmy54FpkIbxFn6Qi3VVeANxs4vZxrg=;
        b=bibefQLATF40wYnR5zViShOZ89NAvBfsEeNNinDWOv5sbqm//7xkftpPqmOYl5jh/3
         q2r0COCaVa6QuJ/q3xNydDdH3MYKZlRpobyfxVBdZuZgRECwq/4XDVghXE9glnLo2L+l
         Pe4Lr5sAbI6XGtbP/HGuKYVoxhcG94Z6ei3LXeEG+CtqyPe28dmoJ7oBvZD1hOpqUjJ8
         Tx6Fj660MUZVLfF/eJ/WTgh0JmdRUl87WwduKkXLwbagPAEmcDwVJWEu5IRw4wWp2rjX
         5ZxIHk6zJwBTW36hiHXdiuf8tifDQhYoN/4aIKJID2iSF7o92pc1hOPhNjxmpRwlTBz/
         +QnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678200862;
        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=zdxSf6SnonAAwLmy54FpkIbxFn6Qi3VVeANxs4vZxrg=;
        b=RGFN8S5G/fSl2NBuacswfZvZ6D9Ni0VdMcn5wWxNhtZeZA81GGC9Z2HufVNnG65Y9m
         o/uKnai8j2gc3rk8uhN1vCo3oqeuiBJvalj0+8JlhVxfk+nJSmLfZ6+T7EKAHtQ8LWAp
         cxGNbyMRLoAGGyy9Q4PBZnm46jZMqZzraITSJDJEq3PMqqEmmOa7CRh5rkYRDvKIKY4F
         47ptarXzIWOks8CCXcsmNAsVZzl30jwxYPYftL+fTCIAgBcE7YC9G1gRulIpxZUovXXs
         Nj1NeQn6FNiqIN/iE2kgssBmKjRWPS4cF1Flovrmf0Gd6j4i8+vQJ8yn1vBTqbF37FFk
         cM3Q==
X-Gm-Message-State: AO0yUKUoxxVxmNgHq/MXF8BuRr1r0n24VxvLGEdVFuju6RZmVwRLPw9N
	F700a0P8z7CylMWdROVO9mw=
X-Google-Smtp-Source: AK7set8iCKTQBnGbDNjKai95sv5yqanRu3s4h7W0GOaj7zxXgfCOXEduXIziA7ZdHqZF4BIIyAlBCw==
X-Received: by 2002:a05:600c:4751:b0:3eb:2e66:8 with SMTP id w17-20020a05600c475100b003eb2e660008mr13423737wmo.35.1678200862386;
        Tue, 07 Mar 2023 06:54:22 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <f121c025-2203-70b7-c20d-aed40b88faa4@xen.org>
Date: Tue, 7 Mar 2023 14:54:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 12/25] hw/xen: Add foreignmem operations to allow
 redirection to internal emulation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-13-dwmw2@infradead.org>
 <470e51bf-5159-fd32-93b5-03f5bdf5f050@xen.org>
 <bac842b0b1ea81e5aee922f3864bf57b99c515d4.camel@infradead.org>
Organization: Xen Project
In-Reply-To: <bac842b0b1ea81e5aee922f3864bf57b99c515d4.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 07/03/2023 14:48, David Woodhouse wrote:
> On Tue, 2023-03-07 at 14:40 +0000, Paul Durrant wrote:
>>
>>> -
>>> -#define xenforeignmemory_unmap(h, p, s) munmap(p, s * XC_PAGE_SIZE)
>>> -
>>
>> Actually, probably best 'static inline' that, or at least put brackets
>> round the 'p' and 's' for safety.
>>
> That's the one we're *removing* :)
> 

D'oh... so we are :-)

>> With either one of those options chosen...
>>
>> Reviewed-by: Paul Durrant <paul@xen.org>
> 
> Taking that anyway.



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:55:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:55:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507488.781049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYic-0005b4-7m; Tue, 07 Mar 2023 14:55:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507488.781049; Tue, 07 Mar 2023 14:55:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYic-0005ax-4C; Tue, 07 Mar 2023 14:55:10 +0000
Received: by outflank-mailman (input) for mailman id 507488;
 Tue, 07 Mar 2023 14: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZYia-00054P-S1
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:55:08 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d31b93f-bcf8-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 15:55:07 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id q16so12415716wrw.2
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 06:55:07 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 b12-20020adff24c000000b002c556a4f1casm12617551wrp.42.2023.03.07.06.55.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 06:55: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: 0d31b93f-bcf8-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678200907;
        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=XA/NAYD6pwc+pXkUFmmZy5IGkzSi/8bTC+EPVMws5nk=;
        b=ncg2aoY2EtLcVn6fo/2NGzUYpVCilRwl86dc60WpdJhLQZzCfwxskpTYg3Ok2eTGbp
         tsOoazvPDdkJ0tqhgHKrFVLMXHJPSjRX4eo49yViq3xsaGeLeRlGWmtyyybfbG3EHB/4
         DtE/O4zxUMD2yLJonrXV1kGd3cggml66/DyNVLE2XrR2gMUyOBh3hpE9GFK83kF+5b6X
         ffQQEHVlbQU+oVWoTsEj+3H3SN7GYcPRJOjw97ngONxUofCl5Pdo+1s2wmCsI0kNOLXn
         UNxHgGjReRkhlxKTN7G3KVdAe5dDPwE3OKRCfi48KElCekxqfE6TAMSG2OwZwXjMUEtk
         H9kw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678200907;
        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=XA/NAYD6pwc+pXkUFmmZy5IGkzSi/8bTC+EPVMws5nk=;
        b=eqSKe7Nl/pdTia2NeUVpXLiYVVwmZmD2LTzEHnr2u0lVt0+3cI53C/siALUoIIsmpf
         nyV9lBaJDseCd+mIriNsd/myISe9O5vkEOp0kU1O4+C7U7AArd/UcDRaFofICnXLJ0i8
         H8GtUvVnOtu19NsMvpVJ5+roEs/hkW7Qt+8LQht+E2j6L1mU+TJGVOiIHIConoA/6ZnF
         FghQhlqtJSxkhTkfbhn6g62H2jEgPAW9d6xL/HkjuB9g2iO3ZoKpj6BBNb9hqHoYmpMD
         sPLKgHnoo6wkh8am95uIYeQZl8X+jAGM3VX3a6oOVArOPGQo7kn9y8Bq6Ln3c8dN/4EC
         v/PA==
X-Gm-Message-State: AO0yUKXOsNAteVx6dKnvnKl208IkvTra+7RjgS8Unch7ZzXnkjmsNjvp
	/ZX/dm2b0HC13GH8Vy3xRiQ=
X-Google-Smtp-Source: AK7set+5Et3zAvZoLz5mLfpED4oVxVuf2t0dm2UaCbjRw16qwccO+sPSw+JpiagnXH9otWDv9Gy9vA==
X-Received: by 2002:adf:dd8b:0:b0:2c7:62c1:f09c with SMTP id x11-20020adfdd8b000000b002c762c1f09cmr8259135wrl.50.1678200907465;
        Tue, 07 Mar 2023 06:55:07 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <dfe013bc-c55d-d1ea-cb5c-a90d51f812ee@xen.org>
Date: Tue, 7 Mar 2023 14:55:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 13/25] hw/xen: Add xenstore operations to allow
 redirection to internal emulation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-14-dwmw2@infradead.org>
 <71e68af5-1528-f5c3-221a-5166af9396c6@xen.org>
 <a5321652a4f0742edfbe8d14154959176d2538a5.camel@infradead.org>
Organization: Xen Project
In-Reply-To: <a5321652a4f0742edfbe8d14154959176d2538a5.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 07/03/2023 14:52, David Woodhouse wrote:
> On Tue, 2023-03-07 at 14:44 +0000, Paul Durrant wrote:
>> On 02/03/2023 15:34, David Woodhouse wrote:
>>> From: Paul Durrant <pdurrant@amazon.com>
>>>
>>> Signed-off-by: Paul Durrant <pdurrant@amazon.com>
>>> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
>>> ---
>>
>> Reviewed-by: Paul Durrant <paul@xen.org>
> 
> You're reviewing your own code on some of those... :)
> 

Just making it clear I'm happy with the final version, since it's a 
joint S-o-b.

> Do we need to get review from *another* person listed in MAINTAINERS
> for Xen? Or shall I add my own R-by tags for those ones too?
> 
> 



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 14:58:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 14:58:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507491.781059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYlU-0006FP-L4; Tue, 07 Mar 2023 14:58:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507491.781059; Tue, 07 Mar 2023 14:58: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 1pZYlU-0006FG-II; Tue, 07 Mar 2023 14:58:08 +0000
Received: by outflank-mailman (input) for mailman id 507491;
 Tue, 07 Mar 2023 14:58: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZYlT-0006FA-1s
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 14:58:07 +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 77766082-bcf8-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 15:58:06 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id r18so12424845wrx.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 06:58:06 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 n16-20020a5d67d0000000b002c758fe9689sm12716892wrw.52.2023.03.07.06.58.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 06:58: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: 77766082-bcf8-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678201086;
        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=0EK/FfNQ9hSqSrJdeG4O9BtBV3bH00pWSvIH5yTiLYo=;
        b=kDk0p3cXqIXD89W5Q2xV+/3i5fgaoiGpWWPOK6yfG5eJlY1TVLDvYcET5PBxeZ3Izk
         YYnrisgj98WxhkjKCeD3qH9AnyqQx5wBS1gPR5SKhEbXIAqYGHCgp8uN/KaYEL2y5PFN
         DYxKJO7S/+d/fEoeVgItedNhgF2H/4Eq0PU3s6dEy8D5Ac1KHdBtlQG3zlwoUf/aU0xr
         5AF+KId1SREYXmzvhkmxmL3Yn/KRC5oCt4EL+83rIMg3drtVwn6vIYA1Rs74PYnVMl3w
         ZTb5lHjSYY81wY52o3KsjP11aED9isw2xPcDujXpxGvDOzW9D2/z7Dp9rcY/V6aV8I0m
         8uKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678201086;
        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=0EK/FfNQ9hSqSrJdeG4O9BtBV3bH00pWSvIH5yTiLYo=;
        b=iXriZc1msCoae760u1SW2DLTPHZxdl8tbquxKuE87DqKkyUCTy+2A3sTKyGv9PNy1A
         n/1m+cRRsUuB5pusyYQzRi0aXXBuvqkW8sCQbKGb9GPfgGOuAX5mZMUnRVojOEu/V94R
         Eu4PByLLiOCvhdiU/U74/PDZMv/VMwV9G9VS0FCbYNq9zoXGBZdZNU9Ng9osPlnimpFj
         EoJ1loktZuvD3AOZ4lTtC2Au2VLatckmObiX9y8LbzV1s/V5AIgruUysbGnaWVb9VbGi
         Y2rctQTX8m0mSGnUcB7vYAbU9idJieqADo+5OtUQ+rxlgNzNP3ow3OrAqWNNJBqSigzo
         ojXA==
X-Gm-Message-State: AO0yUKXd6AAKxtgvVqBp2Rnd7wWch2lFI+quPNcQhS3SpUSjHy5UTGjJ
	Yx98OeGIvJzWVChA4Pz37PQ=
X-Google-Smtp-Source: AK7set8qc5MLxUC2qp0SHGgbx9XNWBuLmuOg/Y1NGgjFB32DXHGaB+6VhuUilKhRhyJRAH7lxnStYg==
X-Received: by 2002:a5d:6e42:0:b0:2c5:4c9d:2dab with SMTP id j2-20020a5d6e42000000b002c54c9d2dabmr11004782wrz.10.1678201085713;
        Tue, 07 Mar 2023 06:58:05 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <2d59aa7e-16f6-bd47-ef6f-dfd227518406@xen.org>
Date: Tue, 7 Mar 2023 14:58:04 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 16/25] hw/xen: Rename xen_common.h to xen_native.h
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-17-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-17-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> This header is now only for native Xen code, not PV backends that may be
> used in Xen emulation. Since the toolstack libraries may depend on the
> specific version of Xen headers that they pull in (and will set the
> __XEN_TOOLS__ macro to enable internal definitions that they depend on),
> the rule is that xen_native.h (and thus the toolstack library headers)
> must be included *before* any of the headers in include/hw/xen/interface.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   accel/xen/xen-all.c                           |  1 +
>   hw/9pfs/xen-9p-backend.c                      |  1 +
>   hw/block/dataplane/xen-block.c                |  3 ++-
>   hw/block/xen-block.c                          |  1 -
>   hw/i386/pc_piix.c                             |  4 ++--
>   hw/i386/xen/xen-hvm.c                         | 11 +++++-----
>   hw/i386/xen/xen-mapcache.c                    |  2 +-
>   hw/i386/xen/xen_platform.c                    |  7 +++---
>   hw/xen/trace-events                           |  2 +-
>   hw/xen/xen-operations.c                       |  2 +-
>   hw/xen/xen_pt.c                               |  2 +-
>   hw/xen/xen_pt.h                               |  2 +-
>   hw/xen/xen_pt_config_init.c                   |  2 +-
>   hw/xen/xen_pt_msi.c                           |  4 ++--
>   include/hw/xen/xen.h                          | 22 ++++++++++++-------
>   include/hw/xen/{xen_common.h => xen_native.h} | 10 ++++++---
>   include/hw/xen/xen_pvdev.h                    |  3 ++-
>   17 files changed, 47 insertions(+), 32 deletions(-)
>   rename include/hw/xen/{xen_common.h => xen_native.h} (98%)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:02:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:02:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507495.781069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZYq7-0007oN-83; Tue, 07 Mar 2023 15:02:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507495.781069; Tue, 07 Mar 2023 15:02: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 1pZYq7-0007oG-3V; Tue, 07 Mar 2023 15:02:55 +0000
Received: by outflank-mailman (input) for mailman id 507495;
 Tue, 07 Mar 2023 15:02: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=JVyd=67=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZYq5-0007oA-Io
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:02:53 +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 21f2d273-bcf9-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 16:02: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 C3C351FDA8;
 Tue,  7 Mar 2023 15:02:51 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 892A81341F;
 Tue,  7 Mar 2023 15:02:51 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id zqALIBtSB2TZEwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Mar 2023 15:02:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21f2d273-bcf9-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678201371; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=19Pk9Gc0c3alF8ZSAH3oNY4JxqknmWOJT5Meq1qlhsw=;
	b=S7ypyMEZ4PIWWMXiUowNHeKQCVV9/F8TazESVD7ZgBC+62D3FNVBilK/OkZDnnz+VOhzix
	S8mjQWJWZLQ4u5AUB0Ox+PyzayORuorjqJkiK9QEEQ9ZZOTyuA/qaXhJB7SEMDSLBA30N9
	DwwtJ1ofOSSOvJ7wVZ/gxmjG1pVJuNw=
Message-ID: <7f4d5da3-13b8-f120-69fc-14aa65e735e3@suse.com>
Date: Tue, 7 Mar 2023 16:02:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
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: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-3-jgross@suse.com>
 <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>
 <d0aefe0b-4e71-458c-0072-345e1c505083@suse.com>
 <825c0085-ba84-9ede-ea91-f07dce66f214@suse.com>
 <9537fcd2-99ae-0570-aba3-41fd1fefe4ba@suse.com>
 <c8c8209f-0ad1-2a13-946d-0ac9a0f454bc@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 2/2] xen: update CONFIG_DEBUG_INFO help text
In-Reply-To: <c8c8209f-0ad1-2a13-946d-0ac9a0f454bc@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------3IFsqxvwcrjQLJyGJf87SKdM"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------3IFsqxvwcrjQLJyGJf87SKdM
Content-Type: multipart/mixed; boundary="------------rxOuyg30JT8YwXjrUlTHNnkz";
 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: <7f4d5da3-13b8-f120-69fc-14aa65e735e3@suse.com>
Subject: Re: [PATCH 2/2] xen: update CONFIG_DEBUG_INFO help text
References: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-3-jgross@suse.com>
 <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>
 <d0aefe0b-4e71-458c-0072-345e1c505083@suse.com>
 <825c0085-ba84-9ede-ea91-f07dce66f214@suse.com>
 <9537fcd2-99ae-0570-aba3-41fd1fefe4ba@suse.com>
 <c8c8209f-0ad1-2a13-946d-0ac9a0f454bc@suse.com>
In-Reply-To: <c8c8209f-0ad1-2a13-946d-0ac9a0f454bc@suse.com>

--------------rxOuyg30JT8YwXjrUlTHNnkz
Content-Type: multipart/mixed; boundary="------------r04IQMsGS4JrBukLVg18wR9y"

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

T24gMDcuMDMuMjMgMTU6MzQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNy4wMy4yMDIz
IDE1OjIzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMDcuMDMuMjMgMTU6MTgsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDA3LjAzLjIwMjMgMTU6MDQsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IE9uIDA3LjAzLjIzIDExOjQxLCBKYW4gQmV1bGljaCB3cm90ZToN
Cj4+Pj4+IE9uIDA3LjAzLjIwMjMgMDc6MzIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+
Pj4gLS0tIGEveGVuL0tjb25maWcuZGVidWcNCj4+Pj4+PiArKysgYi94ZW4vS2NvbmZpZy5k
ZWJ1Zw0KPj4+Pj4+IEBAIC0xNSw4ICsxNSwxMSBAQCBjb25maWcgREVCVUdfSU5GTw0KPj4+
Pj4+ICAgICAJYm9vbCAiQ29tcGlsZSBYZW4gd2l0aCBkZWJ1ZyBpbmZvIg0KPj4+Pj4+ICAg
ICAJZGVmYXVsdCBERUJVRw0KPj4+Pj4+ICAgICAJLS0taGVscC0tLQ0KPj4+Pj4+IC0JICBJ
ZiB5b3Ugc2F5IFkgaGVyZSB0aGUgcmVzdWx0aW5nIFhlbiB3aWxsIGluY2x1ZGUgZGVidWdn
aW5nIGluZm8NCj4+Pj4+PiAtCSAgcmVzdWx0aW5nIGluIGEgbGFyZ2VyIGJpbmFyeSBpbWFn
ZS4NCj4+Pj4+PiArCSAgU2F5IFkgaGVyZSBpZiB5b3Ugd2FudCB0byBidWlsZCBYZW4gd2l0
aCBkZWJ1ZyBpbmZvcm1hdGlvbi4gVGhpcw0KPj4+Pj4+ICsJICBpbmZvcm1hdGlvbiBpcyBu
ZWVkZWQgZS5nLiBmb3IgZG9pbmcgY3Jhc2ggZHVtcCBhbmFseXNpcyBvZiB0aGUNCj4+Pj4+
PiArCSAgaHlwZXJ2aXNvciB2aWEgdGhlICJjcmFzaCIgdG9vbC4NCj4+Pj4+PiArCSAgU2F5
aW5nIFkgd2lsbCBpbmNyZWFzZSB0aGUgc2l6ZSBvZiB4ZW4tc3ltcyBhbmQgdGhlIGJ1aWx0
IEVGSQ0KPj4+Pj4+ICsJICBiaW5hcnkuDQo+Pj4+Pg0KPj4+Pj4gTGFyZ2VseSBmaW5lIHdp
dGggbWUsIGp1c3Qgb25lIHF1ZXN0aW9uOiBXaHkgZG8geW91IG1lbnRpb24geGVuLXN5bXMg
YnkNCj4+Pj4+IG5hbWUsIGJ1dCB0aGVuIHZlcmJhbGx5IGRlc2NyaWJlIHhlbi5lZmk/IEFu
ZCBzaW5jZSwgdW5saWtlIGZvciB4ZW4tc3ltcywNCj4+Pj4NCj4+Pj4gRm9yIHhlbi1zeW1z
IEkgY291bGRuJ3QgZmluZCBhbiBlYXNpbHkgdW5kZXJzdGFuZGFibGUgd29yZGluZy4gSSdk
IGJlIGZpbmUNCj4+Pj4gd2l0aCBqdXN0IHNheWluZyAieGVuLmVmaSIuDQo+Pj4+DQo+Pj4+
PiB0aGlzIGFmZmVjdHMgdGhlIGluc3RhbGxlZCBiaW5hcnkgYWN0dWFsbHkgdXNlZCBmb3Ig
Ym9vdGluZyAod2hpY2ggbWF5DQo+Pj4+PiBiZSBwbGFjZWQgb24gYSBzcGFjZSBjb25zdHJh
aW5lZCBwYXJ0aXRpb24pLCBpdCBtYXkgYmUgcHJ1ZGVudCB0bw0KPj4+Pj4gbWVudGlvbiBJ
TlNUQUxMX0VGSV9TVFJJUCBoZXJlIChhcyBhIHdheSB0byByZWR1Y2UgdGhlIGJpbmFyeSBz
aXplIG9mDQo+Pj4+PiB3aGF0IGVuZHMgdXAgb24gdGhlIEVGSSBwYXJ0aXRpb24sIGV2ZW4g
aWYgdGhhdCB3b3VsZG4ndCBhZmZlY3QgdGhlDQo+Pj4+PiAibm9ybWFsIiB3YXkgb2YgcHV0
dGluZyB0aGUgYmluYXJ5IG9uIHRoZSBFRkkgcGFydGl0aW9uIC0gcGVvcGxlIHdvdWxkDQo+
Pj4+PiBzdGlsbCBuZWVkIHRvIHRha2UgY2FyZSBvZiB0aGF0IGluIHRoZWlyIGRpc3Ryb3Mp
Lg0KPj4+Pg0KPj4+PiBXaGF0IGFib3V0IGFkZGluZyBhIHJlbGF0ZWQgS2NvbmZpZyBvcHRp
b24gaW5zdGVhZD8NCj4+Pg0KPj4+IEhvdyB3b3VsZCBhIEtjb25maWcgb3B0aW9uIHBvc3Np
Ymx5IGFmZmVjdCB0aGlzPyBZb3Ugd2FudCBkZWJ1ZyBpbmZvDQo+Pj4gaW4gdGhlIHhlbi5l
ZmkgaW4gaXRzIHN0YW5kYXJkIGluc3RhbGwgbG9jYXRpb24gKG91dHNpZGUgb2YgdGhlIEVG
SQ0KPj4+IHBhcnRpdGlvbik7IG9yIGVsc2UgaWYgeW91IGRvbid0IHdhbnQgaXQgdGhlcmUg
d2h5IHdvdWxkIHlvdSB3YW50IGl0DQo+Pj4gaW4geGVuLXN5bXM/IEl0IGlzIHRoZSBzdGVw
IG9mIHBvcHVsYXRpbmcgdGhlIEVGSSBwYXJ0aXRpb24gZnJvbSB0aGUNCj4+PiBzdGFuZGFy
ZCBpbnN0YWxsIGxvY2F0aW9uIHdoZXJlIHNvbWUgZXF1aXZhbGVudCBvZiBJTlNUQUxMX0VG
SV9TVFJJUA0KPj4+IHdvdWxkIGNvbWUgaW50byBwbGF5LiBUaGF0IHN0ZXAgaXMgZG9uZSBv
dXRzaWRlIG9mIFhlbidzIGJ1aWxkDQo+Pj4gc3lzdGVtIGFuZCBoZW5jZSBvdXRzaWRlIG9m
IGFueSBLY29uZmlnIGNvbnRyb2wuDQo+Pg0KPj4gV2UgaGF2ZSAyIGJpbmFyaWVzIGZvciB0
aGUgbm9uLUVGSSBoeXBlcnZpc29yICh4ZW4tc3ltcyBhbmQgeGVuWy5nel0pLg0KPj4gV2h5
IGNhbid0IHdlIGhhdmUgdGhlIHNhbWUgZm9yIEVGST8gRS5nLiB4ZW4tc3ltcy5lZmkgYW5k
IHhlbi5lZmkuDQo+PiBUaGUgZm9ybWVyIHdvdWxkIGhhdmUgdGhlIGRlYnVnLWluZm8sIHRo
ZSBsYXR0ZXIgY291bGQgYmUgaW5zdGFsbGVkDQo+PiBpbnRvIHRoZSBFRkkgcGFydGl0aW9u
Lg0KPiANCj4gSSB2aWV3IHRoZSB0d28tYmluYXJpZXMgbW9kZWwgb2YgdGhlIG5vbi1FRkkg
Y2FzZSBhcyBtZXJlbHkgYW4NCj4gaW1wbGVtZW50YXRpb24gZGV0YWlsOw0KDQpUaGUgYWJp
bGl0eSB0byBkbyBjcmFzaCBkdW1wIGFuYWx5c2lzIGlzIG1vcmUgdGhhbiBhbiBpbXBsZW1l
bnRhdGlvbg0KZGV0YWlsIElNSE8uIEl0IGlzIGEgZmVhdHVyZSBhbmQgYXMgc3VjaCB0aGUg
YXZhaWxhYmlsaXR5IG9mIHhlbi1zeW1zDQpzaG91bGQgYmUgc2VlbiBhcyBhbiBpbnRlcmZh
Y2Ugd2hpY2ggZnVuY3Rpb25hbGl0eSBzaG91bGQgYmUga2VwdC4NCg0KPiBpdCBqdXN0IHNv
IGhhcHBlbnMgdGhhdCB0aGVyZSdzIGxpdHRsZSBwb2ludA0KPiBpbiBta2VsZjMyIHJldGFp
bmluZyBkZWJ1ZyBpbmZvLiBJIHRoZXJlZm9yZSBkb24ndCB2aWV3IGl0IGFzIHZlcnkNCj4g
cmVhc29uYWJsZSB0byBhcnRpZmljaWFsbHkgaW50cm9kdWNlIHlldCBhbm90aGVyIGJpbmFy
eS4NCg0KSW4gY2FzZSB0aGVyZSBpcyBubyBvdGhlciB3YXkgdG8gZW5hYmxlIGh5cGVydmlz
b3IgY3Jhc2ggZHVtcCBhbmFseXNpcw0KSSBkb24ndCBzZWUgdGhpcyBhcyBhbiB1bnJlYXNv
bmFibGUgYXBwcm9hY2guDQoNCkl0IHNob3VsZCBiZSB2ZXJpZmllZCB0aGF0IHRoaXMgYXBw
cm9hY2ggaXMgcmVhbGx5IGVuYWJsaW5nIHRoZSBjcmFzaA0KZHVtcCBhbmFseXNpcyBvZiBh
IGNyYXNoIGR1bXAgZnJvbSBhIHhlbi5lZmkgYm9vdGVkIHN5c3RlbSwgb2YgY291cnNlLg0K
DQoNCkp1ZXJnZW4NCg==
--------------r04IQMsGS4JrBukLVg18wR9y
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-----

--------------r04IQMsGS4JrBukLVg18wR9y--

--------------rxOuyg30JT8YwXjrUlTHNnkz--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQHUhsFAwAAAAAACgkQsN6d1ii/Ey8C
Uwf/arqa7IzsPYelhTWXnCnzWytWVzfuDUYDNGw3KSrIU7+yF1v8DkhvC0Wrw1mtK94uzvB33JTE
EieNF5yyGGuieU8MIGmC/A+9nhqHJHiH4huJbhfq/KxQ8nooBUMdFyNfml5GKpVo7ACaTTQd+8tT
Zhr1QvnjO0c23GOAnY3q+1OF00tj6sicLjLa3U7RTGQH6nMDWI2Bt6MTr5+ejghHE+eBs3ErPWVy
JPrvjjLYAK9jnj8viw31mToNYPRZof87j7Ui0R+53/XUNGp03NszE5Cm6TG8ekrT0PNFY8Z29hA4
sHgFIp36etYL/i8KFe2OLxGwErxfFPT8MrZWGts+MA==
=gA3q
-----END PGP SIGNATURE-----

--------------3IFsqxvwcrjQLJyGJf87SKdM--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:14:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:14:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507500.781079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZ0z-00012j-9d; Tue, 07 Mar 2023 15:14:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507500.781079; Tue, 07 Mar 2023 15: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 1pZZ0z-00012c-6S; Tue, 07 Mar 2023 15:14:09 +0000
Received: by outflank-mailman (input) for mailman id 507500;
 Tue, 07 Mar 2023 15:14: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=4ndv=67=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZZ0y-00012W-GH
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:14:08 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0606.outbound.protection.outlook.com
 [2a01:111:f400:fe02::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b3a0fc6f-bcfa-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 16:14:06 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB9147.eurprd04.prod.outlook.com (2603:10a6:10:2f6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 15:14:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
 15: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: b3a0fc6f-bcfa-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K9MBwRPBVomUj++g0CXbRqUzFKAmHxIQIDltpl9uxIF3A6ZGdP5CrCbfK1mLd+25pYhKtTVgmskmNmPlVNLW9bMhESx7Nzak3IX9ivguZb1kFYuI63sFnom9Tj0sl9HGThHjbhuLLXA0q2punLXMah9z+p5VDO5gZ8draNLdxJUkdr5//3t3ef+Bco0P9orx4cIuNKXDfIuqzIkBaDIVRYZF7wsmu6PhfhkJrUb3LOcwezgv6cCRX+yem9MExEDy49ybVfU0YOqdssE9LiRWf6zBHZ9xvSIMTVDiVGjZm+aOEHlkXRFSuq5sJSebl59uoFFvPWExb5pOPC85t9plmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bdbkMmyiMnsYMWhRLQ7ZOfmRll1iHGhzpzksAo7bTJo=;
 b=IKGD617/WrzqJ3gkRcVzqov/8r7xycwWNcBN0WgN+8mZzmiIb+B+MuNAA+sfNffLko63jXuBIwxhI8JFAuK472U87WBSd7B6QoHCQT5zpdYkkFiYc9zCPTDYPXUPI6A96QJ5vT120Ub3BonTF8xt5CXiT/E3NUqxFA5WKvxbsibM0smKO2gDGOKI0TTEnaRIMZm13G9VDp27VUS4JMPgjvWPIVuYkFqxdGKI6L/VSY4T88CyVE0WdzwceV6pu4qJJGO79N/+l303UFROrLCfibAox/KO5vZg8ViR9WzpyR7iw84ZMYl7b5D/Fm1C/Th/ocoqFZtnFthOjtr9jlmBWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bdbkMmyiMnsYMWhRLQ7ZOfmRll1iHGhzpzksAo7bTJo=;
 b=mzGGXEVH8GbgQfiIoTl3M8qlg0un15Gmzm11DWbLFhnOZZMyO3r6I5veUGs8ysqc+NfDGvlX7d2N4Fp/OTANWzFBYe4GiE4VfiGW2dkLxd8oKiad1yb1NayX80Kl/0mTM/t1f+PlGoKnL1ePxin8Do9krZWsFmAnGf65afZw1VPZkdSDqGwpvgn1lJjFrajjhshR7HFvmxeOE6GTDdeeHjszndL5PBD5vapIoae+/eX5fwFlOiB+JXv6LXSWnJr08z9ZsnYMe/zEgZtXZ73W0qe/SoWcdRWjcWHecNH7FqPwZILndLQI8D+USG+Ef8wOd6r/zDOKQvrWwuO8dXJY8A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e4298b1a-e8b4-61d8-1975-a78adf55bcdb@suse.com>
Date: Tue, 7 Mar 2023 16:14:01 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 2/2] xen: update CONFIG_DEBUG_INFO help text
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: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-3-jgross@suse.com>
 <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>
 <d0aefe0b-4e71-458c-0072-345e1c505083@suse.com>
 <825c0085-ba84-9ede-ea91-f07dce66f214@suse.com>
 <9537fcd2-99ae-0570-aba3-41fd1fefe4ba@suse.com>
 <c8c8209f-0ad1-2a13-946d-0ac9a0f454bc@suse.com>
 <7f4d5da3-13b8-f120-69fc-14aa65e735e3@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7f4d5da3-13b8-f120-69fc-14aa65e735e3@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0179.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB9147:EE_
X-MS-Office365-Filtering-Correlation-Id: 999db743-6148-4646-a3e6-08db1f1e9646
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:
	KLpN0gwsX7v4S2uYH3/s6mTSqLTKntlW1PQ086OOSMCS4ZW1ExlZ0C1mxf5LM1VDtR6sq+a5O4OrZ3horBeaKtv6KDOHYG4TMYlMUdB9mix1BZyj//iGlfw+qJAcRgplXLMDzsqGYaVVVQcWoi7HtGLIwV55B1owO/j0qHtZQNd+jQLXoqAHJxvff0+ys3oc/spRRrwjRPUBGu5aF0D4uLKMGEe1crbY4uowr20UIvxIpIXq/HmSsDJ9Iv4fvi9Gx0KQpkZmPVa4I9tsaQ/AkBIyJB+VZ9Ale/P19saxMLH4clenRq/YEJHLVXTKSobi5WszFpUqQcwqG4oxtXwiZM4JVXkm/3jA3LKnNMpYGO/hClwd38vtshebp37a2gh6iJo2Xx1JU4+7lyiC8WDfcZ5inpaCKUXs764qPyTgNufsUI7/gPZDTldyxgvUEt5eVNOT6MCyLezjTeXaUoC6GN3BbSWA+JdU33p8LPJfqfy1F7KOuEyvU0ebruj/FQc3fryzrMSjkHZ23PR+fAT0ljFau+p4tstSplfZuvoTDQGwjbGOlKs4BEQLVwnUWF7gJwidAO1j8UVIsbaiNUai3g5iqLxhPoF6D0d66ePKzlL/LtqEPPBLH7QHm2axoAGO1q7hCuwLr+cMM1PbWnPmPPNo2Fbmh3WEaBjFuBYezaBvgldOoyeUUgHJ9vxNqT017W67cp26RiR6KNa1DqZjsOsqVJoOVYAIN5qaReU6d14=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(346002)(396003)(39860400002)(366004)(136003)(451199018)(2906002)(31686004)(5660300002)(8936002)(6862004)(41300700001)(15650500001)(8676002)(66476007)(4326008)(66556008)(66946007)(83380400001)(316002)(54906003)(6636002)(37006003)(6486002)(6512007)(53546011)(6506007)(478600001)(31696002)(86362001)(2616005)(38100700002)(26005)(36756003)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZGJpTDdiNllaYUVCZHpzanc0VEoyTFAvZUZwYTBUQ2V6RWZmY2NzQWt4YmxN?=
 =?utf-8?B?ZnliNWFTcXZ2YWxtZk92YWdET0s1Rm1xSTNXYjVhckRkamRSZXV6R0RQTUc5?=
 =?utf-8?B?S2QyTmM1dGp5Tk8vNnpLVEtCc0J3T3hiN1F3R0FPdGh6NlpSQ0dpZEo2OTB0?=
 =?utf-8?B?ckczRlI3d3N0Sk9Fb2FQY2s5c3grL0ZqMDhoOXM5V2NocEJJVnFKYWNkdk9x?=
 =?utf-8?B?RE9ST0poWnZlWFVVek12ZjhMSjZzNTdaMzYwTzlZR1MwVEJhZkgyMDdRTUxF?=
 =?utf-8?B?c1kyNi93emlleERtcWZuRTB5TEtFeVhTRGZ5K3NhbWlJcTdOL0ZSdXpBbjJ4?=
 =?utf-8?B?MjRIUkx2b0VzblpYeWJuUTdKaS9YWWxwV1pSWFl1QkE3SzluRGNYai9LR2tk?=
 =?utf-8?B?NFFDYnJFQW0zTEErZERxSC9POElDdEZTbW5JN0JyaE9kR0FtcFJNTEdhSXc0?=
 =?utf-8?B?R2VxeDFDektwelV0bnUwZHJVUTVpYytyNW4xMTlyOFFQTUk4eDYwL1g4Mmdm?=
 =?utf-8?B?N0s5T2JoalJMRjZkZzQ5SlJkMk5BVXp5SDF2SzNvcU8wYXBXK1czT3htK1Fu?=
 =?utf-8?B?SWx3bm9RdDMrUUVldVVzcTlpYmlTYXZISUZYVVJLVnZsNmdoK0QyQVVvaHNR?=
 =?utf-8?B?a1l5cUlLd1A3RUxUTW5WdktTS2Yyd0o3dGZ3dElCbEYzN1BXZzg4YjFVQVRn?=
 =?utf-8?B?NW1WMThwWSt4aThXRlRPaXArT1c2TXJJQnBCVThUcnBrcVkzR1RxaThkSU55?=
 =?utf-8?B?ck8yYTRyQUc5dnJOVW1Pb1BaOHEvZ2xnK1FyVDlZMXZ0c29TcWZaS2ttOTdr?=
 =?utf-8?B?NXhOZ3p1VitWaUlqTkxpSDFsR3gxWmxLNTJZQWIvZnV5ZVcrZGZCZllBeVlV?=
 =?utf-8?B?dDQ2eW1uT3doa2FRckwzdkxVVVRhNUxNUDgxdE9oK1lZNFZEWUxRQTZudEtp?=
 =?utf-8?B?aXdodXA1eXpaT2wzVGN2Z3BXb0txeFNqaHZVNHRuM0MzZEZzK3F3RFpyVGxk?=
 =?utf-8?B?YnpENkdLWUt0eHJCd2JMZ1NhQVlRT25ZNEJxQkRTcE5XN2F5MUFUcUtEczNU?=
 =?utf-8?B?YmcyNHBoU29nMDY0NXJxcDZrTXExOTJENUFRSXRkeTU1YWMyMXNLQlBGdys2?=
 =?utf-8?B?ZTFSMGxCZGw2Rzl5SVcrblMvR3ZDUjdCOUxxeWJ2UWFsZkY5VmtMbldRdVZ5?=
 =?utf-8?B?dmkzdnZFbXQ0bFh0SmZvVWgwVW42Y2xuNzgzOFp1cFBIb1RzTThiWXhXZ3ZY?=
 =?utf-8?B?d3Izak9sUVlOWi91aFlrbllOQ1NFSUQzZTc3d1pmQ2FseWh6b0dMWUxQUDJ4?=
 =?utf-8?B?SmJVK1JFdldtYTNLaVFHNjJ6US9HMUF0V0NBUE41OG90QnZLeVdJNW1lb3ZU?=
 =?utf-8?B?TFoyYjJYOW93SFBocWdsZVpnb1Z4TTFNcnpoRjlxemEwRHIzYTA4NzZlZ3Nn?=
 =?utf-8?B?OThrQ0ZpN01reitDR2Z1b2g4TkZaU0lNQTcvMU8xWmlQcHh4ZXZPajZLOWox?=
 =?utf-8?B?SmJxQklOY25QaEhoZUpJOGw3TWw1dkpwLzB1eEk1Ym0zaXNnUUJDZXU4WStw?=
 =?utf-8?B?Q3B4cHpqa1Q5a3JtT2pTY1BFMmdPUk11RHZkWWNieU5zRi8zcnkxeHZxQkhK?=
 =?utf-8?B?SHMvdzJza1Y0WGRxNkZJQVRYRHVUK29mWThvVU9WYjNidGN4bC8ycnlxQkJY?=
 =?utf-8?B?b05QWS9CU0I4VkVEa1ErWW5ySWJDN3FESmtZYURlZkp0ajJxMDJGRVdKVEVk?=
 =?utf-8?B?TXIzUFRyTDZxSmpldUZZeWFzc2Jpd1pPMy9CK2tQL1o3S1hnV3FoOHRSdThN?=
 =?utf-8?B?d2RFMlcvZEJoS001a2wzcDdKMzlONVV6MElNOWlzdzVWOGlqTURvWE9LQTQw?=
 =?utf-8?B?QkZCU0Q2YVRJd1lKak9BejNYdkU2QzZScDE2WldhMmQ2cEJLTW1mdFRBOE9E?=
 =?utf-8?B?VE9FTXpxZmdkY3hiUUd3cVJCQ0k0NmhZYzhnaWx3eVorUmVUYXVRQ2RDaHha?=
 =?utf-8?B?WHBsQXlqVjg3OEhnb0lMQ2hJaExVazBkR1N6QXFFbVNDTDNyK0djZWY4aEVs?=
 =?utf-8?B?UW1DWDJnRWkzc2xmYlBqYjNHQUxncnRCcU5rUWxMMG9MSmRpRVJpaDZheGha?=
 =?utf-8?Q?S5uy9KR92YJTTaj1uv5F6H8el?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 999db743-6148-4646-a3e6-08db1f1e9646
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 15:14:03.5780
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VRs8Eu1Aj3CIwflbpasbKL139EcaSrfcf6zeca2P1KJ4l3nj8ikBC239SS42Jzn2qMl1LXMT0zA/7jboCoHK1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9147

On 07.03.2023 16:02, Juergen Gross wrote:
> On 07.03.23 15:34, Jan Beulich wrote:
>> On 07.03.2023 15:23, Juergen Gross wrote:
>>> On 07.03.23 15:18, Jan Beulich wrote:
>>>> On 07.03.2023 15:04, Juergen Gross wrote:
>>>>> On 07.03.23 11:41, Jan Beulich wrote:
>>>>>> On 07.03.2023 07:32, Juergen Gross wrote:
>>>>>>> --- a/xen/Kconfig.debug
>>>>>>> +++ b/xen/Kconfig.debug
>>>>>>> @@ -15,8 +15,11 @@ config DEBUG_INFO
>>>>>>>     	bool "Compile Xen with debug info"
>>>>>>>     	default DEBUG
>>>>>>>     	---help---
>>>>>>> -	  If you say Y here the resulting Xen will include debugging info
>>>>>>> -	  resulting in a larger binary image.
>>>>>>> +	  Say Y here if you want to build Xen with debug information. This
>>>>>>> +	  information is needed e.g. for doing crash dump analysis of the
>>>>>>> +	  hypervisor via the "crash" tool.
>>>>>>> +	  Saying Y will increase the size of xen-syms and the built EFI
>>>>>>> +	  binary.
>>>>>>
>>>>>> Largely fine with me, just one question: Why do you mention xen-syms by
>>>>>> name, but then verbally describe xen.efi? And since, unlike for xen-syms,
>>>>>
>>>>> For xen-syms I couldn't find an easily understandable wording. I'd be fine
>>>>> with just saying "xen.efi".
>>>>>
>>>>>> this affects the installed binary actually used for booting (which may
>>>>>> be placed on a space constrained partition), it may be prudent to
>>>>>> mention INSTALL_EFI_STRIP here (as a way to reduce the binary size of
>>>>>> what ends up on the EFI partition, even if that wouldn't affect the
>>>>>> "normal" way of putting the binary on the EFI partition - people would
>>>>>> still need to take care of that in their distros).
>>>>>
>>>>> What about adding a related Kconfig option instead?
>>>>
>>>> How would a Kconfig option possibly affect this? You want debug info
>>>> in the xen.efi in its standard install location (outside of the EFI
>>>> partition); or else if you don't want it there why would you want it
>>>> in xen-syms? It is the step of populating the EFI partition from the
>>>> standard install location where some equivalent of INSTALL_EFI_STRIP
>>>> would come into play. That step is done outside of Xen's build
>>>> system and hence outside of any Kconfig control.
>>>
>>> We have 2 binaries for the non-EFI hypervisor (xen-syms and xen[.gz]).
>>> Why can't we have the same for EFI? E.g. xen-syms.efi and xen.efi.
>>> The former would have the debug-info, the latter could be installed
>>> into the EFI partition.
>>
>> I view the two-binaries model of the non-EFI case as merely an
>> implementation detail;
> 
> The ability to do crash dump analysis is more than an implementation
> detail IMHO. It is a feature and as such the availability of xen-syms
> should be seen as an interface which functionality should be kept.

That you're looking the opposite way at things: The oddity is that we
can't use xen-syms directly for booting (which is also why it has this
specific name; otherwise "xen" would be what the linker produces).

>> it just so happens that there's little point
>> in mkelf32 retaining debug info. I therefore don't view it as very
>> reasonable to artificially introduce yet another binary.
> 
> In case there is no other way to enable hypervisor crash dump analysis
> I don't see this as an unreasonable approach.
> 
> It should be verified that this approach is really enabling the crash
> dump analysis of a crash dump from a xen.efi booted system, of course.

Right. First question would be whether they manage to consume Dwarf
debug info from a PE/COFF executable. Possibly the way to go is to
separate Dwarf data out of xen.efi into an ELF "container"; I have no
idea whether objcopy could be used for something like that.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:21:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:21:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507505.781089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZ86-0002dd-1C; Tue, 07 Mar 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 507505.781089; Tue, 07 Mar 2023 15: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 1pZZ85-0002dW-Ua; Tue, 07 Mar 2023 15:21:29 +0000
Received: by outflank-mailman (input) for mailman id 507505;
 Tue, 07 Mar 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=bbCp=67=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pZZ84-0002dQ-Kk
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:21:28 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b89f5b8b-bcfb-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 16:21:26 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 10CB43200912;
 Tue,  7 Mar 2023 10:21:21 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Tue, 07 Mar 2023 10:21:22 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 7 Mar 2023 10:21:20 -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: b89f5b8b-bcfb-11ed-96b5-2f268f93b82a
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=
	1678202481; x=1678288881; bh=zQByrxCmOalTEwZf09f5Lw3PO5cSPCbHeH3
	/8l9yHkw=; b=La9sa7hO9YQd/ZqQ1sMGgeVS/jBC/IrkWpFkXwP3jbAcc3QbMME
	bckT7S552kRbQzZEAoq01qn5qsL1O0cnBla7sBL2y8/zcTWHHbZIBTFad/hwRaTP
	X1BccRwrzpz4AlYoCkxqha7KhD5lvMKSqlphKKgTBi+8qu9Vi2kKQEpOX3UHgK8W
	kvKThNGOcH1qUm8//bwtdMMb8Q752wpKXDd9jqWS539O6E4nzvHoFIiiGpaIQlM6
	mfQEVX72cVSoDsG4pp8Ig5Xr0kXQhK/0ruGIorvElVju9/A+u4aWiG06AYwDlROG
	48oiAnhAzcS+8lTmGQVCkFZCnVeeu13EQiA==
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=1678202481; x=1678288881; bh=zQByrxCmOalTE
	wZf09f5Lw3PO5cSPCbHeH3/8l9yHkw=; b=ZZ+10uK7jJdr0PlHCMyoEA5tysvzH
	S0KS0Ifh4iZVYReWoNWnsZwtWDIJ2sdieVYqsfYSKqhIiWeLFjv91/G9ByBHfLO6
	vN4wE/GOB/Gxo91AqkJygaLjBQF2ShqH4qITqJXmYj9Uu6OoH4pX6gfx7C2uKqGC
	lyVnS13BpCXsAN5MpVSWPMUTsIvRNDaXQv3rMZHgMlzEwHw7J+g+i6m+UxzUxhgg
	f4pKSE7JzaSwv1dd2RZtySt4u4DVFI15c3eisRkKCI7rnGx9zfbmQFE3zBKv9xz6
	lREz6aIPfFyuVY2YRDkC+twh8fukfL6XBeOQQhkVW4mhuSjbwkCbfSpGA==
X-ME-Sender: <xms:cVYHZB7mABOxiI6ReXy1EjniIfwpuyLpE6KhuOz0TNRmBa7szeZZLA>
    <xme:cVYHZO4Kv1W2X8Q5dSHceQWmuNbYatkNVaAvRQ3Uc_LYLzmUyPsJNd4d-X5gmSWGe
    tQu1oYHHuUSNw>
X-ME-Received: <xmr:cVYHZIfT8ZTSYrXUzuLWd6md7unOYIVPAS-e9lK950nWse_MkpsJoQn9qcEsZ-zaW_z6VIAbU-rbaY00u-x5vnL99aAsKc5KJcY>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddutddgieelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepveeu
    jeetgeelleetudeuvefhtefgffejvedtvdfgieevheetheelgeeuledvjeevnecuffhomh
    grihhnpehgihhtlhgrsgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgr
    mhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhm
X-ME-Proxy: <xmx:cVYHZKLGWQZx6L0geh1UD7GQqAqiSJkzK92QKBVFqleaNAsEJACK6A>
    <xmx:cVYHZFLjSjLEVB0v7laokORmcOSnSTVVhOwXaGyld_GIWMARyJQvDg>
    <xmx:cVYHZDwSnd5XPVN13fZz-OLFrldKGywcQ2wgy7RveaCxqJKBU8kgQQ>
    <xmx:cVYHZF0D5wyaUZ5vW7WxbiAIqYcUS_z5CRmxsfER-pXgF7MR73Hn9A>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 7 Mar 2023 16:21:17 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org, cardoe@cardoe.com,
	michal.orzel@amd.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH v2 2/2] automation: introduce a dom0less test run on
 Xilinx hardware
Message-ID: <ZAdWbrW74dcPYhnM@mail-itl>
References: <alpine.DEB.2.22.394.2303031554080.863724@ubuntu-linux-20-04-desktop>
 <20230303235719.1181690-2-sstabellini@kernel.org>
 <290dec66-c5a5-0609-f95f-7e3bcfd3fc94@citrix.com>
 <alpine.DEB.2.22.394.2303061450530.863724@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="J4X/aXPpLIykDIn/"
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2303061450530.863724@ubuntu-linux-20-04-desktop>


--J4X/aXPpLIykDIn/
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 7 Mar 2023 16:21:17 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org, cardoe@cardoe.com,
	michal.orzel@amd.com,
	Stefano Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH v2 2/2] automation: introduce a dom0less test run on
 Xilinx hardware

On Mon, Mar 06, 2023 at 03:02:51PM -0800, Stefano Stabellini wrote:
> On Mon, 6 Mar 2023, Andrew Cooper wrote:
> > On 03/03/2023 11:57 pm, Stefano Stabellini wrote:
> > > +  only:
> > > +    variables:
> > > +      - $XILINX_JOBS =3D=3D "true" && $CI_COMMIT_REF_PROTECTED =3D=
=3D "true"
> >=20
> > We don't want to protect every branch of a tree that only a select
> > number of people can push to,
>=20
> Actually this is useful, more on this below
>=20
>=20
> > nor (for this, or others configured with
> > the runner), want to impose branching conventions on them.
> >=20
> > In all anticipated cases, those able to push would also be able to
> > reconfigure the protected-ness of branches, so this doesn't gain us any
> > security I don't think, but it certainly puts more hoops in the way to
> > be jumped through.
>=20
> It is true that it adds a small inconvenience to the user, but I think
> the benefits outweigh the inconvenience at the moment (that could change
> though.)
>=20
> With this, I can register the gitlab runner with a specific gitlab
> project (for instance
> https://gitlab.com/xen-project/people/sstabellini/xen) then I can mark
> all branches as "protected" and select very specific access permissions,
> e.g. I can give individual access to Julien, Bertrand, Michal, anyone,
> to specific branches, which is great to allow them to run individual
> pre-commit tests permanently or temporarily.
>=20
> I couldn't find another way to do it at the moment, as non-protected
> branches don't come with detailed access permissions. But it is possible
> that as we setup a new sub-group under https://gitlab.com/xen-project
> for people with access to the runner, then we might be able to remove
> this restriction because it becomes unnecessary. We can remove the
> protected check at that point.

You can configure runner to run only jobs from protected branches. This
way it actually prevent running jobs from non-protected branches. Just a
condition in .gitlab-ci.yml can be simply removed by anybody who wants
to abuse your runner (and have push access to non-protected branch -
which may or may not include all of patchew).

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQHVm0ACgkQ24/THMrX
1yw4/Qf+MtuO1mgjQ9Rt2N2y+xm6qyz2166Cp3LW1JsbDyY7jBDjXymWk2V07R1I
OEtRozoVY7K0Za24WXW9eI+GCm7OBEAjvZOj6zDwpzQp/lrwDE6elS7ElqVz8ybP
2Su7myk+lKR5eWbq8VFMNVcUyWyFaYsXqE/4O8GJIbbS/4HiRylnL8IrdmhI5zkY
wqexiZCQbHxf12oNngaLnqXtOAcbf7qT5zHS2tajZTHmwhr+5orNi4r7g6GLh++2
UoAu+TwpwP4luBmeMcn49Jmftx9cAmLe09HCsriffsRC41NF8yzTR5bI/BvyNtjf
ewcBrFqtoGNn0mHAENHom1cMk+5hOA==
=J9WM
-----END PGP SIGNATURE-----

--J4X/aXPpLIykDIn/--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:27:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:27:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507510.781100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZDz-0003G2-Og; Tue, 07 Mar 2023 15:27:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507510.781100; Tue, 07 Mar 2023 15:27:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZDz-0003Fv-Jc; Tue, 07 Mar 2023 15:27:35 +0000
Received: by outflank-mailman (input) for mailman id 507510;
 Tue, 07 Mar 2023 15:27:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=TARO=67=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pZZDy-0003Fp-B1
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:27:34 +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 943be782-bcfc-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 16:27:32 +0100 (CET)
Received: from DB7PR03CA0083.eurprd03.prod.outlook.com (2603:10a6:10:72::24)
 by AS4PR08MB8189.eurprd08.prod.outlook.com (2603:10a6:20b:58c::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.27; Tue, 7 Mar
 2023 15:27:30 +0000
Received: from DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:72:cafe::e8) by DB7PR03CA0083.outlook.office365.com
 (2603:10a6:10:72::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29 via Frontend
 Transport; Tue, 7 Mar 2023 15:27:28 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT022.mail.protection.outlook.com (100.127.142.217) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.29 via Frontend Transport; Tue, 7 Mar 2023 15:27:28 +0000
Received: ("Tessian outbound 0df938784972:v135");
 Tue, 07 Mar 2023 15:27:28 +0000
Received: from b978e48d9a39.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F79C6E8B-0AC2-4F03-9F30-BE59437B548E.1; 
 Tue, 07 Mar 2023 15:27:20 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b978e48d9a39.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 07 Mar 2023 15:27:20 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM0PR08MB5364.eurprd08.prod.outlook.com (2603:10a6:208:186::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 15:27:19 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6156.029; Tue, 7 Mar 2023
 15:27: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: 943be782-bcfc-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=39TtagBEJpHWqEuAdKldn4Ewj5WiElEj/f3CGEoWGaA=;
 b=iXTyA2IlsoOg6P0IAUTR0W3akke+XEyU+Wb0Eu3OyP7NWyD+K9/421nI3ZyptLDoZtf5bnWLHO4HdO8ra8flZ4FPqfk+I+gAaXHohD+LTBu9YGaPu/P+GMgk1sMsKuuhHQDZenjwbV6d7U+AtCmJu9gIoscYFZxs0aUzDgq3vnw=
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: 66875ceb0931c61a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KlN+q3+m9HWQPr8gycaTRhZNPIRjK83L/4irmvOb4VdTnS5Vc26290ffDjK2FcR4AcF/yfiZntGqvQEbwBhtd1YnBhLCBoLHnYQMxf9JkOnTG/Kx12BiWzvNijTtiNsMMQ2auHpqsNpuMqGpuZwwx6E771aa90B5JSyi8btCT4QNPaRCNi+enL/Y9MSLmV4pNv6GVhOfc37JQcjK8jkP1LOsamky0XWUT6vEroF+W5Ve05ASnTjankdM70r95e5n0cvgJUnuv+g0L+MMm6+95N3heW2FZbDR/plhW8nf3xXGYAVkgJMptPOqZx1P2zPKNWUJLJ64FuBIkZP4oLcghg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=39TtagBEJpHWqEuAdKldn4Ewj5WiElEj/f3CGEoWGaA=;
 b=iv2Wob6lcWLHF7/qd6FOHDvk9gxGlOkmMaxv4T0oJnurFIULzX/q2WFC60EXXrYEzCgeV3oQ9LB7XiVIrEJgZr4akpd/fZnTV6xWfLAFWGev8n9AQMgob5TiTGWG1ldGpGyPzfsSErFiDco9UGGMoVIMYHPV9idCJwk8my3+sDeYP3HcLFcntdIoST4ZIV/GjwM6ydEzX5XtotspXilZ6DgawUh8J/dnK6ThcEgiGwMucfJNCzuLbMmk6v+BuvC82ErShqd8lT+tNSoR4Im5O0IoERtbTi6jn2aBPcrpJ97DT24nrKJlypeWDqpVGREYP2KOu+mN+x/kFEsh1lnx7A==
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=39TtagBEJpHWqEuAdKldn4Ewj5WiElEj/f3CGEoWGaA=;
 b=iXTyA2IlsoOg6P0IAUTR0W3akke+XEyU+Wb0Eu3OyP7NWyD+K9/421nI3ZyptLDoZtf5bnWLHO4HdO8ra8flZ4FPqfk+I+gAaXHohD+LTBu9YGaPu/P+GMgk1sMsKuuhHQDZenjwbV6d7U+AtCmJu9gIoscYFZxs0aUzDgq3vnw=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Andrei Cherechesu
	<andrei.cherechesu@nxp.com>
Subject: Re: [PATCH v1 0/2] Fix ARM Generic Timer interrupt parsing
Thread-Topic: [PATCH v1 0/2] Fix ARM Generic Timer interrupt parsing
Thread-Index: AQHZUN0kJnuAhQfQv0iYnuJGnTc3ZK7vcNOA
Date: Tue, 7 Mar 2023 15:27:19 +0000
Message-ID: <6A06A9E8-4643-4920-83D9-3B628D29A386@arm.com>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
In-Reply-To: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|AM0PR08MB5364:EE_|DBAEUR03FT022:EE_|AS4PR08MB8189:EE_
X-MS-Office365-Filtering-Correlation-Id: 24b48f7f-b225-4b60-50be-08db1f2075ed
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:
 DRQQhp0yp8BVDNOnGE0DdPc4Ccdw5cov4N+XDQWzponlEgRabTHMCNcL4q3cL2ApFZkbO/8EH/I6YQ8ew5YUEGYB49rihYKBU7MdVs4JT9o3/wY9/MUoGqFf0YWG7wi80Idvn4xp81EIWqD++gEVeHGZmD53lhUDTUjfU/5IHjG9L9/q3skIOaUXf/mQTCX3XfLHpLvFYMGLn3yUmHVUpvppdFYHemitSHF1TxPTPW8SryW5dh8vdwGspmYfzyFQ0SzIaeoH2uSf9xrjrHftDT/hQE9fnYyPhJ3KO9qBbxw0m7a0H6vZXDB846hyo50zBoKF4ctYQvelWBHXfH3JZXqToqgtVZEQtgrczG98aB1Z1eb8TeAl3LcUEjN2zk0Li9MJH12y9fHBQvxvgrg5HAVMuRMMSvdgjnEB315+R0C0l158swiWGJv46xP6ctIh7V8cd5ldYf+ydNcQJoRsSYnCX1+63G/68n18GN0JCunQU5PbBL0GdjrX2dF4+dc1bb1PEuuGk58VjFb4dhk3lVuc3BkdAsCfcTBmlHpBP5+cSgAgil58G9XlfkRKyC45Tn9ygL/tR9qfb4qnyK3UzgadIsExidD7MgYmxuiVi/3dxn8/vDiXW/MhRxyxyQPPYXjvloxHE96/6FOYQC1/0zPh/TMVs6hLaHbTek1R7wgNhvPLX8T4H3zKL2G4eh3q873zN2IMY9lajPy2NmsHQAdtmziCSZDOKahPtsCAx00CHe0XtuCumv0Enfpt92xg
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:(13230025)(4636009)(376002)(39860400002)(136003)(396003)(366004)(346002)(451199018)(5660300002)(8936002)(2906002)(41300700001)(76116006)(4326008)(64756008)(66446008)(66946007)(66556008)(83380400001)(6916009)(66476007)(8676002)(91956017)(53546011)(316002)(54906003)(33656002)(478600001)(6486002)(71200400001)(6506007)(6512007)(186003)(86362001)(122000001)(38100700002)(36756003)(2616005)(38070700005)(41533002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <83EC1F964D7595418B74828F539EECDF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5364
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	902ec318-cb8c-4bc3-8d2b-08db1f207094
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vlJKLVaSR6Fa5MiGZbgBZkenH+6Ah7yzHSt9C/7Ap/DS0y7HzWW48CvUF4DH3UG+y+OSCRVsPTnz1Hixy4jDUEoMVbdZP5Of9883ggxGslIQqBsYq3lEU7EuRkzo2q/1RWSdlc+VAqERFLJ2ob3zlbRXj3nctd66tkQyBdLDe6niB4u0RlZaC+F4AtRxuKQbTyvL05wxIg9zttNBJZDzrfpUHT/6wXAewPYBSDGZX9qe/ScKoKngAvUMx95l6kPcFmQnMohShvcun0CY1yFdES1Q4dC3DFhe2s7XZbvRFYOboMzrxvPXstxWSKHU7tG2bol5NlOGt5LcxFJKFT+BzhMsDEPpHwBZzRf9kSxpIfNk7vnLc/t3PENvl1w80o478LhnuzSJvOaRcaWDyYruoPbjCs3gzlCMwYxVuJC4quVQVqfDzA1j0OzzvD74ckF2a6pmJHp/7Fu5HUSl+A/klRQp2Dsl54bcSOzHPbLzqfmI4ZkVg7EkvthlYnFfmHHYCk8jSfAJQANwQgYIDhbkcJeLcef5fv6wARZNhTlVJBIDh6bYNDEhWpzhje91iMJMTuI+txmlTFGYUsCZoMFhpxUZNrXBXkqLOFQI3fz+BSJrfJGyRonK0SCuH0eMDEiQlq62/5lKui+NsThNIbAnqUerrBZQ5LdJje9WIjLDimz1/jX73HTXlp/kfFzfb+7eHlplZJ/azR1NTHy07/49kq9wkpvCiglK7l1ZiFFEYqQ=
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:(13230025)(4636009)(396003)(136003)(376002)(346002)(39860400002)(451199018)(36840700001)(46966006)(40470700004)(26005)(6506007)(82310400005)(53546011)(6512007)(36756003)(6486002)(36860700001)(47076005)(40460700003)(356005)(83380400001)(86362001)(40480700001)(82740400003)(33656002)(81166007)(2616005)(336012)(186003)(70206006)(41300700001)(4326008)(8676002)(70586007)(2906002)(5660300002)(8936002)(6862004)(478600001)(316002)(54906003)(41533002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 15:27:28.0958
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 24b48f7f-b225-4b60-50be-08db1f2075ed
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT022.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8189

Hi Andrei,

When submitting patches, please use the add_maintainer.pl script so that ma=
intainers of the code
modified are added in CC.

> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu@oss.n=
xp.com> wrote:
>=20
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>=20
> This 2-patch series fixes the parsing of the ARM Generic Timer
> interrupts from the device tree.
>=20
> If the generic timer interrupts order in the DT was different than
> the expected order in Xen code, these interrupts would no longer be
> correctly parsed and registered by Xen, and would result in boot failure.
>=20
> This method with using "interrupt-names" for the generic timer interrupts
> instead of having them hardcoded in the DTB in a specific order is the ne=
wer
> approach already implemented in Linux. Xen did not have the necessary cod=
e for
> this approach, and it has been implemented by the means of this patch ser=
ies.

Would mind giving a link to an example or the Linux documentation if there =
is one ?

Cheers
Bertrand

>=20
> Functionality should remain the same if "interrupt-names" is not present =
in the
> Generic Timer DTB node of the platform, but the interrupts should then st=
ill be
> present in the expected "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt=
" order.
> If "interrupt-names" is present, now it is also correctly handled.
>=20
> Andrei Cherechesu (2):
>  arch/arm: irq: Add platform_get_irq_byname() implementation
>  arch/arm: time: Add support for parsing interrupts by names
>=20
> xen/arch/arm/include/asm/irq.h        |  2 ++
> xen/arch/arm/include/asm/time.h       |  3 ++-
> xen/arch/arm/irq.c                    | 14 +++++++++++
> xen/arch/arm/time.c                   | 26 +++++++++++++++++---
> xen/drivers/passthrough/arm/smmu-v3.c | 35 +++++----------------------
> 5 files changed, 46 insertions(+), 34 deletions(-)
>=20
> --=20
> 2.35.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:31:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:31:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507516.781109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZHS-0004qT-9Z; Tue, 07 Mar 2023 15:31:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507516.781109; Tue, 07 Mar 2023 15: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 1pZZHS-0004qM-6b; Tue, 07 Mar 2023 15:31:10 +0000
Received: by outflank-mailman (input) for mailman id 507516;
 Tue, 07 Mar 2023 15:31: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=TARO=67=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pZZHQ-0004qG-Gc
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:31:08 +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 145a3f41-bcfd-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 16:31:08 +0100 (CET)
Received: from DB8PR09CA0017.eurprd09.prod.outlook.com (2603:10a6:10:a0::30)
 by AS8PR08MB9454.eurprd08.prod.outlook.com (2603:10a6:20b:5ee::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 15:31:02 +0000
Received: from DBAEUR03FT061.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:a0:cafe::b9) by DB8PR09CA0017.outlook.office365.com
 (2603:10a6:10:a0::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28 via Frontend
 Transport; Tue, 7 Mar 2023 15:31:01 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT061.mail.protection.outlook.com (100.127.143.28) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.28 via Frontend Transport; Tue, 7 Mar 2023 15:31:01 +0000
Received: ("Tessian outbound f2a8d6d66d12:v135");
 Tue, 07 Mar 2023 15:31:01 +0000
Received: from 620310e8841a.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E5E8A581-4040-41F0-82A8-87BE918BAAFC.1; 
 Tue, 07 Mar 2023 15:30:54 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 620310e8841a.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 07 Mar 2023 15:30:54 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB9PR08MB7722.eurprd08.prod.outlook.com (2603:10a6:10:391::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Tue, 7 Mar
 2023 15:30:51 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6156.029; Tue, 7 Mar 2023
 15:30:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 145a3f41-bcfd-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/m39fUHKbdsfSZAPKYUk/QrC/E12wp8gklOEiWmeXzM=;
 b=4izBWgklCMdDeOeXpCujacxXrzE1dxUUd5EHRvWXxOqcBHE2DjcgN6dMEFsSAcNY7IUxQvxWP/Ajcim1ijwSOyORZAvExhGMEm7rUV6uq1vDEwB5BkHFCd2oXFzvcKmms3XRh7g+zgLrWQzZCwDEfIpbUpvdXJJVZEc+X9QfM2o=
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: 7bb3030cf0f6bbbf
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UXtfMCz9FG5PICueB5gsfgjPssfL+pGGCwxo0b3OP5sEDyXDIDPHMUwAU2+c6FZ/YwKSmlpLNMQo9AWER2juhsVtlLrmI8tPZSr5JLfnV98ZX2gSFeqCSQYFpXDXR8pO4012v5CkOehyAaOQxWqgXy8FNHNtcpxe6+uAAD/Iv21jcEAWeYjZ9Eki8DWL4ucvBtv8ALkflC9nVk1xjJC5lT4fDGeFFvJ1W8OznghnmVI/MhxWXckkdqsTd/MpS9CU8QS51gXWwmsJ5+08sGQpQenpREiCmsNx9QtAecDF+iL/kMeyrQolu0FlvQ5IaRgDUrQgfJUPwsvCgCN9oXcCJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/m39fUHKbdsfSZAPKYUk/QrC/E12wp8gklOEiWmeXzM=;
 b=W6RE8fed8XgMX3hva1MlYJ0oa7g4FnvKrsjBPCLFzwu5bS40cFGHTtdEB8tLgDxFRGpWTmdNt8eN3WucErOAjteIdeGrAFdenFq1CBOlUbajQF7NlK6FIa5B+1ksueQjpxWNFy80WfJ4uhklKl/KdPb30B3m0Q5YHV1j0W+HNgeHU/Z3mlcHotPH6TFpLBXyB3Dn+II1S7WhrSjRSUKBxYcpPJAbq95/3/FYCtJn5J6019ZP3KxmH1vo3PGaWXd2DuvOtSkjlsufQdYAzbeTQGPiBmhlenIU6V/yHlW2Ldt5LrkJDrVnO8Ws7ZveD20wDK7/nPrXbvhXjmIF0FSEGA==
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=/m39fUHKbdsfSZAPKYUk/QrC/E12wp8gklOEiWmeXzM=;
 b=4izBWgklCMdDeOeXpCujacxXrzE1dxUUd5EHRvWXxOqcBHE2DjcgN6dMEFsSAcNY7IUxQvxWP/Ajcim1ijwSOyORZAvExhGMEm7rUV6uq1vDEwB5BkHFCd2oXFzvcKmms3XRh7g+zgLrWQzZCwDEfIpbUpvdXJJVZEc+X9QfM2o=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Andrei Cherechesu
	<andrei.cherechesu@nxp.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 1/2] arch/arm: irq: Add platform_get_irq_byname()
 implementation
Thread-Topic: [PATCH v1 1/2] arch/arm: irq: Add platform_get_irq_byname()
 implementation
Thread-Index: AQHZUN0vf7k+uGdDiEO/X3y/WMrgC67vcdEA
Date: Tue, 7 Mar 2023 15:30:51 +0000
Message-ID: <CFC6E8A8-4826-44AE-96FE-8FE2696E91CF@arm.com>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <20230307100949.9231-2-andrei.cherechesu@oss.nxp.com>
In-Reply-To: <20230307100949.9231-2-andrei.cherechesu@oss.nxp.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|DB9PR08MB7722:EE_|DBAEUR03FT061:EE_|AS8PR08MB9454:EE_
X-MS-Office365-Filtering-Correlation-Id: 948e94e9-38e9-4637-2c6e-08db1f20f527
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:
 v0AwNZhdrUT63ao/AC3ve31zzS8rknzm+wYkgRom2oc7J4b1pziTHbaOHEIiG9vZPeLWax9RaL990Owavwe0EUFG7FPsuvl1B9Cr9xu/L+Vv7bSRdjFbBpi2Hw1ZupAmcBhINvHsztHNVowYNGXxAqWZG7tWUKL/UC4A2u9vz3HZqAx8M+NWkm9Q6WrWmvvbsmYPL1/8vlUU4X/5rABkMhEncoEhtdSRRDmCp1DaI77vZAgfka1og0II5zuuGZnCzkVHfyBquFHNag4/AAqE9PrwaUVMqjqpsQak4ruBDKJ8O1sXsOK7G/5GDylQCYf30NZhFDJLPSC2EIqN4l0NkrkaFX5SeHEIFDtUOCP6aB1UtGbeLcWh+M4nu78zRfdfbpXyyNOb6uiluCEf62gvu04JK/hxPhg4bzjEP8MONb1QP/zmbaZH9qSUvKIv4EIxyd9GD8SruciWFsNk2/Ln2uC9l/rCafn8bwKRnf58UTCqiervqc5J1ZUl8z4BZIJdryiIFICHJkS4L2cWOZxLX27y7pIF8BgDu9qjSGtUewH6pEQH33DKR9o5BzswFT26TSRuxzJWtquNB1MsmcdbQo8opOK2LeaB6i1V7Ok4yy1sGCVHxWG+tLg+C1H27sPo5/z8w5PVDP/YKvLEaraCPEg/ffQrOAvKTXphG2ocuDtvDIB1JjC+u0GKSkSymn4HC9fO/g5wC2RBVoRneabEYhooE71X2MWfMrrhwJvGgrw=
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:(13230025)(4636009)(366004)(136003)(346002)(396003)(376002)(39860400002)(451199018)(8936002)(5660300002)(66446008)(76116006)(66946007)(91956017)(66556008)(2906002)(66476007)(6916009)(8676002)(4326008)(64756008)(54906003)(316002)(478600001)(71200400001)(36756003)(6506007)(6486002)(53546011)(41300700001)(83380400001)(2616005)(33656002)(38070700005)(86362001)(122000001)(186003)(38100700002)(6512007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <141969BEF250CC478AE16AE7E5B12B03@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7722
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:
 DBAEUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	97832c26-4bc8-46f1-cad7-08db1f20ef4e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lGjf0i4mrvEx1OHkX51pXOQOdvGg1Z9N0gyJNxnDNUH8WQytRl8ccDDLczGo3LnnqaBLNf6qrXPAmclYdSg8DDWFfU8y8SGjJUzKCZzcilpoMuttrYTIe+EP9FSofNfRZuRKvgwonjaxIMBwRwpti+uKDx+cTqly5vGHVBRRRv1fNl0HQHHieANI9+enh/ES862vU+n/JbzfjM0pTBUS8X7Zn4XjH/na2B+ws/4HtgyFJE4Wsm0tXn4/tLnodLYofl0y70YUc1oTZGfrvAKM81MsTyxBFphpdKDdUCG2/8jCcvE/lKLijklBwP3wUkZXudtNObCO4siuO01TLSusaUblofdBIz3ub//xMaVHAS3qfiyBdNAo+mNJwsFUM7BouyEYXiJ0O7N3M6D7QfhPeNIaZHjqUXqBmI72gHqRBkXQqoj5/k84DSJ0Q4LFH6VJ/4BOCkEF0xrCPckwtEQDVOAwMFW2d9pM4qm+aUfxcdG4DtybAPPrh9OUEq3C94x960PvtnKVn6+C+6zbTFJCuxrOgy+AWkGnK3KfoyLyNuT6VXmRRp6GjGa72l7FHQ/V+RxuEPMt5qZe/0OuGcpOnLMwm4jH5l4whL5s/DTkvJEZjys4osIrclbNUAkjdPFevWbsb3tGme5ZN0XtctLN21Nx6+WGig0ba6+i4lSPt18NftUN2OvMlzIn2UF3buyNXV7z5mk2PKIr9LkvE2KqoQ==
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:(13230025)(4636009)(136003)(39860400002)(396003)(346002)(376002)(451199018)(36840700001)(40470700004)(46966006)(83380400001)(316002)(8676002)(4326008)(70206006)(70586007)(86362001)(82310400005)(81166007)(40480700001)(2616005)(336012)(356005)(186003)(36860700001)(82740400003)(26005)(36756003)(478600001)(54906003)(6486002)(107886003)(33656002)(6506007)(6512007)(47076005)(53546011)(40460700003)(5660300002)(8936002)(6862004)(2906002)(41300700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 15:31:01.5300
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 948e94e9-38e9-4637-2c6e-08db1f20f527
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:
	DBAEUR03FT061.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9454

Hi Andrei,

> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu@oss.n=
xp.com> wrote:
>=20
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>=20
> Moved implementation for the function which parses the IRQs of a DT
> node by the "interrupt-names" property from the SMMU-v3 driver
> to the IRQ core code and made it non-static to be used as helper.
>=20
> Also changed it to receive a "struct dt_device_node*" as parameter,
> like its counterpart, platform_get_irq(). Updated its usage inside
> the SMMU-v3 driver accordingly.
>=20
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/include/asm/irq.h        |  2 ++
> xen/arch/arm/irq.c                    | 14 +++++++++++
> xen/drivers/passthrough/arm/smmu-v3.c | 35 +++++----------------------
> 3 files changed, 22 insertions(+), 29 deletions(-)
>=20
> diff --git a/xen/arch/arm/include/asm/irq.h b/xen/arch/arm/include/asm/ir=
q.h
> index 245f49dcba..af94f41994 100644
> --- a/xen/arch/arm/include/asm/irq.h
> +++ b/xen/arch/arm/include/asm/irq.h
> @@ -89,6 +89,8 @@ int irq_set_type(unsigned int irq, unsigned int type);
>=20
> int platform_get_irq(const struct dt_device_node *device, int index);
>=20
> +int platform_get_irq_byname(struct dt_device_node *np, const char *name)=
;
> +
> void irq_set_affinity(struct irq_desc *desc, const cpumask_t *cpu_mask);
>=20
> /*
> diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
> index 79718f68e7..ded495792b 100644
> --- a/xen/arch/arm/irq.c
> +++ b/xen/arch/arm/irq.c
> @@ -718,6 +718,20 @@ int platform_get_irq(const struct dt_device_node *de=
vice, int index)
>     return irq;
> }
>=20
> +int platform_get_irq_byname(struct dt_device_node *np, const char *name)
> +{
> + int index;
> +
> + if ( unlikely(!name) )
> + return -EINVAL;
> +
> + index =3D dt_property_match_string(np, "interrupt-names", name);
> + if ( index < 0 )
> + return index;
> +
> + return platform_get_irq(np, index);
> +}
> +
> /*
>  * Local variables:
>  * mode: C
> diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthro=
ugh/arm/smmu-v3.c
> index d58c5cd0bf..bfdb62b395 100644
> --- a/xen/drivers/passthrough/arm/smmu-v3.c
> +++ b/xen/drivers/passthrough/arm/smmu-v3.c
> @@ -200,30 +200,6 @@ static inline void dev_iommu_priv_set(struct device =
*dev, void *priv)
> fwspec->iommu_priv =3D priv;
> }
>=20
> -static int platform_get_irq_byname_optional(struct device *dev,
> - const char *name)
> -{
> - int index, ret;
> - struct dt_device_node *np  =3D dev_to_dt(dev);
> -
> - if (unlikely(!name))
> - return -EINVAL;
> -
> - index =3D dt_property_match_string(np, "interrupt-names", name);
> - if (index < 0) {
> - dev_info(dev, "IRQ %s not found\n", name);
> - return index;
> - }
> -
> - ret =3D platform_get_irq(np, index);
> - if (ret < 0) {
> - dev_err(dev, "failed to get irq index %d\n", index);
> - return -ENODEV;
> - }
> -
> - return ret;
> -}
> -
> /* Start of Linux SMMUv3 code */
> static bool disable_bypass =3D 1;
>=20
> @@ -2434,6 +2410,7 @@ static int arm_smmu_device_probe(struct platform_de=
vice *pdev)
> int irq, ret;
> paddr_t ioaddr, iosize;
> struct arm_smmu_device *smmu;
> + struct dt_device_node *np =3D dev_to_dt(pdev);
>=20
> smmu =3D xzalloc(struct arm_smmu_device);
> if (!smmu)
> @@ -2451,7 +2428,7 @@ static int arm_smmu_device_probe(struct platform_de=
vice *pdev)
> }
>=20
> /* Base address */
> - ret =3D dt_device_get_address(dev_to_dt(pdev), 0, &ioaddr, &iosize);
> + ret =3D dt_device_get_address(np, 0, &ioaddr, &iosize);
> if (ret)
> goto out_free_smmu;
>=20
> @@ -2484,19 +2461,19 @@ static int arm_smmu_device_probe(struct platform_=
device *pdev)
>=20
> /* Interrupt lines */
>=20
> - irq =3D platform_get_irq_byname_optional(pdev, "combined");
> + irq =3D platform_get_irq_byname(np, "combined");
> if (irq > 0)
> smmu->combined_irq =3D irq;
> else {
> - irq =3D platform_get_irq_byname_optional(pdev, "eventq");
> + irq =3D platform_get_irq_byname(np, "eventq");
> if (irq > 0)
> smmu->evtq.q.irq =3D irq;
>=20
> - irq =3D platform_get_irq_byname_optional(pdev, "priq");
> + irq =3D platform_get_irq_byname(np, "priq");
> if (irq > 0)
> smmu->priq.q.irq =3D irq;
>=20
> - irq =3D platform_get_irq_byname_optional(pdev, "gerror");
> + irq =3D platform_get_irq_byname(np, "gerror");
> if (irq > 0)
> smmu->gerr_irq =3D irq;
> }
> --=20
> 2.35.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:35:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:35:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507519.781119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZL7-0005Qp-QB; Tue, 07 Mar 2023 15:34:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507519.781119; Tue, 07 Mar 2023 15: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 1pZZL7-0005Qi-NY; Tue, 07 Mar 2023 15:34:57 +0000
Received: by outflank-mailman (input) for mailman id 507519;
 Tue, 07 Mar 2023 15:34: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 1pZZL5-0005QU-LE; Tue, 07 Mar 2023 15:34: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 1pZZL5-0002SR-Il; Tue, 07 Mar 2023 15:34: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 1pZZL5-00046c-3q; Tue, 07 Mar 2023 15:34:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZZL5-0006tM-3L; Tue, 07 Mar 2023 15:34:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TKvNPLzsLYCaGNBHs9vZ2TVagXTDnXIQdKZh+qk+9xU=; b=Ts0aZNHNdfvSwJvXWakG+v59Yp
	fzUE8v4+D2TNrTf9gcWFkiVqnF7r/eLsI/LKpLTxwYm7wJtgw6hzSxqgeIso69GwKdrSnArTUPpr2
	Y3oq2VFpX1QWPa87J7os7wh2kEgOmEFixdtki3dZJqHnjJHxD0N7M7bNJ90cVNH50VQ0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179451-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179451: tolerable trouble: fail/pass/starved
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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check: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-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-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm: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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=31270f11a96ebb875cd70661e2df9e5c6edd7564
X-Osstest-Versions-That:
    xen=31270f11a96ebb875cd70661e2df9e5c6edd7564
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Mar 2023 15:34:55 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop      fail blocked in 179392
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179392
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179392
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179392
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179392
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179392
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179392
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179392
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179392
 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-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-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-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  31270f11a96ebb875cd70661e2df9e5c6edd7564
baseline version:
 xen                  31270f11a96ebb875cd70661e2df9e5c6edd7564

Last test of basis   179451  2023-03-07 01:51:56 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 Mar 07 15:38:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:38:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507525.781129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZOw-00066V-F9; Tue, 07 Mar 2023 15:38:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507525.781129; Tue, 07 Mar 2023 15: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 1pZZOw-00066O-CN; Tue, 07 Mar 2023 15:38:54 +0000
Received: by outflank-mailman (input) for mailman id 507525;
 Tue, 07 Mar 2023 15:38: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=TARO=67=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pZZOv-00066G-Vr
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:38:53 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29adf11c-bcfe-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 16:38:52 +0100 (CET)
Received: from DBBPR09CA0024.eurprd09.prod.outlook.com (2603:10a6:10:c0::36)
 by DBBPR08MB5963.eurprd08.prod.outlook.com (2603:10a6:10:205::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 15:38:50 +0000
Received: from DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:c0:cafe::6) by DBBPR09CA0024.outlook.office365.com
 (2603:10a6:10:c0::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29 via Frontend
 Transport; Tue, 7 Mar 2023 15:38:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT034.mail.protection.outlook.com (100.127.142.97) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.29 via Frontend Transport; Tue, 7 Mar 2023 15:38:49 +0000
Received: ("Tessian outbound 55ffa3012b8f:v135");
 Tue, 07 Mar 2023 15:38:49 +0000
Received: from 7e1a2f40f6fc.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7850B24E-9C3B-4732-9A17-D88C6FEF06E0.1; 
 Tue, 07 Mar 2023 15:38:43 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7e1a2f40f6fc.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 07 Mar 2023 15:38:43 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM7PR08MB5445.eurprd08.prod.outlook.com (2603:10a6:20b:10d::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 15:38:39 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6156.029; Tue, 7 Mar 2023
 15:38: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: 29adf11c-bcfe-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=//a1vcf1wJA4hnT9ci4K37o7JM9BgcgphPNyerFUPLo=;
 b=8Po8UMYmke/o+6onau8RBgo604Jf3GxEA85RCqnNhJvWFEpZoy99pb6C5ADaPWrV6hPwlNToMmxFU6eXQeIt4gTnm4am9edMtbuOJ4faeuLJsVQZUFB7RnDcFECfAcTNYzWk+tBrQLUqGcj0GLYUm2iuxrN+LP0fqtKf5SCYMTE=
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: b50d4919ecc494e6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VSVZh5w7D7ntL0BpXRz15v3rbUyNK3LVXM/S5Qz7JiQ6G9FTPyoh0yiyMhQtByS2jsWre3MSKWzt52jn+ixh9lyof2Nlp1z4gDl0dOjAoOZtj6KlvxaPkKSUzhWteEgDCsz5BdZh6Txq1Qj+u1H5w5g5Sbc07IFAHr0OblRXq5/u6OPf0kXQ4RdxJIzoGkmfJd1hayWoaD9sGZvE584kThKQUW58I2Pg/gUZN4Dvf5s5nVn2MJr6TlqAEeqIw3Z6vALEIByFqQyRJ2FdIAfa3H0qKdPvoaD5nbsVQS61OhePRYRW18ORy1VUngWDI6FpAnq1AWluvhheU8MStdsV0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=//a1vcf1wJA4hnT9ci4K37o7JM9BgcgphPNyerFUPLo=;
 b=TAssGFAHtwvFVRUrafTsT2ifPICCE9fvC41fn/8ilE5VgU0dK+pSX6ipIyOAARorMJQdUIV58Sf6+nB+jwIt01j4F94Jnr8zDo3B6t4iiAMyAYW66kGMLuJf9okToRtb5qi+OQ9TPhoyOU2uBzgch62YNjTn9ZStzpsddW0FKPofGr6LerU5LQwjK4U2FHVD63iS0ZlJPxTBmEQuPGoGvJgw0u2VKolWqlHhCUcltdcwVHbhmsS9cUhsPd0SMJCEzyfdBKFZs2wA2AaIS32piDhvtG4lLCRI7JcT9pMhKSTKw1zR6FbFTQevDdWGumd/pQSFsaWu1EsHGynZK8fMww==
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=//a1vcf1wJA4hnT9ci4K37o7JM9BgcgphPNyerFUPLo=;
 b=8Po8UMYmke/o+6onau8RBgo604Jf3GxEA85RCqnNhJvWFEpZoy99pb6C5ADaPWrV6hPwlNToMmxFU6eXQeIt4gTnm4am9edMtbuOJ4faeuLJsVQZUFB7RnDcFECfAcTNYzWk+tBrQLUqGcj0GLYUm2iuxrN+LP0fqtKf5SCYMTE=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Andrei Cherechesu
	<andrei.cherechesu@nxp.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts
 by names
Thread-Topic: [PATCH v1 2/2] arch/arm: time: Add support for parsing
 interrupts by names
Thread-Index: AQHZUN0sbGmRWBiDtEmQnPFLsz5lVK7vc/8A
Date: Tue, 7 Mar 2023 15:38:39 +0000
Message-ID: <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
In-Reply-To: <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|AM7PR08MB5445:EE_|DBAEUR03FT034:EE_|DBBPR08MB5963:EE_
X-MS-Office365-Filtering-Correlation-Id: 92121148-e1b2-41a9-6946-08db1f220c46
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:
 8n7/LZCw+fKnAF5uWQ2LFkDwKPk3plq6kRwg6XijHB2L2GDcRLcX5pnmtdkCcc0BeCqv77b1LaBc3yeGi2mXKpFuwtmAESzrrerax/ZaPzVKMvIYqc6aCHfoyWW071N5XL0sCIB6z+eA7J8UL8eZa0Kdvyirj6aamfq8bCJyQ1NQR//4bQsCnDBNo/G/8npOHQMR3gWccNPn/LniezVPP/xgkg6DMkA7FAKSpQGFcfARBv/79ppy0oy46ZGXif6y1/eqL4Y5EeOhRowC+mW/UZzxqa1glLxBY9UJqfF+LNkBCO1aC5eQMgMqID8PugS4Kcpzlv+ftEPuwAkiC6K71kc99FqKYfmuY9Q78ATgaOFk6Bwty/mlSBBb16yooB/lFrT2a+JEE2ORAA0CBXR3DjRI2ugWEtXYisc/EYwQkHVO7iWp+D6o2cUB7VBFN7ZdoPjsazPV+250GAHJohkmr7ALu9bqOSLzG/ryoJw1vRjSRI/3vZpC1BNvrR1PV4YCLmhrPsV10qAgo+04HfoKYwxqkzrwoV9CKpYpGx+UA8LHHxCu+XiqYnLCRXSfmv6+AqZMeqpZKBe/4ui3Kj2XoU8Yfmsi5JF7Ayl5NQ3QedRUyTC0MJ23G3GLRDFVml2LEVg9nHqCVx5gnOvez471O8Cl7dszPONvUyTUuoAtIqtBNEI9CpiCl74tGJUIIW3FXfm/DVOlPtktOyGNOfhShwR9uZqppDrb3rJfr2yY/JA=
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:(13230025)(4636009)(366004)(396003)(39860400002)(376002)(346002)(136003)(451199018)(41300700001)(83380400001)(186003)(6512007)(2616005)(38070700005)(122000001)(6506007)(53546011)(38100700002)(478600001)(64756008)(54906003)(66446008)(6916009)(66556008)(66476007)(4326008)(36756003)(66946007)(76116006)(91956017)(8676002)(316002)(6486002)(86362001)(33656002)(71200400001)(2906002)(8936002)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <EF10CDD9555FBC4AACC8AD76D2C8BA36@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5445
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:
 DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d746ee46-f160-4f02-7ead-08db1f220608
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OrlyAN7uZDQluQ+v/hQBgxJbXVfXnJTQ4EWtAZQBDk7wnp4ZnmIIsv5vO+36LHjIXtJTl50fageU/lge0Hp26bipAOIa3tB2h6SMYcVNRM2aZk4qDEgSm9M/5HI9IEXHxxq73AQ1z3aGOZ7lnunct+DYQaVlWimlK68thbDR952ikMT6SaQZU8EPakqe0apr6Vbj7YHQSISZz1v4YpFwlLOSZy0G9CQl5aVM7qVzIufPbjVoYGDGCtxk+AWzPS1bWCBheKC9xkXBCEFWxMBy21y9PekHg1JubA3028DqTA2qLOnPSGMVAXzO9QZBW/fYh/QXA9je9Z5r5LqsVTZV9AwpWaTzWUAa4A7zUVv7S+qa7YZIf8QcSMAgVMA0n/ErHLOyKLmjBA70ZnNgVkYTt57p/DSUn7HtyVg5Z5d8QZBipTLRcE6rciSvyw5iIkKeb4bGkOeqQcyTapVVYAKgFE48Kc7gvWdKlaAeYA9AbfebwnhLH0ZAlkfOt5Pnv0ULb8dhVUmrNeJbiVjIjgzHt5KCFuxnEVpRPtCRjbKMkJwi25mOzx1WMeZa7BhBPB9XIcsZGNL9Ve5eRRi9JRnxJn7nMBCaTDcujglDB4hjLIFndVbt3Xbp2v/DYvBP54D76CV+U4UMMW7rHIcMFoIzh51shpM/aSQMWLxUGnyixH/tZb954O0vvDE+RA7nRkz2LUDLl9rSrrSKGAg8zoG+jQ==
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:(13230025)(4636009)(396003)(346002)(136003)(39860400002)(376002)(451199018)(40470700004)(46966006)(36840700001)(33656002)(36756003)(70586007)(70206006)(41300700001)(8936002)(6862004)(40480700001)(8676002)(4326008)(2906002)(5660300002)(81166007)(86362001)(36860700001)(82740400003)(356005)(26005)(478600001)(6486002)(107886003)(316002)(54906003)(6506007)(82310400005)(83380400001)(47076005)(336012)(6512007)(40460700003)(2616005)(186003)(53546011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 15:38:49.8191
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 92121148-e1b2-41a9-6946-08db1f220c46
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:
	DBAEUR03FT034.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5963

Hi Andrei,

> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu@oss.n=
xp.com> wrote:
>=20
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>=20
> Added support for parsing the ARM generic timer interrupts DT
> node by the "interrupt-names" property, if it is available.
>=20
> If not available, the usual parsing based on the expected
> IRQ order is performed.
>=20
> Also added the "hyp-virt" PPI to the timer PPI list, even
> though it's currently not in use. If the "hyp-virt" PPI is
> not found, the hypervisor won't panic.
>=20
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> ---
> xen/arch/arm/include/asm/time.h |  3 ++-
> xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
> 2 files changed, 24 insertions(+), 5 deletions(-)
>=20
> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/t=
ime.h
> index 4b401c1110..49ad8c1a6d 100644
> --- a/xen/arch/arm/include/asm/time.h
> +++ b/xen/arch/arm/include/asm/time.h
> @@ -82,7 +82,8 @@ enum timer_ppi
>     TIMER_PHYS_NONSECURE_PPI =3D 1,
>     TIMER_VIRT_PPI =3D 2,
>     TIMER_HYP_PPI =3D 3,
> -    MAX_TIMER_PPI =3D 4,
> +    TIMER_HYP_VIRT_PPI =3D 4,
> +    MAX_TIMER_PPI =3D 5,
> };
>=20
> /*
> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
> index 433d7be909..794da646d6 100644
> --- a/xen/arch/arm/time.c
> +++ b/xen/arch/arm/time.c
> @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
>=20
> static unsigned int timer_irq[MAX_TIMER_PPI];
>=20
> +static const char *timer_irq_names[MAX_TIMER_PPI] =3D {
> +    [TIMER_PHYS_SECURE_PPI] =3D "sec-phys",
> +    [TIMER_PHYS_NONSECURE_PPI] =3D "phys",
> +    [TIMER_VIRT_PPI] =3D "virt",
> +    [TIMER_HYP_PPI] =3D "hyp-phys",
> +    [TIMER_HYP_VIRT_PPI] =3D "hyp-virt",
> +};
> +

I would need some reference or a pointer to some doc to check those.

> unsigned int timer_get_irq(enum timer_ppi ppi)
> {
>     ASSERT(ppi >=3D TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
> @@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void)
> {
>     int res;
>     unsigned int i;
> +    bool has_names;
> +
> +    has_names =3D dt_property_read_bool(timer, "interrupt-names");
>=20
>     /* Retrieve all IRQs for the timer */
>     for ( i =3D TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>     {
> -        res =3D platform_get_irq(timer, i);
> -
> -        if ( res < 0 )
> +        if ( has_names )
> +            res =3D platform_get_irq_byname(timer, timer_irq_names[i]);
> +        else
> +            res =3D platform_get_irq(timer, i);
> +
> +        if ( res > 0 )

The behaviour of the code is changed here compared to the current
version as res =3D 0 will now generate a panic.

Some device tree might not specify an interrupt number and just put
0 and Xen will now panic on those systems.
As I have no idea if such systems exists and the behaviour is modified
you should justify this and mention it in the commit message or keep
the old behaviour and let 0 go through without a panic.

@stefano, julien any idea here ? should just keep the old behaviour ?

> +            timer_irq[i] =3D res;
> +        /* Do not panic if "hyp-virt" PPI is not found, since it's not
> +         * currently used.
> +         */

Please respect the standard for comments and keep the first line empty:
/*
 * comment
 */

> +        else if ( i !=3D TIMER_HYP_VIRT_PPI )
>             panic("Timer: Unable to retrieve IRQ %u from the device tree\=
n", i);
> -        timer_irq[i] =3D res;
>     }
> }

Cheers
Bertrand

>=20
> --=20
> 2.35.1
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:42:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:42:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507529.781139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZSE-0007d5-Vh; Tue, 07 Mar 2023 15:42:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507529.781139; Tue, 07 Mar 2023 15:42:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZSE-0007cy-RG; Tue, 07 Mar 2023 15:42:18 +0000
Received: by outflank-mailman (input) for mailman id 507529;
 Tue, 07 Mar 2023 15:42:17 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZZSD-0007co-JP
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:42:17 +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 a2ae63f0-bcfe-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 16:42:15 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id h14so12575545wru.4
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 07:42:15 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 f2-20020a5d4dc2000000b002be5bdbe40csm12732476wru.27.2023.03.07.07.42.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 07: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: a2ae63f0-bcfe-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678203735;
        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=74vAKFBA0O9oy4Mbr1O3L34ArgkB/qAg1kxwaQlAB0o=;
        b=Up9JMJ1NuGmbIjWI1PQBgjgpXokR0rQNWdqG3F2EAI4VibGHEhTYtxdPZl/RbsgrTi
         w1rYHbKjWUfm/oObh/Ui6afgDTgXtVf81/tc3FXXqEbmVrW4gUzR72i4FmzHAGULLGyw
         Xp0t1zZMyppOkvEvF6G/AtgKGCSIF3puI1MUheB/pntOlCy576csMbFBBzlueh8pSh13
         /29oCfgZgG9iWgvL3Nzor3xC3kn7UrPkdwiZ9JZxxyzTkfeqS2WgB3H7FMm3ciywrQuL
         NYN4sXvUsN5Dys0Bpu3Jqnr6KCqucgeg7Qs+qBHZfGUnhGEhQeyYNMXPcTyjx+6/OiNH
         v3jw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678203735;
        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=74vAKFBA0O9oy4Mbr1O3L34ArgkB/qAg1kxwaQlAB0o=;
        b=vkeCaEJkaDw3cTWuUCk8dHQHOlXLkCLcN+V3a1j102QHJMTZsMrJ2Wq83qTgNDATLl
         YIOU7nRCQOG2dWQx60MyAHVf1R61ovyt27THZQ1CI/iMBQtkLCRbrC9t0VlWVrYMJNdW
         T3pqz3FqN1d3CdwLN9Enq/eZv4543ymxFU/jzCSa3+tptF0t1reYEzfCznwdAa/3wfea
         Y4q06PK1jl6/Bu46fXEt4Wux2tFa9VFVZDhAVZhf+tiouzJs8L+Km2ADkkK7GjHqQlAs
         9XcQ6x+UqVE2JoOZJZYGA6dZ1Bt/CBcgRYRjUysUFLuZ85jH3Bu4uttagyPaRUD8/37J
         SW8g==
X-Gm-Message-State: AO0yUKWblHSSVNiKi9DsARfeWYPVqvtfotGsgGJrbFO9yRJ4im6opbEi
	5MNovlhpdYksqvo7hYyPyX8=
X-Google-Smtp-Source: AK7set9rFAxsWGLDG1Yfv4fXzbVeCS62Wf1GNxeR5INVkKZz/43FKNMtK+CS/JeSbo9jp+1Z+0TQnA==
X-Received: by 2002:a5d:4c4c:0:b0:2c5:4f06:5fe with SMTP id n12-20020a5d4c4c000000b002c54f0605femr9995845wrt.57.1678203735230;
        Tue, 07 Mar 2023 07:42:15 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <8afd13b9-78c3-67d6-c1fc-e5a35260e218@xen.org>
Date: Tue, 7 Mar 2023 15:42:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 17/25] hw/xen: Build PV backend drivers for
 CONFIG_XEN_BUS
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-18-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-18-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Now that we have the redirectable Xen backend operations we can build the
> PV backends even without the Xen libraries.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/9pfs/meson.build            | 2 +-
>   hw/block/dataplane/meson.build | 2 +-
>   hw/block/meson.build           | 2 +-
>   hw/char/meson.build            | 2 +-
>   hw/display/meson.build         | 2 +-
>   hw/usb/meson.build             | 2 +-
>   hw/xen/meson.build             | 5 ++++-
>   7 files changed, 10 insertions(+), 7 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:43:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:43:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507532.781148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZTF-0008A2-75; Tue, 07 Mar 2023 15:43:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507532.781148; Tue, 07 Mar 2023 15:43: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 1pZZTF-00089v-4J; Tue, 07 Mar 2023 15:43:21 +0000
Received: by outflank-mailman (input) for mailman id 507532;
 Tue, 07 Mar 2023 15:43: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZZTE-00089l-36
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:43:20 +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 c891b633-bcfe-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 16:43:19 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id r18so12588519wrx.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 07:43:19 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 e5-20020a5d5945000000b002c3f9404c45sm12808536wri.7.2023.03.07.07.43.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 07:43: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: c891b633-bcfe-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678203799;
        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=2kGRmcPQfXmhNBAcM1NELXheCNXcNQIOEudfaQKrvbk=;
        b=CKRCeHP9CceVcZiXAWiuW5iGE9iYz2wAJCrxawLyk3t+WwyAE2uZMWmicOYRLqwoE/
         7VXjn/8bqhfr7VcLV0njk9491mfDjbSEE3a8NSgycDoq1ZzFSyqKz3IKT2fsWMr62utz
         dOrYfcDxy6W2Untx3j7jdsUuhGq1nnhEkMWb1G+VhNnb4rsXCK0NxY4fVnj2D552CjV+
         JZyzEW1VY/bSViSIZbypP5HHdwEUdmXGNlNygua1QfwkRAK2+/Pg1t18+n/1LWBEdKfb
         JtWd+r2yqB2FHbZczUhWZJTkfXPTCcmrrUq6TIN26N5DfEANGRA2XBDb1KRfc7sM7QDv
         zR5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678203799;
        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=2kGRmcPQfXmhNBAcM1NELXheCNXcNQIOEudfaQKrvbk=;
        b=DNFBuiwChSPzArEv3au9xyBkjKYXp0bRjGLG/cHrZqumUveeO6z+bdkDouVj30ltBK
         O/zwKWdLaXqbztFPGDzWle9p0Cecl9iMytyVqy6J1G5hzGAP2Hwhr7zlZYEiLP7Rl9VM
         KlAMVvFVgmH9Y9UgaGWDzf5SDmjivt6+W8uDzyCFrSLWW7bY/I4RdV08LXzGyOLFsKUa
         pWm0hpgaM2GLVS1e2k8o0/gBK6LX/J8h5IowleCPPeITNuxLB4lu1yseKb8CAGdE/siz
         R6mXiaLxeGACUIKErfS3/AsJdBeylu/Zj7e6MYWYrjyR79IShnLYWEkKe++vD1c5x49X
         aN1w==
X-Gm-Message-State: AO0yUKV/LWXeS/40FzI35gUl71T10KJvPPJys+0w943ZJ/QVGqdl5pp/
	2UjRxSj+8r1THGykSSzmnaM=
X-Google-Smtp-Source: AK7set+VqiNW2e9+7lxKKxmINTlQmiZWcfel3GBq1alupg3FTk/mwEkf1apbIO7Prt5VWWYGRb+EtQ==
X-Received: by 2002:a5d:5917:0:b0:2c7:69b:317f with SMTP id v23-20020a5d5917000000b002c7069b317fmr9412876wrd.60.1678203798778;
        Tue, 07 Mar 2023 07:43:18 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <66f5a996-7783-ec98-51f4-829a1ab82890@xen.org>
Date: Tue, 7 Mar 2023 15:43:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 18/25] hw/xen: Avoid crash when backend watch fires
 too early
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-19-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-19-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: Paul Durrant <pdurrant@amazon.com>
> 
> The xen-block code ends up calling aio_poll() through blkconf_geometry(),
> which means we see watch events during the indirect call to
> xendev_class->realize() in xen_device_realize(). Unfortunately this call
> is made before populating the initial frontend and backend device nodes
> in xenstore and hence xen_block_frontend_changed() (which is called from
> a watch event) fails to read the frontend's 'state' node, and hence
> believes the device is being torn down. This in-turn sets the backend
> state to XenbusStateClosed and causes the device to be deleted before it
> is fully set up, leading to the crash.
> By simply moving the call to xendev_class->realize() after the initial
> xenstore nodes are populated, this sorry state of affairs is avoided.
> 
> Reported-by: David Woodhouse <dwmw@amazon.co.uk>
> Signed-off-by: Paul Durrant <pdurrant@amazon.com>
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/xen/xen-bus.c | 14 +++++++-------
>   1 file changed, 7 insertions(+), 7 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:48:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:48:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507535.781159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZY8-0000NO-RG; Tue, 07 Mar 2023 15:48:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507535.781159; Tue, 07 Mar 2023 15:48: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 1pZZY8-0000NH-O5; Tue, 07 Mar 2023 15:48:24 +0000
Received: by outflank-mailman (input) for mailman id 507535;
 Tue, 07 Mar 2023 15:48: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 1pZZY7-0000N7-N1; Tue, 07 Mar 2023 15:48: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 1pZZY7-0002tn-Jc; Tue, 07 Mar 2023 15:48: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 1pZZY7-0004WW-6x; Tue, 07 Mar 2023 15:48:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZZY7-0002ru-6Y; Tue, 07 Mar 2023 15:48: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=i4k2nMK9YsC5BcTpoRZNGmPgoOLdEyfjR5oWzlMmmWE=; b=czsuoFXrk7iwKYqP1PAvd1luAS
	CW84y3xSkair18PH5oLByjgQZqgqdJoG4rwnTGvvGUpZedPAVygB3upD/Iy/cn7a9IBrqBUd1agJz
	GYZVhecl3qHV0zJWNwN7sdnKULgSlwETxjqYp8CnDgKtvAPMzjyymresks5LacBnZQF0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179473-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179473: regressions - trouble: blocked/fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:debian-fixup:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:nested-setup:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=8ca09d5fa3549d142c2080a72a4c70ce389163cd
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Mar 2023 15:48:23 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 13 debian-fixup          fail REGR. vs. 178042
 test-amd64-amd64-xl          17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-pair 27 guest-migrate/dst_host/src_host fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 13 nested-setup      fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 17 guest-saverestore.2 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 13 guest-stop fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-xl-rtds    22 guest-start/debian.repeat fail REGR. vs. 178042

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 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                8ca09d5fa3549d142c2080a72a4c70ce389163cd
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   13 days
Failing since        178093  2023-02-22 05:02:47 Z   13 days   28 attempts
Testing same since   179473  2023-03-07 06:45:25 Z    0 days    1 attempts

------------------------------------------------------------
2047 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:49:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:49:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507542.781168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZYh-0000xR-6O; Tue, 07 Mar 2023 15:48:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507542.781168; Tue, 07 Mar 2023 15:48: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 1pZZYh-0000xK-3i; Tue, 07 Mar 2023 15:48:59 +0000
Received: by outflank-mailman (input) for mailman id 507542;
 Tue, 07 Mar 2023 15:48: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZZYf-0000jA-N9
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:48:57 +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 916fa4bb-bcff-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 16:48:56 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id l1so12546990wry.12
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 07:48:56 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 h8-20020a5d5048000000b002c592535839sm12810167wrt.17.2023.03.07.07.48.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 07:48: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: 916fa4bb-bcff-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678204136;
        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=d4VVf6Ok91yoK/WSdCMtKSGd9K2hkIRITKppkJrbLbk=;
        b=KK8MTs5ZJ+ZGZsWyZ/FIL+lUClKCa0Q+Z4ogG+cNO02dCzn+vdapYF0FjTEJhOZ4l6
         i6yx740eVQkzPOleIGEfDPui4Ea0adeL/Du854HyDJH10+bneztjU7QT9M2V8NpEawK8
         FxLhH+1fiJ1YetEABOE1gC7l2jmUONt0gvRcxGlDaK8iOHJ9ZXtYxkg3kbfW+teyz9+t
         wPWMCZ4Fm8lVwzZBJYxYUD9iw3EmlSgUbU0A5ZgD1AvVyuZ2W5bKtaCWUmihO7tiIEtd
         uTqjCs1z3W0dua9HC/CGcLq1clRhBFCyXwkl8HGhwqahIX7GkIn80bNtcUtyvzFlsBri
         Rr0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678204136;
        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=d4VVf6Ok91yoK/WSdCMtKSGd9K2hkIRITKppkJrbLbk=;
        b=JwgU2gTCSP2+5BxPU5GdCx+hMtN2ffXc0Msweja8LbzqrBx1F6+b8Po0alSfnwGxJP
         PjERNtVPt8f1CV0PJH0nS6DsEgqZq3DVm5y3iLX0PPw2k//7rRhDl+/q/A0C1aiCAzdb
         dnA4drCsypIGWNN1XEMfb/omSeTBe50r8CAB8cM/gCJKCFjtVPztyUS7gdnRS7XlA2B/
         63y/wIZ5ftDZkdCsA8fD8niHi5359Esahr/aTFiA3bCHhQcnqxojSutanEgc9/zrAAd8
         a0koGLtonp1c5ARJcjLVLcvfgvxyswnO1oHEJ9gN2v8y24meubFCOy0PUjwYe41bEB+R
         eVNQ==
X-Gm-Message-State: AO0yUKWuXpgPHr5Gydx/Zn4BqaM9oS0Lw2NDo8QZomR+JoH0HtRIcPNn
	Gb5muvMQQivEMofim3saaaY=
X-Google-Smtp-Source: AK7set9MOYFY9eeCxPLSD/f3wYHB0MRb/Jt+n2KwWMszzZsOIF3uM6kkD/gdT3uc27zfP/zs8NTZdA==
X-Received: by 2002:adf:eecf:0:b0:2c9:8cd:55a with SMTP id a15-20020adfeecf000000b002c908cd055amr8384078wrp.15.1678204135733;
        Tue, 07 Mar 2023 07:48:55 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <c8638efb-1c83-4394-11d5-2614f531834c@xen.org>
Date: Tue, 7 Mar 2023 15:48:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 19/25] hw/xen: Only advertise ring-page-order for
 xen-block if gnttab supports it
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-20-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-20-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Whem emulating Xen, multi-page grants are distinctly non-trivial and we
> have elected not to support them for the time being. Don't advertise
> them to the guest.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/block/xen-block.c | 11 ++++++++---
>   1 file changed, 8 insertions(+), 3 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:50:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:50:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507545.781178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZaB-0002UI-Gt; Tue, 07 Mar 2023 15:50:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507545.781178; Tue, 07 Mar 2023 15: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 1pZZaB-0002UB-E1; Tue, 07 Mar 2023 15:50:31 +0000
Received: by outflank-mailman (input) for mailman id 507545;
 Tue, 07 Mar 2023 15:50: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZZaA-0002U3-3f
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:50:30 +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 c8501fd4-bcff-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 16:50:28 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id v16so12659655wrn.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 07:50:28 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 v28-20020a5d591c000000b002c6e8af1037sm12843317wrd.104.2023.03.07.07.50.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 07:50: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: c8501fd4-bcff-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678204228;
        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=MWSYRcvhv18kO9UycBowWGj3UGWJGjeRF8hkDLddAnw=;
        b=icBuxwslhLrOMTy5I7vm2T2mpZoTCu95iqLT16VD7FbsgbLnAU7F81ux9RFOlYvk/I
         Bgl/zLKiJLUiA1UtahdZEdvyuie9O2N5icBrwjxpVZM7FC1+VTPEk/I2eafVaplatdXy
         U1yDk6zhh8IPl52f9S1Qe9lrdGH0i8PBfzLhXkWmp13hB57juTr1Pc/HFpysX7Sl/Tjj
         iNRsTj02ZQPbENBh6MjMhXU9p2716zhSY6KAj4CeuyAXCSmprnC+yMKZfxIa4uND1IVn
         DB3F81sgje7wl/uA23wo6wMo8wpDAi0kSlXaCB+/qUH1g7RJoEC+DOsS6aEuwGjSeTFC
         thfw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678204228;
        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=MWSYRcvhv18kO9UycBowWGj3UGWJGjeRF8hkDLddAnw=;
        b=1sS6/xOlwCrQosZjU3lwDdBQRdVLEzpHSq4jHmAignlcoGEYbTyjeRWb+HWvZbzu5Q
         K5VUFl+zhgzvQxGmLMMsoUjYDy+EahoD/6lv8D2PtyU7w7Jf3SmuWQgSsF1qzF7t3cm7
         gfbc9wsvKCXfALlBpWFu6AvWwCIiIG4y8twChGJTeIQ5DUJ2ZjLLDtWmC15hLFzYoIm2
         g5YoPeN/YDlJGUL84ea4XSho4mfqfB655EPu2wEj4hbiErqeI4N9fpSbbVhqdUKLVuil
         6+gXXJvi6SbSPgQWWOctRkQYgknVFVrOCFjrE4YW772KW9XtM+RNzW8n9p0TxIQmboZr
         gNuQ==
X-Gm-Message-State: AO0yUKWbaC2/W0m+qPLLlQxdEMrfDAhRgSk3+GoKENc6/0INZ4WyGlad
	DZKlXBhWmgSj53DWSg7qaA8=
X-Google-Smtp-Source: AK7set+zBrHtpSx4jAXOTaZMvS0yDMKGWu3x+UAp57CUGBYi9lpfuVY0omqDkZ9fEUGBvzuLj5HpjA==
X-Received: by 2002:adf:dd89:0:b0:2ca:b27:e570 with SMTP id x9-20020adfdd89000000b002ca0b27e570mr9804043wrl.15.1678204227863;
        Tue, 07 Mar 2023 07:50:27 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <fcc36485-5a45-7fbd-e0fc-3904865928b2@xen.org>
Date: Tue, 7 Mar 2023 15:50:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 20/25] hw/xen: Hook up emulated implementation for
 event channel operations
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-21-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-21-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> We provided the backend-facing evtchn functions very early on as part of
> the core Xen platform support, since things like timers and xenstore need
> to use them.
> 
> By what may or may not be an astonishing coincidence, those functions
> just *happen* all to have exactly the right function prototypes to slot
> into the evtchn_backend_ops table and be called by the PV backends.

It is indeed an amazing coincidence :-)

> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/kvm/xen_evtchn.c | 15 +++++++++++++++
>   1 file changed, 15 insertions(+)
> 

Reviewed-by: Paul Durrant <paul@xen.org>


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:50:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:50:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507546.781189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZaD-0002ke-Oz; Tue, 07 Mar 2023 15:50:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507546.781189; Tue, 07 Mar 2023 15:50: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 1pZZaD-0002kV-Le; Tue, 07 Mar 2023 15:50:33 +0000
Received: by outflank-mailman (input) for mailman id 507546;
 Tue, 07 Mar 2023 15:50: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=zeiT=67=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZZaD-0002jw-1e
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:50: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 ca6146e2-bcff-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 16:50:31 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 l7-20020a05600c4f0700b003e79fa98ce1so7485200wmq.2
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 07:50:31 -0800 (PST)
Received: from fedora.. (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 k7-20020a05600c080700b003e21ba8684dsm13450744wmp.26.2023.03.07.07.50.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Mar 2023 07:50: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: ca6146e2-bcff-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678204231;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=bnB1aZaY7P8UfKi/fBAr6UHnPYe28EIMyjO3e+ApO3E=;
        b=QIQfQy+e/iL2iA134seJdQERAm8gDCGPbOYKqiZ6h5cLbOwFxZcgLhCDSO7Iitnyo6
         GaRF7zFXbCZfxbNZFgjYA1pirnK7pkRPdjgr9DImjTY0xFjOkWlRTVeZgAxcB8kWetx+
         dZeaP0seXskVz4uwdceViIGWx5GPQXbIVBGK+GV3VjszPKcvsI+ww/UkiAMcBAHK9R9/
         iBufRECJlgiX4NDEl821hKMLDytqoEB51qCSSPnJd2w0xrsmctg5xMzFmkb6lu78kDUl
         +L6e9XgOkI+j2Ni8dUHdnTOT6uyI3EOxbg0dZ+RLcaDdqXj7Qh6LAVB6LSXzHrgoK2tg
         swRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678204231;
        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=bnB1aZaY7P8UfKi/fBAr6UHnPYe28EIMyjO3e+ApO3E=;
        b=r72YL5uxYIEZz7nUjBsQl3mfNXnnamBS/is6/kFCc1pbZaQEGIi+XMfhxhUbFenmAY
         Z6v/nKefmbmTNQ+VwT10OkErBswzQKt6rtri1OWsRH5yI+4ILsqdKTUNPkU23IQH0GPT
         4AP6ff2jOpd1DsPloLvRIXEIhhSN6DlQoxWzzvn82eSvX1cJDF3qoFOc1tIujJXquVv2
         pFA6uKD2eaEeSLmHojT+cZvu0djK1SU01YHX9SinyJGbA8PcxchuuwEFJ83noeMpnBpz
         ow+EZEo2SFhB8K3j2v7D9cjzu5D93cc2lpGIy+wObXr+3Hspg1QWYaEuQDWIgbvpCkhv
         dzxg==
X-Gm-Message-State: AO0yUKWKtlKkEQrs73VJMF/41/1Z8Apv4+Vhf6EhX1Gig9kutJbTdTxC
	bNO6TkiLwP/QudXmJ5KIEOJf9LsqjCU=
X-Google-Smtp-Source: AK7set9IE33OOv834JE/nb5ExdhDOaStPtVFptQQ5xcSF7rponQhtj5DoqPhJxB73Tqg2Sz6xVVlyw==
X-Received: by 2002:a05:600c:1c20:b0:3eb:3945:d3f9 with SMTP id j32-20020a05600c1c2000b003eb3945d3f9mr13755504wms.4.1678204230969;
        Tue, 07 Mar 2023 07:50:30 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v6 0/4] [PATCH v5 0/4] introduce generic implementation of macros from bug.h
Date: Tue,  7 Mar 2023 17:50:22 +0200
Message-Id: <cover.1678202233.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A large part of the content of the bug.h is repeated among all
architectures (especially x86 and RISCV have the same implementation), so it
was created a new config CONFIG_GENERIC_BUG_FRAME which is used to
introduce generic implementation of do_bug_frame() and move x86's <asm/bug.h>
to <xen/common/...> with the following changes:
  * Add inclusion of arch-specific header <asm/bug.h>
  * Rename the guard and remove x86 specific changes
  * Wrap macros BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed/etc
    into #ifndef "BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed/etc"
    thereby each architecture can override the generic implementation of macros.
  * Add #if{n}def __ASSEMBLY__ ... #endif
  * Introduce BUG_FRAME_STRUCTURE define to be able to change the structure of bug
    frame
  * Introduce BUG_INSTR and BUG_ASM_CONST to make _ASM_BUGFRAME_TEXT reusable between
    architectures
  * Introduce BUG_DEBUGGER_TRAP_FATAL to hide details about TRAP_invalid_op for specific
    architecture
  * Introduce BUILD_BUG_ON_LINE_WIDTH(line) to make more generic BUG_FRAME macros
  * Make macros related to bug frame structure more generic.

RISC-V will be switched to use <xen/bug.h> and in the future, it will use common
the version of do_bug_frame() when xen/common will work for RISC-V.

---
Changes in V6:
 * Update the cover letter message: add information that BUG_DEBUGGER_TRAP_FATAL() and
   BUILD_BUG_ON_LINE_WIDTH().
 * Introduce BUILD_BUG_ON_LINE_WIDTH(line) to make more generic BUG_FRAME macros.
 * fix addressed code style
 * change -EINVAL to -ENOENT in case when bug_frame wasn't found in generic do_bug_frame().
 * change all 'return id' to 'break' inside switch/case of do_bug_frame().
 * move up "#ifndef __ASSEMBLY__" to include BUG_DEBUGGER_TRAP_FATAL.
 * update the comment of BUG_ASM_CONST.
 * Introduce BUILD_BUG_ON_LINE_WIDTH(line) to make more generic BUG_FRAME macros
 * remove #ifndef BUG_FRAME_STRUCT around BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH as it is
   required to be defined before <asm/bug.h> as it is used by x86's <asm/bug.h> when
   the header is included in assembly code.
 * add undef of BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH for ARM & x86
   as they were introduced unconditionally in <xen/bug.h>.
 * update the type of eip to 'void *' in do_invalid_op() for x86
 * fix the logic of do_invalid_op() for x86
 * move macros BUG_DEBUGGER_TRAP_FATAL under #ifndef __ASSEMBLY__ as
	 it is not necessary to be in assembly code for x86.

---
Changes in V5:
 * Update the cover letter message as the patch, on which the patch series
   is based, has been merged to staging.
 * Remove "#ifdef BUG_FN_REG..." from generic do_bug_frame() as ARM will
   use generic implementation fully.
---
Changes in V4:
 * Introduce and use generic BUG_DEBUGGER_TRAP_FATAL(regs) mnacros which is used to deal with
   debugger_trap_fatal(TRAP_invalid_op, regs) where TRAP_invalid_op is x86-specific.
 * Add comment what do_bug_frame() returns.
 * Do refactoring of do_bug_frame():
     * invert the condition 'if ( region )' in do_bug_frame() to reduce the indention.
		 * change type of variable i from 'unsigned int' to 'size_t' as it  is compared with
		   n_bugs which has type 'size_t'
 * Remove '#include <xen/stringify.h>' from <xen/bug.h> as it doesn't need any more after switch to
   x86 implementation.
 * Remove '#include <xen/errno.h>' as it isn't needed any more
 * Move bug_*() macros inside '#ifndef BUG_FRAME_STRUCT'
 * Add <xen/lib.h> to fix compile issue with BUILD_ON()...
 * Add documentation for BUG_ASM_CONST.
 * Defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH were moved into
   "ifndef BUG_FRAME_STRUCT" in <xen/bug.h> as they are specific for 'struct bug_frame' and so should
   co-exist together. So the defines were back to <asm/bug.h> until BUG_FRAME_STRUCT will be defined in
	 <asm/bug.h>.
 * Switch ARM implementation to generic one
 * Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed after switch to generic implementation
 * Back comment /* !__ASSEMBLY__ */ for #else case in <asm/bug.h>
 * Remove changes related to x86/.../asm/debuger.h as do_bug_frame() prototype was updated and cpu_user_regs
	 isn't const any more.

---
Changes in V3:
 * Nothing was done with the comment in <xen/bug.h> before run_in_exception_handler
   but I think it can be changed during the merge.
 * Add debugger_trap_fatal() to do_bug_frame(). It simplifies usage of
   do_bug_frame() for x86 so making handle_bug_frame() and find_bug_frame()
   not needed anymore.
 * Update do_bug_frame() to return -EINVAL if something goes wrong; otherwise
   id of bug_frame
 * Update _ASM_BUGFRAME_TEXT to make it more portable.
 * Drop unnecessary comments.
 * Update patch 2 not to break compilation: move some parts from patches 3 and 4
   to patch 2
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
 * Change debugger_trap_fatal() prototype for x86 to align with prototype in
   <xen/debugger.h>
---
Changes in V2:
  * Update cover letter.
  * Switch to x86 implementation as generic as it is more compact ( at least from the point of view of bug frame structure).
  * Put [PATCH v1 4/4] xen: change <asm/bug.h> to <xen/bug.h> as second patch,
    update the patch to change all <asm/bug.h> to <xen/bug.h> among the whole project
    to not break compilation.
  * Rename CONFIG_GENERIC_DO_BUG_FRAME to CONFIG_GENERIC_BUG_FRAME.
  * Change the macro bug_loc(b) to avoid the need for a cast:
    #define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
  * Rename BUG_FRAME_STUFF to BUG_FRAME_STRUCT
  * Make macros related to bug frame structure more generic.
  * Rename bug_file() in ARM implementation to bug_ptr() as generic do_bug_frame() uses
    bug_ptr().
  * Introduce BUG_INSTR and MODIFIER to make _ASM_BUGFRAME_TEXT reusable between x86 and
    RISC-V.
  * Rework do_invalid_op() in x86 ( re-use handle_bug_frame() and find_bug_frame() )
---

Oleksii Kurochko (4):
  xen: introduce CONFIG_GENERIC_BUG_FRAME
  xen: change <asm/bug.h> to <xen/bug.h>
  xen/arm: switch ARM to use generic implementation of bug.h
  xen/x86: switch x86 to use generic implemetation of bug.h

 xen/arch/arm/Kconfig                 |   1 +
 xen/arch/arm/arm32/traps.c           |   2 +-
 xen/arch/arm/include/asm/arm32/bug.h |   2 -
 xen/arch/arm/include/asm/arm64/bug.h |   2 -
 xen/arch/arm/include/asm/bug.h       |  88 +--------------
 xen/arch/arm/include/asm/div64.h     |   2 +-
 xen/arch/arm/include/asm/traps.h     |   2 -
 xen/arch/arm/traps.c                 |  81 +-------------
 xen/arch/arm/vgic/vgic-v2.c          |   2 +-
 xen/arch/arm/vgic/vgic.c             |   2 +-
 xen/arch/x86/Kconfig                 |   1 +
 xen/arch/x86/acpi/cpufreq/cpufreq.c  |   2 +-
 xen/arch/x86/include/asm/asm_defns.h |   2 +-
 xen/arch/x86/include/asm/bug.h       |  84 +-------------
 xen/arch/x86/traps.c                 |  81 ++------------
 xen/common/Kconfig                   |   3 +
 xen/common/Makefile                  |   1 +
 xen/common/bug.c                     | 104 ++++++++++++++++++
 xen/drivers/cpufreq/cpufreq.c        |   2 +-
 xen/include/xen/bug.h                | 158 +++++++++++++++++++++++++++
 xen/include/xen/lib.h                |   2 +-
 21 files changed, 291 insertions(+), 333 deletions(-)
 create mode 100644 xen/common/bug.c
 create mode 100644 xen/include/xen/bug.h

-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:50:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:50:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507547.781199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZaH-00032T-1f; Tue, 07 Mar 2023 15:50:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507547.781199; Tue, 07 Mar 2023 15:50:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZaG-00032C-UD; Tue, 07 Mar 2023 15:50:36 +0000
Received: by outflank-mailman (input) for mailman id 507547;
 Tue, 07 Mar 2023 15:50: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=zeiT=67=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZZaF-0002U3-Cl
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:50: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 cb36f466-bcff-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 16:50:33 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id j3so8090492wms.2
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 07:50:33 -0800 (PST)
Received: from fedora.. (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 k7-20020a05600c080700b003e21ba8684dsm13450744wmp.26.2023.03.07.07.50.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Mar 2023 07:50: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: cb36f466-bcff-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678204232;
        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=QqaftkyDbqGGCRgUROzP3fpD9UFmNe6YDuSREpxzUWM=;
        b=C0VaV5jEOf4ZiomXEY+GsD2A/enFIf3+aUNyxdqbrzDOToSz7dXLUMN373/WWRo0/I
         OGBgMIcwyzsLfu40JjqnK1AEk1cjDhxCRYGMnwFE6snUKqQvxP5tNhFq9Ttp6C00GucM
         YQENDSpFchDvvqueVLbbgZIofb7RzDZex7LqNpVosuSlwdIEMMM4FAQ3vTqwL7KiXfa9
         IKcmAm/NrOCmlcS29RfWQYbDBRaFp1Ml51BfiHyFWFrzKhTXdNM2acKkCvScCjpZ8Jwc
         h00M0RCeg1YUn9bkNx1phzkR5igbjvd1tk/limqEiWscTAWhgD3NdNkUZS6B41eTcQL9
         IS0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678204232;
        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=QqaftkyDbqGGCRgUROzP3fpD9UFmNe6YDuSREpxzUWM=;
        b=1TIVXWoD/qOjHZjIQOdw9UbwVX1P1kJolJFIUQLC7zZa2/sHm0J9wq8+2nLEUJGnSy
         mgsfmnWvkVIlpw4EMfAXi3s5O876HL1jZ7BsqhCXIAqucyvEtp/rc8DyUML3S1PkCAim
         z4givg9giJ6oPoOFGc4jGoJh3KAa3VX7qxItkElLNL/ymNwnNypbWI5V23H/oOE7HRT8
         6WAu9t+hZhRnPlucdL2ndJOu9Fge4l0NOdnF3TU/xqaIkVB+X2Fh8NRtqmX2gnYN3zO5
         D/cWmpsT/Qb1xPOruOL8z/Y5qJpRyMLyhUXj9ItQhjqrpG7WdqG4EdE617npAb2dBbz6
         VuXw==
X-Gm-Message-State: AO0yUKW4c9Tr/pe/aODpmCb8Euji2YhElmNIl0quUnrXoexbZztslW1c
	5hp9EuN2L7stowkfbWng4jXECCAtKFs=
X-Google-Smtp-Source: AK7set+c1Y3kFtvIlpqhp0X1nLCQ1yHXXbZRWy1Qh++6+62CBBKmqK80k4Tb3LVlF8pPf++CPht/Eg==
X-Received: by 2002:a05:600c:a48:b0:3da:acb1:2f09 with SMTP id c8-20020a05600c0a4800b003daacb12f09mr13858619wmq.19.1678204232262;
        Tue, 07 Mar 2023 07:50:32 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v6 1/4] xen: introduce CONFIG_GENERIC_BUG_FRAME
Date: Tue,  7 Mar 2023 17:50:23 +0200
Message-Id: <1e83d371581aee41a3369434c49b90c2fc478f1f.1678202233.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1678202233.git.oleksii.kurochko@gmail.com>
References: <cover.1678202233.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A large part of the content of the bug.h is repeated among all
architectures, so it was decided to create a new config
CONFIG_GENERIC_BUG_FRAME.

The version of <bug.h> from x86 was taken as the base version.

The patch introduces the following stuff:
  * common bug.h header
  * generic implementation of do_bug_frame
  * new config CONFIG_GENERIC_BUG_FRAME

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V6:
 * fix code style.
 * change -EINVAL to -ENOENT in case when bug_frame wasn't found in
   generic do_bug_frame()
 * change all 'return id' to 'break' inside switch/case of generic do_bug_frame()
 * move up "#ifndef __ASSEMBLY__" to include BUG_DEBUGGER_TRAP_FATAL
 * update the comment of BUG_ASM_CONST
 * make the line with 'BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))' in
	 BUG_FRAME macros more abstract
 * remove #ifndef BUG_FRAME_STRUCT around BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH as it is
	 required to be defined before <asm/bug.h> as it is used by x86's <asm/bug.h> when
	 the header is included in assembly code.
---
Changes in V5:
 * Remove "#ifdef BUG_FN_REG..." from generic do_bug_frame() as ARM will
   use generic implementation fully.
---
Changes in V4:
 * common/bug.c:
		- Use BUG_DEBUGGER_TRAP_FATAL(regs) mnacros instead of debugger_trap_fatal(TRAP_invalid_op, regs)
		  in <common/bug.c> as TRAP_invalid_op is x86-specific thereby BUG_DEBUGGER_TRAP_FATAL should
		  be defined for each architecture.
		- add information about what do_bug_frame() returns.
		- invert the condition 'if ( region )' in do_bug_frame() to reduce the indention.
		- change type of variable i from 'unsigned int' to 'size_t' as it  is compared with
		  n_bugs which has type 'size_t'

 * xen/bug.h:
		- Introduce generic BUG_DEBUGGER_TRAP_FATAL(regs) mnacros which is used to deal with 
		  debugger_trap_fatal(TRAP_invalid_op, regs) where TRAP_invalid_op is x86-specific
		- remove '#include <xen/stringify.h>' as it doesn't need any more after switch to
		  x86 implementation.
		- remove '#include <xen/errno.h>' as it isn't needed any more
		- move bug_*() macros inside '#ifndef BUG_FRAME_STRUCT'
		- add <xen/lib.h> to fix compile issue with BUILD_ON()...
		- Add documentation for BUG_ASM_CONST.
 * Update the commit message
---
Changes in V3:
 * Add debugger_trap_fatal() to do_bug_frame(). It simplifies usage of
   do_bug_frame() for x86 so making handle_bug_frame() and find_bug_frame()
   not needed anymore.
 * Update do_bug_frame() to return -EINVAL if something goes wrong; otherwise
   id of bug_frame
 * Update _ASM_BUGFRAME_TEXT to make it more portable.
 * Drop unnecessary comments.
 * define stub value for TRAP_invalid_op in case if wasn't defined in
   arch-specific folders.
---
Changes in V2:
  - Switch to x86 implementation as generic as it is more compact
    ( at least from the point of view of bug frame structure ).
  - Rename CONFIG_GENERIC_DO_BUG_FRAME to CONFIG_GENERIC_BUG_FRAME.
  - Change the macro bug_loc(b) to avoid the need for a cast:
    #define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
  - Rename BUG_FRAME_STUFF to BUG_FRAME_STRUCT
  - Make macros related to bug frame structure more generic.
  - Introduce BUG_INSTR and MODIFIER to make _ASM_BUGFRAME_TEXT reusable
    between x86 and RISC-V.
  - Rework do_bug_frame() and introduce find_bug_frame() and handle_bug_frame()
    functions to make it reusable by x86.
  - code style fixes
---
 xen/common/Kconfig    |   3 +
 xen/common/Makefile   |   1 +
 xen/common/bug.c      | 104 +++++++++++++++++++++++++++
 xen/include/xen/bug.h | 158 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 266 insertions(+)
 create mode 100644 xen/common/bug.c
 create mode 100644 xen/include/xen/bug.h

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index f1ea3199c8..b226323537 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -28,6 +28,9 @@ config ALTERNATIVE_CALL
 config ARCH_MAP_DOMAIN_PAGE
 	bool
 
+config GENERIC_BUG_FRAME
+	bool
+
 config HAS_ALTERNATIVE
 	bool
 
diff --git a/xen/common/Makefile b/xen/common/Makefile
index bbd75b4be6..46049eac35 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -1,5 +1,6 @@
 obj-$(CONFIG_ARGO) += argo.o
 obj-y += bitmap.o
+obj-$(CONFIG_GENERIC_BUG_FRAME) += bug.o
 obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
 obj-$(CONFIG_CORE_PARKING) += core_parking.o
 obj-y += cpu.o
diff --git a/xen/common/bug.c b/xen/common/bug.c
new file mode 100644
index 0000000000..be8f3b783d
--- /dev/null
+++ b/xen/common/bug.c
@@ -0,0 +1,104 @@
+#include <xen/bug.h>
+#include <xen/debugger.h>
+#include <xen/errno.h>
+#include <xen/kernel.h>
+#include <xen/livepatch.h>
+#include <xen/string.h>
+#include <xen/types.h>
+#include <xen/virtual_region.h>
+
+#include <asm/processor.h>
+
+/*
+ * Returns a negative value in case of an error otherwise
+ * BUGFRAME_{run_fn, warn, bug, assert}
+ */
+int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
+{
+    const struct bug_frame *bug = NULL;
+    const struct virtual_region *region;
+    const char *prefix = "", *filename, *predicate;
+    unsigned long fixup;
+    unsigned int id = BUGFRAME_NR, lineno;
+
+    region = find_text_region(pc);
+    if ( !region )
+        return -EINVAL;
+
+    for ( id = 0; id < BUGFRAME_NR; id++ )
+    {
+        const struct bug_frame *b;
+        size_t i;
+
+        for ( i = 0, b = region->frame[id].bugs;
+              i < region->frame[id].n_bugs; b++, i++ )
+        {
+            if ( bug_loc(b) == pc )
+            {
+                bug = b;
+                goto found;
+            }
+        }
+    }
+
+ found:
+    if ( !bug )
+        return -ENOENT;
+
+    if ( id == BUGFRAME_run_fn )
+    {
+        void (*fn)(const struct cpu_user_regs *) = bug_ptr(bug);
+
+        fn(regs);
+
+        return id;
+    }
+
+    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
+    filename = bug_ptr(bug);
+    if ( !is_kernel(filename) && !is_patch(filename) )
+        return -EINVAL;
+    fixup = strlen(filename);
+    if ( fixup > 50 )
+    {
+        filename += fixup - 47;
+        prefix = "...";
+    }
+    lineno = bug_line(bug);
+
+    switch ( id )
+    {
+    case BUGFRAME_warn:
+        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
+        show_execution_state(regs);
+
+        break;
+
+    case BUGFRAME_bug:
+        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
+
+        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
+            break;
+
+        show_execution_state(regs);
+        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
+
+    case BUGFRAME_assert:
+        /* ASSERT: decode the predicate string pointer. */
+        predicate = bug_msg(bug);
+        if ( !is_kernel(predicate) && !is_patch(predicate) )
+            predicate = "<unknown>";
+
+        printk("Assertion '%s' failed at %s%s:%d\n",
+               predicate, prefix, filename, lineno);
+
+        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
+            break;
+
+        show_execution_state(regs);
+        panic("Assertion '%s' failed at %s%s:%d\n",
+              predicate, prefix, filename, lineno);
+    }
+
+    return id;
+}
diff --git a/xen/include/xen/bug.h b/xen/include/xen/bug.h
new file mode 100644
index 0000000000..de793f324d
--- /dev/null
+++ b/xen/include/xen/bug.h
@@ -0,0 +1,158 @@
+#ifndef __XEN_BUG_H__
+#define __XEN_BUG_H__
+
+#define BUGFRAME_run_fn 0
+#define BUGFRAME_warn   1
+#define BUGFRAME_bug    2
+#define BUGFRAME_assert 3
+
+#define BUGFRAME_NR     4
+
+#define BUG_DISP_WIDTH    24
+#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
+#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
+
+#include <asm/bug.h>
+
+#ifndef __ASSEMBLY__
+
+#ifndef BUG_DEBUGGER_TRAP_FATAL
+#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
+#endif
+
+#include <xen/lib.h>
+
+#ifndef BUG_FRAME_STRUCT
+
+struct bug_frame {
+    signed int loc_disp:BUG_DISP_WIDTH;
+    unsigned int line_hi:BUG_LINE_HI_WIDTH;
+    signed int ptr_disp:BUG_DISP_WIDTH;
+    unsigned int line_lo:BUG_LINE_LO_WIDTH;
+    signed int msg_disp[];
+};
+
+#define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
+
+#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
+
+#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
+                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
+                      BUG_LINE_LO_WIDTH) +                                   \
+                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
+                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
+
+#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
+
+#endif /* BUG_FRAME_STRUCT */
+
+/*
+ * Some architectures mark immediate instruction operands in a special way.
+ * In such cases the special marking may need omitting when specifying
+ * directive operands. Allow architectures to specify a suitable
+ * modifier.
+ */
+#ifndef BUG_ASM_CONST
+#define BUG_ASM_CONST ""
+#endif
+
+#ifndef _ASM_BUGFRAME_TEXT
+
+#define _ASM_BUGFRAME_TEXT(second_frame)                                            \
+    ".Lbug%=:"BUG_INSTR"\n"                                                         \
+    "   .pushsection .bug_frames.%"BUG_ASM_CONST"[bf_type], \"a\", %%progbits\n"    \
+    "   .p2align 2\n"                                                               \
+    ".Lfrm%=:\n"                                                                    \
+    "   .long (.Lbug%= - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_hi]\n"                 \
+    "   .long (%"BUG_ASM_CONST"[bf_ptr] - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_lo]\n"\
+    "   .if " #second_frame "\n"                                                    \
+    "   .long 0, %"BUG_ASM_CONST"[bf_msg] - .Lfrm%=\n"                              \
+    "   .endif\n"                                                                   \
+    "   .popsection\n"
+
+#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
+    [bf_type]    "i" (type),                                                 \
+    [bf_ptr]     "i" (ptr),                                                  \
+    [bf_msg]     "i" (msg),                                                  \
+    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
+                      << BUG_DISP_WIDTH),                                    \
+    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
+
+#endif /* _ASM_BUGFRAME_TEXT */
+
+#ifndef BUILD_BUG_ON_LINE_WIDTH
+#define BUILD_BUG_ON_LINE_WIDTH(line) \
+    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))
+#endif
+
+#ifndef BUG_FRAME
+
+#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
+    BUILD_BUG_ON_LINE_WIDTH(line);                                           \
+    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
+    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
+                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
+} while (false)
+
+#endif
+
+#ifndef run_in_exception_handler
+
+/*
+ * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
+ * and use a real static inline here to get proper type checking of fn().
+ */
+#define run_in_exception_handler(fn) do {                   \
+    (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
+    BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);             \
+} while ( false )
+
+#endif /* run_in_exception_handler */
+
+#ifndef WARN
+#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, NULL)
+#endif
+
+#ifndef BUG
+#define BUG() do {                                              \
+    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, NULL);      \
+    unreachable();                                              \
+} while (false)
+#endif
+
+#ifndef assert_failed
+#define assert_failed(msg) do {                                 \
+    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
+    unreachable();                                              \
+} while (false)
+#endif
+
+#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}
+ */
+int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc);
+
+#endif /* CONFIG_GENERIC_BUG_FRAME */
+
+extern const struct bug_frame __start_bug_frames[],
+                              __stop_bug_frames_0[],
+                              __stop_bug_frames_1[],
+                              __stop_bug_frames_2[],
+                              __stop_bug_frames_3[];
+
+#endif /* !__ASSEMBLY__ */
+
+#endif /* __XEN_BUG_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:50:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:50:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507548.781204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZaH-00036C-Ff; Tue, 07 Mar 2023 15:50:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507548.781204; Tue, 07 Mar 2023 15:50:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZaH-00035G-7I; Tue, 07 Mar 2023 15:50:37 +0000
Received: by outflank-mailman (input) for mailman id 507548;
 Tue, 07 Mar 2023 15: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=zeiT=67=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZZaF-0002jw-Si
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:50:36 +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 cc2aa390-bcff-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 16:50:34 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 j19-20020a05600c191300b003eb3e1eb0caso10716571wmq.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 07:50:34 -0800 (PST)
Received: from fedora.. (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 k7-20020a05600c080700b003e21ba8684dsm13450744wmp.26.2023.03.07.07.50.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Mar 2023 07:50: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: cc2aa390-bcff-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678204234;
        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=vdAbCYBuyKjn949EJzxdCxEuOobxphs23ThoiGVDWyI=;
        b=qRy8dMZ73mI7bvlMUMK1KbaHimifCeZ+TGJojUbvRHbMseaspWUjox77UD07qEkxul
         1lWy1ea5A9ntIROf7kMj3Rl2yprEaN7M1sDFeUg2mOX78ejv385LjCfzATlg6aKc2YXb
         OBrEOPIdhH4OQyvjKgecaYUPqN8ESV8PpNGrS68lwp7DxLd+XAzs/kN80NF/zSFxyoks
         88Tec8H+ULBthmGVSd0+NwgrHhKD/S3xOGMJuVxF/WJLDvERx6tAw8v1jBixgrUf00Jw
         nKuwgkyDB8lA0dpwvKdRNiT7ewT03da66c6cjwOQZgcLI0M7SU/V8BZAytuV2DEIZt8i
         yAGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678204234;
        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=vdAbCYBuyKjn949EJzxdCxEuOobxphs23ThoiGVDWyI=;
        b=j2wqqP7b7+5imH1DB5m5LCSEnLKlrtlo3Q4yCMOU0hxA7FcLt/RIleIc6rR1Slw3bU
         X+5KGuF8UHZFXelo/gwCgGE0kxwz3XUKje8cBI7KB2z6bZ7s2NHmY8ZZSwx6424IF/bm
         xfkOA8ZZs4jROut9MbY7tB8v0DDvCcimGSN51zwksYTg++KVfioTewvDtg9PLGh0rIym
         L2GhSMiuNh97FIbUgAawr6ZQP+/adMVpBgHuw/H9k6kPQwNjUExdZZSNUecc6tE5isNq
         Uepql1D1q5ML24IGDoTBFhZ/K+i1Wi1Hwxe29NEvfsHdgMhqRy6LeqFCG3U2uF0rUtCi
         w/NQ==
X-Gm-Message-State: AO0yUKUn1W4R5BDq6TlxYlgx0kAYUgN2Aeg79dHOdZ4xm/lcizsjBVQc
	W3FQCFw8EvPE1AyJwwwZRxXKzkIBlfY=
X-Google-Smtp-Source: AK7set9ojmXXdl1g77F/MlLkraj3E5pit7HljWz8wg/mHRidKezK2J+rD9ZrW/GNz1nsfbGl605mgQ==
X-Received: by 2002:a05:600c:1c1f:b0:3eb:246d:7efd with SMTP id j31-20020a05600c1c1f00b003eb246d7efdmr12778524wms.2.1678204233866;
        Tue, 07 Mar 2023 07:50:33 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v6 2/4] xen: change <asm/bug.h> to <xen/bug.h>
Date: Tue,  7 Mar 2023 17:50:24 +0200
Message-Id: <d8722046783462504d5396f7f880ff62b1ef9a90.1678202233.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1678202233.git.oleksii.kurochko@gmail.com>
References: <cover.1678202233.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The idea of the patch is to change all <asm/bug.h> to <xen/bug.h> and
keep Xen compilable with adding only minimal amount of changes:
1. It was added "#include <xen/types.h>" to ARM's "<asm/bug.h>" as it
  uses uint_{16,32}t in 'struct bug_frame'.
2. It was added '#define BUG_FRAME_STRUCT' which means that ARM hasn't
  been switched to generic implementation yet.
3. It was added '#define BUG_FRAME_STRUCT' which means that x86 hasn't
  been switched to generic implementation yet.
4. BUGFRAME_* and _start_bug_frame[], _stop_bug_frame_*[] were removed
  for ARM & x86 to deal with compilation errors such as:
      redundant redeclaration of ...
5. It was added undef of BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH
  for ARM & x86 as they were introduced unconditionally in <xen/bug.h>.
  The macros should be defined before <asm/bug.h> in <xen/bug.h> as x86's
  <asm/bug.h> implementation requires them in case when the header is
  included in assembly code.
  The macros will be deleted in the following patches where
  the architectures will be switched fully to generic implementation.

In the following two patches x86 and ARM archictectures will be
switched fully:
* xen/arm: switch ARM to use generic implementation of bug.h
* xen/x86: switch x86 to use generic implemetation of bug.h

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V6:
	- change the inclusion order of <xen/bug.h>.
	- add #undef of BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH for ARM & x86
	  as they were introduced unconditionally in <xen/bug.h>.
	- update the commit message
---
Changes in V5:
 - Nothing changed
---
Changes in V4:
	- defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH were moved into
	  "ifndef BUG_FRAME_STRUCT" in <xen/bug.h> as they are specific for 'struct bug_frame' and so should
	  co-exist together. So the defines were back to <asm/bug.h> until BUG_FRAME_STRUCT will be defined in
	  <asm/bug.h>.
	- Update the comment message.
---
Changes in V3:
 * Update patch 2 not to break compilation: move some parts from patches 3 and 4
   to patch 2:
   * move some generic parts from <asm/bug.h> to <xen/bug.h>
   * add define BUG_FRAME_STRUCT in ARM's <asm/bug.h>
---
Changes in V2:
 * Put [PATCH v1 4/4] xen: change <asm/bug.h> to <xen/bug.h> as second patch,
   update the patch to change all <asm/bug.h> to <xen/bug.h> among the whole project
   to not break build.
 * Update the commit message.
---
 xen/arch/arm/include/asm/bug.h       | 21 ++++++++-------------
 xen/arch/arm/include/asm/div64.h     |  2 +-
 xen/arch/arm/vgic/vgic-v2.c          |  2 +-
 xen/arch/arm/vgic/vgic.c             |  2 +-
 xen/arch/x86/acpi/cpufreq/cpufreq.c  |  2 +-
 xen/arch/x86/include/asm/asm_defns.h |  2 +-
 xen/arch/x86/include/asm/bug.h       | 19 ++++++-------------
 xen/drivers/cpufreq/cpufreq.c        |  2 +-
 xen/include/xen/lib.h                |  2 +-
 9 files changed, 21 insertions(+), 33 deletions(-)

diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index f4088d0913..9ed9412fa8 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -1,6 +1,8 @@
 #ifndef __ARM_BUG_H__
 #define __ARM_BUG_H__
 
+#include <xen/types.h>
+
 #if defined(CONFIG_ARM_32)
 # include <asm/arm32/bug.h>
 #elif defined(CONFIG_ARM_64)
@@ -9,10 +11,16 @@
 # error "unknown ARM variant"
 #endif
 
+#undef BUG_DISP_WIDTH
+#undef BUG_LINE_LO_WIDTH
+#undef BUG_LINE_HI_WIDTH
+
 #define BUG_DISP_WIDTH    24
 #define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
 #define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
 
+#define BUG_FRAME_STRUCT
+
 struct bug_frame {
     signed int loc_disp;    /* Relative address to the bug address */
     signed int file_disp;   /* Relative address to the filename */
@@ -26,13 +34,6 @@ struct bug_frame {
 #define bug_line(b) ((b)->line)
 #define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
 
-#define BUGFRAME_run_fn 0
-#define BUGFRAME_warn   1
-#define BUGFRAME_bug    2
-#define BUGFRAME_assert 3
-
-#define BUGFRAME_NR     4
-
 /* Many versions of GCC doesn't support the asm %c parameter which would
  * be preferable to this unpleasantness. We use mergeable string
  * sections to avoid multiple copies of the string appearing in the
@@ -89,12 +90,6 @@ struct bug_frame {
     unreachable();                                              \
 } while (0)
 
-extern const struct bug_frame __start_bug_frames[],
-                              __stop_bug_frames_0[],
-                              __stop_bug_frames_1[],
-                              __stop_bug_frames_2[],
-                              __stop_bug_frames_3[];
-
 #endif /* __ARM_BUG_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/arm/include/asm/div64.h b/xen/arch/arm/include/asm/div64.h
index 1cd58bc51a..fc667a80f9 100644
--- a/xen/arch/arm/include/asm/div64.h
+++ b/xen/arch/arm/include/asm/div64.h
@@ -74,7 +74,7 @@
 
 #elif __GNUC__ >= 4
 
-#include <asm/bug.h>
+#include <xen/bug.h>
 
 /*
  * If the divisor happens to be constant, we determine the appropriate
diff --git a/xen/arch/arm/vgic/vgic-v2.c b/xen/arch/arm/vgic/vgic-v2.c
index 1a99d3a8b4..c90e88fddb 100644
--- a/xen/arch/arm/vgic/vgic-v2.c
+++ b/xen/arch/arm/vgic/vgic-v2.c
@@ -16,8 +16,8 @@
  */
 
 #include <asm/new_vgic.h>
-#include <asm/bug.h>
 #include <asm/gic.h>
+#include <xen/bug.h>
 #include <xen/sched.h>
 #include <xen/sizes.h>
 
diff --git a/xen/arch/arm/vgic/vgic.c b/xen/arch/arm/vgic/vgic.c
index f0f2ea5021..b9463a5f27 100644
--- a/xen/arch/arm/vgic/vgic.c
+++ b/xen/arch/arm/vgic/vgic.c
@@ -15,9 +15,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <xen/bug.h>
 #include <xen/list_sort.h>
 #include <xen/sched.h>
-#include <asm/bug.h>
 #include <asm/event.h>
 #include <asm/new_vgic.h>
 
diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index c27cbb2304..18ff2a443b 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -27,6 +27,7 @@
  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  */
 
+#include <xen/bug.h>
 #include <xen/types.h>
 #include <xen/errno.h>
 #include <xen/delay.h>
@@ -35,7 +36,6 @@
 #include <xen/sched.h>
 #include <xen/timer.h>
 #include <xen/xmalloc.h>
-#include <asm/bug.h>
 #include <asm/msr.h>
 #include <asm/io.h>
 #include <asm/processor.h>
diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
index d9431180cf..baaaccb26e 100644
--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -6,8 +6,8 @@
 /* NB. Auto-generated from arch/.../asm-offsets.c */
 #include <asm/asm-offsets.h>
 #endif
-#include <asm/bug.h>
 #include <asm/x86-defns.h>
+#include <xen/bug.h>
 #include <xen/stringify.h>
 #include <asm/cpufeature.h>
 #include <asm/alternative.h>
diff --git a/xen/arch/x86/include/asm/bug.h b/xen/arch/x86/include/asm/bug.h
index b7265bdfbe..ff5cca1f19 100644
--- a/xen/arch/x86/include/asm/bug.h
+++ b/xen/arch/x86/include/asm/bug.h
@@ -1,19 +1,18 @@
 #ifndef __X86_BUG_H__
 #define __X86_BUG_H__
 
+#undef BUG_DISP_WIDTH
+#undef BUG_LINE_LO_WIDTH
+#undef BUG_LINE_HI_WIDTH
+
 #define BUG_DISP_WIDTH    24
 #define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
 #define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
 
-#define BUGFRAME_run_fn 0
-#define BUGFRAME_warn   1
-#define BUGFRAME_bug    2
-#define BUGFRAME_assert 3
-
-#define BUGFRAME_NR     4
-
 #ifndef __ASSEMBLY__
 
+#define BUG_FRAME_STRUCT
+
 struct bug_frame {
     signed int loc_disp:BUG_DISP_WIDTH;
     unsigned int line_hi:BUG_LINE_HI_WIDTH;
@@ -80,12 +79,6 @@ struct bug_frame {
     unreachable();                                              \
 } while (0)
 
-extern const struct bug_frame __start_bug_frames[],
-                              __stop_bug_frames_0[],
-                              __stop_bug_frames_1[],
-                              __stop_bug_frames_2[],
-                              __stop_bug_frames_3[];
-
 #else  /* !__ASSEMBLY__ */
 
 /*
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index a94520ee57..354f78580b 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -26,6 +26,7 @@
  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  */
 
+#include <xen/bug.h>
 #include <xen/types.h>
 #include <xen/errno.h>
 #include <xen/delay.h>
@@ -39,7 +40,6 @@
 #include <xen/guest_access.h>
 #include <xen/domain.h>
 #include <xen/cpu.h>
-#include <asm/bug.h>
 #include <asm/io.h>
 #include <asm/processor.h>
 
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 05ee1e18af..e914ccade0 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -24,12 +24,12 @@
 
 #ifndef __ASSEMBLY__
 
+#include <xen/bug.h>
 #include <xen/inttypes.h>
 #include <xen/stdarg.h>
 #include <xen/types.h>
 #include <xen/xmalloc.h>
 #include <xen/string.h>
-#include <asm/bug.h>
 
 #define BUG_ON(p)  do { if (unlikely(p)) BUG();  } while (0)
 #define WARN_ON(p)  ({                  \
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:50:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507549.781212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZaI-0003KH-3q; Tue, 07 Mar 2023 15:50:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507549.781212; Tue, 07 Mar 2023 15: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 1pZZaH-0003J9-Vd; Tue, 07 Mar 2023 15:50:37 +0000
Received: by outflank-mailman (input) for mailman id 507549;
 Tue, 07 Mar 2023 15:50: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=zeiT=67=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZZaH-0002jw-0Q
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:50:37 +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 ccf00929-bcff-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 16:50:36 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id k37so8116145wms.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 07:50:36 -0800 (PST)
Received: from fedora.. (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 k7-20020a05600c080700b003e21ba8684dsm13450744wmp.26.2023.03.07.07.50.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Mar 2023 07:50: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: ccf00929-bcff-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678204235;
        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=SWqdQEuZGkwgk77gBfBAgiVpyDMuAYJ3EMjUebqsVl0=;
        b=KEFplGAQHHmsG7c5UY7c5KJ8lcJhLL/CCC5i5b7SP7JmR9OANtZmvatkwdzNZzFuYN
         I2s9MQErdpnx/RFW4C8pRhE3vh4kQTsf8ujrMpJqMoEiELtl1kPKXjhcmfV5SJuPXv72
         eQcCYRG7PpbXbSnWLbnjkuyHv/XrSWO729/XDLRr2TY0P2ZRm9UNf505+y7IXB+HI2bj
         tFnRMH9sbeeZXG5AysLStiTDl4R5CiofImfgGRprJUrQ/z/0oJdj1f9pMxEPfGkbVUTo
         CLYFfqGx6ILjDOmyvTVlMN+PwSzG4C6MjK/sz60QxfioMLpiPOA6vY9Pp+5/UvPSEbdW
         4tPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678204235;
        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=SWqdQEuZGkwgk77gBfBAgiVpyDMuAYJ3EMjUebqsVl0=;
        b=5RkpIJRvAoZpaoE12DMr2Qsv1MRJMtNceZiRnrF60AF14uGf0FDTErtn4vnxdqTJMd
         Qbg1saxu44WTH3nOx9VYiMkngYIifqhd86YDOmVlQkFHJvxhcqKwuDPXg+0AptQrQQAE
         rqTt0+vCdthe86Q9LH1utSiJCETl+z9nsLH893YvQevRK0yxGq/qkf4Z8TaQ3Ai1SgzP
         q3+L3PXBoMCSHV8aVqyz+T/FHW/D0RhSMnZzb/nSeE2yE5KBqixmizWOaOXl7UPL9wqL
         b0rEaXjSIvqqcL049XZy0Xl73vnZHE4hrOVxVMTXKFp4EmteCkIOpP4CykwBSyat1f4U
         BMcA==
X-Gm-Message-State: AO0yUKXQp0NpmPtyolocB4sltNVNe38lzP7SrVl6tkW+sPUZZoj4rL62
	oKD1aou+2AUyJr7/fiSQ5NSn3Nej59A=
X-Google-Smtp-Source: AK7set+IbHo2UCPmw7yChOvhmMhVevD/HZTio2gFBTz2lfKjPcka0xaDcZXdIzZgJN6tzXlRk4Wz+A==
X-Received: by 2002:a05:600c:4f96:b0:3eb:29fe:7b9b with SMTP id n22-20020a05600c4f9600b003eb29fe7b9bmr12875778wmq.9.1678204235318;
        Tue, 07 Mar 2023 07:50:35 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v6 3/4] xen/arm: switch ARM to use generic implementation of bug.h
Date: Tue,  7 Mar 2023 17:50:25 +0200
Message-Id: <7b4a2ad3267a6cd01c41f4d1a86f6fb867689a82.1678202233.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1678202233.git.oleksii.kurochko@gmail.com>
References: <cover.1678202233.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following changes were made:
* make GENERIC_BUG_FRAME mandatory for ARM
* As do_bug_frame() returns -EINVAL in case something goes wrong
  otherwise id of bug frame. Thereby 'if' cases where do_bug_frame() was
  updated to check if the returned value is less than 0
* Switch ARM's implementation of bug.h macros to generic one

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V6:
 * Update the "changes in v5"
 * Rebase on top of the patch [xen: introduce CONFIG_GENERIC_BUG_FRAME] as
   there were minor changes.
---
Changes in V5:
 * common/bug.c changes were removed after rebase
   (the patch [xen: introduce CONFIG_GENERIC_BUG_FRAME] was reworked to make
    ARM implementation to use generic do_bug_frame())
---
Changes in V4:
 * Switch ARM implementation to generic one
 * Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed after switch to generic implementation
 * Update commit message
---
Changes in V3:
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
---
Changes in V2:
 * Rename bug_file() in ARM implementation to bug_ptr() as
   generic do_bug_frame() uses bug_ptr().
 * Remove generic parts from bug.h
 * Remove declaration of 'int do_bug_frame(...)'
   from <asm/traps.h> as it was introduced in <xen/bug.h>
---
 xen/arch/arm/Kconfig                 |  1 +
 xen/arch/arm/arm32/traps.c           |  2 +-
 xen/arch/arm/include/asm/arm32/bug.h |  2 -
 xen/arch/arm/include/asm/arm64/bug.h |  2 -
 xen/arch/arm/include/asm/bug.h       | 79 +--------------------------
 xen/arch/arm/include/asm/traps.h     |  2 -
 xen/arch/arm/traps.c                 | 81 +---------------------------
 7 files changed, 4 insertions(+), 165 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 239d3aed3c..aad6644a7b 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -12,6 +12,7 @@ config ARM_64
 
 config ARM
 	def_bool y
+	select GENERIC_BUG_FRAME
 	select HAS_ALTERNATIVE
 	select HAS_DEVICE_TREE
 	select HAS_PASSTHROUGH
diff --git a/xen/arch/arm/arm32/traps.c b/xen/arch/arm/arm32/traps.c
index a2fc1c22cb..61c61132c7 100644
--- a/xen/arch/arm/arm32/traps.c
+++ b/xen/arch/arm/arm32/traps.c
@@ -48,7 +48,7 @@ void do_trap_undefined_instruction(struct cpu_user_regs *regs)
     if ( instr != BUG_OPCODE )
         goto die;
 
-    if ( do_bug_frame(regs, pc) )
+    if ( do_bug_frame(regs, pc) < 0 )
         goto die;
 
     regs->pc += 4;
diff --git a/xen/arch/arm/include/asm/arm32/bug.h b/xen/arch/arm/include/asm/arm32/bug.h
index 25cce151dc..3e66f35969 100644
--- a/xen/arch/arm/include/asm/arm32/bug.h
+++ b/xen/arch/arm/include/asm/arm32/bug.h
@@ -10,6 +10,4 @@
 
 #define BUG_INSTR ".word " __stringify(BUG_OPCODE)
 
-#define BUG_FN_REG r0
-
 #endif /* __ARM_ARM32_BUG_H__ */
diff --git a/xen/arch/arm/include/asm/arm64/bug.h b/xen/arch/arm/include/asm/arm64/bug.h
index 5e11c0dfd5..59f664d7de 100644
--- a/xen/arch/arm/include/asm/arm64/bug.h
+++ b/xen/arch/arm/include/asm/arm64/bug.h
@@ -6,6 +6,4 @@
 
 #define BUG_INSTR "brk " __stringify(BRK_BUG_FRAME_IMM)
 
-#define BUG_FN_REG x0
-
 #endif /* __ARM_ARM64_BUG_H__ */
diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index 9ed9412fa8..1d87533044 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -11,84 +11,7 @@
 # error "unknown ARM variant"
 #endif
 
-#undef BUG_DISP_WIDTH
-#undef BUG_LINE_LO_WIDTH
-#undef BUG_LINE_HI_WIDTH
-
-#define BUG_DISP_WIDTH    24
-#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
-#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
-
-#define BUG_FRAME_STRUCT
-
-struct bug_frame {
-    signed int loc_disp;    /* Relative address to the bug address */
-    signed int file_disp;   /* Relative address to the filename */
-    signed int msg_disp;    /* Relative address to the predicate (for ASSERT) */
-    uint16_t line;          /* Line number */
-    uint32_t pad0:16;       /* Padding for 8-bytes align */
-};
-
-#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
-#define bug_file(b) ((const void *)(b) + (b)->file_disp);
-#define bug_line(b) ((b)->line)
-#define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
-
-/* Many versions of GCC doesn't support the asm %c parameter which would
- * be preferable to this unpleasantness. We use mergeable string
- * sections to avoid multiple copies of the string appearing in the
- * Xen image. BUGFRAME_run_fn needs to be handled separately.
- */
-#define BUG_FRAME(type, line, file, has_msg, msg) do {                      \
-    BUILD_BUG_ON((line) >> 16);                                             \
-    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                    \
-    asm ("1:"BUG_INSTR"\n"                                                  \
-         ".pushsection .rodata.str, \"aMS\", %progbits, 1\n"                \
-         "2:\t.asciz " __stringify(file) "\n"                               \
-         "3:\n"                                                             \
-         ".if " #has_msg "\n"                                               \
-         "\t.asciz " #msg "\n"                                              \
-         ".endif\n"                                                         \
-         ".popsection\n"                                                    \
-         ".pushsection .bug_frames." __stringify(type) ", \"a\", %progbits\n"\
-         "4:\n"                                                             \
-         ".p2align 2\n"                                                     \
-         ".long (1b - 4b)\n"                                                \
-         ".long (2b - 4b)\n"                                                \
-         ".long (3b - 4b)\n"                                                \
-         ".hword " __stringify(line) ", 0\n"                                \
-         ".popsection");                                                    \
-} while (0)
-
-/*
- * GCC will not allow to use "i"  when PIE is enabled (Xen doesn't set the
- * flag but instead rely on the default value from the compiler). So the
- * easiest way to implement run_in_exception_handler() is to pass the to
- * be called function in a fixed register.
- */
-#define  run_in_exception_handler(fn) do {                                  \
-    asm ("mov " __stringify(BUG_FN_REG) ", %0\n"                            \
-         "1:"BUG_INSTR"\n"                                                  \
-         ".pushsection .bug_frames." __stringify(BUGFRAME_run_fn) ","       \
-         "             \"a\", %%progbits\n"                                 \
-         "2:\n"                                                             \
-         ".p2align 2\n"                                                     \
-         ".long (1b - 2b)\n"                                                \
-         ".long 0, 0, 0\n"                                                  \
-         ".popsection" :: "r" (fn) : __stringify(BUG_FN_REG) );             \
-} while (0)
-
-#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, "")
-
-#define BUG() do {                                              \
-    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, "");        \
-    unreachable();                                              \
-} while (0)
-
-#define assert_failed(msg) do {                                 \
-    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
-    unreachable();                                              \
-} while (0)
+#define BUG_ASM_CONST   "c"
 
 #endif /* __ARM_BUG_H__ */
 /*
diff --git a/xen/arch/arm/include/asm/traps.h b/xen/arch/arm/include/asm/traps.h
index 883dae368e..c6518008ec 100644
--- a/xen/arch/arm/include/asm/traps.h
+++ b/xen/arch/arm/include/asm/traps.h
@@ -69,8 +69,6 @@ void do_cp(struct cpu_user_regs *regs, const union hsr hsr);
 void do_trap_smc(struct cpu_user_regs *regs, const union hsr hsr);
 void do_trap_hvc_smccc(struct cpu_user_regs *regs);
 
-int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc);
-
 void noreturn do_unexpected_trap(const char *msg,
                                  const struct cpu_user_regs *regs);
 void do_trap_hyp_sync(struct cpu_user_regs *regs);
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 061c92acbd..9c6eb66422 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1197,85 +1197,6 @@ void do_unexpected_trap(const char *msg, const struct cpu_user_regs *regs)
     panic("CPU%d: Unexpected Trap: %s\n", smp_processor_id(), msg);
 }
 
-int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
-{
-    const struct bug_frame *bug = NULL;
-    const char *prefix = "", *filename, *predicate;
-    unsigned long fixup;
-    int id = -1, lineno;
-    const struct virtual_region *region;
-
-    region = find_text_region(pc);
-    if ( region )
-    {
-        for ( id = 0; id < BUGFRAME_NR; id++ )
-        {
-            const struct bug_frame *b;
-            unsigned int i;
-
-            for ( i = 0, b = region->frame[id].bugs;
-                  i < region->frame[id].n_bugs; b++, i++ )
-            {
-                if ( ((vaddr_t)bug_loc(b)) == pc )
-                {
-                    bug = b;
-                    goto found;
-                }
-            }
-        }
-    }
- found:
-    if ( !bug )
-        return -ENOENT;
-
-    if ( id == BUGFRAME_run_fn )
-    {
-        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
-
-        fn(regs);
-        return 0;
-    }
-
-    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = bug_file(bug);
-    if ( !is_kernel(filename) )
-        return -EINVAL;
-    fixup = strlen(filename);
-    if ( fixup > 50 )
-    {
-        filename += fixup - 47;
-        prefix = "...";
-    }
-    lineno = bug_line(bug);
-
-    switch ( id )
-    {
-    case BUGFRAME_warn:
-        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
-        return 0;
-
-    case BUGFRAME_bug:
-        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
-        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-    case BUGFRAME_assert:
-        /* ASSERT: decode the predicate string pointer. */
-        predicate = bug_msg(bug);
-        if ( !is_kernel(predicate) )
-            predicate = "<unknown>";
-
-        printk("Assertion '%s' failed at %s%s:%d\n",
-               predicate, prefix, filename, lineno);
-        show_execution_state(regs);
-        panic("Assertion '%s' failed at %s%s:%d\n",
-              predicate, prefix, filename, lineno);
-    }
-
-    return -EINVAL;
-}
-
 #ifdef CONFIG_ARM_64
 static void do_trap_brk(struct cpu_user_regs *regs, const union hsr hsr)
 {
@@ -1292,7 +1213,7 @@ static void do_trap_brk(struct cpu_user_regs *regs, const union hsr hsr)
     switch ( hsr.brk.comment )
     {
     case BRK_BUG_FRAME_IMM:
-        if ( do_bug_frame(regs, regs->pc) )
+        if ( do_bug_frame(regs, regs->pc) < 0 )
             goto die;
 
         regs->pc += 4;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:50:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:50:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507550.781228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZaJ-0003kn-Ef; Tue, 07 Mar 2023 15:50:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507550.781228; Tue, 07 Mar 2023 15:50: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 1pZZaJ-0003kJ-7x; Tue, 07 Mar 2023 15:50:39 +0000
Received: by outflank-mailman (input) for mailman id 507550;
 Tue, 07 Mar 2023 15:50: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=zeiT=67=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZZaI-0002jw-Am
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:50:38 +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 cdbe6539-bcff-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 16:50:37 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 l7-20020a05600c1d0700b003eb5e6d906bso7475063wms.5
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 07:50:37 -0800 (PST)
Received: from fedora.. (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 k7-20020a05600c080700b003e21ba8684dsm13450744wmp.26.2023.03.07.07.50.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Mar 2023 07:50: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: cdbe6539-bcff-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678204236;
        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=ZjFgCafaqgt0LZ5o7IxJ9jiNr8SztV4KikE+ZegSEUU=;
        b=DJKZhaPj9WfOomtVb6CRuZSNHlsfzHdzTYt2walFtqpNPLVf03a+LObqbMR9LjaZeH
         VokIucciJsi+sTXObHsJnOG+Y05gSKiwwF1fHzE2hAlAebceKcYy4huT3g8b5PmfPbM9
         xXI+htQijcaAW9raYEM/XsRs9FhXWWUoUpUuGBwnL9NeChohdx6R5BZRbrGYIFHoue8F
         zelfDuFycT1VsxK4jAO0BnCOHkzf6h2ow7kdti52KjBX6hoaWh3HMIQm/K2rVsf5sE7i
         kajHtUEKlPhDoL8vix/uKyAa7DG98Knrwvowv2d6ZSbZ+2Qn7OOaKwsAYzaGmgiLCMYS
         q0Ag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678204236;
        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=ZjFgCafaqgt0LZ5o7IxJ9jiNr8SztV4KikE+ZegSEUU=;
        b=QuKMFkhDbbL3cbBKa/GWHog2BPsj+zpo6Ko8peUZ1DYR4i5GxZ3qhzJXoHE61aLgAe
         dQo8lYz12+TqPKMyQHdpbVKY00fGohDJbXSc9z1H27BUIFO0dATmILiMZKeJqcwu2Cd9
         v1Y9JXlAX0ms6/1fQyhOEgsxNMSlUIyCKgq3oY7/czidBXMlN1YleAM2169ilIFQGmTD
         o+iG9IvFHUhvrXRzPW/xK0+o+gSeYk63sR4kU0Egslob+9kQLHKC1qAUdkXWaOhZbp47
         oJFHKwVhxpmyDwcEEeV9KmfwvtQFzVBIFEAxtiZP5G8IqAVCKk2dbHCVEkXuaDFQd1OC
         zJKw==
X-Gm-Message-State: AO0yUKUgSPeI0fFSTJ5f9qlaIp7iCKKfBoZOJX4RTli+RQOkzMVQ++Gj
	VGBKugdVczdvaY+/htPIap80dzmL1qQ=
X-Google-Smtp-Source: AK7set/bfa8nAyobFYQuCkW56PYhjSI2SVw7d5hflVA3SuA4MZcXB0O5aWUoFU0Axmj4J+Kx6ST4Kg==
X-Received: by 2002:a05:600c:4f0c:b0:3ea:c100:f18d with SMTP id l12-20020a05600c4f0c00b003eac100f18dmr13624245wmq.9.1678204236557;
        Tue, 07 Mar 2023 07:50:36 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v6 4/4] xen/x86: switch x86 to use generic implemetation of bug.h
Date: Tue,  7 Mar 2023 17:50:26 +0200
Message-Id: <abf50a37913608c3403c6e7e56c9fdba6f3ef643.1678202233.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <cover.1678202233.git.oleksii.kurochko@gmail.com>
References: <cover.1678202233.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following changes were made:
* Make GENERIC_BUG_FRAME mandatory for X86
* Update asm/bug.h using generic implementation in <xen/bug.h>
* Update do_invalid_op using generic do_bug_frame()
* Define BUG_DEBUGGER_TRAP_FATAL to debugger_trap_fatal(X86_EXC_GP,regs)
* type of eip variable was changed to 'void *'

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V6:
 * update the commit message
 * update the type of eip to 'void *' in do_invalid_op()
 * fix the logic of do_invalid_op()
 * move macros BUG_DEBUGGER_TRAP_FATAL under #ifndef __ASSEMBLY__ as
   it is not necessary to be in assembly code.
---
Changes in V5:
 * Nothing changed
---
Changes in V4:
 * Back comment /* !__ASSEMBLY__ */ for #else case in <asm/bug.h>
 * Remove changes related to x86/.../asm/debuger.h as do_bug_frame() prototype
   was updated and cpu_user_regs isn't const any more.
---
Changes in V3:
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
 * MODIFIER was change to BUG_ASM_CONST to align with generic implementation
---
Changes in V2:
  * Remove all unnecessary things from <asm/bug.h> as they were introduced in
    <xen/bug.h>.
  * Define BUG_INSTR = 'ud2' and MODIFIER = 'c' ( it is needed to skip '$'
    when use an imidiate in x86 assembly )
  * Update do_invalid_op() to re-use handle_bug_frame() and find_bug_frame()
    from generic implemetation of CONFIG_GENERIC_BUG_FRAME
  * Code style fixes.
---
 xen/arch/x86/Kconfig           |  1 +
 xen/arch/x86/include/asm/bug.h | 77 ++------------------------------
 xen/arch/x86/traps.c           | 81 ++++------------------------------
 3 files changed, 12 insertions(+), 147 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 6a7825f4ba..b0ff1f3ee6 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -11,6 +11,7 @@ config X86
 	select ARCH_MAP_DOMAIN_PAGE
 	select ARCH_SUPPORTS_INT128
 	select CORE_PARKING
+	select GENERIC_BUG_FRAME
 	select HAS_ALTERNATIVE
 	select HAS_COMPAT
 	select HAS_CPUFREQ
diff --git a/xen/arch/x86/include/asm/bug.h b/xen/arch/x86/include/asm/bug.h
index ff5cca1f19..f852cd0ee9 100644
--- a/xen/arch/x86/include/asm/bug.h
+++ b/xen/arch/x86/include/asm/bug.h
@@ -1,83 +1,12 @@
 #ifndef __X86_BUG_H__
 #define __X86_BUG_H__
 
-#undef BUG_DISP_WIDTH
-#undef BUG_LINE_LO_WIDTH
-#undef BUG_LINE_HI_WIDTH
-
-#define BUG_DISP_WIDTH    24
-#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
-#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
-
 #ifndef __ASSEMBLY__
 
-#define BUG_FRAME_STRUCT
-
-struct bug_frame {
-    signed int loc_disp:BUG_DISP_WIDTH;
-    unsigned int line_hi:BUG_LINE_HI_WIDTH;
-    signed int ptr_disp:BUG_DISP_WIDTH;
-    unsigned int line_lo:BUG_LINE_LO_WIDTH;
-    signed int msg_disp[];
-};
-
-#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
-#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
-#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
-                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
-                      BUG_LINE_LO_WIDTH) +                                   \
-                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
-                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
-#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
-
-#define _ASM_BUGFRAME_TEXT(second_frame)                                     \
-    ".Lbug%=: ud2\n"                                                         \
-    ".pushsection .bug_frames.%c[bf_type], \"a\", @progbits\n"               \
-    ".p2align 2\n"                                                           \
-    ".Lfrm%=:\n"                                                             \
-    ".long (.Lbug%= - .Lfrm%=) + %c[bf_line_hi]\n"                           \
-    ".long (%c[bf_ptr] - .Lfrm%=) + %c[bf_line_lo]\n"                        \
-    ".if " #second_frame "\n"                                                \
-    ".long 0, %c[bf_msg] - .Lfrm%=\n"                                        \
-    ".endif\n"                                                               \
-    ".popsection\n"                                                          \
-
-#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
-    [bf_type]    "i" (type),                                                 \
-    [bf_ptr]     "i" (ptr),                                                  \
-    [bf_msg]     "i" (msg),                                                  \
-    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
-                      << BUG_DISP_WIDTH),                                    \
-    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
-
-#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
-    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH));         \
-    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
-    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
-                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
-} while (0)
-
-
-#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, NULL)
-#define BUG() do {                                              \
-    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, NULL);      \
-    unreachable();                                              \
-} while (0)
-
-/*
- * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
- * and use a real static inline here to get proper type checking of fn().
- */
-#define run_in_exception_handler(fn)                            \
-    do {                                                        \
-        (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
-        BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);             \
-    } while ( 0 )
+#define BUG_DEBUGGER_TRAP_FATAL(regs) debugger_trap_fatal(X86_EXC_GP,regs)
 
-#define assert_failed(msg) do {                                 \
-    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
-    unreachable();                                              \
-} while (0)
+#define BUG_INSTR       "ud2"
+#define BUG_ASM_CONST   "c"
 
 #else  /* !__ASSEMBLY__ */
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index cade9e12f8..3ee256f469 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -24,6 +24,7 @@
  * Gareth Hughes <gareth@valinux.com>, May 2000
  */
 
+#include <xen/bug.h>
 #include <xen/init.h>
 #include <xen/sched.h>
 #include <xen/lib.h>
@@ -1166,12 +1167,9 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
 
 void do_invalid_op(struct cpu_user_regs *regs)
 {
-    const struct bug_frame *bug = NULL;
     u8 bug_insn[2];
-    const char *prefix = "", *filename, *predicate, *eip = (char *)regs->rip;
-    unsigned long fixup;
-    int id = -1, lineno;
-    const struct virtual_region *region;
+    void *eip = (void *)regs->rip;
+    int id;
 
     if ( likely(guest_mode(regs)) )
     {
@@ -1185,83 +1183,20 @@ void do_invalid_op(struct cpu_user_regs *regs)
          memcmp(bug_insn, "\xf\xb", sizeof(bug_insn)) )
         goto die;
 
-    region = find_text_region(regs->rip);
-    if ( region )
-    {
-        for ( id = 0; id < BUGFRAME_NR; id++ )
-        {
-            const struct bug_frame *b;
-            unsigned int i;
-
-            for ( i = 0, b = region->frame[id].bugs;
-                  i < region->frame[id].n_bugs; b++, i++ )
-            {
-                if ( bug_loc(b) == eip )
-                {
-                    bug = b;
-                    goto found;
-                }
-            }
-        }
-    }
-
- found:
-    if ( !bug )
+    id = do_bug_frame(regs, regs->rip);
+    if ( id < 0 )
         goto die;
-    eip += sizeof(bug_insn);
-    if ( id == BUGFRAME_run_fn )
-    {
-        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
-
-        fn(regs);
-        fixup_exception_return(regs, (unsigned long)eip);
-        return;
-    }
 
-    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = bug_ptr(bug);
-    if ( !is_kernel(filename) && !is_patch(filename) )
-        goto die;
-    fixup = strlen(filename);
-    if ( fixup > 50 )
-    {
-        filename += fixup - 47;
-        prefix = "...";
-    }
-    lineno = bug_line(bug);
+    eip = (unsigned char *)eip + sizeof(bug_insn);
 
     switch ( id )
     {
+    case BUGFRAME_run_fn:
     case BUGFRAME_warn:
-        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
         fixup_exception_return(regs, (unsigned long)eip);
-        return;
-
     case BUGFRAME_bug:
-        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return;
-
-        show_execution_state(regs);
-        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
     case BUGFRAME_assert:
-        /* ASSERT: decode the predicate string pointer. */
-        predicate = bug_msg(bug);
-        if ( !is_kernel(predicate) && !is_patch(predicate) )
-            predicate = "<unknown>";
-
-        printk("Assertion '%s' failed at %s%s:%d\n",
-               predicate, prefix, filename, lineno);
-
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return;
-
-        show_execution_state(regs);
-        panic("Assertion '%s' failed at %s%s:%d\n",
-              predicate, prefix, filename, lineno);
+        return;
     }
 
  die:
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 15:51:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 15:51:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507566.781239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZbK-0005oF-1l; Tue, 07 Mar 2023 15:51:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507566.781239; Tue, 07 Mar 2023 15: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 1pZZbJ-0005o4-VF; Tue, 07 Mar 2023 15:51:41 +0000
Received: by outflank-mailman (input) for mailman id 507566;
 Tue, 07 Mar 2023 15:51:40 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=JVyd=67=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pZZbI-0005nB-M0
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 15:51: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 f2b8da98-bcff-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 16:51: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 10E961F74D;
 Tue,  7 Mar 2023 15:51: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 CE01A13440;
 Tue,  7 Mar 2023 15:51:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WOv9MIpdB2S5MQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Mar 2023 15:51: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: f2b8da98-bcff-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678204299; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=LXdDzUmA0yI2/W4CtE2UXMAJinJ9U3IvrLczIEJXVNE=;
	b=SmdhxDFqHk0BPzhvnQfgsfXAGtSNEwdFkKdYAbwTNVqapuXdrUg5ufu7Y3beqwUpIO7q61
	E9lsDB7CPVTSuXSJai/6buC3dLMAASuxeeyNJ6BRCxzfP4aHy/4QGwFpIg5D+aP6SlgYbU
	TqoJM/tZRjsMSddViFML+pWF1D1IMLo=
Message-ID: <8c16194b-e5a7-34d0-3260-c79a7d72945d@suse.com>
Date: Tue, 7 Mar 2023 16:51:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [PATCH 2/2] xen: update CONFIG_DEBUG_INFO help text
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: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-3-jgross@suse.com>
 <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>
 <d0aefe0b-4e71-458c-0072-345e1c505083@suse.com>
 <825c0085-ba84-9ede-ea91-f07dce66f214@suse.com>
 <9537fcd2-99ae-0570-aba3-41fd1fefe4ba@suse.com>
 <c8c8209f-0ad1-2a13-946d-0ac9a0f454bc@suse.com>
 <7f4d5da3-13b8-f120-69fc-14aa65e735e3@suse.com>
 <e4298b1a-e8b4-61d8-1975-a78adf55bcdb@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <e4298b1a-e8b4-61d8-1975-a78adf55bcdb@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------iACVGjxOOzUuIAEE2oBxDlIP"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------iACVGjxOOzUuIAEE2oBxDlIP
Content-Type: multipart/mixed; boundary="------------0Mn003f6O7HJVOAqqOxvB45x";
 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: <8c16194b-e5a7-34d0-3260-c79a7d72945d@suse.com>
Subject: Re: [PATCH 2/2] xen: update CONFIG_DEBUG_INFO help text
References: <20230307063214.30569-1-jgross@suse.com>
 <20230307063214.30569-3-jgross@suse.com>
 <e673b686-abcb-1e38-1e2d-dcbc77c65576@suse.com>
 <d0aefe0b-4e71-458c-0072-345e1c505083@suse.com>
 <825c0085-ba84-9ede-ea91-f07dce66f214@suse.com>
 <9537fcd2-99ae-0570-aba3-41fd1fefe4ba@suse.com>
 <c8c8209f-0ad1-2a13-946d-0ac9a0f454bc@suse.com>
 <7f4d5da3-13b8-f120-69fc-14aa65e735e3@suse.com>
 <e4298b1a-e8b4-61d8-1975-a78adf55bcdb@suse.com>
In-Reply-To: <e4298b1a-e8b4-61d8-1975-a78adf55bcdb@suse.com>

--------------0Mn003f6O7HJVOAqqOxvB45x
Content-Type: multipart/mixed; boundary="------------wC5jz0LEl60MsN0PGZ6FBC70"

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

T24gMDcuMDMuMjMgMTY6MTQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAwNy4wMy4yMDIz
IDE2OjAyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMDcuMDMuMjMgMTU6MzQsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDA3LjAzLjIwMjMgMTU6MjMsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IE9uIDA3LjAzLjIzIDE1OjE4LCBKYW4gQmV1bGljaCB3cm90ZToN
Cj4+Pj4+IE9uIDA3LjAzLjIwMjMgMTU6MDQsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+
Pj4gT24gMDcuMDMuMjMgMTE6NDEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4+Pj4+PiBPbiAw
Ny4wMy4yMDIzIDA3OjMyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4+Pj4+Pj4gLS0tIGEv
eGVuL0tjb25maWcuZGVidWcNCj4+Pj4+Pj4+ICsrKyBiL3hlbi9LY29uZmlnLmRlYnVnDQo+
Pj4+Pj4+PiBAQCAtMTUsOCArMTUsMTEgQEAgY29uZmlnIERFQlVHX0lORk8NCj4+Pj4+Pj4+
ICAgICAgCWJvb2wgIkNvbXBpbGUgWGVuIHdpdGggZGVidWcgaW5mbyINCj4+Pj4+Pj4+ICAg
ICAgCWRlZmF1bHQgREVCVUcNCj4+Pj4+Pj4+ICAgICAgCS0tLWhlbHAtLS0NCj4+Pj4+Pj4+
IC0JICBJZiB5b3Ugc2F5IFkgaGVyZSB0aGUgcmVzdWx0aW5nIFhlbiB3aWxsIGluY2x1ZGUg
ZGVidWdnaW5nIGluZm8NCj4+Pj4+Pj4+IC0JICByZXN1bHRpbmcgaW4gYSBsYXJnZXIgYmlu
YXJ5IGltYWdlLg0KPj4+Pj4+Pj4gKwkgIFNheSBZIGhlcmUgaWYgeW91IHdhbnQgdG8gYnVp
bGQgWGVuIHdpdGggZGVidWcgaW5mb3JtYXRpb24uIFRoaXMNCj4+Pj4+Pj4+ICsJICBpbmZv
cm1hdGlvbiBpcyBuZWVkZWQgZS5nLiBmb3IgZG9pbmcgY3Jhc2ggZHVtcCBhbmFseXNpcyBv
ZiB0aGUNCj4+Pj4+Pj4+ICsJICBoeXBlcnZpc29yIHZpYSB0aGUgImNyYXNoIiB0b29sLg0K
Pj4+Pj4+Pj4gKwkgIFNheWluZyBZIHdpbGwgaW5jcmVhc2UgdGhlIHNpemUgb2YgeGVuLXN5
bXMgYW5kIHRoZSBidWlsdCBFRkkNCj4+Pj4+Pj4+ICsJICBiaW5hcnkuDQo+Pj4+Pj4+DQo+
Pj4+Pj4+IExhcmdlbHkgZmluZSB3aXRoIG1lLCBqdXN0IG9uZSBxdWVzdGlvbjogV2h5IGRv
IHlvdSBtZW50aW9uIHhlbi1zeW1zIGJ5DQo+Pj4+Pj4+IG5hbWUsIGJ1dCB0aGVuIHZlcmJh
bGx5IGRlc2NyaWJlIHhlbi5lZmk/IEFuZCBzaW5jZSwgdW5saWtlIGZvciB4ZW4tc3ltcywN
Cj4+Pj4+Pg0KPj4+Pj4+IEZvciB4ZW4tc3ltcyBJIGNvdWxkbid0IGZpbmQgYW4gZWFzaWx5
IHVuZGVyc3RhbmRhYmxlIHdvcmRpbmcuIEknZCBiZSBmaW5lDQo+Pj4+Pj4gd2l0aCBqdXN0
IHNheWluZyAieGVuLmVmaSIuDQo+Pj4+Pj4NCj4+Pj4+Pj4gdGhpcyBhZmZlY3RzIHRoZSBp
bnN0YWxsZWQgYmluYXJ5IGFjdHVhbGx5IHVzZWQgZm9yIGJvb3RpbmcgKHdoaWNoIG1heQ0K
Pj4+Pj4+PiBiZSBwbGFjZWQgb24gYSBzcGFjZSBjb25zdHJhaW5lZCBwYXJ0aXRpb24pLCBp
dCBtYXkgYmUgcHJ1ZGVudCB0bw0KPj4+Pj4+PiBtZW50aW9uIElOU1RBTExfRUZJX1NUUklQ
IGhlcmUgKGFzIGEgd2F5IHRvIHJlZHVjZSB0aGUgYmluYXJ5IHNpemUgb2YNCj4+Pj4+Pj4g
d2hhdCBlbmRzIHVwIG9uIHRoZSBFRkkgcGFydGl0aW9uLCBldmVuIGlmIHRoYXQgd291bGRu
J3QgYWZmZWN0IHRoZQ0KPj4+Pj4+PiAibm9ybWFsIiB3YXkgb2YgcHV0dGluZyB0aGUgYmlu
YXJ5IG9uIHRoZSBFRkkgcGFydGl0aW9uIC0gcGVvcGxlIHdvdWxkDQo+Pj4+Pj4+IHN0aWxs
IG5lZWQgdG8gdGFrZSBjYXJlIG9mIHRoYXQgaW4gdGhlaXIgZGlzdHJvcykuDQo+Pj4+Pj4N
Cj4+Pj4+PiBXaGF0IGFib3V0IGFkZGluZyBhIHJlbGF0ZWQgS2NvbmZpZyBvcHRpb24gaW5z
dGVhZD8NCj4+Pj4+DQo+Pj4+PiBIb3cgd291bGQgYSBLY29uZmlnIG9wdGlvbiBwb3NzaWJs
eSBhZmZlY3QgdGhpcz8gWW91IHdhbnQgZGVidWcgaW5mbw0KPj4+Pj4gaW4gdGhlIHhlbi5l
ZmkgaW4gaXRzIHN0YW5kYXJkIGluc3RhbGwgbG9jYXRpb24gKG91dHNpZGUgb2YgdGhlIEVG
SQ0KPj4+Pj4gcGFydGl0aW9uKTsgb3IgZWxzZSBpZiB5b3UgZG9uJ3Qgd2FudCBpdCB0aGVy
ZSB3aHkgd291bGQgeW91IHdhbnQgaXQNCj4+Pj4+IGluIHhlbi1zeW1zPyBJdCBpcyB0aGUg
c3RlcCBvZiBwb3B1bGF0aW5nIHRoZSBFRkkgcGFydGl0aW9uIGZyb20gdGhlDQo+Pj4+PiBz
dGFuZGFyZCBpbnN0YWxsIGxvY2F0aW9uIHdoZXJlIHNvbWUgZXF1aXZhbGVudCBvZiBJTlNU
QUxMX0VGSV9TVFJJUA0KPj4+Pj4gd291bGQgY29tZSBpbnRvIHBsYXkuIFRoYXQgc3RlcCBp
cyBkb25lIG91dHNpZGUgb2YgWGVuJ3MgYnVpbGQNCj4+Pj4+IHN5c3RlbSBhbmQgaGVuY2Ug
b3V0c2lkZSBvZiBhbnkgS2NvbmZpZyBjb250cm9sLg0KPj4+Pg0KPj4+PiBXZSBoYXZlIDIg
YmluYXJpZXMgZm9yIHRoZSBub24tRUZJIGh5cGVydmlzb3IgKHhlbi1zeW1zIGFuZCB4ZW5b
Lmd6XSkuDQo+Pj4+IFdoeSBjYW4ndCB3ZSBoYXZlIHRoZSBzYW1lIGZvciBFRkk/IEUuZy4g
eGVuLXN5bXMuZWZpIGFuZCB4ZW4uZWZpLg0KPj4+PiBUaGUgZm9ybWVyIHdvdWxkIGhhdmUg
dGhlIGRlYnVnLWluZm8sIHRoZSBsYXR0ZXIgY291bGQgYmUgaW5zdGFsbGVkDQo+Pj4+IGlu
dG8gdGhlIEVGSSBwYXJ0aXRpb24uDQo+Pj4NCj4+PiBJIHZpZXcgdGhlIHR3by1iaW5hcmll
cyBtb2RlbCBvZiB0aGUgbm9uLUVGSSBjYXNlIGFzIG1lcmVseSBhbg0KPj4+IGltcGxlbWVu
dGF0aW9uIGRldGFpbDsNCj4+DQo+PiBUaGUgYWJpbGl0eSB0byBkbyBjcmFzaCBkdW1wIGFu
YWx5c2lzIGlzIG1vcmUgdGhhbiBhbiBpbXBsZW1lbnRhdGlvbg0KPj4gZGV0YWlsIElNSE8u
IEl0IGlzIGEgZmVhdHVyZSBhbmQgYXMgc3VjaCB0aGUgYXZhaWxhYmlsaXR5IG9mIHhlbi1z
eW1zDQo+PiBzaG91bGQgYmUgc2VlbiBhcyBhbiBpbnRlcmZhY2Ugd2hpY2ggZnVuY3Rpb25h
bGl0eSBzaG91bGQgYmUga2VwdC4NCj4gDQo+IFRoYXQgeW91J3JlIGxvb2tpbmcgdGhlIG9w
cG9zaXRlIHdheSBhdCB0aGluZ3M6IFRoZSBvZGRpdHkgaXMgdGhhdCB3ZQ0KPiBjYW4ndCB1
c2UgeGVuLXN5bXMgZGlyZWN0bHkgZm9yIGJvb3RpbmcgKHdoaWNoIGlzIGFsc28gd2h5IGl0
IGhhcyB0aGlzDQo+IHNwZWNpZmljIG5hbWU7IG90aGVyd2lzZSAieGVuIiB3b3VsZCBiZSB3
aGF0IHRoZSBsaW5rZXIgcHJvZHVjZXMpLg0KPiANCj4+PiBpdCBqdXN0IHNvIGhhcHBlbnMg
dGhhdCB0aGVyZSdzIGxpdHRsZSBwb2ludA0KPj4+IGluIG1rZWxmMzIgcmV0YWluaW5nIGRl
YnVnIGluZm8uIEkgdGhlcmVmb3JlIGRvbid0IHZpZXcgaXQgYXMgdmVyeQ0KPj4+IHJlYXNv
bmFibGUgdG8gYXJ0aWZpY2lhbGx5IGludHJvZHVjZSB5ZXQgYW5vdGhlciBiaW5hcnkuDQo+
Pg0KPj4gSW4gY2FzZSB0aGVyZSBpcyBubyBvdGhlciB3YXkgdG8gZW5hYmxlIGh5cGVydmlz
b3IgY3Jhc2ggZHVtcCBhbmFseXNpcw0KPj4gSSBkb24ndCBzZWUgdGhpcyBhcyBhbiB1bnJl
YXNvbmFibGUgYXBwcm9hY2guDQo+Pg0KPj4gSXQgc2hvdWxkIGJlIHZlcmlmaWVkIHRoYXQg
dGhpcyBhcHByb2FjaCBpcyByZWFsbHkgZW5hYmxpbmcgdGhlIGNyYXNoDQo+PiBkdW1wIGFu
YWx5c2lzIG9mIGEgY3Jhc2ggZHVtcCBmcm9tIGEgeGVuLmVmaSBib290ZWQgc3lzdGVtLCBv
ZiBjb3Vyc2UuDQo+IA0KPiBSaWdodC4gRmlyc3QgcXVlc3Rpb24gd291bGQgYmUgd2hldGhl
ciB0aGV5IG1hbmFnZSB0byBjb25zdW1lIER3YXJmDQo+IGRlYnVnIGluZm8gZnJvbSBhIFBF
L0NPRkYgZXhlY3V0YWJsZS4gUG9zc2libHkgdGhlIHdheSB0byBnbyBpcyB0bw0KPiBzZXBh
cmF0ZSBEd2FyZiBkYXRhIG91dCBvZiB4ZW4uZWZpIGludG8gYW4gRUxGICJjb250YWluZXIi
OyBJIGhhdmUgbm8NCj4gaWRlYSB3aGV0aGVyIG9iamNvcHkgY291bGQgYmUgdXNlZCBmb3Ig
c29tZXRoaW5nIGxpa2UgdGhhdC4NCg0KSSB0cmllZDoNCg0KID4gb2JqY29weSAtLXJlbW92
ZS1zZWN0aW9uPS50ZXh0IC0tcmVtb3ZlLXNlY3Rpb249LnJvZGF0YSANCi0tcmVtb3ZlLXNl
Y3Rpb249LmluaXQuKiAtLXJlbW92ZS1zZWN0aW9uPS5kYXRhIC0tcmVtb3ZlLXNlY3Rpb249
LmRhdGEuKiANCi0tcmVtb3ZlLXNlY3Rpb249LmJzcyAtLW91dHB1dC10YXJnZXQ9ZWxmNjQt
eDg2LTY0IHhlbi5lZmkgeGVuLWRlYnVnDQoNCmFuZCB0aGUgcmVzdWx0IHdhczoNCg0KID4g
b2JqZHVtcCAtaCB4ZW4tZGVidWcNCg0KeGVuLWRlYnVnOiAgICAgZmlsZSBmb3JtYXQgZWxm
NjQteDg2LTY0DQoNClNlY3Rpb25zOg0KSWR4IE5hbWUgICAgICAgICAgU2l6ZSAgICAgIFZN
QSAgICAgICAgICAgICAgIExNQSAgICAgICAgICAgICAgIEZpbGUgb2ZmICBBbGduDQogICAw
IC5idWlsZGlkICAgICAgMDAwMDAwMzUgIGZmZmY4MmQwNDA0ODZmYjggIGZmZmY4MmQwNDA0
ODZmYjggIDAwMDAwZmI4ICAyKioyDQogICAgICAgICAgICAgICAgICAgQ09OVEVOVFMsIEFM
TE9DLCBMT0FELCBSRUFET05MWSwgREFUQQ0KICAgMSAuaW5pdCAgICAgICAgIDAwMGEyMzQw
ICBmZmZmODJkMDQwNjAwMDAwICBmZmZmODJkMDQwNjAwMDAwICAwMDAwMTAwMCAgMioqMg0K
ICAgICAgICAgICAgICAgICAgIENPTlRFTlRTLCBBTExPQywgTE9BRCwgQ09ERQ0KICAgMiAu
cmVsb2MgICAgICAgIDAwMDAxNjU4ICBmZmZmODJkMDQwOTRkNWEwICBmZmZmODJkMDQwOTRk
NWEwICAwMDBhMzVhMCAgMioqMg0KICAgICAgICAgICAgICAgICAgIENPTlRFTlRTLCBBTExP
QywgTE9BRCwgUkVBRE9OTFksIERBVEENCiAgIDMgLmRlYnVnX2FiYnJldiAwMDA5MWY2YiAg
ZmZmZjgyZDA0MDk0ZWJmOCAgZmZmZjgyZDA0MDk0ZWJmOCAgMDAwYTRiZjggIDIqKjANCiAg
ICAgICAgICAgICAgICAgICBDT05URU5UUywgUkVBRE9OTFksIERFQlVHR0lORywgT0NURVRT
DQogICA0IC5kZWJ1Z19pbmZvICAgMDBmZDdhZjQgIGZmZmY4MmQwNDA5ZTBiNjMgIGZmZmY4
MmQwNDA5ZTBiNjMgIDAwMTM2YjYzICAyKiowDQogICAgICAgICAgICAgICAgICAgQ09OVEVO
VFMsIFJFQURPTkxZLCBERUJVR0dJTkcsIE9DVEVUUw0KICAgNSAuZGVidWdfc3RyICAgIDAw
ODQzMzk1ICBmZmZmODJkMDQxOWI4NjU3ICBmZmZmODJkMDQxOWI4NjU3ICAwMTEwZTY1NyAg
MioqMA0KICAgICAgICAgICAgICAgICAgIENPTlRFTlRTLCBSRUFET05MWSwgREVCVUdHSU5H
LCBPQ1RFVFMNCiAgIDYgLmRlYnVnX2xpbmUgICAwMDExZGJhNSAgZmZmZjgyZDA0MjFmYjll
YyAgZmZmZjgyZDA0MjFmYjllYyAgMDE5NTE5ZWMgIDIqKjANCiAgICAgICAgICAgICAgICAg
ICBDT05URU5UUywgUkVBRE9OTFksIERFQlVHR0lORywgT0NURVRTDQogICA3IC5kZWJ1Z19m
cmFtZSAgMDAwM2ZkN2MgIGZmZmY4MmQwNDIzMTk1OTQgIGZmZmY4MmQwNDIzMTk1OTQgIDAx
YTZmNTkxICAyKiowDQogICAgICAgICAgICAgICAgICAgQ09OVEVOVFMsIFJFQURPTkxZLCBE
RUJVR0dJTkcsIE9DVEVUUw0KICAgOCAuZGVidWdfbG9jICAgIDAwNDdmY2ZkICBmZmZmODJk
MDQyMzU5MzEwICBmZmZmODJkMDQyMzU5MzEwICAwMWFhZjMwZCAgMioqMA0KICAgICAgICAg
ICAgICAgICAgIENPTlRFTlRTLCBSRUFET05MWSwgREVCVUdHSU5HLCBPQ1RFVFMNCiAgIDkg
LmRlYnVnX3JhbmdlcyAwMDBkMjY1MCAgZmZmZjgyZDA0MjdkOTAxMCAgZmZmZjgyZDA0Mjdk
OTAxMCAgMDFmMmYwMGEgIDIqKjANCiAgICAgICAgICAgICAgICAgICBDT05URU5UUywgUkVB
RE9OTFksIERFQlVHR0lORywgT0NURVRTDQogIDEwIC5kZWJ1Z19hcmFuZ2VzIDAwMDE1YmQw
ICBmZmZmODJkMDQyOGFiNjYwICBmZmZmODJkMDQyOGFiNjYwICAwMjAwMTY1YSAgMioqMA0K
ICAgICAgICAgICAgICAgICAgIENPTlRFTlRTLCBSRUFET05MWSwgREVCVUdHSU5HLCBPQ1RF
VFMNCg0KVGhpcyBzZWVtcyB0byBiZSBhIHJlYXNvbmFibGUgb3V0cHV0LiBXaGV0aGVyIGNy
YXNoIGlzIGhhcHB5IHdpdGggdGhhdCBmaWxlIGlzDQphbm90aGVyIHF1ZXN0aW9uLCBvZiBj
b3Vyc2UuDQoNCg0KSnVlcmdlbg0K
--------------wC5jz0LEl60MsN0PGZ6FBC70
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-----

--------------wC5jz0LEl60MsN0PGZ6FBC70--

--------------0Mn003f6O7HJVOAqqOxvB45x--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQHXYoFAwAAAAAACgkQsN6d1ii/Ey//
xAf/WGyjgDKdvVHu/wy6inNZaZSDG4ziPDHRjQ9J1IM8zbfh5kLS7QXHpDGlDPBLmXioQbKu/UoN
rs+iNnXTCjhG0d2mtaTAbgZebttAQLMm0uXHeayHYd9SOL6LcObztBryrv+ly4ZSKHnzsVzXtNvN
iKMdQgNq6qJOb0+3LSSoxd0j3U8i4M5QSEGUDPTDLRblfB6xpW3j8hgCcTT0ZRRpQVMoVLXqGX/P
dkFDL0AP+4FeqjBVgx6PDwly5my1mbIzxvn7yblXKh6gzWDSCAMTT3YzNFk0er6nRXzqC9DXiDX8
qHFNu2l6w+3eRLUQRuCfZLYDxfr/lHmUkhXOW6mRXw==
=R7HI
-----END PGP SIGNATURE-----

--------------iACVGjxOOzUuIAEE2oBxDlIP--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:07:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:07:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507570.781249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZqJ-0008By-Ah; Tue, 07 Mar 2023 16:07:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507570.781249; Tue, 07 Mar 2023 16:07: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 1pZZqJ-0008Br-6f; Tue, 07 Mar 2023 16:07:11 +0000
Received: by outflank-mailman (input) for mailman id 507570;
 Tue, 07 Mar 2023 16:07: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZZqH-0008Bl-VW
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:07:10 +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 1c121b48-bd02-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 17:07:07 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id bx12so12627524wrb.11
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 08:07:07 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 j17-20020adff011000000b002c5a1bd527dsm12816184wro.96.2023.03.07.08.07.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 08:07: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: 1c121b48-bd02-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678205227;
        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=0H/+Aloi1KiZg+ye6m8zoXqklBT/IfAyOTQ+13p4YMk=;
        b=BewN3PtsvMyJwYGyLWpl6bBq+SlhTspcjq9nuGvBobr+QVx8bTyP3XJ4xvE4aHNzuF
         oY2IhjwWimGjA9WqwI4DUlKDJG8RhHdwDQ+3+jeU5VOnDc0S/5uBxcj9hqUncUr8pTgX
         6S5rKNbzO5if6SxeS/FS/+21sQdVQog6/PXIn3uEP4E2EaY5cExY9GadQHeYW412aX2F
         bYyy9XI2BrkXgy/p5fBIZa4esns5VpvNcmHC8hh1IMd+AP8jPZYQunZj5hkx/c+Anm6k
         icV7Q0azz6RCP94vazUVzFIUo6oGnVTyu0dfRVe+RtmHJPvzYcT5s9BzWcfekz8dQy9J
         3ufg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678205227;
        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=0H/+Aloi1KiZg+ye6m8zoXqklBT/IfAyOTQ+13p4YMk=;
        b=db1ktlZhFsSR0NKl1IylEzoViJdwZ8L55QmWJtsYsXGvyojrToxMt6/0lvGVLEQWGS
         k0FoaSCt87kkZh9rz77eWGEFC+IdWT2LqtqFP5PjtOl779NUDg0T/1n+lSvcT90ggtOX
         XVIAjMyThHtOTJ65NHT7BDvO5jpzrM9VQ//ZuPcvVGpsFg1Kv3DBdqK2uHL0dhNTTW5K
         C6KZNXOSi+ACYkUYH+js/xObMumasVgP3BedDK4jEmillS/OwfGvKDl8AIphdFi1NudZ
         ofu3LM3zvTuJ6HtThoV0MJY7fTL/ac2j/fbJ8bwKsxYxd4GKLii6vf1xHyOpcY+UQNJn
         wikA==
X-Gm-Message-State: AO0yUKVGUvSd+mt/gNbI5j0PO4To/NP3tQJ0amf9I3G/haxflBROsKIa
	MkQxTsHaVNxS6yUcLljO4Oo=
X-Google-Smtp-Source: AK7set/hEKiuZhAKGXqh7OLuuCFpqLaIldCtdKFsHX1nROkJ2AzPbuOMO1Nn1rjJ9BWUmxmW2ZbrWQ==
X-Received: by 2002:a5d:4ecb:0:b0:2c7:17e0:54f5 with SMTP id s11-20020a5d4ecb000000b002c717e054f5mr8562529wrv.13.1678205227220;
        Tue, 07 Mar 2023 08:07:07 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <ee8f307b-1e0a-6d6c-3edc-8f8262dcfe42@xen.org>
Date: Tue, 7 Mar 2023 16:07:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 21/25] hw/xen: Add emulated implementation of grant
 table operations
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-22-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-22-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> This is limited to mapping a single grant at a time, because under Xen the
> pages are mapped *contiguously* into qemu's address space, and that's very
> hard to do when those pages actually come from anonymous mappings in qemu
> in the first place.
> 
> Eventually perhaps we can look at using shared mappings of actual objects
> for system RAM, and then we can make new mappings of the same backing
> store (be it deleted files, shmem, whatever). But for now let's stick to
> a page at a time.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/kvm/xen_gnttab.c | 299 ++++++++++++++++++++++++++++++++++++++-
>   1 file changed, 296 insertions(+), 3 deletions(-)
> 
[snip]
> +static uint64_t gnt_ref(XenGnttabState *s, grant_ref_t ref, int prot)
> +{
> +    uint16_t mask = GTF_type_mask | GTF_sub_page;
> +    grant_entry_v1_t gnt, *gnt_p;
> +    int retries = 0;
> +
> +    if (ref >= s->max_frames * ENTRIES_PER_FRAME_V1 ||
> +        s->map_track[ref] == UINT8_MAX) {
> +        return INVALID_GPA;
> +    }
> +
> +    if (prot & PROT_WRITE) {
> +        mask |= GTF_readonly;
> +    }
> +
> +    gnt_p = &s->entries.v1[ref];
> +
> +    /*
> +     * The guest can legitimately be changing the GTF_readonly flag. Allow

I'd call a guest playing with the ref after setting GTF_permit_access a 
buggy guest and not bother with the loop.

> +     * that, but don't let a malicious guest cause a livelock.
> +     */
> +    for (retries = 0; retries < 5; retries++) {
> +        uint16_t new_flags;
> +
> +        /* Read the entry before an atomic operation on its flags */
> +        gnt = *(volatile grant_entry_v1_t *)gnt_p;
> +
> +        if ((gnt.flags & mask) != GTF_permit_access ||
> +            gnt.domid != DOMID_QEMU) {
> +            return INVALID_GPA;
> +        }
> +
> +        new_flags = gnt.flags | GTF_reading;
> +        if (prot & PROT_WRITE) {
> +            new_flags |= GTF_writing;
> +        }
> +
> +        if (qatomic_cmpxchg(&gnt_p->flags, gnt.flags, new_flags) == gnt.flags) {

Xen actually does a cmpxchg on both the flags and the domid. We probably 
ought to fail to set the flags if the guest is playing with the domid 
but since we're single-tenant it doesn't *really* matter... just a 
nice-to-have. So...

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:17:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:17:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507574.781259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZzk-0001Nh-5v; Tue, 07 Mar 2023 16:16:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507574.781259; Tue, 07 Mar 2023 16:16:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZZzk-0001Na-2o; Tue, 07 Mar 2023 16:16:56 +0000
Received: by outflank-mailman (input) for mailman id 507574;
 Tue, 07 Mar 2023 16:16: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZZzi-0001NS-E4
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:16:55 +0000
Received: from casper.infradead.org (casper.infradead.org [90.155.50.34])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74e5b3d1-bd03-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 17:16:49 +0100 (CET)
Received: from [2001:8b0:10b:5:640c:634b:db90:9c87]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZZyx-006YAm-Tj; Tue, 07 Mar 2023 16:16:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74e5b3d1-bd03-11ed-a550-8520e6686977
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=3ZCf67GpIRVuyIcW88YqOAiLLpuW8e60237wNWVEDts=; b=mUIaWge720r+rqVV7qHF/shzF4
	/j5BTpT1mG4d0WsYO8gcUb5OGiOzbGRbE329ATjppPcXgTqLb5omnJL2UZCvKr8SVUTsrjxLd5sdh
	bmLPQGvgXNvxalsQKdPDAawVBSuEifK+YCK1NN0khVnVMAoTfcmrefGVhTHjbPHpQTcFHplOvP2EU
	NTkZnlmFgIj1cahHjL8nsvEZPnioBQMZYW6LgyIKfGZb4GQBlv91UBKwRQIXtRDDJko7bq0VM9ibN
	FGDXcUKHAVrNzYOvL7sXNCWz1MrvGu4kja9vZf6/k2WI6iv4XIuiECaBJcB1z4WoPdyp/N7xMb0uY
	aB4Wc4hQ==;
Message-ID: <e72d7f6b09031603f63498bb555dca3c25c3fde5.camel@infradead.org>
Subject: Re: [RFC PATCH v1 21/25] hw/xen: Add emulated implementation of
 grant table operations
From: David Woodhouse <dwmw2@infradead.org>
To: paul@xen.org, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>, Joao Martins
 <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>,  xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 16:16:06 +0000
In-Reply-To: <ee8f307b-1e0a-6d6c-3edc-8f8262dcfe42@xen.org>
References: <20230302153435.1170111-1-dwmw2@infradead.org>
	 <20230302153435.1170111-22-dwmw2@infradead.org>
	 <ee8f307b-1e0a-6d6c-3edc-8f8262dcfe42@xen.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-AQQHNLypwwvIWGFooPru"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Tue, 2023-03-07 at 16:07 +0000, Paul Durrant wrote:
> On 02/03/2023 15:34, David Woodhouse wrote:
> > From: David Woodhouse <dwmw@amazon.co.uk>
> >=20
> > This is limited to mapping a single grant at a time, because under Xen =
the
> > pages are mapped *contiguously* into qemu's address space, and that's v=
ery
> > hard to do when those pages actually come from anonymous mappings in qe=
mu
> > in the first place.
> >=20
> > Eventually perhaps we can look at using shared mappings of actual objec=
ts
> > for system RAM, and then we can make new mappings of the same backing
> > store (be it deleted files, shmem, whatever). But for now let's stick t=
o
> > a page at a time.
> >=20
> > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> > ---
> > =C2=A0 hw/i386/kvm/xen_gnttab.c | 299 +++++++++++++++++++++++++++++++++=
+++++-
> > =C2=A0 1 file changed, 296 insertions(+), 3 deletions(-)
> >=20
> [snip]
> > +static uint64_t gnt_ref(XenGnttabState *s, grant_ref_t ref, int prot)
> > +{
> > +=C2=A0=C2=A0=C2=A0 uint16_t mask =3D GTF_type_mask | GTF_sub_page;
> > +=C2=A0=C2=A0=C2=A0 grant_entry_v1_t gnt, *gnt_p;
> > +=C2=A0=C2=A0=C2=A0 int retries =3D 0;
> > +
> > +=C2=A0=C2=A0=C2=A0 if (ref >=3D s->max_frames * ENTRIES_PER_FRAME_V1 |=
|
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 s->map_track[ref] =3D=3D UI=
NT8_MAX) {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return INVALID_GPA;
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0 if (prot & PROT_WRITE) {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mask |=3D GTF_readonly;
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0 gnt_p =3D &s->entries.v1[ref];
> > +
> > +=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * The guest can legitimately be changing the =
GTF_readonly flag. Allow
>=20
> I'd call a guest playing with the ref after setting GTF_permit_access a=
=20
> buggy guest and not bother with the loop.

Didn't we have this argument already when I tried to get you to change
your one? :)

I argue that it's OK for a guest to *increase* permissions to include
write permission, even while a read-only grant may be in progress.

And also to *decrease* permissions to take away write permission, even
while read-only grants may be in progress.

The loop is what Xen does, so let's do it that way.

>=20
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * that, but don't let a malicious guest cause=
 a livelock.
> > +=C2=A0=C2=A0=C2=A0=C2=A0 */
> > +=C2=A0=C2=A0=C2=A0 for (retries =3D 0; retries < 5; retries++) {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 uint16_t new_flags;
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Read the entry before an=
 atomic operation on its flags */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 gnt =3D *(volatile grant_en=
try_v1_t *)gnt_p;
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ((gnt.flags & mask) !=3D=
 GTF_permit_access ||
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 gnt=
.domid !=3D DOMID_QEMU) {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret=
urn INVALID_GPA;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 new_flags =3D gnt.flags | G=
TF_reading;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (prot & PROT_WRITE) {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 new=
_flags |=3D GTF_writing;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (qatomic_cmpxchg(&gnt_p-=
>flags, gnt.flags, new_flags) =3D=3D gnt.flags) {
>=20
> Xen actually does a cmpxchg on both the flags and the domid. We probably=
=20
> ought to fail to set the flags if the guest is playing with the domid
> but since we're single-tenant it doesn't *really* matter... just a=20
> nice-to-have. So...

Yeah, changing the *domid* while it's active is definitely not an OK
thing to do.


--=-AQQHNLypwwvIWGFooPru
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MTYxNjA2WjAvBgkqhkiG9w0BCQQxIgQgWIxJGK0i
HuT3tvgYre9TZ43jmzjLTzQAHU7IE+g1OJMwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBACOlKiyXfqF5IsjponO/+NTIrxkBHb98x
b5CGZxA5yTbT3Myt/XM5gNk3awL1VCAfvE23cyI7nVkeEWisOAdVe54z9pWLDK7/8XXTJO/rk/1v
eRUr7VX2EEVQwESCj0U8Tj70BbguJ4j5NIqUpjBDimCDheRGIsVioQ21jwJJTkoRf9tvCerAQ+XE
AJx9JgFUZGOtb0LPB14xMJTa8eRnPxi4Ue591IiPgt1Fovp4MO/N8pf34S6d6Y3Mm3fjznNnBrWn
sFi6jn48EDKra3GM8s12Q416tQX0oGh3/LlFqG2BX3OgDl09CMMxiZdlT5T415AD/YsIXhS9Tyxq
2k1d9jlzGNuoYuloMHtcUlYlH9sU71GBXrgo4r+oqStGC40+yMLh9O961jAvwQsZbfqVYWx/E2am
IC2mFDxqFWmqgh23ddPMTsXpGMOhEVfYwBnXx4MuqwlbVr4BMi9NQBldiHLvFiMKdch8k/7dCEyf
1GXEk5j4WofK85/hFIUtxa91pDGdzkk/yk+mkvPd67yva6MBcA9JnXdcEOKZUq5M53Q0kWhq5iAa
4L57ekou2tEu5ne+/bKFCFyfoBEtnO9c11yGF0X0FpiKbJTohIaRR3xKtoijo0QaqduGshAT1VBP
m0sxxqutFJs0c88j4RRb74/U5k+dIQVKSrnV/f6QVAAAAAAAAA==


--=-AQQHNLypwwvIWGFooPru--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:21:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:21:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507581.781269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZa4L-00030t-R0; Tue, 07 Mar 2023 16:21:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507581.781269; Tue, 07 Mar 2023 16: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 1pZa4L-00030m-Nw; Tue, 07 Mar 2023 16:21:41 +0000
Received: by outflank-mailman (input) for mailman id 507581;
 Tue, 07 Mar 2023 16:21: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZa4K-00030b-1Q
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:21:40 +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 231d1b34-bd04-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 17:21:38 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id bx12so12684144wrb.11
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 08:21:38 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 z1-20020adff1c1000000b002c70c99db74sm12995127wro.86.2023.03.07.08.21.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 08:21: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: 231d1b34-bd04-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678206098;
        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=3KZYphWhdVAnvWbr1j7QS/cc1nY/OgAy/9gY36WtPWI=;
        b=duGi6ChPks1NvHE4h27ex6WPEMMvNMfP2+x1WIy3UlfnGH2+Ij/4ZlcNxSKIhDBKgA
         AdExmMYXJqNS+04U5BXXrD9W2a/oNousIf/in9oBon62M20O8c2aO4pcc33gXfSIfZcM
         ZsJMLvXFwkaOJqcJPYE0xpeVRDqaiVpFEmU11bf+f0Yu2gwlZyYDlKcfZ0ZUhzXhfdwL
         jI2PWs860DotTqcJz0yrRMxRkztlWDc0q4iyfPL0XJyVY4JKHxOb/P0aMgkfNx8x1AvS
         oHNQ5kLrxeZ/N+FMoSYvUWKGjg25o5/JdntYq3MqIcj3ok7/rE18x5ADMXdqNqhipiFK
         WT1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678206098;
        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=3KZYphWhdVAnvWbr1j7QS/cc1nY/OgAy/9gY36WtPWI=;
        b=jJ6T2SZWKR1vUK09zHrzkJGXdntSpLf7MWuOxV5RylutAwblMh4gjR9JAFNXNOdwzN
         csTTxtLUP3DKltuUIo2oLHkR1pMlSZxlAXHaBChbBXIfCn+7TO+q+iosbyEwPN+EA3jo
         n8BSY3en29Ip9xNUrj/p6Ckal8zSF3GMsqly8a13gpTaI/EbcuthOnVtoyUB+L6ZCHSW
         JY4S6+ZalJfDxcQp597W7OuWdxpOVpWXPltHWYQ104dJCJ+YyIrlxlK0sCIpI+S35gT4
         jWjUBCQrlOtGLqlnXFmPeBdGCykA/e6N3XgKzzLWz8nMxgfIcjzR0sF0UmDn+7Q2K9A2
         Q53w==
X-Gm-Message-State: AO0yUKVr8VM29f4H78w4IlIsiN0kMnBLGG4iAUBg/BNczQ7iYkk7jq9N
	MZFXONsLab5GzqRwdalWrp8=
X-Google-Smtp-Source: AK7set8Pip1A75xuZnNQJFUj1hyUMwO0SBfJbPEaTxxl9w7OUPd+9KViTpH6IT8JdSgOGMaYHrsISw==
X-Received: by 2002:a5d:63c9:0:b0:2c3:d707:7339 with SMTP id c9-20020a5d63c9000000b002c3d7077339mr12850070wrw.6.1678206098214;
        Tue, 07 Mar 2023 08:21:38 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <7c77dee8-a7b6-b41a-bf0a-ddec69ad0d48@xen.org>
Date: Tue, 7 Mar 2023 16:21:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 22/25] hw/xen: Add emulated implementation of
 XenStore operations
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-23-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-23-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Now that we have an internal implementation of XenStore, we can populate
> the xenstore_backend_ops to allow PV backends to talk to it.
> 
> Watches can't be processed with immediate callbacks because that would
> call back into XenBus code recursively. Defer them to a QEMUBH to be run
> as appropriate from the main loop. We use a QEMUBH per XS handle, and it
> walks all the watches (there shouldn't be many per handle) to fire any
> which have pending events. We *could* have done it differently but this
> allows us to use the same struct watch_event as we have for the guest
> side, and keeps things relatively simple.

Yes, it's more consistent with watch events on real Xen this way.

> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/kvm/xen_xenstore.c | 273 ++++++++++++++++++++++++++++++++++++-
>   1 file changed, 269 insertions(+), 4 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:22:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:22:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507583.781278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZa4h-0003M7-3i; Tue, 07 Mar 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 507583.781278; Tue, 07 Mar 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 1pZa4h-0003M0-0v; Tue, 07 Mar 2023 16:22:03 +0000
Received: by outflank-mailman (input) for mailman id 507583;
 Tue, 07 Mar 2023 16: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZa4f-00030b-4J
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:22: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 302b076a-bd04-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 17:22:00 +0100 (CET)
Received: from [2001:8b0:10b:5:640c:634b:db90:9c87]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZa4X-006YTQ-7M; Tue, 07 Mar 2023 16:21: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: 302b076a-bd04-11ed-96b5-2f268f93b82a
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=hkgLMeScvQtXNmP8vLk5y3isKa3UBGhTjKl2IDsGIMk=; b=dpHhUxt6v9QZSravsSg0UVcvhC
	hG1q2ZJdiKnkWM1MFaEGbH39kbqQ2cqNJAfBjV1/kwTAKdH8qLgWfODSS0/+6bsEbxSDrb+sgLoAw
	jEP4pImJoF8V29yfQ9V7Fsz54g5y39VVLV1NcYLq3V4JN8fg9F7T4/GKCgExGIqnWUHPXZH4mU3pH
	7rDTre8QfgjAb1gQjZzZ+4JIFCtaVsb3rId/xFRRiaCO6rTO9bvmFq5ylG7qy9b/e8S48dskLc+wy
	U2TNnMJUjddAjnI0aZrJklZd1GoNAWYJ2EHjPaZxeHB52DIiLHX0jqQ1dbehsHEvPJsa1p45DJm4V
	rc2DEdLw==;
Message-ID: <945564aa2d51aa6cd6f9b179981ca3ded5c94190.camel@infradead.org>
Subject: [RFC PATCH v1 26/25] MAINTAINERS: Add entry for Xen on KVM emulation
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>, Paul Durrant <paul@xen.org>, Joao
 Martins <joao.m.martins@oracle.com>, Ankur Arora
 <ankur.a.arora@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>,
 vikram.garhwal@amd.com, Anthony Perard <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 16:21:52 +0000
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-1-dwmw2@infradead.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-RnOalRUiVwy89vS9fhar"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 MAINTAINERS | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index da29661b37..76b705e467 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -443,6 +443,15 @@ F: target/i386/kvm/
 F: target/i386/sev*
 F: scripts/kvm/vmxcap
=20
+Xen emulation on X86 KVM CPUs
+M: David Woodhouse <dwmw2@infradead.org>
+M: Paul Durrant <paul@xen.org>
+S: Supported
+F: include/sysemu/kvm_xen.h
+F: target/i386/kvm/xen*
+F: hw/i386/kvm/xen*
+F: tests/avocado/xen_guest.py
+
 Guest CPU Cores (other accelerators)
 ------------------------------------
 Overall
--=20
2.34.1



--=-RnOalRUiVwy89vS9fhar
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MTYyMTUyWjAvBgkqhkiG9w0BCQQxIgQgZzQeIAhc
7QQgDi03bxYniNvKTrFfHIOILJ/7Hkuz5CEwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBVepFemNwm0FU05xxDEsdUZauRarZdG4+2
RSoP8lC7x/ZDddIfd4vh77lpEJz1DghzBxrNYqPpPS3DiKdSW2fs2aI/eOUnkqEnmNrdRh3cCB6L
pcpHU7PFRKv9ZL2KxLlYnYvt+72XDin79sjN2AkyBINRmn6dYyDJySqJ8/eYZuF6bwP6SOwwnPXw
lOGbeCGXm8yLRz+P4ILxDVWBTk+Rd+UPo0qWSvRcjKoHIrOl2/pMl3ETEVCAlOTsbHtkeg756fdZ
1ov6F3Hwieh+Pxt0HN75iVJSdu1MEb0TrwWp5OHByz70BuwQEPyyenvTpGYKU4qTjlYRuizb2gXu
Z1jIk0lacuHj2YRCbmZmACjcirSEg+ZsehvpEaD8bnOrUlfG5cSACuqGznDNYcCvtwOHF+MoRuLo
TbxSK2hs+iyGEOodmeAz3hByUA5zQC+O/h3WuAvoMDhpJ1vF9dRFvW3XvIHDk7u592144C8wFbxo
H2bdlgXAIHXw95tHdqax81hAd7vF6FUdpMTG9jrXCJDTpQ9Y7GPAmHDMX5SqisCiXyAvIWGi6yYx
g5B7D334JvUL1LsTs29fJDgN0arJB2sMhBK581LkPX6E9vL3VuJRQpi9AJSrS/ZDn4Aei0qJKCoI
eToYG0vPo0Lmrenw6Xtyxis+STb8c6XQ3Lkwa4f9bwAAAAAAAA==


--=-RnOalRUiVwy89vS9fhar--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:23:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:23:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507589.781289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZa5a-00043h-DV; Tue, 07 Mar 2023 16:22:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507589.781289; Tue, 07 Mar 2023 16:22:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZa5a-00043a-AO; Tue, 07 Mar 2023 16:22:58 +0000
Received: by outflank-mailman (input) for mailman id 507589;
 Tue, 07 Mar 2023 16:22: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZa5Z-0003Ki-Js
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:22:57 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f48674d-bd04-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 17:22:55 +0100 (CET)
Received: from [2001:8b0:10b:5:640c:634b:db90:9c87]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZa5Q-006YZ0-3p; Tue, 07 Mar 2023 16:22:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f48674d-bd04-11ed-a550-8520e6686977
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=nNhyhMhwfXBKddqL0/8UN9Xo0T2a9NXo9/sjONe8BOk=; b=thidL2pmJz3CPwZNpsw2A/39vX
	nuzNNcWhl2EV/b8yasNrtUlJLkdb0o1wrf8/c3a+3qSmY8jf3+qD8sfCNnXFAgYZOU6+7MP5WEUAl
	IDVOo+3839P0hFOi//7y/oNSAR42KpkUyej39+4iD0d6cGbOQ7y3UuS4pa6W/z0uyWPDhJfAvOSRp
	FigLqDsM3HhC54qRAhD5Tds0KfcEYwabPnialtxNISyfExZeNYvoZE3RpcAvESds+uud8rUTdKdYk
	DwAL+ZzLqT4qyhxS3L34es/tYyk+XjtEylHMcGIHDblFlg26DOgNKMBGzWHZSe3WFEKI7d8GWLCVI
	XFq9X8kg==;
Message-ID: <1de346bcc550da15f43c9efe05cb98ea57260df2.camel@infradead.org>
Subject: [RFC PATCH v1 27/25] docs: Update Xen-on-KVM documentation for PV
 disk support
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>, Paul Durrant <paul@xen.org>, Joao
 Martins <joao.m.martins@oracle.com>, Ankur Arora
 <ankur.a.arora@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>,
 vikram.garhwal@amd.com, Anthony Perard <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 16:22:47 +0000
In-Reply-To: <20230302153435.1170111-1-dwmw2@infradead.org>
References: <20230302153435.1170111-1-dwmw2@infradead.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-hMr61SxQiFbEJlG4AHmT"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 docs/system/i386/xen.rst | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/docs/system/i386/xen.rst b/docs/system/i386/xen.rst
index a00523b492..f06765e88c 100644
--- a/docs/system/i386/xen.rst
+++ b/docs/system/i386/xen.rst
@@ -9,6 +9,8 @@ KVM has support for hosting Xen guests, intercepting Xen hy=
percalls and event
 channel (Xen PV interrupt) delivery. This allows guests which expect to be
 run under Xen to be hosted in QEMU under Linux/KVM instead.
=20
+Using the split irqchip is mandatory for Xen support.
+
 Setup
 -----
=20
@@ -17,14 +19,14 @@ accelerator, for example for Xen 4.10:
=20
 .. parsed-literal::
=20
-  |qemu_system| --accel kvm,xen-version=3D0x4000a
+  |qemu_system| --accel kvm,xen-version=3D0x4000a,kernel-irqchip=3Dsplit
=20
 Additionally, virtual APIC support can be advertised to the guest through =
the
 ``xen-vapic`` CPU flag:
=20
 .. parsed-literal::
=20
-  |qemu_system| --accel kvm,xen-version=3D0x4000a --cpu host,+xen_vapic
+  |qemu_system| --accel kvm,xen-version=3D0x4000a,kernel-irqchip=3Dsplit -=
-cpu host,+xen_vapic
=20
 When Xen support is enabled, QEMU changes hypervisor identification (CPUID
 0x40000000..0x4000000A) to Xen. The KVM identification and features are no=
t
@@ -33,11 +35,25 @@ moves to leaves 0x40000100..0x4000010A.
=20
 The Xen platform device is enabled automatically for a Xen guest. This all=
ows
 a guest to unplug all emulated devices, in order to use Xen PV block and n=
etwork
-drivers instead. Note that until the Xen PV device back ends are enabled t=
o work
-with Xen mode in QEMU, that is unlikely to cause significant joy. Linux gu=
ests
-can be dissuaded from this by adding 'xen_emul_unplug=3Dnever' on their co=
mmand
-line, and it can also be noted that AHCI disk controllers are exempt from =
being
-unplugged, as are passthrough VFIO PCI devices.
+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 t=
o 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=3D0x4000a,kernel-irqchip=3Ds=
plit \\
+       -drive file=3D${GUEST_IMAGE},if=3Dnone,id=3Ddisk,file.locking=3Doff=
 -device xen-disk,drive=3Ddisk,vdev=3Dxvda \\
+       -drive file=3D${GUEST_IMAGE},index=3D2,media=3Ddisk,file.locking=3D=
off,if=3Dide
+
+It is necessary to use the pc machine type, as the q35 machine uses AHCI i=
nstead
+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 fro=
m
+umplugging them by adding 'xen_emul_unplug=3Dnever' on their command line.
=20
 Properties
 ----------
--=20
2.34.1



--=-hMr61SxQiFbEJlG4AHmT
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MTYyMjQ3WjAvBgkqhkiG9w0BCQQxIgQg2H3ZM2Q9
3rfKG9QoaBNr2GIOtU55IqxM3ing4YmPNcAwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAh+vEWnRVDD4GADfb+4rZXQ96Ttzo+zyk2
UxO5O9jFh/dN95Y5CvXSkAfPdNoaySvYgYVFNhefUHEhGWCNMq+8MknAM+CJA46o1inuQ6jHNXuh
jWayY+jT7v9yIKaAfifKZfpXmvIanlhLq5xCTCCSlYGEatXm3fXqWp9dbG45XPbpHBKvlsHaB9Sz
FNa3lWgYUeWSIR04HWSLcs3eO/2BwEEXU7cJH4ROeedvluF/J8cG/INqYape05Jr3753UhAzquTC
jIZBJc5aqNxi5WXJfCpBs5/h68G+F6O02uZOrDwWWpeBke2ffT3SbpGIshXurBIYgB7NiOsTYugl
vGiVYJW77IGPs/n21oQY4QLl67MgLEz9MKKhSGGvz8ls03dgaUlhHHoNFwVIjkIh/lC5NuZihwo9
BSOJqA40XAhWaMUdvA9SXDOPkctF7EIekkWB0QJxT9EkRm/40kXHuteUX8eoJSY3dwh2rS+5Yz5e
WWbhr9OG2eiMitgCjySPzYW4z0ajqeYss9gc7xUKveDDIKO0pyV663nt8oBmssxOONhfDx+DJ2vy
BtPh81WD3gKN+1nI5g0tmj3fHbc1AWfu9ioHSxwA0Zt6v59WTlINc3RQC/WnHJUFYDkmH2yvuqm2
vHsssIEoZI+MQAxIFV/8SibG97X8u2FtZF2RPO+6hAAAAAAAAA==


--=-hMr61SxQiFbEJlG4AHmT--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:26:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:26:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507596.781299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZa9I-0004n3-Vg; Tue, 07 Mar 2023 16:26:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507596.781299; Tue, 07 Mar 2023 16:26:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZa9I-0004mw-So; Tue, 07 Mar 2023 16:26:48 +0000
Received: by outflank-mailman (input) for mailman id 507596;
 Tue, 07 Mar 2023 16:26: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZa9H-0004mq-KQ
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:26:47 +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 daaf94dd-bd04-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 17:26:46 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id v16so12790389wrn.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 08:26:46 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 z17-20020a5d44d1000000b002c58ca558b6sm12858433wrr.88.2023.03.07.08.26.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 08:26: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: daaf94dd-bd04-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678206406;
        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=I80iEwAu4TMYHhdsbHIgvh7/mafwHEpwDMpOmPu3VGM=;
        b=L6S4fwA2oOwi/xBrfz6Nnp/KUez6VuoT6LaHwoLXXotSsmAX/KnN+sBsSELQumASdc
         8NcEG0lbHHtfIGO8eSYJmP6PwOLVvOY4jw3gYiGIl+pVoqEj76sncbhv88zjF9h2PI7l
         QR3+4dGeiR8aYULXgy06Ht/Ar2a7sAkkw9nUUN/mA50xzDl3sM85WQN0vWEDOZGX2ZEh
         YHb9MS55LNm38n+fBWSINnRtsflY0OiBdfzKFUhMv3RhUt7TIxcP6su7mV2q818pyElz
         AGhjYgjYtYMT7uxhWylriZ6NKdDzbwbq1c7rB8gGX7q1QWUpUCV8CGtORNJEzjSK5ljA
         sjyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678206406;
        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=I80iEwAu4TMYHhdsbHIgvh7/mafwHEpwDMpOmPu3VGM=;
        b=xuVirrjpQfab2NMgszVkHSJIQLPbGYuY8ePol/V5SJl07yle33gjFHz2QsJY72gRw2
         rbWJ/9dSFLBL8Ci1BOZ96gsCVLmezImu+rp4MYikei30Bqj93zqbRo28Mmeu2P0zmW8s
         1RTOAasZTSaONVvpZxPcvenAR6DWHShB3gE2VP2lSXWpfRE2mDN4+56T50e3wTyRbeSz
         v+TxsvMyGxcgV4kZzOow2pxdSUR/+8SVnN1y2rrWi7biq4gKkrjJdXw4IymLcIPCSr3R
         LjwjpAM0hy4Me4U1KluSW638bRqEqYpah2fdn/NAgbv8sUe2Zg1Q6vkEBq5aF5yL/Van
         +BsA==
X-Gm-Message-State: AO0yUKU5JWYF+Ffy+MSujG+0zMd9XmMGvsluKalAL4U8n/NV1uxV6iKL
	l9le9B5WngWuhPqmRGoEDzA=
X-Google-Smtp-Source: AK7set8zbGsS6LCfp75z+EmFwqCqnXKYjSlzne8m1S5SgKTGCyISo+WRaXxS5E7mGw8oY8cOpmWBzQ==
X-Received: by 2002:adf:ce91:0:b0:2c3:fb3e:ae85 with SMTP id r17-20020adfce91000000b002c3fb3eae85mr10585326wrn.44.1678206406129;
        Tue, 07 Mar 2023 08:26:46 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <827fce11-372f-db65-b15d-6db8373dcf97@xen.org>
Date: Tue, 7 Mar 2023 16:26:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 23/25] hw/xen: Map guest XENSTORE_PFN grant in
 emulated Xenstore
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-24-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-24-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/kvm/xen_xenstore.c | 16 ++++++++++++++++
>   1 file changed, 16 insertions(+)
> 
> diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
> index 028f80499e..f9b7387024 100644
> --- a/hw/i386/kvm/xen_xenstore.c
> +++ b/hw/i386/kvm/xen_xenstore.c
> @@ -21,6 +21,7 @@
>   
>   #include "hw/sysbus.h"
>   #include "hw/xen/xen.h"
> +#include "hw/xen/xen_backend_ops.h"
>   #include "xen_overlay.h"
>   #include "xen_evtchn.h"
>   #include "xen_xenstore.h"
> @@ -34,6 +35,7 @@
>   
>   #include "hw/xen/interface/io/xs_wire.h"
>   #include "hw/xen/interface/event_channel.h"
> +#include "hw/xen/interface/grant_table.h"
>   
>   #define TYPE_XEN_XENSTORE "xen-xenstore"
>   OBJECT_DECLARE_SIMPLE_TYPE(XenXenstoreState, XEN_XENSTORE)
> @@ -66,6 +68,9 @@ struct XenXenstoreState {
>   
>       uint8_t *impl_state;
>       uint32_t impl_state_size;
> +
> +    struct xengntdev_handle *gt;
> +    void *granted_xs;
>   };
>   
>   struct XenXenstoreState *xen_xenstore_singleton;
> @@ -1452,6 +1457,17 @@ int xen_xenstore_reset(void)
>       }
>       s->be_port = err;
>   
> +    /*
> +     * 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
> +     * first place. Map the grant anyway, mostly for cosmetic purposes so
> +     * it *looks* like it's in use in the guest-visible grant table.

Might be useful to stick this text in the commit comment too.

Reviewed-by: Paul Durrant <paul@xen.org>

> +     */
> +    s->gt = qemu_xen_gnttab_open();
> +    uint32_t xs_gntref = GNTTAB_RESERVED_XENSTORE;
> +    s->granted_xs = qemu_xen_gnttab_map_refs(s->gt, 1, xen_domid, &xs_gntref,
> +                                             PROT_READ | PROT_WRITE);
> +
>       return 0;
>   }
>   



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:27:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:27:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507599.781309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaAH-0005JO-A1; Tue, 07 Mar 2023 16:27:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507599.781309; Tue, 07 Mar 2023 16: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 1pZaAH-0005JH-6U; Tue, 07 Mar 2023 16:27:49 +0000
Received: by outflank-mailman (input) for mailman id 507599;
 Tue, 07 Mar 2023 16:27:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cT4f=67=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1pZaAG-0005J4-7U
 for xen-devel@lists.xen.org; Tue, 07 Mar 2023 16:27:48 +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 fd314a8e-bd04-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 17:27:45 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-49-8JjfyWGJMh-pzHJNb1HhRw-1; Tue, 07 Mar 2023 11:27:29 -0500
Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com
 [10.11.54.3])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 953E5109DD1D;
 Tue,  7 Mar 2023 16:22:40 +0000 (UTC)
Received: from localhost (unknown [10.39.195.7])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 88B7C1121330;
 Tue,  7 Mar 2023 16:22: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: fd314a8e-bd04-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678206464;
	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=LP0xoPmabZaoC9r1RZtKU8ht9scARLswjvuaeFwadH8=;
	b=gTYRunYxKIYMG891HwGF1yeA2EVZUA3ZK0W1LkqEP84DVE34nQibO01wZh/qSJbtwQ88oa
	qjHOYT0WF7DCskhsiJkDRwaOncou9JyWNWPocKYcYOGtTe7M87dF6kNGaqZ7hli1RHWuCg
	6t8rwy9YAkC1iM9EIVk/lVUC4DQT2wQ=
X-MC-Unique: 8JjfyWGJMh-pzHJNb1HhRw-1
Date: Tue, 7 Mar 2023 11:22:37 -0500
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH V2] docs: vhost-user: Add Xen specific memory mapping
 support
Message-ID: <20230307162237.GI124259@fedora>
References: <7c3c120bcf2cf023e873800fd3f55239dd302e38.1678100850.git.viresh.kumar@linaro.org>
 <20230306153451.GB51288@fedora>
 <20230307054336.uvky5d7q2qqlxdcv@vireshk-i7>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="nbguWgicIIaPt9yw"
Content-Disposition: inline
In-Reply-To: <20230307054336.uvky5d7q2qqlxdcv@vireshk-i7>
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.3


--nbguWgicIIaPt9yw
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 07, 2023 at 11:13:36AM +0530, Viresh Kumar wrote:
> On 06-03-23, 10:34, Stefan Hajnoczi wrote:
> > On Mon, Mar 06, 2023 at 04:40:24PM +0530, Viresh Kumar wrote:
> > > +Xen mmap description
> > > +^^^^^^^^^^^^^^^^^^^^
> > > +
> > > ++-------+-------+
> > > +| flags | domid |
> > > ++-------+-------+
> > > +
> > > +:flags: 64-bit bit field
> > > +
> > > +- Bit 0 is set for Xen foreign memory memory mapping.
> > > +- Bit 1 is set for Xen grant memory memory mapping.
> > > +- Bit 2 is set if the back-end can directly map additional memory (l=
ike
> > > +  descriptor buffers or indirect descriptors, which aren't part of a=
lready
> > > +  shared memory regions) without the need of front-end sending an ad=
ditional
> > > +  memory region first.
> >=20
> > I don't understand what Bit 2 does. Can you rephrase this? It's unclear
> > to me how additional memory can be mapped without a memory region
> > (especially the fd) is sent?
>=20
> I (somehow) assumed we will be able to use the same file descriptor
> that was shared for the virtqueues memory regions and yes I can see
> now why it wouldn't work or create problems.
>=20
> And I need suggestion now on how to make this work.
>=20
> With Xen grants, the front end receives grant address from the from
> guest kernel, they aren't physical addresses, kind of IOMMU stuff.
>=20
> The back-end gets access for memory regions of the virtqueues alone
> initially.  When the back-end gets a request, it reads the descriptor
> and finds the buffer address, which isn't part of already shared
> regions. The same happens for descriptor addresses in case indirect
> descriptor feature is negotiated.
>=20
> At this point I was thinking maybe the back-end can simply call the
> mmap/ioctl to map the memory, using the file descriptor used for the
> virtqueues.
>=20
> How else can we make this work ? We also need to unmap/remove the
> memory region, as soon as the buffer is processed as the grant address
> won't be relevant for any subsequent request.
>=20
> Should I use VHOST_USER_IOTLB_MSG for this ? I did look at it and I
> wasn't convinced if it was an exact fit. For example it says that a
> memory address reported with miss/access fail should be part of an
> already sent memory region, which isn't the case here.

VHOST_USER_IOTLB_MSG probably isn't necessary because address
translation is not required. It will also reduce performance by adding
extra communication.

Instead, you could change the 1 memory region : 1 mmap relationship that
existing non-Xen vhost-user back-end implementations have. In Xen
vhost-user back-ends, the memory region details (including the file
descriptor and Xen domain id) would be stashed away in back-end when the
front-end adds memory regions. No mmap would be performed upon
VHOST_USER_ADD_MEM_REG or VHOST_USER_SET_MEM_TABLE.

Whenever the back-end needs to do DMA, it looks up the memory region and
performs the mmap + Xen-specific calls:
- A long-lived mmap of the vring is set up when
  VHOST_USER_SET_VRING_ENABLE is received.
- Short-lived mmaps of the indirect descriptors and memory pointed to by
  the descriptors is set up by the virtqueue processing code.

Does this sound workable to you?

Stefan

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

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmQHZM0ACgkQnKSrs4Gr
c8i5EggAg1GeEPUvp+GwY0QihzVnKf+r+lRnlqHwuK0q1FLR6JJV1fNRijZ8krVW
5V3DfLnwR1mMa79qp725qrhLPIi3gwvmF9cflASoGNAAS5IEv9BWiPHB5jPpNNM+
iryUkktHZmXccCvA4VHH2arBKu0NInpWPHYx3xiR3AcX4XO71acWnJ09z7JouNdO
238p6zVatv8npgLHqJEvinlIgvqZ6NHCAyC/JJAhQ3fS/u9+yKVfbFMWHGpiNLsl
2Y/qoHZRyz8aeJfzNP5kQqCSp8Io2SGnsp5Q2GAP6xgHAtLVdWhk8EAgyYdgagWj
t5VNNWpSF7qOKix2kqlSdoYYgJ/myQ==
=4zqx
-----END PGP SIGNATURE-----

--nbguWgicIIaPt9yw--



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:29:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:29:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507602.781319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaBW-0005uG-Kg; Tue, 07 Mar 2023 16:29:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507602.781319; Tue, 07 Mar 2023 16: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 1pZaBW-0005u9-HO; Tue, 07 Mar 2023 16:29:06 +0000
Received: by outflank-mailman (input) for mailman id 507602;
 Tue, 07 Mar 2023 16:29:04 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZaBU-0005tj-OV
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:29:04 +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 2c886c48-bd05-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 17:29:03 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id j2so12715477wrh.9
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 08:29:03 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 c2-20020a5d63c2000000b002c8ed82c56csm13295109wrw.116.2023.03.07.08.29.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 08:29: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: 2c886c48-bd05-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678206543;
        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=c8ddAlTHBUNSR2bNxJW07ioEGpTXoCqR+vwpPP+MbAw=;
        b=jqfLFA4Eo6KW+dzLA5mmFko9S+yhbN343Pj5B74cM5z3miV7pc4udKzMR+7c7t1CxJ
         NcyjUzXsl81EnbHGKnrJjDm/xXczws69lR04kgxH0clbrxAYNOYmN/Pl8/MwGikdoty0
         agymsT/GGuZjPCg5bjqwi2VLyr5w5IadNkbggqXQjXk4mKleQz7zbCLRC6bDN2chaDVF
         m19Z4LlmTA2w7ekPlSIuaciV6SOJ+2sAZTM8pZ3NQJwXz3fN0+/WikqBfhyghQRdKET8
         E4OQPiWX7qMFk5vz0nKXDFBQ9AoFnJ9O4pRtbTnvQJngXkug/Q3NmzpUH15s4Zvw3DOJ
         PMBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678206543;
        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=c8ddAlTHBUNSR2bNxJW07ioEGpTXoCqR+vwpPP+MbAw=;
        b=Alxl1lRksEvkFjOyVjrss4IlO1tVJexupsW2YM27VMN/0LS90i5Brl4DPkWeFdUw4b
         AS7QWv0QDmIlzsya0fUAfelg5T24ufyWRnwMAZdV9YIZNz1pBJ9Ay2o6B1L9cUfJPdG/
         RcdbTvSQbhQd8ZnDUDbB9mUyW7hldx2Dzl1Awg61YYScu92+BYwVH7lbeO4LbLkNfCer
         OZBNPcbtJpC78x4sEPZ34CQzpXA5gTerwATMreR25+9vbr5Gi4FgtEI1sUqVeQPFLBkY
         EZ9XMcq/C/fPfmoDu6RA1iMoA1Dk1gPnglOr3B+mohAuterc2LqXiLghW7HJKFP9EIJZ
         8Wuw==
X-Gm-Message-State: AO0yUKVUP3oPwCmr6AapIrw0Qy2W31DhNtTBkMUaZTfiaibY50vKu9gt
	y2Wbmrt8SvvNK/kMrTL2kzACuprCX2fB4Q==
X-Google-Smtp-Source: AK7set+Uykg24wX57cV5HATWYP9Pi3m1/igUgMzlaXoDtRCqnCQ049TPB17XBWPfdk0NGL4xtLeN5w==
X-Received: by 2002:a5d:5548:0:b0:2c7:2cf4:baff with SMTP id g8-20020a5d5548000000b002c72cf4baffmr10862293wrw.70.1678206543496;
        Tue, 07 Mar 2023 08:29:03 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <8354e562-bbe5-d239-27a8-ed26bf537d5a@xen.org>
Date: Tue, 7 Mar 2023 16:29:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 24/25] hw/xen: Implement soft reset for emulated
 gnttab
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-25-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-25-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> This is only part of it; we will also need to get the PV back end drivers
> to tear down their own mappings (or do it for them, but they kind of need
> to stop using the pointers too).
> 
> Some more work on the actual PV back ends and xen-bus code is going to be
> needed to really make soft reset and migration fully functional, and this
> part is the basis for that.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/kvm/xen_gnttab.c  | 26 ++++++++++++++++++++++++--
>   hw/i386/kvm/xen_gnttab.h  |  1 +
>   target/i386/kvm/xen-emu.c |  5 +++++
>   3 files changed, 30 insertions(+), 2 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:31:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:31:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507605.781329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaDn-0007Pd-1l; Tue, 07 Mar 2023 16:31:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507605.781329; Tue, 07 Mar 2023 16: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 1pZaDm-0007PW-UA; Tue, 07 Mar 2023 16:31:26 +0000
Received: by outflank-mailman (input) for mailman id 507605;
 Tue, 07 Mar 2023 16:31: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZaDl-0007PQ-4X
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:31:25 +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 7f5e32b7-bd05-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 17:31:23 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 o11-20020a05600c4fcb00b003eb33ea29a8so7586569wmq.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 08:31:22 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 j21-20020a05600c075500b003e0238d9101sm13175109wmn.31.2023.03.07.08.31.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 08: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: 7f5e32b7-bd05-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678206682;
        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=l8PPHIiqZxa3L0uXzrMAf95TuF6VyLOpGaQVqR/kzng=;
        b=ShQTB23gTN45msD948o2BBk8KBe9YJifn3GhToqW84Qu3D3E4HeaiuXZHrLlw6SUe3
         H/02Y9dOtBR4N5EQVyG2n9ipP1U/PdYU70K+Id9NNOSczAKuob3DJ9edC0o+IxhnupfS
         8DUJKJ/lhOBY0h+bRKeab7TzwljNwXDLNb5RyK6F3ECP4JzTG8/ZEaJazUJ9F59iB0Tx
         VmyEJCsfLK0AfWhbm/B0zdboBomQDvpfqiZNQYTEmBm9hDcGBLeS5r/GBB6G7gp7510M
         ZDN9NdLVjtbK9R9h9xlv+wjz2KmmZ/fq4MMDNvEjy41LwLd75ag0aPuvA70k/xB3uUqo
         yzhQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678206682;
        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=l8PPHIiqZxa3L0uXzrMAf95TuF6VyLOpGaQVqR/kzng=;
        b=2qR1JZndtXzkhP+WvcDENFa2zNYtduNXK9/kieCM0SUs45cO3uAo6bdch04Gjks5aM
         Y7wA4dNSfbZYBGu2u52oF0c6166XWois4DrQWUnX4xQTdh/wfc7aH5grPjq+vB/h4ni4
         MaCg9IrN6X753WXEMNj+ot36QCBfu4B+oaQVEJs+xjXf0tK7uESCQEoQmim/Xk3rMBDC
         NIt7JTVRh/1lqeWFML/dCgScVBbQk0NTMgfKycRzJzgTUcY+Tkq/WJCMKUs29jhRM597
         Sdy/D0Hfz1wU8TTaMPwPej22y0tPS5Z0kbicnRWU+zNwsibmZcYKoG3SzzvE83WEuijJ
         bZRA==
X-Gm-Message-State: AO0yUKUWSAjjz+PQ6BuZmaEfNtyWF/Gl75cmhD2/XuuLl7uVWPNqhcpY
	YB84BrYAOW+G/amROWyFHhQ=
X-Google-Smtp-Source: AK7set9YFZieeppgaH6M5VkSwbWJwsbmNo2aCJV0mrnxq2RJI0LIPvzDXyCZPWYdggIvhWNebxOjaw==
X-Received: by 2002:a05:600c:4fc2:b0:3eb:37ce:4c3e with SMTP id o2-20020a05600c4fc200b003eb37ce4c3emr13739027wmq.16.1678206682265;
        Tue, 07 Mar 2023 08:31:22 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <3a32f2e4-b45f-ed78-3f0b-acc7050488d5@xen.org>
Date: Tue, 7 Mar 2023 16:31:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 25/25] i386/xen: Initialize Xen backends from
 pc_basic_device_init() for emulation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-26-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230302153435.1170111-26-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/03/2023 15:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Now that all the work is done to enable the PV backends to work without
> actual Xen, instantiate the bus from pc_basic_device_init() for emulated
> mode.
> 
> This allows us finally to launch an emulated Xen guest with PV disk.
> 
>     qemu-system-x86_64 -serial mon:stdio -M q35 -cpu host -display none \
>       -m 1G -smp 2 -accel kvm,xen-version=0x4000a,kernel-irqchip=split \
>       -kernel bzImage -append "console=ttyS0 root=/dev/xvda1" \
>       -drive file=/var/lib/libvirt/images/fedora28.qcow2,if=none,id=disk \
>       -device xen-disk,drive=disk,vdev=xvda
> 
> If we use -M pc instead of q35, we can even add an IDE disk and boot a
> guest image normally through grub. But q35 gives us AHCI and that isn't
> unplugged by the Xen magic, so the guests ends up seeing "both" disks.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/pc.c | 7 +++++++
>   1 file changed, 7 insertions(+)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:32:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:32:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507608.781339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaES-0007uR-9t; Tue, 07 Mar 2023 16:32:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507608.781339; Tue, 07 Mar 2023 16: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 1pZaES-0007uI-6s; Tue, 07 Mar 2023 16:32:08 +0000
Received: by outflank-mailman (input) for mailman id 507608;
 Tue, 07 Mar 2023 16: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZaER-0007oM-0w
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:32:07 +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 994ed4e5-bd05-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 17:32:06 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id k37so8222147wms.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 08:32:06 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 l36-20020a05600c08a400b003eb39e60ec9sm12904679wmp.36.2023.03.07.08.32.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 08:32: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: 994ed4e5-bd05-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678206726;
        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=wo2nyWezgMrUSlQ0ywENZ53M6vCjCPPkUb3T+chO/ow=;
        b=AshgV2GkS3+RJ66KSYKxKsVqzQEIJwVxbG6KKWmadPR8f/xY9MC0l6y1LEJJgG6c2O
         Mm+2WyRKFOB4C70Orht0cDGvuWfgQK4+AJTZamTFkI9TmkfLe9bASReZfLK5rrwAb8iY
         zq4M01CvOlBH9yj/KIX9UZ3JPJDNWpY5WFJUJypWob4T4I38Uk1xlUdXUQ95sYCUBOeX
         DDmQHExGpDdQ37phxvZ5CCxc7Mo7zFOoNbZSziyX8ngYtOcMmdFIAPJymAiOJL7E/M06
         vARZntRkURBnlIc+ZNfMLgZAxHuXz8AB4a30DcX0SzzNph1MBsgV7B1E6tFKCGI+Jefc
         gG3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678206726;
        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=wo2nyWezgMrUSlQ0ywENZ53M6vCjCPPkUb3T+chO/ow=;
        b=5SfDcDSU0VTODSQs3LSamEDx4rr1Oo/lH7TtjYUO7Q/bBWUDb078BsJ7TgrdnU0Qq6
         bZAwmrvjmW2pr/SuOqZuXOLe18pGUsZQAmQpGQUO4chbHfAiEqwBgNNRNseE9HWxL1Id
         AYKbsgoCyFVq2HUBP4ErgCfbDDeigVsJaaOTad6M58olCbwIGADmCFPI5EQ7WR/l7Jlz
         iZyFUwC2mc7kiFgLCo2f0/XwISCCTo/uZOkqrAZgoAJxmdN5FPxvfdakq/AJdjhZNDx8
         +YCX7ZpYOraKhPBTfxVcQPOsHzkYC2BH9qMKAmzqGdZbD9MX9Z+3gxXT9dkwOd5Z2Xy+
         Q9pg==
X-Gm-Message-State: AO0yUKVC5Bvy6B4dpyRgU81dzO6V2WiJT5smnCu7XkiecquvlIvrLRMR
	PN1n5wHS31/qrB2R90JxSc8=
X-Google-Smtp-Source: AK7set/xpPfPLlbGNMfKXMxS/ilt+eY5w31j/giuEfniudx9Hi9/ZBYwx7Pn8FmkseeM0nBv1XRf6g==
X-Received: by 2002:a05:600c:35c6:b0:3eb:42ab:7b5 with SMTP id r6-20020a05600c35c600b003eb42ab07b5mr13836003wmq.1.1678206726019;
        Tue, 07 Mar 2023 08:32:06 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <a40bc7ac-59f8-0b16-fdcb-c7d17234fa55@xen.org>
Date: Tue, 7 Mar 2023 16:32:04 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 26/25] MAINTAINERS: Add entry for Xen on KVM
 emulation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <945564aa2d51aa6cd6f9b179981ca3ded5c94190.camel@infradead.org>
Organization: Xen Project
In-Reply-To: <945564aa2d51aa6cd6f9b179981ca3ded5c94190.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 07/03/2023 16:21, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   MAINTAINERS | 9 +++++++++
>   1 file changed, 9 insertions(+)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:33:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507611.781349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaG6-0008Vy-LV; Tue, 07 Mar 2023 16:33:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507611.781349; Tue, 07 Mar 2023 16:33:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaG6-0008Vr-IG; Tue, 07 Mar 2023 16:33:50 +0000
Received: by outflank-mailman (input) for mailman id 507611;
 Tue, 07 Mar 2023 16:33: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZaG5-0008Vj-Dz
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:33:49 +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 d6397d76-bd05-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 17:33:48 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 l7-20020a05600c1d0700b003eb5e6d906bso7571036wms.5
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 08:33:48 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 l38-20020a05600c1d2600b003dc434b39c7sm3421568wms.0.2023.03.07.08.33.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 08:33: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: d6397d76-bd05-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678206828;
        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=ODFEs4lutUTOCTS0JRQfAjh1n5tVkNHNlTQgykdjlWU=;
        b=euFBFA8ao983NrMKIHWhxAbynR1JGS3jYgumyhV2/wexzrjon0cPEgodhRoTsOo0++
         uEsyiBumQRrttc4yK0Qk/9FBnwlH7oHywmHABJ3QkLWjnRFq52NRQoGoF+fyfYXPumL2
         lW7FFl2aVS+JymtkTW1Ifd3+I3ZE6rnOaT4bEl1ti5d0ublxOzzBpdke4qyCMQZRTpjr
         NC9pfR57CVLdiHfGPNVcB0KhicmBfrQsn2LRWLjC3IBhnGM7UH4aaVmSdxqcNcuD+tu9
         ZgMtMiy0cz4brWk55qszXn5Q/QdkRUnyl2wAcJctr04RofF4+GnRyzAk0/ENkiX7/NfE
         QlIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678206828;
        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=ODFEs4lutUTOCTS0JRQfAjh1n5tVkNHNlTQgykdjlWU=;
        b=ue+qQYcFKCyYUUK9aHKFzCXPphdOe5QyPLgk2GGImCT5sDItmFPsIRW0wkX/Gli8dX
         CD+24UJwriEpamh/2k9FVqI3mRyqf+aZcy/NVlgGuE0JnBvzsMZdFCrpUHVQeuKymeVJ
         PVVLUXm/gh09h1fzlrL3si/TV2L6hbfzBPw5yWMDstCq+FhJ7AVr06OdVv0V3+AbVeQs
         9ykQGQAasYoG2SLEv4ddSdKnuI4t9zQxmp5eRnzkHZFYGNzmSyMv/LaOgAtJygJzSllW
         ArI3AS4sgFd7bQ4ia/pY6ji4blj2EpnDy8YKdlFdDSVQJaGReQFaLF6PvPYtD/Z8QD08
         KEHw==
X-Gm-Message-State: AO0yUKWHIbTF5BiXTScnO1RGQG6+DW79xDJCEK6vXDSonr9U7ymad4yY
	C3XHTrFebwUpXsc5KdunHKQ=
X-Google-Smtp-Source: AK7set9Shid+xe129rlKccGUCdhMNEfOKP/gPOmnbV6whCjg2xYZnzh5gGuDGn58tYqNC8a5Gw9Wxw==
X-Received: by 2002:a05:600c:1906:b0:3eb:3c76:c23c with SMTP id j6-20020a05600c190600b003eb3c76c23cmr13341051wmq.3.1678206828227;
        Tue, 07 Mar 2023 08:33:48 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <9e660371-c77d-1db0-56f0-26c5acfaae9d@xen.org>
Date: Tue, 7 Mar 2023 16:33:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 27/25] docs: Update Xen-on-KVM documentation for PV
 disk support
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <1de346bcc550da15f43c9efe05cb98ea57260df2.camel@infradead.org>
Organization: Xen Project
In-Reply-To: <1de346bcc550da15f43c9efe05cb98ea57260df2.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 07/03/2023 16:22, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   docs/system/i386/xen.rst | 30 +++++++++++++++++++++++-------
>   1 file changed, 23 insertions(+), 7 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:33:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:33:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507612.781359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaGD-0000NE-2C; Tue, 07 Mar 2023 16:33:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507612.781359; Tue, 07 Mar 2023 16: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 1pZaGC-0000N7-UW; Tue, 07 Mar 2023 16:33:56 +0000
Received: by outflank-mailman (input) for mailman id 507612;
 Tue, 07 Mar 2023 16:33: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZaGB-0008Vj-Q0
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:33:55 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d9e521f6-bd05-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 17:33:54 +0100 (CET)
Received: from [2001:8b0:10b:5:640c:634b:db90:9c87]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZaFV-006Z1t-3E; Tue, 07 Mar 2023 16:33: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: d9e521f6-bd05-11ed-96b5-2f268f93b82a
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=lpeUXP8blMJHWOn+sxwfovkQAR/v5O8i2Xc6bCC6eXU=; b=pFVb4D0NdbKl8r2twuV4wTLfc/
	o/glwyobn3WsNKk+m4QQulYZAqbPFu4zx3vnmFsETQ4AUYFgbFrk6MGUGgXKZTy+CCvKydI0oy+l2
	R5Gn9UdwTW36TcL9F0ahMSLWlHtRgvzxAtpOSmCsvEk1ra7b9rFNNmOjEpe42a0pdK1vUOSns7j3Y
	QRZ4FbONBHRqLh88/xjQDtP9tP5m9vnrVCJDwjGZrbpodjTyvy9192RtMu/qt+SSqFIZqn0izXfH8
	bSf+KB1ocpxRbSoX2Lm/bi3Zt8JQ6fBCgXs+vdjUW/uGNUMu0Chgr4FkkZAHVSRrdHclISmNF0Zdu
	oAchl42Q==;
Message-ID: <5f03307a80c33b62380128bf3f638d47eca74357.camel@infradead.org>
Subject: Re: [RFC PATCH v1 07/25] hw/xen: Implement core
 serialize/deserialize methods for xenstore_impl
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org, Juan Quintela <quintela@redhat.com>, "Dr. David
	Alan Gilbert" <dgilbert@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, Paul Durrant <paul@xen.org>, Joao
 Martins <joao.m.martins@oracle.com>, Ankur Arora
 <ankur.a.arora@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>,
 vikram.garhwal@amd.com, Anthony Perard <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 16:33:12 +0000
In-Reply-To: <20230302153435.1170111-8-dwmw2@infradead.org>
References: <20230302153435.1170111-1-dwmw2@infradead.org>
	 <20230302153435.1170111-8-dwmw2@infradead.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-sNyq4Z52C+vLaHvPMNO9"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Thu, 2023-03-02 at 15:34 +0000, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
>=20
> In fact I think we want to only serialize the contents of the domain's
> path in /local/domain/${domid} and leave the rest to be recreated? Will
> defer to Paul for that.
>=20
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>

Paul, your Reviewed-by: on this one is conspicuous in its absence. I
mentioned migration in the cover letter =E2=80=94 this much is working fine=
,
but it's the PV back ends that don't yet work.

I'd quite like to merge the basic serialization/deserialization of
XenStore itself, with the unit tests.

Perhaps we can also set TYPE_XEN_DEVICE or TYPE_XEN_BLOCK_DEVICE to be
unmigratable? Ideally I think we want TYPE_XEN_DEVICE to be
unmigratable by default *unless* the specific device class (including
net and other as we port them from XenLegacyDevice) says otherwise.

Is there a way to do that?

--=-sNyq4Z52C+vLaHvPMNO9
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MTYzMzEyWjAvBgkqhkiG9w0BCQQxIgQgyMB4yh6J
sjhHIPNZSAvFfuUs7ixw0wBWmaTNvNjFbpAwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgADDoSq3dmzec5Klx2crpX4w0yQlJS3h0mZ
sb/zsAygWGjLT3b6MaGsmZk0KafMtMMpGwisMwVxnc7e4giCagtVmjfR+OYM5dLrL2HxtedjnqUI
EPPM0DMuWqfrI9DnWrhdgfk3LHdqMjQbub2sdJuV9koQrtwDciBvmbJ6htMuObYrIqd9YnU75z/F
70Y6rOp1oS9KxhM9d8RAIVne/oOZP1+RH1J+/5osO/xb8AHJCR6yr+Hp5kLh2f/gVutK6W5/VZzs
cQNQxtOYdiK3wPobSGzY0RlOrc1/NhOygPrxQWmZQIJJs4FzkzhPHjqGyZohQLSGWuXkR4/JmIRP
AgTMqXofT54/r77hp6meafR3F6pG4hqFodjz81og+0i361oEEUd0G39EiJlKSjxhIOHFxtlDVijS
wpuPjvbCkToMVl4vj+HxHUBDrgNwgnX9Xv7bEfEDKTSHf47ryyxgEIikEBcbOQLEd7NUFlxu/n/q
KJD1R/9u7f0tnvBQpa7p1EOHQ1PDyNJAROwNj+zvvfu8r/RYH18A5Nk4d4WypeedjvPfP8Em2Hgh
38bic3hTSSM6kjT5FnfVdTbsnXcEFp4GkHFIJM14E6r5F71Oqku2X9b6kRCjwTQ5JOp5xr37FgmJ
GSAYKSylg+bdNUgx87fmG+LX6gAbXqeceqrs03pujgAAAAAAAA==


--=-sNyq4Z52C+vLaHvPMNO9--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:39:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:39:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507621.781368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaLl-0001V1-MB; Tue, 07 Mar 2023 16:39:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507621.781368; Tue, 07 Mar 2023 16: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 1pZaLl-0001Uu-JZ; Tue, 07 Mar 2023 16:39:41 +0000
Received: by outflank-mailman (input) for mailman id 507621;
 Tue, 07 Mar 2023 16:39: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZaLj-0001UX-N3
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:39:39 +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 a59c6db6-bd06-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 17:39:36 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 d41-20020a05600c4c2900b003e9e066550fso7584656wmp.4
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 08:39:36 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 i16-20020a05600c355000b003dc4480df80sm19079797wmq.34.2023.03.07.08.39.34
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 08:39: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: a59c6db6-bd06-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678207176;
        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=L//rXDlKqzEMIkgwZ3oxBiFvOxaRWL3SJBF76UN8nUI=;
        b=gjTI2LnHpSUTYtcVwjHTpPBNJmXLRQXCHoUgY6B17wxb8Y9Oq2K03Cxpw9nRMyIHjI
         r7kstc2Nu9xaP3+KFEqeJmB0VjY/wYRmf9XwsWaYWBQfz6rKRN1OdorZ9VPT79XcMfzr
         ME+bvaAQqxqhq+1ZbcNG7mhLGI0ETvLXcgBwuybwRsyd40hTq5OaeW7XhvSLnPcWw/uv
         s4evxWJCEbe0bwvHXsAFlYNAm+/L+SIoHGG8vzn5tbCLDVAZjF1Vrx1uNdGrZOklb+8z
         gqjH8IP4JsPxTTrZPihTOofvaA+IR6470YIzZTa/o6hO0kVCmW0AQ35l/Mr8s6y4Mn61
         NVbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678207176;
        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=L//rXDlKqzEMIkgwZ3oxBiFvOxaRWL3SJBF76UN8nUI=;
        b=mWhKSMTrqC5+F1rTQa3mQvlEmRzaSLYbJg+2LepoZfymMd6EAWtdFreF4BEG6kX9Ml
         o9tknZLlPGQwXCoNT9HSKhDNcjkA5bfKheXFgOwBFlSg2a1LadBIDTIu/nPhAE/Iyvdh
         bV+krpdFQV8H0FdtDSHpWGNrjy8RsZML400hzL29j5+MdY02BNu96qN4P2msqUaWshg1
         aZoGKi4fgFyDQdSnmR0Ym0rs1/PostiE7aDKljIkwcvUxECvejia90y1Owy9Tc6K0TzE
         Tub6cg6yeXa82n4g/ZIFEXjWoS6r8Uk8u54acPVJDwoF90GO1OTAJyBAAqQUdczJssBQ
         7ZaQ==
X-Gm-Message-State: AO0yUKWemzud9migdO5ZZQJiIFBU3LjqSbL/Oydk1DzrdBZ/4dawW1nV
	6FN0DThgDeyWcsNc5ftqh3M=
X-Google-Smtp-Source: AK7set8jBCCEPQWdi9BtsTQEIBjJwDZXJkCBMeQntK6DMuwwruJy0VyvZVk32HTTVhWJO5C0TGIDEA==
X-Received: by 2002:a05:600c:1c1f:b0:3eb:246d:7efd with SMTP id j31-20020a05600c1c1f00b003eb246d7efdmr12902808wms.2.1678207176053;
        Tue, 07 Mar 2023 08:39:36 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <e1e4f027-25bc-2e1c-4451-b4d304493f16@xen.org>
Date: Tue, 7 Mar 2023 16:39:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 07/25] hw/xen: Implement core serialize/deserialize
 methods for xenstore_impl
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org,
 Juan Quintela <quintela@redhat.com>,
 "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-8-dwmw2@infradead.org>
 <5f03307a80c33b62380128bf3f638d47eca74357.camel@infradead.org>
Organization: Xen Project
In-Reply-To: <5f03307a80c33b62380128bf3f638d47eca74357.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 07/03/2023 16:33, David Woodhouse wrote:
> On Thu, 2023-03-02 at 15:34 +0000, David Woodhouse wrote:
>> From: David Woodhouse <dwmw@amazon.co.uk>
>>
>> In fact I think we want to only serialize the contents of the domain's
>> path in /local/domain/${domid} and leave the rest to be recreated? Will
>> defer to Paul for that.
>>
>> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> 
> Paul, your Reviewed-by: on this one is conspicuous in its absence. I
> mentioned migration in the cover letter — this much is working fine,
> but it's the PV back ends that don't yet work.
> 
> I'd quite like to merge the basic serialization/deserialization of
> XenStore itself, with the unit tests.

The patch is basically ok, I just think the serialization should be 
limited to the guest nodes... filtering out those not owned by xen_domid 
would probably work for that.

> 
> Perhaps we can also set TYPE_XEN_DEVICE or TYPE_XEN_BLOCK_DEVICE to be
> unmigratable? Ideally I think we want TYPE_XEN_DEVICE to be
> unmigratable by default *unless* the specific device class (including
> net and other as we port them from XenLegacyDevice) says otherwise.
> 

Yes, that sounds like a good idea.

> Is there a way to do that?

Not something I've looked into. I'll go look now.

   Paul


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:45:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:45:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507624.781379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaRa-0002xt-At; Tue, 07 Mar 2023 16:45:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507624.781379; Tue, 07 Mar 2023 16:45: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 1pZaRa-0002xm-86; Tue, 07 Mar 2023 16:45:42 +0000
Received: by outflank-mailman (input) for mailman id 507624;
 Tue, 07 Mar 2023 16:45: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZaRZ-0002xg-8p
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:45:41 +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 7e4de450-bd07-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 17:45:40 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id e13so12762351wro.10
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 08:45:40 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 bi25-20020a05600c3d9900b003e89e3284fasm17238951wmb.36.2023.03.07.08.45.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 08: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: 7e4de450-bd07-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678207539;
        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=PUCJfRpYrXa3hmennCAGY+YEYiHIHFS8VjWjYrfABl8=;
        b=qnaUa/I/dBMAkJF5FD9r6rk+SMtRb6wgzitTv5oWBCrsribwdMR7kGxVbuy01FEfIw
         zWps1z5lp9KqGPQysCltLKEHPfOuXl/r5zfcV3Z5BAgjHI5DFudIo9xKQWnaKWKUTyq1
         7U8XvriFUuToj9oiYBqK2GldleGu91Lgo+FLPwtASmsFvu+HsVxnIIB1Z0XmkGEM4oN1
         2UvZlalsLxpDwQ8S9JCsthCJlaKfWhrM8p42y+wd1epfM07dErMu+5R9Si2Rhq/jo7Ub
         RTNyl4FlXRWpi3UwAZUfwz2WxgjCABptazkjcI9/5FqO5LXYjTnZRM+5OLrb1kIG+xLx
         98XA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678207539;
        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=PUCJfRpYrXa3hmennCAGY+YEYiHIHFS8VjWjYrfABl8=;
        b=6j8GCaOoXM01Dzot+m/l3lozCnS0X85RPK1wopAHvhucmU1K26fbRykJVJ254Ty4rp
         EL+endk+Gjf6kWt74OYlGst9oMdY5UlD/9yUytcxsz5PVdXB9H9UeK/o3RlyLwdyWVyD
         v4TYj0Kh3Y7mbawHeFK8j8DgUrgqqs+JXrJlwmu/1rdqvvGN2Io+tTAf17J8JWhfBKub
         03Bejc2B/+OiVg9jUa8Ujq/undTk9BrwZdj7a0pk8nSBb2iQgnOdY2ZNOxczQFGGzzpM
         OTwcdU1/5UyykwswgNr4W14Q1thg9nf+9n2ve8U2y/zVnDalp2irqFUQJ8Pgi5gDlqcS
         WVXw==
X-Gm-Message-State: AO0yUKX74uCHlFe0vi23RLShKY3aVflnXfE4ENyIdiDSZLWQUaq2APwd
	URG47LAuHReDUMyYGh4hPpg=
X-Google-Smtp-Source: AK7set+Ulo8gRwDEUDvXMRkcCF1ujJVtm0HZBUCFKEzw+2d7ysEPC8zYBkw1bLIGRVeh5T6KX5n0iQ==
X-Received: by 2002:a5d:650d:0:b0:2c5:48bd:d494 with SMTP id x13-20020a5d650d000000b002c548bdd494mr11405626wru.29.1678207539667;
        Tue, 07 Mar 2023 08:45:39 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <b9cd15c7-99d1-ff8b-03e5-e77241b13346@xen.org>
Date: Tue, 7 Mar 2023 16:45:38 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 07/25] hw/xen: Implement core serialize/deserialize
 methods for xenstore_impl
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org,
 Juan Quintela <quintela@redhat.com>,
 "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-8-dwmw2@infradead.org>
 <5f03307a80c33b62380128bf3f638d47eca74357.camel@infradead.org>
 <e1e4f027-25bc-2e1c-4451-b4d304493f16@xen.org>
Organization: Xen Project
In-Reply-To: <e1e4f027-25bc-2e1c-4451-b4d304493f16@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 07/03/2023 16:39, Paul Durrant wrote:
> On 07/03/2023 16:33, David Woodhouse wrote:
>> On Thu, 2023-03-02 at 15:34 +0000, David Woodhouse wrote:
>>> From: David Woodhouse <dwmw@amazon.co.uk>
>>>
>>> In fact I think we want to only serialize the contents of the domain's
>>> path in /local/domain/${domid} and leave the rest to be recreated? Will
>>> defer to Paul for that.
>>>
>>> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
>>
>> Paul, your Reviewed-by: on this one is conspicuous in its absence. I
>> mentioned migration in the cover letter — this much is working fine,
>> but it's the PV back ends that don't yet work.
>>
>> I'd quite like to merge the basic serialization/deserialization of
>> XenStore itself, with the unit tests.
> 
> The patch is basically ok, I just think the serialization should be 
> limited to the guest nodes... filtering out those not owned by xen_domid 
> would probably work for that.
> 
>>
>> Perhaps we can also set TYPE_XEN_DEVICE or TYPE_XEN_BLOCK_DEVICE to be
>> unmigratable? Ideally I think we want TYPE_XEN_DEVICE to be
>> unmigratable by default *unless* the specific device class (including
>> net and other as we port them from XenLegacyDevice) says otherwise.
>>
> 
> Yes, that sounds like a good idea.
> 
>> Is there a way to do that?
> 
> Not something I've looked into. I'll go look now.
> 

Maybe calling migrate_add_blocker() in the realize method is the right 
way to achieve this?

   Paul



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:53:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:53:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507628.781389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaYj-0004XB-1S; Tue, 07 Mar 2023 16:53:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507628.781389; Tue, 07 Mar 2023 16:53:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaYi-0004X4-Uw; Tue, 07 Mar 2023 16:53:04 +0000
Received: by outflank-mailman (input) for mailman id 507628;
 Tue, 07 Mar 2023 16: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZaYh-0004Wy-Rs
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:53: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 85e4bf9d-bd08-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 17:53:02 +0100 (CET)
Received: from [2001:8b0:10b:5:640c:634b:db90:9c87]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZaYb-006Zxh-MR; Tue, 07 Mar 2023 16:52: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: 85e4bf9d-bd08-11ed-96b5-2f268f93b82a
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=8QAJtqEl3JrDE0j+ts1sCEndEMDItUqUvzvk9KDukco=; b=cx/0jDuvqOqMFC735AeG/aB21f
	KRL/NcapnUQjbHGerQNN0uXN51QJJOI5tujYkshyBFJ4BuKlrqIculUqOHt0U/GMcDfATLp6AQKzk
	Op+veUT7rjqrPfhWvS8kVIjTVWV/jDPBd6hrDZKJ9vBGP8rsUBkkUsewh8cqfllxey2lNSBDY8+bG
	fgb8O1q1DRhuRK7WRpNzAnZGTxgb2AD3vlIxTgjG2IKv9quOYeQhon/eSK5iHA9PBOzOt4Ot6ShFa
	cUcGA2Eq6tMaLAekNrqVGmTSy97s+B4KfKjowwrkUTOvlmP+zgHzmQ2+d27lcAPCTi6DLV0WtqIcr
	U5nF1Hag==;
Message-ID: <1ab939956031328a9a16fb4e76417e23f292e6ba.camel@infradead.org>
Subject: Re: [RFC PATCH v1 07/25] hw/xen: Implement core
 serialize/deserialize methods for xenstore_impl
From: David Woodhouse <dwmw2@infradead.org>
To: paul@xen.org, qemu-devel@nongnu.org, Juan Quintela
 <quintela@redhat.com>,  "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, Joao Martins
 <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>,  xen-devel@lists.xenproject.org
Date: Tue, 07 Mar 2023 16:52:56 +0000
In-Reply-To: <e1e4f027-25bc-2e1c-4451-b4d304493f16@xen.org>
References: <20230302153435.1170111-1-dwmw2@infradead.org>
	 <20230302153435.1170111-8-dwmw2@infradead.org>
	 <5f03307a80c33b62380128bf3f638d47eca74357.camel@infradead.org>
	 <e1e4f027-25bc-2e1c-4451-b4d304493f16@xen.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-2IMbsYB4D0UAYVqUNWOl"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Tue, 2023-03-07 at 16:39 +0000, Paul Durrant wrote:
> On 07/03/2023 16:33, David Woodhouse wrote:
> > On Thu, 2023-03-02 at 15:34 +0000, David Woodhouse wrote:
> > > From: David Woodhouse <dwmw@amazon.co.uk>
> > >=20
> > > In fact I think we want to only serialize the contents of the domain'=
s
> > > path in /local/domain/${domid} and leave the rest to be recreated? Wi=
ll
> > > defer to Paul for that.
> > >=20
> > > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> >=20
> > Paul, your Reviewed-by: on this one is conspicuous in its absence. I
> > mentioned migration in the cover letter =E2=80=94 this much is working =
fine,
> > but it's the PV back ends that don't yet work.
> >=20
> > I'd quite like to merge the basic serialization/deserialization of
> > XenStore itself, with the unit tests.
>=20
> The patch is basically ok, I just think the serialization should be=20
> limited to the guest nodes... filtering out those not owned by xen_domid=
=20
> would probably work for that.

Yeah, so let's just do this (as part of this patch #7) for now:

--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -235,6 +235,7 @@ static int xen_xenstore_post_load(void *opaque, int
ver)
=20
 static const VMStateDescription xen_xenstore_vmstate =3D {
     .name =3D "xen_xenstore",
+    .unmigratable =3D 1, /* The PV back ends don't migrate yet */
     .version_id =3D 1,
     .minimum_version_id =3D 1,
     .needed =3D xen_xenstore_is_needed,


It means we can't migrate guests even if they're only using fully
emulated devices... but I think that's a reasonable limitation until we
implement it fully.



--=-2IMbsYB4D0UAYVqUNWOl
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MTY1MjU2WjAvBgkqhkiG9w0BCQQxIgQgx+3IQtT1
emsAKrdHJOKEenFh+2XirI6v4+6rFi15xa0wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBpez8PJqeaTWKSvqIjFPUTqscccmrxMUlI
WsYNiIGRcd2YCtJDjV/60uwfVQDYjQHxef5/q1ihfoKe8xCQ5H0ZUw1XyMTNkRFqgPGfJxHNJfwA
Eumd31DwE3EC56RSeWrvd1dUYQwqWHZpG2aJO7bs84cgc9CwVPWInFXr53j0Mlp1P8Ci+XJLqucL
NqayAahQSf4ypFvSrix8psBk1JS7o5NHD3K/8xqYzFS8pFnCzSQyeEAQdAeUciOEMUz34PNhnBgB
8y2Mk1/rt+jLmzIvWEXik2WKjOzhLno3ZnqlbDCteHxxB8nivZgIMZWixOOklIMibevJP0teqZqj
mhNLPXfXXrEvR+iDf2hsdD3ZsyI947yj7U3+iJKGDCXmft4bOp/GoUCVAWv0sjfHQCvxYmgWyTLm
3DzLKLxFYSuE5OUc7KWp6vs5DjiG2RGNTz3dWSTpuXyxb3ZXBpuP7mpZxYHQd/ubdB1pomOafRKz
EOwAcc+ZeCkREXfQeLUq8ceLU/86T3N+1wzCfO3QUAb4HaRoXySjTBdH5E0EDNPHlGPfTijMAyqq
/V5ZkoKB72pZJme19ElnRTZQZdyaASldUQEdtP8CECt2hn1dTdfqISLPFICitupxoPLCkWHoMxH8
bKSUht7J2EN9G/PYtG4clZOYfekmRDkeCXfCKIawpAAAAAAAAA==


--=-2IMbsYB4D0UAYVqUNWOl--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:55:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:55:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507635.781398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZab7-0005B4-J8; Tue, 07 Mar 2023 16:55:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507635.781398; Tue, 07 Mar 2023 16:55: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 1pZab7-0005Ax-Ga; Tue, 07 Mar 2023 16:55:33 +0000
Received: by outflank-mailman (input) for mailman id 507635;
 Tue, 07 Mar 2023 16:55: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=4ndv=67=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZab6-0005Ap-Bh
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:55:32 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id de82a871-bd08-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 17:55:31 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7298.eurprd04.prod.outlook.com (2603:10a6:20b:1df::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Tue, 7 Mar
 2023 16:55:29 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Tue, 7 Mar 2023
 16:55: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: de82a871-bd08-11ed-96b5-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RVG6GXWvK2XpN4XRro9vmRpubiIGok93uNtnWHZd+mhOVfUE9f+XcZj05BOvOq6yeFAq/FrqkwROTn4KVVB98/ffNjIytcdzQCS1zeqRzt6BG6Naeze4nMFIIJq7mvPrbk7mLaphA8ZoB838NXpoJwwRBFmdB8AK62ll7dEOthRkGSFfdm8Za8pAEZAaf1aRtMhk6yFHHLt44TZUf/36/JMGWccOA513jTUPX1GbInwXZFkr6SJOBcjNlPWP9OvawhKXU5E1d+bMwAPzDKTVvL7JS3KzqKuhAe4DfLvuojrfgDYWYrIAhSKZ7m2lSMboW1BXA0Ke0ugnh7T9v46lcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RaoeVogFuJ2E497MlnfWpCYFKBn8otA3ia/LOL1N1uU=;
 b=BeklafaMvGZEN1/O3qxvwSQyXFOcXXSbu9a9nIcuthAv/rLP1VW2phBqyBpumEDiEH1q98ZkxX6m60LnVD0rBJbDhDCRalGxeu3SLIsnyOH7dNtt5O+YNUVU6F0NnQ91JAgThb7UGbhCEnDz4X53QRs1d+tF6nvtAvsbBBRdNPXoVUqjcHx5b9UdqdOWQ+/Xp/mPiUiBSnMKhqbwlK2IwE7NySg78FfKVA9pSIRuJKfa0vZQHHJbb9A2tm95v1w+Gu4yKQAKj1PjfI6KsnA496n/8XtAcwbZ8awurq2rUUBNCn5CYl1CksPk8nGYw7eWPXc+dQiyHGqvuprmdFxCZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RaoeVogFuJ2E497MlnfWpCYFKBn8otA3ia/LOL1N1uU=;
 b=Btm0i0K4eEaa+7ka19wPkvsWpDSDYDQnB5mBWslo4I45qDWEmLPy9JwedylBOyC59F40fBY7gdUSA/lndG7pki6f+zCh9Vd8A0l7PDV2e/PV+0In5HJzA2slhIXv07moUjYx+9o01EXhwlt7wiEtr13fenUUYw4oqszmKgPWV0QBpridIfl3JiH0IYlmdDcbUub0PWUrPaP+cfpqXH1QamaHYndF6o0/f9V7HYyXPTgHMNncOG8mW7dEUDYIVGgtLYfbJETHnZxf2TnsW2RLweQdPeSiEzskMlPYYmvJZXHFioLTcIVCN1EIEp7LLVwf9x9Zb+AOUvKJtPz7whi/4w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <29630f27-3de9-ea1a-de2f-f9c8449da2ab@suse.com>
Date: Tue, 7 Mar 2023 17:55:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC PATCH v2 1/2] xen/memory : Add a stats_table resource type
Content-Language: en-US
To: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
Cc: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
 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>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1665138677.git.matias.vara@vates.fr>
 <af6032c9f5863b7e6fb183a0a197407ec92bb067.1665138677.git.matias.vara@vates.fr>
 <b59b6466-8d06-f7af-beb9-3c38c638a455@suse.com>
 <3aa736d3-b833-0c6c-2a41-71cc4b953aae@suse.com>
 <20230217085006.GA2281468@horizon>
 <7e79d20d-0922-565a-e46d-e3366c0bcfb4@suse.com>
 <20230217092948.GA2282871@horizon>
 <9864e936-5c77-a790-e36c-766d5359cd83@suse.com>
 <20230223121647.GA3260113@horizon>
 <496b1fd7-4540-66c6-be89-51f20a6666ab@suse.com>
 <20230307144427.GA997565@horizon>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230307144427.GA997565@horizon>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0093.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7298:EE_
X-MS-Office365-Filtering-Correlation-Id: b9834b90-f886-4419-9ca9-08db1f2cc16d
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:
	0CHeuRlFW3PngrummR1yCvHFd6GKMI20nmfcytR4umMFvXqy5rGyZoJaEjh97a3sPLnn1iM1mqsUz4nmAYTYA7RTnMxlVJ9350HtKpuLOS4+1vUzVpszM1PMIDd/tIOi4Mgm7havyQy7ruITHYsNAzI+mr2O+Qo1w/ZrXDnglIzahwQvLNE42pLRLiwcYbIAkQxA9ndpEx0bEx7deGDn2jcoDN4MkwLdo/CiJyw4aMv+RRaptHpNCgI335e1fKZ5qCW4znyfA22quERocUmog/cHH4vSotPVD1WXaspN4Bz2N+pmbdUq8Ikn2jc2/ohuWwS7xnHe7UA7FrgSPUdPYqre3IB3wxoslAabNlCtI41L4OnXOl9BsEYisCfCNV6penuWSCmU3x6a4D7vsiqjDe+NTLtEfr2bUoQmo7/l1hzrBz3PW4A5r68V8d/KwqHWRC2MXhzdfmVRj2iZGpnps7NFyniTdyN/S8b1cH7ZzcCNkfS/khR0y8ryQny08FZmg+cfdfTYOkj+WaYM5hQsTSxUT8qGUVO6mhtkObBFE+EviuJQ7lPctWHLD4dkH89vGPzFDUgGctjXlawZU7SH7G/O2lC5MhVtAgBnLwTFXVm5345aMha3LyU5SU7bsGPj4j3frZCmO2KjRvPCg+eoRyvA1rEivzTg5+ewQQyO9/MYJcKsZsi6fo1OOJrS9i7K/s5fMuCFEQ9aiOxLGCrMbS6425qZi5zWkbKWk7DzJ/w=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(376002)(346002)(39860400002)(136003)(366004)(451199018)(2906002)(186003)(5660300002)(6666004)(38100700002)(6916009)(66946007)(8676002)(41300700001)(66476007)(4326008)(8936002)(66556008)(6512007)(478600001)(26005)(53546011)(2616005)(36756003)(316002)(54906003)(86362001)(31696002)(83380400001)(6486002)(31686004)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bmU3a0FuVXpuWEswYW8xVE9uZ04wbGt6RkFTVHNwQ0xhZW5rNk04ZTE1bmox?=
 =?utf-8?B?OU5ENjVlUFc5TVU2UHBqSE9OcjJNbG1TSFFUeEU0SlBZdm1NN3JMVzlQU1cr?=
 =?utf-8?B?WUlHM0hmMHlDQk5Rdy82TlE1TVh0Z3dhYm93b292KythTmlqWERLbVZieU4v?=
 =?utf-8?B?am5Cc0JuQVhLSFJwRlNzd0x0SlBLWjR0ckVFUmZFMVRLNWpaSStVdEJ6MTE1?=
 =?utf-8?B?N0dvOUdkQVFueEpjRGJKRWRSZ1hhNmR3dHE2UjZFbUZMb3lYZWNZL2RRek9W?=
 =?utf-8?B?alNGNEM5NjlNMXMrMFNkcGkrQjM4Q0t4anV0TDZKNi9UeEl6U1J1STM5cVZp?=
 =?utf-8?B?allIYXN5WUlkbG9sR0g1Uk0rOG43VnA1MnNhRzN2Zlo5dEd6M3dtNUZ1ejZF?=
 =?utf-8?B?SlNEanFNT3plQnJWN0VBT21UNkFYTzFQS2p6aXhCQUxYRmpGcmRpenVMazJz?=
 =?utf-8?B?ZzhmN0hYenBXeDJyMEI2dW5XMld3RzFJK05pb0kvZXZNWEMwUDF4ODgrVmtE?=
 =?utf-8?B?VlU3VTRLL1FwZi9nTGo2MW51RVhKQWJJZUZGR0w5SFdCYmtvM29NVklGYWV6?=
 =?utf-8?B?YUcyUWhYRThRdkN0eXNLTXZ5WFNFSEFORUJreE1naUY3MnR0RDVVZVZwaUlo?=
 =?utf-8?B?UWp2L2Jkd0RuZkNDeGJkWWZpRGZ2OU8veWU4SndPaVl3L01QOUtCSnNPbWVP?=
 =?utf-8?B?RURoL2hIak9rRTBKcWluMm5UaWVUMkwrcWNxNGZvdER6b2t6RWx1cXIzT0RU?=
 =?utf-8?B?cEhraXZtWjBxeENLeTRBZVZObVY4a0lEVlUrSW1KNG53SEFQcDZYOVNFOW1j?=
 =?utf-8?B?STZ3aStEcENvSVJ5ODc3ZjZsRnk3ak44c09wampWZWV3R202U25uVkowaWVH?=
 =?utf-8?B?WnU2dzVnbU9CaHZaMWNrWmo0SnA4aWo2aFROTjJtUnViamZTcEFISS9zemxS?=
 =?utf-8?B?bkdqbnlPSVpaK0EydWQrZmVoTDl2MUhmV01XaVltZkJBMmxEVDN0bWVjRnlB?=
 =?utf-8?B?OFVuU3R6c3pMWGFjdFlyRUlFMjRxUk9MTDZieVNpMVRaUmpMYkJKVkN3aFRi?=
 =?utf-8?B?T2JDT1Z1MVl3NU43Mk9VbjhIZGhmbnlBU0hrUmVPazFMRjFSYTlqTUpKc1cy?=
 =?utf-8?B?SGg0eUIwZXRZUHUvSzdzenludU9YL05MMmlCM1V3L1dtdit0NHl6Qmhlb2N4?=
 =?utf-8?B?dUVvS3AzVjNqTHhsZU5LdVNpVnhZaENUKzdNU2tmWHhhWFd4ZkRxUlcrR1k0?=
 =?utf-8?B?QWtBSTB3d3ZweHhVbHlpTGsyNDh0T3dhTGhkM1NZUFVIaFdEN0FCMGxUa2VH?=
 =?utf-8?B?a1JxY01zektvdlpZMDFyYU9La1lVY09kdFQ3WlVaOWlZZzVBaXpNM1I0elRx?=
 =?utf-8?B?Yk9QT1M4anRkbk1PdE9EbFNZL0crd2RUTGtmeExPbUVSNXI5YzlEYUwwTHNr?=
 =?utf-8?B?WXNxMW9FclE0em5wSzhhRTlSbGY1dkZHS0JZazE4cjN2OHdRaWg5ME11WUlt?=
 =?utf-8?B?VVJnSnpzckY1Q3pscDkwWWZUNEIyc3BRS1ZUR1JXOHhyRlBrb3pneE5XbEhY?=
 =?utf-8?B?eHdjLzVtWjUrL2FORkhpb3Q2L0RZWlYySEdmTk9PeW4xUVdFM1c3aFhMMVZG?=
 =?utf-8?B?Z0Z5dW95ZEZ1T1l4b2tiMXk2cnowc0tKZUtmUnFKQmkzNDRmc3lFLzcxUXB5?=
 =?utf-8?B?R0RRL3hPdDhIaWNRRTVKOE1GV1RtNUxpajZwcmlyYk14c09NVkVJajgvaUlY?=
 =?utf-8?B?dVZCbzloeXR6T0FZYis5RktXNzMxUkNpd0ptT2pzRklOakRkUE9VR1Q1U20x?=
 =?utf-8?B?VzFWUlRRWWpDNkRCUGpkanRxM0kybThBakUvUHVkSlZ2TWU3ckxNNzdzS3Ew?=
 =?utf-8?B?Wm1odUlUeDA3andEaW9WVEJWdHhObXB4OTczMHJSRUgzK25PL0oxdThUVnB0?=
 =?utf-8?B?dXlRUVg4aXRMZDBRSDVrbTlTLzJoeVBabzM1aGxnNzh3a3NIS0ZVdDEwUFR3?=
 =?utf-8?B?MWhMM3BCbHVIQy90RXRIRUczUDlVdnhuQlp4L1NVbHQ3L1lBeWsxYlU2STJm?=
 =?utf-8?B?SmVIa2hmZDFCQ3Q2QVYrc1RZZXZPL3Y2NzVQNXFjNHVHUTZrVUQ1c0Jad3E0?=
 =?utf-8?Q?zey/1CPE8fn+3MhhNCkcvndCu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b9834b90-f886-4419-9ca9-08db1f2cc16d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 16:55:29.0390
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bbhyPjKLkfyKJe/41AGsy6TVXGbu3vE1bQ72RX3Osl4Nynd3I5PXvFfth+4Cnamop+bQIyp9fHccjfEH8cGwTg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7298

On 07.03.2023 15:44, Matias Ezequiel Vara Larsen wrote:
> On Thu, Feb 23, 2023 at 01:42:08PM +0100, Jan Beulich wrote:
>> On 23.02.2023 13:16, Matias Ezequiel Vara Larsen wrote:
>>> On Fri, Feb 17, 2023 at 03:10:53PM +0100, Jan Beulich wrote:
>>>> On 17.02.2023 10:29, Matias Ezequiel Vara Larsen wrote:
>>>>> On Fri, Feb 17, 2023 at 09:57:43AM +0100, Jan Beulich wrote:
>>>>>> On 17.02.2023 09:50, Matias Ezequiel Vara Larsen wrote:
>>>>>>> On Wed, Dec 14, 2022 at 08:56:57AM +0100, Jan Beulich wrote:
>>>>>>>> On 14.12.2022 08:29, Jan Beulich wrote:
>>>>>>>>> On 07.10.2022 14:39, Matias Ezequiel Vara Larsen wrote:
>>>>>>>>>> +static int stats_vcpu_alloc_mfn(struct domain *d)
>>>>>>>>>> +{
>>>>>>>>>> +    struct page_info *pg;
>>>>>>>>>> +
>>>>>>>>>> +    pg = alloc_domheap_page(d, MEMF_no_refcount);
>>>>>>>>>
>>>>>>>>> The ioreq and vmtrace resources are also allocated this way, but they're
>>>>>>>>> HVM-specific. The one here being supposed to be VM-type independent, I'm
>>>>>>>>> afraid such pages will be accessible by an "owning" PV domain (it'll
>>>>>>>>> need to guess the MFN, but that's no excuse).
>>>>>>>>
>>>>>>>> Which might be tolerable if it then can't write to the page. That would
>>>>>>>> require "locking" the page r/o (from guest pov), which ought to be
>>>>>>>> possible by leveraging a variant of what share_xen_page_with_guest()
>>>>>>>> does: It marks pages PGT_none with a single type ref. This would mean
>>>>>>>> ...
>>>>>>>>
>>>>>>>>>> +    if ( !pg )
>>>>>>>>>> +        return -ENOMEM;
>>>>>>>>>> +
>>>>>>>>>> +    if ( !get_page_and_type(pg, d, PGT_writable_page) ) {
>>>>>>>>
>>>>>>>> ... using PGT_none here. Afaict this _should_ work, but we have no
>>>>>>>> precedent of doing so in the tree, and I may be overlooking something
>>>>>>>> which prevents that from working.
>>>>>>>>
>>>>>>>
>>>>>>> I do not fully understand this. I checked share_xen_page_with_guest() and I
>>>>>>> think you're talking about doing something like this for each allocated page to
>>>>>>> set them ro from a pv guest pov:
>>>>>>>
>>>>>>> pg->u.inuse.type_info = PGT_none;
>>>>>>> pg->u.inuse.type_info |= PGT_validated | 1;
>>>>>>> page_set_owner(page, d); // not sure if this is needed
>>>>>>>
>>>>>>> Then, I should use PGT_none instead of PGT_writable_page in
>>>>>>> get_page_and_type(). Am I right?
>>>>>>
>>>>>> No, if at all possible you should avoid open-coding anything. As said,
>>>>>> simply passing PGT_none to get_page_and_type() ought to work (again, as
>>>>>> said, unless I'm overlooking something). share_xen_page_with_guest()
>>>>>> can do what it does because the page isn't owned yet. For a page with
>>>>>> owner you may not fiddle with type_info in such an open-coded manner.
>>>>>>
>>>>>
>>>>> Thanks. I got the following bug when passing PGT_none:
>>>>>
>>>>> (XEN) Bad type in validate_page 0 t=0000000000000001 c=8040000000000002
>>>>> (XEN) Xen BUG at mm.c:2643
>>>>
>>>> The caller of the function needs to avoid the call not only for writable
>>>> and shared pages, but also for this new case of PGT_none.
>>>
>>> Thanks. If I understand correctly, _get_page_type() needs to avoid to call
>>> validate_page() when type = PGT_none.
>>
>> Yes.
>>
>>> For the writable and shared pages, this
>>> is avoided by setting nx |= PGT_validated. Am I right?
>>
>> Well, no, I wouldn't describe it like that. The two (soon three) types not
>> requiring validation simply set the flag without calling validate_page().
>>
> 
> I see, thanks. I added the corresponding check at _get_page_type() to set the
> flag without calling validate_page() for the PGT_none type. I think I am
> missing something when I am releasing the pages. I am triggering the following
> BUG() when issuing put_page_and_type():
>  
> (XEN) Xen BUG at mm.c:2698
> 
> This is at devalidate_page(). I guess the call to devalidate_page() shall be
> also avoided.

Well, yes, symmetry requires a change there as well. Here it's indirect:
You want to avoid the call to _put_final_page_type(). That's enclosed by
(nx & PGT_type_mask) <= PGT_l4_page_table, which happens to be true for
PGT_none as well. There may be more instances of such a comparison, so
it'll be necessary to find them and check whether they may now also be
reached with PGT_none (looks like a comparison against PGT_root_page_table
in _get_page_type() is also affected, albeit in a largely benign way).

> I was wondering if put_page_and_type() is required in this case.

It is, or some equivalent thereof. Again - see other examples where a
similar allocation pattern exists.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 16:59:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 16:59:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507641.781409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaez-0005v3-55; Tue, 07 Mar 2023 16:59:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507641.781409; Tue, 07 Mar 2023 16: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 1pZaez-0005uw-2I; Tue, 07 Mar 2023 16:59:33 +0000
Received: by outflank-mailman (input) for mailman id 507641;
 Tue, 07 Mar 2023 16: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZaex-0005uq-Nw
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 16:59:31 +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 6cbd9138-bd09-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 17:59:29 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id e13so12805346wro.10
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 08:59:29 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 c18-20020a5d4cd2000000b002c551f7d452sm13378718wrt.98.2023.03.07.08.59.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 08: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: 6cbd9138-bd09-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678208369;
        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=FP/kP9sLcpCuLCw0esZoAmg3jKAAmnrlfS+QSo9YyCw=;
        b=MvOB5b+1KMpQB3yysitnKHhLEb3b2Bv7lHUgfyzXLnywW/ObXguSKIk4RM5p3l6M84
         c6mnKNCmagmgMIiAgszyrdFuN5fnTEmznbWXIdS8fUE5m5kxCTlExaZpH7L1t61Mzla8
         8tZMA6o+bdTKOn7sXUpmDCb85Fe2vG1hks0PQCfcqBp8lUq8x4wI6Q7zXyu2SxbRkK9C
         gm6RVuSzD2GPCjsTZiE8WWsuEOag6oQZ3DIVzvIClMRUPyXLgDzNUsTshOMVqdSNQITN
         HQK1RpR/43rEpMl2bQ9rll0x+2Fmm6V6jjLQrQKvvU8yfIhdGohdP5Lb7QK0wfvg+3vs
         WPSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678208369;
        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=FP/kP9sLcpCuLCw0esZoAmg3jKAAmnrlfS+QSo9YyCw=;
        b=GeBTOwPwTVG4K7OhU3b8BJdVK1/mfnWY9UUBVNJZvRosMEYDPXQ/ns9W8cXRcWWCXv
         pRKBQhtRYKFyKdBnzBe38SnQ3dnmqve3TpXGSgU0kX0QqHlcxq8HCvdaac4HQxpQ0fSH
         DK9L89PwBGibEr6doIfv1EaECd3NFKJZDTLYJT75OIxTkAd2kLDELeS7HWRFUL/euaRf
         cSMXnRNUwUF01cdp/pHUV/Ewcu+FvdZ8Wgn/ECzRCsVBq19ht3JlqX1dBfOHRloyTgFI
         E00NcXbxNpQem+MBdN6rXXEVLZC4ekU10npWihYhmz0L9qtFdeBk2TR79EqH7f+8o50S
         PPPA==
X-Gm-Message-State: AO0yUKW13zJXMTMI8xFydrxTy6/uUbKWEckYDsc3Jx5LFZUljh61Fb0m
	bkhT5ZxzEVb9x0f6IRG2Sh0=
X-Google-Smtp-Source: AK7set+t/WQFpoA92F2tLgxx4+F1P6LExXIvvbui9CFAkZ48Rz/j1Z8RbWBn/5wh1yoEdzOO1FCiSA==
X-Received: by 2002:a5d:457c:0:b0:2ce:5106:36ee with SMTP id a28-20020a5d457c000000b002ce510636eemr7359301wrc.27.1678208369023;
        Tue, 07 Mar 2023 08:59:29 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <335a946a-6eae-00e6-b30f-142522cc4c26@xen.org>
Date: Tue, 7 Mar 2023 16:59:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 07/25] hw/xen: Implement core serialize/deserialize
 methods for xenstore_impl
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org,
 Juan Quintela <quintela@redhat.com>,
 "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-8-dwmw2@infradead.org>
 <5f03307a80c33b62380128bf3f638d47eca74357.camel@infradead.org>
 <e1e4f027-25bc-2e1c-4451-b4d304493f16@xen.org>
 <1ab939956031328a9a16fb4e76417e23f292e6ba.camel@infradead.org>
Organization: Xen Project
In-Reply-To: <1ab939956031328a9a16fb4e76417e23f292e6ba.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 07/03/2023 16:52, David Woodhouse wrote:
> On Tue, 2023-03-07 at 16:39 +0000, Paul Durrant wrote:
>> On 07/03/2023 16:33, David Woodhouse wrote:
>>> On Thu, 2023-03-02 at 15:34 +0000, David Woodhouse wrote:
>>>> From: David Woodhouse <dwmw@amazon.co.uk>
>>>>
>>>> In fact I think we want to only serialize the contents of the domain's
>>>> path in /local/domain/${domid} and leave the rest to be recreated? Will
>>>> defer to Paul for that.
>>>>
>>>> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
>>>
>>> Paul, your Reviewed-by: on this one is conspicuous in its absence. I
>>> mentioned migration in the cover letter — this much is working fine,
>>> but it's the PV back ends that don't yet work.
>>>
>>> I'd quite like to merge the basic serialization/deserialization of
>>> XenStore itself, with the unit tests.
>>
>> The patch is basically ok, I just think the serialization should be
>> limited to the guest nodes... filtering out those not owned by xen_domid
>> would probably work for that.
> 
> Yeah, so let's just do this (as part of this patch #7) for now:
> 
> --- a/hw/i386/kvm/xen_xenstore.c
> +++ b/hw/i386/kvm/xen_xenstore.c
> @@ -235,6 +235,7 @@ static int xen_xenstore_post_load(void *opaque, int
> ver)
>   
>   static const VMStateDescription xen_xenstore_vmstate = {
>       .name = "xen_xenstore",
> +    .unmigratable = 1, /* The PV back ends don't migrate yet */
>       .version_id = 1,
>       .minimum_version_id = 1,
>       .needed = xen_xenstore_is_needed,
> 
> 
> It means we can't migrate guests even if they're only using fully
> emulated devices... but I think that's a reasonable limitation until we
> implement it fully.
> 

Ok. With that added...

Revieweed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:00:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:00:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507644.781419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZafw-0007I3-FD; Tue, 07 Mar 2023 17:00:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507644.781419; Tue, 07 Mar 2023 17: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 1pZafw-0007Hw-CT; Tue, 07 Mar 2023 17:00:32 +0000
Received: by outflank-mailman (input) for mailman id 507644;
 Tue, 07 Mar 2023 17:00: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZafu-0007Ho-TK
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:00: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 90be248c-bd09-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:00:30 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 t25-20020a1c7719000000b003eb052cc5ccso10858649wmi.4
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 09:00:30 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 o33-20020a05600c512100b003e209186c07sm20143602wms.19.2023.03.07.09.00.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 09:00: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: 90be248c-bd09-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678208429;
        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=GUDIygacfCGVR8fGo1IJ3EdUPNHwyAGo+roo8APTsNk=;
        b=ph1sfvMxY+XZesLpU7cO7ml/bRJUJG2DNJ7+XYzCof2Z2t+1m3vq5apYJFeYV7Aice
         zfSv7AUvd+MEntffGDYCodsF89eozNPxKdE5O/3ShJU/Fzsb7Cjs7sRdVxhfNb/eT1rX
         mOK2EcUqV6oBobYdaqtKv7z1VtoVpokXETVoOQvlhI75I8/DLXAcGlNz3ZypvOcfAcNs
         PJ/wyx/Y7Agnp3QZHEUuD0wojqHtujpfhaWhd7tGgCc6wVWvWA/gHKTSTZ+5ErvcIVRK
         skFzghgn8xvfJaC9naklym9POMszOYVbhrQwjFxOaIy0GuO/NytKp+xJN76mz/pWdKkL
         i02g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678208429;
        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=GUDIygacfCGVR8fGo1IJ3EdUPNHwyAGo+roo8APTsNk=;
        b=iyzoD4k55CZCR9qFw0aUdnNPUfdlzq0Ane5GcC9JqGqnBFSTXNIQ3c6MqRoemT99+m
         23qTmN+Q/C5y7qLyDiCK8CjhTT/pxcq8sTXOT7yrjk/TIcKrrsGkQRy0QCfTLKWaKiE+
         9HnVxjAuMco5vxPRfmlS2uVu7pa6pmYITBRkcrfMh6qalPf/znqu1umBxi0TRPwGTeiR
         r6DmM+ejOnOWx+TYZa5dydcWo6C14BqKhkp59zQ0q9nrS2av3ysqSU9X/x7hmzfGh9nJ
         GZtHmwml38TKDsMjUZjOCcy0x1rK/KJH5ET7BjCb4DqogPa9McUgPVDUQcnmp6JPPMjZ
         OCLw==
X-Gm-Message-State: AO0yUKUsPdpsvvw55GEV0u9B2Ca2HDvGdwT15wSQ6NBQMVwNc3EANC59
	5ocNRZpImrVROQixChqfa78=
X-Google-Smtp-Source: AK7set88xSK51uoh3VVvDUs/jOF+Gr5Ee1CiOxaq5zxqImeG9T02U2YrY4P93URvNhWTORPq7ylJaw==
X-Received: by 2002:a05:600c:4751:b0:3eb:578d:decb with SMTP id w17-20020a05600c475100b003eb578ddecbmr12283511wmo.28.1678208429602;
        Tue, 07 Mar 2023 09:00:29 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <c97bd1cd-5540-bfb0-0fda-68d2cb6254d0@xen.org>
Date: Tue, 7 Mar 2023 17:00:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [RFC PATCH v1 07/25] hw/xen: Implement core serialize/deserialize
 methods for xenstore_impl
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org,
 Juan Quintela <quintela@redhat.com>,
 "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230302153435.1170111-1-dwmw2@infradead.org>
 <20230302153435.1170111-8-dwmw2@infradead.org>
 <5f03307a80c33b62380128bf3f638d47eca74357.camel@infradead.org>
 <e1e4f027-25bc-2e1c-4451-b4d304493f16@xen.org>
 <1ab939956031328a9a16fb4e76417e23f292e6ba.camel@infradead.org>
 <335a946a-6eae-00e6-b30f-142522cc4c26@xen.org>
Organization: Xen Project
In-Reply-To: <335a946a-6eae-00e6-b30f-142522cc4c26@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 07/03/2023 16:59, Paul Durrant wrote:
> On 07/03/2023 16:52, David Woodhouse wrote:
>> On Tue, 2023-03-07 at 16:39 +0000, Paul Durrant wrote:
>>> On 07/03/2023 16:33, David Woodhouse wrote:
>>>> On Thu, 2023-03-02 at 15:34 +0000, David Woodhouse wrote:
>>>>> From: David Woodhouse <dwmw@amazon.co.uk>
>>>>>
>>>>> In fact I think we want to only serialize the contents of the domain's
>>>>> path in /local/domain/${domid} and leave the rest to be recreated? 
>>>>> Will
>>>>> defer to Paul for that.
>>>>>
>>>>> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
>>>>
>>>> Paul, your Reviewed-by: on this one is conspicuous in its absence. I
>>>> mentioned migration in the cover letter — this much is working fine,
>>>> but it's the PV back ends that don't yet work.
>>>>
>>>> I'd quite like to merge the basic serialization/deserialization of
>>>> XenStore itself, with the unit tests.
>>>
>>> The patch is basically ok, I just think the serialization should be
>>> limited to the guest nodes... filtering out those not owned by xen_domid
>>> would probably work for that.
>>
>> Yeah, so let's just do this (as part of this patch #7) for now:
>>
>> --- a/hw/i386/kvm/xen_xenstore.c
>> +++ b/hw/i386/kvm/xen_xenstore.c
>> @@ -235,6 +235,7 @@ static int xen_xenstore_post_load(void *opaque, int
>> ver)
>>   static const VMStateDescription xen_xenstore_vmstate = {
>>       .name = "xen_xenstore",
>> +    .unmigratable = 1, /* The PV back ends don't migrate yet */
>>       .version_id = 1,
>>       .minimum_version_id = 1,
>>       .needed = xen_xenstore_is_needed,
>>
>>
>> It means we can't migrate guests even if they're only using fully
>> emulated devices... but I think that's a reasonable limitation until we
>> implement it fully.
>>
> 
> Ok. With that added...
> 
> Revieweed-by: Paul Durrant <paul@xen.org>

Typoed, sorry...

Reviewed-by: Paul Durrant <paul@xen.org>

> 



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507647.781428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZawu-0000bS-V7; Tue, 07 Mar 2023 17:18:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507647.781428; Tue, 07 Mar 2023 17: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 1pZawu-0000bL-SL; Tue, 07 Mar 2023 17:18:04 +0000
Received: by outflank-mailman (input) for mailman id 507647;
 Tue, 07 Mar 2023 17:18:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZaws-0000az-L6
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 03123a0f-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:01 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZawk-006axf-1j; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009chO-0F; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 03123a0f-bd0c-11ed-96b5-2f268f93b82a
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=0E400xq9eyjPpQs8f/JfkPvcDe4VR1r79BDrhDwRCtg=; b=S+1p+2lB/6nyzWVhW7N8Cw4oHf
	yw3rtOg/BRZsgJxIcMRzHUyxlJPpu9WU6i8qkWScpBajA1NKeSyJ8Gn8dYGZvmleELmtSp+kg075L
	MoKaCiWFB0A2XvRFDSRhj+ubVGFDNsPf/kaD5ajp5x6mx7cQErpOQmOuQb9anAcDkMEgZuEQ1Liu2
	5WAul0/sUr7jnXckTRw5ijY8cix4sqdLFxgD1s5mQozQv1HirEVt+kMcVkLi2LXeuG3X/m/2hWfg5
	vPRnLJWMJzYCxKrFJO6RqpsJ+7HPh88TUj0YVh+7uXfKOhc9HJQXSIIdrjApLLaM+X0AWU8NP744k
	zQnpZqPQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 14/27] hw/xen: Move xenstore_store_pv_console_info to xen_console.c
Date: Tue,  7 Mar 2023 17:17:37 +0000
Message-Id: <20230307171750.2293175-15-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>

There's no need for this to be in the Xen accel code, and as we want to
use the Xen console support with KVM-emulated Xen we'll want to have a
platform-agnostic version of it. Make it use GString to build up the
path while we're at it.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 accel/xen/xen-all.c   | 61 -------------------------------------------
 hw/char/xen_console.c | 45 +++++++++++++++++++++++++++++--
 include/hw/xen/xen.h  |  2 --
 3 files changed, 43 insertions(+), 65 deletions(-)

diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index 425216230f..2d51c41e40 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -29,67 +29,6 @@ xc_interface *xen_xc;
 xenforeignmemory_handle *xen_fmem;
 xendevicemodel_handle *xen_dmod;
 
-static int store_dev_info(int domid, Chardev *cs, const char *string)
-{
-    struct xs_handle *xs = NULL;
-    char *path = NULL;
-    char *newpath = NULL;
-    char *pts = NULL;
-    int ret = -1;
-
-    /* Only continue if we're talking to a pty. */
-    if (!CHARDEV_IS_PTY(cs)) {
-        return 0;
-    }
-    pts = cs->filename + 4;
-
-    /* We now have everything we need to set the xenstore entry. */
-    xs = xs_open(0);
-    if (xs == NULL) {
-        fprintf(stderr, "Could not contact XenStore\n");
-        goto out;
-    }
-
-    path = xs_get_domain_path(xs, domid);
-    if (path == NULL) {
-        fprintf(stderr, "xs_get_domain_path() error\n");
-        goto out;
-    }
-    newpath = realloc(path, (strlen(path) + strlen(string) +
-                strlen("/tty") + 1));
-    if (newpath == NULL) {
-        fprintf(stderr, "realloc error\n");
-        goto out;
-    }
-    path = newpath;
-
-    strcat(path, string);
-    strcat(path, "/tty");
-    if (!xs_write(xs, XBT_NULL, path, pts, strlen(pts))) {
-        fprintf(stderr, "xs_write for '%s' fail", string);
-        goto out;
-    }
-    ret = 0;
-
-out:
-    free(path);
-    xs_close(xs);
-
-    return ret;
-}
-
-void xenstore_store_pv_console_info(int i, Chardev *chr)
-{
-    if (i == 0) {
-        store_dev_info(xen_domid, chr, "/console");
-    } else {
-        char buf[32];
-        snprintf(buf, sizeof(buf), "/device/console/%d", i);
-        store_dev_info(xen_domid, chr, buf);
-    }
-}
-
-
 static void xenstore_record_dm_state(const char *state)
 {
     struct xs_handle *xs;
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index ad8638a86d..c7a19c0e7c 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -173,6 +173,48 @@ static void xencons_send(struct XenConsole *con)
 
 /* -------------------------------------------------------------------- */
 
+static int store_con_info(struct XenConsole *con)
+{
+    Chardev *cs = qemu_chr_fe_get_driver(&con->chr);
+    char *pts = NULL;
+    char *dom_path;
+    GString *path;
+    int ret = -1;
+
+    /* Only continue if we're talking to a pty. */
+    if (!CHARDEV_IS_PTY(cs)) {
+        return 0;
+    }
+    pts = cs->filename + 4;
+
+    dom_path = qemu_xen_xs_get_domain_path(xenstore, xen_domid);
+    if (!dom_path) {
+        return 0;
+    }
+
+    path = g_string_new(dom_path);
+    free(dom_path);
+
+    if (con->xendev.dev) {
+        g_string_append_printf(path, "/device/console/%d", con->xendev.dev);
+    } else {
+        g_string_append(path, "/console");
+    }
+    g_string_append(path, "/tty");
+
+    if (xenstore_write_str(con->console, path->str, pts)) {
+        fprintf(stderr, "xenstore_write_str for '%s' fail", path->str);
+        goto out;
+    }
+    ret = 0;
+
+out:
+    g_string_free(path, true);
+    free(path);
+
+    return ret;
+}
+
 static int con_init(struct XenLegacyDevice *xendev)
 {
     struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
@@ -215,8 +257,7 @@ static int con_init(struct XenLegacyDevice *xendev)
                          &error_abort);
     }
 
-    xenstore_store_pv_console_info(con->xendev.dev,
-                                   qemu_chr_fe_get_driver(&con->chr));
+    store_con_info(con);
 
 out:
     g_free(type);
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index 03983939f9..56b1c2a827 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -39,8 +39,6 @@ int xen_is_pirq_msi(uint32_t msi_data);
 
 qemu_irq *xen_interrupt_controller_init(void);
 
-void xenstore_store_pv_console_info(int i, Chardev *chr);
-
 void xen_register_framebuffer(struct MemoryRegion *mr);
 
 #endif /* QEMU_HW_XEN_H */
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507656.781506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZax0-0002Of-Lx; Tue, 07 Mar 2023 17:18:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507656.781506; Tue, 07 Mar 2023 17: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 1pZax0-0002Lw-9J; Tue, 07 Mar 2023 17:18:10 +0000
Received: by outflank-mailman (input) for mailman id 507656;
 Tue, 07 Mar 2023 17: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZawx-0000az-AJ
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:07 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03b46039-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:02 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZawk-006axc-0J; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009chK-03; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 03b46039-bd0c-11ed-96b5-2f268f93b82a
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=CSUW5QTKrBhNjvACfw85vRZYDYV84DrUj4rWYgkN2Oo=; b=GKOFJYGnaJh7eIOz34aOFQXCy9
	nwHzhODUFpkXAM8HfSyhPlNOzzHcea0hT/BbrxuzTzy0M22os8v8ymtrRvQzvG+ff2IyREGSPA3Wl
	A97iKe1T3ewQEXFk7lVJYc/Y5g+ovnLOX2dA3VKbp3wbtJ/8Qxz6bOUMNQrydkq/b9LijxuXUlXt3
	QVdl2CrZrU+cxDbylVDx1/1DvMmR3RVhxe2O1pJ6TRA5gvonAk/XSsQ7vPMl7ttej63e4BvuvaakS
	H0ykFybz+3aJb6hJk5QVxaoFqTFxxO9KUu5IDblq0dPmHStzjm9UL8HuNCkU+aw8vOdTx1ezGbSyE
	lZDZB7eA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 13/27] hw/xen: Add xenstore operations to allow redirection to internal emulation
Date: Tue,  7 Mar 2023 17:17:36 +0000
Message-Id: <20230307171750.2293175-14-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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: Paul Durrant <pdurrant@amazon.com>

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 accel/xen/xen-all.c                 |  11 +-
 hw/char/xen_console.c               |   2 +-
 hw/i386/kvm/xen_xenstore.c          |   3 -
 hw/i386/kvm/xenstore_impl.h         |   8 +-
 hw/xen/xen-bus-helper.c             |  62 +++----
 hw/xen/xen-bus.c                    | 261 ++++------------------------
 hw/xen/xen-legacy-backend.c         | 119 +++++++------
 hw/xen/xen-operations.c             | 198 +++++++++++++++++++++
 hw/xen/xen_devconfig.c              |   4 +-
 hw/xen/xen_pt_graphics.c            |   1 -
 hw/xen/xen_pvdev.c                  |  49 +-----
 include/hw/xen/xen-bus-helper.h     |  26 +--
 include/hw/xen/xen-bus.h            |  17 +-
 include/hw/xen/xen-legacy-backend.h |   6 +-
 include/hw/xen/xen_backend_ops.h    | 163 +++++++++++++++++
 include/hw/xen/xen_common.h         |   1 -
 include/hw/xen/xen_pvdev.h          |   2 +-
 softmmu/globals.c                   |   1 +
 18 files changed, 525 insertions(+), 409 deletions(-)

diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index e85e4aeba5..425216230f 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -90,12 +90,15 @@ void xenstore_store_pv_console_info(int i, Chardev *chr)
 }
 
 
-static void xenstore_record_dm_state(struct xs_handle *xs, const char *state)
+static void xenstore_record_dm_state(const char *state)
 {
+    struct xs_handle *xs;
     char path[50];
 
+    /* We now have everything we need to set the xenstore entry. */
+    xs = xs_open(0);
     if (xs == NULL) {
-        error_report("xenstore connection not initialized");
+        fprintf(stderr, "Could not contact XenStore\n");
         exit(1);
     }
 
@@ -109,6 +112,8 @@ static void xenstore_record_dm_state(struct xs_handle *xs, const char *state)
         error_report("error recording dm state");
         exit(1);
     }
+
+    xs_close(xs);
 }
 
 
@@ -117,7 +122,7 @@ static void xen_change_state_handler(void *opaque, bool running,
 {
     if (running) {
         /* record state running */
-        xenstore_record_dm_state(xenstore, "running");
+        xenstore_record_dm_state("running");
     }
 }
 
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index e9cef3e1ef..ad8638a86d 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -181,7 +181,7 @@ static int con_init(struct XenLegacyDevice *xendev)
     const char *output;
 
     /* setup */
-    dom = xs_get_domain_path(xenstore, con->xendev.dom);
+    dom = qemu_xen_xs_get_domain_path(xenstore, con->xendev.dom);
     if (!xendev->dev) {
         snprintf(con->console, sizeof(con->console), "%s/console", dom);
     } else {
diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index fb3648a058..35898e9b37 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -38,9 +38,6 @@
 #define TYPE_XEN_XENSTORE "xen-xenstore"
 OBJECT_DECLARE_SIMPLE_TYPE(XenXenstoreState, XEN_XENSTORE)
 
-#define XEN_PAGE_SHIFT 12
-#define XEN_PAGE_SIZE (1ULL << XEN_PAGE_SHIFT)
-
 #define ENTRIES_PER_FRAME_V1 (XEN_PAGE_SIZE / sizeof(grant_entry_v1_t))
 #define ENTRIES_PER_FRAME_V2 (XEN_PAGE_SIZE / sizeof(grant_entry_v2_t))
 
diff --git a/hw/i386/kvm/xenstore_impl.h b/hw/i386/kvm/xenstore_impl.h
index bbe2391e2e..0df2a91aae 100644
--- a/hw/i386/kvm/xenstore_impl.h
+++ b/hw/i386/kvm/xenstore_impl.h
@@ -12,13 +12,7 @@
 #ifndef QEMU_XENSTORE_IMPL_H
 #define QEMU_XENSTORE_IMPL_H
 
-typedef uint32_t xs_transaction_t;
-
-#define XBT_NULL 0
-
-#define XS_PERM_NONE  0x00
-#define XS_PERM_READ  0x01
-#define XS_PERM_WRITE 0x02
+#include "hw/xen/xen_backend_ops.h"
 
 typedef struct XenstoreImplState XenstoreImplState;
 
diff --git a/hw/xen/xen-bus-helper.c b/hw/xen/xen-bus-helper.c
index 5a1e12b374..b2b2cc9c5d 100644
--- a/hw/xen/xen-bus-helper.c
+++ b/hw/xen/xen-bus-helper.c
@@ -10,6 +10,7 @@
 #include "hw/xen/xen-bus.h"
 #include "hw/xen/xen-bus-helper.h"
 #include "qapi/error.h"
+#include "trace.h"
 
 #include <glib/gprintf.h>
 
@@ -46,34 +47,28 @@ const char *xs_strstate(enum xenbus_state state)
     return "INVALID";
 }
 
-void xs_node_create(struct xs_handle *xsh, xs_transaction_t tid,
-                    const char *node, struct xs_permissions perms[],
-                    unsigned int nr_perms, Error **errp)
+void xs_node_create(struct qemu_xs_handle *h, xs_transaction_t tid,
+                    const char *node, unsigned int owner, unsigned int domid,
+                    unsigned int perms, Error **errp)
 {
     trace_xs_node_create(node);
 
-    if (!xs_write(xsh, tid, node, "", 0)) {
+    if (!qemu_xen_xs_create(h, tid, owner, domid, perms, node)) {
         error_setg_errno(errp, errno, "failed to create node '%s'", node);
-        return;
-    }
-
-    if (!xs_set_permissions(xsh, tid, node, perms, nr_perms)) {
-        error_setg_errno(errp, errno, "failed to set node '%s' permissions",
-                         node);
     }
 }
 
-void xs_node_destroy(struct xs_handle *xsh, xs_transaction_t tid,
+void xs_node_destroy(struct qemu_xs_handle *h, xs_transaction_t tid,
                      const char *node, Error **errp)
 {
     trace_xs_node_destroy(node);
 
-    if (!xs_rm(xsh, tid, node)) {
+    if (!qemu_xen_xs_destroy(h, tid, node)) {
         error_setg_errno(errp, errno, "failed to destroy node '%s'", node);
     }
 }
 
-void xs_node_vprintf(struct xs_handle *xsh, xs_transaction_t tid,
+void xs_node_vprintf(struct qemu_xs_handle *h, xs_transaction_t tid,
                      const char *node, const char *key, Error **errp,
                      const char *fmt, va_list ap)
 {
@@ -86,7 +81,7 @@ void xs_node_vprintf(struct xs_handle *xsh, xs_transaction_t tid,
 
     trace_xs_node_vprintf(path, value);
 
-    if (!xs_write(xsh, tid, path, value, len)) {
+    if (!qemu_xen_xs_write(h, tid, path, value, len)) {
         error_setg_errno(errp, errno, "failed to write '%s' to '%s'",
                          value, path);
     }
@@ -95,18 +90,18 @@ void xs_node_vprintf(struct xs_handle *xsh, xs_transaction_t tid,
     g_free(path);
 }
 
-void xs_node_printf(struct xs_handle *xsh,  xs_transaction_t tid,
+void xs_node_printf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                     const char *node, const char *key, Error **errp,
                     const char *fmt, ...)
 {
     va_list ap;
 
     va_start(ap, fmt);
-    xs_node_vprintf(xsh, tid, node, key, errp, fmt, ap);
+    xs_node_vprintf(h, tid, node, key, errp, fmt, ap);
     va_end(ap);
 }
 
-int xs_node_vscanf(struct xs_handle *xsh,  xs_transaction_t tid,
+int xs_node_vscanf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                    const char *node, const char *key, Error **errp,
                    const char *fmt, va_list ap)
 {
@@ -115,7 +110,7 @@ int xs_node_vscanf(struct xs_handle *xsh,  xs_transaction_t tid,
 
     path = (strlen(node) != 0) ? g_strdup_printf("%s/%s", node, key) :
         g_strdup(key);
-    value = xs_read(xsh, tid, path, NULL);
+    value = qemu_xen_xs_read(h, tid, path, NULL);
 
     trace_xs_node_vscanf(path, value);
 
@@ -133,7 +128,7 @@ int xs_node_vscanf(struct xs_handle *xsh,  xs_transaction_t tid,
     return rc;
 }
 
-int xs_node_scanf(struct xs_handle *xsh,  xs_transaction_t tid,
+int xs_node_scanf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                   const char *node, const char *key, Error **errp,
                   const char *fmt, ...)
 {
@@ -141,42 +136,35 @@ int xs_node_scanf(struct xs_handle *xsh,  xs_transaction_t tid,
     int rc;
 
     va_start(ap, fmt);
-    rc = xs_node_vscanf(xsh, tid, node, key, errp, fmt, ap);
+    rc = xs_node_vscanf(h, tid, node, key, errp, fmt, ap);
     va_end(ap);
 
     return rc;
 }
 
-void xs_node_watch(struct xs_handle *xsh, const char *node, const char *key,
-                   char *token, Error **errp)
+struct qemu_xs_watch *xs_node_watch(struct qemu_xs_handle *h, const char *node,
+                                    const char *key, xs_watch_fn fn,
+                                    void *opaque, Error **errp)
 {
     char *path;
+    struct qemu_xs_watch *w;
 
     path = (strlen(node) != 0) ? g_strdup_printf("%s/%s", node, key) :
         g_strdup(key);
 
     trace_xs_node_watch(path);
 
-    if (!xs_watch(xsh, path, token)) {
+    w = qemu_xen_xs_watch(h, path, fn, opaque);
+    if (!w) {
         error_setg_errno(errp, errno, "failed to watch node '%s'", path);
     }
 
     g_free(path);
+
+    return w;
 }
 
-void xs_node_unwatch(struct xs_handle *xsh, const char *node,
-                     const char *key, const char *token, Error **errp)
+void xs_node_unwatch(struct qemu_xs_handle *h, struct qemu_xs_watch *w)
 {
-    char *path;
-
-    path = (strlen(node) != 0) ? g_strdup_printf("%s/%s", node, key) :
-        g_strdup(key);
-
-    trace_xs_node_unwatch(path);
-
-    if (!xs_unwatch(xsh, path, token)) {
-        error_setg_errno(errp, errno, "failed to unwatch node '%s'", path);
-    }
-
-    g_free(path);
+    qemu_xen_xs_unwatch(h, w);
 }
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index aee6a8c9b0..9fe54967d4 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -62,7 +62,7 @@ static void xen_device_unplug(XenDevice *xendev, Error **errp)
 
     /* Mimic the way the Xen toolstack does an unplug */
 again:
-    tid = xs_transaction_start(xenbus->xsh);
+    tid = qemu_xen_xs_transaction_start(xenbus->xsh);
     if (tid == XBT_NULL) {
         error_setg_errno(errp, errno, "failed xs_transaction_start");
         return;
@@ -80,7 +80,7 @@ again:
         goto abort;
     }
 
-    if (!xs_transaction_end(xenbus->xsh, tid, false)) {
+    if (!qemu_xen_xs_transaction_end(xenbus->xsh, tid, false)) {
         if (errno == EAGAIN) {
             goto again;
         }
@@ -95,7 +95,7 @@ abort:
      * We only abort if there is already a failure so ignore any error
      * from ending the transaction.
      */
-    xs_transaction_end(xenbus->xsh, tid, true);
+    qemu_xen_xs_transaction_end(xenbus->xsh, tid, true);
 }
 
 static void xen_bus_print_dev(Monitor *mon, DeviceState *dev, int indent)
@@ -111,143 +111,6 @@ static char *xen_bus_get_dev_path(DeviceState *dev)
     return xen_device_get_backend_path(XEN_DEVICE(dev));
 }
 
-struct XenWatch {
-    char *node, *key;
-    char *token;
-    XenWatchHandler handler;
-    void *opaque;
-    Notifier notifier;
-};
-
-static void watch_notify(Notifier *n, void *data)
-{
-    XenWatch *watch = container_of(n, XenWatch, notifier);
-    const char *token = data;
-
-    if (!strcmp(watch->token, token)) {
-        watch->handler(watch->opaque);
-    }
-}
-
-static XenWatch *new_watch(const char *node, const char *key,
-                           XenWatchHandler handler, void *opaque)
-{
-    XenWatch *watch = g_new0(XenWatch, 1);
-    QemuUUID uuid;
-
-    qemu_uuid_generate(&uuid);
-
-    watch->token = qemu_uuid_unparse_strdup(&uuid);
-    watch->node = g_strdup(node);
-    watch->key = g_strdup(key);
-    watch->handler = handler;
-    watch->opaque = opaque;
-    watch->notifier.notify = watch_notify;
-
-    return watch;
-}
-
-static void free_watch(XenWatch *watch)
-{
-    g_free(watch->token);
-    g_free(watch->key);
-    g_free(watch->node);
-
-    g_free(watch);
-}
-
-struct XenWatchList {
-    struct xs_handle *xsh;
-    NotifierList notifiers;
-};
-
-static void watch_list_event(void *opaque)
-{
-    XenWatchList *watch_list = opaque;
-    char **v;
-    const char *token;
-
-    v = xs_check_watch(watch_list->xsh);
-    if (!v) {
-        return;
-    }
-
-    token = v[XS_WATCH_TOKEN];
-
-    notifier_list_notify(&watch_list->notifiers, (void *)token);
-
-    free(v);
-}
-
-static XenWatchList *watch_list_create(struct xs_handle *xsh)
-{
-    XenWatchList *watch_list = g_new0(XenWatchList, 1);
-
-    g_assert(xsh);
-
-    watch_list->xsh = xsh;
-    notifier_list_init(&watch_list->notifiers);
-    qemu_set_fd_handler(xs_fileno(watch_list->xsh), watch_list_event, NULL,
-                        watch_list);
-
-    return watch_list;
-}
-
-static void watch_list_destroy(XenWatchList *watch_list)
-{
-    g_assert(notifier_list_empty(&watch_list->notifiers));
-    qemu_set_fd_handler(xs_fileno(watch_list->xsh), NULL, NULL, NULL);
-    g_free(watch_list);
-}
-
-static XenWatch *watch_list_add(XenWatchList *watch_list, const char *node,
-                                const char *key, XenWatchHandler handler,
-                                void *opaque, Error **errp)
-{
-    ERRP_GUARD();
-    XenWatch *watch = new_watch(node, key, handler, opaque);
-
-    notifier_list_add(&watch_list->notifiers, &watch->notifier);
-
-    xs_node_watch(watch_list->xsh, node, key, watch->token, errp);
-    if (*errp) {
-        notifier_remove(&watch->notifier);
-        free_watch(watch);
-
-        return NULL;
-    }
-
-    return watch;
-}
-
-static void watch_list_remove(XenWatchList *watch_list, XenWatch *watch,
-                              Error **errp)
-{
-    xs_node_unwatch(watch_list->xsh, watch->node, watch->key, watch->token,
-                    errp);
-
-    notifier_remove(&watch->notifier);
-    free_watch(watch);
-}
-
-static XenWatch *xen_bus_add_watch(XenBus *xenbus, const char *node,
-                                   const char *key, XenWatchHandler handler,
-                                   Error **errp)
-{
-    trace_xen_bus_add_watch(node, key);
-
-    return watch_list_add(xenbus->watch_list, node, key, handler, xenbus,
-                          errp);
-}
-
-static void xen_bus_remove_watch(XenBus *xenbus, XenWatch *watch,
-                                 Error **errp)
-{
-    trace_xen_bus_remove_watch(watch->node, watch->key);
-
-    watch_list_remove(xenbus->watch_list, watch, errp);
-}
-
 static void xen_bus_backend_create(XenBus *xenbus, const char *type,
                                    const char *name, char *path,
                                    Error **errp)
@@ -261,15 +124,15 @@ static void xen_bus_backend_create(XenBus *xenbus, const char *type,
     trace_xen_bus_backend_create(type, path);
 
 again:
-    tid = xs_transaction_start(xenbus->xsh);
+    tid = qemu_xen_xs_transaction_start(xenbus->xsh);
     if (tid == XBT_NULL) {
         error_setg(errp, "failed xs_transaction_start");
         return;
     }
 
-    key = xs_directory(xenbus->xsh, tid, path, &n);
+    key = qemu_xen_xs_directory(xenbus->xsh, tid, path, &n);
     if (!key) {
-        if (!xs_transaction_end(xenbus->xsh, tid, true)) {
+        if (!qemu_xen_xs_transaction_end(xenbus->xsh, tid, true)) {
             error_setg_errno(errp, errno, "failed xs_transaction_end");
         }
         return;
@@ -300,7 +163,7 @@ again:
 
     free(key);
 
-    if (!xs_transaction_end(xenbus->xsh, tid, false)) {
+    if (!qemu_xen_xs_transaction_end(xenbus->xsh, tid, false)) {
         qobject_unref(opts);
 
         if (errno == EAGAIN) {
@@ -327,7 +190,7 @@ static void xen_bus_type_enumerate(XenBus *xenbus, const char *type)
 
     trace_xen_bus_type_enumerate(type);
 
-    backend = xs_directory(xenbus->xsh, XBT_NULL, domain_path, &n);
+    backend = qemu_xen_xs_directory(xenbus->xsh, XBT_NULL, domain_path, &n);
     if (!backend) {
         goto out;
     }
@@ -372,7 +235,7 @@ static void xen_bus_enumerate(XenBus *xenbus)
 
     trace_xen_bus_enumerate();
 
-    type = xs_directory(xenbus->xsh, XBT_NULL, "backend", &n);
+    type = qemu_xen_xs_directory(xenbus->xsh, XBT_NULL, "backend", &n);
     if (!type) {
         return;
     }
@@ -415,7 +278,7 @@ static void xen_bus_cleanup(XenBus *xenbus)
     }
 }
 
-static void xen_bus_backend_changed(void *opaque)
+static void xen_bus_backend_changed(void *opaque, const char *path)
 {
     XenBus *xenbus = opaque;
 
@@ -434,7 +297,7 @@ static void xen_bus_unrealize(BusState *bus)
 
         for (i = 0; i < xenbus->backend_types; i++) {
             if (xenbus->backend_watch[i]) {
-                xen_bus_remove_watch(xenbus, xenbus->backend_watch[i], NULL);
+                xs_node_unwatch(xenbus->xsh, xenbus->backend_watch[i]);
             }
         }
 
@@ -442,13 +305,8 @@ static void xen_bus_unrealize(BusState *bus)
         xenbus->backend_watch = NULL;
     }
 
-    if (xenbus->watch_list) {
-        watch_list_destroy(xenbus->watch_list);
-        xenbus->watch_list = NULL;
-    }
-
     if (xenbus->xsh) {
-        xs_close(xenbus->xsh);
+        qemu_xen_xs_close(xenbus->xsh);
     }
 }
 
@@ -463,7 +321,7 @@ static void xen_bus_realize(BusState *bus, Error **errp)
 
     trace_xen_bus_realize();
 
-    xenbus->xsh = xs_open(0);
+    xenbus->xsh = qemu_xen_xs_open();
     if (!xenbus->xsh) {
         error_setg_errno(errp, errno, "failed xs_open");
         goto fail;
@@ -476,19 +334,18 @@ static void xen_bus_realize(BusState *bus, Error **errp)
         xenbus->backend_id = 0; /* Assume lack of node means dom0 */
     }
 
-    xenbus->watch_list = watch_list_create(xenbus->xsh);
-
     module_call_init(MODULE_INIT_XEN_BACKEND);
 
     type = xen_backend_get_types(&xenbus->backend_types);
-    xenbus->backend_watch = g_new(XenWatch *, xenbus->backend_types);
+    xenbus->backend_watch = g_new(struct qemu_xs_watch *,
+                                  xenbus->backend_types);
 
     for (i = 0; i < xenbus->backend_types; i++) {
         char *node = g_strdup_printf("backend/%s", type[i]);
 
         xenbus->backend_watch[i] =
-            xen_bus_add_watch(xenbus, node, key, xen_bus_backend_changed,
-                              &local_err);
+            xs_node_watch(xenbus->xsh, node, key, xen_bus_backend_changed,
+                          xenbus, &local_err);
         if (local_err) {
             /* This need not be treated as a hard error so don't propagate */
             error_reportf_err(local_err,
@@ -631,7 +488,7 @@ static bool xen_device_frontend_is_active(XenDevice *xendev)
     }
 }
 
-static void xen_device_backend_changed(void *opaque)
+static void xen_device_backend_changed(void *opaque, const char *path)
 {
     XenDevice *xendev = opaque;
     const char *type = object_get_typename(OBJECT(xendev));
@@ -685,66 +542,35 @@ static void xen_device_backend_changed(void *opaque)
     }
 }
 
-static XenWatch *xen_device_add_watch(XenDevice *xendev, const char *node,
-                                      const char *key,
-                                      XenWatchHandler handler,
-                                      Error **errp)
-{
-    const char *type = object_get_typename(OBJECT(xendev));
-
-    trace_xen_device_add_watch(type, xendev->name, node, key);
-
-    return watch_list_add(xendev->watch_list, node, key, handler, xendev,
-                          errp);
-}
-
-static void xen_device_remove_watch(XenDevice *xendev, XenWatch *watch,
-                                    Error **errp)
-{
-    const char *type = object_get_typename(OBJECT(xendev));
-
-    trace_xen_device_remove_watch(type, xendev->name, watch->node,
-                                  watch->key);
-
-    watch_list_remove(xendev->watch_list, watch, errp);
-}
-
-
 static void xen_device_backend_create(XenDevice *xendev, Error **errp)
 {
     ERRP_GUARD();
     XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
-    struct xs_permissions perms[2];
 
     xendev->backend_path = xen_device_get_backend_path(xendev);
 
-    perms[0].id = xenbus->backend_id;
-    perms[0].perms = XS_PERM_NONE;
-    perms[1].id = xendev->frontend_id;
-    perms[1].perms = XS_PERM_READ;
-
     g_assert(xenbus->xsh);
 
-    xs_node_create(xenbus->xsh, XBT_NULL, xendev->backend_path, perms,
-                   ARRAY_SIZE(perms), errp);
+    xs_node_create(xenbus->xsh, XBT_NULL, xendev->backend_path,
+                   xenbus->backend_id, xendev->frontend_id, XS_PERM_READ, errp);
     if (*errp) {
         error_prepend(errp, "failed to create backend: ");
         return;
     }
 
     xendev->backend_state_watch =
-        xen_device_add_watch(xendev, xendev->backend_path,
-                             "state", xen_device_backend_changed,
-                             errp);
+        xs_node_watch(xendev->xsh, xendev->backend_path,
+                      "state", xen_device_backend_changed, xendev,
+                      errp);
     if (*errp) {
         error_prepend(errp, "failed to watch backend state: ");
         return;
     }
 
     xendev->backend_online_watch =
-        xen_device_add_watch(xendev, xendev->backend_path,
-                             "online", xen_device_backend_changed,
-                             errp);
+        xs_node_watch(xendev->xsh, xendev->backend_path,
+                      "online", xen_device_backend_changed, xendev,
+                      errp);
     if (*errp) {
         error_prepend(errp, "failed to watch backend online: ");
         return;
@@ -757,12 +583,12 @@ static void xen_device_backend_destroy(XenDevice *xendev)
     Error *local_err = NULL;
 
     if (xendev->backend_online_watch) {
-        xen_device_remove_watch(xendev, xendev->backend_online_watch, NULL);
+        xs_node_unwatch(xendev->xsh, xendev->backend_online_watch);
         xendev->backend_online_watch = NULL;
     }
 
     if (xendev->backend_state_watch) {
-        xen_device_remove_watch(xendev, xendev->backend_state_watch, NULL);
+        xs_node_unwatch(xendev->xsh, xendev->backend_state_watch);
         xendev->backend_state_watch = NULL;
     }
 
@@ -837,7 +663,7 @@ static void xen_device_frontend_set_state(XenDevice *xendev,
     }
 }
 
-static void xen_device_frontend_changed(void *opaque)
+static void xen_device_frontend_changed(void *opaque, const char *path)
 {
     XenDevice *xendev = opaque;
     XenDeviceClass *xendev_class = XEN_DEVICE_GET_CLASS(xendev);
@@ -885,7 +711,6 @@ static void xen_device_frontend_create(XenDevice *xendev, Error **errp)
 {
     ERRP_GUARD();
     XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
-    struct xs_permissions perms[2];
 
     xendev->frontend_path = xen_device_get_frontend_path(xendev);
 
@@ -894,15 +719,11 @@ static void xen_device_frontend_create(XenDevice *xendev, Error **errp)
      * toolstack.
      */
     if (!xen_device_frontend_exists(xendev)) {
-        perms[0].id = xendev->frontend_id;
-        perms[0].perms = XS_PERM_NONE;
-        perms[1].id = xenbus->backend_id;
-        perms[1].perms = XS_PERM_READ | XS_PERM_WRITE;
-
         g_assert(xenbus->xsh);
 
-        xs_node_create(xenbus->xsh, XBT_NULL, xendev->frontend_path, perms,
-                       ARRAY_SIZE(perms), errp);
+        xs_node_create(xenbus->xsh, XBT_NULL, xendev->frontend_path,
+                       xendev->frontend_id, xenbus->backend_id,
+                       XS_PERM_READ | XS_PERM_WRITE, errp);
         if (*errp) {
             error_prepend(errp, "failed to create frontend: ");
             return;
@@ -910,8 +731,8 @@ static void xen_device_frontend_create(XenDevice *xendev, Error **errp)
     }
 
     xendev->frontend_state_watch =
-        xen_device_add_watch(xendev, xendev->frontend_path, "state",
-                             xen_device_frontend_changed, errp);
+        xs_node_watch(xendev->xsh, xendev->frontend_path, "state",
+                      xen_device_frontend_changed, xendev, errp);
     if (*errp) {
         error_prepend(errp, "failed to watch frontend state: ");
     }
@@ -923,8 +744,7 @@ static void xen_device_frontend_destroy(XenDevice *xendev)
     Error *local_err = NULL;
 
     if (xendev->frontend_state_watch) {
-        xen_device_remove_watch(xendev, xendev->frontend_state_watch,
-                                NULL);
+        xs_node_unwatch(xendev->xsh, xendev->frontend_state_watch);
         xendev->frontend_state_watch = NULL;
     }
 
@@ -1146,13 +966,8 @@ static void xen_device_unrealize(DeviceState *dev)
         xendev->xgth = NULL;
     }
 
-    if (xendev->watch_list) {
-        watch_list_destroy(xendev->watch_list);
-        xendev->watch_list = NULL;
-    }
-
     if (xendev->xsh) {
-        xs_close(xendev->xsh);
+        qemu_xen_xs_close(xendev->xsh);
         xendev->xsh = NULL;
     }
 
@@ -1197,14 +1012,12 @@ static void xen_device_realize(DeviceState *dev, Error **errp)
 
     trace_xen_device_realize(type, xendev->name);
 
-    xendev->xsh = xs_open(0);
+    xendev->xsh = qemu_xen_xs_open();
     if (!xendev->xsh) {
         error_setg_errno(errp, errno, "failed xs_open");
         goto unrealize;
     }
 
-    xendev->watch_list = watch_list_create(xendev->xsh);
-
     xendev->xgth = qemu_xen_gnttab_open();
     if (!xendev->xgth) {
         error_setg_errno(errp, errno, "failed xengnttab_open");
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index a48a25aeb5..4ded3cec23 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -39,7 +39,7 @@ BusState *xen_sysbus;
 /* ------------------------------------------------------------- */
 
 /* public */
-struct xs_handle *xenstore;
+struct qemu_xs_handle *xenstore;
 const char *xen_protocol;
 
 /* private */
@@ -274,6 +274,25 @@ static void xen_be_frontend_changed(struct XenLegacyDevice *xendev,
     }
 }
 
+static void xenstore_update_fe(void *opaque, const char *watch)
+{
+    struct XenLegacyDevice *xendev = opaque;
+    const char *node;
+    unsigned int len;
+
+    len = strlen(xendev->fe);
+    if (strncmp(xendev->fe, watch, len) != 0) {
+        return;
+    }
+    if (watch[len] != '/') {
+        return;
+    }
+    node = watch + len + 1;
+
+    xen_be_frontend_changed(xendev, node);
+    xen_be_check_state(xendev);
+}
+
 /* ------------------------------------------------------------- */
 /* Check for possible state transitions and perform them.        */
 
@@ -287,7 +306,6 @@ static void xen_be_frontend_changed(struct XenLegacyDevice *xendev,
  */
 static int xen_be_try_setup(struct XenLegacyDevice *xendev)
 {
-    char token[XEN_BUFSIZE];
     int be_state;
 
     if (xenstore_read_be_int(xendev, "state", &be_state) == -1) {
@@ -308,8 +326,9 @@ static int xen_be_try_setup(struct XenLegacyDevice *xendev)
     }
 
     /* setup frontend watch */
-    snprintf(token, sizeof(token), "fe:%p", xendev);
-    if (!xs_watch(xenstore, xendev->fe, token)) {
+    xendev->watch = qemu_xen_xs_watch(xenstore, xendev->fe, xenstore_update_fe,
+                                      xendev);
+    if (!xendev->watch) {
         xen_pv_printf(xendev, 0, "watching frontend path (%s) failed\n",
                       xendev->fe);
         return -1;
@@ -498,46 +517,20 @@ void xen_be_check_state(struct XenLegacyDevice *xendev)
 
 /* ------------------------------------------------------------- */
 
-static int xenstore_scan(const char *type, int dom, struct XenDevOps *ops)
-{
-    struct XenLegacyDevice *xendev;
-    char path[XEN_BUFSIZE], token[XEN_BUFSIZE];
-    char **dev = NULL;
-    unsigned int cdev, j;
-
-    /* setup watch */
-    snprintf(token, sizeof(token), "be:%p:%d:%p", type, dom, ops);
-    snprintf(path, sizeof(path), "backend/%s/%d", type, dom);
-    if (!xs_watch(xenstore, path, token)) {
-        xen_pv_printf(NULL, 0, "xen be: watching backend path (%s) failed\n",
-                      path);
-        return -1;
-    }
-
-    /* look for backends */
-    dev = xs_directory(xenstore, 0, path, &cdev);
-    if (!dev) {
-        return 0;
-    }
-    for (j = 0; j < cdev; j++) {
-        xendev = xen_be_get_xendev(type, dom, atoi(dev[j]), ops);
-        if (xendev == NULL) {
-            continue;
-        }
-        xen_be_check_state(xendev);
-    }
-    free(dev);
-    return 0;
-}
+struct xenstore_be {
+    const char *type;
+    int dom;
+    struct XenDevOps *ops;
+};
 
-void xenstore_update_be(char *watch, char *type, int dom,
-                        struct XenDevOps *ops)
+static void xenstore_update_be(void *opaque, const char *watch)
 {
+    struct xenstore_be *be = opaque;
     struct XenLegacyDevice *xendev;
     char path[XEN_BUFSIZE], *bepath;
     unsigned int len, dev;
 
-    len = snprintf(path, sizeof(path), "backend/%s/%d", type, dom);
+    len = snprintf(path, sizeof(path), "backend/%s/%d", be->type, be->dom);
     if (strncmp(path, watch, len) != 0) {
         return;
     }
@@ -551,9 +544,9 @@ void xenstore_update_be(char *watch, char *type, int dom,
         return;
     }
 
-    xendev = xen_be_get_xendev(type, dom, dev, ops);
+    xendev = xen_be_get_xendev(be->type, be->dom, dev, be->ops);
     if (xendev != NULL) {
-        bepath = xs_read(xenstore, 0, xendev->be, &len);
+        bepath = qemu_xen_xs_read(xenstore, 0, xendev->be, &len);
         if (bepath == NULL) {
             xen_pv_del_xendev(xendev);
         } else {
@@ -564,23 +557,41 @@ void xenstore_update_be(char *watch, char *type, int dom,
     }
 }
 
-void xenstore_update_fe(char *watch, struct XenLegacyDevice *xendev)
+static int xenstore_scan(const char *type, int dom, struct XenDevOps *ops)
 {
-    char *node;
-    unsigned int len;
+    struct XenLegacyDevice *xendev;
+    char path[XEN_BUFSIZE];
+    struct xenstore_be *be = g_new0(struct xenstore_be, 1);
+    char **dev = NULL;
+    unsigned int cdev, j;
 
-    len = strlen(xendev->fe);
-    if (strncmp(xendev->fe, watch, len) != 0) {
-        return;
-    }
-    if (watch[len] != '/') {
-        return;
+    /* setup watch */
+    be->type = type;
+    be->dom = dom;
+    be->ops = ops;
+    snprintf(path, sizeof(path), "backend/%s/%d", type, dom);
+    if (!qemu_xen_xs_watch(xenstore, path, xenstore_update_be, be)) {
+        xen_pv_printf(NULL, 0, "xen be: watching backend path (%s) failed\n",
+                      path);
+        return -1;
     }
-    node = watch + len + 1;
 
-    xen_be_frontend_changed(xendev, node);
-    xen_be_check_state(xendev);
+    /* look for backends */
+    dev = qemu_xen_xs_directory(xenstore, 0, path, &cdev);
+    if (!dev) {
+        return 0;
+    }
+    for (j = 0; j < cdev; j++) {
+        xendev = xen_be_get_xendev(type, dom, atoi(dev[j]), ops);
+        if (xendev == NULL) {
+            continue;
+        }
+        xen_be_check_state(xendev);
+    }
+    free(dev);
+    return 0;
 }
+
 /* -------------------------------------------------------------------- */
 
 static void xen_set_dynamic_sysbus(void)
@@ -594,14 +605,12 @@ static void xen_set_dynamic_sysbus(void)
 
 void xen_be_init(void)
 {
-    xenstore = xs_daemon_open();
+    xenstore = qemu_xen_xs_open();
     if (!xenstore) {
         xen_pv_printf(NULL, 0, "can't connect to xenstored\n");
         exit(1);
     }
 
-    qemu_set_fd_handler(xs_fileno(xenstore), xenstore_update, NULL, NULL);
-
     if (xen_evtchn_ops == NULL || xen_gnttab_ops == NULL) {
         xen_pv_printf(NULL, 0, "Xen operations not set up\n");
         exit(1);
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index 440e566bb1..abed812b63 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -10,6 +10,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qemu/uuid.h"
 #include "qapi/error.h"
 
 #include "hw/xen/xen_backend_ops.h"
@@ -262,6 +263,202 @@ struct foreignmem_backend_ops libxenforeignmem_backend_ops = {
     .unmap = libxenforeignmem_backend_unmap,
 };
 
+struct qemu_xs_handle {
+    struct xs_handle *xsh;
+    NotifierList notifiers;
+};
+
+static void watch_event(void *opaque)
+{
+    struct qemu_xs_handle *h = opaque;
+
+    for (;;) {
+        char **v = xs_check_watch(h->xsh);
+
+        if (!v) {
+            break;
+        }
+
+        notifier_list_notify(&h->notifiers, v);
+        free(v);
+    }
+}
+
+static struct qemu_xs_handle *libxenstore_open(void)
+{
+    struct xs_handle *xsh = xs_open(0);
+    struct qemu_xs_handle *h = g_new0(struct qemu_xs_handle, 1);
+
+    if (!xsh) {
+        return NULL;
+    }
+
+    h = g_new0(struct qemu_xs_handle, 1);
+    h->xsh = xsh;
+
+    notifier_list_init(&h->notifiers);
+    qemu_set_fd_handler(xs_fileno(h->xsh), watch_event, NULL, h);
+
+    return h;
+}
+
+static void libxenstore_close(struct qemu_xs_handle *h)
+{
+    g_assert(notifier_list_empty(&h->notifiers));
+    qemu_set_fd_handler(xs_fileno(h->xsh), NULL, NULL, NULL);
+    xs_close(h->xsh);
+    g_free(h);
+}
+
+static char *libxenstore_get_domain_path(struct qemu_xs_handle *h,
+                                         unsigned int domid)
+{
+    return xs_get_domain_path(h->xsh, domid);
+}
+
+static char **libxenstore_directory(struct qemu_xs_handle *h,
+                                    xs_transaction_t t, const char *path,
+                                    unsigned int *num)
+{
+    return xs_directory(h->xsh, t, path, num);
+}
+
+static void *libxenstore_read(struct qemu_xs_handle *h, xs_transaction_t t,
+                              const char *path, unsigned int *len)
+{
+    return xs_read(h->xsh, t, path, len);
+}
+
+static bool libxenstore_write(struct qemu_xs_handle *h, xs_transaction_t t,
+                              const char *path, const void *data,
+                              unsigned int len)
+{
+    return xs_write(h->xsh, t, path, data, len);
+}
+
+static bool libxenstore_create(struct qemu_xs_handle *h, xs_transaction_t t,
+                               unsigned int owner, unsigned int domid,
+                               unsigned int perms, const char *path)
+{
+    struct xs_permissions perms_list[] = {
+        {
+            .id    = owner,
+            .perms = XS_PERM_NONE,
+        },
+        {
+            .id    = domid,
+            .perms = perms,
+        },
+    };
+
+    if (!xs_mkdir(h->xsh, t, path)) {
+        return false;
+    }
+
+    return xs_set_permissions(h->xsh, t, path, perms_list,
+                              ARRAY_SIZE(perms_list));
+}
+
+static bool libxenstore_destroy(struct qemu_xs_handle *h, xs_transaction_t t,
+                                const char *path)
+{
+    return xs_rm(h->xsh, t, path);
+}
+
+struct qemu_xs_watch {
+    char *path;
+    char *token;
+    xs_watch_fn fn;
+    void *opaque;
+    Notifier notifier;
+};
+
+static void watch_notify(Notifier *n, void *data)
+{
+    struct qemu_xs_watch *w = container_of(n, struct qemu_xs_watch, notifier);
+    const char **v = data;
+
+    if (!strcmp(w->token, v[XS_WATCH_TOKEN])) {
+        w->fn(w->opaque, v[XS_WATCH_PATH]);
+    }
+}
+
+static struct qemu_xs_watch *new_watch(const char *path, xs_watch_fn fn,
+                                       void *opaque)
+{
+    struct qemu_xs_watch *w = g_new0(struct qemu_xs_watch, 1);
+    QemuUUID uuid;
+
+    qemu_uuid_generate(&uuid);
+
+    w->token = qemu_uuid_unparse_strdup(&uuid);
+    w->path = g_strdup(path);
+    w->fn = fn;
+    w->opaque = opaque;
+    w->notifier.notify = watch_notify;
+
+    return w;
+}
+
+static void free_watch(struct qemu_xs_watch *w)
+{
+    g_free(w->token);
+    g_free(w->path);
+
+    g_free(w);
+}
+
+static struct qemu_xs_watch *libxenstore_watch(struct qemu_xs_handle *h,
+                                               const char *path, xs_watch_fn fn,
+                                               void *opaque)
+{
+    struct qemu_xs_watch *w = new_watch(path, fn, opaque);
+
+    notifier_list_add(&h->notifiers, &w->notifier);
+
+    if (!xs_watch(h->xsh, path, w->token)) {
+        notifier_remove(&w->notifier);
+        free_watch(w);
+        return NULL;
+    }
+
+    return w;
+}
+
+static void libxenstore_unwatch(struct qemu_xs_handle *h,
+                                struct qemu_xs_watch *w)
+{
+    xs_unwatch(h->xsh, w->path, w->token);
+    notifier_remove(&w->notifier);
+    free_watch(w);
+}
+
+static xs_transaction_t libxenstore_transaction_start(struct qemu_xs_handle *h)
+{
+    return xs_transaction_start(h->xsh);
+}
+
+static bool libxenstore_transaction_end(struct qemu_xs_handle *h,
+                                        xs_transaction_t t, bool abort)
+{
+    return xs_transaction_end(h->xsh, t, abort);
+}
+
+struct xenstore_backend_ops libxenstore_backend_ops = {
+    .open = libxenstore_open,
+    .close = libxenstore_close,
+    .get_domain_path = libxenstore_get_domain_path,
+    .directory = libxenstore_directory,
+    .read = libxenstore_read,
+    .write = libxenstore_write,
+    .create = libxenstore_create,
+    .destroy = libxenstore_destroy,
+    .watch = libxenstore_watch,
+    .unwatch = libxenstore_unwatch,
+    .transaction_start = libxenstore_transaction_start,
+    .transaction_end = libxenstore_transaction_end,
+};
+
 void setup_xen_backend_ops(void)
 {
 #if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
@@ -277,4 +474,5 @@ void setup_xen_backend_ops(void)
     xen_evtchn_ops = &libxenevtchn_backend_ops;
     xen_gnttab_ops = &libxengnttab_backend_ops;
     xen_foreignmem_ops = &libxenforeignmem_backend_ops;
+    xen_xenstore_ops = &libxenstore_backend_ops;
 }
diff --git a/hw/xen/xen_devconfig.c b/hw/xen/xen_devconfig.c
index 46ee4a7f02..9b7304e544 100644
--- a/hw/xen/xen_devconfig.c
+++ b/hw/xen/xen_devconfig.c
@@ -11,11 +11,11 @@ static int xen_config_dev_dirs(const char *ftype, const char *btype, int vdev,
 {
     char *dom;
 
-    dom = xs_get_domain_path(xenstore, xen_domid);
+    dom = qemu_xen_xs_get_domain_path(xenstore, xen_domid);
     snprintf(fe, len, "%s/device/%s/%d", dom, ftype, vdev);
     free(dom);
 
-    dom = xs_get_domain_path(xenstore, 0);
+    dom = qemu_xen_xs_get_domain_path(xenstore, 0);
     snprintf(be, len, "%s/backend/%s/%d/%d", dom, btype, xen_domid, vdev);
     free(dom);
 
diff --git a/hw/xen/xen_pt_graphics.c b/hw/xen/xen_pt_graphics.c
index f303f67c9c..0aed3bb6fd 100644
--- a/hw/xen/xen_pt_graphics.c
+++ b/hw/xen/xen_pt_graphics.c
@@ -5,7 +5,6 @@
 #include "qapi/error.h"
 #include "xen_pt.h"
 #include "xen-host-pci-device.h"
-#include "hw/xen/xen-legacy-backend.h"
 
 static unsigned long igd_guest_opregion;
 static unsigned long igd_host_opregion;
diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
index d8582cc74c..be1504b82c 100644
--- a/hw/xen/xen_pvdev.c
+++ b/hw/xen/xen_pvdev.c
@@ -54,31 +54,17 @@ void xen_config_cleanup(void)
     struct xs_dirs *d;
 
     QTAILQ_FOREACH(d, &xs_cleanup, list) {
-        xs_rm(xenstore, 0, d->xs_dir);
+        qemu_xen_xs_destroy(xenstore, 0, d->xs_dir);
     }
 }
 
 int xenstore_mkdir(char *path, int p)
 {
-    struct xs_permissions perms[2] = {
-        {
-            .id    = 0, /* set owner: dom0 */
-        }, {
-            .id    = xen_domid,
-            .perms = p,
-        }
-    };
-
-    if (!xs_mkdir(xenstore, 0, path)) {
+    if (!qemu_xen_xs_create(xenstore, 0, 0, xen_domid, p, path)) {
         xen_pv_printf(NULL, 0, "xs_mkdir %s: failed\n", path);
         return -1;
     }
     xenstore_cleanup_dir(g_strdup(path));
-
-    if (!xs_set_permissions(xenstore, 0, path, perms, 2)) {
-        xen_pv_printf(NULL, 0, "xs_set_permissions %s: failed\n", path);
-        return -1;
-    }
     return 0;
 }
 
@@ -87,7 +73,7 @@ int xenstore_write_str(const char *base, const char *node, const char *val)
     char abspath[XEN_BUFSIZE];
 
     snprintf(abspath, sizeof(abspath), "%s/%s", base, node);
-    if (!xs_write(xenstore, 0, abspath, val, strlen(val))) {
+    if (!qemu_xen_xs_write(xenstore, 0, abspath, val, strlen(val))) {
         return -1;
     }
     return 0;
@@ -100,7 +86,7 @@ char *xenstore_read_str(const char *base, const char *node)
     char *str, *ret = NULL;
 
     snprintf(abspath, sizeof(abspath), "%s/%s", base, node);
-    str = xs_read(xenstore, 0, abspath, &len);
+    str = qemu_xen_xs_read(xenstore, 0, abspath, &len);
     if (str != NULL) {
         /* move to qemu-allocated memory to make sure
          * callers can savely g_free() stuff. */
@@ -152,29 +138,6 @@ int xenstore_read_uint64(const char *base, const char *node, uint64_t *uval)
     return rc;
 }
 
-void xenstore_update(void *unused)
-{
-    char **vec = NULL;
-    intptr_t type, ops, ptr;
-    unsigned int dom, count;
-
-    vec = xs_read_watch(xenstore, &count);
-    if (vec == NULL) {
-        goto cleanup;
-    }
-
-    if (sscanf(vec[XS_WATCH_TOKEN], "be:%" PRIxPTR ":%d:%" PRIxPTR,
-               &type, &dom, &ops) == 3) {
-        xenstore_update_be(vec[XS_WATCH_PATH], (void *)type, dom, (void*)ops);
-    }
-    if (sscanf(vec[XS_WATCH_TOKEN], "fe:%" PRIxPTR, &ptr) == 1) {
-        xenstore_update_fe(vec[XS_WATCH_PATH], (void *)ptr);
-    }
-
-cleanup:
-    free(vec);
-}
-
 const char *xenbus_strstate(enum xenbus_state state)
 {
     static const char *const name[] = {
@@ -299,9 +262,7 @@ void xen_pv_del_xendev(struct XenLegacyDevice *xendev)
     }
 
     if (xendev->fe) {
-        char token[XEN_BUFSIZE];
-        snprintf(token, sizeof(token), "fe:%p", xendev);
-        xs_unwatch(xenstore, xendev->fe, token);
+        qemu_xen_xs_unwatch(xenstore, xendev->watch);
         g_free(xendev->fe);
     }
 
diff --git a/include/hw/xen/xen-bus-helper.h b/include/hw/xen/xen-bus-helper.h
index 8782f30550..d8dcc2f010 100644
--- a/include/hw/xen/xen-bus-helper.h
+++ b/include/hw/xen/xen-bus-helper.h
@@ -8,40 +8,40 @@
 #ifndef HW_XEN_BUS_HELPER_H
 #define HW_XEN_BUS_HELPER_H
 
-#include "hw/xen/xen_common.h"
+#include "hw/xen/xen_backend_ops.h"
 
 const char *xs_strstate(enum xenbus_state state);
 
-void xs_node_create(struct xs_handle *xsh,  xs_transaction_t tid,
-                    const char *node, struct xs_permissions perms[],
-                    unsigned int nr_perms, Error **errp);
-void xs_node_destroy(struct xs_handle *xsh,  xs_transaction_t tid,
+void xs_node_create(struct qemu_xs_handle *h,  xs_transaction_t tid,
+                    const char *node, unsigned int owner, unsigned int domid,
+                    unsigned int perms, Error **errp);
+void xs_node_destroy(struct qemu_xs_handle *h,  xs_transaction_t tid,
                      const char *node, Error **errp);
 
 /* Write to node/key unless node is empty, in which case write to key */
-void xs_node_vprintf(struct xs_handle *xsh,  xs_transaction_t tid,
+void xs_node_vprintf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                      const char *node, const char *key, Error **errp,
                      const char *fmt, va_list ap)
     G_GNUC_PRINTF(6, 0);
-void xs_node_printf(struct xs_handle *xsh,  xs_transaction_t tid,
+void xs_node_printf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                     const char *node, const char *key, Error **errp,
                     const char *fmt, ...)
     G_GNUC_PRINTF(6, 7);
 
 /* Read from node/key unless node is empty, in which case read from key */
-int xs_node_vscanf(struct xs_handle *xsh,  xs_transaction_t tid,
+int xs_node_vscanf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                    const char *node, const char *key, Error **errp,
                    const char *fmt, va_list ap)
     G_GNUC_SCANF(6, 0);
-int xs_node_scanf(struct xs_handle *xsh,  xs_transaction_t tid,
+int xs_node_scanf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                   const char *node, const char *key, Error **errp,
                   const char *fmt, ...)
     G_GNUC_SCANF(6, 7);
 
 /* Watch node/key unless node is empty, in which case watch key */
-void xs_node_watch(struct xs_handle *xsh, const char *node, const char *key,
-                   char *token, Error **errp);
-void xs_node_unwatch(struct xs_handle *xsh, const char *node, const char *key,
-                     const char *token, Error **errp);
+struct qemu_xs_watch *xs_node_watch(struct qemu_xs_handle *h, const char *node,
+                                    const char *key, xs_watch_fn fn,
+                                    void *opaque, Error **errp);
+void xs_node_unwatch(struct qemu_xs_handle *h, struct qemu_xs_watch *w);
 
 #endif /* HW_XEN_BUS_HELPER_H */
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 5a90e79d53..f435898164 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -9,29 +9,23 @@
 #define HW_XEN_BUS_H
 
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/interface/io/xenbus.h"
 #include "hw/sysbus.h"
 #include "qemu/notify.h"
 #include "qom/object.h"
 
-typedef void (*XenWatchHandler)(void *opaque);
-
-typedef struct XenWatchList XenWatchList;
-typedef struct XenWatch XenWatch;
 typedef struct XenEventChannel XenEventChannel;
 
 struct XenDevice {
     DeviceState qdev;
     domid_t frontend_id;
     char *name;
-    struct xs_handle *xsh;
-    XenWatchList *watch_list;
+    struct qemu_xs_handle *xsh;
     char *backend_path, *frontend_path;
     enum xenbus_state backend_state, frontend_state;
     Notifier exit;
-    XenWatch *backend_state_watch, *frontend_state_watch;
+    struct qemu_xs_watch *backend_state_watch, *frontend_state_watch;
     bool backend_online;
-    XenWatch *backend_online_watch;
+    struct qemu_xs_watch *backend_online_watch;
     xengnttab_handle *xgth;
     bool inactive;
     QLIST_HEAD(, XenEventChannel) event_channels;
@@ -64,10 +58,9 @@ OBJECT_DECLARE_TYPE(XenDevice, XenDeviceClass, XEN_DEVICE)
 struct XenBus {
     BusState qbus;
     domid_t backend_id;
-    struct xs_handle *xsh;
-    XenWatchList *watch_list;
+    struct qemu_xs_handle *xsh;
     unsigned int backend_types;
-    XenWatch **backend_watch;
+    struct qemu_xs_watch **backend_watch;
     QLIST_HEAD(, XenDevice) inactive_devices;
 };
 
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index ab28583267..6c307c5f2c 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -2,7 +2,6 @@
 #define HW_XEN_LEGACY_BACKEND_H
 
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/interface/io/xenbus.h"
 #include "hw/xen/xen_pvdev.h"
 #include "net/net.h"
 #include "qom/object.h"
@@ -16,7 +15,7 @@ DECLARE_INSTANCE_CHECKER(XenLegacyDevice, XENBACKEND,
                          TYPE_XENBACKEND)
 
 /* variables */
-extern struct xs_handle *xenstore;
+extern struct qemu_xs_handle *xenstore;
 extern const char *xen_protocol;
 extern DeviceState *xen_sysdev;
 extern BusState *xen_sysbus;
@@ -31,9 +30,6 @@ int xenstore_write_be_int64(struct XenLegacyDevice *xendev, const char *node,
 char *xenstore_read_be_str(struct XenLegacyDevice *xendev, const char *node);
 int xenstore_read_be_int(struct XenLegacyDevice *xendev, const char *node,
                          int *ival);
-void xenstore_update_fe(char *watch, struct XenLegacyDevice *xendev);
-void xenstore_update_be(char *watch, char *type, int dom,
-                        struct XenDevOps *ops);
 char *xenstore_read_fe_str(struct XenLegacyDevice *xendev, const char *node);
 int xenstore_read_fe_int(struct XenLegacyDevice *xendev, const char *node,
                          int *ival);
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
index 0dff06bbde..90cca85f52 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -12,6 +12,10 @@
 #ifndef QEMU_XEN_BACKEND_OPS_H
 #define QEMU_XEN_BACKEND_OPS_H
 
+#include "hw/xen/xen.h"
+#include "hw/xen/interface/xen.h"
+#include "hw/xen/interface/io/xenbus.h"
+
 /*
  * For the time being, these operations map fairly closely to the API of
  * the actual Xen libraries, e.g. libxenevtchn. As we complete the migration
@@ -36,6 +40,16 @@ typedef uint32_t grant_ref_t;
 #define XEN_PAGE_SIZE        (1UL << XEN_PAGE_SHIFT)
 #define XEN_PAGE_MASK        (~(XEN_PAGE_SIZE - 1))
 
+#ifndef xen_rmb
+#define xen_rmb() smp_rmb()
+#endif
+#ifndef xen_wmb
+#define xen_wmb() smp_wmb()
+#endif
+#ifndef xen_mb
+#define xen_mb() smp_mb()
+#endif
+
 struct evtchn_backend_ops {
     xenevtchn_handle *(*open)(void);
     int (*bind_interdomain)(xenevtchn_handle *xc, uint32_t domid,
@@ -240,6 +254,155 @@ static inline int qemu_xen_foreignmem_unmap(void *addr, size_t pages)
     return xen_foreignmem_ops->unmap(addr, pages);
 }
 
+typedef void (*xs_watch_fn)(void *opaque, const char *path);
+
+struct qemu_xs_handle;
+struct qemu_xs_watch;
+typedef uint32_t xs_transaction_t;
+
+#define XBT_NULL 0
+
+#define XS_PERM_NONE  0x00
+#define XS_PERM_READ  0x01
+#define XS_PERM_WRITE 0x02
+
+struct xenstore_backend_ops {
+    struct qemu_xs_handle *(*open)(void);
+    void (*close)(struct qemu_xs_handle *h);
+    char *(*get_domain_path)(struct qemu_xs_handle *h, unsigned int domid);
+    char **(*directory)(struct qemu_xs_handle *h, xs_transaction_t t,
+                        const char *path, unsigned int *num);
+    void *(*read)(struct qemu_xs_handle *h, xs_transaction_t t,
+                  const char *path, unsigned int *len);
+    bool (*write)(struct qemu_xs_handle *h, xs_transaction_t t,
+                  const char *path, const void *data, unsigned int len);
+    bool (*create)(struct qemu_xs_handle *h, xs_transaction_t t,
+                   unsigned int owner, unsigned int domid,
+                   unsigned int perms, const char *path);
+    bool (*destroy)(struct qemu_xs_handle *h, xs_transaction_t t,
+               const char *path);
+    struct qemu_xs_watch *(*watch)(struct qemu_xs_handle *h, const char *path,
+                                   xs_watch_fn fn, void *opaque);
+    void (*unwatch)(struct qemu_xs_handle *h, struct qemu_xs_watch *w);
+    xs_transaction_t (*transaction_start)(struct qemu_xs_handle *h);
+    bool (*transaction_end)(struct qemu_xs_handle *h, xs_transaction_t t,
+                            bool abort);
+};
+
+extern struct xenstore_backend_ops *xen_xenstore_ops;
+
+static inline struct qemu_xs_handle *qemu_xen_xs_open(void)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->open();
+}
+
+static inline void qemu_xen_xs_close(struct qemu_xs_handle *h)
+{
+    if (!xen_xenstore_ops) {
+        return;
+    }
+    xen_xenstore_ops->close(h);
+}
+
+static inline char *qemu_xen_xs_get_domain_path(struct qemu_xs_handle *h,
+                                                unsigned int domid)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->get_domain_path(h, domid);
+}
+
+static inline char **qemu_xen_xs_directory(struct qemu_xs_handle *h,
+                                           xs_transaction_t t, const char *path,
+                                           unsigned int *num)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->directory(h, t, path, num);
+}
+
+static inline void *qemu_xen_xs_read(struct qemu_xs_handle *h,
+                                     xs_transaction_t t, const char *path,
+                                     unsigned int *len)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->read(h, t, path, len);
+}
+
+static inline bool qemu_xen_xs_write(struct qemu_xs_handle *h,
+                                     xs_transaction_t t, const char *path,
+                                     const void *data, unsigned int len)
+{
+    if (!xen_xenstore_ops) {
+        return false;
+    }
+    return xen_xenstore_ops->write(h, t, path, data, len);
+}
+
+static inline bool qemu_xen_xs_create(struct qemu_xs_handle *h,
+                                      xs_transaction_t t, unsigned int owner,
+                                      unsigned int domid, unsigned int perms,
+                                      const char *path)
+{
+    if (!xen_xenstore_ops) {
+        return false;
+    }
+    return xen_xenstore_ops->create(h, t, owner, domid, perms, path);
+}
+
+static inline bool qemu_xen_xs_destroy(struct qemu_xs_handle *h,
+                                       xs_transaction_t t, const char *path)
+{
+    if (!xen_xenstore_ops) {
+        return false;
+    }
+    return xen_xenstore_ops->destroy(h, t, path);
+}
+
+static inline struct qemu_xs_watch *qemu_xen_xs_watch(struct qemu_xs_handle *h,
+                                                      const char *path,
+                                                      xs_watch_fn fn,
+                                                      void *opaque)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->watch(h, path, fn, opaque);
+}
+
+static inline void qemu_xen_xs_unwatch(struct qemu_xs_handle *h,
+                                       struct qemu_xs_watch *w)
+{
+    if (!xen_xenstore_ops) {
+        return;
+    }
+    xen_xenstore_ops->unwatch(h, w);
+}
+
+static inline xs_transaction_t qemu_xen_xs_transaction_start(struct qemu_xs_handle *h)
+{
+    if (!xen_xenstore_ops) {
+        return XBT_NULL;
+    }
+    return xen_xenstore_ops->transaction_start(h);
+}
+
+static inline bool qemu_xen_xs_transaction_end(struct qemu_xs_handle *h,
+                                               xs_transaction_t t, bool abort)
+{
+    if (!xen_xenstore_ops) {
+        return false;
+    }
+    return xen_xenstore_ops->transaction_end(h, t, abort);
+}
+
 void setup_xen_backend_ops(void);
 
 #endif /* QEMU_XEN_BACKEND_OPS_H */
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 632ce617cc..7edcf3eb25 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -12,7 +12,6 @@
 
 #include <xenctrl.h>
 #include <xenstore.h>
-#include "hw/xen/interface/io/xenbus.h"
 
 #include "hw/xen/xen.h"
 #include "hw/pci/pci_device.h"
diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h
index 9c27b14764..d8eea353b8 100644
--- a/include/hw/xen/xen_pvdev.h
+++ b/include/hw/xen/xen_pvdev.h
@@ -39,6 +39,7 @@ struct XenLegacyDevice {
     char               name[64];
     int                debug;
 
+    struct qemu_xs_watch *watch;
     enum xenbus_state  be_state;
     enum xenbus_state  fe_state;
     int                online;
@@ -64,7 +65,6 @@ int xenstore_write_int64(const char *base, const char *node, int64_t ival);
 char *xenstore_read_str(const char *base, const char *node);
 int xenstore_read_int(const char *base, const char *node, int *ival);
 int xenstore_read_uint64(const char *base, const char *node, uint64_t *uval);
-void xenstore_update(void *unused);
 
 const char *xenbus_strstate(enum xenbus_state state);
 
diff --git a/softmmu/globals.c b/softmmu/globals.c
index dda32986f7..39678aa8c5 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -68,3 +68,4 @@ bool xen_domid_restrict;
 struct evtchn_backend_ops *xen_evtchn_ops;
 struct gnttab_backend_ops *xen_gnttab_ops;
 struct foreignmem_backend_ops *xen_foreignmem_ops;
+struct xenstore_backend_ops *xen_xenstore_ops;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507652.781463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZawx-0001Dz-6n; Tue, 07 Mar 2023 17:18:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507652.781463; Tue, 07 Mar 2023 17:18: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 1pZaww-0001Bq-U4; Tue, 07 Mar 2023 17:18:06 +0000
Received: by outflank-mailman (input) for mailman id 507652;
 Tue, 07 Mar 2023 17:18: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZawv-0000az-A4
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:05 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0341a4c8-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:01 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZawj-006axM-DT; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawj-009cgf-1K; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 0341a4c8-bd0c-11ed-96b5-2f268f93b82a
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=+GrJT1RUPTlZbaKvMbiojr7CZve8QJC+9zG/ntSg2ts=; b=KpN24XIv3NFs/Mw1avbHBUFoxB
	3bWoKuYJ+uhiMle65jaVmHMkPKbMOyFNzMwzPkG9b8aInzGbdIjPCwKf/XlJpa6TbZpZlkotUdZBB
	AK3F4TqhmxHhuiJp0D5BPd/MkSuaUwxBlkbWosBJwoF8Aet0fOY4ZvZs7gzY6LY5a2+qmY7GiokJc
	ZMRxJXJ/NxmMkcwvm7DeI3bCFlfJ7cRejD+46MgG/fWaGr8E8hdGF+0aBPFnprZOtlx0BOBMASxy4
	yMwqSjJfKlWbVAFm2HB2tfQvMPjmKcj+8lAepIlK1MS3P1O45v+AY91gFlfDjO9+dZG29enLcQ+Y2
	HYmAaR3g==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 03/27] hw/xen: Implement XenStore watches
Date: Tue,  7 Mar 2023 17:17:26 +0000
Message-Id: <20230307171750.2293175-4-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>

Starts out fairly simple: a hash table of watches based on the path.

Except there can be multiple watches on the same path, so the watch ends
up being a simple linked list, and the head of that list is in the hash
table. Which makes removal a bit of a PITA but it's not so bad; we just
special-case "I had to remove the head of the list and now I have to
replace it in / remove it from the hash table". And if we don't remove
the head, it's a simple linked-list operation.

We do need to fire watches on *deleted* nodes, so instead of just a simple
xs_node_unref() on the topmost victim, we need to recurse down and fire
watches on them all.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xenstore_impl.c | 253 +++++++++++++++++++++++++++++++++---
 tests/unit/test-xs-node.c   |  85 ++++++++++++
 2 files changed, 323 insertions(+), 15 deletions(-)

diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 9e10a31bea..9c2348835f 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -37,9 +37,20 @@ typedef struct XsNode {
 #endif
 } XsNode;
 
+typedef struct XsWatch {
+    struct XsWatch *next;
+    xs_impl_watch_fn *cb;
+    void *cb_opaque;
+    char *token;
+    unsigned int dom_id;
+    int rel_prefix;
+} XsWatch;
+
 struct XenstoreImplState {
     XsNode *root;
     unsigned int nr_nodes;
+    GHashTable *watches;
+    unsigned int nr_domu_watches;
 };
 
 static inline XsNode *xs_node_new(void)
@@ -146,6 +157,7 @@ struct walk_op {
     void *op_opaque;
     void *op_opaque2;
 
+    GList *watches;
     unsigned int dom_id;
 
     /* The number of nodes which will exist in the tree if this op succeeds. */
@@ -166,6 +178,35 @@ struct walk_op {
     bool create_dirs;
 };
 
+static void fire_watches(struct walk_op *op, bool parents)
+{
+    GList *l = NULL;
+    XsWatch *w;
+
+    if (!op->mutating) {
+        return;
+    }
+
+    if (parents) {
+        l = op->watches;
+    }
+
+    w = g_hash_table_lookup(op->s->watches, op->path);
+    while (w || l) {
+        if (!w) {
+            /* Fire the parent nodes from 'op' if asked to */
+            w = l->data;
+            l = l->next;
+            continue;
+        }
+
+        assert(strlen(op->path) > w->rel_prefix);
+        w->cb(w->cb_opaque, op->path + w->rel_prefix, w->token);
+
+        w = w->next;
+    }
+}
+
 static int xs_node_add_content(XsNode **n, struct walk_op *op)
 {
     GByteArray *data = op->op_opaque;
@@ -213,6 +254,8 @@ static int xs_node_get_content(XsNode **n, struct walk_op *op)
 static int node_rm_recurse(gpointer key, gpointer value, gpointer user_data)
 {
     struct walk_op *op = user_data;
+    int path_len = strlen(op->path);
+    int key_len = strlen(key);
     XsNode *n = value;
     bool this_inplace = op->inplace;
 
@@ -220,11 +263,22 @@ static int node_rm_recurse(gpointer key, gpointer value, gpointer user_data)
         op->inplace = 0;
     }
 
+    assert(key_len + path_len + 2 <= sizeof(op->path));
+    op->path[path_len] = '/';
+    memcpy(op->path + path_len + 1, key, key_len + 1);
+
     if (n->children) {
         g_hash_table_foreach_remove(n->children, node_rm_recurse, op);
     }
     op->new_nr_nodes--;
 
+    /*
+     * Fire watches on *this* node but not the parents because they are
+     * going to be deleted too, so the watch will fire for them anyway.
+     */
+    fire_watches(op, false);
+    op->path[path_len] = '\0';
+
     /*
      * Actually deleting the child here is just an optimisation; if we
      * don't then the final unref on the topmost victim will just have
@@ -238,7 +292,7 @@ static int xs_node_rm(XsNode **n, struct walk_op *op)
 {
     bool this_inplace = op->inplace;
 
-    /* Keep count of the nodes in the subtree which gets deleted. */
+    /* Fire watches for, and count, nodes in the subtree which get deleted */
     if ((*n)->children) {
         g_hash_table_foreach_remove((*n)->children, node_rm_recurse, op);
     }
@@ -269,9 +323,11 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
     XsNode *old = *n, *child = NULL;
     bool stole_child = false;
     bool this_inplace;
+    XsWatch *watch;
     int err;
 
     namelen = strlen(op->path);
+    watch = g_hash_table_lookup(op->s->watches, op->path);
 
     /* Is there a child, or do we hit the double-NUL termination? */
     if (op->path[namelen + 1]) {
@@ -292,6 +348,9 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
     if (!child_name) {
         /* This is the actual node on which the operation shall be performed */
         err = op->op_fn(n, op);
+        if (!err) {
+            fire_watches(op, true);
+        }
         goto out;
     }
 
@@ -333,11 +392,24 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
         goto out;
     }
 
+    /*
+     * If there's a watch on this node, add it to the list to be fired
+     * (with the correct full pathname for the modified node) at the end.
+     */
+    if (watch) {
+        op->watches = g_list_append(op->watches, watch);
+    }
+
     /*
      * Except for the temporary child-stealing as noted, our node has not
      * changed yet. We don't yet know the overall operation will complete.
      */
     err = xs_node_walk(&child, op);
+
+    if (watch) {
+        op->watches = g_list_remove(op->watches, watch);
+    }
+
     if (err || !op->mutating) {
         if (stole_child) {
             /* Put it back as it was. */
@@ -375,6 +447,7 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
  out:
     op->path[namelen] = '\0';
     if (!namelen) {
+        assert(!op->watches);
         /*
          * On completing the recursion back up the path walk and reaching the
          * top, assign the new node count if the operation was successful.
@@ -457,6 +530,7 @@ static int init_walk_op(XenstoreImplState *s, struct walk_op *op,
      * path element for the lookup.
      */
     op->path[strlen(op->path) + 1] = '\0';
+    op->watches = NULL;
     op->path[0] = '\0';
     op->inplace = true;
     op->mutating = false;
@@ -589,38 +663,187 @@ int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
 int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
                   const char *token, xs_impl_watch_fn fn, void *opaque)
 {
-    /*
-     * When calling the callback @fn, note that the path should
-     * precisely match the relative path that the guest provided, even
-     * if it was a relative path which needed to be prefixed with
-     * /local/domain/${domid}/
-     */
-    return ENOSYS;
+    char abspath[XENSTORE_ABS_PATH_MAX + 1];
+    XsWatch *w, *l;
+    int ret;
+
+    ret = validate_path(abspath, path, dom_id);
+    if (ret) {
+        return ret;
+    }
+
+    /* Check for duplicates */
+    l = w = g_hash_table_lookup(s->watches, abspath);
+    while (w) {
+        if (!g_strcmp0(token, w->token) &&  opaque == w->cb_opaque &&
+            fn == w->cb && dom_id == w->dom_id) {
+            return EEXIST;
+        }
+        w = w->next;
+    }
+
+    if (dom_id && s->nr_domu_watches >= XS_MAX_WATCHES) {
+        return E2BIG;
+    }
+
+    w = g_new0(XsWatch, 1);
+    w->token = g_strdup(token);
+    w->cb = fn;
+    w->cb_opaque = opaque;
+    w->dom_id = dom_id;
+    w->rel_prefix = strlen(abspath) - strlen(path);
+
+    /* l was looked up above when checking for duplicates */
+    if (l) {
+        w->next = l->next;
+        l->next = w;
+    } else {
+        g_hash_table_insert(s->watches, g_strdup(abspath), w);
+    }
+    if (dom_id) {
+        s->nr_domu_watches++;
+    }
+
+    /* A new watch should fire immediately */
+    fn(opaque, path, token);
+
+    return 0;
+}
+
+static XsWatch *free_watch(XenstoreImplState *s, XsWatch *w)
+{
+    XsWatch *next = w->next;
+
+    if (w->dom_id) {
+        assert(s->nr_domu_watches);
+        s->nr_domu_watches--;
+    }
+
+    g_free(w->token);
+    g_free(w);
+
+    return next;
 }
 
 int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
                     const char *path, const char *token,
                     xs_impl_watch_fn fn, void *opaque)
 {
+    char abspath[XENSTORE_ABS_PATH_MAX + 1];
+    XsWatch *w, **l;
+    int ret;
+
+    ret = validate_path(abspath, path, dom_id);
+    if (ret) {
+        return ret;
+    }
+
+    w = g_hash_table_lookup(s->watches, abspath);
+    if (!w) {
+        return ENOENT;
+    }
+
     /*
-     * When calling the callback @fn, note that the path should
-     * precisely match the relative path that the guest provided, even
-     * if it was a relative path which needed to be prefixed with
-     * /local/domain/${domid}/
+     * The hash table contains the first element of a list of
+     * watches. Removing the first element in the list is a
+     * special case because we have to update the hash table to
+     * point to the next (or remove it if there's nothing left).
      */
-    return ENOSYS;
+    if (!g_strcmp0(token, w->token) && fn == w->cb && opaque == w->cb_opaque &&
+        dom_id == w->dom_id) {
+        if (w->next) {
+            /* Insert the previous 'next' into the hash table */
+            g_hash_table_insert(s->watches, g_strdup(abspath), w->next);
+        } else {
+            /* Nothing left; remove from hash table */
+            g_hash_table_remove(s->watches, abspath);
+        }
+        free_watch(s, w);
+        return 0;
+    }
+
+    /*
+     * We're all done messing with the hash table because the element
+     * it points to has survived the cull. Now it's just a simple
+     * linked list removal operation.
+     */
+    for (l = &w->next; *l; l = &w->next) {
+        w = *l;
+
+        if (!g_strcmp0(token, w->token) && fn == w->cb &&
+            opaque != w->cb_opaque && dom_id == w->dom_id) {
+            *l = free_watch(s, w);
+            return 0;
+        }
+    }
+
+    return ENOENT;
 }
 
 int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id)
 {
-    /* Remove the watch that matches all four criteria */
-    return ENOSYS;
+    char **watch_paths;
+    guint nr_watch_paths;
+    guint i;
+
+    watch_paths = (char **)g_hash_table_get_keys_as_array(s->watches,
+                                                          &nr_watch_paths);
+
+    for (i = 0; i < nr_watch_paths; i++) {
+        XsWatch *w1 = g_hash_table_lookup(s->watches, watch_paths[i]);
+        XsWatch *w2, *w, **l;
+
+        /*
+         * w1 is the original list. The hash table has this pointer.
+         * w2 is the head of our newly-filtered list.
+         * w and l are temporary for processing. w is somewhat redundant
+         * with *l but makes my eyes bleed less.
+         */
+
+        w = w2 = w1;
+        l = &w;
+        while (w) {
+            if (w->dom_id == dom_id) {
+                /* If we're freeing the head of the list, bump w2 */
+                if (w2 == w) {
+                    w2 = w->next;
+                }
+                *l = free_watch(s, w);
+            } else {
+                l = &w->next;
+            }
+            w = *l;
+        }
+        /*
+         * If the head of the list survived the cull, we don't need to
+         * touch the hash table and we're done with this path. Else...
+         */
+        if (w1 != w2) {
+            g_hash_table_steal(s->watches, watch_paths[i]);
+
+            /*
+             * It was already freed. (Don't worry, this whole thing is
+             * single-threaded and nobody saw it in the meantime). And
+             * having *stolen* it, we now own the watch_paths[i] string
+             * so if we don't give it back to the hash table, we need
+             * to free it.
+             */
+            if (w2) {
+                g_hash_table_insert(s->watches, watch_paths[i], w2);
+            } else {
+                g_free(watch_paths[i]);
+            }
+        }
+    }
+    g_free(watch_paths);
+    return 0;
 }
 
 XenstoreImplState *xs_impl_create(void)
 {
     XenstoreImplState *s = g_new0(XenstoreImplState, 1);
 
+    s->watches = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
     s->nr_nodes = 1;
     s->root = xs_node_new();
 #ifdef XS_NODE_UNIT_TEST
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index c78d5bd581..19000b64b2 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -34,10 +34,14 @@ static void xs_impl_delete(XenstoreImplState *s)
 {
     int err;
 
+    xs_impl_reset_watches(s, DOMID_GUEST);
+    g_assert(!s->nr_domu_watches);
+
     err = xs_impl_rm(s, DOMID_QEMU, XBT_NULL, "/local");
     g_assert(!err);
     g_assert(s->nr_nodes == 1);
 
+    g_hash_table_unref(s->watches);
     xs_node_unref(s->root);
     g_free(s);
 
@@ -65,6 +69,14 @@ static int write_str(XenstoreImplState *s, unsigned int dom_id,
     return err;
 }
 
+static void watch_cb(void *_str, const char *path, const char *token)
+{
+    GString *str = _str;
+
+    g_string_append(str, path);
+    g_string_append(str, token);
+}
+
 static XenstoreImplState *setup(void)
 {
    XenstoreImplState *s = xs_impl_create();
@@ -75,6 +87,7 @@ static XenstoreImplState *setup(void)
 
    err = write_str(s, DOMID_QEMU, XBT_NULL, abspath, "");
    g_assert(!err);
+   g_assert(s->nr_nodes == 4);
 
    g_free(abspath);
 
@@ -93,6 +106,8 @@ static void test_xs_node_simple(void)
 {
     GByteArray *data = g_byte_array_new();
     XenstoreImplState *s = setup();
+    GString *guest_watches = g_string_new(NULL);
+    GString *qemu_watches = g_string_new(NULL);
     GList *items = NULL;
     XsNode *old_root;
     uint64_t gencnt;
@@ -100,6 +115,20 @@ static void test_xs_node_simple(void)
 
     g_assert(s);
 
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "guestwatch",
+                        watch_cb, guest_watches);
+    g_assert(!err);
+    g_assert(guest_watches->len == strlen("someguestwatch"));
+    g_assert(!strcmp(guest_watches->str, "someguestwatch"));
+    g_string_truncate(guest_watches, 0);
+
+    err = xs_impl_watch(s, 0, "/local/domain/1/some", "qemuwatch",
+                        watch_cb, qemu_watches);
+    g_assert(!err);
+    g_assert(qemu_watches->len == strlen("/local/domain/1/someqemuwatch"));
+    g_assert(!strcmp(qemu_watches->str, "/local/domain/1/someqemuwatch"));
+    g_string_truncate(qemu_watches, 0);
+
     /* Read gives ENOENT when it should */
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "foo", data);
     g_assert(err == ENOENT);
@@ -109,6 +138,14 @@ static void test_xs_node_simple(void)
                     "something");
     g_assert(s->nr_nodes == 7);
     g_assert(!err);
+    g_assert(!strcmp(guest_watches->str,
+                     "some/relative/pathguestwatch"));
+    g_assert(!strcmp(qemu_watches->str,
+                     "/local/domain/1/some/relative/pathqemuwatch"));
+
+    g_string_truncate(qemu_watches, 0);
+    g_string_truncate(guest_watches, 0);
+    xs_impl_reset_watches(s, 0);
 
     /* Read gives back what we wrote */
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative/path", data);
@@ -123,6 +160,8 @@ static void test_xs_node_simple(void)
     g_assert(!err);
     g_assert(data->len == strlen("something"));
 
+    g_assert(!qemu_watches->len);
+    g_assert(!guest_watches->len);
     /* Keep a copy, to force COW mode */
     old_root = xs_node_ref(s->root);
 
@@ -132,12 +171,18 @@ static void test_xs_node_simple(void)
                     "something else");
     g_assert(!err);
     g_assert(s->nr_nodes == 8);
+    g_assert(!qemu_watches->len);
+    g_assert(!strcmp(guest_watches->str, "some/relative/path2guestwatch"));
+    g_string_truncate(guest_watches, 0);
 
     /* Overwrite an existing node */
     err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
                     "another thing");
     g_assert(!err);
     g_assert(s->nr_nodes == 8);
+    g_assert(!qemu_watches->len);
+    g_assert(!strcmp(guest_watches->str, "some/relative/pathguestwatch"));
+    g_string_truncate(guest_watches, 0);
 
     /* We can list the two files we wrote */
     err = xs_impl_directory(s, DOMID_GUEST, XBT_NULL, "some/relative", &gencnt,
@@ -151,9 +196,38 @@ static void test_xs_node_simple(void)
     g_assert(!items->next->next);
     g_list_free_full(items, g_free);
 
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "guestwatch",
+                          watch_cb, guest_watches);
+    g_assert(!err);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "guestwatch",
+                          watch_cb, guest_watches);
+    g_assert(err == ENOENT);
+
+    err = xs_impl_watch(s, DOMID_GUEST, "some/relative/path2", "watchp2",
+                        watch_cb, guest_watches);
+    g_assert(!err);
+    g_assert(guest_watches->len == strlen("some/relative/path2watchp2"));
+    g_assert(!strcmp(guest_watches->str, "some/relative/path2watchp2"));
+    g_string_truncate(guest_watches, 0);
+
+    err = xs_impl_watch(s, DOMID_GUEST, "/local/domain/1/some/relative",
+                        "watchrel", watch_cb, guest_watches);
+    g_assert(!err);
+    g_assert(guest_watches->len ==
+             strlen("/local/domain/1/some/relativewatchrel"));
+    g_assert(!strcmp(guest_watches->str,
+                     "/local/domain/1/some/relativewatchrel"));
+    g_string_truncate(guest_watches, 0);
+
     /* Write somewhere else which already existed */
     err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative", "moredata");
     g_assert(!err);
+    g_assert(s->nr_nodes == 8);
+
+    g_assert(!strcmp(guest_watches->str,
+                     "/local/domain/1/some/relativewatchrel"));
+    g_string_truncate(guest_watches, 0);
 
     g_byte_array_set_size(data, 0);
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
@@ -164,6 +238,7 @@ static void test_xs_node_simple(void)
     /* Overwrite existing data */
     err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative", "otherdata");
     g_assert(!err);
+    g_string_truncate(guest_watches, 0);
 
     g_byte_array_set_size(data, 0);
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
@@ -176,11 +251,21 @@ static void test_xs_node_simple(void)
     g_assert(!err);
     g_assert(s->nr_nodes == 5);
 
+    /* Each watch fires with the least specific relevant path */
+    g_assert(strstr(guest_watches->str,
+                    "some/relative/path2watchp2"));
+    g_assert(strstr(guest_watches->str,
+                    "/local/domain/1/some/relativewatchrel"));
+    g_string_truncate(guest_watches, 0);
+
     g_byte_array_set_size(data, 0);
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
     g_assert(err == ENOENT);
     g_byte_array_unref(data);
 
+    xs_impl_reset_watches(s, DOMID_GUEST);
+    g_string_free(qemu_watches, true);
+    g_string_free(guest_watches, true);
     xs_node_unref(old_root);
     xs_impl_delete(s);
 }
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507649.781439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZawv-0000mR-Ka; Tue, 07 Mar 2023 17:18:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507649.781439; Tue, 07 Mar 2023 17: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 1pZawv-0000jZ-ES; Tue, 07 Mar 2023 17:18:05 +0000
Received: by outflank-mailman (input) for mailman id 507649;
 Tue, 07 Mar 2023 17: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZawu-0000az-A4
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:04 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 031861d2-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:01 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZawj-006axQ-Mp; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawj-009ch0-2H; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 031861d2-bd0c-11ed-96b5-2f268f93b82a
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=XIh3ll61F3sX986iPUVrlVyueMiEedyGWfVNda7J91g=; b=s1vzFv8usDAOKYT3mBInKZ10AG
	GV2+F8wNxv5HxSd/HHhOOcC6UvcYesDKDQ3viOZRhbEOVGdxfliwYeCrpRHXEyasux2ABjku5qA/8
	UhnUYv444FzT91UkU2EVLFeN1a6a8S5iWbKsQbvjlnKSIddmqW60O4chpTwqYsc798goaMqwlmfOh
	fE2i1Vc2SDTXjTOrg8uPTOfGSygz+bkVCKaKHgCL5uxudDKIVBuKMSziYZUQyp3QhCeeMH6AqGzTj
	UO3HuoNJfuoiT8jZzAttPbwkQSjH+Mfjrbkn09Ly5IRdxPaQgw+cSD/syCI3SVLEK3iBLC8/+nTEk
	8OtYyInQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 08/27] hw/xen: Create initial XenStore nodes
Date: Tue,  7 Mar 2023 17:17:31 +0000
Message-Id: <20230307171750.2293175-9-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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: Paul Durrant <pdurrant@amazon.com>

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c | 70 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 520422b147..fb3648a058 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -76,9 +76,39 @@ struct XenXenstoreState *xen_xenstore_singleton;
 static void xen_xenstore_event(void *opaque);
 static void fire_watch_cb(void *opaque, const char *path, const char *token);
 
+static void G_GNUC_PRINTF (4, 5) relpath_printf(XenXenstoreState *s,
+                                                GList *perms,
+                                                const char *relpath,
+                                                const char *fmt, ...)
+{
+    gchar *abspath;
+    gchar *value;
+    va_list args;
+    GByteArray *data;
+    int err;
+
+    abspath = g_strdup_printf("/local/domain/%u/%s", xen_domid, relpath);
+    va_start(args, fmt);
+    value = g_strdup_vprintf(fmt, args);
+    va_end(args);
+
+    data = g_byte_array_new_take((void *)value, strlen(value));
+
+    err = xs_impl_write(s->impl, DOMID_QEMU, XBT_NULL, abspath, data);
+    assert(!err);
+
+    g_byte_array_unref(data);
+
+    err = xs_impl_set_perms(s->impl, DOMID_QEMU, XBT_NULL, abspath, perms);
+    assert(!err);
+
+    g_free(abspath);
+}
+
 static void xen_xenstore_realize(DeviceState *dev, Error **errp)
 {
     XenXenstoreState *s = XEN_XENSTORE(dev);
+    GList *perms;
 
     if (xen_mode != XEN_EMULATE) {
         error_setg(errp, "Xen xenstore support is for Xen emulation");
@@ -102,6 +132,46 @@ static void xen_xenstore_realize(DeviceState *dev, Error **errp)
                        xen_xenstore_event, NULL, NULL, NULL, s);
 
     s->impl = xs_impl_create(xen_domid);
+
+    /* Populate the default nodes */
+
+    /* Nodes owned by 'dom0' but readable by the guest */
+    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, "", "%s", "");
+
+    relpath_printf(s, perms, "domid", "%u", xen_domid);
+
+    relpath_printf(s, perms, "control/platform-feature-xs_reset_watches", "%u", 1);
+    relpath_printf(s, perms, "control/platform-feature-multiprocessor-suspend", "%u", 1);
+
+    relpath_printf(s, perms, "platform/acpi", "%u", 1);
+    relpath_printf(s, perms, "platform/acpi_s3", "%u", 1);
+    relpath_printf(s, perms, "platform/acpi_s4", "%u", 1);
+    relpath_printf(s, perms, "platform/acpi_laptop_slate", "%u", 0);
+
+    g_list_free_full(perms, g_free);
+
+    /* Nodes owned by the guest */
+    perms = g_list_append(NULL, xs_perm_as_string(XS_PERM_NONE, xen_domid));
+
+    relpath_printf(s, perms, "attr", "%s", "");
+
+    relpath_printf(s, perms, "control/shutdown", "%s", "");
+    relpath_printf(s, perms, "control/feature-poweroff", "%u", 1);
+    relpath_printf(s, perms, "control/feature-reboot", "%u", 1);
+    relpath_printf(s, perms, "control/feature-suspend", "%u", 1);
+    relpath_printf(s, perms, "control/feature-s3", "%u", 1);
+    relpath_printf(s, perms, "control/feature-s4", "%u", 1);
+
+    relpath_printf(s, perms, "data", "%s", "");
+    relpath_printf(s, perms, "device", "%s", "");
+    relpath_printf(s, perms, "drivers", "%s", "");
+    relpath_printf(s, perms, "error", "%s", "");
+    relpath_printf(s, perms, "feature", "%s", "");
+
+    g_list_free_full(perms, g_free);
 }
 
 static bool xen_xenstore_is_needed(void *opaque)
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507654.781490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZawz-000226-7k; Tue, 07 Mar 2023 17:18:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507654.781490; Tue, 07 Mar 2023 17: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 1pZawy-0001yE-W8; Tue, 07 Mar 2023 17:18:09 +0000
Received: by outflank-mailman (input) for mailman id 507654;
 Tue, 07 Mar 2023 17:18: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZaww-0000az-A8
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:06 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03440ac8-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:01 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZawj-006axK-93; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawj-009cgX-0v; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 03440ac8-bd0c-11ed-96b5-2f268f93b82a
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=WnOlrCyXVBFqHNPB9VF+Knv7LZVlnO+BJbMZlWwhtOM=; b=Ese42rsBSpcCuAzK0lNjVG12f/
	bjzUk/o8zplDJPvCQJVD+jzlO3xB8cUlpWw2dFacS6QNVKAoLojIwEVYwstCAJqAM9LxD/jJ9xC8m
	8+cqpbF0V4NKV2IsMT3pyipVWWCpPBCyAvsex7xGWhOslnA/00TsxIEmPgF2deUtkgv0Z/Udq+Ecg
	W7OChP/eR758Ijw+dyQYzQRjC2l6+593FP8HbEO8svSidsdC7jGxryw1T8QmRCMLfa1cM1fWaKYY1
	eXvTxdjfOxjV4/l46/K9zYm6FJvsoLZmPz1rY1Wqh2IHzXe3V9nR025WYWvv5CJYNFvGbBptfrGgr
	gs+D/PMQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 01/27] hw/xen: Add xenstore wire implementation and implementation stubs
Date: Tue,  7 Mar 2023 17:17:24 +0000
Message-Id: <20230307171750.2293175-2-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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 implements the basic wire protocol for the XenStore commands, punting
all the actual implementation to xs_impl_* functions which all just return
errors for now.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/meson.build     |   1 +
 hw/i386/kvm/trace-events    |  15 +
 hw/i386/kvm/xen_xenstore.c  | 871 +++++++++++++++++++++++++++++++++++-
 hw/i386/kvm/xenstore_impl.c | 117 +++++
 hw/i386/kvm/xenstore_impl.h |  58 +++
 5 files changed, 1054 insertions(+), 8 deletions(-)
 create mode 100644 hw/i386/kvm/xenstore_impl.c
 create mode 100644 hw/i386/kvm/xenstore_impl.h

diff --git a/hw/i386/kvm/meson.build b/hw/i386/kvm/meson.build
index 82dd6ae7c6..6621ba5cd7 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',
+  'xenstore_impl.c',
   ))
 
 i386_ss.add_all(when: 'CONFIG_KVM', if_true: i386_kvm_ss)
diff --git a/hw/i386/kvm/trace-events b/hw/i386/kvm/trace-events
index b83c3eb965..e4c82de6f3 100644
--- a/hw/i386/kvm/trace-events
+++ b/hw/i386/kvm/trace-events
@@ -3,3 +3,18 @@ kvm_xen_unmap_pirq(int pirq, int gsi) "pirq %d gsi %d"
 kvm_xen_get_free_pirq(int pirq, int type) "pirq %d type %d"
 kvm_xen_bind_pirq(int pirq, int port) "pirq %d port %d"
 kvm_xen_unmask_pirq(int pirq, char *dev, int vector) "pirq %d dev %s vector %d"
+xenstore_error(unsigned int id, unsigned int tx_id, const char *err) "req %u tx %u err %s"
+xenstore_read(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_write(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_mkdir(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_directory(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_directory_part(unsigned int tx_id, const char *path, unsigned int offset) "tx %u path %s offset %u"
+xenstore_transaction_start(unsigned int new_tx) "new_tx %u"
+xenstore_transaction_end(unsigned int tx_id, bool commit) "tx %u commit %d"
+xenstore_rm(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_get_perms(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_set_perms(unsigned int tx_id, const char *path) "tx %u path %s"
+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"
diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 14193ef3f9..64d8f1a38f 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -28,6 +28,10 @@
 #include "sysemu/kvm.h"
 #include "sysemu/kvm_xen.h"
 
+#include "trace.h"
+
+#include "xenstore_impl.h"
+
 #include "hw/xen/interface/io/xs_wire.h"
 #include "hw/xen/interface/event_channel.h"
 
@@ -47,6 +51,9 @@ struct XenXenstoreState {
     SysBusDevice busdev;
     /*< public >*/
 
+    XenstoreImplState *impl;
+    GList *watch_events;
+
     MemoryRegion xenstore_page;
     struct xenstore_domain_interface *xs;
     uint8_t req_data[XENSTORE_HEADER_SIZE + XENSTORE_PAYLOAD_MAX];
@@ -64,6 +71,7 @@ struct XenXenstoreState {
 struct XenXenstoreState *xen_xenstore_singleton;
 
 static void xen_xenstore_event(void *opaque);
+static void fire_watch_cb(void *opaque, const char *path, const char *token);
 
 static void xen_xenstore_realize(DeviceState *dev, Error **errp)
 {
@@ -89,6 +97,8 @@ static void xen_xenstore_realize(DeviceState *dev, Error **errp)
     }
     aio_set_fd_handler(qemu_get_aio_context(), xen_be_evtchn_fd(s->eh), true,
                        xen_xenstore_event, NULL, NULL, NULL, s);
+
+    s->impl = xs_impl_create();
 }
 
 static bool xen_xenstore_is_needed(void *opaque)
@@ -213,20 +223,761 @@ static void reset_rsp(XenXenstoreState *s)
     s->rsp_offset = 0;
 }
 
+static void xs_error(XenXenstoreState *s, unsigned int id,
+                     xs_transaction_t tx_id, int errnum)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    const char *errstr = NULL;
+
+    for (unsigned int i = 0; i < ARRAY_SIZE(xsd_errors); i++) {
+        struct xsd_errors *xsd_error = &xsd_errors[i];
+
+        if (xsd_error->errnum == errnum) {
+            errstr = xsd_error->errstring;
+            break;
+        }
+    }
+    assert(errstr);
+
+    trace_xenstore_error(id, tx_id, errstr);
+
+    rsp->type = XS_ERROR;
+    rsp->req_id = id;
+    rsp->tx_id = tx_id;
+    rsp->len = (uint32_t)strlen(errstr) + 1;
+
+    memcpy(&rsp[1], errstr, rsp->len);
+}
+
+static void xs_ok(XenXenstoreState *s, unsigned int type, unsigned int req_id,
+                  xs_transaction_t tx_id)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    const char *okstr = "OK";
+
+    rsp->type = type;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = (uint32_t)strlen(okstr) + 1;
+
+    memcpy(&rsp[1], okstr, rsp->len);
+}
+
+/*
+ * The correct request and response formats are documented in xen.git:
+ * docs/misc/xenstore.txt. A summary is given below for convenience.
+ * The '|' symbol represents a NUL character.
+ *
+ * ---------- Database read, write and permissions operations ----------
+ *
+ * READ                    <path>|                 <value|>
+ * WRITE                   <path>|<value|>
+ *         Store and read the octet string <value> at <path>.
+ *         WRITE creates any missing parent paths, with empty values.
+ *
+ * MKDIR                   <path>|
+ *         Ensures that the <path> exists, by necessary by creating
+ *         it and any missing parents with empty values.  If <path>
+ *         or any parent already exists, its value is left unchanged.
+ *
+ * RM                      <path>|
+ *         Ensures that the <path> does not exist, by deleting
+ *         it and all of its children.  It is not an error if <path> does
+ *         not exist, but it _is_ an error if <path>'s immediate parent
+ *         does not exist either.
+ *
+ * DIRECTORY               <path>|                 <child-leaf-name>|*
+ *         Gives a list of the immediate children of <path>, as only the
+ *         leafnames.  The resulting children are each named
+ *         <path>/<child-leaf-name>.
+ *
+ * DIRECTORY_PART          <path>|<offset>         <gencnt>|<child-leaf-name>|*
+ *         Same as DIRECTORY, but to be used for children lists longer than
+ *         XENSTORE_PAYLOAD_MAX. Input are <path> and the byte offset into
+ *         the list of children to return. Return values are the generation
+ *         count <gencnt> of the node (to be used to ensure the node hasn't
+ *         changed between two reads: <gencnt> being the same for multiple
+ *         reads guarantees the node hasn't changed) and the list of children
+ *         starting at the specified <offset> of the complete list.
+ *
+ * GET_PERMS               <path>|                 <perm-as-string>|+
+ * SET_PERMS               <path>|<perm-as-string>|+?
+ *         <perm-as-string> is one of the following
+ *                 w<domid>        write only
+ *                 r<domid>        read only
+ *                 b<domid>        both read and write
+ *                 n<domid>        no access
+ *         See https://wiki.xen.org/wiki/XenBus section
+ *         `Permissions' for details of the permissions system.
+ *         It is possible to set permissions for the special watch paths
+ *         "@introduceDomain" and "@releaseDomain" to enable receiving those
+ *         watches in unprivileged domains.
+ *
+ * ---------- Watches ----------
+ *
+ * WATCH                   <wpath>|<token>|?
+ *         Adds a watch.
+ *
+ *         When a <path> is modified (including path creation, removal,
+ *         contents change or permissions change) this generates an event
+ *         on the changed <path>.  Changes made in transactions cause an
+ *         event only if and when committed.  Each occurring event is
+ *         matched against all the watches currently set up, and each
+ *         matching watch results in a WATCH_EVENT message (see below).
+ *
+ *         The event's path matches the watch's <wpath> if it is an child
+ *         of <wpath>.
+ *
+ *         <wpath> can be a <path> to watch or @<wspecial>.  In the
+ *         latter case <wspecial> may have any syntax but it matches
+ *         (according to the rules above) only the following special
+ *         events which are invented by xenstored:
+ *             @introduceDomain    occurs on INTRODUCE
+ *             @releaseDomain      occurs on any domain crash or
+ *                                 shutdown, and also on RELEASE
+ *                                 and domain destruction
+ *         <wspecial> events are sent to privileged callers or explicitly
+ *         via SET_PERMS enabled domains only.
+ *
+ *         When a watch is first set up it is triggered once straight
+ *         away, with <path> equal to <wpath>.  Watches may be triggered
+ *         spuriously.  The tx_id in a WATCH request is ignored.
+ *
+ *         Watches are supposed to be restricted by the permissions
+ *         system but in practice the implementation is imperfect.
+ *         Applications should not rely on being sent a notification for
+ *         paths that they cannot read; however, an application may rely
+ *         on being sent a watch when a path which it _is_ able to read
+ *         is deleted even if that leaves only a nonexistent unreadable
+ *         parent.  A notification may omitted if a node's permissions
+ *         are changed so as to make it unreadable, in which case future
+ *         notifications may be suppressed (and if the node is later made
+ *         readable, some notifications may have been lost).
+ *
+ * WATCH_EVENT                                     <epath>|<token>|
+ *         Unsolicited `reply' generated for matching modification events
+ *         as described above.  req_id and tx_id are both 0.
+ *
+ *         <epath> is the event's path, ie the actual path that was
+ *         modified; however if the event was the recursive removal of an
+ *         parent of <wpath>, <epath> is just
+ *         <wpath> (rather than the actual path which was removed).  So
+ *         <epath> is a child of <wpath>, regardless.
+ *
+ *         Iff <wpath> for the watch was specified as a relative pathname,
+ *         the <epath> path will also be relative (with the same base,
+ *         obviously).
+ *
+ * UNWATCH                 <wpath>|<token>|?
+ *
+ * RESET_WATCHES           |
+ *         Reset all watches and transactions of the caller.
+ *
+ * ---------- Transactions ----------
+ *
+ * TRANSACTION_START       |                       <transid>|
+ *         <transid> is an opaque uint32_t allocated by xenstored
+ *         represented as unsigned decimal.  After this, transaction may
+ *         be referenced by using <transid> (as 32-bit binary) in the
+ *         tx_id request header field.  When transaction is started whole
+ *         db is copied; reads and writes happen on the copy.
+ *         It is not legal to send non-0 tx_id in TRANSACTION_START.
+ *
+ * TRANSACTION_END         T|
+ * TRANSACTION_END         F|
+ *         tx_id must refer to existing transaction.  After this
+ *         request the tx_id is no longer valid and may be reused by
+ *         xenstore.  If F, the transaction is discarded.  If T,
+ *         it is committed: if there were any other intervening writes
+ *         then our END gets get EAGAIN.
+ *
+ *         The plan is that in the future only intervening `conflicting'
+ *         writes cause EAGAIN, meaning only writes or other commits
+ *         which changed paths which were read or written in the
+ *         transaction at hand.
+ *
+ */
+
+static void xs_read(XenXenstoreState *s, unsigned int req_id,
+                    xs_transaction_t tx_id, uint8_t *req_data, unsigned int len)
+{
+    const char *path = (const char *)req_data;
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    uint8_t *rsp_data = (uint8_t *)&rsp[1];
+    g_autoptr(GByteArray) data = g_byte_array_new();
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_read(tx_id, path);
+    err = xs_impl_read(s->impl, xen_domid, tx_id, path, data);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    rsp->type = XS_READ;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = 0;
+
+    len = data->len;
+    if (len > XENSTORE_PAYLOAD_MAX) {
+        xs_error(s, req_id, tx_id, E2BIG);
+        return;
+    }
+
+    memcpy(&rsp_data[rsp->len], data->data, len);
+    rsp->len += len;
+}
+
+static void xs_write(XenXenstoreState *s, unsigned int req_id,
+                     xs_transaction_t tx_id, uint8_t *req_data,
+                     unsigned int len)
+{
+    g_autoptr(GByteArray) data = g_byte_array_new();
+    const char *path;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    path = (const char *)req_data;
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    g_byte_array_append(data, req_data, len);
+
+    trace_xenstore_write(tx_id, path);
+    err = xs_impl_write(s->impl, xen_domid, tx_id, path, data);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_WRITE, req_id, tx_id);
+}
+
+static void xs_mkdir(XenXenstoreState *s, unsigned int req_id,
+                     xs_transaction_t tx_id, uint8_t *req_data,
+                     unsigned int len)
+{
+    g_autoptr(GByteArray) data = g_byte_array_new();
+    const char *path;
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    path = (const char *)req_data;
+
+    trace_xenstore_mkdir(tx_id, path);
+    err = xs_impl_read(s->impl, xen_domid, tx_id, path, data);
+    if (err == ENOENT) {
+        err = xs_impl_write(s->impl, xen_domid, tx_id, path, data);
+    }
+
+    if (!err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_MKDIR, req_id, tx_id);
+}
+
+static void xs_append_strings(XenXenstoreState *s, struct xsd_sockmsg *rsp,
+                              GList *strings, unsigned int start, bool truncate)
+{
+    uint8_t *rsp_data = (uint8_t *)&rsp[1];
+    GList *l;
+
+    for (l = strings; l; l = l->next) {
+        size_t len = strlen(l->data) + 1; /* Including the NUL termination */
+        char *str = l->data;
+
+        if (rsp->len + len > XENSTORE_PAYLOAD_MAX) {
+            if (truncate) {
+                len = XENSTORE_PAYLOAD_MAX - rsp->len;
+                if (!len) {
+                    return;
+                }
+            } else {
+                xs_error(s, rsp->req_id, rsp->tx_id, E2BIG);
+                return;
+            }
+        }
+
+        if (start) {
+            if (start >= len) {
+                start -= len;
+                continue;
+            }
+
+            str += start;
+            len -= start;
+            start = 0;
+        }
+
+        memcpy(&rsp_data[rsp->len], str, len);
+        rsp->len += len;
+    }
+    /* XS_DIRECTORY_PART wants an extra NUL to indicate the end */
+    if (truncate && rsp->len < XENSTORE_PAYLOAD_MAX) {
+        rsp_data[rsp->len++] = '\0';
+    }
+}
+
+static void xs_directory(XenXenstoreState *s, unsigned int req_id,
+                         xs_transaction_t tx_id, uint8_t *req_data,
+                         unsigned int len)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    GList *items = NULL;
+    const char *path;
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    path = (const char *)req_data;
+
+    trace_xenstore_directory(tx_id, path);
+    err = xs_impl_directory(s->impl, xen_domid, tx_id, path, NULL, &items);
+    if (err != 0) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    rsp->type = XS_DIRECTORY;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = 0;
+
+    xs_append_strings(s, rsp, items, 0, false);
+
+    g_list_free_full(items, g_free);
+}
+
+static void xs_directory_part(XenXenstoreState *s, unsigned int req_id,
+                              xs_transaction_t tx_id, uint8_t *req_data,
+                              unsigned int len)
+{
+    const char *offset_str, *path = (const char *)req_data;
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    char *rsp_data = (char *)&rsp[1];
+    uint64_t gencnt = 0;
+    unsigned int offset;
+    GList *items = NULL;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    offset_str = (const char *)req_data;
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    if (len) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    if (qemu_strtoui(offset_str, NULL, 10, &offset) < 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_directory_part(tx_id, path, offset);
+    err = xs_impl_directory(s->impl, xen_domid, tx_id, path, &gencnt, &items);
+    if (err != 0) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    rsp->type = XS_DIRECTORY_PART;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = snprintf(rsp_data, XENSTORE_PAYLOAD_MAX, "%" PRIu64, gencnt) + 1;
+
+    xs_append_strings(s, rsp, items, offset, true);
+
+    g_list_free_full(items, g_free);
+}
+
+static void xs_transaction_start(XenXenstoreState *s, unsigned int req_id,
+                                 xs_transaction_t tx_id, uint8_t *req_data,
+                                 unsigned int len)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    char *rsp_data = (char *)&rsp[1];
+    int err;
+
+    if (len != 1 || req_data[0] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    rsp->type = XS_TRANSACTION_START;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = 0;
+
+    err = xs_impl_transaction_start(s->impl, xen_domid, &tx_id);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    trace_xenstore_transaction_start(tx_id);
+
+    rsp->len = snprintf(rsp_data, XENSTORE_PAYLOAD_MAX, "%u", tx_id);
+    assert(rsp->len < XENSTORE_PAYLOAD_MAX);
+    rsp->len++;
+}
+
+static void xs_transaction_end(XenXenstoreState *s, unsigned int req_id,
+                               xs_transaction_t tx_id, uint8_t *req_data,
+                               unsigned int len)
+{
+    bool commit;
+    int err;
+
+    if (len != 2 || req_data[1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    switch (req_data[0]) {
+    case 'T':
+        commit = true;
+        break;
+    case 'F':
+        commit = false;
+        break;
+    default:
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_transaction_end(tx_id, commit);
+    err = xs_impl_transaction_end(s->impl, xen_domid, tx_id, commit);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_TRANSACTION_END, req_id, tx_id);
+}
+
+static void xs_rm(XenXenstoreState *s, unsigned int req_id,
+                  xs_transaction_t tx_id, uint8_t *req_data, unsigned int len)
+{
+    const char *path = (const char *)req_data;
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_rm(tx_id, path);
+    err = xs_impl_rm(s->impl, xen_domid, tx_id, path);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_RM, req_id, tx_id);
+}
+
+static void xs_get_perms(XenXenstoreState *s, unsigned int req_id,
+                         xs_transaction_t tx_id, uint8_t *req_data,
+                         unsigned int len)
+{
+    const char *path = (const char *)req_data;
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    GList *perms = NULL;
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_get_perms(tx_id, path);
+    err = xs_impl_get_perms(s->impl, xen_domid, tx_id, path, &perms);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    rsp->type = XS_GET_PERMS;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = 0;
+
+    xs_append_strings(s, rsp, perms, 0, false);
+
+    g_list_free_full(perms, g_free);
+}
+
+static void xs_set_perms(XenXenstoreState *s, unsigned int req_id,
+                         xs_transaction_t tx_id, uint8_t *req_data,
+                         unsigned int len)
+{
+    const char *path = (const char *)req_data;
+    uint8_t *perm;
+    GList *perms = NULL;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    perm = req_data;
+    while (len--) {
+        if (*req_data++ == '\0') {
+            perms = g_list_append(perms, perm);
+            perm = req_data;
+        }
+    }
+
+    /*
+     * Note that there may be trailing garbage at the end of the buffer.
+     * This is explicitly permitted by the '?' at the end of the definition:
+     *
+     *    SET_PERMS         <path>|<perm-as-string>|+?
+     */
+
+    trace_xenstore_set_perms(tx_id, path);
+    err = xs_impl_set_perms(s->impl, xen_domid, tx_id, path, perms);
+    g_list_free(perms);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_SET_PERMS, req_id, tx_id);
+}
+
+static void xs_watch(XenXenstoreState *s, unsigned int req_id,
+                     xs_transaction_t tx_id, uint8_t *req_data,
+                     unsigned int len)
+{
+    const char *token, *path = (const char *)req_data;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    token = (const char *)req_data;
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    /*
+     * Note that there may be trailing garbage at the end of the buffer.
+     * This is explicitly permitted by the '?' at the end of the definition:
+     *
+     *    WATCH             <wpath>|<token>|?
+     */
+
+    trace_xenstore_watch(path, token);
+    err = xs_impl_watch(s->impl, xen_domid, path, token, fire_watch_cb, s);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_WATCH, req_id, tx_id);
+}
+
+static void xs_unwatch(XenXenstoreState *s, unsigned int req_id,
+                       xs_transaction_t tx_id, uint8_t *req_data,
+                       unsigned int len)
+{
+    const char *token, *path = (const char *)req_data;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    token = (const char *)req_data;
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    trace_xenstore_unwatch(path, token);
+    err = xs_impl_unwatch(s->impl, xen_domid, path, token, fire_watch_cb, s);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_UNWATCH, req_id, tx_id);
+}
+
+static void xs_reset_watches(XenXenstoreState *s, unsigned int req_id,
+                             xs_transaction_t tx_id, uint8_t *req_data,
+                             unsigned int len)
+{
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_reset_watches();
+    xs_impl_reset_watches(s->impl, xen_domid);
+
+    xs_ok(s, XS_RESET_WATCHES, req_id, tx_id);
+}
+
+static void xs_priv(XenXenstoreState *s, unsigned int req_id,
+                    xs_transaction_t tx_id, uint8_t *data,
+                    unsigned int len)
+{
+    xs_error(s, req_id, tx_id, EACCES);
+}
+
+static void xs_unimpl(XenXenstoreState *s, unsigned int req_id,
+                      xs_transaction_t tx_id, uint8_t *data,
+                      unsigned int len)
+{
+    xs_error(s, req_id, tx_id, ENOSYS);
+}
+
+typedef void (*xs_impl)(XenXenstoreState *s, unsigned int req_id,
+                        xs_transaction_t tx_id, uint8_t *data,
+                        unsigned int len);
+
+struct xsd_req {
+    const char *name;
+    xs_impl fn;
+};
+#define XSD_REQ(_type, _fn)                           \
+    [_type] = { .name = #_type, .fn = _fn }
+
+struct xsd_req xsd_reqs[] = {
+    XSD_REQ(XS_READ, xs_read),
+    XSD_REQ(XS_WRITE, xs_write),
+    XSD_REQ(XS_MKDIR, xs_mkdir),
+    XSD_REQ(XS_DIRECTORY, xs_directory),
+    XSD_REQ(XS_DIRECTORY_PART, xs_directory_part),
+    XSD_REQ(XS_TRANSACTION_START, xs_transaction_start),
+    XSD_REQ(XS_TRANSACTION_END, xs_transaction_end),
+    XSD_REQ(XS_RM, xs_rm),
+    XSD_REQ(XS_GET_PERMS, xs_get_perms),
+    XSD_REQ(XS_SET_PERMS, xs_set_perms),
+    XSD_REQ(XS_WATCH, xs_watch),
+    XSD_REQ(XS_UNWATCH, xs_unwatch),
+    XSD_REQ(XS_CONTROL, xs_priv),
+    XSD_REQ(XS_INTRODUCE, xs_priv),
+    XSD_REQ(XS_RELEASE, xs_priv),
+    XSD_REQ(XS_IS_DOMAIN_INTRODUCED, xs_priv),
+    XSD_REQ(XS_RESUME, xs_priv),
+    XSD_REQ(XS_SET_TARGET, xs_priv),
+    XSD_REQ(XS_RESET_WATCHES, xs_reset_watches),
+};
+
 static void process_req(XenXenstoreState *s)
 {
     struct xsd_sockmsg *req = (struct xsd_sockmsg *)s->req_data;
-    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
-    const char enosys[] = "ENOSYS";
+    xs_impl handler = NULL;
 
     assert(req_pending(s));
     assert(!s->rsp_pending);
 
-    rsp->type = XS_ERROR;
-    rsp->req_id = req->req_id;
-    rsp->tx_id = req->tx_id;
-    rsp->len = sizeof(enosys);
-    memcpy((void *)&rsp[1], enosys, sizeof(enosys));
+    if (req->type < ARRAY_SIZE(xsd_reqs)) {
+        handler = xsd_reqs[req->type].fn;
+    }
+    if (!handler) {
+        handler = &xs_unimpl;
+    }
+
+    handler(s, req->req_id, req->tx_id, (uint8_t *)&req[1], req->len);
 
     s->rsp_pending = true;
     reset_req(s);
@@ -415,6 +1166,106 @@ static unsigned int put_rsp(XenXenstoreState *s)
     return copylen;
 }
 
+static void deliver_watch(XenXenstoreState *s, const char *path,
+                          const char *token)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    uint8_t *rsp_data = (uint8_t *)&rsp[1];
+    unsigned int len;
+
+    assert(!s->rsp_pending);
+
+    trace_xenstore_watch_event(path, token);
+
+    rsp->type = XS_WATCH_EVENT;
+    rsp->req_id = 0;
+    rsp->tx_id = 0;
+    rsp->len = 0;
+
+    len = strlen(path);
+
+    /* XENSTORE_ABS/REL_PATH_MAX should ensure there can be no overflow */
+    assert(rsp->len + len < XENSTORE_PAYLOAD_MAX);
+
+    memcpy(&rsp_data[rsp->len], path, len);
+    rsp->len += len;
+    rsp_data[rsp->len] = '\0';
+    rsp->len++;
+
+    len = strlen(token);
+    /*
+     * It is possible for the guest to have chosen a token that will
+     * not fit (along with the patch) into a watch event. We have no
+     * choice but to drop the event if this is the case.
+     */
+    if (rsp->len + len >= XENSTORE_PAYLOAD_MAX) {
+        return;
+    }
+
+    memcpy(&rsp_data[rsp->len], token, len);
+    rsp->len += len;
+    rsp_data[rsp->len] = '\0';
+    rsp->len++;
+
+    s->rsp_pending = true;
+}
+
+struct watch_event {
+    char *path;
+    char *token;
+};
+
+static void queue_watch(XenXenstoreState *s, const char *path,
+                        const char *token)
+{
+    struct watch_event *ev = g_new0(struct watch_event, 1);
+
+    ev->path = g_strdup(path);
+    ev->token = g_strdup(token);
+
+    s->watch_events = g_list_append(s->watch_events, ev);
+}
+
+static void fire_watch_cb(void *opaque, const char *path, const char *token)
+{
+    XenXenstoreState *s = opaque;
+
+    assert(qemu_mutex_iothread_locked());
+
+    /*
+     * If there's a response pending, we obviously can't scribble over
+     * it. But if there's a request pending, it has dibs on the buffer
+     * too.
+     *
+     * In the common case of a watch firing due to backend activity
+     * when the ring was otherwise idle, we should be able to copy the
+     * strings directly into the rsp_data and thence the actual ring,
+     * without needing to perform any allocations and queue them.
+     */
+    if (s->rsp_pending || req_pending(s)) {
+        queue_watch(s, path, 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.
+         */
+        xen_be_evtchn_notify(s->eh, s->be_port);
+    }
+}
+
+static void process_watch_events(XenXenstoreState *s)
+{
+    struct watch_event *ev = s->watch_events->data;
+
+    deliver_watch(s, ev->path, ev->token);
+
+    s->watch_events = g_list_remove(s->watch_events, ev);
+    g_free(ev->path);
+    g_free(ev->token);
+    g_free(ev);
+}
+
 static void xen_xenstore_event(void *opaque)
 {
     XenXenstoreState *s = opaque;
@@ -433,6 +1284,10 @@ static void xen_xenstore_event(void *opaque)
         copied_to = copied_from = 0;
         processed = false;
 
+        if (!s->rsp_pending && s->watch_events) {
+            process_watch_events(s);
+        }
+
         if (s->rsp_pending) {
             copied_to = put_rsp(s);
         }
@@ -441,7 +1296,7 @@ static void xen_xenstore_event(void *opaque)
             copied_from = get_req(s);
         }
 
-        if (req_pending(s) && !s->rsp_pending) {
+        if (req_pending(s) && !s->rsp_pending && !s->watch_events) {
             process_req(s);
             processed = true;
         }
diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
new file mode 100644
index 0000000000..31dbc98fe0
--- /dev/null
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -0,0 +1,117 @@
+/*
+ * QEMU Xen emulation: The actual implementation of XenStore
+ *
+ * Copyright © 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Authors: David Woodhouse <dwmw2@infradead.org>, Paul Durrant <paul@xen.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 "xen_xenstore.h"
+#include "xenstore_impl.h"
+
+struct XenstoreImplState {
+};
+
+int xs_impl_read(XenstoreImplState *s, unsigned int dom_id,
+                 xs_transaction_t tx_id, const char *path, GByteArray *data)
+{
+    /*
+     * The data GByteArray shall exist, and will be freed by caller.
+     * Just g_byte_array_append() to it.
+     */
+    return ENOENT;
+}
+
+int xs_impl_write(XenstoreImplState *s, unsigned int dom_id,
+                  xs_transaction_t tx_id, const char *path, GByteArray *data)
+{
+    /*
+     * The data GByteArray shall exist, will be freed by caller. You are
+     * free to use g_byte_array_steal() and keep the data.
+     */
+    return ENOSYS;
+}
+
+int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path,
+                      uint64_t *gencnt, GList **items)
+{
+    /*
+     * The items are (char *) to be freed by caller. Although it's consumed
+     * immediately so if you want to change it to (const char *) and keep
+     * them, go ahead and change the caller.
+     */
+    return ENOENT;
+}
+
+int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
+                              xs_transaction_t *tx_id)
+{
+    return ENOSYS;
+}
+
+int xs_impl_transaction_end(XenstoreImplState *s, unsigned int dom_id,
+                            xs_transaction_t tx_id, bool commit)
+{
+    return ENOSYS;
+}
+
+int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
+               xs_transaction_t tx_id, const char *path)
+{
+    return ENOSYS;
+}
+
+int xs_impl_get_perms(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path, GList **perms)
+{
+    /*
+     * The perms are (char *) in the <perm-as-string> wire format to be
+     * freed by the caller.
+     */
+    return ENOSYS;
+}
+
+int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path, GList *perms)
+{
+    /*
+     * The perms are (const char *) in the <perm-as-string> wire format.
+     */
+    return ENOSYS;
+}
+
+int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
+                  const char *token, xs_impl_watch_fn fn, void *opaque)
+{
+    /*
+     * When calling the callback @fn, note that the path should
+     * precisely match the relative path that the guest provided, even
+     * if it was a relative path which needed to be prefixed with
+     * /local/domain/${domid}/
+     */
+    return ENOSYS;
+}
+
+int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
+                    const char *path, const char *token,
+                    xs_impl_watch_fn fn, void *opaque)
+{
+    /* Remove the watch that matches all four criteria */
+    return ENOSYS;
+}
+
+int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id)
+{
+    return ENOSYS;
+}
+
+XenstoreImplState *xs_impl_create(void)
+{
+    return g_new0(XenstoreImplState, 1);
+}
diff --git a/hw/i386/kvm/xenstore_impl.h b/hw/i386/kvm/xenstore_impl.h
new file mode 100644
index 0000000000..beb7b29ab8
--- /dev/null
+++ b/hw/i386/kvm/xenstore_impl.h
@@ -0,0 +1,58 @@
+/*
+ * QEMU Xen emulation: The actual implementation of XenStore
+ *
+ * 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_XENSTORE_IMPL_H
+#define QEMU_XENSTORE_IMPL_H
+
+typedef uint32_t xs_transaction_t;
+
+#define XBT_NULL 0
+
+typedef struct XenstoreImplState XenstoreImplState;
+
+XenstoreImplState *xs_impl_create(void);
+
+/*
+ * These functions return *positive* error numbers. This is a little
+ * unconventional but it helps to keep us honest because there is
+ * also a very limited set of error numbers that they are permitted
+ * to return (those in xsd_errors).
+ */
+
+int xs_impl_read(XenstoreImplState *s, unsigned int dom_id,
+                 xs_transaction_t tx_id, const char *path, GByteArray *data);
+int xs_impl_write(XenstoreImplState *s, unsigned int dom_id,
+                  xs_transaction_t tx_id, const char *path, GByteArray *data);
+int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path,
+                      uint64_t *gencnt, GList **items);
+int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
+                              xs_transaction_t *tx_id);
+int xs_impl_transaction_end(XenstoreImplState *s, unsigned int dom_id,
+                            xs_transaction_t tx_id, bool commit);
+int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
+               xs_transaction_t tx_id, const char *path);
+int xs_impl_get_perms(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path, GList **perms);
+int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path, GList *perms);
+
+/* This differs from xs_watch_fn because it has the token */
+typedef void(xs_impl_watch_fn)(void *opaque, const char *path,
+                               const char *token);
+int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
+                  const char *token, xs_impl_watch_fn fn, void *opaque);
+int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
+                    const char *path, const char *token, xs_impl_watch_fn fn,
+                    void *opaque);
+int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id);
+
+#endif /* QEMU_XENSTORE_IMPL_H */
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507650.781448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaww-0000xt-81; Tue, 07 Mar 2023 17:18:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507650.781448; Tue, 07 Mar 2023 17:18:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaww-0000v0-2Q; Tue, 07 Mar 2023 17:18:06 +0000
Received: by outflank-mailman (input) for mailman id 507650;
 Tue, 07 Mar 2023 17:18: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZawu-0000bA-Kd
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:04 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0318280e-bd0c-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 18:18:01 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZawk-006ayC-MQ; Tue, 07 Mar 2023 17:17:55 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009ciE-2F; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 0318280e-bd0c-11ed-a550-8520e6686977
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=4BkL9NyCgm8G9JQUlKfpShNc/FIh4cWQeRocuey9tU8=; b=GeUVdgGSmXJsf28yr1m+YFJgP/
	I4tHijoLmJrTrjvs1rNLLzvJaMez8nnt6Mk6GaUzAhBXARxsG7ZVcxtOpuv4LlW2jLTOv4wyZS7M4
	VdSDxy7zkp3Fl1VuiIhammfD36oC9MFdn4+cXhnk4zVsvhbSQ/rDYutcuLq+ZKJX9+IPpAotMG5zs
	jfvmEPVq/5Fbv/cyvlLMU0q2C7vEe4RcX9qOuGmVwtDEKHT1Xw41lGVyD6YKdRcnIs7A6FR+wNK+O
	yOJiAlQlp+ddkCZj1fCo2bAk6xVImZSk4cjuTq/BNoZ10qtxrCLGZAhCxYmUbKDC2Twd1aGGaMPBL
	s1I0IAiQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 25/27] i386/xen: Initialize Xen backends from pc_basic_device_init() for emulation
Date: Tue,  7 Mar 2023 17:17:48 +0000
Message-Id: <20230307171750.2293175-26-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>

Now that all the work is done to enable the PV backends to work without
actual Xen, instantiate the bus from pc_basic_device_init() for emulated
mode.

This allows us finally to launch an emulated Xen guest with PV disk.

   qemu-system-x86_64 -serial mon:stdio -M q35 -cpu host -display none \
     -m 1G -smp 2 -accel kvm,xen-version=0x4000a,kernel-irqchip=split \
     -kernel bzImage -append "console=ttyS0 root=/dev/xvda1" \
     -drive file=/var/lib/libvirt/images/fedora28.qcow2,if=none,id=disk \
     -device xen-disk,drive=disk,vdev=xvda

If we use -M pc instead of q35, we can even add an IDE disk and boot a
guest image normally through grub. But q35 gives us AHCI and that isn't
unplugged by the Xen magic, so the guests ends up seeing "both" disks.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/pc.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 7bebea57e3..1489abf010 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -102,6 +102,11 @@
 #include "trace.h"
 #include CONFIG_DEVICES
 
+#ifdef CONFIG_XEN_EMU
+#include "hw/xen/xen-legacy-backend.h"
+#include "hw/xen/xen-bus.h"
+#endif
+
 /*
  * Helper for setting model-id for CPU models that changed model-id
  * depending on QEMU versions up to QEMU 2.4.
@@ -1318,6 +1323,8 @@ void pc_basic_device_init(struct PCMachineState *pcms,
         if (pcms->bus) {
             pci_create_simple(pcms->bus, -1, "xen-platform");
         }
+        xen_bus_init();
+        xen_be_init();
     }
 #endif
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507653.781484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZawy-0001uc-QC; Tue, 07 Mar 2023 17:18:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507653.781484; Tue, 07 Mar 2023 17: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 1pZawy-0001t7-K5; Tue, 07 Mar 2023 17:18:08 +0000
Received: by outflank-mailman (input) for mailman id 507653;
 Tue, 07 Mar 2023 17: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZaww-0000bA-AG
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 0315b127-bd0c-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 18:18:01 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZawk-006ay5-A0; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009chi-10; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 0315b127-bd0c-11ed-a550-8520e6686977
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=BHJMHnydR0+hWti+8rkf/Wiysg+WP6PP8ZazFEExUkk=; b=Rmf/g5ViByK25cx3jA6jNlVCTF
	hYIlX4/w8YM91bwd0OrsWETr2r4Rjnr9F5PXvC3pTWwQpqjTPjSrGNEi+7GfZDN7CtUxyVCEqxsSh
	Urhn+NBsyWNjF2BoMEod9No4LyG9TaRjIPijIUKaqYNuBiwPCYPjGZKPzKO+X1dRVrUeREBnNtzb5
	QQKlNzvwyxzjIpUBAdc6Aav/qfAhDSJ+gxfpbNMiMMjhuuimC6arfl8KgCt39x4CRFLtPvj1zL6SO
	ZJKokXooEYMtHZhsRRYMvRrfsTX9apphfYf8B9VfiTqrCaKCE1h0NS/vslha/Wv3fDj9t3m2RSRGf
	22KQyphw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 18/27] hw/xen: Avoid crash when backend watch fires too early
Date: Tue,  7 Mar 2023 17:17:41 +0000
Message-Id: <20230307171750.2293175-19-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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: Paul Durrant <pdurrant@amazon.com>

The xen-block code ends up calling aio_poll() through blkconf_geometry(),
which means we see watch events during the indirect call to
xendev_class->realize() in xen_device_realize(). Unfortunately this call
is made before populating the initial frontend and backend device nodes
in xenstore and hence xen_block_frontend_changed() (which is called from
a watch event) fails to read the frontend's 'state' node, and hence
believes the device is being torn down. This in-turn sets the backend
state to XenbusStateClosed and causes the device to be deleted before it
is fully set up, leading to the crash.
By simply moving the call to xendev_class->realize() after the initial
xenstore nodes are populated, this sorry state of affairs is avoided.

Reported-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/xen/xen-bus.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 9fe54967d4..c59850b1de 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -1034,13 +1034,6 @@ static void xen_device_realize(DeviceState *dev, Error **errp)
         goto unrealize;
     }
 
-    if (xendev_class->realize) {
-        xendev_class->realize(xendev, errp);
-        if (*errp) {
-            goto unrealize;
-        }
-    }
-
     xen_device_backend_printf(xendev, "frontend", "%s",
                               xendev->frontend_path);
     xen_device_backend_printf(xendev, "frontend-id", "%u",
@@ -1059,6 +1052,13 @@ static void xen_device_realize(DeviceState *dev, Error **errp)
         xen_device_frontend_set_state(xendev, XenbusStateInitialising, true);
     }
 
+    if (xendev_class->realize) {
+        xendev_class->realize(xendev, errp);
+        if (*errp) {
+            goto unrealize;
+        }
+    }
+
     xendev->exit.notify = xen_device_exit;
     qemu_add_exit_notifier(&xendev->exit);
     return;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507655.781499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZawz-00029n-UF; Tue, 07 Mar 2023 17:18:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507655.781499; Tue, 07 Mar 2023 17: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 1pZawz-00026u-Gy; Tue, 07 Mar 2023 17:18:09 +0000
Received: by outflank-mailman (input) for mailman id 507655;
 Tue, 07 Mar 2023 17: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZawx-0000bA-AF
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 03c56814-bd0c-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 18:18:02 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZawk-006ayB-Kf; Tue, 07 Mar 2023 17:17:55 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009ci9-24; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 03c56814-bd0c-11ed-a550-8520e6686977
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=sITHLK7IN7D/Ke5/pulzgo4hxU3UNITjLOK0n4RQKaE=; b=bEe0RiT72oZQRlTpXZ5I6UDLdp
	rReuFL+E3+REG7gNLUVp91C/JlhSs3MJ2QfwyRcP29BwvLQMqTvthRYqb2dthi5bxoW/DtXMxpUY6
	yJbCDNYYiY3bEJMeEGyjZ1LVrK+4LAEsZB1B/A/2XTRhN0CZ3gBx8i5r+jTwea0OqZrxD3mpfagoJ
	+8yv8VTwhSCCWFHWdCCCl0kfUDf7YxQ4wZXGRTkKcdWFKzze4791sJ/mBk4VGWLkzkj0mFukpwITH
	z/89HD31QNVbKA5OLTuriygYSX5W175c+hsBlHRxr5+Od54HUGY28OdENK4I6+ZIfG4+ZEIwPWgEf
	afoEJSwQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 24/27] hw/xen: Implement soft reset for emulated gnttab
Date: Tue,  7 Mar 2023 17:17:47 +0000
Message-Id: <20230307171750.2293175-25-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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 only part of it; we will also need to get the PV back end drivers
to tear down their own mappings (or do it for them, but they kind of need
to stop using the pointers too).

Some more work on the actual PV back ends and xen-bus code is going to be
needed to really make soft reset and migration fully functional, and this
part is the basis for that.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_gnttab.c  | 26 ++++++++++++++++++++++++--
 hw/i386/kvm/xen_gnttab.h  |  1 +
 target/i386/kvm/xen-emu.c |  5 +++++
 3 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/hw/i386/kvm/xen_gnttab.c b/hw/i386/kvm/xen_gnttab.c
index 2bf91d36c0..21c30e3659 100644
--- a/hw/i386/kvm/xen_gnttab.c
+++ b/hw/i386/kvm/xen_gnttab.c
@@ -72,13 +72,11 @@ static void xen_gnttab_realize(DeviceState *dev, Error **errp)
         error_setg(errp, "Xen grant table support is for Xen emulation");
         return;
     }
-    s->nr_frames = 0;
     s->max_frames = kvm_xen_get_gnttab_max_frames();
     memory_region_init_ram(&s->gnt_frames, OBJECT(dev), "xen:grant_table",
                            XEN_PAGE_SIZE * s->max_frames, &error_abort);
     memory_region_set_enabled(&s->gnt_frames, true);
     s->entries.v1 = memory_region_get_ram_ptr(&s->gnt_frames);
-    memset(s->entries.v1, 0, XEN_PAGE_SIZE * s->max_frames);
 
     /* Create individual page-sizes aliases for overlays */
     s->gnt_aliases = (void *)g_new0(MemoryRegion, s->max_frames);
@@ -90,8 +88,11 @@ static void xen_gnttab_realize(DeviceState *dev, Error **errp)
         s->gnt_frame_gpas[i] = INVALID_GPA;
     }
 
+    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);
+
     qemu_mutex_init(&s->gnt_lock);
 
     xen_gnttab_singleton = s;
@@ -523,3 +524,24 @@ static struct gnttab_backend_ops emu_gnttab_backend_ops = {
     .unmap = xen_be_gnttab_unmap,
 };
 
+int xen_gnttab_reset(void)
+{
+    XenGnttabState *s = xen_gnttab_singleton;
+
+    if (!s) {
+        return -ENOTSUP;
+    }
+
+    QEMU_LOCK_GUARD(&s->gnt_lock);
+
+    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);
+
+    memset(s->map_track, 0, s->max_frames * ENTRIES_PER_FRAME_V1);
+
+    return 0;
+}
diff --git a/hw/i386/kvm/xen_gnttab.h b/hw/i386/kvm/xen_gnttab.h
index 3bdbe96191..ee215239b0 100644
--- a/hw/i386/kvm/xen_gnttab.h
+++ b/hw/i386/kvm/xen_gnttab.h
@@ -13,6 +13,7 @@
 #define QEMU_XEN_GNTTAB_H
 
 void xen_gnttab_create(void);
+int xen_gnttab_reset(void);
 int xen_gnttab_map_page(uint64_t idx, uint64_t gfn);
 
 struct gnttab_set_version;
diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index bad3131d08..0bb6c601c9 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -1406,6 +1406,11 @@ int kvm_xen_soft_reset(void)
         return err;
     }
 
+    err = xen_gnttab_reset();
+    if (err) {
+        return err;
+    }
+
     err = xen_xenstore_reset();
     if (err) {
         return err;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507651.781456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaww-00015J-NR; Tue, 07 Mar 2023 17:18:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507651.781456; Tue, 07 Mar 2023 17:18:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaww-00012j-Ef; Tue, 07 Mar 2023 17:18:06 +0000
Received: by outflank-mailman (input) for mailman id 507651;
 Tue, 07 Mar 2023 17:18: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZawv-0000bA-9s
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 0315c7f0-bd0c-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 18:18:01 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZawk-006ay6-Bg; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009chn-1B; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 0315c7f0-bd0c-11ed-a550-8520e6686977
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=XcYyUSsIZ5DPXUpEedwRKiEDlpl47E4QL1UmqvKuII4=; b=jvJ9tQPOuJFebkKg0V5juiyKzZ
	Z18YSLGfJnU9igUISRf0/QJHVt7YjMz3LewFIiIll+SUOvBRWnbnKFf3BLM9yc6AF5pF4xgpI43LY
	efHoDwmsDbrT0iQxWT0h75pdfB6ZnSkHMQT1/zUWOdXz2Mk4wIilc6mTL7s3KKXN9e1FoqscD/BA3
	sPUhcQdD1LcxFmEwE88G8bDG4X3oy2ov26Xt+Th2BpoLudNgSEcDApvZ+QhAHEB2WndhTksTLJulE
	52+f4OX+1PbdaO79BmzslXXqBjQQQqzccx9q4USKSprjMaKzJzFBpe3Kzd1vT6PEtH1RpNkHhjf1y
	MXG/AN1A==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 19/27] hw/xen: Only advertise ring-page-order for xen-block if gnttab supports it
Date: Tue,  7 Mar 2023 17:17:42 +0000
Message-Id: <20230307171750.2293175-20-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>

Whem emulating Xen, multi-page grants are distinctly non-trivial and we
have elected not to support them for the time being. Don't advertise
them to the guest.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/block/xen-block.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 87299615e3..f5a744589d 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -83,7 +83,8 @@ static void xen_block_connect(XenDevice *xendev, Error **errp)
             g_free(ring_ref);
             return;
         }
-    } else if (order <= blockdev->props.max_ring_page_order) {
+    } else if (qemu_xen_gnttab_can_map_multi() &&
+               order <= blockdev->props.max_ring_page_order) {
         unsigned int i;
 
         nr_ring_ref = 1 << order;
@@ -255,8 +256,12 @@ static void xen_block_realize(XenDevice *xendev, Error **errp)
     }
 
     xen_device_backend_printf(xendev, "feature-flush-cache", "%u", 1);
-    xen_device_backend_printf(xendev, "max-ring-page-order", "%u",
-                              blockdev->props.max_ring_page_order);
+
+    if (qemu_xen_gnttab_can_map_multi()) {
+        xen_device_backend_printf(xendev, "max-ring-page-order", "%u",
+                                  blockdev->props.max_ring_page_order);
+    }
+
     xen_device_backend_printf(xendev, "info", "%u", blockdev->info);
 
     xen_device_frontend_printf(xendev, "virtual-device", "%lu",
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507648.781435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZawv-0000es-AL; Tue, 07 Mar 2023 17:18:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507648.781435; Tue, 07 Mar 2023 17: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 1pZawv-0000eY-4h; Tue, 07 Mar 2023 17:18:05 +0000
Received: by outflank-mailman (input) for mailman id 507648;
 Tue, 07 Mar 2023 17: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZawt-0000az-RI
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 03110188-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:01 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZawj-006axJ-8S; Tue, 07 Mar 2023 17:17:53 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawj-009cgU-0h; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 03110188-bd0c-11ed-96b5-2f268f93b82a
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=gecK8XcXzPvwgAnWptcdPizelJbQTy3RtfVzFHsB5zQ=; b=pgRTQI3kJDMrZOsnRUinGOlu0T
	1OfvBVlkwUjjeIm/Yj6QrFcaqAcXr0i0xoYOvzqgfcMtcVqftQFvy0I1jOuNkGAcQ36UZ1tihkJMt
	qkECVD6eDm1T6XJDmmGxeCtlDz6v5L/BNM7ZHPqGcLexx5tNL/pKxW9MARaJgevcff/djCOOhzp/y
	8dMMTuibd1vG5ZXMj8GgcO+KrFMg+cWmtj3cpBbZFCDHMshuoDvUool526j9rAa87D6jPWQDvODuL
	ESgEI2Dz+Xkic3f8QwwkBtFE6bBIAdQx51XkV4CDduwnyYjEN+PjhIIAqWHBO0XEyqdLxyXLKud9y
	EFdHh1KA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 00/27] Enable PV backends with Xen/KVM emulation
Date: Tue,  7 Mar 2023 17:17:23 +0000
Message-Id: <20230307171750.2293175-1-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.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

Following on from the basic platform support which has already been
merged, here's phase 2 which wires up the XenBus and PV back ends.

It starts with a basic single-tenant internal implementation of a 
XenStore, with a copy-on-write tree, watches, transactions, quotas.

Then we introduce operations tables for the grant table, event channel,
foreignmen and xenstore operations so that in addition to using the Xen
libraries for those, QEMU can use its internal emulated versions.

A little bit of cleaning up of header files, and we can enable the build
of xen-bus in the CONFIG_XEN_EMU build, and run a Xen guest with an
actual PV disk...

   qemu-system-x86_64 -serial mon:stdio -M q35 -display none -m 1G -smp 2 \
      -accel kvm,xen-version=0x4000e,kernel-irqchip=split \
      -kernel bzImage -append "console=ttyS0 root=/dev/xvda1 selinux=0" \
      -drive file=/var/lib/libvirt/images/fedora28.qcow2,if=none,id=disk \
      -device xen-disk,drive=disk,vdev=xvda

The main thing that isn't working here is migration. I've implemented it 
for the internal xenstore and the unit tests exercise it, but the 
existing PV back ends don't support it, perhaps partly because support 
for guest transparent live migration support isn't upstream in Xen yet. 
So the disk doesn't come back correctly after migration. I'm content 
with that for 8.0 though, and we just mark the emulated XenStore device
as unmigratable to prevent users from trying.

The other pre-existing constraint is that only the block back end has
yet been ported to the "new" XenBus infrastructure, and is actually
capable of creating its own backend nodes. Again, I can live with
that for 8.0. Maybe this will motivate us to finally get round to
converting the rest off XenLegacyBackend and killing it.

We also don't have a simple way to perform grant mapping of multiple
guest pages to contiguous addresses, as we can under real Xen. So we
don't advertise max-ring-page-order for xen-disk in the emulated mode.
Fixing that — if we actually want to — would probably require mapping
RAM from an actual backing store object, so that it can be mapped again
at a different location for the PV back end to see.

v2: https://git.infradead.org/users/dwmw2/qemu.git/shortlog/refs/heads/xenfv-2

 • Full set of reviewed-by tags from Paul (and associated minor fixes).

 • Disable migration for emulated XenStore device.

 • Update docs and add MAINTAINERS entry.

v1: https://lore.kernel.org/qemu-devel/20230302153435.1170111-1-dwmw2@infradead.org/
    https://git.infradead.org/users/dwmw2/qemu.git/shortlog/refs/heads/xenfv-1

David Woodhouse (23):
      hw/xen: Add xenstore wire implementation and implementation stubs
      hw/xen: Add basic XenStore tree walk and write/read/directory support
      hw/xen: Implement XenStore watches
      hw/xen: Implement XenStore transactions
      hw/xen: Watches on XenStore transactions
      hw/xen: Implement core serialize/deserialize methods for xenstore_impl
      hw/xen: Add evtchn operations to allow redirection to internal emulation
      hw/xen: Add gnttab operations to allow redirection to internal emulation
      hw/xen: Pass grant ref to gnttab unmap operation
      hw/xen: Add foreignmem operations to allow redirection to internal emulation
      hw/xen: Move xenstore_store_pv_console_info to xen_console.c
      hw/xen: Use XEN_PAGE_SIZE in PV backend drivers
      hw/xen: Rename xen_common.h to xen_native.h
      hw/xen: Build PV backend drivers for CONFIG_XEN_BUS
      hw/xen: Only advertise ring-page-order for xen-block if gnttab supports it
      hw/xen: Hook up emulated implementation for event channel operations
      hw/xen: Add emulated implementation of grant table operations
      hw/xen: Add emulated implementation of XenStore operations
      hw/xen: Map guest XENSTORE_PFN grant in emulated Xenstore
      hw/xen: Implement soft reset for emulated gnttab
      i386/xen: Initialize Xen backends from pc_basic_device_init() for emulation
      MAINTAINERS: Add entry for Xen on KVM emulation
      docs: Update Xen-on-KVM documentation for PV disk support

Paul Durrant (4):
      hw/xen: Implement XenStore permissions
      hw/xen: Create initial XenStore nodes
      hw/xen: Add xenstore operations to allow redirection to internal emulation
      hw/xen: Avoid crash when backend watch fires too early

 MAINTAINERS                                   |    9 +
 accel/xen/xen-all.c                           |   69 +-
 docs/system/i386/xen.rst                      |   30 +-
 hw/9pfs/meson.build                           |    2 +-
 hw/9pfs/xen-9p-backend.c                      |   32 +-
 hw/block/dataplane/meson.build                |    2 +-
 hw/block/dataplane/xen-block.c                |   12 +-
 hw/block/meson.build                          |    2 +-
 hw/block/xen-block.c                          |   12 +-
 hw/char/meson.build                           |    2 +-
 hw/char/xen_console.c                         |   57 +-
 hw/display/meson.build                        |    2 +-
 hw/display/xenfb.c                            |   32 +-
 hw/i386/kvm/meson.build                       |    1 +
 hw/i386/kvm/trace-events                      |   15 +
 hw/i386/kvm/xen_evtchn.c                      |   15 +
 hw/i386/kvm/xen_gnttab.c                      |  325 ++++-
 hw/i386/kvm/xen_gnttab.h                      |    1 +
 hw/i386/kvm/xen_xenstore.c                    | 1251 +++++++++++++++-
 hw/i386/kvm/xenstore_impl.c                   | 1927 +++++++++++++++++++++++++
 hw/i386/kvm/xenstore_impl.h                   |   63 +
 hw/i386/pc.c                                  |    7 +
 hw/i386/pc_piix.c                             |    4 +-
 hw/i386/xen/xen-hvm.c                         |   38 +-
 hw/i386/xen/xen-mapcache.c                    |    2 +-
 hw/i386/xen/xen_platform.c                    |    7 +-
 hw/net/xen_nic.c                              |   25 +-
 hw/usb/meson.build                            |    2 +-
 hw/usb/xen-usb.c                              |   29 +-
 hw/xen/meson.build                            |    6 +-
 hw/xen/trace-events                           |    2 +-
 hw/xen/xen-bus-helper.c                       |   62 +-
 hw/xen/xen-bus.c                              |  411 +-----
 hw/xen/xen-legacy-backend.c                   |  254 +---
 hw/xen/xen-operations.c                       |  478 ++++++
 hw/xen/xen_devconfig.c                        |    4 +-
 hw/xen/xen_pt.c                               |    2 +-
 hw/xen/xen_pt.h                               |    2 +-
 hw/xen/xen_pt_config_init.c                   |    2 +-
 hw/xen/xen_pt_graphics.c                      |    1 -
 hw/xen/xen_pt_msi.c                           |    4 +-
 hw/xen/xen_pvdev.c                            |   63 +-
 include/hw/xen/xen-bus-helper.h               |   26 +-
 include/hw/xen/xen-bus.h                      |   21 +-
 include/hw/xen/xen-legacy-backend.h           |   24 +-
 include/hw/xen/xen.h                          |   24 +-
 include/hw/xen/xen_backend_ops.h              |  408 ++++++
 include/hw/xen/{xen_common.h => xen_native.h} |   75 +-
 include/hw/xen/xen_pvdev.h                    |    6 +-
 softmmu/globals.c                             |    4 +
 target/i386/kvm/xen-emu.c                     |    5 +
 tests/unit/meson.build                        |    1 +
 tests/unit/test-xs-node.c                     |  871 +++++++++++
 53 files changed, 5804 insertions(+), 927 deletions(-)





From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507657.781519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZax2-0002sL-R7; Tue, 07 Mar 2023 17:18:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507657.781519; Tue, 07 Mar 2023 17: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 1pZax2-0002oA-5M; Tue, 07 Mar 2023 17:18:12 +0000
Received: by outflank-mailman (input) for mailman id 507657;
 Tue, 07 Mar 2023 17:18: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZawy-0000bA-Ad
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 0312f217-bd0c-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 18:18:01 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZawj-006axV-UQ; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawj-009chG-34; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 0312f217-bd0c-11ed-a550-8520e6686977
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=XoQpl7zaWFuIq6T21NOkPMgfvnb6WAMCdnXTqYw7Aj4=; b=hRi5Zuabt7k9XZuLJvYry3XIFc
	JfKOYdo2HuSTNA87rfCfgXjcpix09E+5eyMYqWnc676AG7lZmTiVs7GLa/BOp568qH2m9yFUzwgva
	YP3Cg3LcYcAAK+AQ9B8GLMoiY+4mU0bi4OYNm1IMqu3ww8+9vzWe7VOFkpU2ogI2Is3Z53hVjZHoA
	56TWpUIoF9A5H9jB2qM1kaIHfbnYQcDdO8JBtKann0R9DHYXwq7Qk/prpUhLDcHTugn8WuYMeIEwg
	/xt7ka9UT2wLSLa4svQuAeMJHZjQUwqQx0dQEsdKHtyZ4C9oRlXUCAtDORY97bWPh++K5Xq3MuYzy
	Cj3WGRdQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 12/27] hw/xen: Add foreignmem operations to allow redirection to internal emulation
Date: Tue,  7 Mar 2023 17:17:35 +0000
Message-Id: <20230307171750.2293175-13-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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: Paul Durrant <paul@xen.org>
---
 hw/char/xen_console.c            |  8 +++---
 hw/display/xenfb.c               | 20 +++++++-------
 hw/xen/xen-operations.c          | 45 ++++++++++++++++++++++++++++++++
 include/hw/xen/xen_backend_ops.h | 26 ++++++++++++++++++
 include/hw/xen/xen_common.h      | 13 ---------
 softmmu/globals.c                |  1 +
 tests/unit/test-xs-node.c        |  1 +
 7 files changed, 88 insertions(+), 26 deletions(-)

diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 19ad6c946a..e9cef3e1ef 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -237,9 +237,9 @@ static int con_initialise(struct XenLegacyDevice *xendev)
 
     if (!xendev->dev) {
         xen_pfn_t mfn = con->ring_ref;
-        con->sring = xenforeignmemory_map(xen_fmem, con->xendev.dom,
-                                          PROT_READ | PROT_WRITE,
-                                          1, &mfn, NULL);
+        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);
@@ -269,7 +269,7 @@ static void con_disconnect(struct XenLegacyDevice *xendev)
 
     if (con->sring) {
         if (!xendev->dev) {
-            xenforeignmemory_unmap(xen_fmem, con->sring, 1);
+            qemu_xen_foreignmem_unmap(con->sring, 1);
         } else {
             xen_be_unmap_grant_ref(xendev, con->sring, con->ring_ref);
         }
diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c
index 260eb38a76..2c4016fcbd 100644
--- a/hw/display/xenfb.c
+++ b/hw/display/xenfb.c
@@ -98,8 +98,9 @@ static int common_bind(struct common *c)
     if (xenstore_read_fe_int(&c->xendev, "event-channel", &c->xendev.remote_port) == -1)
         return -1;
 
-    c->page = xenforeignmemory_map(xen_fmem, c->xendev.dom,
-                                   PROT_READ | PROT_WRITE, 1, &mfn, NULL);
+    c->page = qemu_xen_foreignmem_map(c->xendev.dom, NULL,
+                                      PROT_READ | PROT_WRITE, 1, &mfn,
+                                      NULL);
     if (c->page == NULL)
         return -1;
 
@@ -115,7 +116,7 @@ static void common_unbind(struct common *c)
 {
     xen_pv_unbind_evtchn(&c->xendev);
     if (c->page) {
-        xenforeignmemory_unmap(xen_fmem, c->page, 1);
+        qemu_xen_foreignmem_unmap(c->page, 1);
         c->page = NULL;
     }
 }
@@ -500,15 +501,16 @@ static int xenfb_map_fb(struct XenFB *xenfb)
     fbmfns = g_new0(xen_pfn_t, xenfb->fbpages);
 
     xenfb_copy_mfns(mode, n_fbdirs, pgmfns, pd);
-    map = xenforeignmemory_map(xen_fmem, xenfb->c.xendev.dom,
-                               PROT_READ, n_fbdirs, pgmfns, NULL);
+    map = qemu_xen_foreignmem_map(xenfb->c.xendev.dom, NULL, PROT_READ,
+                                  n_fbdirs, pgmfns, NULL);
     if (map == NULL)
         goto out;
     xenfb_copy_mfns(mode, xenfb->fbpages, fbmfns, map);
-    xenforeignmemory_unmap(xen_fmem, map, n_fbdirs);
+    qemu_xen_foreignmem_unmap(map, n_fbdirs);
 
-    xenfb->pixels = xenforeignmemory_map(xen_fmem, xenfb->c.xendev.dom,
-            PROT_READ, xenfb->fbpages, fbmfns, NULL);
+    xenfb->pixels = qemu_xen_foreignmem_map(xenfb->c.xendev.dom, NULL,
+                                            PROT_READ, xenfb->fbpages,
+                                            fbmfns, NULL);
     if (xenfb->pixels == NULL)
         goto out;
 
@@ -927,7 +929,7 @@ static void fb_disconnect(struct XenLegacyDevice *xendev)
      *   Replacing the framebuffer with anonymous shared memory
      *   instead.  This releases the guest pages and keeps qemu happy.
      */
-    xenforeignmemory_unmap(xen_fmem, fb->pixels, fb->fbpages);
+    qemu_xen_foreignmem_unmap(fb->pixels, fb->fbpages);
     fb->pixels = mmap(fb->pixels, fb->fbpages * XC_PAGE_SIZE,
                       PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON,
                       -1, 0);
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index c5956d28c6..440e566bb1 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -22,6 +22,7 @@
  */
 #undef XC_WANT_COMPAT_EVTCHN_API
 #undef XC_WANT_COMPAT_GNTTAB_API
+#undef XC_WANT_COMPAT_MAP_FOREIGN_API
 
 #include <xenctrl.h>
 
@@ -56,10 +57,13 @@ typedef xc_gnttab xengnttab_handle;
 #define xengnttab_map_domain_grant_refs(h, c, d, r, p) \
     xc_gnttab_map_domain_grant_refs(h, c, d, r, p)
 
+typedef xc_interface xenforeignmemory_handle;
+
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
 #include <xenevtchn.h>
 #include <xengnttab.h>
+#include <xenforeignmemory.h>
 
 #endif
 
@@ -218,6 +222,46 @@ static struct gnttab_backend_ops libxengnttab_backend_ops = {
     .unmap = libxengnttab_backend_unmap,
 };
 
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40701
+
+static void *libxenforeignmem_backend_map(uint32_t dom, void *addr, int prot,
+                                          size_t pages, xfn_pfn_t *pfns,
+                                          int *errs)
+{
+    if (errs) {
+        return xc_map_foreign_bulk(xen_xc, dom, prot, pfns, errs, pages);
+    } else {
+        return xc_map_foreign_pages(xen_xc, dom, prot, pfns, pages);
+    }
+}
+
+static int libxenforeignmem_backend_unmap(void *addr, size_t pages)
+{
+    return munmap(addr, pages * XC_PAGE_SIZE);
+}
+
+#else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
+
+static void *libxenforeignmem_backend_map(uint32_t dom, void *addr, int prot,
+                                          size_t pages, xen_pfn_t *pfns,
+                                          int *errs)
+{
+    return xenforeignmemory_map2(xen_fmem, dom, addr, prot, 0, pages, pfns,
+                                 errs);
+}
+
+static int libxenforeignmem_backend_unmap(void *addr, size_t pages)
+{
+    return xenforeignmemory_unmap(xen_fmem, addr, pages);
+}
+
+#endif
+
+struct foreignmem_backend_ops libxenforeignmem_backend_ops = {
+    .map = libxenforeignmem_backend_map,
+    .unmap = libxenforeignmem_backend_unmap,
+};
+
 void setup_xen_backend_ops(void)
 {
 #if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
@@ -232,4 +276,5 @@ void setup_xen_backend_ops(void)
 #endif
     xen_evtchn_ops = &libxenevtchn_backend_ops;
     xen_gnttab_ops = &libxengnttab_backend_ops;
+    xen_foreignmem_ops = &libxenforeignmem_backend_ops;
 }
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
index 6f9d8e2c62..0dff06bbde 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -214,6 +214,32 @@ static inline int qemu_xen_gnttab_unmap(xengnttab_handle *xgt,
     return xen_gnttab_ops->unmap(xgt, start_address, refs, count);
 }
 
+struct foreignmem_backend_ops {
+    void *(*map)(uint32_t dom, void *addr, int prot, size_t pages,
+                 xen_pfn_t *pfns, int *errs);
+    int (*unmap)(void *addr, size_t pages);
+};
+
+extern struct foreignmem_backend_ops *xen_foreignmem_ops;
+
+static inline void *qemu_xen_foreignmem_map(uint32_t dom, void *addr, int prot,
+                                            size_t pages, xen_pfn_t *pfns,
+                                            int *errs)
+{
+    if (!xen_foreignmem_ops) {
+        return NULL;
+    }
+    return xen_foreignmem_ops->map(dom, addr, prot, pages, pfns, errs);
+}
+
+static inline int qemu_xen_foreignmem_unmap(void *addr, size_t pages)
+{
+    if (!xen_foreignmem_ops) {
+        return -ENOSYS;
+    }
+    return xen_foreignmem_ops->unmap(addr, pages);
+}
+
 void setup_xen_backend_ops(void);
 
 #endif /* QEMU_XEN_BACKEND_OPS_H */
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index d4d10d3ff1..632ce617cc 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -32,19 +32,6 @@ typedef xc_interface xenforeignmemory_handle;
 #define xenforeignmemory_open(l, f) xen_xc
 #define xenforeignmemory_close(h)
 
-static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
-                                         int prot, size_t pages,
-                                         const xen_pfn_t arr[/*pages*/],
-                                         int err[/*pages*/])
-{
-    if (err)
-        return xc_map_foreign_bulk(h, dom, prot, arr, err, pages);
-    else
-        return xc_map_foreign_pages(h, dom, prot, arr, pages);
-}
-
-#define xenforeignmemory_unmap(h, p, s) munmap(p, s * XC_PAGE_SIZE)
-
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
 #include <xenforeignmemory.h>
diff --git a/softmmu/globals.c b/softmmu/globals.c
index 23bb27f0f6..dda32986f7 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -67,3 +67,4 @@ enum xen_mode xen_mode = XEN_DISABLED;
 bool xen_domid_restrict;
 struct evtchn_backend_ops *xen_evtchn_ops;
 struct gnttab_backend_ops *xen_gnttab_ops;
+struct foreignmem_backend_ops *xen_foreignmem_ops;
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index fda6a047d0..b80d10ff98 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -23,6 +23,7 @@ static GList *xs_node_list;
  * doesn't hurt).
  */
 #define __XEN_PUBLIC_XEN_H__
+typedef unsigned long xen_pfn_t;
 
 #include "hw/i386/kvm/xenstore_impl.c"
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507658.781527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZax3-000322-VC; Tue, 07 Mar 2023 17:18:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507658.781527; Tue, 07 Mar 2023 17: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 1pZax3-0002xK-45; Tue, 07 Mar 2023 17:18:13 +0000
Received: by outflank-mailman (input) for mailman id 507658;
 Tue, 07 Mar 2023 17:18: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZawz-0000bA-Ai
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 0315775e-bd0c-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 18:18:01 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZawj-006axL-BG; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawj-009cgb-18; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 0315775e-bd0c-11ed-a550-8520e6686977
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=roOXmxmzTlHGXFakXynsNOCVNOYbdrPEnnmW0uIAY2w=; b=sdv8hbAjLCzkqxH6xHjs6BX+qm
	VkvyWeqvkudKztXGCeX0WRKljUkaLOI1nDYzF8L27Rtz1bXoNrmVprYFSi3eyVcjZ7KPHG1Gu3MiF
	MK+0WonhnAPK3zg7XWcknt7joZQfLgOZCZhEgC3pwHXLPFSQjf292KlGpWkif1JSPpoK1ZY9l9WvA
	ZvumRxme9/O3apGmRLE/QVslg6Cznr6/Zgm4wCoZ3pCgQZocrmi8YHcIO6p3C1iKCjHFcnY9qnW8W
	uJIhyYt291l2kof+Uq50UHs73jmpdmDRR0MN91OFmcWHSaRw4Gbgee95Y5ZXTP+kU4Y3gjTk+X5NW
	JtFE3DZg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 02/27] hw/xen: Add basic XenStore tree walk and write/read/directory support
Date: Tue,  7 Mar 2023 17:17:25 +0000
Message-Id: <20230307171750.2293175-3-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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 is a fairly simple implementation of a copy-on-write tree.

The node walk function starts off at the root, with 'inplace == true'.
If it ever encounters a node with a refcount greater than one (including
the root node), then that node is shared with other trees, and cannot
be modified in place, so the inplace flag is cleared and we copy on
write from there on down.

Xenstore write has 'mkdir -p' semantics and will create the intermediate
nodes if they don't already exist, so in that case we flip the inplace
flag back to true as we populate the newly-created nodes.

We put a copy of the absolute path into the buffer in the struct walk_op,
with *two* NUL terminators at the end. As xs_node_walk() goes down the
tree, it replaces the next '/' separator with a NUL so that it can use
the 'child name' in place. The next recursion down then puts the '/'
back and repeats the exercise for the next path element... if it doesn't
hit that *second* NUL termination which indicates the true end of the
path.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xenstore_impl.c | 527 +++++++++++++++++++++++++++++++++++-
 tests/unit/meson.build      |   1 +
 tests/unit/test-xs-node.c   | 197 ++++++++++++++
 3 files changed, 718 insertions(+), 7 deletions(-)
 create mode 100644 tests/unit/test-xs-node.c

diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 31dbc98fe0..9e10a31bea 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -10,13 +10,470 @@
  */
 
 #include "qemu/osdep.h"
+#include "qom/object.h"
 
 #include "xen_xenstore.h"
 #include "xenstore_impl.h"
 
+#include "hw/xen/interface/io/xs_wire.h"
+
+#define XS_MAX_WATCHES          128
+#define XS_MAX_DOMAIN_NODES     1000
+#define XS_MAX_NODE_SIZE        2048
+#define XS_MAX_TRANSACTIONS     10
+#define XS_MAX_PERMS_PER_NODE   5
+
+#define XS_VALID_CHARS "abcdefghijklmnopqrstuvwxyz" \
+                       "ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
+                       "0123456789-/_"
+
+typedef struct XsNode {
+    uint32_t ref;
+    GByteArray *content;
+    GHashTable *children;
+    uint64_t gencnt;
+#ifdef XS_NODE_UNIT_TEST
+    gchar *name; /* debug only */
+#endif
+} XsNode;
+
 struct XenstoreImplState {
+    XsNode *root;
+    unsigned int nr_nodes;
 };
 
+static inline XsNode *xs_node_new(void)
+{
+    XsNode *n = g_new0(XsNode, 1);
+    n->ref = 1;
+
+#ifdef XS_NODE_UNIT_TEST
+    nr_xs_nodes++;
+    xs_node_list = g_list_prepend(xs_node_list, n);
+#endif
+    return n;
+}
+
+static inline XsNode *xs_node_ref(XsNode *n)
+{
+    /* With just 10 transactions, it can never get anywhere near this. */
+    g_assert(n->ref < INT_MAX);
+
+    g_assert(n->ref);
+    n->ref++;
+    return n;
+}
+
+static inline void xs_node_unref(XsNode *n)
+{
+    if (!n) {
+        return;
+    }
+    g_assert(n->ref);
+    if (--n->ref) {
+        return;
+    }
+
+    if (n->content) {
+        g_byte_array_unref(n->content);
+    }
+    if (n->children) {
+        g_hash_table_unref(n->children);
+    }
+#ifdef XS_NODE_UNIT_TEST
+    g_free(n->name);
+    nr_xs_nodes--;
+    xs_node_list = g_list_remove(xs_node_list, n);
+#endif
+    g_free(n);
+}
+
+/* For copying from one hash table to another using g_hash_table_foreach() */
+static void do_insert(gpointer key, gpointer value, gpointer user_data)
+{
+    g_hash_table_insert(user_data, g_strdup(key), xs_node_ref(value));
+}
+
+static XsNode *xs_node_copy(XsNode *old)
+{
+    XsNode *n = xs_node_new();
+
+    n->gencnt = old->gencnt;
+    if (old->children) {
+        n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+                                            (GDestroyNotify)xs_node_unref);
+        g_hash_table_foreach(old->children, do_insert, n->children);
+    }
+    if (old && old->content) {
+        n->content = g_byte_array_ref(old->content);
+    }
+    return n;
+}
+
+/* Returns true if it made a change to the hash table */
+static bool xs_node_add_child(XsNode *n, const char *path_elem, XsNode *child)
+{
+    assert(!strchr(path_elem, '/'));
+
+    if (!child) {
+        assert(n->children);
+        return g_hash_table_remove(n->children, path_elem);
+    }
+
+#ifdef XS_NODE_UNIT_TEST
+    g_free(child->name);
+    child->name = g_strdup(path_elem);
+#endif
+    if (!n->children) {
+        n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+                                            (GDestroyNotify)xs_node_unref);
+    }
+
+    /*
+     * The documentation for g_hash_table_insert() says that it "returns a
+     * boolean value to indicate whether the newly added value was already
+     * in the hash table or not."
+     *
+     * It could perhaps be clearer that returning TRUE means it wasn't,
+     */
+    return g_hash_table_insert(n->children, g_strdup(path_elem), child);
+}
+
+struct walk_op {
+    struct XenstoreImplState *s;
+    char path[XENSTORE_ABS_PATH_MAX + 2]; /* Two NUL terminators */
+    int (*op_fn)(XsNode **n, struct walk_op *op);
+    void *op_opaque;
+    void *op_opaque2;
+
+    unsigned int dom_id;
+
+    /* The number of nodes which will exist in the tree if this op succeeds. */
+    unsigned int new_nr_nodes;
+
+    /*
+     * This is maintained on the way *down* the walk to indicate
+     * whether nodes can be modified in place or whether COW is
+     * required. It starts off being true, as we're always going to
+     * replace the root node. If we walk into a shared subtree it
+     * becomes false. If we start *creating* new nodes for a write,
+     * it becomes true again.
+     *
+     * Do not use it on the way back up.
+     */
+    bool inplace;
+    bool mutating;
+    bool create_dirs;
+};
+
+static int xs_node_add_content(XsNode **n, struct walk_op *op)
+{
+    GByteArray *data = op->op_opaque;
+
+    if (op->dom_id) {
+        /*
+         * The real XenStored includes permissions and names of child nodes
+         * in the calculated datasize but life's too short. For a single
+         * tenant internal XenStore, we don't have to be quite as pedantic.
+         */
+        if (data->len > XS_MAX_NODE_SIZE) {
+            return E2BIG;
+        }
+    }
+    /* We *are* the node to be written. Either this or a copy. */
+    if (!op->inplace) {
+        XsNode *old = *n;
+        *n = xs_node_copy(old);
+        xs_node_unref(old);
+    }
+
+    if ((*n)->content) {
+        g_byte_array_unref((*n)->content);
+    }
+    (*n)->content = g_byte_array_ref(data);
+    return 0;
+}
+
+static int xs_node_get_content(XsNode **n, struct walk_op *op)
+{
+    GByteArray *data = op->op_opaque;
+    GByteArray *node_data;
+
+    assert(op->inplace);
+    assert(*n);
+
+    node_data = (*n)->content;
+    if (node_data) {
+        g_byte_array_append(data, node_data->data, node_data->len);
+    }
+
+    return 0;
+}
+
+static int node_rm_recurse(gpointer key, gpointer value, gpointer user_data)
+{
+    struct walk_op *op = user_data;
+    XsNode *n = value;
+    bool this_inplace = op->inplace;
+
+    if (n->ref != 1) {
+        op->inplace = 0;
+    }
+
+    if (n->children) {
+        g_hash_table_foreach_remove(n->children, node_rm_recurse, op);
+    }
+    op->new_nr_nodes--;
+
+    /*
+     * Actually deleting the child here is just an optimisation; if we
+     * don't then the final unref on the topmost victim will just have
+     * to cascade down again repeating all the g_hash_table_foreach()
+     * calls.
+     */
+    return this_inplace;
+}
+
+static int xs_node_rm(XsNode **n, struct walk_op *op)
+{
+    bool this_inplace = op->inplace;
+
+    /* Keep count of the nodes in the subtree which gets deleted. */
+    if ((*n)->children) {
+        g_hash_table_foreach_remove((*n)->children, node_rm_recurse, op);
+    }
+    op->new_nr_nodes--;
+
+    if (this_inplace) {
+        xs_node_unref(*n);
+    }
+    *n = NULL;
+    return 0;
+}
+
+/*
+ * Passed a full reference in *n which it may free if it needs to COW.
+ *
+ * When changing the tree, the op->inplace flag indicates whether this
+ * node may be modified in place (i.e. it and all its parents had a
+ * refcount of one). If walking down the tree we find a node whose
+ * refcount is higher, we must clear op->inplace and COW from there
+ * down. Unless we are creating new nodes as scaffolding for a write
+ * (which works like 'mkdir -p' does). In which case those newly
+ * created nodes can (and must) be modified in place again.
+ */
+static int xs_node_walk(XsNode **n, struct walk_op *op)
+{
+    char *child_name = NULL;
+    size_t namelen;
+    XsNode *old = *n, *child = NULL;
+    bool stole_child = false;
+    bool this_inplace;
+    int err;
+
+    namelen = strlen(op->path);
+
+    /* Is there a child, or do we hit the double-NUL termination? */
+    if (op->path[namelen + 1]) {
+        char *slash;
+        child_name = op->path + namelen + 1;
+        slash = strchr(child_name, '/');
+        if (slash) {
+            *slash = '\0';
+        }
+        op->path[namelen] = '/';
+    }
+
+    /* If we walk into a subtree which is shared, we must COW */
+    if (op->mutating && old->ref != 1) {
+        op->inplace = false;
+    }
+
+    if (!child_name) {
+        /* This is the actual node on which the operation shall be performed */
+        err = op->op_fn(n, op);
+        goto out;
+    }
+
+    /* op->inplace will be further modified during the recursion */
+    this_inplace = op->inplace;
+
+    if (old && old->children) {
+        child = g_hash_table_lookup(old->children, child_name);
+        /* This is a *weak* reference to 'child', owned by the hash table */
+    }
+
+    if (child) {
+        xs_node_ref(child);
+        /*
+         * Now we own it too. But if we can modify inplace, that's going to
+         * foil the check and force it to COW. We want to be the *only* owner
+         * so that it can be modified in place, so remove it from the hash
+         * table in that case. We'll add it (or its replacement) back later.
+         */
+        if (op->mutating && this_inplace) {
+            g_hash_table_remove(old->children, child_name);
+            stole_child = true;
+        }
+    } else if (op->create_dirs) {
+        if (op->dom_id && op->new_nr_nodes >= XS_MAX_DOMAIN_NODES) {
+            err = ENOSPC;
+            goto out;
+        }
+        op->new_nr_nodes++;
+        child = xs_node_new();
+
+        /*
+         * If we're creating a new child, we can clearly modify it (and its
+         * children) in place from here on down.
+         */
+        op->inplace = true;
+    } else {
+        err = ENOENT;
+        goto out;
+    }
+
+    /*
+     * Except for the temporary child-stealing as noted, our node has not
+     * changed yet. We don't yet know the overall operation will complete.
+     */
+    err = xs_node_walk(&child, op);
+    if (err || !op->mutating) {
+        if (stole_child) {
+            /* Put it back as it was. */
+            g_hash_table_replace(old->children, g_strdup(child_name), child);
+        } else {
+            xs_node_unref(child);
+        }
+        goto out;
+    }
+
+    /*
+     * Now we know the operation has completed successfully and we're on
+     * the way back up. Make the change, substituting 'child' in the
+     * node at our level.
+     */
+    if (!this_inplace) {
+        *n = xs_node_copy(old);
+        xs_node_unref(old);
+    }
+
+    /*
+     * The child may be NULL here, for a remove operation. Either way,
+     * xs_node_add_child() will do the right thing and return a value
+     * indicating whether it changed the parent's hash table or not.
+     *
+     * We bump the parent gencnt if it adds a child that we *didn't*
+     * steal from it in the first place, or if child==NULL and was
+     * thus removed (whether we stole it earlier and didn't put it
+     * back, or xs_node_add_child() actually removed it now).
+     */
+    if ((xs_node_add_child(*n, child_name, child) && !stole_child) || !child) {
+        (*n)->gencnt++;
+    }
+
+ out:
+    op->path[namelen] = '\0';
+    if (!namelen) {
+        /*
+         * On completing the recursion back up the path walk and reaching the
+         * top, assign the new node count if the operation was successful.
+         */
+        if (!err && op->mutating) {
+            op->s->nr_nodes = op->new_nr_nodes;
+        }
+    }
+    return err;
+}
+
+static void append_directory_item(gpointer key, gpointer value,
+                                  gpointer user_data)
+{
+    GList **items = user_data;
+
+    *items = g_list_insert_sorted(*items, g_strdup(key), (GCompareFunc)strcmp);
+}
+
+/* Populates items with char * names which caller must free. */
+static int xs_node_directory(XsNode **n, struct walk_op *op)
+{
+    GList **items = op->op_opaque;
+
+    assert(op->inplace);
+    assert(*n);
+
+    if ((*n)->children) {
+        g_hash_table_foreach((*n)->children, append_directory_item, items);
+    }
+
+    if (op->op_opaque2) {
+        *(uint64_t *)op->op_opaque2 = (*n)->gencnt;
+    }
+
+    return 0;
+}
+
+static int validate_path(char *outpath, const char *userpath,
+                         unsigned int dom_id)
+{
+    size_t i, pathlen = strlen(userpath);
+
+    if (!pathlen || userpath[pathlen] == '/' || strstr(userpath, "//")) {
+        return EINVAL;
+    }
+    for (i = 0; i < pathlen; i++) {
+        if (!strchr(XS_VALID_CHARS, userpath[i])) {
+            return EINVAL;
+        }
+    }
+    if (userpath[0] == '/') {
+        if (pathlen > XENSTORE_ABS_PATH_MAX) {
+            return E2BIG;
+        }
+        memcpy(outpath, userpath, pathlen + 1);
+    } else {
+        if (pathlen > XENSTORE_REL_PATH_MAX) {
+            return E2BIG;
+        }
+        snprintf(outpath, XENSTORE_ABS_PATH_MAX, "/local/domain/%u/%s", dom_id,
+                 userpath);
+    }
+    return 0;
+}
+
+
+static int init_walk_op(XenstoreImplState *s, struct walk_op *op,
+                        xs_transaction_t tx_id, unsigned int dom_id,
+                        const char *path, XsNode ***rootp)
+{
+    int ret = validate_path(op->path, path, dom_id);
+    if (ret) {
+        return ret;
+    }
+
+    /*
+     * We use *two* NUL terminators at the end of the path, as during the walk
+     * we will temporarily turn each '/' into a NUL to allow us to use that
+     * path element for the lookup.
+     */
+    op->path[strlen(op->path) + 1] = '\0';
+    op->path[0] = '\0';
+    op->inplace = true;
+    op->mutating = false;
+    op->create_dirs = false;
+    op->dom_id = dom_id;
+    op->s = s;
+
+    if (tx_id == XBT_NULL) {
+        *rootp = &s->root;
+        op->new_nr_nodes = s->nr_nodes;
+    } else {
+        return ENOENT;
+    }
+
+    return 0;
+}
+
 int xs_impl_read(XenstoreImplState *s, unsigned int dom_id,
                  xs_transaction_t tx_id, const char *path, GByteArray *data)
 {
@@ -24,7 +481,17 @@ int xs_impl_read(XenstoreImplState *s, unsigned int dom_id,
      * The data GByteArray shall exist, and will be freed by caller.
      * Just g_byte_array_append() to it.
      */
-    return ENOENT;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_get_content;
+    op.op_opaque = data;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_write(XenstoreImplState *s, unsigned int dom_id,
@@ -32,9 +499,21 @@ int xs_impl_write(XenstoreImplState *s, unsigned int dom_id,
 {
     /*
      * The data GByteArray shall exist, will be freed by caller. You are
-     * free to use g_byte_array_steal() and keep the data.
+     * free to use g_byte_array_steal() and keep the data. Or just ref it.
      */
-    return ENOSYS;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_add_content;
+    op.op_opaque = data;
+    op.mutating = true;
+    op.create_dirs = true;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
@@ -46,7 +525,18 @@ int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
      * immediately so if you want to change it to (const char *) and keep
      * them, go ahead and change the caller.
      */
-    return ENOENT;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_directory;
+    op.op_opaque = items;
+    op.op_opaque2 = gencnt;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
@@ -64,7 +554,17 @@ int xs_impl_transaction_end(XenstoreImplState *s, unsigned int dom_id,
 int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
                xs_transaction_t tx_id, const char *path)
 {
-    return ENOSYS;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_rm;
+    op.mutating = true;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_get_perms(XenstoreImplState *s, unsigned int dom_id,
@@ -102,16 +602,29 @@ int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
                     const char *path, const char *token,
                     xs_impl_watch_fn fn, void *opaque)
 {
-    /* Remove the watch that matches all four criteria */
+    /*
+     * When calling the callback @fn, note that the path should
+     * precisely match the relative path that the guest provided, even
+     * if it was a relative path which needed to be prefixed with
+     * /local/domain/${domid}/
+     */
     return ENOSYS;
 }
 
 int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id)
 {
+    /* Remove the watch that matches all four criteria */
     return ENOSYS;
 }
 
 XenstoreImplState *xs_impl_create(void)
 {
-    return g_new0(XenstoreImplState, 1);
+    XenstoreImplState *s = g_new0(XenstoreImplState, 1);
+
+    s->nr_nodes = 1;
+    s->root = xs_node_new();
+#ifdef XS_NODE_UNIT_TEST
+    s->root->name = g_strdup("/");
+#endif
+    return s;
 }
diff --git a/tests/unit/meson.build b/tests/unit/meson.build
index 51f453e6c4..d9c0a7eae6 100644
--- a/tests/unit/meson.build
+++ b/tests/unit/meson.build
@@ -47,6 +47,7 @@ tests = {
   'ptimer-test': ['ptimer-test-stubs.c', meson.project_source_root() / 'hw/core/ptimer.c'],
   'test-qapi-util': [],
   'test-interval-tree': [],
+  'test-xs-node': [qom],
 }
 
 if have_system or have_tools
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
new file mode 100644
index 0000000000..c78d5bd581
--- /dev/null
+++ b/tests/unit/test-xs-node.c
@@ -0,0 +1,197 @@
+/*
+ * QEMU XenStore XsNode testing
+ *
+ * Copyright © 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ * 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 "qemu/module.h"
+
+static int nr_xs_nodes;
+static GList *xs_node_list;
+
+#define XS_NODE_UNIT_TEST
+
+/*
+ * We don't need the core Xen definitions. And we *do* want to be able
+ * to run the unit tests even on architectures that Xen doesn't support
+ * (because life's too short to bother doing otherwise, and test coverage
+ * doesn't hurt).
+ */
+#define __XEN_PUBLIC_XEN_H__
+
+#include "hw/i386/kvm/xenstore_impl.c"
+
+#define DOMID_QEMU 0
+#define DOMID_GUEST 1
+
+/* This doesn't happen in qemu but we want to make valgrind happy */
+static void xs_impl_delete(XenstoreImplState *s)
+{
+    int err;
+
+    err = xs_impl_rm(s, DOMID_QEMU, XBT_NULL, "/local");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 1);
+
+    xs_node_unref(s->root);
+    g_free(s);
+
+    if (xs_node_list) {
+        GList *l;
+        for (l = xs_node_list; l; l = l->next) {
+            XsNode *n = l->data;
+            printf("Remaining node at %p name %s ref %u\n", n, n->name,
+                   n->ref);
+        }
+    }
+    g_assert(!nr_xs_nodes);
+}
+
+static int write_str(XenstoreImplState *s, unsigned int dom_id,
+                          unsigned int tx_id, const char *path,
+                          const char *content)
+{
+    GByteArray *d = g_byte_array_new();
+    int err;
+
+    g_byte_array_append(d, (void *)content, strlen(content));
+    err = xs_impl_write(s, dom_id, tx_id, path, d);
+    g_byte_array_unref(d);
+    return err;
+}
+
+static XenstoreImplState *setup(void)
+{
+   XenstoreImplState *s = xs_impl_create();
+   char *abspath;
+   int err;
+
+   abspath = g_strdup_printf("/local/domain/%u", DOMID_GUEST);
+
+   err = write_str(s, DOMID_QEMU, XBT_NULL, abspath, "");
+   g_assert(!err);
+
+   g_free(abspath);
+
+   abspath = g_strdup_printf("/local/domain/%u/some", DOMID_GUEST);
+
+   err = write_str(s, DOMID_QEMU, XBT_NULL, abspath, "");
+   g_assert(!err);
+   g_assert(s->nr_nodes == 5);
+
+   g_free(abspath);
+
+   return s;
+}
+
+static void test_xs_node_simple(void)
+{
+    GByteArray *data = g_byte_array_new();
+    XenstoreImplState *s = setup();
+    GList *items = NULL;
+    XsNode *old_root;
+    uint64_t gencnt;
+    int err;
+
+    g_assert(s);
+
+    /* Read gives ENOENT when it should */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "foo", data);
+    g_assert(err == ENOENT);
+
+    /* Write works */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
+                    "something");
+    g_assert(s->nr_nodes == 7);
+    g_assert(!err);
+
+    /* Read gives back what we wrote */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative/path", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something"));
+    g_assert(!memcmp(data->data, "something", data->len));
+
+    /* Even if we use an abolute path */
+    g_byte_array_set_size(data, 0);
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL,
+                       "/local/domain/1/some/relative/path", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something"));
+
+    /* Keep a copy, to force COW mode */
+    old_root = xs_node_ref(s->root);
+
+    /* Write works again */
+    err = write_str(s, DOMID_GUEST, XBT_NULL,
+                    "/local/domain/1/some/relative/path2",
+                    "something else");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 8);
+
+    /* Overwrite an existing node */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
+                    "another thing");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 8);
+
+    /* We can list the two files we wrote */
+    err = xs_impl_directory(s, DOMID_GUEST, XBT_NULL, "some/relative", &gencnt,
+                            &items);
+    g_assert(!err);
+    g_assert(items);
+    g_assert(gencnt == 2);
+    g_assert(!strcmp(items->data, "path"));
+    g_assert(items->next);
+    g_assert(!strcmp(items->next->data, "path2"));
+    g_assert(!items->next->next);
+    g_list_free_full(items, g_free);
+
+    /* Write somewhere else which already existed */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative", "moredata");
+    g_assert(!err);
+
+    g_byte_array_set_size(data, 0);
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("moredata"));
+    g_assert(!memcmp(data->data, "moredata", data->len));
+
+    /* Overwrite existing data */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative", "otherdata");
+    g_assert(!err);
+
+    g_byte_array_set_size(data, 0);
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("otherdata"));
+    g_assert(!memcmp(data->data, "otherdata", data->len));
+
+    /* Remove the subtree */
+    err = xs_impl_rm(s, DOMID_GUEST, XBT_NULL, "some/relative");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 5);
+
+    g_byte_array_set_size(data, 0);
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
+    g_assert(err == ENOENT);
+    g_byte_array_unref(data);
+
+    xs_node_unref(old_root);
+    xs_impl_delete(s);
+}
+
+
+int main(int argc, char **argv)
+{
+    g_test_init(&argc, &argv, NULL);
+    module_call_init(MODULE_INIT_QOM);
+
+    g_test_add_func("/xs_node/simple", test_xs_node_simple);
+
+    return g_test_run();
+}
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507659.781535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZax4-0003HD-S3; Tue, 07 Mar 2023 17:18:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507659.781535; Tue, 07 Mar 2023 17: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 1pZax4-0003Bm-5u; Tue, 07 Mar 2023 17:18:14 +0000
Received: by outflank-mailman (input) for mailman id 507659;
 Tue, 07 Mar 2023 17: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZawy-0000az-AC
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 05e0fec5-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:06 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawk-00H60I-37; Tue, 07 Mar 2023 17:17:55 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009ciN-2b; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 05e0fec5-bd0c-11ed-96b5-2f268f93b82a
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=OoYpLHePGTOV3SgREKPbrdXd7gYiqaJPFQARRGBbtMA=; b=dQ2W63BpaOT14MjuTBavL5krDY
	HBtCxKGuayq07fM/ERZum4k87nFmJGT/nIREh5NAMgVrWmmH/WdgCaeJ6oq4o4+CvnI9bDZeu6zDp
	a14a8v6c9ny/7bkFi6SMazCFmdM/W+ATnjmiZoKlvO880QZ95MxMJWzFFoQuxU8JRrzsBS3cQQP4j
	QiB9TQBR/tjsd6nCDzH4VfvbbW3vz4sypUnCCIt9WIdTSnGd4AWHOXuJ5wla1fy2N7GsVMbkGZkVL
	dcHnjoDPTPEyufAlmDy7v9UDlEHNRVw8dfeZ3DOpnGMO/IFtwwmN4TnRHEsR1M8QltNHdOmpeNCQW
	iNk7lDHA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 27/27] docs: Update Xen-on-KVM documentation for PV disk support
Date: Tue,  7 Mar 2023 17:17:50 +0000
Message-Id: <20230307171750.2293175-28-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 docs/system/i386/xen.rst | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/docs/system/i386/xen.rst b/docs/system/i386/xen.rst
index a00523b492..f06765e88c 100644
--- a/docs/system/i386/xen.rst
+++ b/docs/system/i386/xen.rst
@@ -9,6 +9,8 @@ KVM has support for hosting Xen guests, intercepting Xen hypercalls and event
 channel (Xen PV interrupt) delivery. This allows guests which expect to be
 run under Xen to be hosted in QEMU under Linux/KVM instead.
 
+Using the split irqchip is mandatory for Xen support.
+
 Setup
 -----
 
@@ -17,14 +19,14 @@ accelerator, for example for Xen 4.10:
 
 .. parsed-literal::
 
-  |qemu_system| --accel kvm,xen-version=0x4000a
+  |qemu_system| --accel kvm,xen-version=0x4000a,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 --cpu host,+xen_vapic
+  |qemu_system| --accel kvm,xen-version=0x4000a,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
@@ -33,11 +35,25 @@ 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. Note that until the Xen PV device back ends are enabled to work
-with Xen mode in QEMU, that is unlikely to cause significant joy. Linux guests
-can be dissuaded from this by adding 'xen_emul_unplug=never' on their command
-line, and it can also be noted that AHCI disk controllers are exempt from being
-unplugged, as are passthrough VFIO PCI devices.
+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
 ----------
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507660.781544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZax6-0003ZX-23; Tue, 07 Mar 2023 17:18:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507660.781544; Tue, 07 Mar 2023 17:18:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZax5-0003VQ-Ee; Tue, 07 Mar 2023 17:18:15 +0000
Received: by outflank-mailman (input) for mailman id 507660;
 Tue, 07 Mar 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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZawz-0000az-P1
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 06efe807-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:07 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawk-00H605-1E; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009chc-0p; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 06efe807-bd0c-11ed-96b5-2f268f93b82a
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=LCuGhkStdX7AYXdKG03Aj3hRWhx9QALsH27R8ZBBwAE=; b=irHWC2CWbld2HraL4VmIX2sxRv
	cqhSmZeKW2DkoE0UqImkOuoTgiB77r2xxiSd3JDjK2DAgC3ArDj8uYrZCQDg4tSLnRfy8pvuxQCKR
	Do7ZAwUI5p1xYv/q0Gdu6pmzmtvU53xb6FosxYqhsIhJ0yha9cWd9X27pcphl5FH7+Q2/VRpuc315
	vLVECVz1ZxAVh6g+sQqP0l8mxSf2rP3vxP66WNKc/QtAGW/pSO2C/jGENGiBqJ009PFaJQfOrQ65m
	Z3+CJLm9FcvOBg5RTlBlQdYgDFG0tENidC74skQZpNrs0L2/kXUdqUk8CAhmXGlp4wRHz0RKYjgzg
	ErU7Nqjw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 17/27] hw/xen: Build PV backend drivers for CONFIG_XEN_BUS
Date: Tue,  7 Mar 2023 17:17:40 +0000
Message-Id: <20230307171750.2293175-18-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>

Now that we have the redirectable Xen backend operations we can build the
PV backends even without the Xen libraries.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/9pfs/meson.build            | 2 +-
 hw/block/dataplane/meson.build | 2 +-
 hw/block/meson.build           | 2 +-
 hw/char/meson.build            | 2 +-
 hw/display/meson.build         | 2 +-
 hw/usb/meson.build             | 2 +-
 hw/xen/meson.build             | 5 ++++-
 7 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/hw/9pfs/meson.build b/hw/9pfs/meson.build
index 12443b6ad5..fd37b7a02d 100644
--- a/hw/9pfs/meson.build
+++ b/hw/9pfs/meson.build
@@ -15,7 +15,7 @@ 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', if_true: files('xen-9p-backend.c'))
+fs_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-9p-backend.c'))
 softmmu_ss.add_all(when: 'CONFIG_FSDEV_9P', if_true: fs_ss)
 
 specific_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: files('virtio-9p-device.c'))
diff --git a/hw/block/dataplane/meson.build b/hw/block/dataplane/meson.build
index 12c6a264f1..78d7ac1a11 100644
--- a/hw/block/dataplane/meson.build
+++ b/hw/block/dataplane/meson.build
@@ -1,2 +1,2 @@
 specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c'))
-specific_ss.add(when: 'CONFIG_XEN', if_true: files('xen-block.c'))
+specific_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
diff --git a/hw/block/meson.build b/hw/block/meson.build
index b434d5654c..cc2a75cc50 100644
--- a/hw/block/meson.build
+++ b/hw/block/meson.build
@@ -14,7 +14,7 @@ softmmu_ss.add(when: 'CONFIG_PFLASH_CFI02', if_true: files('pflash_cfi02.c'))
 softmmu_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('m25p80.c'))
 softmmu_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('m25p80_sfdp.c'))
 softmmu_ss.add(when: 'CONFIG_SWIM', if_true: files('swim.c'))
-softmmu_ss.add(when: 'CONFIG_XEN', if_true: files('xen-block.c'))
+softmmu_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
 softmmu_ss.add(when: 'CONFIG_TC58128', if_true: files('tc58128.c'))
 
 specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c', 'virtio-blk-common.c'))
diff --git a/hw/char/meson.build b/hw/char/meson.build
index 7b594f51b8..e02c60dd54 100644
--- a/hw/char/meson.build
+++ b/hw/char/meson.build
@@ -18,7 +18,7 @@ softmmu_ss.add(when: 'CONFIG_SERIAL_PCI', if_true: files('serial-pci.c'))
 softmmu_ss.add(when: 'CONFIG_SERIAL_PCI_MULTI', if_true: files('serial-pci-multi.c'))
 softmmu_ss.add(when: 'CONFIG_SHAKTI_UART', if_true: files('shakti_uart.c'))
 softmmu_ss.add(when: 'CONFIG_VIRTIO_SERIAL', if_true: files('virtio-console.c'))
-softmmu_ss.add(when: 'CONFIG_XEN', if_true: files('xen_console.c'))
+softmmu_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen_console.c'))
 softmmu_ss.add(when: 'CONFIG_XILINX', if_true: files('xilinx_uartlite.c'))
 
 softmmu_ss.add(when: 'CONFIG_AVR_USART', if_true: files('avr_usart.c'))
diff --git a/hw/display/meson.build b/hw/display/meson.build
index f470179122..4191694380 100644
--- a/hw/display/meson.build
+++ b/hw/display/meson.build
@@ -14,7 +14,7 @@ softmmu_ss.add(when: 'CONFIG_PL110', if_true: files('pl110.c'))
 softmmu_ss.add(when: 'CONFIG_SII9022', if_true: files('sii9022.c'))
 softmmu_ss.add(when: 'CONFIG_SSD0303', if_true: files('ssd0303.c'))
 softmmu_ss.add(when: 'CONFIG_SSD0323', if_true: files('ssd0323.c'))
-softmmu_ss.add(when: 'CONFIG_XEN', if_true: files('xenfb.c'))
+softmmu_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
 
 softmmu_ss.add(when: 'CONFIG_VGA_PCI', if_true: files('vga-pci.c'))
 softmmu_ss.add(when: 'CONFIG_VGA_ISA', if_true: files('vga-isa.c'))
diff --git a/hw/usb/meson.build b/hw/usb/meson.build
index bdf34cbd3e..599dc24f0d 100644
--- a/hw/usb/meson.build
+++ b/hw/usb/meson.build
@@ -84,6 +84,6 @@ if libusb.found()
   hw_usb_modules += {'host': usbhost_ss}
 endif
 
-softmmu_ss.add(when: ['CONFIG_USB', 'CONFIG_XEN', libusb], if_true: files('xen-usb.c'))
+softmmu_ss.add(when: ['CONFIG_USB', 'CONFIG_XEN_BUS', libusb], if_true: files('xen-usb.c'))
 
 modules += { 'hw-usb': hw_usb_modules }
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index f195bbd25c..19c6aabc7c 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -1,10 +1,13 @@
-softmmu_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
+softmmu_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',
+))
+
+softmmu_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
   'xen-operations.c',
 ))
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507661.781551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZax6-0003mc-T2; Tue, 07 Mar 2023 17:18:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507661.781551; Tue, 07 Mar 2023 17: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 1pZax6-0003gH-Ak; Tue, 07 Mar 2023 17:18:16 +0000
Received: by outflank-mailman (input) for mailman id 507661;
 Tue, 07 Mar 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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax0-0000az-Ag
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:10 +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 06c544eb-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:07 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawj-00H5zx-2F; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawj-009cgr-1t; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 06c544eb-bd0c-11ed-96b5-2f268f93b82a
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=f47Z62qCt++fBsDGyE1O3bc9SRNNoe9XPhR3UVxqg/A=; b=Znlaxo4UkOroPVRiZQjuMuDjHG
	Ta7Euyir6mlCfYEHUIhWx0Q2gBcqrSeahmZ1P8z5MRax5WPwL3H2hBvxEFLbx0FevEr0Hf18vmmYW
	kh8B8RSO/geB73WHpDwgrFTdipqjCxoDTYeOpjvZuItZ3loIIyRItA5+PTT8wPIMZ2MlpYk/HdRTG
	aLytz7itoBiJVqcjDoYWgaRy/ev3bpSGUrzbkpCIy/r9B/nN82r/j01AsyOmY0+DjdjfY/bP4exQP
	inBqNV1ZnIAZ5tBK13GWOhK7gMRnEFiDcCxsOnSaRRsu95CHnghDJth7VcL1P3sf1OGQx/31JYZyh
	8BW0DcxA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 06/27] hw/xen: Implement XenStore permissions
Date: Tue,  7 Mar 2023 17:17:29 +0000
Message-Id: <20230307171750.2293175-7-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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: Paul Durrant <pdurrant@amazon.com>

Store perms as a GList of strings, check permissions.

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c  |   2 +-
 hw/i386/kvm/xenstore_impl.c | 259 +++++++++++++++++++++++++++++++++---
 hw/i386/kvm/xenstore_impl.h |   8 +-
 tests/unit/test-xs-node.c   |  27 +++-
 4 files changed, 275 insertions(+), 21 deletions(-)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 64d8f1a38f..3b409e3817 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -98,7 +98,7 @@ static void xen_xenstore_realize(DeviceState *dev, Error **errp)
     aio_set_fd_handler(qemu_get_aio_context(), xen_be_evtchn_fd(s->eh), true,
                        xen_xenstore_event, NULL, NULL, NULL, s);
 
-    s->impl = xs_impl_create();
+    s->impl = xs_impl_create(xen_domid);
 }
 
 static bool xen_xenstore_is_needed(void *opaque)
diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 60f42f61d6..8a2053e243 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -12,6 +12,8 @@
 #include "qemu/osdep.h"
 #include "qom/object.h"
 
+#include "hw/xen/xen.h"
+
 #include "xen_xenstore.h"
 #include "xenstore_impl.h"
 
@@ -30,6 +32,7 @@
 typedef struct XsNode {
     uint32_t ref;
     GByteArray *content;
+    GList *perms;
     GHashTable *children;
     uint64_t gencnt;
     bool deleted_in_tx;
@@ -133,6 +136,9 @@ static inline void xs_node_unref(XsNode *n)
     if (n->content) {
         g_byte_array_unref(n->content);
     }
+    if (n->perms) {
+        g_list_free_full(n->perms, g_free);
+    }
     if (n->children) {
         g_hash_table_unref(n->children);
     }
@@ -144,8 +150,51 @@ static inline void xs_node_unref(XsNode *n)
     g_free(n);
 }
 
+char *xs_perm_as_string(unsigned int perm, unsigned int domid)
+{
+    char letter;
+
+    switch (perm) {
+    case XS_PERM_READ | XS_PERM_WRITE:
+        letter = 'b';
+        break;
+    case XS_PERM_READ:
+        letter = 'r';
+        break;
+    case XS_PERM_WRITE:
+        letter = 'w';
+        break;
+    case XS_PERM_NONE:
+    default:
+        letter = 'n';
+        break;
+    }
+
+    return g_strdup_printf("%c%u", letter, domid);
+}
+
+static gpointer do_perm_copy(gconstpointer src, gpointer user_data)
+{
+    return g_strdup(src);
+}
+
+static XsNode *xs_node_create(const char *name, GList *perms)
+{
+    XsNode *n = xs_node_new();
+
+#ifdef XS_NODE_UNIT_TEST
+    if (name) {
+        n->name = g_strdup(name);
+    }
+#endif
+
+    n->perms = g_list_copy_deep(perms, do_perm_copy, NULL);
+
+    return n;
+}
+
 /* For copying from one hash table to another using g_hash_table_foreach() */
-static void do_insert(gpointer key, gpointer value, gpointer user_data)
+static void do_child_insert(gpointer key, gpointer value, gpointer user_data)
 {
     g_hash_table_insert(user_data, g_strdup(key), xs_node_ref(value));
 }
@@ -162,12 +211,16 @@ static XsNode *xs_node_copy(XsNode *old)
     }
 #endif
 
+    assert(old);
     if (old->children) {
         n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
                                             (GDestroyNotify)xs_node_unref);
-        g_hash_table_foreach(old->children, do_insert, n->children);
+        g_hash_table_foreach(old->children, do_child_insert, n->children);
     }
-    if (old && old->content) {
+    if (old->perms) {
+        n->perms = g_list_copy_deep(old->perms, do_perm_copy, NULL);
+    }
+    if (old->content) {
         n->content = g_byte_array_ref(old->content);
     }
     return n;
@@ -383,6 +436,9 @@ static XsNode *xs_node_copy_deleted(XsNode *old, struct walk_op *op)
         op->op_opaque2 = n->children;
         g_hash_table_foreach(old->children, copy_deleted_recurse, op);
     }
+    if (old->perms) {
+        n->perms = g_list_copy_deep(old->perms, do_perm_copy, NULL);
+    }
     n->deleted_in_tx = true;
     /* If it gets resurrected we only fire a watch if it lost its content */
     if (old->content) {
@@ -417,6 +473,104 @@ static int xs_node_rm(XsNode **n, struct walk_op *op)
     return 0;
 }
 
+static int xs_node_get_perms(XsNode **n, struct walk_op *op)
+{
+    GList **perms = op->op_opaque;
+
+    assert(op->inplace);
+    assert(*n);
+
+    *perms = g_list_copy_deep((*n)->perms, do_perm_copy, NULL);
+    return 0;
+}
+
+static void parse_perm(const char *perm, char *letter, unsigned int *dom_id)
+{
+    unsigned int n = sscanf(perm, "%c%u", letter, dom_id);
+
+    assert(n == 2);
+}
+
+static bool can_access(unsigned int dom_id, GList *perms, const char *letters)
+{
+    unsigned int i, n;
+    char perm_letter;
+    unsigned int perm_dom_id;
+    bool access;
+
+    if (dom_id == 0) {
+        return true;
+    }
+
+    n = g_list_length(perms);
+    assert(n >= 1);
+
+    /*
+     * The dom_id of the first perm is the owner, and the owner always has
+     * read-write access.
+     */
+    parse_perm(g_list_nth_data(perms, 0), &perm_letter, &perm_dom_id);
+    if (dom_id == perm_dom_id) {
+        return true;
+    }
+
+    /*
+     * The letter of the first perm specified the default access for all other
+     * domains.
+     */
+    access = !!strchr(letters, perm_letter);
+    for (i = 1; i < n; i++) {
+        parse_perm(g_list_nth_data(perms, i), &perm_letter, &perm_dom_id);
+        if (dom_id != perm_dom_id) {
+            continue;
+        }
+        access = !!strchr(letters, perm_letter);
+    }
+
+    return access;
+}
+
+static int xs_node_set_perms(XsNode **n, struct walk_op *op)
+{
+    GList *perms = op->op_opaque;
+
+    if (op->dom_id) {
+        unsigned int perm_dom_id;
+        char perm_letter;
+
+        /* A guest may not change permissions on nodes it does not own */
+        if (!can_access(op->dom_id, (*n)->perms, "")) {
+            return EPERM;
+        }
+
+        /* A guest may not change the owner of a node it owns. */
+        parse_perm(perms->data, &perm_letter, &perm_dom_id);
+        if (perm_dom_id != op->dom_id) {
+            return EPERM;
+        }
+
+        if (g_list_length(perms) > XS_MAX_PERMS_PER_NODE) {
+            return ENOSPC;
+        }
+    }
+
+    /* We *are* the node to be written. Either this or a copy. */
+    if (!op->inplace) {
+        XsNode *old = *n;
+        *n = xs_node_copy(old);
+        xs_node_unref(old);
+    }
+
+    if ((*n)->perms) {
+        g_list_free_full((*n)->perms, g_free);
+    }
+    (*n)->perms = g_list_copy_deep(perms, do_perm_copy, NULL);
+    if (op->tx_id != XBT_NULL) {
+        (*n)->modified_in_tx = true;
+    }
+    return 0;
+}
+
 /*
  * Passed a full reference in *n which it may free if it needs to COW.
  *
@@ -458,6 +612,13 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
     }
 
     if (!child_name) {
+        const char *letters = op->mutating ? "wb" : "rb";
+
+        if (!can_access(op->dom_id, old->perms, letters)) {
+            err = EACCES;
+            goto out;
+        }
+
         /* This is the actual node on which the operation shall be performed */
         err = op->op_fn(n, op);
         if (!err) {
@@ -491,12 +652,20 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
             stole_child = true;
         }
     } else if (op->create_dirs) {
+        assert(op->mutating);
+
+        if (!can_access(op->dom_id, old->perms, "wb")) {
+            err = EACCES;
+            goto out;
+        }
+
         if (op->dom_id && op->new_nr_nodes >= XS_MAX_DOMAIN_NODES) {
             err = ENOSPC;
             goto out;
         }
+
+        child = xs_node_create(child_name, old->perms);
         op->new_nr_nodes++;
-        child = xs_node_new();
 
         /*
          * If we're creating a new child, we can clearly modify it (and its
@@ -918,20 +1087,73 @@ int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
 int xs_impl_get_perms(XenstoreImplState *s, unsigned int dom_id,
                       xs_transaction_t tx_id, const char *path, GList **perms)
 {
-    /*
-     * The perms are (char *) in the <perm-as-string> wire format to be
-     * freed by the caller.
-     */
-    return ENOSYS;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_get_perms;
+    op.op_opaque = perms;
+    return xs_node_walk(n, &op);
+}
+
+static void is_valid_perm(gpointer data, gpointer user_data)
+{
+    char *perm = data;
+    bool *valid = user_data;
+    char letter;
+    unsigned int dom_id;
+
+    if (!*valid) {
+        return;
+    }
+
+    if (sscanf(perm, "%c%u", &letter, &dom_id) != 2) {
+        *valid = false;
+        return;
+    }
+
+    switch (letter) {
+    case 'n':
+    case 'r':
+    case 'w':
+    case 'b':
+        break;
+
+    default:
+        *valid = false;
+        break;
+    }
 }
 
 int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
                       xs_transaction_t tx_id, const char *path, GList *perms)
 {
-    /*
-     * The perms are (const char *) in the <perm-as-string> wire format.
-     */
-    return ENOSYS;
+    struct walk_op op;
+    XsNode **n;
+    bool valid = true;
+    int ret;
+
+    if (!g_list_length(perms)) {
+        return EINVAL;
+    }
+
+    g_list_foreach(perms, is_valid_perm, &valid);
+    if (!valid) {
+        return EINVAL;
+    }
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_set_perms;
+    op.op_opaque = perms;
+    op.mutating = true;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
@@ -1122,18 +1344,19 @@ static void xs_tx_free(void *_tx)
     g_free(tx);
 }
 
-XenstoreImplState *xs_impl_create(void)
+XenstoreImplState *xs_impl_create(unsigned int dom_id)
 {
     XenstoreImplState *s = g_new0(XenstoreImplState, 1);
+    GList *perms;
 
     s->watches = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
     s->transactions = g_hash_table_new_full(g_direct_hash, g_direct_equal,
                                             NULL, xs_tx_free);
+
+    perms = g_list_append(NULL, xs_perm_as_string(XS_PERM_NONE, 0));
+    s->root = xs_node_create("/", perms);
+    g_list_free_full(perms, g_free);
     s->nr_nodes = 1;
-    s->root = xs_node_new();
-#ifdef XS_NODE_UNIT_TEST
-    s->root->name = g_strdup("/");
-#endif
 
     s->root_tx = s->last_tx = 1;
     return s;
diff --git a/hw/i386/kvm/xenstore_impl.h b/hw/i386/kvm/xenstore_impl.h
index beb7b29ab8..2f81251b5e 100644
--- a/hw/i386/kvm/xenstore_impl.h
+++ b/hw/i386/kvm/xenstore_impl.h
@@ -16,9 +16,15 @@ typedef uint32_t xs_transaction_t;
 
 #define XBT_NULL 0
 
+#define XS_PERM_NONE  0x00
+#define XS_PERM_READ  0x01
+#define XS_PERM_WRITE 0x02
+
 typedef struct XenstoreImplState XenstoreImplState;
 
-XenstoreImplState *xs_impl_create(void);
+XenstoreImplState *xs_impl_create(unsigned int dom_id);
+
+char *xs_perm_as_string(unsigned int perm, unsigned int domid);
 
 /*
  * These functions return *positive* error numbers. This is a little
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index 02c72baa62..2c0f89c694 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -80,8 +80,9 @@ static void watch_cb(void *_str, const char *path, const char *token)
 
 static XenstoreImplState *setup(void)
 {
-   XenstoreImplState *s = xs_impl_create();
+   XenstoreImplState *s = xs_impl_create(DOMID_GUEST);
    char *abspath;
+   GList *perms;
    int err;
 
    abspath = g_strdup_printf("/local/domain/%u", DOMID_GUEST);
@@ -90,6 +91,13 @@ static XenstoreImplState *setup(void)
    g_assert(!err);
    g_assert(s->nr_nodes == 4);
 
+   perms = g_list_append(NULL, g_strdup_printf("n%u", DOMID_QEMU));
+   perms = g_list_append(perms, g_strdup_printf("r%u", DOMID_GUEST));
+
+   err = xs_impl_set_perms(s, DOMID_QEMU, XBT_NULL, abspath, perms);
+   g_assert(!err);
+
+   g_list_free_full(perms, g_free);
    g_free(abspath);
 
    abspath = g_strdup_printf("/local/domain/%u/some", DOMID_GUEST);
@@ -98,6 +106,12 @@ static XenstoreImplState *setup(void)
    g_assert(!err);
    g_assert(s->nr_nodes == 5);
 
+   perms = g_list_append(NULL, g_strdup_printf("n%u", DOMID_GUEST));
+
+   err = xs_impl_set_perms(s, DOMID_QEMU, XBT_NULL, abspath, perms);
+   g_assert(!err);
+
+   g_list_free_full(perms, g_free);
    g_free(abspath);
 
    return s;
@@ -166,6 +180,12 @@ static void test_xs_node_simple(void)
     /* Keep a copy, to force COW mode */
     old_root = xs_node_ref(s->root);
 
+    /* Write somewhere we aren't allowed, in COW mode */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "/local/domain/badplace",
+                    "moredata");
+    g_assert(err == EACCES);
+    g_assert(s->nr_nodes == 7);
+
     /* Write works again */
     err = write_str(s, DOMID_GUEST, XBT_NULL,
                     "/local/domain/1/some/relative/path2",
@@ -226,6 +246,11 @@ static void test_xs_node_simple(void)
     g_assert(!err);
     g_assert(s->nr_nodes == 8);
 
+    /* Write somewhere we aren't allowed */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "/local/domain/badplace",
+                    "moredata");
+    g_assert(err == EACCES);
+
     g_assert(!strcmp(guest_watches->str,
                      "/local/domain/1/some/relativewatchrel"));
     g_string_truncate(guest_watches, 0);
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507662.781560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZax8-00046v-8A; Tue, 07 Mar 2023 17:18:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507662.781560; Tue, 07 Mar 2023 17:18: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 1pZax7-00042e-Oe; Tue, 07 Mar 2023 17:18:17 +0000
Received: by outflank-mailman (input) for mailman id 507662;
 Tue, 07 Mar 2023 17: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax0-0000bA-As
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 04aab64c-bd0c-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 18:18:03 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZawk-006ay8-FF; Tue, 07 Mar 2023 17:17:55 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009chv-1X; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 04aab64c-bd0c-11ed-a550-8520e6686977
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=WXECW/yONHCaXquJL7vAYq0QNJJsnDTCRwtBJgAs8SA=; b=tQFkWPxpQIOobf18AHO9loyXM7
	OTDDp+TB/fEXnV6/dHIOG/V4sCKRfWzUfvpCu/YRByENp3nNUDp430cei6Aw391Hdfgybx9zJk3Qg
	PbkSFdaxbd2HgXerxqkrrt/va7XOMUdOYWIPSR2jkeTBrLWqaiJprMaeDe2sDfRVXoqS0lLjDAXR9
	Xr4bhdFfHuzyzNzjlCcNhRir3TGWL/Z+ySv+4U4ENXj6akMDas1w57bKBRW8C33o2x1UaVrT1M61r
	t6+3hjSQMkxnR90Wqd/kfZQVH+6lFLgDgPl8dcbKvIoKfnM5IR7elom0pMAeUMMy9mhyKA3TXpSX5
	gLKuLNwQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 21/27] hw/xen: Add emulated implementation of grant table operations
Date: Tue,  7 Mar 2023 17:17:44 +0000
Message-Id: <20230307171750.2293175-22-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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 limited to mapping a single grant at a time, because under Xen the
pages are mapped *contiguously* into qemu's address space, and that's very
hard to do when those pages actually come from anonymous mappings in qemu
in the first place.

Eventually perhaps we can look at using shared mappings of actual objects
for system RAM, and then we can make new mappings of the same backing
store (be it deleted files, shmem, whatever). But for now let's stick to
a page at a time.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_gnttab.c | 299 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 296 insertions(+), 3 deletions(-)

diff --git a/hw/i386/kvm/xen_gnttab.c b/hw/i386/kvm/xen_gnttab.c
index 1e691ded32..2bf91d36c0 100644
--- a/hw/i386/kvm/xen_gnttab.c
+++ b/hw/i386/kvm/xen_gnttab.c
@@ -22,6 +22,7 @@
 
 #include "hw/sysbus.h"
 #include "hw/xen/xen.h"
+#include "hw/xen/xen_backend_ops.h"
 #include "xen_overlay.h"
 #include "xen_gnttab.h"
 
@@ -34,11 +35,10 @@
 #define TYPE_XEN_GNTTAB "xen-gnttab"
 OBJECT_DECLARE_SIMPLE_TYPE(XenGnttabState, XEN_GNTTAB)
 
-#define XEN_PAGE_SHIFT 12
-#define XEN_PAGE_SIZE (1ULL << XEN_PAGE_SHIFT)
-
 #define ENTRIES_PER_FRAME_V1 (XEN_PAGE_SIZE / sizeof(grant_entry_v1_t))
 
+static struct gnttab_backend_ops emu_gnttab_backend_ops;
+
 struct XenGnttabState {
     /*< private >*/
     SysBusDevice busdev;
@@ -57,6 +57,8 @@ struct XenGnttabState {
     MemoryRegion gnt_frames;
     MemoryRegion *gnt_aliases;
     uint64_t *gnt_frame_gpas;
+
+    uint8_t *map_track;
 };
 
 struct XenGnttabState *xen_gnttab_singleton;
@@ -88,9 +90,15 @@ static void xen_gnttab_realize(DeviceState *dev, Error **errp)
         s->gnt_frame_gpas[i] = INVALID_GPA;
     }
 
+    s->entries.v1[GNTTAB_RESERVED_XENSTORE].flags = GTF_permit_access;
+    s->entries.v1[GNTTAB_RESERVED_XENSTORE].frame = XEN_SPECIAL_PFN(XENSTORE);
     qemu_mutex_init(&s->gnt_lock);
 
     xen_gnttab_singleton = s;
+
+    s->map_track = g_new0(uint8_t, s->max_frames * ENTRIES_PER_FRAME_V1);
+
+    xen_gnttab_ops = &emu_gnttab_backend_ops;
 }
 
 static int xen_gnttab_post_load(void *opaque, int version_id)
@@ -230,3 +238,288 @@ int xen_gnttab_query_size_op(struct gnttab_query_size *size)
     size->max_nr_frames = s->max_frames;
     return 0;
 }
+
+/* Track per-open refs, to allow close() to clean up. */
+struct active_ref {
+    MemoryRegionSection mrs;
+    void *virtaddr;
+    uint32_t refcnt;
+    int prot;
+};
+
+static void gnt_unref(XenGnttabState *s, grant_ref_t ref,
+                      MemoryRegionSection *mrs, int prot)
+{
+    if (mrs && mrs->mr) {
+        if (prot & PROT_WRITE) {
+            memory_region_set_dirty(mrs->mr, mrs->offset_within_region,
+                                    XEN_PAGE_SIZE);
+        }
+        memory_region_unref(mrs->mr);
+        mrs->mr = NULL;
+    }
+    assert(s->map_track[ref] != 0);
+
+    if (--s->map_track[ref] == 0) {
+        grant_entry_v1_t *gnt_p = &s->entries.v1[ref];
+        qatomic_and(&gnt_p->flags, (uint16_t)~(GTF_reading | GTF_writing));
+    }
+}
+
+static uint64_t gnt_ref(XenGnttabState *s, grant_ref_t ref, int prot)
+{
+    uint16_t mask = GTF_type_mask | GTF_sub_page;
+    grant_entry_v1_t gnt, *gnt_p;
+    int retries = 0;
+
+    if (ref >= s->max_frames * ENTRIES_PER_FRAME_V1 ||
+        s->map_track[ref] == UINT8_MAX) {
+        return INVALID_GPA;
+    }
+
+    if (prot & PROT_WRITE) {
+        mask |= GTF_readonly;
+    }
+
+    gnt_p = &s->entries.v1[ref];
+
+    /*
+     * The guest can legitimately be changing the GTF_readonly flag. Allow
+     * that, but don't let a malicious guest cause a livelock.
+     */
+    for (retries = 0; retries < 5; retries++) {
+        uint16_t new_flags;
+
+        /* Read the entry before an atomic operation on its flags */
+        gnt = *(volatile grant_entry_v1_t *)gnt_p;
+
+        if ((gnt.flags & mask) != GTF_permit_access ||
+            gnt.domid != DOMID_QEMU) {
+            return INVALID_GPA;
+        }
+
+        new_flags = gnt.flags | GTF_reading;
+        if (prot & PROT_WRITE) {
+            new_flags |= GTF_writing;
+        }
+
+        if (qatomic_cmpxchg(&gnt_p->flags, gnt.flags, new_flags) == gnt.flags) {
+            return (uint64_t)gnt.frame << XEN_PAGE_SHIFT;
+        }
+    }
+
+    return INVALID_GPA;
+}
+
+struct xengntdev_handle {
+    GHashTable *active_maps;
+};
+
+static int xen_be_gnttab_set_max_grants(struct xengntdev_handle *xgt,
+                                        uint32_t nr_grants)
+{
+    return 0;
+}
+
+static void *xen_be_gnttab_map_refs(struct xengntdev_handle *xgt,
+                                    uint32_t count, uint32_t domid,
+                                    uint32_t *refs, int prot)
+{
+    XenGnttabState *s = xen_gnttab_singleton;
+    struct active_ref *act;
+
+    if (!s) {
+        errno = ENOTSUP;
+        return NULL;
+    }
+
+    if (domid != xen_domid) {
+        errno = EINVAL;
+        return NULL;
+    }
+
+    if (!count || count > 4096) {
+        errno = EINVAL;
+        return NULL;
+    }
+
+    /*
+     * Making a contiguous mapping from potentially discontiguous grant
+     * references would be... distinctly non-trivial. We don't support it.
+     * Even changing the API to return an array of pointers, one per page,
+     * wouldn't be simple to use in PV backends because some structures
+     * actually cross page boundaries (e.g. 32-bit blkif_response ring
+     * entries are 12 bytes).
+     */
+    if (count != 1) {
+        errno = EINVAL;
+        return NULL;
+    }
+
+    QEMU_LOCK_GUARD(&s->gnt_lock);
+
+    act = g_hash_table_lookup(xgt->active_maps, GINT_TO_POINTER(refs[0]));
+    if (act) {
+        if ((prot & PROT_WRITE) && !(act->prot & PROT_WRITE)) {
+            if (gnt_ref(s, refs[0], prot) == INVALID_GPA) {
+                return NULL;
+            }
+            act->prot |= PROT_WRITE;
+        }
+        act->refcnt++;
+    } else {
+        uint64_t gpa = gnt_ref(s, refs[0], prot);
+        if (gpa == INVALID_GPA) {
+            errno = EINVAL;
+            return NULL;
+        }
+
+        act = g_new0(struct active_ref, 1);
+        act->prot = prot;
+        act->refcnt = 1;
+        act->mrs = memory_region_find(get_system_memory(), gpa, XEN_PAGE_SIZE);
+
+        if (act->mrs.mr &&
+            !int128_lt(act->mrs.size, int128_make64(XEN_PAGE_SIZE)) &&
+            memory_region_get_ram_addr(act->mrs.mr) != RAM_ADDR_INVALID) {
+            act->virtaddr = qemu_map_ram_ptr(act->mrs.mr->ram_block,
+                                             act->mrs.offset_within_region);
+        }
+        if (!act->virtaddr) {
+            gnt_unref(s, refs[0], &act->mrs, 0);
+            g_free(act);
+            errno = EINVAL;
+            return NULL;
+        }
+
+        s->map_track[refs[0]]++;
+        g_hash_table_insert(xgt->active_maps, GINT_TO_POINTER(refs[0]), act);
+    }
+
+    return act->virtaddr;
+}
+
+static gboolean do_unmap(gpointer key, gpointer value, gpointer user_data)
+{
+    XenGnttabState *s = user_data;
+    grant_ref_t gref = GPOINTER_TO_INT(key);
+    struct active_ref *act = value;
+
+    gnt_unref(s, gref, &act->mrs, act->prot);
+    g_free(act);
+    return true;
+}
+
+static int xen_be_gnttab_unmap(struct xengntdev_handle *xgt,
+                               void *start_address, uint32_t *refs,
+                               uint32_t count)
+{
+    XenGnttabState *s = xen_gnttab_singleton;
+    struct active_ref *act;
+
+    if (!s) {
+        return -ENOTSUP;
+    }
+
+    if (count != 1) {
+        return -EINVAL;
+    }
+
+    QEMU_LOCK_GUARD(&s->gnt_lock);
+
+    act = g_hash_table_lookup(xgt->active_maps, GINT_TO_POINTER(refs[0]));
+    if (!act) {
+        return -ENOENT;
+    }
+
+    if (act->virtaddr != start_address) {
+        return -EINVAL;
+    }
+
+    if (!--act->refcnt) {
+        do_unmap(GINT_TO_POINTER(refs[0]), act, s);
+        g_hash_table_remove(xgt->active_maps, GINT_TO_POINTER(refs[0]));
+    }
+
+    return 0;
+}
+
+/*
+ * This looks a bit like the one for true Xen in xen-operations.c but
+ * in emulation we don't support multi-page mappings. And under Xen we
+ * *want* the multi-page mappings so we have fewer bounces through the
+ * kernel and the hypervisor. So the code paths end up being similar,
+ * but different.
+ */
+static int xen_be_gnttab_copy(struct xengntdev_handle *xgt, bool to_domain,
+                              uint32_t domid, XenGrantCopySegment *segs,
+                              uint32_t nr_segs, Error **errp)
+{
+    int prot = to_domain ? PROT_WRITE : PROT_READ;
+    unsigned int i;
+
+    for (i = 0; i < nr_segs; i++) {
+        XenGrantCopySegment *seg = &segs[i];
+        void *page;
+        uint32_t ref = to_domain ? seg->dest.foreign.ref :
+            seg->source.foreign.ref;
+
+        page = xen_be_gnttab_map_refs(xgt, 1, domid, &ref, prot);
+        if (!page) {
+            if (errp) {
+                error_setg_errno(errp, errno,
+                                 "xen_be_gnttab_map_refs failed");
+            }
+            return -errno;
+        }
+
+        if (to_domain) {
+            memcpy(page + seg->dest.foreign.offset, seg->source.virt,
+                   seg->len);
+        } else {
+            memcpy(seg->dest.virt, page + seg->source.foreign.offset,
+                   seg->len);
+        }
+
+        if (xen_be_gnttab_unmap(xgt, page, &ref, 1)) {
+            if (errp) {
+                error_setg_errno(errp, errno, "xen_be_gnttab_unmap failed");
+            }
+            return -errno;
+        }
+    }
+
+    return 0;
+}
+
+static struct xengntdev_handle *xen_be_gnttab_open(void)
+{
+    struct xengntdev_handle *xgt = g_new0(struct xengntdev_handle, 1);
+
+    xgt->active_maps = g_hash_table_new(g_direct_hash, g_direct_equal);
+    return xgt;
+}
+
+static int xen_be_gnttab_close(struct xengntdev_handle *xgt)
+{
+    XenGnttabState *s = xen_gnttab_singleton;
+
+    if (!s) {
+        return -ENOTSUP;
+    }
+
+    g_hash_table_foreach_remove(xgt->active_maps, do_unmap, s);
+    g_hash_table_destroy(xgt->active_maps);
+    g_free(xgt);
+    return 0;
+}
+
+static struct gnttab_backend_ops emu_gnttab_backend_ops = {
+    .open = xen_be_gnttab_open,
+    .close = xen_be_gnttab_close,
+    .grant_copy = xen_be_gnttab_copy,
+    .set_max_grants = xen_be_gnttab_set_max_grants,
+    .map_refs = xen_be_gnttab_map_refs,
+    .unmap = xen_be_gnttab_unmap,
+};
+
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507663.781575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaxB-0004kn-Qx; Tue, 07 Mar 2023 17:18:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507663.781575; Tue, 07 Mar 2023 17: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 1pZaxA-0004gb-Mj; Tue, 07 Mar 2023 17:18:20 +0000
Received: by outflank-mailman (input) for mailman id 507663;
 Tue, 07 Mar 2023 17:18: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax1-0000bA-Aw
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:11 +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 06d054d7-bd0c-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 18:18:07 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawk-00H60G-2s; Tue, 07 Mar 2023 17:17:55 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009ciI-2R; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 06d054d7-bd0c-11ed-a550-8520e6686977
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=PkizE0cS/Ha72MbLZ6lRnucXKt4Gr9fG8pUinhpPuTo=; b=PQBkd7F1lelkGwnjB6AU6JqM08
	uPuEG7Ks8QiYuYLUrk1ODhQ/SQg3Sx4UNpNz8ouAH2Fuo5qpDu4tLT5UguJ6qlSz2wkgC6jZdnWcM
	3XFtwCAS5jN3zLOOA0mDHvtchzgEI9ZNjXJjWLWewLnW0Feeov9HJaH2gJk0rNuzrzjH60H5rbmVf
	lx6TVii51C4zqT2Q8gkWAyO+X5uUg17V555DE8O/rwsll0+zs/1ut/0p6Ty8xJz2Pl98Uap2PtLX5
	JFxyyOe8qtisLxdNwAQ9VnkIy4g21RVm0K5Iqv1s/uPPPBy0eUZ7V+5DTf2l/NSYAgTfspzmBB5ND
	X4fFOX7g==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 26/27] MAINTAINERS: Add entry for Xen on KVM emulation
Date: Tue,  7 Mar 2023 17:17:49 +0000
Message-Id: <20230307171750.2293175-27-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 MAINTAINERS | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 5340de0515..640deb2895 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -443,6 +443,15 @@ F: target/i386/kvm/
 F: target/i386/sev*
 F: scripts/kvm/vmxcap
 
+Xen emulation on X86 KVM CPUs
+M: David Woodhouse <dwmw2@infradead.org>
+M: Paul Durrant <paul@xen.org>
+S: Supported
+F: include/sysemu/kvm_xen.h
+F: target/i386/kvm/xen*
+F: hw/i386/kvm/xen*
+F: tests/avocado/xen_guest.py
+
 Guest CPU Cores (other accelerators)
 ------------------------------------
 Overall
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507664.781581 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaxD-00056o-Gy; Tue, 07 Mar 2023 17:18:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507664.781581; Tue, 07 Mar 2023 17:18: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 1pZaxC-00050U-Gn; Tue, 07 Mar 2023 17:18:22 +0000
Received: by outflank-mailman (input) for mailman id 507664;
 Tue, 07 Mar 2023 17:18: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax1-0000az-Aq
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 0758721b-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:08 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawk-00H60F-2E; Tue, 07 Mar 2023 17:17:55 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009ci3-1t; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 0758721b-bd0c-11ed-96b5-2f268f93b82a
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=clpLW6t7rNTbn75BmNqsky8pta5BOUHGruM/9tE0I6Y=; b=MB9l095fQBzoRpSbtcacoiK5+J
	JT4k6i6JOn2LjdZpuk6Zxba0+L18NfedLcQVVwYuhsCUF5WpFcAThJxRZZojfU7kBuFXMbs67euvk
	sCV1X2N/5QWrrFE0SFLh0nBkS9Eg9BWEWhc4t+F3agnLHQmffGe6CAKXtdn/WASTFvtvROGyHPkaE
	IueP8sl0aIH37PCmiIvf5NUrAaHSyqTZvLhe9PlBsw4VR/w/6Fi76U97sW+zegsfKnoWE8vx8IKMX
	0gxxFUedpkSFbDSkPs6nzDAMb9UjHE/mJVoFiKyRzoRbSMbH2YLssMTvJAFSJFtEhpxzyZ6Pe9A2l
	UrDBNFBQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 23/27] hw/xen: Map guest XENSTORE_PFN grant in emulated Xenstore
Date: Tue,  7 Mar 2023 17:17:46 +0000
Message-Id: <20230307171750.2293175-24-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>

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
first place. Map the grant anyway, mostly for cosmetic purposes so it
*looks* like it's in use in the guest-visible grant table.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index bf466c71ed..2cadafd56a 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -21,6 +21,7 @@
 
 #include "hw/sysbus.h"
 #include "hw/xen/xen.h"
+#include "hw/xen/xen_backend_ops.h"
 #include "xen_overlay.h"
 #include "xen_evtchn.h"
 #include "xen_xenstore.h"
@@ -34,6 +35,7 @@
 
 #include "hw/xen/interface/io/xs_wire.h"
 #include "hw/xen/interface/event_channel.h"
+#include "hw/xen/interface/grant_table.h"
 
 #define TYPE_XEN_XENSTORE "xen-xenstore"
 OBJECT_DECLARE_SIMPLE_TYPE(XenXenstoreState, XEN_XENSTORE)
@@ -66,6 +68,9 @@ struct XenXenstoreState {
 
     uint8_t *impl_state;
     uint32_t impl_state_size;
+
+    struct xengntdev_handle *gt;
+    void *granted_xs;
 };
 
 struct XenXenstoreState *xen_xenstore_singleton;
@@ -1453,6 +1458,17 @@ int xen_xenstore_reset(void)
     }
     s->be_port = err;
 
+    /*
+     * 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
+     * first place. Map the grant anyway, mostly for cosmetic purposes so
+     * it *looks* like it's in use in the guest-visible grant table.
+     */
+    s->gt = qemu_xen_gnttab_open();
+    uint32_t xs_gntref = GNTTAB_RESERVED_XENSTORE;
+    s->granted_xs = qemu_xen_gnttab_map_refs(s->gt, 1, xen_domid, &xs_gntref,
+                                             PROT_READ | PROT_WRITE);
+
     return 0;
 }
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507665.781593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaxF-0005cO-RQ; Tue, 07 Mar 2023 17:18:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507665.781593; Tue, 07 Mar 2023 17:18: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 1pZaxE-0005R2-Em; Tue, 07 Mar 2023 17:18:24 +0000
Received: by outflank-mailman (input) for mailman id 507665;
 Tue, 07 Mar 2023 17: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax2-0000bA-B7
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:12 +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 075735d9-bd0c-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 18:18:08 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawk-00H60D-1l; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009chr-1N; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 075735d9-bd0c-11ed-a550-8520e6686977
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=82Q+BiWXMrz+wFyySB5DKlF6CrKphRlXsFH1yff2od4=; b=PV0iIlvQ0PObvRlCYaPk06cUgT
	TbDC2JYH3cGCMkH7zPjkYjcGSHbaugSG7K/gFzGLdVdnX6ewAqC6LZnyN32NmNanpXAxXHEW70Buw
	+J36U9JBwCFeqgkNwup0cB+HKgoUrMnTx1blyQjSF5pbr8J09w2rbo5iUkKbw5bPighuahZxlxavl
	f2mWehzyELxxrM3ZyxC/5QfPLK6dZI/9UgGhZNNlqTMPIHfb9FpQobHjwf6oP00jkUbIAY5XGdLcC
	bFwkvcBuwu8267gAoFf1w/dLJAtWhEPBnr2U8KAn6OaNmWmGyamIYyiwk9ktGln7WMPgkWVjHIR78
	b52nbg4A==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 20/27] hw/xen: Hook up emulated implementation for event channel operations
Date: Tue,  7 Mar 2023 17:17:43 +0000
Message-Id: <20230307171750.2293175-21-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>

We provided the backend-facing evtchn functions very early on as part of
the core Xen platform support, since things like timers and xenstore need
to use them.

By what may or may not be an astonishing coincidence, those functions
just *happen* all to have exactly the right function prototypes to slot
into the evtchn_backend_ops table and be called by the PV backends.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_evtchn.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/hw/i386/kvm/xen_evtchn.c b/hw/i386/kvm/xen_evtchn.c
index 886fbf6b3b..98a7b85047 100644
--- a/hw/i386/kvm/xen_evtchn.c
+++ b/hw/i386/kvm/xen_evtchn.c
@@ -34,6 +34,7 @@
 #include "hw/pci/msi.h"
 #include "hw/pci/msix.h"
 #include "hw/irq.h"
+#include "hw/xen/xen_backend_ops.h"
 
 #include "xen_evtchn.h"
 #include "xen_overlay.h"
@@ -278,6 +279,17 @@ static const TypeInfo xen_evtchn_info = {
     .class_init    = xen_evtchn_class_init,
 };
 
+static struct evtchn_backend_ops emu_evtchn_backend_ops = {
+    .open = xen_be_evtchn_open,
+    .bind_interdomain = xen_be_evtchn_bind_interdomain,
+    .unbind = xen_be_evtchn_unbind,
+    .close = xen_be_evtchn_close,
+    .get_fd = xen_be_evtchn_fd,
+    .notify = xen_be_evtchn_notify,
+    .unmask = xen_be_evtchn_unmask,
+    .pending = xen_be_evtchn_pending,
+};
+
 static void gsi_assert_bh(void *opaque)
 {
     struct vcpu_info *vi = kvm_xen_get_vcpu_info_hva(0);
@@ -318,6 +330,9 @@ void xen_evtchn_create(void)
     s->nr_pirq_inuse_words = DIV_ROUND_UP(s->nr_pirqs, 64);
     s->pirq_inuse_bitmap = g_new0(uint64_t, s->nr_pirq_inuse_words);
     s->pirq = g_new0(struct pirq_info, s->nr_pirqs);
+
+    /* Set event channel functions for backend drivers to use */
+    xen_evtchn_ops = &emu_evtchn_backend_ops;
 }
 
 void xen_evtchn_connect_gsis(qemu_irq *system_gsis)
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:18:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:18:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507666.781601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaxH-00067q-MO; Tue, 07 Mar 2023 17:18:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507666.781601; Tue, 07 Mar 2023 17: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 1pZaxG-00061c-8P; Tue, 07 Mar 2023 17:18:26 +0000
Received: by outflank-mailman (input) for mailman id 507666;
 Tue, 07 Mar 2023 17: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax3-0000bA-BB
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 0753660c-bd0c-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 18:18:08 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawj-00H5zz-2n; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawj-009ch4-2T; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 0753660c-bd0c-11ed-a550-8520e6686977
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=NmTq7xdswHQSe29JrCR0/eIaXBdiuGrCFOBx7jmSa9Y=; b=kNbE6l4/S7YT7ODMnBHiNW6QJG
	BwwKdjQa/Z8dvgPrtzAId5nwTNH755xcvZaqccbdJjBKfHU7+15E+BmzDwNL5vylUTXrIXT8eCFQp
	BEnSxExUIi3C/7P7ER5poXCbmEl8EpNxHfkD5BzVpJVxbi50feWj9+y4GLiMrl8HLbW6IOGg3dHJQ
	89NmAf0g380JNXkCdvXIpshUa+BSF54ZdSzjOxnfoml/H0iulEgXeKtnzT5+wDcX1OsGRFPELR8st
	W+e40/4Q6ctmA3r4BMWeaazUaTel7fw3kWuBCjSr9W5gO8VkOTObf7/X3NxwlU9AT2vSCAua/+Etf
	GUD5x+GQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 09/27] hw/xen: Add evtchn operations to allow redirection to internal emulation
Date: Tue,  7 Mar 2023 17:17:32 +0000
Message-Id: <20230307171750.2293175-10-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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 existing implementation calling into the real libxenevtchn moves to
a new file hw/xen/xen-operations.c, and is called via a function table
which in a subsequent commit will also be able to invoke the emulated
event channel support.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/9pfs/xen-9p-backend.c            |  24 +++---
 hw/i386/xen/xen-hvm.c               |  27 ++++---
 hw/xen/meson.build                  |   1 +
 hw/xen/xen-bus.c                    |  22 +++---
 hw/xen/xen-legacy-backend.c         |   8 +-
 hw/xen/xen-operations.c             |  71 +++++++++++++++++
 hw/xen/xen_pvdev.c                  |  12 +--
 include/hw/xen/xen-bus.h            |   1 +
 include/hw/xen/xen-legacy-backend.h |   1 +
 include/hw/xen/xen_backend_ops.h    | 118 ++++++++++++++++++++++++++++
 include/hw/xen/xen_common.h         |  12 ---
 include/hw/xen/xen_pvdev.h          |   1 +
 softmmu/globals.c                   |   1 +
 13 files changed, 242 insertions(+), 57 deletions(-)
 create mode 100644 hw/xen/xen-operations.c
 create mode 100644 include/hw/xen/xen_backend_ops.h

diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
index 65c4979c3c..864bdaf952 100644
--- a/hw/9pfs/xen-9p-backend.c
+++ b/hw/9pfs/xen-9p-backend.c
@@ -241,7 +241,7 @@ static void xen_9pfs_push_and_notify(V9fsPDU *pdu)
     xen_wmb();
 
     ring->inprogress = false;
-    xenevtchn_notify(ring->evtchndev, ring->local_port);
+    qemu_xen_evtchn_notify(ring->evtchndev, ring->local_port);
 
     qemu_bh_schedule(ring->bh);
 }
@@ -324,8 +324,8 @@ static void xen_9pfs_evtchn_event(void *opaque)
     Xen9pfsRing *ring = opaque;
     evtchn_port_t port;
 
-    port = xenevtchn_pending(ring->evtchndev);
-    xenevtchn_unmask(ring->evtchndev, port);
+    port = qemu_xen_evtchn_pending(ring->evtchndev);
+    qemu_xen_evtchn_unmask(ring->evtchndev, port);
 
     qemu_bh_schedule(ring->bh);
 }
@@ -337,10 +337,10 @@ static void xen_9pfs_disconnect(struct XenLegacyDevice *xendev)
 
     for (i = 0; i < xen_9pdev->num_rings; i++) {
         if (xen_9pdev->rings[i].evtchndev != NULL) {
-            qemu_set_fd_handler(xenevtchn_fd(xen_9pdev->rings[i].evtchndev),
-                    NULL, NULL, NULL);
-            xenevtchn_unbind(xen_9pdev->rings[i].evtchndev,
-                             xen_9pdev->rings[i].local_port);
+            qemu_set_fd_handler(qemu_xen_evtchn_fd(xen_9pdev->rings[i].evtchndev),
+                                NULL, NULL, NULL);
+            qemu_xen_evtchn_unbind(xen_9pdev->rings[i].evtchndev,
+                                   xen_9pdev->rings[i].local_port);
             xen_9pdev->rings[i].evtchndev = NULL;
         }
     }
@@ -447,12 +447,12 @@ static int xen_9pfs_connect(struct XenLegacyDevice *xendev)
         xen_9pdev->rings[i].inprogress = false;
 
 
-        xen_9pdev->rings[i].evtchndev = xenevtchn_open(NULL, 0);
+        xen_9pdev->rings[i].evtchndev = qemu_xen_evtchn_open();
         if (xen_9pdev->rings[i].evtchndev == NULL) {
             goto out;
         }
-        qemu_set_cloexec(xenevtchn_fd(xen_9pdev->rings[i].evtchndev));
-        xen_9pdev->rings[i].local_port = xenevtchn_bind_interdomain
+        qemu_set_cloexec(qemu_xen_evtchn_fd(xen_9pdev->rings[i].evtchndev));
+        xen_9pdev->rings[i].local_port = qemu_xen_evtchn_bind_interdomain
                                             (xen_9pdev->rings[i].evtchndev,
                                              xendev->dom,
                                              xen_9pdev->rings[i].evtchn);
@@ -463,8 +463,8 @@ static int xen_9pfs_connect(struct XenLegacyDevice *xendev)
             goto out;
         }
         xen_pv_printf(xendev, 2, "bind evtchn port %d\n", xendev->local_port);
-        qemu_set_fd_handler(xenevtchn_fd(xen_9pdev->rings[i].evtchndev),
-                xen_9pfs_evtchn_event, NULL, &xen_9pdev->rings[i]);
+        qemu_set_fd_handler(qemu_xen_evtchn_fd(xen_9pdev->rings[i].evtchndev),
+                            xen_9pfs_evtchn_event, NULL, &xen_9pdev->rings[i]);
     }
 
     xen_9pdev->security_model = xenstore_read_be_str(xendev, "security_model");
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index e5a1dd19f4..cb1d24f592 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -761,7 +761,7 @@ static ioreq_t *cpu_get_ioreq(XenIOState *state)
     int i;
     evtchn_port_t port;
 
-    port = xenevtchn_pending(state->xce_handle);
+    port = qemu_xen_evtchn_pending(state->xce_handle);
     if (port == state->bufioreq_local_port) {
         timer_mod(state->buffered_io_timer,
                 BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
@@ -780,7 +780,7 @@ static ioreq_t *cpu_get_ioreq(XenIOState *state)
         }
 
         /* unmask the wanted port again */
-        xenevtchn_unmask(state->xce_handle, port);
+        qemu_xen_evtchn_unmask(state->xce_handle, port);
 
         /* get the io packet from shared memory */
         state->send_vcpu = i;
@@ -1147,7 +1147,7 @@ static void handle_buffered_io(void *opaque)
                 BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
     } else {
         timer_del(state->buffered_io_timer);
-        xenevtchn_unmask(state->xce_handle, state->bufioreq_local_port);
+        qemu_xen_evtchn_unmask(state->xce_handle, state->bufioreq_local_port);
     }
 }
 
@@ -1196,8 +1196,8 @@ static void cpu_handle_ioreq(void *opaque)
         }
 
         req->state = STATE_IORESP_READY;
-        xenevtchn_notify(state->xce_handle,
-                         state->ioreq_local_port[state->send_vcpu]);
+        qemu_xen_evtchn_notify(state->xce_handle,
+                               state->ioreq_local_port[state->send_vcpu]);
     }
 }
 
@@ -1206,7 +1206,7 @@ static void xen_main_loop_prepare(XenIOState *state)
     int evtchn_fd = -1;
 
     if (state->xce_handle != NULL) {
-        evtchn_fd = xenevtchn_fd(state->xce_handle);
+        evtchn_fd = qemu_xen_evtchn_fd(state->xce_handle);
     }
 
     state->buffered_io_timer = timer_new_ms(QEMU_CLOCK_REALTIME, handle_buffered_io,
@@ -1249,7 +1249,7 @@ static void xen_exit_notifier(Notifier *n, void *data)
         xenforeignmemory_unmap_resource(xen_fmem, state->fres);
     }
 
-    xenevtchn_close(state->xce_handle);
+    qemu_xen_evtchn_close(state->xce_handle);
     xs_daemon_close(state->xenstore);
 }
 
@@ -1397,9 +1397,11 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
     xen_pfn_t ioreq_pfn;
     XenIOState *state;
 
+    setup_xen_backend_ops();
+
     state = g_new0(XenIOState, 1);
 
-    state->xce_handle = xenevtchn_open(NULL, 0);
+    state->xce_handle = qemu_xen_evtchn_open();
     if (state->xce_handle == NULL) {
         perror("xen: event channel open");
         goto err;
@@ -1463,8 +1465,9 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
 
     /* FIXME: how about if we overflow the page here? */
     for (i = 0; i < max_cpus; i++) {
-        rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid,
-                                        xen_vcpu_eport(state->shared_page, i));
+        rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
+                                              xen_vcpu_eport(state->shared_page,
+                                                             i));
         if (rc == -1) {
             error_report("shared evtchn %d bind error %d", i, errno);
             goto err;
@@ -1472,8 +1475,8 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
         state->ioreq_local_port[i] = rc;
     }
 
-    rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid,
-                                    state->bufioreq_remote_port);
+    rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
+                                          state->bufioreq_remote_port);
     if (rc == -1) {
         error_report("buffered evtchn bind error %d", errno);
         goto err;
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index ae0ace3046..f195bbd25c 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -5,6 +5,7 @@ softmmu_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
   'xen-legacy-backend.c',
   'xen_devconfig.c',
   'xen_pvdev.c',
+  'xen-operations.c',
 ))
 
 xen_specific_ss = ss.source_set()
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index df3f6b9ae0..d0b1ae93da 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -1095,12 +1095,12 @@ static bool xen_device_poll(void *opaque)
 static void xen_device_event(void *opaque)
 {
     XenEventChannel *channel = opaque;
-    unsigned long port = xenevtchn_pending(channel->xeh);
+    unsigned long port = qemu_xen_evtchn_pending(channel->xeh);
 
     if (port == channel->local_port) {
         xen_device_poll(channel);
 
-        xenevtchn_unmask(channel->xeh, port);
+        qemu_xen_evtchn_unmask(channel->xeh, port);
     }
 }
 
@@ -1115,11 +1115,11 @@ void xen_device_set_event_channel_context(XenDevice *xendev,
     }
 
     if (channel->ctx)
-        aio_set_fd_handler(channel->ctx, xenevtchn_fd(channel->xeh), true,
+        aio_set_fd_handler(channel->ctx, qemu_xen_evtchn_fd(channel->xeh), true,
                            NULL, NULL, NULL, NULL, NULL);
 
     channel->ctx = ctx;
-    aio_set_fd_handler(channel->ctx, xenevtchn_fd(channel->xeh), true,
+    aio_set_fd_handler(channel->ctx, qemu_xen_evtchn_fd(channel->xeh), true,
                        xen_device_event, NULL, xen_device_poll, NULL, channel);
 }
 
@@ -1131,13 +1131,13 @@ XenEventChannel *xen_device_bind_event_channel(XenDevice *xendev,
     XenEventChannel *channel = g_new0(XenEventChannel, 1);
     xenevtchn_port_or_error_t local_port;
 
-    channel->xeh = xenevtchn_open(NULL, 0);
+    channel->xeh = qemu_xen_evtchn_open();
     if (!channel->xeh) {
         error_setg_errno(errp, errno, "failed xenevtchn_open");
         goto fail;
     }
 
-    local_port = xenevtchn_bind_interdomain(channel->xeh,
+    local_port = qemu_xen_evtchn_bind_interdomain(channel->xeh,
                                             xendev->frontend_id,
                                             port);
     if (local_port < 0) {
@@ -1160,7 +1160,7 @@ XenEventChannel *xen_device_bind_event_channel(XenDevice *xendev,
 
 fail:
     if (channel->xeh) {
-        xenevtchn_close(channel->xeh);
+        qemu_xen_evtchn_close(channel->xeh);
     }
 
     g_free(channel);
@@ -1177,7 +1177,7 @@ void xen_device_notify_event_channel(XenDevice *xendev,
         return;
     }
 
-    if (xenevtchn_notify(channel->xeh, channel->local_port) < 0) {
+    if (qemu_xen_evtchn_notify(channel->xeh, channel->local_port) < 0) {
         error_setg_errno(errp, errno, "xenevtchn_notify failed");
     }
 }
@@ -1193,14 +1193,14 @@ void xen_device_unbind_event_channel(XenDevice *xendev,
 
     QLIST_REMOVE(channel, list);
 
-    aio_set_fd_handler(channel->ctx, xenevtchn_fd(channel->xeh), true,
+    aio_set_fd_handler(channel->ctx, qemu_xen_evtchn_fd(channel->xeh), true,
                        NULL, NULL, NULL, NULL, NULL);
 
-    if (xenevtchn_unbind(channel->xeh, channel->local_port) < 0) {
+    if (qemu_xen_evtchn_unbind(channel->xeh, channel->local_port) < 0) {
         error_setg_errno(errp, errno, "xenevtchn_unbind failed");
     }
 
-    xenevtchn_close(channel->xeh);
+    qemu_xen_evtchn_close(channel->xeh);
     g_free(channel);
 }
 
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index afba71f6eb..9ce3dc204b 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -294,13 +294,13 @@ static struct XenLegacyDevice *xen_be_get_xendev(const char *type, int dom,
     xendev->debug      = debug;
     xendev->local_port = -1;
 
-    xendev->evtchndev = xenevtchn_open(NULL, 0);
+    xendev->evtchndev = qemu_xen_evtchn_open();
     if (xendev->evtchndev == NULL) {
         xen_pv_printf(NULL, 0, "can't open evtchn device\n");
         qdev_unplug(DEVICE(xendev), NULL);
         return NULL;
     }
-    qemu_set_cloexec(xenevtchn_fd(xendev->evtchndev));
+    qemu_set_cloexec(qemu_xen_evtchn_fd(xendev->evtchndev));
 
     xen_pv_insert_xendev(xendev);
 
@@ -751,14 +751,14 @@ int xen_be_bind_evtchn(struct XenLegacyDevice *xendev)
     if (xendev->local_port != -1) {
         return 0;
     }
-    xendev->local_port = xenevtchn_bind_interdomain
+    xendev->local_port = qemu_xen_evtchn_bind_interdomain
         (xendev->evtchndev, xendev->dom, xendev->remote_port);
     if (xendev->local_port == -1) {
         xen_pv_printf(xendev, 0, "xenevtchn_bind_interdomain failed\n");
         return -1;
     }
     xen_pv_printf(xendev, 2, "bind evtchn port %d\n", xendev->local_port);
-    qemu_set_fd_handler(xenevtchn_fd(xendev->evtchndev),
+    qemu_set_fd_handler(qemu_xen_evtchn_fd(xendev->evtchndev),
                         xen_pv_evtchn_event, NULL, xendev);
     return 0;
 }
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
new file mode 100644
index 0000000000..1a959d89e8
--- /dev/null
+++ b/hw/xen/xen-operations.c
@@ -0,0 +1,71 @@
+/*
+ * QEMU Xen backend support: Operations for true Xen
+ *
+ * Copyright © 2022 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/xen/xen_backend_ops.h"
+#include "hw/xen/xen_common.h"
+
+/*
+ * If we have new enough libxenctrl then we do not want/need these compat
+ * interfaces, despite what the user supplied cflags might say. They
+ * must be undefined before including xenctrl.h
+ */
+#undef XC_WANT_COMPAT_EVTCHN_API
+
+#include <xenctrl.h>
+
+/*
+ * We don't support Xen prior to 4.2.0.
+ */
+
+/* Xen 4.2 through 4.6 */
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40701
+
+typedef xc_evtchn xenevtchn_handle;
+typedef evtchn_port_or_error_t xenevtchn_port_or_error_t;
+
+#define xenevtchn_open(l, f) xc_evtchn_open(l, f);
+#define xenevtchn_close(h) xc_evtchn_close(h)
+#define xenevtchn_fd(h) xc_evtchn_fd(h)
+#define xenevtchn_pending(h) xc_evtchn_pending(h)
+#define xenevtchn_notify(h, p) xc_evtchn_notify(h, p)
+#define xenevtchn_bind_interdomain(h, d, p) xc_evtchn_bind_interdomain(h, d, p)
+#define xenevtchn_unmask(h, p) xc_evtchn_unmask(h, p)
+#define xenevtchn_unbind(h, p) xc_evtchn_unbind(h, p)
+
+#else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
+
+#include <xenevtchn.h>
+
+#endif
+
+static xenevtchn_handle *libxenevtchn_backend_open(void)
+{
+    return xenevtchn_open(NULL, 0);
+}
+
+struct evtchn_backend_ops libxenevtchn_backend_ops = {
+    .open = libxenevtchn_backend_open,
+    .close = xenevtchn_close,
+    .bind_interdomain = xenevtchn_bind_interdomain,
+    .unbind = xenevtchn_unbind,
+    .get_fd = xenevtchn_fd,
+    .notify = xenevtchn_notify,
+    .unmask = xenevtchn_unmask,
+    .pending = xenevtchn_pending,
+};
+
+void setup_xen_backend_ops(void)
+{
+    xen_evtchn_ops = &libxenevtchn_backend_ops;
+}
diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
index 1a5177b354..86a2c8e567 100644
--- a/hw/xen/xen_pvdev.c
+++ b/hw/xen/xen_pvdev.c
@@ -238,14 +238,14 @@ void xen_pv_evtchn_event(void *opaque)
     struct XenLegacyDevice *xendev = opaque;
     evtchn_port_t port;
 
-    port = xenevtchn_pending(xendev->evtchndev);
+    port = qemu_xen_evtchn_pending(xendev->evtchndev);
     if (port != xendev->local_port) {
         xen_pv_printf(xendev, 0,
                       "xenevtchn_pending returned %d (expected %d)\n",
                       port, xendev->local_port);
         return;
     }
-    xenevtchn_unmask(xendev->evtchndev, port);
+    qemu_xen_evtchn_unmask(xendev->evtchndev, port);
 
     if (xendev->ops->event) {
         xendev->ops->event(xendev);
@@ -257,15 +257,15 @@ void xen_pv_unbind_evtchn(struct XenLegacyDevice *xendev)
     if (xendev->local_port == -1) {
         return;
     }
-    qemu_set_fd_handler(xenevtchn_fd(xendev->evtchndev), NULL, NULL, NULL);
-    xenevtchn_unbind(xendev->evtchndev, xendev->local_port);
+    qemu_set_fd_handler(qemu_xen_evtchn_fd(xendev->evtchndev), NULL, NULL, NULL);
+    qemu_xen_evtchn_unbind(xendev->evtchndev, xendev->local_port);
     xen_pv_printf(xendev, 2, "unbind evtchn port %d\n", xendev->local_port);
     xendev->local_port = -1;
 }
 
 int xen_pv_send_notify(struct XenLegacyDevice *xendev)
 {
-    return xenevtchn_notify(xendev->evtchndev, xendev->local_port);
+    return qemu_xen_evtchn_notify(xendev->evtchndev, xendev->local_port);
 }
 
 /* ------------------------------------------------------------- */
@@ -306,7 +306,7 @@ void xen_pv_del_xendev(struct XenLegacyDevice *xendev)
     }
 
     if (xendev->evtchndev != NULL) {
-        xenevtchn_close(xendev->evtchndev);
+        qemu_xen_evtchn_close(xendev->evtchndev);
     }
     if (xendev->gnttabdev != NULL) {
         xengnttab_close(xendev->gnttabdev);
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 4d966a2dbb..e21b83796e 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -8,6 +8,7 @@
 #ifndef HW_XEN_BUS_H
 #define HW_XEN_BUS_H
 
+#include "hw/xen/xen_backend_ops.h"
 #include "hw/xen/xen_common.h"
 #include "hw/sysbus.h"
 #include "qemu/notify.h"
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index e31cd3a068..06985b1f03 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -2,6 +2,7 @@
 #define HW_XEN_LEGACY_BACKEND_H
 
 #include "hw/xen/xen_common.h"
+#include "hw/xen/xen_backend_ops.h"
 #include "hw/xen/xen_pvdev.h"
 #include "net/net.h"
 #include "qom/object.h"
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
new file mode 100644
index 0000000000..9605456e81
--- /dev/null
+++ b/include/hw/xen/xen_backend_ops.h
@@ -0,0 +1,118 @@
+/*
+ * QEMU Xen backend support
+ *
+ * Copyright © 2022 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_BACKEND_OPS_H
+#define QEMU_XEN_BACKEND_OPS_H
+
+/*
+ * For the time being, these operations map fairly closely to the API of
+ * the actual Xen libraries, e.g. libxenevtchn. As we complete the migration
+ * from XenLegacyDevice back ends to the new XenDevice model, they may
+ * evolve to slightly higher-level APIs.
+ *
+ * The internal emulations do not emulate the Xen APIs entirely faithfully;
+ * only enough to be used by the Xen backend devices. For example, only one
+ * event channel can be bound to each handle, since that's sufficient for
+ * the device support (only the true Xen HVM backend uses more). And the
+ * behaviour of unmask() and pending() is different too because the device
+ * backends don't care.
+ */
+
+typedef struct xenevtchn_handle xenevtchn_handle;
+typedef int xenevtchn_port_or_error_t;
+typedef uint32_t evtchn_port_t;
+
+struct evtchn_backend_ops {
+    xenevtchn_handle *(*open)(void);
+    int (*bind_interdomain)(xenevtchn_handle *xc, uint32_t domid,
+                            evtchn_port_t guest_port);
+    int (*unbind)(xenevtchn_handle *xc, evtchn_port_t port);
+    int (*close)(struct xenevtchn_handle *xc);
+    int (*get_fd)(struct xenevtchn_handle *xc);
+    int (*notify)(struct xenevtchn_handle *xc, evtchn_port_t port);
+    int (*unmask)(struct xenevtchn_handle *xc, evtchn_port_t port);
+    int (*pending)(struct xenevtchn_handle *xc);
+};
+
+extern struct evtchn_backend_ops *xen_evtchn_ops;
+
+static inline xenevtchn_handle *qemu_xen_evtchn_open(void)
+{
+    if (!xen_evtchn_ops) {
+        return NULL;
+    }
+    return xen_evtchn_ops->open();
+}
+
+static inline int qemu_xen_evtchn_bind_interdomain(xenevtchn_handle *xc,
+                                                   uint32_t domid,
+                                                   evtchn_port_t guest_port)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->bind_interdomain(xc, domid, guest_port);
+}
+
+static inline int qemu_xen_evtchn_unbind(xenevtchn_handle *xc,
+                                         evtchn_port_t port)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->unbind(xc, port);
+}
+
+static inline int qemu_xen_evtchn_close(xenevtchn_handle *xc)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->close(xc);
+}
+
+static inline int qemu_xen_evtchn_fd(xenevtchn_handle *xc)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->get_fd(xc);
+}
+
+static inline int qemu_xen_evtchn_notify(xenevtchn_handle *xc,
+                                         evtchn_port_t port)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->notify(xc, port);
+}
+
+static inline int qemu_xen_evtchn_unmask(xenevtchn_handle *xc,
+                                         evtchn_port_t port)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->unmask(xc, port);
+}
+
+static inline int qemu_xen_evtchn_pending(xenevtchn_handle *xc)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->pending(xc);
+}
+
+void setup_xen_backend_ops(void);
+
+#endif /* QEMU_XEN_BACKEND_OPS_H */
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 9a13a756ae..34abd0a772 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -28,18 +28,7 @@ extern xc_interface *xen_xc;
 #if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40701
 
 typedef xc_interface xenforeignmemory_handle;
-typedef xc_evtchn xenevtchn_handle;
 typedef xc_gnttab xengnttab_handle;
-typedef evtchn_port_or_error_t xenevtchn_port_or_error_t;
-
-#define xenevtchn_open(l, f) xc_evtchn_open(l, f);
-#define xenevtchn_close(h) xc_evtchn_close(h)
-#define xenevtchn_fd(h) xc_evtchn_fd(h)
-#define xenevtchn_pending(h) xc_evtchn_pending(h)
-#define xenevtchn_notify(h, p) xc_evtchn_notify(h, p)
-#define xenevtchn_bind_interdomain(h, d, p) xc_evtchn_bind_interdomain(h, d, p)
-#define xenevtchn_unmask(h, p) xc_evtchn_unmask(h, p)
-#define xenevtchn_unbind(h, p) xc_evtchn_unbind(h, p)
 
 #define xengnttab_open(l, f) xc_gnttab_open(l, f)
 #define xengnttab_close(h) xc_gnttab_close(h)
@@ -69,7 +58,6 @@ static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
 
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
-#include <xenevtchn.h>
 #include <xengnttab.h>
 #include <xenforeignmemory.h>
 
diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h
index 7cd4bc2b82..9c27b14764 100644
--- a/include/hw/xen/xen_pvdev.h
+++ b/include/hw/xen/xen_pvdev.h
@@ -1,6 +1,7 @@
 #ifndef QEMU_HW_XEN_PVDEV_H
 #define QEMU_HW_XEN_PVDEV_H
 
+#include "hw/xen/xen_backend_ops.h"
 #include "hw/xen/xen_common.h"
 /* ------------------------------------------------------------- */
 
diff --git a/softmmu/globals.c b/softmmu/globals.c
index 0a4405614e..eb62739be1 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -65,3 +65,4 @@ bool qemu_uuid_set;
 uint32_t xen_domid;
 enum xen_mode xen_mode = XEN_DISABLED;
 bool xen_domid_restrict;
+struct evtchn_backend_ops *xen_evtchn_ops;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:19:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:19:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507695.781629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaxq-0002jD-11; Tue, 07 Mar 2023 17:19:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507695.781629; Tue, 07 Mar 2023 17: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 1pZaxp-0002j6-TS; Tue, 07 Mar 2023 17:19:01 +0000
Received: by outflank-mailman (input) for mailman id 507695;
 Tue, 07 Mar 2023 17: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax4-0000bA-BL
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 0783ac5d-bd0c-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 18:18:08 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawj-00H5zv-1u; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawj-009cgj-1X; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 0783ac5d-bd0c-11ed-a550-8520e6686977
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=IgmdOQxZA13cDYE4nim/NP2x+J2PygFHKT5DRcfTY74=; b=GU0U2gn3ju6iPXidagEgqBwIxQ
	hWmWAq5h1hggCyACBfiQAWAhxbAMO8ERo4HMYsFptrEr7uKJYWyzdml5j9SI3FrOmjkgRwN1FClJ9
	a8WhiuZsmJp08j+pDJjYNwB4Fm7hFwaL+cK3/ekhkEtakbUR36/KfgDqMm2px/iG16B1oBWrSf3EL
	4ZgtgsVHxeidw61fBNF4m2rSd0LLrywtfidekv8kCAqqZ46ujQrq2WR0Kqep8Somd+NFXNONU0uHY
	BGNWd3ZwnuNe7ORvVtTmVkOReIK4nFz4GEOOU+Tb5lBQvGN0fG8clvRtZm3kkKBd0R6N3zdwMz6h3
	+rDsG0qw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 04/27] hw/xen: Implement XenStore transactions
Date: Tue,  7 Mar 2023 17:17:27 +0000
Message-Id: <20230307171750.2293175-5-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>

Given that the whole thing supported copy on write from the beginning,
transactions end up being fairly simple. On starting a transaction, just
take a ref of the existing root; swap it back in on a successful commit.

The main tree has a transaction ID too, and we keep a record of the last
transaction ID given out. if the main tree is ever modified when it isn't
the latest, it gets a new transaction ID.

A commit can only succeed if the main tree hasn't moved on since it was
forked. Strictly speaking, the XenStore protocol allows a transaction to
succeed as long as nothing *it* read or wrote has changed in the interim,
but no implementations do that; *any* change is sufficient to abort a
transaction.

This does not yet fire watches on the changed nodes on a commit. That bit
is more fun and will come in a follow-on commit.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xenstore_impl.c | 150 ++++++++++++++++++++++++++++++++++--
 tests/unit/test-xs-node.c   | 118 ++++++++++++++++++++++++++++
 2 files changed, 262 insertions(+), 6 deletions(-)

diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 9c2348835f..0812e367b0 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -46,13 +46,56 @@ typedef struct XsWatch {
     int rel_prefix;
 } XsWatch;
 
+typedef struct XsTransaction {
+    XsNode *root;
+    unsigned int nr_nodes;
+    unsigned int base_tx;
+    unsigned int tx_id;
+    unsigned int dom_id;
+} XsTransaction;
+
 struct XenstoreImplState {
     XsNode *root;
     unsigned int nr_nodes;
     GHashTable *watches;
     unsigned int nr_domu_watches;
+    GHashTable *transactions;
+    unsigned int nr_domu_transactions;
+    unsigned int root_tx;
+    unsigned int last_tx;
 };
 
+
+static void nobble_tx(gpointer key, gpointer value, gpointer user_data)
+{
+    unsigned int *new_tx_id = user_data;
+    XsTransaction *tx = value;
+
+    if (tx->base_tx == *new_tx_id) {
+        /* Transactions based on XBT_NULL will always fail */
+        tx->base_tx = XBT_NULL;
+    }
+}
+
+static inline unsigned int next_tx(struct XenstoreImplState *s)
+{
+    unsigned int tx_id;
+
+    /* Find the next TX id which isn't either XBT_NULL or in use. */
+    do {
+        tx_id = ++s->last_tx;
+    } while (tx_id == XBT_NULL || tx_id == s->root_tx ||
+             g_hash_table_lookup(s->transactions, GINT_TO_POINTER(tx_id)));
+
+    /*
+     * It is vanishingly unlikely, but ensure that no outstanding transaction
+     * is based on the (previous incarnation of the) newly-allocated TX id.
+     */
+    g_hash_table_foreach(s->transactions, nobble_tx, &tx_id);
+
+    return tx_id;
+}
+
 static inline XsNode *xs_node_new(void)
 {
     XsNode *n = g_new0(XsNode, 1);
@@ -159,6 +202,7 @@ struct walk_op {
 
     GList *watches;
     unsigned int dom_id;
+    unsigned int tx_id;
 
     /* The number of nodes which will exist in the tree if this op succeeds. */
     unsigned int new_nr_nodes;
@@ -176,6 +220,7 @@ struct walk_op {
     bool inplace;
     bool mutating;
     bool create_dirs;
+    bool in_transaction;
 };
 
 static void fire_watches(struct walk_op *op, bool parents)
@@ -183,7 +228,7 @@ static void fire_watches(struct walk_op *op, bool parents)
     GList *l = NULL;
     XsWatch *w;
 
-    if (!op->mutating) {
+    if (!op->mutating || op->in_transaction) {
         return;
     }
 
@@ -450,10 +495,23 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
         assert(!op->watches);
         /*
          * On completing the recursion back up the path walk and reaching the
-         * top, assign the new node count if the operation was successful.
+         * top, assign the new node count if the operation was successful. If
+         * the main tree was changed, bump its tx ID so that outstanding
+         * transactions correctly fail. But don't bump it every time; only
+         * if it makes a difference.
          */
         if (!err && op->mutating) {
-            op->s->nr_nodes = op->new_nr_nodes;
+            if (!op->in_transaction) {
+                if (op->s->root_tx != op->s->last_tx) {
+                    op->s->root_tx = next_tx(op->s);
+                }
+                op->s->nr_nodes = op->new_nr_nodes;
+            } else {
+                XsTransaction *tx = g_hash_table_lookup(op->s->transactions,
+                                                        GINT_TO_POINTER(op->tx_id));
+                assert(tx);
+                tx->nr_nodes = op->new_nr_nodes;
+            }
         }
     }
     return err;
@@ -535,14 +593,23 @@ static int init_walk_op(XenstoreImplState *s, struct walk_op *op,
     op->inplace = true;
     op->mutating = false;
     op->create_dirs = false;
+    op->in_transaction = false;
     op->dom_id = dom_id;
+    op->tx_id = tx_id;
     op->s = s;
 
     if (tx_id == XBT_NULL) {
         *rootp = &s->root;
         op->new_nr_nodes = s->nr_nodes;
     } else {
-        return ENOENT;
+        XsTransaction *tx = g_hash_table_lookup(s->transactions,
+                                                GINT_TO_POINTER(tx_id));
+        if (!tx) {
+            return ENOENT;
+        }
+        *rootp = &tx->root;
+        op->new_nr_nodes = tx->nr_nodes;
+        op->in_transaction = true;
     }
 
     return 0;
@@ -616,13 +683,71 @@ int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
 int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
                               xs_transaction_t *tx_id)
 {
-    return ENOSYS;
+    XsTransaction *tx;
+
+    if (*tx_id != XBT_NULL) {
+        return EINVAL;
+    }
+
+    if (dom_id && s->nr_domu_transactions >= XS_MAX_TRANSACTIONS) {
+        return ENOSPC;
+    }
+
+    tx = g_new0(XsTransaction, 1);
+
+    tx->nr_nodes = s->nr_nodes;
+    tx->tx_id = next_tx(s);
+    tx->base_tx = s->root_tx;
+    tx->root = xs_node_ref(s->root);
+    tx->dom_id = dom_id;
+
+    g_hash_table_insert(s->transactions, GINT_TO_POINTER(tx->tx_id), tx);
+    if (dom_id) {
+        s->nr_domu_transactions++;
+    }
+    *tx_id = tx->tx_id;
+    return 0;
+}
+
+static int transaction_commit(XenstoreImplState *s, XsTransaction *tx)
+{
+    if (s->root_tx != tx->base_tx) {
+        return EAGAIN;
+    }
+    xs_node_unref(s->root);
+    s->root = tx->root;
+    tx->root = NULL;
+    s->root_tx = tx->tx_id;
+    s->nr_nodes = tx->nr_nodes;
+
+    /*
+     * XX: Walk the new root and fire watches on any node which has a
+     * refcount of one (which is therefore unique to this transaction).
+     */
+    return 0;
 }
 
 int xs_impl_transaction_end(XenstoreImplState *s, unsigned int dom_id,
                             xs_transaction_t tx_id, bool commit)
 {
-    return ENOSYS;
+    int ret = 0;
+    XsTransaction *tx = g_hash_table_lookup(s->transactions,
+                                            GINT_TO_POINTER(tx_id));
+
+    if (!tx || tx->dom_id != dom_id) {
+        return ENOENT;
+    }
+
+    if (commit) {
+        ret = transaction_commit(s, tx);
+    }
+
+    g_hash_table_remove(s->transactions, GINT_TO_POINTER(tx_id));
+    if (dom_id) {
+        assert(s->nr_domu_transactions);
+        s->nr_domu_transactions--;
+    }
+    return ret;
 }
 
 int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
@@ -839,15 +964,28 @@ int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id)
     return 0;
 }
 
+static void xs_tx_free(void *_tx)
+{
+    XsTransaction *tx = _tx;
+    if (tx->root) {
+        xs_node_unref(tx->root);
+    }
+    g_free(tx);
+}
+
 XenstoreImplState *xs_impl_create(void)
 {
     XenstoreImplState *s = g_new0(XenstoreImplState, 1);
 
     s->watches = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
+    s->transactions = g_hash_table_new_full(g_direct_hash, g_direct_equal,
+                                            NULL, xs_tx_free);
     s->nr_nodes = 1;
     s->root = xs_node_new();
 #ifdef XS_NODE_UNIT_TEST
     s->root->name = g_strdup("/");
 #endif
+
+    s->root_tx = s->last_tx = 1;
     return s;
 }
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index 19000b64b2..3c3654550a 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -42,6 +42,7 @@ static void xs_impl_delete(XenstoreImplState *s)
     g_assert(s->nr_nodes == 1);
 
     g_hash_table_unref(s->watches);
+    g_hash_table_unref(s->transactions);
     xs_node_unref(s->root);
     g_free(s);
 
@@ -271,12 +272,129 @@ static void test_xs_node_simple(void)
 }
 
 
+static void do_test_xs_node_tx(bool fail, bool commit)
+{
+    XenstoreImplState *s = setup();
+    GString *watches = g_string_new(NULL);
+    GByteArray *data = g_byte_array_new();
+    unsigned int tx_id = XBT_NULL;
+    int err;
+
+    g_assert(s);
+
+    /* Set a watch */
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+    g_assert(watches->len == strlen("somewatch"));
+    g_assert(!strcmp(watches->str, "somewatch"));
+    g_string_truncate(watches, 0);
+
+    /* Write something */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
+                    "something");
+    g_assert(s->nr_nodes == 7);
+    g_assert(!err);
+    g_assert(!strcmp(watches->str,
+                     "some/relative/pathwatch"));
+    g_string_truncate(watches, 0);
+
+    /* Create a transaction */
+    err = xs_impl_transaction_start(s, DOMID_GUEST, &tx_id);
+    g_assert(!err);
+
+    if (fail) {
+        /* Write something else in the root */
+        err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
+                        "another thing");
+        g_assert(!err);
+        g_assert(s->nr_nodes == 7);
+        g_assert(!strcmp(watches->str,
+                         "some/relative/pathwatch"));
+        g_string_truncate(watches, 0);
+    }
+
+    g_assert(!watches->len);
+
+    /* Perform a write in the transaction */
+    err = write_str(s, DOMID_GUEST, tx_id, "some/relative/path",
+                    "something else");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 7);
+    g_assert(!watches->len);
+
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative/path", data);
+    g_assert(!err);
+    if (fail) {
+        g_assert(data->len == strlen("another thing"));
+        g_assert(!memcmp(data->data, "another thing", data->len));
+    } else {
+        g_assert(data->len == strlen("something"));
+        g_assert(!memcmp(data->data, "something", data->len));
+    }
+    g_byte_array_set_size(data, 0);
+
+    err = xs_impl_read(s, DOMID_GUEST, tx_id, "some/relative/path", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something else"));
+    g_assert(!memcmp(data->data, "something else", data->len));
+    g_byte_array_set_size(data, 0);
+
+    /* Attempt to commit the transaction */
+    err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, commit);
+    if (commit && fail) {
+        g_assert(err == EAGAIN);
+    } else {
+        g_assert(!err);
+    }
+    g_assert(!watches->len);
+    g_assert(s->nr_nodes == 7);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative/path", data);
+    g_assert(!err);
+    if (fail) {
+        g_assert(data->len == strlen("another thing"));
+        g_assert(!memcmp(data->data, "another thing", data->len));
+    } else if (commit) {
+        g_assert(data->len == strlen("something else"));
+        g_assert(!memcmp(data->data, "something else", data->len));
+    } else {
+        g_assert(data->len == strlen("something"));
+        g_assert(!memcmp(data->data, "something", data->len));
+    }
+    g_byte_array_unref(data);
+    g_string_free(watches, true);
+    xs_impl_delete(s);
+}
+
+static void test_xs_node_tx_fail(void)
+{
+    do_test_xs_node_tx(true, true);
+}
+
+static void test_xs_node_tx_abort(void)
+{
+    do_test_xs_node_tx(false, false);
+    do_test_xs_node_tx(true, false);
+}
+static void test_xs_node_tx_succeed(void)
+{
+    do_test_xs_node_tx(false, true);
+}
+
 int main(int argc, char **argv)
 {
     g_test_init(&argc, &argv, NULL);
     module_call_init(MODULE_INIT_QOM);
 
     g_test_add_func("/xs_node/simple", test_xs_node_simple);
+    g_test_add_func("/xs_node/tx_abort", test_xs_node_tx_abort);
+    g_test_add_func("/xs_node/tx_fail", test_xs_node_tx_fail);
+    g_test_add_func("/xs_node/tx_succeed", test_xs_node_tx_succeed);
 
     return g_test_run();
 }
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:19:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:19:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507702.781639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaxw-00039o-BK; Tue, 07 Mar 2023 17:19:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507702.781639; Tue, 07 Mar 2023 17:19: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 1pZaxw-00039d-84; Tue, 07 Mar 2023 17:19:08 +0000
Received: by outflank-mailman (input) for mailman id 507702;
 Tue, 07 Mar 2023 17:19: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax2-0000az-B0
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18: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 06c01293-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:07 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawj-00H5zy-2S; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawj-009cgw-26; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 06c01293-bd0c-11ed-96b5-2f268f93b82a
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=7Z2S61e7WpsLrt3zi7hRMgOfVybLHBG4TAni3mxOMtk=; b=Z2l7AiqK3nRn0oqZ2nNTGpqcmX
	wKj6lhOZ1bUfh+/gAGeZRci7S6kj1mccUn48Jiise3M541I5yiSKDaA9GkdJls7F2ISVGBjd9QH33
	qttK48rX05O2G9LjeFRpe3gdMVRAY5xxQQGwXLoPkhzW/ZyWDl8JS1t3l5sj0WlYo99VvGds9Sy/i
	fGuPhRYKwN6PCDFIbUcYkYGYRMdDRahbgBCAhHRzFA0yQR9WnzHo/C2oI6Y6IZTjSluH+z703HVbM
	SmqKhYP/3I0PwaVl1GCJxqZk3M5sF/8DL/4tDubc/lQr77CXMMbZr1OUJMD8ovyBMbrt/dJG96BbY
	uiXKvVfw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 07/27] hw/xen: Implement core serialize/deserialize methods for xenstore_impl
Date: Tue,  7 Mar 2023 17:17:30 +0000
Message-Id: <20230307171750.2293175-8-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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 implements the basic migration support in the back end, with unit
tests that give additional confidence in the node-counting already in
the tree.

However, the existing PV back ends like xen-disk don't support migration
yet. They will reset the ring and fail to continue where they left off.
We will fix that in future, but not in time for the 8.0 release.

Since there's also an open question of whether we want to serialize the
full XenStore or only the guest-owned nodes in /local/domain/${domid},
for now just mark the XenStore device as unmigratable.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c  |  26 +-
 hw/i386/kvm/xenstore_impl.c | 574 +++++++++++++++++++++++++++++++++++-
 hw/i386/kvm/xenstore_impl.h |   5 +
 tests/unit/test-xs-node.c   | 236 ++++++++++++++-
 4 files changed, 825 insertions(+), 16 deletions(-)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 3b409e3817..520422b147 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -66,6 +66,9 @@ struct XenXenstoreState {
     evtchn_port_t guest_port;
     evtchn_port_t be_port;
     struct xenevtchn_handle *eh;
+
+    uint8_t *impl_state;
+    uint32_t impl_state_size;
 };
 
 struct XenXenstoreState *xen_xenstore_singleton;
@@ -109,16 +112,26 @@ static bool xen_xenstore_is_needed(void *opaque)
 static int xen_xenstore_pre_save(void *opaque)
 {
     XenXenstoreState *s = opaque;
+    GByteArray *save;
 
     if (s->eh) {
         s->guest_port = xen_be_evtchn_get_guest_port(s->eh);
     }
+
+    g_free(s->impl_state);
+    save = xs_impl_serialize(s->impl);
+    s->impl_state = save->data;
+    s->impl_state_size = save->len;
+    g_byte_array_free(save, false);
+
     return 0;
 }
 
 static int xen_xenstore_post_load(void *opaque, int ver)
 {
     XenXenstoreState *s = opaque;
+    GByteArray *save;
+    int ret;
 
     /*
      * As qemu/dom0, rebind to the guest's port. The Windows drivers may
@@ -135,11 +148,18 @@ static int xen_xenstore_post_load(void *opaque, int ver)
         }
         s->be_port = be_port;
     }
-    return 0;
+
+    save = g_byte_array_new_take(s->impl_state, s->impl_state_size);
+    s->impl_state = NULL;
+    s->impl_state_size = 0;
+
+    ret = xs_impl_deserialize(s->impl, save, xen_domid, fire_watch_cb, s);
+    return ret;
 }
 
 static const VMStateDescription xen_xenstore_vmstate = {
     .name = "xen_xenstore",
+    .unmigratable = 1, /* The PV back ends don't migrate yet */
     .version_id = 1,
     .minimum_version_id = 1,
     .needed = xen_xenstore_is_needed,
@@ -155,6 +175,10 @@ static const VMStateDescription xen_xenstore_vmstate = {
         VMSTATE_BOOL(rsp_pending, XenXenstoreState),
         VMSTATE_UINT32(guest_port, XenXenstoreState),
         VMSTATE_BOOL(fatal_error, XenXenstoreState),
+        VMSTATE_UINT32(impl_state_size, XenXenstoreState),
+        VMSTATE_VARRAY_UINT32_ALLOC(impl_state, XenXenstoreState,
+                                    impl_state_size, 0,
+                                    vmstate_info_uint8, uint8_t),
         VMSTATE_END_OF_LIST()
     }
 };
diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 8a2053e243..305fe75519 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -37,6 +37,7 @@ typedef struct XsNode {
     uint64_t gencnt;
     bool deleted_in_tx;
     bool modified_in_tx;
+    unsigned int serialized_tx;
 #ifdef XS_NODE_UNIT_TEST
     gchar *name; /* debug only */
 #endif
@@ -68,6 +69,7 @@ struct XenstoreImplState {
     unsigned int nr_domu_transactions;
     unsigned int root_tx;
     unsigned int last_tx;
+    bool serialized;
 };
 
 
@@ -1156,8 +1158,10 @@ int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
     return xs_node_walk(n, &op);
 }
 
-int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
-                  const char *token, xs_impl_watch_fn fn, void *opaque)
+static int do_xs_impl_watch(XenstoreImplState *s, unsigned int dom_id,
+                            const char *path, const char *token,
+                            xs_impl_watch_fn fn, void *opaque)
+
 {
     char abspath[XENSTORE_ABS_PATH_MAX + 1];
     XsWatch *w, *l;
@@ -1200,12 +1204,22 @@ int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
         s->nr_domu_watches++;
     }
 
-    /* A new watch should fire immediately */
-    fn(opaque, path, token);
-
     return 0;
 }
 
+int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
+                  const char *token, xs_impl_watch_fn fn, void *opaque)
+{
+    int ret = do_xs_impl_watch(s, dom_id, path, token, fn, opaque);
+
+    if (!ret) {
+        /* A new watch should fire immediately */
+        fn(opaque, path, token);
+    }
+
+    return ret;
+}
+
 static XsWatch *free_watch(XenstoreImplState *s, XsWatch *w)
 {
     XsWatch *next = w->next;
@@ -1361,3 +1375,553 @@ XenstoreImplState *xs_impl_create(unsigned int dom_id)
     s->root_tx = s->last_tx = 1;
     return s;
 }
+
+
+static void clear_serialized_tx(gpointer key, gpointer value, gpointer opaque)
+{
+    XsNode *n = value;
+
+    n->serialized_tx = XBT_NULL;
+    if (n->children) {
+        g_hash_table_foreach(n->children, clear_serialized_tx, NULL);
+    }
+}
+
+static void clear_tx_serialized_tx(gpointer key, gpointer value,
+                                   gpointer opaque)
+{
+    XsTransaction *t = value;
+
+    clear_serialized_tx(NULL, t->root, NULL);
+}
+
+static void write_be32(GByteArray *save, uint32_t val)
+{
+    uint32_t be = htonl(val);
+    g_byte_array_append(save, (void *)&be, sizeof(be));
+}
+
+
+struct save_state {
+    GByteArray *bytes;
+    unsigned int tx_id;
+};
+
+#define MODIFIED_IN_TX  (1U << 0)
+#define DELETED_IN_TX   (1U << 1)
+#define NODE_REF        (1U << 2)
+
+static void save_node(gpointer key, gpointer value, gpointer opaque)
+{
+    struct save_state *ss = opaque;
+    XsNode *n = value;
+    char *name = key;
+    uint8_t flag = 0;
+
+    /* Child nodes (i.e. anything but the root) have a name */
+    if (name) {
+        g_byte_array_append(ss->bytes, key, strlen(key) + 1);
+    }
+
+    /*
+     * If we already wrote this node, refer to the previous copy.
+     * There's no rename/move in XenStore, so all we need to find
+     * it is the tx_id of the transation in which it exists. Which
+     * may be the root tx.
+     */
+    if (n->serialized_tx != XBT_NULL) {
+        flag = NODE_REF;
+        g_byte_array_append(ss->bytes, &flag, 1);
+        write_be32(ss->bytes, n->serialized_tx);
+    } else {
+        GList *l;
+        n->serialized_tx = ss->tx_id;
+
+        if (n->modified_in_tx) {
+            flag |= MODIFIED_IN_TX;
+        }
+        if (n->deleted_in_tx) {
+            flag |= DELETED_IN_TX;
+        }
+        g_byte_array_append(ss->bytes, &flag, 1);
+
+        if (n->content) {
+            write_be32(ss->bytes, n->content->len);
+            g_byte_array_append(ss->bytes, n->content->data, n->content->len);
+        } else {
+            write_be32(ss->bytes, 0);
+        }
+
+        for (l = n->perms; l; l = l->next) {
+            g_byte_array_append(ss->bytes, l->data, strlen(l->data) + 1);
+        }
+        /* NUL termination after perms */
+        g_byte_array_append(ss->bytes, (void *)"", 1);
+
+        if (n->children) {
+            g_hash_table_foreach(n->children, save_node, ss);
+        }
+        /* NUL termination after children (child name is NUL) */
+        g_byte_array_append(ss->bytes, (void *)"", 1);
+    }
+}
+
+static void save_tree(struct save_state *ss, uint32_t tx_id, XsNode *root)
+{
+    write_be32(ss->bytes, tx_id);
+    ss->tx_id = tx_id;
+    save_node(NULL, root, ss);
+}
+
+static void save_tx(gpointer key, gpointer value, gpointer opaque)
+{
+    uint32_t tx_id = GPOINTER_TO_INT(key);
+    struct save_state *ss = opaque;
+    XsTransaction *n = value;
+
+    write_be32(ss->bytes, n->base_tx);
+    write_be32(ss->bytes, n->dom_id);
+
+    save_tree(ss, tx_id, n->root);
+}
+
+static void save_watch(gpointer key, gpointer value, gpointer opaque)
+{
+    struct save_state *ss = opaque;
+    XsWatch *w = value;
+
+    /* We only save the *guest* watches. */
+    if (w->dom_id) {
+        gpointer relpath = key + w->rel_prefix;
+        g_byte_array_append(ss->bytes, relpath, strlen(relpath) + 1);
+        g_byte_array_append(ss->bytes, (void *)w->token, strlen(w->token) + 1);
+    }
+}
+
+GByteArray *xs_impl_serialize(XenstoreImplState *s)
+{
+    struct save_state ss;
+
+    ss.bytes = g_byte_array_new();
+
+    /*
+     * node = flags [ real_node / node_ref ]
+     *   flags = uint8_t (MODIFIED_IN_TX | DELETED_IN_TX | NODE_REF)
+     *   node_ref = tx_id (in which the original version of this node exists)
+     *   real_node = content perms child* NUL
+     *     content = len data
+     *       len = uint32_t
+     *       data = uint8_t{len}
+     *     perms = perm* NUL
+     *       perm = asciiz
+     *   child = name node
+     *     name = asciiz
+     *
+     * tree = tx_id node
+     *   tx_id = uint32_t
+     *
+     * transaction = base_tx_id dom_id tree
+     *   base_tx_id = uint32_t
+     *   dom_id = uint32_t
+     *
+     * tx_list = tree transaction* XBT_NULL
+     *
+     * watch = path token
+     *   path = asciiz
+     *   token = asciiz
+     *
+     * watch_list = watch* NUL
+     *
+     * xs_serialize_stream = last_tx tx_list watch_list
+     *   last_tx = uint32_t
+     */
+
+    /* Clear serialized_tx in every node. */
+    if (s->serialized) {
+        clear_serialized_tx(NULL, s->root, NULL);
+        g_hash_table_foreach(s->transactions, clear_tx_serialized_tx, NULL);
+    }
+
+    s->serialized = true;
+
+    write_be32(ss.bytes, s->last_tx);
+    save_tree(&ss, s->root_tx, s->root);
+    g_hash_table_foreach(s->transactions, save_tx, &ss);
+
+    write_be32(ss.bytes, XBT_NULL);
+
+    g_hash_table_foreach(s->watches, save_watch, &ss);
+    g_byte_array_append(ss.bytes, (void *)"", 1);
+
+    return ss.bytes;
+}
+
+struct unsave_state {
+    char path[XENSTORE_ABS_PATH_MAX + 1];
+    XenstoreImplState *s;
+    GByteArray *bytes;
+    uint8_t *d;
+    size_t l;
+    bool root_walk;
+};
+
+static int consume_be32(struct unsave_state *us, unsigned int *val)
+{
+    uint32_t d;
+
+    if (us->l < sizeof(d)) {
+        return -EINVAL;
+    }
+    memcpy(&d, us->d, sizeof(d));
+    *val = ntohl(d);
+    us->d += sizeof(d);
+    us->l -= sizeof(d);
+    return 0;
+}
+
+static int consume_string(struct unsave_state *us, char **str, size_t *len)
+{
+    size_t l;
+
+    if (!us->l) {
+        return -EINVAL;
+    }
+
+    l = strnlen((void *)us->d, us->l);
+    if (l == us->l) {
+        return -EINVAL;
+    }
+
+    if (str) {
+        *str = (void *)us->d;
+    }
+    if (len) {
+        *len = l;
+    }
+
+    us->d += l + 1;
+    us->l -= l + 1;
+    return 0;
+}
+
+static XsNode *lookup_node(XsNode *n, char *path)
+{
+    char *slash = strchr(path, '/');
+    XsNode *child;
+
+    if (path[0] == '\0') {
+        return n;
+    }
+
+    if (slash) {
+        *slash = '\0';
+    }
+
+    if (!n->children) {
+        return NULL;
+    }
+    child = g_hash_table_lookup(n->children, path);
+    if (!slash) {
+        return child;
+    }
+
+    *slash = '/';
+    if (!child) {
+        return NULL;
+    }
+    return lookup_node(child, slash + 1);
+}
+
+static XsNode *lookup_tx_node(struct unsave_state *us, unsigned int tx_id)
+{
+    XsTransaction *t;
+    if (tx_id == us->s->root_tx) {
+        return lookup_node(us->s->root, us->path + 1);
+    }
+
+    t = g_hash_table_lookup(us->s->transactions, GINT_TO_POINTER(tx_id));
+    if (!t) {
+        return NULL;
+    }
+    g_assert(t->root);
+    return lookup_node(t->root, us->path + 1);
+}
+
+static void count_child_nodes(gpointer key, gpointer value, gpointer user_data)
+{
+    unsigned int *nr_nodes = user_data;
+    XsNode *n = value;
+
+    (*nr_nodes)++;
+
+    if (n->children) {
+        g_hash_table_foreach(n->children, count_child_nodes, nr_nodes);
+    }
+}
+
+static int consume_node(struct unsave_state *us, XsNode **nodep,
+                        unsigned int *nr_nodes)
+{
+    XsNode *n = NULL;
+    uint8_t flags;
+    int ret;
+
+    if (us->l < 1) {
+        return -EINVAL;
+    }
+    flags = us->d[0];
+    us->d++;
+    us->l--;
+
+    if (flags == NODE_REF) {
+        unsigned int tx;
+
+        ret = consume_be32(us, &tx);
+        if (ret) {
+            return ret;
+        }
+
+        n = lookup_tx_node(us, tx);
+        if (!n) {
+            return -EINVAL;
+        }
+        n->ref++;
+        if (n->children) {
+            g_hash_table_foreach(n->children, count_child_nodes, nr_nodes);
+        }
+    } else {
+        uint32_t datalen;
+
+        if (flags & ~(DELETED_IN_TX | MODIFIED_IN_TX)) {
+            return -EINVAL;
+        }
+        n = xs_node_new();
+
+        if (flags & DELETED_IN_TX) {
+            n->deleted_in_tx = true;
+        }
+        if (flags & MODIFIED_IN_TX) {
+            n->modified_in_tx = true;
+        }
+        ret = consume_be32(us, &datalen);
+        if (ret) {
+            xs_node_unref(n);
+            return -EINVAL;
+        }
+        if (datalen) {
+            if (datalen > us->l) {
+                xs_node_unref(n);
+                return -EINVAL;
+            }
+
+            GByteArray *node_data = g_byte_array_new();
+            g_byte_array_append(node_data, us->d, datalen);
+            us->d += datalen;
+            us->l -= datalen;
+            n->content = node_data;
+
+            if (us->root_walk) {
+                n->modified_in_tx = true;
+            }
+        }
+        while (1) {
+            char *perm = NULL;
+            size_t permlen = 0;
+
+            ret = consume_string(us, &perm, &permlen);
+            if (ret) {
+                xs_node_unref(n);
+                return ret;
+            }
+
+            if (!permlen) {
+                break;
+            }
+
+            n->perms = g_list_append(n->perms, g_strdup(perm));
+        }
+
+        /* Now children */
+        while (1) {
+            size_t childlen;
+            char *childname;
+            char *pathend;
+            XsNode *child = NULL;
+
+            ret = consume_string(us, &childname, &childlen);
+            if (ret) {
+                xs_node_unref(n);
+                return ret;
+            }
+
+            if (!childlen) {
+                break;
+            }
+
+            pathend = us->path + strlen(us->path);
+            strncat(us->path, "/", sizeof(us->path) - 1);
+            strncat(us->path, childname, sizeof(us->path) - 1);
+
+            ret = consume_node(us, &child, nr_nodes);
+            *pathend = '\0';
+            if (ret) {
+                xs_node_unref(n);
+                return ret;
+            }
+            g_assert(child);
+            xs_node_add_child(n, childname, child);
+        }
+
+        /*
+         * If the node has no data and no children we still want to fire
+         * a watch on it.
+         */
+        if (us->root_walk && !n->children) {
+            n->modified_in_tx = true;
+        }
+    }
+
+    if (!n->deleted_in_tx) {
+        (*nr_nodes)++;
+    }
+
+    *nodep = n;
+    return 0;
+}
+
+static int consume_tree(struct unsave_state *us, XsTransaction *t)
+{
+    int ret;
+
+    ret = consume_be32(us, &t->tx_id);
+    if (ret) {
+        return ret;
+    }
+
+    if (t->tx_id > us->s->last_tx) {
+        return -EINVAL;
+    }
+
+    us->path[0] = '\0';
+
+    return consume_node(us, &t->root, &t->nr_nodes);
+}
+
+int xs_impl_deserialize(XenstoreImplState *s, GByteArray *bytes,
+                        unsigned int dom_id, xs_impl_watch_fn watch_fn,
+                        void *watch_opaque)
+{
+    struct unsave_state us;
+    XsTransaction base_t = { 0 };
+    int ret;
+
+    us.s = s;
+    us.bytes = bytes;
+    us.d = bytes->data;
+    us.l = bytes->len;
+
+    xs_impl_reset_watches(s, dom_id);
+    g_hash_table_remove_all(s->transactions);
+
+    xs_node_unref(s->root);
+    s->root = NULL;
+    s->root_tx = s->last_tx = XBT_NULL;
+
+    ret = consume_be32(&us, &s->last_tx);
+    if (ret) {
+        return ret;
+    }
+
+    /*
+     * Consume the base tree into a transaction so that watches can be
+     * fired as we commit it. By setting us.root_walk we cause the nodes
+     * to be marked as 'modified_in_tx' as they are created, so that the
+     * watches are triggered on them.
+     */
+    base_t.dom_id = dom_id;
+    base_t.base_tx = XBT_NULL;
+    us.root_walk = true;
+    ret = consume_tree(&us, &base_t);
+    if (ret) {
+        return ret;
+    }
+    us.root_walk = false;
+
+    /*
+     * Commit the transaction now while the refcount on all nodes is 1.
+     * Note that we haven't yet reinstated the *guest* watches but that's
+     * OK because we don't want the guest to see any changes. Even any
+     * backend nodes which get recreated should be *precisely* as they
+     * were before the migration. Back ends may have been instantiated
+     * already, and will see the frontend magically blink into existence
+     * now (well, from the aio_bh which fires the watches). It's their
+     * responsibility to rebuild everything precisely as it was before.
+     */
+    ret = transaction_commit(s, &base_t);
+    if (ret) {
+        return ret;
+    }
+
+    while (1) {
+        unsigned int base_tx;
+        XsTransaction *t;
+
+        ret = consume_be32(&us, &base_tx);
+        if (ret) {
+            return ret;
+        }
+        if (base_tx == XBT_NULL) {
+            break;
+        }
+
+        t = g_new0(XsTransaction, 1);
+        t->base_tx = base_tx;
+
+        ret = consume_be32(&us, &t->dom_id);
+        if (!ret) {
+            ret = consume_tree(&us, t);
+        }
+        if (ret) {
+            g_free(t);
+            return ret;
+        }
+        g_assert(t->root);
+        if (t->dom_id) {
+            s->nr_domu_transactions++;
+        }
+        g_hash_table_insert(s->transactions, GINT_TO_POINTER(t->tx_id), t);
+    }
+
+    while (1) {
+        char *path, *token;
+        size_t pathlen, toklen;
+
+        ret = consume_string(&us, &path, &pathlen);
+        if (ret) {
+            return ret;
+        }
+        if (!pathlen) {
+            break;
+        }
+
+        ret = consume_string(&us, &token, &toklen);
+        if (ret) {
+            return ret;
+        }
+
+        if (!watch_fn) {
+            continue;
+        }
+
+        ret = do_xs_impl_watch(s, dom_id, path, token, watch_fn, watch_opaque);
+        if (ret) {
+            return ret;
+        }
+    }
+
+    if (us.l) {
+        return -EINVAL;
+    }
+
+    return 0;
+}
diff --git a/hw/i386/kvm/xenstore_impl.h b/hw/i386/kvm/xenstore_impl.h
index 2f81251b5e..bbe2391e2e 100644
--- a/hw/i386/kvm/xenstore_impl.h
+++ b/hw/i386/kvm/xenstore_impl.h
@@ -61,4 +61,9 @@ int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
                     void *opaque);
 int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id);
 
+GByteArray *xs_impl_serialize(XenstoreImplState *s);
+int xs_impl_deserialize(XenstoreImplState *s, GByteArray *bytes,
+                        unsigned int dom_id, xs_impl_watch_fn watch_fn,
+                        void *watch_opaque);
+
 #endif /* QEMU_XENSTORE_IMPL_H */
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index 2c0f89c694..fda6a047d0 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -29,8 +29,32 @@ static GList *xs_node_list;
 #define DOMID_QEMU 0
 #define DOMID_GUEST 1
 
+static void dump_ref(const char *name, XsNode *n, int indent)
+{
+    int i;
+
+    if (!indent && name) {
+        printf("%s:\n", name);
+    }
+
+    for (i = 0; i < indent; i++) {
+        printf(" ");
+    }
+
+    printf("->%p(%d, '%s'): '%.*s'%s%s\n", n, n->ref, n->name,
+           (int)(n->content ? n->content->len : strlen("<empty>")),
+           n->content ? (char *)n->content->data : "<empty>",
+           n->modified_in_tx ? " MODIFIED" : "",
+           n->deleted_in_tx ? " DELETED" : "");
+
+    if (n->children) {
+        g_hash_table_foreach(n->children, (void *)dump_ref,
+                             GINT_TO_POINTER(indent + 2));
+    }
+}
+
 /* This doesn't happen in qemu but we want to make valgrind happy */
-static void xs_impl_delete(XenstoreImplState *s)
+static void xs_impl_delete(XenstoreImplState *s, bool last)
 {
     int err;
 
@@ -46,6 +70,10 @@ static void xs_impl_delete(XenstoreImplState *s)
     xs_node_unref(s->root);
     g_free(s);
 
+    if (!last) {
+        return;
+    }
+
     if (xs_node_list) {
         GList *l;
         for (l = xs_node_list; l; l = l->next) {
@@ -57,6 +85,137 @@ static void xs_impl_delete(XenstoreImplState *s)
     g_assert(!nr_xs_nodes);
 }
 
+struct compare_walk {
+    char path[XENSTORE_ABS_PATH_MAX + 1];
+    XsNode *parent_2;
+    bool compare_ok;
+};
+
+
+static bool compare_perms(GList *p1, GList *p2)
+{
+    while (p1) {
+        if (!p2 || g_strcmp0(p1->data, p2->data)) {
+            return false;
+        }
+        p1 = p1->next;
+        p2 = p2->next;
+    }
+    return (p2 == NULL);
+}
+
+static bool compare_content(GByteArray *c1, GByteArray *c2)
+{
+    size_t len1 = 0, len2 = 0;
+
+    if (c1) {
+        len1 = c1->len;
+    }
+    if (c2) {
+        len2 = c2->len;
+    }
+    if (len1 != len2) {
+        return false;
+    }
+
+    if (!len1) {
+        return true;
+    }
+
+    return !memcmp(c1->data, c2->data, len1);
+}
+
+static void compare_child(gpointer, gpointer, gpointer);
+
+static void compare_nodes(struct compare_walk *cw, XsNode *n1, XsNode *n2)
+{
+    int nr_children1 = 0, nr_children2 = 0;
+
+    if (n1->children) {
+        nr_children1 = g_hash_table_size(n1->children);
+    }
+    if (n2->children) {
+        nr_children2 = g_hash_table_size(n2->children);
+    }
+
+    if (n1->ref != n2->ref ||
+        n1->deleted_in_tx != n2->deleted_in_tx ||
+        n1->modified_in_tx != n2->modified_in_tx ||
+        !compare_perms(n1->perms, n2->perms) ||
+        !compare_content(n1->content, n2->content) ||
+        nr_children1 != nr_children2) {
+        cw->compare_ok = false;
+        printf("Compare failure on '%s'\n", cw->path);
+    }
+
+    if (nr_children1) {
+        XsNode *oldparent = cw->parent_2;
+        cw->parent_2 = n2;
+        g_hash_table_foreach(n1->children, compare_child, cw);
+
+        cw->parent_2 = oldparent;
+    }
+}
+
+static void compare_child(gpointer key, gpointer val, gpointer opaque)
+{
+    struct compare_walk *cw = opaque;
+    char *childname = key;
+    XsNode *child1 = val;
+    XsNode *child2 = g_hash_table_lookup(cw->parent_2->children, childname);
+    int pathlen = strlen(cw->path);
+
+    if (!child2) {
+        cw->compare_ok = false;
+        printf("Child '%s' does not exist under '%s'\n", childname, cw->path);
+        return;
+    }
+
+    strncat(cw->path, "/", sizeof(cw->path) - 1);
+    strncat(cw->path, childname, sizeof(cw->path) - 1);
+
+    compare_nodes(cw, child1, child2);
+    cw->path[pathlen] = '\0';
+}
+
+static bool compare_trees(XsNode *n1, XsNode *n2)
+{
+    struct compare_walk cw;
+
+    cw.path[0] = '\0';
+    cw.parent_2 = n2;
+    cw.compare_ok = true;
+
+    if (!n1 || !n2) {
+        return false;
+    }
+
+    compare_nodes(&cw, n1, n2);
+    return cw.compare_ok;
+}
+
+static void compare_tx(gpointer key, gpointer val, gpointer opaque)
+{
+    XenstoreImplState *s2 = opaque;
+    XsTransaction *t1 = val, *t2;
+    unsigned int tx_id = GPOINTER_TO_INT(key);
+
+    t2 = g_hash_table_lookup(s2->transactions, key);
+    g_assert(t2);
+
+    g_assert(t1->tx_id == tx_id);
+    g_assert(t2->tx_id == tx_id);
+    g_assert(t1->base_tx == t2->base_tx);
+    g_assert(t1->dom_id == t2->dom_id);
+    if (!compare_trees(t1->root, t2->root)) {
+        printf("Comparison failure in TX %u after serdes:\n", tx_id);
+        dump_ref("Original", t1->root, 0);
+        dump_ref("Deserialised", t2->root, 0);
+        g_assert(0);
+    }
+    g_assert(t1->nr_nodes == t2->nr_nodes);
+}
+
 static int write_str(XenstoreImplState *s, unsigned int dom_id,
                           unsigned int tx_id, const char *path,
                           const char *content)
@@ -78,6 +237,40 @@ static void watch_cb(void *_str, const char *path, const char *token)
     g_string_append(str, token);
 }
 
+static void check_serdes(XenstoreImplState *s)
+{
+    XenstoreImplState *s2 = xs_impl_create(DOMID_GUEST);
+    GByteArray *bytes = xs_impl_serialize(s);
+    int nr_transactions1, nr_transactions2;
+    int ret;
+
+    ret = xs_impl_deserialize(s2, bytes, DOMID_GUEST, watch_cb, NULL);
+    g_assert(!ret);
+
+    g_byte_array_unref(bytes);
+
+    g_assert(s->last_tx == s2->last_tx);
+    g_assert(s->root_tx == s2->root_tx);
+
+    if (!compare_trees(s->root, s2->root)) {
+        printf("Comparison failure in main tree after serdes:\n");
+        dump_ref("Original", s->root, 0);
+        dump_ref("Deserialised", s2->root, 0);
+        g_assert(0);
+    }
+
+    nr_transactions1 = g_hash_table_size(s->transactions);
+    nr_transactions2 = g_hash_table_size(s2->transactions);
+    g_assert(nr_transactions1 == nr_transactions2);
+
+    g_hash_table_foreach(s->transactions, compare_tx, s2);
+
+    g_assert(s->nr_domu_watches == s2->nr_domu_watches);
+    g_assert(s->nr_domu_transactions == s2->nr_domu_transactions);
+    g_assert(s->nr_nodes == s2->nr_nodes);
+    xs_impl_delete(s2, false);
+}
+
 static XenstoreImplState *setup(void)
 {
    XenstoreImplState *s = xs_impl_create(DOMID_GUEST);
@@ -293,7 +486,7 @@ static void test_xs_node_simple(void)
     g_string_free(qemu_watches, true);
     g_string_free(guest_watches, true);
     xs_node_unref(old_root);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 
@@ -365,6 +558,8 @@ static void do_test_xs_node_tx(bool fail, bool commit)
     g_assert(!memcmp(data->data, "something else", data->len));
     g_byte_array_set_size(data, 0);
 
+    check_serdes(s);
+
     /* Attempt to commit the transaction */
     err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, commit);
     if (commit && fail) {
@@ -381,6 +576,8 @@ static void do_test_xs_node_tx(bool fail, bool commit)
     }
     g_assert(s->nr_nodes == 7);
 
+    check_serdes(s);
+
     err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
                         watch_cb, watches);
     g_assert(!err);
@@ -399,7 +596,7 @@ static void do_test_xs_node_tx(bool fail, bool commit)
     }
     g_byte_array_unref(data);
     g_string_free(watches, true);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 static void test_xs_node_tx_fail(void)
@@ -461,6 +658,8 @@ static void test_xs_node_tx_rm(void)
     g_assert(!memcmp(data->data, "something", data->len));
     g_byte_array_set_size(data, 0);
 
+    check_serdes(s);
+
     /* Commit the transaction */
     err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
     g_assert(!err);
@@ -480,7 +679,7 @@ static void test_xs_node_tx_rm(void)
     g_assert(!err);
 
     g_string_free(watches, true);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 static void test_xs_node_tx_resurrect(void)
@@ -499,11 +698,16 @@ static void test_xs_node_tx_resurrect(void)
     g_assert(!err);
     g_assert(s->nr_nodes == 9);
 
+    /* Another node to remain shared */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/place/safe", "keepme");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
     /* This node will be wiped and resurrected */
     err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark",
                     "foo");
     g_assert(!err);
-    g_assert(s->nr_nodes == 9);
+    g_assert(s->nr_nodes == 11);
 
     /* Set a watch */
     err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
@@ -520,19 +724,23 @@ static void test_xs_node_tx_resurrect(void)
     /* Delete the tree in the transaction */
     err = xs_impl_rm(s, DOMID_GUEST, tx_id, "some/deep");
     g_assert(!err);
-    g_assert(s->nr_nodes == 9);
+    g_assert(s->nr_nodes == 11);
     g_assert(!watches->len);
 
     /* Resurrect part of it */
     err = write_str(s, DOMID_GUEST, tx_id, "some/deep/dark/different/path",
                     "something");
     g_assert(!err);
-    g_assert(s->nr_nodes == 9);
+    g_assert(s->nr_nodes == 11);
+
+    check_serdes(s);
 
     /* Commit the transaction */
     err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
     g_assert(!err);
-    g_assert(s->nr_nodes == 9);
+    g_assert(s->nr_nodes == 11);
+
+    check_serdes(s);
 
     /* lost data */
     g_assert(strstr(watches->str, "some/deep/dark/different/pathwatch"));
@@ -549,12 +757,14 @@ static void test_xs_node_tx_resurrect(void)
     g_assert(err == ENOENT);
     g_byte_array_unref(data);
 
+    check_serdes(s);
+
     err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
                         watch_cb, watches);
     g_assert(!err);
 
     g_string_free(watches, true);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 static void test_xs_node_tx_resurrect2(void)
@@ -608,11 +818,15 @@ static void test_xs_node_tx_resurrect2(void)
     g_assert(!err);
     g_assert(s->nr_nodes == 11);
 
+    check_serdes(s);
+
     /* Commit the transaction */
     err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
     g_assert(!err);
     g_assert(s->nr_nodes == 11);
 
+    check_serdes(s);
+
     /* lost data */
     g_assert(strstr(watches->str, "some/deep/dark/relative/pathwatch"));
     /* lost data */
@@ -629,12 +843,14 @@ static void test_xs_node_tx_resurrect2(void)
 
     g_byte_array_unref(data);
 
+    check_serdes(s);
+
     err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
                         watch_cb, watches);
     g_assert(!err);
 
     g_string_free(watches, true);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 int main(int argc, char **argv)
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:19:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:19:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507703.781642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaxw-0003CI-KY; Tue, 07 Mar 2023 17:19:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507703.781642; Tue, 07 Mar 2023 17:19: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 1pZaxw-0003Bm-Gh; Tue, 07 Mar 2023 17:19:08 +0000
Received: by outflank-mailman (input) for mailman id 507703;
 Tue, 07 Mar 2023 17:19: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax3-0000az-BB
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:13 +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 07126bf2-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:07 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawk-00H601-00; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawj-009chC-2s; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 07126bf2-bd0c-11ed-96b5-2f268f93b82a
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=ZXh5QHgukOZTgV/qoyS0v8jG6O20d8mSR6buWcgbDbg=; b=fleXNHbHY9JEQwC9KrDWig+vHT
	2ihVUfrxHe5GhYXILTFyuoofvGp7mwONL24KmtE8LdjC/262RUFfja0qmdK1NUrSmDO+FWL2C3Xw1
	yDIdeTYPSqLxOPR/+fuIhp9oDQ+gRIN2VLfP4RcxwlvDHYNdThQiw3+FuQuwdzkh0yH6Tml5AWwSd
	tnrWQ9gAG5DP7Mj1nzq6GXb5KlM3ySkz3wOUbIFVjyHfrsRU5vyoZ9VUNLR7IWCR2CxQbFTs4rriY
	AkJ3wq08U1wagE9uWRNkGvZgVQnHP+o/6m1MaxSzr+vIBAX58jrh3Ub1bmHQ3jYNbhj2lmt/Kw+uh
	kVxup9lw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 11/27] hw/xen: Pass grant ref to gnttab unmap operation
Date: Tue,  7 Mar 2023 17:17:34 +0000
Message-Id: <20230307171750.2293175-12-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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 commit introduced redirectable gnttab operations fairly
much like-for-like, with the exception of the extra arguments to the
->open() call which were always NULL/0 anyway.

This *changes* the arguments to the ->unmap() operation to include the
original ref# that was mapped. Under real Xen it isn't necessary; all we
need to do from QEMU is munmap(), then the kernel will release the grant,
and Xen does the tracking/refcounting for the guest.

When we have emulated grant tables though, we need to do all that for
ourselves. So let's have the back ends keep track of what they mapped
and pass it in to the ->unmap() method for us.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/9pfs/xen-9p-backend.c            |  7 ++++---
 hw/block/dataplane/xen-block.c      |  1 +
 hw/char/xen_console.c               |  2 +-
 hw/net/xen_nic.c                    | 13 ++++++++-----
 hw/usb/xen-usb.c                    | 21 ++++++++++++++++-----
 hw/xen/xen-bus.c                    |  4 ++--
 hw/xen/xen-legacy-backend.c         |  4 ++--
 hw/xen/xen-operations.c             |  9 ++++++++-
 include/hw/xen/xen-bus.h            |  2 +-
 include/hw/xen/xen-legacy-backend.h |  6 +++---
 include/hw/xen/xen_backend_ops.h    |  7 ++++---
 11 files changed, 50 insertions(+), 26 deletions(-)

diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
index 864bdaf952..d8bb0e847c 100644
--- a/hw/9pfs/xen-9p-backend.c
+++ b/hw/9pfs/xen-9p-backend.c
@@ -359,12 +359,13 @@ static int xen_9pfs_free(struct XenLegacyDevice *xendev)
         if (xen_9pdev->rings[i].data != NULL) {
             xen_be_unmap_grant_refs(&xen_9pdev->xendev,
                                     xen_9pdev->rings[i].data,
+                                    xen_9pdev->rings[i].intf->ref,
                                     (1 << xen_9pdev->rings[i].ring_order));
         }
         if (xen_9pdev->rings[i].intf != NULL) {
-            xen_be_unmap_grant_refs(&xen_9pdev->xendev,
-                                    xen_9pdev->rings[i].intf,
-                                    1);
+            xen_be_unmap_grant_ref(&xen_9pdev->xendev,
+                                   xen_9pdev->rings[i].intf,
+                                   xen_9pdev->rings[i].ref);
         }
         if (xen_9pdev->rings[i].bh != NULL) {
             qemu_bh_delete(xen_9pdev->rings[i].bh);
diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index 2785b9e849..e55b713002 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -705,6 +705,7 @@ void xen_block_dataplane_stop(XenBlockDataPlane *dataplane)
         Error *local_err = NULL;
 
         xen_device_unmap_grant_refs(xendev, dataplane->sring,
+                                    dataplane->ring_ref,
                                     dataplane->nr_ring_ref, &local_err);
         dataplane->sring = NULL;
 
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 63153dfde4..19ad6c946a 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -271,7 +271,7 @@ static void con_disconnect(struct XenLegacyDevice *xendev)
         if (!xendev->dev) {
             xenforeignmemory_unmap(xen_fmem, con->sring, 1);
         } else {
-            xen_be_unmap_grant_ref(xendev, con->sring);
+            xen_be_unmap_grant_ref(xendev, con->sring, con->ring_ref);
         }
         con->sring = NULL;
     }
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index 7d92c2d022..166d03787d 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -181,7 +181,7 @@ 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);
+            xen_be_unmap_grant_ref(&netdev->xendev, page, txreq.gref);
             net_tx_response(netdev, &txreq, NETIF_RSP_OKAY);
         }
         if (!netdev->tx_work) {
@@ -261,7 +261,7 @@ static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf, size_t size
         return -1;
     }
     memcpy(page + NET_IP_ALIGN, buf, size);
-    xen_be_unmap_grant_ref(&netdev->xendev, page);
+    xen_be_unmap_grant_ref(&netdev->xendev, page, rxreq.gref);
     net_rx_response(netdev, &rxreq, NETIF_RSP_OKAY, NET_IP_ALIGN, size, 0);
 
     return size;
@@ -343,7 +343,8 @@ static int net_connect(struct XenLegacyDevice *xendev)
                                        netdev->rx_ring_ref,
                                        PROT_READ | PROT_WRITE);
     if (!netdev->rxs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs);
+        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs,
+                               netdev->tx_ring_ref);
         netdev->txs = NULL;
         return -1;
     }
@@ -368,11 +369,13 @@ static void net_disconnect(struct XenLegacyDevice *xendev)
     xen_pv_unbind_evtchn(&netdev->xendev);
 
     if (netdev->txs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs);
+        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs,
+                               netdev->tx_ring_ref);
         netdev->txs = NULL;
     }
     if (netdev->rxs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->rxs);
+        xen_be_unmap_grant_ref(&netdev->xendev, netdev->rxs,
+                               netdev->rx_ring_ref);
         netdev->rxs = NULL;
     }
 }
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index 0f7369e7ed..a770a64cb4 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -101,6 +101,8 @@ struct usbback_hotplug {
 struct usbback_info {
     struct XenLegacyDevice         xendev;  /* must be first */
     USBBus                   bus;
+    uint32_t                 urb_ring_ref;
+    uint32_t                 conn_ring_ref;
     void                     *urb_sring;
     void                     *conn_sring;
     struct usbif_urb_back_ring urb_ring;
@@ -277,10 +279,11 @@ static int usbback_init_packet(struct usbback_req *usbback_req)
 static void usbback_do_response(struct usbback_req *usbback_req, int32_t status,
                                 int32_t actual_length, int32_t error_count)
 {
+    uint32_t ref[USBIF_MAX_SEGMENTS_PER_REQUEST];
     struct usbback_info *usbif;
     struct usbif_urb_response *res;
     struct XenLegacyDevice *xendev;
-    unsigned int notify;
+    unsigned int notify, i;
 
     usbif = usbback_req->usbif;
     xendev = &usbif->xendev;
@@ -293,13 +296,19 @@ static void usbback_do_response(struct usbback_req *usbback_req, int32_t status,
     }
 
     if (usbback_req->buffer) {
-        xen_be_unmap_grant_refs(xendev, usbback_req->buffer,
+        for (i = 0; i < usbback_req->nr_buffer_segs; i++) {
+            ref[i] = usbback_req->req.seg[i].gref;
+        }
+        xen_be_unmap_grant_refs(xendev, usbback_req->buffer, ref,
                                 usbback_req->nr_buffer_segs);
         usbback_req->buffer = NULL;
     }
 
     if (usbback_req->isoc_buffer) {
-        xen_be_unmap_grant_refs(xendev, usbback_req->isoc_buffer,
+        for (i = 0; i < usbback_req->nr_extra_segs; i++) {
+            ref[i] = usbback_req->req.seg[i + usbback_req->req.nr_buffer_segs].gref;
+        }
+        xen_be_unmap_grant_refs(xendev, usbback_req->isoc_buffer, ref,
                                 usbback_req->nr_extra_segs);
         usbback_req->isoc_buffer = NULL;
     }
@@ -832,11 +841,11 @@ static void usbback_disconnect(struct XenLegacyDevice *xendev)
     xen_pv_unbind_evtchn(xendev);
 
     if (usbif->urb_sring) {
-        xen_be_unmap_grant_ref(xendev, usbif->urb_sring);
+        xen_be_unmap_grant_ref(xendev, usbif->urb_sring, usbif->urb_ring_ref);
         usbif->urb_sring = NULL;
     }
     if (usbif->conn_sring) {
-        xen_be_unmap_grant_ref(xendev, usbif->conn_sring);
+        xen_be_unmap_grant_ref(xendev, usbif->conn_sring, usbif->conn_ring_ref);
         usbif->conn_sring = NULL;
     }
 
@@ -889,6 +898,8 @@ static int usbback_connect(struct XenLegacyDevice *xendev)
         return -1;
     }
 
+    usbif->urb_ring_ref = urb_ring_ref;
+    usbif->conn_ring_ref = conn_ring_ref;
     urb_sring = usbif->urb_sring;
     conn_sring = usbif->conn_sring;
     BACK_RING_INIT(&usbif->urb_ring, urb_sring, XC_PAGE_SIZE);
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index b247e86f28..aee6a8c9b0 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -967,10 +967,10 @@ void *xen_device_map_grant_refs(XenDevice *xendev, uint32_t *refs,
     return map;
 }
 
-void xen_device_unmap_grant_refs(XenDevice *xendev, void *map,
+void xen_device_unmap_grant_refs(XenDevice *xendev, void *map, uint32_t *refs,
                                  unsigned int nr_refs, Error **errp)
 {
-    if (qemu_xen_gnttab_unmap(xendev->xgth, map, nr_refs)) {
+    if (qemu_xen_gnttab_unmap(xendev->xgth, map, refs, nr_refs)) {
         error_setg_errno(errp, errno, "xengnttab_unmap failed");
     }
 }
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index 1e9a28f263..a48a25aeb5 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -137,11 +137,11 @@ void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
 }
 
 void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
-                             unsigned int nr_refs)
+                             uint32_t *refs, unsigned int nr_refs)
 {
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    if (qemu_xen_gnttab_unmap(xendev->gnttabdev, ptr, nr_refs)) {
+    if (qemu_xen_gnttab_unmap(xendev->gnttabdev, ptr, refs, nr_refs)) {
         xen_pv_printf(xendev, 0, "xengnttab_unmap failed: %s\n",
                       strerror(errno));
     }
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index 2e74a28965..c5956d28c6 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -200,6 +200,13 @@ static xengnttab_handle *libxengnttab_backend_open(void)
     return xengnttab_open(NULL, 0);
 }
 
+static int libxengnttab_backend_unmap(xengnttab_handle *xgt,
+                                      void *start_address, uint32_t *refs,
+                                      uint32_t count)
+{
+    return xengnttab_unmap(xgt, start_address, count);
+}
+
 
 static struct gnttab_backend_ops libxengnttab_backend_ops = {
     .features = XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE,
@@ -208,7 +215,7 @@ static struct gnttab_backend_ops libxengnttab_backend_ops = {
     .grant_copy = libxengnttab_fallback_grant_copy,
     .set_max_grants = xengnttab_set_max_grants,
     .map_refs = xengnttab_map_domain_grant_refs,
-    .unmap = xengnttab_unmap,
+    .unmap = libxengnttab_backend_unmap,
 };
 
 void setup_xen_backend_ops(void)
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 72d71d1eb7..5a90e79d53 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -102,7 +102,7 @@ void xen_device_set_max_grant_refs(XenDevice *xendev, unsigned int nr_refs,
 void *xen_device_map_grant_refs(XenDevice *xendev, uint32_t *refs,
                                 unsigned int nr_refs, int prot,
                                 Error **errp);
-void xen_device_unmap_grant_refs(XenDevice *xendev, void *map,
+void xen_device_unmap_grant_refs(XenDevice *xendev, void *map, uint32_t *refs,
                                  unsigned int nr_refs, Error **errp);
 
 typedef struct XenDeviceGrantCopySegment {
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index eaf79cd221..ab28583267 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -52,7 +52,7 @@ void xen_be_set_max_grant_refs(struct XenLegacyDevice *xendev,
 void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
                             unsigned int nr_refs, int prot);
 void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
-                             unsigned int nr_refs);
+                             uint32_t *refs, unsigned int nr_refs);
 
 int xen_be_copy_grant_refs(struct XenLegacyDevice *xendev,
                            bool to_domain, XenGrantCopySegment segs[],
@@ -65,9 +65,9 @@ static inline void *xen_be_map_grant_ref(struct XenLegacyDevice *xendev,
 }
 
 static inline void xen_be_unmap_grant_ref(struct XenLegacyDevice *xendev,
-                                          void *ptr)
+                                          void *ptr, uint32_t ref)
 {
-    return xen_be_unmap_grant_refs(xendev, ptr, 1);
+    return xen_be_unmap_grant_refs(xendev, ptr, &ref, 1);
 }
 
 /* actual backend drivers */
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
index bb3333ab00..6f9d8e2c62 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -144,7 +144,8 @@ struct gnttab_backend_ops {
     int (*set_max_grants)(xengnttab_handle *xgt, uint32_t nr_grants);
     void *(*map_refs)(xengnttab_handle *xgt, uint32_t count, uint32_t domid,
                       uint32_t *refs, int prot);
-    int (*unmap)(xengnttab_handle *xgt, void *start_address, uint32_t count);
+    int (*unmap)(xengnttab_handle *xgt, void *start_address, uint32_t *refs,
+                 uint32_t count);
 };
 
 extern struct gnttab_backend_ops *xen_gnttab_ops;
@@ -204,13 +205,13 @@ static inline void *qemu_xen_gnttab_map_refs(xengnttab_handle *xgt,
 }
 
 static inline int qemu_xen_gnttab_unmap(xengnttab_handle *xgt,
-                                        void *start_address,
+                                        void *start_address, uint32_t *refs,
                                         uint32_t count)
 {
     if (!xen_gnttab_ops) {
         return -ENOSYS;
     }
-    return xen_gnttab_ops->unmap(xgt, start_address, count);
+    return xen_gnttab_ops->unmap(xgt, start_address, refs, count);
 }
 
 void setup_xen_backend_ops(void);
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:19:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:19:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507704.781649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaxx-0003IV-4H; Tue, 07 Mar 2023 17:19:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507704.781649; Tue, 07 Mar 2023 17: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 1pZaxw-0003GN-Su; Tue, 07 Mar 2023 17:19:08 +0000
Received: by outflank-mailman (input) for mailman id 507704;
 Tue, 07 Mar 2023 17:19: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax5-0000az-BY
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:15 +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 07773f0e-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:08 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawk-00H602-0n; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009chS-0R; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 07773f0e-bd0c-11ed-96b5-2f268f93b82a
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=6uxwjOvxQQcRhYsdZWs4ssoZa+V8OI5mOwBQQytLfJc=; b=fWYDVWUHZrKDPqvSQ5a3BAL9dJ
	Wu5f5NdZ18eU06RRwTmx/SIGdMtgz//ABHrMEZpU78GNOuXi3sz+SaVFuFaWT4pzCYteT+JUz2k19
	qhk8C4zlaJ58nmEpStrT3nUM66nHHP7h2KYSJXMc1aokqWFbbK7enUs6qwJzGnT9n2gKS44IT4d/J
	EBVVY/eEVlLqTIEmqj8SBdls/N3FnIsRSplYjidhq42xTIkOSBsAlpaKOba4m+gcsj0yIi0kt+dR9
	tVYtTAtstnMgiyq21UL7PA30NhF6bMWSp5A+53T7ymcEoGZ+RlNSAv1gA60585BqAxzcOR0JCljfI
	c2ZxoaVA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 15/27] hw/xen: Use XEN_PAGE_SIZE in PV backend drivers
Date: Tue,  7 Mar 2023 17:17:38 +0000
Message-Id: <20230307171750.2293175-16-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>

XC_PAGE_SIZE comes from the actual Xen libraries, while XEN_PAGE_SIZE is
provided by QEMU itself in xen_backend_ops.h. For backends which may be
built for emulation mode, use the latter.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/block/dataplane/xen-block.c |  8 ++++----
 hw/display/xenfb.c             | 12 ++++++------
 hw/net/xen_nic.c               | 12 ++++++------
 hw/usb/xen-usb.c               |  8 ++++----
 4 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index e55b713002..8322a1de82 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -101,9 +101,9 @@ static XenBlockRequest *xen_block_start_request(XenBlockDataPlane *dataplane)
          * re-use requests, allocate the memory once here. It will be freed
          * xen_block_dataplane_destroy() when the request list is freed.
          */
-        request->buf = qemu_memalign(XC_PAGE_SIZE,
+        request->buf = qemu_memalign(XEN_PAGE_SIZE,
                                      BLKIF_MAX_SEGMENTS_PER_REQUEST *
-                                     XC_PAGE_SIZE);
+                                     XEN_PAGE_SIZE);
         dataplane->requests_total++;
         qemu_iovec_init(&request->v, 1);
     } else {
@@ -185,7 +185,7 @@ static int xen_block_parse_request(XenBlockRequest *request)
             goto err;
         }
         if (request->req.seg[i].last_sect * dataplane->sector_size >=
-            XC_PAGE_SIZE) {
+            XEN_PAGE_SIZE) {
             error_report("error: page crossing");
             goto err;
         }
@@ -740,7 +740,7 @@ void xen_block_dataplane_start(XenBlockDataPlane *dataplane,
 
     dataplane->protocol = protocol;
 
-    ring_size = XC_PAGE_SIZE * dataplane->nr_ring_ref;
+    ring_size = XEN_PAGE_SIZE * dataplane->nr_ring_ref;
     switch (dataplane->protocol) {
     case BLKIF_PROTOCOL_NATIVE:
     {
diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c
index 2c4016fcbd..0074a9b6f8 100644
--- a/hw/display/xenfb.c
+++ b/hw/display/xenfb.c
@@ -489,13 +489,13 @@ static int xenfb_map_fb(struct XenFB *xenfb)
     }
 
     if (xenfb->pixels) {
-        munmap(xenfb->pixels, xenfb->fbpages * XC_PAGE_SIZE);
+        munmap(xenfb->pixels, xenfb->fbpages * XEN_PAGE_SIZE);
         xenfb->pixels = NULL;
     }
 
-    xenfb->fbpages = DIV_ROUND_UP(xenfb->fb_len, XC_PAGE_SIZE);
+    xenfb->fbpages = DIV_ROUND_UP(xenfb->fb_len, XEN_PAGE_SIZE);
     n_fbdirs = xenfb->fbpages * mode / 8;
-    n_fbdirs = DIV_ROUND_UP(n_fbdirs, XC_PAGE_SIZE);
+    n_fbdirs = DIV_ROUND_UP(n_fbdirs, XEN_PAGE_SIZE);
 
     pgmfns = g_new0(xen_pfn_t, n_fbdirs);
     fbmfns = g_new0(xen_pfn_t, xenfb->fbpages);
@@ -528,8 +528,8 @@ static int xenfb_configure_fb(struct XenFB *xenfb, size_t fb_len_lim,
 {
     size_t mfn_sz = sizeof_field(struct xenfb_page, pd[0]);
     size_t pd_len = sizeof_field(struct xenfb_page, pd) / mfn_sz;
-    size_t fb_pages = pd_len * XC_PAGE_SIZE / mfn_sz;
-    size_t fb_len_max = fb_pages * XC_PAGE_SIZE;
+    size_t fb_pages = pd_len * XEN_PAGE_SIZE / mfn_sz;
+    size_t fb_len_max = fb_pages * XEN_PAGE_SIZE;
     int max_width, max_height;
 
     if (fb_len_lim > fb_len_max) {
@@ -930,7 +930,7 @@ static void fb_disconnect(struct XenLegacyDevice *xendev)
      *   instead.  This releases the guest pages and keeps qemu happy.
      */
     qemu_xen_foreignmem_unmap(fb->pixels, fb->fbpages);
-    fb->pixels = mmap(fb->pixels, fb->fbpages * XC_PAGE_SIZE,
+    fb->pixels = mmap(fb->pixels, fb->fbpages * XEN_PAGE_SIZE,
                       PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON,
                       -1, 0);
     if (fb->pixels == MAP_FAILED) {
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index 166d03787d..9bbf6599fc 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -145,7 +145,7 @@ static void net_tx_packets(struct XenNetDev *netdev)
                 continue;
             }
 
-            if ((txreq.offset + txreq.size) > XC_PAGE_SIZE) {
+            if ((txreq.offset + txreq.size) > XEN_PAGE_SIZE) {
                 xen_pv_printf(&netdev->xendev, 0, "error: page crossing\n");
                 net_tx_error(netdev, &txreq, rc);
                 continue;
@@ -171,7 +171,7 @@ static void net_tx_packets(struct XenNetDev *netdev)
             if (txreq.flags & NETTXF_csum_blank) {
                 /* have read-only mapping -> can't fill checksum in-place */
                 if (!tmpbuf) {
-                    tmpbuf = g_malloc(XC_PAGE_SIZE);
+                    tmpbuf = g_malloc(XEN_PAGE_SIZE);
                 }
                 memcpy(tmpbuf, page + txreq.offset, txreq.size);
                 net_checksum_calculate(tmpbuf, txreq.size, CSUM_ALL);
@@ -243,9 +243,9 @@ static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf, size_t size
     if (rc == rp || RING_REQUEST_CONS_OVERFLOW(&netdev->rx_ring, rc)) {
         return 0;
     }
-    if (size > XC_PAGE_SIZE - NET_IP_ALIGN) {
+    if (size > XEN_PAGE_SIZE - NET_IP_ALIGN) {
         xen_pv_printf(&netdev->xendev, 0, "packet too big (%lu > %ld)",
-                      (unsigned long)size, XC_PAGE_SIZE - NET_IP_ALIGN);
+                      (unsigned long)size, XEN_PAGE_SIZE - NET_IP_ALIGN);
         return -1;
     }
 
@@ -348,8 +348,8 @@ static int net_connect(struct XenLegacyDevice *xendev)
         netdev->txs = NULL;
         return -1;
     }
-    BACK_RING_INIT(&netdev->tx_ring, netdev->txs, XC_PAGE_SIZE);
-    BACK_RING_INIT(&netdev->rx_ring, netdev->rxs, XC_PAGE_SIZE);
+    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);
 
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index a770a64cb4..66cb3f7c24 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -161,7 +161,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
 
     for (i = 0; i < nr_segs; i++) {
         if ((unsigned)usbback_req->req.seg[i].offset +
-            (unsigned)usbback_req->req.seg[i].length > XC_PAGE_SIZE) {
+            (unsigned)usbback_req->req.seg[i].length > XEN_PAGE_SIZE) {
             xen_pv_printf(xendev, 0, "segment crosses page boundary\n");
             return -EINVAL;
         }
@@ -185,7 +185,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
 
         for (i = 0; i < usbback_req->nr_buffer_segs; i++) {
             seg = usbback_req->req.seg + i;
-            addr = usbback_req->buffer + i * XC_PAGE_SIZE + seg->offset;
+            addr = usbback_req->buffer + i * XEN_PAGE_SIZE + seg->offset;
             qemu_iovec_add(&usbback_req->packet.iov, addr, seg->length);
         }
     }
@@ -902,8 +902,8 @@ static int usbback_connect(struct XenLegacyDevice *xendev)
     usbif->conn_ring_ref = conn_ring_ref;
     urb_sring = usbif->urb_sring;
     conn_sring = usbif->conn_sring;
-    BACK_RING_INIT(&usbif->urb_ring, urb_sring, XC_PAGE_SIZE);
-    BACK_RING_INIT(&usbif->conn_ring, conn_sring, XC_PAGE_SIZE);
+    BACK_RING_INIT(&usbif->urb_ring, urb_sring, XEN_PAGE_SIZE);
+    BACK_RING_INIT(&usbif->conn_ring, conn_sring, XEN_PAGE_SIZE);
 
     xen_be_bind_evtchn(xendev);
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:19:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:19:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507710.781669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaxz-00041p-Pu; Tue, 07 Mar 2023 17:19:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507710.781669; Tue, 07 Mar 2023 17:19:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZaxz-00041U-Ij; Tue, 07 Mar 2023 17:19:11 +0000
Received: by outflank-mailman (input) for mailman id 507710;
 Tue, 07 Mar 2023 17:19: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax8-0000az-CE
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:18 +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 0833d35e-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:09 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawj-00H600-30; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawj-009ch8-2g; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 0833d35e-bd0c-11ed-96b5-2f268f93b82a
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=fc5fNxYs5D3U6kXGx5cElygYY2FPhVguerYudj3biCw=; b=S33NNgKb0CHmuKoQhObfywatM/
	6hE2pGY3dnX/fIK0NYGA8geW1iRdI5bvZdbtD3rNkRhcwIP+AnzrEZRNCnbpCYWe4HY6CWX06xrwM
	DbccQYAfWXTgW13hg6e/u148pimZvLVLje7ytIk3LcCuoL3ImLN4N7ueTJohWrWMJXpGRfvwCkMfE
	O8JCwcysFR6dSXTiPCLTmFmilnxyXHUGdYUUV4nsGDBdF6Rt9D5Go68mCB42Oeuix0CsSJPICxyGG
	ngBiIAZXkK1wMvI+/yn365HQgafpopmi896E0x3PwQYcO/pYA7ydyAdHg1XqX5qewu+gx1YYIQH4t
	peX0p7Ag==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 10/27] hw/xen: Add gnttab operations to allow redirection to internal emulation
Date: Tue,  7 Mar 2023 17:17:33 +0000
Message-Id: <20230307171750.2293175-11-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>

Move the existing code using libxengnttab to xen-operations.c and allow
the operations to be redirected so that we can add emulation of grant
table mapping for backend drivers.

In emulation, mapping more than one grant ref to be virtually contiguous
would be fairly difficult. The best way to do it might be to make the
ram_block mappings actually backed by a file (shmem or a deleted file,
perhaps) so that we can have multiple *shared* mappings of it. But that
would be fairly intrusive.

Making the backend drivers cope with page *lists* instead of expecting
the mapping to be contiguous is also non-trivial, since some structures
would actually *cross* page boundaries (e.g. the 32-bit blkif responses
which are 12 bytes).

So for now, we'll support only single-page mappings in emulation. Add a
XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE flag to indicate that the native Xen
implementation *does* support multi-page maps, and a helper function to
query it.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/xen/xen-bus.c                    | 112 ++------------------
 hw/xen/xen-legacy-backend.c         | 125 ++--------------------
 hw/xen/xen-operations.c             | 157 ++++++++++++++++++++++++++++
 hw/xen/xen_pvdev.c                  |   2 +-
 include/hw/xen/xen-bus.h            |   3 +-
 include/hw/xen/xen-legacy-backend.h |  13 +--
 include/hw/xen/xen_backend_ops.h    | 100 ++++++++++++++++++
 include/hw/xen/xen_common.h         |  39 -------
 softmmu/globals.c                   |   1 +
 9 files changed, 280 insertions(+), 272 deletions(-)

diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index d0b1ae93da..b247e86f28 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -947,7 +947,7 @@ static void xen_device_frontend_destroy(XenDevice *xendev)
 void xen_device_set_max_grant_refs(XenDevice *xendev, unsigned int nr_refs,
                                    Error **errp)
 {
-    if (xengnttab_set_max_grants(xendev->xgth, nr_refs)) {
+    if (qemu_xen_gnttab_set_max_grants(xendev->xgth, nr_refs)) {
         error_setg_errno(errp, errno, "xengnttab_set_max_grants failed");
     }
 }
@@ -956,9 +956,8 @@ void *xen_device_map_grant_refs(XenDevice *xendev, uint32_t *refs,
                                 unsigned int nr_refs, int prot,
                                 Error **errp)
 {
-    void *map = xengnttab_map_domain_grant_refs(xendev->xgth, nr_refs,
-                                                xendev->frontend_id, refs,
-                                                prot);
+    void *map = qemu_xen_gnttab_map_refs(xendev->xgth, nr_refs,
+                                         xendev->frontend_id, refs, prot);
 
     if (!map) {
         error_setg_errno(errp, errno,
@@ -971,109 +970,17 @@ void *xen_device_map_grant_refs(XenDevice *xendev, uint32_t *refs,
 void xen_device_unmap_grant_refs(XenDevice *xendev, void *map,
                                  unsigned int nr_refs, Error **errp)
 {
-    if (xengnttab_unmap(xendev->xgth, map, nr_refs)) {
+    if (qemu_xen_gnttab_unmap(xendev->xgth, map, nr_refs)) {
         error_setg_errno(errp, errno, "xengnttab_unmap failed");
     }
 }
 
-static void compat_copy_grant_refs(XenDevice *xendev, bool to_domain,
-                                   XenDeviceGrantCopySegment segs[],
-                                   unsigned int nr_segs, Error **errp)
-{
-    uint32_t *refs = g_new(uint32_t, nr_segs);
-    int prot = to_domain ? PROT_WRITE : PROT_READ;
-    void *map;
-    unsigned int i;
-
-    for (i = 0; i < nr_segs; i++) {
-        XenDeviceGrantCopySegment *seg = &segs[i];
-
-        refs[i] = to_domain ? seg->dest.foreign.ref :
-            seg->source.foreign.ref;
-    }
-
-    map = xengnttab_map_domain_grant_refs(xendev->xgth, nr_segs,
-                                          xendev->frontend_id, refs,
-                                          prot);
-    if (!map) {
-        error_setg_errno(errp, errno,
-                         "xengnttab_map_domain_grant_refs failed");
-        goto done;
-    }
-
-    for (i = 0; i < nr_segs; i++) {
-        XenDeviceGrantCopySegment *seg = &segs[i];
-        void *page = map + (i * XC_PAGE_SIZE);
-
-        if (to_domain) {
-            memcpy(page + seg->dest.foreign.offset, seg->source.virt,
-                   seg->len);
-        } else {
-            memcpy(seg->dest.virt, page + seg->source.foreign.offset,
-                   seg->len);
-        }
-    }
-
-    if (xengnttab_unmap(xendev->xgth, map, nr_segs)) {
-        error_setg_errno(errp, errno, "xengnttab_unmap failed");
-    }
-
-done:
-    g_free(refs);
-}
-
 void xen_device_copy_grant_refs(XenDevice *xendev, bool to_domain,
                                 XenDeviceGrantCopySegment segs[],
                                 unsigned int nr_segs, Error **errp)
 {
-    xengnttab_grant_copy_segment_t *xengnttab_segs;
-    unsigned int i;
-
-    if (!xendev->feature_grant_copy) {
-        compat_copy_grant_refs(xendev, to_domain, segs, nr_segs, errp);
-        return;
-    }
-
-    xengnttab_segs = g_new0(xengnttab_grant_copy_segment_t, nr_segs);
-
-    for (i = 0; i < nr_segs; i++) {
-        XenDeviceGrantCopySegment *seg = &segs[i];
-        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
-
-        if (to_domain) {
-            xengnttab_seg->flags = GNTCOPY_dest_gref;
-            xengnttab_seg->dest.foreign.domid = xendev->frontend_id;
-            xengnttab_seg->dest.foreign.ref = seg->dest.foreign.ref;
-            xengnttab_seg->dest.foreign.offset = seg->dest.foreign.offset;
-            xengnttab_seg->source.virt = seg->source.virt;
-        } else {
-            xengnttab_seg->flags = GNTCOPY_source_gref;
-            xengnttab_seg->source.foreign.domid = xendev->frontend_id;
-            xengnttab_seg->source.foreign.ref = seg->source.foreign.ref;
-            xengnttab_seg->source.foreign.offset =
-                seg->source.foreign.offset;
-            xengnttab_seg->dest.virt = seg->dest.virt;
-        }
-
-        xengnttab_seg->len = seg->len;
-    }
-
-    if (xengnttab_grant_copy(xendev->xgth, nr_segs, xengnttab_segs)) {
-        error_setg_errno(errp, errno, "xengnttab_grant_copy failed");
-        goto done;
-    }
-
-    for (i = 0; i < nr_segs; i++) {
-        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
-
-        if (xengnttab_seg->status != GNTST_okay) {
-            error_setg(errp, "xengnttab_grant_copy seg[%u] failed", i);
-            break;
-        }
-    }
-
-done:
-    g_free(xengnttab_segs);
+    qemu_xen_gnttab_grant_copy(xendev->xgth, to_domain, xendev->frontend_id,
+                               (XenGrantCopySegment *)segs, nr_segs, errp);
 }
 
 struct XenEventChannel {
@@ -1235,7 +1142,7 @@ static void xen_device_unrealize(DeviceState *dev)
     xen_device_backend_destroy(xendev);
 
     if (xendev->xgth) {
-        xengnttab_close(xendev->xgth);
+        qemu_xen_gnttab_close(xendev->xgth);
         xendev->xgth = NULL;
     }
 
@@ -1298,15 +1205,12 @@ static void xen_device_realize(DeviceState *dev, Error **errp)
 
     xendev->watch_list = watch_list_create(xendev->xsh);
 
-    xendev->xgth = xengnttab_open(NULL, 0);
+    xendev->xgth = qemu_xen_gnttab_open();
     if (!xendev->xgth) {
         error_setg_errno(errp, errno, "failed xengnttab_open");
         goto unrealize;
     }
 
-    xendev->feature_grant_copy =
-        (xengnttab_grant_copy(xendev->xgth, 0, NULL) == 0);
-
     xen_device_backend_create(xendev, errp);
     if (*errp) {
         goto unrealize;
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index 9ce3dc204b..1e9a28f263 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -43,7 +43,6 @@ struct xs_handle *xenstore;
 const char *xen_protocol;
 
 /* private */
-static bool xen_feature_grant_copy;
 static int debug;
 
 int xenstore_write_be_str(struct XenLegacyDevice *xendev, const char *node,
@@ -113,7 +112,7 @@ void xen_be_set_max_grant_refs(struct XenLegacyDevice *xendev,
 {
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    if (xengnttab_set_max_grants(xendev->gnttabdev, nr_refs)) {
+    if (qemu_xen_gnttab_set_max_grants(xendev->gnttabdev, nr_refs)) {
         xen_pv_printf(xendev, 0, "xengnttab_set_max_grants failed: %s\n",
                       strerror(errno));
     }
@@ -126,8 +125,8 @@ void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
 
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    ptr = xengnttab_map_domain_grant_refs(xendev->gnttabdev, nr_refs,
-                                          xen_domid, refs, prot);
+    ptr = qemu_xen_gnttab_map_refs(xendev->gnttabdev, nr_refs, xen_domid, refs,
+                                   prot);
     if (!ptr) {
         xen_pv_printf(xendev, 0,
                       "xengnttab_map_domain_grant_refs failed: %s\n",
@@ -142,119 +141,27 @@ void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
 {
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    if (xengnttab_unmap(xendev->gnttabdev, ptr, nr_refs)) {
+    if (qemu_xen_gnttab_unmap(xendev->gnttabdev, ptr, nr_refs)) {
         xen_pv_printf(xendev, 0, "xengnttab_unmap failed: %s\n",
                       strerror(errno));
     }
 }
 
-static int compat_copy_grant_refs(struct XenLegacyDevice *xendev,
-                                  bool to_domain,
-                                  XenGrantCopySegment segs[],
-                                  unsigned int nr_segs)
-{
-    uint32_t *refs = g_new(uint32_t, nr_segs);
-    int prot = to_domain ? PROT_WRITE : PROT_READ;
-    void *pages;
-    unsigned int i;
-
-    for (i = 0; i < nr_segs; i++) {
-        XenGrantCopySegment *seg = &segs[i];
-
-        refs[i] = to_domain ?
-            seg->dest.foreign.ref : seg->source.foreign.ref;
-    }
-
-    pages = xengnttab_map_domain_grant_refs(xendev->gnttabdev, nr_segs,
-                                            xen_domid, refs, prot);
-    if (!pages) {
-        xen_pv_printf(xendev, 0,
-                      "xengnttab_map_domain_grant_refs failed: %s\n",
-                      strerror(errno));
-        g_free(refs);
-        return -1;
-    }
-
-    for (i = 0; i < nr_segs; i++) {
-        XenGrantCopySegment *seg = &segs[i];
-        void *page = pages + (i * XC_PAGE_SIZE);
-
-        if (to_domain) {
-            memcpy(page + seg->dest.foreign.offset, seg->source.virt,
-                   seg->len);
-        } else {
-            memcpy(seg->dest.virt, page + seg->source.foreign.offset,
-                   seg->len);
-        }
-    }
-
-    if (xengnttab_unmap(xendev->gnttabdev, pages, nr_segs)) {
-        xen_pv_printf(xendev, 0, "xengnttab_unmap failed: %s\n",
-                      strerror(errno));
-    }
-
-    g_free(refs);
-    return 0;
-}
-
 int xen_be_copy_grant_refs(struct XenLegacyDevice *xendev,
                            bool to_domain,
                            XenGrantCopySegment segs[],
                            unsigned int nr_segs)
 {
-    xengnttab_grant_copy_segment_t *xengnttab_segs;
-    unsigned int i;
     int rc;
 
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    if (!xen_feature_grant_copy) {
-        return compat_copy_grant_refs(xendev, to_domain, segs, nr_segs);
-    }
-
-    xengnttab_segs = g_new0(xengnttab_grant_copy_segment_t, nr_segs);
-
-    for (i = 0; i < nr_segs; i++) {
-        XenGrantCopySegment *seg = &segs[i];
-        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
-
-        if (to_domain) {
-            xengnttab_seg->flags = GNTCOPY_dest_gref;
-            xengnttab_seg->dest.foreign.domid = xen_domid;
-            xengnttab_seg->dest.foreign.ref = seg->dest.foreign.ref;
-            xengnttab_seg->dest.foreign.offset = seg->dest.foreign.offset;
-            xengnttab_seg->source.virt = seg->source.virt;
-        } else {
-            xengnttab_seg->flags = GNTCOPY_source_gref;
-            xengnttab_seg->source.foreign.domid = xen_domid;
-            xengnttab_seg->source.foreign.ref = seg->source.foreign.ref;
-            xengnttab_seg->source.foreign.offset =
-                seg->source.foreign.offset;
-            xengnttab_seg->dest.virt = seg->dest.virt;
-        }
-
-        xengnttab_seg->len = seg->len;
-    }
-
-    rc = xengnttab_grant_copy(xendev->gnttabdev, nr_segs, xengnttab_segs);
-
+    rc = qemu_xen_gnttab_grant_copy(xendev->gnttabdev, to_domain, xen_domid,
+                                    segs, nr_segs, NULL);
     if (rc) {
-        xen_pv_printf(xendev, 0, "xengnttab_copy failed: %s\n",
-                      strerror(errno));
-    }
-
-    for (i = 0; i < nr_segs; i++) {
-        xengnttab_grant_copy_segment_t *xengnttab_seg =
-            &xengnttab_segs[i];
-
-        if (xengnttab_seg->status != GNTST_okay) {
-            xen_pv_printf(xendev, 0, "segment[%u] status: %d\n", i,
-                          xengnttab_seg->status);
-            rc = -1;
-        }
+        xen_pv_printf(xendev, 0, "xengnttab_grant_copy failed: %s\n",
+                      strerror(-rc));
     }
-
-    g_free(xengnttab_segs);
     return rc;
 }
 
@@ -466,7 +373,7 @@ static int xen_be_try_initialise(struct XenLegacyDevice *xendev)
     }
 
     if (xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV) {
-        xendev->gnttabdev = xengnttab_open(NULL, 0);
+        xendev->gnttabdev = qemu_xen_gnttab_open();
         if (xendev->gnttabdev == NULL) {
             xen_pv_printf(NULL, 0, "can't open gnttab device\n");
             return -1;
@@ -524,7 +431,7 @@ static void xen_be_disconnect(struct XenLegacyDevice *xendev,
         xendev->ops->disconnect(xendev);
     }
     if (xendev->gnttabdev) {
-        xengnttab_close(xendev->gnttabdev);
+        qemu_xen_gnttab_close(xendev->gnttabdev);
         xendev->gnttabdev = NULL;
     }
     if (xendev->be_state != state) {
@@ -687,8 +594,6 @@ static void xen_set_dynamic_sysbus(void)
 
 void xen_be_init(void)
 {
-    xengnttab_handle *gnttabdev;
-
     xenstore = xs_daemon_open();
     if (!xenstore) {
         xen_pv_printf(NULL, 0, "can't connect to xenstored\n");
@@ -697,19 +602,11 @@ void xen_be_init(void)
 
     qemu_set_fd_handler(xs_fileno(xenstore), xenstore_update, NULL, NULL);
 
-    if (xen_xc == NULL || xen_fmem == NULL) {
+    if (xen_evtchn_ops == NULL || xen_gnttab_ops == NULL) {
         xen_pv_printf(NULL, 0, "Xen operations not set up\n");
         exit(1);
     }
 
-    gnttabdev = xengnttab_open(NULL, 0);
-    if (gnttabdev != NULL) {
-        if (xengnttab_grant_copy(gnttabdev, 0, NULL) == 0) {
-            xen_feature_grant_copy = true;
-        }
-        xengnttab_close(gnttabdev);
-    }
-
     xen_sysdev = qdev_new(TYPE_XENSYSDEV);
     sysbus_realize_and_unref(SYS_BUS_DEVICE(xen_sysdev), &error_fatal);
     xen_sysbus = qbus_new(TYPE_XENSYSBUS, xen_sysdev, "xen-sysbus");
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index 1a959d89e8..2e74a28965 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -21,6 +21,7 @@
  * must be undefined before including xenctrl.h
  */
 #undef XC_WANT_COMPAT_EVTCHN_API
+#undef XC_WANT_COMPAT_GNTTAB_API
 
 #include <xenctrl.h>
 
@@ -43,12 +44,141 @@ typedef evtchn_port_or_error_t xenevtchn_port_or_error_t;
 #define xenevtchn_unmask(h, p) xc_evtchn_unmask(h, p)
 #define xenevtchn_unbind(h, p) xc_evtchn_unbind(h, p)
 
+typedef xc_gnttab xengnttab_handle;
+
+#define xengnttab_open(l, f) xc_gnttab_open(l, f)
+#define xengnttab_close(h) xc_gnttab_close(h)
+#define xengnttab_set_max_grants(h, n) xc_gnttab_set_max_grants(h, n)
+#define xengnttab_map_grant_ref(h, d, r, p) xc_gnttab_map_grant_ref(h, d, r, p)
+#define xengnttab_unmap(h, a, n) xc_gnttab_munmap(h, a, n)
+#define xengnttab_map_grant_refs(h, c, d, r, p) \
+    xc_gnttab_map_grant_refs(h, c, d, r, p)
+#define xengnttab_map_domain_grant_refs(h, c, d, r, p) \
+    xc_gnttab_map_domain_grant_refs(h, c, d, r, p)
+
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
 #include <xenevtchn.h>
+#include <xengnttab.h>
 
 #endif
 
+/* Xen before 4.8 */
+
+static int libxengnttab_fallback_grant_copy(xengnttab_handle *xgt,
+                                            bool to_domain, uint32_t domid,
+                                            XenGrantCopySegment segs[],
+                                            unsigned int nr_segs, Error **errp)
+{
+    uint32_t *refs = g_new(uint32_t, nr_segs);
+    int prot = to_domain ? PROT_WRITE : PROT_READ;
+    void *map;
+    unsigned int i;
+    int rc = 0;
+
+    for (i = 0; i < nr_segs; i++) {
+        XenGrantCopySegment *seg = &segs[i];
+
+        refs[i] = to_domain ? seg->dest.foreign.ref :
+            seg->source.foreign.ref;
+    }
+    map = xengnttab_map_domain_grant_refs(xgt, nr_segs, domid, refs, prot);
+    if (!map) {
+        if (errp) {
+            error_setg_errno(errp, errno,
+                             "xengnttab_map_domain_grant_refs failed");
+        }
+        rc = -errno;
+        goto done;
+    }
+
+    for (i = 0; i < nr_segs; i++) {
+        XenGrantCopySegment *seg = &segs[i];
+        void *page = map + (i * XEN_PAGE_SIZE);
+
+        if (to_domain) {
+            memcpy(page + seg->dest.foreign.offset, seg->source.virt,
+                   seg->len);
+        } else {
+            memcpy(seg->dest.virt, page + seg->source.foreign.offset,
+                   seg->len);
+        }
+    }
+
+    if (xengnttab_unmap(xgt, map, nr_segs)) {
+        if (errp) {
+            error_setg_errno(errp, errno, "xengnttab_unmap failed");
+        }
+        rc = -errno;
+    }
+
+done:
+    g_free(refs);
+    return rc;
+}
+
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
+
+static int libxengnttab_backend_grant_copy(xengnttab_handle *xgt,
+                                           bool to_domain, uint32_t domid,
+                                           XenGrantCopySegment *segs,
+                                           uint32_t nr_segs, Error **errp)
+{
+    xengnttab_grant_copy_segment_t *xengnttab_segs;
+    unsigned int i;
+    int rc;
+
+    xengnttab_segs = g_new0(xengnttab_grant_copy_segment_t, nr_segs);
+
+    for (i = 0; i < nr_segs; i++) {
+        XenGrantCopySegment *seg = &segs[i];
+        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
+
+        if (to_domain) {
+            xengnttab_seg->flags = GNTCOPY_dest_gref;
+            xengnttab_seg->dest.foreign.domid = domid;
+            xengnttab_seg->dest.foreign.ref = seg->dest.foreign.ref;
+            xengnttab_seg->dest.foreign.offset = seg->dest.foreign.offset;
+            xengnttab_seg->source.virt = seg->source.virt;
+        } else {
+            xengnttab_seg->flags = GNTCOPY_source_gref;
+            xengnttab_seg->source.foreign.domid = domid;
+            xengnttab_seg->source.foreign.ref = seg->source.foreign.ref;
+            xengnttab_seg->source.foreign.offset =
+                seg->source.foreign.offset;
+            xengnttab_seg->dest.virt = seg->dest.virt;
+        }
+
+        xengnttab_seg->len = seg->len;
+    }
+
+    if (xengnttab_grant_copy(xgt, nr_segs, xengnttab_segs)) {
+        if (errp) {
+            error_setg_errno(errp, errno, "xengnttab_grant_copy failed");
+        }
+        rc = -errno;
+        goto done;
+    }
+
+    rc = 0;
+    for (i = 0; i < nr_segs; i++) {
+        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
+
+        if (xengnttab_seg->status != GNTST_okay) {
+            if (errp) {
+                error_setg(errp, "xengnttab_grant_copy seg[%u] failed", i);
+            }
+            rc = -EIO;
+            break;
+        }
+    }
+
+done:
+    g_free(xengnttab_segs);
+    return rc;
+}
+#endif
+
 static xenevtchn_handle *libxenevtchn_backend_open(void)
 {
     return xenevtchn_open(NULL, 0);
@@ -65,7 +195,34 @@ struct evtchn_backend_ops libxenevtchn_backend_ops = {
     .pending = xenevtchn_pending,
 };
 
+static xengnttab_handle *libxengnttab_backend_open(void)
+{
+    return xengnttab_open(NULL, 0);
+}
+
+
+static struct gnttab_backend_ops libxengnttab_backend_ops = {
+    .features = XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE,
+    .open = libxengnttab_backend_open,
+    .close = xengnttab_close,
+    .grant_copy = libxengnttab_fallback_grant_copy,
+    .set_max_grants = xengnttab_set_max_grants,
+    .map_refs = xengnttab_map_domain_grant_refs,
+    .unmap = xengnttab_unmap,
+};
+
 void setup_xen_backend_ops(void)
 {
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
+    xengnttab_handle *xgt = xengnttab_open(NULL, 0);
+
+    if (xgt) {
+        if (xengnttab_grant_copy(xgt, 0, NULL) == 0) {
+            libxengnttab_backend_ops.grant_copy = libxengnttab_backend_grant_copy;
+        }
+        xengnttab_close(xgt);
+    }
+#endif
     xen_evtchn_ops = &libxenevtchn_backend_ops;
+    xen_gnttab_ops = &libxengnttab_backend_ops;
 }
diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
index 86a2c8e567..d8582cc74c 100644
--- a/hw/xen/xen_pvdev.c
+++ b/hw/xen/xen_pvdev.c
@@ -309,7 +309,7 @@ void xen_pv_del_xendev(struct XenLegacyDevice *xendev)
         qemu_xen_evtchn_close(xendev->evtchndev);
     }
     if (xendev->gnttabdev != NULL) {
-        xengnttab_close(xendev->gnttabdev);
+        qemu_xen_gnttab_close(xendev->gnttabdev);
     }
 
     QTAILQ_REMOVE(&xendevs, xendev, next);
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index e21b83796e..72d71d1eb7 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -9,7 +9,7 @@
 #define HW_XEN_BUS_H
 
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/xen_common.h"
+#include "hw/xen/interface/io/xenbus.h"
 #include "hw/sysbus.h"
 #include "qemu/notify.h"
 #include "qom/object.h"
@@ -33,7 +33,6 @@ struct XenDevice {
     bool backend_online;
     XenWatch *backend_online_watch;
     xengnttab_handle *xgth;
-    bool feature_grant_copy;
     bool inactive;
     QLIST_HEAD(, XenEventChannel) event_channels;
     QLIST_ENTRY(XenDevice) list;
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index 06985b1f03..eaf79cd221 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -1,8 +1,8 @@
 #ifndef HW_XEN_LEGACY_BACKEND_H
 #define HW_XEN_LEGACY_BACKEND_H
 
-#include "hw/xen/xen_common.h"
 #include "hw/xen/xen_backend_ops.h"
+#include "hw/xen/interface/io/xenbus.h"
 #include "hw/xen/xen_pvdev.h"
 #include "net/net.h"
 #include "qom/object.h"
@@ -54,17 +54,6 @@ void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
 void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
                              unsigned int nr_refs);
 
-typedef struct XenGrantCopySegment {
-    union {
-        void *virt;
-        struct {
-            uint32_t ref;
-            off_t offset;
-        } foreign;
-    } source, dest;
-    size_t len;
-} XenGrantCopySegment;
-
 int xen_be_copy_grant_refs(struct XenLegacyDevice *xendev,
                            bool to_domain, XenGrantCopySegment segs[],
                            unsigned int nr_segs);
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
index 9605456e81..bb3333ab00 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -29,6 +29,12 @@
 typedef struct xenevtchn_handle xenevtchn_handle;
 typedef int xenevtchn_port_or_error_t;
 typedef uint32_t evtchn_port_t;
+typedef uint16_t domid_t;
+typedef uint32_t grant_ref_t;
+
+#define XEN_PAGE_SHIFT       12
+#define XEN_PAGE_SIZE        (1UL << XEN_PAGE_SHIFT)
+#define XEN_PAGE_MASK        (~(XEN_PAGE_SIZE - 1))
 
 struct evtchn_backend_ops {
     xenevtchn_handle *(*open)(void);
@@ -113,6 +119,100 @@ static inline int qemu_xen_evtchn_pending(xenevtchn_handle *xc)
     return xen_evtchn_ops->pending(xc);
 }
 
+typedef struct xengntdev_handle xengnttab_handle;
+
+typedef struct XenGrantCopySegment {
+    union {
+        void *virt;
+        struct {
+            uint32_t ref;
+            off_t offset;
+        } foreign;
+    } source, dest;
+    size_t len;
+} XenGrantCopySegment;
+
+#define XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE  (1U << 0)
+
+struct gnttab_backend_ops {
+    uint32_t features;
+    xengnttab_handle *(*open)(void);
+    int (*close)(xengnttab_handle *xgt);
+    int (*grant_copy)(xengnttab_handle *xgt, bool to_domain, uint32_t domid,
+                      XenGrantCopySegment *segs, uint32_t nr_segs,
+                      Error **errp);
+    int (*set_max_grants)(xengnttab_handle *xgt, uint32_t nr_grants);
+    void *(*map_refs)(xengnttab_handle *xgt, uint32_t count, uint32_t domid,
+                      uint32_t *refs, int prot);
+    int (*unmap)(xengnttab_handle *xgt, void *start_address, uint32_t count);
+};
+
+extern struct gnttab_backend_ops *xen_gnttab_ops;
+
+static inline bool qemu_xen_gnttab_can_map_multi(void)
+{
+    return xen_gnttab_ops &&
+        !!(xen_gnttab_ops->features & XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE);
+}
+
+static inline xengnttab_handle *qemu_xen_gnttab_open(void)
+{
+    if (!xen_gnttab_ops) {
+        return NULL;
+    }
+    return xen_gnttab_ops->open();
+}
+
+static inline int qemu_xen_gnttab_close(xengnttab_handle *xgt)
+{
+    if (!xen_gnttab_ops) {
+        return -ENOSYS;
+    }
+    return xen_gnttab_ops->close(xgt);
+}
+
+static inline int qemu_xen_gnttab_grant_copy(xengnttab_handle *xgt,
+                                             bool to_domain, uint32_t domid,
+                                             XenGrantCopySegment *segs,
+                                             uint32_t nr_segs, Error **errp)
+{
+    if (!xen_gnttab_ops) {
+        return -ENOSYS;
+    }
+
+    return xen_gnttab_ops->grant_copy(xgt, to_domain, domid, segs, nr_segs,
+                                      errp);
+}
+
+static inline int qemu_xen_gnttab_set_max_grants(xengnttab_handle *xgt,
+                                                 uint32_t nr_grants)
+{
+    if (!xen_gnttab_ops) {
+        return -ENOSYS;
+    }
+    return xen_gnttab_ops->set_max_grants(xgt, nr_grants);
+}
+
+static inline void *qemu_xen_gnttab_map_refs(xengnttab_handle *xgt,
+                                             uint32_t count, uint32_t domid,
+                                             uint32_t *refs, int prot)
+{
+    if (!xen_gnttab_ops) {
+        return NULL;
+    }
+    return xen_gnttab_ops->map_refs(xgt, count, domid, refs, prot);
+}
+
+static inline int qemu_xen_gnttab_unmap(xengnttab_handle *xgt,
+                                        void *start_address,
+                                        uint32_t count)
+{
+    if (!xen_gnttab_ops) {
+        return -ENOSYS;
+    }
+    return xen_gnttab_ops->unmap(xgt, start_address, count);
+}
+
 void setup_xen_backend_ops(void);
 
 #endif /* QEMU_XEN_BACKEND_OPS_H */
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 34abd0a772..d4d10d3ff1 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -28,17 +28,6 @@ extern xc_interface *xen_xc;
 #if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40701
 
 typedef xc_interface xenforeignmemory_handle;
-typedef xc_gnttab xengnttab_handle;
-
-#define xengnttab_open(l, f) xc_gnttab_open(l, f)
-#define xengnttab_close(h) xc_gnttab_close(h)
-#define xengnttab_set_max_grants(h, n) xc_gnttab_set_max_grants(h, n)
-#define xengnttab_map_grant_ref(h, d, r, p) xc_gnttab_map_grant_ref(h, d, r, p)
-#define xengnttab_unmap(h, a, n) xc_gnttab_munmap(h, a, n)
-#define xengnttab_map_grant_refs(h, c, d, r, p) \
-    xc_gnttab_map_grant_refs(h, c, d, r, p)
-#define xengnttab_map_domain_grant_refs(h, c, d, r, p) \
-    xc_gnttab_map_domain_grant_refs(h, c, d, r, p)
 
 #define xenforeignmemory_open(l, f) xen_xc
 #define xenforeignmemory_close(h)
@@ -58,7 +47,6 @@ static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
 
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
-#include <xengnttab.h>
 #include <xenforeignmemory.h>
 
 #endif
@@ -648,31 +636,4 @@ static inline int xen_set_ioreq_server_state(domid_t dom,
 
 #endif
 
-/* Xen before 4.8 */
-
-#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40800
-
-struct xengnttab_grant_copy_segment {
-    union xengnttab_copy_ptr {
-        void *virt;
-        struct {
-            uint32_t ref;
-            uint16_t offset;
-            uint16_t domid;
-        } foreign;
-    } source, dest;
-    uint16_t len;
-    uint16_t flags;
-    int16_t status;
-};
-
-typedef struct xengnttab_grant_copy_segment xengnttab_grant_copy_segment_t;
-
-static inline int xengnttab_grant_copy(xengnttab_handle *xgt, uint32_t count,
-                                       xengnttab_grant_copy_segment_t *segs)
-{
-    return -ENOSYS;
-}
-#endif
-
 #endif /* QEMU_HW_XEN_COMMON_H */
diff --git a/softmmu/globals.c b/softmmu/globals.c
index eb62739be1..23bb27f0f6 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -66,3 +66,4 @@ uint32_t xen_domid;
 enum xen_mode xen_mode = XEN_DISABLED;
 bool xen_domid_restrict;
 struct evtchn_backend_ops *xen_evtchn_ops;
+struct gnttab_backend_ops *xen_gnttab_ops;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:19:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:19:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507712.781676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZay0-0004D4-Kj; Tue, 07 Mar 2023 17:19:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507712.781676; Tue, 07 Mar 2023 17:19: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 1pZay0-00049t-D3; Tue, 07 Mar 2023 17:19:12 +0000
Received: by outflank-mailman (input) for mailman id 507712;
 Tue, 07 Mar 2023 17:19: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax6-0000az-Bf
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:16 +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 07bc4283-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:08 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawk-00H603-0y; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009chX-0d; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 07bc4283-bd0c-11ed-96b5-2f268f93b82a
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=yLfdfhFfpzIiC10jnf83iQrGV+u+nSCwEnuPCHzafX8=; b=bzLQIlKOEnGlNfSs1e282NuIEG
	XST54qfEngnopC3MWaaXtNVsFhysAvyOK9Mdrs+2gp9vC/c6dYJ4GEOYqM8EYpOL50rF2WtoOEOsb
	k0kpVcmS1FsD8KqS5s5RpgnyQGd5soShT4HC0xFLH2lnHtjJiffkepx9S4sgZejHjH8jFjZ2e21WQ
	kmgezJFMmzZddWopEmzdR1ymk/Lsl7dUQltwr5ZZII8UM8jefSdMY4n0JqgInaItkbQ3SNSCGuFi7
	bMlPMs68UpoYeXaL7XJlz1+servEECPSOFJvBr8eyeTLsnm/BKASEWdXWPSsgG1IgXJ1xf0PfsM9J
	WinXaQ9Q==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 16/27] hw/xen: Rename xen_common.h to xen_native.h
Date: Tue,  7 Mar 2023 17:17:39 +0000
Message-Id: <20230307171750.2293175-17-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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 header is now only for native Xen code, not PV backends that may be
used in Xen emulation. Since the toolstack libraries may depend on the
specific version of Xen headers that they pull in (and will set the
__XEN_TOOLS__ macro to enable internal definitions that they depend on),
the rule is that xen_native.h (and thus the toolstack library headers)
must be included *before* any of the headers in include/hw/xen/interface.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 accel/xen/xen-all.c                           |  1 +
 hw/9pfs/xen-9p-backend.c                      |  1 +
 hw/block/dataplane/xen-block.c                |  3 ++-
 hw/block/xen-block.c                          |  1 -
 hw/i386/pc_piix.c                             |  4 ++--
 hw/i386/xen/xen-hvm.c                         | 11 +++++-----
 hw/i386/xen/xen-mapcache.c                    |  2 +-
 hw/i386/xen/xen_platform.c                    |  7 +++---
 hw/xen/trace-events                           |  2 +-
 hw/xen/xen-operations.c                       |  2 +-
 hw/xen/xen_pt.c                               |  2 +-
 hw/xen/xen_pt.h                               |  2 +-
 hw/xen/xen_pt_config_init.c                   |  2 +-
 hw/xen/xen_pt_msi.c                           |  4 ++--
 include/hw/xen/xen.h                          | 22 ++++++++++++-------
 include/hw/xen/{xen_common.h => xen_native.h} | 10 ++++++---
 include/hw/xen/xen_pvdev.h                    |  3 ++-
 17 files changed, 47 insertions(+), 32 deletions(-)
 rename include/hw/xen/{xen_common.h => xen_native.h} (98%)

diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index 2d51c41e40..00221e23c5 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -12,6 +12,7 @@
 #include "qemu/error-report.h"
 #include "qemu/module.h"
 #include "qapi/error.h"
+#include "hw/xen/xen_native.h"
 #include "hw/xen/xen-legacy-backend.h"
 #include "hw/xen/xen_pt.h"
 #include "chardev/char.h"
diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
index d8bb0e847c..74f3a05f88 100644
--- a/hw/9pfs/xen-9p-backend.c
+++ b/hw/9pfs/xen-9p-backend.c
@@ -22,6 +22,7 @@
 #include "qemu/config-file.h"
 #include "qemu/main-loop.h"
 #include "qemu/option.h"
+#include "qemu/iov.h"
 #include "fsdev/qemu-fsdev.h"
 
 #define VERSIONS "1"
diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index 8322a1de82..734da42ea7 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -23,8 +23,9 @@
 #include "qemu/main-loop.h"
 #include "qemu/memalign.h"
 #include "qapi/error.h"
-#include "hw/xen/xen_common.h"
+#include "hw/xen/xen.h"
 #include "hw/block/xen_blkif.h"
+#include "hw/xen/interface/io/ring.h"
 #include "sysemu/block-backend.h"
 #include "sysemu/iothread.h"
 #include "xen-block.h"
diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 345b284d70..87299615e3 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -19,7 +19,6 @@
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "qom/object_interfaces.h"
-#include "hw/xen/xen_common.h"
 #include "hw/block/xen_blkif.h"
 #include "hw/qdev-properties.h"
 #include "hw/xen/xen-block.h"
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 4bf15f9c1f..30eedd62a3 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -47,8 +47,6 @@
 #include "hw/kvm/clock.h"
 #include "hw/sysbus.h"
 #include "hw/i2c/smbus_eeprom.h"
-#include "hw/xen/xen-x86.h"
-#include "hw/xen/xen.h"
 #include "exec/memory.h"
 #include "hw/acpi/acpi.h"
 #include "hw/acpi/piix4.h"
@@ -60,6 +58,8 @@
 #include <xen/hvm/hvm_info_table.h>
 #include "hw/xen/xen_pt.h"
 #endif
+#include "hw/xen/xen-x86.h"
+#include "hw/xen/xen.h"
 #include "migration/global_state.h"
 #include "migration/misc.h"
 #include "sysemu/numa.h"
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index cb1d24f592..56641a550e 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -18,7 +18,7 @@
 #include "hw/irq.h"
 #include "hw/hw.h"
 #include "hw/i386/apic-msidef.h"
-#include "hw/xen/xen_common.h"
+#include "hw/xen/xen_native.h"
 #include "hw/xen/xen-legacy-backend.h"
 #include "hw/xen/xen-bus.h"
 #include "hw/xen/xen-x86.h"
@@ -52,10 +52,11 @@ static bool xen_in_migration;
 
 /* Compatibility with older version */
 
-/* This allows QEMU to build on a system that has Xen 4.5 or earlier
- * installed.  This here (not in hw/xen/xen_common.h) because xen/hvm/ioreq.h
- * needs to be included before this block and hw/xen/xen_common.h needs to
- * be included before xen/hvm/ioreq.h
+/*
+ * This allows QEMU to build on a system that has Xen 4.5 or earlier installed.
+ * This is here (not in hw/xen/xen_native.h) because xen/hvm/ioreq.h needs to
+ * be included before this block and hw/xen/xen_native.h needs to be included
+ * before xen/hvm/ioreq.h
  */
 #ifndef IOREQ_TYPE_VMWARE_PORT
 #define IOREQ_TYPE_VMWARE_PORT  3
diff --git a/hw/i386/xen/xen-mapcache.c b/hw/i386/xen/xen-mapcache.c
index 1d0879d234..f7d974677d 100644
--- a/hw/i386/xen/xen-mapcache.c
+++ b/hw/i386/xen/xen-mapcache.c
@@ -14,7 +14,7 @@
 
 #include <sys/resource.h>
 
-#include "hw/xen/xen-legacy-backend.h"
+#include "hw/xen/xen_native.h"
 #include "qemu/bitmap.h"
 
 #include "sysemu/runstate.h"
diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index 539f7da374..57f1d742c1 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -28,7 +28,6 @@
 #include "hw/ide/pci.h"
 #include "hw/pci/pci.h"
 #include "migration/vmstate.h"
-#include "hw/xen/xen.h"
 #include "net/net.h"
 #include "trace.h"
 #include "sysemu/xen.h"
@@ -38,10 +37,12 @@
 #include "qom/object.h"
 
 #ifdef CONFIG_XEN
-#include "hw/xen/xen_common.h"
-#include "hw/xen/xen-legacy-backend.h"
+#include "hw/xen/xen_native.h"
 #endif
 
+/* The rule is that xen_native.h must come first */
+#include "hw/xen/xen.h"
+
 //#define DEBUG_PLATFORM
 
 #ifdef DEBUG_PLATFORM
diff --git a/hw/xen/trace-events b/hw/xen/trace-events
index 3da3fd8348..55c9e1df68 100644
--- a/hw/xen/trace-events
+++ b/hw/xen/trace-events
@@ -1,6 +1,6 @@
 # See docs/devel/tracing.rst for syntax documentation.
 
-# ../../include/hw/xen/xen_common.h
+# ../../include/hw/xen/xen_native.h
 xen_default_ioreq_server(void) ""
 xen_ioreq_server_create(uint32_t id) "id: %u"
 xen_ioreq_server_destroy(uint32_t id) "id: %u"
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index abed812b63..4b78fbf4bd 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -13,8 +13,8 @@
 #include "qemu/uuid.h"
 #include "qapi/error.h"
 
+#include "hw/xen/xen_native.h"
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/xen_common.h"
 
 /*
  * If we have new enough libxenctrl then we do not want/need these compat
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index 85c93cffcf..2d33d178ad 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -60,9 +60,9 @@
 #include "hw/pci/pci_bus.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
+#include "xen_pt.h"
 #include "hw/xen/xen.h"
 #include "hw/xen/xen-legacy-backend.h"
-#include "xen_pt.h"
 #include "qemu/range.h"
 
 static bool has_igd_gfx_passthru;
diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
index e184699740..b20744f7c7 100644
--- a/hw/xen/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -1,7 +1,7 @@
 #ifndef XEN_PT_H
 #define XEN_PT_H
 
-#include "hw/xen/xen_common.h"
+#include "hw/xen/xen_native.h"
 #include "xen-host-pci-device.h"
 #include "qom/object.h"
 
diff --git a/hw/xen/xen_pt_config_init.c b/hw/xen/xen_pt_config_init.c
index 8b9b554352..2b8680b112 100644
--- a/hw/xen/xen_pt_config_init.c
+++ b/hw/xen/xen_pt_config_init.c
@@ -15,8 +15,8 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu/timer.h"
-#include "hw/xen/xen-legacy-backend.h"
 #include "xen_pt.h"
+#include "hw/xen/xen-legacy-backend.h"
 
 #define XEN_PT_MERGE_VALUE(value, data, val_mask) \
     (((value) & (val_mask)) | ((data) & ~(val_mask)))
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index b71563f98a..09cca4eecb 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -11,9 +11,9 @@
 
 #include "qemu/osdep.h"
 
-#include "hw/xen/xen-legacy-backend.h"
-#include "xen_pt.h"
 #include "hw/i386/apic-msidef.h"
+#include "xen_pt.h"
+#include "hw/xen/xen-legacy-backend.h"
 
 
 #define XEN_PT_AUTO_ASSIGN -1
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index 56b1c2a827..2bd8ec742d 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -8,15 +8,21 @@
 #define QEMU_HW_XEN_H
 
 /*
- * As a temporary measure while the headers are being untangled, define
- * __XEN_TOOLS__ here before any Xen headers are included. Otherwise, if
- * the Xen toolstack library headers are later included, they will find
- * some of the "internal" definitions missing and the build will fail. In
- * later commits, we'll end up with a rule that the native libraries have
- * to be included first, which will ensure that the libraries get the
- * version of Xen libraries that they expect.
+ * C files using Xen toolstack libraries will have included those headers
+ * already via xen_native.h, and having __XEM_TOOLS__ defined will have
+ * automatically set __XEN_INTERFACE_VERSION__ to the latest supported
+ * by the *system* Xen headers which were transitively included.
+ *
+ * C files which are part of the internal emulation, and which did not
+ * include xen_native.h, may need this defined so that the Xen headers
+ * imported to include/hw/xen/interface/ will expose the appropriate API
+ * version.
+ *
+ * This is why there's a rule that xen_native.h must be included first.
  */
-#define __XEN_TOOLS__ 1
+#ifndef __XEN_INTERFACE_VERSION__
+#define __XEN_INTERFACE_VERSION__ 0x00040e00
+#endif
 
 #include "exec/cpu-common.h"
 
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_native.h
similarity index 98%
rename from include/hw/xen/xen_common.h
rename to include/hw/xen/xen_native.h
index 7edcf3eb25..6bcc83baf9 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_native.h
@@ -1,5 +1,9 @@
-#ifndef QEMU_HW_XEN_COMMON_H
-#define QEMU_HW_XEN_COMMON_H
+#ifndef QEMU_HW_XEN_NATIVE_H
+#define QEMU_HW_XEN_NATIVE_H
+
+#ifdef __XEN_INTERFACE_VERSION__
+#error In Xen native files, include xen_native.h before other Xen headers
+#endif
 
 /*
  * If we have new enough libxenctrl then we do not want/need these compat
@@ -622,4 +626,4 @@ static inline int xen_set_ioreq_server_state(domid_t dom,
 
 #endif
 
-#endif /* QEMU_HW_XEN_COMMON_H */
+#endif /* QEMU_HW_XEN_NATIVE_H */
diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h
index d8eea353b8..ddad4b9f36 100644
--- a/include/hw/xen/xen_pvdev.h
+++ b/include/hw/xen/xen_pvdev.h
@@ -1,8 +1,9 @@
 #ifndef QEMU_HW_XEN_PVDEV_H
 #define QEMU_HW_XEN_PVDEV_H
 
+#include "hw/qdev-core.h"
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/xen_common.h"
+
 /* ------------------------------------------------------------- */
 
 #define XEN_BUFSIZE 1024
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:19:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:19:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507721.781689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZay6-0004z1-4T; Tue, 07 Mar 2023 17:19:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507721.781689; Tue, 07 Mar 2023 17: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 1pZay5-0004yc-Vk; Tue, 07 Mar 2023 17:19:17 +0000
Received: by outflank-mailman (input) for mailman id 507721;
 Tue, 07 Mar 2023 17:19: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax4-0000az-BO
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:14 +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 074b0ad5-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:08 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawk-00H60E-26; Tue, 07 Mar 2023 17:17:55 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawk-009chz-1i; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 074b0ad5-bd0c-11ed-96b5-2f268f93b82a
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=yg+OFEBFF3+21SsIrUO1tzv9aOwp5zwn1R5A2GNkukQ=; b=HOYfvK8EEnfEevtbK08bRXz3uU
	fTZr6stoL22M+duWj6+pqTKiCX5IoksUmDwk3rqRTz7361JpMaKuum3AqdGZ/n+6UelUyjeiNzVAi
	EtiGwoEWzlV/Lk9h9AsCWs4NY6OSS+cNdNKVBr+fikIsUepMGSJzYe1Bj3CaGuubuQ5nWVztfXNjB
	Bz98J4zOsc96NG4PdO+/EDoPOw3H7Cy2dbnFo2GicoG/LB9Q//xbFFw50qW6apvbAEMCMcNiaHDL0
	fChThp/6i4pUlw2tRq3w+6iPnFRHp2uRqTpwGXtiiyGDNOMIDS0RjcbaYs/ku+6Y9/hr2xgMILtHL
	be8yj6gQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 22/27] hw/xen: Add emulated implementation of XenStore operations
Date: Tue,  7 Mar 2023 17:17:45 +0000
Message-Id: <20230307171750.2293175-23-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>

Now that we have an internal implementation of XenStore, we can populate
the xenstore_backend_ops to allow PV backends to talk to it.

Watches can't be processed with immediate callbacks because that would
call back into XenBus code recursively. Defer them to a QEMUBH to be run
as appropriate from the main loop. We use a QEMUBH per XS handle, and it
walks all the watches (there shouldn't be many per handle) to fire any
which have pending events. We *could* have done it differently but this
allows us to use the same struct watch_event as we have for the guest
side, and keeps things relatively simple.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c | 273 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 269 insertions(+), 4 deletions(-)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 35898e9b37..bf466c71ed 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -49,7 +49,7 @@ struct XenXenstoreState {
     /*< public >*/
 
     XenstoreImplState *impl;
-    GList *watch_events;
+    GList *watch_events; /* for the guest */
 
     MemoryRegion xenstore_page;
     struct xenstore_domain_interface *xs;
@@ -73,6 +73,8 @@ struct XenXenstoreState *xen_xenstore_singleton;
 static void xen_xenstore_event(void *opaque);
 static void fire_watch_cb(void *opaque, const char *path, const char *token);
 
+static struct xenstore_backend_ops emu_xenstore_backend_ops;
+
 static void G_GNUC_PRINTF (4, 5) relpath_printf(XenXenstoreState *s,
                                                 GList *perms,
                                                 const char *relpath,
@@ -169,6 +171,8 @@ static void xen_xenstore_realize(DeviceState *dev, Error **errp)
     relpath_printf(s, perms, "feature", "%s", "");
 
     g_list_free_full(perms, g_free);
+
+    xen_xenstore_ops = &emu_xenstore_backend_ops;
 }
 
 static bool xen_xenstore_is_needed(void *opaque)
@@ -1306,6 +1310,15 @@ struct watch_event {
     char *token;
 };
 
+static void free_watch_event(struct watch_event *ev)
+{
+    if (ev) {
+        g_free(ev->path);
+        g_free(ev->token);
+        g_free(ev);
+    }
+}
+
 static void queue_watch(XenXenstoreState *s, const char *path,
                         const char *token)
 {
@@ -1352,9 +1365,7 @@ static void process_watch_events(XenXenstoreState *s)
     deliver_watch(s, ev->path, ev->token);
 
     s->watch_events = g_list_remove(s->watch_events, ev);
-    g_free(ev->path);
-    g_free(ev->token);
-    g_free(ev);
+    free_watch_event(ev);
 }
 
 static void xen_xenstore_event(void *opaque)
@@ -1444,3 +1455,257 @@ int xen_xenstore_reset(void)
 
     return 0;
 }
+
+struct qemu_xs_handle {
+    XenstoreImplState *impl;
+    GList *watches;
+    QEMUBH *watch_bh;
+};
+
+struct qemu_xs_watch {
+    struct qemu_xs_handle *h;
+    char *path;
+    xs_watch_fn fn;
+    void *opaque;
+    GList *events;
+};
+
+static char *xs_be_get_domain_path(struct qemu_xs_handle *h, unsigned int domid)
+{
+    return g_strdup_printf("/local/domain/%u", domid);
+}
+
+static char **xs_be_directory(struct qemu_xs_handle *h, xs_transaction_t t,
+                              const char *path, unsigned int *num)
+{
+    GList *items = NULL, *l;
+    unsigned int i = 0;
+    char **items_ret;
+    int err;
+
+    err = xs_impl_directory(h->impl, DOMID_QEMU, t, path, NULL, &items);
+    if (err) {
+        errno = err;
+        return NULL;
+    }
+
+    items_ret = g_new0(char *, g_list_length(items) + 1);
+    *num = 0;
+    for (l = items; l; l = l->next) {
+        items_ret[i++] = l->data;
+        (*num)++;
+    }
+    g_list_free(items);
+    return items_ret;
+}
+
+static void *xs_be_read(struct qemu_xs_handle *h, xs_transaction_t t,
+                        const char *path, unsigned int *len)
+{
+    GByteArray *data = g_byte_array_new();
+    bool free_segment = false;
+    int err;
+
+    err = xs_impl_read(h->impl, DOMID_QEMU, t, path, data);
+    if (err) {
+        free_segment = true;
+        errno = err;
+    } else {
+        if (len) {
+            *len = data->len;
+        }
+        /* The xen-bus-helper code expects to get NUL terminated string! */
+        g_byte_array_append(data, (void *)"", 1);
+    }
+
+    return g_byte_array_free(data, free_segment);
+}
+
+static bool xs_be_write(struct qemu_xs_handle *h, xs_transaction_t t,
+                        const char *path, const void *data, unsigned int len)
+{
+    GByteArray *gdata = g_byte_array_new();
+    int err;
+
+    g_byte_array_append(gdata, data, len);
+    err = xs_impl_write(h->impl, DOMID_QEMU, t, path, gdata);
+    g_byte_array_unref(gdata);
+    if (err) {
+        errno = err;
+        return false;
+    }
+    return true;
+}
+
+static bool xs_be_create(struct qemu_xs_handle *h, xs_transaction_t t,
+                         unsigned int owner, unsigned int domid,
+                         unsigned int perms, const char *path)
+{
+    g_autoptr(GByteArray) data = g_byte_array_new();
+    GList *perms_list = NULL;
+    int err;
+
+    /* mkdir does this */
+    err = xs_impl_read(h->impl, DOMID_QEMU, t, path, data);
+    if (err == ENOENT) {
+        err = xs_impl_write(h->impl, DOMID_QEMU, t, path, data);
+    }
+    if (err) {
+        errno = err;
+        return false;
+    }
+
+    perms_list = g_list_append(perms_list,
+                               xs_perm_as_string(XS_PERM_NONE, owner));
+    perms_list = g_list_append(perms_list,
+                               xs_perm_as_string(perms, domid));
+
+    err = xs_impl_set_perms(h->impl, DOMID_QEMU, t, path, perms_list);
+    g_list_free_full(perms_list, g_free);
+    if (err) {
+        errno = err;
+        return false;
+    }
+    return true;
+}
+
+static bool xs_be_destroy(struct qemu_xs_handle *h, xs_transaction_t t,
+                          const char *path)
+{
+    int err = xs_impl_rm(h->impl, DOMID_QEMU, t, path);
+    if (err) {
+        errno = err;
+        return false;
+    }
+    return true;
+}
+
+static void be_watch_bh(void *_h)
+{
+    struct qemu_xs_handle *h = _h;
+    GList *l;
+
+    for (l = h->watches; l; l = l->next) {
+        struct qemu_xs_watch *w = l->data;
+
+        while (w->events) {
+            struct watch_event *ev = w->events->data;
+
+            w->fn(w->opaque, ev->path);
+
+            w->events = g_list_remove(w->events, ev);
+            free_watch_event(ev);
+        }
+    }
+}
+
+static void xs_be_watch_cb(void *opaque, const char *path, const char *token)
+{
+    struct watch_event *ev = g_new0(struct watch_event, 1);
+    struct qemu_xs_watch *w = opaque;
+
+    /* We don't care about the token */
+    ev->path = g_strdup(path);
+    w->events = g_list_append(w->events, ev);
+
+    qemu_bh_schedule(w->h->watch_bh);
+}
+
+static struct qemu_xs_watch *xs_be_watch(struct qemu_xs_handle *h,
+                                         const char *path, xs_watch_fn fn,
+                                         void *opaque)
+{
+    struct qemu_xs_watch *w = g_new0(struct qemu_xs_watch, 1);
+    int err;
+
+    w->h = h;
+    w->fn = fn;
+    w->opaque = opaque;
+
+    err = xs_impl_watch(h->impl, DOMID_QEMU, path, NULL, xs_be_watch_cb, w);
+    if (err) {
+        errno = err;
+        g_free(w);
+        return NULL;
+    }
+
+    w->path = g_strdup(path);
+    h->watches = g_list_append(h->watches, w);
+    return w;
+}
+
+static void xs_be_unwatch(struct qemu_xs_handle *h, struct qemu_xs_watch *w)
+{
+    xs_impl_unwatch(h->impl, DOMID_QEMU, w->path, NULL, xs_be_watch_cb, w);
+
+    h->watches = g_list_remove(h->watches, w);
+    g_list_free_full(w->events, (GDestroyNotify)free_watch_event);
+    g_free(w->path);
+    g_free(w);
+}
+
+static xs_transaction_t xs_be_transaction_start(struct qemu_xs_handle *h)
+{
+    unsigned int new_tx = XBT_NULL;
+    int err = xs_impl_transaction_start(h->impl, DOMID_QEMU, &new_tx);
+    if (err) {
+        errno = err;
+        return XBT_NULL;
+    }
+    return new_tx;
+}
+
+static bool xs_be_transaction_end(struct qemu_xs_handle *h, xs_transaction_t t,
+                                  bool abort)
+{
+    int err = xs_impl_transaction_end(h->impl, DOMID_QEMU, t, !abort);
+    if (err) {
+        errno = err;
+        return false;
+    }
+    return true;
+}
+
+static struct qemu_xs_handle *xs_be_open(void)
+{
+    XenXenstoreState *s = xen_xenstore_singleton;
+    struct qemu_xs_handle *h;
+
+    if (!s && !s->impl) {
+        errno = -ENOSYS;
+        return NULL;
+    }
+
+    h = g_new0(struct qemu_xs_handle, 1);
+    h->impl = s->impl;
+
+    h->watch_bh = aio_bh_new(qemu_get_aio_context(), be_watch_bh, h);
+
+    return h;
+}
+
+static void xs_be_close(struct qemu_xs_handle *h)
+{
+    while (h->watches) {
+        struct qemu_xs_watch *w = h->watches->data;
+        xs_be_unwatch(h, w);
+    }
+
+    qemu_bh_delete(h->watch_bh);
+    g_free(h);
+}
+
+static struct xenstore_backend_ops emu_xenstore_backend_ops = {
+    .open = xs_be_open,
+    .close = xs_be_close,
+    .get_domain_path = xs_be_get_domain_path,
+    .directory = xs_be_directory,
+    .read = xs_be_read,
+    .write = xs_be_write,
+    .create = xs_be_create,
+    .destroy = xs_be_destroy,
+    .watch = xs_be_watch,
+    .unwatch = xs_be_unwatch,
+    .transaction_start = xs_be_transaction_start,
+    .transaction_end = xs_be_transaction_end,
+};
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:19:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:19:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507729.781699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZayH-0006S7-FF; Tue, 07 Mar 2023 17:19:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507729.781699; Tue, 07 Mar 2023 17:19: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 1pZayH-0006Ru-CQ; Tue, 07 Mar 2023 17:19:29 +0000
Received: by outflank-mailman (input) for mailman id 507729;
 Tue, 07 Mar 2023 17:19: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZax7-0000az-Bn
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:18:17 +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 07d92301-bd0c-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:18:09 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZawj-00H5zw-26; Tue, 07 Mar 2023 17:17:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZawj-009cgn-1i; Tue, 07 Mar 2023 17:17: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
X-Inumbo-ID: 07d92301-bd0c-11ed-96b5-2f268f93b82a
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=BkYMrTPfiwe8ful5EeikJA8cZYk3rSUcxns06e108Rc=; b=iQ6P9mu3t78OOU5Y6cWsRbv3pK
	dKT67jpXHqn2q1bA9a7EDYsYVvvDizXswDjzHLm33jScK93gYstZO01dDWUb5tpCv2qR3wkU19rT9
	Zcryx96TCLdkltiK/i+HF2SF1oGmCksgXYInAYOVxAIayz+AZsxpF4ZzdhGauFk7IcoQmoQChn74d
	rM6xPorjVfZxCJXQMfNUcBUDn6HS3LSVmdGPKctVq7yfkug5Yhmq0SsAdbqvaJkIMfGGNDdBgCTx2
	CgawsjBEpNfkvL7zewNKnF6R2Lg19zHMbH9SzNo3SSTQ6slOClPyjfeaOSWCYD0N1geVD/lQGWwKo
	cbpupqTQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>
Subject: [PATCH v2 05/27] hw/xen: Watches on XenStore transactions
Date: Tue,  7 Mar 2023 17:17:28 +0000
Message-Id: <20230307171750.2293175-6-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
References: <20230307171750.2293175-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>

Firing watches on the nodes that still exist is relatively easy; just
walk the tree and look at the nodes with refcount of one.

Firing watches on *deleted* nodes is more fun. We add 'modified_in_tx'
and 'deleted_in_tx' flags to each node. Nodes with those flags cannot
be shared, as they will always be unique to the transaction in which
they were created.

When xs_node_walk would need to *create* a node as scaffolding and it
encounters a deleted_in_tx node, it can resurrect it simply by clearing
its deleted_in_tx flag. If that node originally had any *data*, they're
gone, and the modified_in_tx flag will have been set when it was first
deleted.

We then attempt to send appropriate watches when the transaction is
committed, properly delete the deleted_in_tx nodes, and remove the
modified_in_tx flag from the others.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xenstore_impl.c | 151 ++++++++++++++++++++++-
 tests/unit/test-xs-node.c   | 231 +++++++++++++++++++++++++++++++++++-
 2 files changed, 380 insertions(+), 2 deletions(-)

diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 0812e367b0..60f42f61d6 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -32,6 +32,8 @@ typedef struct XsNode {
     GByteArray *content;
     GHashTable *children;
     uint64_t gencnt;
+    bool deleted_in_tx;
+    bool modified_in_tx;
 #ifdef XS_NODE_UNIT_TEST
     gchar *name; /* debug only */
 #endif
@@ -153,6 +155,13 @@ static XsNode *xs_node_copy(XsNode *old)
     XsNode *n = xs_node_new();
 
     n->gencnt = old->gencnt;
+
+#ifdef XS_NODE_UNIT_TEST
+    if (n->name) {
+        n->name = g_strdup(old->name);
+    }
+#endif
+
     if (old->children) {
         n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
                                             (GDestroyNotify)xs_node_unref);
@@ -221,6 +230,9 @@ struct walk_op {
     bool mutating;
     bool create_dirs;
     bool in_transaction;
+
+    /* Tracking during recursion so we know which is first. */
+    bool deleted_in_tx;
 };
 
 static void fire_watches(struct walk_op *op, bool parents)
@@ -277,6 +289,9 @@ static int xs_node_add_content(XsNode **n, struct walk_op *op)
         g_byte_array_unref((*n)->content);
     }
     (*n)->content = g_byte_array_ref(data);
+    if (op->tx_id != XBT_NULL) {
+        (*n)->modified_in_tx = true;
+    }
     return 0;
 }
 
@@ -333,10 +348,62 @@ static int node_rm_recurse(gpointer key, gpointer value, gpointer user_data)
     return this_inplace;
 }
 
+static XsNode *xs_node_copy_deleted(XsNode *old, struct walk_op *op);
+static void copy_deleted_recurse(gpointer key, gpointer value,
+                                 gpointer user_data)
+{
+    struct walk_op *op = user_data;
+    GHashTable *siblings = op->op_opaque2;
+    XsNode *n = xs_node_copy_deleted(value, op);
+
+    /*
+     * Reinsert the deleted_in_tx copy of the node into the parent's
+     * 'children' hash table. Having stashed it from op->op_opaque2
+     * before the recursive call to xs_node_copy_deleted() scribbled
+     * over it.
+     */
+    g_hash_table_insert(siblings, g_strdup(key), n);
+}
+
+static XsNode *xs_node_copy_deleted(XsNode *old, struct walk_op *op)
+{
+    XsNode *n = xs_node_new();
+
+    n->gencnt = old->gencnt;
+
+#ifdef XS_NODE_UNIT_TEST
+    if (old->name) {
+        n->name = g_strdup(old->name);
+    }
+#endif
+
+    if (old->children) {
+        n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+                                            (GDestroyNotify)xs_node_unref);
+        op->op_opaque2 = n->children;
+        g_hash_table_foreach(old->children, copy_deleted_recurse, op);
+    }
+    n->deleted_in_tx = true;
+    /* If it gets resurrected we only fire a watch if it lost its content */
+    if (old->content) {
+        n->modified_in_tx = true;
+    }
+    op->new_nr_nodes--;
+    return n;
+}
+
 static int xs_node_rm(XsNode **n, struct walk_op *op)
 {
     bool this_inplace = op->inplace;
 
+    if (op->tx_id != XBT_NULL) {
+        /* It's not trivial to do inplace handling for this one */
+        XsNode *old = *n;
+        *n = xs_node_copy_deleted(old, op);
+        xs_node_unref(old);
+        return 0;
+    }
+
     /* Fire watches for, and count, nodes in the subtree which get deleted */
     if ((*n)->children) {
         g_hash_table_foreach_remove((*n)->children, node_rm_recurse, op);
@@ -408,6 +475,10 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
     }
 
     if (child) {
+        if (child->deleted_in_tx) {
+            assert(child->ref == 1);
+            /* Cannot actually set child->deleted_in_tx = false until later */
+        }
         xs_node_ref(child);
         /*
          * Now we own it too. But if we can modify inplace, that's going to
@@ -475,6 +546,15 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
         xs_node_unref(old);
     }
 
+    /*
+     * If we resurrected a deleted_in_tx node, we can mark it as no longer
+     * deleted now that we know the overall operation has succeeded.
+     */
+    if (op->create_dirs && child && child->deleted_in_tx) {
+        op->new_nr_nodes++;
+        child->deleted_in_tx = false;
+    }
+
     /*
      * The child may be NULL here, for a remove operation. Either way,
      * xs_node_add_child() will do the right thing and return a value
@@ -709,8 +789,69 @@ int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
     return 0;
 }
 
+static gboolean tx_commit_walk(gpointer key, gpointer value,
+                               gpointer user_data)
+{
+    struct walk_op *op = user_data;
+    int path_len = strlen(op->path);
+    int key_len = strlen(key);
+    bool fire_parents = true;
+    XsWatch *watch;
+    XsNode *n = value;
+
+    if (n->ref != 1) {
+        return false;
+    }
+
+    if (n->deleted_in_tx) {
+        /*
+         * We fire watches on our parents if we are the *first* node
+         * to be deleted (the topmost one). This matches the behaviour
+         * when deleting in the live tree.
+         */
+        fire_parents = !op->deleted_in_tx;
+
+        /* Only used on the way down so no need to clear it later */
+        op->deleted_in_tx = true;
+    }
+
+    assert(key_len + path_len + 2 <= sizeof(op->path));
+    op->path[path_len] = '/';
+    memcpy(op->path + path_len + 1, key, key_len + 1);
+
+    watch = g_hash_table_lookup(op->s->watches, op->path);
+    if (watch) {
+        op->watches = g_list_append(op->watches, watch);
+    }
+
+    if (n->children) {
+        g_hash_table_foreach_remove(n->children, tx_commit_walk, op);
+    }
+
+    if (watch) {
+        op->watches = g_list_remove(op->watches, watch);
+    }
+
+    /*
+     * Don't fire watches if this node was only copied because a
+     * descendent was changed. The modified_in_tx flag indicates the
+     * ones which were really changed.
+     */
+    if (n->modified_in_tx || n->deleted_in_tx) {
+        fire_watches(op, fire_parents);
+        n->modified_in_tx = false;
+    }
+    op->path[path_len] = '\0';
+
+    /* Deleted nodes really do get expunged when we commit */
+    return n->deleted_in_tx;
+}
+
 static int transaction_commit(XenstoreImplState *s, XsTransaction *tx)
 {
+    struct walk_op op;
+    XsNode **n;
+
     if (s->root_tx != tx->base_tx) {
         return EAGAIN;
     }
@@ -720,10 +861,18 @@ static int transaction_commit(XenstoreImplState *s, XsTransaction *tx)
     s->root_tx = tx->tx_id;
     s->nr_nodes = tx->nr_nodes;
 
+    init_walk_op(s, &op, XBT_NULL, tx->dom_id, "/", &n);
+    op.deleted_in_tx = false;
+    op.mutating = true;
+
     /*
-     * XX: Walk the new root and fire watches on any node which has a
+     * Walk the new root and fire watches on any node which has a
      * refcount of one (which is therefore unique to this transaction).
      */
+    if (s->root->children) {
+        g_hash_table_foreach_remove(s->root->children, tx_commit_walk, &op);
+    }
+
     return 0;
 }
 
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index 3c3654550a..02c72baa62 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -347,7 +347,13 @@ static void do_test_xs_node_tx(bool fail, bool commit)
     } else {
         g_assert(!err);
     }
-    g_assert(!watches->len);
+    if (commit && !fail) {
+        g_assert(!strcmp(watches->str,
+                         "some/relative/pathwatch"));
+        g_string_truncate(watches, 0);
+    } else {
+       g_assert(!watches->len);
+    }
     g_assert(s->nr_nodes == 7);
 
     err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
@@ -386,6 +392,226 @@ static void test_xs_node_tx_succeed(void)
     do_test_xs_node_tx(false, true);
 }
 
+static void test_xs_node_tx_rm(void)
+{
+    XenstoreImplState *s = setup();
+    GString *watches = g_string_new(NULL);
+    GByteArray *data = g_byte_array_new();
+    unsigned int tx_id = XBT_NULL;
+    int err;
+
+    g_assert(s);
+
+    /* Set a watch */
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+    g_assert(watches->len == strlen("somewatch"));
+    g_assert(!strcmp(watches->str, "somewatch"));
+    g_string_truncate(watches, 0);
+
+    /* Write something */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+    g_assert(!strcmp(watches->str,
+                     "some/deep/dark/relative/pathwatch"));
+    g_string_truncate(watches, 0);
+
+    /* Create a transaction */
+    err = xs_impl_transaction_start(s, DOMID_GUEST, &tx_id);
+    g_assert(!err);
+
+    /* Delete the tree in the transaction */
+    err = xs_impl_rm(s, DOMID_GUEST, tx_id, "some/deep/dark");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+    g_assert(!watches->len);
+
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                       data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something"));
+    g_assert(!memcmp(data->data, "something", data->len));
+    g_byte_array_set_size(data, 0);
+
+    /* Commit the transaction */
+    err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
+    g_assert(!err);
+    g_assert(s->nr_nodes == 6);
+
+    g_assert(!strcmp(watches->str, "some/deep/darkwatch"));
+    g_string_truncate(watches, 0);
+
+    /* Now the node is gone */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                       data);
+    g_assert(err == ENOENT);
+    g_byte_array_unref(data);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+
+    g_string_free(watches, true);
+    xs_impl_delete(s);
+}
+
+static void test_xs_node_tx_resurrect(void)
+{
+    XenstoreImplState *s = setup();
+    GString *watches = g_string_new(NULL);
+    GByteArray *data = g_byte_array_new();
+    unsigned int tx_id = XBT_NULL;
+    int err;
+
+    g_assert(s);
+
+    /* Write something */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* This node will be wiped and resurrected */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark",
+                    "foo");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* Set a watch */
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+    g_assert(watches->len == strlen("somewatch"));
+    g_assert(!strcmp(watches->str, "somewatch"));
+    g_string_truncate(watches, 0);
+
+    /* Create a transaction */
+    err = xs_impl_transaction_start(s, DOMID_GUEST, &tx_id);
+    g_assert(!err);
+
+    /* Delete the tree in the transaction */
+    err = xs_impl_rm(s, DOMID_GUEST, tx_id, "some/deep");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+    g_assert(!watches->len);
+
+    /* Resurrect part of it */
+    err = write_str(s, DOMID_GUEST, tx_id, "some/deep/dark/different/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* Commit the transaction */
+    err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* lost data */
+    g_assert(strstr(watches->str, "some/deep/dark/different/pathwatch"));
+    /* topmost deleted */
+    g_assert(strstr(watches->str, "some/deep/dark/relativewatch"));
+    /* lost data */
+    g_assert(strstr(watches->str, "some/deep/darkwatch"));
+
+    g_string_truncate(watches, 0);
+
+    /* Now the node is gone */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                       data);
+    g_assert(err == ENOENT);
+    g_byte_array_unref(data);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+
+    g_string_free(watches, true);
+    xs_impl_delete(s);
+}
+
+static void test_xs_node_tx_resurrect2(void)
+{
+    XenstoreImplState *s = setup();
+    GString *watches = g_string_new(NULL);
+    GByteArray *data = g_byte_array_new();
+    unsigned int tx_id = XBT_NULL;
+    int err;
+
+    g_assert(s);
+
+    /* Write something */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* Another node to remain shared */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/place/safe", "keepme");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
+    /* This node will be wiped and resurrected */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark",
+                    "foo");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
+    /* Set a watch */
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+    g_assert(watches->len == strlen("somewatch"));
+    g_assert(!strcmp(watches->str, "somewatch"));
+    g_string_truncate(watches, 0);
+
+    /* Create a transaction */
+    err = xs_impl_transaction_start(s, DOMID_GUEST, &tx_id);
+    g_assert(!err);
+
+    /* Delete the tree in the transaction */
+    err = xs_impl_rm(s, DOMID_GUEST, tx_id, "some/deep");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+    g_assert(!watches->len);
+
+    /* Resurrect part of it */
+    err = write_str(s, DOMID_GUEST, tx_id, "some/deep/dark/relative/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
+    /* Commit the transaction */
+    err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
+    /* lost data */
+    g_assert(strstr(watches->str, "some/deep/dark/relative/pathwatch"));
+    /* lost data */
+    g_assert(strstr(watches->str, "some/deep/darkwatch"));
+
+    g_string_truncate(watches, 0);
+
+    /* Now the node is gone */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                       data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something"));
+    g_assert(!memcmp(data->data, "something", data->len));
+
+    g_byte_array_unref(data);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+
+    g_string_free(watches, true);
+    xs_impl_delete(s);
+}
+
 int main(int argc, char **argv)
 {
     g_test_init(&argc, &argv, NULL);
@@ -395,6 +621,9 @@ int main(int argc, char **argv)
     g_test_add_func("/xs_node/tx_abort", test_xs_node_tx_abort);
     g_test_add_func("/xs_node/tx_fail", test_xs_node_tx_fail);
     g_test_add_func("/xs_node/tx_succeed", test_xs_node_tx_succeed);
+    g_test_add_func("/xs_node/tx_rm", test_xs_node_tx_rm);
+    g_test_add_func("/xs_node/tx_resurrect", test_xs_node_tx_resurrect);
+    g_test_add_func("/xs_node/tx_resurrect2", test_xs_node_tx_resurrect2);
 
     return g_test_run();
 }
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:46:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:46:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507753.781709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZbOa-0003Ii-PQ; Tue, 07 Mar 2023 17:46:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507753.781709; Tue, 07 Mar 2023 17:46:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZbOa-0003Ib-Mc; Tue, 07 Mar 2023 17:46:40 +0000
Received: by outflank-mailman (input) for mailman id 507753;
 Tue, 07 Mar 2023 17:46:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Ob8o=67=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1pZbOZ-0003IC-RL
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:46: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 00f862e4-bd10-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 18:46:36 +0100 (CET)
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
 by PAXPR04MB8863.eurprd04.prod.outlook.com (2603:10a6:102:20e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 17:46:32 +0000
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487]) by VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487%4]) with mapi id 15.20.6156.029; Tue, 7 Mar 2023
 17:46: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: 00f862e4-bd10-11ed-a550-8520e6686977
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZRtGRzphnlN5pP88mEYP3YQ3RSBp9dM6Md06REjFuykMnUZ0oEUL7v+OutsIN8KHnjmy2ZNeRBuz4MB3zQyf+rIzm/begKDwP0+MpiUFuQw+0QI0Z/ixiBReJ0DGkgZw95Ckc8T7tVVBenbr9/ghdF4kT0gyr7fB1uh/vbkk7VUiQBdszxtRj8aZjYAG7yR2GfhO9ZPW+4/kLVtm+yTag/+9GWlEGSd+b9ivvipWGIc6Gd60acyYfHJspBuMHgUpFoL2Cx9a7dPuwNJW+jqk7Fdnqu+orEH2aEgTRwJomcWVHUVTXdFiDgNZL4bUA5wqWpF421IUI5NUTKACyeAiww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+tJXt4RG4WKx1/yFmJmwlyt7r4nomhj+7N9nOuH7bQE=;
 b=OtLjBewsMtrTBdS6OkhnguOrDf2AruniZ2jI2W1RV1k1CCF+ZYHbW0vT9tCqlPZzc8J7GP5U6Y8jmd490LAGMN1VcRtBgJP3LyiNof5BXDNhM5uHvYMYQnsQadjVXck9vxHVkqABMoktuE5FTaxSEDbinEc1CqZXpG3VOjyq6+Xt/Ehs3cQLzq7tNWqyJ4rt7sKxm4js8N4c3qclNpDwpyGRTZjPs5S5eOhx+QdtmPr2B0OQEfsi5Vy0Tzlj8hT36zFldAs9nkw0Tre0174pBu42VSesci3v8yvmMgkeut2Qd+Daao3FbO9eqa+irz9JJXkuWwhTYPI6mYwGIjtjjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+tJXt4RG4WKx1/yFmJmwlyt7r4nomhj+7N9nOuH7bQE=;
 b=YYQ8XFJhBR4K30rUSApglEuNqIv2qo16HR046CeJyR/rhKXt0+z/Auce3++wjSfyOoIAWGqwXYv9HNhm9rfAaWHrh9+ubyRVn91SayHHOAlQXEaHBrbetJ5zfreVdDG7KcSxlPd+gOBB8P7XoPLRruv01Lf+tunQIb2o9IGufDs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Message-ID: <f6ab5731-3d43-edc7-daca-2694269560a7@oss.nxp.com>
Date: Tue, 7 Mar 2023 19:46:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1 0/2] Fix ARM Generic Timer interrupt parsing
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrei Cherechesu <andrei.cherechesu@nxp.com>, sstabellini@kernel.org,
 julien@xen.org, Volodymyr_Babchuk@epam.com, rahul.singh@arm.com
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <6A06A9E8-4643-4920-83D9-3B628D29A386@arm.com>
From: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
In-Reply-To: <6A06A9E8-4643-4920-83D9-3B628D29A386@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR03CA0061.eurprd03.prod.outlook.com (2603:10a6:208::38)
 To VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB5056:EE_|PAXPR04MB8863:EE_
X-MS-Office365-Filtering-Correlation-Id: 5271772b-1e48-4bd4-b7ff-08db1f33e306
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ydVHa5U++x3opPQMAh09bqBeLy7R8skJZGpVQMYdrAhysjBL/vn9O6WnePexC4IryvSyAtRFB0nB9CdYLRfJzvZJjomg6jTMHW5rU7iLlwxsfKqs58MXxWSPAbm/9aO15+HvrwPitC+36nW6Xe88teWNUWc0KKMQr7ehoNUQpS8RopsxuL4hpJvH69V2xDxL2Ad9OOl2HK5VkchL1PJI1x441O7YaSobmResmnFko5kSg5gc1x6ATPNh4ncKTXB2UKt5Rpl4LFs6IptSWoJunepbLaTLqkiUuIrRHdlwRypjorjmYo/iL2PNMG/zVQo6TVTqDVPstnq5YOc5Jh2zI+KEQUl5KSmK76raIG25SaIPnPkyBMTL7K565bL+7j1BnnumvRz7zMVT3HwFtaeS7LXEStgTG3L3HWTO7J6Yrw67XuEFtglDi68+St7D8SGs8ldBbZB+M6QL43xZBapAsJLKt1nxJliEuo/3BfeJVIGkOYJe7Z7pd22tmRO73qEW+eDohaLQgM9WQYoTCR2xbBFzVKVeI5160fg2ag6813bNCF6ptjV6BD1favOxWm3Bi4F3ufRt6E5W0mRcpT7mXlXn4MllCirDMT9bNt0JHTEMSxBk3GgePMTFAEt2XSS++Zl/N8asoDzwFEdVE+KdF8r49BEW02qNduos5ZiAO2bSMeO8CNtlw4QAmBnr9TYe4Zctzik6oCoykzhte2bYNd61iMrDFJZODfswEMIVTQE98Ez/W06LUrBGPg8vEvXz
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5056.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(376002)(366004)(39860400002)(346002)(396003)(451199018)(31686004)(8676002)(4326008)(5660300002)(44832011)(41300700001)(66946007)(8936002)(6506007)(6666004)(2906002)(31696002)(86362001)(38100700002)(66556008)(66476007)(6486002)(26005)(966005)(110136005)(478600001)(6512007)(316002)(83380400001)(186003)(2616005)(55236004)(53546011)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S2xveWRXN2FGcmEzMDZBUVA2bHQrdmJGYjBKeUw5RmxPc29tdHZhbTY4dUNC?=
 =?utf-8?B?U0g2OU93ckN5c3FKYnpuNnI0NWUrUTBZaTgwN3RQb3ZGK09TcUorZkpOc0R4?=
 =?utf-8?B?WE5tTmtpT29WcGZ2K1NYYmVYa21Wem1aNGhzdmFCZmFXeXhHVmlIdUJ1ZXJQ?=
 =?utf-8?B?TytHd1NUSGYxZWRuSE5XWGdjTVQ4NmY1SGJiMEprM081Z3ZNeEZDZ3VxcCtB?=
 =?utf-8?B?VzNhWFp5Tnh2TWptM1BxSXpaWXEvT0ZLWTYxbmdYbkQyM3hHaC92NThwQWUw?=
 =?utf-8?B?bXBwcVFiMGZIWkZLTllETDlQUVdRZUs0eTV6NElvUXJaU0ZrdEZ6WUdVYXQ2?=
 =?utf-8?B?MjFSTlNFU2lrTnJiL2FDTVo5WVJoNUd1eTZhaDZOaHhrSnJ5S3U5OWVMU0Ja?=
 =?utf-8?B?cTJJMUFFN2lpOUxkcFI4dk1Oek1pQWdRV2MzRTJoRk1LSjlZZFIwYjlIQjVx?=
 =?utf-8?B?OUEyUUhFTkNyUUIxdDZZVkV1eTdNVlZ6SGNYTnF5cWZpWGhMSHhOUlhhb0Fs?=
 =?utf-8?B?ZndlaTI5UVhUK2hxVnN1R2o0c3ZLMWdGYWFjOFM1QTFWbXJ5eGRaQzIxR1Vy?=
 =?utf-8?B?YVhJTTlsTG0vei9hSlpsTVNlQlJ3OGdLRnk0b1FpL1FqWFh1RTcyb2p1NDcr?=
 =?utf-8?B?c2FJZWltaHdHQ2cyaXZUczAvb1RJc2dTUk9VMHA4UjRKcElhdnNqekU4NGcy?=
 =?utf-8?B?MXREYWk5L29IOEdOWVNNR3JIampqbzFlQUcxU2E1WU9yUVBhN0prblBHbEpk?=
 =?utf-8?B?Tm40bENOWnYwMUxDbFM1UEloMTRIdzVqQ3hUakVvTldxOEtwWnNwd0tpK05G?=
 =?utf-8?B?MWE0MjU0N0R1Z281L21FOWpNVmtwTEdnclkrRnJrKzJpZjhCUmt5dVNIcUwr?=
 =?utf-8?B?VWh0Tk45bXhvUndCTHQxclBML0JoTi82dDFCdU5FNmdicHM3OXh0Nml6MDRM?=
 =?utf-8?B?WDhpN0puK2p6TTJnM0V0a0pvbEh3a2pDb0lkT3VkRVVCN3JEWmxyQWNkcTdK?=
 =?utf-8?B?eFNHU2tUMHVMNUhPNEtxdG9lZlJpNTU3Y2RsMkV3UTYyMFZvb1F3NlVDbkJC?=
 =?utf-8?B?YUVqSzRTSi9KMTl3cDh6Y0dPMlh6KzNsUlJkKzlRdzVVWUp4QUFhSy9Vb0VT?=
 =?utf-8?B?QlN4ZENGbzNFVEpGQWtsRmlXdnFYcGUxeS9JVUdpY2Z1aGRlMUtEZEp6UnFw?=
 =?utf-8?B?TnZZZitjRDZ1NEtBb0JiNEY3d24ySkNaS01iNDRqWjhyVjJMZGJ0Qk5KOHh1?=
 =?utf-8?B?V2JKRXFCdmoxUTl3S2ZWUWZBWTRBM2F5Y2hGL2swQktRemhISnN4RG9mNjZI?=
 =?utf-8?B?T3Y2WjZnVjcxellBR3haRldQYldmTlAzS21sejcrYlJmelpvdGsycHJUVVRX?=
 =?utf-8?B?SkRTcXpQcmkwZkxMeS9HcjZuMkxFS1c0bExZV2JJQWNsaXBSNVBzb01wSUpr?=
 =?utf-8?B?dDRCRGt2SkphMCswbjMzWkRZcUFEb0g3UEVNcHUyMFRtZ2ZaTHM5cDQ3ZWM3?=
 =?utf-8?B?cFgxUy94M3lnQWxRYWhGYnk4UXFCcFhwTTc5MWR6VVUwSC85NTRhYnpwRGhj?=
 =?utf-8?B?TCtNRDhibjlCMEdueGROMXZ2azZxQWd5REpqbkt5c3k0MEdBZlZ4WUFsREJh?=
 =?utf-8?B?bS8vT3lJZnpvWWhyWXEvWm5ZSUx4OTFxMzVCOFRzYnp6aUFNUWxqdFQ4aFRU?=
 =?utf-8?B?cGtMb3ppY3VCTWdkVEEwdkZlWUdQUG9MUTVRa2pRZHMySmJCSm44VUFSN29Y?=
 =?utf-8?B?b2pHcGVnWklxZEhnYnJuSjZoZ1Zmb2Z3MHJHTGtYN0RYUko3Sk84ckVPeDVj?=
 =?utf-8?B?eG4vKy9uTWVQbHZiWU1nbStQRFY2NnpXRGJPZEF1eDlCNWs4Vk5YaXplMXFw?=
 =?utf-8?B?MnVxbTB6ZDFEMHlVdGwvUDZZNGRkVklxdzFUanZibzlQN0JkaGYrYmM5eC8y?=
 =?utf-8?B?bUlVYTR0OVZ3SXpIZHNmQTRSdHR3QlRjc0lwMU1TRWlzWEFYWkJwMFRyVlR3?=
 =?utf-8?B?TXNvZUVidGR0bFpONXVOSU4yNElFMzhZYkViSWo4a3g1R1VMVHoxSzdKT280?=
 =?utf-8?B?MmtZUklMd2szTlJsTmxOcXNFcmE3VUxabWJGZFNNU1U2WDB2SE5wVlJza0VC?=
 =?utf-8?B?OEJOam05R0FSZFdhU0RsVzduSG1HZEtJQVE3ek9uMHMzVGVRZWRRaWZ6dFB5?=
 =?utf-8?B?b1E9PQ==?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5271772b-1e48-4bd4-b7ff-08db1f33e306
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5056.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 17:46:32.2280
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dP0fxu3JImr5Z0ggZqT+1Ei9vKYLPsHZ0cNDjjuNszMoaeSxtJ+KVqdVwVgVSNvbH2efDR5e8c7XAuNYikXEDDSvs6IFQGmqfX0O79nZ5nU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8863



On 07/03/2023 17:27, Bertrand Marquis wrote:
> Hi Andrei,
> 
> When submitting patches, please use the add_maintainer.pl script so that maintainers of the code
> modified are added in CC.

Hi Bertrand,

Thank you for reviewing the patches. I apologize for not adding the
maintainers in CC. I added them now.

> 
>> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu@oss.nxp.com> wrote:
>>
>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>
>> This 2-patch series fixes the parsing of the ARM Generic Timer
>> interrupts from the device tree.
>>
>> If the generic timer interrupts order in the DT was different than
>> the expected order in Xen code, these interrupts would no longer be
>> correctly parsed and registered by Xen, and would result in boot failure.
>>
>> This method with using "interrupt-names" for the generic timer interrupts
>> instead of having them hardcoded in the DTB in a specific order is the newer
>> approach already implemented in Linux. Xen did not have the necessary code for
>> this approach, and it has been implemented by the means of this patch series.
> 
> Would mind giving a link to an example or the Linux documentation if there is one ?
> 

The bindings [0] for the ARM Generic Timer DT node were changed around
Linux 5.13, when the interrupt-names property was added, along with the
implementation for handling it [1].


[0]
https://elixir.bootlin.com/linux/v6.3-rc1/source/Documentation/devicetree/bindings/timer/arm,arch_timer.yaml#L44
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/clocksource/arm_arch_timer.c?id=86332e9e3477af8f31c9d5f3e81e57e0fd2118e7


Regards,
Andrei


> Cheers
> Bertrand
> 
>>
>> Functionality should remain the same if "interrupt-names" is not present in the
>> Generic Timer DTB node of the platform, but the interrupts should then still be
>> present in the expected "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt" order.
>> If "interrupt-names" is present, now it is also correctly handled.
>>
>> Andrei Cherechesu (2):
>>  arch/arm: irq: Add platform_get_irq_byname() implementation
>>  arch/arm: time: Add support for parsing interrupts by names
>>
>> xen/arch/arm/include/asm/irq.h        |  2 ++
>> xen/arch/arm/include/asm/time.h       |  3 ++-
>> xen/arch/arm/irq.c                    | 14 +++++++++++
>> xen/arch/arm/time.c                   | 26 +++++++++++++++++---
>> xen/drivers/passthrough/arm/smmu-v3.c | 35 +++++----------------------
>> 5 files changed, 46 insertions(+), 34 deletions(-)
>>
>> -- 
>> 2.35.1
>>
>>
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:52:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:52:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507756.781719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZbUP-0004vU-DU; Tue, 07 Mar 2023 17:52:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507756.781719; Tue, 07 Mar 2023 17: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 1pZbUP-0004vN-Al; Tue, 07 Mar 2023 17:52:41 +0000
Received: by outflank-mailman (input) for mailman id 507756;
 Tue, 07 Mar 2023 17: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 1pZbUO-0004vD-J0; Tue, 07 Mar 2023 17: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 1pZbUO-0006ZD-Cy; Tue, 07 Mar 2023 17: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 1pZbUN-0000eb-SC; Tue, 07 Mar 2023 17:52:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZbUN-0005aG-Rg; Tue, 07 Mar 2023 17: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=ezse39QmimcYLc6jXKTum8M8OIodQRd34yXMWyPP4cw=; b=pMOCV7qXM4V9+UMPJBlBtMsbAd
	uvXT81ehDwZZpHprWrNSBxBoAAQJg+yMNWKP5XAjbLI35ZMFfHa3qVCD966/6Xn3OmN6HKYiakKAK
	jZd5xPSEafGrAMCIsfazPemq4Jw5WfitE9G/Cmdahxf9bpLx2m3MEw2NphcvvPbjZH/Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179498-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179498: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=75fb0cfc82376906243386514be0e4067d702117
X-Osstest-Versions-That:
    ovmf=aa1cd447b346e8cc8141df2fe2d321b032c08acb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Mar 2023 17:52:39 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 75fb0cfc82376906243386514be0e4067d702117
baseline version:
 ovmf                 aa1cd447b346e8cc8141df2fe2d321b032c08acb

Last test of basis   179496  2023-03-07 11:42:13 Z    0 days
Testing same since   179498  2023-03-07 15:44:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Pierre Gondois <pierre.gondois@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
   aa1cd447b3..75fb0cfc82  75fb0cfc82376906243386514be0e4067d702117 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:56:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:56:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507761.781729 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZbYA-0005Y3-UR; Tue, 07 Mar 2023 17:56:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507761.781729; Tue, 07 Mar 2023 17: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 1pZbYA-0005Xw-Ra; Tue, 07 Mar 2023 17:56:34 +0000
Received: by outflank-mailman (input) for mailman id 507761;
 Tue, 07 Mar 2023 17:56: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZbYA-0005Xq-8A
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:56:34 +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 655d4ebd-bd11-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 18:56:33 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 l7-20020a05600c4f0700b003e79fa98ce1so7755651wmq.2
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 09:56:33 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 z4-20020a056000110400b002ce3b31753fsm12186758wrw.26.2023.03.07.09.56.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 09:56: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: 655d4ebd-bd11-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678211793;
        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=gQSkQKXVqCcGQhbgWI2VTbT227cYGUJyB9WO8S2uqmU=;
        b=GHgrklShTonRXBkjDkbzTfw2hfrq8ZCqc7Ne5PdUD9OdYtMyn3jpERxviqNAXRA2hr
         pgf1Sfvubx7F+s2nP6jwCCj0hEa9C/SaBSCzO6EWncetroCmh/h85Av5I6LGaYVRT38t
         IedjlRVy664vFo8n0W1ysf0AqlTPsKaG+ZPDuh8UwtkMBTPjDOl7ICund4Db4hme47n1
         +fi3XPkWF2S9TlIgXe7QbMf9HBPymMfUIkGYlEBqRoGqJa/HTNJ8YMETIL6q2VA9glJX
         9zJfe0sa1Lx+zK/LxBEKra2AUp2z2pzrPjb+ODhqcQHW4ypOQQ3aKwbG26zw2E5TBrst
         +QUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678211793;
        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=gQSkQKXVqCcGQhbgWI2VTbT227cYGUJyB9WO8S2uqmU=;
        b=TeUn1xtDEUWgOyVl7l9M/+UBdeqSJq7s64AbbBGdRkxxWfX903OqX9TwxfIvoXhN1m
         qPm6nK6lrcp/JBz109GMlvs9rG4udeHXOACXCkg8+W9SVECRtjUe110UqX8D2yM7iAjM
         nj0ywrT384BTt2Zy09GN7ojZTQ3Nyo2x1Kp1FMks1VhtiQvOUzncDp+NT4kMgUHqUfWX
         SWDV7g1UK2VhaP1iMn09g2ukaSyp32I4T8hbTJwS42BeVWA5Nsxjux7ujAzIE1efGxmk
         YuMWo/Jq/mf9SGLFLgS37n3MWJkgd7w6imzA64Ut6TxX4Rh7hervWeedCIwJaJw0tF5T
         DxQg==
X-Gm-Message-State: AO0yUKWCMYucJly9t9iWdqk6vXv9iMPN+whNEZAd2HC38iOPgzBAHDiP
	tBhrjR1VUZhYpZHzItpjtdU=
X-Google-Smtp-Source: AK7set8wB+t7FiQ93ofPjATTc2z5iVBSASwMKrkgOs4VWWEY+CZ2vNEPWitNrR1Z0toY8rg2O7Rsnw==
X-Received: by 2002:a05:600c:468e:b0:3eb:29fe:f922 with SMTP id p14-20020a05600c468e00b003eb29fef922mr13585282wmo.29.1678211792618;
        Tue, 07 Mar 2023 09:56:32 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <cc9471d5-c2ce-31fb-14bb-6262abbfbd83@xen.org>
Date: Tue, 7 Mar 2023 17:56:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 25/27] i386/xen: Initialize Xen backends from
 pc_basic_device_init() for emulation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Juan Quintela <quintela@redhat.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Peter Maydell <peter.maydell@linaro.org>
References: <20230307171750.2293175-1-dwmw2@infradead.org>
 <20230307171750.2293175-26-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230307171750.2293175-26-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 07/03/2023 17:17, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Now that all the work is done to enable the PV backends to work without
> actual Xen, instantiate the bus from pc_basic_device_init() for emulated
> mode.
> 
> This allows us finally to launch an emulated Xen guest with PV disk.
> 
>     qemu-system-x86_64 -serial mon:stdio -M q35 -cpu host -display none \
>       -m 1G -smp 2 -accel kvm,xen-version=0x4000a,kernel-irqchip=split \
>       -kernel bzImage -append "console=ttyS0 root=/dev/xvda1" \
>       -drive file=/var/lib/libvirt/images/fedora28.qcow2,if=none,id=disk \
>       -device xen-disk,drive=disk,vdev=xvda
> 
> If we use -M pc instead of q35, we can even add an IDE disk and boot a
> guest image normally through grub. But q35 gives us AHCI and that isn't
> unplugged by the Xen magic, so the guests ends up seeing "both" disks.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Reviewed-by: Paul Durrant <paul@xen.org>
> ---
>   hw/i386/pc.c | 7 +++++++
>   1 file changed, 7 insertions(+)
> 

Also...

Tested-by: Paul Durrant <paul@xen.org>

... on real Xen (master branch, 4.18) with a Debian guest.



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 17:57:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 17:57:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507764.781739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZbZ9-00064s-7M; Tue, 07 Mar 2023 17:57:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507764.781739; Tue, 07 Mar 2023 17: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 1pZbZ9-00064l-4k; Tue, 07 Mar 2023 17:57:35 +0000
Received: by outflank-mailman (input) for mailman id 507764;
 Tue, 07 Mar 2023 17: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=bVoF=67=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pZbZ7-00063T-Gu
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 17:57:33 +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 8834a503-bd11-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 18:57:31 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 l7-20020a05600c1d0700b003eb5e6d906bso7743728wms.5
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 09:57:31 -0800 (PST)
Received: from [192.168.25.218] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 c10-20020a05600c170a00b003db0bb81b6asm13326231wmn.1.2023.03.07.09.57.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 09:57: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: 8834a503-bd11-11ed-a550-8520e6686977
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678211851;
        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=ltEErcDYC+jcesohgCYKroWl5rfwrhDmitzkzqcOrKA=;
        b=mqIRnsvdLNu8o2aufmFfB7lQCWkqcWqLD1yLYLsV5BWNPQ8tp/N0mv5cSiun1r+vuY
         Hna+n+/+zSHQFmhT+d+rjxnT+L5Ka63TKSnKzrTe6c9SwPQD6s6Bsjd/WEBL3IMuXbuO
         mmou5h+ZhtgTNiyMs+JdleBM+sAgaWq6kiuHh11KAEpbgWpFOilY9r1iIpiozXRqrtIJ
         wWDSYqgO7r3+ByFL/HzgCyUoD8441kg1m0Qqit/r5xv89MIToeHCWTE3oOe+B1WXmOqd
         JyFRbmUZUDfQwJwWovzHhah4mrXfqkeYLal+Nj7hHL0FufmDTYPFMx4IOURSXDcMAIUo
         IEhw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678211851;
        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=ltEErcDYC+jcesohgCYKroWl5rfwrhDmitzkzqcOrKA=;
        b=ogss3MllxwCgn+lvQLyUU7ZjbjDK3pYCvpgv5YTRCBzhdNHbjiVJDRJglPcsrNGAOy
         FlcQCnnHmt3Ch64Rpk4rWySKjFMNMge4Dw2zeHv8aL+ulR59dmqreF6bpoX18bnlw3DC
         gCCCGe0UxouRAmeLFfwNnkpjIr6OxWAkPnCwCWuW59g/a9cLiy4cdsFJ/Px74erS41XO
         IoXU89lA1xbGeBwpanGbaECs8Evbif7fwhkddd3h7Jzewi/NiBFqeeXPwOOffhTKP5WD
         5o/eJt8FW66/pYK5A2k2WEZySkBALDNky2wygP4EQ+MUEUi8bzN+cl5JjoI9adM/iWTB
         MgDg==
X-Gm-Message-State: AO0yUKXY76MTWq8p00/hDhTRXTqRS/o/3Jv0WfxFiGt3x928cqzadTZt
	ULpyX4YLvcfSmar23/iY3MQ=
X-Google-Smtp-Source: AK7set8syDG4lJBd8ENNQp2FV4dGWgC+upjwMJGX0581QjbtLj8oTgI2I7sYYLPcOCnPDYkk76fwPg==
X-Received: by 2002:a05:600c:444c:b0:3dc:16d2:ae5e with SMTP id v12-20020a05600c444c00b003dc16d2ae5emr13302768wmn.32.1678211851315;
        Tue, 07 Mar 2023 09:57:31 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <007876ac-9f68-756b-3f86-db2f67886558@xen.org>
Date: Tue, 7 Mar 2023 17:57:29 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 00/27] Enable PV backends with Xen/KVM emulation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Juan Quintela <quintela@redhat.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Peter Maydell <peter.maydell@linaro.org>
References: <20230307171750.2293175-1-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20230307171750.2293175-1-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 07/03/2023 17:17, David Woodhouse wrote:
> Following on from the basic platform support which has already been
> merged, here's phase 2 which wires up the XenBus and PV back ends.
> 
> It starts with a basic single-tenant internal implementation of a
> XenStore, with a copy-on-write tree, watches, transactions, quotas.
> 
> Then we introduce operations tables for the grant table, event channel,
> foreignmen and xenstore operations so that in addition to using the Xen
> libraries for those, QEMU can use its internal emulated versions.
> 
> A little bit of cleaning up of header files, and we can enable the build
> of xen-bus in the CONFIG_XEN_EMU build, and run a Xen guest with an
> actual PV disk...
> 
>     qemu-system-x86_64 -serial mon:stdio -M q35 -display none -m 1G -smp 2 \
>        -accel kvm,xen-version=0x4000e,kernel-irqchip=split \
>        -kernel bzImage -append "console=ttyS0 root=/dev/xvda1 selinux=0" \
>        -drive file=/var/lib/libvirt/images/fedora28.qcow2,if=none,id=disk \
>        -device xen-disk,drive=disk,vdev=xvda
> 
> The main thing that isn't working here is migration. I've implemented it
> for the internal xenstore and the unit tests exercise it, but the
> existing PV back ends don't support it, perhaps partly because support
> for guest transparent live migration support isn't upstream in Xen yet.
> So the disk doesn't come back correctly after migration. I'm content
> with that for 8.0 though, and we just mark the emulated XenStore device
> as unmigratable to prevent users from trying.
> 
> The other pre-existing constraint is that only the block back end has
> yet been ported to the "new" XenBus infrastructure, and is actually
> capable of creating its own backend nodes. Again, I can live with
> that for 8.0. Maybe this will motivate us to finally get round to
> converting the rest off XenLegacyBackend and killing it.
> 
> We also don't have a simple way to perform grant mapping of multiple
> guest pages to contiguous addresses, as we can under real Xen. So we
> don't advertise max-ring-page-order for xen-disk in the emulated mode.
> Fixing that — if we actually want to — would probably require mapping
> RAM from an actual backing store object, so that it can be mapped again
> at a different location for the PV back end to see.
> 
> v2: https://git.infradead.org/users/dwmw2/qemu.git/shortlog/refs/heads/xenfv-2
> 
>   • Full set of reviewed-by tags from Paul (and associated minor fixes).
> 
>   • Disable migration for emulated XenStore device.
> 
>   • Update docs and add MAINTAINERS entry.
> 
> v1: https://lore.kernel.org/qemu-devel/20230302153435.1170111-1-dwmw2@infradead.org/
>      https://git.infradead.org/users/dwmw2/qemu.git/shortlog/refs/heads/xenfv-1
> 
> David Woodhouse (23):
>        hw/xen: Add xenstore wire implementation and implementation stubs
>        hw/xen: Add basic XenStore tree walk and write/read/directory support
>        hw/xen: Implement XenStore watches
>        hw/xen: Implement XenStore transactions
>        hw/xen: Watches on XenStore transactions
>        hw/xen: Implement core serialize/deserialize methods for xenstore_impl
>        hw/xen: Add evtchn operations to allow redirection to internal emulation
>        hw/xen: Add gnttab operations to allow redirection to internal emulation
>        hw/xen: Pass grant ref to gnttab unmap operation
>        hw/xen: Add foreignmem operations to allow redirection to internal emulation
>        hw/xen: Move xenstore_store_pv_console_info to xen_console.c
>        hw/xen: Use XEN_PAGE_SIZE in PV backend drivers
>        hw/xen: Rename xen_common.h to xen_native.h
>        hw/xen: Build PV backend drivers for CONFIG_XEN_BUS
>        hw/xen: Only advertise ring-page-order for xen-block if gnttab supports it
>        hw/xen: Hook up emulated implementation for event channel operations
>        hw/xen: Add emulated implementation of grant table operations
>        hw/xen: Add emulated implementation of XenStore operations
>        hw/xen: Map guest XENSTORE_PFN grant in emulated Xenstore
>        hw/xen: Implement soft reset for emulated gnttab
>        i386/xen: Initialize Xen backends from pc_basic_device_init() for emulation
>        MAINTAINERS: Add entry for Xen on KVM emulation
>        docs: Update Xen-on-KVM documentation for PV disk support
> 
> Paul Durrant (4):
>        hw/xen: Implement XenStore permissions
>        hw/xen: Create initial XenStore nodes
>        hw/xen: Add xenstore operations to allow redirection to internal emulation
>        hw/xen: Avoid crash when backend watch fires too early
> 
>   MAINTAINERS                                   |    9 +
>   accel/xen/xen-all.c                           |   69 +-
>   docs/system/i386/xen.rst                      |   30 +-
>   hw/9pfs/meson.build                           |    2 +-
>   hw/9pfs/xen-9p-backend.c                      |   32 +-
>   hw/block/dataplane/meson.build                |    2 +-
>   hw/block/dataplane/xen-block.c                |   12 +-
>   hw/block/meson.build                          |    2 +-
>   hw/block/xen-block.c                          |   12 +-
>   hw/char/meson.build                           |    2 +-
>   hw/char/xen_console.c                         |   57 +-
>   hw/display/meson.build                        |    2 +-
>   hw/display/xenfb.c                            |   32 +-
>   hw/i386/kvm/meson.build                       |    1 +
>   hw/i386/kvm/trace-events                      |   15 +
>   hw/i386/kvm/xen_evtchn.c                      |   15 +
>   hw/i386/kvm/xen_gnttab.c                      |  325 ++++-
>   hw/i386/kvm/xen_gnttab.h                      |    1 +
>   hw/i386/kvm/xen_xenstore.c                    | 1251 +++++++++++++++-
>   hw/i386/kvm/xenstore_impl.c                   | 1927 +++++++++++++++++++++++++
>   hw/i386/kvm/xenstore_impl.h                   |   63 +
>   hw/i386/pc.c                                  |    7 +
>   hw/i386/pc_piix.c                             |    4 +-
>   hw/i386/xen/xen-hvm.c                         |   38 +-
>   hw/i386/xen/xen-mapcache.c                    |    2 +-
>   hw/i386/xen/xen_platform.c                    |    7 +-
>   hw/net/xen_nic.c                              |   25 +-
>   hw/usb/meson.build                            |    2 +-
>   hw/usb/xen-usb.c                              |   29 +-
>   hw/xen/meson.build                            |    6 +-
>   hw/xen/trace-events                           |    2 +-
>   hw/xen/xen-bus-helper.c                       |   62 +-
>   hw/xen/xen-bus.c                              |  411 +-----
>   hw/xen/xen-legacy-backend.c                   |  254 +---
>   hw/xen/xen-operations.c                       |  478 ++++++
>   hw/xen/xen_devconfig.c                        |    4 +-
>   hw/xen/xen_pt.c                               |    2 +-
>   hw/xen/xen_pt.h                               |    2 +-
>   hw/xen/xen_pt_config_init.c                   |    2 +-
>   hw/xen/xen_pt_graphics.c                      |    1 -
>   hw/xen/xen_pt_msi.c                           |    4 +-
>   hw/xen/xen_pvdev.c                            |   63 +-
>   include/hw/xen/xen-bus-helper.h               |   26 +-
>   include/hw/xen/xen-bus.h                      |   21 +-
>   include/hw/xen/xen-legacy-backend.h           |   24 +-
>   include/hw/xen/xen.h                          |   24 +-
>   include/hw/xen/xen_backend_ops.h              |  408 ++++++
>   include/hw/xen/{xen_common.h => xen_native.h} |   75 +-
>   include/hw/xen/xen_pvdev.h                    |    6 +-
>   softmmu/globals.c                             |    4 +
>   target/i386/kvm/xen-emu.c                     |    5 +
>   tests/unit/meson.build                        |    1 +
>   tests/unit/test-xs-node.c                     |  871 +++++++++++
>   53 files changed, 5804 insertions(+), 927 deletions(-)
> 

I think the series is good to go now so time to send a PR.

Cheers,

   Paul



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:17:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:17:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507769.781748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZbs1-0000fF-Ss; Tue, 07 Mar 2023 18:17:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507769.781748; Tue, 07 Mar 2023 18:17: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 1pZbs1-0000f8-QF; Tue, 07 Mar 2023 18:17:05 +0000
Received: by outflank-mailman (input) for mailman id 507769;
 Tue, 07 Mar 2023 18:17: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 1pZbrz-0000ev-W9; Tue, 07 Mar 2023 18:17: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 1pZbrz-0007GC-Ty; Tue, 07 Mar 2023 18:17: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 1pZbrz-0001Fv-Gd; Tue, 07 Mar 2023 18:17:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZbrz-0005xc-GC; Tue, 07 Mar 2023 18:17: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=W/rEJyOEQE8svsYuA3kJ7BIc7/onRfpRZfYVp13sxO4=; b=0x6M/8B+E6j+RVl/QQIvbVjY3c
	BEmma78sLdKYzDI7svMqWksQXaiI8Q5s+vu8jKeoO87sxoOlBE5F/KJwKzn4N7xudfFChCAdxSUHm
	pdbZviRBQFNADcAAfwHls+Re207zI04Dlowm2tsfGeh5euACyUqDvXkii6zl+D7HVgDE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179462-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179462: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-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-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: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=9fecdaf1c80f8fb4390c77b4d353ad07ba77c87a
X-Osstest-Versions-That:
    libvirt=cea8402e1c322a25ec944d1c36e902fac31d4331
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Mar 2023 18:17:03 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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     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-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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              9fecdaf1c80f8fb4390c77b4d353ad07ba77c87a
baseline version:
 libvirt              cea8402e1c322a25ec944d1c36e902fac31d4331

Last test of basis   179154  2023-03-04 04:20:24 Z    3 days
Testing same since   179462  2023-03-07 04:20:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Michal Privoznik <mprivozn@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   cea8402e1c..9fecdaf1c8  9fecdaf1c80f8fb4390c77b4d353ad07ba77c87a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507779.781790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc1z-0002ti-P7; Tue, 07 Mar 2023 18:27:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507779.781790; Tue, 07 Mar 2023 18: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 1pZc1z-0002r1-Fu; Tue, 07 Mar 2023 18:27:23 +0000
Received: by outflank-mailman (input) for mailman id 507779;
 Tue, 07 Mar 2023 18:27: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc1y-0002MP-62
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:22 +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 b11bfeee-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1m-00H8T0-30; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1m-009e87-2N; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b11bfeee-bd15-11ed-a550-8520e6686977
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=IaNafSRjao+HaQw+ELYtYhkTBjvlc263O8BCVna3wJQ=; b=AqDQak70zR9wTipkqxullPY4kX
	ZoGJ6bhYui0ncHAA5WTJ6IF2bEtLU3hiavoVEzGKJBVrlYa5rYIOE4CgdTzrlitaLDwvSOLzjPOEv
	1fe0qLcdks+wXeorcMBrIKW+eLT+49EPPnnhek5q7IN0NJ+rPxNCzUOnlvows0yrZLRUKwBwlB7V/
	NUGykSofL946Crl6ODSdlGzB81/sQEgK4yCfSIm9454Br/+ECWLxg8MBLHrKWZ7zR9lirgZlIfw+6
	NipmUli0AZB93LBghuS1GB6223Ehwpxe2bvIpI7fN9Im22Ui4X13fvgGWErxDHwu+1EgrHE9z6Ra4
	IV/F7Y4w==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 00/27] Enable PV backends with Xen/KVM emulation
Date: Tue,  7 Mar 2023 18:26:40 +0000
Message-Id: <20230307182707.2298618-1-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.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

The following changes since commit 9832009d9dd2386664c15cc70f6e6bfe062be8bd:

  Merge tag 'pull-riscv-to-apply-20230306' of https://gitlab.com/palmer-dabbelt/qemu into staging (2023-03-07 12:53:00 +0000)

are available in the Git repository at:

  git://git.infradead.org/users/dwmw2/qemu.git refs/tags/xenfv-2 

for you to fetch changes up to 154eac37190c4d80d29b09c226abd899e397530f:

  docs: Update Xen-on-KVM documentation for PV disk support (2023-03-07 17:04:30 +0000)


Tested-by: Paul Durrant <paul@xen.org>
... on real Xen (master branch, 4.18) with a Debian guest.

----------------------------------------------------------------
David Woodhouse (23):
      hw/xen: Add xenstore wire implementation and implementation stubs
      hw/xen: Add basic XenStore tree walk and write/read/directory support
      hw/xen: Implement XenStore watches
      hw/xen: Implement XenStore transactions
      hw/xen: Watches on XenStore transactions
      hw/xen: Implement core serialize/deserialize methods for xenstore_impl
      hw/xen: Add evtchn operations to allow redirection to internal emulation
      hw/xen: Add gnttab operations to allow redirection to internal emulation
      hw/xen: Pass grant ref to gnttab unmap operation
      hw/xen: Add foreignmem operations to allow redirection to internal emulation
      hw/xen: Move xenstore_store_pv_console_info to xen_console.c
      hw/xen: Use XEN_PAGE_SIZE in PV backend drivers
      hw/xen: Rename xen_common.h to xen_native.h
      hw/xen: Build PV backend drivers for CONFIG_XEN_BUS
      hw/xen: Only advertise ring-page-order for xen-block if gnttab supports it
      hw/xen: Hook up emulated implementation for event channel operations
      hw/xen: Add emulated implementation of grant table operations
      hw/xen: Add emulated implementation of XenStore operations
      hw/xen: Map guest XENSTORE_PFN grant in emulated Xenstore
      hw/xen: Implement soft reset for emulated gnttab
      i386/xen: Initialize Xen backends from pc_basic_device_init() for emulation
      MAINTAINERS: Add entry for Xen on KVM emulation
      docs: Update Xen-on-KVM documentation for PV disk support

Paul Durrant (4):
      hw/xen: Implement XenStore permissions
      hw/xen: Create initial XenStore nodes
      hw/xen: Add xenstore operations to allow redirection to internal emulation
      hw/xen: Avoid crash when backend watch fires too early

 MAINTAINERS                                   |    9 +
 accel/xen/xen-all.c                           |   69 +-
 docs/system/i386/xen.rst                      |   30 +-
 hw/9pfs/meson.build                           |    2 +-
 hw/9pfs/xen-9p-backend.c                      |   32 +-
 hw/block/dataplane/meson.build                |    2 +-
 hw/block/dataplane/xen-block.c                |   12 +-
 hw/block/meson.build                          |    2 +-
 hw/block/xen-block.c                          |   12 +-
 hw/char/meson.build                           |    2 +-
 hw/char/xen_console.c                         |   57 +-
 hw/display/meson.build                        |    2 +-
 hw/display/xenfb.c                            |   32 +-
 hw/i386/kvm/meson.build                       |    1 +
 hw/i386/kvm/trace-events                      |   15 +
 hw/i386/kvm/xen_evtchn.c                      |   15 +
 hw/i386/kvm/xen_gnttab.c                      |  325 ++++-
 hw/i386/kvm/xen_gnttab.h                      |    1 +
 hw/i386/kvm/xen_xenstore.c                    | 1251 +++++++++++++++-
 hw/i386/kvm/xenstore_impl.c                   | 1927 +++++++++++++++++++++++++
 hw/i386/kvm/xenstore_impl.h                   |   63 +
 hw/i386/pc.c                                  |    7 +
 hw/i386/pc_piix.c                             |    4 +-
 hw/i386/xen/xen-hvm.c                         |   38 +-
 hw/i386/xen/xen-mapcache.c                    |    2 +-
 hw/i386/xen/xen_platform.c                    |    7 +-
 hw/net/xen_nic.c                              |   25 +-
 hw/usb/meson.build                            |    2 +-
 hw/usb/xen-usb.c                              |   29 +-
 hw/xen/meson.build                            |    6 +-
 hw/xen/trace-events                           |    2 +-
 hw/xen/xen-bus-helper.c                       |   62 +-
 hw/xen/xen-bus.c                              |  411 +-----
 hw/xen/xen-legacy-backend.c                   |  254 +---
 hw/xen/xen-operations.c                       |  478 ++++++
 hw/xen/xen_devconfig.c                        |    4 +-
 hw/xen/xen_pt.c                               |    2 +-
 hw/xen/xen_pt.h                               |    2 +-
 hw/xen/xen_pt_config_init.c                   |    2 +-
 hw/xen/xen_pt_graphics.c                      |    1 -
 hw/xen/xen_pt_msi.c                           |    4 +-
 hw/xen/xen_pvdev.c                            |   63 +-
 include/hw/xen/xen-bus-helper.h               |   26 +-
 include/hw/xen/xen-bus.h                      |   21 +-
 include/hw/xen/xen-legacy-backend.h           |   24 +-
 include/hw/xen/xen.h                          |   24 +-
 include/hw/xen/xen_backend_ops.h              |  408 ++++++
 include/hw/xen/{xen_common.h => xen_native.h} |   75 +-
 include/hw/xen/xen_pvdev.h                    |    6 +-
 softmmu/globals.c                             |    4 +
 target/i386/kvm/xen-emu.c                     |    5 +
 tests/unit/meson.build                        |    1 +
 tests/unit/test-xs-node.c                     |  871 +++++++++++
 53 files changed, 5804 insertions(+), 927 deletions(-)
 create mode 100644 hw/i386/kvm/xenstore_impl.c
 create mode 100644 hw/i386/kvm/xenstore_impl.h
 create mode 100644 hw/xen/xen-operations.c
 create mode 100644 include/hw/xen/xen_backend_ops.h
 rename include/hw/xen/{xen_common.h => xen_native.h} (89%)
 create mode 100644 tests/unit/test-xs-node.c




From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507782.781817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc22-0003hY-2Y; Tue, 07 Mar 2023 18:27:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507782.781817; Tue, 07 Mar 2023 18: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 1pZc21-0003g1-Tj; Tue, 07 Mar 2023 18:27:25 +0000
Received: by outflank-mailman (input) for mailman id 507782;
 Tue, 07 Mar 2023 18:27: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc1z-0002M9-UT
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:23 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2652102-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:20 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc1o-006deP-3K; Tue, 07 Mar 2023 18:27:12 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1o-009e9p-0L; Tue, 07 Mar 2023 18:27:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: b2652102-bd15-11ed-96b5-2f268f93b82a
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=clpLW6t7rNTbn75BmNqsky8pta5BOUHGruM/9tE0I6Y=; b=oxyb0Zc977dL6HDYla/xb0jmRi
	wicc0b/PnADcjdbWq2Dk/p9BVwuybP+MgbvTevS8Wu1FoJTEwbavQ13D2W+BBHxm+zK8nU/h1jxsg
	vVzDOE4ufdCkp2mrCNM8aG7dTVuAYypKE1NizOKfOinHlUNtHRNqvM/pTY3BhNamgAGnjeL8aE9X5
	FNir07g/WsS3D4nqKatrbdKx/Bae+dfF4z076qYPgkvWfxI4QsBlajXd0RqQcunzJ2bd7vaqGx1c4
	Z28jdK/WW4iFZpHSOKJLthh+YQrw5+84C7cY/59OWc6GSDs1ysuXHiyD0rtSmNCnhAJ2fLHy30tDH
	Fqb//PVg==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 23/27] hw/xen: Map guest XENSTORE_PFN grant in emulated Xenstore
Date: Tue,  7 Mar 2023 18:27:03 +0000
Message-Id: <20230307182707.2298618-24-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>

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
first place. Map the grant anyway, mostly for cosmetic purposes so it
*looks* like it's in use in the guest-visible grant table.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index bf466c71ed..2cadafd56a 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -21,6 +21,7 @@
 
 #include "hw/sysbus.h"
 #include "hw/xen/xen.h"
+#include "hw/xen/xen_backend_ops.h"
 #include "xen_overlay.h"
 #include "xen_evtchn.h"
 #include "xen_xenstore.h"
@@ -34,6 +35,7 @@
 
 #include "hw/xen/interface/io/xs_wire.h"
 #include "hw/xen/interface/event_channel.h"
+#include "hw/xen/interface/grant_table.h"
 
 #define TYPE_XEN_XENSTORE "xen-xenstore"
 OBJECT_DECLARE_SIMPLE_TYPE(XenXenstoreState, XEN_XENSTORE)
@@ -66,6 +68,9 @@ struct XenXenstoreState {
 
     uint8_t *impl_state;
     uint32_t impl_state_size;
+
+    struct xengntdev_handle *gt;
+    void *granted_xs;
 };
 
 struct XenXenstoreState *xen_xenstore_singleton;
@@ -1453,6 +1458,17 @@ int xen_xenstore_reset(void)
     }
     s->be_port = err;
 
+    /*
+     * 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
+     * first place. Map the grant anyway, mostly for cosmetic purposes so
+     * it *looks* like it's in use in the guest-visible grant table.
+     */
+    s->gt = qemu_xen_gnttab_open();
+    uint32_t xs_gntref = GNTTAB_RESERVED_XENSTORE;
+    s->granted_xs = qemu_xen_gnttab_map_refs(s->gt, 1, xen_domid, &xs_gntref,
+                                             PROT_READ | PROT_WRITE);
+
     return 0;
 }
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507778.781784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc1z-0002mI-BM; Tue, 07 Mar 2023 18:27:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507778.781784; Tue, 07 Mar 2023 18: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 1pZc1z-0002kb-5S; Tue, 07 Mar 2023 18:27:23 +0000
Received: by outflank-mailman (input) for mailman id 507778;
 Tue, 07 Mar 2023 18: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc1x-0002M9-UC
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:22 +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 b11668c4-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1n-00H8T3-0Y; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e8R-0A; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b11668c4-bd15-11ed-96b5-2f268f93b82a
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=BkYMrTPfiwe8ful5EeikJA8cZYk3rSUcxns06e108Rc=; b=dY2QlCm7IXh6WsBhjK0nKl8xzd
	f2yogSGW7lsj22Vgrp2OBPQczHQYgkiNjy/zqevo7dbEl4RhXI7T6Xo251XW8aq623BwgQQFyUOq3
	1olI71ioh9h+/cI6xOYajuMwugxOX31vjcHWkjGTkHar12xiSa4+iPTh7jQR2ezRkk58jJETJRC5O
	2UzwbdKHTc50oL0gnzqfDGOZHTlE/4yfIG8M60SK/ShP7fpBSiFs7m6ov/PKTi4DJHcdE63yXFw6v
	zgfVIUaHUZvYD5j+PboWamizZrq2kfhDEQ0ZlQLhYZ4zomM7mRtIaZmN6GLRGfUDmEdl13FT1LKDn
	h5UzpXyg==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 05/27] hw/xen: Watches on XenStore transactions
Date: Tue,  7 Mar 2023 18:26:45 +0000
Message-Id: <20230307182707.2298618-6-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>

Firing watches on the nodes that still exist is relatively easy; just
walk the tree and look at the nodes with refcount of one.

Firing watches on *deleted* nodes is more fun. We add 'modified_in_tx'
and 'deleted_in_tx' flags to each node. Nodes with those flags cannot
be shared, as they will always be unique to the transaction in which
they were created.

When xs_node_walk would need to *create* a node as scaffolding and it
encounters a deleted_in_tx node, it can resurrect it simply by clearing
its deleted_in_tx flag. If that node originally had any *data*, they're
gone, and the modified_in_tx flag will have been set when it was first
deleted.

We then attempt to send appropriate watches when the transaction is
committed, properly delete the deleted_in_tx nodes, and remove the
modified_in_tx flag from the others.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xenstore_impl.c | 151 ++++++++++++++++++++++-
 tests/unit/test-xs-node.c   | 231 +++++++++++++++++++++++++++++++++++-
 2 files changed, 380 insertions(+), 2 deletions(-)

diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 0812e367b0..60f42f61d6 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -32,6 +32,8 @@ typedef struct XsNode {
     GByteArray *content;
     GHashTable *children;
     uint64_t gencnt;
+    bool deleted_in_tx;
+    bool modified_in_tx;
 #ifdef XS_NODE_UNIT_TEST
     gchar *name; /* debug only */
 #endif
@@ -153,6 +155,13 @@ static XsNode *xs_node_copy(XsNode *old)
     XsNode *n = xs_node_new();
 
     n->gencnt = old->gencnt;
+
+#ifdef XS_NODE_UNIT_TEST
+    if (n->name) {
+        n->name = g_strdup(old->name);
+    }
+#endif
+
     if (old->children) {
         n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
                                             (GDestroyNotify)xs_node_unref);
@@ -221,6 +230,9 @@ struct walk_op {
     bool mutating;
     bool create_dirs;
     bool in_transaction;
+
+    /* Tracking during recursion so we know which is first. */
+    bool deleted_in_tx;
 };
 
 static void fire_watches(struct walk_op *op, bool parents)
@@ -277,6 +289,9 @@ static int xs_node_add_content(XsNode **n, struct walk_op *op)
         g_byte_array_unref((*n)->content);
     }
     (*n)->content = g_byte_array_ref(data);
+    if (op->tx_id != XBT_NULL) {
+        (*n)->modified_in_tx = true;
+    }
     return 0;
 }
 
@@ -333,10 +348,62 @@ static int node_rm_recurse(gpointer key, gpointer value, gpointer user_data)
     return this_inplace;
 }
 
+static XsNode *xs_node_copy_deleted(XsNode *old, struct walk_op *op);
+static void copy_deleted_recurse(gpointer key, gpointer value,
+                                 gpointer user_data)
+{
+    struct walk_op *op = user_data;
+    GHashTable *siblings = op->op_opaque2;
+    XsNode *n = xs_node_copy_deleted(value, op);
+
+    /*
+     * Reinsert the deleted_in_tx copy of the node into the parent's
+     * 'children' hash table. Having stashed it from op->op_opaque2
+     * before the recursive call to xs_node_copy_deleted() scribbled
+     * over it.
+     */
+    g_hash_table_insert(siblings, g_strdup(key), n);
+}
+
+static XsNode *xs_node_copy_deleted(XsNode *old, struct walk_op *op)
+{
+    XsNode *n = xs_node_new();
+
+    n->gencnt = old->gencnt;
+
+#ifdef XS_NODE_UNIT_TEST
+    if (old->name) {
+        n->name = g_strdup(old->name);
+    }
+#endif
+
+    if (old->children) {
+        n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+                                            (GDestroyNotify)xs_node_unref);
+        op->op_opaque2 = n->children;
+        g_hash_table_foreach(old->children, copy_deleted_recurse, op);
+    }
+    n->deleted_in_tx = true;
+    /* If it gets resurrected we only fire a watch if it lost its content */
+    if (old->content) {
+        n->modified_in_tx = true;
+    }
+    op->new_nr_nodes--;
+    return n;
+}
+
 static int xs_node_rm(XsNode **n, struct walk_op *op)
 {
     bool this_inplace = op->inplace;
 
+    if (op->tx_id != XBT_NULL) {
+        /* It's not trivial to do inplace handling for this one */
+        XsNode *old = *n;
+        *n = xs_node_copy_deleted(old, op);
+        xs_node_unref(old);
+        return 0;
+    }
+
     /* Fire watches for, and count, nodes in the subtree which get deleted */
     if ((*n)->children) {
         g_hash_table_foreach_remove((*n)->children, node_rm_recurse, op);
@@ -408,6 +475,10 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
     }
 
     if (child) {
+        if (child->deleted_in_tx) {
+            assert(child->ref == 1);
+            /* Cannot actually set child->deleted_in_tx = false until later */
+        }
         xs_node_ref(child);
         /*
          * Now we own it too. But if we can modify inplace, that's going to
@@ -475,6 +546,15 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
         xs_node_unref(old);
     }
 
+    /*
+     * If we resurrected a deleted_in_tx node, we can mark it as no longer
+     * deleted now that we know the overall operation has succeeded.
+     */
+    if (op->create_dirs && child && child->deleted_in_tx) {
+        op->new_nr_nodes++;
+        child->deleted_in_tx = false;
+    }
+
     /*
      * The child may be NULL here, for a remove operation. Either way,
      * xs_node_add_child() will do the right thing and return a value
@@ -709,8 +789,69 @@ int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
     return 0;
 }
 
+static gboolean tx_commit_walk(gpointer key, gpointer value,
+                               gpointer user_data)
+{
+    struct walk_op *op = user_data;
+    int path_len = strlen(op->path);
+    int key_len = strlen(key);
+    bool fire_parents = true;
+    XsWatch *watch;
+    XsNode *n = value;
+
+    if (n->ref != 1) {
+        return false;
+    }
+
+    if (n->deleted_in_tx) {
+        /*
+         * We fire watches on our parents if we are the *first* node
+         * to be deleted (the topmost one). This matches the behaviour
+         * when deleting in the live tree.
+         */
+        fire_parents = !op->deleted_in_tx;
+
+        /* Only used on the way down so no need to clear it later */
+        op->deleted_in_tx = true;
+    }
+
+    assert(key_len + path_len + 2 <= sizeof(op->path));
+    op->path[path_len] = '/';
+    memcpy(op->path + path_len + 1, key, key_len + 1);
+
+    watch = g_hash_table_lookup(op->s->watches, op->path);
+    if (watch) {
+        op->watches = g_list_append(op->watches, watch);
+    }
+
+    if (n->children) {
+        g_hash_table_foreach_remove(n->children, tx_commit_walk, op);
+    }
+
+    if (watch) {
+        op->watches = g_list_remove(op->watches, watch);
+    }
+
+    /*
+     * Don't fire watches if this node was only copied because a
+     * descendent was changed. The modified_in_tx flag indicates the
+     * ones which were really changed.
+     */
+    if (n->modified_in_tx || n->deleted_in_tx) {
+        fire_watches(op, fire_parents);
+        n->modified_in_tx = false;
+    }
+    op->path[path_len] = '\0';
+
+    /* Deleted nodes really do get expunged when we commit */
+    return n->deleted_in_tx;
+}
+
 static int transaction_commit(XenstoreImplState *s, XsTransaction *tx)
 {
+    struct walk_op op;
+    XsNode **n;
+
     if (s->root_tx != tx->base_tx) {
         return EAGAIN;
     }
@@ -720,10 +861,18 @@ static int transaction_commit(XenstoreImplState *s, XsTransaction *tx)
     s->root_tx = tx->tx_id;
     s->nr_nodes = tx->nr_nodes;
 
+    init_walk_op(s, &op, XBT_NULL, tx->dom_id, "/", &n);
+    op.deleted_in_tx = false;
+    op.mutating = true;
+
     /*
-     * XX: Walk the new root and fire watches on any node which has a
+     * Walk the new root and fire watches on any node which has a
      * refcount of one (which is therefore unique to this transaction).
      */
+    if (s->root->children) {
+        g_hash_table_foreach_remove(s->root->children, tx_commit_walk, &op);
+    }
+
     return 0;
 }
 
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index 3c3654550a..02c72baa62 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -347,7 +347,13 @@ static void do_test_xs_node_tx(bool fail, bool commit)
     } else {
         g_assert(!err);
     }
-    g_assert(!watches->len);
+    if (commit && !fail) {
+        g_assert(!strcmp(watches->str,
+                         "some/relative/pathwatch"));
+        g_string_truncate(watches, 0);
+    } else {
+       g_assert(!watches->len);
+    }
     g_assert(s->nr_nodes == 7);
 
     err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
@@ -386,6 +392,226 @@ static void test_xs_node_tx_succeed(void)
     do_test_xs_node_tx(false, true);
 }
 
+static void test_xs_node_tx_rm(void)
+{
+    XenstoreImplState *s = setup();
+    GString *watches = g_string_new(NULL);
+    GByteArray *data = g_byte_array_new();
+    unsigned int tx_id = XBT_NULL;
+    int err;
+
+    g_assert(s);
+
+    /* Set a watch */
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+    g_assert(watches->len == strlen("somewatch"));
+    g_assert(!strcmp(watches->str, "somewatch"));
+    g_string_truncate(watches, 0);
+
+    /* Write something */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+    g_assert(!strcmp(watches->str,
+                     "some/deep/dark/relative/pathwatch"));
+    g_string_truncate(watches, 0);
+
+    /* Create a transaction */
+    err = xs_impl_transaction_start(s, DOMID_GUEST, &tx_id);
+    g_assert(!err);
+
+    /* Delete the tree in the transaction */
+    err = xs_impl_rm(s, DOMID_GUEST, tx_id, "some/deep/dark");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+    g_assert(!watches->len);
+
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                       data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something"));
+    g_assert(!memcmp(data->data, "something", data->len));
+    g_byte_array_set_size(data, 0);
+
+    /* Commit the transaction */
+    err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
+    g_assert(!err);
+    g_assert(s->nr_nodes == 6);
+
+    g_assert(!strcmp(watches->str, "some/deep/darkwatch"));
+    g_string_truncate(watches, 0);
+
+    /* Now the node is gone */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                       data);
+    g_assert(err == ENOENT);
+    g_byte_array_unref(data);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+
+    g_string_free(watches, true);
+    xs_impl_delete(s);
+}
+
+static void test_xs_node_tx_resurrect(void)
+{
+    XenstoreImplState *s = setup();
+    GString *watches = g_string_new(NULL);
+    GByteArray *data = g_byte_array_new();
+    unsigned int tx_id = XBT_NULL;
+    int err;
+
+    g_assert(s);
+
+    /* Write something */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* This node will be wiped and resurrected */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark",
+                    "foo");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* Set a watch */
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+    g_assert(watches->len == strlen("somewatch"));
+    g_assert(!strcmp(watches->str, "somewatch"));
+    g_string_truncate(watches, 0);
+
+    /* Create a transaction */
+    err = xs_impl_transaction_start(s, DOMID_GUEST, &tx_id);
+    g_assert(!err);
+
+    /* Delete the tree in the transaction */
+    err = xs_impl_rm(s, DOMID_GUEST, tx_id, "some/deep");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+    g_assert(!watches->len);
+
+    /* Resurrect part of it */
+    err = write_str(s, DOMID_GUEST, tx_id, "some/deep/dark/different/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* Commit the transaction */
+    err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* lost data */
+    g_assert(strstr(watches->str, "some/deep/dark/different/pathwatch"));
+    /* topmost deleted */
+    g_assert(strstr(watches->str, "some/deep/dark/relativewatch"));
+    /* lost data */
+    g_assert(strstr(watches->str, "some/deep/darkwatch"));
+
+    g_string_truncate(watches, 0);
+
+    /* Now the node is gone */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                       data);
+    g_assert(err == ENOENT);
+    g_byte_array_unref(data);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+
+    g_string_free(watches, true);
+    xs_impl_delete(s);
+}
+
+static void test_xs_node_tx_resurrect2(void)
+{
+    XenstoreImplState *s = setup();
+    GString *watches = g_string_new(NULL);
+    GByteArray *data = g_byte_array_new();
+    unsigned int tx_id = XBT_NULL;
+    int err;
+
+    g_assert(s);
+
+    /* Write something */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 9);
+
+    /* Another node to remain shared */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/place/safe", "keepme");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
+    /* This node will be wiped and resurrected */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark",
+                    "foo");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
+    /* Set a watch */
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+    g_assert(watches->len == strlen("somewatch"));
+    g_assert(!strcmp(watches->str, "somewatch"));
+    g_string_truncate(watches, 0);
+
+    /* Create a transaction */
+    err = xs_impl_transaction_start(s, DOMID_GUEST, &tx_id);
+    g_assert(!err);
+
+    /* Delete the tree in the transaction */
+    err = xs_impl_rm(s, DOMID_GUEST, tx_id, "some/deep");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+    g_assert(!watches->len);
+
+    /* Resurrect part of it */
+    err = write_str(s, DOMID_GUEST, tx_id, "some/deep/dark/relative/path",
+                    "something");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
+    /* Commit the transaction */
+    err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
+    /* lost data */
+    g_assert(strstr(watches->str, "some/deep/dark/relative/pathwatch"));
+    /* lost data */
+    g_assert(strstr(watches->str, "some/deep/darkwatch"));
+
+    g_string_truncate(watches, 0);
+
+    /* Now the node is gone */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/deep/dark/relative/path",
+                       data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something"));
+    g_assert(!memcmp(data->data, "something", data->len));
+
+    g_byte_array_unref(data);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+
+    g_string_free(watches, true);
+    xs_impl_delete(s);
+}
+
 int main(int argc, char **argv)
 {
     g_test_init(&argc, &argv, NULL);
@@ -395,6 +621,9 @@ int main(int argc, char **argv)
     g_test_add_func("/xs_node/tx_abort", test_xs_node_tx_abort);
     g_test_add_func("/xs_node/tx_fail", test_xs_node_tx_fail);
     g_test_add_func("/xs_node/tx_succeed", test_xs_node_tx_succeed);
+    g_test_add_func("/xs_node/tx_rm", test_xs_node_tx_rm);
+    g_test_add_func("/xs_node/tx_resurrect", test_xs_node_tx_resurrect);
+    g_test_add_func("/xs_node/tx_resurrect2", test_xs_node_tx_resurrect2);
 
     return g_test_run();
 }
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507776.781771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc1y-0002ZH-Kt; Tue, 07 Mar 2023 18:27:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507776.781771; Tue, 07 Mar 2023 18:27: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 1pZc1y-0002Xo-Dc; Tue, 07 Mar 2023 18:27:22 +0000
Received: by outflank-mailman (input) for mailman id 507776;
 Tue, 07 Mar 2023 18: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc1w-0002M9-UG
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:20 +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 b14b444b-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1o-00H8TK-05; Tue, 07 Mar 2023 18:27:12 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e9U-2v; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b14b444b-bd15-11ed-96b5-2f268f93b82a
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=XcYyUSsIZ5DPXUpEedwRKiEDlpl47E4QL1UmqvKuII4=; b=mXjZh3oir2CzXxIvpNQfXwgxiv
	aKX/nCWb/Qkg+o8eWO9TSCMJYfBaEfsBYkZQk5xIA0AM70wfvlThGS6lNtQ7SQoCCqkOrzG/1Ab0r
	ysj4zC1pMgmMofP2hfc6ake3hRhvnvu1CZzy6PTKARXvgOz40kYbNCoxmTDPIHbet89dm3JR2/px0
	E+EmKp5/OpPyDK6K86iC+5ne3pEkuTHUNeA9ZoFLLX3RX7B9H4vf0H6M13rpO2t/sampfXTDGH4LA
	arrP54cyISm6VxR58Jcrxbs9m01MTlhB9P9FwqrlpmGgP0WXpBvFX/ngmDdsWphLlyoOWh9yZIvDr
	rm5zu11Q==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 19/27] hw/xen: Only advertise ring-page-order for xen-block if gnttab supports it
Date: Tue,  7 Mar 2023 18:26:59 +0000
Message-Id: <20230307182707.2298618-20-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>

Whem emulating Xen, multi-page grants are distinctly non-trivial and we
have elected not to support them for the time being. Don't advertise
them to the guest.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/block/xen-block.c | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 87299615e3..f5a744589d 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -83,7 +83,8 @@ static void xen_block_connect(XenDevice *xendev, Error **errp)
             g_free(ring_ref);
             return;
         }
-    } else if (order <= blockdev->props.max_ring_page_order) {
+    } else if (qemu_xen_gnttab_can_map_multi() &&
+               order <= blockdev->props.max_ring_page_order) {
         unsigned int i;
 
         nr_ring_ref = 1 << order;
@@ -255,8 +256,12 @@ static void xen_block_realize(XenDevice *xendev, Error **errp)
     }
 
     xen_device_backend_printf(xendev, "feature-flush-cache", "%u", 1);
-    xen_device_backend_printf(xendev, "max-ring-page-order", "%u",
-                              blockdev->props.max_ring_page_order);
+
+    if (qemu_xen_gnttab_can_map_multi()) {
+        xen_device_backend_printf(xendev, "max-ring-page-order", "%u",
+                                  blockdev->props.max_ring_page_order);
+    }
+
     xen_device_backend_printf(xendev, "info", "%u", blockdev->info);
 
     xen_device_frontend_printf(xendev, "virtual-device", "%lu",
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507783.781835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc23-0003zO-NF; Tue, 07 Mar 2023 18:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507783.781835; Tue, 07 Mar 2023 18: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 1pZc23-0003vo-0W; Tue, 07 Mar 2023 18:27:27 +0000
Received: by outflank-mailman (input) for mailman id 507783;
 Tue, 07 Mar 2023 18:27: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc20-0002MP-6g
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:24 +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 b1235e2d-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1n-00H8TA-1j; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e8s-1M; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b1235e2d-bd15-11ed-a550-8520e6686977
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=ZXh5QHgukOZTgV/qoyS0v8jG6O20d8mSR6buWcgbDbg=; b=C4R3gXq5/hWKZSqBRnsr++XS30
	NuwraW7T/CzsaAkSzZyXnb7yDJ8fLacKfBTq34OF/YP6bsCeFUymDkgtbk+jted1MMmXfwxNu5ygS
	fD2AEkiK9uuV2qv878sUzDS1emVR+vLKt4R90B+2S8kCd/dbR2vRRct/vb2EEQDZ/21g6ZKu6005K
	0/ZxJVh9iVfDfnmH775maFJwrkiJH+7/jdiomJvo/XGhkM+0nnR+MzomfZxJLuHRNoMvsUuwrxrcH
	tdAGIaLLBvs2zeCn1wtLY3Dx6ZWVO+/nkzppa2W3jDQqF9LuqxZrSFw/NqsgjNkDEn67u0oWt0GMT
	11wIg+tA==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 11/27] hw/xen: Pass grant ref to gnttab unmap operation
Date: Tue,  7 Mar 2023 18:26:51 +0000
Message-Id: <20230307182707.2298618-12-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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 commit introduced redirectable gnttab operations fairly
much like-for-like, with the exception of the extra arguments to the
->open() call which were always NULL/0 anyway.

This *changes* the arguments to the ->unmap() operation to include the
original ref# that was mapped. Under real Xen it isn't necessary; all we
need to do from QEMU is munmap(), then the kernel will release the grant,
and Xen does the tracking/refcounting for the guest.

When we have emulated grant tables though, we need to do all that for
ourselves. So let's have the back ends keep track of what they mapped
and pass it in to the ->unmap() method for us.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/9pfs/xen-9p-backend.c            |  7 ++++---
 hw/block/dataplane/xen-block.c      |  1 +
 hw/char/xen_console.c               |  2 +-
 hw/net/xen_nic.c                    | 13 ++++++++-----
 hw/usb/xen-usb.c                    | 21 ++++++++++++++++-----
 hw/xen/xen-bus.c                    |  4 ++--
 hw/xen/xen-legacy-backend.c         |  4 ++--
 hw/xen/xen-operations.c             |  9 ++++++++-
 include/hw/xen/xen-bus.h            |  2 +-
 include/hw/xen/xen-legacy-backend.h |  6 +++---
 include/hw/xen/xen_backend_ops.h    |  7 ++++---
 11 files changed, 50 insertions(+), 26 deletions(-)

diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
index 864bdaf952..d8bb0e847c 100644
--- a/hw/9pfs/xen-9p-backend.c
+++ b/hw/9pfs/xen-9p-backend.c
@@ -359,12 +359,13 @@ static int xen_9pfs_free(struct XenLegacyDevice *xendev)
         if (xen_9pdev->rings[i].data != NULL) {
             xen_be_unmap_grant_refs(&xen_9pdev->xendev,
                                     xen_9pdev->rings[i].data,
+                                    xen_9pdev->rings[i].intf->ref,
                                     (1 << xen_9pdev->rings[i].ring_order));
         }
         if (xen_9pdev->rings[i].intf != NULL) {
-            xen_be_unmap_grant_refs(&xen_9pdev->xendev,
-                                    xen_9pdev->rings[i].intf,
-                                    1);
+            xen_be_unmap_grant_ref(&xen_9pdev->xendev,
+                                   xen_9pdev->rings[i].intf,
+                                   xen_9pdev->rings[i].ref);
         }
         if (xen_9pdev->rings[i].bh != NULL) {
             qemu_bh_delete(xen_9pdev->rings[i].bh);
diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index 2785b9e849..e55b713002 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -705,6 +705,7 @@ void xen_block_dataplane_stop(XenBlockDataPlane *dataplane)
         Error *local_err = NULL;
 
         xen_device_unmap_grant_refs(xendev, dataplane->sring,
+                                    dataplane->ring_ref,
                                     dataplane->nr_ring_ref, &local_err);
         dataplane->sring = NULL;
 
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 63153dfde4..19ad6c946a 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -271,7 +271,7 @@ static void con_disconnect(struct XenLegacyDevice *xendev)
         if (!xendev->dev) {
             xenforeignmemory_unmap(xen_fmem, con->sring, 1);
         } else {
-            xen_be_unmap_grant_ref(xendev, con->sring);
+            xen_be_unmap_grant_ref(xendev, con->sring, con->ring_ref);
         }
         con->sring = NULL;
     }
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index 7d92c2d022..166d03787d 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -181,7 +181,7 @@ 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);
+            xen_be_unmap_grant_ref(&netdev->xendev, page, txreq.gref);
             net_tx_response(netdev, &txreq, NETIF_RSP_OKAY);
         }
         if (!netdev->tx_work) {
@@ -261,7 +261,7 @@ static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf, size_t size
         return -1;
     }
     memcpy(page + NET_IP_ALIGN, buf, size);
-    xen_be_unmap_grant_ref(&netdev->xendev, page);
+    xen_be_unmap_grant_ref(&netdev->xendev, page, rxreq.gref);
     net_rx_response(netdev, &rxreq, NETIF_RSP_OKAY, NET_IP_ALIGN, size, 0);
 
     return size;
@@ -343,7 +343,8 @@ static int net_connect(struct XenLegacyDevice *xendev)
                                        netdev->rx_ring_ref,
                                        PROT_READ | PROT_WRITE);
     if (!netdev->rxs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs);
+        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs,
+                               netdev->tx_ring_ref);
         netdev->txs = NULL;
         return -1;
     }
@@ -368,11 +369,13 @@ static void net_disconnect(struct XenLegacyDevice *xendev)
     xen_pv_unbind_evtchn(&netdev->xendev);
 
     if (netdev->txs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs);
+        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs,
+                               netdev->tx_ring_ref);
         netdev->txs = NULL;
     }
     if (netdev->rxs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->rxs);
+        xen_be_unmap_grant_ref(&netdev->xendev, netdev->rxs,
+                               netdev->rx_ring_ref);
         netdev->rxs = NULL;
     }
 }
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index 0f7369e7ed..a770a64cb4 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -101,6 +101,8 @@ struct usbback_hotplug {
 struct usbback_info {
     struct XenLegacyDevice         xendev;  /* must be first */
     USBBus                   bus;
+    uint32_t                 urb_ring_ref;
+    uint32_t                 conn_ring_ref;
     void                     *urb_sring;
     void                     *conn_sring;
     struct usbif_urb_back_ring urb_ring;
@@ -277,10 +279,11 @@ static int usbback_init_packet(struct usbback_req *usbback_req)
 static void usbback_do_response(struct usbback_req *usbback_req, int32_t status,
                                 int32_t actual_length, int32_t error_count)
 {
+    uint32_t ref[USBIF_MAX_SEGMENTS_PER_REQUEST];
     struct usbback_info *usbif;
     struct usbif_urb_response *res;
     struct XenLegacyDevice *xendev;
-    unsigned int notify;
+    unsigned int notify, i;
 
     usbif = usbback_req->usbif;
     xendev = &usbif->xendev;
@@ -293,13 +296,19 @@ static void usbback_do_response(struct usbback_req *usbback_req, int32_t status,
     }
 
     if (usbback_req->buffer) {
-        xen_be_unmap_grant_refs(xendev, usbback_req->buffer,
+        for (i = 0; i < usbback_req->nr_buffer_segs; i++) {
+            ref[i] = usbback_req->req.seg[i].gref;
+        }
+        xen_be_unmap_grant_refs(xendev, usbback_req->buffer, ref,
                                 usbback_req->nr_buffer_segs);
         usbback_req->buffer = NULL;
     }
 
     if (usbback_req->isoc_buffer) {
-        xen_be_unmap_grant_refs(xendev, usbback_req->isoc_buffer,
+        for (i = 0; i < usbback_req->nr_extra_segs; i++) {
+            ref[i] = usbback_req->req.seg[i + usbback_req->req.nr_buffer_segs].gref;
+        }
+        xen_be_unmap_grant_refs(xendev, usbback_req->isoc_buffer, ref,
                                 usbback_req->nr_extra_segs);
         usbback_req->isoc_buffer = NULL;
     }
@@ -832,11 +841,11 @@ static void usbback_disconnect(struct XenLegacyDevice *xendev)
     xen_pv_unbind_evtchn(xendev);
 
     if (usbif->urb_sring) {
-        xen_be_unmap_grant_ref(xendev, usbif->urb_sring);
+        xen_be_unmap_grant_ref(xendev, usbif->urb_sring, usbif->urb_ring_ref);
         usbif->urb_sring = NULL;
     }
     if (usbif->conn_sring) {
-        xen_be_unmap_grant_ref(xendev, usbif->conn_sring);
+        xen_be_unmap_grant_ref(xendev, usbif->conn_sring, usbif->conn_ring_ref);
         usbif->conn_sring = NULL;
     }
 
@@ -889,6 +898,8 @@ static int usbback_connect(struct XenLegacyDevice *xendev)
         return -1;
     }
 
+    usbif->urb_ring_ref = urb_ring_ref;
+    usbif->conn_ring_ref = conn_ring_ref;
     urb_sring = usbif->urb_sring;
     conn_sring = usbif->conn_sring;
     BACK_RING_INIT(&usbif->urb_ring, urb_sring, XC_PAGE_SIZE);
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index b247e86f28..aee6a8c9b0 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -967,10 +967,10 @@ void *xen_device_map_grant_refs(XenDevice *xendev, uint32_t *refs,
     return map;
 }
 
-void xen_device_unmap_grant_refs(XenDevice *xendev, void *map,
+void xen_device_unmap_grant_refs(XenDevice *xendev, void *map, uint32_t *refs,
                                  unsigned int nr_refs, Error **errp)
 {
-    if (qemu_xen_gnttab_unmap(xendev->xgth, map, nr_refs)) {
+    if (qemu_xen_gnttab_unmap(xendev->xgth, map, refs, nr_refs)) {
         error_setg_errno(errp, errno, "xengnttab_unmap failed");
     }
 }
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index 1e9a28f263..a48a25aeb5 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -137,11 +137,11 @@ void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
 }
 
 void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
-                             unsigned int nr_refs)
+                             uint32_t *refs, unsigned int nr_refs)
 {
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    if (qemu_xen_gnttab_unmap(xendev->gnttabdev, ptr, nr_refs)) {
+    if (qemu_xen_gnttab_unmap(xendev->gnttabdev, ptr, refs, nr_refs)) {
         xen_pv_printf(xendev, 0, "xengnttab_unmap failed: %s\n",
                       strerror(errno));
     }
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index 2e74a28965..c5956d28c6 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -200,6 +200,13 @@ static xengnttab_handle *libxengnttab_backend_open(void)
     return xengnttab_open(NULL, 0);
 }
 
+static int libxengnttab_backend_unmap(xengnttab_handle *xgt,
+                                      void *start_address, uint32_t *refs,
+                                      uint32_t count)
+{
+    return xengnttab_unmap(xgt, start_address, count);
+}
+
 
 static struct gnttab_backend_ops libxengnttab_backend_ops = {
     .features = XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE,
@@ -208,7 +215,7 @@ static struct gnttab_backend_ops libxengnttab_backend_ops = {
     .grant_copy = libxengnttab_fallback_grant_copy,
     .set_max_grants = xengnttab_set_max_grants,
     .map_refs = xengnttab_map_domain_grant_refs,
-    .unmap = xengnttab_unmap,
+    .unmap = libxengnttab_backend_unmap,
 };
 
 void setup_xen_backend_ops(void)
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 72d71d1eb7..5a90e79d53 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -102,7 +102,7 @@ void xen_device_set_max_grant_refs(XenDevice *xendev, unsigned int nr_refs,
 void *xen_device_map_grant_refs(XenDevice *xendev, uint32_t *refs,
                                 unsigned int nr_refs, int prot,
                                 Error **errp);
-void xen_device_unmap_grant_refs(XenDevice *xendev, void *map,
+void xen_device_unmap_grant_refs(XenDevice *xendev, void *map, uint32_t *refs,
                                  unsigned int nr_refs, Error **errp);
 
 typedef struct XenDeviceGrantCopySegment {
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index eaf79cd221..ab28583267 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -52,7 +52,7 @@ void xen_be_set_max_grant_refs(struct XenLegacyDevice *xendev,
 void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
                             unsigned int nr_refs, int prot);
 void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
-                             unsigned int nr_refs);
+                             uint32_t *refs, unsigned int nr_refs);
 
 int xen_be_copy_grant_refs(struct XenLegacyDevice *xendev,
                            bool to_domain, XenGrantCopySegment segs[],
@@ -65,9 +65,9 @@ static inline void *xen_be_map_grant_ref(struct XenLegacyDevice *xendev,
 }
 
 static inline void xen_be_unmap_grant_ref(struct XenLegacyDevice *xendev,
-                                          void *ptr)
+                                          void *ptr, uint32_t ref)
 {
-    return xen_be_unmap_grant_refs(xendev, ptr, 1);
+    return xen_be_unmap_grant_refs(xendev, ptr, &ref, 1);
 }
 
 /* actual backend drivers */
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
index bb3333ab00..6f9d8e2c62 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -144,7 +144,8 @@ struct gnttab_backend_ops {
     int (*set_max_grants)(xengnttab_handle *xgt, uint32_t nr_grants);
     void *(*map_refs)(xengnttab_handle *xgt, uint32_t count, uint32_t domid,
                       uint32_t *refs, int prot);
-    int (*unmap)(xengnttab_handle *xgt, void *start_address, uint32_t count);
+    int (*unmap)(xengnttab_handle *xgt, void *start_address, uint32_t *refs,
+                 uint32_t count);
 };
 
 extern struct gnttab_backend_ops *xen_gnttab_ops;
@@ -204,13 +205,13 @@ static inline void *qemu_xen_gnttab_map_refs(xengnttab_handle *xgt,
 }
 
 static inline int qemu_xen_gnttab_unmap(xengnttab_handle *xgt,
-                                        void *start_address,
+                                        void *start_address, uint32_t *refs,
                                         uint32_t count)
 {
     if (!xen_gnttab_ops) {
         return -ENOSYS;
     }
-    return xen_gnttab_ops->unmap(xgt, start_address, count);
+    return xen_gnttab_ops->unmap(xgt, start_address, refs, count);
 }
 
 void setup_xen_backend_ops(void);
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507777.781775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc1y-0002dc-UG; Tue, 07 Mar 2023 18:27:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507777.781775; Tue, 07 Mar 2023 18:27: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 1pZc1y-0002aY-M3; Tue, 07 Mar 2023 18:27:22 +0000
Received: by outflank-mailman (input) for mailman id 507777;
 Tue, 07 Mar 2023 18:27: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc1x-0002MP-GL
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:21 +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 b0fdeab4-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1o-00H8TM-0Z; Tue, 07 Mar 2023 18:27:12 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1o-009e9k-0C; Tue, 07 Mar 2023 18:27:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: b0fdeab4-bd15-11ed-a550-8520e6686977
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=yg+OFEBFF3+21SsIrUO1tzv9aOwp5zwn1R5A2GNkukQ=; b=QNcukJ0saTmONdhPQBfm7P5sJ2
	QKsKkNEKTEdYi7e2wylsUQD9425V2ujHcrsLW8xSbErN1auZIU6kTpD6e6StkyeDFRVdsMFeb58jo
	oJCIO0tw42g+gSmNIMaG2qjkDkDE/BH3O8AlH3k3KlX1ai+O4TxkiE0T5wvvFCi3gtQQ5nBNOxQam
	oNdKDjVQNju/WcLfcb+K95mRZu5QzTD+kCDu6d4zrIOG3HE2Hr86lbl2xWaMr7Jbr1AqXJJ264IvE
	zT2cMHReTU/lbGClOi+kSJikqNGG3ERFewM9ObPCuEX/tj0y0xxLIaZlEzwSy45Nber5GhfR5eNBh
	Yvpcvrng==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 22/27] hw/xen: Add emulated implementation of XenStore operations
Date: Tue,  7 Mar 2023 18:27:02 +0000
Message-Id: <20230307182707.2298618-23-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>

Now that we have an internal implementation of XenStore, we can populate
the xenstore_backend_ops to allow PV backends to talk to it.

Watches can't be processed with immediate callbacks because that would
call back into XenBus code recursively. Defer them to a QEMUBH to be run
as appropriate from the main loop. We use a QEMUBH per XS handle, and it
walks all the watches (there shouldn't be many per handle) to fire any
which have pending events. We *could* have done it differently but this
allows us to use the same struct watch_event as we have for the guest
side, and keeps things relatively simple.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c | 273 ++++++++++++++++++++++++++++++++++++-
 1 file changed, 269 insertions(+), 4 deletions(-)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 35898e9b37..bf466c71ed 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -49,7 +49,7 @@ struct XenXenstoreState {
     /*< public >*/
 
     XenstoreImplState *impl;
-    GList *watch_events;
+    GList *watch_events; /* for the guest */
 
     MemoryRegion xenstore_page;
     struct xenstore_domain_interface *xs;
@@ -73,6 +73,8 @@ struct XenXenstoreState *xen_xenstore_singleton;
 static void xen_xenstore_event(void *opaque);
 static void fire_watch_cb(void *opaque, const char *path, const char *token);
 
+static struct xenstore_backend_ops emu_xenstore_backend_ops;
+
 static void G_GNUC_PRINTF (4, 5) relpath_printf(XenXenstoreState *s,
                                                 GList *perms,
                                                 const char *relpath,
@@ -169,6 +171,8 @@ static void xen_xenstore_realize(DeviceState *dev, Error **errp)
     relpath_printf(s, perms, "feature", "%s", "");
 
     g_list_free_full(perms, g_free);
+
+    xen_xenstore_ops = &emu_xenstore_backend_ops;
 }
 
 static bool xen_xenstore_is_needed(void *opaque)
@@ -1306,6 +1310,15 @@ struct watch_event {
     char *token;
 };
 
+static void free_watch_event(struct watch_event *ev)
+{
+    if (ev) {
+        g_free(ev->path);
+        g_free(ev->token);
+        g_free(ev);
+    }
+}
+
 static void queue_watch(XenXenstoreState *s, const char *path,
                         const char *token)
 {
@@ -1352,9 +1365,7 @@ static void process_watch_events(XenXenstoreState *s)
     deliver_watch(s, ev->path, ev->token);
 
     s->watch_events = g_list_remove(s->watch_events, ev);
-    g_free(ev->path);
-    g_free(ev->token);
-    g_free(ev);
+    free_watch_event(ev);
 }
 
 static void xen_xenstore_event(void *opaque)
@@ -1444,3 +1455,257 @@ int xen_xenstore_reset(void)
 
     return 0;
 }
+
+struct qemu_xs_handle {
+    XenstoreImplState *impl;
+    GList *watches;
+    QEMUBH *watch_bh;
+};
+
+struct qemu_xs_watch {
+    struct qemu_xs_handle *h;
+    char *path;
+    xs_watch_fn fn;
+    void *opaque;
+    GList *events;
+};
+
+static char *xs_be_get_domain_path(struct qemu_xs_handle *h, unsigned int domid)
+{
+    return g_strdup_printf("/local/domain/%u", domid);
+}
+
+static char **xs_be_directory(struct qemu_xs_handle *h, xs_transaction_t t,
+                              const char *path, unsigned int *num)
+{
+    GList *items = NULL, *l;
+    unsigned int i = 0;
+    char **items_ret;
+    int err;
+
+    err = xs_impl_directory(h->impl, DOMID_QEMU, t, path, NULL, &items);
+    if (err) {
+        errno = err;
+        return NULL;
+    }
+
+    items_ret = g_new0(char *, g_list_length(items) + 1);
+    *num = 0;
+    for (l = items; l; l = l->next) {
+        items_ret[i++] = l->data;
+        (*num)++;
+    }
+    g_list_free(items);
+    return items_ret;
+}
+
+static void *xs_be_read(struct qemu_xs_handle *h, xs_transaction_t t,
+                        const char *path, unsigned int *len)
+{
+    GByteArray *data = g_byte_array_new();
+    bool free_segment = false;
+    int err;
+
+    err = xs_impl_read(h->impl, DOMID_QEMU, t, path, data);
+    if (err) {
+        free_segment = true;
+        errno = err;
+    } else {
+        if (len) {
+            *len = data->len;
+        }
+        /* The xen-bus-helper code expects to get NUL terminated string! */
+        g_byte_array_append(data, (void *)"", 1);
+    }
+
+    return g_byte_array_free(data, free_segment);
+}
+
+static bool xs_be_write(struct qemu_xs_handle *h, xs_transaction_t t,
+                        const char *path, const void *data, unsigned int len)
+{
+    GByteArray *gdata = g_byte_array_new();
+    int err;
+
+    g_byte_array_append(gdata, data, len);
+    err = xs_impl_write(h->impl, DOMID_QEMU, t, path, gdata);
+    g_byte_array_unref(gdata);
+    if (err) {
+        errno = err;
+        return false;
+    }
+    return true;
+}
+
+static bool xs_be_create(struct qemu_xs_handle *h, xs_transaction_t t,
+                         unsigned int owner, unsigned int domid,
+                         unsigned int perms, const char *path)
+{
+    g_autoptr(GByteArray) data = g_byte_array_new();
+    GList *perms_list = NULL;
+    int err;
+
+    /* mkdir does this */
+    err = xs_impl_read(h->impl, DOMID_QEMU, t, path, data);
+    if (err == ENOENT) {
+        err = xs_impl_write(h->impl, DOMID_QEMU, t, path, data);
+    }
+    if (err) {
+        errno = err;
+        return false;
+    }
+
+    perms_list = g_list_append(perms_list,
+                               xs_perm_as_string(XS_PERM_NONE, owner));
+    perms_list = g_list_append(perms_list,
+                               xs_perm_as_string(perms, domid));
+
+    err = xs_impl_set_perms(h->impl, DOMID_QEMU, t, path, perms_list);
+    g_list_free_full(perms_list, g_free);
+    if (err) {
+        errno = err;
+        return false;
+    }
+    return true;
+}
+
+static bool xs_be_destroy(struct qemu_xs_handle *h, xs_transaction_t t,
+                          const char *path)
+{
+    int err = xs_impl_rm(h->impl, DOMID_QEMU, t, path);
+    if (err) {
+        errno = err;
+        return false;
+    }
+    return true;
+}
+
+static void be_watch_bh(void *_h)
+{
+    struct qemu_xs_handle *h = _h;
+    GList *l;
+
+    for (l = h->watches; l; l = l->next) {
+        struct qemu_xs_watch *w = l->data;
+
+        while (w->events) {
+            struct watch_event *ev = w->events->data;
+
+            w->fn(w->opaque, ev->path);
+
+            w->events = g_list_remove(w->events, ev);
+            free_watch_event(ev);
+        }
+    }
+}
+
+static void xs_be_watch_cb(void *opaque, const char *path, const char *token)
+{
+    struct watch_event *ev = g_new0(struct watch_event, 1);
+    struct qemu_xs_watch *w = opaque;
+
+    /* We don't care about the token */
+    ev->path = g_strdup(path);
+    w->events = g_list_append(w->events, ev);
+
+    qemu_bh_schedule(w->h->watch_bh);
+}
+
+static struct qemu_xs_watch *xs_be_watch(struct qemu_xs_handle *h,
+                                         const char *path, xs_watch_fn fn,
+                                         void *opaque)
+{
+    struct qemu_xs_watch *w = g_new0(struct qemu_xs_watch, 1);
+    int err;
+
+    w->h = h;
+    w->fn = fn;
+    w->opaque = opaque;
+
+    err = xs_impl_watch(h->impl, DOMID_QEMU, path, NULL, xs_be_watch_cb, w);
+    if (err) {
+        errno = err;
+        g_free(w);
+        return NULL;
+    }
+
+    w->path = g_strdup(path);
+    h->watches = g_list_append(h->watches, w);
+    return w;
+}
+
+static void xs_be_unwatch(struct qemu_xs_handle *h, struct qemu_xs_watch *w)
+{
+    xs_impl_unwatch(h->impl, DOMID_QEMU, w->path, NULL, xs_be_watch_cb, w);
+
+    h->watches = g_list_remove(h->watches, w);
+    g_list_free_full(w->events, (GDestroyNotify)free_watch_event);
+    g_free(w->path);
+    g_free(w);
+}
+
+static xs_transaction_t xs_be_transaction_start(struct qemu_xs_handle *h)
+{
+    unsigned int new_tx = XBT_NULL;
+    int err = xs_impl_transaction_start(h->impl, DOMID_QEMU, &new_tx);
+    if (err) {
+        errno = err;
+        return XBT_NULL;
+    }
+    return new_tx;
+}
+
+static bool xs_be_transaction_end(struct qemu_xs_handle *h, xs_transaction_t t,
+                                  bool abort)
+{
+    int err = xs_impl_transaction_end(h->impl, DOMID_QEMU, t, !abort);
+    if (err) {
+        errno = err;
+        return false;
+    }
+    return true;
+}
+
+static struct qemu_xs_handle *xs_be_open(void)
+{
+    XenXenstoreState *s = xen_xenstore_singleton;
+    struct qemu_xs_handle *h;
+
+    if (!s && !s->impl) {
+        errno = -ENOSYS;
+        return NULL;
+    }
+
+    h = g_new0(struct qemu_xs_handle, 1);
+    h->impl = s->impl;
+
+    h->watch_bh = aio_bh_new(qemu_get_aio_context(), be_watch_bh, h);
+
+    return h;
+}
+
+static void xs_be_close(struct qemu_xs_handle *h)
+{
+    while (h->watches) {
+        struct qemu_xs_watch *w = h->watches->data;
+        xs_be_unwatch(h, w);
+    }
+
+    qemu_bh_delete(h->watch_bh);
+    g_free(h);
+}
+
+static struct xenstore_backend_ops emu_xenstore_backend_ops = {
+    .open = xs_be_open,
+    .close = xs_be_close,
+    .get_domain_path = xs_be_get_domain_path,
+    .directory = xs_be_directory,
+    .read = xs_be_read,
+    .write = xs_be_write,
+    .create = xs_be_create,
+    .destroy = xs_be_destroy,
+    .watch = xs_be_watch,
+    .unwatch = xs_be_unwatch,
+    .transaction_start = xs_be_transaction_start,
+    .transaction_end = xs_be_transaction_end,
+};
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507784.781837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc23-0004EZ-Vo; Tue, 07 Mar 2023 18:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507784.781837; Tue, 07 Mar 2023 18: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 1pZc23-0004B7-Pc; Tue, 07 Mar 2023 18:27:27 +0000
Received: by outflank-mailman (input) for mailman id 507784;
 Tue, 07 Mar 2023 18: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc20-0002M9-UY
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:25 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2321385-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:20 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc1o-006deO-07; Tue, 07 Mar 2023 18:27:12 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1o-009e9g-02; Tue, 07 Mar 2023 18:27:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: b2321385-bd15-11ed-96b5-2f268f93b82a
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=WXECW/yONHCaXquJL7vAYq0QNJJsnDTCRwtBJgAs8SA=; b=VeOdOgCMg50X5le3mwRicMwdnp
	IPoBfEUe776AO5UEOUGwgxQjSig+Xu7jpaEuo0HlIuFeGsabjp30VeJUb+HK3c0j7njfFUVd2ZbWe
	Xe/M4FkjaSzXchaVXZ2FxDigCmltNG+g8FdNrT+K313UjrGXAyzUuFzLqbYxJAox5wqacNqSJYVIb
	V7OFLcU+8DMtMSH+1BtY4ALnOjXlUU5z7GoKVA36IVg/eW2Vs/R4zV8ijeVKRFiYRey7SK7+uwR77
	55QE1RXY4TCDrj6v8fIQJxrM9feiBEzvsVCjlWP1oBTqz7ZMbmZAPLk89fSbRUtYJUgnyeAnaBHbG
	TISUBO6w==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 21/27] hw/xen: Add emulated implementation of grant table operations
Date: Tue,  7 Mar 2023 18:27:01 +0000
Message-Id: <20230307182707.2298618-22-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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 limited to mapping a single grant at a time, because under Xen the
pages are mapped *contiguously* into qemu's address space, and that's very
hard to do when those pages actually come from anonymous mappings in qemu
in the first place.

Eventually perhaps we can look at using shared mappings of actual objects
for system RAM, and then we can make new mappings of the same backing
store (be it deleted files, shmem, whatever). But for now let's stick to
a page at a time.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_gnttab.c | 299 ++++++++++++++++++++++++++++++++++++++-
 1 file changed, 296 insertions(+), 3 deletions(-)

diff --git a/hw/i386/kvm/xen_gnttab.c b/hw/i386/kvm/xen_gnttab.c
index 1e691ded32..2bf91d36c0 100644
--- a/hw/i386/kvm/xen_gnttab.c
+++ b/hw/i386/kvm/xen_gnttab.c
@@ -22,6 +22,7 @@
 
 #include "hw/sysbus.h"
 #include "hw/xen/xen.h"
+#include "hw/xen/xen_backend_ops.h"
 #include "xen_overlay.h"
 #include "xen_gnttab.h"
 
@@ -34,11 +35,10 @@
 #define TYPE_XEN_GNTTAB "xen-gnttab"
 OBJECT_DECLARE_SIMPLE_TYPE(XenGnttabState, XEN_GNTTAB)
 
-#define XEN_PAGE_SHIFT 12
-#define XEN_PAGE_SIZE (1ULL << XEN_PAGE_SHIFT)
-
 #define ENTRIES_PER_FRAME_V1 (XEN_PAGE_SIZE / sizeof(grant_entry_v1_t))
 
+static struct gnttab_backend_ops emu_gnttab_backend_ops;
+
 struct XenGnttabState {
     /*< private >*/
     SysBusDevice busdev;
@@ -57,6 +57,8 @@ struct XenGnttabState {
     MemoryRegion gnt_frames;
     MemoryRegion *gnt_aliases;
     uint64_t *gnt_frame_gpas;
+
+    uint8_t *map_track;
 };
 
 struct XenGnttabState *xen_gnttab_singleton;
@@ -88,9 +90,15 @@ static void xen_gnttab_realize(DeviceState *dev, Error **errp)
         s->gnt_frame_gpas[i] = INVALID_GPA;
     }
 
+    s->entries.v1[GNTTAB_RESERVED_XENSTORE].flags = GTF_permit_access;
+    s->entries.v1[GNTTAB_RESERVED_XENSTORE].frame = XEN_SPECIAL_PFN(XENSTORE);
     qemu_mutex_init(&s->gnt_lock);
 
     xen_gnttab_singleton = s;
+
+    s->map_track = g_new0(uint8_t, s->max_frames * ENTRIES_PER_FRAME_V1);
+
+    xen_gnttab_ops = &emu_gnttab_backend_ops;
 }
 
 static int xen_gnttab_post_load(void *opaque, int version_id)
@@ -230,3 +238,288 @@ int xen_gnttab_query_size_op(struct gnttab_query_size *size)
     size->max_nr_frames = s->max_frames;
     return 0;
 }
+
+/* Track per-open refs, to allow close() to clean up. */
+struct active_ref {
+    MemoryRegionSection mrs;
+    void *virtaddr;
+    uint32_t refcnt;
+    int prot;
+};
+
+static void gnt_unref(XenGnttabState *s, grant_ref_t ref,
+                      MemoryRegionSection *mrs, int prot)
+{
+    if (mrs && mrs->mr) {
+        if (prot & PROT_WRITE) {
+            memory_region_set_dirty(mrs->mr, mrs->offset_within_region,
+                                    XEN_PAGE_SIZE);
+        }
+        memory_region_unref(mrs->mr);
+        mrs->mr = NULL;
+    }
+    assert(s->map_track[ref] != 0);
+
+    if (--s->map_track[ref] == 0) {
+        grant_entry_v1_t *gnt_p = &s->entries.v1[ref];
+        qatomic_and(&gnt_p->flags, (uint16_t)~(GTF_reading | GTF_writing));
+    }
+}
+
+static uint64_t gnt_ref(XenGnttabState *s, grant_ref_t ref, int prot)
+{
+    uint16_t mask = GTF_type_mask | GTF_sub_page;
+    grant_entry_v1_t gnt, *gnt_p;
+    int retries = 0;
+
+    if (ref >= s->max_frames * ENTRIES_PER_FRAME_V1 ||
+        s->map_track[ref] == UINT8_MAX) {
+        return INVALID_GPA;
+    }
+
+    if (prot & PROT_WRITE) {
+        mask |= GTF_readonly;
+    }
+
+    gnt_p = &s->entries.v1[ref];
+
+    /*
+     * The guest can legitimately be changing the GTF_readonly flag. Allow
+     * that, but don't let a malicious guest cause a livelock.
+     */
+    for (retries = 0; retries < 5; retries++) {
+        uint16_t new_flags;
+
+        /* Read the entry before an atomic operation on its flags */
+        gnt = *(volatile grant_entry_v1_t *)gnt_p;
+
+        if ((gnt.flags & mask) != GTF_permit_access ||
+            gnt.domid != DOMID_QEMU) {
+            return INVALID_GPA;
+        }
+
+        new_flags = gnt.flags | GTF_reading;
+        if (prot & PROT_WRITE) {
+            new_flags |= GTF_writing;
+        }
+
+        if (qatomic_cmpxchg(&gnt_p->flags, gnt.flags, new_flags) == gnt.flags) {
+            return (uint64_t)gnt.frame << XEN_PAGE_SHIFT;
+        }
+    }
+
+    return INVALID_GPA;
+}
+
+struct xengntdev_handle {
+    GHashTable *active_maps;
+};
+
+static int xen_be_gnttab_set_max_grants(struct xengntdev_handle *xgt,
+                                        uint32_t nr_grants)
+{
+    return 0;
+}
+
+static void *xen_be_gnttab_map_refs(struct xengntdev_handle *xgt,
+                                    uint32_t count, uint32_t domid,
+                                    uint32_t *refs, int prot)
+{
+    XenGnttabState *s = xen_gnttab_singleton;
+    struct active_ref *act;
+
+    if (!s) {
+        errno = ENOTSUP;
+        return NULL;
+    }
+
+    if (domid != xen_domid) {
+        errno = EINVAL;
+        return NULL;
+    }
+
+    if (!count || count > 4096) {
+        errno = EINVAL;
+        return NULL;
+    }
+
+    /*
+     * Making a contiguous mapping from potentially discontiguous grant
+     * references would be... distinctly non-trivial. We don't support it.
+     * Even changing the API to return an array of pointers, one per page,
+     * wouldn't be simple to use in PV backends because some structures
+     * actually cross page boundaries (e.g. 32-bit blkif_response ring
+     * entries are 12 bytes).
+     */
+    if (count != 1) {
+        errno = EINVAL;
+        return NULL;
+    }
+
+    QEMU_LOCK_GUARD(&s->gnt_lock);
+
+    act = g_hash_table_lookup(xgt->active_maps, GINT_TO_POINTER(refs[0]));
+    if (act) {
+        if ((prot & PROT_WRITE) && !(act->prot & PROT_WRITE)) {
+            if (gnt_ref(s, refs[0], prot) == INVALID_GPA) {
+                return NULL;
+            }
+            act->prot |= PROT_WRITE;
+        }
+        act->refcnt++;
+    } else {
+        uint64_t gpa = gnt_ref(s, refs[0], prot);
+        if (gpa == INVALID_GPA) {
+            errno = EINVAL;
+            return NULL;
+        }
+
+        act = g_new0(struct active_ref, 1);
+        act->prot = prot;
+        act->refcnt = 1;
+        act->mrs = memory_region_find(get_system_memory(), gpa, XEN_PAGE_SIZE);
+
+        if (act->mrs.mr &&
+            !int128_lt(act->mrs.size, int128_make64(XEN_PAGE_SIZE)) &&
+            memory_region_get_ram_addr(act->mrs.mr) != RAM_ADDR_INVALID) {
+            act->virtaddr = qemu_map_ram_ptr(act->mrs.mr->ram_block,
+                                             act->mrs.offset_within_region);
+        }
+        if (!act->virtaddr) {
+            gnt_unref(s, refs[0], &act->mrs, 0);
+            g_free(act);
+            errno = EINVAL;
+            return NULL;
+        }
+
+        s->map_track[refs[0]]++;
+        g_hash_table_insert(xgt->active_maps, GINT_TO_POINTER(refs[0]), act);
+    }
+
+    return act->virtaddr;
+}
+
+static gboolean do_unmap(gpointer key, gpointer value, gpointer user_data)
+{
+    XenGnttabState *s = user_data;
+    grant_ref_t gref = GPOINTER_TO_INT(key);
+    struct active_ref *act = value;
+
+    gnt_unref(s, gref, &act->mrs, act->prot);
+    g_free(act);
+    return true;
+}
+
+static int xen_be_gnttab_unmap(struct xengntdev_handle *xgt,
+                               void *start_address, uint32_t *refs,
+                               uint32_t count)
+{
+    XenGnttabState *s = xen_gnttab_singleton;
+    struct active_ref *act;
+
+    if (!s) {
+        return -ENOTSUP;
+    }
+
+    if (count != 1) {
+        return -EINVAL;
+    }
+
+    QEMU_LOCK_GUARD(&s->gnt_lock);
+
+    act = g_hash_table_lookup(xgt->active_maps, GINT_TO_POINTER(refs[0]));
+    if (!act) {
+        return -ENOENT;
+    }
+
+    if (act->virtaddr != start_address) {
+        return -EINVAL;
+    }
+
+    if (!--act->refcnt) {
+        do_unmap(GINT_TO_POINTER(refs[0]), act, s);
+        g_hash_table_remove(xgt->active_maps, GINT_TO_POINTER(refs[0]));
+    }
+
+    return 0;
+}
+
+/*
+ * This looks a bit like the one for true Xen in xen-operations.c but
+ * in emulation we don't support multi-page mappings. And under Xen we
+ * *want* the multi-page mappings so we have fewer bounces through the
+ * kernel and the hypervisor. So the code paths end up being similar,
+ * but different.
+ */
+static int xen_be_gnttab_copy(struct xengntdev_handle *xgt, bool to_domain,
+                              uint32_t domid, XenGrantCopySegment *segs,
+                              uint32_t nr_segs, Error **errp)
+{
+    int prot = to_domain ? PROT_WRITE : PROT_READ;
+    unsigned int i;
+
+    for (i = 0; i < nr_segs; i++) {
+        XenGrantCopySegment *seg = &segs[i];
+        void *page;
+        uint32_t ref = to_domain ? seg->dest.foreign.ref :
+            seg->source.foreign.ref;
+
+        page = xen_be_gnttab_map_refs(xgt, 1, domid, &ref, prot);
+        if (!page) {
+            if (errp) {
+                error_setg_errno(errp, errno,
+                                 "xen_be_gnttab_map_refs failed");
+            }
+            return -errno;
+        }
+
+        if (to_domain) {
+            memcpy(page + seg->dest.foreign.offset, seg->source.virt,
+                   seg->len);
+        } else {
+            memcpy(seg->dest.virt, page + seg->source.foreign.offset,
+                   seg->len);
+        }
+
+        if (xen_be_gnttab_unmap(xgt, page, &ref, 1)) {
+            if (errp) {
+                error_setg_errno(errp, errno, "xen_be_gnttab_unmap failed");
+            }
+            return -errno;
+        }
+    }
+
+    return 0;
+}
+
+static struct xengntdev_handle *xen_be_gnttab_open(void)
+{
+    struct xengntdev_handle *xgt = g_new0(struct xengntdev_handle, 1);
+
+    xgt->active_maps = g_hash_table_new(g_direct_hash, g_direct_equal);
+    return xgt;
+}
+
+static int xen_be_gnttab_close(struct xengntdev_handle *xgt)
+{
+    XenGnttabState *s = xen_gnttab_singleton;
+
+    if (!s) {
+        return -ENOTSUP;
+    }
+
+    g_hash_table_foreach_remove(xgt->active_maps, do_unmap, s);
+    g_hash_table_destroy(xgt->active_maps);
+    g_free(xgt);
+    return 0;
+}
+
+static struct gnttab_backend_ops emu_gnttab_backend_ops = {
+    .open = xen_be_gnttab_open,
+    .close = xen_be_gnttab_close,
+    .grant_copy = xen_be_gnttab_copy,
+    .set_max_grants = xen_be_gnttab_set_max_grants,
+    .map_refs = xen_be_gnttab_map_refs,
+    .unmap = xen_be_gnttab_unmap,
+};
+
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507781.781825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc22-0003pN-S7; Tue, 07 Mar 2023 18:27:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507781.781825; Tue, 07 Mar 2023 18: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 1pZc22-0003nm-Bi; Tue, 07 Mar 2023 18:27:26 +0000
Received: by outflank-mailman (input) for mailman id 507781;
 Tue, 07 Mar 2023 18: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc1z-0002MP-6K
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:23 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b11ade81-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc1o-006deS-4g; Tue, 07 Mar 2023 18:27:12 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1o-009e9t-0T; Tue, 07 Mar 2023 18:27:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: b11ade81-bd15-11ed-a550-8520e6686977
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=sITHLK7IN7D/Ke5/pulzgo4hxU3UNITjLOK0n4RQKaE=; b=RZMlahzobCy5dYZOUmjcjhSwni
	FRUjW85WWGoOn9LL5WQWQsiASZJgwvaTkBB0nFKgJA9Vi8No80FwZMq5JYgMprtKq7eKo6k/vijTg
	UfpnOMYj6wwXfS9jIdeF1Xhd0MRM7Enmd5qFPUs3CkCWXj4wRnXiAK0mX/VWOfC4g0JyYXWmL9pJH
	/rnchSlu73lqYQVDJ2hJA9TYGxMcaLCCJUIp2L8NgI7Ydf9ptNGm2J7OL9l+qkG8irBDE5aP1UKIp
	FOOI0OOL1duYELYBAkz6QvJlpBsqMibJC53C9Wkj9k2jHi0bkJ4InPQWBjhliH6gxQCBr81vlPYl2
	JcGhxK1A==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 24/27] hw/xen: Implement soft reset for emulated gnttab
Date: Tue,  7 Mar 2023 18:27:04 +0000
Message-Id: <20230307182707.2298618-25-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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 only part of it; we will also need to get the PV back end drivers
to tear down their own mappings (or do it for them, but they kind of need
to stop using the pointers too).

Some more work on the actual PV back ends and xen-bus code is going to be
needed to really make soft reset and migration fully functional, and this
part is the basis for that.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_gnttab.c  | 26 ++++++++++++++++++++++++--
 hw/i386/kvm/xen_gnttab.h  |  1 +
 target/i386/kvm/xen-emu.c |  5 +++++
 3 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/hw/i386/kvm/xen_gnttab.c b/hw/i386/kvm/xen_gnttab.c
index 2bf91d36c0..21c30e3659 100644
--- a/hw/i386/kvm/xen_gnttab.c
+++ b/hw/i386/kvm/xen_gnttab.c
@@ -72,13 +72,11 @@ static void xen_gnttab_realize(DeviceState *dev, Error **errp)
         error_setg(errp, "Xen grant table support is for Xen emulation");
         return;
     }
-    s->nr_frames = 0;
     s->max_frames = kvm_xen_get_gnttab_max_frames();
     memory_region_init_ram(&s->gnt_frames, OBJECT(dev), "xen:grant_table",
                            XEN_PAGE_SIZE * s->max_frames, &error_abort);
     memory_region_set_enabled(&s->gnt_frames, true);
     s->entries.v1 = memory_region_get_ram_ptr(&s->gnt_frames);
-    memset(s->entries.v1, 0, XEN_PAGE_SIZE * s->max_frames);
 
     /* Create individual page-sizes aliases for overlays */
     s->gnt_aliases = (void *)g_new0(MemoryRegion, s->max_frames);
@@ -90,8 +88,11 @@ static void xen_gnttab_realize(DeviceState *dev, Error **errp)
         s->gnt_frame_gpas[i] = INVALID_GPA;
     }
 
+    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);
+
     qemu_mutex_init(&s->gnt_lock);
 
     xen_gnttab_singleton = s;
@@ -523,3 +524,24 @@ static struct gnttab_backend_ops emu_gnttab_backend_ops = {
     .unmap = xen_be_gnttab_unmap,
 };
 
+int xen_gnttab_reset(void)
+{
+    XenGnttabState *s = xen_gnttab_singleton;
+
+    if (!s) {
+        return -ENOTSUP;
+    }
+
+    QEMU_LOCK_GUARD(&s->gnt_lock);
+
+    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);
+
+    memset(s->map_track, 0, s->max_frames * ENTRIES_PER_FRAME_V1);
+
+    return 0;
+}
diff --git a/hw/i386/kvm/xen_gnttab.h b/hw/i386/kvm/xen_gnttab.h
index 3bdbe96191..ee215239b0 100644
--- a/hw/i386/kvm/xen_gnttab.h
+++ b/hw/i386/kvm/xen_gnttab.h
@@ -13,6 +13,7 @@
 #define QEMU_XEN_GNTTAB_H
 
 void xen_gnttab_create(void);
+int xen_gnttab_reset(void);
 int xen_gnttab_map_page(uint64_t idx, uint64_t gfn);
 
 struct gnttab_set_version;
diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index bad3131d08..0bb6c601c9 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -1406,6 +1406,11 @@ int kvm_xen_soft_reset(void)
         return err;
     }
 
+    err = xen_gnttab_reset();
+    if (err) {
+        return err;
+    }
+
     err = xen_xenstore_reset();
     if (err) {
         return err;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507774.781759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc1x-0002Mc-R8; Tue, 07 Mar 2023 18:27:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507774.781759; Tue, 07 Mar 2023 18: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 1pZc1x-0002MV-OP; Tue, 07 Mar 2023 18:27:21 +0000
Received: by outflank-mailman (input) for mailman id 507774;
 Tue, 07 Mar 2023 18:27: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc1v-0002M9-8k
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:19 +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 b0e0b098-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1n-00H8TI-33; Tue, 07 Mar 2023 18:27:12 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e9J-2Z; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b0e0b098-bd15-11ed-96b5-2f268f93b82a
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=LCuGhkStdX7AYXdKG03Aj3hRWhx9QALsH27R8ZBBwAE=; b=DZ9/+6plNvW46NKhwdKl2dS920
	N0q+TYpACg76DGmQRDJuKqwypmyEd9Spuz3SrC9xdJM5iZwf2OaMmLAZZneyMiHp28Nqc3fTqFWO+
	sXTPsueJVUqd8MXNeEmcUhQsOzCD4jKOJo+EMfQmLMdTx/GMM1FiQI6H4GwZkZxCZhT38XolyuReJ
	UFqFN9G8hXXgQ5/XpLS1S3XvNtMnROu4LRRL4OgxlsUcBAgHTlDXRbAK+fTWFGQlSL5S0mCwS305T
	g+WmnWVETcQ36NKPduIAlAuExWXp+O64lNio9bOQcb6ocsJAl3E2EMgfBc6vtsJuwMsEKmwnI5Aeg
	wsvtbrRQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 17/27] hw/xen: Build PV backend drivers for CONFIG_XEN_BUS
Date: Tue,  7 Mar 2023 18:26:57 +0000
Message-Id: <20230307182707.2298618-18-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>

Now that we have the redirectable Xen backend operations we can build the
PV backends even without the Xen libraries.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/9pfs/meson.build            | 2 +-
 hw/block/dataplane/meson.build | 2 +-
 hw/block/meson.build           | 2 +-
 hw/char/meson.build            | 2 +-
 hw/display/meson.build         | 2 +-
 hw/usb/meson.build             | 2 +-
 hw/xen/meson.build             | 5 ++++-
 7 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/hw/9pfs/meson.build b/hw/9pfs/meson.build
index 12443b6ad5..fd37b7a02d 100644
--- a/hw/9pfs/meson.build
+++ b/hw/9pfs/meson.build
@@ -15,7 +15,7 @@ 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', if_true: files('xen-9p-backend.c'))
+fs_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-9p-backend.c'))
 softmmu_ss.add_all(when: 'CONFIG_FSDEV_9P', if_true: fs_ss)
 
 specific_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: files('virtio-9p-device.c'))
diff --git a/hw/block/dataplane/meson.build b/hw/block/dataplane/meson.build
index 12c6a264f1..78d7ac1a11 100644
--- a/hw/block/dataplane/meson.build
+++ b/hw/block/dataplane/meson.build
@@ -1,2 +1,2 @@
 specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c'))
-specific_ss.add(when: 'CONFIG_XEN', if_true: files('xen-block.c'))
+specific_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
diff --git a/hw/block/meson.build b/hw/block/meson.build
index b434d5654c..cc2a75cc50 100644
--- a/hw/block/meson.build
+++ b/hw/block/meson.build
@@ -14,7 +14,7 @@ softmmu_ss.add(when: 'CONFIG_PFLASH_CFI02', if_true: files('pflash_cfi02.c'))
 softmmu_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('m25p80.c'))
 softmmu_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('m25p80_sfdp.c'))
 softmmu_ss.add(when: 'CONFIG_SWIM', if_true: files('swim.c'))
-softmmu_ss.add(when: 'CONFIG_XEN', if_true: files('xen-block.c'))
+softmmu_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
 softmmu_ss.add(when: 'CONFIG_TC58128', if_true: files('tc58128.c'))
 
 specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c', 'virtio-blk-common.c'))
diff --git a/hw/char/meson.build b/hw/char/meson.build
index 7b594f51b8..e02c60dd54 100644
--- a/hw/char/meson.build
+++ b/hw/char/meson.build
@@ -18,7 +18,7 @@ softmmu_ss.add(when: 'CONFIG_SERIAL_PCI', if_true: files('serial-pci.c'))
 softmmu_ss.add(when: 'CONFIG_SERIAL_PCI_MULTI', if_true: files('serial-pci-multi.c'))
 softmmu_ss.add(when: 'CONFIG_SHAKTI_UART', if_true: files('shakti_uart.c'))
 softmmu_ss.add(when: 'CONFIG_VIRTIO_SERIAL', if_true: files('virtio-console.c'))
-softmmu_ss.add(when: 'CONFIG_XEN', if_true: files('xen_console.c'))
+softmmu_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen_console.c'))
 softmmu_ss.add(when: 'CONFIG_XILINX', if_true: files('xilinx_uartlite.c'))
 
 softmmu_ss.add(when: 'CONFIG_AVR_USART', if_true: files('avr_usart.c'))
diff --git a/hw/display/meson.build b/hw/display/meson.build
index f470179122..4191694380 100644
--- a/hw/display/meson.build
+++ b/hw/display/meson.build
@@ -14,7 +14,7 @@ softmmu_ss.add(when: 'CONFIG_PL110', if_true: files('pl110.c'))
 softmmu_ss.add(when: 'CONFIG_SII9022', if_true: files('sii9022.c'))
 softmmu_ss.add(when: 'CONFIG_SSD0303', if_true: files('ssd0303.c'))
 softmmu_ss.add(when: 'CONFIG_SSD0323', if_true: files('ssd0323.c'))
-softmmu_ss.add(when: 'CONFIG_XEN', if_true: files('xenfb.c'))
+softmmu_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
 
 softmmu_ss.add(when: 'CONFIG_VGA_PCI', if_true: files('vga-pci.c'))
 softmmu_ss.add(when: 'CONFIG_VGA_ISA', if_true: files('vga-isa.c'))
diff --git a/hw/usb/meson.build b/hw/usb/meson.build
index bdf34cbd3e..599dc24f0d 100644
--- a/hw/usb/meson.build
+++ b/hw/usb/meson.build
@@ -84,6 +84,6 @@ if libusb.found()
   hw_usb_modules += {'host': usbhost_ss}
 endif
 
-softmmu_ss.add(when: ['CONFIG_USB', 'CONFIG_XEN', libusb], if_true: files('xen-usb.c'))
+softmmu_ss.add(when: ['CONFIG_USB', 'CONFIG_XEN_BUS', libusb], if_true: files('xen-usb.c'))
 
 modules += { 'hw-usb': hw_usb_modules }
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index f195bbd25c..19c6aabc7c 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -1,10 +1,13 @@
-softmmu_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
+softmmu_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',
+))
+
+softmmu_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
   'xen-operations.c',
 ))
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507780.781808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc21-0003VR-5q; Tue, 07 Mar 2023 18:27:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507780.781808; Tue, 07 Mar 2023 18:27: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 1pZc21-0003To-1m; Tue, 07 Mar 2023 18:27:25 +0000
Received: by outflank-mailman (input) for mailman id 507780;
 Tue, 07 Mar 2023 18: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc1y-0002M9-UG
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:23 +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 b1149452-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1n-00H8T5-0w; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e8Z-0Z; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b1149452-bd15-11ed-96b5-2f268f93b82a
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=7Z2S61e7WpsLrt3zi7hRMgOfVybLHBG4TAni3mxOMtk=; b=Kx4ON87TO2js6RY3uJjg7WfrdB
	xNbQWSHufJK9nOPmNYGWD2o7GcjP4rmxb//EzCvYulEH7BvBBiqpZl31TeR7LFjIi6UWLSLmecWRV
	i51pa/daysjMPwH2g3EOnfn2FDg3IbMdPRbaj4Lsj+J/NJnm0bEkQY7WqDheU4pXLgC7mOBiZr+MU
	iCF6RfTd00V2LOEkUM3+QBDwCn9V/q+BeoU3UYxHltqXyaCfnIfZKlxM6ZukebKUYLLkPymvhpaRh
	mScJ8dMdxtcXAnICEECWbpwzi0n8vLvgPT4NkRi3vvZKSjmlQXxqYS4H72q1sPyIF9EFfeezLvgQS
	JymnUojw==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 07/27] hw/xen: Implement core serialize/deserialize methods for xenstore_impl
Date: Tue,  7 Mar 2023 18:26:47 +0000
Message-Id: <20230307182707.2298618-8-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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 implements the basic migration support in the back end, with unit
tests that give additional confidence in the node-counting already in
the tree.

However, the existing PV back ends like xen-disk don't support migration
yet. They will reset the ring and fail to continue where they left off.
We will fix that in future, but not in time for the 8.0 release.

Since there's also an open question of whether we want to serialize the
full XenStore or only the guest-owned nodes in /local/domain/${domid},
for now just mark the XenStore device as unmigratable.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c  |  26 +-
 hw/i386/kvm/xenstore_impl.c | 574 +++++++++++++++++++++++++++++++++++-
 hw/i386/kvm/xenstore_impl.h |   5 +
 tests/unit/test-xs-node.c   | 236 ++++++++++++++-
 4 files changed, 825 insertions(+), 16 deletions(-)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 3b409e3817..520422b147 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -66,6 +66,9 @@ struct XenXenstoreState {
     evtchn_port_t guest_port;
     evtchn_port_t be_port;
     struct xenevtchn_handle *eh;
+
+    uint8_t *impl_state;
+    uint32_t impl_state_size;
 };
 
 struct XenXenstoreState *xen_xenstore_singleton;
@@ -109,16 +112,26 @@ static bool xen_xenstore_is_needed(void *opaque)
 static int xen_xenstore_pre_save(void *opaque)
 {
     XenXenstoreState *s = opaque;
+    GByteArray *save;
 
     if (s->eh) {
         s->guest_port = xen_be_evtchn_get_guest_port(s->eh);
     }
+
+    g_free(s->impl_state);
+    save = xs_impl_serialize(s->impl);
+    s->impl_state = save->data;
+    s->impl_state_size = save->len;
+    g_byte_array_free(save, false);
+
     return 0;
 }
 
 static int xen_xenstore_post_load(void *opaque, int ver)
 {
     XenXenstoreState *s = opaque;
+    GByteArray *save;
+    int ret;
 
     /*
      * As qemu/dom0, rebind to the guest's port. The Windows drivers may
@@ -135,11 +148,18 @@ static int xen_xenstore_post_load(void *opaque, int ver)
         }
         s->be_port = be_port;
     }
-    return 0;
+
+    save = g_byte_array_new_take(s->impl_state, s->impl_state_size);
+    s->impl_state = NULL;
+    s->impl_state_size = 0;
+
+    ret = xs_impl_deserialize(s->impl, save, xen_domid, fire_watch_cb, s);
+    return ret;
 }
 
 static const VMStateDescription xen_xenstore_vmstate = {
     .name = "xen_xenstore",
+    .unmigratable = 1, /* The PV back ends don't migrate yet */
     .version_id = 1,
     .minimum_version_id = 1,
     .needed = xen_xenstore_is_needed,
@@ -155,6 +175,10 @@ static const VMStateDescription xen_xenstore_vmstate = {
         VMSTATE_BOOL(rsp_pending, XenXenstoreState),
         VMSTATE_UINT32(guest_port, XenXenstoreState),
         VMSTATE_BOOL(fatal_error, XenXenstoreState),
+        VMSTATE_UINT32(impl_state_size, XenXenstoreState),
+        VMSTATE_VARRAY_UINT32_ALLOC(impl_state, XenXenstoreState,
+                                    impl_state_size, 0,
+                                    vmstate_info_uint8, uint8_t),
         VMSTATE_END_OF_LIST()
     }
 };
diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 8a2053e243..305fe75519 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -37,6 +37,7 @@ typedef struct XsNode {
     uint64_t gencnt;
     bool deleted_in_tx;
     bool modified_in_tx;
+    unsigned int serialized_tx;
 #ifdef XS_NODE_UNIT_TEST
     gchar *name; /* debug only */
 #endif
@@ -68,6 +69,7 @@ struct XenstoreImplState {
     unsigned int nr_domu_transactions;
     unsigned int root_tx;
     unsigned int last_tx;
+    bool serialized;
 };
 
 
@@ -1156,8 +1158,10 @@ int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
     return xs_node_walk(n, &op);
 }
 
-int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
-                  const char *token, xs_impl_watch_fn fn, void *opaque)
+static int do_xs_impl_watch(XenstoreImplState *s, unsigned int dom_id,
+                            const char *path, const char *token,
+                            xs_impl_watch_fn fn, void *opaque)
+
 {
     char abspath[XENSTORE_ABS_PATH_MAX + 1];
     XsWatch *w, *l;
@@ -1200,12 +1204,22 @@ int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
         s->nr_domu_watches++;
     }
 
-    /* A new watch should fire immediately */
-    fn(opaque, path, token);
-
     return 0;
 }
 
+int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
+                  const char *token, xs_impl_watch_fn fn, void *opaque)
+{
+    int ret = do_xs_impl_watch(s, dom_id, path, token, fn, opaque);
+
+    if (!ret) {
+        /* A new watch should fire immediately */
+        fn(opaque, path, token);
+    }
+
+    return ret;
+}
+
 static XsWatch *free_watch(XenstoreImplState *s, XsWatch *w)
 {
     XsWatch *next = w->next;
@@ -1361,3 +1375,553 @@ XenstoreImplState *xs_impl_create(unsigned int dom_id)
     s->root_tx = s->last_tx = 1;
     return s;
 }
+
+
+static void clear_serialized_tx(gpointer key, gpointer value, gpointer opaque)
+{
+    XsNode *n = value;
+
+    n->serialized_tx = XBT_NULL;
+    if (n->children) {
+        g_hash_table_foreach(n->children, clear_serialized_tx, NULL);
+    }
+}
+
+static void clear_tx_serialized_tx(gpointer key, gpointer value,
+                                   gpointer opaque)
+{
+    XsTransaction *t = value;
+
+    clear_serialized_tx(NULL, t->root, NULL);
+}
+
+static void write_be32(GByteArray *save, uint32_t val)
+{
+    uint32_t be = htonl(val);
+    g_byte_array_append(save, (void *)&be, sizeof(be));
+}
+
+
+struct save_state {
+    GByteArray *bytes;
+    unsigned int tx_id;
+};
+
+#define MODIFIED_IN_TX  (1U << 0)
+#define DELETED_IN_TX   (1U << 1)
+#define NODE_REF        (1U << 2)
+
+static void save_node(gpointer key, gpointer value, gpointer opaque)
+{
+    struct save_state *ss = opaque;
+    XsNode *n = value;
+    char *name = key;
+    uint8_t flag = 0;
+
+    /* Child nodes (i.e. anything but the root) have a name */
+    if (name) {
+        g_byte_array_append(ss->bytes, key, strlen(key) + 1);
+    }
+
+    /*
+     * If we already wrote this node, refer to the previous copy.
+     * There's no rename/move in XenStore, so all we need to find
+     * it is the tx_id of the transation in which it exists. Which
+     * may be the root tx.
+     */
+    if (n->serialized_tx != XBT_NULL) {
+        flag = NODE_REF;
+        g_byte_array_append(ss->bytes, &flag, 1);
+        write_be32(ss->bytes, n->serialized_tx);
+    } else {
+        GList *l;
+        n->serialized_tx = ss->tx_id;
+
+        if (n->modified_in_tx) {
+            flag |= MODIFIED_IN_TX;
+        }
+        if (n->deleted_in_tx) {
+            flag |= DELETED_IN_TX;
+        }
+        g_byte_array_append(ss->bytes, &flag, 1);
+
+        if (n->content) {
+            write_be32(ss->bytes, n->content->len);
+            g_byte_array_append(ss->bytes, n->content->data, n->content->len);
+        } else {
+            write_be32(ss->bytes, 0);
+        }
+
+        for (l = n->perms; l; l = l->next) {
+            g_byte_array_append(ss->bytes, l->data, strlen(l->data) + 1);
+        }
+        /* NUL termination after perms */
+        g_byte_array_append(ss->bytes, (void *)"", 1);
+
+        if (n->children) {
+            g_hash_table_foreach(n->children, save_node, ss);
+        }
+        /* NUL termination after children (child name is NUL) */
+        g_byte_array_append(ss->bytes, (void *)"", 1);
+    }
+}
+
+static void save_tree(struct save_state *ss, uint32_t tx_id, XsNode *root)
+{
+    write_be32(ss->bytes, tx_id);
+    ss->tx_id = tx_id;
+    save_node(NULL, root, ss);
+}
+
+static void save_tx(gpointer key, gpointer value, gpointer opaque)
+{
+    uint32_t tx_id = GPOINTER_TO_INT(key);
+    struct save_state *ss = opaque;
+    XsTransaction *n = value;
+
+    write_be32(ss->bytes, n->base_tx);
+    write_be32(ss->bytes, n->dom_id);
+
+    save_tree(ss, tx_id, n->root);
+}
+
+static void save_watch(gpointer key, gpointer value, gpointer opaque)
+{
+    struct save_state *ss = opaque;
+    XsWatch *w = value;
+
+    /* We only save the *guest* watches. */
+    if (w->dom_id) {
+        gpointer relpath = key + w->rel_prefix;
+        g_byte_array_append(ss->bytes, relpath, strlen(relpath) + 1);
+        g_byte_array_append(ss->bytes, (void *)w->token, strlen(w->token) + 1);
+    }
+}
+
+GByteArray *xs_impl_serialize(XenstoreImplState *s)
+{
+    struct save_state ss;
+
+    ss.bytes = g_byte_array_new();
+
+    /*
+     * node = flags [ real_node / node_ref ]
+     *   flags = uint8_t (MODIFIED_IN_TX | DELETED_IN_TX | NODE_REF)
+     *   node_ref = tx_id (in which the original version of this node exists)
+     *   real_node = content perms child* NUL
+     *     content = len data
+     *       len = uint32_t
+     *       data = uint8_t{len}
+     *     perms = perm* NUL
+     *       perm = asciiz
+     *   child = name node
+     *     name = asciiz
+     *
+     * tree = tx_id node
+     *   tx_id = uint32_t
+     *
+     * transaction = base_tx_id dom_id tree
+     *   base_tx_id = uint32_t
+     *   dom_id = uint32_t
+     *
+     * tx_list = tree transaction* XBT_NULL
+     *
+     * watch = path token
+     *   path = asciiz
+     *   token = asciiz
+     *
+     * watch_list = watch* NUL
+     *
+     * xs_serialize_stream = last_tx tx_list watch_list
+     *   last_tx = uint32_t
+     */
+
+    /* Clear serialized_tx in every node. */
+    if (s->serialized) {
+        clear_serialized_tx(NULL, s->root, NULL);
+        g_hash_table_foreach(s->transactions, clear_tx_serialized_tx, NULL);
+    }
+
+    s->serialized = true;
+
+    write_be32(ss.bytes, s->last_tx);
+    save_tree(&ss, s->root_tx, s->root);
+    g_hash_table_foreach(s->transactions, save_tx, &ss);
+
+    write_be32(ss.bytes, XBT_NULL);
+
+    g_hash_table_foreach(s->watches, save_watch, &ss);
+    g_byte_array_append(ss.bytes, (void *)"", 1);
+
+    return ss.bytes;
+}
+
+struct unsave_state {
+    char path[XENSTORE_ABS_PATH_MAX + 1];
+    XenstoreImplState *s;
+    GByteArray *bytes;
+    uint8_t *d;
+    size_t l;
+    bool root_walk;
+};
+
+static int consume_be32(struct unsave_state *us, unsigned int *val)
+{
+    uint32_t d;
+
+    if (us->l < sizeof(d)) {
+        return -EINVAL;
+    }
+    memcpy(&d, us->d, sizeof(d));
+    *val = ntohl(d);
+    us->d += sizeof(d);
+    us->l -= sizeof(d);
+    return 0;
+}
+
+static int consume_string(struct unsave_state *us, char **str, size_t *len)
+{
+    size_t l;
+
+    if (!us->l) {
+        return -EINVAL;
+    }
+
+    l = strnlen((void *)us->d, us->l);
+    if (l == us->l) {
+        return -EINVAL;
+    }
+
+    if (str) {
+        *str = (void *)us->d;
+    }
+    if (len) {
+        *len = l;
+    }
+
+    us->d += l + 1;
+    us->l -= l + 1;
+    return 0;
+}
+
+static XsNode *lookup_node(XsNode *n, char *path)
+{
+    char *slash = strchr(path, '/');
+    XsNode *child;
+
+    if (path[0] == '\0') {
+        return n;
+    }
+
+    if (slash) {
+        *slash = '\0';
+    }
+
+    if (!n->children) {
+        return NULL;
+    }
+    child = g_hash_table_lookup(n->children, path);
+    if (!slash) {
+        return child;
+    }
+
+    *slash = '/';
+    if (!child) {
+        return NULL;
+    }
+    return lookup_node(child, slash + 1);
+}
+
+static XsNode *lookup_tx_node(struct unsave_state *us, unsigned int tx_id)
+{
+    XsTransaction *t;
+    if (tx_id == us->s->root_tx) {
+        return lookup_node(us->s->root, us->path + 1);
+    }
+
+    t = g_hash_table_lookup(us->s->transactions, GINT_TO_POINTER(tx_id));
+    if (!t) {
+        return NULL;
+    }
+    g_assert(t->root);
+    return lookup_node(t->root, us->path + 1);
+}
+
+static void count_child_nodes(gpointer key, gpointer value, gpointer user_data)
+{
+    unsigned int *nr_nodes = user_data;
+    XsNode *n = value;
+
+    (*nr_nodes)++;
+
+    if (n->children) {
+        g_hash_table_foreach(n->children, count_child_nodes, nr_nodes);
+    }
+}
+
+static int consume_node(struct unsave_state *us, XsNode **nodep,
+                        unsigned int *nr_nodes)
+{
+    XsNode *n = NULL;
+    uint8_t flags;
+    int ret;
+
+    if (us->l < 1) {
+        return -EINVAL;
+    }
+    flags = us->d[0];
+    us->d++;
+    us->l--;
+
+    if (flags == NODE_REF) {
+        unsigned int tx;
+
+        ret = consume_be32(us, &tx);
+        if (ret) {
+            return ret;
+        }
+
+        n = lookup_tx_node(us, tx);
+        if (!n) {
+            return -EINVAL;
+        }
+        n->ref++;
+        if (n->children) {
+            g_hash_table_foreach(n->children, count_child_nodes, nr_nodes);
+        }
+    } else {
+        uint32_t datalen;
+
+        if (flags & ~(DELETED_IN_TX | MODIFIED_IN_TX)) {
+            return -EINVAL;
+        }
+        n = xs_node_new();
+
+        if (flags & DELETED_IN_TX) {
+            n->deleted_in_tx = true;
+        }
+        if (flags & MODIFIED_IN_TX) {
+            n->modified_in_tx = true;
+        }
+        ret = consume_be32(us, &datalen);
+        if (ret) {
+            xs_node_unref(n);
+            return -EINVAL;
+        }
+        if (datalen) {
+            if (datalen > us->l) {
+                xs_node_unref(n);
+                return -EINVAL;
+            }
+
+            GByteArray *node_data = g_byte_array_new();
+            g_byte_array_append(node_data, us->d, datalen);
+            us->d += datalen;
+            us->l -= datalen;
+            n->content = node_data;
+
+            if (us->root_walk) {
+                n->modified_in_tx = true;
+            }
+        }
+        while (1) {
+            char *perm = NULL;
+            size_t permlen = 0;
+
+            ret = consume_string(us, &perm, &permlen);
+            if (ret) {
+                xs_node_unref(n);
+                return ret;
+            }
+
+            if (!permlen) {
+                break;
+            }
+
+            n->perms = g_list_append(n->perms, g_strdup(perm));
+        }
+
+        /* Now children */
+        while (1) {
+            size_t childlen;
+            char *childname;
+            char *pathend;
+            XsNode *child = NULL;
+
+            ret = consume_string(us, &childname, &childlen);
+            if (ret) {
+                xs_node_unref(n);
+                return ret;
+            }
+
+            if (!childlen) {
+                break;
+            }
+
+            pathend = us->path + strlen(us->path);
+            strncat(us->path, "/", sizeof(us->path) - 1);
+            strncat(us->path, childname, sizeof(us->path) - 1);
+
+            ret = consume_node(us, &child, nr_nodes);
+            *pathend = '\0';
+            if (ret) {
+                xs_node_unref(n);
+                return ret;
+            }
+            g_assert(child);
+            xs_node_add_child(n, childname, child);
+        }
+
+        /*
+         * If the node has no data and no children we still want to fire
+         * a watch on it.
+         */
+        if (us->root_walk && !n->children) {
+            n->modified_in_tx = true;
+        }
+    }
+
+    if (!n->deleted_in_tx) {
+        (*nr_nodes)++;
+    }
+
+    *nodep = n;
+    return 0;
+}
+
+static int consume_tree(struct unsave_state *us, XsTransaction *t)
+{
+    int ret;
+
+    ret = consume_be32(us, &t->tx_id);
+    if (ret) {
+        return ret;
+    }
+
+    if (t->tx_id > us->s->last_tx) {
+        return -EINVAL;
+    }
+
+    us->path[0] = '\0';
+
+    return consume_node(us, &t->root, &t->nr_nodes);
+}
+
+int xs_impl_deserialize(XenstoreImplState *s, GByteArray *bytes,
+                        unsigned int dom_id, xs_impl_watch_fn watch_fn,
+                        void *watch_opaque)
+{
+    struct unsave_state us;
+    XsTransaction base_t = { 0 };
+    int ret;
+
+    us.s = s;
+    us.bytes = bytes;
+    us.d = bytes->data;
+    us.l = bytes->len;
+
+    xs_impl_reset_watches(s, dom_id);
+    g_hash_table_remove_all(s->transactions);
+
+    xs_node_unref(s->root);
+    s->root = NULL;
+    s->root_tx = s->last_tx = XBT_NULL;
+
+    ret = consume_be32(&us, &s->last_tx);
+    if (ret) {
+        return ret;
+    }
+
+    /*
+     * Consume the base tree into a transaction so that watches can be
+     * fired as we commit it. By setting us.root_walk we cause the nodes
+     * to be marked as 'modified_in_tx' as they are created, so that the
+     * watches are triggered on them.
+     */
+    base_t.dom_id = dom_id;
+    base_t.base_tx = XBT_NULL;
+    us.root_walk = true;
+    ret = consume_tree(&us, &base_t);
+    if (ret) {
+        return ret;
+    }
+    us.root_walk = false;
+
+    /*
+     * Commit the transaction now while the refcount on all nodes is 1.
+     * Note that we haven't yet reinstated the *guest* watches but that's
+     * OK because we don't want the guest to see any changes. Even any
+     * backend nodes which get recreated should be *precisely* as they
+     * were before the migration. Back ends may have been instantiated
+     * already, and will see the frontend magically blink into existence
+     * now (well, from the aio_bh which fires the watches). It's their
+     * responsibility to rebuild everything precisely as it was before.
+     */
+    ret = transaction_commit(s, &base_t);
+    if (ret) {
+        return ret;
+    }
+
+    while (1) {
+        unsigned int base_tx;
+        XsTransaction *t;
+
+        ret = consume_be32(&us, &base_tx);
+        if (ret) {
+            return ret;
+        }
+        if (base_tx == XBT_NULL) {
+            break;
+        }
+
+        t = g_new0(XsTransaction, 1);
+        t->base_tx = base_tx;
+
+        ret = consume_be32(&us, &t->dom_id);
+        if (!ret) {
+            ret = consume_tree(&us, t);
+        }
+        if (ret) {
+            g_free(t);
+            return ret;
+        }
+        g_assert(t->root);
+        if (t->dom_id) {
+            s->nr_domu_transactions++;
+        }
+        g_hash_table_insert(s->transactions, GINT_TO_POINTER(t->tx_id), t);
+    }
+
+    while (1) {
+        char *path, *token;
+        size_t pathlen, toklen;
+
+        ret = consume_string(&us, &path, &pathlen);
+        if (ret) {
+            return ret;
+        }
+        if (!pathlen) {
+            break;
+        }
+
+        ret = consume_string(&us, &token, &toklen);
+        if (ret) {
+            return ret;
+        }
+
+        if (!watch_fn) {
+            continue;
+        }
+
+        ret = do_xs_impl_watch(s, dom_id, path, token, watch_fn, watch_opaque);
+        if (ret) {
+            return ret;
+        }
+    }
+
+    if (us.l) {
+        return -EINVAL;
+    }
+
+    return 0;
+}
diff --git a/hw/i386/kvm/xenstore_impl.h b/hw/i386/kvm/xenstore_impl.h
index 2f81251b5e..bbe2391e2e 100644
--- a/hw/i386/kvm/xenstore_impl.h
+++ b/hw/i386/kvm/xenstore_impl.h
@@ -61,4 +61,9 @@ int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
                     void *opaque);
 int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id);
 
+GByteArray *xs_impl_serialize(XenstoreImplState *s);
+int xs_impl_deserialize(XenstoreImplState *s, GByteArray *bytes,
+                        unsigned int dom_id, xs_impl_watch_fn watch_fn,
+                        void *watch_opaque);
+
 #endif /* QEMU_XENSTORE_IMPL_H */
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index 2c0f89c694..fda6a047d0 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -29,8 +29,32 @@ static GList *xs_node_list;
 #define DOMID_QEMU 0
 #define DOMID_GUEST 1
 
+static void dump_ref(const char *name, XsNode *n, int indent)
+{
+    int i;
+
+    if (!indent && name) {
+        printf("%s:\n", name);
+    }
+
+    for (i = 0; i < indent; i++) {
+        printf(" ");
+    }
+
+    printf("->%p(%d, '%s'): '%.*s'%s%s\n", n, n->ref, n->name,
+           (int)(n->content ? n->content->len : strlen("<empty>")),
+           n->content ? (char *)n->content->data : "<empty>",
+           n->modified_in_tx ? " MODIFIED" : "",
+           n->deleted_in_tx ? " DELETED" : "");
+
+    if (n->children) {
+        g_hash_table_foreach(n->children, (void *)dump_ref,
+                             GINT_TO_POINTER(indent + 2));
+    }
+}
+
 /* This doesn't happen in qemu but we want to make valgrind happy */
-static void xs_impl_delete(XenstoreImplState *s)
+static void xs_impl_delete(XenstoreImplState *s, bool last)
 {
     int err;
 
@@ -46,6 +70,10 @@ static void xs_impl_delete(XenstoreImplState *s)
     xs_node_unref(s->root);
     g_free(s);
 
+    if (!last) {
+        return;
+    }
+
     if (xs_node_list) {
         GList *l;
         for (l = xs_node_list; l; l = l->next) {
@@ -57,6 +85,137 @@ static void xs_impl_delete(XenstoreImplState *s)
     g_assert(!nr_xs_nodes);
 }
 
+struct compare_walk {
+    char path[XENSTORE_ABS_PATH_MAX + 1];
+    XsNode *parent_2;
+    bool compare_ok;
+};
+
+
+static bool compare_perms(GList *p1, GList *p2)
+{
+    while (p1) {
+        if (!p2 || g_strcmp0(p1->data, p2->data)) {
+            return false;
+        }
+        p1 = p1->next;
+        p2 = p2->next;
+    }
+    return (p2 == NULL);
+}
+
+static bool compare_content(GByteArray *c1, GByteArray *c2)
+{
+    size_t len1 = 0, len2 = 0;
+
+    if (c1) {
+        len1 = c1->len;
+    }
+    if (c2) {
+        len2 = c2->len;
+    }
+    if (len1 != len2) {
+        return false;
+    }
+
+    if (!len1) {
+        return true;
+    }
+
+    return !memcmp(c1->data, c2->data, len1);
+}
+
+static void compare_child(gpointer, gpointer, gpointer);
+
+static void compare_nodes(struct compare_walk *cw, XsNode *n1, XsNode *n2)
+{
+    int nr_children1 = 0, nr_children2 = 0;
+
+    if (n1->children) {
+        nr_children1 = g_hash_table_size(n1->children);
+    }
+    if (n2->children) {
+        nr_children2 = g_hash_table_size(n2->children);
+    }
+
+    if (n1->ref != n2->ref ||
+        n1->deleted_in_tx != n2->deleted_in_tx ||
+        n1->modified_in_tx != n2->modified_in_tx ||
+        !compare_perms(n1->perms, n2->perms) ||
+        !compare_content(n1->content, n2->content) ||
+        nr_children1 != nr_children2) {
+        cw->compare_ok = false;
+        printf("Compare failure on '%s'\n", cw->path);
+    }
+
+    if (nr_children1) {
+        XsNode *oldparent = cw->parent_2;
+        cw->parent_2 = n2;
+        g_hash_table_foreach(n1->children, compare_child, cw);
+
+        cw->parent_2 = oldparent;
+    }
+}
+
+static void compare_child(gpointer key, gpointer val, gpointer opaque)
+{
+    struct compare_walk *cw = opaque;
+    char *childname = key;
+    XsNode *child1 = val;
+    XsNode *child2 = g_hash_table_lookup(cw->parent_2->children, childname);
+    int pathlen = strlen(cw->path);
+
+    if (!child2) {
+        cw->compare_ok = false;
+        printf("Child '%s' does not exist under '%s'\n", childname, cw->path);
+        return;
+    }
+
+    strncat(cw->path, "/", sizeof(cw->path) - 1);
+    strncat(cw->path, childname, sizeof(cw->path) - 1);
+
+    compare_nodes(cw, child1, child2);
+    cw->path[pathlen] = '\0';
+}
+
+static bool compare_trees(XsNode *n1, XsNode *n2)
+{
+    struct compare_walk cw;
+
+    cw.path[0] = '\0';
+    cw.parent_2 = n2;
+    cw.compare_ok = true;
+
+    if (!n1 || !n2) {
+        return false;
+    }
+
+    compare_nodes(&cw, n1, n2);
+    return cw.compare_ok;
+}
+
+static void compare_tx(gpointer key, gpointer val, gpointer opaque)
+{
+    XenstoreImplState *s2 = opaque;
+    XsTransaction *t1 = val, *t2;
+    unsigned int tx_id = GPOINTER_TO_INT(key);
+
+    t2 = g_hash_table_lookup(s2->transactions, key);
+    g_assert(t2);
+
+    g_assert(t1->tx_id == tx_id);
+    g_assert(t2->tx_id == tx_id);
+    g_assert(t1->base_tx == t2->base_tx);
+    g_assert(t1->dom_id == t2->dom_id);
+    if (!compare_trees(t1->root, t2->root)) {
+        printf("Comparison failure in TX %u after serdes:\n", tx_id);
+        dump_ref("Original", t1->root, 0);
+        dump_ref("Deserialised", t2->root, 0);
+        g_assert(0);
+    }
+    g_assert(t1->nr_nodes == t2->nr_nodes);
+}
+
 static int write_str(XenstoreImplState *s, unsigned int dom_id,
                           unsigned int tx_id, const char *path,
                           const char *content)
@@ -78,6 +237,40 @@ static void watch_cb(void *_str, const char *path, const char *token)
     g_string_append(str, token);
 }
 
+static void check_serdes(XenstoreImplState *s)
+{
+    XenstoreImplState *s2 = xs_impl_create(DOMID_GUEST);
+    GByteArray *bytes = xs_impl_serialize(s);
+    int nr_transactions1, nr_transactions2;
+    int ret;
+
+    ret = xs_impl_deserialize(s2, bytes, DOMID_GUEST, watch_cb, NULL);
+    g_assert(!ret);
+
+    g_byte_array_unref(bytes);
+
+    g_assert(s->last_tx == s2->last_tx);
+    g_assert(s->root_tx == s2->root_tx);
+
+    if (!compare_trees(s->root, s2->root)) {
+        printf("Comparison failure in main tree after serdes:\n");
+        dump_ref("Original", s->root, 0);
+        dump_ref("Deserialised", s2->root, 0);
+        g_assert(0);
+    }
+
+    nr_transactions1 = g_hash_table_size(s->transactions);
+    nr_transactions2 = g_hash_table_size(s2->transactions);
+    g_assert(nr_transactions1 == nr_transactions2);
+
+    g_hash_table_foreach(s->transactions, compare_tx, s2);
+
+    g_assert(s->nr_domu_watches == s2->nr_domu_watches);
+    g_assert(s->nr_domu_transactions == s2->nr_domu_transactions);
+    g_assert(s->nr_nodes == s2->nr_nodes);
+    xs_impl_delete(s2, false);
+}
+
 static XenstoreImplState *setup(void)
 {
    XenstoreImplState *s = xs_impl_create(DOMID_GUEST);
@@ -293,7 +486,7 @@ static void test_xs_node_simple(void)
     g_string_free(qemu_watches, true);
     g_string_free(guest_watches, true);
     xs_node_unref(old_root);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 
@@ -365,6 +558,8 @@ static void do_test_xs_node_tx(bool fail, bool commit)
     g_assert(!memcmp(data->data, "something else", data->len));
     g_byte_array_set_size(data, 0);
 
+    check_serdes(s);
+
     /* Attempt to commit the transaction */
     err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, commit);
     if (commit && fail) {
@@ -381,6 +576,8 @@ static void do_test_xs_node_tx(bool fail, bool commit)
     }
     g_assert(s->nr_nodes == 7);
 
+    check_serdes(s);
+
     err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
                         watch_cb, watches);
     g_assert(!err);
@@ -399,7 +596,7 @@ static void do_test_xs_node_tx(bool fail, bool commit)
     }
     g_byte_array_unref(data);
     g_string_free(watches, true);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 static void test_xs_node_tx_fail(void)
@@ -461,6 +658,8 @@ static void test_xs_node_tx_rm(void)
     g_assert(!memcmp(data->data, "something", data->len));
     g_byte_array_set_size(data, 0);
 
+    check_serdes(s);
+
     /* Commit the transaction */
     err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
     g_assert(!err);
@@ -480,7 +679,7 @@ static void test_xs_node_tx_rm(void)
     g_assert(!err);
 
     g_string_free(watches, true);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 static void test_xs_node_tx_resurrect(void)
@@ -499,11 +698,16 @@ static void test_xs_node_tx_resurrect(void)
     g_assert(!err);
     g_assert(s->nr_nodes == 9);
 
+    /* Another node to remain shared */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/place/safe", "keepme");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 11);
+
     /* This node will be wiped and resurrected */
     err = write_str(s, DOMID_GUEST, XBT_NULL, "some/deep/dark",
                     "foo");
     g_assert(!err);
-    g_assert(s->nr_nodes == 9);
+    g_assert(s->nr_nodes == 11);
 
     /* Set a watch */
     err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
@@ -520,19 +724,23 @@ static void test_xs_node_tx_resurrect(void)
     /* Delete the tree in the transaction */
     err = xs_impl_rm(s, DOMID_GUEST, tx_id, "some/deep");
     g_assert(!err);
-    g_assert(s->nr_nodes == 9);
+    g_assert(s->nr_nodes == 11);
     g_assert(!watches->len);
 
     /* Resurrect part of it */
     err = write_str(s, DOMID_GUEST, tx_id, "some/deep/dark/different/path",
                     "something");
     g_assert(!err);
-    g_assert(s->nr_nodes == 9);
+    g_assert(s->nr_nodes == 11);
+
+    check_serdes(s);
 
     /* Commit the transaction */
     err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
     g_assert(!err);
-    g_assert(s->nr_nodes == 9);
+    g_assert(s->nr_nodes == 11);
+
+    check_serdes(s);
 
     /* lost data */
     g_assert(strstr(watches->str, "some/deep/dark/different/pathwatch"));
@@ -549,12 +757,14 @@ static void test_xs_node_tx_resurrect(void)
     g_assert(err == ENOENT);
     g_byte_array_unref(data);
 
+    check_serdes(s);
+
     err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
                         watch_cb, watches);
     g_assert(!err);
 
     g_string_free(watches, true);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 static void test_xs_node_tx_resurrect2(void)
@@ -608,11 +818,15 @@ static void test_xs_node_tx_resurrect2(void)
     g_assert(!err);
     g_assert(s->nr_nodes == 11);
 
+    check_serdes(s);
+
     /* Commit the transaction */
     err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, true);
     g_assert(!err);
     g_assert(s->nr_nodes == 11);
 
+    check_serdes(s);
+
     /* lost data */
     g_assert(strstr(watches->str, "some/deep/dark/relative/pathwatch"));
     /* lost data */
@@ -629,12 +843,14 @@ static void test_xs_node_tx_resurrect2(void)
 
     g_byte_array_unref(data);
 
+    check_serdes(s);
+
     err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
                         watch_cb, watches);
     g_assert(!err);
 
     g_string_free(watches, true);
-    xs_impl_delete(s);
+    xs_impl_delete(s, true);
 }
 
 int main(int argc, char **argv)
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507775.781765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc1y-0002Q0-6C; Tue, 07 Mar 2023 18:27:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507775.781765; Tue, 07 Mar 2023 18:27: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 1pZc1y-0002Pc-09; Tue, 07 Mar 2023 18:27:22 +0000
Received: by outflank-mailman (input) for mailman id 507775;
 Tue, 07 Mar 2023 18: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc1w-0002M9-4N
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:20 +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 b0ebae3d-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1n-00H8T2-08; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1m-009e8J-30; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b0ebae3d-bd15-11ed-96b5-2f268f93b82a
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=+GrJT1RUPTlZbaKvMbiojr7CZve8QJC+9zG/ntSg2ts=; b=YEmo7fPqJHBGIgZpTEqh2QkXxF
	TLc/dhnoI4+e+i8rAfmNPtZoeoyd1i1zCLF0ahhC+RWJj4O8MqS9L0zww0slKqO7FQ4HxguKc0Iti
	1M5/Dz4BvB8iBdvWsf1tujgftjNwvODI/c2BIlRjPBr+gJZtgI8IqpMJ5JAwTlDhiU2eUrieDO6Ha
	00BtVjGyxOjzkfdHVCRLoVEC9cKpqMBBGm2lnhBQA8ovo5SDLqhVY7O43owItaCmvNaWHcQXQ1CRk
	tL+WqdO7XAYyj07hXd+M7raxVkzoaQ2uRE2bbhZxcfGiIE811H17o7NDT3xUsyxDzitzLfsEbtbJV
	0Ua+ZWcg==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 03/27] hw/xen: Implement XenStore watches
Date: Tue,  7 Mar 2023 18:26:43 +0000
Message-Id: <20230307182707.2298618-4-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>

Starts out fairly simple: a hash table of watches based on the path.

Except there can be multiple watches on the same path, so the watch ends
up being a simple linked list, and the head of that list is in the hash
table. Which makes removal a bit of a PITA but it's not so bad; we just
special-case "I had to remove the head of the list and now I have to
replace it in / remove it from the hash table". And if we don't remove
the head, it's a simple linked-list operation.

We do need to fire watches on *deleted* nodes, so instead of just a simple
xs_node_unref() on the topmost victim, we need to recurse down and fire
watches on them all.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xenstore_impl.c | 253 +++++++++++++++++++++++++++++++++---
 tests/unit/test-xs-node.c   |  85 ++++++++++++
 2 files changed, 323 insertions(+), 15 deletions(-)

diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 9e10a31bea..9c2348835f 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -37,9 +37,20 @@ typedef struct XsNode {
 #endif
 } XsNode;
 
+typedef struct XsWatch {
+    struct XsWatch *next;
+    xs_impl_watch_fn *cb;
+    void *cb_opaque;
+    char *token;
+    unsigned int dom_id;
+    int rel_prefix;
+} XsWatch;
+
 struct XenstoreImplState {
     XsNode *root;
     unsigned int nr_nodes;
+    GHashTable *watches;
+    unsigned int nr_domu_watches;
 };
 
 static inline XsNode *xs_node_new(void)
@@ -146,6 +157,7 @@ struct walk_op {
     void *op_opaque;
     void *op_opaque2;
 
+    GList *watches;
     unsigned int dom_id;
 
     /* The number of nodes which will exist in the tree if this op succeeds. */
@@ -166,6 +178,35 @@ struct walk_op {
     bool create_dirs;
 };
 
+static void fire_watches(struct walk_op *op, bool parents)
+{
+    GList *l = NULL;
+    XsWatch *w;
+
+    if (!op->mutating) {
+        return;
+    }
+
+    if (parents) {
+        l = op->watches;
+    }
+
+    w = g_hash_table_lookup(op->s->watches, op->path);
+    while (w || l) {
+        if (!w) {
+            /* Fire the parent nodes from 'op' if asked to */
+            w = l->data;
+            l = l->next;
+            continue;
+        }
+
+        assert(strlen(op->path) > w->rel_prefix);
+        w->cb(w->cb_opaque, op->path + w->rel_prefix, w->token);
+
+        w = w->next;
+    }
+}
+
 static int xs_node_add_content(XsNode **n, struct walk_op *op)
 {
     GByteArray *data = op->op_opaque;
@@ -213,6 +254,8 @@ static int xs_node_get_content(XsNode **n, struct walk_op *op)
 static int node_rm_recurse(gpointer key, gpointer value, gpointer user_data)
 {
     struct walk_op *op = user_data;
+    int path_len = strlen(op->path);
+    int key_len = strlen(key);
     XsNode *n = value;
     bool this_inplace = op->inplace;
 
@@ -220,11 +263,22 @@ static int node_rm_recurse(gpointer key, gpointer value, gpointer user_data)
         op->inplace = 0;
     }
 
+    assert(key_len + path_len + 2 <= sizeof(op->path));
+    op->path[path_len] = '/';
+    memcpy(op->path + path_len + 1, key, key_len + 1);
+
     if (n->children) {
         g_hash_table_foreach_remove(n->children, node_rm_recurse, op);
     }
     op->new_nr_nodes--;
 
+    /*
+     * Fire watches on *this* node but not the parents because they are
+     * going to be deleted too, so the watch will fire for them anyway.
+     */
+    fire_watches(op, false);
+    op->path[path_len] = '\0';
+
     /*
      * Actually deleting the child here is just an optimisation; if we
      * don't then the final unref on the topmost victim will just have
@@ -238,7 +292,7 @@ static int xs_node_rm(XsNode **n, struct walk_op *op)
 {
     bool this_inplace = op->inplace;
 
-    /* Keep count of the nodes in the subtree which gets deleted. */
+    /* Fire watches for, and count, nodes in the subtree which get deleted */
     if ((*n)->children) {
         g_hash_table_foreach_remove((*n)->children, node_rm_recurse, op);
     }
@@ -269,9 +323,11 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
     XsNode *old = *n, *child = NULL;
     bool stole_child = false;
     bool this_inplace;
+    XsWatch *watch;
     int err;
 
     namelen = strlen(op->path);
+    watch = g_hash_table_lookup(op->s->watches, op->path);
 
     /* Is there a child, or do we hit the double-NUL termination? */
     if (op->path[namelen + 1]) {
@@ -292,6 +348,9 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
     if (!child_name) {
         /* This is the actual node on which the operation shall be performed */
         err = op->op_fn(n, op);
+        if (!err) {
+            fire_watches(op, true);
+        }
         goto out;
     }
 
@@ -333,11 +392,24 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
         goto out;
     }
 
+    /*
+     * If there's a watch on this node, add it to the list to be fired
+     * (with the correct full pathname for the modified node) at the end.
+     */
+    if (watch) {
+        op->watches = g_list_append(op->watches, watch);
+    }
+
     /*
      * Except for the temporary child-stealing as noted, our node has not
      * changed yet. We don't yet know the overall operation will complete.
      */
     err = xs_node_walk(&child, op);
+
+    if (watch) {
+        op->watches = g_list_remove(op->watches, watch);
+    }
+
     if (err || !op->mutating) {
         if (stole_child) {
             /* Put it back as it was. */
@@ -375,6 +447,7 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
  out:
     op->path[namelen] = '\0';
     if (!namelen) {
+        assert(!op->watches);
         /*
          * On completing the recursion back up the path walk and reaching the
          * top, assign the new node count if the operation was successful.
@@ -457,6 +530,7 @@ static int init_walk_op(XenstoreImplState *s, struct walk_op *op,
      * path element for the lookup.
      */
     op->path[strlen(op->path) + 1] = '\0';
+    op->watches = NULL;
     op->path[0] = '\0';
     op->inplace = true;
     op->mutating = false;
@@ -589,38 +663,187 @@ int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
 int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
                   const char *token, xs_impl_watch_fn fn, void *opaque)
 {
-    /*
-     * When calling the callback @fn, note that the path should
-     * precisely match the relative path that the guest provided, even
-     * if it was a relative path which needed to be prefixed with
-     * /local/domain/${domid}/
-     */
-    return ENOSYS;
+    char abspath[XENSTORE_ABS_PATH_MAX + 1];
+    XsWatch *w, *l;
+    int ret;
+
+    ret = validate_path(abspath, path, dom_id);
+    if (ret) {
+        return ret;
+    }
+
+    /* Check for duplicates */
+    l = w = g_hash_table_lookup(s->watches, abspath);
+    while (w) {
+        if (!g_strcmp0(token, w->token) &&  opaque == w->cb_opaque &&
+            fn == w->cb && dom_id == w->dom_id) {
+            return EEXIST;
+        }
+        w = w->next;
+    }
+
+    if (dom_id && s->nr_domu_watches >= XS_MAX_WATCHES) {
+        return E2BIG;
+    }
+
+    w = g_new0(XsWatch, 1);
+    w->token = g_strdup(token);
+    w->cb = fn;
+    w->cb_opaque = opaque;
+    w->dom_id = dom_id;
+    w->rel_prefix = strlen(abspath) - strlen(path);
+
+    /* l was looked up above when checking for duplicates */
+    if (l) {
+        w->next = l->next;
+        l->next = w;
+    } else {
+        g_hash_table_insert(s->watches, g_strdup(abspath), w);
+    }
+    if (dom_id) {
+        s->nr_domu_watches++;
+    }
+
+    /* A new watch should fire immediately */
+    fn(opaque, path, token);
+
+    return 0;
+}
+
+static XsWatch *free_watch(XenstoreImplState *s, XsWatch *w)
+{
+    XsWatch *next = w->next;
+
+    if (w->dom_id) {
+        assert(s->nr_domu_watches);
+        s->nr_domu_watches--;
+    }
+
+    g_free(w->token);
+    g_free(w);
+
+    return next;
 }
 
 int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
                     const char *path, const char *token,
                     xs_impl_watch_fn fn, void *opaque)
 {
+    char abspath[XENSTORE_ABS_PATH_MAX + 1];
+    XsWatch *w, **l;
+    int ret;
+
+    ret = validate_path(abspath, path, dom_id);
+    if (ret) {
+        return ret;
+    }
+
+    w = g_hash_table_lookup(s->watches, abspath);
+    if (!w) {
+        return ENOENT;
+    }
+
     /*
-     * When calling the callback @fn, note that the path should
-     * precisely match the relative path that the guest provided, even
-     * if it was a relative path which needed to be prefixed with
-     * /local/domain/${domid}/
+     * The hash table contains the first element of a list of
+     * watches. Removing the first element in the list is a
+     * special case because we have to update the hash table to
+     * point to the next (or remove it if there's nothing left).
      */
-    return ENOSYS;
+    if (!g_strcmp0(token, w->token) && fn == w->cb && opaque == w->cb_opaque &&
+        dom_id == w->dom_id) {
+        if (w->next) {
+            /* Insert the previous 'next' into the hash table */
+            g_hash_table_insert(s->watches, g_strdup(abspath), w->next);
+        } else {
+            /* Nothing left; remove from hash table */
+            g_hash_table_remove(s->watches, abspath);
+        }
+        free_watch(s, w);
+        return 0;
+    }
+
+    /*
+     * We're all done messing with the hash table because the element
+     * it points to has survived the cull. Now it's just a simple
+     * linked list removal operation.
+     */
+    for (l = &w->next; *l; l = &w->next) {
+        w = *l;
+
+        if (!g_strcmp0(token, w->token) && fn == w->cb &&
+            opaque != w->cb_opaque && dom_id == w->dom_id) {
+            *l = free_watch(s, w);
+            return 0;
+        }
+    }
+
+    return ENOENT;
 }
 
 int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id)
 {
-    /* Remove the watch that matches all four criteria */
-    return ENOSYS;
+    char **watch_paths;
+    guint nr_watch_paths;
+    guint i;
+
+    watch_paths = (char **)g_hash_table_get_keys_as_array(s->watches,
+                                                          &nr_watch_paths);
+
+    for (i = 0; i < nr_watch_paths; i++) {
+        XsWatch *w1 = g_hash_table_lookup(s->watches, watch_paths[i]);
+        XsWatch *w2, *w, **l;
+
+        /*
+         * w1 is the original list. The hash table has this pointer.
+         * w2 is the head of our newly-filtered list.
+         * w and l are temporary for processing. w is somewhat redundant
+         * with *l but makes my eyes bleed less.
+         */
+
+        w = w2 = w1;
+        l = &w;
+        while (w) {
+            if (w->dom_id == dom_id) {
+                /* If we're freeing the head of the list, bump w2 */
+                if (w2 == w) {
+                    w2 = w->next;
+                }
+                *l = free_watch(s, w);
+            } else {
+                l = &w->next;
+            }
+            w = *l;
+        }
+        /*
+         * If the head of the list survived the cull, we don't need to
+         * touch the hash table and we're done with this path. Else...
+         */
+        if (w1 != w2) {
+            g_hash_table_steal(s->watches, watch_paths[i]);
+
+            /*
+             * It was already freed. (Don't worry, this whole thing is
+             * single-threaded and nobody saw it in the meantime). And
+             * having *stolen* it, we now own the watch_paths[i] string
+             * so if we don't give it back to the hash table, we need
+             * to free it.
+             */
+            if (w2) {
+                g_hash_table_insert(s->watches, watch_paths[i], w2);
+            } else {
+                g_free(watch_paths[i]);
+            }
+        }
+    }
+    g_free(watch_paths);
+    return 0;
 }
 
 XenstoreImplState *xs_impl_create(void)
 {
     XenstoreImplState *s = g_new0(XenstoreImplState, 1);
 
+    s->watches = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
     s->nr_nodes = 1;
     s->root = xs_node_new();
 #ifdef XS_NODE_UNIT_TEST
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index c78d5bd581..19000b64b2 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -34,10 +34,14 @@ static void xs_impl_delete(XenstoreImplState *s)
 {
     int err;
 
+    xs_impl_reset_watches(s, DOMID_GUEST);
+    g_assert(!s->nr_domu_watches);
+
     err = xs_impl_rm(s, DOMID_QEMU, XBT_NULL, "/local");
     g_assert(!err);
     g_assert(s->nr_nodes == 1);
 
+    g_hash_table_unref(s->watches);
     xs_node_unref(s->root);
     g_free(s);
 
@@ -65,6 +69,14 @@ static int write_str(XenstoreImplState *s, unsigned int dom_id,
     return err;
 }
 
+static void watch_cb(void *_str, const char *path, const char *token)
+{
+    GString *str = _str;
+
+    g_string_append(str, path);
+    g_string_append(str, token);
+}
+
 static XenstoreImplState *setup(void)
 {
    XenstoreImplState *s = xs_impl_create();
@@ -75,6 +87,7 @@ static XenstoreImplState *setup(void)
 
    err = write_str(s, DOMID_QEMU, XBT_NULL, abspath, "");
    g_assert(!err);
+   g_assert(s->nr_nodes == 4);
 
    g_free(abspath);
 
@@ -93,6 +106,8 @@ static void test_xs_node_simple(void)
 {
     GByteArray *data = g_byte_array_new();
     XenstoreImplState *s = setup();
+    GString *guest_watches = g_string_new(NULL);
+    GString *qemu_watches = g_string_new(NULL);
     GList *items = NULL;
     XsNode *old_root;
     uint64_t gencnt;
@@ -100,6 +115,20 @@ static void test_xs_node_simple(void)
 
     g_assert(s);
 
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "guestwatch",
+                        watch_cb, guest_watches);
+    g_assert(!err);
+    g_assert(guest_watches->len == strlen("someguestwatch"));
+    g_assert(!strcmp(guest_watches->str, "someguestwatch"));
+    g_string_truncate(guest_watches, 0);
+
+    err = xs_impl_watch(s, 0, "/local/domain/1/some", "qemuwatch",
+                        watch_cb, qemu_watches);
+    g_assert(!err);
+    g_assert(qemu_watches->len == strlen("/local/domain/1/someqemuwatch"));
+    g_assert(!strcmp(qemu_watches->str, "/local/domain/1/someqemuwatch"));
+    g_string_truncate(qemu_watches, 0);
+
     /* Read gives ENOENT when it should */
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "foo", data);
     g_assert(err == ENOENT);
@@ -109,6 +138,14 @@ static void test_xs_node_simple(void)
                     "something");
     g_assert(s->nr_nodes == 7);
     g_assert(!err);
+    g_assert(!strcmp(guest_watches->str,
+                     "some/relative/pathguestwatch"));
+    g_assert(!strcmp(qemu_watches->str,
+                     "/local/domain/1/some/relative/pathqemuwatch"));
+
+    g_string_truncate(qemu_watches, 0);
+    g_string_truncate(guest_watches, 0);
+    xs_impl_reset_watches(s, 0);
 
     /* Read gives back what we wrote */
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative/path", data);
@@ -123,6 +160,8 @@ static void test_xs_node_simple(void)
     g_assert(!err);
     g_assert(data->len == strlen("something"));
 
+    g_assert(!qemu_watches->len);
+    g_assert(!guest_watches->len);
     /* Keep a copy, to force COW mode */
     old_root = xs_node_ref(s->root);
 
@@ -132,12 +171,18 @@ static void test_xs_node_simple(void)
                     "something else");
     g_assert(!err);
     g_assert(s->nr_nodes == 8);
+    g_assert(!qemu_watches->len);
+    g_assert(!strcmp(guest_watches->str, "some/relative/path2guestwatch"));
+    g_string_truncate(guest_watches, 0);
 
     /* Overwrite an existing node */
     err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
                     "another thing");
     g_assert(!err);
     g_assert(s->nr_nodes == 8);
+    g_assert(!qemu_watches->len);
+    g_assert(!strcmp(guest_watches->str, "some/relative/pathguestwatch"));
+    g_string_truncate(guest_watches, 0);
 
     /* We can list the two files we wrote */
     err = xs_impl_directory(s, DOMID_GUEST, XBT_NULL, "some/relative", &gencnt,
@@ -151,9 +196,38 @@ static void test_xs_node_simple(void)
     g_assert(!items->next->next);
     g_list_free_full(items, g_free);
 
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "guestwatch",
+                          watch_cb, guest_watches);
+    g_assert(!err);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "guestwatch",
+                          watch_cb, guest_watches);
+    g_assert(err == ENOENT);
+
+    err = xs_impl_watch(s, DOMID_GUEST, "some/relative/path2", "watchp2",
+                        watch_cb, guest_watches);
+    g_assert(!err);
+    g_assert(guest_watches->len == strlen("some/relative/path2watchp2"));
+    g_assert(!strcmp(guest_watches->str, "some/relative/path2watchp2"));
+    g_string_truncate(guest_watches, 0);
+
+    err = xs_impl_watch(s, DOMID_GUEST, "/local/domain/1/some/relative",
+                        "watchrel", watch_cb, guest_watches);
+    g_assert(!err);
+    g_assert(guest_watches->len ==
+             strlen("/local/domain/1/some/relativewatchrel"));
+    g_assert(!strcmp(guest_watches->str,
+                     "/local/domain/1/some/relativewatchrel"));
+    g_string_truncate(guest_watches, 0);
+
     /* Write somewhere else which already existed */
     err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative", "moredata");
     g_assert(!err);
+    g_assert(s->nr_nodes == 8);
+
+    g_assert(!strcmp(guest_watches->str,
+                     "/local/domain/1/some/relativewatchrel"));
+    g_string_truncate(guest_watches, 0);
 
     g_byte_array_set_size(data, 0);
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
@@ -164,6 +238,7 @@ static void test_xs_node_simple(void)
     /* Overwrite existing data */
     err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative", "otherdata");
     g_assert(!err);
+    g_string_truncate(guest_watches, 0);
 
     g_byte_array_set_size(data, 0);
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
@@ -176,11 +251,21 @@ static void test_xs_node_simple(void)
     g_assert(!err);
     g_assert(s->nr_nodes == 5);
 
+    /* Each watch fires with the least specific relevant path */
+    g_assert(strstr(guest_watches->str,
+                    "some/relative/path2watchp2"));
+    g_assert(strstr(guest_watches->str,
+                    "/local/domain/1/some/relativewatchrel"));
+    g_string_truncate(guest_watches, 0);
+
     g_byte_array_set_size(data, 0);
     err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
     g_assert(err == ENOENT);
     g_byte_array_unref(data);
 
+    xs_impl_reset_watches(s, DOMID_GUEST);
+    g_string_free(qemu_watches, true);
+    g_string_free(guest_watches, true);
     xs_node_unref(old_root);
     xs_impl_delete(s);
 }
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507785.781851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc26-0004aE-1n; Tue, 07 Mar 2023 18:27:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507785.781851; Tue, 07 Mar 2023 18:27: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 1pZc25-0004XB-AG; Tue, 07 Mar 2023 18:27:29 +0000
Received: by outflank-mailman (input) for mailman id 507785;
 Tue, 07 Mar 2023 18:27: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc21-0002MP-6o
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:25 +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 b1305641-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1n-00H8TF-2o; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e9E-2N; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b1305641-bd15-11ed-a550-8520e6686977
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=yLfdfhFfpzIiC10jnf83iQrGV+u+nSCwEnuPCHzafX8=; b=Rg3i8er5Z0TRqRGVlr/oNKRmmA
	cA2ARBB4XUId1u49B2JKs+vtAS4VVsyPWxc6mRKbvGzZyWOracALWd0gB+haI6OO+miRg4jPNJyfK
	EQdEMH14FljFvOO9enxUwiSJYNQ9ncwJBSWgSD1HIXdiRF0eKi+FAfyHW4SvqTwWuVmZC2SHlNVA5
	K5hLZE06eSgLCvw/Pe2xhtKD3ShUgWmIopa2EWL/opUD6DcB3Y/Olde0Hy3w7mc2DUzt+39f9ujRy
	2SjrpuoXamcggAdyFYTbDnt3bsC/m18s0Xl9S/s4aomJCK1m9IAppvQLE1cYMOD1v599AwkhNu86E
	WsUkXTXw==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 16/27] hw/xen: Rename xen_common.h to xen_native.h
Date: Tue,  7 Mar 2023 18:26:56 +0000
Message-Id: <20230307182707.2298618-17-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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 header is now only for native Xen code, not PV backends that may be
used in Xen emulation. Since the toolstack libraries may depend on the
specific version of Xen headers that they pull in (and will set the
__XEN_TOOLS__ macro to enable internal definitions that they depend on),
the rule is that xen_native.h (and thus the toolstack library headers)
must be included *before* any of the headers in include/hw/xen/interface.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 accel/xen/xen-all.c                           |  1 +
 hw/9pfs/xen-9p-backend.c                      |  1 +
 hw/block/dataplane/xen-block.c                |  3 ++-
 hw/block/xen-block.c                          |  1 -
 hw/i386/pc_piix.c                             |  4 ++--
 hw/i386/xen/xen-hvm.c                         | 11 +++++-----
 hw/i386/xen/xen-mapcache.c                    |  2 +-
 hw/i386/xen/xen_platform.c                    |  7 +++---
 hw/xen/trace-events                           |  2 +-
 hw/xen/xen-operations.c                       |  2 +-
 hw/xen/xen_pt.c                               |  2 +-
 hw/xen/xen_pt.h                               |  2 +-
 hw/xen/xen_pt_config_init.c                   |  2 +-
 hw/xen/xen_pt_msi.c                           |  4 ++--
 include/hw/xen/xen.h                          | 22 ++++++++++++-------
 include/hw/xen/{xen_common.h => xen_native.h} | 10 ++++++---
 include/hw/xen/xen_pvdev.h                    |  3 ++-
 17 files changed, 47 insertions(+), 32 deletions(-)
 rename include/hw/xen/{xen_common.h => xen_native.h} (98%)

diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index 2d51c41e40..00221e23c5 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -12,6 +12,7 @@
 #include "qemu/error-report.h"
 #include "qemu/module.h"
 #include "qapi/error.h"
+#include "hw/xen/xen_native.h"
 #include "hw/xen/xen-legacy-backend.h"
 #include "hw/xen/xen_pt.h"
 #include "chardev/char.h"
diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
index d8bb0e847c..74f3a05f88 100644
--- a/hw/9pfs/xen-9p-backend.c
+++ b/hw/9pfs/xen-9p-backend.c
@@ -22,6 +22,7 @@
 #include "qemu/config-file.h"
 #include "qemu/main-loop.h"
 #include "qemu/option.h"
+#include "qemu/iov.h"
 #include "fsdev/qemu-fsdev.h"
 
 #define VERSIONS "1"
diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index 8322a1de82..734da42ea7 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -23,8 +23,9 @@
 #include "qemu/main-loop.h"
 #include "qemu/memalign.h"
 #include "qapi/error.h"
-#include "hw/xen/xen_common.h"
+#include "hw/xen/xen.h"
 #include "hw/block/xen_blkif.h"
+#include "hw/xen/interface/io/ring.h"
 #include "sysemu/block-backend.h"
 #include "sysemu/iothread.h"
 #include "xen-block.h"
diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 345b284d70..87299615e3 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -19,7 +19,6 @@
 #include "qapi/qmp/qdict.h"
 #include "qapi/qmp/qstring.h"
 #include "qom/object_interfaces.h"
-#include "hw/xen/xen_common.h"
 #include "hw/block/xen_blkif.h"
 #include "hw/qdev-properties.h"
 #include "hw/xen/xen-block.h"
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 4bf15f9c1f..30eedd62a3 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -47,8 +47,6 @@
 #include "hw/kvm/clock.h"
 #include "hw/sysbus.h"
 #include "hw/i2c/smbus_eeprom.h"
-#include "hw/xen/xen-x86.h"
-#include "hw/xen/xen.h"
 #include "exec/memory.h"
 #include "hw/acpi/acpi.h"
 #include "hw/acpi/piix4.h"
@@ -60,6 +58,8 @@
 #include <xen/hvm/hvm_info_table.h>
 #include "hw/xen/xen_pt.h"
 #endif
+#include "hw/xen/xen-x86.h"
+#include "hw/xen/xen.h"
 #include "migration/global_state.h"
 #include "migration/misc.h"
 #include "sysemu/numa.h"
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index cb1d24f592..56641a550e 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -18,7 +18,7 @@
 #include "hw/irq.h"
 #include "hw/hw.h"
 #include "hw/i386/apic-msidef.h"
-#include "hw/xen/xen_common.h"
+#include "hw/xen/xen_native.h"
 #include "hw/xen/xen-legacy-backend.h"
 #include "hw/xen/xen-bus.h"
 #include "hw/xen/xen-x86.h"
@@ -52,10 +52,11 @@ static bool xen_in_migration;
 
 /* Compatibility with older version */
 
-/* This allows QEMU to build on a system that has Xen 4.5 or earlier
- * installed.  This here (not in hw/xen/xen_common.h) because xen/hvm/ioreq.h
- * needs to be included before this block and hw/xen/xen_common.h needs to
- * be included before xen/hvm/ioreq.h
+/*
+ * This allows QEMU to build on a system that has Xen 4.5 or earlier installed.
+ * This is here (not in hw/xen/xen_native.h) because xen/hvm/ioreq.h needs to
+ * be included before this block and hw/xen/xen_native.h needs to be included
+ * before xen/hvm/ioreq.h
  */
 #ifndef IOREQ_TYPE_VMWARE_PORT
 #define IOREQ_TYPE_VMWARE_PORT  3
diff --git a/hw/i386/xen/xen-mapcache.c b/hw/i386/xen/xen-mapcache.c
index 1d0879d234..f7d974677d 100644
--- a/hw/i386/xen/xen-mapcache.c
+++ b/hw/i386/xen/xen-mapcache.c
@@ -14,7 +14,7 @@
 
 #include <sys/resource.h>
 
-#include "hw/xen/xen-legacy-backend.h"
+#include "hw/xen/xen_native.h"
 #include "qemu/bitmap.h"
 
 #include "sysemu/runstate.h"
diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index 539f7da374..57f1d742c1 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -28,7 +28,6 @@
 #include "hw/ide/pci.h"
 #include "hw/pci/pci.h"
 #include "migration/vmstate.h"
-#include "hw/xen/xen.h"
 #include "net/net.h"
 #include "trace.h"
 #include "sysemu/xen.h"
@@ -38,10 +37,12 @@
 #include "qom/object.h"
 
 #ifdef CONFIG_XEN
-#include "hw/xen/xen_common.h"
-#include "hw/xen/xen-legacy-backend.h"
+#include "hw/xen/xen_native.h"
 #endif
 
+/* The rule is that xen_native.h must come first */
+#include "hw/xen/xen.h"
+
 //#define DEBUG_PLATFORM
 
 #ifdef DEBUG_PLATFORM
diff --git a/hw/xen/trace-events b/hw/xen/trace-events
index 3da3fd8348..55c9e1df68 100644
--- a/hw/xen/trace-events
+++ b/hw/xen/trace-events
@@ -1,6 +1,6 @@
 # See docs/devel/tracing.rst for syntax documentation.
 
-# ../../include/hw/xen/xen_common.h
+# ../../include/hw/xen/xen_native.h
 xen_default_ioreq_server(void) ""
 xen_ioreq_server_create(uint32_t id) "id: %u"
 xen_ioreq_server_destroy(uint32_t id) "id: %u"
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index abed812b63..4b78fbf4bd 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -13,8 +13,8 @@
 #include "qemu/uuid.h"
 #include "qapi/error.h"
 
+#include "hw/xen/xen_native.h"
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/xen_common.h"
 
 /*
  * If we have new enough libxenctrl then we do not want/need these compat
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index 85c93cffcf..2d33d178ad 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -60,9 +60,9 @@
 #include "hw/pci/pci_bus.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
+#include "xen_pt.h"
 #include "hw/xen/xen.h"
 #include "hw/xen/xen-legacy-backend.h"
-#include "xen_pt.h"
 #include "qemu/range.h"
 
 static bool has_igd_gfx_passthru;
diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
index e184699740..b20744f7c7 100644
--- a/hw/xen/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -1,7 +1,7 @@
 #ifndef XEN_PT_H
 #define XEN_PT_H
 
-#include "hw/xen/xen_common.h"
+#include "hw/xen/xen_native.h"
 #include "xen-host-pci-device.h"
 #include "qom/object.h"
 
diff --git a/hw/xen/xen_pt_config_init.c b/hw/xen/xen_pt_config_init.c
index 8b9b554352..2b8680b112 100644
--- a/hw/xen/xen_pt_config_init.c
+++ b/hw/xen/xen_pt_config_init.c
@@ -15,8 +15,8 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu/timer.h"
-#include "hw/xen/xen-legacy-backend.h"
 #include "xen_pt.h"
+#include "hw/xen/xen-legacy-backend.h"
 
 #define XEN_PT_MERGE_VALUE(value, data, val_mask) \
     (((value) & (val_mask)) | ((data) & ~(val_mask)))
diff --git a/hw/xen/xen_pt_msi.c b/hw/xen/xen_pt_msi.c
index b71563f98a..09cca4eecb 100644
--- a/hw/xen/xen_pt_msi.c
+++ b/hw/xen/xen_pt_msi.c
@@ -11,9 +11,9 @@
 
 #include "qemu/osdep.h"
 
-#include "hw/xen/xen-legacy-backend.h"
-#include "xen_pt.h"
 #include "hw/i386/apic-msidef.h"
+#include "xen_pt.h"
+#include "hw/xen/xen-legacy-backend.h"
 
 
 #define XEN_PT_AUTO_ASSIGN -1
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index 56b1c2a827..2bd8ec742d 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -8,15 +8,21 @@
 #define QEMU_HW_XEN_H
 
 /*
- * As a temporary measure while the headers are being untangled, define
- * __XEN_TOOLS__ here before any Xen headers are included. Otherwise, if
- * the Xen toolstack library headers are later included, they will find
- * some of the "internal" definitions missing and the build will fail. In
- * later commits, we'll end up with a rule that the native libraries have
- * to be included first, which will ensure that the libraries get the
- * version of Xen libraries that they expect.
+ * C files using Xen toolstack libraries will have included those headers
+ * already via xen_native.h, and having __XEM_TOOLS__ defined will have
+ * automatically set __XEN_INTERFACE_VERSION__ to the latest supported
+ * by the *system* Xen headers which were transitively included.
+ *
+ * C files which are part of the internal emulation, and which did not
+ * include xen_native.h, may need this defined so that the Xen headers
+ * imported to include/hw/xen/interface/ will expose the appropriate API
+ * version.
+ *
+ * This is why there's a rule that xen_native.h must be included first.
  */
-#define __XEN_TOOLS__ 1
+#ifndef __XEN_INTERFACE_VERSION__
+#define __XEN_INTERFACE_VERSION__ 0x00040e00
+#endif
 
 #include "exec/cpu-common.h"
 
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_native.h
similarity index 98%
rename from include/hw/xen/xen_common.h
rename to include/hw/xen/xen_native.h
index 7edcf3eb25..6bcc83baf9 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_native.h
@@ -1,5 +1,9 @@
-#ifndef QEMU_HW_XEN_COMMON_H
-#define QEMU_HW_XEN_COMMON_H
+#ifndef QEMU_HW_XEN_NATIVE_H
+#define QEMU_HW_XEN_NATIVE_H
+
+#ifdef __XEN_INTERFACE_VERSION__
+#error In Xen native files, include xen_native.h before other Xen headers
+#endif
 
 /*
  * If we have new enough libxenctrl then we do not want/need these compat
@@ -622,4 +626,4 @@ static inline int xen_set_ioreq_server_state(domid_t dom,
 
 #endif
 
-#endif /* QEMU_HW_XEN_COMMON_H */
+#endif /* QEMU_HW_XEN_NATIVE_H */
diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h
index d8eea353b8..ddad4b9f36 100644
--- a/include/hw/xen/xen_pvdev.h
+++ b/include/hw/xen/xen_pvdev.h
@@ -1,8 +1,9 @@
 #ifndef QEMU_HW_XEN_PVDEV_H
 #define QEMU_HW_XEN_PVDEV_H
 
+#include "hw/qdev-core.h"
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/xen_common.h"
+
 /* ------------------------------------------------------------- */
 
 #define XEN_BUFSIZE 1024
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507786.781858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc26-0004rG-SC; Tue, 07 Mar 2023 18:27:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507786.781858; Tue, 07 Mar 2023 18:27: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 1pZc26-0004nP-Ck; Tue, 07 Mar 2023 18:27:30 +0000
Received: by outflank-mailman (input) for mailman id 507786;
 Tue, 07 Mar 2023 18:27: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc21-0002M9-Up
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:26 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b275075e-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:20 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc1n-006deG-Kb; Tue, 07 Mar 2023 18:27:12 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e96-1y; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b275075e-bd15-11ed-96b5-2f268f93b82a
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=0E400xq9eyjPpQs8f/JfkPvcDe4VR1r79BDrhDwRCtg=; b=ZPEGzZWLQgjsHyH/CZS/Jm67YS
	y4W50/hDGVOUpJ6XTP1EJyWarTmX82/Ezl+4I8tAMUCUg3+EizEZVH07TngiVxXPWz5JfTNWqhxbr
	O2HzsYnhmmbQeJB1+2wxvS73K9wJQeZNf+r+BaK9MonilB2LZkVTTsaiydBUOrQLiNgJQKEdWvrh+
	nGozhFQEsAyM9Nymcdape30rYPXlSJGggXifyeTKVDn0gZDLisFb5s9rIT5IkeKfiTrccPjlT4xIX
	c8h/YNaQCOUwOUQKjddvOXmCB4B4LQc01Z97JgAjIAGw/Ykn41dwW4xUud1PqN1lzGQ5HHZLn7lbq
	ihX++aTg==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 14/27] hw/xen: Move xenstore_store_pv_console_info to xen_console.c
Date: Tue,  7 Mar 2023 18:26:54 +0000
Message-Id: <20230307182707.2298618-15-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>

There's no need for this to be in the Xen accel code, and as we want to
use the Xen console support with KVM-emulated Xen we'll want to have a
platform-agnostic version of it. Make it use GString to build up the
path while we're at it.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 accel/xen/xen-all.c   | 61 -------------------------------------------
 hw/char/xen_console.c | 45 +++++++++++++++++++++++++++++--
 include/hw/xen/xen.h  |  2 --
 3 files changed, 43 insertions(+), 65 deletions(-)

diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index 425216230f..2d51c41e40 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -29,67 +29,6 @@ xc_interface *xen_xc;
 xenforeignmemory_handle *xen_fmem;
 xendevicemodel_handle *xen_dmod;
 
-static int store_dev_info(int domid, Chardev *cs, const char *string)
-{
-    struct xs_handle *xs = NULL;
-    char *path = NULL;
-    char *newpath = NULL;
-    char *pts = NULL;
-    int ret = -1;
-
-    /* Only continue if we're talking to a pty. */
-    if (!CHARDEV_IS_PTY(cs)) {
-        return 0;
-    }
-    pts = cs->filename + 4;
-
-    /* We now have everything we need to set the xenstore entry. */
-    xs = xs_open(0);
-    if (xs == NULL) {
-        fprintf(stderr, "Could not contact XenStore\n");
-        goto out;
-    }
-
-    path = xs_get_domain_path(xs, domid);
-    if (path == NULL) {
-        fprintf(stderr, "xs_get_domain_path() error\n");
-        goto out;
-    }
-    newpath = realloc(path, (strlen(path) + strlen(string) +
-                strlen("/tty") + 1));
-    if (newpath == NULL) {
-        fprintf(stderr, "realloc error\n");
-        goto out;
-    }
-    path = newpath;
-
-    strcat(path, string);
-    strcat(path, "/tty");
-    if (!xs_write(xs, XBT_NULL, path, pts, strlen(pts))) {
-        fprintf(stderr, "xs_write for '%s' fail", string);
-        goto out;
-    }
-    ret = 0;
-
-out:
-    free(path);
-    xs_close(xs);
-
-    return ret;
-}
-
-void xenstore_store_pv_console_info(int i, Chardev *chr)
-{
-    if (i == 0) {
-        store_dev_info(xen_domid, chr, "/console");
-    } else {
-        char buf[32];
-        snprintf(buf, sizeof(buf), "/device/console/%d", i);
-        store_dev_info(xen_domid, chr, buf);
-    }
-}
-
-
 static void xenstore_record_dm_state(const char *state)
 {
     struct xs_handle *xs;
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index ad8638a86d..c7a19c0e7c 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -173,6 +173,48 @@ static void xencons_send(struct XenConsole *con)
 
 /* -------------------------------------------------------------------- */
 
+static int store_con_info(struct XenConsole *con)
+{
+    Chardev *cs = qemu_chr_fe_get_driver(&con->chr);
+    char *pts = NULL;
+    char *dom_path;
+    GString *path;
+    int ret = -1;
+
+    /* Only continue if we're talking to a pty. */
+    if (!CHARDEV_IS_PTY(cs)) {
+        return 0;
+    }
+    pts = cs->filename + 4;
+
+    dom_path = qemu_xen_xs_get_domain_path(xenstore, xen_domid);
+    if (!dom_path) {
+        return 0;
+    }
+
+    path = g_string_new(dom_path);
+    free(dom_path);
+
+    if (con->xendev.dev) {
+        g_string_append_printf(path, "/device/console/%d", con->xendev.dev);
+    } else {
+        g_string_append(path, "/console");
+    }
+    g_string_append(path, "/tty");
+
+    if (xenstore_write_str(con->console, path->str, pts)) {
+        fprintf(stderr, "xenstore_write_str for '%s' fail", path->str);
+        goto out;
+    }
+    ret = 0;
+
+out:
+    g_string_free(path, true);
+    free(path);
+
+    return ret;
+}
+
 static int con_init(struct XenLegacyDevice *xendev)
 {
     struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
@@ -215,8 +257,7 @@ static int con_init(struct XenLegacyDevice *xendev)
                          &error_abort);
     }
 
-    xenstore_store_pv_console_info(con->xendev.dev,
-                                   qemu_chr_fe_get_driver(&con->chr));
+    store_con_info(con);
 
 out:
     g_free(type);
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index 03983939f9..56b1c2a827 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -39,8 +39,6 @@ int xen_is_pirq_msi(uint32_t msi_data);
 
 qemu_irq *xen_interrupt_controller_init(void);
 
-void xenstore_store_pv_console_info(int i, Chardev *chr);
-
 void xen_register_framebuffer(struct MemoryRegion *mr);
 
 #endif /* QEMU_HW_XEN_H */
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507787.781868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc28-00052m-0W; Tue, 07 Mar 2023 18:27:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507787.781868; Tue, 07 Mar 2023 18: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 1pZc27-0004xl-92; Tue, 07 Mar 2023 18:27:31 +0000
Received: by outflank-mailman (input) for mailman id 507787;
 Tue, 07 Mar 2023 18: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc22-0002MP-6r
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:26 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b161ab1a-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc1n-006de9-1n; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1m-009e8N-3C; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b161ab1a-bd15-11ed-a550-8520e6686977
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=IgmdOQxZA13cDYE4nim/NP2x+J2PygFHKT5DRcfTY74=; b=HCFzw88Ia41oaK9Ips73wYcRfl
	YRBas/sI2/aXlYoTQrTW/Cm+qczx8skHRkpKprMmNrPjnurgwHB+DkDEVMi5y/o26cmvoxqvreqN9
	yeTcYE/SwniRy2CPzaOGgzxDXeQAHvjHw2VbPoe8l+YgIJUyZMQ8vE+ZK6K1rdQEQIwB1b8R3Qj0D
	gp2vr25iwX1eOiJ83M0WK3IcvfGcjhd1QqgwU6xLdX9shFFtggnIOjcylC46b0xHYF2/EY9Ag4rFT
	K6erRosQD+U9CURKd5b0WTajlhgE436xlHU5mfc5cqgSs+MgJwgKbBOamc1zadrqxIuxZqCMfCFzo
	YVgrK+GQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 04/27] hw/xen: Implement XenStore transactions
Date: Tue,  7 Mar 2023 18:26:44 +0000
Message-Id: <20230307182707.2298618-5-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>

Given that the whole thing supported copy on write from the beginning,
transactions end up being fairly simple. On starting a transaction, just
take a ref of the existing root; swap it back in on a successful commit.

The main tree has a transaction ID too, and we keep a record of the last
transaction ID given out. if the main tree is ever modified when it isn't
the latest, it gets a new transaction ID.

A commit can only succeed if the main tree hasn't moved on since it was
forked. Strictly speaking, the XenStore protocol allows a transaction to
succeed as long as nothing *it* read or wrote has changed in the interim,
but no implementations do that; *any* change is sufficient to abort a
transaction.

This does not yet fire watches on the changed nodes on a commit. That bit
is more fun and will come in a follow-on commit.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xenstore_impl.c | 150 ++++++++++++++++++++++++++++++++++--
 tests/unit/test-xs-node.c   | 118 ++++++++++++++++++++++++++++
 2 files changed, 262 insertions(+), 6 deletions(-)

diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 9c2348835f..0812e367b0 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -46,13 +46,56 @@ typedef struct XsWatch {
     int rel_prefix;
 } XsWatch;
 
+typedef struct XsTransaction {
+    XsNode *root;
+    unsigned int nr_nodes;
+    unsigned int base_tx;
+    unsigned int tx_id;
+    unsigned int dom_id;
+} XsTransaction;
+
 struct XenstoreImplState {
     XsNode *root;
     unsigned int nr_nodes;
     GHashTable *watches;
     unsigned int nr_domu_watches;
+    GHashTable *transactions;
+    unsigned int nr_domu_transactions;
+    unsigned int root_tx;
+    unsigned int last_tx;
 };
 
+
+static void nobble_tx(gpointer key, gpointer value, gpointer user_data)
+{
+    unsigned int *new_tx_id = user_data;
+    XsTransaction *tx = value;
+
+    if (tx->base_tx == *new_tx_id) {
+        /* Transactions based on XBT_NULL will always fail */
+        tx->base_tx = XBT_NULL;
+    }
+}
+
+static inline unsigned int next_tx(struct XenstoreImplState *s)
+{
+    unsigned int tx_id;
+
+    /* Find the next TX id which isn't either XBT_NULL or in use. */
+    do {
+        tx_id = ++s->last_tx;
+    } while (tx_id == XBT_NULL || tx_id == s->root_tx ||
+             g_hash_table_lookup(s->transactions, GINT_TO_POINTER(tx_id)));
+
+    /*
+     * It is vanishingly unlikely, but ensure that no outstanding transaction
+     * is based on the (previous incarnation of the) newly-allocated TX id.
+     */
+    g_hash_table_foreach(s->transactions, nobble_tx, &tx_id);
+
+    return tx_id;
+}
+
 static inline XsNode *xs_node_new(void)
 {
     XsNode *n = g_new0(XsNode, 1);
@@ -159,6 +202,7 @@ struct walk_op {
 
     GList *watches;
     unsigned int dom_id;
+    unsigned int tx_id;
 
     /* The number of nodes which will exist in the tree if this op succeeds. */
     unsigned int new_nr_nodes;
@@ -176,6 +220,7 @@ struct walk_op {
     bool inplace;
     bool mutating;
     bool create_dirs;
+    bool in_transaction;
 };
 
 static void fire_watches(struct walk_op *op, bool parents)
@@ -183,7 +228,7 @@ static void fire_watches(struct walk_op *op, bool parents)
     GList *l = NULL;
     XsWatch *w;
 
-    if (!op->mutating) {
+    if (!op->mutating || op->in_transaction) {
         return;
     }
 
@@ -450,10 +495,23 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
         assert(!op->watches);
         /*
          * On completing the recursion back up the path walk and reaching the
-         * top, assign the new node count if the operation was successful.
+         * top, assign the new node count if the operation was successful. If
+         * the main tree was changed, bump its tx ID so that outstanding
+         * transactions correctly fail. But don't bump it every time; only
+         * if it makes a difference.
          */
         if (!err && op->mutating) {
-            op->s->nr_nodes = op->new_nr_nodes;
+            if (!op->in_transaction) {
+                if (op->s->root_tx != op->s->last_tx) {
+                    op->s->root_tx = next_tx(op->s);
+                }
+                op->s->nr_nodes = op->new_nr_nodes;
+            } else {
+                XsTransaction *tx = g_hash_table_lookup(op->s->transactions,
+                                                        GINT_TO_POINTER(op->tx_id));
+                assert(tx);
+                tx->nr_nodes = op->new_nr_nodes;
+            }
         }
     }
     return err;
@@ -535,14 +593,23 @@ static int init_walk_op(XenstoreImplState *s, struct walk_op *op,
     op->inplace = true;
     op->mutating = false;
     op->create_dirs = false;
+    op->in_transaction = false;
     op->dom_id = dom_id;
+    op->tx_id = tx_id;
     op->s = s;
 
     if (tx_id == XBT_NULL) {
         *rootp = &s->root;
         op->new_nr_nodes = s->nr_nodes;
     } else {
-        return ENOENT;
+        XsTransaction *tx = g_hash_table_lookup(s->transactions,
+                                                GINT_TO_POINTER(tx_id));
+        if (!tx) {
+            return ENOENT;
+        }
+        *rootp = &tx->root;
+        op->new_nr_nodes = tx->nr_nodes;
+        op->in_transaction = true;
     }
 
     return 0;
@@ -616,13 +683,71 @@ int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
 int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
                               xs_transaction_t *tx_id)
 {
-    return ENOSYS;
+    XsTransaction *tx;
+
+    if (*tx_id != XBT_NULL) {
+        return EINVAL;
+    }
+
+    if (dom_id && s->nr_domu_transactions >= XS_MAX_TRANSACTIONS) {
+        return ENOSPC;
+    }
+
+    tx = g_new0(XsTransaction, 1);
+
+    tx->nr_nodes = s->nr_nodes;
+    tx->tx_id = next_tx(s);
+    tx->base_tx = s->root_tx;
+    tx->root = xs_node_ref(s->root);
+    tx->dom_id = dom_id;
+
+    g_hash_table_insert(s->transactions, GINT_TO_POINTER(tx->tx_id), tx);
+    if (dom_id) {
+        s->nr_domu_transactions++;
+    }
+    *tx_id = tx->tx_id;
+    return 0;
+}
+
+static int transaction_commit(XenstoreImplState *s, XsTransaction *tx)
+{
+    if (s->root_tx != tx->base_tx) {
+        return EAGAIN;
+    }
+    xs_node_unref(s->root);
+    s->root = tx->root;
+    tx->root = NULL;
+    s->root_tx = tx->tx_id;
+    s->nr_nodes = tx->nr_nodes;
+
+    /*
+     * XX: Walk the new root and fire watches on any node which has a
+     * refcount of one (which is therefore unique to this transaction).
+     */
+    return 0;
 }
 
 int xs_impl_transaction_end(XenstoreImplState *s, unsigned int dom_id,
                             xs_transaction_t tx_id, bool commit)
 {
-    return ENOSYS;
+    int ret = 0;
+    XsTransaction *tx = g_hash_table_lookup(s->transactions,
+                                            GINT_TO_POINTER(tx_id));
+
+    if (!tx || tx->dom_id != dom_id) {
+        return ENOENT;
+    }
+
+    if (commit) {
+        ret = transaction_commit(s, tx);
+    }
+
+    g_hash_table_remove(s->transactions, GINT_TO_POINTER(tx_id));
+    if (dom_id) {
+        assert(s->nr_domu_transactions);
+        s->nr_domu_transactions--;
+    }
+    return ret;
 }
 
 int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
@@ -839,15 +964,28 @@ int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id)
     return 0;
 }
 
+static void xs_tx_free(void *_tx)
+{
+    XsTransaction *tx = _tx;
+    if (tx->root) {
+        xs_node_unref(tx->root);
+    }
+    g_free(tx);
+}
+
 XenstoreImplState *xs_impl_create(void)
 {
     XenstoreImplState *s = g_new0(XenstoreImplState, 1);
 
     s->watches = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
+    s->transactions = g_hash_table_new_full(g_direct_hash, g_direct_equal,
+                                            NULL, xs_tx_free);
     s->nr_nodes = 1;
     s->root = xs_node_new();
 #ifdef XS_NODE_UNIT_TEST
     s->root->name = g_strdup("/");
 #endif
+
+    s->root_tx = s->last_tx = 1;
     return s;
 }
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index 19000b64b2..3c3654550a 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -42,6 +42,7 @@ static void xs_impl_delete(XenstoreImplState *s)
     g_assert(s->nr_nodes == 1);
 
     g_hash_table_unref(s->watches);
+    g_hash_table_unref(s->transactions);
     xs_node_unref(s->root);
     g_free(s);
 
@@ -271,12 +272,129 @@ static void test_xs_node_simple(void)
 }
 
 
+static void do_test_xs_node_tx(bool fail, bool commit)
+{
+    XenstoreImplState *s = setup();
+    GString *watches = g_string_new(NULL);
+    GByteArray *data = g_byte_array_new();
+    unsigned int tx_id = XBT_NULL;
+    int err;
+
+    g_assert(s);
+
+    /* Set a watch */
+    err = xs_impl_watch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+    g_assert(watches->len == strlen("somewatch"));
+    g_assert(!strcmp(watches->str, "somewatch"));
+    g_string_truncate(watches, 0);
+
+    /* Write something */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
+                    "something");
+    g_assert(s->nr_nodes == 7);
+    g_assert(!err);
+    g_assert(!strcmp(watches->str,
+                     "some/relative/pathwatch"));
+    g_string_truncate(watches, 0);
+
+    /* Create a transaction */
+    err = xs_impl_transaction_start(s, DOMID_GUEST, &tx_id);
+    g_assert(!err);
+
+    if (fail) {
+        /* Write something else in the root */
+        err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
+                        "another thing");
+        g_assert(!err);
+        g_assert(s->nr_nodes == 7);
+        g_assert(!strcmp(watches->str,
+                         "some/relative/pathwatch"));
+        g_string_truncate(watches, 0);
+    }
+
+    g_assert(!watches->len);
+
+    /* Perform a write in the transaction */
+    err = write_str(s, DOMID_GUEST, tx_id, "some/relative/path",
+                    "something else");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 7);
+    g_assert(!watches->len);
+
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative/path", data);
+    g_assert(!err);
+    if (fail) {
+        g_assert(data->len == strlen("another thing"));
+        g_assert(!memcmp(data->data, "another thing", data->len));
+    } else {
+        g_assert(data->len == strlen("something"));
+        g_assert(!memcmp(data->data, "something", data->len));
+    }
+    g_byte_array_set_size(data, 0);
+
+    err = xs_impl_read(s, DOMID_GUEST, tx_id, "some/relative/path", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something else"));
+    g_assert(!memcmp(data->data, "something else", data->len));
+    g_byte_array_set_size(data, 0);
+
+    /* Attempt to commit the transaction */
+    err = xs_impl_transaction_end(s, DOMID_GUEST, tx_id, commit);
+    if (commit && fail) {
+        g_assert(err == EAGAIN);
+    } else {
+        g_assert(!err);
+    }
+    g_assert(!watches->len);
+    g_assert(s->nr_nodes == 7);
+
+    err = xs_impl_unwatch(s, DOMID_GUEST, "some", "watch",
+                        watch_cb, watches);
+    g_assert(!err);
+
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative/path", data);
+    g_assert(!err);
+    if (fail) {
+        g_assert(data->len == strlen("another thing"));
+        g_assert(!memcmp(data->data, "another thing", data->len));
+    } else if (commit) {
+        g_assert(data->len == strlen("something else"));
+        g_assert(!memcmp(data->data, "something else", data->len));
+    } else {
+        g_assert(data->len == strlen("something"));
+        g_assert(!memcmp(data->data, "something", data->len));
+    }
+    g_byte_array_unref(data);
+    g_string_free(watches, true);
+    xs_impl_delete(s);
+}
+
+static void test_xs_node_tx_fail(void)
+{
+    do_test_xs_node_tx(true, true);
+}
+
+static void test_xs_node_tx_abort(void)
+{
+    do_test_xs_node_tx(false, false);
+    do_test_xs_node_tx(true, false);
+}
+static void test_xs_node_tx_succeed(void)
+{
+    do_test_xs_node_tx(false, true);
+}
+
 int main(int argc, char **argv)
 {
     g_test_init(&argc, &argv, NULL);
     module_call_init(MODULE_INIT_QOM);
 
     g_test_add_func("/xs_node/simple", test_xs_node_simple);
+    g_test_add_func("/xs_node/tx_abort", test_xs_node_tx_abort);
+    g_test_add_func("/xs_node/tx_fail", test_xs_node_tx_fail);
+    g_test_add_func("/xs_node/tx_succeed", test_xs_node_tx_succeed);
 
     return g_test_run();
 }
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507788.781874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc28-0005HL-Sh; Tue, 07 Mar 2023 18:27:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507788.781874; Tue, 07 Mar 2023 18: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 1pZc28-0005Dy-5G; Tue, 07 Mar 2023 18:27:32 +0000
Received: by outflank-mailman (input) for mailman id 507788;
 Tue, 07 Mar 2023 18: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc22-0002M9-V9
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27: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 b283b266-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:20 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1o-00H8TO-0z; Tue, 07 Mar 2023 18:27:12 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1o-009e9z-0d; Tue, 07 Mar 2023 18:27:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: b283b266-bd15-11ed-96b5-2f268f93b82a
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=4BkL9NyCgm8G9JQUlKfpShNc/FIh4cWQeRocuey9tU8=; b=RIvuthfM3LePc4AF2k/q1ZUhW4
	5zwFziqjGtLVihO9L4u9rNjPMbkQDVU/Jh9Li3talXnatPaKfOdniUGtk2u68q+aTaLeEJcCSAe9V
	6Q9UFxPrF22tFeva9qdYiUWtbwJaBpAMhH5/K2+SW9Ir7AiR06Xds4AitMTCZ+xE7GuZV4fq18zuc
	eW6cw2GL4nJHNOoWioOUBIN3yPyjMKzA98MGZjSUgwWjmlgdRRGG9v3hIX1a2cAsZp4ertYzy715E
	x701p1GokKdWOW3TIIwX9GGYmhuSTuUGS9e6VD4ZDtP82gOyWFuuKDxsf3sBPUxvxFCYsK+BCtbpy
	AKikh7pg==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 25/27] i386/xen: Initialize Xen backends from pc_basic_device_init() for emulation
Date: Tue,  7 Mar 2023 18:27:05 +0000
Message-Id: <20230307182707.2298618-26-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>

Now that all the work is done to enable the PV backends to work without
actual Xen, instantiate the bus from pc_basic_device_init() for emulated
mode.

This allows us finally to launch an emulated Xen guest with PV disk.

   qemu-system-x86_64 -serial mon:stdio -M q35 -cpu host -display none \
     -m 1G -smp 2 -accel kvm,xen-version=0x4000a,kernel-irqchip=split \
     -kernel bzImage -append "console=ttyS0 root=/dev/xvda1" \
     -drive file=/var/lib/libvirt/images/fedora28.qcow2,if=none,id=disk \
     -device xen-disk,drive=disk,vdev=xvda

If we use -M pc instead of q35, we can even add an IDE disk and boot a
guest image normally through grub. But q35 gives us AHCI and that isn't
unplugged by the Xen magic, so the guests ends up seeing "both" disks.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/pc.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 7bebea57e3..1489abf010 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -102,6 +102,11 @@
 #include "trace.h"
 #include CONFIG_DEVICES
 
+#ifdef CONFIG_XEN_EMU
+#include "hw/xen/xen-legacy-backend.h"
+#include "hw/xen/xen-bus.h"
+#endif
+
 /*
  * Helper for setting model-id for CPU models that changed model-id
  * depending on QEMU versions up to QEMU 2.4.
@@ -1318,6 +1323,8 @@ void pc_basic_device_init(struct PCMachineState *pcms,
         if (pcms->bus) {
             pci_create_simple(pcms->bus, -1, "xen-platform");
         }
+        xen_bus_init();
+        xen_be_init();
     }
 #endif
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507789.781883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc29-0005TQ-MZ; Tue, 07 Mar 2023 18:27:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507789.781883; Tue, 07 Mar 2023 18: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 1pZc28-0005PQ-V4; Tue, 07 Mar 2023 18:27:32 +0000
Received: by outflank-mailman (input) for mailman id 507789;
 Tue, 07 Mar 2023 18:27: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc23-0002MP-70
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:27 +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 b1385493-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1n-00H8T9-1b; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e8m-1A; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b1385493-bd15-11ed-a550-8520e6686977
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=fc5fNxYs5D3U6kXGx5cElygYY2FPhVguerYudj3biCw=; b=AMCPitHI2oIV1QQWXdEvgGhPj8
	j6WcZ2/4dbxT0ByT3S/umEbpo9vxpiCfIjRZaC5t6RcmhuyAS0mKyq+xsWYdZTRe53t86LxV5XeEh
	m9uCDDk1B28AvE0tQQpyMkQFrQrH4We2wpZnAIElrCzfvrKQyAdHTjRWbD+iMisyUidCWKG690aOo
	c5oak1BArIJSF1K7ZOfxDG08Cglcm1R3MLiqs5GDfz3ZN4kZQmtQSchokOdjoOLlU19OauxQXZq67
	cuVywq5L21T98a6bXFm9ChszPzL7eQRBBzg811zNSOmRonyWsR+BPHaewxFsqlZHYqfsxb9wMYqPm
	Kn/XYj0Q==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 10/27] hw/xen: Add gnttab operations to allow redirection to internal emulation
Date: Tue,  7 Mar 2023 18:26:50 +0000
Message-Id: <20230307182707.2298618-11-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>

Move the existing code using libxengnttab to xen-operations.c and allow
the operations to be redirected so that we can add emulation of grant
table mapping for backend drivers.

In emulation, mapping more than one grant ref to be virtually contiguous
would be fairly difficult. The best way to do it might be to make the
ram_block mappings actually backed by a file (shmem or a deleted file,
perhaps) so that we can have multiple *shared* mappings of it. But that
would be fairly intrusive.

Making the backend drivers cope with page *lists* instead of expecting
the mapping to be contiguous is also non-trivial, since some structures
would actually *cross* page boundaries (e.g. the 32-bit blkif responses
which are 12 bytes).

So for now, we'll support only single-page mappings in emulation. Add a
XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE flag to indicate that the native Xen
implementation *does* support multi-page maps, and a helper function to
query it.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/xen/xen-bus.c                    | 112 ++------------------
 hw/xen/xen-legacy-backend.c         | 125 ++--------------------
 hw/xen/xen-operations.c             | 157 ++++++++++++++++++++++++++++
 hw/xen/xen_pvdev.c                  |   2 +-
 include/hw/xen/xen-bus.h            |   3 +-
 include/hw/xen/xen-legacy-backend.h |  13 +--
 include/hw/xen/xen_backend_ops.h    | 100 ++++++++++++++++++
 include/hw/xen/xen_common.h         |  39 -------
 softmmu/globals.c                   |   1 +
 9 files changed, 280 insertions(+), 272 deletions(-)

diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index d0b1ae93da..b247e86f28 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -947,7 +947,7 @@ static void xen_device_frontend_destroy(XenDevice *xendev)
 void xen_device_set_max_grant_refs(XenDevice *xendev, unsigned int nr_refs,
                                    Error **errp)
 {
-    if (xengnttab_set_max_grants(xendev->xgth, nr_refs)) {
+    if (qemu_xen_gnttab_set_max_grants(xendev->xgth, nr_refs)) {
         error_setg_errno(errp, errno, "xengnttab_set_max_grants failed");
     }
 }
@@ -956,9 +956,8 @@ void *xen_device_map_grant_refs(XenDevice *xendev, uint32_t *refs,
                                 unsigned int nr_refs, int prot,
                                 Error **errp)
 {
-    void *map = xengnttab_map_domain_grant_refs(xendev->xgth, nr_refs,
-                                                xendev->frontend_id, refs,
-                                                prot);
+    void *map = qemu_xen_gnttab_map_refs(xendev->xgth, nr_refs,
+                                         xendev->frontend_id, refs, prot);
 
     if (!map) {
         error_setg_errno(errp, errno,
@@ -971,109 +970,17 @@ void *xen_device_map_grant_refs(XenDevice *xendev, uint32_t *refs,
 void xen_device_unmap_grant_refs(XenDevice *xendev, void *map,
                                  unsigned int nr_refs, Error **errp)
 {
-    if (xengnttab_unmap(xendev->xgth, map, nr_refs)) {
+    if (qemu_xen_gnttab_unmap(xendev->xgth, map, nr_refs)) {
         error_setg_errno(errp, errno, "xengnttab_unmap failed");
     }
 }
 
-static void compat_copy_grant_refs(XenDevice *xendev, bool to_domain,
-                                   XenDeviceGrantCopySegment segs[],
-                                   unsigned int nr_segs, Error **errp)
-{
-    uint32_t *refs = g_new(uint32_t, nr_segs);
-    int prot = to_domain ? PROT_WRITE : PROT_READ;
-    void *map;
-    unsigned int i;
-
-    for (i = 0; i < nr_segs; i++) {
-        XenDeviceGrantCopySegment *seg = &segs[i];
-
-        refs[i] = to_domain ? seg->dest.foreign.ref :
-            seg->source.foreign.ref;
-    }
-
-    map = xengnttab_map_domain_grant_refs(xendev->xgth, nr_segs,
-                                          xendev->frontend_id, refs,
-                                          prot);
-    if (!map) {
-        error_setg_errno(errp, errno,
-                         "xengnttab_map_domain_grant_refs failed");
-        goto done;
-    }
-
-    for (i = 0; i < nr_segs; i++) {
-        XenDeviceGrantCopySegment *seg = &segs[i];
-        void *page = map + (i * XC_PAGE_SIZE);
-
-        if (to_domain) {
-            memcpy(page + seg->dest.foreign.offset, seg->source.virt,
-                   seg->len);
-        } else {
-            memcpy(seg->dest.virt, page + seg->source.foreign.offset,
-                   seg->len);
-        }
-    }
-
-    if (xengnttab_unmap(xendev->xgth, map, nr_segs)) {
-        error_setg_errno(errp, errno, "xengnttab_unmap failed");
-    }
-
-done:
-    g_free(refs);
-}
-
 void xen_device_copy_grant_refs(XenDevice *xendev, bool to_domain,
                                 XenDeviceGrantCopySegment segs[],
                                 unsigned int nr_segs, Error **errp)
 {
-    xengnttab_grant_copy_segment_t *xengnttab_segs;
-    unsigned int i;
-
-    if (!xendev->feature_grant_copy) {
-        compat_copy_grant_refs(xendev, to_domain, segs, nr_segs, errp);
-        return;
-    }
-
-    xengnttab_segs = g_new0(xengnttab_grant_copy_segment_t, nr_segs);
-
-    for (i = 0; i < nr_segs; i++) {
-        XenDeviceGrantCopySegment *seg = &segs[i];
-        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
-
-        if (to_domain) {
-            xengnttab_seg->flags = GNTCOPY_dest_gref;
-            xengnttab_seg->dest.foreign.domid = xendev->frontend_id;
-            xengnttab_seg->dest.foreign.ref = seg->dest.foreign.ref;
-            xengnttab_seg->dest.foreign.offset = seg->dest.foreign.offset;
-            xengnttab_seg->source.virt = seg->source.virt;
-        } else {
-            xengnttab_seg->flags = GNTCOPY_source_gref;
-            xengnttab_seg->source.foreign.domid = xendev->frontend_id;
-            xengnttab_seg->source.foreign.ref = seg->source.foreign.ref;
-            xengnttab_seg->source.foreign.offset =
-                seg->source.foreign.offset;
-            xengnttab_seg->dest.virt = seg->dest.virt;
-        }
-
-        xengnttab_seg->len = seg->len;
-    }
-
-    if (xengnttab_grant_copy(xendev->xgth, nr_segs, xengnttab_segs)) {
-        error_setg_errno(errp, errno, "xengnttab_grant_copy failed");
-        goto done;
-    }
-
-    for (i = 0; i < nr_segs; i++) {
-        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
-
-        if (xengnttab_seg->status != GNTST_okay) {
-            error_setg(errp, "xengnttab_grant_copy seg[%u] failed", i);
-            break;
-        }
-    }
-
-done:
-    g_free(xengnttab_segs);
+    qemu_xen_gnttab_grant_copy(xendev->xgth, to_domain, xendev->frontend_id,
+                               (XenGrantCopySegment *)segs, nr_segs, errp);
 }
 
 struct XenEventChannel {
@@ -1235,7 +1142,7 @@ static void xen_device_unrealize(DeviceState *dev)
     xen_device_backend_destroy(xendev);
 
     if (xendev->xgth) {
-        xengnttab_close(xendev->xgth);
+        qemu_xen_gnttab_close(xendev->xgth);
         xendev->xgth = NULL;
     }
 
@@ -1298,15 +1205,12 @@ static void xen_device_realize(DeviceState *dev, Error **errp)
 
     xendev->watch_list = watch_list_create(xendev->xsh);
 
-    xendev->xgth = xengnttab_open(NULL, 0);
+    xendev->xgth = qemu_xen_gnttab_open();
     if (!xendev->xgth) {
         error_setg_errno(errp, errno, "failed xengnttab_open");
         goto unrealize;
     }
 
-    xendev->feature_grant_copy =
-        (xengnttab_grant_copy(xendev->xgth, 0, NULL) == 0);
-
     xen_device_backend_create(xendev, errp);
     if (*errp) {
         goto unrealize;
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index 9ce3dc204b..1e9a28f263 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -43,7 +43,6 @@ struct xs_handle *xenstore;
 const char *xen_protocol;
 
 /* private */
-static bool xen_feature_grant_copy;
 static int debug;
 
 int xenstore_write_be_str(struct XenLegacyDevice *xendev, const char *node,
@@ -113,7 +112,7 @@ void xen_be_set_max_grant_refs(struct XenLegacyDevice *xendev,
 {
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    if (xengnttab_set_max_grants(xendev->gnttabdev, nr_refs)) {
+    if (qemu_xen_gnttab_set_max_grants(xendev->gnttabdev, nr_refs)) {
         xen_pv_printf(xendev, 0, "xengnttab_set_max_grants failed: %s\n",
                       strerror(errno));
     }
@@ -126,8 +125,8 @@ void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
 
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    ptr = xengnttab_map_domain_grant_refs(xendev->gnttabdev, nr_refs,
-                                          xen_domid, refs, prot);
+    ptr = qemu_xen_gnttab_map_refs(xendev->gnttabdev, nr_refs, xen_domid, refs,
+                                   prot);
     if (!ptr) {
         xen_pv_printf(xendev, 0,
                       "xengnttab_map_domain_grant_refs failed: %s\n",
@@ -142,119 +141,27 @@ void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
 {
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    if (xengnttab_unmap(xendev->gnttabdev, ptr, nr_refs)) {
+    if (qemu_xen_gnttab_unmap(xendev->gnttabdev, ptr, nr_refs)) {
         xen_pv_printf(xendev, 0, "xengnttab_unmap failed: %s\n",
                       strerror(errno));
     }
 }
 
-static int compat_copy_grant_refs(struct XenLegacyDevice *xendev,
-                                  bool to_domain,
-                                  XenGrantCopySegment segs[],
-                                  unsigned int nr_segs)
-{
-    uint32_t *refs = g_new(uint32_t, nr_segs);
-    int prot = to_domain ? PROT_WRITE : PROT_READ;
-    void *pages;
-    unsigned int i;
-
-    for (i = 0; i < nr_segs; i++) {
-        XenGrantCopySegment *seg = &segs[i];
-
-        refs[i] = to_domain ?
-            seg->dest.foreign.ref : seg->source.foreign.ref;
-    }
-
-    pages = xengnttab_map_domain_grant_refs(xendev->gnttabdev, nr_segs,
-                                            xen_domid, refs, prot);
-    if (!pages) {
-        xen_pv_printf(xendev, 0,
-                      "xengnttab_map_domain_grant_refs failed: %s\n",
-                      strerror(errno));
-        g_free(refs);
-        return -1;
-    }
-
-    for (i = 0; i < nr_segs; i++) {
-        XenGrantCopySegment *seg = &segs[i];
-        void *page = pages + (i * XC_PAGE_SIZE);
-
-        if (to_domain) {
-            memcpy(page + seg->dest.foreign.offset, seg->source.virt,
-                   seg->len);
-        } else {
-            memcpy(seg->dest.virt, page + seg->source.foreign.offset,
-                   seg->len);
-        }
-    }
-
-    if (xengnttab_unmap(xendev->gnttabdev, pages, nr_segs)) {
-        xen_pv_printf(xendev, 0, "xengnttab_unmap failed: %s\n",
-                      strerror(errno));
-    }
-
-    g_free(refs);
-    return 0;
-}
-
 int xen_be_copy_grant_refs(struct XenLegacyDevice *xendev,
                            bool to_domain,
                            XenGrantCopySegment segs[],
                            unsigned int nr_segs)
 {
-    xengnttab_grant_copy_segment_t *xengnttab_segs;
-    unsigned int i;
     int rc;
 
     assert(xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV);
 
-    if (!xen_feature_grant_copy) {
-        return compat_copy_grant_refs(xendev, to_domain, segs, nr_segs);
-    }
-
-    xengnttab_segs = g_new0(xengnttab_grant_copy_segment_t, nr_segs);
-
-    for (i = 0; i < nr_segs; i++) {
-        XenGrantCopySegment *seg = &segs[i];
-        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
-
-        if (to_domain) {
-            xengnttab_seg->flags = GNTCOPY_dest_gref;
-            xengnttab_seg->dest.foreign.domid = xen_domid;
-            xengnttab_seg->dest.foreign.ref = seg->dest.foreign.ref;
-            xengnttab_seg->dest.foreign.offset = seg->dest.foreign.offset;
-            xengnttab_seg->source.virt = seg->source.virt;
-        } else {
-            xengnttab_seg->flags = GNTCOPY_source_gref;
-            xengnttab_seg->source.foreign.domid = xen_domid;
-            xengnttab_seg->source.foreign.ref = seg->source.foreign.ref;
-            xengnttab_seg->source.foreign.offset =
-                seg->source.foreign.offset;
-            xengnttab_seg->dest.virt = seg->dest.virt;
-        }
-
-        xengnttab_seg->len = seg->len;
-    }
-
-    rc = xengnttab_grant_copy(xendev->gnttabdev, nr_segs, xengnttab_segs);
-
+    rc = qemu_xen_gnttab_grant_copy(xendev->gnttabdev, to_domain, xen_domid,
+                                    segs, nr_segs, NULL);
     if (rc) {
-        xen_pv_printf(xendev, 0, "xengnttab_copy failed: %s\n",
-                      strerror(errno));
-    }
-
-    for (i = 0; i < nr_segs; i++) {
-        xengnttab_grant_copy_segment_t *xengnttab_seg =
-            &xengnttab_segs[i];
-
-        if (xengnttab_seg->status != GNTST_okay) {
-            xen_pv_printf(xendev, 0, "segment[%u] status: %d\n", i,
-                          xengnttab_seg->status);
-            rc = -1;
-        }
+        xen_pv_printf(xendev, 0, "xengnttab_grant_copy failed: %s\n",
+                      strerror(-rc));
     }
-
-    g_free(xengnttab_segs);
     return rc;
 }
 
@@ -466,7 +373,7 @@ static int xen_be_try_initialise(struct XenLegacyDevice *xendev)
     }
 
     if (xendev->ops->flags & DEVOPS_FLAG_NEED_GNTDEV) {
-        xendev->gnttabdev = xengnttab_open(NULL, 0);
+        xendev->gnttabdev = qemu_xen_gnttab_open();
         if (xendev->gnttabdev == NULL) {
             xen_pv_printf(NULL, 0, "can't open gnttab device\n");
             return -1;
@@ -524,7 +431,7 @@ static void xen_be_disconnect(struct XenLegacyDevice *xendev,
         xendev->ops->disconnect(xendev);
     }
     if (xendev->gnttabdev) {
-        xengnttab_close(xendev->gnttabdev);
+        qemu_xen_gnttab_close(xendev->gnttabdev);
         xendev->gnttabdev = NULL;
     }
     if (xendev->be_state != state) {
@@ -687,8 +594,6 @@ static void xen_set_dynamic_sysbus(void)
 
 void xen_be_init(void)
 {
-    xengnttab_handle *gnttabdev;
-
     xenstore = xs_daemon_open();
     if (!xenstore) {
         xen_pv_printf(NULL, 0, "can't connect to xenstored\n");
@@ -697,19 +602,11 @@ void xen_be_init(void)
 
     qemu_set_fd_handler(xs_fileno(xenstore), xenstore_update, NULL, NULL);
 
-    if (xen_xc == NULL || xen_fmem == NULL) {
+    if (xen_evtchn_ops == NULL || xen_gnttab_ops == NULL) {
         xen_pv_printf(NULL, 0, "Xen operations not set up\n");
         exit(1);
     }
 
-    gnttabdev = xengnttab_open(NULL, 0);
-    if (gnttabdev != NULL) {
-        if (xengnttab_grant_copy(gnttabdev, 0, NULL) == 0) {
-            xen_feature_grant_copy = true;
-        }
-        xengnttab_close(gnttabdev);
-    }
-
     xen_sysdev = qdev_new(TYPE_XENSYSDEV);
     sysbus_realize_and_unref(SYS_BUS_DEVICE(xen_sysdev), &error_fatal);
     xen_sysbus = qbus_new(TYPE_XENSYSBUS, xen_sysdev, "xen-sysbus");
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index 1a959d89e8..2e74a28965 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -21,6 +21,7 @@
  * must be undefined before including xenctrl.h
  */
 #undef XC_WANT_COMPAT_EVTCHN_API
+#undef XC_WANT_COMPAT_GNTTAB_API
 
 #include <xenctrl.h>
 
@@ -43,12 +44,141 @@ typedef evtchn_port_or_error_t xenevtchn_port_or_error_t;
 #define xenevtchn_unmask(h, p) xc_evtchn_unmask(h, p)
 #define xenevtchn_unbind(h, p) xc_evtchn_unbind(h, p)
 
+typedef xc_gnttab xengnttab_handle;
+
+#define xengnttab_open(l, f) xc_gnttab_open(l, f)
+#define xengnttab_close(h) xc_gnttab_close(h)
+#define xengnttab_set_max_grants(h, n) xc_gnttab_set_max_grants(h, n)
+#define xengnttab_map_grant_ref(h, d, r, p) xc_gnttab_map_grant_ref(h, d, r, p)
+#define xengnttab_unmap(h, a, n) xc_gnttab_munmap(h, a, n)
+#define xengnttab_map_grant_refs(h, c, d, r, p) \
+    xc_gnttab_map_grant_refs(h, c, d, r, p)
+#define xengnttab_map_domain_grant_refs(h, c, d, r, p) \
+    xc_gnttab_map_domain_grant_refs(h, c, d, r, p)
+
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
 #include <xenevtchn.h>
+#include <xengnttab.h>
 
 #endif
 
+/* Xen before 4.8 */
+
+static int libxengnttab_fallback_grant_copy(xengnttab_handle *xgt,
+                                            bool to_domain, uint32_t domid,
+                                            XenGrantCopySegment segs[],
+                                            unsigned int nr_segs, Error **errp)
+{
+    uint32_t *refs = g_new(uint32_t, nr_segs);
+    int prot = to_domain ? PROT_WRITE : PROT_READ;
+    void *map;
+    unsigned int i;
+    int rc = 0;
+
+    for (i = 0; i < nr_segs; i++) {
+        XenGrantCopySegment *seg = &segs[i];
+
+        refs[i] = to_domain ? seg->dest.foreign.ref :
+            seg->source.foreign.ref;
+    }
+    map = xengnttab_map_domain_grant_refs(xgt, nr_segs, domid, refs, prot);
+    if (!map) {
+        if (errp) {
+            error_setg_errno(errp, errno,
+                             "xengnttab_map_domain_grant_refs failed");
+        }
+        rc = -errno;
+        goto done;
+    }
+
+    for (i = 0; i < nr_segs; i++) {
+        XenGrantCopySegment *seg = &segs[i];
+        void *page = map + (i * XEN_PAGE_SIZE);
+
+        if (to_domain) {
+            memcpy(page + seg->dest.foreign.offset, seg->source.virt,
+                   seg->len);
+        } else {
+            memcpy(seg->dest.virt, page + seg->source.foreign.offset,
+                   seg->len);
+        }
+    }
+
+    if (xengnttab_unmap(xgt, map, nr_segs)) {
+        if (errp) {
+            error_setg_errno(errp, errno, "xengnttab_unmap failed");
+        }
+        rc = -errno;
+    }
+
+done:
+    g_free(refs);
+    return rc;
+}
+
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
+
+static int libxengnttab_backend_grant_copy(xengnttab_handle *xgt,
+                                           bool to_domain, uint32_t domid,
+                                           XenGrantCopySegment *segs,
+                                           uint32_t nr_segs, Error **errp)
+{
+    xengnttab_grant_copy_segment_t *xengnttab_segs;
+    unsigned int i;
+    int rc;
+
+    xengnttab_segs = g_new0(xengnttab_grant_copy_segment_t, nr_segs);
+
+    for (i = 0; i < nr_segs; i++) {
+        XenGrantCopySegment *seg = &segs[i];
+        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
+
+        if (to_domain) {
+            xengnttab_seg->flags = GNTCOPY_dest_gref;
+            xengnttab_seg->dest.foreign.domid = domid;
+            xengnttab_seg->dest.foreign.ref = seg->dest.foreign.ref;
+            xengnttab_seg->dest.foreign.offset = seg->dest.foreign.offset;
+            xengnttab_seg->source.virt = seg->source.virt;
+        } else {
+            xengnttab_seg->flags = GNTCOPY_source_gref;
+            xengnttab_seg->source.foreign.domid = domid;
+            xengnttab_seg->source.foreign.ref = seg->source.foreign.ref;
+            xengnttab_seg->source.foreign.offset =
+                seg->source.foreign.offset;
+            xengnttab_seg->dest.virt = seg->dest.virt;
+        }
+
+        xengnttab_seg->len = seg->len;
+    }
+
+    if (xengnttab_grant_copy(xgt, nr_segs, xengnttab_segs)) {
+        if (errp) {
+            error_setg_errno(errp, errno, "xengnttab_grant_copy failed");
+        }
+        rc = -errno;
+        goto done;
+    }
+
+    rc = 0;
+    for (i = 0; i < nr_segs; i++) {
+        xengnttab_grant_copy_segment_t *xengnttab_seg = &xengnttab_segs[i];
+
+        if (xengnttab_seg->status != GNTST_okay) {
+            if (errp) {
+                error_setg(errp, "xengnttab_grant_copy seg[%u] failed", i);
+            }
+            rc = -EIO;
+            break;
+        }
+    }
+
+done:
+    g_free(xengnttab_segs);
+    return rc;
+}
+#endif
+
 static xenevtchn_handle *libxenevtchn_backend_open(void)
 {
     return xenevtchn_open(NULL, 0);
@@ -65,7 +195,34 @@ struct evtchn_backend_ops libxenevtchn_backend_ops = {
     .pending = xenevtchn_pending,
 };
 
+static xengnttab_handle *libxengnttab_backend_open(void)
+{
+    return xengnttab_open(NULL, 0);
+}
+
+
+static struct gnttab_backend_ops libxengnttab_backend_ops = {
+    .features = XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE,
+    .open = libxengnttab_backend_open,
+    .close = xengnttab_close,
+    .grant_copy = libxengnttab_fallback_grant_copy,
+    .set_max_grants = xengnttab_set_max_grants,
+    .map_refs = xengnttab_map_domain_grant_refs,
+    .unmap = xengnttab_unmap,
+};
+
 void setup_xen_backend_ops(void)
 {
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
+    xengnttab_handle *xgt = xengnttab_open(NULL, 0);
+
+    if (xgt) {
+        if (xengnttab_grant_copy(xgt, 0, NULL) == 0) {
+            libxengnttab_backend_ops.grant_copy = libxengnttab_backend_grant_copy;
+        }
+        xengnttab_close(xgt);
+    }
+#endif
     xen_evtchn_ops = &libxenevtchn_backend_ops;
+    xen_gnttab_ops = &libxengnttab_backend_ops;
 }
diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
index 86a2c8e567..d8582cc74c 100644
--- a/hw/xen/xen_pvdev.c
+++ b/hw/xen/xen_pvdev.c
@@ -309,7 +309,7 @@ void xen_pv_del_xendev(struct XenLegacyDevice *xendev)
         qemu_xen_evtchn_close(xendev->evtchndev);
     }
     if (xendev->gnttabdev != NULL) {
-        xengnttab_close(xendev->gnttabdev);
+        qemu_xen_gnttab_close(xendev->gnttabdev);
     }
 
     QTAILQ_REMOVE(&xendevs, xendev, next);
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index e21b83796e..72d71d1eb7 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -9,7 +9,7 @@
 #define HW_XEN_BUS_H
 
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/xen_common.h"
+#include "hw/xen/interface/io/xenbus.h"
 #include "hw/sysbus.h"
 #include "qemu/notify.h"
 #include "qom/object.h"
@@ -33,7 +33,6 @@ struct XenDevice {
     bool backend_online;
     XenWatch *backend_online_watch;
     xengnttab_handle *xgth;
-    bool feature_grant_copy;
     bool inactive;
     QLIST_HEAD(, XenEventChannel) event_channels;
     QLIST_ENTRY(XenDevice) list;
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index 06985b1f03..eaf79cd221 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -1,8 +1,8 @@
 #ifndef HW_XEN_LEGACY_BACKEND_H
 #define HW_XEN_LEGACY_BACKEND_H
 
-#include "hw/xen/xen_common.h"
 #include "hw/xen/xen_backend_ops.h"
+#include "hw/xen/interface/io/xenbus.h"
 #include "hw/xen/xen_pvdev.h"
 #include "net/net.h"
 #include "qom/object.h"
@@ -54,17 +54,6 @@ void *xen_be_map_grant_refs(struct XenLegacyDevice *xendev, uint32_t *refs,
 void xen_be_unmap_grant_refs(struct XenLegacyDevice *xendev, void *ptr,
                              unsigned int nr_refs);
 
-typedef struct XenGrantCopySegment {
-    union {
-        void *virt;
-        struct {
-            uint32_t ref;
-            off_t offset;
-        } foreign;
-    } source, dest;
-    size_t len;
-} XenGrantCopySegment;
-
 int xen_be_copy_grant_refs(struct XenLegacyDevice *xendev,
                            bool to_domain, XenGrantCopySegment segs[],
                            unsigned int nr_segs);
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
index 9605456e81..bb3333ab00 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -29,6 +29,12 @@
 typedef struct xenevtchn_handle xenevtchn_handle;
 typedef int xenevtchn_port_or_error_t;
 typedef uint32_t evtchn_port_t;
+typedef uint16_t domid_t;
+typedef uint32_t grant_ref_t;
+
+#define XEN_PAGE_SHIFT       12
+#define XEN_PAGE_SIZE        (1UL << XEN_PAGE_SHIFT)
+#define XEN_PAGE_MASK        (~(XEN_PAGE_SIZE - 1))
 
 struct evtchn_backend_ops {
     xenevtchn_handle *(*open)(void);
@@ -113,6 +119,100 @@ static inline int qemu_xen_evtchn_pending(xenevtchn_handle *xc)
     return xen_evtchn_ops->pending(xc);
 }
 
+typedef struct xengntdev_handle xengnttab_handle;
+
+typedef struct XenGrantCopySegment {
+    union {
+        void *virt;
+        struct {
+            uint32_t ref;
+            off_t offset;
+        } foreign;
+    } source, dest;
+    size_t len;
+} XenGrantCopySegment;
+
+#define XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE  (1U << 0)
+
+struct gnttab_backend_ops {
+    uint32_t features;
+    xengnttab_handle *(*open)(void);
+    int (*close)(xengnttab_handle *xgt);
+    int (*grant_copy)(xengnttab_handle *xgt, bool to_domain, uint32_t domid,
+                      XenGrantCopySegment *segs, uint32_t nr_segs,
+                      Error **errp);
+    int (*set_max_grants)(xengnttab_handle *xgt, uint32_t nr_grants);
+    void *(*map_refs)(xengnttab_handle *xgt, uint32_t count, uint32_t domid,
+                      uint32_t *refs, int prot);
+    int (*unmap)(xengnttab_handle *xgt, void *start_address, uint32_t count);
+};
+
+extern struct gnttab_backend_ops *xen_gnttab_ops;
+
+static inline bool qemu_xen_gnttab_can_map_multi(void)
+{
+    return xen_gnttab_ops &&
+        !!(xen_gnttab_ops->features & XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE);
+}
+
+static inline xengnttab_handle *qemu_xen_gnttab_open(void)
+{
+    if (!xen_gnttab_ops) {
+        return NULL;
+    }
+    return xen_gnttab_ops->open();
+}
+
+static inline int qemu_xen_gnttab_close(xengnttab_handle *xgt)
+{
+    if (!xen_gnttab_ops) {
+        return -ENOSYS;
+    }
+    return xen_gnttab_ops->close(xgt);
+}
+
+static inline int qemu_xen_gnttab_grant_copy(xengnttab_handle *xgt,
+                                             bool to_domain, uint32_t domid,
+                                             XenGrantCopySegment *segs,
+                                             uint32_t nr_segs, Error **errp)
+{
+    if (!xen_gnttab_ops) {
+        return -ENOSYS;
+    }
+
+    return xen_gnttab_ops->grant_copy(xgt, to_domain, domid, segs, nr_segs,
+                                      errp);
+}
+
+static inline int qemu_xen_gnttab_set_max_grants(xengnttab_handle *xgt,
+                                                 uint32_t nr_grants)
+{
+    if (!xen_gnttab_ops) {
+        return -ENOSYS;
+    }
+    return xen_gnttab_ops->set_max_grants(xgt, nr_grants);
+}
+
+static inline void *qemu_xen_gnttab_map_refs(xengnttab_handle *xgt,
+                                             uint32_t count, uint32_t domid,
+                                             uint32_t *refs, int prot)
+{
+    if (!xen_gnttab_ops) {
+        return NULL;
+    }
+    return xen_gnttab_ops->map_refs(xgt, count, domid, refs, prot);
+}
+
+static inline int qemu_xen_gnttab_unmap(xengnttab_handle *xgt,
+                                        void *start_address,
+                                        uint32_t count)
+{
+    if (!xen_gnttab_ops) {
+        return -ENOSYS;
+    }
+    return xen_gnttab_ops->unmap(xgt, start_address, count);
+}
+
 void setup_xen_backend_ops(void);
 
 #endif /* QEMU_XEN_BACKEND_OPS_H */
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 34abd0a772..d4d10d3ff1 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -28,17 +28,6 @@ extern xc_interface *xen_xc;
 #if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40701
 
 typedef xc_interface xenforeignmemory_handle;
-typedef xc_gnttab xengnttab_handle;
-
-#define xengnttab_open(l, f) xc_gnttab_open(l, f)
-#define xengnttab_close(h) xc_gnttab_close(h)
-#define xengnttab_set_max_grants(h, n) xc_gnttab_set_max_grants(h, n)
-#define xengnttab_map_grant_ref(h, d, r, p) xc_gnttab_map_grant_ref(h, d, r, p)
-#define xengnttab_unmap(h, a, n) xc_gnttab_munmap(h, a, n)
-#define xengnttab_map_grant_refs(h, c, d, r, p) \
-    xc_gnttab_map_grant_refs(h, c, d, r, p)
-#define xengnttab_map_domain_grant_refs(h, c, d, r, p) \
-    xc_gnttab_map_domain_grant_refs(h, c, d, r, p)
 
 #define xenforeignmemory_open(l, f) xen_xc
 #define xenforeignmemory_close(h)
@@ -58,7 +47,6 @@ static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
 
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
-#include <xengnttab.h>
 #include <xenforeignmemory.h>
 
 #endif
@@ -648,31 +636,4 @@ static inline int xen_set_ioreq_server_state(domid_t dom,
 
 #endif
 
-/* Xen before 4.8 */
-
-#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40800
-
-struct xengnttab_grant_copy_segment {
-    union xengnttab_copy_ptr {
-        void *virt;
-        struct {
-            uint32_t ref;
-            uint16_t offset;
-            uint16_t domid;
-        } foreign;
-    } source, dest;
-    uint16_t len;
-    uint16_t flags;
-    int16_t status;
-};
-
-typedef struct xengnttab_grant_copy_segment xengnttab_grant_copy_segment_t;
-
-static inline int xengnttab_grant_copy(xengnttab_handle *xgt, uint32_t count,
-                                       xengnttab_grant_copy_segment_t *segs)
-{
-    return -ENOSYS;
-}
-#endif
-
 #endif /* QEMU_HW_XEN_COMMON_H */
diff --git a/softmmu/globals.c b/softmmu/globals.c
index eb62739be1..23bb27f0f6 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -66,3 +66,4 @@ uint32_t xen_domid;
 enum xen_mode xen_mode = XEN_DISABLED;
 bool xen_domid_restrict;
 struct evtchn_backend_ops *xen_evtchn_ops;
+struct gnttab_backend_ops *xen_gnttab_ops;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507790.781894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc2B-0005mQ-4Y; Tue, 07 Mar 2023 18:27:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507790.781894; Tue, 07 Mar 2023 18:27:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc2A-0005fu-88; Tue, 07 Mar 2023 18:27:34 +0000
Received: by outflank-mailman (input) for mailman id 507790;
 Tue, 07 Mar 2023 18:27: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc23-0002M9-V9
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:27 +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 b295e044-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:20 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1o-00H8TQ-1A; Tue, 07 Mar 2023 18:27:12 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1o-009eA3-0o; Tue, 07 Mar 2023 18:27:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: b295e044-bd15-11ed-96b5-2f268f93b82a
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=PkizE0cS/Ha72MbLZ6lRnucXKt4Gr9fG8pUinhpPuTo=; b=pgQJa7/B3Q+bi4P5KTbDgLYvZ0
	CgFsTey1u6Hoz7+1jJDo1X0V9W4YtcayUub6+wXWZhLsxyFZ280ESb8OW+a4HqZ7SC9y1DN8eP9cU
	zJZKhuHtNIl7oU5ZuUfpeEiJw2lqDAq7dU3aKzDv7V3Yp6prhAG/Zewold6/io1UWZQIeKzwLE3W2
	jEnNYaCzWYCF5Z7BlMXVa9OXmdwbb05jLcrbEVP4Nozj6oVjNW0vyeYNWf7WQSBC9ekd1iUApR77G
	/fG0oPbvKM+C6iZzUb3+MVEPOkeOvsVxLUBEf0usAUrALK4aI0C/cxDfU+OT7MtUXS4JWuzZ8IgGZ
	cquQK5Tg==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 26/27] MAINTAINERS: Add entry for Xen on KVM emulation
Date: Tue,  7 Mar 2023 18:27:06 +0000
Message-Id: <20230307182707.2298618-27-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 MAINTAINERS | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 5340de0515..640deb2895 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -443,6 +443,15 @@ F: target/i386/kvm/
 F: target/i386/sev*
 F: scripts/kvm/vmxcap
 
+Xen emulation on X86 KVM CPUs
+M: David Woodhouse <dwmw2@infradead.org>
+M: Paul Durrant <paul@xen.org>
+S: Supported
+F: include/sysemu/kvm_xen.h
+F: target/i386/kvm/xen*
+F: hw/i386/kvm/xen*
+F: tests/avocado/xen_guest.py
+
 Guest CPU Cores (other accelerators)
 ------------------------------------
 Overall
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507791.781909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc2E-0006WM-PP; Tue, 07 Mar 2023 18:27:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507791.781909; Tue, 07 Mar 2023 18: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 1pZc2D-0006Ma-8d; Tue, 07 Mar 2023 18:27:37 +0000
Received: by outflank-mailman (input) for mailman id 507791;
 Tue, 07 Mar 2023 18:27: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc24-0002MP-6z
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27: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 b22c53d1-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:27:20 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc1n-006deN-Ug; Tue, 07 Mar 2023 18:27:12 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e9b-35; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b22c53d1-bd15-11ed-a550-8520e6686977
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=82Q+BiWXMrz+wFyySB5DKlF6CrKphRlXsFH1yff2od4=; b=kXMKa/9hW0SY2tX9lcrSMb7UcW
	GfxqeCkFPhE83DL36Q5wviYfGXSVmPFP0Fh7OGZQZTdopWeGtK7ENw6Ik0HUH1MmThw5jqkaxhnaA
	zUuVWhYupoXKGOcxDt83+YOdCouYvsktZjaHpit71oNK5Q4qsfLIgqlyZnrXcLO+gxWXOzGZz2WM0
	AuMvt+DrhKLx7iNk96YIarusgOlYOUeQ14YpRyKDerWlOAqGz5sDgLOacYuxg+UOT/z21jV2XD/Qc
	FchRCzj6gp+JNIbjGNudgUdewYA73vf5JNQ/pOZPfHQ8QXpnEHDmYgKtYiQYGCE9AVuqDolKnsnkm
	rBlmWyFA==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 20/27] hw/xen: Hook up emulated implementation for event channel operations
Date: Tue,  7 Mar 2023 18:27:00 +0000
Message-Id: <20230307182707.2298618-21-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>

We provided the backend-facing evtchn functions very early on as part of
the core Xen platform support, since things like timers and xenstore need
to use them.

By what may or may not be an astonishing coincidence, those functions
just *happen* all to have exactly the right function prototypes to slot
into the evtchn_backend_ops table and be called by the PV backends.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_evtchn.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/hw/i386/kvm/xen_evtchn.c b/hw/i386/kvm/xen_evtchn.c
index 886fbf6b3b..98a7b85047 100644
--- a/hw/i386/kvm/xen_evtchn.c
+++ b/hw/i386/kvm/xen_evtchn.c
@@ -34,6 +34,7 @@
 #include "hw/pci/msi.h"
 #include "hw/pci/msix.h"
 #include "hw/irq.h"
+#include "hw/xen/xen_backend_ops.h"
 
 #include "xen_evtchn.h"
 #include "xen_overlay.h"
@@ -278,6 +279,17 @@ static const TypeInfo xen_evtchn_info = {
     .class_init    = xen_evtchn_class_init,
 };
 
+static struct evtchn_backend_ops emu_evtchn_backend_ops = {
+    .open = xen_be_evtchn_open,
+    .bind_interdomain = xen_be_evtchn_bind_interdomain,
+    .unbind = xen_be_evtchn_unbind,
+    .close = xen_be_evtchn_close,
+    .get_fd = xen_be_evtchn_fd,
+    .notify = xen_be_evtchn_notify,
+    .unmask = xen_be_evtchn_unmask,
+    .pending = xen_be_evtchn_pending,
+};
+
 static void gsi_assert_bh(void *opaque)
 {
     struct vcpu_info *vi = kvm_xen_get_vcpu_info_hva(0);
@@ -318,6 +330,9 @@ void xen_evtchn_create(void)
     s->nr_pirq_inuse_words = DIV_ROUND_UP(s->nr_pirqs, 64);
     s->pirq_inuse_bitmap = g_new0(uint64_t, s->nr_pirq_inuse_words);
     s->pirq = g_new0(struct pirq_info, s->nr_pirqs);
+
+    /* Set event channel functions for backend drivers to use */
+    xen_evtchn_ops = &emu_evtchn_backend_ops;
 }
 
 void xen_evtchn_connect_gsis(qemu_irq *system_gsis)
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507792.781917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc2H-0007Dg-Ej; Tue, 07 Mar 2023 18:27:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507792.781917; Tue, 07 Mar 2023 18:27:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc2G-00078H-9B; Tue, 07 Mar 2023 18:27:40 +0000
Received: by outflank-mailman (input) for mailman id 507792;
 Tue, 07 Mar 2023 18:27: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc25-0002MP-76
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:29 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b28e30bc-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:27:20 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc1n-006deI-Lg; Tue, 07 Mar 2023 18:27:12 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e9A-29; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b28e30bc-bd15-11ed-a550-8520e6686977
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=6uxwjOvxQQcRhYsdZWs4ssoZa+V8OI5mOwBQQytLfJc=; b=jt8JKlUFhfmYcWmPwmdHkJnYdT
	NFSxseKXHMK5+xLotkZFkEtaa9tsgPA3EGVJcTdgzrsuk2E4WCkj8B/4yboxQg2btpWLx5Al5Abuf
	sNntS3MJcTCqK1GKCZTHpNVghVPm8sL2z0UtyugtgpARtmiCmUQrwiXY/mkm8IsP2udt8Nmqutyxz
	ZbLT6c57LSKtkayx1ctVrAK9FEc0hkWL0yqgAVtRtoQyK1jrgrO1c0TVPUYDTrfBUalqtaoHQzB65
	drg+QsHtCjVBEhdGhV4Rck1KNGh985m/bxUFTzUkxChsAPRuxCZ9DSxZKxUHyqULO06VCJ/7ZRp68
	Kx5LkEDg==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 15/27] hw/xen: Use XEN_PAGE_SIZE in PV backend drivers
Date: Tue,  7 Mar 2023 18:26:55 +0000
Message-Id: <20230307182707.2298618-16-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>

XC_PAGE_SIZE comes from the actual Xen libraries, while XEN_PAGE_SIZE is
provided by QEMU itself in xen_backend_ops.h. For backends which may be
built for emulation mode, use the latter.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/block/dataplane/xen-block.c |  8 ++++----
 hw/display/xenfb.c             | 12 ++++++------
 hw/net/xen_nic.c               | 12 ++++++------
 hw/usb/xen-usb.c               |  8 ++++----
 4 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index e55b713002..8322a1de82 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -101,9 +101,9 @@ static XenBlockRequest *xen_block_start_request(XenBlockDataPlane *dataplane)
          * re-use requests, allocate the memory once here. It will be freed
          * xen_block_dataplane_destroy() when the request list is freed.
          */
-        request->buf = qemu_memalign(XC_PAGE_SIZE,
+        request->buf = qemu_memalign(XEN_PAGE_SIZE,
                                      BLKIF_MAX_SEGMENTS_PER_REQUEST *
-                                     XC_PAGE_SIZE);
+                                     XEN_PAGE_SIZE);
         dataplane->requests_total++;
         qemu_iovec_init(&request->v, 1);
     } else {
@@ -185,7 +185,7 @@ static int xen_block_parse_request(XenBlockRequest *request)
             goto err;
         }
         if (request->req.seg[i].last_sect * dataplane->sector_size >=
-            XC_PAGE_SIZE) {
+            XEN_PAGE_SIZE) {
             error_report("error: page crossing");
             goto err;
         }
@@ -740,7 +740,7 @@ void xen_block_dataplane_start(XenBlockDataPlane *dataplane,
 
     dataplane->protocol = protocol;
 
-    ring_size = XC_PAGE_SIZE * dataplane->nr_ring_ref;
+    ring_size = XEN_PAGE_SIZE * dataplane->nr_ring_ref;
     switch (dataplane->protocol) {
     case BLKIF_PROTOCOL_NATIVE:
     {
diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c
index 2c4016fcbd..0074a9b6f8 100644
--- a/hw/display/xenfb.c
+++ b/hw/display/xenfb.c
@@ -489,13 +489,13 @@ static int xenfb_map_fb(struct XenFB *xenfb)
     }
 
     if (xenfb->pixels) {
-        munmap(xenfb->pixels, xenfb->fbpages * XC_PAGE_SIZE);
+        munmap(xenfb->pixels, xenfb->fbpages * XEN_PAGE_SIZE);
         xenfb->pixels = NULL;
     }
 
-    xenfb->fbpages = DIV_ROUND_UP(xenfb->fb_len, XC_PAGE_SIZE);
+    xenfb->fbpages = DIV_ROUND_UP(xenfb->fb_len, XEN_PAGE_SIZE);
     n_fbdirs = xenfb->fbpages * mode / 8;
-    n_fbdirs = DIV_ROUND_UP(n_fbdirs, XC_PAGE_SIZE);
+    n_fbdirs = DIV_ROUND_UP(n_fbdirs, XEN_PAGE_SIZE);
 
     pgmfns = g_new0(xen_pfn_t, n_fbdirs);
     fbmfns = g_new0(xen_pfn_t, xenfb->fbpages);
@@ -528,8 +528,8 @@ static int xenfb_configure_fb(struct XenFB *xenfb, size_t fb_len_lim,
 {
     size_t mfn_sz = sizeof_field(struct xenfb_page, pd[0]);
     size_t pd_len = sizeof_field(struct xenfb_page, pd) / mfn_sz;
-    size_t fb_pages = pd_len * XC_PAGE_SIZE / mfn_sz;
-    size_t fb_len_max = fb_pages * XC_PAGE_SIZE;
+    size_t fb_pages = pd_len * XEN_PAGE_SIZE / mfn_sz;
+    size_t fb_len_max = fb_pages * XEN_PAGE_SIZE;
     int max_width, max_height;
 
     if (fb_len_lim > fb_len_max) {
@@ -930,7 +930,7 @@ static void fb_disconnect(struct XenLegacyDevice *xendev)
      *   instead.  This releases the guest pages and keeps qemu happy.
      */
     qemu_xen_foreignmem_unmap(fb->pixels, fb->fbpages);
-    fb->pixels = mmap(fb->pixels, fb->fbpages * XC_PAGE_SIZE,
+    fb->pixels = mmap(fb->pixels, fb->fbpages * XEN_PAGE_SIZE,
                       PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON,
                       -1, 0);
     if (fb->pixels == MAP_FAILED) {
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index 166d03787d..9bbf6599fc 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -145,7 +145,7 @@ static void net_tx_packets(struct XenNetDev *netdev)
                 continue;
             }
 
-            if ((txreq.offset + txreq.size) > XC_PAGE_SIZE) {
+            if ((txreq.offset + txreq.size) > XEN_PAGE_SIZE) {
                 xen_pv_printf(&netdev->xendev, 0, "error: page crossing\n");
                 net_tx_error(netdev, &txreq, rc);
                 continue;
@@ -171,7 +171,7 @@ static void net_tx_packets(struct XenNetDev *netdev)
             if (txreq.flags & NETTXF_csum_blank) {
                 /* have read-only mapping -> can't fill checksum in-place */
                 if (!tmpbuf) {
-                    tmpbuf = g_malloc(XC_PAGE_SIZE);
+                    tmpbuf = g_malloc(XEN_PAGE_SIZE);
                 }
                 memcpy(tmpbuf, page + txreq.offset, txreq.size);
                 net_checksum_calculate(tmpbuf, txreq.size, CSUM_ALL);
@@ -243,9 +243,9 @@ static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf, size_t size
     if (rc == rp || RING_REQUEST_CONS_OVERFLOW(&netdev->rx_ring, rc)) {
         return 0;
     }
-    if (size > XC_PAGE_SIZE - NET_IP_ALIGN) {
+    if (size > XEN_PAGE_SIZE - NET_IP_ALIGN) {
         xen_pv_printf(&netdev->xendev, 0, "packet too big (%lu > %ld)",
-                      (unsigned long)size, XC_PAGE_SIZE - NET_IP_ALIGN);
+                      (unsigned long)size, XEN_PAGE_SIZE - NET_IP_ALIGN);
         return -1;
     }
 
@@ -348,8 +348,8 @@ static int net_connect(struct XenLegacyDevice *xendev)
         netdev->txs = NULL;
         return -1;
     }
-    BACK_RING_INIT(&netdev->tx_ring, netdev->txs, XC_PAGE_SIZE);
-    BACK_RING_INIT(&netdev->rx_ring, netdev->rxs, XC_PAGE_SIZE);
+    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);
 
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index a770a64cb4..66cb3f7c24 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -161,7 +161,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
 
     for (i = 0; i < nr_segs; i++) {
         if ((unsigned)usbback_req->req.seg[i].offset +
-            (unsigned)usbback_req->req.seg[i].length > XC_PAGE_SIZE) {
+            (unsigned)usbback_req->req.seg[i].length > XEN_PAGE_SIZE) {
             xen_pv_printf(xendev, 0, "segment crosses page boundary\n");
             return -EINVAL;
         }
@@ -185,7 +185,7 @@ static int usbback_gnttab_map(struct usbback_req *usbback_req)
 
         for (i = 0; i < usbback_req->nr_buffer_segs; i++) {
             seg = usbback_req->req.seg + i;
-            addr = usbback_req->buffer + i * XC_PAGE_SIZE + seg->offset;
+            addr = usbback_req->buffer + i * XEN_PAGE_SIZE + seg->offset;
             qemu_iovec_add(&usbback_req->packet.iov, addr, seg->length);
         }
     }
@@ -902,8 +902,8 @@ static int usbback_connect(struct XenLegacyDevice *xendev)
     usbif->conn_ring_ref = conn_ring_ref;
     urb_sring = usbif->urb_sring;
     conn_sring = usbif->conn_sring;
-    BACK_RING_INIT(&usbif->urb_ring, urb_sring, XC_PAGE_SIZE);
-    BACK_RING_INIT(&usbif->conn_ring, conn_sring, XC_PAGE_SIZE);
+    BACK_RING_INIT(&usbif->urb_ring, urb_sring, XEN_PAGE_SIZE);
+    BACK_RING_INIT(&usbif->conn_ring, conn_sring, XEN_PAGE_SIZE);
 
     xen_be_bind_evtchn(xendev);
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:27:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:27:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507793.781929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc2J-0007nE-CK; Tue, 07 Mar 2023 18:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507793.781929; Tue, 07 Mar 2023 18: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 1pZc2I-0007eQ-A6; Tue, 07 Mar 2023 18:27:42 +0000
Received: by outflank-mailman (input) for mailman id 507793;
 Tue, 07 Mar 2023 18: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc26-0002MP-79
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27: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 b2cf22e3-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:27:21 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc1o-006deU-A1; Tue, 07 Mar 2023 18:27:12 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1o-009eA9-10; Tue, 07 Mar 2023 18:27:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: b2cf22e3-bd15-11ed-a550-8520e6686977
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=OoYpLHePGTOV3SgREKPbrdXd7gYiqaJPFQARRGBbtMA=; b=t8MD13g0Z1OMh5Mw+Z6Cgptp0o
	qV8M8NSUbcUHYB0wxnYsJPBmTLVNym79gxTpjO9HxaZou0B7oDvbUUrG1rpnM8zwRE82UHYmY9scZ
	ne0H443HyU/lL8PkuGfFDAsUAWoKndAAcIToKoVVFxoC+OkjQjaVI8zsH4J3uVQk2Bh141DdCPmRZ
	fyvYtRT7jKlwWEzWmy9Hll+uqVBCQ5XPUH7nV4hR04P5DxxoOjoK5HdvRzDlm+ep/vl9MzNixNIVp
	u2lBBq8obOqMI6XnpJqBavvNS1igXesMCjmBmZic2HfCzd63SYtd5b1AP7QgTs6IINNhqNMLKes/U
	IUbKWvsA==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 27/27] docs: Update Xen-on-KVM documentation for PV disk support
Date: Tue,  7 Mar 2023 18:27:07 +0000
Message-Id: <20230307182707.2298618-28-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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: Paul Durrant <paul@xen.org>
---
 docs/system/i386/xen.rst | 30 +++++++++++++++++++++++-------
 1 file changed, 23 insertions(+), 7 deletions(-)

diff --git a/docs/system/i386/xen.rst b/docs/system/i386/xen.rst
index a00523b492..f06765e88c 100644
--- a/docs/system/i386/xen.rst
+++ b/docs/system/i386/xen.rst
@@ -9,6 +9,8 @@ KVM has support for hosting Xen guests, intercepting Xen hypercalls and event
 channel (Xen PV interrupt) delivery. This allows guests which expect to be
 run under Xen to be hosted in QEMU under Linux/KVM instead.
 
+Using the split irqchip is mandatory for Xen support.
+
 Setup
 -----
 
@@ -17,14 +19,14 @@ accelerator, for example for Xen 4.10:
 
 .. parsed-literal::
 
-  |qemu_system| --accel kvm,xen-version=0x4000a
+  |qemu_system| --accel kvm,xen-version=0x4000a,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 --cpu host,+xen_vapic
+  |qemu_system| --accel kvm,xen-version=0x4000a,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
@@ -33,11 +35,25 @@ 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. Note that until the Xen PV device back ends are enabled to work
-with Xen mode in QEMU, that is unlikely to cause significant joy. Linux guests
-can be dissuaded from this by adding 'xen_emul_unplug=never' on their command
-line, and it can also be noted that AHCI disk controllers are exempt from being
-unplugged, as are passthrough VFIO PCI devices.
+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
 ----------
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:29:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:29:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507810.781959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc3v-0004rx-Fn; Tue, 07 Mar 2023 18:29:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507810.781959; Tue, 07 Mar 2023 18: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 1pZc3v-0004rm-CA; Tue, 07 Mar 2023 18:29:23 +0000
Received: by outflank-mailman (input) for mailman id 507810;
 Tue, 07 Mar 2023 18: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc27-0002M9-Vp
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:32 +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 b159b849-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1n-00H8TE-29; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e91-1m; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b159b849-bd15-11ed-96b5-2f268f93b82a
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=CSUW5QTKrBhNjvACfw85vRZYDYV84DrUj4rWYgkN2Oo=; b=Zji5I8QFvF4tHEb3w7xDoe3msS
	4n6w/Rl/T7bjzJNR3hdErY2r/Dm7Ao9PnsUjc+AmcbXwVVFI37xpCYX9T9onu2VgR7biOHgf3uHZ9
	Cn3QActqVUZogKjeqpDkVktlDKacdHhccH7h8wuWGMnyLiMWm3knnTbTcUdXNG2hHwrS27LwBXNeu
	zArgAmuMPWVY/flB8GTnaRc14CZa3eXn+jK5e18trtIDTPLL98gXNMRCNnHN+mSwBBkovDhB527Fe
	3RJ6tjNyg1R/D+8UdG90spXaNy0Aca/FZB8mXSjsMsH7pObO1wIUkVSntt5cJbaP1h09Co+syZ75v
	PyCp9KaA==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 13/27] hw/xen: Add xenstore operations to allow redirection to internal emulation
Date: Tue,  7 Mar 2023 18:26:53 +0000
Message-Id: <20230307182707.2298618-14-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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: Paul Durrant <pdurrant@amazon.com>

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 accel/xen/xen-all.c                 |  11 +-
 hw/char/xen_console.c               |   2 +-
 hw/i386/kvm/xen_xenstore.c          |   3 -
 hw/i386/kvm/xenstore_impl.h         |   8 +-
 hw/xen/xen-bus-helper.c             |  62 +++----
 hw/xen/xen-bus.c                    | 261 ++++------------------------
 hw/xen/xen-legacy-backend.c         | 119 +++++++------
 hw/xen/xen-operations.c             | 198 +++++++++++++++++++++
 hw/xen/xen_devconfig.c              |   4 +-
 hw/xen/xen_pt_graphics.c            |   1 -
 hw/xen/xen_pvdev.c                  |  49 +-----
 include/hw/xen/xen-bus-helper.h     |  26 +--
 include/hw/xen/xen-bus.h            |  17 +-
 include/hw/xen/xen-legacy-backend.h |   6 +-
 include/hw/xen/xen_backend_ops.h    | 163 +++++++++++++++++
 include/hw/xen/xen_common.h         |   1 -
 include/hw/xen/xen_pvdev.h          |   2 +-
 softmmu/globals.c                   |   1 +
 18 files changed, 525 insertions(+), 409 deletions(-)

diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index e85e4aeba5..425216230f 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -90,12 +90,15 @@ void xenstore_store_pv_console_info(int i, Chardev *chr)
 }
 
 
-static void xenstore_record_dm_state(struct xs_handle *xs, const char *state)
+static void xenstore_record_dm_state(const char *state)
 {
+    struct xs_handle *xs;
     char path[50];
 
+    /* We now have everything we need to set the xenstore entry. */
+    xs = xs_open(0);
     if (xs == NULL) {
-        error_report("xenstore connection not initialized");
+        fprintf(stderr, "Could not contact XenStore\n");
         exit(1);
     }
 
@@ -109,6 +112,8 @@ static void xenstore_record_dm_state(struct xs_handle *xs, const char *state)
         error_report("error recording dm state");
         exit(1);
     }
+
+    xs_close(xs);
 }
 
 
@@ -117,7 +122,7 @@ static void xen_change_state_handler(void *opaque, bool running,
 {
     if (running) {
         /* record state running */
-        xenstore_record_dm_state(xenstore, "running");
+        xenstore_record_dm_state("running");
     }
 }
 
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index e9cef3e1ef..ad8638a86d 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -181,7 +181,7 @@ static int con_init(struct XenLegacyDevice *xendev)
     const char *output;
 
     /* setup */
-    dom = xs_get_domain_path(xenstore, con->xendev.dom);
+    dom = qemu_xen_xs_get_domain_path(xenstore, con->xendev.dom);
     if (!xendev->dev) {
         snprintf(con->console, sizeof(con->console), "%s/console", dom);
     } else {
diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index fb3648a058..35898e9b37 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -38,9 +38,6 @@
 #define TYPE_XEN_XENSTORE "xen-xenstore"
 OBJECT_DECLARE_SIMPLE_TYPE(XenXenstoreState, XEN_XENSTORE)
 
-#define XEN_PAGE_SHIFT 12
-#define XEN_PAGE_SIZE (1ULL << XEN_PAGE_SHIFT)
-
 #define ENTRIES_PER_FRAME_V1 (XEN_PAGE_SIZE / sizeof(grant_entry_v1_t))
 #define ENTRIES_PER_FRAME_V2 (XEN_PAGE_SIZE / sizeof(grant_entry_v2_t))
 
diff --git a/hw/i386/kvm/xenstore_impl.h b/hw/i386/kvm/xenstore_impl.h
index bbe2391e2e..0df2a91aae 100644
--- a/hw/i386/kvm/xenstore_impl.h
+++ b/hw/i386/kvm/xenstore_impl.h
@@ -12,13 +12,7 @@
 #ifndef QEMU_XENSTORE_IMPL_H
 #define QEMU_XENSTORE_IMPL_H
 
-typedef uint32_t xs_transaction_t;
-
-#define XBT_NULL 0
-
-#define XS_PERM_NONE  0x00
-#define XS_PERM_READ  0x01
-#define XS_PERM_WRITE 0x02
+#include "hw/xen/xen_backend_ops.h"
 
 typedef struct XenstoreImplState XenstoreImplState;
 
diff --git a/hw/xen/xen-bus-helper.c b/hw/xen/xen-bus-helper.c
index 5a1e12b374..b2b2cc9c5d 100644
--- a/hw/xen/xen-bus-helper.c
+++ b/hw/xen/xen-bus-helper.c
@@ -10,6 +10,7 @@
 #include "hw/xen/xen-bus.h"
 #include "hw/xen/xen-bus-helper.h"
 #include "qapi/error.h"
+#include "trace.h"
 
 #include <glib/gprintf.h>
 
@@ -46,34 +47,28 @@ const char *xs_strstate(enum xenbus_state state)
     return "INVALID";
 }
 
-void xs_node_create(struct xs_handle *xsh, xs_transaction_t tid,
-                    const char *node, struct xs_permissions perms[],
-                    unsigned int nr_perms, Error **errp)
+void xs_node_create(struct qemu_xs_handle *h, xs_transaction_t tid,
+                    const char *node, unsigned int owner, unsigned int domid,
+                    unsigned int perms, Error **errp)
 {
     trace_xs_node_create(node);
 
-    if (!xs_write(xsh, tid, node, "", 0)) {
+    if (!qemu_xen_xs_create(h, tid, owner, domid, perms, node)) {
         error_setg_errno(errp, errno, "failed to create node '%s'", node);
-        return;
-    }
-
-    if (!xs_set_permissions(xsh, tid, node, perms, nr_perms)) {
-        error_setg_errno(errp, errno, "failed to set node '%s' permissions",
-                         node);
     }
 }
 
-void xs_node_destroy(struct xs_handle *xsh, xs_transaction_t tid,
+void xs_node_destroy(struct qemu_xs_handle *h, xs_transaction_t tid,
                      const char *node, Error **errp)
 {
     trace_xs_node_destroy(node);
 
-    if (!xs_rm(xsh, tid, node)) {
+    if (!qemu_xen_xs_destroy(h, tid, node)) {
         error_setg_errno(errp, errno, "failed to destroy node '%s'", node);
     }
 }
 
-void xs_node_vprintf(struct xs_handle *xsh, xs_transaction_t tid,
+void xs_node_vprintf(struct qemu_xs_handle *h, xs_transaction_t tid,
                      const char *node, const char *key, Error **errp,
                      const char *fmt, va_list ap)
 {
@@ -86,7 +81,7 @@ void xs_node_vprintf(struct xs_handle *xsh, xs_transaction_t tid,
 
     trace_xs_node_vprintf(path, value);
 
-    if (!xs_write(xsh, tid, path, value, len)) {
+    if (!qemu_xen_xs_write(h, tid, path, value, len)) {
         error_setg_errno(errp, errno, "failed to write '%s' to '%s'",
                          value, path);
     }
@@ -95,18 +90,18 @@ void xs_node_vprintf(struct xs_handle *xsh, xs_transaction_t tid,
     g_free(path);
 }
 
-void xs_node_printf(struct xs_handle *xsh,  xs_transaction_t tid,
+void xs_node_printf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                     const char *node, const char *key, Error **errp,
                     const char *fmt, ...)
 {
     va_list ap;
 
     va_start(ap, fmt);
-    xs_node_vprintf(xsh, tid, node, key, errp, fmt, ap);
+    xs_node_vprintf(h, tid, node, key, errp, fmt, ap);
     va_end(ap);
 }
 
-int xs_node_vscanf(struct xs_handle *xsh,  xs_transaction_t tid,
+int xs_node_vscanf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                    const char *node, const char *key, Error **errp,
                    const char *fmt, va_list ap)
 {
@@ -115,7 +110,7 @@ int xs_node_vscanf(struct xs_handle *xsh,  xs_transaction_t tid,
 
     path = (strlen(node) != 0) ? g_strdup_printf("%s/%s", node, key) :
         g_strdup(key);
-    value = xs_read(xsh, tid, path, NULL);
+    value = qemu_xen_xs_read(h, tid, path, NULL);
 
     trace_xs_node_vscanf(path, value);
 
@@ -133,7 +128,7 @@ int xs_node_vscanf(struct xs_handle *xsh,  xs_transaction_t tid,
     return rc;
 }
 
-int xs_node_scanf(struct xs_handle *xsh,  xs_transaction_t tid,
+int xs_node_scanf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                   const char *node, const char *key, Error **errp,
                   const char *fmt, ...)
 {
@@ -141,42 +136,35 @@ int xs_node_scanf(struct xs_handle *xsh,  xs_transaction_t tid,
     int rc;
 
     va_start(ap, fmt);
-    rc = xs_node_vscanf(xsh, tid, node, key, errp, fmt, ap);
+    rc = xs_node_vscanf(h, tid, node, key, errp, fmt, ap);
     va_end(ap);
 
     return rc;
 }
 
-void xs_node_watch(struct xs_handle *xsh, const char *node, const char *key,
-                   char *token, Error **errp)
+struct qemu_xs_watch *xs_node_watch(struct qemu_xs_handle *h, const char *node,
+                                    const char *key, xs_watch_fn fn,
+                                    void *opaque, Error **errp)
 {
     char *path;
+    struct qemu_xs_watch *w;
 
     path = (strlen(node) != 0) ? g_strdup_printf("%s/%s", node, key) :
         g_strdup(key);
 
     trace_xs_node_watch(path);
 
-    if (!xs_watch(xsh, path, token)) {
+    w = qemu_xen_xs_watch(h, path, fn, opaque);
+    if (!w) {
         error_setg_errno(errp, errno, "failed to watch node '%s'", path);
     }
 
     g_free(path);
+
+    return w;
 }
 
-void xs_node_unwatch(struct xs_handle *xsh, const char *node,
-                     const char *key, const char *token, Error **errp)
+void xs_node_unwatch(struct qemu_xs_handle *h, struct qemu_xs_watch *w)
 {
-    char *path;
-
-    path = (strlen(node) != 0) ? g_strdup_printf("%s/%s", node, key) :
-        g_strdup(key);
-
-    trace_xs_node_unwatch(path);
-
-    if (!xs_unwatch(xsh, path, token)) {
-        error_setg_errno(errp, errno, "failed to unwatch node '%s'", path);
-    }
-
-    g_free(path);
+    qemu_xen_xs_unwatch(h, w);
 }
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index aee6a8c9b0..9fe54967d4 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -62,7 +62,7 @@ static void xen_device_unplug(XenDevice *xendev, Error **errp)
 
     /* Mimic the way the Xen toolstack does an unplug */
 again:
-    tid = xs_transaction_start(xenbus->xsh);
+    tid = qemu_xen_xs_transaction_start(xenbus->xsh);
     if (tid == XBT_NULL) {
         error_setg_errno(errp, errno, "failed xs_transaction_start");
         return;
@@ -80,7 +80,7 @@ again:
         goto abort;
     }
 
-    if (!xs_transaction_end(xenbus->xsh, tid, false)) {
+    if (!qemu_xen_xs_transaction_end(xenbus->xsh, tid, false)) {
         if (errno == EAGAIN) {
             goto again;
         }
@@ -95,7 +95,7 @@ abort:
      * We only abort if there is already a failure so ignore any error
      * from ending the transaction.
      */
-    xs_transaction_end(xenbus->xsh, tid, true);
+    qemu_xen_xs_transaction_end(xenbus->xsh, tid, true);
 }
 
 static void xen_bus_print_dev(Monitor *mon, DeviceState *dev, int indent)
@@ -111,143 +111,6 @@ static char *xen_bus_get_dev_path(DeviceState *dev)
     return xen_device_get_backend_path(XEN_DEVICE(dev));
 }
 
-struct XenWatch {
-    char *node, *key;
-    char *token;
-    XenWatchHandler handler;
-    void *opaque;
-    Notifier notifier;
-};
-
-static void watch_notify(Notifier *n, void *data)
-{
-    XenWatch *watch = container_of(n, XenWatch, notifier);
-    const char *token = data;
-
-    if (!strcmp(watch->token, token)) {
-        watch->handler(watch->opaque);
-    }
-}
-
-static XenWatch *new_watch(const char *node, const char *key,
-                           XenWatchHandler handler, void *opaque)
-{
-    XenWatch *watch = g_new0(XenWatch, 1);
-    QemuUUID uuid;
-
-    qemu_uuid_generate(&uuid);
-
-    watch->token = qemu_uuid_unparse_strdup(&uuid);
-    watch->node = g_strdup(node);
-    watch->key = g_strdup(key);
-    watch->handler = handler;
-    watch->opaque = opaque;
-    watch->notifier.notify = watch_notify;
-
-    return watch;
-}
-
-static void free_watch(XenWatch *watch)
-{
-    g_free(watch->token);
-    g_free(watch->key);
-    g_free(watch->node);
-
-    g_free(watch);
-}
-
-struct XenWatchList {
-    struct xs_handle *xsh;
-    NotifierList notifiers;
-};
-
-static void watch_list_event(void *opaque)
-{
-    XenWatchList *watch_list = opaque;
-    char **v;
-    const char *token;
-
-    v = xs_check_watch(watch_list->xsh);
-    if (!v) {
-        return;
-    }
-
-    token = v[XS_WATCH_TOKEN];
-
-    notifier_list_notify(&watch_list->notifiers, (void *)token);
-
-    free(v);
-}
-
-static XenWatchList *watch_list_create(struct xs_handle *xsh)
-{
-    XenWatchList *watch_list = g_new0(XenWatchList, 1);
-
-    g_assert(xsh);
-
-    watch_list->xsh = xsh;
-    notifier_list_init(&watch_list->notifiers);
-    qemu_set_fd_handler(xs_fileno(watch_list->xsh), watch_list_event, NULL,
-                        watch_list);
-
-    return watch_list;
-}
-
-static void watch_list_destroy(XenWatchList *watch_list)
-{
-    g_assert(notifier_list_empty(&watch_list->notifiers));
-    qemu_set_fd_handler(xs_fileno(watch_list->xsh), NULL, NULL, NULL);
-    g_free(watch_list);
-}
-
-static XenWatch *watch_list_add(XenWatchList *watch_list, const char *node,
-                                const char *key, XenWatchHandler handler,
-                                void *opaque, Error **errp)
-{
-    ERRP_GUARD();
-    XenWatch *watch = new_watch(node, key, handler, opaque);
-
-    notifier_list_add(&watch_list->notifiers, &watch->notifier);
-
-    xs_node_watch(watch_list->xsh, node, key, watch->token, errp);
-    if (*errp) {
-        notifier_remove(&watch->notifier);
-        free_watch(watch);
-
-        return NULL;
-    }
-
-    return watch;
-}
-
-static void watch_list_remove(XenWatchList *watch_list, XenWatch *watch,
-                              Error **errp)
-{
-    xs_node_unwatch(watch_list->xsh, watch->node, watch->key, watch->token,
-                    errp);
-
-    notifier_remove(&watch->notifier);
-    free_watch(watch);
-}
-
-static XenWatch *xen_bus_add_watch(XenBus *xenbus, const char *node,
-                                   const char *key, XenWatchHandler handler,
-                                   Error **errp)
-{
-    trace_xen_bus_add_watch(node, key);
-
-    return watch_list_add(xenbus->watch_list, node, key, handler, xenbus,
-                          errp);
-}
-
-static void xen_bus_remove_watch(XenBus *xenbus, XenWatch *watch,
-                                 Error **errp)
-{
-    trace_xen_bus_remove_watch(watch->node, watch->key);
-
-    watch_list_remove(xenbus->watch_list, watch, errp);
-}
-
 static void xen_bus_backend_create(XenBus *xenbus, const char *type,
                                    const char *name, char *path,
                                    Error **errp)
@@ -261,15 +124,15 @@ static void xen_bus_backend_create(XenBus *xenbus, const char *type,
     trace_xen_bus_backend_create(type, path);
 
 again:
-    tid = xs_transaction_start(xenbus->xsh);
+    tid = qemu_xen_xs_transaction_start(xenbus->xsh);
     if (tid == XBT_NULL) {
         error_setg(errp, "failed xs_transaction_start");
         return;
     }
 
-    key = xs_directory(xenbus->xsh, tid, path, &n);
+    key = qemu_xen_xs_directory(xenbus->xsh, tid, path, &n);
     if (!key) {
-        if (!xs_transaction_end(xenbus->xsh, tid, true)) {
+        if (!qemu_xen_xs_transaction_end(xenbus->xsh, tid, true)) {
             error_setg_errno(errp, errno, "failed xs_transaction_end");
         }
         return;
@@ -300,7 +163,7 @@ again:
 
     free(key);
 
-    if (!xs_transaction_end(xenbus->xsh, tid, false)) {
+    if (!qemu_xen_xs_transaction_end(xenbus->xsh, tid, false)) {
         qobject_unref(opts);
 
         if (errno == EAGAIN) {
@@ -327,7 +190,7 @@ static void xen_bus_type_enumerate(XenBus *xenbus, const char *type)
 
     trace_xen_bus_type_enumerate(type);
 
-    backend = xs_directory(xenbus->xsh, XBT_NULL, domain_path, &n);
+    backend = qemu_xen_xs_directory(xenbus->xsh, XBT_NULL, domain_path, &n);
     if (!backend) {
         goto out;
     }
@@ -372,7 +235,7 @@ static void xen_bus_enumerate(XenBus *xenbus)
 
     trace_xen_bus_enumerate();
 
-    type = xs_directory(xenbus->xsh, XBT_NULL, "backend", &n);
+    type = qemu_xen_xs_directory(xenbus->xsh, XBT_NULL, "backend", &n);
     if (!type) {
         return;
     }
@@ -415,7 +278,7 @@ static void xen_bus_cleanup(XenBus *xenbus)
     }
 }
 
-static void xen_bus_backend_changed(void *opaque)
+static void xen_bus_backend_changed(void *opaque, const char *path)
 {
     XenBus *xenbus = opaque;
 
@@ -434,7 +297,7 @@ static void xen_bus_unrealize(BusState *bus)
 
         for (i = 0; i < xenbus->backend_types; i++) {
             if (xenbus->backend_watch[i]) {
-                xen_bus_remove_watch(xenbus, xenbus->backend_watch[i], NULL);
+                xs_node_unwatch(xenbus->xsh, xenbus->backend_watch[i]);
             }
         }
 
@@ -442,13 +305,8 @@ static void xen_bus_unrealize(BusState *bus)
         xenbus->backend_watch = NULL;
     }
 
-    if (xenbus->watch_list) {
-        watch_list_destroy(xenbus->watch_list);
-        xenbus->watch_list = NULL;
-    }
-
     if (xenbus->xsh) {
-        xs_close(xenbus->xsh);
+        qemu_xen_xs_close(xenbus->xsh);
     }
 }
 
@@ -463,7 +321,7 @@ static void xen_bus_realize(BusState *bus, Error **errp)
 
     trace_xen_bus_realize();
 
-    xenbus->xsh = xs_open(0);
+    xenbus->xsh = qemu_xen_xs_open();
     if (!xenbus->xsh) {
         error_setg_errno(errp, errno, "failed xs_open");
         goto fail;
@@ -476,19 +334,18 @@ static void xen_bus_realize(BusState *bus, Error **errp)
         xenbus->backend_id = 0; /* Assume lack of node means dom0 */
     }
 
-    xenbus->watch_list = watch_list_create(xenbus->xsh);
-
     module_call_init(MODULE_INIT_XEN_BACKEND);
 
     type = xen_backend_get_types(&xenbus->backend_types);
-    xenbus->backend_watch = g_new(XenWatch *, xenbus->backend_types);
+    xenbus->backend_watch = g_new(struct qemu_xs_watch *,
+                                  xenbus->backend_types);
 
     for (i = 0; i < xenbus->backend_types; i++) {
         char *node = g_strdup_printf("backend/%s", type[i]);
 
         xenbus->backend_watch[i] =
-            xen_bus_add_watch(xenbus, node, key, xen_bus_backend_changed,
-                              &local_err);
+            xs_node_watch(xenbus->xsh, node, key, xen_bus_backend_changed,
+                          xenbus, &local_err);
         if (local_err) {
             /* This need not be treated as a hard error so don't propagate */
             error_reportf_err(local_err,
@@ -631,7 +488,7 @@ static bool xen_device_frontend_is_active(XenDevice *xendev)
     }
 }
 
-static void xen_device_backend_changed(void *opaque)
+static void xen_device_backend_changed(void *opaque, const char *path)
 {
     XenDevice *xendev = opaque;
     const char *type = object_get_typename(OBJECT(xendev));
@@ -685,66 +542,35 @@ static void xen_device_backend_changed(void *opaque)
     }
 }
 
-static XenWatch *xen_device_add_watch(XenDevice *xendev, const char *node,
-                                      const char *key,
-                                      XenWatchHandler handler,
-                                      Error **errp)
-{
-    const char *type = object_get_typename(OBJECT(xendev));
-
-    trace_xen_device_add_watch(type, xendev->name, node, key);
-
-    return watch_list_add(xendev->watch_list, node, key, handler, xendev,
-                          errp);
-}
-
-static void xen_device_remove_watch(XenDevice *xendev, XenWatch *watch,
-                                    Error **errp)
-{
-    const char *type = object_get_typename(OBJECT(xendev));
-
-    trace_xen_device_remove_watch(type, xendev->name, watch->node,
-                                  watch->key);
-
-    watch_list_remove(xendev->watch_list, watch, errp);
-}
-
-
 static void xen_device_backend_create(XenDevice *xendev, Error **errp)
 {
     ERRP_GUARD();
     XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
-    struct xs_permissions perms[2];
 
     xendev->backend_path = xen_device_get_backend_path(xendev);
 
-    perms[0].id = xenbus->backend_id;
-    perms[0].perms = XS_PERM_NONE;
-    perms[1].id = xendev->frontend_id;
-    perms[1].perms = XS_PERM_READ;
-
     g_assert(xenbus->xsh);
 
-    xs_node_create(xenbus->xsh, XBT_NULL, xendev->backend_path, perms,
-                   ARRAY_SIZE(perms), errp);
+    xs_node_create(xenbus->xsh, XBT_NULL, xendev->backend_path,
+                   xenbus->backend_id, xendev->frontend_id, XS_PERM_READ, errp);
     if (*errp) {
         error_prepend(errp, "failed to create backend: ");
         return;
     }
 
     xendev->backend_state_watch =
-        xen_device_add_watch(xendev, xendev->backend_path,
-                             "state", xen_device_backend_changed,
-                             errp);
+        xs_node_watch(xendev->xsh, xendev->backend_path,
+                      "state", xen_device_backend_changed, xendev,
+                      errp);
     if (*errp) {
         error_prepend(errp, "failed to watch backend state: ");
         return;
     }
 
     xendev->backend_online_watch =
-        xen_device_add_watch(xendev, xendev->backend_path,
-                             "online", xen_device_backend_changed,
-                             errp);
+        xs_node_watch(xendev->xsh, xendev->backend_path,
+                      "online", xen_device_backend_changed, xendev,
+                      errp);
     if (*errp) {
         error_prepend(errp, "failed to watch backend online: ");
         return;
@@ -757,12 +583,12 @@ static void xen_device_backend_destroy(XenDevice *xendev)
     Error *local_err = NULL;
 
     if (xendev->backend_online_watch) {
-        xen_device_remove_watch(xendev, xendev->backend_online_watch, NULL);
+        xs_node_unwatch(xendev->xsh, xendev->backend_online_watch);
         xendev->backend_online_watch = NULL;
     }
 
     if (xendev->backend_state_watch) {
-        xen_device_remove_watch(xendev, xendev->backend_state_watch, NULL);
+        xs_node_unwatch(xendev->xsh, xendev->backend_state_watch);
         xendev->backend_state_watch = NULL;
     }
 
@@ -837,7 +663,7 @@ static void xen_device_frontend_set_state(XenDevice *xendev,
     }
 }
 
-static void xen_device_frontend_changed(void *opaque)
+static void xen_device_frontend_changed(void *opaque, const char *path)
 {
     XenDevice *xendev = opaque;
     XenDeviceClass *xendev_class = XEN_DEVICE_GET_CLASS(xendev);
@@ -885,7 +711,6 @@ static void xen_device_frontend_create(XenDevice *xendev, Error **errp)
 {
     ERRP_GUARD();
     XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
-    struct xs_permissions perms[2];
 
     xendev->frontend_path = xen_device_get_frontend_path(xendev);
 
@@ -894,15 +719,11 @@ static void xen_device_frontend_create(XenDevice *xendev, Error **errp)
      * toolstack.
      */
     if (!xen_device_frontend_exists(xendev)) {
-        perms[0].id = xendev->frontend_id;
-        perms[0].perms = XS_PERM_NONE;
-        perms[1].id = xenbus->backend_id;
-        perms[1].perms = XS_PERM_READ | XS_PERM_WRITE;
-
         g_assert(xenbus->xsh);
 
-        xs_node_create(xenbus->xsh, XBT_NULL, xendev->frontend_path, perms,
-                       ARRAY_SIZE(perms), errp);
+        xs_node_create(xenbus->xsh, XBT_NULL, xendev->frontend_path,
+                       xendev->frontend_id, xenbus->backend_id,
+                       XS_PERM_READ | XS_PERM_WRITE, errp);
         if (*errp) {
             error_prepend(errp, "failed to create frontend: ");
             return;
@@ -910,8 +731,8 @@ static void xen_device_frontend_create(XenDevice *xendev, Error **errp)
     }
 
     xendev->frontend_state_watch =
-        xen_device_add_watch(xendev, xendev->frontend_path, "state",
-                             xen_device_frontend_changed, errp);
+        xs_node_watch(xendev->xsh, xendev->frontend_path, "state",
+                      xen_device_frontend_changed, xendev, errp);
     if (*errp) {
         error_prepend(errp, "failed to watch frontend state: ");
     }
@@ -923,8 +744,7 @@ static void xen_device_frontend_destroy(XenDevice *xendev)
     Error *local_err = NULL;
 
     if (xendev->frontend_state_watch) {
-        xen_device_remove_watch(xendev, xendev->frontend_state_watch,
-                                NULL);
+        xs_node_unwatch(xendev->xsh, xendev->frontend_state_watch);
         xendev->frontend_state_watch = NULL;
     }
 
@@ -1146,13 +966,8 @@ static void xen_device_unrealize(DeviceState *dev)
         xendev->xgth = NULL;
     }
 
-    if (xendev->watch_list) {
-        watch_list_destroy(xendev->watch_list);
-        xendev->watch_list = NULL;
-    }
-
     if (xendev->xsh) {
-        xs_close(xendev->xsh);
+        qemu_xen_xs_close(xendev->xsh);
         xendev->xsh = NULL;
     }
 
@@ -1197,14 +1012,12 @@ static void xen_device_realize(DeviceState *dev, Error **errp)
 
     trace_xen_device_realize(type, xendev->name);
 
-    xendev->xsh = xs_open(0);
+    xendev->xsh = qemu_xen_xs_open();
     if (!xendev->xsh) {
         error_setg_errno(errp, errno, "failed xs_open");
         goto unrealize;
     }
 
-    xendev->watch_list = watch_list_create(xendev->xsh);
-
     xendev->xgth = qemu_xen_gnttab_open();
     if (!xendev->xgth) {
         error_setg_errno(errp, errno, "failed xengnttab_open");
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index a48a25aeb5..4ded3cec23 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -39,7 +39,7 @@ BusState *xen_sysbus;
 /* ------------------------------------------------------------- */
 
 /* public */
-struct xs_handle *xenstore;
+struct qemu_xs_handle *xenstore;
 const char *xen_protocol;
 
 /* private */
@@ -274,6 +274,25 @@ static void xen_be_frontend_changed(struct XenLegacyDevice *xendev,
     }
 }
 
+static void xenstore_update_fe(void *opaque, const char *watch)
+{
+    struct XenLegacyDevice *xendev = opaque;
+    const char *node;
+    unsigned int len;
+
+    len = strlen(xendev->fe);
+    if (strncmp(xendev->fe, watch, len) != 0) {
+        return;
+    }
+    if (watch[len] != '/') {
+        return;
+    }
+    node = watch + len + 1;
+
+    xen_be_frontend_changed(xendev, node);
+    xen_be_check_state(xendev);
+}
+
 /* ------------------------------------------------------------- */
 /* Check for possible state transitions and perform them.        */
 
@@ -287,7 +306,6 @@ static void xen_be_frontend_changed(struct XenLegacyDevice *xendev,
  */
 static int xen_be_try_setup(struct XenLegacyDevice *xendev)
 {
-    char token[XEN_BUFSIZE];
     int be_state;
 
     if (xenstore_read_be_int(xendev, "state", &be_state) == -1) {
@@ -308,8 +326,9 @@ static int xen_be_try_setup(struct XenLegacyDevice *xendev)
     }
 
     /* setup frontend watch */
-    snprintf(token, sizeof(token), "fe:%p", xendev);
-    if (!xs_watch(xenstore, xendev->fe, token)) {
+    xendev->watch = qemu_xen_xs_watch(xenstore, xendev->fe, xenstore_update_fe,
+                                      xendev);
+    if (!xendev->watch) {
         xen_pv_printf(xendev, 0, "watching frontend path (%s) failed\n",
                       xendev->fe);
         return -1;
@@ -498,46 +517,20 @@ void xen_be_check_state(struct XenLegacyDevice *xendev)
 
 /* ------------------------------------------------------------- */
 
-static int xenstore_scan(const char *type, int dom, struct XenDevOps *ops)
-{
-    struct XenLegacyDevice *xendev;
-    char path[XEN_BUFSIZE], token[XEN_BUFSIZE];
-    char **dev = NULL;
-    unsigned int cdev, j;
-
-    /* setup watch */
-    snprintf(token, sizeof(token), "be:%p:%d:%p", type, dom, ops);
-    snprintf(path, sizeof(path), "backend/%s/%d", type, dom);
-    if (!xs_watch(xenstore, path, token)) {
-        xen_pv_printf(NULL, 0, "xen be: watching backend path (%s) failed\n",
-                      path);
-        return -1;
-    }
-
-    /* look for backends */
-    dev = xs_directory(xenstore, 0, path, &cdev);
-    if (!dev) {
-        return 0;
-    }
-    for (j = 0; j < cdev; j++) {
-        xendev = xen_be_get_xendev(type, dom, atoi(dev[j]), ops);
-        if (xendev == NULL) {
-            continue;
-        }
-        xen_be_check_state(xendev);
-    }
-    free(dev);
-    return 0;
-}
+struct xenstore_be {
+    const char *type;
+    int dom;
+    struct XenDevOps *ops;
+};
 
-void xenstore_update_be(char *watch, char *type, int dom,
-                        struct XenDevOps *ops)
+static void xenstore_update_be(void *opaque, const char *watch)
 {
+    struct xenstore_be *be = opaque;
     struct XenLegacyDevice *xendev;
     char path[XEN_BUFSIZE], *bepath;
     unsigned int len, dev;
 
-    len = snprintf(path, sizeof(path), "backend/%s/%d", type, dom);
+    len = snprintf(path, sizeof(path), "backend/%s/%d", be->type, be->dom);
     if (strncmp(path, watch, len) != 0) {
         return;
     }
@@ -551,9 +544,9 @@ void xenstore_update_be(char *watch, char *type, int dom,
         return;
     }
 
-    xendev = xen_be_get_xendev(type, dom, dev, ops);
+    xendev = xen_be_get_xendev(be->type, be->dom, dev, be->ops);
     if (xendev != NULL) {
-        bepath = xs_read(xenstore, 0, xendev->be, &len);
+        bepath = qemu_xen_xs_read(xenstore, 0, xendev->be, &len);
         if (bepath == NULL) {
             xen_pv_del_xendev(xendev);
         } else {
@@ -564,23 +557,41 @@ void xenstore_update_be(char *watch, char *type, int dom,
     }
 }
 
-void xenstore_update_fe(char *watch, struct XenLegacyDevice *xendev)
+static int xenstore_scan(const char *type, int dom, struct XenDevOps *ops)
 {
-    char *node;
-    unsigned int len;
+    struct XenLegacyDevice *xendev;
+    char path[XEN_BUFSIZE];
+    struct xenstore_be *be = g_new0(struct xenstore_be, 1);
+    char **dev = NULL;
+    unsigned int cdev, j;
 
-    len = strlen(xendev->fe);
-    if (strncmp(xendev->fe, watch, len) != 0) {
-        return;
-    }
-    if (watch[len] != '/') {
-        return;
+    /* setup watch */
+    be->type = type;
+    be->dom = dom;
+    be->ops = ops;
+    snprintf(path, sizeof(path), "backend/%s/%d", type, dom);
+    if (!qemu_xen_xs_watch(xenstore, path, xenstore_update_be, be)) {
+        xen_pv_printf(NULL, 0, "xen be: watching backend path (%s) failed\n",
+                      path);
+        return -1;
     }
-    node = watch + len + 1;
 
-    xen_be_frontend_changed(xendev, node);
-    xen_be_check_state(xendev);
+    /* look for backends */
+    dev = qemu_xen_xs_directory(xenstore, 0, path, &cdev);
+    if (!dev) {
+        return 0;
+    }
+    for (j = 0; j < cdev; j++) {
+        xendev = xen_be_get_xendev(type, dom, atoi(dev[j]), ops);
+        if (xendev == NULL) {
+            continue;
+        }
+        xen_be_check_state(xendev);
+    }
+    free(dev);
+    return 0;
 }
+
 /* -------------------------------------------------------------------- */
 
 static void xen_set_dynamic_sysbus(void)
@@ -594,14 +605,12 @@ static void xen_set_dynamic_sysbus(void)
 
 void xen_be_init(void)
 {
-    xenstore = xs_daemon_open();
+    xenstore = qemu_xen_xs_open();
     if (!xenstore) {
         xen_pv_printf(NULL, 0, "can't connect to xenstored\n");
         exit(1);
     }
 
-    qemu_set_fd_handler(xs_fileno(xenstore), xenstore_update, NULL, NULL);
-
     if (xen_evtchn_ops == NULL || xen_gnttab_ops == NULL) {
         xen_pv_printf(NULL, 0, "Xen operations not set up\n");
         exit(1);
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index 440e566bb1..abed812b63 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -10,6 +10,7 @@
  */
 
 #include "qemu/osdep.h"
+#include "qemu/uuid.h"
 #include "qapi/error.h"
 
 #include "hw/xen/xen_backend_ops.h"
@@ -262,6 +263,202 @@ struct foreignmem_backend_ops libxenforeignmem_backend_ops = {
     .unmap = libxenforeignmem_backend_unmap,
 };
 
+struct qemu_xs_handle {
+    struct xs_handle *xsh;
+    NotifierList notifiers;
+};
+
+static void watch_event(void *opaque)
+{
+    struct qemu_xs_handle *h = opaque;
+
+    for (;;) {
+        char **v = xs_check_watch(h->xsh);
+
+        if (!v) {
+            break;
+        }
+
+        notifier_list_notify(&h->notifiers, v);
+        free(v);
+    }
+}
+
+static struct qemu_xs_handle *libxenstore_open(void)
+{
+    struct xs_handle *xsh = xs_open(0);
+    struct qemu_xs_handle *h = g_new0(struct qemu_xs_handle, 1);
+
+    if (!xsh) {
+        return NULL;
+    }
+
+    h = g_new0(struct qemu_xs_handle, 1);
+    h->xsh = xsh;
+
+    notifier_list_init(&h->notifiers);
+    qemu_set_fd_handler(xs_fileno(h->xsh), watch_event, NULL, h);
+
+    return h;
+}
+
+static void libxenstore_close(struct qemu_xs_handle *h)
+{
+    g_assert(notifier_list_empty(&h->notifiers));
+    qemu_set_fd_handler(xs_fileno(h->xsh), NULL, NULL, NULL);
+    xs_close(h->xsh);
+    g_free(h);
+}
+
+static char *libxenstore_get_domain_path(struct qemu_xs_handle *h,
+                                         unsigned int domid)
+{
+    return xs_get_domain_path(h->xsh, domid);
+}
+
+static char **libxenstore_directory(struct qemu_xs_handle *h,
+                                    xs_transaction_t t, const char *path,
+                                    unsigned int *num)
+{
+    return xs_directory(h->xsh, t, path, num);
+}
+
+static void *libxenstore_read(struct qemu_xs_handle *h, xs_transaction_t t,
+                              const char *path, unsigned int *len)
+{
+    return xs_read(h->xsh, t, path, len);
+}
+
+static bool libxenstore_write(struct qemu_xs_handle *h, xs_transaction_t t,
+                              const char *path, const void *data,
+                              unsigned int len)
+{
+    return xs_write(h->xsh, t, path, data, len);
+}
+
+static bool libxenstore_create(struct qemu_xs_handle *h, xs_transaction_t t,
+                               unsigned int owner, unsigned int domid,
+                               unsigned int perms, const char *path)
+{
+    struct xs_permissions perms_list[] = {
+        {
+            .id    = owner,
+            .perms = XS_PERM_NONE,
+        },
+        {
+            .id    = domid,
+            .perms = perms,
+        },
+    };
+
+    if (!xs_mkdir(h->xsh, t, path)) {
+        return false;
+    }
+
+    return xs_set_permissions(h->xsh, t, path, perms_list,
+                              ARRAY_SIZE(perms_list));
+}
+
+static bool libxenstore_destroy(struct qemu_xs_handle *h, xs_transaction_t t,
+                                const char *path)
+{
+    return xs_rm(h->xsh, t, path);
+}
+
+struct qemu_xs_watch {
+    char *path;
+    char *token;
+    xs_watch_fn fn;
+    void *opaque;
+    Notifier notifier;
+};
+
+static void watch_notify(Notifier *n, void *data)
+{
+    struct qemu_xs_watch *w = container_of(n, struct qemu_xs_watch, notifier);
+    const char **v = data;
+
+    if (!strcmp(w->token, v[XS_WATCH_TOKEN])) {
+        w->fn(w->opaque, v[XS_WATCH_PATH]);
+    }
+}
+
+static struct qemu_xs_watch *new_watch(const char *path, xs_watch_fn fn,
+                                       void *opaque)
+{
+    struct qemu_xs_watch *w = g_new0(struct qemu_xs_watch, 1);
+    QemuUUID uuid;
+
+    qemu_uuid_generate(&uuid);
+
+    w->token = qemu_uuid_unparse_strdup(&uuid);
+    w->path = g_strdup(path);
+    w->fn = fn;
+    w->opaque = opaque;
+    w->notifier.notify = watch_notify;
+
+    return w;
+}
+
+static void free_watch(struct qemu_xs_watch *w)
+{
+    g_free(w->token);
+    g_free(w->path);
+
+    g_free(w);
+}
+
+static struct qemu_xs_watch *libxenstore_watch(struct qemu_xs_handle *h,
+                                               const char *path, xs_watch_fn fn,
+                                               void *opaque)
+{
+    struct qemu_xs_watch *w = new_watch(path, fn, opaque);
+
+    notifier_list_add(&h->notifiers, &w->notifier);
+
+    if (!xs_watch(h->xsh, path, w->token)) {
+        notifier_remove(&w->notifier);
+        free_watch(w);
+        return NULL;
+    }
+
+    return w;
+}
+
+static void libxenstore_unwatch(struct qemu_xs_handle *h,
+                                struct qemu_xs_watch *w)
+{
+    xs_unwatch(h->xsh, w->path, w->token);
+    notifier_remove(&w->notifier);
+    free_watch(w);
+}
+
+static xs_transaction_t libxenstore_transaction_start(struct qemu_xs_handle *h)
+{
+    return xs_transaction_start(h->xsh);
+}
+
+static bool libxenstore_transaction_end(struct qemu_xs_handle *h,
+                                        xs_transaction_t t, bool abort)
+{
+    return xs_transaction_end(h->xsh, t, abort);
+}
+
+struct xenstore_backend_ops libxenstore_backend_ops = {
+    .open = libxenstore_open,
+    .close = libxenstore_close,
+    .get_domain_path = libxenstore_get_domain_path,
+    .directory = libxenstore_directory,
+    .read = libxenstore_read,
+    .write = libxenstore_write,
+    .create = libxenstore_create,
+    .destroy = libxenstore_destroy,
+    .watch = libxenstore_watch,
+    .unwatch = libxenstore_unwatch,
+    .transaction_start = libxenstore_transaction_start,
+    .transaction_end = libxenstore_transaction_end,
+};
+
 void setup_xen_backend_ops(void)
 {
 #if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
@@ -277,4 +474,5 @@ void setup_xen_backend_ops(void)
     xen_evtchn_ops = &libxenevtchn_backend_ops;
     xen_gnttab_ops = &libxengnttab_backend_ops;
     xen_foreignmem_ops = &libxenforeignmem_backend_ops;
+    xen_xenstore_ops = &libxenstore_backend_ops;
 }
diff --git a/hw/xen/xen_devconfig.c b/hw/xen/xen_devconfig.c
index 46ee4a7f02..9b7304e544 100644
--- a/hw/xen/xen_devconfig.c
+++ b/hw/xen/xen_devconfig.c
@@ -11,11 +11,11 @@ static int xen_config_dev_dirs(const char *ftype, const char *btype, int vdev,
 {
     char *dom;
 
-    dom = xs_get_domain_path(xenstore, xen_domid);
+    dom = qemu_xen_xs_get_domain_path(xenstore, xen_domid);
     snprintf(fe, len, "%s/device/%s/%d", dom, ftype, vdev);
     free(dom);
 
-    dom = xs_get_domain_path(xenstore, 0);
+    dom = qemu_xen_xs_get_domain_path(xenstore, 0);
     snprintf(be, len, "%s/backend/%s/%d/%d", dom, btype, xen_domid, vdev);
     free(dom);
 
diff --git a/hw/xen/xen_pt_graphics.c b/hw/xen/xen_pt_graphics.c
index f303f67c9c..0aed3bb6fd 100644
--- a/hw/xen/xen_pt_graphics.c
+++ b/hw/xen/xen_pt_graphics.c
@@ -5,7 +5,6 @@
 #include "qapi/error.h"
 #include "xen_pt.h"
 #include "xen-host-pci-device.h"
-#include "hw/xen/xen-legacy-backend.h"
 
 static unsigned long igd_guest_opregion;
 static unsigned long igd_host_opregion;
diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
index d8582cc74c..be1504b82c 100644
--- a/hw/xen/xen_pvdev.c
+++ b/hw/xen/xen_pvdev.c
@@ -54,31 +54,17 @@ void xen_config_cleanup(void)
     struct xs_dirs *d;
 
     QTAILQ_FOREACH(d, &xs_cleanup, list) {
-        xs_rm(xenstore, 0, d->xs_dir);
+        qemu_xen_xs_destroy(xenstore, 0, d->xs_dir);
     }
 }
 
 int xenstore_mkdir(char *path, int p)
 {
-    struct xs_permissions perms[2] = {
-        {
-            .id    = 0, /* set owner: dom0 */
-        }, {
-            .id    = xen_domid,
-            .perms = p,
-        }
-    };
-
-    if (!xs_mkdir(xenstore, 0, path)) {
+    if (!qemu_xen_xs_create(xenstore, 0, 0, xen_domid, p, path)) {
         xen_pv_printf(NULL, 0, "xs_mkdir %s: failed\n", path);
         return -1;
     }
     xenstore_cleanup_dir(g_strdup(path));
-
-    if (!xs_set_permissions(xenstore, 0, path, perms, 2)) {
-        xen_pv_printf(NULL, 0, "xs_set_permissions %s: failed\n", path);
-        return -1;
-    }
     return 0;
 }
 
@@ -87,7 +73,7 @@ int xenstore_write_str(const char *base, const char *node, const char *val)
     char abspath[XEN_BUFSIZE];
 
     snprintf(abspath, sizeof(abspath), "%s/%s", base, node);
-    if (!xs_write(xenstore, 0, abspath, val, strlen(val))) {
+    if (!qemu_xen_xs_write(xenstore, 0, abspath, val, strlen(val))) {
         return -1;
     }
     return 0;
@@ -100,7 +86,7 @@ char *xenstore_read_str(const char *base, const char *node)
     char *str, *ret = NULL;
 
     snprintf(abspath, sizeof(abspath), "%s/%s", base, node);
-    str = xs_read(xenstore, 0, abspath, &len);
+    str = qemu_xen_xs_read(xenstore, 0, abspath, &len);
     if (str != NULL) {
         /* move to qemu-allocated memory to make sure
          * callers can savely g_free() stuff. */
@@ -152,29 +138,6 @@ int xenstore_read_uint64(const char *base, const char *node, uint64_t *uval)
     return rc;
 }
 
-void xenstore_update(void *unused)
-{
-    char **vec = NULL;
-    intptr_t type, ops, ptr;
-    unsigned int dom, count;
-
-    vec = xs_read_watch(xenstore, &count);
-    if (vec == NULL) {
-        goto cleanup;
-    }
-
-    if (sscanf(vec[XS_WATCH_TOKEN], "be:%" PRIxPTR ":%d:%" PRIxPTR,
-               &type, &dom, &ops) == 3) {
-        xenstore_update_be(vec[XS_WATCH_PATH], (void *)type, dom, (void*)ops);
-    }
-    if (sscanf(vec[XS_WATCH_TOKEN], "fe:%" PRIxPTR, &ptr) == 1) {
-        xenstore_update_fe(vec[XS_WATCH_PATH], (void *)ptr);
-    }
-
-cleanup:
-    free(vec);
-}
-
 const char *xenbus_strstate(enum xenbus_state state)
 {
     static const char *const name[] = {
@@ -299,9 +262,7 @@ void xen_pv_del_xendev(struct XenLegacyDevice *xendev)
     }
 
     if (xendev->fe) {
-        char token[XEN_BUFSIZE];
-        snprintf(token, sizeof(token), "fe:%p", xendev);
-        xs_unwatch(xenstore, xendev->fe, token);
+        qemu_xen_xs_unwatch(xenstore, xendev->watch);
         g_free(xendev->fe);
     }
 
diff --git a/include/hw/xen/xen-bus-helper.h b/include/hw/xen/xen-bus-helper.h
index 8782f30550..d8dcc2f010 100644
--- a/include/hw/xen/xen-bus-helper.h
+++ b/include/hw/xen/xen-bus-helper.h
@@ -8,40 +8,40 @@
 #ifndef HW_XEN_BUS_HELPER_H
 #define HW_XEN_BUS_HELPER_H
 
-#include "hw/xen/xen_common.h"
+#include "hw/xen/xen_backend_ops.h"
 
 const char *xs_strstate(enum xenbus_state state);
 
-void xs_node_create(struct xs_handle *xsh,  xs_transaction_t tid,
-                    const char *node, struct xs_permissions perms[],
-                    unsigned int nr_perms, Error **errp);
-void xs_node_destroy(struct xs_handle *xsh,  xs_transaction_t tid,
+void xs_node_create(struct qemu_xs_handle *h,  xs_transaction_t tid,
+                    const char *node, unsigned int owner, unsigned int domid,
+                    unsigned int perms, Error **errp);
+void xs_node_destroy(struct qemu_xs_handle *h,  xs_transaction_t tid,
                      const char *node, Error **errp);
 
 /* Write to node/key unless node is empty, in which case write to key */
-void xs_node_vprintf(struct xs_handle *xsh,  xs_transaction_t tid,
+void xs_node_vprintf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                      const char *node, const char *key, Error **errp,
                      const char *fmt, va_list ap)
     G_GNUC_PRINTF(6, 0);
-void xs_node_printf(struct xs_handle *xsh,  xs_transaction_t tid,
+void xs_node_printf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                     const char *node, const char *key, Error **errp,
                     const char *fmt, ...)
     G_GNUC_PRINTF(6, 7);
 
 /* Read from node/key unless node is empty, in which case read from key */
-int xs_node_vscanf(struct xs_handle *xsh,  xs_transaction_t tid,
+int xs_node_vscanf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                    const char *node, const char *key, Error **errp,
                    const char *fmt, va_list ap)
     G_GNUC_SCANF(6, 0);
-int xs_node_scanf(struct xs_handle *xsh,  xs_transaction_t tid,
+int xs_node_scanf(struct qemu_xs_handle *h,  xs_transaction_t tid,
                   const char *node, const char *key, Error **errp,
                   const char *fmt, ...)
     G_GNUC_SCANF(6, 7);
 
 /* Watch node/key unless node is empty, in which case watch key */
-void xs_node_watch(struct xs_handle *xsh, const char *node, const char *key,
-                   char *token, Error **errp);
-void xs_node_unwatch(struct xs_handle *xsh, const char *node, const char *key,
-                     const char *token, Error **errp);
+struct qemu_xs_watch *xs_node_watch(struct qemu_xs_handle *h, const char *node,
+                                    const char *key, xs_watch_fn fn,
+                                    void *opaque, Error **errp);
+void xs_node_unwatch(struct qemu_xs_handle *h, struct qemu_xs_watch *w);
 
 #endif /* HW_XEN_BUS_HELPER_H */
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 5a90e79d53..f435898164 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -9,29 +9,23 @@
 #define HW_XEN_BUS_H
 
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/interface/io/xenbus.h"
 #include "hw/sysbus.h"
 #include "qemu/notify.h"
 #include "qom/object.h"
 
-typedef void (*XenWatchHandler)(void *opaque);
-
-typedef struct XenWatchList XenWatchList;
-typedef struct XenWatch XenWatch;
 typedef struct XenEventChannel XenEventChannel;
 
 struct XenDevice {
     DeviceState qdev;
     domid_t frontend_id;
     char *name;
-    struct xs_handle *xsh;
-    XenWatchList *watch_list;
+    struct qemu_xs_handle *xsh;
     char *backend_path, *frontend_path;
     enum xenbus_state backend_state, frontend_state;
     Notifier exit;
-    XenWatch *backend_state_watch, *frontend_state_watch;
+    struct qemu_xs_watch *backend_state_watch, *frontend_state_watch;
     bool backend_online;
-    XenWatch *backend_online_watch;
+    struct qemu_xs_watch *backend_online_watch;
     xengnttab_handle *xgth;
     bool inactive;
     QLIST_HEAD(, XenEventChannel) event_channels;
@@ -64,10 +58,9 @@ OBJECT_DECLARE_TYPE(XenDevice, XenDeviceClass, XEN_DEVICE)
 struct XenBus {
     BusState qbus;
     domid_t backend_id;
-    struct xs_handle *xsh;
-    XenWatchList *watch_list;
+    struct qemu_xs_handle *xsh;
     unsigned int backend_types;
-    XenWatch **backend_watch;
+    struct qemu_xs_watch **backend_watch;
     QLIST_HEAD(, XenDevice) inactive_devices;
 };
 
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index ab28583267..6c307c5f2c 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -2,7 +2,6 @@
 #define HW_XEN_LEGACY_BACKEND_H
 
 #include "hw/xen/xen_backend_ops.h"
-#include "hw/xen/interface/io/xenbus.h"
 #include "hw/xen/xen_pvdev.h"
 #include "net/net.h"
 #include "qom/object.h"
@@ -16,7 +15,7 @@ DECLARE_INSTANCE_CHECKER(XenLegacyDevice, XENBACKEND,
                          TYPE_XENBACKEND)
 
 /* variables */
-extern struct xs_handle *xenstore;
+extern struct qemu_xs_handle *xenstore;
 extern const char *xen_protocol;
 extern DeviceState *xen_sysdev;
 extern BusState *xen_sysbus;
@@ -31,9 +30,6 @@ int xenstore_write_be_int64(struct XenLegacyDevice *xendev, const char *node,
 char *xenstore_read_be_str(struct XenLegacyDevice *xendev, const char *node);
 int xenstore_read_be_int(struct XenLegacyDevice *xendev, const char *node,
                          int *ival);
-void xenstore_update_fe(char *watch, struct XenLegacyDevice *xendev);
-void xenstore_update_be(char *watch, char *type, int dom,
-                        struct XenDevOps *ops);
 char *xenstore_read_fe_str(struct XenLegacyDevice *xendev, const char *node);
 int xenstore_read_fe_int(struct XenLegacyDevice *xendev, const char *node,
                          int *ival);
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
index 0dff06bbde..90cca85f52 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -12,6 +12,10 @@
 #ifndef QEMU_XEN_BACKEND_OPS_H
 #define QEMU_XEN_BACKEND_OPS_H
 
+#include "hw/xen/xen.h"
+#include "hw/xen/interface/xen.h"
+#include "hw/xen/interface/io/xenbus.h"
+
 /*
  * For the time being, these operations map fairly closely to the API of
  * the actual Xen libraries, e.g. libxenevtchn. As we complete the migration
@@ -36,6 +40,16 @@ typedef uint32_t grant_ref_t;
 #define XEN_PAGE_SIZE        (1UL << XEN_PAGE_SHIFT)
 #define XEN_PAGE_MASK        (~(XEN_PAGE_SIZE - 1))
 
+#ifndef xen_rmb
+#define xen_rmb() smp_rmb()
+#endif
+#ifndef xen_wmb
+#define xen_wmb() smp_wmb()
+#endif
+#ifndef xen_mb
+#define xen_mb() smp_mb()
+#endif
+
 struct evtchn_backend_ops {
     xenevtchn_handle *(*open)(void);
     int (*bind_interdomain)(xenevtchn_handle *xc, uint32_t domid,
@@ -240,6 +254,155 @@ static inline int qemu_xen_foreignmem_unmap(void *addr, size_t pages)
     return xen_foreignmem_ops->unmap(addr, pages);
 }
 
+typedef void (*xs_watch_fn)(void *opaque, const char *path);
+
+struct qemu_xs_handle;
+struct qemu_xs_watch;
+typedef uint32_t xs_transaction_t;
+
+#define XBT_NULL 0
+
+#define XS_PERM_NONE  0x00
+#define XS_PERM_READ  0x01
+#define XS_PERM_WRITE 0x02
+
+struct xenstore_backend_ops {
+    struct qemu_xs_handle *(*open)(void);
+    void (*close)(struct qemu_xs_handle *h);
+    char *(*get_domain_path)(struct qemu_xs_handle *h, unsigned int domid);
+    char **(*directory)(struct qemu_xs_handle *h, xs_transaction_t t,
+                        const char *path, unsigned int *num);
+    void *(*read)(struct qemu_xs_handle *h, xs_transaction_t t,
+                  const char *path, unsigned int *len);
+    bool (*write)(struct qemu_xs_handle *h, xs_transaction_t t,
+                  const char *path, const void *data, unsigned int len);
+    bool (*create)(struct qemu_xs_handle *h, xs_transaction_t t,
+                   unsigned int owner, unsigned int domid,
+                   unsigned int perms, const char *path);
+    bool (*destroy)(struct qemu_xs_handle *h, xs_transaction_t t,
+               const char *path);
+    struct qemu_xs_watch *(*watch)(struct qemu_xs_handle *h, const char *path,
+                                   xs_watch_fn fn, void *opaque);
+    void (*unwatch)(struct qemu_xs_handle *h, struct qemu_xs_watch *w);
+    xs_transaction_t (*transaction_start)(struct qemu_xs_handle *h);
+    bool (*transaction_end)(struct qemu_xs_handle *h, xs_transaction_t t,
+                            bool abort);
+};
+
+extern struct xenstore_backend_ops *xen_xenstore_ops;
+
+static inline struct qemu_xs_handle *qemu_xen_xs_open(void)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->open();
+}
+
+static inline void qemu_xen_xs_close(struct qemu_xs_handle *h)
+{
+    if (!xen_xenstore_ops) {
+        return;
+    }
+    xen_xenstore_ops->close(h);
+}
+
+static inline char *qemu_xen_xs_get_domain_path(struct qemu_xs_handle *h,
+                                                unsigned int domid)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->get_domain_path(h, domid);
+}
+
+static inline char **qemu_xen_xs_directory(struct qemu_xs_handle *h,
+                                           xs_transaction_t t, const char *path,
+                                           unsigned int *num)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->directory(h, t, path, num);
+}
+
+static inline void *qemu_xen_xs_read(struct qemu_xs_handle *h,
+                                     xs_transaction_t t, const char *path,
+                                     unsigned int *len)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->read(h, t, path, len);
+}
+
+static inline bool qemu_xen_xs_write(struct qemu_xs_handle *h,
+                                     xs_transaction_t t, const char *path,
+                                     const void *data, unsigned int len)
+{
+    if (!xen_xenstore_ops) {
+        return false;
+    }
+    return xen_xenstore_ops->write(h, t, path, data, len);
+}
+
+static inline bool qemu_xen_xs_create(struct qemu_xs_handle *h,
+                                      xs_transaction_t t, unsigned int owner,
+                                      unsigned int domid, unsigned int perms,
+                                      const char *path)
+{
+    if (!xen_xenstore_ops) {
+        return false;
+    }
+    return xen_xenstore_ops->create(h, t, owner, domid, perms, path);
+}
+
+static inline bool qemu_xen_xs_destroy(struct qemu_xs_handle *h,
+                                       xs_transaction_t t, const char *path)
+{
+    if (!xen_xenstore_ops) {
+        return false;
+    }
+    return xen_xenstore_ops->destroy(h, t, path);
+}
+
+static inline struct qemu_xs_watch *qemu_xen_xs_watch(struct qemu_xs_handle *h,
+                                                      const char *path,
+                                                      xs_watch_fn fn,
+                                                      void *opaque)
+{
+    if (!xen_xenstore_ops) {
+        return NULL;
+    }
+    return xen_xenstore_ops->watch(h, path, fn, opaque);
+}
+
+static inline void qemu_xen_xs_unwatch(struct qemu_xs_handle *h,
+                                       struct qemu_xs_watch *w)
+{
+    if (!xen_xenstore_ops) {
+        return;
+    }
+    xen_xenstore_ops->unwatch(h, w);
+}
+
+static inline xs_transaction_t qemu_xen_xs_transaction_start(struct qemu_xs_handle *h)
+{
+    if (!xen_xenstore_ops) {
+        return XBT_NULL;
+    }
+    return xen_xenstore_ops->transaction_start(h);
+}
+
+static inline bool qemu_xen_xs_transaction_end(struct qemu_xs_handle *h,
+                                               xs_transaction_t t, bool abort)
+{
+    if (!xen_xenstore_ops) {
+        return false;
+    }
+    return xen_xenstore_ops->transaction_end(h, t, abort);
+}
+
 void setup_xen_backend_ops(void);
 
 #endif /* QEMU_XEN_BACKEND_OPS_H */
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 632ce617cc..7edcf3eb25 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -12,7 +12,6 @@
 
 #include <xenctrl.h>
 #include <xenstore.h>
-#include "hw/xen/interface/io/xenbus.h"
 
 #include "hw/xen/xen.h"
 #include "hw/pci/pci_device.h"
diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h
index 9c27b14764..d8eea353b8 100644
--- a/include/hw/xen/xen_pvdev.h
+++ b/include/hw/xen/xen_pvdev.h
@@ -39,6 +39,7 @@ struct XenLegacyDevice {
     char               name[64];
     int                debug;
 
+    struct qemu_xs_watch *watch;
     enum xenbus_state  be_state;
     enum xenbus_state  fe_state;
     int                online;
@@ -64,7 +65,6 @@ int xenstore_write_int64(const char *base, const char *node, int64_t ival);
 char *xenstore_read_str(const char *base, const char *node);
 int xenstore_read_int(const char *base, const char *node, int *ival);
 int xenstore_read_uint64(const char *base, const char *node, uint64_t *uval);
-void xenstore_update(void *unused);
 
 const char *xenbus_strstate(enum xenbus_state state);
 
diff --git a/softmmu/globals.c b/softmmu/globals.c
index dda32986f7..39678aa8c5 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -68,3 +68,4 @@ bool xen_domid_restrict;
 struct evtchn_backend_ops *xen_evtchn_ops;
 struct gnttab_backend_ops *xen_gnttab_ops;
 struct foreignmem_backend_ops *xen_foreignmem_ops;
+struct xenstore_backend_ops *xen_xenstore_ops;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:29:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:29:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507812.781966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc3v-0004ve-Vj; Tue, 07 Mar 2023 18:29:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507812.781966; Tue, 07 Mar 2023 18: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 1pZc3v-0004vO-MA; Tue, 07 Mar 2023 18:29:23 +0000
Received: by outflank-mailman (input) for mailman id 507812;
 Tue, 07 Mar 2023 18:29: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc28-0002MP-7H
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:32 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b46438e6-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:27:24 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc1n-006deL-RB; Tue, 07 Mar 2023 18:27:12 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e9O-2k; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b46438e6-bd15-11ed-a550-8520e6686977
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=BHJMHnydR0+hWti+8rkf/Wiysg+WP6PP8ZazFEExUkk=; b=rGlulPhwYvfhsLYJh9LE73gxrv
	2YUvpMtkeZMQD0qwB3P6jQgn6V0s8GOHDNjGB0OfCgYDtUVtIe5Caq5MaYlhgU+SGXVd2eXnQkFNZ
	gT2ZRRPtZ5yogbuywXmEUmwzpE1BGukGQb9j5rjSUP5PFWa33z3T/Re0yxXMSXdJ0MsESRBciNRVz
	dlvkUzyd9zCJI2RS6JPhhZkjH5pc6nd8entkm1hoSix64VFBDii1Rqk9uY2bnAAD3n5DqpcrZAEcn
	5h3AHoSTAtGQ3E+MaYH8VRpI7wvy3SPss4xWkoacxGfu5CtkzFOPD0hoAtrNwDah3eSNgzOhhr9/Y
	hjtkrW1Q==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 18/27] hw/xen: Avoid crash when backend watch fires too early
Date: Tue,  7 Mar 2023 18:26:58 +0000
Message-Id: <20230307182707.2298618-19-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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: Paul Durrant <pdurrant@amazon.com>

The xen-block code ends up calling aio_poll() through blkconf_geometry(),
which means we see watch events during the indirect call to
xendev_class->realize() in xen_device_realize(). Unfortunately this call
is made before populating the initial frontend and backend device nodes
in xenstore and hence xen_block_frontend_changed() (which is called from
a watch event) fails to read the frontend's 'state' node, and hence
believes the device is being torn down. This in-turn sets the backend
state to XenbusStateClosed and causes the device to be deleted before it
is fully set up, leading to the crash.
By simply moving the call to xendev_class->realize() after the initial
xenstore nodes are populated, this sorry state of affairs is avoided.

Reported-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/xen/xen-bus.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 9fe54967d4..c59850b1de 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -1034,13 +1034,6 @@ static void xen_device_realize(DeviceState *dev, Error **errp)
         goto unrealize;
     }
 
-    if (xendev_class->realize) {
-        xendev_class->realize(xendev, errp);
-        if (*errp) {
-            goto unrealize;
-        }
-    }
-
     xen_device_backend_printf(xendev, "frontend", "%s",
                               xendev->frontend_path);
     xen_device_backend_printf(xendev, "frontend-id", "%u",
@@ -1059,6 +1052,13 @@ static void xen_device_realize(DeviceState *dev, Error **errp)
         xen_device_frontend_set_state(xendev, XenbusStateInitialising, true);
     }
 
+    if (xendev_class->realize) {
+        xendev_class->realize(xendev, errp);
+        if (*errp) {
+            goto unrealize;
+        }
+    }
+
     xendev->exit.notify = xen_device_exit;
     qemu_add_exit_notifier(&xendev->exit);
     return;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:29:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:29:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507813.781970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc3w-00051P-7D; Tue, 07 Mar 2023 18:29:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507813.781970; Tue, 07 Mar 2023 18:29: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 1pZc3v-00050i-WE; Tue, 07 Mar 2023 18:29:24 +0000
Received: by outflank-mailman (input) for mailman id 507813;
 Tue, 07 Mar 2023 18:29: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc27-0002MP-7G
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:31 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2d9ae03-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:27:21 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc1n-006deA-4y; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e8V-0M; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b2d9ae03-bd15-11ed-a550-8520e6686977
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=f47Z62qCt++fBsDGyE1O3bc9SRNNoe9XPhR3UVxqg/A=; b=crGhH6TPykVEcAXCssplaY/s1h
	RuyFaiIMGkmMixxVv14glZ8WCHFyWyLHxo6q9l8nhN60NDNQvwoC65YH0n93ypz1RtlUvrjhV/Ajz
	BUcLKrKcZntZ/sG5wGbAkCnPecXooPzZEoKiCNF13AmrvgM6mbDnyMqrsvqbiEcWDtq3FYRl1AqOu
	rfEa8vItzY6e5wcPp7hz0acgGZbIzaxgryeTA7ilFkB4adL7BLg1ddkWtX7HBxE2ey6CXvQfBUXFi
	USkG0Guqcfb9WzL0Z91xlVsC1A/My9cu1x6LDwww23/7dN6Ope+qCjiDbsAdqMo/e/GUXi+5LNqja
	H+oMjqoQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 06/27] hw/xen: Implement XenStore permissions
Date: Tue,  7 Mar 2023 18:26:46 +0000
Message-Id: <20230307182707.2298618-7-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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: Paul Durrant <pdurrant@amazon.com>

Store perms as a GList of strings, check permissions.

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c  |   2 +-
 hw/i386/kvm/xenstore_impl.c | 259 +++++++++++++++++++++++++++++++++---
 hw/i386/kvm/xenstore_impl.h |   8 +-
 tests/unit/test-xs-node.c   |  27 +++-
 4 files changed, 275 insertions(+), 21 deletions(-)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 64d8f1a38f..3b409e3817 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -98,7 +98,7 @@ static void xen_xenstore_realize(DeviceState *dev, Error **errp)
     aio_set_fd_handler(qemu_get_aio_context(), xen_be_evtchn_fd(s->eh), true,
                        xen_xenstore_event, NULL, NULL, NULL, s);
 
-    s->impl = xs_impl_create();
+    s->impl = xs_impl_create(xen_domid);
 }
 
 static bool xen_xenstore_is_needed(void *opaque)
diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 60f42f61d6..8a2053e243 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -12,6 +12,8 @@
 #include "qemu/osdep.h"
 #include "qom/object.h"
 
+#include "hw/xen/xen.h"
+
 #include "xen_xenstore.h"
 #include "xenstore_impl.h"
 
@@ -30,6 +32,7 @@
 typedef struct XsNode {
     uint32_t ref;
     GByteArray *content;
+    GList *perms;
     GHashTable *children;
     uint64_t gencnt;
     bool deleted_in_tx;
@@ -133,6 +136,9 @@ static inline void xs_node_unref(XsNode *n)
     if (n->content) {
         g_byte_array_unref(n->content);
     }
+    if (n->perms) {
+        g_list_free_full(n->perms, g_free);
+    }
     if (n->children) {
         g_hash_table_unref(n->children);
     }
@@ -144,8 +150,51 @@ static inline void xs_node_unref(XsNode *n)
     g_free(n);
 }
 
+char *xs_perm_as_string(unsigned int perm, unsigned int domid)
+{
+    char letter;
+
+    switch (perm) {
+    case XS_PERM_READ | XS_PERM_WRITE:
+        letter = 'b';
+        break;
+    case XS_PERM_READ:
+        letter = 'r';
+        break;
+    case XS_PERM_WRITE:
+        letter = 'w';
+        break;
+    case XS_PERM_NONE:
+    default:
+        letter = 'n';
+        break;
+    }
+
+    return g_strdup_printf("%c%u", letter, domid);
+}
+
+static gpointer do_perm_copy(gconstpointer src, gpointer user_data)
+{
+    return g_strdup(src);
+}
+
+static XsNode *xs_node_create(const char *name, GList *perms)
+{
+    XsNode *n = xs_node_new();
+
+#ifdef XS_NODE_UNIT_TEST
+    if (name) {
+        n->name = g_strdup(name);
+    }
+#endif
+
+    n->perms = g_list_copy_deep(perms, do_perm_copy, NULL);
+
+    return n;
+}
+
 /* For copying from one hash table to another using g_hash_table_foreach() */
-static void do_insert(gpointer key, gpointer value, gpointer user_data)
+static void do_child_insert(gpointer key, gpointer value, gpointer user_data)
 {
     g_hash_table_insert(user_data, g_strdup(key), xs_node_ref(value));
 }
@@ -162,12 +211,16 @@ static XsNode *xs_node_copy(XsNode *old)
     }
 #endif
 
+    assert(old);
     if (old->children) {
         n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
                                             (GDestroyNotify)xs_node_unref);
-        g_hash_table_foreach(old->children, do_insert, n->children);
+        g_hash_table_foreach(old->children, do_child_insert, n->children);
     }
-    if (old && old->content) {
+    if (old->perms) {
+        n->perms = g_list_copy_deep(old->perms, do_perm_copy, NULL);
+    }
+    if (old->content) {
         n->content = g_byte_array_ref(old->content);
     }
     return n;
@@ -383,6 +436,9 @@ static XsNode *xs_node_copy_deleted(XsNode *old, struct walk_op *op)
         op->op_opaque2 = n->children;
         g_hash_table_foreach(old->children, copy_deleted_recurse, op);
     }
+    if (old->perms) {
+        n->perms = g_list_copy_deep(old->perms, do_perm_copy, NULL);
+    }
     n->deleted_in_tx = true;
     /* If it gets resurrected we only fire a watch if it lost its content */
     if (old->content) {
@@ -417,6 +473,104 @@ static int xs_node_rm(XsNode **n, struct walk_op *op)
     return 0;
 }
 
+static int xs_node_get_perms(XsNode **n, struct walk_op *op)
+{
+    GList **perms = op->op_opaque;
+
+    assert(op->inplace);
+    assert(*n);
+
+    *perms = g_list_copy_deep((*n)->perms, do_perm_copy, NULL);
+    return 0;
+}
+
+static void parse_perm(const char *perm, char *letter, unsigned int *dom_id)
+{
+    unsigned int n = sscanf(perm, "%c%u", letter, dom_id);
+
+    assert(n == 2);
+}
+
+static bool can_access(unsigned int dom_id, GList *perms, const char *letters)
+{
+    unsigned int i, n;
+    char perm_letter;
+    unsigned int perm_dom_id;
+    bool access;
+
+    if (dom_id == 0) {
+        return true;
+    }
+
+    n = g_list_length(perms);
+    assert(n >= 1);
+
+    /*
+     * The dom_id of the first perm is the owner, and the owner always has
+     * read-write access.
+     */
+    parse_perm(g_list_nth_data(perms, 0), &perm_letter, &perm_dom_id);
+    if (dom_id == perm_dom_id) {
+        return true;
+    }
+
+    /*
+     * The letter of the first perm specified the default access for all other
+     * domains.
+     */
+    access = !!strchr(letters, perm_letter);
+    for (i = 1; i < n; i++) {
+        parse_perm(g_list_nth_data(perms, i), &perm_letter, &perm_dom_id);
+        if (dom_id != perm_dom_id) {
+            continue;
+        }
+        access = !!strchr(letters, perm_letter);
+    }
+
+    return access;
+}
+
+static int xs_node_set_perms(XsNode **n, struct walk_op *op)
+{
+    GList *perms = op->op_opaque;
+
+    if (op->dom_id) {
+        unsigned int perm_dom_id;
+        char perm_letter;
+
+        /* A guest may not change permissions on nodes it does not own */
+        if (!can_access(op->dom_id, (*n)->perms, "")) {
+            return EPERM;
+        }
+
+        /* A guest may not change the owner of a node it owns. */
+        parse_perm(perms->data, &perm_letter, &perm_dom_id);
+        if (perm_dom_id != op->dom_id) {
+            return EPERM;
+        }
+
+        if (g_list_length(perms) > XS_MAX_PERMS_PER_NODE) {
+            return ENOSPC;
+        }
+    }
+
+    /* We *are* the node to be written. Either this or a copy. */
+    if (!op->inplace) {
+        XsNode *old = *n;
+        *n = xs_node_copy(old);
+        xs_node_unref(old);
+    }
+
+    if ((*n)->perms) {
+        g_list_free_full((*n)->perms, g_free);
+    }
+    (*n)->perms = g_list_copy_deep(perms, do_perm_copy, NULL);
+    if (op->tx_id != XBT_NULL) {
+        (*n)->modified_in_tx = true;
+    }
+    return 0;
+}
+
 /*
  * Passed a full reference in *n which it may free if it needs to COW.
  *
@@ -458,6 +612,13 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
     }
 
     if (!child_name) {
+        const char *letters = op->mutating ? "wb" : "rb";
+
+        if (!can_access(op->dom_id, old->perms, letters)) {
+            err = EACCES;
+            goto out;
+        }
+
         /* This is the actual node on which the operation shall be performed */
         err = op->op_fn(n, op);
         if (!err) {
@@ -491,12 +652,20 @@ static int xs_node_walk(XsNode **n, struct walk_op *op)
             stole_child = true;
         }
     } else if (op->create_dirs) {
+        assert(op->mutating);
+
+        if (!can_access(op->dom_id, old->perms, "wb")) {
+            err = EACCES;
+            goto out;
+        }
+
         if (op->dom_id && op->new_nr_nodes >= XS_MAX_DOMAIN_NODES) {
             err = ENOSPC;
             goto out;
         }
+
+        child = xs_node_create(child_name, old->perms);
         op->new_nr_nodes++;
-        child = xs_node_new();
 
         /*
          * If we're creating a new child, we can clearly modify it (and its
@@ -918,20 +1087,73 @@ int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
 int xs_impl_get_perms(XenstoreImplState *s, unsigned int dom_id,
                       xs_transaction_t tx_id, const char *path, GList **perms)
 {
-    /*
-     * The perms are (char *) in the <perm-as-string> wire format to be
-     * freed by the caller.
-     */
-    return ENOSYS;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_get_perms;
+    op.op_opaque = perms;
+    return xs_node_walk(n, &op);
+}
+
+static void is_valid_perm(gpointer data, gpointer user_data)
+{
+    char *perm = data;
+    bool *valid = user_data;
+    char letter;
+    unsigned int dom_id;
+
+    if (!*valid) {
+        return;
+    }
+
+    if (sscanf(perm, "%c%u", &letter, &dom_id) != 2) {
+        *valid = false;
+        return;
+    }
+
+    switch (letter) {
+    case 'n':
+    case 'r':
+    case 'w':
+    case 'b':
+        break;
+
+    default:
+        *valid = false;
+        break;
+    }
 }
 
 int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
                       xs_transaction_t tx_id, const char *path, GList *perms)
 {
-    /*
-     * The perms are (const char *) in the <perm-as-string> wire format.
-     */
-    return ENOSYS;
+    struct walk_op op;
+    XsNode **n;
+    bool valid = true;
+    int ret;
+
+    if (!g_list_length(perms)) {
+        return EINVAL;
+    }
+
+    g_list_foreach(perms, is_valid_perm, &valid);
+    if (!valid) {
+        return EINVAL;
+    }
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_set_perms;
+    op.op_opaque = perms;
+    op.mutating = true;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
@@ -1122,18 +1344,19 @@ static void xs_tx_free(void *_tx)
     g_free(tx);
 }
 
-XenstoreImplState *xs_impl_create(void)
+XenstoreImplState *xs_impl_create(unsigned int dom_id)
 {
     XenstoreImplState *s = g_new0(XenstoreImplState, 1);
+    GList *perms;
 
     s->watches = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL);
     s->transactions = g_hash_table_new_full(g_direct_hash, g_direct_equal,
                                             NULL, xs_tx_free);
+
+    perms = g_list_append(NULL, xs_perm_as_string(XS_PERM_NONE, 0));
+    s->root = xs_node_create("/", perms);
+    g_list_free_full(perms, g_free);
     s->nr_nodes = 1;
-    s->root = xs_node_new();
-#ifdef XS_NODE_UNIT_TEST
-    s->root->name = g_strdup("/");
-#endif
 
     s->root_tx = s->last_tx = 1;
     return s;
diff --git a/hw/i386/kvm/xenstore_impl.h b/hw/i386/kvm/xenstore_impl.h
index beb7b29ab8..2f81251b5e 100644
--- a/hw/i386/kvm/xenstore_impl.h
+++ b/hw/i386/kvm/xenstore_impl.h
@@ -16,9 +16,15 @@ typedef uint32_t xs_transaction_t;
 
 #define XBT_NULL 0
 
+#define XS_PERM_NONE  0x00
+#define XS_PERM_READ  0x01
+#define XS_PERM_WRITE 0x02
+
 typedef struct XenstoreImplState XenstoreImplState;
 
-XenstoreImplState *xs_impl_create(void);
+XenstoreImplState *xs_impl_create(unsigned int dom_id);
+
+char *xs_perm_as_string(unsigned int perm, unsigned int domid);
 
 /*
  * These functions return *positive* error numbers. This is a little
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index 02c72baa62..2c0f89c694 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -80,8 +80,9 @@ static void watch_cb(void *_str, const char *path, const char *token)
 
 static XenstoreImplState *setup(void)
 {
-   XenstoreImplState *s = xs_impl_create();
+   XenstoreImplState *s = xs_impl_create(DOMID_GUEST);
    char *abspath;
+   GList *perms;
    int err;
 
    abspath = g_strdup_printf("/local/domain/%u", DOMID_GUEST);
@@ -90,6 +91,13 @@ static XenstoreImplState *setup(void)
    g_assert(!err);
    g_assert(s->nr_nodes == 4);
 
+   perms = g_list_append(NULL, g_strdup_printf("n%u", DOMID_QEMU));
+   perms = g_list_append(perms, g_strdup_printf("r%u", DOMID_GUEST));
+
+   err = xs_impl_set_perms(s, DOMID_QEMU, XBT_NULL, abspath, perms);
+   g_assert(!err);
+
+   g_list_free_full(perms, g_free);
    g_free(abspath);
 
    abspath = g_strdup_printf("/local/domain/%u/some", DOMID_GUEST);
@@ -98,6 +106,12 @@ static XenstoreImplState *setup(void)
    g_assert(!err);
    g_assert(s->nr_nodes == 5);
 
+   perms = g_list_append(NULL, g_strdup_printf("n%u", DOMID_GUEST));
+
+   err = xs_impl_set_perms(s, DOMID_QEMU, XBT_NULL, abspath, perms);
+   g_assert(!err);
+
+   g_list_free_full(perms, g_free);
    g_free(abspath);
 
    return s;
@@ -166,6 +180,12 @@ static void test_xs_node_simple(void)
     /* Keep a copy, to force COW mode */
     old_root = xs_node_ref(s->root);
 
+    /* Write somewhere we aren't allowed, in COW mode */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "/local/domain/badplace",
+                    "moredata");
+    g_assert(err == EACCES);
+    g_assert(s->nr_nodes == 7);
+
     /* Write works again */
     err = write_str(s, DOMID_GUEST, XBT_NULL,
                     "/local/domain/1/some/relative/path2",
@@ -226,6 +246,11 @@ static void test_xs_node_simple(void)
     g_assert(!err);
     g_assert(s->nr_nodes == 8);
 
+    /* Write somewhere we aren't allowed */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "/local/domain/badplace",
+                    "moredata");
+    g_assert(err == EACCES);
+
     g_assert(!strcmp(guest_watches->str,
                      "/local/domain/1/some/relativewatchrel"));
     g_string_truncate(guest_watches, 0);
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:29:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:29:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507824.781989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc43-0005oK-LR; Tue, 07 Mar 2023 18:29:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507824.781989; Tue, 07 Mar 2023 18:29: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 1pZc43-0005o6-HA; Tue, 07 Mar 2023 18:29:31 +0000
Received: by outflank-mailman (input) for mailman id 507824;
 Tue, 07 Mar 2023 18: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc28-0002M9-Vx
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:33 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2fa0f05-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:21 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc1m-006de8-Te; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1m-009e8D-2n; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b2fa0f05-bd15-11ed-96b5-2f268f93b82a
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=roOXmxmzTlHGXFakXynsNOCVNOYbdrPEnnmW0uIAY2w=; b=aY3X0NEwSvWsUv2XtRLZAqQVmQ
	70Ee/7eP3YatjfQRUWMab3i6m1AK4r+BXRlkRTVAPOL8F482ekHT76Lp7MJ/RhpuqESKALIrboB8h
	Dku+9UusHYE4efd8r4Zpl9WreXWCNJuPjYaxz+zClZMXjMFaCTvMpl4OQ1C6kjxAxd6nb4YLKythk
	1m2NP+cEL5iyNaYMTxHHN/zX0bcDY3pw5XUgXVBAO0ycAIhJh6XvKwoFHvHAmNRsoGq0hhyf3F0Tr
	HeqJ1gipvKKrgewzIvQrF02WjYt8Hbf17iW1O2hTvmSc5SYl56SACs7wzHwnX084rEMnSOel0Iaij
	RlRjaeMQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 02/27] hw/xen: Add basic XenStore tree walk and write/read/directory support
Date: Tue,  7 Mar 2023 18:26:42 +0000
Message-Id: <20230307182707.2298618-3-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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 is a fairly simple implementation of a copy-on-write tree.

The node walk function starts off at the root, with 'inplace == true'.
If it ever encounters a node with a refcount greater than one (including
the root node), then that node is shared with other trees, and cannot
be modified in place, so the inplace flag is cleared and we copy on
write from there on down.

Xenstore write has 'mkdir -p' semantics and will create the intermediate
nodes if they don't already exist, so in that case we flip the inplace
flag back to true as we populate the newly-created nodes.

We put a copy of the absolute path into the buffer in the struct walk_op,
with *two* NUL terminators at the end. As xs_node_walk() goes down the
tree, it replaces the next '/' separator with a NUL so that it can use
the 'child name' in place. The next recursion down then puts the '/'
back and repeats the exercise for the next path element... if it doesn't
hit that *second* NUL termination which indicates the true end of the
path.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xenstore_impl.c | 527 +++++++++++++++++++++++++++++++++++-
 tests/unit/meson.build      |   1 +
 tests/unit/test-xs-node.c   | 197 ++++++++++++++
 3 files changed, 718 insertions(+), 7 deletions(-)
 create mode 100644 tests/unit/test-xs-node.c

diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
index 31dbc98fe0..9e10a31bea 100644
--- a/hw/i386/kvm/xenstore_impl.c
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -10,13 +10,470 @@
  */
 
 #include "qemu/osdep.h"
+#include "qom/object.h"
 
 #include "xen_xenstore.h"
 #include "xenstore_impl.h"
 
+#include "hw/xen/interface/io/xs_wire.h"
+
+#define XS_MAX_WATCHES          128
+#define XS_MAX_DOMAIN_NODES     1000
+#define XS_MAX_NODE_SIZE        2048
+#define XS_MAX_TRANSACTIONS     10
+#define XS_MAX_PERMS_PER_NODE   5
+
+#define XS_VALID_CHARS "abcdefghijklmnopqrstuvwxyz" \
+                       "ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
+                       "0123456789-/_"
+
+typedef struct XsNode {
+    uint32_t ref;
+    GByteArray *content;
+    GHashTable *children;
+    uint64_t gencnt;
+#ifdef XS_NODE_UNIT_TEST
+    gchar *name; /* debug only */
+#endif
+} XsNode;
+
 struct XenstoreImplState {
+    XsNode *root;
+    unsigned int nr_nodes;
 };
 
+static inline XsNode *xs_node_new(void)
+{
+    XsNode *n = g_new0(XsNode, 1);
+    n->ref = 1;
+
+#ifdef XS_NODE_UNIT_TEST
+    nr_xs_nodes++;
+    xs_node_list = g_list_prepend(xs_node_list, n);
+#endif
+    return n;
+}
+
+static inline XsNode *xs_node_ref(XsNode *n)
+{
+    /* With just 10 transactions, it can never get anywhere near this. */
+    g_assert(n->ref < INT_MAX);
+
+    g_assert(n->ref);
+    n->ref++;
+    return n;
+}
+
+static inline void xs_node_unref(XsNode *n)
+{
+    if (!n) {
+        return;
+    }
+    g_assert(n->ref);
+    if (--n->ref) {
+        return;
+    }
+
+    if (n->content) {
+        g_byte_array_unref(n->content);
+    }
+    if (n->children) {
+        g_hash_table_unref(n->children);
+    }
+#ifdef XS_NODE_UNIT_TEST
+    g_free(n->name);
+    nr_xs_nodes--;
+    xs_node_list = g_list_remove(xs_node_list, n);
+#endif
+    g_free(n);
+}
+
+/* For copying from one hash table to another using g_hash_table_foreach() */
+static void do_insert(gpointer key, gpointer value, gpointer user_data)
+{
+    g_hash_table_insert(user_data, g_strdup(key), xs_node_ref(value));
+}
+
+static XsNode *xs_node_copy(XsNode *old)
+{
+    XsNode *n = xs_node_new();
+
+    n->gencnt = old->gencnt;
+    if (old->children) {
+        n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+                                            (GDestroyNotify)xs_node_unref);
+        g_hash_table_foreach(old->children, do_insert, n->children);
+    }
+    if (old && old->content) {
+        n->content = g_byte_array_ref(old->content);
+    }
+    return n;
+}
+
+/* Returns true if it made a change to the hash table */
+static bool xs_node_add_child(XsNode *n, const char *path_elem, XsNode *child)
+{
+    assert(!strchr(path_elem, '/'));
+
+    if (!child) {
+        assert(n->children);
+        return g_hash_table_remove(n->children, path_elem);
+    }
+
+#ifdef XS_NODE_UNIT_TEST
+    g_free(child->name);
+    child->name = g_strdup(path_elem);
+#endif
+    if (!n->children) {
+        n->children = g_hash_table_new_full(g_str_hash, g_str_equal, g_free,
+                                            (GDestroyNotify)xs_node_unref);
+    }
+
+    /*
+     * The documentation for g_hash_table_insert() says that it "returns a
+     * boolean value to indicate whether the newly added value was already
+     * in the hash table or not."
+     *
+     * It could perhaps be clearer that returning TRUE means it wasn't,
+     */
+    return g_hash_table_insert(n->children, g_strdup(path_elem), child);
+}
+
+struct walk_op {
+    struct XenstoreImplState *s;
+    char path[XENSTORE_ABS_PATH_MAX + 2]; /* Two NUL terminators */
+    int (*op_fn)(XsNode **n, struct walk_op *op);
+    void *op_opaque;
+    void *op_opaque2;
+
+    unsigned int dom_id;
+
+    /* The number of nodes which will exist in the tree if this op succeeds. */
+    unsigned int new_nr_nodes;
+
+    /*
+     * This is maintained on the way *down* the walk to indicate
+     * whether nodes can be modified in place or whether COW is
+     * required. It starts off being true, as we're always going to
+     * replace the root node. If we walk into a shared subtree it
+     * becomes false. If we start *creating* new nodes for a write,
+     * it becomes true again.
+     *
+     * Do not use it on the way back up.
+     */
+    bool inplace;
+    bool mutating;
+    bool create_dirs;
+};
+
+static int xs_node_add_content(XsNode **n, struct walk_op *op)
+{
+    GByteArray *data = op->op_opaque;
+
+    if (op->dom_id) {
+        /*
+         * The real XenStored includes permissions and names of child nodes
+         * in the calculated datasize but life's too short. For a single
+         * tenant internal XenStore, we don't have to be quite as pedantic.
+         */
+        if (data->len > XS_MAX_NODE_SIZE) {
+            return E2BIG;
+        }
+    }
+    /* We *are* the node to be written. Either this or a copy. */
+    if (!op->inplace) {
+        XsNode *old = *n;
+        *n = xs_node_copy(old);
+        xs_node_unref(old);
+    }
+
+    if ((*n)->content) {
+        g_byte_array_unref((*n)->content);
+    }
+    (*n)->content = g_byte_array_ref(data);
+    return 0;
+}
+
+static int xs_node_get_content(XsNode **n, struct walk_op *op)
+{
+    GByteArray *data = op->op_opaque;
+    GByteArray *node_data;
+
+    assert(op->inplace);
+    assert(*n);
+
+    node_data = (*n)->content;
+    if (node_data) {
+        g_byte_array_append(data, node_data->data, node_data->len);
+    }
+
+    return 0;
+}
+
+static int node_rm_recurse(gpointer key, gpointer value, gpointer user_data)
+{
+    struct walk_op *op = user_data;
+    XsNode *n = value;
+    bool this_inplace = op->inplace;
+
+    if (n->ref != 1) {
+        op->inplace = 0;
+    }
+
+    if (n->children) {
+        g_hash_table_foreach_remove(n->children, node_rm_recurse, op);
+    }
+    op->new_nr_nodes--;
+
+    /*
+     * Actually deleting the child here is just an optimisation; if we
+     * don't then the final unref on the topmost victim will just have
+     * to cascade down again repeating all the g_hash_table_foreach()
+     * calls.
+     */
+    return this_inplace;
+}
+
+static int xs_node_rm(XsNode **n, struct walk_op *op)
+{
+    bool this_inplace = op->inplace;
+
+    /* Keep count of the nodes in the subtree which gets deleted. */
+    if ((*n)->children) {
+        g_hash_table_foreach_remove((*n)->children, node_rm_recurse, op);
+    }
+    op->new_nr_nodes--;
+
+    if (this_inplace) {
+        xs_node_unref(*n);
+    }
+    *n = NULL;
+    return 0;
+}
+
+/*
+ * Passed a full reference in *n which it may free if it needs to COW.
+ *
+ * When changing the tree, the op->inplace flag indicates whether this
+ * node may be modified in place (i.e. it and all its parents had a
+ * refcount of one). If walking down the tree we find a node whose
+ * refcount is higher, we must clear op->inplace and COW from there
+ * down. Unless we are creating new nodes as scaffolding for a write
+ * (which works like 'mkdir -p' does). In which case those newly
+ * created nodes can (and must) be modified in place again.
+ */
+static int xs_node_walk(XsNode **n, struct walk_op *op)
+{
+    char *child_name = NULL;
+    size_t namelen;
+    XsNode *old = *n, *child = NULL;
+    bool stole_child = false;
+    bool this_inplace;
+    int err;
+
+    namelen = strlen(op->path);
+
+    /* Is there a child, or do we hit the double-NUL termination? */
+    if (op->path[namelen + 1]) {
+        char *slash;
+        child_name = op->path + namelen + 1;
+        slash = strchr(child_name, '/');
+        if (slash) {
+            *slash = '\0';
+        }
+        op->path[namelen] = '/';
+    }
+
+    /* If we walk into a subtree which is shared, we must COW */
+    if (op->mutating && old->ref != 1) {
+        op->inplace = false;
+    }
+
+    if (!child_name) {
+        /* This is the actual node on which the operation shall be performed */
+        err = op->op_fn(n, op);
+        goto out;
+    }
+
+    /* op->inplace will be further modified during the recursion */
+    this_inplace = op->inplace;
+
+    if (old && old->children) {
+        child = g_hash_table_lookup(old->children, child_name);
+        /* This is a *weak* reference to 'child', owned by the hash table */
+    }
+
+    if (child) {
+        xs_node_ref(child);
+        /*
+         * Now we own it too. But if we can modify inplace, that's going to
+         * foil the check and force it to COW. We want to be the *only* owner
+         * so that it can be modified in place, so remove it from the hash
+         * table in that case. We'll add it (or its replacement) back later.
+         */
+        if (op->mutating && this_inplace) {
+            g_hash_table_remove(old->children, child_name);
+            stole_child = true;
+        }
+    } else if (op->create_dirs) {
+        if (op->dom_id && op->new_nr_nodes >= XS_MAX_DOMAIN_NODES) {
+            err = ENOSPC;
+            goto out;
+        }
+        op->new_nr_nodes++;
+        child = xs_node_new();
+
+        /*
+         * If we're creating a new child, we can clearly modify it (and its
+         * children) in place from here on down.
+         */
+        op->inplace = true;
+    } else {
+        err = ENOENT;
+        goto out;
+    }
+
+    /*
+     * Except for the temporary child-stealing as noted, our node has not
+     * changed yet. We don't yet know the overall operation will complete.
+     */
+    err = xs_node_walk(&child, op);
+    if (err || !op->mutating) {
+        if (stole_child) {
+            /* Put it back as it was. */
+            g_hash_table_replace(old->children, g_strdup(child_name), child);
+        } else {
+            xs_node_unref(child);
+        }
+        goto out;
+    }
+
+    /*
+     * Now we know the operation has completed successfully and we're on
+     * the way back up. Make the change, substituting 'child' in the
+     * node at our level.
+     */
+    if (!this_inplace) {
+        *n = xs_node_copy(old);
+        xs_node_unref(old);
+    }
+
+    /*
+     * The child may be NULL here, for a remove operation. Either way,
+     * xs_node_add_child() will do the right thing and return a value
+     * indicating whether it changed the parent's hash table or not.
+     *
+     * We bump the parent gencnt if it adds a child that we *didn't*
+     * steal from it in the first place, or if child==NULL and was
+     * thus removed (whether we stole it earlier and didn't put it
+     * back, or xs_node_add_child() actually removed it now).
+     */
+    if ((xs_node_add_child(*n, child_name, child) && !stole_child) || !child) {
+        (*n)->gencnt++;
+    }
+
+ out:
+    op->path[namelen] = '\0';
+    if (!namelen) {
+        /*
+         * On completing the recursion back up the path walk and reaching the
+         * top, assign the new node count if the operation was successful.
+         */
+        if (!err && op->mutating) {
+            op->s->nr_nodes = op->new_nr_nodes;
+        }
+    }
+    return err;
+}
+
+static void append_directory_item(gpointer key, gpointer value,
+                                  gpointer user_data)
+{
+    GList **items = user_data;
+
+    *items = g_list_insert_sorted(*items, g_strdup(key), (GCompareFunc)strcmp);
+}
+
+/* Populates items with char * names which caller must free. */
+static int xs_node_directory(XsNode **n, struct walk_op *op)
+{
+    GList **items = op->op_opaque;
+
+    assert(op->inplace);
+    assert(*n);
+
+    if ((*n)->children) {
+        g_hash_table_foreach((*n)->children, append_directory_item, items);
+    }
+
+    if (op->op_opaque2) {
+        *(uint64_t *)op->op_opaque2 = (*n)->gencnt;
+    }
+
+    return 0;
+}
+
+static int validate_path(char *outpath, const char *userpath,
+                         unsigned int dom_id)
+{
+    size_t i, pathlen = strlen(userpath);
+
+    if (!pathlen || userpath[pathlen] == '/' || strstr(userpath, "//")) {
+        return EINVAL;
+    }
+    for (i = 0; i < pathlen; i++) {
+        if (!strchr(XS_VALID_CHARS, userpath[i])) {
+            return EINVAL;
+        }
+    }
+    if (userpath[0] == '/') {
+        if (pathlen > XENSTORE_ABS_PATH_MAX) {
+            return E2BIG;
+        }
+        memcpy(outpath, userpath, pathlen + 1);
+    } else {
+        if (pathlen > XENSTORE_REL_PATH_MAX) {
+            return E2BIG;
+        }
+        snprintf(outpath, XENSTORE_ABS_PATH_MAX, "/local/domain/%u/%s", dom_id,
+                 userpath);
+    }
+    return 0;
+}
+
+
+static int init_walk_op(XenstoreImplState *s, struct walk_op *op,
+                        xs_transaction_t tx_id, unsigned int dom_id,
+                        const char *path, XsNode ***rootp)
+{
+    int ret = validate_path(op->path, path, dom_id);
+    if (ret) {
+        return ret;
+    }
+
+    /*
+     * We use *two* NUL terminators at the end of the path, as during the walk
+     * we will temporarily turn each '/' into a NUL to allow us to use that
+     * path element for the lookup.
+     */
+    op->path[strlen(op->path) + 1] = '\0';
+    op->path[0] = '\0';
+    op->inplace = true;
+    op->mutating = false;
+    op->create_dirs = false;
+    op->dom_id = dom_id;
+    op->s = s;
+
+    if (tx_id == XBT_NULL) {
+        *rootp = &s->root;
+        op->new_nr_nodes = s->nr_nodes;
+    } else {
+        return ENOENT;
+    }
+
+    return 0;
+}
+
 int xs_impl_read(XenstoreImplState *s, unsigned int dom_id,
                  xs_transaction_t tx_id, const char *path, GByteArray *data)
 {
@@ -24,7 +481,17 @@ int xs_impl_read(XenstoreImplState *s, unsigned int dom_id,
      * The data GByteArray shall exist, and will be freed by caller.
      * Just g_byte_array_append() to it.
      */
-    return ENOENT;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_get_content;
+    op.op_opaque = data;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_write(XenstoreImplState *s, unsigned int dom_id,
@@ -32,9 +499,21 @@ int xs_impl_write(XenstoreImplState *s, unsigned int dom_id,
 {
     /*
      * The data GByteArray shall exist, will be freed by caller. You are
-     * free to use g_byte_array_steal() and keep the data.
+     * free to use g_byte_array_steal() and keep the data. Or just ref it.
      */
-    return ENOSYS;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_add_content;
+    op.op_opaque = data;
+    op.mutating = true;
+    op.create_dirs = true;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
@@ -46,7 +525,18 @@ int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
      * immediately so if you want to change it to (const char *) and keep
      * them, go ahead and change the caller.
      */
-    return ENOENT;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_directory;
+    op.op_opaque = items;
+    op.op_opaque2 = gencnt;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
@@ -64,7 +554,17 @@ int xs_impl_transaction_end(XenstoreImplState *s, unsigned int dom_id,
 int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
                xs_transaction_t tx_id, const char *path)
 {
-    return ENOSYS;
+    struct walk_op op;
+    XsNode **n;
+    int ret;
+
+    ret = init_walk_op(s, &op, tx_id, dom_id, path, &n);
+    if (ret) {
+        return ret;
+    }
+    op.op_fn = xs_node_rm;
+    op.mutating = true;
+    return xs_node_walk(n, &op);
 }
 
 int xs_impl_get_perms(XenstoreImplState *s, unsigned int dom_id,
@@ -102,16 +602,29 @@ int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
                     const char *path, const char *token,
                     xs_impl_watch_fn fn, void *opaque)
 {
-    /* Remove the watch that matches all four criteria */
+    /*
+     * When calling the callback @fn, note that the path should
+     * precisely match the relative path that the guest provided, even
+     * if it was a relative path which needed to be prefixed with
+     * /local/domain/${domid}/
+     */
     return ENOSYS;
 }
 
 int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id)
 {
+    /* Remove the watch that matches all four criteria */
     return ENOSYS;
 }
 
 XenstoreImplState *xs_impl_create(void)
 {
-    return g_new0(XenstoreImplState, 1);
+    XenstoreImplState *s = g_new0(XenstoreImplState, 1);
+
+    s->nr_nodes = 1;
+    s->root = xs_node_new();
+#ifdef XS_NODE_UNIT_TEST
+    s->root->name = g_strdup("/");
+#endif
+    return s;
 }
diff --git a/tests/unit/meson.build b/tests/unit/meson.build
index 51f453e6c4..d9c0a7eae6 100644
--- a/tests/unit/meson.build
+++ b/tests/unit/meson.build
@@ -47,6 +47,7 @@ tests = {
   'ptimer-test': ['ptimer-test-stubs.c', meson.project_source_root() / 'hw/core/ptimer.c'],
   'test-qapi-util': [],
   'test-interval-tree': [],
+  'test-xs-node': [qom],
 }
 
 if have_system or have_tools
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
new file mode 100644
index 0000000000..c78d5bd581
--- /dev/null
+++ b/tests/unit/test-xs-node.c
@@ -0,0 +1,197 @@
+/*
+ * QEMU XenStore XsNode testing
+ *
+ * Copyright © 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+
+ * 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 "qemu/module.h"
+
+static int nr_xs_nodes;
+static GList *xs_node_list;
+
+#define XS_NODE_UNIT_TEST
+
+/*
+ * We don't need the core Xen definitions. And we *do* want to be able
+ * to run the unit tests even on architectures that Xen doesn't support
+ * (because life's too short to bother doing otherwise, and test coverage
+ * doesn't hurt).
+ */
+#define __XEN_PUBLIC_XEN_H__
+
+#include "hw/i386/kvm/xenstore_impl.c"
+
+#define DOMID_QEMU 0
+#define DOMID_GUEST 1
+
+/* This doesn't happen in qemu but we want to make valgrind happy */
+static void xs_impl_delete(XenstoreImplState *s)
+{
+    int err;
+
+    err = xs_impl_rm(s, DOMID_QEMU, XBT_NULL, "/local");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 1);
+
+    xs_node_unref(s->root);
+    g_free(s);
+
+    if (xs_node_list) {
+        GList *l;
+        for (l = xs_node_list; l; l = l->next) {
+            XsNode *n = l->data;
+            printf("Remaining node at %p name %s ref %u\n", n, n->name,
+                   n->ref);
+        }
+    }
+    g_assert(!nr_xs_nodes);
+}
+
+static int write_str(XenstoreImplState *s, unsigned int dom_id,
+                          unsigned int tx_id, const char *path,
+                          const char *content)
+{
+    GByteArray *d = g_byte_array_new();
+    int err;
+
+    g_byte_array_append(d, (void *)content, strlen(content));
+    err = xs_impl_write(s, dom_id, tx_id, path, d);
+    g_byte_array_unref(d);
+    return err;
+}
+
+static XenstoreImplState *setup(void)
+{
+   XenstoreImplState *s = xs_impl_create();
+   char *abspath;
+   int err;
+
+   abspath = g_strdup_printf("/local/domain/%u", DOMID_GUEST);
+
+   err = write_str(s, DOMID_QEMU, XBT_NULL, abspath, "");
+   g_assert(!err);
+
+   g_free(abspath);
+
+   abspath = g_strdup_printf("/local/domain/%u/some", DOMID_GUEST);
+
+   err = write_str(s, DOMID_QEMU, XBT_NULL, abspath, "");
+   g_assert(!err);
+   g_assert(s->nr_nodes == 5);
+
+   g_free(abspath);
+
+   return s;
+}
+
+static void test_xs_node_simple(void)
+{
+    GByteArray *data = g_byte_array_new();
+    XenstoreImplState *s = setup();
+    GList *items = NULL;
+    XsNode *old_root;
+    uint64_t gencnt;
+    int err;
+
+    g_assert(s);
+
+    /* Read gives ENOENT when it should */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "foo", data);
+    g_assert(err == ENOENT);
+
+    /* Write works */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
+                    "something");
+    g_assert(s->nr_nodes == 7);
+    g_assert(!err);
+
+    /* Read gives back what we wrote */
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative/path", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something"));
+    g_assert(!memcmp(data->data, "something", data->len));
+
+    /* Even if we use an abolute path */
+    g_byte_array_set_size(data, 0);
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL,
+                       "/local/domain/1/some/relative/path", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("something"));
+
+    /* Keep a copy, to force COW mode */
+    old_root = xs_node_ref(s->root);
+
+    /* Write works again */
+    err = write_str(s, DOMID_GUEST, XBT_NULL,
+                    "/local/domain/1/some/relative/path2",
+                    "something else");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 8);
+
+    /* Overwrite an existing node */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative/path",
+                    "another thing");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 8);
+
+    /* We can list the two files we wrote */
+    err = xs_impl_directory(s, DOMID_GUEST, XBT_NULL, "some/relative", &gencnt,
+                            &items);
+    g_assert(!err);
+    g_assert(items);
+    g_assert(gencnt == 2);
+    g_assert(!strcmp(items->data, "path"));
+    g_assert(items->next);
+    g_assert(!strcmp(items->next->data, "path2"));
+    g_assert(!items->next->next);
+    g_list_free_full(items, g_free);
+
+    /* Write somewhere else which already existed */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative", "moredata");
+    g_assert(!err);
+
+    g_byte_array_set_size(data, 0);
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("moredata"));
+    g_assert(!memcmp(data->data, "moredata", data->len));
+
+    /* Overwrite existing data */
+    err = write_str(s, DOMID_GUEST, XBT_NULL, "some/relative", "otherdata");
+    g_assert(!err);
+
+    g_byte_array_set_size(data, 0);
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
+    g_assert(!err);
+    g_assert(data->len == strlen("otherdata"));
+    g_assert(!memcmp(data->data, "otherdata", data->len));
+
+    /* Remove the subtree */
+    err = xs_impl_rm(s, DOMID_GUEST, XBT_NULL, "some/relative");
+    g_assert(!err);
+    g_assert(s->nr_nodes == 5);
+
+    g_byte_array_set_size(data, 0);
+    err = xs_impl_read(s, DOMID_GUEST, XBT_NULL, "some/relative", data);
+    g_assert(err == ENOENT);
+    g_byte_array_unref(data);
+
+    xs_node_unref(old_root);
+    xs_impl_delete(s);
+}
+
+
+int main(int argc, char **argv)
+{
+    g_test_init(&argc, &argv, NULL);
+    module_call_init(MODULE_INIT_QOM);
+
+    g_test_add_func("/xs_node/simple", test_xs_node_simple);
+
+    return g_test_run();
+}
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:29:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:29:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507825.781993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc44-0005ra-0s; Tue, 07 Mar 2023 18:29:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507825.781993; Tue, 07 Mar 2023 18:29: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 1pZc43-0005qX-RY; Tue, 07 Mar 2023 18:29:31 +0000
Received: by outflank-mailman (input) for mailman id 507825;
 Tue, 07 Mar 2023 18: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc26-0002M9-Va
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:31 +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 b2899594-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:20 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1n-00H8TD-1v; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e8w-1Y; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b2899594-bd15-11ed-96b5-2f268f93b82a
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=XoQpl7zaWFuIq6T21NOkPMgfvnb6WAMCdnXTqYw7Aj4=; b=Im9aidp4Itb/9sANYYzZm2m3Px
	9OTSPpX4eTvD0RQeqJu/YY5A+bht4U9IaZVK4yN9rVYq9fERnPwIP0WikDu8zjGGXMOJVzw6FVwje
	gcP6tAnyzqHlSRFp85IJodopLwD04AYTNYKFROTEqW628pLIC/fGMlaZtOSWwYqq6sJS/Z8zuJ3n2
	NloVYsKxEHImVsmmnufVYu2mvwcVULvrt6UbVcA4hZAjbxk9rXv/+OseR70Welbkie9fJx5hZFtbr
	u8ThfHwg6kZEHobbcxyt+/GijLcQjn5p8uzy6yVVoJZ7x+fdib+DMQackzXQRTyQAT8CHnZ/ct3j+
	beLywT7Q==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 12/27] hw/xen: Add foreignmem operations to allow redirection to internal emulation
Date: Tue,  7 Mar 2023 18:26:52 +0000
Message-Id: <20230307182707.2298618-13-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/char/xen_console.c            |  8 +++---
 hw/display/xenfb.c               | 20 +++++++-------
 hw/xen/xen-operations.c          | 45 ++++++++++++++++++++++++++++++++
 include/hw/xen/xen_backend_ops.h | 26 ++++++++++++++++++
 include/hw/xen/xen_common.h      | 13 ---------
 softmmu/globals.c                |  1 +
 tests/unit/test-xs-node.c        |  1 +
 7 files changed, 88 insertions(+), 26 deletions(-)

diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 19ad6c946a..e9cef3e1ef 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -237,9 +237,9 @@ static int con_initialise(struct XenLegacyDevice *xendev)
 
     if (!xendev->dev) {
         xen_pfn_t mfn = con->ring_ref;
-        con->sring = xenforeignmemory_map(xen_fmem, con->xendev.dom,
-                                          PROT_READ | PROT_WRITE,
-                                          1, &mfn, NULL);
+        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);
@@ -269,7 +269,7 @@ static void con_disconnect(struct XenLegacyDevice *xendev)
 
     if (con->sring) {
         if (!xendev->dev) {
-            xenforeignmemory_unmap(xen_fmem, con->sring, 1);
+            qemu_xen_foreignmem_unmap(con->sring, 1);
         } else {
             xen_be_unmap_grant_ref(xendev, con->sring, con->ring_ref);
         }
diff --git a/hw/display/xenfb.c b/hw/display/xenfb.c
index 260eb38a76..2c4016fcbd 100644
--- a/hw/display/xenfb.c
+++ b/hw/display/xenfb.c
@@ -98,8 +98,9 @@ static int common_bind(struct common *c)
     if (xenstore_read_fe_int(&c->xendev, "event-channel", &c->xendev.remote_port) == -1)
         return -1;
 
-    c->page = xenforeignmemory_map(xen_fmem, c->xendev.dom,
-                                   PROT_READ | PROT_WRITE, 1, &mfn, NULL);
+    c->page = qemu_xen_foreignmem_map(c->xendev.dom, NULL,
+                                      PROT_READ | PROT_WRITE, 1, &mfn,
+                                      NULL);
     if (c->page == NULL)
         return -1;
 
@@ -115,7 +116,7 @@ static void common_unbind(struct common *c)
 {
     xen_pv_unbind_evtchn(&c->xendev);
     if (c->page) {
-        xenforeignmemory_unmap(xen_fmem, c->page, 1);
+        qemu_xen_foreignmem_unmap(c->page, 1);
         c->page = NULL;
     }
 }
@@ -500,15 +501,16 @@ static int xenfb_map_fb(struct XenFB *xenfb)
     fbmfns = g_new0(xen_pfn_t, xenfb->fbpages);
 
     xenfb_copy_mfns(mode, n_fbdirs, pgmfns, pd);
-    map = xenforeignmemory_map(xen_fmem, xenfb->c.xendev.dom,
-                               PROT_READ, n_fbdirs, pgmfns, NULL);
+    map = qemu_xen_foreignmem_map(xenfb->c.xendev.dom, NULL, PROT_READ,
+                                  n_fbdirs, pgmfns, NULL);
     if (map == NULL)
         goto out;
     xenfb_copy_mfns(mode, xenfb->fbpages, fbmfns, map);
-    xenforeignmemory_unmap(xen_fmem, map, n_fbdirs);
+    qemu_xen_foreignmem_unmap(map, n_fbdirs);
 
-    xenfb->pixels = xenforeignmemory_map(xen_fmem, xenfb->c.xendev.dom,
-            PROT_READ, xenfb->fbpages, fbmfns, NULL);
+    xenfb->pixels = qemu_xen_foreignmem_map(xenfb->c.xendev.dom, NULL,
+                                            PROT_READ, xenfb->fbpages,
+                                            fbmfns, NULL);
     if (xenfb->pixels == NULL)
         goto out;
 
@@ -927,7 +929,7 @@ static void fb_disconnect(struct XenLegacyDevice *xendev)
      *   Replacing the framebuffer with anonymous shared memory
      *   instead.  This releases the guest pages and keeps qemu happy.
      */
-    xenforeignmemory_unmap(xen_fmem, fb->pixels, fb->fbpages);
+    qemu_xen_foreignmem_unmap(fb->pixels, fb->fbpages);
     fb->pixels = mmap(fb->pixels, fb->fbpages * XC_PAGE_SIZE,
                       PROT_READ | PROT_WRITE, MAP_SHARED | MAP_ANON,
                       -1, 0);
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index c5956d28c6..440e566bb1 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -22,6 +22,7 @@
  */
 #undef XC_WANT_COMPAT_EVTCHN_API
 #undef XC_WANT_COMPAT_GNTTAB_API
+#undef XC_WANT_COMPAT_MAP_FOREIGN_API
 
 #include <xenctrl.h>
 
@@ -56,10 +57,13 @@ typedef xc_gnttab xengnttab_handle;
 #define xengnttab_map_domain_grant_refs(h, c, d, r, p) \
     xc_gnttab_map_domain_grant_refs(h, c, d, r, p)
 
+typedef xc_interface xenforeignmemory_handle;
+
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
 #include <xenevtchn.h>
 #include <xengnttab.h>
+#include <xenforeignmemory.h>
 
 #endif
 
@@ -218,6 +222,46 @@ static struct gnttab_backend_ops libxengnttab_backend_ops = {
     .unmap = libxengnttab_backend_unmap,
 };
 
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40701
+
+static void *libxenforeignmem_backend_map(uint32_t dom, void *addr, int prot,
+                                          size_t pages, xfn_pfn_t *pfns,
+                                          int *errs)
+{
+    if (errs) {
+        return xc_map_foreign_bulk(xen_xc, dom, prot, pfns, errs, pages);
+    } else {
+        return xc_map_foreign_pages(xen_xc, dom, prot, pfns, pages);
+    }
+}
+
+static int libxenforeignmem_backend_unmap(void *addr, size_t pages)
+{
+    return munmap(addr, pages * XC_PAGE_SIZE);
+}
+
+#else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
+
+static void *libxenforeignmem_backend_map(uint32_t dom, void *addr, int prot,
+                                          size_t pages, xen_pfn_t *pfns,
+                                          int *errs)
+{
+    return xenforeignmemory_map2(xen_fmem, dom, addr, prot, 0, pages, pfns,
+                                 errs);
+}
+
+static int libxenforeignmem_backend_unmap(void *addr, size_t pages)
+{
+    return xenforeignmemory_unmap(xen_fmem, addr, pages);
+}
+
+#endif
+
+struct foreignmem_backend_ops libxenforeignmem_backend_ops = {
+    .map = libxenforeignmem_backend_map,
+    .unmap = libxenforeignmem_backend_unmap,
+};
+
 void setup_xen_backend_ops(void)
 {
 #if CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40800
@@ -232,4 +276,5 @@ void setup_xen_backend_ops(void)
 #endif
     xen_evtchn_ops = &libxenevtchn_backend_ops;
     xen_gnttab_ops = &libxengnttab_backend_ops;
+    xen_foreignmem_ops = &libxenforeignmem_backend_ops;
 }
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
index 6f9d8e2c62..0dff06bbde 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -214,6 +214,32 @@ static inline int qemu_xen_gnttab_unmap(xengnttab_handle *xgt,
     return xen_gnttab_ops->unmap(xgt, start_address, refs, count);
 }
 
+struct foreignmem_backend_ops {
+    void *(*map)(uint32_t dom, void *addr, int prot, size_t pages,
+                 xen_pfn_t *pfns, int *errs);
+    int (*unmap)(void *addr, size_t pages);
+};
+
+extern struct foreignmem_backend_ops *xen_foreignmem_ops;
+
+static inline void *qemu_xen_foreignmem_map(uint32_t dom, void *addr, int prot,
+                                            size_t pages, xen_pfn_t *pfns,
+                                            int *errs)
+{
+    if (!xen_foreignmem_ops) {
+        return NULL;
+    }
+    return xen_foreignmem_ops->map(dom, addr, prot, pages, pfns, errs);
+}
+
+static inline int qemu_xen_foreignmem_unmap(void *addr, size_t pages)
+{
+    if (!xen_foreignmem_ops) {
+        return -ENOSYS;
+    }
+    return xen_foreignmem_ops->unmap(addr, pages);
+}
+
 void setup_xen_backend_ops(void);
 
 #endif /* QEMU_XEN_BACKEND_OPS_H */
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index d4d10d3ff1..632ce617cc 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -32,19 +32,6 @@ typedef xc_interface xenforeignmemory_handle;
 #define xenforeignmemory_open(l, f) xen_xc
 #define xenforeignmemory_close(h)
 
-static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
-                                         int prot, size_t pages,
-                                         const xen_pfn_t arr[/*pages*/],
-                                         int err[/*pages*/])
-{
-    if (err)
-        return xc_map_foreign_bulk(h, dom, prot, arr, err, pages);
-    else
-        return xc_map_foreign_pages(h, dom, prot, arr, pages);
-}
-
-#define xenforeignmemory_unmap(h, p, s) munmap(p, s * XC_PAGE_SIZE)
-
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
 #include <xenforeignmemory.h>
diff --git a/softmmu/globals.c b/softmmu/globals.c
index 23bb27f0f6..dda32986f7 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -67,3 +67,4 @@ enum xen_mode xen_mode = XEN_DISABLED;
 bool xen_domid_restrict;
 struct evtchn_backend_ops *xen_evtchn_ops;
 struct gnttab_backend_ops *xen_gnttab_ops;
+struct foreignmem_backend_ops *xen_foreignmem_ops;
diff --git a/tests/unit/test-xs-node.c b/tests/unit/test-xs-node.c
index fda6a047d0..b80d10ff98 100644
--- a/tests/unit/test-xs-node.c
+++ b/tests/unit/test-xs-node.c
@@ -23,6 +23,7 @@ static GList *xs_node_list;
  * doesn't hurt).
  */
 #define __XEN_PUBLIC_XEN_H__
+typedef unsigned long xen_pfn_t;
 
 #include "hw/i386/kvm/xenstore_impl.c"
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:29:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:29:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507828.782008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc45-0006KI-Mx; Tue, 07 Mar 2023 18:29:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507828.782008; Tue, 07 Mar 2023 18:29: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 1pZc45-0006Iz-I5; Tue, 07 Mar 2023 18:29:33 +0000
Received: by outflank-mailman (input) for mailman id 507828;
 Tue, 07 Mar 2023 18:29: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc25-0002M9-VK
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:30 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2b7f48c-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:21 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc1n-006deB-9f; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e8d-0l; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b2b7f48c-bd15-11ed-96b5-2f268f93b82a
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=XIh3ll61F3sX986iPUVrlVyueMiEedyGWfVNda7J91g=; b=bQpue2g39w6AG6WqkC/sMA87Qt
	fpmjiIld80EfgNh4k3pwm40sKKc8JYl5/Eez0B0lxBXFfnZFsUIpUF9KMmihonACn2hLsTSpqOXlT
	qD4OrqP8H/fZY0AYSftDnuFjyVJ9rkRPEldnrL0YBv2ug6UivT0XFGow5uBvdGksLw3QUzNby2AZC
	ZJ0atGBsbCbAOqLlQufZEn6vExAK/ALPK1TaRv5s3HaOTdS524wSch2tGqI70LGwyqGMu4WIxAYOL
	nQEfw63+vSDfpTxnI8Pp5+dAQN7tHlSolA/mgd9Ex4uJDKPOK7+O5Tk79/pDNqrqMQhM3Rs0kbler
	QOwkBVEQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 08/27] hw/xen: Create initial XenStore nodes
Date: Tue,  7 Mar 2023 18:26:48 +0000
Message-Id: <20230307182707.2298618-9-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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: Paul Durrant <pdurrant@amazon.com>

Signed-off-by: Paul Durrant <pdurrant@amazon.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c | 70 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 520422b147..fb3648a058 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -76,9 +76,39 @@ struct XenXenstoreState *xen_xenstore_singleton;
 static void xen_xenstore_event(void *opaque);
 static void fire_watch_cb(void *opaque, const char *path, const char *token);
 
+static void G_GNUC_PRINTF (4, 5) relpath_printf(XenXenstoreState *s,
+                                                GList *perms,
+                                                const char *relpath,
+                                                const char *fmt, ...)
+{
+    gchar *abspath;
+    gchar *value;
+    va_list args;
+    GByteArray *data;
+    int err;
+
+    abspath = g_strdup_printf("/local/domain/%u/%s", xen_domid, relpath);
+    va_start(args, fmt);
+    value = g_strdup_vprintf(fmt, args);
+    va_end(args);
+
+    data = g_byte_array_new_take((void *)value, strlen(value));
+
+    err = xs_impl_write(s->impl, DOMID_QEMU, XBT_NULL, abspath, data);
+    assert(!err);
+
+    g_byte_array_unref(data);
+
+    err = xs_impl_set_perms(s->impl, DOMID_QEMU, XBT_NULL, abspath, perms);
+    assert(!err);
+
+    g_free(abspath);
+}
+
 static void xen_xenstore_realize(DeviceState *dev, Error **errp)
 {
     XenXenstoreState *s = XEN_XENSTORE(dev);
+    GList *perms;
 
     if (xen_mode != XEN_EMULATE) {
         error_setg(errp, "Xen xenstore support is for Xen emulation");
@@ -102,6 +132,46 @@ static void xen_xenstore_realize(DeviceState *dev, Error **errp)
                        xen_xenstore_event, NULL, NULL, NULL, s);
 
     s->impl = xs_impl_create(xen_domid);
+
+    /* Populate the default nodes */
+
+    /* Nodes owned by 'dom0' but readable by the guest */
+    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, "", "%s", "");
+
+    relpath_printf(s, perms, "domid", "%u", xen_domid);
+
+    relpath_printf(s, perms, "control/platform-feature-xs_reset_watches", "%u", 1);
+    relpath_printf(s, perms, "control/platform-feature-multiprocessor-suspend", "%u", 1);
+
+    relpath_printf(s, perms, "platform/acpi", "%u", 1);
+    relpath_printf(s, perms, "platform/acpi_s3", "%u", 1);
+    relpath_printf(s, perms, "platform/acpi_s4", "%u", 1);
+    relpath_printf(s, perms, "platform/acpi_laptop_slate", "%u", 0);
+
+    g_list_free_full(perms, g_free);
+
+    /* Nodes owned by the guest */
+    perms = g_list_append(NULL, xs_perm_as_string(XS_PERM_NONE, xen_domid));
+
+    relpath_printf(s, perms, "attr", "%s", "");
+
+    relpath_printf(s, perms, "control/shutdown", "%s", "");
+    relpath_printf(s, perms, "control/feature-poweroff", "%u", 1);
+    relpath_printf(s, perms, "control/feature-reboot", "%u", 1);
+    relpath_printf(s, perms, "control/feature-suspend", "%u", 1);
+    relpath_printf(s, perms, "control/feature-s3", "%u", 1);
+    relpath_printf(s, perms, "control/feature-s4", "%u", 1);
+
+    relpath_printf(s, perms, "data", "%s", "");
+    relpath_printf(s, perms, "device", "%s", "");
+    relpath_printf(s, perms, "drivers", "%s", "");
+    relpath_printf(s, perms, "error", "%s", "");
+    relpath_printf(s, perms, "feature", "%s", "");
+
+    g_list_free_full(perms, g_free);
 }
 
 static bool xen_xenstore_is_needed(void *opaque)
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:29:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:29:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507835.782019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc4A-00074Q-49; Tue, 07 Mar 2023 18:29:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507835.782019; Tue, 07 Mar 2023 18: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 1pZc4A-00074B-0B; Tue, 07 Mar 2023 18:29:38 +0000
Received: by outflank-mailman (input) for mailman id 507835;
 Tue, 07 Mar 2023 18:29: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=tG96=67=desiato.srs.infradead.org=BATV+98a25f4d4d04c9e21499+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc24-0002M9-VE
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:29 +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 b13f9716-bd15-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 19:27:18 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1pZc1m-00H8T1-30; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1m-009e8A-2b; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b13f9716-bd15-11ed-96b5-2f268f93b82a
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=WnOlrCyXVBFqHNPB9VF+Knv7LZVlnO+BJbMZlWwhtOM=; b=aKFknAVieLzHIqQknENSUJdyad
	jcIzcYIM17RO04t88vGzsaT/LaXvHqHe4R2BAhIRu48wBwJ3itf45//Rn2XxMFZ4YfSqf7FAwlav+
	zJ0IoWZg/NfNjiNHPlAx5mczQpqlEm3y8XVyqWayqlcZTN7zSXI3c8Kg2aAbwMrIIjqCneuq7ZqRp
	WtvIf0635eqjvjTU4U/B2PYWwOwfHDx3OvCpgWzfrPPtc1SFacTbMkK9RiJFEIlpVAabE8AQOZ/Dz
	Sv6la7yTOTfP+D4w3wgHvJrEYatF55iNtAuIXgoLC1k7GjwJxeiEtnWxMXGJouJbmbnJO7sd70CWW
	5O9mQ4Ig==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 01/27] hw/xen: Add xenstore wire implementation and implementation stubs
Date: Tue,  7 Mar 2023 18:26:41 +0000
Message-Id: <20230307182707.2298618-2-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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>

This implements the basic wire protocol for the XenStore commands, punting
all the actual implementation to xs_impl_* functions which all just return
errors for now.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/meson.build     |   1 +
 hw/i386/kvm/trace-events    |  15 +
 hw/i386/kvm/xen_xenstore.c  | 871 +++++++++++++++++++++++++++++++++++-
 hw/i386/kvm/xenstore_impl.c | 117 +++++
 hw/i386/kvm/xenstore_impl.h |  58 +++
 5 files changed, 1054 insertions(+), 8 deletions(-)
 create mode 100644 hw/i386/kvm/xenstore_impl.c
 create mode 100644 hw/i386/kvm/xenstore_impl.h

diff --git a/hw/i386/kvm/meson.build b/hw/i386/kvm/meson.build
index 82dd6ae7c6..6621ba5cd7 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',
+  'xenstore_impl.c',
   ))
 
 i386_ss.add_all(when: 'CONFIG_KVM', if_true: i386_kvm_ss)
diff --git a/hw/i386/kvm/trace-events b/hw/i386/kvm/trace-events
index b83c3eb965..e4c82de6f3 100644
--- a/hw/i386/kvm/trace-events
+++ b/hw/i386/kvm/trace-events
@@ -3,3 +3,18 @@ kvm_xen_unmap_pirq(int pirq, int gsi) "pirq %d gsi %d"
 kvm_xen_get_free_pirq(int pirq, int type) "pirq %d type %d"
 kvm_xen_bind_pirq(int pirq, int port) "pirq %d port %d"
 kvm_xen_unmask_pirq(int pirq, char *dev, int vector) "pirq %d dev %s vector %d"
+xenstore_error(unsigned int id, unsigned int tx_id, const char *err) "req %u tx %u err %s"
+xenstore_read(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_write(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_mkdir(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_directory(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_directory_part(unsigned int tx_id, const char *path, unsigned int offset) "tx %u path %s offset %u"
+xenstore_transaction_start(unsigned int new_tx) "new_tx %u"
+xenstore_transaction_end(unsigned int tx_id, bool commit) "tx %u commit %d"
+xenstore_rm(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_get_perms(unsigned int tx_id, const char *path) "tx %u path %s"
+xenstore_set_perms(unsigned int tx_id, const char *path) "tx %u path %s"
+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"
diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 14193ef3f9..64d8f1a38f 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -28,6 +28,10 @@
 #include "sysemu/kvm.h"
 #include "sysemu/kvm_xen.h"
 
+#include "trace.h"
+
+#include "xenstore_impl.h"
+
 #include "hw/xen/interface/io/xs_wire.h"
 #include "hw/xen/interface/event_channel.h"
 
@@ -47,6 +51,9 @@ struct XenXenstoreState {
     SysBusDevice busdev;
     /*< public >*/
 
+    XenstoreImplState *impl;
+    GList *watch_events;
+
     MemoryRegion xenstore_page;
     struct xenstore_domain_interface *xs;
     uint8_t req_data[XENSTORE_HEADER_SIZE + XENSTORE_PAYLOAD_MAX];
@@ -64,6 +71,7 @@ struct XenXenstoreState {
 struct XenXenstoreState *xen_xenstore_singleton;
 
 static void xen_xenstore_event(void *opaque);
+static void fire_watch_cb(void *opaque, const char *path, const char *token);
 
 static void xen_xenstore_realize(DeviceState *dev, Error **errp)
 {
@@ -89,6 +97,8 @@ static void xen_xenstore_realize(DeviceState *dev, Error **errp)
     }
     aio_set_fd_handler(qemu_get_aio_context(), xen_be_evtchn_fd(s->eh), true,
                        xen_xenstore_event, NULL, NULL, NULL, s);
+
+    s->impl = xs_impl_create();
 }
 
 static bool xen_xenstore_is_needed(void *opaque)
@@ -213,20 +223,761 @@ static void reset_rsp(XenXenstoreState *s)
     s->rsp_offset = 0;
 }
 
+static void xs_error(XenXenstoreState *s, unsigned int id,
+                     xs_transaction_t tx_id, int errnum)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    const char *errstr = NULL;
+
+    for (unsigned int i = 0; i < ARRAY_SIZE(xsd_errors); i++) {
+        struct xsd_errors *xsd_error = &xsd_errors[i];
+
+        if (xsd_error->errnum == errnum) {
+            errstr = xsd_error->errstring;
+            break;
+        }
+    }
+    assert(errstr);
+
+    trace_xenstore_error(id, tx_id, errstr);
+
+    rsp->type = XS_ERROR;
+    rsp->req_id = id;
+    rsp->tx_id = tx_id;
+    rsp->len = (uint32_t)strlen(errstr) + 1;
+
+    memcpy(&rsp[1], errstr, rsp->len);
+}
+
+static void xs_ok(XenXenstoreState *s, unsigned int type, unsigned int req_id,
+                  xs_transaction_t tx_id)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    const char *okstr = "OK";
+
+    rsp->type = type;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = (uint32_t)strlen(okstr) + 1;
+
+    memcpy(&rsp[1], okstr, rsp->len);
+}
+
+/*
+ * The correct request and response formats are documented in xen.git:
+ * docs/misc/xenstore.txt. A summary is given below for convenience.
+ * The '|' symbol represents a NUL character.
+ *
+ * ---------- Database read, write and permissions operations ----------
+ *
+ * READ                    <path>|                 <value|>
+ * WRITE                   <path>|<value|>
+ *         Store and read the octet string <value> at <path>.
+ *         WRITE creates any missing parent paths, with empty values.
+ *
+ * MKDIR                   <path>|
+ *         Ensures that the <path> exists, by necessary by creating
+ *         it and any missing parents with empty values.  If <path>
+ *         or any parent already exists, its value is left unchanged.
+ *
+ * RM                      <path>|
+ *         Ensures that the <path> does not exist, by deleting
+ *         it and all of its children.  It is not an error if <path> does
+ *         not exist, but it _is_ an error if <path>'s immediate parent
+ *         does not exist either.
+ *
+ * DIRECTORY               <path>|                 <child-leaf-name>|*
+ *         Gives a list of the immediate children of <path>, as only the
+ *         leafnames.  The resulting children are each named
+ *         <path>/<child-leaf-name>.
+ *
+ * DIRECTORY_PART          <path>|<offset>         <gencnt>|<child-leaf-name>|*
+ *         Same as DIRECTORY, but to be used for children lists longer than
+ *         XENSTORE_PAYLOAD_MAX. Input are <path> and the byte offset into
+ *         the list of children to return. Return values are the generation
+ *         count <gencnt> of the node (to be used to ensure the node hasn't
+ *         changed between two reads: <gencnt> being the same for multiple
+ *         reads guarantees the node hasn't changed) and the list of children
+ *         starting at the specified <offset> of the complete list.
+ *
+ * GET_PERMS               <path>|                 <perm-as-string>|+
+ * SET_PERMS               <path>|<perm-as-string>|+?
+ *         <perm-as-string> is one of the following
+ *                 w<domid>        write only
+ *                 r<domid>        read only
+ *                 b<domid>        both read and write
+ *                 n<domid>        no access
+ *         See https://wiki.xen.org/wiki/XenBus section
+ *         `Permissions' for details of the permissions system.
+ *         It is possible to set permissions for the special watch paths
+ *         "@introduceDomain" and "@releaseDomain" to enable receiving those
+ *         watches in unprivileged domains.
+ *
+ * ---------- Watches ----------
+ *
+ * WATCH                   <wpath>|<token>|?
+ *         Adds a watch.
+ *
+ *         When a <path> is modified (including path creation, removal,
+ *         contents change or permissions change) this generates an event
+ *         on the changed <path>.  Changes made in transactions cause an
+ *         event only if and when committed.  Each occurring event is
+ *         matched against all the watches currently set up, and each
+ *         matching watch results in a WATCH_EVENT message (see below).
+ *
+ *         The event's path matches the watch's <wpath> if it is an child
+ *         of <wpath>.
+ *
+ *         <wpath> can be a <path> to watch or @<wspecial>.  In the
+ *         latter case <wspecial> may have any syntax but it matches
+ *         (according to the rules above) only the following special
+ *         events which are invented by xenstored:
+ *             @introduceDomain    occurs on INTRODUCE
+ *             @releaseDomain      occurs on any domain crash or
+ *                                 shutdown, and also on RELEASE
+ *                                 and domain destruction
+ *         <wspecial> events are sent to privileged callers or explicitly
+ *         via SET_PERMS enabled domains only.
+ *
+ *         When a watch is first set up it is triggered once straight
+ *         away, with <path> equal to <wpath>.  Watches may be triggered
+ *         spuriously.  The tx_id in a WATCH request is ignored.
+ *
+ *         Watches are supposed to be restricted by the permissions
+ *         system but in practice the implementation is imperfect.
+ *         Applications should not rely on being sent a notification for
+ *         paths that they cannot read; however, an application may rely
+ *         on being sent a watch when a path which it _is_ able to read
+ *         is deleted even if that leaves only a nonexistent unreadable
+ *         parent.  A notification may omitted if a node's permissions
+ *         are changed so as to make it unreadable, in which case future
+ *         notifications may be suppressed (and if the node is later made
+ *         readable, some notifications may have been lost).
+ *
+ * WATCH_EVENT                                     <epath>|<token>|
+ *         Unsolicited `reply' generated for matching modification events
+ *         as described above.  req_id and tx_id are both 0.
+ *
+ *         <epath> is the event's path, ie the actual path that was
+ *         modified; however if the event was the recursive removal of an
+ *         parent of <wpath>, <epath> is just
+ *         <wpath> (rather than the actual path which was removed).  So
+ *         <epath> is a child of <wpath>, regardless.
+ *
+ *         Iff <wpath> for the watch was specified as a relative pathname,
+ *         the <epath> path will also be relative (with the same base,
+ *         obviously).
+ *
+ * UNWATCH                 <wpath>|<token>|?
+ *
+ * RESET_WATCHES           |
+ *         Reset all watches and transactions of the caller.
+ *
+ * ---------- Transactions ----------
+ *
+ * TRANSACTION_START       |                       <transid>|
+ *         <transid> is an opaque uint32_t allocated by xenstored
+ *         represented as unsigned decimal.  After this, transaction may
+ *         be referenced by using <transid> (as 32-bit binary) in the
+ *         tx_id request header field.  When transaction is started whole
+ *         db is copied; reads and writes happen on the copy.
+ *         It is not legal to send non-0 tx_id in TRANSACTION_START.
+ *
+ * TRANSACTION_END         T|
+ * TRANSACTION_END         F|
+ *         tx_id must refer to existing transaction.  After this
+ *         request the tx_id is no longer valid and may be reused by
+ *         xenstore.  If F, the transaction is discarded.  If T,
+ *         it is committed: if there were any other intervening writes
+ *         then our END gets get EAGAIN.
+ *
+ *         The plan is that in the future only intervening `conflicting'
+ *         writes cause EAGAIN, meaning only writes or other commits
+ *         which changed paths which were read or written in the
+ *         transaction at hand.
+ *
+ */
+
+static void xs_read(XenXenstoreState *s, unsigned int req_id,
+                    xs_transaction_t tx_id, uint8_t *req_data, unsigned int len)
+{
+    const char *path = (const char *)req_data;
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    uint8_t *rsp_data = (uint8_t *)&rsp[1];
+    g_autoptr(GByteArray) data = g_byte_array_new();
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_read(tx_id, path);
+    err = xs_impl_read(s->impl, xen_domid, tx_id, path, data);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    rsp->type = XS_READ;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = 0;
+
+    len = data->len;
+    if (len > XENSTORE_PAYLOAD_MAX) {
+        xs_error(s, req_id, tx_id, E2BIG);
+        return;
+    }
+
+    memcpy(&rsp_data[rsp->len], data->data, len);
+    rsp->len += len;
+}
+
+static void xs_write(XenXenstoreState *s, unsigned int req_id,
+                     xs_transaction_t tx_id, uint8_t *req_data,
+                     unsigned int len)
+{
+    g_autoptr(GByteArray) data = g_byte_array_new();
+    const char *path;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    path = (const char *)req_data;
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    g_byte_array_append(data, req_data, len);
+
+    trace_xenstore_write(tx_id, path);
+    err = xs_impl_write(s->impl, xen_domid, tx_id, path, data);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_WRITE, req_id, tx_id);
+}
+
+static void xs_mkdir(XenXenstoreState *s, unsigned int req_id,
+                     xs_transaction_t tx_id, uint8_t *req_data,
+                     unsigned int len)
+{
+    g_autoptr(GByteArray) data = g_byte_array_new();
+    const char *path;
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    path = (const char *)req_data;
+
+    trace_xenstore_mkdir(tx_id, path);
+    err = xs_impl_read(s->impl, xen_domid, tx_id, path, data);
+    if (err == ENOENT) {
+        err = xs_impl_write(s->impl, xen_domid, tx_id, path, data);
+    }
+
+    if (!err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_MKDIR, req_id, tx_id);
+}
+
+static void xs_append_strings(XenXenstoreState *s, struct xsd_sockmsg *rsp,
+                              GList *strings, unsigned int start, bool truncate)
+{
+    uint8_t *rsp_data = (uint8_t *)&rsp[1];
+    GList *l;
+
+    for (l = strings; l; l = l->next) {
+        size_t len = strlen(l->data) + 1; /* Including the NUL termination */
+        char *str = l->data;
+
+        if (rsp->len + len > XENSTORE_PAYLOAD_MAX) {
+            if (truncate) {
+                len = XENSTORE_PAYLOAD_MAX - rsp->len;
+                if (!len) {
+                    return;
+                }
+            } else {
+                xs_error(s, rsp->req_id, rsp->tx_id, E2BIG);
+                return;
+            }
+        }
+
+        if (start) {
+            if (start >= len) {
+                start -= len;
+                continue;
+            }
+
+            str += start;
+            len -= start;
+            start = 0;
+        }
+
+        memcpy(&rsp_data[rsp->len], str, len);
+        rsp->len += len;
+    }
+    /* XS_DIRECTORY_PART wants an extra NUL to indicate the end */
+    if (truncate && rsp->len < XENSTORE_PAYLOAD_MAX) {
+        rsp_data[rsp->len++] = '\0';
+    }
+}
+
+static void xs_directory(XenXenstoreState *s, unsigned int req_id,
+                         xs_transaction_t tx_id, uint8_t *req_data,
+                         unsigned int len)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    GList *items = NULL;
+    const char *path;
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    path = (const char *)req_data;
+
+    trace_xenstore_directory(tx_id, path);
+    err = xs_impl_directory(s->impl, xen_domid, tx_id, path, NULL, &items);
+    if (err != 0) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    rsp->type = XS_DIRECTORY;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = 0;
+
+    xs_append_strings(s, rsp, items, 0, false);
+
+    g_list_free_full(items, g_free);
+}
+
+static void xs_directory_part(XenXenstoreState *s, unsigned int req_id,
+                              xs_transaction_t tx_id, uint8_t *req_data,
+                              unsigned int len)
+{
+    const char *offset_str, *path = (const char *)req_data;
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    char *rsp_data = (char *)&rsp[1];
+    uint64_t gencnt = 0;
+    unsigned int offset;
+    GList *items = NULL;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    offset_str = (const char *)req_data;
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    if (len) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    if (qemu_strtoui(offset_str, NULL, 10, &offset) < 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_directory_part(tx_id, path, offset);
+    err = xs_impl_directory(s->impl, xen_domid, tx_id, path, &gencnt, &items);
+    if (err != 0) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    rsp->type = XS_DIRECTORY_PART;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = snprintf(rsp_data, XENSTORE_PAYLOAD_MAX, "%" PRIu64, gencnt) + 1;
+
+    xs_append_strings(s, rsp, items, offset, true);
+
+    g_list_free_full(items, g_free);
+}
+
+static void xs_transaction_start(XenXenstoreState *s, unsigned int req_id,
+                                 xs_transaction_t tx_id, uint8_t *req_data,
+                                 unsigned int len)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    char *rsp_data = (char *)&rsp[1];
+    int err;
+
+    if (len != 1 || req_data[0] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    rsp->type = XS_TRANSACTION_START;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = 0;
+
+    err = xs_impl_transaction_start(s->impl, xen_domid, &tx_id);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    trace_xenstore_transaction_start(tx_id);
+
+    rsp->len = snprintf(rsp_data, XENSTORE_PAYLOAD_MAX, "%u", tx_id);
+    assert(rsp->len < XENSTORE_PAYLOAD_MAX);
+    rsp->len++;
+}
+
+static void xs_transaction_end(XenXenstoreState *s, unsigned int req_id,
+                               xs_transaction_t tx_id, uint8_t *req_data,
+                               unsigned int len)
+{
+    bool commit;
+    int err;
+
+    if (len != 2 || req_data[1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    switch (req_data[0]) {
+    case 'T':
+        commit = true;
+        break;
+    case 'F':
+        commit = false;
+        break;
+    default:
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_transaction_end(tx_id, commit);
+    err = xs_impl_transaction_end(s->impl, xen_domid, tx_id, commit);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_TRANSACTION_END, req_id, tx_id);
+}
+
+static void xs_rm(XenXenstoreState *s, unsigned int req_id,
+                  xs_transaction_t tx_id, uint8_t *req_data, unsigned int len)
+{
+    const char *path = (const char *)req_data;
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_rm(tx_id, path);
+    err = xs_impl_rm(s->impl, xen_domid, tx_id, path);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_RM, req_id, tx_id);
+}
+
+static void xs_get_perms(XenXenstoreState *s, unsigned int req_id,
+                         xs_transaction_t tx_id, uint8_t *req_data,
+                         unsigned int len)
+{
+    const char *path = (const char *)req_data;
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    GList *perms = NULL;
+    int err;
+
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_get_perms(tx_id, path);
+    err = xs_impl_get_perms(s->impl, xen_domid, tx_id, path, &perms);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    rsp->type = XS_GET_PERMS;
+    rsp->req_id = req_id;
+    rsp->tx_id = tx_id;
+    rsp->len = 0;
+
+    xs_append_strings(s, rsp, perms, 0, false);
+
+    g_list_free_full(perms, g_free);
+}
+
+static void xs_set_perms(XenXenstoreState *s, unsigned int req_id,
+                         xs_transaction_t tx_id, uint8_t *req_data,
+                         unsigned int len)
+{
+    const char *path = (const char *)req_data;
+    uint8_t *perm;
+    GList *perms = NULL;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    perm = req_data;
+    while (len--) {
+        if (*req_data++ == '\0') {
+            perms = g_list_append(perms, perm);
+            perm = req_data;
+        }
+    }
+
+    /*
+     * Note that there may be trailing garbage at the end of the buffer.
+     * This is explicitly permitted by the '?' at the end of the definition:
+     *
+     *    SET_PERMS         <path>|<perm-as-string>|+?
+     */
+
+    trace_xenstore_set_perms(tx_id, path);
+    err = xs_impl_set_perms(s->impl, xen_domid, tx_id, path, perms);
+    g_list_free(perms);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_SET_PERMS, req_id, tx_id);
+}
+
+static void xs_watch(XenXenstoreState *s, unsigned int req_id,
+                     xs_transaction_t tx_id, uint8_t *req_data,
+                     unsigned int len)
+{
+    const char *token, *path = (const char *)req_data;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    token = (const char *)req_data;
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    /*
+     * Note that there may be trailing garbage at the end of the buffer.
+     * This is explicitly permitted by the '?' at the end of the definition:
+     *
+     *    WATCH             <wpath>|<token>|?
+     */
+
+    trace_xenstore_watch(path, token);
+    err = xs_impl_watch(s->impl, xen_domid, path, token, fire_watch_cb, s);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_WATCH, req_id, tx_id);
+}
+
+static void xs_unwatch(XenXenstoreState *s, unsigned int req_id,
+                       xs_transaction_t tx_id, uint8_t *req_data,
+                       unsigned int len)
+{
+    const char *token, *path = (const char *)req_data;
+    int err;
+
+    if (len == 0) {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    token = (const char *)req_data;
+    while (len--) {
+        if (*req_data++ == '\0') {
+            break;
+        }
+        if (len == 0) {
+            xs_error(s, req_id, tx_id, EINVAL);
+            return;
+        }
+    }
+
+    trace_xenstore_unwatch(path, token);
+    err = xs_impl_unwatch(s->impl, xen_domid, path, token, fire_watch_cb, s);
+    if (err) {
+        xs_error(s, req_id, tx_id, err);
+        return;
+    }
+
+    xs_ok(s, XS_UNWATCH, req_id, tx_id);
+}
+
+static void xs_reset_watches(XenXenstoreState *s, unsigned int req_id,
+                             xs_transaction_t tx_id, uint8_t *req_data,
+                             unsigned int len)
+{
+    if (len == 0 || req_data[len - 1] != '\0') {
+        xs_error(s, req_id, tx_id, EINVAL);
+        return;
+    }
+
+    trace_xenstore_reset_watches();
+    xs_impl_reset_watches(s->impl, xen_domid);
+
+    xs_ok(s, XS_RESET_WATCHES, req_id, tx_id);
+}
+
+static void xs_priv(XenXenstoreState *s, unsigned int req_id,
+                    xs_transaction_t tx_id, uint8_t *data,
+                    unsigned int len)
+{
+    xs_error(s, req_id, tx_id, EACCES);
+}
+
+static void xs_unimpl(XenXenstoreState *s, unsigned int req_id,
+                      xs_transaction_t tx_id, uint8_t *data,
+                      unsigned int len)
+{
+    xs_error(s, req_id, tx_id, ENOSYS);
+}
+
+typedef void (*xs_impl)(XenXenstoreState *s, unsigned int req_id,
+                        xs_transaction_t tx_id, uint8_t *data,
+                        unsigned int len);
+
+struct xsd_req {
+    const char *name;
+    xs_impl fn;
+};
+#define XSD_REQ(_type, _fn)                           \
+    [_type] = { .name = #_type, .fn = _fn }
+
+struct xsd_req xsd_reqs[] = {
+    XSD_REQ(XS_READ, xs_read),
+    XSD_REQ(XS_WRITE, xs_write),
+    XSD_REQ(XS_MKDIR, xs_mkdir),
+    XSD_REQ(XS_DIRECTORY, xs_directory),
+    XSD_REQ(XS_DIRECTORY_PART, xs_directory_part),
+    XSD_REQ(XS_TRANSACTION_START, xs_transaction_start),
+    XSD_REQ(XS_TRANSACTION_END, xs_transaction_end),
+    XSD_REQ(XS_RM, xs_rm),
+    XSD_REQ(XS_GET_PERMS, xs_get_perms),
+    XSD_REQ(XS_SET_PERMS, xs_set_perms),
+    XSD_REQ(XS_WATCH, xs_watch),
+    XSD_REQ(XS_UNWATCH, xs_unwatch),
+    XSD_REQ(XS_CONTROL, xs_priv),
+    XSD_REQ(XS_INTRODUCE, xs_priv),
+    XSD_REQ(XS_RELEASE, xs_priv),
+    XSD_REQ(XS_IS_DOMAIN_INTRODUCED, xs_priv),
+    XSD_REQ(XS_RESUME, xs_priv),
+    XSD_REQ(XS_SET_TARGET, xs_priv),
+    XSD_REQ(XS_RESET_WATCHES, xs_reset_watches),
+};
+
 static void process_req(XenXenstoreState *s)
 {
     struct xsd_sockmsg *req = (struct xsd_sockmsg *)s->req_data;
-    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
-    const char enosys[] = "ENOSYS";
+    xs_impl handler = NULL;
 
     assert(req_pending(s));
     assert(!s->rsp_pending);
 
-    rsp->type = XS_ERROR;
-    rsp->req_id = req->req_id;
-    rsp->tx_id = req->tx_id;
-    rsp->len = sizeof(enosys);
-    memcpy((void *)&rsp[1], enosys, sizeof(enosys));
+    if (req->type < ARRAY_SIZE(xsd_reqs)) {
+        handler = xsd_reqs[req->type].fn;
+    }
+    if (!handler) {
+        handler = &xs_unimpl;
+    }
+
+    handler(s, req->req_id, req->tx_id, (uint8_t *)&req[1], req->len);
 
     s->rsp_pending = true;
     reset_req(s);
@@ -415,6 +1166,106 @@ static unsigned int put_rsp(XenXenstoreState *s)
     return copylen;
 }
 
+static void deliver_watch(XenXenstoreState *s, const char *path,
+                          const char *token)
+{
+    struct xsd_sockmsg *rsp = (struct xsd_sockmsg *)s->rsp_data;
+    uint8_t *rsp_data = (uint8_t *)&rsp[1];
+    unsigned int len;
+
+    assert(!s->rsp_pending);
+
+    trace_xenstore_watch_event(path, token);
+
+    rsp->type = XS_WATCH_EVENT;
+    rsp->req_id = 0;
+    rsp->tx_id = 0;
+    rsp->len = 0;
+
+    len = strlen(path);
+
+    /* XENSTORE_ABS/REL_PATH_MAX should ensure there can be no overflow */
+    assert(rsp->len + len < XENSTORE_PAYLOAD_MAX);
+
+    memcpy(&rsp_data[rsp->len], path, len);
+    rsp->len += len;
+    rsp_data[rsp->len] = '\0';
+    rsp->len++;
+
+    len = strlen(token);
+    /*
+     * It is possible for the guest to have chosen a token that will
+     * not fit (along with the patch) into a watch event. We have no
+     * choice but to drop the event if this is the case.
+     */
+    if (rsp->len + len >= XENSTORE_PAYLOAD_MAX) {
+        return;
+    }
+
+    memcpy(&rsp_data[rsp->len], token, len);
+    rsp->len += len;
+    rsp_data[rsp->len] = '\0';
+    rsp->len++;
+
+    s->rsp_pending = true;
+}
+
+struct watch_event {
+    char *path;
+    char *token;
+};
+
+static void queue_watch(XenXenstoreState *s, const char *path,
+                        const char *token)
+{
+    struct watch_event *ev = g_new0(struct watch_event, 1);
+
+    ev->path = g_strdup(path);
+    ev->token = g_strdup(token);
+
+    s->watch_events = g_list_append(s->watch_events, ev);
+}
+
+static void fire_watch_cb(void *opaque, const char *path, const char *token)
+{
+    XenXenstoreState *s = opaque;
+
+    assert(qemu_mutex_iothread_locked());
+
+    /*
+     * If there's a response pending, we obviously can't scribble over
+     * it. But if there's a request pending, it has dibs on the buffer
+     * too.
+     *
+     * In the common case of a watch firing due to backend activity
+     * when the ring was otherwise idle, we should be able to copy the
+     * strings directly into the rsp_data and thence the actual ring,
+     * without needing to perform any allocations and queue them.
+     */
+    if (s->rsp_pending || req_pending(s)) {
+        queue_watch(s, path, 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.
+         */
+        xen_be_evtchn_notify(s->eh, s->be_port);
+    }
+}
+
+static void process_watch_events(XenXenstoreState *s)
+{
+    struct watch_event *ev = s->watch_events->data;
+
+    deliver_watch(s, ev->path, ev->token);
+
+    s->watch_events = g_list_remove(s->watch_events, ev);
+    g_free(ev->path);
+    g_free(ev->token);
+    g_free(ev);
+}
+
 static void xen_xenstore_event(void *opaque)
 {
     XenXenstoreState *s = opaque;
@@ -433,6 +1284,10 @@ static void xen_xenstore_event(void *opaque)
         copied_to = copied_from = 0;
         processed = false;
 
+        if (!s->rsp_pending && s->watch_events) {
+            process_watch_events(s);
+        }
+
         if (s->rsp_pending) {
             copied_to = put_rsp(s);
         }
@@ -441,7 +1296,7 @@ static void xen_xenstore_event(void *opaque)
             copied_from = get_req(s);
         }
 
-        if (req_pending(s) && !s->rsp_pending) {
+        if (req_pending(s) && !s->rsp_pending && !s->watch_events) {
             process_req(s);
             processed = true;
         }
diff --git a/hw/i386/kvm/xenstore_impl.c b/hw/i386/kvm/xenstore_impl.c
new file mode 100644
index 0000000000..31dbc98fe0
--- /dev/null
+++ b/hw/i386/kvm/xenstore_impl.c
@@ -0,0 +1,117 @@
+/*
+ * QEMU Xen emulation: The actual implementation of XenStore
+ *
+ * Copyright © 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Authors: David Woodhouse <dwmw2@infradead.org>, Paul Durrant <paul@xen.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 "xen_xenstore.h"
+#include "xenstore_impl.h"
+
+struct XenstoreImplState {
+};
+
+int xs_impl_read(XenstoreImplState *s, unsigned int dom_id,
+                 xs_transaction_t tx_id, const char *path, GByteArray *data)
+{
+    /*
+     * The data GByteArray shall exist, and will be freed by caller.
+     * Just g_byte_array_append() to it.
+     */
+    return ENOENT;
+}
+
+int xs_impl_write(XenstoreImplState *s, unsigned int dom_id,
+                  xs_transaction_t tx_id, const char *path, GByteArray *data)
+{
+    /*
+     * The data GByteArray shall exist, will be freed by caller. You are
+     * free to use g_byte_array_steal() and keep the data.
+     */
+    return ENOSYS;
+}
+
+int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path,
+                      uint64_t *gencnt, GList **items)
+{
+    /*
+     * The items are (char *) to be freed by caller. Although it's consumed
+     * immediately so if you want to change it to (const char *) and keep
+     * them, go ahead and change the caller.
+     */
+    return ENOENT;
+}
+
+int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
+                              xs_transaction_t *tx_id)
+{
+    return ENOSYS;
+}
+
+int xs_impl_transaction_end(XenstoreImplState *s, unsigned int dom_id,
+                            xs_transaction_t tx_id, bool commit)
+{
+    return ENOSYS;
+}
+
+int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
+               xs_transaction_t tx_id, const char *path)
+{
+    return ENOSYS;
+}
+
+int xs_impl_get_perms(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path, GList **perms)
+{
+    /*
+     * The perms are (char *) in the <perm-as-string> wire format to be
+     * freed by the caller.
+     */
+    return ENOSYS;
+}
+
+int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path, GList *perms)
+{
+    /*
+     * The perms are (const char *) in the <perm-as-string> wire format.
+     */
+    return ENOSYS;
+}
+
+int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
+                  const char *token, xs_impl_watch_fn fn, void *opaque)
+{
+    /*
+     * When calling the callback @fn, note that the path should
+     * precisely match the relative path that the guest provided, even
+     * if it was a relative path which needed to be prefixed with
+     * /local/domain/${domid}/
+     */
+    return ENOSYS;
+}
+
+int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
+                    const char *path, const char *token,
+                    xs_impl_watch_fn fn, void *opaque)
+{
+    /* Remove the watch that matches all four criteria */
+    return ENOSYS;
+}
+
+int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id)
+{
+    return ENOSYS;
+}
+
+XenstoreImplState *xs_impl_create(void)
+{
+    return g_new0(XenstoreImplState, 1);
+}
diff --git a/hw/i386/kvm/xenstore_impl.h b/hw/i386/kvm/xenstore_impl.h
new file mode 100644
index 0000000000..beb7b29ab8
--- /dev/null
+++ b/hw/i386/kvm/xenstore_impl.h
@@ -0,0 +1,58 @@
+/*
+ * QEMU Xen emulation: The actual implementation of XenStore
+ *
+ * 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_XENSTORE_IMPL_H
+#define QEMU_XENSTORE_IMPL_H
+
+typedef uint32_t xs_transaction_t;
+
+#define XBT_NULL 0
+
+typedef struct XenstoreImplState XenstoreImplState;
+
+XenstoreImplState *xs_impl_create(void);
+
+/*
+ * These functions return *positive* error numbers. This is a little
+ * unconventional but it helps to keep us honest because there is
+ * also a very limited set of error numbers that they are permitted
+ * to return (those in xsd_errors).
+ */
+
+int xs_impl_read(XenstoreImplState *s, unsigned int dom_id,
+                 xs_transaction_t tx_id, const char *path, GByteArray *data);
+int xs_impl_write(XenstoreImplState *s, unsigned int dom_id,
+                  xs_transaction_t tx_id, const char *path, GByteArray *data);
+int xs_impl_directory(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path,
+                      uint64_t *gencnt, GList **items);
+int xs_impl_transaction_start(XenstoreImplState *s, unsigned int dom_id,
+                              xs_transaction_t *tx_id);
+int xs_impl_transaction_end(XenstoreImplState *s, unsigned int dom_id,
+                            xs_transaction_t tx_id, bool commit);
+int xs_impl_rm(XenstoreImplState *s, unsigned int dom_id,
+               xs_transaction_t tx_id, const char *path);
+int xs_impl_get_perms(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path, GList **perms);
+int xs_impl_set_perms(XenstoreImplState *s, unsigned int dom_id,
+                      xs_transaction_t tx_id, const char *path, GList *perms);
+
+/* This differs from xs_watch_fn because it has the token */
+typedef void(xs_impl_watch_fn)(void *opaque, const char *path,
+                               const char *token);
+int xs_impl_watch(XenstoreImplState *s, unsigned int dom_id, const char *path,
+                  const char *token, xs_impl_watch_fn fn, void *opaque);
+int xs_impl_unwatch(XenstoreImplState *s, unsigned int dom_id,
+                    const char *path, const char *token, xs_impl_watch_fn fn,
+                    void *opaque);
+int xs_impl_reset_watches(XenstoreImplState *s, unsigned int dom_id);
+
+#endif /* QEMU_XENSTORE_IMPL_H */
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:29:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:29:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507847.782029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc4C-0007WI-Mw; Tue, 07 Mar 2023 18:29:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507847.782029; Tue, 07 Mar 2023 18:29: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 1pZc4C-0007Vu-Iq; Tue, 07 Mar 2023 18:29:40 +0000
Received: by outflank-mailman (input) for mailman id 507847;
 Tue, 07 Mar 2023 18:29: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc2f-0002MP-96
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:28: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 cb786c08-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:28:02 +0100 (CET)
Received: from [2001:8b0:10b:5:640c:634b:db90:9c87]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc2b-006dmP-1Z; Tue, 07 Mar 2023 18: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: cb786c08-bd15-11ed-a550-8520e6686977
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=xBoLJuspkURnfw0M8x/cNsoAf1tSWjmvJ7KUtni5tN4=; b=JKzwzAH9NosCLRgrWKAl3hDoqN
	51hWuzVP8+yIaPpfJkkfaREQ6WxZ7R41EXqPzii7VlopooWOxRWeVRBnV18gQwbUKNLRB6bG8ZAtm
	1Q1yRqLQ0+aestDDvCeIseiz3b5Q+4qQyWwMOq+R5gQ7RXIeVyavqZXmuUZO11gxNybXc9GESQBqW
	bV43sWT/CuFtAw9If2WM2TqjEteQFTJV0A8ZopI7MVnjksAafcDckyjcAtlCTCWkSX/quR6AnhVUg
	hvkoy3brG2zI2dwcOyIRE2GZv3nLrNZi8gAWFDa+AlhSTdsaknBiBGIMaMpVh86JQaGHl6vxy6k64
	UZVVj1jg==;
Message-ID: <151b96ce831d276b4c6ce093c450cacf362aa1cb.camel@infradead.org>
Subject: Re: [PATCH v2 00/27] Enable PV backends with Xen/KVM emulation
From: David Woodhouse <dwmw2@infradead.org>
To: paul@xen.org, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>, Joao Martins
 <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Juan Quintela <quintela@redhat.com>, "Dr .
 David Alan Gilbert" <dgilbert@redhat.com>, Peter Maydell
 <peter.maydell@linaro.org>
Date: Tue, 07 Mar 2023 18:27:59 +0000
In-Reply-To: <007876ac-9f68-756b-3f86-db2f67886558@xen.org>
References: <20230307171750.2293175-1-dwmw2@infradead.org>
	 <007876ac-9f68-756b-3f86-db2f67886558@xen.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-yZoybcGqW9vsWrHzMQfw"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Tue, 2023-03-07 at 17:57 +0000, Paul Durrant wrote:
> I think the series is good to go now so time to send a PR.

Done, thank you!

--=-yZoybcGqW9vsWrHzMQfw
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MTgyODAwWjAvBgkqhkiG9w0BCQQxIgQgdI0MJ4KP
VO2CMs0NFciJNgNYKf19XMZFl+Tj9PaUA7Ywgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAz2IaWbGmxg/wB+Wdt0qGctqyvDB7qo1Zs
23TSysGJwk7xMl49ACF2BuKB0H16BoedLKhVfEOCLGNKAygskfEXjelWXymySBcJNyJZGhKRqqVm
c6iXz6lY+vpG8MHKAkUsLfLrJgBgUWV4Sq8pYSd6vBxQkpO/8FyRo1GtM5FH6zTSekx4zA0UDt9s
PETPclT7s+wC6WIfvwWbY2ECT8vnBhW+DvztPa686hBJfxF8RwGifJ26wO8SgNhdJAr6SwLoWiUN
DWWIFrFYQqQpPMBWiX/3BQ9AqGSyfE1FZYNzB0u2ea7Fq7+FixmvayGYITDSMs+O4uhLWVGYnSyo
VpOAaYAwPznzgYLNCdwVGSmUnzUGRq2dVPlc0ytMHrXHSP9HGKJZa9OJyZbZpOeKTTP7SpdPLLug
LzQ30pyJYzs2IYk9E8t6MomZoH+H8kMI+4YPazntPP2+w5RvpEksHExNTsqtv7xrkpGUf02HSgCz
sOsh62tosfDQ1UbTV8ZfRUaOExqNh6DAFX5OkOb6tIMChJLI4dq5VfFQSW/4kIsKEa2vklkvtN19
wv8qxO0Yxn9LAz/L9YnlmNrpk5Ln+3TnG1TMxtvnt2GnJO7bPsTLK0sqbLWK0wZg/kNpTFHsfQj+
FlFtW6nIjs/CDPjMZn+aIpnSAYabJEU+roZGgkRX3gAAAAAAAA==


--=-yZoybcGqW9vsWrHzMQfw--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 18:29:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 18:29:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507854.782038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc4H-0008Aa-49; Tue, 07 Mar 2023 18:29:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507854.782038; Tue, 07 Mar 2023 18:29:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZc4G-00089q-Vt; Tue, 07 Mar 2023 18:29:44 +0000
Received: by outflank-mailman (input) for mailman id 507854;
 Tue, 07 Mar 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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZc29-0002MP-7Q
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 18:27:33 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b450af81-bd15-11ed-a550-8520e6686977;
 Tue, 07 Mar 2023 19:27:23 +0100 (CET)
Received: from i7.infradead.org ([2001:8b0:10b:1:21e:67ff:fecb:7a92])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZc1n-006deC-Bg; Tue, 07 Mar 2023 18:27:11 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1pZc1n-009e8h-0y; Tue, 07 Mar 2023 18: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
X-Inumbo-ID: b450af81-bd15-11ed-a550-8520e6686977
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=NmTq7xdswHQSe29JrCR0/eIaXBdiuGrCFOBx7jmSa9Y=; b=G5SUOmko1fipL6SDB2hu4ruoGS
	eW+Z8a2i4uMjcVHutfcbZBhulMuTBg2xj9mzOtwBLqAYYQVsmRhUPZgA6Nqm0vVvXGujfwEB0ycAf
	xR6+Bv1PKODyup3HH+4ZtQFr6PTKtAbDjiElsV4NeIOoyU4VaCXSLwk8JJ9P91GVywFguHdalmefi
	A/tHH4qSAlmWCdasOv7ocYXRlowDFuWxjqqMBMGUrMtBXCHqnNYF6OSLbX/AoyWECJCThLZD97NLL
	QdPN3dKR8s+VZofQYjpr8NJFrnW9f7n7nGvBawhggne6nZqV9Ipn4bfzz5hPrEPrIVRDU9C/7L+c1
	sShbyWUw==;
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Joao Martins <joao.m.martins@oracle.com>,
	Ankur Arora <ankur.a.arora@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	vikram.garhwal@amd.com,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Juan Quintela <quintela@redhat.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: [PULL 09/27] hw/xen: Add evtchn operations to allow redirection to internal emulation
Date: Tue,  7 Mar 2023 18:26:49 +0000
Message-Id: <20230307182707.2298618-10-dwmw2@infradead.org>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
References: <20230307182707.2298618-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 existing implementation calling into the real libxenevtchn moves to
a new file hw/xen/xen-operations.c, and is called via a function table
which in a subsequent commit will also be able to invoke the emulated
event channel support.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/9pfs/xen-9p-backend.c            |  24 +++---
 hw/i386/xen/xen-hvm.c               |  27 ++++---
 hw/xen/meson.build                  |   1 +
 hw/xen/xen-bus.c                    |  22 +++---
 hw/xen/xen-legacy-backend.c         |   8 +-
 hw/xen/xen-operations.c             |  71 +++++++++++++++++
 hw/xen/xen_pvdev.c                  |  12 +--
 include/hw/xen/xen-bus.h            |   1 +
 include/hw/xen/xen-legacy-backend.h |   1 +
 include/hw/xen/xen_backend_ops.h    | 118 ++++++++++++++++++++++++++++
 include/hw/xen/xen_common.h         |  12 ---
 include/hw/xen/xen_pvdev.h          |   1 +
 softmmu/globals.c                   |   1 +
 13 files changed, 242 insertions(+), 57 deletions(-)
 create mode 100644 hw/xen/xen-operations.c
 create mode 100644 include/hw/xen/xen_backend_ops.h

diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
index 65c4979c3c..864bdaf952 100644
--- a/hw/9pfs/xen-9p-backend.c
+++ b/hw/9pfs/xen-9p-backend.c
@@ -241,7 +241,7 @@ static void xen_9pfs_push_and_notify(V9fsPDU *pdu)
     xen_wmb();
 
     ring->inprogress = false;
-    xenevtchn_notify(ring->evtchndev, ring->local_port);
+    qemu_xen_evtchn_notify(ring->evtchndev, ring->local_port);
 
     qemu_bh_schedule(ring->bh);
 }
@@ -324,8 +324,8 @@ static void xen_9pfs_evtchn_event(void *opaque)
     Xen9pfsRing *ring = opaque;
     evtchn_port_t port;
 
-    port = xenevtchn_pending(ring->evtchndev);
-    xenevtchn_unmask(ring->evtchndev, port);
+    port = qemu_xen_evtchn_pending(ring->evtchndev);
+    qemu_xen_evtchn_unmask(ring->evtchndev, port);
 
     qemu_bh_schedule(ring->bh);
 }
@@ -337,10 +337,10 @@ static void xen_9pfs_disconnect(struct XenLegacyDevice *xendev)
 
     for (i = 0; i < xen_9pdev->num_rings; i++) {
         if (xen_9pdev->rings[i].evtchndev != NULL) {
-            qemu_set_fd_handler(xenevtchn_fd(xen_9pdev->rings[i].evtchndev),
-                    NULL, NULL, NULL);
-            xenevtchn_unbind(xen_9pdev->rings[i].evtchndev,
-                             xen_9pdev->rings[i].local_port);
+            qemu_set_fd_handler(qemu_xen_evtchn_fd(xen_9pdev->rings[i].evtchndev),
+                                NULL, NULL, NULL);
+            qemu_xen_evtchn_unbind(xen_9pdev->rings[i].evtchndev,
+                                   xen_9pdev->rings[i].local_port);
             xen_9pdev->rings[i].evtchndev = NULL;
         }
     }
@@ -447,12 +447,12 @@ static int xen_9pfs_connect(struct XenLegacyDevice *xendev)
         xen_9pdev->rings[i].inprogress = false;
 
 
-        xen_9pdev->rings[i].evtchndev = xenevtchn_open(NULL, 0);
+        xen_9pdev->rings[i].evtchndev = qemu_xen_evtchn_open();
         if (xen_9pdev->rings[i].evtchndev == NULL) {
             goto out;
         }
-        qemu_set_cloexec(xenevtchn_fd(xen_9pdev->rings[i].evtchndev));
-        xen_9pdev->rings[i].local_port = xenevtchn_bind_interdomain
+        qemu_set_cloexec(qemu_xen_evtchn_fd(xen_9pdev->rings[i].evtchndev));
+        xen_9pdev->rings[i].local_port = qemu_xen_evtchn_bind_interdomain
                                             (xen_9pdev->rings[i].evtchndev,
                                              xendev->dom,
                                              xen_9pdev->rings[i].evtchn);
@@ -463,8 +463,8 @@ static int xen_9pfs_connect(struct XenLegacyDevice *xendev)
             goto out;
         }
         xen_pv_printf(xendev, 2, "bind evtchn port %d\n", xendev->local_port);
-        qemu_set_fd_handler(xenevtchn_fd(xen_9pdev->rings[i].evtchndev),
-                xen_9pfs_evtchn_event, NULL, &xen_9pdev->rings[i]);
+        qemu_set_fd_handler(qemu_xen_evtchn_fd(xen_9pdev->rings[i].evtchndev),
+                            xen_9pfs_evtchn_event, NULL, &xen_9pdev->rings[i]);
     }
 
     xen_9pdev->security_model = xenstore_read_be_str(xendev, "security_model");
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index e5a1dd19f4..cb1d24f592 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -761,7 +761,7 @@ static ioreq_t *cpu_get_ioreq(XenIOState *state)
     int i;
     evtchn_port_t port;
 
-    port = xenevtchn_pending(state->xce_handle);
+    port = qemu_xen_evtchn_pending(state->xce_handle);
     if (port == state->bufioreq_local_port) {
         timer_mod(state->buffered_io_timer,
                 BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
@@ -780,7 +780,7 @@ static ioreq_t *cpu_get_ioreq(XenIOState *state)
         }
 
         /* unmask the wanted port again */
-        xenevtchn_unmask(state->xce_handle, port);
+        qemu_xen_evtchn_unmask(state->xce_handle, port);
 
         /* get the io packet from shared memory */
         state->send_vcpu = i;
@@ -1147,7 +1147,7 @@ static void handle_buffered_io(void *opaque)
                 BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME));
     } else {
         timer_del(state->buffered_io_timer);
-        xenevtchn_unmask(state->xce_handle, state->bufioreq_local_port);
+        qemu_xen_evtchn_unmask(state->xce_handle, state->bufioreq_local_port);
     }
 }
 
@@ -1196,8 +1196,8 @@ static void cpu_handle_ioreq(void *opaque)
         }
 
         req->state = STATE_IORESP_READY;
-        xenevtchn_notify(state->xce_handle,
-                         state->ioreq_local_port[state->send_vcpu]);
+        qemu_xen_evtchn_notify(state->xce_handle,
+                               state->ioreq_local_port[state->send_vcpu]);
     }
 }
 
@@ -1206,7 +1206,7 @@ static void xen_main_loop_prepare(XenIOState *state)
     int evtchn_fd = -1;
 
     if (state->xce_handle != NULL) {
-        evtchn_fd = xenevtchn_fd(state->xce_handle);
+        evtchn_fd = qemu_xen_evtchn_fd(state->xce_handle);
     }
 
     state->buffered_io_timer = timer_new_ms(QEMU_CLOCK_REALTIME, handle_buffered_io,
@@ -1249,7 +1249,7 @@ static void xen_exit_notifier(Notifier *n, void *data)
         xenforeignmemory_unmap_resource(xen_fmem, state->fres);
     }
 
-    xenevtchn_close(state->xce_handle);
+    qemu_xen_evtchn_close(state->xce_handle);
     xs_daemon_close(state->xenstore);
 }
 
@@ -1397,9 +1397,11 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
     xen_pfn_t ioreq_pfn;
     XenIOState *state;
 
+    setup_xen_backend_ops();
+
     state = g_new0(XenIOState, 1);
 
-    state->xce_handle = xenevtchn_open(NULL, 0);
+    state->xce_handle = qemu_xen_evtchn_open();
     if (state->xce_handle == NULL) {
         perror("xen: event channel open");
         goto err;
@@ -1463,8 +1465,9 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
 
     /* FIXME: how about if we overflow the page here? */
     for (i = 0; i < max_cpus; i++) {
-        rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid,
-                                        xen_vcpu_eport(state->shared_page, i));
+        rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
+                                              xen_vcpu_eport(state->shared_page,
+                                                             i));
         if (rc == -1) {
             error_report("shared evtchn %d bind error %d", i, errno);
             goto err;
@@ -1472,8 +1475,8 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
         state->ioreq_local_port[i] = rc;
     }
 
-    rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid,
-                                    state->bufioreq_remote_port);
+    rc = qemu_xen_evtchn_bind_interdomain(state->xce_handle, xen_domid,
+                                          state->bufioreq_remote_port);
     if (rc == -1) {
         error_report("buffered evtchn bind error %d", errno);
         goto err;
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index ae0ace3046..f195bbd25c 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -5,6 +5,7 @@ softmmu_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
   'xen-legacy-backend.c',
   'xen_devconfig.c',
   'xen_pvdev.c',
+  'xen-operations.c',
 ))
 
 xen_specific_ss = ss.source_set()
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index df3f6b9ae0..d0b1ae93da 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -1095,12 +1095,12 @@ static bool xen_device_poll(void *opaque)
 static void xen_device_event(void *opaque)
 {
     XenEventChannel *channel = opaque;
-    unsigned long port = xenevtchn_pending(channel->xeh);
+    unsigned long port = qemu_xen_evtchn_pending(channel->xeh);
 
     if (port == channel->local_port) {
         xen_device_poll(channel);
 
-        xenevtchn_unmask(channel->xeh, port);
+        qemu_xen_evtchn_unmask(channel->xeh, port);
     }
 }
 
@@ -1115,11 +1115,11 @@ void xen_device_set_event_channel_context(XenDevice *xendev,
     }
 
     if (channel->ctx)
-        aio_set_fd_handler(channel->ctx, xenevtchn_fd(channel->xeh), true,
+        aio_set_fd_handler(channel->ctx, qemu_xen_evtchn_fd(channel->xeh), true,
                            NULL, NULL, NULL, NULL, NULL);
 
     channel->ctx = ctx;
-    aio_set_fd_handler(channel->ctx, xenevtchn_fd(channel->xeh), true,
+    aio_set_fd_handler(channel->ctx, qemu_xen_evtchn_fd(channel->xeh), true,
                        xen_device_event, NULL, xen_device_poll, NULL, channel);
 }
 
@@ -1131,13 +1131,13 @@ XenEventChannel *xen_device_bind_event_channel(XenDevice *xendev,
     XenEventChannel *channel = g_new0(XenEventChannel, 1);
     xenevtchn_port_or_error_t local_port;
 
-    channel->xeh = xenevtchn_open(NULL, 0);
+    channel->xeh = qemu_xen_evtchn_open();
     if (!channel->xeh) {
         error_setg_errno(errp, errno, "failed xenevtchn_open");
         goto fail;
     }
 
-    local_port = xenevtchn_bind_interdomain(channel->xeh,
+    local_port = qemu_xen_evtchn_bind_interdomain(channel->xeh,
                                             xendev->frontend_id,
                                             port);
     if (local_port < 0) {
@@ -1160,7 +1160,7 @@ XenEventChannel *xen_device_bind_event_channel(XenDevice *xendev,
 
 fail:
     if (channel->xeh) {
-        xenevtchn_close(channel->xeh);
+        qemu_xen_evtchn_close(channel->xeh);
     }
 
     g_free(channel);
@@ -1177,7 +1177,7 @@ void xen_device_notify_event_channel(XenDevice *xendev,
         return;
     }
 
-    if (xenevtchn_notify(channel->xeh, channel->local_port) < 0) {
+    if (qemu_xen_evtchn_notify(channel->xeh, channel->local_port) < 0) {
         error_setg_errno(errp, errno, "xenevtchn_notify failed");
     }
 }
@@ -1193,14 +1193,14 @@ void xen_device_unbind_event_channel(XenDevice *xendev,
 
     QLIST_REMOVE(channel, list);
 
-    aio_set_fd_handler(channel->ctx, xenevtchn_fd(channel->xeh), true,
+    aio_set_fd_handler(channel->ctx, qemu_xen_evtchn_fd(channel->xeh), true,
                        NULL, NULL, NULL, NULL, NULL);
 
-    if (xenevtchn_unbind(channel->xeh, channel->local_port) < 0) {
+    if (qemu_xen_evtchn_unbind(channel->xeh, channel->local_port) < 0) {
         error_setg_errno(errp, errno, "xenevtchn_unbind failed");
     }
 
-    xenevtchn_close(channel->xeh);
+    qemu_xen_evtchn_close(channel->xeh);
     g_free(channel);
 }
 
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index afba71f6eb..9ce3dc204b 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -294,13 +294,13 @@ static struct XenLegacyDevice *xen_be_get_xendev(const char *type, int dom,
     xendev->debug      = debug;
     xendev->local_port = -1;
 
-    xendev->evtchndev = xenevtchn_open(NULL, 0);
+    xendev->evtchndev = qemu_xen_evtchn_open();
     if (xendev->evtchndev == NULL) {
         xen_pv_printf(NULL, 0, "can't open evtchn device\n");
         qdev_unplug(DEVICE(xendev), NULL);
         return NULL;
     }
-    qemu_set_cloexec(xenevtchn_fd(xendev->evtchndev));
+    qemu_set_cloexec(qemu_xen_evtchn_fd(xendev->evtchndev));
 
     xen_pv_insert_xendev(xendev);
 
@@ -751,14 +751,14 @@ int xen_be_bind_evtchn(struct XenLegacyDevice *xendev)
     if (xendev->local_port != -1) {
         return 0;
     }
-    xendev->local_port = xenevtchn_bind_interdomain
+    xendev->local_port = qemu_xen_evtchn_bind_interdomain
         (xendev->evtchndev, xendev->dom, xendev->remote_port);
     if (xendev->local_port == -1) {
         xen_pv_printf(xendev, 0, "xenevtchn_bind_interdomain failed\n");
         return -1;
     }
     xen_pv_printf(xendev, 2, "bind evtchn port %d\n", xendev->local_port);
-    qemu_set_fd_handler(xenevtchn_fd(xendev->evtchndev),
+    qemu_set_fd_handler(qemu_xen_evtchn_fd(xendev->evtchndev),
                         xen_pv_evtchn_event, NULL, xendev);
     return 0;
 }
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
new file mode 100644
index 0000000000..1a959d89e8
--- /dev/null
+++ b/hw/xen/xen-operations.c
@@ -0,0 +1,71 @@
+/*
+ * QEMU Xen backend support: Operations for true Xen
+ *
+ * Copyright © 2022 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/xen/xen_backend_ops.h"
+#include "hw/xen/xen_common.h"
+
+/*
+ * If we have new enough libxenctrl then we do not want/need these compat
+ * interfaces, despite what the user supplied cflags might say. They
+ * must be undefined before including xenctrl.h
+ */
+#undef XC_WANT_COMPAT_EVTCHN_API
+
+#include <xenctrl.h>
+
+/*
+ * We don't support Xen prior to 4.2.0.
+ */
+
+/* Xen 4.2 through 4.6 */
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40701
+
+typedef xc_evtchn xenevtchn_handle;
+typedef evtchn_port_or_error_t xenevtchn_port_or_error_t;
+
+#define xenevtchn_open(l, f) xc_evtchn_open(l, f);
+#define xenevtchn_close(h) xc_evtchn_close(h)
+#define xenevtchn_fd(h) xc_evtchn_fd(h)
+#define xenevtchn_pending(h) xc_evtchn_pending(h)
+#define xenevtchn_notify(h, p) xc_evtchn_notify(h, p)
+#define xenevtchn_bind_interdomain(h, d, p) xc_evtchn_bind_interdomain(h, d, p)
+#define xenevtchn_unmask(h, p) xc_evtchn_unmask(h, p)
+#define xenevtchn_unbind(h, p) xc_evtchn_unbind(h, p)
+
+#else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
+
+#include <xenevtchn.h>
+
+#endif
+
+static xenevtchn_handle *libxenevtchn_backend_open(void)
+{
+    return xenevtchn_open(NULL, 0);
+}
+
+struct evtchn_backend_ops libxenevtchn_backend_ops = {
+    .open = libxenevtchn_backend_open,
+    .close = xenevtchn_close,
+    .bind_interdomain = xenevtchn_bind_interdomain,
+    .unbind = xenevtchn_unbind,
+    .get_fd = xenevtchn_fd,
+    .notify = xenevtchn_notify,
+    .unmask = xenevtchn_unmask,
+    .pending = xenevtchn_pending,
+};
+
+void setup_xen_backend_ops(void)
+{
+    xen_evtchn_ops = &libxenevtchn_backend_ops;
+}
diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
index 1a5177b354..86a2c8e567 100644
--- a/hw/xen/xen_pvdev.c
+++ b/hw/xen/xen_pvdev.c
@@ -238,14 +238,14 @@ void xen_pv_evtchn_event(void *opaque)
     struct XenLegacyDevice *xendev = opaque;
     evtchn_port_t port;
 
-    port = xenevtchn_pending(xendev->evtchndev);
+    port = qemu_xen_evtchn_pending(xendev->evtchndev);
     if (port != xendev->local_port) {
         xen_pv_printf(xendev, 0,
                       "xenevtchn_pending returned %d (expected %d)\n",
                       port, xendev->local_port);
         return;
     }
-    xenevtchn_unmask(xendev->evtchndev, port);
+    qemu_xen_evtchn_unmask(xendev->evtchndev, port);
 
     if (xendev->ops->event) {
         xendev->ops->event(xendev);
@@ -257,15 +257,15 @@ void xen_pv_unbind_evtchn(struct XenLegacyDevice *xendev)
     if (xendev->local_port == -1) {
         return;
     }
-    qemu_set_fd_handler(xenevtchn_fd(xendev->evtchndev), NULL, NULL, NULL);
-    xenevtchn_unbind(xendev->evtchndev, xendev->local_port);
+    qemu_set_fd_handler(qemu_xen_evtchn_fd(xendev->evtchndev), NULL, NULL, NULL);
+    qemu_xen_evtchn_unbind(xendev->evtchndev, xendev->local_port);
     xen_pv_printf(xendev, 2, "unbind evtchn port %d\n", xendev->local_port);
     xendev->local_port = -1;
 }
 
 int xen_pv_send_notify(struct XenLegacyDevice *xendev)
 {
-    return xenevtchn_notify(xendev->evtchndev, xendev->local_port);
+    return qemu_xen_evtchn_notify(xendev->evtchndev, xendev->local_port);
 }
 
 /* ------------------------------------------------------------- */
@@ -306,7 +306,7 @@ void xen_pv_del_xendev(struct XenLegacyDevice *xendev)
     }
 
     if (xendev->evtchndev != NULL) {
-        xenevtchn_close(xendev->evtchndev);
+        qemu_xen_evtchn_close(xendev->evtchndev);
     }
     if (xendev->gnttabdev != NULL) {
         xengnttab_close(xendev->gnttabdev);
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 4d966a2dbb..e21b83796e 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -8,6 +8,7 @@
 #ifndef HW_XEN_BUS_H
 #define HW_XEN_BUS_H
 
+#include "hw/xen/xen_backend_ops.h"
 #include "hw/xen/xen_common.h"
 #include "hw/sysbus.h"
 #include "qemu/notify.h"
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index e31cd3a068..06985b1f03 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -2,6 +2,7 @@
 #define HW_XEN_LEGACY_BACKEND_H
 
 #include "hw/xen/xen_common.h"
+#include "hw/xen/xen_backend_ops.h"
 #include "hw/xen/xen_pvdev.h"
 #include "net/net.h"
 #include "qom/object.h"
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
new file mode 100644
index 0000000000..9605456e81
--- /dev/null
+++ b/include/hw/xen/xen_backend_ops.h
@@ -0,0 +1,118 @@
+/*
+ * QEMU Xen backend support
+ *
+ * Copyright © 2022 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_BACKEND_OPS_H
+#define QEMU_XEN_BACKEND_OPS_H
+
+/*
+ * For the time being, these operations map fairly closely to the API of
+ * the actual Xen libraries, e.g. libxenevtchn. As we complete the migration
+ * from XenLegacyDevice back ends to the new XenDevice model, they may
+ * evolve to slightly higher-level APIs.
+ *
+ * The internal emulations do not emulate the Xen APIs entirely faithfully;
+ * only enough to be used by the Xen backend devices. For example, only one
+ * event channel can be bound to each handle, since that's sufficient for
+ * the device support (only the true Xen HVM backend uses more). And the
+ * behaviour of unmask() and pending() is different too because the device
+ * backends don't care.
+ */
+
+typedef struct xenevtchn_handle xenevtchn_handle;
+typedef int xenevtchn_port_or_error_t;
+typedef uint32_t evtchn_port_t;
+
+struct evtchn_backend_ops {
+    xenevtchn_handle *(*open)(void);
+    int (*bind_interdomain)(xenevtchn_handle *xc, uint32_t domid,
+                            evtchn_port_t guest_port);
+    int (*unbind)(xenevtchn_handle *xc, evtchn_port_t port);
+    int (*close)(struct xenevtchn_handle *xc);
+    int (*get_fd)(struct xenevtchn_handle *xc);
+    int (*notify)(struct xenevtchn_handle *xc, evtchn_port_t port);
+    int (*unmask)(struct xenevtchn_handle *xc, evtchn_port_t port);
+    int (*pending)(struct xenevtchn_handle *xc);
+};
+
+extern struct evtchn_backend_ops *xen_evtchn_ops;
+
+static inline xenevtchn_handle *qemu_xen_evtchn_open(void)
+{
+    if (!xen_evtchn_ops) {
+        return NULL;
+    }
+    return xen_evtchn_ops->open();
+}
+
+static inline int qemu_xen_evtchn_bind_interdomain(xenevtchn_handle *xc,
+                                                   uint32_t domid,
+                                                   evtchn_port_t guest_port)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->bind_interdomain(xc, domid, guest_port);
+}
+
+static inline int qemu_xen_evtchn_unbind(xenevtchn_handle *xc,
+                                         evtchn_port_t port)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->unbind(xc, port);
+}
+
+static inline int qemu_xen_evtchn_close(xenevtchn_handle *xc)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->close(xc);
+}
+
+static inline int qemu_xen_evtchn_fd(xenevtchn_handle *xc)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->get_fd(xc);
+}
+
+static inline int qemu_xen_evtchn_notify(xenevtchn_handle *xc,
+                                         evtchn_port_t port)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->notify(xc, port);
+}
+
+static inline int qemu_xen_evtchn_unmask(xenevtchn_handle *xc,
+                                         evtchn_port_t port)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->unmask(xc, port);
+}
+
+static inline int qemu_xen_evtchn_pending(xenevtchn_handle *xc)
+{
+    if (!xen_evtchn_ops) {
+        return -ENOSYS;
+    }
+    return xen_evtchn_ops->pending(xc);
+}
+
+void setup_xen_backend_ops(void);
+
+#endif /* QEMU_XEN_BACKEND_OPS_H */
diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h
index 9a13a756ae..34abd0a772 100644
--- a/include/hw/xen/xen_common.h
+++ b/include/hw/xen/xen_common.h
@@ -28,18 +28,7 @@ extern xc_interface *xen_xc;
 #if CONFIG_XEN_CTRL_INTERFACE_VERSION < 40701
 
 typedef xc_interface xenforeignmemory_handle;
-typedef xc_evtchn xenevtchn_handle;
 typedef xc_gnttab xengnttab_handle;
-typedef evtchn_port_or_error_t xenevtchn_port_or_error_t;
-
-#define xenevtchn_open(l, f) xc_evtchn_open(l, f);
-#define xenevtchn_close(h) xc_evtchn_close(h)
-#define xenevtchn_fd(h) xc_evtchn_fd(h)
-#define xenevtchn_pending(h) xc_evtchn_pending(h)
-#define xenevtchn_notify(h, p) xc_evtchn_notify(h, p)
-#define xenevtchn_bind_interdomain(h, d, p) xc_evtchn_bind_interdomain(h, d, p)
-#define xenevtchn_unmask(h, p) xc_evtchn_unmask(h, p)
-#define xenevtchn_unbind(h, p) xc_evtchn_unbind(h, p)
 
 #define xengnttab_open(l, f) xc_gnttab_open(l, f)
 #define xengnttab_close(h) xc_gnttab_close(h)
@@ -69,7 +58,6 @@ static inline void *xenforeignmemory_map(xc_interface *h, uint32_t dom,
 
 #else /* CONFIG_XEN_CTRL_INTERFACE_VERSION >= 40701 */
 
-#include <xenevtchn.h>
 #include <xengnttab.h>
 #include <xenforeignmemory.h>
 
diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h
index 7cd4bc2b82..9c27b14764 100644
--- a/include/hw/xen/xen_pvdev.h
+++ b/include/hw/xen/xen_pvdev.h
@@ -1,6 +1,7 @@
 #ifndef QEMU_HW_XEN_PVDEV_H
 #define QEMU_HW_XEN_PVDEV_H
 
+#include "hw/xen/xen_backend_ops.h"
 #include "hw/xen/xen_common.h"
 /* ------------------------------------------------------------- */
 
diff --git a/softmmu/globals.c b/softmmu/globals.c
index 0a4405614e..eb62739be1 100644
--- a/softmmu/globals.c
+++ b/softmmu/globals.c
@@ -65,3 +65,4 @@ bool qemu_uuid_set;
 uint32_t xen_domid;
 enum xen_mode xen_mode = XEN_DISABLED;
 bool xen_domid_restrict;
+struct evtchn_backend_ops *xen_evtchn_ops;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 19:55:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 19:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507888.782049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZdOe-00047a-E4; Tue, 07 Mar 2023 19:54:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507888.782049; Tue, 07 Mar 2023 19:54: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 1pZdOe-00047T-Ak; Tue, 07 Mar 2023 19:54:52 +0000
Received: by outflank-mailman (input) for mailman id 507888;
 Tue, 07 Mar 2023 19:54: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=Ob8o=67=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1pZdOc-00046p-RC
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 19:54:51 +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 eaee4c73-bd21-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 20:54:50 +0100 (CET)
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
 by PAXPR04MB9188.eurprd04.prod.outlook.com (2603:10a6:102:222::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 19:54:47 +0000
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487]) by VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487%4]) with mapi id 15.20.6156.029; Tue, 7 Mar 2023
 19:54: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: eaee4c73-bd21-11ed-96b5-2f268f93b82a
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EUY2AfQoEAaICmjnh/n9WFH5r9662UtxXmhCWrjCto/KBPv6bl6fyAiE5VJWRR6lDm1mk+DIvB/I8+PKK6vNQvRdzZ8xJ2/ncydtiMRm0YE9U2/ioi6Ti+PfAzgRNnLlFE3oR7kwD7nUjJGQpFL9jr2hP97W6MDNMVTCdKA/TMeC8t4+26pj0SaCxGmWuTUv5kPeSKevdPGcaxZxzQ/Zvm9ezLO8cMxKw3Zgu8Xky0h1AVwMVsEMhk/qrOGPeTxRFssRGtBm49XW6tNM+QcQy3Rnsaw7m6HZZoucabDuGAhBfA+ZdkjYr4I2MbAGWqpWqaTkBAX9/mJA5HylWlam8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Kc17WUrmS64784VF8GAKkn9ZAxdbN+DE1ElxJAybMRw=;
 b=WlHXxYnfPahY2+0SCe45gvTMAuaMyW3W+b27gcv9IzV40mwzTOf4M8HwxxOn8tS1GbCVO732ZBdCSpGIFtwWOrF45Hernkt5skYPHGhAYZluNJFHNZhihRx2xOxTu6wx2u9nRBJF7EQ6lJVRk5daVSkOcb12QJME6Q+8J3pTIMJecWySeT3SSDUTrZEB3Nzc+JwOB9hqn/KawqCX05zGicUkJGUEaEyj9U4zbupj1nmjHtLQjdqUXWKW3hip9suC1fIlqdPGwGOw3E05h3ShZjvzY4ovMB+dPaurfHjIHtvSWx9DywqFmJ+BqcnUCKqw4jI/SkJNgXvtmynaToyZqg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Kc17WUrmS64784VF8GAKkn9ZAxdbN+DE1ElxJAybMRw=;
 b=BrD9+u+PUBocwSxo6ro0xytgjmOcIUoJnuAdSw0uQIc85w7DtXicA+EsZu/BF1CEDWwBNJUJtY7rPVuTvAITfuS/u8/8l5J9dXHFXlplRyPp9Fd8fSMJZH9g765Sg5D/FWj5vnZgIClIUj0QtM4B0GUzgDJmLnwoSHPBcpci6Dk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Message-ID: <87f2a996-f3c0-bf74-8da3-c6ff861f797f@oss.nxp.com>
Date: Tue, 7 Mar 2023 21:54:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts
 by names
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Andrei Cherechesu <andrei.cherechesu@nxp.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr_Babchuk@epam.com, rahul.singh@arm.com
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
 <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
From: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
In-Reply-To: <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM0PR01CA0091.eurprd01.prod.exchangelabs.com
 (2603:10a6:208:10e::32) To VI1PR04MB5056.eurprd04.prod.outlook.com
 (2603:10a6:803:5a::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB5056:EE_|PAXPR04MB9188:EE_
X-MS-Office365-Filtering-Correlation-Id: 4e882d17-87fc-4e6d-3e86-08db1f45cd02
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zxG1V+6EDCKzXWp0frmluhkcDZNTEg6m56pMhhKbRnXbYAXlcf2SwLLClTPHW1pK1gf7OjMKpCN1xcsJnr/jz6EbeyGrmaNdBVSHGtQLblVcOjQCj1fN7SnkiRBSNhjoED/qveGkPl2oaTUqYAxv6+gdImJ4CEQf6nEMCWLPbZhdRLIAusYDHtlINmWdfKFRhlAxhjHvTWzkdovfzzGHhGBA5Wika5M6ae/R5peZuY5CccS7Onnm43CY4fjDSa2ifJt9hxQU9uJj4LGAFZC5WLVvULzX8GHIgu+nBts6T20WzuZkKyV3HgRPVVom6LdS+FTLj+p88S+cK7aHv5bQJVaXwPjeW/4deWyoRLfHfZgd5NOSZDLDzTSkZcOJJWsVaJ7PyJ2Ca+JMN1fjvvgymy9P7VrRYeCpyjEWW3EA5uzyegF0rh8GMIQY2LeL8KZBZ0RE/kMl9MRnwDwWWG/xwLFoXGVLE/d8yxtyjqkxtWUnJmUa3QCF1Gt0Lf7F4zuAPkYprVXKg/d47re2+vIGSO01zhy0CmdsFmTw+tnlNtXNpiIMhMY7p7BRr6H9wt3IHs8b93Czh6zDfghqnwM2/7uUpgVMEmkJ5OQZ0FVwSx2fDz+LxhdPV9CdG81evgMz54JvcxGPtwV7kZXPuoVnJ5GFz/POixvrtMVUW13KpREHGvbfb8RZY7xk16ZAmyTl38W7SfEFwDKqYHMuLPscg/7oXzQMhzlgV20ACoAw+Ik=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5056.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(366004)(396003)(136003)(39860400002)(451199018)(5660300002)(6512007)(186003)(26005)(8676002)(66556008)(66476007)(4326008)(66946007)(110136005)(966005)(6486002)(54906003)(31696002)(316002)(86362001)(6506007)(53546011)(41300700001)(55236004)(38100700002)(8936002)(478600001)(6666004)(83380400001)(2906002)(2616005)(31686004)(44832011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZXpmYXJBYWljK2x1dXRCL1RrUmRYeE9jZGw5dVN4UmJkSFE0bUw3TzlaS0N3?=
 =?utf-8?B?YVgrSUdGZTM1SnI3Skx2dXROSUk0T3A3SFpVOURXVHhVYUJ2TEgzUXJNLzhP?=
 =?utf-8?B?NVA5SWZ6OWpYTy90RlpZbHAzN3RxbEJVYzBxd3VaSGdlaWNYbE9hSzNhOU0v?=
 =?utf-8?B?NU5TOXd0Y0FTemVHRnBVUHZXNTVnZXFpUzZ0UTI0TUNOSDVQaDJmWWJTTnAv?=
 =?utf-8?B?MlkrSzNyakFDb0cwL2N5d2szTXQ1bXQ4WUdzWTRoMURRSUY4MFg0aGJ5cmVO?=
 =?utf-8?B?UmtsTTJHeFdOdC9JVkNUYnZFZzA2ZDZVbDNNTXVOYXJPODRaNXZMbU90cktY?=
 =?utf-8?B?V0lrRXI5L25aZ0JzTGlBanljeS9hVXgrQXpNV2dBdEFYbzBSbDlQUEoyUVdH?=
 =?utf-8?B?eDBHamR4YVpORnplUWJXc3l2bVVISy8zdVZROXJ6VEhUL1JGazZETUIzdmhj?=
 =?utf-8?B?Mk44TVVkOVhmcVVWQUs4WDhEZ2F6djZsNm1aT2c5UmcxYlZwcWxqQTBNV1Zy?=
 =?utf-8?B?b0xLcVRqNHdxYmpTaG9QbWUvMXVveEdRWWxLR25vcTk3RXJleDU2MzBZRXhQ?=
 =?utf-8?B?WU5LUWE5NlBMakNsa0ZSSWlMWmJtb0dyNEpuRUxsV3R5YWZJeUJndG93bFhY?=
 =?utf-8?B?dlYrbXJtcmk3c3FXOGVTUVBiUUNXejc3RnNhb0hJZlpJRUpRRndQMHEyN2Ez?=
 =?utf-8?B?d2R4TitUQ3MyejgrZ3AzZ2x3bDFBMnhMMTlnTTVrQWlPN3lXeWlqSUVJVmtU?=
 =?utf-8?B?MFp5bUlXNzg5cGcvSnhHSGJ3amNaVS9EbjVOcXZoemdZQ1pQR0dERzNkZ1FN?=
 =?utf-8?B?MWpWWWZVRWRJOHg5L3RNUW4wUEgweVlUZzN2MlJNZGxmakxRaGpxYzFzb2k1?=
 =?utf-8?B?UzMvTU5iN0YzbmtaR3FxYyt1c2NqSEZhWXZicFhKOU8wbEM4WEIydzA3QTlB?=
 =?utf-8?B?TnNPZzhKL2UwSWVDRm9ObHNReW9VMFpqSjlYKzZCaGdMTmRnL21waGZwSWU3?=
 =?utf-8?B?cWFVUWgybm1ZMjlTaTRQVTl4RHhYOTJSb1ZEenQ3TjRhNUNmUWtiMEUyU0Z2?=
 =?utf-8?B?cWdSRlJPZVhpU0NFakVvalkwZWh3cnlZeFAwUWRqVEF3MW9qaTNpRG5pd0ZP?=
 =?utf-8?B?WGlkOWlGVFNIMUV3UCtSYTZOQ0hDYTdrSmhEKy9zTnB5TVpUditYWWJQb2Zq?=
 =?utf-8?B?OGRRVVZydXBCcThrWWg1aFN3QnR2WHFCSmFSNUlWbUIwMGFYV0lnRkMySURp?=
 =?utf-8?B?N2svd25IaXpEMjR2MThxRys2UERDbDRmNXRHZmJ2M1dQRGxlODR3R0lYZ0JY?=
 =?utf-8?B?NitpUDRpYTIzSGg3ZUhJMkFnUmxEYW5iV2VINUQ2MVJoMXJyV245eEUwZkNP?=
 =?utf-8?B?YWZjcE5xbUp6V0VTNnMwZEtRZ2tGeUFGRWhMVHRUZGxEZmIxUC9IaU1MZk1M?=
 =?utf-8?B?UVpLczFOWXVNQkg5Z0lrTDV4TDQxdTh2clNlWHV2dVZNSjIwZTBWVG1NRkVk?=
 =?utf-8?B?dW9DNnVlTCtOTi9HUXBHazFwMWZkSlVpUmVhRXIxWXFGVDV2Y0dDRlh2OW5u?=
 =?utf-8?B?V21hNjdnSER5TXhQYnhHby8wVklLRmZrdVVlZzgweDBkclFGYWtYMHRGVW5V?=
 =?utf-8?B?a1JLdDR6aDN6emhKS0JDazlqSHpiMHF0Y0QyYmhGYVJ3NGhQKzRiN05LYm9R?=
 =?utf-8?B?WWVNcHRDUG1oeFNGQ3hZT0Q1V2VKUndHMGtndmhiT1ZYL01DS1BwZCt1WjJH?=
 =?utf-8?B?Q25KK0h5djZPVmNhcCs1MzZPRTJsQjZqOVQyYWtNVjdKZUo3R1lUTFFOck1n?=
 =?utf-8?B?T1F3dmhRdUgwNDJoVVpjMmpYQklGOTJ0NVdITmg4azEwMXJrcUx5Q3gwZURE?=
 =?utf-8?B?d3VGZncyUHh6MlRiRWpuNXBUaUhvSDBPYk1YNmpGcHhHTUtJeitwYjRXd2la?=
 =?utf-8?B?bnRiWW1reVdobUxwNm5MZmtLWkMxTVpqVXVIZE9BQ1BGeVVOb0pKUUMvZHhB?=
 =?utf-8?B?S0ZETzZrbGtscGRVMGtXbXE1VGRvVktRd2l4UmZxenpoV1hHbG1wbnMxZGZn?=
 =?utf-8?B?OVdNdzZGUTZBSm9ac1VHT3dCWTRGcm0xMkNXYVhvc0tJblNVK3N3YTgvWE12?=
 =?utf-8?B?QTVQUzVHM0NST05WSmcvMjhDS0VlZzBYMll6eHl2QnZPM2ZPUzgzck83Z2lq?=
 =?utf-8?B?K1E9PQ==?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e882d17-87fc-4e6d-3e86-08db1f45cd02
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5056.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 19:54:46.7612
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9qKs2xTwVrv0rgS7lWYq0HquIs4cJTSr81XUEbjMbduLHbeXPbvj+Q/Nr+TScGUCsFRLcKpcDw+Zp3/O1H0K4Ry00K+B3FlkBmPFKbKucGA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9188

On 07/03/2023 17:38, Bertrand Marquis wrote:
> Hi Andrei,
> 
>> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu@oss.nxp.com> wrote:
>>
>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>
>> Added support for parsing the ARM generic timer interrupts DT
>> node by the "interrupt-names" property, if it is available.
>>
>> If not available, the usual parsing based on the expected
>> IRQ order is performed.
>>
>> Also added the "hyp-virt" PPI to the timer PPI list, even
>> though it's currently not in use. If the "hyp-virt" PPI is
>> not found, the hypervisor won't panic.
>>
>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>> ---
>> xen/arch/arm/include/asm/time.h |  3 ++-
>> xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
>> 2 files changed, 24 insertions(+), 5 deletions(-)
>>
>> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
>> index 4b401c1110..49ad8c1a6d 100644
>> --- a/xen/arch/arm/include/asm/time.h
>> +++ b/xen/arch/arm/include/asm/time.h
>> @@ -82,7 +82,8 @@ enum timer_ppi
>>     TIMER_PHYS_NONSECURE_PPI = 1,
>>     TIMER_VIRT_PPI = 2,
>>     TIMER_HYP_PPI = 3,
>> -    MAX_TIMER_PPI = 4,
>> +    TIMER_HYP_VIRT_PPI = 4,
>> +    MAX_TIMER_PPI = 5,
>> };
>>
>> /*
>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>> index 433d7be909..794da646d6 100644
>> --- a/xen/arch/arm/time.c
>> +++ b/xen/arch/arm/time.c
>> @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
>>
>> static unsigned int timer_irq[MAX_TIMER_PPI];
>>
>> +static const char *timer_irq_names[MAX_TIMER_PPI] = {
>> +    [TIMER_PHYS_SECURE_PPI] = "sec-phys",
>> +    [TIMER_PHYS_NONSECURE_PPI] = "phys",
>> +    [TIMER_VIRT_PPI] = "virt",
>> +    [TIMER_HYP_PPI] = "hyp-phys",
>> +    [TIMER_HYP_VIRT_PPI] = "hyp-virt",
>> +};
>> +
> 
> I would need some reference or a pointer to some doc to check those.

Hi Bertrand,

This implementation follows the one in Linux [0]. The parsing order for
the IRQs remains the same whether or not the "interrupt-names" property
is available, since the driver in both Linux and Xen expects them in a
specific order (defined by enum arch_timer_ppi_nr in Linux, for example)
which, most of the time, does not correspond to how they are mapped onto
the SoC. But now it can discover them correctly regardless of their
order in the "interrupts" property in the DT node.

Only the "hyp-virt" IRQ is not required to be present, which is also the
last one parsed.

[0]
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/clocksource/arm_arch_timer.c?id=86332e9e3477af8f31c9d5f3e81e57e0fd2118e7

> 
>> unsigned int timer_get_irq(enum timer_ppi ppi)
>> {
>>     ASSERT(ppi >= TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
>> @@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void)
>> {
>>     int res;
>>     unsigned int i;
>> +    bool has_names;
>> +
>> +    has_names = dt_property_read_bool(timer, "interrupt-names");
>>
>>     /* Retrieve all IRQs for the timer */
>>     for ( i = TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>>     {
>> -        res = platform_get_irq(timer, i);
>> -
>> -        if ( res < 0 )
>> +        if ( has_names )
>> +            res = platform_get_irq_byname(timer, timer_irq_names[i]);
>> +        else
>> +            res = platform_get_irq(timer, i);
>> +
>> +        if ( res > 0 )
> 
> The behaviour of the code is changed here compared to the current
> version as res = 0 will now generate a panic.
> 
> Some device tree might not specify an interrupt number and just put
> 0 and Xen will now panic on those systems.
> As I have no idea if such systems exists and the behaviour is modified
> you should justify this and mention it in the commit message or keep
> the old behaviour and let 0 go through without a panic.
> 
> @stefano, julien any idea here ? should just keep the old behaviour ?
> 

You're right, I didn't take the dummy fake interrupts case into
consideration. I also think we should keep the old behaviour then, and
let 0 go through too, as you mentioned.


>> +            timer_irq[i] = res;
>> +        /* Do not panic if "hyp-virt" PPI is not found, since it's not
>> +         * currently used.
>> +         */
> 
> Please respect the standard for comments and keep the first line empty:
> /*
>  * comment
>  */
> 

Will update in v2.

>> +        else if ( i != TIMER_HYP_VIRT_PPI )
>>             panic("Timer: Unable to retrieve IRQ %u from the device tree\n", i);
>> -        timer_irq[i] = res;
>>     }
>> }
> 
> Cheers
> Bertrand
> 

Thanks for the review.

Regards,
Andrei

>>
>> -- 
>> 2.35.1
>>
>>
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 20:20:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 20:20:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507894.782059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZdng-00086z-DR; Tue, 07 Mar 2023 20:20:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507894.782059; Tue, 07 Mar 2023 20: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 1pZdng-00086s-Ag; Tue, 07 Mar 2023 20:20:44 +0000
Received: by outflank-mailman (input) for mailman id 507894;
 Tue, 07 Mar 2023 20:20: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=NnZl=67=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pZdne-00086m-OK
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 20:20:42 +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 8797a776-bd25-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 21:20:41 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 j19-20020a05600c191300b003eb3e1eb0caso11230105wmq.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 12:20:40 -0800 (PST)
Received: from [192.168.1.115] (126.red-88-28-13.dynamicip.rima-tde.net.
 [88.28.13.126]) by smtp.gmail.com with ESMTPSA id
 o42-20020a05600c33aa00b003e215a796fasm13566660wmp.34.2023.03.07.12.20.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 12:20: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: 8797a776-bd25-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678220440;
        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=//KTGqo1ZbuvwkeVCqTamRYcpCZggzKkeREBxxg498A=;
        b=ZcjdPGGFbiU+FQEvZm/+Ra9cB4jMByi+fSjS17RGnN0pX3/JjeBjEmTXeE9tWvlRNm
         +xiAqhshb9ZnJxgTn2mk6gr6gf1HHD0e/JGRM5LvY5BFnBoANAbP7zZId0TUNmiov3JA
         cq2fnyUO82aBdwEc9skq/DPossrB5DU7QJj1pJeEW0RdeaFPSgk4DkL64ywSyiDoSD7u
         a5VPRtWNkBu9dFBTb5Of0EwURgyMvTrP3IxqxNrZsK4CRBQNhsgw1x7PdC4TVV6iHO6p
         mrS30etFQn3vluKuTQE6GJMlLP7s0jkBdNgmZNliVOsJGsIYuCcM5Y+1LgbwgQTCQ1RW
         MeFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678220440;
        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=//KTGqo1ZbuvwkeVCqTamRYcpCZggzKkeREBxxg498A=;
        b=U7Dq0SMf6X9P5ytogg2Jdc1WdOoQh8LQkdOV2wq59jhwa9mvTgK76+BVxi5F1bvYr8
         RydGNEkPQRobB9At1C7Vk4u5xPHvLmEN5mdi+pAhhzbDpqA+UtP4VoHEsMOt2vDyHQaN
         7hiQABvVjovsVBYbGUf4o6N9hi0s68q31OySzgNPUHxwG3r0NLYq5ABdy4zmM+vziesp
         toZXqfeW2DX5P0HVK9fpygj0LbF7Gi6GPeAy3E1YYxsHc1qNUmrQTBp1oCZWNBsCeYeb
         VxKMy72G7FZmzlWxzpUa9jGkIdk3sqpcMVwivOuYHm2UxPCw+z6uyj57pVeBF8kD4t/7
         HSiw==
X-Gm-Message-State: AO0yUKUIsYOqqb0mc+zhMPBoGv8HXKzk96K1Dryvzg8qgtthkUyKh10t
	28DkjaZchPmhmmaujp29mrmDZg==
X-Google-Smtp-Source: AK7set+3DpOcP7xHfRowsfuVV2o2eM9Iw1P8Yp9l56Ty1WWUasOSFy0fQ9J+M8AoONGrOrdA4Yksww==
X-Received: by 2002:a05:600c:3c85:b0:3ea:f05b:50cc with SMTP id bg5-20020a05600c3c8500b003eaf05b50ccmr14928023wmb.8.1678220440099;
        Tue, 07 Mar 2023 12:20:40 -0800 (PST)
Message-ID: <c53bca89-53d3-11ca-a768-dc7e9143e7b1@linaro.org>
Date: Tue, 7 Mar 2023 21:20:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PULL 00/27] Enable PV backends with Xen/KVM emulation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>,
 Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
 Paul Durrant <paul@xen.org>, Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Juan Quintela <quintela@redhat.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>
References: <20230307182707.2298618-1-dwmw2@infradead.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi David,

On 7/3/23 19:26, David Woodhouse wrote:
> The following changes since commit 9832009d9dd2386664c15cc70f6e6bfe062be8bd:
> 
>    Merge tag 'pull-riscv-to-apply-20230306' of https://gitlab.com/palmer-dabbelt/qemu into staging (2023-03-07 12:53:00 +0000)
> 
> are available in the Git repository at:
> 
>    git://git.infradead.org/users/dwmw2/qemu.git refs/tags/xenfv-2
> 
> for you to fetch changes up to 154eac37190c4d80d29b09c226abd899e397530f:
> 
>    docs: Update Xen-on-KVM documentation for PV disk support (2023-03-07 17:04:30 +0000)
> 
> 
> Tested-by: Paul Durrant <paul@xen.org>
> ... on real Xen (master branch, 4.18) with a Debian guest.

This tag only appears in the cover letter, and is missing in each patch.
It would have been acceptable if it were in the PR tag, but
the tag (which for some reason isn't displayed in your cover letter)
is simply "PV back end support for emulated Xen".

You can fetch a series with tag applied with b4:
https://github.com/mricon/b4

You can post signed PR with easily with git-publish:
https://github.com/stefanha/git-publish

> ----------------------------------------------------------------
> David Woodhouse (23):
>        hw/xen: Add xenstore wire implementation and implementation stubs
>        hw/xen: Add basic XenStore tree walk and write/read/directory support
>        hw/xen: Implement XenStore watches
>        hw/xen: Implement XenStore transactions
>        hw/xen: Watches on XenStore transactions
>        hw/xen: Implement core serialize/deserialize methods for xenstore_impl
>        hw/xen: Add evtchn operations to allow redirection to internal emulation
>        hw/xen: Add gnttab operations to allow redirection to internal emulation
>        hw/xen: Pass grant ref to gnttab unmap operation
>        hw/xen: Add foreignmem operations to allow redirection to internal emulation
>        hw/xen: Move xenstore_store_pv_console_info to xen_console.c
>        hw/xen: Use XEN_PAGE_SIZE in PV backend drivers
>        hw/xen: Rename xen_common.h to xen_native.h
>        hw/xen: Build PV backend drivers for CONFIG_XEN_BUS
>        hw/xen: Only advertise ring-page-order for xen-block if gnttab supports it
>        hw/xen: Hook up emulated implementation for event channel operations
>        hw/xen: Add emulated implementation of grant table operations
>        hw/xen: Add emulated implementation of XenStore operations
>        hw/xen: Map guest XENSTORE_PFN grant in emulated Xenstore
>        hw/xen: Implement soft reset for emulated gnttab
>        i386/xen: Initialize Xen backends from pc_basic_device_init() for emulation
>        MAINTAINERS: Add entry for Xen on KVM emulation
>        docs: Update Xen-on-KVM documentation for PV disk support
> 
> Paul Durrant (4):
>        hw/xen: Implement XenStore permissions
>        hw/xen: Create initial XenStore nodes
>        hw/xen: Add xenstore operations to allow redirection to internal emulation
>        hw/xen: Avoid crash when backend watch fires too early



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 20:21:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 20:21:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507897.782069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZdoO-0000Ae-M0; Tue, 07 Mar 2023 20:21:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507897.782069; Tue, 07 Mar 2023 20:21: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 1pZdoO-0000AW-JM; Tue, 07 Mar 2023 20:21:28 +0000
Received: by outflank-mailman (input) for mailman id 507897;
 Tue, 07 Mar 2023 20:21: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=YLjA=67=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pZdoN-00008I-C6
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 20:21: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 a2ed491e-bd25-11ed-96b5-2f268f93b82a;
 Tue, 07 Mar 2023 21:21:26 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id B255AB819C2;
 Tue,  7 Mar 2023 20:21:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 71D65C433D2;
 Tue,  7 Mar 2023 20:21: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: a2ed491e-bd25-11ed-96b5-2f268f93b82a
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678220484;
	bh=U/pYfYRo9Djrixu9CWArV1jRelEyrYQ0WssXdbHj114=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=clyrzHtXATttoaL2y8EOtOOpO/5PuoV7WMBpf0GlnHSLixdpKW7o1CBy/VRpOZULZ
	 xnEpBI/MC7hHsANhjDgbAm1lPhwy26wzHLY76dD2ybm7jH1UrfA+2pQUNtkzjDnDg5
	 cv71BWZwlUyUYbIWrXueEhutz74y2/Hqpb2s6wGYxhfWtrmD/brb5QcWiUsMyz8Cz6
	 ZUTqt8Qb2Br4z4zwokc4jGKgr/SRtd5Qcv7Kd6o7fTDVfEKzSCeT64Mx9GAg6Am0ze
	 nKsfOtP4JdpPN0EBCt/aO8S0e7WL1IKddyIc7KMzKmy46Kzhm5jQOuU0EyBjo8d5bP
	 IRHg4wJVv51Iw==
Date: Tue, 7 Mar 2023 12:21:22 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org, 
    cardoe@cardoe.com, michal.orzel@amd.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH v2 2/2] automation: introduce a dom0less test run on
 Xilinx hardware
In-Reply-To: <ZAdWbrW74dcPYhnM@mail-itl>
Message-ID: <alpine.DEB.2.22.394.2303071221110.863724@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2303031554080.863724@ubuntu-linux-20-04-desktop> <20230303235719.1181690-2-sstabellini@kernel.org> <290dec66-c5a5-0609-f95f-7e3bcfd3fc94@citrix.com> <alpine.DEB.2.22.394.2303061450530.863724@ubuntu-linux-20-04-desktop>
 <ZAdWbrW74dcPYhnM@mail-itl>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1775438825-1678220441=:863724"
Content-ID: <alpine.DEB.2.22.394.2303071220440.863724@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-1775438825-1678220441=:863724
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2303071220441.863724@ubuntu-linux-20-04-desktop>

On Tue, 7 Mar 2023, Marek Marczykowski-Górecki wrote:
> On Mon, Mar 06, 2023 at 03:02:51PM -0800, Stefano Stabellini wrote:
> > On Mon, 6 Mar 2023, Andrew Cooper wrote:
> > > On 03/03/2023 11:57 pm, Stefano Stabellini wrote:
> > > > +  only:
> > > > +    variables:
> > > > +      - $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
> > > 
> > > We don't want to protect every branch of a tree that only a select
> > > number of people can push to,
> > 
> > Actually this is useful, more on this below
> > 
> > 
> > > nor (for this, or others configured with
> > > the runner), want to impose branching conventions on them.
> > > 
> > > In all anticipated cases, those able to push would also be able to
> > > reconfigure the protected-ness of branches, so this doesn't gain us any
> > > security I don't think, but it certainly puts more hoops in the way to
> > > be jumped through.
> > 
> > It is true that it adds a small inconvenience to the user, but I think
> > the benefits outweigh the inconvenience at the moment (that could change
> > though.)
> > 
> > With this, I can register the gitlab runner with a specific gitlab
> > project (for instance
> > https://gitlab.com/xen-project/people/sstabellini/xen) then I can mark
> > all branches as "protected" and select very specific access permissions,
> > e.g. I can give individual access to Julien, Bertrand, Michal, anyone,
> > to specific branches, which is great to allow them to run individual
> > pre-commit tests permanently or temporarily.
> > 
> > I couldn't find another way to do it at the moment, as non-protected
> > branches don't come with detailed access permissions. But it is possible
> > that as we setup a new sub-group under https://gitlab.com/xen-project
> > for people with access to the runner, then we might be able to remove
> > this restriction because it becomes unnecessary. We can remove the
> > protected check at that point.
> 
> You can configure runner to run only jobs from protected branches. This
> way it actually prevent running jobs from non-protected branches. Just a
> condition in .gitlab-ci.yml can be simply removed by anybody who wants
> to abuse your runner (and have push access to non-protected branch -
> which may or may not include all of patchew).

Yes, I did configure the runner only to execute protected jobs. The
$CI_COMMIT_REF_PROTECTED check in automation/gitlab-ci/test.yaml is
needed so that the xilinx job won't be created on pipelines for
non-protected branches where the runner won't run, hence the job has no
chance of completing successfully.

If I don't add the $CI_COMMIT_REF_PROTECTED check, the job will be
created in the pipeline but it will remain stuck as "paused" waiting for
the runner to become available (but the runner never will.)
--8323329-1775438825-1678220441=:863724--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 21:02:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 21:02:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507901.782079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZeS5-0005V4-Ln; Tue, 07 Mar 2023 21:02:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507901.782079; Tue, 07 Mar 2023 21:02: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 1pZeS5-0005Ux-J1; Tue, 07 Mar 2023 21:02:29 +0000
Received: by outflank-mailman (input) for mailman id 507901;
 Tue, 07 Mar 2023 21:02: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=YLjA=67=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pZeS4-0005Ur-Do
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 21:02: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 5bc7dbc8-bd2b-11ed-87f5-c1b5be75604c;
 Tue, 07 Mar 2023 22:02:26 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 477A36153C;
 Tue,  7 Mar 2023 21:02:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CDD10C433D2;
 Tue,  7 Mar 2023 21:02: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: 5bc7dbc8-bd2b-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678222942;
	bh=qxE5sHUKfGVd/qIxDUtt3kzOpaqZNxI1zAzEa/0oLSQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ai62tdksuV8lZzRph5Uwgmhw8S3F4M5TL8PPC5uzVTvKSVmw6g43JrPMTSJxnd5P/
	 PBVsu6aExzM9O7jvRqRQ16B0doMCD1zXkElXeRfrBLxf2aASyqIHVAaAF2mPdk1Ilv
	 hhZ+RWpM0UhAC8s0O+55GK3a8NGzXnUy1aB7sZC7fR0z6wUmMM1iIZ1BuKs2mSxq9Q
	 iGi1WzsB2nti8wmNVq8LM8u2ln+O+hTE4JEcf9rs0TSL30ntgdEh8XvIt9zfGcAfmU
	 2xp75malDVxgL56Stbqy4h+U2aBxqvip+vsRx5CbWE22i39qp7nlpVIjKFAzlBtb//
	 5mXwZeJtwM1nA==
Date: Tue, 7 Mar 2023 13:02:20 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
cc: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Andrei Cherechesu <andrei.cherechesu@nxp.com>, 
    Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts
 by names
In-Reply-To: <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303071301300.863724@ubuntu-linux-20-04-desktop>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com> <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com> <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@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, 7 Mar 2023, Bertrand Marquis wrote:
> > On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu@oss.nxp.com> wrote:
> > 
> > From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> > 
> > Added support for parsing the ARM generic timer interrupts DT
> > node by the "interrupt-names" property, if it is available.
> > 
> > If not available, the usual parsing based on the expected
> > IRQ order is performed.
> > 
> > Also added the "hyp-virt" PPI to the timer PPI list, even
> > though it's currently not in use. If the "hyp-virt" PPI is
> > not found, the hypervisor won't panic.
> > 
> > Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> > ---
> > xen/arch/arm/include/asm/time.h |  3 ++-
> > xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
> > 2 files changed, 24 insertions(+), 5 deletions(-)
> > 
> > diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
> > index 4b401c1110..49ad8c1a6d 100644
> > --- a/xen/arch/arm/include/asm/time.h
> > +++ b/xen/arch/arm/include/asm/time.h
> > @@ -82,7 +82,8 @@ enum timer_ppi
> >     TIMER_PHYS_NONSECURE_PPI = 1,
> >     TIMER_VIRT_PPI = 2,
> >     TIMER_HYP_PPI = 3,
> > -    MAX_TIMER_PPI = 4,
> > +    TIMER_HYP_VIRT_PPI = 4,
> > +    MAX_TIMER_PPI = 5,
> > };
> > 
> > /*
> > diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
> > index 433d7be909..794da646d6 100644
> > --- a/xen/arch/arm/time.c
> > +++ b/xen/arch/arm/time.c
> > @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
> > 
> > static unsigned int timer_irq[MAX_TIMER_PPI];
> > 
> > +static const char *timer_irq_names[MAX_TIMER_PPI] = {
> > +    [TIMER_PHYS_SECURE_PPI] = "sec-phys",
> > +    [TIMER_PHYS_NONSECURE_PPI] = "phys",
> > +    [TIMER_VIRT_PPI] = "virt",
> > +    [TIMER_HYP_PPI] = "hyp-phys",
> > +    [TIMER_HYP_VIRT_PPI] = "hyp-virt",
> > +};
> > +
> 
> I would need some reference or a pointer to some doc to check those.
> 
> > unsigned int timer_get_irq(enum timer_ppi ppi)
> > {
> >     ASSERT(ppi >= TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
> > @@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void)
> > {
> >     int res;
> >     unsigned int i;
> > +    bool has_names;
> > +
> > +    has_names = dt_property_read_bool(timer, "interrupt-names");
> > 
> >     /* Retrieve all IRQs for the timer */
> >     for ( i = TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
> >     {
> > -        res = platform_get_irq(timer, i);
> > -
> > -        if ( res < 0 )
> > +        if ( has_names )
> > +            res = platform_get_irq_byname(timer, timer_irq_names[i]);
> > +        else
> > +            res = platform_get_irq(timer, i);
> > +
> > +        if ( res > 0 )
> 
> The behaviour of the code is changed here compared to the current
> version as res = 0 will now generate a panic.
> 
> Some device tree might not specify an interrupt number and just put
> 0 and Xen will now panic on those systems.
> As I have no idea if such systems exists and the behaviour is modified
> you should justify this and mention it in the commit message or keep
> the old behaviour and let 0 go through without a panic.
> 
> @stefano, julien any idea here ? should just keep the old behaviour ?

platform_get_irq returns 0 if the irq is 0. The irq cannot be 0 because
0 is reserved for SGIs, not PPIs. So I think it is OK to consider 0 an
error.


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 21:09:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 21:09:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507908.782088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZeYt-0006E5-FH; Tue, 07 Mar 2023 21:09:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507908.782088; Tue, 07 Mar 2023 21: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 1pZeYt-0006Dy-CW; Tue, 07 Mar 2023 21:09:31 +0000
Received: by outflank-mailman (input) for mailman id 507908;
 Tue, 07 Mar 2023 21: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=/goj=67=microsoft.com=mikelley@srs-se1.protection.inumbo.net>)
 id 1pZeYr-0006Ds-2X
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 21:09:29 +0000
Received: from BN3PR00CU001.outbound.protection.outlook.com
 (mail-eastus2azlp170100001.outbound.protection.outlook.com
 [2a01:111:f403:c110::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5761c2f7-bd2c-11ed-87f5-c1b5be75604c;
 Tue, 07 Mar 2023 22:09:27 +0100 (CET)
Received: from BYAPR21MB1688.namprd21.prod.outlook.com (2603:10b6:a02:bf::26)
 by PH7PR21MB3140.namprd21.prod.outlook.com (2603:10b6:510:1d4::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.16; Tue, 7 Mar
 2023 21:09:22 +0000
Received: from BYAPR21MB1688.namprd21.prod.outlook.com
 ([fe80::629a:b75a:482e:2d4a]) by BYAPR21MB1688.namprd21.prod.outlook.com
 ([fe80::629a:b75a:482e:2d4a%4]) with mapi id 15.20.6178.016; Tue, 7 Mar 2023
 21: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: 5761c2f7-bd2c-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AF9/OdLrivLbzj+PJnkoJWNeEMMfCXsxtCn7lGRPWs1NqZiRg44iqGhZxczATUgfYc8e2U2+XrikT2oYL6Zi2tDKhe6nRgnELGh4WnEa4LmVJHq8Nm3cQ9KC0F8dZxsUhQ0hFlLxUP2CwcX8Lb2nTHTn+LHOAcGNlp5fx4znvWQYriYTpDRez5sxfAkGgwY/8LfQv30ZPqBI0nvQsIXbpuWo+Au0A98KnvcKcYkwEX58QfaTboecSvEsvIxXXyGDuXcZSD/dJbi3NaOXWQSkauMAsDhxpza7qOQlSbHiaAWUkcG0SI48cdb7MYZecIYELq5WUvtBmuADwfoKgUYy/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=gIEaKjgrFWbRgGSfrWcOdWmNL5btujXYEYfw3wDX7tE=;
 b=iwG3kJIgEtDxUaM7XA5oGzdn+52DA8WhtKWe/Sp2urXD1ID+/Kr47ARnGMNKqCX6FsUqWdicRXlkJ0t9mYk2qHU9GONJcrED41HL15rpe6aIV+hb93WmxtbFvYb+H2E8Kw5agEi8c1lUg2TG7NIEIt3WY9cKqe90kLYFoXmKkJ9uYYIr24zGuo2tz0RocYvjsBL2ewA5O4egCPObXx2W5H6IWwqb8A4Bc4jvZaW3F5vSd9toNO3lsghafbNDKHQWPM+h2NW5FmKTUksFIfO3NrhL1pK9PS03u+shz5NG5155As0TbJeZKBMY/7lX6fwjO/0np0o0ddUxILiYHAAAmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=microsoft.com; dmarc=pass action=none
 header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gIEaKjgrFWbRgGSfrWcOdWmNL5btujXYEYfw3wDX7tE=;
 b=YQlW4NVxZDJ7kmuiMn0iV4ZGlmNIoaXVhjXM6IyKexBJUV8chl0Bvp2BARZPRlUESQXolrKAeacg/FLIipWZxsxNHQG+em92Ghe8D/AYcuYlu3mGeIgTuZSdSfWtKCs9O4PkbtOcYQIDHb3AowLWrsIhjcx9vn9CVZ94fn1NeAA=
From: "Michael Kelley (LINUX)" <mikelley@microsoft.com>
To: Juergen Gross <jgross@suse.com>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>, "x86@kernel.org" <x86@kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.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>, KY Srinivasan <kys@microsoft.com>, Haiyang
 Zhang <haiyangz@microsoft.com>, Wei Liu <wei.liu@kernel.org>, Dexuan Cui
	<decui@microsoft.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andy
 Lutomirski <luto@kernel.org>, Peter Zijlstra <peterz@infradead.org>
Subject: RE: [PATCH v4 00/12] x86/mtrr: fix handling with PAT but without MTRR
Thread-Topic: [PATCH v4 00/12] x86/mtrr: fix handling with PAT but without
 MTRR
Thread-Index: AQHZUEnfXAWHZPt6fU+0bsYvtV7j7a7vz79w
Date: Tue, 7 Mar 2023 21:09:22 +0000
Message-ID:
 <BYAPR21MB16887D38D0A2F2EF1B6E2300D7B79@BYAPR21MB1688.namprd21.prod.outlook.com>
References: <20230306163425.8324-1-jgross@suse.com>
In-Reply-To: <20230306163425.8324-1-jgross@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
msip_labels:
 MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=c109dd38-892f-4330-8e9b-47000582b9dc;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2023-03-07T21:02:44Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47;
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=microsoft.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR21MB1688:EE_|PH7PR21MB3140:EE_
x-ms-office365-filtering-correlation-id: b015e6c5-3a0c-4a92-6db4-08db1f5039a2
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 cPvtkv1I08uKzSLRy3qvnj9RgdTT6290IhjxC7pN74fEf65l+3vF7tdwBvGH3bdpGvd0wLFI8hzCQLMxl2/JdqsOCV5fInYD+0pALOvdSmDb+RkpEUoJP3JAlmxs6cbWP+t1WYLyXh2J5/2AuN4AUxh8tCFpG8+2ssJWooHoYFsOAN2XUTDxBYEwl0Ck1d0szLZkFQWs0TR85b4MTIZdamttlmy04/MwRPEYGZMc8lPXdZHwpulE/sPNt5nIu3Kc6I/ZMHqLCl1GCWnK95UoroEhSDcN7QEsyRgHWwnmO6/9fx+qwN5lActinilA7YvjhblaiCPcYv2RbCI7lgFxSK196Ett+ABsq6WviPBq7YzsXdxzMrVNmvDaumjiFDvkiDXdieQl425IIDd6nmfnWeJuyIjgFBgHxDjwRj2NkHhyTP56x7K5eOyYEKeKbiZaZQLgVdg4oRCULaN7HSB+olvi30pu3w70uGCga0rkTLdtqFCdBzLMiVBog5dDXLlDNA6I6mFN8/Hmdz6nEsl+VjWKYDvSqVofcbPNVAbPKKEWKBMU7+YAKvKrhhEjNiEJYXrXL8iNMMye4acrpUI2OuuGLmyFnmoP0GHN2c2VfFV4KWR+76I+IzXdSXxScsqRNZOacDH3x2kd0H48g/SCZX/RmSYlFS/yY8UiC41s04IlvhWLTIkYYJ3vz0xbANjKdA9xfxY8GdyjKeWbtqeOn+y41oryuCkz06Im4nIA2gOaNDm55x8NDRKEAvFoPCj1
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR21MB1688.namprd21.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(346002)(396003)(39860400002)(366004)(376002)(451199018)(9686003)(186003)(38100700002)(26005)(2906002)(55016003)(316002)(8936002)(71200400001)(54906003)(52536014)(110136005)(38070700005)(478600001)(5660300002)(10290500003)(7416002)(33656002)(7696005)(64756008)(66446008)(66476007)(66556008)(4326008)(8676002)(82950400001)(82960400001)(76116006)(86362001)(66946007)(6506007)(8990500004)(41300700001)(122000001)(83380400001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?1Zllg+ZLwHIVNQ/RcCgjL0tBKNcDuA+EEGSpzFy4q6gd1rreP6qbHDMK4zMV?=
 =?us-ascii?Q?6+bTcNPZFIU7f8c6KBXmTMksjHNeHufY5A/bWy7211/fUxweOyhKUwFLy6I3?=
 =?us-ascii?Q?q0ipSgjgtumlz8q3K2GifdL+OiXSESXn5HJPHhMeXh5cPXDzwPeAYap2xuDZ?=
 =?us-ascii?Q?pkjoxPyA/NtjJnPyWApedC1h/eLRTm2pqG0xjsi5ui27Yv02GxEXalYDXsJd?=
 =?us-ascii?Q?XA2hkizTPwyj1soDW9Q0+qTfy4QR24UMu7/kQ7LQ4zPJf78XD/BK9X+yB0hP?=
 =?us-ascii?Q?9+YLOq4Vx0AVR9PPMDYd3pKkMVS7LHoJNG5oNJi+RJqjO60v8RMgemqYcAXo?=
 =?us-ascii?Q?EaIGSqBMp9rlLw8yUSq2Wyvazfh5GTw5PB2LWV4DstU+md0Kq5PDGUK6SfN7?=
 =?us-ascii?Q?lWsq+nDcnOQLm/J3jJuwnCtI1zEytmjGt9c4aDxdujjuSTDIXv6jx8nZwiPl?=
 =?us-ascii?Q?+1ngWjoI6N0xHm8DDe4ylOonPmR5W167+2XU07hUcic4woBSnc3h1V99W1Ls?=
 =?us-ascii?Q?1ea0+14BEqA8f23H+ZEWdcW6ytvTE4D87t45s/pNTMzp7+vH2E8MLDxPe0b/?=
 =?us-ascii?Q?RFh3WJzg5dY8Z5qkVm0I23qC00o7rtSUW3QdFsKItUy6BppGqgl3ORZLbWjO?=
 =?us-ascii?Q?/377HNyHR4yNRVffTLKvULHFflgCzosKV0mRw8PaVUK6dpLVGaI2b/fWd5sg?=
 =?us-ascii?Q?RSlruxlFFM+tuGlSUCUdClDqtyRGIN203cvGU+EHDV/tUCakTs9+cTTKUs8K?=
 =?us-ascii?Q?KFkWxAhhI+K5LIa8m2GX39r6OoojVX6pi2boPxalmwq9WwOpZfOYhTPYQ4ZN?=
 =?us-ascii?Q?A/kkYvEsyT7449FEzVgPxBwDFSrPJBC9dTZoxLGfP8jAQ1LQ3kUKLIkSxWwH?=
 =?us-ascii?Q?dUuxIgldfusM83Y0osBbOObRyg2iVMnHOGiWwtTfwc50tdwJAqsCEjNVxeBy?=
 =?us-ascii?Q?yCvbQTuSiviCfIod0jiURWGD5Mre/DAAMCoSoqqclteD9aH5FqZ7Z6KpOjqO?=
 =?us-ascii?Q?zeweKCiFgEmx0tdpL5LBw7haaZl1Qu0zcBfUdv5D/dBioQtS3NpueLU5fS0t?=
 =?us-ascii?Q?zk3jZZta0SuDovhY2LK0zqquzYIVhVKojaOr2nGPh3WPRYS5Uuc8WQ9LV/vX?=
 =?us-ascii?Q?zqFhBVGvGBLQbcdMD9HJbHGMa1xbLtJkFOkRjK51nhbaq/nf0SohRkoCvBEz?=
 =?us-ascii?Q?lPBUc7IGSdy4JHLVxBhiUf+yYydhr0X7UUbvcwefjDSVxCvgf/zR7tip3Vwj?=
 =?us-ascii?Q?Q7LdjEFNpUhBjSZ/4eX/0bA20EKQK0wSdkPJuiGv9ydKjVAerohqJiu8Hc1x?=
 =?us-ascii?Q?D5dsMpiWIBTQNr46rZ9R1j75O7B2PPm4zsAWjw+ohVsvJXKVYxDi6lKPfg0Y?=
 =?us-ascii?Q?DYTol3MK/3wFKjMzxDSQeWJt9Sq2QeN2sQCOD+p0id/9ffjsdvQv6LlJsYOx?=
 =?us-ascii?Q?1gh2VThorrvvkmdt90cAydIUF837wSN+e2JpG4QtAZPzdg4ryxsMar9YUNBy?=
 =?us-ascii?Q?OUaONsrmK6EXG7jmzqznMcgdGhdxTNIyUAGnaj9AE1V+lsrAPdOr4eldJc1p?=
 =?us-ascii?Q?KGLJaldC6IBID98yxoj5qP4rcgvh90cQ+1Q0E9HMQfOllgWw4E3k//+EaGkL?=
 =?us-ascii?Q?pw=3D=3D?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR21MB1688.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b015e6c5-3a0c-4a92-6db4-08db1f5039a2
X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Mar 2023 21:09:22.7223
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: FmNEvBYBhIfXkeI/59sRaZd+C87DzO/Yqyc3rY1Y3qNorX/9JYuteMYNZ6ElJbWaY2lYAYRRUapv5yDo/Ei5pbt1Xlxo2K0QsbGHc3lepS0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR21MB3140

From: Juergen Gross <jgross@suse.com> Sent: Monday, March 6, 2023 8:34 AM
>=20
> This series tries to fix the rather special case of PAT being available
> without having MTRRs (either due to CONFIG_MTRR being not set, or
> because the feature has been disabled e.g. by a hypervisor).
>=20
> The main use cases are Xen PV guests and SEV-SNP guests running under
> Hyper-V.
>=20
> Instead of trying to work around all the issues by adding if statements
> here and there, just try to use the complete available infrastructure
> by setting up a read-only MTRR state when needed.
>=20
> In the Xen PV case the current MTRR MSR values can be read from the
> hypervisor, while for the SEV-SNP case all needed is to set the
> default caching mode to "WB".
>=20
> I have added more cleanup which has been discussed when looking into
> the most recent failures.
>=20
> Note that I couldn't test the Hyper-V related change (patch 3).
>=20
> Running on bare metal and with Xen didn't show any problems with the
> series applied.
>=20
> It should be noted that patches 9+10 are replacing today's way to
> lookup the MTRR cache type for a memory region from looking at the
> MTRR register values to building a memory map with the cache types.
> This should make the lookup much faster and much easier to understand.
>=20
> Changes in V2:
> - replaced former patches 1+2 with new patches 1-4, avoiding especially
>   the rather hacky approach of V1, while making all the MTRR type
>   conflict tests available for the Xen PV case
> - updated patch 6 (was patch 4 in V1)
>=20
> Changes in V3:
> - dropped patch 5 of V2, as already applied
> - split patch 1 of V2 into 2 patches
> - new patches 6-10
> - addressed comments
>=20
> Changes in V4:
> - addressed comments
>=20
> Juergen Gross (12):
>   x86/mtrr: split off physical address size calculation
>   x86/mtrr: optimize mtrr_calc_physbits()
>   x86/mtrr: support setting MTRR state for software defined MTRRs
>   x86/hyperv: set MTRR state when running as SEV-SNP Hyper-V guest
>   x86/xen: set MTRR state when running as Xen PV initial domain
>   x86/mtrr: replace vendor tests in MTRR code
>   x86/mtrr: allocate mtrr_value array dynamically
>   x86/mtrr: add get_effective_type() service function
>   x86/mtrr: construct a memory map with cache modes
>   x86/mtrr: use new cache_map in mtrr_type_lookup()
>   x86/mtrr: don't let mtrr_type_lookup() return MTRR_TYPE_INVALID
>   x86/mm: only check uniform after calling mtrr_type_lookup()
>=20
>  arch/x86/include/asm/mtrr.h        |  15 +-
>  arch/x86/include/uapi/asm/mtrr.h   |   6 +-
>  arch/x86/kernel/cpu/mshyperv.c     |   4 +
>  arch/x86/kernel/cpu/mtrr/amd.c     |   2 +-
>  arch/x86/kernel/cpu/mtrr/centaur.c |   2 +-
>  arch/x86/kernel/cpu/mtrr/cleanup.c |   4 +-
>  arch/x86/kernel/cpu/mtrr/cyrix.c   |   2 +-
>  arch/x86/kernel/cpu/mtrr/generic.c | 492 ++++++++++++++++++-----------
>  arch/x86/kernel/cpu/mtrr/mtrr.c    |  94 +++---
>  arch/x86/kernel/cpu/mtrr/mtrr.h    |   7 +-
>  arch/x86/kernel/setup.c            |   2 +
>  arch/x86/mm/pgtable.c              |  24 +-
>  arch/x86/xen/enlighten_pv.c        |  52 +++
>  13 files changed, 454 insertions(+), 252 deletions(-)
>=20
> --
> 2.35.3

I've tested a Linux 6.2 kernel plus this series in a normal Hyper-V
guest and in a Hyper-V guest using SEV-SNP with vTOM.  MMIO
memory is correctly mapped as WB or UC- depending on the
request, which fixes the original problem introduced for Hyper-V
by the Xen-specific change.

Tested-by: Michael Kelley <mikelley@microsoft.com>


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 21:48:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 21:48:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507913.782099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZfAZ-0002pR-FZ; Tue, 07 Mar 2023 21:48:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507913.782099; Tue, 07 Mar 2023 21:48: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 1pZfAZ-0002pK-Au; Tue, 07 Mar 2023 21:48:27 +0000
Received: by outflank-mailman (input) for mailman id 507913;
 Tue, 07 Mar 2023 21:48:26 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=AOqD=67=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1pZfAY-0002pE-61
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 21:48:26 +0000
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com
 [205.220.165.32]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c6b99b84-bd31-11ed-956e-85ef70e17bfa;
 Tue, 07 Mar 2023 22:48:22 +0100 (CET)
Received: from pps.filterd (m0333521.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 327JuDYh015841; Tue, 7 Mar 2023 21:48:01 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 3p418xxsy8-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 07 Mar 2023 21:48:01 +0000
Received: from pps.filterd
 (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.5/8.17.1.5)
 with ESMTP id 327Kd5No027658; Tue, 7 Mar 2023 21:47:59 GMT
Received: from nam10-bn7-obe.outbound.protection.outlook.com
 (mail-bn7nam10lp2103.outbound.protection.outlook.com [104.47.70.103])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 3p4u1fn1gx-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Tue, 07 Mar 2023 21:47:59 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by DM4PR10MB6183.namprd10.prod.outlook.com (2603:10b6:8:8b::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Tue, 7 Mar
 2023 21:47:58 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::6800:e85a:3f21:6606]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::6800:e85a:3f21:6606%2]) with mapi id 15.20.6156.029; Tue, 7 Mar 2023
 21:47: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: c6b99b84-bd31-11ed-956e-85ef70e17bfa
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-2022-7-12;
 bh=dpG+xGKacmMnCBzoNJgYKrMwSCPsPFa88o6cy8WxAgs=;
 b=egnNYG2Hs6t0y9RMgKhh/0oWgkZV+Jy9PT5xuigNT7q1yU12wxGfXpEW9C2EVbhOIgTp
 ilqtWHe36ZybsGaktZfz39zSzQhjvvXw3TRCwfyRj8Q6whp5eMtdleJ/Mk2kyBsD7owY
 R9AQuLqBo/ge74Hy7X3PW26s1Nt9md79p/STxW9OjGDzzJfVqmfANQukkhPuB27CJrE3
 HOjJgrF50RmxX2w5HnhwQ2oAOiWI3o9tdLsfJFdtnyEwNTXyIzlDFTA1CysCQs1/xw4t
 C8yTYdwvhY+Iax01JKHQeR5m42QVAVkJP9SU6xITDBDoEdD0ryEAcCtDLapndGGcAc2K 2w== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nfWOKFSAmtaGL3ovHzMKtdWVfD1pLII8hS7OJO6sUJf+rGJslb0WlDCpVmqgIQd+T3EebYexDxFM7BgShRy0wqVSxMdc4yT6aGRxlTqF9wk7GmPfhOdhwx4KFt4Ry4G+dzGXRALOVNl35ILZJ2aN4Cg32jUOmpyxb34bWkQ7LV4Ajah5rdLPXhR/k9QAk98GjPuLgaAg48pF/9TX4E4pBxs7Vy6fUOnIFKkBEn1iLPKeuM6DenN9PAbe2TbWU3ZrTXQMs2xUta9xVk85QJeTPVPWgDrQsshtBJU2NipsCnIv73SrrJWyMiHge+Se+xFveSu3XqOe8Ibiao95vYpekQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dpG+xGKacmMnCBzoNJgYKrMwSCPsPFa88o6cy8WxAgs=;
 b=dRl5Hf/4Io3Rd70+DkSsYXPW2ZMmi7yCAN2caAjZPgF6sdQkUdqu8rJ1oD6UKzUUbaCteiYP3jt85cWkggkbR/FRzArLITiQMsqYl3Gb6/8Ijl/QDoRI8KVg+TeHcOTS+Hg9AoJ5AX+XC6w6sTlXXVyLBHP8MPNGJDGrMDyHgTLXBFB5KDHNjW7vPaI3nqf0c4GRigBW/GS50h5s/uCVxp9edm9hQ2AVVE39hDo2ZkCQSPfO0DHnTRJEW3cFXI98KjTec+Dk2C3BxRqgfEo1xw1tNSWqTrpujJRoP8KewnZZqGOudu6jUSLS7gY7EIOTJMRqnXwcQVP47y+GP3fCWg==
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=dpG+xGKacmMnCBzoNJgYKrMwSCPsPFa88o6cy8WxAgs=;
 b=rxKGW1Az2kbduPa6xao6G5HHyM/rQyZ3z1WJdGkt3J8JIF+kzE9qKHG7a9fPkHW95b8gWp5Quf0rJJKN8UUN5REJE0Wl4AUe5Er2Mm9Vw2IAi4o30/L16wcMVqPOy7JqhoYAvTD20G1O/mcx9gpmoyPD/4LHIf4KQQzqkcA9/Fg=
Message-ID: <a78a6c1b-41f5-0791-979b-ef226a51a779@oracle.com>
Date: Tue, 7 Mar 2023 16:47:50 -0500
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v4 05/12] x86/xen: set MTRR state when running as Xen PV
 initial domain
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: <20230306163425.8324-1-jgross@suse.com>
 <20230306163425.8324-6-jgross@suse.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
In-Reply-To: <20230306163425.8324-6-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0254.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:194::7) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BLAPR10MB5009:EE_|DM4PR10MB6183:EE_
X-MS-Office365-Filtering-Correlation-Id: e36ac381-fa8b-4925-7ec0-08db1f559daa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	SaBYOHzgsD0M3VKLUR3V9nwV6Wkr6fpbNruL5F+M8G3WlU206pkMFyLAXd3Zqu5ShhUKQUU+kogDIWUnv+NLKKKabOtC+o1aVIMns3JbonkAzfccWSZkF9KiR3unTYmAA7QsXXCgj1cbNftKuLl0oEZvbOEQooF6bwq3p3B8crNbeFfO952/ummSV9lFgBrsnk2gaOu1ifmU1f+G9+iYw/ch+kxESTWNMHRUasLXNW+0TpAim1q2tjRiZxSqijoET41lZ94iJX6vE9uboXKunFWnvICrL6UlURqTB/1Hx0ylKBvMLjUgHD7lBnhuOO9LboPTAhxq72ooedoT3MYvqitsvs4sbaSm/P1C8FHWqd+N06amlW6ARnyxx5VaRS5z6xu8vd5u4DGQDM6sI31c7zWMo5prYCPv4IsVW26UfQVV/uxQzwhis30vPrgBU7H2Wkq1Aztc2GyjlLy+NKQE64EU8ZFrMRoA64FtXD/mnCaZ45T7Sbo3phCKQuRMhMSNIJEai/W367bSNhinIIHI9XGGAYGV0updNSPNUOw5k+1chWyqdcFj0Hh8mW7osn7vnup5cSZk12FeQRTKkmWCEsG165F1JxBnPjkU+wmPQnXkKFE1mEfoMbXpAHs5BIvzEDgpkQN2RL9+lOBcHLpFSntPo8KZ6s3jXimJGDu/wBnJi3R6LO6+CRB3nT/N1sb76giWVkC3bGeQO1fGPw8vEyFkXBEZRauncAvE03d04MU=
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:(13230025)(136003)(39860400002)(366004)(376002)(346002)(396003)(451199018)(31686004)(2906002)(2616005)(83380400001)(44832011)(26005)(4326008)(66946007)(8676002)(66556008)(66476007)(5660300002)(6512007)(186003)(36756003)(41300700001)(6506007)(53546011)(478600001)(6666004)(38100700002)(8936002)(6486002)(54906003)(31696002)(316002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?elB2a0ZUdk1nVnlVMVhHVnNQT1NGQXlQd2VzamcvOU1qaW0xaFlYMEMyWFZI?=
 =?utf-8?B?WG94YjlEQkd3OVJmYndWV0hTcUV2RzRNVXEvU1gzOTM5d2lHNDJaejdLSmc3?=
 =?utf-8?B?RGtVcmVRdDR4Y1hpeWFxWDZSRi8wOGhjMERWMDZwVlBwUUFidUFoQ1JtbU5K?=
 =?utf-8?B?eG1pUUVTVWFpTlhXTHNFWGlFandtRkVSVnM4Qlgvb0Q0MjBpRzl0NnhuVzlF?=
 =?utf-8?B?TzUyaXBRWk1vOTB4TG00RkVodGt2c280TXllV3VVY2FkZVB2cW9zS1RQeEc4?=
 =?utf-8?B?VW0vbzlEVUtPM09SdjZGQlhyaHNQVWQ3RnM1ZzRhVWlmSktHTktuTk5JNHNm?=
 =?utf-8?B?QW9GdnBnOG5teXNuVnFWTjk4eXdYd2tZSUxURVhCME4xVjhQYmxHektTc0tx?=
 =?utf-8?B?UjI1NXdnOWxQSWxTbDQzZzhqbnFMeGFGbjF5clFhenZjR1Q5NVJJL3NMeFJu?=
 =?utf-8?B?TW45NVF3YTdpUmlrcDA0YW9vQ21tWkV0OHdTeDdXbS9WUTRaNi92b25mcml2?=
 =?utf-8?B?Smpaa0JWN0N4bnViT3lsL0d5TzJGaUtPakNBZ0M0TkF4cGZJSGhEUVgxVXdY?=
 =?utf-8?B?emdQTFlwVkUzWHgwNEx6bG1JMnNCbEorOUpLNmhheFREclpQVXdtUTI1cmpS?=
 =?utf-8?B?bnRTU0J0OXhWUE5IbzFtNVgyN2greGN0YU1xeU9CRktzcllJN1dlcnAyZ3lD?=
 =?utf-8?B?eFJjalowZUFCWkVFcVRGMTQxKzVYREVGb0FvSzdUSG4wTWxVdjJCQVp3N3dN?=
 =?utf-8?B?cWx4SURISTNMcHd4Y0g0U2x5c2Z6WldGeVhhaHYrc0o0UkM1M1hZdDgvekcv?=
 =?utf-8?B?djlwRndieW9lS2pPU3czUEFtTTVoT0QwMXdXQSt2Q1hyVUtpZG9FVXN6OFU3?=
 =?utf-8?B?RWlDUWV3SVBTRm0vNVJreVVwdjlKWG4zSVVtWDVtN2NBZXhldnR1OXlKckx3?=
 =?utf-8?B?VzFFUkxGZUFKMXQ4RFBySnlMLy8xa3RRb0FJOEFlTGlkdzRNQ0d1bnVTekpJ?=
 =?utf-8?B?eWZXSS9CYnFkM2VtRllJNDlkZVF5VWRsRlVaaFVQaE5zWEwycWZQa0ZTWTJ0?=
 =?utf-8?B?LzhmVC9NbEI5ckhPaVpJblY1cy83R0NNUTdYY1ZQWkh5L3ZReldqYkU0YTRl?=
 =?utf-8?B?MDR0QkZGNVFJalpGVW5DZVN0NVpqNm0zdGdqY254Sm5XQVJWeWI2ZVVIUG56?=
 =?utf-8?B?OHBia1NZWFQ1Uzl1anA4dngyTit2WnJOZmhjcmZReG9BQUlMOXdrNkRSRWtP?=
 =?utf-8?B?eEF5cWdtYTdZL2JTVkxqZjcrRGh4aDYwNG4yd0Q3RlgrdW5HdmorNytWc2dM?=
 =?utf-8?B?VUFaTlF5RkhwbWJIeW52S1F3UVcwa1IvMURrVEFaZ0tOVzhGeENxM0U4Z3pM?=
 =?utf-8?B?RjdTRExySjlXdi90M0pJRDNKcWRPUmdvNkxnL0s3UGVmc3FnVWxjZC9oSVFW?=
 =?utf-8?B?Rm05YWhLL2RrMFgxejloeXVKMU82QVN2djFhd1hKUXlmYTJYbnpKL3FEU0k5?=
 =?utf-8?B?OC9ySGc1aW5jY0RoT1V0NWRyN3hWUVZpaGIvaEFQcVJDbDczNmFGTG9nWnNz?=
 =?utf-8?B?cFRiTkNBUW1xMW1mbzdNRWI4cnVWc1prNVBLRDRpZG5MNWhDNkUyZXI2RjhF?=
 =?utf-8?B?azdaR05XM3k2b1JIMUxtbmsxMmNSTmgwUlNrZHFvaklULzNzTHlMRGlObkpq?=
 =?utf-8?B?Q2IzRzNBWVRqd0c1d1d2RmNjSXJNYmRvUFFnRHpScjNrNzQ2bVNLSDFYRFZt?=
 =?utf-8?B?U2dmUmd2Smptc3BqN3lBZXAwdTJjenhyRHNMSE1SVUZISklsanQvbjFsbWdD?=
 =?utf-8?B?d2tGWWlsUG53Zmx4VCsxcGdBelNLUVFBcVp0TlZVazVLZzl4NXVJdVg5dlRj?=
 =?utf-8?B?RzZrOXgrV0hUUG9sM2tQY3pPemxjVUF4Qk1lZ1U3eGp4eGNYVjJvRWNIQjdp?=
 =?utf-8?B?cC80V2VmQWVwbW44ZWJ4dFFxQm9mNE1mczBRNXRKZzVBbnp5L2w0cjVpSWRv?=
 =?utf-8?B?N2JLRmNXakpkT0s2OVdOcUJWTWJ5ZjRYYUxER0hpZm1sQTZhZVVkNDhkWFMw?=
 =?utf-8?B?ZmxxcFhINCtNNTdkZkdmdUtyampjYW5hVWRrcUNCSkNhc0lXL0c1QzFKc2tn?=
 =?utf-8?B?VENoUGRaRk9JRllGZzdqbTlSNXlRRGREK2xNRjVrYmRlbDVLZlQ5ZTFOSVY3?=
 =?utf-8?B?WXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 
	=?utf-8?B?OE85TzhGQzE2VDBOc2thS0E2TlltQmJKV0thN3ZNVXo3Q3JKY3dNelZTMExw?=
 =?utf-8?B?czVyT2hKYzQvcVozYW56UERqeGZYclFTeTJiSVdBNVBNakt2RTdOL0UrUEZC?=
 =?utf-8?B?a2EzVVNkcG02UXdtUkVEaXBGL1dYdlVyVW53d0VaUkllYTJOSzMwWitCWlpn?=
 =?utf-8?B?TmZvSHhyK3Vld1FuaEIvSUJ0VG5Nb1VKV1h0bnAySEQ1NWM2bVZIQUgzMTRa?=
 =?utf-8?B?S3lGNlU1ZmpDNmk4OTNKOHJQVDY0TGFMTE1uOGhuaTVoWUxzcktlZUhGQ09r?=
 =?utf-8?B?aGZRZmhNaERxWmpKdUlJN2s3ajN6Q2ZBOTdDNE9EcjhIWmlGVFZrcHJXRFdt?=
 =?utf-8?B?Yzk2RjdDQ05DUXhvSTVYV1FmaGpNazE4Q3djRG44VlI5eWl3cU1jRXFxbzZr?=
 =?utf-8?B?Sjh6QTBMR2ZCaHN3TDBDZXFWOE96TEU0T0xhVFNhaCtiMHI1MWNHQmlNVTh0?=
 =?utf-8?B?NXN6aTNYNE1sdjZMc1cwUUFvMVJ4anNEeWpjWk5GZFVGRmo4NXRmT3daNDA2?=
 =?utf-8?B?aU9heHM2K0dWYzNwTU9qOUhxakljSHV3b0FLVWh4djdJV3cwbExxU1ArYklh?=
 =?utf-8?B?b1FDSEJzaGlXMGFsNGt5cHZ1QWVuanVoWWdqcDl2bFA1QWlxSGFMWUhGSWV5?=
 =?utf-8?B?R1dvaWtJT1BtRStjNWZtaVZza0VjRmI2NWJ6T0liUHRWQnlIUEZtSDJVRmRY?=
 =?utf-8?B?Y2FQbkJxcmJ2SmxqZ2V5dkdscktXZVl5Nkl5N3c3QktMVTI1Q25CMGtKNXpM?=
 =?utf-8?B?VDFaQk5DR0VnTGFZU09ySFJmOEdTQkJxcm5oeDVOVjVTUCs4UGYyc0Q5d2FF?=
 =?utf-8?B?Qm1QOGRXbXFFdmZjMFROaFF6aXgxSVo0OGNkVkJjN2ZaUWJuVjVrdFYwNFNt?=
 =?utf-8?B?KysyVHhveFp6ai9pQitUbUdaNWtUOUVYT3BINXl2bmpZK0Jsa2pwaXhwdGZ1?=
 =?utf-8?B?dE9jSHRxMUJMbUExU3pQRTNHazlyeXRvVFRqbEVlbGZReXR0MjhhSU5ORjFr?=
 =?utf-8?B?VndMSytwOTJ0ZWxuWEhuUkJKVjdFMWJZR0hkUjYvNW9ZUXBxSUFObFBkdit1?=
 =?utf-8?B?S1ZrYW9BRkpJREZTQnNRSi9GRm1nRDJUd0xrU2pPelg3YUNERjNtaGZONXlF?=
 =?utf-8?B?dmEvZ3ZoV2ZzY3czRkRDVGhpYlJYaldkTCsvNUpqQlFSV2pKVlJBVkZ3MmNk?=
 =?utf-8?B?SHdCOE1oZDhtd3hBUmpjdGE3RE9hTDVXb0RiMXZrZFZkd3VrZjhwc3JWd0tY?=
 =?utf-8?B?bkZESXRXTER6WVpxYjA4Uldwcy9ZNmlHcGR5VXNCWVlYS0RDRjZ1emF1WEpv?=
 =?utf-8?B?TVk5QTQ1c3NENEM2MTBodU4rY1JnNGwwcVZnbkpXbVM5ZHIrbUtrcnBSZ3Ft?=
 =?utf-8?B?c0hHUzlqTFFXWmc9PQ==?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e36ac381-fa8b-4925-7ec0-08db1f559daa
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Mar 2023 21:47:58.3121
 (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: WkuEivpDXDzAaCvPkhuFTCzoFCfskAp/Zr1U35cqGFM1k3iq5P+uafQ8GsxR0LhriNYGeIl5MEN7WKD2Xv1VZZT6NhAen3mhWm+WbucP6vo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR10MB6183
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.219,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-07_16,2023-03-07_01,2023-02-09_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxscore=0 phishscore=0 bulkscore=0
 adultscore=0 suspectscore=0 spamscore=0 mlxlogscore=999 malwarescore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000
 definitions=main-2303070194
X-Proofpoint-GUID: aoAoRyFfaGhH-ujFRBngzDCbS-ejFu83
X-Proofpoint-ORIG-GUID: aoAoRyFfaGhH-ujFRBngzDCbS-ejFu83



On 3/6/23 11:34 AM, Juergen Gross wrote:
> When running as Xen PV initial domain (aka dom0), MTRRs are disabled
> by the hypervisor, but the system should nevertheless use correct
> cache memory types. This has always kind of worked, as disabled MTRRs
> resulted in disabled PAT, too, so that the kernel avoided code paths
> resulting in inconsistencies. This bypassed all of the sanity checks
> the kernel is doing with enabled MTRRs in order to avoid memory
> mappings with conflicting memory types.
> 
> This has been changed recently, leading to PAT being accepted to be
> enabled, while MTRRs stayed disabled. The result is that
> mtrr_type_lookup() no longer is accepting all memory type requests,
> but started to return WB even if UC- was requested. This led to
> driver failures during initialization of some devices.
> 
> In reality MTRRs are still in effect, but they are under complete
> control of the Xen hypervisor. It is possible, however, to retrieve
> the MTRR settings from the hypervisor.
> 
> In order to fix those problems, overwrite the MTRR state via
> mtrr_overwrite_state() with the MTRR data from the hypervisor, if the
> system is running as a Xen dom0.
> 
> Fixes: 72cbc8f04fe2 ("x86/PAT: Have pat_enabled() properly reflect state when running on Xen")
> Signed-off-by: Juergen Gross <jgross@suse.com>


Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>



From xen-devel-bounces@lists.xenproject.org Tue Mar 07 22:34:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 22:34:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507918.782109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZftE-0000ap-0C; Tue, 07 Mar 2023 22:34:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507918.782109; Tue, 07 Mar 2023 22:34: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 1pZftD-0000ai-Si; Tue, 07 Mar 2023 22:34:35 +0000
Received: by outflank-mailman (input) for mailman id 507918;
 Tue, 07 Mar 2023 22:34: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=yYpO=67=casper.srs.infradead.org=BATV+9298a7250c90fe94fbb7+7135+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pZftB-0000ac-VE
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 22:34:34 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 399bb512-bd38-11ed-956e-85ef70e17bfa;
 Tue, 07 Mar 2023 23:34:30 +0100 (CET)
Received: from [2001:8b0:10b:1:2a40:6c63:f4b8:bc22]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pZfsz-006nhW-SK; Tue, 07 Mar 2023 22:34:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 399bb512-bd38-11ed-956e-85ef70e17bfa
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=JwnRJzE3Pf705WJLcfh3MGthgWOX+lnU5AKDqxaPoi8=; b=plM2dX1DGZjlI5gpISBmjoi9rW
	o5rTTP7jsgQJN+It7MmWMi35E7iv0dpIsp+0WUC0wQ8PXJC55ayfQpEz+fbySxcRGrp1q65n7pe1g
	QIYv6yXoW0t+g6aU+GyMG9DWfhvWY5YskYodCVUTI+Nk0l8/Q5LfTCokvU6iB6d5UfpSoAi1y9doM
	9TWyBoETWcphiQkxUj81ZCg7o/cwn3Gbtkp90T11YY7IXClyShTo8bVRrLbWk47d4YT+R3X8AlsNH
	KIWOutourGeT47Ajyjl816frMimBJps1+tMJ/TMqUXyOLoyQN7q6w8OHCJAsllfYhGZeFSGQP1AT6
	TiaKjB5w==;
Message-ID: <16e41045564e3dfc988a636081022321b3dbcfe8.camel@infradead.org>
Subject: Re: [PULL 00/27] Enable PV backends with Xen/KVM emulation
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, Peter
	Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>, Paul Durrant
	 <paul@xen.org>, Joao Martins <joao.m.martins@oracle.com>, Ankur Arora
	 <ankur.a.arora@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	vikram.garhwal@amd.com, Anthony Perard <anthony.perard@citrix.com>, 
	xen-devel@lists.xenproject.org, Juan Quintela <quintela@redhat.com>, "Dr .
	David Alan Gilbert"
	 <dgilbert@redhat.com>
Date: Tue, 07 Mar 2023 22:34:21 +0000
In-Reply-To: <c53bca89-53d3-11ca-a768-dc7e9143e7b1@linaro.org>
References: <20230307182707.2298618-1-dwmw2@infradead.org>
	 <c53bca89-53d3-11ca-a768-dc7e9143e7b1@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-aH3Jt89RHZHqaO4R/9ks"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Tue, 2023-03-07 at 21:20 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
>=20
> This tag only appears in the cover letter, and is missing in each patch.
> It would have been acceptable if it were in the PR tag, but
> the tag (which for some reason isn't displayed in your cover letter)
> is simply "PV back end support for emulated Xen".
>=20
> You can fetch a series with tag applied with b4:
> https://github.com/mricon/b4
>=20
> You can post signed PR with easily with git-publish:
> https://github.com/stefanha/git-publish

Indeed, while I knew that the testing had been done, I didn't actually
have that Tested-by: tag to cut and paste until after I'd pushed the
tree to gitlab for CI, and signed the tag.

But I realise that I can just update the tag, since it's signed and it
was only referenced by name. And nobody but you has looked yet so
nobody will notice... this one look better?

https://git.infradead.org/users/dwmw2/qemu.git/tag/refs/tags/xenfv-2

--=-aH3Jt89RHZHqaO4R/9ks
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzA3MjIzNDIxWjAvBgkqhkiG9w0BCQQxIgQgEIjt6YvN
nZ3lffxH9jS4biiQUTvoLmcXEjSvW5V00jYwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAF+EEIChbo+ENUKEhuTbyHtTpyuJOfa5x7
+/CRdQQUgY48rypzw6H22pKD2uYcJm1kQlnjKtNL8hcEtq47GUZbbQxyq4SAcMpJb6bEkYdLS6sT
HibPRf2oT6lidnUE5l6p8oND2dWDxzlUyq3zHw8eJYUix9UQekZuSPJ6xVVw51c2s7GCO2K67lkT
7nvQ3dMCCyvJib2CcaCkaktmQAR/jr0FIYZk+W+Jm3kePqZtFZRBxpfDmYqnTSeROTCKNFysH9r9
ifF5qvs+ju9k4XKhp7FidS0IcqQiXgv50rMDhS5afzc7eSxozSfLmZA4vrXYVQAr+dMMg51l2C1V
EheYreNFVGu5MiDNQaAhaqaLVWkOTA+4cdf9geGrGOJxbJIR86TsXs0lLYKeu8mH9K24j7p3etKs
+uTsXVqBiy2ZXjewTnP3ZxMUl5LXqtbztxaK+K4Y7tIO+a67KXCMmFRWeBcO8GoofFMEq/mth625
d6cpxxHzLqqDIsTAN/zirLBE2BczPvi9htT4Or46rAt5QMiHfjAehqhp+bJDbF6pat45uz9og2dZ
4fkduxdD1xBXeyNWfLJ2Vu1VwznpfbOEq0IXoNXT7/LiJt9mBibFEoPGuc3Kl6IzDBHQkInakhzY
TYKANs63m3tQp/7LQdFM8yZteIPqkYXMX87xv45p4gAAAAAAAA==


--=-aH3Jt89RHZHqaO4R/9ks--


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 23:24:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 23:24:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507927.782118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZgfB-0006su-Nm; Tue, 07 Mar 2023 23:24:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507927.782118; Tue, 07 Mar 2023 23: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 1pZgfB-0006sn-L7; Tue, 07 Mar 2023 23:24:09 +0000
Received: by outflank-mailman (input) for mailman id 507927;
 Tue, 07 Mar 2023 23: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=YLjA=67=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pZgfA-0006sh-Sp
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 23:24:08 +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 272fd646-bd3f-11ed-956e-85ef70e17bfa;
 Wed, 08 Mar 2023 00:24:06 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 4251BB81A7C;
 Tue,  7 Mar 2023 23:24:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64DF9C4339B;
 Tue,  7 Mar 2023 23:24: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: 272fd646-bd3f-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678231443;
	bh=FSFr5VIZcI31kRklRgJmOQb9r0OM+R+5thsode0cCFY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LCQmq99+o3joMcGPS9J8/+wf5vDjG2PAiY9U+1f3AwbbC3Askm90kvd5XVu40v21k
	 tOvY3v5LZ6SD80lDIa78NQC+5v4AXATlDHdi4Ee4rQBpzN4je+hZcpsc05bYBZbf6q
	 tfQARF/u3mTAQhhweoWvCe6P3Zg1NakP0o5IAbXhcLFTYByIRcPorrQZdYL8TDH5E9
	 NSh63qkADZ8BMTAJub1XaVOS4WwRhm4+/Ou8lOt/672I58g5UOyqb6a6gw5mg5B36J
	 98DRIADRYosaAcaTmOAUMgegKqa5IsIOiM1Zw6gYOjcy+Sgpu/tKFlP40GKD/J4Y3V
	 9gcYYh286NQhA==
Date: Tue, 7 Mar 2023 15:24:00 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Michal Orzel <michal.orzel@amd.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] build: add crypto/ to SUBDIRS
In-Reply-To: <874a28ac-3ae4-a6c6-c230-570be3672441@suse.com>
Message-ID: <alpine.DEB.2.22.394.2303071523310.863724@ubuntu-linux-20-04-desktop>
References: <20230227095315.6483-1-michal.orzel@amd.com> <c16cbd72-9a5d-cea7-dd17-c9521328fffa@suse.com> <113d8d74-19a6-85da-8b89-1a21bf95960e@amd.com> <bbf3edac-d992-28b0-91b2-ca97159fbce2@suse.com> <c38e0913-e588-712f-6e0f-698f9dbf51ba@amd.com>
 <8bb1d032-639b-d6f4-28f7-2f5e5fbcbf4e@suse.com> <bb354282-3236-c7d0-edc2-c7d18d2afde2@amd.com> <23af7286-fc1a-d495-d5af-a137dbc66898@suse.com> <5d2890c9-d78b-69af-fec3-dace8723ea24@amd.com> <874a28ac-3ae4-a6c6-c230-570be3672441@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, 28 Feb 2023, Jan Beulich wrote:
> On 28.02.2023 09:14, Michal Orzel wrote:
> > On 27/02/2023 16:57, Jan Beulich wrote:
> >> On 27.02.2023 16:46, Michal Orzel wrote:
> >>> On 27/02/2023 16:00, Jan Beulich wrote:
> >>>> On 27.02.2023 15:46, Michal Orzel wrote:
> >>>>> On 27/02/2023 14:54, Jan Beulich wrote:
> >>>>>> On 27.02.2023 14:41, Michal Orzel wrote:
> >>>>>>> On 27/02/2023 11:10, Jan Beulich wrote:
> >>>>>>>> On 27.02.2023 10:53, Michal Orzel wrote:
> >>>>>>>>> --- a/xen/Makefile
> >>>>>>>>> +++ b/xen/Makefile
> >>>>>>>>> @@ -589,7 +589,7 @@ $(TARGET): outputmakefile FORCE
> >>>>>>>>>       $(Q)$(MAKE) $(build)=. arch/$(TARGET_ARCH)/include/asm/asm-offsets.h
> >>>>>>>>>       $(Q)$(MAKE) $(build)=. MKRELOC=$(MKRELOC) 'ALL_OBJS=$(ALL_OBJS-y)' 'ALL_LIBS=$(ALL_LIBS-y)' $@
> >>>>>>>>>
> >>>>>>>>> -SUBDIRS = xsm arch/$(TARGET_ARCH) common drivers lib test
> >>>>>>>>> +SUBDIRS = xsm arch/$(TARGET_ARCH) common crypto drivers lib test
> >>>>>>>>>  define all_sources
> >>>>>>>>>      ( find include -type f -name '*.h' -print; \
> >>>>>>>>>        find $(SUBDIRS) -type f -name '*.[chS]' -print )
> >>>>>>>>
> >>>>>>>> As long as it's arch/$(TARGET_ARCH) that's used here, crypto should imo
> >>>>>>>> also only be included when selected (or at the very least only when an
> >>>>>>>> arch might select it, which afaics is possible on x86 only right now).
> >>>>>>>>
> >>>>>>>> It would also help if in the description you made explicit that SUBDIRS
> >>>>>>>> isn't used for anything else (the name, after all, is pretty generic).
> >>>>>>>> Which actually points at an issue: I suppose the variable would actually
> >>>>>>>> better be used elsewhere as well, e.g. in the _clean: rule and perhaps
> >>>>>>>> also in the setting of ALL_OBJS-y. (That'll require splitting the
> >>>>>>>> variable, to that e.g. _clean would use $(SUBDIRS), $(SUBDIRS-y), and
> >>>>>>>> $(SUBDIRS-) collectively.) It is, imo, that lack of consolidation which
> >>>>>>>> has caused crypto to be missing from SUBDIRS.
> >>>>>>>>
> >>>>>>> I think what you wrote can be split into 2 parts: the part being a goal of this patch
> >>>>>>> and the cleanup/improvements that would be beneficial but not related to this patch.
> >>>>>>> The second part involves more code and there are parts to be discussed:
> >>>>>>>
> >>>>>>> 1) If we decide to create ALL_OBJS-y from SUBDIRS, then we would need to carve out test/ dir
> >>>>>>> that is not part of ALL_OBJS-y and add it to SUBDIRS later on. Also, the order of ALL_OBJS-y matters
> >>>>>>> for linking, so we would need to transfer the responsibility to SUBDIRS. The natural placement of
> >>>>>>> SUBDIRS (including SUBDIRS-y, etc.) would be right above ALL_OBJS-y. However, when doing clean (next point),
> >>>>>>> need-config is set to n and SUBDIRS would be empty. This means it would need to be defined somewhere at the
> >>>>>>> top of the Makefile (thus harder to make sure the linking order is correct).
> >>>>>>>
> >>>>>>> 2) If we deicide to use SUBDIRS for _clean rule, then we would need some foreach loop, right?
> >>>>>>> Apart from that, there are other directories that are not part of SUBDIRS i.e. include/, tools/.
> >>>>>>> Together with SUBDIRS variable, it would create confusion (these dirs are also sub-directories, so why
> >>>>>>> not having them listed in this variable?). Also, I can see that we do clean not only for $(TARGET_ARCH)
> >>>>>>> but for all the existing architectures.
> >>>>>>
> >>>>>> I understand that the changes would be more involved, but I disagree with
> >>>>>> your "two parts" statement: If what I've outlined was already the case,
> >>>>>> your patch would not even exist (because crypto/ would already be taken
> >>>>>> care of wherever needed).
> >>>>>>
> >>>>>>> I would prefer to stick for now to the goal of this patch which is to add crypto/ so that it is taken
> >>>>>>> into account for the tags/csope generation. Would the following change be ok for that purpose?
> >>>>>>>
> >>>>>>> diff --git a/xen/Makefile b/xen/Makefile
> >>>>>>> index 2d55bb9401f4..05bf301bd7ab 100644
> >>>>>>> --- a/xen/Makefile
> >>>>>>> +++ b/xen/Makefile
> >>>>>>> @@ -589,7 +589,9 @@ $(TARGET): outputmakefile FORCE
> >>>>>>>       $(Q)$(MAKE) $(build)=. arch/$(TARGET_ARCH)/include/asm/asm-offsets.h
> >>>>>>>       $(Q)$(MAKE) $(build)=. MKRELOC=$(MKRELOC) 'ALL_OBJS=$(ALL_OBJS-y)' 'ALL_LIBS=$(ALL_LIBS-y)' $@
> >>>>>>>
> >>>>>>> -SUBDIRS = xsm arch/$(TARGET_ARCH) common drivers lib test
> >>>>>>> +SUBDIRS-$(CONFIG_CRYPTO) += crypto
> >>>>>>> +SUBDIRS = xsm arch/$(TARGET_ARCH) common drivers lib test $(SUBDIRS-y)
> >>>>>>> +
> >>>>>>>  define all_sources
> >>>>>>>      ( find include -type f -name '*.h' -print; \
> >>>>>>>        find $(SUBDIRS) -type f -name '*.[chS]' -print )
> >>>>>>
> >>>>>> The fact that, afaict, this won't do is related to the outline I gave.
> >>>>>> You've referred yourself to need-config. Most if not all of the goals
> >>>>>> SUBDIRS is (currently) relevant for are listed in no-dot-config-targets.
> >>>>>> Hence your change above is effectively a no-op, because CONFIG_CRYPTO
> >>>>>> will simply be unset in the common case. Therefore if an easy change is
> >>>>>> wanted, the original version of it would be it. An intermediate
> >>>>>> approach might be to add crypto to SUBDIRS only when TARGET_ARCH=x86.
> >>>>>> But neither would preclude the same issue from being introduced again,
> >>>>>> when a new subdir appears.
> >>>>> I understand your concerns. However, I cannot see how your suggested changes
> >>>>> e.g. making use of SUBDIRS in ALL_OBJS and _clean would solve our issue.
> >>>>> They would reduce the repetitions (hence I called them cleanup/improvements)
> >>>>> but as we want to keep tags,cscope,clean as no-dot-config targets,
> >>>>
> >>>> I, for one, didn't take this is a goal (perhaps for clean, but there ...
> >>> So you would suggest to make these targets (except clean) .config dependent?
> >>>
> >>>
> >>>>
> >>>>> we would still not be able to use:
> >>>>> SUBDIRS-$(CONFIG_CRYPTO) += crypto
> >>>>> and use it in all_sources (because as you pointed out, it will be a no-op).
> >>>>
> >>>> ... the problem is obvious to solve, as outlined before).
> >>>>
> >>>>> Also, why do we care so much about guarding crypto/ if we take into account
> >>>>> so many architecture/config dependent files for tags/cscope (e.g. in drivers,
> >>>>> lib/x86, etc.)?
> >>>>
> >>>> Good question, which I'm afraid I have to answer with asking back:
> >>>>
> >>>>> If these are no-dot-config targets, then we should take everything, apart
> >>>>> from really big directories like arch/ ones.
> >>>>
> >>>> Why is arch/ other than arch/$(TARGET_ARCH) to be ignored? And if it is,
> >>>> why would crypto, used by only x86, not be ignored? As always I'd prefer
> >>>> firm rules, not arbitrary and/or fuzzy boundaries.
> >>>>
> >>>> Furthermore, considering e.g. cscope: Personally I view it as actively
> >>>> wrong to constrain it to just one arch. That'll lead to mistakes as
> >>>> soon as you want to make any cross-arch or even tree-wide change. Hence
> >>>> it would probably want treating just like clean. I can't comment on the
> >>>> various tags (case-insensitive) goals, as I don't know what they're
> >>>> about.
> >>> The useful thing about generating tags/cscope per-arch is that you can limit
> >>> the number of findings. Each symbol leads to one definition and not to multiple
> >>> ones. But this is still not ideal solution because doing this per-arch
> >>> and not per-config leads to inconsistency. Also, as you wrote, sometimes it is useful
> >>> to have all the symbols loaded when doing tree-wide changes. So in ideal world we should
> >>> have an option to use approach or another. I reckon this is why Linux
> >>> has a separate script for that which allows to set all-arch/per-arch, config-dependent/config-independent.
> >>>
> >>> Anyway, I do not have any ready-made solution for this problem.
> >>> The only benefit of this patch would be that the symbols for crypto/ would be visible
> >>> in cscope/tags (TBOOT uses the crypto functions but there are no definitions present
> >>> which may be suprising for people using ctags).
> >>> But I can understand if you do not want to take this patch in, due to all the observations above.
> >>
> >> Well, I'm not outright opposed. But I definitely want to hear another
> >> maintainer's view before deciding.
> > 
> > While waiting for other maintainers vote, I would like to propose an intermediate approach
> > that would at least result in unified approach (related to what you wrote about constraints):
> > 
> > In general, there are 2 *main* approaches when dealing with code indexing.
> > The first is a "tree-wide" approach, where we do not take Kconfig into account.
> > The second is a "config-aware" approach, where we take into account Kconfig options.
> > 
> > At the moment, in Xen, the approach taken is not uniform because we take all the directories
> > into account except arch/ where we take only $(TARGET_ARCH) into indexing. This makes it difficult
> > to reason about. What is the rule then - how big is the directory?
> > 
> > The intermediate solution is to switch for now to "tree-wide" approach by modifying the SUBDIRS
> > from:
> > SUBDIRS = xsm arch/$(TARGET_ARCH) common drivers lib test
> > to:
> > SUBDIRS = xsm arch common drivers lib test crypto
> > 
> > This way, the approach is clear for everyone and we do not make any exceptions. Also the name of
> > SUBDIRS and all_sources makes sense as they are read as "global" by default as oppose to e.g. "all_compiled_sources".
> > In the future, we can then add support for "config-aware" approach by taking into account Kconfig which involes
> > more code.
> > 
> > Benefits:
> >  - clear approach, no fuzzy boundaries - all in
> >  - crypto can be included right away as well as any new subdir without requiring to fix the infrastructure first
> 
> I'm okay with that proposal (albeit if you make a patch, please have "crypto"
> at least ahead of "test"), but it'll need agreement by people actually using
> any of the affected make goals.

I am OK with this too


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 23:24:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 23:24:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507928.782129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZgfH-00078i-0A; Tue, 07 Mar 2023 23:24:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507928.782129; Tue, 07 Mar 2023 23:24:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZgfG-00078Y-T5; Tue, 07 Mar 2023 23:24:14 +0000
Received: by outflank-mailman (input) for mailman id 507928;
 Tue, 07 Mar 2023 23:24: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 1pZgfG-000781-49; Tue, 07 Mar 2023 23:24: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 1pZgfG-0006Np-0e; Tue, 07 Mar 2023 23:24: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 1pZgfF-0001Zp-Id; Tue, 07 Mar 2023 23:24:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZgfF-0003Ks-IF; Tue, 07 Mar 2023 23:24: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=edd65+xeQAjoh5JSUNEjOTm+p6t5TIJKqNPc5fB2M2I=; b=vRhYQINWw5slHyVSz88uty5I4V
	qSIMK8QtypaDwqS4goqPdpqBglaCq2Pw4SB8TEstoFwei5qdndR9y09UZEhVRXGR3aeZCKdJl1EtU
	1u60q+TdYJFQ/AO7rWcdDD0IHxW8MSwbI2VEFpOfKjff3B17zVIguHkBArl/ol/cWOuI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179497-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179497: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-qemuu-freebsd11-amd64:guest-saverestore.2:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=c29a2f40cd5d1fdad4632b48343cd968db041a44
X-Osstest-Versions-That:
    qemuu=817fd33836e73812df2f1907612b57750fcb9491
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Mar 2023 23:24:13 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd11-amd64 18 guest-saverestore.2 fail pass in 179500-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179449
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179449
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179449
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179449
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179449
 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-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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-vhd 14 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-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      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                c29a2f40cd5d1fdad4632b48343cd968db041a44
baseline version:
 qemuu                817fd33836e73812df2f1907612b57750fcb9491

Last test of basis   179449  2023-03-07 01:40:20 Z    0 days
Testing same since   179497  2023-03-07 13:09:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Ard Biesheuvel <ardb@kernel.org>
  Chuck Zmudzinski <brchuckz@aol.com>
  David Reiss <dreiss@meta.com>
  Gollu Appalanaidu <anaidu.gollu@samsung.com>
  Jesper Devantier <j.devantier@samsung.com>
  Joel Granados <j.granados@samsung.com>
  Klaus Jensen <k.jensen@samsung.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Niklas Cassel <niklas.cassel@wdc.com>
  Peter Maydell <peter.maydell@linaro.org>
  qianfan Zhao <qianfanguijin@163.com>
  Richard Henderson <richard.henderson@linaro.org>
  Strahinja Jankovic <strahinja.p.jankovic@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       fail    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-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-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   817fd33836..c29a2f40cd  c29a2f40cd5d1fdad4632b48343cd968db041a44 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Tue Mar 07 23:26:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Mar 2023 23:26:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507937.782138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZghs-00084X-Ik; Tue, 07 Mar 2023 23:26:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507937.782138; Tue, 07 Mar 2023 23: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 1pZghs-00084O-Fq; Tue, 07 Mar 2023 23:26:56 +0000
Received: by outflank-mailman (input) for mailman id 507937;
 Tue, 07 Mar 2023 23:26: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=NnZl=67=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pZghr-00084I-LT
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 23:26:55 +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 8bda5b2e-bd3f-11ed-87f5-c1b5be75604c;
 Wed, 08 Mar 2023 00:26:54 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 o38-20020a05600c512600b003e8320d1c11so1357357wms.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Mar 2023 15:26:54 -0800 (PST)
Received: from [192.168.10.175] (57.red-88-29-179.dynamicip.rima-tde.net.
 [88.29.179.57]) by smtp.gmail.com with ESMTPSA id
 f18-20020a05600c43d200b003dec22de1b1sm13821337wmn.10.2023.03.07.15.26.51
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Mar 2023 15:26: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: 8bda5b2e-bd3f-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678231614;
        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=tuqFRgIuZ4P97LUA0hRJCkk0C0eemYPFkyeXQF2boOM=;
        b=a7jjDE5/nroPUvZUdQGYuZH+NSoL9h33sE5iCq0oYHg4Hbj8944n5rk4m88leuqL1B
         bjL7HRkZlMtD+WYGYKvyey1rdRkgyu348vuMXqaYEoVvMQXAkOxoe9NfijoBTyPM5C0a
         PpWWQamVA+Gw+EdBrUacjS6NW6vO7pJJc/+iPsKdCWGrcou/bP8QGmcGgpAzWVOSlmJH
         OLQjufO9XBgbgrB8FfDBGTkDADWsvuRTLThVh7STn+Wo3yzpsmLjsan5KnbD186ObNFl
         qEj4NZ2YfT7tf4GHJc8JZtP+iZ47OpmEr8ZnEKUOdZRh1ZOP8ZlWCHXmqP6HIH7Pvekh
         38JQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678231614;
        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=tuqFRgIuZ4P97LUA0hRJCkk0C0eemYPFkyeXQF2boOM=;
        b=418WKHsN3rZDnQfUptTuqQQverSB6ssAkGh8nDfY0J28uY2PMegVE9npa4Qi4I4XR7
         mChnrfntwzdPzO3iAPYRUicyUNGeiSgElDrSG2+WMy5LCq/a89y3rC0EQVhfyYuN47J8
         1B+yElJQJlKMSEIExET+IAnkQo38tMgbYCkQdzkzthPWHnvYBNUspAErZT07X54KDphL
         4U+o8sHTDMtqIjEOjjfStFHMRTxOli8oe93eFCWBS5uFY+3Cmm0B3Ru9NnE9XwafUrgp
         p/u7BKXWI6JcrsTmffctBxyYYAgXVFDqZEmoqyJGhbrC2Jyp3TrFMiOXq0n44XXNRJhW
         J+qA==
X-Gm-Message-State: AO0yUKU2St7681N+qKTJQxsmUQjOl2n/leOTqO6eNQ4tse9Tae5BX60z
	F6PwWOnoV1j0JpbeRtzWcQp2Sg==
X-Google-Smtp-Source: AK7set8ug5hknOh4vkpJs2RhDAU7Vjyrmms2iGRmH9fXFjP0uGJsjSrbu9zfoiZnz7US8ToinF7N6Q==
X-Received: by 2002:a05:600c:35d2:b0:3ea:f6c4:5f2a with SMTP id r18-20020a05600c35d200b003eaf6c45f2amr13331768wmq.17.1678231614174;
        Tue, 07 Mar 2023 15:26:54 -0800 (PST)
Message-ID: <17f90f14-dfc2-cb8b-d408-cfe403deae5f@linaro.org>
Date: Wed, 8 Mar 2023 00:26:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PULL 00/27] Enable PV backends with Xen/KVM emulation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>,
 Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
 Paul Durrant <paul@xen.org>, Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Juan Quintela <quintela@redhat.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>
References: <20230307182707.2298618-1-dwmw2@infradead.org>
 <c53bca89-53d3-11ca-a768-dc7e9143e7b1@linaro.org>
 <16e41045564e3dfc988a636081022321b3dbcfe8.camel@infradead.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <16e41045564e3dfc988a636081022321b3dbcfe8.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 7/3/23 23:34, David Woodhouse wrote:
> On Tue, 2023-03-07 at 21:20 +0100, Philippe Mathieu-Daudé wrote:
>>
>> This tag only appears in the cover letter, and is missing in each patch.
>> It would have been acceptable if it were in the PR tag, but
>> the tag (which for some reason isn't displayed in your cover letter)
>> is simply "PV back end support for emulated Xen".
>>
>> You can fetch a series with tag applied with b4:
>> https://github.com/mricon/b4
>>
>> You can post signed PR with easily with git-publish:
>> https://github.com/stefanha/git-publish
> 
> Indeed, while I knew that the testing had been done, I didn't actually
> have that Tested-by: tag to cut and paste until after I'd pushed the
> tree to gitlab for CI, and signed the tag.
> 
> But I realise that I can just update the tag, since it's signed and it
> was only referenced by name. And nobody but you has looked yet so
> nobody will notice... this one look better?
> 
> https://git.infradead.org/users/dwmw2/qemu.git/tag/refs/tags/xenfv-2

LGTM, thanks!


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 02:15:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 02:15:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507949.782149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZjKj-0001lq-1p; Wed, 08 Mar 2023 02:15:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507949.782149; Wed, 08 Mar 2023 02:15:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZjKi-0001lZ-SG; Wed, 08 Mar 2023 02:15:12 +0000
Received: by outflank-mailman (input) for mailman id 507949;
 Wed, 08 Mar 2023 02:15:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pZjKh-0001kf-LM; Wed, 08 Mar 2023 02:15:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pZjKh-0001GM-Du; Wed, 08 Mar 2023 02:15:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pZjKh-0006i4-0n; Wed, 08 Mar 2023 02:15:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZjKh-00066t-04; Wed, 08 Mar 2023 02:15: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=ntuf4EprrvbWLCrwY11J8UJhSDxUiDtULBdgvXMK2bE=; b=QjyFFm4h0LOpeZJ3cJX6+Vhpj2
	pOFiD1SirGPf+DAk96vCiYvlqHMcIjhSH+YcLadiv0eYv+uuvR4X+lGDEzHCRKsFWhjTNzHuVaWht
	aPahaG5NioLSaQJ6Sx0JI1cqVTZc24BUHWjSZagA4qEQAl9ZdN0xSgMozMeUrk0hY11Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179502-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179502: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=dd0f000aafd91ff674a11d6d5623d345fa8f91a6
X-Osstest-Versions-That:
    xen=31270f11a96ebb875cd70661e2df9e5c6edd7564
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Mar 2023 02:15:11 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  dd0f000aafd91ff674a11d6d5623d345fa8f91a6
baseline version:
 xen                  31270f11a96ebb875cd70661e2df9e5c6edd7564

Last test of basis   179381  2023-03-06 10:01:56 Z    1 days
Testing same since   179502  2023-03-08 00:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bertrand Marquis <bertrand.marquis@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   31270f11a9..dd0f000aaf  dd0f000aafd91ff674a11d6d5623d345fa8f91a6 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 02:46:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 02:46:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507954.782159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZjoh-0005j8-CN; Wed, 08 Mar 2023 02:46:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507954.782159; Wed, 08 Mar 2023 02: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 1pZjoh-0005j1-9d; Wed, 08 Mar 2023 02:46:11 +0000
Received: by outflank-mailman (input) for mailman id 507954;
 Wed, 08 Mar 2023 02:46: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=qVfP=7A=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pZjog-0005iv-L1
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 02:46: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 5d6770fe-bd5b-11ed-87f5-c1b5be75604c;
 Wed, 08 Mar 2023 03:46:03 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id E8C97B81B72;
 Wed,  8 Mar 2023 02:46:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D79D2C433EF;
 Wed,  8 Mar 2023 02:45: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: 5d6770fe-bd5b-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678243560;
	bh=SAd1tPdVVGsfaed1KN+D1pZxgrRnXO9NXQTlv45uYNs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=PpZLnkIiYFZ0RmX1Eb4Di0gmD4q31Og7v7wicPjxsB/Lxw+It/1LFFuxPvoXt8vxx
	 hlPX8G0dqL0i3DxXSfvpH/i0qKZgnoL1A9tSmucDCBQyAmx5e1pkQr7S516QLFNWib
	 MUhlNuIdLQKeqPdJ1aNduZ6uTlN7PdSz4qX6o/QTzfTNIPcof2NEKkagylM3PRysiw
	 pFsKmM2qzUA8PtfvlqvNKWipEtIpF85JlEmthQLOsg1CcEpq6kj0uBD2pJcXyDjrTs
	 yCay9fhCPJcjHZ8idBCJVlnVVPLUxT36jJ8Mh1TgMHmFyVSRAlxr+5D7qs3phCMEZc
	 GsIT63ZqHQWiQ==
Date: Tue, 7 Mar 2023 18:45:58 -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: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, cardoe@cardoe.com, 
    Stefano Stabellini <stefano.stabellini@amd.com>
Subject: Re: [PATCH v3 2/2] automation: introduce a dom0less test run on
 Xilinx hardware
In-Reply-To: <805be02d-54ec-62e4-02ab-144b9be56880@amd.com>
Message-ID: <alpine.DEB.2.22.394.2303071845530.863724@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2303061531240.863724@ubuntu-linux-20-04-desktop> <20230306233310.1993693-2-sstabellini@kernel.org> <805be02d-54ec-62e4-02ab-144b9be56880@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, 7 Mar 2023, Michal Orzel wrote:
> Hi Stefano,
> 
> On 07/03/2023 00:33, Stefano Stabellini wrote:
> > 
> > 
> > From: Stefano Stabellini <stefano.stabellini@amd.com>
> > 
> > The test prepares dom0 and domU binaries and boot artifacts, similarly
> > to the existing QEMU test. (TBD: share preparation steps with the
> > regular QEMU tests.)
> > 
> > However, instead of running the test inside QEMU as usual, it copies
> > the binaries to the tftp server root, triggers a Xilinx ZCU102 board
> > reboot, and connects to the real serial of the board.
> > 
> > For now and due to its novelty, allow_failure on the Xilinx hardware
> > test, and only run the job on protected branches with XILINX_JOBS set to
> > true (the "master" and "staging" on gitlab.com/xen-project/xen qualify).
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Thank you!

I spoke with Andrew and he also agreed on the series so I am going to
commit it with one minor change as requested by Andrew: the xilinx job
will not be optional but required. So I removed allowed_failure.

Cheers,

Stefano


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 04:59:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 04:59:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507959.782168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZlt0-0004Dt-Pt; Wed, 08 Mar 2023 04:58:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507959.782168; Wed, 08 Mar 2023 04:58:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZlt0-0004Dm-NA; Wed, 08 Mar 2023 04:58:46 +0000
Received: by outflank-mailman (input) for mailman id 507959;
 Wed, 08 Mar 2023 04:58:45 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pZlsz-0004Db-TP; Wed, 08 Mar 2023 04:58:45 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pZlsz-0004uW-Qn; Wed, 08 Mar 2023 04:58:45 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pZlsz-000852-FN; Wed, 08 Mar 2023 04:58:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZlsz-0006gD-Ew; Wed, 08 Mar 2023 04:58:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PNWeI4Jty1eN+qmRyDyvDkgziVz2m+oVTkVY2cMMIak=; b=uf2xfCFpA5TZsJonpW5bhiAzNN
	E9fxsf4w8N2C8DOiIyv8A5l0PeqPApN4hwdNurwxL1HmexdJh7APhGhKvEmPHuwkzV+1Lt+Nge/rq
	HZinuwcUlN0KC2Rrrkg4lhosWQs1akp1+E2Wp+4LKMKPkz3MuXLdQRhcH6fIByjJVA7c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179504-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179504: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=746774cd1786b13dc67020efb6496477535dcb26
X-Osstest-Versions-That:
    xen=dd0f000aafd91ff674a11d6d5623d345fa8f91a6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Mar 2023 04:58:45 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  746774cd1786b13dc67020efb6496477535dcb26
baseline version:
 xen                  dd0f000aafd91ff674a11d6d5623d345fa8f91a6

Last test of basis   179502  2023-03-08 00:00:26 Z    0 days
Testing same since   179504  2023-03-08 03:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Stefano Stabellini <stefano.stabellini@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   dd0f000aaf..746774cd17  746774cd1786b13dc67020efb6496477535dcb26 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 05:13:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 05:13:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507916.782179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZm7M-0007H4-3d; Wed, 08 Mar 2023 05:13:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507916.782179; Wed, 08 Mar 2023 05: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 1pZm7M-0007Gx-0l; Wed, 08 Mar 2023 05:13:36 +0000
Received: by outflank-mailman (input) for mailman id 507916;
 Tue, 07 Mar 2023 22:27: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=urvN=67=hpe.com=prvs=0430120c81=steve.wahl@srs-se1.protection.inumbo.net>)
 id 1pZfmD-0007wD-No
 for xen-devel@lists.xenproject.org; Tue, 07 Mar 2023 22:27:21 +0000
Received: from mx0a-002e3701.pphosted.com (mx0a-002e3701.pphosted.com
 [148.163.147.86]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 36dbcb4f-bd37-11ed-956e-85ef70e17bfa;
 Tue, 07 Mar 2023 23:27:17 +0100 (CET)
Received: from pps.filterd (m0148663.ppops.net [127.0.0.1])
 by mx0a-002e3701.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 327L5gJ4028321; Tue, 7 Mar 2023 22:24:18 GMT
Received: from p1lg14878.it.hpe.com (p1lg14878.it.hpe.com [16.230.97.204])
 by mx0a-002e3701.pphosted.com (PPS) with ESMTPS id 3p6bu8114b-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 07 Mar 2023 22:24:17 +0000
Received: from p1lg14886.dc01.its.hpecorp.net (unknown [10.119.18.237])
 (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 p1lg14878.it.hpe.com (Postfix) with ESMTPS id CBB17130A9;
 Tue,  7 Mar 2023 22:24:16 +0000 (UTC)
Received: from swahl-home.5wahls.com (unknown [16.231.227.36])
 (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)
 (Client did not present a certificate)
 by p1lg14886.dc01.its.hpecorp.net (Postfix) with ESMTPS id 9C74F80AD9E;
 Tue,  7 Mar 2023 22:24: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: 36dbcb4f-bd37-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hpe.com; h=date : from : to : cc :
 subject : message-id : references : mime-version : content-type :
 in-reply-to; s=pps0720; bh=LaaPqV7Flc0GLDHQpIpi/BIcyjij0wSdtMhbcCHYsgA=;
 b=KucE5UTqJQpxT11mxXz+EBR8v0tavcjUv9Ui2FHab40WoQiuV3yFIDgqKk3q5kcdvuwo
 drWjaXC7Yx+uiwl1OenpwWu47udmJqwKjE9dILefQUZGqLmGaEP1NLYCkNLYgQXE55IH
 pJ+yRhi5GSJ5jKQ8RWB3Nr3EtesnmJ05hdKeHlS8cBLT36zWyHn3FQ9/R6GqQyfwyefx
 YeGHnWIch0H3I5hz2qQ78crYlcNTY741RdGLewUR/aekyotj3MBUgHiSeyPnIKvgWPEK
 jg+AIfQknv6WWMr+5LSHk3ZVcc7cEeQsQPCw1ideabEOY7fb99n90BFJHjYRpVRpYa7A Vw== 
Date: Tue, 7 Mar 2023 16:24:10 -0600
From: Steve Wahl <steve.wahl@hpe.com>
To: Luis Chamberlain <mcgrof@kernel.org>
Cc: ebiederm@xmission.com, keescook@chromium.org, yzaikin@google.com,
        jejb@linux.ibm.com, martin.petersen@oracle.com, minyard@acm.org,
        kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
        decui@microsoft.com, song@kernel.org, robinmholt@gmail.com,
        steve.wahl@hpe.com, arnd@arndb.de, gregkh@linuxfoundation.org,
        jirislaby@kernel.org, jgross@suse.com, sstabellini@kernel.org,
        oleksandr_tyshchenko@epam.com, xen-devel@lists.xenproject.org,
        j.granados@samsung.com, zhangpeng362@huawei.com,
        tangmeng@uniontech.com, willy@infradead.org, nixiaoming@huawei.com,
        sujiaxun@uniontech.com, patches@lists.linux.dev,
        linux-fsdevel@vger.kernel.org, apparmor@lists.ubuntu.com,
        linux-raid@vger.kernel.org, linux-scsi@vger.kernel.org,
        linux-hyperv@vger.kernel.org, openipmi-developer@lists.sourceforge.net,
        linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/7] sgi-xp: simplify sysctl registration
Message-ID: <ZAe5batlkUwlKoxx@swahl-home.5wahls.com>
References: <20230302204612.782387-1-mcgrof@kernel.org>
 <20230302204612.782387-6-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230302204612.782387-6-mcgrof@kernel.org>
X-Proofpoint-GUID: -gScpSVwE5aPWwo4gsaN-rEbeWVyAJK_
X-Proofpoint-ORIG-GUID: -gScpSVwE5aPWwo4gsaN-rEbeWVyAJK_
X-HPE-SCL: -1
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.219,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-07_16,2023-03-07_01,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 bulkscore=0
 mlxscore=0 malwarescore=0 impostorscore=0 adultscore=0 priorityscore=1501
 suspectscore=0 phishscore=0 mlxlogscore=999 lowpriorityscore=0
 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2212070000 definitions=main-2303070197

On Thu, Mar 02, 2023 at 12:46:10PM -0800, Luis Chamberlain wrote:
> Although this driver is a good use case for having a directory
> that is not other directories and then subdirectories with more
> entries, the usage of register_sysctl_table() can recurse and
> increases complexity so to avoid that just split out the
> registration to each directory with its own entries.
> 
> register_sysctl_table() is a deprecated compatibility wrapper.
> register_sysctl() can do the directory creation for you so just use
> that.
> 
> Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>

Reviewed-by: Steve Wahl <steve.wahl@hpe.com>

> ---
>  drivers/misc/sgi-xp/xpc_main.c | 24 ++++++++++--------------
>  1 file changed, 10 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/misc/sgi-xp/xpc_main.c b/drivers/misc/sgi-xp/xpc_main.c
> index b2c3c22fc13c..6da509d692bb 100644
> --- a/drivers/misc/sgi-xp/xpc_main.c
> +++ b/drivers/misc/sgi-xp/xpc_main.c
> @@ -93,7 +93,7 @@ int xpc_disengage_timelimit = XPC_DISENGAGE_DEFAULT_TIMELIMIT;
>  static int xpc_disengage_min_timelimit;	/* = 0 */
>  static int xpc_disengage_max_timelimit = 120;
>  
> -static struct ctl_table xpc_sys_xpc_hb_dir[] = {
> +static struct ctl_table xpc_sys_xpc_hb[] = {
>  	{
>  	 .procname = "hb_interval",
>  	 .data = &xpc_hb_interval,
> @@ -112,11 +112,7 @@ static struct ctl_table xpc_sys_xpc_hb_dir[] = {
>  	 .extra2 = &xpc_hb_check_max_interval},
>  	{}
>  };
> -static struct ctl_table xpc_sys_xpc_dir[] = {
> -	{
> -	 .procname = "hb",
> -	 .mode = 0555,
> -	 .child = xpc_sys_xpc_hb_dir},
> +static struct ctl_table xpc_sys_xpc[] = {
>  	{
>  	 .procname = "disengage_timelimit",
>  	 .data = &xpc_disengage_timelimit,
> @@ -127,14 +123,9 @@ static struct ctl_table xpc_sys_xpc_dir[] = {
>  	 .extra2 = &xpc_disengage_max_timelimit},
>  	{}
>  };
> -static struct ctl_table xpc_sys_dir[] = {
> -	{
> -	 .procname = "xpc",
> -	 .mode = 0555,
> -	 .child = xpc_sys_xpc_dir},
> -	{}
> -};
> +
>  static struct ctl_table_header *xpc_sysctl;
> +static struct ctl_table_header *xpc_sysctl_hb;
>  
>  /* non-zero if any remote partition disengage was timed out */
>  int xpc_disengage_timedout;
> @@ -1041,6 +1032,8 @@ xpc_do_exit(enum xp_retval reason)
>  
>  	if (xpc_sysctl)
>  		unregister_sysctl_table(xpc_sysctl);
> +	if (xpc_sysctl_hb)
> +		unregister_sysctl_table(xpc_sysctl_hb);
>  
>  	xpc_teardown_partitions();
>  
> @@ -1243,7 +1236,8 @@ xpc_init(void)
>  		goto out_1;
>  	}
>  
> -	xpc_sysctl = register_sysctl_table(xpc_sys_dir);
> +	xpc_sysctl = register_sysctl("xpc", xpc_sys_xpc);
> +	xpc_sysctl_hb = register_sysctl("xpc/hb", xpc_sys_xpc_hb);
>  
>  	/*
>  	 * Fill the partition reserved page with the information needed by
> @@ -1308,6 +1302,8 @@ xpc_init(void)
>  	(void)unregister_die_notifier(&xpc_die_notifier);
>  	(void)unregister_reboot_notifier(&xpc_reboot_notifier);
>  out_2:
> +	if (xpc_sysctl_hb)
> +		unregister_sysctl_table(xpc_sysctl_hb);
>  	if (xpc_sysctl)
>  		unregister_sysctl_table(xpc_sysctl);
>  
> -- 
> 2.39.1
> 

-- 
Steve Wahl, Hewlett Packard Enterprise


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 06:24:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 06:24:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507968.782189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZnDM-0007Hm-6M; Wed, 08 Mar 2023 06:23:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507968.782189; Wed, 08 Mar 2023 06: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 1pZnDM-0007Hf-3g; Wed, 08 Mar 2023 06:23:52 +0000
Received: by outflank-mailman (input) for mailman id 507968;
 Wed, 08 Mar 2023 06:23: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 1pZnDK-0007HV-W7; Wed, 08 Mar 2023 06:23: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 1pZnDK-0007WE-SH; Wed, 08 Mar 2023 06:23: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 1pZnDK-0003dM-9q; Wed, 08 Mar 2023 06:23:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZnDK-000059-9R; Wed, 08 Mar 2023 06:23: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=hoZ7+8Ww2c4EwICXqYFRpVeraKowK2x8olACgru0RSY=; b=LOEy6DNcamLHOddgShSEcUmiJq
	RLCy28S0ZBaNuwd5L19WCmG2/VB9xaU3vZf4gSj/Z9OhYliv3FGwUB3bmJAFbmru7QKRk45lKdJ8W
	bZgpCRVVhCH9bmUbiDowgTwLQ77bL8eLwaTb5NCTWmn9K1zTCxhrW/SOvso5rECxc5JA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179499-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179499: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:nested-setup:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-stop:fail:regression
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:debian-fixup:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm: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-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx: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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-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:saverestore-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=8ca09d5fa3549d142c2080a72a4c70ce389163cd
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Mar 2023 06:23:50 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl         18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 18 guest-start/debianhvm.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1 18 guest-localmigrate fail in 179473 REGR. vs. 178042
 test-amd64-amd64-pair 27 guest-migrate/dst_host/src_host fail in 179473 REGR. vs. 178042
 test-amd64-amd64-xl       17 guest-saverestore fail in 179473 REGR. vs. 178042
 test-amd64-coresched-amd64-xl 20 guest-localmigrate/x10 fail in 179473 REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 13 nested-setup fail in 179473 REGR. vs. 178042
 test-amd64-amd64-xl-credit2 20 guest-localmigrate/x10 fail in 179473 REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail in 179473 REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 17 guest-saverestore.2 fail in 179473 REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 13 guest-stop fail in 179473 REGR. vs. 178042
 build-arm64-pvops             6 kernel-build   fail in 179473 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-multivcpu 14 guest-start     fail in 179473 pass in 179499
 test-amd64-amd64-dom0pvh-xl-amd 13 debian-fixup  fail in 179473 pass in 179499
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail in 179473 pass in 179499
 test-amd64-amd64-xl-credit1  14 guest-start                fail pass in 179473
 test-amd64-amd64-pair        25 guest-start/debian         fail pass in 179473
 test-amd64-amd64-xl          14 guest-start                fail pass in 179473
 test-amd64-amd64-xl-credit2  18 guest-localmigrate         fail pass in 179473
 test-amd64-amd64-libvirt-pair 25 guest-start/debian        fail pass in 179473
 test-amd64-amd64-xl-rtds     17 guest-saverestore          fail pass in 179473
 test-amd64-coresched-amd64-xl 14 guest-start               fail pass in 179473
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install  fail pass in 179473
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail pass in 179473
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail pass in 179473

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-xl-rtds 22 guest-start/debian.repeat fail in 179473 REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 179473 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 179473 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 179473 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 179473 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 179473 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 179473 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 179473 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 179473 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 179473 n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                8ca09d5fa3549d142c2080a72a4c70ce389163cd
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   14 days
Failing since        178093  2023-02-22 05:02:47 Z   14 days   29 attempts
Testing same since   179473  2023-03-07 06:45:25 Z    0 days    2 attempts

------------------------------------------------------------
2047 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 10:20:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 10:20:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507984.782199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZqtW-0000fG-6c; Wed, 08 Mar 2023 10:19:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507984.782199; Wed, 08 Mar 2023 10:19: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 1pZqtW-0000f9-1M; Wed, 08 Mar 2023 10:19:38 +0000
Received: by outflank-mailman (input) for mailman id 507984;
 Wed, 08 Mar 2023 10:19: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=/hjp=7A=citrix.com=prvs=424740bbb=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pZqtT-0000f3-TQ
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 10:19:36 +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 b4e6503b-bd9a-11ed-956e-85ef70e17bfa;
 Wed, 08 Mar 2023 11:19:31 +0100 (CET)
Received: from mail-dm6nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 08 Mar 2023 05:19:04 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by MW4PR03MB6523.namprd03.prod.outlook.com (2603:10b6:303:126::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Wed, 8 Mar
 2023 10:19:02 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6156.029; Wed, 8 Mar 2023
 10:19: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: b4e6503b-bd9a-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678270771;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=e69zHL8OzqVl5Z5efYW7BW4bCNgE6pRHW+H0nI/cpKU=;
  b=ZoecqbDm6TajbSL8jzPSVN93Evm8VxyluQsTDQWwMKpHy5wrdlwVD9bQ
   V20kGUdDObpzkdelhwaFu6lHfp0TPSfwn7/f0G20a8K9PZ7Q+HbEAeiKO
   GTDQVV/Xi9hB3hL6q25lWY+o2CFhejw/3TAKPYvGFb6x0UBRN4aHao/Tz
   Y=;
X-IronPort-RemoteIP: 104.47.59.174
X-IronPort-MID: 100379393
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:X4EVSqiPWkJRHHoCEAZ7rcPnX161RxEKZh0ujC45NGQN5FlHY01je
 htvXWuFOKyOY2OjKtl3PYi+ph4C7JKDzNVmTwI5/3tmHiIb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5weOzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQYExUhUT+noNuI3bCybLFGm8EvKfPkadZ3VnFIlVk1DN4AaLWaGeDmwIEd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEgluGybLI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjANlNRebprZaGhnWo+WMdNCxIfme9/6SVlhXvSepxL
 Uktr39GQa8asRbDosPGdx+3unmfpTYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWKTVqN+7HSqim9URX5NkcHbC4ACAcAvd/qpdhpigqVF4k/VqmoktfyBDf8h
 SiQqzQzjKkSishN0Lin+VfAgHSnoZ2hohMJ2zg7l1mNtmtRDLNJraTyuDA3Md4owF6lc2S8
IronPort-HdrOrdr: A9a23:TgA0s6zT8Clfe1/9vCppKrPxS+gkLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9wYh4dcB67Scy9qFfnhOZICO4qTMyftWjdyRKVxeRZgbcKrAeBJ8STzJ8/6U
 4kSdkFNDSSNykEsS+Z2njeLz9I+rDunsGVbKXlvhFQpGlRGt1dBmxCe2Km+yNNNWt77c1TLu
 vg2iMLnUvoRZxRBf7LdUUtbqzmnZnmhZjmaRkJC1oO7xSPtyqh7PrXAgWVxRAXVhJI2PMH/X
 LemwL0y62/u7XjoyWsmlP73tBzop/M29FDDMuDhow8LSjtsB+hYMBMSqCPpzc8pcCo8RIPnM
 PXqxktEsxv4zf6f32zozHqxw78uQxeoUPK+Bu9uz/OsMb5TDU1B45ogp9YSALQ7w4FsMtn2K
 xG8mqFv94PZCmw1xjV1pztbVVHh0C0qX0tnao6iGFea5IXbPt0oZYE9E1YPZ8cFGbR6ZwhEs
 NpEMbAjcwmOW+yXjT8hC1C0dasVnM8ElOvRVUDgNWc13xskHVw3yIjtbgit0ZF0Kh4Z4hP5u
 zCPKgtvqpJVNUqYaV0A/pEaderC0TWKCi8cV66EBDCLuUqKnjNo5n47PEe/+exYqEFy5M0hd
 DoTE5Yj2gvYEjjYPf+kqGjyiq9A1lVYA6diP23v/NCy/jBrfvQQGK+oWkV4oudS651OLyeZx
 6xUKgmdsMLY1GeXrqh5DeOK6W6GUNuLvH9hexLKm5mgvi7XbEC5darBsr7Ff7KLQsOfF/ZLz
 8qYAXTTf8wnHxDHEWIzCTsZw==
X-IronPort-AV: E=Sophos;i="5.98,243,1673931600"; 
   d="scan'208";a="100379393"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WdRHSaPRqEtThCUiThKN0AE6d1hwXnmLKL3ZThrwiTGKJBA05MzJsSxvY8VQF9YPRfrTzyQRJUOJTwvdTudEomsLLor+XaFhRSiwKlDO9W/uiNGon1hwjrafEcs6x1pqxWus1hOdHZxoT0y5v6taGu5dsc5pis6xUaYXJSfmUQD4uXbK3ezfbgq2ZeqMLxEBaaGpQ40DX6Vwt1FUtAC9qX/AX/5ipkJ525G8xec4jyfrFsUkQDVXSG0JjGJW2HZyibEssyVlzSXYEv7GSuHgqF20vYCoRLSnk+/n4gFKYh9BgTXPEuauRD4HyP0NhcInBu3YMvCZ0/WPJb64wwsavg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tWjauIYPJsZD0zs6ewMc3BigbWV0VeCop+XPc9hY2eE=;
 b=kBXDI2aROJTnrmYCz92hTg7SAH4QayjTjRAiMtU911tw/8zBIC3DQhQB+fKJUQAV+glGvogxUfY56kfKILurmxG6ERyGaf8he8+mMjdQvBVweqplN0RBrYn258/P1bVBXkIDCG7XBy6wv3jkkUaJcZ96ddN645v8ayk1Iw3YEd7OHaSxGIdGyFkhxDnGNmfAPAktp9mKg7JTK7ePIof2zWimY5FRjMdzhMDg14R3w1J4GIihc3Bi+22DpZxmI4ateA3FwBEc8E7nFeFuzKqUnMsYBszecRRwmXJvIUjM6Wu5TBeT/R4wD0JuyF0v9TyoY0Ev/fWwIJ3UEDFGEZptNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tWjauIYPJsZD0zs6ewMc3BigbWV0VeCop+XPc9hY2eE=;
 b=e5s9RroNbjtNLsbGbHqFk3EUnuH5jhffSF+vndG5cgpEVOQlNJitT9ehHDoIdOgHdbnuseRdDmO5Vt4J4mDG4Zhv7t6HM7YqAyl4T9hWb2FXZQRj7aGPMZJFteVddZ5LxfNPoLB0+zsPaOcaknqi4isoI4qC4hwG+ZxomtNV40o=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 8 Mar 2023 11:18:56 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH] tools/tests: remove vhpet tests
Message-ID: <ZAhhEEz9vOLvhptQ@Air-de-Roger>
References: <20230306162904.7831-1-jgross@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230306162904.7831-1-jgross@suse.com>
X-ClientProxiedBy: LO2P265CA0505.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:13b::12) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|MW4PR03MB6523:EE_
X-MS-Office365-Filtering-Correlation-Id: eb07cdd0-cad7-4e85-7377-08db1fbe8996
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	x2Y6FXKwcfBeTJ2BEKkgCdJDk9Yfua/xv0F6KK/6TWxRFuHf7GedzDJjXG24lvi30wjtngXZeRiESxioOPhbnKQdmhrFwIRaUiUgPNOTyjINDck7xVXuR4RXa3hIaX7+5umDDmiO+fSyzqlQaPrTgzwQxl1e4Qo4mJNbiLa6rtNTVuX9tWdfAVFu2RRUcjbSm8W3Iwdwm/Zw2XFHodsSN/MQ6korG1nN2sMirGP1uACfWNxBXg7b2K9SMcXaplUDdyvl+tJjlXnS4OaHi+SejtouzwDbaWWbe05VYGCscbOhVgAAWxOE6bJDjz/fcOFJkjVLBPJmZmLhyAf5tClP7QqFiTkNcDkwG3B6L+nm5nzSAbck9RQB4+/wDmjF9onuq4uHO+FBnK6ri/5i9bWDgcHtd6lOicaVTPaSNFceKy3avE+KYK+GJ8vcSGhEFnCaSUPvfknsudTdXjei21oN2YF3XuAUXCFxiVxgwaFxcZjw5Qbv3NmbBkW7qDWf7kWaNAfA13ANq2Hm7QhKAXF6MWc9Hog89lAl8d6j2cGEe63GKsBfvAQIsgaY5Hvaed2yxpYfKZjKAaypRr7Mf/0zdJMuqEV9QTLJ3MQ0jArPwKot6QVzie9NJ0PrOctnT50ffy++xyTRU6cHmV5cAz3KHg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(376002)(39860400002)(346002)(366004)(136003)(396003)(451199018)(5660300002)(8676002)(85182001)(6916009)(4326008)(8936002)(107886003)(6512007)(6666004)(41300700001)(4744005)(2906002)(86362001)(38100700002)(82960400001)(66476007)(66556008)(66946007)(6486002)(6506007)(54906003)(316002)(478600001)(33716001)(83380400001)(186003)(9686003)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K3BqZjBYTS9uK2Nkd3psMDMycmxYUHRqSENpeUNrWW9ta0xvMmpQcXA5cVhk?=
 =?utf-8?B?Ynl6TmxkRXlzTFdPUDhXRVExcEsyRW40Q0U0bmdyUm1teGh0c1EzOWhVaWVr?=
 =?utf-8?B?Vld3SXlPSWRJaSs2YTVQNndEZlQxMWZrTktvODFxSzFtdTJaVGdpRVpHNlJU?=
 =?utf-8?B?NHVDZ0hpbUoyZHZjTk9MUkk2bUZwREdaWmhlRDVkZlplYnZMQjRMVkVSOW8x?=
 =?utf-8?B?amZIWnF2eVkzcHRlR0FkVWh2TkhZek5peUhaeU5BV0d2cHQ0djg4Z25qdWta?=
 =?utf-8?B?NWpsZ2xSWUtPNXFiL3g1eVlMQTNWZjR2OGFvY3crbC9ZWXE3TWZLdGR6Mm0z?=
 =?utf-8?B?SkNJejdBa0tyN2pBNlZJUU9nTS9BY0gvTEpjb0lIWEhtTjR1M1NyeUpuc0VG?=
 =?utf-8?B?amFzeG9SSHVpUFhEN2thRWt2VjFpOUtaakZBcTU1azJ0dFJJSk5YcHlXK0hZ?=
 =?utf-8?B?djlhTjF2Nm1GZ3BlZVpJVTJlM3pqMVIzV0krQWZIMmU2azROakpudk81SXJB?=
 =?utf-8?B?TE0xWXFNMml1YlVONGhuZzhxc1ZUM0x1bkhNaDg4UVY5SXhIaEZ3UGZmQkZT?=
 =?utf-8?B?cTlzTHh5MmhGUGpTMk4vVkkxcW95VDlUK2UzLzlYMEtyRFBTMFlrSGlRZFBJ?=
 =?utf-8?B?SEdELzJNKzJsam9uK3VJeldUaW5EUDJFdDY3QWVVeWpzUi84WEVyVVU3amYr?=
 =?utf-8?B?NVUwM3ZNdFB4TFYreHcxZTVuVW16ZGhieXpZWGo1dXp2ZS9ndFU4QkRBdjJH?=
 =?utf-8?B?cjQ0L05tSWI1WFp4RTJXRmNvbWlFQVl4eWN4WmRYd084UEJmWnI5UU1RK1Jk?=
 =?utf-8?B?c1FpbHlkUDUwSC9zZWVwdk9GbGV5TGw1Z2VSVDVyWXZnQi9GUFVuRnN5V0RI?=
 =?utf-8?B?MVBXdzkzdzVLQ2pHdkVNQkxnZ1htVi95dE9IVWlUZ2tlRWhrZ3NkNlEwek1x?=
 =?utf-8?B?Sy9rd2dSTmhlTzBvSHBNRStmcVJPQ2dmS0hpMy9uNzl3bXd5QkJOM0FDNzYy?=
 =?utf-8?B?TjhVT0dmVlZuSHJWWUVVUmhTdFpVdy8yNHEwSU10N0U5VG9qUWRLaExqb1Ra?=
 =?utf-8?B?d1RCRzNZN21UZ212YWJLbWZWT1Jtb0lKT21zMkVZRVhaZUpEKzN0Lzlvby9T?=
 =?utf-8?B?c0VYREExT0JFaWg4U2FwZUhCTXJKeG9EUVdoSVJ6czlNZnNzRXRqN3J2dHFz?=
 =?utf-8?B?NmhvVzBLWWhWcW9KVWZKMWFjOXlLMWFLRVV5bHVGeVhlUTZwSlZHcGo1eFRm?=
 =?utf-8?B?bDJ1bjhEa2xKcWZETXBQdWFKa0pnRnFwcEljbTRDTEIwL2ZGcmR4SmhUNVRO?=
 =?utf-8?B?SHFuS1ZIUHhnVXd1TUdScUh6eUZYbGxDNnoxcTZhSUhoVTlYOGJQK2k5UW9Z?=
 =?utf-8?B?ckEvQUZyODFudzROZUd5cTZSZFIvRmpjRmpoQUlqcklxTm8zU3pNVlE0U1Mr?=
 =?utf-8?B?djNEZnZ5c2pXbVludURLYUdOR0V5UE9lTnBlcFF3cmUycFNCTXp6akE2dGEy?=
 =?utf-8?B?NmtEWVMwSmlFejYveW1xb05HUnUzM3UxbWgyaCtlcDZKTVRvYWRLc2ZzaUJP?=
 =?utf-8?B?a3RSRm51TTNuQlppWUd2VTZucTBrZVJtOWVtSlBqVE5KS3Jza3NEaHkvYThS?=
 =?utf-8?B?STlQQnNuNmx5K0ZKbE9NRjdBVE82TEorL1M5VnpqUmhSbXE4M2NtY3lMSTlq?=
 =?utf-8?B?eW9yTCtZdFJ4UEJiT25HTkl3cUFBa0piQmVvdlc0dWh6MEMyY2psSWp2UjBV?=
 =?utf-8?B?d1dZMUNhYjJiQXk0RWxxTUo2QkRseitEeVdYNEpmSlB6ZCtaOHRpWGpxNTNF?=
 =?utf-8?B?RU56Y3JDWjd0c3JrMXhINDdnTWxsUTNmUW5yQ3NVbi9haVpRQXM3eXdudXdt?=
 =?utf-8?B?dy9ibjM0b1d5V1l4ZFk0NDdqTDRWMjFZdGR4cnNUNWxCa0I3clFMVFJVYUZh?=
 =?utf-8?B?NlBSanZVeWZtYVZ0UHF2cVF4eS9nZEJZZkdDVXFkT3Q0ZERNNTM1V1R3VDhD?=
 =?utf-8?B?VVN6Y3A2UklmcnlzejkrZXpMR0NNRU9Bbzg3NTk4aFhRS2w3NFhIcXdxMWJu?=
 =?utf-8?B?UTNUM0R2WFI2bEZJNVlkK1h3Z2JXUld4YXlmN3lkdk9IcVR6aytJdGpvN2Nj?=
 =?utf-8?Q?/g5xo4VrpfXn47ZTeoLPiO67i?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	HvVI525ua3+q8dll0p6+BTadAt7q24TIeI/vTfc9SQ+4G2dAuqHC2dkg7tP92BQwmFCwdBe1/Rqrg6jlzcg0QaNzdz1SE4SGMQT/oEYyj8gdUfQygg+3K/bBcdwNQi0/fNtZoYmjIDuDkUaHhIR9eicQSZ1/nMJLJsPK6q9MfgypmDvBB9zH+nphhqgk3NrJFuchyyC5JHPGGWNQtdyUx3THFYQZ1UzWmQm28t7yxCtVdojbqqKCj4HU2R8EFKY+zhB2oZbt9xFIJH8nN+jFcHaMREUhEzT0OZYak8WvSqi0Gsg1J841MWPkRwNj9pSsqWDV1jr65AMhrt/+kbq7Pvzw44U0Ur5oDstu+Bh37QbgB5Bv1l0oC/5lPmeRGoMC0zIvMgE7tSzroVBfcOj0jKvZfoP+mfI0DhdglTgz49MNedKrQJL9EwtW7zvyEE/Qx0CdrJGWx4tNiIFrraYQOeEwJnBn/K7bkqIm397/QCR+yO7xsTuUdxAmPXP2u+w929TCmXZJiNM9ADc8z58SGlZvooWgjrHKjPvPtk/9FhOicBVo4B9lx50mjliDSZHiCFKGEISFq8ExBXG0/dVc0oYM7SJUP/ZLniOBhMz25k7733wBn/T1isOLEIeFNtH0usbDAG3eQwLf1Z8YJ3Pi6PH6SrgFuOpHh9LyhXZznK4pVGDGkjAsj5LlY8FC3EkwO5C8TKcWRD2HoGQ2k7TWNoZRV5YFMZBCILW2caIsHsIU4MPCBv/zI0/tNNhRFovBGWuod7Yqe5F0+biaM46uEmZ+gLJteZ3Gye1iQ97NebbGY046lqr4EW6tggdAkE87
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb07cdd0-cad7-4e85-7377-08db1fbe8996
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2023 10:19:01.7830
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Hg4jbAZvBbtYWzbDQk8TAS0DbwB5ApbHZPQTGdaBo2x/sJm6OmUdpAlSsLiP18okove/L9xpTiPczPwjW0neYA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6523

On Mon, Mar 06, 2023 at 05:29:04PM +0100, Juergen Gross wrote:
> tools/tests/vhpet tests don't build since ages (at least since 4.10)
> and they can't be activated from outside of tools/tests/vhpet.
> 
> Remove them as they seem to be irrelevant.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> Andrew seems to remember that Roger wanted to keep those tests, but
> this information might be stale or based on false assumptions.
> So this patch should only go in with Roger's Ack.

Everything I've done related to the vHPET was tested using XTF rather
than this unit tests. I don't think they are useful as unit tests, if
anything we should consider re-implementing them using XTF.

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 10:38:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 10:38:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507987.782209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZrBT-0003Gy-MK; Wed, 08 Mar 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 507987.782209; Wed, 08 Mar 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 1pZrBT-0003Gr-JL; Wed, 08 Mar 2023 10:38:11 +0000
Received: by outflank-mailman (input) for mailman id 507987;
 Wed, 08 Mar 2023 10:38: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=WAAO=7A=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1pZrBS-0003Gl-N4
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 10:38:10 +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 50ccb20c-bd9d-11ed-956e-85ef70e17bfa;
 Wed, 08 Mar 2023 11:38:08 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id bi9so20760102lfb.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Mar 2023 02:38: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: 50ccb20c-bd9d-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1678271888;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=5wiR37Bfz55jTjnwRV1Vi5HrHY+NrM1YLrJN0P0JzgA=;
        b=jmJ5Gibinc9Ef31JHP/E8uUU8loGqpJQ3UPXRw+3A0+NxS3daI31XNp/GHL1QvlHEA
         kVpI01GVLnBBnSz75kvNemZYX1sfaZd3Z8Or8eoFhvGgVcR5z3Of4lW5Q9ewPCByGw2e
         Z615r1ul8/PwWh4RkAgKWYbRe+86WkJhZfMTc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678271888;
        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=5wiR37Bfz55jTjnwRV1Vi5HrHY+NrM1YLrJN0P0JzgA=;
        b=XeTcX1M/n5l+j+x33fZ5hefls4Y+heZGAD4kB4zPjMeYMkdwbiWbnUlNSf0LUTFc47
         mBNzSVu0oyiZGKjRAAlsKcvCclU+xwGAGnV4ypaLZeTwISX0QWucGVvCCr+yiv3tFzSS
         9Gh0Q/JZ8iQTt75qZvF+mc3+agQyG27y3fQh1f+cPaOi4WoGZIfu8X2dA4/8GsW4ZaBc
         ZkkMV4c2WlMHwv6JO7/Tups9nNE40ZKXM/mMoWfYUMQ/oV33WrPEXMPZcsCC0XOYhPNk
         lBLkWuG1rrISfqPfImDdyrRrTTDmOrtYkNId9Q8eFomXG0f8tAhwFVgQOBtvy6hDRqyr
         WWeA==
X-Gm-Message-State: AO0yUKWCf/qJ7Alvs/kd+Bd8JXaGilhdFInaN7jxIQ43/MpB9YFZdtlY
	XdOhJuFy8BUl3p36hSsXH9i4rKed0io7dM8R+v2O7Q==
X-Google-Smtp-Source: AK7set9CPNiMh7eg8ziVZRGkbDbP+UPuAvGyjmWxrnd3umVaLEz0JNG5cp56sQYU2dQY2kX9olrURK1TihJ9O057Wh0=
X-Received: by 2002:a05:6512:488:b0:4dd:a058:f088 with SMTP id
 v8-20020a056512048800b004dda058f088mr5317232lfq.8.1678271887672; Wed, 08 Mar
 2023 02:38:07 -0800 (PST)
MIME-Version: 1.0
References: <072cf7c6-9f43-6507-bf8c-a79ceedf3000@suse.com>
In-Reply-To: <072cf7c6-9f43-6507-bf8c-a79ceedf3000@suse.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Wed, 8 Mar 2023 10:37:56 +0000
Message-ID: <CA+zSX=YEsdgH6kzpqh+UvH1PMPPotzVUDSG_p-bHefUPX93ntw@mail.gmail.com>
Subject: Re: [PATCH RFC] bunzip: work around gcc13 warning
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, 
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Content-Type: multipart/alternative; boundary="000000000000b39a1b05f6611fde"

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

On Fri, Mar 3, 2023 at 7:29=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wrot=
e:

> While provable that length[0] is always initialized (because symCount
> cannot be zero), upcoming gcc13 fails to recognize this and warns about
> the unconditional use of the value immediately following the loop.
>
> See also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D106511.
>
> Reported-by: Martin Li=C5=A1ka <martin.liska@suse.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> RFC: We've cloned this code from Linux and the code is unchanged there.
>      Therefore the same issue should exist there, and we may better get
>      whatever workaround is going to be applied there. But I'm unaware
>      of the issue, so far, having been observed in and reported against
>      Linux. This may be because they disable the maybe-uninitialized
>      warning by default, and they re-enable it only when building with
>      W=3D2.
>
> --- a/xen/common/bunzip2.c
> +++ b/xen/common/bunzip2.c
> @@ -233,7 +233,7 @@ static int __init get_next_block(struct
>                    becomes negative, so an unsigned inequality catches
>                    it.) */
>                 t =3D get_bits(bd, 5)-1;
> -               for (i =3D 0; i < symCount; i++) {
> +               for (length[0] =3D i =3D 0; i < symCount; i++) {
>

My main comment here is that nobody looking at this code will immediately
think, "Oh, I bet this is to work around a gcc bug that can't tell that
length[0] will always be initialized".  I'd put it in a separate line, with
a comment explaining the situation.

 -George

--000000000000b39a1b05f6611fde
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Fri, Mar 3, 2023 at 7:29=E2=80=AFA=
M Jan Beulich &lt;<a href=3D"mailto:jbeulich@suse.com">jbeulich@suse.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">Whi=
le provable that length[0] is always initialized (because symCount<br>
cannot be zero), upcoming gcc13 fails to recognize this and warns about<br>
the unconditional use of the value immediately following the loop.<br>
<br>
See also <a href=3D"https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D106511" =
rel=3D"noreferrer" target=3D"_blank">https://gcc.gnu.org/bugzilla/show_bug.=
cgi?id=3D106511</a>.<br>
<br>
Reported-by: Martin Li=C5=A1ka &lt;<a href=3D"mailto:martin.liska@suse.com"=
 target=3D"_blank">martin.liska@suse.com</a>&gt;<br>
Signed-off-by: Jan Beulich &lt;<a href=3D"mailto:jbeulich@suse.com" target=
=3D"_blank">jbeulich@suse.com</a>&gt;<br>
---<br>
RFC: We&#39;ve cloned this code from Linux and the code is unchanged there.=
<br>
=C2=A0 =C2=A0 =C2=A0Therefore the same issue should exist there, and we may=
 better get<br>
=C2=A0 =C2=A0 =C2=A0whatever workaround is going to be applied there. But I=
&#39;m unaware<br>
=C2=A0 =C2=A0 =C2=A0of the issue, so far, having been observed in and repor=
ted against<br>
=C2=A0 =C2=A0 =C2=A0Linux. This may be because they disable the maybe-unini=
tialized<br>
=C2=A0 =C2=A0 =C2=A0warning by default, and they re-enable it only when bui=
lding with<br>
=C2=A0 =C2=A0 =C2=A0W=3D2.<br>
<br>
--- a/xen/common/bunzip2.c<br>
+++ b/xen/common/bunzip2.c<br>
@@ -233,7 +233,7 @@ static int __init get_next_block(struct<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0become=
s negative, so an unsigned inequality catches<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0it.) *=
/<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 t =3D get_bits(bd, =
5)-1;<br>
-=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0for (i =3D 0; i &lt=
; symCount; i++) {<br>
+=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0for (length[0] =3D =
i =3D 0; i &lt; symCount; i++) {<br></blockquote><div><br></div><div>My mai=
n comment here is that nobody looking at this code will immediately think, =
&quot;Oh, I bet this is to work around a gcc bug that can&#39;t tell that l=
ength[0] will always be initialized&quot;.=C2=A0 I&#39;d put it in a separa=
te line, with a comment explaining the situation.</div><div><br></div><div>=
=C2=A0-George</div><div>=C2=A0</div></div></div>

--000000000000b39a1b05f6611fde--


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 10:43:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 10:43:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507990.782219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZrGO-0004t7-86; Wed, 08 Mar 2023 10:43:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507990.782219; Wed, 08 Mar 2023 10: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 1pZrGO-0004t0-5J; Wed, 08 Mar 2023 10:43:16 +0000
Received: by outflank-mailman (input) for mailman id 507990;
 Wed, 08 Mar 2023 10:43: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 1pZrGM-0004sq-Rx; Wed, 08 Mar 2023 10:43: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 1pZrGM-0005Sj-OW; Wed, 08 Mar 2023 10:43: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 1pZrGM-0005YO-3C; Wed, 08 Mar 2023 10:43:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZrGM-0000G7-2j; Wed, 08 Mar 2023 10:43:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ij/64DKYho/id0Z8gpzIS3qMfBzfqnnoah7Gz1Uw+5E=; b=LnycEFmwn6SeKshWHp/kwJeIjh
	pXNVz/Jtf7mVHrNZvu8N2IlIsX00Tkn3VDKn2UegRE3M5RR5mZG7RMhv5czwPob0oFEtT6F3Upw2W
	ccflfXDXWUzmTNwS7pCVJcAtQzpYPWkKqkubh2qADny8mjaImdfarcqT44TmLATAKdXg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179501-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179501: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-xsm:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=9832009d9dd2386664c15cc70f6e6bfe062be8bd
X-Osstest-Versions-That:
    qemuu=c29a2f40cd5d1fdad4632b48343cd968db041a44
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Mar 2023 10:43:14 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-debianhvm-amd64 7 xen-install fail pass in 179507-retest
 test-amd64-i386-xl-xsm 22 guest-start/debian.repeat fail pass in 179507-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179497
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179497
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179497
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179497
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179497
 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-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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 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-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      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                9832009d9dd2386664c15cc70f6e6bfe062be8bd
baseline version:
 qemuu                c29a2f40cd5d1fdad4632b48343cd968db041a44

Last test of basis   179497  2023-03-07 13:09:12 Z    0 days
Testing same since   179501  2023-03-07 23:38:47 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Alistair Francis <alistair.francis@wdc.com>
  Anup Patel <apatel@ventanamicro.com>
  Bin Meng <bmeng@tinylab.org>
  Christoph Muellner <cmuellner@linux.com>
  Daniel Henrique Barboza <dbarboza@ventanamicro.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Ludovic Henry <ludovic@rivosinc.com>
  Mayuresh Chitale <mchitale@ventanamicro.com>
  Palmer Dabbelt <palmer@rivosinc.com>
  Peter Maydell <peter.maydell@linaro.org>
  Sunil V L <sunilvl@ventanamicro.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     fail    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-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-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   c29a2f40cd..9832009d9d  9832009d9dd2386664c15cc70f6e6bfe062be8bd -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 10:49:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 10:49:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.507997.782229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZrMZ-0005kt-1H; Wed, 08 Mar 2023 10:49:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 507997.782229; Wed, 08 Mar 2023 10:49: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 1pZrMY-0005km-Um; Wed, 08 Mar 2023 10:49:38 +0000
Received: by outflank-mailman (input) for mailman id 507997;
 Wed, 08 Mar 2023 10:49: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=QxYi=7A=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pZrMX-0005kg-Jh
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 10:49:37 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062d.outbound.protection.outlook.com
 [2a01:111:f400:fe59::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea1dbc04-bd9e-11ed-87f5-c1b5be75604c;
 Wed, 08 Mar 2023 11:49:35 +0100 (CET)
Received: from CYZPR05CA0004.namprd05.prod.outlook.com (2603:10b6:930:89::25)
 by MW4PR12MB7262.namprd12.prod.outlook.com (2603:10b6:303:228::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Wed, 8 Mar
 2023 10:49:32 +0000
Received: from CY4PEPF0000C981.namprd02.prod.outlook.com
 (2603:10b6:930:89:cafe::b8) by CYZPR05CA0004.outlook.office365.com
 (2603:10b6:930:89::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.17 via Frontend
 Transport; Wed, 8 Mar 2023 10:49:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000C981.mail.protection.outlook.com (10.167.241.203) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.13 via Frontend Transport; Wed, 8 Mar 2023 10:49: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.2375.34; Wed, 8 Mar
 2023 04:49:30 -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.2375.34
 via Frontend Transport; Wed, 8 Mar 2023 04:49: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: ea1dbc04-bd9e-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=frnlPcuhR7XV7yKljEQOkJdKoJH9ZPKEvwPOWf0R3lBt6rWOHCxnJRZvNrRaS5vrwM3DVDxbRLpnHrwvMzMx1LIE8loS8BOfDf8O9dM1/t9hBqzEmcDN6dugO2Ejndtk8eGcuMtSQ1GchPameAhsw3EeS6dMyRSR5mTiulZOy3sW10i3DudRPdxUm778RJMNn10ue1ejoxFcAhaGPdVdkROOMm2VcWca3LdfLyeChWedYzmtpq9FqiFq66KS5rVEvHoXrJkUa6DKNMoaqbDwjwazl+PXNBShNp/j+LPJ9m5HYIajWsiNJMrJham/1zZRU2Z7f+fyTY1KOjG5qplUxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rR4T2rVnujEKZRqweJsHG1eLhjrxQCnqKPb0MvKT94k=;
 b=k2ceXWFYbDE8P5UO4oCGA6iTyu2WBoZDlBsTYX+rEvE/AryRyMH+JqZ2XxDWx0PhJhcGP5xM+ZhGtBkldzKSmcZpk+m9P7A13v9rKiG5X5M7Lxvr6pxsOwio7OG1OlX5cvMb5SVAeBf59qZ2X8KsCc1aa0PPWzTRpeMJXosbpNXbsp3gxVHJYnKoO4xecQk1Z3Wp3FCZBk2CP1J+TD5IKvUVTNHzWp7KVAZn4jiAxkk+hdB3SXRgdoeEsK+jiWVViK4Pf1p+pZq6x7CeRcMCMvwf/V6hGgYXGGkKd4VFJpNMXiW6eShnw9o7AFk0AnujXAXICuPeYf1Jw0vM6Q4LFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rR4T2rVnujEKZRqweJsHG1eLhjrxQCnqKPb0MvKT94k=;
 b=G5Ge6dHBUuTKBb6762Bra1W3DgeKwpMAkqgOMrzTEPuLEhSkU5WfdTo5agbX0UoOpaeks0ssfq0br15UgbcZSQ+rmK/1lKBaUHsBvd9Dgl4+2NgE1vF+xJTAfwT2WPttc+V/5Lr/vr3+l6GJkHdP0cAzOSPdvrztyNCM4PB6BUM=
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 v2] build: run targets cscope,tags,... using tree-wide approach
Date: Wed, 8 Mar 2023 11:49:27 +0100
Message-ID: <20230308104927.18078-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: CY4PEPF0000C981:EE_|MW4PR12MB7262:EE_
X-MS-Office365-Filtering-Correlation-Id: 2bf2393c-ad04-4081-15c3-08db1fc2cc31
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PSUzTsfbJ2cQ6iyLfJY5wE1cDozUfHo1imO+hFZB7q0xgYOrsOdyhy50WAZ2m3SrLl+4itnAbKCCBEpS6iBdNU/OfmZPc+XdTN8GqgSu5DjKou4QXCqb7it9koBM/pXO5eO3QVXzjCEcZLyUjGaFVaAldcmyYoU/MyBfcYeTvhlkYoIcUjqIPLrR1Ae4C1jyBrIgjm4zas2JIFJ/mL5JRk5iSwM+U3EFGquOVkjgYA9Z2kqBNzJ5C8JbJWmswN1KDAmWiu2h7Qq7YKGKXjspp19QBFweMv5QaIOTXtfO5cueRXYvs+r66T12JjLcIiNs0RXSjSgvKQoXwz2tFxNn2/n09D8b8DRORXkILyMJTiOFqCemO44EqEMGOkijI/8I5CUjFL66F7EKpF7Iao+juYJ3Y50A5saU/139/pOV62BRMxR/Z8+183IrZG4aIy9UbM840+zG+HQ+1hQf+KzjVuDSoFN8zvy3ijttEeN64a6/IuqeECJkjpH+1Xdh36wyglDXcnE61YJK58BFoSqJpfRYaNxfBKLsZbXPrS0irsLPLk13KJaiIUJnADetSWd+3lIQQfJZPPTXt3tMoeWdwOtkXejpTZjrOALPHY8ml3gmoBMft7HAOB3eaq3JEkExgyhSX0jOQQ6UMfP7G99VH4hZh7Qj6ZQr5nwkMpwsJ5NHZ6uCDIIyBLILBhaxWIvlGulrC1kK68pSjAlLmqIawXGmpLGPBSpdAviwdHrRKYg=
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:(13230025)(4636009)(39860400002)(396003)(346002)(136003)(376002)(451199018)(40470700004)(46966006)(36840700001)(5660300002)(86362001)(8676002)(36860700001)(70206006)(356005)(81166007)(36756003)(4326008)(70586007)(1076003)(82740400003)(6916009)(41300700001)(40480700001)(2906002)(8936002)(44832011)(82310400005)(47076005)(186003)(2616005)(26005)(336012)(40460700003)(426003)(83380400001)(54906003)(478600001)(966005)(316002)(66899018)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2023 10:49:31.1849
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2bf2393c-ad04-4081-15c3-08db1fc2cc31
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:
	CY4PEPF0000C981.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7262

Despite being a matter of taste, in general, there are two main approaches
when dealing with code tagging: tree-wide, where all the sources are taken
into account or config-wide, when considering Kconfig options and actually
built files. At the moment, all_sources variable is defined using SUBDIRS,
which lists all the directories except arch/, where only $(TARGET_ARCH)
is taken into account. This makes it difficult to reason about and creates
fuzzy boundaries being a blocker when considering new directories that
might be config-dependent (like crypto/ which is missing in SUBDIRS).

For now, switch to the intermediate solution to list all the directories
in SUBDIRS without exceptions (also include crypto/). This way, the
approach taken is clear allowing new directories to be listed right away
without waiting to fix the infrastructure first. In the future, we can
then add support for config-wide approach.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v2:
 - was: [PATCH] build: add crypto/ to SUBDIRS
 - use tree-wide approach to remove ambiguities

Based on the following discussion:
https://lore.kernel.org/xen-devel/874a28ac-3ae4-a6c6-c230-570be3672441@suse.com/T/#t
---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 2d55bb9401f4..2710d7327e35 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -589,7 +589,7 @@ $(TARGET): outputmakefile FORCE
 	$(Q)$(MAKE) $(build)=. arch/$(TARGET_ARCH)/include/asm/asm-offsets.h
 	$(Q)$(MAKE) $(build)=. MKRELOC=$(MKRELOC) 'ALL_OBJS=$(ALL_OBJS-y)' 'ALL_LIBS=$(ALL_LIBS-y)' $@
 
-SUBDIRS = xsm arch/$(TARGET_ARCH) common drivers lib test
+SUBDIRS = xsm arch common crypto drivers lib test
 define all_sources
     ( find include -type f -name '*.h' -print; \
       find $(SUBDIRS) -type f -name '*.[chS]' -print )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 08 11:03:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 11:03:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508000.782239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZrZN-0008Lh-5f; Wed, 08 Mar 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 508000.782239; Wed, 08 Mar 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 1pZrZN-0008La-30; Wed, 08 Mar 2023 11:02:53 +0000
Received: by outflank-mailman (input) for mailman id 508000;
 Wed, 08 Mar 2023 11:02: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=hVld=7A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZrZL-0008LA-94
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 11:02:51 +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 c3d18045-bda0-11ed-87f5-c1b5be75604c;
 Wed, 08 Mar 2023 12:02:50 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8175.eurprd04.prod.outlook.com (2603:10a6:102:1bc::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.17; Wed, 8 Mar
 2023 11:02:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Wed, 8 Mar 2023
 11:02: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: c3d18045-bda0-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PkUpMfbaaH4UC/Fe/xL6c9ZK7e94koZ2ui5QhYAETX2WaIoaw2AXGgOj0D6nq4G6UpZqbUfndWTRF7mPjwC1GpftEr9Sm/uhRdLnD6CYY9jRB7Al2B3d943moGda5miu9XH8gXz0wTKPJdhU9nfXJ4pdN4D2IlP/nHQquW5lIbo+8so3iIluN7P96QOz1Ta9rwL9li/qLYimU3jewPgHZ42y45N7Tm1JZBpOfAmqVYySte+JyGj9nnUp35IFqzbtgYlJAHEQQ9PWWLw5ETwae0WiL1SRB5qxyKEjiGhLOLo3/06ipK/XKuZ1MbW+mtAPjLxnXj/pAhCauXwZog9Y1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=82gSJGC8Qmr2D39y8z0eCkXsZwn26/w8AM53seY8BE4=;
 b=TgfXkluN5QrC1K+sfE1vwum4pzYvtduSvd0vYKegsfxZF8lbUZo+VqgffFI/omHQhVc1HR13xhUZYA2GDJ0pFjWd9q2NzlXz0fQUdg655hdPd0CMBe3jWOtU3FVXH4hRp2IbltoReUtfU0nxx1/8VFo/L4WJKgoHZm8CVZMXZq/m3rJ7nt9FLXys0PTPI8gWZF3lfuwZ1WFBVlOQsk2e7XW7aAKhp9hT96wEo6xb+Mx6eaIIPBtDW3mYaFNoRKjQ8OS6Vt034m4glkWdK6aGkstk53SI2w6f/L8zzcl7bIFfK+BJgHEvxOMJQJInQnPyLaB5Ezuw1V6DHu1jCXriIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=82gSJGC8Qmr2D39y8z0eCkXsZwn26/w8AM53seY8BE4=;
 b=wNNTv+vZMKX9jujpTp0syZAMaWScPu6wqN2ZaM0ClulE4DS+45spIx72NjnTqUR9aTlHMCg63ScVaCT3h3/u27A9RErkCGqPZ+uPJ3VJaVZ9KTYYGsF3cfrl/2ZZPDN0DSCoEH1uoLFjD7JsLzrKnUzo32R9wq7m4bYTkvAyB0vQpjNmyuOQyh3X2aCGjcMtTAr6hbzUv159xfvIoH+c/n4+hla/hxuWMFi8xcqJ4jp4k/ctbuNGoT2YsZMjyRpwcrBsCbjEM3kOUK7Foc6PhcP3FF+V6Jtm94Wf9AQtJpv0GGQdZXVnBp2e/FaCn/RYxuGw7WramWmSSPRoRX+77g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1c1bb97b-279b-ecbc-e308-cd3ee954a4a2@suse.com>
Date: Wed, 8 Mar 2023 12:02:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH RFC] bunzip: work around gcc13 warning
Content-Language: en-US
To: George Dunlap <george.dunlap@cloud.com>
Cc: "xen-devel@lists.xenproject.org" <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>
References: <072cf7c6-9f43-6507-bf8c-a79ceedf3000@suse.com>
 <CA+zSX=YEsdgH6kzpqh+UvH1PMPPotzVUDSG_p-bHefUPX93ntw@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CA+zSX=YEsdgH6kzpqh+UvH1PMPPotzVUDSG_p-bHefUPX93ntw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0199.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8175:EE_
X-MS-Office365-Filtering-Correlation-Id: 1f4d16ff-16dd-4a31-f547-08db1fc4a6be
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	34e0SwPgY2YEVhUtafrGFkqX57AaNg5dBgOegW54U/XtjAYthccu8IFYObfY8kLO7dqj1KDFERjQ53tgt/6tW3AFFT+WcHgHOrQqyVWa3YT+JuKxR4jBDfRMyJZEVNHIlkwgDi6PqDCjUJ/nxCyveCyvoh8qUsYssuDFI1Wr5swIlrzy5m2ASmRO+NnEXzhEfKiqhsAcHzV9a8JGWE9wM+eaiRQ6jMjFFvm8PRK4kl/TLRvZPdsiVz/f4AfvvBAyV4lHDsLVXKNSBhUYpcWF1VRYJAebpR65eOBKEJRxzSGbMyVeAUD15j+53YxOMR9l7JKzoJE3n/F+oJpbeMP3YbpGwoyhA7PAfAPw9m+mKHtnwXbYD48qm5bvHxopZsa/Kk0ZTi96egJoxbsJzPwWHR2/RMDtY00DJ13le1QFMur3vCB7kgYJqNEee+A8UvQr1ZRcZ+4PhH3tQwCvUG5VpPDBb2NCNW2s1J65UFWpW3o8u6mHmBUk4qslyjuAf2HngsqQ8Bfl1dFwSH8UvaFx8Gl0U6LSUrwn8p0Lg9mqQIX1wWCwc7cmqRdH4JDfl4phbjVm4+3xiECf9kTjOeFN7yYgRG9awbyT1yPkHiRa3KwWh3IYpJrovsOFmVpfavYrLpo0dQdCh4/TfNX122vPjcYlG2aD2XJtIDFRotdpMuzi2smQnvlItqhSDKF3+wyDRp7rDO/0vqoOFnnsI5x/m0Po/TeubRVyc83nv9tEz1g=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(396003)(39860400002)(376002)(346002)(136003)(451199018)(5660300002)(8936002)(6916009)(4326008)(66946007)(8676002)(66556008)(66476007)(86362001)(83380400001)(36756003)(54906003)(478600001)(316002)(66574015)(41300700001)(6486002)(966005)(31696002)(2906002)(186003)(38100700002)(53546011)(31686004)(6512007)(26005)(6506007)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dEYyODR5YmpZZFNzdW90ZmNkMFZab3h4cFFTeWU1bHhTRHQ5S1NlcXAyeDRi?=
 =?utf-8?B?S2ppSkVjSDFNLytidzV0cHE4amRkckNvVGdqMmczYXFUTnJEaFE0blM4c1pB?=
 =?utf-8?B?Qi9lMnBXOGZoaDk4cStHeklIdFRoMy9wclBJcEt5TDNzMXF4OENhNTVmTUIx?=
 =?utf-8?B?Tmlpd1lBTi84dWp0dVU3UHJLZHVpamUrNm5JaHY5WVI5M0JhampEUU96bC9n?=
 =?utf-8?B?WDRIQUtudHN2dEtHZzk3MGNFdENhK0VodndsdWpsSG9lSEVRUkthdFVjSFIx?=
 =?utf-8?B?NVA0Q0lkbTBnakJCZlVSTW1rdUpYRThlOXoxUUFmOTU4M2ZzUTlyMEo5eXhr?=
 =?utf-8?B?ejdrejJ5dVJtRlRwWGJRTy8xYkg5Ni9LT1Z1U0NRQXU5N09Za1ZsVzJ0Y25S?=
 =?utf-8?B?ellZMzhRSCs0VUxua29lNk9wc3FVTnVyUytZeEVKYzM1WEt5cC82VkNKcXFs?=
 =?utf-8?B?cmNqNGxNN0Y0THRKQzVmT0szVW9sekNjSlJCRWNubzBZeWdEVTlSWXYxdHRX?=
 =?utf-8?B?aktlZnFiaHdxN0F6d1dIZ3FobW1WTHBCeTk5Nmt6NzJySGIvZjJ4TzRaS01x?=
 =?utf-8?B?SlRMUnNxeGpwdFhIUmxDV1F5ZkxaUEh3dVR5cWpnZTVWNnNrbVdNRWliaGRC?=
 =?utf-8?B?YUNjb0JmNExJdFdKWmdFNVJORkUxbFFYUU5peERWVUxrTE1LMVhldDlLUkxQ?=
 =?utf-8?B?eFBNa1hGY1BjejM3cWkyYmJHdFFGbzUvSnBhdDFzc0NNaWdaZUVaeTQyaVRT?=
 =?utf-8?B?N0hQN1ozTjVacndlTjRXdUdDcGtWaGtETHduMWtmYUM1eEc5cU9NWjV6QnVT?=
 =?utf-8?B?clUwd2NMVGxlNGhyM1hGNFRaUUxLcWdNQlphSzhMaEZHWTR6eWtzWTcvOGww?=
 =?utf-8?B?K0Y4WUh6WGZTKzlHSlY4U0dRUHpOa1h3aDFmTGhGdjBYZ0VPOEUvWXUrbVE2?=
 =?utf-8?B?RlN6cUtRTi9IemNRU3piSEJwTWNKa1ExQXVFTFJSN0dHaXh4NFNBNFZIVmlv?=
 =?utf-8?B?YWpMSkk3b0RnVS9NM3RYN0dXY2djUGhmQVRBMG5UMXhUZSs3eXd3LzBYSklR?=
 =?utf-8?B?MzMyQmRQL1VPbFVHWTQ3OHNzTWUraXowd204SU5NZ1FiT1RTdmdsOWNmZ1Bv?=
 =?utf-8?B?V1J5bDZuclhGUVp3VmMyMWtRaHA5YnUxaDJZTjVucnZIWEtZM29BdmYzd0V2?=
 =?utf-8?B?SEEwQjhoMk55eUR6S1dxWS93QlY3ZXFmN0YwZitXZUZ5ZTlVQWZQUUNiamkr?=
 =?utf-8?B?VTMzb0J5R20rVGVEODJ3S0dGdG1ZbHZadVJRWDhtUjFLeHRUWU0yRkVNcURt?=
 =?utf-8?B?SDJNUjlOaHNFUm1kLzM4R0FMRFZZVWV2K0w0S0dPWVlrV1FpeTlKWDZIUzVC?=
 =?utf-8?B?cDRFOTZwWkdFbTVoT3RHRVo2ejNiMmhiVXhuNERMTndjUndiQ0o4THFSV1d2?=
 =?utf-8?B?aGdNS0hqeHp6ZVdoSU44UTZmQzZtenFNbExxaFZ3Ynp3Qnh0Y2lmNkErVEcx?=
 =?utf-8?B?ZmtVZkxDakxpSk0wMGVWQlZpRnpFbHpHSmFuL3ZwRHVaWnJKd1plQjVLSjIz?=
 =?utf-8?B?N2V0aytKM01tc2g3anp2b0xMdW8xOXNqL3dXMnRMQ1FrZVI2ZzlJNWN0bDcz?=
 =?utf-8?B?VEF6cENwQnFOckREa0V0Wm5WNitVWjJuTWM5T0tDdkd6NFRxSWxXdjg4VXM5?=
 =?utf-8?B?VXFMbGoxZWl1SFF1RUpQdjc1eWVPOHpucnBRVHRqSytmZFY1QzJGVzlXOFUy?=
 =?utf-8?B?WWlRaGdQMVQ1S2xrc243d2lLYjZ5U2IvTWYrSElaZk8yMjRSQ2tpc0prUG8w?=
 =?utf-8?B?U09mU1BJcnRaM0RRK2VqN3Z4N3FsdlAwbExZTHkya0w0N2dZaEszY2psNXV0?=
 =?utf-8?B?SyttZUhCbUQ1aXpuc2xjUXRPakJjNFZFV01TM0c5aG1WQjBpcHMxTnFMb3pM?=
 =?utf-8?B?dXgvdkVDTmRuSEE0NjlxekQzeVdoSkNadm84c1RPUEZHK2dwWjBSZmVyQmIr?=
 =?utf-8?B?eko1QlpuN0ZlOHFrMlUvVXg4cUV6djhJRVpzK2EvUElYclJYU1hnYzRMd0ht?=
 =?utf-8?B?ZEY3Q005M210QkRlVGh6NjlHU3RJV1F5cnlJK0VJTDY2aER5N1JVT1pSSmtG?=
 =?utf-8?Q?XqAutSLbxXUHuH/u6c8JZF3Py?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1f4d16ff-16dd-4a31-f547-08db1fc4a6be
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2023 11:02:47.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: UUW/pNrzBu3bfDlC+kXEZI3DlddAJD2jV2eGbpKbkiEbgXGMehg1iV464hH5X4pnZ5OMvib60P4AlS+y7NM5tg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8175

On 08.03.2023 11:37, George Dunlap wrote:
> On Fri, Mar 3, 2023 at 7:29 AM Jan Beulich <jbeulich@suse.com> wrote:
> 
>> While provable that length[0] is always initialized (because symCount
>> cannot be zero), upcoming gcc13 fails to recognize this and warns about
>> the unconditional use of the value immediately following the loop.
>>
>> See also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106511.
>>
>> Reported-by: Martin Liška <martin.liska@suse.com>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> RFC: We've cloned this code from Linux and the code is unchanged there.
>>      Therefore the same issue should exist there, and we may better get
>>      whatever workaround is going to be applied there. But I'm unaware
>>      of the issue, so far, having been observed in and reported against
>>      Linux. This may be because they disable the maybe-uninitialized
>>      warning by default, and they re-enable it only when building with
>>      W=2.
>>
>> --- a/xen/common/bunzip2.c
>> +++ b/xen/common/bunzip2.c
>> @@ -233,7 +233,7 @@ static int __init get_next_block(struct
>>                    becomes negative, so an unsigned inequality catches
>>                    it.) */
>>                 t = get_bits(bd, 5)-1;
>> -               for (i = 0; i < symCount; i++) {
>> +               for (length[0] = i = 0; i < symCount; i++) {
>>
> 
> My main comment here is that nobody looking at this code will immediately
> think, "Oh, I bet this is to work around a gcc bug that can't tell that
> length[0] will always be initialized".  I'd put it in a separate line, with
> a comment explaining the situation.

I can certainly do so. The main question though needs answering first:
Are we okay to diverge from Linux here?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 11:10:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 11:10:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508003.782249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZrgy-0001Z5-V3; Wed, 08 Mar 2023 11:10:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508003.782249; Wed, 08 Mar 2023 11:10:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZrgy-0001Yy-SG; Wed, 08 Mar 2023 11:10:44 +0000
Received: by outflank-mailman (input) for mailman id 508003;
 Wed, 08 Mar 2023 11: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=hVld=7A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZrgw-0001Ys-PB
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 11:10:42 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0620.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dcd706c7-bda1-11ed-87f5-c1b5be75604c;
 Wed, 08 Mar 2023 12:10:41 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8175.eurprd04.prod.outlook.com (2603:10a6:102:1bc::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.17; Wed, 8 Mar
 2023 11:10:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Wed, 8 Mar 2023
 11: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: dcd706c7-bda1-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=daSbMCFt3/O2wuYAa0C/rz+cROKxdry+hx6ZKBQt1ide0WSD3eJ8s7SNONrulHNF2nZfTrfI/0rXTPPpZlypac29YTgUlU2Me+poXsjbdgB2Fb52woxI+tEMo6/O38yEt+Jtezms2ordNRRNf4mBWX5gSq12PUoiYtvmy0n5W5z2Zfs2KFVcVnh3XrgNwtE5Qw5k1FUIoN9pnQIyK12o35zRoyRxh8cPeI0/iPfaD+98Abgh1KpW2hmRIBwWaZDCgbRrHtf6EVFqbNLtZceiNLXTALkHGTEhsxb0XJ6nYKgFe227I7L4CuV6EdpKsjvoz+RgtAFIJvtKb2NXf4lmCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+NR463oiHKqzcT7wbiZYWcVQzzob4Lnx9iW3z9sgm2c=;
 b=N8z0VhV15t/yjRqf1E+41CZdsIXYcIRL8VCD50bHBfCcHT0DRQJMYjkWq3FEAsyCNH+GvOGpqt7C1E/8q6dkFlpbFHNv81o8Ol7kHiJYtCTC81b1S3RbtB43A9DL/Z2DUDUnye+AcJ82XO5KrP2xQIVVlnu6fKUJi7sSSZgoKbLk0tPK8eIG7zzM41t4qDiEgAfyKGETECBRqZI33N9IjiQMvFgqyTn+pGM7AJelNy7BSM/gqhAI0J5kg13hwKcV0XfB1ifqcko07OkgUR08ad5RDKFSgAz0s8x7vUbwjJjtx9Q3f+o94bGFnw6yGYeleh+DVBvJHX5eDIbyguxJdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+NR463oiHKqzcT7wbiZYWcVQzzob4Lnx9iW3z9sgm2c=;
 b=2HjGee3iYnYhkp+duzrZyHYvFkGzY5Kn2OueVxVWAaLXQ/vI6JOYA0/9pdEr1zyCr69HVjRpEjtzkY2qJpNP2bCDNQHNWPw7iwGoMwrVhN0ZUdSB7cdGK4uYCytziKoWFYF+pn7t1phW5nc6r05rsfzuO4T3J3JBC4K2fdhzfQSaT/qEoFRCuRecG4U75mIp0noOK0xBFrEyiYryOG8wijYlHoRR40oK/nxLa2wIC7SHDOBQJMxLUR5ORK30oGAvB0RoiX4EsZqqs4hcfD+HjWfNlhWH3b1oyFgPxMZoXivumsKThFSzIpTv6Lg82vvbpb48IsgfxOuZ+eMgaohjbA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9ee1eabe-b0b1-e5e9-728b-7eae2521db7e@suse.com>
Date: Wed, 8 Mar 2023 12:10:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] build: run targets cscope,tags,... using tree-wide
 approach
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.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: <20230308104927.18078-1-michal.orzel@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230308104927.18078-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0056.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8175:EE_
X-MS-Office365-Filtering-Correlation-Id: 0e0099e0-c3ca-4e10-63ed-08db1fc5bf0e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NAObcc7lw7HvB1xqWtrzkR6keMjkQhkDyUvwODNZljYigLL85pfM8rBoK0XPNlYE+LU/TNcjbAncL7uTXxrhheabzThNLjaL90wT2tChlhKboic1+CDHD0a/8F/sO3KFZSElbbyeXbzcPrn8qWcbYd/G7U4HeHUzyttAIG/0zkZ76E8bjcLJKU45AxIjC8bEuj0SDuxoBTtBzq7B1B8y9HHcoYG2uk37sV//y84WsoKph+fZP2peLJ7L/mFr5ZXjyOpmF3cJ/zn7+N1gz5rgW5f2HZMReAUodiMUeYlU94nO9zZIuuXPMj+72WskHFBAfz9dzXfX8Yd1rbv+8HCvKQJKd/0Pz5InCBNFU1CVQLv10kl9gxEg4Vk7MXakWyMpmfyHZWKQht0FU6xRLRmHgMobrOJiGQ6Zpi8hDsUIM6F2jPAjUmDiYSpezM6s+Zz9duYI1kzazH33vUfkvIR42XXuXqQ36JEbQkFQwp0kds616Pk7oHxVBikw7rlXdY/WGGFy3FuhenAvJuEQncBRwA8xFwu8BcDJNqbrz4Vkz35UEIvGF2hQAIHhko5imgYpTX0tC0J6pmUTC9u6f2f+RzSvW7OKGPcmGymo7+R0dujtA9Pc4cuLaxwKnkJe18SSs5B7PDA+9Cr/J+en1Z1uU+BZfXnUwpmHuK6dVNItf1UIqAIreWJLZ1n6PUJpJjCvAgx4SFVSlVuWc8498dPJhSLYqHcWZg6E3TgV2LSkTuc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(396003)(39860400002)(376002)(346002)(136003)(451199018)(5660300002)(8936002)(6916009)(4326008)(66946007)(8676002)(66556008)(66476007)(86362001)(83380400001)(36756003)(54906003)(478600001)(316002)(41300700001)(6486002)(31696002)(2906002)(186003)(38100700002)(53546011)(31686004)(66899018)(6512007)(26005)(6506007)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aE9UaGRXVjFEUHBTOTFZZXVMTWdpTGlpVnhQVGZ4VFJJMDhxSXJrL0NsczRh?=
 =?utf-8?B?ZFBmY0tBa3JPeUdrK2ZHbGJkOHNLL2lsU0N2R245VS9kdllRcjEyUWREeURl?=
 =?utf-8?B?Y0tnVDVzbEpaeUdBWEJkdjNZYjUrVXl4RjFYc0xEelRycHllRVNLU0hUMytB?=
 =?utf-8?B?cnFyM3g3UFl6WFpOb1VqSDlSMVppVThnL2Y0V1NyN2dWMERORnlmZFBlejlz?=
 =?utf-8?B?KzJCanZ0ejUrZlp6bm9WSGJQOS9BYzg5dDJVaGUvNmRtbjNGcnpQYlc3WUp1?=
 =?utf-8?B?TjRtUmZBYk5NQmVSdEorOTN3MTFlbTlZdHdlcCtEL29NRks2b0gzZERZdkRZ?=
 =?utf-8?B?VjBmb2d2Zmg5akpJcFBnTC9JZ3ovS3ZKeFVsL3dLUDIrMWdjQnFQak9aenBO?=
 =?utf-8?B?d3Y2eE5XaldnMUhkQnJDeko5NEN4R3prVHhiejdER243UHJ6WFFvMkUyajJS?=
 =?utf-8?B?ejRzUlExbFVzUi9zVlNrbmFGMmpaR2QraW9OWDl5RjREUFc1dmJlZ1k0RktV?=
 =?utf-8?B?c2VyVWNnQlM5R3RwY08vakkvSWpHVzFKSW1NV2RoVFE0N0gvbjN2bnQyK1Rx?=
 =?utf-8?B?VzRyMU5hMkR2TXdFRXMyNkFTS0ZtRFIzeWpkUEFKbG4rQjA5ckpFTlF2a1pj?=
 =?utf-8?B?djQvVVhpempzMUNNZnRYL1BhZUpkTzUxZXlRMTMrNTBDekJxdSttSHIrd1Jv?=
 =?utf-8?B?SGtnL2hjNW9TT2VPcEwvS2pISnVZVUorSjJ0VWNFWXVuTUt3c3hJaVp2NlZv?=
 =?utf-8?B?UGIyZmxMMjFmenRoeDV2TkdEREN6MGhqdUtVbGhEaXF5WGdHRFVXN2RqazVC?=
 =?utf-8?B?N1VDVHFNd3BmRUg1bVp6ZFhyUmdBY0NmWVVtQWg4NGFHMTFRNkRYWlVuWkFv?=
 =?utf-8?B?MDlnRnVlOTdlK3ZJV1ZidXN1Vi9qa2hkckZkVUdCSzRNTnltdXhRMEVjbVNU?=
 =?utf-8?B?eXZTTEhBLzNwd1FZUExDZzc4enFLUW5ndTVqeUhkUHU5cGNmOHdLTVdQNTda?=
 =?utf-8?B?MHZxSmlGT3VYTlV4RnlxcnV0bHcwWlVnYUdPVmhBOUJxdU52TXFqY2djTzNa?=
 =?utf-8?B?bnRaRUV0SkJEOHBzMlRuWkluSmw4cWdYVFY4eTRvOU0wVEE0aHMwaFhHeWRy?=
 =?utf-8?B?REpoOHpidlMwTEk2U2ZubE1RVDJtUzRBM0E0MjhWVzR6QUs0eUZNRXkyTFlN?=
 =?utf-8?B?UXNGZy81UC82OHd0OWYrejdRVitvUHY2UjFTV2RlclRBSllQbGE2UCtsTjJt?=
 =?utf-8?B?cE14b0E0RysrOUNjS3lHYnlFc1JURTBuUHk3RHRGczhUMzJ6WDhUYkk5ODFY?=
 =?utf-8?B?b3NXMVJQVzVrMVp6RjhVQ0cxNXFFckFKTmtwQnJaVXd0a3d5SXhic3R0NUJR?=
 =?utf-8?B?enVSK0hOUVA2eHREa2dFVUFJUnRVMDJCcURUNVpERTI4ZXVDNlBkK1FWcDI5?=
 =?utf-8?B?eEhxdXlLdEd0Y2dvN0p1cGRGNDNaY1hIN2NoaStqWHQ5Y3RkUklUOVdyK0lR?=
 =?utf-8?B?Tlg5TElkK1pabnQwRm5EaDVzdVdVUzBHcTJrMGtId0dFTWszd3lvcDJGN1pW?=
 =?utf-8?B?elVUeHlseVVlYWcySi85dkk0SDlmNFl4MmR2U3BTMytoMERUT3Urd2ljV0Fi?=
 =?utf-8?B?bEk0a0FSZXFSYkcxWmhiYUw5ZWR4SjJuV1RxZnl4emlJa255Qk1EUUxkdE12?=
 =?utf-8?B?VUJuK3hqQXlOZXEwbTN2Z3ptbjRmV08yNFM5a0JCanFOR0ZtWW5kdGQrd2xk?=
 =?utf-8?B?dVI0WE9UdWFUSGFtRGQ4bThMcklmRTlxSUZoR0NDUFphR0ZGc25wd2VmZEo4?=
 =?utf-8?B?eDFjWU9rbVJQeXV5ekNrTnNLMTkrU1pRTEFCYVU3Y01Wbmd6THpieWFtc2dP?=
 =?utf-8?B?K0FhRG9XVDI2RkxHUkR5M09yL2FoNXlsMEhWdWxVNzREVkdzSCtGV2hySUdB?=
 =?utf-8?B?MjNoYU53ZzFEOGJNQTgxbmhibmI0ZzMwakp0b1g0d3MwNS8zVXVJUXRjQWc5?=
 =?utf-8?B?MTZYZjJIMFVWZXV1N1lpVUNnWU1aOEprWlcxSnBVc0o2MUlYV2Y5Z3hZUzZt?=
 =?utf-8?B?bmhaRHZhTFdkbEhHVGJHSnZRTjRzcFZ6T3J4Wm9aNDB6NkNLNUhzUXVPU3NU?=
 =?utf-8?Q?IjjbxApP9e+/z69sv+sWF8ctW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0e0099e0-c3ca-4e10-63ed-08db1fc5bf0e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2023 11:10:37.8716
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NMVbkh7SPQsDJp9FlgdcsdTspCU2GNTQn9nAR3QvF+u/rNelUO/F9aeBPfadXvDm78/iN88FWGU1YDHZualJng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8175

On 08.03.2023 11:49, Michal Orzel wrote:
> Despite being a matter of taste, in general, there are two main approaches
> when dealing with code tagging: tree-wide, where all the sources are taken
> into account or config-wide, when considering Kconfig options and actually
> built files. At the moment, all_sources variable is defined using SUBDIRS,
> which lists all the directories except arch/, where only $(TARGET_ARCH)
> is taken into account. This makes it difficult to reason about and creates
> fuzzy boundaries being a blocker when considering new directories that
> might be config-dependent (like crypto/ which is missing in SUBDIRS).
> 
> For now, switch to the intermediate solution to list all the directories
> in SUBDIRS without exceptions (also include crypto/). This way, the
> approach taken is clear allowing new directories to be listed right away
> without waiting to fix the infrastructure first. In the future, we can
> then add support for config-wide approach.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Mar 08 11:54:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 11:54:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508008.782259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZsN7-0006cx-99; Wed, 08 Mar 2023 11:54:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508008.782259; Wed, 08 Mar 2023 11: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 1pZsN7-0006cq-4V; Wed, 08 Mar 2023 11:54:17 +0000
Received: by outflank-mailman (input) for mailman id 508008;
 Wed, 08 Mar 2023 11:54:16 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=9gvK=7A=gmail.com=matiasevara@srs-se1.protection.inumbo.net>)
 id 1pZsN6-0006ck-1U
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 11:54:16 +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 f2456726-bda7-11ed-87f5-c1b5be75604c;
 Wed, 08 Mar 2023 12:54:14 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 j19-20020a05600c191300b003eb3e1eb0caso1102556wmq.1
 for <xen-devel@lists.xenproject.org>; Wed, 08 Mar 2023 03:54:14 -0800 (PST)
Received: from horizon ([2a01:e0a:257:8c60:48e5:bfa:d652:b8ef])
 by smtp.gmail.com with ESMTPSA id
 q10-20020a5d658a000000b002c70851fdd8sm15104169wru.75.2023.03.08.03.54.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 08 Mar 2023 03:54: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: f2456726-bda7-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678276453;
        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=TJ6e5fdQwCe6r5vZxL9Pn/fUaTGXSBqOIBsZtcES840=;
        b=TFh8Dc7NylU3Hqdxf72vo359PMqUar9Cf7vfBdChPnd/wTMbzXWlKmuCEaDOb6crNG
         zab2D/QucpVcD8Z16nL5/mqXqrXgHWRmyR3HmVXvQtxgoig0wAt5ulyKnrqdHz18kp30
         Vhihr3Dsl7WSa5jFJorO3cTiPTPg+R85q2zKC4IZhtkyAg4ol8e0v2QEWL5wgxCXnnAU
         pQ86vtzJghNRTpeIz6JmKMIpDdkcQjzRI3yTPbrve11fWwhP+OeokVCPTzSKn2TrhuDO
         wcNOkvS2VJ3raVsltFfvQCG+J1DJGbJgW3tYE/NosC1uht6HJePCG+q4v3ENg47ham5J
         Y1eA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678276453;
        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=TJ6e5fdQwCe6r5vZxL9Pn/fUaTGXSBqOIBsZtcES840=;
        b=QP6KiymQi+w6+Ab7VSMHmam5sgxgaWELBNWJ5Gkf3DkFPomLIA7n4BF8qA5YHMwvmf
         0iGmJ0jOxxWzvN0fwuQbT7luMM87MmILMSdNt7+SZdeDbqIZ2zWu92YBfg8sKpqdA0FM
         cUk3IRYMgFDP4K3UaU1b+kKmt9LKhcmtEFhkImVeTeAxzj1X/Moret6Ori5YsIq8OotN
         H1QAKG7xMjFpVhydApIfnuAJWADq0YkKYGo2ZZNVBvjk7GxM+JqKkwrWm09kk8RC60aw
         Oyvufw+O7l7iL3+N5WI+M3Ou7ToXjGr6rAtf5FUAMHLizUAfXgZF5IchrRqpY9mxNJX1
         QvMQ==
X-Gm-Message-State: AO0yUKUpxERQTVkkURT0CVem8rIdcUMxGos/tBto8wdkt79fMPC8o0TU
	03hDMWkMnxgVbOEZuaaz4J/Dav/tP2icgw==
X-Google-Smtp-Source: AK7set+bgqNMxQjJlfxe3LxBDKk8Xhpsq6qy745TOqakForaWfZpdW0Q3Xax8dVPE/FxHInSL063oA==
X-Received: by 2002:a05:600c:1c05:b0:3eb:4501:6c60 with SMTP id j5-20020a05600c1c0500b003eb45016c60mr12911556wms.5.1678276453430;
        Wed, 08 Mar 2023 03:54:13 -0800 (PST)
Date: Wed, 8 Mar 2023 12:54:10 +0100
From: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org,
	Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: API/ABIs: Re: [RFC PATCH v2 0/2] Add a new acquire resource to
 query vcpu statistics
Message-ID: <20230308115410.GA1108824@horizon>
References: <cover.1665138677.git.matias.vara@vates.fr>
 <90a551bc-ffda-6db8-775b-11c100bf6f52@citrix.com>
 <20230306142315.GA745324@horizon>
 <c40f1a4e-63a5-af2a-e5db-729b1af80708@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <c40f1a4e-63a5-af2a-e5db-729b1af80708@suse.com>

On Tue, Mar 07, 2023 at 11:12:00AM +0100, Jan Beulich wrote:
> On 06.03.2023 15:23, Matias Ezequiel Vara Larsen wrote:
> > Regarding your email, I have the following comments:
> > 
> > - I still do not know how to choose the value of cacheline_size. I understand
> > this value shall be between the actual cacheline_size and PAGE_SIZE. A value
> > that could match most architectures could be 256 bytes.
> 
> This isn't a concern anymore when offset and stride are stored in the
> header. It was a concern when trying to come up with a layout where
> these value were to be inferred (or known a priori).
> 

Oh, I see. Cacheline_size shall be decided at compilation time for a given
arch, e.g., SMP_CACHE_BYTES.

> > - Xen shall use the "stats_active" field to indicate what it is producing. In
> >   this field, reserved bits shall be 0. This shall allow us to agree on the
> > layout even when producer and consumer are compiled with different headers.
> 
> I wonder how well such a bitfield is going to scale. It provides for
> only 32 (maybe 64) counters. Of course this may seem a lot right now,
> but you never know how quickly something like this can grow. Plus
> with ...
> 

Would it make sense to define it like this?:

struct vcpu_shmem_stats {
#define STATS_A (1u << 0)
...
#define VCPU_STATS_MAGIC 0xaabbccdd
     uint32_t magic;
     uint32_t offset;  // roundup(sizeof(vcpu_shmem_stats) + sizeof(uint32_t) * nr_stats, cacheline_size)
     uint32_t size;    // sizeof(vcpu_stats)
     uint32_t stride;  // roundup(sizeof(vcpu_stats), cacheline_size)
     uint32_t nr_stats; // size of stats_active in uint32_t
     uint32_t stats_active[XEN_FLEX_ARRAY_DIM];
     ...
};
 
> > - In the vcpu_stats structure, new fields can only ever be appended.
> 
> ... this rule the only ambiguity that could arise to consumers when
> no active flags existed would be that they can't tell "event never
> occurred" from "hypervisor doesn't know about this anymore".

Do you mean how the consumer can figure out if either 1) Xen does not know yet
about some flag or 2) the flag has been deprecated? I think 2) is the case that
Andrew mention in which the magic number could be used as an ABI version to
break backwards compatibility.

Thanks, Matias. 


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 13:55:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 13:55:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508058.782289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZuG9-0004C8-7Y; Wed, 08 Mar 2023 13:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508058.782289; Wed, 08 Mar 2023 13: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 1pZuG9-0004C1-3S; Wed, 08 Mar 2023 13:55:13 +0000
Received: by outflank-mailman (input) for mailman id 508058;
 Wed, 08 Mar 2023 13:55: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 1pZuG7-0004B3-Cl; Wed, 08 Mar 2023 13:55: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 1pZuG7-0001ie-9S; Wed, 08 Mar 2023 13:55: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 1pZuG6-0001Z0-OS; Wed, 08 Mar 2023 13:55:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZuG6-0007D0-Nw; Wed, 08 Mar 2023 13:55: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=fCdH4GELS6O/6jS3pe9NXE/KmFuDYX0VJ8nWSVh8jsI=; b=bCXJnfqMMBJYkMSdbUSFdKgBMM
	3a6ipkD/s6mqN/6FU7Ve+umsgHU8HCVYMucjBrH0r/Rvwbt3g7jOtUIeMak+Zsju7waIReFozSHhr
	dGhds2rboCCFB58BuvEFUnJEG2J7GcoNNe4V98Er09eNYdK+SMV0wqlznxnsj24ZLT7M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179503-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179503: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install: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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-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-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-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-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-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=31270f11a96ebb875cd70661e2df9e5c6edd7564
X-Osstest-Versions-That:
    xen=31270f11a96ebb875cd70661e2df9e5c6edd7564
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Mar 2023 13:55:10 +0000

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

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 179451

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179451
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179451
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179451
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179451
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179451
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179451
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179451
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179451
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179451
 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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-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     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  31270f11a96ebb875cd70661e2df9e5c6edd7564
baseline version:
 xen                  31270f11a96ebb875cd70661e2df9e5c6edd7564

Last test of basis   179503  2023-03-08 01:55:30 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 Mar 08 14:16:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 14:16:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508063.782299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZuaV-00075T-TG; Wed, 08 Mar 2023 14:16:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508063.782299; Wed, 08 Mar 2023 14: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 1pZuaV-00075M-P1; Wed, 08 Mar 2023 14:16:15 +0000
Received: by outflank-mailman (input) for mailman id 508063;
 Wed, 08 Mar 2023 14:16: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=hVld=7A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZuaU-00075G-Db
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 14:16:14 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20621.outbound.protection.outlook.com
 [2a01:111:f400:fe12::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c580eaad-bdbb-11ed-87f5-c1b5be75604c;
 Wed, 08 Mar 2023 15:16:09 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7371.eurprd04.prod.outlook.com (2603:10a6:102:87::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.16; Wed, 8 Mar
 2023 14:16:07 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Wed, 8 Mar 2023
 14: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: c580eaad-bdbb-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nQM4h+GCk/+ooMlLc38UeMDsmkJZi1ZLedq1f7ixoTyJSHHbJgEI1Vznbj6MkkdSxCfWB1KTsMKibdcHY/hOB7Q03TtkvTBHCBjLO8DM7VKFhdFe9xx7y5irULWuMZ9bbdzlcBzogr+Pt4s9/5aEKFDi0QJELsUaL1QkqKIg26gqfLpj7pu2NGCMT3nw/Ki+YzI66rT5UzHtfl81TMufux0Anpa4zwJ8Ymo0P5DGhFE1dpo4KHzbiPakpLNHHtl9SLHUGZAW69dd11l8TET4gWApZqQywBSuKdagxh8mrOHkd8w7Ja4B2S1Slp7T7Z1lQabnUHXQbh+1U8rQ8M8UhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2zcg8Wvuc8zdKUwjjzmo0RL1vEPPzYPWgXYDP2RffC4=;
 b=OYcABEUruLyjAekR9RUD1JI10QJaY4bfh4qHjoVy8Gql3fGf/3wjgB0rloWm2nF7JrskNZkonOQZGXqJNISPucuIW2liPKxG3spWmG8mlIqh8X8a65S9C3PaUtC8odnNAJdp7bxIrBqTQYpV7qyya3lJ8SALvz057Dq3gu2ryFUF13fYGayJ2qFVzjxP03+8Hf/POZ54LEzzRi1lfgtB8HG8F0xYBdWJogIADmQ+x7kpi3WjyhVe8EZw3ZoHJjms7OY2otmB6TUnfGEPTkWmZyIVKjzXE363pR9JrFCBCdEUIeSlINZuwBOcBC+KaYlQDK0F9QvZtmkIKn830F3hfA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2zcg8Wvuc8zdKUwjjzmo0RL1vEPPzYPWgXYDP2RffC4=;
 b=iozDjavmxVV+qYDBu3iPNxQU4/DKJn3D9w9Rlgq4vaKMQdFvZKuMVCkT1Cq7H2DibDCyBQKOEAIABxjSVJoXZ1M2Bsd0agrE6InzJz6IlZe1ui+ulC6qDanlZeOJXSjyiC5BRY8GHvZpvmWqwU71H2hKSfBnRfa8DIcMSFFnCW3hJLQa8f55zF6IKiX9I2jAVxPk4865mpHGhbVys212gFBxEt2b2aszwRneH080/rCv/QTpezJmBGsJVwvMaZamtcpJQLu1WnX11hwM+86r+iyNBTECcFGKbPBQpuUr3f5KiwzQJ+7rvS0BIriHZx+MvsdpRs6q5LCZES0HQtGQhQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d0354bab-3022-6048-8d58-45f63aaf26be@suse.com>
Date: Wed, 8 Mar 2023 15:16:05 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: API/ABIs: Re: [RFC PATCH v2 0/2] Add a new acquire resource to
 query vcpu statistics
Content-Language: en-US
To: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
 =?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>,
 Dario Faggioli <dfaggioli@suse.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <cover.1665138677.git.matias.vara@vates.fr>
 <90a551bc-ffda-6db8-775b-11c100bf6f52@citrix.com>
 <20230306142315.GA745324@horizon>
 <c40f1a4e-63a5-af2a-e5db-729b1af80708@suse.com>
 <20230308115410.GA1108824@horizon>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230308115410.GA1108824@horizon>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0141.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7371:EE_
X-MS-Office365-Filtering-Correlation-Id: 78c87e3f-ec84-4405-c8a3-08db1fdfa898
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:
	YfZ9WsH3KXoP7YXWZb0RKJTT87kREEexCAvQ8z04fikKyP8ctD9RetLy/Kw6WcywrGUR0C5jxtkhSnjSZ90aHdErYZPGn+sj0UXEKZ6Yjma96q08ZYcHpP5o89BLjkAXQW10ZXuN5usvl4zda4iTDHkHAUOJNgttLuPFDcID4NyhBfVyN59B6HMQO7rxzDqqkxgElcdeM34T7XziAqpTnT/P1Co77zS59Yvf74jsMQp3XGmu0kKvHUcJPUxxAOkeglGgE+mky4utfFCnD2wRdHUef+gFbwp8NlzfF629YsXubbaVpEL65EUEBolBylsAr0eO1S4YpBjqhYRdBZX9qF8qVLoqkvdeZOL/AbES/HPIQ6LDvRpzJ7mnejgd8V29LnEXs9BIaqZXaUcmNLrWAZ1fQNlib69LcvXToT++quiJ9xxjf/WPxv4xq8RYct5PGZ9Zrad4vxOQcjHF/6puwZGHkbL/6OrsDi61kTynKPMyslIFmAH53r113g2CUI2/8RJgS1+/PpFmokeVBQbeMGqNAI9odW84hgKO7nzkZBOXU55PbPdCGERzTs5fxEdwHghtNQHa0aaG6x3Cv3ric1EFNeOL6jpGXL7CuR6s/EDrESzbfWWxGb1bWvKZ8BhaNDKXNFxJS/UArzHU4p5TlFNUqLqIsJ589gFJZAryGbG7ziUmxNfyEhhj/OGOGEDem9moxAwNPHrkJvAmmbS5KP1aqBTnDX+cIUQQEQYM3gk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(39860400002)(376002)(136003)(346002)(396003)(451199018)(26005)(6506007)(53546011)(6512007)(6486002)(36756003)(83380400001)(86362001)(31696002)(186003)(38100700002)(2616005)(66476007)(66946007)(41300700001)(6916009)(8676002)(4326008)(66556008)(2906002)(31686004)(8936002)(7416002)(5660300002)(478600001)(316002)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MGlGcjBpZGVCZm9HWG0wSUJmNjFnMXY2disyU0NqODNqNjZRTUs2NXlpSXhD?=
 =?utf-8?B?OUJDNkRvU2lBcEdESXNzeFRBZWwwL3dKR1Nidnc0ZDd2aGRyNXRMMVZqVUI3?=
 =?utf-8?B?NmRaQlluUG0za0J2V0grVExmY1FCdWJYS1pLZlZHa3Jhek56M2dwNUpqL1FJ?=
 =?utf-8?B?MVhlcmM5RHMvaGJZdlI0dlE0eW40UnE1ZU1DbXB0MTZNRWNweGlZeVR3ZzhW?=
 =?utf-8?B?UVFMZnFnSkJkSFBQN2VZZEtZaXdGS3kwVk9UUWhzSWFMY1Vjczg0M1VsYm1v?=
 =?utf-8?B?N0V2VFE0Ti82WXlGTUhHNytCUk45TlVzZmxsS2gvZUJCZmNyYjNOZ25qcllS?=
 =?utf-8?B?ZUdTcmtBNWxIVTUrMDRCMVd0aTRMS0F5T1RjTGV4aWUydll0QnJKY2VvMjdq?=
 =?utf-8?B?aXRRMXZIRzk2VkdxWTVxeU0yMlZaSzEveGhTMFVOSituZjU3MUlMbG56NFhi?=
 =?utf-8?B?QlFTYmNZSGM4YXhMV09yb1A4VjJuYjZMVXN0dGJDZ1hUTzU0empleVZwa2k2?=
 =?utf-8?B?bkw1bkRJUXFTUGFUNjZrck5GMGhBS1FEbDI2bTRNMU1qZmcwTEFUbWNRYkJr?=
 =?utf-8?B?S0dnc1NpUTk3MUpJc3lCSEVYS2hxZjRKV1haYkZEMjZzQ1VlTVFJUmR4N3BL?=
 =?utf-8?B?WUgxZ2wrc0lSdHVwVWVTb0FFUUpkSHN6LzZhSkt1OWlZS1Q2OEt4cUZaV1VM?=
 =?utf-8?B?dHliSDNaVFFnMlB5ZWJ5TFNWQitINjY1SGxOOWxuTnREY0Z1VDNjNDdNMkFJ?=
 =?utf-8?B?TlNZaEtMejBzZDNVRHhaSlhkZzc3aVVYSEwrR1ZaVFI1VmVueWtCTWJINkhs?=
 =?utf-8?B?MVk5UEFNejY3MU9EYVlHVWtZRVNZMjgvOEZWUXlNbFVkQWJpQ0lVaWhtL0lW?=
 =?utf-8?B?MDE0Rzg1eFRmRTQxdFUzUDcwc0FlWjJYaWVHS0RKOHdVc1ptVXhMak5kZDdv?=
 =?utf-8?B?Y0pFVFNPbHpwV0hwaXpzY2tNWWk2aWlzUGRKTGhYK3J5clNqNzI4SXBGY0ZG?=
 =?utf-8?B?c21Ia3c1Zk5OSG9hZkYxUUNiZkZPV0oydlFKSE5SSDBYWlRGNVh3ckVXdWdJ?=
 =?utf-8?B?MGNoaW4wYnNIK3cxL3B3bXFoUXNwVHgvemdDL2ZjM1ZwTlQ4dGJ4Ly9vdzdM?=
 =?utf-8?B?VzNzM1RqeFNtS2Y4c1JMU2xzd1luK1laMkMvMGZqZEZ4N2Q2UlI1bzUzUERi?=
 =?utf-8?B?ZUMzdEczL3FWNStWUUhCZi95UGRpeEtFK2NqczVBL1BNbFpXdmlXbWJuVkxn?=
 =?utf-8?B?VlN5dW1Yd2dZSG1FTGJZTGhlK0pvWXp4VWdyYitjM1FHYjlwTnFBZVZpWkpm?=
 =?utf-8?B?T0xmWVVnWEhoTFNrSlE3dnlTSGpZYzN1WkRKVE85S01aYmxJcnNyZUQwWVFr?=
 =?utf-8?B?V1RxV2V2SmMwMTkrd29wb2Q3M2YvSXJCMWlyNlN1RkRKeHI0L1M5anJsR2NI?=
 =?utf-8?B?VWJvUjFsRHZLMFkyVDFKS1NSWHkvR1orZzQ3UmhsR2JsdWgzZ2swakxmWSs0?=
 =?utf-8?B?UGNETVpyRkJmQ1NBenJ6ZldWL3hqUHZRRDBwRE42VHJHa1M3dVNNd1lSS3dk?=
 =?utf-8?B?cGVFME1rbytVdG50Mmp0WmZYUzdzNCt1dlZZMGZyMGlUMGxNdU9XcThJWlho?=
 =?utf-8?B?YU5XSTFqN3RSRWM3QWhCSjVhVGhMalpBWm1oYU0ySjl1dHc2ci9namNKNXZM?=
 =?utf-8?B?ZVZmREhlZGlpMW5PUGZGbHBrSGNiTS9DLzJUa1JFU005bjlua3d1K2t5STh3?=
 =?utf-8?B?UUdwZXYzNEh4VDhIMGp3NWJyQ1ZBaHA3TWxSVjlVNExqcUk1b1JEZlBiZFZy?=
 =?utf-8?B?YW9XQWZtLzE1bXBPd0RNWG9oK3BRUGxNTmxSNkphb1JoTUJ0cnoxNTNXR0lz?=
 =?utf-8?B?bmZNQmtRRFVOVTgxY0tabnhoMVlpTGFaUkJ2Skc5blhMaURVVUs1NUVkdkpn?=
 =?utf-8?B?SlZjMlZDWE43WEcxQTJLbm5IVHBiblk1TWpvaUkxQWJRMUd0U2lHcEdIdVU4?=
 =?utf-8?B?T3dseGIyWk04eUdYZE1NSFRhNEdxMXdtL05uTFB3RVdzUlRPMVBOOFM5Vnh4?=
 =?utf-8?B?Nm05MVR6Nkt3MmtNbXJ4c2R0RjlUd0tkRFJ5RG5WQVQ1b21GTFJSVk9MRytR?=
 =?utf-8?Q?fO0a9ymEjtd48feIKv4GFUH28?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 78c87e3f-ec84-4405-c8a3-08db1fdfa898
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2023 14:16:07.1685
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VukUNHsYLrylNWnLpPv1Iibid4FjU55/TvDGzeyP5wWXEFWFW+xrZs7UJXW2fFhZVlmktbViySLvWBi6NSBsaA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7371

On 08.03.2023 12:54, Matias Ezequiel Vara Larsen wrote:
> On Tue, Mar 07, 2023 at 11:12:00AM +0100, Jan Beulich wrote:
>> On 06.03.2023 15:23, Matias Ezequiel Vara Larsen wrote:
>>> - Xen shall use the "stats_active" field to indicate what it is producing. In
>>>   this field, reserved bits shall be 0. This shall allow us to agree on the
>>> layout even when producer and consumer are compiled with different headers.
>>
>> I wonder how well such a bitfield is going to scale. It provides for
>> only 32 (maybe 64) counters. Of course this may seem a lot right now,
>> but you never know how quickly something like this can grow. Plus
>> with ...
>>
> 
> Would it make sense to define it like this?:
> 
> struct vcpu_shmem_stats {
> #define STATS_A (1u << 0)
> ...
> #define VCPU_STATS_MAGIC 0xaabbccdd
>      uint32_t magic;
>      uint32_t offset;  // roundup(sizeof(vcpu_shmem_stats) + sizeof(uint32_t) * nr_stats, cacheline_size)
>      uint32_t size;    // sizeof(vcpu_stats)
>      uint32_t stride;  // roundup(sizeof(vcpu_stats), cacheline_size)
>      uint32_t nr_stats; // size of stats_active in uint32_t
>      uint32_t stats_active[XEN_FLEX_ARRAY_DIM];
>      ...
> };

Possibly, but this would make it harder to use the interface. An alternative
might be to specify that an actual stats value set to ~0 marks an inactive
element. Since these are 64-bit counters, with today's and tomorrow's
computers we won't be at risk of a counter reaching a value of 2^^64-1, I
guess. And even if there was one where such a risk could not be excluded
(e.g. because of using pretty large increments), one would merely need to
make sure to saturate at 2^^64-2. Plus at such a point one would need to
consider anyway to switch to 128-bit fields, as neither saturated nor
wrapped values are of much use to consumers.

>>> - In the vcpu_stats structure, new fields can only ever be appended.
>>
>> ... this rule the only ambiguity that could arise to consumers when
>> no active flags existed would be that they can't tell "event never
>> occurred" from "hypervisor doesn't know about this anymore".
> 
> Do you mean how the consumer can figure out if either 1) Xen does not know yet
> about some flag or 2) the flag has been deprecated? I think 2) is the case that
> Andrew mention in which the magic number could be used as an ABI version to
> break backwards compatibility.

No, an inactive field wouldn't break the ABI. An ABI change would be if
such an inactive field was actually removed from the array. Or if e.g.,
as per above, we needed to switch to 128-bit counters.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 14:54:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 14:54:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508068.782309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZvBi-0003gA-U9; Wed, 08 Mar 2023 14:54:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508068.782309; Wed, 08 Mar 2023 14: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 1pZvBi-0003g3-Pt; Wed, 08 Mar 2023 14:54:42 +0000
Received: by outflank-mailman (input) for mailman id 508068;
 Wed, 08 Mar 2023 14: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=Glg8=7A=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZvBh-0003fw-2z
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 14:54:41 +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 236852de-bdc1-11ed-956e-85ef70e17bfa;
 Wed, 08 Mar 2023 15:54:34 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id j3so9994363wms.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Mar 2023 06:54:34 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 h17-20020a05600c351100b003e4326a6d53sm21663915wmq.35.2023.03.08.06.54.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 08 Mar 2023 06:54: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: 236852de-bdc1-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678287273;
        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=3gxK2ZCB/HNTyuplUWcLOAMGqZ7xQi+JNU9BBv0l8f4=;
        b=ChlOcUqsTpAXIs+cZMdsdiuMRbN8BFlW5++CfDIckorFVPRegnB41Kv2+RhEW0591V
         +gISUQ0I167BMRnnfZCXuJB30blNzOLEgXqINfKvIW+8cYrxMThH6GLptp6IXkMDcMij
         rZ2rjoBiEVoQ0N6L0/ytUsRUCPkS0p+oFj81HNmN6MjvC8aZynJd2gL+3kIoiRx9Lgd5
         GAzJv7sUyNmuhWEvuWmxxgDj//f0uYC9QIj0yfHPLqmBz4aIuBVMYmT+WKs6DHeC36uH
         VvKHA5BK1ZLE7vfULbDALks9cFPqq0sgwJM8g6XwPM3RL/SRcuKUPMeaWa3vxixv8gUD
         AWTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678287273;
        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=3gxK2ZCB/HNTyuplUWcLOAMGqZ7xQi+JNU9BBv0l8f4=;
        b=XyZ/P7jISR++QLNRf89pdENPgHfV0eLE4uxEXjmX3xoyybUGZ2yjaZwN+KJbhz3/3Q
         dXtOI6Qt4dIKVlIqHZmZR2OVsQMCGj7rM67Fk5KvF/24Gm7HBiijT3tEXoaSykHLy+Lo
         7QDXR1DMZ4Oy6CEnH66c+Hz4hW7b0kP35EF0WMUuadr2vrz3daImNLRPOPBTQDOIMGYo
         kmtxRq5JO14SxmSduwIb8XhbXiP2oCTizMekiZBkzGgZ0WX8OAbOmBoE5FuCU46VsvJv
         AMUWf6mXaVIrqalSN15/njFfIb7H9n41KsLdMBgiN7yCOb50sjuK2kP71dGpXiZiyNbO
         cLUw==
X-Gm-Message-State: AO0yUKXb9gox7SNz/9UQRZEdS4SNk0rxsRLverQ9cXqZ06sb39FB6gxM
	4+z1FyEv9lwZsUc5erIjUUw=
X-Google-Smtp-Source: AK7set8xndYhnwmXx1yICLxn/kcHhPeVDujlJFBY1YbntJDFwtaJC5KYxAILDCOfqa91RvReqq3Fiw==
X-Received: by 2002:a05:600c:3c8a:b0:3ea:dc39:e8b1 with SMTP id bg10-20020a05600c3c8a00b003eadc39e8b1mr16580458wmb.12.1678287273246;
        Wed, 08 Mar 2023 06:54:33 -0800 (PST)
Message-ID: <94f5059a4e31ddd29141fa8fe5156b560575ab1e.camel@gmail.com>
Subject: Re: [PATCH v1 2/3] xen/riscv: setup initial pagetables
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>
Date: Wed, 08 Mar 2023 16:54:31 +0200
In-Reply-To: <b8dd2333-5f3b-10ea-7ddd-47bd5f84ca5f@xen.org>
References: <cover.1677250203.git.oleksii.kurochko@gmail.com>
	 <83444f8f90cf2adf431762d919ba958a25ff8ce4.1677250203.git.oleksii.kurochko@gmail.com>
	 <52072f1b-0cf8-a218-eefc-a8c1b4cecf43@xen.org>
	 <e2a1968767e7a0f1535920ada14ec2f323e0f9c5.camel@gmail.com>
	 <b8dd2333-5f3b-10ea-7ddd-47bd5f84ca5f@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Mon, 2023-02-27 at 17:45 +0000, Julien Grall wrote:
> Hi,
>=20
> On 27/02/2023 17:17, Oleksii wrote:
> > On Sat, 2023-02-25 at 18:05 +0000, Julien Grall wrote:
> > > Hi,
> > >=20
> > > On 24/02/2023 15:06, Oleksii Kurochko wrote:
> > > > Calculate load and linker linker image addresses and
> > > > setup initial pagetables.
> > > >=20
> > > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > > > ---
> > > > =C2=A0=C2=A0 xen/arch/riscv/setup.c | 11 +++++++++++
> > > > =C2=A0=C2=A0 1 file changed, 11 insertions(+)
> > > >=20
> > > > diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> > > > index b7cd438a1d..f69bc278bb 100644
> > > > --- a/xen/arch/riscv/setup.c
> > > > +++ b/xen/arch/riscv/setup.c
> > > > @@ -1,9 +1,11 @@
> > > > =C2=A0=C2=A0 #include <xen/bug.h>
> > > > =C2=A0=C2=A0 #include <xen/compile.h>
> > > > =C2=A0=C2=A0 #include <xen/init.h>
> > > > +#include <xen/kernel.h>
> > > > =C2=A0=C2=A0=20
> > > > =C2=A0=C2=A0 #include <asm/csr.h>
> > > > =C2=A0=C2=A0 #include <asm/early_printk.h>
> > > > +#include <asm/mm.h>
> > > > =C2=A0=C2=A0 #include <asm/traps.h>
> > > > =C2=A0=C2=A0=20
> > > > =C2=A0=C2=A0 /* Xen stack for bringing up the first CPU. */
> > > > @@ -43,6 +45,11 @@ static void __init disable_fpu(void)
> > > > =C2=A0=C2=A0=20
> > > > =C2=A0=C2=A0 void __init noreturn start_xen(void)
> > > > =C2=A0=C2=A0 {
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long load_start=C2=A0=C2=A0=C2=A0 =3D =
(unsigned long)start;
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long load_end=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 =3D load_start + (unsigned
> > > > long)(_end - _start);
> > >=20
> > > I am a bit puzzled, on top of load_addr() and linker_addr(), you
> > > wrote
> > > it can't use global variable/function. But here... you are using
> > > them.
> > > So how is this different?
> > I don't use load_addr() and linker_addr() macros here.
>=20
> I understand that. But my comment was related to:
>=20
> /*
> =C2=A0 * WARNING: load_addr() and linker_addr() are to be called only whe=
n
> the MMU is
> =C2=A0 * disabled and only when executed by the primary CPU.=C2=A0 They c=
annot=20
> refer to
> =C2=A0 * any global variable or functions.
> =C2=A0 */
>=20
> _start and _end are global variables. So why can you use them here
> but=20
> not there?
>=20
> If you could use them in load_addr() then you could simplify a lot
> your=20
> logic.
>=20
I experimented with it and it seems to me that the macros can be used
with functions&global variables so the comment is incorrect.
> > >=20
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long linker_start=C2=A0 =3D (unsigned =
long)_start;
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long linker_end=C2=A0=C2=A0=C2=A0 =3D =
(unsigned long)_end;
> > >=20
> > > I am a bit confused with how you define the start/end for both
> > > the
> > > linker and load. In one you use _start and the other _end.
> > >=20
> > > Both are fixed at compile time, so I assume the values will be a
> > > linked
> > > address rather than the load address. So how is this meant to
> > > how?
> > >=20
> > _start, _end - it is label from linker script so I use them to
> > define
> > linker_start and linker_end addresses.
> >=20
> > load_start is defined as an address of start() function from head.S
> > and
> > load_end is the load_start + the size=C2=A0 (_end - _start)
>=20
> I think you misunderstood my comment. I understand what the variables
> are for. But I don't understand the computation because Xen could be=20
> loaded at a different address than the runtime address.
>=20
What do you mean here by the runtime address? Do you mean an address
where boot loader put Xen? Or an address after relocation, or something
else?

Actually after my latest experiments it looks that we don't need to
calculate that things at all because for RISC-V it is  used everywhere
PC-relative access.
Thereby it doesn't matter what is an address where Xen was loaded and
linker address.
Right now I found only to cases which aren't PC-relative.
Please look at the patch below:
diff --git a/xen/arch/riscv/include/asm/config.h
b/xen/arch/riscv/include/asm/config.h
index 763a922a04..e1ba613d81 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -39,7 +39,7 @@
   name:
 #endif
=20
-#define XEN_VIRT_START  _AT(UL, 0x80200000)
+#define XEN_VIRT_START  _AT(UL, 0x00200000)
=20
 #define SMP_CACHE_BYTES (1 << 6)
=20
diff --git a/xen/arch/riscv/riscv64/head.S
b/xen/arch/riscv/riscv64/head.S
index ffd95f9f89..87842632e9 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -1,5 +1,7 @@
 #include <asm/riscv_encoding.h>
=20
+        .option nopic
+
         .section .text.header, "ax", %progbits
=20
 ENTRY(start)
diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index d87a9cfd2c..cd0acdee51 100644
--- a/xen/arch/riscv/traps.c
+++ b/xen/arch/riscv/traps.c
@@ -123,8 +123,14 @@ int do_bug_frame(const struct cpu_user_regs *regs,
vaddr_t pc)
     const char *filename, *predicate;
     int lineno;
=20
-    static const struct bug_frame* bug_frames[] =3D {
-        &__start_bug_frames[0],
+    /*
+     * force fill bug_frames array using auipc/addi instructions to
+     * make addresses in bug_frames PC-relative.
+    */
+    const struct bug_frame * force =3D (const struct bug_frame *)
&__start_bug_frames[0];
+
+    const struct bug_frame* bug_frames[] =3D {
+        force,
         &__stop_bug_frames_0[0],
         &__stop_bug_frames_1[0],
         &__stop_bug_frames_2[0],

The changes related to <asm/config.h> are  only to make linker_addr !=3D
load_address. So:
1. The first issue with cpu0_boot_stack in the head.S file. When we do:
      la      sp, cpu0_boot_stack
   Pseudo-instruction la will be transformed to auipc/addi OR
auipc/l{w|d}.
   It depends on an option: nopic, pic. [1]
  =20
   So the solution can be the following:
   * As it is done in the patch: add to the start of head.S ".option =20
nopic"
   * Change la to lla thereby it will be always generated "auipc/addi"
to get an address of variable.

2. The second issue is with the code in do_bug_frame() with bug_frames
array:
   const struct bug_frame* bug_frames[] =3D {
        &__start_bug_frames[0],
        &__stop_bug_frames_0[0],
        &__stop_bug_frames_1[0],
        &__stop_bug_frames_2[0],
        &__stop_bug_frames_3[0],
    };
  In this case &{start,stop}bug_frames{,{0-3}} will be changed to    =20
linker address. In case of when load_addr is 0x80200000 and linker_addr
is 0x00200000 then &{start,stop}bug_frames{,{0-3}} will be equal to
0x00200000 + X.
  =20
    To force using addresses related to load_addr  in bug_frames, it is
necessary to declare a variable with getting an address of
&__{start,stop}bug_frames{,{0-3}} thereby it will generate the code:
        2002c2:       00001797                auipc   a5,0x1
	2002c6:       d3e78793                addi    a5,a5,-706 #
201000 <__start_bug_frames>
	2002ca:       faf43c23                sd      a5,-72(s0)
	2002ce:       00001797                auipc   a5,0x1
	2002d2:       d3a78793                addi    a5,a5,-710 #
201008 <__stop_bug_frames_

> >=20
> > > Furthermore, I would expect linker_start and load_start to point
> > > to
> > > the
> > > same symbol (the only different is one store the virtual address
> > > whereas
> > > the other the physical address). But here you are technically
> > > using
> > > two
> > > different symbol. Can you explain why?
> > It is used to make identity mapping for the range [load_addr,
> > load_end]
> > and [linker_addr, linker_end]. It was done so because in Bobby's
> > patches in the linker script XEN_VIRT_START is defined as
> > _AT(vaddr_t,0x00200000) but bootloader loads Xen at 0x80200000 and
> > so
> > in this case loadr_addr !=3D linker_addr.
> > But I have changed XEN_VIRT_START to 0x8020...00 so they are equal
> > now.
>=20
> So this will be broken as soon as this code will be tested on an=20
> hardware where there is no RAM at 0x8020...00. I would strongly=20
> recommend for you to test your code with XEN_VIRT_START !=3D load
> address.
I've added the check to the new version of the patch but please the
comments above.
>=20
> > >=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 * The following things a=
re passed by bootloader:
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *=C2=A0=C2=A0 a0 -> hart=
_id
> > > > @@ -65,6 +72,10 @@ void __init noreturn start_xen(void)
> > > > =C2=A0=C2=A0=20
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 test_macros_from_bug_h();
> > > > =C2=A0=C2=A0=20
> > > > +=C2=A0=C2=A0=C2=A0 setup_initial_pagetables(load_start, load_end,
> > > > linker_start,
> > > > linker_end);
> > >=20
> > > Shouldn't this happen earlier in start_xen()?
> > It can. If to be honest I don't know if it should. I added at the
> > end
> > only because it was the last thing I worked on...
>=20
> I think we should enable the MMU and switch to the runtime mapping as
> early as possible.
I realized that during the mentioned above experiments.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Mar 08 15:06:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 15:06:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508071.782319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZvNL-0005UT-W1; Wed, 08 Mar 2023 15:06:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508071.782319; Wed, 08 Mar 2023 15: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 1pZvNL-0005UM-TC; Wed, 08 Mar 2023 15:06:43 +0000
Received: by outflank-mailman (input) for mailman id 508071;
 Wed, 08 Mar 2023 15:06: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=hVld=7A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZvNK-0005UG-Lg
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 15:06:42 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4b38dce-bdc2-11ed-87f5-c1b5be75604c;
 Wed, 08 Mar 2023 16:06:41 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8133.eurprd04.prod.outlook.com (2603:10a6:20b:3b1::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.17; Wed, 8 Mar
 2023 15:06:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Wed, 8 Mar 2023
 15:06: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: d4b38dce-bdc2-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LBsBJngySgZtpHvbd0ICsvTsRBQtgpTmGeUG5J0sJRBetAu7qvNJvJywQcH86D/WRnIkxCGNIZRW+i1H4lchKZ9Nmad6m+p9T3uUDu2y+fMHgkiQW9j12uRYF2cUv8EDD7KLpyRKYCgGANuCWlsgHddUQMbkqaF0aIWOz3xbRMPx4V+r8Q+g5nNFH5lz+tN9uQRjeRF59EC3bfYfGDhA3nKQbA72EEkmgQsQ1AXE8WMoXvxrZCGMvmRexuhVWQ8eb8yHmKmLcxJiwVxPN0BTGeY0eVi1stDIZsuQ8e8B9vd3mwDECDZRskij/IryJ/M1Y0KkbQHtOurEHvu9qQn5Eg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OyTKg5AgK+UdcBuLcF00jkAQhDbKuH+FyUuKaG1CjFU=;
 b=WUS3sjmdHDmPT1Xery/morPHLmJgt4fT9UYZccPL9jiXus4XSi+7H8UP3sR8fhse5NW+AihJKUdcSp1xFlRWxggR9b3bS2kD3BXISpvhzBE7my1YiixK62JTaIzT27OHhiL7iaaQNBbU6H4N+5qqtV3JDE5chOITqoNtcw1LeJrbKF9UlHHsnjFHoeTBGv9PIZz1a/kmFbSrQgO3QhosiIIZmZjIKH1L9FpCF0t+UCD/hE8PM/v3kxPm4JoLcDH3Nyrn3fhHj01Q23dvx+yirOz01JWkrsUKAjfhr0MKa55fq8xgc0XFEyfQNuKzHO1iMhjfa6+4cUvcqbF7nDHkMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OyTKg5AgK+UdcBuLcF00jkAQhDbKuH+FyUuKaG1CjFU=;
 b=rPWz+S/1PI3ug7v5hJY5XT3FR15DzE5j8ox4XV/S3JEM7LbmKCm7tSs8uhHU+Aqc5HwvGfUaJrx1neAjmJQAybKdVtfWL6H72xDE6Sfl104J88jCjL/uuCxbt1KF3wMLD6rYecvIAs6+Q9N/de2piDFDEnm9xUlGzY4xiir/M+uw4AjHX1gjA7IOwfMK6UveZlpF7uBLF//KvI7oiCIrjoI6EgWqz5vCMhxV+D8f3LfCiLIMUZBSgkl21wa8adh9MYsKO7x3Eo+iAm47v0QbIIsJ6ACiwqf9Mks13/Y/FAhcES0PSPcn3CDKINDvCtwLGiHGpc6dKtz85LwvtN0Q3A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <32a4a1c3-018c-fced-2b04-d1db79f7dcd9@suse.com>
Date: Wed, 8 Mar 2023 16:06:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v6 1/4] xen: introduce CONFIG_GENERIC_BUG_FRAME
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678202233.git.oleksii.kurochko@gmail.com>
 <1e83d371581aee41a3369434c49b90c2fc478f1f.1678202233.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1e83d371581aee41a3369434c49b90c2fc478f1f.1678202233.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0025.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8133:EE_
X-MS-Office365-Filtering-Correlation-Id: bd9f7c8f-a0bb-4206-bfe4-08db1fe6b765
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bib/n4vKyDrhIC28RbZgmRQR5i67op6f+yKHVbEyaW2/qCcJfy/PbyAAQp6mZif51pXZCGt9dN7wo/0szVCFsILNdSEUPa/6iisHrtS6ll7YgUNKA1Pa/bTWu1n9aWHAdxnyk1Oq4Vut9KlS/xAA4TApuh4muJnhvgzmcVoDJ8IQGDUJoWscKfVh7HGUkDbXoheCCdS+h4PxrVn1TsZQVMuTLwc/lyVw10edTrDhb/vvqrL0h7gIyTCrE7iXM4Ph92Kfz4lwlG3st/eIrERWqhcRKcys6V9s4OIPCBnq9XEpMz2MBnWMGp11aDzi/Mfa15AuKh+40Vf2ztJwBxxdJ1lpnGT12cGBwLTKGFkyViR/sCJaboJt51yVEJwIjV2njnZAT/Ej6yId27hzcJ5H5CptRKHguz06wGz4t0ZP5J9dgS2d2aEOSLi2CYNmGOS9GbB6Z0ql1dKfbb5x/rLFTDx42oabaNJNyccO/No/cbM0vcfciAqYd+M+hncNMB9HNAuPgfrqpXw+6YyEi7g7S1frFi8ngbvcF4s0yx+lJTwi3fKhylgHWoiruRE16PzuEl0OOoP+BD0CozzE0Og2hm1KfTT0JKERZiP01C56a4Igphm8rCRTg4O3cz8nOICH+gyPSkBUwzc/vghQcvKiWB7BSVij2h9nUNvpl1ziqTo6duyt/bLpSHmacXLIpbaNEDWFsrVgV7/XPAF7qzOc7L1nXVXvNS2dE3XgcdJXmVNxu3mlJlzMtsTydArpzq/3
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199018)(2616005)(31686004)(41300700001)(186003)(8676002)(316002)(66946007)(66476007)(66556008)(54906003)(26005)(53546011)(6506007)(6512007)(38100700002)(6486002)(31696002)(86362001)(83380400001)(4326008)(6916009)(5660300002)(2906002)(36756003)(8936002)(478600001)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TXlQeDVTKzVCQWYwNlVTNFNsS216SUFpNkQwZWI2QksxZXRNV241anU1aitX?=
 =?utf-8?B?bEtNZGt1aHNHcGo3UTJ1eUhZSEltMDVVRHI1dTJNUU92Sk9yN1laUi93NWtI?=
 =?utf-8?B?bHZDb3lIc0xlTGdMTFVrQjZaOU5YS0xYQU1hUVhIbkJwb3dSaFY1UTAyVjds?=
 =?utf-8?B?dTFuMGR2aGd5ZnU2RythbmhLMzJ6YjF2WEtPV2J2T1ViZGtLRW5Ib0dlT1Zj?=
 =?utf-8?B?T1B0eitPRUpDY05pL3F0QnN6TUlDNWRRcGs2K3JSTEQzL0pHTGVEQktQVGho?=
 =?utf-8?B?SGhqNmJ6UDJlcDcwWWhNT29WbTQyRTF5T2wxb0l4WUU4a1hvUXhhem1sbmwz?=
 =?utf-8?B?alZNUnlGM2ovSFZ2amo4ZEZVYmk4azNRK0h0OVNqWFBraDNvYnhxOHA2Q21p?=
 =?utf-8?B?MW9qRnlFTHZDWmhreVJPc3BYMG5qeW9SS3ZRUnZIbEhHWWlaeCtndDVVUmZY?=
 =?utf-8?B?MEllVFp2UE1abXB0NDVsT1VJbkpjYnl5ejc1cWJiNmN3UzgvNGprUDhOTTVu?=
 =?utf-8?B?dm1HNUZoeUpBd3JWM0Y0UDZPUjk3TVg1M0Nwc0M1a2tWTkp1cGFsdGV2ak85?=
 =?utf-8?B?RW1NMy9EQ3BGVTNHUWdRakx2RXdDN0JnWUdpc2FmbjB2eHZOdUVPQXJQSjEv?=
 =?utf-8?B?UE1KYlRNMDJCeHhPSFdrd29KRjEyTXVvSlZEUHVnMzJGTFNUNFBpTndWbWI0?=
 =?utf-8?B?YWRBb1VZNS8rN2d6Uzd0anA3dUFGZ0Vvb3R0bXh6eDFKdDVPUW9DNy94S2VJ?=
 =?utf-8?B?VzNOMWlyaUxML3oxSlFDNUxiV2lKL0p6ZjNLV0cxYndxcTUzNzV0V1hVUG9a?=
 =?utf-8?B?c0JUWHd1dE5kOStXMi9wbklpN2pKc09yeWVjV3dPNkszdnp2WWxyaVlCeU5M?=
 =?utf-8?B?MXAyQVNQUUEzbnd5ZndJVjhuRWlDYndjWW9mUGZtTy9jRXBWdWp5aVRtMW54?=
 =?utf-8?B?QnRKWFJIMnNtRnd2cEphRk5taW54MWdCMXh5akk3b21BTGpmcFVxaU1IY0Y0?=
 =?utf-8?B?R1ZCU0hMRU1rQ2JyeEpFY0I0M0hmSTE5T09raWR4K0JhcmdYeGZQaUkwT2th?=
 =?utf-8?B?RkF5MUU5TmVYVmtTUTFLZDNRZHcyc3JVM053dU5UOXV2SWNEb1VNc2ZZWk5j?=
 =?utf-8?B?STE2QW9FS291M1hrbUlJZC9WUkdFWGI0UkZjZFcrWllKZjNyVEZEczhwQ0Fz?=
 =?utf-8?B?ZGMvMFgvckF3QkJhbEwyYkVXOFIxYkJLMEFYYnc3SHVXWDQrN1lSOXpmM1BZ?=
 =?utf-8?B?VXVZOWZXTFk4dWkrbDh2bVJ5TWdiMzdYZmJ3RjhITnFzUDVnbXRLSVJ4dCs3?=
 =?utf-8?B?bFVTTElZSVpZSC84T1hISTVna1hIVmhaemxjRFJiR1E3NUZ3Z0dRMjBEamxZ?=
 =?utf-8?B?TmJ6a1l2SFJiQy82MVAvNDZHSC9hT1cvc0ViQW5iZTEzdjc2UHNyRmc3Q2c1?=
 =?utf-8?B?OXViV0h3TnpkcC9zbG4vQ2VyMkZnZksrNk8zWWdWMUxsOTdoYkZNNGlNNmk0?=
 =?utf-8?B?WndheUY3TEtlVE4ySnZKd00zeVlXd3JCYURyQ2VXSk5kUW9EakZPSjhOVW9r?=
 =?utf-8?B?cW5jTTlDaGE4UzZvaVlManZQYzZEcEFmNmNiK1hlWDdKaXlzSGpvaHkzeXdP?=
 =?utf-8?B?dWRIYlMvRWRiQm9mckJpdlhsa080bzNvSGIxSUEyQUJYU3BqZDRSN1NuMGpk?=
 =?utf-8?B?dU5IWDRjeHVtSzRPaXEveFBSOUQ0dVdLVHZrMmVJYXRYUmNQT3lSSFlEMldm?=
 =?utf-8?B?MVBTaGhLU3laU2Z0ZXBnYmNqalU2VUw3YUxZQjJybE95bElNMDVGQmJlUGZF?=
 =?utf-8?B?Q3pHZ3I0aGluQno3clNRQ0owZUtmNzlrM0I0ZkdZbUd0bmJ3UU9ZL04xZlov?=
 =?utf-8?B?d1RGUlFrSzd0SlJDa01Pa0VRbDhOUkd6SHI0T2JNTG1KT2Vaa0VqMEhsdCtw?=
 =?utf-8?B?eTBTWFBrYW5qZWlpdGlCVUNTRmFLRitnTUZ2bWtDc3BtS0Jxd0h1ZmpGMDJT?=
 =?utf-8?B?TnNqcUFRNWFENll6dTEyUVMxcTdFRm9wdEx3NG5NL2xQZjhhSHU0MDk4ZlBj?=
 =?utf-8?B?SkNMV3BteUZtN2VoSldZbXl4a3QxMzZQK0V3YnJwL1BNRmdGMkRONU1tLy85?=
 =?utf-8?Q?S2g1YswcJE1ArxuwASsdp8p2B?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bd9f7c8f-a0bb-4206-bfe4-08db1fe6b765
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2023 15:06:38.4769
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: h4PnlNGI9OX7qlpOrKkngCPkPoi+TipUgdgAGVTLyqj1TJzDEaZXFT7zqo/35eREXRPFXj7WCLbS0FwD55/70A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8133

On 07.03.2023 16:50, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/common/bug.c
> @@ -0,0 +1,104 @@
> +#include <xen/bug.h>
> +#include <xen/debugger.h>

Isn't it asm/bug.h now which is to include this header, if needed at all?

> --- /dev/null
> +++ b/xen/include/xen/bug.h
> @@ -0,0 +1,158 @@
> +#ifndef __XEN_BUG_H__
> +#define __XEN_BUG_H__
> +
> +#define BUGFRAME_run_fn 0
> +#define BUGFRAME_warn   1
> +#define BUGFRAME_bug    2
> +#define BUGFRAME_assert 3
> +
> +#define BUGFRAME_NR     4
> +
> +#define BUG_DISP_WIDTH    24
> +#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
> +#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
> +
> +#include <asm/bug.h>
> +
> +#ifndef __ASSEMBLY__
> +
> +#ifndef BUG_DEBUGGER_TRAP_FATAL
> +#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
> +#endif
> +
> +#include <xen/lib.h>
> +
> +#ifndef BUG_FRAME_STRUCT
> +
> +struct bug_frame {
> +    signed int loc_disp:BUG_DISP_WIDTH;
> +    unsigned int line_hi:BUG_LINE_HI_WIDTH;
> +    signed int ptr_disp:BUG_DISP_WIDTH;
> +    unsigned int line_lo:BUG_LINE_LO_WIDTH;
> +    signed int msg_disp[];
> +};
> +
> +#define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
> +
> +#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
> +
> +#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
> +                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
> +                      BUG_LINE_LO_WIDTH) +                                   \
> +                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
> +                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
> +
> +#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])

As indicated earlier, I think that you want to move here what you
currently have ...

> +#endif /* BUG_FRAME_STRUCT */
> +
> +/*
> + * Some architectures mark immediate instruction operands in a special way.
> + * In such cases the special marking may need omitting when specifying
> + * directive operands. Allow architectures to specify a suitable
> + * modifier.
> + */
> +#ifndef BUG_ASM_CONST
> +#define BUG_ASM_CONST ""
> +#endif
> +
> +#ifndef _ASM_BUGFRAME_TEXT
> +
> +#define _ASM_BUGFRAME_TEXT(second_frame)                                            \
> +    ".Lbug%=:"BUG_INSTR"\n"                                                         \
> +    "   .pushsection .bug_frames.%"BUG_ASM_CONST"[bf_type], \"a\", %%progbits\n"    \
> +    "   .p2align 2\n"                                                               \
> +    ".Lfrm%=:\n"                                                                    \
> +    "   .long (.Lbug%= - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_hi]\n"                 \
> +    "   .long (%"BUG_ASM_CONST"[bf_ptr] - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_lo]\n"\
> +    "   .if " #second_frame "\n"                                                    \
> +    "   .long 0, %"BUG_ASM_CONST"[bf_msg] - .Lfrm%=\n"                              \
> +    "   .endif\n"                                                                   \
> +    "   .popsection\n"
> +
> +#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
> +    [bf_type]    "i" (type),                                                 \
> +    [bf_ptr]     "i" (ptr),                                                  \
> +    [bf_msg]     "i" (msg),                                                  \
> +    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
> +                      << BUG_DISP_WIDTH),                                    \
> +    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
> +
> +#endif /* _ASM_BUGFRAME_TEXT */
> +
> +#ifndef BUILD_BUG_ON_LINE_WIDTH
> +#define BUILD_BUG_ON_LINE_WIDTH(line) \
> +    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))
> +#endif

... here, guarded by a separate #ifdef. The check is specifically tied to
the struct layout chosen here. Instead what you want here is

#ifndef BUILD_BUG_ON_LINE_WIDTH
#define BUILD_BUG_ON_LINE_WIDTH(line) ((void)(line))
#endif

covering architectures using a different layout where such a check isn't
needed. Of course this also could move up and simply become "#elif ..."
to the earlier "#if !defined(BUG_FRAME_STRUCT)", which would keep
related things together.

> +#ifndef BUG_FRAME
> +
> +#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
> +    BUILD_BUG_ON_LINE_WIDTH(line);                                           \
> +    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
> +    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
> +                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
> +} while (false)

Nit: Style.

> +
> +#endif
> +
> +#ifndef run_in_exception_handler
> +
> +/*
> + * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
> + * and use a real static inline here to get proper type checking of fn().
> + */
> +#define run_in_exception_handler(fn) do {                   \
> +    (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \

Hmm, there's another const-ness anomaly that has slipped in (and is
no longer necessary with do_bug_frame() now again taking a pointer to
non-const): At the point you handle BUGFRAME_run_fn the type used
(wrongly) is void (*)(const struct cpu_user_regs *).

The disconnect isn't good to leave (as the same issue could be
introduced later, when not looking closely enough). While not for
this patch, I wonder if we shouldn't make the use site be something
along the lines of

    if ( id == BUGFRAME_run_fn )
    {
        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);

        fn(regs);

        /* Re-enforce consistent types, because of the casts involved. */
        if ( false )
            run_in_exception_handler(fn);

        return id;
    }

just to make sure the type used in run_in_exception_handler()
matches the one used here (without actually producing any code).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 15:17:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 15:17:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508074.782329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZvY6-0007B3-0a; Wed, 08 Mar 2023 15:17:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508074.782329; Wed, 08 Mar 2023 15:17:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZvY5-0007Aw-Tt; Wed, 08 Mar 2023 15:17:49 +0000
Received: by outflank-mailman (input) for mailman id 508074;
 Wed, 08 Mar 2023 15:17: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=hVld=7A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZvY4-0007An-5s
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 15:17:48 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20624.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 60d1c423-bdc4-11ed-956e-85ef70e17bfa;
 Wed, 08 Mar 2023 16:17:45 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9281.eurprd04.prod.outlook.com (2603:10a6:10:36f::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Wed, 8 Mar
 2023 15:17:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Wed, 8 Mar 2023
 15:17: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: 60d1c423-bdc4-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZcVtMfxsY8l56innMJ40rv3lgpDQUSv0CHGYFccfG9sGJEITW8LLm4etPogOwJQJ+hFPk22tILz80zq7JrRkztfhIi7qvj/bSWOraIsqzrf74192HFEk9L88EsliEzxzKXJ9saTb057uJ+pav0SwKTHnjqoAQaz8CB0bW6AX23vZZiziOUGEzdIArPJzbFi7bOJquZDqs9AMwhXzYtI6SoODpyHRgerius5Z3wr4Ad6iGjxh7V+Jx/JEQSMIEOeS3t1U+5ccVQgfpciryNMUFyqZ5Te+wUFMo/JVfwJ27Oskaqj06ReVBdRLY4MuKUM0ahrK/cniSmoGIBynOfGQsA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Peqce0YBxgb3a0iGcjoVV0llK5qKAJ6S6sIEcAzn1lc=;
 b=ExSu/O4DjZ2spkyaaUF/RmxV+STkedCl6YSJOSHjJeA2qT711b7A/9FVqz8N5JNuKnbWd7D6GGYG+uJBm81NqVAgF7HwtsIxm5uMMcZl4QSsAkIGYU4HglqegzTZ6kjg9tFn7R/pNiYo1Xl6n1W0cakbx9y9pB69/1yYOyf4hEzFLrx4ebgxh+D0+wbMpeTXdk0aavB6DJoIVYfsLlNrOYjD4d2M5+9iTmweuaXdFTxaBMG6K9QDoeas36FWk85mHTk4qm9N/AD79LuT9hcNKJOKhZMvWPsR0yupcY+tkOZCTo63uQx6T3nAu3V6gqp0DqzdfMOne0bEmPrCw9zaQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Peqce0YBxgb3a0iGcjoVV0llK5qKAJ6S6sIEcAzn1lc=;
 b=YF2HEL3PAI8yyEMSlixSXromnSz1LUI3qng3LXJscC4DsvLw/DUh+3lMQcfybi4hkAOzNnPSZSwLuriq/8+OFhPYv97L29Lmcmi/iQFmF80+o5zxTqV5OCY8fqCwfA0HUV5KEcmnW4osqmO8EnX9aJbFwkuwGOgwtlrMfssxeufHwIk1zjwKDUsjsOZ+fQIc+whoJR/oBN8e7CaDsgGSO6PgIEEUrl5MlytWgi7z+9uGITUiEf9pfINxZZgb7AaZi7nBPMTrQm0XxJwEkgdXApTxeWuSRm9hKrz34mjWWWAuaZsh8MYj0UV92Gho1kmI9R3jMXrggQ9suxp9tu95Qw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9e6a76f1-73c6-9a6e-3444-f3e1cb2d71dc@suse.com>
Date: Wed, 8 Mar 2023 16:17:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1 2/3] xen/riscv: setup initial pagetables
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1677250203.git.oleksii.kurochko@gmail.com>
 <83444f8f90cf2adf431762d919ba958a25ff8ce4.1677250203.git.oleksii.kurochko@gmail.com>
 <52072f1b-0cf8-a218-eefc-a8c1b4cecf43@xen.org>
 <e2a1968767e7a0f1535920ada14ec2f323e0f9c5.camel@gmail.com>
 <b8dd2333-5f3b-10ea-7ddd-47bd5f84ca5f@xen.org>
 <94f5059a4e31ddd29141fa8fe5156b560575ab1e.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <94f5059a4e31ddd29141fa8fe5156b560575ab1e.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0154.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9281:EE_
X-MS-Office365-Filtering-Correlation-Id: 1326a5eb-243d-4b12-3d1d-08db1fe843ab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CVh9M1x1aSiY37pyaXoYtmnyEgV5Bpd8oIaN/Pn+delHZnfDYVFtOLd6xSgrm4o0dCeQBnS4EfO74/KFx5iFkIF5D7ROLesr1qSBtCXanWpCQy21kdNUHzURXBfM7EdkFDZqcvADjA4e9jZXja6QRC4UEw+VAcjfjh5lISsQJFeSDqO+c3dx9KuSE/xeFc1aOy7xrM1+N0sViTcP2GwtzDiTN3a40e4gPRE8ri9ZuiS5Nhja5ADzJj0MAI96xookR4MT9UuLtos3l66D7Ooab9s1vmbEsfuDS2fQLimG+EYoPsUi6ZYlmQnniXWsl+sqya9X+cTK+y0TWIiC2v5njDPcUwLGbKOYR2hPvb/gDiWv76jw6ptx3FOrZdPE+jZgIbB3/WIawfD9esCeqt3uHaq+c0Q/pnaKI5QIQLyIXJZQEeucRkgyzTpy8Pb9MFfuH1WD8miTM+dL+cnAhr2WdQK+rZRJWa5SK6xEdpkwwnyiF+4dcVEZll6jMko9kXDCHZGrcZeEbCAOihzenY3HRa2Lw5ilqshtD83f0twNetW9fzCguxB/rNXoJBwTHEBg7QLFUzU1LdEWWK1vGPFXzboviwX/PP6vbCyMI+UG1Qsbcx4I5cVHlzMQcXFNP2uujjtKTh473a1K73PFPjBktU6mbsNfzh/EbDY7EmdZJrmzNPDR4RWTE54IdkkHBPw04ypT9VtWF7s/BHi3x0Lt749vPLv+n/0h4orXXUpFfa4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(39860400002)(366004)(396003)(346002)(136003)(451199018)(31686004)(2906002)(5660300002)(8936002)(41300700001)(31696002)(66556008)(4326008)(83380400001)(66476007)(66946007)(8676002)(6916009)(316002)(54906003)(6486002)(6506007)(478600001)(53546011)(6512007)(2616005)(26005)(36756003)(186003)(86362001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eUcxY1lwRGVCZFJ2VDhkV3d2eU5iczF6bUdFMzkyOXhocFZlbUZLdWF5bzgy?=
 =?utf-8?B?YWdkeGRQejcxMWdNNXZ0KzhMcENabmVQSlhRNlpXYXh4MmZ5STlLbTJKWCtz?=
 =?utf-8?B?Q3JUOGg5ZDdwR1lTY2FPYVNyQ2xhT3NvcVVGVXpNQUtNaVlwdnlkWTdxU3Rt?=
 =?utf-8?B?cWpvbG8wSGRJZjZBVktCUEoxN2Q2VHNyREoyRVpxdkZtRmZxaWlzczFUU1VI?=
 =?utf-8?B?VUZnNms4Ym9EM0lUVXI1NW5zM0RVckhUV0pSZWh1dHVIaVpuQ1BYaVFOaFMr?=
 =?utf-8?B?NEYyRkd1NWNVVzRad3hybUJrTytXR29VdVZMMllCclFLeXRtakt3cEZvcytP?=
 =?utf-8?B?TTFZUklINFNvanBsMk1lNGlVb2pLQXk2UzNycnp1eGlyZ0RWOGdwWEJOc3da?=
 =?utf-8?B?U3RNV2FCQ0ZRNTRYaTdZU0dNTHZibjhTQWNweDBuSDQvTVEvbHdMZmJta25T?=
 =?utf-8?B?SjU0NytTdC9xMVZnZXZiMVB6V202VFFwSUtnWGRIN3FITlRmS0RQTWkrbWxu?=
 =?utf-8?B?Ulk2K05IbGFWa1REUHJ0cFc5aFZVeEVHYzNiNmJHV2xZeXF6alNsWElOck9V?=
 =?utf-8?B?dW5FUWsvSWFDTWZneEFBeXZrMExETnNmQy9SQmhHK05wREVSVlVITFFXdmhN?=
 =?utf-8?B?NnF6UDNHbExocDR5YitsN2I4NGw4czJwUHg5aUNHRVQ1UGxNcjhIRlkzSG1V?=
 =?utf-8?B?Z1NkQU5mdy9FbWRXSkMvblpNR1hvMVhET0syZ0VCM0NnbXkxR3lRbGxrYmtZ?=
 =?utf-8?B?a0s3M2pPWVRwOGxFTzByVm04Vy9rd1RmZ1BkeVF5RFMvdkpCNWg1YnV4UDZW?=
 =?utf-8?B?aGFnZTNVTG5Cd3NabVZWRTRTemdKckJIWXhhSDM5SmM4bklKNk9HYzZ3VXU5?=
 =?utf-8?B?YVFqUnZ1MlJTamZXOXNHd3FmN0d4d1haMjZuZjlIZzgwVm5TQXNQNGw1RnRt?=
 =?utf-8?B?N2Vub2Nobm9jSmVMZzVjUTdKSi9VMDBZbWdKbUZUaXl4OEJQQ3kyakJUaFU1?=
 =?utf-8?B?b2wwUlFsd00xcmN2SFA2ZzlUdzNKNjZheHllY05EclFieXkyNGlMMkJxZitZ?=
 =?utf-8?B?L01jQ3ZRdVZKdWNSeldKWHNpN3lybFBzNCtnNjNnZzBKK3FlWVAwNnl6Zlo2?=
 =?utf-8?B?cFYzMTBpVFFRUkRJdlNrTkMycnN4eHpkaTMzQkQwVTRwci9wS1VnZmFvektu?=
 =?utf-8?B?Q200VnIybjZMcXpEdG5rdDVXZkFpQWVCQzhrOTc4a28xajlNdHVmcjFLTWxu?=
 =?utf-8?B?RDVBQ1owRjJwZHZmM01XVmVrMG80eHJveUJxQ2ZiSitHdmo4My8rcklxQWhT?=
 =?utf-8?B?TlhBMityekx3azA3TVdGVjN2N1VVWFNTTmtUVTJ4REpTeVRSVC83U0JZOEFq?=
 =?utf-8?B?ZmlxbklkbmptdU1SNUxCVCsrbWJCUEw5TjhUMm5wamdWYVM2TCtoWms4cDg0?=
 =?utf-8?B?SzRwejF5akxZRERsTTJNOE5vRE1zNmtnSFF6NWpQUVE2a1BoQnhDeFZyYm1s?=
 =?utf-8?B?cTdQQnFDMzUwSG1mUFhrd1FmbnhKdzFraXZMcGNRay9yWGs4SkFicVdFMkc4?=
 =?utf-8?B?UU1JTXZSZ3Qxd0tJaUI4bmU4UE1QVkRxUVJlMWFSVWFXLzA1ejJjdDRRNVRm?=
 =?utf-8?B?aUNrMjJsSzBVWVZaL2dMYzhleldDbkg4bGlyTXBJcjZaakhTU0FoVTZpclV2?=
 =?utf-8?B?dndpTkJpblE3dXc4Rm1OMUxZRW0zcTNMelNaRWFJREl2amRqM1lOVi8vOHdy?=
 =?utf-8?B?M2lTeldRRVdHNGM2UG9iSEY2ZFdxazZEQkk1Q0ZYNHhrN3d1ZzJWZ044UGhq?=
 =?utf-8?B?VGkvWlJ1Njc5QlNuWCtjWFFmQnVYaEllVzJkRlplVzk3MERpWG1vYmlqbXJj?=
 =?utf-8?B?bVZPVWhsa21qd2MrZ1ZWdW1lOHJKMkVTcXlRQlN6SlJIelZHYUdSKzRmRzFP?=
 =?utf-8?B?VG85YzBSeXBuK1dKZGRlQzA1cWJzb3VtK1N5eWJ6ckVtYUxLbU4zZTF5cG5o?=
 =?utf-8?B?ZUw4aTdmM2JaNUlPZUt2MTRRV3ZOTHVta0U1WmpHRjNNZGplVU5LNW1tWjlP?=
 =?utf-8?B?OUxnOFBMRkdOZFg3QlpjMk80RnQ3TmRMSkozUDlZK0NZV0Qrcjd1c2F5R2pp?=
 =?utf-8?Q?nspsLa1olUI+ASVkrQtkXP0Cq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1326a5eb-243d-4b12-3d1d-08db1fe843ab
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2023 15:17:43.2476
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: r7iuTTmY6aS35ENqLiOj90A+mvbt/ZWpXTMR25ldPq9Kmo8nGWsnM86go/bkODYLt3GZw8X/gHCIBRs1jz2NuA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9281

On 08.03.2023 15:54, Oleksii wrote:
> Actually after my latest experiments it looks that we don't need to
> calculate that things at all because for RISC-V it is  used everywhere
> PC-relative access.
> Thereby it doesn't matter what is an address where Xen was loaded and
> linker address.
> Right now I found only to cases which aren't PC-relative.
> Please look at the patch below:
> diff --git a/xen/arch/riscv/include/asm/config.h
> b/xen/arch/riscv/include/asm/config.h
> index 763a922a04..e1ba613d81 100644
> --- a/xen/arch/riscv/include/asm/config.h
> +++ b/xen/arch/riscv/include/asm/config.h
> @@ -39,7 +39,7 @@
>    name:
>  #endif
>  
> -#define XEN_VIRT_START  _AT(UL, 0x80200000)
> +#define XEN_VIRT_START  _AT(UL, 0x00200000)

I think this wants to remain the address where Xen actually runs, and
where Xen is linked to. This ...

> --- a/xen/arch/riscv/traps.c
> +++ b/xen/arch/riscv/traps.c
> @@ -123,8 +123,14 @@ int do_bug_frame(const struct cpu_user_regs *regs,
> vaddr_t pc)
>      const char *filename, *predicate;
>      int lineno;
>  
> -    static const struct bug_frame* bug_frames[] = {
> -        &__start_bug_frames[0],
> +    /*
> +     * force fill bug_frames array using auipc/addi instructions to
> +     * make addresses in bug_frames PC-relative.
> +    */
> +    const struct bug_frame * force = (const struct bug_frame *)
> &__start_bug_frames[0];
> +
> +    const struct bug_frame* bug_frames[] = {
> +        force,
>          &__stop_bug_frames_0[0],
>          &__stop_bug_frames_1[0],
>          &__stop_bug_frames_2[0],

... array would better be static anyway, and ...

> The changes related to <asm/config.h> are  only to make linker_addr !=
> load_address. So:
> 1. The first issue with cpu0_boot_stack in the head.S file. When we do:
>       la      sp, cpu0_boot_stack
>    Pseudo-instruction la will be transformed to auipc/addi OR
> auipc/l{w|d}.
>    It depends on an option: nopic, pic. [1]
>    
>    So the solution can be the following:
>    * As it is done in the patch: add to the start of head.S ".option  
> nopic"
>    * Change la to lla thereby it will be always generated "auipc/addi"
> to get an address of variable.
> 
> 2. The second issue is with the code in do_bug_frame() with bug_frames
> array:
>    const struct bug_frame* bug_frames[] = {
>         &__start_bug_frames[0],
>         &__stop_bug_frames_0[0],
>         &__stop_bug_frames_1[0],
>         &__stop_bug_frames_2[0],
>         &__stop_bug_frames_3[0],
>     };
>   In this case &{start,stop}bug_frames{,{0-3}} will be changed to     
> linker address. In case of when load_addr is 0x80200000 and linker_addr
> is 0x00200000 then &{start,stop}bug_frames{,{0-3}} will be equal to
> 0x00200000 + X.

... this "solution" to a problem you introduce by wrongly modifying
the linked address would then need applying to any other similar code
pattern found in Xen. Which is (I hope obviously) not a viable route.
Instead code running before address translation is enable needs to be
extra careful in what code and data items it accesses, and how.

Jan

>     To force using addresses related to load_addr  in bug_frames, it is
> necessary to declare a variable with getting an address of
> &__{start,stop}bug_frames{,{0-3}} thereby it will generate the code:
>         2002c2:       00001797                auipc   a5,0x1
> 	2002c6:       d3e78793                addi    a5,a5,-706 #
> 201000 <__start_bug_frames>
> 	2002ca:       faf43c23                sd      a5,-72(s0)
> 	2002ce:       00001797                auipc   a5,0x1
> 	2002d2:       d3a78793                addi    a5,a5,-710 #
> 201008 <__stop_bug_frames_



From xen-devel-bounces@lists.xenproject.org Wed Mar 08 15:23:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 15:23:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508079.782339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZvdi-0000Qa-PV; Wed, 08 Mar 2023 15:23:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508079.782339; Wed, 08 Mar 2023 15: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 1pZvdi-0000QT-Li; Wed, 08 Mar 2023 15:23:38 +0000
Received: by outflank-mailman (input) for mailman id 508079;
 Wed, 08 Mar 2023 15:23: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=lEal=7A=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1pZvdh-0000QN-H7
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 15:23:37 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30651028-bdc5-11ed-87f5-c1b5be75604c;
 Wed, 08 Mar 2023 16:23:35 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 328FNQgi002927
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO)
 for <xen-devel@lists.xenproject.org>; Wed, 8 Mar 2023 10:23:31 -0500 (EST)
 (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 328FNQ0X002926
 for xen-devel@lists.xenproject.org; Wed, 8 Mar 2023 07:23: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: 30651028-bdc5-11ed-87f5-c1b5be75604c
Date: Wed, 8 Mar 2023 07:23:26 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Subject: [BUG] x2apic broken with current AMD hardware
Message-ID: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

Mostly SSIA.  As originally identified by "Neowutran", appears Xen's
x2apic wrapper implementation fails with current generation AMD hardware
(Ryzen 7xxx/Zen 4).  This can be worked around by passing "x2apic=false"
on Xen's command-line, though I'm wondering about the performance impact.

There hasn't been much activity on xen-devel WRT x2apic, so a patch which
fixed this may have flown under the radar.  Most testing has also been
somewhat removed from HEAD.

Thanks to "Neowutran" for falling on this grenade and making it easier
for the followers.  Pointer to first report:
https://forum.qubes-os.org/t/ryzen-7000-serie/14538


-- 
(\___(\___(\______          --=> 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 Mar 08 15:27:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 15:27:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508084.782349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZvhP-00012X-7u; Wed, 08 Mar 2023 15:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508084.782349; Wed, 08 Mar 2023 15:27:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZvhP-00012Q-58; Wed, 08 Mar 2023 15:27:27 +0000
Received: by outflank-mailman (input) for mailman id 508084;
 Wed, 08 Mar 2023 15: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=hVld=7A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZvhN-00012K-9O
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 15:27:25 +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 b9a2ce51-bdc5-11ed-87f5-c1b5be75604c;
 Wed, 08 Mar 2023 16:27:24 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAWPR04MB9815.eurprd04.prod.outlook.com (2603:10a6:102:381::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.17; Wed, 8 Mar
 2023 15:27:21 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Wed, 8 Mar 2023
 15: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: b9a2ce51-bdc5-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c8GQF30Rfi6IDp1sRqGhqMhNNHnbar1thAYeCKaMkfTs0OBze8ajZrm/U2/SMQd/++3ZRZ57j5wKqdJDaSmKq12Y3AG+tlZqd9CXH65+jApHAG7j/xYTSSjzesReSyVSy7a9YciVpC8DbP8TOL1NOlYb5BwkGMvoT65DLSZqqt2HlSPltp6da3OFyLjFT4+SpEQ6R7zibXcp6XHpRZNc3Nto6FJro/h8bpdicEyH5UYX6PwqygGOj/YRoJzRbxPOUbTQOVcT1DO6ucz+52qwXHrF2nF+k3LZIdDqL/vVO/aj5olsSt7CWgSQ6qvIS37BrZwddCfn6DB3zCYodlVnwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TM3Zv1SzQkBx0fR6jPQIbDNmcU4Ogxcs7V6Qd7eVixI=;
 b=gNzYg3akT/sNuJLKX8zF9Gmj0ZTp6AS4Z5Rw7DfPwjSDYh3IfxegYUC0u37Ifk7v6nSqZTJuhBKKZ4wQAEeqyyf5Mkr3YjP9QwsX73qafrzFn3jcHrcQqo6FVMWkVQrt8Lksrh2RlqckRieLK8j3HukgC6YrvgwtL3Lnb+//HvxZsLdaaIJfEvISQYocJ+uTpBF8r6Na/X9IRW39py88Dlh0A9xCajk1y5nIDsm0hF5dZj6iI8M+nbQchHpXL8GBUdZso1zLJUQMta9ytrmM1EikF1ezAq0C0f37h4t9F8C7SWldKwjdyQ6sc8LowHOonqH+tXqaR6KOH86dqPnAKA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TM3Zv1SzQkBx0fR6jPQIbDNmcU4Ogxcs7V6Qd7eVixI=;
 b=iA417ULa5+D+VYFk1N1Mka0oZDRX3t3lyVtD+TOoo6UDpg8GlncYRosOx6RM1Wwnq2qYo0yZ8KgXYmchWipVBa/uFCxeETT6jZzLg2IMIteW2aoQbYM+4WyVXAAl4nXfHwF+/5Ryg2y6WkV+GMyF6jgFpRjgBqBWrJGNg1owDTfYShd6y7Vqhy9Ccf7OE0tubXJQ4SYaHliDOx6l87MyqtPcO6rpPn7ihD9E3pPu4sPt7Zqlk5Zk4tdd712BTDrYzN7VTRj9Or7g+fk/zoWT+uutQRy5hiU0D9OvURkKYI9eBbbN2lGrORFEMbCyQ+hSDEqQjoKkMeY52J9Sjrd/Mw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7c7ca139-a77d-c5f1-e8ae-d819656725f1@suse.com>
Date: Wed, 8 Mar 2023 16:27:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v6 2/4] xen: change <asm/bug.h> to <xen/bug.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.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: <cover.1678202233.git.oleksii.kurochko@gmail.com>
 <d8722046783462504d5396f7f880ff62b1ef9a90.1678202233.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d8722046783462504d5396f7f880ff62b1ef9a90.1678202233.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0132.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAWPR04MB9815:EE_
X-MS-Office365-Filtering-Correlation-Id: 1cdc9830-eb48-489f-fbe7-08db1fe99c70
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PSqImBBGyqNBYLRZVQVc3cwd9M6/9uxHUe/P02qwQsdux0iYiCVDb83P9ksoRkMPaNVJt4dXYr8JDIsDRbEEFC/JxmOncCtMN3oZjLIvWQSP+Wh45rbrngjRSuBvtLsyKyFYUC3/tUT4H3l/doJh2FSYv5XLeSaoT50e8lgxR+SAWXXEiBcnZAUfUQNxE50dqUV0CJ3YpaLd42lKLdEtd1GCY9StmrjWGI86lGqAO3q/it2u5jRAA3U6X1u4fhaKgrKtUsmIshpI905Mls1RgiuzWX2Yi+9Lb7bg/rCNB/ZAxmQeUlkbbNI82cznJkHgPsIoGfuaicbim4dsb0QZnfP4XWuAx417zdE2RCRT33bcwfTNQBniEY4cRROVMaQy8FwbPrwBMp3njQq5yFoBnmlL0Z3aGAO5m6P0B4/gqGys3UGaxLGfsSuLuY/XZBkP//o2bHfUArYZ5/rXmWfrsohpviccTsWjY4Huj04yUdV7IiaqHZuUXTS1VqZkERbJqMssQGP7Fn7onYtyKE1BmDa1bD9QfN7ih1iPsZsOOniF09zNjT9XZEKynmm0X29uwxSh9FvQd6ph5JfzMpYE6JNUICz8I1tSfsTZh207n/gnLVbIeIx4DlDEB/vp0iNFAN/zo6OrXbaRazUKYFU/nkwc4MuK65HyxM+JSc19SbVAY1p3b3dxTHLrQIg1ObIVsexWylXPmvHkMSK2FdMM/2XG8bUEwzAXK7fLa4nrU34=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(376002)(366004)(39860400002)(396003)(346002)(451199018)(54906003)(36756003)(478600001)(7416002)(2616005)(5660300002)(2906002)(186003)(6512007)(6506007)(6486002)(26005)(53546011)(31696002)(86362001)(8936002)(38100700002)(66476007)(66946007)(66556008)(8676002)(31686004)(4326008)(6916009)(41300700001)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R2hRY093eEx3U29TRzM3Mk1JWVQySm1pV3liNVVlU3RkS2VlM00wTkgvV3V5?=
 =?utf-8?B?QTFHWExobG1ZRjh3YmFRTmlvMGx0MnRSN1NCa1BpNjd2eTd1T2pxWEVUNWpk?=
 =?utf-8?B?cEVjNHlDVWw4TjlsMDRRRStaVnFVOVpNektJQ3VKZlRDZWZoTDVENlJXYi8r?=
 =?utf-8?B?ekhLYXFkVVFPcWdXWlBiOVVoNnJBcDJmcjI3TE4wSERPWlRoV0tjbXhGL2lL?=
 =?utf-8?B?OFhkL1F2dEFDdDd1MWxYTlRGVmVybjRLSitPVWpDUk95SXdpREdkM0VXTjgr?=
 =?utf-8?B?QThuUTFHaWxaOFJIVHp3TkN5amVlS3BIaXExTWVuMmpFelkzU2tTeEdxTEVn?=
 =?utf-8?B?cTZWbEl2NEVrNS9NUFM0SnZoZE1WTjNqTHRtRkcxcWxhcFpQT3gzSEppUHJX?=
 =?utf-8?B?WTBRbDRwcCtpVnJSMnV0OXViMVhDWTJqckdRTkNLNEg4UHJTWkpEUzdPUTB1?=
 =?utf-8?B?QlkrY1ZjRS9rL1pTVEx6U1NaRnRpL3pra2RFSDczMU42cHZpbmhyT1lna0Ru?=
 =?utf-8?B?b2c5RU1acmZTMFk0U2tUK2c5MVhvTEl3QUFlMURJbG5ka0hOcUhkV1lmM081?=
 =?utf-8?B?WmhDaFQzL2tiaVZoMjhUUEN4UkdVNGlmQjZvejEzVXVISVBQamVUdjk5c1I4?=
 =?utf-8?B?aERQNVJDSlRVZm9oNGpvTnhnVGhBcnhudFFNaUZtcHBxZ1FVZmhLanJxUXpz?=
 =?utf-8?B?ZW80cU9RMUcxdXBwMlFSUVRMUDNVK1VyL1NYN2ZwclA3azRhdkwwbjZNemw3?=
 =?utf-8?B?c1FhL0QzNm9QUGI4VUUzNjZXSEs3UjFFZ3g4YmlEeStneUZGb3NYM1NwUHNa?=
 =?utf-8?B?QW90RlkrdktKYmVZWHhsdm1PSDZWcXFqejRjSkIybGIvd2JWb3VxeVIyRTVY?=
 =?utf-8?B?UXFGMkdXVndsdVJkUDZTMW5INmJRd1RQOWtEdTRlWG16VVgzdFl4WHM1V2kz?=
 =?utf-8?B?VGR3WFIxZVRsVTZDc1oxOGJXMEtIM0h2bkNXeUNpaFJTOFNvUC8rdC9zODNn?=
 =?utf-8?B?MEgzVzFONmtTczE4UG9XNitnRnlVeUpVd3ExZlF2dCtBek40OVlYbmp3Skhs?=
 =?utf-8?B?c3M3aGtYTE1UQzZOdStTNzhnejA4QlljMW5TTFZkTU5EK1JEcFJkMVo1SlJK?=
 =?utf-8?B?VnFuTXpWSEJoeWM0RjdKb1lvejFJaFBjeCsrZm9GZmxXd0NHYnMrVHpTOEZv?=
 =?utf-8?B?Z2JMeTJiNU5hWithZFhsdnZNMU8zSzBrSzBMenhGcWJjdTd2UERLb2Z3RGgr?=
 =?utf-8?B?Q2gzSThGTkxPWlo0am0vWWF2Y1J1amVsNElWd3M2eTUxNVFicUFQSnBpVDBs?=
 =?utf-8?B?bFZTUTMrN0dWeG1NWmZZNmJ5dWxUZkJUNFBjM0cxTU1NenVzSFdjd21iYzQ3?=
 =?utf-8?B?a2cyRkNuSlo5WGJnWVYweUc3NjE5dTRKY1pJKy9aNmxtM0t4SC9Kc3lRSDVt?=
 =?utf-8?B?dkFETG1JMjdlM0JZenpRVVVjN1JNLzFFRWxnR0krSm95Tmg0ci9zVWlmZzlr?=
 =?utf-8?B?NlFTUUtyNWovMzJpUU4vdTdzWDI2VGN0dXBidS9Uc3ZjNUhqVE13N0VPMzZp?=
 =?utf-8?B?R2VlbmJ1Q0theHNtcFY3NG83RDlUV3ZJdEh4OG9qQWs0TXlPSjl1dEFmYWtV?=
 =?utf-8?B?VnQ3NU1OaXk4V3RqbzU2L1loYjJmbU9Qb2pmbituOC94MExZQVpsUUxmVTZB?=
 =?utf-8?B?VkVac01xWm5vQlFSeWdTU1FnSjNQNGhuaC9tY3ZZY1d2bUNTZkhGcGtRaUxX?=
 =?utf-8?B?NEFhbXJLdW1HNGQxUW9pczE4ZnV3ZHlrNzcwcnpqWFprQTEwb3N3eVNCdnJt?=
 =?utf-8?B?bmsySmxZS2x5bEhDMWlhRmt5UlFVQTFQL3BRaldCcW5NU2FNM3NnN2xjQ0xR?=
 =?utf-8?B?bE55ZzlYNSsvNXFuZzBCYUp5U1VrdFBDRFo1SndOTk5meFRtSHFrZmRLSnl2?=
 =?utf-8?B?WFg3TXhBMTdiRlJSRmYraUU0TDZGcGp2K0pnNmtOdkRFbXJhWnRteEladWdE?=
 =?utf-8?B?akg0eWpLeUFqQThXZldZMm5BK0UyRnd1QWFBdkJBREZSZmdEWU1sU2grSmpw?=
 =?utf-8?B?dklJekdjVWVKMTBDTHNNajdEejJWRkxPcDVYdUxNRytkUG5Rc1ErSjRFMW5U?=
 =?utf-8?Q?v2QdCyHh1L832hRUzwJvJLC7U?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1cdc9830-eb48-489f-fbe7-08db1fe99c70
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2023 15:27:21.7110
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jSfgurRd26hxT7m4zVvU1sb7mvVoClkfVziZkMuCQqnTQ1UvQHyILeQvJOg1b/rvnFYpJa5z+U5/nBpBAVoB+w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9815

On 07.03.2023 16:50, Oleksii Kurochko wrote:
> --- a/xen/arch/arm/include/asm/bug.h
> +++ b/xen/arch/arm/include/asm/bug.h
> @@ -1,6 +1,8 @@
>  #ifndef __ARM_BUG_H__
>  #define __ARM_BUG_H__
>  
> +#include <xen/types.h>
> +
>  #if defined(CONFIG_ARM_32)
>  # include <asm/arm32/bug.h>
>  #elif defined(CONFIG_ARM_64)
> @@ -9,10 +11,16 @@
>  # error "unknown ARM variant"
>  #endif
>  
> +#undef BUG_DISP_WIDTH
> +#undef BUG_LINE_LO_WIDTH
> +#undef BUG_LINE_HI_WIDTH

Why? For Arm ...

>  #define BUG_DISP_WIDTH    24
>  #define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
>  #define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)

... you could purge these as unused, even in a standalone prereq patch.
And on x86 ...

> --- a/xen/arch/x86/include/asm/bug.h
> +++ b/xen/arch/x86/include/asm/bug.h
> @@ -1,19 +1,18 @@
>  #ifndef __X86_BUG_H__
>  #define __X86_BUG_H__
>  
> +#undef BUG_DISP_WIDTH
> +#undef BUG_LINE_LO_WIDTH
> +#undef BUG_LINE_HI_WIDTH
> +
>  #define BUG_DISP_WIDTH    24
>  #define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
>  #define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)

... there's no reason to #undef just to the #define again to the same
values. All of this would be removed in a subsequent patch anyway, and
it's less code churn (with code nevertheless being correct) if you get
rid of the #define-s right away (as iirc you had it in an earlier
version). If you agree then with these adjustments
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 15:33:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 15:33:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508087.782359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZvnM-0002gH-Sh; Wed, 08 Mar 2023 15:33:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508087.782359; Wed, 08 Mar 2023 15:33: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 1pZvnM-0002gA-Pi; Wed, 08 Mar 2023 15:33:36 +0000
Received: by outflank-mailman (input) for mailman id 508087;
 Wed, 08 Mar 2023 15:33: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=hVld=7A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZvnL-0002g2-Qz
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 15:33:35 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2061d.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 95b0e5c4-bdc6-11ed-956e-85ef70e17bfa;
 Wed, 08 Mar 2023 16:33:33 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8811.eurprd04.prod.outlook.com (2603:10a6:20b:40a::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Wed, 8 Mar
 2023 15:33:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Wed, 8 Mar 2023
 15:33: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: 95b0e5c4-bdc6-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UkVlGKdiG+iomTuSe/I0CaEdkk3ngOSLeoy+1nCXLchLnYrEfDo9k59rG77oTHS+hWNsik9n/HNxJjcRlVz2JomrdwuS3MgDZ2etDkrVyhjLk7IaR5Ct2mOt2CU4PKGFSaxImRN23zH9utJ5zqAQV5AEQfcEyQcqHPboM8j1PBs+2EF/2I2DMwZCwHv6F0aNs5ZYqFDD346Kb3sXEfgQbtKDexCAC3dzlqSX9b2Itcvw/DX1a5LPf6s8iopLxFozpWmbpgI7LW9ECc02NnJv8NsVEy91+1ga6bNosgjrWL7U9JE7JqKkVUHAgAEdBilPy1KkeX5ZxFTaLPyMHER0HQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AbTH5ihj9fE82nYPxXaOPTdgIc408R/VMWPSRt+vudY=;
 b=e+Sh5RNmHST95GZo0o4XqdG+TPag1lwr2boj3T3p3m4aGNp22KzqcOX9FAGe3VLgEnzVX52o78bX9y6VOqnF53VHSjPadXu26XH8qw9H3XYEH19lUVwI41EN+BtPA+Eui96+JDV7SJkgcm6My647Hc1qmWbjAMwMG3AHzocPqKporIhZb7mHNrI+mrqix8GKpawun64XkfDPslulobzDvdkcaozWzRORYPy/aDZ9duDZsrFpqdwQpPMOLO8MaUrErypxzwNzxq9RAe1xLvoQrXBXe0hr60mpct+ty/n0d752W55AkbXnjbxCmmI3/0AseNpSCbkRPvlNcQ3/gp5aGA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AbTH5ihj9fE82nYPxXaOPTdgIc408R/VMWPSRt+vudY=;
 b=HHdRskstv0qe69UJQJAb60Ok3YXvCp+f5YgRo5D0TnmZmgxgEFFgo7TTqHB/kZiao57CA3Ic26VNsJ1Sq0qLbB/Av/WIC0leJNrEF9CCQQIuWuuxvn1nFKt0KfuINlsTY3n5Kcc5hGW+CXKuy2EcjYqxigiroKBfLlTRnneCXZxPBTGVRx6TdGr35r14k820M6JdzqEClG0OWeNqMOe7skszZdsH2vLBOkV+k9ZHbWgqyRPayhm6SZN8rztsrayyHmyt1bwlJ2sR/7632k+PO3SXtYLEb7OrpednkYLmn3rAvUoue9tJVALPw8YsxaD/VRmEQpzbrm2HsJUveT3lrw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <aa8cf64e-e5b1-6c13-7b30-e409a0460e3c@suse.com>
Date: Wed, 8 Mar 2023 16:33:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v6 4/4] xen/x86: switch x86 to use generic implemetation
 of bug.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.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.1678202233.git.oleksii.kurochko@gmail.com>
 <abf50a37913608c3403c6e7e56c9fdba6f3ef643.1678202233.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <abf50a37913608c3403c6e7e56c9fdba6f3ef643.1678202233.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0008.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8811:EE_
X-MS-Office365-Filtering-Correlation-Id: 96963738-e4d5-47ce-427a-08db1fea7905
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QSKxGTolIJMzkyruJ8/QbLmdpFsGDc6HPEvBkQBN+YP44LkGuqAmhmvYFgGPSlbMVyu08zzJZ17AEMp8VBqtOSqqC/umDJZ/FiOhc1W7vsnT2HrbrkmtYa9hIkM9C9TRGKrW8Iu2LTdtuh1yBJl/4uLYnH+Vd31C+FJ7Or4W9/No91452K2Dq/nujlYtDEQXZjU9uvchC+Ap5uhW+RwVFMVKFxLiZR9q8Ceohx0iOY7GVdXzxWIKI4xwlX3YIUUrqe2Yu81w/B9jf5e2IIyLwRnBvSEzWVSHX1j5l29+2ViRscc5Ccw9DsdMAuMmgwUJZewW0DvM7rHdHurVkuPJf2PAV4usDbRwoL/68xmu9mmfTfJdEpF9wfWmyqWH6FKzv3HQKRCMGC4Q5k9EAPIg8/BeTpoY2WrABZqK6+5wnbwjjWtzKFsBeEomT+7CrivZITJVYrFzqV9BjRmRyfwEZO3Jkg+mYuQylIcy/NzHW2gIShogFw1eJajPfn1l1q1Pm5NLw3rw4kJvZv7C3Z/F1QRCMi+sxHTK5vj3okMd5crQNPudUfR8MXQdFoGJE0PZB3eIlPFKf0YNuDA9WctLvetoMeF9CPQgT1R/AB+gS2bajOkglThWo6avz3RbYt7X9YyOOHKieUKhqyWPvIrGtBtcwMWzxrPcst3lQPelgWKuEzhi0tmf7jVHzvsWuEsUqc8KgExTo0XoRPHmnmRrDsXl4S1+cFBQZzp7KsHR/PnotbXvVAX1iTaS8PcCXBeR
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(346002)(396003)(39860400002)(376002)(451199018)(31696002)(6916009)(8676002)(66556008)(4326008)(66476007)(66946007)(83380400001)(186003)(86362001)(36756003)(38100700002)(316002)(478600001)(53546011)(6506007)(2616005)(26005)(6512007)(54906003)(6486002)(2906002)(8936002)(5660300002)(31686004)(41300700001)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NVZYRnZUL3ljUGo4RThZRHFoNDArWTdRM0J4R2dzQTduYk1Rdk9LYVBNZEE4?=
 =?utf-8?B?TkFLa3JlOExvTDI3b29heituYS9xVEpCS1ZzMVZaQTZneG14djZaSHhndGNM?=
 =?utf-8?B?VUZqU2pHRFZ4ZFNRbUR6S3EzZ3RCTjVzMFNPNFBvZXpmZWxkaW5yWW9VQ3NI?=
 =?utf-8?B?QmQyREFYZkszWEZ1Ym1HOGVKM0lUb055WXNTQ2MrSXdmTVpGRlJYZzN4SWRq?=
 =?utf-8?B?cnhFemNMdDNzSHdpeDZMTnlsVzI0Nmx2MnhOakg5SE1oZmVQYjUyU21PY2sr?=
 =?utf-8?B?VlhocXNPU3lLWnN1VXlFcHB0MGtEd1JpU3d1WkJiM05xOVFaL09BcEJSaG9s?=
 =?utf-8?B?dTByQ0E4Q0pZVTFkQ2gwemhpaS9nVFlRNEQycDc0RzQwV1hBRlF6eFNYd2l0?=
 =?utf-8?B?TmJlUngvQTdiTmMrSG5YaVFOZEtYUytodURmWVJZWFEyL0ZyQnNQV05ZRlJM?=
 =?utf-8?B?ZGtsRXREblNJb1dGekdyOTFtcXk1b0J3aW1sU1dXSm05SHorVVJjOTZqdUIx?=
 =?utf-8?B?anpGT2VpOC85UzljWER4Mm1oSTlPMjdIVjljQ0J4RiswTUF0czY4NG9FNG5r?=
 =?utf-8?B?TkN2VTcrNmhUVXhiSGl6ZTRGVGdFdlM5WEVIQWgxOXpMWVpKazE1NWZRdDJs?=
 =?utf-8?B?K3A5VHhSYVNnN2FoU0g4cUJ4bHh4NkEvYmhtTXd6dkprSm9jYU1jcTg0allj?=
 =?utf-8?B?QXgva0doZmUvV1o4TXEyL2I3aGxZRWMzNm5xb3dNSCtaNVJwTFl5bkFSQVEx?=
 =?utf-8?B?REFWNXdiRElYWW1VRkNib3U5Z1BzUjZtd1E3K21MMWJqRVZBTXBYdlhrK1I4?=
 =?utf-8?B?M0VGSzMvV2tRYXpTcWozdUNyakl6c0tyS3FRQS9LUHpONHA4SmoyTERuNnoy?=
 =?utf-8?B?TmZ4Sm1HRmhhZ0ZWSG9pM25ESkt0OUtUazBxbEF4VXJQSklZRkFPZFdrcWRm?=
 =?utf-8?B?NUJVM3lsSWJGV1JRMlRuNFFyREFIT0grSkNSL1JmQ1VES0RXVk9jVXgzMjkx?=
 =?utf-8?B?Um10c1kzRmtyc29QT2ZZVHdsNE5hTHVYZi9TMWJkb3llWG5PUXdodGh2WTBJ?=
 =?utf-8?B?b0p1WUVJR0lvOTk2ZHdHZ01udCtvemZYVWJrY2FnUHM2aTRSRHROQytTVzFi?=
 =?utf-8?B?aDkrWldEY3Fva085VDlyMDJrL3hYT1drM3lROEJSQU1jK2ZGV3c2R3kvclhS?=
 =?utf-8?B?U3dlQlQ1dE9BajM3UDI3Q1B0WjdIeG1oUlBpNWVIWTZJMlNsbUZna0FqNko3?=
 =?utf-8?B?Q1hyd3dJcjNoTkllc1VRa1FrSERUZ0NldThRQk1YS1NvK0N3aW9LTmZwaUE1?=
 =?utf-8?B?MjRCTG1vRGJNYUJGUHRCTFlyYWlYeXpheEtaRTc3K25JVE1FcCtNZzJzbVps?=
 =?utf-8?B?MTJRRE90SXZEY25SZHVlc2EwMkFKcno5QVV6ZHpzNklpclhWYWVoRWNNQ0tX?=
 =?utf-8?B?aTl5NlJwK3VWT2lCRXFGOEJ4aEFmRERUSVVOOTFzdXkvQnl2Vm9LK1pZRVZn?=
 =?utf-8?B?MG5oWVo3T3FIOXVmZ1RXMXEzeVBmUERYYURYeVNkbFRxWXYvWVVRU2NpMTE0?=
 =?utf-8?B?TTBaVHV4c2pNd28vMzVRN0dFekZmYld5OFpEdXcwU1I3M0ZTN0ROVU9YcFds?=
 =?utf-8?B?dTJMNmJHdWYrR3VGMEJ3RmFPYmkxU1p3eThhNmdWWXE5QmUvVjloMzhwYWcv?=
 =?utf-8?B?TnJNZnRTVlhRQ2V6WUl2dy8zbFdFYVBwb0Q1b2QxSnJncUZ0M1d4eDRFeldu?=
 =?utf-8?B?TXJEb0dlN2gvbDRHNzNFVFlKdy9GWGhEZzVacmIzaFBnZlZKV0l4Ykp3bzV4?=
 =?utf-8?B?NDJvY2ViQ3owUnpoNVZIS0pWdkZaOGtQWGhIZGhBOU4wSUt5Z0xFSnN1d0Rx?=
 =?utf-8?B?RWM4UGg0eWZ3SHFQWm8xYndCWmRNUkZMLy9oMU1rSHFYZHM3NEdVMHpNSFRt?=
 =?utf-8?B?aFZ1dXdKakwyOHhVSkNLZDc3SU1FRnRQMmJvTEZ6cDFEQTllL1dDakJFa2tz?=
 =?utf-8?B?ZW8vTENUb2xTVm9icnptS20wOFd1SExiWGMxb1JtN3lJRXkvTUR3aERqck5l?=
 =?utf-8?B?ZmVBeVlzQjRtek1sTmQ2WG5hWFZ2T0N5L3JnQlF3ZXhCOG1kU2h5cGFMbDRj?=
 =?utf-8?Q?P0dHrDRD05A6uCd9PyWnt8C12?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 96963738-e4d5-47ce-427a-08db1fea7905
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2023 15:33:31.7815
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ksWOj7dP3Mt9DpAglTWee41QxTxMiGK/J0Ag/SjRsWVb9pLURuSD1Kf3E3p6ijfpJMY0Y4cuH4bW+E8Qi4lxow==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8811

On 07.03.2023 16:50, Oleksii Kurochko wrote:
> @@ -1166,12 +1167,9 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
>  
>  void do_invalid_op(struct cpu_user_regs *regs)
>  {
> -    const struct bug_frame *bug = NULL;
>      u8 bug_insn[2];
> -    const char *prefix = "", *filename, *predicate, *eip = (char *)regs->rip;
> -    unsigned long fixup;
> -    int id = -1, lineno;
> -    const struct virtual_region *region;
> +    void *eip = (void *)regs->rip;

As said elsewhere already: "const" please whenever possible. The more that
the variable was pointer-to-const before.

> @@ -1185,83 +1183,20 @@ void do_invalid_op(struct cpu_user_regs *regs)
>           memcmp(bug_insn, "\xf\xb", sizeof(bug_insn)) )
>          goto die;
>  
> -    region = find_text_region(regs->rip);
> -    if ( region )
> -    {
> -        for ( id = 0; id < BUGFRAME_NR; id++ )
> -        {
> -            const struct bug_frame *b;
> -            unsigned int i;
> -
> -            for ( i = 0, b = region->frame[id].bugs;
> -                  i < region->frame[id].n_bugs; b++, i++ )
> -            {
> -                if ( bug_loc(b) == eip )
> -                {
> -                    bug = b;
> -                    goto found;
> -                }
> -            }
> -        }
> -    }
> -
> - found:
> -    if ( !bug )
> +    id = do_bug_frame(regs, regs->rip);
> +    if ( id < 0 )
>          goto die;
> -    eip += sizeof(bug_insn);
> -    if ( id == BUGFRAME_run_fn )
> -    {
> -        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
> -
> -        fn(regs);
> -        fixup_exception_return(regs, (unsigned long)eip);
> -        return;
> -    }
>  
> -    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
> -    filename = bug_ptr(bug);
> -    if ( !is_kernel(filename) && !is_patch(filename) )
> -        goto die;
> -    fixup = strlen(filename);
> -    if ( fixup > 50 )
> -    {
> -        filename += fixup - 47;
> -        prefix = "...";
> -    }
> -    lineno = bug_line(bug);
> +    eip = (unsigned char *)eip + sizeof(bug_insn);

Why don't you keep the original

    eip += sizeof(bug_insn);

? As also said before we use the GNU extension of arithmetic on pointers
to void pretty extensively elsewhere; there's no reason at all to
introduce an unnecessary and questionable cast here.

With these adjustments and with the re-basing over the changes requested
to patch 2
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 15:37:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 15:37:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508090.782368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZvr3-0003HS-DR; Wed, 08 Mar 2023 15:37:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508090.782368; Wed, 08 Mar 2023 15: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 1pZvr3-0003HL-Ak; Wed, 08 Mar 2023 15:37:25 +0000
Received: by outflank-mailman (input) for mailman id 508090;
 Wed, 08 Mar 2023 15:37: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 1pZvr1-0003HB-VA; Wed, 08 Mar 2023 15:37: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 1pZvr1-00046A-U2; Wed, 08 Mar 2023 15:37: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 1pZvr1-0004Bz-Do; Wed, 08 Mar 2023 15:37:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZvr1-0002Ux-DH; Wed, 08 Mar 2023 15:37: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=17p/k0fI05FUfnWOLTTzezoWYFzXyfnDseeOjTd56tI=; b=2k8nsfiZQEoTiIknVNXQhCJHxm
	aHWh0hRWlf1IoYPRtx11s8M4eYmt7pvlMDnq/HNASrnrSkxKWTkCOI+GwjqM64qDQRatOlyR8CSR7
	C/3XWP3jmsULiY4ol56/IVeCnHbIBrh6RDVdSmD+GPV8e9BlhueeSG8z+kW+yn4SZLRw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179508-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179508: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=7a59096258fb9e9679538da8851fe00656841980
X-Osstest-Versions-That:
    xen=746774cd1786b13dc67020efb6496477535dcb26
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Mar 2023 15:37:23 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  7a59096258fb9e9679538da8851fe00656841980
baseline version:
 xen                  746774cd1786b13dc67020efb6496477535dcb26

Last test of basis   179504  2023-03-08 03:00:27 Z    0 days
Testing same since   179508  2023-03-08 14:01:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Juergen Gross <jgross@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   746774cd17..7a59096258  7a59096258fb9e9679538da8851fe00656841980 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 15:37:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 15:37:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508093.782378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZvr5-0003Xr-Pu; Wed, 08 Mar 2023 15:37:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508093.782378; Wed, 08 Mar 2023 15: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 1pZvr5-0003Xg-N1; Wed, 08 Mar 2023 15:37:27 +0000
Received: by outflank-mailman (input) for mailman id 508093;
 Wed, 08 Mar 2023 15: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=LRan=7A=citrix.com=prvs=4248fdc31=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pZvr4-0003Ww-QA
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 15:37:26 +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 1c111e42-bdc7-11ed-956e-85ef70e17bfa;
 Wed, 08 Mar 2023 16:37:21 +0100 (CET)
Received: from mail-dm6nam12lp2177.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 08 Mar 2023 10:37:09 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM4PR03MB6911.namprd03.prod.outlook.com (2603:10b6:8:46::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Wed, 8 Mar
 2023 15:37:07 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6156.029; Wed, 8 Mar 2023
 15:37:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c111e42-bdc7-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678289841;
  h=message-id:date:subject:to:references:from:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=LulsZTPaF4KZeJYSQCbkAASAOwMrbCZ0daiD4c2A9Oc=;
  b=Yq6aW8n0nzEZvki1cxPnmKbkvqvjNwY/UHWMjlcNeL43Qnea8MgKGpDs
   9ETjgTFzZMBkFT4rG+YyDTMlp4XYY53MRaYnfuPS+zt9xTBEVg7V+dc/d
   olGXrYwAhWMF85LsHza64ftxg9m5ejEIh1f9pxzk5UDuW911A+BLeqCWK
   I=;
X-IronPort-RemoteIP: 104.47.59.177
X-IronPort-MID: 99396908
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:2GNt6KssvJCfi/a73KSm25QeYufnVElfMUV32f8akzHdYApBsoF/q
 tZmKTuGPKyOMGKgfIwnbIu18BkBv8WAnYRmHAA+qytkFCoT+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASGxyFOZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwNzMIaSqci7uN8rOBQ/txhfx8LNLmBdZK0p1g5Wmx4fcOZ7nmGv+PyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgf60b4W9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOzpra800QXDroAVID0HbECnoqWIs2Cjd9xaG
 kYq6jF2vYFnoSRHSfG4BXVUukWssx4RXplAHusS7VyVjKHT5m6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnop4thu3MCkRaGMHOykNSFJf58G5+d5syBXSUtxkDai5yMXvHi39y
 CyLqy54gKgPickM1OOw+lWvby+Qm6UlhzUdvm3/Nl9JJCsgDGJ5T+REMWTm0Ms=
IronPort-HdrOrdr: A9a23:bRFhhKxQHQApRgXobm58KrPx/uskLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9xYgBHpTnkAsW9qBznhPpICOUqTNWftWrdyQiVxeNZnPLfKlTbckWQmI5gPM
 9bAtBD4bbLfD9HZKjBkWyF+uIbsaK6Ge2T9JTj5kYoaTsvR7Br7g9/BAreOkpqRDNeDZ58MJ
 aH/MJIqxepZHxSN62Adww4dtmGg+eOuIPtYBYACRJiwA6SjQmw4Lq/NxSDxB8RXx5G3L9n22
 nYlA7S4LmlrpiAu23h/l6Wy64TtMrqy9NFCsDJos8JKg/0ggLtX4hlU63qhkFKnAn6gmxKrP
 D85zMbe+hj4XLYeW+45TH33RP77Too43j+jXeFnHrKu6XCNXgHIvsEobgcXgrS6kImst05+r
 lMxXilu51eCg6FtDjh5uLPSwphmiOP0DEfeNYo/jFiuLYlGfZsRM0kjTVo+a47bVXHAVUcYa
 FT5MK13ocoTbrVVQGUgoBV+q3RYp0CJGb6fqE8gL3u79F3pgEJ86JK/r1uop5HzuNId6V5
X-IronPort-AV: E=Sophos;i="5.98,244,1673931600"; 
   d="scan'208";a="99396908"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PFQAmNkyyx6/NreOYZ1ZWPfKTRpW7CqtwaXg3ycVaUndb7qcPNpovKdwbYwkRIkSmnc3Na0UIGz+n6ukCgKwpPoWolPCzCOoySOH0roVAqlM02O7optbNOe8shM/8VoaCY7iKT4sEjSv0UwIU2Vey9afIjsp/8LhEN6qE9f28Ke8y5vx0NHNFR3cGJbQTQrEmAxzkdaqKK00BmC9o1iTaILeKy5ZXfMbA7nc1k48BcHRI2D7jn3JOVw0zhFUiU3MFEddhPJGIShPR4jhdBDU6R8X+QpuzDlejimIZg2Ow8OG6ji/8JzPTdaS8LkwM7Vcvb8UE66W853vEonavJIcHg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=orSWNB9CiE0Q0bjex6syvaCLMk/962wjKO6oqtxQuQE=;
 b=lx2OERj0eyHot3ivgQB9gVFq6SvLQ5Ce4AjUachkqbqjaH7jVBCKUDtASTBX+stFiizmkSQWWnIsOBqxFEiZWvm0tm31Ig1zNAza2WGb6+Fm9uGtOji9eq9KoIJ+5+GZyzTXDFkrhy6kddW2UhOn6pDKVEhayrOMEupzziPhmtMRbcRODOwI0LcSDrWp2PCnOoR0jVMV6k7V0AaZX5kgz8do8UNJSQCZVTwkJ6c2GpPRDPrUw6XEBTSyLpWk9850oOMsfec8avY7hejvrQ4u2JoZFi1+yYCLvhRJqGBak98kl984vfIhYrU3cekgUnjGJ55axyGdfcMAE5IKmicSwA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=orSWNB9CiE0Q0bjex6syvaCLMk/962wjKO6oqtxQuQE=;
 b=fXnDHud81XfHJPI8vIJs61OIXzvmeniN38aXRpGy3EZoe2+p07N40DtqSimS/XJ/6kJ4D9z/bHMhUMThSyUpHTN2+RSQc67RfAFY+OP6NCI31HbkzJCZSUJXLWEorQzscBAeLICwmrym76iXG+g29lQTy+Jdr7NWVv/4Av1OZ+4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <071fded2-10fd-dfb2-a814-99d68acb922a@citrix.com>
Date: Wed, 8 Mar 2023 15:37:02 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [BUG] x2apic broken with current AMD hardware
Content-Language: en-GB
To: Elliott Mitchell <ehem+xen@m5p.com>, xen-devel@lists.xenproject.org
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0158.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:188::19) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM4PR03MB6911:EE_
X-MS-Office365-Filtering-Correlation-Id: efbc6df7-7a77-4837-84ab-08db1feaf990
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	teTsyjokHRh/Xo6HBM0x+IXAwZJgyAdwI9g81RGPlhJTQicZvLhCdyFY1gBqStaoUZP61lAno1c0tBeDtek0ecBIhSRMr4v9DNTRSkNxR23txe6n/JhMPYnwZBBaXaf9ruT3tLAO43ONb0fL7RBBFi5dw/GSTnxIMq0jQRuNpN/B4UD9p9eU/jUQohVeA3FDtdwK0FCYi8IF0OMkwUy6QOFZROGFpjtES+DxBlSK9zpSMgfg4UzM28CxCfPUuUyEyF3+jJ5pMHb9bPwPsOo0fwqWuPVkE51xEGrd0hG34QXYey/WnSSEXaNrjvP/0Ur4v5YiOoASh4cH7AmBwoqefbxHfsqfEHM492pQ/vFPDXAPYuPdxfodRM1L7labjQD+fQu7zp12vSZK3hchjt1Gm2yvGEjh429f3OyuHvRIhO7JVDg8NmiJRrBqlPD73w35ZuobSGw78xeaHoxLueO9LANqOsiq9FTxzMMt2LtMTgM+EcBqDqBXr0ON+RO2NPFHuNjwjdjvkLUSPxzygj6LEQfYh/amsPayeTkWlSD9qnPINveOCgpbGTadPjcF8WrI9EanCdToTl8KoO5icxqWLV31G6JxgnuyP82WRJpUNfCCJqox5q6en9OI8T/5dhYAxZSW8+xtq8ZM9sEHUa0THewLeTuun2l0JQ1YIs25bH27QYQV20NWr4fBDyxlk9zt/7d9ltXGBONkOJ1cSlGemtWWrjEaIUwlvMTipVh3V6c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(396003)(366004)(346002)(376002)(39860400002)(451199018)(6486002)(26005)(6506007)(966005)(53546011)(6512007)(6666004)(36756003)(31696002)(38100700002)(86362001)(2616005)(82960400001)(186003)(66946007)(66556008)(66476007)(41300700001)(8676002)(2906002)(31686004)(5660300002)(8936002)(478600001)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MFNZYmplR3NnMzYrK1p1QStYOC9UaGVOajR3ekVZSmJmUnh0bUZXQ0s4SjA4?=
 =?utf-8?B?bDF3MHh4VDZuRzJOcmc4eXlBc081aDBHM1gyazJ1Qk16d2MyS3M4VVhad1hx?=
 =?utf-8?B?NTlJcHJyY3h0VTFFTGRkYTZmcEtxU1FHRktQNVRSVGlsZW91ZmZrTGZDOGx0?=
 =?utf-8?B?aitsZ1Zobm1MZkRLeVQxMVRjK2dzU1NTNVQvR0NoSU5vemZkSkNoY0VNbDVa?=
 =?utf-8?B?enp5czBTT0E0QTJZQ3VCbGpvbHhqMTBJcmRFTy91YzRoNmhIVmJaNlpPbllM?=
 =?utf-8?B?aUV4YVpxOHgxRElGS2FKVmZ6M21RcThRMHVIWHNkc2lLUERHRjR4UXdrL3Nq?=
 =?utf-8?B?WkpBcXJOdENBdVZlMXV4cHBYMmJiRS9qM3kweTlJRFo2a3E3UWYrcnJkLy92?=
 =?utf-8?B?bnMyU0lIM1VodjNhQkZxWW4xQzkxV3ZSVVJVb2ZPQkM1MS9DcXYwWFluSzNZ?=
 =?utf-8?B?ay9NYld4VTVaakxUNmhlOXNzYlF4aHJFQkxKeTlKcitRcWxDRytuN01XQ3BP?=
 =?utf-8?B?dWdpdDgzQkN5NEFlYWFNdXpIQlBWU1pMV29ZTGhET2hNRENKeUVQYlV4Z2Yr?=
 =?utf-8?B?ZG9WOEVZRGhpTklLOWFLaTYzZFllWWZVYURhK3hndElKaURHSjI4K0tJMlF1?=
 =?utf-8?B?L0hKUE40K2xZNnovU3RsdEt6M0lEcUlyRUZuSG85clZYR0ExazExeEpZV1RU?=
 =?utf-8?B?MWdHTUxWTDMwdkFSbVd4aFhqZnVNa2x0aWpjTXVZQlRKT2g2VVZXQ1hVd2VO?=
 =?utf-8?B?RE5uVWdWN3VxNUFFbnppR1RrejErV2dSRnNUdmhsa1VxdkgzZVE2aG5UOENq?=
 =?utf-8?B?dEJkVVZXUlBESEt2bm9YNHRBeHRHT3RMZXJ2SkhQUE8vWkhkNnpNZFZLb2Q5?=
 =?utf-8?B?bmVXaWdKTjVKcHNaUityczU0MExvaEVVSWZYY3RUcHlLTEhqZ1ZKTWdvYmZN?=
 =?utf-8?B?cmJiMVBId1pZVzR2WU5mUjZUNUhSQno2ZVJUYTZwb1YrVHpKeGNQbFdCaGxm?=
 =?utf-8?B?SG9ybThCbHFSMGlMSVdLWXNBWE1VaWR6TGUyY3JhaVpXcHdBN3lpQ1FoK080?=
 =?utf-8?B?UWp3dEIvTnJXaVN1ejZZeUZNM3lUQWc2bnRYSE04VGtXNzdzK2xDTjFzeUwv?=
 =?utf-8?B?ZCtNY2ZlZFpFT2lhcDFFTUY5VmZJL0F5NTJOb1B3aisrbXEyMnNRRUs4VmFx?=
 =?utf-8?B?Z0gyRTUxL2NNNG5YelczbHAwVCtFd0IydXY3dnVKdFZXYnJiczFsbG55RktH?=
 =?utf-8?B?RnowK3NGOGxIaXFibUl4VGpDVVNXSTFEdTVMVkJDM0FDcFNETGh6VU1ic3Zw?=
 =?utf-8?B?S2FNZVg5KzArdGFxaGpnTFloVjdrU3RGaTVpR2tlWkhQK3RwMGU4WFpxUHZm?=
 =?utf-8?B?VklsaWpQUURoaFV1TkdrU0Rjc25DTFJQa09mNUtCNUl1UnZkK0tMRDU2VERD?=
 =?utf-8?B?bnVjVmQvdjRzUERHWC94bW1CZDExMUxXNGdwY2RCUmFDTDJmS2ZYMHA3cnhW?=
 =?utf-8?B?eDdpUGNHKzBzTXZleHU4dDhib012YkxRdUROK2pjRjRRVThsSTl5bVA2bmtT?=
 =?utf-8?B?QVRubVpBWFN1ZGI3RDBMVEJURXBqTDJmczBIRzhKU244U3dOQkppVmcyb0gy?=
 =?utf-8?B?WXZKV0NXSWxGd0UyZHBSdGlVTTBTN3hQR1duMTMzSlZwdjRGNWRQMzd5dlA1?=
 =?utf-8?B?S2ZHZ3Q2alZFNHUyZDFzT0VjK3R1Rlo5NkwyaVY1eWJ3WHQrcGhXZjI0Q280?=
 =?utf-8?B?NVp4V29ZUGNVQWNEejB1VkhLWGp2WWg1OWV1YkYwLytVZVkyaVpTd1cvNktp?=
 =?utf-8?B?WWJLcUE3RlMxQWkzaUE1QmRXaDJ2M2k1Z0N3dmZpcS8xM2tpYUszUTVtZ3o1?=
 =?utf-8?B?Q3JxRGpybmZVYWozZXg4NGtmdUUzK2ZoYVlocmkyWEd6aXpyNlVIU29hdEdB?=
 =?utf-8?B?L3hDM1RNV1hLemNCWGVqaStvVzZsVDFSQzBRdWZ5bHdzdmhzcmJpdEo4NmZh?=
 =?utf-8?B?UVJBQm9BMHB4UVdHL3hoSnE0bCtMNFY4Z3NtNVRuMHZtSkErZXZIYnZhQ1ZJ?=
 =?utf-8?B?ZGwxZWJZaXg3YzBLMUJDcFpPTWRKN3lHN2ljd013OW5yby8zZDMzRmFIWmFT?=
 =?utf-8?B?TkNWS25VMHVNTEMxUFM0eVNtc1piQXNTOExuNXc2djc0VEhUdk93ejhtVU01?=
 =?utf-8?B?dUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	X0sclEuEq1K/Daww3XWqu8a+bOr9+8yEVMKj71VIm/tjfYo5aPvG6r6sx+P1afJcXPus5NEG+Gfrq/m4Ujzw8H3vWYxI+vIb9KEtpvOusmkVwVNJ4+RL4AVP5NB76W5RLppPe5gRrw/ueMop1+B6qKVg53EQ1cTV/r97YaqkeS9A+n6WSoobB2+q6yahGYPm1FsgXoiQmIDtY0Nfhd0XUYxgHitVsnp9v1LvjIUkRy7mp8Oj1SJe20WUpOtCEMP/w5iy2eMvwWZ/NwIDwgeibCiXFlXBdy/e7IrNzmbOxHpusGtpoTuZNNdFUKKZntDBhSN1YY2QVeyG9QqqYUil2DqCAMSWMka7n9MYAcwjGtBIRPs0s4puiOmKb+fsALCOEmvuynO+iiqkkSdfieA1jhzmxQRqW/cPpnWyFNg+jZbqOiB+roW2MgYAtYdjKDIk9tws9Q9afsa9JZUOePrctKlTd7DccjpHTtm27T0MvGHReTR0i1CBSc2NZRkZ0WBQvIFnwrzrPVNDFbVHc/e1c5W1tT8Kw7VDqO8oG30h/i2V2a4+fHfPmvsK7xryZ8Re890KkeF3SxzvNQ428xWYPyzhTpk8almuczhB5DHCNBl/FovSUi8E3x4c5U5Oa8XdcsiHVkA/qPeKe3euVQC0Rz8rvIN7LqBi/UOYNb9GVphxLJlzZ8B6D+jKVDztEm5iMOMb01GRKJi0fC0dI8IwYDf2jN5dpy5mhbpq6UDXPuCF+djHk+GBILH8BS7SDTXLCUOM3odMofa+d261ZbTf3DAPvT6iXN2vpvsot+WMzho=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: efbc6df7-7a77-4837-84ab-08db1feaf990
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2023 15:37:07.5831
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aCZpeYA56TQ7sKmMwo3ay4VMs6t/qVrZjFYjW8ohaGl9GB0XGieepqPQROahACwVj5jf28TJi3S6zXuoXpe0A/ubXuV5M4LIw4RipFDXQF8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6911

On 08/03/2023 3:23 pm, Elliott Mitchell wrote:
> Mostly SSIA.  As originally identified by "Neowutran", appears Xen's
> x2apic wrapper implementation fails with current generation AMD hardware
> (Ryzen 7xxx/Zen 4).  This can be worked around by passing "x2apic=false"
> on Xen's command-line, though I'm wondering about the performance impact.
>
> There hasn't been much activity on xen-devel WRT x2apic, so a patch which
> fixed this may have flown under the radar.  Most testing has also been
> somewhat removed from HEAD.
>
> Thanks to "Neowutran" for falling on this grenade and making it easier
> for the followers.  Pointer to first report:
> https://forum.qubes-os.org/t/ryzen-7000-serie/14538

I'm sorry, but this is unactionable.

That thread is a mess of many different bugs, most entirely unrelated to
Xen in the slightest, and there is conflicting information on whether
the x2apic=false heuristic is even relevant.

There may be a Xen issue hiding in there, but my divination skill level
is unequal to the task...

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 15:51:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 15:51:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508100.782389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZw49-0006fE-V9; Wed, 08 Mar 2023 15:50:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508100.782389; Wed, 08 Mar 2023 15:50: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 1pZw49-0006f7-S2; Wed, 08 Mar 2023 15:50:57 +0000
Received: by outflank-mailman (input) for mailman id 508100;
 Wed, 08 Mar 2023 15:50: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=hVld=7A=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pZw49-0006f1-1x
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 15:50:57 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe16::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 02ea22f3-bdc9-11ed-87f5-c1b5be75604c;
 Wed, 08 Mar 2023 16:50:55 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB7015.eurprd04.prod.outlook.com (2603:10a6:20b:117::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.16; Wed, 8 Mar
 2023 15:50:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6156.028; Wed, 8 Mar 2023
 15:50: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: 02ea22f3-bdc9-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZDCmaFl5ACfft+lXtDmjUTja2uGDqrdOPFbYIVLsQwJcC62QrnBI61fJ2SviUkrkf8AX8wxj5UBqr8ff2mj18KRrEpLoY5enJhWI5HpaXw8UTFqyGLSWBPzyohDRXR4PL5vLAtgbOgo/QESFoUzjzA33miSVmfWpjFyUuGE9BwHwJx/eK21oUr6QEY6KWpEXHysC4TOtvSa8lWUVDT6gkTjDartgaAm97IA3LuW5g9Q1AcAeWhK4/FsDs6ILCsncRIyXQKQRhggsbB9oJp5+O1KI91eDvX1Uu9s9LUsQ1Mvj45BMO5opifpf32TLvJhbxz0GZ3aatLf5MVWGXU7bzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lVJTkEd2Am/7yZ4M/sSjafvc77TzID74PbmD8WXNn+s=;
 b=GBCBx9MxJltba6s0jGIGFGJbx2Tqz9Ikek9nvfMsQd0zAJ1i1EMYy77anBkyUWVh11/XBEDCld2LVZboIzpboz9VxLB+XbU0g3hY0etgwJhw0NUucupbYyGUS02M1ZqswmggUf6w2Sr6/NXegLRo/yrqkrzpSnuxnZTlfmuihvAsfs1qDIeiuyHFKDFozYHgCgFWUQ35UujR+AZzUkXkYVqZSn9Mma2w/pWzneqZmwdrA2cc0QY0ts6Lhdkfe2MK2Y/U9XQ9CS6FG6taRVy+I9VTNdiKx0D5b+BnGMoi4lmAp6Jn94F3NgUtKpIu0toKYNOgGyk09twmesB9NMTx5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lVJTkEd2Am/7yZ4M/sSjafvc77TzID74PbmD8WXNn+s=;
 b=2JXX+52HFr5t6ObnsI7QvEyz9pg0aaU0KDUPnlWwkU5NUYXGxvf4YEfot6EYB4C/IgLK2pcdTQjR61jE3C2Ry+VM5rYSVCUyqBVrPDiRwtmpouJ2+GUu4wt6ByZOhMmeyOI4MzCNQ5neiweTOTETiTPWSJ4vmr9oYmUx7/obc4/zlbFo77ESycJd5At7CHes3U9/nkOBRo08cERBa0XjWyzxCDpqIvRJoKcDTv0s39ag8yOC+aIR3l3W/ASSJoEoSDsLMAd5cBWirOyH/qMU7bHfiXLKFNWNfwYEotRURF3iYonAfEgu9lzCzU9JAv5tXJ4ULZOVInTQz1/X6GkpFQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
Date: Wed, 8 Mar 2023 16:50:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [BUG] x2apic broken with current AMD hardware
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0135.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7015:EE_
X-MS-Office365-Filtering-Correlation-Id: 41c44d8d-bd95-4a43-54ae-08db1fece619
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4OgzWuIxQjpleWG19mAFv9zpvgIMvRVHopayzp4/WPZyfGzZ9PcN7dhekYP736MUUmg/AKHr7DDOhi7IDlLRsRnfE3wlh6BEsQxuzqeBelUvWYWAqPST0mLKPih1NbP1PhcKhcPVtJ0s9eMJor/6wtk2i1n3HRyJmdlluDI3JcW5UYA17hwU6kV6cHWBJCSNL23FvhqlhMm4RkQ7lUYBj37TBD/Xc6q2WgSyeJMTZk1gM57lj/RLO3NNKJTjvUcq1tREdEvaUqpejHvnnQWbrqY9fwFEU03wLuo0xwgZmYNMfGAc/U436IH97tnhwXWvCS8DCxsnZwbJz/Rmr/5HnWvg6tHYxu1SM2I7RQ0SCCYW8QXGASswsgPsUpBl8YfQNQloJJrq75Q4cB6P80o6i5iCQQfWd9PWxz32LALYXS+xo+n9xZicbVXsL4mZDyAAmPThaAKWboUb0VZqTKTyylT3JsA/n5JoymgVNhycy7kroKGOQ2BFydM14VqG6HdqxVGWticaG1wUKwZEC1AxuQsLeiUpbNh+iFYenknQfvCVbCzJGVGz4gOiil+V2wGu05yxSJ8h4Y/Llh1qLH4iqpvnLo+XzPSzSKkQtqWZelvrOvCsGZ54UZU7E28zzGpv9aROZXwzVBX88hNCABK0Qs2ZwXGp8ISmU119M800bPj4qf+W/AS0ndQ2UrVSdCw6x6IW2j9z/Pk46Z8RS8Kb9YSWxP1egew2dkySA7n3eN8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(39860400002)(376002)(346002)(396003)(366004)(451199018)(2616005)(31686004)(41300700001)(186003)(8676002)(316002)(66476007)(66946007)(66556008)(53546011)(26005)(6506007)(6512007)(966005)(6486002)(86362001)(31696002)(38100700002)(4326008)(2906002)(36756003)(5660300002)(478600001)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d1h0N0V0cTBRanU4bUNpbzF3ZVZmMWd2dSswdFNYK0dWdnRjd0IwL3FjeTRL?=
 =?utf-8?B?N0Y4VmlwQnpNQ0VtRzVTWGYyc0hQSWpYQ0MyT1RteFlRNXZIdFlxbDZnbS8r?=
 =?utf-8?B?Mlk4Ri9TTEFGMFZPWDg4T0Z4NElhVHhSZkI1TWg4MnRhWTk5aGNyV01PdDRB?=
 =?utf-8?B?VHUzT0lMc3ZnQUtoVTJJSUxGell2ZEhuZkQ1ZkxORlU1b1BxRXhsU2pTUUFO?=
 =?utf-8?B?TktzNFB1L0h6a3hrcXJWWHBwNTlMZzBwUVZpamR2b1A1aUNVT1ptTU9sVm9m?=
 =?utf-8?B?bWxINlJZQko0b01YVE02aGlhTUpSUkhuSVVBNDlDVEYvSGpHTXpWcUtocEph?=
 =?utf-8?B?ZVljdkl5Zk83aG5wLy8xOUNHK1VybnBYOHI0Z0UwRHFQME0ya1Fib2J3ZXps?=
 =?utf-8?B?M2NLbmFwcUxPS1E2VnE5Ny9sK2diOWxsV3JHNzV6cXEweWhqUUlIVGZaUHhs?=
 =?utf-8?B?dFE5RWJJWFc3NllQdkk3dVI4NXcwTEpvdUNnMmdLRkxkc2xFNnNvYlJwYjJ1?=
 =?utf-8?B?a2tkaHVTamU5Mm5SaThhTFVSTGdwOUFwYUZTMEhkZXlUbEZVd0w3M1A4NVB6?=
 =?utf-8?B?MkcyUUQrMWtEVUZJbzQyeXEvZjUzMDVtcUVFSGtTcXllN0ExOXcvWTJzeENW?=
 =?utf-8?B?ZXVIUFpYRkxscituWWVRa1pFaTFUZ3N0T1RHMlVHZVh5dUZpbzlkZnJxSG4y?=
 =?utf-8?B?YVNtUjd2a3RoUVpjV2pPLzZRZzFxOGdoVnBqOXg1T0JuamQ1ZStNK0hlREJ5?=
 =?utf-8?B?ZHdWTHUxV3l5eG1OTFgrMlJyWFZwNGpMQ3ZhaDVEUTZlSFV0K1ZlWjIyRHlk?=
 =?utf-8?B?YU8vMmFBR29NQ0lrVGZuZjk1Sjk0M2ZhK20zNDVObS9yMFdrNVdVNmdGOEhH?=
 =?utf-8?B?MUZFbE5jMjZxWThPZjNtWFNSVWx1YkJDVWtjTllSZGhEbjNQUU1wWlZITEFa?=
 =?utf-8?B?Z0s4SlJJWnMyeFhrSDZIRjdaZjR6TkdoVGJTdmJQR2ZYcHE0RytieU54UjM0?=
 =?utf-8?B?UWN6aHNFbTczNXk1d2tXVmFsYXVIczFJRmJYTWg1NEkyMHBRdGJDalB0am1E?=
 =?utf-8?B?Y2NTZ0xwdVJPRDlWYnBiRXhMYUlKWVFiRE5pVTAvOHh2Vko3eWNMMVFQN0xr?=
 =?utf-8?B?WGZJQUhpdXEyUWFva3FhSmJRNWViMjVxcmdqaU1PL1VVS0ZVVTlDWXEwRTVI?=
 =?utf-8?B?UmEzUGZjS1ovUXYyajBtdjVlY01UYVlJRkpnNFJCb0I2SFZNZG40S0tSRUVI?=
 =?utf-8?B?QzRBbmZGTE52Q1JDSHA0TTc3TUl3bFNiR1daK21FaVpndGdUY2VTdDJ3QjVE?=
 =?utf-8?B?TERHT1ZVNkhqZTRFNkhyRWpnT3locVkyZElaeFV3MHpxK09rTUUrd1FIRVFy?=
 =?utf-8?B?WE5maGp1TlhlcVFuL2MvUUpTMEpna0hnbDY5YWNtaVk1Y1hNa1dzQ0lqUkla?=
 =?utf-8?B?anZFdjNneG5EWXRpbDFRK01WcjZUU0dGMWJHY216NTc3dVB2RExMb2ZLZ3Bl?=
 =?utf-8?B?UVI0MkJraE9Zalk2SkZZWjZKZmhpNjVzSFBBMktEWGc0OGNFSjEvNHBQS1BT?=
 =?utf-8?B?MkZhRjdFWFpVcm5xYVEyc0VTelAzZElzL2pPTFU1djFleFFzdFdJRWpnNll6?=
 =?utf-8?B?Y1FoQldCUGJNS0lPTHJNVDlUUmtzTWFWb29SRDJXdjgyVVRnV3pqU25pM1M4?=
 =?utf-8?B?cTlqZjB0SlptQlU1dnk3MDJXcmUxYXAxbnJibnB6Q2VNVkdXQktMVG41dVJT?=
 =?utf-8?B?L0NkKzA1Ly92TnI1V2ZjV2ZvZHRvZ3lEYzFYWmZvaHVFNFZqK0JQNmFaNk95?=
 =?utf-8?B?WUc2Q3BiNXdwU1RRTjQvUForQXk3aDVlQXRNMnNPaVlicFV4NlFPbnR3S2hn?=
 =?utf-8?B?NTZkdzVMd3dGbWlXOG5LaVlMS3puVGwzOUZ5emhhSlNnenU4M24wcHNsSHNP?=
 =?utf-8?B?ZTMwTm41K3FDUDZTMFcyaUcwRWs0R2ZUZ01SQ2lPZEpnTEY0S2pxa2htello?=
 =?utf-8?B?NDBCcWVZd0w2Z2ZkR3kwb0RvUjN2U040cExySGtLT1gzaGhCaGhZQ0szZnhX?=
 =?utf-8?B?bVVzeURyWU8vaTZOTE1uU3BrNXlNTHMwMGMwYk1LdDNWb3dvN25TdlVqSkRR?=
 =?utf-8?Q?RB3EDmoXQnXfLpKB+BMXyb1Fl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 41c44d8d-bd95-4a43-54ae-08db1fece619
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2023 15:50:53.7625
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EUsOnzbH77XwqHms2ceKyafpyx34fyCMG/1vxgC0QpXl4+eDiTii6CJgYwxe87kOcJZaS6TQDBuTbfmGPsQhZw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7015

On 08.03.2023 16:23, Elliott Mitchell wrote:
> Mostly SSIA.  As originally identified by "Neowutran", appears Xen's
> x2apic wrapper implementation fails with current generation AMD hardware
> (Ryzen 7xxx/Zen 4).  This can be worked around by passing "x2apic=false"
> on Xen's command-line, though I'm wondering about the performance impact.
> 
> There hasn't been much activity on xen-devel WRT x2apic, so a patch which
> fixed this may have flown under the radar.  Most testing has also been
> somewhat removed from HEAD.
> 
> Thanks to "Neowutran" for falling on this grenade and making it easier
> for the followers.  Pointer to first report:
> https://forum.qubes-os.org/t/ryzen-7000-serie/14538

I'm sorry, but when you point at this long a report, would you please be a
little more specific as to where the problem in question is actually
mentioned? Searching the page for "x2apic" didn't give any hits at all
until I first scrolled to the bottom of the (at present) 95 comments. And
then while there are five mentions, there's nothing I could spot that
would actually help understanding what is actually wrong. A statement like
"... is because the implementation of x2apic is incorrect" isn't helpful
on its own. And a later statement by another person puts under question
whether "x2apic=false" actually helps in all cases.

Please can we get a proper bug report here with suitable technical detail?
Or alternatively a patch to discuss?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 16:17:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 16:17:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508103.782399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZwTE-0001ee-VH; Wed, 08 Mar 2023 16:16:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508103.782399; Wed, 08 Mar 2023 16:16: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 1pZwTE-0001eX-Rx; Wed, 08 Mar 2023 16:16:52 +0000
Received: by outflank-mailman (input) for mailman id 508103;
 Wed, 08 Mar 2023 16:16: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=Glg8=7A=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZwTC-0001eR-V7
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 16:16: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 9f8d0b3c-bdcc-11ed-956e-85ef70e17bfa;
 Wed, 08 Mar 2023 17:16:47 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id g3so15911444wri.6
 for <xen-devel@lists.xenproject.org>; Wed, 08 Mar 2023 08:16:46 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 h6-20020a1ccc06000000b003e118684d56sm20691068wmb.45.2023.03.08.08.16.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 08 Mar 2023 08:16: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: 9f8d0b3c-bdcc-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678292206;
        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=kxyjWgJnFPSr/BgXFkcPNKNmsro2p3qO2lUxvmZP/vI=;
        b=Tf1kn/s53Md9n7YMzYQcukadzF58Sk+ELMkGZUMj7xsaqTCf/SRQOt+Fl/JsV9XNX8
         Ab3xtOOL4I0G539oc4N9DfjIdI54sdhx9NgzApHM2Lj4AhAOJuPRtijCyPO6XmFcXqIs
         u7pEj+fvyaJuHIGB79lYcgTO3TczXu5fyTMNl+pSrnVGz0fuwmzY2Anyd+kTWzhbEECn
         0n9kALqgHX6oO87qjlql/6w2IJE6HzVFmgbTafPx38gUonIMB56D45RqVq3fPAwe4yLZ
         I+cF4/TaWlNHgsXLCZRSyzw3Kok9+Mn/ra6FSS1xSZsdbHUF0VZUMkgciGwPrm+lXTRm
         bMUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678292206;
        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=kxyjWgJnFPSr/BgXFkcPNKNmsro2p3qO2lUxvmZP/vI=;
        b=RDqL69TMytSUZqI/mvjA5IROmwNIv++TAXesfDjeL5QW8F92BpERQDBoNsQ4ktbr30
         +lwEfJOr0D4tmTetrGuhDppCN892PKsRF420uJuBBlwYjr0qGce6HLwJTgoHLl+MzNka
         XL4pPk3DIE1P2Kt/2tNu055hpeAt4zMbmzRg5PiqSxwUxdZ4/tgCH4RVUOYYM62YhC/e
         LOYMl4c3s+tWGKl0gjvbx94MRJBAn5bBNVTTJk9fhyO3g1J7U9N9RtdoBJ5Nqz0MgX1v
         VJTTh2+UekdYcB/eYWEphs1yICWeDEcSHE0Dxw125TFVs40KK3eR2iFiG18jO9NlClsH
         dWtQ==
X-Gm-Message-State: AO0yUKUemDY82roHt93vPp7QVhfn3dOzuz5DyAiv1vEq2O1I4FMeoryb
	1eUC9OixSQv1EtuOt7lcJc8=
X-Google-Smtp-Source: AK7set9nJmmA2Q5ZBQM5SDrj0CQITEIHAH1OqSw8D1cEpMUPLl9Lz1X8r6Qa494zhOtXKICvBQwl0Q==
X-Received: by 2002:a5d:65cb:0:b0:2c5:5ec7:43bc with SMTP id e11-20020a5d65cb000000b002c55ec743bcmr16227368wrw.18.1678292206116;
        Wed, 08 Mar 2023 08:16:46 -0800 (PST)
Message-ID: <70c292e708708463ed83ebaf562d51179e9f7f99.camel@gmail.com>
Subject: Re: [PATCH v1 2/3] xen/riscv: setup initial pagetables
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>, Julien
 Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Date: Wed, 08 Mar 2023 18:16:44 +0200
In-Reply-To: <9e6a76f1-73c6-9a6e-3444-f3e1cb2d71dc@suse.com>
References: <cover.1677250203.git.oleksii.kurochko@gmail.com>
	 <83444f8f90cf2adf431762d919ba958a25ff8ce4.1677250203.git.oleksii.kurochko@gmail.com>
	 <52072f1b-0cf8-a218-eefc-a8c1b4cecf43@xen.org>
	 <e2a1968767e7a0f1535920ada14ec2f323e0f9c5.camel@gmail.com>
	 <b8dd2333-5f3b-10ea-7ddd-47bd5f84ca5f@xen.org>
	 <94f5059a4e31ddd29141fa8fe5156b560575ab1e.camel@gmail.com>
	 <9e6a76f1-73c6-9a6e-3444-f3e1cb2d71dc@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-08 at 16:17 +0100, Jan Beulich wrote:
> On 08.03.2023 15:54, Oleksii wrote:
> > Actually after my latest experiments it looks that we don't need to
> > calculate that things at all because for RISC-V it is=C2=A0 used
> > everywhere
> > PC-relative access.
> > Thereby it doesn't matter what is an address where Xen was loaded
> > and
> > linker address.
> > Right now I found only to cases which aren't PC-relative.
> > Please look at the patch below:
> > diff --git a/xen/arch/riscv/include/asm/config.h
> > b/xen/arch/riscv/include/asm/config.h
> > index 763a922a04..e1ba613d81 100644
> > --- a/xen/arch/riscv/include/asm/config.h
> > +++ b/xen/arch/riscv/include/asm/config.h
> > @@ -39,7 +39,7 @@
> > =C2=A0=C2=A0 name:
> > =C2=A0#endif
> > =C2=A0
> > -#define XEN_VIRT_START=C2=A0 _AT(UL, 0x80200000)
> > +#define XEN_VIRT_START=C2=A0 _AT(UL, 0x00200000)
>=20
> I think this wants to remain the address where Xen actually runs, and
> where Xen is linked to. This ...
>=20
> > --- a/xen/arch/riscv/traps.c
> > +++ b/xen/arch/riscv/traps.c
> > @@ -123,8 +123,14 @@ int do_bug_frame(const struct cpu_user_regs
> > *regs,
> > vaddr_t pc)
> > =C2=A0=C2=A0=C2=A0=C2=A0 const char *filename, *predicate;
> > =C2=A0=C2=A0=C2=A0=C2=A0 int lineno;
> > =C2=A0
> > -=C2=A0=C2=A0=C2=A0 static const struct bug_frame* bug_frames[] =3D {
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__start_bug_frames[0],
> > +=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * force fill bug_frames array using auipc/add=
i instructions
> > to
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * make addresses in bug_frames PC-relative.
> > +=C2=A0=C2=A0=C2=A0 */
> > +=C2=A0=C2=A0=C2=A0 const struct bug_frame * force =3D (const struct bu=
g_frame *)
> > &__start_bug_frames[0];
> > +
> > +=C2=A0=C2=A0=C2=A0 const struct bug_frame* bug_frames[] =3D {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 force,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_0[0=
],
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_1[0=
],
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_2[0=
],
>=20
> ... array would better be static anyway, and ...
>=20
> > The changes related to <asm/config.h> are=C2=A0 only to make linker_add=
r
> > !=3D
> > load_address. So:
> > 1. The first issue with cpu0_boot_stack in the head.S file. When we
> > do:
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sp, cpu=
0_boot_stack
> > =C2=A0=C2=A0 Pseudo-instruction la will be transformed to auipc/addi OR
> > auipc/l{w|d}.
> > =C2=A0=C2=A0 It depends on an option: nopic, pic. [1]
> > =C2=A0=C2=A0=20
> > =C2=A0=C2=A0 So the solution can be the following:
> > =C2=A0=C2=A0 * As it is done in the patch: add to the start of head.S
> > ".option=C2=A0=20
> > nopic"
> > =C2=A0=C2=A0 * Change la to lla thereby it will be always generated
> > "auipc/addi"
> > to get an address of variable.
> >=20
> > 2. The second issue is with the code in do_bug_frame() with
> > bug_frames
> > array:
> > =C2=A0=C2=A0 const struct bug_frame* bug_frames[] =3D {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__start_bug_frames[0],
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_0[0],
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_1[0],
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_2[0],
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_3[0],
> > =C2=A0=C2=A0=C2=A0 };
> > =C2=A0 In this case &{start,stop}bug_frames{,{0-3}} will be changed
> > to=C2=A0=C2=A0=C2=A0=C2=A0=20
> > linker address. In case of when load_addr is 0x80200000 and
> > linker_addr
> > is 0x00200000 then &{start,stop}bug_frames{,{0-3}} will be equal to
> > 0x00200000 + X.
>=20
> ... this "solution" to a problem you introduce by wrongly modifying
> the linked address would then need applying to any other similar code
> pattern found in Xen. Which is (I hope obviously) not a viable route.
> Instead code running before address translation is enable needs to be
> extra careful in what code and data items it accesses, and how.
>=20
I modified the linked address only for the experiment ( when load_addr
!=3D linker_addr to emulate situation Julien told me about), so it's not
something I planned to send as a part of the final patch, and I
probably forgot to mention that in my previous mail.

It is only one place where we have to do a kind of 'force' and is
needed to make the current state of RISC-V Xen work in case we don't
have MMU enabled yet and linker_addr !=3D load_addr. All other cases
where it is used something from the range (linker_start, linker_end)
will be managed by MMU.

If we can't use mentioned above solution, we still need to handle the
situation when linker_addr !=3D load_addr and MMU isn't enabled yet.
Other options to do that:
1. add phys_offset ( | load_addr - linker_addr | ) everywhere where
bug_frames array is used: bug_frames[id] + phys_offset
2. Check somewhere at the start if linker_addr !=3D load_addr, then throw
an error and panic().

Other options might exist. So I would appreciate it if you could
suggest me some.

Could you let me know if any options are suitable for handling a case
when linker_addr?
> > =C2=A0=C2=A0=C2=A0 To force using addresses related to load_addr=C2=A0 =
in bug_frames,
> > it is
> > necessary to declare a variable with getting an address of
> > &__{start,stop}bug_frames{,{0-3}} thereby it will generate the
> > code:
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 2002c2:=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 00001797=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 auipc=C2=A0=C2=A0 a5,0x1
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A02002c6:=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 d3e78793=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 addi=C2=A0=C2=A0=C2=A0 a5,a5,=
-706 #
> > 201000 <__start_bug_frames>
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A02002ca:=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 faf43c23=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sd=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 a5,-72(s0)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A02002ce:=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 00001797=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 auipc=C2=A0=C2=A0 a5,0x1
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A02002d2:=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 d3a78793=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 addi=C2=A0=C2=A0=C2=A0 a5,a5,=
-710 #
> > 201008 <__stop_bug_frames_
>=20
~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 16:26:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 16:26:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508108.782409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZwcd-0003ON-WF; Wed, 08 Mar 2023 16:26:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508108.782409; Wed, 08 Mar 2023 16:26:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZwcd-0003OG-Sl; Wed, 08 Mar 2023 16:26:35 +0000
Received: by outflank-mailman (input) for mailman id 508108;
 Wed, 08 Mar 2023 16:26: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=tJLm=7A=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pZwcd-0003O8-3P
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 16:26:35 +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 fd24eb13-bdcd-11ed-956e-85ef70e17bfa;
 Wed, 08 Mar 2023 17:26:33 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id a25so68244668edb.0
 for <xen-devel@lists.xenproject.org>; Wed, 08 Mar 2023 08:26: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: fd24eb13-bdcd-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678292793;
        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=kgeq78gxLIL21D+IlAHaFMTP9xI3MPSeyQyoWJK0zfA=;
        b=GFX5HX0K7Tx2uIr251PpqSuZ8wwtoOoiqB1FQIQTABwC3UKfOcLbXUPi2viqlFfvbZ
         utvcZCyW8ORX+t2nO79ztUr/QzfPDzSSyNdkiLuDN6+9nGSGVKFZfVpoEkd2H7meGdcb
         z3jGtbPkxVgCeTd4HUHDyoAR84+BK+d7UPdgfMitw8N5/qP3wwhFWRijFN799GFqiSOJ
         CZuyxFuwJK+Jl/4C0/aeIxR/U1kqL9L9Sfl8vejqNgRagcY3z6oCg1M9l6kj+iS7qnzQ
         YXvtE6K50caEAHEBk8FZtxTacYnDVJiUNwUfO/h2wz0lQjaIGnxTSBapr0Z/pkyONXlL
         1kZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678292793;
        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=kgeq78gxLIL21D+IlAHaFMTP9xI3MPSeyQyoWJK0zfA=;
        b=3d6WuLPWflPPKyGkz0ffZFXXqn0oSl3ynnhT/yoNS7j0wJTwCsrFu2ulxbTNtnCV7Q
         lp7c/LUKfhtUOHG9winLFxaW/GCLA8qyC/JaaNmFoPH2vngOM7zmxcRAFC49KlmwIDlX
         Fn2/WPUdbJPaRi9/zkKHEpKPhV7E3j8bVx8hK7eOiA22mDZDBAXTwLfHcIa7vCKFLaXp
         EG/B/XrApk7jgXuD+puuOiS1xYVf6HrIfXQAH3wdn9ltV6rXScWzcbh+dM+m5P4By8NA
         M9dWITzVMiKhN4QxT3VYaimyTrmxsajkWrmRVEeBleZr0EBikbGupRM2VFaTttY8lurB
         AcYg==
X-Gm-Message-State: AO0yUKU6EzRXGzhacp4I/sVxc8EYE8dczNn8SAvPvPnNtL22EEkGx49I
	YBAJUIFgyfcNLp9ySUpHao9E4iQYc2uopq5UeJNNL2+U
X-Google-Smtp-Source: AK7set/GaI7SD2azpTIvM79a+TR5Z7cOLnZiQ9WZQ9Nhtda1MjFzID3oaJfGnh3IEVk3XUW6+PmZMzp5v6bZmTsLvJg=
X-Received: by 2002:a17:906:5811:b0:877:747d:4a90 with SMTP id
 m17-20020a170906581100b00877747d4a90mr9518767ejq.14.1678292792688; Wed, 08
 Mar 2023 08:26:32 -0800 (PST)
MIME-Version: 1.0
References: <20221209142615.33574-1-jandryuk@gmail.com> <87359gkc1d.fsf@baylibre.com>
In-Reply-To: <87359gkc1d.fsf@baylibre.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 8 Mar 2023 11:26:20 -0500
Message-ID: <CAKf6xpsGy7rjK3Rkosevr3dD+64-WqCEzAecBbHEHpBMeAHh7A@mail.gmail.com>
Subject: Re: [PATCH v2] Input: xen-kbdfront - drop keys to shrink modalias
To: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
	Phillip Susi <phill@thesusis.net>, stable@vger.kernel.org, 
	Dmitry Torokhov <dmitry.torokhov@gmail.com>, linux-input@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Dec 15, 2022 at 8:54=E2=80=AFAM Mattijs Korpershoek
<mkorpershoek@baylibre.com> wrote:
>
> On Fri, Dec 09, 2022 at 09:26, Jason Andryuk <jandryuk@gmail.com> wrote:
>
> > xen kbdfront registers itself as being able to deliver *any* key since
> > it doesn't know what keys the backend may produce.
> >
> > Unfortunately, the generated modalias gets too large and uevent creatio=
n
> > fails with -ENOMEM.
> >
> > This can lead to gdm not using the keyboard since there is no seat
> > associated [1] and the debian installer crashing [2].
> >
> > Trim the ranges of key capabilities by removing some BTN_* ranges.
> > While doing this, some neighboring undefined ranges are removed to trim
> > it further.
> >
> > An upper limit of KEY_KBD_LCD_MENU5 is still too large.  Use an upper
> > limit of KEY_BRIGHTNESS_MENU.
> >
> > This removes:
> > BTN_DPAD_UP(0x220)..BTN_DPAD_RIGHT(0x223)
> > Empty space 0x224..0x229
> >
> > Empty space 0x28a..0x28f
> > KEY_MACRO1(0x290)..KEY_MACRO30(0x2ad)
> > KEY_MACRO_RECORD_START          0x2b0
> > KEY_MACRO_RECORD_STOP           0x2b1
> > KEY_MACRO_PRESET_CYCLE          0x2b2
> > KEY_MACRO_PRESET1(0x2b3)..KEY_MACRO_PRESET3(0xb5)
> > Empty space 0x2b6..0x2b7
> > KEY_KBD_LCD_MENU1(0x2b8)..KEY_KBD_LCD_MENU5(0x2bc)
> > Empty space 0x2bd..0x2bf
> > BTN_TRIGGER_HAPPY(0x2c0)..BTN_TRIGGER_HAPPY40(0x2e7)
> > Empty space 0x2e8..0x2ff
> >
> > The modalias shrinks from 2082 to 1550 bytes.
> >
> > A chunk of keys need to be removed to allow the keyboard to be used.
> > This may break some functionality, but the hope is these macro keys are
> > uncommon and don't affect any users.
> >
> > [1] https://github.com/systemd/systemd/issues/22944
> > [2] https://lore.kernel.org/xen-devel/87o8dw52jc.fsf@vps.thesusis.net/T=
/
> >
> > Cc: Phillip Susi <phill@thesusis.net>
> > Cc: stable@vger.kernel.org
> > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
>
> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>

Thank you, Mattjis.

Any other thoughts?  Can this patch be applied?

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 16:28:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 16:28:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508111.782418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZwe6-0003vV-B0; Wed, 08 Mar 2023 16:28:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508111.782418; Wed, 08 Mar 2023 16: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 1pZwe6-0003vO-7z; Wed, 08 Mar 2023 16:28:06 +0000
Received: by outflank-mailman (input) for mailman id 508111;
 Wed, 08 Mar 2023 16:28: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=tJLm=7A=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pZwe5-0003vI-7S
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 16:28:05 +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 32c2a014-bdce-11ed-956e-85ef70e17bfa;
 Wed, 08 Mar 2023 17:28:03 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id k10so44136336edk.13
 for <xen-devel@lists.xenproject.org>; Wed, 08 Mar 2023 08:28: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: 32c2a014-bdce-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678292882;
        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=8qplyMQINe2W3LTK4CSzGPDowxH4S62V5RleKulPJLo=;
        b=UtXXjB2Sb8uE0I4aQP+tKLypRWWg8k3euJKU2xyVGn64N6QNcvZeL21p+DOHBO63lz
         gZkplvHD9ZzIaTXGvqSOp3gmPNC+rmIPzX3HMIBoW5fHIZcEjiFeovQTma48qQrCmtDL
         B1n7s5Kaggh90Z/RXSXXfnypGsOT5SMrjcerMVXz4qTgDlSgqm0NxX7BB/3AdeGXXZ+Q
         7nxPhpFKOI7n3b4fa3Rfu+wwB+ceq7APuXgJGE2pJmXLlio7Kl7JaylaKPSgrXsqDSIi
         usqxI8ZBZe+BR0o2rb40Zm4iTall99XMKe1a/ho6rCaRJLd+kfsXWLLWYnaz/mvAV/je
         wqeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678292882;
        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=8qplyMQINe2W3LTK4CSzGPDowxH4S62V5RleKulPJLo=;
        b=WzsfqFkrI4nmH2RonmuvaMPbT+GHD2x9GKqk1e4yOZkg5czN1FxAMJx+4UdWnW7Dhj
         OvpLnndPvxd3pnsgs5iPhLaSbxcBNfIllJNr3yvzubGxVtfZNRef3Z3zchnWp2YMDG9Q
         El/pGKn4fsNH5bvocXTxUhbHzfn3TWVvJbvF93DkrANdPXIve4TxC6oQFzh9tO7Gu8eG
         1gJoQnSH2ooXcrJMSC/NOTk2GluVtJ9meJoQj2419nj9M8bw/Sg2h4BS2JHx/IWyaFgi
         DR9UiMLBuQv6MqxwcT/1kUIIdwyoNXIdTpktlGma4aquyqpfTSOV33xMtQQ8QIWsAdTZ
         4IOg==
X-Gm-Message-State: AO0yUKXQE4QWJKwl0lnN02vD1KvUziNATDx8dSt5e8kOm0ayuNyi7YTL
	YHaSkAWnww2dfMKxY9EFgzA9KFClJ/uojAQh5JI=
X-Google-Smtp-Source: AK7set+hOtnRk+qv+mClFvaRL1/R3Qml7puc5AuPLJ04zytXRlCcUdQoy38YoFwXbCxX06FIf9stExK/tK3Naq6QgOM=
X-Received: by 2002:a17:906:6b83:b0:878:790b:b7fd with SMTP id
 l3-20020a1709066b8300b00878790bb7fdmr8941949ejr.14.1678292882589; Wed, 08 Mar
 2023 08:28:02 -0800 (PST)
MIME-Version: 1.0
References: <20221209142615.33574-1-jandryuk@gmail.com> <87359gkc1d.fsf@baylibre.com>
 <CAKf6xpsGy7rjK3Rkosevr3dD+64-WqCEzAecBbHEHpBMeAHh7A@mail.gmail.com>
In-Reply-To: <CAKf6xpsGy7rjK3Rkosevr3dD+64-WqCEzAecBbHEHpBMeAHh7A@mail.gmail.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 8 Mar 2023 11:27:50 -0500
Message-ID: <CAKf6xpsXjZ11cB05q3iKUcY3k2i0MXnpC-8anRe8YAwwxrhh7A@mail.gmail.com>
Subject: Re: [PATCH v2] Input: xen-kbdfront - drop keys to shrink modalias
To: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
	Phillip Susi <phill@thesusis.net>, stable@vger.kernel.org, 
	Dmitry Torokhov <dmitry.torokhov@gmail.com>, linux-input@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 8, 2023 at 11:26=E2=80=AFAM Jason Andryuk <jandryuk@gmail.com> =
wrote:
>
> On Thu, Dec 15, 2022 at 8:54=E2=80=AFAM Mattijs Korpershoek
> <mkorpershoek@baylibre.com> wrote:
> >
> > On Fri, Dec 09, 2022 at 09:26, Jason Andryuk <jandryuk@gmail.com> wrote=
:
> >
> > > xen kbdfront registers itself as being able to deliver *any* key sinc=
e
> > > it doesn't know what keys the backend may produce.
> > >
> > > Unfortunately, the generated modalias gets too large and uevent creat=
ion
> > > fails with -ENOMEM.
> > >
> > > This can lead to gdm not using the keyboard since there is no seat
> > > associated [1] and the debian installer crashing [2].
> > >
> > > Trim the ranges of key capabilities by removing some BTN_* ranges.
> > > While doing this, some neighboring undefined ranges are removed to tr=
im
> > > it further.
> > >
> > > An upper limit of KEY_KBD_LCD_MENU5 is still too large.  Use an upper
> > > limit of KEY_BRIGHTNESS_MENU.
> > >
> > > This removes:
> > > BTN_DPAD_UP(0x220)..BTN_DPAD_RIGHT(0x223)
> > > Empty space 0x224..0x229
> > >
> > > Empty space 0x28a..0x28f
> > > KEY_MACRO1(0x290)..KEY_MACRO30(0x2ad)
> > > KEY_MACRO_RECORD_START          0x2b0
> > > KEY_MACRO_RECORD_STOP           0x2b1
> > > KEY_MACRO_PRESET_CYCLE          0x2b2
> > > KEY_MACRO_PRESET1(0x2b3)..KEY_MACRO_PRESET3(0xb5)
> > > Empty space 0x2b6..0x2b7
> > > KEY_KBD_LCD_MENU1(0x2b8)..KEY_KBD_LCD_MENU5(0x2bc)
> > > Empty space 0x2bd..0x2bf
> > > BTN_TRIGGER_HAPPY(0x2c0)..BTN_TRIGGER_HAPPY40(0x2e7)
> > > Empty space 0x2e8..0x2ff
> > >
> > > The modalias shrinks from 2082 to 1550 bytes.
> > >
> > > A chunk of keys need to be removed to allow the keyboard to be used.
> > > This may break some functionality, but the hope is these macro keys a=
re
> > > uncommon and don't affect any users.
> > >
> > > [1] https://github.com/systemd/systemd/issues/22944
> > > [2] https://lore.kernel.org/xen-devel/87o8dw52jc.fsf@vps.thesusis.net=
/T/
> > >
> > > Cc: Phillip Susi <phill@thesusis.net>
> > > Cc: stable@vger.kernel.org
> > > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> >
> > Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
>
> Thank you, Mattjis.

Thank you, Mattijs.  My apologies.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 17:19:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 17:19:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508114.782429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZxRN-0001wV-6a; Wed, 08 Mar 2023 17:19:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508114.782429; Wed, 08 Mar 2023 17: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 1pZxRN-0001wO-3o; Wed, 08 Mar 2023 17:19:01 +0000
Received: by outflank-mailman (input) for mailman id 508114;
 Wed, 08 Mar 2023 17:18: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=Glg8=7A=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZxRL-0001tR-0B
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 17:18:59 +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 4e2474ad-bdd5-11ed-87f5-c1b5be75604c;
 Wed, 08 Mar 2023 18:18:56 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 ay29-20020a05600c1e1d00b003e9f4c2b623so1824788wmb.3
 for <xen-devel@lists.xenproject.org>; Wed, 08 Mar 2023 09:18:55 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 x21-20020a1c7c15000000b003e1f2e43a1csm1357wmc.48.2023.03.08.09.18.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 08 Mar 2023 09:18: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: 4e2474ad-bdd5-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678295935;
        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=fa9/Rojp9UZLL5qOnpHbiFeyHJVeuDBRnEyhaqSnR3c=;
        b=CClj0mWTjEQ35RKdvOfkmQffxFr5XPEMQmRv+k5IlTHKd43O70UOwMnAUmWJsg2PLJ
         oW0b7wiwvh/jhJLLJWm3hJyE/PdBPeJjbZAhyHgy1NLKH86Do0PY+0azDqyJLvljq2b2
         em2n/MGZsyDl3oe9VSptcsoJswFzAjf0+EA/tB9Dec1T4YJFez8bHckGVtrKLlEcqbNN
         VAE++hBHKqoYepJwVNZUidqzThy4rHua3oqOuj/mXtmLpg/IsQSJwNB/b7URPx50NKXz
         8UjyBhF5tz2MkOspvae9Y5vikdbQcWSfEW+Q7hNinfCtObBFPnAut3+WbcTxYG4RMC3f
         6+Gw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678295935;
        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=fa9/Rojp9UZLL5qOnpHbiFeyHJVeuDBRnEyhaqSnR3c=;
        b=N1SaipfQ6BjfX8Qk+5/XS2onbkNmPXwIPed1/qCgrDo02+xw4da9k6Quk7YId/rWO1
         WonmDj6EZdw1HCvs/4dIXWHIe5xmWHGDaOj6yJ5RH57mF3PGgJNZ5AHM3yxXzwg+jXGA
         D9Y3LWDveR9YuQ9pvd9XeB9BX0Hn1jtBIUUme0zcq+rOo/SYw6uakfhJC2GwcmacHkBj
         YtwqRyLSk3Ry66OaWHn3BTo+4dh00wohZR5MFC5uVMq/SPnasVNNF6wt/Z5JWYMaAGqn
         weWBACn4DwSmzDqlvr9l1sZ4ivTRIcR6W4YhXBOCnJ1AGfoWD33AzKyhFxK5Ug6RkP+j
         8/CQ==
X-Gm-Message-State: AO0yUKUbtbXfZns/oZkBjR/WRqmTWkAUXpJSKOZcr3Bigfo3KIgtR5R/
	MraZCd8Nam2t4fOSMG85vtw=
X-Google-Smtp-Source: AK7set/SlHJ9TAGvizsPArCx5jp8zSpoKhUtFjj47T2HVKor8shSmT8R3uWQuKKemzuq7UePinL/Mw==
X-Received: by 2002:a05:600c:3544:b0:3e8:35a2:6abf with SMTP id i4-20020a05600c354400b003e835a26abfmr16285255wmq.23.1678295935046;
        Wed, 08 Mar 2023 09:18:55 -0800 (PST)
Message-ID: <e2823e985ccd05bad4fcd5ac107d8a9c3db69eb9.camel@gmail.com>
Subject: Re: [PATCH v6 1/4] xen: introduce CONFIG_GENERIC_BUG_FRAME
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Wed, 08 Mar 2023 19:18:52 +0200
In-Reply-To: <32a4a1c3-018c-fced-2b04-d1db79f7dcd9@suse.com>
References: <cover.1678202233.git.oleksii.kurochko@gmail.com>
	 <1e83d371581aee41a3369434c49b90c2fc478f1f.1678202233.git.oleksii.kurochko@gmail.com>
	 <32a4a1c3-018c-fced-2b04-d1db79f7dcd9@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

T24gV2VkLCAyMDIzLTAzLTA4IGF0IDE2OjA2ICswMTAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAwNy4wMy4yMDIzIDE2OjUwLCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gLS0tIC9kZXYv
bnVsbAo+ID4gKysrIGIveGVuL2NvbW1vbi9idWcuYwo+ID4gQEAgLTAsMCArMSwxMDQgQEAKPiA+
ICsjaW5jbHVkZSA8eGVuL2J1Zy5oPgo+ID4gKyNpbmNsdWRlIDx4ZW4vZGVidWdnZXIuaD4KPiAK
PiBJc24ndCBpdCBhc20vYnVnLmggbm93IHdoaWNoIGlzIHRvIGluY2x1ZGUgdGhpcyBoZWFkZXIs
IGlmIG5lZWRlZCBhdAo+IGFsbD8KWW91IGFyZSByaWdodCBpdCB3aWxsIGJlIGJldHRlciB0byBt
b3ZlIDx4ZW4vZGVidWdnZXIuaD4gdG8KPGFzbS9idWcuaD4uCj4gCj4gPiAtLS0gL2Rldi9udWxs
Cj4gPiArKysgYi94ZW4vaW5jbHVkZS94ZW4vYnVnLmgKPiA+IEBAIC0wLDAgKzEsMTU4IEBACj4g
PiArI2lmbmRlZiBfX1hFTl9CVUdfSF9fCj4gPiArI2RlZmluZSBfX1hFTl9CVUdfSF9fCj4gPiAr
Cj4gPiArI2RlZmluZSBCVUdGUkFNRV9ydW5fZm4gMAo+ID4gKyNkZWZpbmUgQlVHRlJBTUVfd2Fy
bsKgwqAgMQo+ID4gKyNkZWZpbmUgQlVHRlJBTUVfYnVnwqDCoMKgIDIKPiA+ICsjZGVmaW5lIEJV
R0ZSQU1FX2Fzc2VydCAzCj4gPiArCj4gPiArI2RlZmluZSBCVUdGUkFNRV9OUsKgwqDCoMKgIDQK
PiA+ICsKPiA+ICsjZGVmaW5lIEJVR19ESVNQX1dJRFRIwqDCoMKgIDI0Cj4gPiArI2RlZmluZSBC
VUdfTElORV9MT19XSURUSCAoMzEgLSBCVUdfRElTUF9XSURUSCkKPiA+ICsjZGVmaW5lIEJVR19M
SU5FX0hJX1dJRFRIICgzMSAtIEJVR19ESVNQX1dJRFRIKQo+ID4gKwo+ID4gKyNpbmNsdWRlIDxh
c20vYnVnLmg+Cj4gPiArCj4gPiArI2lmbmRlZiBfX0FTU0VNQkxZX18KPiA+ICsKPiA+ICsjaWZu
ZGVmIEJVR19ERUJVR0dFUl9UUkFQX0ZBVEFMCj4gPiArI2RlZmluZSBCVUdfREVCVUdHRVJfVFJB
UF9GQVRBTChyZWdzKSAwCj4gPiArI2VuZGlmCj4gPiArCj4gPiArI2luY2x1ZGUgPHhlbi9saWIu
aD4KPiA+ICsKPiA+ICsjaWZuZGVmIEJVR19GUkFNRV9TVFJVQ1QKPiA+ICsKPiA+ICtzdHJ1Y3Qg
YnVnX2ZyYW1lIHsKPiA+ICvCoMKgwqAgc2lnbmVkIGludCBsb2NfZGlzcDpCVUdfRElTUF9XSURU
SDsKPiA+ICvCoMKgwqAgdW5zaWduZWQgaW50IGxpbmVfaGk6QlVHX0xJTkVfSElfV0lEVEg7Cj4g
PiArwqDCoMKgIHNpZ25lZCBpbnQgcHRyX2Rpc3A6QlVHX0RJU1BfV0lEVEg7Cj4gPiArwqDCoMKg
IHVuc2lnbmVkIGludCBsaW5lX2xvOkJVR19MSU5FX0xPX1dJRFRIOwo+ID4gK8KgwqDCoCBzaWdu
ZWQgaW50IG1zZ19kaXNwW107Cj4gPiArfTsKPiA+ICsKPiA+ICsjZGVmaW5lIGJ1Z19sb2MoYikg
KCh1bnNpZ25lZCBsb25nKShiKSArIChiKS0+bG9jX2Rpc3ApCj4gPiArCj4gPiArI2RlZmluZSBi
dWdfcHRyKGIpICgoY29uc3Qgdm9pZCAqKShiKSArIChiKS0+cHRyX2Rpc3ApCj4gPiArCj4gPiAr
I2RlZmluZSBidWdfbGluZShiKSAoKCgoKGIpLT5saW5lX2hpICsgKChiKS0+bG9jX2Rpc3AgPCAw
KSkKPiA+ICbCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgoMSA8PCBCVUdfTElORV9ISV9XSURU
SCkgLSAxKSkKPiA+IDw8wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+
ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBCVUdfTElORV9M
T19XSURUSCkKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCAoKChiKS0+bGluZV9sbyArICgoYiktPnB0cl9kaXNwIDwgMCkpCj4g
PiAmwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoKDEgPDwgQlVHX0xJTkVfTE9fV0lEVEgpIC0g
MSkpKQo+ID4gKwo+ID4gKyNkZWZpbmUgYnVnX21zZyhiKSAoKGNvbnN0IGNoYXIgKikoYikgKyAo
YiktPm1zZ19kaXNwWzFdKQo+IAo+IEFzIGluZGljYXRlZCBlYXJsaWVyLCBJIHRoaW5rIHRoYXQg
eW91IHdhbnQgdG8gbW92ZSBoZXJlIHdoYXQgeW91Cj4gY3VycmVudGx5IGhhdmUgLi4uCj4gCj4g
PiArI2VuZGlmIC8qIEJVR19GUkFNRV9TVFJVQ1QgKi8KPiA+ICsKPiA+ICsvKgo+ID4gKyAqIFNv
bWUgYXJjaGl0ZWN0dXJlcyBtYXJrIGltbWVkaWF0ZSBpbnN0cnVjdGlvbiBvcGVyYW5kcyBpbiBh
Cj4gPiBzcGVjaWFsIHdheS4KPiA+ICsgKiBJbiBzdWNoIGNhc2VzIHRoZSBzcGVjaWFsIG1hcmtp
bmcgbWF5IG5lZWQgb21pdHRpbmcgd2hlbgo+ID4gc3BlY2lmeWluZwo+ID4gKyAqIGRpcmVjdGl2
ZSBvcGVyYW5kcy4gQWxsb3cgYXJjaGl0ZWN0dXJlcyB0byBzcGVjaWZ5IGEgc3VpdGFibGUKPiA+
ICsgKiBtb2RpZmllci4KPiA+ICsgKi8KPiA+ICsjaWZuZGVmIEJVR19BU01fQ09OU1QKPiA+ICsj
ZGVmaW5lIEJVR19BU01fQ09OU1QgIiIKPiA+ICsjZW5kaWYKPiA+ICsKPiA+ICsjaWZuZGVmIF9B
U01fQlVHRlJBTUVfVEVYVAo+ID4gKwo+ID4gKyNkZWZpbmUKPiA+IF9BU01fQlVHRlJBTUVfVEVY
VChzZWNvbmRfZnJhbWUpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiAr
wqDCoMKgCj4gPiAiLkxidWclPToiQlVHX0lOU1RSIlxuIsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgICLCoMKg
IC5wdXNoc2VjdGlvbiAuYnVnX2ZyYW1lcy4lIkJVR19BU01fQ09OU1QiW2JmX3R5cGVdLCBcImFc
IiwKPiA+ICUlcHJvZ2JpdHNcbiLCoMKgwqAgXAo+ID4gK8KgwqDCoCAiwqDCoCAucDJhbGlnbgo+
ID4gMlxuIsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAKPiA+IFwKPiA+ICvCoMKgwqAKPiA+ICIuTGZybSU9OlxuIsKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoCAiwqDCoCAubG9uZyAoLkxidWclPSAt
IC5MZnJtJT0pICsKPiA+ICUiQlVHX0FTTV9DT05TVCJbYmZfbGluZV9oaV1cbiLCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgICLCoMKgIC5sb25nICglIkJVR19B
U01fQ09OU1QiW2JmX3B0cl0gLSAuTGZybSU9KSArCj4gPiAlIkJVR19BU01fQ09OU1QiW2JmX2xp
bmVfbG9dXG4iXAo+ID4gK8KgwqDCoCAiwqDCoCAuaWYgIiAjc2Vjb25kX2ZyYW1lCj4gPiAiXG4i
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKg
wqAgIsKgwqAgLmxvbmcgMCwgJSJCVUdfQVNNX0NPTlNUIltiZl9tc2ddIC0KPiA+IC5MZnJtJT1c
biLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIFwKPiA+ICvCoMKgwqAgIsKgwqAKPiA+IC5lbmRpZlxuIsKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgCj4gPiDCoMKgwqDCoMKgwqDC
oMKgIFwKPiA+ICvCoMKgwqAgIsKgwqAgLnBvcHNlY3Rpb25cbiIKPiA+ICsKPiA+ICsjZGVmaW5l
IF9BU01fQlVHRlJBTUVfSU5GTyh0eXBlLCBsaW5lLCBwdHIsCj4gPiBtc2cpwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDC
oCBbYmZfdHlwZV3CoMKgwqAgImkiCj4gPiAodHlwZSkswqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqAgW2JmX3B0cl3CoMKgwqDCoCAiaSIKPiA+IChw
dHIpLMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKg
wqAgW2JmX21zZ13CoMKgwqDCoCAiaSIKPiA+IChtc2cpLMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqAgW2JmX2xpbmVfbG9dICJpIiAoKGxpbmUg
JiAoKDEgPDwgQlVHX0xJTkVfTE9fV0lEVEgpIC0KPiA+IDEpKcKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIDw8Cj4gPiBCVUdfRElTUF9XSURUSCkswqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgIFti
Zl9saW5lX2hpXSAiaSIgKCgobGluZSkgPj4gQlVHX0xJTkVfTE9fV0lEVEgpIDw8Cj4gPiBCVUdf
RElTUF9XSURUSCkKPiA+ICsKPiA+ICsjZW5kaWYgLyogX0FTTV9CVUdGUkFNRV9URVhUICovCj4g
PiArCj4gPiArI2lmbmRlZiBCVUlMRF9CVUdfT05fTElORV9XSURUSAo+ID4gKyNkZWZpbmUgQlVJ
TERfQlVHX09OX0xJTkVfV0lEVEgobGluZSkgXAo+ID4gK8KgwqDCoCBCVUlMRF9CVUdfT04oKGxp
bmUpID4+IChCVUdfTElORV9MT19XSURUSCArCj4gPiBCVUdfTElORV9ISV9XSURUSCkpCj4gPiAr
I2VuZGlmCj4gCj4gLi4uIGhlcmUsIGd1YXJkZWQgYnkgYSBzZXBhcmF0ZSAjaWZkZWYuIFRoZSBj
aGVjayBpcyBzcGVjaWZpY2FsbHkKPiB0aWVkIHRvCj4gdGhlIHN0cnVjdCBsYXlvdXQgY2hvc2Vu
IGhlcmUuIEluc3RlYWQgd2hhdCB5b3Ugd2FudCBoZXJlIGlzCj4gCj4gI2lmbmRlZiBCVUlMRF9C
VUdfT05fTElORV9XSURUSAo+ICNkZWZpbmUgQlVJTERfQlVHX09OX0xJTkVfV0lEVEgobGluZSkg
KCh2b2lkKShsaW5lKSkKPiAjZW5kaWYKPiAKPiBjb3ZlcmluZyBhcmNoaXRlY3R1cmVzIHVzaW5n
IGEgZGlmZmVyZW50IGxheW91dCB3aGVyZSBzdWNoIGEgY2hlY2sKPiBpc24ndAo+IG5lZWRlZC4g
T2YgY291cnNlIHRoaXMgYWxzbyBjb3VsZCBtb3ZlIHVwIGFuZCBzaW1wbHkgYmVjb21lICIjZWxp
Zgo+IC4uLiIKPiB0byB0aGUgZWFybGllciAiI2lmICFkZWZpbmVkKEJVR19GUkFNRV9TVFJVQ1Qp
Iiwgd2hpY2ggd291bGQga2VlcAo+IHJlbGF0ZWQgdGhpbmdzIHRvZ2V0aGVyLgo+IApUaGUgbG9n
aWMgYmVoaW5kIHRoaXMgd2FzIHRoZSBmb2xsb3dpbmcuIDx4ZW4vYnVnLmg+IGlzIHRoZSBnZW5l
cmljCmltcGxlbWVudGF0aW9uIHdoaWNoIGlzIGJhc2VkIG9uIEJVR19MSU5FX3tMTyxISX1fV0lE
VEggYW5kIGlmCmFyY2hpdGVjdHVyZSB3b3VsZCBsaWtlIHRvIHVzZSBhbm90aGVyIG9uZSBpbXBs
ZW1lbnRhdGlvbiB0aGFuIGl0CnNob3VsZCByZS1kZWZpbmUgQlVJTERfQlVHX09OX0xJTkVfV0lE
VEguCgpCdXQgaXQgbWlnaHQgYmUgYmV0dGVyIHRvIG1vdmUgbXkgJ2lmbmRlZiBCVUlMRF9CVUdf
T05fTElORV9XSURUSCcgdG8KJ2lmbmRlZiBCVUdfRlJBTUUnIGFuZCBpbnN0ZWFkIG9mIGl0IHB1
dCBkdW1teSBCVUlMRF9CVUdfT05fTElORV9XSURUSC4KCj4gPiArI2lmbmRlZiBCVUdfRlJBTUUK
PiA+ICsKPiA+ICsjZGVmaW5lIEJVR19GUkFNRSh0eXBlLCBsaW5lLCBwdHIsIHNlY29uZF9mcmFt
ZSwgbXNnKSBkbwo+ID4ge8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4g
PiArwqDCoMKgCj4gPiBCVUlMRF9CVUdfT05fTElORV9XSURUSChsaW5lKTvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoAo+ID4gwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgIEJVSUxEX0JVR19PTigodHlwZSkgPj0K
PiA+IEJVR0ZSQU1FX05SKTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoCBhc20gdm9sYXRp
bGUgKAo+ID4gX0FTTV9CVUdGUkFNRV9URVhUKHNlY29uZF9mcmFtZSnCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIDo6IF9BU01fQlVHRlJBTUVfSU5GTyh0eXBlLCBsaW5lLCBw
dHIsIG1zZykKPiA+ICk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArfSB3aGlsZSAoZmFs
c2UpCj4gCj4gTml0OiBTdHlsZS4KT2guIEl0IHNob3VsZCBiZSBjaGFuZ2VkIHRvICggZmFsc2Ug
KSBpbiBlYWNoIG1hY3Jvcy4KCj4gCj4gPiArCj4gPiArI2VuZGlmCj4gPiArCj4gPiArI2lmbmRl
ZiBydW5faW5fZXhjZXB0aW9uX2hhbmRsZXIKPiA+ICsKPiA+ICsvKgo+ID4gKyAqIFRPRE86IHVu
dGFuZ2xlIGhlYWRlciBkZXBlbmRlbmNlcywgYnJlYWsgQlVJTERfQlVHX09OKCkgb3V0IG9mCj4g
PiB4ZW4vbGliLmgsCj4gPiArICogYW5kIHVzZSBhIHJlYWwgc3RhdGljIGlubGluZSBoZXJlIHRv
IGdldCBwcm9wZXIgdHlwZSBjaGVja2luZwo+ID4gb2YgZm4oKS4KPiA+ICsgKi8KPiA+ICsjZGVm
aW5lIHJ1bl9pbl9leGNlcHRpb25faGFuZGxlcihmbikgZG8ge8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgICh2b2lkKSgoZm4pID09ICh2b2lkICgqKShz
dHJ1Y3QgY3B1X3VzZXJfcmVncyAqKSlOVUxMKTsgXAo+IAo+IEhtbSwgdGhlcmUncyBhbm90aGVy
IGNvbnN0LW5lc3MgYW5vbWFseSB0aGF0IGhhcyBzbGlwcGVkIGluIChhbmQgaXMKPiBubyBsb25n
ZXIgbmVjZXNzYXJ5IHdpdGggZG9fYnVnX2ZyYW1lKCkgbm93IGFnYWluIHRha2luZyBhIHBvaW50
ZXIgdG8KPiBub24tY29uc3QpOiBBdCB0aGUgcG9pbnQgeW91IGhhbmRsZSBCVUdGUkFNRV9ydW5f
Zm4gdGhlIHR5cGUgdXNlZAo+ICh3cm9uZ2x5KSBpcyB2b2lkICgqKShjb25zdCBzdHJ1Y3QgY3B1
X3VzZXJfcmVncyAqKS4KPiAKPiBUaGUgZGlzY29ubmVjdCBpc24ndCBnb29kIHRvIGxlYXZlIChh
cyB0aGUgc2FtZSBpc3N1ZSBjb3VsZCBiZQo+IGludHJvZHVjZWQgbGF0ZXIsIHdoZW4gbm90IGxv
b2tpbmcgY2xvc2VseSBlbm91Z2gpLiBXaGlsZSBub3QgZm9yCj4gdGhpcyBwYXRjaCwgSSB3b25k
ZXIgaWYgd2Ugc2hvdWxkbid0IG1ha2UgdGhlIHVzZSBzaXRlIGJlIHNvbWV0aGluZwo+IGFsb25n
IHRoZSBsaW5lcyBvZgo+IAo+IMKgwqDCoCBpZiAoIGlkID09IEJVR0ZSQU1FX3J1bl9mbiApCj4g
wqDCoMKgIHsKPiDCoMKgwqDCoMKgwqDCoCB2b2lkICgqZm4pKHN0cnVjdCBjcHVfdXNlcl9yZWdz
ICopID0gYnVnX3B0cihidWcpOwo+IAo+IMKgwqDCoMKgwqDCoMKgIGZuKHJlZ3MpOwo+IAo+IMKg
wqDCoMKgwqDCoMKgIC8qIFJlLWVuZm9yY2UgY29uc2lzdGVudCB0eXBlcywgYmVjYXVzZSBvZiB0
aGUgY2FzdHMKPiBpbnZvbHZlZC4gKi8KPiDCoMKgwqDCoMKgwqDCoCBpZiAoIGZhbHNlICkKPiDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJ1bl9pbl9leGNlcHRpb25faGFuZGxlcihmbik7Cj4gCj4g
wqDCoMKgwqDCoMKgwqAgcmV0dXJuIGlkOwo+IMKgwqDCoCB9Cj4gCj4ganVzdCB0byBtYWtlIHN1
cmUgdGhlIHR5cGUgdXNlZCBpbiBydW5faW5fZXhjZXB0aW9uX2hhbmRsZXIoKQo+IG1hdGNoZXMg
dGhlIG9uZSB1c2VkIGhlcmUgKHdpdGhvdXQgYWN0dWFsbHkgcHJvZHVjaW5nIGFueSBjb2RlKS4K
PiAKSXQgbG9va3MgbGlrZSBpdCBpcyByZWFsbHkgbWFrZSBzZW5zZSB0byBhZGQgdGhpcyBjaGVj
ayBzbyBJIHdpbGwKdGFrZSBpdCBpbnRvIGFjY291bnQgaW4gdGhlIG5leHQgdmVyc2lvbiBvZiB0
aGUgcGF0Y2ggc2VyaWVzLgoKVGhhbmtzLgoKfiBPbGVrc2lpCgo=



From xen-devel-bounces@lists.xenproject.org Wed Mar 08 17:25:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 17:25:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508117.782440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZxXx-0003RO-Uj; Wed, 08 Mar 2023 17:25:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508117.782440; Wed, 08 Mar 2023 17:25: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 1pZxXx-0003RH-Pp; Wed, 08 Mar 2023 17:25:49 +0000
Received: by outflank-mailman (input) for mailman id 508117;
 Wed, 08 Mar 2023 17:25:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Glg8=7A=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZxXv-0003RB-Lz
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 17:25:47 +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 421aae46-bdd6-11ed-956e-85ef70e17bfa;
 Wed, 08 Mar 2023 18:25:45 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id k37so10314251wms.0
 for <xen-devel@lists.xenproject.org>; Wed, 08 Mar 2023 09:25:44 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 g11-20020a05600c310b00b003eb68bb61c8sm101982wmo.3.2023.03.08.09.25.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 08 Mar 2023 09:25: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: 421aae46-bdd6-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678296344;
        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=Bc5SxwVUq/AURDOxo5AtyxuCAn1vYl2BhbqLvKDEjD8=;
        b=dmGo/X2bOtR2fQTAsSJUwuXq4DbO52AP/43gwozQIrY6nvDJmqBDMtOz5ZLK8a8f0B
         I3OzypcmFmr6W2dAtePaSToI4cGsaFNZCL4BQESoOYibPg+c5zcCsHMv6oB0Eo9Nsrfy
         8WjZZRCYBl6kowI6c4OkJEHF+2meX24qfRxWNgwT2saxGnEShzXd/tpfY5WhC0In0pyq
         7a/J5VLKoOaJ7pRuL8MIydIwQWgGKnqKD2CqhySzvv3oWb6UwnJcdorr2MMLcpCcU/hN
         ISjK2/7WHI40SJJqRVMdT1ly242W6LnhlpSUeV6m41dgY9k3Lft+LdxHw2kNPv+9U7V9
         jaaA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678296344;
        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=Bc5SxwVUq/AURDOxo5AtyxuCAn1vYl2BhbqLvKDEjD8=;
        b=Ej836XS/nKjw0Og4RkY0b2SvvBvCTZ0GKBaGuIYb5yX9xOAGFhdYjuewvP0I8tUyMm
         6zklIusv/p5SBZD6vhWLZAX2QYzIZqa51Qs4eSSIwvtaD73MZ392MYLnhMFjUC/G9tq1
         HnSFKJVpKrct3+RhPOqHuEuBrl+uqyvKRiSPSg4qdvGPSTiKXh+r+37MoaRPCAluQq4+
         bDScnZX99yBIXrCAZAr21JOQKkdR3rxH/uWsTJQey/HglSVpIUFidFR5BIJyK1h75ZRS
         JrhIEAf56j5ICW0nyLyNOufibRQQOazRImKpwxFmf+ERuWIjPu7d80Sgv3wSQigmaaIj
         VGqw==
X-Gm-Message-State: AO0yUKWeLEO6DYk2FggZr1CQNTSav7VdQKDUvt70F0lf92+knynHkoh/
	5+wiR6SKDEI5bvBKq2cTg34=
X-Google-Smtp-Source: AK7set+EIFAW9raq6rhZEKPK53BoPcRkO9OtG+/+u+SG9bPl2q4HS+fUbTvvxjAaI5OBb5i3POB42Q==
X-Received: by 2002:a05:600c:470b:b0:3e0:98c:dd93 with SMTP id v11-20020a05600c470b00b003e0098cdd93mr17754222wmo.29.1678296344403;
        Wed, 08 Mar 2023 09:25:44 -0800 (PST)
Message-ID: <cfe7b79c02bd5a9686a3018654627cade1c9e2f9.camel@gmail.com>
Subject: Re: [PATCH v6 2/4] xen: change <asm/bug.h> to <xen/bug.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.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, 08 Mar 2023 19:25:42 +0200
In-Reply-To: <7c7ca139-a77d-c5f1-e8ae-d819656725f1@suse.com>
References: <cover.1678202233.git.oleksii.kurochko@gmail.com>
	 <d8722046783462504d5396f7f880ff62b1ef9a90.1678202233.git.oleksii.kurochko@gmail.com>
	 <7c7ca139-a77d-c5f1-e8ae-d819656725f1@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-08 at 16:27 +0100, Jan Beulich wrote:
> On 07.03.2023 16:50, Oleksii Kurochko wrote:
> > --- a/xen/arch/arm/include/asm/bug.h
> > +++ b/xen/arch/arm/include/asm/bug.h
> > @@ -1,6 +1,8 @@
> > =C2=A0#ifndef __ARM_BUG_H__
> > =C2=A0#define __ARM_BUG_H__
> > =C2=A0
> > +#include <xen/types.h>
> > +
> > =C2=A0#if defined(CONFIG_ARM_32)
> > =C2=A0# include <asm/arm32/bug.h>
> > =C2=A0#elif defined(CONFIG_ARM_64)
> > @@ -9,10 +11,16 @@
> > =C2=A0# error "unknown ARM variant"
> > =C2=A0#endif
> > =C2=A0
> > +#undef BUG_DISP_WIDTH
> > +#undef BUG_LINE_LO_WIDTH
> > +#undef BUG_LINE_HI_WIDTH
>=20
> Why? For Arm ...
>=20
> > =C2=A0#define BUG_DISP_WIDTH=C2=A0=C2=A0=C2=A0 24
> > =C2=A0#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
> > =C2=A0#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
>=20
> ... you could purge these as unused, even in a standalone prereq
> patch.
> And on x86 ...
>=20
> > --- a/xen/arch/x86/include/asm/bug.h
> > +++ b/xen/arch/x86/include/asm/bug.h
> > @@ -1,19 +1,18 @@
> > =C2=A0#ifndef __X86_BUG_H__
> > =C2=A0#define __X86_BUG_H__
> > =C2=A0
> > +#undef BUG_DISP_WIDTH
> > +#undef BUG_LINE_LO_WIDTH
> > +#undef BUG_LINE_HI_WIDTH
> > +
> > =C2=A0#define BUG_DISP_WIDTH=C2=A0=C2=A0=C2=A0 24
> > =C2=A0#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
> > =C2=A0#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
>=20
> ... there's no reason to #undef just to the #define again to the same
> values. All of this would be removed in a subsequent patch anyway,
> and
> it's less code churn (with code nevertheless being correct) if you
> get
> rid of the #define-s right away (as iirc you had it in an earlier
> version). If you agree then with these adjustments
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

It won't be compilation issue (redefinition) in the current one case
because defines are the same as in <xen/bug.h> so it is possible to not
add #undef in this patch.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 17:28:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 17:28:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508122.782449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZxaz-00048n-F8; Wed, 08 Mar 2023 17:28:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508122.782449; Wed, 08 Mar 2023 17:28: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 1pZxaz-00048g-C7; Wed, 08 Mar 2023 17:28:57 +0000
Received: by outflank-mailman (input) for mailman id 508122;
 Wed, 08 Mar 2023 17:28: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 1pZxay-00046q-I6; Wed, 08 Mar 2023 17:28: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 1pZxay-0007Cw-F0; Wed, 08 Mar 2023 17:28: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 1pZxax-0003SS-Tv; Wed, 08 Mar 2023 17:28:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pZxax-0001Wf-TX; Wed, 08 Mar 2023 17:28: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=CJCtgN6kxCtDE3jnje5R07yPu+zjCgB3KK2YnBxoQHg=; b=AMnf/VEzjUnAZ91/krG6h2QHXA
	PxnpVgVgIg/Cx89NETCqdsNd8kvUx9iKDPKOWka4S6pRLLe0Uc+zDcK1sd4zhLEsXjzw07bQQDtO9
	+yaek9O3zVvuOWKC5XMkXxIEdieUz4JImph84Cs8hitjYOxL5TOnSfpK0wc4teqFW7ao=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179505-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179505: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-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-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-amd64-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=6386dd897df596a01e3cf0db9f86d496891564dc
X-Osstest-Versions-That:
    libvirt=9fecdaf1c80f8fb4390c77b4d353ad07ba77c87a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Mar 2023 17:28:55 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              6386dd897df596a01e3cf0db9f86d496891564dc
baseline version:
 libvirt              9fecdaf1c80f8fb4390c77b4d353ad07ba77c87a

Last test of basis   179462  2023-03-07 04:20:39 Z    1 days
Testing same since   179505  2023-03-08 04:20:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Pontillo <mpontillo@digitalocean.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   9fecdaf1c8..6386dd897d  6386dd897df596a01e3cf0db9f86d496891564dc -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 17:48:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 17:48:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508127.782459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pZxtd-0006tD-24; Wed, 08 Mar 2023 17:48:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508127.782459; Wed, 08 Mar 2023 17:48: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 1pZxtc-0006t6-V2; Wed, 08 Mar 2023 17:48:12 +0000
Received: by outflank-mailman (input) for mailman id 508127;
 Wed, 08 Mar 2023 17:48:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Glg8=7A=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pZxtc-0006sy-0w
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 17:48:12 +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 646b55bb-bdd9-11ed-87f5-c1b5be75604c;
 Wed, 08 Mar 2023 18:48:11 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 j19-20020a05600c1c1300b003e9b564fae9so1887490wms.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Mar 2023 09:48:11 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 q20-20020a1cf314000000b003db06224953sm65014wmq.41.2023.03.08.09.48.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 08 Mar 2023 09: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: 646b55bb-bdd9-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678297690;
        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=uEDnfJFtND58FaMjhatv8NcXVtY3kozL4EmvBYGpkIA=;
        b=Xvw1sJQ258vghNH92L46F6vXZzy1FAeqfOAcwsVroBVgEinW7tHJAsPzJPi8/EKdQI
         QspSCjLoxUNK8HsYis8XMqaZoO+dsqmp45qE+xvyGljfQwwNfUlMNVGfACPX1kPkWvQl
         njwFVmatQzOi8Eg6jOKQPfMMKuin5omTfXYwcD7yZqVfBSU1FLqYIg5t2MnGs4pfLyDE
         z7MbYyiNsoNts6ckAiZwOv+fN+BAe+lsJHW2Xc0+TQflPlYS2dHq3PSzrwGQSRjHd5Rq
         F+FQLLT39EmdEjmm+aCDz2Rvo22SEu9pMwzPu9P5IyBzhxNTC0OOxew9QxwZjG5wAGZV
         LBUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678297690;
        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=uEDnfJFtND58FaMjhatv8NcXVtY3kozL4EmvBYGpkIA=;
        b=G2KvA3z1wCDjjGUKrbCAMM905H5EselsOGuR0oHpLEz8YZE8JZb8Sxir6j0imZ4UFb
         vlCxt1zPI/bh21ICfyPZwWfBAc0EFe55ypY9qbiXGq+VEs8HLFQ0iMJy/hr3PuopdYa8
         Vrx5w0ZncIlLUi05NR6kghgRVt79nXZV5R+lAdruRWZZqt0DOM8Ryv+eebM1Bz62Pcmm
         1tnt717JeSyyHc3FleE4jvP7fEl29MB1cstYb+UPTVH12U65GFpfZWYCBrYJePUeDlcT
         tKEjCDOtmWZiHRDdQTh/Uhar+Z+bRI3iJSGFP2TDFOBjtizuXRyjdyAvegmFx5EEdtGK
         3ilA==
X-Gm-Message-State: AO0yUKUwx3BPdo3SSOz5kNiIOerC1V9wcYIi+fS7fY1zQY2t+PgHgwxo
	E6XMLKMlPLijwjFKk8FcKh4=
X-Google-Smtp-Source: AK7set/mVrGxWjOZaqKuyfFvuiS3/elV6Ztj5apHlEypx4hpuAq7W/eNzmXxXH8sOs61oevWUL6Gzw==
X-Received: by 2002:a05:600c:3111:b0:3eb:399d:ab24 with SMTP id g17-20020a05600c311100b003eb399dab24mr15723063wmo.28.1678297690384;
        Wed, 08 Mar 2023 09:48:10 -0800 (PST)
Message-ID: <21bb8cfd68b9b48ab180b852d9b730300d3ad283.camel@gmail.com>
Subject: Re: [PATCH v6 4/4] xen/x86: switch x86 to use generic implemetation
 of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Date: Wed, 08 Mar 2023 19:48:08 +0200
In-Reply-To: <aa8cf64e-e5b1-6c13-7b30-e409a0460e3c@suse.com>
References: <cover.1678202233.git.oleksii.kurochko@gmail.com>
	 <abf50a37913608c3403c6e7e56c9fdba6f3ef643.1678202233.git.oleksii.kurochko@gmail.com>
	 <aa8cf64e-e5b1-6c13-7b30-e409a0460e3c@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.3 (3.46.3-1.fc37) 
MIME-Version: 1.0

T24gV2VkLCAyMDIzLTAzLTA4IGF0IDE2OjMzICswMTAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAwNy4wMy4yMDIzIDE2OjUwLCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gQEAgLTExNjYs
MTIgKzExNjcsOSBAQCB2b2lkIGNwdWlkX2h5cGVydmlzb3JfbGVhdmVzKGNvbnN0IHN0cnVjdAo+
ID4gdmNwdSAqdiwgdWludDMyX3QgbGVhZiwKPiA+IMKgCj4gPiDCoHZvaWQgZG9faW52YWxpZF9v
cChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKPiA+IMKgewo+ID4gLcKgwqDCoCBjb25zdCBz
dHJ1Y3QgYnVnX2ZyYW1lICpidWcgPSBOVUxMOwo+ID4gwqDCoMKgwqAgdTggYnVnX2luc25bMl07
Cj4gPiAtwqDCoMKgIGNvbnN0IGNoYXIgKnByZWZpeCA9ICIiLCAqZmlsZW5hbWUsICpwcmVkaWNh
dGUsICplaXAgPSAoY2hhcgo+ID4gKilyZWdzLT5yaXA7Cj4gPiAtwqDCoMKgIHVuc2lnbmVkIGxv
bmcgZml4dXA7Cj4gPiAtwqDCoMKgIGludCBpZCA9IC0xLCBsaW5lbm87Cj4gPiAtwqDCoMKgIGNv
bnN0IHN0cnVjdCB2aXJ0dWFsX3JlZ2lvbiAqcmVnaW9uOwo+ID4gK8KgwqDCoCB2b2lkICplaXAg
PSAodm9pZCAqKXJlZ3MtPnJpcDsKPiAKPiBBcyBzYWlkIGVsc2V3aGVyZSBhbHJlYWR5OiAiY29u
c3QiIHBsZWFzZSB3aGVuZXZlciBwb3NzaWJsZS4gVGhlIG1vcmUKPiB0aGF0Cj4gdGhlIHZhcmlh
YmxlIHdhcyBwb2ludGVyLXRvLWNvbnN0IGJlZm9yZS4KU3VyZSwgSSB3aWxsIGNoYW5nZSBpdCB0
aGFuIHRvOgogY29uc3Qgdm9pZCAqZWlwID0gKGNvbnN0IHZvaWQgKilyZWdzLT5yaXA7Cj4gCj4g
PiBAQCAtMTE4NSw4MyArMTE4MywyMCBAQCB2b2lkIGRvX2ludmFsaWRfb3Aoc3RydWN0IGNwdV91
c2VyX3JlZ3MKPiA+ICpyZWdzKQo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgIG1lbWNtcChidWdfaW5z
biwgIlx4Zlx4YiIsIHNpemVvZihidWdfaW5zbikpICkKPiA+IMKgwqDCoMKgwqDCoMKgwqAgZ290
byBkaWU7Cj4gPiDCoAo+ID4gLcKgwqDCoCByZWdpb24gPSBmaW5kX3RleHRfcmVnaW9uKHJlZ3Mt
PnJpcCk7Cj4gPiAtwqDCoMKgIGlmICggcmVnaW9uICkKPiA+IC3CoMKgwqAgewo+ID4gLcKgwqDC
oMKgwqDCoMKgIGZvciAoIGlkID0gMDsgaWQgPCBCVUdGUkFNRV9OUjsgaWQrKyApCj4gPiAtwqDC
oMKgwqDCoMKgwqAgewo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IGJ1
Z19mcmFtZSAqYjsKPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBpOwo+
ID4gLQo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZm9yICggaSA9IDAsIGIgPSByZWdpb24t
PmZyYW1lW2lkXS5idWdzOwo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
aSA8IHJlZ2lvbi0+ZnJhbWVbaWRdLm5fYnVnczsgYisrLCBpKysgKQo+ID4gLcKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgewo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoIGJ1
Z19sb2MoYikgPT0gZWlwICkKPiA+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgewo+
ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJ1ZyA9IGI7Cj4gPiAt
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ290byBmb3VuZDsKPiA+IC3C
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfQo+ID4gLcKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgfQo+ID4gLcKgwqDCoMKgwqDCoMKgIH0KPiA+IC3CoMKgwqAgfQo+ID4gLQo+ID4gLSBmb3Vu
ZDoKPiA+IC3CoMKgwqAgaWYgKCAhYnVnICkKPiA+ICvCoMKgwqAgaWQgPSBkb19idWdfZnJhbWUo
cmVncywgcmVncy0+cmlwKTsKPiA+ICvCoMKgwqAgaWYgKCBpZCA8IDAgKQo+ID4gwqDCoMKgwqDC
oMKgwqDCoCBnb3RvIGRpZTsKPiA+IC3CoMKgwqAgZWlwICs9IHNpemVvZihidWdfaW5zbik7Cj4g
PiAtwqDCoMKgIGlmICggaWQgPT0gQlVHRlJBTUVfcnVuX2ZuICkKPiA+IC3CoMKgwqAgewo+ID4g
LcKgwqDCoMKgwqDCoMKgIHZvaWQgKCpmbikoc3RydWN0IGNwdV91c2VyX3JlZ3MgKikgPSBidWdf
cHRyKGJ1Zyk7Cj4gPiAtCj4gPiAtwqDCoMKgwqDCoMKgwqAgZm4ocmVncyk7Cj4gPiAtwqDCoMKg
wqDCoMKgwqAgZml4dXBfZXhjZXB0aW9uX3JldHVybihyZWdzLCAodW5zaWduZWQgbG9uZyllaXAp
Owo+ID4gLcKgwqDCoMKgwqDCoMKgIHJldHVybjsKPiA+IC3CoMKgwqAgfQo+ID4gwqAKPiA+IC3C
oMKgwqAgLyogV0FSTiwgQlVHIG9yIEFTU0VSVDogZGVjb2RlIHRoZSBmaWxlbmFtZSBwb2ludGVy
IGFuZCBsaW5lCj4gPiBudW1iZXIuICovCj4gPiAtwqDCoMKgIGZpbGVuYW1lID0gYnVnX3B0cihi
dWcpOwo+ID4gLcKgwqDCoCBpZiAoICFpc19rZXJuZWwoZmlsZW5hbWUpICYmICFpc19wYXRjaChm
aWxlbmFtZSkgKQo+ID4gLcKgwqDCoMKgwqDCoMKgIGdvdG8gZGllOwo+ID4gLcKgwqDCoCBmaXh1
cCA9IHN0cmxlbihmaWxlbmFtZSk7Cj4gPiAtwqDCoMKgIGlmICggZml4dXAgPiA1MCApCj4gPiAt
wqDCoMKgIHsKPiA+IC3CoMKgwqDCoMKgwqDCoCBmaWxlbmFtZSArPSBmaXh1cCAtIDQ3Owo+ID4g
LcKgwqDCoMKgwqDCoMKgIHByZWZpeCA9ICIuLi4iOwo+ID4gLcKgwqDCoCB9Cj4gPiAtwqDCoMKg
IGxpbmVubyA9IGJ1Z19saW5lKGJ1Zyk7Cj4gPiArwqDCoMKgIGVpcCA9ICh1bnNpZ25lZCBjaGFy
ICopZWlwICsgc2l6ZW9mKGJ1Z19pbnNuKTsKPiAKPiBXaHkgZG9uJ3QgeW91IGtlZXAgdGhlIG9y
aWdpbmFsCj4gCj4gwqDCoMKgIGVpcCArPSBzaXplb2YoYnVnX2luc24pOwo+IAo+ID8gQXMgYWxz
byBzYWlkIGJlZm9yZSB3ZSB1c2UgdGhlIEdOVSBleHRlbnNpb24gb2YgYXJpdGhtZXRpYyBvbgo+
IHBvaW50ZXJzCj4gdG8gdm9pZCBwcmV0dHkgZXh0ZW5zaXZlbHkgZWxzZXdoZXJlOyB0aGVyZSdz
IG5vIHJlYXNvbiBhdCBhbGwgdG8KPiBpbnRyb2R1Y2UgYW4gdW5uZWNlc3NhcnkgYW5kIHF1ZXN0
aW9uYWJsZSBjYXN0IGhlcmUuCkp1c3QgbWlzc2VkIHRoYXQgZHVyaW5nIHJlYmFzZS4gKCBJIGV4
cGVyaW1lbnRlZCB3aXRoIHRoZSBicmFuY2ggYW5kCnJlY2VpdmVkIGNvbmZsaWN0cyB0aGF0IHdl
cmUgcmVzb2x2ZWQgaW5jb3JyZWN0bHkgKQoKSSB3aWxsIHVwZGF0ZSB0aGF0LiBUaGFua3MKCj4g
Cj4gV2l0aCB0aGVzZSBhZGp1c3RtZW50cyBhbmQgd2l0aCB0aGUgcmUtYmFzaW5nIG92ZXIgdGhl
IGNoYW5nZXMKPiByZXF1ZXN0ZWQKPiB0byBwYXRjaCAyCj4gUmV2aWV3ZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KPiAKPiBKYW4KCn4gT2xla3NpaQoK



From xen-devel-bounces@lists.xenproject.org Wed Mar 08 20:49:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 20:49:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508131.782468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pa0iX-0003VA-M5; Wed, 08 Mar 2023 20:48:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508131.782468; Wed, 08 Mar 2023 20:48:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pa0iX-0003V3-JG; Wed, 08 Mar 2023 20:48:57 +0000
Received: by outflank-mailman (input) for mailman id 508131;
 Wed, 08 Mar 2023 20:48: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 1pa0iW-0003Tv-9h; Wed, 08 Mar 2023 20:48: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 1pa0iW-0003z8-85; Wed, 08 Mar 2023 20:48: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 1pa0iV-0001Qw-Oz; Wed, 08 Mar 2023 20:48:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pa0iV-0003gj-OY; Wed, 08 Mar 2023 20: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=A50F/JfdTzP1pgPc4HOpWIg/xkYLWN6xznrFu+CYclw=; b=OYEL/ujzSPYpeHS4m+8DYf8Ej2
	VOuEyTIkHWKtaeOQlxO2inKEqHsz5imnSzjYA88OS9LgvhPpZ5NhnDaPcICAtMuafG9ueSZyaPeBZ
	3FFAmhHnq01vc0+xf0PZeUd8Tz1L8qQNL3Y19S1WctHHea3otjLlOV9gpo4MfRZfsd98=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179510-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179510: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=69da506c927f8092ea8f783a092a694a3582e3ef
X-Osstest-Versions-That:
    ovmf=75fb0cfc82376906243386514be0e4067d702117
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Mar 2023 20:48:55 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 69da506c927f8092ea8f783a092a694a3582e3ef
baseline version:
 ovmf                 75fb0cfc82376906243386514be0e4067d702117

Last test of basis   179498  2023-03-07 15:44:14 Z    1 days
Testing same since   179510  2023-03-08 18:43:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrei Warkentin <andrei.warkentin@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
   75fb0cfc82..69da506c92  69da506c927f8092ea8f783a092a694a3582e3ef -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 21:36:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 21:36:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508136.782479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pa1SB-0001L4-8U; Wed, 08 Mar 2023 21:36:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508136.782479; Wed, 08 Mar 2023 21: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 1pa1SB-0001Kx-4N; Wed, 08 Mar 2023 21:36:07 +0000
Received: by outflank-mailman (input) for mailman id 508136;
 Wed, 08 Mar 2023 21: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 1pa1SA-0001Kn-IY; Wed, 08 Mar 2023 21: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 1pa1SA-0004w0-Fw; Wed, 08 Mar 2023 21: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 1pa1SA-0002VQ-1W; Wed, 08 Mar 2023 21:36:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pa1SA-0001MB-16; Wed, 08 Mar 2023 21: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CgOP+7Au9E81pjrp3++6QL0a3K8LIThdj1ApX+MEGSc=; b=cHw1FMlltN4CS7jbpn5A0ApteC
	1xo/Sm69pxGWOiW6rYoHnJDRDScqYcm+kcr9ur0yVbdHKZoiTI68WeeSg44tgAdYqn36+L9pPJnEo
	nLjomiBgMpjM1UDXuN8xirZ2DGL6qbEhu1BQ73XFh14WWsOzDS6THg5i09KwBzYDHSS0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179506-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179506: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=63355b9884b3d1677de6bd1517cd2b8a9bf53978
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Mar 2023 21:36:06 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl          17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 18 guest-localmigrate      fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 15 guest-saverestore fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 18 guest-start/debianhvm.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 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-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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                63355b9884b3d1677de6bd1517cd2b8a9bf53978
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   15 days
Failing since        178093  2023-02-22 05:02:47 Z   14 days   30 attempts
Testing same since   179506  2023-03-08 06:26:58 Z    0 days    1 attempts

------------------------------------------------------------
2047 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 08 23:08:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Mar 2023 23:08:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508145.782488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pa2tP-0003vL-Ua; Wed, 08 Mar 2023 23:08:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508145.782488; Wed, 08 Mar 2023 23:08:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pa2tP-0003vE-S0; Wed, 08 Mar 2023 23:08:19 +0000
Received: by outflank-mailman (input) for mailman id 508145;
 Wed, 08 Mar 2023 23: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=lEal=7A=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1pa2tO-0003v8-SA
 for xen-devel@lists.xenproject.org; Wed, 08 Mar 2023 23:08:18 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a51ae6c-be06-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 00:08:16 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 328N86oW005003
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 8 Mar 2023 18:08:11 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 328N86eF005002;
 Wed, 8 Mar 2023 15:08:06 -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: 1a51ae6c-be06-11ed-87f5-c1b5be75604c
Date: Wed, 8 Mar 2023 15:08:06 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [BUG] x2apic broken with current AMD hardware
Message-ID: <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Wed, Mar 08, 2023 at 04:50:51PM +0100, Jan Beulich wrote:
> On 08.03.2023 16:23, Elliott Mitchell wrote:
> > Mostly SSIA.  As originally identified by "Neowutran", appears Xen's
> > x2apic wrapper implementation fails with current generation AMD hardware
> > (Ryzen 7xxx/Zen 4).  This can be worked around by passing "x2apic=false"
> > on Xen's command-line, though I'm wondering about the performance impact.
> > 
> > There hasn't been much activity on xen-devel WRT x2apic, so a patch which
> > fixed this may have flown under the radar.  Most testing has also been
> > somewhat removed from HEAD.
> > 
> > Thanks to "Neowutran" for falling on this grenade and making it easier
> > for the followers.  Pointer to first report:
> > https://forum.qubes-os.org/t/ryzen-7000-serie/14538
> 
> I'm sorry, but when you point at this long a report, would you please be a
> little more specific as to where the problem in question is actually
> mentioned? Searching the page for "x2apic" didn't give any hits at all
> until I first scrolled to the bottom of the (at present) 95 comments. And
> then while there are five mentions, there's nothing I could spot that
> would actually help understanding what is actually wrong. A statement like
> "... is because the implementation of x2apic is incorrect" isn't helpful
> on its own. And a later statement by another person puts under question
> whether "x2apic=false" actually helps in all cases.
> 
> Please can we get a proper bug report here with suitable technical detail?
> Or alternatively a patch to discuss?

Mostly I was pointing to the thread to credit Neowutran and company with
originally finding the workaround.  I'm concerned about how
representative my reproduction is since the computer in question is
presently using Debian's build of Xen, 4.14.

As such I'm less than certain the problem is still in HEAD, though
Neowutran and Co working with 4.16 and the commit log being quiet
suggests there is a good chance.

More detail, pretty well most things are broken for Domain 0 without
"x2apic=false".  Trying to boot with a 6.1.12 a USB keyboard was
completely unresponsive, on screen the initial ramdisk script output was
indicating problems interacting with storage devices.  Those two together
suggested an interrupt issue and adding "x2apic=false" caused domain 0 to
successfully boot.
A 5.10 kernel similarly requires "x2apic=false" to successfully boot.

So could be a commit after 4.16 fixed x2apic for current AMD hardware,
but may still be broken.

I sent the message out of concern Neowutran got attention to the TSC
overflow issue, but I haven't seen any mention of the x2apic issue.


-- 
(\___(\___(\______          --=> 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 Thu Mar 09 01:23:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 01:23:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508154.782502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pa4zY-0002PU-Vh; Thu, 09 Mar 2023 01:22:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508154.782502; Thu, 09 Mar 2023 01: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 1pa4zY-0002PN-Sv; Thu, 09 Mar 2023 01:22:48 +0000
Received: by outflank-mailman (input) for mailman id 508154;
 Thu, 09 Mar 2023 01:22:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rN8H=7B=epam.com=prvs=7432707a69=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1pa4zY-0002PG-7t
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 01:22: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 e4135e09-be18-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 02:22:45 +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
 328LPJ1a000428; Thu, 9 Mar 2023 01:22:28 GMT
Received: from eur01-he1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2052.outbound.protection.outlook.com [104.47.0.52])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3p6fhnm8ts-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 09 Mar 2023 01:22:27 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by PA4PR03MB7455.eurprd03.prod.outlook.com (2603:10a6:102:ec::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.16; Thu, 9 Mar
 2023 01:22:19 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e%4]) with mapi id 15.20.6156.029; Thu, 9 Mar 2023
 01:22: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: e4135e09-be18-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EiA1fO0Rb7mg7qu37XFKckMLAjH+Mqp7AVBevBgQfsNgB9/B36mF/dqyqxVVj3oGuwiGmqmdUGFpYyKo9G3vrR/nqtHFlpoWzE70EuAurA+qGbUURevKdMCKTmQ5SbKj+LSqOeMWzlLdAzZf87cVmRcaTP+0MCExxTaoDOZ7NMQ5xxqnITw5PWzHPzwZ4LZ/fTA3Y4HN1or0MwQqCxLD7MtCdHQnhG7cde+nXFhnH+He5939sVEAr3r/7XSPBPYAB5UksMmq9TpplVp7JsUB+fACusTn8mdr0sqli7VjS07B2UeHnBWNP3bBJ9umn68Xv4g0YbzO10G+FJh/2p4hDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Oqy12t0RQd/RNwTswnsTspjMP6itjiRNUtrLGauzMis=;
 b=U5HfksPQX+IP3BBCc0k6OCLQRu/uTnLCPri+u88uLEOa99DnqEqs4heg4pA71OC5Hj+K6hN6y48owd2w9zsMtS/pTcybgs2LUA0NlUvVtPbUkq7rT2gk4H0g5TkojhfiRRwR6u9BdsHVBK2NRoQ1veniMQ7QtPYM66K1hoTg8HsJ9XqmJN1rnEIFhW3HqEXbdynXAKBuJqy/3QdjRVIyLKS3ezpseFatbXqWh6fGTm4CJZm0x70IRldNpSpCDGo5QgGqvPQ+WYEQXIIVMFkzY6C5R+UnGCF4m+j7SQJJH1BN5uS7XPNPn+j+R5eY8pWqGxp2Hl1lLQPpeEBsMPWPBQ==
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=Oqy12t0RQd/RNwTswnsTspjMP6itjiRNUtrLGauzMis=;
 b=roS7tpKwaLkGX8AkzMjMJ0dXwcw09sGT042hMfvEUImCCNLOMAl3AvehDKSkw1kNyC5YqelpLeYIe3WSTBs2BsRMSEmsVuK9QM3uC/VzK3yrs/Lf2oQJAVoZEzFPF81MlOtaVzU2g0UsQO95QPZJtXP2gbDSaWAl20BoB8FdJ7CkhYvBwQ1Kfi4SCLMLG/rxXoZC3azV/wBbaxsFeybirTt0PR6QF+fqLypgQf4rg2CKOmfSoxlD5qh2w9pIfTdTzG7JJnIqBZxBimIGsS0Cmo6vIO6j4O0+Pp83GWrgoL45+eoIxUIgPszWrAwaXo3G3K/oqRcZ9zvyNYpisolDQg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>, George Dunlap
	<george.dunlap@citrix.com>,
        Julien Grall <julien@xen.org>, Paul Durrant
	<paul@xen.org>,
        Kevin Tian <kevin.tian@intel.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>
Subject: Re: [RFC PATCH 08/10] xen: pci: remove pcidev_[un]lock[ed] calls
Thread-Topic: [RFC PATCH 08/10] xen: pci: remove pcidev_[un]lock[ed] calls
Thread-Index: AQHYvUN/BRbyNewJG0OqhFjBUWUt7a6z9h8AgCWO7ACAALRSAIAYk4mA
Date: Thu, 9 Mar 2023 01:22:18 +0000
Message-ID: <87o7p2yb0p.fsf@epam.com>
References: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
 <20220831141040.13231-9-volodymyr_babchuk@epam.com>
 <alpine.DEB.2.22.394.2301271717090.1978264@ubuntu-linux-20-04-desktop>
 <875ybwylp6.fsf@epam.com> <67330fed-560d-0078-2c5e-0a71974f3dcc@suse.com>
In-Reply-To: <67330fed-560d-0078-2c5e-0a71974f3dcc@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.8.9; emacs 28.2
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|PA4PR03MB7455:EE_
x-ms-office365-filtering-correlation-id: 6d335ece-1a09-4e64-92cd-08db203cb99c
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 cN7xgwxMgpDHbuIm4Vo6Y4mFMKUoil/TZuMofQy6SKyr2U5UT3njh23RZ2WceKU3If/IwBx6w5JetQ2FpVsMXSoktl2DOGqL0haEg9BB5frg4cyuXSiHanfVM0FUc5oMHVBaSBRL0S0DpK/T1j9CjjLaTSyaLI8DpQIhfyv5QchJoXNwgsQHMYWH5I6EDvp7uaqszU7dhix9wXD3de9/40yVVxoI29NKKxHMKJe/o8+oNbxb7RDaaja6jypgvqhVVIk2cNDnCWaPudoVMbfJRuUB57UP1eZHLCJB2uOhDcCQoQgwDIKdEwoH9uyGRwtb2xmquieBek7Gms+qNRU4pQFfgD9mQst5CZUSvQ9dnpMxJCdJ/J3cb3w3QXeyperX/3wSHS5xwj17o8UEI1ImPKgxoRfuF9vRLliLYZNvgLfnPSBANWZNNmIRXFfC9Lkko0NAmJtxx3WLFPO6ukXW+GGvL7YVDaIREOdAW+uNfL63+rbDtScIWxhdn1ZfKByxBb8Tq7KMk8Ga5tlllvaANBl+XfJXv7/UdTUrsJV7lFUScMYcS4BU009BLyIHBbjSjH7DjCTuQUcZwr9KNaa27OMNozmxJqLvW9ydzn28pu+e+6L4+Xzj/rU6tx7FrHzBxft34PTAj+lvEeDvpEHMVkfAmLCD6tEJRjjp4I6wlknvoq8enmVXYTL5M4hPhz1rBAttAxdFG2GRRc147s2m1g==
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:(13230025)(4636009)(136003)(346002)(396003)(39860400002)(366004)(376002)(451199018)(66899018)(316002)(54906003)(86362001)(36756003)(38100700002)(6512007)(38070700005)(186003)(122000001)(26005)(83380400001)(6506007)(53546011)(55236004)(2616005)(7416002)(6486002)(478600001)(5660300002)(4326008)(76116006)(8936002)(71200400001)(91956017)(66446008)(41300700001)(2906002)(66946007)(66476007)(64756008)(66556008)(6916009)(8676002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?53VEI8AnVYXq+r04TE4ki0V7emHK7Psp93KldRBY9i5kJ8ko+2g4lj83EN?=
 =?iso-8859-1?Q?K4PCv8lRsC0dE/+4dbQ/hGgsWY3qsgHxQilwgLZ7ujT2ednssoShoX8NFS?=
 =?iso-8859-1?Q?GmrWo7DkvemSQQdkH8/I9TxgVSWRfF3rlyGyohyoBtZGKoo33T32Eh/Zer?=
 =?iso-8859-1?Q?HzzfkM4Ah3XcSiqB5XMBFqEpsL/8QLGcjke5O0Bjl7DzDQtF2AbvgGOCm9?=
 =?iso-8859-1?Q?iX9MD6G9cXDvsBw3f1a/YUn7CxBkeQ5jyve2A9YC83+u8URqOqySMrwiUO?=
 =?iso-8859-1?Q?hmF0r/V8mRGSZYpsQ+bv7x6QWls55MQ9jlVpKgyJ3ChWB46Wcn9hCMwvOU?=
 =?iso-8859-1?Q?6r7yf+/vBfj0I2rVHBpdn90U2IHLYu7JK2c69nOaucEjTJHRrb/XiEbigv?=
 =?iso-8859-1?Q?odIVhOs4tZFSyiIXzxEa3C37Ffguu18Y5HqEBfEEJUVuXJsL79FLy7vYC/?=
 =?iso-8859-1?Q?Lnn8n/Qw9/1vL3lsvscuiW27HTAhoWMG9vymiiy4PnUMZJHWgP6EBtH/IU?=
 =?iso-8859-1?Q?QLVrCG+P9DMKQolAguNqr3SyBIctp9uGj6f8F0rzBRpnat4u6l4xfboEIh?=
 =?iso-8859-1?Q?QjeMirnOpmDOCdUhFD8WkDcnX3cnOh0Gid083qd/Vj5ZcRHwi08Azdo0V0?=
 =?iso-8859-1?Q?/FBR6ZSMqHnBu2CY7L1cFVFK02wF+wSQbT+W6GXu5eYNFlFUHenw++NoIJ?=
 =?iso-8859-1?Q?nuGalVRiLMRHphAeUKiF+xre9K/qUd5fuGI9dQidA6PeNT0yvAd5p+qLTX?=
 =?iso-8859-1?Q?CzzyowkrFLlqxaLMHIS/U2v9/glvqh1JJJXL2GtyfLtsUx/WiKpklSarl+?=
 =?iso-8859-1?Q?Ec8pQ03vngqQRC5qqLGkCTDpZT2dvFxHDxgRvREPXL4jxbc00RwrTZm8GQ?=
 =?iso-8859-1?Q?FsoAL1qzVVVlvabLKWQ1r2EhrM5D2EkaVVfJdM7phcluny9eVuO+LL+89w?=
 =?iso-8859-1?Q?8DQyK88rMpArW9LdUhYUf4zAXddWGy8qVpmMTaIVfLKXTxGqK0aoPTzwjB?=
 =?iso-8859-1?Q?4yV/QpyzdWYIdmewU/zobMBRzphwHsuDzm9lknFnYHtvHmQz9e3p+iwz49?=
 =?iso-8859-1?Q?pE9QRCd0nf/u//lren+Bg1ilQo1WKMBIX4NE6hgHSmTHaSujUA0aubrzJ0?=
 =?iso-8859-1?Q?GQZrZpd8khFewkfjA3bQ/miecHCHKA5UCZ2rSfMbhYDaoCmMukuFCVeYST?=
 =?iso-8859-1?Q?KiwFHcvny6X+z6qYsNQ7z9+5tj5iqkp1VRniMWPlagwyCaTtwDBhDx1RNb?=
 =?iso-8859-1?Q?0tNH30E36aIoYFa2GHJkLL80k72IjkZp6438Da59YoQABm/CM/GgZqToe6?=
 =?iso-8859-1?Q?5OdiuAPhpqNY+tV2uioONfw2aCDrt29K9FtBO9cBeJ9bakk77tPIHAWTDh?=
 =?iso-8859-1?Q?p3lAbn+2LMR2CFtFbN96RkEM7pv/YXMbdUIY4+bJeUzmtbdTkKqgd1QA7V?=
 =?iso-8859-1?Q?NUJ/TfJ/dulry0CO+BudRTYBQgI4A1i0c2/cHLcwpoe4E414lzzakKLyRF?=
 =?iso-8859-1?Q?Du2OGkPmGHltUBHYRIev94D8fqGLgkaVIN+aHCXIHrC5qiQbXQlL+lZgcv?=
 =?iso-8859-1?Q?VcD6YEHA4EsXw/jr/Vh7AmxbZ1rabEVi1uG1RKdfPBo5ubb9+WDEhp2P08?=
 =?iso-8859-1?Q?s+wjNVqmsDVNHCbh2RYW1LpxQVjgHFFbUeTtivMWUDKYpkElWhCe1JTA?=
 =?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: 6d335ece-1a09-4e64-92cd-08db203cb99c
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Mar 2023 01:22:18.6761
 (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: u7oBueL2LUhNEKC5NAFyW7wa0PhGIHofOggldXO5dFfFPdNHfpFbNvMAqCk/KSR2FIcTPQjmKUEPd36C0tsSrySGcgvT2IIyvwru1CrQ0ng=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB7455
X-Proofpoint-ORIG-GUID: vDEO7zgbmSUPKRHuY_fWYQw76-483nA5
X-Proofpoint-GUID: vDEO7zgbmSUPKRHuY_fWYQw76-483nA5
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-08_15,2023-03-08_03,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 mlxlogscore=999
 suspectscore=0 lowpriorityscore=0 adultscore=0 spamscore=0 clxscore=1011
 impostorscore=0 malwarescore=0 priorityscore=1501 mlxscore=0 bulkscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2212070000
 definitions=main-2303090010


Hello Jan,

Jan Beulich <jbeulich@suse.com> writes:

> On 21.02.2023 00:13, Volodymyr Babchuk wrote:
>> Stefano Stabellini <sstabellini@kernel.org> writes:
>>> On Wed, 31 Aug 2022, Volodymyr Babchuk wrote:
>>>> As pci devices are refcounted now and all list that store them are
>>>> protected by separate locks, we can safely drop global pcidevs_lock.
>>>>
>>>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>>
>>> Up until this patch this patch series introduces:
>>> - d->pdevs_lock to protect d->pdev_list
>>> - pci_seg->alldevs_lock to protect pci_seg->alldevs_list
>>> - iommu->ats_list_lock to protect iommu->ats_devices
>>> - pdev refcounting to detect a pdev in-use and when to free it
>>> - pdev->lock to protect pdev->msi_list
>>>
>>> They cover a lot of ground.  Are they collectively covering everything
>>> pcidevs_lock() was protecting?
>>=20
>> Well, that is the question. Those patch are in RFC stage because I can't
>> fully answer your question. I tried my best to introduce proper locking,
>> but apparently missed couple of places, like
>>=20
>>> deassign_device is not protected by pcidevs_lock anymore.
>>> deassign_device accesses a number of pdev fields, including quarantine,
>>> phantom_stride and fault.count.
>>>
>>> deassign_device could run at the same time as assign_device who sets
>>> quarantine and other fields.
>>>
>>=20
>> I hope this is all, but problem is that PCI subsystem is old, large and
>> complex. Fo example, as I wrote earlier, there are places that are
>> protected with pcidevs_lock(), but do nothing with PCI. I just don't
>> know what to do with such places. I have a hope that x86 maintainers
>> would review my changes and give feedback on missed spots.
>
> At the risk of it sounding unfair, at least initially: While review may
> spot issues, you will want to keep in mind that none of the people who
> originally wrote that code are around anymore. And even if they were,
> it would be uncertain - just like for the x86 maintainers - that they
> would recall (if they were aware at some time in the first place) all
> the corner cases. Therefore I'm afraid that proving correctness and
> safety of the proposed transformations can only be done by properly
> auditing all involved code paths. Yet that's something that imo wants
> to already have been done by the time patches are submitted for review.
> Reviewers would then "merely" (hard enough perhaps) check the results
> of that audit.
>
> I might guess that this locking situation is one of the reasons why
> Andrew in particular thinks (afaik) that the IOMMU code we have would
> better be re-written almost from scratch. I assume it's clear to him
> (it certainly is to me) that this is something that could only be
> expected to happen in an ideal work: I see no-one taking on such an
> exercise. We already have too little bandwidth.

The more I dig into IOMMU code, the more I agree with Andrew. I can't
see how current PCI locking can be untangled in the IOMMU code. There
are just too many moving parts. I tried to play with static code
analysis tools, but I haven't find anything that can reliably analyze
locking in Xen. I even tried to write own tool tailored specifically for
PCI locking analysis. While it works on some synthetic tests, there is
too much work to support actual Xen code.

I am not able to rework x86 IOMMU code. So, I am inclined to drop this
patch series at all. My current plan is to take minimal refcounting from
this series to satisfy your comments for "vpci: use pcidevs locking to
protect MMIO handlers".

--=20
WBR, Volodymyr


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 03:49:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 03:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508157.782512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pa7Gq-0002ZN-Gv; Thu, 09 Mar 2023 03:48:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508157.782512; Thu, 09 Mar 2023 03:48: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 1pa7Gq-0002ZG-Dl; Thu, 09 Mar 2023 03:48:48 +0000
Received: by outflank-mailman (input) for mailman id 508157;
 Thu, 09 Mar 2023 03:48: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 1pa7Go-0002Z3-7V; Thu, 09 Mar 2023 03:48: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 1pa7Go-0004K5-3h; Thu, 09 Mar 2023 03:48: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 1pa7Gn-0004fm-Lq; Thu, 09 Mar 2023 03:48:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pa7Gn-0002Gi-LC; Thu, 09 Mar 2023 03:48: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=DGaIba7OQKLaluaT0BzsZrC7UUymkCxqtMQmeUByMAY=; b=3vOSmn4qK0SxwepDsD2xJzTR9R
	42sdL4iwDWcwbJHSxaHffAihp64p93atq1GtFg97M8iCXmmvCUzbKLRUYCxtRrgVrLP//I9lNxdDG
	EVha3cN9T47/RFto6l1sesx+3bXpKhR6XmKrKO8DYNaS494VzIIwLRmfMHY6kEa9g14Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179509-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179509: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat: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-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-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-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-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-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-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=746774cd1786b13dc67020efb6496477535dcb26
X-Osstest-Versions-That:
    xen=31270f11a96ebb875cd70661e2df9e5c6edd7564
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 09 Mar 2023 03:48:45 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2   21 guest-start/debian.repeat fail REGR. vs. 179503

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179503
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179503
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179503
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179503
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179503
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179503
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179503
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179503
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179503
 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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-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     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  746774cd1786b13dc67020efb6496477535dcb26
baseline version:
 xen                  31270f11a96ebb875cd70661e2df9e5c6edd7564

Last test of basis   179503  2023-03-08 01:55:30 Z    1 days
Testing same since   179509  2023-03-08 14:07:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bertrand Marquis <bertrand.marquis@arm.com>
  Michal Orzel <michal.orzel@amd.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 746774cd1786b13dc67020efb6496477535dcb26
Author: Stefano Stabellini <stefano.stabellini@amd.com>
Date:   Mon Mar 6 15:33:10 2023 -0800

    automation: introduce a dom0less test run on Xilinx hardware
    
    The test prepares dom0 and domU binaries and boot artifacts, similarly
    to the existing QEMU test. (TBD: share preparation steps with the
    regular QEMU tests.)
    
    However, instead of running the test inside QEMU as usual, it copies
    the binaries to the tftp server root, triggers a Xilinx ZCU102 board
    reboot, and connects to the real serial of the board.
    
    Only run the job on protected branches with XILINX_JOBS set to true (the
    "master" and "staging" on gitlab.com/xen-project/xen qualify).
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>

commit 3c55057bab0e992a6fc25cd498d6aca72034a8b5
Author: Stefano Stabellini <stefano.stabellini@amd.com>
Date:   Mon Mar 6 15:33:09 2023 -0800

    automation: add Ubuntu container for Xilinx hardware tests
    
    This container is only run on the controller PC (x86) to trigger the
    test on a connected Xilinx ZCU102 physical board.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>

commit dd0f000aafd91ff674a11d6d5623d345fa8f91a6
Author: Michal Orzel <michal.orzel@amd.com>
Date:   Wed Mar 1 10:06:44 2023 +0100

    automation: Add missing and drop obsoleted aliases from containerize
    
    Add missing aliases for:
     - debian:unstable-cppcheck
     - debian:unstable-arm64v8-arm32-gcc
     - ubuntu:bionic
    
    Remove aliases for no longer used containers:
     - centos:7.2
     - debian:unstable-arm32-gcc
    
    Modify docs to refer to CentOS 7 instead of 7.2 not to create confusion.
    
    Signed-off-by: Michal Orzel <michal.orzel@amd.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>

commit 002641a8b76dd560f425dca636ae17149cc6b379
Author: Bertrand Marquis <bertrand.marquis@arm.com>
Date:   Tue Feb 28 08:08:10 2023 +0000

    xen/arm: check max_init_domid validity
    
    Before trying to create a dom0less guest, check that max_init_domid
    increment will generate a valid domain ID, lower than
    DOMID_FIRST_RESERVED.
    
    Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 06:59:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 06:59:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508167.782528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paAEh-0008RE-Td; Thu, 09 Mar 2023 06:58:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508167.782528; Thu, 09 Mar 2023 06: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 1paAEh-0008R7-On; Thu, 09 Mar 2023 06:58:47 +0000
Received: by outflank-mailman (input) for mailman id 508167;
 Thu, 09 Mar 2023 06:58: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 1paAEg-0008Qx-QP; Thu, 09 Mar 2023 06:58: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 1paAEg-00016A-Ng; Thu, 09 Mar 2023 06:58: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 1paAEg-0002lg-9N; Thu, 09 Mar 2023 06:58:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1paAEg-0004Bp-4d; Thu, 09 Mar 2023 06:58:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7jAfjibcMtTTC63WHgGntTt/yKTJ+dVHgPV8oTSdUlA=; b=4qc9jzZzT5bLPhPk0WgrndBOC2
	bj4dMcBI2Ma3uxtqOlPmqqp5BsjkLWxErrYmrzp5Z0RGuMsSBNtpHibM+aJaOXMHZNC46YbAU1Fcw
	2CuR1yExeyFBss+WBObaMXtK7nTam8BRySQsO5xG36JSYcSG7mopwmiGPlz2AZr40UdE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179511-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179511: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:nested-setup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=6a98c9cae232800c319ed69e1063480d31430887
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 09 Mar 2023 06:58:46 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 16 guest-saverestore    fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 19 guest-saverestore.2   fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 17 guest-saverestore     fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 17 guest-stop               fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 13 nested-setup        fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm     18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds    22 guest-start/debian.repeat fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                6a98c9cae232800c319ed69e1063480d31430887
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   15 days
Failing since        178093  2023-02-22 05:02:47 Z   15 days   31 attempts
Testing same since   179511  2023-03-08 21:41:25 Z    0 days    1 attempts

------------------------------------------------------------
2050 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 08:02:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 08:02:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508177.782538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paBEH-0000Zh-Ts; Thu, 09 Mar 2023 08:02:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508177.782538; Thu, 09 Mar 2023 08:02: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 1paBEH-0000Za-Pp; Thu, 09 Mar 2023 08:02:25 +0000
Received: by outflank-mailman (input) for mailman id 508177;
 Thu, 09 Mar 2023 08:02: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=V3pJ=7B=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1paBEG-0000ZT-Pw
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 08:02:25 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2060c.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b733b446-be50-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 09:02:20 +0100 (CET)
Received: from AS9PR06CA0732.eurprd06.prod.outlook.com (2603:10a6:20b:487::31)
 by AS8PR08MB6149.eurprd08.prod.outlook.com (2603:10a6:20b:29d::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Thu, 9 Mar
 2023 08:02:14 +0000
Received: from VI1EUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:487:cafe::89) by AS9PR06CA0732.outlook.office365.com
 (2603:10a6:20b:487::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19 via Frontend
 Transport; Thu, 9 Mar 2023 08:02:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT007.mail.protection.outlook.com (100.127.144.86) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6156.29 via Frontend Transport; Thu, 9 Mar 2023 08:02:13 +0000
Received: ("Tessian outbound c2bcb4c18c29:v135");
 Thu, 09 Mar 2023 08:02:12 +0000
Received: from 71d7470ec30e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B415D238-A52B-4100-9011-AD233A8B9627.1; 
 Thu, 09 Mar 2023 08:02:06 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 71d7470ec30e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 09 Mar 2023 08:02:06 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB9265.eurprd08.prod.outlook.com (2603:10a6:20b:5a1::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Thu, 9 Mar
 2023 08:02:04 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 08:02: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: b733b446-be50-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6z2eCYOhAuCy4nY35X0DY8hI2xNdIE+3LHpKqXRYrVY=;
 b=8J8TP3jac4TKHLDOXdsLcGhu6L3BW/MHpfnD5N+tiPqwq9TBukNhLZXjPre+khoaTIbGsg9+zfVuHD0rz81EALDAJEDkWbCUKrIjAqxkW7nS2l9Q069kpGuxR0NneWUXjIam6UKcOsebLpsp7OKCKktzU4gaFY9/pRlKdy23V9k=
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: 203fac07519e7dc5
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O5ZuNQpM1qwKsn8/46QCCFcJv6UVtGuolObAvc6MXU9XVMmFpXLoiU/FBSatXtnIKsedwnJ8GvpCE+gA+o54ovvTz0btHSeKgjfgYb5Q+v/LJV4XHkJil8WMY6rRpa5ZCq+2d86NfhvIaBT2lzfGKG+mOYvFqriZgzYr97sGJ8kzX3YX4C3E3Ahys1yg8nMPFHUecyGNPP6L9/ED59d3ssRQxxtzdJUc7DocgF4UOJzWpCmSZ43A+jcQ9Td7UQgC3z+iZoUqyUir3U+xQnuHoLyBgQgKbltfwCACTsH7qkPAzBuQLOnkFFOALoffQPf9jMLbEQtJqkPVH40oHYz/fg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6z2eCYOhAuCy4nY35X0DY8hI2xNdIE+3LHpKqXRYrVY=;
 b=j0LBzshbuNKJ5HkIdYej3i5Pvll9KJnqIValukdgSQAOqi7JD2i6JqzmhL/Q3GvaSLcpjpNxqPX+fnp963D/+MVwwzxXEovPXRUlt8FNNORGKMjaf8HVhyCXSKcpN5AHXFP5HE6MaQIlIWtFiDEOqXHSJiTJvz7PoRsKjF0PyLDgJnZDgdiMRmE4saw7mHuv6ADRul2XHjTzAG289iTHYK791YpTnS3s0WxsBJKhh3PcadxCvJgGx6ClbxfoPqUw8NaKOzT1/hJzaBV/FjYmOJzC42dPTzHm1SPr1d2h0jy5igq+Fb/ZCWE5aPlAeO02bHB66oNAGzZRXO3FecGSTQ==
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=6z2eCYOhAuCy4nY35X0DY8hI2xNdIE+3LHpKqXRYrVY=;
 b=8J8TP3jac4TKHLDOXdsLcGhu6L3BW/MHpfnD5N+tiPqwq9TBukNhLZXjPre+khoaTIbGsg9+zfVuHD0rz81EALDAJEDkWbCUKrIjAqxkW7nS2l9Q069kpGuxR0NneWUXjIam6UKcOsebLpsp7OKCKktzU4gaFY9/pRlKdy23V9k=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Andrei Cherechesu
	<andrei.cherechesu@nxp.com>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts
 by names
Thread-Topic: [PATCH v1 2/2] arch/arm: time: Add support for parsing
 interrupts by names
Thread-Index: AQHZUN0sbGmRWBiDtEmQnPFLsz5lVK7vc/8AgABafACAAkqcgA==
Date: Thu, 9 Mar 2023 08:02:04 +0000
Message-ID: <B58C926D-25FD-4EB6-A83C-229E72E16181@arm.com>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
 <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
 <alpine.DEB.2.22.394.2303071301300.863724@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2303071301300.863724@ubuntu-linux-20-04-desktop>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|AS8PR08MB9265:EE_|VI1EUR03FT007:EE_|AS8PR08MB6149:EE_
X-MS-Office365-Filtering-Correlation-Id: ba05dd73-4cc2-4281-198d-08db20749764
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:
 3VZWVkrKctIGFpp/RzwJjFNfmbskwv9AMgon8IMMh39cCedFP6mpaHRZJ/xQ6MhmyHKeyXmgb5kQfL1yQMd+PwiVbcfgS3Es5UzP6p6iWBeLt+OBrMPAHX8CXL03FWIab0rJ9cmzh+23I6pNlYdt9B2X+/ciNuzBf06rZY9jaHWESjRVpN3msLzDq8dnUsFK3F19O+o9AtE5phBYRvS0Uo3raO5Yebr6aNB47lqf1NsaD4mXIHVk8VuUR0yek3h8eEu6uzzBIf5F3OGU1l7vKafZyPAsW3v/Zk7XeZWwl/xdelZ8jpqiKBWvNj67mki2K8vKKPcSb/6soJDjDYKxjHOgqQvNZf73CK105e/rtistrk01JZnsGxOIa/o4SUOpuedr+Rxdj7yBPnbuV5Via/i2tj4U3i/iq//AZlYyNzh+I92gRigTSgLBB3V/LbYQmDIk4iL0t5XptDe0ijmUX4sbyQvmdR+KNdSk+0k7mI9oO1KfC1Vu6MYviFoV45wOihokIH4kBdyT41cw1Du8SBLf99539D0xxWxK8eYY1F10iOi36wLm0EgOt51xGT2RiPzv3jFXRpxXsj8Smm5OqbU2hI+RCo6UeI0+meHRmon4zfk0HQsL5V3N0WENCEEjpGqIIKFaJ5qLBNmsPMKNrKguQW6+vs9zfNyX9u9ia1z9JHHleInVYDCNeqbQypA++0l44H3g8+NwlJ1/nBO3n7tgse0+SzXEwRqPoRnhE1s=
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:(13230025)(4636009)(396003)(366004)(346002)(136003)(376002)(39860400002)(451199018)(478600001)(64756008)(33656002)(86362001)(6916009)(71200400001)(66476007)(8676002)(54906003)(8936002)(91956017)(36756003)(66946007)(5660300002)(41300700001)(4326008)(53546011)(38070700005)(76116006)(6486002)(2616005)(122000001)(6512007)(6506007)(66446008)(186003)(2906002)(66556008)(316002)(83380400001)(38100700002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <0B43EFFCC768E246ACC506EA4519B8FA@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9265
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:
 VI1EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e8e68f3f-5a80-4941-5c02-08db20749209
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6ZUdnIN4N2yeMRj3bUt99YfJArgZ5J/DKJHfINZ88+WzztT52dUpgENg/DmXU5FL5XqTuL72hk69XfkZn4eJlLynwGZFHvLqPYpbouMZSpmByyl+ESCzrk/E3v9v6R7icQiAEnLn2N6yEc9PzEotbv6uXHhHmJ12vsAi18Hb5DYEqIST+SJhqqqcgwY94EWVpt5OVu+KjAKVyAhUJRLrbVQhJZjk84wUo/z9tyI3Ttxwt+M02Ca8PZtUfIWEh5dzeXRhnbkc04vvzCJolcg7u06pGcSk2XW1b24cmaBXADVYJwA21dWUN00//WsYGqFcoO1vv0lVXB2HyvE/u7AJldakWdFiqw9rbnEVpT/aDt0HNZQ3m4AONIZE8H0jwERZ1Vf266KIWGLES7y4R3DiXxHYtRfZXpbW+orRLpIwFKguXWhplgEgW6C/cCGwCvmFrTcAv0O8/qv10DSirOGc+XY3kSGKhQEkbUlLEYoAdx8CiHlfOYYTI2DUhtIlkLxmpKm9mYeJZzBauOGx/COlRT+/L43tve2+l7ywe7apx453mWrjHxGEyDgWdV0ZGQHVQq31DwiqmlFn1eiGvK5tNnkc/q/yYwDSTnVqM34PxC/4MERK6iSsBYPoRMqdOuYbceydgKCUTKTH+kKUBJQuSIMcYTfj3WZRXqyE1GBafIPuE6bvkmcGrLT0cB5m2roU7h15OaocaAdDCL/CFIDHIw==
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:(13230025)(4636009)(39860400002)(376002)(136003)(346002)(396003)(451199018)(40470700004)(36840700001)(46966006)(5660300002)(6862004)(8936002)(2906002)(41300700001)(70206006)(83380400001)(8676002)(4326008)(316002)(81166007)(53546011)(47076005)(6506007)(54906003)(478600001)(40460700003)(6512007)(6486002)(33656002)(40480700001)(336012)(186003)(2616005)(86362001)(70586007)(82310400005)(356005)(26005)(36756003)(82740400003)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 08:02:13.0178
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ba05dd73-4cc2-4281-198d-08db20749764
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:
	VI1EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6149

Hi Stefano,

> On 7 Mar 2023, at 22:02, Stefano Stabellini <sstabellini@kernel.org> wrot=
e:
>=20
> On Tue, 7 Mar 2023, Bertrand Marquis wrote:
>>> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu@oss=
.nxp.com> wrote:
>>>=20
>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>=20
>>> Added support for parsing the ARM generic timer interrupts DT
>>> node by the "interrupt-names" property, if it is available.
>>>=20
>>> If not available, the usual parsing based on the expected
>>> IRQ order is performed.
>>>=20
>>> Also added the "hyp-virt" PPI to the timer PPI list, even
>>> though it's currently not in use. If the "hyp-virt" PPI is
>>> not found, the hypervisor won't panic.
>>>=20
>>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>> ---
>>> xen/arch/arm/include/asm/time.h |  3 ++-
>>> xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
>>> 2 files changed, 24 insertions(+), 5 deletions(-)
>>>=20
>>> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm=
/time.h
>>> index 4b401c1110..49ad8c1a6d 100644
>>> --- a/xen/arch/arm/include/asm/time.h
>>> +++ b/xen/arch/arm/include/asm/time.h
>>> @@ -82,7 +82,8 @@ enum timer_ppi
>>>    TIMER_PHYS_NONSECURE_PPI =3D 1,
>>>    TIMER_VIRT_PPI =3D 2,
>>>    TIMER_HYP_PPI =3D 3,
>>> -    MAX_TIMER_PPI =3D 4,
>>> +    TIMER_HYP_VIRT_PPI =3D 4,
>>> +    MAX_TIMER_PPI =3D 5,
>>> };
>>>=20
>>> /*
>>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>>> index 433d7be909..794da646d6 100644
>>> --- a/xen/arch/arm/time.c
>>> +++ b/xen/arch/arm/time.c
>>> @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
>>>=20
>>> static unsigned int timer_irq[MAX_TIMER_PPI];
>>>=20
>>> +static const char *timer_irq_names[MAX_TIMER_PPI] =3D {
>>> +    [TIMER_PHYS_SECURE_PPI] =3D "sec-phys",
>>> +    [TIMER_PHYS_NONSECURE_PPI] =3D "phys",
>>> +    [TIMER_VIRT_PPI] =3D "virt",
>>> +    [TIMER_HYP_PPI] =3D "hyp-phys",
>>> +    [TIMER_HYP_VIRT_PPI] =3D "hyp-virt",
>>> +};
>>> +
>>=20
>> I would need some reference or a pointer to some doc to check those.
>>=20
>>> unsigned int timer_get_irq(enum timer_ppi ppi)
>>> {
>>>    ASSERT(ppi >=3D TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
>>> @@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void)
>>> {
>>>    int res;
>>>    unsigned int i;
>>> +    bool has_names;
>>> +
>>> +    has_names =3D dt_property_read_bool(timer, "interrupt-names");
>>>=20
>>>    /* Retrieve all IRQs for the timer */
>>>    for ( i =3D TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>>>    {
>>> -        res =3D platform_get_irq(timer, i);
>>> -
>>> -        if ( res < 0 )
>>> +        if ( has_names )
>>> +            res =3D platform_get_irq_byname(timer, timer_irq_names[i])=
;
>>> +        else
>>> +            res =3D platform_get_irq(timer, i);
>>> +
>>> +        if ( res > 0 )
>>=20
>> The behaviour of the code is changed here compared to the current
>> version as res =3D 0 will now generate a panic.
>>=20
>> Some device tree might not specify an interrupt number and just put
>> 0 and Xen will now panic on those systems.
>> As I have no idea if such systems exists and the behaviour is modified
>> you should justify this and mention it in the commit message or keep
>> the old behaviour and let 0 go through without a panic.
>>=20
>> @stefano, julien any idea here ? should just keep the old behaviour ?
>=20
> platform_get_irq returns 0 if the irq is 0. The irq cannot be 0 because
> 0 is reserved for SGIs, not PPIs. So I think it is OK to consider 0 an
> error.

Problem here is that a DTB might not specify all interrupts and just put
0 for the one not used (or not available for example if you have no secure
world).

So I think we need to keep the current behaviour, might be ok to put a=20
debug print.
What I would think is feasible would be to panic for interrupt numbers we
need only.

Cheers
Bertrand




From xen-devel-bounces@lists.xenproject.org Thu Mar 09 08:51:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 08:51:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508184.782562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paBzZ-00076G-1y; Thu, 09 Mar 2023 08:51:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508184.782562; Thu, 09 Mar 2023 08: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 1paBzY-00075F-Ux; Thu, 09 Mar 2023 08:51:16 +0000
Received: by outflank-mailman (input) for mailman id 508184;
 Thu, 09 Mar 2023 08: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=WFGn=7B=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1paBzY-0006zN-Gz
 for xen-devel@lists.xen.org; Thu, 09 Mar 2023 08:51:16 +0000
Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com
 [2607:f8b0:4864:20::102a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8a139105-be57-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 09:51:12 +0100 (CET)
Received: by mail-pj1-x102a.google.com with SMTP id bo22so1450936pjb.4
 for <xen-devel@lists.xen.org>; Thu, 09 Mar 2023 00:51:11 -0800 (PST)
Received: from localhost ([122.172.83.155]) by smtp.gmail.com with ESMTPSA id
 v18-20020aa78092000000b00597caf6236esm10571382pff.150.2023.03.09.00.51.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 00:51: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: 8a139105-be57-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678351870;
        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=+i0w9WqIL9ZPbYW/Yv5TskuJR8MxXHPruOqgSTtE0fY=;
        b=iItvA+MzNT8mtvCs1pj16AOETtyxbqTr+dOV2gyWwiGrlDOUIbmxTiVtMssA8AGSe0
         ssXoV06reFUqYX2L4ZPPv+dz1lqMKrTx/PmWKAVmXdGbnIPKewkh+WMrQqAfgB2QnUmE
         6pce2D05X0M5Rm2lNGjZv2+sO2UvA6ycCKlOZAoJ7oKmBRYWtg8+kWW4FNwwe9mg6PdC
         LrPJ7WaEqhbB1p9bzfp1xqEVNvIMjvFwn0LyF53RZDubZ8foPyhpJUEygKc8wzSNPnj6
         pJJ4ZeIPwh9sx//Y+qpgWODeO8siuMaVzploDGKCpQBmmMn0zcZb5j2UYyaA7qG3sx61
         VU5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678351870;
        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=+i0w9WqIL9ZPbYW/Yv5TskuJR8MxXHPruOqgSTtE0fY=;
        b=PlwDVkniaDhtkY5cAsRakc9LlX3XzHPwLjGEt7uSt3SMJuzwTRI1C63jVxRQDKJAoR
         1bRYyFgpMBZKozsOIvcqfJ0DmfDlFlrVccBqlofBMu/KSrmIASX2BiSE6a1E6+WtvT4a
         H2Q7jZQ0Dv5C06gRF/m8SoeVfUJFvNX2JUnYDYryd7Qw3HgvJSRf/YMDgcVwEZlgIv+J
         DoPUUgjtUeNz1KInA+LOmUJm+WTRql5UcLWSNYL0JSI2vbMI/ohxNmQkBWz8/KiSyOWq
         3AgQsXHXUJzu7sboWISkLv1PERtSmcvAwybV2DBSfatHrShaPW4uPpUqlyjlQbIFiMuG
         EOzQ==
X-Gm-Message-State: AO0yUKXg8m2hftUWbacbiJwOeXPWOnEUZH3pbtWnBgbk0lmOrXJLdRz3
	RBaMWmUskd4/h1SSG4VeLSmWCQ==
X-Google-Smtp-Source: AK7set8ftWQHv1D5/0RoFpnuh7BmT9reUnqkwdpkJf4bmvLnd2t//tccurlO9OTQd3vpqPWi5PediQ==
X-Received: by 2002:a05:6a20:6a9e:b0:cc:f047:afaf with SMTP id bi30-20020a056a206a9e00b000ccf047afafmr18297962pzb.11.1678351869994;
        Thu, 09 Mar 2023 00:51:09 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: qemu-devel@nongnu.org,
	virtio-dev@lists.oasis-open.org,
	Stefan Hajnoczi <stefanha@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: [PATCH V3 1/2] docs: vhost-user: Define memory region separately
Date: Thu,  9 Mar 2023 14:21:00 +0530
Message-Id: <7c3718e5eb99178b22696682ae73aca6df1899c7.1678351495.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1678351495.git.viresh.kumar@linaro.org>
References: <cover.1678351495.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The same layout is defined twice, once in "single memory region
description" and then in "memory regions description".

Separate out details of memory region from these two and reuse the same
definition later on.

While at it, also rename "memory regions description" to "multiple
memory regions description", to avoid potential confusion around similar
names. And define single region before multiple ones.

This is just a documentation optimization, the protocol remains the same.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 docs/interop/vhost-user.rst | 39 +++++++++++++++++--------------------
 1 file changed, 18 insertions(+), 21 deletions(-)

diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst
index 8a5924ea75ab..1720d681264d 100644
--- a/docs/interop/vhost-user.rst
+++ b/docs/interop/vhost-user.rst
@@ -130,18 +130,8 @@ A vring address description
 Note that a ring address is an IOVA if ``VIRTIO_F_IOMMU_PLATFORM`` has
 been negotiated. Otherwise it is a user address.
 
-Memory regions description
-^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-+-------------+---------+---------+-----+---------+
-| num regions | padding | region0 | ... | region7 |
-+-------------+---------+---------+-----+---------+
-
-:num regions: a 32-bit number of regions
-
-:padding: 32-bit
-
-A region is:
+Memory region description
+^^^^^^^^^^^^^^^^^^^^^^^^^
 
 +---------------+------+--------------+-------------+
 | guest address | size | user address | mmap offset |
@@ -158,19 +148,26 @@ Memory regions description
 Single memory region description
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-+---------+---------------+------+--------------+-------------+
-| padding | guest address | size | user address | mmap offset |
-+---------+---------------+------+--------------+-------------+
++---------+--------+
+| padding | region |
++---------+--------+
 
 :padding: 64-bit
 
-:guest address: a 64-bit guest address of the region
+A region is represented by Memory region description.
 
-:size: a 64-bit size
+Multiple Memory regions description
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-:user address: a 64-bit user address
++-------------+---------+---------+-----+---------+
+| num regions | padding | region0 | ... | region7 |
++-------------+---------+---------+-----+---------+
 
-:mmap offset: 64-bit offset where region starts in the mapped memory
+:num regions: a 32-bit number of regions
+
+:padding: 32-bit
+
+A region is represented by Memory region description.
 
 Log description
 ^^^^^^^^^^^^^^^
@@ -952,8 +949,8 @@ Front-end message types
 ``VHOST_USER_SET_MEM_TABLE``
   :id: 5
   :equivalent ioctl: ``VHOST_SET_MEM_TABLE``
-  :request payload: memory regions description
-  :reply payload: (postcopy only) memory regions description
+  :request payload: multiple memory regions description
+  :reply payload: (postcopy only) multiple memory regions description
 
   Sets the memory map regions on the back-end so it can translate the
   vring addresses. In the ancillary data there is an array of file
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 08:51:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 08:51:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508182.782548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paBzX-0006nz-JX; Thu, 09 Mar 2023 08:51:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508182.782548; Thu, 09 Mar 2023 08:51:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paBzX-0006ns-GA; Thu, 09 Mar 2023 08:51:15 +0000
Received: by outflank-mailman (input) for mailman id 508182;
 Thu, 09 Mar 2023 08:51: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=WFGn=7B=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1paBzW-0006nh-EU
 for xen-devel@lists.xen.org; Thu, 09 Mar 2023 08:51:14 +0000
Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com
 [2607:f8b0:4864:20::102d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 886bbb01-be57-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 09:51:09 +0100 (CET)
Received: by mail-pj1-x102d.google.com with SMTP id l1so1472488pjt.2
 for <xen-devel@lists.xen.org>; Thu, 09 Mar 2023 00:51:08 -0800 (PST)
Received: from localhost ([122.172.83.155]) by smtp.gmail.com with ESMTPSA id
 nu14-20020a17090b1b0e00b002339195a47bsm1067154pjb.53.2023.03.09.00.51.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 00:51: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: 886bbb01-be57-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678351867;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=YtzXHGHMS64VogkrKd3Ei8P73aUrg9lW5cX1ATCVQYo=;
        b=eFOuzm8nD7a5HidSqF7eFTA1nvdUol1ji6xW6YQNmLzmVO7oLym7uEt/O8FALVrsrj
         FzGlJjpPSszYsxPfAC8PXdystVBhFyStdRVTiCArCS3CggGUweI2tlTOyMSQBYSRkcbw
         +UaYc1kRN5AU+H4rRcqssppbBmAOojcXwUJK1m7XOCCn2gW5xHw/gDnmt++tkFC1J7jg
         GKzpm1mPVnLWFhiknRcHxUlu3OUW1UPkZbfCAPQ+jQnUaW7AGcWGZ5399JShxvbT0AEf
         dvU+zvi5rRSvbOIkxyV+9cGwEskJG8HmsyNDAxavhak1+JB/Oq2eNJMI9On6emuN25mK
         fc2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678351867;
        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=YtzXHGHMS64VogkrKd3Ei8P73aUrg9lW5cX1ATCVQYo=;
        b=mNO9jUet/gTpTcKVkZQfuIon+sxBNA2Ymnv8Xjr6itHj9F8VrkbZCcNxlLaf83jQAy
         ODtRtKXJVDHBmXm70EWjy4ewZ1J2hV+wB802kqoXLqALpfU0S8yiIfc15iulTJe0aRHe
         uiyTtBq/klxL7cN12wt5UfU7q42PM4Dyk3HNY/2fVmSBs19Y9SIIS9tSN5AJU8Mq2WLF
         KdfWAtGYRbUyh279bdsuTSGs4rCZlYX0gs14zoebkv6jvAw6oP5SPCbmtsHnqY2AuPwC
         t86h+k/1b84Sh3xsOoSFV13bK+vJ5T8Mkfuz7uZVzT9EKCGuP3RBG9bPyXNc1T633mCS
         CVkA==
X-Gm-Message-State: AO0yUKXa3+0r7FOH08VTipdD94vIFEfLPQQT9vvDd/f5a7OD7Sg9BhVo
	ofe3BlGkzyZD0JfI0eZbVTroOQ==
X-Google-Smtp-Source: AK7set82c8nTI8LDr+yjMnggASdbq6ivX+wK6RPkhvCxpvT+V+TAj3Gj4shp7wy6TtmXW50qCtK/Eg==
X-Received: by 2002:a17:90b:4a4c:b0:237:9cc7:28a4 with SMTP id lb12-20020a17090b4a4c00b002379cc728a4mr22372080pjb.14.1678351867185;
        Thu, 09 Mar 2023 00:51:07 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: qemu-devel@nongnu.org,
	virtio-dev@lists.oasis-open.org,
	Stefan Hajnoczi <stefanha@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: [PATCH V3 0/2] qemu: vhost-user: Support Xen memory mapping quirks
Date: Thu,  9 Mar 2023 14:20:59 +0530
Message-Id: <cover.1678351495.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hello,

This patchset tries to update the vhost-user protocol to make it support special
memory mapping required in case of Xen hypervisor.

The first patch is mostly cleanup and second one introduces a new xen specific
feature.

V2->V3:
- Remove the extra message and instead update the memory regions to carry
  additional data.

- Drop the one region one mmap relationship and allow back-end to map only parts
  of a region at once, required for Xen grant mappings.

- Additional cleanup patch 1/2.

V1->V2:
- Make the custom mmap feature Xen specific, instead of being generic.
- Clearly define which memory regions are impacted by this change.
- Allow VHOST_USER_SET_XEN_MMAP to be called multiple times.
- Additional Bit(2) property in flags.

Viresh Kumar (2):
  docs: vhost-user: Define memory region separately
  docs: vhost-user: Add Xen specific memory mapping support

 docs/interop/vhost-user.rst | 60 ++++++++++++++++++++++++-------------
 1 file changed, 39 insertions(+), 21 deletions(-)

-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 08:51:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 08:51:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508183.782558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paBzY-00072t-Qa; Thu, 09 Mar 2023 08:51:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508183.782558; Thu, 09 Mar 2023 08:51:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paBzY-00072m-Nc; Thu, 09 Mar 2023 08:51:16 +0000
Received: by outflank-mailman (input) for mailman id 508183;
 Thu, 09 Mar 2023 08: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=WFGn=7B=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1paBzX-0006nh-49
 for xen-devel@lists.xen.org; Thu, 09 Mar 2023 08:51:15 +0000
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com
 [2607:f8b0:4864:20::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8bb1fc1b-be57-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 09:51:14 +0100 (CET)
Received: by mail-pl1-x62b.google.com with SMTP id h8so1235545plf.10
 for <xen-devel@lists.xen.org>; Thu, 09 Mar 2023 00:51:14 -0800 (PST)
Received: from localhost ([122.172.83.155]) by smtp.gmail.com with ESMTPSA id
 kt16-20020a170903089000b0019a7385079esm11058153plb.123.2023.03.09.00.51.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 00:51: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: 8bb1fc1b-be57-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678351873;
        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=ETLRpO4UaRJv+Jq2cQ1jDXzLWWERHBPOjdPoPBs2HQY=;
        b=kaY7yb4BgtrBRVTJaGL5YIn9l8IoTa4lyVgMiGE+LSI7rvLuSg3awOMLMnJLOKt+lH
         W6d6qR1BZdYIAWI86ipKF6SAvHJt12FDfZXzQex6uuHUqOU7GSMF4kJO+V+fxbDxpS9X
         1dJ3CqLWQIk1MgmIX8taEexVVxGkBm/1PAv3hF+VF4Dlx80Hf3qHflMdy/POb2dqLAQn
         i69WPePj9IV5csX+pp+JjQj9I7BQIWVsygdYSUfiVRefrtYWhnYRgXKGdJIOd+6SyfKz
         C27SGThUJCnUOCTvUfZydDQw+hvdAW4FM7Ke9ONCK8itnaWY98VCIDjqH3mAa3AaK+0A
         026g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678351873;
        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=ETLRpO4UaRJv+Jq2cQ1jDXzLWWERHBPOjdPoPBs2HQY=;
        b=bb3Ui6ubpIkJokpN6QE8HXIdtxxjChW9KclDwjhshlHb7LdXwIgPMpi6s2/EXozJIk
         ESwX86wVecZTO9bbZ9bra9MXMuSPHh19IpI730w0ZB4gxhBMM0JVcz3gx+CEiJ4U2kYn
         wdSv6Kmb7O6SOw2gVlqibJWLisZFobkM+/ptdtAE95qhSrAOOG//kpp6dENGSJq1g+Yg
         UEcP+4n4umfm/XZ5t3VoRLnfd9DouPbhFtghqo2geAlkoFNc2HbhA8vMFz4eApKpOXfH
         4esuYwY3xTeU85CabOQ7RZbO6wA4yFVM7pO/EWnNn7Vu7ll+SI7MoGID7ASNSQr0rqlS
         4aXA==
X-Gm-Message-State: AO0yUKXkf/dFMCCcOZeuqINOm5b700xOPyJDPoWK1Vs5jxouKwtfxVsj
	YBFEZKTKEX4VYmt5qB+92VMA1g==
X-Google-Smtp-Source: AK7set/6Djb1zMP9YhPTkWppkZDJ0L3CO0duyd+NyeHjm4Zil4YeTAqUaIBzL/6AzT6fjqaHkZW0kA==
X-Received: by 2002:a17:902:c14c:b0:19d:74c:78e4 with SMTP id 12-20020a170902c14c00b0019d074c78e4mr18866811plj.55.1678351872801;
        Thu, 09 Mar 2023 00:51:12 -0800 (PST)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: qemu-devel@nongnu.org,
	virtio-dev@lists.oasis-open.org,
	Stefan Hajnoczi <stefanha@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: [PATCH V3 2/2] docs: vhost-user: Add Xen specific memory mapping support
Date: Thu,  9 Mar 2023 14:21:01 +0530
Message-Id: <6d0bd7f0e1aeec3ddb603ae4ff334c75c7d0d7b3.1678351495.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
In-Reply-To: <cover.1678351495.git.viresh.kumar@linaro.org>
References: <cover.1678351495.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The current model of memory mapping at the back-end works fine where a
standard call to mmap() (for the respective file descriptor) is enough
before the front-end can start accessing the guest memory.

There are other complex cases though where the back-end needs more
information and simple mmap() isn't enough. For example Xen, a type-1
hypervisor, currently supports memory mapping via two different methods,
foreign-mapping (via /dev/privcmd) and grant-dev (via /dev/gntdev). In
both these cases, the back-end needs to call mmap() and ioctl(), with
extra information like the Xen domain-id of the guest whose memory we
are trying to map.

Add a new protocol feature, 'VHOST_USER_PROTOCOL_F_XEN_MMAP', which lets
the back-end know about the additional memory mapping requirements.
When this feature is negotiated, the front-end will send the additional
information within the memory regions themselves.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 docs/interop/vhost-user.rst | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst
index 1720d681264d..5a070adbc1aa 100644
--- a/docs/interop/vhost-user.rst
+++ b/docs/interop/vhost-user.rst
@@ -145,6 +145,26 @@ Memory region description
 
 :mmap offset: 64-bit offset where region starts in the mapped memory
 
+When the ``VHOST_USER_PROTOCOL_F_XEN_MMAP`` protocol feature has been
+successfully negotiated, the memory region description contains two extra
+fields at the end.
+
++---------------+------+--------------+-------------+----------------+-------+
+| guest address | size | user address | mmap offset | xen mmap flags | domid |
++---------------+------+--------------+-------------+----------------+-------+
+
+:xen mmap flags: 32-bit bit field
+
+- Bit 0 is set for Xen foreign memory mapping.
+- Bit 1 is set for Xen grant memory mapping.
+- Bit 8 is set if the memory region can not be mapped in advance, and memory
+  areas within this region must be mapped / unmapped only when required by the
+  back-end. The back-end shouldn't try to map the entire region at once, as the
+  front-end may not allow it. The back-end should rather map only the required
+  amount of memory at once and unmap it after it is used.
+
+:domid: a 32-bit Xen hypervisor specific domain id.
+
 Single memory region description
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
@@ -864,6 +884,7 @@ Protocol features
   #define VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS 14
   #define VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS  15
   #define VHOST_USER_PROTOCOL_F_STATUS               16
+  #define VHOST_USER_PROTOCOL_F_XEN_MMAP             17
 
 Front-end message types
 -----------------------
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 08:51:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 08:51:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508189.782578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paC00-0008BP-CC; Thu, 09 Mar 2023 08:51:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508189.782578; Thu, 09 Mar 2023 08: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 1paC00-0008BI-90; Thu, 09 Mar 2023 08:51:44 +0000
Received: by outflank-mailman (input) for mailman id 508189;
 Thu, 09 Mar 2023 08: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=WFGn=7B=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1paBzz-0006nh-CW
 for xen-devel@lists.xen.org; Thu, 09 Mar 2023 08:51:43 +0000
Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com
 [2607:f8b0:4864:20::102a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9cb7755b-be57-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 09:51:42 +0100 (CET)
Received: by mail-pj1-x102a.google.com with SMTP id
 fr5-20020a17090ae2c500b0023af8a036d2so4523512pjb.5
 for <xen-devel@lists.xen.org>; Thu, 09 Mar 2023 00:51:42 -0800 (PST)
Received: from localhost ([122.172.83.155]) by smtp.gmail.com with ESMTPSA id
 h4-20020a170902f54400b0019a6cce205bsm11133655plf.154.2023.03.09.00.51.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 00:51: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: 9cb7755b-be57-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678351901;
        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=IoLKXeFqXx7KD6iGKmnIOLpPoXbmwYAjlvz4PZEVkSA=;
        b=oI8i8uA/fJ4fx70BP01mQaO1LIeI5Vx3YvB8invcNYwm1oxVme9UEM2+bpZ0C8DltH
         Tmk532tfIlDCJq3ERFUJ5Fr0WFLdOODZ8C8uUs0oHvU7HP44xRE/CWLpdI3qZ/sY+RBo
         0oWINPG2tk2PsX/Qf+08gh/1hnJ0D3oSNZJ8C/yKCCiCQIo/x4NySCgmw0D+aFokkEh5
         Un1/MdTbafvIumV3W1L6SF3RlqTnZ6SbJtk+2fxDOsGv2V7/ojSEtrGDB68zg9hH83ew
         JPsKkHJI6Fc/FNa7cXlcqWIQ5FhzS2D7lN5ALpreItij+kFLQUrHftGBw5K9hEAV1Fm/
         1Rnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678351901;
        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=IoLKXeFqXx7KD6iGKmnIOLpPoXbmwYAjlvz4PZEVkSA=;
        b=JozngmhRRDkUh+yqkeEIoLinU2/6EgsXprJDOKKnsTxGhhaop6xD+kIm7RL07EAOnw
         UOkrukzyoDCxIfeTvXP/kAnw5eouwGzR1vJM4vFDgGmolRwoDpHeAtmykPzqfsL3+rk6
         R+X3IWkuIiOvlgfLdegwcgf27Eos3V3ZRB0g6eztbWxFEclZhwvzdNIBNxFQ8RtUH6Zd
         mlVHhuPpB3RghZp8mEB4vyrmTF/YlaL1yLoXk93uzbGbqYyvLEHYj0aC5S5k6QgyU/Ug
         EVkAwaq3bxXjnw4G7Xz4eXJXlIjnJ/5Q7bgWtR+Hx9z5+7MpX6H+1s0Cb4z5nQjrvmrQ
         eJJw==
X-Gm-Message-State: AO0yUKXk2WwmvQn1nsM+azfsSf/GR0yfs95yrfg8Hr1TbZ5gp0EI9ZR0
	0iH4KcVYna819Sqbf5EWyWXEirTZDDNaPazvc30=
X-Google-Smtp-Source: AK7set+XV8TLjm8RgYTqNTMsI0CUUR3mMd7SAtAvTG0E9Jgb0eD9NpjnCNEhIm4iXn1YYGJQOpSeoQ==
X-Received: by 2002:a17:902:e80f:b0:19e:747e:813e with SMTP id u15-20020a170902e80f00b0019e747e813emr23672384plg.23.1678351901368;
        Thu, 09 Mar 2023 00:51:41 -0800 (PST)
Date: Thu, 9 Mar 2023 14:21:38 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH V2] docs: vhost-user: Add Xen specific memory mapping
 support
Message-ID: <20230309085138.jsn5qwlwvtbtjszv@vireshk-i7>
References: <7c3c120bcf2cf023e873800fd3f55239dd302e38.1678100850.git.viresh.kumar@linaro.org>
 <20230306153451.GB51288@fedora>
 <20230307054336.uvky5d7q2qqlxdcv@vireshk-i7>
 <20230307162237.GI124259@fedora>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230307162237.GI124259@fedora>

On 07-03-23, 11:22, Stefan Hajnoczi wrote:
> VHOST_USER_IOTLB_MSG probably isn't necessary because address
> translation is not required. It will also reduce performance by adding
> extra communication.
> 
> Instead, you could change the 1 memory region : 1 mmap relationship that
> existing non-Xen vhost-user back-end implementations have. In Xen
> vhost-user back-ends, the memory region details (including the file
> descriptor and Xen domain id) would be stashed away in back-end when the
> front-end adds memory regions. No mmap would be performed upon
> VHOST_USER_ADD_MEM_REG or VHOST_USER_SET_MEM_TABLE.
> 
> Whenever the back-end needs to do DMA, it looks up the memory region and
> performs the mmap + Xen-specific calls:
> - A long-lived mmap of the vring is set up when
>   VHOST_USER_SET_VRING_ENABLE is received.
> - Short-lived mmaps of the indirect descriptors and memory pointed to by
>   the descriptors is set up by the virtqueue processing code.
> 
> Does this sound workable to you?

Sounds good. I have sent a proposal (v3) based on that now.

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 09:03:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 09:03:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508195.782588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paCBO-0001lG-Gj; Thu, 09 Mar 2023 09:03:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508195.782588; Thu, 09 Mar 2023 09: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 1paCBO-0001l9-CE; Thu, 09 Mar 2023 09:03:30 +0000
Received: by outflank-mailman (input) for mailman id 508195;
 Thu, 09 Mar 2023 09: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=wtzB=7B=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1paCBN-0001l3-70
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 09:03:29 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20630.outbound.protection.outlook.com
 [2a01:111:f400:7d00::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41034f0c-be59-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 10:03:27 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DUZPR04MB9968.eurprd04.prod.outlook.com (2603:10a6:10:4d8::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Thu, 9 Mar
 2023 09:03:25 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 09:03: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: 41034f0c-be59-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dHHlG1grMkejHpLJ/7/GRb+Ne0+NNCDBpqu+f/ZiJNTQ3TbLVZtSwX93T5s3X43DngRpJOVaaaHOrNv/R1kEQLcxCB8qgtmGmALCZHC3ppJbqF9xdLL3CJ0uEkVGRg8QOxeobYEoosD3KNgzo2AY9A1P8f/9ScXg3gwDlKq7pKA8VWQz9FwuKdyNefapZnY/AzdIOsPf3rxqhsswxfbRXGlj+W5xo2E32zRLHXT/UV1uOk+oT9RQM1PdZexMoenBV3TqDWGjI+cvo886r0INFobLUx4augL+htcrlJTgnjJuMWfKFjwhHt4ptF6socJzF7pBgGtENZF6QR1Ylo+f1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IvrPsUqeclVuqnRYHwwmCDeuyZvzMYQ9zKT3YS7imwU=;
 b=n+lg/B4vFDCpBPtEq8xDOyteSaHKKVvHOK6rbR5JUrXgSPhdNdJZT9BE9IwNBhuLpvhzedCERu2xWpEtt+CMB8+kuTQPj9aFhBFgx0ODXlcnBkTp03MfUUz8gHNBNcaD0Ig3equmLvflNF/dinhnVePXSsQhHuMTluylqJtOWfXEfY+BShy1dYGiVA1aA7dpl2wYQEUxihfm93mnQFaNZdKe6wdBnYu812MdFI7WI/7lFAYesX/uv4XtDmR2QBK9NjU80eceb0g/J53xo2Y+UrMd0KAgVBMdhBFtrLwuMefqfgSM4dpfIt+lT2p/fZGb661I6yM4RAL23XiBtFsQiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IvrPsUqeclVuqnRYHwwmCDeuyZvzMYQ9zKT3YS7imwU=;
 b=a7v7Tdhs2bN0St9PU4KGWSiptkem4IyXHyHnDSMNdDhC0f4p+dLGwM70ybpgJ2/7uN53L5ObBdHDVHQuCnwfuVfBl6xEbJHbc+rQ5EqNEnQOMJgpQ29c34G+Vm9vlaJFqz3mu7ZyouV+2nwjlS3iLJSgIZ6CIk/VXTx0lOhObm46GCyUcoZFw0C0//vFPaOeBzGaAydDb9UUiJmKqHYuCk1y7D7pbw83Zc9ZSSm3pvDFFIUXAAW/8NfbdnriZ9QSjN70u0KElcH6GbDWhH+EhZYmdjfPqBVJ4ydF234/sAnybasgDW40AGwIeoT+YebvR/np4nRWnwdGkSXL85uPRg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
Date: Thu, 9 Mar 2023 10:03:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [BUG] x2apic broken with current AMD hardware
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: xen-devel@lists.xenproject.org
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0131.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DUZPR04MB9968:EE_
X-MS-Office365-Filtering-Correlation-Id: adac2c97-df46-492a-7340-08db207d2401
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DjA5feu6mfNQsgqDbcnQ6EcwQ3fUBAurq6tE0PZtsuCtmXz6aMieAk219lwX/w+/WRbCJOcFS40eZwuyzqaQpGVglVoCQMcDHQCeLX/4lLDfZqaL2Ny0iEsU7iSW8sO2KsmG/U+hC5EtxnPEfpd9pIlauAI6WUL0Ic8OQcp834ojgRdX6Os0r9hShMy/wA+pLhHBLnqOG5aEEhu9/iN13gj52uwD3C/CvYb4dngBXHFGyvivQDBZozlZkMTppH6P3wA+Au7ci/co7EcBz0LP0MghNVoCpN1OEFVkBpf0c/IlhJGeXNPbqtoPh/bSe+45OLauKlbou/Vwrwuw04Pz4CuEzHmVA79SSJCfqcq0GtTGEEAdLpRkJeuLRfKEtfIdud6zru7FrVpdTg05NYoG35SW0lv7J0tjGgYTxRJssBc1jHbiPD7O7SK8ZxSQiHom0zMLr2h3+xsmggu9IMGxUi5AphPKd+jL8eTtU2Ltj2UVz94NQv8aO+v9v+P/e/XqU13amBfqYEB4sYCIXEB+l5iffvW1iVt3GX+apOMYh+cutp/xL8baV562dF2yNIvUazoBt/mPkFHn4j722kyoIdH9Y5p9HZ1fqM2b1Lt4P5n4q0TvqfSRdtcF/KSGhUG3g+lhDDxiZEAwpWzBaMtbQFog8aU4HoJchOp5V63WQQN9s3fy+SJsgJxyihFgGMDuSOI8SMSWxO1NivOJIg8rDtdlE8ZUUNCtpd1ztSiyUDY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(136003)(396003)(346002)(376002)(451199018)(31686004)(2616005)(66556008)(66476007)(8676002)(5660300002)(186003)(66946007)(41300700001)(53546011)(8936002)(26005)(36756003)(2906002)(38100700002)(966005)(86362001)(31696002)(6486002)(478600001)(4326008)(6506007)(6512007)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cElENFR5b3JGa0ZRb1R0ZDUzeExLcmFFVVBaRisyTTNsSko2UW9qcUNvSURN?=
 =?utf-8?B?UHNhL1FTNnBuQ2Z0UXhqdC9QK1NJaTBEazdJRVRpWlRVUjNqdW9BNDNnNHFY?=
 =?utf-8?B?UVpkVUt3T01nK0hKVWZJMER6Szl6K3h4SFRYakxxZHVpWnNFd01NU2FnTzFK?=
 =?utf-8?B?L25NWDJ0YWlHek9ySmlBTmNhemVNQ0JSUFhjd2g3UHFiTjhyQlI4czFtSzFP?=
 =?utf-8?B?dVowQjhsTDRyWjdSR0FuUGFTMEFKZEhqMmlWMVU0YlhteUVmZUlKQWlwcHhF?=
 =?utf-8?B?R3lRVURTcGlTMG5PdlFOSkh0ZENlZFpob0xLTGxTYmZvc3ZYQmlWNjVhQ2ds?=
 =?utf-8?B?dmltYU0rK1dtaGRJQSs1WVlJbUF5Ri8wR3VKVEs0d0R1RTl5UXVlMzEzM3Ni?=
 =?utf-8?B?aVBzd093aStqK3QvK2RXaFBjbzAyb3dmQmt5OUY5NTlZMVA5TkRFa1l4eHAw?=
 =?utf-8?B?TUJhb3c2dmpuclBoQzZtKzZ5SS9sU05Fc092WFhrTVI1UGkxMHFPWGNualUv?=
 =?utf-8?B?Zkl1R2V4NVFiMFhMU1NhbTdMNllERUE2cDRRRHVwRzJpVnVxZnJ1K0VIdnZD?=
 =?utf-8?B?MFFsazB3K09WSnNpUEpPU1JybWpzVnhEeFpZd0NnMG9wZUx2NWszaUlTZkxo?=
 =?utf-8?B?RVFWNU9GYiszMS9tWlNEQktSU2QrTGlJWGpqdjJzWVdyUnA0Y0k3Rk5KclB4?=
 =?utf-8?B?bkxWa3h4SVlWT2N4WUdIM0hsUDhPVk1uaVRuQ3FnWWJkVEpGRUF3VHFIU013?=
 =?utf-8?B?dlZOTGpjb2NUQUMzZTlEYUFzYzZVeGdSOHBPNUZrcmhoM1M1aFNFYXVqZDdH?=
 =?utf-8?B?N2VOblljVEdmRjJkc3hZbHZQdEdoYjlIUDY2aDVlaS9DTXFOdzJoSjNybVZx?=
 =?utf-8?B?UmN5N3UrWHF3ejlZdWxqMklZK0F1RGtVY1BYR25lbVVlcmJaUHUyN0hEQVFC?=
 =?utf-8?B?R1EvWnJ2Z3docy94R1hvbG4vd2JvWVl0cEFBSHFHL0ZuR0lkbnlCanordTZB?=
 =?utf-8?B?VW5TTUZOUEhrR1pyQnplRE1EeTZ1MVdraFN6SGJNbGsxemtnMmZjL1dVRW9Z?=
 =?utf-8?B?alhWWFVISEdpSisxMHk5bnVHM0Q4dkdzNGRDQzNtajlzN2tiWC84MFo4b3JF?=
 =?utf-8?B?WjVBOC9yMFlNaDhuNjFGUVJpOEUzSGpKdzRsZkg5eXVVZjVjLzR0b3hMV1hs?=
 =?utf-8?B?anp3eHpFQ0tSVjEwNG9iRnpLcTMyNkRXcWl3QWpCOU9qRzJ3WmdGek9wdGEr?=
 =?utf-8?B?Lyt6RUZOTXdyZjkzOG5yQVJHSFpzVGpONnVScHZWK3R0U1JkT1laYVhzNm00?=
 =?utf-8?B?d2tXV1A3b1dtK3grMWMydnRJUDYrcXMrbmRVbHF5TjU2QzhIK2pqdm1FMHpj?=
 =?utf-8?B?WmovcnoyZ1d6aEhwc0RxTThXa2xoUkNJdnd0VEV6aHM0cjduNDhqMFhITjdt?=
 =?utf-8?B?dVFzTEFGdjVqOFMrM2pjSWV3RVorcDR4UlJnemNaL29oQ21TMHFMVk15cU5m?=
 =?utf-8?B?SjNyaGY3aVB5NWVvQktCL1VoYnAvamVCaU9kbHhqNVZRTHd5NzZmZ2pKZmpr?=
 =?utf-8?B?dkIzYlU2VENQcHkvTEdFQ1EvMm9DTTRobStBbndmck5TbzlkckVBTkpDMzUx?=
 =?utf-8?B?TGlMRXYvd0xIbE5VRG1JNEszNWw4a2ZieXlGNklneHFLUTljdWZid2lJQXd5?=
 =?utf-8?B?L3BzYitqL095UzMvcDBoTFg2K0QwT3AxaVQ1TXgveGtORDF1U2ZZVG1lRmIw?=
 =?utf-8?B?MnRhVEw0VS84cDhSeWNwTDMyUFJ3bmJBc0tyK1BGNVpOeXVxbGJPTVBUaXFY?=
 =?utf-8?B?dFR2LzYzNnNFR3hmbU9QMzFWd0o0dWtoWWZrZDhCeTRjNW0rME1MKytwdVNZ?=
 =?utf-8?B?aGZFNlpyUW9kcysxektmQ25kUXBVempIeDM2Z3VsUkcwT2cxbXVJb3VVZ1hy?=
 =?utf-8?B?b0s3SUtZb0VkWWNRVEp2SDMwSFNsQU9XRDhWTm5Yd29RNGRtZmhFZXRxcjFn?=
 =?utf-8?B?MlFMZU1FbGIrTThnZTNmM05oM296enFvYkhJQkNqUk1Pd3lIQ3FHRm11UC9F?=
 =?utf-8?B?RVU5Mmc4Y3VnTU93bnA3ZjNQTmJxeHdnQk9pdXYydzVMOTFFZGtVRDVreGNR?=
 =?utf-8?Q?i3lyaNMrzAC2TlPjgurOv/ExW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: adac2c97-df46-492a-7340-08db207d2401
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 09:03:25.2163
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wlYHdpf9kdOYtEgmLIvVmxIT0hHLEppK6iI+f/VMTWTGT901H56tMh3KYz/4Kt+zLI7APDY1Rz4XdNljsp3n+Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9968

On 09.03.2023 00:08, Elliott Mitchell wrote:
> On Wed, Mar 08, 2023 at 04:50:51PM +0100, Jan Beulich wrote:
>> On 08.03.2023 16:23, Elliott Mitchell wrote:
>>> Mostly SSIA.  As originally identified by "Neowutran", appears Xen's
>>> x2apic wrapper implementation fails with current generation AMD hardware
>>> (Ryzen 7xxx/Zen 4).  This can be worked around by passing "x2apic=false"
>>> on Xen's command-line, though I'm wondering about the performance impact.
>>>
>>> There hasn't been much activity on xen-devel WRT x2apic, so a patch which
>>> fixed this may have flown under the radar.  Most testing has also been
>>> somewhat removed from HEAD.
>>>
>>> Thanks to "Neowutran" for falling on this grenade and making it easier
>>> for the followers.  Pointer to first report:
>>> https://forum.qubes-os.org/t/ryzen-7000-serie/14538
>>
>> I'm sorry, but when you point at this long a report, would you please be a
>> little more specific as to where the problem in question is actually
>> mentioned? Searching the page for "x2apic" didn't give any hits at all
>> until I first scrolled to the bottom of the (at present) 95 comments. And
>> then while there are five mentions, there's nothing I could spot that
>> would actually help understanding what is actually wrong. A statement like
>> "... is because the implementation of x2apic is incorrect" isn't helpful
>> on its own. And a later statement by another person puts under question
>> whether "x2apic=false" actually helps in all cases.
>>
>> Please can we get a proper bug report here with suitable technical detail?
>> Or alternatively a patch to discuss?
> 
> Mostly I was pointing to the thread to credit Neowutran and company with
> originally finding the workaround.  I'm concerned about how
> representative my reproduction is since the computer in question is
> presently using Debian's build of Xen, 4.14.
> 
> As such I'm less than certain the problem is still in HEAD, though
> Neowutran and Co working with 4.16 and the commit log being quiet
> suggests there is a good chance.
> 
> More detail, pretty well most things are broken for Domain 0 without
> "x2apic=false".  Trying to boot with a 6.1.12 a USB keyboard was
> completely unresponsive, on screen the initial ramdisk script output was
> indicating problems interacting with storage devices.  Those two together
> suggested an interrupt issue and adding "x2apic=false" caused domain 0 to
> successfully boot.
> A 5.10 kernel similarly requires "x2apic=false" to successfully boot.
> 
> So could be a commit after 4.16 fixed x2apic for current AMD hardware,
> but may still be broken.

If Dom0 boot is affected, trying a newer hypervisor shouldn't be a problem.
You won't need any of the toolstack to match just to see whether Dom0 boots.

In any event you will want to collect a serial log at maximum verbosity.
It would also be of interest to know whether turning off the IOMMU avoids
the issue as well (on the assumption that your system has less than 255
CPUs).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 09:07:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 09:07:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508200.782597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paCEq-0002Pu-16; Thu, 09 Mar 2023 09:07:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508200.782597; Thu, 09 Mar 2023 09: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 1paCEp-0002Pn-UU; Thu, 09 Mar 2023 09:07:03 +0000
Received: by outflank-mailman (input) for mailman id 508200;
 Thu, 09 Mar 2023 09: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=wtzB=7B=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1paCEo-0002Pf-Jn
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 09:07:02 +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 c0b9588c-be59-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 10:07:01 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7603.eurprd04.prod.outlook.com (2603:10a6:20b:2d6::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.18; Thu, 9 Mar
 2023 09:06:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 09:06:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0b9588c-be59-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P2aE6BkkdBRTLID2M1XShni3MF8AaSazpjtn2ODAYfUL6j7/HBnNaRhjQ1uqA/ONwTVWP8SzcGY3kU/QhYBvfm2dVacSaasLZhQFmoDFC9VcDH0OukGyZIhW2Kikx3ow0Rrt2f6KXJ/rKDhiF7XlenKrNWBBsncGqkGSgNfTkUrOM9x2Khn2TtW+xYHXDfTwjjHL+RwXLiwzJj4flpDo5vGHUG2/HkvWzt/TnK33OES2dOlph162X7bGoO28PEoAFgMkHrhySLU3CCBTo0ZhmMRafPGX0Jd3798m2UYpvxyRyUYSWSD/6qaUroVgMbA0qLMh27KKvrge7L4OdI6TnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Na5gfOybv0ooiVBmvFj8I5KTk+rUm+1fQOJF2LqKAhg=;
 b=Z6/P/ETj3sHAfYeTpgPixicAL795EbkSVzxtlnRR2nHEqoce0/bttTZ5JTa8MyJJJq+pyXWxcLv2O28VrubCnsN4LRtNdUgrTjL8a+zBdydxTWQ5dIz56W8bIhvOx0HLycdIw9gmNJakx0dyv9mPk/2b8DOazm1CV1w1qqdGQqAq80SnZ5E0ihfC5Iu9o+F0OmK2PgCsByt8xP4vyOFDOAe1d7Uf1lGHM75jJQnzROFsBffHGHJkEVjPG5H1wip40jNiVlE92D89KhsVxDo9aZgsYqwJo3Vqe4l2fznW/tunwBGiMP3r1f2SGjwAnLA/I9y0on2PyF5dX9TTkgmPJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Na5gfOybv0ooiVBmvFj8I5KTk+rUm+1fQOJF2LqKAhg=;
 b=FlgLN9O/dQ/DwIEQ2ImemyXkzWebG9Lg9ythp7+0aLgAJ+UNNkkBASV881zymCd9rFbzYvcPon+on6hILKl/ul4BGYS3a8LWY24rlv30Kuvp/XIIPeKBj4SdKj78Ho7Sv6YNLBcJ1n/AXYbeU0jYE1v9hROOElnRS5efdOG86usBoywrcj5pF7kO+OYk70cbT9TxV/Oq3TJ5FFLGeJ15f0LRQ3Mx1N4EXk47LxDPZGcoVgfW45AhZBIZFBxgDpWFJqLTp9D8piWQgDHpZCzUZjme26GsQhsXUFQXz7wr87D+ZK09iUNtKLK1wkfQ2FPs5dMardUETuChlKnjI8Gbbg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e5820592-6675-6c96-3162-a46856ebcf92@suse.com>
Date: Thu, 9 Mar 2023 10:06:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC PATCH 08/10] xen: pci: remove pcidev_[un]lock[ed] calls
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Paul Durrant <paul@xen.org>,
 Kevin Tian <kevin.tian@intel.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20220831141040.13231-1-volodymyr_babchuk@epam.com>
 <20220831141040.13231-9-volodymyr_babchuk@epam.com>
 <alpine.DEB.2.22.394.2301271717090.1978264@ubuntu-linux-20-04-desktop>
 <875ybwylp6.fsf@epam.com> <67330fed-560d-0078-2c5e-0a71974f3dcc@suse.com>
 <87o7p2yb0p.fsf@epam.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <87o7p2yb0p.fsf@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0039.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7603:EE_
X-MS-Office365-Filtering-Correlation-Id: ec8f8690-103f-4b0e-5221-08db207da38d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/ddMDgPASLn9QcYYKwn94o43G3EmLrgkAsFVb5vQGIWtzeF+ZYNalOzq3lfS2siNgVYQ66MdBDdO7QZo+XBAxnWQ+X4GcJ49laso5s8P4zjh/CMaiAJO2dygdY0Ydx/8BINHTEybJ6U8pYoqAFj4EePapv63VNI5SE6gH4FC4wqMwLE9A8AP+KjvjLpk4+hnfgvo5z4gSKtGEtX+1/XkJO2y44jGzERCO/JsABdS4/Lyn234Kf+FyJiQ/MD/GRw+EsxuclvgQOaN10bqODzifz24oOGAd6bC2gEWeIv/Gs8ONpXrHmOVbAkodYV3PZ/0utWQofof31LzIGpqMHzKtJA3dFfjXRtGoQ2fdaP8PcREzOeIg6qqMTKf4AWmbUyJO/6NsabkxTLmPxVLc8aF9z6itYTyN6yv1ZgHnAU3aoGc5X1o+0JogdWDV1wsN5Y9QEnj/X8Z+saG5bOyxD22w05KlvKBEygT1rR/I+BvGBinhFMZOqymtv7k3rCS6ar83VYWSeVKiEuacJxjaNlmHrNPADu8tvbAIINzbaHy+KZulP1+QpRuW5pn+pgMBVu3NsLe4+diTN23mKj/SmNw/0Vwvam5Flxlbo1KXw34gDB3y96kcomTSQaEGh1lY2gZgAEBlv2AjA3tOsSk0DvVp1G3FbucD7bKm9xM/ZOcmZVVw2MXveX93fXeiFJ0fq/njLHI9IiUUR9ek/GAEdI6Hwsq54KdfcnPYy9tVtJcwB8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(366004)(376002)(136003)(346002)(451199018)(8936002)(36756003)(5660300002)(7416002)(26005)(53546011)(6506007)(38100700002)(6666004)(83380400001)(186003)(2616005)(54906003)(86362001)(66476007)(41300700001)(6916009)(31696002)(316002)(4326008)(66556008)(66946007)(6486002)(6512007)(478600001)(66899018)(31686004)(8676002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SFFqRnpmUm5TY2pveXZtZ3VFRHFUL1VrTmhXWFRZeGlsY1RyZmMyUURjeThh?=
 =?utf-8?B?WkZseXhReWhLdmQwOGZRR3IweDVOdjgvOU83d2s3cW1KQWFNV1BheVFoU0ti?=
 =?utf-8?B?bzdOc0VzRTZSYTVWWTNsQ1ZZVWUzT0VsaG9WWmRxNE1iWjNtcDdRMWtXRWNt?=
 =?utf-8?B?UVRDSnNuNE9iWUpBVXhsQ0NnMHF0VmIzV2xXaXkwQVBldFhpUVYzRmtUQko3?=
 =?utf-8?B?dnd4UmhYcklGVjd0S0FybGJJcUc4eHhtdGpYWXU0UlVjRlJoUkxxOGZUUnIy?=
 =?utf-8?B?QURNNUt1NmhnUUdUZ1VNNmZUZ3AxeGZiY2VmZ21PcWFOdUZwWG1VRmV0UENs?=
 =?utf-8?B?STVVZlVveG5aWTBjZEhYN3ZMM0JDNGFKeUdPdms1K215NmxrY1NJdzlTdEdo?=
 =?utf-8?B?NmRqRHl5Mk94ZkN0WGZMdEd0ZzAza1NhQ1czQmo0RWVUT1l6NHVzdDVuRVZ0?=
 =?utf-8?B?ZEgwTk1jV2JDV1d5NGdsbm9lbm04S3hjMElncVRqUkxpZzFUWFh2aTkwRUVv?=
 =?utf-8?B?SzhLQ1k0MWxiek5qUFFvcnJyYkd6MzRIZzk5blRiODNYQ2NNZkxMY2pBeHJm?=
 =?utf-8?B?eTh3T2hOczc5ei81cnFTaG0vcldVMUJnN1BmVGVodXA3OHhkaUppZGNpc3JK?=
 =?utf-8?B?S3Q0V2NzOW1tK2NJcytOUzJiMU1MZDZZQ2xmYnV6OVYwV1ZzUXhpTkJucDFq?=
 =?utf-8?B?Q3p0MDR6dUhRTDhjUitkS1Q0MWROY0lMT3BkN3pBcFdWaWZXbmdWUmtRQWtT?=
 =?utf-8?B?NytsZ3Y3Y1N0bWQxOEN4OFZXR0srOWU0azdZb1FhMmk3allGc2Zma1Vvc0lz?=
 =?utf-8?B?RXh1amx5Q0Q3SUdQWDJWaXlvYU1mYUI5cGdkYURSb3ZsMnN0QUNkVnhIcXhI?=
 =?utf-8?B?VUxvdnlVMjQwcWpYS01YT0F1ZzF6RldPN0o2SGhtdG1SSFlHMWs1RktJWlJU?=
 =?utf-8?B?RWZtWlNTMGlLTmExeHZ5RTVaWGFueUplRjdxMTI3ZTNlUkNDMDhZWWgzbEJO?=
 =?utf-8?B?UEUyR3lpbVBqVkorR1ppNmtRTnNTL2x0bW5qRS9rMFgydTJKNllyOWttU1lp?=
 =?utf-8?B?Uk9xWDh5YUhKVE1CcEhRdVZwbStHenJVd3pTUngxbEEvRTRadnp3czU4SFRJ?=
 =?utf-8?B?Tko1dkRJTXlZeUtoMk1DMm45WldibVAzUUsxbUZVcWlnVFlYQko5ZUJvRC9C?=
 =?utf-8?B?eWFqNW5aekpTTzRBT0RjWGx0ZmpxU1ZEM0RXUGFPWTRSL01KNHBzYzY5WmJh?=
 =?utf-8?B?YkdrZGpjSFJpalRCODdsZDZQL3ZIRGxycEErcEE4cUROTnY2aWlsaExHdDVD?=
 =?utf-8?B?UDZRbzJMdWdHZmdSUGw4Z3N3NTNQcjhKNUVaKzA5MmVnQ1lMa3JGOU1kVXZL?=
 =?utf-8?B?K3p5OCs4OFhTS0t4V05BYlFZeW9NaG9lQTlheFF3bEoxT1lzQW1FYVpZMHdu?=
 =?utf-8?B?Ym5xVExtdTNlbVR4MVEyT21aNFdPSE96eHdheUllVlpPMWl3RE9sM3VSSVVL?=
 =?utf-8?B?bUtzdzZtYitXUjhpRG5vcFRFWUdCSXNLSzdlWkRLRk0zVk9tQU1JREp0MWo2?=
 =?utf-8?B?eTFCN05TTS9JUmNid0hBZXZLbjhkYlNLK1oxOFRBQ1JKdlE0emZMTG0wdDI0?=
 =?utf-8?B?V0hERTlMejBaeWoya3duaUt2MldCTVVBWnUwWWVuOG81bTRCd1FtUExtTWk2?=
 =?utf-8?B?RFdlQWN2SUx0RWZyU3MyYlRZNStudDgrakREci83MVlxSUhQSTRGeitYZU1M?=
 =?utf-8?B?dVFPeXh4dTlUVEhGQWtKTzZlaDNmNkZTbUw4WlJPNEY1Vmdsa2hKcnVLOFhr?=
 =?utf-8?B?cENqY2xUYkZNYVhpbnZzVkxucXRXeVJWSmFiRE9GV0NnR01sczBhTnVpOGVs?=
 =?utf-8?B?anczTWp5SVNrUWVTVFF2RXA1cElCK205TWxOdHVidDdIcUt2bktEZnNEb2g3?=
 =?utf-8?B?aDR3c0RXa2ZxeExJdmw4N0R4M1RwQjNjSllYVGV3b3d1c0xPbEtFRStYUlk3?=
 =?utf-8?B?SWUrT1pwQ2YwK091VTVVNmwzZ2huWk1xSFQrMjdtZDl3RDBCRHZoM2N0cE03?=
 =?utf-8?B?MEo4L2tyRStxbWZZN1lMYy91T3lSSk1xcFdKUXdRRFVNMnBZVERNc1JZZmpz?=
 =?utf-8?Q?ZXmVa0yYaLS+LstePG5ipfNc8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ec8f8690-103f-4b0e-5221-08db207da38d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 09:06:59.1724
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KNhDJLNEx/Gfty7MlLXLmWcNf1wnRf9XtPiFOee8ntF66MJJ5FWw52pbEK3036Gn1Yclr/GY8LC9ZQkPHSo4Gg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7603

On 09.03.2023 02:22, Volodymyr Babchuk wrote:
> Jan Beulich <jbeulich@suse.com> writes:
>> On 21.02.2023 00:13, Volodymyr Babchuk wrote:
>>> Stefano Stabellini <sstabellini@kernel.org> writes:
>>>> On Wed, 31 Aug 2022, Volodymyr Babchuk wrote:
>>>>> As pci devices are refcounted now and all list that store them are
>>>>> protected by separate locks, we can safely drop global pcidevs_lock.
>>>>>
>>>>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>>>
>>>> Up until this patch this patch series introduces:
>>>> - d->pdevs_lock to protect d->pdev_list
>>>> - pci_seg->alldevs_lock to protect pci_seg->alldevs_list
>>>> - iommu->ats_list_lock to protect iommu->ats_devices
>>>> - pdev refcounting to detect a pdev in-use and when to free it
>>>> - pdev->lock to protect pdev->msi_list
>>>>
>>>> They cover a lot of ground.  Are they collectively covering everything
>>>> pcidevs_lock() was protecting?
>>>
>>> Well, that is the question. Those patch are in RFC stage because I can't
>>> fully answer your question. I tried my best to introduce proper locking,
>>> but apparently missed couple of places, like
>>>
>>>> deassign_device is not protected by pcidevs_lock anymore.
>>>> deassign_device accesses a number of pdev fields, including quarantine,
>>>> phantom_stride and fault.count.
>>>>
>>>> deassign_device could run at the same time as assign_device who sets
>>>> quarantine and other fields.
>>>>
>>>
>>> I hope this is all, but problem is that PCI subsystem is old, large and
>>> complex. Fo example, as I wrote earlier, there are places that are
>>> protected with pcidevs_lock(), but do nothing with PCI. I just don't
>>> know what to do with such places. I have a hope that x86 maintainers
>>> would review my changes and give feedback on missed spots.
>>
>> At the risk of it sounding unfair, at least initially: While review may
>> spot issues, you will want to keep in mind that none of the people who
>> originally wrote that code are around anymore. And even if they were,
>> it would be uncertain - just like for the x86 maintainers - that they
>> would recall (if they were aware at some time in the first place) all
>> the corner cases. Therefore I'm afraid that proving correctness and
>> safety of the proposed transformations can only be done by properly
>> auditing all involved code paths. Yet that's something that imo wants
>> to already have been done by the time patches are submitted for review.
>> Reviewers would then "merely" (hard enough perhaps) check the results
>> of that audit.
>>
>> I might guess that this locking situation is one of the reasons why
>> Andrew in particular thinks (afaik) that the IOMMU code we have would
>> better be re-written almost from scratch. I assume it's clear to him
>> (it certainly is to me) that this is something that could only be
>> expected to happen in an ideal work: I see no-one taking on such an
>> exercise. We already have too little bandwidth.
> 
> The more I dig into IOMMU code, the more I agree with Andrew. I can't
> see how current PCI locking can be untangled in the IOMMU code. There
> are just too many moving parts. I tried to play with static code
> analysis tools, but I haven't find anything that can reliably analyze
> locking in Xen. I even tried to write own tool tailored specifically for
> PCI locking analysis. While it works on some synthetic tests, there is
> too much work to support actual Xen code.
> 
> I am not able to rework x86 IOMMU code. So, I am inclined to drop this
> patch series at all. My current plan is to take minimal refcounting from
> this series to satisfy your comments for "vpci: use pcidevs locking to
> protect MMIO handlers".

I guess this may indeed be the "best" approach for now - introduce
refcounting to use where relevant for new work, and then slowly see about
replacing (dropping) locking where a refcount suffices when one is held.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 09:22:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 09:22:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508203.782608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paCTV-0005CR-Dh; Thu, 09 Mar 2023 09:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508203.782608; Thu, 09 Mar 2023 09: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 1paCTV-0005CK-9D; Thu, 09 Mar 2023 09:22:13 +0000
Received: by outflank-mailman (input) for mailman id 508203;
 Thu, 09 Mar 2023 09: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=wtzB=7B=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1paCTU-0005CE-1E
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 09:22:12 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id de311133-be5b-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 10:22:10 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB7021.eurprd04.prod.outlook.com (2603:10a6:800:127::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Thu, 9 Mar
 2023 09:22:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 09:22:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de311133-be5b-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YGCYYYvMo82b6oKKhoQOxOg1liCfeIXby1vnH8kDgT+TJOBWwee8IjDxBxqg0nhV8bw63Yo47SgyN7PTYMLov70LYKa36++dCzOjGDt94AxIslkYSX1auYLKGlBb3zlXazqLyvh00nvAsMcsezlJcmiJtoKWKVJ3r76wJUymFXDX7Ba5k2wQTCrsKM832wsHu4ImEzEaZ3VjscCHryoL/xrMX/BMHjeaP2tYk7LsgHKwmKDE2Y5AiOOrdKNt+WIZBWsaf7zyj1KntiI3P1Ph9/pMCn/ctKR6/LTnUGd55DUjg2kC4mAhgkyEtvhq+SH0VtQrSLKAxKDdGuVjGoBTvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+kAjNr7HBiTKYqn1aqIv4fQQ5WD8esYibyWSFBwRzY=;
 b=iNc2krqTD/yIiPa12ZEXZQPFvK9EABIScwp0yjPe2mcDFjdleXFL3kxkth0F5cwwYNYKA6U7Zx4JP+iiog7er8NK0if+nD/J6dRUEVVxTl9ffRj060pwIM16LMEjAQJwOKI0/1FnM8X7IhgK06RMAst2+H3+IN2t1kfj3vpTblxd0Wg8MW1KWfDv1TCubkBEoSuHq8SFIqva3U7sFuY+iFE8tQoOoQeiO+RCfrQGr/qbvB5cW85hRW9lig6moOT+tbITZljk6v9EjhJqSUI6Dxyq3l7OlECUCkQBYo8asYl5qCvJWNSYAegbeadTMMSlzEE6iqePUmbI+BF0GecRLQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U+kAjNr7HBiTKYqn1aqIv4fQQ5WD8esYibyWSFBwRzY=;
 b=IjenBqD3+DTB+Fx67t90PpkKI/BaFTyA4cnOt3cP4lv/JWUdYWJdo0SAgrtVTT78QM2rB3J1rRB3ZSHXnzbvgwSnH+5iNNje5YGDY0s1V/8WW8/ksW2/gaP2sVYauMxYmD3ItkZv7LST9xH+xyhqt4kFX/FulFkP7G3HneVUIlx4F+Xol1u3A0oJGZZ0YWIAEquNDVJV7kX2P/Z1JqCcPTM17FyjoNyJfp68Xki9lLtCuIZl9DlZLGxUJ9dW/oQ1H3MrcISg7An33V6dHx4ZsBSXXPauD/EQaos/ylzbIvGHs3PQ+duVO0+HHzwJNfUhLs27VmE1rHn2xtBwPRDT5A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1cd131a5-cde5-be33-4398-5b617ccd00e1@suse.com>
Date: Thu, 9 Mar 2023 10:22:06 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [linux-linus test] 179511: regressions - trouble:
 fail/pass/starved
Content-Language: en-US
To: xen-devel@lists.xenproject.org
References: <osstest-179511-mainreport@xen.org>
Cc: osstest service owner <osstest-admin@xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <osstest-179511-mainreport@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0054.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB7021:EE_
X-MS-Office365-Filtering-Correlation-Id: 5df418a1-3a8b-4593-5235-08db207fc168
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wWMmqVwlo12KIXGkxaAeERdEgWVH65jpGGm3XAbBWjHDC+R8cZW4XbEYq4/wb1lpsjmEfKwMhyvlhLlNTOEkd5YxN/SYdULdyEckoDcK5quqG1xtfQdHzboPx00okv2XMTHWVv3KOepNq75Le5ncj/CdhBTXhBKRYr8R4h1K9WOmWsjJ+cWq+ainzdtHvqzn41gSCRUllis0Eoq4isAw5k6W597U+Qf8s2taQV2sguCD1wY1pn8pQw97o6CeX+9wSxcjvPGZMRuiBIIcGiwPNY7e52zJPNnhYPHag09prjoSdBrhvAxj9+VKCzImjRxfu6M5bb6hwJnPIthGuTURYjVHPwOwJnZJhZT/eDHsKC44o3N2IsdNh5TuwNgtRXagJB/9K+Nj1mCnZF/27oMDyt9O13fyuRU5GSLeyqHYd2ws4P8gHn7HKZePB77pRfFTM5Aj5fQRo5rT2oWD0fnL0VsbJ6TZO+sJgAg+PizN93utPVYNPPQKPxLMq7NaggDld3Oqv559GxapOhcQEElFaAGB0szMwbKUhbe8WO3BCcINfuRviZ2uThM5r7n6A23HUfFP0FuSSxS2ghsqKME/ObUDv73+9b7/5rprgYTIU8nKQBetAgVVAgldoU47sKlV219XbqNik1K10YpFgUBJ1IICDmQzdfs1M0zrcia1c+r7NiBjGR6vj1gWrfTwYFQnvqcu3hQ6KVCd5SkFfP4+TvB1Cd/X33PSonWM6lI+cAA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(39860400002)(376002)(396003)(346002)(451199018)(31686004)(36756003)(38100700002)(31696002)(86362001)(186003)(6506007)(26005)(6512007)(53546011)(83380400001)(2616005)(5660300002)(316002)(966005)(478600001)(6486002)(6916009)(4326008)(41300700001)(8936002)(2906002)(66476007)(66946007)(66556008)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cjBXcWV2K21LN2w5K01Ia3hEWkFwU2ZJQk1SU0xMZis1QVF0Mk1EV0Z0YzdX?=
 =?utf-8?B?WTRNOU51TkN2alg5RzdNV2ZzYnlQdENZNXY0eFlaMVBKWlZDWTFvRFAxL2dT?=
 =?utf-8?B?dDR5cVlDZ0h5M3pGVjU0bWlIY2oxalNsZTZnQ3dFQmZQVzg3WkVPU0Q2a0xJ?=
 =?utf-8?B?VWZ1TnVMR2d3cERsbnU2RWJBR3pYaE5ZVS84T0RwT1BlUWpwdTFzUVRFK3hI?=
 =?utf-8?B?NzgwT2gxRU81NVlXdHo1bjFRQ0tzdUFJMlZRUUxqWU9sRzhqSmdhMDNKOVFS?=
 =?utf-8?B?dFhKaXRvWHlLenZKSHIrWndQemF6U055ZWRPMy9ld0RhL0hadHpHV1I3VHNT?=
 =?utf-8?B?ZWNaeXJHT01MU1R0ZzhQbVNNOTVOQmFINHNjbzZldVRIdmV1Qk5wNUtnWnRZ?=
 =?utf-8?B?VSs4Zno5V1JPOXJadXpLZ3U2OFhpb1lkUUNtcWI0UjFVUkp2N0RrbVJZY0FW?=
 =?utf-8?B?ZVR4WXpZQzNRMy9xQjVSLzJualNJLzNxcWhlUmNFOXJjUnU5YjdoaWpudW1U?=
 =?utf-8?B?cU5HdXRnSU1uMzM1WVRMRUY2RWVJZUl1NWlSRHQ4ZkZrYU9Kek1BSGdMWUZn?=
 =?utf-8?B?dTZaRVFTcVpGTTNocm5udnRuUTNqTnlqODV6Y05wMkVNQ3pjeE1oc1JkSVQ1?=
 =?utf-8?B?Y0txK0F4YzJEcTA1bjY5ZjBtVkhEd0FGTmtwbXJzNk94dG9vSERYOWQvTjM4?=
 =?utf-8?B?QWdFRlZwMUpCV1FFcXVqVW1KZ1A5bGNvUXpFV3J4VUxYcUE1c0ZYdkJKRTcz?=
 =?utf-8?B?Q3FsMlY4ZXFZNEwyalYzNUNsdm5USU0zUFUvYmRvNFJkUkdqTVJJcktMRkN3?=
 =?utf-8?B?WTd1bVVyVm5IdEpyNGpYaUtoaU56dDJwbC9oa20xTE9PbzBvMGkvY1d2Sldk?=
 =?utf-8?B?emJ4eW1sUkQ2bTlCS29rejRaZ0EwYmJSeTdVZDA2RUNhT2dGcUw5NlNZNzQz?=
 =?utf-8?B?UndpSjBmaUJ0RGc4TnVwMjJyWHBsMDhaZ09IbW9pWE9lOEx5dHREMXlDTVVZ?=
 =?utf-8?B?Tk9DOHg2c1JOTEVwTjFESlpuQ0hKMEM5ODFUb1F5NzdNdXNDVzRyK0Q3VGFa?=
 =?utf-8?B?WkZqd3d6VFRLcmtPWHhCMUxyaFRWRm9CUnd0OGkxWWpnUHRQOVBiZWtQSW9Z?=
 =?utf-8?B?OTN0aEt0bG91VWR4YXNBbXZMS0VnNU1tU3IxWDRKdHpEeGQ4aWoxNnZ0dngz?=
 =?utf-8?B?emlQeGx5NkY1RW0rbVBPaVI0VTZkS1pDTWd2d0VTNjVwamMxSFlHLzQxWW9w?=
 =?utf-8?B?bm9Mb0NRK1N5WVUxcmN0ZmY4dUdBR1dlN0hmZEYwOVdFMTRtQlkrVlBjYnI0?=
 =?utf-8?B?WHJ4b01kSG1ydmFEY21CS0syQmp6MGpSa3VodTl3NnhaeUFHV205UitaUWpn?=
 =?utf-8?B?MXMwak9ZeGd5WWJGNXo4Z0NOS3pwck5mcjdNa2locEY4TTgvRXhQdTNOd1g5?=
 =?utf-8?B?M3NWOXlTNU8xM3htS1cyY3IvblA3dmJ0bkdObkFjQWNLdzM0dk11bm5YQ1FB?=
 =?utf-8?B?bjEyQlpLcHYzNnJDQnJNNEp0V2djSGVjYzV4dkgrQVZOeVJlUklzVEN5Wm54?=
 =?utf-8?B?VmxVdjVibERSSDRHa1V2NHB4QTRrM0FrWmVCNW9SWmtOQnRSdnh0dDJ2RVk4?=
 =?utf-8?B?OW9QNjdUUG9UOVN5R1I5LzRIMVlIL3hUNlRkclZhRzl5czIzQSswUlp3dlhG?=
 =?utf-8?B?azU5azdJYkRSUUNRMTI1d3d6aDBDNzFMWWhkSHVYMENkVUM5VThLWXFvUUI4?=
 =?utf-8?B?cDBpZ3hVTFJwa00xSHhNMmpjN2haZ0FkSy9Oa0phN3NwZUt5TjZubHlyZ3JQ?=
 =?utf-8?B?Mm9LMm5tR0Z1ZCtMdXd6NmFLeVlmMkZHVTZWRWVDd3NiN09kUWZTR3lWOUFM?=
 =?utf-8?B?QVBwd3dabTdkelB2MzQ5Z2tDRlFZK3FEMnFMd2tESFBKdXluc1d4UGxvYnlP?=
 =?utf-8?B?K0ZBdDA1WFYxN3ZOZWRpQlFSbnZMNmtqVkpSczl6VTllbWs5Wi9Bc1l5NU9F?=
 =?utf-8?B?cElOMVNYVEphc1JnZXNMZVR1S1JaRStsS1FJZEdvb0kwcGVLZ3FVZFlscmFH?=
 =?utf-8?B?VngrbXM0NGh0enRBdWR4NkUwV1NnN0kxcElxRHBzQ1NGWlp2MzJDeUlRbnRW?=
 =?utf-8?Q?iHWYO7EqMAVgt91THPAmX6YSp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5df418a1-3a8b-4593-5235-08db207fc168
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 09:22:08.2238
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MFyr4qJYd42q33NASPSMA3GZvCBMY3/X0SC/wRE+yMGwtF/UUk5IYcv4tQQBRXOmXnJppTc2if6nPlpt6kQ8Aw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7021

On 09.03.2023 07:58, osstest service owner wrote:
> flight 179511 linux-linus real [real]
> http://logs.test-lab.xenproject.org/osstest/logs/179511/
> 
> Regressions :-(
> 
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
>  test-amd64-amd64-freebsd12-amd64 16 guest-saverestore    fail REGR. vs. 178042
>  test-amd64-amd64-xl-credit1  18 guest-localmigrate       fail REGR. vs. 178042
>  test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 178042
>  test-amd64-amd64-xl-pvshim   18 guest-localmigrate       fail REGR. vs. 178042
>  test-amd64-amd64-xl-shadow   18 guest-localmigrate       fail REGR. vs. 178042
>  test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042

While the xen-boot failure looks to be resolved now, there's at least
one further regression: Many instances of

(XEN) common/grant_table.c:2982:d0v3 copy beyond page area

can now be seen, which I expect are related to the test failure here.
Recent netback changes look benign, so it could be the sole recent
netfront one ("drivers: net: turn on XDP features") or something
elsewhere in the kernel (but presumably still in networking code).
The failure (and log messages) also ...

> test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042

... occurring for freebsd suggests against the netfront change, though.
In any event ...

>  test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042

... the issue looks to be arch-independent.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 09:22:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 09:22:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508204.782617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paCU2-0005cw-KA; Thu, 09 Mar 2023 09:22:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508204.782617; Thu, 09 Mar 2023 09: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 1paCU2-0005cp-HZ; Thu, 09 Mar 2023 09:22:46 +0000
Received: by outflank-mailman (input) for mailman id 508204;
 Thu, 09 Mar 2023 09: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=HnZm=7B=gmail.com=matiasevara@srs-se1.protection.inumbo.net>)
 id 1paCU1-0005cB-CK
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 09:22:45 +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 e963f904-be5b-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 10:22:29 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id bw19so1133142wrb.13
 for <xen-devel@lists.xenproject.org>; Thu, 09 Mar 2023 01:22:28 -0800 (PST)
Received: from horizon ([2a01:e0a:257:8c60:48e5:bfa:d652:b8ef])
 by smtp.gmail.com with ESMTPSA id
 f2-20020adfdb42000000b002c54fb024b2sm17121215wrj.61.2023.03.09.01.22.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 01:22: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: e963f904-be5b-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678353748;
        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=hVLZoXAAPmwL3mxc3dmGz5XMmWrMEr7RhdQxrxgi3UA=;
        b=I0FiS1rsCoA1nG+qm1Zwa/waDNf8zA7JLdsCnIsAXxaQ1oX0qql+RLEKluIqvstzDY
         UrxUsl1U/LZzMHT3YNBfEvrjtTu+KmZjLuA9lbEDeBWmulOYia0NyALRXTYuZGhSs54E
         8Ssyt7IFlsHsFkuwC7zdwxeVBHqlAZk+1BZn/89+NzwCwsIPFVF9LB0eMqg1AckQlZhj
         rIz8Mf9UhepNjHDGyeiLxa3zFjidQWbSnqClhUqZ2HwV/4EftBPd0xsqrlNqw5BSBSb1
         8ZhchN4urSp0/8c8LCW+64thJyIS5qV068IzvVxVKwxdJN7jhy0B5HBfXucuQ2nkQXvJ
         qO9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678353748;
        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=hVLZoXAAPmwL3mxc3dmGz5XMmWrMEr7RhdQxrxgi3UA=;
        b=7KkSdxIfu/KRtkF6hXxBEB0ExO7DYZU6PCyanE+T6wOFWn6Flh+Xxq/NJp+tD7ThiY
         4XqzI+atkqKQDMsQconYO6duZyJBY/Jy4BaEA824TQpj7FBcYSaCK8wFIn3IlB25XuvE
         uZY62tgW+I6GKzZHtWugfrFif69AlaXerkchYKJRXvAEmf8Dr0ad5IVI6jwHqEuXuNN3
         Te6nNrGw7icg+9AW3gJLXC3PaFXWtgwn6qXxVawTEqS+m4MDnTJGyc1r1eK9Tukb27iC
         gTTfv5GyuOsqimmR5zqVUxeMceIOpp1EBDn/hZeSvkOQL8QRgqFQ3ta6IirJULg9w8ix
         7d8g==
X-Gm-Message-State: AO0yUKUI+v48qDm4b7KTVT1Gb7VSI5wHvZV7EpSH/OOIXjLTNJr1sSG+
	jA4RtyfWvRvdsNQP/DX0Q14=
X-Google-Smtp-Source: AK7set+Ly99/isEllTrb3y3OetsGmfvFtU1wdYedHFNLGjw7eg918CGuAe6RBuFu/b//eoApMI8mpA==
X-Received: by 2002:adf:e70a:0:b0:2c9:e3d:88ca with SMTP id c10-20020adfe70a000000b002c90e3d88camr13420237wrm.67.1678353747960;
        Thu, 09 Mar 2023 01:22:27 -0800 (PST)
Date: Thu, 9 Mar 2023 10:22:25 +0100
From: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
Subject: Re: [RFC PATCH v2 1/2] xen/memory : Add a stats_table resource type
Message-ID: <20230309092225.GA1218485@horizon>
References: <b59b6466-8d06-f7af-beb9-3c38c638a455@suse.com>
 <3aa736d3-b833-0c6c-2a41-71cc4b953aae@suse.com>
 <20230217085006.GA2281468@horizon>
 <7e79d20d-0922-565a-e46d-e3366c0bcfb4@suse.com>
 <20230217092948.GA2282871@horizon>
 <9864e936-5c77-a790-e36c-766d5359cd83@suse.com>
 <20230223121647.GA3260113@horizon>
 <496b1fd7-4540-66c6-be89-51f20a6666ab@suse.com>
 <20230307144427.GA997565@horizon>
 <29630f27-3de9-ea1a-de2f-f9c8449da2ab@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <29630f27-3de9-ea1a-de2f-f9c8449da2ab@suse.com>

On Tue, Mar 07, 2023 at 05:55:26PM +0100, Jan Beulich wrote:
> On 07.03.2023 15:44, Matias Ezequiel Vara Larsen wrote:
> > On Thu, Feb 23, 2023 at 01:42:08PM +0100, Jan Beulich wrote:
> >> On 23.02.2023 13:16, Matias Ezequiel Vara Larsen wrote:
> >>> On Fri, Feb 17, 2023 at 03:10:53PM +0100, Jan Beulich wrote:
> >>>> On 17.02.2023 10:29, Matias Ezequiel Vara Larsen wrote:
> >>>>> On Fri, Feb 17, 2023 at 09:57:43AM +0100, Jan Beulich wrote:
> >>>>>> On 17.02.2023 09:50, Matias Ezequiel Vara Larsen wrote:
> >>>>>>> On Wed, Dec 14, 2022 at 08:56:57AM +0100, Jan Beulich wrote:
> >>>>>>>> On 14.12.2022 08:29, Jan Beulich wrote:
> >>>>>>>>> On 07.10.2022 14:39, Matias Ezequiel Vara Larsen wrote:
> >>>>>>>>>> +static int stats_vcpu_alloc_mfn(struct domain *d)
> >>>>>>>>>> +{
> >>>>>>>>>> +    struct page_info *pg;
> >>>>>>>>>> +
> >>>>>>>>>> +    pg = alloc_domheap_page(d, MEMF_no_refcount);
> >>>>>>>>>
> >>>>>>>>> The ioreq and vmtrace resources are also allocated this way, but they're
> >>>>>>>>> HVM-specific. The one here being supposed to be VM-type independent, I'm
> >>>>>>>>> afraid such pages will be accessible by an "owning" PV domain (it'll
> >>>>>>>>> need to guess the MFN, but that's no excuse).
> >>>>>>>>
> >>>>>>>> Which might be tolerable if it then can't write to the page. That would
> >>>>>>>> require "locking" the page r/o (from guest pov), which ought to be
> >>>>>>>> possible by leveraging a variant of what share_xen_page_with_guest()
> >>>>>>>> does: It marks pages PGT_none with a single type ref. This would mean
> >>>>>>>> ...
> >>>>>>>>
> >>>>>>>>>> +    if ( !pg )
> >>>>>>>>>> +        return -ENOMEM;
> >>>>>>>>>> +
> >>>>>>>>>> +    if ( !get_page_and_type(pg, d, PGT_writable_page) ) {
> >>>>>>>>
> >>>>>>>> ... using PGT_none here. Afaict this _should_ work, but we have no
> >>>>>>>> precedent of doing so in the tree, and I may be overlooking something
> >>>>>>>> which prevents that from working.
> >>>>>>>>
> >>>>>>>
> >>>>>>> I do not fully understand this. I checked share_xen_page_with_guest() and I
> >>>>>>> think you're talking about doing something like this for each allocated page to
> >>>>>>> set them ro from a pv guest pov:
> >>>>>>>
> >>>>>>> pg->u.inuse.type_info = PGT_none;
> >>>>>>> pg->u.inuse.type_info |= PGT_validated | 1;
> >>>>>>> page_set_owner(page, d); // not sure if this is needed
> >>>>>>>
> >>>>>>> Then, I should use PGT_none instead of PGT_writable_page in
> >>>>>>> get_page_and_type(). Am I right?
> >>>>>>
> >>>>>> No, if at all possible you should avoid open-coding anything. As said,
> >>>>>> simply passing PGT_none to get_page_and_type() ought to work (again, as
> >>>>>> said, unless I'm overlooking something). share_xen_page_with_guest()
> >>>>>> can do what it does because the page isn't owned yet. For a page with
> >>>>>> owner you may not fiddle with type_info in such an open-coded manner.
> >>>>>>
> >>>>>
> >>>>> Thanks. I got the following bug when passing PGT_none:
> >>>>>
> >>>>> (XEN) Bad type in validate_page 0 t=0000000000000001 c=8040000000000002
> >>>>> (XEN) Xen BUG at mm.c:2643
> >>>>
> >>>> The caller of the function needs to avoid the call not only for writable
> >>>> and shared pages, but also for this new case of PGT_none.
> >>>
> >>> Thanks. If I understand correctly, _get_page_type() needs to avoid to call
> >>> validate_page() when type = PGT_none.
> >>
> >> Yes.
> >>
> >>> For the writable and shared pages, this
> >>> is avoided by setting nx |= PGT_validated. Am I right?
> >>
> >> Well, no, I wouldn't describe it like that. The two (soon three) types not
> >> requiring validation simply set the flag without calling validate_page().
> >>
> > 
> > I see, thanks. I added the corresponding check at _get_page_type() to set the
> > flag without calling validate_page() for the PGT_none type. I think I am
> > missing something when I am releasing the pages. I am triggering the following
> > BUG() when issuing put_page_and_type():
> >  
> > (XEN) Xen BUG at mm.c:2698
> > 
> > This is at devalidate_page(). I guess the call to devalidate_page() shall be
> > also avoided.
> 
> Well, yes, symmetry requires a change there as well. Here it's indirect:
> You want to avoid the call to _put_final_page_type(). That's enclosed by
> (nx & PGT_type_mask) <= PGT_l4_page_table, which happens to be true for
> PGT_none as well. There may be more instances of such a comparison, so
> it'll be necessary to find them and check whether they may now also be
> reached with PGT_none (looks like a comparison against PGT_root_page_table
> in _get_page_type() is also affected, albeit in a largely benign way).
> 
Thanks. I could not find any other instance of that comparison except those
that you mention. I'll add a new patch in the series to deal with the
support for PGT_none.

Matias 


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 09:46:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 09:46:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508211.782628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paCr4-0000G1-N5; Thu, 09 Mar 2023 09:46:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508211.782628; Thu, 09 Mar 2023 09: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 1paCr4-0000Fu-Jr; Thu, 09 Mar 2023 09:46:34 +0000
Received: by outflank-mailman (input) for mailman id 508211;
 Thu, 09 Mar 2023 09:46: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=wtzB=7B=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1paCr3-0000Fo-18
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 09:46:33 +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 448c6979-be5f-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 10:46:30 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8420.eurprd04.prod.outlook.com (2603:10a6:20b:3fd::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Thu, 9 Mar
 2023 09:46:25 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 09:46: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: 448c6979-be5f-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RKqr9EP25H3yR5iEJd7+e8mZUxNNSF7Vnm8aw5l/iZ49noKJy8fRZHMl5nBxMO4XMwj5bsGRYsdnEEKqo5pnZGehUZk0S0wgQ/5sqOz09xp+MkmxIbWe1Y7v8qVQoMlsyIkIx3nOsKnndx3Ncdl+K/QGpFMEEQm2Ni1SZfjCdjIDbdhMivVmsLYEkJnMkni4HUFSrM7OmhlepKVI0paExij+vHqUYnADMKEUFS5iNAmzz410C81pMHxPliRrm2tIMh2MJsQBK0cvbl1Pb3ZHBD2VG1Tg8/zrVyrhT32/NGwIMYOieK1U6AKGgbR73bynPMMLekVrtR0JiCgyDfCKSQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DyjlJUEAqbxwjICjXleh+ZXpoM0HbQSIcxRcZhQSyfI=;
 b=mEwC/24iey/4OHDEV0E8nEP03o9DqONdzgVJMB5FlakGLQsuR0OwzSBECiVT9vyNzqxz2o+A+APJTLSducE7YgxJD7NyzuOpxn+wroZbzOIXQc3s24TWlJ9nysJUBfcB/J+r5gdUi2Zsx25i15YerBxYsgRdzqEqh8K0bcmNUWGVl1AanhPbtvt+sWaOAPZkZ0fFo5zrqIPDPoABv6g9B94acXzyMHyqxJl/ZtOQRzIjCjfNfIgIGFSyb8kDUaLqPjRZdyTiUtgyLa+f3lbw7fPOIkkVXP9aFEiM5aGwJTerHTi3vIaKWupFzFjnAXaQPGwXSH7HhO9Jm9Atf/nZpA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DyjlJUEAqbxwjICjXleh+ZXpoM0HbQSIcxRcZhQSyfI=;
 b=dAws9VG41mf2NYCXleLXDUPP6P2CVyQhTErpAkWuUWpfH5SiH1zPYUSjzU8uZZ3R31xIPUYTPy3vPcTUdlekFDL5/Cz8ZFEv+vaROfxmcbbDf/MmofT9nGtAHUsKmpGQ8IIAy+dstky764I6Q8ev5KZe3qzD27D8q8Wat3CXFsx5cUPXRXZYHPffZkqeje9ewDyaYRHrzZ5ecJtyjglOcnTfM50N+Ql+Av8X9cW3btjuzmCjIKxmDNmkvF78ZMVFPuXEU5Bkegn+KxpnIK0ECbF2cn/MnTHstYQJ5fAbtszL6J9+/ct2yM4TpGyhJpTT8fR3bMvvSIALLl8Ik8e5oA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e724aac7-1ea0-0d71-c0da-5c01e37f864c@suse.com>
Date: Thu, 9 Mar 2023 10:46:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1 2/3] xen/riscv: setup initial pagetables
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1677250203.git.oleksii.kurochko@gmail.com>
 <83444f8f90cf2adf431762d919ba958a25ff8ce4.1677250203.git.oleksii.kurochko@gmail.com>
 <52072f1b-0cf8-a218-eefc-a8c1b4cecf43@xen.org>
 <e2a1968767e7a0f1535920ada14ec2f323e0f9c5.camel@gmail.com>
 <b8dd2333-5f3b-10ea-7ddd-47bd5f84ca5f@xen.org>
 <94f5059a4e31ddd29141fa8fe5156b560575ab1e.camel@gmail.com>
 <9e6a76f1-73c6-9a6e-3444-f3e1cb2d71dc@suse.com>
 <70c292e708708463ed83ebaf562d51179e9f7f99.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <70c292e708708463ed83ebaf562d51179e9f7f99.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0092.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8420:EE_
X-MS-Office365-Filtering-Correlation-Id: 38f49a76-1b3a-4637-89e6-08db20832521
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jJSFe76F6P5qoxv1ZFPteMBQPcQ8OXET0to7ifB1j5lNcR8x1W7uHNQbB4drrAGulpUhZytPo0UkGSLlGFusVLh8Gn1+taTWKNkCPLmYjRUXcHROd/MKcYVtwbzvYmyh7s/4nJYtQp+QIyMOpRCnX0ccbs1c3KDCpJIKaz6esMgwK80HFS2Xk1c0s/0aNYOfSV9sSN5rITZkWfsQiL7wAGpWET25X9qV1hmENqorrpQu5oK2ooDjv/xNBKYarwwInVzjWFaTI/L8qGI6u2PscwLpu2S3qv4XSRhnsiX5Jv9DO79nrbcjgvZOTxFKXU1yyD5/+sWVw4bykwn3UWHAPfvp8xxkln0LR9eacgM2QREL6gQBitezgV8Q5v+cm3a9xUrG31oSyRYN/w05PUxDfK/gNMUatve6vCMOU4srbrs0WhzTdS0xAGofZZNi8H1TrI8IKC2YCjG1gXjj3zars+ZBK/iHWnzOITksl+n1MBmqnlO8FZRhhJUT9DaVetCOHoHiyBPy3nNhF8kxMHbiVJ6NSyfZVBUQ29M8ZlndkQEnznosAWOIGHZMfggJAx7JNQ7FhOmQB5VbczUHLAybBoQUP/15iCTRcZED6hNOZCqLvOO8meQ5ayrttGz5ACrW5ODVpasZRwDcab7GhR6Si9qdgD1sDDuvAEjomGK6SZVZS8RZaAdaILtgUx/u95VH8fH782OszZfbKE4UM14IJHEoAxdtICnRNwG75MKZaNY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(396003)(376002)(346002)(136003)(451199018)(31686004)(316002)(54906003)(36756003)(86362001)(38100700002)(31696002)(26005)(6506007)(53546011)(6512007)(83380400001)(6666004)(186003)(2616005)(8936002)(5660300002)(6486002)(478600001)(41300700001)(2906002)(66946007)(6916009)(66556008)(8676002)(4326008)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RjJURVBMM0ZPMkVXTGlvenZMN1FyU2k4Z2VNRzB6S0lTd2lGUEpLOXkwOVE0?=
 =?utf-8?B?a0JEdm9peXBhTS9Wd3VYSWxJNnBRcTU5aE1MbTdkSWJXKzA3TDFLWEdpdUFy?=
 =?utf-8?B?eHJNU2t4bUhKZGZaVnN3b2VTWFZiampxNXE5MGtjcU5QOTZvV1kzTjE3bkk3?=
 =?utf-8?B?RDZ2S0dFM2NQaHdHR2FKbUN2Nm9NUHloZ3lhSlFLVHF2NSsxM0hrM0RNWUdD?=
 =?utf-8?B?bXp3U0RLb1NVMDhvVWdJeTZ3Q0tobGlqZWZvUXh4aVRUYmQ4bzMzM0pxTitN?=
 =?utf-8?B?VGwxKy95amFzWE4yZElsbFdMeG1vRE1La3FwUkE1V2Z3Q1NjVm5DRXIvOUhq?=
 =?utf-8?B?bEtRYUxJUVBXNUl2TjZDaWNRR0g5eWhyS1ZnbWN3OWNnYmdqSTlxYThTRVIw?=
 =?utf-8?B?aXRuWDlsRHo1ZDNEVGlXSXVOT3BlS0FSdVhnR1R1NllCZENtb3F1RHRzSnFo?=
 =?utf-8?B?RU8yVjVDWlFmRGZ4cWtyNllYRWRqMVNaNDZJZ2JrMGRsbldsUFV1ZHZRSytl?=
 =?utf-8?B?UkUzRmEvblo4Ymt4c2NFendPNkd3aFFNdE9qZ2d6RC9zT3ZIcUMwSlZPMjFn?=
 =?utf-8?B?bDd2blJMWXZWN1NtKy9VdXh3WGZpeDAveisxcHhoWEI3MmQ2bXlITk4rV3Zu?=
 =?utf-8?B?RjdicU1kZUtWbTBTNTZwd2twWVNOdTBRbW4xZUlVa2h0YmlVNHY0NzV5b05B?=
 =?utf-8?B?VUVKRGR3TTBPZm5oWDM4bmozYWY1amlublEvRmI0d3hndU52TlVNVUUxVmNj?=
 =?utf-8?B?R09xeXUvVmFER2ZXVzJBYmNDb1kzbDRlZ0hWRUVySXE0YnVHTnIwVTRYN1Aw?=
 =?utf-8?B?Vis4SkpSNGpwWkVDN1hIK3o0WW1kOXJkcFI3RFBTVkNJWnY3Qmo3Sis3WXRs?=
 =?utf-8?B?bENtbTdsTGVDc0JlSjhRQWNMbjFPeEpOQWwwUFBHSEdHV3AxWTFCOVNHZlJC?=
 =?utf-8?B?c3ViYm9xdm9NZXJvZjBObGFGQ0xETmptMUFjNDhGUXRGaHNjVUJMbmRnb2Jj?=
 =?utf-8?B?VjZaWjNPVHAvTXpKalVKTXhjM3dtWGVLYWRqdUg3alkxUk5sZ2xjNXY5SjVv?=
 =?utf-8?B?NVFrWFdqVVptSlZ2bm55NnVBbmpYRk0wRWJQN0lNeWRKU0x4MUpJWnlETmxw?=
 =?utf-8?B?aWh3NzY0cEdLcGRrZ2JNclVmNjJiaS9raVNHZWNXRVkySGVKZFhLemt4Y0oz?=
 =?utf-8?B?SUtnRVlsNEJSV2UydllJdEJZSkZJM3cvNUNsMm1VazBHUXdqVkt0bk5TRUFF?=
 =?utf-8?B?Tlo0bW1OeTQvL3dGL3MrMnUrYmtqQXNlS29IVi9qR1l5b2F0eDlnRXdUM1dn?=
 =?utf-8?B?YW9IdERzVVBFY0lVZm9qaS9BTzVXQmkraFgwcjRkNVB3OGk1aFAwYkU0bDhy?=
 =?utf-8?B?OEgzYjlILzAwSVdCTU9TVGdWU0o5d1VCY0lxUE5nY01sdDhQK3dRQUI2U2M4?=
 =?utf-8?B?cmZVRkFYUHFhRVA3MDlXUzhJRTArQ0xzczVialk5UURpNzA0Y2pkdUNuTCtW?=
 =?utf-8?B?c0NWMTBrdm1vb1lBWDdhYVRvTEpQUkhFQllJQzJMQUVnVjVaczZORGc2WTV6?=
 =?utf-8?B?NzJBNE16V1d0QWZPL1ZDY1RHa2h6cTgzRzc1TldCdVhiLzZlTjBlVUwxczZu?=
 =?utf-8?B?eTJRL1RlMXE2ZVZzQmMrN3k1WHNoSGhlR0tkNDZMMEllR2JqZlV6WnJKZW9Y?=
 =?utf-8?B?TnZqRG01dGFRSFhTUXI3OWdJTktXeFUwVWdXa3VsM2NKd1F2a1JRWlpKOUFM?=
 =?utf-8?B?b29XZkVkanpHNDViU096Unpva0VSU0tUd0t4dzQ5MTl5ZjQwaFVyYWpNWU9R?=
 =?utf-8?B?elR1cFhrdTgwZFhKOXAySEQ1b1VXS1RTVHIvMy9NOVhVSXZZeFg1UG9hMUFy?=
 =?utf-8?B?S0x6aUxKVDNUbzBxZGFFVW1SMjB1OVgxNGtPUlBRSDJaZ0toMGg5bmg0ZEZY?=
 =?utf-8?B?M0Z4MzJwbjMvdytJZHlWcEk4Q3Jha09ORU9yeEswejNDL1NKMERaNHJxQ2JB?=
 =?utf-8?B?Y2o0UlhHQXdXSjgzUGNiVk5sZmdwZUtqWDBaV29laHd0b29tKzJoZTFCdUoz?=
 =?utf-8?B?SDBZNVpIc0VTSCtZUmZiN0RFQ0VzRnZmUkpTdENkdm43YnM2Y0RiSWRHNWZv?=
 =?utf-8?Q?LD43nDamNjmz1jJVEl2jaDHNg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 38f49a76-1b3a-4637-89e6-08db20832521
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 09:46:24.8034
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HJcc3nHZWo3BThL4LI9pl7ja//uTntp0TdOZkaHxEPpE20DnfDSnae0QJo9zyYnd6V0ZuUQJvp6OrdXLGmEXKA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8420

On 08.03.2023 17:16, Oleksii wrote:
> On Wed, 2023-03-08 at 16:17 +0100, Jan Beulich wrote:
>> On 08.03.2023 15:54, Oleksii wrote:
>>> Actually after my latest experiments it looks that we don't need to
>>> calculate that things at all because for RISC-V it is  used
>>> everywhere
>>> PC-relative access.
>>> Thereby it doesn't matter what is an address where Xen was loaded
>>> and
>>> linker address.
>>> Right now I found only to cases which aren't PC-relative.
>>> Please look at the patch below:
>>> diff --git a/xen/arch/riscv/include/asm/config.h
>>> b/xen/arch/riscv/include/asm/config.h
>>> index 763a922a04..e1ba613d81 100644
>>> --- a/xen/arch/riscv/include/asm/config.h
>>> +++ b/xen/arch/riscv/include/asm/config.h
>>> @@ -39,7 +39,7 @@
>>>    name:
>>>  #endif
>>>  
>>> -#define XEN_VIRT_START  _AT(UL, 0x80200000)
>>> +#define XEN_VIRT_START  _AT(UL, 0x00200000)
>>
>> I think this wants to remain the address where Xen actually runs, and
>> where Xen is linked to. This ...
>>
>>> --- a/xen/arch/riscv/traps.c
>>> +++ b/xen/arch/riscv/traps.c
>>> @@ -123,8 +123,14 @@ int do_bug_frame(const struct cpu_user_regs
>>> *regs,
>>> vaddr_t pc)
>>>      const char *filename, *predicate;
>>>      int lineno;
>>>  
>>> -    static const struct bug_frame* bug_frames[] = {
>>> -        &__start_bug_frames[0],
>>> +    /*
>>> +     * force fill bug_frames array using auipc/addi instructions
>>> to
>>> +     * make addresses in bug_frames PC-relative.
>>> +    */
>>> +    const struct bug_frame * force = (const struct bug_frame *)
>>> &__start_bug_frames[0];
>>> +
>>> +    const struct bug_frame* bug_frames[] = {
>>> +        force,
>>>          &__stop_bug_frames_0[0],
>>>          &__stop_bug_frames_1[0],
>>>          &__stop_bug_frames_2[0],
>>
>> ... array would better be static anyway, and ...
>>
>>> The changes related to <asm/config.h> are  only to make linker_addr
>>> !=
>>> load_address. So:
>>> 1. The first issue with cpu0_boot_stack in the head.S file. When we
>>> do:
>>>       la      sp, cpu0_boot_stack
>>>    Pseudo-instruction la will be transformed to auipc/addi OR
>>> auipc/l{w|d}.
>>>    It depends on an option: nopic, pic. [1]
>>>    
>>>    So the solution can be the following:
>>>    * As it is done in the patch: add to the start of head.S
>>> ".option  
>>> nopic"
>>>    * Change la to lla thereby it will be always generated
>>> "auipc/addi"
>>> to get an address of variable.
>>>
>>> 2. The second issue is with the code in do_bug_frame() with
>>> bug_frames
>>> array:
>>>    const struct bug_frame* bug_frames[] = {
>>>         &__start_bug_frames[0],
>>>         &__stop_bug_frames_0[0],
>>>         &__stop_bug_frames_1[0],
>>>         &__stop_bug_frames_2[0],
>>>         &__stop_bug_frames_3[0],
>>>     };
>>>   In this case &{start,stop}bug_frames{,{0-3}} will be changed
>>> to     
>>> linker address. In case of when load_addr is 0x80200000 and
>>> linker_addr
>>> is 0x00200000 then &{start,stop}bug_frames{,{0-3}} will be equal to
>>> 0x00200000 + X.
>>
>> ... this "solution" to a problem you introduce by wrongly modifying
>> the linked address would then need applying to any other similar code
>> pattern found in Xen. Which is (I hope obviously) not a viable route.
>> Instead code running before address translation is enable needs to be
>> extra careful in what code and data items it accesses, and how.
>>
> I modified the linked address only for the experiment ( when load_addr
> != linker_addr to emulate situation Julien told me about), so it's not
> something I planned to send as a part of the final patch, and I
> probably forgot to mention that in my previous mail.
> 
> It is only one place where we have to do a kind of 'force' and is
> needed to make the current state of RISC-V Xen work in case we don't
> have MMU enabled yet and linker_addr != load_addr. All other cases
> where it is used something from the range (linker_start, linker_end)
> will be managed by MMU.
> 
> If we can't use mentioned above solution, we still need to handle the
> situation when linker_addr != load_addr and MMU isn't enabled yet.
> Other options to do that:
> 1. add phys_offset ( | load_addr - linker_addr | ) everywhere where
> bug_frames array is used: bug_frames[id] + phys_offset

Well, that again special cases a certain data structure. As said before,
you need to be very careful with any C code involved before translation
is enabled. Unless you want to retain relocations (so you can "move"
from load-time to link time addresses alongside enabling translation,
like we do on x86 in xen.efi), you want to constrain code paths as much
as possible. One approach is to move enabling of translation to early
assembly code (like we do on x86 for xen.gz). The other is to amend
involved code paths with something like what you say above.

> 2. Check somewhere at the start if linker_addr != load_addr, then throw
> an error and panic().

That's not really an option if the boot loader isn't required to place
the image at its linked address (which would be odd if translation
isn't expected to be enabled yet at that point). Plus no matter what
linked address you choose, I guess there may be systems where that
address range simply isn't (fully) populated with RAM.

> Other options might exist. So I would appreciate it if you could
> suggest me some.
> 
> Could you let me know if any options are suitable for handling a case
> when linker_addr?

Main question is how tied you are to doing this in C. x86 and both
Arm flavors do it in assembly, with - as said - the exception of
x86's xen.efi where instead we retain (or generate) and process base
relocations (see efi_arch_relocate_image(), called by
efi_arch_post_exit_boot() immediately before switching to the "real"
page tables).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 09:50:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 09:50:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508214.782638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paCuW-0001qw-5t; Thu, 09 Mar 2023 09:50:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508214.782638; Thu, 09 Mar 2023 09: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 1paCuW-0001qp-3C; Thu, 09 Mar 2023 09:50:08 +0000
Received: by outflank-mailman (input) for mailman id 508214;
 Thu, 09 Mar 2023 09:50:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=wtzB=7B=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1paCuU-0001ln-Am
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 09:50:06 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20609.outbound.protection.outlook.com
 [2a01:111:f400:fe12::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c49123e9-be5f-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 10:50:05 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB9116.eurprd04.prod.outlook.com (2603:10a6:10:2f7::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Thu, 9 Mar
 2023 09:50:02 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 09:50: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: c49123e9-be5f-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kGVZMIKNnOay42fIoIS/wmqv59bxwiO4SgH6nbYxsrm349Mbu5Upg/jY7XrVBMREjxWbOckC1n6uFyGxaefpM+JDFBfcKcTIOURlhUNoVvYKutwvbUZw/CYwLI5b13WpJVqLuaZxIWJApNNIt0DPVTqvXG4OlPMPa2sOD2g9CbNppBt27/c1qOZU8gaGU3LvPnU07G/b4vOc3hLWQvjeQKn9w/2uPCVIIAERde6zRY2OEof4JRHHMQr0Kd3CcMx2ONbWNRzErCmuPM1DWVUSXCm6jgAO2+RY7mTT1ke4AESZsANqaUMiSlAwwULWlL4oKBmacTC4kRw3uHKAaYLwKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kpfYcVI//I2EfD76DvdgLBHXoHZGlKodctP3jzX1nU8=;
 b=c75rmCerBI3UARxLXgAV3+omoeDNOVDLZnCTOjPmSIXiz5DvoOECm+mvHJNkuns6agi1IQ+3MdaC+yd6JPMITvPLg0Vk2L8wxxPsGBmuXbuLM0RT4GAR4VIAPWC2rsZUUHhE5nwaMibLxj2+7oyN0t1tjffQkQc/aQlmWJO2TIUF1O7Gkdgg+X2+nAyxnsHllH5LJI/oAHj7CrRqqtFqA/iWhTWZPNhZ2c0I6X3d9loh11fK+42+jaelt4lf/aZLhY3ow0V4OBFiDO8mq2JKwo3vuipCE3BljmIgJ6+lqkPzjnmikAMoNRyHqG2uM89Lh1mSMiRkc2inAbl6YpSMPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kpfYcVI//I2EfD76DvdgLBHXoHZGlKodctP3jzX1nU8=;
 b=KQ/v+0IbbaBMQqZa8JgaD6V296a8d7iNWWX8Rmx6f4dvFnZ9t9yaDWkIFy9ybfCP7vPh2el8HZ3UFCZBCn1WE6BgLC5nUKqJyYJ9IXAwSTtEMbFaixIyguN28xy8bQLugQAjSMezv5f5lnuvjJ+jGX/iyLaUVhlHN/QTfk9C0HJIL5Qc9mBqk9bqwAW3MgPh9UjGOXrvkUpBrF3gqjmPHm2G4o+DUpxsRJypGe3Kex9BDtXAIPQ1UINqnzNaz8zSy59k0hsxk1VlqqX7yHPaO2AXk+lWaFcHp88NjGQmsyqW5dBJ0bQWm7fijM8wica1zNl3+2RCGW4v/GsN97bMkQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <df9da60f-f443-7c88-1ae8-c2ecb0d2a879@suse.com>
Date: Thu, 9 Mar 2023 10:49:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v6 2/4] xen: change <asm/bug.h> to <xen/bug.h>
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.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: <cover.1678202233.git.oleksii.kurochko@gmail.com>
 <d8722046783462504d5396f7f880ff62b1ef9a90.1678202233.git.oleksii.kurochko@gmail.com>
 <7c7ca139-a77d-c5f1-e8ae-d819656725f1@suse.com>
 <cfe7b79c02bd5a9686a3018654627cade1c9e2f9.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cfe7b79c02bd5a9686a3018654627cade1c9e2f9.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0014.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB9116:EE_
X-MS-Office365-Filtering-Correlation-Id: b6eee350-44f6-40d3-ef29-08db2083a724
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	p47BMuJ8+G0uEZ6CAshtes77PcSMKAQwAx6IxAvVlQtKGZhRsETJz4H2OjH0UqEPjCwgO3Faql5Q1mTEoev1od9i3ZNr4peveBz2p9yirbmWT+mpk8ZA5g36k3O9QWHnrtxRotKm94dHSwyTpYqIbOtB0kHQ27uPpZAwfFBp/Io2DTOjDpz3WEf6gS4Q4lbSCGV9S9qQLz0rz96sUiBHywp4NOBg8SQ7vIJWzGB7vhpbszV3gWgsy0/HJruq7Avfz2l5JZzY/VEMp9Ua8h0UvAXorcK0IO7NRse3+xl9wHr6HzunKIRwNO9dev6KyePtl8lT2wpak3vO6RkrH/BM562HHDzQZHkEV1eJPw9XrhzPiUaCwEuDbUfqtrXYzDsAESN2g6AZLI4Iaer4OVtSd1QgqAhU9erYRb8Je5hQ8LDZFiML7xMa9DAyXDChwZLu5/5EMT6fvawVX5A1BVLhR9bfuTLVTK3ZC2isK7wu/8mRZd5eTRA29rMDeQCE4RzrNFMNGVC+sS4fhLjwHvH/dG+oYGRhYq8ncOCRsbV/VUh85CN1k2CKCSTTwY2pLkGTVajHzD7ioVq7RKaPhD/K9go6ck/MwqY2a65uxLXDx/O4Afl12J/XiOhbxE94TNlm+kLBQAWWLJH1mBSrJpYDbFQc2VZdNW+zAAY4+kYq+VDD+XkD1AIfGYEcPisi01ANzq5jDLiK7IIk7JK1xvN9teDC8iN0hGmsynkxMxh2IC8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(136003)(376002)(396003)(346002)(451199018)(31686004)(316002)(54906003)(36756003)(38100700002)(86362001)(31696002)(478600001)(6506007)(6512007)(26005)(53546011)(6666004)(186003)(2616005)(8936002)(5660300002)(7416002)(6486002)(41300700001)(2906002)(6916009)(66556008)(8676002)(66946007)(4326008)(66476007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WXZtaHduRkIwa09MeHhmdjZtT0R5aDhac1RqZnZYb2YxdlkwbTllaDY1R2Q3?=
 =?utf-8?B?NHRVZ0czTzFmRlArdmkxQklTSVdVWTY0WTF3dEVndUx2ZGVIc2RiMnplMVZm?=
 =?utf-8?B?M0pOTUZBYnRGeUIzQkZ1Qi83ek9TdUlBdGViQlg4T3ZxbWgva0RTakxMOW0w?=
 =?utf-8?B?SVFUZGhvWDZFYVFkOFRySVdTcVZ2dlN1MjBudVBZR3ZDZ05nUTZDMGJmNEc1?=
 =?utf-8?B?RW9jLzlhVkw5T3RxNllXNnl1aUVoeXl0REpTSmxtcmtJK1laRTJWZHN4SlQ0?=
 =?utf-8?B?ckhKZEZHZzNyQ05nbEZrd2hJdWdaTTNCTGFJQmdZdHZmczVvcm5QY3p2bFgv?=
 =?utf-8?B?RGd6TVkwd29KeW54YjlqZ0FGWjIvZHdCaDluUnh1SW9pVjk3bW54b0RPMksz?=
 =?utf-8?B?VnY3QjVtRGZoeUhqN0N2Y2ppWTlMOEJGS2VuTzNiZE9jWW1oWGo0RkdDMjA3?=
 =?utf-8?B?MkZRbXNDZTgvWTNTQkpodEVlZFFDQmhnYm5FeWszYm9LTHZQYmF5TnNOWnVw?=
 =?utf-8?B?WllOUVRiSks0NzNhU0xVQ2FqelFKUDlWNEZGNVRMTVdvTzlsNmQybGJTK2x4?=
 =?utf-8?B?YWRPN0Njd0J2SEZUZlVxaW10K3JsVElJOVU3L1RDWWl2UVN2YmN0NFpYejBE?=
 =?utf-8?B?UEdadEQzSnArdS9lSFp0WnA2dGVTNWdJYmlvNytCRGk1TlY0NE1KendiYlZH?=
 =?utf-8?B?WVlWemE1ZWdlQTVFaElpMTJ0bE9PRkVtcWh3RTlaS3BRc1ZXbGlsNGJ0OUU0?=
 =?utf-8?B?UHFkVlFoZ2cwVlZPc2UzTHZyQ2k3b2NMcWdnTlpBM2tuWGh1RlNaRGRqcXBQ?=
 =?utf-8?B?QkJDOUNwUEpCNzk4Wm5qcVl2OTYxNlMxZnNUVm1JRElNNHlJU2NRV0tseG5T?=
 =?utf-8?B?VTZBOTB2aG00aHB1VzQ3a3ZzL2JRMElucnlvWkJ3Uk1uY3ZKR2gvbUlYWDBN?=
 =?utf-8?B?RkJsSzM2c1M3b01vYnhjSktsaE9yOUpBVGlubWYvNEFJZCsxajdjWUQrMHo1?=
 =?utf-8?B?dGdPbDZETjNCMkR4UmpaVkVjV1FuL2tGYnhZajVONUQ2UG5HTy8wQ1hGeWxu?=
 =?utf-8?B?MWlSUS9ONDVLVjQ1ZE9SSUdVdS9JdEk5S053ODcyL0V0QU9xaHJlNlgrK2VP?=
 =?utf-8?B?OEZDSjUrenZHNk91WU95THlNZ3RKRmczbTNwbHRzZ2xlZFYxMG9qdzl6bmh5?=
 =?utf-8?B?L3ZYQ1RVeGxsWGVmZTk1SkI0RU1oWnJXUWFFU0pWRExrUTkrVkZKaW05YlhL?=
 =?utf-8?B?d0lleUZCU2ZqRzRqSnhuWFJ5Tmw4d0t3M0JtTExUclVvMnV6MVNBU1owdUNK?=
 =?utf-8?B?MVVJVkRHb3dldkMxM1JkQklUSU1ZeE40eUt0Nkl1ZlVnZjBaS2VFU0dqVU52?=
 =?utf-8?B?blJxdXBUVTVaRG1Xc0pqa3JFU2Z3NURWNHRHUk03Q3ZyeEhzS0I4WGI0RWV0?=
 =?utf-8?B?TWFuQVQxU3lVWVdyZEo1T3JSUWkweVhsdytkd2I4U2NKSWo0N3NFZ25PVzdK?=
 =?utf-8?B?am0wRW1DTlpaeE1maDdXWkpQUU81a3k3MG40U3h6TUN4UGUvWUJPZmxCeCtl?=
 =?utf-8?B?b28rSFhVM1c4MFc3cnFPS20vaHljc2FyNmRJdjRWT0FWQXZyRmxBcnlVTW81?=
 =?utf-8?B?STI3ZkxjanU5bkpVTmFIRHUvNitLNkJxeE9DbnVDSzJ4MmFXaWhkT2ZPMElJ?=
 =?utf-8?B?KzFYcXdnbElXR3QwZVAvRzl2bUN1bEY2M1YyZnpHMUNWRTdPR1UzNVpxcXE1?=
 =?utf-8?B?NGtabjEwZnlNSHdFUEZXSlYrc09GMWpobC9CbnA4TlU2VTdueHlSc3FsQ3FT?=
 =?utf-8?B?WTlOMjF3cXVTc0I1Vm96eGZOSHQ0MXV2Y0NiUEJ2MXR2Wi9XZjZRdFp5bzBN?=
 =?utf-8?B?SUREWjc2cUtHNUszQWo2S1VHUzd5UmM3c1NDMkNHb3B0UUdqZzhEMkhVa2pi?=
 =?utf-8?B?b1RVMzFBaHFqOTk1cks4b1lzczRIMFBSRmlYemtubmdGZjI0NEdObmJyVmQv?=
 =?utf-8?B?L0J5RXFSWm1CckpXSVU3dHlXdjJNTG1OektIOWFodVhVRXF4VzE2UlFUcHhZ?=
 =?utf-8?B?cmRMUWlFWitGZnFvMEp0SXNtZk1GbjNDci95MGJXekJaQTlBNFZ3VTBHQmhF?=
 =?utf-8?Q?woo8WawyoCp9UPVq5kdCsguqg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b6eee350-44f6-40d3-ef29-08db2083a724
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 09:50:02.1483
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yps5rvMUoa2r7MUx3E2whzt3J1cKct9urfMkEDjwTRq6dnlHuDhVxzRCLVQETFe8Bh35GVOlekA0/ltYOnBKyQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9116

On 08.03.2023 18:25, Oleksii wrote:
> On Wed, 2023-03-08 at 16:27 +0100, Jan Beulich wrote:
>> On 07.03.2023 16:50, Oleksii Kurochko wrote:
>>> --- a/xen/arch/arm/include/asm/bug.h
>>> +++ b/xen/arch/arm/include/asm/bug.h
>>> @@ -1,6 +1,8 @@
>>>  #ifndef __ARM_BUG_H__
>>>  #define __ARM_BUG_H__
>>>  
>>> +#include <xen/types.h>
>>> +
>>>  #if defined(CONFIG_ARM_32)
>>>  # include <asm/arm32/bug.h>
>>>  #elif defined(CONFIG_ARM_64)
>>> @@ -9,10 +11,16 @@
>>>  # error "unknown ARM variant"
>>>  #endif
>>>  
>>> +#undef BUG_DISP_WIDTH
>>> +#undef BUG_LINE_LO_WIDTH
>>> +#undef BUG_LINE_HI_WIDTH
>>
>> Why? For Arm ...
>>
>>>  #define BUG_DISP_WIDTH    24
>>>  #define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
>>>  #define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
>>
>> ... you could purge these as unused, even in a standalone prereq
>> patch.
>> And on x86 ...
>>
>>> --- a/xen/arch/x86/include/asm/bug.h
>>> +++ b/xen/arch/x86/include/asm/bug.h
>>> @@ -1,19 +1,18 @@
>>>  #ifndef __X86_BUG_H__
>>>  #define __X86_BUG_H__
>>>  
>>> +#undef BUG_DISP_WIDTH
>>> +#undef BUG_LINE_LO_WIDTH
>>> +#undef BUG_LINE_HI_WIDTH
>>> +
>>>  #define BUG_DISP_WIDTH    24
>>>  #define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
>>>  #define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
>>
>> ... there's no reason to #undef just to the #define again to the same
>> values. All of this would be removed in a subsequent patch anyway,
>> and
>> it's less code churn (with code nevertheless being correct) if you
>> get
>> rid of the #define-s right away (as iirc you had it in an earlier
>> version). If you agree then with these adjustments
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> It won't be compilation issue (redefinition) in the current one case
> because defines are the same as in <xen/bug.h> so it is possible to not
> add #undef in this patch.

Avoiding to add the #undef is the minimal approach. Yet as indicated I
think the #define-s should also be dropped right here (x86) and in a
prereq patch (Arm).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 10:06:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 10:06:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508217.782648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paD9d-0003ji-Gz; Thu, 09 Mar 2023 10:05:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508217.782648; Thu, 09 Mar 2023 10:05:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paD9d-0003jb-E7; Thu, 09 Mar 2023 10:05:45 +0000
Received: by outflank-mailman (input) for mailman id 508217;
 Thu, 09 Mar 2023 10:05: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=ne43=7B=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1paD9b-0003jV-R7
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 10:05:44 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20623.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f1de577d-be61-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 11:05:41 +0100 (CET)
Received: from MW4P223CA0016.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::21)
 by DS7PR12MB6119.namprd12.prod.outlook.com (2603:10b6:8:99::8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.19; Thu, 9 Mar 2023 10:05:37 +0000
Received: from CO1NAM11FT028.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:80:cafe::12) by MW4P223CA0016.outlook.office365.com
 (2603:10b6:303:80::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19 via Frontend
 Transport; Thu, 9 Mar 2023 10:05:37 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT028.mail.protection.outlook.com (10.13.175.214) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.19 via Frontend Transport; Thu, 9 Mar 2023 10:05:36 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 9 Mar
 2023 04:05: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.2375.34; Thu, 9 Mar
 2023 04:05:35 -0600
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 9 Mar 2023 04:05: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: f1de577d-be61-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mJdmhdVh/VUPNmWTFVMgMqR9W7ys8W+5hsylO4/1/dxEn3iTrzmTGXzggX+vcxhlMgYdRRmxJ/NS5AwaFXQDmuii/wP8OxrfECNXsiXrzn2lug0fV65sdjKa6gl85ZDajtFy8SMC0LmyI6QHOky33wVK//wJ0Nm1E4Inbqt9taWH32nitEG2cEav2E7zQlolEXFFTqAdPc46M2oRO68FEk6uqeSfwict+MUDTJ9boWDCyixq2zEKJ+bkL3jd0TnywFvrN0Nq1u3ZAoilZAk2UL4N3pQ6h8qjB96ybdY0VC7APi7uvZfT87/N2tYx9dsPWZBjvYvdl+IMhQRhIy0UTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mxMENOMNt4+EexvvRVYrPdDFcKix4pihgehM8puo24g=;
 b=gkUmlanH70MU8hIkpTecdhN2MlZJTwLtT6rtnhHCuNB4jC0nB7Oe8JnjNIc54z7sar3fYqhs/v0zdiJ7CFFZyOeezS83cTHFDFZnGsLORWUTzd5cX9Nr9Taj4xbllmwIHSR6iim9UJPOLIE1ojt67cMcDmnBK8989bf1yeemZlyWrhfgTem4trPmjx3D3zVPT6DgY3zAIDwww2xY1gvPXyrC51UF6U6i0R61mIcVs5geLgBDNgF8ThwmnBGC7HlQGubsUj8lvpXdn/GGnTmbkR03OR6OaDQVM2xUWpHglzH8XmNUBCrk+jWaCG5XhCfSlLzxwOO6W8L0QfTHd/8ZUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mxMENOMNt4+EexvvRVYrPdDFcKix4pihgehM8puo24g=;
 b=chNCERe2xHkAij7gUWv1H/boMxyWzpWO/b1m8rtya2n7S9bCaBvL748xVH00Dbzo4wYJxfrIczazPhcm/izHCJ9Ieq2y3uA77nAmN8J1Fjoc8GDSLhbC7CdCDhUm2b2dBMSH4Rypki7KXMGEXK+mhM7HTCeFE2XrijWyGLSCZ7M=
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: <7a0734e9-a980-3dc1-026d-0c96a89c4d5c@amd.com>
Date: Thu, 9 Mar 2023 11:05:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts
 by names
To: Bertrand Marquis <Bertrand.Marquis@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Andrei Cherechesu
	<andrei.cherechesu@nxp.com>, Julien Grall <julien@xen.org>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
 <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
 <alpine.DEB.2.22.394.2303071301300.863724@ubuntu-linux-20-04-desktop>
 <B58C926D-25FD-4EB6-A83C-229E72E16181@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <B58C926D-25FD-4EB6-A83C-229E72E16181@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT028:EE_|DS7PR12MB6119:EE_
X-MS-Office365-Filtering-Correlation-Id: c47fa238-d9c6-44bd-c153-08db2085d462
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ggl+fL+mCbUvC9gOzt/PUtl8coxPbMnPxLLrNRX0iHaxbeVcYukV5z0dgroHjfc6aRIg9Oi1fB2ezb7RNaQsgNG+0ZlAXkN7c5wZBz50c798u++SFmQ4lO17ED4v78IFRHRMPGMCJ1aamCdetBz/msygDNcjeuOi4Q+1bBbUJ1MyWi6tU4FULNJfS76fNWng9HMNzpWt6NAptnfkkzHBzv0Bobtf6DNzSdm/7c2SQ/PtGhBO0qKUfRlVbeWQJVJvCx5K7W/AQMevuhwhpqAQf5CPc/UQZrtGAwlznFV4GfS/d3fcAJ1fjv2+CVD3G/MBOjrht7v/gHVgzhBiM2SeKT0hMX15i+M57GtcdYpxMeeCT7tZog7isULjl09TnwsaNg4vTTupKJz+RALRbdm7It+zTaYnyw9yWRRfWPBdxkLeBwu0+e8wHnUTGOoINM2809fXtj3VSq7CSu04ThwUzWZEvSjnVYwvSAHwRnKC0GSO1+r2NB9gfZrY2WvwvEldx11CnryYczK29UxB8G1Icf1LTsEVOczLhMG67NEl8e2KlyZWXEpl6vjOd3sclbssImPlRTu9W1g9OVhnvP/jOhI30Hrz56ex95+88jvgW23OUFnFxt29fThiW8LFRWFTlI19uirpA/zU/YTXFbgGg4AQq+VStiS0B60skZ73X6fl+a2xlPgKcIaQWbDZU6dQhhxO863S+bwvECZkaVrm0qliW1YulBd2cJ5ylO4KzMpPHHimEmfyKNCYOlbjR+Nf0MB4JTD4pSR30SvWoeuIPQ==
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:(13230025)(4636009)(39860400002)(376002)(346002)(396003)(136003)(451199018)(36840700001)(40470700004)(46966006)(82740400003)(186003)(36860700001)(36756003)(478600001)(54906003)(31696002)(81166007)(356005)(86362001)(110136005)(316002)(16576012)(31686004)(82310400005)(426003)(47076005)(26005)(83380400001)(41300700001)(2616005)(336012)(40460700003)(53546011)(5660300002)(44832011)(40480700001)(70586007)(70206006)(8936002)(2906002)(4326008)(8676002)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 10:05:36.7475
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c47fa238-d9c6-44bd-c153-08db2085d462
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:
	CO1NAM11FT028.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6119



On 09/03/2023 09:02, Bertrand Marquis wrote:
> 
> 
> Hi Stefano,
> 
>> On 7 Mar 2023, at 22:02, Stefano Stabellini <sstabellini@kernel.org> wrote:
>>
>> On Tue, 7 Mar 2023, Bertrand Marquis wrote:
>>>> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu@oss.nxp.com> wrote:
>>>>
>>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>
>>>> Added support for parsing the ARM generic timer interrupts DT
>>>> node by the "interrupt-names" property, if it is available.
>>>>
>>>> If not available, the usual parsing based on the expected
>>>> IRQ order is performed.
>>>>
>>>> Also added the "hyp-virt" PPI to the timer PPI list, even
>>>> though it's currently not in use. If the "hyp-virt" PPI is
>>>> not found, the hypervisor won't panic.
>>>>
>>>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>> ---
>>>> xen/arch/arm/include/asm/time.h |  3 ++-
>>>> xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
>>>> 2 files changed, 24 insertions(+), 5 deletions(-)
>>>>
>>>> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
>>>> index 4b401c1110..49ad8c1a6d 100644
>>>> --- a/xen/arch/arm/include/asm/time.h
>>>> +++ b/xen/arch/arm/include/asm/time.h
>>>> @@ -82,7 +82,8 @@ enum timer_ppi
>>>>    TIMER_PHYS_NONSECURE_PPI = 1,
>>>>    TIMER_VIRT_PPI = 2,
>>>>    TIMER_HYP_PPI = 3,
>>>> -    MAX_TIMER_PPI = 4,
>>>> +    TIMER_HYP_VIRT_PPI = 4,
>>>> +    MAX_TIMER_PPI = 5,
>>>> };
>>>>
>>>> /*
>>>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>>>> index 433d7be909..794da646d6 100644
>>>> --- a/xen/arch/arm/time.c
>>>> +++ b/xen/arch/arm/time.c
>>>> @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
>>>>
>>>> static unsigned int timer_irq[MAX_TIMER_PPI];
>>>>
>>>> +static const char *timer_irq_names[MAX_TIMER_PPI] = {
>>>> +    [TIMER_PHYS_SECURE_PPI] = "sec-phys",
>>>> +    [TIMER_PHYS_NONSECURE_PPI] = "phys",
>>>> +    [TIMER_VIRT_PPI] = "virt",
>>>> +    [TIMER_HYP_PPI] = "hyp-phys",
>>>> +    [TIMER_HYP_VIRT_PPI] = "hyp-virt",
>>>> +};
>>>> +
>>>
>>> I would need some reference or a pointer to some doc to check those.
>>>
>>>> unsigned int timer_get_irq(enum timer_ppi ppi)
>>>> {
>>>>    ASSERT(ppi >= TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
>>>> @@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void)
>>>> {
>>>>    int res;
>>>>    unsigned int i;
>>>> +    bool has_names;
>>>> +
>>>> +    has_names = dt_property_read_bool(timer, "interrupt-names");
>>>>
>>>>    /* Retrieve all IRQs for the timer */
>>>>    for ( i = TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>>>>    {
>>>> -        res = platform_get_irq(timer, i);
>>>> -
>>>> -        if ( res < 0 )
>>>> +        if ( has_names )
>>>> +            res = platform_get_irq_byname(timer, timer_irq_names[i]);
>>>> +        else
>>>> +            res = platform_get_irq(timer, i);
>>>> +
>>>> +        if ( res > 0 )
>>>
>>> The behaviour of the code is changed here compared to the current
>>> version as res = 0 will now generate a panic.
>>>
>>> Some device tree might not specify an interrupt number and just put
>>> 0 and Xen will now panic on those systems.
>>> As I have no idea if such systems exists and the behaviour is modified
>>> you should justify this and mention it in the commit message or keep
>>> the old behaviour and let 0 go through without a panic.
>>>
>>> @stefano, julien any idea here ? should just keep the old behaviour ?
>>
>> platform_get_irq returns 0 if the irq is 0. The irq cannot be 0 because
>> 0 is reserved for SGIs, not PPIs. So I think it is OK to consider 0 an
>> error.
> 
> Problem here is that a DTB might not specify all interrupts and just put
> 0 for the one not used (or not available for example if you have no secure
> world).
Xen requires presence of EL3,EL2 and on such system, at least the following timers needs to be there
according to Arm ARM:
- EL3 phys (if EL3 is there)
- EL1 phys (always)
- EL1 virt (always)
- NS EL2 phys (if EL2 is there)

therefore, if we get 0 for one of those, it means that something went wrong and we shall consider
it as an error.

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 10:38:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 10:38:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508222.782657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paDfM-0007oW-6h; Thu, 09 Mar 2023 10:38:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508222.782657; Thu, 09 Mar 2023 10: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 1paDfM-0007oP-4B; Thu, 09 Mar 2023 10:38:32 +0000
Received: by outflank-mailman (input) for mailman id 508222;
 Thu, 09 Mar 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=HnZm=7B=gmail.com=matiasevara@srs-se1.protection.inumbo.net>)
 id 1paDfK-0007oJ-NX
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 10:38:30 +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 8780463f-be66-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 11:38:29 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 fm20-20020a05600c0c1400b003ead37e6588so3222188wmb.5
 for <xen-devel@lists.xenproject.org>; Thu, 09 Mar 2023 02:38:28 -0800 (PST)
Received: from horizon ([2a01:e0a:257:8c60:48e5:bfa:d652:b8ef])
 by smtp.gmail.com with ESMTPSA id
 i3-20020a05600c354300b003ebff290a52sm1914035wmq.28.2023.03.09.02.38.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 02: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: 8780463f-be66-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678358308;
        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=0NhEU7xbEOUUSufeP5ilaGhAhkaYmEyNCDTT5uYn8LI=;
        b=YbHIumDNdISTfr6L8fQdBFpVs7Y3HlW9RAZ1QM5pEeS6jm3hnCm6EaZdYOqJPSpH8m
         pJxuDpGgYXG69qsCXApqjM85a1qG0gMUy0gc0/7NrlreCryT3U3VtKaOGZOMgJTEDkml
         nMcR/Q4Dztg2v7/KHMZKDQGM51VRYC0sSVXhld75KF4G4Qs7RJNapkSH0jnpBBjkAk3p
         j7ddYli3rstZi0IS8bD1uD5jfCx92azsPwoVJu7ayISVTj8bH8eYK5CUjpGcqBGmtiFC
         L80nZaFIRSutC1f5+pkh+iBJBF4MlK26/bbi5U2ziFunamjC0ES+LMc9Zaeg7Ptjeeic
         Nnjw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678358308;
        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=0NhEU7xbEOUUSufeP5ilaGhAhkaYmEyNCDTT5uYn8LI=;
        b=0qQyfYj+2V/z8sVpU29ImM8V9DzwxrUH/PE6jtTWBi+zCbOz3JnXt5vh6zJtQcSnyY
         /wbYBSusM5ogoAQ5bzSt4t7E84YD7W336WzKzGP4bluKLUqRx6eYFDc5ccX5oAyskHnD
         M8jVhaJX2RD79lpRb0lwQuQ9BHOZRXhq2H8yi6KdNrmzI3PpVMlRWZ4TZIF7MryxKaLI
         nIqkUEuGf3znJZ6gK6Sg44aShCAGRPVP5alVVzS5JfERtkv6Niq/njDqSXhmCGuIqiCY
         6d2hcO/aMYdXSl2kUfKVufp6NiqT2alo2suVryTZX1FQgTA3S2wFzAMWUYn5jBkV4M+o
         I5Ig==
X-Gm-Message-State: AO0yUKUqx6i8RT+tZmNpDA9xB6N4QVWgw/NqlzM3GlxzY87yCo4AwAju
	3R3isHOEDIYuZHMvaidtHcE=
X-Google-Smtp-Source: AK7set8c2oqmYJujEMOYskeCAgSwvDfGtDo4gIdOYc7nWH9y0FqZa7BCado+ln35Wb3QMwjFzuQl8A==
X-Received: by 2002:a05:600c:4fc4:b0:3eb:2de8:b732 with SMTP id o4-20020a05600c4fc400b003eb2de8b732mr19060630wmq.0.1678358308212;
        Thu, 09 Mar 2023 02:38:28 -0800 (PST)
Date: Thu, 9 Mar 2023 11:38:25 +0100
From: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org,
	Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: API/ABIs: Re: [RFC PATCH v2 0/2] Add a new acquire resource to
 query vcpu statistics
Message-ID: <20230309103825.GA1221165@horizon>
References: <cover.1665138677.git.matias.vara@vates.fr>
 <90a551bc-ffda-6db8-775b-11c100bf6f52@citrix.com>
 <20230306142315.GA745324@horizon>
 <c40f1a4e-63a5-af2a-e5db-729b1af80708@suse.com>
 <20230308115410.GA1108824@horizon>
 <d0354bab-3022-6048-8d58-45f63aaf26be@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <d0354bab-3022-6048-8d58-45f63aaf26be@suse.com>

On Wed, Mar 08, 2023 at 03:16:05PM +0100, Jan Beulich wrote:
> On 08.03.2023 12:54, Matias Ezequiel Vara Larsen wrote:
> > On Tue, Mar 07, 2023 at 11:12:00AM +0100, Jan Beulich wrote:
> >> On 06.03.2023 15:23, Matias Ezequiel Vara Larsen wrote:
> >>> - Xen shall use the "stats_active" field to indicate what it is producing. In
> >>>   this field, reserved bits shall be 0. This shall allow us to agree on the
> >>> layout even when producer and consumer are compiled with different headers.
> >>
> >> I wonder how well such a bitfield is going to scale. It provides for
> >> only 32 (maybe 64) counters. Of course this may seem a lot right now,
> >> but you never know how quickly something like this can grow. Plus
> >> with ...
> >>
> > 
> > Would it make sense to define it like this?:
> > 
> > struct vcpu_shmem_stats {
> > #define STATS_A (1u << 0)
> > ...
> > #define VCPU_STATS_MAGIC 0xaabbccdd
> >      uint32_t magic;
> >      uint32_t offset;  // roundup(sizeof(vcpu_shmem_stats) + sizeof(uint32_t) * nr_stats, cacheline_size)
> >      uint32_t size;    // sizeof(vcpu_stats)
> >      uint32_t stride;  // roundup(sizeof(vcpu_stats), cacheline_size)
> >      uint32_t nr_stats; // size of stats_active in uint32_t
> >      uint32_t stats_active[XEN_FLEX_ARRAY_DIM];
> >      ...
> > };
> 

The use of stats_active[] is meant to have a bitmap that could scale thus not
limiting the number of counters in the vcpu_stat structure to 32 or 64. I can't
see other way to have an unlimited number of counters though.

> Possibly, but this would make it harder to use the interface. An alternative
> might be to specify that an actual stats value set to ~0 marks an inactive
> element. Since these are 64-bit counters, with today's and tomorrow's
> computers we won't be at risk of a counter reaching a value of 2^^64-1, I
> guess. And even if there was one where such a risk could not be excluded
> (e.g. because of using pretty large increments), one would merely need to
> make sure to saturate at 2^^64-2. Plus at such a point one would need to
> consider anyway to switch to 128-bit fields, as neither saturated nor
> wrapped values are of much use to consumers.
> 

If I understand well, this use-case is in case an element in the stats_active
bitmap becomes inactive, i.e., it is set to "0" in stats_active[]. You are
proposing to set to ~0 the actual stats value to mark an inactive element. I
may be missing something here but would not be enough to set to "0" the
corresponding stats_active[] bit? 

> >>> - In the vcpu_stats structure, new fields can only ever be appended.
> >>
> >> ... this rule the only ambiguity that could arise to consumers when
> >> no active flags existed would be that they can't tell "event never
> >> occurred" from "hypervisor doesn't know about this anymore".
> > 
> > Do you mean how the consumer can figure out if either 1) Xen does not know yet
> > about some flag or 2) the flag has been deprecated? I think 2) is the case that
> > Andrew mention in which the magic number could be used as an ABI version to
> > break backwards compatibility.
> 
> No, an inactive field wouldn't break the ABI. An ABI change would be if
> such an inactive field was actually removed from the array. Or if e.g.,
> as per above, we needed to switch to 128-bit counters.

Got it, Thanks.

Matias


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 10:40:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 10:40:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508225.782668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paDgx-0000wT-K4; Thu, 09 Mar 2023 10:40:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508225.782668; Thu, 09 Mar 2023 10:40:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paDgx-0000wM-GO; Thu, 09 Mar 2023 10:40:11 +0000
Received: by outflank-mailman (input) for mailman id 508225;
 Thu, 09 Mar 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=V3pJ=7B=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1paDgw-0000wG-Qb
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 10:40:11 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20622.outbound.protection.outlook.com
 [2a01:111:f400:fe13::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1c06245-be66-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 11:40:08 +0100 (CET)
Received: from AS8PR04CA0146.eurprd04.prod.outlook.com (2603:10a6:20b:127::31)
 by AS8PR08MB10224.eurprd08.prod.outlook.com (2603:10a6:20b:62b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.23; Thu, 9 Mar
 2023 10:39:59 +0000
Received: from VI1EUR03FT039.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:127:cafe::cb) by AS8PR04CA0146.outlook.office365.com
 (2603:10a6:20b:127::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19 via Frontend
 Transport; Thu, 9 Mar 2023 10:39:59 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT039.mail.protection.outlook.com (100.127.144.77) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.19 via Frontend Transport; Thu, 9 Mar 2023 10:39:58 +0000
Received: ("Tessian outbound c2bcb4c18c29:v135");
 Thu, 09 Mar 2023 10:39:58 +0000
Received: from fcc12fa1fd1f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EBF7C3B6-C8C0-41B8-99A9-12B9230F7F4F.1; 
 Thu, 09 Mar 2023 10:39:51 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fcc12fa1fd1f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 09 Mar 2023 10:39:51 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AM0PR08MB5473.eurprd08.prod.outlook.com (2603:10a6:208:180::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Thu, 9 Mar
 2023 10:39:44 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6178.019; Thu, 9 Mar 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>
X-Inumbo-ID: c1c06245-be66-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LWTyIrOXbBopUAGGFYtHLCsRTeQBppWQ3pIVJMCYV5c=;
 b=wh1IHVVYBoMUb+1y/tGnbxYGXIMb1p+PcnTxJyTOjIIH0kK4bYG+6f0sQetVIcb8BWQRzzV+dkQ4eQNVIPRYzHXmwasHOWetY2jbmplGb8+A0hxAWXR+3rEXyfX+Iki9e3856muEkQOsKgMvX62MmjCx25hQ+Re0+cyfv0Pd3+c=
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: e0011f062adfc4a5
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ped5G5u54kRWRNFLCRoC8YysqaGtEWFN7eJOfX8thpQ6rfKOaNhiXeMoFi8JG7YJ9gR1FWPDRaPKyGS7ZYx+5oFBtwsAAuGXjGm/sNAiaWmOKRESKUWXR32oqC1oEtDcwY8zfdmXYjYvItaxLpGOk10xYJ05KLbwWwnoZLqK+C1sc7KWYEo0fKHoyh/XaGIsY0cf19W8CbadKIcR+hAIxGO4cSlGjPUqcxZvN4vpFomoBIFATkOHYbsRatf9RgS3ktUKQlBkent14nzDq8FFarxPO7ZzajE7TcSbouDVvRfdtCXdM4WdZ4HLr9r4ERxRJ6CbBqJq+XRFbkwz47DTUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LWTyIrOXbBopUAGGFYtHLCsRTeQBppWQ3pIVJMCYV5c=;
 b=e4OJ4R91zOORL/9oLkGbGNHVhei6TGsNXqWba5XHDtT0RvM81SYtom2OO6HKBwI7gHoOV/ZxIkPnekyl1OsYhJIv+M/+I3UZbdd3jZ2+/BLH9RVtc5xmKOIqvygx9U6p6cwEn8Rr6pDwi3/Z4xKCp0RfqTgrhX5n0vH78k9i8Ua6K6AAFsIkkZW3X48fG2RB6LU5cfJrQkwztnW0gnNQfGEzU9XmIyl9J7sSDrjiGyoR0iIow6ClyBrNLC3IS7UD1hGeu2pAf3OkQEU5uTIDyYnY352+JbtHoafbSZg5hDGNVViwOaYXnvV2O6igCj26PI1isnp+5C5pDWlKmep/6g==
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=LWTyIrOXbBopUAGGFYtHLCsRTeQBppWQ3pIVJMCYV5c=;
 b=wh1IHVVYBoMUb+1y/tGnbxYGXIMb1p+PcnTxJyTOjIIH0kK4bYG+6f0sQetVIcb8BWQRzzV+dkQ4eQNVIPRYzHXmwasHOWetY2jbmplGb8+A0hxAWXR+3rEXyfX+Iki9e3856muEkQOsKgMvX62MmjCx25hQ+Re0+cyfv0Pd3+c=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "Andrei Cherechesu (OSS)"
	<andrei.cherechesu@oss.nxp.com>, Xen-devel <xen-devel@lists.xenproject.org>,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts
 by names
Thread-Topic: [PATCH v1 2/2] arch/arm: time: Add support for parsing
 interrupts by names
Thread-Index: AQHZUN0sbGmRWBiDtEmQnPFLsz5lVK7vc/8AgABafACAAkqcgIAAIo2AgAAJfwA=
Date: Thu, 9 Mar 2023 10:39:42 +0000
Message-ID: <0932C0EB-F90A-45D4-87F4-3594E6E74C64@arm.com>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
 <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
 <alpine.DEB.2.22.394.2303071301300.863724@ubuntu-linux-20-04-desktop>
 <B58C926D-25FD-4EB6-A83C-229E72E16181@arm.com>
 <7a0734e9-a980-3dc1-026d-0c96a89c4d5c@amd.com>
In-Reply-To: <7a0734e9-a980-3dc1-026d-0c96a89c4d5c@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.3731.400.51.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_|AM0PR08MB5473:EE_|VI1EUR03FT039:EE_|AS8PR08MB10224:EE_
X-MS-Office365-Filtering-Correlation-Id: 0fa5f393-f19d-4abe-bcc5-08db208aa142
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:
 l/EL4YfBgyxDGi3/iC5gaBqGNVZsgwiSmI59xp4J+lozE83w3aJBDCP0uqDiANDainuteam7em3hD1UcOEDJFSGnjJwTqn+41BkfmY76JNqy8KoXWPPugguR5YjXyHxiSpEeudEbx4PYXJRiBu9L04dBqHf2w2bQLugUvKiMPd9Wizu0I7U/JAT117Gint6NT9lINYX8pRrFSVPf+UmgAMAzHmJk0gAHGS3Vg48o7cNWct2F5FuUs7MHf74gx2gErvwt2FX28wHZ+GPPEZven/bQq7aiK8Aidho6nYlsfz0zyZjfyUEshmVYSbpCCBFUv+nunJRXrbQuX0P9AhS8fEav/EHd1uUNW/joCa1/jwvOfeia0FlNGBITxteafcf+64mxKxOtdyQ/+By0zYONnFS8jAnpZi5yXut4H7DYHo78y+mNQOaK6QQwmd3stJqywTUYhnKsI8WhFQFdwOz/tzEzrNQgpKkNrcMIXjrOkvsz29UR+OkadbkAuYSE3InmXCMMHsxR/9EDZCqicb5ooAbUFaZhahhU3FynXjpIPOsXtrptO4SlBO80Nl2C19fP7GV4S8/s/suE46O/dJYbGskQ142WMeEOieqztfgiUXyljuiRsYsmvC/0/BdY3lr+MhY3oYcVRaokVfSg/ce0buM4CA86OLAPurD1lZbyzti0i3jr33mb5M5qImeNZlURjIZHBwX1FVsKXzGEWwIRjEvP0qI6jH5navUcAeRZ+sQ=
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:(13230025)(4636009)(346002)(376002)(136003)(39860400002)(396003)(366004)(451199018)(36756003)(33656002)(316002)(54906003)(6486002)(478600001)(38070700005)(5660300002)(71200400001)(8936002)(2906002)(66476007)(91956017)(6916009)(76116006)(4326008)(64756008)(8676002)(66556008)(66446008)(66946007)(41300700001)(122000001)(186003)(86362001)(38100700002)(2616005)(6512007)(53546011)(6506007)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <C4F78FC39A169348A0F2D28C64E806AE@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5473
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:
 VI1EUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1f147420-c8aa-41c8-4161-08db208a97f4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	26VRKjZrpcuQYVZDvycHjE1+A2YGdplSRtfsck2q5wynXGgk2M7b+5flq+WTWaAMGtn//R30U3gzLtbZpDsGY/esfiMvqu8maVR7JYq1Xrgv5R91GefamrWm7+wI2Rv1tXt1ESU5/HO29HMAM6Gm3AIuEzezGpZUShfSYlal2QUKJVr1nHUPGZxuTPJ9MgmyGHZ+AklJeUvLav+sNVHkpH9pOsY932cFdfr54wI3bthvQR/IDWQX0fbQ6+pIyaymYnE+JP43A3Az9hMRgfbIGBhr0FuSiK0hxonwBiMlS6sQeDE50nwi/5A5qxca4nS8FTMO6tEhlL8AQ5O76BhDn/BWi0/x/SOXimzAqZB2tShxxeiK40ifMy5oFir8XTt2pesXFyBstC7zoSP2Ndet24VC47i61YRF7opIXa3wy+OJZz/5UO/xXrej6LMra25Y3Toay15I2zSyCBF/BdHv3Kgjj8hpJSvTC5PNZJDJC1gRNUpPOZkTPcRE232d4xl0VsdySIoAsISPK9K1Sirqk3NKddL2MuJPwZPxhzHYjnM0esywjkm2WprkIlNqj1RVgLQevdYN8NBF3GQaEkxk7KmNe0PQYdhK8D64URQQMZWnfjFOWyNL761vGJdOaG0dFzZ0m/F8/c7RYTlsdFezqcJD8kcW5Sa6qeWIgLVEYmsiHIxu2NBL2HzMNCLpLv42VMT0DF4BU8rPqcwIH/v6CA==
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:(13230025)(4636009)(39860400002)(376002)(396003)(136003)(346002)(451199018)(36840700001)(46966006)(40470700004)(36860700001)(478600001)(47076005)(82310400005)(33656002)(36756003)(336012)(26005)(82740400003)(81166007)(54906003)(356005)(316002)(83380400001)(2616005)(40460700003)(6512007)(186003)(41300700001)(40480700001)(6486002)(53546011)(8676002)(70586007)(5660300002)(70206006)(2906002)(6862004)(86362001)(6506007)(4326008)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 10:39:58.4732
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0fa5f393-f19d-4abe-bcc5-08db208aa142
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:
	VI1EUR03FT039.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB10224

Hi Michal,

> On 9 Mar 2023, at 11:05, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
>=20
>=20
> On 09/03/2023 09:02, Bertrand Marquis wrote:
>>=20
>>=20
>> Hi Stefano,
>>=20
>>> On 7 Mar 2023, at 22:02, Stefano Stabellini <sstabellini@kernel.org> wr=
ote:
>>>=20
>>> On Tue, 7 Mar 2023, Bertrand Marquis wrote:
>>>>> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu@o=
ss.nxp.com> wrote:
>>>>>=20
>>>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>=20
>>>>> Added support for parsing the ARM generic timer interrupts DT
>>>>> node by the "interrupt-names" property, if it is available.
>>>>>=20
>>>>> If not available, the usual parsing based on the expected
>>>>> IRQ order is performed.
>>>>>=20
>>>>> Also added the "hyp-virt" PPI to the timer PPI list, even
>>>>> though it's currently not in use. If the "hyp-virt" PPI is
>>>>> not found, the hypervisor won't panic.
>>>>>=20
>>>>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>> ---
>>>>> xen/arch/arm/include/asm/time.h |  3 ++-
>>>>> xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
>>>>> 2 files changed, 24 insertions(+), 5 deletions(-)
>>>>>=20
>>>>> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/a=
sm/time.h
>>>>> index 4b401c1110..49ad8c1a6d 100644
>>>>> --- a/xen/arch/arm/include/asm/time.h
>>>>> +++ b/xen/arch/arm/include/asm/time.h
>>>>> @@ -82,7 +82,8 @@ enum timer_ppi
>>>>>   TIMER_PHYS_NONSECURE_PPI =3D 1,
>>>>>   TIMER_VIRT_PPI =3D 2,
>>>>>   TIMER_HYP_PPI =3D 3,
>>>>> -    MAX_TIMER_PPI =3D 4,
>>>>> +    TIMER_HYP_VIRT_PPI =3D 4,
>>>>> +    MAX_TIMER_PPI =3D 5,
>>>>> };
>>>>>=20
>>>>> /*
>>>>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>>>>> index 433d7be909..794da646d6 100644
>>>>> --- a/xen/arch/arm/time.c
>>>>> +++ b/xen/arch/arm/time.c
>>>>> @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
>>>>>=20
>>>>> static unsigned int timer_irq[MAX_TIMER_PPI];
>>>>>=20
>>>>> +static const char *timer_irq_names[MAX_TIMER_PPI] =3D {
>>>>> +    [TIMER_PHYS_SECURE_PPI] =3D "sec-phys",
>>>>> +    [TIMER_PHYS_NONSECURE_PPI] =3D "phys",
>>>>> +    [TIMER_VIRT_PPI] =3D "virt",
>>>>> +    [TIMER_HYP_PPI] =3D "hyp-phys",
>>>>> +    [TIMER_HYP_VIRT_PPI] =3D "hyp-virt",
>>>>> +};
>>>>> +
>>>>=20
>>>> I would need some reference or a pointer to some doc to check those.
>>>>=20
>>>>> unsigned int timer_get_irq(enum timer_ppi ppi)
>>>>> {
>>>>>   ASSERT(ppi >=3D TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
>>>>> @@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void)
>>>>> {
>>>>>   int res;
>>>>>   unsigned int i;
>>>>> +    bool has_names;
>>>>> +
>>>>> +    has_names =3D dt_property_read_bool(timer, "interrupt-names");
>>>>>=20
>>>>>   /* Retrieve all IRQs for the timer */
>>>>>   for ( i =3D TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>>>>>   {
>>>>> -        res =3D platform_get_irq(timer, i);
>>>>> -
>>>>> -        if ( res < 0 )
>>>>> +        if ( has_names )
>>>>> +            res =3D platform_get_irq_byname(timer, timer_irq_names[i=
]);
>>>>> +        else
>>>>> +            res =3D platform_get_irq(timer, i);
>>>>> +
>>>>> +        if ( res > 0 )
>>>>=20
>>>> The behaviour of the code is changed here compared to the current
>>>> version as res =3D 0 will now generate a panic.
>>>>=20
>>>> Some device tree might not specify an interrupt number and just put
>>>> 0 and Xen will now panic on those systems.
>>>> As I have no idea if such systems exists and the behaviour is modified
>>>> you should justify this and mention it in the commit message or keep
>>>> the old behaviour and let 0 go through without a panic.
>>>>=20
>>>> @stefano, julien any idea here ? should just keep the old behaviour ?
>>>=20
>>> platform_get_irq returns 0 if the irq is 0. The irq cannot be 0 because
>>> 0 is reserved for SGIs, not PPIs. So I think it is OK to consider 0 an
>>> error.
>>=20
>> Problem here is that a DTB might not specify all interrupts and just put
>> 0 for the one not used (or not available for example if you have no secu=
re
>> world).
> Xen requires presence of EL3,EL2 and on such system, at least the followi=
ng timers needs to be there
> according to Arm ARM:
> - EL3 phys (if EL3 is there)

This might be needed by EL3 but not by Xen.

> - EL1 phys (always)
> - EL1 virt (always)
> - NS EL2 phys (if EL2 is there)

Agree

>=20
> therefore, if we get 0 for one of those, it means that something went wro=
ng and we shall consider
> it as an error.

Agree except for the EL3 one :-)

Cheers
Bertrand

>=20
> ~Michal




From xen-devel-bounces@lists.xenproject.org Thu Mar 09 10:59:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 10:59:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508228.782677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paDzj-000336-4U; Thu, 09 Mar 2023 10:59:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508228.782677; Thu, 09 Mar 2023 10:59:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paDzj-00032z-1i; Thu, 09 Mar 2023 10:59:35 +0000
Received: by outflank-mailman (input) for mailman id 508228;
 Thu, 09 Mar 2023 10:59:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=3aQQ=7B=citrix.com=prvs=4252f21a9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1paDzh-00032t-8T
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 10:59:33 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75d124d3-be69-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 11:59:30 +0100 (CET)
Received: from mail-mw2nam10lp2106.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.106])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Mar 2023 05:59:23 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB5919.namprd03.prod.outlook.com (2603:10b6:a03:2d8::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.26; Thu, 9 Mar
 2023 10:59:21 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 10: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: 75d124d3-be69-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678359569;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=UnuV/38xlOW64y+2SYVpmaS7tmxXRTDy081Z9eGfTVU=;
  b=I4q5bzLOdbtZz18lrWAvVbBGYIOAZKDKjCLr95XPBLwiPs9tP9zZM/EB
   z5YPOXiVsGdSX0i5hh/Edve78WjkrNE2aCrik51BmSFyS/uRXUH6THS7h
   4Qbxb580ExRqejZluD12Iq9g+/qkIJ14RWxNq37bssZFegSJA5zmsv0ht
   U=;
X-IronPort-RemoteIP: 104.47.55.106
X-IronPort-MID: 98953330
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:1ZS9Wq+0SN/mMCOGP9ErDrUD+36TJUtcMsCJ2f8bNWPcYEJGY0x3y
 TAcDT+DOqnbamWnLdhzOt61/U5S7ZXcnNVhTApqri48E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqga5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkl1s
 sUEJDsUMCnZlvyHg5TjTrdOj/08eZyD0IM34hmMzBn/JNN/GdXmfP+P4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWOilUpjtABM/KMEjCObd9SkUuC4
 HrP4kzyAw0ANczZwj2Amp6prr6fzH6gA9lKfFG+3sFrqwyPmFUBNDctaniQk+eFtFLhZOsKf
 iT4/QJr98De7neDVcLhVhe1pHqFuB80WNdKFeA+rgaXxcL84QmDAXMfZiVcc9Fgv8gzLRQlz
 FKGnNPBAT1pra2bTm+b+r6IrDS0fy8PIgcqZy4eTBAB6tPyiII+lBTCSpBkCqHdptn0Hyzgh
 jOHti4zg50NgsMRkaa251bKh3SrvJehZh444EDbU3yo6it9ZZW5fMq45F7D9/FCIY2FCF6bs
 xAsmcKT8eQPBpGljzGWTaMGG7TBz/yCKjzHx1l0A4Mm6S+u6lakZ4lb5Dw4L0BsWu4PeSXoe
 1D7ogRM/9pIO3/sarV4C6q0CsIlyoDtEcjoEPDJBvJJZp9/XAuG7CZrI0idwwjFlEkqjLEnI
 ZzefcuyJXIbErh8ij2kQ+4Xyvks3C9W+I/IbZXyzhDi1KXEYneQEO8BKAHXNr5/676YqgLI9
 doZL9GN1xhUTOz5ZG/Q7JIXKlcJa3M8APgatvBqSwJKGSI+cElJNhMb6epJl1BN90iNqtr1w
 w==
IronPort-HdrOrdr: A9a23:szxiuaiR1yFFwr88Je3JRxY8vHBQXvIji2hC6mlwRA09T+Wync
 rGpoVh6fY7skdpZJhAo6H5BEDkexnhHPFOkOws1NuZLWvbUS6TXeJfBOjZogEIeReOktK1vJ
 0IG8ND4Z/LbWSS5vyKhzVQfexQpuVvM5rFuQ4d9RpQpM1RBJ2IJj0WNjqm
X-IronPort-AV: E=Sophos;i="5.98,246,1673931600"; 
   d="scan'208";a="98953330"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YydBXO71Tt+ttwaMlIIY8PKEdq+ZV7oz6Ke6w56RlDzEcgoEZc+LJ+2IwPgj6Y2vfWJgD3oiHv9PcsFDT3uv80HN4VjJhPVJpDui4hdzq+/hdkg2GWWugRjB8UqpbiA4RWuRbTy1qoE5LQUAY3h/pjR48Nbdgk2l20JRFB8IvDwfLYOYAbt+0AB2j9dPe+Yrq8TV/UeSk/IFZojQ4T+c1O/mvvmaZ37ty5shNVrSbGJJ3evbD57ddMytKTfD2hARjJHtY685jS1Aj71cBwD60FuhCjxQDpQ0udxtOEif9hcWWFQs6i1y6FRB7Ec6sB/Mdb7LUqKuOEWNpFP3CVQGcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=buZ3pymdN3LMIhtqum1619ORoNQIYxo0qAS2YKOqPg8=;
 b=SDD7PbdfH0Cv2iGSbnATdnCzanRHVcsoyGbA+4bHjkujNyn6/WQtwQqSBV1wbnchfb/thS+eBw5r1xIISnZOeWMPiz7lKB1U4eb2HMRXccTCyFyZCicUiJrmKOM/l2IwNXLB2BnagoiOVISL+PYzjhDE+n4tZcmjxCqSCCOOKVPbTgh665uLLq6xaZmhAG9IzcWFznKG+tBjAcsZMdzmcDibHgiHJgiTjzcBvCJjZUsztwl1db+XdWqjMEGmIWeyIU0jd0remBVGprVfrVEn5ZxdskNbzFyTc92ZUKkEpXuswxD+lAKoh11jbPM1BUjwDcGTbSJqCTobXvndP1DjUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=buZ3pymdN3LMIhtqum1619ORoNQIYxo0qAS2YKOqPg8=;
 b=mYQB0dVuaffuyWOaHrjfTTt6sZ0SVEKajsYM5LI93xDjvyzNyWsk9QMu7OTpxcqNV7hmhiZhwTL22qDGiH5Jm3hvRsFJk6qyqi+GPvcopZOTyhDFgExxlVZbb2Kt6aNs7K0+H7ObMgvMdO+jKdDkSo+ayNB3+Eqgcvl9KUufdMg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 9 Mar 2023 11:59:16 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jirislaby@kernel.org>, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Chris Wright <chrisw@sous-sol.org>, Ingo Molnar <mingo@elte.hu>,
	Olof Johansson <olof@lixom.net>, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v2] hvc/xen: prevent concurrent accesses to the shared
 ring
Message-ID: <ZAm8BDGTMaI0XmMI@Air-de-Roger>
References: <20221130150919.13935-1-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2211301657200.4039@ubuntu-linux-20-04-desktop>
 <Y4nkFZal7oy+aICa@Air-de-Roger>
 <Y5cgYLNwtPbmP1JL@Air-de-Roger>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <Y5cgYLNwtPbmP1JL@Air-de-Roger>
X-ClientProxiedBy: LO4P123CA0487.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1ab::6) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB5919:EE_
X-MS-Office365-Filtering-Correlation-Id: 723112ee-049a-4c9b-7824-08db208d565d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eCFmQ2xy8qXSwNYN3LESqH+dcnoCoRgvcEs+xZKMPYzh+ATtKkO37swkSwWYFwqIhfeHCBkuMsdZ2oCA9HVjLCDWCeyLIDH9iLMV7Fj/P53/nmt7+BpC3x4xQsN8fOW5GiW5Y/tYWTdqJfm2KI4hKXKHfsTKU7hr8X2ANUT8USte2Aj2nko6xUnxo3X9kTU8lbhDmC70zcPqlI6XXqyTSUFsjXQz95JGQyB4TQr21PEWLiOXbD89dIZaYEXZtfiHtwnhbpgcnudhEIXoQmrA4ZfPJtwAHONOaMtAyXOb+VcpZz6u20Bxx0uRTCPC9b2yKttZ9hD7eEIoGXkHxuHqCtw6+5P0SkZqXCCdmyfEF6AwKdepB5F7QXbX0wjnNj1NzlGOIRdX5VH1FIiigXzu6P3dLKqdkSVDvLxQFPCC6iBmqcFJeBQb+ckFFErJdZjGDuL0gEInaCWAmFdfv847+tGbfKNsKPm38AR7qmjpvjuGtlxHP1qojvKKTw4+VLBZelT2VfPFSOI224J9txil5vDvn7ZwJkXlJ3KhKCNbK4itQmwQEEsCt276WzDPFij3H42dW2h12UFXJqriO1pr9UHzA+dxmgJn+D29lHSI5ytiQnufs2ODDjiJtLzOsTuLmJgWY07em4Ui91jracMEiQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(366004)(39860400002)(136003)(396003)(376002)(346002)(451199018)(6506007)(6512007)(6486002)(85182001)(82960400001)(83380400001)(38100700002)(86362001)(9686003)(186003)(26005)(6666004)(66946007)(41300700001)(8676002)(4326008)(2906002)(33716001)(66476007)(8936002)(5660300002)(7416002)(478600001)(66556008)(316002)(54906003)(110136005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OFhKM1A0ZVVEQzRsY1c5SjBZTk9WWkNmK0JmdElyQXdFYURiTXFoV2Q3RXBS?=
 =?utf-8?B?Q2MxR3lkMTN2eFc3OVVMVGNwWmJ0aklKSUpJZ1RFOWVYZjRMMmMvUWg5aGow?=
 =?utf-8?B?ZW5meUdqN3lKUnYwRm5xM0ZkM2RTbVRpRUZESFZJQ3NLNGI4NElmNnlXSGk1?=
 =?utf-8?B?VlNuVnlWejBwY0FzUVJGb0JkVnlaSkE0TnhJWUwrNHMxWE1zbXlKUHRWakNQ?=
 =?utf-8?B?bWJ5eWFENld2ZDdSdE1VWW5WWVE4cGpWclJOVDNEMXI0bUQ4OCtTR2FBUjVB?=
 =?utf-8?B?T3hZbGhIREFGVlRXcWNwdEc2dUFMZkpSQkVuSkVqNXdlNHRhWlZPczlkMjhY?=
 =?utf-8?B?QllyMWNjTmFhM2VHeXhFN0dLbFN0b1Z1cTh5QmJEbHlnRHlNcTByMFVaQWdy?=
 =?utf-8?B?WEpQa1FwaW1LbDRENDEyOUx4czVVMkxRTUFyaDJ2ZXJSWHlwTzlmNGlic3Bz?=
 =?utf-8?B?T2dmN3ZBM3lPN1U2R3pJN0QydWxzSlAwVFEyME5rM3d4Z0tQOGU3QmpiWDZt?=
 =?utf-8?B?Sk5sa1ArQnVYLzB0ck1wbmNzMnl0VjlmUmdzQlkzQURxamtkR3BIcm8yVE11?=
 =?utf-8?B?SGZWNXUybi8vNzlRSDlHZUZzS1h5dzJKZ2JsVlU5SkNOam1OaExmS3YxaGFG?=
 =?utf-8?B?a29vUEFxV2N5ZEZmbUNXcFg2cXNSc2ZjSGZLdzZLYVRLMllPK3BsZmlDN0U5?=
 =?utf-8?B?OTRhcTRUK3p0YTErNjBlMkc1c1JmcWVKeGU5Q2s2MGY4WC82WnN4ZmFVRG54?=
 =?utf-8?B?bDBZdmF0MjJVVFNXTnhpazRzckZjS3FpWnBtWTBuUVNETkFLcFRZRy8yVXg5?=
 =?utf-8?B?SmxLd1JzYVlsSFl2QVgreFhyRk9aMFlId1ZuRlRVUVhQalFOd2duTk4yVEs3?=
 =?utf-8?B?TWRFMGp6RFdyYWh6WEdtTFZvbGxzdnlCdDdBRk9wSklKNFlJU3Z5S2UrRjJB?=
 =?utf-8?B?dndWSHB6V2dxaGtkS3YvNXFzWURTdG1JRkNWTCtZcC96bTRhcGJlVzdIZTRm?=
 =?utf-8?B?bzVXa3RZVjBTRXlNYUZUaDM1WU1ieGJ2ZGhJQ09tdFpWaGl1ZkFsNjczVTlt?=
 =?utf-8?B?ZmMrZ0QyVmlpR1JXVm9jemFuMUpsVVlVcjZPUS84VGYxc2xKbVl2NTVvdXpQ?=
 =?utf-8?B?eXJVc0U3TGEzQWZwejdXTWk4Q3hnWEpjWGZ3K3BOQ0ZHd3dBMnJPMkVYUVJO?=
 =?utf-8?B?TmgwdVcvSDBYSVF4ZUtUSUdGb2IxUHJjREFkVEFrOU5NdkJHYUZBZS9LVWVN?=
 =?utf-8?B?VUc4TUsrMm5YcUN3U1QrUTZzVVBTTk4za3VxNU05eWN3cnJRRE51Y1daeWFO?=
 =?utf-8?B?dlhRTWhVbitHYnFqb2Q5aDRDZEwrUGNQWHFmR1V5bHVoY2JtVG9mVjlPWXpv?=
 =?utf-8?B?Q0dJM1N0NEFNeTc0bzBFdU51UzBtdExnZDBiL1F1Ukt0VURTejNZcFFENEx1?=
 =?utf-8?B?b1FaRHV0dVFubkRJK1dldGlTSHVJYjdyQjBaM2RZTnVTSE5yRjV6VjBGSC9t?=
 =?utf-8?B?U093RjBoK3MyM0tobVRDalh1QXNuR1BNc0toOWIzQ01MajI3M1VwMlNWQ0Q0?=
 =?utf-8?B?M29qZXNCc2ZrK1k0ZVllNjdOUWhua3N6VnN0ZjlmWWhDd25kdStaS1ZhM1JD?=
 =?utf-8?B?R2toYVREM1ROZThGZytrdkppdjJBek1pNG44Tks5RzU0VEl4bFU3emdmWVRM?=
 =?utf-8?B?d1hRQzZIMlNKYThReTRUdE4yMjEyTnNNeGxwWG1aUFg1Qk5LT3FqSmtheW15?=
 =?utf-8?B?eWx4MlZDUnFuQmxIcGhkTEhESmtiV0piQW1jU1czeWJ2bjZWaXhxZWI0T3Fn?=
 =?utf-8?B?azk0Yy94VVAzK3dFZnV3eHAyQmdqOXlwNDFiSHREdTY5eElUL2ovbUtWV1Y4?=
 =?utf-8?B?MHY0V3F6ZG9hc0llcU5mWUdjeXZFSFVMbWxjSXZOdE9JSzM0UzBnekN3RWtX?=
 =?utf-8?B?VGhLSmx3L3c2L3NOTmx0ampDUm1GWUNhZjBOZDB4M3VCOWR1cGxzV1RQK3dl?=
 =?utf-8?B?dmhkMHZhL1BycVBRQXpBVWk0bTIwcWxjNEp3V2Y4Z2ZpWVNJUGRsREorejNi?=
 =?utf-8?B?aW85YzVWaHBGN2FadE02enl6VzZzRmZ4MWpuYjUzaE5MVThTZWhoVWJOd1U4?=
 =?utf-8?Q?0nSkxkqZo0/NqCm0KmoY+HYXj?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?akFXM3VDbVRicWtmWmwrTlJ4UXAvWXRDUFdBSlRHb2R0RGtIUGticVJjYjJO?=
 =?utf-8?B?dUNVMERMMXBFZ1FmV3JjSHljQzdyeXlvTnNMR3R3dm53aGI3Y2lnL0M5RE1Z?=
 =?utf-8?B?d2ZDUTBLZ1NRVFNLUldiSVRrVWFsUk9mRmFsVGJ5dUIzd0NRdTJrclJ5cDBJ?=
 =?utf-8?B?Z0JkdW83OVhyZk1jOEw1U1pnTGo1cmVhalpzajZJU2kxTk55NnZPeDVLTnpF?=
 =?utf-8?B?YVVTajZ3Wk1GTGRWM3hKWGZ5Wk1ucU9qNGxLeVZMdWEvL05qaHp1ZjFEZWNy?=
 =?utf-8?B?NEdUSXlDcEhqV3M5aXNJcWV5SmJCa0lYS21GZEtvNFJNT2YyMzlJbXEySTNp?=
 =?utf-8?B?M1hvYjZBTWVPSlhXVk9rYWt1dUM1TU9mczVYaGM5U2dqck9Fa1E2MnlrTURn?=
 =?utf-8?B?YkVqY1MwL1FNbG1TVmhEZk44bm9pU1lWUjU2Zk1qNlFhWmVtZGdHS1RrOGgr?=
 =?utf-8?B?NGFxMDR3WW1mUnE1N1JjN2Yvc1hjdmZZUEt5ZmRVUDNydWdXTE1LTUZDUFFt?=
 =?utf-8?B?WFRudHF3VDRENVQxcSs0ZmNFTTR5d05LVCtmdG9DL2RvbXhXN1plU3lNcnE1?=
 =?utf-8?B?ZzlSSkVhamZRQy9oaGI4K1pxRGFjc0NsZTZralZtcmFOMlhJZ0l5SmZhSmxN?=
 =?utf-8?B?b2xJVnlKSDRkVFFpZzI2Mkx0a2VDU0VvZTBTNWxhUmZyS1docXQyWTJ2Szdw?=
 =?utf-8?B?UFo1WTFtbzNRbEw5WTduRWNMK2JEb0JMMWs2U3JDbmZmamprMUU3WXVDTXNs?=
 =?utf-8?B?OFRncVUrczhsWUpMejBVUnVtamtZdHVRT2JBV3FsU1J6OEhKTWt1SGVtd1hO?=
 =?utf-8?B?MXMxU05EdEw4WE8zRVZ3czN4WXpiTzJNU0dwME4xeXEzdWhOYUMvRUhpc2xw?=
 =?utf-8?B?VmplQkJ5alBTbnpheHpnSUw0NXVoNmx3cXNDSzd0UzdEeURvZkp2UnEyR3k1?=
 =?utf-8?B?OTVlMUFDWmtNekpyODBCSmFkcFBWYVdPSU01NXZuZHo2TzNBOGVuRXlyYTVp?=
 =?utf-8?B?NU5XQVFoU1I3K2g3Q2ZEQkxVc1NaNHFmSFp6SGE5V3grYm1RWkN1QjRCNFhy?=
 =?utf-8?B?VVhoMHNRM0lVdmpLbHdLR2NwVmVGRElpUHpDajhSRHR1bURGRnA3TGMxcC9M?=
 =?utf-8?B?cUt4V09BRzcrNXV3TldTZlpwMUFOd0l3a1RKUndNZUlJU3hXUm5PZlJSMTFl?=
 =?utf-8?B?RjZselJFZ1dIZ0ZwcTduQXZPNlhJLzVYRWszakc2S2hIQVBhZ3JSNGlRZGQ5?=
 =?utf-8?B?SkErQ1loTXZUVkR2T0hQdGY5bkRzTjZKalZQK2hDUkU3d01maFpsa1FNVU82?=
 =?utf-8?B?UURSTXlmWjFENjI0SXFhUVlFcVFmUUdKSXZwSExHc001Zy9hdmg0YUdzNHk4?=
 =?utf-8?B?ajNleng3VFRuR0JnTmQrakJINC9LeW5SNHBVVTJLcStRZlYrM3Fac2t2Q1JM?=
 =?utf-8?B?UHoyblVXR0Mza0Y1TlQyR0RzRkNPU3p5Nm5GOGNnPT0=?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 723112ee-049a-4c9b-7824-08db208d565d
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 10:59:21.6531
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xr7LHE56hkkNyymiMt6ZBNkpYUZugDEzojE1zIbyZ9gtMpahQr74YPltc8mZCOgj2aNARTOlWoYiO1TqHcmwsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5919

Hello,

It's been 3 months and no reply.

On Mon, Dec 12, 2022 at 01:36:48PM +0100, Roger Pau Monné wrote:
> Hello,
> 
> Gentle ping regarding the locking question below.
> 
> Thanks, Roger.
> 
> On Fri, Dec 02, 2022 at 12:40:05PM +0100, Roger Pau Monné wrote:
> > On Wed, Nov 30, 2022 at 05:08:06PM -0800, Stefano Stabellini wrote:
> > > On Wed, 30 Nov 2022, Roger Pau Monne wrote:
> > > > The hvc machinery registers both a console and a tty device based on
> > > > the hv ops provided by the specific implementation.  Those two
> > > > interfaces however have different locks, and there's no single locks
> > > > that's shared between the tty and the console implementations, hence
> > > > the driver needs to protect itself against concurrent accesses.
> > > > Otherwise concurrent calls using the split interfaces are likely to
> > > > corrupt the ring indexes, leaving the console unusable.
> > > > 
> > > > Introduce a lock to xencons_info to serialize accesses to the shared
> > > > ring.  This is only required when using the shared memory console,
> > > > concurrent accesses to the hypercall based console implementation are
> > > > not an issue.
> > > > 
> > > > Note the conditional logic in domU_read_console() is slightly modified
> > > > so the notify_daemon() call can be done outside of the locked region:
> > > > it's an hypercall and there's no need for it to be done with the lock
> > > > held.
> > > 
> > > For domU_read_console: I don't mean to block this patch but we need to
> > > be sure about the semantics of hv_ops.get_chars. Either it is expected
> > > to be already locked, then we definitely shouldn't add another lock to
> > > domU_read_console. Or it is not expected to be already locked, then we
> > > should add the lock.
> > > 
> > > My impression is that it is expected to be already locked, but I think
> > > we need Greg or Jiri to confirm one way or the other.
> > 
> > Let me move both to the 'To:' field then.
> > 
> > My main concern is the usage of hv_ops.get_chars hook in
> > hvc_poll_get_char(), as it's not obvious to me that callers of
> > tty->poll_get_char hook as returned by tty_find_polling_driver() will
> > always do so with the tty lock held (in fact the only user right now
> > doesn't seem to hold the tty lock).
> > 
> > > Aside from that the rest looks fine.

I guess I could reluctantly remove the lock in the get_chars hook,
albeit I'm not convinced at all the lock is not needed there.

Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 11:27:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 11:27:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508233.782687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paEQX-0006zh-D6; Thu, 09 Mar 2023 11:27:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508233.782687; Thu, 09 Mar 2023 11:27: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 1paEQX-0006za-AU; Thu, 09 Mar 2023 11:27:17 +0000
Received: by outflank-mailman (input) for mailman id 508233;
 Thu, 09 Mar 2023 11:27: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=HuKd=7B=redhat.com=kraxel@srs-se1.protection.inumbo.net>)
 id 1paEQW-0006zQ-0g
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 11:27:16 +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 553bdfa9-be6d-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 12:27:12 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-38-tvoRFtBpM--OzeyhJmdd9A-1; Thu, 09 Mar 2023 06:27:06 -0500
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id CC777380610B;
 Thu,  9 Mar 2023 11:27:05 +0000 (UTC)
Received: from sirius.home.kraxel.org (unknown [10.39.192.39])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 851A7440DD;
 Thu,  9 Mar 2023 11:27:05 +0000 (UTC)
Received: by sirius.home.kraxel.org (Postfix, from userid 1000)
 id E31341800082; Thu,  9 Mar 2023 12:27: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: 553bdfa9-be6d-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678361230;
	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=NweXCai3D9fC7VKDrwRq6qLK3V8Z0L3HiXwrI+4REjQ=;
	b=DJ6HFDX43ycSJT4HsitozjWAA0ySpVEzEY1KdVOKKR9R2vK221jAsOHD6qxvoet3au/oQv
	m6zlPgHUuRQVQAfeyA/8Xk2vkW1Ei5T3/CnfLfZZD68hQaIvm9/LsNKIB3bbMa0VZeBnID
	/NnmfGmFGvwio6Nrv1lxyWSVNM7it7Q=
X-MC-Unique: tvoRFtBpM--OzeyhJmdd9A-1
Date: Thu, 9 Mar 2023 12:27:03 +0100
From: Gerd Hoffmann <kraxel@redhat.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: seabios <seabios@seabios.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	qemu-devel <qemu-devel@nongnu.org>, paul <paul@xen.org>
Subject: Re: [SeaBIOS] Re: [SeaBIOS PATCH] xen: require Xen info structure at
 0x1000 to detect Xen
Message-ID: <20230309112703.dht7yisk7on3sfwg@sirius.home.kraxel.org>
References: <feef99dd2e1a5dce004d22baf07d716d6ea1344c.camel@infradead.org>
 <Y9scWQ/ASMCrY/uM@morn>
 <fd3259a2765d4b33ccf7baea320ac798bab63159.camel@infradead.org>
 <20230202091031.xmnao56wziptjak2@sirius.home.kraxel.org>
 <0f25af10f21de2a36f4748f20d457dca5bce1f64.camel@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0f25af10f21de2a36f4748f20d457dca5bce1f64.camel@infradead.org>
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5

On Tue, Mar 07, 2023 at 08:42:18AM +0000, David Woodhouse wrote:
> On Thu, 2023-02-02 at 10:10 +0100, Gerd Hoffmann wrote:
> > > Thanks, Kevin.
> > > 
> > > I'd like to get the rest of the Xen platform support in to qemu 8.0
> > > if
> > > possible. Which is currently scheduled for March.
> > > 
> > > Is there likely to be a SeaBIOS release before then which Gerd
> > > would
> > > pull into qemu anyway, or should I submit a submodule update to a
> > > snapshot of today's tree? That would just pull in this commit, and
> > > the
> > > one other fix that's in the SeaBIOS tree since 1.16.1?
> > 
> > Tagging 1.16.2 in time for the qemu 8.0 should not be a problem given
> > that we have only bugfixes in master. Roughly around soft freeze is
> > probably a good time for that.
> 
> That's, erm, at the *end* of today 2023-03-07, and the freeze happens
> only *after* Paul has reviewed the phase 2 Xen PV back end support,
> right?

Ok, we have as of today two changes:

  kraxel@sirius ~/projects/seabios (master)# git log --oneline rel-1.16.1..
  ea1b7a073390 xen: require Xen info structure at 0x1000 to detect Xen
  645a64b4911d usb: fix wrong init of keyboard/mouse's if first interface is not boot protocol

With no changes since January and no known issues.
I think we can safely tag the current state as 1.16.2.

I'll do that next monday (plus qemu pull request) unless
there are objections until then.

take care,
  Gerd



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 11:36:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 11:36:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508236.782698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paEZB-0000Hl-7J; Thu, 09 Mar 2023 11:36:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508236.782698; Thu, 09 Mar 2023 11: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 1paEZB-0000Ha-4J; Thu, 09 Mar 2023 11:36:13 +0000
Received: by outflank-mailman (input) for mailman id 508236;
 Thu, 09 Mar 2023 11:36: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=ne43=7B=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1paEZ9-0000HM-K1
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 11:36:11 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20619.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91c28604-be6e-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 12:36:02 +0100 (CET)
Received: from MW4PR04CA0079.namprd04.prod.outlook.com (2603:10b6:303:6b::24)
 by BL1PR12MB5112.namprd12.prod.outlook.com (2603:10b6:208:316::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.17; Thu, 9 Mar
 2023 11:35:59 +0000
Received: from CO1NAM11FT093.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:6b:cafe::41) by MW4PR04CA0079.outlook.office365.com
 (2603:10b6:303:6b::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19 via Frontend
 Transport; Thu, 9 Mar 2023 11:35:59 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT093.mail.protection.outlook.com (10.13.175.59) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.19 via Frontend Transport; Thu, 9 Mar 2023 11:35:59 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 9 Mar
 2023 05:35:58 -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.2375.34; Thu, 9 Mar
 2023 05:35:58 -0600
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 9 Mar 2023 05:35: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: 91c28604-be6e-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VSXSk+xLM/o7ACVXbEcyAOrVgz0B2uAGQPSWU05FH4nqeRVY+N2wlyZJUZF8qgaUIJb7X31IqnHwIofYlzzEcSQQNytuzUgjoLXex2SfhTp7WVvUIW9LKfeF5ikqllw7ROzS9IeGy9EgH/euW0pz6yru5KcuOJ49sse2BYaGaBP3iRHjavRD3O79Dr+w8mYJZ7xhI24Fy7JO8Am9COTx2yXiIecTon7tCKdGgPeshRyY/Urvue+HHMU2xi3PaySpZhUJlScQgNZY9f+RrfD0re/lgVPLAYScNEIcg7C00a9DUTZ2fbrUh/GmyFxWBVNRBIYybxMjjp4M7FNAN7/K2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y61hWD/ZE+ATN836ofD3v6R1hGxNajm4TwAjcGG+yik=;
 b=mOikJV62rP6TCztbRhjwgzbzkD6bJbJdM+99Wk2BFKIj/7FGLgx2kJgNn9Ps1YwJEMmtpQOFwUuBg2Q46iVVKwoLo6eYo13z63vIE9s5qlt/wF8TLdAZMvymv6rFXe+MlFNus5U9igU/ywwBNZLepf5jQJm6Vowlj72zP6ehbvxwERxvfVkb6pUwkhaeKzkChDA1KrWTcf8zkK5UqammYIkBJ6GpcLSBMh3lHBa6K8eaTPeGNBp26UMsjWJ9Z5DP7rDvKiSQMHsD1YD9sl0bALQf3b/HkQGxD0hUsHOk9N1VCwuqMu5vhxDitv4SF8Z7XIszyZNExnnftFdstwkbUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y61hWD/ZE+ATN836ofD3v6R1hGxNajm4TwAjcGG+yik=;
 b=tI6cKTQVAaGKMB1XCOlU3jj4jjo0UzdQYBt1dLGXiez44jUm8HlNJNWz7e8O/ksrSs/f5yG6DWjmL2MhTnyfhzmdj+6+3WkIK6Z9csHvGudbjLLp9RIgtQyYrrgGYXTjWJRTv4z4hQ12KTrHQfMQ4AQGcGeTx4wachoteE7aCCQ=
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: <3c0a6e88-2a1a-f06a-cac1-59801b1acfd6@amd.com>
Date: Thu, 9 Mar 2023 12:35:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts
 by names
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "Andrei Cherechesu (OSS)"
	<andrei.cherechesu@oss.nxp.com>, Xen-devel <xen-devel@lists.xenproject.org>,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>, Julien Grall <julien@xen.org>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
 <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
 <alpine.DEB.2.22.394.2303071301300.863724@ubuntu-linux-20-04-desktop>
 <B58C926D-25FD-4EB6-A83C-229E72E16181@arm.com>
 <7a0734e9-a980-3dc1-026d-0c96a89c4d5c@amd.com>
 <0932C0EB-F90A-45D4-87F4-3594E6E74C64@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <0932C0EB-F90A-45D4-87F4-3594E6E74C64@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT093:EE_|BL1PR12MB5112:EE_
X-MS-Office365-Filtering-Correlation-Id: 083950fc-c97c-4885-d4b1-08db2092745c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8e5W4+UeRrnv9/zTjdxLMs+R9ntTOrpKIbK2h86rxc4+BNSY+4fwRoQ3acMUaEsMvpQIE+ZENY5OhIhzP2AAKKq4K0QpYVbew/+IFodKDcZObGhXfebPP8ZMCUhI07AnmFwRpqgr1IEpDT5BiXykkwbA5NJO1Kr/6M8YdVc89OJ4ZCT5rkECtxh/R7Qkh/GvMGp021mXjeTKJVgn9NE4CfBVEGmU+zfcueZ4ohKKvSc2ugJqK8B9gQVFxk3abaE9Z7TS4Psj9jb1fVZ93Qd3rJA5qK+npJl66WUeEYqdls3AahX5QnyNHe/9tFg+PaMtOU1SjEPOigQ5iax6klSxMLv5GGsU0mRGHV1ZLKLf2aj/0MBb+8MClJdkcQhDhv6QdruK9csBpO23u/omdr+Ol7VCA3TDv4RZlRvROciB+upL5cBib8y1qX2BIL1mISXgl7obKWxJhGJCg36u0zLoIP/wY653RSJO/6cPLzoWXHDRRnENfqgVatziIf5/wuTaID7t3BBvt7eWF0vrQslTwhpZlxvd1qTFXsachPLq+UXp7uW+WN1ET6QAKlUfK9QHT8ZQfFTj48iT/twJqmanbm4pAxp0q6tNN1Qt7jVLRjhisMHnSV4SpmC14jlNzeRgVQQn23DyASM1QIX9bMWoz41ASeC2fThONKCixixTkJtPK0XwxaXdcj7HoAOWcMQkBKJ6kLhTezoHciN2UkLYiU9/cuR9/ZkuBteUfsiroXO5sLSeK83l7oXAuLFe1GQ5Q5ednJQSyKJGKq1h/+sW9w==
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:(13230025)(4636009)(376002)(346002)(396003)(136003)(39860400002)(451199018)(46966006)(40470700004)(36840700001)(40460700003)(36756003)(356005)(316002)(16576012)(54906003)(41300700001)(5660300002)(478600001)(8936002)(2906002)(6916009)(8676002)(70206006)(70586007)(4326008)(44832011)(82740400003)(186003)(36860700001)(86362001)(81166007)(40480700001)(31696002)(26005)(2616005)(53546011)(83380400001)(82310400005)(336012)(426003)(47076005)(31686004)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 11:35:59.1205
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 083950fc-c97c-4885-d4b1-08db2092745c
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:
	CO1NAM11FT093.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5112



On 09/03/2023 11:39, Bertrand Marquis wrote:
> 
> 
> Hi Michal,
> 
>> On 9 Mar 2023, at 11:05, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>>
>>
>> On 09/03/2023 09:02, Bertrand Marquis wrote:
>>>
>>>
>>> Hi Stefano,
>>>
>>>> On 7 Mar 2023, at 22:02, Stefano Stabellini <sstabellini@kernel.org> wrote:
>>>>
>>>> On Tue, 7 Mar 2023, Bertrand Marquis wrote:
>>>>>> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu@oss.nxp.com> wrote:
>>>>>>
>>>>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>
>>>>>> Added support for parsing the ARM generic timer interrupts DT
>>>>>> node by the "interrupt-names" property, if it is available.
>>>>>>
>>>>>> If not available, the usual parsing based on the expected
>>>>>> IRQ order is performed.
>>>>>>
>>>>>> Also added the "hyp-virt" PPI to the timer PPI list, even
>>>>>> though it's currently not in use. If the "hyp-virt" PPI is
>>>>>> not found, the hypervisor won't panic.
>>>>>>
>>>>>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>> ---
>>>>>> xen/arch/arm/include/asm/time.h |  3 ++-
>>>>>> xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
>>>>>> 2 files changed, 24 insertions(+), 5 deletions(-)
>>>>>>
>>>>>> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
>>>>>> index 4b401c1110..49ad8c1a6d 100644
>>>>>> --- a/xen/arch/arm/include/asm/time.h
>>>>>> +++ b/xen/arch/arm/include/asm/time.h
>>>>>> @@ -82,7 +82,8 @@ enum timer_ppi
>>>>>>   TIMER_PHYS_NONSECURE_PPI = 1,
>>>>>>   TIMER_VIRT_PPI = 2,
>>>>>>   TIMER_HYP_PPI = 3,
>>>>>> -    MAX_TIMER_PPI = 4,
>>>>>> +    TIMER_HYP_VIRT_PPI = 4,
>>>>>> +    MAX_TIMER_PPI = 5,
>>>>>> };
>>>>>>
>>>>>> /*
>>>>>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>>>>>> index 433d7be909..794da646d6 100644
>>>>>> --- a/xen/arch/arm/time.c
>>>>>> +++ b/xen/arch/arm/time.c
>>>>>> @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
>>>>>>
>>>>>> static unsigned int timer_irq[MAX_TIMER_PPI];
>>>>>>
>>>>>> +static const char *timer_irq_names[MAX_TIMER_PPI] = {
>>>>>> +    [TIMER_PHYS_SECURE_PPI] = "sec-phys",
>>>>>> +    [TIMER_PHYS_NONSECURE_PPI] = "phys",
>>>>>> +    [TIMER_VIRT_PPI] = "virt",
>>>>>> +    [TIMER_HYP_PPI] = "hyp-phys",
>>>>>> +    [TIMER_HYP_VIRT_PPI] = "hyp-virt",
>>>>>> +};
>>>>>> +
>>>>>
>>>>> I would need some reference or a pointer to some doc to check those.
>>>>>
>>>>>> unsigned int timer_get_irq(enum timer_ppi ppi)
>>>>>> {
>>>>>>   ASSERT(ppi >= TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
>>>>>> @@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void)
>>>>>> {
>>>>>>   int res;
>>>>>>   unsigned int i;
>>>>>> +    bool has_names;
>>>>>> +
>>>>>> +    has_names = dt_property_read_bool(timer, "interrupt-names");
>>>>>>
>>>>>>   /* Retrieve all IRQs for the timer */
>>>>>>   for ( i = TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>>>>>>   {
>>>>>> -        res = platform_get_irq(timer, i);
>>>>>> -
>>>>>> -        if ( res < 0 )
>>>>>> +        if ( has_names )
>>>>>> +            res = platform_get_irq_byname(timer, timer_irq_names[i]);
>>>>>> +        else
>>>>>> +            res = platform_get_irq(timer, i);
>>>>>> +
>>>>>> +        if ( res > 0 )
>>>>>
>>>>> The behaviour of the code is changed here compared to the current
>>>>> version as res = 0 will now generate a panic.
>>>>>
>>>>> Some device tree might not specify an interrupt number and just put
>>>>> 0 and Xen will now panic on those systems.
>>>>> As I have no idea if such systems exists and the behaviour is modified
>>>>> you should justify this and mention it in the commit message or keep
>>>>> the old behaviour and let 0 go through without a panic.
>>>>>
>>>>> @stefano, julien any idea here ? should just keep the old behaviour ?
>>>>
>>>> platform_get_irq returns 0 if the irq is 0. The irq cannot be 0 because
>>>> 0 is reserved for SGIs, not PPIs. So I think it is OK to consider 0 an
>>>> error.
>>>
>>> Problem here is that a DTB might not specify all interrupts and just put
>>> 0 for the one not used (or not available for example if you have no secure
>>> world).
>> Xen requires presence of EL3,EL2 and on such system, at least the following timers needs to be there
>> according to Arm ARM:
>> - EL3 phys (if EL3 is there)
> 
> This might be needed by EL3 but not by Xen.
Xen requires system with EL3 and if there is EL3, both Arm spec and dt bindings requires sec-phys timer to be there.
So it would be very strange to see a fake interrupt with IRQ being 0. But if we relly want to only care about
what Xen needs, then we could live with that (although it is difficult for me to find justification for 0 there).
Device trees are created per system and if system has EL3, then why forcing 0 to be listed for sec-phys timer?

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 11:50:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 11:50:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508239.782708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paEmx-0003Ar-Ek; Thu, 09 Mar 2023 11:50:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508239.782708; Thu, 09 Mar 2023 11:50: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 1paEmx-0003Ak-Bc; Thu, 09 Mar 2023 11:50:27 +0000
Received: by outflank-mailman (input) for mailman id 508239;
 Thu, 09 Mar 2023 11: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=wtzB=7B=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1paEmw-0003Ae-RP
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 11:50:26 +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 93d304d3-be70-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 12:50:24 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9232.eurprd04.prod.outlook.com (2603:10a6:102:2ba::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.18; Thu, 9 Mar
 2023 11:50:21 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 11:50:20 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93d304d3-be70-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gDYE8aS0BMC06tygulo8EYwI5jZZUS1ne1dDIowKXAGfhnDCpO+78wRv38YnyPsQDsWgf/g9Rr1ZRMj0eDz86rR5Xva0oSHrydwYEaKjREs4JAfqczmGz1xbqxJNLeq1wy4Peu7HkSpI93I83CxnT1hoZx30KodOf9tlyV6jSiHB09fMbgeu7YCKSa0yct00j/TmvQnFERWp0CGP7dsz97vlpbiPppHNF1olXdl6oVjW99JkOnytD27/luAjj14P+s4BSlXVFdouddXzK1gq45WMRDXu64Wxz/+s+voQr6ZavIobMfOJDJpc+EBpXoobvxQUF1YbBXcsORVeyUIl9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AhTy63ilfnHNvv7Js3SFg4IEG5X6YAWJTFYXUhxEUVM=;
 b=IWKTE5HwwlBZJzgmfn9dABwPZvQOlBQGX9bZaDIyF+zoRueLIzsf50gMjc8ojH/ypUsMcfcp8PBJYdjEIzDk5UBM7lPWZZu7CnjS0zH8tj/Mnw5le5AWwWgJ1eVvE1Cx5oThkDBSqzjXmbo3oueCJnTGU8aI3+N2gcA61wnhahTNpwI+iP7+fXpU2bEmAYaLut0FamVJwaeeZbgrVWbkCF0ffQzccUAN+qzWMbi2LUuM+Y6z5x0M3xgkX+tfvgcdh/CuRYNYPMefnOJgtl7kKykc/37T9nyyDkhCXl7kG6aqeFDv+/hJvFnOssfDnOYlvjkB7QlFxPPlx4WMx/K84Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AhTy63ilfnHNvv7Js3SFg4IEG5X6YAWJTFYXUhxEUVM=;
 b=RUGlZygNWSHvNt8Lmi5NQLRM8rWTRYkWi0nUX843EaikKNIIPX+eX8wX8BPUlAmi4zwMuNv/LdURwNxxP7RfIR/j5EGqW0fZdGDmaG0GlCQ0RumDWc4o7XAbCUpGB89v5MRKsMMA0QU6O3h6J/M4G3ss2jum2zTs1XYU43chLCveTL1XKn2LnBuK8zx9aJvYFHl96AWQNSF8gsKobmpovoOnLMz6YgotVYwvvDKp7n1ahkRbFIk8xqZW/jObLuT7mYpDT4VKA9WflW29S9UqA96RacKubcRGwANFFuneSvMBHcDGT66AZep7WcllepZaFgE24t+NuARyPxqPfF1IhQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <645fcd9a-755a-e2a2-f332-93c5e571b9e5@suse.com>
Date: Thu, 9 Mar 2023 12:50:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: API/ABIs: Re: [RFC PATCH v2 0/2] Add a new acquire resource to
 query vcpu statistics
Content-Language: en-US
To: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
 =?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>,
 Dario Faggioli <dfaggioli@suse.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <cover.1665138677.git.matias.vara@vates.fr>
 <90a551bc-ffda-6db8-775b-11c100bf6f52@citrix.com>
 <20230306142315.GA745324@horizon>
 <c40f1a4e-63a5-af2a-e5db-729b1af80708@suse.com>
 <20230308115410.GA1108824@horizon>
 <d0354bab-3022-6048-8d58-45f63aaf26be@suse.com>
 <20230309103825.GA1221165@horizon>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230309103825.GA1221165@horizon>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0067.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9232:EE_
X-MS-Office365-Filtering-Correlation-Id: bf62c889-aacc-4cbc-1e3b-08db209475b4
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:
	HORHrsn5g8ynEvTVpyPZtWYMl6d1KaDdUz5j4zx2jTHoGwphj/sfUlBuQvTPsswSpubBPl8FR90voOL5iLjkW+TX2U4SMgvKjZoFnyCOpKsODaRhWL5NpUBCn/8YWzURZRG7rUwHjg+qnJhbSkmHEo23o+NG5W1lx2HC+J1xGgFU9VkwDAoNIq7QdXVxBViZ6tuqtsFvEe8reEZ+ixa+10VQJ4YYFYjCEG5+//HZljRriEwr7H0gFkDJvibzJWgMcIV49GgNlTOUwkZ0wfvbvF8kNGTQ0z7grr0H9+eKJMha7439bKhxTU8A99PIw2igGHzzrIdDhOo3q5yBPjrTxFupr96bkcUWOWUaARDNRmzbEc4CQzgiRyR0q7z9eUkBaZQNyz7xRIGshd7E+eDu0nI2O5/yKWioSMsVHOcMewO6x9vdu0nAvLxeviSgMug5x+rutSNY7WYWSauYUs/TFdg6hwOZta+ocWi4sihX/rra2gGLtOIiSCVY835rS1oeyuM8P+x4TjZfS+qP3uLw9TvA8i6h7pYOv9AKKAEKbNWnYQ+hW8Ck3R3Ktwt/4Dzt0T23nFgkk6yMRS9CoIYCpBjVnITVF0GMqdILlkZfFW+ndE3qRxegv6alqSfUvIi114uyK/zqf8fzo8VafGCH/p+l25qLa1juM+Kk2Nv4jHY/SpCeSgBUutWusN45TvBrtWhFcH/LIvH1K1XMO1fAdDMBH1ez9i7RROhKL9xpe5c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(366004)(376002)(136003)(346002)(451199018)(36756003)(8936002)(5660300002)(7416002)(26005)(6506007)(53546011)(38100700002)(83380400001)(186003)(2616005)(54906003)(86362001)(31696002)(41300700001)(6916009)(316002)(66476007)(66556008)(4326008)(66946007)(8676002)(6486002)(6512007)(478600001)(31686004)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VlRicFZjTENvMGhYS1VTK2FGVThKOGFoSDR2NHpKSm1HbmdLVHpkOSt5TmZ6?=
 =?utf-8?B?V0NrcDRaMUd4S3cxQ2VKaGJMWG5YSFZuSHIzemRQT3Jtcmwwbk9NWklCTjRQ?=
 =?utf-8?B?Qk1xUnJYREkzSmVmNE8yZTlwenJvZ1JiOEFveVNpM1NXWGNPK1ltOGIrR29j?=
 =?utf-8?B?djZ6cGxLSUY2N3JKNXVtYWR2ajZld0tPZEUzT1R1Q25WYnpHVFliV3BlM3U1?=
 =?utf-8?B?RkZyTEpuRjBHQzdFZExrL1pGc1B6WjNYeitsUS9mQWZiTU9RVjRTUFdnMmg4?=
 =?utf-8?B?OGFhaFZTclhKSktMcGNyUlUyekVoRjQ0SkFRYmphZitsTVFtZ3pNUXBQeFJv?=
 =?utf-8?B?MkhiM3ZjSXVsWWhqeGpYcU1HTWxBL3RkRVE5cUUyN0pzR2VCNXlha2RsUUdQ?=
 =?utf-8?B?MTNJV0dhZHpCRFhvemh3cklYQlg5aHV0bU5rdHpucmhITDNmbi9KcUxWSWtJ?=
 =?utf-8?B?K3d4U0VleHVXUzJQM1BZQk5HNXNaQXB2OXF0VldJeDg1QlQ2enRLMUk1SmJL?=
 =?utf-8?B?djJCZ056b3VUNXpGOFlLVkFHdVVxT3dkZHZ2MGFuMS84cmZnd25zRm9FUWpz?=
 =?utf-8?B?RStKN1VVeWR4T25QQWdjVGs2YlhxOHpRdjR3cnNESzdpN3R0Tzl6RUJyZ2tL?=
 =?utf-8?B?cXB2cTVyT3U1VjRtckFWYnhBVm95TDVqL3lZbFlqVTBObU5jK3lCT1JFZXRp?=
 =?utf-8?B?VmxqVnM2QWZrRHFaaXdSSW43SWp3TVVCWTFYYlM4WXlpZEQ4eUxZM0dzTVZK?=
 =?utf-8?B?MjhTTnBEdnV0WlRhVm9ob0RNYU9CMVVyMEJ4SkxxRE5ub1MzTlNaNGhlWUhk?=
 =?utf-8?B?M3pxd01kcm5iUEhveFNhTnB2L3hMdmpON2RRM1Niait3MWVzUURwT0tsbWVY?=
 =?utf-8?B?d1pMdDlJMnVWY3RLUDRXLzBHWWhQdFBVRXRkcHlZUUN2SnQ3QWVJc2ZwY1dS?=
 =?utf-8?B?VSt3aWR1S2FhQy8zTGNWdWt2N2RvNldLRWZiQnJONGJkRHRCWGdoWFpRRXRj?=
 =?utf-8?B?STljbFBuaWlUT0FtSkpjVjdtWDVSVFg5alZxS2V1c0E3UVg2ak5hQVorZTZu?=
 =?utf-8?B?aDMwV3lkSy9oVVh0cDZvRWM1Y3A4aFpLOHFlVThybVpCa1lmTGx3S2NjOGdi?=
 =?utf-8?B?Rk9UWHhGcEpjbkJEY3hsS3JXMjhtNWtqSGhZMnVuSklrekVwRHc5QjVvWFZh?=
 =?utf-8?B?SUc5T0VmalVWMUZmUEhwaGw4YU1YWk53aC9sN0RybC9iZU55V0FLeDdIODZu?=
 =?utf-8?B?cE1xOU5kQXIraWluNDRRM1hxT3RJQWp5SXY5RXE0K0U5L2wxaDNiZUV2ZXR3?=
 =?utf-8?B?a0pxbGdJOG9YMlRpYWl3UnI1blpRYXJJY0V5WlpGM2pqNGlhTzJ0ek5rUzZI?=
 =?utf-8?B?V0JqdC9iOFRxV2xLRU50N3l0QTNDYWJWNkx5QmRQVU9iaUVLK1ZSa1RBOVlW?=
 =?utf-8?B?cTF1OGpNaXZuTE0rNEw1UE1Oem4xZFpaZFBGbXJSb3ZabnFvV0hkRFV3ZXRM?=
 =?utf-8?B?d3laei90cW92blRDamFtamRnbG5HWG5hYnpmemh1YzRaUGRPZlRMcnNLRmly?=
 =?utf-8?B?QlJqckpWOVlyOHBEeHh2UEdjNWxKVmIvRHVUc05xWW9rS05laDVrbm9lNHBI?=
 =?utf-8?B?VXFMckt0eFVkNC9zckJlcVZxelNsd0h5WEFDSkdHNTZZSWhhWHJENnFBRDJL?=
 =?utf-8?B?TmlJeE1VaHdqdmtkVEUrSGVkbEpkRFJXRGtwSnRoVDlwZllSSGtWT2QvczV1?=
 =?utf-8?B?eHJOdGxack90Q0Y1THVTdkNEdU1LZUQrRUtNUW5yM1NhcStDZzAvbnB6TWNV?=
 =?utf-8?B?SW1nbGIydEN6MHJRcHhHVDRJQjFnVkJ1U3NTaE5DcXR0bm5PRDRzNTFmcjln?=
 =?utf-8?B?K3FSQmphMU1kWnJNNnczOW0rcDdRMmp0L3l5Q3N1R2dqVlYxWXA4MVQ5V1N0?=
 =?utf-8?B?OHcrRWl2UzVqVWJ0UVJqaFdXN1VQTW9tMkJpOWdOalVsZWxMZ29rOGtEVnR4?=
 =?utf-8?B?VXV2Q0hxU0ZyeVlLRnpxMFNlekc5VFRyWVZVbWgzVHdwNnkraFhYRVJhVDcx?=
 =?utf-8?B?NER1cXBscDJpSTlnQVZQVHNaVTJWeVEvQWcrNTkyNW9WbWFVSmJnS1F0UHJu?=
 =?utf-8?Q?Bnc6kbvldBe/juqh25wQJmSL+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bf62c889-aacc-4cbc-1e3b-08db209475b4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 11:50:20.7075
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ekXAxTKlJcMGOlgfiaXtPiDPhiKKTI5eOpvVySLU4LmjQF++DeWVeU2l+YN20A8RtkezYoO/k58g6wsWfamcZw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9232

On 09.03.2023 11:38, Matias Ezequiel Vara Larsen wrote:
> On Wed, Mar 08, 2023 at 03:16:05PM +0100, Jan Beulich wrote:
>> On 08.03.2023 12:54, Matias Ezequiel Vara Larsen wrote:
>>> On Tue, Mar 07, 2023 at 11:12:00AM +0100, Jan Beulich wrote:
>>>> On 06.03.2023 15:23, Matias Ezequiel Vara Larsen wrote:
>>>>> - Xen shall use the "stats_active" field to indicate what it is producing. In
>>>>>   this field, reserved bits shall be 0. This shall allow us to agree on the
>>>>> layout even when producer and consumer are compiled with different headers.
>>>>
>>>> I wonder how well such a bitfield is going to scale. It provides for
>>>> only 32 (maybe 64) counters. Of course this may seem a lot right now,
>>>> but you never know how quickly something like this can grow. Plus
>>>> with ...
>>>>
>>>
>>> Would it make sense to define it like this?:
>>>
>>> struct vcpu_shmem_stats {
>>> #define STATS_A (1u << 0)
>>> ...
>>> #define VCPU_STATS_MAGIC 0xaabbccdd
>>>      uint32_t magic;
>>>      uint32_t offset;  // roundup(sizeof(vcpu_shmem_stats) + sizeof(uint32_t) * nr_stats, cacheline_size)
>>>      uint32_t size;    // sizeof(vcpu_stats)
>>>      uint32_t stride;  // roundup(sizeof(vcpu_stats), cacheline_size)
>>>      uint32_t nr_stats; // size of stats_active in uint32_t
>>>      uint32_t stats_active[XEN_FLEX_ARRAY_DIM];
>>>      ...
>>> };
>>
> 
> The use of stats_active[] is meant to have a bitmap that could scale thus not
> limiting the number of counters in the vcpu_stat structure to 32 or 64. I can't
> see other way to have an unlimited number of counters though.
> 
>> Possibly, but this would make it harder to use the interface. An alternative
>> might be to specify that an actual stats value set to ~0 marks an inactive
>> element. Since these are 64-bit counters, with today's and tomorrow's
>> computers we won't be at risk of a counter reaching a value of 2^^64-1, I
>> guess. And even if there was one where such a risk could not be excluded
>> (e.g. because of using pretty large increments), one would merely need to
>> make sure to saturate at 2^^64-2. Plus at such a point one would need to
>> consider anyway to switch to 128-bit fields, as neither saturated nor
>> wrapped values are of much use to consumers.
>>
> 
> If I understand well, this use-case is in case an element in the stats_active
> bitmap becomes inactive, i.e., it is set to "0" in stats_active[]. You are
> proposing to set to ~0 the actual stats value to mark an inactive element. I
> may be missing something here but would not be enough to set to "0" the
> corresponding stats_active[] bit? 

The suggestion was to eliminate the need for stats_active[].

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 12:19:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 12:19:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508246.782717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paFEx-0006Y1-S3; Thu, 09 Mar 2023 12:19:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508246.782717; Thu, 09 Mar 2023 12:19: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 1paFEx-0006Xu-PS; Thu, 09 Mar 2023 12:19:23 +0000
Received: by outflank-mailman (input) for mailman id 508246;
 Thu, 09 Mar 2023 12:19: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=V3pJ=7B=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1paFEw-0006Xo-Ew
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 12:19:22 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c97c070-be74-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 13:19:17 +0100 (CET)
Received: from AM5PR0101CA0023.eurprd01.prod.exchangelabs.com
 (2603:10a6:206:16::36) by PAVPR08MB10338.eurprd08.prod.outlook.com
 (2603:10a6:102:30d::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Thu, 9 Mar
 2023 12:19:15 +0000
Received: from VI1EUR03FT007.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:206:16:cafe::a2) by AM5PR0101CA0023.outlook.office365.com
 (2603:10a6:206:16::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29 via Frontend
 Transport; Thu, 9 Mar 2023 12:19:15 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT007.mail.protection.outlook.com (100.127.144.86) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.19 via Frontend Transport; Thu, 9 Mar 2023 12:19:14 +0000
Received: ("Tessian outbound c2bcb4c18c29:v135");
 Thu, 09 Mar 2023 12:19:14 +0000
Received: from b7d79e1fde92.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 563B6907-C1EA-4778-989E-58BB0D34374C.1; 
 Thu, 09 Mar 2023 12:19:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b7d79e1fde92.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 09 Mar 2023 12:19:08 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB8299.eurprd08.prod.outlook.com (2603:10a6:20b:56f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.18; Thu, 9 Mar
 2023 12:19:06 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 12:19: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: 9c97c070-be74-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c2Y77HtL4cv+QaJCpgXlOoNGw3B+nCspZ6c4cjvQfsg=;
 b=lIB4OCM2m3gn2wvYOKufPbfr6GHhx0DkrxhCSgktAkI5/wIjGv/HhWYCCkZwS4ZiuBQ2DlZ+SfpcFmdYu65rYx7LxyhNKVVVI3ZVGtpqoUBUCzkXwUVnFo7T/9Jm/tcq6eI2yGVFgHpMYaBu1g7mDDPj7UhxsT1gjZQGjK4RG0s=
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: 7eca62ed57b32ad3
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lOpPHtPp2niL4lHyrIqnmjPN1lXGkUer/GRMG+KmtU2qE2zySIgTs0HlK4RMEEOpU/h2bETFjSOPMyGL1qtgobsgDyI2Iffsa7JA2UwwMwCgBhIgFsSggH1g81rqPPay22Fmb7dnbHrynYauP+yFP0fIfP2f8uaLsNqRvPghZupBF4eYRxxBHMqJ7UjFNkvdTGDiyvT+Tl6Ap9+6APkD6/c+EA2XAdl+sZ9A5u76KHryWrVBZYOcFtsRQCHKbRzMj6xe48kaePAXSMSxRcVBuPNyufAXQJsj4175sEl0zqqLwtKp8nw7xFnn8KOTg7l94ZtPe+jr7vTbrfaHqeuUwQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c2Y77HtL4cv+QaJCpgXlOoNGw3B+nCspZ6c4cjvQfsg=;
 b=DtrC0RUVYCSgntLMgfu+3cfGACL6x9nMht3vX7S90hJfo9mCHX/OwtPG8WJD4dfY83LLMOlsZ1C22CBeErz5lfjC8YdoRM+EgzWIShcSL7+ZPtiwaLFMkNtF3Ju7PC5tRg8I1+Oh2Dwd7NWNUvB5LSJivEmkmBoxfmjFpkc6ETHNyw3G4jKg+a+sfW/gy+LPhdoxCV+O0BM3SDrjGnf/+7be5o2UvBksoFxhG9HlOAo6N/ZuasLGR5f7fK2YaE7jft3HPfxE7jxBddBYEP5vRMR6vD0+B/U6SlGBUWNqlI9AqJ/KU85YNKiH7gRp/1umHEm6B1rxSDZ2GFfj83s7vg==
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=c2Y77HtL4cv+QaJCpgXlOoNGw3B+nCspZ6c4cjvQfsg=;
 b=lIB4OCM2m3gn2wvYOKufPbfr6GHhx0DkrxhCSgktAkI5/wIjGv/HhWYCCkZwS4ZiuBQ2DlZ+SfpcFmdYu65rYx7LxyhNKVVVI3ZVGtpqoUBUCzkXwUVnFo7T/9Jm/tcq6eI2yGVFgHpMYaBu1g7mDDPj7UhxsT1gjZQGjK4RG0s=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "Andrei Cherechesu (OSS)"
	<andrei.cherechesu@oss.nxp.com>, Xen-devel <xen-devel@lists.xenproject.org>,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts
 by names
Thread-Topic: [PATCH v1 2/2] arch/arm: time: Add support for parsing
 interrupts by names
Thread-Index:
 AQHZUN0sbGmRWBiDtEmQnPFLsz5lVK7vc/8AgABafACAAkqcgIAAIo2AgAAJfwCAAA/CAIAADAKA
Date: Thu, 9 Mar 2023 12:19:05 +0000
Message-ID: <D0D43830-5F75-4284-86E5-967E2059B377@arm.com>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
 <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
 <alpine.DEB.2.22.394.2303071301300.863724@ubuntu-linux-20-04-desktop>
 <B58C926D-25FD-4EB6-A83C-229E72E16181@arm.com>
 <7a0734e9-a980-3dc1-026d-0c96a89c4d5c@amd.com>
 <0932C0EB-F90A-45D4-87F4-3594E6E74C64@arm.com>
 <3c0a6e88-2a1a-f06a-cac1-59801b1acfd6@amd.com>
In-Reply-To: <3c0a6e88-2a1a-f06a-cac1-59801b1acfd6@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.3731.400.51.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_|AS8PR08MB8299:EE_|VI1EUR03FT007:EE_|PAVPR08MB10338:EE_
X-MS-Office365-Filtering-Correlation-Id: 24aa982c-2155-47b3-b1b1-08db20987f84
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:
 DqyjPTf7VYbkjZNYqFOUTkWKWXzqeeBDTreU+MbjFrB4rthtYcU4ZaJVqpee4P/ijHmnr5oDwZIhqcQfjiO0r+hzm89TDuN7VBI78+u22aRtRUsrNkbugBlj2sZ6hhIt56SmBmSMSAWY59dq/Gx5ST5WENt4F9qx9ZhpDJCkegUDsX8yIIiKZiy0n9RqbLj37MVxR9pexXFcYMP9kF0Nbp+Movx8bYGtzPSSB/aqUOWqK3H9HiV2VPsAgxqCwhSAirswYcfaJHwQ2R3n2leneh7nnJFiKIpUMGRKAv/4qLgEs2r0w+GNraHqAsnOmW1k3jbIrsDUrpN8fr9R3wM+kNE5DnC6GnukwKG0DhDOJgdI8qekGiaaGsJaGcyjOLK1mhcT21u527Y/7Bthn5A6bmS0oL2lINKwrWMNdc6JXskXf55ufj879hSgCPKbUfClp0C04swqSuU6qVHZ7aLLy1hp/FXX4eYQuWgA5F6fwWIjx5HkEFaQic6YaS8AZ3KeP1n2nMzXmDwgkp9k5v+7JiR6n1mrwWiq/0Z/IoahmVAoRI4kugYBymyGMDupXeaggC+rpGSLiHY0Uj9PEj49UvuedLNn9uxO3Hf8iCWQ0i0KwLoNln0ri7QdCPzOz7PP4p7BwGo/8kO9EOgBlSWxJbQEnPq9xo9OKI7T9a1LMFfNTjfHupkKzSvccDidBvBZJqdW9Lt0HFMzfdtVixKyRf8Ew1JeHZHvFUFsAQc8hpw=
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:(13230025)(4636009)(366004)(376002)(346002)(39860400002)(396003)(136003)(451199018)(36756003)(33656002)(54906003)(478600001)(6486002)(316002)(5660300002)(71200400001)(2906002)(66476007)(8936002)(64756008)(76116006)(91956017)(66556008)(8676002)(66946007)(66446008)(41300700001)(4326008)(6916009)(122000001)(186003)(38070700005)(38100700002)(86362001)(2616005)(53546011)(6512007)(6506007)(83380400001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <C165E77BE3688A45AF9C9205D5BEDABD@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8299
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:
 VI1EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5aacc124-5af2-4073-bcd4-08db20987a0e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QClGzfuoJsrhiCn4QnVKyZKKYOwj3fKiaRSlEr8VqAV62sZnLXnizJS8L2OPrKUYiN/s192yOULFls34B3utffmrVx9PGQXFoTYkE4jIhZtJ+JQY1Ngzj4Fp+b1f5MKNDil1XYpbwyqULcvvmCXGDKqPF+JIk4RWXsH44dzMSk8jnfkUXFABi0Y+Wq27HbXO9BQDLQIEgdw7DGHf58OwBDHuGtNc4xTmt77df8H2NSu+kUwuqMBInGwAzdg0qjgtsw4ys1acfp8AD+omqW/Jke5FnOYABwKEbIMJX+p6bWrOLTqifpUCieS1hXIiXFaj7CRIA+ZFVT2GjAiG4szsVGO2VerOUGBuEkktKg6JHtKlsMjIKSXC9JOJ0SqYH454Z8SELrFUd2q0HMQ6Y7BjORbZMrw8Zoa+2Hs/7aVYzxGWWW2k+msT3WEeranrWvR/Vg6Ji0ezGALMkLBraGV9Eai+9+LSb60grxfn2THB5wAlNzBOn+0VEoRhj4B5s8ebg9A8dwrITdWIquMjBLqX8rFl9WfFKv7Nh/5Z53xFkGCCG+d8Fm8whkwiSNN1LgnPD1dCT/2n9iYNqrjfUAKXP1ujQxOwm9NdDA5iJBZ/qjnMyYmkfsOAk/xCLP4joExuUp6XpL8SmJWsXWGFXDkDJlZMcXk+fcH0cDi4P24tGc2358tgtfg/70nHb6lAZeJMs8jWrOVJm/1nGgVbQ7gkWA==
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:(13230025)(4636009)(346002)(136003)(39860400002)(376002)(396003)(451199018)(36840700001)(40470700004)(46966006)(33656002)(36756003)(6486002)(186003)(82740400003)(36860700001)(53546011)(336012)(26005)(2616005)(83380400001)(6506007)(47076005)(6512007)(41300700001)(40480700001)(70586007)(8676002)(2906002)(4326008)(70206006)(5660300002)(8936002)(6862004)(356005)(81166007)(86362001)(316002)(478600001)(54906003)(82310400005)(40460700003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 12:19:14.8327
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 24aa982c-2155-47b3-b1b1-08db20987f84
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:
	VI1EUR03FT007.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB10338

Hi Michal,

> On 9 Mar 2023, at 12:35, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
>=20
>=20
> On 09/03/2023 11:39, Bertrand Marquis wrote:
>>=20
>>=20
>> Hi Michal,
>>=20
>>> On 9 Mar 2023, at 11:05, Michal Orzel <michal.orzel@amd.com> wrote:
>>>=20
>>>=20
>>>=20
>>> On 09/03/2023 09:02, Bertrand Marquis wrote:
>>>>=20
>>>>=20
>>>> Hi Stefano,
>>>>=20
>>>>> On 7 Mar 2023, at 22:02, Stefano Stabellini <sstabellini@kernel.org> =
wrote:
>>>>>=20
>>>>> On Tue, 7 Mar 2023, Bertrand Marquis wrote:
>>>>>>> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu=
@oss.nxp.com> wrote:
>>>>>>>=20
>>>>>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>>=20
>>>>>>> Added support for parsing the ARM generic timer interrupts DT
>>>>>>> node by the "interrupt-names" property, if it is available.
>>>>>>>=20
>>>>>>> If not available, the usual parsing based on the expected
>>>>>>> IRQ order is performed.
>>>>>>>=20
>>>>>>> Also added the "hyp-virt" PPI to the timer PPI list, even
>>>>>>> though it's currently not in use. If the "hyp-virt" PPI is
>>>>>>> not found, the hypervisor won't panic.
>>>>>>>=20
>>>>>>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>> ---
>>>>>>> xen/arch/arm/include/asm/time.h |  3 ++-
>>>>>>> xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
>>>>>>> 2 files changed, 24 insertions(+), 5 deletions(-)
>>>>>>>=20
>>>>>>> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include=
/asm/time.h
>>>>>>> index 4b401c1110..49ad8c1a6d 100644
>>>>>>> --- a/xen/arch/arm/include/asm/time.h
>>>>>>> +++ b/xen/arch/arm/include/asm/time.h
>>>>>>> @@ -82,7 +82,8 @@ enum timer_ppi
>>>>>>>  TIMER_PHYS_NONSECURE_PPI =3D 1,
>>>>>>>  TIMER_VIRT_PPI =3D 2,
>>>>>>>  TIMER_HYP_PPI =3D 3,
>>>>>>> -    MAX_TIMER_PPI =3D 4,
>>>>>>> +    TIMER_HYP_VIRT_PPI =3D 4,
>>>>>>> +    MAX_TIMER_PPI =3D 5,
>>>>>>> };
>>>>>>>=20
>>>>>>> /*
>>>>>>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>>>>>>> index 433d7be909..794da646d6 100644
>>>>>>> --- a/xen/arch/arm/time.c
>>>>>>> +++ b/xen/arch/arm/time.c
>>>>>>> @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
>>>>>>>=20
>>>>>>> static unsigned int timer_irq[MAX_TIMER_PPI];
>>>>>>>=20
>>>>>>> +static const char *timer_irq_names[MAX_TIMER_PPI] =3D {
>>>>>>> +    [TIMER_PHYS_SECURE_PPI] =3D "sec-phys",
>>>>>>> +    [TIMER_PHYS_NONSECURE_PPI] =3D "phys",
>>>>>>> +    [TIMER_VIRT_PPI] =3D "virt",
>>>>>>> +    [TIMER_HYP_PPI] =3D "hyp-phys",
>>>>>>> +    [TIMER_HYP_VIRT_PPI] =3D "hyp-virt",
>>>>>>> +};
>>>>>>> +
>>>>>>=20
>>>>>> I would need some reference or a pointer to some doc to check those.
>>>>>>=20
>>>>>>> unsigned int timer_get_irq(enum timer_ppi ppi)
>>>>>>> {
>>>>>>>  ASSERT(ppi >=3D TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
>>>>>>> @@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void)
>>>>>>> {
>>>>>>>  int res;
>>>>>>>  unsigned int i;
>>>>>>> +    bool has_names;
>>>>>>> +
>>>>>>> +    has_names =3D dt_property_read_bool(timer, "interrupt-names");
>>>>>>>=20
>>>>>>>  /* Retrieve all IRQs for the timer */
>>>>>>>  for ( i =3D TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>>>>>>>  {
>>>>>>> -        res =3D platform_get_irq(timer, i);
>>>>>>> -
>>>>>>> -        if ( res < 0 )
>>>>>>> +        if ( has_names )
>>>>>>> +            res =3D platform_get_irq_byname(timer, timer_irq_names=
[i]);
>>>>>>> +        else
>>>>>>> +            res =3D platform_get_irq(timer, i);
>>>>>>> +
>>>>>>> +        if ( res > 0 )
>>>>>>=20
>>>>>> The behaviour of the code is changed here compared to the current
>>>>>> version as res =3D 0 will now generate a panic.
>>>>>>=20
>>>>>> Some device tree might not specify an interrupt number and just put
>>>>>> 0 and Xen will now panic on those systems.
>>>>>> As I have no idea if such systems exists and the behaviour is modifi=
ed
>>>>>> you should justify this and mention it in the commit message or keep
>>>>>> the old behaviour and let 0 go through without a panic.
>>>>>>=20
>>>>>> @stefano, julien any idea here ? should just keep the old behaviour =
?
>>>>>=20
>>>>> platform_get_irq returns 0 if the irq is 0. The irq cannot be 0 becau=
se
>>>>> 0 is reserved for SGIs, not PPIs. So I think it is OK to consider 0 a=
n
>>>>> error.
>>>>=20
>>>> Problem here is that a DTB might not specify all interrupts and just p=
ut
>>>> 0 for the one not used (or not available for example if you have no se=
cure
>>>> world).
>>> Xen requires presence of EL3,EL2 and on such system, at least the follo=
wing timers needs to be there
>>> according to Arm ARM:
>>> - EL3 phys (if EL3 is there)
>>=20
>> This might be needed by EL3 but not by Xen.
> Xen requires system with EL3 and if there is EL3, both Arm spec and dt bi=
ndings requires sec-phys timer to be there.
> So it would be very strange to see a fake interrupt with IRQ being 0. But=
 if we relly want to only care about
> what Xen needs, then we could live with that (although it is difficult fo=
r me to find justification for 0 there).
> Device trees are created per system and if system has EL3, then why forci=
ng 0 to be listed for sec-phys timer?
>=20

Let's see that on the other angle: why should Xen check stuff that it does =
not need ?

Bertrand

> ~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 12:42:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 12:42:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508249.782728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paFbC-0001uT-Lh; Thu, 09 Mar 2023 12:42:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508249.782728; Thu, 09 Mar 2023 12:42: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 1paFbC-0001uM-IC; Thu, 09 Mar 2023 12:42:22 +0000
Received: by outflank-mailman (input) for mailman id 508249;
 Thu, 09 Mar 2023 12:42: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=ne43=7B=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1paFbA-0001uG-QT
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 12:42:21 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2061d.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d28406b5-be77-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 13:42:18 +0100 (CET)
Received: from CY8PR02CA0006.namprd02.prod.outlook.com (2603:10b6:930:4d::11)
 by DS0PR12MB7970.namprd12.prod.outlook.com (2603:10b6:8:149::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Thu, 9 Mar
 2023 12:42:13 +0000
Received: from CY4PEPF0000C984.namprd02.prod.outlook.com
 (2603:10b6:930:4d:cafe::5b) by CY8PR02CA0006.outlook.office365.com
 (2603:10b6:930:4d::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19 via Frontend
 Transport; Thu, 9 Mar 2023 12:42:13 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000C984.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.6178.15 via Frontend Transport; Thu, 9 Mar 2023 12:42:13 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 9 Mar
 2023 06:42:12 -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.2375.34; Thu, 9 Mar
 2023 04:42:12 -0800
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 9 Mar 2023 06:42: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: d28406b5-be77-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HrcXdsXrf40zCw+uzvQFjV5YlNy5EPIK57WnrIOSIy5u1awY0GcHc/pUfeyLn1HWVJDpxlji9eDzH/GYldAnM0f7dYaisKWx5fyFfT0NIBmJIzbRqGyuPWzh7dB5Ig2fIfodn12jMtCzQQk+CE0g96oDMnx4UfoVnwqzqIB9380nrMAj5YatJFbaClWADohmjNnQt+8UuL4p+TGQYzJGCt1MJQyLmJZSWvSg3c0xeXD4eczcitfelFHRiSwe3utoASzV6wmKLlWTyaLkC4PffVSRYqcCgFx2Um4e3EtYbc0YGugT2YjEcjsZbD/G5AUG/c8M51as9ORkoxF0eearjw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WKX7wpwTW9K1ueTnKIiOUxZ0/sRF78bfCx6FXIEOYmA=;
 b=PdXVmlPyrbleq8wez+fT133DLdWHPvuzvH+Jypea6vZKCc0nntZUXyImQFx5aIS0Yzq+OnYEAz6oEU1EARcMVzS55mH05oC3bINwmtpknNDFmD7Ou8sUiJBTuqJFp4klmWuWfYvBadmXwWbLw2bcGHTCqiza1mwxRYuXI1e57a3jMztmX/sVqBFutj50ensHLClxUpA4JYByuyKkgCAMDi3g2ttlJuoQW/eNidDXnyTRFx/FMc8bn7MOJywzPajlbCAFuGnEpDRzzb4z/ERN55NRxYfQzA2Nl/WiGs1kicjdfIyRvD1QUH1idnSYejui+PR8sSGQCC0jZp285AQupw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WKX7wpwTW9K1ueTnKIiOUxZ0/sRF78bfCx6FXIEOYmA=;
 b=kEFt4JqS/WZ9RbNOQhy7drhqi67zlAQlvCYQDX2t0rptSK3K8wMWmEiAqCLC9lf/8s6iqH16Ma63OWY7rJikgQ+UO3NS9lUzX5CbbOLLyWYQSTC3ZnL0C4UadVoUuYqcgFk8qtm8DD8cfA76CJup/A0LsO8RuOD/6pYq/FYid04=
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: <df481924-6fa9-cac3-f822-9ff51b0824fe@amd.com>
Date: Thu, 9 Mar 2023 13:42:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts
 by names
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "Andrei Cherechesu (OSS)"
	<andrei.cherechesu@oss.nxp.com>, Xen-devel <xen-devel@lists.xenproject.org>,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>, Julien Grall <julien@xen.org>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
 <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
 <alpine.DEB.2.22.394.2303071301300.863724@ubuntu-linux-20-04-desktop>
 <B58C926D-25FD-4EB6-A83C-229E72E16181@arm.com>
 <7a0734e9-a980-3dc1-026d-0c96a89c4d5c@amd.com>
 <0932C0EB-F90A-45D4-87F4-3594E6E74C64@arm.com>
 <3c0a6e88-2a1a-f06a-cac1-59801b1acfd6@amd.com>
 <D0D43830-5F75-4284-86E5-967E2059B377@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <D0D43830-5F75-4284-86E5-967E2059B377@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000C984:EE_|DS0PR12MB7970:EE_
X-MS-Office365-Filtering-Correlation-Id: 56d047f5-8cdc-4dad-c3a7-08db209bb514
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RQ4E583/9wHez0zmla/XMa92vEOA27VjzR6ng5Ihcn8ka8IrSIDx28szb0MiLXiNkjQWs51P1PqPqX+gFcE2COosed+2EGzGB3JUx6OAUXhzEEOqj56HRjDTmIWmvm3QN+3UzQuh7pZXDGnchxR3mFN258BbWRqK/o4rtHzYZaQiVobyBB6Kb1sdvGSjnLjzElrZYqT8eYbXKdWJMr1t5ZNnpEYJD+dDA39Mz4L6X97nJVfzHh2+93PhoXoFzlFMfmUT3ts4PUQ+W+jawN8J78/1JXADUAD0F9uuJPj3vfs0r/HYDi+5v+K5kuLMwRR9tHiZqdyxkWrF9HrNK4nIJRO28AX4/hJ8Zy0+LMAww9wFew51z340ZM5QKOVeuywkLME2m9uXiVlRkg6+wu2+zksgCI0evN6GCLugwUG0w6GEnfSvWgkRswhfpgGUMPnoaz/jPZj5FMp8SpkCsn8HXjZKGJNqIqLNIHX6aE0W0GGF6n5wK7QL/aA0nlqIIUB3Yq8gf/9MaYPirek7iZSGiOODyBREc4PFmcCee3sEfc2ycS5ERxF1C8SvHSRRD75zqSFlDmeUUEAgA/XMXqp18QzYWugpUA1YrsWGg4YQvrRHGZ8Lfveu/X108FHrUsfMNV+0phOL6kllznGfKlIjKZhUHlqT0m8sTELTCnCKUEwWgai3k+ynlzNLQSOvzN1uewGNjXME6iVx/NNtuc7DY0GAsIRXOl0O9KpMgqjeG8kzNv36SQpRrYmldfEXZcqTy7paaz+Ldiql7JGuVaavwg==
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:(13230025)(4636009)(396003)(39860400002)(376002)(136003)(346002)(451199018)(36840700001)(40470700004)(46966006)(70206006)(5660300002)(8936002)(31686004)(70586007)(8676002)(41300700001)(44832011)(6916009)(4326008)(2906002)(316002)(16576012)(478600001)(54906003)(426003)(47076005)(36756003)(36860700001)(26005)(53546011)(336012)(2616005)(82740400003)(83380400001)(31696002)(40480700001)(82310400005)(86362001)(81166007)(356005)(40460700003)(186003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 12:42:13.2019
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 56d047f5-8cdc-4dad-c3a7-08db209bb514
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:
	CY4PEPF0000C984.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7970

Hi Bertrand,

On 09/03/2023 13:19, Bertrand Marquis wrote:
> 
> 
> Hi Michal,
> 
>> On 9 Mar 2023, at 12:35, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>>
>>
>> On 09/03/2023 11:39, Bertrand Marquis wrote:
>>>
>>>
>>> Hi Michal,
>>>
>>>> On 9 Mar 2023, at 11:05, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>
>>>>
>>>>
>>>> On 09/03/2023 09:02, Bertrand Marquis wrote:
>>>>>
>>>>>
>>>>> Hi Stefano,
>>>>>
>>>>>> On 7 Mar 2023, at 22:02, Stefano Stabellini <sstabellini@kernel.org> wrote:
>>>>>>
>>>>>> On Tue, 7 Mar 2023, Bertrand Marquis wrote:
>>>>>>>> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu@oss.nxp.com> wrote:
>>>>>>>>
>>>>>>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>>>
>>>>>>>> Added support for parsing the ARM generic timer interrupts DT
>>>>>>>> node by the "interrupt-names" property, if it is available.
>>>>>>>>
>>>>>>>> If not available, the usual parsing based on the expected
>>>>>>>> IRQ order is performed.
>>>>>>>>
>>>>>>>> Also added the "hyp-virt" PPI to the timer PPI list, even
>>>>>>>> though it's currently not in use. If the "hyp-virt" PPI is
>>>>>>>> not found, the hypervisor won't panic.
>>>>>>>>
>>>>>>>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>>> ---
>>>>>>>> xen/arch/arm/include/asm/time.h |  3 ++-
>>>>>>>> xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
>>>>>>>> 2 files changed, 24 insertions(+), 5 deletions(-)
>>>>>>>>
>>>>>>>> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
>>>>>>>> index 4b401c1110..49ad8c1a6d 100644
>>>>>>>> --- a/xen/arch/arm/include/asm/time.h
>>>>>>>> +++ b/xen/arch/arm/include/asm/time.h
>>>>>>>> @@ -82,7 +82,8 @@ enum timer_ppi
>>>>>>>>  TIMER_PHYS_NONSECURE_PPI = 1,
>>>>>>>>  TIMER_VIRT_PPI = 2,
>>>>>>>>  TIMER_HYP_PPI = 3,
>>>>>>>> -    MAX_TIMER_PPI = 4,
>>>>>>>> +    TIMER_HYP_VIRT_PPI = 4,
>>>>>>>> +    MAX_TIMER_PPI = 5,
>>>>>>>> };
>>>>>>>>
>>>>>>>> /*
>>>>>>>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>>>>>>>> index 433d7be909..794da646d6 100644
>>>>>>>> --- a/xen/arch/arm/time.c
>>>>>>>> +++ b/xen/arch/arm/time.c
>>>>>>>> @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
>>>>>>>>
>>>>>>>> static unsigned int timer_irq[MAX_TIMER_PPI];
>>>>>>>>
>>>>>>>> +static const char *timer_irq_names[MAX_TIMER_PPI] = {
>>>>>>>> +    [TIMER_PHYS_SECURE_PPI] = "sec-phys",
>>>>>>>> +    [TIMER_PHYS_NONSECURE_PPI] = "phys",
>>>>>>>> +    [TIMER_VIRT_PPI] = "virt",
>>>>>>>> +    [TIMER_HYP_PPI] = "hyp-phys",
>>>>>>>> +    [TIMER_HYP_VIRT_PPI] = "hyp-virt",
>>>>>>>> +};
>>>>>>>> +
>>>>>>>
>>>>>>> I would need some reference or a pointer to some doc to check those.
>>>>>>>
>>>>>>>> unsigned int timer_get_irq(enum timer_ppi ppi)
>>>>>>>> {
>>>>>>>>  ASSERT(ppi >= TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
>>>>>>>> @@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void)
>>>>>>>> {
>>>>>>>>  int res;
>>>>>>>>  unsigned int i;
>>>>>>>> +    bool has_names;
>>>>>>>> +
>>>>>>>> +    has_names = dt_property_read_bool(timer, "interrupt-names");
>>>>>>>>
>>>>>>>>  /* Retrieve all IRQs for the timer */
>>>>>>>>  for ( i = TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>>>>>>>>  {
>>>>>>>> -        res = platform_get_irq(timer, i);
>>>>>>>> -
>>>>>>>> -        if ( res < 0 )
>>>>>>>> +        if ( has_names )
>>>>>>>> +            res = platform_get_irq_byname(timer, timer_irq_names[i]);
>>>>>>>> +        else
>>>>>>>> +            res = platform_get_irq(timer, i);
>>>>>>>> +
>>>>>>>> +        if ( res > 0 )
>>>>>>>
>>>>>>> The behaviour of the code is changed here compared to the current
>>>>>>> version as res = 0 will now generate a panic.
>>>>>>>
>>>>>>> Some device tree might not specify an interrupt number and just put
>>>>>>> 0 and Xen will now panic on those systems.
>>>>>>> As I have no idea if such systems exists and the behaviour is modified
>>>>>>> you should justify this and mention it in the commit message or keep
>>>>>>> the old behaviour and let 0 go through without a panic.
>>>>>>>
>>>>>>> @stefano, julien any idea here ? should just keep the old behaviour ?
>>>>>>
>>>>>> platform_get_irq returns 0 if the irq is 0. The irq cannot be 0 because
>>>>>> 0 is reserved for SGIs, not PPIs. So I think it is OK to consider 0 an
>>>>>> error.
>>>>>
>>>>> Problem here is that a DTB might not specify all interrupts and just put
>>>>> 0 for the one not used (or not available for example if you have no secure
>>>>> world).
>>>> Xen requires presence of EL3,EL2 and on such system, at least the following timers needs to be there
>>>> according to Arm ARM:
>>>> - EL3 phys (if EL3 is there)
>>>
>>> This might be needed by EL3 but not by Xen.
>> Xen requires system with EL3 and if there is EL3, both Arm spec and dt bindings requires sec-phys timer to be there.
>> So it would be very strange to see a fake interrupt with IRQ being 0. But if we relly want to only care about
>> what Xen needs, then we could live with that (although it is difficult for me to find justification for 0 there).
>> Device trees are created per system and if system has EL3, then why forcing 0 to be listed for sec-phys timer?
>>
> 
> Let's see that on the other angle: why should Xen check stuff that it does not need ?
Because apart from what it needs or not, there is a matter of a failure in Xen.
Xen exposes timer IRQs to dom0 as they were taken from dtb and allowing 0 for any of the timer IRQ would result
in a Xen failure when reserving such IRQ. Xen presets SGI IRQs, meaning bits 0:15 in allocated_irqs bitmap are set.
This is why when calling vgic_reserve_virq and passing SGI always results in calling a BUG().

So we have two options:
- panic earlier with a meaningful message when IRQ is 0
- let Xen continue and reach BUG which would be not that obvious for people using but not knowing Xen

I think first option is always better.

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 12:46:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 12:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508254.782738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paFem-0002Zc-9r; Thu, 09 Mar 2023 12:46:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508254.782738; Thu, 09 Mar 2023 12:46: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 1paFem-0002ZV-5y; Thu, 09 Mar 2023 12:46:04 +0000
Received: by outflank-mailman (input) for mailman id 508254;
 Thu, 09 Mar 2023 12:46: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=V3pJ=7B=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1paFel-0002ZP-Eq
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 12:46:03 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20601.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 583ec31b-be78-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 13:46:00 +0100 (CET)
Received: from DU2PR04CA0219.eurprd04.prod.outlook.com (2603:10a6:10:2b1::14)
 by PAXPR08MB7319.eurprd08.prod.outlook.com (2603:10a6:102:220::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.17; Thu, 9 Mar
 2023 12:45:55 +0000
Received: from DBAEUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b1:cafe::21) by DU2PR04CA0219.outlook.office365.com
 (2603:10a6:10:2b1::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19 via Frontend
 Transport; Thu, 9 Mar 2023 12:45:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT045.mail.protection.outlook.com (100.127.142.142) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.19 via Frontend Transport; Thu, 9 Mar 2023 12:45:54 +0000
Received: ("Tessian outbound f2a8d6d66d12:v135");
 Thu, 09 Mar 2023 12:45:54 +0000
Received: from 4ab41626abce.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 960C4169-0308-49DD-B22F-F38C2AC0D07D.1; 
 Thu, 09 Mar 2023 12:45:47 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4ab41626abce.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 09 Mar 2023 12:45:47 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by VE1PR08MB5629.eurprd08.prod.outlook.com (2603:10a6:800:1a6::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.18; Thu, 9 Mar
 2023 12:45:45 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 12:45:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 583ec31b-be78-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/bSnaV5nyAWkgByTd86v2pOYSLzC4xT2VlP6CUG2CX0=;
 b=ZIc9jopIE9nk0Ckrv1VuqqVQ6Wy8+d5PPNHfzVlnLfX3t+7vq2a2f/KxODxSZ5vc/ESVM3S4gYVNhMyvLCsh68+yKHTVBO1K0MKF5GYgXtmrkHp8SjsjXj/IfMkP1OvMNO/3/0kjqk6NbVm5mNlP+krPueIvqSsNbeWJAkKC/X8=
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: 51e44c80441b3583
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XDyKzC94KWIpBZJY+9vN9xQHTcEnfrDp9X7/Jsb16gq8J2m96KRAxd+juEd1jIIfugHzDHjWOmj3yh9o4b3ePK2L8IteoJGX1QX/WnHzncatQCQ6bvlmKUIS/ZqkZiGEhcYdySmqkXxUlvxBMaE0DUXSwoW7lCJ5e5lZmG8owqzNak3oSPh0KdtusA1/HK+1yhlSnZmUa/3ScWX+fnQQKwmPMi7s39iL4FZ0utbWfkBcXCr6BNEPfMfTtaNHpqC83asQgRhFwCbk3loAUJ3wfAi98PsfLzZkVYTZUeTLm044m8zodhA5kFVpstvW48Z/7UhytHc874Avc8NoKDHRrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/bSnaV5nyAWkgByTd86v2pOYSLzC4xT2VlP6CUG2CX0=;
 b=Pg4jE9oqF8MHvbjN9GDklj5QIkxxT+aUwVHG+8NMeHNI+zlnD7jMFBeWPWFjEmW2BX1UrTdWevrq9JvUEITiKUKtCeXVi1KsSC8MmN2S130cswf2z0RRf2H9+2rNcLf/qdHzF+SkWIAsH316daGp0KRSuzYRYNiLptCGeX7DY6AGNG+A7kesUQOlFC8GmLMAqaGZeV0Aqk+vbxJNzALqBgpE4Ll0Ff7mrsFI0PvzlyurxIgoSzE+BlX63NLj6lXNW6QjRyGquqp1zqhOm68guPU9Wo9sNuuaf77zmmBFMD9s0wMFIBY2FmxQoPhcf7cGF/nWrhrvfGPh81pSNvH7RA==
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=/bSnaV5nyAWkgByTd86v2pOYSLzC4xT2VlP6CUG2CX0=;
 b=ZIc9jopIE9nk0Ckrv1VuqqVQ6Wy8+d5PPNHfzVlnLfX3t+7vq2a2f/KxODxSZ5vc/ESVM3S4gYVNhMyvLCsh68+yKHTVBO1K0MKF5GYgXtmrkHp8SjsjXj/IfMkP1OvMNO/3/0kjqk6NbVm5mNlP+krPueIvqSsNbeWJAkKC/X8=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "Andrei Cherechesu (OSS)"
	<andrei.cherechesu@oss.nxp.com>, Xen-devel <xen-devel@lists.xenproject.org>,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts
 by names
Thread-Topic: [PATCH v1 2/2] arch/arm: time: Add support for parsing
 interrupts by names
Thread-Index:
 AQHZUN0sbGmRWBiDtEmQnPFLsz5lVK7vc/8AgABafACAAkqcgIAAIo2AgAAJfwCAAA/CAIAADAKAgAAGfwCAAAD0AA==
Date: Thu, 9 Mar 2023 12:45:44 +0000
Message-ID: <CA41DB66-DB7E-4EDD-9A34-38328A2A8C9E@arm.com>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
 <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
 <alpine.DEB.2.22.394.2303071301300.863724@ubuntu-linux-20-04-desktop>
 <B58C926D-25FD-4EB6-A83C-229E72E16181@arm.com>
 <7a0734e9-a980-3dc1-026d-0c96a89c4d5c@amd.com>
 <0932C0EB-F90A-45D4-87F4-3594E6E74C64@arm.com>
 <3c0a6e88-2a1a-f06a-cac1-59801b1acfd6@amd.com>
 <D0D43830-5F75-4284-86E5-967E2059B377@arm.com>
 <df481924-6fa9-cac3-f822-9ff51b0824fe@amd.com>
In-Reply-To: <df481924-6fa9-cac3-f822-9ff51b0824fe@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.3731.400.51.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_|VE1PR08MB5629:EE_|DBAEUR03FT045:EE_|PAXPR08MB7319:EE_
X-MS-Office365-Filtering-Correlation-Id: 616567a6-5088-41cc-c709-08db209c391c
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:
 eeGpUjOgwyYIWFwm2KsWWShUaTKH+0i8DaoEsJhFbTyS56rVRkQaJ1euL2j0hMWwVJfONKEK2ezMNn0TixRUUkEL/qfePokp24ghPB2bxiC3uxsnUdyJZap6O/irKsvnPrQ722xfoUfP5/IMJnOjvg7h5t+rBrQ6dATD8ZZJPppmsny6469t4oN66M2XzZ2erMJVIMq00St3wTkU649Hv8LiwbrtrRbe5vCyvQhSn7QLdNKksgy0qfNpFdnmpUqmTu1yaePht9JYJHwbBmRCP4EaxcLcPvaHJ2lS8p2LvhTt/d3KgSMDt870jWJi3tzcrvaFAW3My0gLlQ1PVp4Hx7rg92Qnfi1a4ay8TArVX0hSCGubRAV3mwinjd7sNLthXZBztK7HZ5WnR/A3U9wtMYfYRqbO6UjB3mR/RHyALJlhcDeR1PeDMFFt3EV1e7pLeycF8K2Upplm7oO/TMU/4/G4tB8uJw2i0rMJzucVBaabyjmd7mDJXgRDhXFlDodKAGJVHoaJRK9aLOO69PXRid+nT06Dkl2YovZ6YaOKu5HSR6wUFrzQoNZWaVT62vB9RSaUy7WSg4WCfciPQlgbH8MsPLd6dqCW8fhNSO3/DvgeftQHBwrSpHt6Qj/Kd6sTdxSEfnCiirKlvo+y03+IOAt0bhPVjFg6bmePYyIXtC61D+mEshXBfaUcgXXUDp+aLnUv+sgjGEJAhoh7NUKYCPJoCv5LmkccMC+JN3gvfCQ=
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:(13230025)(4636009)(366004)(376002)(396003)(39860400002)(136003)(346002)(451199018)(8936002)(36756003)(5660300002)(122000001)(53546011)(6506007)(6512007)(38100700002)(83380400001)(186003)(2616005)(91956017)(316002)(54906003)(86362001)(41300700001)(64756008)(33656002)(4326008)(6916009)(66446008)(8676002)(66556008)(76116006)(66946007)(66476007)(6486002)(71200400001)(478600001)(38070700005)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <B383682817595842AD358CD0FBDCA7F8@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5629
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:
 DBAEUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	86b1d984-7888-4e45-e82c-08db209c331b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Qy4ofCYbrG0otwQxAzfJ5tRPaGBB8ZLAPK+Lb0iYTVwlC979/2jIyDezKb4KdLptUrviNUi2n791NAwGdEonB1yelmWgJut4X+7VZQhJaXB3ZOTZck1C+/aroR0K3HyzGSouU7+rQmv2qPnHuCPbwa9QORFbxszYRYZo4QETH10sRk1TP6CvPDF25d2r9GZrJG8R0/Yxsr8FhzythLRKI3Qije3nJtz2kCdQjp6SfrxmUyW17eC2ZrE/C/UZPoqM3KNP8aYLXKFPdoC3eQRtkDQZM9Sp5FOw6OWBVifNVgnPWLZbLBO1k7F/s5bxooLx/nYaRwCZg+Ajmwlu+zseMV9rTlDtCIQL34JGfhRSfQezOfbTUgY8pIP1057TMwJlvcZD03cxOHow9tWZrf59x1F4KANNOPP5B78K/ZpL4F8F3cRBOBpUzcIftPENsdvuxRx+dsgxA3aI01w1yYvZn9Supc053y9s9n8H/VHW3PxszWIgnHR6ODTfSUqHbUYst1bKvEFZlgPqKnQkeX10HX5oS7zCPWZOye9F1kq1IobF6WulzUEdwW8XJmV0DxB+K/wd49wkIY8+7MQaufOEPXTUGIn6oqDcxxr5ievInKDnfPuDwTOT6pqdcDqHMP4IdqUTPpg0mc2xxPU3iBt0edv561SzPrsDtwnh8EmmddmW0lOIWtDoHTWyGmQCZBgTojmjHdr+v/zbmAI81yl4pw==
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:(13230025)(4636009)(136003)(376002)(396003)(39860400002)(346002)(451199018)(36840700001)(46966006)(40470700004)(8676002)(41300700001)(70586007)(81166007)(4326008)(2906002)(356005)(70206006)(316002)(54906003)(8936002)(82740400003)(6862004)(186003)(478600001)(82310400005)(36860700001)(40460700003)(36756003)(6486002)(26005)(6506007)(40480700001)(83380400001)(53546011)(33656002)(6512007)(2616005)(5660300002)(86362001)(47076005)(336012);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 12:45:54.8231
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 616567a6-5088-41cc-c709-08db209c391c
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:
	DBAEUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7319

Hi Michal,

> On 9 Mar 2023, at 13:42, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Hi Bertrand,
>=20
> On 09/03/2023 13:19, Bertrand Marquis wrote:
>>=20
>>=20
>> Hi Michal,
>>=20
>>> On 9 Mar 2023, at 12:35, Michal Orzel <michal.orzel@amd.com> wrote:
>>>=20
>>>=20
>>>=20
>>> On 09/03/2023 11:39, Bertrand Marquis wrote:
>>>>=20
>>>>=20
>>>> Hi Michal,
>>>>=20
>>>>> On 9 Mar 2023, at 11:05, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>=20
>>>>>=20
>>>>>=20
>>>>> On 09/03/2023 09:02, Bertrand Marquis wrote:
>>>>>>=20
>>>>>>=20
>>>>>> Hi Stefano,
>>>>>>=20
>>>>>>> On 7 Mar 2023, at 22:02, Stefano Stabellini <sstabellini@kernel.org=
> wrote:
>>>>>>>=20
>>>>>>> On Tue, 7 Mar 2023, Bertrand Marquis wrote:
>>>>>>>>> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.chereche=
su@oss.nxp.com> wrote:
>>>>>>>>>=20
>>>>>>>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>>>>=20
>>>>>>>>> Added support for parsing the ARM generic timer interrupts DT
>>>>>>>>> node by the "interrupt-names" property, if it is available.
>>>>>>>>>=20
>>>>>>>>> If not available, the usual parsing based on the expected
>>>>>>>>> IRQ order is performed.
>>>>>>>>>=20
>>>>>>>>> Also added the "hyp-virt" PPI to the timer PPI list, even
>>>>>>>>> though it's currently not in use. If the "hyp-virt" PPI is
>>>>>>>>> not found, the hypervisor won't panic.
>>>>>>>>>=20
>>>>>>>>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>>>> ---
>>>>>>>>> xen/arch/arm/include/asm/time.h |  3 ++-
>>>>>>>>> xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
>>>>>>>>> 2 files changed, 24 insertions(+), 5 deletions(-)
>>>>>>>>>=20
>>>>>>>>> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/inclu=
de/asm/time.h
>>>>>>>>> index 4b401c1110..49ad8c1a6d 100644
>>>>>>>>> --- a/xen/arch/arm/include/asm/time.h
>>>>>>>>> +++ b/xen/arch/arm/include/asm/time.h
>>>>>>>>> @@ -82,7 +82,8 @@ enum timer_ppi
>>>>>>>>> TIMER_PHYS_NONSECURE_PPI =3D 1,
>>>>>>>>> TIMER_VIRT_PPI =3D 2,
>>>>>>>>> TIMER_HYP_PPI =3D 3,
>>>>>>>>> -    MAX_TIMER_PPI =3D 4,
>>>>>>>>> +    TIMER_HYP_VIRT_PPI =3D 4,
>>>>>>>>> +    MAX_TIMER_PPI =3D 5,
>>>>>>>>> };
>>>>>>>>>=20
>>>>>>>>> /*
>>>>>>>>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>>>>>>>>> index 433d7be909..794da646d6 100644
>>>>>>>>> --- a/xen/arch/arm/time.c
>>>>>>>>> +++ b/xen/arch/arm/time.c
>>>>>>>>> @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequenc=
y;
>>>>>>>>>=20
>>>>>>>>> static unsigned int timer_irq[MAX_TIMER_PPI];
>>>>>>>>>=20
>>>>>>>>> +static const char *timer_irq_names[MAX_TIMER_PPI] =3D {
>>>>>>>>> +    [TIMER_PHYS_SECURE_PPI] =3D "sec-phys",
>>>>>>>>> +    [TIMER_PHYS_NONSECURE_PPI] =3D "phys",
>>>>>>>>> +    [TIMER_VIRT_PPI] =3D "virt",
>>>>>>>>> +    [TIMER_HYP_PPI] =3D "hyp-phys",
>>>>>>>>> +    [TIMER_HYP_VIRT_PPI] =3D "hyp-virt",
>>>>>>>>> +};
>>>>>>>>> +
>>>>>>>>=20
>>>>>>>> I would need some reference or a pointer to some doc to check thos=
e.
>>>>>>>>=20
>>>>>>>>> unsigned int timer_get_irq(enum timer_ppi ppi)
>>>>>>>>> {
>>>>>>>>> ASSERT(ppi >=3D TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
>>>>>>>>> @@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void)
>>>>>>>>> {
>>>>>>>>> int res;
>>>>>>>>> unsigned int i;
>>>>>>>>> +    bool has_names;
>>>>>>>>> +
>>>>>>>>> +    has_names =3D dt_property_read_bool(timer, "interrupt-names"=
);
>>>>>>>>>=20
>>>>>>>>> /* Retrieve all IRQs for the timer */
>>>>>>>>> for ( i =3D TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>>>>>>>>> {
>>>>>>>>> -        res =3D platform_get_irq(timer, i);
>>>>>>>>> -
>>>>>>>>> -        if ( res < 0 )
>>>>>>>>> +        if ( has_names )
>>>>>>>>> +            res =3D platform_get_irq_byname(timer, timer_irq_nam=
es[i]);
>>>>>>>>> +        else
>>>>>>>>> +            res =3D platform_get_irq(timer, i);
>>>>>>>>> +
>>>>>>>>> +        if ( res > 0 )
>>>>>>>>=20
>>>>>>>> The behaviour of the code is changed here compared to the current
>>>>>>>> version as res =3D 0 will now generate a panic.
>>>>>>>>=20
>>>>>>>> Some device tree might not specify an interrupt number and just pu=
t
>>>>>>>> 0 and Xen will now panic on those systems.
>>>>>>>> As I have no idea if such systems exists and the behaviour is modi=
fied
>>>>>>>> you should justify this and mention it in the commit message or ke=
ep
>>>>>>>> the old behaviour and let 0 go through without a panic.
>>>>>>>>=20
>>>>>>>> @stefano, julien any idea here ? should just keep the old behaviou=
r ?
>>>>>>>=20
>>>>>>> platform_get_irq returns 0 if the irq is 0. The irq cannot be 0 bec=
ause
>>>>>>> 0 is reserved for SGIs, not PPIs. So I think it is OK to consider 0=
 an
>>>>>>> error.
>>>>>>=20
>>>>>> Problem here is that a DTB might not specify all interrupts and just=
 put
>>>>>> 0 for the one not used (or not available for example if you have no =
secure
>>>>>> world).
>>>>> Xen requires presence of EL3,EL2 and on such system, at least the fol=
lowing timers needs to be there
>>>>> according to Arm ARM:
>>>>> - EL3 phys (if EL3 is there)
>>>>=20
>>>> This might be needed by EL3 but not by Xen.
>>> Xen requires system with EL3 and if there is EL3, both Arm spec and dt =
bindings requires sec-phys timer to be there.
>>> So it would be very strange to see a fake interrupt with IRQ being 0. B=
ut if we relly want to only care about
>>> what Xen needs, then we could live with that (although it is difficult =
for me to find justification for 0 there).
>>> Device trees are created per system and if system has EL3, then why for=
cing 0 to be listed for sec-phys timer?
>>>=20
>>=20
>> Let's see that on the other angle: why should Xen check stuff that it do=
es not need ?
> Because apart from what it needs or not, there is a matter of a failure i=
n Xen.
> Xen exposes timer IRQs to dom0 as they were taken from dtb and allowing 0=
 for any of the timer IRQ would result
> in a Xen failure when reserving such IRQ. Xen presets SGI IRQs, meaning b=
its 0:15 in allocated_irqs bitmap are set.
> This is why when calling vgic_reserve_virq and passing SGI always results=
 in calling a BUG().
>=20
> So we have two options:
> - panic earlier with a meaningful message when IRQ is 0
> - let Xen continue and reach BUG which would be not that obvious for peop=
le using but not knowing Xen

So you are saying that in the current state 0 would be ignored during scan =
and create a bug later.

If this is the case than definitely we should panic earlier with a proper m=
essage I agree.

Regards
Bertrand

>=20
> I think first option is always better.
>=20
> ~Michal




From xen-devel-bounces@lists.xenproject.org Thu Mar 09 12:52:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 12:52:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508257.782747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paFkj-0004FQ-UA; Thu, 09 Mar 2023 12:52:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508257.782747; Thu, 09 Mar 2023 12: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 1paFkj-0004FJ-Ra; Thu, 09 Mar 2023 12:52:13 +0000
Received: by outflank-mailman (input) for mailman id 508257;
 Thu, 09 Mar 2023 12:52: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 1paFki-0004F9-MY; Thu, 09 Mar 2023 12:52: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 1paFki-0001vy-Km; Thu, 09 Mar 2023 12:52: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 1paFki-0003cf-6b; Thu, 09 Mar 2023 12:52:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1paFki-0003YI-3f; Thu, 09 Mar 2023 12:52: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=lvUt32XO6Nk0ulNY1jYplpD9duVIQ35T481CSXXSi84=; b=dSUWNyg92rEQDsfs+1c5T8RnVS
	SX2vKRHg/QORZSOq5NlACXdL8ALfjt826T6kxwebKW/xiQRGVS/Ru4GONkR2YWuUhjzIH1FaqhWoz
	1GC+bvTQ8y7UQ14jYrE/fp+39nPcs3KYZObzLkK7bsGZw5BU3gEkERyiwMG3+RcgYIkU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179517-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179517: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a0f9628705e35c981ae95376f9ebedf877d09111
X-Osstest-Versions-That:
    ovmf=69da506c927f8092ea8f783a092a694a3582e3ef
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 09 Mar 2023 12:52:12 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a0f9628705e35c981ae95376f9ebedf877d09111
baseline version:
 ovmf                 69da506c927f8092ea8f783a092a694a3582e3ef

Last test of basis   179510  2023-03-08 18:43:52 Z    0 days
Testing same since   179517  2023-03-09 10:12:20 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-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
   69da506c92..a0f9628705  a0f9628705e35c981ae95376f9ebedf877d09111 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 13:33:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 13:33:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508263.782768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paGOs-0001Ij-Bh; Thu, 09 Mar 2023 13:33:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508263.782768; Thu, 09 Mar 2023 13: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 1paGOs-0001Ia-8y; Thu, 09 Mar 2023 13:33:42 +0000
Received: by outflank-mailman (input) for mailman id 508263;
 Thu, 09 Mar 2023 13: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=RZdn=7B=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1paGOq-00013B-LN
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 13:33:40 +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 00b5af64-be7f-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 14:33:40 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 l7-20020a05600c4f0700b003e79fa98ce1so1253469wmq.2
 for <xen-devel@lists.xenproject.org>; Thu, 09 Mar 2023 05:33:40 -0800 (PST)
Received: from fedora.. (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 he11-20020a05600c540b00b003df5be8987esm2672209wmb.20.2023.03.09.05.33.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 05:33: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: 00b5af64-be7f-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678368819;
        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=K7hHcHZI8sa8NXq4j1gKzt1RWafzFQLn60muWdU2SCg=;
        b=PWTWUc3idM94EEk0JjS7IZHBg7ysEgyUWUZc9BmBW3gxCTwrKPa1PkdvfozgTWbomp
         JJDIPJJyh7Nt3EToFIGnyndFrKbdoQDfYuntv7Z3tzkgPQ8Z5lfA9CSs9imZqnn9Gyc7
         3ZLA9MjiVj7JArTQSDxWtnqMD4TwuWTjxXBCcEwxiC/LhGBRCN724uHjhkT4yjGIO12k
         2jGLWmtbf/eCUXI1gFxVocJx4IoVBIr/7Zl0ea7FZ/z3ohoRxLCbbKulIgZ5e79p1DYB
         w6GkkweFAeCSOQuyRBTaj4N0oYGQUb82D2kfqh9nV1kQ2VEtBALcPWNs9mQaB9XQ5ueJ
         xLNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678368819;
        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=K7hHcHZI8sa8NXq4j1gKzt1RWafzFQLn60muWdU2SCg=;
        b=aIfXQSGGJNqrGV2UvcFV+4WL49EWs62Iqad7TXIs1n1+K1hA+ScZ4qAZCV+QNZohvp
         qylL5lsdUGfsqboV9f9qGrLW3lYW3Ee0jSSRlwHZQOGQcB2lLviPeNvxDNx0tMbMvSl1
         hMF9wmnIXgENkdGzCWYy9+y5pe1gwzThG57ZZXKogYLhG2js5Ie5kONbMeHf8J9X/N3b
         XqmqXRbWfLh7rT6Dj7wwjef6JCwesB4jYxrBUHDmjQ0ZJUq9mSiyl+9MreC35eFhGOGf
         MaSnAJy++51oLolSAWgaNR7CPajktBbLw09XYtIJsAlYWCfaoQigN/rT1YUKbtCekR7S
         ZODg==
X-Gm-Message-State: AO0yUKU77zimU4qU9LIxWtMIERdRoELkYfOHroqITcV55+cWJDijQ70p
	UzVQ6yR+taEuJkY4sf+yXgsbgr4RB9e2GA==
X-Google-Smtp-Source: AK7set+XCj1W9HIHP9bFEP75JNHnWuQ4xjygYljXslqBnZPoLh05W1VF19fPdMvW+0ZYfr9WN9HYCA==
X-Received: by 2002:a05:600c:1552:b0:3ea:f883:4ce with SMTP id f18-20020a05600c155200b003eaf88304cemr18613070wmg.20.1678368819421;
        Thu, 09 Mar 2023 05:33:39 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v7 2/5] xen/arm: remove unused defines in <asm/bug.h>
Date: Thu,  9 Mar 2023 15:33:25 +0200
Message-Id: <ff898ad47ab1caae2ddfe3c9d34e7ebca8f40d44.1678368234.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678368234.git.oleksii.kurochko@gmail.com>
References: <cover.1678368234.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH,
BUG_LINE_HI_WIDTH aren't used in ARM so could be purged
as unused.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/arm/include/asm/bug.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index f4088d0913..d6c98505bf 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -9,10 +9,6 @@
 # error "unknown ARM variant"
 #endif
 
-#define BUG_DISP_WIDTH    24
-#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
-#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
-
 struct bug_frame {
     signed int loc_disp;    /* Relative address to the bug address */
     signed int file_disp;   /* Relative address to the filename */
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 13:33:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 13:33:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508262.782758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paGOq-00013O-2F; Thu, 09 Mar 2023 13:33:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508262.782758; Thu, 09 Mar 2023 13: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 1paGOp-00013H-To; Thu, 09 Mar 2023 13:33:39 +0000
Received: by outflank-mailman (input) for mailman id 508262;
 Thu, 09 Mar 2023 13:33: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=RZdn=7B=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1paGOo-00013B-JE
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 13:33:38 +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 ff04b1a4-be7e-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 14:33:37 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 bg16-20020a05600c3c9000b003eb34e21bdfso3633730wmb.0
 for <xen-devel@lists.xenproject.org>; Thu, 09 Mar 2023 05:33:37 -0800 (PST)
Received: from fedora.. (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 he11-20020a05600c540b00b003df5be8987esm2672209wmb.20.2023.03.09.05.33.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 05: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: ff04b1a4-be7e-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678368816;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ng8FBOJnN47CkIBVXSPVu+q3qqTztAHTbKTUL7gCvvs=;
        b=nDTlsi17xqJtoa4prcjiYRHLC0YpwLTxfibEETJN5onu1KXstLDZ1DZQ8TyGHoV4B8
         F+gYpUMD3mnM/xhPzso8P+YlFPNxcoiro4/rLatVc7DoJXBJlW8mlPRs0LH0l2FtrKfc
         EOltyBvOfMQ5Rdc/2wwsP9sDA9l3kGClPfbKOPwlHOcn/falasq1p4yAG8V9JIV+qi8h
         iAmztfex4sxnR7X7a0RgsINCaj1Vsk+h4NeMU3+JznGhjymQIQQ2XsW/4MZQJSSf3uvd
         q6e5jxDm+vK9gcKOhvgYE9h/4ipfLuQawNfph1buR/qT3n+7kH4Tbk3qifSFklWgUPR0
         l4cQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678368816;
        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=ng8FBOJnN47CkIBVXSPVu+q3qqTztAHTbKTUL7gCvvs=;
        b=qJ5y0qJ6BQGSmYx5QBbNbDWlWNIgFjseYtbw8Hh/ZP6HhrP93Pz1okuqC+mdKHraTj
         t8eJRPDD/dTjrQRuarbW6rk3ozgGq9IaoUzryy0mR1EjSKZzeX9w1gT6IIvVGXjidZAV
         w/qmDng9eLADuHYLOAGZw6bFJQK+CX4YO0vHfGLLOU9gtrmjwkygeHE4+t87DOxC2L4c
         IOmlwvdBl7xQZuXMBf6hThkuyQLHulhdPILC1z7o++cQwoX85ssJrEyJ6ROtZPgakRz9
         HQkEz7tNHh6wQIShKzQ4vXLGKsGMNLg9MqJEPtUtnF+ejz6TXOyx+9/91jctP0PTI1wr
         rX8w==
X-Gm-Message-State: AO0yUKXP8RgMsjfm6rfBOogMn6qIi9Eji/MJpZaGflqHslxs9leE6lUr
	At7zqW12XlUiigzjz3k8UqvC3RAvLd8D0g==
X-Google-Smtp-Source: AK7set/DSphCGQcf4mx6p0XdHH3sV8QgrX9WDrI4RbgM3N2DNHbyZtGKqbzgjJZo9WzwAne3IVIVTw==
X-Received: by 2002:a05:600c:1c9e:b0:3ea:f883:180 with SMTP id k30-20020a05600c1c9e00b003eaf8830180mr19464954wms.7.1678368816459;
        Thu, 09 Mar 2023 05:33:36 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v7 0/5] introduce generic implementation of macros from bug.h
Date: Thu,  9 Mar 2023 15:33:23 +0200
Message-Id: <cover.1678368234.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A large part of the content of the bug.h is repeated among all
architectures (especially x86 and RISCV have the same implementation), so it
was created a new config CONFIG_GENERIC_BUG_FRAME which is used to
introduce generic implementation of do_bug_frame() and move x86's <asm/bug.h>
to <xen/common/...> with the following changes:
  * Add inclusion of arch-specific header <asm/bug.h>
  * Rename the guard and remove x86 specific changes
  * Wrap macros BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed/etc
    into #ifndef "BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed/etc"
    thereby each architecture can override the generic implementation of macros.
  * Add #if{n}def __ASSEMBLY__ ... #endif
  * Introduce BUG_FRAME_STRUCTURE define to be able to change the structure of bug
    frame
  * Introduce BUG_INSTR and BUG_ASM_CONST to make _ASM_BUGFRAME_TEXT reusable between
    architectures
  * Introduce BUG_DEBUGGER_TRAP_FATAL to hide details about TRAP_invalid_op for specific
    architecture
  * Introduce BUILD_BUG_ON_LINE_WIDTH(line) to make more generic BUG_FRAME macros
  * Make macros related to bug frame structure more generic.

RISC-V will be switched to use <xen/bug.h> and in the future, it will use common
the version of do_bug_frame() when xen/common will work for RISC-V.

---
Changes in V7:
 * Introduce new patch to clean up ARM's <asm/bug.h> from unused defines: 
   BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH
 * fix addressed code style.
 * Remove '#include <xen/debugger.h>' from bug.c. it should be a part
	 of <asm/bug.h>.
 * move BUILD_BUG_ON_LINE_WIDTH to '#ifndef BUG_FRAME_STRUCT' and define
	 dummy BUILD_BUG_ON_LINE_WIDTH when BUG_FRAME_STRUCT is defined.
 * remove update prototype of 'void (*fn)(const struct cpu_user_regs *)' to
	 'void (*fn)(struct cpu_user_regs *)'.
 * add code to to make sure the type used in run_in_exception_handler()
	 matches the one used here.
 * Remove #undef {BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH} from
	 ARM and x86:
	 - for ARM was created separate patch where the defines are removed as
	   unused.
	 - for x86, the defines were removed now not to produce #undef of them to remove
     them again in the following-up patch
 * make eip 'const void *' in x86's do_invalid_op() 
 * change [eip = (unsigned char *)eip + sizeof(bug_insn);] to [eip += sizeof(bug_insn);]
 * add '#include <xen/debugger.h>' to x86's <asm/bug.h>
---
Changes in V6:
 * Update the cover letter message: add information that BUG_DEBUGGER_TRAP_FATAL() and
   BUILD_BUG_ON_LINE_WIDTH().
 * Introduce BUILD_BUG_ON_LINE_WIDTH(line) to make more generic BUG_FRAME macros.
 * fix addressed code style
 * change -EINVAL to -ENOENT in case when bug_frame wasn't found in generic do_bug_frame().
 * change all 'return id' to 'break' inside switch/case of do_bug_frame().
 * move up "#ifndef __ASSEMBLY__" to include BUG_DEBUGGER_TRAP_FATAL.
 * update the comment of BUG_ASM_CONST.
 * Introduce BUILD_BUG_ON_LINE_WIDTH(line) to make more generic BUG_FRAME macros
 * remove #ifndef BUG_FRAME_STRUCT around BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH as it is
   required to be defined before <asm/bug.h> as it is used by x86's <asm/bug.h> when
   the header is included in assembly code.
 * add undef of BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH for ARM & x86
   as they were introduced unconditionally in <xen/bug.h>.
 * update the type of eip to 'void *' in do_invalid_op() for x86
 * fix the logic of do_invalid_op() for x86
 * move macros BUG_DEBUGGER_TRAP_FATAL under #ifndef __ASSEMBLY__ as
	 it is not necessary to be in assembly code for x86.

---
Changes in V5:
 * Update the cover letter message as the patch, on which the patch series
   is based, has been merged to staging.
 * Remove "#ifdef BUG_FN_REG..." from generic do_bug_frame() as ARM will
   use generic implementation fully.
---
Changes in V4:
 * Introduce and use generic BUG_DEBUGGER_TRAP_FATAL(regs) mnacros which is used to deal with
   debugger_trap_fatal(TRAP_invalid_op, regs) where TRAP_invalid_op is x86-specific.
 * Add comment what do_bug_frame() returns.
 * Do refactoring of do_bug_frame():
     * invert the condition 'if ( region )' in do_bug_frame() to reduce the indention.
		 * change type of variable i from 'unsigned int' to 'size_t' as it  is compared with
		   n_bugs which has type 'size_t'
 * Remove '#include <xen/stringify.h>' from <xen/bug.h> as it doesn't need any more after switch to
   x86 implementation.
 * Remove '#include <xen/errno.h>' as it isn't needed any more
 * Move bug_*() macros inside '#ifndef BUG_FRAME_STRUCT'
 * Add <xen/lib.h> to fix compile issue with BUILD_ON()...
 * Add documentation for BUG_ASM_CONST.
 * Defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH were moved into
   "ifndef BUG_FRAME_STRUCT" in <xen/bug.h> as they are specific for 'struct bug_frame' and so should
   co-exist together. So the defines were back to <asm/bug.h> until BUG_FRAME_STRUCT will be defined in
	 <asm/bug.h>.
 * Switch ARM implementation to generic one
 * Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed after switch to generic implementation
 * Back comment /* !__ASSEMBLY__ */ for #else case in <asm/bug.h>
 * Remove changes related to x86/.../asm/debuger.h as do_bug_frame() prototype was updated and cpu_user_regs
	 isn't const any more.

---
Changes in V3:
 * Nothing was done with the comment in <xen/bug.h> before run_in_exception_handler
   but I think it can be changed during the merge.
 * Add debugger_trap_fatal() to do_bug_frame(). It simplifies usage of
   do_bug_frame() for x86 so making handle_bug_frame() and find_bug_frame()
   not needed anymore.
 * Update do_bug_frame() to return -EINVAL if something goes wrong; otherwise
   id of bug_frame
 * Update _ASM_BUGFRAME_TEXT to make it more portable.
 * Drop unnecessary comments.
 * Update patch 2 not to break compilation: move some parts from patches 3 and 4
   to patch 2
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
 * Change debugger_trap_fatal() prototype for x86 to align with prototype in
   <xen/debugger.h>
---
Changes in V2:
  * Update cover letter.
  * Switch to x86 implementation as generic as it is more compact ( at least from the point of view of bug frame structure).
  * Put [PATCH v1 4/4] xen: change <asm/bug.h> to <xen/bug.h> as second patch,
    update the patch to change all <asm/bug.h> to <xen/bug.h> among the whole project
    to not break compilation.
  * Rename CONFIG_GENERIC_DO_BUG_FRAME to CONFIG_GENERIC_BUG_FRAME.
  * Change the macro bug_loc(b) to avoid the need for a cast:
    #define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
  * Rename BUG_FRAME_STUFF to BUG_FRAME_STRUCT
  * Make macros related to bug frame structure more generic.
  * Rename bug_file() in ARM implementation to bug_ptr() as generic do_bug_frame() uses
    bug_ptr().
  * Introduce BUG_INSTR and MODIFIER to make _ASM_BUGFRAME_TEXT reusable between x86 and
    RISC-V.
  * Rework do_invalid_op() in x86 ( re-use handle_bug_frame() and find_bug_frame() )
---

Oleksii Kurochko (5):
  xen: introduce CONFIG_GENERIC_BUG_FRAME
  xen/arm: remove unused defines in <asm/bug.h>
  xen: change <asm/bug.h> to <xen/bug.h>
  xen/arm: switch ARM to use generic implementation of bug.h
  xen/x86: switch x86 to use generic implemetation of bug.h

 xen/arch/arm/Kconfig                 |   1 +
 xen/arch/arm/arm32/traps.c           |   2 +-
 xen/arch/arm/include/asm/arm32/bug.h |   2 -
 xen/arch/arm/include/asm/arm64/bug.h |   2 -
 xen/arch/arm/include/asm/bug.h       |  88 +--------------
 xen/arch/arm/include/asm/div64.h     |   2 +-
 xen/arch/arm/include/asm/traps.h     |   2 -
 xen/arch/arm/traps.c                 |  81 +-------------
 xen/arch/arm/vgic/vgic-v2.c          |   2 +-
 xen/arch/arm/vgic/vgic.c             |   2 +-
 xen/arch/x86/Kconfig                 |   1 +
 xen/arch/x86/acpi/cpufreq/cpufreq.c  |   2 +-
 xen/arch/x86/include/asm/asm_defns.h |   2 +-
 xen/arch/x86/include/asm/bug.h       |  84 +-------------
 xen/arch/x86/traps.c                 |  81 ++------------
 xen/common/Kconfig                   |   3 +
 xen/common/Makefile                  |   1 +
 xen/common/bug.c                     | 107 ++++++++++++++++++
 xen/drivers/cpufreq/cpufreq.c        |   2 +-
 xen/include/xen/bug.h                | 162 +++++++++++++++++++++++++++
 xen/include/xen/lib.h                |   2 +-
 21 files changed, 299 insertions(+), 332 deletions(-)
 create mode 100644 xen/common/bug.c
 create mode 100644 xen/include/xen/bug.h

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 13:33:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 13:33:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508265.782783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paGOu-0001cT-W9; Thu, 09 Mar 2023 13:33:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508265.782783; Thu, 09 Mar 2023 13:33: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 1paGOu-0001c6-Pg; Thu, 09 Mar 2023 13:33:44 +0000
Received: by outflank-mailman (input) for mailman id 508265;
 Thu, 09 Mar 2023 13:33: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=RZdn=7B=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1paGOt-0001IZ-JR
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 13:33:43 +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 019cf144-be7f-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 14:33:41 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 l7-20020a05600c1d0700b003eb5e6d906bso1222974wms.5
 for <xen-devel@lists.xenproject.org>; Thu, 09 Mar 2023 05:33:41 -0800 (PST)
Received: from fedora.. (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 he11-20020a05600c540b00b003df5be8987esm2672209wmb.20.2023.03.09.05.33.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 05:33: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: 019cf144-be7f-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678368821;
        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=iwHPugclA9fxaG15juqlxYVC4Svp3r2KHxTOl+XGGLQ=;
        b=bT+jPyhAoT7oeC1Uiv8MMpGdEMa0nJNykW2WO6+XwQJG5rxMo1rolYGUez1RmyjEqr
         Uy209cQF1XV2mZoy4X94KS/YFzYmqP0iTC3kCpvCeeJXWQRpFfRWBpe3owPJIgYTy8wF
         of5ZAIYacFIm4FIH00H2zUi0b1hnfwLjINh8V86QPm+cLE4j86LAFEgVVe3ognpJlaDs
         7wlsESJAp0NNc9dwF07LXKdmwAmTuD5RMpeDtwS95pbyt4d64ko5w50alQh8J455jeLW
         E4rCAfMa0xh0fCJ1CRBc3KLguVKQwfyBdD4tBsskANuX2aSjvuPiEiCflLwR6y0DUYaT
         2BUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678368821;
        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=iwHPugclA9fxaG15juqlxYVC4Svp3r2KHxTOl+XGGLQ=;
        b=jG3hdQTkVruAYdEbkIYwyOb+71VR/DP9MHgwamRQNXRd0nwjJAEPZ93H63N+WOCYYu
         qSpRI7C1HDacFntEsSJyCvF9j9eqKudarJRB2/Dnd7BBRm6T6XQPVPyf4PU1xcFWdBEF
         LOlekp1EdsxHLbXyHW04D9XvlKcJifMAtYx30EE0SuVpdcpH2T5XUwzH69xXk41liV9V
         KKt4xNj3b/iCuHCqoHk/ebSikYcuZB6mqk5PxLwgMdyPlgERjyd8UlOimxJIbhXVY6Rk
         EU0yJWC6dcEzN2a/5nZn43sYIkP4T0GcrD+jNgbMGnV9JecabARQv4cvMkZxH6KdSJr5
         +IYw==
X-Gm-Message-State: AO0yUKV+RrKbvtur7JDjzB6yp/KQ1tlrFkyuTL5ZzDvjviRaSsjvBQS5
	mIUAMRFXsAlVSrOwO9+CGi28NCL0s5qjLQ==
X-Google-Smtp-Source: AK7set+RHvFUM/3QMscPBuBAvCgCqjbAbNfs7jVhQLtbfJmZ9AHjReU3nueDOejZnCIqe//H7eQRlg==
X-Received: by 2002:a1c:f415:0:b0:3df:9858:c03a with SMTP id z21-20020a1cf415000000b003df9858c03amr17802302wma.15.1678368820964;
        Thu, 09 Mar 2023 05:33:40 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v7 3/5] xen: change <asm/bug.h> to <xen/bug.h>
Date: Thu,  9 Mar 2023 15:33:26 +0200
Message-Id: <9c436fdfeb73d7201093da997a8d09314a3e59a9.1678368234.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678368234.git.oleksii.kurochko@gmail.com>
References: <cover.1678368234.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The idea of the patch is to change all <asm/bug.h> to <xen/bug.h> and
keep Xen compilable with adding only minimal amount of changes:
1. It was added "#include <xen/types.h>" to ARM's "<asm/bug.h>" as it
  uses uint_{16,32}t in 'struct bug_frame'.
2. It was added '#define BUG_FRAME_STRUCT' which means that ARM hasn't
  been switched to generic implementation yet.
3. It was added '#define BUG_FRAME_STRUCT' which means that x86 hasn't
  been switched to generic implementation yet.
4. BUGFRAME_* and _start_bug_frame[], _stop_bug_frame_*[] were removed
  for ARM & x86 to deal with compilation errors such as:
      redundant redeclaration of ...
5. Remove BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH from
  x86's <asm.bug.h> to not to produce #undef for them and #define again
  with the same values as in <xen/bug.h>. These #undef and #define will
  be anyway removed in the patch [2]

In the following two patches x86 and ARM archictectures will be
switched fully:
[1] xen/arm: switch ARM to use generic implementation of bug.h
[2] xen/x86: switch x86 to use generic implemetation of bug.h

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V7:
 * Remove #undef {BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH} from
   ARM and x86:
   * for ARM was created separate patch where the defines are removed as
     unused.
   * for x86, the defines were removed now not to produce #undef of them to remove
            them again in the following-up patch
 * Update commit message
 * Add Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V6:
	- change the inclusion order of <xen/bug.h>.
	- add #undef of BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH for ARM & x86
	  as they were introduced unconditionally in <xen/bug.h>.
	- update the commit message
---
Changes in V5:
 - Nothing changed
---
Changes in V4:
	- defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH were moved into
	  "ifndef BUG_FRAME_STRUCT" in <xen/bug.h> as they are specific for 'struct bug_frame' and so should
	  co-exist together. So the defines were back to <asm/bug.h> until BUG_FRAME_STRUCT will be defined in
	  <asm/bug.h>.
	- Update the comment message.
---
Changes in V3:
 * Update patch 2 not to break compilation: move some parts from patches 3 and 4
   to patch 2:
   * move some generic parts from <asm/bug.h> to <xen/bug.h>
   * add define BUG_FRAME_STRUCT in ARM's <asm/bug.h>
---
Changes in V2:
 * Put [PATCH v1 4/4] xen: change <asm/bug.h> to <xen/bug.h> as second patch,
   update the patch to change all <asm/bug.h> to <xen/bug.h> among the whole project
   to not break build.
 * Update the commit message.
---
 xen/arch/arm/include/asm/bug.h       | 17 ++++-------------
 xen/arch/arm/include/asm/div64.h     |  2 +-
 xen/arch/arm/vgic/vgic-v2.c          |  2 +-
 xen/arch/arm/vgic/vgic.c             |  2 +-
 xen/arch/x86/acpi/cpufreq/cpufreq.c  |  2 +-
 xen/arch/x86/include/asm/asm_defns.h |  2 +-
 xen/arch/x86/include/asm/bug.h       | 19 ++-----------------
 xen/drivers/cpufreq/cpufreq.c        |  2 +-
 xen/include/xen/lib.h                |  2 +-
 9 files changed, 13 insertions(+), 37 deletions(-)

diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index d6c98505bf..cacaf014ab 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -1,6 +1,8 @@
 #ifndef __ARM_BUG_H__
 #define __ARM_BUG_H__
 
+#include <xen/types.h>
+
 #if defined(CONFIG_ARM_32)
 # include <asm/arm32/bug.h>
 #elif defined(CONFIG_ARM_64)
@@ -9,6 +11,8 @@
 # error "unknown ARM variant"
 #endif
 
+#define BUG_FRAME_STRUCT
+
 struct bug_frame {
     signed int loc_disp;    /* Relative address to the bug address */
     signed int file_disp;   /* Relative address to the filename */
@@ -22,13 +26,6 @@ struct bug_frame {
 #define bug_line(b) ((b)->line)
 #define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
 
-#define BUGFRAME_run_fn 0
-#define BUGFRAME_warn   1
-#define BUGFRAME_bug    2
-#define BUGFRAME_assert 3
-
-#define BUGFRAME_NR     4
-
 /* Many versions of GCC doesn't support the asm %c parameter which would
  * be preferable to this unpleasantness. We use mergeable string
  * sections to avoid multiple copies of the string appearing in the
@@ -85,12 +82,6 @@ struct bug_frame {
     unreachable();                                              \
 } while (0)
 
-extern const struct bug_frame __start_bug_frames[],
-                              __stop_bug_frames_0[],
-                              __stop_bug_frames_1[],
-                              __stop_bug_frames_2[],
-                              __stop_bug_frames_3[];
-
 #endif /* __ARM_BUG_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/arm/include/asm/div64.h b/xen/arch/arm/include/asm/div64.h
index 1cd58bc51a..fc667a80f9 100644
--- a/xen/arch/arm/include/asm/div64.h
+++ b/xen/arch/arm/include/asm/div64.h
@@ -74,7 +74,7 @@
 
 #elif __GNUC__ >= 4
 
-#include <asm/bug.h>
+#include <xen/bug.h>
 
 /*
  * If the divisor happens to be constant, we determine the appropriate
diff --git a/xen/arch/arm/vgic/vgic-v2.c b/xen/arch/arm/vgic/vgic-v2.c
index 1a99d3a8b4..c90e88fddb 100644
--- a/xen/arch/arm/vgic/vgic-v2.c
+++ b/xen/arch/arm/vgic/vgic-v2.c
@@ -16,8 +16,8 @@
  */
 
 #include <asm/new_vgic.h>
-#include <asm/bug.h>
 #include <asm/gic.h>
+#include <xen/bug.h>
 #include <xen/sched.h>
 #include <xen/sizes.h>
 
diff --git a/xen/arch/arm/vgic/vgic.c b/xen/arch/arm/vgic/vgic.c
index f0f2ea5021..b9463a5f27 100644
--- a/xen/arch/arm/vgic/vgic.c
+++ b/xen/arch/arm/vgic/vgic.c
@@ -15,9 +15,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <xen/bug.h>
 #include <xen/list_sort.h>
 #include <xen/sched.h>
-#include <asm/bug.h>
 #include <asm/event.h>
 #include <asm/new_vgic.h>
 
diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index c27cbb2304..18ff2a443b 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -27,6 +27,7 @@
  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  */
 
+#include <xen/bug.h>
 #include <xen/types.h>
 #include <xen/errno.h>
 #include <xen/delay.h>
@@ -35,7 +36,6 @@
 #include <xen/sched.h>
 #include <xen/timer.h>
 #include <xen/xmalloc.h>
-#include <asm/bug.h>
 #include <asm/msr.h>
 #include <asm/io.h>
 #include <asm/processor.h>
diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
index d9431180cf..baaaccb26e 100644
--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -6,8 +6,8 @@
 /* NB. Auto-generated from arch/.../asm-offsets.c */
 #include <asm/asm-offsets.h>
 #endif
-#include <asm/bug.h>
 #include <asm/x86-defns.h>
+#include <xen/bug.h>
 #include <xen/stringify.h>
 #include <asm/cpufeature.h>
 #include <asm/alternative.h>
diff --git a/xen/arch/x86/include/asm/bug.h b/xen/arch/x86/include/asm/bug.h
index b7265bdfbe..4b3e7b019d 100644
--- a/xen/arch/x86/include/asm/bug.h
+++ b/xen/arch/x86/include/asm/bug.h
@@ -1,19 +1,10 @@
 #ifndef __X86_BUG_H__
 #define __X86_BUG_H__
 
-#define BUG_DISP_WIDTH    24
-#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
-#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
-
-#define BUGFRAME_run_fn 0
-#define BUGFRAME_warn   1
-#define BUGFRAME_bug    2
-#define BUGFRAME_assert 3
-
-#define BUGFRAME_NR     4
-
 #ifndef __ASSEMBLY__
 
+#define BUG_FRAME_STRUCT
+
 struct bug_frame {
     signed int loc_disp:BUG_DISP_WIDTH;
     unsigned int line_hi:BUG_LINE_HI_WIDTH;
@@ -80,12 +71,6 @@ struct bug_frame {
     unreachable();                                              \
 } while (0)
 
-extern const struct bug_frame __start_bug_frames[],
-                              __stop_bug_frames_0[],
-                              __stop_bug_frames_1[],
-                              __stop_bug_frames_2[],
-                              __stop_bug_frames_3[];
-
 #else  /* !__ASSEMBLY__ */
 
 /*
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index a94520ee57..354f78580b 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -26,6 +26,7 @@
  * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  */
 
+#include <xen/bug.h>
 #include <xen/types.h>
 #include <xen/errno.h>
 #include <xen/delay.h>
@@ -39,7 +40,6 @@
 #include <xen/guest_access.h>
 #include <xen/domain.h>
 #include <xen/cpu.h>
-#include <asm/bug.h>
 #include <asm/io.h>
 #include <asm/processor.h>
 
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 05ee1e18af..e914ccade0 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -24,12 +24,12 @@
 
 #ifndef __ASSEMBLY__
 
+#include <xen/bug.h>
 #include <xen/inttypes.h>
 #include <xen/stdarg.h>
 #include <xen/types.h>
 #include <xen/xmalloc.h>
 #include <xen/string.h>
-#include <asm/bug.h>
 
 #define BUG_ON(p)  do { if (unlikely(p)) BUG();  } while (0)
 #define WARN_ON(p)  ({                  \
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 13:33:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 13:33:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508264.782778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paGOu-0001ZM-JK; Thu, 09 Mar 2023 13:33:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508264.782778; Thu, 09 Mar 2023 13:33: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 1paGOu-0001Z9-Ft; Thu, 09 Mar 2023 13:33:44 +0000
Received: by outflank-mailman (input) for mailman id 508264;
 Thu, 09 Mar 2023 13: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=RZdn=7B=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1paGOs-0001IZ-Hc
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 13:33: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 ffd7611e-be7e-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 14:33:39 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 m25-20020a7bcb99000000b003e7842b75f2so1229303wmi.3
 for <xen-devel@lists.xenproject.org>; Thu, 09 Mar 2023 05:33:38 -0800 (PST)
Received: from fedora.. (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 he11-20020a05600c540b00b003df5be8987esm2672209wmb.20.2023.03.09.05.33.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 05:33: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: ffd7611e-be7e-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678368818;
        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=FntExRJGSeNimov04w9TWjVBprfy6lHE5LgK1Zasik0=;
        b=RHYaePXORUl2qaT3YOZRCm2Q9Vv/EyTMsopl7Iu9m0smRDVd6Se8MwO3yPbfPhEiAd
         KBktSAyXQ2DFNoyJ19pvZsy/G98I1SwDI+x3KDaZ2dqKbS4gauM4PaN7zpn+dqaQj9Kp
         iuW7Seb0igpEC4JjINg0UygE3HGRFqZVELhIqr2DFgQyWrGWH1Y5JD+m0rEpewCKXqEj
         KFlPKMKQo5CC4JtjituoES8ZieGm4iUlW2zTMzdZ3AGrgd6q60YtQMxnu7Ezxp83WFsK
         tWdBDv/eXi6FqL3iCE7vL0yVF/KZRAHJ7AGqJEFwc7I0c0Z68CozZusV1RDxmgV4yz6/
         KzpA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678368818;
        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=FntExRJGSeNimov04w9TWjVBprfy6lHE5LgK1Zasik0=;
        b=OzX0YdudoeO3avG7UhPzxIohWevsFef6AqM3wc2LatIfZnXR6auRZktcWMLgVNz7ra
         40NhUzcJ72t+RZhTw5v/bGQEvevYML1ijOOI8ojja4M+JdsTvvGPrJnMPXi5jFf8PSfG
         DIcMIIx3Dj73GaD6Vs8X8E8ux8u8mQIjZMVfW82fBats9zmT4zS9e39J6x0OXrP8MMqQ
         LoWSLGiB8KhnWN6ZYMOuXRVYoqVAwABsn6igyKnNkbgwrueiHek1tAqcPgDpfZxpUAhG
         kvuUO3hNT7e+jRaODnAv3PEcdWRqhkxwtoLS0+Lm6cUDUlPU0rS4Qj5K6N3GjjLgRo3M
         cr/A==
X-Gm-Message-State: AO0yUKWhPQGGq/ASbgkCU4BNKPuGOckO7Uo6RfYzVGTw+qxJ8+aZ7px4
	E1AHCv3S2aylm1PSKjV0t/U9QxL0KJKTMw==
X-Google-Smtp-Source: AK7set/L/PuyYE2ohkvN0+isEBV3zDbPhSyBw2scZmmAHMwIgi9NqD/858cBPzeTWlGiIjabFPbZ9g==
X-Received: by 2002:a05:600c:310d:b0:3eb:13d2:c32c with SMTP id g13-20020a05600c310d00b003eb13d2c32cmr19722984wmo.40.1678368817852;
        Thu, 09 Mar 2023 05:33:37 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v7 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
Date: Thu,  9 Mar 2023 15:33:24 +0200
Message-Id: <671cd744b92f14ddc0c47ca471e03e3229cb89ba.1678368234.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678368234.git.oleksii.kurochko@gmail.com>
References: <cover.1678368234.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A large part of the content of the bug.h is repeated among all
architectures, so it was decided to create a new config
CONFIG_GENERIC_BUG_FRAME.

The version of <bug.h> from x86 was taken as the base version.

The patch introduces the following stuff:
  * common bug.h header
  * generic implementation of do_bug_frame
  * new config CONFIG_GENERIC_BUG_FRAME

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 * fix code style.
 * Remove '#include <xen/debugger.h>' from bug.c. it should be a part
   of <asm/bug.h>.
 * move BUILD_BUG_ON_LINE_WIDTH to '#ifndef BUG_FRAME_STRUCT' and define
   dummy BUILD_BUG_ON_LINE_WIDTH when BUG_FRAME_STRUCT is defined.
 * remove update prototype of 'void (*fn)(const struct cpu_user_regs *)' to
	 'void (*fn)(struct cpu_user_regs *)'.
 * add code to to make sure the type used in run_in_exception_handler()
	 matches the one used here.
---
Changes in V6:
 * fix code style.
 * change -EINVAL to -ENOENT in case when bug_frame wasn't found in
   generic do_bug_frame()
 * change all 'return id' to 'break' inside switch/case of generic do_bug_frame()
 * move up "#ifndef __ASSEMBLY__" to include BUG_DEBUGGER_TRAP_FATAL
 * update the comment of BUG_ASM_CONST
 * make the line with 'BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))' in
	 BUG_FRAME macros more abstract
 * remove #ifndef BUG_FRAME_STRUCT around BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH as it is
	 required to be defined before <asm/bug.h> as it is used by x86's <asm/bug.h> when
	 the header is included in assembly code.
---
Changes in V5:
 * Remove "#ifdef BUG_FN_REG..." from generic do_bug_frame() as ARM will
   use generic implementation fully.
---
Changes in V4:
 * common/bug.c:
		- Use BUG_DEBUGGER_TRAP_FATAL(regs) mnacros instead of debugger_trap_fatal(TRAP_invalid_op, regs)
		  in <common/bug.c> as TRAP_invalid_op is x86-specific thereby BUG_DEBUGGER_TRAP_FATAL should
		  be defined for each architecture.
		- add information about what do_bug_frame() returns.
		- invert the condition 'if ( region )' in do_bug_frame() to reduce the indention.
		- change type of variable i from 'unsigned int' to 'size_t' as it  is compared with
		  n_bugs which has type 'size_t'

 * xen/bug.h:
		- Introduce generic BUG_DEBUGGER_TRAP_FATAL(regs) mnacros which is used to deal with 
		  debugger_trap_fatal(TRAP_invalid_op, regs) where TRAP_invalid_op is x86-specific
		- remove '#include <xen/stringify.h>' as it doesn't need any more after switch to
		  x86 implementation.
		- remove '#include <xen/errno.h>' as it isn't needed any more
		- move bug_*() macros inside '#ifndef BUG_FRAME_STRUCT'
		- add <xen/lib.h> to fix compile issue with BUILD_ON()...
		- Add documentation for BUG_ASM_CONST.
 * Update the commit message
---
Changes in V3:
 * Add debugger_trap_fatal() to do_bug_frame(). It simplifies usage of
   do_bug_frame() for x86 so making handle_bug_frame() and find_bug_frame()
   not needed anymore.
 * Update do_bug_frame() to return -EINVAL if something goes wrong; otherwise
   id of bug_frame
 * Update _ASM_BUGFRAME_TEXT to make it more portable.
 * Drop unnecessary comments.
 * define stub value for TRAP_invalid_op in case if wasn't defined in
   arch-specific folders.
---
Changes in V2:
  - Switch to x86 implementation as generic as it is more compact
    ( at least from the point of view of bug frame structure ).
  - Rename CONFIG_GENERIC_DO_BUG_FRAME to CONFIG_GENERIC_BUG_FRAME.
  - Change the macro bug_loc(b) to avoid the need for a cast:
    #define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
  - Rename BUG_FRAME_STUFF to BUG_FRAME_STRUCT
  - Make macros related to bug frame structure more generic.
  - Introduce BUG_INSTR and MODIFIER to make _ASM_BUGFRAME_TEXT reusable
    between x86 and RISC-V.
  - Rework do_bug_frame() and introduce find_bug_frame() and handle_bug_frame()
    functions to make it reusable by x86.
  - code style fixes
---
 xen/common/Kconfig    |   3 +
 xen/common/Makefile   |   1 +
 xen/common/bug.c      | 107 ++++++++++++++++++++++++++++
 xen/include/xen/bug.h | 162 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 273 insertions(+)
 create mode 100644 xen/common/bug.c
 create mode 100644 xen/include/xen/bug.h

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index f1ea3199c8..b226323537 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -28,6 +28,9 @@ config ALTERNATIVE_CALL
 config ARCH_MAP_DOMAIN_PAGE
 	bool
 
+config GENERIC_BUG_FRAME
+	bool
+
 config HAS_ALTERNATIVE
 	bool
 
diff --git a/xen/common/Makefile b/xen/common/Makefile
index bbd75b4be6..46049eac35 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -1,5 +1,6 @@
 obj-$(CONFIG_ARGO) += argo.o
 obj-y += bitmap.o
+obj-$(CONFIG_GENERIC_BUG_FRAME) += bug.o
 obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
 obj-$(CONFIG_CORE_PARKING) += core_parking.o
 obj-y += cpu.o
diff --git a/xen/common/bug.c b/xen/common/bug.c
new file mode 100644
index 0000000000..d583c37735
--- /dev/null
+++ b/xen/common/bug.c
@@ -0,0 +1,107 @@
+#include <xen/bug.h>
+#include <xen/errno.h>
+#include <xen/kernel.h>
+#include <xen/livepatch.h>
+#include <xen/string.h>
+#include <xen/types.h>
+#include <xen/virtual_region.h>
+
+#include <asm/processor.h>
+
+/*
+ * Returns a negative value in case of an error otherwise
+ * BUGFRAME_{run_fn, warn, bug, assert}
+ */
+int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
+{
+    const struct bug_frame *bug = NULL;
+    const struct virtual_region *region;
+    const char *prefix = "", *filename, *predicate;
+    unsigned long fixup;
+    unsigned int id = BUGFRAME_NR, lineno;
+
+    region = find_text_region(pc);
+    if ( !region )
+        return -EINVAL;
+
+    for ( id = 0; id < BUGFRAME_NR; id++ )
+    {
+        const struct bug_frame *b;
+        size_t i;
+
+        for ( i = 0, b = region->frame[id].bugs;
+              i < region->frame[id].n_bugs; b++, i++ )
+        {
+            if ( bug_loc(b) == pc )
+            {
+                bug = b;
+                goto found;
+            }
+        }
+    }
+
+ found:
+    if ( !bug )
+        return -ENOENT;
+
+    if ( id == BUGFRAME_run_fn )
+    {
+        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
+
+        fn(regs);
+
+        /* Re-enforce consistent types, because of the casts involved. */
+        if ( false )
+            run_in_exception_handler(fn);
+
+        return id;
+    }
+
+    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
+    filename = bug_ptr(bug);
+    if ( !is_kernel(filename) && !is_patch(filename) )
+        return -EINVAL;
+    fixup = strlen(filename);
+    if ( fixup > 50 )
+    {
+        filename += fixup - 47;
+        prefix = "...";
+    }
+    lineno = bug_line(bug);
+
+    switch ( id )
+    {
+    case BUGFRAME_warn:
+        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
+        show_execution_state(regs);
+
+        break;
+
+    case BUGFRAME_bug:
+        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
+
+        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
+            break;
+
+        show_execution_state(regs);
+        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
+
+    case BUGFRAME_assert:
+        /* ASSERT: decode the predicate string pointer. */
+        predicate = bug_msg(bug);
+        if ( !is_kernel(predicate) && !is_patch(predicate) )
+            predicate = "<unknown>";
+
+        printk("Assertion '%s' failed at %s%s:%d\n",
+               predicate, prefix, filename, lineno);
+
+        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
+            break;
+
+        show_execution_state(regs);
+        panic("Assertion '%s' failed at %s%s:%d\n",
+              predicate, prefix, filename, lineno);
+    }
+
+    return id;
+}
diff --git a/xen/include/xen/bug.h b/xen/include/xen/bug.h
new file mode 100644
index 0000000000..40442f2547
--- /dev/null
+++ b/xen/include/xen/bug.h
@@ -0,0 +1,162 @@
+#ifndef __XEN_BUG_H__
+#define __XEN_BUG_H__
+
+#define BUGFRAME_run_fn 0
+#define BUGFRAME_warn   1
+#define BUGFRAME_bug    2
+#define BUGFRAME_assert 3
+
+#define BUGFRAME_NR     4
+
+#define BUG_DISP_WIDTH    24
+#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
+#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
+
+#include <asm/bug.h>
+
+#ifndef __ASSEMBLY__
+
+#ifndef BUG_DEBUGGER_TRAP_FATAL
+#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
+#endif
+
+#include <xen/lib.h>
+
+#ifndef BUG_FRAME_STRUCT
+
+struct bug_frame {
+    signed int loc_disp:BUG_DISP_WIDTH;
+    unsigned int line_hi:BUG_LINE_HI_WIDTH;
+    signed int ptr_disp:BUG_DISP_WIDTH;
+    unsigned int line_lo:BUG_LINE_LO_WIDTH;
+    signed int msg_disp[];
+};
+
+#define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
+
+#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
+
+#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
+                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
+                      BUG_LINE_LO_WIDTH) +                                   \
+                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
+                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
+
+#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
+
+#ifndef BUILD_BUG_ON_LINE_WIDTH
+#define BUILD_BUG_ON_LINE_WIDTH(line) \
+    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))
+#endif
+
+#endif /* BUG_FRAME_STRUCT */
+
+/*
+ * Some architectures mark immediate instruction operands in a special way.
+ * In such cases the special marking may need omitting when specifying
+ * directive operands. Allow architectures to specify a suitable
+ * modifier.
+ */
+#ifndef BUG_ASM_CONST
+#define BUG_ASM_CONST ""
+#endif
+
+#ifndef _ASM_BUGFRAME_TEXT
+
+#define _ASM_BUGFRAME_TEXT(second_frame)                                            \
+    ".Lbug%=:"BUG_INSTR"\n"                                                         \
+    "   .pushsection .bug_frames.%"BUG_ASM_CONST"[bf_type], \"a\", %%progbits\n"    \
+    "   .p2align 2\n"                                                               \
+    ".Lfrm%=:\n"                                                                    \
+    "   .long (.Lbug%= - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_hi]\n"                 \
+    "   .long (%"BUG_ASM_CONST"[bf_ptr] - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_lo]\n"\
+    "   .if " #second_frame "\n"                                                    \
+    "   .long 0, %"BUG_ASM_CONST"[bf_msg] - .Lfrm%=\n"                              \
+    "   .endif\n"                                                                   \
+    "   .popsection\n"
+
+#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
+    [bf_type]    "i" (type),                                                 \
+    [bf_ptr]     "i" (ptr),                                                  \
+    [bf_msg]     "i" (msg),                                                  \
+    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
+                      << BUG_DISP_WIDTH),                                    \
+    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
+
+#endif /* _ASM_BUGFRAME_TEXT */
+
+#ifndef BUILD_BUG_ON_LINE_WIDTH
+#define BUILD_BUG_ON_LINE_WIDTH(line) ((void)(line))
+#endif
+
+#ifndef BUG_FRAME
+
+#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
+    BUILD_BUG_ON_LINE_WIDTH(line);                                           \
+    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
+    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
+                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
+} while ( false )
+
+#endif
+
+#ifndef run_in_exception_handler
+
+/*
+ * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
+ * and use a real static inline here to get proper type checking of fn().
+ */
+#define run_in_exception_handler(fn) do {                   \
+    (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
+    BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);             \
+} while ( false )
+
+#endif /* run_in_exception_handler */
+
+#ifndef WARN
+#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, NULL)
+#endif
+
+#ifndef BUG
+#define BUG() do {                                              \
+    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, NULL);      \
+    unreachable();                                              \
+} while ( false )
+#endif
+
+#ifndef assert_failed
+#define assert_failed(msg) do {                                 \
+    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
+    unreachable();                                              \
+} while ( false )
+#endif
+
+#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}
+ */
+int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc);
+
+#endif /* CONFIG_GENERIC_BUG_FRAME */
+
+extern const struct bug_frame __start_bug_frames[],
+                              __stop_bug_frames_0[],
+                              __stop_bug_frames_1[],
+                              __stop_bug_frames_2[],
+                              __stop_bug_frames_3[];
+
+#endif /* !__ASSEMBLY__ */
+
+#endif /* __XEN_BUG_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 13:33:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 13:33:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508266.782798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paGOw-00024v-Ba; Thu, 09 Mar 2023 13:33:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508266.782798; Thu, 09 Mar 2023 13:33: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 1paGOw-00023s-6b; Thu, 09 Mar 2023 13:33:46 +0000
Received: by outflank-mailman (input) for mailman id 508266;
 Thu, 09 Mar 2023 13:33: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=RZdn=7B=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1paGOu-00013B-GD
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 13:33:44 +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 02871639-be7f-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 14:33:43 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id p26so1149423wmc.4
 for <xen-devel@lists.xenproject.org>; Thu, 09 Mar 2023 05:33:43 -0800 (PST)
Received: from fedora.. (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 he11-20020a05600c540b00b003df5be8987esm2672209wmb.20.2023.03.09.05.33.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 05:33: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: 02871639-be7f-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678368822;
        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=6iN2wx9uVkFVrRwrgsCEjR8zhvfXYvQWdVSoCT/2PS8=;
        b=HkrkdIu/MAGD9VvFMszzfKi3/Ngbe8+1YzymKzjQqQzGGqrTi9qbZ1hoDGE/f23oBZ
         v+chNXr524MwalBaR8ivn51J8MKg0szRdLodjLAaeyIkypN2ac1NN9wymRiO/8KThAvQ
         ZqdtNKeZ7fAIR1RnOATNLdxEsUlEYE9WyJT/Y23ijKWEfJuiUetD4zOfxDB+EDM1svUL
         n6YOqejpfRlBM9PxOn2Ik07SANrKuFbHqfqXJk04webJrXn7Vtu4bFfFDwvw3dmLY7y4
         u3eSXoQYyYfFQLMZnuv4l4hWNBXHBgCTDtMe/zlMCpYjRcW5Q+mF67vSE0PC03bugg/s
         3iyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678368822;
        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=6iN2wx9uVkFVrRwrgsCEjR8zhvfXYvQWdVSoCT/2PS8=;
        b=kJB1RDGkTIHeCmVlhqwtxVoujxEtfeukCzXCM/4m4jN3ywg+6wnfVtQwV3AZiw9g7h
         A86Kb8p1AmVTmH0vWnY/OBmtCMiq5hkJtBsI+cE96ry3ZRvszTS2YXg21999bR1nUENQ
         gFevYjtYMV5+zt9iLe8pE3zYbCBE5uepDt9rBNfNs9LeSnJakrBVzW4XrlUnrNTaT0So
         LIQe4tBW57c7LFOLdDa0rEs/0+UZQVG+VF7fWLigCUiOlvtGOKuEPPFDQ7Lik16PoHfJ
         EblBONBYZveyoxDJyxVevGMyNP+sGiMNRmAFXjOz31mT0nbPFtcVeZab8PQlszlLq+vj
         wCLg==
X-Gm-Message-State: AO0yUKXGnouZxzIqWmcBOdGJ3oV23sMWh0kAn+oG1DuJy1IUNSFeu+DO
	1Je89gn5esG8Rfge39JuQHmZn6SO/3iWxA==
X-Google-Smtp-Source: AK7set+hTwiD18wMsrmSoyQitfuDkMb7anPnOVr2jECd3da0srfecYnXT/bFKVKNkwRhPUWZJJaEug==
X-Received: by 2002:a05:600c:3107:b0:3eb:38a2:2bcd with SMTP id g7-20020a05600c310700b003eb38a22bcdmr18958594wmo.28.1678368822555;
        Thu, 09 Mar 2023 05:33:42 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v7 4/5] xen/arm: switch ARM to use generic implementation of bug.h
Date: Thu,  9 Mar 2023 15:33:27 +0200
Message-Id: <026ea7244a97a5993e1895bb01dd07ccf1cc9ad9.1678368234.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678368234.git.oleksii.kurochko@gmail.com>
References: <cover.1678368234.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following changes were made:
* make GENERIC_BUG_FRAME mandatory for ARM
* As do_bug_frame() returns -EINVAL in case something goes wrong
  otherwise id of bug frame. Thereby 'if' cases where do_bug_frame() was
  updated to check if the returned value is less than 0
* Switch ARM's implementation of bug.h macros to generic one

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V7:
 * Rebase the patch.
---
Changes in V6:
 * Update the "changes in v5"
 * Rebase on top of the patch [xen: introduce CONFIG_GENERIC_BUG_FRAME] as
   there were minor changes.
---
Changes in V5:
 * common/bug.c changes were removed after rebase
   (the patch [xen: introduce CONFIG_GENERIC_BUG_FRAME] was reworked to make
    ARM implementation to use generic do_bug_frame())
---
Changes in V4:
 * Switch ARM implementation to generic one
 * Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed after switch to generic implementation
 * Update commit message
---
Changes in V3:
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
---
Changes in V2:
 * Rename bug_file() in ARM implementation to bug_ptr() as
   generic do_bug_frame() uses bug_ptr().
 * Remove generic parts from bug.h
 * Remove declaration of 'int do_bug_frame(...)'
   from <asm/traps.h> as it was introduced in <xen/bug.h>
---
 xen/arch/arm/Kconfig                 |  1 +
 xen/arch/arm/arm32/traps.c           |  2 +-
 xen/arch/arm/include/asm/arm32/bug.h |  2 -
 xen/arch/arm/include/asm/arm64/bug.h |  2 -
 xen/arch/arm/include/asm/bug.h       | 71 +-----------------------
 xen/arch/arm/include/asm/traps.h     |  2 -
 xen/arch/arm/traps.c                 | 81 +---------------------------
 7 files changed, 4 insertions(+), 157 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 239d3aed3c..aad6644a7b 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -12,6 +12,7 @@ config ARM_64
 
 config ARM
 	def_bool y
+	select GENERIC_BUG_FRAME
 	select HAS_ALTERNATIVE
 	select HAS_DEVICE_TREE
 	select HAS_PASSTHROUGH
diff --git a/xen/arch/arm/arm32/traps.c b/xen/arch/arm/arm32/traps.c
index a2fc1c22cb..61c61132c7 100644
--- a/xen/arch/arm/arm32/traps.c
+++ b/xen/arch/arm/arm32/traps.c
@@ -48,7 +48,7 @@ void do_trap_undefined_instruction(struct cpu_user_regs *regs)
     if ( instr != BUG_OPCODE )
         goto die;
 
-    if ( do_bug_frame(regs, pc) )
+    if ( do_bug_frame(regs, pc) < 0 )
         goto die;
 
     regs->pc += 4;
diff --git a/xen/arch/arm/include/asm/arm32/bug.h b/xen/arch/arm/include/asm/arm32/bug.h
index 25cce151dc..3e66f35969 100644
--- a/xen/arch/arm/include/asm/arm32/bug.h
+++ b/xen/arch/arm/include/asm/arm32/bug.h
@@ -10,6 +10,4 @@
 
 #define BUG_INSTR ".word " __stringify(BUG_OPCODE)
 
-#define BUG_FN_REG r0
-
 #endif /* __ARM_ARM32_BUG_H__ */
diff --git a/xen/arch/arm/include/asm/arm64/bug.h b/xen/arch/arm/include/asm/arm64/bug.h
index 5e11c0dfd5..59f664d7de 100644
--- a/xen/arch/arm/include/asm/arm64/bug.h
+++ b/xen/arch/arm/include/asm/arm64/bug.h
@@ -6,6 +6,4 @@
 
 #define BUG_INSTR "brk " __stringify(BRK_BUG_FRAME_IMM)
 
-#define BUG_FN_REG x0
-
 #endif /* __ARM_ARM64_BUG_H__ */
diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index cacaf014ab..1d87533044 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -11,76 +11,7 @@
 # error "unknown ARM variant"
 #endif
 
-#define BUG_FRAME_STRUCT
-
-struct bug_frame {
-    signed int loc_disp;    /* Relative address to the bug address */
-    signed int file_disp;   /* Relative address to the filename */
-    signed int msg_disp;    /* Relative address to the predicate (for ASSERT) */
-    uint16_t line;          /* Line number */
-    uint32_t pad0:16;       /* Padding for 8-bytes align */
-};
-
-#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
-#define bug_file(b) ((const void *)(b) + (b)->file_disp);
-#define bug_line(b) ((b)->line)
-#define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
-
-/* Many versions of GCC doesn't support the asm %c parameter which would
- * be preferable to this unpleasantness. We use mergeable string
- * sections to avoid multiple copies of the string appearing in the
- * Xen image. BUGFRAME_run_fn needs to be handled separately.
- */
-#define BUG_FRAME(type, line, file, has_msg, msg) do {                      \
-    BUILD_BUG_ON((line) >> 16);                                             \
-    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                    \
-    asm ("1:"BUG_INSTR"\n"                                                  \
-         ".pushsection .rodata.str, \"aMS\", %progbits, 1\n"                \
-         "2:\t.asciz " __stringify(file) "\n"                               \
-         "3:\n"                                                             \
-         ".if " #has_msg "\n"                                               \
-         "\t.asciz " #msg "\n"                                              \
-         ".endif\n"                                                         \
-         ".popsection\n"                                                    \
-         ".pushsection .bug_frames." __stringify(type) ", \"a\", %progbits\n"\
-         "4:\n"                                                             \
-         ".p2align 2\n"                                                     \
-         ".long (1b - 4b)\n"                                                \
-         ".long (2b - 4b)\n"                                                \
-         ".long (3b - 4b)\n"                                                \
-         ".hword " __stringify(line) ", 0\n"                                \
-         ".popsection");                                                    \
-} while (0)
-
-/*
- * GCC will not allow to use "i"  when PIE is enabled (Xen doesn't set the
- * flag but instead rely on the default value from the compiler). So the
- * easiest way to implement run_in_exception_handler() is to pass the to
- * be called function in a fixed register.
- */
-#define  run_in_exception_handler(fn) do {                                  \
-    asm ("mov " __stringify(BUG_FN_REG) ", %0\n"                            \
-         "1:"BUG_INSTR"\n"                                                  \
-         ".pushsection .bug_frames." __stringify(BUGFRAME_run_fn) ","       \
-         "             \"a\", %%progbits\n"                                 \
-         "2:\n"                                                             \
-         ".p2align 2\n"                                                     \
-         ".long (1b - 2b)\n"                                                \
-         ".long 0, 0, 0\n"                                                  \
-         ".popsection" :: "r" (fn) : __stringify(BUG_FN_REG) );             \
-} while (0)
-
-#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, "")
-
-#define BUG() do {                                              \
-    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, "");        \
-    unreachable();                                              \
-} while (0)
-
-#define assert_failed(msg) do {                                 \
-    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
-    unreachable();                                              \
-} while (0)
+#define BUG_ASM_CONST   "c"
 
 #endif /* __ARM_BUG_H__ */
 /*
diff --git a/xen/arch/arm/include/asm/traps.h b/xen/arch/arm/include/asm/traps.h
index 883dae368e..c6518008ec 100644
--- a/xen/arch/arm/include/asm/traps.h
+++ b/xen/arch/arm/include/asm/traps.h
@@ -69,8 +69,6 @@ void do_cp(struct cpu_user_regs *regs, const union hsr hsr);
 void do_trap_smc(struct cpu_user_regs *regs, const union hsr hsr);
 void do_trap_hvc_smccc(struct cpu_user_regs *regs);
 
-int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc);
-
 void noreturn do_unexpected_trap(const char *msg,
                                  const struct cpu_user_regs *regs);
 void do_trap_hyp_sync(struct cpu_user_regs *regs);
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 061c92acbd..9c6eb66422 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1197,85 +1197,6 @@ void do_unexpected_trap(const char *msg, const struct cpu_user_regs *regs)
     panic("CPU%d: Unexpected Trap: %s\n", smp_processor_id(), msg);
 }
 
-int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
-{
-    const struct bug_frame *bug = NULL;
-    const char *prefix = "", *filename, *predicate;
-    unsigned long fixup;
-    int id = -1, lineno;
-    const struct virtual_region *region;
-
-    region = find_text_region(pc);
-    if ( region )
-    {
-        for ( id = 0; id < BUGFRAME_NR; id++ )
-        {
-            const struct bug_frame *b;
-            unsigned int i;
-
-            for ( i = 0, b = region->frame[id].bugs;
-                  i < region->frame[id].n_bugs; b++, i++ )
-            {
-                if ( ((vaddr_t)bug_loc(b)) == pc )
-                {
-                    bug = b;
-                    goto found;
-                }
-            }
-        }
-    }
- found:
-    if ( !bug )
-        return -ENOENT;
-
-    if ( id == BUGFRAME_run_fn )
-    {
-        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
-
-        fn(regs);
-        return 0;
-    }
-
-    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = bug_file(bug);
-    if ( !is_kernel(filename) )
-        return -EINVAL;
-    fixup = strlen(filename);
-    if ( fixup > 50 )
-    {
-        filename += fixup - 47;
-        prefix = "...";
-    }
-    lineno = bug_line(bug);
-
-    switch ( id )
-    {
-    case BUGFRAME_warn:
-        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
-        return 0;
-
-    case BUGFRAME_bug:
-        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
-        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-    case BUGFRAME_assert:
-        /* ASSERT: decode the predicate string pointer. */
-        predicate = bug_msg(bug);
-        if ( !is_kernel(predicate) )
-            predicate = "<unknown>";
-
-        printk("Assertion '%s' failed at %s%s:%d\n",
-               predicate, prefix, filename, lineno);
-        show_execution_state(regs);
-        panic("Assertion '%s' failed at %s%s:%d\n",
-              predicate, prefix, filename, lineno);
-    }
-
-    return -EINVAL;
-}
-
 #ifdef CONFIG_ARM_64
 static void do_trap_brk(struct cpu_user_regs *regs, const union hsr hsr)
 {
@@ -1292,7 +1213,7 @@ static void do_trap_brk(struct cpu_user_regs *regs, const union hsr hsr)
     switch ( hsr.brk.comment )
     {
     case BRK_BUG_FRAME_IMM:
-        if ( do_bug_frame(regs, regs->pc) )
+        if ( do_bug_frame(regs, regs->pc) < 0 )
             goto die;
 
         regs->pc += 4;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 13:33:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 13:33:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508267.782808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paGOx-0002OD-LT; Thu, 09 Mar 2023 13:33:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508267.782808; Thu, 09 Mar 2023 13: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 1paGOx-0002O0-Gw; Thu, 09 Mar 2023 13:33:47 +0000
Received: by outflank-mailman (input) for mailman id 508267;
 Thu, 09 Mar 2023 13: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=RZdn=7B=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1paGOv-00013B-L3
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 13:33: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 034f0fef-be7f-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 14:33:44 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id k37so1175288wms.0
 for <xen-devel@lists.xenproject.org>; Thu, 09 Mar 2023 05:33:44 -0800 (PST)
Received: from fedora.. (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 he11-20020a05600c540b00b003df5be8987esm2672209wmb.20.2023.03.09.05.33.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 05:33: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: 034f0fef-be7f-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678368824;
        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=+zAWdmipjTmyv+kU5KlZ3LiEbu3zViDQxHONb1o9/AU=;
        b=kfcJIUgDxs0RiU5N8LXvIRPaV5ko7lgDLBfizoUDAUlPntl4IeR5R7qlYr5CIiR/lD
         9pqYSz39Q6U0GSLoIeKVeYLCGoP0YHP46MiXzUGMcYF3ZuFcDKtxTUA+YP2qZPHCb55q
         B+pGRqH6dtPSuh+5KB0EZtSiwj/jdRzgrOqXKpWpb/OO7ctHs2tTZduP3WX9IM9/e1Rx
         zF1yT4Weoob0hJYSS9dpd6WjBhjusjidXMJQDXhONw7c1yZ2o/sdBlWmSDSHXUoOQqud
         0d3uqj859hMpfsdfSV0odZOUleYJp0WqItPMiGup2Qp6aCp1RwetuWvCdUu/5B9vK20g
         wjuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678368824;
        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=+zAWdmipjTmyv+kU5KlZ3LiEbu3zViDQxHONb1o9/AU=;
        b=YS69sC7aMPDp+wrgqMlxJJZEJj5DXC/3AdwN/8YuN0XCI3977oucKKl/EMhXLmscnh
         kgVdmZnsjJFK2s0L6AyTX7m9s+ln3l922vxD0QesWaU4VcIsWOMZQV4KD3+TK1Ga6THc
         niItguEVn+Yd+ZLYEm1TP/4pfqzE0NHqa53Avl/Qedc3FZCaYP7/kJHzFdSewMP94JWG
         11ltSaoexAwn9yeL7PtQ+FlUE5T9L5rehpWN3qhNOE7NbQtaWLM2NkWim8vnWVN0GpeM
         U+Y/jnW5tWrci97L/gdq4Ux3l2Bw4bfEjeMSKgu5kqD51v4kV+abLEtrlchY/NSiSoU3
         fMsg==
X-Gm-Message-State: AO0yUKXPULCIH+yMGTvg0evYlwS/iyJEv5Rv8AZlTieKoRHWV67k1LRb
	65UB32B866+iMrvf90/eOj2qdqoHNeVu9g==
X-Google-Smtp-Source: AK7set/JUDTcInR86wuJ01MgZ+bOm9ddP0FkutXHBZb0VSMBdGdsYvQUEIk7Ics1nqXebAf2lZmjkw==
X-Received: by 2002:a05:600c:4fd4:b0:3eb:2b88:867e with SMTP id o20-20020a05600c4fd400b003eb2b88867emr19349876wmq.10.1678368823771;
        Thu, 09 Mar 2023 05:33:43 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v7 5/5] xen/x86: switch x86 to use generic implemetation of bug.h
Date: Thu,  9 Mar 2023 15:33:28 +0200
Message-Id: <2e803fd639a4af558153635a40d034b0af250e4e.1678368234.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678368234.git.oleksii.kurochko@gmail.com>
References: <cover.1678368234.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following changes were made:
* Make GENERIC_BUG_FRAME mandatory for X86
* Update asm/bug.h using generic implementation in <xen/bug.h>
* Update do_invalid_op using generic do_bug_frame()
* Define BUG_DEBUGGER_TRAP_FATAL to debugger_trap_fatal(X86_EXC_GP,regs)
* type of eip variable was changed to 'const void *'
* add '#include <xen/debugger.h>'

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V7:
 * update the commit message
 * make eip 'const void *'
 * change [eip = (unsigned char *)eip + sizeof(bug_insn);] to [eip += sizeof(bug_insn);]
 * add '#include <xen/debugger.h>' to <asm/bug.h>
 * add Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V6:
 * update the commit message
 * update the type of eip to 'void *' in do_invalid_op()
 * fix the logic of do_invalid_op()
 * move macros BUG_DEBUGGER_TRAP_FATAL under #ifndef __ASSEMBLY__ as
   it is not necessary to be in assembly code.
---
Changes in V5:
 * Nothing changed
---
Changes in V4:
 * Back comment /* !__ASSEMBLY__ */ for #else case in <asm/bug.h>
 * Remove changes related to x86/.../asm/debuger.h as do_bug_frame() prototype
   was updated and cpu_user_regs isn't const any more.
---
Changes in V3:
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
 * MODIFIER was change to BUG_ASM_CONST to align with generic implementation
---
Changes in V2:
  * Remove all unnecessary things from <asm/bug.h> as they were introduced in
    <xen/bug.h>.
  * Define BUG_INSTR = 'ud2' and MODIFIER = 'c' ( it is needed to skip '$'
    when use an imidiate in x86 assembly )
  * Update do_invalid_op() to re-use handle_bug_frame() and find_bug_frame()
    from generic implemetation of CONFIG_GENERIC_BUG_FRAME
  * Code style fixes.
---
 xen/arch/x86/Kconfig           |  1 +
 xen/arch/x86/include/asm/bug.h | 69 ++---------------------------
 xen/arch/x86/traps.c           | 81 ++++------------------------------
 3 files changed, 13 insertions(+), 138 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 6a7825f4ba..b0ff1f3ee6 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -11,6 +11,7 @@ config X86
 	select ARCH_MAP_DOMAIN_PAGE
 	select ARCH_SUPPORTS_INT128
 	select CORE_PARKING
+	select GENERIC_BUG_FRAME
 	select HAS_ALTERNATIVE
 	select HAS_COMPAT
 	select HAS_CPUFREQ
diff --git a/xen/arch/x86/include/asm/bug.h b/xen/arch/x86/include/asm/bug.h
index 4b3e7b019d..8531d5f91e 100644
--- a/xen/arch/x86/include/asm/bug.h
+++ b/xen/arch/x86/include/asm/bug.h
@@ -3,73 +3,12 @@
 
 #ifndef __ASSEMBLY__
 
-#define BUG_FRAME_STRUCT
+#include <xen/debugger.h>
 
-struct bug_frame {
-    signed int loc_disp:BUG_DISP_WIDTH;
-    unsigned int line_hi:BUG_LINE_HI_WIDTH;
-    signed int ptr_disp:BUG_DISP_WIDTH;
-    unsigned int line_lo:BUG_LINE_LO_WIDTH;
-    signed int msg_disp[];
-};
+#define BUG_DEBUGGER_TRAP_FATAL(regs) debugger_trap_fatal(X86_EXC_GP,regs)
 
-#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
-#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
-#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
-                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
-                      BUG_LINE_LO_WIDTH) +                                   \
-                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
-                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
-#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
-
-#define _ASM_BUGFRAME_TEXT(second_frame)                                     \
-    ".Lbug%=: ud2\n"                                                         \
-    ".pushsection .bug_frames.%c[bf_type], \"a\", @progbits\n"               \
-    ".p2align 2\n"                                                           \
-    ".Lfrm%=:\n"                                                             \
-    ".long (.Lbug%= - .Lfrm%=) + %c[bf_line_hi]\n"                           \
-    ".long (%c[bf_ptr] - .Lfrm%=) + %c[bf_line_lo]\n"                        \
-    ".if " #second_frame "\n"                                                \
-    ".long 0, %c[bf_msg] - .Lfrm%=\n"                                        \
-    ".endif\n"                                                               \
-    ".popsection\n"                                                          \
-
-#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
-    [bf_type]    "i" (type),                                                 \
-    [bf_ptr]     "i" (ptr),                                                  \
-    [bf_msg]     "i" (msg),                                                  \
-    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
-                      << BUG_DISP_WIDTH),                                    \
-    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
-
-#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
-    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH));         \
-    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
-    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
-                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
-} while (0)
-
-
-#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, NULL)
-#define BUG() do {                                              \
-    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, NULL);      \
-    unreachable();                                              \
-} while (0)
-
-/*
- * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
- * and use a real static inline here to get proper type checking of fn().
- */
-#define run_in_exception_handler(fn)                            \
-    do {                                                        \
-        (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
-        BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);             \
-    } while ( 0 )
-
-#define assert_failed(msg) do {                                 \
-    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
-    unreachable();                                              \
-} while (0)
+#define BUG_INSTR       "ud2"
+#define BUG_ASM_CONST   "c"
 
 #else  /* !__ASSEMBLY__ */
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index cade9e12f8..c36e3f855b 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -24,6 +24,7 @@
  * Gareth Hughes <gareth@valinux.com>, May 2000
  */
 
+#include <xen/bug.h>
 #include <xen/init.h>
 #include <xen/sched.h>
 #include <xen/lib.h>
@@ -1166,12 +1167,9 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
 
 void do_invalid_op(struct cpu_user_regs *regs)
 {
-    const struct bug_frame *bug = NULL;
     u8 bug_insn[2];
-    const char *prefix = "", *filename, *predicate, *eip = (char *)regs->rip;
-    unsigned long fixup;
-    int id = -1, lineno;
-    const struct virtual_region *region;
+    const void *eip = (const void *)regs->rip;
+    int id;
 
     if ( likely(guest_mode(regs)) )
     {
@@ -1185,83 +1183,20 @@ void do_invalid_op(struct cpu_user_regs *regs)
          memcmp(bug_insn, "\xf\xb", sizeof(bug_insn)) )
         goto die;
 
-    region = find_text_region(regs->rip);
-    if ( region )
-    {
-        for ( id = 0; id < BUGFRAME_NR; id++ )
-        {
-            const struct bug_frame *b;
-            unsigned int i;
-
-            for ( i = 0, b = region->frame[id].bugs;
-                  i < region->frame[id].n_bugs; b++, i++ )
-            {
-                if ( bug_loc(b) == eip )
-                {
-                    bug = b;
-                    goto found;
-                }
-            }
-        }
-    }
-
- found:
-    if ( !bug )
+    id = do_bug_frame(regs, regs->rip);
+    if ( id < 0 )
         goto die;
-    eip += sizeof(bug_insn);
-    if ( id == BUGFRAME_run_fn )
-    {
-        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
-
-        fn(regs);
-        fixup_exception_return(regs, (unsigned long)eip);
-        return;
-    }
 
-    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = bug_ptr(bug);
-    if ( !is_kernel(filename) && !is_patch(filename) )
-        goto die;
-    fixup = strlen(filename);
-    if ( fixup > 50 )
-    {
-        filename += fixup - 47;
-        prefix = "...";
-    }
-    lineno = bug_line(bug);
+    eip += sizeof(bug_insn);
 
     switch ( id )
     {
+    case BUGFRAME_run_fn:
     case BUGFRAME_warn:
-        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
         fixup_exception_return(regs, (unsigned long)eip);
-        return;
-
     case BUGFRAME_bug:
-        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return;
-
-        show_execution_state(regs);
-        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
     case BUGFRAME_assert:
-        /* ASSERT: decode the predicate string pointer. */
-        predicate = bug_msg(bug);
-        if ( !is_kernel(predicate) && !is_patch(predicate) )
-            predicate = "<unknown>";
-
-        printk("Assertion '%s' failed at %s%s:%d\n",
-               predicate, prefix, filename, lineno);
-
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return;
-
-        show_execution_state(regs);
-        panic("Assertion '%s' failed at %s%s:%d\n",
-              predicate, prefix, filename, lineno);
+        return;
     }
 
  die:
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 13:46:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 13:46:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508284.782818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paGbI-0005ho-Rj; Thu, 09 Mar 2023 13:46:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508284.782818; Thu, 09 Mar 2023 13: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 1paGbI-0005hh-Ob; Thu, 09 Mar 2023 13:46:32 +0000
Received: by outflank-mailman (input) for mailman id 508284;
 Thu, 09 Mar 2023 13:46: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=ne43=7B=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1paGbH-0005hb-MH
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 13:46:32 +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 c824d530-be80-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 14:46:25 +0100 (CET)
Received: from MW4P220CA0022.NAMP220.PROD.OUTLOOK.COM (2603:10b6:303:115::27)
 by CH2PR12MB4325.namprd12.prod.outlook.com (2603:10b6:610:a9::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.18; Thu, 9 Mar
 2023 13:46:21 +0000
Received: from CO1NAM11FT057.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:115:cafe::59) by MW4P220CA0022.outlook.office365.com
 (2603:10b6:303:115::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19 via Frontend
 Transport; Thu, 9 Mar 2023 13:46:21 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT057.mail.protection.outlook.com (10.13.174.205) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.18 via Frontend Transport; Thu, 9 Mar 2023 13:46: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.2375.34; Thu, 9 Mar
 2023 07:46:20 -0600
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 9 Mar 2023 07:46: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: c824d530-be80-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FCUCBVuAha2F5KGdV6KigIZGxRc1Ae0qdbGjYkiv6NtYfpGpj9Vg+ynbEtT/V98nnQSrdeCeQZRQPuFyBCkxU3YDmIYOqOiLxsQujaI+2F/ivGPk52h3cLg18dviL4YEGDybie1jjNZcKxHP/RRUynibYlUMdCVj0l3CDJyaUxgEwG5+OyquSTtDuzMmijYHlLPiUF2Gk2OCMpz57ki8NFB9rF9hxWwV08hf2WcspXrAo0d7wMk27pZwu6JrRzOIKqyqU5ps1Xml3U7xt3WiW6TzhoFSyJm5bZhZ4lCS1VJL9gFYh1ONtI80GlY2at4bS2l0udQc1w5zIN3lwKhavw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tXnibmtTrFawTaL2374okS9Ai2LcsMHUqWONMynBM3M=;
 b=L74eIHcpe+sacw1ciFai/BcfWasL6huRXC6t19oXgasG5uwZApY2djzmwwM4tDMndYnPJjVp7HR8Fi2KKX3PvLluE/NW5+6K+LPeGxGnXcBGe3sqXH3/Tq2da6/pPgJaSqRbFJzKTDxtJx3RVLZDWQW9QD1n09QOSOwjRLgREQgxQKbExZHhqrRVh3JUAF2d7u22ExuToHPp2UCmitaxgvGgZ7vCJAcmI3ct6dwUsjroO8XbRMSa9Fh0kkrK23P3MUHxfVrg3BFKi8uxD1F9P6Y0o0NgRdsD240nd7vWybRCStMe2uxHglKuXRxkWt7DTDgDeUX6rW/FzY20ubBQtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tXnibmtTrFawTaL2374okS9Ai2LcsMHUqWONMynBM3M=;
 b=UJ1l729hoiDvgfYWypePF9V5JqsCucJfZRFhzoogyR8mROwCra+QB5vAGOnrVaLUZGcyyWEzar9hEdPOTrCT+RwBVs2DG+VFLbWYJztzIJgJggQVrL0YVIZx/vUddzOO4pIyAWuZsVniJnORT+jQmfYgPTV7eW/yrAnwDS95/dg=
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: <93cefcfc-1cfe-bb79-0f6d-5e578ad153fa@amd.com>
Date: Thu, 9 Mar 2023 14:46:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts
 by names
Content-Language: en-US
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, "Andrei Cherechesu (OSS)"
	<andrei.cherechesu@oss.nxp.com>, Xen-devel <xen-devel@lists.xenproject.org>,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>, Julien Grall <julien@xen.org>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
 <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
 <alpine.DEB.2.22.394.2303071301300.863724@ubuntu-linux-20-04-desktop>
 <B58C926D-25FD-4EB6-A83C-229E72E16181@arm.com>
 <7a0734e9-a980-3dc1-026d-0c96a89c4d5c@amd.com>
 <0932C0EB-F90A-45D4-87F4-3594E6E74C64@arm.com>
 <3c0a6e88-2a1a-f06a-cac1-59801b1acfd6@amd.com>
 <D0D43830-5F75-4284-86E5-967E2059B377@arm.com>
 <df481924-6fa9-cac3-f822-9ff51b0824fe@amd.com>
 <CA41DB66-DB7E-4EDD-9A34-38328A2A8C9E@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <CA41DB66-DB7E-4EDD-9A34-38328A2A8C9E@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT057:EE_|CH2PR12MB4325:EE_
X-MS-Office365-Filtering-Correlation-Id: 810512f1-6903-4a74-2405-08db20a4aaaa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MTECn1OeQjEBCGrhI6cRs5ibxMynsrPuudMpDcJFnz7JcGXAarSWsFIlZ1m1kpGvTjaygr3V7IHP7AkbKW5ofLVY+kq3kDsWhy+Yj4WTbdYJSFpowismiahBrQpA0kWqTz4w5kp7VmLc3m+PR9DU40p2OxWtR+kdLiPeRF99tKPsp/vd3WFh8E5fNG/D3TjaEh1UoauNQNMELv7NQ5WJlRo/K/S25DWhySb+56oa2X9JeAGyxe/9H+1nQg/kk4P8GKG1b9rSypC40KqgliAhlkVay5XTpaOGUG19jjTyvlkv4dDtFIwabXc0/8PV2QuPDhcQmUEPlSbGowD4Tir9zDvu/7y7/bEXUxAl1Y3BaiB27v9CTNuHt5XxHHwgnrZrVRN+GjBmME7Y4Rw368v6ijzw+L4BHBKFxJftMgiORsFllUMkwffZapCG0StocG5siRLrKKkIA59XN+kF4V4yG8qSQND9BCb1YblDqzOE149WhoBWbOs/Q4KRtzJIiGVqwaUEVOCdNnwFTBgP3cc01/6ZadqCWTTRRc6F9BgEdbsZFlkIVpHDh53pXFZajkg7T8+998eFaa9BaNpDMqL99+Bt6esHYGRJ6x3pcMES3+ZnG6tq/mHuMvzlhN5Qxd54LEMdN41d1gMPMJdMjnxHpxyIHjDkGFENwwRq6D0AICqRmo3WMGTz1ThX9Jwrxr7ZQgBfusmn8Hr7g1zHQlULhRQC2EJ9eu7/9onDAqK9pMMopouvaDsCx/CuQnXLYoI3mml02ztOItQe/DAMXGPYRA==
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:(13230025)(4636009)(396003)(39860400002)(136003)(346002)(376002)(451199018)(40470700004)(46966006)(36840700001)(31686004)(82310400005)(82740400003)(36860700001)(83380400001)(426003)(47076005)(36756003)(54906003)(478600001)(40480700001)(356005)(316002)(16576012)(2616005)(336012)(40460700003)(186003)(26005)(81166007)(53546011)(5660300002)(41300700001)(44832011)(70206006)(8936002)(4326008)(6916009)(70586007)(8676002)(2906002)(86362001)(31696002)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 13:46:21.1497
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 810512f1-6903-4a74-2405-08db20a4aaaa
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:
	CO1NAM11FT057.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4325



On 09/03/2023 13:45, Bertrand Marquis wrote:
> 
> 
> Hi Michal,
> 
>> On 9 Mar 2023, at 13:42, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> Hi Bertrand,
>>
>> On 09/03/2023 13:19, Bertrand Marquis wrote:
>>>
>>>
>>> Hi Michal,
>>>
>>>> On 9 Mar 2023, at 12:35, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>
>>>>
>>>>
>>>> On 09/03/2023 11:39, Bertrand Marquis wrote:
>>>>>
>>>>>
>>>>> Hi Michal,
>>>>>
>>>>>> On 9 Mar 2023, at 11:05, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 09/03/2023 09:02, Bertrand Marquis wrote:
>>>>>>>
>>>>>>>
>>>>>>> Hi Stefano,
>>>>>>>
>>>>>>>> On 7 Mar 2023, at 22:02, Stefano Stabellini <sstabellini@kernel.org> wrote:
>>>>>>>>
>>>>>>>> On Tue, 7 Mar 2023, Bertrand Marquis wrote:
>>>>>>>>>> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu@oss.nxp.com> wrote:
>>>>>>>>>>
>>>>>>>>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>>>>>
>>>>>>>>>> Added support for parsing the ARM generic timer interrupts DT
>>>>>>>>>> node by the "interrupt-names" property, if it is available.
>>>>>>>>>>
>>>>>>>>>> If not available, the usual parsing based on the expected
>>>>>>>>>> IRQ order is performed.
>>>>>>>>>>
>>>>>>>>>> Also added the "hyp-virt" PPI to the timer PPI list, even
>>>>>>>>>> though it's currently not in use. If the "hyp-virt" PPI is
>>>>>>>>>> not found, the hypervisor won't panic.
>>>>>>>>>>
>>>>>>>>>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>>>>> ---
>>>>>>>>>> xen/arch/arm/include/asm/time.h |  3 ++-
>>>>>>>>>> xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
>>>>>>>>>> 2 files changed, 24 insertions(+), 5 deletions(-)
>>>>>>>>>>
>>>>>>>>>> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
>>>>>>>>>> index 4b401c1110..49ad8c1a6d 100644
>>>>>>>>>> --- a/xen/arch/arm/include/asm/time.h
>>>>>>>>>> +++ b/xen/arch/arm/include/asm/time.h
>>>>>>>>>> @@ -82,7 +82,8 @@ enum timer_ppi
>>>>>>>>>> TIMER_PHYS_NONSECURE_PPI = 1,
>>>>>>>>>> TIMER_VIRT_PPI = 2,
>>>>>>>>>> TIMER_HYP_PPI = 3,
>>>>>>>>>> -    MAX_TIMER_PPI = 4,
>>>>>>>>>> +    TIMER_HYP_VIRT_PPI = 4,
>>>>>>>>>> +    MAX_TIMER_PPI = 5,
>>>>>>>>>> };
>>>>>>>>>>
>>>>>>>>>> /*
>>>>>>>>>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>>>>>>>>>> index 433d7be909..794da646d6 100644
>>>>>>>>>> --- a/xen/arch/arm/time.c
>>>>>>>>>> +++ b/xen/arch/arm/time.c
>>>>>>>>>> @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
>>>>>>>>>>
>>>>>>>>>> static unsigned int timer_irq[MAX_TIMER_PPI];
>>>>>>>>>>
>>>>>>>>>> +static const char *timer_irq_names[MAX_TIMER_PPI] = {
>>>>>>>>>> +    [TIMER_PHYS_SECURE_PPI] = "sec-phys",
>>>>>>>>>> +    [TIMER_PHYS_NONSECURE_PPI] = "phys",
>>>>>>>>>> +    [TIMER_VIRT_PPI] = "virt",
>>>>>>>>>> +    [TIMER_HYP_PPI] = "hyp-phys",
>>>>>>>>>> +    [TIMER_HYP_VIRT_PPI] = "hyp-virt",
>>>>>>>>>> +};
>>>>>>>>>> +
>>>>>>>>>
>>>>>>>>> I would need some reference or a pointer to some doc to check those.
>>>>>>>>>
>>>>>>>>>> unsigned int timer_get_irq(enum timer_ppi ppi)
>>>>>>>>>> {
>>>>>>>>>> ASSERT(ppi >= TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
>>>>>>>>>> @@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void)
>>>>>>>>>> {
>>>>>>>>>> int res;
>>>>>>>>>> unsigned int i;
>>>>>>>>>> +    bool has_names;
>>>>>>>>>> +
>>>>>>>>>> +    has_names = dt_property_read_bool(timer, "interrupt-names");
>>>>>>>>>>
>>>>>>>>>> /* Retrieve all IRQs for the timer */
>>>>>>>>>> for ( i = TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>>>>>>>>>> {
>>>>>>>>>> -        res = platform_get_irq(timer, i);
>>>>>>>>>> -
>>>>>>>>>> -        if ( res < 0 )
>>>>>>>>>> +        if ( has_names )
>>>>>>>>>> +            res = platform_get_irq_byname(timer, timer_irq_names[i]);
>>>>>>>>>> +        else
>>>>>>>>>> +            res = platform_get_irq(timer, i);
>>>>>>>>>> +
>>>>>>>>>> +        if ( res > 0 )
>>>>>>>>>
>>>>>>>>> The behaviour of the code is changed here compared to the current
>>>>>>>>> version as res = 0 will now generate a panic.
>>>>>>>>>
>>>>>>>>> Some device tree might not specify an interrupt number and just put
>>>>>>>>> 0 and Xen will now panic on those systems.
>>>>>>>>> As I have no idea if such systems exists and the behaviour is modified
>>>>>>>>> you should justify this and mention it in the commit message or keep
>>>>>>>>> the old behaviour and let 0 go through without a panic.
>>>>>>>>>
>>>>>>>>> @stefano, julien any idea here ? should just keep the old behaviour ?
>>>>>>>>
>>>>>>>> platform_get_irq returns 0 if the irq is 0. The irq cannot be 0 because
>>>>>>>> 0 is reserved for SGIs, not PPIs. So I think it is OK to consider 0 an
>>>>>>>> error.
>>>>>>>
>>>>>>> Problem here is that a DTB might not specify all interrupts and just put
>>>>>>> 0 for the one not used (or not available for example if you have no secure
>>>>>>> world).
>>>>>> Xen requires presence of EL3,EL2 and on such system, at least the following timers needs to be there
>>>>>> according to Arm ARM:
>>>>>> - EL3 phys (if EL3 is there)
>>>>>
>>>>> This might be needed by EL3 but not by Xen.
>>>> Xen requires system with EL3 and if there is EL3, both Arm spec and dt bindings requires sec-phys timer to be there.
>>>> So it would be very strange to see a fake interrupt with IRQ being 0. But if we relly want to only care about
>>>> what Xen needs, then we could live with that (although it is difficult for me to find justification for 0 there).
>>>> Device trees are created per system and if system has EL3, then why forcing 0 to be listed for sec-phys timer?
>>>>
>>>
>>> Let's see that on the other angle: why should Xen check stuff that it does not need ?
>> Because apart from what it needs or not, there is a matter of a failure in Xen.
>> Xen exposes timer IRQs to dom0 as they were taken from dtb and allowing 0 for any of the timer IRQ would result
>> in a Xen failure when reserving such IRQ. Xen presets SGI IRQs, meaning bits 0:15 in allocated_irqs bitmap are set.
>> This is why when calling vgic_reserve_virq and passing SGI always results in calling a BUG().
>>
>> So we have two options:
>> - panic earlier with a meaningful message when IRQ is 0
>> - let Xen continue and reach BUG which would be not that obvious for people using but not knowing Xen
> 
> So you are saying that in the current state 0 would be ignored during scan and create a bug later.
Yes, provided platform_get_irq() returns 0. This is however only theory because IMO it is impossible at the moment.
Both GICs, do not allow specifying SGIs in dt bindings and require at least 3 cells where 1st one specifies type.
So if we have a fake IRQ 0 as PPI, platform_get_irq will return 16 and for SPI - 32.
Therefore I cannot see how it would return 0.

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 14:23:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 14:23:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508289.782828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paHAX-0002d0-NS; Thu, 09 Mar 2023 14:22:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508289.782828; Thu, 09 Mar 2023 14:22: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 1paHAX-0002ct-Ke; Thu, 09 Mar 2023 14:22:57 +0000
Received: by outflank-mailman (input) for mailman id 508289;
 Thu, 09 Mar 2023 14:22: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=wtzB=7B=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1paHAV-0002cl-Rs
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 14:22:55 +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 e116c920-be85-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 15:22:54 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7570.eurprd04.prod.outlook.com (2603:10a6:20b:281::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.16; Thu, 9 Mar
 2023 14:22:51 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 14: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>
X-Inumbo-ID: e116c920-be85-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fex1dFuxERtW6taTru6ELm2mDwpkJ+HzVsH6RSt9TBSbNQfSpwGIYUrrJ7/YSauyWKdEElA49aRRC1J/AFW2zCrUGNBAl+jrD4L7gc0Jl4oWdHI7/A/QzZ7fwl4Er077UvsuU8h64EB5mdgGbVWDyjCGv2oscvE0X7bGj4xncP3wMrRuAUzrCUaE12MZ1VmNetqfybyFXQWrsokrJDT2QSCUJYaCgNAQT2ttZ/n1SN1IODhT7OPMgYFffq+IUOBoZ3XoDJSqPe3Jo/PoL4PZ/X4JBT/yJ6W2s4ZoY3yA1Hk7OrhlMNsI6FqhcP28Gxtqtg9BhJPmOpbHFW7+EqK4FA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FsqKWsHJXt2SE+yZhMazS6mjdOcTgeigfH8BA4QM3Qw=;
 b=ec7NSda+e4oRqY3rJW4EUBs0I9yKoaPDIzAGDQCxVKbY8RVxIU7i5014ddbrVWsRf8hB0+RXluRtQUsj3YU57KbvXBAN0oDL0hz99S5p2PJKs/lUFQgOSEzdpNqdI7Ovot62SxcUvEOmRQbjviWk3tL+vDV+nN36FKAOKLbrx0HFhN8leE9s5oprOJjGzsd0it/TOYuQtk/8Qu/lGEywiy+ngH4GGeszJM6qsjYtNRg9lVBKMC5mFseYiw4FHjducv84lRKD0SUWKrT+3/XZiT1LkqhCwi9KLj6qNrzrL0q6u3ie4XP2GTCxTkdwcue8Zurym0nAXc9fYKzkY7cd2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FsqKWsHJXt2SE+yZhMazS6mjdOcTgeigfH8BA4QM3Qw=;
 b=Zh4pUC6ta0sjeFZuxXUlNIbzLGCyrHChmETwF5YN1WiR2p/Xjo6g4ch+KgYKM0vk6R97vGnLTk79OPN69AS8BcZ7eDp8hpHkYw39dVofp3z0rI6maKaZHaJeP9XMCTCc/HRvqcA5REeHDMhvSSPaN5ffg2avwfgdCwd/JwkvjxzGp7MK+z24CkG+EqAjOT06ZW1CWPji8MYJ3688FhCdXy39xYluK7HgMMK1aaaZcE3YSsjXQfz6k32TSXB4LmF7fZmxHmrk1DkHYiRb2Yg1uWyoPqQfNpSLC2oP6KfJbz+Stex/4MCohf4b2EyCrhUU77gdskD7fSE1YNoqYKUO5g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <40019342-d04a-c925-9cce-03fa118fd1ff@suse.com>
Date: Thu, 9 Mar 2023 15:22:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v7 2/5] xen/arm: remove unused defines in <asm/bug.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <cover.1678368234.git.oleksii.kurochko@gmail.com>
 <ff898ad47ab1caae2ddfe3c9d34e7ebca8f40d44.1678368234.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ff898ad47ab1caae2ddfe3c9d34e7ebca8f40d44.1678368234.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0131.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7570:EE_
X-MS-Office365-Filtering-Correlation-Id: 91a4601a-cfbd-4f91-b079-08db20a9c3ce
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BiOQ65k94UMi67YmEGYoJ1gM7HRaEajkD725NpDTtrslpl5PftyuLiNKSagdphsBQmXYtdHQLE8rRYkxC2+7P7oPqklfGdhl3o8QeNe+YaPdmOAJ+HY6e8Nbj5WkX9jqG1zTkIO1Jue3na4Y+W1rIyjR2DxDZIlaG3G97+/fWhLPccX9v7HN+OKA7I28cWKZOE1/hhVQ1oTHXbspwaSGAhHZn1XOY5Ykzv2+Di2nN1Yz3y/y2SDaxtZgDg+aOZ6ejJkP9/Y9kMX6Yh2zrHyZ6BZQCEt6eJmPgI7iD+4Zh03NLt4x+G85fk4G9nj3xZKrj5Ojg0sTU9nNWyBPP29CkKhzaBahwdrVwT/AJdncLYv5rLxVF930flrBWok3Mf9UrxfFvg41rv/n29tWHx7deq41lrrlhcsWNK4xc2AXmYVcWHNq0QUWJpu1V3/m2MX5KD3Ev7M3QpAXVun5M1bymT21zw9GO82Vg5+KZRzJIWoI582R22wZcXCbKfakIwqjvaKsfB5m8xRnuufEMJdz4qMEosxHV9Ma3XReGUViuuylvLC7wrYnCnglS7dF0l7VW4fvDQ1kbBqF7en493RRBpIMqz4v55VWjjWKF4wOaBQGopwUI2PN2V6kQNQcBQwG7lRLqhtwhLBS+DAvg/ET0m7irZCfuIxpGitVXCjdLUCtqL7KpMsHH7zPkVjIrQRwIIRpAT6Csvor3Z9L37nCnKHHOglTYWcCdD8ATe2dFOk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(376002)(346002)(396003)(136003)(39860400002)(451199018)(31696002)(86362001)(8676002)(38100700002)(36756003)(66946007)(4744005)(5660300002)(8936002)(41300700001)(66476007)(6916009)(2906002)(66556008)(4326008)(186003)(53546011)(83380400001)(2616005)(316002)(478600001)(54906003)(6666004)(6506007)(6512007)(26005)(31686004)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eVcyMkJkV3AzekJSTXk5aFlaRFo4Qkc3aGpKNmwzOWtFby9KM1Jpb0VJWEpJ?=
 =?utf-8?B?WGFmTkxiMStrei9xdVp3em5TYmRyVXBrZDcwcnFmK0RqR0NjYmR4OWtmZTRG?=
 =?utf-8?B?S01Damo2VGs3ZVVZb0p2eUxCYlpRL2lMTkR3SlN2SzZxZ25Bd1JYanR0RG9Q?=
 =?utf-8?B?c0xrSmQzd0laSEFLNGE5eDZRMXdaRzFmQ0dIaU0vTTVoQmNGbFE1dDVyNHAx?=
 =?utf-8?B?Skp5Y2lxcC9ncEVoR3dpRGlGbzFuclIzU1kwUTlvTmg0Nkt3ZVhmQ1UwM1gv?=
 =?utf-8?B?dFJWU2hrcERDNmV4Z0ptTlBRTG5DMnZMb3ZSYTFOMXlzY0l5Y1BwbmVZZ2U1?=
 =?utf-8?B?OW1yV0FVOTRUbzNnSTBzNjhpUDZjajdidE1nOTFRQ2dJNXRmSzhHUHF1Qy9r?=
 =?utf-8?B?Q2RrK2FuUy9tN3pYRmJuY1lIT3lsUUVuU2dNVkxqN2dscE0zamo3ZWh0Qksv?=
 =?utf-8?B?eGNxQjNydGhtaGJ4SDB1QVJzcmhET3FLYms5d3JhR211cVRNQ3VMbkxIdFBN?=
 =?utf-8?B?OFJDckJMb3gxa1E4THhDNGZHaHlQTWlxbGNPVnF3VjcyQkhTdloweWtDRDVH?=
 =?utf-8?B?NGNINUNyamU5ZXBadzFNelFkcFR6OHFVRkk4cml6RFU4WmtmbmMxL0JEMGRI?=
 =?utf-8?B?bk1NeTVZa2VVRGE2dVhnRmMxQjcrR093d2UvcFFzUUR3Z1Z2L3dUT2hkZS8v?=
 =?utf-8?B?RVJaajFDMUV5SEYzRDdSU2N4bmxsREN6a3JNVVJXYS81MXNZenVZMWFzNzd4?=
 =?utf-8?B?cVpnVk00S1ZPMHAvbkN4SjFGUWJHOGdIbk5QUUViMXgwdHh2K0tJbU1IczYr?=
 =?utf-8?B?enJkOEl3NTl5c2FSNTExNGpCNVBKK3FaUkZyUGlPWnJmOHcrbmJMM0F0MExX?=
 =?utf-8?B?UVF0aXpQdGsxdWY4ZUw5RzZBNzNhYk9wM282TGZIUWU2MEsxS1pFeGtmcTVJ?=
 =?utf-8?B?Z2NRL0hQelNVSUg3c3Rrc2lYUjJXVkRGUVJhYm5SQUlrUTFLeEF2RFhEWlBR?=
 =?utf-8?B?RHRmaVpyaDRTQzh2YWhPbVg1b2JmWHJGWkRBemhUaTBDRnNIRWpNbkVOTFY5?=
 =?utf-8?B?R2JGNisyNENUSkEzTkdKcEdqUVJBa0pTUDZ1ZDhmRkt0alh5Rm13eHZvYTE3?=
 =?utf-8?B?dE9zdTdkUHBwbWVibFhOYm8veThtN1p1REtoUnlPZUV4N25Bd1JMRUZtbUN3?=
 =?utf-8?B?SlJPQ0huSHkyczlsYWF6SnBpSmc2Q0lsdE5qVjRjbVV0Smp0MWZ3aDZQb3Jj?=
 =?utf-8?B?VFZUVDgvVGlMMFFwMWJEWVduR2ljeWVvMGhvanpwNTNvZTFHWldEaUU2enpt?=
 =?utf-8?B?RHpxa1JtZEVXd1pEcHdGVGZ4bHptOWVHeU5USmlSZlQ0VGNXQXNFRWZCMEs1?=
 =?utf-8?B?K2J3eW9yVytWTzM1UjA0R0lQc3hyTUwrMk9VR0loTTNoN3FIMG53aDQvNmVn?=
 =?utf-8?B?d0xzcWQ3c0lBQ0FJa2tVeW5nbm5mMW5DZEtlYm4rQTlNRXVnaDJWdHk4bFUz?=
 =?utf-8?B?ci9keHFoeVpzdXpHZnNrNWJ1bmdoYVVZUUU4SzRrbXBxUGxidXFXMkJIR3pE?=
 =?utf-8?B?VjlZUVpYR0tjaTYxczhMRkY2d1hsV2R6UTJWWGdSMjNkVXRjd0VSRVd6VGIw?=
 =?utf-8?B?V3FENkdUbkpOeVJkMGpHV2wrYW1oM3UvcVoxNXVtZVlKcjR4MTdlUFpZS3lV?=
 =?utf-8?B?UW5xWTdNd29pL05DbDF1SHhEWmJoelU3bThobVZPM1JTOEdtakF2cmhYd3U0?=
 =?utf-8?B?RHVBbGJFVVd3NkFRRmhIdTZ1SFBRL25LWEFmMWZycEpmdVFybzZPS1ptSUFS?=
 =?utf-8?B?R1NmS0RUOCthL1VQbXZMcG5rdlU3Y2ZNZ0FGWTF5L2RqMnZHTWNsOHpUK0hE?=
 =?utf-8?B?SHc1b0VkQmhZSFdUQU1LY0FGRTV2N0FIMlBsbWtMakVxalZDMzFSbmRydmJ1?=
 =?utf-8?B?MW81RmJzeGR5cGRTU2JJSGJIUm9YcUVRODlHYUxTZnNUampQNjhUZ29ZUFVh?=
 =?utf-8?B?anY0alp1OElkbXEzODU0WkNOSmVEcGVURmIreWhHVit4SEpPMFVxaDFkaDVl?=
 =?utf-8?B?NmhlSy93YS9RZFdWanBkTk5GYTJCaDdCRnhmendUblBmTk1rM2hjb1dXa3Iz?=
 =?utf-8?Q?Z+xJKmHYJKfmnxP/HKAB0LhMu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 91a4601a-cfbd-4f91-b079-08db20a9c3ce
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 14:22:51.1909
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oL0Q0F2a+zX+3hrqqXqQCAa5GS5F3qqBBP+FcIL4y4hH+gC2VKmGYxEg+6R0Uq2fEDr+0zrzEJ6D8BxtWdtN/g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7570

On 09.03.2023 14:33, Oleksii Kurochko wrote:
> The following defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH,
> BUG_LINE_HI_WIDTH aren't used in ARM so could be purged
> as unused.

Requested-by: Jan Beulich <jbeulich@suse.com>
or (but it's not really a bug)
Reported-by: Jan Beulich <jbeulich@suse.com>

> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 14:31:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 14:31:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508291.782838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paHJ6-0004MP-JX; Thu, 09 Mar 2023 14:31:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508291.782838; Thu, 09 Mar 2023 14:31:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paHJ6-0004MI-GW; Thu, 09 Mar 2023 14:31:48 +0000
Received: by outflank-mailman (input) for mailman id 508291;
 Thu, 09 Mar 2023 14:31:46 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1paHJ4-0004M8-Ry; Thu, 09 Mar 2023 14:31:46 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1paHJ4-0004Oz-Q5; Thu, 09 Mar 2023 14:31:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1paHJ4-0007Yl-CY; Thu, 09 Mar 2023 14:31:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1paHJ4-0006LF-C3; Thu, 09 Mar 2023 14:31: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=eHM7z4s8zB1K1CrzyyZyCTp21T+jUQ1G62PGUl80DrU=; b=pSwCrEJPtu0UOlbKYfZgB8eZ4r
	Nbq12O1rKWI1lOlktWGYf2Np2+cXepaRvi514ovaywLoS9UaBJVaCu6TzlgtxpeOwqYTgs57Q7aNl
	LmapByKyq0H5w9OaGUlWnf4mpP66C6hhy9MtlbK25idaTc0at7WLNImv+8rxak1y9W5k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179515-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179515: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-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: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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=3138e204b2e3f4d765af66faf1fc9b566de370dd
X-Osstest-Versions-That:
    libvirt=6386dd897df596a01e3cf0db9f86d496891564dc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 09 Mar 2023 14:31:46 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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     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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              3138e204b2e3f4d765af66faf1fc9b566de370dd
baseline version:
 libvirt              6386dd897df596a01e3cf0db9f86d496891564dc

Last test of basis   179505  2023-03-08 04:20:25 Z    1 days
Testing same since   179515  2023-03-09 04:18:47 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jonathon Jongsma <jjongsma@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   6386dd897d..3138e204b2  3138e204b2e3f4d765af66faf1fc9b566de370dd -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 14:36:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 14:36:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508296.782848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paHNb-0004z4-6R; Thu, 09 Mar 2023 14:36:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508296.782848; Thu, 09 Mar 2023 14:36: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 1paHNb-0004yx-3f; Thu, 09 Mar 2023 14:36:27 +0000
Received: by outflank-mailman (input) for mailman id 508296;
 Thu, 09 Mar 2023 14:36: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=xaV7=7B=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1paHNZ-0004yU-Fc
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 14:36:25 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c420a65b-be87-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 15:36:24 +0100 (CET)
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
 by DU2PR04MB8949.eurprd04.prod.outlook.com (2603:10a6:10:2e0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Thu, 9 Mar
 2023 14:36:21 +0000
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487]) by VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487%4]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 14: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: c420a65b-be87-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aOJo4KV+0LpadkREgQHQUbOthcfP32Y84DNMSj0lDCV8rYO+9hRtGSwwPjL9DlBy5eEAqTy4fM9mxNZyqoKXwN2msuF5NaDR8TfTyz69ndrmBXabxvXCWn6qqS3GctGw2Jf/BAiiDx4We63wgUfBBXunaHQrz4TRc4Fn+jPxBNK5GC7MCu7a1S31+YgDMoJPPiQTw3ZLTT7OEQyLdiLOIhN4TdEVtf6GqCFXExnC7KfZDSWVACsbwMGVEIZJMZbzCmf/uBgo5ymBWPOeNIPsyPwDvdPoT8nEkvwnLwOJvNAYa/3fy0/CibXRpt/skc+RKqnhajEmfvvGRkz+o/T5ww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zVJ/9SC7BsEVacNhV2x4yyx37TxiZaxg3/RW4DyEXzk=;
 b=IuIWaV7H10G3b45Wj5dmV7Vi+KpwpPpNm9xyFgE1AmM9b8bSyTMss+BHi3BNQBTy4MPR3Xzl3c69lzet9/eEZaO+hM/qOjwCZyo7TtzNBFmP4/f/xJpB8FjAIa3fnhdNtGV8Lte2lPYIa1d+Qyh0wzxnWTZ2WKrOLRD30nN3gyvs24z69dIDDQToTJjGlhvElXYIvsdSenH9Z8iBQWyudJS6jXbWYCfKIvLrTIJjTk/74J0jcJ17ocdp2fy/CQ0D+P6DjAF+YmJUxr9kIkX7oN6mX5LmJL3xsuHTSYTUkRjNX9vbQSLos/M0sjP6KotqQFbJbhgRrkY4R8nuRKSB9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zVJ/9SC7BsEVacNhV2x4yyx37TxiZaxg3/RW4DyEXzk=;
 b=XGfjctLR4piplBp/ocdSjc1vzFrA4YtEjGZWdYEOQXAu1EJBlU/l5BhpuxDZRGhDwQqUVAvnrSNSsY41NEoEultPTYudoPHghyzMvUSoEVyEz5j2UMoHhuBhzKqPdOTRGEDY0oWE2KrXspZYaUN4zj77ItsGNXY38qgLPBlfr+Y=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Message-ID: <70209e22-c52b-597a-81a2-750e2ca9aefa@oss.nxp.com>
Date: Thu, 9 Mar 2023 16:36:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts
 by names
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Andrei Cherechesu <andrei.cherechesu@nxp.com>, Julien Grall <julien@xen.org>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
 <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
 <alpine.DEB.2.22.394.2303071301300.863724@ubuntu-linux-20-04-desktop>
 <B58C926D-25FD-4EB6-A83C-229E72E16181@arm.com>
 <7a0734e9-a980-3dc1-026d-0c96a89c4d5c@amd.com>
 <0932C0EB-F90A-45D4-87F4-3594E6E74C64@arm.com>
 <3c0a6e88-2a1a-f06a-cac1-59801b1acfd6@amd.com>
 <D0D43830-5F75-4284-86E5-967E2059B377@arm.com>
 <df481924-6fa9-cac3-f822-9ff51b0824fe@amd.com>
 <CA41DB66-DB7E-4EDD-9A34-38328A2A8C9E@arm.com>
 <93cefcfc-1cfe-bb79-0f6d-5e578ad153fa@amd.com>
From: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
In-Reply-To: <93cefcfc-1cfe-bb79-0f6d-5e578ad153fa@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AM4PR05CA0009.eurprd05.prod.outlook.com (2603:10a6:205::22)
 To VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB5056:EE_|DU2PR04MB8949:EE_
X-MS-Office365-Filtering-Correlation-Id: 7b3a89a9-a98d-468b-768a-08db20aba662
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FqOOMjcL+RSdIlU3Uj0Me6AnXgi33ENVD630/pu7htE0h2rAviXzAuV+pr7/951xxQwZ4KJ2paAqpVuRMZEr8tbKLG9sf0bwzMI8rFO5zpRzNT8+6liAcuDZUWPAGXRvGUVSihohrsql9XhPUR89gNmq/OZxfJfp6dVn4eSI3TUdvPrZsjVbwwf6ajnEV7pLYLkLaq80XHX3TBoiK+YpFPOqId1GpSbAE0sSFrdvggLu9hjol+H7hZKz9TUtIo0biAKiRPApE/6xWLB+NXdz2hi4oLVpYZo9xcnGSFiNSqohOIlNrWOlbeY9E5oS1zOSwTeWEaX5NC1FjckIp6QcSbcRNqW1dNRSg4Ag+EGg0nL1B80l6XcYwMlenNwhcbClrx0XNOObhrUFTrTCdKG8zTC/kNa3dyT/uDds7LqworvKU7gXqetBzkbAJPEui4L9G9ZjHHM8jk5FKPThnOTnjNkMcBAtiZrYHGFTT9PjHn98HE0+4+mAiKOnZvy44bvlemteiEczoV3N135pt3TeVXN2bb1dCfTfRj63N2vT23RvvC49tnT2Q/5nrJPzwo4EE/jSSH3LyuNgk5E4M5I+vuAf2aECTmjF+0xSRIY6V7tFvcZrqlZcG87a1FryBcjurPn12jKMVVZ6CLPUZPZjXjkqvSmX8KgUTEW9rYnAreVbHfAXksf4pUBx9s4XjqBR5VpFrrPiH8Bmmu1D4BX29Ta+typ7s3AwZ3DBOJgxeog=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5056.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(39860400002)(396003)(366004)(136003)(346002)(451199018)(66556008)(4326008)(31686004)(8936002)(44832011)(2906002)(478600001)(6666004)(5660300002)(41300700001)(8676002)(83380400001)(66946007)(6486002)(55236004)(53546011)(316002)(110136005)(66476007)(6506007)(54906003)(31696002)(86362001)(38100700002)(186003)(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?T3hZeExNVkpXTjB6ekR5TmN1RnY2TC9SdndVOTlRdUdzRXlTaWRxN05mQnVY?=
 =?utf-8?B?a2VVU1h4ekxQdmpyR3dWbUZlbHF6NXZpR1Z0U01aV00vSS9WMEJNRG13MWZW?=
 =?utf-8?B?Z1I3R1paOHRXaUxBem9iVXlMaHRvc2VxMHpaQUgzaW52N01PV3VxN3hVc0xw?=
 =?utf-8?B?QTdtUXdDL251VlBsd3RaN3NoZzY0OUFnNzkvcDJCUGtYRkpHaENrUk5DdTZo?=
 =?utf-8?B?dElQL1JURFV5V3FPUlhlS1NtUHpkY2ZDOTNnZnhLVXFyeExuaVlCQWV4L1JZ?=
 =?utf-8?B?djI3THdkd1dMT3p4TDl6RzI5TWM3Wkk1aEdrWEoyditJSE5mQUx2dGlJbkRY?=
 =?utf-8?B?K3krZGRpdnZidk1yT2pCaFVNR3VJdXlhaGdoL1B6K2RpdzFoMkU5Y2FwMDdx?=
 =?utf-8?B?M1h6ODBIdjE1cCtyUTdDYWtraHRHdmtIN1lPNzEzRlZTSk4zRHB4Y1p0Zklj?=
 =?utf-8?B?Zk1FWmxDbjl5ay9RdDZ0T2Q2NzVkVHp0a3Mrc0dSM2ZRSnRSdlhwd054bVln?=
 =?utf-8?B?b09UbkZjR1o3YUtOSXNZTG5JSVBOZHgzWWtBTlVpd2o4aEJ6d3lkM3lwY0xF?=
 =?utf-8?B?aWhVbGh4Nk1JbjZNQlBVUkpHWE1YSnptSmZIQnpEMzFDTzdnL2t6S09HSnJG?=
 =?utf-8?B?WklPWkRJMmJsSUFuWUNtR0hvN2o2VTcwR0FvVXhlNTQ0QVdPcng2dUZVckJp?=
 =?utf-8?B?NHdwZUhPRkVlSlU0TXpReERhZ1JKSFBZbU5rZzZEcHhaRHY4L1U0ekF2RE1R?=
 =?utf-8?B?NVhmcWtCS0N1SVNJSnhpRytIZnY1eHlMcHI0Yk5TelJjK1ZRaldZSkRDOGwy?=
 =?utf-8?B?Tm1iT00rbmpVMnY4SjdqLzFmb3ByRG8yb0syeFpJNi9PY0Naem41MzVXN1RR?=
 =?utf-8?B?YlUvemE2T09QcDBrZlFEUjRhaXo0YUZvd202V2ZMU01jTVFwSUxWNnRYcVBM?=
 =?utf-8?B?OFptSUpWSzRkZ2tRazVlUjlNSDJXN1UrNE5FbjR2RXFIejVPUnJyTkRvbWV0?=
 =?utf-8?B?VXlYVUkya0pvbnNyZkEzekpKS3JTeEVndnBHRTZQZiszSVc2NDdVN3RHblpa?=
 =?utf-8?B?aDNPSHBWd3RKUGJwWWdkV3B2bytBQXFEMm9OazZZSEVPTEd1RGExSUoySEN1?=
 =?utf-8?B?ajh6SlVRb1FMM2lOVnBIWU5qUS9xWm5qNERPdmFCMC9IdDV4L2k4Q3V0eFF6?=
 =?utf-8?B?WkQrLzd3MVBENVNnZXBCYnhQZDZqbVJVd3FmZkIrTUFIaUgvZW1nMlZEWXdj?=
 =?utf-8?B?MWtDV0R1emRFUmc1Tk5wRTU0NGJoTmtkZDVGMm1VQTZ5b1g3NTVWVkpXNXpP?=
 =?utf-8?B?MzhBRUNJNHlEMkw2TGVzQmxwbUFpTXFKSWVUeCtQdFQ4SE9Wb0dwTXUxQ2Q4?=
 =?utf-8?B?dWo1VjRuVlVKMGRGdjcybndjd2dJb1VScjh1WTgwcGZ0L0ZoaUxzdEx5SUlF?=
 =?utf-8?B?QnBBdENhdW5yMVl5aXljem8vUE9KOTY3VVZQc2RxcGw4bnNwcDcwVHc2RmpH?=
 =?utf-8?B?OC9pME1tWThVMUsrczFQVi9SaXlzMVNEbVB2WVY1OGJHRDM5VHEvREJ0TUlX?=
 =?utf-8?B?cUZic3cyM1ZoYXNVZi9ZYk1Kd21McXZIcmRiZDMzVkpJam9YbXc5Q3J4ZS9k?=
 =?utf-8?B?REhTTFZNcHQ4UEYrMDVPc2VDRXU3YjVpTzYyVVlLbEsrN1c1WWZqa0RvL0hz?=
 =?utf-8?B?VTZqRFR3YzBUSDhadnFKVnpVa0JXWHRTUWtvN040bDhNNHVjRmpNbTU3dE1W?=
 =?utf-8?B?bDc2YkN0VlBHUm42VXU1cllPKys0a2pEUjRFeWFHdUd5WmJTUUpPY0x2cmFr?=
 =?utf-8?B?UFcwTEx0UVZTYmFUM1JPbS9hdTNuSmFyUkdaSHZJdDIrenlkRDA4V0x1RGI3?=
 =?utf-8?B?dmIrNGlyREJ6NEM1cVl4Rnppem5EU1kwbG9rOGliZEc3dEpRcEYxMXQ1TjQ1?=
 =?utf-8?B?dGROSUNJSEYzZHF0Z1FEaU9jNVRvRlM5eEJiTnlCOFdUc2hBdTZYd0ZjcUR0?=
 =?utf-8?B?ejhjc1hxUmMrdHNHV2E1SzErYi9qS0g1ekp1VVZkTUFOQ0psWCtsYm1HOWxL?=
 =?utf-8?B?T1RzTmNwemZRNGk4VlZ6L3VRbnBhcFNFZG5CL3JkNVlreEpUYUR2ZmxuMUxR?=
 =?utf-8?B?TzBWakRKc2lMWFoxcS84U09NWTcwRDZnQURLTkRuSlhKRTBjYStMWVJ3czNP?=
 =?utf-8?B?Mmc9PQ==?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b3a89a9-a98d-468b-768a-08db20aba662
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5056.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 14:36:20.9149
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ks+Sr7r3MJ9nqR5wGIgUa8ChT7phWOpprE+WTnjCKIUn9+Y8XmXxqU29DkOTTLHLwiXw/52HUaKHucZN5b93ijp2pP75X9TFaCItuOqrIHk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8949



On 09/03/2023 15:46, Michal Orzel wrote:
> 
> 
> On 09/03/2023 13:45, Bertrand Marquis wrote:
>>
>>
>> Hi Michal,
>>
>>> On 9 Mar 2023, at 13:42, Michal Orzel <michal.orzel@amd.com> wrote:
>>>
>>> Hi Bertrand,
>>>
>>> On 09/03/2023 13:19, Bertrand Marquis wrote:
>>>>
>>>>
>>>> Hi Michal,
>>>>
>>>>> On 9 Mar 2023, at 12:35, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>> On 09/03/2023 11:39, Bertrand Marquis wrote:
>>>>>>
>>>>>>
>>>>>> Hi Michal,
>>>>>>
>>>>>>> On 9 Mar 2023, at 11:05, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On 09/03/2023 09:02, Bertrand Marquis wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> Hi Stefano,
>>>>>>>>
>>>>>>>>> On 7 Mar 2023, at 22:02, Stefano Stabellini <sstabellini@kernel.org> wrote:
>>>>>>>>>
>>>>>>>>> On Tue, 7 Mar 2023, Bertrand Marquis wrote:
>>>>>>>>>>> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.cherechesu@oss.nxp.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>>>>>>
>>>>>>>>>>> Added support for parsing the ARM generic timer interrupts DT
>>>>>>>>>>> node by the "interrupt-names" property, if it is available.
>>>>>>>>>>>
>>>>>>>>>>> If not available, the usual parsing based on the expected
>>>>>>>>>>> IRQ order is performed.
>>>>>>>>>>>
>>>>>>>>>>> Also added the "hyp-virt" PPI to the timer PPI list, even
>>>>>>>>>>> though it's currently not in use. If the "hyp-virt" PPI is
>>>>>>>>>>> not found, the hypervisor won't panic.
>>>>>>>>>>>
>>>>>>>>>>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>>>>>> ---
>>>>>>>>>>> xen/arch/arm/include/asm/time.h |  3 ++-
>>>>>>>>>>> xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
>>>>>>>>>>> 2 files changed, 24 insertions(+), 5 deletions(-)
>>>>>>>>>>>
>>>>>>>>>>> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
>>>>>>>>>>> index 4b401c1110..49ad8c1a6d 100644
>>>>>>>>>>> --- a/xen/arch/arm/include/asm/time.h
>>>>>>>>>>> +++ b/xen/arch/arm/include/asm/time.h
>>>>>>>>>>> @@ -82,7 +82,8 @@ enum timer_ppi
>>>>>>>>>>> TIMER_PHYS_NONSECURE_PPI = 1,
>>>>>>>>>>> TIMER_VIRT_PPI = 2,
>>>>>>>>>>> TIMER_HYP_PPI = 3,
>>>>>>>>>>> -    MAX_TIMER_PPI = 4,
>>>>>>>>>>> +    TIMER_HYP_VIRT_PPI = 4,
>>>>>>>>>>> +    MAX_TIMER_PPI = 5,
>>>>>>>>>>> };
>>>>>>>>>>>
>>>>>>>>>>> /*
>>>>>>>>>>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>>>>>>>>>>> index 433d7be909..794da646d6 100644
>>>>>>>>>>> --- a/xen/arch/arm/time.c
>>>>>>>>>>> +++ b/xen/arch/arm/time.c
>>>>>>>>>>> @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
>>>>>>>>>>>
>>>>>>>>>>> static unsigned int timer_irq[MAX_TIMER_PPI];
>>>>>>>>>>>
>>>>>>>>>>> +static const char *timer_irq_names[MAX_TIMER_PPI] = {
>>>>>>>>>>> +    [TIMER_PHYS_SECURE_PPI] = "sec-phys",
>>>>>>>>>>> +    [TIMER_PHYS_NONSECURE_PPI] = "phys",
>>>>>>>>>>> +    [TIMER_VIRT_PPI] = "virt",
>>>>>>>>>>> +    [TIMER_HYP_PPI] = "hyp-phys",
>>>>>>>>>>> +    [TIMER_HYP_VIRT_PPI] = "hyp-virt",
>>>>>>>>>>> +};
>>>>>>>>>>> +
>>>>>>>>>>
>>>>>>>>>> I would need some reference or a pointer to some doc to check those.
>>>>>>>>>>
>>>>>>>>>>> unsigned int timer_get_irq(enum timer_ppi ppi)
>>>>>>>>>>> {
>>>>>>>>>>> ASSERT(ppi >= TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
>>>>>>>>>>> @@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void)
>>>>>>>>>>> {
>>>>>>>>>>> int res;
>>>>>>>>>>> unsigned int i;
>>>>>>>>>>> +    bool has_names;
>>>>>>>>>>> +
>>>>>>>>>>> +    has_names = dt_property_read_bool(timer, "interrupt-names");
>>>>>>>>>>>
>>>>>>>>>>> /* Retrieve all IRQs for the timer */
>>>>>>>>>>> for ( i = TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>>>>>>>>>>> {
>>>>>>>>>>> -        res = platform_get_irq(timer, i);
>>>>>>>>>>> -
>>>>>>>>>>> -        if ( res < 0 )
>>>>>>>>>>> +        if ( has_names )
>>>>>>>>>>> +            res = platform_get_irq_byname(timer, timer_irq_names[i]);
>>>>>>>>>>> +        else
>>>>>>>>>>> +            res = platform_get_irq(timer, i);
>>>>>>>>>>> +
>>>>>>>>>>> +        if ( res > 0 )
>>>>>>>>>>
>>>>>>>>>> The behaviour of the code is changed here compared to the current
>>>>>>>>>> version as res = 0 will now generate a panic.
>>>>>>>>>>
>>>>>>>>>> Some device tree might not specify an interrupt number and just put
>>>>>>>>>> 0 and Xen will now panic on those systems.
>>>>>>>>>> As I have no idea if such systems exists and the behaviour is modified
>>>>>>>>>> you should justify this and mention it in the commit message or keep
>>>>>>>>>> the old behaviour and let 0 go through without a panic.
>>>>>>>>>>
>>>>>>>>>> @stefano, julien any idea here ? should just keep the old behaviour ?
>>>>>>>>>
>>>>>>>>> platform_get_irq returns 0 if the irq is 0. The irq cannot be 0 because
>>>>>>>>> 0 is reserved for SGIs, not PPIs. So I think it is OK to consider 0 an
>>>>>>>>> error.
>>>>>>>>
>>>>>>>> Problem here is that a DTB might not specify all interrupts and just put
>>>>>>>> 0 for the one not used (or not available for example if you have no secure
>>>>>>>> world).
>>>>>>> Xen requires presence of EL3,EL2 and on such system, at least the following timers needs to be there
>>>>>>> according to Arm ARM:
>>>>>>> - EL3 phys (if EL3 is there)
>>>>>>
>>>>>> This might be needed by EL3 but not by Xen.
>>>>> Xen requires system with EL3 and if there is EL3, both Arm spec and dt bindings requires sec-phys timer to be there.
>>>>> So it would be very strange to see a fake interrupt with IRQ being 0. But if we relly want to only care about
>>>>> what Xen needs, then we could live with that (although it is difficult for me to find justification for 0 there).
>>>>> Device trees are created per system and if system has EL3, then why forcing 0 to be listed for sec-phys timer?
>>>>>
>>>>
>>>> Let's see that on the other angle: why should Xen check stuff that it does not need ?
>>> Because apart from what it needs or not, there is a matter of a failure in Xen.
>>> Xen exposes timer IRQs to dom0 as they were taken from dtb and allowing 0 for any of the timer IRQ would result
>>> in a Xen failure when reserving such IRQ. Xen presets SGI IRQs, meaning bits 0:15 in allocated_irqs bitmap are set.
>>> This is why when calling vgic_reserve_virq and passing SGI always results in calling a BUG().
>>>
>>> So we have two options:
>>> - panic earlier with a meaningful message when IRQ is 0
>>> - let Xen continue and reach BUG which would be not that obvious for people using but not knowing Xen
>>
>> So you are saying that in the current state 0 would be ignored during scan and create a bug later.
> Yes, provided platform_get_irq() returns 0. This is however only theory because IMO it is impossible at the moment.
> Both GICs, do not allow specifying SGIs in dt bindings and require at least 3 cells where 1st one specifies type.
> So if we have a fake IRQ 0 as PPI, platform_get_irq will return 16 and for SPI - 32.
> Therefore I cannot see how it would return 0.
> 
> ~Michal
> 


This was my original thought process as well when I initially
implemented this fix. Thus, I figured 0 should also be an error case.

Extending this, all SGI possible return values (0 to 15) should be
errors here, right? But I'm not sure if we should also treat those extra
cases here (1 to 15).

So, to make sure we all aligned, the only change to be made in a v2 for
this patch is the coding style for the added comment? Or do you also
think a more specific check for valid PPI IDs returned (16 <= id <= 31)
would be beneficial?

Regards,
Andrei


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 14:39:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 14:39:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508301.782857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paHQX-0005dL-NK; Thu, 09 Mar 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 508301.782857; Thu, 09 Mar 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 1paHQX-0005dE-KU; Thu, 09 Mar 2023 14:39:29 +0000
Received: by outflank-mailman (input) for mailman id 508301;
 Thu, 09 Mar 2023 14:39: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=RZdn=7B=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1paHQV-0005d4-PR
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 14:39:27 +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 30eda378-be88-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 15:39:26 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id l1so2072982wry.12
 for <xen-devel@lists.xenproject.org>; Thu, 09 Mar 2023 06:39:26 -0800 (PST)
Received: from [192.168.8.114] (46.204.108.143.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.143]) by smtp.gmail.com with ESMTPSA id
 p7-20020a5d4e07000000b002c5694aef92sm18008070wrt.21.2023.03.09.06.39.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 06:39: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: 30eda378-be88-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678372766;
        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=4xqnqzy+5ITck08I5hNAADaO358PVyDr57aVU/e2kFM=;
        b=A2JJBryF2zGZ82ISFwwm06DgOkTYaKQt7uaMt4dHwHmpNnN4kUPE/5+6w52fqjn4MO
         rdRGvRjvNv23uF89iSDn/0UvgfwkhPzeYXVE2B3XbNiGrBpc926+SpKoSOvBNoI4tZK0
         c398UF5dVT26poBHfysdwvPYrbDhnQ8V3Yr9UiebHzXyqq4VkBZW17+tk3YyOjWjRG0a
         YVVd9GO8CKMqnpLf6p3X3ydBoqJyLJOiYzv2pWJIghO9RAIzi8TVDYDZ5o/7nYILk9Du
         4Ik0BSVGpgDAb6AI0yEOhby3ZqXRO2L4vugUY7CGzplxMbKI/B16X6TtHNCGitsOUeFj
         sh3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678372766;
        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=4xqnqzy+5ITck08I5hNAADaO358PVyDr57aVU/e2kFM=;
        b=nryS9tsNnFuno8p74aj3AxSOCAkVFaf0Ws+wjt+pm72Y70kSb86bIblWLqJZDgoC1o
         UMICoEn3d8ZKP9WaictvVOsElNBMvoutM0kimr2fO4odCtWO7Tc6hn3rUz2iOmrVSMd6
         ENXL8mvmtPIRikiXthgeEFwj7ev8hpXYm1WunIU3KiQKBMSqjDJJK1i1D/nx/Kh/ck6g
         Su98TEB6ZnSOj2Fcg9MHifIdKw/eH4GGrjvoYa7R67expnKcw/lisaZeaFd+s+VSJqc6
         9xlOijJ2DbiQPjRHpnoC9Zv7Zv7A4cO/cuPiciCZPMkf6kPdkPBDr6rvtgaeiRQquOqN
         Bwwg==
X-Gm-Message-State: AO0yUKXK9NxoU+KUVSa7lYbXFdX2yijGQk+ZrVSaxvUBKjCzS2PIffLo
	XddexInRyakFBnYrQ5hefPM=
X-Google-Smtp-Source: AK7set8V7tfDrADHYXqiLCz14PFBloX+Tg+Ik5M09vBeE4Hjg6NUr9OiMl2WgDzVLm/4EDaW9f5MMQ==
X-Received: by 2002:adf:f812:0:b0:2c7:17a2:b70 with SMTP id s18-20020adff812000000b002c717a20b70mr14035832wrp.69.1678372765968;
        Thu, 09 Mar 2023 06:39:25 -0800 (PST)
Message-ID: <b1d55c78e739c1d21b3b29a473ab58af5c0fb374.camel@gmail.com>
Subject: Re: [PATCH v1 2/3] xen/riscv: setup initial pagetables
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>, Julien
 Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Date: Thu, 09 Mar 2023 16:39:24 +0200
In-Reply-To: <e724aac7-1ea0-0d71-c0da-5c01e37f864c@suse.com>
References: <cover.1677250203.git.oleksii.kurochko@gmail.com>
	 <83444f8f90cf2adf431762d919ba958a25ff8ce4.1677250203.git.oleksii.kurochko@gmail.com>
	 <52072f1b-0cf8-a218-eefc-a8c1b4cecf43@xen.org>
	 <e2a1968767e7a0f1535920ada14ec2f323e0f9c5.camel@gmail.com>
	 <b8dd2333-5f3b-10ea-7ddd-47bd5f84ca5f@xen.org>
	 <94f5059a4e31ddd29141fa8fe5156b560575ab1e.camel@gmail.com>
	 <9e6a76f1-73c6-9a6e-3444-f3e1cb2d71dc@suse.com>
	 <70c292e708708463ed83ebaf562d51179e9f7f99.camel@gmail.com>
	 <e724aac7-1ea0-0d71-c0da-5c01e37f864c@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Thu, 2023-03-09 at 10:46 +0100, Jan Beulich wrote:
> On 08.03.2023 17:16, Oleksii wrote:
> > On Wed, 2023-03-08 at 16:17 +0100, Jan Beulich wrote:
> > > On 08.03.2023 15:54, Oleksii wrote:
> > > > Actually after my latest experiments it looks that we don't
> > > > need to
> > > > calculate that things at all because for RISC-V it is=C2=A0 used
> > > > everywhere
> > > > PC-relative access.
> > > > Thereby it doesn't matter what is an address where Xen was
> > > > loaded
> > > > and
> > > > linker address.
> > > > Right now I found only to cases which aren't PC-relative.
> > > > Please look at the patch below:
> > > > diff --git a/xen/arch/riscv/include/asm/config.h
> > > > b/xen/arch/riscv/include/asm/config.h
> > > > index 763a922a04..e1ba613d81 100644
> > > > --- a/xen/arch/riscv/include/asm/config.h
> > > > +++ b/xen/arch/riscv/include/asm/config.h
> > > > @@ -39,7 +39,7 @@
> > > > =C2=A0=C2=A0 name:
> > > > =C2=A0#endif
> > > > =C2=A0
> > > > -#define XEN_VIRT_START=C2=A0 _AT(UL, 0x80200000)
> > > > +#define XEN_VIRT_START=C2=A0 _AT(UL, 0x00200000)
> > >=20
> > > I think this wants to remain the address where Xen actually runs,
> > > and
> > > where Xen is linked to. This ...
> > >=20
> > > > --- a/xen/arch/riscv/traps.c
> > > > +++ b/xen/arch/riscv/traps.c
> > > > @@ -123,8 +123,14 @@ int do_bug_frame(const struct
> > > > cpu_user_regs
> > > > *regs,
> > > > vaddr_t pc)
> > > > =C2=A0=C2=A0=C2=A0=C2=A0 const char *filename, *predicate;
> > > > =C2=A0=C2=A0=C2=A0=C2=A0 int lineno;
> > > > =C2=A0
> > > > -=C2=A0=C2=A0=C2=A0 static const struct bug_frame* bug_frames[] =3D=
 {
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__start_bug_frames[0],
> > > > +=C2=A0=C2=A0=C2=A0 /*
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0 * force fill bug_frames array using auipc=
/addi
> > > > instructions
> > > > to
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0 * make addresses in bug_frames PC-relativ=
e.
> > > > +=C2=A0=C2=A0=C2=A0 */
> > > > +=C2=A0=C2=A0=C2=A0 const struct bug_frame * force =3D (const struc=
t bug_frame
> > > > *)
> > > > &__start_bug_frames[0];
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 const struct bug_frame* bug_frames[] =3D {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 force,
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames=
_0[0],
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames=
_1[0],
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames=
_2[0],
> > >=20
> > > ... array would better be static anyway, and ...
> > >=20
> > > > The changes related to <asm/config.h> are=C2=A0 only to make
> > > > linker_addr
> > > > !=3D
> > > > load_address. So:
> > > > 1. The first issue with cpu0_boot_stack in the head.S file.
> > > > When we
> > > > do:
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sp,=
 cpu0_boot_stack
> > > > =C2=A0=C2=A0 Pseudo-instruction la will be transformed to auipc/add=
i OR
> > > > auipc/l{w|d}.
> > > > =C2=A0=C2=A0 It depends on an option: nopic, pic. [1]
> > > > =C2=A0=C2=A0=20
> > > > =C2=A0=C2=A0 So the solution can be the following:
> > > > =C2=A0=C2=A0 * As it is done in the patch: add to the start of head=
.S
> > > > ".option=C2=A0=20
> > > > nopic"
> > > > =C2=A0=C2=A0 * Change la to lla thereby it will be always generated
> > > > "auipc/addi"
> > > > to get an address of variable.
> > > >=20
> > > > 2. The second issue is with the code in do_bug_frame() with
> > > > bug_frames
> > > > array:
> > > > =C2=A0=C2=A0 const struct bug_frame* bug_frames[] =3D {
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__start_bug_frames[0],
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_0[0],
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_1[0],
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_2[0],
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 &__stop_bug_frames_3[0],
> > > > =C2=A0=C2=A0=C2=A0 };
> > > > =C2=A0 In this case &{start,stop}bug_frames{,{0-3}} will be changed
> > > > to=C2=A0=C2=A0=C2=A0=C2=A0=20
> > > > linker address. In case of when load_addr is 0x80200000 and
> > > > linker_addr
> > > > is 0x00200000 then &{start,stop}bug_frames{,{0-3}} will be
> > > > equal to
> > > > 0x00200000 + X.
> > >=20
> > > ... this "solution" to a problem you introduce by wrongly
> > > modifying
> > > the linked address would then need applying to any other similar
> > > code
> > > pattern found in Xen. Which is (I hope obviously) not a viable
> > > route.
> > > Instead code running before address translation is enable needs
> > > to be
> > > extra careful in what code and data items it accesses, and how.
> > >=20
> > I modified the linked address only for the experiment ( when
> > load_addr
> > !=3D linker_addr to emulate situation Julien told me about), so it's
> > not
> > something I planned to send as a part of the final patch, and I
> > probably forgot to mention that in my previous mail.
> >=20
> > It is only one place where we have to do a kind of 'force' and is
> > needed to make the current state of RISC-V Xen work in case we
> > don't
> > have MMU enabled yet and linker_addr !=3D load_addr. All other cases
> > where it is used something from the range (linker_start,
> > linker_end)
> > will be managed by MMU.
> >=20
> > If we can't use mentioned above solution, we still need to handle
> > the
> > situation when linker_addr !=3D load_addr and MMU isn't enabled yet.
> > Other options to do that:
> > 1. add phys_offset ( | load_addr - linker_addr | ) everywhere where
> > bug_frames array is used: bug_frames[id] + phys_offset
>=20
> Well, that again special cases a certain data structure. As said
> before,
> you need to be very careful with any C code involved before
> translation
> is enabled. Unless you want to retain relocations (so you can "move"
> from load-time to link time addresses alongside enabling translation,
> like we do on x86 in xen.efi), you want to constrain code paths as
> much
> as possible. One approach is to move enabling of translation to early
> assembly code (like we do on x86 for xen.gz). The other is to amend
> involved code paths with something like what you say above.
>=20
> > 2. Check somewhere at the start if linker_addr !=3D load_addr, then
> > throw
> > an error and panic().
>=20
> That's not really an option if the boot loader isn't required to
> place
> the image at its linked address (which would be odd if translation
> isn't expected to be enabled yet at that point). Plus no matter what
> linked address you choose, I guess there may be systems where that
> address range simply isn't (fully) populated with RAM.
>=20
> > Other options might exist. So I would appreciate it if you could
> > suggest me some.
> >=20
> > Could you let me know if any options are suitable for handling a
> > case
> > when linker_addr?
>=20
> Main question is how tied you are to doing this in C. x86 and both
> Arm flavors do it in assembly, with - as said - the exception of
> x86's xen.efi where instead we retain (or generate) and process base
> relocations (see efi_arch_relocate_image(), called by
> efi_arch_post_exit_boot() immediately before switching to the "real"
> page tables).

Thanks for the clarification.

I will look at xen.efi & xen.gz, but I think I will follow scenario 1
or similar to it ( as I did in the path diff with the introduction of
force variable) for now, it is required only to make addresses relative
to phys_offset in one array.

After that, I will enable MMU, and it won't be necessary to add
phys_offset or make similar changes to the introduction of force
variable mentioned in the patch diff.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 15:00:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 15:00:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508306.782868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paHkc-0001Gh-G3; Thu, 09 Mar 2023 15:00:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508306.782868; Thu, 09 Mar 2023 15: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 1paHkc-0001GY-BL; Thu, 09 Mar 2023 15:00:14 +0000
Received: by outflank-mailman (input) for mailman id 508306;
 Thu, 09 Mar 2023 15:00: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=V3pJ=7B=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1paHkb-0001Ev-C0
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 15:00:13 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20630.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16210c5f-be8b-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 16:00:10 +0100 (CET)
Received: from DB7PR02CA0029.eurprd02.prod.outlook.com (2603:10a6:10:52::42)
 by DB9PR08MB9491.eurprd08.prod.outlook.com (2603:10a6:10:45a::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Thu, 9 Mar
 2023 14:59:55 +0000
Received: from DBAEUR03FT021.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:52:cafe::b4) by DB7PR02CA0029.outlook.office365.com
 (2603:10a6:10:52::42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29 via Frontend
 Transport; Thu, 9 Mar 2023 14:59:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT021.mail.protection.outlook.com (100.127.142.184) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.19 via Frontend Transport; Thu, 9 Mar 2023 14:59:55 +0000
Received: ("Tessian outbound c2bcb4c18c29:v135");
 Thu, 09 Mar 2023 14:59:54 +0000
Received: from fb41381b7d96.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B7242CF2-3CC5-458E-BE64-DF7962F7B22E.1; 
 Thu, 09 Mar 2023 14:59:48 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fb41381b7d96.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 09 Mar 2023 14:59:48 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB8352.eurprd08.prod.outlook.com (2603:10a6:20b:56a::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Thu, 9 Mar
 2023 14:59:40 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 14:59:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16210c5f-be8b-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MjaLvVTnjgvv8v+khnbXvIzBExXHsDbEJL+g/kTRklA=;
 b=J4g+N8a6AqO/T/Be9E3hQne2cLmNHjeR/spvc0xatVKAjG8ckiLN3vz4cZ4GYFDt2q1TIZvS9/flxkGM8AwyETZeB/LkYoYmi6aAiWn0JLUeD1kszc+06rUrTIveZT6Ajk/0pyFLbpd4lPYh0VrfHR/Lj+EQo48GbefBPrJrNRM=
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: 8ac0121d1705305d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NcDkuI4/pyRYKvo68LDRlFHQ9JfD6W8nG/7wbZdieEXzk7Q5/+Rkc4ZfKqHkfELHKPnAYKmgbtuOvXbcB8Kt680ja7jnhAEQtmybTv5nSfmjYKSPtT02HM7yvOmDn5oWNfV/tvKreEQJJdtOy3lQiHu+rrR9MjCqy864jgwfY4nGWvhHc505PgrwAHcznm2NaUV6dlv9X/zVSDOVDYRKKe9rGrwQloSTSat+34uwBqKGFDRkbQKy/tPcl8R/v4d6q0nMPBMaGH9MO8T1fcNcONVr6GOkQipoozKJg/e8lJP8120fpJsKOSr4Bk/fbyDHQf2itdW53h6Q7NTCr8Hgrg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MjaLvVTnjgvv8v+khnbXvIzBExXHsDbEJL+g/kTRklA=;
 b=m6tiG6GQ1C/SmFUdg88uHCW1Es+bOGIgkdNFYO+FY/G973sP93MKFvOJfy6dDP5tqN7FxSwg2cpqzdFibM/pX6mLqRfb7qIHLVxwtapKz3gzphE4CDJRgRi1mB1UgIfvALqmcdVvxI8cfndSBJQFw6Ke6qTFb98UVHw79f1hdPzhnHn2zlQ+m5F+W2+nyA/SPTUDVQ7zUNgDT143k7DhzJ0KLgbeqSV4RGxjgV86/bgt0b0E7fJHpu/hwWDDKrZ0s9uOdOgvZ5fvT/RpLUD8uHcGXk2L8MJW4QGOUOo3ZWzqKPu24G8DVL6/yx76CZ6YNOzkJGCYqxqz3s+ijjIU5A==
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=MjaLvVTnjgvv8v+khnbXvIzBExXHsDbEJL+g/kTRklA=;
 b=J4g+N8a6AqO/T/Be9E3hQne2cLmNHjeR/spvc0xatVKAjG8ckiLN3vz4cZ4GYFDt2q1TIZvS9/flxkGM8AwyETZeB/LkYoYmi6aAiWn0JLUeD1kszc+06rUrTIveZT6Ajk/0pyFLbpd4lPYh0VrfHR/Lj+EQo48GbefBPrJrNRM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Xen-devel <xen-devel@lists.xenproject.org>, Andrei
 Cherechesu <andrei.cherechesu@nxp.com>, Julien Grall <julien@xen.org>
Subject: Re: [PATCH v1 2/2] arch/arm: time: Add support for parsing interrupts
 by names
Thread-Topic: [PATCH v1 2/2] arch/arm: time: Add support for parsing
 interrupts by names
Thread-Index:
 AQHZUN0sbGmRWBiDtEmQnPFLsz5lVK7vc/8AgABafACAAkqcgIAAIo2AgAAJfwCAAA/CAIAADAKAgAAGfwCAAAD0AIAAEPgAgAAN94CAAAZ7gA==
Date: Thu, 9 Mar 2023 14:59:40 +0000
Message-ID: <C85576C2-C41A-461D-B22A-415DFAEA1866@arm.com>
References: <20230307100949.9231-1-andrei.cherechesu@oss.nxp.com>
 <20230307100949.9231-3-andrei.cherechesu@oss.nxp.com>
 <370745D6-D6AF-43D0-8E9F-2DB160BE0E07@arm.com>
 <alpine.DEB.2.22.394.2303071301300.863724@ubuntu-linux-20-04-desktop>
 <B58C926D-25FD-4EB6-A83C-229E72E16181@arm.com>
 <7a0734e9-a980-3dc1-026d-0c96a89c4d5c@amd.com>
 <0932C0EB-F90A-45D4-87F4-3594E6E74C64@arm.com>
 <3c0a6e88-2a1a-f06a-cac1-59801b1acfd6@amd.com>
 <D0D43830-5F75-4284-86E5-967E2059B377@arm.com>
 <df481924-6fa9-cac3-f822-9ff51b0824fe@amd.com>
 <CA41DB66-DB7E-4EDD-9A34-38328A2A8C9E@arm.com>
 <93cefcfc-1cfe-bb79-0f6d-5e578ad153fa@amd.com>
 <70209e22-c52b-597a-81a2-750e2ca9aefa@oss.nxp.com>
In-Reply-To: <70209e22-c52b-597a-81a2-750e2ca9aefa@oss.nxp.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|AS8PR08MB8352:EE_|DBAEUR03FT021:EE_|DB9PR08MB9491:EE_
X-MS-Office365-Filtering-Correlation-Id: dcb27593-8b79-4f41-3c4b-08db20aef181
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:
 RFKaxm9KeIYeY9iPNxIJsY6V5o/865fvQP243EEY0//B3adiDz+b3wB7s5KOA5pxzHFHkG14RykTG8ZyJ8AeBo8FxBTHbCuaCbdmUPjMncZGGLsTWYEmnzZexwbXWzAuifQTXRGiGj1FgiRdKurlCoPGusFfoRrlwYAVvahR4N1nKIF9j4HSCQefpDW2C1dt/xtzAiwU3msU9y5Hiz60XmR4Yk/8HXgOtSP8s18pz9rjjElXV7nWcG/q/8q2x4S4cgcuBvTGz2fJJ8284DwKh2SxZy8zuNJ0WdASlnt1ySgjP4PDqCC9kuvhAMMf9UZYtkJiuWnnXmsOeMw821G5j10CsLWCYoBEtRcIcujPnAJKUT793VfBL5OpIg3YhVhySS0p/6zkhiAb/22fRTIHOyc24v5lT23N7Ajidhj2Wmyv24KL1O7agCVH8V5ARjVY6bYTvyN2CcNt2YfqqguekHkWS6bl4Z5UcAHRJkOhtw3Net/Q6vL1vGdoOxS/wT+l3iLuVDQr/CGBCdbSFYnNp5n95opHz/97/PuBQp45yEW6yOfewlPNlpUD+cUZ8g4Kq+dbM+IIwdEOl4FdMYCO9SYZrjy6kgTzN5k59KxIi+ltje6Ci9BwuSs7wP02HTHrc7xCHcyaT1H/Zme2mMxlUnVeY7QhsZUchxeyd/LSI5ZHJr0rugyR2NcXWPhZVS7tgYYxQuKAXzxh8gTG7S/8XQMEPrG4/JPxlcCyMz2UTDE=
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:(13230025)(4636009)(346002)(396003)(366004)(39860400002)(376002)(136003)(451199018)(38100700002)(86362001)(33656002)(66446008)(41300700001)(8936002)(38070700005)(36756003)(6916009)(122000001)(4326008)(64756008)(5660300002)(2906002)(76116006)(66556008)(66476007)(8676002)(66946007)(186003)(53546011)(2616005)(83380400001)(91956017)(54906003)(316002)(478600001)(6486002)(71200400001)(6512007)(6506007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <CD872275AA7716498813D4901178D36C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8352
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	976c6d93-c2a0-4a82-5d8d-08db20aee898
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0+jKc2WeI5/ij6POkNVDsBFOJIcTb9L2b+PBqK9NEXoub6ONhRiQVQrjva5zXTGIZySU54grQ4Y/topFH/WVZ/Bkxhpfxr65A2mkbYTpW40vw8YUraegQN9V8t3l8cm6yEkDWDVxH7U4RpB2NqH/l9eeejXEx+YfrZZmKP+F2PiavKBHSpHajH1EZWZQkkQDeHLJkrcE75j74+Q3iLjrITPcwURNfOJxgZ1pAlej219GNiOHWfdEvQjvxzi6AL2MFuGnxKl2XGCxQ+43/ImV4vkLcSjrFxOS2kic0ggvdVmbPD6uifG+NtB6yf47MFC1sZEJ6gNPFhQafmL9WF2I/MxonczylLlAAn5upjEY7uxavf1nV/hKV0nyArFvEfGU+1vgI8S7VMFdkkMdKM38ij0rmf+bmzw59yO1B6Ej6Ax4ciSv92F/QoPSFxcr81pNZ71yORb3mKQge7Bs3mCgi6Es0EI4LjBvBskDF5VL9mqSFRnQoVAZbJlf93jt8i64YsZqa48kLJxrBEjV7rKv+iWJsySdiFjKhumwAGTQLlTOFk2ILl9p1nvQ1Qn8AdPEsZ8UnET1TiCbzSJno76yk5N0fXCXbf/MD53OnjVqFwGTq8dybIUwuqkYg+lQIVXtVgYtaiTIMd1AnIZj2X18qcdS5dGywxlX09xhyjFlGt9pdTS+ai/7qSduCRpy4nxYNhfT1ql2bGLdKxKDkZekuQ==
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:(13230025)(4636009)(39860400002)(346002)(396003)(376002)(136003)(451199018)(36840700001)(46966006)(40470700004)(54906003)(82310400005)(316002)(36756003)(86362001)(40480700001)(33656002)(83380400001)(6506007)(336012)(6486002)(186003)(40460700003)(2906002)(8676002)(82740400003)(70206006)(36860700001)(41300700001)(70586007)(6862004)(2616005)(6512007)(26005)(478600001)(53546011)(47076005)(8936002)(4326008)(81166007)(5660300002)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 14:59:55.0609
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dcb27593-8b79-4f41-3c4b-08db20aef181
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9491

Hi,

> On 9 Mar 2023, at 15:36, Andrei Cherechesu <andrei.cherechesu@oss.nxp.com=
> wrote:
>=20
>=20
>=20
> On 09/03/2023 15:46, Michal Orzel wrote:
>>=20
>>=20
>> On 09/03/2023 13:45, Bertrand Marquis wrote:
>>>=20
>>>=20
>>> Hi Michal,
>>>=20
>>>> On 9 Mar 2023, at 13:42, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>=20
>>>> Hi Bertrand,
>>>>=20
>>>> On 09/03/2023 13:19, Bertrand Marquis wrote:
>>>>>=20
>>>>>=20
>>>>> Hi Michal,
>>>>>=20
>>>>>> On 9 Mar 2023, at 12:35, Michal Orzel <michal.orzel@amd.com> wrote:
>>>>>>=20
>>>>>>=20
>>>>>>=20
>>>>>> On 09/03/2023 11:39, Bertrand Marquis wrote:
>>>>>>>=20
>>>>>>>=20
>>>>>>> Hi Michal,
>>>>>>>=20
>>>>>>>> On 9 Mar 2023, at 11:05, Michal Orzel <michal.orzel@amd.com> wrote=
:
>>>>>>>>=20
>>>>>>>>=20
>>>>>>>>=20
>>>>>>>> On 09/03/2023 09:02, Bertrand Marquis wrote:
>>>>>>>>>=20
>>>>>>>>>=20
>>>>>>>>> Hi Stefano,
>>>>>>>>>=20
>>>>>>>>>> On 7 Mar 2023, at 22:02, Stefano Stabellini <sstabellini@kernel.=
org> wrote:
>>>>>>>>>>=20
>>>>>>>>>> On Tue, 7 Mar 2023, Bertrand Marquis wrote:
>>>>>>>>>>>> On 7 Mar 2023, at 11:09, Andrei Cherechesu (OSS) <andrei.chere=
chesu@oss.nxp.com> wrote:
>>>>>>>>>>>>=20
>>>>>>>>>>>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>>>>>>>=20
>>>>>>>>>>>> Added support for parsing the ARM generic timer interrupts DT
>>>>>>>>>>>> node by the "interrupt-names" property, if it is available.
>>>>>>>>>>>>=20
>>>>>>>>>>>> If not available, the usual parsing based on the expected
>>>>>>>>>>>> IRQ order is performed.
>>>>>>>>>>>>=20
>>>>>>>>>>>> Also added the "hyp-virt" PPI to the timer PPI list, even
>>>>>>>>>>>> though it's currently not in use. If the "hyp-virt" PPI is
>>>>>>>>>>>> not found, the hypervisor won't panic.
>>>>>>>>>>>>=20
>>>>>>>>>>>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>>>>>>>>>>> ---
>>>>>>>>>>>> xen/arch/arm/include/asm/time.h |  3 ++-
>>>>>>>>>>>> xen/arch/arm/time.c             | 26 ++++++++++++++++++++++---=
-
>>>>>>>>>>>> 2 files changed, 24 insertions(+), 5 deletions(-)
>>>>>>>>>>>>=20
>>>>>>>>>>>> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/in=
clude/asm/time.h
>>>>>>>>>>>> index 4b401c1110..49ad8c1a6d 100644
>>>>>>>>>>>> --- a/xen/arch/arm/include/asm/time.h
>>>>>>>>>>>> +++ b/xen/arch/arm/include/asm/time.h
>>>>>>>>>>>> @@ -82,7 +82,8 @@ enum timer_ppi
>>>>>>>>>>>> TIMER_PHYS_NONSECURE_PPI =3D 1,
>>>>>>>>>>>> TIMER_VIRT_PPI =3D 2,
>>>>>>>>>>>> TIMER_HYP_PPI =3D 3,
>>>>>>>>>>>> -    MAX_TIMER_PPI =3D 4,
>>>>>>>>>>>> +    TIMER_HYP_VIRT_PPI =3D 4,
>>>>>>>>>>>> +    MAX_TIMER_PPI =3D 5,
>>>>>>>>>>>> };
>>>>>>>>>>>>=20
>>>>>>>>>>>> /*
>>>>>>>>>>>> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
>>>>>>>>>>>> index 433d7be909..794da646d6 100644
>>>>>>>>>>>> --- a/xen/arch/arm/time.c
>>>>>>>>>>>> +++ b/xen/arch/arm/time.c
>>>>>>>>>>>> @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequ=
ency;
>>>>>>>>>>>>=20
>>>>>>>>>>>> static unsigned int timer_irq[MAX_TIMER_PPI];
>>>>>>>>>>>>=20
>>>>>>>>>>>> +static const char *timer_irq_names[MAX_TIMER_PPI] =3D {
>>>>>>>>>>>> +    [TIMER_PHYS_SECURE_PPI] =3D "sec-phys",
>>>>>>>>>>>> +    [TIMER_PHYS_NONSECURE_PPI] =3D "phys",
>>>>>>>>>>>> +    [TIMER_VIRT_PPI] =3D "virt",
>>>>>>>>>>>> +    [TIMER_HYP_PPI] =3D "hyp-phys",
>>>>>>>>>>>> +    [TIMER_HYP_VIRT_PPI] =3D "hyp-virt",
>>>>>>>>>>>> +};
>>>>>>>>>>>> +
>>>>>>>>>>>=20
>>>>>>>>>>> I would need some reference or a pointer to some doc to check t=
hose.
>>>>>>>>>>>=20
>>>>>>>>>>>> unsigned int timer_get_irq(enum timer_ppi ppi)
>>>>>>>>>>>> {
>>>>>>>>>>>> ASSERT(ppi >=3D TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
>>>>>>>>>>>> @@ -149,15 +157,25 @@ static void __init init_dt_xen_time(void=
)
>>>>>>>>>>>> {
>>>>>>>>>>>> int res;
>>>>>>>>>>>> unsigned int i;
>>>>>>>>>>>> +    bool has_names;
>>>>>>>>>>>> +
>>>>>>>>>>>> +    has_names =3D dt_property_read_bool(timer, "interrupt-nam=
es");
>>>>>>>>>>>>=20
>>>>>>>>>>>> /* Retrieve all IRQs for the timer */
>>>>>>>>>>>> for ( i =3D TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>>>>>>>>>>>> {
>>>>>>>>>>>> -        res =3D platform_get_irq(timer, i);
>>>>>>>>>>>> -
>>>>>>>>>>>> -        if ( res < 0 )
>>>>>>>>>>>> +        if ( has_names )
>>>>>>>>>>>> +            res =3D platform_get_irq_byname(timer, timer_irq_=
names[i]);
>>>>>>>>>>>> +        else
>>>>>>>>>>>> +            res =3D platform_get_irq(timer, i);
>>>>>>>>>>>> +
>>>>>>>>>>>> +        if ( res > 0 )
>>>>>>>>>>>=20
>>>>>>>>>>> The behaviour of the code is changed here compared to the curre=
nt
>>>>>>>>>>> version as res =3D 0 will now generate a panic.
>>>>>>>>>>>=20
>>>>>>>>>>> Some device tree might not specify an interrupt number and just=
 put
>>>>>>>>>>> 0 and Xen will now panic on those systems.
>>>>>>>>>>> As I have no idea if such systems exists and the behaviour is m=
odified
>>>>>>>>>>> you should justify this and mention it in the commit message or=
 keep
>>>>>>>>>>> the old behaviour and let 0 go through without a panic.
>>>>>>>>>>>=20
>>>>>>>>>>> @stefano, julien any idea here ? should just keep the old behav=
iour ?
>>>>>>>>>>=20
>>>>>>>>>> platform_get_irq returns 0 if the irq is 0. The irq cannot be 0 =
because
>>>>>>>>>> 0 is reserved for SGIs, not PPIs. So I think it is OK to conside=
r 0 an
>>>>>>>>>> error.
>>>>>>>>>=20
>>>>>>>>> Problem here is that a DTB might not specify all interrupts and j=
ust put
>>>>>>>>> 0 for the one not used (or not available for example if you have =
no secure
>>>>>>>>> world).
>>>>>>>> Xen requires presence of EL3,EL2 and on such system, at least the =
following timers needs to be there
>>>>>>>> according to Arm ARM:
>>>>>>>> - EL3 phys (if EL3 is there)
>>>>>>>=20
>>>>>>> This might be needed by EL3 but not by Xen.
>>>>>> Xen requires system with EL3 and if there is EL3, both Arm spec and =
dt bindings requires sec-phys timer to be there.
>>>>>> So it would be very strange to see a fake interrupt with IRQ being 0=
. But if we relly want to only care about
>>>>>> what Xen needs, then we could live with that (although it is difficu=
lt for me to find justification for 0 there).
>>>>>> Device trees are created per system and if system has EL3, then why =
forcing 0 to be listed for sec-phys timer?
>>>>>>=20
>>>>>=20
>>>>> Let's see that on the other angle: why should Xen check stuff that it=
 does not need ?
>>>> Because apart from what it needs or not, there is a matter of a failur=
e in Xen.
>>>> Xen exposes timer IRQs to dom0 as they were taken from dtb and allowin=
g 0 for any of the timer IRQ would result
>>>> in a Xen failure when reserving such IRQ. Xen presets SGI IRQs, meanin=
g bits 0:15 in allocated_irqs bitmap are set.
>>>> This is why when calling vgic_reserve_virq and passing SGI always resu=
lts in calling a BUG().
>>>>=20
>>>> So we have two options:
>>>> - panic earlier with a meaningful message when IRQ is 0
>>>> - let Xen continue and reach BUG which would be not that obvious for p=
eople using but not knowing Xen
>>>=20
>>> So you are saying that in the current state 0 would be ignored during s=
can and create a bug later.
>> Yes, provided platform_get_irq() returns 0. This is however only theory =
because IMO it is impossible at the moment.
>> Both GICs, do not allow specifying SGIs in dt bindings and require at le=
ast 3 cells where 1st one specifies type.
>> So if we have a fake IRQ 0 as PPI, platform_get_irq will return 16 and f=
or SPI - 32.
>> Therefore I cannot see how it would return 0.
>>=20
>> ~Michal
>>=20
>=20
>=20
> This was my original thought process as well when I initially
> implemented this fix. Thus, I figured 0 should also be an error case.
>=20
> Extending this, all SGI possible return values (0 to 15) should be
> errors here, right? But I'm not sure if we should also treat those extra
> cases here (1 to 15).
>=20
> So, to make sure we all aligned, the only change to be made in a v2 for
> this patch is the coding style for the added comment? Or do you also
> think a more specific check for valid PPI IDs returned (16 <=3D id <=3D 3=
1)
> would be beneficial?
>=20

No i think we should not check more.
Just add something in the commit message to mention this change and why it =
is ok.


Cheers
Bertrand

> Regards,
> Andrei



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 15:19:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 15:19:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508312.782878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paI2y-0003VV-6f; Thu, 09 Mar 2023 15:19:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508312.782878; Thu, 09 Mar 2023 15:19: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 1paI2y-0003VO-3M; Thu, 09 Mar 2023 15:19:12 +0000
Received: by outflank-mailman (input) for mailman id 508312;
 Thu, 09 Mar 2023 15:19: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=zPhu=7B=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1paI2w-0003Uz-Cp
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 15:19:10 +0000
Received: from mail-pg1-x52e.google.com (mail-pg1-x52e.google.com
 [2607:f8b0:4864:20::52e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc8ed79f-be8d-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 16:19:09 +0100 (CET)
Received: by mail-pg1-x52e.google.com with SMTP id p6so1287394pga.0
 for <xen-devel@lists.xenproject.org>; Thu, 09 Mar 2023 07:19: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: bc8ed79f-be8d-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678375147;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=7pSJNq+7rFRI+hlQefhFmSeoL2+yXr7UUl/B9jEng0Y=;
        b=ibQ8nq1rAdCyNm5//Kl7KvkQ6mtOoCWB4UjkEqKfZn1Cd+WowXEtaRgeNA+f0EtZSN
         58d5YZZAaQr0UDjMFtGHYy1J8/3rJ33ZhIwJfXH9SFfUQdj9Rx8LcxnqLOrEiDKLKGRj
         mztB6hOakU0d2JWIZjmjjthhQoGCThzfawEG3HhriV0zUUbL3OnOEOtwafxN1E5xbCGp
         bDV1288zJoO3K/lBVT13Tw4zDNXITtzDcErIhXpzyQjdBTOAbox4cLczn9hSt+hhJo2j
         eG0iTDAqPne60gOuEOzXw04BUEDKgQO4Csw2EPNiahucGydtGzS4+7H0Fxmi7pcaYMGF
         4Hlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678375147;
        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=7pSJNq+7rFRI+hlQefhFmSeoL2+yXr7UUl/B9jEng0Y=;
        b=jWQC9jHgQF3fi4oQkk1V+WCHDWFOBIHFBs+9RBjVxmSEmxs+kB2SUBhhqdHMgmoJ5k
         m1F3svYLgMmFr2ZBO27DeGT73v6VGG1zZf/FmPHwoUXE+dwSf2Uw13k+0Gtuy2enE5Sv
         RB/4Zdb1GEywDukv6m7fbybeloEgfNqndydd9CySHxCIMqUfGPheWuBgBB8W3PH1xjRd
         hnhPXjOZXts9gMPfJIpzRetavAOcnuzqpjArQLeovhRa2Kspih0uTRpDYjclZFjxbVDc
         qu0FV8PZdOUxLHHUGHmeBFtJ1jkwXUt+8Xd0wH92stovb0jPsThveBWa5FPbIEfKcsjP
         tY8w==
X-Gm-Message-State: AO0yUKV/5MmH5FDWQDQ9v3ppT5ad2/kGHDKedsYFPsBcrVTKH158fy0s
	B21/LooTUx8CKwc46aAM2W6g2fedS1zte7jyQ90x2w==
X-Google-Smtp-Source: AK7set/YdBxJd9ZU9Hf9nqYnYY61zXJ6jzvtW7pVLd1MtiesYN3RKW8+ZfcRTdbrpSQpoN9TTiO8O8+RdCUWbtokNp0=
X-Received: by 2002:a63:f350:0:b0:503:72c5:dd77 with SMTP id
 t16-20020a63f350000000b0050372c5dd77mr8030634pgj.6.1678375147620; Thu, 09 Mar
 2023 07:19:07 -0800 (PST)
MIME-Version: 1.0
References: <20230307182707.2298618-1-dwmw2@infradead.org>
In-Reply-To: <20230307182707.2298618-1-dwmw2@infradead.org>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Thu, 9 Mar 2023 15:18:56 +0000
Message-ID: <CAFEAcA8bOzZQowyYEzga8xK1mYaDsCSqHAFgt0qHFRnxfECgDA@mail.gmail.com>
Subject: Re: [PULL 00/27] Enable PV backends with Xen/KVM emulation
To: David Woodhouse <dwmw2@infradead.org>
Cc: qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>, Paul Durrant <paul@xen.org>, 
	Joao Martins <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com, 
	Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, 
	Juan Quintela <quintela@redhat.com>, "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Content-Type: text/plain; charset="UTF-8"

On Tue, 7 Mar 2023 at 18:27, David Woodhouse <dwmw2@infradead.org> wrote:
>
> The following changes since commit 9832009d9dd2386664c15cc70f6e6bfe062be8bd:
>
>   Merge tag 'pull-riscv-to-apply-20230306' of https://gitlab.com/palmer-dabbelt/qemu into staging (2023-03-07 12:53:00 +0000)
>
> are available in the Git repository at:
>
>   git://git.infradead.org/users/dwmw2/qemu.git refs/tags/xenfv-2
>
> for you to fetch changes up to 154eac37190c4d80d29b09c226abd899e397530f:
>
>   docs: Update Xen-on-KVM documentation for PV disk support (2023-03-07 17:04:30 +0000)
>
>
> Tested-by: Paul Durrant <paul@xen.org>
> ... on real Xen (master branch, 4.18) with a Debian guest.


Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.0
for any user-visible changes.

-- PMM


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 15:40:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 15:40:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508315.782887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paINO-0007KZ-Rx; Thu, 09 Mar 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 508315.782887; Thu, 09 Mar 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 1paINO-0007KS-P9; Thu, 09 Mar 2023 15:40:18 +0000
Received: by outflank-mailman (input) for mailman id 508315;
 Thu, 09 Mar 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 1paINN-0007KB-1t; Thu, 09 Mar 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 1paINM-00069Q-Qs; Thu, 09 Mar 2023 15:40: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 1paINM-00028Z-84; Thu, 09 Mar 2023 15:40:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1paINM-0007pf-7h; Thu, 09 Mar 2023 15: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=ZFzoxtSVi4Cgol50hMh7Nn4sS7TSQag+lniHrZ3iwS0=; b=04pzStOQSxevck7WfEPnwHKt47
	QbkhumO43/0hsrnjMPk/cqz5WzYjXbECj5veWLXQnZ4zPQuiILg0QYhUbiufuz2ENBzZ35BwLnr1D
	FIp5HCF0z+lnmE0Rym9n33QpDOzGNKE5dIdz3ea+9PTTkLvnVwgoKCgwsM1DfMVTJMMQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179513-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179513: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-livepatch:xen-install:fail:regression
    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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start: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-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-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-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-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=7a59096258fb9e9679538da8851fe00656841980
X-Osstest-Versions-That:
    xen=31270f11a96ebb875cd70661e2df9e5c6edd7564
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 09 Mar 2023 15:40:16 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-livepatch     7 xen-install              fail REGR. vs. 179503

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install       fail like 179392
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179503
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179503
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179503
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179503
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179503
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179503
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179503
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179503
 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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-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     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  7a59096258fb9e9679538da8851fe00656841980
baseline version:
 xen                  31270f11a96ebb875cd70661e2df9e5c6edd7564

Last test of basis   179503  2023-03-08 01:55:30 Z    1 days
Failing since        179509  2023-03-08 14:07:05 Z    1 days    2 attempts
Testing same since   179513  2023-03-09 03:51:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bertrand Marquis <bertrand.marquis@arm.com>
  Juergen Gross <jgross@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Roger Pau Monné <roger.pau@citrix.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    fail    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 7a59096258fb9e9679538da8851fe00656841980
Author: Juergen Gross <jgross@suse.com>
Date:   Mon Mar 6 17:29:04 2023 +0100

    tools/tests: remove vhpet tests
    
    tools/tests/vhpet tests don't build since ages (at least since 4.10)
    and they can't be activated from outside of tools/tests/vhpet.
    
    Remove them as they seem to be irrelevant.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Acked-by: Roger Pau Monné <roger.pau@citrix.com>

commit 746774cd1786b13dc67020efb6496477535dcb26
Author: Stefano Stabellini <stefano.stabellini@amd.com>
Date:   Mon Mar 6 15:33:10 2023 -0800

    automation: introduce a dom0less test run on Xilinx hardware
    
    The test prepares dom0 and domU binaries and boot artifacts, similarly
    to the existing QEMU test. (TBD: share preparation steps with the
    regular QEMU tests.)
    
    However, instead of running the test inside QEMU as usual, it copies
    the binaries to the tftp server root, triggers a Xilinx ZCU102 board
    reboot, and connects to the real serial of the board.
    
    Only run the job on protected branches with XILINX_JOBS set to true (the
    "master" and "staging" on gitlab.com/xen-project/xen qualify).
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>

commit 3c55057bab0e992a6fc25cd498d6aca72034a8b5
Author: Stefano Stabellini <stefano.stabellini@amd.com>
Date:   Mon Mar 6 15:33:09 2023 -0800

    automation: add Ubuntu container for Xilinx hardware tests
    
    This container is only run on the controller PC (x86) to trigger the
    test on a connected Xilinx ZCU102 physical board.
    
    Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>

commit dd0f000aafd91ff674a11d6d5623d345fa8f91a6
Author: Michal Orzel <michal.orzel@amd.com>
Date:   Wed Mar 1 10:06:44 2023 +0100

    automation: Add missing and drop obsoleted aliases from containerize
    
    Add missing aliases for:
     - debian:unstable-cppcheck
     - debian:unstable-arm64v8-arm32-gcc
     - ubuntu:bionic
    
    Remove aliases for no longer used containers:
     - centos:7.2
     - debian:unstable-arm32-gcc
    
    Modify docs to refer to CentOS 7 instead of 7.2 not to create confusion.
    
    Signed-off-by: Michal Orzel <michal.orzel@amd.com>
    Acked-by: Stefano Stabellini <sstabellini@kernel.org>

commit 002641a8b76dd560f425dca636ae17149cc6b379
Author: Bertrand Marquis <bertrand.marquis@arm.com>
Date:   Tue Feb 28 08:08:10 2023 +0000

    xen/arm: check max_init_domid validity
    
    Before trying to create a dom0less guest, check that max_init_domid
    increment will generate a valid domain ID, lower than
    DOMID_FIRST_RESERVED.
    
    Signed-off-by: Bertrand Marquis <bertrand.marquis@arm.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 16:09:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 16:09:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508322.782901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paIpW-0002Uz-39; Thu, 09 Mar 2023 16:09:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508322.782901; Thu, 09 Mar 2023 16: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 1paIpV-0002Us-W3; Thu, 09 Mar 2023 16:09:21 +0000
Received: by outflank-mailman (input) for mailman id 508322;
 Thu, 09 Mar 2023 16: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=ET1K=7B=baylibre.com=mkorpershoek@srs-se1.protection.inumbo.net>)
 id 1paIpU-0002Uk-0X
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 16:09:20 +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 bd826682-be94-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 17:09:16 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 bg16-20020a05600c3c9000b003eb34e21bdfso4001983wmb.0
 for <xen-devel@lists.xenproject.org>; Thu, 09 Mar 2023 08:09:16 -0800 (PST)
Received: from localhost ([82.66.159.240]) by smtp.gmail.com with ESMTPSA id
 z18-20020a1c4c12000000b003e876122dc1sm216880wmf.47.2023.03.09.08.09.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Mar 2023 08:09: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: bd826682-be94-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=baylibre-com.20210112.gappssmtp.com; s=20210112; t=1678378148;
        h=content-transfer-encoding:mime-version:message-id:date:references
         :in-reply-to:subject:cc:to:from:from:to:cc:subject:date:message-id
         :reply-to;
        bh=pU1OTBYl8ElxfZaqjfIJsMTqsKjO/PQMi+tQNnzKT4Q=;
        b=pIgcoivNGH4MKiseDjCPBwqwNgcTN+oHqzet6pS9bNggnPMB+NZupnyxZVeXmTloRt
         6tqVOXifm2/34Zb11GLdRq3BUUe4ML25dHdivce8TeJaZPigbLNX1QkIXM7s0id4CpnZ
         febcVLWZAAony4gltW1DYbDs4GGFeRcql/RLIJyCILnNBlvpGkOVMLuMnopUtYpG7StH
         R5L1crHAgfz3jszL7ceMTPyeQbr+k0CyLlDo0lxTREaKBohPHPg+gpG320/6prtloP9t
         RfTEOyD6IDf7GUMs/Nb/SmpU/eP26aT0msmCzSpgEE34atz8GTAftSF2WtZUA+CAvws6
         PGBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678378148;
        h=content-transfer-encoding:mime-version:message-id:date:references
         :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=pU1OTBYl8ElxfZaqjfIJsMTqsKjO/PQMi+tQNnzKT4Q=;
        b=frrPEyubtGMRnh9KFTZQ8i03Of93MwrVu7siaCfG48mG1Ms3rhE95nHmxe/EIbDzcC
         ZqVtG9GlNX8ErgwjNdmi4ROKDyj+7fll6sp2eiuLCrlKNAvQ/cLnoC58l2VpraqLX7Jf
         rH+f2VoqHBv792cY/cY8jdd2v1KiCCRPzDgI+kwh4+MHHucK29p+fm9j8R0qKfZ21IFp
         U8qFWfHCYchj0sv3AxopEol6YtoDpsjyHdJkolKd2O6yHKjq59Oj9+TNU+dVL4xO5uJt
         9UUmjFNQDDa0MLSqIEfMrMhmcvBHT4MuxVDGT+jyUV0lrBvsGRN3toqBkcYfHkgTAGLk
         E8JA==
X-Gm-Message-State: AO0yUKXskGcKP/5Up+uDcCXKfg8G21pGJfPdqw5WFxkByXTJQtj6FR3p
	4FcZWJotYFWAu5h2WH2jOtkWjA==
X-Google-Smtp-Source: AK7set/uDxSQX6guni2q9LjuMZgDKvnwtVPDVc/y4ZwVZTtKpMFGC+aDylsQfmADZ8cH166t4rv0qg==
X-Received: by 2002:a05:600c:1906:b0:3eb:3c76:c23c with SMTP id j6-20020a05600c190600b003eb3c76c23cmr20444802wmq.3.1678378147773;
        Thu, 09 Mar 2023 08:09:07 -0800 (PST)
From: Mattijs Korpershoek <mkorpershoek@baylibre.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, Phillip
 Susi <phill@thesusis.net>, stable@vger.kernel.org, Dmitry Torokhov
 <dmitry.torokhov@gmail.com>, linux-input@vger.kernel.org
Subject: Re: [PATCH v2] Input: xen-kbdfront - drop keys to shrink modalias
In-Reply-To: <CAKf6xpsGy7rjK3Rkosevr3dD+64-WqCEzAecBbHEHpBMeAHh7A@mail.gmail.com>
References: <20221209142615.33574-1-jandryuk@gmail.com>
 <87359gkc1d.fsf@baylibre.com>
 <CAKf6xpsGy7rjK3Rkosevr3dD+64-WqCEzAecBbHEHpBMeAHh7A@mail.gmail.com>
Date: Thu, 09 Mar 2023 17:09:05 +0100
Message-ID: <87o7p1dhzy.fsf@baylibre.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi Jason,

On mer., mars 08, 2023 at 11:26, Jason Andryuk <jandryuk@gmail.com> wrote:

> On Thu, Dec 15, 2022 at 8:54=E2=80=AFAM Mattijs Korpershoek
> <mkorpershoek@baylibre.com> wrote:
>>
>> On Fri, Dec 09, 2022 at 09:26, Jason Andryuk <jandryuk@gmail.com> wrote:
>>
>> > xen kbdfront registers itself as being able to deliver *any* key since
>> > it doesn't know what keys the backend may produce.
>> >
>> > Unfortunately, the generated modalias gets too large and uevent creati=
on
>> > fails with -ENOMEM.
>> >
>> > This can lead to gdm not using the keyboard since there is no seat
>> > associated [1] and the debian installer crashing [2].
>> >
>> > Trim the ranges of key capabilities by removing some BTN_* ranges.
>> > While doing this, some neighboring undefined ranges are removed to trim
>> > it further.
>> >
>> > An upper limit of KEY_KBD_LCD_MENU5 is still too large.  Use an upper
>> > limit of KEY_BRIGHTNESS_MENU.
>> >
>> > This removes:
>> > BTN_DPAD_UP(0x220)..BTN_DPAD_RIGHT(0x223)
>> > Empty space 0x224..0x229
>> >
>> > Empty space 0x28a..0x28f
>> > KEY_MACRO1(0x290)..KEY_MACRO30(0x2ad)
>> > KEY_MACRO_RECORD_START          0x2b0
>> > KEY_MACRO_RECORD_STOP           0x2b1
>> > KEY_MACRO_PRESET_CYCLE          0x2b2
>> > KEY_MACRO_PRESET1(0x2b3)..KEY_MACRO_PRESET3(0xb5)
>> > Empty space 0x2b6..0x2b7
>> > KEY_KBD_LCD_MENU1(0x2b8)..KEY_KBD_LCD_MENU5(0x2bc)
>> > Empty space 0x2bd..0x2bf
>> > BTN_TRIGGER_HAPPY(0x2c0)..BTN_TRIGGER_HAPPY40(0x2e7)
>> > Empty space 0x2e8..0x2ff
>> >
>> > The modalias shrinks from 2082 to 1550 bytes.
>> >
>> > A chunk of keys need to be removed to allow the keyboard to be used.
>> > This may break some functionality, but the hope is these macro keys are
>> > uncommon and don't affect any users.
>> >
>> > [1] https://github.com/systemd/systemd/issues/22944
>> > [2] https://lore.kernel.org/xen-devel/87o8dw52jc.fsf@vps.thesusis.net/=
T/
>> >
>> > Cc: Phillip Susi <phill@thesusis.net>
>> > Cc: stable@vger.kernel.org
>> > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
>>
>> Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
>
> Thank you, Mattjis.
>
> Any other thoughts?  Can this patch be applied?

That's not up to to decide, Dmitry might pick this up or give you a
review whenever he has time.

>
> Thanks,
> Jason


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 16:20:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 16:20:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508327.782910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paIzp-0004YO-5P; Thu, 09 Mar 2023 16:20:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508327.782910; Thu, 09 Mar 2023 16:20: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 1paIzp-0004YH-2l; Thu, 09 Mar 2023 16:20:01 +0000
Received: by outflank-mailman (input) for mailman id 508327;
 Thu, 09 Mar 2023 16:20: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=xaV7=7B=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1paIzo-0004YB-F3
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 16:20: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-sth1.inumbo.com (Halon) with ESMTPS
 id 3c5e9dd7-be96-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 17:19:59 +0100 (CET)
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
 by AM9PR04MB7667.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Thu, 9 Mar
 2023 16:19:56 +0000
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487]) by VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487%4]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 16: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: 3c5e9dd7-be96-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O5DuWm+rI847UkkMaoPZGlho+qQrjI7n5ckR7B+CKYNqIHVQJct9mgwH+bH/y8b37T5MdhuUUK7DZ4Qa4I24PQebc9cdK+Eh0GsHgQt+wJjcSlN0OXt/l8XKds10/8mWjOQW0H+dtpaGdW+7Q/LLwmVDfhL887U2dubcCUUqO1uDGeEiN5/HdOQPlY2ECU3ZFkt6IlRkwMw6zKRe2vW0MGbKqhIqmOjmTnd7xChAsR/yv4R1qBqLHi5zC79snx+V7h93ybHDdstLzikpiYd0dEDjyPgb4gFW55/CFKu7ESoWYma0ZdqK2kZcfbWYkEavDJC0O8rRAXedz9yXXjqb+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=4bTt5zhJULGm/vo8RbHug4DIETlhKUeesiyygA6gBJ0=;
 b=OPU2gNu+OhyB8qfgHGC6UWJvEagiYd8fRIImCKQF2jsE6hGKnu1cfrdrlo+QdteOVh3geXwHxzJAwLjZfOV7RTsertKNMX/PeYitwZ8YTz0KwMDrGe9veejMcX1OMPFpAm3uvVajIy6MV4bCElajz1wxeYpr5dcPSIkFxmyqL+rJekragO9KfPuswZUSvF+UDUc690o2GVL1LlMiDCNHCudEtMx+X8zx9qiZFvCniuVutHPTEoMwO1X+9vb61uyMtce//MKmB0BOiegs+dNywgvp8BAR8Wcxg/jAiAS3W/ARE1gbxVXImQxTnNi7P1P/wU75+qFgvGTAalJdtWvgOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4bTt5zhJULGm/vo8RbHug4DIETlhKUeesiyygA6gBJ0=;
 b=R7mbtTXaX7/+nXIrnBk88XsBKRTgH7HXy527Ev8jj+7TM3zAoCkfZJvgzjEayJgIvMGbpag6BCkNZ35Gz41SjWp1euy/SYkXdS7yGXtW+04jhCRQycMqHZb1Cx0KVPSGYNTmXNaFH6/huGJqKqnxlBkkG0ALRbBRXtYbjed0NA4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand.Marquis@arm.com,
	sstabellini@kernel.org,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	rahul.singh@arm.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>
Subject: [PATCH v2 0/2] Fix ARM Generic Timer interrupt parsing
Date: Thu,  9 Mar 2023 18:19:31 +0200
Message-Id: <20230309161933.1336367-1-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.35.1
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR02CA0138.eurprd02.prod.outlook.com
 (2603:10a6:20b:28c::35) To VI1PR04MB5056.eurprd04.prod.outlook.com
 (2603:10a6:803:5a::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB5056:EE_|AM9PR04MB7667:EE_
X-MS-Office365-Filtering-Correlation-Id: 01ef81d1-390c-4dab-62cb-08db20ba1ef2
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	84f+YjNfDEWjTllVMqSQzdmIhA8MKb2l13sDkELtrtA2CB3G8PN3Ky7uToDxLPKyjfAS9NJa5tEovDGzrncrZU8XG20A53Kk2u8S9w3zpfKKsoJPKBmZZnnHDOSDof3z0HQrqXR8z8tspMveWWdZss89rThugPYcVubL1tyZwCdBp4htdDB7WzjVtuk9k5DSi8mWISb8+d5L6I8yuEYvNaADxsaX8NypnGzYoPqhpvVIU0dzVhtNv1jT1WqxZ9MC0xiutuizCU6sYxQE4vbXkL7/MFFf3lbZN0UURHYc+79nFhLtnPKDC0nfY0pJ6UQDgL9Zw5PXeGn75lRaQ1F1I/xpY8RrQtAFEdcc14Vvc49IK2lB4pvbmaCQyo5FI2thtE2L9BIrZ1JNj6OhHfjnQRVr4/rv/zbDiLY+FHrfVGn+EC59cHyU3T4Pj9swgm18wK+aT4a4VuMSNCubFRs9N1tA3/KUpNFIW0u3zmlmClVW7FrGaHD56YkVqXuxQtt+LxswEUCrtVwlY+Pn5cVAMYpoWBMvFb6CjU4bTsWyNJwlZdfD6BdiCpJiwdEDM6VXHPPnySiEV5o7n+Ahx08eBFCMh5Pehi4+NYNdVeCfKeO5ehO6n3KdNa19Evnm/l1rQ9KNdzKhKI8FLct9mt3V8pISP3ixQxxm6XFEE9jhNzrvbWkrL3Ne9TuvJFnxslGg9no5h7xDom0VrVlWdG2YQR5hgumMUTHWvAH+Lpudtr4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5056.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(136003)(396003)(366004)(39860400002)(451199018)(86362001)(316002)(52116002)(478600001)(6486002)(2906002)(8936002)(5660300002)(4326008)(6916009)(66946007)(8676002)(66476007)(66556008)(41300700001)(1076003)(38100700002)(38350700002)(186003)(2616005)(6666004)(6506007)(26005)(6512007)(83380400001)(41533002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?k8qDF8xeRbeKiMFBxzT1lHInuw0X7GkANyARAXB2IUEcm7osBLc1ayPs1ELj?=
 =?us-ascii?Q?IeuUF602MA00l22HDx6k2k20xwPs0fjpUkKmdTrRISkZEt92TaQvE8z3bbl4?=
 =?us-ascii?Q?Nkm9xMhpDwULc+FRVkNd8TzR8+r9v0U3CWWA8H/8bYF2g8wp4hjnztmo2d31?=
 =?us-ascii?Q?CRfg6X+Rlf0wxGF86X1NH3maURyrUB2tlQ6Ah4ktZoMGYVx3TtK59eT7XlSZ?=
 =?us-ascii?Q?LxVeXcElnHWV5HaUGYdcxCtL7dBxC91XbNxZ0F6p3viegvT/OlLWChe9/lhS?=
 =?us-ascii?Q?ahX5+9Wd0qj7auD/PovxbAx0bmjsOe4Ufss2A3AUGngUpcpOccfo7AKOt47Z?=
 =?us-ascii?Q?QDbGYBfElfvY1RdXCohzBoUzYZlRA/Fe5NDJEaRZlSACEiS1PqH+YmrTaKA6?=
 =?us-ascii?Q?tH5mzDR5Kh3a8q5dg05kpFZpivDuYWfB6MVxTh8CcwTwQKzxjQEBgRS6I+GG?=
 =?us-ascii?Q?UyWvCBWqV26PFHTFDB0yFEL68zkdNDJEJIrqyFAaEyHptNOBTpTTkOutUMCv?=
 =?us-ascii?Q?+QlR72jrvXEhzeUUu+ggFBJMjgRzRSS+L2MwoF6AWj/CEcstrqu8Zepf7UGL?=
 =?us-ascii?Q?b1ZsVSDMwC/pSgOjshku6qTIza1MmNUfvkw94CoZD4G4RuiyuOk6tody76lG?=
 =?us-ascii?Q?wDZLjC/H6uveLd1p4/nsa2ZInvWG4ViSidpgXt/ZduqqtcUwXqaqy0EOHIhl?=
 =?us-ascii?Q?Ns2H0tiQbFL5Y5fA4LDX61kOZQXMZGZnk0bxxlY9anK5aGNla+/cZw2wpsmv?=
 =?us-ascii?Q?FtVOzQRabPC/e1MC157ldiWbbKiR5Cb6CCOG0W/LEiJKe18nXBerT6CrcZFJ?=
 =?us-ascii?Q?sEJBB4iaP/OzLjQkif5pgNc06jUYTF7IkYkdcFMpeWroikPnOP4CtPjfFaZV?=
 =?us-ascii?Q?uTjVb5wAKy1XAQgyCwJQ9uQ66QqArGxZbhpfmrkYgpzDwPbvWA0Is3CEWlxR?=
 =?us-ascii?Q?1KDaM90rSbIT+ArDHTyhvOFs2d/hkmKz+8JMB6OkDekIU+OxGUDSmV9DrkaA?=
 =?us-ascii?Q?smuafSKJS5HIdZ09XIR8rTaAAjsoK7GGW591HYAnlhV48NWLPk5k2VRKDbBf?=
 =?us-ascii?Q?GrY7ofOrpoUiH5RtRFYM6QbZ8SbfU87MoZ61uctw+h3caMNX99svx1OtzdJV?=
 =?us-ascii?Q?WGTsaf1bz6kkrKYFiCHMVeBR8eEGTpmSQemSmIAjW2S4PFIp3QygW+7pmgjo?=
 =?us-ascii?Q?PFe2g6Rna+ZvhpIf0Q/BC542zvj+sULSYNeOnQ+Q/Fn/U2pKdpN8kz7S+tpo?=
 =?us-ascii?Q?0xlPi7IP+Q5TgCdBa1ocWctC8Zg+Uwo7Cs299KgHxZQ5sIpQOEGkJFbwCEkf?=
 =?us-ascii?Q?8VojbN/zvr/vNAlUZL5jKigloMl2Iz+raE/Il5DQKmvSWn6pEuH3VXPKv3k6?=
 =?us-ascii?Q?UTrnxie1gCGaI7b81yu5GUj1lfya1sQkmYctDFy91Vrl/kDviPQcpkd1j6Gp?=
 =?us-ascii?Q?79JiLwXsj3Q86c7D4SGGKiybXKjZvuEkTFKiDJXB1E4qAn6vI+WE7yClIaig?=
 =?us-ascii?Q?816OcdnywPjQ3VaF4ZJ9B1mwuVOTNY9tZ42NFzY+qlXeqtO7n308pTIZ812i?=
 =?us-ascii?Q?VuWAUj20ZcktWH+dzUCi+G52UGST2Yk8XnL07JL3Kn5LnKvJ5iiPpD7kcd94?=
 =?us-ascii?Q?/g=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 01ef81d1-390c-4dab-62cb-08db20ba1ef2
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5056.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 16:19:56.3889
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QXhVONaDM0UW4O3o9I4LNcgjSjQkvgEkQWW9cpJpsm2LLKO9Dg4kpafrfjHkvz8UP7YbqraAmWWTJETFwS8VDlLdLOhgPcCqvadlpJABBC8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7667

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

This 2-patch series fixes the parsing of the ARM Generic Timer
interrupts from the device tree.

If the generic timer interrupts order in the DT was different than
the expected order in Xen code, these interrupts would no longer be
correctly parsed and registered by Xen, and would result in boot
failure.

This method with using "interrupt-names" for the generic timer
interrupts instead of having them hardcoded in the DTB in a specific
order is the newer approach already implemented in Linux. Xen did not
have the necessary code for this approach, and it has been implemented
by the means of this patch series.

Functionality should remain the same if "interrupt-names" is not
present in the Generic Timer DTB node of the platform, but the
interrupts should then still be present in the expected "sec-phys",
"phys", "virt", "hyp-phys", "hyp-virt" order. If "interrupt-names"
is present, now it is also correctly handled.

Changes v1->v2:
 - Rebased on latest staging as of 2023-03-09
 - Fixed coding style of comment added in 2nd commit
 - Added to 2nd commit message explanation as to why 0 should
be treated as an error case for platform_get_irq

Andrei Cherechesu (2):
  arch/arm: irq: Add platform_get_irq_byname() implementation
  arch/arm: time: Add support for parsing interrupts by names

 xen/arch/arm/include/asm/irq.h        |  2 ++
 xen/arch/arm/include/asm/time.h       |  3 ++-
 xen/arch/arm/irq.c                    | 14 +++++++++++
 xen/arch/arm/time.c                   | 27 ++++++++++++++++++---
 xen/drivers/passthrough/arm/smmu-v3.c | 35 +++++----------------------
 5 files changed, 47 insertions(+), 34 deletions(-)

-- 
2.35.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 16:20:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 16:20:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508328.782921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paIzv-0005c0-Dz; Thu, 09 Mar 2023 16:20:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508328.782921; Thu, 09 Mar 2023 16:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paIzv-0005br-Ai; Thu, 09 Mar 2023 16:20:07 +0000
Received: by outflank-mailman (input) for mailman id 508328;
 Thu, 09 Mar 2023 16:20: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=xaV7=7B=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1paIzt-0004YB-Ui
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 16:20:06 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20628.outbound.protection.outlook.com
 [2a01:111:f400:fe16::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4018f434-be96-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 17:20:05 +0100 (CET)
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
 by AM9PR04MB7667.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Thu, 9 Mar
 2023 16:20:02 +0000
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487]) by VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487%4]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 16:20: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: 4018f434-be96-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NSgY9SjtE7MbRUG3P7gNlSXUK7GQ7nLtc/EZ8VSdH1w5Q5t7ysJTakLWjYxzTS5+gvIMpCogd9l3UWaJbKKeHgTehplAcRJW5QNQPGKjVj23pC8So+zFB68FDhhDTwea4Vxxewbw/C9qtvWmkgQEEoj5b0cnrYCfbwGV10JiJz0vtZ8808YDSxYsoUY2wExNe/M8uRcIaN59UOuiiQRv8oyBS1Zv42ta3qYWRmqyGaxI2vy/g6o6oYAKmYGxqTZ4SKB+GjZGkqVnfsUR4rBRonKLB5ZKrCVmRtd02l8ZJFfqT42RRBlx/AE5tuWVHzBUkF6u3u6M37c9Hh9pg+InuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uQNYeJoSq7Q9ZqnSKcAT7DwtkzmkKIujQqNfvAuqlr0=;
 b=Dyg7i8umN99wdedUkRE5e3dyD69PlDuMG0Hh67Nm0Moc9UdqrOGPfR85JsZ9p/91aIihgAD8AV7ZUCH7o6gekCJnL60ClzYjqWnYGxIrpix9YPmdRsWfhV4WufYmF3+QQlUGKuIg8oYbjFiqHDLqwe4QE6o71KM+/uXqNTGmVIaL7jpL6EGl9KEJFR4jH4UmyOtytwuGJ+h7KyKJ3jqb5UGEjF2oTj8MV58ZOlAdgGZRbZrHoZl15NDQ5Ji5MzQOD2h3VP2jrzMCjP3kmZTquyPZzaYiNmEVif4cSeeZgOjcrdITgmTqe/DFvHPa6saxhj6onyV9L8mXOKgbw3O0XA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uQNYeJoSq7Q9ZqnSKcAT7DwtkzmkKIujQqNfvAuqlr0=;
 b=fU0NGVSXiJ1P7tbZxoYMfn67bABKnvWziFXjNkrO1JYJGVNmw5FB2gyNSnDLR/bas+4zKQx6odUDMzrIPpkTrwbMp9eXWe4mJQ6Cgdgge38hiR4nIROCTViK3KjQpZYGNxd7GrelLmTxw1iX8sLuhpFRA9l3EoNO5mq3hgRp8ZE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand.Marquis@arm.com,
	sstabellini@kernel.org,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	rahul.singh@arm.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH v2 1/2] arch/arm: irq: Add platform_get_irq_byname() implementation
Date: Thu,  9 Mar 2023 18:19:32 +0200
Message-Id: <20230309161933.1336367-2-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.35.1
In-Reply-To: <20230309161933.1336367-1-andrei.cherechesu@oss.nxp.com>
References: <20230309161933.1336367-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR02CA0138.eurprd02.prod.outlook.com
 (2603:10a6:20b:28c::35) To VI1PR04MB5056.eurprd04.prod.outlook.com
 (2603:10a6:803:5a::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB5056:EE_|AM9PR04MB7667:EE_
X-MS-Office365-Filtering-Correlation-Id: 369c9141-dcdd-447f-8e32-08db20ba2239
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YXlPzAvoipRdxPghJFetJ3SvPPigtGrS3oOVsZt/uLcb+uieUuwt3tXr+kEMzXOYujqXKstYtCjVl7AD9Wb66I6iKr/xBJXkPehk+hu2mDSes8Kydpbbn6Vs0X4TiPSl0Oyg72VMxcd9mTq+WLCJSPpEgl2LMfQX/UD8T4JH57dZ5XBGFaU7PUVpMmMPjzyZKNpw8yU9s8NyK4KeCk5WIj2ZxNAWKfYCE8y3/2Oz+NxENcSfyNvjX+/zxwKF3jST5/d4IbRrDo6uEvk0znTdlLQ9faZYI2UIrAoU77ttXm227ihavm6NrlFQs48MsJuuHbcp3I1tph/JbMiNOtu2hZuFcOeHXQCx3BluumEykW0xQV9gBQMoNxzHuprx2GXOQHG+9y/mnJ0QY34DstzH9TwVzdnDjrhvB2qr8AB4YOJcy3Bn67iECgoyqKztcn6sMISiOIfaUZnx1rYTGhiI4pQCfw15DG2B7GAaSMUWgBz/NCzG/Ar7Tt6r6cupCaADBqX/nhyAdzbtP8cmuHv3KRzCA1FBuqm7AwMFs5wqXGZjdAq03Hrh6I7TJ4QrjoARtwqcxhKyTBhvbhVURCGFMr4Q2u2JT1BsM/4AIJiqgET0ZSiReXYuY+hdcOJT4Fo8oIJ6XFMG/YTDPSigr3sycz1mq4x6Ymv6rlzlN5Y003O081Idq+de4AcuDakPsECSDdoN+nMInpR2PGlBVVQzXg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5056.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(136003)(396003)(366004)(39860400002)(451199018)(86362001)(316002)(54906003)(52116002)(478600001)(6486002)(2906002)(8936002)(5660300002)(4326008)(6916009)(66946007)(8676002)(66476007)(66556008)(41300700001)(1076003)(38100700002)(38350700002)(186003)(2616005)(6666004)(6506007)(26005)(6512007)(83380400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?DdktHC6EEgaLZkw/SrG9y9Q1Bi51YZ2RB2uHIe+vc6ONuqtwCOv8oaic3NN4?=
 =?us-ascii?Q?0ECOLKxjQ3veM8hEgah6Kn/gclcX40ORH89R64tz6u0nBsbdPFcrOeQy2NBw?=
 =?us-ascii?Q?1anLrA/Ma/XwheFwSFe/5hdRxKx0KlZe63ok/bwUMeyGiRLnF9ecc5YVJ7ik?=
 =?us-ascii?Q?klrdtx3zzd7uTu+yPtnbHgjGUovR77fy3FsG4gBqC52HezYs78u6sOV1wZbX?=
 =?us-ascii?Q?kUNBBImgxnlNojBBvvIMPuw2Qey04h4gEv31wxpeGmT0q+O4rQAh/04aEQx/?=
 =?us-ascii?Q?lA69hINPO9M8SYbxMcu1mD7GSr0a7uaGIv16kz5qt9ZcohPlSuPnGnvKrU+V?=
 =?us-ascii?Q?fRykbLukfZJdwbKl7KR4hhxecfkPi8ZiqAQV7XaXbdN2NSQntWqU2jF+Ayco?=
 =?us-ascii?Q?H1hlShvSPzLpJYO5+iArAuh2JtsevGNLTUyBRUmrynem/oyadEDaqZxyvErm?=
 =?us-ascii?Q?ErUg9i4cHsIAqf9M7K7uWEED5Z0uewpOfquipMlMQ9aW7OUAkpvP95IoNe6W?=
 =?us-ascii?Q?NZ9aiHvmfyN3SbVMa5ak6b1yEWD39M+q14H7fyD3/Urmx39YFIBBdEbzikdS?=
 =?us-ascii?Q?PycP1TFJ0jy2QlVqNGrn5ZQKbybYql6Xv4UPqTh+N4btCDQCvd5nk1bruyqD?=
 =?us-ascii?Q?eYj0u90idk9lf/ctPtY+Sn+gamhLYTp1gEkfMQHQwtN4zS6dG06sFTZ0eDdK?=
 =?us-ascii?Q?UNM82RTykL8mOH0uTNypYKD6hhOA5X2NwKxdijChgroGWKmtgE5sHJIzzPVm?=
 =?us-ascii?Q?ZCgZCzqBB3H6nzahQeAzhrGOEcNSGoksgDUhm3EUs0iJavgaGLmu8aG4opcn?=
 =?us-ascii?Q?qn81vKCl7TaGbL1eOF6dOnDTu+2442uVZf0cMjFzFi1O8xkCUBnXlUUx3hTE?=
 =?us-ascii?Q?i8A+mKILM4mL6uYYnczk5gM8h+6a4nc1ObqyVIk6GCZzGLE71YIedQRQnUuc?=
 =?us-ascii?Q?N0o0ux5i1tSLqmxT+z26DoiU81qo/T+nwF+QL5KrbLmgWaPrnzAzl9Szjwxs?=
 =?us-ascii?Q?i2AdscSyzGWT41Wnl2taV+G9yjw8GazpDp5zIn+pmGlbJRXe1DfP/+xU20Yr?=
 =?us-ascii?Q?5rCAhqjRthN7DFJVUpiz3TZx04zEiI4M8VOEVapMbjEVC9VAzrnxCpaPPdzY?=
 =?us-ascii?Q?KUm50gZJB966MTT12CArU5Qy1mO8I6iLurePQgbwn9N8nJpUTTtZD544V8Ae?=
 =?us-ascii?Q?DSKSmz7F/BLJXmqqKFeW8/g8jzK4TxfRufsQOLoDOhq0N8Zi5TtoqZ8IElot?=
 =?us-ascii?Q?wJOkSDAP1/xyX5GLCmQZK/KHTW/1gj0b/mUOtgCXxN48wRhWvKrGccI+5x27?=
 =?us-ascii?Q?jdjcfL3cfleT7ZHJfhKo9NYZGYVHGtc22Z1UfoOa2j1NHq+W67lX2EtsiH0k?=
 =?us-ascii?Q?ILCbIn5BphcmovmbysD4t0jQKV8InvWPdp2m/7bUfxjbHFPbFWwrC1Abv3r0?=
 =?us-ascii?Q?vVAnWa5G1mmZPaH++ZVhq/5QKDn1A82BekAOF1vLSHVQwfgXns3ZnE7I5eZ7?=
 =?us-ascii?Q?sqw2GCwQCTH4f0MMuRePkz3LnfQCr3sk/dcKWksaPzVk5DoLHRcWLlNhgVHt?=
 =?us-ascii?Q?TYMk5P2x6HZfd1wsqihbMSd0bY2AjLDscUKZWvFv77nCHrsoo4dsbnTQfOvD?=
 =?us-ascii?Q?1Q=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 369c9141-dcdd-447f-8e32-08db20ba2239
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5056.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 16:20:02.7634
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mpHaSp42uvqVjcX6SOwlu5lhiU923kvT0cqURQH3Gc2X87mciN7TomXT4SZ6Sd0Oz1NnY8/x2aKiaIlg7m3PI6XCdCA+cZZjgJagSS7oHeg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7667

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Moved implementation for the function which parses the IRQs of a DT
node by the "interrupt-names" property from the SMMU-v3 driver
to the IRQ core code and made it non-static to be used as helper.

Also changed it to receive a "struct dt_device_node*" as parameter,
like its counterpart, platform_get_irq(). Updated its usage inside
the SMMU-v3 driver accordingly.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/include/asm/irq.h        |  2 ++
 xen/arch/arm/irq.c                    | 14 +++++++++++
 xen/drivers/passthrough/arm/smmu-v3.c | 35 +++++----------------------
 3 files changed, 22 insertions(+), 29 deletions(-)

diff --git a/xen/arch/arm/include/asm/irq.h b/xen/arch/arm/include/asm/irq.h
index 245f49dcba..af94f41994 100644
--- a/xen/arch/arm/include/asm/irq.h
+++ b/xen/arch/arm/include/asm/irq.h
@@ -89,6 +89,8 @@ int irq_set_type(unsigned int irq, unsigned int type);
 
 int platform_get_irq(const struct dt_device_node *device, int index);
 
+int platform_get_irq_byname(struct dt_device_node *np, const char *name);
+
 void irq_set_affinity(struct irq_desc *desc, const cpumask_t *cpu_mask);
 
 /*
diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index 79718f68e7..ded495792b 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -718,6 +718,20 @@ int platform_get_irq(const struct dt_device_node *device, int index)
     return irq;
 }
 
+int platform_get_irq_byname(struct dt_device_node *np, const char *name)
+{
+	int index;
+
+	if ( unlikely(!name) )
+		return -EINVAL;
+
+	index = dt_property_match_string(np, "interrupt-names", name);
+	if ( index < 0 )
+		return index;
+
+	return platform_get_irq(np, index);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index d58c5cd0bf..bfdb62b395 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -200,30 +200,6 @@ static inline void dev_iommu_priv_set(struct device *dev, void *priv)
 	fwspec->iommu_priv = priv;
 }
 
-static int platform_get_irq_byname_optional(struct device *dev,
-				const char *name)
-{
-	int index, ret;
-	struct dt_device_node *np  = dev_to_dt(dev);
-
-	if (unlikely(!name))
-		return -EINVAL;
-
-	index = dt_property_match_string(np, "interrupt-names", name);
-	if (index < 0) {
-		dev_info(dev, "IRQ %s not found\n", name);
-		return index;
-	}
-
-	ret = platform_get_irq(np, index);
-	if (ret < 0) {
-		dev_err(dev, "failed to get irq index %d\n", index);
-		return -ENODEV;
-	}
-
-	return ret;
-}
-
 /* Start of Linux SMMUv3 code */
 static bool disable_bypass = 1;
 
@@ -2434,6 +2410,7 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 	int irq, ret;
 	paddr_t ioaddr, iosize;
 	struct arm_smmu_device *smmu;
+	struct dt_device_node *np = dev_to_dt(pdev);
 
 	smmu = xzalloc(struct arm_smmu_device);
 	if (!smmu)
@@ -2451,7 +2428,7 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 	}
 
 	/* Base address */
-	ret = dt_device_get_address(dev_to_dt(pdev), 0, &ioaddr, &iosize);
+	ret = dt_device_get_address(np, 0, &ioaddr, &iosize);
 	if (ret)
 		goto out_free_smmu;
 
@@ -2484,19 +2461,19 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 
 	/* Interrupt lines */
 
-	irq = platform_get_irq_byname_optional(pdev, "combined");
+	irq = platform_get_irq_byname(np, "combined");
 	if (irq > 0)
 		smmu->combined_irq = irq;
 	else {
-		irq = platform_get_irq_byname_optional(pdev, "eventq");
+		irq = platform_get_irq_byname(np, "eventq");
 		if (irq > 0)
 			smmu->evtq.q.irq = irq;
 
-		irq = platform_get_irq_byname_optional(pdev, "priq");
+		irq = platform_get_irq_byname(np, "priq");
 		if (irq > 0)
 			smmu->priq.q.irq = irq;
 
-		irq = platform_get_irq_byname_optional(pdev, "gerror");
+		irq = platform_get_irq_byname(np, "gerror");
 		if (irq > 0)
 			smmu->gerr_irq = irq;
 	}
-- 
2.35.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 16:20:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 16:20:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508329.782931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paJ00-0005uX-Nh; Thu, 09 Mar 2023 16:20:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508329.782931; Thu, 09 Mar 2023 16: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 1paJ00-0005uQ-KI; Thu, 09 Mar 2023 16:20:12 +0000
Received: by outflank-mailman (input) for mailman id 508329;
 Thu, 09 Mar 2023 16:20: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=xaV7=7B=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1paIzy-0005sx-TI
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 16:20:10 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20609.outbound.protection.outlook.com
 [2a01:111:f400:7d00::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41b99e2a-be96-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 17:20:08 +0100 (CET)
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
 by PA4PR04MB7870.eurprd04.prod.outlook.com (2603:10a6:102:b8::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.18; Thu, 9 Mar
 2023 16:20:05 +0000
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487]) by VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487%4]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 16:20: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: 41b99e2a-be96-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HrZOoXEUpeadc+MxdpPX4i0S2VlCzv1WaC0ehIXykYrlRXMqNtiN6A7PAHXSc5Kj5Zjfxjpk3IcU48DpaoT4Rh/WIm7KL5649ezEGfH2ljZhPP/Sh+ilHflVpLvYpdzZGHz8wahz5qgj5s2Qt6njMkHiuYXYbCTg9bICcznLiXrRc2j2viSiKrftsKPGJ5K0IAQ3J17f7DpRSizc1v3aTDlLGYQ8pB/JN5r9uFF5Ccj+gmoPEHNfXjE9mzQSbNxRFPDFNN3SKyTnoHdy8XPGlBVFSzbtpMLQMosAXGnKkHUkEDskE9YcKHLTb1IZM4us0gK2ErgQc9u1csG7O9fTaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=33kYFep1zFWkBTd1y0DHwVF7+6Ut2vL8LuyGt2ggwL0=;
 b=nq9eWlQcnrti/AlvRsuYOZj3qfroZwE7Jc03Z9UMPDQeJxgwEGjTVnXVF7X72nbPNcOUIpKhn3M3LA3w9T54Ed7behGUa4pgDkMATZTxthrD6AZEi7lameCKvIl0iQVjtPoJdrzaEFjxGG62mxuVqROyq47YQjKk6U7cfWRdxxYA9LQzoEmuQ1DtReThYo1321VSs65XjZvozR7Elm/Wr38C/rz9M/mjVODDT9dOxg1Tn3mbfeR2g7VMiiYpVYuv/kKmbSFQ0omPj1qZf5Z8Rc5lJW7JQOZz7rQUxqEqO/RyhG/n3aEevxkkban9AfiVr3XGeqHRSjmMrfSFZ+mOXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=33kYFep1zFWkBTd1y0DHwVF7+6Ut2vL8LuyGt2ggwL0=;
 b=BXGh9WPqMwF4EQCZ3avYRg6UeI1fpkwaWdG35VKFmgY5rsrhsp18C7mbHWg3qDVGqmFvZVrecTXuo21uzKN0V2wsMm4+FtJ8SeeQp7O6mnFtG60/G6C4uBCMKdpgMSOI1abwjUXhsXa/YpHbW33vv7zvfuMSS3laZlC/0MTEAuQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: Bertrand.Marquis@arm.com,
	sstabellini@kernel.org,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	rahul.singh@arm.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>
Subject: [PATCH v2 2/2] arch/arm: time: Add support for parsing interrupts by names
Date: Thu,  9 Mar 2023 18:19:33 +0200
Message-Id: <20230309161933.1336367-3-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.35.1
In-Reply-To: <20230309161933.1336367-1-andrei.cherechesu@oss.nxp.com>
References: <20230309161933.1336367-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR02CA0138.eurprd02.prod.outlook.com
 (2603:10a6:20b:28c::35) To VI1PR04MB5056.eurprd04.prod.outlook.com
 (2603:10a6:803:5a::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB5056:EE_|PA4PR04MB7870:EE_
X-MS-Office365-Filtering-Correlation-Id: 633a262b-1374-4a29-6788-08db20ba2486
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i8qal8hsbQTb1ri1eDCbhOrjpVfjqd7pY8YEow8lUywo2uUNpOR3GON67UwycPHCvM7DlLovc3GfEmcB4iC6Mh0q3OxxYw+JOExOt2oINjgmDDUj5n0O9zu3ZSYWL7SqzVj2dYP8M7NWDQA0j4/hka6IXx9ZxRpTChDdt5glnIxC4qhEVXRfnLY2gzcifH1vkCvFgGA3ennnYJ/+k8X02V9XIVVwOxaYb26wCXYo6O4UwNK9BQv/Q1EToX540sWr8GxIXDB01z+CoKP1MgYyhcJVo4DUl3YR8VMhWx7sbWEHxOqEI+y5vtALJOAsSjyBxPjztLY2QzmkKLXaAsa2h7jAs6Xp8QyZpMcXfY/EYiRi+owqBPt2bAI/fXdlMPzCyNrNQl799eus6ArBN3iTjDIek2g1CegMbmLhJKRa52STAMXqRp8pho5jEY6Befwe3lXZe0rrx11cGkWgkPl9CUsumqnDKVvqRPhfPKOwbQftJNbYrBHDT73EhEfh9xNptcFyPkM4h/8eBVF1eTPuGcHqWHQbx/p+999nRRSmdYQg1obkvsdmh9C019zt1SfAVUegjBD1UZaFw6SZRgccAr/+a/jot1AEJCp52zi41ckqj0vgIr+rbM3U6bc0YVotnBb2qp7jWdTH/5E1BM9EKLr7GiJNu6hdvaqkFy8OWUSqLAf3v9kRBFGjDD2fK55P
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5056.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(366004)(376002)(136003)(346002)(39860400002)(451199018)(8936002)(5660300002)(26005)(1076003)(6506007)(38350700002)(6666004)(38100700002)(83380400001)(186003)(2616005)(66476007)(86362001)(41300700001)(316002)(6916009)(4326008)(66556008)(66946007)(6486002)(6512007)(478600001)(52116002)(8676002)(2906002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?VLTehb24milUjHAjuohJWcwntfwxVHTp6RffmP4/UPAEJ5imhXHuDLkVaCBp?=
 =?us-ascii?Q?1t5Yp0rdLl1bUBQFbGlrj+tpqzy7QMUs5tXmP0lmDqiklxon6zHdH6i/T8ky?=
 =?us-ascii?Q?9iRnSJ6pVG9BocCT3kpbxWrKoXnpfOapxL8f3AWt/diaCIeHVwzbb6oqS2+C?=
 =?us-ascii?Q?xRsPi8Sm61ODU1EvLu0yke0/cy921aeQOHfWp6/iDc05LS8s52Fv3Tf08r7i?=
 =?us-ascii?Q?bB1Dsv+6k1SL2S5UriRQDWltTrR/lkR29Pmx+tVcMZ7ArZVoQFq+ucG8/cui?=
 =?us-ascii?Q?DqqYzsIqcKBgEizOO5fH/yKerflKLjqOfcV/q6mwGYEq3YUAZEDZhfbk58/s?=
 =?us-ascii?Q?50dI41SuHh6m/ieyAedXWLBwilAW+HsN2nsA2R/VurmZSPkWPNoczVAD86Hp?=
 =?us-ascii?Q?cbMEIU4MqcDDbIHDgKlksLI+xz+eM7CYJ4e/DbFNbqgJeKpKVYxonvFMii8V?=
 =?us-ascii?Q?bZai6DqUMoTr7HKr2Yo10nvaZ4fQrYhfZ1m0TV7thxRZs6pqu3EtELGJpVjg?=
 =?us-ascii?Q?+hpEJ5m7VU7GrzzeA7rbW8F4CvSxL52vk5/DrxKU86L7IDtIq009FndbcWoV?=
 =?us-ascii?Q?eqSY2roTbW11onzDxn8iS9EHYPMUPgwAio7M9t/A2O8861RnBp7g/06k5oLG?=
 =?us-ascii?Q?W8VEaYhc64Pq+YdjgEWXBTkChwWWooQzQ4/b1WSuM1ziQuu4/SbvOtRCRpWa?=
 =?us-ascii?Q?/Gz+6k7ltxyWVnJ3vE3hl/BOB9SDJxb3w15pwGM9uDCoesVg1oCbkUYwVtNe?=
 =?us-ascii?Q?HOcV6X0v8yV5Qn0uyYQbVtdu24oY3SQSVAhX2aqnPpXTze3Pq4AQXNEQatkj?=
 =?us-ascii?Q?lyLtTrDdcmPqE6YIoYsamk2b2/jysdu8t380rOrY+0+3s/gl57bPVCJHzDmS?=
 =?us-ascii?Q?ME1O1Jun2RL6fgKBYujF65VBmMxHhiYL+X4cBRLvOmI7u/tNCkRPJR3KbVYD?=
 =?us-ascii?Q?jgz+21u1UuL/TC0muEZu21RI9+EjCxgbrebg0lbYlJ6rGe4pjaPyIzpl++M0?=
 =?us-ascii?Q?10Na2QeTE+tSzzmrQOrDAdaDZFq/gBtM3udQHAZ5HDl1DpsewTMESCgIAQqM?=
 =?us-ascii?Q?a49iHuYwQq3UjUGKSweDmdYcgBWf85WXmhn1XpChSE1VZ7XWYtdTx2eCczkw?=
 =?us-ascii?Q?DE3dnLrKTAr1Ws4BKak6b051upGVdJGN0QlfBp7YXWJuPDx2IVzzV3GR8p48?=
 =?us-ascii?Q?oFeKEYPbHSdkx0mdyzJYkNy7JPVukJZW4Q7Q2D1mATCQFJxl/I+NI0cfOlLo?=
 =?us-ascii?Q?hPFw+T/ucobLvnC3nFQZOmJW2BmFFhcMQtZhA6Oave5qTMsBVxdg6zV8Tkxh?=
 =?us-ascii?Q?GoOT5tSXKLqRDP+S5SVDuflbU+rR7OguaRnQonWOmji8yUA3DpN/roM8qDNu?=
 =?us-ascii?Q?qB84YhIMy3GsXU8RNLwSY7pPOFG8CqhQhcZlscrw1LfxedPPK+fQ0KwywK8x?=
 =?us-ascii?Q?JUQzG+h6r3x7yuZPQHvnG8DlluGgDBvGi08zZ1E15xaUkoehLif46MPZRwtD?=
 =?us-ascii?Q?6s9b6odY5odj7xFAivg89I5iA1RQxsGU0EhyG8auiIA/lSYVmi7TJD8QFYtP?=
 =?us-ascii?Q?QDLs/EJ/EChpEpOBJlNlisvpE0CQJePmP7wtztJ6tyMmDWXLnN45fz46/8JJ?=
 =?us-ascii?Q?Zg=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 633a262b-1374-4a29-6788-08db20ba2486
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5056.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 16:20:05.3257
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +rh7lOoQndVzbgpYOnQqUM1lcpM3YcRKhujF7pPha1SzRJheRKKl72wpjTGgfkzOjysyhANeVY0q2g6xUCqrDRgYaKgz8gPxoVy0LsLMosg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7870

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Added support for parsing the ARM generic timer interrupts DT
node by the "interrupt-names" property, if it is available.

If not available, the usual parsing based on the expected
IRQ order is performed.

Also changed to treating returning 0 as an error case for the
platform_get_irq() calls, since it is not a valid PPI ID and
treating it as a valid case would only cause Xen to BUG() later,
during vgic_reserve_virq().

Added the "hyp-virt" PPI to the timer PPI list, even
though it's currently not in use. If the "hyp-virt" PPI is
not found, the hypervisor won't panic.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
---
 xen/arch/arm/include/asm/time.h |  3 ++-
 xen/arch/arm/time.c             | 27 +++++++++++++++++++++++----
 2 files changed, 25 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
index 4b401c1110..49ad8c1a6d 100644
--- a/xen/arch/arm/include/asm/time.h
+++ b/xen/arch/arm/include/asm/time.h
@@ -82,7 +82,8 @@ enum timer_ppi
     TIMER_PHYS_NONSECURE_PPI = 1,
     TIMER_VIRT_PPI = 2,
     TIMER_HYP_PPI = 3,
-    MAX_TIMER_PPI = 4,
+    TIMER_HYP_VIRT_PPI = 4,
+    MAX_TIMER_PPI = 5,
 };
 
 /*
diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index 433d7be909..868e03ecf6 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
 
 static unsigned int timer_irq[MAX_TIMER_PPI];
 
+static const char *timer_irq_names[MAX_TIMER_PPI] = {
+    [TIMER_PHYS_SECURE_PPI] = "sec-phys",
+    [TIMER_PHYS_NONSECURE_PPI] = "phys",
+    [TIMER_VIRT_PPI] = "virt",
+    [TIMER_HYP_PPI] = "hyp-phys",
+    [TIMER_HYP_VIRT_PPI] = "hyp-virt",
+};
+
 unsigned int timer_get_irq(enum timer_ppi ppi)
 {
     ASSERT(ppi >= TIMER_PHYS_SECURE_PPI && ppi < MAX_TIMER_PPI);
@@ -149,15 +157,26 @@ static void __init init_dt_xen_time(void)
 {
     int res;
     unsigned int i;
+    bool has_names;
+
+    has_names = dt_property_read_bool(timer, "interrupt-names");
 
     /* Retrieve all IRQs for the timer */
     for ( i = TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
     {
-        res = platform_get_irq(timer, i);
-
-        if ( res < 0 )
+        if ( has_names )
+            res = platform_get_irq_byname(timer, timer_irq_names[i]);
+        else
+            res = platform_get_irq(timer, i);
+
+        if ( res > 0 )
+            timer_irq[i] = res;
+        /*
+         * Do not panic if "hyp-virt" PPI is not found, since it's not
+         * currently used.
+         */
+        else if ( i != TIMER_HYP_VIRT_PPI )
             panic("Timer: Unable to retrieve IRQ %u from the device tree\n", i);
-        timer_irq[i] = res;
     }
 }
 
-- 
2.35.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 16:58:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 16:58:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508339.782941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paJbG-0002Na-Rd; Thu, 09 Mar 2023 16:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508339.782941; Thu, 09 Mar 2023 16: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 1paJbG-0002NT-Oe; Thu, 09 Mar 2023 16:58:42 +0000
Received: by outflank-mailman (input) for mailman id 508339;
 Thu, 09 Mar 2023 16:58: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=3aQQ=7B=citrix.com=prvs=4252f21a9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1paJbG-0002NN-4s
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 16:58:42 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a15e4169-be9b-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 17:58:38 +0100 (CET)
Received: from mail-dm6nam10lp2103.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.103])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Mar 2023 11:58:25 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ2PR03MB7139.namprd03.prod.outlook.com (2603:10b6:a03:4f4::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Thu, 9 Mar
 2023 16:58:22 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 16:58: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: a15e4169-be9b-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678381118;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=ObuqeZICaigPS5SumpsstAZ2paEcuG/UW2ho5Wqi+A8=;
  b=LOM6P/nlyN3yS/gzlTsr7aIud99EAvdx6auX75dOQlbulIWzetaGSowC
   +8IrNIHWf+LiXf7W3TfvUXlZl05i/7FTDMNhaCoRBwWvJC/Pu6dbQ2MZn
   m3Bs2l0ORrl0Yc01keG+knyD88pP0nHMTnW+mFFf/lD7oD8OreOGbiDRO
   k=;
X-IronPort-RemoteIP: 104.47.58.103
X-IronPort-MID: 102619478
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:nt5bgq2sSpzZjF3phPbD5cZwkn2cJEfYwER7XKvMYLTBsI5bpzQHy
 DAZC27VM//fYmvxfYt3aIW+8k4D6pXWx4BmTQtrpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdmNKgQ1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfXDEQ/
 KMxdj0xdyub19228peBZfRBiZF2RCXrFNt3VnBI6xj8VK5jbbWdBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqsy6KlFcZPLvFabI5fvSQQspYhACAr
 3/u9GXlGBAKcteYzFJp91r13rWRxHKnB9J6+LuQrfFpp0fI4HMqAzZIEku2+emg0H+0cocKQ
 6AT0m90xUQoz2S7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsZiFFQMwrsokxXzNC6
 7OSt9bgBDgqvLjLT3uYr++QtWnrYXNTKnIebygZSwdD+8PkvIw4khPISJBkDbKxidr2Xzr3x
 lhmsRQDulnatuZTv43TwLwNq2nESkThJuLt2jjqYw==
IronPort-HdrOrdr: A9a23:eNR8A6PxF1GSHMBcT4D155DYdb4zR+YMi2TDGXoBMyC9E/bo6v
 xG+c516faaskd2ZJgfo6HMBEDtewK6yXcx2/h0AV9NNDOW8VdBAulZnMDfKhfbalrDHtc079
 YpT0CVYOeAR2SS9PyKljVQcOxQouVvkprY/Ns2lE0dOT2CApsIh2wSZ2qm/1VNNXV77NgCZf
 +hD+V81nadkB8sH7yG7xc+LpP+TxyiruOVXffEPX8aAcu14w9AJISbL/AWti1uJg+nCI1Skl
 TtokjC/62mhfmw1x/b0Abonudrseqk8MJKAPqGgtN9EEScti+YIL55U7m1pzwtpvqzgWxa4O
 XkklMbJsx23WnaeHq4yCGdpTXI4XIV8nfn/0WTh2Dul8z/WVsBerV8ub4=
X-IronPort-AV: E=Sophos;i="5.98,247,1673931600"; 
   d="scan'208";a="102619478"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b4xLNReKfA0OkpVWGxzsFE8BaHwm8DMRFeEDuUjdMqmmdsC/udo29Qs4XdF6HjeSQDONO2bvuqnANqQtmP/m664NICGvghwUE6uxe116L3D9THFQ2rHYCeZYPFtNM0ceUrNULRnB4GmEIy6T+i8gA7uRs3j1AEs5Tm4dq1+LPx7vASw2qKPQLQ0zYdZtjIx6923xRpoRiCC+V/cNStxJYATUlF48X3KuXY4zfnI6FMRD6hGH6SxWtfmURf2PUBJ/y+Ztn3J9DAkcrbV3AobQoYq75Ul/R7eZZVkOFG6IWKwHddB06LMUhqZJmTjgWIaLRyblaIyurfGTUu4w+kPR5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hNHbpjp0Ld0UShtinjWl6AvB/2PZfWRDtntaADSGqqE=;
 b=G2gUS4EJNDwVbjLoznXet3fIwd/YsbDYoSa3KDSMy8cPiJAJvLC+ggCJW7ftRi50jkYNv4xpvkZAdrY4fOiPp/sdH8TSzoaFVb0k8UFQS5VJkzSa2R2qRXbTD+6IlzxniNAKJJj9arKNh5hHfD6mGSQXTEYt8V+6FcHoJmzQrZbesWfNwTaW0BK7YR0maVTaKTTTNADHMbSzjrLB/u0n4ozsr0ETXuXJDqCmPocFo2NVmTNwjin3QmY4iKjCkLPWrcG+5GGzVcr7Q4yfihsp0xPNtpud1uwuMZ4ED6ACA0WeH+bk7xP+BF81rDrJXloKY24CBz+QwYGOQSSg3O3zEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hNHbpjp0Ld0UShtinjWl6AvB/2PZfWRDtntaADSGqqE=;
 b=e4B2tfEfwkv6aIMXBSbxtQ/RmJKM3ofb0JeQx2hfvtE6rYBKk2hcEQvUn85o+5SaqVL4Rx5Nq60G5kE6ppyxNlqM5wX3kWDNvC50CvmZZq8GKyi8n+qOSVZ6LcD1Bm/dorcACCFWUwg5LBsqNIt1FMcQCtVHq+goCix7moDgOFo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH] tests/vpci: install test
Date: Thu,  9 Mar 2023 17:58:12 +0100
Message-Id: <20230309165812.33918-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.39.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0001.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:a6::13) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ2PR03MB7139:EE_
X-MS-Office365-Filtering-Correlation-Id: 944e9d62-1fe0-4dce-ee94-08db20bf7d47
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5A5H93R+Elu5lALWsuILbuPAjkEUI2e5m9YEMiMrd91N8Ghferdc31u9EJmBzRD4+KvzVFtTI2w4ZYw4dIokvV7l+c5uxrB4DFJs5Ods/wNMXB0HKu4wfzZP53bdJwLpEVIljM9xIyBRx5AsgKuMGz3bWTZPed7OkzMsNJCHf+BMU2iPl8rK9bGugqvSHc6ks9005+7AxUhQ2XaQ6BL4cxYQPY76JqipVLggwvGK80vw+2UrkHkbtcVePKEETk7AC0PYrRqSo02lxXT/q72l1ilmzndnMEVrJKLXnU3EzktvKxuu5Adz+vDKIVTnzKFvDO3WY6ep+wJ69nglPe0PrKgW9o+9CpykOXAzIRdBfL1q2YFxazXo5/p1P337mbpw6YaNUh4n90qzEyxF6nFyggkolqSpmNh76DjqmyL7JWV9zaOBTVDgLECBYv+CC3XRH+8acUiKIuWZC8OJjJhCTzI+1D35CwthafBebWiNy3qM6K7xfQW2y0FzqzvzBhmuoxoCPXIA5CD6gHtZyTKNt/wAVju9xvTjzt73Q+nSXlDWgLyYpUzNdV23zghREFgjAPo7s6PAVOoEbK5LVNBqZrn9NfwZYlrI0m/IMPEruDOgQNO+qjaqgKNLMLv+QNbW1U7MuCEkHPvlYLoP5aLj4w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(346002)(39860400002)(376002)(136003)(396003)(451199018)(316002)(66899018)(54906003)(478600001)(82960400001)(6486002)(38100700002)(6512007)(186003)(1076003)(26005)(66476007)(6506007)(66556008)(4326008)(6916009)(8676002)(66946007)(107886003)(6666004)(2906002)(86362001)(41300700001)(36756003)(2616005)(8936002)(5660300002)(83380400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?allCKzZ6dk1aSTJGcnU5VEVhcVhOcEplazg4WmE5dGY4aGc0TE00THhjdkQ2?=
 =?utf-8?B?WmJERmZGcTYydm9ONjA3WmtKcGxjOHUzQUNDb3BmQS9POG9HYVprcFJUVUo0?=
 =?utf-8?B?TStXeXczZjU1Mld3TzJ2V2F6bHFPbzV1SjR5TzdTRFY3UXZEY29iMk1LSVN2?=
 =?utf-8?B?cENiaC9vRjN6V2NkbmI1WXlmNUZuS0VCdk9mWXFmS1dkeXpIakNERjlSUzJB?=
 =?utf-8?B?UmRDZnBTVXh6NDFXcVNUaW54VDZSdHVTTjB2b0htaEFLSk53TlllMHNWTzgx?=
 =?utf-8?B?bG1sM29GS3FYdkhzSU40ZUd1QXl1L3RHMHVXMmxIZjBSdXBxVEQ1MkQ1bWE1?=
 =?utf-8?B?aG5vdytSZG9IRG5IOHp6bjNUaXRXZU5wK28vK3RHZTFuYzd3MlI1UjRnQUh2?=
 =?utf-8?B?WEkyb21pSFV5ZzVVRUQ3QVg5NXUvUWdKbkRMaitESHVkSGlsSGQwSzRKRzNl?=
 =?utf-8?B?RzdCZ3RtRnlucklPQ0N3RmRkTnpqTi9leGhoaGVQZ0FXa2xGZWpMTk85bDFT?=
 =?utf-8?B?cHhxV1ZVcWVIdnFyall0bXZ2K2poV09ib1VBN0p2VnRSeGhlNkRJMmxhN1dS?=
 =?utf-8?B?SlJ6U0VodFErZitheDFVeU1RY0s3KzM2cHcxK0d1WHloaGh3OGYzUTZDWTEv?=
 =?utf-8?B?UlRUdFAzU0tWdTRJQnVVSkxGVm9UdjFSeDdiR2dOZmhOcFFmYTltZ0tJa3Vu?=
 =?utf-8?B?RW15ZVlnQTIvUG5tSUJoNzAvUzVKN2J1Q0ZyYXFURzhiL2p3MlhIQVhqcTNy?=
 =?utf-8?B?MVZuR281aUo1OWVqbWp0bkdvNnJUaDRZdDllMnB0M1VBeFkxbFlVUWdvMzJQ?=
 =?utf-8?B?azJqdzBoRW9uOXlRdzNmZjNZcVV3c3N4RjJqRFJLRmJtSXhKMFRCaUNQd2ZQ?=
 =?utf-8?B?UWZtU1lUNkFLNmJ4SzZ1dnFvd1YzdU16ZlhvRXE5Q0ZWaXJqZVdJQ1NJc21Y?=
 =?utf-8?B?cUt3TnprUVZ6RjFxU3p5czlWbnhBYVhMVHpYUmNha21paTUvcDRuaGR4V0Jh?=
 =?utf-8?B?WmZ5eEhaWHJTWFJMZk8wTmtyMXZ6ZUtzUXFIcEMvQ3I5QktKMGpFNVJsVDd3?=
 =?utf-8?B?eW1XV2R5Q09xODBDcUNXOGxzeEtGcWZkc3FuTTI1UGNIL01iTlB1Z1FXanZF?=
 =?utf-8?B?SWMvZnZHYmhTSTlZUnNYSUcwMzA1RXBXZnNXSGdJUmNFcDg1VWMrUUdtR1cr?=
 =?utf-8?B?YTd4Y3dFcUkrUjg2eVpDdkdWR2drWU1UaEMzNEZVNWJzYUJMVk91U2JENG8z?=
 =?utf-8?B?Q2VkbFdweFVibDhjVXRvSXZGdXByRUswdjUyS080UXh6VGF2MmtBRy9uangy?=
 =?utf-8?B?YmkzVmdNVDd2Z01oWWVibHR5NHl1MlZ6SlNPTlB3Q2xLeFF3UzVCOFQyYkV0?=
 =?utf-8?B?R0FRdi9ma0FnNi9hUSsyRzlRNGVONlQvalNLVER4eUtGZjdvd0JnWmRxOHF1?=
 =?utf-8?B?Ry91bU9ycHFBZ0VGVFVBWmgrakswcHV2YWhsVE9JZXVUUVNUR0FHcFdhcUFZ?=
 =?utf-8?B?ZlR1TlAzMkZlWXBPTGxqcTVVWlBLdGVnTHNKVzJXalVjV0M4TWR6RVFjUTFv?=
 =?utf-8?B?eDk1Z08vMWlNVGxRNXFtd0hWTEluUjZZV2dlNzVOZDJxNlorbzBlYUh0bEhk?=
 =?utf-8?B?eFg0bUpsOStHYlNTRHk1NGQ3ak42a1NobkpDdmRlZkNWRVZPY3lGOXFvcmQ2?=
 =?utf-8?B?dXg3MlA0UENkeFhwaWplSGd6NnY4SWlqWmtuejcyRzNIUWNCUDNPZStkd1FM?=
 =?utf-8?B?NlFKbjlTdlA2b3A3VUh3MWdlWXpMY2d2TkpPMVc3MDlpY3pxVlZpM0xQZldy?=
 =?utf-8?B?RFJpR0lJa3RCbUlVZEFONTQ0bXp2SWI1Nm84bEFaR3Q0NWh4NEFmT0JpWGVW?=
 =?utf-8?B?dURLZTd0TFMwNS8za21aUWlZSnN6bXBGdFB4b1E5cy9yam9MV3IxMGFkemhl?=
 =?utf-8?B?QkpNdHRFRjZvZGFDbVhmS1BMdXFUOWhhUjFseS94MDNGMjhkYnVJdlNhZTZ0?=
 =?utf-8?B?TGVXZGlNSW1CNTkrK0xjS0NQR0ZxTGpsc28rdHZZTVAycXViS3U0ZDJHSTBZ?=
 =?utf-8?B?Z2hUV2FXRkJaZ2tmN0VrVWQ3SjBXUmFZWnV4NWZkL0Y2UnpZM2FIdDR5STYv?=
 =?utf-8?Q?ib0eFIRZrM+JZ52xniYxy+thI?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	7bJY+TC4ONwaLz07CZT54F3HBGFWiHURRPtnFyWXz9bpLMQs3dq1Gae3/BCR4dSMaxrSsdCWy/FBfa6qvrDdVmrIvGdDRIEEnCDHH54oXWnFDxE8UD4JknidynJ+Hv7V7YPwiD3ptHqi5z90E8Q+vvGWJ6AtXeQGFdu6YUQgBVdsc/jyvDA/5Lhu50B4e6CCcZZgvgd0JUnoMUQ6sBNzPI8Tii0p5D1+FpgAAHPrgID01MLuMzx0wTjasDSh524FJL/U/ERJK9Jklm0qH4OWx9EYQUwW8i9s1wGBN0O/n84DbcPWrb5tKwSg4Hhps2/yRRHhN5jHtCb52w4NVJPlmB8EAJwxQIPyftOMt8MNCANEZsL+owqU6j3wp3tBs/NX4iHJf2H1yFfPCjvOS+Ogt7AhKdWKXaVwznoQGg0kgWqm5EjP4kUGgtQIKeqSBUtOkrl4Q+T5THCYXmtK4e6YEUOI5N89AqULLi5a4dvB1topzuZ6Y3bt2cKo6FK9WVGAc33kIrQO3/JKYT5CS68QpewaucZ5RgzVEM0SeSrvwQFbVoB180VvGHEP2VJD87fL6k6UVLoVx1o1qvFJAeL2ymeIGqvQyMkqJpO6YdBX806lzaih90shS7FT0IsFYzL6z8uA5ZEdBXmPkwTa0kp5y0RujWHkiPC6YoJi8wF0sXRYtM3ZxWHP52SFus9eiFqNMLpzdEzddU0HtCANHAX/aty330292HjXqawb3kYKLvupzgOkUjwtswzANcp+W341JLlIQQw5CkubCb0zEf3K6IuQdnZzBF3ubBp82eleNoc=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 944e9d62-1fe0-4dce-ee94-08db20bf7d47
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 16:58:21.9358
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uzJ/nbrfhDmK4DBmqk53iyyuXbLAn26NlLTqPUr4zskQOpCocd/0tASi3njUQ8EgHYJPF/jF9m0nO4XRND7eeA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7139

Introduce an install target, like it's used by other tests.  This
allows running the test on the installed systems, which is easier than
running it during the build phase when dealing with automated testing.
Strictly speaking the vpci test doesn't require to be run on a Xen
host currently, but that allows easier integration with logic that
runs the rest of the tests.

While there also adjust the makefile to use $(RM), and rename the
resulting binary to use a dash instead of an underscore (again to
match the rest of the tests).

Since the resulting test binary is now part of the distribution CC
must be used instead of HOSTCC.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
XenRT has recently gained the ability to run the tests in tools/tests
that are installed, so the install target is needed for that use-case.
---
 tools/tests/vpci/Makefile | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/tools/tests/vpci/Makefile b/tools/tests/vpci/Makefile
index 5075bc2be2..3b85b689d3 100644
--- a/tools/tests/vpci/Makefile
+++ b/tools/tests/vpci/Makefile
@@ -1,7 +1,7 @@
 XEN_ROOT=$(CURDIR)/../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-TARGET := test_vpci
+TARGET := test-vpci
 
 .PHONY: all
 all: $(TARGET)
@@ -11,17 +11,23 @@ run: $(TARGET)
 	./$(TARGET)
 
 $(TARGET): vpci.c vpci.h list.h main.c emul.h
-	$(HOSTCC) -g -o $@ vpci.c main.c
+	$(CC) -o $@ vpci.c main.c
 
 .PHONY: clean
 clean:
-	rm -rf $(TARGET) *.o *~ vpci.h vpci.c list.h
+	$(RM) -- $(TARGET) *.o *~ vpci.h vpci.c list.h
 
 .PHONY: distclean
 distclean: clean
 
 .PHONY: install
-install:
+install: all
+	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+	$(INSTALL_PROG) $(TARGET) $(DESTDIR)$(LIBEXEC_BIN)
+
+.PHONY: uninstall
+uninstall:
+	$(RM) -- $(DESTDIR)$(LIBEXEC_BIN)/$(TARGET)
 
 vpci.c: $(XEN_ROOT)/xen/drivers/vpci/vpci.c
 	# Remove includes and add the test harness header
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 18:38:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 18:38:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508345.782959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paL9E-0006oY-3m; Thu, 09 Mar 2023 18:37:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508345.782959; Thu, 09 Mar 2023 18: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 1paL9E-0006oR-1E; Thu, 09 Mar 2023 18:37:52 +0000
Received: by outflank-mailman (input) for mailman id 508345;
 Thu, 09 Mar 2023 18: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 1paL9C-0006oH-VK; Thu, 09 Mar 2023 18:37:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1paL9C-00025z-SO; Thu, 09 Mar 2023 18:37:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1paL9C-0002BO-BH; Thu, 09 Mar 2023 18:37:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1paL9C-0004fQ-AR; Thu, 09 Mar 2023 18:37: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=lGvE1G14S+Sj4pYZ4L9WPjeuHSU2J0SvFl9pMhDwobs=; b=ERMskaa8FHDf4+vxAyNny7uRZj
	JDS5cokVDyqHTxWI56ecXFjhPbN7VRzDDsAEQSI0leNp6sSpqikJlTnYuhzX8Aq34eAXprcMULY1N
	YJXLiVtgzWNw9kE9XE3qkSE3hM8lNFNaIhkQAoiGxuBXkSSKBXw8/50N09WctnoWeDZ8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179516-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179516: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:nested-setup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore.2:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2: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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=6a98c9cae232800c319ed69e1063480d31430887
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 09 Mar 2023 18:37:50 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 18 guest-localmigrate      fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 16 guest-saverestore fail in 179511 REGR. vs. 178042
 test-amd64-amd64-xl-pvshim 18 guest-localmigrate fail in 179511 REGR. vs. 178042
 test-amd64-amd64-xl-shadow 18 guest-localmigrate fail in 179511 REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 19 guest-saverestore.2 fail in 179511 REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 17 guest-saverestore fail in 179511 REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2 fail in 179511 REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail in 179511 REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop     fail in 179511 REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 13 nested-setup fail in 179511 REGR. vs. 178042
 test-arm64-arm64-xl-xsm 18 guest-start/debian.repeat fail in 179511 REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 179511 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit1 18 guest-localmigrate fail in 179511 pass in 179516
 test-amd64-amd64-xl-xsm      14 guest-start      fail in 179511 pass in 179516
 test-amd64-amd64-libvirt-pair 25 guest-start/debian fail in 179511 pass in 179516
 test-arm64-arm64-xl-thunderx 14 guest-start      fail in 179511 pass in 179516
 test-amd64-amd64-xl-multivcpu 14 guest-start     fail in 179511 pass in 179516
 test-amd64-amd64-freebsd12-amd64 13 guest-start            fail pass in 179511
 test-amd64-amd64-xl-shadow   14 guest-start                fail pass in 179511
 test-amd64-amd64-xl-pvshim   14 guest-start                fail pass in 179511
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start             fail pass in 179511
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start             fail pass in 179511
 test-amd64-amd64-libvirt-xsm 14 guest-start                fail pass in 179511
 test-amd64-amd64-xl-credit2  19 guest-saverestore.2        fail pass in 179511
 test-arm64-arm64-xl-xsm      14 guest-start                fail pass in 179511
 test-arm64-arm64-xl-credit2  14 guest-start                fail pass in 179511
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 17 guest-saverestore.2 fail pass in 179511
 test-amd64-amd64-xl-rtds     14 guest-start                fail pass in 179511
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install    fail pass in 179511

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds 22 guest-start/debian.repeat fail in 179511 REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check fail in 179511 never pass
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 179511 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 179511 never pass
 test-arm64-arm64-xl-credit2 15 migrate-support-check fail in 179511 never pass
 test-arm64-arm64-xl-credit2 16 saverestore-support-check fail in 179511 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                6a98c9cae232800c319ed69e1063480d31430887
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   16 days
Failing since        178093  2023-02-22 05:02:47 Z   15 days   32 attempts
Testing same since   179511  2023-03-08 21:41:25 Z    0 days    2 attempts

------------------------------------------------------------
2050 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 20:11:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 20:11:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508353.782973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paMbS-0003A1-Ee; Thu, 09 Mar 2023 20:11:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508353.782973; Thu, 09 Mar 2023 20:11: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 1paMbS-00039u-9I; Thu, 09 Mar 2023 20:11:06 +0000
Received: by outflank-mailman (input) for mailman id 508353;
 Thu, 09 Mar 2023 19:34: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=mVQW=7B=web.de=tachyon_gun@srs-se1.protection.inumbo.net>)
 id 1paM24-0006en-19
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 19:34:32 +0000
Received: from mout.web.de (mout.web.de [212.227.17.12])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 687230c3-beb1-11ed-87f5-c1b5be75604c;
 Thu, 09 Mar 2023 20:34:29 +0100 (CET)
Received: from [92.76.123.40] ([92.76.123.40]) by web-mail.web.de
 (3c-app-webde-bap36.server.lan [172.19.172.36]) (via HTTP); Thu, 9 Mar 2023
 20:34:28 +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: 687230c3-beb1-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
	t=1678390468; i=tachyon_gun@web.de;
	bh=LZgbt2b26yDBi7kPMeW7LM5bpHl4P+7AhIR1DY8HQZ4=;
	h=X-UI-Sender-Class:From:To:Subject:Date;
	b=QKDici3Xx01rwa5Ri3sPvnG4AxeIm1QqRuXZ84vDhVF7VzpIjhCJi1ZuEC4Q2mIYm
	 jOpoMI0Yj7kLaqHLwz/9d66O8WzLMeGCl6FnLZ5cRafyVQSd3ag5kR+k+frVzwpwc9
	 ciNISjtzn9dHBtnEEAvudsjpRd5imdh5UGBw3KZckfg2wt0fguZFlmxblmE7NqORIO
	 xXvkRMuX8Rla5K/dSJJo5mH684t2UCz6v+2YVAZK53C9A03seS/TbVu7R04fXnoKqI
	 5vQW1tafD1PuiEXq6TrByyd04HuAbl5CXAVf8uLDrhSU3lolYEYzqfokiOnlkUvZ6X
	 WYqCDzZhJKZbg==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
MIME-Version: 1.0
Message-ID: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
From: tachyon_gun@web.de
To: xen-devel@lists.xenproject.org
Subject: [help] Xen 4.14.5 on Devuan 4.0 Chimaera
Content-Type: multipart/mixed;
 boundary=trekuen-ab685f02-5785-4d56-a853-463f105083b0
Date: Thu, 9 Mar 2023 20:34:28 +0100
Importance: normal
Sensitivity: Normal
X-Priority: 3
X-Provags-ID: V03:K1:YuZX1FcAraMmB/HMYILTapfyV4VmJ4EebLp9SI7dt8SlwFea9+XnumUGkjl8ny5nly5SU
 8R1MY4HwbQINIuUR6RiNoIX637poXU9uHUZAAUDJ6FhB1ZoecvEL+UfkdumF7XiaPTmIjgUUtD2p
 nDRuDaJqguMp+lt+ayBFXOdxWbztcpUxqdlmyHt//hi7GLR+UHFx1l+n1RRh6aiuB7pleRPc8Civ
 X+8131F0UJQhZ46BsASmhlxUY24X5saXgSGmNiXnMO56kSk07asLqIud1Zhw+IN4JFBr6IfdVjCE
 0w=
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:N/dOXG6r1IU=;SIVb6zGIcb73R9fSELMZYLTqIk6
 Y3zdd6MA0YCGf2h88qVyz1IptoooXHuqwbxkWFbw5aw7mx+MwtfIz58E8/aEufZa2E8mEBcfj
 0mzGk3tlsToyMEMyUXX6Nx/pTDiZsgGoRkOREH7WInG5uIRtlUsQ5gYbpZUOCWyPDD4W7R0Lb
 5CcuLDKM+LyD/jQ4ljQTWGxAfULVHGzvqqpSm+qu5Ib82x39kP84XGykdxPMlNGhQfUUHtB4Q
 INTuWKhM371oTfwZnHgAOmhcOF/QioPSelQkAqwBGoHDvZazf5Obl1u5BAp8hVFfRW4MxO172
 d5Oy3Pi0G7lBrykl+aHhyJ4wBlB2kgVz+LoXJb9EsHNmhCPZE3TTZxK/6IliZrNhRCcCV59xg
 qqYB0glWrBNVhJ6iFhKPXb0joYjitBgQ6xBZdp2oX00snL3awZNG8o5ZqpWU5W1v3xO+1M/VH
 USPllwZO8dBWbp1e93wGMd+rziiWpito+7ga6Hd8iF1ddYsxT9mYZVoF71r0EgZiI1kPiT6ZK
 41r/VLCRLk11OeLzcWQQr15ybTP2PYlsegFclZOdL2fOHvJw47LWOpOSNAUzmCaqRE+a5PwDT
 QmVoZWN8zM9NsILUhFbXTmqwiczTh/Ej3RVZTk7MbGxTPHtOg8fRmu6cEcr+rbXnKoT3LZwv7
 eUoa568wo2Vq6ns6z68m9burZW2k1bkSeeXB4fHlkzfcgsCzoSob6B+SfZSZvpEK92GEHbIMK
 sDMzYbpIMyn+fRknUEBokoHgA0gOA57t3Qat9DcmB9O6GejRuXECeSKjrqspuazqp+ISI95UH
 f512bDw64csaT2Ybibxhn5oYq70uJ4aZGKc/jga9PSGPY=

--trekuen-ab685f02-5785-4d56-a853-463f105083b0
Content-Type: text/html; charset=UTF-8

<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>Hello.<br/>
<br/>
Following the advice of Andrew Cooper (thanks for helping out) over on OFTC.net in #xen, I&#39;ll post this here.<br/>
If this is the wrong place, please move it to the right section of your mailing lists.</div>

<div>&nbsp;</div>

<div>I got some problems running Xen 4.14.5 on Devuan 4.0.</div>

<div>&nbsp;</div>

<div>The&nbsp;AMD-Vi and I/O virtualisation are&nbsp;not being enabled when booting up the host system with Xen.</div>

<div>&nbsp;</div>

<div>Hardware used:</div>

<div>Mainboard: Gigabyte GA-890FXA-UD5, BIOS&nbsp;version F6 (2010.11.24, the latest version)</div>

<div>CPU:&nbsp;AMD Phenom&nbsp;II X4 910e</div>

<div>Memory: 16GB</div>

<div>Storage: 2TB Crucial MX500</div>

<div>&nbsp;</div>

<div>A short snippet of what I see when invoking &quot;xl dmesg&quot;:</div>

<div>&nbsp;</div>

<div>(XEN) No southbridge IO-APIC found in IVRS table<br/>
(XEN) AMD-Vi: Error initialization<br/>
(XEN) I/O virtualisation disabled&nbsp;</div>

<div>&nbsp;</div>

<div>What I would like to see (taken from Xen&nbsp;4.0.1 running on Debian Squeeze, in use since 2011):</div>

<div>&nbsp;</div>

<div>(XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23<br/>
(XEN) Enabling APIC mode: &nbsp;Flat. &nbsp;Using 1 I/O APICs<br/>
(XEN) Using scheduler: SMP Credit Scheduler (credit)<br/>
(XEN) Detected 2611.936 MHz processor.<br/>
(XEN) Initing memory sharing.<br/>
(XEN) HVM: ASIDs enabled.<br/>
(XEN) HVM: SVM enabled<br/>
(XEN) HVM: Hardware Assisted Paging detected.<br/>
(XEN) AMD-Vi: IOMMU 0 Enabled.<br/>
(XEN) I/O virtualisation enabled</div>

<div>&nbsp;</div>

<div>My question would be if this is&nbsp;&quot;normal&quot; behaviour due to older hardware being used with newer versions of Xen (compared to the old 4.0.1) or if this is&nbsp;a bug.</div>

<div>If the latter, has this been addressed already in newer version (4.14+)?</div>

<div>&nbsp;</div>

<div>I&#39;ll attach some log files (hypervisor.log, dom0.log, xl_info.log, lspci_vvv.log, acpi.dmp, ivrs.dat, ivrs.dsl).</div>

<div>&nbsp;</div>

<div>Thank you for your time.</div>

<div>&nbsp;</div>

<div>Kind regards,&nbsp;</div>

<div>Denis</div></div></body></html>
--trekuen-ab685f02-5785-4d56-a853-463f105083b0
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=acpi.dmp
Content-Transfer-Encoding: quoted-printable

SSDT @ 0x0000000000000000
    0000: 53 53 44 54 8C 08 00 00 01 10 50 54 4C 54 44 20  SSDT......PTLTD
    0010: 50 4F 57 45 52 4E 4F 57 01 00 00 00 20 4C 54 50  POWERNOW.... LT=
P
    0020: 01 00 00 00 10 49 21 5C 2E 5F 50 52 5F 43 30 30  .....I!\._PR_C0=
0
    0030: 30 08 5F 50 43 54 12 2C 02 11 14 0A 11 82 0C 00  0._PCT.,.......=
.
    0040: 7F 40 00 00 62 00 01 C0 00 00 00 00 79 00 11 14  .@..b.......y..=
.
    0050: 0A 11 82 0C 00 7F 40 00 00 00 00 00 00 00 00 00  ......@........=
.
    0060: 00 79 00 08 5F 50 53 53 12 47 08 04 12 20 06 0C  .y.._PSS.G... .=
.
    0070: 28 0A 00 00 0C 2A 3F 00 00 0C 04 00 00 00 0C 04  (....*?........=
.
    0080: 00 00 00 0C 00 00 00 00 0C 00 00 00 00 12 20 06  .............. =
.
    0090: 0C 6C 07 00 00 0C C3 32 00 00 0C 04 00 00 00 0C  .l.....2.......=
.
    00A0: 04 00 00 00 0C 01 00 00 00 0C 01 00 00 00 12 20  ...............
    00B0: 06 0C 78 05 00 00 0C 8A 2A 00 00 0C 04 00 00 00  ..x.....*......=
.
    00C0: 0C 04 00 00 00 0C 02 00 00 00 0C 02 00 00 00 12  ...............=
.
    00D0: 20 06 0C 20 03 00 00 0C D3 18 00 00 0C 04 00 00   .. ...........=
.
    00E0: 00 0C 04 00 00 00 0C 03 00 00 00 0C 03 00 00 00  ...............=
.
    00F0: 08 58 50 53 53 12 43 12 04 12 47 04 08 0C 28 0A  .XPSS.C...G...(=
.
    0100: 00 00 0C 2A 3F 00 00 0C 04 00 00 00 0C 04 00 00  ...*?..........=
.
    0110: 00 11 0B 0A 08 00 00 00 00 00 00 00 00 11 0B 0A  ...............=
.
    0120: 08 00 00 00 00 00 00 00 00 11 0B 0A 08 00 00 00  ...............=
.
    0130: 00 00 00 00 00 11 0B 0A 08 00 00 00 00 00 00 00  ...............=
.
    0140: 00 12 47 04 08 0C 6C 07 00 00 0C C3 32 00 00 0C  ..G...l.....2..=
.
    0150: 04 00 00 00 0C 04 00 00 00 11 0B 0A 08 01 00 00  ...............=
.
    0160: 00 00 00 00 00 11 0B 0A 08 00 00 00 00 00 00 00  ...............=
.
    0170: 00 11 0B 0A 08 00 00 00 00 00 00 00 00 11 0B 0A  ...............=
.
    0180: 08 00 00 00 00 00 00 00 00 12 47 04 08 0C 78 05  ..........G...x=
.
    0190: 00 00 0C 8A 2A 00 00 0C 04 00 00 00 0C 04 00 00  ....*..........=
.
    01A0: 00 11 0B 0A 08 02 00 00 00 00 00 00 00 11 0B 0A  ...............=
.
    01B0: 08 00 00 00 00 00 00 00 00 11 0B 0A 08 00 00 00  ...............=
.
    01C0: 00 00 00 00 00 11 0B 0A 08 00 00 00 00 00 00 00  ...............=
.
    01D0: 00 12 47 04 08 0C 20 03 00 00 0C D3 18 00 00 0C  ..G... ........=
.
    01E0: 04 00 00 00 0C 04 00 00 00 11 0B 0A 08 03 00 00  ...............=
.
    01F0: 00 00 00 00 00 11 0B 0A 08 00 00 00 00 00 00 00  ...............=
.
    0200: 00 11 0B 0A 08 00 00 00 00 00 00 00 00 11 0B 0A  ...............=
.
    0210: 08 00 00 00 00 00 00 00 00 08 5F 50 53 44 12 18  .........._PSD.=
.
    0220: 01 12 15 05 0A 05 0A 00 0C 00 00 00 00 0C FC 00  ...............=
.
    0230: 00 00 0C 04 00 00 00 08 5F 50 50 43 0A 00 10 49  ........_PPC...=
I
    0240: 21 5C 2E 5F 50 52 5F 43 30 30 31 08 5F 50 43 54  !\._PR_C001._PC=
T
    0250: 12 2C 02 11 14 0A 11 82 0C 00 7F 40 00 00 62 00  .,.........@..b=
.
    0260: 01 C0 00 00 00 00 79 00 11 14 0A 11 82 0C 00 7F  ......y........=
.
    0270: 40 00 00 00 00 00 00 00 00 00 00 79 00 08 5F 50  @..........y.._=
P
    0280: 53 53 12 47 08 04 12 20 06 0C 28 0A 00 00 0C 2A  SS.G... ..(....=
*
    0290: 3F 00 00 0C 04 00 00 00 0C 04 00 00 00 0C 00 00  ?..............=
.
    02A0: 00 00 0C 00 00 00 00 12 20 06 0C 6C 07 00 00 0C  ........ ..l...=
.
    02B0: C3 32 00 00 0C 04 00 00 00 0C 04 00 00 00 0C 01  .2.............=
.
    02C0: 00 00 00 0C 01 00 00 00 12 20 06 0C 78 05 00 00  ......... ..x..=
.
    02D0: 0C 8A 2A 00 00 0C 04 00 00 00 0C 04 00 00 00 0C  ..*............=
.
    02E0: 02 00 00 00 0C 02 00 00 00 12 20 06 0C 20 03 00  .......... .. .=
.
    02F0: 00 0C D3 18 00 00 0C 04 00 00 00 0C 04 00 00 00  ...............=
.
    0300: 0C 03 00 00 00 0C 03 00 00 00 08 58 50 53 53 12  ...........XPSS=
.
    0310: 43 12 04 12 47 04 08 0C 28 0A 00 00 0C 2A 3F 00  C...G...(....*?=
.
    0320: 00 0C 04 00 00 00 0C 04 00 00 00 11 0B 0A 08 00  ...............=
.
    0330: 00 00 00 00 00 00 00 11 0B 0A 08 00 00 00 00 00  ...............=
.
    0340: 00 00 00 11 0B 0A 08 00 00 00 00 00 00 00 00 11  ...............=
.
    0350: 0B 0A 08 00 00 00 00 00 00 00 00 12 47 04 08 0C  ............G..=
.
    0360: 6C 07 00 00 0C C3 32 00 00 0C 04 00 00 00 0C 04  l.....2........=
.
    0370: 00 00 00 11 0B 0A 08 01 00 00 00 00 00 00 00 11  ...............=
.
    0380: 0B 0A 08 00 00 00 00 00 00 00 00 11 0B 0A 08 00  ...............=
.
    0390: 00 00 00 00 00 00 00 11 0B 0A 08 00 00 00 00 00  ...............=
.
    03A0: 00 00 00 12 47 04 08 0C 78 05 00 00 0C 8A 2A 00  ....G...x.....*=
.
    03B0: 00 0C 04 00 00 00 0C 04 00 00 00 11 0B 0A 08 02  ...............=
.
    03C0: 00 00 00 00 00 00 00 11 0B 0A 08 00 00 00 00 00  ...............=
.
    03D0: 00 00 00 11 0B 0A 08 00 00 00 00 00 00 00 00 11  ...............=
.
    03E0: 0B 0A 08 00 00 00 00 00 00 00 00 12 47 04 08 0C  ............G..=
.
    03F0: 20 03 00 00 0C D3 18 00 00 0C 04 00 00 00 0C 04   ..............=
.
    0400: 00 00 00 11 0B 0A 08 03 00 00 00 00 00 00 00 11  ...............=
.
    0410: 0B 0A 08 00 00 00 00 00 00 00 00 11 0B 0A 08 00  ...............=
.
    0420: 00 00 00 00 00 00 00 11 0B 0A 08 00 00 00 00 00  ...............=
.
    0430: 00 00 00 08 5F 50 53 44 12 18 01 12 15 05 0A 05  ...._PSD.......=
.
    0440: 0A 00 0C 00 00 00 00 0C FC 00 00 00 0C 04 00 00  ...............=
.
    0450: 00 08 5F 50 50 43 0A 00 10 49 21 5C 2E 5F 50 52  .._PPC...I!\._P=
R
    0460: 5F 43 30 30 32 08 5F 50 43 54 12 2C 02 11 14 0A  _C002._PCT.,...=
.
    0470: 11 82 0C 00 7F 40 00 00 62 00 01 C0 00 00 00 00  .....@..b......=
.
    0480: 79 00 11 14 0A 11 82 0C 00 7F 40 00 00 00 00 00  y.........@....=
.
    0490: 00 00 00 00 00 79 00 08 5F 50 53 53 12 47 08 04  .....y.._PSS.G.=
.
    04A0: 12 20 06 0C 28 0A 00 00 0C 2A 3F 00 00 0C 04 00  . ..(....*?....=
.
    04B0: 00 00 0C 04 00 00 00 0C 00 00 00 00 0C 00 00 00  ...............=
.
    04C0: 00 12 20 06 0C 6C 07 00 00 0C C3 32 00 00 0C 04  .. ..l.....2...=
.
    04D0: 00 00 00 0C 04 00 00 00 0C 01 00 00 00 0C 01 00  ...............=
.
    04E0: 00 00 12 20 06 0C 78 05 00 00 0C 8A 2A 00 00 0C  ... ..x.....*..=
.
    04F0: 04 00 00 00 0C 04 00 00 00 0C 02 00 00 00 0C 02  ...............=
.
    0500: 00 00 00 12 20 06 0C 20 03 00 00 0C D3 18 00 00  .... .. .......=
.
    0510: 0C 04 00 00 00 0C 04 00 00 00 0C 03 00 00 00 0C  ...............=
.
    0520: 03 00 00 00 08 58 50 53 53 12 43 12 04 12 47 04  .....XPSS.C...G=
.
    0530: 08 0C 28 0A 00 00 0C 2A 3F 00 00 0C 04 00 00 00  ..(....*?......=
.
    0540: 0C 04 00 00 00 11 0B 0A 08 00 00 00 00 00 00 00  ...............=
.
    0550: 00 11 0B 0A 08 00 00 00 00 00 00 00 00 11 0B 0A  ...............=
.
    0560: 08 00 00 00 00 00 00 00 00 11 0B 0A 08 00 00 00  ...............=
.
    0570: 00 00 00 00 00 12 47 04 08 0C 6C 07 00 00 0C C3  ......G...l....=
.
    0580: 32 00 00 0C 04 00 00 00 0C 04 00 00 00 11 0B 0A  2..............=
.
    0590: 08 01 00 00 00 00 00 00 00 11 0B 0A 08 00 00 00  ...............=
.
    05A0: 00 00 00 00 00 11 0B 0A 08 00 00 00 00 00 00 00  ...............=
.
    05B0: 00 11 0B 0A 08 00 00 00 00 00 00 00 00 12 47 04  ..............G=
.
    05C0: 08 0C 78 05 00 00 0C 8A 2A 00 00 0C 04 00 00 00  ..x.....*......=
.
    05D0: 0C 04 00 00 00 11 0B 0A 08 02 00 00 00 00 00 00  ...............=
.
    05E0: 00 11 0B 0A 08 00 00 00 00 00 00 00 00 11 0B 0A  ...............=
.
    05F0: 08 00 00 00 00 00 00 00 00 11 0B 0A 08 00 00 00  ...............=
.
    0600: 00 00 00 00 00 12 47 04 08 0C 20 03 00 00 0C D3  ......G... ....=
.
    0610: 18 00 00 0C 04 00 00 00 0C 04 00 00 00 11 0B 0A  ...............=
.
    0620: 08 03 00 00 00 00 00 00 00 11 0B 0A 08 00 00 00  ...............=
.
    0630: 00 00 00 00 00 11 0B 0A 08 00 00 00 00 00 00 00  ...............=
.
    0640: 00 11 0B 0A 08 00 00 00 00 00 00 00 00 08 5F 50  .............._=
P
    0650: 53 44 12 18 01 12 15 05 0A 05 0A 00 0C 00 00 00  SD.............=
.
    0660: 00 0C FC 00 00 00 0C 04 00 00 00 08 5F 50 50 43  ............_PP=
C
    0670: 0A 00 10 49 21 5C 2E 5F 50 52 5F 43 30 30 33 08  ...I!\._PR_C003=
.
    0680: 5F 50 43 54 12 2C 02 11 14 0A 11 82 0C 00 7F 40  _PCT.,.........=
@
    0690: 00 00 62 00 01 C0 00 00 00 00 79 00 11 14 0A 11  ..b.......y....=
.
    06A0: 82 0C 00 7F 40 00 00 00 00 00 00 00 00 00 00 79  ....@..........=
y
    06B0: 00 08 5F 50 53 53 12 47 08 04 12 20 06 0C 28 0A  .._PSS.G... ..(=
.
    06C0: 00 00 0C 2A 3F 00 00 0C 04 00 00 00 0C 04 00 00  ...*?..........=
.
    06D0: 00 0C 00 00 00 00 0C 00 00 00 00 12 20 06 0C 6C  ............ ..=
l
    06E0: 07 00 00 0C C3 32 00 00 0C 04 00 00 00 0C 04 00  .....2.........=
.
    06F0: 00 00 0C 01 00 00 00 0C 01 00 00 00 12 20 06 0C  ............. .=
.
    0700: 78 05 00 00 0C 8A 2A 00 00 0C 04 00 00 00 0C 04  x.....*........=
.
    0710: 00 00 00 0C 02 00 00 00 0C 02 00 00 00 12 20 06  .............. =
.
    0720: 0C 20 03 00 00 0C D3 18 00 00 0C 04 00 00 00 0C  . .............=
.
    0730: 04 00 00 00 0C 03 00 00 00 0C 03 00 00 00 08 58  ...............=
X
    0740: 50 53 53 12 43 12 04 12 47 04 08 0C 28 0A 00 00  PSS.C...G...(..=
.
    0750: 0C 2A 3F 00 00 0C 04 00 00 00 0C 04 00 00 00 11  .*?............=
.
    0760: 0B 0A 08 00 00 00 00 00 00 00 00 11 0B 0A 08 00  ...............=
.
    0770: 00 00 00 00 00 00 00 11 0B 0A 08 00 00 00 00 00  ...............=
.
    0780: 00 00 00 11 0B 0A 08 00 00 00 00 00 00 00 00 12  ...............=
.
    0790: 47 04 08 0C 6C 07 00 00 0C C3 32 00 00 0C 04 00  G...l.....2....=
.
    07A0: 00 00 0C 04 00 00 00 11 0B 0A 08 01 00 00 00 00  ...............=
.
    07B0: 00 00 00 11 0B 0A 08 00 00 00 00 00 00 00 00 11  ...............=
.
    07C0: 0B 0A 08 00 00 00 00 00 00 00 00 11 0B 0A 08 00  ...............=
.
    07D0: 00 00 00 00 00 00 00 12 47 04 08 0C 78 05 00 00  ........G...x..=
.
    07E0: 0C 8A 2A 00 00 0C 04 00 00 00 0C 04 00 00 00 11  ..*............=
.
    07F0: 0B 0A 08 02 00 00 00 00 00 00 00 11 0B 0A 08 00  ...............=
.
    0800: 00 00 00 00 00 00 00 11 0B 0A 08 00 00 00 00 00  ...............=
.
    0810: 00 00 00 11 0B 0A 08 00 00 00 00 00 00 00 00 12  ...............=
.
    0820: 47 04 08 0C 20 03 00 00 0C D3 18 00 00 0C 04 00  G... ..........=
.
    0830: 00 00 0C 04 00 00 00 11 0B 0A 08 03 00 00 00 00  ...............=
.
    0840: 00 00 00 11 0B 0A 08 00 00 00 00 00 00 00 00 11  ...............=
.
    0850: 0B 0A 08 00 00 00 00 00 00 00 00 11 0B 0A 08 00  ...............=
.
    0860: 00 00 00 00 00 00 00 08 5F 50 53 44 12 18 01 12  ........_PSD...=
.
    0870: 15 05 0A 05 0A 00 0C 00 00 00 00 0C FC 00 00 00  ...............=
.
    0880: 0C 04 00 00 00 08 5F 50 50 43 0A 00              ......_PPC..

MCFG @ 0x0000000000000000
    0000: 4D 43 46 47 3C 00 00 00 01 34 47 42 54 20 20 20  MCFG<....4GBT
    0010: 47 42 54 55 41 43 50 49 31 2E 30 42 47 42 54 55  GBTUACPI1.0BGBT=
U
    0020: 01 01 01 01 00 00 00 00 00 00 00 00 00 00 00 E0  ...............=
.
    0030: 00 00 00 00 00 00 00 FF 00 00 00 00              ............

APIC @ 0x0000000000000000
    0000: 41 50 49 43 BC 00 00 00 01 B6 47 42 54 20 20 20  APIC......GBT
    0010: 47 42 54 55 41 43 50 49 31 2E 30 42 47 42 54 55  GBTUACPI1.0BGBT=
U
    0020: 01 01 01 01 00 00 E0 FE 01 00 00 00 00 08 00 00  ...............=
.
    0030: 01 00 00 00 00 08 01 01 01 00 00 00 00 08 02 02  ...............=
.
    0040: 01 00 00 00 00 08 03 03 01 00 00 00 00 08 04 04  ...............=
.
    0050: 00 00 00 00 00 08 05 05 00 00 00 00 00 08 06 06  ...............=
.
    0060: 00 00 00 00 00 08 07 07 00 00 00 00 01 0C 08 00  ...............=
.
    0070: 00 00 C0 FE 00 00 00 00 02 0A 00 00 02 00 00 00  ...............=
.
    0080: 00 00 02 0A 00 09 09 00 00 00 0F 00 04 06 00 00  ...............=
.
    0090: 00 01 04 06 01 00 00 01 04 06 02 00 00 01 04 06  ...............=
.
    00A0: 03 00 00 01 04 06 04 00 00 01 04 06 05 00 00 01  ...............=
.
    00B0: 04 06 06 00 00 01 04 06 07 00 00 01              ............

IVRS @ 0x0000000000000000
    0000: 49 56 52 53 C0 00 00 00 01 AC 41 4D 44 20 20 00  IVRS......AMD  =
.
    0010: 52 44 38 39 30 53 00 00 31 20 20 00 41 4D 44 20  RD890S..1  .AMD
    0020: 00 00 00 00 00 34 20 00 00 00 00 00 00 00 00 00  .....4 ........=
.
    0030: 10 3E 90 00 02 00 40 00 00 00 C3 FE 00 00 00 00  .>....@........=
.
    0040: 00 00 00 13 00 00 00 00 03 00 00 00 04 02 00 00  ...............=
.
    0050: 02 10 00 00 03 00 01 00 04 01 01 00 02 28 00 00  .............(.=
.
    0060: 02 30 00 00 02 38 00 00 02 00 04 00 02 68 00 00  .0...8.......h.=
.
    0070: 03 00 05 00 04 03 05 00 02 88 00 00 03 90 00 00  ...............=
.
    0080: 04 92 00 00 03 98 00 00 04 9A 00 00 02 A0 00 D7  ...............=
.
    0090: 02 A3 00 00 02 A4 00 00 43 00 06 00 00 A4 00 00  ........C......=
.
    00A0: 04 FF 06 00 02 A5 00 00 03 B0 00 00 04 B2 00 00  ...............=
.
    00B0: 48 00 00 D7 00 A0 00 02 48 00 00 00 08 01 00 01  H.......H......=
.

DSDT @ 0x0000000000000000
    0000: 44 53 44 54 E3 7B 00 00 01 CE 47 42 54 20 20 20  DSDT.{....GBT
    0010: 47 42 54 55 41 43 50 49 00 10 00 00 4D 53 46 54  GBTUACPI....MSF=
T
    0020: 00 00 00 03 10 4F 09 5C 5F 50 52 5F 5B 83 11 5C  .....O.\_PR_[..=
\
    0030: 2E 5F 50 52 5F 43 30 30 30 00 10 08 00 00 06 5B  ._PR_C000......=
[
    0040: 83 11 5C 2E 5F 50 52 5F 43 30 30 31 01 10 08 00  ..\._PR_C001...=
.
    0050: 00 06 5B 83 11 5C 2E 5F 50 52 5F 43 30 30 32 02  ..[..\._PR_C002=
.
    0060: 10 08 00 00 06 5B 83 11 5C 2E 5F 50 52 5F 43 30  .....[..\._PR_C=
0
    0070: 30 33 03 10 08 00 00 06 5B 83 11 5C 2E 5F 50 52  03......[..\._P=
R
    0080: 5F 43 30 30 34 04 10 08 00 00 06 5B 83 11 5C 2E  _C004......[..\=
.
    0090: 5F 50 52 5F 43 30 30 35 05 10 08 00 00 06 5B 83  _PR_C005......[=
.
    00A0: 11 5C 2E 5F 50 52 5F 43 30 30 36 06 10 08 00 00  .\._PR_C006....=
.
    00B0: 06 5B 83 11 5C 2E 5F 50 52 5F 43 30 30 37 07 10  .[..\._PR_C007.=
.
    00C0: 08 00 00 06 08 5C 5F 53 30 5F 12 0A 04 0A 00 0A  .....\_S0_.....=
.
    00D0: 00 0A 00 0A 00 08 5C 5F 53 33 5F 12 0A 04 0A 03  ......\_S3_....=
.
    00E0: 0A 01 0A 01 0A 01 08 5C 5F 53 34 5F 12 0A 04 0A  .......\_S4_...=
.
    00F0: 04 0A 04 0A 04 0A 04 08 5C 5F 53 35 5F 12 0A 04  ........\_S5_..=
.
    0100: 0A 05 0A 05 0A 05 0A 05 5B 80 5C 44 45 42 47 01  ........[.\DEBG=
.
    0110: 0A 80 0A 01 5B 81 0C 5C 44 45 42 47 01 44 42 47  ....[..\DEBG.DB=
G
    0120: 31 08 08 4F 53 54 59 FF 5B 80 41 43 4D 53 01 0A  1..OSTY.[.ACMS.=
.
    0130: 72 0A 10 5B 81 18 41 43 4D 53 01 49 43 4D 53 08  r..[..ACMS.ICMS=
.
    0140: 44 43 4D 53 08 00 40 06 50 38 30 5F 08 5B 86 15  DCMS..@.P80_.[.=
.
    0150: 49 43 4D 53 44 43 4D 53 01 00 08 00 18 00 20 42  ICMSDCMS...... =
B
    0160: 53 5F 41 20 5B 80 43 46 47 53 00 42 53 5F 41 0B  S_A [.CFGS.BS_A=
.
    0170: 00 01 5B 81 40 07 43 46 47 53 00 00 40 06 50 43  ..[.@.CFGS..@.P=
C
    0180: 49 45 20 00 48 37 00 05 47 47 4E 32 01 00 3A 47  IE .H7..GGN2..:=
G
    0190: 45 43 45 01 49 52 5F 45 01 00 4E 05 00 05 4F 53  ECE.IR_E..N...O=
S
    01A0: 43 46 01 00 42 05 50 52 53 30 01 44 45 54 30 01  CF..B.PRS0.DET0=
.
    01B0: 00 1E 50 52 53 31 01 44 45 54 31 01 00 1E 50 52  ..PRS1.DET1...P=
R
    01C0: 53 32 01 44 45 54 32 01 00 1E 50 52 53 33 01 44  S2.DET2...PRS3.=
D
    01D0: 45 54 33 01 00 3E 00 06 41 42 50 53 01 00 03 47  ET3..>..ABPS...=
G
    01E0: 50 50 53 01 5B 80 43 4D 50 54 01 0B 50 0C 0A 03  PPS.[.CMPT..P..=
.
    01F0: 5B 81 3A 43 4D 50 54 01 43 4D 49 44 08 00 06 47  [.:CMPT.CMID...=
G
    0200: 50 43 54 02 47 50 30 49 01 47 50 31 49 01 47 50  PCT.GP0I.GP1I.G=
P
    0210: 32 49 01 47 50 33 49 01 47 50 34 49 01 47 50 35  2I.GP3I.GP4I.GP=
5
    0220: 49 01 47 50 36 49 01 47 50 37 49 01 5B 80 50 43  I.GP6I.GP7I.[.P=
C
    0230: 46 47 00 50 43 49 45 0C 00 00 00 02 5B 81 49 0B  FG.PCIE.....[.I=
.
    0240: 50 43 46 47 00 00 C0 3C 00 01 00 10 50 4D 53 41  PCFG...<....PMS=
A
    0250: 01 00 8F FE 3F 00 10 50 4D 53 42 01 00 8F FE FF  ....?..PMSB....=
.
    0260: 00 10 50 4D 53 43 01 00 CF C7 FF 01 53 54 43 4C  ..PMSC......STC=
L
    0270: 10 00 40 78 52 4D 42 41 20 00 80 82 BF 53 4D 49  ..@xRMBA ....SM=
I
    0280: 45 01 53 4D 4D 45 01 00 1E 52 56 49 44 08 00 48  E.SMME...RVID..=
H
    0290: 05 53 4D 42 31 20 00 40 35 00 02 47 33 31 4F 01  .SMB1 .@5..G31O=
.
    02A0: 00 45 2F 00 06 41 43 49 52 01 00 81 91 1F 50 43  .E/..ACIR.....P=
C
    02B0: 4D 44 02 00 8E 3A 20 50 4D 53 30 01 00 4F 06 54  MD...: PMS0..O.=
T
    02C0: 4C 53 30 04 00 8C F8 07 50 4D 53 31 01 00 4F 06  LS0.....PMS1..O=
.
    02D0: 54 4C 53 31 04 00 8C F8 07 50 4D 53 32 01 00 4F  TLS1.....PMS2..=
O
    02E0: 06 54 4C 53 32 04 00 8C F8 07 50 4D 53 33 01 00  .TLS2.....PMS3.=
.
    02F0: 4F 06 54 4C 53 33 04 5B 80 52 4D 45 4D 00 52 4D  O.TLS3.[.RMEM.R=
M
    0300: 42 41 0B 00 02 5B 81 0D 52 4D 45 4D 00 00 20 52  BA...[..RMEM.. =
R
    0310: 4D 4C 4E 20 5B 80 50 4D 49 4F 01 0B D6 0C 0A 02  MLN [.PMIO.....=
.
    0320: 5B 81 10 50 4D 49 4F 01 49 4E 50 4D 08 44 41 50  [..PMIO.INPM.DA=
P
    0330: 4D 08 5B 86 1A 49 4E 50 4D 44 41 50 4D 01 00 40  M.[..INPMDAPM..=
@
    0340: 12 4D 4D 53 4F 20 00 40 1C 50 31 45 42 10 5B 80  .MMSO .@.P1EB.[=
.
    0350: 45 52 4D 4D 00 4D 4D 53 4F 0B 00 10 5B 81 43 0A  ERMM.MMSO...[.C=
.
    0360: 45 52 4D 4D 00 00 40 99 00 07 47 50 35 31 01 00  ERMM..@...GP51.=
.
    0370: 18 00 07 47 50 35 35 01 00 18 00 07 47 50 35 39  ...GP55.....GP5=
9
    0380: 01 00 10 47 50 36 32 08 00 08 00 07 47 50 36 34  ...GP62.....GP6=
4
    0390: 01 00 40 15 00 07 47 45 31 31 01 00 07 47 45 31  ..@...GE11...GE=
1
    03A0: 32 01 00 10 00 07 42 41 54 53 01 00 40 8C 00 01  2.....BATS..@..=
.
    03B0: 43 4C 50 53 01 00 46 08 00 07 47 31 35 41 01 00  CLPS..F...G15A.=
.
    03C0: 40 0B 00 02 53 4C 50 53 02 00 44 63 45 50 4E 4D  @...SLPS..DcEPN=
M
    03D0: 01 44 50 50 46 01 00 4E 21 00 06 50 57 44 45 01  .DPPF..N!..PWDE=
.
    03E0: 00 11 00 05 41 4C 4C 53 01 00 4A 18 50 48 59 44  ....ALLS..J.PHY=
D
    03F0: 01 00 01 00 01 55 53 35 52 01 00 2C 47 45 43 44  .....US5R..,GEC=
D
    0400: 01 5B 80 41 42 49 4F 01 0B D8 0C 0A 08 5B 81 10  .[.ABIO......[.=
.
    0410: 41 42 49 4F 03 49 4E 41 42 20 44 41 41 42 20 14  ABIO.INAB DAAB =
.
    0420: 11 52 44 41 42 01 70 68 49 4E 41 42 A4 44 41 41  .RDAB.phINAB.DA=
A
    0430: 42 14 12 57 54 41 42 02 70 68 49 4E 41 42 70 69  B..WTAB.phINABp=
i
    0440: 44 41 41 42 14 18 52 57 41 42 03 7B 52 44 41 42  DAAB..RWAB.{RDA=
B
    0450: 68 69 60 7D 60 6A 61 57 54 41 42 68 61 14 1A 43  hi`}`jaWTABha..=
C
    0460: 41 42 52 03 79 68 0A 05 60 72 60 69 61 79 61 0A  ABR.yh..`r`iaya=
.
    0470: 18 62 72 62 6A 63 A4 63 14 4B 15 47 48 50 53 02  .brbjc.c.K.GHPS=
.
    0480: A0 46 07 93 68 0A 00 A0 35 93 69 0A 00 52 57 41  .F..h...5.i..RW=
A
    0490: 42 43 41 42 52 0A 06 0A 00 0A C0 0C FF EF FF FF  BCABR..........=
.
    04A0: 0A 00 52 57 41 42 43 41 42 52 0A 01 0A 00 0A 65  ..RWABCABR.....=
e
    04B0: 0C FE FE FF FF 0A 00 70 01 44 45 54 30 A0 35 93  .......p.DET0.5=
.
    04C0: 69 0A 02 52 57 41 42 43 41 42 52 0A 06 0A 00 0A  i..RWABCABR....=
.
    04D0: C0 0C FF BF FF FF 0A 00 52 57 41 42 43 41 42 52  ........RWABCAB=
R
    04E0: 0A 01 0A 00 0A 65 0C FB FB FF FF 0A 00 70 01 44  .....e.......p.=
D
    04F0: 45 54 32 5B 21 0A C8 A0 4A 07 93 68 0A 01 A0 37  ET2[!...J..h...=
7
    0500: 93 69 0A 00 52 57 41 42 43 41 42 52 0A 06 0A 00  .i..RWABCABR...=
.
    0510: 0A C0 0C FF EF FF FF 0B 00 10 52 57 41 42 43 41  ..........RWABC=
A
    0520: 42 52 0A 01 0A 00 0A 65 0C FE FE FF FF 0B 01 01  BR.....e.......=
.
    0530: 70 00 44 45 54 30 A0 37 93 69 0A 02 52 57 41 42  p.DET0.7.i..RWA=
B
    0540: 43 41 42 52 0A 06 0A 00 0A C0 0C FF BF FF FF 0B  CABR...........=
.
    0550: 00 40 52 57 41 42 43 41 42 52 0A 01 0A 00 0A 65  .@RWABCABR.....=
e
    0560: 0C FB FB FF FF 0B 04 04 70 00 44 45 54 32 5B 21  ........p.DET2[=
!
    0570: 0A C8 A0 41 06 47 47 4E 32 A0 4A 05 93 68 0A 00  ...A.GGN2.J..h.=
.
    0580: 47 45 4E 32 70 52 44 41 42 43 41 42 52 0A 03 0A  GEN2pRDABCABR..=
.
    0590: 02 0A A5 60 7B 60 0A FF 60 70 0B F4 01 61 A2 2A  ...`{`..`p...a.=
*
    05A0: 90 94 61 0A 00 92 93 60 0A 10 70 52 44 41 42 43  ..a....`..pRDAB=
C
    05B0: 41 42 52 0A 03 0A 02 0A A5 60 7B 60 0A FF 60 76  ABR......`{`..`=
v
    05C0: 61 5B 21 0A C8 5B 21 0A C8 A0 0A 92 93 60 0A 10  a[!..[!......`.=
.
    05D0: 47 45 4E 31 14 4F 06 47 45 4E 32 00 70 0A 02 54  GEN1.O.GEN2.p..=
T
    05E0: 4C 53 32 52 57 41 42 43 41 42 52 0A 03 0A 02 0A  LS2RWABCABR....=
.
    05F0: A4 0C FE FF FF FF 0A 01 52 57 41 42 43 41 42 52  ........RWABCAB=
R
    0600: 0A 03 0A 02 0A A2 0C FF DF FF FF 0B 00 20 52 57  ............. R=
W
    0610: 41 42 43 41 42 52 0A 03 0A 02 0A C0 0C FF 7F FF  ABCABR.........=
.
    0620: FF 0B 00 80 52 57 41 42 43 41 42 52 0A 03 0A 02  ....RWABCABR...=
.
    0630: 0A A4 0C FF FF FF DF 0C 00 00 00 20 5B 21 0A C8  ........... [!.=
.
    0640: 5B 21 0A C8 14 41 04 47 45 4E 31 00 70 0A 01 54  [!...A.GEN1.p..=
T
    0650: 4C 53 32 52 57 41 42 43 41 42 52 0A 03 0A 02 0A  LS2RWABCABR....=
.
    0660: A4 0C FE FF FF FF 0A 00 52 57 41 42 43 41 42 52  ........RWABCAB=
R
    0670: 0A 03 0A 02 0A A2 0C FF DF FF FF 0B 00 20 5B 21  ............. [=
!
    0680: 0A C8 5B 21 0A C8 5B 80 50 31 45 30 01 50 31 45  ..[!..[.P1E0.P1=
E
    0690: 42 0A 04 5B 81 19 50 31 45 30 01 00 0E 50 45 57  B..[..P1E0...PE=
W
    06A0: 53 01 57 53 54 41 01 00 0E 50 45 57 44 01 14 24  S.WSTA...PEWD..=
$
    06B0: 53 50 54 53 01 70 0A 01 50 43 4D 44 7D 68 0A F0  SPTS.p..PCMD}h.=
.
    06C0: 50 38 30 5F 43 50 4D 53 43 50 4D 53 70 0A 01 50  P80_CPMSCPMSp..=
P
    06D0: 45 57 53 14 15 53 57 41 4B 01 43 50 4D 53 43 50  EWS..SWAK.CPMSC=
P
    06E0: 4D 53 70 0A 01 50 45 57 53 14 06 54 52 4D 44 01  MSp..PEWS..TRMD=
.
    06F0: 14 41 04 43 50 4D 53 00 A0 39 93 45 50 4E 4D 0A  .A.CPMS..9.EPNM=
.
    0700: 00 70 0A 01 50 4D 53 41 70 0A 01 50 4D 53 42 70  .p..PMSAp..PMSB=
p
    0710: 0A 01 50 4D 53 43 70 0A 01 50 4D 53 30 70 0A 01  ..PMSCp..PMS0p.=
.
    0720: 50 4D 53 31 70 0A 01 50 4D 53 32 70 0A 01 50 4D  PMS1p..PMS2p..P=
M
    0730: 53 33 10 06 5C 5F 47 50 45 10 82 BF 02 5C 00 08  S3..\_GPE....\.=
.
    0740: 53 42 41 31 0B 00 0B 08 53 42 41 32 0B 10 0B 08  SBA1....SBA2...=
.
    0750: 53 49 4F 50 0A 2E 08 47 49 4F 42 0B 20 02 08 43  SIOP...GIOB. ..=
C
    0760: 43 4D 53 0A F0 5B 80 4E 43 4C 4B 00 50 43 49 45  CMS..[.NCLK.PCI=
E
    0770: 0C 00 00 00 02 5B 81 43 0A 4E 43 4C 4B 00 00 40  .....[.C.NCLK..=
@
    0780: 26 43 4C 4B 45 01 00 8F FD 07 50 33 48 48 0C 00  &CLKE.....P3HH.=
.
    0790: 13 50 33 45 45 01 50 34 45 4E 01 50 34 4E 4D 0C  .P3EE.P4EN.P4NM=
.
    07A0: 50 34 48 49 0C 50 34 49 4F 01 00 06 50 35 45 4E  P4HI.P4IO...P5E=
N
    07B0: 01 50 35 4E 4D 0C 50 35 48 49 0C 50 35 49 4F 01  .P5NM.P5HI.P5IO=
.
    07C0: 00 06 50 36 45 4E 01 50 36 4E 4D 0C 50 36 48 49  ..P6EN.P6NM.P6H=
I
    07D0: 0C 50 36 49 4F 01 00 46 2C 50 31 4E 4D 0C 50 31  .P6IO..F,P1NM.P=
1
    07E0: 48 49 0C 50 31 45 4E 01 50 31 49 4F 01 00 06 50  HI.P1EN.P1IO...=
P
    07F0: 32 4E 4D 0C 50 32 48 49 0C 50 32 45 4E 01 50 32  2NM.P2HI.P2EN.P=
2
    0800: 49 4F 01 00 46 0A 50 33 45 4E 01 50 33 4E 4D 0C  IO..F.P3EN.P3NM=
.
    0810: 50 33 48 49 0C 50 33 49 4F 01 5B 80 53 4F 52 31  P3HI.P3IO.[.SOR=
1
    0820: 01 53 42 41 31 0A 10 5B 81 48 04 53 4F 52 31 01  .SBA1..[.H.SOR1=
.
    0830: 53 4D 53 41 08 53 53 53 41 08 53 42 43 41 08 53  SMSA.SSSA.SBCA.=
S
    0840: 48 43 41 08 53 42 41 41 08 53 44 30 41 08 53 44  HCA.SBAA.SD0A.S=
D
    0850: 31 41 08 53 42 44 41 08 53 53 43 41 08 53 4D 43  1A.SBDA.SSCA.SM=
C
    0860: 41 08 53 53 45 41 10 53 53 44 41 10 53 4D 54 41  A.SSEA.SSDA.SMT=
A
    0870: 08 5B 80 53 4F 52 32 01 53 42 41 32 0A 10 5B 81  .[.SOR2.SBA2..[=
.
    0880: 48 04 53 4F 52 32 01 53 4D 53 42 08 53 53 53 42  H.SOR2.SMSB.SSS=
B
    0890: 08 53 42 43 42 08 53 48 43 42 08 53 42 41 42 08  .SBCB.SHCB.SBAB=
.
    08A0: 53 44 30 42 08 53 44 31 42 08 53 42 44 42 08 53  SD0B.SD1B.SBDB.=
S
    08B0: 53 43 42 08 53 4D 43 42 08 53 53 45 42 10 53 53  SCB.SMCB.SSEB.S=
S
    08C0: 44 42 10 53 4D 54 42 08 5B 01 4D 53 4D 42 00 14  DB.SMTB.[.MSMB.=
.
    08D0: 40 15 52 57 42 4B 05 5B 23 4D 53 4D 42 FF FF A0  @.RWBK.[#MSMB..=
.
    08E0: 41 13 93 68 0A 00 70 53 4D 53 41 60 7B 60 0A 00  A..h..pSMSA`{`.=
.
    08F0: 60 7D 60 0A FF 60 70 60 53 4D 53 41 5B 22 0A 02  `}`..`p`SMSA[".=
.
    0900: 70 53 42 41 41 60 7B 60 0A 00 60 7D 60 69 60 70  pSBAA`{`..`}`i`=
p
    0910: 60 53 42 41 41 5B 22 0A 02 70 53 48 43 41 60 7B  `SBAA["..pSHCA`=
{
    0920: 60 0A 00 60 7D 60 6A 60 70 60 53 48 43 41 5B 22  `..`}`j`p`SHCA[=
"
    0930: 0A 02 70 53 42 43 41 60 7B 60 0A 00 60 7D 60 0A  ..pSBCA`{`..`}`=
.
    0940: 14 60 70 60 53 42 43 41 5B 22 0A 02 70 53 44 30  .`p`SBCA["..pSD=
0
    0950: 41 60 7B 60 0A 00 60 7D 60 6B 60 70 60 53 44 30  A`{`..`}`k`p`SD=
0
    0960: 41 5B 22 0A 02 7B 69 0A 01 61 A0 23 93 61 0A 00  A["..{i..a.#.a.=
.
    0970: 70 6B 62 70 6A 63 A2 17 62 70 83 88 6C 63 00 64  pkbpjc..bp..lc.=
d
    0980: 70 64 53 42 44 41 5B 22 0A 02 76 62 75 63 70 53  pdSBDA["..vbucp=
S
    0990: 42 43 41 60 7B 60 0A 00 60 7D 60 0A 54 60 70 60  BCA`{`..`}`.T`p=
`
    09A0: 53 42 43 41 5B 22 0A 02 70 53 4D 53 41 61 A2 29  SBCA["..pSMSAa.=
)
    09B0: 92 7B 61 0A 01 00 70 53 4D 53 41 61 A0 0F 7B 61  .{a...pSMSAa..{=
a
    09C0: 0A 1C 00 5B 27 4D 53 4D 42 A4 0A 01 A0 07 7B 61  ...['MSMB.....{=
a
    09D0: 0A 02 00 A5 5B 22 0A 02 70 53 4D 53 41 61 A2 10  ....["..pSMSAa.=
.
    09E0: 7B 61 0A 01 00 70 53 4D 53 41 61 5B 22 0A 02 7B  {a...pSMSAa["..=
{
    09F0: 69 0A 01 61 A0 1C 61 70 6A 61 70 6B 62 A2 13 62  i..a..apjapkb..=
b
    0A00: 70 53 42 44 41 88 6C 61 00 5B 22 0A 02 75 61 76  pSBDA.la.["..ua=
v
    0A10: 62 A0 05 93 68 0A 01 5B 27 4D 53 4D 42 A4 0A 00  b...h..['MSMB..=
.
    0A20: 5B 80 49 4F 4F 52 01 53 49 4F 50 0A 02 5B 81 10  [.IOOR.SIOP..[.=
.
    0A30: 49 4F 4F 52 01 49 4F 49 44 08 49 4F 44 54 08 5B  IOOR.IOID.IODT.=
[
    0A40: 80 47 42 4F 52 01 47 49 4F 42 0A 02 5B 81 14 47  .GBOR.GIOB..[..=
G
    0A50: 42 4F 52 01 00 08 00 05 47 50 32 35 01 47 50 32  BOR.....GP25.GP=
2
    0A60: 36 01 14 11 52 53 49 4F 01 70 68 49 4F 49 44 A4  6...RSIO.phIOID=
.
    0A70: 49 4F 44 54 14 12 57 53 49 4F 02 70 68 49 4F 49  IODT..WSIO.phIO=
I
    0A80: 44 70 69 49 4F 44 54 14 16 52 57 49 4F 03 57 53  DpiIODT..RWIO.W=
S
    0A90: 49 4F 68 7D 7B 52 53 49 4F 68 69 00 6A 00 08 49  IOh}{RSIOhi.j..=
I
    0AA0: 50 53 57 12 18 02 12 0A 04 0A 87 0A 01 0A 55 0A  PSW...........U=
.
    0AB0: 55 12 0A 04 0A 87 0A 01 0A 55 0A AA 14 4A 04 53  U........U...J.=
S
    0AC0: 4C 44 4E 01 70 0A 00 61 A0 0C 93 53 49 4F 50 0A  LDN.p..a...SIOP=
.
    0AD0: 2E 70 0A 00 61 A0 0C 93 53 49 4F 50 0A 4E 70 0A  .p..a...SIOP.Np=
.
    0AE0: 01 61 70 0A 00 60 A2 19 92 93 60 0A 04 70 83 88  .ap..`....`..p.=
.
    0AF0: 83 88 49 50 53 57 61 00 60 00 49 4F 49 44 75 60  ..IPSWa.`.IOIDu=
`
    0B00: 57 53 49 4F 0A 07 68 14 11 41 50 54 53 01 5C 2E  WSIO..h..APTS.\=
.
    0B10: 41 4F 44 5F 41 50 54 53 68 14 11 41 57 41 4B 01  AOD_APTSh..AWAK=
.
    0B20: 5C 2E 41 4F 44 5F 41 57 41 4B 68 5B 82 8F 7F 02  \.AOD_AWAKh[...=
.
    0B30: 41 4F 44 5F 08 44 42 47 5F 0A 01 08 4F 42 49 44  AOD_.DBG_...OBI=
D
    0B40: 12 41 09 1C 0A 07 0C 00 00 01 01 0C 00 00 02 01  .A.............=
.
    0B50: 0C 00 00 01 02 0C 00 00 02 02 0C 00 00 03 02 0C  ...............=
.
    0B60: 00 00 04 02 0C 00 00 05 02 0A 00 0A 00 0A 01 0A  ...............=
.
    0B70: 01 0A 00 0A 00 0A 00 0A 00 0A 00 0A FF 0A FF 0D  ...............=
.
    0B80: 43 50 55 20 43 6C 6F 63 6B 00 0D 50 43 49 45 20  CPU Clock..PCIE
    0B90: 43 6C 6F 63 6B 00 0D 56 43 43 31 38 20 43 6F 72  Clock..VCC18 Co=
r
    0BA0: 65 00 0D 53 42 20 43 6F 72 65 00 0D 4D 65 6D 6F  e..SB Core..Mem=
o
    0BB0: 72 79 20 43 6F 72 65 00 0D 56 44 44 41 32 35 20  ry Core..VDDA25
    0BC0: 43 6F 72 65 00 0D 4E 42 20 43 6F 72 65 00 0D 00  Core..NB Core..=
.
    0BD0: 0D 00 08 4F 42 49 54 12 49 0A 30 0C 00 00 01 01  ...OBIT.I.0....=
.
    0BE0: 0C 40 0D 03 00 0C 20 A1 07 00 0A 00 0B E8 03 0A  .@.... ........=
.
    0BF0: 00 0C 00 00 02 01 0C A0 86 01 00 0C F0 49 02 00  .............I.=
.
    0C00: 0A 00 0B E8 03 0A 00 0C 00 00 01 02 0C 20 BF 02  ............. .=
.
    0C10: 00 0C 50 34 03 00 0A 00 0B D0 07 0A 00 0C 00 00  ..P4...........=
.
    0C20: 02 02 0C C0 D4 01 00 0C 50 3A 02 00 0A 00 0B D0  ........P:.....=
.
    0C30: 07 0A 00 0C 00 00 03 02 0C D8 4D 02 00 0C 68 AD  ..........M...h=
.
    0C40: 03 00 0A 00 0B D0 07 0A 00 0C 00 00 04 02 0C 90  ...............=
.
    0C50: D0 03 00 0C F0 BA 04 00 0A 00 0B A0 0F 0A 00 0C  ...............=
.
    0C60: 00 00 05 02 0C 38 C1 01 00 0C 68 36 02 00 0A 00  .....8....h6...=
.
    0C70: 0B D0 07 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A  ...............=
.
    0C80: 00 08 4F 42 44 54 12 04 01 0A 00 14 06 42 4D 30  ..OBDT.......BM=
0
    0C90: 31 00 14 06 58 49 4E 49 00 14 06 45 4D 30 31 00  1...XINI...EM01=
.
    0CA0: 14 06 42 4D 30 35 01 14 06 45 4D 30 35 01 14 06  ..BM05...EM05..=
.
    0CB0: 48 4D 30 36 00 14 06 48 4D 30 37 01 08 51 4C 53  HM06...HM07..QL=
S
    0CC0: 54 12 43 07 03 0A 02 12 35 06 0B CA 40 0D 42 61  T.C.....5...@.B=
a
    0CD0: 6E 6B 20 53 77 69 7A 7A 6C 65 20 4D 6F 64 65 00  nk Swizzle Mode=
.
    0CE0: 0A 00 0A 02 11 0C 0A 09 44 69 73 61 62 6C 65 64  ........Disable=
d
    0CF0: 00 11 0B 0A 08 45 6E 61 62 6C 65 64 00 12 37 06  .....Enabled..7=
.
    0D00: 0B CD 80 0D 44 44 52 33 20 4D 65 6D 6F 72 79 20  ....DDR3 Memory
    0D10: 50 72 6F 66 69 6C 65 00 0A 00 0A 02 11 0C 0A 09  Profile........=
.
    0D20: 44 69 73 61 62 6C 65 64 00 11 0B 0A 08 45 6E 61  Disabled.....En=
a
    0D30: 62 6C 65 64 00 5B 80 41 4F 44 54 00 0C F2 97 CF  bled.[.AODT....=
.
    0D40: CF 0B 00 01 5B 81 22 41 4F 44 54 00 41 53 43 44  ....[."AODT.ASC=
D
    0D50: 10 41 53 54 53 20 00 10 41 53 42 46 40 3C 47 46  .ASTS ..ASBF@<G=
F
    0D60: 58 4F 01 47 4D 4F 44 02 08 49 44 30 31 0A 00 08  XO.GMOD..ID01..=
.
    0D70: 49 44 30 32 0A 00 14 20 53 4F 49 44 01 7A 68 0A  ID02... SOID.zh=
.
    0D80: 18 49 44 30 31 7A 7B 68 0C 00 00 FF 00 00 0A 10  .ID01z{h.......=
.
    0D90: 49 44 30 32 A4 0A 00 14 4A 0B 57 52 4F 57 04 08  ID02....J.WROW.=
.
    0DA0: 49 46 50 4B 12 0E 06 0A 00 0A 00 0A 00 0A 00 0A  IFPK...........=
.
    0DB0: 00 0A 00 8A 68 0A 00 42 55 46 30 8A 68 0A 04 42  ....h..BUF0.h..=
B
    0DC0: 55 46 31 8A 68 0A 08 42 55 46 32 8A 68 0A 0C 42  UF1.h..BUF2.h..=
B
    0DD0: 55 46 33 8A 68 0A 10 42 55 46 34 8A 68 0A 14 42  UF3.h..BUF4.h..=
B
    0DE0: 55 46 35 70 42 55 46 30 88 49 46 50 4B 0A 00 00  UF5pBUF0.IFPK..=
.
    0DF0: 70 42 55 46 31 88 49 46 50 4B 0A 01 00 70 42 55  pBUF1.IFPK...pB=
U
    0E00: 46 32 88 49 46 50 4B 0A 02 00 70 42 55 46 33 88  F2.IFPK...pBUF3=
.
    0E10: 49 46 50 4B 0A 03 00 70 42 55 46 34 88 49 46 50  IFPK...pBUF4.IF=
P
    0E20: 4B 0A 04 00 70 42 55 46 35 88 49 46 50 4B 0A 05  K...pBUF5.IFPK.=
.
    0E30: 00 70 6B 60 70 0A 00 61 A2 19 60 70 83 88 49 46  .pk`p..a..`p..I=
F
    0E40: 50 4B 61 00 88 69 72 77 6A 6B 00 61 00 00 75 61  PKa..irwjk.a..u=
a
    0E50: 76 60 14 40 0C 47 52 4F 57 04 08 49 46 50 4B 12  v`.@.GROW..IFPK=
.
    0E60: 0E 06 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 70 6B  ..............p=
k
    0E70: 60 70 0A 00 61 A2 19 60 70 83 88 68 72 77 6A 6B  `p..a..`p..hrwj=
k
    0E80: 00 61 00 00 88 49 46 50 4B 61 00 75 61 76 60 8A  .a...IFPKa.uav`=
.
    0E90: 69 0A 00 42 55 46 30 8A 69 0A 04 42 55 46 31 8A  i..BUF0.i..BUF1=
.
    0EA0: 69 0A 08 42 55 46 32 8A 69 0A 0C 42 55 46 33 8A  i..BUF2.i..BUF3=
.
    0EB0: 69 0A 10 42 55 46 34 8A 69 0A 14 42 55 46 35 70  i..BUF4.i..BUF5=
p
    0EC0: 83 88 49 46 50 4B 0A 00 00 42 55 46 30 70 83 88  ..IFPK...BUF0p.=
.
    0ED0: 49 46 50 4B 0A 01 00 42 55 46 31 70 83 88 49 46  IFPK...BUF1p..I=
F
    0EE0: 50 4B 0A 02 00 42 55 46 32 70 83 88 49 46 50 4B  PK...BUF2p..IFP=
K
    0EF0: 0A 03 00 42 55 46 33 70 83 88 49 46 50 4B 0A 04  ...BUF3p..IFPK.=
.
    0F00: 00 42 55 46 34 70 83 88 49 46 50 4B 0A 05 00 42  .BUF4p..IFPK...=
B
    0F10: 55 46 35 14 4E 0C 43 50 54 42 02 08 4C 4F 49 44  UF5.N.CPTB..LOI=
D
    0F20: 0A 00 8A 69 0A 00 42 55 46 30 8A 69 0A 04 42 55  ...i..BUF0.i..B=
U
    0F30: 46 31 8A 69 0A 08 42 55 46 32 8A 69 0A 0C 42 55  F1.i..BUF2.i..B=
U
    0F40: 46 33 8A 69 0A 10 42 55 46 34 70 0A 00 60 70 83  F3.i..BUF4p..`p=
.
    0F50: 88 4F 42 49 54 60 00 4C 4F 49 44 A2 47 07 4C 4F  .OBIT`.LOID.G.L=
O
    0F60: 49 44 A0 4E 05 93 4C 4F 49 44 68 70 83 88 4F 42  ID.N..LOIDhp..O=
B
    0F70: 49 54 72 60 0A 00 00 00 42 55 46 30 70 83 88 4F  ITr`....BUF0p..=
O
    0F80: 42 49 54 72 60 0A 01 00 00 42 55 46 31 70 83 88  BITr`....BUF1p.=
.
    0F90: 4F 42 49 54 72 60 0A 02 00 00 42 55 46 32 70 83  OBITr`....BUF2p=
.
    0FA0: 88 4F 42 49 54 72 60 0A 03 00 00 42 55 46 33 70  .OBITr`....BUF3=
p
    0FB0: 83 88 4F 42 49 54 72 60 0A 04 00 00 42 55 46 34  ..OBITr`....BUF=
4
    0FC0: A5 72 60 0A 06 60 70 83 88 4F 42 49 54 60 00 4C  .r`..`p..OBIT`.=
L
    0FD0: 4F 49 44 A0 0B 93 4C 4F 49 44 0A 00 A4 0A FF A4  OID...LOID.....=
.
    0FE0: 0A 00 14 44 0E 43 42 54 50 01 08 4C 4F 49 44 0A  ...D.CBTP..LOID=
.
    0FF0: 00 8A 68 0A 00 42 55 46 30 8A 68 0A 04 42 55 46  ..h..BUF0.h..BU=
F
    1000: 31 8A 68 0A 08 42 55 46 32 8A 68 0A 0C 42 55 46  1.h..BUF2.h..BU=
F
    1010: 33 8A 68 0A 10 42 55 46 34 8A 68 0A 14 42 55 46  3.h..BUF4.h..BU=
F
    1020: 35 70 0A 00 60 70 83 88 4F 42 49 54 60 00 4C 4F  5p..`p..OBIT`.L=
O
    1030: 49 44 A2 45 08 4C 4F 49 44 A0 4C 06 93 4C 4F 49  ID.E.LOID.L..LO=
I
    1040: 44 42 55 46 30 70 42 55 46 30 88 4F 42 49 54 72  DBUF0pBUF0.OBIT=
r
    1050: 60 0A 00 00 00 70 42 55 46 31 88 4F 42 49 54 72  `....pBUF1.OBIT=
r
    1060: 60 0A 01 00 00 70 42 55 46 32 88 4F 42 49 54 72  `....pBUF2.OBIT=
r
    1070: 60 0A 02 00 00 70 42 55 46 33 88 4F 42 49 54 72  `....pBUF3.OBIT=
r
    1080: 60 0A 03 00 00 70 42 55 46 34 88 4F 42 49 54 72  `....pBUF4.OBIT=
r
    1090: 60 0A 04 00 00 70 42 55 46 35 88 4F 42 49 54 72  `....pBUF5.OBIT=
r
    10A0: 60 0A 05 00 00 A5 72 60 0A 06 60 70 83 88 4F 42  `.....r`..`p..O=
B
    10B0: 49 54 60 00 4C 4F 49 44 A0 0B 93 4C 4F 49 44 0A  IT`.LOID...LOID=
.
    10C0: 00 A4 0A FF A4 0A 00 14 17 41 42 53 5F 02 A0 09  .........ABS_..=
.
    10D0: 95 68 69 A4 74 69 68 00 A1 06 A4 74 68 69 00 08  .hi.tih....thi.=
.
    10E0: 45 58 42 46 11 03 0A 78 5B 80 41 43 4D 53 01 0A  EXBF...x[.ACMS.=
.
    10F0: 72 0A 02 5B 81 10 41 43 4D 53 01 50 37 32 5F 08  r..[..ACMS.P72_=
.
    1100: 50 37 33 5F 08 14 32 42 53 46 5F 01 08 42 49 54  P73_..2BSF_..BI=
T
    1110: 30 0A 01 70 0A 08 61 A2 1A 61 7B 68 42 49 54 30  0..p..a..a{hBIT=
0
    1120: 62 A0 03 62 A5 79 42 49 54 30 0A 01 42 49 54 30  b..b.yBIT0..BIT=
0
    1130: 76 61 A4 74 0A 08 61 00 14 4E 08 47 43 4D 53 01  va.t..a..N.GCMS=
.
    1140: 08 41 44 44 52 0A 00 08 4D 41 53 4B 0A 00 08 54  .ADDR...MASK...=
T
    1150: 45 4D 50 11 03 0A 06 8A 54 45 4D 50 0A 00 54 4D  EMP.....TEMP..T=
M
    1160: 50 31 8B 54 45 4D 50 0A 04 54 4D 50 32 70 0A 01  P1.TEMP..TMP2p.=
.
    1170: 41 53 43 44 8B 45 58 42 46 0A 00 43 4D 53 49 8B  ASCD.EXBF..CMSI=
.
    1180: 45 58 42 46 0A 02 43 4D 53 44 70 0A 00 45 58 42  EXBF..CMSDp..EX=
B
    1190: 46 70 68 43 4D 53 49 70 45 58 42 46 41 53 42 46  FphCMSIpEXBFASB=
F
    11A0: 70 0A 62 53 4D 49 50 70 41 53 42 46 45 58 42 46  p.bSMIPpASBFEXB=
F
    11B0: 70 41 53 54 53 54 4D 50 31 70 43 4D 53 44 54 4D  pASTSTMP1pCMSDT=
M
    11C0: 50 32 A4 54 45 4D 50 14 43 06 53 43 4D 53 02 08  P2.TEMP.C.SCMS.=
.
    11D0: 41 44 44 52 0A 00 08 4D 41 53 4B 0A 00 70 0A 02  ADDR...MASK..p.=
.
    11E0: 41 53 43 44 8B 45 58 42 46 0A 00 43 4D 53 49 8B  ASCD.EXBF..CMSI=
.
    11F0: 45 58 42 46 0A 02 43 4D 53 44 70 0A 00 45 58 42  EXBF..CMSDp..EX=
B
    1200: 46 70 68 43 4D 53 49 70 69 43 4D 53 44 70 45 58  FphCMSIpiCMSDpE=
X
    1210: 42 46 41 53 42 46 70 0A 62 53 4D 49 50 70 41 53  BFASBFp.bSMIPpA=
S
    1220: 42 46 45 58 42 46 A4 41 53 54 53 14 46 04 53 54  BFEXBF.ASTS.F.S=
T
    1230: 4E 56 02 70 0A 03 41 53 43 44 5B 13 45 58 42 46  NV.p..ASCD[.EXB=
F
    1240: 0A 00 69 4D 4F 50 44 70 0A 00 45 58 42 46 70 68  ..iMOPDp..EXBFp=
h
    1250: 4D 4F 50 44 70 45 58 42 46 41 53 42 46 70 0A 62  MOPDpEXBFASBFp.=
b
    1260: 53 4D 49 50 70 41 53 42 46 45 58 42 46 A4 41 53  SMIPpASBFEXBF.A=
S
    1270: 54 53 08 43 50 55 44 0A 00 08 47 46 58 44 0A 00  TS.CPUD...GFXD.=
.
    1280: 08 53 42 43 44 0A 00 14 4B 08 47 45 54 43 01 A0  .SBCD...K.GETC.=
.
    1290: 25 5C 52 57 42 4B 0A 00 0A D3 0A 00 0A 20 54 53  %\RWBK....... T=
S
    12A0: 42 46 70 0A 01 47 56 42 32 70 0A 00 47 56 42 31  BFp..GVB2p..GVB=
1
    12B0: A4 47 56 42 46 70 0A 00 47 56 42 32 70 43 43 4C  .GVBFp..GVB2pCC=
L
    12C0: 4B 68 47 56 42 31 A0 2A 93 68 0A 01 A0 16 92 94  KhGVB1.*.h.....=
.
    12D0: 47 56 42 31 0C 40 0D 03 00 70 0C 40 0D 03 00 47  GVB1.@...p.@...=
G
    12E0: 56 42 31 A1 0D 74 47 56 42 31 0B E8 03 47 56 42  VB1..tGVB1...GV=
B
    12F0: 31 A0 1C 93 68 0A 02 A0 16 92 94 47 56 42 31 0C  1...h......GVB1=
.
    1300: A0 86 01 00 70 0C A0 86 01 00 47 56 42 31 A4 47  ....p.....GVB1.=
G
    1310: 56 42 46 14 4E 0E 53 45 54 43 02 A0 15 5C 52 57  VBF.N.SETC...\R=
W
    1320: 42 4B 0A 00 0A D3 0A 00 0A 20 54 53 42 46 A4 0A  BK....... TSBF.=
.
    1330: 01 70 0A 01 63 A0 42 04 93 68 0A 01 A0 3B 92 95  .p..c.B..h...;.=
.
    1340: 69 0C 40 0D 03 00 70 47 44 49 56 0A 14 60 70 47  i.@...pGDIV..`p=
G
    1350: 43 43 58 0A 10 0A 11 0A 14 0B 50 C3 61 70 77 69  CCX.......P.apw=
i
    1360: 60 00 62 72 62 77 60 0B E8 03 00 62 70 52 4D 50  `.brbw`....bpRM=
P
    1370: 43 61 62 0B E8 03 68 63 A1 41 08 A0 49 05 93 68  Cab...hc.A..I..=
h
    1380: 0A 02 70 47 44 49 56 0A 1C 60 70 47 43 43 58 0A  ..pGDIV..`pGCCX=
.
    1390: 1A 0A 1B 0A 1C 0B EE 37 61 70 77 69 60 00 62 70  .......7apwi`.b=
p
    13A0: 52 4D 50 43 61 62 0B E8 03 68 63 7D 83 88 54 53  RMPCab...hc}..T=
S
    13B0: 42 46 0A 0C 00 0A 20 88 54 53 42 46 0A 0C 00 A0  BF.... .TSBF...=
.
    13C0: 15 5C 52 57 42 4B 0A 00 0A D2 0A 0C 0A 01 54 53  .\RWBK........T=
S
    13D0: 42 46 A4 0A 01 A1 24 A0 22 93 68 0A 03 70 47 44  BF....$.".h..pG=
D
    13E0: 49 56 0A 1F 60 70 47 43 43 58 0A 1D 0A 1E 0A 1F  IV..`pGCCX.....=
.
    13F0: 0B EE 37 61 70 77 69 60 00 62 A0 04 63 A4 63 A4  ..7apwi`.b..c.c=
.
    1400: 0A 00 14 48 11 43 49 4E 49 00 A0 15 5C 52 57 42  ...H.CINI...\RW=
B
    1410: 4B 0A 00 0A D3 0A 06 0A 03 54 53 42 46 A4 0A 01  K........TSBF..=
.
    1420: A0 1F 91 92 93 83 88 54 53 42 46 0A 08 00 0A 31  .......TSBF....=
1
    1430: 92 93 83 88 54 53 42 46 0A 07 00 0A 75 A4 0A 03  ....TSBF....u..=
.
    1440: 7B 83 88 54 53 42 46 0A 06 00 0A 1F 88 54 53 42  {..TSBF......TS=
B
    1450: 46 0A 06 00 A0 15 5C 52 57 42 4B 0A 00 0A D2 0A  F.....\RWBK....=
.
    1460: 06 0A 01 54 53 42 46 A4 0A 01 A0 15 5C 52 57 42  ...TSBF.....\RW=
B
    1470: 4B 0A 00 0A D3 0A 0C 0A 01 54 53 42 46 A4 0A 01  K........TSBF..=
.
    1480: 7A 7B 83 88 54 53 42 46 0A 0C 00 0A 20 00 0A 05  z{..TSBF.... ..=
.
    1490: 60 A0 46 08 93 60 0A 00 A0 15 5C 52 57 42 4B 0A  `.F..`....\RWBK=
.
    14A0: 00 0A D3 0A 1A 0A 03 54 53 42 46 A4 0A 01 70 0A  .......TSBF...p=
.
    14B0: D3 88 54 53 42 46 0A 1A 00 70 0A A5 88 54 53 42  ..TSBF...p...TS=
B
    14C0: 46 0A 1B 00 7D 83 88 54 53 42 46 0A 1C 00 0A 80  F...}..TSBF....=
.
    14D0: 88 54 53 42 46 0A 1C 00 A0 15 5C 52 57 42 4B 0A  .TSBF.....\RWBK=
.
    14E0: 00 0A D2 0A 1A 0A 03 54 53 42 46 A4 0A 01 7D 83  .......TSBF...}=
.
    14F0: 88 54 53 42 46 0A 0C 00 0A 20 88 54 53 42 46 0A  .TSBF.... .TSBF=
.
    1500: 0C 00 A0 15 5C 52 57 42 4B 0A 00 0A D2 0A 0C 0A  ....\RWBK......=
.
    1510: 01 54 53 42 46 A4 0A 01 A4 0A 00 14 46 06 47 43  .TSBF.......F.G=
C
    1520: 43 58 04 7B 83 88 54 53 42 46 6A 00 0A 80 60 7A  CX.{..TSBFj...`=
z
    1530: 60 0A 07 60 7B 83 88 54 53 42 46 68 00 0A C0 61  `..`{..TSBFh...=
a
    1540: 7A 61 0A 05 61 7B 83 88 54 53 42 46 69 00 0A FF  za..a{..TSBFi..=
.
    1550: 62 79 62 0A 03 62 7D 60 61 60 7D 60 62 60 7B 83  byb..b}`a`}`b`{=
.
    1560: 88 54 53 42 46 68 00 0A 3F 61 77 6B 60 62 78 62  .TSBFh..?awk`bx=
b
    1570: 61 00 63 78 63 0B E8 03 00 63 77 63 0B E8 03 63  a.cxc....cwc...=
c
    1580: A4 63 08 56 43 4F 4D 0A 00 08 56 43 4F 4E 0A 00  .c.VCOM...VCON.=
.
    1590: 14 4A 05 43 43 4D 4E 05 70 69 60 70 41 42 53 5F  .J.CCMN.pi`pABS=
_
    15A0: 68 69 61 70 6A 62 A2 44 04 95 62 6B 70 0B FF 07  hiapjb.D..bkp..=
.
    15B0: 63 70 6C 64 A2 34 92 94 64 63 70 78 77 69 64 00  cpld.4..dcpxwid=
.
    15C0: 62 00 00 60 70 41 42 53 5F 68 60 65 A0 1A 95 65  b..`pABS_h`e...=
e
    15D0: 61 70 64 56 43 4F 4E 70 62 56 43 4F 4D 70 65 61  apdVCONpbVCOMpe=
a
    15E0: A0 06 93 65 0A 00 A5 75 64 75 62 14 4A 0A 43 43  ...e...udub.J.C=
C
    15F0: 4C 4B 01 08 56 43 4F 56 0A 00 08 56 43 4F 44 0A  LK..VCOV...VCOD=
.
    1600: 00 A0 2B 93 68 0A 01 70 47 44 49 56 0A 14 43 50  ..+.h..pGDIV..C=
P
    1610: 55 44 70 43 50 55 44 56 43 4F 44 70 47 43 43 58  UDpCPUDVCODpGCC=
X
    1620: 0A 10 0A 11 0A 14 0B 50 C3 56 43 4F 56 A1 4C 05  .......P.VCOV.L=
.
    1630: A0 2B 93 68 0A 02 70 47 44 49 56 0A 1C 47 46 58  .+.h..pGDIV..GF=
X
    1640: 44 70 47 46 58 44 56 43 4F 44 70 47 43 43 58 0A  DpGFXDVCODpGCCX=
.
    1650: 1A 0A 1B 0A 1C 0B EE 37 56 43 4F 56 A1 2D A0 2B  .......7VCOV.-.=
+
    1660: 93 68 0A 03 70 47 44 49 56 0A 1F 53 42 43 44 70  .h..pGDIV..SBCD=
p
    1670: 53 42 43 44 56 43 4F 44 70 47 43 43 58 0A 1D 0A  SBCDVCODpGCCX..=
.
    1680: 1E 0A 1F 0B EE 37 56 43 4F 56 A4 78 56 43 4F 56  .....7VCOV.xVCO=
V
    1690: 56 43 4F 44 00 00 14 44 0A 53 43 43 58 07 70 0A  VCOD...D.SCCX.p=
.
    16A0: 00 56 43 4F 4D 70 0A 00 56 43 4F 4E A0 0B 93 6C  .VCOMp..VCON...=
l
    16B0: 0B 50 C3 70 0B 68 01 60 A1 0D A0 0B 93 6C 0B EE  .P.p.h.`.....l.=
.
    16C0: 37 70 0B BB 02 60 43 43 4D 4E 68 6C 6D 6E 60 70  7p...`CCMNhlmn`=
p
    16D0: 7D 7B 79 56 43 4F 4E 0A 05 00 0A C0 00 56 43 4F  }{yVCON......VC=
O
    16E0: 4D 00 88 54 53 42 46 69 00 70 7B 7A 56 43 4F 4E  M..TSBFi.p{zVCO=
N
    16F0: 0A 03 00 0A FF 00 88 54 53 42 46 6A 00 7D 7B 83  .......TSBFj.}{=
.
    1700: 88 54 53 42 46 6B 00 0A 7F 00 7B 79 56 43 4F 4E  .TSBFk....{yVCO=
N
    1710: 0A 07 00 0A 80 00 88 54 53 42 46 6B 00 A0 1A 5C  .......TSBFk...=
\
    1720: 52 57 42 4B 0A 00 0A D2 69 72 74 6B 69 00 0A 01  RWBK....irtki..=
.
    1730: 00 54 53 42 46 A4 0A 01 A4 0A 00 08 44 49 56 44  .TSBF.......DIV=
D
    1740: 11 13 0A 10 02 03 05 09 04 06 0A 12 08 0C 14 24  ...............=
$
    1750: 10 18 28 48 14 1A 47 44 49 56 01 A4 83 88 44 49  ..(H..GDIV....D=
I
    1760: 56 44 7B 83 88 54 53 42 46 68 00 0A 0F 00 00 14  VD{..TSBFh.....=
.
    1770: 44 09 57 54 43 58 02 70 69 60 A0 40 05 93 68 0A  D.WTCX.pi`.@..h=
.
    1780: 01 70 78 60 0B D0 07 00 00 61 70 43 43 4D 53 50  .px`.....apCCMS=
P
    1790: 37 32 5F 70 61 50 37 33 5F A0 1E 92 95 61 0B 00  72_paP73_....a.=
.
    17A0: 01 70 72 43 43 4D 53 0A 01 43 43 4D 53 50 37 32  .prCCMS..CCMSP7=
2
    17B0: 5F 70 0A 01 50 37 33 5F A4 53 43 43 58 60 0A 10  _p..P73_.SCCX`.=
.
    17C0: 0A 11 0A 14 0B 50 C3 0A 1E 0A 3F A1 35 A0 18 93  .....P....?.5..=
.
    17D0: 68 0A 02 A4 53 43 43 58 60 0A 1A 0A 1B 0A 1C 0B  h...SCCX`......=
.
    17E0: EE 37 0A 0A 0A 1E A1 1A A0 18 93 68 0A 03 A4 53  .7.........h...=
S
    17F0: 43 43 58 60 0A 1D 0A 1E 0A 1F 0B EE 37 0A 0A 0A  CCX`........7..=
.
    1800: 1E A4 0A 04 14 32 52 4D 50 43 04 08 53 54 41 54  .....2RMPC..STA=
T
    1810: 0A 00 70 68 60 70 69 61 A0 1B 92 93 60 61 70 57  ..ph`pia....`ap=
W
    1820: 54 43 58 6B 61 53 54 41 54 A0 0A 53 54 41 54 A4  TCXkaSTAT..STAT=
.
    1830: 53 54 41 54 A4 0A 00 08 55 50 36 32 11 09 0A 06  STAT....UP62...=
.
    1840: 00 00 00 00 00 00 14 06 56 49 4E 49 00 14 45 17  ........VINI..E=
.
    1850: 53 45 54 56 02 A0 47 04 93 68 0A 01 70 69 60 A0  SETV..G..h..pi`=
.
    1860: 10 92 95 60 0C 50 34 03 00 70 0C 20 BF 02 00 60  ...`.P4..p. ...=
`
    1870: 74 60 0C 20 BF 02 00 60 70 78 60 0B D0 07 00 00  t`. ...`px`....=
.
    1880: 60 70 72 0A 00 60 00 88 55 50 36 32 0A 00 00 52  `pr..`..UP62...=
R
    1890: 57 42 59 0A 2A 0A 01 55 50 36 32 0A 00 A0 47 04  WBY.*..UP62...G=
.
    18A0: 93 68 0A 02 70 69 60 A0 10 92 95 60 0C 50 3A 02  .h..pi`....`.P:=
.
    18B0: 00 70 0C C0 D4 01 00 60 74 60 0C C0 D4 01 00 60  .p.....`t`.....=
`
    18C0: 70 78 60 0B D0 07 00 00 60 70 72 0A 00 60 00 88  px`.....`pr..`.=
.
    18D0: 55 50 36 32 0A 01 00 52 57 42 59 0A 2A 0A 02 55  UP62...RWBY.*..=
U
    18E0: 50 36 32 0A 01 A0 47 04 93 68 0A 03 70 69 60 A0  P62...G..h..pi`=
.
    18F0: 10 92 95 60 0C 68 AD 03 00 70 0C D8 4D 02 00 60  ...`.h...p..M..=
`
    1900: 74 60 0C D8 4D 02 00 60 70 78 60 0B D0 07 00 00  t`..M..`px`....=
.
    1910: 60 70 72 0A 00 60 00 88 55 50 36 32 0A 02 00 52  `pr..`..UP62...=
R
    1920: 57 42 59 0A 2A 0A 03 55 50 36 32 0A 02 A0 47 04  WBY.*..UP62...G=
.
    1930: 93 68 0A 04 70 69 60 A0 10 92 95 60 0C F0 BA 04  .h..pi`....`...=
.
    1940: 00 70 0C 90 D0 03 00 60 74 60 0C 90 D0 03 00 60  .p.....`t`.....=
`
    1950: 70 78 60 0B A0 0F 00 00 60 70 72 0A C0 60 00 88  px`.....`pr..`.=
.
    1960: 55 50 36 32 0A 03 00 52 57 42 59 0A 20 0A 01 55  UP62...RWBY. ..=
U
    1970: 50 36 32 0A 03 A0 47 04 93 68 0A 05 70 69 60 A0  P62...G..h..pi`=
.
    1980: 10 92 95 60 0C 68 36 02 00 70 0C 38 C1 01 00 60  ...`.h6..p.8...=
`
    1990: 74 60 0C 38 C1 01 00 60 70 78 60 0B D0 07 00 00  t`.8...`px`....=
.
    19A0: 60 70 72 0A 00 60 00 88 55 50 36 32 0A 04 00 52  `pr..`..UP62...=
R
    19B0: 57 42 59 0A 20 0A 02 55 50 36 32 0A 04 A0 05 93  WBY. ..UP62....=
.
    19C0: 68 0A 06 14 48 14 47 45 54 56 01 A0 3B 93 68 0A  h...H.GETV..;.h=
.
    19D0: 01 52 57 42 59 0A 2B 0A 01 55 50 36 32 0A 00 70  .RWBY.+..UP62..=
p
    19E0: 83 88 55 50 36 32 0A 00 00 60 A0 0A 92 95 60 0A  ..UP62...`....`=
.
    19F0: 40 70 0A 00 60 70 72 0C 20 BF 02 00 77 60 0B D0  @p..`pr. ...w`.=
.
    1A00: 07 00 00 47 56 42 46 A0 3B 93 68 0A 02 52 57 42  ...GVBF.;.h..RW=
B
    1A10: 59 0A 2B 0A 02 55 50 36 32 0A 01 70 83 88 55 50  Y.+..UP62..p..U=
P
    1A20: 36 32 0A 01 00 60 A0 0A 92 95 60 0A 40 70 0A 00  62...`....`.@p.=
.
    1A30: 60 70 72 0C C0 D4 01 00 77 60 0B D0 07 00 00 47  `pr.....w`.....=
G
    1A40: 56 42 46 A0 3B 93 68 0A 03 52 57 42 59 0A 2B 0A  VBF.;.h..RWBY.+=
.
    1A50: 03 55 50 36 32 0A 02 70 83 88 55 50 36 32 0A 02  .UP62..p..UP62.=
.
    1A60: 00 60 A0 0A 92 95 60 0A 40 70 0A 00 60 70 72 0C  .`....`.@p..`pr=
.
    1A70: D8 4D 02 00 77 60 0B D0 07 00 00 47 56 42 46 A0  .M..w`.....GVBF=
.
    1A80: 45 04 93 68 0A 04 52 57 42 59 0A 21 0A 01 55 50  E..h..RWBY.!..U=
P
    1A90: 36 32 0A 03 70 83 88 55 50 36 32 0A 03 00 60 7B  62..p..UP62...`=
{
    1AA0: 60 0A C0 61 A0 09 93 61 0A 80 70 0A C0 60 7B 60  `..a...a..p..`{=
`
    1AB0: 0A 3F 60 70 72 0C 90 D0 03 00 77 60 0B A0 0F 00  .?`pr.....w`...=
.
    1AC0: 00 47 56 42 46 A0 3B 93 68 0A 05 52 57 42 59 0A  .GVBF.;.h..RWBY=
.
    1AD0: 21 0A 02 55 50 36 32 0A 04 70 83 88 55 50 36 32  !..UP62..p..UP6=
2
    1AE0: 0A 04 00 60 A0 0A 92 95 60 0A 40 70 0A 00 60 70  ...`....`.@p..`=
p
    1AF0: 72 0C 38 C1 01 00 77 60 0B D0 07 00 00 47 56 42  r.8...w`.....GV=
B
    1B00: 46 A0 05 93 68 0A 06 A4 47 56 42 46 14 49 09 52  F...h...GVBF.I.=
R
    1B10: 57 42 59 04 70 0A FF 60 70 60 53 4D 53 41 5B 22  WBY.p..`p`SMSA[=
"
    1B20: 0A 02 70 68 60 70 60 53 42 41 41 5B 22 0A 02 70  ..ph`p`SBAA["..=
p
    1B30: 69 60 70 60 53 48 43 41 5B 22 0A 02 7B 68 0A 01  i`p`SHCA["..{h.=
.
    1B40: 61 A0 12 93 61 0A 00 70 83 88 6A 6B 00 60 70 60  a...a..p..jk.`p=
`
    1B50: 53 44 30 41 70 0A 48 60 70 60 53 42 43 41 5B 22  SD0Ap.H`p`SBCA[=
"
    1B60: 0A 02 70 53 4D 53 41 61 A2 23 92 7B 61 0A 01 00  ..pSMSAa.#.{a..=
.
    1B70: 70 53 4D 53 41 61 A0 09 7B 61 0A 1C 00 A4 0A 01  pSMSAa..{a.....=
.
    1B80: A0 07 7B 61 0A 02 00 A5 5B 22 0A 02 7B 68 0A 01  ..{a....["..{h.=
.
    1B90: 61 A0 11 93 61 0A 01 70 53 44 30 41 60 70 60 88  a...a..pSD0A`p`=
.
    1BA0: 6A 6B 00 A4 0A 00 08 47 46 30 31 0A 00 08 4F 56  jk.....GF01...O=
V
    1BB0: 46 4C 0A 01 08 4F 43 46 4C 0A 01 08 54 53 42 46  FL...OCFL...TSB=
F
    1BC0: 11 44 04 0A 40 00 00 00 00 00 00 00 00 00 00 00  .D..@..........=
.
    1BD0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    1BE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    1BF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    1C00: 00 00 00 00 00 08 47 56 42 46 11 08 0A 05 00 00  ......GVBF.....=
.
    1C10: 00 00 00 8A 47 56 42 46 0A 00 47 56 42 31 8C 47  ....GVBF..GVB1.=
G
    1C20: 56 42 46 0A 04 47 56 42 32 14 47 04 41 4D 30 31  VBF..GVB2.G.AM0=
1
    1C30: 00 A0 0E 44 42 47 5F 70 0D 41 4D 30 31 00 5B 31  ...DBG_p.AM01.[=
1
    1C40: A0 2D 92 47 46 30 31 42 4D 30 31 A0 09 4F 43 46  .-.GF01BM01..OC=
F
    1C50: 4C 43 49 4E 49 A0 09 4F 56 46 4C 56 49 4E 49 58  LCINI..OVFLVINI=
X
    1C60: 49 4E 49 45 4D 30 31 70 0A 01 47 46 30 31 A4 0A  INIEM01p..GF01.=
.
    1C70: 00 14 21 41 4D 30 32 00 A0 15 44 42 47 5F 70 0D  ..!AM02...DBG_p=
.
    1C80: 41 4D 30 32 00 5B 31 70 4F 42 49 44 5B 31 A4 4F  AM02.[1pOBID[1.=
O
    1C90: 42 49 44 14 48 07 41 4D 30 33 01 A0 0E 44 42 47  BID.H.AM03...DB=
G
    1CA0: 5F 70 0D 41 4D 30 33 00 5B 31 53 4F 49 44 68 A0  _p.AM03.[1SOIDh=
.
    1CB0: 17 90 93 49 44 30 31 0A 01 4F 43 46 4C 70 47 45  ...ID01..OCFLpG=
E
    1CC0: 54 43 49 44 30 32 60 A1 2F A0 17 90 93 49 44 30  TCID02`./....ID=
0
    1CD0: 31 0A 02 4F 56 46 4C 70 47 45 54 56 49 44 30 32  1..OVFLpGETVID0=
2
    1CE0: 60 A1 15 70 0A 00 47 56 42 31 70 0A 04 47 56 42  `..p..GVB1p..GV=
B
    1CF0: 32 70 47 56 42 46 60 A0 12 44 42 47 5F 70 0D 47  2pGVBF`..DBG_p.=
G
    1D00: 56 42 46 00 5B 31 70 60 5B 31 A4 60 14 43 05 41  VBF.[1p`[1.`.C.=
A
    1D10: 4D 30 34 02 A0 0E 44 42 47 5F 70 0D 41 4D 30 34  M04...DBG_p.AM0=
4
    1D20: 00 5B 31 53 4F 49 44 68 A0 16 90 93 49 44 30 31  .[1SOIDh....ID0=
1
    1D30: 0A 01 4F 43 46 4C 53 45 54 43 49 44 30 32 69 A1  ..OCFLSETCID02i=
.
    1D40: 1D A0 16 90 93 49 44 30 31 0A 02 4F 56 46 4C 53  .....ID01..OVFL=
S
    1D50: 45 54 56 49 44 30 32 69 A1 04 A4 0A 04 A4 0A 00  ETVID02i.......=
.
    1D60: 14 48 0D 41 4D 30 35 01 08 49 4E 46 4F 11 17 0A  .H.AM05..INFO..=
.
    1D70: 14 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    1D80: 00 00 00 00 00 8A 49 4E 46 4F 0A 00 49 46 49 44  ......INFO..IFI=
D
    1D90: 8A 49 4E 46 4F 0A 04 49 46 4D 49 8A 49 4E 46 4F  .INFO..IFMI.INF=
O
    1DA0: 0A 08 49 46 4D 58 8A 49 4E 46 4F 0A 0C 49 46 53  ..IFMX.INFO..IF=
S
    1DB0: 50 5B 13 49 4E 46 4F 0A 80 0A 03 49 46 53 54 A0  P[.INFO....IFST=
.
    1DC0: 15 44 42 47 5F 70 0D 41 4D 30 35 00 5B 31 70 4F  .DBG_p.AM05.[1p=
O
    1DD0: 42 49 54 5B 31 53 4F 49 44 68 A0 1A 44 42 47 5F  BIT[1SOIDh..DBG=
_
    1DE0: 70 0D 49 44 00 5B 31 70 49 44 30 31 5B 31 70 49  p.ID.[1pID01[1p=
I
    1DF0: 44 30 32 5B 31 42 4D 30 35 68 A0 15 44 42 47 5F  D02[1BM05h..DBG=
_
    1E00: 70 0D 4F 42 49 54 00 5B 31 70 4F 42 49 54 5B 31  p.OBIT.[1pOBIT[=
1
    1E10: 43 50 54 42 68 49 4E 46 4F 45 4D 30 35 68 A0 15  CPTBhINFOEM05h.=
.
    1E20: 44 42 47 5F 70 0D 69 6E 66 6F 00 5B 31 70 49 4E  DBG_p.info.[1pI=
N
    1E30: 46 4F 5B 31 A4 49 4E 46 4F 14 0D 41 4D 30 36 00  FO[1.INFO..AM06=
.
    1E40: 48 4D 30 36 A4 0A 00 14 0E 41 4D 30 37 01 48 4D  HM06.....AM07.H=
M
    1E50: 30 37 68 A4 0A 00 14 41 0F 41 4D 30 38 01 08 4C  07h....A.AM08..=
L
    1E60: 4F 44 54 12 4B 06 34 0A 00 0A 00 0A 00 0A 00 0A  ODT.K.4........=
.
    1E70: 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A  ...............=
.
    1E80: 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A  ...............=
.
    1E90: 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A  ...............=
.
    1EA0: 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A  ...............=
.
    1EB0: 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A  ...............=
.
    1EC0: 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 70  ...............=
p
    1ED0: 0A 00 60 A2 3A 0A 01 A0 10 93 83 88 4F 42 44 54  ..`.:.......OBD=
T
    1EE0: 60 00 68 70 0A 00 64 A5 A0 11 93 83 88 4F 42 44  `.hp..d......OB=
D
    1EF0: 54 60 00 0A 00 70 0A 04 64 A5 72 60 83 88 4F 42  T`...p..d.r`..O=
B
    1F00: 44 54 72 60 0A 01 00 00 60 72 60 0A 02 60 A0 02  DTr`....`r`..`.=
.
    1F10: 64 A1 31 70 83 88 4F 42 44 54 72 60 0A 01 00 00  d.1p..OBDTr`...=
.
    1F20: 61 72 61 0A 02 61 70 0A 00 62 A2 18 61 70 83 88  ara..ap..b..ap.=
.
    1F30: 4F 42 44 54 60 00 88 4C 4F 44 54 62 00 76 61 75  OBDT`..LODTb.va=
u
    1F40: 60 75 62 A4 4C 4F 44 54 08 4F 42 53 56 12 14 09  `ub.LODT.OBSV..=
.
    1F50: 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00 0A 00  ...............=
.
    1F60: 0A 00 14 4A 08 41 50 54 53 01 A0 42 08 90 47 46  ...J.APTS..B..G=
F
    1F70: 30 31 91 93 68 0A 04 93 68 0A 03 70 83 88 4F 42  01..h...h..p..O=
B
    1F80: 49 44 0A 00 00 60 70 0A 01 61 70 0A 00 62 A2 4E  ID...`p..ap..b.=
N
    1F90: 05 60 53 4F 49 44 83 88 4F 42 49 44 61 00 A0 1B  .`SOID..OBIDa..=
.
    1FA0: 90 93 49 44 30 31 0A 01 4F 43 46 4C 47 45 54 43  ..ID01..OCFLGET=
C
    1FB0: 49 44 30 32 70 47 56 42 31 63 A1 23 A0 1B 90 93  ID02pGVB1c.#...=
.
    1FC0: 49 44 30 31 0A 02 4F 56 46 4C 47 45 54 56 49 44  ID01..OVFLGETVI=
D
    1FD0: 30 32 70 47 56 42 31 63 A1 05 70 0A 00 63 70 63  02pGVB1c..p..cp=
c
    1FE0: 88 4F 42 53 56 62 00 76 60 75 61 75 62 14 44 07  .OBSVb.v`uaub.D=
.
    1FF0: 41 57 41 4B 01 A0 4C 06 90 47 46 30 31 91 93 68  AWAK..L..GF01..=
h
    2000: 0A 04 93 68 0A 03 70 83 88 4F 42 49 44 0A 00 00  ...h..p..OBID..=
.
    2010: 60 70 0A 01 61 70 0A 00 62 A2 48 04 60 70 83 88  `p..ap..b.H.`p.=
.
    2020: 4F 42 53 56 62 00 63 53 4F 49 44 83 88 4F 42 49  OBSVb.cSOID..OB=
I
    2030: 44 61 00 A0 16 90 93 49 44 30 31 0A 01 4F 43 46  Da.....ID01..OC=
F
    2040: 4C 53 45 54 43 49 44 30 32 63 A1 11 A0 0D 90 93  LSETCID02c.....=
.
    2050: 49 44 30 31 0A 02 4F 56 46 4C A1 01 76 60 75 61  ID01..OVFL..v`u=
a
    2060: 75 62 08 43 4D 44 56 0A 01 14 0B 41 4D 30 39 00  ub.CMDV....AM09=
.
    2070: A4 43 4D 44 56 08 4F 42 55 46 11 04 0B 00 04 14  .CMDV.OBUF.....=
.
    2080: 49 0F 41 4D 31 30 01 8A 68 0A 00 41 43 4D 44 5B  I.AM10..h..ACMD=
[
    2090: 13 4F 42 55 46 0A 00 0B 00 10 54 45 4D 50 70 0A  .OBUF.....TEMPp=
.
    20A0: 00 54 45 4D 50 8A 4F 42 55 46 0A 00 43 4D 44 53  .TEMP.OBUF..CMD=
S
    20B0: A0 0F 93 41 43 4D 44 0C 01 00 03 00 52 33 30 31  ...ACMD.....R30=
1
    20C0: A1 43 0B A0 10 93 41 43 4D 44 0C 02 00 03 00 52  .C....ACMD.....=
R
    20D0: 33 30 32 68 A1 4F 09 A0 10 93 41 43 4D 44 0C 03  302h.O....ACMD.=
.
    20E0: 00 03 00 52 33 30 33 68 A1 4B 08 A0 10 93 41 43  ...R303h.K....A=
C
    20F0: 4D 44 0C 04 00 03 00 52 33 30 34 68 A1 47 07 A0  MD.....R304h.G.=
.
    2100: 10 93 41 43 4D 44 0C 01 00 04 00 52 34 30 31 68  ..ACMD.....R401=
h
    2110: A1 43 06 A0 15 93 41 43 4D 44 0C 02 00 04 00 70  .C....ACMD.....=
p
    2120: 0C 00 00 01 00 43 4D 44 53 A1 4A 04 A0 15 93 41  .....CMDS.J....=
A
    2130: 43 4D 44 0C 03 00 04 00 70 0C 00 00 01 00 43 4D  CMD.....p.....C=
M
    2140: 44 53 A1 31 A0 10 93 41 43 4D 44 0C 04 00 04 00  DS.1...ACMD....=
.
    2150: 52 34 30 34 68 A1 1E A0 10 93 41 43 4D 44 0C 01  R404h.....ACMD.=
.
    2160: 00 05 00 52 35 30 31 68 A1 0B 70 0C 00 00 01 00  ...R501h..p....=
.
    2170: 43 4D 44 53 A4 4F 42 55 46 08 43 4D 44 4C 11 03  CMDS.OBUF.CMDL.=
.
    2180: 0A 54 14 4B 17 41 4D 31 31 00 08 54 45 4D 50 0A  .T.K.AM11..TEMP=
.
    2190: 00 8A 43 4D 44 4C 0A 00 43 4D 44 43 72 54 45 4D  ..CMDL..CMDCrTE=
M
    21A0: 50 0A 04 54 45 4D 50 8A 43 4D 44 4C 54 45 4D 50  P..TEMP.CMDLTEM=
P
    21B0: 43 4D 44 31 72 54 45 4D 50 0A 04 54 45 4D 50 70  CMD1rTEMP..TEMP=
p
    21C0: 0C 01 00 03 00 43 4D 44 31 8A 43 4D 44 4C 54 45  .....CMD1.CMDLT=
E
    21D0: 4D 50 43 4D 44 32 72 54 45 4D 50 0A 04 54 45 4D  MPCMD2rTEMP..TE=
M
    21E0: 50 70 0C 02 00 03 00 43 4D 44 32 8A 43 4D 44 4C  Pp.....CMD2.CMD=
L
    21F0: 54 45 4D 50 43 4D 44 33 72 54 45 4D 50 0A 04 54  TEMPCMD3rTEMP..=
T
    2200: 45 4D 50 70 0C 03 00 03 00 43 4D 44 33 8A 43 4D  EMPp.....CMD3.C=
M
    2210: 44 4C 54 45 4D 50 43 4D 44 34 72 54 45 4D 50 0A  DLTEMPCMD4rTEMP=
.
    2220: 04 54 45 4D 50 70 0C 04 00 03 00 43 4D 44 34 8A  .TEMPp.....CMD4=
.
    2230: 43 4D 44 4C 54 45 4D 50 43 4D 44 35 72 54 45 4D  CMDLTEMPCMD5rTE=
M
    2240: 50 0A 04 54 45 4D 50 70 0C 01 00 04 00 43 4D 44  P..TEMPp.....CM=
D
    2250: 35 8A 43 4D 44 4C 54 45 4D 50 43 4D 44 36 72 54  5.CMDLTEMPCMD6r=
T
    2260: 45 4D 50 0A 04 54 45 4D 50 70 0C 02 00 04 00 43  EMP..TEMPp.....=
C
    2270: 4D 44 36 8A 43 4D 44 4C 54 45 4D 50 43 4D 44 37  MD6.CMDLTEMPCMD=
7
    2280: 72 54 45 4D 50 0A 04 54 45 4D 50 70 0C 03 00 04  rTEMP..TEMPp...=
.
    2290: 00 43 4D 44 37 8A 43 4D 44 4C 54 45 4D 50 43 4D  .CMD7.CMDLTEMPC=
M
    22A0: 44 38 72 54 45 4D 50 0A 04 54 45 4D 50 70 0C 04  D8rTEMP..TEMPp.=
.
    22B0: 00 04 00 43 4D 44 38 8A 43 4D 44 4C 54 45 4D 50  ...CMD8.CMDLTEM=
P
    22C0: 43 4D 44 39 72 54 45 4D 50 0A 04 54 45 4D 50 70  CMD9rTEMP..TEMP=
p
    22D0: 0C 01 00 05 00 43 4D 44 39 74 54 45 4D 50 0A 04  .....CMD9tTEMP.=
.
    22E0: 54 45 4D 50 78 54 45 4D 50 0A 04 00 54 45 4D 50  TEMPxTEMP...TEM=
P
    22F0: 70 54 45 4D 50 43 4D 44 43 A4 43 4D 44 4C 14 37  pTEMPCMDC.CMDL.=
7
    2300: 52 33 30 31 00 70 83 88 51 4C 53 54 0A 00 00 60  R301.p..QLST...=
`
    2310: 8A 4F 42 55 46 0A 00 54 4D 50 31 8B 4F 42 55 46  .OBUF..TMP1.OBU=
F
    2320: 0A 04 54 4D 50 32 70 60 54 4D 50 32 70 0A 00 54  ..TMP2p`TMP2p..=
T
    2330: 4D 50 31 A4 0A 00 14 43 1E 52 33 30 32 01 08 43  MP1....C.R302..=
C
    2340: 49 44 58 0A 00 8B 68 0A 04 49 49 44 58 70 0A 01  IDX...h..IIDXp.=
.
    2350: 43 49 44 58 70 83 88 83 88 51 4C 53 54 49 49 44  CIDXp....QLSTII=
D
    2360: 58 00 43 49 44 58 00 60 75 43 49 44 58 70 0A 20  X.CIDX.`uCIDXp.
    2370: 61 5B 13 4F 42 55 46 61 0B 00 01 54 4D 50 31 70  a[.OBUFa...TMP1=
p
    2380: 60 54 4D 50 31 72 61 0B 00 01 61 70 83 88 83 88  `TMP1ra...ap...=
.
    2390: 51 4C 53 54 49 49 44 58 00 43 49 44 58 00 60 75  QLSTIIDX.CIDX.`=
u
    23A0: 43 49 44 58 5B 13 4F 42 55 46 61 0A 08 54 4D 50  CIDX[.OBUFa..TM=
P
    23B0: 32 70 60 54 4D 50 32 72 61 0A 08 61 70 60 62 78  2p`TMP2ra..ap`b=
x
    23C0: 61 0A 08 00 65 A2 49 05 94 62 0A 00 70 83 88 83  a...e.I..b..p..=
.
    23D0: 88 51 4C 53 54 49 49 44 58 00 43 49 44 58 00 60  .QLSTIIDX.CIDX.=
`
    23E0: 70 0A 05 64 70 0A 00 66 A2 2A 94 64 0A 00 A0 12  p..dp..f.*.d...=
.
    23F0: 95 66 87 60 70 83 88 60 66 00 88 4F 42 55 46 65  .f.`p..`f..OBUF=
e
    2400: 00 A1 0B 70 0A 00 88 4F 42 55 46 65 00 75 66 75  ...p...OBUFe.uf=
u
    2410: 65 76 64 72 61 0A 28 61 76 62 75 43 49 44 58 70  evdra.(avbuCIDX=
p
    2420: 0B 70 03 61 70 83 88 83 88 51 4C 53 54 49 49 44  .p.ap....QLSTII=
D
    2430: 58 00 43 49 44 58 00 60 75 43 49 44 58 5B 13 4F  X.CIDX.`uCIDX[.=
O
    2440: 42 55 46 61 0A 10 54 4D 50 33 70 60 54 4D 50 33  BUFa..TMP3p`TMP=
3
    2450: 72 61 0A 10 61 70 83 88 83 88 51 4C 53 54 49 49  ra..ap....QLSTI=
I
    2460: 44 58 00 43 49 44 58 00 66 A0 47 04 93 8E 66 0A  DX.CIDX.f.G...f=
.
    2470: 04 70 87 66 62 78 61 0A 08 00 65 70 0A 00 63 A2  .p.fbxa...ep..c=
.
    2480: 31 94 62 0A 00 70 83 88 66 63 00 60 70 87 60 64  1.b..p..fc.`p.`=
d
    2490: 70 0A 00 67 A2 18 94 64 0A 00 70 83 88 60 67 00  p..g...d..p..`g=
.
    24A0: 88 4F 42 55 46 65 00 75 67 75 65 76 64 76 62 75  .OBUFe.uguevdvb=
u
    24B0: 63 A1 43 05 70 60 62 78 61 0A 08 00 65 A2 47 04  c.C.p`bxa...e.G=
.
    24C0: 94 62 0A 00 70 83 88 83 88 51 4C 53 54 49 49 44  .b..p....QLSTII=
D
    24D0: 58 00 43 49 44 58 00 60 70 87 60 64 70 0A 00 66  X.CIDX.`p.`dp..=
f
    24E0: A2 18 94 64 0A 00 70 83 88 60 66 00 88 4F 42 55  ...d..p..`f..OB=
U
    24F0: 46 65 00 75 66 75 65 76 64 72 61 0A 80 00 76 62  Fe.ufuevdra...v=
b
    2500: 75 43 49 44 58 8A 4F 42 55 46 0A 00 54 4D 50 34  uCIDX.OBUF..TMP=
4
    2510: 70 0A 00 54 4D 50 34 A4 0A 00 14 43 06 52 33 30  p..TMP4....C.R3=
0
    2520: 33 01 8B 68 0A 04 49 49 54 4D 8A 4F 42 55 46 0A  3..h..IITM.OBUF=
.
    2530: 00 54 4D 50 31 8B 4F 42 55 46 0A 04 54 4D 50 32  .TMP1.OBUF..TMP=
2
    2540: 70 83 88 83 88 51 4C 53 54 49 49 54 4D 00 0A 00  p....QLSTIITM..=
.
    2550: 00 60 70 47 43 4D 53 60 61 8A 61 0A 00 54 4D 50  .`pGCMS`a.a..TM=
P
    2560: 33 8B 61 0A 04 54 4D 50 34 70 54 4D 50 33 54 4D  3.a..TMP4pTMP3T=
M
    2570: 50 31 70 54 4D 50 34 54 4D 50 32 A4 0A 00 14 45  P1pTMP4TMP2....=
E
    2580: 04 52 33 30 34 01 8B 68 0A 04 49 49 54 4D 8B 68  .R304..h..IITM.=
h
    2590: 0A 06 43 4D 53 44 8A 4F 42 55 46 0A 00 54 4D 50  ..CMSD.OBUF..TM=
P
    25A0: 31 70 83 88 83 88 51 4C 53 54 49 49 54 4D 00 0A  1p....QLSTIITM.=
.
    25B0: 00 00 60 70 53 43 4D 53 60 43 4D 53 44 54 4D 50  ..`pSCMS`CMSDTM=
P
    25C0: 31 A4 0A 00 08 56 45 4E 44 11 07 0A 04 47 42 54  1....VEND....GB=
T
    25D0: 00 14 21 52 34 30 31 01 5B 13 4F 42 55 46 0A 20  ..!R401.[.OBUF.
    25E0: 0B 00 02 54 4D 50 32 70 56 45 4E 44 54 4D 50 32  ...TMP2pVENDTMP=
2
    25F0: A4 0A 00 14 23 52 34 30 34 01 8A 4F 42 55 46 0A  ....#R404..OBUF=
.
    2600: 04 56 44 49 4F 47 45 54 56 0A 01 70 47 56 42 31  .VDIOGETV..pGVB=
1
    2610: 56 44 49 4F A4 0A 00 14 33 52 35 30 31 01 8C 68  VDIO....3R501..=
h
    2620: 0A 04 4D 4F 50 56 A0 0C 93 4D 4F 50 56 0A 01 70  ..MOPV...MOPV..=
p
    2630: 0A 1F 60 77 60 0A 08 61 5B 13 68 0A 20 61 4D 4F  ..`w`..a[.h. aM=
O
    2640: 50 44 53 54 4E 56 4D 4F 50 44 61 08 57 51 42 41  PDSTNVMOPDa.WQB=
A
    2650: 11 40 BC 0B BB 0B 46 4F 4D 42 01 00 00 00 AB 0B  .@....FOMB.....=
.
    2660: 00 00 20 4A 00 00 44 53 00 01 1A 7D DA 54 28 5B  .. J..DS...}.T(=
[
    2670: A4 00 01 06 18 42 10 15 10 22 21 04 12 01 A1 C8  .....B..."!....=
.
    2680: 2C 0C 86 10 38 2E 84 1C 40 48 1C 14 4A 08 84 FA  ,...8...@H..J..=
.
    2690: 13 C8 AF 00 84 0E 05 C8 14 60 50 80 53 04 11 F4  .........`P.S..=
.
    26A0: 2A C0 A6 00 93 02 2C 0A D0 2E C0 B2 00 DD 02 A4  *.....,........=
.
    26B0: C3 92 AD 08 1C 21 06 1C A5 13 5B B8 61 83 17 8A  .....!....[.a..=
.
    26C0: A2 19 44 49 50 B9 00 DF 08 02 2F 57 80 E4 09 48  ..DIP...../W...=
H
    26D0: B3 00 C3 02 AC 0B 90 3D 04 2A 75 08 28 39 43 40  .......=3D.*u.(=
9C@
    26E0: 0D A0 D5 09 08 BF D2 29 21 09 C2 19 AB 78 7C CD  .......)!....x|=
.
    26F0: A2 E9 39 C9 39 86 1C 8F 0B 3D 08 1E 47 03 08 93  ..9.9....=3D..G=
...
    2700: 3F 64 05 80 41 49 18 0B 75 31 6A D4 48 D9 80 0C  ?d..AI..u1j.H..=
.
    2710: 51 DA A8 D1 03 3A BF 23 39 BB A3 3B 92 04 46 3D  Q....:.#9..;..F=
=3D
    2720: A6 63 2C 6C 46 42 8D D1 1C 14 09 37 68 B4 44 58  .c,lFB.....7h.D=
X
    2730: 8D 2B F6 99 59 F8 B0 84 71 04 07 76 B0 16 0D 23  .+..Y...q..v...=
#
    2740: B4 82 E0 34 88 A3 88 12 86 E1 19 33 D0 51 32 A4  ...4.......3.Q2=
.
    2750: 30 41 4F 20 C8 C9 33 2C 43 9C 01 C7 8A 11 2A 24  0AO ..3,C.....*=
$
    2760: 66 20 C1 FF FF 27 D0 35 86 3C 03 91 7B C0 09 04  f ...'.5.<..{..=
.
    2770: 89 1E 25 B8 71 8D CA C6 74 36 B8 81 99 20 CE E1  ..%.q...t6... .=
.
    2780: 61 64 40 68 02 F1 63 87 4F 60 F7 C7 01 29 44 D0  ad@h..c.O`...)D=
.
    2790: 85 E0 4C 6B 14 60 ED EC 20 5B 10 3A 0B C4 6A 0C  ..Lk.`.. [.:..j=
.
    27A0: 45 10 11 82 46 31 5E 84 50 21 A2 44 3D E7 20 B5  E...F1^.P!.D=3D=
. .
    27B0: 09 50 06 22 B4 60 46 60 F6 07 41 24 58 80 F8 23  .P.".`F`..A$X..=
#
    27C0: B0 84 13 81 8C 8C 86 1E 16 7C 12 60 07 04 CF E7  .........|.`...=
.
    27D0: D4 4C E0 C0 10 E2 95 00 51 47 0B 4A 60 29 47 03  .L......QG.J`)G=
.
    27E0: 62 7B 60 BA 07 1C E1 B9 FB 72 70 6A FE 69 78 9A  b{`......rpj.ix=
.
    27F0: 0F 09 98 21 7A AC 07 11 F0 10 D9 29 C1 80 78 EF  ...!z......)..x=
.
    2800: D7 02 32 82 97 04 03 7A 12 0F 08 60 39 68 1C F8  ..2....z...`9h.=
.
    2810: 09 55 7C 07 A0 47 02 36 A3 F8 26 28 EB F8 80 9E  .U|..G.6..&(...=
.
    2820: 73 B4 67 87 97 85 66 AF 18 84 E0 35 C0 37 05 9F  s.g...f....5.7.=
.
    2830: 46 2C 69 75 72 B2 2A 8F 98 82 7B 08 5C 04 9C 86  F,iur.*...{.\..=
.
    2840: EE F1 82 43 C1 78 E9 FF 7F BC E0 3E 0F 1C 2F 58  ...C.x.....>../=
X
    2850: 4E 09 55 5D 36 34 87 F3 6D 1E 9F 1C 2D 3C 61 36  N.U]64..m...-<a=
6
    2860: 96 A3 62 C7 10 36 3A 3E 0A 0F F8 B5 A1 58 10 99  ..b..6:>.....X.=
.
    2870: 80 D0 91 E1 C0 C1 E2 EC 00 21 02 0B 1B 39 7A C4  .........!...9z=
.
    2880: 1E D4 3B 8C 31 1E 08 8C 7A 48 07 0F 3E 40 0F 1E  ..;.1...zH..>@.=
.
    2890: 70 FA FF 27 B0 A0 21 4B C4 E0 D1 A7 08 0F E7 DD  p..'..!K.......=
.
    28A0: 87 1F 44 12 38 3C 84 06 0F 9E B3 8F 07 0F 7E 79  ..D.8<........~=
y
    28B0: 83 07 D1 14 8E 0D 77 B0 F1 C0 C1 3D 5C FC 90 70  ......w....=3D\=
..p
    28C0: 67 2D 78 3E 27 4F 06 F0 12 84 3B 6C 01 97 11 70  g-x>'O....;l...=
p
    28D0: 99 AB A4 87 2A 0B 83 41 9D AB C0 FB FF 3F 57 01  ....*..A.....?W=
.
    28E0: F6 2F 53 EF 53 3E 57 81 3B DA 79 40 E7 16 72 9A  ./S.S>W.;.y@..r=
.
    28F0: 41 1F 0A 7C 06 78 92 01 DB A1 0A 38 9C 64 C0 73  A..|.x.....8.d.=
s
    2900: 2B 7B 92 61 FF FF 93 0C 38 0F 62 3E C9 80 EF E8  +{.a....8.b>...=
.
    2910: 85 3B 81 C0 F3 38 24 21 1F 42 F0 43 3A A6 67 10  .;...8$!.B.C:.g=
.
    2920: 60 28 E4 65 E0 03 08 8D 7E 06 01 B4 FF FF CF 20  `(.e....~......
    2930: C0 E5 AC F0 0C 02 76 F1 AF 3A 9D 07 1C 1C 42 4E  ......v..:....B=
N
    2940: 8E 8A A8 E1 58 EB 41 80 8C E7 45 C0 41 4F 8A 40  ....X.A...E.AO.=
@
    2950: F7 AC 81 3B 1F C0 3D 12 F2 73 07 F8 A2 43 E8 98  ...;..=3D..s...=
C..
    2960: 89 3F 51 79 88 3E 1B 98 C0 A3 05 D7 39 11 5C FF  .?Qy.>......9.\=
.
    2970: FF D1 C2 3B 69 E0 46 0B F7 00 FC 58 80 39 62 82  ...;i.F....X.9b=
.
    2980: EB D0 02 A6 EB 02 E6 D2 82 3F B4 00 1F A1 27 16  .........?....'=
.
    2990: 94 B4 43 0B A0 F9 FF 7F 68 01 6E 73 7D 68 01 7B  ..C.....h.ns}h.=
{
    29A0: B8 73 18 95 73 0E 83 76 68 F6 39 0C B8 1E 26 F0  .s..s..vh.9...&=
.
    29B0: 87 4A B8 B3 88 1F 27 DA 5B 80 CF A7 C0 ED B0 86  .J....'.[......=
.
    29C0: 3B 82 C0 BB 14 9C 96 A7 F6 D4 7F 70 8D 5F 41 C8  ;..........p._A=
.
    29D0: 3D C6 77 10 F6 FF 3F 88 01 37 19 07 31 54 F0 43  =3D.w...?..7..1=
T.C
    29E0: 08 40 A1 CB C2 43 08 D8 A5 1F C4 68 EC 83 18 EA  .@...C.....h...=
.
    29F0: FF 7F 82 C7 9F C3 00 A7 67 38 B8 51 8F 61 80 A2  ........g8.Q.a.=
.
    2A00: B3 28 70 82 78 0E 63 FF FF 73 18 F0 14 FC 12 F0  .(p.x.c..s.....=
.
    2A10: 81 85 4A 84 41 9D 59 00 DE 1C 90 9F 59 C0 1E F2  ..J.A.Y.....Y..=
.
    2A20: AD A1 1F 81 FF FF 67 16 C0 F5 99 DC 63 C5 1D 22  ......g.....c..=
"
    2A30: D8 48 42 BE 0A BC 15 98 C0 91 0F 2D 40 F7 6C 82  .HB........-@.l=
.
    2A40: 1B 2D DC E3 C8 39 9E D0 BB F9 EB 03 3B 4D B0 21  .-...9......;M.=
!
    2A50: 83 57 DE 21 10 F5 FF 1F B2 0F 24 9E C2 CB 0C 66  .W.!......$....=
f
    2A60: 26 31 0E 24 C2 B1 78 78 E4 28 08 AA 33 3F 19 35  &1.$..xx.(..3?.=
5
    2A70: E8 67 F7 84 0F 9E E9 BE E1 83 E1 30 08 73 CE 1E  .g.........0.s.=
.
    2A80: 3F F8 8E 3D B8 73 10 BC EB 8A 91 4F E8 25 00 73  ?..=3D.s.....O.=
%.s
    2A90: 6B C1 9E 05 81 93 AC 83 20 4A C8 59 10 54 FF FF  k....... J.Y.T.=
.
    2AA0: 83 10 C0 04 6F F7 20 5D 83 7C 1B 78 1A 78 F8 89  ....o. ].|.x.x.=
.
    2AB0: F2 20 E4 8B C4 0B 41 84 28 C7 7B 02 11 9E 86 3C  . ....A.(.{....=
<
    2AC0: E1 30 E1 4E 36 CA 4B 43 18 43 C7 0A 14 39 7E 08  .0.N6.KC.C...9~=
.
    2AD0: 1F 85 7C 10 62 51 CE B7 F4 FC 61 23 67 11 D4 49  ..|.bQ....a#g..=
I
    2AE0: C0 87 0E 0F EA 09 01 13 1A 42 47 5C E0 7A DA C0  .........BG\.z.=
.
    2AF0: FD FF 8F 42 E0 38 80 C0 7B 47 F8 B4 0E 2E 08 9F  ...B.8..{G.....=
.
    2B00: 3F E0 FB 44 16 EE 5B C0 0B 0D EE EC 01 7C E4 1E  ?..D..[......|.=
.
    2B10: 6B 51 02 61 50 67 0F C0 F9 FF FF EC 01 D6 81 3E  kQ.aPg.........=
>
    2B20: 7A 1C E8 31 06 89 11 C4 77 0E 1F 7C E2 BC 11 3C  z..1....w..|...=
<
    2B30: 7B F8 C8 71 5C 3E 80 F8 EC E1 2B 88 F1 C2 C4 7C  {..q\>....+....=
|
    2B40: 38 F2 35 21 5E E4 B0 61 22 FB EC C1 22 1E 6B A9  8.5!^..a"...".k=
.
    2B50: 94 83 19 FA 4C E0 5B C2 99 BD 71 44 38 AE 93 3B  ....L.[...qD8..=
;
    2B60: 9F 38 1E D2 49 FB 6C 06 BE E3 07 70 38 9B 81 67  .8..I.l....p8..=
g
    2B70: 74 70 0F 53 E0 93 75 36 43 0F CB E7 82 57 07 0F  tp.S..u6C....W.=
.
    2B80: 82 9D CB C0 75 B8 83 F3 FF 3F 97 01 AF 73 C7 91  ....u....?...s.=
.
    2B90: B1 53 05 47 3C A8 33 79 77 39 6B 1F 3C 02 9D E7  .S.G<.3yw9k.<..=
.
    2BA0: 29 FB 1C 03 73 84 1E 3B F8 0E 26 F8 83 0C 1C 98  )...s..;..&....=
.
    2BB0: 13 38 BA 40 A7 10 E7 14 9E 63 80 91 1C 4B 20 2C  .8.@.....c...K =
,
    2BC0: C0 B1 40 A2 96 49 61 7C 32 F0 39 06 AE 24 38 D4  ..@..Ia|2.9..$8=
.
    2BD0: F8 3C B2 97 BC E3 3C 91 37 04 8F FF 81 06 C6 C0  .<....<.7......=
.
    2BE0: 3D AD 93 F2 4D EE B1 C4 67 43 7E 5C 60 68 FC 74  =3D...M...gC~\`=
h.t
    2BF0: 03 86 FF FF E9 06 CE 9D C1 47 0D B0 5C 6D 30 58  .........G..\m0=
X
    2C00: A1 62 34 7A D7 23 A0 C7 D7 D7 45 9A 42 45 0C F1  .b4z.#....E.BE.=
.
    2C10: 42 60 97 C7 71 E4 59 17 5C D8 CF BA 60 0F 75 4E  B`..q.Y.\...`.u=
N
    2C20: A2 91 46 83 3A C8 F0 03 C1 63 90 4F 1E 06 39 D1  ..F.:....c.O..9=
.
    2C30: D3 7A 5C 78 1A F0 B8 D9 35 C1 1F 04 1F 0F F0 97  .z\x....5......=
.
    2C40: A0 80 27 FA F0 01 EB 10 82 3F 61 C0 1F 8F 8F 01  ..'......?a....=
.
    2C50: 3E D1 FA 48 45 06 81 3A BC F1 91 9E D6 DB 80 0F  >..HE..:.......=
.
    2C60: 09 87 C5 0E 1E 3E A3 80 63 3C F0 6F 9F 4F 07 FF  .....>..c<.o.O.=
.
    2C70: FF 08 AF 0C 9E AF 0F 66 60 B9 75 F8 D0 10 EA A9  .......f`.u....=
.
    2C80: C3 33 78 BF F0 09 04 98 04 36 34 48 26 73 9D B2  .3x......64H&s.=
.
    2C90: 71 DA A1 C3 B4 C8 03 82 8E 06 3E D2 F8 80 CB 0F  q.........>....=
.
    2CA0: 49 86 B0 30 0A 9D 7C 3C 1A 0F 8F C0 51 10 8F DC  I..0..|<....Q..=
.
    2CB0: 21 21 64 E4 10 80 3E 2C 30 88 87 2E 13 F8 D8 E0  !!d...>,0......=
.
    2CC0: F3 1A 9C E3 91 27 E3 69 78 DC B8 53 07 DC 71 E0  .....'.ix..S..q=
.
    2CD0: 0F 3A F8 53 20 3F 27 91 F3 1F A8 04 9E 0B 40 01  .:.S ?'.......@=
.
    2CE0: E4 AB 80 95 1E 07 E8 14 42 84 89 66 78 4C F0 D3  ........B..fxL.=
.
    2CF0: 17 1D 8F 87 E5 FF FF 20 F9 F1 85 61 3F 9D F8 D4  ....... ...a?..=
.
    2D00: 76 8C EF 05 8F 5F 18 58 0F 9B C3 1A 2D EC D1 3E  v...._.X....-..=
>
    2D10: 3E F8 EA E1 89 F9 16 E7 43 07 58 0E 52 C0 E3 FC  >.......C.X.R..=
.
    2D20: C3 E6 F0 02 F1 1C E6 83 07 3B F1 B1 53 1F D7 75  .........;..S..=
u
    2D30: 8E 43 9C 21 F8 20 1C 67 91 F2 38 53 72 95 7C E0  .C.!. .g..8Sr.|=
.
    2D40: A8 1A 45 F0 BE 15 B0 08 C7 08 94 78 0A 49 3F 46  ..E........x.I?=
F
    2D50: A0 C4 C2 51 10 1F 23 7C 90 B0 8D 63 04 6A 8C 3E  ...Q..#|...c.j.=
>
    2D60: 0C F2 A3 00 3F 45 C0 3F F1 E0 C6 0A 77 70 6C 85  ....?E.?....wpl=
.
    2D70: 2F 3D 87 76 76 0F 09 51 DE 5F 8D 18 21 60 D8 68  /=3D.vv..Q._..!=
`.h
    2D80: 1E 23 EE D8 CE 2E 45 9E 53 AC 47 25 7E A4 80 F7  .#....E.S.G%~..=
.
    2D90: FF 27 F0 31 0F 77 A4 80 33 93 F3 C0 A8 1B 8B E0  .'.1.w..3......=
.
    2DA0: 8D F6 92 8D 3D 58 00 8F 13 A3 0F 16 E0 3A 13 F8  ....=3DX.......=
:..
    2DB0: 60 01 5C CF 07 3E 1D 80 F5 F2 C3 EF 07 30 4E 18  `.\..>.......0N=
.
    2DC0: 30 CE 07 98 1B 86 C3 2C 59 27 0C 7E 5C 73 A4 D5  0......,Y'.~\s.=
.
    2DD0: 6A 20 EC 12 86 23 18 04 4C 27 0B 8F DA 11 28 24  j ...#..L'....(=
$
    2DE0: ED 80 81 12 73 C0 A0 20 06 74 52 08 9D 45 FD FF  ....s.. .tR..E.=
.
    2DF0: 3F 60 F0 83 9D 4F 0D EC 72 EB EB 85 E7 E9 29 73  ?`...O..r.....)=
s
    2E00: 3C 1F 43 0C EB 8B 09 78 6E 14 EC 34 8B B9 B8 B1  <.C....xn..4...=
.
    2E10: B3 1D 3B 15 18 E5 70 DF C0 AC E6 AA 80 9A 11 86  ..;...p........=
.
    2E20: C0 E3 F5 81 11 4C FA 2E 14 20 47 E7 32 47 8F 3A  .....L... G.2G.=
:
    2E30: 47 F9 24 C5 47 EF A3 B9 4F 2B 70 CF 52 3E 42 01  G.$.G...O+p.R>B=
.
    2E40: DF 81 F9 52 80 3B A0 80 E1 FA 80 FD FF C3 BC A2  ...R.;.........=
.
    2E50: E0 CF 28 C0 24 F0 59 0A 74 90 3E A3 00 D7 A1 E2  ..(.$.Y.t.>....=
.
    2E60: CE 28 E0 38 10 1E 3D 3F 47 B1 38 C7 12 74 A8 97  .(.8..=3D?G.8..=
t..
    2E70: 83 6E 9B EC 58 82 8D 72 2C 41 85 A0 D0 09 CA 27  .n..X..r,A.....=
'
    2E80: 09 7E C6 E3 20 06 74 F6 93 04 5A C5 49 02 19 F6  .~.. .t...Z.I..=
.
    2E90: 5C 02 84 FE FF E7 12 F0 9E 13 9F 26 C0 35 6B FC  \..........&.5k=
.
    2EA0: 69 02 7F 3E 01 16 47 46 C0 D9 41 90 1F 19 81 EF  i..>..GF..A....=
.
    2EB0: B9 84 FF FF CF 25 E0 19 B6 CF 25 80 93 9B 34 3F  .....%....%...4=
?
    2EC0: 97 C0 1D BA E3 9C BE 10 57 58 DF 33 E2 27 18 E3  ........WX.3.'.=
.
    2ED0: 58 82 0A 70 F8 02 B4 FF FF 4F 23 E0 3F 17 7B F4  X..p.....O#.?.{=
.
    2EE0: FC 40 E2 43 06 19 3D 8D 7C F8 82 1E F1 30 02 B4  .@.C..=3D.|....=
0..
    2EF0: 07 FA F0 05 C6 DB 03 3F 6E 02 AF D8 87 12 D0 C1  .......?n......=
.
    2F00: F2 43 09 F8 FF FF 87 12 F0 8C 1E 77 F6 02 C7 55  .C.........w...=
U
    2F10: C2 83 37 E0 31 3D 16 18 90 9D 4B 98 EC 73 09 FA  ..7.1=3D....K..=
s..
    2F20: 3C 62 AB B7 63 72 52 C7 08 3F 97 A0 24 9F 4B 00  <b..crR..?..$.K=
.
    2F30: DA 1C BA C0 F1 FF 3F 74 01 3C B8 06 FA 40 02 AE  ......?t.<...@.=
.
    2F40: 7B 82 0F 24 C0 F5 28 00 9E 23 08 FE C8 EC 03 3F  {..$..(..#.....=
?
    2F50: EE A4 EF 53 75 5C E3 1F F1 11 FC FF 1B 3F 7D 91  ...Su\.......?}=
.
    2F60: 7B 81 8F 25 3A F0 A3 04 53 48 EE 01 02 25 10 8E  {..%:...SH...%.=
.
    2F70: 82 F8 00 E1 F0 E7 24 E8 57 4B 7E 7E C0 5F 47 D8  ......$.WK~~._G=
.
    2F80: 28 D9 71 1E 37 4A B8 60 AF 0F 86 B8 C3 13 E1 67  (.q.7J.`.......=
g
    2F90: 5B CC 31 1F EE 51 E1 51 09 5C B3 86 75 58 02 3C  [.1..Q.Q.\..uX.=
<
    2FA0: 78 38 4C 00 AD FF FF 61 09 FC B3 E7 83 38 11 0F  x8L....a.....8.=
.
    2FB0: 1F 03 74 2C 6F 07 EC D8 AB C3 12 6A 0C 3E FA FA  ..t,o......j.>.=
.
    2FC0: E8 C4 20 1F 0F 31 C7 16 76 C2 07 F8 F6 FF 3F E1  .. ..1..v.....?=
.
    2FD0: 03 D6 CE 24 BE 3F 60 AF 2D F8 A3 09 F0 06 F7 D1  ...$.?`.-......=
.
    2FE0: 04 70 F5 FF 3F 9A E0 84 9E 9D 50 67 03 1F 98 6C  .p..?.....Pg...=
l
    2FF0: 14 95 40 BF 69 BC 9F 07 31 F4 49 F0 53 13 06 C2  ..@.i...1.I.S..=
.
    3000: 47 13 9F 24 7C 9C E0 52 E0 28 88 8F 13 8E 79 36  G..$|..R.(....y=
6
    3010: 41 9F 0A 7C 3F 38 09 6C A8 F3 04 50 19 07 FE E8  A..|?8.l...P...=
.
    3020: 04 57 D8 C9 04 64 27 72 60 6E E2 1C 01 94 FE FF  .W...d'r`n.....=
.
    3030: 27 72 E0 70 5A E5 A7 01 7C A0 A3 2A 3A D6 93 41  'r.pZ...|..*:..=
A
    3040: 23 7E 07 08 77 EA E7 F9 40 C0 8E E5 3E 2C F1 F3  #~..w...@...>,.=
.
    3050: 92 4F 11 3E 41 70 49 27 08 0A 62 40 E7 3D 5D 7A  .O.>ApI'..b@.=
=3D]z
    3060: 10 F4 7C C3 8F C5 BE B6 1C C5 23 51 82 F9 0E 01  ..|.......#Q...=
.
    3070: F4 B6 04 4F DE 6D 09 44 18 77 72 16 0C E1 28 7D  ...O.m.D.wr...(=
}
    3080: 80 80 31 C0 C7 84 62 DF 37 F4 BE 04 F3 8A 09 AE  ..1...b.7......=
.
    3090: F3 12 30 9E 89 FF FF 3E CF 21 E4 02 C0 4F E5 60  ..0....>.!...O.=
`
    30A0: 39 36 80 67 1C EC 0A 80 3F 32 C1 3E 35 E2 8E 4C  96.g....?2.>5..=
L
    30B0: 60 98 08 3B E7 1C 08 F6 60 02 BC 55 1C 4C 00 2D  `..;....`..U.L.=
-
    30C0: C3 0D 72 3E 8F E4 C6 79 C3 F3 89 84 9D C4 D9 FF  ..r>...y.......=
.
    30D0: FF 60 C2 25 41 48 FE 61 09 89 8D 9D FE 39 BC B9  .`.%AH.a.....9.=
.
    30E0: 32 82 62 8F 4B A8 C3 84 45 9E 26 50 A7 69 9F 90  2.b.K...E.&P.i.=
.
    30F0: C9 69 82 46 3E 4D A0 87 E6 89 9D 06 6E DC A7 C1  .i.F>M......n..=
.
    3100: 6F 87 FC C0 04 7C 0F 0F F8 D3 04 EC F3 0D 1B 74  o....|.........=
t
    3110: C8 77 87 17 59 1F 26 80 F9 C8 7D 98 00 FF FF FF  .w..Y.&...}....=
.
    3120: D0 04 5C 15 DA F4 A9 D1 A8 55 83 32 35 CA 34 A8  ..\......U.25.4=
.
    3130: D5 A7 52 63 C6 A4 9D 54 BD 54 8D D5 91 9E 0B 02  ..Rc...T.T.....=
.
    3140: 71 D4 05 0B C4 D1 9F 40 02 B1 B8 57 88 40 2C F5  q......@...W.@,=
.
    3150: 05 21 10 CB D4 01 C2 82 BC EF 05 E2 60 52 06 40  .!..........`R.=
@
    3160: AD 80 B0 78 CB 12 88 23 9A 39 01 50 37 20 4C A0  ...x...#.9.P7 L=
.
    3170: 1E 10 26 DC 10 08 8B A3 08 84 09 B6 04 C2 E2 82  ..&............=
.
    3180: 50 C1 9E 8E FD 4C 3E 88 80 1C DA 14 10 93 A0 0A  P....L>........=
.
    3190: 88 25 78 0C 08 C8 71 40 04 E4 50 B6 80 58 44 10  .%x...q@..P..XD=
.
    31A0: 01 59 CF 1B 4E 40 16 07 22 20 8B 36 06 C4 22 80  .Y..N@.." .6.."=
.
    31B0: 08 C8 C9 5E 70 81 48 4C 10 01 39 EC 8A 05 E4 E8  ...^p.HL..9....=
.
    31C0: 20 02 B2 4E 6F 40 4C 34 88 80 2C FE B1 21 20 47   ..No@L4..,..! =
G
    31D0: 01 11 90 03 3E 28 02 91 B8 20 02 B2 46 7B 40 4C  ....>(... ..F{@=
L
    31E0: 30 88 80 2C FB 07 25 20 87 00 D1 00 C9 EB 40 03  0..,..% ......@=
.
    31F0: 24 BF 89 40 44 E2 AB 22 10 D1 0B 22 20 FF FF A5  $..@D.."..." ..=
.
    3200: FF 38 04 E4 20 20 02 26 1A 81 E9 0B 21 10 F9 FF  .8..  .&....!..=
.
    3210: 03 08 5F 48 49 44 0C 41 D0 0C 14 08 5F 55 49 44  .._HID.A...._UI=
D
    3220: 0A 00 08 5F 57 44 47 11 2B 0A 28 6A 0F BC AB A1  ..._WDG.+.(j...=
.
    3230: 8E D1 11 00 A0 C9 06 29 10 00 00 41 41 01 02 21  .......)...AA..=
!
    3240: 12 90 05 66 D5 D1 11 B2 F0 00 A0 C9 06 29 10 42  ...f.........).=
B
    3250: 41 01 00 14 48 0D 57 4D 41 41 03 A0 40 0D 93 68  A...H.WMAA..@..=
h
    3260: 0A 00 A0 1A 91 91 92 93 69 0A 01 92 93 69 0A 02  ........i....i.=
.
    3270: 92 93 69 0A 06 8A 6A 0A 00 57 49 49 44 A0 0A 93  ..i...j..WIID..=
.
    3280: 69 0A 01 A4 41 4D 30 31 A1 43 0A A0 0A 93 69 0A  i...AM01.C....i=
.
    3290: 02 A4 41 4D 30 32 A1 45 09 A0 0E 93 69 0A 03 A4  ..AM02.E....i..=
.
    32A0: 41 4D 30 33 57 49 49 44 A1 43 08 A0 1A 93 69 0A  AM03WIID.C....i=
.
    32B0: 04 8A 6A 0A 04 49 56 41 4C A4 41 4D 30 34 57 49  ..j..IVAL.AM04W=
I
    32C0: 49 44 49 56 41 4C A1 45 06 A0 0E 93 69 0A 05 A4  IDIVAL.E....i..=
.
    32D0: 41 4D 30 35 57 49 49 44 A1 43 05 A0 0A 93 69 0A  AM05WIID.C....i=
.
    32E0: 06 A4 41 4D 30 36 A1 45 04 A0 0A 93 69 0A 07 41  ..AM06.E....i..=
A
    32F0: 4D 30 37 6A A1 37 A0 0D 93 69 0A 08 41 4D 30 38  M07j.7...i..AM0=
8
    3300: 57 49 49 44 A1 27 A0 0A 93 69 0A 09 A4 41 4D 30  WIID.'...i...AM=
0
    3310: 39 A1 1A A0 0B 93 69 0A 0A A4 41 4D 31 30 6A A1  9.....i...AM10j=
.
    3320: 0C A0 0A 93 69 0A 0B A4 41 4D 31 31 5B 80 45 58  ....i...AM11[.E=
X
    3330: 54 4D 00 0C 30 F8 0F 00 0A 12 5B 81 2E 45 58 54  TM..0.....[..EX=
T
    3340: 4D 02 52 4F 4D 31 10 52 4D 53 31 10 52 4F 4D 32  M.ROM1.RMS1.ROM=
2
    3350: 10 52 4D 53 32 10 52 4F 4D 33 10 52 4D 53 33 10  .RMS2.ROM3.RMS3=
.
    3360: 41 4D 45 4D 20 41 49 4E 46 08 5B 80 41 57 59 4D  AMEM AINF.[.AWY=
M
    3370: 00 0C EA FF 0F 00 0A 01 5B 81 19 41 57 59 4D 01  ........[..AWYM=
.
    3380: 00 01 00 01 41 57 4D 44 01 00 01 00 01 00 01 00  ....AWMD.......=
.
    3390: 01 00 01 5B 80 5C 50 30 31 5F 01 0B 01 08 0A 01  ...[.\P01_.....=
.
    33A0: 5B 81 0C 5C 50 30 31 5F 01 50 31 5F 5F 08 5B 80  [..\P01_.P1__.[=
.
    33B0: 5C 50 52 32 30 01 0B 20 08 0A 04 5B 81 0C 5C 50  \PR20.. ...[..\=
P
    33C0: 52 32 30 03 50 32 30 5F 20 08 4F 53 46 58 0A 01  R20.P20_ .OSFX.=
.
    33D0: 08 4C 49 4E 58 0A 00 08 41 4D 41 43 0A 00 08 4F  .LINX...AMAC...=
O
    33E0: 53 46 4C 0A 01 14 41 05 53 54 52 43 02 A0 0A 92  SFL...A.STRC...=
.
    33F0: 93 87 68 87 69 A4 0A 00 72 87 68 0A 01 60 08 42  ..h.i...r.h..`.=
B
    3400: 55 46 30 11 02 60 08 42 55 46 31 11 02 60 70 68  UF0..`.BUF1..`p=
h
    3410: 42 55 46 30 70 69 42 55 46 31 A2 1A 60 76 60 A0  BUF0piBUF1..`v`=
.
    3420: 15 92 93 83 88 42 55 46 30 60 00 83 88 42 55 46  .....BUF0`...BU=
F
    3430: 31 60 00 A4 00 A4 01 5B 80 49 4E 46 4F 00 0C 40  1`.....[.INFO..=
@
    3440: F8 0F 00 0A 01 5B 81 24 49 4E 46 4F 01 4B 42 44  .....[.$INFO.KB=
D
    3450: 49 01 52 54 43 57 01 50 53 32 46 01 49 52 46 4C  I.RTCW.PS2F.IRF=
L
    3460: 02 44 49 53 45 01 53 53 48 55 01 10 17 5C 00 08  .DISE.SSHU...\.=
.
    3470: 50 49 43 46 0A 00 14 0C 5F 50 49 43 01 70 68 50  PICF...._PIC.ph=
P
    3480: 49 43 46 14 28 5C 5F 50 54 53 01 7D 68 0A F0 60  ICF.(\_PTS.}h..=
`
    3490: 70 60 44 42 47 31 A0 05 93 68 0A 01 A0 05 93 68  p`DBG1...h.....=
h
    34A0: 0A 05 53 50 54 53 68 41 50 54 53 68 14 4B 0F 5C  ..SPTShAPTSh.K.=
\
    34B0: 5F 57 41 4B 01 70 0A FF 44 42 47 31 A0 4A 07 93  _WAK.p..DBG1.J.=
.
    34C0: 68 0A 04 A0 0F 93 4F 53 46 4C 0A 02 70 0A 57 53  h.....OSFL..p.W=
S
    34D0: 4D 49 50 A0 0F 93 4F 53 46 4C 0A 01 70 0A 56 53  MIP...OSFL..p.V=
S
    34E0: 4D 49 50 A0 33 93 4F 53 46 4C 0A 00 A0 0F 93 4F  MIP.3.OSFL.....=
O
    34F0: 53 46 58 0A 04 70 0A 59 53 4D 49 50 A1 1A A0 0F  SFX..p.YSMIP...=
.
    3500: 93 4F 53 46 58 0A 03 70 0A 59 53 4D 49 50 A1 08  .OSFX..p.YSMIP.=
.
    3510: 70 0A 58 53 4D 49 50 A0 0F 93 4F 53 46 58 0A 03  p.XSMIP...OSFX.=
.
    3520: 70 0A 59 53 4D 49 50 A0 0F 93 4F 53 46 58 0A 04  p.YSMIP...OSFX.=
.
    3530: 70 0A 59 53 4D 49 50 53 57 41 4B 68 41 57 41 4B  p.YSMIPSWAKhAWA=
K
    3540: 68 A0 15 93 4F 53 46 4C 0A 01 86 5C 2E 5F 53 42  h...OSFL...\._S=
B
    3550: 5F 50 57 52 42 0A 02 A1 3D A0 20 93 68 0A 01 7B  _PWRB...=3D. .h=
..{
    3560: 50 31 5F 5F 0A 04 60 A0 12 93 60 0A 00 86 5C 2E  P1__..`...`...\=
.
    3570: 5F 53 42 5F 50 57 52 42 0A 02 A0 1A 93 68 0A 03  _SB_PWRB.....h.=
.
    3580: A0 14 93 52 54 43 57 00 86 5C 2E 5F 53 42 5F 50  ...RTCW..\._SB_=
P
    3590: 57 52 42 0A 02 A0 12 93 68 0A 04 86 5C 2E 5F 53  WRB.....h...\._=
S
    35A0: 42 5F 50 57 52 42 0A 02 10 06 5C 5F 53 49 5F 10  B_PWRB....\_SI_=
.
    35B0: 4C 21 5C 5F 47 50 45 14 18 5F 4C 30 34 00 86 5C  L!\_GPE.._L04..=
\
    35C0: 2F 03 5F 53 42 5F 50 43 49 30 50 32 50 5F 0A 02  /._SB_PCI0P2P_.=
.
    35D0: 14 4D 0C 5F 4C 31 38 00 86 5C 2F 03 5F 53 42 5F  .M._L18..\/._SB=
_
    35E0: 50 43 49 30 50 43 45 32 0A 02 86 5C 2F 03 5F 53  PCI0PCE2...\/._=
S
    35F0: 42 5F 50 43 49 30 50 43 45 33 0A 02 86 5C 2F 03  B_PCI0PCE3...\/=
.
    3600: 5F 53 42 5F 50 43 49 30 50 43 45 34 0A 02 86 5C  _SB_PCI0PCE4...=
\
    3610: 2F 03 5F 53 42 5F 50 43 49 30 50 43 45 35 0A 02  /._SB_PCI0PCE5.=
.
    3620: 86 5C 2F 03 5F 53 42 5F 50 43 49 30 50 43 45 36  .\/._SB_PCI0PCE=
6
    3630: 0A 02 86 5C 2F 03 5F 53 42 5F 50 43 49 30 50 43  ...\/._SB_PCI0P=
C
    3640: 45 37 0A 02 86 5C 2F 03 5F 53 42 5F 50 43 49 30  E7...\/._SB_PCI=
0
    3650: 50 43 45 39 0A 02 86 5C 2F 03 5F 53 42 5F 50 43  PCE9...\/._SB_P=
C
    3660: 49 30 50 43 45 41 0A 02 86 5C 2F 03 5F 53 42 5F  I0PCEA...\/._SB=
_
    3670: 50 43 49 30 50 43 45 42 0A 02 86 5C 2F 03 5F 53  PCI0PCEB...\/._=
S
    3680: 42 5F 50 43 49 30 50 43 45 43 0A 02 86 5C 2F 03  B_PCI0PCEC...\/=
.
    3690: 5F 53 42 5F 50 43 49 30 50 43 45 44 0A 02 14 2A  _SB_PCI0PCED...=
*
    36A0: 5F 4C 30 33 00 86 5C 2F 03 5F 53 42 5F 50 43 49  _L03..\/._SB_PC=
I
    36B0: 30 50 53 32 4B 0A 02 86 5C 2F 03 5F 53 42 5F 50  0PS2K...\/._SB_=
P
    36C0: 43 49 30 50 53 32 4D 0A 02 14 45 08 5F 4C 30 42  CI0PS2M...E._L0=
B
    36D0: 00 86 5C 2F 03 5F 53 42 5F 50 43 49 30 55 53 42  ..\/._SB_PCI0US=
B
    36E0: 30 0A 02 86 5C 2F 03 5F 53 42 5F 50 43 49 30 55  0...\/._SB_PCI0=
U
    36F0: 53 42 31 0A 02 86 5C 2F 03 5F 53 42 5F 50 43 49  SB1...\/._SB_PC=
I
    3700: 30 55 53 42 32 0A 02 86 5C 2F 03 5F 53 42 5F 50  0USB2...\/._SB_=
P
    3710: 43 49 30 55 53 42 33 0A 02 86 5C 2F 03 5F 53 42  CI0USB3...\/._S=
B
    3720: 5F 50 43 49 30 55 53 42 34 0A 02 86 5C 2F 03 5F  _PCI0USB4...\/.=
_
    3730: 53 42 5F 50 43 49 30 55 53 42 35 0A 02 86 5C 2F  SB_PCI0USB5...\=
/
    3740: 03 5F 53 42 5F 50 43 49 30 55 53 42 36 0A 02 14  ._SB_PCI0USB6..=
.
    3750: 18 5F 4C 31 42 00 86 5C 2F 03 5F 53 42 5F 50 43  ._L1B..\/._SB_P=
C
    3760: 49 30 53 42 41 5A 0A 02 14 18 5F 4C 30 46 00 86  I0SBAZ...._L0F.=
.
    3770: 5C 2F 03 5F 53 42 5F 50 43 49 30 50 45 58 30 0A  \/._SB_PCI0PEX0=
.
    3780: 02 14 18 5F 4C 31 30 00 86 5C 2F 03 5F 53 42 5F  ..._L10..\/._SB=
_
    3790: 50 43 49 30 50 45 58 31 0A 02 14 18 5F 4C 31 31  PCI0PEX1...._L1=
1
    37A0: 00 86 5C 2F 03 5F 53 42 5F 50 43 49 30 50 45 58  ..\/._SB_PCI0PE=
X
    37B0: 32 0A 02 14 18 5F 4C 31 32 00 86 5C 2F 03 5F 53  2...._L12..\/._=
S
    37C0: 42 5F 50 43 49 30 50 45 58 33 0A 02 10 86 41 04  B_PCI0PEX3....A=
.
    37D0: 5C 5F 53 42 5F 5B 82 27 5C 41 57 59 5F 08 5F 48  \_SB_[.'\AWY_._=
H
    37E0: 49 44 0D 41 57 59 30 30 30 31 00 14 12 5F 53 54  ID.AWY0001..._S=
T
    37F0: 41 00 A0 08 41 57 4D 44 A4 0A 0F A4 0A 00 14 06  A...AWMD.......=
.
    3800: 53 4D 4F 44 01 5B 82 19 50 57 52 42 08 5F 48 49  SMOD.[..PWRB._H=
I
    3810: 44 0C 41 D0 0C 0C 14 09 5F 53 54 41 00 A4 0A 0B  D.A....._STA...=
.
    3820: 5B 82 88 11 04 50 43 49 30 08 5F 48 49 44 0C 41  [....PCI0._HID.=
A
    3830: D0 0A 03 08 5F 41 44 52 0A 00 10 1D 5C 00 5B 80  ...._ADR....\.[=
.
    3840: 5C 53 43 50 50 01 0A B0 0A 01 5B 81 0C 5C 53 43  \SCPP.....[..\S=
C
    3850: 50 50 01 53 4D 49 50 08 14 4C 15 5C 2F 03 5F 53  PP.SMIP..L.\/._=
S
    3860: 42 5F 50 43 49 30 5F 49 4E 49 00 A0 24 53 54 52  B_PCI0_INI..$ST=
R
    3870: 43 5C 5F 4F 53 5F 0D 4D 69 63 72 6F 73 6F 66 74  C\_OS_.Microsof=
t
    3880: 20 57 69 6E 64 6F 77 73 00 70 0A 56 53 4D 49 50   Windows.p.VSMI=
P
    3890: A1 4B 0E A0 42 0A 53 54 52 43 5C 5F 4F 53 5F 0D  .K..B.STRC\_OS_=
.
    38A0: 4D 69 63 72 6F 73 6F 66 74 20 57 69 6E 64 6F 77  Microsoft Windo=
w
    38B0: 73 20 4E 54 00 A0 40 07 5B 12 5C 5F 4F 53 49 60  s NT..@.[.\_OSI=
`
    38C0: 70 0A 00 62 A0 2A 5C 5F 4F 53 49 0D 57 69 6E 64  p..b.*\_OSI.Win=
d
    38D0: 6F 77 73 20 32 30 30 31 00 70 0A 00 4F 53 46 4C  ows 2001.p..OSF=
L
    38E0: 70 0A 59 61 70 0A 03 4F 53 46 58 70 0A 01 62 A0  p.Yap..OSFXp..b=
.
    38F0: 14 5C 5F 4F 53 49 0D 57 69 6E 64 6F 77 73 20 32  .\_OSI.Windows =
2
    3900: 30 30 36 00 A0 14 5C 5F 4F 53 49 0D 57 69 6E 64  006...\_OSI.Win=
d
    3910: 6F 77 73 20 32 30 30 39 00 A0 0C 92 93 62 0A 00  ows 2009.....b.=
.
    3920: 70 61 53 4D 49 50 A1 0F 70 0A 58 53 4D 49 50 70  paSMIP..p.XSMIP=
p
    3930: 0A 00 4F 53 46 4C A1 45 04 A0 34 5B 12 5C 5F 4F  ..OSFL.E..4[.\_=
O
    3940: 53 49 60 A0 14 5C 5F 4F 53 49 0D 4C 69 6E 75 78  SI`..\_OSI.Linu=
x
    3950: 00 70 0A 01 4C 49 4E 58 A0 15 5C 5F 4F 53 49 0D  .p..LINX..\_OSI=
.
    3960: 44 61 72 77 69 6E 00 70 0A 01 41 4D 41 43 70 0A  Darwin.p..AMACp=
.
    3970: 57 53 4D 49 50 70 0A 02 4F 53 46 4C 70 4F 53 46  WSMIPp..OSFLpOS=
F
    3980: 58 4F 53 54 59 A0 0F 93 4F 53 46 58 0A 00 70 0A  XOSTY...OSFX..p=
.
    3990: 04 4F 53 54 59 A0 0F 93 4F 53 46 58 0A 03 70 0A  .OSTY...OSFX..p=
.
    39A0: 05 4F 53 54 59 A0 0F 93 4F 53 46 58 0A 04 70 0A  .OSTY...OSFX..p=
.
    39B0: 06 4F 53 54 59 10 4D 04 5C 00 14 48 04 4F 53 54  .OSTY.M.\..H.OS=
T
    39C0: 50 00 A0 0F 93 4F 53 46 4C 0A 01 70 0A 56 53 4D  P....OSFL..p.VS=
M
    39D0: 49 50 A0 0F 93 4F 53 46 4C 0A 02 70 0A 57 53 4D  IP...OSFL..p.WS=
M
    39E0: 49 50 A0 20 93 4F 53 46 4C 0A 00 70 0A 58 61 A0  IP. .OSFL..p.Xa=
.
    39F0: 0D 92 95 4F 53 46 58 0A 03 70 0A 59 61 70 61 53  ...OSFX..p.Yapa=
S
    3A00: 4D 49 50 5B 82 43 08 53 59 53 52 08 5F 48 49 44  MIP[.C.SYSR._HI=
D
    3A10: 0C 41 D0 0C 02 08 5F 55 49 44 0A 01 08 5F 43 52  .A...._UID..._C=
R
    3A20: 53 11 46 06 0A 62 47 01 10 00 10 00 01 10 47 01  S.F..bG.......G=
.
    3A30: 22 00 22 00 01 1E 47 01 44 00 44 00 01 1C 47 01  "."...G.D.D...G=
.
    3A40: 62 00 62 00 01 02 47 01 65 00 65 00 01 0B 47 01  b.b...G.e.e...G=
.
    3A50: 74 00 74 00 01 0C 47 01 91 00 91 00 01 03 47 01  t.t...G.......G=
.
    3A60: A2 00 A2 00 01 1E 47 01 E0 00 E0 00 01 10 47 01  ......G.......G=
.
    3A70: D0 04 D0 04 01 02 47 01 20 02 20 02 01 06 47 01  ......G. . ...G=
.
    3A80: 90 02 90 02 01 05 79 00 5B 80 42 41 52 31 02 0A  ......y.[.BAR1.=
.
    3A90: 14 0A 04 5B 81 0B 42 41 52 31 01 4D 4D 49 4F 20  ...[..BAR1.MMIO
    3AA0: 14 17 5F 53 33 44 00 A0 0B 93 4F 53 46 4C 0A 02  .._S3D....OSFL.=
.
    3AB0: A4 0A 02 A1 04 A4 0A 03 14 09 5F 53 54 41 00 A4  .........._STA.=
.
    3AC0: 0A 0F 14 4C 0E 5F 43 52 53 00 08 42 55 46 30 11  ...L._CRS..BUF0=
.
    3AD0: 4C 08 0A 88 88 0D 00 02 01 00 00 00 00 00 FF 00  L..............=
.
    3AE0: 00 00 00 01 47 01 F8 0C F8 0C 01 08 88 0D 00 01  ....G..........=
.
    3AF0: 0C 03 00 00 00 00 F7 0C 00 00 F8 0C 88 0D 00 01  ...............=
.
    3B00: 0C 03 00 00 00 0D FF FF 00 00 00 F3 87 17 00 00  ...............=
.
    3B10: 0C 03 00 00 00 00 00 00 0A 00 FF FF 0B 00 00 00  ...............=
.
    3B20: 00 00 00 00 02 00 87 17 00 00 0C 03 00 00 00 00  ...............=
.
    3B30: 00 00 0C 00 FF FF 0D 00 00 00 00 00 00 00 02 00  ...............=
.
    3B40: 87 17 00 00 0C 03 00 00 00 00 00 00 10 00 FF FF  ...............=
.
    3B50: BF FE 00 00 00 00 00 00 F0 FF 79 00 8A 42 55 46  ..........y..BU=
F
    3B60: 30 0A 76 54 43 4D 4D 8A 42 55 46 30 0A 82 54 4F  0.vTCMM.BUF0..T=
O
    3B70: 4D 4D 72 41 4D 45 4D 0C 00 00 01 00 54 43 4D 4D  MMrAMEM.....TCM=
M
    3B80: 72 54 43 4D 4D 0C 00 00 10 00 54 43 4D 4D 72 54  rTCMM.....TCMMr=
T
    3B90: 43 4D 4D 0C 00 00 10 00 54 43 4D 4D 74 0C 00 00  CMM.....TCMMt..=
.
    3BA0: C0 FE 54 43 4D 4D 54 4F 4D 4D A4 42 55 46 30 08  ..TCMMTOMM.BUF0=
.
    3BB0: 50 49 43 4D 12 4F 83 44 12 1E 04 0C FF FF 02 00  PICM.O.D.......=
.
    3BC0: 0A 00 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43  ..\/._SB_PCI0LP=
C
    3BD0: 30 4C 4E 4B 43 0A 00 12 1E 04 0C FF FF 02 00 0A  0LNKC..........=
.
    3BE0: 01 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30  .\/._SB_PCI0LPC=
0
    3BF0: 4C 4E 4B 44 0A 00 12 1E 04 0C FF FF 02 00 0A 02  LNKD...........=
.
    3C00: 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C  \/._SB_PCI0LPC0=
L
    3C10: 4E 4B 41 0A 00 12 1E 04 0C FF FF 02 00 0A 03 5C  NKA............=
\
    3C20: 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E  /._SB_PCI0LPC0L=
N
    3C30: 4B 42 0A 00 12 1E 04 0C FF FF 03 00 0A 00 5C 2F  KB............\=
/
    3C40: 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B  ._SB_PCI0LPC0LN=
K
    3C50: 44 0A 00 12 1E 04 0C FF FF 03 00 0A 01 5C 2F 04  D............\/=
.
    3C60: 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 41  _SB_PCI0LPC0LNK=
A
    3C70: 0A 00 12 1E 04 0C FF FF 03 00 0A 02 5C 2F 04 5F  ............\/.=
_
    3C80: 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 42 0A  SB_PCI0LPC0LNKB=
.
    3C90: 00 12 1E 04 0C FF FF 03 00 0A 03 5C 2F 04 5F 53  ...........\/._=
S
    3CA0: 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 43 0A 00  B_PCI0LPC0LNKC.=
.
    3CB0: 12 1E 04 0C FF FF 04 00 0A 00 5C 2F 04 5F 53 42  ..........\/._S=
B
    3CC0: 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 41 0A 00 12  _PCI0LPC0LNKA..=
.
    3CD0: 1E 04 0C FF FF 04 00 0A 01 5C 2F 04 5F 53 42 5F  .........\/._SB=
_
    3CE0: 50 43 49 30 4C 50 43 30 4C 4E 4B 42 0A 00 12 1E  PCI0LPC0LNKB...=
.
    3CF0: 04 0C FF FF 04 00 0A 02 5C 2F 04 5F 53 42 5F 50  ........\/._SB_=
P
    3D00: 43 49 30 4C 50 43 30 4C 4E 4B 43 0A 00 12 1E 04  CI0LPC0LNKC....=
.
    3D10: 0C FF FF 04 00 0A 03 5C 2F 04 5F 53 42 5F 50 43  .......\/._SB_P=
C
    3D20: 49 30 4C 50 43 30 4C 4E 4B 44 0A 00 12 1E 04 0C  I0LPC0LNKD.....=
.
    3D30: FF FF 05 00 0A 00 5C 2F 04 5F 53 42 5F 50 43 49  ......\/._SB_PC=
I
    3D40: 30 4C 50 43 30 4C 4E 4B 42 0A 00 12 1E 04 0C FF  0LPC0LNKB......=
.
    3D50: FF 05 00 0A 01 5C 2F 04 5F 53 42 5F 50 43 49 30  .....\/._SB_PCI=
0
    3D60: 4C 50 43 30 4C 4E 4B 43 0A 00 12 1E 04 0C FF FF  LPC0LNKC.......=
.
    3D70: 05 00 0A 02 5C 2F 04 5F 53 42 5F 50 43 49 30 4C  ....\/._SB_PCI0=
L
    3D80: 50 43 30 4C 4E 4B 44 0A 00 12 1E 04 0C FF FF 05  PC0LNKD........=
.
    3D90: 00 0A 03 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50  ...\/._SB_PCI0L=
P
    3DA0: 43 30 4C 4E 4B 41 0A 00 12 1E 04 0C FF FF 06 00  C0LNKA.........=
.
    3DB0: 0A 00 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43  ..\/._SB_PCI0LP=
C
    3DC0: 30 4C 4E 4B 43 0A 00 12 1E 04 0C FF FF 06 00 0A  0LNKC..........=
.
    3DD0: 01 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30  .\/._SB_PCI0LPC=
0
    3DE0: 4C 4E 4B 44 0A 00 12 1E 04 0C FF FF 06 00 0A 02  LNKD...........=
.
    3DF0: 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C  \/._SB_PCI0LPC0=
L
    3E00: 4E 4B 41 0A 00 12 1E 04 0C FF FF 06 00 0A 03 5C  NKA............=
\
    3E10: 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E  /._SB_PCI0LPC0L=
N
    3E20: 4B 42 0A 00 12 1E 04 0C FF FF 07 00 0A 00 5C 2F  KB............\=
/
    3E30: 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B  ._SB_PCI0LPC0LN=
K
    3E40: 44 0A 00 12 1E 04 0C FF FF 07 00 0A 01 5C 2F 04  D............\/=
.
    3E50: 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 41  _SB_PCI0LPC0LNK=
A
    3E60: 0A 00 12 1E 04 0C FF FF 07 00 0A 02 5C 2F 04 5F  ............\/.=
_
    3E70: 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 42 0A  SB_PCI0LPC0LNKB=
.
    3E80: 00 12 1E 04 0C FF FF 07 00 0A 03 5C 2F 04 5F 53  ...........\/._=
S
    3E90: 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 43 0A 00  B_PCI0LPC0LNKC.=
.
    3EA0: 12 1E 04 0C FF FF 09 00 0A 00 5C 2F 04 5F 53 42  ..........\/._S=
B
    3EB0: 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 42 0A 00 12  _PCI0LPC0LNKB..=
.
    3EC0: 1E 04 0C FF FF 09 00 0A 01 5C 2F 04 5F 53 42 5F  .........\/._SB=
_
    3ED0: 50 43 49 30 4C 50 43 30 4C 4E 4B 43 0A 00 12 1E  PCI0LPC0LNKC...=
.
    3EE0: 04 0C FF FF 09 00 0A 02 5C 2F 04 5F 53 42 5F 50  ........\/._SB_=
P
    3EF0: 43 49 30 4C 50 43 30 4C 4E 4B 44 0A 00 12 1E 04  CI0LPC0LNKD....=
.
    3F00: 0C FF FF 09 00 0A 03 5C 2F 04 5F 53 42 5F 50 43  .......\/._SB_P=
C
    3F10: 49 30 4C 50 43 30 4C 4E 4B 41 0A 00 12 1E 04 0C  I0LPC0LNKA.....=
.
    3F20: FF FF 0A 00 0A 00 5C 2F 04 5F 53 42 5F 50 43 49  ......\/._SB_PC=
I
    3F30: 30 4C 50 43 30 4C 4E 4B 43 0A 00 12 1E 04 0C FF  0LPC0LNKC......=
.
    3F40: FF 0A 00 0A 01 5C 2F 04 5F 53 42 5F 50 43 49 30  .....\/._SB_PCI=
0
    3F50: 4C 50 43 30 4C 4E 4B 44 0A 00 12 1E 04 0C FF FF  LPC0LNKD.......=
.
    3F60: 0A 00 0A 02 5C 2F 04 5F 53 42 5F 50 43 49 30 4C  ....\/._SB_PCI0=
L
    3F70: 50 43 30 4C 4E 4B 41 0A 00 12 1E 04 0C FF FF 0A  PC0LNKA........=
.
    3F80: 00 0A 03 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50  ...\/._SB_PCI0L=
P
    3F90: 43 30 4C 4E 4B 42 0A 00 12 1E 04 0C FF FF 0B 00  C0LNKB.........=
.
    3FA0: 0A 00 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43  ..\/._SB_PCI0LP=
C
    3FB0: 30 4C 4E 4B 44 0A 00 12 1E 04 0C FF FF 0B 00 0A  0LNKD..........=
.
    3FC0: 01 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30  .\/._SB_PCI0LPC=
0
    3FD0: 4C 4E 4B 41 0A 00 12 1E 04 0C FF FF 0B 00 0A 02  LNKA...........=
.
    3FE0: 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C  \/._SB_PCI0LPC0=
L
    3FF0: 4E 4B 42 0A 00 12 1E 04 0C FF FF 0B 00 0A 03 5C  NKB............=
\
    4000: 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E  /._SB_PCI0LPC0L=
N
    4010: 4B 43 0A 00 12 1E 04 0C FF FF 0C 00 0A 00 5C 2F  KC............\=
/
    4020: 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B  ._SB_PCI0LPC0LN=
K
    4030: 41 0A 00 12 1E 04 0C FF FF 0C 00 0A 01 5C 2F 04  A............\/=
.
    4040: 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 42  _SB_PCI0LPC0LNK=
B
    4050: 0A 00 12 1E 04 0C FF FF 0C 00 0A 02 5C 2F 04 5F  ............\/.=
_
    4060: 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 43 0A  SB_PCI0LPC0LNKC=
.
    4070: 00 12 1E 04 0C FF FF 0C 00 0A 03 5C 2F 04 5F 53  ...........\/._=
S
    4080: 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 44 0A 00  B_PCI0LPC0LNKD.=
.
    4090: 12 1E 04 0C FF FF 0D 00 0A 00 5C 2F 04 5F 53 42  ..........\/._S=
B
    40A0: 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 42 0A 00 12  _PCI0LPC0LNKB..=
.
    40B0: 1E 04 0C FF FF 0D 00 0A 01 5C 2F 04 5F 53 42 5F  .........\/._SB=
_
    40C0: 50 43 49 30 4C 50 43 30 4C 4E 4B 43 0A 00 12 1E  PCI0LPC0LNKC...=
.
    40D0: 04 0C FF FF 0D 00 0A 02 5C 2F 04 5F 53 42 5F 50  ........\/._SB_=
P
    40E0: 43 49 30 4C 50 43 30 4C 4E 4B 44 0A 00 12 1E 04  CI0LPC0LNKD....=
.
    40F0: 0C FF FF 0D 00 0A 03 5C 2F 04 5F 53 42 5F 50 43  .......\/._SB_P=
C
    4100: 49 30 4C 50 43 30 4C 4E 4B 41 0A 00 12 1E 04 0C  I0LPC0LNKA.....=
.
    4110: FF FF 14 00 0A 00 5C 2F 04 5F 53 42 5F 50 43 49  ......\/._SB_PC=
I
    4120: 30 4C 50 43 30 4C 4E 4B 41 0A 00 12 1E 04 0C FF  0LPC0LNKA......=
.
    4130: FF 14 00 0A 01 5C 2F 04 5F 53 42 5F 50 43 49 30  .....\/._SB_PCI=
0
    4140: 4C 50 43 30 4C 4E 4B 42 0A 00 12 1E 04 0C FF FF  LPC0LNKB.......=
.
    4150: 14 00 0A 02 5C 2F 04 5F 53 42 5F 50 43 49 30 4C  ....\/._SB_PCI0=
L
    4160: 50 43 30 4C 4E 4B 43 0A 00 12 1E 04 0C FF FF 14  PC0LNKC........=
.
    4170: 00 0A 03 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50  ...\/._SB_PCI0L=
P
    4180: 43 30 4C 4E 4B 44 0A 00 12 1E 04 0C FF FF 12 00  C0LNKD.........=
.
    4190: 0A 00 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43  ..\/._SB_PCI0LP=
C
    41A0: 30 4C 4E 4B 43 0A 00 12 1E 04 0C FF FF 12 00 0A  0LNKC..........=
.
    41B0: 01 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30  .\/._SB_PCI0LPC=
0
    41C0: 4C 4E 4B 42 0A 00 12 1E 04 0C FF FF 12 00 0A 02  LNKB...........=
.
    41D0: 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C  \/._SB_PCI0LPC0=
L
    41E0: 4E 4B 41 0A 00 12 1E 04 0C FF FF 12 00 0A 03 5C  NKA............=
\
    41F0: 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E  /._SB_PCI0LPC0L=
N
    4200: 4B 44 0A 00 12 1E 04 0C FF FF 13 00 0A 00 5C 2F  KD............\=
/
    4210: 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B  ._SB_PCI0LPC0LN=
K
    4220: 43 0A 00 12 1E 04 0C FF FF 13 00 0A 01 5C 2F 04  C............\/=
.
    4230: 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 42  _SB_PCI0LPC0LNK=
B
    4240: 0A 00 12 1E 04 0C FF FF 13 00 0A 02 5C 2F 04 5F  ............\/.=
_
    4250: 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 41 0A  SB_PCI0LPC0LNKA=
.
    4260: 00 12 1E 04 0C FF FF 13 00 0A 03 5C 2F 04 5F 53  ...........\/._=
S
    4270: 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 44 0A 00  B_PCI0LPC0LNKD.=
.
    4280: 12 1E 04 0C FF FF 16 00 0A 00 5C 2F 04 5F 53 42  ..........\/._S=
B
    4290: 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 43 0A 00 12  _PCI0LPC0LNKC..=
.
    42A0: 1E 04 0C FF FF 16 00 0A 01 5C 2F 04 5F 53 42 5F  .........\/._SB=
_
    42B0: 50 43 49 30 4C 50 43 30 4C 4E 4B 42 0A 00 12 1E  PCI0LPC0LNKB...=
.
    42C0: 04 0C FF FF 16 00 0A 02 5C 2F 04 5F 53 42 5F 50  ........\/._SB_=
P
    42D0: 43 49 30 4C 50 43 30 4C 4E 4B 41 0A 00 12 1E 04  CI0LPC0LNKA....=
.
    42E0: 0C FF FF 16 00 0A 03 5C 2F 04 5F 53 42 5F 50 43  .......\/._SB_P=
C
    42F0: 49 30 4C 50 43 30 4C 4E 4B 44 0A 00 12 1E 04 0C  I0LPC0LNKD.....=
.
    4300: FF FF 11 00 0A 00 5C 2F 04 5F 53 42 5F 50 43 49  ......\/._SB_PC=
I
    4310: 30 4C 50 43 30 4C 4E 4B 44 0A 00 12 1E 04 0C FF  0LPC0LNKD......=
.
    4320: FF 11 00 0A 01 5C 2F 04 5F 53 42 5F 50 43 49 30  .....\/._SB_PCI=
0
    4330: 4C 50 43 30 4C 4E 4B 44 0A 00 12 1E 04 0C FF FF  LPC0LNKD.......=
.
    4340: 11 00 0A 02 5C 2F 04 5F 53 42 5F 50 43 49 30 4C  ....\/._SB_PCI0=
L
    4350: 50 43 30 4C 4E 4B 44 0A 00 12 1E 04 0C FF FF 11  PC0LNKD........=
.
    4360: 00 0A 03 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50  ...\/._SB_PCI0L=
P
    4370: 43 30 4C 4E 4B 44 0A 00 12 1E 04 0C FF FF 15 00  C0LNKD.........=
.
    4380: 0A 00 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43  ..\/._SB_PCI0LP=
C
    4390: 30 4C 4E 4B 42 0A 00 12 1E 04 0C FF FF 15 00 0A  0LNKB..........=
.
    43A0: 01 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30  .\/._SB_PCI0LPC=
0
    43B0: 4C 4E 4B 42 0A 00 12 1E 04 0C FF FF 15 00 0A 02  LNKB...........=
.
    43C0: 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C  \/._SB_PCI0LPC0=
L
    43D0: 4E 4B 42 0A 00 12 1E 04 0C FF FF 15 00 0A 03 5C  NKB............=
\
    43E0: 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E  /._SB_PCI0LPC0L=
N
    43F0: 4B 42 0A 00 08 41 50 49 43 12 4B 3B 44 12 0D 04  KB...APIC.K;D..=
.
    4400: 0C FF FF 02 00 0A 00 0A 00 0A 12 12 0D 04 0C FF  ...............=
.
    4410: FF 02 00 0A 01 0A 00 0A 13 12 0D 04 0C FF FF 02  ...............=
.
    4420: 00 0A 02 0A 00 0A 10 12 0D 04 0C FF FF 02 00 0A  ...............=
.
    4430: 03 0A 00 0A 11 12 0D 04 0C FF FF 03 00 0A 00 0A  ...............=
.
    4440: 00 0A 13 12 0D 04 0C FF FF 03 00 0A 01 0A 00 0A  ...............=
.
    4450: 10 12 0D 04 0C FF FF 03 00 0A 02 0A 00 0A 11 12  ...............=
.
    4460: 0D 04 0C FF FF 03 00 0A 03 0A 00 0A 12 12 0D 04  ...............=
.
    4470: 0C FF FF 04 00 0A 00 0A 00 0A 10 12 0D 04 0C FF  ...............=
.
    4480: FF 04 00 0A 01 0A 00 0A 11 12 0D 04 0C FF FF 04  ...............=
.
    4490: 00 0A 02 0A 00 0A 12 12 0D 04 0C FF FF 04 00 0A  ...............=
.
    44A0: 03 0A 00 0A 13 12 0D 04 0C FF FF 05 00 0A 00 0A  ...............=
.
    44B0: 00 0A 11 12 0D 04 0C FF FF 05 00 0A 01 0A 00 0A  ...............=
.
    44C0: 12 12 0D 04 0C FF FF 05 00 0A 02 0A 00 0A 13 12  ...............=
.
    44D0: 0D 04 0C FF FF 05 00 0A 03 0A 00 0A 10 12 0D 04  ...............=
.
    44E0: 0C FF FF 06 00 0A 00 0A 00 0A 12 12 0D 04 0C FF  ...............=
.
    44F0: FF 06 00 0A 01 0A 00 0A 13 12 0D 04 0C FF FF 06  ...............=
.
    4500: 00 0A 02 0A 00 0A 10 12 0D 04 0C FF FF 06 00 0A  ...............=
.
    4510: 03 0A 00 0A 11 12 0D 04 0C FF FF 07 00 0A 00 0A  ...............=
.
    4520: 00 0A 13 12 0D 04 0C FF FF 07 00 0A 01 0A 00 0A  ...............=
.
    4530: 10 12 0D 04 0C FF FF 07 00 0A 02 0A 00 0A 11 12  ...............=
.
    4540: 0D 04 0C FF FF 07 00 0A 03 0A 00 0A 12 12 0D 04  ...............=
.
    4550: 0C FF FF 09 00 0A 00 0A 00 0A 11 12 0D 04 0C FF  ...............=
.
    4560: FF 09 00 0A 01 0A 00 0A 12 12 0D 04 0C FF FF 09  ...............=
.
    4570: 00 0A 02 0A 00 0A 13 12 0D 04 0C FF FF 09 00 0A  ...............=
.
    4580: 03 0A 00 0A 10 12 0D 04 0C FF FF 0A 00 0A 00 0A  ...............=
.
    4590: 00 0A 12 12 0D 04 0C FF FF 0A 00 0A 01 0A 00 0A  ...............=
.
    45A0: 13 12 0D 04 0C FF FF 0A 00 0A 02 0A 00 0A 10 12  ...............=
.
    45B0: 0D 04 0C FF FF 0A 00 0A 03 0A 00 0A 11 12 0D 04  ...............=
.
    45C0: 0C FF FF 0B 00 0A 00 0A 00 0A 13 12 0D 04 0C FF  ...............=
.
    45D0: FF 0B 00 0A 01 0A 00 0A 10 12 0D 04 0C FF FF 0B  ...............=
.
    45E0: 00 0A 02 0A 00 0A 11 12 0D 04 0C FF FF 0B 00 0A  ...............=
.
    45F0: 03 0A 00 0A 12 12 0D 04 0C FF FF 0C 00 0A 00 0A  ...............=
.
    4600: 00 0A 10 12 0D 04 0C FF FF 0C 00 0A 01 0A 00 0A  ...............=
.
    4610: 11 12 0D 04 0C FF FF 0C 00 0A 02 0A 00 0A 12 12  ...............=
.
    4620: 0D 04 0C FF FF 0C 00 0A 03 0A 00 0A 13 12 0D 04  ...............=
.
    4630: 0C FF FF 0D 00 0A 00 0A 00 0A 11 12 0D 04 0C FF  ...............=
.
    4640: FF 0D 00 0A 01 0A 00 0A 12 12 0D 04 0C FF FF 0D  ...............=
.
    4650: 00 0A 02 0A 00 0A 13 12 0D 04 0C FF FF 0D 00 0A  ...............=
.
    4660: 03 0A 00 0A 10 12 0D 04 0C FF FF 14 00 0A 00 0A  ...............=
.
    4670: 00 0A 10 12 0D 04 0C FF FF 14 00 0A 01 0A 00 0A  ...............=
.
    4680: 11 12 0D 04 0C FF FF 14 00 0A 02 0A 00 0A 12 12  ...............=
.
    4690: 0D 04 0C FF FF 14 00 0A 03 0A 00 0A 13 12 0D 04  ...............=
.
    46A0: 0C FF FF 12 00 0A 00 0A 00 0A 12 12 0D 04 0C FF  ...............=
.
    46B0: FF 12 00 0A 01 0A 00 0A 11 12 0D 04 0C FF FF 12  ...............=
.
    46C0: 00 0A 02 0A 00 0A 10 12 0D 04 0C FF FF 12 00 0A  ...............=
.
    46D0: 03 0A 00 0A 13 12 0D 04 0C FF FF 13 00 0A 00 0A  ...............=
.
    46E0: 00 0A 12 12 0D 04 0C FF FF 13 00 0A 01 0A 00 0A  ...............=
.
    46F0: 11 12 0D 04 0C FF FF 13 00 0A 02 0A 00 0A 10 12  ...............=
.
    4700: 0D 04 0C FF FF 13 00 0A 03 0A 00 0A 13 12 0D 04  ...............=
.
    4710: 0C FF FF 16 00 0A 00 0A 00 0A 12 12 0D 04 0C FF  ...............=
.
    4720: FF 16 00 0A 01 0A 00 0A 11 12 0D 04 0C FF FF 16  ...............=
.
    4730: 00 0A 02 0A 00 0A 10 12 0D 04 0C FF FF 16 00 0A  ...............=
.
    4740: 03 0A 00 0A 13 12 0D 04 0C FF FF 11 00 0A 00 0A  ...............=
.
    4750: 00 0A 13 12 0D 04 0C FF FF 11 00 0A 01 0A 00 0A  ...............=
.
    4760: 13 12 0D 04 0C FF FF 11 00 0A 02 0A 00 0A 13 12  ...............=
.
    4770: 0D 04 0C FF FF 11 00 0A 03 0A 00 0A 13 12 0D 04  ...............=
.
    4780: 0C FF FF 15 00 0A 00 0A 00 0A 11 12 0D 04 0C FF  ...............=
.
    4790: FF 15 00 0A 01 0A 00 0A 11 12 0D 04 0C FF FF 15  ...............=
.
    47A0: 00 0A 02 0A 00 0A 11 12 0D 04 0C FF FF 15 00 0A  ...............=
.
    47B0: 03 0A 00 0A 11 14 19 5F 50 52 54 00 A0 0B 92 50  ......._PRT....=
P
    47C0: 49 43 46 A4 50 49 43 4D A1 06 A4 41 50 49 43 5B  ICF.PICM...APIC=
[
    47D0: 82 43 05 53 4D 42 30 08 5F 41 44 52 0C 00 00 14  .C.SMB0._ADR...=
.
    47E0: 00 5B 80 5C 2F 04 5F 53 42 5F 50 43 49 30 53 4D  .[.\/._SB_PCI0S=
M
    47F0: 42 30 48 45 54 54 02 0A 64 0A 02 10 28 5C 00 5B  B0HETT..d...(\.=
[
    4800: 81 23 5C 2F 04 5F 53 42 5F 50 43 49 30 53 4D 42  .#\/._SB_PCI0SM=
B
    4810: 30 48 45 54 54 01 48 50 30 5F 08 00 02 48 50 54  0HETT.HP0_...HP=
T
    4820: 46 01 00 05 5B 82 33 55 53 42 30 08 5F 41 44 52  F...[.3USB0._AD=
R
    4830: 0C 00 00 12 00 08 5F 50 52 57 12 06 02 0A 0B 0A  ......_PRW.....=
.
    4840: 03 14 17 5F 53 33 44 00 A0 0B 93 4F 53 46 4C 0A  ..._S3D....OSFL=
.
    4850: 02 A4 0A 02 A1 04 A4 0A 03 5B 82 33 55 53 42 31  .........[.3USB=
1
    4860: 08 5F 41 44 52 0C 02 00 12 00 08 5F 50 52 57 12  ._ADR......_PRW=
.
    4870: 06 02 0A 0B 0A 03 14 17 5F 53 33 44 00 A0 0B 93  ........_S3D...=
.
    4880: 4F 53 46 4C 0A 02 A4 0A 02 A1 04 A4 0A 03 5B 82  OSFL..........[=
.
    4890: 33 55 53 42 32 08 5F 41 44 52 0C 00 00 13 00 08  3USB2._ADR.....=
.
    48A0: 5F 50 52 57 12 06 02 0A 0B 0A 03 14 17 5F 53 33  _PRW........._S=
3
    48B0: 44 00 A0 0B 93 4F 53 46 4C 0A 02 A4 0A 02 A1 04  D....OSFL......=
.
    48C0: A4 0A 03 5B 82 33 55 53 42 33 08 5F 41 44 52 0C  ...[.3USB3._ADR=
.
    48D0: 02 00 13 00 08 5F 50 52 57 12 06 02 0A 0B 0A 03  ....._PRW......=
.
    48E0: 14 17 5F 53 33 44 00 A0 0B 93 4F 53 46 4C 0A 02  .._S3D....OSFL.=
.
    48F0: A4 0A 02 A1 04 A4 0A 03 5B 82 33 55 53 42 34 08  ........[.3USB4=
.
    4900: 5F 41 44 52 0C 00 00 16 00 08 5F 50 52 57 12 06  _ADR......_PRW.=
.
    4910: 02 0A 0B 0A 03 14 17 5F 53 33 44 00 A0 0B 93 4F  ......._S3D....=
O
    4920: 53 46 4C 0A 02 A4 0A 02 A1 04 A4 0A 03 5B 82 33  SFL..........[.=
3
    4930: 55 53 42 35 08 5F 41 44 52 0C 02 00 16 00 08 5F  USB5._ADR......=
_
    4940: 50 52 57 12 06 02 0A 0B 0A 03 14 17 5F 53 33 44  PRW........._S3=
D
    4950: 00 A0 0B 93 4F 53 46 4C 0A 02 A4 0A 02 A1 04 A4  ....OSFL.......=
.
    4960: 0A 03 5B 82 33 55 53 42 36 08 5F 41 44 52 0C 05  ..[.3USB6._ADR.=
.
    4970: 00 14 00 08 5F 50 52 57 12 06 02 0A 0B 0A 03 14  ...._PRW.......=
.
    4980: 17 5F 53 33 44 00 A0 0B 93 4F 53 46 4C 0A 02 A4  ._S3D....OSFL..=
.
    4990: 0A 02 A1 04 A4 0A 03 5B 82 42 04 53 42 41 5A 08  .......[.B.SBAZ=
.
    49A0: 5F 41 44 52 0C 02 00 14 00 5B 80 50 43 49 5F 02  _ADR.....[.PCI_=
.
    49B0: 0A 00 0B 00 01 5B 81 18 50 43 49 5F 00 00 40 21  .....[..PCI_..@=
!
    49C0: 44 4E 53 50 01 44 4E 53 4F 01 45 4E 53 52 01 08  DNSP.DNSO.ENSR.=
.
    49D0: 5F 50 52 57 12 06 02 0A 1B 0A 04 5B 82 46 4E 53  _PRW.......[.FN=
S
    49E0: 41 54 41 08 5F 41 44 52 0C 00 00 11 00 14 06 5F  ATA._ADR.......=
_
    49F0: 49 4E 49 00 5B 80 53 41 43 53 02 0A 00 0A 40 5B  INI.[.SACS....@=
[
    4A00: 81 0E 53 41 43 53 00 00 40 12 53 54 42 35 20 08  ..SACS..@.STB5 =
.
    4A10: 53 50 54 4D 11 17 0A 14 78 00 00 00 0F 00 00 00  SPTM....x......=
.
    4A20: 78 00 00 00 0F 00 00 00 1F 00 00 00 5B 82 4B 24  x...........[.K=
$
    4A30: 50 52 49 44 08 5F 41 44 52 0A 00 14 0B 5F 47 54  PRID._ADR...._G=
T
    4A40: 4D 00 A4 53 50 54 4D 14 06 5F 53 54 4D 03 08 50  M..SPTM.._STM..=
P
    4A50: 52 49 53 0A 00 14 41 0A 5F 50 53 30 00 5B 80 42  RIS...A._PS0.[.=
B
    4A60: 41 52 5F 00 53 54 42 35 0B 00 04 5B 81 3B 42 41  AR_.STB5...[.;B=
A
    4A70: 52 5F 00 00 40 90 00 07 50 4D 42 59 01 00 38 50  R_..@...PMBY..8=
P
    4A80: 4D 53 30 04 00 04 50 4D 53 31 04 00 44 7B 00 07  MS0...PMS1..D{.=
.
    4A90: 50 53 42 59 01 00 38 50 53 53 30 04 00 04 50 53  PSBY..8PSS0...P=
S
    4AA0: 53 31 04 00 44 3B 00 07 A0 47 04 91 93 4F 53 54  S1..D;...G...OS=
T
    4AB0: 59 0A 06 93 4F 53 54 59 0A 04 A0 1A 50 4D 53 31  Y...OSTY....PMS=
1
    4AC0: 70 0A 32 60 A2 10 90 93 50 4D 42 59 0A 01 60 5B  p.2`....PMBY..`=
[
    4AD0: 22 0A FA 76 60 A0 1A 50 53 53 31 70 0A 32 60 A2  "..v`..PSS1p.2`=
.
    4AE0: 10 90 93 50 53 42 59 0A 01 60 5B 22 0A FA 76 60  ...PSBY..`["..v=
`
    4AF0: 70 0A 00 50 52 49 53 14 0D 5F 50 53 33 00 70 0A  p..PRIS.._PS3.p=
.
    4B00: 03 50 52 49 53 14 0B 5F 50 53 43 00 A4 50 52 49  .PRIS.._PSC..PR=
I
    4B10: 53 5B 82 41 0B 50 5F 44 30 08 5F 41 44 52 0A 00  S[.A.P_D0._ADR.=
.
    4B20: 14 3E 5F 53 54 41 00 5B 80 42 41 52 5F 00 53 54  .>_STA.[.BAR_.S=
T
    4B30: 42 35 0B 00 04 5B 81 15 42 41 52 5F 00 00 40 94  B5...[..BAR_..@=
.
    4B40: 50 4D 53 30 04 00 04 50 4D 53 31 04 A0 0D 80 93  PMS0...PMS1....=
.
    4B50: 50 4D 53 31 0A 00 00 A4 0A 0F A1 04 A4 0A 00 08  PMS1...........=
.
    4B60: 53 31 32 50 0A 00 14 43 04 5F 50 53 30 00 5B 80  S12P...C._PS0.[=
.
    4B70: 42 41 52 5F 00 53 54 42 35 0B 00 04 5B 81 10 42  BAR_.STB5...[..=
B
    4B80: 41 52 5F 00 00 40 90 00 07 50 4D 42 59 01 70 0A  AR_..@...PMBY.p=
.
    4B90: 32 60 A2 10 90 93 50 4D 42 59 0A 01 60 5B 22 0A  2`....PMBY..`["=
.
    4BA0: FA 76 60 70 0A 00 53 31 32 50 14 0D 5F 50 53 33  .v`p..S12P.._PS=
3
    4BB0: 00 70 0A 03 53 31 32 50 14 0B 5F 50 53 43 00 A4  .p..S12P.._PSC.=
.
    4BC0: 53 31 32 50 5B 82 43 0B 50 5F 44 31 08 5F 41 44  S12P[.C.P_D1._A=
D
    4BD0: 52 0A 01 14 3F 5F 53 54 41 00 5B 80 42 41 52 5F  R...?_STA.[.BAR=
_
    4BE0: 00 53 54 42 35 0B 00 04 5B 81 16 42 41 52 5F 00  .STB5...[..BAR_=
.
    4BF0: 00 80 14 01 50 53 53 30 04 00 04 50 53 53 31 04  ....PSS0...PSS1=
.
    4C00: A0 0D 80 93 50 53 53 31 0A 00 00 A4 0A 0F A1 04  ....PSS1.......=
.
    4C10: A4 0A 00 08 53 31 32 50 0A 00 14 44 04 5F 50 53  ....S12P...D._P=
S
    4C20: 30 00 5B 80 42 41 52 5F 00 53 54 42 35 0B 00 04  0.[.BAR_.STB5..=
.
    4C30: 5B 81 11 42 41 52 5F 00 00 80 10 01 00 07 50 53  [..BAR_.......P=
S
    4C40: 42 59 01 70 0A 32 60 A2 10 90 93 50 53 42 59 0A  BY.p.2`....PSBY=
.
    4C50: 01 60 5B 22 0A FA 76 60 70 0A 00 53 31 32 50 14  .`["..v`p..S12P=
.
    4C60: 0D 5F 50 53 33 00 70 0A 03 53 31 32 50 14 0B 5F  ._PS3.p..S12P..=
_
    4C70: 50 53 43 00 A4 53 31 32 50 5B 82 48 24 53 45 43  PSC..S12P[.H$SE=
C
    4C80: 44 08 5F 41 44 52 0A 01 14 0B 5F 47 54 4D 00 A4  D._ADR...._GTM.=
.
    4C90: 53 50 54 4D 14 06 5F 53 54 4D 03 08 53 45 43 53  SPTM.._STM..SEC=
S
    4CA0: 0A 00 14 4E 09 5F 50 53 30 00 5B 80 42 41 52 5F  ...N._PS0.[.BAR=
_
    4CB0: 00 53 54 42 35 0B 00 04 5B 81 38 42 41 52 5F 00  .STB5...[.8BAR_=
.
    4CC0: 00 40 D0 00 07 53 4D 42 59 01 00 38 53 4D 53 30  .@...SMBY..8SMS=
0
    4CD0: 04 00 04 53 4D 53 31 04 00 44 7B 00 07 53 53 42  ...SMS1..D{..SS=
B
    4CE0: 59 01 00 38 53 53 53 30 04 00 04 53 53 53 31 04  Y..8SSS0...SSS1=
.
    4CF0: 00 14 A0 47 04 91 93 4F 53 54 59 0A 06 93 4F 53  ...G...OSTY...O=
S
    4D00: 54 59 0A 04 A0 1A 53 4D 53 31 70 0A 32 60 A2 10  TY....SMS1p.2`.=
.
    4D10: 90 93 53 4D 42 59 0A 01 60 5B 22 0A FA 76 60 A0  ..SMBY..`["..v`=
.
    4D20: 1A 53 53 53 31 70 0A 32 60 A2 10 90 93 53 53 42  .SSS1p.2`....SS=
B
    4D30: 59 0A 01 60 5B 22 0A FA 76 60 70 0A 00 53 45 43  Y..`["..v`p..SE=
C
    4D40: 53 14 0D 5F 50 53 33 00 70 0A 03 53 45 43 53 14  S.._PS3.p..SECS=
.
    4D50: 0B 5F 50 53 43 00 A4 53 45 43 53 5B 82 41 0B 53  ._PSC..SECS[.A.=
S
    4D60: 5F 44 30 08 5F 41 44 52 0A 00 14 3E 5F 53 54 41  _D0._ADR...>_ST=
A
    4D70: 00 5B 80 42 41 52 5F 00 53 54 42 35 0B 00 04 5B  .[.BAR_.STB5...=
[
    4D80: 81 15 42 41 52 5F 00 00 40 D4 53 4D 53 30 04 00  ..BAR_..@.SMS0.=
.
    4D90: 04 53 4D 53 31 04 A0 0D 80 93 53 4D 53 31 0A 00  .SMS1.....SMS1.=
.
    4DA0: 00 A4 0A 0F A1 04 A4 0A 00 08 53 31 32 50 0A 00  ..........S12P.=
.
    4DB0: 14 43 04 5F 50 53 30 00 5B 80 42 41 52 5F 00 53  .C._PS0.[.BAR_.=
S
    4DC0: 54 42 35 0B 00 10 5B 81 10 42 41 52 5F 00 00 40  TB5...[..BAR_..=
@
    4DD0: D0 00 07 53 4D 42 59 01 70 0A 32 60 A2 10 90 93  ...SMBY.p.2`...=
.
    4DE0: 53 4D 42 59 0A 01 60 5B 22 0A FA 76 60 70 0A 00  SMBY..`["..v`p.=
.
    4DF0: 53 31 32 50 14 0D 5F 50 53 33 00 70 0A 03 53 31  S12P.._PS3.p..S=
1
    4E00: 32 50 14 0B 5F 50 53 43 00 A4 53 31 32 50 5B 82  2P.._PSC..S12P[=
.
    4E10: 43 0B 53 5F 44 31 08 5F 41 44 52 0A 01 14 3F 5F  C.S_D1._ADR...?=
_
    4E20: 53 54 41 00 5B 80 42 41 52 5F 00 53 54 42 35 0B  STA.[.BAR_.STB5=
.
    4E30: 00 04 5B 81 16 42 41 52 5F 00 00 80 54 01 53 53  ..[..BAR_...T.S=
S
    4E40: 53 30 04 00 04 53 53 53 31 04 A0 0D 80 93 53 53  S0...SSS1.....S=
S
    4E50: 53 31 0A 00 00 A4 0A 0F A1 04 A4 0A 00 08 53 31  S1............S=
1
    4E60: 32 50 0A 00 14 44 04 5F 50 53 30 00 5B 80 42 41  2P...D._PS0.[.B=
A
    4E70: 52 5F 00 53 54 42 35 0B 00 04 5B 81 11 42 41 52  R_.STB5...[..BA=
R
    4E80: 5F 00 00 80 50 01 00 07 53 53 42 59 01 70 0A 32  _...P...SSBY.p.=
2
    4E90: 60 A2 10 90 93 53 53 42 59 0A 01 60 5B 22 0A FA  `....SSBY..`[".=
.
    4EA0: 76 60 70 0A 00 53 31 32 50 14 0D 5F 50 53 33 00  v`p..S12P.._PS3=
.
    4EB0: 70 0A 03 53 31 32 50 14 0B 5F 50 53 43 00 A4 53  p..S12P.._PSC..=
S
    4EC0: 31 32 50 5B 82 45 0F 50 45 58 30 08 5F 41 44 52  12P[.E.PEX0._AD=
R
    4ED0: 0C 00 00 15 00 14 09 5F 53 54 41 00 A4 0A 0F 08  ......._STA....=
.
    4EE0: 5F 50 52 57 12 06 02 0A 0F 0A 05 08 50 49 43 30  _PRW........PIC=
0
    4EF0: 12 47 07 04 12 1C 04 0B FF FF 0A 00 5C 2F 04 5F  .G..........\/.=
_
    4F00: 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 42 0A  SB_PCI0LPC0LNKB=
.
    4F10: 00 12 1C 04 0B FF FF 0A 01 5C 2F 04 5F 53 42 5F  .........\/._SB=
_
    4F20: 50 43 49 30 4C 50 43 30 4C 4E 4B 42 0A 00 12 1C  PCI0LPC0LNKB...=
.
    4F30: 04 0B FF FF 0A 02 5C 2F 04 5F 53 42 5F 50 43 49  ......\/._SB_PC=
I
    4F40: 30 4C 50 43 30 4C 4E 4B 42 0A 00 12 1C 04 0B FF  0LPC0LNKB......=
.
    4F50: FF 0A 03 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50  ...\/._SB_PCI0L=
P
    4F60: 43 30 4C 4E 4B 42 0A 00 08 41 50 49 30 12 32 04  C0LNKB...API0.2=
.
    4F70: 12 0B 04 0B FF FF 0A 00 0A 00 0A 11 12 0B 04 0B  ...............=
.
    4F80: FF FF 0A 01 0A 00 0A 11 12 0B 04 0B FF FF 0A 02  ...............=
.
    4F90: 0A 00 0A 11 12 0B 04 0B FF FF 0A 03 0A 00 0A 11  ...............=
.
    4FA0: 14 19 5F 50 52 54 00 A0 0B 92 50 49 43 46 A4 50  .._PRT....PICF.=
P
    4FB0: 49 43 30 A1 06 A4 41 50 49 30 5B 82 45 0F 50 45  IC0...API0[.E.P=
E
    4FC0: 58 31 08 5F 41 44 52 0C 01 00 15 00 14 09 5F 53  X1._ADR......._=
S
    4FD0: 54 41 00 A4 0A 0F 08 5F 50 52 57 12 06 02 0A 10  TA....._PRW....=
.
    4FE0: 0A 05 08 50 49 43 31 12 47 07 04 12 1C 04 0B FF  ...PIC1.G......=
.
    4FF0: FF 0A 00 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50  ...\/._SB_PCI0L=
P
    5000: 43 30 4C 4E 4B 42 0A 00 12 1C 04 0B FF FF 0A 01  C0LNKB.........=
.
    5010: 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C  \/._SB_PCI0LPC0=
L
    5020: 4E 4B 42 0A 00 12 1C 04 0B FF FF 0A 02 5C 2F 04  NKB..........\/=
.
    5030: 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 42  _SB_PCI0LPC0LNK=
B
    5040: 0A 00 12 1C 04 0B FF FF 0A 03 5C 2F 04 5F 53 42  ..........\/._S=
B
    5050: 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 42 0A 00 08  _PCI0LPC0LNKB..=
.
    5060: 41 50 49 31 12 32 04 12 0B 04 0B FF FF 0A 00 0A  API1.2.........=
.
    5070: 00 0A 11 12 0B 04 0B FF FF 0A 01 0A 00 0A 11 12  ...............=
.
    5080: 0B 04 0B FF FF 0A 02 0A 00 0A 11 12 0B 04 0B FF  ...............=
.
    5090: FF 0A 03 0A 00 0A 11 14 19 5F 50 52 54 00 A0 0B  ........._PRT..=
.
    50A0: 92 50 49 43 46 A4 50 49 43 31 A1 06 A4 41 50 49  .PICF.PIC1...AP=
I
    50B0: 31 5B 82 45 0F 50 45 58 32 08 5F 41 44 52 0C 02  1[.E.PEX2._ADR.=
.
    50C0: 00 15 00 14 09 5F 53 54 41 00 A4 0A 0F 08 5F 50  ....._STA....._=
P
    50D0: 52 57 12 06 02 0A 11 0A 05 08 50 49 43 32 12 47  RW........PIC2.=
G
    50E0: 07 04 12 1C 04 0B FF FF 0A 00 5C 2F 04 5F 53 42  ..........\/._S=
B
    50F0: 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 42 0A 00 12  _PCI0LPC0LNKB..=
.
    5100: 1C 04 0B FF FF 0A 01 5C 2F 04 5F 53 42 5F 50 43  .......\/._SB_P=
C
    5110: 49 30 4C 50 43 30 4C 4E 4B 42 0A 00 12 1C 04 0B  I0LPC0LNKB.....=
.
    5120: FF FF 0A 02 5C 2F 04 5F 53 42 5F 50 43 49 30 4C  ....\/._SB_PCI0=
L
    5130: 50 43 30 4C 4E 4B 42 0A 00 12 1C 04 0B FF FF 0A  PC0LNKB........=
.
    5140: 03 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30  .\/._SB_PCI0LPC=
0
    5150: 4C 4E 4B 42 0A 00 08 41 50 49 32 12 32 04 12 0B  LNKB...API2.2..=
.
    5160: 04 0B FF FF 0A 00 0A 00 0A 11 12 0B 04 0B FF FF  ...............=
.
    5170: 0A 01 0A 00 0A 11 12 0B 04 0B FF FF 0A 02 0A 00  ...............=
.
    5180: 0A 11 12 0B 04 0B FF FF 0A 03 0A 00 0A 11 14 19  ...............=
.
    5190: 5F 50 52 54 00 A0 0B 92 50 49 43 46 A4 50 49 43  _PRT....PICF.PI=
C
    51A0: 32 A1 06 A4 41 50 49 32 5B 82 45 0F 50 45 58 33  2...API2[.E.PEX=
3
    51B0: 08 5F 41 44 52 0C 03 00 15 00 14 09 5F 53 54 41  ._ADR......._ST=
A
    51C0: 00 A4 0A 0F 08 5F 50 52 57 12 06 02 0A 12 0A 05  ....._PRW......=
.
    51D0: 08 50 49 43 33 12 47 07 04 12 1C 04 0B FF FF 0A  .PIC3.G........=
.
    51E0: 00 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30  .\/._SB_PCI0LPC=
0
    51F0: 4C 4E 4B 42 0A 00 12 1C 04 0B FF FF 0A 01 5C 2F  LNKB..........\=
/
    5200: 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B  ._SB_PCI0LPC0LN=
K
    5210: 42 0A 00 12 1C 04 0B FF FF 0A 02 5C 2F 04 5F 53  B..........\/._=
S
    5220: 42 5F 50 43 49 30 4C 50 43 30 4C 4E 4B 42 0A 00  B_PCI0LPC0LNKB.=
.
    5230: 12 1C 04 0B FF FF 0A 03 5C 2F 04 5F 53 42 5F 50  ........\/._SB_=
P
    5240: 43 49 30 4C 50 43 30 4C 4E 4B 42 0A 00 08 41 50  CI0LPC0LNKB...A=
P
    5250: 49 33 12 32 04 12 0B 04 0B FF FF 0A 00 0A 00 0A  I3.2...........=
.
    5260: 11 12 0B 04 0B FF FF 0A 01 0A 00 0A 11 12 0B 04  ...............=
.
    5270: 0B FF FF 0A 02 0A 00 0A 11 12 0B 04 0B FF FF 0A  ...............=
.
    5280: 03 0A 00 0A 11 14 19 5F 50 52 54 00 A0 0B 92 50  ......._PRT....=
P
    5290: 49 43 46 A4 50 49 43 33 A1 06 A4 41 50 49 33 5B  ICF.PIC3...API3=
[
    52A0: 82 49 86 4C 50 43 30 08 5F 41 44 52 0C 03 00 14  .I.LPC0._ADR...=
.
    52B0: 00 5B 82 46 14 50 4D 49 4F 08 5F 48 49 44 0C 41  .[.F.PMIO._HID.=
A
    52C0: D0 0C 02 08 5F 55 49 44 0A 03 14 4E 12 5F 43 52  ...._UID...N._C=
R
    52D0: 53 00 08 42 55 46 30 11 42 0C 0A BE 47 01 00 09  S..BUF0.B...G..=
.
    52E0: 00 09 01 20 47 01 28 02 28 02 01 08 47 01 0B 04  ... G.(.(...G..=
.
    52F0: 0B 04 01 01 47 01 D6 04 D6 04 01 01 47 01 00 0C  ....G.......G..=
.
    5300: 00 0C 01 02 47 01 14 0C 14 0C 01 01 47 01 50 0C  ....G.......G.P=
.
    5310: 50 0C 01 03 47 01 6C 0C 6C 0C 01 02 47 01 6F 0C  P...G.l.l...G.o=
.
    5320: 6F 0C 01 01 47 01 D0 0C D0 0C 01 02 47 01 D2 0C  o...G.......G..=
.
    5330: D2 0C 01 02 47 01 D4 0C D4 0C 01 0C 47 01 00 08  ....G.......G..=
.
    5340: 00 08 01 FF 47 01 10 0A 10 0A 01 08 47 01 00 0B  ....G.......G..=
.
    5350: 00 0B 01 10 47 01 10 0B 10 0B 01 10 47 01 20 0B  ....G.......G. =
.
    5360: 20 0B 01 20 87 17 00 00 0C 03 00 00 00 00 00 00   .. ...........=
.
    5370: 00 E0 00 00 00 E0 00 00 00 00 00 00 00 00 87 17  ...............=
.
    5380: 00 00 0C 03 00 00 00 00 00 04 E0 FE FF 0F E0 FE  ...............=
.
    5390: 00 00 00 00 FF 0B 00 00 79 00 8A 42 55 46 30 0A  ........y..BUF0=
.
    53A0: 92 42 41 52 58 8A 42 55 46 30 0A 9E 47 41 4C 4E  .BARX.BUF0..GAL=
N
    53B0: 8A 42 55 46 30 0A 96 47 41 4D 58 70 0B 00 10 47  .BUF0..GAMXp...=
G
    53C0: 41 4C 4E 70 5C 2F 03 5F 53 42 5F 50 43 49 30 4D  ALNp\/._SB_PCI0=
M
    53D0: 4D 49 4F 60 7B 60 0C F0 FF FF FF 42 41 52 58 72  MIO`{`.....BARX=
r
    53E0: 60 47 41 4C 4E 47 41 4D 58 74 47 41 4D 58 0A 01  `GALNGAMXtGAMX.=
.
    53F0: 47 41 4D 58 A4 42 55 46 30 5B 80 50 49 52 51 01  GAMX.BUF0[.PIRQ=
.
    5400: 0B 00 0C 0A 02 5B 81 10 50 49 52 51 01 50 49 49  .....[..PIRQ.PI=
I
    5410: 44 08 50 49 44 41 08 08 49 50 52 53 11 09 0A 06  D.PIDA..IPRS...=
.
    5420: 23 F8 0C 18 79 00 5B 86 43 09 50 49 49 44 50 49  #...y.[.C.PIIDP=
I
    5430: 44 41 01 50 49 52 41 08 50 49 52 42 08 50 49 52  DA.PIRA.PIRB.PI=
R
    5440: 43 08 50 49 52 44 08 50 49 52 45 08 50 49 52 46  C.PIRD.PIRE.PIR=
F
    5450: 08 50 49 52 47 08 50 49 52 48 08 00 40 04 50 49  .PIRG.PIRH..@.P=
I
    5460: 52 53 08 00 10 48 44 41 44 08 00 08 47 45 43 5F  RS...HDAD...GEC=
_
    5470: 08 00 40 0D 55 53 42 31 08 55 53 42 32 08 55 53  ..@.USB1.USB2.U=
S
    5480: 42 33 08 55 53 42 34 08 55 53 42 35 08 55 53 42  B3.USB4.USB5.US=
B
    5490: 36 08 55 53 42 37 08 00 48 04 49 44 45 5F 08 53  6.USB7..H.IDE_.=
S
    54A0: 41 54 41 08 00 40 07 47 50 50 30 08 47 50 50 31  ATA..@.GPP0.GPP=
1
    54B0: 08 47 50 50 32 08 47 50 50 33 08 14 3E 44 53 50  .GPP2.GPP3..>DS=
P
    54C0: 49 00 70 0A 00 50 49 52 41 70 0A 00 50 49 52 42  I.p..PIRAp..PIR=
B
    54D0: 70 0A 00 50 49 52 43 70 0A 00 50 49 52 44 70 0A  p..PIRCp..PIRDp=
.
    54E0: 00 50 49 52 45 70 0A 00 50 49 52 46 70 0A 00 50  .PIREp..PIRFp..=
P
    54F0: 49 52 47 70 0A 00 50 49 52 48 5B 82 45 08 4C 4E  IRGp..PIRH[.E.L=
N
    5500: 4B 41 08 5F 48 49 44 0C 41 D0 0C 0F 08 5F 55 49  KA._HID.A...._U=
I
    5510: 44 0A 01 14 14 5F 53 54 41 00 A0 08 50 49 52 41  D...._STA...PIR=
A
    5520: A4 0A 0B A1 04 A4 0A 09 14 0B 5F 50 52 53 00 A4  .........._PRS.=
.
    5530: 49 50 52 53 14 0D 5F 44 49 53 00 70 0A 00 50 49  IPRS.._DIS.p..P=
I
    5540: 52 41 14 21 5F 43 52 53 00 70 49 50 52 53 60 8B  RA.!_CRS.pIPRS`=
.
    5550: 60 0A 01 49 52 51 30 79 0A 01 50 49 52 41 49 52  `..IRQ0y..PIRAI=
R
    5560: 51 30 A4 60 14 1C 5F 53 52 53 01 8B 68 0A 01 49  Q0.`.._SRS..h..=
I
    5570: 52 51 30 82 49 52 51 30 60 76 60 70 60 50 49 52  RQ0.IRQ0`v`p`PI=
R
    5580: 41 5B 82 45 08 4C 4E 4B 42 08 5F 48 49 44 0C 41  A[.E.LNKB._HID.=
A
    5590: D0 0C 0F 08 5F 55 49 44 0A 02 14 14 5F 53 54 41  ...._UID...._ST=
A
    55A0: 00 A0 08 50 49 52 42 A4 0A 0B A1 04 A4 0A 09 14  ...PIRB........=
.
    55B0: 0B 5F 50 52 53 00 A4 49 50 52 53 14 0D 5F 44 49  ._PRS..IPRS.._D=
I
    55C0: 53 00 70 0A 00 50 49 52 42 14 21 5F 43 52 53 00  S.p..PIRB.!_CRS=
.
    55D0: 70 49 50 52 53 60 8B 60 0A 01 49 52 51 30 79 0A  pIPRS`.`..IRQ0y=
.
    55E0: 01 50 49 52 42 49 52 51 30 A4 60 14 1C 5F 53 52  .PIRBIRQ0.`.._S=
R
    55F0: 53 01 8B 68 0A 01 49 52 51 30 82 49 52 51 30 60  S..h..IRQ0.IRQ0=
`
    5600: 76 60 70 60 50 49 52 42 5B 82 45 08 4C 4E 4B 43  v`p`PIRB[.E.LNK=
C
    5610: 08 5F 48 49 44 0C 41 D0 0C 0F 08 5F 55 49 44 0A  ._HID.A...._UID=
.
    5620: 03 14 14 5F 53 54 41 00 A0 08 50 49 52 43 A4 0A  ..._STA...PIRC.=
.
    5630: 0B A1 04 A4 0A 09 14 0B 5F 50 52 53 00 A4 49 50  ........_PRS..I=
P
    5640: 52 53 14 0D 5F 44 49 53 00 70 0A 00 50 49 52 43  RS.._DIS.p..PIR=
C
    5650: 14 21 5F 43 52 53 00 70 49 50 52 53 60 8B 60 0A  .!_CRS.pIPRS`.`=
.
    5660: 01 49 52 51 30 79 0A 01 50 49 52 43 49 52 51 30  .IRQ0y..PIRCIRQ=
0
    5670: A4 60 14 1C 5F 53 52 53 01 8B 68 0A 01 49 52 51  .`.._SRS..h..IR=
Q
    5680: 30 82 49 52 51 30 60 76 60 70 60 50 49 52 43 5B  0.IRQ0`v`p`PIRC=
[
    5690: 82 45 08 4C 4E 4B 44 08 5F 48 49 44 0C 41 D0 0C  .E.LNKD._HID.A.=
.
    56A0: 0F 08 5F 55 49 44 0A 04 14 14 5F 53 54 41 00 A0  .._UID...._STA.=
.
    56B0: 08 50 49 52 44 A4 0A 0B A1 04 A4 0A 09 14 0B 5F  .PIRD..........=
_
    56C0: 50 52 53 00 A4 49 50 52 53 14 0D 5F 44 49 53 00  PRS..IPRS.._DIS=
.
    56D0: 70 0A 00 50 49 52 44 14 21 5F 43 52 53 00 70 49  p..PIRD.!_CRS.p=
I
    56E0: 50 52 53 60 8B 60 0A 01 49 52 51 30 79 0A 01 50  PRS`.`..IRQ0y..=
P
    56F0: 49 52 44 49 52 51 30 A4 60 14 1C 5F 53 52 53 01  IRDIRQ0.`.._SRS=
.
    5700: 8B 68 0A 01 49 52 51 30 82 49 52 51 30 60 76 60  .h..IRQ0.IRQ0`v=
`
    5710: 70 60 50 49 52 44 5B 82 45 08 4C 4E 4B 45 08 5F  p`PIRD[.E.LNKE.=
_
    5720: 48 49 44 0C 41 D0 0C 0F 08 5F 55 49 44 0A 05 14  HID.A...._UID..=
.
    5730: 14 5F 53 54 41 00 A0 08 50 49 52 45 A4 0A 0B A1  ._STA...PIRE...=
.
    5740: 04 A4 0A 09 14 0B 5F 50 52 53 00 A4 49 50 52 53  ......_PRS..IPR=
S
    5750: 14 0D 5F 44 49 53 00 70 0A 00 50 49 52 45 14 21  .._DIS.p..PIRE.=
!
    5760: 5F 43 52 53 00 70 49 50 52 53 60 8B 60 0A 01 49  _CRS.pIPRS`.`..=
I
    5770: 52 51 30 79 0A 01 50 49 52 45 49 52 51 30 A4 60  RQ0y..PIREIRQ0.=
`
    5780: 14 1C 5F 53 52 53 01 8B 68 0A 01 49 52 51 30 82  .._SRS..h..IRQ0=
.
    5790: 49 52 51 30 60 76 60 70 60 50 49 52 45 5B 82 45  IRQ0`v`p`PIRE[.=
E
    57A0: 08 4C 4E 4B 46 08 5F 48 49 44 0C 41 D0 0C 0F 08  .LNKF._HID.A...=
.
    57B0: 5F 55 49 44 0A 06 14 14 5F 53 54 41 00 A0 08 50  _UID...._STA...=
P
    57C0: 49 52 46 A4 0A 0B A1 04 A4 0A 09 14 0B 5F 50 52  IRF.........._P=
R
    57D0: 53 00 A4 49 50 52 53 14 0D 5F 44 49 53 00 70 0A  S..IPRS.._DIS.p=
.
    57E0: 00 50 49 52 46 14 21 5F 43 52 53 00 70 49 50 52  .PIRF.!_CRS.pIP=
R
    57F0: 53 60 8B 60 0A 01 49 52 51 30 79 0A 01 50 49 52  S`.`..IRQ0y..PI=
R
    5800: 46 49 52 51 30 A4 60 14 1C 5F 53 52 53 01 8B 68  FIRQ0.`.._SRS..=
h
    5810: 0A 01 49 52 51 30 82 49 52 51 30 60 76 60 70 60  ..IRQ0.IRQ0`v`p=
`
    5820: 50 49 52 46 5B 82 45 08 4C 4E 4B 30 08 5F 48 49  PIRF[.E.LNK0._H=
I
    5830: 44 0C 41 D0 0C 0F 08 5F 55 49 44 0A 07 14 14 5F  D.A...._UID....=
_
    5840: 53 54 41 00 A0 08 50 49 52 47 A4 0A 0B A1 04 A4  STA...PIRG.....=
.
    5850: 0A 09 14 0B 5F 50 52 53 00 A4 49 50 52 53 14 0D  ...._PRS..IPRS.=
.
    5860: 5F 44 49 53 00 70 0A 00 50 49 52 47 14 21 5F 43  _DIS.p..PIRG.!_=
C
    5870: 52 53 00 70 49 50 52 53 60 8B 60 0A 01 49 52 51  RS.pIPRS`.`..IR=
Q
    5880: 30 79 0A 01 50 49 52 47 49 52 51 30 A4 60 14 1C  0y..PIRGIRQ0.`.=
.
    5890: 5F 53 52 53 01 8B 68 0A 01 49 52 51 30 82 49 52  _SRS..h..IRQ0.I=
R
    58A0: 51 30 60 76 60 70 60 50 49 52 47 5B 82 45 08 4C  Q0`v`p`PIRG[.E.=
L
    58B0: 4E 4B 31 08 5F 48 49 44 0C 41 D0 0C 0F 08 5F 55  NK1._HID.A...._=
U
    58C0: 49 44 0A 08 14 14 5F 53 54 41 00 A0 08 50 49 52  ID...._STA...PI=
R
    58D0: 48 A4 0A 0B A1 04 A4 0A 09 14 0B 5F 50 52 53 00  H.........._PRS=
.
    58E0: A4 49 50 52 53 14 0D 5F 44 49 53 00 70 0A 00 50  .IPRS.._DIS.p..=
P
    58F0: 49 52 48 14 21 5F 43 52 53 00 70 49 50 52 53 60  IRH.!_CRS.pIPRS=
`
    5900: 8B 60 0A 01 49 52 51 30 79 0A 01 50 49 52 48 49  .`..IRQ0y..PIRH=
I
    5910: 52 51 30 A4 60 14 1C 5F 53 52 53 01 8B 68 0A 01  RQ0.`.._SRS..h.=
.
    5920: 49 52 51 30 82 49 52 51 30 60 76 60 70 60 50 49  IRQ0.IRQ0`v`p`P=
I
    5930: 52 48 5B 82 2B 50 49 43 5F 08 5F 48 49 44 0B 41  RH[.+PIC_._HID.=
A
    5940: D0 08 5F 43 52 53 11 18 0A 15 47 01 20 00 20 00  .._CRS....G. . =
.
    5950: 01 02 47 01 A0 00 A0 00 01 02 22 04 00 79 00 5B  ..G......."..y.=
[
    5960: 82 3D 44 4D 41 31 08 5F 48 49 44 0C 41 D0 02 00  .=3DDMA1._HID.A=
...
    5970: 08 5F 43 52 53 11 28 0A 25 2A 10 04 47 01 00 00  ._CRS.(.%*..G..=
.
    5980: 00 00 01 10 47 01 80 00 80 00 01 11 47 01 94 00  ....G.......G..=
.
    5990: 94 00 01 0C 47 01 C0 00 C0 00 01 20 79 00 5B 82  ....G...... y.[=
.
    59A0: 42 05 54 4D 52 5F 08 5F 48 49 44 0C 41 D0 01 00  B.TMR_._HID.A..=
.
    59B0: 08 41 54 54 35 11 10 0A 0D 47 01 40 00 40 00 00  .ATT5....G.@.@.=
.
    59C0: 04 22 01 00 79 00 08 41 54 54 36 11 0D 0A 0A 47  ."..y..ATT6....=
G
    59D0: 01 40 00 40 00 00 04 79 00 14 18 5F 43 52 53 00  .@.@...y..._CRS=
.
    59E0: A0 0A 48 50 54 46 A4 41 54 54 36 A1 06 A4 41 54  ..HPTF.ATT6...A=
T
    59F0: 54 35 5B 82 46 06 48 50 45 54 08 5F 48 49 44 0C  T5[.F.HPET._HID=
.
    5A00: 41 D0 01 03 08 41 54 54 33 11 17 0A 14 22 01 00  A....ATT3....".=
.
    5A10: 22 00 01 86 09 00 01 00 00 D0 FE 00 04 00 00 79  "..............=
y
    5A20: 00 08 41 54 54 34 11 05 0A 02 79 00 14 14 5F 53  ..ATT4....y..._=
S
    5A30: 54 41 00 A0 08 48 50 54 46 A4 0A 0F A1 04 A4 0A  TA...HPTF......=
.
    5A40: 00 14 18 5F 43 52 53 00 A0 0A 48 50 54 46 A4 41  ..._CRS...HPTF.=
A
    5A50: 54 54 33 A1 06 A4 41 54 54 34 5B 82 43 06 52 54  TT3...ATT4[.C.R=
T
    5A60: 43 5F 08 5F 48 49 44 0C 41 D0 0B 00 08 41 54 54  C_._HID.A....AT=
T
    5A70: 30 11 10 0A 0D 47 01 70 00 70 00 00 04 22 00 01  0....G.p.p...".=
.
    5A80: 79 00 08 41 54 54 31 11 0D 0A 0A 47 01 70 00 70  y..ATT1....G.p.=
p
    5A90: 00 00 04 79 00 14 29 5F 43 52 53 00 A0 1B 92 95  ...y..)_CRS....=
.
    5AA0: 4F 53 46 58 0A 03 A0 0A 48 50 54 46 A4 41 54 54  OSFX....HPTF.AT=
T
    5AB0: 31 A1 06 A4 41 54 54 30 A1 06 A4 41 54 54 30 5B  1...ATT0...ATT0=
[
    5AC0: 82 22 53 50 4B 52 08 5F 48 49 44 0C 41 D0 08 00  ."SPKR._HID.A..=
.
    5AD0: 08 5F 43 52 53 11 0D 0A 0A 47 01 61 00 61 00 01  ._CRS....G.a.a.=
.
    5AE0: 01 79 00 5B 82 25 43 4F 50 52 08 5F 48 49 44 0C  .y.[.%COPR._HID=
.
    5AF0: 41 D0 0C 04 08 5F 43 52 53 11 10 0A 0D 47 01 F0  A...._CRS....G.=
.
    5B00: 00 F0 00 01 10 22 00 20 79 00 5B 82 4B 1C 50 32  .....". y.[.K.P=
2
    5B10: 50 5F 08 5F 41 44 52 0C 04 00 14 00 14 17 5F 53  P_._ADR......._=
S
    5B20: 33 44 00 A0 0B 93 4F 53 46 4C 0A 02 A4 0A 02 A1  3D....OSFL.....=
.
    5B30: 04 A4 0A 03 14 0E 5F 50 52 57 00 A4 12 06 02 0A  ......_PRW.....=
.
    5B40: 04 0A 05 08 50 49 43 4D 12 4B 0F 08 12 1E 04 0C  ....PICM.K.....=
.
    5B50: FF FF 06 00 0A 00 5C 2F 04 5F 53 42 5F 50 43 49  ......\/._SB_PC=
I
    5B60: 30 4C 50 43 30 4C 4E 4B 45 0A 00 12 1E 04 0C FF  0LPC0LNKE......=
.
    5B70: FF 06 00 0A 01 5C 2F 04 5F 53 42 5F 50 43 49 30  .....\/._SB_PCI=
0
    5B80: 4C 50 43 30 4C 4E 4B 46 0A 00 12 1E 04 0C FF FF  LPC0LNKF.......=
.
    5B90: 06 00 0A 02 5C 2F 04 5F 53 42 5F 50 43 49 30 4C  ....\/._SB_PCI0=
L
    5BA0: 50 43 30 4C 4E 4B 30 0A 00 12 1E 04 0C FF FF 06  PC0LNK0........=
.
    5BB0: 00 0A 03 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50  ...\/._SB_PCI0L=
P
    5BC0: 43 30 4C 4E 4B 31 0A 00 12 1E 04 0C FF FF 0E 00  C0LNK1.........=
.
    5BD0: 0A 00 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43  ..\/._SB_PCI0LP=
C
    5BE0: 30 4C 4E 4B 30 0A 00 12 1E 04 0C FF FF 0E 00 0A  0LNK0..........=
.
    5BF0: 01 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30  .\/._SB_PCI0LPC=
0
    5C00: 4C 4E 4B 30 0A 00 12 1E 04 0C FF FF 0E 00 0A 02  LNK0...........=
.
    5C10: 5C 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C  \/._SB_PCI0LPC0=
L
    5C20: 4E 4B 30 0A 00 12 1E 04 0C FF FF 0E 00 0A 03 5C  NK0............=
\
    5C30: 2F 04 5F 53 42 5F 50 43 49 30 4C 50 43 30 4C 4E  /._SB_PCI0LPC0L=
N
    5C40: 4B 30 0A 00 08 41 50 49 43 12 43 07 08 12 0D 04  K0...APIC.C....=
.
    5C50: 0C FF FF 06 00 0A 00 0A 00 0A 14 12 0D 04 0C FF  ...............=
.
    5C60: FF 06 00 0A 01 0A 00 0A 15 12 0D 04 0C FF FF 06  ...............=
.
    5C70: 00 0A 02 0A 00 0A 16 12 0D 04 0C FF FF 06 00 0A  ...............=
.
    5C80: 03 0A 00 0A 17 12 0D 04 0C FF FF 0E 00 0A 00 0A  ...............=
.
    5C90: 00 0A 16 12 0D 04 0C FF FF 0E 00 0A 01 0A 00 0A  ...............=
.
    5CA0: 16 12 0D 04 0C FF FF 0E 00 0A 02 0A 00 0A 16 12  ...............=
.
    5CB0: 0D 04 0C FF FF 0E 00 0A 03 0A 00 0A 16 14 19 5F  ...............=
_
    5CC0: 50 52 54 00 A0 0B 92 50 49 43 46 A4 50 49 43 4D  PRT....PICF.PIC=
M
    5CD0: A1 06 A4 41 50 49 43 5B 82 4F 97 49 44 45 5F 08  ...APIC[.O.IDE_=
.
    5CE0: 5F 41 44 52 0C 01 00 14 00 08 55 44 4D 54 12 12  _ADR......UDMT.=
.
    5CF0: 08 0A 78 0A 5A 0A 3C 0A 2D 0A 1E 0A 14 0A 0F 0A  ..x.Z.<.-......=
.
    5D00: 00 08 50 49 4F 54 12 11 06 0B 58 02 0B 86 01 0B  ..PIOT....X....=
.
    5D10: 0E 01 0A B4 0A 78 0A 00 08 50 49 54 52 12 0E 06  .....x...PITR..=
.
    5D20: 0A 99 0A 47 0A 34 0A 22 0A 20 0A 99 08 4D 44 4D  ...G.4.". ...MD=
M
    5D30: 54 12 0B 04 0B E0 01 0A 96 0A 78 0A 00 08 4D 44  T.........x...M=
D
    5D40: 54 52 12 0A 04 0A 77 0A 21 0A 20 0A FF 5B 80 49  TR....w.!. ..[.=
I
    5D50: 44 45 5F 02 0A 40 0A 20 5B 81 48 04 49 44 45 5F  DE_..@. [.H.IDE=
_
    5D60: 00 50 50 49 54 10 53 50 49 54 10 50 4D 44 54 10  .PPIT.SPIT.PMDT=
.
    5D70: 53 4D 44 54 10 50 50 49 43 08 53 50 49 43 08 50  SMDT.PPIC.SPIC.=
P
    5D80: 50 49 4D 08 53 50 49 4D 08 00 40 04 50 55 44 43  PIM.SPIM..@.PUD=
C
    5D90: 02 53 55 44 43 02 00 0C 50 55 44 4D 08 53 55 44  .SUDC...PUDM.SU=
D
    5DA0: 4D 08 14 25 47 45 54 54 01 70 7B 68 0A 0F 00 60  M..%GETT.p{h...=
`
    5DB0: 70 7A 68 0A 04 00 61 A4 77 0A 1E 72 72 60 0A 01  pzh...a.w..rr`.=
.
    5DC0: 00 72 61 0A 01 00 00 00 14 4E 13 47 54 4D 5F 01  .ra......N.GTM_=
.
    5DD0: 8C 68 0A 00 50 49 54 31 8C 68 0A 01 50 49 54 30  .h..PIT1.h..PIT=
0
    5DE0: 8C 68 0A 02 4D 44 54 31 8C 68 0A 03 4D 44 54 30  .h..MDT1.h..MDT=
0
    5DF0: 8C 68 0A 04 50 49 43 58 8C 68 0A 05 55 44 43 58  .h..PICX.h..UDC=
X
    5E00: 8C 68 0A 06 55 44 4D 58 08 42 55 46 5F 11 17 0A  .h..UDMX.BUF_..=
.
    5E10: 14 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ...............=
.
    5E20: FF 00 00 00 00 8A 42 55 46 5F 0A 00 50 49 4F 30  ......BUF_..PIO=
0
    5E30: 8A 42 55 46 5F 0A 04 44 4D 41 30 8A 42 55 46 5F  .BUF_..DMA0.BUF=
_
    5E40: 0A 08 50 49 4F 31 8A 42 55 46 5F 0A 0C 44 4D 41  ..PIO1.BUF_..DM=
A
    5E50: 31 8A 42 55 46 5F 0A 10 46 4C 41 47 A0 0E 7B 50  1.BUF_..FLAG..{=
P
    5E60: 49 43 58 0A 01 00 A4 42 55 46 5F 70 47 45 54 54  ICX....BUF_pGET=
T
    5E70: 50 49 54 30 50 49 4F 30 70 47 45 54 54 50 49 54  PIT0PIO0pGETTPI=
T
    5E80: 31 50 49 4F 31 A0 29 7B 55 44 43 58 0A 01 00 7D  1PIO1.){UDCX...=
}
    5E90: 46 4C 41 47 0A 01 46 4C 41 47 70 83 88 5E 55 44  FLAG..FLAGp..^U=
D
    5EA0: 4D 54 7B 55 44 4D 58 0A 0F 00 00 44 4D 41 30 A1  MT{UDMX....DMA0=
.
    5EB0: 0E 70 47 45 54 54 4D 44 54 30 44 4D 41 30 A0 29  .pGETTMDT0DMA0.=
)
    5EC0: 7B 55 44 43 58 0A 02 00 7D 46 4C 41 47 0A 04 46  {UDCX...}FLAG..=
F
    5ED0: 4C 41 47 70 83 88 5E 55 44 4D 54 7A 55 44 4D 58  LAGp..^UDMTzUDM=
X
    5EE0: 0A 04 00 00 44 4D 41 31 A1 0E 70 47 45 54 54 4D  ....DMA1..pGETT=
M
    5EF0: 44 54 31 44 4D 41 31 7D 46 4C 41 47 0A 1A 46 4C  DT1DMA1}FLAG..F=
L
    5F00: 41 47 A4 42 55 46 5F 14 4A 1B 53 54 4D 5F 03 8A  AG.BUF_.J.STM_.=
.
    5F10: 68 0A 00 50 49 4F 30 8A 68 0A 04 44 4D 41 30 8A  h..PIO0.h..DMA0=
.
    5F20: 68 0A 08 50 49 4F 31 8A 68 0A 0C 44 4D 41 31 8A  h..PIO1.h..DMA1=
.
    5F30: 68 0A 10 46 4C 41 47 08 42 55 46 5F 11 0A 0A 07  h..FLAG.BUF_...=
.
    5F40: 00 00 FF FF 00 00 00 8C 42 55 46 5F 0A 00 50 49  ........BUF_..P=
I
    5F50: 54 31 8C 42 55 46 5F 0A 01 50 49 54 30 8C 42 55  T1.BUF_..PIT0.B=
U
    5F60: 46 5F 0A 02 4D 44 54 31 8C 42 55 46 5F 0A 03 4D  F_..MDT1.BUF_..=
M
    5F70: 44 54 30 8C 42 55 46 5F 0A 04 50 49 4D 58 8C 42  DT0.BUF_..PIMX.=
B
    5F80: 55 46 5F 0A 05 55 44 43 58 8C 42 55 46 5F 0A 06  UF_..UDCX.BUF_.=
.
    5F90: 55 44 4D 58 70 89 5E 50 49 4F 54 02 50 49 4F 30  UDMXp.^PIOT.PIO=
0
    5FA0: 00 0A 00 0A 00 60 78 60 0A 05 60 00 70 89 5E 50  .....`x`..`.p.^=
P
    5FB0: 49 4F 54 02 50 49 4F 31 00 0A 00 0A 00 61 78 61  IOT.PIO1.....ax=
a
    5FC0: 0A 05 61 00 70 7D 79 61 0A 04 00 60 00 50 49 4D  ..a.p}ya...`.PI=
M
    5FD0: 58 70 83 88 5E 50 49 54 52 60 00 50 49 54 30 70  Xp..^PITR`.PIT0=
p
    5FE0: 83 88 5E 50 49 54 52 61 00 50 49 54 31 A0 36 7B  ..^PITRa.PIT1.6=
{
    5FF0: 46 4C 41 47 0A 01 00 70 89 5E 55 44 4D 54 02 44  FLAG...p.^UDMT.=
D
    6000: 4D 41 30 00 0A 00 0A 00 60 78 60 0A 07 60 00 7D  MA0.....`x`..`.=
}
    6010: 55 44 4D 58 60 55 44 4D 58 7D 55 44 43 58 0A 01  UDMX`UDMX}UDCX.=
.
    6020: 55 44 43 58 A1 2E A0 2C 92 93 44 4D 41 30 0C FF  UDCX...,..DMA0.=
.
    6030: FF FF FF 70 89 5E 4D 44 4D 54 02 44 4D 41 30 00  ...p.^MDMT.DMA0=
.
    6040: 0A 00 0A 00 60 70 83 88 5E 4D 44 54 52 60 00 4D  ....`p..^MDTR`.=
M
    6050: 44 54 30 A0 3A 7B 46 4C 41 47 0A 04 00 70 89 5E  DT0.:{FLAG...p.=
^
    6060: 55 44 4D 54 02 44 4D 41 31 00 0A 00 0A 00 60 78  UDMT.DMA1.....`=
x
    6070: 60 0A 07 60 00 7D 55 44 4D 58 79 60 0A 04 00 55  `..`.}UDMXy`...=
U
    6080: 44 4D 58 7D 55 44 43 58 0A 02 55 44 43 58 A1 2E  DMX}UDCX..UDCX.=
.
    6090: A0 2C 92 93 44 4D 41 31 0C FF FF FF FF 70 89 5E  .,..DMA1.....p.=
^
    60A0: 4D 44 4D 54 02 44 4D 41 31 00 0A 00 0A 00 60 70  MDMT.DMA1.....`=
p
    60B0: 83 88 5E 4D 44 54 52 60 00 4D 44 54 31 A4 42 55  ..^MDTR`.MDT1.B=
U
    60C0: 46 5F 14 45 10 47 54 46 5F 02 8C 69 0A 00 4D 44  F_.E.GTF_..i..M=
D
    60D0: 54 31 8C 69 0A 01 4D 44 54 30 8C 69 0A 02 50 49  T1.i..MDT0.i..P=
I
    60E0: 4D 58 8C 69 0A 03 55 44 43 58 8C 69 0A 04 55 44  MX.i..UDCX.i..U=
D
    60F0: 4D 58 A0 27 93 68 0A A0 70 7B 50 49 4D 58 0A 0F  MX.'.h..p{PIMX.=
.
    6100: 00 60 70 4D 44 54 30 61 7B 55 44 43 58 0A 01 62  .`pMDT0a{UDCX..=
b
    6110: 70 7B 55 44 4D 58 0A 0F 00 63 A1 23 70 7A 50 49  p{UDMX...c.#pzP=
I
    6120: 4D 58 0A 04 00 60 70 4D 44 54 31 61 7B 55 44 43  MX...`pMDT1a{UD=
C
    6130: 58 0A 02 62 70 7A 55 44 4D 58 0A 04 00 63 08 42  X..bpzUDMX...c.=
B
    6140: 55 46 5F 11 11 0A 0E 03 00 00 00 00 FF EF 03 00  UF_............=
.
    6150: 00 00 00 FF EF 8C 42 55 46 5F 0A 01 50 4D 4F 44  ......BUF_..PMO=
D
    6160: 8C 42 55 46 5F 0A 08 44 4D 4F 44 8C 42 55 46 5F  .BUF_..DMOD.BUF=
_
    6170: 0A 05 43 4D 44 41 8C 42 55 46 5F 0A 0C 43 4D 44  ..CMDA.BUF_..CM=
D
    6180: 42 70 68 43 4D 44 41 70 68 43 4D 44 42 7D 60 0A  BphCMDAphCMDB}`=
.
    6190: 08 50 4D 4F 44 A0 0A 62 7D 63 0A 40 44 4D 4F 44  .PMOD..b}c.@DMO=
D
    61A0: A1 22 70 89 5E 4D 44 4D 54 02 47 45 54 54 61 00  ."p.^MDMT.GETTa=
.
    61B0: 0A 00 0A 00 64 A0 0D 95 64 0A 03 7D 0A 20 64 44  ....d...d..}. d=
D
    61C0: 4D 4F 44 A4 42 55 46 5F 5B 82 46 24 50 52 49 44  MOD.BUF_[.F$PRI=
D
    61D0: 08 5F 41 44 52 0A 00 14 4E 08 5F 47 54 4D 00 08  ._ADR...N._GTM.=
.
    61E0: 42 55 46 5F 11 0A 0A 07 00 00 FF FF 00 00 00 8B  BUF_...........=
.
    61F0: 42 55 46 5F 0A 00 56 50 49 54 8B 42 55 46 5F 0A  BUF_..VPIT.BUF_=
.
    6200: 02 56 4D 44 54 8C 42 55 46 5F 0A 04 56 50 49 43  .VMDT.BUF_..VPI=
C
    6210: 8C 42 55 46 5F 0A 05 56 55 44 43 8C 42 55 46 5F  .BUF_..VUDC.BUF=
_
    6220: 0A 06 56 55 44 4D 70 5E 5E 50 50 49 54 56 50 49  ..VUDMp^^PPITVP=
I
    6230: 54 70 5E 5E 50 4D 44 54 56 4D 44 54 70 5E 5E 50  Tp^^PMDTVMDTp^^=
P
    6240: 50 49 43 56 50 49 43 70 5E 5E 50 55 44 43 56 55  PICVPICp^^PUDCV=
U
    6250: 44 43 70 5E 5E 50 55 44 4D 56 55 44 4D A4 47 54  DCp^^PUDMVUDM.G=
T
    6260: 4D 5F 42 55 46 5F 14 41 09 5F 53 54 4D 03 08 42  M_BUF_.A._STM..=
B
    6270: 55 46 5F 11 0A 0A 07 00 00 00 00 00 00 00 8B 42  UF_............=
B
    6280: 55 46 5F 0A 00 56 50 49 54 8B 42 55 46 5F 0A 02  UF_..VPIT.BUF_.=
.
    6290: 56 4D 44 54 8C 42 55 46 5F 0A 04 56 50 49 4D 8C  VMDT.BUF_..VPIM=
.
    62A0: 42 55 46 5F 0A 05 56 55 44 43 8C 42 55 46 5F 0A  BUF_..VUDC.BUF_=
.
    62B0: 06 56 55 44 4D 70 53 54 4D 5F 68 69 6A 42 55 46  .VUDMpSTM_hijBU=
F
    62C0: 5F 70 56 50 49 54 5E 5E 50 50 49 54 70 56 4D 44  _pVPIT^^PPITpVM=
D
    62D0: 54 5E 5E 50 4D 44 54 70 56 50 49 4D 5E 5E 50 50  T^^PMDTpVPIM^^P=
P
    62E0: 49 4D 70 56 55 44 43 5E 5E 50 55 44 43 70 56 55  IMpVUDC^^PUDCpV=
U
    62F0: 44 4D 5E 5E 50 55 44 4D 5B 82 4A 08 50 5F 44 30  DM^^PUDM[.J.P_D=
0
    6300: 08 5F 41 44 52 0A 00 14 4C 07 5F 47 54 46 00 08  ._ADR...L._GTF.=
.
    6310: 42 55 46 5F 11 08 0A 05 00 00 00 00 00 8B 42 55  BUF_..........B=
U
    6320: 46 5F 0A 00 56 4D 44 54 8C 42 55 46 5F 0A 02 56  F_..VMDT.BUF_..=
V
    6330: 50 49 4D 8C 42 55 46 5F 0A 03 56 55 44 43 8C 42  PIM.BUF_..VUDC.=
B
    6340: 55 46 5F 0A 04 56 55 44 4D 70 5E 5E 5E 50 4D 44  UF_..VUDMp^^^PM=
D
    6350: 54 56 4D 44 54 70 5E 5E 5E 50 50 49 4D 56 50 49  TVMDTp^^^PPIMVP=
I
    6360: 4D 70 5E 5E 5E 50 55 44 43 56 55 44 43 70 5E 5E  Mp^^^PUDCVUDCp^=
^
    6370: 5E 50 55 44 4D 56 55 44 4D A4 47 54 46 5F 0A A0  ^PUDMVUDM.GTF_.=
.
    6380: 42 55 46 5F 5B 82 4A 08 50 5F 44 31 08 5F 41 44  BUF_[.J.P_D1._A=
D
    6390: 52 0A 01 14 4C 07 5F 47 54 46 00 08 42 55 46 5F  R...L._GTF..BUF=
_
    63A0: 11 08 0A 05 00 00 00 00 00 8B 42 55 46 5F 0A 00  ..........BUF_.=
.
    63B0: 56 4D 44 54 8C 42 55 46 5F 0A 02 56 50 49 4D 8C  VMDT.BUF_..VPIM=
.
    63C0: 42 55 46 5F 0A 03 56 55 44 43 8C 42 55 46 5F 0A  BUF_..VUDC.BUF_=
.
    63D0: 04 56 55 44 4D 70 5E 5E 5E 50 4D 44 54 56 4D 44  .VUDMp^^^PMDTVM=
D
    63E0: 54 70 5E 5E 5E 50 50 49 4D 56 50 49 4D 70 5E 5E  Tp^^^PPIMVPIMp^=
^
    63F0: 5E 50 55 44 43 56 55 44 43 70 5E 5E 5E 50 55 44  ^PUDCVUDCp^^^PU=
D
    6400: 4D 56 55 44 4D A4 47 54 46 5F 0A B0 42 55 46 5F  MVUDM.GTF_..BUF=
_
    6410: 5B 82 46 24 53 45 43 44 08 5F 41 44 52 0A 01 14  [.F$SECD._ADR..=
.
    6420: 4E 08 5F 47 54 4D 00 08 42 55 46 5F 11 0A 0A 07  N._GTM..BUF_...=
.
    6430: 00 00 FF FF 00 00 00 8B 42 55 46 5F 0A 00 56 50  ........BUF_..V=
P
    6440: 49 54 8B 42 55 46 5F 0A 02 56 4D 44 54 8C 42 55  IT.BUF_..VMDT.B=
U
    6450: 46 5F 0A 04 56 50 49 43 8C 42 55 46 5F 0A 05 56  F_..VPIC.BUF_..=
V
    6460: 55 44 43 8C 42 55 46 5F 0A 06 56 55 44 4D 70 5E  UDC.BUF_..VUDMp=
^
    6470: 5E 53 50 49 54 56 50 49 54 70 5E 5E 53 4D 44 54  ^SPITVPITp^^SMD=
T
    6480: 56 4D 44 54 70 5E 5E 53 50 49 43 56 50 49 43 70  VMDTp^^SPICVPIC=
p
    6490: 5E 5E 53 55 44 43 56 55 44 43 70 5E 5E 53 55 44  ^^SUDCVUDCp^^SU=
D
    64A0: 4D 56 55 44 4D A4 47 54 4D 5F 42 55 46 5F 14 41  MVUDM.GTM_BUF_.=
A
    64B0: 09 5F 53 54 4D 03 08 42 55 46 5F 11 0A 0A 07 00  ._STM..BUF_....=
.
    64C0: 00 00 00 00 00 00 8B 42 55 46 5F 0A 00 56 50 49  .......BUF_..VP=
I
    64D0: 54 8B 42 55 46 5F 0A 02 56 4D 44 54 8C 42 55 46  T.BUF_..VMDT.BU=
F
    64E0: 5F 0A 04 56 50 49 4D 8C 42 55 46 5F 0A 05 56 55  _..VPIM.BUF_..V=
U
    64F0: 44 43 8C 42 55 46 5F 0A 06 56 55 44 4D 70 53 54  DC.BUF_..VUDMpS=
T
    6500: 4D 5F 68 69 6A 42 55 46 5F 70 56 50 49 54 5E 5E  M_hijBUF_pVPIT^=
^
    6510: 53 50 49 54 70 56 4D 44 54 5E 5E 53 4D 44 54 70  SPITpVMDT^^SMDT=
p
    6520: 56 50 49 4D 5E 5E 53 50 49 4D 70 56 55 44 43 5E  VPIM^^SPIMpVUDC=
^
    6530: 5E 53 55 44 43 70 56 55 44 4D 5E 5E 53 55 44 4D  ^SUDCpVUDM^^SUD=
M
    6540: 5B 82 4A 08 53 5F 44 30 08 5F 41 44 52 0A 00 14  [.J.S_D0._ADR..=
.
    6550: 4C 07 5F 47 54 46 00 08 42 55 46 5F 11 08 0A 05  L._GTF..BUF_...=
.
    6560: 00 00 00 00 00 8B 42 55 46 5F 0A 00 56 4D 44 54  ......BUF_..VMD=
T
    6570: 8C 42 55 46 5F 0A 02 56 50 49 4D 8C 42 55 46 5F  .BUF_..VPIM.BUF=
_
    6580: 0A 03 56 55 44 43 8C 42 55 46 5F 0A 04 56 55 44  ..VUDC.BUF_..VU=
D
    6590: 4D 70 5E 5E 5E 53 4D 44 54 56 4D 44 54 70 5E 5E  Mp^^^SMDTVMDTp^=
^
    65A0: 5E 53 50 49 4D 56 50 49 4D 70 5E 5E 5E 53 55 44  ^SPIMVPIMp^^^SU=
D
    65B0: 43 56 55 44 43 70 5E 5E 5E 53 55 44 4D 56 55 44  CVUDCp^^^SUDMVU=
D
    65C0: 4D A4 47 54 46 5F 0A A0 42 55 46 5F 5B 82 4A 08  M.GTF_..BUF_[.J=
.
    65D0: 53 5F 44 31 08 5F 41 44 52 0A 01 14 4C 07 5F 47  S_D1._ADR...L._=
G
    65E0: 54 46 00 08 42 55 46 5F 11 08 0A 05 00 00 00 00  TF..BUF_.......=
.
    65F0: 00 8B 42 55 46 5F 0A 00 56 4D 44 54 8C 42 55 46  ..BUF_..VMDT.BU=
F
    6600: 5F 0A 02 56 50 49 4D 8C 42 55 46 5F 0A 03 56 55  _..VPIM.BUF_..V=
U
    6610: 44 43 8C 42 55 46 5F 0A 04 56 55 44 4D 70 5E 5E  DC.BUF_..VUDMp^=
^
    6620: 5E 53 4D 44 54 56 4D 44 54 70 5E 5E 5E 53 50 49  ^SMDTVMDTp^^^SP=
I
    6630: 4D 56 50 49 4D 70 5E 5E 5E 53 55 44 43 56 55 44  MVPIMp^^^SUDCVU=
D
    6640: 43 70 5E 5E 5E 53 55 44 4D 56 55 44 4D A4 47 54  Cp^^^SUDMVUDM.G=
T
    6650: 46 5F 0A B0 42 55 46 5F 5B 82 41 0B 50 43 45 32  F_..BUF_[.A.PCE=
2
    6660: 08 5F 41 44 52 0C 00 00 02 00 14 0E 5F 50 52 57  ._ADR......._PR=
W
    6670: 00 A4 12 06 02 0A 18 0A 04 08 50 49 43 4D 12 3A  ..........PICM.=
:
    6680: 04 12 0D 04 0B FF FF 0A 00 4C 4E 4B 43 0A 00 12  .........LNKC..=
.
    6690: 0D 04 0B FF FF 0A 01 4C 4E 4B 44 0A 00 12 0D 04  .......LNKD....=
.
    66A0: 0B FF FF 0A 02 4C 4E 4B 41 0A 00 12 0D 04 0B FF  .....LNKA......=
.
    66B0: FF 0A 03 4C 4E 4B 42 0A 00 08 41 50 49 43 12 32  ...LNKB...APIC.=
2
    66C0: 04 12 0B 04 0B FF FF 0A 00 0A 00 0A 12 12 0B 04  ...............=
.
    66D0: 0B FF FF 0A 01 0A 00 0A 13 12 0B 04 0B FF FF 0A  ...............=
.
    66E0: 02 0A 00 0A 10 12 0B 04 0B FF FF 0A 03 0A 00 0A  ...............=
.
    66F0: 11 14 19 5F 50 52 54 00 A0 0B 92 50 49 43 46 A4  ..._PRT....PICF=
.
    6700: 50 49 43 4D A1 06 A4 41 50 49 43 5B 82 41 0B 50  PICM...APIC[.A.=
P
    6710: 43 45 33 08 5F 41 44 52 0C 00 00 03 00 14 0E 5F  CE3._ADR.......=
_
    6720: 50 52 57 00 A4 12 06 02 0A 18 0A 04 08 50 49 43  PRW..........PI=
C
    6730: 4D 12 3A 04 12 0D 04 0B FF FF 0A 00 4C 4E 4B 44  M.:.........LNK=
D
    6740: 0A 00 12 0D 04 0B FF FF 0A 01 4C 4E 4B 41 0A 00  ..........LNKA.=
.
    6750: 12 0D 04 0B FF FF 0A 02 4C 4E 4B 42 0A 00 12 0D  ........LNKB...=
.
    6760: 04 0B FF FF 0A 03 4C 4E 4B 43 0A 00 08 41 50 49  ......LNKC...AP=
I
    6770: 43 12 32 04 12 0B 04 0B FF FF 0A 00 0A 00 0A 13  C.2............=
.
    6780: 12 0B 04 0B FF FF 0A 01 0A 00 0A 10 12 0B 04 0B  ...............=
.
    6790: FF FF 0A 02 0A 00 0A 11 12 0B 04 0B FF FF 0A 03  ...............=
.
    67A0: 0A 00 0A 12 14 19 5F 50 52 54 00 A0 0B 92 50 49  ......_PRT....P=
I
    67B0: 43 46 A4 50 49 43 4D A1 06 A4 41 50 49 43 5B 82  CF.PICM...APIC[=
.
    67C0: 41 0B 50 43 45 34 08 5F 41 44 52 0C 00 00 04 00  A.PCE4._ADR....=
.
    67D0: 14 0E 5F 50 52 57 00 A4 12 06 02 0A 18 0A 04 08  .._PRW.........=
.
    67E0: 50 49 43 4D 12 3A 04 12 0D 04 0B FF FF 0A 00 4C  PICM.:.........=
L
    67F0: 4E 4B 41 0A 00 12 0D 04 0B FF FF 0A 01 4C 4E 4B  NKA..........LN=
K
    6800: 42 0A 00 12 0D 04 0B FF FF 0A 02 4C 4E 4B 43 0A  B..........LNKC=
.
    6810: 00 12 0D 04 0B FF FF 0A 03 4C 4E 4B 44 0A 00 08  .........LNKD..=
.
    6820: 41 50 49 43 12 32 04 12 0B 04 0B FF FF 0A 00 0A  APIC.2.........=
.
    6830: 00 0A 10 12 0B 04 0B FF FF 0A 01 0A 00 0A 11 12  ...............=
.
    6840: 0B 04 0B FF FF 0A 02 0A 00 0A 12 12 0B 04 0B FF  ...............=
.
    6850: FF 0A 03 0A 00 0A 13 14 19 5F 50 52 54 00 A0 0B  ........._PRT..=
.
    6860: 92 50 49 43 46 A4 50 49 43 4D A1 06 A4 41 50 49  .PICF.PICM...AP=
I
    6870: 43 5B 82 41 0B 50 43 45 35 08 5F 41 44 52 0C 00  C[.A.PCE5._ADR.=
.
    6880: 00 05 00 14 0E 5F 50 52 57 00 A4 12 06 02 0A 18  ....._PRW......=
.
    6890: 0A 04 08 50 49 43 4D 12 3A 04 12 0D 04 0B FF FF  ...PICM.:......=
.
    68A0: 0A 00 4C 4E 4B 42 0A 00 12 0D 04 0B FF FF 0A 01  ..LNKB.........=
.
    68B0: 4C 4E 4B 43 0A 00 12 0D 04 0B FF FF 0A 02 4C 4E  LNKC..........L=
N
    68C0: 4B 44 0A 00 12 0D 04 0B FF FF 0A 03 4C 4E 4B 41  KD..........LNK=
A
    68D0: 0A 00 08 41 50 49 43 12 32 04 12 0B 04 0B FF FF  ...APIC.2......=
.
    68E0: 0A 00 0A 00 0A 11 12 0B 04 0B FF FF 0A 01 0A 00  ...............=
.
    68F0: 0A 12 12 0B 04 0B FF FF 0A 02 0A 00 0A 13 12 0B  ...............=
.
    6900: 04 0B FF FF 0A 03 0A 00 0A 10 14 19 5F 50 52 54  ............_PR=
T
    6910: 00 A0 0B 92 50 49 43 46 A4 50 49 43 4D A1 06 A4  ....PICF.PICM..=
.
    6920: 41 50 49 43 5B 82 41 0B 50 43 45 36 08 5F 41 44  APIC[.A.PCE6._A=
D
    6930: 52 0C 00 00 06 00 14 0E 5F 50 52 57 00 A4 12 06  R......._PRW...=
.
    6940: 02 0A 18 0A 04 08 50 49 43 4D 12 3A 04 12 0D 04  ......PICM.:...=
.
    6950: 0B FF FF 0A 00 4C 4E 4B 43 0A 00 12 0D 04 0B FF  .....LNKC......=
.
    6960: FF 0A 01 4C 4E 4B 44 0A 00 12 0D 04 0B FF FF 0A  ...LNKD........=
.
    6970: 02 4C 4E 4B 41 0A 00 12 0D 04 0B FF FF 0A 03 4C  .LNKA..........=
L
    6980: 4E 4B 42 0A 00 08 41 50 49 43 12 32 04 12 0B 04  NKB...APIC.2...=
.
    6990: 0B FF FF 0A 00 0A 00 0A 12 12 0B 04 0B FF FF 0A  ...............=
.
    69A0: 01 0A 00 0A 13 12 0B 04 0B FF FF 0A 02 0A 00 0A  ...............=
.
    69B0: 10 12 0B 04 0B FF FF 0A 03 0A 00 0A 11 14 19 5F  ...............=
_
    69C0: 50 52 54 00 A0 0B 92 50 49 43 46 A4 50 49 43 4D  PRT....PICF.PIC=
M
    69D0: A1 06 A4 41 50 49 43 5B 82 41 0B 50 43 45 37 08  ...APIC[.A.PCE7=
.
    69E0: 5F 41 44 52 0C 00 00 07 00 14 0E 5F 50 52 57 00  _ADR......._PRW=
.
    69F0: A4 12 06 02 0A 18 0A 04 08 50 49 43 4D 12 3A 04  .........PICM.:=
.
    6A00: 12 0D 04 0B FF FF 0A 00 4C 4E 4B 44 0A 00 12 0D  ........LNKD...=
.
    6A10: 04 0B FF FF 0A 01 4C 4E 4B 41 0A 00 12 0D 04 0B  ......LNKA.....=
.
    6A20: FF FF 0A 02 4C 4E 4B 42 0A 00 12 0D 04 0B FF FF  ....LNKB.......=
.
    6A30: 0A 03 4C 4E 4B 43 0A 00 08 41 50 49 43 12 32 04  ..LNKC...APIC.2=
.
    6A40: 12 0B 04 0B FF FF 0A 00 0A 00 0A 13 12 0B 04 0B  ...............=
.
    6A50: FF FF 0A 01 0A 00 0A 10 12 0B 04 0B FF FF 0A 02  ...............=
.
    6A60: 0A 00 0A 11 12 0B 04 0B FF FF 0A 03 0A 00 0A 12  ...............=
.
    6A70: 14 19 5F 50 52 54 00 A0 0B 92 50 49 43 46 A4 50  .._PRT....PICF.=
P
    6A80: 49 43 4D A1 06 A4 41 50 49 43 5B 82 41 0B 50 43  ICM...APIC[.A.P=
C
    6A90: 45 39 08 5F 41 44 52 0C 00 00 09 00 14 0E 5F 50  E9._ADR......._=
P
    6AA0: 52 57 00 A4 12 06 02 0A 18 0A 04 08 50 49 43 4D  RW..........PIC=
M
    6AB0: 12 3A 04 12 0D 04 0B FF FF 0A 00 4C 4E 4B 42 0A  .:.........LNKB=
.
    6AC0: 00 12 0D 04 0B FF FF 0A 01 4C 4E 4B 43 0A 00 12  .........LNKC..=
.
    6AD0: 0D 04 0B FF FF 0A 02 4C 4E 4B 44 0A 00 12 0D 04  .......LNKD....=
.
    6AE0: 0B FF FF 0A 03 4C 4E 4B 41 0A 00 08 41 50 49 43  .....LNKA...API=
C
    6AF0: 12 32 04 12 0B 04 0B FF FF 0A 00 0A 00 0A 11 12  .2.............=
.
    6B00: 0B 04 0B FF FF 0A 01 0A 00 0A 12 12 0B 04 0B FF  ...............=
.
    6B10: FF 0A 02 0A 00 0A 13 12 0B 04 0B FF FF 0A 03 0A  ...............=
.
    6B20: 00 0A 10 14 19 5F 50 52 54 00 A0 0B 92 50 49 43  ....._PRT....PI=
C
    6B30: 46 A4 50 49 43 4D A1 06 A4 41 50 49 43 5B 82 41  F.PICM...APIC[.=
A
    6B40: 0B 50 43 45 41 08 5F 41 44 52 0C 00 00 0A 00 14  .PCEA._ADR.....=
.
    6B50: 0E 5F 50 52 57 00 A4 12 06 02 0A 18 0A 04 08 50  ._PRW..........=
P
    6B60: 49 43 4D 12 3A 04 12 0D 04 0B FF FF 0A 00 4C 4E  ICM.:.........L=
N
    6B70: 4B 43 0A 00 12 0D 04 0B FF FF 0A 01 4C 4E 4B 44  KC..........LNK=
D
    6B80: 0A 00 12 0D 04 0B FF FF 0A 02 4C 4E 4B 41 0A 00  ..........LNKA.=
.
    6B90: 12 0D 04 0B FF FF 0A 03 4C 4E 4B 42 0A 00 08 41  ........LNKB...=
A
    6BA0: 50 49 43 12 32 04 12 0B 04 0B FF FF 0A 00 0A 00  PIC.2..........=
.
    6BB0: 0A 12 12 0B 04 0B FF FF 0A 01 0A 00 0A 13 12 0B  ...............=
.
    6BC0: 04 0B FF FF 0A 02 0A 00 0A 10 12 0B 04 0B FF FF  ...............=
.
    6BD0: 0A 03 0A 00 0A 11 14 19 5F 50 52 54 00 A0 0B 92  ........_PRT...=
.
    6BE0: 50 49 43 46 A4 50 49 43 4D A1 06 A4 41 50 49 43  PICF.PICM...API=
C
    6BF0: 5B 82 41 0B 50 43 45 42 08 5F 41 44 52 0C 00 00  [.A.PCEB._ADR..=
.
    6C00: 0B 00 14 0E 5F 50 52 57 00 A4 12 06 02 0A 18 0A  ...._PRW.......=
.
    6C10: 04 08 50 49 43 4D 12 3A 04 12 0D 04 0B FF FF 0A  ..PICM.:.......=
.
    6C20: 00 4C 4E 4B 44 0A 00 12 0D 04 0B FF FF 0A 01 4C  .LNKD..........=
L
    6C30: 4E 4B 41 0A 00 12 0D 04 0B FF FF 0A 02 4C 4E 4B  NKA..........LN=
K
    6C40: 42 0A 00 12 0D 04 0B FF FF 0A 03 4C 4E 4B 43 0A  B..........LNKC=
.
    6C50: 00 08 41 50 49 43 12 32 04 12 0B 04 0B FF FF 0A  ..APIC.2.......=
.
    6C60: 00 0A 00 0A 13 12 0B 04 0B FF FF 0A 01 0A 00 0A  ...............=
.
    6C70: 10 12 0B 04 0B FF FF 0A 02 0A 00 0A 11 12 0B 04  ...............=
.
    6C80: 0B FF FF 0A 03 0A 00 0A 12 14 19 5F 50 52 54 00  ..........._PRT=
.
    6C90: A0 0B 92 50 49 43 46 A4 50 49 43 4D A1 06 A4 41  ...PICF.PICM...=
A
    6CA0: 50 49 43 5B 82 41 0B 50 43 45 43 08 5F 41 44 52  PIC[.A.PCEC._AD=
R
    6CB0: 0C 00 00 0C 00 14 0E 5F 50 52 57 00 A4 12 06 02  ......._PRW....=
.
    6CC0: 0A 18 0A 04 08 50 49 43 4D 12 3A 04 12 0D 04 0B  .....PICM.:....=
.
    6CD0: FF FF 0A 00 4C 4E 4B 41 0A 00 12 0D 04 0B FF FF  ....LNKA.......=
.
    6CE0: 0A 01 4C 4E 4B 42 0A 00 12 0D 04 0B FF FF 0A 02  ..LNKB.........=
.
    6CF0: 4C 4E 4B 43 0A 00 12 0D 04 0B FF FF 0A 03 4C 4E  LNKC..........L=
N
    6D00: 4B 44 0A 00 08 41 50 49 43 12 32 04 12 0B 04 0B  KD...APIC.2....=
.
    6D10: FF FF 0A 00 0A 00 0A 10 12 0B 04 0B FF FF 0A 01  ...............=
.
    6D20: 0A 00 0A 11 12 0B 04 0B FF FF 0A 02 0A 00 0A 12  ...............=
.
    6D30: 12 0B 04 0B FF FF 0A 03 0A 00 0A 13 14 19 5F 50  .............._=
P
    6D40: 52 54 00 A0 0B 92 50 49 43 46 A4 50 49 43 4D A1  RT....PICF.PICM=
.
    6D50: 06 A4 41 50 49 43 5B 82 41 0B 50 43 45 44 08 5F  ..APIC[.A.PCED.=
_
    6D60: 41 44 52 0C 00 00 0D 00 14 0E 5F 50 52 57 00 A4  ADR......._PRW.=
.
    6D70: 12 06 02 0A 18 0A 04 08 50 49 43 4D 12 3A 04 12  ........PICM.:.=
.
    6D80: 0D 04 0B FF FF 0A 00 4C 4E 4B 42 0A 00 12 0D 04  .......LNKB....=
.
    6D90: 0B FF FF 0A 01 4C 4E 4B 43 0A 00 12 0D 04 0B FF  .....LNKC......=
.
    6DA0: FF 0A 02 4C 4E 4B 44 0A 00 12 0D 04 0B FF FF 0A  ...LNKD........=
.
    6DB0: 03 4C 4E 4B 41 0A 00 08 41 50 49 43 12 32 04 12  .LNKA...APIC.2.=
.
    6DC0: 0B 04 0B FF FF 0A 00 0A 00 0A 11 12 0B 04 0B FF  ...............=
.
    6DD0: FF 0A 01 0A 00 0A 12 12 0B 04 0B FF FF 0A 02 0A  ...............=
.
    6DE0: 00 0A 13 12 0B 04 0B FF FF 0A 03 0A 00 0A 10 14  ...............=
.
    6DF0: 19 5F 50 52 54 00 A0 0B 92 50 49 43 46 A4 50 49  ._PRT....PICF.P=
I
    6E00: 43 4D A1 06 A4 41 50 49 43 10 18 5C 00 14 06 44  CM...APIC..\...=
D
    6E10: 49 53 44 01 14 06 43 4B 49 4F 02 14 06 53 4C 44  ISD...CKIO...SL=
D
    6E20: 4D 02 10 45 12 5C 00 5B 80 57 49 4E 31 01 0A 2E  M..E.\.[.WIN1..=
.
    6E30: 0A 02 5B 81 10 57 49 4E 31 01 49 4E 44 50 08 44  ..[..WIN1.INDP.=
D
    6E40: 41 54 50 08 5B 80 47 50 49 4F 01 0B 00 08 0A 05  ATP.[.GPIO.....=
.
    6E50: 5B 81 1F 47 50 49 4F 01 47 4F 30 31 08 47 4F 30  [..GPIO.GO01.GO=
0
    6E60: 32 08 47 4F 30 33 08 47 4F 30 34 08 47 4F 30 35  2.GO03.GO04.GO0=
5
    6E70: 08 5B 86 4F 07 49 4E 44 50 44 41 54 50 01 00 10  .[.O.INDPDATP..=
.
    6E80: 43 46 47 5F 08 00 20 4C 44 4E 5F 08 00 40 0C 49  CFG_.. LDN_..@.=
I
    6E90: 44 48 49 08 49 44 4C 4F 08 50 4F 57 43 08 00 48  DHI.IDLO.POWC..=
H
    6EA0: 06 41 43 54 52 08 00 48 17 49 4F 41 48 08 49 4F  .ACTR..H.IOAH.I=
O
    6EB0: 41 4C 08 49 4F 32 48 08 49 4F 32 4C 08 00 40 06  AL.IO2H.IO2L..@=
.
    6EC0: 49 4E 54 52 08 00 08 49 4E 54 31 08 00 08 44 4D  INTR...INT1...D=
M
    6ED0: 43 48 08 00 48 25 47 50 34 30 08 00 48 17 4F 50  CH..H%GP40..H.O=
P
    6EE0: 54 31 08 4F 50 54 32 08 4F 50 54 33 08 4F 50 54  T1.OPT2.OPT3.OP=
T
    6EF0: 34 08 14 22 45 4E 46 47 00 70 0A 87 49 4E 44 50  4.."ENFG.p..IND=
P
    6F00: 70 0A 01 49 4E 44 50 70 0A 55 49 4E 44 50 70 0A  p..INDPp.UINDPp=
.
    6F10: 55 49 4E 44 50 14 0D 45 58 46 47 00 70 0A 02 43  UINDP..EXFG.p..=
C
    6F20: 46 47 5F 14 11 47 53 52 47 01 70 68 49 4E 44 50  FG_..GSRG.phIND=
P
    6F30: A4 44 41 54 50 14 12 53 53 52 47 02 70 68 49 4E  .DATP..SSRG.phI=
N
    6F40: 44 50 70 69 44 41 54 50 5B 82 46 15 46 44 43 30  DPpiDATP[.F.FDC=
0
    6F50: 08 5F 48 49 44 0C 41 D0 07 00 14 3A 5F 53 54 41  ._HID.A....:_ST=
A
    6F60: 00 45 4E 46 47 70 00 4C 44 4E 5F A0 0C 41 43 54  .ENFGp.LDN_..AC=
T
    6F70: 52 45 58 46 47 A4 0A 0F A1 1C A0 11 91 49 4F 41  REXFG........IO=
A
    6F80: 48 49 4F 41 4C 45 58 46 47 A4 0A 0D A1 08 45 58  HIOALEXFG.....E=
X
    6F90: 46 47 A4 0A 00 14 2B 5F 44 49 53 00 45 4E 46 47  FG....+_DIS.ENF=
G
    6FA0: 70 0A 00 4C 44 4E 5F 70 00 41 43 54 52 53 4C 44  p..LDN_p.ACTRSL=
D
    6FB0: 4D 44 4D 43 48 0A 04 45 58 46 47 44 49 53 44 0A  MDMCH..EXFGDISD=
.
    6FC0: 03 14 41 06 5F 43 52 53 00 08 42 55 46 30 11 1B  ..A._CRS..BUF0.=
.
    6FD0: 0A 18 47 01 F0 03 F0 03 01 06 47 01 F7 03 F7 03  ..G.......G....=
.
    6FE0: 01 01 22 40 00 2A 04 00 79 00 8C 42 55 46 30 0A  .."@.*..y..BUF0=
.
    6FF0: 02 49 4F 4C 4F 8C 42 55 46 30 0A 03 49 4F 48 49  .IOLO.BUF0..IOH=
I
    7000: 8C 42 55 46 30 0A 04 49 4F 52 4C 8C 42 55 46 30  .BUF0..IORL.BUF=
0
    7010: 0A 05 49 4F 52 48 45 4E 46 47 45 58 46 47 A4 42  ..IORHENFGEXFG.=
B
    7020: 55 46 30 08 5F 50 52 53 11 1D 0A 1A 30 47 01 F0  UF0._PRS....0G.=
.
    7030: 03 F0 03 01 06 47 01 F7 03 F7 03 01 01 22 40 00  .....G......."@=
.
    7040: 2A 04 00 38 79 00 14 49 05 5F 53 52 53 01 8C 68  *..8y..I._SRS..=
h
    7050: 0A 02 49 4F 4C 4F 8C 68 0A 03 49 4F 48 49 8B 68  ..IOLO.h..IOHI.=
h
    7060: 0A 02 49 4F 41 44 8B 68 0A 19 49 52 51 57 8C 68  ..IOAD.h..IRQW.=
h
    7070: 0A 1C 44 4D 41 56 45 4E 46 47 70 00 4C 44 4E 5F  ..DMAVENFGp.LDN=
_
    7080: 70 01 41 43 54 52 53 4C 44 4D 44 4D 43 48 44 4D  p.ACTRSLDMDMCHD=
M
    7090: 43 48 43 4B 49 4F 49 4F 41 44 0A 03 45 58 46 47  CHCKIOIOAD..EXF=
G
    70A0: 5B 82 46 1B 55 41 52 31 08 5F 48 49 44 0C 41 D0  [.F.UAR1._HID.A=
.
    70B0: 05 01 08 5F 55 49 44 0A 01 14 3F 5F 53 54 41 00  ..._UID...?_STA=
.
    70C0: 45 4E 46 47 70 0A 01 4C 44 4E 5F A0 0C 41 43 54  ENFGp..LDN_..AC=
T
    70D0: 52 45 58 46 47 A4 0A 0F A1 1C A0 11 91 49 4F 41  REXFG........IO=
A
    70E0: 48 49 4F 41 4C 45 58 46 47 A4 0A 0D A1 08 45 58  HIOALEXFG.....E=
X
    70F0: 46 47 A4 0A 00 45 58 46 47 14 21 5F 44 49 53 00  FG...EXFG.!_DIS=
.
    7100: 45 4E 46 47 70 0A 01 4C 44 4E 5F 70 00 41 43 54  ENFGp..LDN_p.AC=
T
    7110: 52 45 58 46 47 44 49 53 44 0A 00 14 49 09 5F 43  REXFGDISD...I._=
C
    7120: 52 53 00 08 42 55 46 31 11 10 0A 0D 47 01 00 00  RS..BUF1....G..=
.
    7130: 00 00 01 08 22 00 00 79 00 8C 42 55 46 31 0A 02  ...."..y..BUF1.=
.
    7140: 49 4F 4C 4F 8C 42 55 46 31 0A 03 49 4F 48 49 8C  IOLO.BUF1..IOHI=
.
    7150: 42 55 46 31 0A 04 49 4F 52 4C 8C 42 55 46 31 0A  BUF1..IORL.BUF1=
.
    7160: 05 49 4F 52 48 8B 42 55 46 31 0A 09 49 52 51 57  .IORH.BUF1..IRQ=
W
    7170: 45 4E 46 47 70 0A 01 4C 44 4E 5F 70 49 4F 41 4C  ENFGp..LDN_pIOA=
L
    7180: 49 4F 4C 4F 70 49 4F 41 4C 49 4F 52 4C 70 49 4F  IOLOpIOALIORLpI=
O
    7190: 41 48 49 4F 48 49 70 49 4F 41 48 49 4F 52 48 70  AHIOHIpIOAHIORH=
p
    71A0: 01 60 79 60 49 4E 54 52 49 52 51 57 45 58 46 47  .`y`INTRIRQWEXF=
G
    71B0: A4 42 55 46 31 08 5F 50 52 53 11 36 0A 33 30 47  .BUF1._PRS.6.30=
G
    71C0: 01 F8 03 F8 03 01 08 22 B8 1E 30 47 01 F8 02 F8  ......."..0G...=
.
    71D0: 02 01 08 22 B8 1E 30 47 01 E8 03 E8 03 01 08 22  ..."..0G.......=
"
    71E0: B8 1E 30 47 01 E8 02 E8 02 01 08 22 B8 1E 38 79  ..0G......."..8=
y
    71F0: 00 14 46 06 5F 53 52 53 01 8C 68 0A 02 49 4F 4C  ..F._SRS..h..IO=
L
    7200: 4F 8C 68 0A 03 49 4F 48 49 8B 68 0A 02 49 4F 41  O.h..IOHI.h..IO=
A
    7210: 44 8B 68 0A 09 49 52 51 57 45 4E 46 47 70 0A 01  D.h..IRQWENFGp.=
.
    7220: 4C 44 4E 5F 70 01 41 43 54 52 70 49 4F 4C 4F 49  LDN_p.ACTRpIOLO=
I
    7230: 4F 41 4C 70 49 4F 48 49 49 4F 41 48 82 49 52 51  OALpIOHIIOAH.IR=
Q
    7240: 57 60 74 60 0A 01 49 4E 54 52 45 58 46 47 43 4B  W`t`..INTREXFGC=
K
    7250: 49 4F 49 4F 41 44 0A 00 5B 82 42 1F 4C 50 54 31  IOIOAD..[.B.LPT=
1
    7260: 08 5F 48 49 44 0C 41 D0 04 00 14 44 05 5F 53 54  ._HID.A....D._S=
T
    7270: 41 00 45 4E 46 47 70 0A 03 4C 44 4E 5F 7B 4F 50  A.ENFGp..LDN_{O=
P
    7280: 54 31 0A 02 60 A0 30 92 93 60 0A 02 A0 0C 41 43  T1..`.0..`....A=
C
    7290: 54 52 45 58 46 47 A4 0A 0F A1 1C A0 11 91 49 4F  TREXFG........I=
O
    72A0: 41 48 49 4F 41 4C 45 58 46 47 A4 0A 0D A1 08 45  AHIOALEXFG.....=
E
    72B0: 58 46 47 A4 0A 00 A1 08 45 58 46 47 A4 0A 00 14  XFG.....EXFG...=
.
    72C0: 21 5F 44 49 53 00 45 4E 46 47 70 0A 03 4C 44 4E  !_DIS.ENFGp..LD=
N
    72D0: 5F 70 00 41 43 54 52 45 58 46 47 44 49 53 44 0A  _p.ACTREXFGDISD=
.
    72E0: 02 14 40 0C 5F 43 52 53 00 08 42 55 46 35 11 10  ..@._CRS..BUF5.=
.
    72F0: 0A 0D 47 01 00 00 00 00 01 08 22 00 00 79 00 8C  ..G......."..y.=
.
    7300: 42 55 46 35 0A 02 49 4F 4C 4F 8C 42 55 46 35 0A  BUF5..IOLO.BUF5=
.
    7310: 03 49 4F 48 49 8C 42 55 46 35 0A 04 49 4F 52 4C  .IOHI.BUF5..IOR=
L
    7320: 8C 42 55 46 35 0A 05 49 4F 52 48 8C 42 55 46 35  .BUF5..IORH.BUF=
5
    7330: 0A 07 49 4F 4C 45 8B 42 55 46 35 0A 09 49 52 51  ..IOLE.BUF5..IR=
Q
    7340: 57 45 4E 46 47 70 0A 03 4C 44 4E 5F 70 49 4F 41  WENFGp..LDN_pIO=
A
    7350: 4C 49 4F 4C 4F 70 49 4F 4C 4F 49 4F 52 4C 70 49  LIOLOpIOLOIORLp=
I
    7360: 4F 41 48 49 4F 48 49 70 49 4F 48 49 49 4F 52 48  OAHIOHIpIOHIIOR=
H
    7370: A0 0F 93 49 4F 4C 4F 0A BC 70 0A 04 49 4F 4C 45  ...IOLO..p..IOL=
E
    7380: A1 08 70 0A 08 49 4F 4C 45 70 01 60 70 49 4E 54  ..p..IOLEp.`pIN=
T
    7390: 52 65 79 60 65 49 52 51 57 45 58 46 47 A4 42 55  Rey`eIRQWEXFG.B=
U
    73A0: 46 35 08 5F 50 52 53 11 2A 0A 27 30 47 01 78 03  F5._PRS.*.'0G.x=
.
    73B0: 78 03 01 08 22 B8 1E 30 47 01 78 02 78 02 01 08  x..."..0G.x.x..=
.
    73C0: 22 B8 1E 30 47 01 BC 03 BC 03 01 04 22 B8 1E 38  "..0G......."..=
8
    73D0: 79 00 14 49 07 5F 53 52 53 01 8C 68 0A 02 49 4F  y..I._SRS..h..I=
O
    73E0: 4C 4F 8C 68 0A 03 49 4F 48 49 8B 68 0A 02 49 4F  LO.h..IOHI.h..I=
O
    73F0: 41 44 8C 68 0A 04 49 4F 52 4C 8C 68 0A 05 49 4F  AD.h..IORL.h..I=
O
    7400: 52 48 8B 68 0A 09 49 52 51 57 45 4E 46 47 70 0A  RH.h..IRQWENFGp=
.
    7410: 03 4C 44 4E 5F 70 01 41 43 54 52 70 49 4F 4C 4F  .LDN_p.ACTRpIOL=
O
    7420: 49 4F 41 4C 70 49 4F 48 49 49 4F 41 48 81 49 52  IOALpIOHIIOAH.I=
R
    7430: 51 57 60 74 60 0A 01 60 70 60 49 4E 54 52 45 58  QW`t`..`p`INTRE=
X
    7440: 46 47 43 4B 49 4F 49 4F 41 44 0A 02 5B 82 4D 2A  FGCKIOIOAD..[.M=
*
    7450: 45 43 50 31 08 5F 48 49 44 0C 41 D0 04 01 14 43  ECP1._HID.A....=
C
    7460: 05 5F 53 54 41 00 45 4E 46 47 70 0A 03 4C 44 4E  ._STA.ENFGp..LD=
N
    7470: 5F 7B 4F 50 54 31 0A 02 60 A0 2F 93 60 0A 02 A0  _{OPT1..`./.`..=
.
    7480: 0C 41 43 54 52 45 58 46 47 A4 0A 0F A1 1C A0 11  .ACTREXFG......=
.
    7490: 91 49 4F 41 48 49 4F 41 4C 45 58 46 47 A4 0A 0D  .IOAHIOALEXFG..=
.
    74A0: A1 08 45 58 46 47 A4 0A 00 A1 08 45 58 46 47 A4  ..EXFG.....EXFG=
.
    74B0: 0A 00 14 2B 5F 44 49 53 00 45 4E 46 47 70 0A 03  ...+_DIS.ENFGp.=
.
    74C0: 4C 44 4E 5F 70 00 41 43 54 52 53 4C 44 4D 44 4D  LDN_p.ACTRSLDMD=
M
    74D0: 43 48 0A 04 45 58 46 47 44 49 53 44 0A 02 14 4B  CH..EXFGDISD...=
K
    74E0: 13 5F 43 52 53 00 08 42 55 46 36 11 1B 0A 18 47  ._CRS..BUF6....=
G
    74F0: 01 00 00 00 00 01 04 47 01 00 00 00 00 01 04 22  .......G.......=
"
    7500: 00 00 2A 00 00 79 00 8C 42 55 46 36 0A 02 49 4F  ..*..y..BUF6..I=
O
    7510: 4C 4F 8C 42 55 46 36 0A 03 49 4F 48 49 8C 42 55  LO.BUF6..IOHI.B=
U
    7520: 46 36 0A 04 49 4F 52 4C 8C 42 55 46 36 0A 05 49  F6..IORL.BUF6..=
I
    7530: 4F 52 48 8C 42 55 46 36 0A 07 49 4F 4C 45 8C 42  ORH.BUF6..IOLE.=
B
    7540: 55 46 36 0A 0A 49 4F 45 4C 8C 42 55 46 36 0A 0B  UF6..IOEL.BUF6.=
.
    7550: 49 4F 45 48 8C 42 55 46 36 0A 0C 49 4F 4D 4C 8C  IOEH.BUF6..IOML=
.
    7560: 42 55 46 36 0A 0D 49 4F 4D 48 8B 42 55 46 36 0A  BUF6..IOMH.BUF6=
.
    7570: 11 49 52 51 57 8C 42 55 46 36 0A 14 44 4D 41 43  .IRQW.BUF6..DMA=
C
    7580: 45 4E 46 47 70 0A 03 4C 44 4E 5F 70 49 4F 41 4C  ENFGp..LDN_pIOA=
L
    7590: 62 70 62 49 4F 4C 4F 70 49 4F 41 48 63 70 63 49  bpbIOLOpIOAHcpc=
I
    75A0: 4F 48 49 7D 63 0A 04 63 70 63 49 4F 45 48 70 63  OHI}c..cpcIOEHp=
c
    75B0: 49 4F 4D 48 70 49 4F 4C 4F 49 4F 52 4C 70 49 4F  IOMHpIOLOIORLpI=
O
    75C0: 4C 4F 49 4F 45 4C 70 49 4F 4C 4F 49 4F 4D 4C 70  LOIOELpIOLOIOML=
p
    75D0: 49 4F 48 49 49 4F 52 48 A0 0F 93 49 4F 4C 4F 0A  IOHIIORH...IOLO=
.
    75E0: BC 70 0A 04 49 4F 4C 45 A1 08 70 0A 08 49 4F 4C  .p..IOLE..p..IO=
L
    75F0: 45 70 01 60 70 49 4E 54 52 65 79 60 65 49 52 51  Ep.`pINTRey`eIR=
Q
    7600: 57 70 01 60 70 44 4D 43 48 65 79 60 65 44 4D 41  Wp.`pDMCHey`eDM=
A
    7610: 43 45 58 46 47 A4 42 55 46 36 08 5F 50 52 53 11  CEXFG.BUF6._PRS=
.
    7620: 4C 04 0A 48 30 47 01 78 03 78 03 00 08 47 01 78  L..H0G.x.x...G.=
x
    7630: 07 78 07 00 04 22 B8 1E 2A 0B 00 30 47 01 78 02  .x..."..*..0G.x=
.
    7640: 78 02 00 08 47 01 78 06 78 06 00 04 22 B8 1E 2A  x...G.x.x..."..=
*
    7650: 0B 00 30 47 01 BC 03 BC 03 00 04 47 01 BC 07 BC  ..0G.......G...=
.
    7660: 07 00 04 22 B8 1E 2A 0B 00 38 79 00 14 4E 08 5F  ..."..*..8y..N.=
_
    7670: 53 52 53 01 8C 68 0A 02 49 4F 4C 4F 8C 68 0A 03  SRS..h..IOLO.h.=
.
    7680: 49 4F 48 49 8B 68 0A 02 49 4F 41 44 8B 68 0A 11  IOHI.h..IOAD.h.=
.
    7690: 49 52 51 57 8C 68 0A 14 44 4D 41 43 45 4E 46 47  IRQW.h..DMACENF=
G
    76A0: 70 0A 03 4C 44 4E 5F 70 01 41 43 54 52 70 49 4F  p..LDN_p.ACTRpI=
O
    76B0: 4C 4F 49 4F 41 4C 70 49 4F 48 49 49 4F 41 48 81  LOIOALpIOHIIOAH=
.
    76C0: 49 52 51 57 60 74 60 0A 01 60 70 60 49 4E 54 52  IRQW`t`..`p`INT=
R
    76D0: 81 44 4D 41 43 61 70 44 4D 43 48 60 74 61 0A 01  .DMACapDMCH`ta.=
.
    76E0: 44 4D 43 48 53 4C 44 4D 60 44 4D 43 48 45 58 46  DMCHSLDM`DMCHEX=
F
    76F0: 47 43 4B 49 4F 49 4F 41 44 0A 02 5B 80 4B 42 43  GCKIOIOAD..[.KB=
C
    7700: 54 01 0A 60 0A 05 5B 81 12 4B 42 43 54 01 50 30  T..`..[..KBCT.P=
0
    7710: 36 30 08 00 18 50 30 36 34 08 5B 82 4F 08 50 53  60...P064.[.O.P=
S
    7720: 32 4D 08 5F 48 49 44 0C 41 D0 0F 13 14 17 5F 53  2M._HID.A....._=
S
    7730: 54 41 00 A0 0B 93 50 53 32 46 0A 00 A4 0A 0F A1  TA....PS2F.....=
.
    7740: 04 A4 0A 00 14 46 06 5F 43 52 53 00 08 42 55 46  .....F._CRS..BU=
F
    7750: 31 11 08 0A 05 22 00 10 79 00 08 42 55 46 32 11  1...."..y..BUF2=
.
    7760: 18 0A 15 47 01 60 00 60 00 01 01 47 01 64 00 64  ...G.`.`...G.d.=
d
    7770: 00 01 01 22 00 10 79 00 A0 2B 93 4B 42 44 49 0A  ..."..y..+.KBDI=
.
    7780: 01 A0 0D 93 4F 53 46 4C 0A 02 A4 42 55 46 31 A0  ....OSFL...BUF1=
.
    7790: 0D 93 4F 53 46 4C 0A 01 A4 42 55 46 31 A1 06 A4  ..OSFL...BUF1..=
.
    77A0: 42 55 46 32 A1 06 A4 42 55 46 31 5B 82 46 04 50  BUF2...BUF1[.F.=
P
    77B0: 53 32 4B 08 5F 48 49 44 0C 41 D0 03 03 14 17 5F  S2K._HID.A.....=
_
    77C0: 53 54 41 00 A0 0B 93 4B 42 44 49 0A 01 A4 0A 00  STA....KBDI....=
.
    77D0: A1 04 A4 0A 0F 08 5F 43 52 53 11 18 0A 15 47 01  ......_CRS....G=
.
    77E0: 60 00 60 00 01 01 47 01 64 00 64 00 01 01 22 02  `.`...G.d.d..."=
.
    77F0: 00 79 00 5B 82 4C 06 50 53 4D 52 08 5F 48 49 44  .y.[.L.PSMR._HI=
D
    7800: 0C 41 D0 0C 02 08 5F 55 49 44 0A 03 14 39 5F 53  .A...._UID...9_=
S
    7810: 54 41 00 A0 0B 93 4B 42 44 49 0A 00 A4 0A 00 A0  TA....KBDI.....=
.
    7820: 23 93 50 53 32 46 0A 00 A0 0B 93 4F 53 46 4C 0A  #.PS2F.....OSFL=
.
    7830: 02 A4 0A 0F A0 0B 93 4F 53 46 4C 0A 01 A4 0A 0F  .......OSFL....=
.
    7840: A4 0A 00 A4 0A 00 08 5F 43 52 53 11 15 0A 12 47  ......._CRS....=
G
    7850: 01 60 00 60 00 01 01 47 01 64 00 64 00 01 01 79  .`.`...G.d.d...=
y
    7860: 00 10 4D 08 5C 00 14 48 08 53 4C 44 31 01 45 4E  ..M.\..H.SLD1.E=
N
    7870: 46 47 70 0A 07 4C 44 4E 5F 53 53 52 47 0A F8 0A  FGp..LDN_SSRG..=
.
    7880: 10 53 53 52 47 0A F9 0A 01 7B 0A 20 0A 0F 60 79  .SSRG....{. ..`=
y
    7890: 0A 01 60 60 7B 0A 20 0A F0 61 7A 61 0A 04 61 72  ..``{. ..aza..a=
r
    78A0: 61 0A AF 61 70 47 53 52 47 61 62 7D 62 60 62 80  a..apGSRGab}b`b=
.
    78B0: 60 60 A0 0C 95 68 0A 08 53 53 52 47 0A F9 68 A0  ``...h..SSRG..h=
.
    78C0: 17 93 68 0A 08 53 53 52 47 0A F8 0A 00 7B 62 60  ..h..SSRG....{b=
`
    78D0: 62 53 53 52 47 61 62 A0 13 94 68 0A 08 53 53 52  bSSRGab...h..SS=
R
    78E0: 47 0A F8 0A 00 53 53 52 47 61 62 45 58 46 47 14  G....SSRGabEXFG=
.
    78F0: 1D 5C 2F 04 5F 53 42 5F 50 43 49 30 50 53 32 4D  .\/._SB_PCI0PS2=
M
    7900: 5F 50 52 57 00 A4 12 06 02 0A 03 0A 05 14 1D 5C  _PRW...........=
\
    7910: 2F 04 5F 53 42 5F 50 43 49 30 50 53 32 4B 5F 50  /._SB_PCI0PS2K_=
P
    7920: 52 57 00 A4 12 06 02 0A 03 0A 05 14 0E 5F 50 52  RW..........._P=
R
    7930: 57 00 A4 12 06 02 0A 04 0A 05 5B 82 40 26 4D 45  W.........[.@&M=
E
    7940: 4D 5F 08 5F 48 49 44 0C 41 D0 0C 01 14 4F 24 5F  M_._HID.A....O$=
_
    7950: 43 52 53 00 08 42 55 46 30 11 42 0A 0A 9E 86 09  CRS..BUF0.B....=
.
    7960: 00 01 00 00 0F 00 00 40 00 00 86 09 00 01 00 40  .......@.......=
@
    7970: 0F 00 00 40 00 00 86 09 00 01 00 80 0F 00 00 40  ...@...........=
@
    7980: 00 00 86 09 00 01 00 C0 0F 00 00 40 00 00 86 09  ...........@...=
.
    7990: 00 01 00 00 00 00 00 00 01 00 86 09 00 01 00 00  ...............=
.
    79A0: FF FF 00 00 01 00 86 09 00 01 00 00 00 00 00 00  ...............=
.
    79B0: 0A 00 86 09 00 01 00 00 10 00 00 00 00 00 86 09  ...............=
.
    79C0: 00 01 00 00 00 00 00 00 00 00 86 09 00 01 00 00  ...............=
.
    79D0: 00 00 00 00 00 00 86 09 00 01 00 00 C0 FE 00 10  ...............=
.
    79E0: 00 00 86 09 00 01 00 00 E0 FE 00 10 00 00 86 09  ...............=
.
    79F0: 00 01 00 00 F8 FF 00 00 07 00 79 00 8A 42 55 46  ..........y..BU=
F
    7A00: 30 0A 34 41 43 4D 4D 8A 42 55 46 30 0A 04 52 4D  0.4ACMM.BUF0..R=
M
    7A10: 41 31 8A 42 55 46 30 0A 08 52 53 53 31 8A 42 55  A1.BUF0..RSS1.B=
U
    7A20: 46 30 0A 10 52 4D 41 32 8A 42 55 46 30 0A 14 52  F0..RMA2.BUF0..=
R
    7A30: 53 53 32 8A 42 55 46 30 0A 1C 52 4D 41 33 8A 42  SS2.BUF0..RMA3.=
B
    7A40: 55 46 30 0A 20 52 53 53 33 8A 42 55 46 30 0A 28  UF0. RSS3.BUF0.=
(
    7A50: 52 4D 41 34 8A 42 55 46 30 0A 2C 52 53 53 34 8A  RMA4.BUF0.,RSS4=
.
    7A60: 42 55 46 30 0A 5C 45 58 54 4D 8A 42 55 46 30 0A  BUF0.\EXTM.BUF0=
.
    7A70: 64 55 53 4D 41 8A 42 55 46 30 0A 68 55 53 4D 53  dUSMA.BUF0.hUSM=
S
    7A80: 72 41 4D 45 4D 0C 00 00 01 00 55 53 4D 41 72 55  rAMEM.....USMAr=
U
    7A90: 53 4D 53 0C 00 00 10 00 55 53 4D 53 8A 42 55 46  SMS.....USMS.BU=
F
    7AA0: 30 0A 70 54 53 4D 41 8A 42 55 46 30 0A 74 54 53  0.pTSMA.BUF0.tT=
S
    7AB0: 4D 53 72 41 4D 45 4D 0C 00 00 01 00 54 53 4D 41  MSrAMEM.....TSM=
A
    7AC0: 72 54 53 4D 41 0C 00 00 10 00 54 53 4D 41 72 54  rTSMA.....TSMAr=
T
    7AD0: 53 4D 53 0C 00 00 10 00 54 53 4D 53 74 41 4D 45  SMS.....TSMStAM=
E
    7AE0: 4D 0C 00 00 10 00 45 58 54 4D A0 35 92 93 52 4F  M.....EXTM.5..R=
O
    7AF0: 4D 31 00 70 52 4D 41 31 52 4D 41 32 79 52 4F 4D  M1.pRMA1RMA2yRO=
M
    7B00: 31 0A 08 60 70 60 52 4D 41 31 79 52 4D 53 31 0A  1..`p`RMA1yRMS1=
.
    7B10: 08 60 70 60 52 53 53 31 70 0B 00 80 52 53 53 32  .`p`RSS1p...RSS=
2
    7B20: A0 35 92 93 52 4F 4D 32 00 70 52 4D 41 32 52 4D  .5..ROM2.pRMA2R=
M
    7B30: 41 33 79 52 4F 4D 32 0A 08 60 70 60 52 4D 41 32  A3yROM2..`p`RMA=
2
    7B40: 79 52 4D 53 32 0A 08 60 70 60 52 53 53 32 70 0B  yRMS2..`p`RSS2p=
.
    7B50: 00 C0 52 53 53 33 A0 37 92 93 52 4F 4D 33 00 70  ..RSS3.7..ROM3.=
p
    7B60: 52 4D 41 33 52 4D 41 34 79 52 4F 4D 33 0A 08 60  RMA3RMA4yROM3..=
`
    7B70: 70 60 52 4D 41 33 79 52 4D 53 33 0A 08 60 70 60  p`RMA3yRMS3..`p=
`
    7B80: 52 53 53 33 70 0C 00 00 01 00 52 53 53 34 70 41  RSS3p.....RSS4p=
A
    7B90: 4D 45 4D 41 43 4D 4D A4 42 55 46 30 5B 82 45 04  MEMACMM.BUF0[.E=
.
    7BA0: 5C 2F 03 5F 53 42 5F 50 43 49 30 45 58 50 4C 08  \/._SB_PCI0EXPL=
.
    7BB0: 5F 48 49 44 0C 41 D0 0C 02 08 5F 55 49 44 0A 04  _HID.A...._UID.=
.
    7BC0: 14 22 5F 43 52 53 00 08 42 55 46 30 11 11 0A 0E  ."_CRS..BUF0...=
.
    7BD0: 86 09 00 01 00 00 00 E0 00 00 00 10 79 00 A4 42  ............y..=
B
    7BE0: 55 46 30                                         UF0

MATS @ 0x0000000000000000
    0000: 4D 41 54 53 34 00 00 00 01 52 47 42 54 20 20 20  MATS4....RGBT
    0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    0020: 00 00 00 00 B0 00 00 00 01 00 00 00 34 97 CF CF  ............4..=
.
    0030: EE FF 00 00                                      ....

FACP @ 0x0000000000000000
    0000: 46 41 43 50 74 00 00 00 01 D2 47 42 54 20 20 20  FACPt.....GBT
    0010: 47 42 54 55 41 43 50 49 31 2E 30 42 47 42 54 55  GBTUACPI1.0BGBT=
U
    0020: 01 01 01 01 00 00 CF CF 00 11 CF CF 00 01 09 00  ...............=
.
    0030: B0 00 00 00 A1 A0 00 00 00 08 00 00 00 00 00 00  ...............=
.
    0040: 04 08 00 00 00 00 00 00 50 08 00 00 08 08 00 00  ........P......=
.
    0050: 20 08 00 00 00 00 00 00 04 02 01 04 08 00 00 00   ..............=
.
    0060: 65 00 E9 03 00 00 00 00 01 00 0D 00 00 00 00 00  e..............=
.
    0070: AD 01 00 00                                      ....

Firmware Warning (ACPI): Incorrect checksum in table [TAMG] - 0x45, should=
 be 0x44 (20200925/tbprint-234)
TAMG @ 0x0000000000000000
    0000: 54 41 4D 47 02 02 00 00 01 45 47 42 54 20 20 20  TAMG.....EGBT
    0010: 47 42 54 20 20 20 42 30 2E 31 55 54 42 47 01 01  GBT   B0.1UTBG.=
.
    0020: 01 01 45 53 44 54 5D 20 11 00 00 00 00 00 00 00  ..ESDT] .......=
.
    0030: 00 00 14 00 00 00 00 07 00 00 3D 02 2D 02 2E 02  ..........=3D.-=
...
    0040: 20 00 10 00 25 00 04 00 00 00 00 1A 07 01 00 00   ...%..........=
.
    0050: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00  ...............=
.
    0060: 00 6E 00 E0 15 00 00 6F 00 9A 00 80 70 00 00 9B  .n.....o....p..=
.
    0070: 00 A0 00 80 89 00 00 A1 00 AA 00 80 A2 00 00 00  ...............=
.
    0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    0110: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    0130: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    0140: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    0150: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    0180: 00 00 24 45 5A 59 41 43 43 24 60 00 01 D6 00 00  ..$EZYACC$`....=
.
    0190: 00 00 06 00 04 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    01A0: 00 00 01 00 00 00 CE 80 00 00 00 01 00 00 00 01  ...............=
.
    01B0: 00 00 00 02 00 00 8B 80 00 00 00 01 00 00 00 01  ...............=
.
    01C0: 00 00 00 10 00 00 8C 04 00 00 00 01 00 01 00 00  ...............=
.
    01D0: 00 00 00 20 00 00 8C 08 00 00 00 01 00 01 00 00  ... ...........=
.
    01E0: 00 00 00 40 00 00 8C 10 00 00 00 01 00 01 00 00  ...@...........=
.
    01F0: 00 00 00 80 00 00 8C 20 00 00 00 01 00 01 00 00  ....... .......=
.
    0200: 00 00                                            ..

HPET @ 0x0000000000000000
    0000: 48 50 45 54 38 00 00 00 01 25 47 42 54 20 20 20  HPET8....%GBT
    0010: 47 42 54 55 41 43 50 49 31 2E 30 42 47 42 54 55  GBTUACPI1.0BGBT=
U
    0020: 98 00 00 00 01 A2 B9 10 00 00 00 00 00 00 D0 FE  ...............=
.
    0030: 00 00 00 00 00 10 00 00                          ........

FACS @ 0x0000000000000000
    0000: 46 41 43 53 40 00 00 00 00 00 00 00 00 00 00 00  FACS@..........=
.
    0010: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.
    0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ...............=
.


--trekuen-ab685f02-5785-4d56-a853-463f105083b0
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=dom0.log
Content-Transfer-Encoding: quoted-printable

[    0.000000] Linux version 5.10.0-21-amd64 (debian-kernel@lists.debian.o=
rg) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for De=
bian) 2.35.2) #1 SMP Debian 5.10.162-1 (2023-01-21)
[    0.000000] Command line: placeholder root=3DUUID=3D36792c57-a8bc-4264-=
93a9-6b9485700770 ro quiet
[    0.000000] x86/fpu: x87 FPU will use FXSAVE
[    0.000000] Released 0 page(s)
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] Xen: [mem 0x0000000000000000-0x000000000009afff] usable
[    0.000000] Xen: [mem 0x000000000009f800-0x00000000000fffff] reserved
[    0.000000] Xen: [mem 0x0000000000100000-0x0000000030064fff] usable
[    0.000000] Xen: [mem 0x00000000cfcf0000-0x00000000cfcf0fff] ACPI NVS
[    0.000000] Xen: [mem 0x00000000cfcf1000-0x00000000cfcfffff] ACPI data
[    0.000000] Xen: [mem 0x00000000cfd00000-0x00000000cfdfffff] reserved
[    0.000000] Xen: [mem 0x00000000e0000000-0x00000000efffffff] reserved
[    0.000000] Xen: [mem 0x00000000fec00000-0x00000000ffffffff] reserved
[    0.000000] Xen: [mem 0x000000fd00000000-0x000000ffffffffff] reserved
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.4 present.
[    0.000000] DMI: Gigabyte Technology Co., Ltd. GA-890FXA-UD5/GA-890FXA-=
UD5, BIOS F6 11/24/2010
[    0.000000] Hypervisor detected: Xen PV
[    0.025551] tsc: Fast TSC calibration using PIT
[    0.025554] tsc: Detected 2611.951 MHz processor
[    0.025555] tsc: Detected 2611.810 MHz TSC
[    0.034450] e820: update [mem 0x00000000-0x00000fff] usable =3D=3D> res=
erved
[    0.034455] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.049162] AGP: No AGP bridge found
[    0.049298] last_pfn =3D 0x30065 max_arch_pfn =3D 0x400000000
[    0.049299] Disabled
[    0.049301] x86/PAT: MTRRs disabled, skipping PAT initialization too.
[    0.049305] x86/PAT: Configuration [0-7]: WB  WT  UC- UC  WC  WP  UC  U=
C
[    0.152960] RAMDISK: [mem 0x04000000-0x05d64fff]
[    0.152970] ACPI: Early table checksum verification disabled
[    0.153595] ACPI: RSDP 0x00000000000F6100 000014 (v00 GBT   )
[    0.153604] ACPI: RSDT 0x00000000CFCF1000 000044 (v01 GBT    GBTUACPI 4=
2302E31 GBTU 01010101)
[    0.153627] ACPI: FACP 0x00000000CFCF1080 000074 (v01 GBT    GBTUACPI 4=
2302E31 GBTU 01010101)
[    0.153659] ACPI: DSDT 0x00000000CFCF1100 007BE3 (v01 GBT    GBTUACPI 0=
0001000 MSFT 03000000)
[    0.153668] ACPI: FACS 0x00000000CFCF0000 000040
[    0.153676] ACPI: SSDT 0x00000000CFCF8DC0 00088C (v01 PTLTD  POWERNOW 0=
0000001  LTP 00000001)
[    0.153689] ACPI: HPET 0x00000000CFCF9680 000038 (v01 GBT    GBTUACPI 4=
2302E31 GBTU 00000098)
[    0.153699] ACPI: MCFG 0x00000000CFCF96C0 00003C (v01 GBT    GBTUACPI 4=
2302E31 GBTU 01010101)
[    0.153709] ACPI: MATS 0x00000000CFCF9700 000034 (v01 GBT             0=
0000000      00000000)
[    0.153718] ACPI: TAMG 0x00000000CFCF9770 000202 (v01 GBT    GBT   B0 5=
455312E BG?? 53450101)
[    0.153727] ACPI: APIC 0x00000000CFCF8D00 0000BC (v01 GBT    GBTUACPI 4=
2302E31 GBTU 01010101)
[    0.153736] ACPI: IVRS 0x00000000CFCF99F0 0000C0 (v01 AMD    RD890S   0=
0202031 AMD  00000000)
[    0.153742] ACPI: Reserving FACP table memory at [mem 0xcfcf1080-0xcfcf=
10f3]
[    0.153744] ACPI: Reserving DSDT table memory at [mem 0xcfcf1100-0xcfcf=
8ce2]
[    0.153746] ACPI: Reserving FACS table memory at [mem 0xcfcf0000-0xcfcf=
003f]
[    0.153747] ACPI: Reserving SSDT table memory at [mem 0xcfcf8dc0-0xcfcf=
964b]
[    0.153748] ACPI: Reserving HPET table memory at [mem 0xcfcf9680-0xcfcf=
96b7]
[    0.153750] ACPI: Reserving MCFG table memory at [mem 0xcfcf96c0-0xcfcf=
96fb]
[    0.153751] ACPI: Reserving MATS table memory at [mem 0xcfcf9700-0xcfcf=
9733]
[    0.153752] ACPI: Reserving TAMG table memory at [mem 0xcfcf9770-0xcfcf=
9971]
[    0.153754] ACPI: Reserving APIC table memory at [mem 0xcfcf8d00-0xcfcf=
8dbb]
[    0.153755] ACPI: Reserving IVRS table memory at [mem 0xcfcf99f0-0xcfcf=
9aaf]
[    0.153784] ACPI: Local APIC address 0xfee00000
[    0.153786] Setting APIC routing to Xen PV.
[    0.153833] NUMA turned off
[    0.153835] Faking a node at [mem 0x0000000000000000-0x0000000030064fff=
]
[    0.153848] NODE_DATA(0) allocated [mem 0x2fe7f000-0x2fea8fff]
[    0.156464] Zone ranges:
[    0.156466]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.156469]   DMA32    [mem 0x0000000001000000-0x0000000030064fff]
[    0.156471]   Normal   empty
[    0.156472]   Device   empty
[    0.156474] Movable zone start for each node
[    0.156479] Early memory node ranges
[    0.156480]   node   0: [mem 0x0000000000001000-0x000000000009afff]
[    0.156482]   node   0: [mem 0x0000000000100000-0x0000000030064fff]
[    0.156485] Initmem setup node 0 [mem 0x0000000000001000-0x000000003006=
4fff]
[    0.156487] On node 0 totalpages: 196607
[    0.156489]   DMA zone: 64 pages used for memmap
[    0.156490]   DMA zone: 21 pages reserved
[    0.156491]   DMA zone: 3994 pages, LIFO batch:0
[    0.156493]   DMA32 zone: 3010 pages used for memmap
[    0.156494]   DMA32 zone: 192613 pages, LIFO batch:63
[    0.156500] On node 0, zone DMA: 1 pages in unavailable ranges
[    0.156577] On node 0, zone DMA: 101 pages in unavailable ranges
[    0.158449] On node 0, zone DMA32: 32667 pages in unavailable ranges
[    0.158453] p2m virtual area at (____ptrval____), size is 40000000
[    0.572830] Remapped 101 page(s)
[    0.573335] ACPI: PM-Timer IO Port: 0x808
[    0.573340] ACPI: Local APIC address 0xfee00000
[    0.573373] ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
[    0.573375] ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
[    0.573378] ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
[    0.573379] ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x1])
[    0.573381] ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x1])
[    0.573383] ACPI: LAPIC_NMI (acpi_id[0x05] dfl dfl lint[0x1])
[    0.573385] ACPI: LAPIC_NMI (acpi_id[0x06] dfl dfl lint[0x1])
[    0.573387] ACPI: LAPIC_NMI (acpi_id[0x07] dfl dfl lint[0x1])
[    0.573405] IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0=
-23
[    0.573417] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.573421] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
[    0.573426] ACPI: IRQ0 used by override.
[    0.573428] ACPI: IRQ9 used by override.
[    0.573436] Using ACPI (MADT) for SMP configuration information
[    0.573439] ACPI: HPET id: 0x10b9a201 base: 0xfed00000
[    0.574782] smpboot: Allowing 4 CPUs, 0 hotplug CPUs
[    0.574802] PM: hibernation: Registered nosave memory: [mem 0x00000000-=
0x00000fff]
[    0.574805] PM: hibernation: Registered nosave memory: [mem 0x0009b000-=
0x0009ffff]
[    0.574806] PM: hibernation: Registered nosave memory: [mem 0x000a0000-=
0x000fffff]
[    0.574809] [mem 0x30065000-0xcfceffff] available for PCI devices
[    0.574812] Booting paravirtualized kernel on Xen
[    0.574814] Xen version: 4.14.5 (preserve-AD)
[    0.574818] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: =
0xffffffff, max_idle_ns: 7645519600211568 ns
[    0.579941] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:4 nr_cpu_ids:4 n=
r_node_ids:1
[    0.580642] percpu: Embedded 63 pages/cpu s221184 r8192 d28672 u524288
[    0.580649] pcpu-alloc: s221184 r8192 d28672 u524288 alloc=3D1*2097152
[    0.580652] pcpu-alloc: [0] 0 1 2 3
[    0.580706] xen: PV spinlocks enabled
[    0.580712] PV qspinlock hash table entries: 256 (order: 0, 4096 bytes,=
 linear)
[    0.580721] Built 1 zonelists, mobility grouping on.  Total pages: 1935=
12
[    0.580723] Policy zone: DMA32
[    0.580725] Kernel command line: placeholder root=3DUUID=3D36792c57-a8b=
c-4264-93a9-6b9485700770 ro quiet
[    0.581027] Dentry cache hash table entries: 131072 (order: 8, 1048576 =
bytes, linear)
[    0.581151] Inode-cache hash table entries: 65536 (order: 7, 524288 byt=
es, linear)
[    0.581305] mem auto-init: stack:off, heap alloc:on, heap free:off
[    0.629765] software IO TLB: mapped [mem 0x000000002ab80000-0x000000002=
eb80000] (64MB)
[    0.634658] Memory: 194252K/786428K available (12295K kernel code, 2537=
K rwdata, 7560K rodata, 2660K init, 5468K bss, 153260K reserved, 0K cma-re=
served)
[    0.635078] SLUB: HWalign=3D64, Order=3D0-3, MinObjects=3D0, CPUs=3D4, =
Nodes=3D1
[    0.636201] ftrace: allocating 36545 entries in 143 pages
[    0.652769] ftrace: allocated 143 pages with 5 groups
[    0.653058] rcu: Hierarchical RCU implementation.
[    0.653060] rcu: 	RCU restricting CPUs from NR_CPUS=3D8192 to nr_cpu_id=
s=3D4.
[    0.653062] 	Rude variant of Tasks RCU enabled.
[    0.653062] 	Tracing variant of Tasks RCU enabled.
[    0.653064] rcu: RCU calculated value of scheduler-enlistment delay is =
25 jiffies.
[    0.653065] rcu: Adjusting geometry for rcu_fanout_leaf=3D16, nr_cpu_id=
s=3D4
[    0.661061] Using NULL legacy PIC
[    0.661064] NR_IRQS: 524544, nr_irqs: 456, preallocated irqs: 0
[    0.661126] xen:events: Using FIFO-based ABI
[    0.661155] xen: --> pirq=3D1 -> irq=3D1 (gsi=3D1)
[    0.661162] xen: --> pirq=3D2 -> irq=3D2 (gsi=3D2)
[    0.661169] xen: --> pirq=3D3 -> irq=3D3 (gsi=3D3)
[    0.661175] xen: --> pirq=3D4 -> irq=3D4 (gsi=3D4)
[    0.661181] xen: --> pirq=3D5 -> irq=3D5 (gsi=3D5)
[    0.661187] xen: --> pirq=3D6 -> irq=3D6 (gsi=3D6)
[    0.661194] xen: --> pirq=3D7 -> irq=3D7 (gsi=3D7)
[    0.661200] xen: --> pirq=3D8 -> irq=3D8 (gsi=3D8)
[    0.661206] xen: --> pirq=3D9 -> irq=3D9 (gsi=3D9)
[    0.661213] xen: --> pirq=3D10 -> irq=3D10 (gsi=3D10)
[    0.661225] xen: --> pirq=3D11 -> irq=3D11 (gsi=3D11)
[    0.661231] xen: --> pirq=3D12 -> irq=3D12 (gsi=3D12)
[    0.661238] xen: --> pirq=3D13 -> irq=3D13 (gsi=3D13)
[    0.661244] xen: --> pirq=3D14 -> irq=3D14 (gsi=3D14)
[    0.661250] xen: --> pirq=3D15 -> irq=3D15 (gsi=3D15)
[    0.663318] Console: colour VGA+ 80x25
[    0.663335] printk: console [tty0] enabled
[    0.663349] printk: console [hvc0] enabled
[    0.663378] ACPI: Core revision 20200925
[    0.666862] clocksource: xen: mask: 0xffffffffffffffff max_cycles: 0x1c=
d42e4dffb, max_idle_ns: 881590591483 ns
[    0.666866] Xen: using vcpuop timer interface
[    0.666871] installing Xen timer for CPU 0
[    0.666897] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles=
: 0x25a5d0d4c9e, max_idle_ns: 440795295205 ns
[    0.666900] Calibrating delay loop (skipped), value calculated using ti=
mer frequency.. 5223.62 BogoMIPS (lpj=3D10447240)
[    0.666904] pid_max: default: 32768 minimum: 301
[    0.667003] LSM: Security Framework initializing
[    0.667026] Yama: disabled by default; enable with sysctl kernel.yama.*
[    0.667093] AppArmor: AppArmor initialized
[    0.667096] TOMOYO Linux initialized
[    0.667145] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes=
, linear)
[    0.667151] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 =
bytes, linear)
[    0.667730] Last level iTLB entries: 4KB 512, 2MB 16, 4MB 8
[    0.667732] Last level dTLB entries: 4KB 512, 2MB 128, 4MB 64, 1GB 0
[    0.667737] Spectre V1 : Mitigation: usercopy/swapgs barriers and __use=
r pointer sanitization
[    0.667739] Spectre V2 : Mitigation: Retpolines
[    0.667740] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RS=
B on context switch
[    0.667741] Spectre V2 : Spectre v2 / SpectreRSB : Filling RSB on VMEXI=
T
[    0.677399] Freeing SMP alternatives memory: 32K
[    0.679111] cpu 0 spinlock event irq 25
[    0.679121] VPMU disabled by hypervisor.
[    0.679402] Performance Events: PMU not available due to virtualization=
, using software events only.
[    0.679496] rcu: Hierarchical SRCU implementation.
[    0.679937] NMI watchdog: Perf NMI watchdog permanently disabled
[    0.680088] smp: Bringing up secondary CPUs ...
[    0.680260] installing Xen timer for CPU 1
[    0.680491] cpu 1 spinlock event irq 35
[    0.680491] installing Xen timer for CPU 2
[    0.680491] cpu 2 spinlock event irq 41
[    0.680491] installing Xen timer for CPU 3
[    0.680491] cpu 3 spinlock event irq 47
[    0.680491] smp: Brought up 1 node, 4 CPUs
[    0.680491] smpboot: Max logical packages: 1
[    0.682921] node 0 deferred pages initialised in 4ms
[    0.683188] devtmpfs: initialized
[    0.683188] x86/mm: Memory block size: 128MB
[    0.683339] PM: Registering ACPI NVS region [mem 0xcfcf0000-0xcfcf0fff]=
 (4096 bytes)
[    0.683339] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffff=
ff, max_idle_ns: 7645041785100000 ns
[    0.683339] futex hash table entries: 1024 (order: 4, 65536 bytes, line=
ar)
[    0.683339] pinctrl core: initialized pinctrl subsystem
[    0.683533] NET: Registered protocol family 16
[    0.683559] xen:grant_table: Grant tables using version 1 layout
[    0.683573] Grant table initialized
[    0.683783] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic alloca=
tions
[    0.683821] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomi=
c allocations
[    0.683857] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for ato=
mic allocations
[    0.683871] audit: initializing netlink subsys (disabled)
[    0.683892] audit: type=3D2000 audit(1678389264.193:1): state=3Dinitial=
ized audit_enabled=3D0 res=3D1
[    0.683892] thermal_sys: Registered thermal governor 'fair_share'
[    0.683892] thermal_sys: Registered thermal governor 'bang_bang'
[    0.683892] thermal_sys: Registered thermal governor 'step_wise'
[    0.683892] thermal_sys: Registered thermal governor 'user_space'
[    0.683892] thermal_sys: Registered thermal governor 'power_allocator'
[    0.683892] node 0 link 0: io port [9000, ffff]
[    0.683892] TOM: 00000000d0000000 aka 3328M
[    0.683892] node 0 link 0: mmio [a0000, bffff]
[    0.683892] node 0 link 0: mmio [d0000000, dfffffff]
[    0.683892] node 0 link 0: mmio [f0000000, ffffffff]
[    0.683892] node 0 link 0: mmio [e0000000, e06fffff]
[    0.683892] TOM2: 0000000430000000 aka 17152M
[    0.683892] bus: [bus 00-06] on node 0 link 0
[    0.683892] bus: 00 [io  0x0000-0xffff]
[    0.683892] bus: 00 [mem 0x000a0000-0x000bffff]
[    0.683892] bus: 00 [mem 0xd0000000-0xefffffff]
[    0.683892] bus: 00 [mem 0xf0000000-0xffffffff]
[    0.683892] bus: 00 [mem 0x430000000-0xfcffffffff]
[    0.683892] ACPI: bus type PCI registered
[    0.683892] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.683892] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe000000=
0-0xefffffff] (base 0xe0000000)
[    0.683892] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E8=
20
[    0.718777] PCI: Using configuration type 1 for base access
[    0.719991] Kprobes globally optimized
[    0.963876] ACPI: Added _OSI(Module Device)
[    0.963876] ACPI: Added _OSI(Processor Device)
[    0.963876] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.963876] ACPI: Added _OSI(Processor Aggregator Device)
[    0.963876] ACPI: Added _OSI(Linux-Dell-Video)
[    0.963876] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.963876] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
[    0.972804] ACPI: 2 ACPI AML tables successfully acquired and loaded
[    0.973132] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKC (20200925/dspkginit-438)
[    0.973180] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKD (20200925/dspkginit-438)
[    0.973220] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKA (20200925/dspkginit-438)
[    0.973259] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKB (20200925/dspkginit-438)
[    0.973304] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKD (20200925/dspkginit-438)
[    0.973343] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKA (20200925/dspkginit-438)
[    0.973381] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKB (20200925/dspkginit-438)
[    0.973420] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKC (20200925/dspkginit-438)
[    0.973465] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKA (20200925/dspkginit-438)
[    0.973504] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKB (20200925/dspkginit-438)
[    0.973543] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKC (20200925/dspkginit-438)
[    0.973582] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKD (20200925/dspkginit-438)
[    0.973626] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKB (20200925/dspkginit-438)
[    0.973672] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKC (20200925/dspkginit-438)
[    0.973718] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKD (20200925/dspkginit-438)
[    0.973764] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKA (20200925/dspkginit-438)
[    0.973815] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKC (20200925/dspkginit-438)
[    0.973862] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKD (20200925/dspkginit-438)
[    0.973908] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKA (20200925/dspkginit-438)
[    0.973952] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKB (20200925/dspkginit-438)
[    0.974004] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKD (20200925/dspkginit-438)
[    0.974050] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKA (20200925/dspkginit-438)
[    0.974095] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKB (20200925/dspkginit-438)
[    0.974141] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKC (20200925/dspkginit-438)
[    0.974193] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKB (20200925/dspkginit-438)
[    0.974239] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKC (20200925/dspkginit-438)
[    0.974285] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKD (20200925/dspkginit-438)
[    0.974330] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKA (20200925/dspkginit-438)
[    0.974382] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKC (20200925/dspkginit-438)
[    0.974427] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKD (20200925/dspkginit-438)
[    0.974473] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKA (20200925/dspkginit-438)
[    0.974523] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKB (20200925/dspkginit-438)
[    0.974576] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKD (20200925/dspkginit-438)
[    0.974622] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKA (20200925/dspkginit-438)
[    0.974668] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKB (20200925/dspkginit-438)
[    0.974714] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKC (20200925/dspkginit-438)
[    0.974765] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKA (20200925/dspkginit-438)
[    0.974811] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKB (20200925/dspkginit-438)
[    0.974857] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKC (20200925/dspkginit-438)
[    0.974904] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKD (20200925/dspkginit-438)
[    0.974956] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKB (20200925/dspkginit-438)
[    0.975002] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKC (20200925/dspkginit-438)
[    0.975048] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKD (20200925/dspkginit-438)
[    0.975093] ACPI Error: AE_NOT_FOUND, While resolving a named reference=
 package element - LNKA (20200925/dspkginit-438)
[    0.975332] xen: registering gsi 9 triggering 0 polarity 1
[    0.978373] ACPI: Interpreter enabled
[    0.978398] ACPI: (supports S0 S3 S4 S5)
[    0.978401] ACPI: Using IOAPIC for interrupt routing
[    0.978446] PCI: Using host bridge windows from ACPI; if necessary, use=
 "pci=3Dnocrs" and report a bug
[    0.978633] ACPI: Enabled 9 GPEs in block 00 to 1F
[    0.985274] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.985282] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM Clo=
ckPM Segments MSI HPX-Type3]
[    0.985658] PCI host bridge to bus 0000:00
[    0.985661] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 windo=
w]
[    0.985663] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff windo=
w]
[    0.985664] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bff=
ff window]
[    0.985666] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000dff=
ff window]
[    0.985667] pci_bus 0000:00: root bus resource [mem 0xcff00000-0xfebfff=
ff window]
[    0.985669] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.985698] pci 0000:00:00.0: [1002:5a11] type 00 class 0x060000
[    0.985737] pci 0000:00:00.0: [Firmware Bug]: reg 0x1c: invalid BAR (ca=
n't size)
[    0.985985] pci 0000:00:00.2: [1002:5a23] type 00 class 0x080600
[    0.986219] pci 0000:00:02.0: [1002:5a16] type 01 class 0x060400
[    0.986286] pci 0000:00:02.0: enabling Extended Tags
[    0.986361] pci 0000:00:02.0: PME# supported from D0 D3hot D3cold
[    0.986547] pci 0000:00:05.0: [1002:5a19] type 01 class 0x060400
[    0.986612] pci 0000:00:05.0: enabling Extended Tags
[    0.986686] pci 0000:00:05.0: PME# supported from D0 D3hot D3cold
[    0.986843] pci 0000:00:06.0: [1002:5a1a] type 01 class 0x060400
[    0.986910] pci 0000:00:06.0: enabling Extended Tags
[    0.986984] pci 0000:00:06.0: PME# supported from D0 D3hot D3cold
[    0.987142] pci 0000:00:07.0: [1002:5a1b] type 01 class 0x060400
[    0.987208] pci 0000:00:07.0: enabling Extended Tags
[    0.987281] pci 0000:00:07.0: PME# supported from D0 D3hot D3cold
[    0.987450] pci 0000:00:0d.0: [1002:5a1e] type 01 class 0x060400
[    0.987515] pci 0000:00:0d.0: enabling Extended Tags
[    0.987587] pci 0000:00:0d.0: PME# supported from D0 D3hot D3cold
[    0.987767] pci 0000:00:11.0: [1002:4391] type 00 class 0x010601
[    0.987795] pci 0000:00:11.0: reg 0x10: [io  0xff00-0xff07]
[    0.987810] pci 0000:00:11.0: reg 0x14: [io  0xfe00-0xfe03]
[    0.987825] pci 0000:00:11.0: reg 0x18: [io  0xfd00-0xfd07]
[    0.987840] pci 0000:00:11.0: reg 0x1c: [io  0xfc00-0xfc03]
[    0.987855] pci 0000:00:11.0: reg 0x20: [io  0xfb00-0xfb0f]
[    0.987871] pci 0000:00:11.0: reg 0x24: [mem 0xfdfff000-0xfdfff3ff]
[    0.988082] pci 0000:00:12.0: [1002:4397] type 00 class 0x0c0310
[    0.988110] pci 0000:00:12.0: reg 0x10: [mem 0xfdffe000-0xfdffefff]
[    0.988341] pci 0000:00:12.2: [1002:4396] type 00 class 0x0c0320
[    0.988369] pci 0000:00:12.2: reg 0x10: [mem 0xfdffd000-0xfdffd0ff]
[    0.988505] pci 0000:00:12.2: supports D1 D2
[    0.988506] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[    0.988652] pci 0000:00:13.0: [1002:4397] type 00 class 0x0c0310
[    0.988680] pci 0000:00:13.0: reg 0x10: [mem 0xfdffc000-0xfdffcfff]
[    0.988909] pci 0000:00:13.2: [1002:4396] type 00 class 0x0c0320
[    0.988937] pci 0000:00:13.2: reg 0x10: [mem 0xfdffb000-0xfdffb0ff]
[    0.989073] pci 0000:00:13.2: supports D1 D2
[    0.989074] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[    0.989223] pci 0000:00:14.0: [1002:4385] type 00 class 0x0c0500
[    0.989468] pci 0000:00:14.3: [1002:439d] type 00 class 0x060100
[    0.989711] pci 0000:00:14.4: [1002:4384] type 01 class 0x060401
[    0.989913] pci 0000:00:14.5: [1002:4399] type 00 class 0x0c0310
[    0.989940] pci 0000:00:14.5: reg 0x10: [mem 0xfdffa000-0xfdffafff]
[    0.990168] pci 0000:00:16.0: [1002:4397] type 00 class 0x0c0310
[    0.990196] pci 0000:00:16.0: reg 0x10: [mem 0xfdff9000-0xfdff9fff]
[    0.990425] pci 0000:00:16.2: [1002:4396] type 00 class 0x0c0320
[    0.990453] pci 0000:00:16.2: reg 0x10: [mem 0xfdff8000-0xfdff80ff]
[    0.990589] pci 0000:00:16.2: supports D1 D2
[    0.990590] pci 0000:00:16.2: PME# supported from D0 D1 D2 D3hot
[    0.990748] pci 0000:00:18.0: [1022:1200] type 00 class 0x060000
[    0.990915] pci 0000:00:18.1: [1022:1201] type 00 class 0x060000
[    0.991063] pci 0000:00:18.2: [1022:1202] type 00 class 0x060000
[    0.991212] pci 0000:00:18.3: [1022:1203] type 00 class 0x060000
[    0.991378] pci 0000:00:18.4: [1022:1204] type 00 class 0x060000
[    0.991633] pci 0000:01:00.0: [1002:68f9] type 00 class 0x030000
[    0.991669] pci 0000:01:00.0: reg 0x10: [mem 0xd0000000-0xdfffffff 64bi=
t pref]
[    0.991691] pci 0000:01:00.0: reg 0x18: [mem 0xfddc0000-0xfdddffff 64bi=
t]
[    0.991706] pci 0000:01:00.0: reg 0x20: [io  0xee00-0xeeff]
[    0.991732] pci 0000:01:00.0: reg 0x30: [mem 0x00000000-0x0001ffff pref=
]
[    0.991744] pci 0000:01:00.0: enabling Extended Tags
[    0.991822] pci 0000:01:00.0: supports D1 D2
[    0.991942] pci 0000:01:00.1: [1002:aa68] type 00 class 0x040300
[    0.991975] pci 0000:01:00.1: reg 0x10: [mem 0xfddfc000-0xfddfffff 64bi=
t]
[    0.992049] pci 0000:01:00.1: enabling Extended Tags
[    0.992126] pci 0000:01:00.1: supports D1 D2
[    1.002963] pci 0000:00:02.0: PCI bridge to [bus 01]
[    1.002973] pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
[    1.002977] pci 0000:00:02.0:   bridge window [mem 0xfdd00000-0xfddffff=
f]
[    1.002985] pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdffffff=
f 64bit pref]
[    1.003068] pci 0000:00:05.0: PCI bridge to [bus 02]
[    1.003076] pci 0000:00:05.0:   bridge window [io  0xd000-0xdfff]
[    1.003081] pci 0000:00:05.0:   bridge window [mem 0xfdc00000-0xfdcffff=
f]
[    1.003088] pci 0000:00:05.0:   bridge window [mem 0xfdb00000-0xfdbffff=
f 64bit pref]
[    1.003149] pci 0000:00:06.0: PCI bridge to [bus 03]
[    1.003157] pci 0000:00:06.0:   bridge window [io  0xc000-0xcfff]
[    1.003161] pci 0000:00:06.0:   bridge window [mem 0xfda00000-0xfdaffff=
f]
[    1.003169] pci 0000:00:06.0:   bridge window [mem 0xfd900000-0xfd9ffff=
f 64bit pref]
[    1.003263] pci 0000:04:00.0: [10ec:8168] type 00 class 0x020000
[    1.003293] pci 0000:04:00.0: reg 0x10: [io  0xbe00-0xbeff]
[    1.003331] pci 0000:04:00.0: reg 0x18: [mem 0xfd5ff000-0xfd5fffff 64bi=
t pref]
[    1.003356] pci 0000:04:00.0: reg 0x20: [mem 0xfd5f8000-0xfd5fbfff 64bi=
t pref]
[    1.003372] pci 0000:04:00.0: reg 0x30: [mem 0x00000000-0x0001ffff pref=
]
[    1.003512] pci 0000:04:00.0: supports D1 D2
[    1.003514] pci 0000:04:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    1.014959] pci 0000:00:07.0: PCI bridge to [bus 04]
[    1.014968] pci 0000:00:07.0:   bridge window [io  0xb000-0xbfff]
[    1.014973] pci 0000:00:07.0:   bridge window [mem 0xfd600000-0xfd6ffff=
f]
[    1.014980] pci 0000:00:07.0:   bridge window [mem 0xfd500000-0xfd5ffff=
f 64bit pref]
[    1.015082] pci 0000:05:00.0: [8086:150e] type 00 class 0x020000
[    1.015109] pci 0000:05:00.0: reg 0x10: [mem 0xfd280000-0xfd2fffff]
[    1.015150] pci 0000:05:00.0: reg 0x1c: [mem 0xfd4fc000-0xfd4fffff]
[    1.015309] pci 0000:05:00.0: PME# supported from D0 D3hot D3cold
[    1.015455] pci 0000:05:00.1: [8086:150e] type 00 class 0x020000
[    1.015482] pci 0000:05:00.1: reg 0x10: [mem 0xfd380000-0xfd3fffff]
[    1.015523] pci 0000:05:00.1: reg 0x1c: [mem 0xfd4f8000-0xfd4fbfff]
[    1.015674] pci 0000:05:00.1: PME# supported from D0 D3hot D3cold
[    1.015786] pci 0000:05:00.2: [8086:150e] type 00 class 0x020000
[    1.015813] pci 0000:05:00.2: reg 0x10: [mem 0xfd400000-0xfd47ffff]
[    1.015854] pci 0000:05:00.2: reg 0x1c: [mem 0xfd4f4000-0xfd4f7fff]
[    1.016004] pci 0000:05:00.2: PME# supported from D0 D3hot D3cold
[    1.016120] pci 0000:05:00.3: [8086:150e] type 00 class 0x020000
[    1.016150] pci 0000:05:00.3: reg 0x10: [mem 0xfd300000-0xfd37ffff]
[    1.016192] pci 0000:05:00.3: reg 0x1c: [mem 0xfd4f0000-0xfd4f3fff]
[    1.016342] pci 0000:05:00.3: PME# supported from D0 D3hot D3cold
[    1.026955] pci 0000:00:0d.0: PCI bridge to [bus 05]
[    1.026964] pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
[    1.026968] pci 0000:00:0d.0:   bridge window [mem 0xfd200000-0xfd4ffff=
f]
[    1.026975] pci 0000:00:0d.0:   bridge window [mem 0xfde00000-0xfdeffff=
f 64bit pref]
[    1.026997] pci_bus 0000:06: extended config space not accessible
[    1.027050] pci 0000:06:06.0: [1102:0004] type 00 class 0x040100
[    1.027082] pci 0000:06:06.0: reg 0x10: [io  0x9f00-0x9f3f]
[    1.027232] pci 0000:06:06.0: supports D1 D2
[    1.027329] pci 0000:06:06.1: [1102:7003] type 00 class 0x098000
[    1.027358] pci 0000:06:06.1: reg 0x10: [io  0x9e00-0x9e07]
[    1.027506] pci 0000:06:06.1: supports D1 D2
[    1.028069] pci 0000:06:06.2: [1102:4001] type 00 class 0x0c0010
[    1.028102] pci 0000:06:06.2: reg 0x10: [mem 0xfd8ff000-0xfd8ff7ff]
[    1.028120] pci 0000:06:06.2: reg 0x14: [mem 0xfd8f8000-0xfd8fbfff]
[    1.028258] pci 0000:06:06.2: supports D1 D2
[    1.028259] pci 0000:06:06.2: PME# supported from D0 D1 D2 D3hot
[    1.028944] pci 0000:00:14.4: PCI bridge to [bus 06] (subtractive decod=
e)
[    1.028950] pci 0000:00:14.4:   bridge window [io  0x9000-0x9fff]
[    1.028955] pci 0000:00:14.4:   bridge window [mem 0xfd800000-0xfd8ffff=
f]
[    1.028961] pci 0000:00:14.4:   bridge window [mem 0xfd700000-0xfd7ffff=
f pref]
[    1.028963] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7 window=
] (subtractive decode)
[    1.028964] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff window=
] (subtractive decode)
[    1.028966] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bfff=
f window] (subtractive decode)
[    1.028967] pci 0000:00:14.4:   bridge window [mem 0x000c0000-0x000dfff=
f window] (subtractive decode)
[    1.028968] pci 0000:00:14.4:   bridge window [mem 0xcff00000-0xfebffff=
f window] (subtractive decode)
[    1.029376] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 11) *0
[    1.029452] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 11) *0
[    1.029523] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 10 11) *0
[    1.029595] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 10 11) *0
[    1.029667] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11) *0
[    1.029736] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11) *0
[    1.029806] ACPI: PCI Interrupt Link [LNK0] (IRQs 3 4 5 6 7 10 11) *0
[    1.029877] ACPI: PCI Interrupt Link [LNK1] (IRQs 3 4 5 6 7 10 11) *0
[    1.029980] xen: registering gsi 13 triggering 1 polarity 0
[    1.030659] xen:balloon: Initialising balloon driver
[    1.030990] iommu: Default domain type: Translated
[    1.031011] pci 0000:01:00.0: vgaarb: setting as boot VGA device
[    1.031011] pci 0000:01:00.0: vgaarb: VGA device added: decodes=3Dio+me=
m,owns=3Dio+mem,locks=3Dnone
[    1.031011] pci 0000:01:00.0: vgaarb: bridge control possible
[    1.031011] vgaarb: loaded
[    1.031051] EDAC MC: Ver: 3.0.0
[    1.031225] NetLabel: Initializing
[    1.031225] NetLabel:  domain hash size =3D 128
[    1.031225] NetLabel:  protocols =3D UNLABELED CIPSOv4 CALIPSO
[    1.031225] NetLabel:  unlabeled traffic allowed by default
[    1.031225] PCI: Using ACPI for IRQ routing
[    1.045574] PCI: pci_cache_line_size set to 64 bytes
[    1.045707] e820: reserve RAM buffer [mem 0x0009b000-0x0009ffff]
[    1.045709] e820: reserve RAM buffer [mem 0x30065000-0x33ffffff]
[    1.046914] clocksource: Switched to clocksource tsc-early
[    1.063514] VFS: Disk quotas dquot_6.6.0
[    1.063538] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 byt=
es)
[    1.063573] hugetlbfs: disabling because there are no supported hugepag=
e sizes
[    1.063701] AppArmor: AppArmor Filesystem Enabled
[    1.063728] pnp: PnP ACPI init
[    1.063891] system 00:00: [io  0x04d0-0x04d1] has been reserved
[    1.063894] system 00:00: [io  0x0220-0x0225] has been reserved
[    1.063895] system 00:00: [io  0x0290-0x0294] has been reserved
[    1.063903] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (activ=
e)
[    1.064309] pnp 00:01: disabling [mem 0x00000000-0x00000fff window] bec=
ause it overlaps 0000:01:00.0 BAR 6 [mem 0x00000000-0x0001ffff pref]
[    1.064314] pnp 00:01: disabling [mem 0x00000000-0x00000fff window disa=
bled] because it overlaps 0000:04:00.0 BAR 6 [mem 0x00000000-0x0001ffff pr=
ef]
[    1.064347] system 00:01: [io  0x0900-0x091f] has been reserved
[    1.064349] system 00:01: [io  0x0228-0x022f] has been reserved
[    1.064351] system 00:01: [io  0x040b] has been reserved
[    1.064352] system 00:01: [io  0x04d6] has been reserved
[    1.064354] system 00:01: [io  0x0c00-0x0c01] has been reserved
[    1.064355] system 00:01: [io  0x0c14] has been reserved
[    1.064357] system 00:01: [io  0x0c50-0x0c52] has been reserved
[    1.064358] system 00:01: [io  0x0c6c-0x0c6d] has been reserved
[    1.064360] system 00:01: [io  0x0c6f] has been reserved
[    1.064361] system 00:01: [io  0x0cd0-0x0cd1] has been reserved
[    1.064363] system 00:01: [io  0x0cd2-0x0cd3] has been reserved
[    1.064365] system 00:01: [io  0x0cd4-0x0cdf] has been reserved
[    1.064366] system 00:01: [io  0x0800-0x08fe] has been reserved
[    1.064368] system 00:01: [io  0x0a10-0x0a17] has been reserved
[    1.064369] system 00:01: [io  0x0b00-0x0b0f] has been reserved
[    1.064371] system 00:01: [io  0x0b10-0x0b1f] has been reserved
[    1.064372] system 00:01: [io  0x0b20-0x0b3f] has been reserved
[    1.064375] system 00:01: [mem 0xfee00400-0xfee00fff window] has been r=
eserved
[    1.064379] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (activ=
e)
[    1.064579] xen: registering gsi 8 triggering 1 polarity 0
[    1.064607] pnp 00:02: Plug and Play ACPI device, IDs PNP0b00 (active)
[    1.065098] xen: registering gsi 1 triggering 1 polarity 0
[    1.065126] pnp 00:03: Plug and Play ACPI device, IDs PNP0303 (active)
[    1.065198] system 00:04: [mem 0xe0000000-0xefffffff] has been reserved
[    1.065203] system 00:04: Plug and Play ACPI device, IDs PNP0c02 (activ=
e)
[    1.065506] system 00:05: [mem 0x000d4200-0x000d7fff] could not be rese=
rved
[    1.065508] system 00:05: [mem 0x000f0000-0x000f7fff] could not be rese=
rved
[    1.065510] system 00:05: [mem 0x000f8000-0x000fbfff] could not be rese=
rved
[    1.065511] system 00:05: [mem 0x000fc000-0x000fffff] could not be rese=
rved
[    1.065513] system 00:05: [mem 0xcfcf0000-0xcfcfffff] could not be rese=
rved
[    1.065515] system 00:05: [mem 0xffff0000-0xffffffff] has been reserved
[    1.065516] system 00:05: [mem 0x00000000-0x0009ffff] could not be rese=
rved
[    1.065518] system 00:05: [mem 0x00100000-0xcfceffff] could not be rese=
rved
[    1.065520] system 00:05: [mem 0xcfd00000-0xcfdfffff] has been reserved
[    1.065521] system 00:05: [mem 0xcfe00000-0xcfefffff] has been reserved
[    1.065523] system 00:05: [mem 0xfec00000-0xfec00fff] could not be rese=
rved
[    1.065525] system 00:05: [mem 0xfee00000-0xfee00fff] could not be rese=
rved
[    1.065526] system 00:05: [mem 0xfff80000-0xfffeffff] has been reserved
[    1.065531] system 00:05: Plug and Play ACPI device, IDs PNP0c01 (activ=
e)
[    1.065553] pnp: PnP ACPI: found 6 devices
[    1.074071] PM-Timer failed consistency check  (0xffffff) - aborting.
[    1.074167] NET: Registered protocol family 2
[    1.074236] IP idents hash table entries: 16384 (order: 5, 131072 bytes=
, linear)
[    1.075204] tcp_listen_portaddr_hash hash table entries: 512 (order: 1,=
 8192 bytes, linear)
[    1.075292] TCP established hash table entries: 8192 (order: 4, 65536 b=
ytes, linear)
[    1.075338] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, =
linear)
[    1.075363] TCP: Hash tables configured (established 8192 bind 8192)
[    1.075442] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    1.075454] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, li=
near)
[    1.075529] NET: Registered protocol family 1
[    1.075536] NET: Registered protocol family 44
[    1.075561] pci 0000:01:00.0: BAR 6: assigned [mem 0xfdd00000-0xfdd1fff=
f pref]
[    1.075563] pci 0000:00:02.0: PCI bridge to [bus 01]
[    1.075573] pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
[    1.075580] pci 0000:00:02.0:   bridge window [mem 0xfdd00000-0xfddffff=
f]
[    1.075585] pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdffffff=
f 64bit pref]
[    1.075593] pci 0000:00:05.0: PCI bridge to [bus 02]
[    1.075596] pci 0000:00:05.0:   bridge window [io  0xd000-0xdfff]
[    1.075602] pci 0000:00:05.0:   bridge window [mem 0xfdc00000-0xfdcffff=
f]
[    1.075607] pci 0000:00:05.0:   bridge window [mem 0xfdb00000-0xfdbffff=
f 64bit pref]
[    1.075614] pci 0000:00:06.0: PCI bridge to [bus 03]
[    1.075617] pci 0000:00:06.0:   bridge window [io  0xc000-0xcfff]
[    1.075623] pci 0000:00:06.0:   bridge window [mem 0xfda00000-0xfdaffff=
f]
[    1.075628] pci 0000:00:06.0:   bridge window [mem 0xfd900000-0xfd9ffff=
f 64bit pref]
[    1.075636] pci 0000:04:00.0: BAR 6: assigned [mem 0xfd600000-0xfd61fff=
f pref]
[    1.075638] pci 0000:00:07.0: PCI bridge to [bus 04]
[    1.075641] pci 0000:00:07.0:   bridge window [io  0xb000-0xbfff]
[    1.075648] pci 0000:00:07.0:   bridge window [mem 0xfd600000-0xfd6ffff=
f]
[    1.075652] pci 0000:00:07.0:   bridge window [mem 0xfd500000-0xfd5ffff=
f 64bit pref]
[    1.075660] pci 0000:00:0d.0: PCI bridge to [bus 05]
[    1.075663] pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
[    1.075669] pci 0000:00:0d.0:   bridge window [mem 0xfd200000-0xfd4ffff=
f]
[    1.075673] pci 0000:00:0d.0:   bridge window [mem 0xfde00000-0xfdeffff=
f 64bit pref]
[    1.075682] pci 0000:00:14.4: PCI bridge to [bus 06]
[    1.075685] pci 0000:00:14.4:   bridge window [io  0x9000-0x9fff]
[    1.075692] pci 0000:00:14.4:   bridge window [mem 0xfd800000-0xfd8ffff=
f]
[    1.075698] pci 0000:00:14.4:   bridge window [mem 0xfd700000-0xfd7ffff=
f pref]
[    1.075709] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
[    1.075710] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
[    1.075712] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff wind=
ow]
[    1.075713] pci_bus 0000:00: resource 7 [mem 0x000c0000-0x000dffff wind=
ow]
[    1.075715] pci_bus 0000:00: resource 8 [mem 0xcff00000-0xfebfffff wind=
ow]
[    1.075716] pci_bus 0000:01: resource 0 [io  0xe000-0xefff]
[    1.075718] pci_bus 0000:01: resource 1 [mem 0xfdd00000-0xfddfffff]
[    1.075719] pci_bus 0000:01: resource 2 [mem 0xd0000000-0xdfffffff 64bi=
t pref]
[    1.075721] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    1.075722] pci_bus 0000:02: resource 1 [mem 0xfdc00000-0xfdcfffff]
[    1.075723] pci_bus 0000:02: resource 2 [mem 0xfdb00000-0xfdbfffff 64bi=
t pref]
[    1.075725] pci_bus 0000:03: resource 0 [io  0xc000-0xcfff]
[    1.075726] pci_bus 0000:03: resource 1 [mem 0xfda00000-0xfdafffff]
[    1.075728] pci_bus 0000:03: resource 2 [mem 0xfd900000-0xfd9fffff 64bi=
t pref]
[    1.075729] pci_bus 0000:04: resource 0 [io  0xb000-0xbfff]
[    1.075730] pci_bus 0000:04: resource 1 [mem 0xfd600000-0xfd6fffff]
[    1.075732] pci_bus 0000:04: resource 2 [mem 0xfd500000-0xfd5fffff 64bi=
t pref]
[    1.075733] pci_bus 0000:05: resource 0 [io  0xa000-0xafff]
[    1.075734] pci_bus 0000:05: resource 1 [mem 0xfd200000-0xfd4fffff]
[    1.075736] pci_bus 0000:05: resource 2 [mem 0xfde00000-0xfdefffff 64bi=
t pref]
[    1.075737] pci_bus 0000:06: resource 0 [io  0x9000-0x9fff]
[    1.075739] pci_bus 0000:06: resource 1 [mem 0xfd800000-0xfd8fffff]
[    1.075740] pci_bus 0000:06: resource 2 [mem 0xfd700000-0xfd7fffff pref=
]
[    1.075741] pci_bus 0000:06: resource 4 [io  0x0000-0x0cf7 window]
[    1.075743] pci_bus 0000:06: resource 5 [io  0x0d00-0xffff window]
[    1.075744] pci_bus 0000:06: resource 6 [mem 0x000a0000-0x000bffff wind=
ow]
[    1.075745] pci_bus 0000:06: resource 7 [mem 0x000c0000-0x000dffff wind=
ow]
[    1.075747] pci_bus 0000:06: resource 8 [mem 0xcff00000-0xfebfffff wind=
ow]
[    1.076017] xen: registering gsi 18 triggering 0 polarity 1
[    1.076046] xen: --> pirq=3D18 -> irq=3D18 (gsi=3D18)
[    1.095133] pci 0000:00:12.0: quirk_usb_early_handoff+0x0/0x710 took 18=
846 usecs
[    1.095266] xen: registering gsi 17 triggering 0 polarity 1
[    1.095288] xen: --> pirq=3D17 -> irq=3D17 (gsi=3D17)
[    1.095561] xen: registering gsi 18 triggering 0 polarity 1
[    1.095563] Already setup the GSI :18
[    1.115122] pci 0000:00:13.0: quirk_usb_early_handoff+0x0/0x710 took 19=
209 usecs
[    1.115254] xen: registering gsi 17 triggering 0 polarity 1
[    1.115256] Already setup the GSI :17
[    1.115533] xen: registering gsi 18 triggering 0 polarity 1
[    1.115535] Already setup the GSI :18
[    1.135122] pci 0000:00:14.5: quirk_usb_early_handoff+0x0/0x710 took 19=
238 usecs
[    1.135249] xen: registering gsi 18 triggering 0 polarity 1
[    1.135252] Already setup the GSI :18
[    1.155122] pci 0000:00:16.0: quirk_usb_early_handoff+0x0/0x710 took 19=
516 usecs
[    1.155258] xen: registering gsi 17 triggering 0 polarity 1
[    1.155261] Already setup the GSI :17
[    1.155444] pci 0000:01:00.0: Video device with shadowed ROM at [mem 0x=
000c0000-0x000dffff]
[    1.155493] pci 0000:01:00.1: D0 power state depends on 0000:01:00.0
[    1.155533] PCI: CLS 64 bytes, default 64
[    1.155650] Trying to unpack rootfs image as initramfs...
[    1.722743] Freeing initrd memory: 30100K
[    1.722874] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x25=
a5d0d4c9e, max_idle_ns: 440795295205 ns
[    1.722989] clocksource: Switched to clocksource tsc
[    1.723491] Initialise system trusted keyrings
[    1.723503] Key type blacklist registered
[    1.723669] workingset: timestamp_bits=3D36 max_order=3D18 bucket_order=
=3D0
[    1.725313] zbud: loaded
[    1.725791] integrity: Platform Keyring initialized
[    1.725794] Key type asymmetric registered
[    1.725796] Asymmetric key parser 'x509' registered
[    1.725806] Block layer SCSI generic (bsg) driver version 0.4 loaded (m=
ajor 251)
[    1.725912] io scheduler mq-deadline registered
[    1.726821] xen: registering gsi 18 triggering 0 polarity 1
[    1.726826] Already setup the GSI :18
[    1.727147] xen: registering gsi 17 triggering 0 polarity 1
[    1.727149] Already setup the GSI :17
[    1.727402] xen: registering gsi 18 triggering 0 polarity 1
[    1.727403] Already setup the GSI :18
[    1.727653] xen: registering gsi 19 triggering 0 polarity 1
[    1.727666] xen: --> pirq=3D19 -> irq=3D19 (gsi=3D19)
[    1.727917] xen: registering gsi 17 triggering 0 polarity 1
[    1.727919] Already setup the GSI :17
[    1.728129] shpchp: Standard Hot Plug PCI Controller Driver version: 0.=
4
[    1.728815] xen_mcelog: /dev/mcelog registered by Xen
[    1.729235] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.729785] Linux agpgart interface v0.103
[    1.730854] AMD-Vi: AMD IOMMUv2 functionality not available on this sys=
tem - This is not a bug.
[    1.731290] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq=
 1
[    1.731291] i8042: PNP: PS/2 appears to have AUX port disabled, if this=
 is incorrect please boot with i8042.nopnp
[    1.731458] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.731593] mousedev: PS/2 mouse device common for all mice
[    1.731646] rtc_cmos 00:02: RTC can wake from S4
[    1.731896] rtc_cmos 00:02: registered as rtc0
[    1.731963] rtc_cmos 00:02: setting system clock to 2023-03-09T19:14:24=
 UTC (1678389264)
[    1.731987] rtc_cmos 00:02: alarms up to one month, 242 bytes nvram
[    1.732081] ledtrig-cpu: registered to indicate activity on CPUs
[    1.732614] NET: Registered protocol family 10
[    1.747872] Segment Routing with IPv6
[    1.747896] mip6: Mobile IPv6
[    1.747899] NET: Registered protocol family 17
[    1.748025] mpls_gso: MPLS GSO support
[    1.748319] IPI shorthand broadcast: enabled
[    1.748336] sched_clock: Marking stable (1742645056, 5640484)->(1779002=
780, -30717240)
[    1.748577] registered taskstats version 1
[    1.748581] Loading compiled-in X.509 certificates
[    1.750360] input: AT Translated Set 2 keyboard as /devices/platform/i8=
042/serio0/input/input0
[    1.804637] Loaded X.509 cert 'Debian Secure Boot CA: 6ccece7e4c6c0d1f6=
149f3dd27dfcc5cbb419ea1'
[    1.804660] Loaded X.509 cert 'Debian Secure Boot Signer 2022 - linux: =
14011249c2675ea8e5148542202005810584b25f'
[    1.804711] zswap: loaded using pool lzo/zbud
[    1.805086] Key type .fscrypt registered
[    1.805088] Key type fscrypt-provisioning registered
[    1.805149] AppArmor: AppArmor sha1 policy hashing enabled
[    1.807320] Freeing unused decrypted memory: 2036K
[    1.808452] Freeing unused kernel image (initmem) memory: 2660K
[    1.826968] Write protecting the kernel read-only data: 22528k
[    1.834600] Freeing unused kernel image (text/rodata gap) memory: 2040K
[    1.834966] Freeing unused kernel image (rodata/data gap) memory: 632K
[    1.930846] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    1.930855] Run /init as init process
[    1.930856]   with arguments:
[    1.930857]     /init
[    1.930858]     placeholder
[    1.930859]   with environment:
[    1.930859]     HOME=3D/
[    1.930860]     TERM=3Dlinux
[    1.975734] udevd[111]: starting version 3.2.9
[    1.976278] random: udevd: uninitialized urandom read (16 bytes read)
[    1.976327] random: udevd: uninitialized urandom read (16 bytes read)
[    1.976347] random: udevd: uninitialized urandom read (16 bytes read)
[    1.978053] udevd[112]: starting eudev-3.2.9
[    2.012784] pps_core: LinuxPPS API ver. 1 registered
[    2.012787] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo=
 Giometti <giometti@linux.it>
[    2.014431] PTP clock support registered
[    2.015569] dca service started, version 1.12.1
[    2.026258] SCSI subsystem initialized
[    2.032087] igb: Intel(R) Gigabit Ethernet Network Driver
[    2.032090] igb: Copyright (c) 2007-2014 Intel Corporation.
[    2.032217] xen: registering gsi 17 triggering 0 polarity 1
[    2.032224] Already setup the GSI :17
[    2.044072] r8169 0000:04:00.0: can't disable ASPM; OS doesn't have ASP=
M control
[    2.044142] xen: registering gsi 19 triggering 0 polarity 1
[    2.044146] Already setup the GSI :19
[    2.052900] ACPI: bus type USB registered
[    2.052930] usbcore: registered new interface driver usbfs
[    2.052940] usbcore: registered new interface driver hub
[    2.052958] usbcore: registered new device driver usb
[    2.057117] r8169 0000:04:00.0 eth0: RTL8168d/8111d, 1c:6f:65:92:d2:20,=
 XID 283, IRQ 66
[    2.057120] r8169 0000:04:00.0 eth0: jumbo features [frames: 9194 bytes=
, tx checksumming: ko]
[    2.057182] ACPI Warning: SystemIO range 0x0000000000000B00-0x000000000=
0000B08 conflicts with OpRegion 0x0000000000000B00-0x0000000000000B0F (\SO=
R1) (20200925/utaddress-204)
[    2.057189] ACPI: If an ACPI driver is available for this device, you s=
hould use it instead of the native driver
[    2.057982] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.059243] ehci-pci: EHCI PCI platform driver
[    2.060258] xen: registering gsi 17 triggering 0 polarity 1
[    2.060264] Already setup the GSI :17
[    2.060286] QUIRK: Enable AMD PLL fix
[    2.060318] ehci-pci 0000:00:12.2: EHCI Host Controller
[    2.060327] ehci-pci 0000:00:12.2: new USB bus registered, assigned bus=
 number 1
[    2.060331] ehci-pci 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 =
EHCI dummy qh workaround
[    2.060345] ehci-pci 0000:00:12.2: debug port 1
[    2.060428] ehci-pci 0000:00:12.2: irq 17, io mem 0xfdffd000
[    2.061287] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.065308] xen: registering gsi 21 triggering 0 polarity 1
[    2.065332] xen: --> pirq=3D21 -> irq=3D21 (gsi=3D21)
[    2.074007] libata version 3.00 loaded.
[    2.074927] ehci-pci 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    2.075029] usb usb1: New USB device found, idVendor=3D1d6b, idProduct=
=3D0002, bcdDevice=3D 5.10
[    2.075031] usb usb1: New USB device strings: Mfr=3D3, Product=3D2, Ser=
ialNumber=3D1
[    2.075033] usb usb1: Product: EHCI Host Controller
[    2.075034] usb usb1: Manufacturer: Linux 5.10.0-21-amd64 ehci_hcd
[    2.075035] usb usb1: SerialNumber: 0000:00:12.2
[    2.075194] hub 1-0:1.0: USB hub found
[    2.075205] hub 1-0:1.0: 5 ports detected
[    2.075634] xen: registering gsi 17 triggering 0 polarity 1
[    2.075638] Already setup the GSI :17
[    2.075680] ehci-pci 0000:00:13.2: EHCI Host Controller
[    2.075693] ehci-pci 0000:00:13.2: new USB bus registered, assigned bus=
 number 2
[    2.075698] ehci-pci 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 =
EHCI dummy qh workaround
[    2.075711] ehci-pci 0000:00:13.2: debug port 1
[    2.075775] ehci-pci 0000:00:13.2: irq 17, io mem 0xfdffb000
[    2.079392] ahci 0000:00:11.0: version 3.0
[    2.079533] xen: registering gsi 19 triggering 0 polarity 1
[    2.079536] Already setup the GSI :19
[    2.079718] ahci 0000:00:11.0: AHCI 0001.0200 32 slots 6 ports 6 Gbps 0=
x3f impl SATA mode
[    2.079721] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pm=
p pio slum part
[    2.080737] scsi host0: ahci
[    2.083096] scsi host1: ahci
[    2.083326] scsi host2: ahci
[    2.083517] scsi host3: ahci
[    2.083696] scsi host4: ahci
[    2.085658] igb 0000:05:00.0: added PHC on eth1
[    2.085661] igb 0000:05:00.0: Intel(R) Gigabit Ethernet Network Connect=
ion
[    2.085663] igb 0000:05:00.0: eth1: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b=
:44:44
[    2.085665] igb 0000:05:00.0: eth1: PBA No: Unknown
[    2.085667] igb 0000:05:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 =
tx queue(s)
[    2.085783] xen: registering gsi 18 triggering 0 polarity 1
[    2.085786] Already setup the GSI :18
[    2.091044] scsi host5: ahci
[    2.091122] ata1: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff1=
00 irq 67
[    2.091124] ata2: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff1=
80 irq 67
[    2.091126] ata3: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff2=
00 irq 67
[    2.091128] ata4: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff2=
80 irq 67
[    2.091130] ata5: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff3=
00 irq 67
[    2.091132] ata6: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff3=
80 irq 67
[    2.094959] ehci-pci 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    2.095056] usb usb2: New USB device found, idVendor=3D1d6b, idProduct=
=3D0002, bcdDevice=3D 5.10
[    2.095058] usb usb2: New USB device strings: Mfr=3D3, Product=3D2, Ser=
ialNumber=3D1
[    2.095060] usb usb2: Product: EHCI Host Controller
[    2.095061] usb usb2: Manufacturer: Linux 5.10.0-21-amd64 ehci_hcd
[    2.095062] usb usb2: SerialNumber: 0000:00:13.2
[    2.095222] hub 2-0:1.0: USB hub found
[    2.095233] hub 2-0:1.0: 5 ports detected
[    2.095669] xen: registering gsi 17 triggering 0 polarity 1
[    2.095672] Already setup the GSI :17
[    2.095710] ehci-pci 0000:00:16.2: EHCI Host Controller
[    2.095717] ehci-pci 0000:00:16.2: new USB bus registered, assigned bus=
 number 3
[    2.095721] ehci-pci 0000:00:16.2: applying AMD SB700/SB800/Hudson-2/3 =
EHCI dummy qh workaround
[    2.095734] ehci-pci 0000:00:16.2: debug port 1
[    2.095795] ehci-pci 0000:00:16.2: irq 17, io mem 0xfdff8000
[    2.114936] ehci-pci 0000:00:16.2: USB 2.0 started, EHCI 1.00
[    2.115007] usb usb3: New USB device found, idVendor=3D1d6b, idProduct=
=3D0002, bcdDevice=3D 5.10
[    2.115009] usb usb3: New USB device strings: Mfr=3D3, Product=3D2, Ser=
ialNumber=3D1
[    2.115010] usb usb3: Product: EHCI Host Controller
[    2.115012] usb usb3: Manufacturer: Linux 5.10.0-21-amd64 ehci_hcd
[    2.115013] usb usb3: SerialNumber: 0000:00:16.2
[    2.115178] hub 3-0:1.0: USB hub found
[    2.115189] hub 3-0:1.0: 4 ports detected
[    2.122987] firewire_ohci 0000:06:06.2: added OHCI v1.10 device as card=
 0, 4 IR + 8 IT contexts, quirks 0x2
[    2.137070] igb 0000:05:00.1: added PHC on eth2
[    2.137072] igb 0000:05:00.1: Intel(R) Gigabit Ethernet Network Connect=
ion
[    2.137074] igb 0000:05:00.1: eth2: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b=
:44:45
[    2.137076] igb 0000:05:00.1: eth2: PBA No: Unknown
[    2.137077] igb 0000:05:00.1: Using MSI-X interrupts. 4 rx queue(s), 4 =
tx queue(s)
[    2.137186] xen: registering gsi 19 triggering 0 polarity 1
[    2.137189] Already setup the GSI :19
[    2.188652] igb 0000:05:00.2: added PHC on eth3
[    2.188655] igb 0000:05:00.2: Intel(R) Gigabit Ethernet Network Connect=
ion
[    2.188656] igb 0000:05:00.2: eth3: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b=
:44:46
[    2.188658] igb 0000:05:00.2: eth3: PBA No: Unknown
[    2.188660] igb 0000:05:00.2: Using MSI-X interrupts. 4 rx queue(s), 4 =
tx queue(s)
[    2.188756] xen: registering gsi 16 triggering 0 polarity 1
[    2.188773] xen: --> pirq=3D16 -> irq=3D16 (gsi=3D16)
[    2.240261] igb 0000:05:00.3: added PHC on eth4
[    2.240263] igb 0000:05:00.3: Intel(R) Gigabit Ethernet Network Connect=
ion
[    2.240265] igb 0000:05:00.3: eth4: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b=
:44:47
[    2.240267] igb 0000:05:00.3: eth4: PBA No: Unknown
[    2.240268] igb 0000:05:00.3: Using MSI-X interrupts. 4 rx queue(s), 4 =
tx queue(s)
[    2.405954] ata1: SATA link down (SStatus 0 SControl 300)
[    2.405980] ata3: SATA link down (SStatus 0 SControl 300)
[    2.406009] ata2: SATA link down (SStatus 0 SControl 300)
[    2.406035] ata4: SATA link down (SStatus 0 SControl 300)
[    2.406089] ata6: SATA link down (SStatus 0 SControl 300)
[    2.566965] ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    2.567714] ata5.00: supports DRM functions and may not be fully access=
ible
[    2.567752] ata5.00: ATA-10: CT2000MX500SSD1, M3CR045, max UDMA/133
[    2.567754] ata5.00: 3907029168 sectors, multi 1: LBA48 NCQ (depth 32),=
 AA
[    2.568396] ata5.00: supports DRM functions and may not be fully access=
ible
[    2.568939] ata5.00: configured for UDMA/133
[    2.569141] scsi 4:0:0:0: Direct-Access     ATA      CT2000MX500SSD1  0=
45  PQ: 0 ANSI: 5
[    2.570640] ohci-pci: OHCI PCI platform driver
[    2.571172] xen: registering gsi 18 triggering 0 polarity 1
[    2.571176] Already setup the GSI :18
[    2.571205] ohci-pci 0000:00:12.0: OHCI PCI host controller
[    2.571213] ohci-pci 0000:00:12.0: new USB bus registered, assigned bus=
 number 4
[    2.571275] ohci-pci 0000:00:12.0: irq 18, io mem 0xfdffe000
[    2.622000] sd 4:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00=
 TB/1.82 TiB)
[    2.622003] sd 4:0:0:0: [sda] 4096-byte physical blocks
[    2.622036] sd 4:0:0:0: [sda] Write Protect is off
[    2.622040] sd 4:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.622095] sd 4:0:0:0: [sda] Write cache: enabled, read cache: enabled=
, doesn't support DPO or FUA
[    2.639006] usb usb4: New USB device found, idVendor=3D1d6b, idProduct=
=3D0001, bcdDevice=3D 5.10
[    2.639009] usb usb4: New USB device strings: Mfr=3D3, Product=3D2, Ser=
ialNumber=3D1
[    2.639011] usb usb4: Product: OHCI PCI host controller
[    2.639012] usb usb4: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
[    2.639013] usb usb4: SerialNumber: 0000:00:12.0
[    2.639185] hub 4-0:1.0: USB hub found
[    2.639197] hub 4-0:1.0: 5 ports detected
[    2.639648]  sda: sda1 sda2 sda3 sda4
[    2.639675] xen: registering gsi 18 triggering 0 polarity 1
[    2.639679] Already setup the GSI :18
[    2.639714] ohci-pci 0000:00:13.0: OHCI PCI host controller
[    2.639727] ohci-pci 0000:00:13.0: new USB bus registered, assigned bus=
 number 5
[    2.639768] ohci-pci 0000:00:13.0: irq 18, io mem 0xfdffc000
[    2.647129] firewire_core 0000:06:06.2: created device fw0: GUID 00023c=
009103cf43, S400
[    2.655455] sd 4:0:0:0: [sda] supports TCG Opal
[    2.655457] sd 4:0:0:0: [sda] Attached SCSI disk
[    2.657982] sd 4:0:0:0: Attached scsi generic sg0 type 0
[    2.702206] device-mapper: uevent: version 1.0.3
[    2.702326] device-mapper: ioctl: 4.43.0-ioctl (2020-10-01) initialised=
: dm-devel@redhat.com
[    2.707005] usb usb5: New USB device found, idVendor=3D1d6b, idProduct=
=3D0001, bcdDevice=3D 5.10
[    2.707008] usb usb5: New USB device strings: Mfr=3D3, Product=3D2, Ser=
ialNumber=3D1
[    2.707010] usb usb5: Product: OHCI PCI host controller
[    2.707011] usb usb5: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
[    2.707012] usb usb5: SerialNumber: 0000:00:13.0
[    2.707550] hub 5-0:1.0: USB hub found
[    2.707564] hub 5-0:1.0: 5 ports detected
[    2.708108] xen: registering gsi 18 triggering 0 polarity 1
[    2.708116] Already setup the GSI :18
[    2.708182] ohci-pci 0000:00:14.5: OHCI PCI host controller
[    2.708193] ohci-pci 0000:00:14.5: new USB bus registered, assigned bus=
 number 6
[    2.708235] ohci-pci 0000:00:14.5: irq 18, io mem 0xfdffa000
[    2.775009] usb usb6: New USB device found, idVendor=3D1d6b, idProduct=
=3D0001, bcdDevice=3D 5.10
[    2.775014] usb usb6: New USB device strings: Mfr=3D3, Product=3D2, Ser=
ialNumber=3D1
[    2.775016] usb usb6: Product: OHCI PCI host controller
[    2.775017] usb usb6: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
[    2.775018] usb usb6: SerialNumber: 0000:00:14.5
[    2.775208] hub 6-0:1.0: USB hub found
[    2.775220] hub 6-0:1.0: 2 ports detected
[    2.775603] xen: registering gsi 18 triggering 0 polarity 1
[    2.775608] Already setup the GSI :18
[    2.775647] ohci-pci 0000:00:16.0: OHCI PCI host controller
[    2.775653] ohci-pci 0000:00:16.0: new USB bus registered, assigned bus=
 number 7
[    2.775711] ohci-pci 0000:00:16.0: irq 18, io mem 0xfdff9000
[    2.838984] usb usb7: New USB device found, idVendor=3D1d6b, idProduct=
=3D0001, bcdDevice=3D 5.10
[    2.838987] usb usb7: New USB device strings: Mfr=3D3, Product=3D2, Ser=
ialNumber=3D1
[    2.838988] usb usb7: Product: OHCI PCI host controller
[    2.838989] usb usb7: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
[    2.838990] usb usb7: SerialNumber: 0000:00:16.0
[    2.839161] hub 7-0:1.0: USB hub found
[    2.839172] hub 7-0:1.0: 4 ports detected
[    3.290940] usb 4-4: new full-speed USB device number 2 using ohci-pci
[    3.491993] usb 4-4: New USB device found, idVendor=3D046d, idProduct=
=3Dc52e, bcdDevice=3D23.01
[    3.491996] usb 4-4: New USB device strings: Mfr=3D1, Product=3D2, Seri=
alNumber=3D0
[    3.491998] usb 4-4: Product: USB Receiver
[    3.491999] usb 4-4: Manufacturer: Logitech
[    3.493007] random: udevd: uninitialized urandom read (16 bytes read)
[    3.504188] hid: raw HID events driver (C) Jiri Kosina
[    3.515367] usbcore: registered new interface driver usbhid
[    3.515369] usbhid: USB HID core driver
[    3.517685] input: Logitech USB Receiver as /devices/pci0000:00/0000:00=
:12.0/usb4/4-4/4-4:1.0/0003:046D:C52E.0001/input/input1
[    3.575184] hid-generic 0003:046D:C52E.0001: input,hidraw0: USB HID v1.=
11 Keyboard [Logitech USB Receiver] on usb-0000:00:12.0-4/input0
[    3.575637] input: Logitech USB Receiver Mouse as /devices/pci0000:00/0=
000:00:12.0/usb4/4-4/4-4:1.1/0003:046D:C52E.0002/input/input2
[    3.575770] input: Logitech USB Receiver Consumer Control as /devices/p=
ci0000:00/0000:00:12.0/usb4/4-4/4-4:1.1/0003:046D:C52E.0002/input/input3
[    3.634993] input: Logitech USB Receiver System Control as /devices/pci=
0000:00/0000:00:12.0/usb4/4-4/4-4:1.1/0003:046D:C52E.0002/input/input4
[    3.635144] hid-generic 0003:046D:C52E.0002: input,hiddev0,hidraw1: USB=
 HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:12.0-4/input1
[    3.958943] PM: Image not found (code -22)
[    4.114681] EXT4-fs (sda1): mounted filesystem with ordered data mode. =
Opts: (null)
[    4.193605] Not activating Mandatory Access Control as /sbin/tomoyo-ini=
t does not exist.
[    4.546985] udevd[415]: starting version 3.2.9
[    4.551496] random: udevd: uninitialized urandom read (16 bytes read)
[    4.551795] random: udevd: uninitialized urandom read (16 bytes read)
[    4.551816] random: udevd: uninitialized urandom read (16 bytes read)
[    4.561924] udevd[416]: starting eudev-3.2.9
[    4.625179] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP=
0C0C:00/input/input7
[    4.625221] ACPI: Power Button [PWRB]
[    4.625302] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/inp=
ut/input8
[    4.638960] ACPI: Power Button [PWRF]
[    4.853565] [drm] radeon kernel modesetting enabled.
[    4.865265] gameport gameport0: EMU10K1 is pci0000:06:06.1/gameport0, i=
o 0x9e00, speed 520kHz
[    4.865501] [drm:radeon_pci_probe [radeon]] *ERROR* radeon kernel modes=
etting for R600 or later requires firmware installed
[    4.865552] See https://wiki.debian.org/Firmware for information about =
missing firmware
[    4.883362] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
[    4.883468] sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO a=
ddress
[    4.883564] sp5100-tco sp5100-tco: initialized. heartbeat=3D60 sec (now=
ayout=3D0)
[    4.915478] input: PC Speaker as /devices/platform/pcspkr/input/input9
[    5.005953] xen: registering gsi 20 triggering 0 polarity 1
[    5.005986] xen: --> pirq=3D20 -> irq=3D20 (gsi=3D20)
[    5.014267] snd_emu10k1 0000:06:06.0: Installing spdif_bug patch: SB Au=
digy 2 Platinum [SB0240P]
[    5.034015] xen: registering gsi 19 triggering 0 polarity 1
[    5.034019] Already setup the GSI :19
[    5.095705] input: HDA ATI HDMI HDMI/DP,pcm=3D3 as /devices/pci0000:00/=
0000:00:02.0/0000:01:00.1/sound/card1/input10
[    7.023078] random: lvm: uninitialized urandom read (4 bytes read)
[    7.114956] Adding 1952764k swap on /dev/sda2.  Priority:-2 extents:1 a=
cross:1952764k SSFS
[    7.135431] EXT4-fs (sda1): re-mounted. Opts: errors=3Dremount-ro
[    7.541888] EXT4-fs (dm-0): mounted filesystem with ordered data mode. =
Opts: errors=3Dremount-ro
[    7.715152] random: dd: uninitialized urandom read (32 bytes read)
[    7.798196] r8169 0000:04:00.0: firmware: direct-loading firmware rtl_n=
ic/rtl8168d-2.fw
[    7.798214] r8169 0000:04:00.0: Unable to load firmware rtl_nic/rtl8168=
d-2.fw (-22)
[    7.799128] RTL8211B Gigabit Ethernet r8169-0-400:00: attached PHY driv=
er [RTL8211B Gigabit Ethernet] (mii_bus:phy_addr=3Dr8169-0-400:00, irq=3DI=
GNORE)
[    7.869251] r8169 0000:04:00.0 eth0: Link is Down
[    7.911901] bridge: filtering via arp/ip/ip6tables is no longer availab=
le by default. Update your scripts to load br_netfilter if you need this.
[    7.920807] xenbr0: port 1(eth0) entered blocking state
[    7.920811] xenbr0: port 1(eth0) entered disabled state
[    7.920895] device eth0 entered promiscuous mode
[    8.690956] random: crng init done
[    8.690959] random: 9 urandom warning(s) missed due to ratelimiting
[    9.782724] r8169 0000:04:00.0 eth0: Link is Up - 1Gbps/Full - flow con=
trol rx/tx
[    9.782742] xenbr0: port 1(eth0) entered blocking state
[    9.782743] xenbr0: port 1(eth0) entered forwarding state
[   10.106361] xen:xen_evtchn: Event-channel device installed
[   10.121419] xen_acpi_processor: Uploading Xen processor PM info

--trekuen-ab685f02-5785-4d56-a853-463f105083b0
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=hypervisor.log
Content-Transfer-Encoding: base64

KFhFTikgWGVuIHZlcnNpb24gNC4xNC41IChEZWJpYW4gNC4xNC41Kzg2LWcxYzM1NDc2N2Q1LTEp
IChwa2cteGVuLWRldmVsQGxpc3RzLmFsaW90aC5kZWJpYW4ub3JnKSAoeDg2XzY0LWxpbnV4LWdu
dS1nY2MgKERlYmlhbiAxMC4yLjEtNikgMTAuMi4xIDIwMjEwMTEwKSBkZWJ1Zz1uICBGcmkgTm92
ICA0IDE5OjI1OjQ2IFVUQyAyMDIyCihYRU4pIGJ1aWxkLWlkOiA4ODg2OTlhMzUxZDVjYmYyNzA1
MzQ0MjA1NTY1ZGQyMDQ3OWYxYjE0CihYRU4pIEJvb3Rsb2FkZXI6IEdSVUIgMi4wNi0zfmRlYjEx
dTUKKFhFTikgQ29tbWFuZCBsaW5lOiBwbGFjZWhvbGRlciBkb20wX21lbT03NjhNLG1heDo3NjhN
IGlvbW11PWRlYnVnIGxvZ2x2bD1hbGwgZ3Vlc3RfbG9nbHZsPWFsbAooWEVOKSBYZW4gaW1hZ2Ug
bG9hZCBiYXNlIGFkZHJlc3M6IDB4Y2Y0MDAwMDAKKFhFTikgVmlkZW8gaW5mb3JtYXRpb246CihY
RU4pICBWR0EgaXMgdGV4dCBtb2RlIDgweDI1LCBmb250IDh4MTYKKFhFTikgIFZCRS9EREMgbWV0
aG9kczogVjI7IEVESUQgdHJhbnNmZXIgdGltZTogMSBzZWNvbmRzCihYRU4pIERpc2MgaW5mb3Jt
YXRpb246CihYRU4pICBGb3VuZCAxIE1CUiBzaWduYXR1cmVzCihYRU4pICBGb3VuZCAxIEVERCBp
bmZvcm1hdGlvbiBzdHJ1Y3R1cmVzCihYRU4pIENQVSBWZW5kb3I6IEFNRCwgRmFtaWx5IDE2ICgw
eDEwKSwgTW9kZWwgNCAoMHg0KSwgU3RlcHBpbmcgMyAocmF3IDAwMTAwZjQzKQooWEVOKSBYZW4t
ZTgyMCBSQU0gbWFwOgooWEVOKSAgWzAwMDAwMDAwMDAwMDAwMDAsIDAwMDAwMDAwMDAwOWI3ZmZd
ICh1c2FibGUpCihYRU4pICBbMDAwMDAwMDAwMDA5ZjgwMCwgMDAwMDAwMDAwMDA5ZmZmZl0gKHJl
c2VydmVkKQooWEVOKSAgWzAwMDAwMDAwMDAwZjAwMDAsIDAwMDAwMDAwMDAwZmZmZmZdIChyZXNl
cnZlZCkKKFhFTikgIFswMDAwMDAwMDAwMTAwMDAwLCAwMDAwMDAwMGNmY2VmZmZmXSAodXNhYmxl
KQooWEVOKSAgWzAwMDAwMDAwY2ZjZjAwMDAsIDAwMDAwMDAwY2ZjZjBmZmZdIChBQ1BJIE5WUykK
KFhFTikgIFswMDAwMDAwMGNmY2YxMDAwLCAwMDAwMDAwMGNmY2ZmZmZmXSAoQUNQSSBkYXRhKQoo
WEVOKSAgWzAwMDAwMDAwY2ZkMDAwMDAsIDAwMDAwMDAwY2ZkZmZmZmZdIChyZXNlcnZlZCkKKFhF
TikgIFswMDAwMDAwMGUwMDAwMDAwLCAwMDAwMDAwMGVmZmZmZmZmXSAocmVzZXJ2ZWQpCihYRU4p
ICBbMDAwMDAwMDBmZWMwMDAwMCwgMDAwMDAwMDBmZmZmZmZmZl0gKHJlc2VydmVkKQooWEVOKSAg
WzAwMDAwMDAxMDAwMDAwMDAsIDAwMDAwMDA0MmZmZmZmZmZdICh1c2FibGUpCihYRU4pIEFDUEk6
IFJTRFAgMDAwRjYxMDAsIDAwMTQgKHIwIEdCVCAgICkKKFhFTikgQUNQSTogUlNEVCBDRkNGMTAw
MCwgMDA0NCAocjEgR0JUICAgIEdCVFVBQ1BJIDQyMzAyRTMxIEdCVFUgIDEwMTAxMDEpCihYRU4p
IEFDUEk6IEZBQ1AgQ0ZDRjEwODAsIDAwNzQgKHIxIEdCVCAgICBHQlRVQUNQSSA0MjMwMkUzMSBH
QlRVICAxMDEwMTAxKQooWEVOKSBBQ1BJOiBEU0RUIENGQ0YxMTAwLCA3QkUzIChyMSBHQlQgICAg
R0JUVUFDUEkgICAgIDEwMDAgTVNGVCAgMzAwMDAwMCkKKFhFTikgQUNQSTogRkFDUyBDRkNGMDAw
MCwgMDA0MAooWEVOKSBBQ1BJOiBTU0RUIENGQ0Y4REMwLCAwODhDIChyMSBQVExURCAgUE9XRVJO
T1cgICAgICAgIDEgIExUUCAgICAgICAgMSkKKFhFTikgQUNQSTogSFBFVCBDRkNGOTY4MCwgMDAz
OCAocjEgR0JUICAgIEdCVFVBQ1BJIDQyMzAyRTMxIEdCVFUgICAgICAgOTgpCihYRU4pIEFDUEk6
IE1DRkcgQ0ZDRjk2QzAsIDAwM0MgKHIxIEdCVCAgICBHQlRVQUNQSSA0MjMwMkUzMSBHQlRVICAx
MDEwMTAxKQooWEVOKSBBQ1BJOiBNQVRTIENGQ0Y5NzAwLCAwMDM0IChyMSBHQlQgICAgICAgICAg
ICAgICAgICAgIDAgICAgICAgICAgICAgMCkKKFhFTikgQUNQSTogVEFNRyBDRkNGOTc3MCwgMDIw
MiAocjEgR0JUICAgIEdCVCAgIEIwIDU0NTUzMTJFIEJHAQEgNTM0NTAxMDEpCihYRU4pIEFDUEk6
IEFQSUMgQ0ZDRjhEMDAsIDAwQkMgKHIxIEdCVCAgICBHQlRVQUNQSSA0MjMwMkUzMSBHQlRVICAx
MDEwMTAxKQooWEVOKSBBQ1BJOiBJVlJTIENGQ0Y5OUYwLCAwMEMwIChyMSAgQU1EICAgICBSRDg5
MFMgICAyMDIwMzEgQU1EICAgICAgICAgMCkKKFhFTikgU3lzdGVtIFJBTTogMTYzODBNQiAoMTY3
NzM2NzZrQikKKFhFTikgTm8gTlVNQSBjb25maWd1cmF0aW9uIGZvdW5kCihYRU4pIEZha2luZyBh
IG5vZGUgYXQgMDAwMDAwMDAwMDAwMDAwMC0wMDAwMDAwNDMwMDAwMDAwCihYRU4pIERvbWFpbiBo
ZWFwIGluaXRpYWxpc2VkCihYRU4pIGZvdW5kIFNNUCBNUC10YWJsZSBhdCAwMDBmNDZmMAooWEVO
KSBETUkgMi40IHByZXNlbnQuCihYRU4pIFVzaW5nIEFQSUMgZHJpdmVyIGRlZmF1bHQKKFhFTikg
QUNQSTogUE0tVGltZXIgSU8gUG9ydDogMHg4MDggKDMyIGJpdHMpCihYRU4pIEFDUEk6IFNMRUVQ
IElORk86IHBtMXhfY250WzE6ODA0LDE6MF0sIHBtMXhfZXZ0WzE6ODAwLDE6MF0KKFhFTikgQUNQ
STogICAgICAgICAgICAgd2FrZXVwX3ZlY1tjZmNmMDAwY10sIHZlY19zaXplWzIwXQooWEVOKSBB
Q1BJOiBMb2NhbCBBUElDIGFkZHJlc3MgMHhmZWUwMDAwMAooWEVOKSBBQ1BJOiBMQVBJQyAoYWNw
aV9pZFsweDAwXSBsYXBpY19pZFsweDAwXSBlbmFibGVkKQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNw
aV9pZFsweDAxXSBsYXBpY19pZFsweDAxXSBlbmFibGVkKQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNw
aV9pZFsweDAyXSBsYXBpY19pZFsweDAyXSBlbmFibGVkKQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNw
aV9pZFsweDAzXSBsYXBpY19pZFsweDAzXSBlbmFibGVkKQooWEVOKSBBQ1BJOiBMQVBJQyAoYWNw
aV9pZFsweDA0XSBsYXBpY19pZFsweDA0XSBkaXNhYmxlZCkKKFhFTikgQUNQSTogTEFQSUMgKGFj
cGlfaWRbMHgwNV0gbGFwaWNfaWRbMHgwNV0gZGlzYWJsZWQpCihYRU4pIEFDUEk6IExBUElDIChh
Y3BpX2lkWzB4MDZdIGxhcGljX2lkWzB4MDZdIGRpc2FibGVkKQooWEVOKSBBQ1BJOiBMQVBJQyAo
YWNwaV9pZFsweDA3XSBsYXBpY19pZFsweDA3XSBkaXNhYmxlZCkKKFhFTikgQUNQSTogTEFQSUNf
Tk1JIChhY3BpX2lkWzB4MDBdIGRmbCBkZmwgbGludFsweDFdKQooWEVOKSBBQ1BJOiBMQVBJQ19O
TUkgKGFjcGlfaWRbMHgwMV0gZGZsIGRmbCBsaW50WzB4MV0pCihYRU4pIEFDUEk6IExBUElDX05N
SSAoYWNwaV9pZFsweDAyXSBkZmwgZGZsIGxpbnRbMHgxXSkKKFhFTikgQUNQSTogTEFQSUNfTk1J
IChhY3BpX2lkWzB4MDNdIGRmbCBkZmwgbGludFsweDFdKQooWEVOKSBBQ1BJOiBMQVBJQ19OTUkg
KGFjcGlfaWRbMHgwNF0gZGZsIGRmbCBsaW50WzB4MV0pCihYRU4pIEFDUEk6IExBUElDX05NSSAo
YWNwaV9pZFsweDA1XSBkZmwgZGZsIGxpbnRbMHgxXSkKKFhFTikgQUNQSTogTEFQSUNfTk1JIChh
Y3BpX2lkWzB4MDZdIGRmbCBkZmwgbGludFsweDFdKQooWEVOKSBBQ1BJOiBMQVBJQ19OTUkgKGFj
cGlfaWRbMHgwN10gZGZsIGRmbCBsaW50WzB4MV0pCihYRU4pIEFDUEk6IElPQVBJQyAoaWRbMHgw
OF0gYWRkcmVzc1sweGZlYzAwMDAwXSBnc2lfYmFzZVswXSkKKFhFTikgSU9BUElDWzBdOiBhcGlj
X2lkIDgsIHZlcnNpb24gMzMsIGFkZHJlc3MgMHhmZWMwMDAwMCwgR1NJIDAtMjMKKFhFTikgQUNQ
STogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEgMCBnbG9iYWxfaXJxIDIgZGZsIGRmbCkKKFhF
TikgQUNQSTogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEgOSBnbG9iYWxfaXJxIDkgbG93IGxl
dmVsKQooWEVOKSBBQ1BJOiBJUlEwIHVzZWQgYnkgb3ZlcnJpZGUuCihYRU4pIEFDUEk6IElSUTIg
dXNlZCBieSBvdmVycmlkZS4KKFhFTikgQUNQSTogSVJROSB1c2VkIGJ5IG92ZXJyaWRlLgooWEVO
KSBFbmFibGluZyBBUElDIG1vZGU6ICBGbGF0LiAgVXNpbmcgMSBJL08gQVBJQ3MKKFhFTikgQUNQ
STogSFBFVCBpZDogMHgxMGI5YTIwMSBiYXNlOiAweGZlZDAwMDAwCihYRU4pIFBDSTogTUNGRyBj
b25maWd1cmF0aW9uIDA6IGJhc2UgZTAwMDAwMDAgc2VnbWVudCAwMDAwIGJ1c2VzIDAwIC0gZmYK
KFhFTikgUENJOiBNQ0ZHIGFyZWEgYXQgZTAwMDAwMDAgcmVzZXJ2ZWQgaW4gRTgyMAooWEVOKSBQ
Q0k6IFVzaW5nIE1DRkcgZm9yIHNlZ21lbnQgMDAwMCBidXMgMDAtZmYKKFhFTikgQU1ELVZpOiBG
b3VuZCBNU0kgY2FwYWJpbGl0eSBibG9jayBhdCAweDU0CihYRU4pIFVzaW5nIEFDUEkgKE1BRFQp
IGZvciBTTVAgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbgooWEVOKSBTTVA6IEFsbG93aW5nIDgg
Q1BVcyAoNCBob3RwbHVnIENQVXMpCihYRU4pIElSUSBsaW1pdHM6IDI0IEdTSSwgODA4IE1TSS9N
U0ktWAooWEVOKSBObyBTU0JEIGNvbnRyb2xzIGF2YWlsYWJsZQooWEVOKSBDUFUwOiA4MDAgLi4u
IDI2MDAgTUh6CihYRU4pIENQVTA6IEFNRCBGYW0xMGggbWFjaGluZSBjaGVjayByZXBvcnRpbmcg
ZW5hYmxlZAooWEVOKSBTcGVjdWxhdGl2ZSBtaXRpZ2F0aW9uIGZhY2lsaXRpZXM6CihYRU4pICAg
SGFyZHdhcmUgaGludHM6CihYRU4pICAgSGFyZHdhcmUgZmVhdHVyZXM6CihYRU4pICAgQ29tcGls
ZWQtaW4gc3VwcG9ydDogSU5ESVJFQ1RfVEhVTksgU0hBRE9XX1BBR0lORwooWEVOKSAgIFhlbiBz
ZXR0aW5nczogQlRJLVRodW5rIFJFVFBPTElORSwgU1BFQ19DVFJMOiBObywgT3RoZXI6IEJSQU5D
SF9IQVJERU4KKFhFTikgICBTdXBwb3J0IGZvciBIVk0gVk1zOiBSU0IKKFhFTikgICBTdXBwb3J0
IGZvciBQViBWTXM6IFJTQgooWEVOKSAgIFhQVEkgKDY0LWJpdCBQViBvbmx5KTogRG9tMCBkaXNh
YmxlZCwgRG9tVSBkaXNhYmxlZCAod2l0aG91dCBQQ0lEKQooWEVOKSAgIFBWIEwxVEYgc2hhZG93
aW5nOiBEb20wIGRpc2FibGVkLCBEb21VIGRpc2FibGVkCihYRU4pIFVzaW5nIHNjaGVkdWxlcjog
U01QIENyZWRpdCBTY2hlZHVsZXIgcmV2MiAoY3JlZGl0MikKKFhFTikgSW5pdGlhbGl6aW5nIENy
ZWRpdDIgc2NoZWR1bGVyCihYRU4pICBsb2FkX3ByZWNpc2lvbl9zaGlmdDogMTgKKFhFTikgIGxv
YWRfd2luZG93X3NoaWZ0OiAzMAooWEVOKSAgdW5kZXJsb2FkX2JhbGFuY2VfdG9sZXJhbmNlOiAw
CihYRU4pICBvdmVybG9hZF9iYWxhbmNlX3RvbGVyYW5jZTogLTMKKFhFTikgIHJ1bnF1ZXVlcyBh
cnJhbmdlbWVudDogc29ja2V0CihYRU4pICBjYXAgZW5mb3JjZW1lbnQgZ3JhbnVsYXJpdHk6IDEw
bXMKKFhFTikgbG9hZCB0cmFja2luZyB3aW5kb3cgbGVuZ3RoIDEwNzM3NDE4MjQgbnMKKFhFTikg
UGxhdGZvcm0gdGltZXIgaXMgMTQuMzE4TUh6IEhQRVQKKFhFTikgRGV0ZWN0ZWQgMjYxMS44MTEg
TUh6IHByb2Nlc3Nvci4KKFhFTikgYWx0IHRhYmxlIGZmZmY4MmQwNDA0NTEyOTAgLT4gZmZmZjgy
ZDA0MDQ1YzMzNAooWEVOKSBBTUQtVmk6IElWUlMgQmxvY2s6IEZvdW5kIHR5cGUgMHgxMCBmbGFn
cyAweDNlIGxlbiAweDkwIGlkIDB4MgooWEVOKSBBTUQtVmk6IFVzaW5nIElWSEQgdHlwZSAweDEw
CihYRU4pIEFNRC1WaTogQUNQSSBUYWJsZToKKFhFTikgQU1ELVZpOiAgU2lnbmF0dXJlIElWUlMK
KFhFTikgQU1ELVZpOiAgTGVuZ3RoIDB4YzAKKFhFTikgQU1ELVZpOiAgUmV2aXNpb24gMHgxCihY
RU4pIEFNRC1WaTogIENoZWNrU3VtIDB4YWMKKFhFTikgQU1ELVZpOiAgT0VNX0lkIEFNRCAgCihY
RU4pIEFNRC1WaTogIE9FTV9UYWJsZV9JZCBSRDg5MFMKKFhFTikgQU1ELVZpOiAgT0VNX1Jldmlz
aW9uIDB4MjAyMDMxCihYRU4pIEFNRC1WaTogIENyZWF0b3JfSWQgQU1EIAooWEVOKSBBTUQtVmk6
ICBDcmVhdG9yX1JldmlzaW9uIDAKKFhFTikgQU1ELVZpOiBJVlJTIEJsb2NrOiB0eXBlIDB4MTAg
ZmxhZ3MgMHgzZSBsZW4gMHg5MCBpZCAweDIKKFhFTikgQU1ELVZpOiBJVkhEIERldmljZSBFbnRy
eTogdHlwZSAweDMgaWQgMCBmbGFncyAwCihYRU4pIEFNRC1WaTogIERldl9JZCBSYW5nZTogMCAt
PiAweDIKKFhFTikgQU1ELVZpOiBJVkhEIERldmljZSBFbnRyeTogdHlwZSAweDIgaWQgMHgxMCBm
bGFncyAwCihYRU4pIEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6IHR5cGUgMHgzIGlkIDB4MTAw
IGZsYWdzIDAKKFhFTikgQU1ELVZpOiAgRGV2X0lkIFJhbmdlOiAweDEwMCAtPiAweDEwMQooWEVO
KSBBTUQtVmk6IElWSEQgRGV2aWNlIEVudHJ5OiB0eXBlIDB4MiBpZCAweDI4IGZsYWdzIDAKKFhF
TikgQU1ELVZpOiBJVkhEIERldmljZSBFbnRyeTogdHlwZSAweDIgaWQgMHgzMCBmbGFncyAwCihY
RU4pIEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6IHR5cGUgMHgyIGlkIDB4MzggZmxhZ3MgMAoo
WEVOKSBBTUQtVmk6IElWSEQgRGV2aWNlIEVudHJ5OiB0eXBlIDB4MiBpZCAweDQwMCBmbGFncyAw
CihYRU4pIEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6IHR5cGUgMHgyIGlkIDB4NjggZmxhZ3Mg
MAooWEVOKSBBTUQtVmk6IElWSEQgRGV2aWNlIEVudHJ5OiB0eXBlIDB4MyBpZCAweDUwMCBmbGFn
cyAwCihYRU4pIEFNRC1WaTogIERldl9JZCBSYW5nZTogMHg1MDAgLT4gMHg1MDMKKFhFTikgQU1E
LVZpOiBJVkhEIERldmljZSBFbnRyeTogdHlwZSAweDIgaWQgMHg4OCBmbGFncyAwCihYRU4pIEFN
RC1WaTogSVZIRCBEZXZpY2UgRW50cnk6IHR5cGUgMHgzIGlkIDB4OTAgZmxhZ3MgMAooWEVOKSBB
TUQtVmk6ICBEZXZfSWQgUmFuZ2U6IDB4OTAgLT4gMHg5MgooWEVOKSBBTUQtVmk6IElWSEQgRGV2
aWNlIEVudHJ5OiB0eXBlIDB4MyBpZCAweDk4IGZsYWdzIDAKKFhFTikgQU1ELVZpOiAgRGV2X0lk
IFJhbmdlOiAweDk4IC0+IDB4OWEKKFhFTikgQU1ELVZpOiBJVkhEIERldmljZSBFbnRyeTogdHlw
ZSAweDIgaWQgMHhhMCBmbGFncyAweGQ3CihYRU4pIEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6
IHR5cGUgMHgyIGlkIDB4YTMgZmxhZ3MgMAooWEVOKSBBTUQtVmk6IElWSEQgRGV2aWNlIEVudHJ5
OiB0eXBlIDB4MiBpZCAweGE0IGZsYWdzIDAKKFhFTikgQU1ELVZpOiBJVkhEIERldmljZSBFbnRy
eTogdHlwZSAweDQzIGlkIDB4NjAwIGZsYWdzIDAKKFhFTikgQU1ELVZpOiAgRGV2X0lkIFJhbmdl
OiAweDYwMCAtPiAweDZmZiBhbGlhcyAweGE0CihYRU4pIEFNRC1WaTogSVZIRCBEZXZpY2UgRW50
cnk6IHR5cGUgMHgyIGlkIDB4YTUgZmxhZ3MgMAooWEVOKSBBTUQtVmk6IElWSEQgRGV2aWNlIEVu
dHJ5OiB0eXBlIDB4MyBpZCAweGIwIGZsYWdzIDAKKFhFTikgQU1ELVZpOiAgRGV2X0lkIFJhbmdl
OiAweGIwIC0+IDB4YjIKKFhFTikgQU1ELVZpOiBJVkhEIERldmljZSBFbnRyeTogdHlwZSAweDQ4
IGlkIDAgZmxhZ3MgMHhkNwooWEVOKSBBTUQtVmk6IElWSEQgU3BlY2lhbDogMDAwMDowMDoxNC4w
IHZhcmlldHkgMHgyIGhhbmRsZSAwCihYRU4pIEFNRC1WaTogSVZIRCBEZXZpY2UgRW50cnk6IHR5
cGUgMHg0OCBpZCAwIGZsYWdzIDAKKFhFTikgQU1ELVZpOiBJVkhEIFNwZWNpYWw6IDAwMDA6MDA6
MDAuMSB2YXJpZXR5IDB4MSBoYW5kbGUgMHg4CihYRU4pIE5vIHNvdXRoYnJpZGdlIElPLUFQSUMg
Zm91bmQgaW4gSVZSUyB0YWJsZQooWEVOKSBBTUQtVmk6IEVycm9yIGluaXRpYWxpemF0aW9uCihY
RU4pIEkvTyB2aXJ0dWFsaXNhdGlvbiBkaXNhYmxlZAooWEVOKSBucl9zb2NrZXRzOiAyCihYRU4p
IEVOQUJMSU5HIElPLUFQSUMgSVJRcwooWEVOKSAgLT4gVXNpbmcgbmV3IEFDSyBtZXRob2QKKFhF
TikgLi5USU1FUjogdmVjdG9yPTB4RjAgYXBpYzE9MCBwaW4xPTIgYXBpYzI9LTEgcGluMj0tMQoo
WEVOKSBBbGxvY2F0ZWQgY29uc29sZSByaW5nIG9mIDMyIEtpQi4KKFhFTikgbXdhaXQtaWRsZTog
ZG9lcyBub3QgcnVuIG9uIGZhbWlseSAxNiBtb2RlbCA0CihYRU4pIEhWTTogQVNJRHMgZW5hYmxl
ZC4KKFhFTikgU1ZNOiBTdXBwb3J0ZWQgYWR2YW5jZWQgZmVhdHVyZXM6CihYRU4pICAtIE5lc3Rl
ZCBQYWdlIFRhYmxlcyAoTlBUKQooWEVOKSAgLSBMYXN0IEJyYW5jaCBSZWNvcmQgKExCUikgVmly
dHVhbGlzYXRpb24KKFhFTikgIC0gTmV4dC1SSVAgU2F2ZWQgb24gI1ZNRVhJVAooWEVOKSBIVk06
IFNWTSBlbmFibGVkCihYRU4pIEhWTTogSGFyZHdhcmUgQXNzaXN0ZWQgUGFnaW5nIChIQVApIGRl
dGVjdGVkCihYRU4pIEhWTTogSEFQIHBhZ2Ugc2l6ZXM6IDRrQiwgMk1CLCAxR0IKKFhFTikgYWx0
IHRhYmxlIGZmZmY4MmQwNDA0NTEyOTAgLT4gZmZmZjgyZDA0MDQ1YzMzNAooWEVOKSBDUFUxOiBO
byBpcnEgaGFuZGxlciBmb3IgdmVjdG9yIDI3IChJUlEgLTIxNDc0ODM2NDgpCihYRU4pIENQVTI6
IE5vIGlycSBoYW5kbGVyIGZvciB2ZWN0b3IgMjcgKElSUSAtMjE0NzQ4MzY0OCkKKFhFTikgQnJv
dWdodCB1cCA0IENQVXMKKFhFTikgQ1BVMzogTm8gaXJxIGhhbmRsZXIgZm9yIHZlY3RvciAyNyAo
SVJRIC0yMTQ3NDgzNjQ4KQooWEVOKSBTY2hlZHVsaW5nIGdyYW51bGFyaXR5OiBjcHUsIDEgQ1BV
IHBlciBzY2hlZC1yZXNvdXJjZQooWEVOKSBBZGRpbmcgY3B1IDAgdG8gcnVucXVldWUgMAooWEVO
KSAgRmlyc3QgY3B1IG9uIHJ1bnF1ZXVlLCBhY3RpdmF0aW5nCihYRU4pIEFkZGluZyBjcHUgMSB0
byBydW5xdWV1ZSAwCihYRU4pIEFkZGluZyBjcHUgMiB0byBydW5xdWV1ZSAwCihYRU4pIEFkZGlu
ZyBjcHUgMyB0byBydW5xdWV1ZSAwCihYRU4pIE1DQTogVXNlIGh3IHRocmVzaG9sZGluZyB0byBh
ZGp1c3QgcG9sbGluZyBmcmVxdWVuY3kKKFhFTikgbWNoZWNrX3BvbGw6IE1hY2hpbmUgY2hlY2sg
cG9sbGluZyB0aW1lciBzdGFydGVkLgooWEVOKSBYZW5vcHJvZmlsZTogQU1EIElCUyBkZXRlY3Rl
ZCAoMHgxZikKKFhFTikgSFBFVDogMCB0aW1lcnMgdXNhYmxlIGZvciBicm9hZGNhc3QgKDMgdG90
YWwpCihYRU4pIE5YIChFeGVjdXRlIERpc2FibGUpIHByb3RlY3Rpb24gYWN0aXZlCihYRU4pIERv
bTAgaGFzIG1heGltdW0gNjQ4IFBJUlFzCihYRU4pICoqKiBCdWlsZGluZyBhIFBWIERvbTAgKioq
CihYRU4pICBYZW4gIGtlcm5lbDogNjQtYml0LCBsc2IsIGNvbXBhdDMyCihYRU4pICBEb20wIGtl
cm5lbDogNjQtYml0LCBQQUUsIGxzYiwgcGFkZHIgMHgxMDAwMDAwIC0+IDB4M2EwMDAwMAooWEVO
KSBQSFlTSUNBTCBNRU1PUlkgQVJSQU5HRU1FTlQ6CihYRU4pICBEb20wIGFsbG9jLjogICAwMDAw
MDAwNDE4MDAwMDAwLT4wMDAwMDAwNDFjMDAwMDAwICgxNzI2OTkgcGFnZXMgdG8gYmUgYWxsb2Nh
dGVkKQooWEVOKSAgSW5pdC4gcmFtZGlzazogMDAwMDAwMDQyZTI5YjAwMC0+MDAwMDAwMDQyZmZm
ZjZhNAooWEVOKSBWSVJUVUFMIE1FTU9SWSBBUlJBTkdFTUVOVDoKKFhFTikgIExvYWRlZCBrZXJu
ZWw6IGZmZmZmZmZmODEwMDAwMDAtPmZmZmZmZmZmODNhMDAwMDAKKFhFTikgIEluaXQuIHJhbWRp
c2s6IDAwMDAwMDAwMDAwMDAwMDAtPjAwMDAwMDAwMDAwMDAwMDAKKFhFTikgIFBoeXMtTWFjaCBt
YXA6IDAwMDAwMDgwMDAwMDAwMDAtPjAwMDAwMDgwMDAxODAwMDAKKFhFTikgIFN0YXJ0IGluZm86
ICAgIGZmZmZmZmZmODNhMDAwMDAtPmZmZmZmZmZmODNhMDA0YjgKKFhFTikgIFhlbnN0b3JlIHJp
bmc6IDAwMDAwMDAwMDAwMDAwMDAtPjAwMDAwMDAwMDAwMDAwMDAKKFhFTikgIENvbnNvbGUgcmlu
ZzogIDAwMDAwMDAwMDAwMDAwMDAtPjAwMDAwMDAwMDAwMDAwMDAKKFhFTikgIFBhZ2UgdGFibGVz
OiAgIGZmZmZmZmZmODNhMDEwMDAtPmZmZmZmZmZmODNhMjIwMDAKKFhFTikgIEJvb3Qgc3RhY2s6
ICAgIGZmZmZmZmZmODNhMjIwMDAtPmZmZmZmZmZmODNhMjMwMDAKKFhFTikgIFRPVEFMOiAgICAg
ICAgIGZmZmZmZmZmODAwMDAwMDAtPmZmZmZmZmZmODNjMDAwMDAKKFhFTikgIEVOVFJZIEFERFJF
U1M6IGZmZmZmZmZmODJjM2QxYzAKKFhFTikgRG9tMCBoYXMgbWF4aW11bSA0IFZDUFVzCihYRU4p
IEluaXRpYWwgbG93IG1lbW9yeSB2aXJxIHRocmVzaG9sZCBzZXQgYXQgMHg0MDAwIHBhZ2VzLgoo
WEVOKSBTY3J1YmJpbmcgRnJlZSBSQU0gaW4gYmFja2dyb3VuZAooWEVOKSBTdGQuIExvZ2xldmVs
OiBBbGwKKFhFTikgR3Vlc3QgTG9nbGV2ZWw6IEFsbAooWEVOKSBYZW4gaXMgcmVsaW5xdWlzaGlu
ZyBWR0EgY29uc29sZS4KKFhFTikgKioqIFNlcmlhbCBpbnB1dCB0byBET00wICh0eXBlICdDVFJM
LWEnIHRocmVlIHRpbWVzIHRvIHN3aXRjaCBpbnB1dCkKKFhFTikgRnJlZWQgNjEya0IgaW5pdCBt
ZW1vcnkKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDowMC4wCihYRU4pIFBDSSBhZGQgZGV2
aWNlIDAwMDA6MDA6MDAuMgooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjAyLjAKKFhFTikg
UENJIGFkZCBkZXZpY2UgMDAwMDowMDowNS4wCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6
MDYuMAooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjA3LjAKKFhFTikgUENJIGFkZCBkZXZp
Y2UgMDAwMDowMDowZC4wCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTEuMAooWEVOKSBQ
Q0kgYWRkIGRldmljZSAwMDAwOjAwOjEyLjAKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDox
Mi4yCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTMuMAooWEVOKSBQQ0kgYWRkIGRldmlj
ZSAwMDAwOjAwOjEzLjIKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC4wCihYRU4pIFBD
SSBhZGQgZGV2aWNlIDAwMDA6MDA6MTQuMwooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjE0
LjQKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMDoxNC41CihYRU4pIFBDSSBhZGQgZGV2aWNl
IDAwMDA6MDA6MTYuMAooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjE2LjIKKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDAwMDowMDoxOC4wCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTgu
MQooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjE4LjIKKFhFTikgUENJIGFkZCBkZXZpY2Ug
MDAwMDowMDoxOC4zCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MTguNAooWEVOKSBQQ0kg
YWRkIGRldmljZSAwMDAwOjAxOjAwLjAKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowMTowMC4x
CihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDQ6MDAuMAooWEVOKSBQQ0kgYWRkIGRldmljZSAw
MDAwOjA1OjAwLjAKKFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowNTowMC4xCihYRU4pIFBDSSBh
ZGQgZGV2aWNlIDAwMDA6MDU6MDAuMgooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjA1OjAwLjMK
KFhFTikgUENJIGFkZCBkZXZpY2UgMDAwMDowNjowNi4wCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAw
MDA6MDY6MDYuMQooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjA2OjA2LjIK
--trekuen-ab685f02-5785-4d56-a853-463f105083b0
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=ivrs.dat
Content-Transfer-Encoding: base64

SVZSU8AAAAABrEFNRCAgAFJEODkwUwAAMSAgAEFNRCAAAAAAADQgAAAAAAAAAAAAED6QAAIAQAAA
AMP+AAAAAAAAABMAAAAAAwAAAAQCAAACEAAAAwABAAQBAQACKAAAAjAAAAI4AAACAAQAAmgAAAMA
BQAEAwUAAogAAAOQAAAEkgAAA5gAAASaAAACoADXAqMAAAKkAABDAAYAAKQAAAT/BgACpQAAA7AA
AASyAABIAADXAKAAAkgAAAAIAQAB
--trekuen-ab685f02-5785-4d56-a853-463f105083b0
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=ivrs.dsl
Content-Transfer-Encoding: quoted-printable

/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20200925 (64-bit version)
 * Copyright (c) 2000 - 2020 Intel Corporation
 *
 * Disassembly of ivrs.dat, Wed Mar  8 21:11:48 2023
 *
 * ACPI Data Table [IVRS]
 *
 * Format: [HexOffset DecimalOffset ByteLength]  FieldName : FieldValue
 */

[000h 0000   4]                    Signature : "IVRS"    [I/O Virtualizati=
on Reporting Structure]
[004h 0004   4]                 Table Length : 000000C0
[008h 0008   1]                     Revision : 01
[009h 0009   1]                     Checksum : AC
[00Ah 0010   6]                       Oem ID : "AMD  "
[010h 0016   8]                 Oem Table ID : "RD890S"
[018h 0024   4]                 Oem Revision : 00202031
[01Ch 0028   4]              Asl Compiler ID : "AMD "
[020h 0032   4]        Asl Compiler Revision : 00000000

[024h 0036   4]          Virtualization Info : 00203400
[028h 0040   8]                     Reserved : 0000000000000000

[030h 0048   1]                Subtable Type : 10 [Hardware Definition Blo=
ck]
[031h 0049   1]                        Flags : 3E
[032h 0050   2]                       Length : 0090
[034h 0052   2]                     DeviceId : 0002

[036h 0054   2]            Capability Offset : 0040
[038h 0056   8]                 Base Address : 00000000FEC30000
[040h 0064   2]            PCI Segment Group : 0000
[042h 0066   2]          Virtualization Info : 1300
[044h 0068   4]            Feature Reporting : 00000000

[048h 0072   1]                   Entry Type : 03
[049h 0073   2]                    Device ID : 0000
[04Bh 0075   1]                 Data Setting : 00

[04Ch 0076   1]                   Entry Type : 04
[04Dh 0077   2]                    Device ID : 0002
[04Fh 0079   1]                 Data Setting : 00

[050h 0080   1]                   Entry Type : 02
[051h 0081   2]                    Device ID : 0010
[053h 0083   1]                 Data Setting : 00

[054h 0084   1]                   Entry Type : 03
[055h 0085   2]                    Device ID : 0100
[057h 0087   1]                 Data Setting : 00

[058h 0088   1]                   Entry Type : 04
[059h 0089   2]                    Device ID : 0101
[05Bh 0091   1]                 Data Setting : 00

[05Ch 0092   1]                   Entry Type : 02
[05Dh 0093   2]                    Device ID : 0028
[05Fh 0095   1]                 Data Setting : 00

[060h 0096   1]                   Entry Type : 02
[061h 0097   2]                    Device ID : 0030
[063h 0099   1]                 Data Setting : 00

[064h 0100   1]                   Entry Type : 02
[065h 0101   2]                    Device ID : 0038
[067h 0103   1]                 Data Setting : 00

[068h 0104   1]                   Entry Type : 02
[069h 0105   2]                    Device ID : 0400
[06Bh 0107   1]                 Data Setting : 00

[06Ch 0108   1]                   Entry Type : 02
[06Dh 0109   2]                    Device ID : 0068
[06Fh 0111   1]                 Data Setting : 00

[070h 0112   1]                   Entry Type : 03
[071h 0113   2]                    Device ID : 0500
[073h 0115   1]                 Data Setting : 00

[074h 0116   1]                   Entry Type : 04
[075h 0117   2]                    Device ID : 0503
[077h 0119   1]                 Data Setting : 00

[078h 0120   1]                   Entry Type : 02
[079h 0121   2]                    Device ID : 0088
[07Bh 0123   1]                 Data Setting : 00

[07Ch 0124   1]                   Entry Type : 03
[07Dh 0125   2]                    Device ID : 0090
[07Fh 0127   1]                 Data Setting : 00

[080h 0128   1]                   Entry Type : 04
[081h 0129   2]                    Device ID : 0092
[083h 0131   1]                 Data Setting : 00

[084h 0132   1]                   Entry Type : 03
[085h 0133   2]                    Device ID : 0098
[087h 0135   1]                 Data Setting : 00

[088h 0136   1]                   Entry Type : 04
[089h 0137   2]                    Device ID : 009A
[08Bh 0139   1]                 Data Setting : 00

[08Ch 0140   1]                   Entry Type : 02
[08Dh 0141   2]                    Device ID : 00A0
[08Fh 0143   1]                 Data Setting : D7

[090h 0144   1]                   Entry Type : 02
[091h 0145   2]                    Device ID : 00A3
[093h 0147   1]                 Data Setting : 00

[094h 0148   1]                   Entry Type : 02
[095h 0149   2]                    Device ID : 00A4
[097h 0151   1]                 Data Setting : 00

[098h 0152   1]                   Entry Type : 43
[099h 0153   2]                    Device ID : 0600
[09Bh 0155   1]                 Data Setting : 00
[09Ch 0156   1]                     Reserved : 00
[09Dh 0157   2]        Source Used Device ID : 00A4
[09Fh 0159   1]                     Reserved : 00

[0A0h 0160   1]                   Entry Type : 04
[0A1h 0161   2]                    Device ID : 06FF
[0A3h 0163   1]                 Data Setting : 00

[0A4h 0164   1]                   Entry Type : 02
[0A5h 0165   2]                    Device ID : 00A5
[0A7h 0167   1]                 Data Setting : 00

[0A8h 0168   1]                   Entry Type : 03
[0A9h 0169   2]                    Device ID : 00B0
[0ABh 0171   1]                 Data Setting : 00

[0ACh 0172   1]                   Entry Type : 04
[0ADh 0173   2]                    Device ID : 00B2
[0AFh 0175   1]                 Data Setting : 00

[0B0h 0176   1]                   Entry Type : 48
[0B1h 0177   2]                    Device ID : 0000
[0B3h 0179   1]                 Data Setting : D7
[0B4h 0180   1]                       Handle : 00
[0B5h 0181   2]        Source Used Device ID : 00A0
[0B7h 0183   1]                      Variety : 02

[0B8h 0184   1]                   Entry Type : 48
[0B9h 0185   2]                    Device ID : 0000
[0BBh 0187   1]                 Data Setting : 00
[0BCh 0188   1]                       Handle : 08
[0BDh 0189   2]        Source Used Device ID : 0001
[0BFh 0191   1]                      Variety : 01

Raw Table Data: Length 192 (0xC0)

    0000: 49 56 52 53 C0 00 00 00 01 AC 41 4D 44 20 20 00  // IVRS......AM=
D  .
    0010: 52 44 38 39 30 53 00 00 31 20 20 00 41 4D 44 20  // RD890S..1  .=
AMD
    0020: 00 00 00 00 00 34 20 00 00 00 00 00 00 00 00 00  // .....4 .....=
....
    0030: 10 3E 90 00 02 00 40 00 00 00 C3 FE 00 00 00 00  // .>....@.....=
....
    0040: 00 00 00 13 00 00 00 00 03 00 00 00 04 02 00 00  // ............=
....
    0050: 02 10 00 00 03 00 01 00 04 01 01 00 02 28 00 00  // ............=
.(..
    0060: 02 30 00 00 02 38 00 00 02 00 04 00 02 68 00 00  // .0...8......=
.h..
    0070: 03 00 05 00 04 03 05 00 02 88 00 00 03 90 00 00  // ............=
....
    0080: 04 92 00 00 03 98 00 00 04 9A 00 00 02 A0 00 D7  // ............=
....
    0090: 02 A3 00 00 02 A4 00 00 43 00 06 00 00 A4 00 00  // ........C...=
....
    00A0: 04 FF 06 00 02 A5 00 00 03 B0 00 00 04 B2 00 00  // ............=
....
    00B0: 48 00 00 D7 00 A0 00 02 48 00 00 00 08 01 00 01  // H.......H...=
....

--trekuen-ab685f02-5785-4d56-a853-463f105083b0
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=lspci_vvv.log

00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890 Northbridge only single slot PCI-e GFX Hydra part (rev 02)
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] RD890 Northbridge only single slot PCI-e GFX Hydra part
	Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR- INTx-
	NUMA node: 0
	Region 3: Memory at <ignored> (64-bit, non-prefetchable)
	Capabilities: [f0] HyperTransport: MSI Mapping Enable+ Fixed+
	Capabilities: [c4] HyperTransport: Slave or Primary Interface
		Command: BaseUnitID=0 UnitCnt=20 MastHost- DefDir- DUL-
		Link Control 0: CFlE- CST- CFE- <LkFail- Init+ EOC- TXO- <CRCErr=0 IsocEn- LSEn- ExtCTL- 64b-
		Link Config 0: MLWI=16bit DwFcIn- MLWO=16bit DwFcOut- LWI=16bit DwFcInEn- LWO=16bit DwFcOutEn-
		Link Control 1: CFlE- CST- CFE- <LkFail+ Init- EOC+ TXO+ <CRCErr=0 IsocEn- LSEn- ExtCTL- 64b-
		Link Config 1: MLWI=8bit DwFcIn- MLWO=8bit DwFcOut- LWI=8bit DwFcInEn- LWO=8bit DwFcOutEn-
		Revision ID: 3.00
		Link Frequency 0: [b]
		Link Error 0: <Prot- <Ovfl- <EOC- CTLTm-
		Link Frequency Capability 0: 200MHz+ 300MHz- 400MHz+ 500MHz- 600MHz+ 800MHz+ 1.0GHz+ 1.2GHz+ 1.4GHz- 1.6GHz- Vend-
		Feature Capability: IsocFC+ LDTSTOP+ CRCTM- ECTLT- 64bA+ UIDRD-
		Link Frequency 1: 200MHz
		Link Error 1: <Prot- <Ovfl- <EOC- CTLTm-
		Link Frequency Capability 1: 200MHz- 300MHz- 400MHz- 500MHz- 600MHz- 800MHz- 1.0GHz- 1.2GHz- 1.4GHz- 1.6GHz- Vend-
		Error Handling: PFlE- OFlE- PFE- OFE- EOCFE- RFE- CRCFE- SERRFE- CF- RE- PNFE- ONFE- EOCNFE- RNFE- CRCNFE- SERRNFE-
		Prefetchable memory behind bridge Upper: 00-00
		Bus Number: 00
	Capabilities: [40] HyperTransport: Retry Mode
	Capabilities: [54] HyperTransport: UnitID Clumping
	Capabilities: [9c] HyperTransport: #1a
	Capabilities: [70] MSI: Enable- Count=1/4 Maskable- 64bit-
		Address: 00000000  Data: 0000

00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD/ATI] RD890S/RD990 I/O Memory Management Unit (IOMMU)
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] RD890S/RD990 I/O Memory Management Unit (IOMMU)
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 0
	NUMA node: 0
	Capabilities: [40] Secure device <?>
	Capabilities: [54] MSI: Enable- Count=1/1 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Capabilities: [64] HyperTransport: MSI Mapping Enable+ Fixed+

00:02.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GFX port 0) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 50
	NUMA node: 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 0000e000-0000efff [size=4K]
	Memory behind bridge: fdd00000-fddfffff [size=1M]
	Prefetchable memory behind bridge: 00000000d0000000-00000000dfffffff [size=256M]
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA+ VGA16- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Express (v2) Root Port (Slot+), MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0
			ExtTag+ RBE+
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 128 bytes
		DevSta:	CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us
			ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s (downgraded), Width x16 (ok)
			TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
		SltCap:	AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
			Slot #2, PowerLimit 75.000W; Interlock- NoCompl+
		SltCtl:	Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
			Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
		SltSta:	Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
			Changed: MRL- PresDet+ LinkState+
		RootCap: CRSVisible+
		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible+
		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- LN System CLS Not Supported, TPHComp- ExtTPHComp- ARIFwd+
			 AtomicOpsCap: Routing- 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis- LTR- OBFF Disabled, ARIFwd-
			 AtomicOpsCtl: ReqEn- EgressBlck-
		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit-
		Address: fee0f00c  Data: 41b8
	Capabilities: [b0] Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GFX port 0)
	Capabilities: [b8] HyperTransport: MSI Mapping Enable+ Fixed+
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [190 v1] Access Control Services
		ACSCap:	SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans+
		ACSCtl:	SrcValid+ TransBlk- ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans-
	Kernel driver in use: pcieport

00:05.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 1) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 51
	NUMA node: 0
	Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
	I/O behind bridge: 0000d000-0000dfff [size=4K]
	Memory behind bridge: fdc00000-fdcfffff [size=1M]
	Prefetchable memory behind bridge: 00000000fdb00000-00000000fdbfffff [size=1M]
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Express (v2) Root Port (Slot+), MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0
			ExtTag+ RBE+
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 128 bytes
		DevSta:	CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
		LnkCap:	Port #247, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us
			ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk-
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed unknown (downgraded), Width x16 (strange)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		SltCap:	AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
			Slot #5, PowerLimit 75.000W; Interlock- NoCompl+
		SltCtl:	Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
			Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
		SltSta:	Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- Interlock-
			Changed: MRL- PresDet- LinkState-
		RootCap: CRSVisible+
		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible+
		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- LN System CLS Not Supported, TPHComp- ExtTPHComp- ARIFwd+
			 AtomicOpsCap: Routing- 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis- LTR- OBFF Disabled, ARIFwd-
			 AtomicOpsCtl: ReqEn- EgressBlck-
		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit-
		Address: fee0f00c  Data: 41c0
	Capabilities: [b0] Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 1)
	Capabilities: [b8] HyperTransport: MSI Mapping Enable+ Fixed+
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [190 v1] Access Control Services
		ACSCap:	SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans+
		ACSCtl:	SrcValid+ TransBlk- ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans-
	Kernel driver in use: pcieport

00:06.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 2) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 52
	NUMA node: 0
	Bus: primary=00, secondary=03, subordinate=03, sec-latency=0
	I/O behind bridge: 0000c000-0000cfff [size=4K]
	Memory behind bridge: fda00000-fdafffff [size=1M]
	Prefetchable memory behind bridge: 00000000fd900000-00000000fd9fffff [size=1M]
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Express (v2) Root Port (Slot+), MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0
			ExtTag+ RBE+
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 128 bytes
		DevSta:	CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
		LnkCap:	Port #247, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us
			ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk-
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed unknown (downgraded), Width x16 (strange)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		SltCap:	AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
			Slot #6, PowerLimit 75.000W; Interlock- NoCompl+
		SltCtl:	Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
			Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
		SltSta:	Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet- Interlock-
			Changed: MRL- PresDet- LinkState-
		RootCap: CRSVisible+
		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible+
		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- LN System CLS Not Supported, TPHComp- ExtTPHComp- ARIFwd+
			 AtomicOpsCap: Routing- 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis- LTR- OBFF Disabled, ARIFwd-
			 AtomicOpsCtl: ReqEn- EgressBlck-
		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit-
		Address: fee0f00c  Data: 41c8
	Capabilities: [b0] Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 2)
	Capabilities: [b8] HyperTransport: MSI Mapping Enable+ Fixed+
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [190 v1] Access Control Services
		ACSCap:	SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans+
		ACSCtl:	SrcValid+ TransBlk- ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans-
	Kernel driver in use: pcieport

00:07.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 3) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 53
	NUMA node: 0
	Bus: primary=00, secondary=04, subordinate=04, sec-latency=0
	I/O behind bridge: 0000b000-0000bfff [size=4K]
	Memory behind bridge: fd600000-fd6fffff [size=1M]
	Prefetchable memory behind bridge: 00000000fd500000-00000000fd5fffff [size=1M]
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Express (v2) Root Port (Slot+), MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0
			ExtTag+ RBE+
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 128 bytes
		DevSta:	CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
		LnkCap:	Port #3, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us
			ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s (downgraded), Width x1 (ok)
			TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt-
		SltCap:	AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
			Slot #7, PowerLimit 75.000W; Interlock- NoCompl+
		SltCtl:	Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
			Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
		SltSta:	Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
			Changed: MRL- PresDet+ LinkState+
		RootCap: CRSVisible+
		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible+
		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- LN System CLS Not Supported, TPHComp- ExtTPHComp- ARIFwd+
			 AtomicOpsCap: Routing- 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis- LTR- OBFF Disabled, ARIFwd-
			 AtomicOpsCtl: ReqEn- EgressBlck-
		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit-
		Address: fee0f00c  Data: 41d8
	Capabilities: [b0] Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP Port 3)
	Capabilities: [b8] HyperTransport: MSI Mapping Enable+ Fixed+
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [190 v1] Access Control Services
		ACSCap:	SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans+
		ACSCtl:	SrcValid+ TransBlk- ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans-
	Kernel driver in use: pcieport

00:0d.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP2 Port 0) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 54
	NUMA node: 0
	Bus: primary=00, secondary=05, subordinate=05, sec-latency=0
	I/O behind bridge: 0000a000-0000afff [size=4K]
	Memory behind bridge: fd200000-fd4fffff [size=3M]
	Prefetchable memory behind bridge: 00000000fde00000-00000000fdefffff [size=1M]
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Express (v2) Root Port (Slot+), MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0
			ExtTag+ RBE+
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 128 bytes
		DevSta:	CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 5GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us
			ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 5GT/s (ok), Width x4 (ok)
			TrErr- Train- SlotClk+ DLActive+ BWMgmt+ ABWMgmt+
		SltCap:	AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
			Slot #13, PowerLimit 75.000W; Interlock- NoCompl+
		SltCtl:	Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
			Control: AttnInd Unknown, PwrInd Unknown, Power- Interlock-
		SltSta:	Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
			Changed: MRL- PresDet+ LinkState+
		RootCap: CRSVisible+
		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible+
		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- LN System CLS Not Supported, TPHComp- ExtTPHComp- ARIFwd+
			 AtomicOpsCap: Routing- 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 65ms to 210ms, TimeoutDis- LTR- OBFF Disabled, ARIFwd-
			 AtomicOpsCtl: ReqEn- EgressBlck-
		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit-
		Address: fee0f00c  Data: 41e0
	Capabilities: [b0] Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] RD890/RD9x0/RX980 PCI to PCI bridge (PCI Express GPP2 Port 0)
	Capabilities: [b8] HyperTransport: MSI Mapping Enable+ Fixed+
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [190 v1] Access Control Services
		ACSCap:	SrcValid+ TransBlk+ ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans+
		ACSCtl:	SrcValid+ TransBlk- ReqRedir+ CmpltRedir+ UpstreamFwd+ EgressCtrl- DirectTrans-
	Kernel driver in use: pcieport

00:11.0 SATA controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 SATA Controller [AHCI mode] (rev 40) (prog-if 01 [AHCI 1.0])
	Subsystem: Gigabyte Technology Co., Ltd GA-880GMA-USB3
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 67
	NUMA node: 0
	Region 0: I/O ports at ff00 [size=8]
	Region 1: I/O ports at fe00 [size=4]
	Region 2: I/O ports at fd00 [size=8]
	Region 3: I/O ports at fc00 [size=4]
	Region 4: I/O ports at fb00 [size=16]
	Region 5: Memory at fdfff000 (32-bit, non-prefetchable) [size=1K]
	Capabilities: [50] MSI: Enable+ Count=1/8 Maskable- 64bit+
		Address: 00000000fee0100c  Data: 4191
	Capabilities: [70] SATA HBA v1.0 InCfgSpace
	Capabilities: [a4] PCI Advanced Features
		AFCap: TP+ FLR+
		AFCtrl: FLR-
		AFStatus: TP-
	Kernel driver in use: ahci
	Kernel modules: ahci

00:12.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (prog-if 10 [OHCI])
	Subsystem: Gigabyte Technology Co., Ltd GA-880GMA-USB3
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 18
	NUMA node: 0
	Region 0: Memory at fdffe000 (32-bit, non-prefetchable) [size=4K]
	Kernel driver in use: ohci-pci
	Kernel modules: ohci_pci

00:12.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller (prog-if 20 [EHCI])
	Subsystem: Gigabyte Technology Co., Ltd GA-880GMA-USB3
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin B routed to IRQ 17
	NUMA node: 0
	Region 0: Memory at fdffd000 (32-bit, non-prefetchable) [size=256]
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
		Bridge: PM- B3+
	Capabilities: [e4] Debug port: BAR=1 offset=00e0
	Kernel driver in use: ehci-pci
	Kernel modules: ehci_pci

00:13.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (prog-if 10 [OHCI])
	Subsystem: Gigabyte Technology Co., Ltd GA-880GMA-USB3
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 18
	NUMA node: 0
	Region 0: Memory at fdffc000 (32-bit, non-prefetchable) [size=4K]
	Kernel driver in use: ohci-pci
	Kernel modules: ohci_pci

00:13.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller (prog-if 20 [EHCI])
	Subsystem: Gigabyte Technology Co., Ltd GA-880GMA-USB3
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin B routed to IRQ 17
	NUMA node: 0
	Region 0: Memory at fdffb000 (32-bit, non-prefetchable) [size=256]
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
		Bridge: PM- B3+
	Capabilities: [e4] Debug port: BAR=1 offset=00e0
	Kernel driver in use: ehci-pci
	Kernel modules: ehci_pci

00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 41)
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	NUMA node: 0
	Kernel modules: i2c_piix4, sp5100_tco

00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 LPC host controller (rev 40)
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 LPC host controller
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	NUMA node: 0

00:14.4 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 PCI to PCI Bridge (rev 40) (prog-if 01 [Subtractive decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop+ ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64
	NUMA node: 0
	Bus: primary=00, secondary=06, subordinate=06, sec-latency=64
	I/O behind bridge: 00009000-00009fff [size=4K]
	Memory behind bridge: fd800000-fd8fffff [size=1M]
	Prefetchable memory behind bridge: fd700000-fd7fffff [size=1M]
	Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-

00:14.5 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI2 Controller (prog-if 10 [OHCI])
	Subsystem: Gigabyte Technology Co., Ltd GA-880GMA-USB3
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin C routed to IRQ 18
	NUMA node: 0
	Region 0: Memory at fdffa000 (32-bit, non-prefetchable) [size=4K]
	Kernel driver in use: ohci-pci
	Kernel modules: ohci_pci

00:16.0 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB OHCI0 Controller (prog-if 10 [OHCI])
	Subsystem: Gigabyte Technology Co., Ltd GA-880GMA-USB3
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 18
	NUMA node: 0
	Region 0: Memory at fdff9000 (32-bit, non-prefetchable) [size=4K]
	Kernel driver in use: ohci-pci
	Kernel modules: ohci_pci

00:16.2 USB controller: Advanced Micro Devices, Inc. [AMD/ATI] SB7x0/SB8x0/SB9x0 USB EHCI Controller (prog-if 20 [EHCI])
	Subsystem: Gigabyte Technology Co., Ltd GA-880GMA-USB3
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32, Cache Line Size: 64 bytes
	Interrupt: pin B routed to IRQ 17
	NUMA node: 0
	Region 0: Memory at fdff8000 (32-bit, non-prefetchable) [size=256]
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
		Bridge: PM- B3+
	Capabilities: [e4] Debug port: BAR=1 offset=00e0
	Kernel driver in use: ehci-pci
	Kernel modules: ehci_pci

00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor HyperTransport Configuration
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	NUMA node: 0
	Capabilities: [80] HyperTransport: Host or Secondary Interface
		Command: WarmRst+ DblEnd- DevNum=0 ChainSide- HostHide+ Slave- <EOCErr- DUL-
		Link Control: CFlE- CST- CFE- <LkFail- Init+ EOC- TXO- <CRCErr=0 IsocEn- LSEn+ ExtCTL- 64b-
		Link Config: MLWI=16bit DwFcIn- MLWO=16bit DwFcOut- LWI=16bit DwFcInEn- LWO=16bit DwFcOutEn-
		Revision ID: 3.00
		Link Frequency: [b]
		Link Error: <Prot- <Ovfl- <EOC- CTLTm-
		Link Frequency Capability: 200MHz+ 300MHz- 400MHz+ 500MHz- 600MHz+ 800MHz+ 1.0GHz+ 1.2GHz+ 1.4GHz- 1.6GHz- Vend-
		Feature Capability: IsocFC+ LDTSTOP+ CRCTM- ECTLT- 64bA+ UIDRD- ExtRS- UCnfE-

00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Address Map
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	NUMA node: 0

00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor DRAM Controller
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	NUMA node: 0

00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Miscellaneous Control
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	NUMA node: 0
	Capabilities: [f0] Secure device <?>
	Kernel driver in use: k10temp
	Kernel modules: k10temp

00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 10h Processor Link Control
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	NUMA node: 0

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cedar [Radeon HD 5000/6000/7350/8350 Series] (prog-if 00 [VGA controller])
	Subsystem: Gigabyte Technology Co., Ltd Cedar [Radeon HD 5000/6000/7350/8350 Series]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 5
	NUMA node: 0
	Region 0: Memory at d0000000 (64-bit, prefetchable) [size=256M]
	Region 2: Memory at fddc0000 (64-bit, non-prefetchable) [size=128K]
	Region 4: I/O ports at ee00 [size=256]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s (ok), Width x16 (ok)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [150 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Kernel modules: radeon

01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Cedar HDMI Audio [Radeon HD 5400/6300/7300 Series]
	Subsystem: Gigabyte Technology Co., Ltd Cedar HDMI Audio [Radeon HD 5400/6300/7300 Series]
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin B routed to IRQ 95
	NUMA node: 0
	Region 0: Memory at fddfc000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [50] Power Management version 3
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [58] Express (v2) Legacy Endpoint, MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
			ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset-
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <64ns, L1 <1us
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s (ok), Width x16 (ok)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR-
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
		Address: 00000000fee0100c  Data: 41e2
	Capabilities: [100 v1] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
	Capabilities: [150 v1] Advanced Error Reporting
pcilib: sysfs_read_vpd: read failed: Input/output error
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 03)
	Subsystem: Gigabyte Technology Co., Ltd Onboard Ethernet
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 19
	NUMA node: 0
	Region 0: I/O ports at be00 [size=256]
	Region 2: Memory at fd5ff000 (64-bit, prefetchable) [size=4K]
	Region 4: Memory at fd5f8000 (64-bit, prefetchable) [size=16K]
	Expansion ROM at fd600000 [virtual] [disabled] [size=128K]
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Capabilities: [70] Express (v2) Endpoint, MSI 01
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 75.000W
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 4096 bytes
		DevSta:	CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr+ TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <64us
			ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s (ok), Width x1 (ok)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Not Supported, TimeoutDis+ NROPrPrP- LTR-
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- TPHComp- ExtTPHComp-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [ac] MSI-X: Enable+ Count=4 Masked-
		Vector table: BAR=4 offset=00000000
		PBA: BAR=4 offset=00000800
	Capabilities: [cc] Vital Product Data
		Not readable
	Capabilities: [100 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Capabilities: [140 v1] Virtual Channel
		Caps:	LPEVC=0 RefClk=100ns PATEntryBits=1
		Arb:	Fixed- WRR32- WRR64- WRR128-
		Ctrl:	ArbSelect=Fixed
		Status:	InProgress-
		VC0:	Caps:	PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
			Arb:	Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
			Ctrl:	Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
			Status:	NegoPending- InProgress-
	Capabilities: [160 v1] Device Serial Number 03-00-00-00-68-4c-e0-00
	Kernel driver in use: r8169
	Kernel modules: r8169

05:00.0 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)
	Subsystem: Intel Corporation Ethernet Server Adapter I340-T4
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 17
	NUMA node: 0
	Region 0: Memory at fd280000 (32-bit, non-prefetchable) [size=512K]
	Region 3: Memory at fd4fc000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
	Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
		Address: 0000000000000000  Data: 0000
		Masking: 00000000  Pending: 00000000
	Capabilities: [70] MSI-X: Enable+ Count=10 Masked-
		Vector table: BAR=3 offset=00000000
		PBA: BAR=3 offset=00002000
	Capabilities: [a0] Express (v2) Endpoint, MSI 00
		DevCap:	MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr+ TransPend-
		LnkCap:	Port #0, Speed 5GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 5GT/s (ok), Width x4 (ok)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- TPHComp+ ExtTPHComp-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [100 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Capabilities: [140 v1] Device Serial Number 00-1b-21-ff-ff-9b-44-44
	Capabilities: [1a0 v1] Transaction Processing Hints
		Device specific mode supported
		Steering table in TPH capability structure
	Capabilities: [1c0 v1] Latency Tolerance Reporting
		Max snoop latency: 0ns
		Max no snoop latency: 0ns
	Kernel driver in use: igb
	Kernel modules: igb

05:00.1 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)
	Subsystem: Intel Corporation Ethernet Server Adapter I340-T4
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin B routed to IRQ 18
	NUMA node: 0
	Region 0: Memory at fd380000 (32-bit, non-prefetchable) [size=512K]
	Region 3: Memory at fd4f8000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
	Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
		Address: 0000000000000000  Data: 0000
		Masking: 00000000  Pending: 00000000
	Capabilities: [70] MSI-X: Enable+ Count=10 Masked-
		Vector table: BAR=3 offset=00000000
		PBA: BAR=3 offset=00002000
	Capabilities: [a0] Express (v2) Endpoint, MSI 00
		DevCap:	MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr+ TransPend-
		LnkCap:	Port #0, Speed 5GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 5GT/s (ok), Width x4 (ok)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- TPHComp+ ExtTPHComp-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [100 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Capabilities: [140 v1] Device Serial Number 00-1b-21-ff-ff-9b-44-44
	Capabilities: [1a0 v1] Transaction Processing Hints
		Device specific mode supported
		Steering table in TPH capability structure
	Kernel driver in use: igb
	Kernel modules: igb

05:00.2 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)
	Subsystem: Intel Corporation Ethernet Server Adapter I340-T4
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin C routed to IRQ 19
	NUMA node: 0
	Region 0: Memory at fd400000 (32-bit, non-prefetchable) [size=512K]
	Region 3: Memory at fd4f4000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
	Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
		Address: 0000000000000000  Data: 0000
		Masking: 00000000  Pending: 00000000
	Capabilities: [70] MSI-X: Enable+ Count=10 Masked-
		Vector table: BAR=3 offset=00000000
		PBA: BAR=3 offset=00002000
	Capabilities: [a0] Express (v2) Endpoint, MSI 00
		DevCap:	MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr+ TransPend-
		LnkCap:	Port #0, Speed 5GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 5GT/s (ok), Width x4 (ok)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- TPHComp+ ExtTPHComp-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [100 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Capabilities: [140 v1] Device Serial Number 00-1b-21-ff-ff-9b-44-44
	Capabilities: [1a0 v1] Transaction Processing Hints
		Device specific mode supported
		Steering table in TPH capability structure
	Kernel driver in use: igb
	Kernel modules: igb

05:00.3 Ethernet controller: Intel Corporation 82580 Gigabit Network Connection (rev 01)
	Subsystem: Intel Corporation Ethernet Server Adapter I340-T4
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0, Cache Line Size: 64 bytes
	Interrupt: pin D routed to IRQ 16
	NUMA node: 0
	Region 0: Memory at fd300000 (32-bit, non-prefetchable) [size=512K]
	Region 3: Memory at fd4f0000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=1 PME-
	Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
		Address: 0000000000000000  Data: 0000
		Masking: 00000000  Pending: 00000000
	Capabilities: [70] MSI-X: Enable+ Count=10 Masked-
		Vector table: BAR=3 offset=00000000
		PBA: BAR=3 offset=00002000
	Capabilities: [a0] Express (v2) Endpoint, MSI 00
		DevCap:	MaxPayload 512 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0.000W
		DevCtl:	CorrErr- NonFatalErr- FatalErr- UnsupReq-
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr+ TransPend-
		LnkCap:	Port #0, Speed 5GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <1us, L1 <8us
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 5GT/s (ok), Width x4 (ok)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- TPHComp+ ExtTPHComp-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
			 EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [100 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Capabilities: [140 v1] Device Serial Number 00-1b-21-ff-ff-9b-44-44
	Capabilities: [1a0 v1] Transaction Processing Hints
		Device specific mode supported
		Steering table in TPH capability structure
	Kernel driver in use: igb
	Kernel modules: igb

06:06.0 Multimedia audio controller: Creative Labs EMU10k2/CA0100/CA0102/CA10200 [Sound Blaster Audigy Series] (rev 04)
	Subsystem: Creative Labs SB0240 Audigy 2 Platinum 6.1
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32 (500ns min, 5000ns max)
	Interrupt: pin A routed to IRQ 20
	NUMA node: 0
	Region 0: I/O ports at 9f00 [size=64]
	Capabilities: [dc] Power Management version 2
		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Kernel driver in use: snd_emu10k1
	Kernel modules: snd_emu10k1

06:06.1 Input device controller: Creative Labs SB Audigy Game Port (rev 04)
	Subsystem: Creative Labs SB Audigy2 MIDI/Game Port
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32
	NUMA node: 0
	Region 0: I/O ports at 9e00 [size=8]
	Capabilities: [dc] Power Management version 2
		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Kernel driver in use: Emu10k1_gameport
	Kernel modules: emu10k1_gp

06:06.2 FireWire (IEEE 1394): Creative Labs SB Audigy FireWire Port (rev 04) (prog-if 10 [OHCI])
	Subsystem: Creative Labs SB Audigy FireWire Port
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 32 (500ns min, 1000ns max), Cache Line Size: 64 bytes
	Interrupt: pin B routed to IRQ 21
	NUMA node: 0
	Region 0: Memory at fd8ff000 (32-bit, non-prefetchable) [size=2K]
	Region 1: Memory at fd8f8000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: [44] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME+
	Kernel driver in use: firewire_ohci
	Kernel modules: firewire_ohci


--trekuen-ab685f02-5785-4d56-a853-463f105083b0
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=xl_info.log
Content-Transfer-Encoding: quoted-printable

host                   : Gemini-Sector
release                : 5.10.0-21-amd64
version                : #1 SMP Debian 5.10.162-1 (2023-01-21)
machine                : x86_64
nr_cpus                : 4
max_cpu_id             : 7
nr_nodes               : 1
cores_per_socket       : 4
threads_per_core       : 1
cpu_mhz                : 2611.811
hw_caps                : 178bf3ff:00802001:ee500800:000037ff:00000000:0000=
0000:00000000:00000100
virt_caps              : pv hvm hap shadow
total_memory           : 16380
free_memory            : 15427
sharing_freed_memory   : 0
sharing_used_memory    : 0
outstanding_claims     : 0
free_cpus              : 0
xen_major              : 4
xen_minor              : 14
xen_extra              : .5
xen_version            : 4.14.5
xen_caps               : xen-3.0-x86_64 hvm-3.0-x86_32 hvm-3.0-x86_32p hvm=
-3.0-x86_64
xen_scheduler          : credit2
xen_pagesize           : 4096
platform_params        : virt_start=3D0xffff800000000000
xen_changeset          :
xen_commandline        : placeholder dom0_mem=3D768M,max:768M iommu=3Ddebu=
g loglvl=3Dall guest_loglvl=3Dall
cc_compiler            : x86_64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 202=
10110
cc_compile_by          : pkg-xen-devel
cc_compile_domain      : lists.alioth.debian.org
cc_compile_date        : Fri Nov  4 19:25:46 UTC 2022
build_id               : 888699a351d5cbf2705344205565dd20479f1b14
xend_config_format     : 4

--trekuen-ab685f02-5785-4d56-a853-463f105083b0--



From xen-devel-bounces@lists.xenproject.org Thu Mar 09 20:38:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 20:38:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508364.782983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paN1a-0006Jt-RN; Thu, 09 Mar 2023 20:38:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508364.782983; Thu, 09 Mar 2023 20:38:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paN1a-0006Jm-OW; Thu, 09 Mar 2023 20:38:06 +0000
Received: by outflank-mailman (input) for mailman id 508364;
 Thu, 09 Mar 2023 20:38: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=65Ms=7B=citrix.com=prvs=425245c8a=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1paN1Z-0006Jg-5X
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 20:38:05 +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 4681e6e9-beba-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 21:37:59 +0100 (CET)
Received: from mail-mw2nam12lp2041.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.41])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 09 Mar 2023 15:37:54 -0500
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB5813.namprd03.prod.outlook.com (2603:10b6:510:35::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Thu, 9 Mar
 2023 20:37:52 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.019; Thu, 9 Mar 2023
 20:37:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4681e6e9-beba-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678394279;
  h=message-id:date:subject:to:references:cc:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=vavPBTFiPsNgZnkGf0uBgt2DagTxUIpL0RO9CFJpYjY=;
  b=QRwbvZgGG9jieI9Is/Ka3xuddgLfg33LdBIkfUZbFUpY8pKv5Ea/YmTO
   Aammy9pL7dUovxjgqr4TuMp87agkHgxyqQtruyOq5JCgjBJrFPYK5Hw5C
   j0Pp2pMLGPzvcXBXTAse+qyzWQRw2r07G2NkXczj5uHr2c8XClnS1mcj5
   0=;
X-IronPort-RemoteIP: 104.47.66.41
X-IronPort-MID: 99602539
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:4YE6HK9kbKRM10Lh2aSIDrUDq3+TJUtcMsCJ2f8bNWPcYEJGY0x3m
 GYeWWmBa/aMYWbzfNEia4S39kMCucfVytQwSVA++Xs8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqga5AS2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklky
 NUcGBEcUiupgv+dkI6bdNFKv/gaeZyD0IM34hmMzBn/JNN/G9XmfP+P4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTaNilAouFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuqCdxKTuDjp5aGhnWdzF08OkU3XGeWmsurhA2GBuJ6K
 3Abr39GQa8asRbDosPGdwGxq36VuRgrVMdWO/I34keBx8L88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIVqf/LqJqTK5OQAOMHQPIyQDSGM4D8LLpYgyilfKUYxlGavs1NntQ2msm
 naNsTQ0gKgVgYgTzaKn8FvbgjWq4J/UUgoy4QaRVWWghu9kWLOYi0WTwQCzxZ59wEyxFzFtY
 FBsdxCi0d0z
IronPort-HdrOrdr: A9a23:wmrrYq6l4zs0yX8DfwPXwOfXdLJyesId70hD6qkRc20sTiX8ra
 qTdZsgpHrJYVoqKRMdcLO7WJVoI0mskqKdiLN5VdzCYODIghrKEGgI1/qF/9SPIVyGygef78
 tdmmpFZeHYPBxVi8D15QX9KdomzdWdtIi1mOa29QYIceinUc5dBs5CZDqmLg==
X-IronPort-AV: E=Sophos;i="5.98,247,1673931600"; 
   d="scan'208";a="99602539"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AhGBKCXTugaef2ONr59Z/PYV4rG0AJ7Nvjr9ovEyJLcGElqYeya1qM8dG71CUSV/xSRZHhqbi8bD4JHnzBDw4sfsWoKRmzncmQF6ZFJsWK07a/bwKLhnGsDmHcnBG9LLW6pbUkKZIAelBkwarNAvtrKZxDssiBeoUOJ1RIWjm0JMwtyto2SO1dPvVdEb2Ba1eahXOFIGRz+Xx/SZuZMzYOnO0ut6paqeNcqFs6spMqgwdFWxc+Y6dt2WmNtpz1/tP8XVaePnTQX9gpPyUOpOuGw21hyNwRuRH242XcEc5D+z50m1u7qSN4nbdXqjNJ9xZg9r0FZGTKissA3VgF7bGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X762uWGr8AqErXsFhTRawFm+W4LsH4MPhr5iRM2QoSM=;
 b=dBZBBlF0WQ5Js+VLqz3R97sou3DzS6PSknSdykX1QfI3GHOfyZZs/GFiAMwe1UBSk1ffIlwLR6xLGH5x+u8zenwDOEnjhGwWWjq58/JVqYPVcs8hWHpxyuMYGjd1NSsmJhW5pavWpCxuDG/O2OB77rNK4G1IwASGwatZjgasub9EPA5VwAT1PNz7/E3FeUpyn6Ef6NlvSsSNVeJnnZKdbhwY2xDcnAENydNRqgjYnJxGzAC9dNr0xgj7NEcB/8KOFZS6eEO4XVJ1JV+1O1tNtJwtgzANqXN6k2N0+EMeA+h3PsiRP2pMBRR56scbyUl5f4Rnzwr+Do5KepXg2d1h/Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X762uWGr8AqErXsFhTRawFm+W4LsH4MPhr5iRM2QoSM=;
 b=mKERNT1g02sK5K9WntXBjXkizxQ5Iy9XcIYAUhVr/GwpI1bfgpZhvj0IYBAHz9WcP3rHQNTpMpaThwomTcOHEwedJPsJ/ftnfADQJWc229/PRQRBtlK6iU2SVltfdYhPr1xRmZrZp4A4QBY8UFr0sueVgamhpKEQJVeUM0xVmNk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
Date: Thu, 9 Mar 2023 20:37:46 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from Xen
 4.0.1
Content-Language: en-GB
To: tachyon_gun@web.de, xen-devel@lists.xenproject.org
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LNXP265CA0068.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5d::32) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB5813:EE_
X-MS-Office365-Filtering-Correlation-Id: b27e2945-372e-460f-a242-08db20de2759
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UES6GYsXnQ29cDLCK2Mm1oggIxuU0sZ/dv5J5p0SycLQdSQilmPoGH7TkrEYRbTqsBWMMNFSMDsmIGYmbarmJh1uq3AlIF7bsquZXt1oW+m9tEIUA+LgsNe5K3ySrDEQGlO+NqibL6peVPo7SZybjnOehjj0HjlF/nccIU29qcOejB/OHV4eIZCBjVmwtt4/vRmK/cVfczIDunp9/4V/CrxbxCltYvPkI6pbYp+45N6MCESetVCAFkKXyitTUAyRSqhy8pkkohkS+xeG+8XPDnJRQGMaaMdbaP985blGRwOHXt2UElef4oWb6ZkPSsrhdwyHnRIrxyoDbLEGpvXVn1FDTlA2MpPZthnoWnbzRZ1G48Uno8OsB/0wR+Vl2BwcNBEFGS7Y0b0Wt3U1YaGIgeP891OE/a2wmslZMJGdaXORr9tDIoUAAhTzTIU0X8i4DYlT7T/XyrVqB0lc9+LOV/Q2BP1yzhY7A0C5voVhnf5Fo5RToYWsA9knwdxS4FFoGQIIMfpF2vlTdaRkrcV/cKtTKmobaKY1QWmz8rFDlsrrRM9Pg7QJ0UO69B2dvRr1KDFC7id/tJF536QVN65LL99esMzHjnsbv/dobOwGyLnAoccrdLlMswnVZ6L1+ywi1YQqhnZFAtirNJRtGLWBP1wd836AJG6KTgJV1rsLBFB/GJr3/1kdRcmkXvPnFFW2NBxtxj45uCgI705QtrvZl6Jx5YXW0GJIIPyUNfND1Jg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(346002)(136003)(396003)(376002)(39860400002)(451199018)(36756003)(186003)(6486002)(82960400001)(41300700001)(53546011)(107886003)(83380400001)(6506007)(26005)(6512007)(2616005)(6666004)(8936002)(66476007)(4326008)(8676002)(66946007)(2906002)(66556008)(5660300002)(316002)(86362001)(38100700002)(54906003)(478600001)(31696002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bmFUL0VDcE0yaFYxRUplR3VqMFFhb2l2amxLakc2aUpMZVdzZjFFcy90UHpU?=
 =?utf-8?B?dTA4R3J5ZnBrU3VFREphT2JSYTNrbzBQMVFVTG8zQTBBMlFsSmxLWVgrUlFW?=
 =?utf-8?B?anVIZ3VrMCtURnh0V0Q3am0zdVF2dHFxSFFVZkNIRlhvcmxwZ0NZaW5xaDE3?=
 =?utf-8?B?c2Zpa3BjWENXWWdTeWxPb2Q5NW5UZzRUVGF1RzVMSXR5K0owUm5paXl2YnpM?=
 =?utf-8?B?TU5QWUk4TkdvdHJCVnE1SjFqd1E3ams2UDVvb1E5NGRBRlNEYlVDd3NFTHps?=
 =?utf-8?B?V1N6RjJiYWxaTUpHYjlwRW5Cc3hZV2YrNTVvVVNpTWNlU0pZcnRpVHdOZHU0?=
 =?utf-8?B?bzk1Wm1Oc2dzMmZBdCtQWFNkanUzNWNvZ0lBY2gySTA1NlRYTmFtWU54blNy?=
 =?utf-8?B?MWxZUFdUUEtoa0VqcXgyek5KZDZKQkRTRElSeHAwK0JRdU1mUGZqdU1EOTl3?=
 =?utf-8?B?SFhEVmxtQ2l3SmVOMTFvaGx5c3JpcjZvOEpzTEdESys2R2x5M1pzMEFJeC9Z?=
 =?utf-8?B?Q3NkazFwZTMxSGZvMXYvRzY3Q3crVXN6dTlWbFo4d2ZES1VRaG5FVzVSU0E4?=
 =?utf-8?B?cnpTZXJZU1VWdlh3WVpiaDVhVEdUVEFDVTZjUitHVFRISExYQVhvc0NuQ29i?=
 =?utf-8?B?Vzg5NVVXQ2JNaXpJNWpQN2Z5elRDV3RDUUtuRWdId3JiaDk5a1cvdDRRRmhX?=
 =?utf-8?B?VGk2WGVQUmJDSFhZT2ExSHBiR3I1SmtneEczL1VaTmk2U3pBWmZjbmpoZ0tw?=
 =?utf-8?B?VVdSV3BYMWNGSzN1d2NDU0xseitSS0l0eDh0QThpYkh6VzU3aWEvSGZ2T0Iy?=
 =?utf-8?B?Yk81d21xcGZWakRmOXNJRll2MHRDM2ZFM0FpYTM3M1Bha3VNWEczaEtaUXVY?=
 =?utf-8?B?S2o5YVdFT0pzZTJPNnpmSVo0aFFXN2o1cFRwL2pzWHEwNHJuN2cwb2hFQWpW?=
 =?utf-8?B?cmZpYi9MVXJ1dlFWc1l4V1pJUm5LUXZaY1dmdkdPNnhISmUzVnFsYXBWcGk1?=
 =?utf-8?B?eitiK0p5R1IxeFFUOXlUSERhWGhVZmVVUXBJZFU1ZVM1eHJWWDJWSlo5N05a?=
 =?utf-8?B?UEpjRjg3UEFYN3R0R0I0YnkwdGRadVduWmJFTjdxY0gzWk5hOTRwMmhSS2hL?=
 =?utf-8?B?WmtIdlpJdlB3bTM5QUlKb3E2b1BUQnFsWkNsQUNES285UkVQZmdrdXV2djYv?=
 =?utf-8?B?em5CZXhIcWswZ1pacXlqeFZFcUJKMUZ6dTNrVkZ0bVZyN1BOSG9JTGlQTDZ3?=
 =?utf-8?B?NS83WjVkckk4SXg4ekliYVFqdUtmY1B5NXhIYU1NS1kyVmNXVWNza2pweFgy?=
 =?utf-8?B?YWk3ckxpNXhqY0NNVkdMeDBIczZGbkI4elhCbWdIQnVMNFhDbUh5Tmd3NDhk?=
 =?utf-8?B?REZ0R3I1T01Ta1d6N29RaUR1RXlISXJYWW5KZlBlM3h3Z1pMSjhkWHpXRWo2?=
 =?utf-8?B?QnNKbUw3UjBKdGloc09ZRWFQdEtoeXMxUzUwSmwwY21sOU1rL2ttb2JKRGtm?=
 =?utf-8?B?K3Jmc0FCR29jM3dBUkhyOHBHbGI3NldqWWFISWpCdXh5N211NTFSaXlXa3JK?=
 =?utf-8?B?WDRJUTZUSm1CSHVCcmNJOG04ZWtvZUxnMTNNYmFrU0xndkdZZUpwVER4cnhm?=
 =?utf-8?B?cUhNbWhPZjIrQUJxRWREZFpneDhDM0I1c2lwbWhCUG5HcUxFamlHTncwSlZN?=
 =?utf-8?B?RFVFejk2VTlGeFdQeUZRS0ZJY0dtcnpjL0xWYlJIZlFqWWE0R0tyVFJmOWV3?=
 =?utf-8?B?TFloWFlxaXZMQisyaThPT2VaUy94S3JQb1p3Z1BqdU1DZitUUVkwNXRQU0FX?=
 =?utf-8?B?Uis5K1BLcU1ZSHAvR0dTLzNmdm9KY2RsSGtyVEdHNStjUlQwSVB4aWdjd1py?=
 =?utf-8?B?bkRFNWt3amw5cFpUYllLUmZ4ZlVaNzNGRlpqZjZSbDBITUdOQ2NxZXlIdUYx?=
 =?utf-8?B?YndiWkx3dEtDTWEyYlJLNk5SZ0RGS3Z4Y3hERTNML3FZaUJIQ0psaEovcm9D?=
 =?utf-8?B?aTBNSGFOc3BuWldkT3pPOXRSNVdFU0pVUWNVOXJtT0w1eFZ2Zy94QlB3S051?=
 =?utf-8?B?MytqczlnSE5mMHNLeUcxZ2ZvUHF6VGR2NHR1SWJ1azcvRHFkWXQyUWR3V2Fo?=
 =?utf-8?B?R2xJdCtnK1ZUZlh5N3VmanFSWHJ3ZEZhT01sL29jbGR2RExuRXJzdDhuK2o2?=
 =?utf-8?B?Rmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	bFqGGcCd9immRvpyLEiKmtsGP7Ftc4UVyKpR7NZzGqEwkLB+qWJJZ+Z+057YbrO1Oy/ClPlDzdbDQwQwMXJzaYc66s8MFpoih5/aPKNRkicX4BMp0qCIOuvbbVFPDX+0pRluH6qAUpp2O4c1bphy/ltDw9EgTubr7d2y3+javFm20XyL7WX5lMlH8mn5k2nTzqg+7foqKwWX4kBb7VGBRtL0GRrRr5erB1qoKEa/CVm7wFkVJSOz4+KdUFYqYeZ5wLb6PjDBVFFBatJByQ43kfsMktAcr2Qkjosh1ui69fND1s3aEe1/A1GiSceGELzspEUw0UYRAMyYsCRLkUlsiB7dJl8g4I9gg9ewWkXnOihl7x7jUDIAr+zCmNxrxPOL1tqJmVIP1cRrLxMpKhlmP6t6zCOYtE+O7W0sXLpNmVRYE2qvwbhVQV4PgjFqMOy+GqIuWf67caBZ0U7zDXMKzvJUwvX16lZN7eraJAGjCxR8S4tK6q63myLuBx6In2vBvy6+jtRTznTUcpL+cgsSGbk/07sKIM6c8Tf8hcSr2jP9bxDOzrtfEAxzuzmdRtM0Dkc+gXWA9JgBVjAmr6txqzxkLRv8aCQxmvN4nAaLBZOpozVQ10fuGx0yIvO1Qeynk4UIPFPpoPMZKkF1KP/2xv6Lhsr2wXkqUtVTOeyG43MlqlTTWv8Mc8IUMs9Q0P+BHeWoPNwzt1nUQrH3dVbdpZuHn1weohL7YbSAgd1hTwVk39s/zUIctH7mF2tQQda/flVvRcuEL5UcbPOaMgJeyj8AkNiP1wRLPLz1nkb6Pyz0k93G4+8K5PpBr2nCJ8Ma
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b27e2945-372e-460f-a242-08db20de2759
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2023 20:37:52.1352
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vaS7kNwvygUFhjLGMSMufA7mGeV7ks79E4zypMV4g4O0dX8K6OOSPUheBUqngnCG7SOK6zP2xvbOAsC+D8ZRprl6Wi9dr6bDX4QyjX/DjXk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5813

On 09/03/2023 7:34 pm, tachyon_gun@web.de wrote:
> Subject:
> [help] Xen 4.14.5 on Devuan 4.0 Chimaera
> From:
> tachyon_gun@web.de
> Date:
> 09/03/2023, 7:34 pm
> 
> To:
> xen-devel@lists.xenproject.org
> 
> 
> Hello.
> 
> Following the advice of Andrew Cooper (thanks for helping out) over on
> OFTC.net in #xen, I'll post this here.
> If this is the wrong place, please move it to the right section of your
> mailing lists.
>  
> I got some problems running Xen 4.14.5 on Devuan 4.0.
>  
> The AMD-Vi and I/O virtualisation are not being enabled when booting up
> the host system with Xen.
>  
> Hardware used:
> Mainboard: Gigabyte GA-890FXA-UD5, BIOS version F6 (2010.11.24, the
> latest version)
> CPU: AMD Phenom II X4 910e
> Memory: 16GB
> Storage: 2TB Crucial MX500
>  
> A short snippet of what I see when invoking "xl dmesg":
>  
> (XEN) No southbridge IO-APIC found in IVRS table
> (XEN) AMD-Vi: Error initialization
> (XEN) I/O virtualisation disabled 
>  
> What I would like to see (taken from Xen 4.0.1 running on Debian
> Squeeze, in use since 2011):
>  
> (XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23
> (XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
> (XEN) Using scheduler: SMP Credit Scheduler (credit)
> (XEN) Detected 2611.936 MHz processor.
> (XEN) Initing memory sharing.
> (XEN) HVM: ASIDs enabled.
> (XEN) HVM: SVM enabled
> (XEN) HVM: Hardware Assisted Paging detected.
> (XEN) AMD-Vi: IOMMU 0 Enabled.
> (XEN) I/O virtualisation enabled
>  
> My question would be if this is "normal" behaviour due to older hardware
> being used with newer versions of Xen (compared to the old 4.0.1) or if
> this is a bug.
> If the latter, has this been addressed already in newer version (4.14+)?
>  
> I'll attach some log files (hypervisor.log, dom0.log, xl_info.log,
> lspci_vvv.log, acpi.dmp, ivrs.dat, ivrs.dsl).
>  
> Thank you for your time.

Let me braindump the investigation so far before I forget it.

Xen requires that there is an IVRS special-device record describing an
IO-APIC 00:14.0.  This check failing is the source of the "No
southbridge" message, and the cause of the IOMMU(s) being turned off.

The MADT and IVRS tables agree that there is one IO-APIC in the system,
but that's the northbridge IO-APIC, not the southbridge.

The block diagram for the southbridge does have a PIC/IO-APIC as part of
the PCI bridge, so honestly I was expecting the MADT to describe 2
IO-APICs.  But OTOH, I could see this legitimately not existing in
configurations where the PCI bridge isn't in use.

`xl dmesg` does have a few unknown irqs, so there might be something
down in the southbridge really generating interrupts.  Or there might be
a IRQ misconfiguration elsewhere, and this is just a red herring.

However, a consequence of the northbridge and southbridge being separate
chips means that all southbridge IO is fully encapsulated by the IOMMU
in the northbridge.

So irrespective of whether there is ah IO-APIC operating properly in the
southbridge, and whether or not it's properly described, I think Xen's
insistence that there must be an IVRS special-device entry for it is bogus.


Furthermore, Xen's decisions are monumentally stupid.  It takes a
specifically safe (IOMMU-wise) system, and because it can't figure out a
partial aspect of interrupt handling the southbridge, decided that the
system can't be safe (a false conclusion) and turns the IOMMU off fully
to compensate, which makes the system concretely less safe.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 22:19:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 22:19:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508368.782992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paObL-0002QE-47; Thu, 09 Mar 2023 22:19:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508368.782992; Thu, 09 Mar 2023 22: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 1paObL-0002Q7-1T; Thu, 09 Mar 2023 22:19:07 +0000
Received: by outflank-mailman (input) for mailman id 508368;
 Thu, 09 Mar 2023 22: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=uE8O=7B=infradead.org=mcgrof@srs-se1.protection.inumbo.net>)
 id 1paObJ-0002NV-2A
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 22:19:06 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63d9f75e-bec8-11ed-956e-85ef70e17bfa;
 Thu, 09 Mar 2023 23:19:01 +0100 (CET)
Received: from mcgrof by bombadil.infradead.org with local (Exim 4.94.2 #2
 (Red Hat Linux)) id 1paOao-00C8rx-Vc; Thu, 09 Mar 2023 22:18: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
X-Inumbo-ID: 63d9f75e-bec8-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; 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=jK36Zpm8T2on+df54b6OGLN8ramQR+T+L8HPs8R5yHE=; b=MQBnApNDuji9teSFgOuyjM3C/p
	Lgjgf584li4FUT3/bLPnV5yqTuo2UTXDrn/714v2Ip8g3XpbRRwZD7nJgpfEz6h2qyYzLRoVFAzS5
	tMd/9xsj+xvHf9pg1aj6/tfQOstrhGZ+G1zt8z2KHggdwT/JzAOm9MQzVoQv6izhooEbpCzv0yw5r
	tM+8qfELGYvw7DcEBgzyGxOP+nBEwfiCipPOReirB45OyXkLojYq6dLPJAZ2LdHzds1OUB+inU0LV
	2hzU4mCm7TVY5QLhVwYJxgZVITHlU54t7YIlOR63U6xiYpBenGFdRnv1EDD5XMZzQjyOtadrDKozg
	W7Wm31lw==;
Date: Thu, 9 Mar 2023 14:18:34 -0800
From: Luis Chamberlain <mcgrof@kernel.org>
To: ebiederm@xmission.com, keescook@chromium.org, yzaikin@google.com,
	jejb@linux.ibm.com, martin.petersen@oracle.com, minyard@acm.org,
	kys@microsoft.com, haiyangz@microsoft.com, wei.liu@kernel.org,
	decui@microsoft.com, song@kernel.org, robinmholt@gmail.com,
	steve.wahl@hpe.com, mike.travis@hpe.com, arnd@arndb.de,
	gregkh@linuxfoundation.org, jirislaby@kernel.org, jgross@suse.com,
	sstabellini@kernel.org, oleksandr_tyshchenko@epam.com,
	xen-devel@lists.xenproject.org
Cc: j.granados@samsung.com, zhangpeng362@huawei.com, tangmeng@uniontech.com,
	willy@infradead.org, nixiaoming@huawei.com, sujiaxun@uniontech.com,
	patches@lists.linux.dev, linux-fsdevel@vger.kernel.org,
	apparmor@lists.ubuntu.com, linux-raid@vger.kernel.org,
	linux-scsi@vger.kernel.org, linux-hyperv@vger.kernel.org,
	openipmi-developer@lists.sourceforge.net,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/7] sysctl: slowly deprecate register_sysctl_table()
Message-ID: <ZApbOilWsw9Sk/k4@bombadil.infradead.org>
References: <20230302204612.782387-1-mcgrof@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230302204612.782387-1-mcgrof@kernel.org>
Sender: Luis Chamberlain <mcgrof@infradead.org>

On Thu, Mar 02, 2023 at 12:46:05PM -0800, Luis Chamberlain wrote:
> I'm happy to take these via sysctl-next [0] but since
> I don' think register_sysctl_table() will be nuked on v6.4 I think
> it's fine for each of these to go into each respective tree. I can
> pick up last stragglers on sysctl-next. If you want me to take this
> via sysctl-next too, just let me know and I'm happy to do that. Either
> way works.

As I noted I've dropped the following already-picked-up patches from
my queue:

ipmi: simplify sysctl registration
sgi-xp: simplify sysctl registration
tty: simplify sysctl registration

I've taken the rest now through sysctl-next:

scsi: simplify sysctl registration with register_sysctl()
hv: simplify sysctl registration
md: simplify sysctl registration
xen: simplify sysctl registration for balloon

If a maintainer would prefer to take one on through their
tree fine by me too, just let me know and I'll drop the patch.

  Luis


From xen-devel-bounces@lists.xenproject.org Thu Mar 09 23:02:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Mar 2023 23:02:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508371.783004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paPGp-0000Jy-DM; Thu, 09 Mar 2023 23:01:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508371.783004; Thu, 09 Mar 2023 23: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 1paPGp-0000Jr-8b; Thu, 09 Mar 2023 23:01:59 +0000
Received: by outflank-mailman (input) for mailman id 508371;
 Thu, 09 Mar 2023 23:01: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=/dmD=7B=ellerman.id.au=mpe@srs-se1.protection.inumbo.net>)
 id 1paPGi-0000Jh-6x
 for xen-devel@lists.xenproject.org; Thu, 09 Mar 2023 23:01:57 +0000
Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d039134-bece-11ed-956e-85ef70e17bfa;
 Fri, 10 Mar 2023 00:01:47 +0100 (CET)
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 4PXl6q3NsJz4xD5;
 Fri, 10 Mar 2023 10:01:39 +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: 5d039134-bece-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ellerman.id.au;
	s=201909; t=1678402899;
	bh=BWSn0lLbqlLFTN2KrlWGAvIfOF/lG9xhXJ2PJ5SfzFc=;
	h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
	b=gNMhkjOP+ETg7IZNFsVHqUxECrDXTSgVlwo20E9+dCd+JmK1tQd7yKE3V6vpP/Sbp
	 XHePmFPBNHK9ki+nDOVGrdP7RP+eUnwOKDGMvB/9E7GOwRVTml+2RGI7BZfOlZSLVS
	 maX7iIUQv+9K+7RL71Tjg3DdYWHK+Ywl+9Td+8g9AkwCqHpGuUh13Rb1AOuvMq+6tX
	 LTjUG/YG6TrYHQxiiPOOjt6wghYV8qhfpC31LOn1xyg5JeDVbWLp9/Fr/lZZrGhD3r
	 3LE1/Pp4gZavklbthU8XuRh7dlU304ovNPh6f/sdqlcgfwiVS01Sdod8gN2iPxOI1R
	 DQTpHu2akFDcw==
From: Michael Ellerman <mpe@ellerman.id.au>
To: Roger Pau =?utf-8?Q?Monn=C3=A9?= <roger.pau@citrix.com>, Stefano
 Stabellini
 <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Jiri Slaby
 <jirislaby@kernel.org>, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v2] hvc/xen: prevent concurrent accesses to the shared ring
In-Reply-To: <ZAm8BDGTMaI0XmMI@Air-de-Roger>
References: <20221130150919.13935-1-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2211301657200.4039@ubuntu-linux-20-04-desktop>
 <Y4nkFZal7oy+aICa@Air-de-Roger> <Y5cgYLNwtPbmP1JL@Air-de-Roger>
 <ZAm8BDGTMaI0XmMI@Air-de-Roger>
Date: Fri, 10 Mar 2023 10:01:39 +1100
Message-ID: <87zg8lo7fw.fsf@mpe.ellerman.id.au>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Roger Pau Monn=C3=A9 <roger.pau@citrix.com> writes:
> On Mon, Dec 12, 2022 at 01:36:48PM +0100, Roger Pau Monn=C3=A9 wrote:
>> On Fri, Dec 02, 2022 at 12:40:05PM +0100, Roger Pau Monn=C3=A9 wrote:
>> > On Wed, Nov 30, 2022 at 05:08:06PM -0800, Stefano Stabellini wrote:
>> > > On Wed, 30 Nov 2022, Roger Pau Monne wrote:
>> > > > The hvc machinery registers both a console and a tty device based =
on
>> > > > the hv ops provided by the specific implementation.  Those two
>> > > > interfaces however have different locks, and there's no single loc=
ks
>> > > > that's shared between the tty and the console implementations, hen=
ce
>> > > > the driver needs to protect itself against concurrent accesses.
>> > > > Otherwise concurrent calls using the split interfaces are likely to
>> > > > corrupt the ring indexes, leaving the console unusable.
>> > > >
>> > > > Introduce a lock to xencons_info to serialize accesses to the shar=
ed
>> > > > ring.  This is only required when using the shared memory console,
>> > > > concurrent accesses to the hypercall based console implementation =
are
>> > > > not an issue.
>> > > >
>> > > > Note the conditional logic in domU_read_console() is slightly modi=
fied
>> > > > so the notify_daemon() call can be done outside of the locked regi=
on:
>> > > > it's an hypercall and there's no need for it to be done with the l=
ock
>> > > > held.
>> > >
>> > > For domU_read_console: I don't mean to block this patch but we need =
to
>> > > be sure about the semantics of hv_ops.get_chars. Either it is expect=
ed
>> > > to be already locked, then we definitely shouldn't add another lock =
to
>> > > domU_read_console. Or it is not expected to be already locked, then =
we
>> > > should add the lock.
>> > >
>> > > My impression is that it is expected to be already locked, but I thi=
nk
>> > > we need Greg or Jiri to confirm one way or the other.
>> >
>> > Let me move both to the 'To:' field then.
>> >
>> > My main concern is the usage of hv_ops.get_chars hook in
>> > hvc_poll_get_char(), as it's not obvious to me that callers of
>> > tty->poll_get_char hook as returned by tty_find_polling_driver() will
>> > always do so with the tty lock held (in fact the only user right now
>> > doesn't seem to hold the tty lock).
>> >
>> > > Aside from that the rest looks fine.
>
> I guess I could reluctantly remove the lock in the get_chars hook,
> albeit I'm not convinced at all the lock is not needed there.

I don't know the xen driver, but other HVC backends have a lock around
their private state in their get_chars() implementations.

See eg. hvterm_raw_get_chars().

cheers


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 01:43:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 01:43:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508375.783013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paRmX-0002DT-Rn; Fri, 10 Mar 2023 01:42:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508375.783013; Fri, 10 Mar 2023 01:42: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 1paRmX-0002DM-Mw; Fri, 10 Mar 2023 01:42:53 +0000
Received: by outflank-mailman (input) for mailman id 508375;
 Fri, 10 Mar 2023 01:42: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 1paRmW-0002DC-2N; Fri, 10 Mar 2023 01:42: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 1paRmV-0002FH-Us; Fri, 10 Mar 2023 01:42: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 1paRmV-000117-Av; Fri, 10 Mar 2023 01:42:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1paRmV-0000Uu-AE; Fri, 10 Mar 2023 01: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DGRAWfYJs3c8ErMSt5XBv86pYdQ3PF8yeJdejnqnsfI=; b=Z8Y5GAbnq7xxjzBlxWOW4YoZt4
	q8iJcRsAX5zilDBvnxwlbkp9uoRv3/4y5yYv9d9kmr4r41QNB9ez4jJQUTLCqSSKi2jhd5P+BV8d8
	4iGeTqnuhJGx4W29yjKJnD68s25q1leZK3sQtXOEfgm4inQT1RWd09gBgr+DN0ELuATk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179518-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179518: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
X-Osstest-Versions-That:
    qemuu=9832009d9dd2386664c15cc70f6e6bfe062be8bd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Mar 2023 01:42:51 +0000

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

Failures :-/ but no regressions.

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

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179501
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179501
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179501
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179501
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179501
 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-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-vhd 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-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      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86
baseline version:
 qemuu                9832009d9dd2386664c15cc70f6e6bfe062be8bd

Last test of basis   179501  2023-03-07 23:38:47 Z    2 days
Testing same since   179518  2023-03-09 10:37:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Paolo Bonzini <pbonzini@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       pass    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   9832009d9d..7b0f0aa55f  7b0f0aa55fd292fa3489755a3a896e496c51ea86 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 03:25:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 03:25:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508382.783023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paTNz-0006oN-CX; Fri, 10 Mar 2023 03:25:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508382.783023; Fri, 10 Mar 2023 03:25:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paTNz-0006oG-9L; Fri, 10 Mar 2023 03:25:39 +0000
Received: by outflank-mailman (input) for mailman id 508382;
 Fri, 10 Mar 2023 03:25: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=c5EL=7C=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1paTNy-0006oA-G2
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 03:25:38 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3799ee8f-bef3-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 04:25:35 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32A3PNoN011962
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Thu, 9 Mar 2023 22:25:29 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32A3PNF1011961;
 Thu, 9 Mar 2023 19:25:23 -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: 3799ee8f-bef3-11ed-87f5-c1b5be75604c
Date: Thu, 9 Mar 2023 19:25:23 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [BUG] x2apic broken with current AMD hardware
Message-ID: <ZAqjIwnFtXS80vHQ@mattapan.m5p.com>
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Thu, Mar 09, 2023 at 10:03:23AM +0100, Jan Beulich wrote:
> On 09.03.2023 00:08, Elliott Mitchell wrote:
> > 
> > As such I'm less than certain the problem is still in HEAD, though
> > Neowutran and Co working with 4.16 and the commit log being quiet
> > suggests there is a good chance.
> > 
> > More detail, pretty well most things are broken for Domain 0 without
> > "x2apic=false".  Trying to boot with a 6.1.12 a USB keyboard was
> > completely unresponsive, on screen the initial ramdisk script output was
> > indicating problems interacting with storage devices.  Those two together
> > suggested an interrupt issue and adding "x2apic=false" caused domain 0 to
> > successfully boot.
> > A 5.10 kernel similarly requires "x2apic=false" to successfully boot.
> > 
> > So could be a commit after 4.16 fixed x2apic for current AMD hardware,
> > but may still be broken.
> 
> If Dom0 boot is affected, trying a newer hypervisor shouldn't be a problem.
> You won't need any of the toolstack to match just to see whether Dom0 boots.
> 
> In any event you will want to collect a serial log at maximum verbosity.
> It would also be of interest to know whether turning off the IOMMU avoids
> the issue as well (on the assumption that your system has less than 255
> CPUs).

Well, I can now state "x2apic=false" IS required for Xen 4.17.  Since the
last x2apic commit was about a year ago, I believe this matches HEAD.  I
missed the logs since the USB-serial adapter decided to bugger when the
machine rebooted.

Is it just me or is https://wiki.xenproject.org/wiki/Xen_Serial_Console
out of date?

Last time I used serial debugging I recall the options being different.
Due to stress level this time I'm not so favorable to looking things up
in Git (this system is crucial in my development workflow, so being in a
problematic state is trouble).


-- 
(\___(\___(\______          --=> 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 Mar 10 04:24:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 04:24:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508392.783053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paUIJ-0006QF-UG; Fri, 10 Mar 2023 04:23:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508392.783053; Fri, 10 Mar 2023 04: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 1paUIJ-0006Q8-Qo; Fri, 10 Mar 2023 04:23:51 +0000
Received: by outflank-mailman (input) for mailman id 508392;
 Fri, 10 Mar 2023 04:23:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1paUIH-0006Py-QN; Fri, 10 Mar 2023 04:23: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 1paUIH-0006eJ-NX; Fri, 10 Mar 2023 04:23:49 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1paUIH-000080-7F; Fri, 10 Mar 2023 04:23:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1paUIH-0003ba-6S; Fri, 10 Mar 2023 04:23:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qkGeXw+RtZiSQRL9Sq7OOqeO8KVEwzGalrZZ9uRMwlU=; b=6IrwOBzj6jFHm4h8QwLvv2u9nd
	HmjikBvkMaXB51WRRnVLlkMqB6L9+pmRXQKVoKA5fbMm4TVdE3G72JknKUMqIKd9JMi89KULVuPJl
	vTpOg08WKRyMKV0EoanVowfSmiSG8Hcoa6woIssSimHope8GRL2KuI6Bt+YmodLodtJE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179522-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179522: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-livepatch:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-examine:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-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-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-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-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-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=7a59096258fb9e9679538da8851fe00656841980
X-Osstest-Versions-That:
    xen=31270f11a96ebb875cd70661e2df9e5c6edd7564
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Mar 2023 04:23:49 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-livepatch     7 xen-install      fail in 179513 pass in 179522
 test-amd64-i386-xl            7 xen-install                fail pass in 179513
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail pass in 179513
 test-amd64-i386-examine       6 xen-install                fail pass in 179513
 test-amd64-amd64-xl-rtds     22 guest-start/debian.repeat  fail pass in 179513
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 179513

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail in 179513 like 179392
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179503
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179503
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179503
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179503
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179503
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179503
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179503
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179503
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179503
 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-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-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-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     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  7a59096258fb9e9679538da8851fe00656841980
baseline version:
 xen                  31270f11a96ebb875cd70661e2df9e5c6edd7564

Last test of basis   179503  2023-03-08 01:55:30 Z    2 days
Failing since        179509  2023-03-08 14:07:05 Z    1 days    3 attempts
Testing same since   179513  2023-03-09 03:51:00 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bertrand Marquis <bertrand.marquis@arm.com>
  Juergen Gross <jgross@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Roger Pau Monné <roger.pau@citrix.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           fail    
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 test-amd64-i386-examine                                      fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   31270f11a9..7a59096258  7a59096258fb9e9679538da8851fe00656841980 -> master


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 05:01:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 05:01:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508397.783062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paUsa-0003w9-Pe; Fri, 10 Mar 2023 05:01:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508397.783062; Fri, 10 Mar 2023 05:01: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 1paUsa-0003w2-Mm; Fri, 10 Mar 2023 05:01:20 +0000
Received: by outflank-mailman (input) for mailman id 508397;
 Fri, 10 Mar 2023 05:01: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 1paUsZ-0003vs-CQ; Fri, 10 Mar 2023 05:01: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 1paUsZ-0007k8-91; Fri, 10 Mar 2023 05:01: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 1paUsY-00020x-S3; Fri, 10 Mar 2023 05:01:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1paUsY-0005tr-Rh; Fri, 10 Mar 2023 05:01:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0RCqTpdl6bhTv4imki8A+HVar0wbaZHJbbX5/Oi99ic=; b=1jFCqYYgOHWJ5wpL1bLE/wP8V6
	EX32qsmSOPmIMqFA54uQPdse0b02vhcP3i6Dj++8TFqn7vkQCchJPt8OVOYG81GqIGwup7j6snxT/
	kdcwKrviWiYYkSE4HO1BWNTJE6dajqzh+ML65a61utQ5LwhtPc4DcW7kJ8RJnNVPxj6k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179527-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179527: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=8820767fb3bad09eeedecc3030d75c9e0cd4cab7
X-Osstest-Versions-That:
    ovmf=a0f9628705e35c981ae95376f9ebedf877d09111
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Mar 2023 05:01:18 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 8820767fb3bad09eeedecc3030d75c9e0cd4cab7
baseline version:
 ovmf                 a0f9628705e35c981ae95376f9ebedf877d09111

Last test of basis   179517  2023-03-09 10:12:20 Z    0 days
Testing same since   179527  2023-03-10 02:10:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ashraf Ali S <ashraf.ali.s@intel.com>
  S, Ashraf Ali <ashraf.ali.s@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
   a0f9628705..8820767fb3  8820767fb3bad09eeedecc3030d75c9e0cd4cab7 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 08:23:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 08:23:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508420.783073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paY1t-0003tQ-1x; Fri, 10 Mar 2023 08:23:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508420.783073; Fri, 10 Mar 2023 08:23: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 1paY1s-0003tJ-VJ; Fri, 10 Mar 2023 08:23:08 +0000
Received: by outflank-mailman (input) for mailman id 508420;
 Fri, 10 Mar 2023 08:23: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=txLX=7C=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1paY1r-0003tD-AD
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 08:23:07 +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 c5d40dad-bf1c-11ed-956e-85ef70e17bfa;
 Fri, 10 Mar 2023 09:23:02 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB9367.eurprd04.prod.outlook.com (2603:10a6:102:2aa::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.29; Fri, 10 Mar
 2023 08:22:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023
 08:22: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: c5d40dad-bf1c-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SCWWOIpKsAsCdW7f1m2RU9a6crxROt58tw7qRvEfzo4BRsT/3bdCg2+0B3cufEpkZzjxKgdK3Nkswjm/cOfUkExcUYR7gtU1n9ESO0jHFEh2PnSaiXiCrI0U66FNkR+Eu0E7rMems/Vh5dbjpIM3W8S7Ti3ODs7V84iu9ssFVwx9jPBd/vtc1ZLt3WcQaGR9tqNAij0JwCC4RmQDd9I8NZUuveQUQzkJhz/slTfRhTdh2GGZHJij9xD5baINMuFlMorHWr/k/lXRHvSGTGgSvFIvdiwEynE7SFQrRaJA8erx3TV5BaeeDbN5uI7kLyGmQunAZETventSwsS2oaldbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fj3eC8LdQghUT9ACN0oTSYDwDIzoYa85Ha7YmgJG4yw=;
 b=isPQC9OXHb1eUdvbYZIzfJUO432K4uJyng6Xc6SqNuJmFKj+QHxqOD/7wg1C0usVgAy5+UxufDKJLmXUbra6fkv0B7PSZ9TJfIC7vKV2sJVo2+RRFGjZ+5agMF7xm/ibcsNf/cz5tstnlD0wyjHhr+2Zns6SLBmK01rGFEk+Au3auZWavMsTiXOR1BBF2l4PHsXEUfKyBF/fzfGpLQFzwMPT9usDbmADi18nENdNM8aqa6D2iThneXCZs2KiMK1rR45ufPMlFAhVcHDtXHvQQ444u8RMalePmdbSZWjTcGPbBfkXndtIDOJd4OkCC/pwXzi31Yp/Xk0zXyud91tDcg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fj3eC8LdQghUT9ACN0oTSYDwDIzoYa85Ha7YmgJG4yw=;
 b=NqTSm0YS3bnKpVAsPUPQNo269hogsX+MWKWR4DHTVsvP9iU5N71T4xihzNBNqA2RDjFO+NWgwjwWo384XcXIc/6UCr9VxS3BlP9VBg1U4lADRfiyXpOOnoNn4diXeBlFgVUWq2xun6GETaw2BjWfYNwtQm2atHSvR7q7QoD+LBP5vh66JFmwTJyO8PoW40/aejEfrR36KT8GMYiqVtlnPk/iAUWT4AyNe+KKb6XxGmYbv27T+S7hd6OVJcPRqRDaZLSo1Pb6yUthw5FekgdyRXn7MoCROW6U7h9NyDkE0QuGNDNUNQhu/9nKI60zyxW+b+NUmyVDhWG/P8wf2r4oPA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1845a2bd-3749-debe-367c-48f310b3cf90@suse.com>
Date: Fri, 10 Mar 2023 09:22:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [BUG] x2apic broken with current AMD hardware
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: xen-devel@lists.xenproject.org
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAqjIwnFtXS80vHQ@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZAqjIwnFtXS80vHQ@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0160.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB9367:EE_
X-MS-Office365-Filtering-Correlation-Id: 6edfc2be-768d-49d0-f07f-08db2140a7a9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ACabDe6mn8oEqmMQXen8q+viYeDaq9nfqBt9jb1a/KXtcdy9w0IUg1VxeJm95rVfUHNw1kSzbu7W/oLcwYh+E1wVELTBbhoDMSeVYxNRaowMN4lY8ic/r4CN8rNHZgXz/fLEBuDEj+h/7ZKinUOuvG8hXjNb7AIJEGFHbI9PYoD0kBSSHTlA8Tilw1z4nyrdHh0Unm+OOPgPxuUUTL7VO9XJf5K0jL0mbGFvy6hwvPjiswr3uEq63sJmlyOaRTa6qa/n1GHwlxzw/QS4PUOcYsQXIELFFd2UIpFEvFIW1mitkyuOjKvlUY2PT+6SaDKoBfv0MBCkUes7DhYwYfVfeWbbhAqfye1UH0io1fI+u2HURGC+QpRiLyplYTWyZNuX1ib2itaV8bRb/6SKi5LHKoI8eiMMQEftKXasvUPn8za2+qdIirRhz2SmSpL1WNCDuetW8BZgvY4RKx09q3h4dNrupNmFtte/PeqxHvNGF5Un01otGsN04Bx7PAcwdWW1ksSgzl5dDNan7xGwRwCLSLYMxdThmr7OKFsWDo95stnOwXkCDqYj7wN4XBUGMaCT78MtRs3yKcRecUJCmjTskjkTlA88NK9x2H5s09B4wl6r8lGjV40dwc6O1ylLXqJb6jINA6khNP6RIEklZI3rZWR6sN4XxmkaCVsrzD7fDdTT+iXqRaGxG1y7Z2TajXsA7bE8uE+0JjsDxqzfIK1JXifFDnbpDzYVLErYdqFb28U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(346002)(366004)(39860400002)(376002)(136003)(451199018)(8936002)(86362001)(38100700002)(31696002)(66476007)(5660300002)(4326008)(66556008)(8676002)(41300700001)(36756003)(2906002)(6666004)(66946007)(6506007)(2616005)(186003)(53546011)(83380400001)(6486002)(966005)(478600001)(6512007)(316002)(26005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QmdaQVdGckk0b0pkNnRuZ1FMMDdKK1kwekx3TXE2NTB6a3A5L0V4cnhSMnNY?=
 =?utf-8?B?eWl3RFh2amFybnNZcy8rUWtJOGFzTDBPK3hCRTNQZTY2OWdwcm13NzJyMTl6?=
 =?utf-8?B?U3R2L2ljVElZVUg4dXA3NWcrMkxKQ1dsZWlhamg4Tk9kM3kvTXpSMERRRTNJ?=
 =?utf-8?B?VGd5T1dqVmlvd2dWb3lweVBueGpPNXhvaTdKVEtiMFVDdEdSaEpGZ1RDWUMw?=
 =?utf-8?B?K2ZNdnJmQ0Z4eDFSUmQzbEtuNmdFS0ZocmhnU2FFUytuWHVrMFphaXFJWVF3?=
 =?utf-8?B?VExTQUhNQTAvbCtnRStPcG04M2d4Y1lBbVdaR3RmdUMxblJzei9WejFVOThT?=
 =?utf-8?B?dlVwV0FzRFoxZjRhSXFxNlFqYkRyb0ovOXMrTFRrNFRoRXlZckkyOGMxVXNC?=
 =?utf-8?B?cjZwdDBSdFlKTmwzcUNoenpzVk5qN2VJMGRybHFBSk53K09KT0F3ZHdtQ0Qw?=
 =?utf-8?B?TkQyV3ozd09yNmYxWHJCckV0TUN2WXZxcjFTbjE1MTIvcVYvQVExSjRZNTd3?=
 =?utf-8?B?NFZsNTlRRG52QWVQWTg5V1Bub2s2d3NNeVVIY2JBdzY0c0lkTFZCL1pmalpn?=
 =?utf-8?B?R3YwbzRiRS9mSHlkWGFnbGxGNUJXdk5TZGEzOFYyQW9iTURkRXErNWg1MGpo?=
 =?utf-8?B?dUZrOVhoM3dSN2ZMcWgrdG1aNUx3Q0t4VW9ZdzR2YUFQV203RC9RWXBXM0JJ?=
 =?utf-8?B?ZHNMa1V6Vm4zcmR5SG9NbktndTR1ZXRDY3c0dG16UTlwVzNQVGJhcnBHVE96?=
 =?utf-8?B?L3M1bmlWekZTdk10M3IzNDJIV21HOC82RGw1Z0QwK1lHU0JrUjR3Wk5MTGdM?=
 =?utf-8?B?eWdNSmcwYVNPaGFJbzlPWnRrdVp5OVNuNnRGYzNnM2FkSlRTQW54b3AyN3ZH?=
 =?utf-8?B?SDdBNldvWUdsQ3lnZHg0RVZnSElQYlZBWWxSVVZveXFDOSs4cEp5RzArVWZn?=
 =?utf-8?B?dHdvZnA3MGlVMHpPaUszRFp2bEQ2cXk0Y2RTOTNLeE5EWUpEYm84VTJqdmty?=
 =?utf-8?B?NC9tVEZGVDlZc0FuVWZSTTVjRlVFb0hvVlFRWnpQTjlhRVlKdjg1dGJUczRU?=
 =?utf-8?B?ZktRK3U0THM5Uzk4a2IyQXAvVU1LMjdOaldTZDJWaE8zM1FvZ1lzU0RiREFZ?=
 =?utf-8?B?ejhXVTltNGs5QVRZZDlaUnNhYXhCSWc5R1FDcGgwUVBJaVU5Y093b3VvbWpk?=
 =?utf-8?B?TFprdWhLTTRQY3JnMzFNSE1LNDNVRXh0ZTY5MVdVQVhsekwxNTBCQndobGx0?=
 =?utf-8?B?aGlGakVueUZNNXNuWnEyK2lsSWN4eDRMNzZvWVFIVFp6bE1ZUmlMN1VRczBk?=
 =?utf-8?B?ZUVQa25vWlhPVjRSN09KWlpzM0hGbFBFcVc5NENrTGNiRVRCQm5rMTJZK3Jp?=
 =?utf-8?B?bjFDUGpMQUgvdmM4SGprb25DN0JRUmI3RmdKT3AyazlKc0dlQ2VkVDZET0pL?=
 =?utf-8?B?TW8wbG9TQXVDQllUQm94M1B5WnlPVVlSMEVhOSs1b1V2eHJlUE1xUDY5Ym5P?=
 =?utf-8?B?M1pQK3pBZU5weXpXSmhZU0E4eXZmam5YdG9DWW5pVHZnOHZqcG5NNzZGUElC?=
 =?utf-8?B?aVcrZm02WTh6ejJOelNZUEt3UC82WWMyblowYldtTXVHMG5hVEhKTWVqQlQ5?=
 =?utf-8?B?OEJFeVRpWVpiVVRxSzFNWHNmZjF1T01WcWRITnU3L1pXNTk4ODFQU1Fybk1V?=
 =?utf-8?B?bEdOWHJwN3FWM0Z2MDdpOHg1cjhTWkh4dkhqTDdaQy9jaFRvRTlXWk5qWkti?=
 =?utf-8?B?V0NXc081RTFoS2JGU3owMUZpeUdNS3RtdHZrc2plSHhrVHVXZkhZcHNnWldB?=
 =?utf-8?B?N3JoamJNT1c3MElMYTZUckxoRU9EdEVkK242ZnNkSGpQcXMxMkdRbzdwVVFM?=
 =?utf-8?B?UVlXekd1Y1NkSWdhc3c4NTVLc2dRSVRvbVUzdHJUMDJETU1aMms4cUdKUyt4?=
 =?utf-8?B?L0NFTlNnY0VSYjhXS0hyY0RXSDFRSDlud2NoeWdxdTNiOGNrKzQwcjk5RGEw?=
 =?utf-8?B?Wk9mOFJDWXNqYTlLb1BBUUNld0VhMXJ0T3RNM0VaRGdpMklKSEliaCs5U2Nt?=
 =?utf-8?B?OGFHZkMvOWNSTXRxczBBcWtrQ1hVeTNwTTMrUmtaZWV3S1RLTnkyOUxYLytS?=
 =?utf-8?Q?f+X4SqtBz+w570uJKbBQ5R4kB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6edfc2be-768d-49d0-f07f-08db2140a7a9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 08:22:58.1050
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wjIwCEbrFhd02G6tiypGU4ZAIqtQVGTJkI422Q1Beo3ehnrCmaePmkmaaEAvoQFniDB+KI0Vbff87k0t1st0Jw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9367

On 10.03.2023 04:25, Elliott Mitchell wrote:
> On Thu, Mar 09, 2023 at 10:03:23AM +0100, Jan Beulich wrote:
>> On 09.03.2023 00:08, Elliott Mitchell wrote:
>>>
>>> As such I'm less than certain the problem is still in HEAD, though
>>> Neowutran and Co working with 4.16 and the commit log being quiet
>>> suggests there is a good chance.
>>>
>>> More detail, pretty well most things are broken for Domain 0 without
>>> "x2apic=false".  Trying to boot with a 6.1.12 a USB keyboard was
>>> completely unresponsive, on screen the initial ramdisk script output was
>>> indicating problems interacting with storage devices.  Those two together
>>> suggested an interrupt issue and adding "x2apic=false" caused domain 0 to
>>> successfully boot.
>>> A 5.10 kernel similarly requires "x2apic=false" to successfully boot.
>>>
>>> So could be a commit after 4.16 fixed x2apic for current AMD hardware,
>>> but may still be broken.
>>
>> If Dom0 boot is affected, trying a newer hypervisor shouldn't be a problem.
>> You won't need any of the toolstack to match just to see whether Dom0 boots.
>>
>> In any event you will want to collect a serial log at maximum verbosity.
>> It would also be of interest to know whether turning off the IOMMU avoids
>> the issue as well (on the assumption that your system has less than 255
>> CPUs).
> 
> Well, I can now state "x2apic=false" IS required for Xen 4.17.  Since the
> last x2apic commit was about a year ago, I believe this matches HEAD.  I
> missed the logs since the USB-serial adapter decided to bugger when the
> machine rebooted.
> 
> Is it just me or is https://wiki.xenproject.org/wiki/Xen_Serial_Console
> out of date?

Without you being more specific (there are many variants there), from
quickly glancing over it the command line options mentioned look right to
me. There's an oddity like "console=tty0", but that's not affecting serial
(should be "console=vga", if at all - in the specific example the
subsequent "console=com2" overrides the bogus one anyway).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 08:44:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 08:44:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508425.783083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paYMo-0006tH-VW; Fri, 10 Mar 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 508425.783083; Fri, 10 Mar 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 1paYMo-0006tA-SE; Fri, 10 Mar 2023 08:44:46 +0000
Received: by outflank-mailman (input) for mailman id 508425;
 Fri, 10 Mar 2023 08:44: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 1paYMo-0006t0-1F; Fri, 10 Mar 2023 08:44: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 1paYMn-0004un-Hh; Fri, 10 Mar 2023 08:44: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 1paYMn-0005pX-6j; Fri, 10 Mar 2023 08:44:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1paYMn-000829-6E; Fri, 10 Mar 2023 08:44:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=I19wOnUK+IyV3AcqvLnhCwlIRf7YA048JiI38Fd4OZE=; b=QQZQkLcPI51ZEgrjfsUSFLZ/go
	8s3W2dB2NWbXhHT6cPmykCTPaiVcaBPhEGbaerEzvL+De2gxmGheIJdF+qs4h4OFK+/5paZbs+KtT
	j629vlkmFnJyYjbnFsf3a3preF7k70zjysT1kgn9h1Z3bHOByhdYawXhtYpsWF5C3VCI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179530-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179530: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=4ca4041b0dbb310109d9cb047ed428a0082df395
X-Osstest-Versions-That:
    ovmf=8820767fb3bad09eeedecc3030d75c9e0cd4cab7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Mar 2023 08:44:45 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 4ca4041b0dbb310109d9cb047ed428a0082df395
baseline version:
 ovmf                 8820767fb3bad09eeedecc3030d75c9e0cd4cab7

Last test of basis   179527  2023-03-10 02:10:45 Z    0 days
Testing same since   179530  2023-03-10 06:12:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Sheng Wei <w.sheng@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
   8820767fb3..4ca4041b0d  4ca4041b0dbb310109d9cb047ed428a0082df395 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 08:52:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 08:52:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508438.783093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paYTh-0000Cw-Lj; Fri, 10 Mar 2023 08:51:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508438.783093; Fri, 10 Mar 2023 08:51:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paYTh-0000Cp-IR; Fri, 10 Mar 2023 08:51:53 +0000
Received: by outflank-mailman (input) for mailman id 508438;
 Fri, 10 Mar 2023 08:51: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=txLX=7C=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1paYTf-0000Cj-V9
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 08:51:51 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20627.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb99da0d-bf20-11ed-956e-85ef70e17bfa;
 Fri, 10 Mar 2023 09:51:49 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6792.eurprd04.prod.outlook.com (2603:10a6:20b:dc::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar
 2023 08:51:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023
 08:51: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: cb99da0d-bf20-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AHYIxv3aJeXJxA8dU3HcTNLqX89rXbP4xxQ/sygNlbABzC9uF9OUH2sDeaZJ24k2b6pqeLOvaalzBNZrBCUoVOiS6EKD65KfxsN8+Qhopx8+rFyKa8mX2mV0VXxRt8BZ/vPzHNmn/0U9mxe1L2nej/+ysZ9kGqikxLi1clWJF/6mWl4RG1EOorXT4qOH9FAJuPDlbbj77ivL/e66Q/9gMii9J3lPvJDalecWfeC0tqIjCVEYr+J7i1csvL6nk1cbaXJ29AFcJR76anPlI2L1fcn9jW+TKE3aYOnrOjhLS2SH/47VslghtEeXfozP7du7jD81zNhoHAAKHgDpzDC6vQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pIPIkZZL3Cr39uJznkbwAl8D4tX48OMxrA9Ljh8Ljr8=;
 b=YVd/FzYcOelqe/knWiGiV+ayh9SAUl62B2SXwBYN/+brpzeCjdqsMqfd2wtbFFjBxzQSvepsWuU+tnXn9qCIk6rjWuS56NmbROHc4+hxNqhkdeXo9423yzb65oCNhSrdmbYJpvjGpaaDQXrNMOrYupCmyqZ/h9qQcMt6CGM7/Jhs7zgI+p/CEtcvEP2Hti7v3UgS61OD6YvU2VvzIx4oeTsbVMHem5y1O/z/iCodvp21UsucYYf55rrWJdAn9IP7Y5MkA0bA7F1SRGfYmw221IMFTdjqiNdug/Okmxarh4hcgfmEPk5cWEj5CcPmqONPsGpFAW49LEiOfq4poZVVKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pIPIkZZL3Cr39uJznkbwAl8D4tX48OMxrA9Ljh8Ljr8=;
 b=YIR9wWRC4eB9MbX1B/YvQ5rtoAqmmXFOkjEgjf+5+JqBjiHa/Sw30BkTtIPg308p5lNKgkf/5YnPvGBN8e/o7Eh1hnVxnaYTUgqyhfG8BgJi+b4FoIaI2Udd4sz5vukbDPMXzZYVJu1Ng7cBNoBwA9znd2waI99pIx+Z6cpEJFrNKEr45ZLC/eAixv4y4BPnVV7hiZw2PVRfXQpWnn3Gv8HP3of7kAJ9MkOZdFlq3snI2DvxAReZAXbPWWCmjwKqzHYV1nWRHRT3tjcL1ONAO0PBocf2cxKlhoKFjp1ajjBYakk74YhuFbI3e5jAesM+Uj1kH3MYm7umRD9ceuelcw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
Date: Fri, 10 Mar 2023 09:51:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from Xen
 4.0.1
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, tachyon_gun@web.de
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0070.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::22) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB6792:EE_
X-MS-Office365-Filtering-Correlation-Id: b90e9e4d-ece6-404b-f99f-08db2144aeb3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3nb6l1e9CecUvMncbGGqxeqQCWkJQj+uXzJRUlUdp8c8Htka/MfkALnO5pxaekQsQ6XGxcbq0wODaW1CtUYHBtmSgHlUg402g/AZh3AdgwEzKRzyfl92Yo99z7sSghL18SUxX5hwxYoH/k3PBtKL8lrvCrw6RjWsns01j4leWiz2GnOvaHj9k8cXBdbxM54IhD3Udd1+5yqr3l4eroP0uC8TtgtlRZsccFpwF6iHSXf50/ivJC7kqk0HY392sURm0vdZMV8igPs0hnt47+ClzvSuzrEObHRHLXSjDr1dtdYpmCYVwKcjeEO3mkWewJaoEw63CmSQti1a/ET+tAMu3gSDFXiOImnMe8Cy/ZcABeXKD7jsPPdjHWf9EdN7apApuwKXmD5NuEzpOVpvPtLoQgGfk93aPgbNl8qK8Wjms5kxlWV4D6SDnjXHeAoRyosNVolT9tPBfBeBPrmUIZ46bcC9B58yuIQtdb9ddRpTA2gP9s8wz5tOkvzrBi3JR98wfzjrvuWYceLs+o9ErlXRYerNqqJZOmG3hrdxJ/vobEnjFPfLtG1fmQ01QBrOCPdEX68+deJ6gn/xlc6FWuWNcAWthdBxIPyf+85Qy5axpSakOnS2nrWjHHDgdYACZT7MLgvAlA4aAhQj7CXva2DNjIXBm22RhjkTe1EFhw5AG+iv9m9UV31Us/1TwM9CAqlYQ0+OJWBEkcvIGD0CVHMcsAmfwfYojUuZQSUj17hhJAk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(376002)(396003)(346002)(39860400002)(451199018)(6486002)(2616005)(478600001)(53546011)(38100700002)(83380400001)(6512007)(31686004)(26005)(6506007)(66946007)(316002)(66556008)(66476007)(8676002)(186003)(4326008)(41300700001)(8936002)(5660300002)(2906002)(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?Slo1VHkxN3hOZkxwNm9zTjdyMmoxaXpWZlUzeFRwUVZKSlY1QVg2eFE3Zmdw?=
 =?utf-8?B?OUxtcFVtaHFhU1JPR0xyUG53WU9HSldjVHo1enY4MDJ4WmhBUXM5Nk5nMkwz?=
 =?utf-8?B?YlVXNnJ2OGZvcml3dTBnT2ZBM1N6RmJNVkF6L2l5WU1SY1dVQVdmYngzcTV3?=
 =?utf-8?B?bFRDNTJZTExHaDRvQmRTcm41bXB0Qy9BUHl1eUVhTEZCOTcrQkVaMFRtMXM0?=
 =?utf-8?B?bEdOK3c4cUhlZjdudU1hQm9qYWZYRURyOEhpOERWZWtWYnc4SUNpUU92NDJm?=
 =?utf-8?B?UUE4dFVuRUlMSmZXY25ld2FJS2R2dmt6VmxTWnJDcUo2c0ZtRXUrWHUrdUxM?=
 =?utf-8?B?VldhU3RTQVloSlR3Q2I3WlQrMXBJQkJ4QnVWQUU0WEZFalBaSjUyQkZlZ0h5?=
 =?utf-8?B?NklBWUl3OHpvRWtLQUcrVnNaamRCSzB0cy9pZmgvUDNYMzB3d3NtREF5U2xS?=
 =?utf-8?B?OUt2WThmYTN5bktJUHI0bmNsSWNLUTNYdmVGa3ZzeE5BcGxyK3Zxa1RCaEh6?=
 =?utf-8?B?cTBOOFcxV1BySkcwVkRHSENVdUJ3ZGpEWUNPRnR2b212ckRNdGl1NkMyN0V4?=
 =?utf-8?B?RjhqeFIzcnFwc1ZBeGhRSW9Gc3RNa3pnWjd3akhPRmlWeXdabmFQaXk5V0FL?=
 =?utf-8?B?bkExTU11NHk2MWhDTDE2RWZEenYrSE5IbGx6S252MHhYcjRwMmJ4emxIdDRx?=
 =?utf-8?B?N0FvRTQxK2tsbG1VV1NRMVk0SGJNZ0srdWhZNU5PVTdFRkVML3N3ZkF3dits?=
 =?utf-8?B?bE9uTXdNUHF6aWtTUWZLR1FmQm94dzhFS3FLTDIrelN2MUJ3aURKamNaRnd6?=
 =?utf-8?B?ckE2aVNOeUZMS01GWCtpaWoxN0FKMlZ0WjR6aE1rSUEyczc5WGQxV3BpZWp4?=
 =?utf-8?B?WElsTjU3ckNObW50d1R1SGpielBwaC9iV2QyRTNOcXdjK2Y5eXppZDUvTmFa?=
 =?utf-8?B?VWRRUGFkN0xvTTUvR25NaStYM2FadEx0UDdCTFRwYUhYNU55RlVMUS9UTzYz?=
 =?utf-8?B?eHJXckRoT1g1N2lFWjl0Ly90T292Nm1ESXQ0QUs2ZjV0YnJQeHhhMWFiazNQ?=
 =?utf-8?B?OVN2d1lYcHhBTXl6bHcvcVBsMGhwRXVKWDVNN1czWEo0cDd2Y2J4UG95MWtp?=
 =?utf-8?B?MXJjMUx0K0UrT0t1Y3NlZ0xzY0t1R0tGdHpLY1dSM0k5RytXa0V3U1hWRkRW?=
 =?utf-8?B?T0Y2SmpCNDNCSzVLOGsyMGkwSHVTZy9QUFRFcG9NbU9NbkhIajFWcldLT203?=
 =?utf-8?B?WXJuMGU5L0R2dFM2eHVIdW01M05YWkZ1RDRwTGFXRDR1TFV0eVZxbDZXRTNK?=
 =?utf-8?B?ZEN5WDN6dlVFQmo2WmdTMEczUXMwdFlldFJReERvSGpiUlRBdmxMRjhhSkNh?=
 =?utf-8?B?aXQrYlpsVDZaUnY5ei9nWXVnZjFBSWpwK3hud3VpZ29ZUytiRVBYTUdQMlU4?=
 =?utf-8?B?NWVid2NMUjAvcm80QTYzUmovYlo4NFdtb2YxV0JBSjBqOUJCbm0rdXk3OXMr?=
 =?utf-8?B?WnE2QWpNMDJYUU9IU2tlNS95ZHpNcGVSWkJ5dG15U1MxQnh4dzI4ZXRmZHVi?=
 =?utf-8?B?V1BHcjlFWnlIVXpmRDhBbWpZOXNYdjlDbTZxRGp6V1phbURPTTBrcWZVL0pa?=
 =?utf-8?B?amxNdURLYWFTbkZIWkJBaUlRaFd0eFVKdmljaVU3R2twazF3RDc0dXRRSGlV?=
 =?utf-8?B?WVJUakdzanlkNTllN25HWnAxc3gydFdXc1BBUUlxRy80dC9pY3JHR1UvQzJJ?=
 =?utf-8?B?N3hKbHVjMCtnZ1JNNGN3QjIwdTQ0M1lXbkZrNE1YbWR6MWVKQm1sSXhMREN3?=
 =?utf-8?B?b0gvQTZOaGtXU1VtNmNLNFRXMEJGeFFVUm1BNGdGNEkvaFZSNTUrY2pJc0t4?=
 =?utf-8?B?WE1TbnFTRjhsWU85STArMEc3YWh2SjdWWldpbmlQT0VBTldVeS84dTlUTkEz?=
 =?utf-8?B?dDI3alJPa0FmcVRmL3BmeklxWS9wNUxHSG5STVllVWVXWE9DTVlITmw4MWJo?=
 =?utf-8?B?bzRGSUlOTWxQNUkvanp6OXc3M3daZmV1am03UEdqRDZtUmRkNStBNnBnRFdo?=
 =?utf-8?B?Zjl1L2V4Vi9XM2czNmtWQnhKbGZoY2RENkdKTTNrc3RoNnJuSnF2NG50b2VR?=
 =?utf-8?Q?1lrqWuIRU2Rn2sY/+59DsAYW3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b90e9e4d-ece6-404b-f99f-08db2144aeb3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 08:51:47.7142
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SO6v+M40W1z6+t2dH8fs55dOmq2t7DxuDrnnLdWdPERHu/1cA9Ivx9VQpasKkVAZSriDe7AexxZzSritdx5PRg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6792

On 09.03.2023 21:37, Andrew Cooper wrote:
> On 09/03/2023 7:34 pm, tachyon_gun@web.de wrote:
>> Subject:
>> [help] Xen 4.14.5 on Devuan 4.0 Chimaera
>> From:
>> tachyon_gun@web.de
>> Date:
>> 09/03/2023, 7:34 pm
>>
>> To:
>> xen-devel@lists.xenproject.org
>>
>>
>> Hello.
>>
>> Following the advice of Andrew Cooper (thanks for helping out) over on
>> OFTC.net in #xen, I'll post this here.
>> If this is the wrong place, please move it to the right section of your
>> mailing lists.
>>  
>> I got some problems running Xen 4.14.5 on Devuan 4.0.
>>  
>> The AMD-Vi and I/O virtualisation are not being enabled when booting up
>> the host system with Xen.
>>  
>> Hardware used:
>> Mainboard: Gigabyte GA-890FXA-UD5, BIOS version F6 (2010.11.24, the
>> latest version)
>> CPU: AMD Phenom II X4 910e
>> Memory: 16GB
>> Storage: 2TB Crucial MX500
>>  
>> A short snippet of what I see when invoking "xl dmesg":
>>  
>> (XEN) No southbridge IO-APIC found in IVRS table
>> (XEN) AMD-Vi: Error initialization
>> (XEN) I/O virtualisation disabled 
>>  
>> What I would like to see (taken from Xen 4.0.1 running on Debian
>> Squeeze, in use since 2011):
>>  
>> (XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23
>> (XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
>> (XEN) Using scheduler: SMP Credit Scheduler (credit)
>> (XEN) Detected 2611.936 MHz processor.
>> (XEN) Initing memory sharing.
>> (XEN) HVM: ASIDs enabled.
>> (XEN) HVM: SVM enabled
>> (XEN) HVM: Hardware Assisted Paging detected.
>> (XEN) AMD-Vi: IOMMU 0 Enabled.
>> (XEN) I/O virtualisation enabled
>>  
>> My question would be if this is "normal" behaviour due to older hardware
>> being used with newer versions of Xen (compared to the old 4.0.1) or if
>> this is a bug.
>> If the latter, has this been addressed already in newer version (4.14+)?

No, the code there is still the same. The commit introducing the check
(06bbcaf48d09 ["AMD IOMMU: fail if there is no southbridge IO-APIC"])
specifically provided for a workaround: "iommu=no-intremap" on the Xen
command line. Could you give this a try? (As per below this could be
what we want to do "automatically" in such a situation, i.e. without
the need for a command line option. But you then still would face a
perceived regression of interrupt remapping being disabled on such a
system.)

The other possible workaround, "iommu=no-amd-iommu-perdev-intremap",
is something I rather wouldn't want to recommend, but you may still
want to give it a try.

>> I'll attach some log files (hypervisor.log, dom0.log, xl_info.log,
>> lspci_vvv.log, acpi.dmp, ivrs.dat, ivrs.dsl).
>>  
>> Thank you for your time.
> 
> Let me braindump the investigation so far before I forget it.
> 
> Xen requires that there is an IVRS special-device record describing an
> IO-APIC 00:14.0.  This check failing is the source of the "No
> southbridge" message, and the cause of the IOMMU(s) being turned off.
> 
> The MADT and IVRS tables agree that there is one IO-APIC in the system,
> but that's the northbridge IO-APIC, not the southbridge.
> 
> The block diagram for the southbridge does have a PIC/IO-APIC as part of
> the PCI bridge, so honestly I was expecting the MADT to describe 2
> IO-APICs.  But OTOH, I could see this legitimately not existing in
> configurations where the PCI bridge isn't in use.
> 
> `xl dmesg` does have a few unknown irqs, so there might be something
> down in the southbridge really generating interrupts.  Or there might be
> a IRQ misconfiguration elsewhere, and this is just a red herring.
> 
> However, a consequence of the northbridge and southbridge being separate
> chips means that all southbridge IO is fully encapsulated by the IOMMU
> in the northbridge.
> 
> So irrespective of whether there is ah IO-APIC operating properly in the
> southbridge, and whether or not it's properly described, I think Xen's
> insistence that there must be an IVRS special-device entry for it is bogus.
> 
> 
> Furthermore, Xen's decisions are monumentally stupid.  It takes a
> specifically safe (IOMMU-wise) system, and because it can't figure out a
> partial aspect of interrupt handling the southbridge, decided that the
> system can't be safe (a false conclusion) and turns the IOMMU off fully
> to compensate, which makes the system concretely less safe.

So this touches once again the area of the fuzzy split between the IOMMU
being disabled as a whole (meaning DMA+interrupt remapping off) vs only
one of the two being off (where presently we are unable to turn off just
DMA remapping). Indeed the original Linux commit, which our change was
inspired by, results in merely interrupt remapping getting turned off
(afaict), and that hasn't changed. (Would be nice to have this confirmed
for the system in question, i.e. without Xen underneath Linux.) It would
certainly be possible for us to do so too - it might be a one line change:

@@ ... @@ static int __init cf_check parse_ivrs_table(struct
     if ( !error && !sb_ioapic )
     {
         if ( amd_iommu_perdev_intremap )
-            error = -ENXIO;
+            iommu_intremap = false;
         printk("%sNo southbridge IO-APIC found in IVRS table\n",
                amd_iommu_perdev_intremap ? XENLOG_ERR : XENLOG_WARNING);
     }

but only if there aren't any earlier decisions that need undoing, and
only if all subsequent code will properly honor that turning off of
intremap. I'll try to get to doing the necessary audit some time next
week.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 08:55:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 08:55:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508441.783103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paYX5-0000oy-5Q; Fri, 10 Mar 2023 08:55:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508441.783103; Fri, 10 Mar 2023 08:55: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 1paYX5-0000or-2c; Fri, 10 Mar 2023 08:55:23 +0000
Received: by outflank-mailman (input) for mailman id 508441;
 Fri, 10 Mar 2023 08:55: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 1paYX3-0000of-Me; Fri, 10 Mar 2023 08:55: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 1paYX3-00057a-Hl; Fri, 10 Mar 2023 08:55: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 1paYX3-0006B3-0c; Fri, 10 Mar 2023 08:55:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1paYX3-00042V-07; Fri, 10 Mar 2023 08:55:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=DPVYO3V/WbVCXbdU5J1IG8OoXV3nwz91gE56uPXhW/g=; b=prOFxxnTi8NcFEUAXnwRFe2JC5
	KBm5oHUHwvHlJuxJ1hIKkaO9jo/6h8ZkeHERXsS23PSFoN4y8jh8fVrZOtXBN+9WMlr7VSbP+h3Ak
	RfVsJGeAzPsGN3MOdt9xln/G6GGtP9n0OPBqRGY8boD9O7487Y6EARR5xjy0oNkTGcn8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179524-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179524: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:nested-setup:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-saverestore:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore.2:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:allowable
    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-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx: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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-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:saverestore-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=6a98c9cae232800c319ed69e1063480d31430887
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Mar 2023 08:55:21 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 19 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  17 guest-stop               fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 13 guest-stop fail REGR. vs. 178042
 test-arm64-arm64-xl         18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 16 guest-saverestore fail in 179511 REGR. vs. 178042
 test-amd64-amd64-xl-pvshim 18 guest-localmigrate fail in 179511 REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 19 guest-saverestore.2 fail in 179511 REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 17 guest-saverestore fail in 179511 REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 17 guest-saverestore fail in 179511 REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2 fail in 179511 REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail in 179511 REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 17 guest-stop     fail in 179511 REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 13 nested-setup fail in 179511 REGR. vs. 178042
 test-arm64-arm64-xl-xsm 18 guest-start/debian.repeat fail in 179511 REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 179511 REGR. vs. 178042
 test-amd64-amd64-xl-xsm  18 guest-localmigrate fail in 179516 REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail in 179516 REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 18 guest-start/debian.repeat fail in 179516 REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 18 guest-localmigrate fail in 179516 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit1 18 guest-localmigrate fail in 179511 pass in 179524
 test-amd64-amd64-xl-shadow 18 guest-localmigrate fail in 179511 pass in 179524
 test-amd64-amd64-freebsd11-amd64 13 guest-start  fail in 179511 pass in 179524
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 179511 pass in 179524
 test-amd64-coresched-amd64-xl 14 guest-start     fail in 179511 pass in 179524
 test-arm64-arm64-xl-credit1  14 guest-start      fail in 179511 pass in 179524
 test-arm64-arm64-xl          14 guest-start      fail in 179511 pass in 179524
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail in 179511 pass in 179524
 test-amd64-amd64-xl-credit2 19 guest-saverestore.2 fail in 179516 pass in 179511
 test-amd64-amd64-xl-shadow   14 guest-start      fail in 179516 pass in 179524
 test-amd64-amd64-libvirt-xsm 14 guest-start      fail in 179516 pass in 179524
 test-arm64-arm64-xl-credit2  14 guest-start      fail in 179516 pass in 179524
 test-amd64-amd64-xl-rtds     14 guest-start      fail in 179516 pass in 179524
 test-amd64-amd64-freebsd12-amd64 13 guest-start            fail pass in 179511
 test-amd64-amd64-xl-pvshim   14 guest-start                fail pass in 179511
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start             fail pass in 179511
 test-amd64-amd64-libvirt-xsm 17 guest-saverestore          fail pass in 179511
 test-amd64-amd64-xl-rtds     17 guest-saverestore          fail pass in 179511
 test-arm64-arm64-xl-xsm      14 guest-start                fail pass in 179511
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 17 guest-saverestore.2 fail pass in 179511
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install    fail pass in 179511
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start             fail pass in 179511
 test-amd64-amd64-xl-xsm      14 guest-start                fail pass in 179516
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start               fail pass in 179516
 test-amd64-amd64-libvirt-pair 25 guest-start/debian        fail pass in 179516
 test-amd64-amd64-xl-credit2  14 guest-start                fail pass in 179516
 test-arm64-arm64-libvirt-xsm 14 guest-start                fail pass in 179516
 test-arm64-arm64-xl-thunderx 14 guest-start                fail pass in 179516
 test-amd64-amd64-xl-multivcpu 14 guest-start               fail pass in 179516

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds 22 guest-start/debian.repeat fail in 179511 REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 179511 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 179511 never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 179511 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 179511 never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check fail in 179516 never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check fail in 179516 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                6a98c9cae232800c319ed69e1063480d31430887
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   16 days
Failing since        178093  2023-02-22 05:02:47 Z   16 days   33 attempts
Testing same since   179511  2023-03-08 21:41:25 Z    1 days    3 attempts

------------------------------------------------------------
2050 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 09:19:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 09:19:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508451.783113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paYu9-0003vS-9j; Fri, 10 Mar 2023 09:19:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508451.783113; Fri, 10 Mar 2023 09: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 1paYu9-0003vL-50; Fri, 10 Mar 2023 09:19:13 +0000
Received: by outflank-mailman (input) for mailman id 508451;
 Fri, 10 Mar 2023 09:19: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=ltz4=7C=citrix.com=prvs=426ffb546=roger.pau@srs-se1.protection.inumbo.net>)
 id 1paYu7-0003vF-BI
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 09:19:11 +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 9b4edb24-bf24-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 10:19:08 +0100 (CET)
Received: from mail-dm6nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Mar 2023 04:18:41 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by CH2PR03MB5206.namprd03.prod.outlook.com (2603:10b6:610:a3::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar
 2023 09:18:39 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023
 09:18: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: 9b4edb24-bf24-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678439948;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=mh2ueymrj7czzT7GtkczhUnwPi5VvVdRNyQ7JrvHfcM=;
  b=hwIQGyJvT7EWSlTf6YSLuyzfMjQRO5IzuuZCsfmX3DylP1Zm3z3UVJ4S
   IXaQaRCSQezQ6uGEYGP85QGb4SOkq1yJJEMtv/dAWWmRwjsm9he0ikILy
   RXW+MZhwKG6zYtB8UcLevY17l6MR1Rkni5GOHQN2RorkeurOjEufAXd2C
   k=;
X-IronPort-RemoteIP: 104.47.57.168
X-IronPort-MID: 99102769
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:JtusRK/OavLdGZ3uCnMXDrUDNX+TJUtcMsCJ2f8bNWPcYEJGY0x3z
 GAWWGDVOKuIY2Sme4pwPdmwo0sE6J/QzddqTQJp/iA8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkT5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklX0
 uAmK2hXViuDguW27eOUcsZ8uecseZyD0IM34hmMzBn/JNN/GNXvZvuP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWMilUvgNABM/KMEjCObd9SkUuC4
 HrP4kzyAw0ANczZwj2Amp6prr6exHuhB9xDfFG+3uJOrWSOgWAvNCMTZVTig+Tnsm6ZROsKf
 iT4/QJr98De7neDS8HwdxC8pHOeuxcaHdtcVeQngCmW0bbd6QudAmkCTxZCZcYguctwQiYlv
 neLkMnuHidHq6CORDSW8bL8hTyoNCcWLUcGZCkZXQUC/t/vqZ0yiRSJScxseIa3j8f0AjX5y
 SGiryUkgbgXy8kR2M2T+VHBniLppZXTSAMxzhvYU3jj7Q5jYoOhIYuy5jDz/ftGaYqUUFSFl
 HwFgNSFqvADC4mXky6AS/lLG6umj96BMTvBkUZ3FNwt+iqF/3+4YZsW5yN6LU1ydMEedlfUj
 FT7vApQ4NpfOSWsZKouOoapUZ10ne7nCMjvUe3SYpxWeJ9teQSb/SZoI0mNw2Tql0tqmqY6U
 XuGTfuR4b8hIfwP5FKLqy01i+9DKvwWrY8Lea3G8g==
IronPort-HdrOrdr: A9a23:cJoaBKOm7wHldcBcTjGjsMiBIKoaSvp037By7TEIdfUnSL3iqy
 nOpoVl6faQskdlZJhOo6HnBEDtewK+yXcX2/huAV7BZniehILAFugLhuGOr1KPek3DH4VmpM
 Jdmt1FebrN5C9B/KLHCWeDYrQd6ejC34ztvOHaz318CSFGApsQn3YLe3Sm+wZNNXN77NICZe
 ehz9sCoyC/PXcaasn+AXUaRe3OusDGj/vdEG877jAcmXWzsQ8=
X-IronPort-AV: E=Sophos;i="5.98,249,1673931600"; 
   d="scan'208";a="99102769"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E3cAHFupXgiLqlR4UYUipZiXR/MKnEZKZzhc81DSpZ/iPNGZnyV7svywErGjgNQV9ENj/hvkwNBO7ElzDs66/65Oa45Yv+e6j94H+r6NcnZMKN8NzvUhvZsICUhZKzeHoRsBhURLU3FsQvG6FCi4PrQzkwofkoSQocpvz/w8nrM5CAU7zTxgxudh3Wti3ec5GTSSciAELvmE2IEJ3BGIlmpsZR8rZcQP4lSHZedYdH+LhMyIZW89ehrJUUXNzyc1dFlYNu1RC86nWwZF2deHAKginZC9D2WqeMowSzPpp61jx8lc7/yvDnxPLSMykpqtc5cN1p5gJkswVM4sQ7lJRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=isv7pyswxh4k7JvnZXYR3aaQSe4UF5A2aKOxjW1mFpU=;
 b=FL2AH6LbdKxdL3CwOYra7m/8gu3s1kBtPj9AVz7GhYmgkP4exIJIg9YYx8WMdi/f1Ki5ZH4HU51xYN+yZG2oeVznBSlpzGpx+0wptNSIU35D9rmcqVx+HjR5GUfcpkE9YcwrY5cVv1TJvBr+1+HxJ33nqqL3oHB0+BMn6DdptnXxvj19/ZXWOP66S48Cdlr2ByFcIUAQYXFsr/VBnbtij7EUN2/VyJ7eFt1JqLZZz3ZmFAjMNl+mlTS4PMRGgPB6QBE/FS6BrOKm8Cbk6zeNsr4S2G9oV1JJak39TyMyS8GVvKp8cVxZnUf0OPPE+DLz0OPWIC6XQSGWVSValSzP1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=isv7pyswxh4k7JvnZXYR3aaQSe4UF5A2aKOxjW1mFpU=;
 b=CZvJMH375ij5f0xTyy2ALIIHGVor6d4M2Inp69vlAMfkow/FjB3Vu38rvNQiFKoHQ13QsutWWIVulbZk+0Ky/+jdbv5ujVXyWd+TElFV54UbR0kM7y2kYk6iCfyeM9Rk58RS4ohIi8VuqBZ9Pm/Xy+ImBR1qkwhM7RP97x8ZTW8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 10 Mar 2023 10:18:32 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jirislaby@kernel.org>, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v2] hvc/xen: prevent concurrent accesses to the shared
 ring
Message-ID: <ZAr16LM+qpGqa1h6@Air-de-Roger>
References: <20221130150919.13935-1-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2211301657200.4039@ubuntu-linux-20-04-desktop>
 <Y4nkFZal7oy+aICa@Air-de-Roger>
 <Y5cgYLNwtPbmP1JL@Air-de-Roger>
 <ZAm8BDGTMaI0XmMI@Air-de-Roger>
 <87zg8lo7fw.fsf@mpe.ellerman.id.au>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <87zg8lo7fw.fsf@mpe.ellerman.id.au>
X-ClientProxiedBy: LO4P123CA0670.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:351::16) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|CH2PR03MB5206:EE_
X-MS-Office365-Filtering-Correlation-Id: c4548530-6aba-478f-e1bf-08db21486ef4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pI+ZnyWZZSKqOaRA79Z9OpSJLCSR+6tbSFL2pSwqcAOUcYj7Ltz03JeoH5g4xNPks2qMJV8R9SnG6xWdOUmwHAcrtHT9g6f/ZrWhRiwfMZDe/EAmipiSatsnR70fE707PNpIrLK0ddwvFbxwE8hsdiOgXJy9cURiV4mo2dkSUN6j8kX5E2LfQyj0pW6RRV7q9RgRcveW73e+062UUeN5A9OCjcAYmwDDTtIyuxaVBm3hu1B2o13nTuOIg1V1FY5p/HgAOFVjqSyZ2xbI0kQ49XoUPUcDYh52Q9/C7Au4eOs55MYE+7oM2fLBMfIJV480J6dBA3bE2gHOt8vSN1WXWrTtR5CdUv1iKh2Yze1GGGi41krwHSjoV3Col0OzwsXrd2459BmSaxkgLuTOmAfGPfq4E5606oAbBGlgD47/HJFjqHwQ82r4ioVSH3lBp5ICY1UZnnKseCZt40u22BVnRZqBo7kusATZJAf1RLMZFtJK34neDvPSXEYhvCFZFS+NPwn5K/ibMd5cXXbo4uRAMQXOYgrvPj/fNb1PAL+UrMT/CTNqHhxpVlpEDI5MJ5C0gbT/UHNrwbki7nMJyC8Fk17ER/29YzD/bSBMXOh1u29EpIru2rBcUigj/l3A36oyTLSePUoSyUtVuHORSwXhUTs/ExAkAowv8rYVUX9bY6crLULrBAfXh+gitfuiTngp
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(136003)(376002)(366004)(396003)(39860400002)(346002)(451199018)(85182001)(6486002)(82960400001)(186003)(26005)(6666004)(6506007)(41300700001)(83380400001)(9686003)(66946007)(8676002)(8936002)(4326008)(6916009)(2906002)(6512007)(66476007)(66556008)(5660300002)(54906003)(38100700002)(316002)(86362001)(33716001)(478600001)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NmRRVTZTL0RUN3pLREhsNGdoZkJNU25WN3Fvd2ZnVjBoZ2JDZzlhRVRxRlVQ?=
 =?utf-8?B?WUhTYUk3R29VbzJrK0IxMFhWQ1JqM1ZIZ3JIaWR6b3o0b09CdGkrRXBOTmRP?=
 =?utf-8?B?ZFVzK2Z2KzcxbHFsVGZkTDNRWW5NQzFnUjZ3UWhwQWNjTituM2N5dkltT3hR?=
 =?utf-8?B?eEtkWHM3L2ppMDlrZHdlZVVUZXBnQzVoYUU5WVVEMllleVNlb0Y3OFZRWlNR?=
 =?utf-8?B?czhKdkR4UlhWREQ5UHhpb2ZZaStORXFVUjJ2UXVPYkRraUJIWW9CR1dRUnE1?=
 =?utf-8?B?TGwwcWVkQTYzSlF5MUlMYW1rZDB1RXVJcDNBalpTYlhRTFJBNUoyUjJqcGhW?=
 =?utf-8?B?d3hYNVBDTXRCd2xyMXRqWkVSbERDRWhrQlRoWmJOYmJtK0ZSS1R3bUpFZS9E?=
 =?utf-8?B?K2k4TWxsVElSNU5YYnlBMlRLSlBiZERuRXp6WVA1MEpwTUIyWGVORFAxY2c0?=
 =?utf-8?B?UzhQYkZLNENtTmp4ZGV2dFdGakNZWnB0L0tJcVZ6Y0l2bFpFWTlIL2MvZ3JW?=
 =?utf-8?B?VUwyWWZYdTVPakxEV1hod1p2UytKQUc4L1VBTDV0Lzl0VXRmeUFtaGRNL0x0?=
 =?utf-8?B?c0M2WUVCYXRScU52SFQ5NVhIdEJDVjQwbWhJcUdCTlBMeUJwOTJ2S3orODlB?=
 =?utf-8?B?UCtVRktzRlNmZ0pBdXBvQ3RCRXJGWVk3T3ZlSVBrdDV0bjFLQkRQS3JGQ2E4?=
 =?utf-8?B?dTA1aVVteDFJcFhYOXdVeWh5VUJ2VFh2ekRJSkZYTFRDR3F1Yll0cUorZ0Nv?=
 =?utf-8?B?QXNsc256L1RENWNWdVZwREcrZ1luRUhhQm1PRUR4dHJHWUsrRkZKak0xb3Ux?=
 =?utf-8?B?cmlKUmNYM1VYdkg1NlZ6MWE5TFZNenBsZVVrdzVrZnh4RnRTZGpMc01pVi82?=
 =?utf-8?B?cXhsa1ZzdktmODRjMldFLzZoR3FnTnpqbXZIV0xDUDR3dGhxYjFWcUFxbnlO?=
 =?utf-8?B?NFp0OURIVHhnd3h4UjV3OFF1emRvNEpDLzZsL0tHbVRjWG5lWmx2WGE2L2Q3?=
 =?utf-8?B?a3lyVFA4bTFQK3NjRlQ5RU1UU0NLZXlERnJXVjMzQmwrQWJjMjIrUWhkZE5J?=
 =?utf-8?B?clBmRTdLVWRQMlNmbkVvdE94eC9ZREZ2dkZjUkVsVUFaV3VaZkFubEpZVHlW?=
 =?utf-8?B?MFUyWWNKb0R4bXBvQ2pjTlpmc2pSY3BqVzFjWU5vcTE4ZHZWWkZGZlhOekhz?=
 =?utf-8?B?aU1TVjlhaUNpVW9NQ0xiZ2ZuNldIMGpaTWN1K0xQM1NuMzY0Z0xTYTUyVkEr?=
 =?utf-8?B?NnhPRFBGK0p5RjlneUdhU2ZwZFpJKyt0TkJHalQwZlhXelpOMjM5RXFMRWJm?=
 =?utf-8?B?T0U3Tk84emFpQmN3RWRtWTRaMUJOUkhaOElJUS9RdkN5dzlrY21xdmRNR3dC?=
 =?utf-8?B?K2VsaVpmRkQ3dnVhNThxK1JKaURlSkFRS3prR0NpK0syMEdNeFJ0MVErZldD?=
 =?utf-8?B?VjZNUFBVY0pGS2loLyt6VTlBV0h2ZU5RdDRWNDhodVRKcVk4dmNoQXJJWG9l?=
 =?utf-8?B?dWE1amhhRTgrczJtNTRWYW52Rkp0TWduTVBDVnozSlgxOUQ0TEtnaW5UcXlz?=
 =?utf-8?B?SS9kY0x1OWxXRjRKekVlRUNmYW40SndwdnU4ZGVwTllMNHEvNGVTUG5zNmVq?=
 =?utf-8?B?T1pmTVpKK1EvZWprbXVqaHZlemdkWmxWVkUrTndEcVJCUk9ONEs3a3JFVjIy?=
 =?utf-8?B?MFVzKytZRnI4dVlFc1RoUWp4bmw2ajl2M0xHMGNyd3pwSGhCVTZUQXFxR0ZU?=
 =?utf-8?B?K2tRUEd1bnlpbUk0Q0RZNXkyTElVWnpNQlp4bTQ2WU5xNWVmN2FibExCYTk0?=
 =?utf-8?B?ZzU0MnRZVi9hRXJCazdITkhscGtQYWxNNEE1dkNxZ0RoUjVqZEhlOUVKelps?=
 =?utf-8?B?aXRrSjlRa09DZzhnU09GNHcvWjQvcTduTk9WSitqUEV5TG5QSUJvM05ManZI?=
 =?utf-8?B?aUVZdFhkMk0yQ2x2TytFaHJwdFNYUWtHVTgyZEs5TDZjeUgwWEMxUW9ydWZj?=
 =?utf-8?B?MlFVZHQ5T1hOd25McTE4ZmRYbmcyZjQvUFNjdXdjL085WEJSWWY3RTJ0S0dD?=
 =?utf-8?B?RVM3U2RNOHd1dFZVQVJVZXRjR2QyNXJlWVNxMHN2TEQrUitFUHFqM1dZNVZt?=
 =?utf-8?Q?Nq1AvQ6AywcwV3uOHSQkxzl6r?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?amN2Y0Y2ZG03cEQvam12S1NNRFo3em9xU1dxaDlsNXBaK1VvTzg2RkRPTlRu?=
 =?utf-8?B?ZEczRHV1ckhSMWliaExKOFBLN2Z0TkgrNCtvS1ZpdFlsWmtpS2xGaGl6T3hY?=
 =?utf-8?B?Vkt3VWZGYWd1dTAxNnFlNWd4SW9UalcreFB3YkU4L21idk9aRjlqYkJHVDk2?=
 =?utf-8?B?cXMrRjZxdW9vNFQrb2tEU3ZkcDBIK2tSOVAzZXBuUnQweGZnUndhQ1NsS1F1?=
 =?utf-8?B?QnFtMFNJZjk3QnZ1cStHOHhud1NWWTIvcm1VMzB4NlBNUUJmMDFqUlMwN2Fu?=
 =?utf-8?B?MisySEIydzcwd0hTZlNmZjJkNWhSczl3Yk9Bb3pHb0JSVENscXBxcVQ0WDBD?=
 =?utf-8?B?RkxZa3NNOHVWNnhCRUxxbExhUEJUTFE4K1p0QnpUdkFZNHFybS9KSkJpckUx?=
 =?utf-8?B?NGgza0ZOaFlEWFFDZ0dBS2U4anYwYU5UMmkzclh6ZG1UQ1ZvS3FJaFFoK0Rv?=
 =?utf-8?B?bC9tOGlTdWV0NnIvS29mY0dpSTFBYllwRk9rY01iRGE0YitJU2FzK3orbERr?=
 =?utf-8?B?Ylk2eXdINWJFOTN1UEJscFZVYll4bUdLRGFvVkp0N1B3dExiYVQzdDBNSzFp?=
 =?utf-8?B?Nkw4K1lXZlhwTGJVd3BUSGltcmNpRXZVQjFZQmhUdG9oUFRIZGxkajN4V2tp?=
 =?utf-8?B?N0UwVE5OdVdpTGRiNEltbm1uSFllcE4xOHRhZS91UmZUSE9hQ3hxQkcyZDdW?=
 =?utf-8?B?LzFOOEpmY0F0SHFZb0p6Z25QeUxVSXI4bUVBdUs4QmVHWmdTbHFyd05kdldy?=
 =?utf-8?B?ME4raUdLNWxaSXg2NTlkdUQweEZrVE1UVXg1cmhSNVdNQmQ0YXBXa3hSejhz?=
 =?utf-8?B?MjhDTmZyVTJRTG12ZVQ5dVJHZDJaQUdvdjBwaEtubnZyWGJ0MWZHdk40TVVR?=
 =?utf-8?B?ZDg0Y2ZlUWNzbitUSkJ3WHR3Q3RrTVBtL2k3ajc5cTA4VzI0S0lVWGFOWUNx?=
 =?utf-8?B?UU5CSElKUS9QN3dpWDVraTUrbjZEWXZyMGMxRHRTZS9EVEt5Uy9uSlI2UFBJ?=
 =?utf-8?B?VEo1L0tRdmRqN2pBZ3VDWnZsQi8wV3Y1dCtxYWdRcFNjZjEwckpsQjNaWU9t?=
 =?utf-8?B?OWNTOThzSU5rQWdBUXlQQ3ZMeDl1eklkamV5alU5aXBodmxYbGNDNG1Tdnpa?=
 =?utf-8?B?Z0xTbnM0enVHV25SWUpYRlVyL2hRU1V1RU9kQzRwVDRTNXZ0bEpReVNYL0cx?=
 =?utf-8?B?R1ZPc2hWME9yNXhURGpRSW50UVNYeVhUMmRlOVZLVklBOVBCdHlCdkg0Mm8y?=
 =?utf-8?B?WFBZaTZMRWhXZU9HSkg0TXJyOG9QRFNhWFgrNWViK1VUcGRxQVFjU0txaEMx?=
 =?utf-8?Q?safIwPNU7S7SydN93fn9H+aHuretHgaJtK?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c4548530-6aba-478f-e1bf-08db21486ef4
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 09:18:38.8773
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wnsamIzCoRukN23yQdXuyERRG3a4VqluDdcL62tciiEagrn63HaHJHXVq9G/TsF8dbht+UtlKoLInmrdri/K1Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5206

On Fri, Mar 10, 2023 at 10:01:39AM +1100, Michael Ellerman wrote:
> Roger Pau Monné <roger.pau@citrix.com> writes:
> > On Mon, Dec 12, 2022 at 01:36:48PM +0100, Roger Pau Monné wrote:
> >> On Fri, Dec 02, 2022 at 12:40:05PM +0100, Roger Pau Monné wrote:
> >> > On Wed, Nov 30, 2022 at 05:08:06PM -0800, Stefano Stabellini wrote:
> >> > > On Wed, 30 Nov 2022, Roger Pau Monne wrote:
> >> > > > The hvc machinery registers both a console and a tty device based on
> >> > > > the hv ops provided by the specific implementation.  Those two
> >> > > > interfaces however have different locks, and there's no single locks
> >> > > > that's shared between the tty and the console implementations, hence
> >> > > > the driver needs to protect itself against concurrent accesses.
> >> > > > Otherwise concurrent calls using the split interfaces are likely to
> >> > > > corrupt the ring indexes, leaving the console unusable.
> >> > > >
> >> > > > Introduce a lock to xencons_info to serialize accesses to the shared
> >> > > > ring.  This is only required when using the shared memory console,
> >> > > > concurrent accesses to the hypercall based console implementation are
> >> > > > not an issue.
> >> > > >
> >> > > > Note the conditional logic in domU_read_console() is slightly modified
> >> > > > so the notify_daemon() call can be done outside of the locked region:
> >> > > > it's an hypercall and there's no need for it to be done with the lock
> >> > > > held.
> >> > >
> >> > > For domU_read_console: I don't mean to block this patch but we need to
> >> > > be sure about the semantics of hv_ops.get_chars. Either it is expected
> >> > > to be already locked, then we definitely shouldn't add another lock to
> >> > > domU_read_console. Or it is not expected to be already locked, then we
> >> > > should add the lock.
> >> > >
> >> > > My impression is that it is expected to be already locked, but I think
> >> > > we need Greg or Jiri to confirm one way or the other.
> >> >
> >> > Let me move both to the 'To:' field then.
> >> >
> >> > My main concern is the usage of hv_ops.get_chars hook in
> >> > hvc_poll_get_char(), as it's not obvious to me that callers of
> >> > tty->poll_get_char hook as returned by tty_find_polling_driver() will
> >> > always do so with the tty lock held (in fact the only user right now
> >> > doesn't seem to hold the tty lock).
> >> >
> >> > > Aside from that the rest looks fine.
> >
> > I guess I could reluctantly remove the lock in the get_chars hook,
> > albeit I'm not convinced at all the lock is not needed there.
> 
> I don't know the xen driver, but other HVC backends have a lock around
> their private state in their get_chars() implementations.
> 
> See eg. hvterm_raw_get_chars().

Yes, that was one of the motivation for adding the lock also here, and
it has already been mentioned.  The other is the usage of the hooks by
callers of hvc_poll_get_char().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 10:39:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 10:39:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508463.783122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paa9Q-0005sn-5V; Fri, 10 Mar 2023 10:39:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508463.783122; Fri, 10 Mar 2023 10:39: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 1paa9Q-0005sg-2b; Fri, 10 Mar 2023 10:39:04 +0000
Received: by outflank-mailman (input) for mailman id 508463;
 Fri, 10 Mar 2023 10:39: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=VN0O=7C=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1paa9O-0005rD-By
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 10:39:02 +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 c3d83f03-bf2f-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 11:39:00 +0100 (CET)
Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com
 [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-343-gH9lfLG0Mp2ZC7ZZ7qsavQ-1; Fri, 10 Mar 2023 05:38:57 -0500
Received: by mail-wm1-f72.google.com with SMTP id
 l31-20020a05600c1d1f00b003e8626cdd42so1642605wms.3
 for <xen-devel@lists.xenproject.org>; Fri, 10 Mar 2023 02:38:57 -0800 (PST)
Received: from [192.168.0.2] (ip-109-43-178-140.web.vodafone.de.
 [109.43.178.140]) by smtp.gmail.com with ESMTPSA id
 h19-20020a05600c351300b003e2058a7109sm2840339wmq.14.2023.03.10.02.38.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 10 Mar 2023 02:38: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: c3d83f03-bf2f-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678444738;
	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=uLsSJ9HfwXSuLvEmI+ykLii9J7TAAUU/sN9QFRCPKLM=;
	b=VZeu/Lcsfy0gsUeMawE77mhMz8FXgeAVsNuaKGl/79LJcri3ev+ajKAFhPjXR8X/ThJ8S2
	leWaB++h4uL5qc80WvWwOpcSlrVdR+cnqROAi5IERyD1XKcVc0nmYlN9wHP4vMCaNaCDDO
	dN9TVSA/GqCF540QvY6V0vzbVTFaF48=
X-MC-Unique: gH9lfLG0Mp2ZC7ZZ7qsavQ-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678444736;
        h=content-transfer-encoding:in-reply-to:subject:from:references:cc:to
         :content-language:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=uLsSJ9HfwXSuLvEmI+ykLii9J7TAAUU/sN9QFRCPKLM=;
        b=12gpzv2+1P4TGf0PWcz2ToZYbJET3+G5IqmcIrtK7SSrqJ9ekDWJaOvns2UpNJ1iZZ
         TvnfaFKEN64cv1ACPwlnhjZZRUExtGQ9M2h0N1t0kf4CFD/kVYRY/k5zve8KRA+HK1gw
         YeLZB2/Ciw7KKBDAbcbL8uzaswNGYznublIcF0Ly/O7XeAIToIuiwhKZh2An1ZRuWFW6
         FNTp1JCJH7PpgJx0+DsfdoiYpW9hJhcvHZhnyE2arcT4jyQNcoru/aYouSpDfYBvZWsc
         X5fx5yh2e4YDd6X9yQODbW/3K0v+1YCR0eXFd6Epq06vMf+heqt/lGWlxI40GazqM5ro
         t1EQ==
X-Gm-Message-State: AO0yUKULydi92xq12H85YnLRNztVu8K91ap/GodCZf19VY5HQEpmp/38
	Ou5cjKs8oZsLY1vqEQmcH5RlJbH0YOo/Ul3n3zqcOytN6peVv6nwyPo3paiuPNABrLYR06ws6vJ
	rshYHy+kgwybPocXlYTCW1eF93iA=
X-Received: by 2002:a05:600c:4f44:b0:3eb:383c:1870 with SMTP id m4-20020a05600c4f4400b003eb383c1870mr2188779wmq.11.1678444736263;
        Fri, 10 Mar 2023 02:38:56 -0800 (PST)
X-Google-Smtp-Source: AK7set9TrEJ0rqjEGofCtU/tMmbs/X59NXj5FV3c7sySdDmqWmiZ57yMWYZ+XYP/NP20l27b3iCfjA==
X-Received: by 2002:a05:600c:4f44:b0:3eb:383c:1870 with SMTP id m4-20020a05600c4f4400b003eb383c1870mr2188722wmq.11.1678444735868;
        Fri, 10 Mar 2023 02:38:55 -0800 (PST)
Message-ID: <289e9e47-be6d-1f7f-b0b6-f5b9ed5bc1e8@redhat.com>
Date: Fri, 10 Mar 2023 11:38:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
To: Alexander Bulekov <alxndr@bu.edu>, qemu-devel@nongnu.org
Cc: Stefan Hajnoczi <stefanha@redhat.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>,
 Mauro Matteo Cascella <mcascell@redhat.com>, Peter Xu <peterx@redhat.com>,
 Jason Wang <jasowang@redhat.com>, David Hildenbrand <david@redhat.com>,
 Gerd Hoffmann <kraxel@redhat.com>, Laurent Vivier <lvivier@redhat.com>,
 Bandan Das <bsd@redhat.com>, "Edgar E . Iglesias"
 <edgar.iglesias@gmail.com>, Darren Kenny <darren.kenny@oracle.com>,
 Bin Meng <bin.meng@windriver.com>, Paolo Bonzini <pbonzini@redhat.com>,
 "Michael S . Tsirkin" <mst@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 =?UTF-8?Q?Daniel_P_=2e_Berrang=c3=a9?= <berrange@redhat.com>,
 Eduardo Habkost <eduardo@habkost.net>, Jon Maloy <jmaloy@redhat.com>,
 Siqi Chen <coc.cyqh@gmail.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>,
 Amit Shah <amit@kernel.org>, =?UTF-8?Q?Marc-Andr=c3=a9_Lureau?=
 <marcandre.lureau@redhat.com>, John Snow <jsnow@redhat.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Keith Busch <kbusch@kernel.org>, Klaus Jensen <its@irrelevant.dk>,
 Fam Zheng <fam@euphon.net>, Dmitry Fleytman <dmitry.fleytman@gmail.com>,
 "Gonglei (Arei)" <arei.gonglei@huawei.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:virtio-blk" <qemu-block@nongnu.org>,
 "open list:i.MX31 (kzm)" <qemu-arm@nongnu.org>,
 "open list:Old World (g3beige)" <qemu-ppc@nongnu.org>
References: <20230205040737.3567731-1-alxndr@bu.edu>
 <20230205040737.3567731-5-alxndr@bu.edu>
From: Thomas Huth <thuth@redhat.com>
Subject: Re: [PATCH v6 4/4] hw: replace most qemu_bh_new calls with
 qemu_bh_new_guarded
In-Reply-To: <20230205040737.3567731-5-alxndr@bu.edu>
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 05/02/2023 05.07, Alexander Bulekov wrote:
> This protects devices from bh->mmio reentrancy issues.
> 
> Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
> Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
> ---
...
> diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
> index 65c4979c3c..f077c1b255 100644
> --- a/hw/9pfs/xen-9p-backend.c
> +++ b/hw/9pfs/xen-9p-backend.c
> @@ -441,7 +441,9 @@ static int xen_9pfs_connect(struct XenLegacyDevice *xendev)
>           xen_9pdev->rings[i].ring.out = xen_9pdev->rings[i].data +
>                                          XEN_FLEX_RING_SIZE(ring_order);
>   
> -        xen_9pdev->rings[i].bh = qemu_bh_new(xen_9pfs_bh, &xen_9pdev->rings[i]);
> +        xen_9pdev->rings[i].bh = qemu_bh_new_guarded(xen_9pfs_bh,
> +                                                     &xen_9pdev->rings[i],
> +                                                     &DEVICE(xen_9pdev)->mem_reentrancy_guard);

xen_9pdev is not derived from DeviceState, so you must not cast it with 
DEVICE().

> diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
> index 7ce001cacd..37091150cb 100644
> --- a/hw/ide/ahci.c
> +++ b/hw/ide/ahci.c
> @@ -1508,7 +1508,8 @@ static void ahci_cmd_done(const IDEDMA *dma)
>       ahci_write_fis_d2h(ad);
>   
>       if (ad->port_regs.cmd_issue && !ad->check_bh) {
> -        ad->check_bh = qemu_bh_new(ahci_check_cmd_bh, ad);
> +        ad->check_bh = qemu_bh_new_guarded(ahci_check_cmd_bh, ad,
> +                                           &DEVICE(ad)->mem_reentrancy_guard);
>           qemu_bh_schedule(ad->check_bh);
>       }
>   }

Dito - ad is not derived from DeviceState, so you cannot use DEVICE() here.

(This was causing the crash in the macOS CI job)

> diff --git a/hw/ide/core.c b/hw/ide/core.c
> index 5d1039378f..8c8d1a8ec2 100644
> --- a/hw/ide/core.c
> +++ b/hw/ide/core.c
> @@ -519,7 +519,8 @@ BlockAIOCB *ide_issue_trim(
>   
>       iocb = blk_aio_get(&trim_aiocb_info, s->blk, cb, cb_opaque);
>       iocb->s = s;
> -    iocb->bh = qemu_bh_new(ide_trim_bh_cb, iocb);
> +    iocb->bh = qemu_bh_new_guarded(ide_trim_bh_cb, iocb,
> +                                   &DEVICE(s)->mem_reentrancy_guard);

IDEState s is also not directly derived from DeviceState. Not sure, but 
maybe you can get to the device here in a similar way that is done in 
ide_identify() :

      IDEDevice *dev = s->unit ? s->bus->slave : s->bus->master;

?

> diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
> index 746f07c4d2..309cebacc6 100644
> --- a/hw/virtio/virtio-balloon.c
> +++ b/hw/virtio/virtio-balloon.c
> @@ -908,8 +908,9 @@ static void virtio_balloon_device_realize(DeviceState *dev, Error **errp)
>           precopy_add_notifier(&s->free_page_hint_notify);
>   
>           object_ref(OBJECT(s->iothread));
> -        s->free_page_bh = aio_bh_new(iothread_get_aio_context(s->iothread),
> -                                     virtio_ballloon_get_free_page_hints, s);
> +        s->free_page_bh = aio_bh_new_guarded(iothread_get_aio_context(s->iothread),
> +                                             virtio_ballloon_get_free_page_hints, s,
> +                                             &DEVICE(s)->mem_reentrancy_guard);

You could use "dev" instead of "s" here to get rid of the DEVICE() cast.

The remaining changes look fine to me.

  Thomas



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 10:58:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 10:58:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508466.783133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paaRq-0000Jd-PT; Fri, 10 Mar 2023 10:58:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508466.783133; Fri, 10 Mar 2023 10:58: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 1paaRq-0000JW-LP; Fri, 10 Mar 2023 10:58:06 +0000
Received: by outflank-mailman (input) for mailman id 508466;
 Fri, 10 Mar 2023 10:58: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=KOTX=7C=gmail.com=matiasevara@srs-se1.protection.inumbo.net>)
 id 1paaRq-0000JP-5g
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 10:58:06 +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 6e2a4be7-bf32-11ed-956e-85ef70e17bfa;
 Fri, 10 Mar 2023 11:58:03 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 m25-20020a7bcb99000000b003e7842b75f2so3127191wmi.3
 for <xen-devel@lists.xenproject.org>; Fri, 10 Mar 2023 02:58:03 -0800 (PST)
Received: from horizon ([2a01:e0a:257:8c60:48e5:bfa:d652:b8ef])
 by smtp.gmail.com with ESMTPSA id
 i22-20020a1c5416000000b003dc49e0132asm2705480wmb.1.2023.03.10.02.58.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Mar 2023 02:58: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: 6e2a4be7-bf32-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678445883;
        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=mpcjl2hoHMP9cG/XHbZNkap5Y1mQ3PDL3dEarn6gP0Q=;
        b=jnV9X3+5n4yPxENZ7IV80rb//F8TgQ65lDLi8+NSTS7QFdfaaj05+bwjAvhwM4mFlM
         kKqZVByt4lTvvntvHNph/xjVsmSv+bp9YuTaSaM5HwGP8/xwvlmPu5S0SH7d/b7KQ/kH
         bYZkfMBwmDAj+uEcXxhr7qUh3RWPAWRy/3npIW/wWxA/Bkq6DYjyj4hg/h59Tdw/n8gS
         011Gh/dTq9MqS8bA7Qm5CpMT/3NOd/ytu3Pgclo2np8oRIix8gWr+YS/+JWdipKxESRm
         IJL1Tcw7m2Nk5QHrs3YajYEKntX5WfSMrNkm5fmpkNiNh+L/8DmUcpok+pmpkrKa0m2y
         7/XQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678445883;
        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=mpcjl2hoHMP9cG/XHbZNkap5Y1mQ3PDL3dEarn6gP0Q=;
        b=NBCWgjmQcDo7MY2Ml4hkI59Y6jLtFKOKRZ3k8CMhC5eyfpkDIPy82K01V1snlAKi40
         A0/+2Wl+ZDmu9pVap1wQSxeynHeaEuFroqihuWlG6MbOXC1aZSiP8OXfSCYWQieU+UCp
         B3i4LSNj35niTagZouNQEONXIg9OCtSMiKE/Lcpjrj8pgR9Gg+60RPLHlAP2I6EILx+V
         +iSJfSnXQ35fQA0GpFLLauQ2mRpt1sFLkTgNCB2RkHqEiNsWNnEqm/W3gCag99cUGu9A
         IVbV1jZH3qg86PIjL0udNAQa9GQkkJzzGA8BscAf+IDsUx0F80kwIQpkkW5kIVoCWTJ5
         0P9g==
X-Gm-Message-State: AO0yUKXINyDPd5jbaNuubDA2eEWZ298Dg3uR0Ca8GTho2EWU/p+ycCGB
	lUmELvNLDItMbuG4YK/BpKtXui2pAcYZXQ==
X-Google-Smtp-Source: AK7set/F4d6EWWSFODz1aoQ0rMNTFfW/gbj4O9MYD2mAw8t08ht/CP8CCavZDGnWRLz41MHW4I7wGg==
X-Received: by 2002:a05:600c:35c9:b0:3ea:d601:976f with SMTP id r9-20020a05600c35c900b003ead601976fmr2221669wmq.23.1678445883023;
        Fri, 10 Mar 2023 02:58:03 -0800 (PST)
Date: Fri, 10 Mar 2023 11:58:00 +0100
From: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org,
	Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: API/ABIs: Re: [RFC PATCH v2 0/2] Add a new acquire resource to
 query vcpu statistics
Message-ID: <20230310105800.GA1285481@horizon>
References: <cover.1665138677.git.matias.vara@vates.fr>
 <90a551bc-ffda-6db8-775b-11c100bf6f52@citrix.com>
 <20230306142315.GA745324@horizon>
 <c40f1a4e-63a5-af2a-e5db-729b1af80708@suse.com>
 <20230308115410.GA1108824@horizon>
 <d0354bab-3022-6048-8d58-45f63aaf26be@suse.com>
 <20230309103825.GA1221165@horizon>
 <645fcd9a-755a-e2a2-f332-93c5e571b9e5@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <645fcd9a-755a-e2a2-f332-93c5e571b9e5@suse.com>

On Thu, Mar 09, 2023 at 12:50:18PM +0100, Jan Beulich wrote:
> On 09.03.2023 11:38, Matias Ezequiel Vara Larsen wrote:
> > On Wed, Mar 08, 2023 at 03:16:05PM +0100, Jan Beulich wrote:
> >> On 08.03.2023 12:54, Matias Ezequiel Vara Larsen wrote:
> >>> On Tue, Mar 07, 2023 at 11:12:00AM +0100, Jan Beulich wrote:
> >>>> On 06.03.2023 15:23, Matias Ezequiel Vara Larsen wrote:
> >>>>> - Xen shall use the "stats_active" field to indicate what it is producing. In
> >>>>>   this field, reserved bits shall be 0. This shall allow us to agree on the
> >>>>> layout even when producer and consumer are compiled with different headers.
> >>>>
> >>>> I wonder how well such a bitfield is going to scale. It provides for
> >>>> only 32 (maybe 64) counters. Of course this may seem a lot right now,
> >>>> but you never know how quickly something like this can grow. Plus
> >>>> with ...
> >>>>
> >>>
> >>> Would it make sense to define it like this?:
> >>>
> >>> struct vcpu_shmem_stats {
> >>> #define STATS_A (1u << 0)
> >>> ...
> >>> #define VCPU_STATS_MAGIC 0xaabbccdd
> >>>      uint32_t magic;
> >>>      uint32_t offset;  // roundup(sizeof(vcpu_shmem_stats) + sizeof(uint32_t) * nr_stats, cacheline_size)
> >>>      uint32_t size;    // sizeof(vcpu_stats)
> >>>      uint32_t stride;  // roundup(sizeof(vcpu_stats), cacheline_size)
> >>>      uint32_t nr_stats; // size of stats_active in uint32_t
> >>>      uint32_t stats_active[XEN_FLEX_ARRAY_DIM];
> >>>      ...
> >>> };
> >>
> > 
> > The use of stats_active[] is meant to have a bitmap that could scale thus not
> > limiting the number of counters in the vcpu_stat structure to 32 or 64. I can't
> > see other way to have an unlimited number of counters though.
> > 
> >> Possibly, but this would make it harder to use the interface. An alternative
> >> might be to specify that an actual stats value set to ~0 marks an inactive
> >> element. Since these are 64-bit counters, with today's and tomorrow's
> >> computers we won't be at risk of a counter reaching a value of 2^^64-1, I
> >> guess. And even if there was one where such a risk could not be excluded
> >> (e.g. because of using pretty large increments), one would merely need to
> >> make sure to saturate at 2^^64-2. Plus at such a point one would need to
> >> consider anyway to switch to 128-bit fields, as neither saturated nor
> >> wrapped values are of much use to consumers.
> >>
> > 
> > If I understand well, this use-case is in case an element in the stats_active
> > bitmap becomes inactive, i.e., it is set to "0" in stats_active[]. You are
> > proposing to set to ~0 the actual stats value to mark an inactive element. I
> > may be missing something here but would not be enough to set to "0" the
> > corresponding stats_active[] bit? 
> 
> The suggestion was to eliminate the need for stats_active[].
> 
Oh, I see, thanks for the clarification. To summarise, these are the current
options:
1. Use a "uint64_t" field thus limiting the number of counters to 64. The
current vcpu_runstate_info structure is limited to 4 counters though, one for
each RUNSTATE_*. 
2. Use a dynamic array but this makes harder to use the interface.
3. Eliminate stats_active and set to ~0 the actual stats value to mark inactive
counters. This requires adding a "nr_stats" field to know how many counters are.
Also, this requires to make sure to saturate at 2^^64-2.

I might miss some details here but these are the options to evaluate. 

I would go with a variation of 1) by using two uint64_t, i.e., up to 128 vcpu's
counters, which I think it would be enough. I may be wrong.

Thoughs?
 
Matias 


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 11:06:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 11:06:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508471.783143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paaa4-00028v-Lx; Fri, 10 Mar 2023 11:06:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508471.783143; Fri, 10 Mar 2023 11:06: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 1paaa4-00028o-JB; Fri, 10 Mar 2023 11:06:36 +0000
Received: by outflank-mailman (input) for mailman id 508471;
 Fri, 10 Mar 2023 11:06: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=txLX=7C=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1paaa3-00028i-QN
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 11:06:35 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e7c09c8-bf33-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 12:06:34 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB9221.eurprd04.prod.outlook.com (2603:10a6:102:2a0::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar
 2023 11:06:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023
 11: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: 9e7c09c8-bf33-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gmtxPkEegL8Lk+WHxVnbAOmLJK46xuP4I/crLTb0p89aXeacIf8Eb2jYCy5Bu61IvScNs0rBkk9YvJo6p88TFmqmXL5tLsNSLPY7+gW/szQ5KY1aAkYw6BC1uEAMY5+ErcvrjKc5iLMWDoVwBFTybkwc1CENwZmlgninmKMPfZx97uz5mCXJ2Jl91HECad32EIFUxkd8iQgNlU9SUn1CwyqmuyQlu9d/kblCI+GKi+mnfMxGGf2iX6QT/djnlUblUhyyFkVlnRByH5A8FHTMQCSSiOrC1qe49m+ZEpP0cz0rlKNIOCvtq2ox1qfpok9G6mjrc6+ycXl34e3RkGKpPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vnQ6wnNKTC5NlFeCX1Lrcuqeu1MVLdf72NoJSaFGOl0=;
 b=DJkq7CoqWJZUNw3hQGtHvHA1w666fk4TwORfPC5GNA5BJmtg6W/eMRBCWxyBPp2BlD+LU1DheBqa+7ngFhneA0HwazplidF1jHg/b4Fc0D+8WKDlg10hLUGanB/srE1N/jU3EL8ri49qh5z5BEehaXUw2DCAWcdb4M7B56ngilw9dmSDoh8tEh+oKHV1ZqjpyiKeBVVvQC5LaA5/qCuVW0zPE/ZMQvKAsfrKXoRHj7W9NlZa2Td6si2ttLp6jju0XGhKTN+NVHJts7Qgi+KKQCZqH28lJknUTDjvGx694+uUg/Yz+tl7NFmb1Tmuux042eHuPPIl/lwefLtVVc7Ptg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vnQ6wnNKTC5NlFeCX1Lrcuqeu1MVLdf72NoJSaFGOl0=;
 b=HQCWx3Qf//Lpaacrtv8YdCAyLIFuvFg/u3+DGlU+FkasRoFrX5pe441AuLydB3n8BARqdvYJSzxUB1MfTrceEtJm6wsuHSB/LxQ8ZHUu3O8qz/SlL+Y/pD7RrCxFe5SrHzgj5WjGrNNS2mv/4oUG/5QJJ02lvhR96WcLbjtOywc5kiax7Abi6Z2GyXXR3l+tMq2StTyvhHWk4cA6Qxaf2mab8xSnksQqS6u93wBFMl2axjUCar5ivSzpcNqDkPdzmC1rpOLrT01iPGU1gYLJ1Kn4w0ihQDl3S4T4BmUxnIYBvzA7zbNhPe9FmCJ49m6bBByr54pzAl5TP+FxlWeLgg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f2c7a5db-80d3-a89b-dff5-250eb18bec14@suse.com>
Date: Fri, 10 Mar 2023 12:06:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] tests/vpci: install test
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: andrew.cooper3@citrix.com, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230309165812.33918-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230309165812.33918-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0205.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB9221:EE_
X-MS-Office365-Filtering-Correlation-Id: 3de68db4-fec6-4d6a-df35-08db2157813c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Lb7nz7H3SqEiaQUd+b1GpfR8+pX0a4mnpVXea7WpzsDKHyCIpT2Urr4aQPO8w8im8dxZDKXGys1SsHVz8eFqSZXxpsXiZne4Kn84DsBQDNzpf2dYVjdt22cjG4xmN89wv12V4VwXkVrGY/HHfrjVHb+aKvwfGAOnMfTj7S5I6Gang35Q8bT46h8RDrzW3pujoWuALIbBPtHdU3CA5le+QPDGNRCeMbfENyUedQ5ssMvvnATPPckIylXqGBPTF8+y4uAwFoj84uXntqGEgs/rUCsCV0U8zfJvH9qvUOYjzXaykUwGoCryosjWLMTMF71/yFhPwUIpY5Xde1Pjv47VmVIqVA5CTn/EKPGWBfNi3C+B6uhCoaTLQq/cjKSVCgLEGQocC0inKExhCxH3aDzssU3Oknf4TqZ4dv2YQK6+s/q4ACAr8sw1t84bj3YYW8EqFwnFQlBpKyJjVTNgLRumWwRYmOlh9USH0ObbVHF7FovC2Ud+yNlBnlTvVRUzv0mX0e4bMZjKsGo6EUjTdiwfP/GvBZLxunQCGmTaj+iUsn633dy1MA6KiZoJANamWO6rZnBT3mDL+pcSdzBSRI3J839+3NYOcIFIuMoxI3ImyXjyUfz/++LiVzKg+PAqsVj17o0mIULunFueTcnjPpSAqa/Cdv+szmpmBP0QhdmARZwwBHFPSrYOdl5UNJ57L11EsG/IMu++Z7HXrY1pWid+9H9O6dmf5CASRiuaJxNJ1Rs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(39860400002)(376002)(346002)(396003)(451199018)(66899018)(31686004)(31696002)(36756003)(54906003)(38100700002)(86362001)(6512007)(6506007)(53546011)(186003)(2616005)(26005)(5660300002)(316002)(478600001)(6486002)(4326008)(6916009)(41300700001)(66946007)(8936002)(66476007)(8676002)(2906002)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aGthamtvLzJpQTh2eUo0WGpiRVJqWXlEelNsa05WRTV2NEF2bUd0V2Q4U04x?=
 =?utf-8?B?S2lyOVZSVFpxb0pvKy9IaW9jWDdMQVd1RGJibHJZakwrSDNFUWJyMDZVU0V0?=
 =?utf-8?B?dzJLMUw3YyswbXN2U3dta3U2VWpSSjgyM1B5NHZML3R3L0hPaFFtOXRtZXdq?=
 =?utf-8?B?YkxiNTQzRlBHOVErc2ZNbnR4TUVRSkUxczBVeGpMM25QaWRVeG5mMjNwNlh2?=
 =?utf-8?B?VTRYSlo5ZXErbTZYNTZHWjFFdE5DMmFGWi9wOUFyYWU2eE1BampnLytBL21E?=
 =?utf-8?B?bWJMeEZGenp5WkNuWkxMdXdLRDlrNVJCMWZiL0tyYVB4Smp1YXNCeHljUmo2?=
 =?utf-8?B?QWNHOE5zRWhBcHMvYzZwUGg2K1dZcTdpNUF2RzN2bnovODVua2ErV24xckdx?=
 =?utf-8?B?d1NXV2tpT0JLek5JakFaVndGaFZpUWNRTVRzZGNZYUR1TUwrRHcvd2paUHZE?=
 =?utf-8?B?SDhiV1hUdDJKNEgyOU9xdGtuOEgzWk91Rmpud0g4WUROWGtCRUxXNWVuNnF0?=
 =?utf-8?B?aUxmbmc3RmhJRVlFeXRLRVVEcnVmWVFrbHhKS2NGeGs4V3JKUFJJMEhWRW4z?=
 =?utf-8?B?bE95N2pMb01mejZ2RUxsUnZISm5lZWdqYnIwUHhoWXJ1Mi9jVnNwbGh4THl1?=
 =?utf-8?B?Vy96SzFsclZiUWxtT0VZdnVhYVB3cS9GeTFIbEdsYXpSc1MzMGNFaDhxZzZj?=
 =?utf-8?B?eVZPdTNEc044b3NZN1NYK3FWRFlpbGpIMmlqajZRVEk5cFQyZU04WlZic3JF?=
 =?utf-8?B?dSs3dmxRMlhmck1oOUVtS2pEeVgvYnlMdGMyT29rNjlyNS84djJSZkVsL1RY?=
 =?utf-8?B?akRzVExNc2ZvdXhQV0ZHT3dsOHgxSkhkcWJHVXZrNERsa1I3WTkvSjNFRUVL?=
 =?utf-8?B?UXBONjJ5MCtsWEswbDJKSE1ObkwyRnpkM2prYmZZcWpDZ2hQR2ZuT1FlZFB1?=
 =?utf-8?B?SmdzNDFDU2p1UjhvMG4vREs3RFM3R0JVR3VjQ0ZSeDRzRFJaenhMVk5oYXVR?=
 =?utf-8?B?TXk0dXNZazR6a0tEdURBdDdvSzQ0REVuRC9qYjBVYVdsSkJhdDJBS2daeHEy?=
 =?utf-8?B?Z0ZiSFd1WFE4TkNQcVVQQm4vaEFIY2ZHWGZzQnB6aU5mVkZSU3QyTk5PWW40?=
 =?utf-8?B?RytRdXVhMEtackpMUzdaWkM0UGxZWC9jZ1BBc0ovTVpxSHRWTTdUV0FXNlVo?=
 =?utf-8?B?Sm9teG1yd1VrUCs2dDBuUTQ1RzdEc2xQY285TEpjMk1qSnorYm44U1RoQzlo?=
 =?utf-8?B?ZGlzdWF1MFNHd0I4ZjJnY3N4dkFKVFdobjNKS0pWdnkxOGZIOWpwQnErRXU1?=
 =?utf-8?B?MDVESVJoUU1oTjN1cGNVb05EcUFLRkcwZlU2ZElxSXV3R0JndlgzYlJLTnVT?=
 =?utf-8?B?U3M1QmVWendDR1I3VjE1TkRtbG5qUEEvOXVHMi9jKzhvUzVxUUhzem5UcytH?=
 =?utf-8?B?ZElWZW9TKzZPRUFrR1RwYUkrcmMzc3ZXcW1pVUlOdEV3Vjg4L1pDQUpKZ2RT?=
 =?utf-8?B?Z1JCalRocXRYWGd3WnNjb1hlbklPRGppQU5zUmdKUThTY0JPTjF1b0V6ZVpY?=
 =?utf-8?B?QkNBV09jOVN5Vm5VL0hmaHVFRm5PNEkxeUlKVW55aUJGQjExMG9mWlBHYVFt?=
 =?utf-8?B?QncwczlyekZzRXo3Y2N2SmZEM3VtU3VNeTkyWVN2UTdpZ0pINXRJa3hlbGFS?=
 =?utf-8?B?M2dodHpIKzdkZE9abVNPSWl1bFhid1ZqbEY1aDJMSG4zY3pJZUVtaEpkM21r?=
 =?utf-8?B?NS9YYkgxaEFaK2FRM1NUd0ZrV00rRWkvWk1CMU56UmlmUDhHRDZMMUgzelpk?=
 =?utf-8?B?MDlCOS9tK3UwYkpOM0gvYmZXRzNCc1pXN0I4N3lzVmFTOHNNS0Vmc0dLUEpz?=
 =?utf-8?B?cjJEYndSWkRVR3h2Qk9XMlhtbTcyUlBPQ09kUDdIZ3RZbjhCeVhDU1FFdW1x?=
 =?utf-8?B?Z3dIME5PSFM5U1Y4OGN4QUtoekVaZ3IvWW11SWwvU0cxcnZYSGxlbmlVSnRO?=
 =?utf-8?B?SzNSWVBtdDBMYlF0VWhFSWV6UStreUdiMXhjQitLMk8vQjJ4eXJNNnJtNmtV?=
 =?utf-8?B?TEdvazR2YzRqL3NodlNmNm4zNTdieW1WWVdtK3UxTG5JL244MVVKd04wWklt?=
 =?utf-8?Q?6oOsgsTmS1qzuU20pxfEOds77?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3de68db4-fec6-4d6a-df35-08db2157813c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 11:06:31.8741
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ymwlTFPI5WNIObUgXpNgxRqmkmJvYgYHP7wa3PVs44LteyIeu/Qf0YPMHLJJ0iUdtYNCgV5gcdlW2TQv8FUdFA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9221

On 09.03.2023 17:58, Roger Pau Monne wrote:
> Introduce an install target, like it's used by other tests.  This
> allows running the test on the installed systems, which is easier than
> running it during the build phase when dealing with automated testing.
> Strictly speaking the vpci test doesn't require to be run on a Xen
> host currently, but that allows easier integration with logic that
> runs the rest of the tests.

I accept that as a possible way of looking at things, but personally I
remain unconvinced of this model. To me what is installed should be of
value to users. If there was a properly separated directory where all
(and only) tests were put, I might agree with installing. (Nevertheless
this isn't an objection, merely a remark.)

> While there also adjust the makefile to use $(RM), and rename the
> resulting binary to use a dash instead of an underscore (again to
> match the rest of the tests).
> 
> Since the resulting test binary is now part of the distribution CC
> must be used instead of HOSTCC.

This breaks the run: goal, doesn't it? If the new mode is wanted, I
think the two kinds of binaries (and rules) need separating (maybe a
way can be found to avoid duplicating the rules, which would seem
desirable).

> --- a/tools/tests/vpci/Makefile
> +++ b/tools/tests/vpci/Makefile
> @@ -1,7 +1,7 @@
>  XEN_ROOT=$(CURDIR)/../../..
>  include $(XEN_ROOT)/tools/Rules.mk
>  
> -TARGET := test_vpci
> +TARGET := test-vpci
>  
>  .PHONY: all
>  all: $(TARGET)
> @@ -11,17 +11,23 @@ run: $(TARGET)
>  	./$(TARGET)
>  
>  $(TARGET): vpci.c vpci.h list.h main.c emul.h
> -	$(HOSTCC) -g -o $@ vpci.c main.c
> +	$(CC) -o $@ vpci.c main.c

You're losing -g and you're also not covering for it by adding $(CFLAGS)
(there should have been use of $(HOSTCFLAGS) already before, I suppose).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 11:15:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 11:15:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508475.783152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paaj1-0003u7-Gt; Fri, 10 Mar 2023 11:15:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508475.783152; Fri, 10 Mar 2023 11:15:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paaj1-0003u0-EE; Fri, 10 Mar 2023 11:15:51 +0000
Received: by outflank-mailman (input) for mailman id 508475;
 Fri, 10 Mar 2023 11:15: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 1paaj0-0003tq-9T; Fri, 10 Mar 2023 11:15: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 1paaiz-0000XY-Oe; Fri, 10 Mar 2023 11:15: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 1paaiz-000386-Bt; Fri, 10 Mar 2023 11:15:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1paaiz-0000qy-9L; Fri, 10 Mar 2023 11: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=a7BsgjCjAp1mG8TySNmO/5Tl6zKJYTW0cUWH5LJxJaM=; b=O3pg2g/ft9G2BJnkWvzCruFQvy
	n1Bg4p+eWTjigHRJebAUpZP1/BOQCBcKfLuiW4q7H08aPLogbxGvcRfbVdnDFE66UN4IU6YIbtWqB
	6Ymia+Y4W18btJyoZ6ACgk7cdZkosllIWJgFzRIzLvvfw0rmyAIVvH64ZToK8Nc2TS8E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179532-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179532: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a4c9c2b0f00a8f950b3058d4e97534a2613ed8bf
X-Osstest-Versions-That:
    ovmf=4ca4041b0dbb310109d9cb047ed428a0082df395
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Mar 2023 11:15:49 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a4c9c2b0f00a8f950b3058d4e97534a2613ed8bf
baseline version:
 ovmf                 4ca4041b0dbb310109d9cb047ed428a0082df395

Last test of basis   179530  2023-03-10 06:12:17 Z    0 days
Testing same since   179532  2023-03-10 09:10:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Darbin Reyes <darbin.reyes@intel.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hao A Wu <hao.a.wu@intel.com>
  Yu Pu <yu.pu@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          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
   4ca4041b0d..a4c9c2b0f0  a4c9c2b0f00a8f950b3058d4e97534a2613ed8bf -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 11:34:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 11:34:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508480.783163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pab1G-0006r2-5G; Fri, 10 Mar 2023 11:34:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508480.783163; Fri, 10 Mar 2023 11: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 1pab1G-0006qv-16; Fri, 10 Mar 2023 11:34:42 +0000
Received: by outflank-mailman (input) for mailman id 508480;
 Fri, 10 Mar 2023 11: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=txLX=7C=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pab1E-0006qo-PH
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 11:34:40 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2062c.outbound.protection.outlook.com
 [2a01:111:f400:fe16::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a37f9b1-bf37-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 12:34:39 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB7105.eurprd04.prod.outlook.com (2603:10a6:208:19b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar
 2023 11:34:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023
 11: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: 8a37f9b1-bf37-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ImtHUD2feFop610bluTLGn2wMD6tmTohwlWOfgnhWNW3jR/SDhlm1l9LIDm7l+UqDe4MQMGzZK6ofrQNVylWb17M6kgn+nU+oPUYe4h0kPj9/Y6T7HJ1ywUUX/57zr3UkY51fY96wuIpMXeXoALxsRubEz5AHOdI3hXyFUF3vJ+DapJBZ7kvnVwlgm48rU4fgu1HItq2D8xNf1G2X1bsdSukjWfg4EsRpHgDKfXbydywFjaKTbXXTShLCi70j5+mYo1Lbr7yfWPy/EwSfhTu2MCbfKAANWm0HNq5WrX8Kmwaoa3GVMG2Llt9DvqwjqfBvwfkOvXMQygfiZbpYpycUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XtAO+LkBGlTmagpm9MRkLXF3fcQlt9QAIZV9F97neJg=;
 b=d/MRmSVUsRoA1YDAtwPXbt2pm0CW028M/2v8u7W+4QfhLuKA+o1EfThsRaTBfGWkdSWL7AWl0HspHSBxIR1vsLTRCF23Lj6uRel2lsdw0QJHvnqnWDxDB97lEnPugydTBw12MOXp8X+Nj+SknELHciXxYAndsTeoLwAU2fSIlAoh2b2LbfSR9oKKXGR842N6tcd/V8dJWr6gYmUtLeLLoVx0nSHxn6mRKI4VZGyBfwsX587Z4mnezlUCKtPMXgaIF6Vm9S6kTEqI+9s0z0bvS1evahTezmv67k2kX0vSQ3QomU/Gn6bXuaKdRmEP6YrLn6k1vZvo9iNrhSZ70KA0+g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XtAO+LkBGlTmagpm9MRkLXF3fcQlt9QAIZV9F97neJg=;
 b=4D343wm3ztehHNEE17VGkqfrdODYbt9RB+UcviBhOO2y7o/GY7oGMGrkfaR7B0aQSxnub48V7n8JePu/u8znKvZUDCjSbKruFHzNlGJxRZGQ4r8SYKSHWm2R7O9wpcEvQq3FMks1klUWiFLZ26KASDcgHDEC5/JirPpUWuA/dY7oI9H1K5erUqfeG47f38OCRq77Hr26tnZfOgSXzDGC7mGFuTgpX+O4UttU4fmB3kfmu0MXe4QBxRZKmeYqgHYpZFIGS4bb6oZgK/HPRcMZATbsv2ufh+UacMnjL8okBnu+dlnOlKZkpe/NhWQkuoHiYrrv6S3c6FSG8h5Rf8jvGw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <84e0cf30-d4f6-b1d2-b99c-7a297f5c5c2c@suse.com>
Date: Fri, 10 Mar 2023 12:34:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: API/ABIs: Re: [RFC PATCH v2 0/2] Add a new acquire resource to
 query vcpu statistics
Content-Language: en-US
To: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
 =?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>,
 Dario Faggioli <dfaggioli@suse.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <cover.1665138677.git.matias.vara@vates.fr>
 <90a551bc-ffda-6db8-775b-11c100bf6f52@citrix.com>
 <20230306142315.GA745324@horizon>
 <c40f1a4e-63a5-af2a-e5db-729b1af80708@suse.com>
 <20230308115410.GA1108824@horizon>
 <d0354bab-3022-6048-8d58-45f63aaf26be@suse.com>
 <20230309103825.GA1221165@horizon>
 <645fcd9a-755a-e2a2-f332-93c5e571b9e5@suse.com>
 <20230310105800.GA1285481@horizon>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230310105800.GA1285481@horizon>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0175.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB7105:EE_
X-MS-Office365-Filtering-Correlation-Id: 33c3c32b-b1dc-43fe-5a61-08db215b6cbd
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:
	BhiWJ+Q4uVp03rf36oZil4WalGxDCsUlNJQ6jTpvgvbtNfL+ms+hMTtGVOkyPczsUDBD5x09PN1XecUHGWUaxHyVytXr2yPLtaNE8pZi7tFQQJ7axLEsXNRmiDNoCtHEA9yVw0T0BLiSJfQARvM1dlyAhzL5aiNWyXVzmXhTmdzPbVJP84u7kQxJmvVOzHo1OK0DdrioIXLt+qZvti7Uzv12DxzW4DKpui/OMsWBKliX6+0xWLWYBQ/i9/f6GAxw/1wRXpT5wucWNVQp74nT7BLX0SbntVsEVg0UXOKqSP2qvW8cpAXU+I3jgbq+237VPf7QZegPMqcr6oYUaaoWgJP2GvpOAQa3CKxydL/5O1fiEOYuDhbqrmoDsBebFf/F0CvCNdHu5TVdXWoy2IYY4RuFpsOjF1BiqSNHqy4QLaQ1gKBbIrlPy95FugqOhHE8BPx3GUqvWaWN3fHI0gJC0nInvWTKcjLGR0KJUUMsX3fRKElkWA6KsBsD1eLm5Nmic5uNn7+iAAG6QjNz5k9dLSwO9tDvsktvlqvuiaPO9VADjUODDU3VJCW/+XCEBxy1Xlu/PWOT++cpj0MnTSKmje/+XmLYqkguiu7zyQ5dMBfQe8U/HEiMGCbpzHcQGPUo8f+QotkoEyqxoiQ+Dn4KgyiF6loJlpswlqAFsrj17Qdv7iNiag8CuXt3K/wLnWFCYNdeArFXbfvL4uQh6GqzNR1lSTsMs+ab6DrYdjNUh0U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(376002)(39860400002)(136003)(366004)(451199018)(36756003)(54906003)(186003)(478600001)(6916009)(6486002)(2906002)(8936002)(5660300002)(316002)(66476007)(41300700001)(66556008)(66946007)(8676002)(4326008)(38100700002)(31696002)(86362001)(6512007)(2616005)(7416002)(26005)(53546011)(6506007)(83380400001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q3NjaXdVcHd5c245aDRjKzRYU1FRK1pzK1JrZXZKYWZBbUlsTndUT2VmdGRX?=
 =?utf-8?B?cFdvZzlOeW9MbGxoMXFWaWhOcVdWQzI1STZzY2p1N1lYODgxdVpuNkNuNEpp?=
 =?utf-8?B?L1pOaTRqNGUwK09rMUtNakorbGxPKzlrOGN1K2t3cUlhTlpxYlZ1akVKRmxh?=
 =?utf-8?B?Z0lMUWFZc0xHdzZJVDUyMm1hWGRZVlNxMnhQN21CeVJLZ3lkUEd5Tk1sd2dB?=
 =?utf-8?B?STJKWUtvVXpNWlQzTHEycitNVEMxMVBZM0NNbWVGNExPUDgvbVZLNkdjWXB2?=
 =?utf-8?B?S09JUkRyTkY5TnV3aWdjWFEzckVhUWxQRTY2bXdRSEJZT3VNMzk3RWdrdHZL?=
 =?utf-8?B?amVwQVRqU2VQekRTSVV4bVR6cDExRGwwd0JOY2MrOHhGVWJIYUNaRXUvd1Jw?=
 =?utf-8?B?ZklqZ1U1RUIwNG1hVFU5eVpXN3BFRk15Ni9oMEhQMWdEcWRlcjluT1p6ZVNV?=
 =?utf-8?B?RmExck8rWVRtclFnaEdadmtVOWxkM1lqVzBjNGlPU3JTT2QwOW9td0U5dUM1?=
 =?utf-8?B?T0RJWXMvVXV0WURXeWZTKzFhZWJrK3JCSWdmaExGMmxSWWYxZ1ZLYlk1dUJQ?=
 =?utf-8?B?OTZiTFVWT2o2aXhid09lSWNmbUk1K1ZYMFhpYTVNbEFDM3UzLzJmSXRvdEdJ?=
 =?utf-8?B?RFp0UHRkYmtCd0UwYlUreXkzbU1nZ00vYzY5NVNwaERxNWhoT3ZmbE0yTW51?=
 =?utf-8?B?OTF1aHRKSU4yY25BS0wzMFhUMVgvZzA2clR3ZHhaODlEeGtFbFFkTGVvTDhm?=
 =?utf-8?B?THlKVk1wMXRJOGY3QU9MMk8xb3RXQjFCTHdWLzRBSlNTTzh5elV2NDNadCtS?=
 =?utf-8?B?RnMxanE4SzNrbldVRzFzYnRzUjJVMFBFUFJiakp0TFZEbEFDc1A0WGZIbDd4?=
 =?utf-8?B?UmxXUUZ6SjJrZGp0MCtwSUxVcEdtbUtOWlJvVWhSZHNNV3VRaFRjLy85TndV?=
 =?utf-8?B?QWtYQ0xiNlMxejhOeGM4N20zaUw5TzlQOGFQSmFKSWcwenV0d24yVDErcm1B?=
 =?utf-8?B?M0RMa2R5czFuaENFdVFleE01Q1JKaTByL0ExYnhQbzVnTnRKNm92Rk5vVmFa?=
 =?utf-8?B?MkJBdkljSGRucnpjaVgrRDgxRGtHZERmb09BT2J4L2FTb0gwTXh1UENyTDYr?=
 =?utf-8?B?Z1ZyWG1melVQQkx0SkQwK05mWGZzbzZ5ZjY3RmJZbUZ6N2NGbUlBZHhvQ05O?=
 =?utf-8?B?Q2tuL3MzaTBXbVVpbGxQMkVkb1RzZG1sNkpUZmg5ZmhpRWlyUUwxM2orUmd1?=
 =?utf-8?B?UzMrSE5TVHZFUUtsaEhQVE03V2hGaTlvdDE2S0RnaXhQNmxLb1FTZlRoREQy?=
 =?utf-8?B?QUl3NWczaXRhQk1XS0RlZ3dvYkpjM2FwdWlaVDhVWk0yM05weTFDcnAyTlFj?=
 =?utf-8?B?Qzd1MmNJenZwbStLcFc5OGIyM0FVeVJxNXpQOWFOOUtyUGI0SWpDVTdwaUpI?=
 =?utf-8?B?blZjRnZ6aHFQcFN6Vm5QS0FOYnArU1YrL0pmVW5ZajZMcFRiWm9uejltZTFH?=
 =?utf-8?B?NTdualEzLzZpYjNUTEJSaW9COUJ0d0ViU09hUmZuSGp6MFlpOHRCQkRJZmcx?=
 =?utf-8?B?bUhlWWFUb1Z3aWZMbngyOXVDK1JiTG1BOWtsdVBuZVpodkRtT2xmVzh5dG50?=
 =?utf-8?B?Nk5FbEpGd0tjQ0NKS3FOYUVFMjFnR2JOVGpHM1JuYlQ3enVtQmlkUmVyMkxM?=
 =?utf-8?B?d1pSZi9yeDlML1d4eWg3aUpZNklUT3FSV2JLTXFyZUR2ZVBpRmxFLzk5d21T?=
 =?utf-8?B?OUIwNldRMm5lVWxjM0hJSEpsdFQzbHBkKzBMRlUwbmMrdE5hZmZOTXFwdzlj?=
 =?utf-8?B?VHo1MXZ2SGRWejc0NnhjcWprYzFTS0JyN2xLZmRRbEtMeldlUkM2SWFQWUlW?=
 =?utf-8?B?YkUyTklNNjQrRm5FYXlRaVdjR1duMjFWakI1RTZwbi9zYXhNcTBqU2sxaG9q?=
 =?utf-8?B?WlE1TEZvYjVmQms0V1JsSlRUZDZGWktpUGlWeE84WG1wZERoYnF4TTNsYlFS?=
 =?utf-8?B?RUJnRmxpYk9lZXh5enRGQlRNcVFjNG1MbUUrb2svT0xmeXFDUWpkVklwSWhm?=
 =?utf-8?B?cDRQRk9UMkNJRlhZQkFBY1FjR0lRczBESXpod0lyMWJuS3AzS29ja2hnZ3RY?=
 =?utf-8?Q?jhc57Gj7yC3Sbpni0MJlKBaLY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 33c3c32b-b1dc-43fe-5a61-08db215b6cbd
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 11:34:35.8771
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WdD3BIoNcz+d2l4sDhARu8AneVOehiHOdrPUxO9FWujAMnDVgUBY1xZAiiLCLTSrXKFGBrycnNKTm/lzB8Oqww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7105

On 10.03.2023 11:58, Matias Ezequiel Vara Larsen wrote:
> Oh, I see, thanks for the clarification. To summarise, these are the current
> options:
> 1. Use a "uint64_t" field thus limiting the number of counters to 64. The
> current vcpu_runstate_info structure is limited to 4 counters though, one for
> each RUNSTATE_*. 
> 2. Use a dynamic array but this makes harder to use the interface.
> 3. Eliminate stats_active and set to ~0 the actual stats value to mark inactive
> counters. This requires adding a "nr_stats" field to know how many counters are.

While nr_stats can indeed be seen as a generalization of the earlier
stats_active, I think it is possible to get away without, as long as
padding fields also are filled with the "inactive" marker.

> Also, this requires to make sure to saturate at 2^^64-2.

Thinking of it - considering overflowed counters inactive looks like a
reasonable model to me as well (which would mean saturating at 2^^64-1).

> I might miss some details here but these are the options to evaluate. 
> 
> I would go with a variation of 1) by using two uint64_t, i.e., up to 128 vcpu's
> counters, which I think it would be enough. I may be wrong.

Well, to me it doesn't matter whether it's 32, 64, or 128 - my concern
is with any kind of inherent upper bound. Using 128 right away might
look excessive, just like 32 might look too little. Hence my desire to
get away without any built-in upper bound. IOW I continue to favor 3,
irrespective of the presence or absence of nr_stats.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 13:18:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 13:18:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508486.783173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pacdp-0002ki-Om; Fri, 10 Mar 2023 13:18:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508486.783173; Fri, 10 Mar 2023 13: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 1pacdp-0002kb-Lx; Fri, 10 Mar 2023 13:18:37 +0000
Received: by outflank-mailman (input) for mailman id 508486;
 Fri, 10 Mar 2023 13:18: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 1pacdo-0002kP-Ku; Fri, 10 Mar 2023 13:18: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 1pacdo-0003MA-Ga; Fri, 10 Mar 2023 13:18: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 1pacdo-0000C0-2m; Fri, 10 Mar 2023 13:18:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pacdo-00086S-2D; Fri, 10 Mar 2023 13:18: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=uP/OxaKZR1A4tIoL8ft4z+Hf+QbAg66xuVb2EYY8sr8=; b=HPoUEy9YLcFwHhcu/prXoDFUOe
	V+l47442MzsOJ8fXhIU6Q5gStiOiFK5tgAoEsxrWtW4S0YpqYjgfgeuyWbJo7TXTjl8GafpaN354+
	ffp760yXeL5RxOHDmFoT8JbRPM/dahs0bvdnWqMyf+YIXlQSRja5TR3YmkvfWXA27rzU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179526-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179526: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-localmigrate/x10:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=ee59483267de29056b5b2ee2421ef3844e5c9932
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Mar 2023 13:18:36 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 18 guest-localmigrate/x10 fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                ee59483267de29056b5b2ee2421ef3844e5c9932
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    1 days
Testing same since   179526  2023-03-10 01:53:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Gerd Hoffmann <kraxel@redhat.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    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-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-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 13:23:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 13:23:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508491.783184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pacib-0004OC-Cm; Fri, 10 Mar 2023 13:23:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508491.783184; Fri, 10 Mar 2023 13:23: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 1pacib-0004O5-86; Fri, 10 Mar 2023 13:23:33 +0000
Received: by outflank-mailman (input) for mailman id 508491;
 Fri, 10 Mar 2023 13:23: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=C5rF=7C=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1paciZ-0004Nx-Mk
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 13:23:31 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20628.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bed301c4-bf46-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 14:23:29 +0100 (CET)
Received: from MW4PR04CA0184.namprd04.prod.outlook.com (2603:10b6:303:86::9)
 by DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar
 2023 13:23:25 +0000
Received: from CO1NAM11FT041.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:86:cafe::88) by MW4PR04CA0184.outlook.office365.com
 (2603:10b6:303:86::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.20 via Frontend
 Transport; Fri, 10 Mar 2023 13:23:24 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT041.mail.protection.outlook.com (10.13.174.217) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.19 via Frontend Transport; Fri, 10 Mar 2023 13:23:24 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 10 Mar
 2023 07:23:23 -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.2375.34; Fri, 10 Mar
 2023 07:23:22 -0600
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 10 Mar 2023 07:23: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: bed301c4-bf46-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MQw7EzLhKDCnX9yIqlE2Bw26jd9dtGxUsHWiKzrV3Yz1pNVvf5TYwz8fqKdmrFT/cLrZIpg4aXER1M+P79kKAIkn8m0aQo0FKNb0l5Tw+SQ8DyWFBzbnb71kRlwZ3D2TYoiFdD2kD0y1U/7fmfYX6/EfS9q3lncO37LAqobsVVcsX/HmqkQW5eH+4566CI9E7+hrIeJAfzGU5PcFoy7MJY/hkfMGWRpkFySJqMqaddfxJ6qKedfYTsBtOEFLOw16z2LLJBAfXJZHeIDXMAVU7fhdlKJp9ju0/v/kLX5zOgf/AGvchw4FE3xvH0QKLxFd54D84ULSupFAgB3xLdGrQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J0JihwpdVKh+75YoCU+4CiPQfiFiQ1GqJXVed1TfyBA=;
 b=DpAhZz7jMC+AF3KuZW9yRUw27/ndZMJ3L/YcI6t2+5tkus6YMRQswNUxuZa4fFI5vT7tlWndf1YwFYPpoS8fdq44jUp9bbuSs3itA2LaUd8LeSXHRJSWjQcGLi/ykJedjSv362OeaWLS8SXDKAT2DAasgqbOAQykMaZ27Kfs096UUVYW1u5VYZwnByX8QpfOXl2mPaxqie11r6dB+/Zu9SBXZbOBE4uRVdJKSZUKzd2CyiNiXlQOWpFARp8Mm/I5hP4lhlCd9AOfrpcnzNVX3D8o07dMVotP9u6JQCNVBQkFuYedXwmr89M5f5IGxjROnw1pszJZHp63TXZo9dol/w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=oss.nxp.com smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J0JihwpdVKh+75YoCU+4CiPQfiFiQ1GqJXVed1TfyBA=;
 b=eeo1e4Z9ANoAVIw8Ld7OD9BrqvmfiYnxufvsp8G28DVDSGb/09+5dnkuY0WdR/p617qDUqWTnWzu57Zw1PwBImBDUa7TLiFQTEGE1IrM0W+4Tz3u61I3cl3LMdxF0XQB/k9S8RMduwF+ODBf/KDaW9eCauaXxN/R6UfLSjHkh6U=
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: <9403b242-0fac-c91b-5145-3e128bed7923@amd.com>
Date: Fri, 10 Mar 2023 14:23:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/2] arch/arm: time: Add support for parsing interrupts
 by names
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>,
	<xen-devel@lists.xenproject.org>
CC: <Bertrand.Marquis@arm.com>, <sstabellini@kernel.org>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <rahul.singh@arm.com>, Andrei Cherechesu
	<andrei.cherechesu@nxp.com>
References: <20230309161933.1336367-1-andrei.cherechesu@oss.nxp.com>
 <20230309161933.1336367-3-andrei.cherechesu@oss.nxp.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230309161933.1336367-3-andrei.cherechesu@oss.nxp.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT041:EE_|DS0PR12MB7726:EE_
X-MS-Office365-Filtering-Correlation-Id: 292b8ecb-c79e-485f-6235-08db216aa093
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6SQnjwkmklMee46zXbaWyFgP2a4OoMfXK3tzHW8DReVNTNqpl1F5esTNnG8sacBHn2MhK0WMvQV56VUnjIkNTm8Z4RhGc0o0M2BYkpV2/0ySVk1kNXppITmaBmviKquO3Mfy4He0SrLMRXPlRVCu6X3jgVK/SlxrBsA4OhxT/HDVcRi8WPP/kKhffUvnV+VggLGDppjZWQW2bdHzarjzYBScHpBseF2c2e7baJSj/AzyAkf/KwXdf825o+JEpU+aSwRYS2PGUP2hUEkIQxlbz2M8GQkI++WkGsfz23UruHbyCdiLPuDp882tancERDCCJ55LTjpTaUN06KvQfhaPL7CGN9GU9GlJhRNRvlH0EMjnR70V2QC3SqB2hi7mhi4yQkKuvWjQiD9J27Q2Al1/0+sA4kZjza5iJVQXuop2yrw1ucT6rN5CvwDwzg5kmJhxZFYnpy6eFX2ClkGoyflBaR9iMIhwgLgss7VdhQ7nI2Izavb7RzsYnGleC1C5y80kit6OT01AQjAa73VnSr+0THx0y5T/qwuH96/N1W6FwNbPbpSMZ0s7Qb9NdGSpzRf37qKb9bFzQ4fyzXzha+3/CxrYh+fuPL0SABwpTCN7L2j0S33QyVjKaKCz7x784gWpVCMART+NzwaP0UxjOhNbXtTx1t0L0wWuD9lTNe8O6otjGgr9C7/dY7zWIpdu9N+IXK3xL0rzM51TIwSPQ3FQ/EGSl+t3hA2csd4Bz1DIqz5clp2jeqFwbl1PhoKReXe7No4ytbkokbbDRjTpJY7fkw==
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:(13230025)(4636009)(396003)(39860400002)(136003)(346002)(376002)(451199018)(46966006)(40470700004)(36840700001)(83380400001)(36756003)(82740400003)(81166007)(54906003)(31686004)(47076005)(478600001)(426003)(2906002)(186003)(40480700001)(356005)(82310400005)(70206006)(8676002)(4326008)(70586007)(44832011)(2616005)(26005)(53546011)(31696002)(5660300002)(86362001)(8936002)(110136005)(316002)(41300700001)(16576012)(336012)(40460700003)(36860700001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 13:23:24.5914
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 292b8ecb-c79e-485f-6235-08db216aa093
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:
	CO1NAM11FT041.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7726

Hi Andrei,

On 09/03/2023 17:19, Andrei Cherechesu (OSS) wrote:
> 
> 
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> Added support for parsing the ARM generic timer interrupts DT
> node by the "interrupt-names" property, if it is available.
> 
> If not available, the usual parsing based on the expected
> IRQ order is performed.
> 
> Also changed to treating returning 0 as an error case for the
> platform_get_irq() calls, since it is not a valid PPI ID and
> treating it as a valid case would only cause Xen to BUG() later,
> during vgic_reserve_virq().
vgic_reserve_virq() itself does not call BUG(), so to be more precise,
instead of "during vgic_reserve_virq()", how about:
"when trying to reserve vIRQ being SGI."

> 
> Added the "hyp-virt" PPI to the timer PPI list, even
> though it's currently not in use. If the "hyp-virt" PPI is
> not found, the hypervisor won't panic.
> 
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> ---
>  xen/arch/arm/include/asm/time.h |  3 ++-
>  xen/arch/arm/time.c             | 27 +++++++++++++++++++++++----
>  2 files changed, 25 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
> index 4b401c1110..49ad8c1a6d 100644
> --- a/xen/arch/arm/include/asm/time.h
> +++ b/xen/arch/arm/include/asm/time.h
> @@ -82,7 +82,8 @@ enum timer_ppi
>      TIMER_PHYS_NONSECURE_PPI = 1,
>      TIMER_VIRT_PPI = 2,
>      TIMER_HYP_PPI = 3,
> -    MAX_TIMER_PPI = 4,
> +    TIMER_HYP_VIRT_PPI = 4,
> +    MAX_TIMER_PPI = 5,
>  };
> 
>  /*
> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
> index 433d7be909..868e03ecf6 100644
> --- a/xen/arch/arm/time.c
> +++ b/xen/arch/arm/time.c
> @@ -38,6 +38,14 @@ uint32_t __read_mostly timer_dt_clock_frequency;
> 
>  static unsigned int timer_irq[MAX_TIMER_PPI];
> 
> +static const char *timer_irq_names[MAX_TIMER_PPI] = {
This wants to be marked as __initconst as it is const and only used in init code.
So it would be:
static const char *const timer_irq_names[...

Furthermore, as the only user of this array is init_dt_xen_time(), you could move the
definition to the function itself.

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 13:38:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 13:38:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508495.783195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pacx6-0006FJ-KH; Fri, 10 Mar 2023 13:38:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508495.783195; Fri, 10 Mar 2023 13: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 1pacx6-0006FC-Hg; Fri, 10 Mar 2023 13:38:32 +0000
Received: by outflank-mailman (input) for mailman id 508495;
 Fri, 10 Mar 2023 13:38: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=ltz4=7C=citrix.com=prvs=426ffb546=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pacx5-0006F5-4j
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 13:38:31 +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 d604ac6b-bf48-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 14:38:28 +0100 (CET)
Received: from mail-dm6nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 10 Mar 2023 08:38:24 -0500
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by CO1PR03MB5921.namprd03.prod.outlook.com (2603:10b6:303:96::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.20; Fri, 10 Mar
 2023 13:38:22 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023
 13:38: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: d604ac6b-bf48-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678455508;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=rux9k01dwbJZcPb+LUR6a05SgUND+GTDFpEwa8mqI4o=;
  b=INugzzA57ZnYF5LynyuZWpUOFG4rrLXqM0eNZqt7WC9XbSJHHZbXD2X+
   KKEQ5eNzMj0lgoqcM9uKnXJ06LZDgTHtbEC+8bbgaLQzNuPR7A3ObjOiO
   YOBtTIIvwbfAIJA0lcTBo3lrr3amhQswlPcwusagkY0Tb/qumpwmbVrF9
   M=;
X-IronPort-RemoteIP: 104.47.59.174
X-IronPort-MID: 100223551
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Yc+nXq9Rj1vbRTBNB8BbDrUDpn+TJUtcMsCJ2f8bNWPcYEJGY0x3z
 mBJWmnXPfqOYTT2c9x2bIq0phgG6MCDztRjSwplrXs8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkT5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklo3
 OUiEQgPdiqTgsOGmZmUVbhw3u88eZyD0IM34hmMzBn/JNN/G9XvZvuP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWCilUujNABM/KMEjCObd9SkUuC4
 HrP4kzyAw0ANczZwj2Amp6prraXxXmhA99PTdVU8NZmvkKywE0wVyQKVEq5sOPnoEGOS9Nmf
 hl8Fi0G6PJaGFaQZtv3UgC8oXWElgUBQNcWGOo/gCmSzoLE7gDfAXILJhZRZdpjuMIoSDgC0
 l6Sg8ivFTFpqKeSS3+W6vGTtzzaBMQOBWoLZCtBQQ5b5dDm+ds3lkiWEYolF7OphNroHz222
 yqNsCU1m7QUi4gMyrm/+lfExTmro/AlUzII2+keZUr9hisRWWJvT9XABYTzhRqYELukcw==
IronPort-HdrOrdr: A9a23:UkQsTq2I7WPJ+utokRKUmQqjBHYkLtp133Aq2lEZdPU0SKGlfq
 GV7ZEmPHrP4gr5N0tOpTntAse9qBDnhPxICOsqXYtKNTOO0AeVxelZhrcKqAeQeBEWmNQ96U
 9hGZIOcuEZDzJB/LvHCN/TKadd/DGFmprY+ts31x1WPGVXgzkL1XYANu6ceHcGIzVuNN4CO7
 e3wNFInDakcWR/VLXBOpFUN9KzweEijfjdEGc7OyI=
X-IronPort-AV: E=Sophos;i="5.98,249,1673931600"; 
   d="scan'208";a="100223551"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KjEzO0iySQ9lV/hRRfpcssIIHlaLscwtj6/U6j5SPSiU0kPny8c9EfPy1LXB6KnX8uYTSVQrPLca1dEkCHF3ztPUvNOD0G4bI39opYqPy4B6l1mcDvBYbM8vD1bIYwlP/msg0rqy5/HGUBdMpUbppRqwFZXT/2+wIolvz6uCxrPls3d8u7Y7TPMY8XwlyZRfJTpR71GIevMsZOzyD8wS76E40quKjlMxDrOtOzXBImHzMkUypm9wqjtsQgSYZSUHZOXv45K7Ng1lJbrhXWqMmwxrhOzF2vJMdWZuE91U8AmdLv22KVYo/t/73imWLzvE+tdFni7W00Zz/d8jW22gew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7CvgI2n22wGaHGAoxJQbkgrnr1KdMufzybL2RMG/UuY=;
 b=WWTwppYtZCdqCw22Kt7X6+igp/FMD5RMPGr4sk1LF6eBpFLVAa5Z9i98rU+Bms6dAAqvgFXizlHvq5+51GWHJ1iGaZ/nr4/PQDKzgGF2Liacym3JrB2UpDTcMBegW8/jXutFzQTtRpjwrpd/BvuP5/Sd6+xElS9gSGCMB7O8LX6IQu8iybZ8BwOpPhbdsNkYCeC/YklQsJKcCYq1ooP5Td3bpGGzrD08un97qQF3ixOES3eLxU3y/7Sg/qm/CFuhY+xEsKmltZ7Edy7bWXkasSQJfZiI/Ytbu8P9pyvcOPxep4ZsqSIPIxVxyBqZZ4tiitISI+iQX/nD0EZQ9s4ccg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7CvgI2n22wGaHGAoxJQbkgrnr1KdMufzybL2RMG/UuY=;
 b=dRU4qXQkpLzgCOI0jWSBBPg9AZDyehHMY3Nu1jCaYum3A1QEu36eoaOPboT5/VtsM7vK4MIgUC/tCiCLy1PGmq6UGPsJWu/R/f7/znFsF7aw96MRWclXBTfsNVnJMZdfGp5yidl1G43rb06ePiiFUpyKuRrN5/1DiQGByfMBrgE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 10 Mar 2023 14:38:15 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: andrew.cooper3@citrix.com, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] tests/vpci: install test
Message-ID: <ZAsyxw6VvQHYrksG@Air-de-Roger>
References: <20230309165812.33918-1-roger.pau@citrix.com>
 <f2c7a5db-80d3-a89b-dff5-250eb18bec14@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <f2c7a5db-80d3-a89b-dff5-250eb18bec14@suse.com>
X-ClientProxiedBy: LO2P265CA0254.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:8a::26) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|CO1PR03MB5921:EE_
X-MS-Office365-Filtering-Correlation-Id: 06bd0c04-19d4-492d-7f6b-08db216cb770
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uIZsFJwsgyTzYgT0svdEZA5rwIsLMRvPOOr0qbViFO8x9DUsDF3YxaRZHt6apeHs/7zGlMKgAa0G90xUQp8KFunUrH2xWbxJoczHzaL7AO/aL/GJv++ljiA4dRj0fjuSr2nn6as6PEb3pnHOe/OpRwdWiwwE6i/W+O7jFO963NSjmFOfB8A/lz+zdqMaqD9H5qoeCpxtiprK2Z/FjC4uzFHOlSWdEMtGFNAmRTcfbtVP/Kd7GyRH55CK6sjU/l5gFE5+MKk0h9kNFwj6pI4xMiksT1iUAth+hTLGo3Eb6PXBgdQaKhys8zKXCkZJLDoZAwuqEs/iZ5od4ZwG+ngX1jsJHSakYWXj2dNn7Z00GyfI6erV2at1S5eURhC87JIoG7wOjCS5QADOfgy9fYcvM8xYk7RoCrp/cbTMjAbQfq0zoE1dSYIFEVGkNzTJQHzBBgYENYSiZmWJ3rHut9l7VQkccms9jJc6tiEwGfmgx1/VZ7JHHYjv7CkyWHAzeIyyIZbBOky8MT7lXwEnsllTJn4esT7NHBqacRh1e0xbdTJK8T+JdfPKhDyz2vPY1bqd3W1mW7px4GYG91rGUONgxcwRN+/Ee8ANM2sXRIjGSpuzw6nC1y0QPnCS9kGkHu064Lo1TgrwMU/90SuZrJ8zsQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(39860400002)(396003)(376002)(366004)(346002)(136003)(451199018)(66899018)(54906003)(316002)(85182001)(38100700002)(86362001)(82960400001)(26005)(9686003)(6666004)(6512007)(53546011)(6506007)(186003)(33716001)(5660300002)(6486002)(478600001)(8936002)(41300700001)(2906002)(4326008)(8676002)(66476007)(6916009)(66946007)(66556008);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U0JiUWlWU0g0aitmV01lRDZyMmcvSVlwaDhuR0hXRW4vS25kd1R1TVNBeUJ4?=
 =?utf-8?B?bHo0UTB1YzcwWGVLWFpKa3pubTNRN3dnMUlLQVBlSHJlSC9JRnp0ak01Z2dJ?=
 =?utf-8?B?b0tpSW5GUk5la3pZS0dtU3VWT1hRSzk0QzhWOTFmRTM1Nm1IUTRqMVkySThS?=
 =?utf-8?B?NUE1WWRFV2pqQit2YjJwRkpvcUxubmlIQy9CYURMV2NlSzI5anlIUmw2d1Ay?=
 =?utf-8?B?aHJseDU3Ylh3VWlyTFI4L3RYeTJPMHhDYnlxZG0zRUZiN0tMYkxUU3RxQmlJ?=
 =?utf-8?B?b0tMRTl0Z3AwSE9sVHJHVGdDKzRXVzFFVVRBRTU4TzlDNWQrMmhSZEE2anFn?=
 =?utf-8?B?bDQ0VjhWc2Q1MjVNajJnbzVjT1Zsbm81b3NsK1BOWkVaTkFPeWpkZlJCTWZn?=
 =?utf-8?B?NndqWHcveWdIU00wNDlHdjFqVmRCbmxHU0Q5RTlsY05EK3dPSUdheERKeEIr?=
 =?utf-8?B?ZkFRMlJqUDl2dnVSOSsxLzVHQmxyVlB1Y2ozMjNQWlRJWVpUSzlrWEZrZmtV?=
 =?utf-8?B?QU1HQ2hITnZXUitHWWNXUnpOU1NiWFo2K2wxL3NvU2RDS3YwV21oTGJoOHRv?=
 =?utf-8?B?dHcxeVdDT2FUSW9kN2ZTemxZUERMbW9QZ3UxZFpxd2RIeHpOMHNiWHJJRi9X?=
 =?utf-8?B?VkdFOERzVkFRU1FyNkFDcWFIM202NEswTXB0cVNLNzVaeE5VNkI5KzFwQU1U?=
 =?utf-8?B?TElRekpHdVFTb25yQ09DOTZwTG0rZlBYbnU3SHBtQ29lY3FSTWpMK3Y5aWpI?=
 =?utf-8?B?OWtQbXVoWGx2bjU1RSt6YkZDcnNtOC92SnNBcUp4dUppYzI2OXRoRldQOTFL?=
 =?utf-8?B?M3B3T0doeWRlUGhWQUE0Q3hrb0RveUJYcGx4Sk1MTElNaTBCbG1seGFYT3d2?=
 =?utf-8?B?L1NGSUgzdnNsWXpCK05ldGxxV0R2UWFCSFZ5eUI4M0d1N3dwNVA4MjNCcDVx?=
 =?utf-8?B?dFlWUkNNVW9ram5SWXIvaDJIS3RYT1FwUzg2UEF6TFNLSENJUG9qbVZKWE1G?=
 =?utf-8?B?K29BUFViN3FEZVpLUHlFL0YwdzVHNllsYTRPOXBoLzF4TFhZbDVUUnV3YUc0?=
 =?utf-8?B?aURka21ZTXZONTVwRTJpNUtWckRLMU14REhlVkJrcUN6RTlZamlmSEFuZ2hI?=
 =?utf-8?B?UVhVNTFMWW41MFc4aEt3WG8yRGY0T2psQk5uSW5YODNQUDhvZ3dtQlBBd2ln?=
 =?utf-8?B?b1I4OERmV29YN3ZWMCtJTXk4RUNOYzBDUm00M1VmbU5kTmxydUNQaWVqOENv?=
 =?utf-8?B?QnBhTnRuOFovUHRabExud1g0d1dmYzk3Mlg0UFFmaTNlL2ZqUkpPaGhtYWJw?=
 =?utf-8?B?dXluaGN6KzFpZ05meEhwcWoyZEF0ZHJlVTdDMGR3elVFZnk4RTJuaUpWcjkw?=
 =?utf-8?B?R2diN2JoTSt3OFVJUS9rcktyZVhESWFvdG1zWURYa3BkeTE1MXBENDNKWFpv?=
 =?utf-8?B?azE1OUFhVEUzaDRKRlpIbkMvTWNseWVlemR4eDF3YTVOTnlxT1dSbWZMeWhJ?=
 =?utf-8?B?d3Rua2pjL2lTZnNVREVpeDFydWJ3d244UEhnV2dJUkNLN2QxOVl3N1BwSDRr?=
 =?utf-8?B?V200cnB1UmhzWlRMb0VZYks1WmJLK0hsd2x0dnFadEQvUlF5RjlzWElBRmpo?=
 =?utf-8?B?ZkhnYXk1akVDb3MxTG9qQ0wxSC9VVmhQMi9ocFNKU09SU1UrWk5pUno4VlhZ?=
 =?utf-8?B?WUJxTEtMNlRKdHFueGRtTkc0N0RyTTk1WnZIYlJzMDRRWCtzM0I1N0NKeFNv?=
 =?utf-8?B?dDdUd2lZaXFJb1Jkb2x6SE4zWEVIaTFscUxGbDB6YnVvVjRZQ1FOMG90NStM?=
 =?utf-8?B?RGI2Ymc1UmVvUStPNFJLMjFBQ0hCa0phV2g0aUdQT3puUXo4cmhJYXFUR1di?=
 =?utf-8?B?QTdNSkJIU0lSSitDZHcxSm1zV05GYVRHOGZmeDJSYkN0M1UrRThOVGFKWWdS?=
 =?utf-8?B?YlRjR09sWTJwd2QrdERvbk0raE85SEh4ak12OFpQZ1R5NC9lOEJvSTd2UG55?=
 =?utf-8?B?UEFQT2o4ZFFRcFlMU2ozVkxtWUg1ekUvdEdsZU1XSEtCL3l1Tzg0eW1WQkZq?=
 =?utf-8?B?cS9TQmpqZ1k4cVVYUmRwcjRIbEs2NWJGaHlwZ203cDhNMVF0OVdrUHN6ZWJV?=
 =?utf-8?Q?pbEnCEVdx4G5Fdi/8ClyUUlPL?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	fvDrm6ZuKGhjkxViy4dttWR9ueHpR2wjYBZ1o31LPcznjXYOf+f5S9TpanzcJ9/q3hcu6VMpQCuKtw9xNEslHUtEq/K1FqIaskMlhnAd/WrD3N6Dpw8KYgkdAsVDlJD/DtIrc1EMjdaDyugpl4os+/YEH51Y8RPfULJxmQOLWP05dBbn9uR3ew6MZChm/caI776JIOOjZFR0BkjoOz1hycvQfH8OG9mmMbdmtBFVoiVzkZAPhhK+TT2hISrJ+li3Svr/1dB6/x2QoXffGp8B6Vn1zCIzT/q+lPTTaDTjHAQ6J74/92KjhSyucXLgQKSixNp2LP9QXsh1xwRYfUyT4iuPBcA4aHd+fLWI9wAIGQCfMU7qghud8VeTfpnPHfWK3XxIX8dUIHpom8c+abKFaUczKUO0Kth6KtMM6Eykuo4L2mxAQ6QmSSwnKVl0f5dudXeGujiRTGCIF5hWOwwS454VAobE0Fck9KiAGcAa13v8v0hzxyxwjFkXs6xi/DHk1GPPKB9v/c1vMmvzh7cRyxGWddZb6fgwECLfyffj/QGS1vQfsquiAxAPnH3b14O76u2fdE9KUm4cTwwWzswVPPYNhAh2P6WnodJ/4OJ+s7egHHvf1iGheP4xRTAqbx0az9vyQrZqijVTT9SmNEvw7wDjsQtgmxjMOyCGpPLRa6lz0nVPsYQLAsfm6A+XKRVhAG5zB8gq6jN+e597j5cOqjRPP2u08mytgyk0gRetImSvsMpnWaDoE+aRTT5zHvSoCh3RiT+KboMdPhfAtI/NmPTDE5vhzDSOaJhLX7wQHfsUvi08P/fFZi2fhu+AWT0r
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 06bd0c04-19d4-492d-7f6b-08db216cb770
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 13:38:22.4451
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /6995PQfP0XhUqZaLKfzzM7z9UMdZ65/l910AETd0ltwbXe0Zg/fhsb57h0aakghWP64m7meJ4I2sT2hEr/BHQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5921

On Fri, Mar 10, 2023 at 12:06:29PM +0100, Jan Beulich wrote:
> On 09.03.2023 17:58, Roger Pau Monne wrote:
> > Introduce an install target, like it's used by other tests.  This
> > allows running the test on the installed systems, which is easier than
> > running it during the build phase when dealing with automated testing.
> > Strictly speaking the vpci test doesn't require to be run on a Xen
> > host currently, but that allows easier integration with logic that
> > runs the rest of the tests.
> 
> I accept that as a possible way of looking at things, but personally I
> remain unconvinced of this model. To me what is installed should be of
> value to users. If there was a properly separated directory where all
> (and only) tests were put, I might agree with installing. (Nevertheless
> this isn't an objection, merely a remark.)
> 
> > While there also adjust the makefile to use $(RM), and rename the
> > resulting binary to use a dash instead of an underscore (again to
> > match the rest of the tests).
> > 
> > Since the resulting test binary is now part of the distribution CC
> > must be used instead of HOSTCC.
> 
> This breaks the run: goal, doesn't it? If the new mode is wanted, I
> think the two kinds of binaries (and rules) need separating (maybe a
> way can be found to avoid duplicating the rules, which would seem
> desirable).

The run rule is not hooked up in any of the upper level makefile logic,
so I think it's usage (like in other tests that also use CC and have
such rule) is left to callers that know that HOSTCC == CC.

> > --- a/tools/tests/vpci/Makefile
> > +++ b/tools/tests/vpci/Makefile
> > @@ -1,7 +1,7 @@
> >  XEN_ROOT=$(CURDIR)/../../..
> >  include $(XEN_ROOT)/tools/Rules.mk
> >  
> > -TARGET := test_vpci
> > +TARGET := test-vpci
> >  
> >  .PHONY: all
> >  all: $(TARGET)
> > @@ -11,17 +11,23 @@ run: $(TARGET)
> >  	./$(TARGET)
> >  
> >  $(TARGET): vpci.c vpci.h list.h main.c emul.h
> > -	$(HOSTCC) -g -o $@ vpci.c main.c
> > +	$(CC) -o $@ vpci.c main.c
> 
> You're losing -g and you're also not covering for it by adding $(CFLAGS)
> (there should have been use of $(HOSTCFLAGS) already before, I suppose).

Wasn't sure whether I should add CFLAGS and LDFLAGS here, I guess
LDFLAGS is really not needed because the test is not linked against
any library, but could be added just in case.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 14:33:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 14:33:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508506.783205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1padng-0005Wa-SQ; Fri, 10 Mar 2023 14:32:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508506.783205; Fri, 10 Mar 2023 14: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 1padng-0005WT-PW; Fri, 10 Mar 2023 14:32:52 +0000
Received: by outflank-mailman (input) for mailman id 508506;
 Fri, 10 Mar 2023 14:32: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=txLX=7C=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1padne-0005WN-UW
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 14:32:51 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20623.outbound.protection.outlook.com
 [2a01:111:f400:fe13::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6d684663-bf50-11ed-956e-85ef70e17bfa;
 Fri, 10 Mar 2023 15:32:47 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DUZPR04MB9898.eurprd04.prod.outlook.com (2603:10a6:10:4d2::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Fri, 10 Mar
 2023 14:32:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.019; Fri, 10 Mar 2023
 14:32: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: 6d684663-bf50-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AkHjx+WX7Y0QwPec8wyNVdUC20L4rYCZ6KY1Zb2fdtW2WFnwFffyikHTOzGZFwXJM1YctPsoVsqw/PaBjGzuSnOOnZFswii+tVOu8/1su4j2/AExMh7GtH5JYE1Q0fbIbgPElWtl7t4+b1GoZcXrQ6KWSsiJ43WfhjAUzqrvyPQth1hwgKS31yyzKBoXsqqDT7GM6pJBV7VU610ynK7RM7VnntvQAsB+il2bWUEZDb43M3/Hmn4VxLnRK/kcSoxUQVR7n+I2G/MehVXi6Uua+1UFHWheoKDLuYRjLK7IJXRrGvD7E2zMbYi6t+Jkvftyfa4O8yZhqESu5EkF3uqUww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lEy9u2qwxi3E/Tz+DV+Tf1MaPdOjXBFDw3HxTsKlYVk=;
 b=mb9EmrdfjcH1mZ32xBQS9qzWwLJ0gO3aegaCAy9r+6FLkWr7OEFELcBFtFqAl2jFTVcgXeWXJ/Tg34i2aCaF/rMvxqB3oKWHejbBwUbZfjHwpfe5kUjyAY8jR0zXScnqcfmWEhx9x/0UVt0vkL19eJAhvC/kMjqP70PWyOm7PP4vnbQpMEr7/0KzL4x/H840Wn77fT1TbBMo/6wesMVBQ1Ncl9pRXSv9hB4oOEsOq17w/R4oAS1fTG5fT9wPhAvc/N+myFx0t6QqMswejPvisORl9Lm/D0vuvBYFhiVelNuDmsLup02aSDRsRKpOtlgUDfqA7KJBCMWuiZ06ejJvNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lEy9u2qwxi3E/Tz+DV+Tf1MaPdOjXBFDw3HxTsKlYVk=;
 b=VzCBT2F8PwiqcpI0Ipbz3eTi7lNY1V5GA2nzPYNURaui+yHHDGVgrJ3dwkQadv4YNIs91Z7wwbQAAlx9TPQDkS6CfmiwbQUQsd+0bdAnFfW7IF5Uea/gEDOZXdwfUTcSsRBjhjbmq2HiRZ1wMfIBLsq8zoKAf7lGOR8pI9kmevKO1rCRces8kV59Hi2WB7/Rp8HRd56oYi5cll57oPT+D1am7WKBgYjY+1diZtA+VHKjUNibHp5el0yNgY3rEECX3sBgbIJUpqDV3IQzGEGwirSoIQ/SAXeYeVldouL3aCWy4co3PowNYSU9hm/YhQkP7AAMngVQLPfHWMgFbAuiRg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <29c3e26e-e6b2-1b2f-b442-d468d8abb505@suse.com>
Date: Fri, 10 Mar 2023 15:32:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] tests/vpci: install test
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: andrew.cooper3@citrix.com, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230309165812.33918-1-roger.pau@citrix.com>
 <f2c7a5db-80d3-a89b-dff5-250eb18bec14@suse.com>
 <ZAsyxw6VvQHYrksG@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZAsyxw6VvQHYrksG@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0085.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DUZPR04MB9898:EE_
X-MS-Office365-Filtering-Correlation-Id: c4c7ca25-616c-44a8-451e-08db21745015
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	P5qOT++vR089KWHVpqnWs0bwpcbv8fpKGEaV0UdNUQ8Ilqc/8rWr0YGadnIo1JEBX3vaZHQ/Q62kunm5uVFiCe+pMUyKXMOiA/oqXxz3TYpmODyVIRH3hbl853ShGKMFWrPNeiF5x//fyYYbuFPyxDSfKXOvFE5m+gfUuF2zEemXpasQN7gNhoVS5xPwhYnPt6BHbeFrJFB26hzG2lk7w/gvsCZJVr6rOCG+HpraVtD1IZLqNyV8xKQOwnv+UrxHzJZk+YlJ7u36cpXmUCm2+v3UspbmOfeQBEzqoq2xa++it7n0NEVff9bOkTP8laRz+UBuVBLzSw/Mz5QTeoPoH4XmPuMQgCOCFdYX/h3pQR0LSSTKT1bCi9AxqwYNZgb0EIR9hmLvksvpkrTtmY/KpmsLwxOvCKS5LaasTdlFwMRh+cY7PYZB/ERNEfTjLMh+aDB58MpvXMWFBY5ayOHAS3BsO03NJB+TABDJiLgMwY2uO0fJicm0rTWJcEJwiQX4N63jYOx06tIFURxhtBIpkCi+CM3usaJHjSXTiHavRowiV5foy4nIugLlxg48Q2pU86HicJTDiNKU82FzCDsOkECVmasHTDfOhEIT/ineXuPdHvvhOTRKweSF9dBDFrr/8b7ImdwflHLEs6PpnsXXo6jktQhAscmqk4ncR4brf49BcpBJbYT9V9/ahCKMi2kGr3AKf0wBpuWzc+PsmJV1TwGVuC6raAyO8i8tWIA6IBo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(396003)(346002)(39860400002)(366004)(136003)(451199018)(31686004)(66899018)(6666004)(36756003)(478600001)(54906003)(316002)(38100700002)(6486002)(6512007)(6506007)(186003)(26005)(53546011)(8936002)(2616005)(8676002)(31696002)(2906002)(5660300002)(66476007)(66556008)(66946007)(41300700001)(86362001)(4326008)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aFBGUXdkZkswdXBkSitUOURmN1d2VmVJMGdyK1JBY0t0TE0wMTBONzN0TWsw?=
 =?utf-8?B?OUYzNnVURlJvKzFNVXBrb0ltQ1NBbnRodXlSZFAyMkNjek1JREZDbWNmZjRE?=
 =?utf-8?B?d1NVSmxIcFJuSi9UTGlSTzJ6aFFOV043RUJFWFB1cU9nQWNQK0J5U0RjazJU?=
 =?utf-8?B?OFhDeEJvUXhTR3hWRTEzRkliUjZsUHJTUGdWWG96d043RHJ1Y1Q5MTgyTkxx?=
 =?utf-8?B?RDRmdStwYllPSzRBSkVkSjdLelk0eEZXUW9kVG9MQ3M3MXQwM2lTeE9uYXQz?=
 =?utf-8?B?ZjZ1WmwzcWlsMkRGM2IyRXJqbXp6YndZeCt1dkh5MjBjWHNQN0NDdWxyeFdz?=
 =?utf-8?B?N1lJM09aVmJJMkZ1RC9Fc081ODdvbWhHRXpyeXhGTXU0T2F3TkY3a0w3bFV1?=
 =?utf-8?B?c3ZncEdaVUMvdnZYT2RXQ01kUnBramZCMWVrcUtYQmtmd01VNEl6ekRlaWRU?=
 =?utf-8?B?SVpFZ2l1bng4U0FuYjlSVVJ2WVlLVW5hc0dycDJLQXZVblgxR1ovaGlzNzR6?=
 =?utf-8?B?ZzZuWS85emY2dXlLVW1XQzhVdlA0bnVnUVJOcUxJY21TZFhtdStrUStwSG1Z?=
 =?utf-8?B?a25zWTNDVjRIcTV6cWZuTE1rdkw4TEZ4Z0Evd21UVEZMUXBub3NyZEZRUjdl?=
 =?utf-8?B?eTZlRjZISGhDYmtZSXBFSmVObk54SXk5QjV5b1R1Z0xRckJVU0VNbDRFV0JH?=
 =?utf-8?B?Q1BWQ0RNYlgvY2FBWndkSUdpdmtNdDAvKytvSkxYQndzREpZVVFIbUl3QVR5?=
 =?utf-8?B?UDhLcFZLaERmZTlselhlK0VobC8vUjdGL1ArdU5rempMbmJQT1IzdDUzSHVB?=
 =?utf-8?B?VERrQWdRL2RmaDg1TTVqQlVlN0N0SE01NmExcWJQdkVVMEdaNWtYNnE0ckJV?=
 =?utf-8?B?aDBiOGlwcVFrSnlHclk5Qy96OE5YbGtDSzRNdk1TN2NXR0M0RHBrK1ozZk5C?=
 =?utf-8?B?V3F0bm44OURCckhBRlZrZThKa2tFdktBTlNzSTRUbVdNWmJKTDg3UUtUNzVN?=
 =?utf-8?B?Y1BKaUtJOHN6QzZTU20ydnRqWXhNKzNkVXpQaG5jZXpndnVYUjRGcHR6dlVK?=
 =?utf-8?B?KzBVNXVpcFQ5K2d1R0xxWmtyMEdld3JnUlkrNTVlcnArYzNKeHpzL2tHWlcx?=
 =?utf-8?B?WFA4WmU0elhoaTdMalFGRVpLK0JOUjFSbHpqM2N6TVJKSDBhQlBFemc2MGVM?=
 =?utf-8?B?cUxrbmx4bkVURG1FMVhCejRYU0dKTnF5Y1lXU0k0TXFQbndjRUQ5Wjc5aDE5?=
 =?utf-8?B?anQvRytPRmthbDVuRlNnSlUyKzRxbVBpejRsNzVkUHo3QzNIOWJiUEx0eHgx?=
 =?utf-8?B?cktmdmtiTGF0d2Q1cmRqQVJzNElJQ1BiWWJIRmJpYUFtWTBQVlE0dWk0bEd1?=
 =?utf-8?B?c0R5VElTSFFyVFhLWGQzVWhyY2l1dS95WTNzZHZjS3c4VHYwSDFzdHZDZHVo?=
 =?utf-8?B?bk5udkt4ckYvaHhFWkRidDRkNnhUS2JORGhFcjNwbXgxaDVlT2pYNGI0enlC?=
 =?utf-8?B?bFgwd1pmWTdhZEM0WFA4blJkek05V2dWd3dlb2EzWndVYWR5SmxzT2lmS204?=
 =?utf-8?B?VlI5YlVFWEptYm40eGpRNy9ZWXRvOTRwS0pjVjJERzhoV3RJQTRORG5tbUU0?=
 =?utf-8?B?d3lrcXFDMnpGdityTGZSQmtBb080bHYxSmVLaEdmaW1XNmt0akR1dkRnWnk2?=
 =?utf-8?B?SkJuMS9HTUdYTmlZdlk0Y09hUkpWZHl5c0NKNjVPSXhrRTI5MWwyOUM4UnlH?=
 =?utf-8?B?dGhRWitFREY4UVhIbnI4czBreHIwaHh0S25tMDlYTEJqdStSN0EvTm0remVh?=
 =?utf-8?B?TXB2clhKTzIwS0hZRHh1bnkwOWQxQndQc010SEhQdjZVT1VBbWo2c0lpVjdK?=
 =?utf-8?B?MlFtRTVSQVVMVGozSlFDRkM5NmtFb2ovNEZ0eEZxdjlUMXBsOUNqL2t3TDBy?=
 =?utf-8?B?K3gwNzl3YUZmemduOWtSMTNNYVFqbEFKY01oVTMzbmxQQVRsRDJkcTAyeVQz?=
 =?utf-8?B?RzBCNVU4ZHhUOUJFejM1RittaVh2N1dVREFINER4WWxSNFl3Uy9jVGZOUTFD?=
 =?utf-8?B?UHdxZkpIenNLY1VSRld5N3EyUGo3YXV2cFpEUDlhT3l0Y3RYN09TcDEzSXhV?=
 =?utf-8?Q?A61HZjr05X3wGMNKOjSQCkQFM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c4c7ca25-616c-44a8-451e-08db21745015
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Mar 2023 14:32:44.9363
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2elOkq3L4tu0/cTK/bWgGIRZ34fcGXv+ZABgTIMqaKIWEPaeHIlzNHHwKWGdX5Rj4M+nZ/cegIlgevJCzX4jnQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9898

On 10.03.2023 14:38, Roger Pau Monné wrote:
> On Fri, Mar 10, 2023 at 12:06:29PM +0100, Jan Beulich wrote:
>> On 09.03.2023 17:58, Roger Pau Monne wrote:
>>> Introduce an install target, like it's used by other tests.  This
>>> allows running the test on the installed systems, which is easier than
>>> running it during the build phase when dealing with automated testing.
>>> Strictly speaking the vpci test doesn't require to be run on a Xen
>>> host currently, but that allows easier integration with logic that
>>> runs the rest of the tests.
>>
>> I accept that as a possible way of looking at things, but personally I
>> remain unconvinced of this model. To me what is installed should be of
>> value to users. If there was a properly separated directory where all
>> (and only) tests were put, I might agree with installing. (Nevertheless
>> this isn't an objection, merely a remark.)
>>
>>> While there also adjust the makefile to use $(RM), and rename the
>>> resulting binary to use a dash instead of an underscore (again to
>>> match the rest of the tests).
>>>
>>> Since the resulting test binary is now part of the distribution CC
>>> must be used instead of HOSTCC.
>>
>> This breaks the run: goal, doesn't it? If the new mode is wanted, I
>> think the two kinds of binaries (and rules) need separating (maybe a
>> way can be found to avoid duplicating the rules, which would seem
>> desirable).
> 
> The run rule is not hooked up in any of the upper level makefile logic,

What about the run-tests-% goal in the top level Makefile?

> so I think it's usage (like in other tests that also use CC and have
> such rule) is left to callers that know that HOSTCC == CC.
> 
>>> --- a/tools/tests/vpci/Makefile
>>> +++ b/tools/tests/vpci/Makefile
>>> @@ -1,7 +1,7 @@
>>>  XEN_ROOT=$(CURDIR)/../../..
>>>  include $(XEN_ROOT)/tools/Rules.mk
>>>  
>>> -TARGET := test_vpci
>>> +TARGET := test-vpci
>>>  
>>>  .PHONY: all
>>>  all: $(TARGET)
>>> @@ -11,17 +11,23 @@ run: $(TARGET)
>>>  	./$(TARGET)
>>>  
>>>  $(TARGET): vpci.c vpci.h list.h main.c emul.h
>>> -	$(HOSTCC) -g -o $@ vpci.c main.c
>>> +	$(CC) -o $@ vpci.c main.c
>>
>> You're losing -g and you're also not covering for it by adding $(CFLAGS)
>> (there should have been use of $(HOSTCFLAGS) already before, I suppose).
> 
> Wasn't sure whether I should add CFLAGS and LDFLAGS here, I guess
> LDFLAGS is really not needed because the test is not linked against
> any library, but could be added just in case.

Perhaps. I find $(LDFLAGS) odd to use anyway - by its name it ought to be
passed to $(LD), not $(CC).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 16:03:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 16:03:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508518.783242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pafCo-0000ws-1O; Fri, 10 Mar 2023 16:02:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508518.783242; Fri, 10 Mar 2023 16:02: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 1pafCn-0000wh-UM; Fri, 10 Mar 2023 16:02:53 +0000
Received: by outflank-mailman (input) for mailman id 508518;
 Fri, 10 Mar 2023 16:02: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=cIIN=7C=citrix.com=prvs=426914f36=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pafCm-0000Sh-E4
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 16:02: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 016eb0d4-bf5d-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 17:02: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: 016eb0d4-bf5d-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678464171;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=hxDuuASBYhC3lgjPMhX5Vo2Fmk3Cotqg6TNgoc6+qJE=;
  b=hqj1VhyzMJNJnj2MiY+0/h2gELVNvZXxCVNt+ltukyPzYEcn50ADuNC7
   HJTMHXToBN1o+MKIb6tu2x0fC80dRTn26Hs6Xc/MAZ1fXpFs2CTNbb3bz
   Xpd+ILgN3eHG8FkYiwHl4cVF/a3Ff4LMV1YyoEWHQzbiKkZVsB08mHNUM
   0=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100246595
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:A/v9qKlc1A0J88r+9W3JEK3o5gyXJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIbD2GOPqyMajCkL9ogaYTiphtS7Z7dmt41GQA5/CEzRSMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QeGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 eQJd20KcA7Eu+2/3+qbZtYznpojIMa+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglHWdTFCpU3Tjq0w+2XJlyR60aT3McqTcduPLSlQth/A/
 jiaoTmoX3n2MvSOwjbY9yuLl9XhgH64W4IWH4fhz+Bl1Qj7Kms7V0RNCArTTeOColG6c8JSL
 QoT4CVGhbg/8gmnQ8fwWzW8oWWYpVgMVtxICeo45QqRjK3O7G6xJEIJUzpAY9wOr9ItSHoh0
 Vrhoj/yLWUx6vvPEyvbr+rK62roYkD5MFPuewccXFRY5Mf95708hw2XbvpcT7brjtH6TGSYL
 y+xkAAygLAajMgu3qq9/Ezajz/EmqUlXjLZ9S2MADv7s1oRiJqNItXxtAOFtaoowJOxFAHpg
 ZQSpySJAAni57mpnTfFfugCFarBCx2tYGyF2g4H83XMGl2QF5+fkWJ4umwWyKRBaJxsldrVj
 Kj76GtsCGd7ZifCUEOOS9vZ5z4W5abhD8/5cfvfc8BDZJN8HCfeon4+Ph7Ojji2zRdw+U3aB
 Xt8WZzxZUv29Iw9lGbmLwvj+eVDKt8CKZP7GsmgkkXPPUu2b3+JU7YVWGZinchghJ5oVD79q
 o4FX+PTkkU3bQELSnWPmWLlBQxQfCdT6FGfg5A/S9Nv1SI/RTBwVKGMn+x6E2Gn9owM/tr1E
 riGchcw4DLCabfvc21mtlgLhGvTYKtC
IronPort-HdrOrdr: A9a23:Gyi3hqN2wDsxecBcTs+jsMiBIKoaSvp037BL7SxMoHluGfBw+P
 rAoB1273HJYVQqOE3I6OrgBEDoexq1n/NICOIqTNSftWfdyQ6VBbAnwYz+wyDxXw3Sn9QtsZ
 uIqpIOauHNMQ==
X-IronPort-AV: E=Sophos;i="5.98,250,1673931600"; 
   d="scan'208";a="100246595"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 2/2] x86/spec-ctrl: Enumerations for DDP controls
Date: Fri, 10 Mar 2023 16:02:38 +0000
Message-ID: <20230310160238.1321765-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230310160238.1321765-1-andrew.cooper3@citrix.com>
References: <20230310160238.1321765-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/data-dependent-prefetcher.html

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/libs/light/libxl_cpuid.c              | 1 +
 tools/misc/xen-cpuid.c                      | 2 +-
 xen/arch/x86/include/asm/msr-index.h        | 1 +
 xen/include/public/arch-x86/cpufeatureset.h | 1 +
 4 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index 1d4e8a6b0067..968635981086 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -242,6 +242,7 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str)
         {"intel-psfd",   0x00000007,  2, CPUID_REG_EDX,  0,  1},
         {"ipred-ctrl",   0x00000007,  2, CPUID_REG_EDX,  1,  1},
         {"rrsba-ctrl",   0x00000007,  2, CPUID_REG_EDX,  2,  1},
+        {"ddp-ctrl",     0x00000007,  2, CPUID_REG_EDX,  3,  1},
         {"bhi-ctrl",     0x00000007,  2, CPUID_REG_EDX,  4,  1},
         {"mcdt-no",      0x00000007,  2, CPUID_REG_EDX,  5,  1},
 
diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 4f4261f4aa95..868054ab96a6 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -216,7 +216,7 @@ static const char *const str_7d1[32] =
 static const char *const str_7d2[32] =
 {
     [ 0] = "intel-psfd",    [ 1] = "ipred-ctrl",
-    [ 2] = "rrsba-ctrl",
+    [ 2] = "rrsba-ctrl",    [ 3] = "ddp-ctrl",
     [ 4] = "bhi-ctrl",      [ 5] = "mcdt-no",
 };
 
diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index 7615d8087f46..4e90b361eb08 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -41,6 +41,7 @@
 #define  SPEC_CTRL_RRSBA_DIS_U              (_AC(1, ULL) <<  5)
 #define  SPEC_CTRL_RRSBA_DIS_S              (_AC(1, ULL) <<  6)
 #define  SPEC_CTRL_PSFD                     (_AC(1, ULL) <<  7)
+#define  SPEC_CTRL_DDPU_D                   (_AC(1, ULL) <<  8)
 #define  SPEC_CTRL_BHI_DIS_S                (_AC(1, ULL) << 10)
 
 #define MSR_PRED_CMD                        0x00000049
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 336744b47119..4976a27690af 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -295,6 +295,7 @@ XEN_CPUFEATURE(INTEL_PSFD,         13*32+ 0) /*A  MSR_SPEC_CTRL.PSFD */
 XEN_CPUFEATURE(IPRED_CTRL,         13*32+ 1) /*   MSR_SPEC_CTRL.IPRED_DIS_* */
 XEN_CPUFEATURE(RRSBA_CTRL,         13*32+ 2) /*   MSR_SPEC_CTRL.RRSBA_DIS_* */
 XEN_CPUFEATURE(BHI_CTRL,           13*32+ 4) /*   MSR_SPEC_CTRL.BHI_DIS_S */
+XEN_CPUFEATURE(DDP_CTRL,           13*32+ 3) /*   MSR_SPEC_CTRL.DDPU_U */
 XEN_CPUFEATURE(MCDT_NO,            13*32+ 5) /*A  MCDT_NO */
 
 /* Intel-defined CPU features, CPUID level 0x00000007:1.ecx, word 14 */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 16:03:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 16:03:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508516.783222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pafCl-0000T0-EF; Fri, 10 Mar 2023 16:02:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508516.783222; Fri, 10 Mar 2023 16:02: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 1pafCl-0000St-At; Fri, 10 Mar 2023 16:02:51 +0000
Received: by outflank-mailman (input) for mailman id 508516;
 Fri, 10 Mar 2023 16:02: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=cIIN=7C=citrix.com=prvs=426914f36=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pafCj-0000Sh-Ll
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 16:02:49 +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 fed5350f-bf5c-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 17:02: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: fed5350f-bf5c-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678464167;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=t7ZnuhxowthQSOedJI0xzWN9tQ92btCp9YOyVVCtXMo=;
  b=fCtHkkmIhfJaSkZZQslE8GT3KQ6iVOXOddtP3kQkNm2SfTFJkh3UKpSP
   h+NfvvY7SdI3jRzIsnNm37vTvWZ1Us3Rmi8fdd5q2L1CgWPPKUP18J/z6
   SfgH+upAKqdqWAb4hNvjZf9EdkDzN4/BQF7Q/ed0Wj8ROzC6zDfYY3Lq5
   A=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100753228
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:8Shg0a+qJHBqtrwR2yzQDrUDln6TJUtcMsCJ2f8bNWPcYEJGY0x3n
 zEXXmiDOquPY2Twc4p0Ptu/oBxTvMLdz9VjGVFl/ig8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkT5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklc/
 sI/ARQTNiygrMmInZuxTsRxwc0seZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGOkcUUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0Mxh7H+
 zmcpTSR7hcyDuyu5B/UqWuQidDItg35A9wYMb3l36s/6LGU7jNKU0BHPbehmtGmjmauVtQZL
 FYbkgI+oK53+EG1Q93VWxyjvGXCrhMaQ8BXEeAx9EeK0KW8yySzC3UATzVBQMc7r8JwTjsvv
 mJlhPuwW2Yp6ufMDyvAqPHN92ja1TUpwXEqdyQ6aiIh/YHfg6oYsE/mRNJODem8gYigcd3v+
 AyioC87jrQVqMcE0aSn4FzK6w6RSoj1oh0dvVuOAD/8hu9tTMv8PtHztwCHhRpVBNzBJmRtq
 kTojCR3AAomKZiW3BKAT+wWdF1Cz6bUaWaM6bKD8nRIythMx5JBVdoNiN2dDB0zWirhRdMOS
 B67hO+pzMUPVEZGlIcuC25LN+wkzLL7CfPuXe3OY9xFb/BZLVHYrHo+Ox/IhD2yzCDAdJ3T3
 r/BLK6R4YsyU/w7nFJauc9HuVPU+szO7TyKHs2qp/hW+bGfeGSUWd843KimN4gEAFe/iFyNq
 b53bpLaoyizpcWiOkE7B6ZPdwFVRZX6bLiqw/Fqmhmre1c3ST5/VqGOmtvMueVNxsxoqwsBx
 VnlMmcw9bY1rSGvxdmiApy7VI7SYA==
IronPort-HdrOrdr: A9a23:GDCz464rF4P9ubDXZwPXwMbXdLJyesId70hD6qkRc3Bom6mj/P
 xG88516faZslgssRMb+exoSZPgfZq0z/cci+Qs1NyZLWrbUQWTXeRfxLqn7zr8GzDvss5xvJ
 0QF5SW0eeAb2RHsQ==
X-IronPort-AV: E=Sophos;i="5.98,250,1673931600"; 
   d="scan'208";a="100753228"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 1/2] x86/spec-ctrl: Add BHI controls to userspace components
Date: Fri, 10 Mar 2023 16:02:37 +0000
Message-ID: <20230310160238.1321765-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230310160238.1321765-1-andrew.cooper3@citrix.com>
References: <20230310160238.1321765-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This was an oversight when adding the Xen parts.

Fixes: cea9ae062295 ("x86/spec-ctrl: Enumeration for new Intel BHI controls")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/libs/light/libxl_cpuid.c | 3 +++
 tools/misc/xen-cpuid.c         | 6 +++---
 2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index 06b1227a2fd3..1d4e8a6b0067 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -240,6 +240,9 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str)
         {"cet-sss",      0x00000007,  1, CPUID_REG_EDX, 18,  1},
 
         {"intel-psfd",   0x00000007,  2, CPUID_REG_EDX,  0,  1},
+        {"ipred-ctrl",   0x00000007,  2, CPUID_REG_EDX,  1,  1},
+        {"rrsba-ctrl",   0x00000007,  2, CPUID_REG_EDX,  2,  1},
+        {"bhi-ctrl",     0x00000007,  2, CPUID_REG_EDX,  4,  1},
         {"mcdt-no",      0x00000007,  2, CPUID_REG_EDX,  5,  1},
 
         {"lahfsahf",     0x80000001, NA, CPUID_REG_ECX,  0,  1},
diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 3ab820571d8d..4f4261f4aa95 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -215,9 +215,9 @@ static const char *const str_7d1[32] =
 
 static const char *const str_7d2[32] =
 {
-    [ 0] = "intel-psfd",
-
-    /* 4 */                 [ 5] = "mcdt-no",
+    [ 0] = "intel-psfd",    [ 1] = "ipred-ctrl",
+    [ 2] = "rrsba-ctrl",
+    [ 4] = "bhi-ctrl",      [ 5] = "mcdt-no",
 };
 
 static const struct {
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 16:03:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 16:03:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508517.783228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pafCl-0000We-NV; Fri, 10 Mar 2023 16:02:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508517.783228; Fri, 10 Mar 2023 16:02: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 1pafCl-0000WJ-K0; Fri, 10 Mar 2023 16:02:51 +0000
Received: by outflank-mailman (input) for mailman id 508517;
 Fri, 10 Mar 2023 16:02: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=cIIN=7C=citrix.com=prvs=426914f36=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pafCk-0000Sn-TN
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 16:02:50 +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 ff5f31d6-bf5c-11ed-956e-85ef70e17bfa;
 Fri, 10 Mar 2023 17:02: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: ff5f31d6-bf5c-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678464167;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=edO+VCSyuvNaX8xW5UwZy89V5UgToFqB1ABOZapoULo=;
  b=PSU7jXN/adP3AGppELTTdzJYj+ADkfe61YwopRzz/tj4cI0tIK154cov
   2kQ4uGCM8pjTROtdEIL3M8nRyKu1A3giZXKXrsfDsV5MNR9n44ljTfvY3
   PWzE1zlze9KEIMKeZCGagxpaHKsjLWtky7uMds9sH7ZmsXpyI7nRm8ZHx
   s=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 99716942
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:Q3rvaa3IAIL7mTOWxvbD5cRxkn2cJEfYwER7XKvMYLTBsI5bpz0Pn
 GcaC2uOPPuLYmX2f413YYzlp0MGsJSEmNNkGwVkpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdnPagR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfPTgV1
 84ycAE0clO52cWc/fWRT7Zgv5F2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKk2aOHWjOX9OYH46tM6uimPybHtzr1WNqLBsy2PS0BZwwP7mN9+9ltmiFJQKxxjJ+
 jiuE2LRWBUVGIKjzCi561Gcut7Rx3/VXtsiC+jtnhJtqALKnTFCYPEMbnOkpdGph0j4XMhQQ
 2QE9yxroaUs+UiDStjmQwb+sHOCpgQbWddbD6s98g7l4oj+7hudB2MEZiVcc9Fgv8gzLQHGz
 XfQwYmvX2Y29uTIFzTErOz8QS6O1TY9ETZZRx0uFTo8/5rZ/qYZs1XlS4lvKfvg5jHqIg3Yz
 zePpSk4orwci88Xyqm2lWz6byKQSovhFVBsuFiONo6xxkYgPdP+OdT0gbTOxawYRLt1WGVtq
 5TtdyK2yOkVRa+AmyWWKAnmNOH4vq3VWNEwbLMGInXAy9hP0yT+FWyzyGskTKuMDirjUW6BX
 aMrkVkNjKK/xVPzBUONX6q/Ct4x0Y/rHsn/W/bfY7JmO8YuJFTXonA2PhPPgwgBdXTAdollZ
 P+mnTuEVy5GWcyLMhLsLwvi7VPb7n9nnj6CLXwK5x+mzaCfdBaopUQtaTOzghQCxPrc+m39q
 o8PX/ZmPj0DCIUSlAGLq99MRb3LRFBnba3LRzt/L7PSc1U4RT9+UJc8A9oJIuRYokicrc+Ql
 lnVZ6OS4AGXaaHvQelSVk1eVQ==
IronPort-HdrOrdr: A9a23:LQPe2qpQgCRx5xJiw108SIIaV5oleYIsimQD101hICG9E/b1qy
 nKpp8mPHDP5wr5NEtPpTnjAsm9qALnlKKdiLN5Vd3OYOCMghrKEGgN1/qG/xTQXwH46+5Bxe
 NBXsFFebnN5IFB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.98,250,1673931600"; 
   d="scan'208";a="99716942"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 0/2] x86: Misc enumeration improvements
Date: Fri, 10 Mar 2023 16:02:36 +0000
Message-ID: <20230310160238.1321765-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

Patch 1 noticed because xen-cpuid currently says:

  [13] 0x00000007:2.edx   intel-psfd <1> <2> <4> mcdt-no

when dumping the static known-feature bitmap.  In some copious free time, we
should have a unit test that catches this.

Patch 2 when double checking that the enumeration hole was in fact correct.

We should offer DDP-CTRL to guests, but I'm not sure when it is appearing in
hardware, and it's not massively urgent - the DDP behaviour is mostly sane
(having been designed in a post-spectre world) and this is a just-in-case
control.

Andrew Cooper (2):
  x86/spec-ctrl: Add BHI controls to userspace components
  x86/spec-ctrl: Enumerations for DDP controls

 tools/libs/light/libxl_cpuid.c              | 4 ++++
 tools/misc/xen-cpuid.c                      | 6 +++---
 xen/arch/x86/include/asm/msr-index.h        | 1 +
 xen/include/public/arch-x86/cpufeatureset.h | 1 +
 4 files changed, 9 insertions(+), 3 deletions(-)

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 16:06:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 16:06:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508525.783251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pafFo-00026J-EN; Fri, 10 Mar 2023 16:06:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508525.783251; Fri, 10 Mar 2023 16:06:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pafFo-00026C-Bn; Fri, 10 Mar 2023 16:06:00 +0000
Received: by outflank-mailman (input) for mailman id 508525;
 Fri, 10 Mar 2023 16:05: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=1wjP=7C=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1pafFm-000265-FD
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 16:05:58 +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 71152bd3-bf5d-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 17:05:56 +0100 (CET)
Received: by mail-lf1-x12b.google.com with SMTP id t11so7257623lfr.1
 for <xen-devel@lists.xenproject.org>; Fri, 10 Mar 2023 08:05: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: 71152bd3-bf5d-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1678464348;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=oMxJWAkczboAW049jRuccWtEUK9YHuuRlQ5TB9a2LC8=;
        b=KDuHFd8eWG4RHfi/w0My8Xas2Odaj4klKWBCiHfBf7MzMzU5kFR9YUKWwFiQTvJv2w
         rTI1ynj8opSvqgOJDFuZsTurgx75TSSnDpDY2L47UDyqXclXxSHJF6rcsEdlSVZL9g8Y
         DQSe7QGwH8ezTkE1J3BK025bK4HRwIOVcQ7N4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678464348;
        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=oMxJWAkczboAW049jRuccWtEUK9YHuuRlQ5TB9a2LC8=;
        b=c4OS7BxnauzE9gGD9NPFHZtDekU4PxkuDupub99LSEiUUQ8kjQmxS9zauyzvIOt+T6
         WalXRDUyirai8LMC3Wk8Kzx9o3BHuk3kVkP3Cyq4fTMycHKQ5kedRl3l67P8yRId/rZ1
         Pq4aDDOBQH4krPz5vVHVCJCPJ8MrEbEVRtAGengdEorgGtYmbgTlziilgSz74dSpLm0X
         yia7AZEFYCuTx4WvYNXTbloAoFG+F7Ng6iQnTuwTfAt5sbejAFEjmkQSpYaDQhj+K4q7
         hqeveV4OLpyk4yhc80sbPnz2OATgvq0r96C+h6zuSfo0cmk9cY25tZvrzCTT7yuNvYO4
         ZQgg==
X-Gm-Message-State: AO0yUKUK2PMyFW794uGRBv7epE/xc+h35XjEQcFWfevRlbCQkNgSnFeK
	+gJWoMJ4jvbgiv4fu8x76EGumxtxTu52hIvJYug4FSaP3Ve6P34T
X-Google-Smtp-Source: AK7set+PnS2gSjKg4b5Tof8IJzeAc64czqHCVFsyYmQy8mNcgsSlJWcr/thkYuSNTppV9PhbTRQrNV9LRoy9XZNNj7I=
X-Received: by 2002:a05:6512:68:b0:4d8:5f47:e4d3 with SMTP id
 i8-20020a056512006800b004d85f47e4d3mr7912368lfo.8.1678464348303; Fri, 10 Mar
 2023 08:05:48 -0800 (PST)
MIME-Version: 1.0
References: <9a0e5021a612951c4174c45099edc8a4fb5bd3bb.1677091168.git.demi@invisiblethingslab.com>
 <dc46acc1-9eb9-8091-28df-405a66879a85@suse.com> <Y/dlPXeJlPRwEB1s@mail-itl>
 <49f35c93-2235-4223-89dd-3e6256a17369@suse.com> <Y/dwd5Gkv5Ps61eC@mail-itl> <400b11d9-7905-1cc5-2ab3-e77d3fbd9908@suse.com>
In-Reply-To: <400b11d9-7905-1cc5-2ab3-e77d3fbd9908@suse.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 10 Mar 2023 16:05:37 +0000
Message-ID: <CA+zSX=bQVQq1+gOXdPFFwerK-0HBCtmBW0mn__LaF3DgVGAx1w@mail.gmail.com>
Subject: Re: [PATCH] Call SetVirtualAddressMap() by default
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Demi Marie Obenour <demi@invisiblethingslab.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
Content-Type: multipart/alternative; boundary="0000000000003fc4af05f68deffe"

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

On Fri, Feb 24, 2023 at 8:20=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:

> On 23.02.2023 14:56, Marek Marczykowski-G=C3=B3recki wrote:
> > On Thu, Feb 23, 2023 at 02:21:11PM +0100, Jan Beulich wrote:
> >> On 23.02.2023 14:08, Marek Marczykowski-G=C3=B3recki wrote:
> >>> On Thu, Feb 23, 2023 at 11:16:28AM +0100, Jan Beulich wrote:
> >>>> On 22.02.2023 20:14, Demi Marie Obenour wrote:
> >>>>> To quote Andrew Cooper:
> >>>>>
> >>>>>> I know we've had this argument before, but not calling
> >>>>>> SetVirtualAddressMap() isn't a viable option.  It's a prerequisite
> to
> >>>>>> function on literally millions of devices
> >>>>>
> >>>>> Qubes OS has been shipping EFI_SET_VIRTUAL_ADDRESS_MAP for years,
> and I
> >>>>> believe OpenXT and EVE ship it as well. Mark
> EFI_SET_VIRTUAL_ADDRESS_MAP
> >>>>> as SUPPORTED and enable it by default.
> >>>>
> >>>> This is insufficient justification. The main reason why we don't cal=
l
> >>>> it is because it can be called only once. Any entity taking over lat=
er
> >>>> (e.g. via kexec) can't do anything anymore about the virtual address
> >>>> associations once set. Hence what's needed to justify a change like
> >>>> this is an explanation of why this restriction is not really an issu=
e
> >>>> to anyone in any case.
> >>>
> >>> AFAIR from the discussion about the original patch, kexec under Xen
> does
> >>> not preserve runtime services working anyway, so this limitation is
> more
> >>> about some possible kexec implementation in the future, not actually
> >>> breaking something right now. And since Linux calls
> >>> SetVirtualAddressMap() _and_ supports kexec just fine, it's definitel=
y
> >>> possible to design this future kexec extension to work after
> >>> SetVirtualAddressMap() too.
> >>>
> >>> Relevant parts of that older discussion:
> >>> -
> https://lore.kernel.org/all/272a9354-bcb4-50a4-a251-6a453221d6e3@citrix.c=
om/T/#u
> >>> - https://lore.kernel.org/all/20191009235725.GT8065@mail-itl/T/#u
> >>
> >> Well, there are various statements there without further reference. I'=
m
> >> having a hard time seeing how a full-fledged Linux could do well witho=
ut
> >> runtime services, or without being able to set the virtual address map
> >> to its liking. If they can, then a question would be why they need to
> >> set the virtual address map in the first place (yes, there is this
> >> supposed "firmware bugs" argument, which unfortunately I lack any proo=
f
> >> of; at the very least I'm unaware of bug reports against Xen boiling
> >> down to us not making this call).
> >
> > The second link points at a thread of one of such bug reports.
>
> Hmm, yes, digging through the about two dozen mails, I can see there is a
> connection to (not) calling SetVirtualAddressMap() there.
>
> >> Plus maybe they can merely because old
> >> and new OS are similar enough in their (virtual) memory layout? IOW
> >> kexec-ing to Linux for crash dumping purposes is just one (important)
> >> example of the functionality that needs retaining.
> >
> > It works just fine with Xen calling SetVirtualAddressMap().
> > SetVirtualAddressMap() is relevant only for using runtime services, and
> > you don't need them for crash dumps. In fact, runtime services are not
> > accessible to post-kexec Linux anyway, so this call doesn't change
> > anything.
> > Additionally, given most stuff works
> > just fine with efi=3Dno-rs proves it isn't severe limitation, if it rea=
lly
> > would need to be there - but as Andrew noted, given Linux example, it
> > doesn't really need to be the case - it may simply require a bit more
> > thinking when adding runtime services capability past kexec.
>
> All of what you say here is what I had meant to cover by adding the
> "(important)", which initially I didn't have.
>
> >> Once we get better
> >> PVH Dom0 support, maybe other Dom0 OSes surface with entirely differen=
t
> >> needs.
> >
> > I find this claim rather weird. Runtime services are a thing that Xen
> > needs to call, not some domain. And Xen has control over its memory
> > layout.
> >
> > _If_ PVH dom0 would really turn out to be incompatible with
> > SetVirtualAddressMap() call by Xen (which I highly doubt), then some
> > alternative for that case can be made. But that's only speculation.
>
> The remark wasn't about Dom0 itself wanting runtime services access:
> Dom0 isn't going to be provided such, at least not to the physical EFI's.
> If such was needed for PVH Dom0, we'd need to wire it to virtual firmware
> hooks (which in turn may or may not be viewed as against some of the
> ideas of PVH).
>
> The remark was instead meant to point out that such an alternative OS
> may want to invoke another (native) instance of itself for e.g. crash
> dumping purposes.
>
> >> As said back then - part of the reason why in the original
> >> implementation I've avoided making this call is because of the fear of
> >> closing possible roads we may need to take in the future.
> >
> > Yet, not calling SetVirtualAddressMap() leads to actual issues _right
> > now_, not in some hypothetical undefined future.
>
> That's the way you, Andrew, and others like to put it. My view at this
> is that it's not the lack of the call, but the improper implementation
> of firmware which leads to an apparent need for this call. Like for all
> other firmware bug workarounds, I'm happy to accept any proposals for
> workarounds, as long as such workarounds either don't impact spec-
> compliant systems, or as long as they're off by default.


But it sounds (reading though this thread) like it doesn't impact any
spec-compliant systems -- that is, not any *known* ones, but only
hypothetical dom0's which are neither Linux (including kexec) nor NetBSD
nor FreeBSD.

If we were Microsoft, we could afford to say "we don't support this
hardware", and that would be enough to get the manufacturers to change
their tune; but we're not.  Making it difficult for our users will not
fundamentally make vendors write better code.

Particularly as my guess is that it's probably mainly a matter of testing:
They only do testing on Windows (or maybe Linux if they're particularly
keen), both of which seem to call SetVirtualAddressMap(); and so bits of
the code accidentally come to rely on it being called.  Sure, in a perfect
world, developers would read the spec, automatically follow it, and test on
all possible hardware; but given how software actually works, it seems
inevitable that we're going to have a never-ending stream of bugs because
we're behaving differently.

So literally the only benefit of your policy is to accommodate hypothetical
operating systems, who may need the functionality for unknown reasons.  And
the cost is to have vanilla Xen not work on loads of real systems.  I don't
think this is the right decision; and it seems like the sort of general
higher-level principle that it would make sense to have a project-wide vote
on if discussion failed to reach consensus.

(Obviously if there are other technical issues, those would need to be
addressed first.)

Supposing such a hypothetical operating system appears, is there any reason
we can't figure out how to provide it what it needs at that time?

 -George

--0000000000003fc4af05f68deffe
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Fri, Feb 24, 2023 at 8:20=E2=80=AF=
AM Jan Beulich &lt;<a href=3D"mailto:jbeulich@suse.com">jbeulich@suse.com</=
a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0p=
x 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On=
 23.02.2023 14:56, Marek Marczykowski-G=C3=B3recki wrote:<br>
&gt; On Thu, Feb 23, 2023 at 02:21:11PM +0100, Jan Beulich wrote:<br>
&gt;&gt; On 23.02.2023 14:08, Marek Marczykowski-G=C3=B3recki wrote:<br>
&gt;&gt;&gt; On Thu, Feb 23, 2023 at 11:16:28AM +0100, Jan Beulich wrote:<b=
r>
&gt;&gt;&gt;&gt; On 22.02.2023 20:14, Demi Marie Obenour wrote:<br>
&gt;&gt;&gt;&gt;&gt; To quote Andrew Cooper:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; I know we&#39;ve had this argument before, but not=
 calling<br>
&gt;&gt;&gt;&gt;&gt;&gt; SetVirtualAddressMap() isn&#39;t a viable option.=
=C2=A0 It&#39;s a prerequisite to<br>
&gt;&gt;&gt;&gt;&gt;&gt; function on literally millions of devices<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Qubes OS has been shipping EFI_SET_VIRTUAL_ADDRESS_MAP=
 for years, and I<br>
&gt;&gt;&gt;&gt;&gt; believe OpenXT and EVE ship it as well. Mark EFI_SET_V=
IRTUAL_ADDRESS_MAP<br>
&gt;&gt;&gt;&gt;&gt; as SUPPORTED and enable it by default.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; This is insufficient justification. The main reason why we=
 don&#39;t call<br>
&gt;&gt;&gt;&gt; it is because it can be called only once. Any entity takin=
g over later<br>
&gt;&gt;&gt;&gt; (e.g. via kexec) can&#39;t do anything anymore about the v=
irtual address<br>
&gt;&gt;&gt;&gt; associations once set. Hence what&#39;s needed to justify =
a change like<br>
&gt;&gt;&gt;&gt; this is an explanation of why this restriction is not real=
ly an issue<br>
&gt;&gt;&gt;&gt; to anyone in any case.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; AFAIR from the discussion about the original patch, kexec unde=
r Xen does<br>
&gt;&gt;&gt; not preserve runtime services working anyway, so this limitati=
on is more<br>
&gt;&gt;&gt; about some possible kexec implementation in the future, not ac=
tually<br>
&gt;&gt;&gt; breaking something right now. And since Linux calls<br>
&gt;&gt;&gt; SetVirtualAddressMap() _and_ supports kexec just fine, it&#39;=
s definitely<br>
&gt;&gt;&gt; possible to design this future kexec extension to work after<b=
r>
&gt;&gt;&gt; SetVirtualAddressMap() too.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Relevant parts of that older discussion:<br>
&gt;&gt;&gt; - <a href=3D"https://lore.kernel.org/all/272a9354-bcb4-50a4-a2=
51-6a453221d6e3@citrix.com/T/#u" rel=3D"noreferrer" target=3D"_blank">https=
://lore.kernel.org/all/272a9354-bcb4-50a4-a251-6a453221d6e3@citrix.com/T/#u=
</a><br>
&gt;&gt;&gt; - <a href=3D"https://lore.kernel.org/all/20191009235725.GT8065=
@mail-itl/T/#u" rel=3D"noreferrer" target=3D"_blank">https://lore.kernel.or=
g/all/20191009235725.GT8065@mail-itl/T/#u</a><br>
&gt;&gt;<br>
&gt;&gt; Well, there are various statements there without further reference=
. I&#39;m<br>
&gt;&gt; having a hard time seeing how a full-fledged Linux could do well w=
ithout<br>
&gt;&gt; runtime services, or without being able to set the virtual address=
 map<br>
&gt;&gt; to its liking. If they can, then a question would be why they need=
 to<br>
&gt;&gt; set the virtual address map in the first place (yes, there is this=
<br>
&gt;&gt; supposed &quot;firmware bugs&quot; argument, which unfortunately I=
 lack any proof<br>
&gt;&gt; of; at the very least I&#39;m unaware of bug reports against Xen b=
oiling<br>
&gt;&gt; down to us not making this call). <br>
&gt; <br>
&gt; The second link points at a thread of one of such bug reports.<br>
<br>
Hmm, yes, digging through the about two dozen mails, I can see there is a<b=
r>
connection to (not) calling SetVirtualAddressMap() there.<br>
<br>
&gt;&gt; Plus maybe they can merely because old<br>
&gt;&gt; and new OS are similar enough in their (virtual) memory layout? IO=
W<br>
&gt;&gt; kexec-ing to Linux for crash dumping purposes is just one (importa=
nt)<br>
&gt;&gt; example of the functionality that needs retaining. <br>
&gt; <br>
&gt; It works just fine with Xen calling SetVirtualAddressMap().<br>
&gt; SetVirtualAddressMap() is relevant only for using runtime services, an=
d<br>
&gt; you don&#39;t need them for crash dumps. In fact, runtime services are=
 not<br>
&gt; accessible to post-kexec Linux anyway, so this call doesn&#39;t change=
<br>
&gt; anything.<br>
&gt; Additionally, given most stuff works<br>
&gt; just fine with efi=3Dno-rs proves it isn&#39;t severe limitation, if i=
t really<br>
&gt; would need to be there - but as Andrew noted, given Linux example, it<=
br>
&gt; doesn&#39;t really need to be the case - it may simply require a bit m=
ore<br>
&gt; thinking when adding runtime services capability past kexec.<br>
<br>
All of what you say here is what I had meant to cover by adding the<br>
&quot;(important)&quot;, which initially I didn&#39;t have. <br>
<br>
&gt;&gt; Once we get better<br>
&gt;&gt; PVH Dom0 support, maybe other Dom0 OSes surface with entirely diff=
erent<br>
&gt;&gt; needs.<br>
&gt; <br>
&gt; I find this claim rather weird. Runtime services are a thing that Xen<=
br>
&gt; needs to call, not some domain. And Xen has control over its memory<br=
>
&gt; layout.<br>
&gt; <br>
&gt; _If_ PVH dom0 would really turn out to be incompatible with<br>
&gt; SetVirtualAddressMap() call by Xen (which I highly doubt), then some<b=
r>
&gt; alternative for that case can be made. But that&#39;s only speculation=
.<br>
<br>
The remark wasn&#39;t about Dom0 itself wanting runtime services access:<br=
>
Dom0 isn&#39;t going to be provided such, at least not to the physical EFI&=
#39;s.<br>
If such was needed for PVH Dom0, we&#39;d need to wire it to virtual firmwa=
re<br>
hooks (which in turn may or may not be viewed as against some of the<br>
ideas of PVH).<br>
<br>
The remark was instead meant to point out that such an alternative OS<br>
may want to invoke another (native) instance of itself for e.g. crash<br>
dumping purposes.<br>
<br>
&gt;&gt; As said back then - part of the reason why in the original<br>
&gt;&gt; implementation I&#39;ve avoided making this call is because of the=
 fear of<br>
&gt;&gt; closing possible roads we may need to take in the future.<br>
&gt; <br>
&gt; Yet, not calling SetVirtualAddressMap() leads to actual issues _right<=
br>
&gt; now_, not in some hypothetical undefined future.<br>
<br>
That&#39;s the way you, Andrew, and others like to put it. My view at this<=
br>
is that it&#39;s not the lack of the call, but the improper implementation<=
br>
of firmware which leads to an apparent need for this call. Like for all<br>
other firmware bug workarounds, I&#39;m happy to accept any proposals for<b=
r>
workarounds, as long as such workarounds either don&#39;t impact spec-<br>
compliant systems, or as long as they&#39;re off by default.</blockquote><d=
iv><br></div><div>But it sounds (reading though this thread) like it doesn&=
#39;t impact any spec-compliant systems -- that is, not any *known* ones, b=
ut only hypothetical dom0&#39;s which are neither Linux (including kexec)=
=C2=A0nor NetBSD nor FreeBSD.</div><div><br></div><div>If we were Microsoft=
, we could afford to say &quot;we don&#39;t support this hardware&quot;, an=
d that would be enough to get the manufacturers to change their tune; but w=
e&#39;re not.=C2=A0 Making it difficult for our users will not fundamentall=
y make vendors write better code.</div><div><br></div><div>Particularly as =
my guess is that it&#39;s probably mainly a matter of testing: They only do=
 testing on Windows (or maybe Linux if they&#39;re particularly keen), both=
 of which seem to call SetVirtualAddressMap(); and so bits of the code acci=
dentally come to rely on it being called.=C2=A0 Sure, in a perfect world, d=
evelopers would read the spec, automatically follow it, and test on all pos=
sible hardware; but given how software actually works, it seems inevitable =
that we&#39;re going to have a never-ending stream of bugs because we&#39;r=
e behaving differently.</div><div><br></div><div>So literally the only bene=
fit of your policy is to accommodate hypothetical operating systems, who ma=
y need the functionality for unknown reasons.=C2=A0 And the cost is to have=
 vanilla Xen not work on loads of real systems.=C2=A0 I don&#39;t think thi=
s is the right decision; and it seems like the sort of general higher-level=
 principle that it would make sense to have a project-wide vote on if discu=
ssion failed to reach consensus.</div><div><br></div><div>(Obviously if the=
re are other technical issues, those would need to be addressed first.)</di=
v><div><br></div><div>Supposing such a hypothetical operating system appear=
s, is there any reason we can&#39;t figure out how to provide it what it ne=
eds at that time?</div><div><br></div><div>=C2=A0-George<br></div></div></d=
iv>

--0000000000003fc4af05f68deffe--


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 16:23:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 16:23:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508531.783262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pafWl-00056Q-4z; Fri, 10 Mar 2023 16:23:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508531.783262; Fri, 10 Mar 2023 16: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 1pafWl-00056J-04; Fri, 10 Mar 2023 16:23:31 +0000
Received: by outflank-mailman (input) for mailman id 508531;
 Fri, 10 Mar 2023 16:23: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 1pafWj-000569-UC; Fri, 10 Mar 2023 16:23: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 1pafWj-0008Kl-RS; Fri, 10 Mar 2023 16:23: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 1pafWj-0001Cv-9n; Fri, 10 Mar 2023 16:23:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pafWj-0003IM-9M; Fri, 10 Mar 2023 16:23: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=TrYKNt8Dy+MYNdHW7ygUPcOnzrC88DfrvEE7foBAG6c=; b=K4HfJl3Hmw0q1Qk4AR7uA/HX92
	f5ZCYN5kT8E6ZNILnl0cGloVdbiQbRjPRG6JvMfqEA0I39L+eeF04laS6uxZOsh7xiTv++IJpw2wn
	Un84Tlwj1k+PTQUcK5PGeNQe3sx8y08gB4zTqyd7aHIppmrxP4tE927Vi2bPrO7dTJnk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179528-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179528: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-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-amd64-libvirt-qemuu-debianhvm-amd64-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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=61d51c9c418dd3c77794519a5f66a02118b11326
X-Osstest-Versions-That:
    libvirt=3138e204b2e3f4d765af66faf1fc9b566de370dd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Mar 2023 16:23:29 +0000

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

Failures :-/ but no regressions.

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

Tests which did not succeed, but are not blocking:
 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-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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              61d51c9c418dd3c77794519a5f66a02118b11326
baseline version:
 libvirt              3138e204b2e3f4d765af66faf1fc9b566de370dd

Last test of basis   179515  2023-03-09 04:18:47 Z    1 days
Testing same since   179528  2023-03-10 04:18:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Pavel Hrdina <phrdina@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 fail    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   3138e204b2..61d51c9c41  61d51c9c418dd3c77794519a5f66a02118b11326 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 17:08:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 17:08:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508537.783271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pagDp-000234-FG; Fri, 10 Mar 2023 17:08:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508537.783271; Fri, 10 Mar 2023 17: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 1pagDp-00022x-Bt; Fri, 10 Mar 2023 17:08:01 +0000
Received: by outflank-mailman (input) for mailman id 508537;
 Fri, 10 Mar 2023 17: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=Hylx=7C=citrix.com=prvs=426f5b69d=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pagDo-00022r-K1
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 17:08:00 +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 17887a98-bf66-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 18:07: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: 17887a98-bf66-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678468077;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=qJUHxRCsNx0u9euoS9TNdoV5MXh2jlAdF3MSmsTTQNg=;
  b=VE5Spo3DgUk58XmcBU9cit8ok45wKZyc4U+CMDn8GHp3hbTF3E4yrEqb
   72VPuanGLxStClWLS1ElJKaebpqVXp8m99JZm3IpejN0iNj5w+Em0EAJU
   fHEIN837x5INa4bvTmE4+mttgQB2GrCUEaBTdeK8+PiINWFgkVME0NDr3
   s=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100764149
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:F0KSMa+I2iEAdop7pGysDrUDjH6TJUtcMsCJ2f8bNWPcYEJGY0x3y
 jFJCmCBM/mKNGrweNslO4y+oEkDvpbQzIIyTgQ6pX88E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkT5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkl3q
 OwyKDohUCvSnum0nKqDEftHvpwseZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGOkcUUrsUIMtWcOOAj3/jczpeuRSNqLA++WT7xw1tyrn9dtHSf7RmQO0Mxh7H+
 D6fozWR7hcyHdKumDSK9zWXouaUmQb3fqRRRJ2y36s/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c9tPEcUq5QeV0K3W7g2FQG8eQVZ8hMcO7ZFsA2Zwj
 xnQwo2vXGY02FGIdZ6D3o7JvRmyMwQrFj4bbi1YVTNe8fLb+I5m23ojUe1fOKKyi9T0HxT5z
 DaLsDUyit0vsCIb60mo1QuZ2mzx//AlWiZwv1yKBTz9smuVcab/P+SVBU7nAeGsxWpzZn2Ip
 zA6lseX94ji5rndxXXWEI3h8FxEjstp0QEwY3Y1QvHNFBz3oRZPmLy8BxkvTHqFyu5eJVfUj
 Lb74Gu9HqN7MnqwdrNQaImsEcksxqWIPY27CaCPPoQfOsMsK1PvEMRSiam4hT2FraTRuftnZ
 cfznTiEVx729piLPBLpHrxAgNfHNwg1xH/JRICT8vhU+eP2WZJhcp9caAHmRrlgvMu5TPD9r
 4432z2il08OD4UTo0D/reYuELz9BSFmVMGp9ZEJKbXrz8gPMDhJNsI9CIgJI+RN95m5XM+Tp
 hlRhmcwJILDuED6
IronPort-HdrOrdr: A9a23:d2apPansdgKVacUIJYalLctuxGLpDfLo3DAbv31ZSRFFG/Fw9/
 rCoB17726QtN91YhsdcL+7V5VoLUmzyXcX2/hyAV7BZmnbUQKTRekP0WKL+Vbd8kbFh41gPM
 lbEpSXCLfLfCJHZcSR2njELz73quP3jJxBho3lvghQpRkBUdAF0+/gYDzranGfQmN9dP0EPa
 vZ3OVrjRy6d08aa8yqb0N1JNQq97Xw5fTbiQdtPW9f1DWz
X-IronPort-AV: E=Sophos;i="5.98,250,1673931600"; 
   d="scan'208";a="100764149"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Ian Jackson <iwj@xenproject.org>, Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [OSSTEST PATCH] PDU/IPMI: Be less aggressive with IPMI commands
Date: Fri, 10 Mar 2023 17:07:21 +0000
Message-ID: <20230310170721.14493-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

The machine rimava0 doesn't power off or power on when we keep doing
"power status" then "power off" ipmi command without waiting.

Currently, osstest does:
    loop
	ipmitool power status
	ipmitool power off
	sleep 1

This loop goes on forever, the machine never change power state.
Adding some wait in between both command works.

While here, test for timeout just after a status check instead of
sending the `power off` command again which we would never check the
result of.

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

diff --git a/Osstest/PDU/ipmi.pm b/Osstest/PDU/ipmi.pm
index 21c94d98..ce498cb7 100644
--- a/Osstest/PDU/ipmi.pm
+++ b/Osstest/PDU/ipmi.pm
@@ -69,10 +69,10 @@ sub pdu_power_state {
     my $count = 60;
     for (;;) {
         last if $getstatus->() eq $onoff;
+        die "did not power $onoff" unless --$count > 0;
+        sleep(1);
 
 	system_checked((@cmd, qw(power), $onoff));
-
-        die "did not power $onoff" unless --$count > 0;
         sleep(1);
     }
 }
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 17:14:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 17:14:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508542.783302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pagJp-0004ER-SO; Fri, 10 Mar 2023 17:14:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508542.783302; Fri, 10 Mar 2023 17: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 1pagJp-0004EK-Nr; Fri, 10 Mar 2023 17:14:13 +0000
Received: by outflank-mailman (input) for mailman id 508542;
 Fri, 10 Mar 2023 17: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=N78y=7C=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pagJn-0003j4-MK
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 17:14:11 +0000
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f89dbd46-bf66-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 18:14:10 +0100 (CET)
Received: from orsmga006.jf.intel.com ([10.7.209.51])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 10 Mar 2023 09:13:47 -0800
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga006.jf.intel.com with ESMTP; 10 Mar 2023 09:13:37 -0800
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 7AE48354; Fri, 10 Mar 2023 19:14:21 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f89dbd46-bf66-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678468450; x=1710004450;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=XiU+o/uX7/9asxJWP74CXm0XTbLgvXwYQIiNjIPtko8=;
  b=PIUkkohnnedlJL78nxialTXtivr7pWxgRQRlqPi5V5mgNg0gQsEZtMrg
   aQ1RLqFQI5YJ6kw/vofetjVNPZg1IfBGoeiZOwwrrGCNzBXkWjOB4yYlZ
   vjWUbH4hdByI72MbFUNabjmkG0/NBbaGOGqmShavQsd7uRiO1w8MBh1o8
   oiVrs1uwvEF54SjxU1ZJKP/ls/SVxtBQGJB/u0a8SXzgwkSDUgw8noo83
   k7Mpr4el4+5erwCrV29HmuRNZaIlT5G3CNHQrRFBQ0XjEfBaRjfdWxPUP
   WCUDc/8lqPXDhCBZlPcCZBfxheldfp/8F1lk/kkKMxFISytwo4ozAYX+K
   A==;
X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="325132253"
X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; 
   d="scan'208";a="325132253"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="655250056"
X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; 
   d="scan'208";a="655250056"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v4 3/4] EISA: Convert to use pci_bus_for_each_resource_p()
Date: Fri, 10 Mar 2023 19:14:15 +0200
Message-Id: <20230310171416.23356-4-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.1
In-Reply-To: <20230310171416.23356-1-andriy.shevchenko@linux.intel.com>
References: <20230310171416.23356-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The pci_bus_for_each_resource_p() hides the iterator loop since
it may be not used otherwise. With this, we may drop that iterator
variable definition.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
---
 drivers/eisa/pci_eisa.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/eisa/pci_eisa.c b/drivers/eisa/pci_eisa.c
index 930c2332c3c4..907b86384396 100644
--- a/drivers/eisa/pci_eisa.c
+++ b/drivers/eisa/pci_eisa.c
@@ -20,8 +20,8 @@ static struct eisa_root_device pci_eisa_root;
 
 static int __init pci_eisa_init(struct pci_dev *pdev)
 {
-	int rc, i;
 	struct resource *res, *bus_res = NULL;
+	int rc;
 
 	if ((rc = pci_enable_device (pdev))) {
 		dev_err(&pdev->dev, "Could not enable device\n");
@@ -38,7 +38,7 @@ static int __init pci_eisa_init(struct pci_dev *pdev)
 	 * eisa_root_register() can only deal with a single io port resource,
 	*  so we use the first valid io port resource.
 	 */
-	pci_bus_for_each_resource(pdev->bus, res, i)
+	pci_bus_for_each_resource_p(pdev->bus, res)
 		if (res && (res->flags & IORESOURCE_IO)) {
 			bus_res = res;
 			break;
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 17:14:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 17:14:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508543.783308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pagJq-0004Hb-8S; Fri, 10 Mar 2023 17:14:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508543.783308; Fri, 10 Mar 2023 17:14: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 1pagJp-0004FY-WB; Fri, 10 Mar 2023 17:14:13 +0000
Received: by outflank-mailman (input) for mailman id 508543;
 Fri, 10 Mar 2023 17:14: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=N78y=7C=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pagJo-0003j4-Mc
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 17:14:12 +0000
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f90b0c42-bf66-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 18:14:10 +0100 (CET)
Received: from orsmga006.jf.intel.com ([10.7.209.51])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 10 Mar 2023 09:13:48 -0800
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga006.jf.intel.com with ESMTP; 10 Mar 2023 09:13:37 -0800
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 867E0367; Fri, 10 Mar 2023 19:14:21 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f90b0c42-bf66-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678468450; x=1710004450;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=At9xdYTQNTpkoGAW78tZWvzRJ4xj1ehsEwPouDTGZjw=;
  b=JKDAZMXgzId5lQQjEGTaDxBOOl8LMf05qAEHN5P0No6Kz5iij++12cmf
   dhxEAxekjW9IfwJ4mgOd95H0Zp8ehbnp9TyD4ih7Ifafk0I6BdbkiDqrI
   ZQV8i33lpQ8azb7/THdt1os1DDXFKXoxVkjpmwUmVVwYa0YcBzAgh4kHZ
   HLia9FQXPZIvsrtF6MGhrJRBMCn0qAIl+yxAQpQHiH6cFpNJo2GvqWVwv
   4WRDiOZCXEShmpvTdrhc3Cib8Qouf7nYQ3ENfoIVY6jyd764MiZfqeu3e
   QWq7YUsJKzilC6sJHdk9899HmhTbhwRApeLTjmTP/xeHEJ2HcxKHgPWTz
   A==;
X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="325132284"
X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; 
   d="scan'208";a="325132284"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="655250064"
X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; 
   d="scan'208";a="655250064"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v4 4/4] pcmcia: Convert to use pci_bus_for_each_resource_p()
Date: Fri, 10 Mar 2023 19:14:16 +0200
Message-Id: <20230310171416.23356-5-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.1
In-Reply-To: <20230310171416.23356-1-andriy.shevchenko@linux.intel.com>
References: <20230310171416.23356-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The pci_bus_for_each_resource_p() hides the iterator loop since
it may be not used otherwise. With this, we may drop that iterator
variable definition.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
---
 drivers/pcmcia/rsrc_nonstatic.c | 9 +++------
 drivers/pcmcia/yenta_socket.c   | 3 +--
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/drivers/pcmcia/rsrc_nonstatic.c
index ad1141fddb4c..9d92d4bb6239 100644
--- a/drivers/pcmcia/rsrc_nonstatic.c
+++ b/drivers/pcmcia/rsrc_nonstatic.c
@@ -934,7 +934,7 @@ static int adjust_io(struct pcmcia_socket *s, unsigned int action, unsigned long
 static int nonstatic_autoadd_resources(struct pcmcia_socket *s)
 {
 	struct resource *res;
-	int i, done = 0;
+	int done = 0;
 
 	if (!s->cb_dev || !s->cb_dev->bus)
 		return -ENODEV;
@@ -960,12 +960,9 @@ static int nonstatic_autoadd_resources(struct pcmcia_socket *s)
 	 */
 	if (s->cb_dev->bus->number == 0)
 		return -EINVAL;
-
-	for (i = 0; i < PCI_BRIDGE_RESOURCE_NUM; i++) {
-		res = s->cb_dev->bus->resource[i];
-#else
-	pci_bus_for_each_resource(s->cb_dev->bus, res, i) {
 #endif
+
+	pci_bus_for_each_resource_p(s->cb_dev->bus, res) {
 		if (!res)
 			continue;
 
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
index 1365eaa20ff4..2e5bdf3db0ba 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -673,9 +673,8 @@ static int yenta_search_res(struct yenta_socket *socket, struct resource *res,
 			    u32 min)
 {
 	struct resource *root;
-	int i;
 
-	pci_bus_for_each_resource(socket->dev->bus, root, i) {
+	pci_bus_for_each_resource_p(socket->dev->bus, root) {
 		if (!root)
 			continue;
 
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 17:14:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 17:14:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508540.783282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pagJn-0003jM-5o; Fri, 10 Mar 2023 17:14:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508540.783282; Fri, 10 Mar 2023 17:14: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 1pagJn-0003jF-20; Fri, 10 Mar 2023 17:14:11 +0000
Received: by outflank-mailman (input) for mailman id 508540;
 Fri, 10 Mar 2023 17:14: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=N78y=7C=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pagJm-0003j4-0K
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 17:14:10 +0000
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f5ab27ce-bf66-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 18:14:06 +0100 (CET)
Received: from orsmga006.jf.intel.com ([10.7.209.51])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 10 Mar 2023 09:13:47 -0800
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga006.jf.intel.com with ESMTP; 10 Mar 2023 09:13:37 -0800
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 6CDBF154; Fri, 10 Mar 2023 19:14:21 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5ab27ce-bf66-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678468446; x=1710004446;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ImovGyFssY2h57L8ILEiNfPIEtHnJufocebXbe8t0O4=;
  b=c3PtlaSe1a23WhRWgkFCELMEIAdq6umwZ9U35Afhmhlwn5lnDBaUr273
   nX2ggtupl4PXtOyR8nIkjtyUDe3FO2jG7BzO4at4s5GuZRmOOeXgmjvIS
   cWTPm0zj1T+UYCM3Ivxow19SE/QRPefIoERzuJf6jpzThOBUOyB8CoxNe
   xc7JDHAQzYJTb9hv6ufYBlAqtYZZkOjwguHLA18k6T2QbV1QJCANpkDgC
   irQG8y0EZ+q6fzxCTd8JfRf/M2aVU+fvWcLOhtOlrkawufd3LKeXJgu9/
   aEEsb+yC9ZEfqLcdWsj0XoiuBa9Imu9Zw27mxa4gvLfgulXFMLWoTy0QO
   Q==;
X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="325132196"
X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; 
   d="scan'208";a="325132196"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="655250048"
X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; 
   d="scan'208";a="655250048"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v4 2/4] PCI: Split pci_bus_for_each_resource_p() out of pci_bus_for_each_resource()
Date: Fri, 10 Mar 2023 19:14:14 +0200
Message-Id: <20230310171416.23356-3-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.1
In-Reply-To: <20230310171416.23356-1-andriy.shevchenko@linux.intel.com>
References: <20230310171416.23356-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Refactor pci_bus_for_each_resource() in the same way as it's done in
pci_dev_for_each_resource() case. This will allow to hide iterator
inside the loop, where it's not used otherwise.

No functional changes intended.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
---
 .clang-format                      |  1 +
 drivers/pci/bus.c                  |  7 +++----
 drivers/pci/hotplug/shpchp_sysfs.c |  8 ++++----
 drivers/pci/pci.c                  |  5 ++---
 drivers/pci/probe.c                |  2 +-
 drivers/pci/setup-bus.c            | 10 ++++------
 include/linux/pci.h                | 14 ++++++++++----
 7 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/.clang-format b/.clang-format
index 266abb843654..81c9f055086f 100644
--- a/.clang-format
+++ b/.clang-format
@@ -520,6 +520,7 @@ ForEachMacros:
   - 'of_property_for_each_string'
   - 'of_property_for_each_u32'
   - 'pci_bus_for_each_resource'
+  - 'pci_bus_for_each_resource_p'
   - 'pci_dev_for_each_resource'
   - 'pci_dev_for_each_resource_p'
   - 'pci_doe_for_each_off'
diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c
index 83ae838ceb5f..b48bcc965a42 100644
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -161,13 +161,13 @@ static int pci_bus_alloc_from_region(struct pci_bus *bus, struct resource *res,
 		void *alignf_data,
 		struct pci_bus_region *region)
 {
-	int i, ret;
 	struct resource *r, avail;
 	resource_size_t max;
+	int ret;
 
 	type_mask |= IORESOURCE_TYPE_BITS;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource_p(bus, r) {
 		resource_size_t min_used = min;
 
 		if (!r)
@@ -268,9 +268,8 @@ bool pci_bus_clip_resource(struct pci_dev *dev, int idx)
 	struct resource *res = &dev->resource[idx];
 	struct resource orig_res = *res;
 	struct resource *r;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource_p(bus, r) {
 		resource_size_t start, end;
 
 		if (!r)
diff --git a/drivers/pci/hotplug/shpchp_sysfs.c b/drivers/pci/hotplug/shpchp_sysfs.c
index 64beed7a26be..ff04f0c5e7c3 100644
--- a/drivers/pci/hotplug/shpchp_sysfs.c
+++ b/drivers/pci/hotplug/shpchp_sysfs.c
@@ -24,16 +24,16 @@
 static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char *buf)
 {
 	struct pci_dev *pdev;
-	int index, busnr;
 	struct resource *res;
 	struct pci_bus *bus;
 	size_t len = 0;
+	int busnr;
 
 	pdev = to_pci_dev(dev);
 	bus = pdev->subordinate;
 
 	len += sysfs_emit_at(buf, len, "Free resources: memory\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource_p(bus, res) {
 		if (res && (res->flags & IORESOURCE_MEM) &&
 				!(res->flags & IORESOURCE_PREFETCH)) {
 			len += sysfs_emit_at(buf, len,
@@ -43,7 +43,7 @@ static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char
 		}
 	}
 	len += sysfs_emit_at(buf, len, "Free resources: prefetchable memory\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource_p(bus, res) {
 		if (res && (res->flags & IORESOURCE_MEM) &&
 			       (res->flags & IORESOURCE_PREFETCH)) {
 			len += sysfs_emit_at(buf, len,
@@ -53,7 +53,7 @@ static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char
 		}
 	}
 	len += sysfs_emit_at(buf, len, "Free resources: IO\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource_p(bus, res) {
 		if (res && (res->flags & IORESOURCE_IO)) {
 			len += sysfs_emit_at(buf, len,
 					     "start = %8.8llx, length = %8.8llx\n",
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 7a67611dc5f4..2f8915ab41ef 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -779,9 +779,8 @@ struct resource *pci_find_parent_resource(const struct pci_dev *dev,
 {
 	const struct pci_bus *bus = dev->bus;
 	struct resource *r;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource_p(bus, r) {
 		if (!r)
 			continue;
 		if (resource_contains(r, res)) {
@@ -799,7 +798,7 @@ struct resource *pci_find_parent_resource(const struct pci_dev *dev,
 			 * be both a positively-decoded aperture and a
 			 * subtractively-decoded region that contain the BAR.
 			 * We want the positively-decoded one, so this depends
-			 * on pci_bus_for_each_resource() giving us those
+			 * on pci_bus_for_each_resource_p() giving us those
 			 * first.
 			 */
 			return r;
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index a3f68b6ba6ac..5ada4c155d3c 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -533,7 +533,7 @@ void pci_read_bridge_bases(struct pci_bus *child)
 	pci_read_bridge_mmio_pref(child);
 
 	if (dev->transparent) {
-		pci_bus_for_each_resource(child->parent, res, i) {
+		pci_bus_for_each_resource_p(child->parent, res) {
 			if (res && res->flags) {
 				pci_bus_add_resource(child, res,
 						     PCI_SUBTRACTIVE_DECODE);
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index d4fc7665f70a..d6ead027255f 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -770,9 +770,8 @@ static struct resource *find_bus_resource_of_type(struct pci_bus *bus,
 						  unsigned long type)
 {
 	struct resource *r, *r_assigned = NULL;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource_p(bus, r) {
 		if (r == &ioport_resource || r == &iomem_resource)
 			continue;
 		if (r && (r->flags & type_mask) == type && !r->parent)
@@ -1204,7 +1203,7 @@ void __pci_bus_size_bridges(struct pci_bus *bus, struct list_head *realloc_head)
 			additional_mmio_pref_size = 0;
 	struct resource *pref;
 	struct pci_host_bridge *host;
-	int hdr_type, i, ret;
+	int hdr_type, ret;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
 		struct pci_bus *b = dev->subordinate;
@@ -1228,7 +1227,7 @@ void __pci_bus_size_bridges(struct pci_bus *bus, struct list_head *realloc_head)
 		host = to_pci_host_bridge(bus->bridge);
 		if (!host->size_windows)
 			return;
-		pci_bus_for_each_resource(bus, pref, i)
+		pci_bus_for_each_resource_p(bus, pref)
 			if (pref && (pref->flags & IORESOURCE_PREFETCH))
 				break;
 		hdr_type = -1;	/* Intentionally invalid - not a PCI device. */
@@ -1333,12 +1332,11 @@ EXPORT_SYMBOL(pci_bus_size_bridges);
 
 static void assign_fixed_resource_on_bus(struct pci_bus *b, struct resource *r)
 {
-	int i;
 	struct resource *parent_r;
 	unsigned long mask = IORESOURCE_IO | IORESOURCE_MEM |
 			     IORESOURCE_PREFETCH;
 
-	pci_bus_for_each_resource(b, parent_r, i) {
+	pci_bus_for_each_resource_p(b, parent_r) {
 		if (!parent_r)
 			continue;
 
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 670f01c5538c..aac72c247bed 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1456,10 +1456,16 @@ int devm_request_pci_bus_resources(struct device *dev,
 /* Temporary until new and working PCI SBR API in place */
 int pci_bridge_secondary_bus_reset(struct pci_dev *dev);
 
-#define pci_bus_for_each_resource(bus, res, i)				\
-	for (i = 0;							\
-	    (res = pci_bus_resource_n(bus, i)) || i < PCI_BRIDGE_RESOURCE_NUM; \
-	     i++)
+#define __pci_bus_for_each_resource(bus, res, __i, vartype)			\
+	for (vartype __i = 0;							\
+	     res = pci_bus_resource_n(bus, __i), __i < PCI_BRIDGE_RESOURCE_NUM;	\
+	     __i++)
+
+#define pci_bus_for_each_resource(bus, res, i)					\
+	__pci_bus_for_each_resource(bus, res, i, )
+
+#define pci_bus_for_each_resource_p(bus, res)					\
+	__pci_bus_for_each_resource(bus, res, i, unsigned int)
 
 int __must_check pci_bus_alloc_resource(struct pci_bus *bus,
 			struct resource *res, resource_size_t size,
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 17:14:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 17:14:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508544.783322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pagJr-0004jH-Ht; Fri, 10 Mar 2023 17:14:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508544.783322; Fri, 10 Mar 2023 17:14:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pagJr-0004iR-Al; Fri, 10 Mar 2023 17:14:15 +0000
Received: by outflank-mailman (input) for mailman id 508544;
 Fri, 10 Mar 2023 17:14: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=N78y=7C=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pagJp-0003j4-Me
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 17:14:14 +0000
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f944201c-bf66-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 18:14:11 +0100 (CET)
Received: from orsmga006.jf.intel.com ([10.7.209.51])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 10 Mar 2023 09:13:48 -0800
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga006.jf.intel.com with ESMTP; 10 Mar 2023 09:13:37 -0800
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 5964C94; Fri, 10 Mar 2023 19:14:21 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f944201c-bf66-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678468451; x=1710004451;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=eHidnQb8OVGw2m65PUEJlimfsZ9DgoEAjYSy55tHAGc=;
  b=FQFDFEzkDdGrmL/4rAu7nao/cqMLMYwtlkywGR94hqDRiFSl/Oj0d8cw
   u/rj4347d9rShE+GivA595tKkP7lDzhVg3n6oTHyd0R+e55WjN2lXulep
   91O9+YLzj2aWKEnH7cXsXmUIDaqsWp3lWSso54XbH0fCE9mFUGNbwo0qk
   p5ll0c7Jvf6crvsRwGpY/HTynPLoNExYQ6H4dvHYs+dyfcrpj/UJMQa0S
   qzh7KPq+tdixdkl4c5vKh459Rjb5m8FVVikFlr2L0MmIWhhxg5ZW00qz+
   0x/53y1NYjjhOuGoAXHtU3VRSymocLVso6TkdPa4+XVWgAyfrPsjxFuGE
   A==;
X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="325132321"
X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; 
   d="scan'208";a="325132321"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="655250078"
X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; 
   d="scan'208";a="655250078"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
Date: Fri, 10 Mar 2023 19:14:13 +0200
Message-Id: <20230310171416.23356-2-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.1
In-Reply-To: <20230310171416.23356-1-andriy.shevchenko@linux.intel.com>
References: <20230310171416.23356-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Mika Westerberg <mika.westerberg@linux.intel.com>

Instead of open-coding it everywhere introduce a tiny helper that can be
used to iterate over each resource of a PCI device, and convert the most
obvious users into it.

While at it drop doubled empty line before pdev_sort_resources().

No functional changes intended.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
---
 .clang-format                             |  2 ++
 arch/alpha/kernel/pci.c                   |  5 ++--
 arch/arm/kernel/bios32.c                  | 16 ++++++-------
 arch/arm/mach-dove/pcie.c                 | 10 ++++----
 arch/arm/mach-mv78xx0/pcie.c              | 10 ++++----
 arch/arm/mach-orion5x/pci.c               | 10 ++++----
 arch/mips/pci/ops-bcm63xx.c               |  8 +++----
 arch/mips/pci/pci-legacy.c                |  3 +--
 arch/powerpc/kernel/pci-common.c          | 21 ++++++++--------
 arch/powerpc/platforms/4xx/pci.c          |  8 +++----
 arch/powerpc/platforms/52xx/mpc52xx_pci.c |  4 ++--
 arch/powerpc/platforms/pseries/pci.c      | 16 ++++++-------
 arch/sh/drivers/pci/pcie-sh7786.c         | 10 ++++----
 arch/sparc/kernel/leon_pci.c              |  5 ++--
 arch/sparc/kernel/pci.c                   | 10 ++++----
 arch/sparc/kernel/pcic.c                  |  5 ++--
 drivers/pci/remove.c                      |  5 ++--
 drivers/pci/setup-bus.c                   | 27 ++++++++-------------
 drivers/pci/setup-res.c                   |  4 +---
 drivers/pci/vgaarb.c                      | 17 ++++---------
 drivers/pci/xen-pcifront.c                |  4 +---
 drivers/pnp/quirks.c                      | 29 ++++++++---------------
 include/linux/pci.h                       | 12 ++++++++++
 23 files changed, 110 insertions(+), 131 deletions(-)

diff --git a/.clang-format b/.clang-format
index d988e9fa9b26..266abb843654 100644
--- a/.clang-format
+++ b/.clang-format
@@ -520,6 +520,8 @@ ForEachMacros:
   - 'of_property_for_each_string'
   - 'of_property_for_each_u32'
   - 'pci_bus_for_each_resource'
+  - 'pci_dev_for_each_resource'
+  - 'pci_dev_for_each_resource_p'
   - 'pci_doe_for_each_off'
   - 'pcl_for_each_chunk'
   - 'pcl_for_each_segment'
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c
index 64fbfb0763b2..4458eb7f44f0 100644
--- a/arch/alpha/kernel/pci.c
+++ b/arch/alpha/kernel/pci.c
@@ -288,11 +288,10 @@ pcibios_claim_one_bus(struct pci_bus *b)
 	struct pci_bus *child_bus;
 
 	list_for_each_entry(dev, &b->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 			if (pci_has_flag(PCI_PROBE_ONLY) ||
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c
index e7ef2b5bea9c..5254734b23e6 100644
--- a/arch/arm/kernel/bios32.c
+++ b/arch/arm/kernel/bios32.c
@@ -142,15 +142,15 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C940F,
  */
 static void pci_fixup_dec21285(struct pci_dev *dev)
 {
-	int i;
-
 	if (dev->devfn == 0) {
+		struct resource *r;
+
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start = 0;
+			r->end = 0;
+			r->flags = 0;
 		}
 	}
 }
@@ -162,13 +162,11 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, pci_fixup_d
 static void pci_fixup_ide_bases(struct pci_dev *dev)
 {
 	struct resource *r;
-	int i;
 
 	if ((dev->class >> 8) != PCI_CLASS_STORAGE_IDE)
 		return;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		r = dev->resource + i;
+	pci_dev_for_each_resource_p(dev, r) {
 		if ((r->start & ~0x80) == 0x374) {
 			r->start |= 2;
 			r->end = r->start;
diff --git a/arch/arm/mach-dove/pcie.c b/arch/arm/mach-dove/pcie.c
index 754ca381f600..58cecd79a204 100644
--- a/arch/arm/mach-dove/pcie.c
+++ b/arch/arm/mach-dove/pcie.c
@@ -142,14 +142,14 @@ static struct pci_ops pcie_ops = {
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start = 0;
+			r->end   = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/arm/mach-mv78xx0/pcie.c b/arch/arm/mach-mv78xx0/pcie.c
index 6190f538a124..f59f02150a36 100644
--- a/arch/arm/mach-mv78xx0/pcie.c
+++ b/arch/arm/mach-mv78xx0/pcie.c
@@ -186,14 +186,14 @@ static struct pci_ops pcie_ops = {
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start = 0;
+			r->end   = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c
index 888fdc9099c5..0933b47b601a 100644
--- a/arch/arm/mach-orion5x/pci.c
+++ b/arch/arm/mach-orion5x/pci.c
@@ -522,14 +522,14 @@ static int __init pci_setup(struct pci_sys_data *sys)
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start	= 0;
+			r->end		= 0;
+			r->flags	= 0;
 		}
 	}
 }
diff --git a/arch/mips/pci/ops-bcm63xx.c b/arch/mips/pci/ops-bcm63xx.c
index dc6dc2741272..c0efcbf3c63f 100644
--- a/arch/mips/pci/ops-bcm63xx.c
+++ b/arch/mips/pci/ops-bcm63xx.c
@@ -413,18 +413,18 @@ struct pci_ops bcm63xx_cb_ops = {
 static void bcm63xx_fixup(struct pci_dev *dev)
 {
 	static int io_window = -1;
-	int i, found, new_io_window;
+	int found, new_io_window;
+	struct resource *r;
 	u32 val;
 
 	/* look for any io resource */
 	found = 0;
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		if (pci_resource_flags(dev, i) & IORESOURCE_IO) {
+	pci_dev_for_each_resource_p(dev, r) {
+		if (resource_type(r) == IORESOURCE_IO) {
 			found = 1;
 			break;
 		}
 	}
-
 	if (!found)
 		return;
 
diff --git a/arch/mips/pci/pci-legacy.c b/arch/mips/pci/pci-legacy.c
index 468722c8a5c6..ec2567f8efd8 100644
--- a/arch/mips/pci/pci-legacy.c
+++ b/arch/mips/pci/pci-legacy.c
@@ -249,12 +249,11 @@ static int pcibios_enable_resources(struct pci_dev *dev, int mask)
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	old_cmd = cmd;
-	for (idx = 0; idx < PCI_NUM_RESOURCES; idx++) {
+	pci_dev_for_each_resource(dev, r, idx) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<idx)))
 			continue;
 
-		r = &dev->resource[idx];
 		if (!(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
 			continue;
 		if ((idx == PCI_ROM_RESOURCE) &&
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index d67cf79bf5d0..1908a46cad54 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -880,6 +880,7 @@ int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
 static void pcibios_fixup_resources(struct pci_dev *dev)
 {
 	struct pci_controller *hose = pci_bus_to_host(dev->bus);
+	struct resource *res;
 	int i;
 
 	if (!hose) {
@@ -891,9 +892,9 @@ static void pcibios_fixup_resources(struct pci_dev *dev)
 	if (dev->is_virtfn)
 		return;
 
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		struct resource *res = dev->resource + i;
+	pci_dev_for_each_resource(dev, res, i) {
 		struct pci_bus_region reg;
+
 		if (!res->flags)
 			continue;
 
@@ -1452,11 +1453,10 @@ void pcibios_claim_one_bus(struct pci_bus *bus)
 	struct pci_bus *child_bus;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 
@@ -1705,19 +1705,20 @@ EXPORT_SYMBOL_GPL(pcibios_scan_phb);
 
 static void fixup_hide_host_resource_fsl(struct pci_dev *dev)
 {
-	int i, class = dev->class >> 8;
+	int class = dev->class >> 8;
 	/* When configured as agent, programming interface = 1 */
 	int prog_if = dev->class & 0xf;
+	struct resource *r;
 
 	if ((class == PCI_CLASS_PROCESSOR_POWERPC ||
 	     class == PCI_CLASS_BRIDGE_OTHER) &&
 		(dev->hdr_type == PCI_HEADER_TYPE_NORMAL) &&
 		(prog_if == 0) &&
 		(dev->bus->parent == NULL)) {
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start = 0;
+			r->end = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/powerpc/platforms/4xx/pci.c b/arch/powerpc/platforms/4xx/pci.c
index ca5dd7a5842a..9d19123c0da8 100644
--- a/arch/powerpc/platforms/4xx/pci.c
+++ b/arch/powerpc/platforms/4xx/pci.c
@@ -57,7 +57,7 @@ static inline int ppc440spe_revA(void)
 static void fixup_ppc4xx_pci_bridge(struct pci_dev *dev)
 {
 	struct pci_controller *hose;
-	int i;
+	struct resource *r;
 
 	if (dev->devfn != 0 || dev->bus->self != NULL)
 		return;
@@ -79,9 +79,9 @@ static void fixup_ppc4xx_pci_bridge(struct pci_dev *dev)
 	/* Hide the PCI host BARs from the kernel as their content doesn't
 	 * fit well in the resource management
 	 */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		dev->resource[i].start = dev->resource[i].end = 0;
-		dev->resource[i].flags = 0;
+	pci_dev_for_each_resource_p(dev, r) {
+		r->start = r->end = 0;
+		r->flags = 0;
 	}
 
 	printk(KERN_INFO "PCI: Hiding 4xx host bridge resources %s\n",
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pci.c b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
index 859e2818c43d..f0b0ac298484 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_pci.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
@@ -327,14 +327,14 @@ mpc52xx_pci_setup(struct pci_controller *hose,
 static void
 mpc52xx_pci_fixup_resources(struct pci_dev *dev)
 {
+	struct resource *res;
 	int i;
 
 	pr_debug("%s() %.4x:%.4x\n", __func__, dev->vendor, dev->device);
 
 	/* We don't rely on boot loader for PCI and resets all
 	   devices */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		struct resource *res = &dev->resource[i];
+	pci_dev_for_each_resource_p(dev, res) {
 		if (res->end > res->start) {	/* Only valid resources */
 			res->end -= res->start;
 			res->start = 0;
diff --git a/arch/powerpc/platforms/pseries/pci.c b/arch/powerpc/platforms/pseries/pci.c
index 60e0a58928ef..ee7b2c737c92 100644
--- a/arch/powerpc/platforms/pseries/pci.c
+++ b/arch/powerpc/platforms/pseries/pci.c
@@ -240,7 +240,7 @@ void __init pSeries_final_fixup(void)
  */
 static void fixup_winbond_82c105(struct pci_dev* dev)
 {
-	int i;
+	struct resource *r;
 	unsigned int reg;
 
 	if (!machine_is(pseries))
@@ -251,14 +251,14 @@ static void fixup_winbond_82c105(struct pci_dev* dev)
 	/* Enable LEGIRQ to use INTC instead of ISA interrupts */
 	pci_write_config_dword(dev, 0x40, reg | (1<<11));
 
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; ++i) {
+	pci_dev_for_each_resource_p(dev, r) {
 		/* zap the 2nd function of the winbond chip */
-		if (dev->resource[i].flags & IORESOURCE_IO
-		    && dev->bus->number == 0 && dev->devfn == 0x81)
-			dev->resource[i].flags &= ~IORESOURCE_IO;
-		if (dev->resource[i].start == 0 && dev->resource[i].end) {
-			dev->resource[i].flags = 0;
-			dev->resource[i].end = 0;
+		if (dev->bus->number == 0 && dev->devfn == 0x81 &&
+		    r->flags & IORESOURCE_IO)
+			r->flags &= ~IORESOURCE_IO;
+		if (r->start == 0 && r->end) {
+			r->flags = 0;
+			r->end = 0;
 		}
 	}
 }
diff --git a/arch/sh/drivers/pci/pcie-sh7786.c b/arch/sh/drivers/pci/pcie-sh7786.c
index b0c2a5238d04..982f9aec2f2f 100644
--- a/arch/sh/drivers/pci/pcie-sh7786.c
+++ b/arch/sh/drivers/pci/pcie-sh7786.c
@@ -140,12 +140,12 @@ static void sh7786_pci_fixup(struct pci_dev *dev)
 	 * Prevent enumeration of root complex resources.
 	 */
 	if (pci_is_root_bus(dev->bus) && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start	= 0;
-			dev->resource[i].end	= 0;
-			dev->resource[i].flags	= 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start	= 0;
+			r->end		= 0;
+			r->flags	= 0;
 		}
 	}
 }
diff --git a/arch/sparc/kernel/leon_pci.c b/arch/sparc/kernel/leon_pci.c
index e5e5ff6b9a5c..b6663a3fbae9 100644
--- a/arch/sparc/kernel/leon_pci.c
+++ b/arch/sparc/kernel/leon_pci.c
@@ -62,15 +62,14 @@ void leon_pci_init(struct platform_device *ofdev, struct leon_pci_info *info)
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index cb1ef25116e9..a948a49817c7 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -663,11 +663,10 @@ static void pci_claim_bus_resources(struct pci_bus *bus)
 	struct pci_dev *dev;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 
@@ -724,15 +723,14 @@ struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm,
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/arch/sparc/kernel/pcic.c b/arch/sparc/kernel/pcic.c
index ee4c9a9a171c..25fe0a061732 100644
--- a/arch/sparc/kernel/pcic.c
+++ b/arch/sparc/kernel/pcic.c
@@ -643,15 +643,14 @@ void pcibios_fixup_bus(struct pci_bus *bus)
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c
index 0145aef1b930..1310e01fb540 100644
--- a/drivers/pci/remove.c
+++ b/drivers/pci/remove.c
@@ -5,10 +5,9 @@
 
 static void pci_free_resources(struct pci_dev *dev)
 {
-	int i;
+	struct resource *res;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = dev->resource + i;
+	pci_dev_for_each_resource_p(dev, res) {
 		if (res->parent)
 			release_resource(res);
 	}
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index c690572b10ce..d4fc7665f70a 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -124,20 +124,17 @@ static resource_size_t get_res_add_align(struct list_head *head,
 	return dev_res ? dev_res->min_align : 0;
 }
 
-
 /* Sort resources by alignment */
 static void pdev_sort_resources(struct pci_dev *dev, struct list_head *head)
 {
+	struct resource *r;
 	int i;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *r;
+	pci_dev_for_each_resource(dev, r, i) {
 		struct pci_dev_resource *dev_res, *tmp;
 		resource_size_t r_align;
 		struct list_head *n;
 
-		r = &dev->resource[i];
-
 		if (r->flags & IORESOURCE_PCI_FIXED)
 			continue;
 
@@ -895,10 +892,9 @@ static void pbus_size_io(struct pci_bus *bus, resource_size_t min_size,
 
 	min_align = window_alignment(bus, IORESOURCE_IO);
 	list_for_each_entry(dev, &bus->devices, bus_list) {
-		int i;
+		struct resource *r;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
+		pci_dev_for_each_resource_p(dev, r) {
 			unsigned long r_size;
 
 			if (r->parent || !(r->flags & IORESOURCE_IO))
@@ -1014,10 +1010,10 @@ static int pbus_size_mem(struct pci_bus *bus, unsigned long mask,
 	size = 0;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
+		pci_dev_for_each_resource(dev, r, i) {
 			resource_size_t r_size;
 
 			if (r->parent || (r->flags & IORESOURCE_PCI_FIXED) ||
@@ -1358,11 +1354,10 @@ static void assign_fixed_resource_on_bus(struct pci_bus *b, struct resource *r)
  */
 static void pdev_assign_fixed_resources(struct pci_dev *dev)
 {
-	int i;
+	struct resource *r;
 
-	for (i = 0; i <  PCI_NUM_RESOURCES; i++) {
+	pci_dev_for_each_resource_p(dev, r) {
 		struct pci_bus *b;
-		struct resource *r = &dev->resource[i];
 
 		if (r->parent || !(r->flags & IORESOURCE_PCI_FIXED) ||
 		    !(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
@@ -1795,11 +1790,9 @@ static void remove_dev_resources(struct pci_dev *dev, struct resource *io,
 				 struct resource *mmio,
 				 struct resource *mmio_pref)
 {
-	int i;
-
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
+	struct resource *res;
 
+	pci_dev_for_each_resource_p(dev, res) {
 		if (resource_type(res) == IORESOURCE_IO) {
 			remove_dev_resource(io, dev, res);
 		} else if (resource_type(res) == IORESOURCE_MEM) {
diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
index b492e67c3d87..967f9a758923 100644
--- a/drivers/pci/setup-res.c
+++ b/drivers/pci/setup-res.c
@@ -484,12 +484,10 @@ int pci_enable_resources(struct pci_dev *dev, int mask)
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	old_cmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
+	pci_dev_for_each_resource(dev, r, i) {
 		if (!(mask & (1 << i)))
 			continue;
 
-		r = &dev->resource[i];
-
 		if (!(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
 			continue;
 		if ((i == PCI_ROM_RESOURCE) &&
diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
index f80b6ec88dc3..3ec6a0b7dbf0 100644
--- a/drivers/pci/vgaarb.c
+++ b/drivers/pci/vgaarb.c
@@ -548,10 +548,8 @@ static bool vga_is_firmware_default(struct pci_dev *pdev)
 #if defined(CONFIG_X86) || defined(CONFIG_IA64)
 	u64 base = screen_info.lfb_base;
 	u64 size = screen_info.lfb_size;
+	struct resource *r;
 	u64 limit;
-	resource_size_t start, end;
-	unsigned long flags;
-	int i;
 
 	/* Select the device owning the boot framebuffer if there is one */
 
@@ -561,19 +559,14 @@ static bool vga_is_firmware_default(struct pci_dev *pdev)
 	limit = base + size;
 
 	/* Does firmware framebuffer belong to us? */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		flags = pci_resource_flags(pdev, i);
-
-		if ((flags & IORESOURCE_MEM) == 0)
+	pci_dev_for_each_resource_p(pdev, r) {
+		if (resource_type(r) != IORESOURCE_MEM)
 			continue;
 
-		start = pci_resource_start(pdev, i);
-		end  = pci_resource_end(pdev, i);
-
-		if (!start || !end)
+		if (!r->start || !r->end)
 			continue;
 
-		if (base < start || limit >= end)
+		if (base < r->start || limit >= r->end)
 			continue;
 
 		return true;
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index fcd029ca2eb1..83c0ab50676d 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -390,9 +390,7 @@ static int pcifront_claim_resource(struct pci_dev *dev, void *data)
 	int i;
 	struct resource *r;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		r = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, r, i) {
 		if (!r->parent && r->start && r->flags) {
 			dev_info(&pdev->xdev->dev, "claiming resource %s/%d\n",
 				pci_name(dev), i);
diff --git a/drivers/pnp/quirks.c b/drivers/pnp/quirks.c
index ac98b9919029..420121954ffd 100644
--- a/drivers/pnp/quirks.c
+++ b/drivers/pnp/quirks.c
@@ -229,8 +229,7 @@ static void quirk_ad1815_mpu_resources(struct pnp_dev *dev)
 static void quirk_system_pci_resources(struct pnp_dev *dev)
 {
 	struct pci_dev *pdev = NULL;
-	struct resource *res;
-	resource_size_t pnp_start, pnp_end, pci_start, pci_end;
+	struct resource *res, *r;
 	int i, j;
 
 	/*
@@ -243,32 +242,26 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 	 * so they won't be claimed by the PNP system driver.
 	 */
 	for_each_pci_dev(pdev) {
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			unsigned long flags, type;
+		pci_dev_for_each_resource(pdev, r, i) {
+			unsigned long type = resource_type(r);
 
-			flags = pci_resource_flags(pdev, i);
-			type = flags & (IORESOURCE_IO | IORESOURCE_MEM);
-			if (!type || pci_resource_len(pdev, i) == 0)
+			if (type != IORESOURCE_IO || type != IORESOURCE_MEM ||
+			    resource_size(r) == 0)
 				continue;
 
-			if (flags & IORESOURCE_UNSET)
+			if (r->flags & IORESOURCE_UNSET)
 				continue;
 
-			pci_start = pci_resource_start(pdev, i);
-			pci_end = pci_resource_end(pdev, i);
 			for (j = 0;
 			     (res = pnp_get_resource(dev, type, j)); j++) {
 				if (res->start == 0 && res->end == 0)
 					continue;
 
-				pnp_start = res->start;
-				pnp_end = res->end;
-
 				/*
 				 * If the PNP region doesn't overlap the PCI
 				 * region at all, there's no problem.
 				 */
-				if (pnp_end < pci_start || pnp_start > pci_end)
+				if (!resource_overlaps(res, r))
 					continue;
 
 				/*
@@ -278,8 +271,7 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 				 * PNP device describes a bridge with PCI
 				 * behind it.
 				 */
-				if (pnp_start <= pci_start &&
-				    pnp_end >= pci_end)
+				if (res->start <= r->start && res->end >= r->end)
 					continue;
 
 				/*
@@ -288,9 +280,8 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 				 * driver from requesting its resources.
 				 */
 				dev_warn(&dev->dev,
-					 "disabling %pR because it overlaps "
-					 "%s BAR %d %pR\n", res,
-					 pci_name(pdev), i, &pdev->resource[i]);
+					 "disabling %pR because it overlaps %s BAR %d %pR\n",
+					 res, pci_name(pdev), i, r);
 				res->flags |= IORESOURCE_DISABLED;
 			}
 		}
diff --git a/include/linux/pci.h b/include/linux/pci.h
index fafd8020c6d7..670f01c5538c 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1404,6 +1404,18 @@ void pdev_enable_device(struct pci_dev *);
 int pci_enable_resources(struct pci_dev *, int mask);
 void pci_assign_irq(struct pci_dev *dev);
 struct resource *pci_find_resource(struct pci_dev *dev, struct resource *res);
+
+#define __pci_dev_for_each_resource(dev, res, __i, vartype)		\
+	for (vartype __i = 0;						\
+		res = &(dev)->resource[__i], __i < PCI_NUM_RESOURCES;	\
+		__i++)
+
+#define pci_dev_for_each_resource(dev, res, i)				\
+       __pci_dev_for_each_resource(dev, res, i, )
+
+#define pci_dev_for_each_resource_p(dev, res)				\
+	__pci_dev_for_each_resource(dev, res, i, unsigned int)
+
 #define HAVE_PCI_REQ_REGIONS	2
 int __must_check pci_request_regions(struct pci_dev *, const char *);
 int __must_check pci_request_regions_exclusive(struct pci_dev *, const char *);
-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 17:14:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 17:14:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508541.783292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pagJo-0003yH-FK; Fri, 10 Mar 2023 17:14:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508541.783292; Fri, 10 Mar 2023 17: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 1pagJo-0003yA-Aj; Fri, 10 Mar 2023 17:14:12 +0000
Received: by outflank-mailman (input) for mailman id 508541;
 Fri, 10 Mar 2023 17:14: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=N78y=7C=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pagJm-0003j4-MJ
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 17:14:10 +0000
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f6d52e2a-bf66-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 18:14:09 +0100 (CET)
Received: from orsmga006.jf.intel.com ([10.7.209.51])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 10 Mar 2023 09:13:47 -0800
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga006.jf.intel.com with ESMTP; 10 Mar 2023 09:13:37 -0800
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 4D6B0143; Fri, 10 Mar 2023 19:14:21 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6d52e2a-bf66-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678468449; x=1710004449;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=RzCBUYiGCwAhlk2Ryilx5v//I3nq0USDpq2BpORLpGQ=;
  b=I2APb1KqA+G3+e1XPkj16RqOE10v74xeydCT/ScuC09eCIhgsDnQsu9t
   Vidnl9jeZXE+4iEz47m4BUL7i7hsCgkaGC5PB+lP3Z44/JgA00/HRxeBI
   H2G67XmisDxzAAvY5PdNX0pjulYg6NHc8caJn6DMIfhwea1Zv0q8/QY6K
   k9enGfuXQrO2d+Eo+97MYhGQjRyiHDxyNb9a9QTG5neIDNu3oa7n9zTb/
   cYPaYGTqS5V2Cg6Brth9HaxMGHuZY99/QGv+ooLaW/fpoq7blwUEH9AsG
   VON+tUw2oQkO63nKI5BBp4W5GP4dxLBEv7pdEMXlDQyPYM+s0bS/412bm
   Q==;
X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="325132225"
X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; 
   d="scan'208";a="325132225"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="655250053"
X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; 
   d="scan'208";a="655250053"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v4 0/4] PCI: Add pci_dev_for_each_resource() helper and update users
Date: Fri, 10 Mar 2023 19:14:12 +0200
Message-Id: <20230310171416.23356-1-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Provide two new helper macros to iterate over PCI device resources and
convert users.

Looking at it, refactor existing pci_bus_for_each_resource() and convert
users accordingly.

Changelog v4:
- rebased on top of v6.3-rc1
- added tag (Krzysztof)

Changelog v3:
- rebased on top of v2 by Mika, see above
- added tag to pcmcia patch (Dominik)

Changelog v2:
- refactor to have two macros
- refactor existing pci_bus_for_each_resource() in the same way and
  convert users

Andy Shevchenko (3):
  PCI: Split pci_bus_for_each_resource_p() out of
    pci_bus_for_each_resource()
  EISA: Convert to use pci_bus_for_each_resource_p()
  pcmcia: Convert to use pci_bus_for_each_resource_p()

Mika Westerberg (1):
  PCI: Introduce pci_dev_for_each_resource()

 .clang-format                             |  3 ++
 arch/alpha/kernel/pci.c                   |  5 ++-
 arch/arm/kernel/bios32.c                  | 16 +++++-----
 arch/arm/mach-dove/pcie.c                 | 10 +++---
 arch/arm/mach-mv78xx0/pcie.c              | 10 +++---
 arch/arm/mach-orion5x/pci.c               | 10 +++---
 arch/mips/pci/ops-bcm63xx.c               |  8 ++---
 arch/mips/pci/pci-legacy.c                |  3 +-
 arch/powerpc/kernel/pci-common.c          | 21 +++++++------
 arch/powerpc/platforms/4xx/pci.c          |  8 ++---
 arch/powerpc/platforms/52xx/mpc52xx_pci.c |  4 +--
 arch/powerpc/platforms/pseries/pci.c      | 16 +++++-----
 arch/sh/drivers/pci/pcie-sh7786.c         | 10 +++---
 arch/sparc/kernel/leon_pci.c              |  5 ++-
 arch/sparc/kernel/pci.c                   | 10 +++---
 arch/sparc/kernel/pcic.c                  |  5 ++-
 drivers/eisa/pci_eisa.c                   |  4 +--
 drivers/pci/bus.c                         |  7 ++---
 drivers/pci/hotplug/shpchp_sysfs.c        |  8 ++---
 drivers/pci/pci.c                         |  5 ++-
 drivers/pci/probe.c                       |  2 +-
 drivers/pci/remove.c                      |  5 ++-
 drivers/pci/setup-bus.c                   | 37 +++++++++--------------
 drivers/pci/setup-res.c                   |  4 +--
 drivers/pci/vgaarb.c                      | 17 +++--------
 drivers/pci/xen-pcifront.c                |  4 +--
 drivers/pcmcia/rsrc_nonstatic.c           |  9 ++----
 drivers/pcmcia/yenta_socket.c             |  3 +-
 drivers/pnp/quirks.c                      | 29 ++++++------------
 include/linux/pci.h                       | 26 +++++++++++++---
 30 files changed, 141 insertions(+), 163 deletions(-)

-- 
2.39.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 18:22:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 18:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508564.783338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pahNY-0006fv-SS; Fri, 10 Mar 2023 18:22:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508564.783338; Fri, 10 Mar 2023 18:22: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 1pahNY-0006fn-NU; Fri, 10 Mar 2023 18:22:08 +0000
Received: by outflank-mailman (input) for mailman id 508564;
 Fri, 10 Mar 2023 18:22: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 1pahNX-0006fc-1w; Fri, 10 Mar 2023 18:22: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 1pahNX-0002tr-05; Fri, 10 Mar 2023 18:22: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 1pahNW-0006es-EJ; Fri, 10 Mar 2023 18:22:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pahNW-0001wx-Di; Fri, 10 Mar 2023 18:22:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uHAnqG5q3CZaw/wbHccctVTMEiIe1QAOraH8+Sbt2qM=; b=o3qcYY9N7031s8H2kIMUaPPc9J
	NGM9tj0rHXduIC2IwB/+dFTxju8M42ole/AhZ/N6kEw5DoSoB/jQz4aZTocfP2QoRhcqnQU016hup
	VPISxGSFAEYNKMaJNfPLqP3Bwij1I0qg5/iJQ7hOasT+tPB9+elOYR61w2+BP9lapfQI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179537-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179537: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=9b94ebb0c826ad9a747f93ee351d5d076e920f6e
X-Osstest-Versions-That:
    ovmf=a4c9c2b0f00a8f950b3058d4e97534a2613ed8bf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Mar 2023 18:22:06 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 9b94ebb0c826ad9a747f93ee351d5d076e920f6e
baseline version:
 ovmf                 a4c9c2b0f00a8f950b3058d4e97534a2613ed8bf

Last test of basis   179532  2023-03-10 09:10:48 Z    0 days
Testing same since   179537  2023-03-10 15:10:41 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
   a4c9c2b0f0..9b94ebb0c8  9b94ebb0c826ad9a747f93ee351d5d076e920f6e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 18:23:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 18:23:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508569.783348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pahOW-0007B2-5R; Fri, 10 Mar 2023 18:23:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508569.783348; Fri, 10 Mar 2023 18: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 1pahOW-0007Av-20; Fri, 10 Mar 2023 18:23:08 +0000
Received: by outflank-mailman (input) for mailman id 508569;
 Fri, 10 Mar 2023 18:23: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=q69C=7C=chiark.greenend.org.uk=ijackson@srs-se1.protection.inumbo.net>)
 id 1pahOU-0007AY-CG
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 18:23:06 +0000
Received: from chiark.greenend.org.uk (v6.chiark.greenend.org.uk
 [2001:ba8:1e3::]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 966f9245-bf70-11ed-956e-85ef70e17bfa;
 Fri, 10 Mar 2023 19:23:02 +0100 (CET)
Received: by chiark.greenend.org.uk (Debian Exim 4.94.2 #2) with local
 (return-path ijackson@chiark.greenend.org.uk)
 id 1pahON-0000hS-Dg; Fri, 10 Mar 2023 18:22:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 966f9245-bf70-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=chiark.greenend.org.uk; s=c.chiark; h=DKIM-Signature-Warning:References:
	In-Reply-To:Subject:Cc:To:Date:Message-ID:Content-Transfer-Encoding:
	Content-Type:MIME-Version:From: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=+1UdwsCB6OqRIWNESAzcOD/MqmMCwm61CFlIOYaNfTM=; b=d+kGzXe/d9OP
	lrx88EGoSbGsERNVrPB7gvv0oVTR90bnI7zgOW7HDfDqjvdkR0iuf2weKhRK8q3SZQrgz/cKMMPVA
	9V0uYEbI6bDOKqeTAWsI3eGdHXSrpK5EEseT0qiGLl8KJvgoigTiq9PEE5kk07dUKZKNDptaid3j2
	vMWNkiL2z3/4MkYAseTyilHa38LJwHjFKOTuf0VKe0QnKqG7Uk0j+CMvcKD/wB6GKwxwwTh5ffMXy
	KoKp5ut/LpDk1LvzoeUHrR1LytH6uNMRcAz/G3Iw9nAmbSiUKGKtGPOWKwceHvJfin7QIkIJFagjP
	nRzi5c1LHOGrZBrTjkBhtQ==;
From: Ian Jackson <ijackson@chiark.greenend.org.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Message-ID: <25611.30083.331313.845838@chiark.greenend.org.uk>
Date: Fri, 10 Mar 2023 18:22:59 +0000
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: <xen-devel@lists.xenproject.org>
Subject: Re: [OSSTEST PATCH] PDU/IPMI: Be less aggressive with IPMI commands
In-Reply-To: <20230310170721.14493-1-anthony.perard@citrix.com>
References: <20230310170721.14493-1-anthony.perard@citrix.com>
X-Mailer: VM 8.2.0b under 27.1 (x86_64-pc-linux-gnu)
DKIM-Signature-Warning: NOTE REGARDING DKIM KEY COMPROMISE https://www.chiark.greenend.org.uk/dkim-rotate/README.txt https://www.chiark.greenend.org.uk/dkim-rotate/20/20778a84b8ea056027c57b730a5dde2a.pem

Anthony PERARD writes ("[OSSTEST PATCH] PDU/IPMI: Be less aggressive with IPMI commands"):
> The machine rimava0 doesn't power off or power on when we keep doing
> "power status" then "power off" ipmi command without waiting.
> 
> Currently, osstest does:
>     loop
> 	ipmitool power status
> 	ipmitool power off
> 	sleep 1
> 
> This loop goes on forever, the machine never change power state.
> Adding some wait in between both command works.

How sad.

> While here, test for timeout just after a status check instead of
> sending the `power off` command again which we would never check the
> result of.

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

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

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


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 19:11:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 19:11:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508575.783358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pai8n-0005Kb-LZ; Fri, 10 Mar 2023 19:10:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508575.783358; Fri, 10 Mar 2023 19:10:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pai8n-0005KU-Hm; Fri, 10 Mar 2023 19:10:57 +0000
Received: by outflank-mailman (input) for mailman id 508575;
 Fri, 10 Mar 2023 19:10: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 1pai8m-0005KK-Ch; Fri, 10 Mar 2023 19:10: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 1pai8m-00043T-8e; Fri, 10 Mar 2023 19:10: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 1pai8l-0007oG-Qw; Fri, 10 Mar 2023 19:10:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pai8l-0007pn-QS; Fri, 10 Mar 2023 19:10: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=HXos/NRmbmnF0dUQtgVRE7CL5FOa61/eloIR0aAo/oY=; b=d+j2++0IKkZObg7pw2iBSoSYkI
	+C2REJLT0yEZB6yUt3ENi9+XHU/gFmgRhDylIkkj0uN0s1jk6Z6p/uYZaauz7KjycrRjAarYpIBlJ
	A64ZYFcK0KcY7XmOQpVpitcP2dDpCW0g0yT3dk05E7JkojFvITXte5FNFZPmltkQEAak=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179529-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179529: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-examine:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:heisenbug
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-xsm:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qcow2: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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-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-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-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-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-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=7a59096258fb9e9679538da8851fe00656841980
X-Osstest-Versions-That:
    xen=7a59096258fb9e9679538da8851fe00656841980
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Mar 2023 19:10:55 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl            7 xen-install      fail in 179522 pass in 179529
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail in 179522 pass in 179529
 test-amd64-i386-examine       6 xen-install      fail in 179522 pass in 179529
 test-amd64-amd64-xl-rtds 22 guest-start/debian.repeat fail in 179522 pass in 179529
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 179522 pass in 179529
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start             fail pass in 179522
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 179522
 test-amd64-i386-xl-xsm        7 xen-install                fail pass in 179522
 test-amd64-amd64-dom0pvh-xl-intel 20 guest-localmigrate/x10 fail pass in 179522
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat  fail pass in 179522

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179522
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179522
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179522
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179522
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179522
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179522
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179522
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179522
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179522
 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-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-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-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     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  7a59096258fb9e9679538da8851fe00656841980
baseline version:
 xen                  7a59096258fb9e9679538da8851fe00656841980

Last test of basis   179529  2023-03-10 04:26: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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 test-amd64-i386-examine                                      pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 Mar 10 20:37:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 20:37:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508585.783396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pajUg-0007ka-Gd; Fri, 10 Mar 2023 20:37:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508585.783396; Fri, 10 Mar 2023 20:37:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pajUg-0007kT-Db; Fri, 10 Mar 2023 20:37:38 +0000
Received: by outflank-mailman (input) for mailman id 508585;
 Fri, 10 Mar 2023 20:37: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=cIIN=7C=citrix.com=prvs=426914f36=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pajUf-0007G2-5Y
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 20:37:37 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 62ca3ef9-bf83-11ed-956e-85ef70e17bfa;
 Fri, 10 Mar 2023 21:37: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: 62ca3ef9-bf83-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678480655;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=vWKg24kXULjAm/MIBSk16wv0jwgKTvpBpsdeyDx77L0=;
  b=LgzMsFphtFV5qjDfriZSGomjvX7TegV8a8nw77Sf3o6H0ANu14ij9gpX
   mi+hvw5b/I8l4nA5UBCuFgD5UxKSwbjzfeVGxH1LZYrR/uUgB7R5+4moC
   RAGzF1m2HYLxF9E5Xjczf8YF8/35Fq4fX79cBpE/VePwiuZDmFP+bKPx0
   Y=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100282288
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:nML/MK6hTN16GX4sYFWVNwxRtCnHchMFZxGqfqrLsTDasY5as4F+v
 mBOWzqGb/fYN2H1fd90YI6+9xhS6sKDm4RqQAdsrSFjHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS5AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5my
 61BBDsPYzG4qvu42Iq8FeBJqOV8FZy+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrlD5fydVtxS+oq0v7nKI5AdwzKLsIJzefdniqcB9xx7A/
 DKcpTSpav0cHOG+8DSVzXm9utOV3iXQYqQpJref0tc/1TV/wURMUUZLBDNXu8KRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JyOeAn7ACGyoLP/h2UQGMDS1Zpd9gOpMIwAzsw2
 Te0c8jBXGI19ufPEDTEq+nS9GnpUcQIEYMcTRFVFCcO4dTCm6wqgAr3SYlqNYCU0eSgTFkc3
 Au2hCQ5grwSi+sC2KO64U3LjlqQm3TZcuImzl6JBzz4t2uVcKbgPtX1sgaDsZ6sOa7DFjG8U
 G44d99yBQzkJbWEj2SzTeoEB9lFDN7VYWSH0TaD83TMnglBGkJPn6gKvFmSx28zaK7onAMFh
 2eC0T69HLcJYBOXgVZfOupd8fgCw6n6DsjCXfvJdNdIaZUZXFbZo3EyOhXKjj6wzBFEfUQD1
 XCzK5rEMJrnIf4/kGreqxk1i9fHORzSNUuMHMumnnxLIJKVZWKPSKdtDbd9RrlR0U9wmy2Mq
 4w3H5LTm31ivBjWPnG/HXg7cQpbchDWxPne96RqSwJ0ClE9QT1/VaePnetJlk4Mt/09q9okN
 0qVAidwoGcTT1Wdc21mtlgLhGvTYKtC
IronPort-HdrOrdr: A9a23:SVLPaKFVHK15kswspLqE0MeALOsnbusQ8zAXP0AYc3Jom6uj5r
 mTdZUgpHnJYVkqOE3I9ertBEDEewK4yXcX2/h3AV7BZniEhILAFugLhuGO/9SjIVybygc079
 YZT0EUMrzN5DZB4voSmDPIceod/A==
X-IronPort-AV: E=Sophos;i="5.98,250,1673931600"; 
   d="scan'208";a="100282288"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>
Subject: [PATCH 2/3] tools/xen-cpuid: Rework the handling of dynamic featuresets
Date: Fri, 10 Mar 2023 20:37:11 +0000
Message-ID: <20230310203712.1431387-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230310203712.1431387-1-andrew.cooper3@citrix.com>
References: <20230310203712.1431387-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

struct fsinfo is the vestigial remnant of an older internal design which
didn't survive very long.

Simplify things by inlining get_featureset() and having a single memory
allocation that gets reused.  This in turn changes featuresets[] to be a
simple list of names, so rename it to fs_names[].

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/misc/xen-cpuid.c | 53 ++++++++++++++++++------------------------
 1 file changed, 22 insertions(+), 31 deletions(-)

diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 361102d8cfb1..227df7352e2b 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -246,16 +246,11 @@ static const struct {
 
 #define COL_ALIGN "18"
 
-static struct fsinfo {
-    const char *name;
-    uint32_t len;
-    uint32_t *fs;
-} featuresets[] =
-{
-    [XEN_SYSCTL_cpu_featureset_host] = { "Host", 0, NULL },
-    [XEN_SYSCTL_cpu_featureset_raw]  = { "Raw",  0, NULL },
-    [XEN_SYSCTL_cpu_featureset_pv]   = { "PV",   0, NULL },
-    [XEN_SYSCTL_cpu_featureset_hvm]  = { "HVM",  0, NULL },
+static const char *const fs_names[] = {
+    [XEN_SYSCTL_cpu_featureset_host] = "Host",
+    [XEN_SYSCTL_cpu_featureset_raw]  = "Raw",
+    [XEN_SYSCTL_cpu_featureset_pv]   = "PV",
+    [XEN_SYSCTL_cpu_featureset_hvm]  = "HVM",
 };
 
 static void dump_leaf(uint32_t leaf, const char *const *strs)
@@ -302,22 +297,10 @@ static void decode_featureset(const uint32_t *features,
     }
 }
 
-static int get_featureset(xc_interface *xch, unsigned int idx)
-{
-    struct fsinfo *f = &featuresets[idx];
-
-    f->len = nr_features;
-    f->fs = calloc(nr_features, sizeof(*f->fs));
-
-    if ( !f->fs )
-        err(1, "calloc(, featureset)");
-
-    return xc_get_cpu_featureset(xch, idx, &f->len, f->fs);
-}
-
 static void dump_info(xc_interface *xch, bool detail)
 {
     unsigned int i;
+    uint32_t *fs;
 
     printf("nr_features: %u\n", nr_features);
 
@@ -348,26 +331,34 @@ static void dump_info(xc_interface *xch, bool detail)
                       nr_features, "HVM Hap Default", detail);
 
     printf("\nDynamic sets:\n");
-    for ( i = 0; i < ARRAY_SIZE(featuresets); ++i )
+
+    fs = malloc(sizeof(*fs) * nr_features);
+    if ( !fs )
+        err(1, "malloc(featureset)");
+
+    for ( i = 0; i < ARRAY_SIZE(fs_names); ++i )
     {
-        if ( get_featureset(xch, i) )
+        uint32_t len = nr_features;
+        int ret;
+
+        memset(fs, 0, sizeof(*fs) * nr_features);
+
+        ret = xc_get_cpu_featureset(xch, i, &len, fs);
+        if ( ret )
         {
             if ( errno == EOPNOTSUPP )
             {
-                printf("%s featureset not supported by Xen\n",
-                       featuresets[i].name);
+                printf("%s featureset not supported by Xen\n", fs_names[i]);
                 continue;
             }
 
             err(1, "xc_get_featureset()");
         }
 
-        decode_featureset(featuresets[i].fs, featuresets[i].len,
-                          featuresets[i].name, detail);
+        decode_featureset(fs, len, fs_names[i], detail);
     }
 
-    for ( i = 0; i < ARRAY_SIZE(featuresets); ++i )
-        free(featuresets[i].fs);
+    free(fs);
 }
 
 static void print_policy(const char *name,
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 20:37:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 20:37:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508583.783377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pajUe-0007GK-00; Fri, 10 Mar 2023 20:37:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508583.783377; Fri, 10 Mar 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 1pajUd-0007GD-TM; Fri, 10 Mar 2023 20:37:35 +0000
Received: by outflank-mailman (input) for mailman id 508583;
 Fri, 10 Mar 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=cIIN=7C=citrix.com=prvs=426914f36=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pajUc-0007G2-Ch
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 20:37:34 +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 5f7b3934-bf83-11ed-956e-85ef70e17bfa;
 Fri, 10 Mar 2023 21: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: 5f7b3934-bf83-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678480650;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=jFzBoDKTtuF+GO/ELlQsUz1UPEnhhesb0CRGuBAV2lU=;
  b=JHxj/eW84l/+jTXJ/JdUMXArDen/um4IIvwpqh6lWlxnH8TzQ9QzgcpL
   e7J85RzwBFb4ei0RwcsRvuv8rUYAdBKoZFZPfYs4m/Lm/7dkPbBHMtAoh
   9myaBFh389N7edqeCXsuXmzR6u3mttERBaEHfLS0cuf/HUHaGcxjs3Dkw
   0=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100282287
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:q+DLdKnHtzddvNaT5t4WsK/o5gyhJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIcXz3VPanfZDehLtt/bIy38EIO7cOHzdBlGQVq/Hw2EiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QeGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 cJJcRwGbB2ivM+vzqqDTbZlo+oCc/C+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglHWdTFCpU3Tjq0w+2XJlyR60aT3McqTcduPLSlQth/A/
 jiWpT6pXXn2MvSzyB+96l2rl9bWvjv3CaMDTp+09vRl1Qj7Kms7V0RNCArTTeOCol6zXZdTJ
 lIZ/gIqrLMu7wq7Q9/lRRq6rXWY+BkGVLJ4Mcc39QWMwar8+BuCCy4PSTspQMMinN87Q3otz
 FDht9/gGzFHqrCeTnOZsLCOoluP1TM9dDFYI3VeFE1cvoel+dto5v7Scjp9OJDk1/H+GzzR+
 B2TojAGgOoaqOAqiJzuqDgrnAmQjpTOSwc04CDeUWSk8h51aeaZWmC41bTIxa0eddjEFzFtq
 FBBwpHDt75WUflhgQTXGI0w8KeVC+Fp2dE2qXpmBNEf+juk4BZPlqgAsWgldC+F3ivpEAIFg
 XM/WysLuPe/31PwN8ebhr5d7Ox7pZUM7fy/CpjpgiNmO/CdjjOv8iB0flK31GvwikUqmqxXE
 c7FLpbwUi1AWPo6kGPeqwIhPVgDnHxW+I8ubcqjk0TPPUS2PhZ5tovpwHPRN7tkvctoUS3e8
 spFNtvi9vmseLSWX8UjyqZKdQpiBSFiVfjLRzl/KrbrzvxORDtwVJc8ANoJJ+RYokiivryTp
 y3jBBcGlAKXaL+uAVziV02PoYjHBf5XxU/X9wR2Zj5EB1BLjV6T0Zoi
IronPort-HdrOrdr: A9a23:4Mk1I61SemKrb7DD4LFhKwqjBfdyeYIsimQD101hICG9E/bo4v
 xG+c5xuyMc5wxwZJheo6H9BEDtexLhHP1OkPos1MmZLWvbUQKTRekJ0WKI+UyCJ8SRzJ856U
 9qG5IOd+EZZTJB4foTi2ODfOrJD7O8nZyAtKPm6zNIcCkvUqdn6m5Ce3Sm+o8dfng5OXL8fq
 DslvauYlCbCAUqh7+Adx04dtmGncTPiJXlJTYeHnccmXCzpALt0qf+Dx+bmjwDUzZDqI1SjF
 TtokjC/6C+tPP+7RfZ2wbonvNrseqk8MJHGMuPzu4KLTn24zzYArhJavm5pTUop+Pq0nYG+e
 O82ysIDoBI8nbMeWPwmxf3xAX69z4r5xbZuCSlqEqmm9X9WDU5T/VMnphYdByx0TtbgO1B
X-IronPort-AV: E=Sophos;i="5.98,250,1673931600"; 
   d="scan'208";a="100282287"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>, =?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?=
	<edwin.torok@cloud.com>, Rob Hoes <Rob.Hoes@citrix.com>
Subject: [PATCH 0/3] x86: Minor improvements to xen-cpuid
Date: Fri, 10 Mar 2023 20:37:09 +0000
Message-ID: <20230310203712.1431387-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

All to make it easier to do CPUID development work (which is fairness is
mostly me).

Andrew Cooper (3):
  tools/xen-cpuid: Support dash as a bitmap delimiter
  tools/xen-cpuid: Rework the handling of dynamic featuresets
  x86/sysctl: Retrofit XEN_SYSCTL_cpu_featureset_{pv,hvm}_max

 tools/misc/xen-cpuid.c          | 60 +++++++++++++++------------------
 tools/ocaml/libs/xc/xenctrl.ml  |  8 ++++-
 tools/ocaml/libs/xc/xenctrl.mli |  8 ++++-
 xen/arch/x86/sysctl.c           |  4 ++-
 xen/include/public/sysctl.h     |  2 ++
 5 files changed, 46 insertions(+), 36 deletions(-)

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 20:37:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 20:37:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508586.783406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pajUh-00080t-OS; Fri, 10 Mar 2023 20:37:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508586.783406; Fri, 10 Mar 2023 20:37: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 1pajUh-00080m-Kr; Fri, 10 Mar 2023 20:37:39 +0000
Received: by outflank-mailman (input) for mailman id 508586;
 Fri, 10 Mar 2023 20:37: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=cIIN=7C=citrix.com=prvs=426914f36=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pajUg-0007G2-2f
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 20:37:38 +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 63f8e932-bf83-11ed-956e-85ef70e17bfa;
 Fri, 10 Mar 2023 21:37: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: 63f8e932-bf83-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678480655;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=673Bxj0bL18+MxyyKCgsUOM/K/4wVmpeWWAB7TVmf04=;
  b=TOhF3yoAEmUzInWZk57uRRnvtnqTItQpFf5BPWPuIE8nkH8I9Td6MiMR
   Cz69I6MAYEFURl1HeqsbvxNdOOB0fhV/vUe+0sX0yDlbXwPyIiwFo3E5f
   aCu/bgqNgSlKFN4gB9nq2KECyrL6J/mAqOYA4LdWiM74t3kb9nGJVflwH
   8=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100282289
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:iEN4H68YU7a52s4GH3MbDrUDoH6TJUtcMsCJ2f8bNWPcYEJGY0x3n
 TNKCGCDM/bcMzahKt0jYNmx/U0AvpGDnYM2TAFsqCk8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkT5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklwp
 KU0IzIATyuunuyu+LXkQ8xCp5saeZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGOkcUUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0Mxh7C9
 jicrzWR7hcyFoWg6xen6ymXqvLesD3naY4LFYCR6as/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c/h6HvA+6QqN4rHJ+AvfDW8BJhZebPQ2uclwQiYlv
 neFls3kLSZiu7qUTTSa7Lj8kN+pEXFLdylYP3ZCFFZbpYC5++nfky4jUP5dQfeZhd/4OArd2
 j6SlC9hjpA9rJEygvDTEU/8vxqgoZ3ATwgQ7wrRX3644g4RWLNJd7BE+nCAs68ecd/xok2p+
 SFdxpPAtLxm4YSlznTlfQkbIF2+Cx9p2hX4iEUnIZQu/i/FF5WLLdEJu2EWyKuE3685ld7Vj
 K374185CHx7ZiHCgUpLj2WZWqwXIVDIT4iNaxwtRoMmjmJNXAGG5jpyQkWbwnrglkMh+YlmZ
 8jLLZn3VydEVPg+pNZTewv6+eV3rh3SOEuJHcyrp/hZ+eD2iIGppUctbwLVM7FRAFKsqwTJ6
 ddPX/ZmOD0GONASlhL/qNZJRXhTdChTOHwDg5APHgJ1ClY8ST5J5j646e9JRrGJaIwOzb6Uo
 C/lBBMAoLc97FWeQTi3hrlYQOuHdf5CQbgTZ3RE0YqAs5T7XbuS0Q==
IronPort-HdrOrdr: A9a23:mSv0gasjU46lOVx2cLEVxjh87skCM4Mji2hC6mlwRA09TyX4rb
 HaoB1/73SbtN9/YhEdcK+7SdW9qB/nlKKdgrNhTotKIjOW2ldARbsKheHfKlbbak7DH4BmpM
 Jdm6MXMqyOMbAT5/yX3OHSeexO/DFJmprEuc7ui05ICSVWQ+VY6QF9YzzrYHGfhmN9dOQE/F
 733Ls2m9JkE05nH/hTfUN1O9TrlpnwjZf7ZhxDLwc/gTP+9A+A2frBCh2F2RVbeC9OxLpKyx
 m5ryXJop+7tu29yFv632vehq4m/+fJ+594HcmRjcpQDCvqhh3AXvUGZ5Sy+Aotpf2p6hIRsP
 SkmWZZA+1Dr0nJe32zo1/W1xL+3C0I43vvoGXo+kfLkIjCXTcnDMgEuo5DaBve7CMbzatB7J
 4=
X-IronPort-AV: E=Sophos;i="5.98,250,1673931600"; 
   d="scan'208";a="100282289"
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>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>,
	=?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@cloud.com>, Rob Hoes
	<Rob.Hoes@citrix.com>
Subject: [PATCH 3/3] x86/sysctl: Retrofit XEN_SYSCTL_cpu_featureset_{pv,hvm}_max
Date: Fri, 10 Mar 2023 20:37:12 +0000
Message-ID: <20230310203712.1431387-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230310203712.1431387-1-andrew.cooper3@citrix.com>
References: <20230310203712.1431387-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Featuresets are supposed to be disappearing when the CPU policy infrastructure
is complete, but that has taken longer than expected, and isn't going to be
complete imminently either.

In the meantime, Xen does have proper default/max featuresets, and xen-cpuid
can even get them via the XEN_SYSCTL_cpu_policy_* interface, but only knows
now to render them nicely via the featureset interface.

Differences between default and max are a frequent source of errors,
frequently too in secret leading up to an embargo, so extend the featureset
sysctl to allow xen-cpuid to render them all nicely.

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: Christian Lindig <christian.lindig@citrix.com>
CC: David Scott <dave@recoil.org>
CC: Edwin Török <edwin.torok@cloud.com>
CC: Rob Hoes <Rob.Hoes@citrix.com>

I actually this SYSCTL extention in the XenServer patchqueue for reasons that
started with the TSX fiasco; I have no idea why its taken until now to think
it would be a good idea to wire into xen-cpuid too...
---
 tools/misc/xen-cpuid.c          | 10 ++++++----
 tools/ocaml/libs/xc/xenctrl.ml  |  8 +++++++-
 tools/ocaml/libs/xc/xenctrl.mli |  8 +++++++-
 xen/arch/x86/sysctl.c           |  4 +++-
 xen/include/public/sysctl.h     |  2 ++
 5 files changed, 25 insertions(+), 7 deletions(-)

diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 227df7352e2b..37a7eaa8edfc 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -247,10 +247,12 @@ static const struct {
 #define COL_ALIGN "18"
 
 static const char *const fs_names[] = {
-    [XEN_SYSCTL_cpu_featureset_host] = "Host",
-    [XEN_SYSCTL_cpu_featureset_raw]  = "Raw",
-    [XEN_SYSCTL_cpu_featureset_pv]   = "PV",
-    [XEN_SYSCTL_cpu_featureset_hvm]  = "HVM",
+    [XEN_SYSCTL_cpu_featureset_raw]     = "Raw",
+    [XEN_SYSCTL_cpu_featureset_host]    = "Host",
+    [XEN_SYSCTL_cpu_featureset_pv]      = "PV Default",
+    [XEN_SYSCTL_cpu_featureset_hvm]     = "HVM Default",
+    [XEN_SYSCTL_cpu_featureset_pv_max]  = "PV Max",
+    [XEN_SYSCTL_cpu_featureset_hvm_max] = "HVM Max",
 };
 
 static void dump_leaf(uint32_t leaf, const char *const *strs)
diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index a59dee093897..e4096bf92c1d 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -370,7 +370,13 @@ external version_changeset: handle -> string = "stub_xc_version_changeset"
 external version_capabilities: handle -> string =
   "stub_xc_version_capabilities"
 
-type featureset_index = Featureset_raw | Featureset_host | Featureset_pv | Featureset_hvm
+type featureset_index =
+  | Featureset_raw
+  | Featureset_host
+  | Featureset_pv
+  | Featureset_hvm
+  | Featureset_pv_max
+  | Featureset_hvm_max
 external get_cpu_featureset : handle -> featureset_index -> int64 array = "stub_xc_get_cpu_featureset"
 
 external watchdog : handle -> int -> int32 -> int
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
index 3154e90f4f98..ef2254537430 100644
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -297,7 +297,13 @@ external version_changeset : handle -> string = "stub_xc_version_changeset"
 external version_capabilities : handle -> string
   = "stub_xc_version_capabilities"
 
-type featureset_index = Featureset_raw | Featureset_host | Featureset_pv | Featureset_hvm
+type featureset_index =
+  | Featureset_raw
+  | Featureset_host
+  | Featureset_pv
+  | Featureset_hvm
+  | Featureset_pv_max
+  | Featureset_hvm_max
 external get_cpu_featureset : handle -> featureset_index -> int64 array = "stub_xc_get_cpu_featureset"
 
 external pages_to_kib : int64 -> int64 = "stub_pages_to_kib"
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index f42a3b843ba7..6600eb43471b 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -323,14 +323,16 @@ long arch_do_sysctl(
 
     case XEN_SYSCTL_get_cpu_featureset:
     {
-        static const struct cpuid_policy *const policy_table[4] = {
+        static const struct cpuid_policy *const policy_table[6] = {
             [XEN_SYSCTL_cpu_featureset_raw]  = &raw_cpuid_policy,
             [XEN_SYSCTL_cpu_featureset_host] = &host_cpuid_policy,
 #ifdef CONFIG_PV
             [XEN_SYSCTL_cpu_featureset_pv]   = &pv_def_cpuid_policy,
+            [XEN_SYSCTL_cpu_featureset_pv_max] = &pv_max_cpuid_policy,
 #endif
 #ifdef CONFIG_HVM
             [XEN_SYSCTL_cpu_featureset_hvm]  = &hvm_def_cpuid_policy,
+            [XEN_SYSCTL_cpu_featureset_hvm_max] = &hvm_max_cpuid_policy,
 #endif
         };
         const struct cpuid_policy *p = NULL;
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 001a4de27375..e8dded9fb94a 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -796,6 +796,8 @@ struct xen_sysctl_cpu_featureset {
 #define XEN_SYSCTL_cpu_featureset_host     1
 #define XEN_SYSCTL_cpu_featureset_pv       2
 #define XEN_SYSCTL_cpu_featureset_hvm      3
+#define XEN_SYSCTL_cpu_featureset_pv_max   4
+#define XEN_SYSCTL_cpu_featureset_hvm_max  5
     uint32_t index;       /* IN: Which featureset to query? */
     uint32_t nr_features; /* IN/OUT: Number of entries in/written to
                            * 'features', or the maximum number of features if
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 20:37:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 20:37:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508584.783387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pajUf-0007VP-9n; Fri, 10 Mar 2023 20:37:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508584.783387; Fri, 10 Mar 2023 20:37: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 1pajUf-0007VI-6V; Fri, 10 Mar 2023 20:37:37 +0000
Received: by outflank-mailman (input) for mailman id 508584;
 Fri, 10 Mar 2023 20:37:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cIIN=7C=citrix.com=prvs=426914f36=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pajUd-0007G2-N9
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 20:37:35 +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 62b1d4d7-bf83-11ed-956e-85ef70e17bfa;
 Fri, 10 Mar 2023 21:37: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: 62b1d4d7-bf83-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678480653;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=plUTz7rrczk3uU3kKwhqf3alUilBWCQy881X2SDvNt0=;
  b=Ol9mHhSEvW9JCmJap39IT7nXksFSYLuhPHw6OFNr+CxAZLdAIwLBu/rO
   4YIjHEOAlBPe4mIdZf2yzkg/1WxZ6aR45JlrcuVINlP5+1oMZmbGuK+2d
   cxxiobvjQQ+9FKz+qtM6I+z1I4cKrhmyTz/qD9DOMuqV2rPtNe85UjIgx
   Y=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100282290
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:Byig962i4jmbRXrsIfbD5cJxkn2cJEfYwER7XKvMYLTBsI5bpzwHx
 mUYCj3TPfqMNjCnKIhwb4618ktVvcPSnN5lHVRqpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdnPagR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfXV4Q9
 t9Gcw02VxXfjqHx7fW2EO82iZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKk2aOHWjOX9OYH46tM6uimPybHtzr1WNqLBsy2PS0BZwwP7mN9+9ltmiHJ0NxBbC/
 DOel4j/KhQRG92vmGbfy2zvoczUrQPbSIxRHbLto5aGh3XMnzdOWXX6T2CTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jY+cddNF+wx6CmW17HZpQ2eAwAsUTppeNEg8sgsSlQXO
 kShxo2zQ2Y16fvMFCzbr+3Pxd+vBcQLBTM9OywnE1A42ODm/IhwyT+IQ4xlSqHg27UZBgrM6
 zyNqSE/gZAagsgKy7i38Dj7vt68mnTaZlVrv1uKBwpJ+is8Pdf4PNLwtTA3+N4adO6kok+9U
 G/ociR0xMQHFtmzmSOEW43h95n5tq/eYFUwbbOCdqTNFghBGVb5Iei8Axkkfi+F1/ronhe4C
 HI/QSsLuPdu0IKCNMebmb6ZBcUw1rTHHt/4TP3SZdcmSsEvK1/bo3o0NBDNgzmFfK0QfUYXY
 8vzTCpRJSxCVfQPIMSeHY/xLoPHNghhnDiOFPgXPjys0KaEZW79dFv2GALmUwzN14vd+F+92
 48GZ6O3J+B3DLWWjt//rdRCcjjn7BETWfjLliCgXrXYe1Y4Rjl/V6e5LHFIU9UNopm5X9zgp
 hmVMnK0AnKm1RUr9S3ihqhfVY7S
IronPort-HdrOrdr: A9a23:S3q4iKAxRtO4WZTlHemU55DYdb4zR+YMi2TC1yhKJyC9Ffbo7v
 xG/c5rsyMc5wxwZJhNo7y90ey7MBbhHP1OkO4s1NWZLWrbUQKTRekIh+bfKn/baknDH4ZmpN
 9dmsNFaeEYY2IUsS+D2njbL+od
X-IronPort-AV: E=Sophos;i="5.98,250,1673931600"; 
   d="scan'208";a="100282290"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>
Subject: [PATCH 1/3] tools/xen-cpuid: Support dash as a bitmap delimiter
Date: Fri, 10 Mar 2023 20:37:10 +0000
Message-ID: <20230310203712.1431387-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230310203712.1431387-1-andrew.cooper3@citrix.com>
References: <20230310203712.1431387-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Xapi chose to render its featureset bitmaps with dashes rather than colongs as
a separator.  Have xen-cpuid support both forms, for convenience.

Fix a trivial style issue in the vacinity while here.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/misc/xen-cpuid.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 868054ab96a6..361102d8cfb1 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -607,9 +607,10 @@ int main(int argc, char **argv)
                 if ( i == nr_features )
                     break;
 
-                if ( *ptr == ':' )
+                if ( *ptr == ':' || *ptr == '-' )
                 {
-                    ptr++; continue;
+                    ptr++;
+                    continue;
                 }
                 break;
             }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 20:50:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 20:50:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508602.783420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pajgs-0003SG-TX; Fri, 10 Mar 2023 20:50:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508602.783420; Fri, 10 Mar 2023 20: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 1pajgs-0003S9-Ph; Fri, 10 Mar 2023 20:50:14 +0000
Received: by outflank-mailman (input) for mailman id 508602;
 Fri, 10 Mar 2023 20:50: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=Voiz=7C=web.de=tachyon_gun@srs-se1.protection.inumbo.net>)
 id 1pajgs-0003Rp-3P
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 20:50:14 +0000
Received: from mout.web.de (mout.web.de [212.227.15.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25df256d-bf85-11ed-956e-85ef70e17bfa;
 Fri, 10 Mar 2023 21:50:10 +0100 (CET)
Received: from [92.76.123.40] ([92.76.123.40]) by web-mail.web.de
 (3c-app-webde-bs42.server.lan [172.19.170.42]) (via HTTP); Fri, 10 Mar 2023
 21:50: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: 25df256d-bf85-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
	t=1678481410; i=tachyon_gun@web.de;
	bh=kofX78trZyZ/LLQtVmWdt3LHtiH28opQxs4KLeQkSEQ=;
	h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
	b=PT6Ma0hvhBx6J9j2GFG+VsVkU+wjHgqMvHmpCsO5k2jQofLCuoaMsnmG5x8XhXm76
	 ZciE0ef20gun11P5g0giwdkLxQk42UVTvpLOlSwvYa+/yXdwXkCq0lt0OVhRLHG8J2
	 PD56ywxWGDZDmdFP8ucPOws8jAEoNnkhjb8me66RLkBrIb6tSEnB4Rv/oGm05tB744
	 XNYwLruM2QOuBCFnHC1lqkzytnSeQcI7LAwxg0OltAUlMyhb+wjg4xBbfVOypgOGv5
	 atZeUN0zKw4aTJFrb75iipjHBKlu5ThGaqwXioC4K31XM7XQnqpQTYl3VzudvvKGyu
	 N1I/SY0I39d/w==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
MIME-Version: 1.0
Message-ID: <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
From: Denis <tachyon_gun@web.de>
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>,
 xen-devel@lists.xenproject.org
Subject: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from Xen
 4.0.1
Content-Type: multipart/mixed;
 boundary=rehcsed-43214fbe-ed75-4212-bbbe-72788c4167ec
Date: Fri, 10 Mar 2023 21:50:09 +0100
Importance: normal
Sensitivity: Normal
In-Reply-To: <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
X-UI-Message-Type: mail
X-Priority: 3
X-Provags-ID: V03:K1:57k6mzFGSgkOL+u9RcYa98B4+iCNmTbw3yGkcH141BnSpkG4UtxobGo8JL2iJvFtcMaIg
 Jx7VhGTXwmZaYIMksHhLsAXNcC0NcxQ77X2OiasvIhvzptjFccm2piUpT8tBGdSpmMT91ZEEwOZh
 KTl9fcQGHKee2KD1gEVPt6XZ9xwYHy4NtLwrm1uQAU/cUUyrN5qjnaRNqXV03ikOVH1HIT0Tm23r
 nWVukHKswJYIfO7cDfSXG5CR4l2W+atOaO2ORR905v6UeKZCx9dnOuVm61EVZKodgCyUo3lUcoE8
 u8=
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:5LoIKhQ4gzs=;34hrCwEpk3jI3C9LiD7Y4i0plsb
 GbHTLu4Hk57G7PER3KPvt17A6VRRpyD37rCRwtzvyVRqHWEeADdDffgbANMT9jwezRYC2n60I
 y45rEEDy0ATy1hDfbovHKp46N9ygIF9IDGh6vptbqu8+1kqWggPZA50897zDqCSraZdsweigy
 ib27f1lVpbXPtxbsbKLpq35LqzcgMhS/v/sL19YJrAchxBz8lO7J5v0nmLC1WK+v71QT0CFR0
 k3MYbR3XJp6WUp1YtynB30MOTftvrFU9NimXxAgx0oHEcenkwVU6xwdaBKR18leqJj1KXdfnb
 tPNkU63W21NC0Gi8GPxuawEn9Q0bTxAOYAS1tK9eIXhvgTsydFCnxqCNWP0e7ObPSR49xMWoJ
 3dt4z73cqEOGDqXRypaPbd5+JFq54teP+UffTS/T6Dy+hyoq6373qfwL6qTRt9F1Gvk0Swpvx
 bYjrv4MYLuFXJKKb/ZAyISq1iAdoibhahtyHhOC+5ifLNKdDeVnNforLQBIUgmhEtcZm7o7Kz
 Dz8aOc5JY2zYC67ug9L+GTVqXZhmf9PtdQEvB0196X9oLLSM2BCsmQ43CTV4GVYMwZiZU0V7j
 bZkbATjZy45WAaoobvIi0+gMCQTKgph1kc+v7EDCJ1RNvTX5vCQ7E8ElhdXNf35vZGVIAtfXT
 1vPH16MuauHBKSyTwZy788/KuOZj1mBh+ZuVntww7DMO5vo7z+G7u91gRnfqXq3MtymMhpZQ6
 9xuViStYAnvhLkVczB955Nfuy2VFeY7gWc002WODIJov95hIXJq143TMVbvcs0tfUz0SxpVaJ
 /pCeh4WIF3yQ96LjNb1Tsr84fMQPABs9gUoWF4g6vJnPg=

--rehcsed-43214fbe-ed75-4212-bbbe-72788c4167ec
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 10=2E03=2E2023 09:51, Jan Beulich wrote:
> Betreff: Re: [help] Xen 4=2E14=2E5 on Devuan 4=2E0 Chimaera, regression =
from Xen 4=2E0=2E1
>
> On 09=2E03=2E2023 21:37, Andrew Cooper wrote:
> > On 09/03/2023 7:34 pm, tachyon_gun@web=2Ede wrote:
> >> Subject:
> >> [help] Xen 4=2E14=2E5 on Devuan 4=2E0 Chimaera
> >> From:
> >> tachyon_gun@web=2Ede
> >> Date:
> >> 09/03/2023, 7:34 pm
> >>
> >> To:
> >> xen-devel@lists=2Exenproject=2Eorg
> >>
> >>
> >> Hello=2E
> >>
> >> Following the advice of Andrew Cooper (thanks for helping out) over o=
n
> >> OFTC=2Enet in #xen, I'll post this here=2E
> >> If this is the wrong place, please move it to the right section of yo=
ur
> >> mailing lists=2E
> >> =C2=A0
> >> I got some problems running Xen 4=2E14=2E5 on Devuan 4=2E0=2E
> >> =C2=A0
> >> The=C2=A0AMD-Vi and I/O virtualisation are=C2=A0not being enabled whe=
n booting up
> >> the host system with Xen=2E
> >> =C2=A0
> >> Hardware used:
> >> Mainboard: Gigabyte GA-890FXA-UD5, BIOS=C2=A0version F6 (2010=2E11=2E=
24, the
> >> latest version)
> >> CPU:=C2=A0AMD Phenom=C2=A0II X4 910e
> >> Memory: 16GB
> >> Storage: 2TB Crucial MX500
> >> =C2=A0
> >> A short snippet of what I see when invoking "xl dmesg":
> >> =C2=A0
> >> (XEN) No southbridge IO-APIC found in IVRS table
> >> (XEN) AMD-Vi: Error initialization
> >> (XEN) I/O virtualisation disabled=C2=A0
> >> =C2=A0
> >> What I would like to see (taken from Xen=C2=A04=2E0=2E1 running on De=
bian
> >> Squeeze, in use since 2011):
> >> =C2=A0
> >> (XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23
> >> (XEN) Enabling APIC mode: =C2=A0Flat=2E =C2=A0Using 1 I/O APICs
> >> (XEN) Using scheduler: SMP Credit Scheduler (credit)
> >> (XEN) Detected 2611=2E936 MHz processor=2E
> >> (XEN) Initing memory sharing=2E
> >> (XEN) HVM: ASIDs enabled=2E
> >> (XEN) HVM: SVM enabled
> >> (XEN) HVM: Hardware Assisted Paging detected=2E
> >> (XEN) AMD-Vi: IOMMU 0 Enabled=2E
> >> (XEN) I/O virtualisation enabled
> >> =C2=A0
> >> My question would be if this is=C2=A0"normal" behaviour due to older =
hardware
> >> being used with newer versions of Xen (compared to the old 4=2E0=2E1)=
 or if
> >> this is=C2=A0a bug=2E
> >> If the latter, has this been addressed already in newer version (4=2E=
14+)?
>=20
> No, the code there is still the same=2E The commit introducing the check
> (06bbcaf48d09 ["AMD IOMMU: fail if there is no southbridge IO-APIC"])
> specifically provided for a workaround: "iommu=3Dno-intremap" on the Xen
> command line=2E Could you give this a try? (As per below this could be
> what we want to do "automatically" in such a situation, i=2Ee=2E without
> the need for a command line option=2E But you then still would face a
> perceived regression of interrupt remapping being disabled on such a
> system=2E)
>=20
> The other possible workaround, "iommu=3Dno-amd-iommu-perdev-intremap",
> is something I rather wouldn't want to recommend, but you may still
> want to give it a try=2E
=20
Thanks for your reply=2E

I added the lines you suggested and it seems that "AMD-Vi: IOMMU 0" and
"I/O virtualisation" is enabled again=2E

There are only minor differences in the "xl dmesg" output=2E
In the one with "iommu=3Dno-amd-iommu-perdev-intremap",=20
the line "No southbridge IO-APIC found in IVRS table" is listed=2E

Though I yet have to test a HVM domU with passthrough=2E

I'll attach the two "xl dmesg" files and a third one from the old version =
of Xen=2E

> >> I'll attach some log files (hypervisor=2Elog, dom0=2Elog, xl_info=2El=
og,
> >> lspci_vvv=2Elog, acpi=2Edmp, ivrs=2Edat, ivrs=2Edsl)=2E
> >> =C2=A0
> >> Thank you for your time=2E
> >=20
> > Let me braindump the investigation so far before I forget it=2E
> >=20
> > Xen requires that there is an IVRS special-device record describing an
> > IO-APIC 00:14=2E0=2E  This check failing is the source of the "No
> > southbridge" message, and the cause of the IOMMU(s) being turned off=
=2E
> >=20
> > The MADT and IVRS tables agree that there is one IO-APIC in the system=
,
> > but that's the northbridge IO-APIC, not the southbridge=2E
> >=20
> > The block diagram for the southbridge does have a PIC/IO-APIC as part =
of
> > the PCI bridge, so honestly I was expecting the MADT to describe 2
> > IO-APICs=2E  But OTOH, I could see this legitimately not existing in
> > configurations where the PCI bridge isn't in use=2E
> >=20
> > `xl dmesg` does have a few unknown irqs, so there might be something
> > down in the southbridge really generating interrupts=2E  Or there migh=
t be
> > a IRQ misconfiguration elsewhere, and this is just a red herring=2E
> >=20
> > However, a consequence of the northbridge and southbridge being separa=
te
> > chips means that all southbridge IO is fully encapsulated by the IOMMU
> > in the northbridge=2E
> >=20
> > So irrespective of whether there is ah IO-APIC operating properly in t=
he
> > southbridge, and whether or not it's properly described, I think Xen's
> > insistence that there must be an IVRS special-device entry for it is b=
ogus=2E
> >=20
> >=20
> > Furthermore, Xen's decisions are monumentally stupid=2E  It takes a
> > specifically safe (IOMMU-wise) system, and because it can't figure out=
 a
> > partial aspect of interrupt handling the southbridge, decided that the
> > system can't be safe (a false conclusion) and turns the IOMMU off full=
y
> > to compensate, which makes the system concretely less safe=2E

Also, thank you Andrew for bringing this in=2E

> So this touches once again the area of the fuzzy split between the IOMMU
> being disabled as a whole (meaning DMA+interrupt remapping off) vs only
> one of the two being off (where presently we are unable to turn off just
> DMA remapping)=2E Indeed the original Linux commit, which our change was
> inspired by, results in merely interrupt remapping getting turned off
> (afaict), and that hasn't changed=2E (Would be nice to have this confirm=
ed
> for the system in question, i=2Ee=2E without Xen underneath Linux=2E) It=
 would
> certainly be possible for us to do so too - it might be a one line chang=
e:
=20
Could you elaborate on that one?
Should I test something else?

> @@ =2E=2E=2E @@ static int __init cf_check parse_ivrs_table(struct
>      if ( !error && !sb_ioapic )
>      {
>          if ( amd_iommu_perdev_intremap )
> -            error =3D -ENXIO;
> +            iommu_intremap =3D false;
>          printk("%sNo southbridge IO-APIC found in IVRS table\n",
>                 amd_iommu_perdev_intremap ? XENLOG_ERR : XENLOG_WARNING)=
;
>      }
>=20
> but only if there aren't any earlier decisions that need undoing, and
> only if all subsequent code will properly honor that turning off of
> intremap=2E I'll try to get to doing the necessary audit some time next
> week=2E
=20
Denis
--rehcsed-43214fbe-ed75-4212-bbbe-72788c4167ec
Content-Type: application/octet-stream
Content-Disposition: attachment;
 filename="hypervisor_iommu=no-amd-iommu-perdev-intremap.log"

(XEN) Xen version 4.14.5 (Debian 4.14.5+86-g1c354767d5-1) (pkg-xen-devel@lists.alioth.debian.org) (x86_64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110) debug=n  Fri Nov  4 19:25:46 UTC 2022
(XEN) build-id: 888699a351d5cbf2705344205565dd20479f1b14
(XEN) Bootloader: GRUB 2.06-3~deb11u5
(XEN) Command line: placeholder dom0_mem=768M,max:768M iommu=no-amd-iommu-perdev-intremap iommu=debug loglvl=all guest_loglvl=all
(XEN) Xen image load base address: 0xcf400000
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) CPU Vendor: AMD, Family 16 (0x10), Model 4 (0x4), Stepping 3 (raw 00100f43)
(XEN) Xen-e820 RAM map:
(XEN)  [0000000000000000, 000000000009b7ff] (usable)
(XEN)  [000000000009f800, 000000000009ffff] (reserved)
(XEN)  [00000000000f0000, 00000000000fffff] (reserved)
(XEN)  [0000000000100000, 00000000cfceffff] (usable)
(XEN)  [00000000cfcf0000, 00000000cfcf0fff] (ACPI NVS)
(XEN)  [00000000cfcf1000, 00000000cfcfffff] (ACPI data)
(XEN)  [00000000cfd00000, 00000000cfdfffff] (reserved)
(XEN)  [00000000e0000000, 00000000efffffff] (reserved)
(XEN)  [00000000fec00000, 00000000ffffffff] (reserved)
(XEN)  [0000000100000000, 000000042fffffff] (usable)
(XEN) ACPI: RSDP 000F6100, 0014 (r0 GBT   )
(XEN) ACPI: RSDT CFCF1000, 0044 (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: FACP CFCF1080, 0074 (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: DSDT CFCF1100, 7BE3 (r1 GBT    GBTUACPI     1000 MSFT  3000000)
(XEN) ACPI: FACS CFCF0000, 0040
(XEN) ACPI: SSDT CFCF8DC0, 088C (r1 PTLTD  POWERNOW        1  LTP        1)
(XEN) ACPI: HPET CFCF9680, 0038 (r1 GBT    GBTUACPI 42302E31 GBTU       98)
(XEN) ACPI: MCFG CFCF96C0, 003C (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: MATS CFCF9700, 0034 (r1 GBT                    0             0)
(XEN) ACPI: TAMG CFCF9770, 0202 (r1 GBT    GBT   B0 5455312E BG 53450101)
(XEN) ACPI: APIC CFCF8D00, 00BC (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: IVRS CFCF99F0, 00C0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) System RAM: 16380MB (16773676kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000430000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000f46f0
(XEN) DMI 2.4 present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808 (32 bits)
(XEN) ACPI: SLEEP INFO: pm1x_cnt[1:804,1:0], pm1x_evt[1:800,1:0]
(XEN) ACPI:             wakeup_vec[cfcf000c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] disabled)
(XEN) ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x05] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x06] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x07] dfl dfl lint[0x1])
(XEN) ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
(XEN) ACPI: HPET id: 0x10b9a201 base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - ff
(XEN) PCI: MCFG area at e0000000 reserved in E820
(XEN) PCI: Using MCFG for segment 0000 bus 00-ff
(XEN) AMD-Vi: Found MSI capability block at 0x54
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 8 CPUs (4 hotplug CPUs)
(XEN) IRQ limits: 24 GSI, 808 MSI/MSI-X
(XEN) No SSBD controls available
(XEN) CPU0: 800 ... 2600 MHz
(XEN) CPU0: AMD Fam10h machine check reporting enabled
(XEN) Speculative mitigation facilities:
(XEN)   Hardware hints:
(XEN)   Hardware features:
(XEN)   Compiled-in support: INDIRECT_THUNK SHADOW_PAGING
(XEN)   Xen settings: BTI-Thunk RETPOLINE, SPEC_CTRL: No, Other: BRANCH_HARDEN
(XEN)   Support for HVM VMs: RSB
(XEN)   Support for PV VMs: RSB
(XEN)   XPTI (64-bit PV only): Dom0 disabled, DomU disabled (without PCID)
(XEN)   PV L1TF shadowing: Dom0 disabled, DomU disabled
(XEN) Using scheduler: SMP Credit Scheduler rev2 (credit2)
(XEN) Initializing Credit2 scheduler
(XEN)  load_precision_shift: 18
(XEN)  load_window_shift: 30
(XEN)  underload_balance_tolerance: 0
(XEN)  overload_balance_tolerance: -3
(XEN)  runqueues arrangement: socket
(XEN)  cap enforcement granularity: 10ms
(XEN) load tracking window length 1073741824 ns
(XEN) Platform timer is 14.318MHz HPET
(XEN) Detected 2611.821 MHz processor.
(XEN) alt table ffff82d040451290 -> ffff82d04045c334
(XEN) AMD-Vi: IVRS Block: Found type 0x10 flags 0x3e len 0x90 id 0x2
(XEN) AMD-Vi: Using IVHD type 0x10
(XEN) AMD-Vi: ACPI Table:
(XEN) AMD-Vi:  Signature IVRS
(XEN) AMD-Vi:  Length 0xc0
(XEN) AMD-Vi:  Revision 0x1
(XEN) AMD-Vi:  CheckSum 0xac
(XEN) AMD-Vi:  OEM_Id AMD
(XEN) AMD-Vi:  OEM_Table_Id RD890S
(XEN) AMD-Vi:  OEM_Revision 0x202031
(XEN) AMD-Vi:  Creator_Id AMD
(XEN) AMD-Vi:  Creator_Revision 0
(XEN) AMD-Vi: IVRS Block: type 0x10 flags 0x3e len 0x90 id 0x2
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0 -> 0x2
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x10 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x100 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x100 -> 0x101
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x28 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x30 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x38 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x400 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x68 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x500 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x500 -> 0x503
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x88 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x90 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x90 -> 0x92
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x98 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x98 -> 0x9a
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa0 flags 0xd7
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa3 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa4 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x43 id 0x600 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x600 -> 0x6ff alias 0xa4
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa5 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0xb0 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0xb0 -> 0xb2
(XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0 flags 0xd7
(XEN) AMD-Vi: IVHD Special: 0000:00:14.0 variety 0x2 handle 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0 flags 0
(XEN) AMD-Vi: IVHD Special: 0000:00:00.1 variety 0x1 handle 0x8
(XEN) No southbridge IO-APIC found in IVRS table
(XEN) AMD-Vi: Disabled HAP memory map sharing with IOMMU
(XEN) AMD-Vi: using 256-entry cmd ring(s)
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) AMD-Vi: Using global interrupt remap table is not recommended (see XSA-36)!
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) Interrupt remapping enabled
(XEN) nr_sockets: 2
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Allocated console ring of 32 KiB.
(XEN) mwait-idle: does not run on family 16 model 4
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) alt table ffff82d040451290 -> ffff82d04045c334
(XEN) CPU1: No irq handler for vector 27 (IRQ -2147483648)
(XEN) CPU2: No irq handler for vector 27 (IRQ -2147483648)
(XEN) Brought up 4 CPUs
(XEN) CPU3: No irq handler for vector 27 (IRQ -2147483648)
(XEN) Scheduling granularity: cpu, 1 CPU per sched-resource
(XEN) Adding cpu 0 to runqueue 0
(XEN)  First cpu on runqueue, activating
(XEN) Adding cpu 1 to runqueue 0
(XEN) Adding cpu 2 to runqueue 0
(XEN) Adding cpu 3 to runqueue 0
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: AMD IBS detected (0x1f)
(XEN) HPET: 0 timers usable for broadcast (3 total)
(XEN) NX (Execute Disable) protection active
(XEN) Dom0 has maximum 648 PIRQs
(XEN) *** Building a PV Dom0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x3a00000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000418000000->000000041c000000 (172699 pages to be allocated)
(XEN)  Init. ramdisk: 000000042e29b000->000000042ffff6a4
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff83a00000
(XEN)  Init. ramdisk: 0000000000000000->0000000000000000
(XEN)  Phys-Mach map: 0000008000000000->0000008000180000
(XEN)  Start info:    ffffffff83a00000->ffffffff83a004b8
(XEN)  Xenstore ring: 0000000000000000->0000000000000000
(XEN)  Console ring:  0000000000000000->0000000000000000
(XEN)  Page tables:   ffffffff83a01000->ffffffff83a22000
(XEN)  Boot stack:    ffffffff83a22000->ffffffff83a23000
(XEN)  TOTAL:         ffffffff80000000->ffffffff83c00000
(XEN)  ENTRY ADDRESS: ffffffff82c3d1c0
(XEN) Dom0 has maximum 4 VCPUs
(XEN) AMD-Vi: Setup I/O page table: device id = 0, type = 0x6, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x10, type = 0x2, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x28, type = 0x2, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x30, type = 0x2, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x38, type = 0x2, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x68, type = 0x2, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x88, type = 0x7, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x90, type = 0x7, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x92, type = 0x7, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x98, type = 0x7, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x9a, type = 0x7, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa0, type = 0x7, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa3, type = 0x7, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa4, type = 0x5, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa5, type = 0x7, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xb0, type = 0x7, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xb2, type = 0x7, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.0
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.1
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.2
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.3
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.4
(XEN) AMD-Vi: Setup I/O page table: device id = 0x100, type = 0x1, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x101, type = 0x1, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x400, type = 0x1, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x500, type = 0x1, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x501, type = 0x1, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x502, type = 0x1, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x503, type = 0x1, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa4, type = 0x7, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa4, type = 0x7, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa4, type = 0x7, root table = 0x42e218000, domain = 0, paging mode = 3
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Scrubbing Free RAM in background
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
(XEN) Freed 612kB init memory
(XEN) PCI add device 0000:00:00.0
(XEN) PCI add device 0000:00:00.2
(XEN) PCI add device 0000:00:02.0
(XEN) PCI add device 0000:00:05.0
(XEN) PCI add device 0000:00:06.0
(XEN) PCI add device 0000:00:07.0
(XEN) PCI add device 0000:00:0d.0
(XEN) PCI add device 0000:00:11.0
(XEN) PCI add device 0000:00:12.0
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.0
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:14.0
(XEN) PCI add device 0000:00:14.3
(XEN) PCI add device 0000:00:14.4
(XEN) PCI add device 0000:00:14.5
(XEN) PCI add device 0000:00:16.0
(XEN) PCI add device 0000:00:16.2
(XEN) PCI add device 0000:00:18.0
(XEN) PCI add device 0000:00:18.1
(XEN) PCI add device 0000:00:18.2
(XEN) PCI add device 0000:00:18.3
(XEN) PCI add device 0000:00:18.4
(XEN) PCI add device 0000:01:00.0
(XEN) PCI add device 0000:01:00.1
(XEN) PCI add device 0000:04:00.0
(XEN) PCI add device 0000:05:00.0
(XEN) PCI add device 0000:05:00.1
(XEN) PCI add device 0000:05:00.2
(XEN) PCI add device 0000:05:00.3
(XEN) PCI add device 0000:06:06.0
(XEN) PCI add device 0000:06:06.1
(XEN) PCI add device 0000:06:06.2
--rehcsed-43214fbe-ed75-4212-bbbe-72788c4167ec
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="hypervisor_iommu=no-intremap.log"

(XEN) Xen version 4.14.5 (Debian 4.14.5+86-g1c354767d5-1) (pkg-xen-devel@lists.alioth.debian.org) (x86_64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110) debug=n  Fri Nov  4 19:25:46 UTC 2022
(XEN) build-id: 888699a351d5cbf2705344205565dd20479f1b14
(XEN) Bootloader: GRUB 2.06-3~deb11u5
(XEN) Command line: placeholder dom0_mem=768M,max:768M iommu=no-intremap iommu=debug loglvl=all guest_loglvl=all
(XEN) Xen image load base address: 0xcf400000
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) CPU Vendor: AMD, Family 16 (0x10), Model 4 (0x4), Stepping 3 (raw 00100f43)
(XEN) Xen-e820 RAM map:
(XEN)  [0000000000000000, 000000000009b7ff] (usable)
(XEN)  [000000000009f800, 000000000009ffff] (reserved)
(XEN)  [00000000000f0000, 00000000000fffff] (reserved)
(XEN)  [0000000000100000, 00000000cfceffff] (usable)
(XEN)  [00000000cfcf0000, 00000000cfcf0fff] (ACPI NVS)
(XEN)  [00000000cfcf1000, 00000000cfcfffff] (ACPI data)
(XEN)  [00000000cfd00000, 00000000cfdfffff] (reserved)
(XEN)  [00000000e0000000, 00000000efffffff] (reserved)
(XEN)  [00000000fec00000, 00000000ffffffff] (reserved)
(XEN)  [0000000100000000, 000000042fffffff] (usable)
(XEN) ACPI: RSDP 000F6100, 0014 (r0 GBT   )
(XEN) ACPI: RSDT CFCF1000, 0044 (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: FACP CFCF1080, 0074 (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: DSDT CFCF1100, 7BE3 (r1 GBT    GBTUACPI     1000 MSFT  3000000)
(XEN) ACPI: FACS CFCF0000, 0040
(XEN) ACPI: SSDT CFCF8DC0, 088C (r1 PTLTD  POWERNOW        1  LTP        1)
(XEN) ACPI: HPET CFCF9680, 0038 (r1 GBT    GBTUACPI 42302E31 GBTU       98)
(XEN) ACPI: MCFG CFCF96C0, 003C (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: MATS CFCF9700, 0034 (r1 GBT                    0             0)
(XEN) ACPI: TAMG CFCF9770, 0202 (r1 GBT    GBT   B0 5455312E BG 53450101)
(XEN) ACPI: APIC CFCF8D00, 00BC (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: IVRS CFCF99F0, 00C0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) System RAM: 16380MB (16773676kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000430000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000f46f0
(XEN) DMI 2.4 present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808 (32 bits)
(XEN) ACPI: SLEEP INFO: pm1x_cnt[1:804,1:0], pm1x_evt[1:800,1:0]
(XEN) ACPI:             wakeup_vec[cfcf000c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] disabled)
(XEN) ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x05] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x06] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x07] dfl dfl lint[0x1])
(XEN) ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
(XEN) ACPI: HPET id: 0x10b9a201 base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - ff
(XEN) PCI: MCFG area at e0000000 reserved in E820
(XEN) PCI: Using MCFG for segment 0000 bus 00-ff
(XEN) AMD-Vi: Found MSI capability block at 0x54
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 8 CPUs (4 hotplug CPUs)
(XEN) IRQ limits: 24 GSI, 808 MSI/MSI-X
(XEN) No SSBD controls available
(XEN) CPU0: 800 ... 2600 MHz
(XEN) CPU0: AMD Fam10h machine check reporting enabled
(XEN) Speculative mitigation facilities:
(XEN)   Hardware hints:
(XEN)   Hardware features:
(XEN)   Compiled-in support: INDIRECT_THUNK SHADOW_PAGING
(XEN)   Xen settings: BTI-Thunk RETPOLINE, SPEC_CTRL: No, Other: BRANCH_HARDEN
(XEN)   Support for HVM VMs: RSB
(XEN)   Support for PV VMs: RSB
(XEN)   XPTI (64-bit PV only): Dom0 disabled, DomU disabled (without PCID)
(XEN)   PV L1TF shadowing: Dom0 disabled, DomU disabled
(XEN) Using scheduler: SMP Credit Scheduler rev2 (credit2)
(XEN) Initializing Credit2 scheduler
(XEN)  load_precision_shift: 18
(XEN)  load_window_shift: 30
(XEN)  underload_balance_tolerance: 0
(XEN)  overload_balance_tolerance: -3
(XEN)  runqueues arrangement: socket
(XEN)  cap enforcement granularity: 10ms
(XEN) load tracking window length 1073741824 ns
(XEN) Platform timer is 14.318MHz HPET
(XEN) Detected 2611.810 MHz processor.
(XEN) alt table ffff82d040451290 -> ffff82d04045c334
(XEN) AMD-Vi: IVRS Block: Found type 0x10 flags 0x3e len 0x90 id 0x2
(XEN) AMD-Vi: Using IVHD type 0x10
(XEN) AMD-Vi: ACPI Table:
(XEN) AMD-Vi:  Signature IVRS
(XEN) AMD-Vi:  Length 0xc0
(XEN) AMD-Vi:  Revision 0x1
(XEN) AMD-Vi:  CheckSum 0xac
(XEN) AMD-Vi:  OEM_Id AMD
(XEN) AMD-Vi:  OEM_Table_Id RD890S
(XEN) AMD-Vi:  OEM_Revision 0x202031
(XEN) AMD-Vi:  Creator_Id AMD
(XEN) AMD-Vi:  Creator_Revision 0
(XEN) AMD-Vi: IVRS Block: type 0x10 flags 0x3e len 0x90 id 0x2
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0 -> 0x2
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x10 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x100 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x100 -> 0x101
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x28 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x30 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x38 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x400 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x68 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x500 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x500 -> 0x503
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x88 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x90 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x90 -> 0x92
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x98 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x98 -> 0x9a
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa0 flags 0xd7
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa3 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa4 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x43 id 0x600 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x600 -> 0x6ff alias 0xa4
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa5 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0xb0 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0xb0 -> 0xb2
(XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0 flags 0xd7
(XEN) AMD-Vi: IVHD Special: 0000:00:14.0 variety 0x2 handle 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0 flags 0
(XEN) AMD-Vi: IVHD Special: 0000:00:00.1 variety 0x1 handle 0x8
(XEN) AMD-Vi: Disabled HAP memory map sharing with IOMMU
(XEN) AMD-Vi: using 256-entry cmd ring(s)
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) Interrupt remapping disabled
(XEN) nr_sockets: 2
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) Allocated console ring of 32 KiB.
(XEN) mwait-idle: does not run on family 16 model 4
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) alt table ffff82d040451290 -> ffff82d04045c334
(XEN) CPU1: No irq handler for vector 27 (IRQ -2147483648)
(XEN) CPU2: No irq handler for vector 27 (IRQ -2147483648)
(XEN) Brought up 4 CPUs
(XEN) CPU3: No irq handler for vector 27 (IRQ -2147483648)
(XEN) Scheduling granularity: cpu, 1 CPU per sched-resource
(XEN) Adding cpu 0 to runqueue 0
(XEN)  First cpu on runqueue, activating
(XEN) Adding cpu 1 to runqueue 0
(XEN) Adding cpu 2 to runqueue 0
(XEN) Adding cpu 3 to runqueue 0
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: AMD IBS detected (0x1f)
(XEN) HPET: 0 timers usable for broadcast (3 total)
(XEN) NX (Execute Disable) protection active
(XEN) Dom0 has maximum 648 PIRQs
(XEN) *** Building a PV Dom0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x3a00000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000418000000->000000041c000000 (172699 pages to be allocated)
(XEN)  Init. ramdisk: 000000042e29b000->000000042ffff6a4
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff83a00000
(XEN)  Init. ramdisk: 0000000000000000->0000000000000000
(XEN)  Phys-Mach map: 0000008000000000->0000008000180000
(XEN)  Start info:    ffffffff83a00000->ffffffff83a004b8
(XEN)  Xenstore ring: 0000000000000000->0000000000000000
(XEN)  Console ring:  0000000000000000->0000000000000000
(XEN)  Page tables:   ffffffff83a01000->ffffffff83a22000
(XEN)  Boot stack:    ffffffff83a22000->ffffffff83a23000
(XEN)  TOTAL:         ffffffff80000000->ffffffff83c00000
(XEN)  ENTRY ADDRESS: ffffffff82c3d1c0
(XEN) Dom0 has maximum 4 VCPUs
(XEN) AMD-Vi: Setup I/O page table: device id = 0, type = 0x6, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x10, type = 0x2, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x28, type = 0x2, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x30, type = 0x2, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x38, type = 0x2, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x68, type = 0x2, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x88, type = 0x7, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x90, type = 0x7, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x92, type = 0x7, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x98, type = 0x7, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x9a, type = 0x7, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa0, type = 0x7, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa3, type = 0x7, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa4, type = 0x5, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa5, type = 0x7, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xb0, type = 0x7, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xb2, type = 0x7, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.0
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.1
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.2
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.3
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.4
(XEN) AMD-Vi: Setup I/O page table: device id = 0x100, type = 0x1, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x101, type = 0x1, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x400, type = 0x1, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x500, type = 0x1, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x501, type = 0x1, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x502, type = 0x1, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x503, type = 0x1, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa4, type = 0x7, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa4, type = 0x7, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa4, type = 0x7, root table = 0x42e21a000, domain = 0, paging mode = 3
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Scrubbing Free RAM in background
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
(XEN) Freed 612kB init memory
(XEN) PCI add device 0000:00:00.0
(XEN) PCI add device 0000:00:00.2
(XEN) PCI add device 0000:00:02.0
(XEN) PCI add device 0000:00:05.0
(XEN) PCI add device 0000:00:06.0
(XEN) PCI add device 0000:00:07.0
(XEN) PCI add device 0000:00:0d.0
(XEN) PCI add device 0000:00:11.0
(XEN) PCI add device 0000:00:12.0
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.0
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:14.0
(XEN) PCI add device 0000:00:14.3
(XEN) PCI add device 0000:00:14.4
(XEN) PCI add device 0000:00:14.5
(XEN) PCI add device 0000:00:16.0
(XEN) PCI add device 0000:00:16.2
(XEN) PCI add device 0000:00:18.0
(XEN) PCI add device 0000:00:18.1
(XEN) PCI add device 0000:00:18.2
(XEN) PCI add device 0000:00:18.3
(XEN) PCI add device 0000:00:18.4
(XEN) PCI add device 0000:01:00.0
(XEN) PCI add device 0000:01:00.1
(XEN) PCI add device 0000:04:00.0
(XEN) PCI add device 0000:05:00.0
(XEN) PCI add device 0000:05:00.1
(XEN) PCI add device 0000:05:00.2
(XEN) PCI add device 0000:05:00.3
(XEN) PCI add device 0000:06:06.0
(XEN) PCI add device 0000:06:06.1
(XEN) PCI add device 0000:06:06.2
--rehcsed-43214fbe-ed75-4212-bbbe-72788c4167ec
Content-Type: application/octet-stream
Content-Disposition: attachment;
 filename="hypervisor_old_xen_iommu=debug_loglvl=all_guest_loglvl=all.log"

(XEN) Xen version 4.0.1 (Debian 4.0.1-2) (waldi@debian.org) (gcc version 4.4.5 (Debian 4.4.5-10) ) Wed Jan 12 14:04:06 UTC 2011
(XEN) Bootloader: GRUB 1.98+20100804-14
(XEN) Command line: placeholder dom0_mem=768M,max:768M iommu=debug loglvl=all guest_loglvl=all
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 2 MBR signatures
(XEN)  Found 2 EDD information structures
(XEN) Xen-e820 RAM map:
(XEN)  0000000000000000 - 000000000009a000 (usable)
(XEN)  000000000009f800 - 00000000000a0000 (reserved)
(XEN)  00000000000f0000 - 0000000000100000 (reserved)
(XEN)  0000000000100000 - 00000000cfcf0000 (usable)
(XEN)  00000000cfcf0000 - 00000000cfcf1000 (ACPI NVS)
(XEN)  00000000cfcf1000 - 00000000cfd00000 (ACPI data)
(XEN)  00000000cfd00000 - 00000000cfe00000 (reserved)
(XEN)  00000000e0000000 - 00000000f0000000 (reserved)
(XEN)  00000000fec00000 - 0000000100000000 (reserved)
(XEN)  0000000100000000 - 0000000430000000 (usable)
(XEN) ACPI: RSDP 000F6100, 0014 (r0 GBT   )
(XEN) ACPI: RSDT CFCF1000, 0044 (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: FACP CFCF1080, 0074 (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: DSDT CFCF1100, 7BE3 (r1 GBT    GBTUACPI     1000 MSFT  3000000)
(XEN) ACPI: FACS CFCF0000, 0040
(XEN) ACPI: SSDT CFCF8DC0, 088C (r1 PTLTD  POWERNOW        1  LTP        1)
(XEN) ACPI: HPET CFCF9680, 0038 (r1 GBT    GBTUACPI 42302E31 GBTU       98)
(XEN) ACPI: MCFG CFCF96C0, 003C (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: MATS CFCF9700, 0034 (r1 GBT                    0             0)
(XEN) ACPI: TAMG CFCF9770, 0202 (r1 GBT    GBT   B0 5455312E BG 53450101)
(XEN) ACPI: APIC CFCF8D00, 00BC (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: IVRS CFCF99F0, 00C0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) System RAM: 16380MB (16773672kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000430000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000f46f0
(XEN) DMI 2.4 present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808
(XEN) ACPI: ACPI SLEEP INFO: pm1x_cnt[804,0], pm1x_evt[800,0]
(XEN) ACPI:                  wakeup_vec[cfcf000c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
(XEN) Processor #0 0:4 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
(XEN) Processor #1 0:4 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
(XEN) Processor #2 0:4 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled)
(XEN) Processor #3 0:4 APIC version 16
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] disabled)
(XEN) ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x05] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x06] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x07] dfl dfl lint[0x1])
(XEN) ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
(XEN) ACPI: HPET id: 0x10b9a201 base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0 buses 0 - 255
(XEN) PCI: MCFG area at e0000000 reserved in E820
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) Using scheduler: SMP Credit Scheduler (credit)
(XEN) Detected 2611.858 MHz processor.
(XEN) Initing memory sharing.
(XEN) HVM: ASIDs enabled.
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging detected.
(XEN) AMD Fam10h machine check reporting enabled
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) Total of 4 processors activated.
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) TSC is reliable, synchronization unnecessary
(XEN) Platform timer appears to have unexpectedly wrapped 10 or more times.
(XEN) Platform timer is 14.318MHz HPET
(XEN) Allocated console ring of 32 KiB.
(XEN) do_IRQ: 1.231 No irq handler for vector (irq -1)
(XEN) Brought up 4 CPUs
(XEN) microcode.c:73:d32767 microcode: CPU1 resumed
(XEN) do_IRQ: 2.231 No irq handler for vector (irq -1)
(XEN) do_IRQ: 3.231 No irq handler for vector (irq -1)
(XEN) microcode.c:73:d32767 microcode: CPU2 resumed
(XEN) HPET's MSI mode hasn't been supported when Interrupt Remapping is enabled.
(XEN) microcode.c:73:d32767 microcode: CPU3 resumed
(XEN) ACPI sleep modes: S3
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) *** LOADING DOMAIN 0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x1706000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000420000000->0000000424000000 (180224 pages to be allocated)
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff81706000
(XEN)  Init. ramdisk: ffffffff81706000->ffffffff833dc600
(XEN)  Phys-Mach map: ffffffff833dd000->ffffffff8355d000
(XEN)  Start info:    ffffffff8355d000->ffffffff8355d4b4
(XEN)  Page tables:   ffffffff8355e000->ffffffff8357d000
(XEN)  Boot stack:    ffffffff8357d000->ffffffff8357e000
(XEN)  TOTAL:         ffffffff80000000->ffffffff83800000
(XEN)  ENTRY ADDRESS: ffffffff8152f200
(XEN) Dom0 has maximum 4 VCPUs
(XEN) Scrubbing Free RAM: ..........................................................................................................................................................done.
(XEN) trace.c:89:d32767 calc_tinfo_first_offset: NR_CPUs 128, offset_in_bytes 258, t_info_first_offset 65
(XEN) Xen trace buffers: disabled
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen)
(XEN) Freed 176kB init memory.
(XEN) traps.c:2308:d0 Domain attempted WRMSR 00000000c0010004 from 00003fe1:84091c70 to 00000000:00000000.
(XEN) traps.c:2308:d0 Domain attempted WRMSR 00000000c0010000 from 00000103:888f741f to 00000000:00430076.
(XEN) traps.c:2308:d0 Domain attempted WRMSR 00000000c0010048 from 00000000:00780000 to 00000000:00780400.
(XEN) traps.c:2308:d0 Domain attempted WRMSR 00000000c0010048 from 00000000:00780000 to 00000000:00780400.
(XEN) traps.c:2308:d0 Domain attempted WRMSR 00000000c0010048 from 00000000:00780000 to 00000000:00780400.
(XEN) traps.c:2308:d0 Domain attempted WRMSR 00000000c0010048 from 00000000:00780000 to 00000000:00780400.
(XEN) PCI add device 00:00.0
(XEN) PCI add device 00:00.2
(XEN) PCI add device 00:02.0
(XEN) PCI add device 00:05.0
(XEN) PCI add device 00:06.0
(XEN) PCI add device 00:07.0
(XEN) PCI add device 00:0d.0
(XEN) PCI add device 00:11.0
(XEN) PCI add device 00:12.0
(XEN) PCI add device 00:12.2
(XEN) PCI add device 00:13.0
(XEN) PCI add device 00:13.2
(XEN) PCI add device 00:14.0
(XEN) PCI add device 00:14.3
(XEN) PCI add device 00:14.4
(XEN) PCI add device 00:14.5
(XEN) PCI add device 00:16.0
(XEN) PCI add device 00:16.2
(XEN) PCI add device 00:18.0
(XEN) PCI add device 00:18.1
(XEN) PCI add device 00:18.2
(XEN) PCI add device 00:18.3
(XEN) PCI add device 00:18.4
(XEN) PCI add device 01:00.0
(XEN) PCI add device 01:00.1
(XEN) PCI add device 04:00.0
(XEN) PCI add device 05:00.0
(XEN) PCI add device 05:00.1
(XEN) PCI add device 05:00.2
(XEN) PCI add device 05:00.3
(XEN) PCI add device 06:06.0
(XEN) PCI add device 06:06.1
(XEN) PCI add device 06:06.2
--rehcsed-43214fbe-ed75-4212-bbbe-72788c4167ec--



From xen-devel-bounces@lists.xenproject.org Fri Mar 10 21:53:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 21:53:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508612.783435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pakfh-0002xk-Sc; Fri, 10 Mar 2023 21:53:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508612.783435; Fri, 10 Mar 2023 21:53:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pakfh-0002xd-Ps; Fri, 10 Mar 2023 21:53:05 +0000
Received: by outflank-mailman (input) for mailman id 508612;
 Fri, 10 Mar 2023 21:53:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=zw8I=7C=intel.com=lkp@srs-se1.protection.inumbo.net>)
 id 1pakff-0002xX-UH
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 21:53:04 +0000
Received: from mga04.intel.com (mga04.intel.com [192.55.52.120])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e96e50c0-bf8d-11ed-956e-85ef70e17bfa;
 Fri, 10 Mar 2023 22:52:57 +0100 (CET)
Received: from orsmga002.jf.intel.com ([10.7.209.21])
 by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 10 Mar 2023 13:52:36 -0800
Received: from lkp-server01.sh.intel.com (HELO b613635ddfff) ([10.239.97.150])
 by orsmga002.jf.intel.com with ESMTP; 10 Mar 2023 13:52:29 -0800
Received: from kbuild by b613635ddfff with local (Exim 4.96)
 (envelope-from <lkp@intel.com>) id 1pakf7-000471-0G;
 Fri, 10 Mar 2023 21:52:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e96e50c0-bf8d-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678485177; x=1710021177;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=9ZQRLQu84HAORpFHSfVd3rSzKA87bHH+2cYOQb+pAc8=;
  b=Ya3/s0ucjYXGgtwhAqmxACDcyT0zI7iwBVHZFOWculbwDi2Gr6rjjP5K
   MVE1eHPNlITIg0kI37ZQuvIJtz3O+/rm8n3wA9NXxR8q047qUtFsO8SPx
   6czN0IgT1F7SbbLLBJwrUzAW8NjIpNEIHbfn+D8ie9A9nDRTz9ILFklAn
   CyCJoGfMRiwUnLpzoaVCj6FmPN8ENflqFcWoySxIUmoOTuLdZyI4qw1Ll
   Soai/6/BaD895TmOVQKLXqUr/zA8Ymc+YaAXFOCt1QGU/PI3MJrnWylBI
   M8pJbSMnSdnFxfK7b8weVqLmpWy46O4X217KTEyl0vo8NR+ZT13Xx+dcz
   g==;
X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="335534011"
X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; 
   d="scan'208";a="335534011"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10645"; a="677977037"
X-IronPort-AV: E=Sophos;i="5.98,250,1673942400"; 
   d="scan'208";a="677977037"
Date: Sat, 11 Mar 2023 05:51:50 +0800
From: kernel test robot <lkp@intel.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	=?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org
Cc: oe-kbuild-all@lists.linux.dev, Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>
Subject: Re: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
Message-ID: <202303110550.BLo6P5dS-lkp@intel.com>
References: <20230310171416.23356-2-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230310171416.23356-2-andriy.shevchenko@linux.intel.com>

Hi Andy,

I love your patch! Yet something to improve:

[auto build test ERROR on pci/next]
[also build test ERROR on pci/for-linus powerpc/next powerpc/fixes linus/master v6.3-rc1 next-20230310]
[cannot apply to soc/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/PCI-Introduce-pci_dev_for_each_resource/20230311-011642
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link:    https://lore.kernel.org/r/20230310171416.23356-2-andriy.shevchenko%40linux.intel.com
patch subject: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
config: m68k-allyesconfig (https://download.01.org/0day-ci/archive/20230311/202303110550.BLo6P5dS-lkp@intel.com/config)
compiler: m68k-linux-gcc (GCC) 12.1.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/059b4a086017fbf2baacdbe0cc454f569f618ffd
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Andy-Shevchenko/PCI-Introduce-pci_dev_for_each_resource/20230311-011642
        git checkout 059b4a086017fbf2baacdbe0cc454f569f618ffd
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=m68k SHELL=/bin/bash drivers/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303110550.BLo6P5dS-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/pnp/quirks.c: In function 'quirk_system_pci_resources':
>> drivers/pnp/quirks.c:245:17: error: implicit declaration of function 'pci_dev_for_each_resource' [-Werror=implicit-function-declaration]
     245 |                 pci_dev_for_each_resource(pdev, r, i) {
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/pnp/quirks.c:245:54: error: expected ';' before '{' token
     245 |                 pci_dev_for_each_resource(pdev, r, i) {
         |                                                      ^~
         |                                                      ;
   drivers/pnp/quirks.c:233:16: warning: unused variable 'j' [-Wunused-variable]
     233 |         int i, j;
         |                ^
   drivers/pnp/quirks.c:232:26: warning: unused variable 'res' [-Wunused-variable]
     232 |         struct resource *res, *r;
         |                          ^~~
   cc1: some warnings being treated as errors


vim +/pci_dev_for_each_resource +245 drivers/pnp/quirks.c

   228	
   229	static void quirk_system_pci_resources(struct pnp_dev *dev)
   230	{
   231		struct pci_dev *pdev = NULL;
   232		struct resource *res, *r;
   233		int i, j;
   234	
   235		/*
   236		 * Some BIOSes have PNP motherboard devices with resources that
   237		 * partially overlap PCI BARs.  The PNP system driver claims these
   238		 * motherboard resources, which prevents the normal PCI driver from
   239		 * requesting them later.
   240		 *
   241		 * This patch disables the PNP resources that conflict with PCI BARs
   242		 * so they won't be claimed by the PNP system driver.
   243		 */
   244		for_each_pci_dev(pdev) {
 > 245			pci_dev_for_each_resource(pdev, r, i) {
   246				unsigned long type = resource_type(r);
   247	
   248				if (type != IORESOURCE_IO || type != IORESOURCE_MEM ||
   249				    resource_size(r) == 0)
   250					continue;
   251	
   252				if (r->flags & IORESOURCE_UNSET)
   253					continue;
   254	
   255				for (j = 0;
   256				     (res = pnp_get_resource(dev, type, j)); j++) {
   257					if (res->start == 0 && res->end == 0)
   258						continue;
   259	
   260					/*
   261					 * If the PNP region doesn't overlap the PCI
   262					 * region at all, there's no problem.
   263					 */
   264					if (!resource_overlaps(res, r))
   265						continue;
   266	
   267					/*
   268					 * If the PNP region completely encloses (or is
   269					 * at least as large as) the PCI region, that's
   270					 * also OK.  For example, this happens when the
   271					 * PNP device describes a bridge with PCI
   272					 * behind it.
   273					 */
   274					if (res->start <= r->start && res->end >= r->end)
   275						continue;
   276	
   277					/*
   278					 * Otherwise, the PNP region overlaps *part* of
   279					 * the PCI region, and that might prevent a PCI
   280					 * driver from requesting its resources.
   281					 */
   282					dev_warn(&dev->dev,
   283						 "disabling %pR because it overlaps %s BAR %d %pR\n",
   284						 res, pci_name(pdev), i, r);
   285					res->flags |= IORESOURCE_DISABLED;
   286				}
   287			}
   288		}
   289	}
   290	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests


From xen-devel-bounces@lists.xenproject.org Fri Mar 10 22:15:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Mar 2023 22:15:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508615.783445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pal1g-0005yZ-Mx; Fri, 10 Mar 2023 22:15:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508615.783445; Fri, 10 Mar 2023 22:15: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 1pal1g-0005yS-KJ; Fri, 10 Mar 2023 22:15:48 +0000
Received: by outflank-mailman (input) for mailman id 508615;
 Fri, 10 Mar 2023 22:15: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=hZM8=7C=kernel.org=kbusch@srs-se1.protection.inumbo.net>)
 id 1pal1e-0005yM-VB
 for xen-devel@lists.xenproject.org; Fri, 10 Mar 2023 22:15: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 1a9bce6a-bf91-11ed-87f5-c1b5be75604c;
 Fri, 10 Mar 2023 23:15:45 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id BDC6BB82428;
 Fri, 10 Mar 2023 22:15:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 749CFC433EF;
 Fri, 10 Mar 2023 22:15: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: 1a9bce6a-bf91-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678486543;
	bh=DBl3XYhVnPnvHREV6khsX0zced8HUvT1CffAKeLd3Ro=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=OfS4jME/FTj7znUmYf295mHvCJSGHW15meDAWvWzrPF00ribhkkR54Qzq1xN8JWLo
	 4ifTzybHNa9ZODC6VxC42vmMGTVR8rpuWOM6tKK420xu8RHuuxnRruXC7YKzvCsgbR
	 u/3W/J52kt+Sw35gEY+GHE+yc90z2JKYQ8ziYt9KjcC+XD8bNVo3dAsYq1L9Dq9Z0P
	 F78mqifIRtEWY9l2xPq1eww1JPlj0DytsnzKq9XlcZ3XWB4shMaJ1Gp356DNbpjhAm
	 fT6kd6cAHwWNZ9v/mPpirze0bthx/rOXMwvra8reVtn+1Ve3YO1CPCN4cOH1gbnOxg
	 +A+CV4nR0FY6w==
Date: Fri, 10 Mar 2023 15:15:38 -0700
From: Keith Busch <kbusch@kernel.org>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
Message-ID: <ZAusCnLSXeEcpQs+@kbusch-mbp.dhcp.thefacebook.com>
References: <20230310171416.23356-1-andriy.shevchenko@linux.intel.com>
 <20230310171416.23356-2-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230310171416.23356-2-andriy.shevchenko@linux.intel.com>

On Fri, Mar 10, 2023 at 07:14:13PM +0200, Andy Shevchenko wrote:
> +#define __pci_dev_for_each_resource(dev, res, __i, vartype)		\
> +	for (vartype __i = 0;						\
> +		res = &(dev)->resource[__i], __i < PCI_NUM_RESOURCES;	\
> +		__i++)

...

> +#define pci_dev_for_each_resource_p(dev, res)				\
> +	__pci_dev_for_each_resource(dev, res, i, unsigned int)

It looks dangerous to have a macro declare a variable when starting a new
scope. How do you know the name 'i' won't clash with something defined above?


From xen-devel-bounces@lists.xenproject.org Sat Mar 11 00:10:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Mar 2023 00:10:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508622.783468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pamo4-0003zq-Rs; Sat, 11 Mar 2023 00:09:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508622.783468; Sat, 11 Mar 2023 00:09:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pamo4-0003zj-P5; Sat, 11 Mar 2023 00:09:52 +0000
Received: by outflank-mailman (input) for mailman id 508622;
 Sat, 11 Mar 2023 00:09:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KbTL=7D=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1pamo3-0003zd-A5
 for xen-devel@lists.xenproject.org; Sat, 11 Mar 2023 00:09:51 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 070e3d2f-bfa1-11ed-956e-85ef70e17bfa;
 Sat, 11 Mar 2023 01:09:47 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32B09Yqq017349
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Fri, 10 Mar 2023 19:09:40 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32B09YGB017348;
 Fri, 10 Mar 2023 16:09: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: 070e3d2f-bfa1-11ed-956e-85ef70e17bfa
Date: Fri, 10 Mar 2023 16:09:34 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [BUG] x2apic broken with current AMD hardware
Message-ID: <ZAvGvokloPf+ltr9@mattapan.m5p.com>
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Thu, Mar 09, 2023 at 10:03:23AM +0100, Jan Beulich wrote:
> 
> In any event you will want to collect a serial log at maximum verbosity.
> It would also be of interest to know whether turning off the IOMMU avoids
> the issue as well (on the assumption that your system has less than 255
> CPUs).

I think I might have figured out the situation in a different fashion.

I was taking a look at the BIOS manual for this motherboard and noticed
a mention of a "Local APIC Mode" setting.  Four values are listed
"Compatibility", "xAPIC", "x2APIC", and "Auto".

That is the sort of setting I likely left at "Auto" and that may well
result in x2 functionality being disabled.  Perhaps the x2APIC
functionality on AMD is detecting whether the hardware is present, and
failing to test whether it has been enabled?  (could be useful to output
a message suggesting enabling the hardware feature)


-- 
(\___(\___(\______          --=> 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 Mar 11 00:45:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Mar 2023 00:45:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508628.783478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1panMR-0000z8-Jq; Sat, 11 Mar 2023 00:45:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508628.783478; Sat, 11 Mar 2023 00: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 1panMR-0000z1-Gt; Sat, 11 Mar 2023 00:45:23 +0000
Received: by outflank-mailman (input) for mailman id 508628;
 Sat, 11 Mar 2023 00:45: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 1panMQ-0000yr-Hl; Sat, 11 Mar 2023 00:45: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 1panMQ-0003yK-FE; Sat, 11 Mar 2023 00:45: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 1panMQ-00082m-0w; Sat, 11 Mar 2023 00:45:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1panMQ-0002mo-0X; Sat, 11 Mar 2023 00:45: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=Iv30fjcVNbqgt2sWH58/L9rdffEUoJo8RKfjiDdVrD0=; b=YfBI9c/25WcToQ8yUKCbMAzst3
	jf+5UpET78mSw2SMYJR3kiCJhb8bQ+BAg97D8aWhCdY2tm2hTF2weDOojM6eMkr6QaihEV6CuSOwl
	paW8AOIBx0mvXGo/6sEDTpZZcsgFnqj64HjY1/6ZbrubLB73cjOorAZXbP4bzknQi2a4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179531-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179531: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=44889ba56cbb3d51154660ccd15818bc77276696
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 11 Mar 2023 00:45:22 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt     17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 18 guest-localmigrate      fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                44889ba56cbb3d51154660ccd15818bc77276696
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   17 days
Failing since        178093  2023-02-22 05:02:47 Z   16 days   34 attempts
Testing same since   179531  2023-03-10 08:58:13 Z    0 days    1 attempts

------------------------------------------------------------
2075 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Mar 11 03:03:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Mar 2023 03:03:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508640.783500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1papWD-000178-Qc; Sat, 11 Mar 2023 03:03:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508640.783500; Sat, 11 Mar 2023 03:03:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1papWD-000170-Kv; Sat, 11 Mar 2023 03:03:37 +0000
Received: by outflank-mailman (input) for mailman id 508640;
 Sat, 11 Mar 2023 03:03: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 1papWC-00016o-EE; Sat, 11 Mar 2023 03:03: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 1papWC-0005k4-BR; Sat, 11 Mar 2023 03:03: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 1papWB-0003ps-VY; Sat, 11 Mar 2023 03:03:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1papWB-00059X-V0; Sat, 11 Mar 2023 03:03:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7tX6+Iwa6c1QJ0S0tQluEC4oUdgPD6BVgpM7uAEsRoU=; b=3R87mn6MwVAYM5Kj6Ru0yaavPm
	epiHfFMOeZ0+M5efwT4yn3eH/kO8C94BeCMl79dKOsr/Tu4VKPPiUuzji59I6qn81+ev+Upjp7f+f
	xXvQp3hVncuxZ54GJT19GYgi+pDqEhKZkypAjTVPu5cAYY2LqlvfEInT1W92VlS2eP+Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179534-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179534: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-localmigrate/x10:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=ee59483267de29056b5b2ee2421ef3844e5c9932
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 11 Mar 2023 03:03:35 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 18 guest-localmigrate/x10 fail in 179526 pass in 179534
 test-amd64-i386-xl-qemuu-win7-amd64 12 windows-install     fail pass in 179526

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop   fail in 179526 like 179518
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                ee59483267de29056b5b2ee2421ef3844e5c9932
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    1 days
Testing same since   179526  2023-03-10 01:53:40 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Gerd Hoffmann <kraxel@redhat.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Mar 11 03:57:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Mar 2023 03:57:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508645.783509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1paqMe-00082I-N6; Sat, 11 Mar 2023 03:57:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508645.783509; Sat, 11 Mar 2023 03:57: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 1paqMe-00082B-KL; Sat, 11 Mar 2023 03:57:48 +0000
Received: by outflank-mailman (input) for mailman id 508645;
 Sat, 11 Mar 2023 03:57: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=YOt7=7D=yandex.ru=isaikin-dmitry@srs-se1.protection.inumbo.net>)
 id 1paqMd-000824-20
 for xen-devel@lists.xenproject.org; Sat, 11 Mar 2023 03:57:47 +0000
Received: from forward106j.mail.yandex.net (forward106j.mail.yandex.net
 [2a02:6b8:0:801:2::109])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dda5d619-bfc0-11ed-956e-85ef70e17bfa;
 Sat, 11 Mar 2023 04:57:40 +0100 (CET)
Received: from myt5-0b9dd93077fa.qloud-c.yandex.net
 (myt5-0b9dd93077fa.qloud-c.yandex.net
 [IPv6:2a02:6b8:c12:1723:0:640:b9d:d930])
 by forward106j.mail.yandex.net (Yandex) with ESMTP id 424D06BD6847;
 Sat, 11 Mar 2023 06:57:37 +0300 (MSK)
Received: by myt5-0b9dd93077fa.qloud-c.yandex.net (smtp/Yandex) with ESMTPSA
 id YvV5xDKdaGk1-5XJAuz1V; Sat, 11 Mar 2023 06:57:36 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dda5d619-bfc0-11ed-956e-85ef70e17bfa
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1678507056;
	bh=25PD64yC72TNM7aOPywmC1U4uP/4jHnQ+w7kRXvd99M=;
	h=Message-Id:Date:Cc:Subject:To:From;
	b=vsx6nHdfWpKA5I5isgu5bq9fEboanlhV2vNCXg6w5bmwHasPoRueRAGSxY4hox3bD
	 HW49gCF11LcHYkFB4XJ2iNvkBj7a+NSqfIalXlCPl6hE2C9u5d8mK2MfSXUU0UOzf9
	 nIM8++zvfrj7G4DzcWTDeHWNuyD/1I3Bpv3HIZzg=
Authentication-Results: myt5-0b9dd93077fa.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru
From: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
To: xen-devel@lists.xenproject.org
Cc: Dmitry Isaykin <isaikin-dmitry@yandex.ru>,
	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>,
	=?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>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Anton Belousov <abelousov@ptsecurity.com>
Subject: [XEN PATCH] x86/monitor: Add new monitor event to catch I/O instructions
Date: Sat, 11 Mar 2023 06:57:32 +0300
Message-Id: <3f577545b8ee6846ff98c4411cdc96dfe1412b3e.1678505295.git.isaikin-dmitry@yandex.ru>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Adds monitor support for I/O instructions.

Signed-off-by: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
Signed-off-by: Anton Belousov <abelousov@ptsecurity.com>
---
 tools/include/xenctrl.h                |  1 +
 tools/libs/ctrl/xc_monitor.c           | 13 +++++++++++++
 xen/arch/x86/hvm/hvm.c                 |  5 +++++
 xen/arch/x86/hvm/monitor.c             | 21 +++++++++++++++++++++
 xen/arch/x86/hvm/vmx/vmx.c             |  2 ++
 xen/arch/x86/include/asm/domain.h      |  1 +
 xen/arch/x86/include/asm/hvm/monitor.h |  3 +++
 xen/arch/x86/include/asm/hvm/support.h |  3 +++
 xen/arch/x86/include/asm/monitor.h     |  3 ++-
 xen/arch/x86/monitor.c                 | 13 +++++++++++++
 xen/include/public/domctl.h            |  1 +
 xen/include/public/vm_event.h          | 10 ++++++++++
 12 files changed, 75 insertions(+), 1 deletion(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 23037874d3..05967ecc92 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2102,6 +2102,7 @@ int xc_monitor_emul_unimplemented(xc_interface *xch, uint32_t domain_id,
                                   bool enable);
 int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
                       bool sync);
+int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable);
 /**
  * This function enables / disables emulation for each REP for a
  * REP-compatible instruction.
diff --git a/tools/libs/ctrl/xc_monitor.c b/tools/libs/ctrl/xc_monitor.c
index c5fa62ff30..3cb96f444f 100644
--- a/tools/libs/ctrl/xc_monitor.c
+++ b/tools/libs/ctrl/xc_monitor.c
@@ -261,6 +261,19 @@ int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
     return do_domctl(xch, &domctl);
 }
 
+int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable)
+{
+    DECLARE_DOMCTL;
+
+    domctl.cmd = XEN_DOMCTL_monitor_op;
+    domctl.domain = domain_id;
+    domctl.u.monitor_op.op = enable ? XEN_DOMCTL_MONITOR_OP_ENABLE
+                                    : XEN_DOMCTL_MONITOR_OP_DISABLE;
+    domctl.u.monitor_op.event = XEN_DOMCTL_MONITOR_EVENT_IO;
+
+    return do_domctl(xch, &domctl);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 0c81e2afc7..72c9f65626 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -3484,6 +3484,11 @@ int hvm_vmexit_cpuid(struct cpu_user_regs *regs, unsigned int inst_len)
     return hvm_monitor_cpuid(inst_len, leaf, subleaf);
 }
 
+void hvm_io_instruction_intercept(uint16_t port, int dir, unsigned int bytes, unsigned int string_ins)
+{
+    hvm_monitor_io_instruction(port, dir, bytes, string_ins);
+}
+
 void hvm_rdtsc_intercept(struct cpu_user_regs *regs)
 {
     msr_split(regs, hvm_get_guest_tsc(current));
diff --git a/xen/arch/x86/hvm/monitor.c b/xen/arch/x86/hvm/monitor.c
index a11cd76f4d..f8b11d1de9 100644
--- a/xen/arch/x86/hvm/monitor.c
+++ b/xen/arch/x86/hvm/monitor.c
@@ -233,6 +233,27 @@ int hvm_monitor_cpuid(unsigned long insn_length, unsigned int leaf,
     return monitor_traps(curr, 1, &req);
 }
 
+void hvm_monitor_io_instruction(uint16_t port, int dir,
+                                unsigned int bytes, unsigned int string_ins)
+{
+    struct vcpu *curr = current;
+    struct arch_domain *ad = &curr->domain->arch;
+    vm_event_request_t req = {};
+
+    if ( !ad->monitor.io_enabled )
+        return;
+
+    req.reason = VM_EVENT_REASON_IO_INSTRUCTION;
+    req.u.io_instruction.data_size = bytes;
+    req.u.io_instruction.port = port;
+    req.u.io_instruction.dir = dir;
+    req.u.io_instruction.string_ins = string_ins;
+
+    set_npt_base(curr, &req);
+
+    monitor_traps(curr, true, &req);
+}
+
 void hvm_monitor_interrupt(unsigned int vector, unsigned int type,
                            unsigned int err, uint64_t cr2)
 {
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 278b829f73..a64c5078c5 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4579,6 +4579,8 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
             uint16_t port = (exit_qualification >> 16) & 0xFFFF;
             int bytes = (exit_qualification & 0x07) + 1;
             int dir = (exit_qualification & 0x08) ? IOREQ_READ : IOREQ_WRITE;
+            int str_ins = (exit_qualification & 0x10) ? 1 : 0;
+            hvm_io_instruction_intercept(port, dir, bytes, str_ins);
             if ( handle_pio(port, bytes, dir) )
                 update_guest_eip(); /* Safe: IN, OUT */
         }
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index b5354c3677..86bd3493e6 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -428,6 +428,7 @@ struct arch_domain
         unsigned int descriptor_access_enabled                             : 1;
         unsigned int guest_request_userspace_enabled                       : 1;
         unsigned int emul_unimplemented_enabled                            : 1;
+        unsigned int io_enabled                                            : 1;
         /*
          * By default all events are sent.
          * This is used to filter out pagefaults.
diff --git a/xen/arch/x86/include/asm/hvm/monitor.h b/xen/arch/x86/include/asm/hvm/monitor.h
index 639f6dfa37..22d2b366a6 100644
--- a/xen/arch/x86/include/asm/hvm/monitor.h
+++ b/xen/arch/x86/include/asm/hvm/monitor.h
@@ -54,6 +54,9 @@ bool hvm_monitor_check_p2m(unsigned long gla, gfn_t gfn, uint32_t pfec,
 int hvm_monitor_vmexit(unsigned long exit_reason,
                        unsigned long exit_qualification);
 
+void hvm_monitor_io_instruction(uint16_t port, int dir,
+                                unsigned int bytes, unsigned int string_ins);
+
 #endif /* __ASM_X86_HVM_MONITOR_H__ */
 
 /*
diff --git a/xen/arch/x86/include/asm/hvm/support.h b/xen/arch/x86/include/asm/hvm/support.h
index 6b583738ec..ecb2b9ecb8 100644
--- a/xen/arch/x86/include/asm/hvm/support.h
+++ b/xen/arch/x86/include/asm/hvm/support.h
@@ -157,6 +157,9 @@ int __must_check hvm_msr_read_intercept(
 int __must_check hvm_msr_write_intercept(
     unsigned int msr, uint64_t msr_content, bool may_defer);
 
+void hvm_io_instruction_intercept(uint16_t port, int dir,
+                                  unsigned int bytes, unsigned int string_ins);
+
 #endif /* __ASM_X86_HVM_SUPPORT_H__ */
 
 /*
diff --git a/xen/arch/x86/include/asm/monitor.h b/xen/arch/x86/include/asm/monitor.h
index d8d54c5f23..96e6a9d0d8 100644
--- a/xen/arch/x86/include/asm/monitor.h
+++ b/xen/arch/x86/include/asm/monitor.h
@@ -90,7 +90,8 @@ static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
                     (1U << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) |
                     (1U << XEN_DOMCTL_MONITOR_EVENT_EMUL_UNIMPLEMENTED) |
                     (1U << XEN_DOMCTL_MONITOR_EVENT_INGUEST_PAGEFAULT) |
-                    (1U << XEN_DOMCTL_MONITOR_EVENT_VMEXIT));
+                    (1U << XEN_DOMCTL_MONITOR_EVENT_VMEXIT) |
+                    (1U << XEN_DOMCTL_MONITOR_EVENT_IO));
 
     if ( hvm_is_singlestep_supported() )
         capabilities |= (1U << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP);
diff --git a/xen/arch/x86/monitor.c b/xen/arch/x86/monitor.c
index 30ca71432c..d4857faf8a 100644
--- a/xen/arch/x86/monitor.c
+++ b/xen/arch/x86/monitor.c
@@ -346,6 +346,19 @@ int arch_monitor_domctl_event(struct domain *d,
         break;
     }
 
+    case XEN_DOMCTL_MONITOR_EVENT_IO:
+    {
+        bool old_status = ad->monitor.io_enabled;
+
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
+
+        domain_pause(d);
+        ad->monitor.io_enabled = requested_status;
+        domain_unpause(d);
+        break;
+    }
+
     default:
         /*
          * Should not be reached unless arch_monitor_get_capabilities() is
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 51be28c3de..7280e9f968 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -1063,6 +1063,7 @@ struct xen_domctl_psr_cmt_op {
 /* Enabled by default */
 #define XEN_DOMCTL_MONITOR_EVENT_INGUEST_PAGEFAULT     11
 #define XEN_DOMCTL_MONITOR_EVENT_VMEXIT                12
+#define XEN_DOMCTL_MONITOR_EVENT_IO                    13
 
 struct xen_domctl_monitor_op {
     uint32_t op; /* XEN_DOMCTL_MONITOR_OP_* */
diff --git a/xen/include/public/vm_event.h b/xen/include/public/vm_event.h
index 0035c26e12..86e4cdba7c 100644
--- a/xen/include/public/vm_event.h
+++ b/xen/include/public/vm_event.h
@@ -160,6 +160,8 @@
 #define VM_EVENT_REASON_EMUL_UNIMPLEMENTED      14
 /* VMEXIT */
 #define VM_EVENT_REASON_VMEXIT                  15
+/* IN/OUT Instruction executed */
+#define VM_EVENT_REASON_IO_INSTRUCTION          16
 
 /* Supported values for the vm_event_write_ctrlreg index. */
 #define VM_EVENT_X86_CR0    0
@@ -388,6 +390,13 @@ struct vm_event_vmexit {
     } arch;
 };
 
+struct vm_event_io_instruction {
+    uint32_t data_size;
+    uint32_t port;
+    uint32_t dir;
+    uint32_t string_ins;
+};
+
 typedef struct vm_event_st {
     uint32_t version;   /* VM_EVENT_INTERFACE_VERSION */
     uint32_t flags;     /* VM_EVENT_FLAG_* */
@@ -409,6 +418,7 @@ typedef struct vm_event_st {
         struct vm_event_debug                 debug_exception;
         struct vm_event_cpuid                 cpuid;
         struct vm_event_vmexit                vmexit;
+        struct vm_event_io_instruction        io_instruction;
         union {
             struct vm_event_interrupt_x86     x86;
         } interrupt;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sat Mar 11 09:23:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Mar 2023 09:23:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508664.783532 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pavS4-00070I-Cm; Sat, 11 Mar 2023 09:23:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508664.783532; Sat, 11 Mar 2023 09: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 1pavS4-00070B-9F; Sat, 11 Mar 2023 09:23:44 +0000
Received: by outflank-mailman (input) for mailman id 508664;
 Sat, 11 Mar 2023 09:23: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 1pavS3-000701-4J; Sat, 11 Mar 2023 09:23: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 1pavS3-0006iw-0d; Sat, 11 Mar 2023 09:23: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 1pavS2-0007H3-IX; Sat, 11 Mar 2023 09:23:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pavS2-0007jI-IE; Sat, 11 Mar 2023 09:23: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=PgByT44Qn3lLWH2J6Ydu9RpQ3aVdfUqujR7Hv2ER0zs=; b=JeKgATavlNws1l0WQq/FqSE1eK
	qur/FCaMcXqjHTkXhecRDlyZfzzgbPNlqtUci0IeZi5xrJ1LZhcvvR1spZ7Tzn1X6wNYxrMcKR5Gl
	xkBLJoNfOvPdiyuF/frQBo9Dn+lcwHx9unJZ2UOqJy7HfjAzORee+F6u9Lr7bQqCbvq0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179552-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179552: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=d2bfe289668e32940cca5da12bc201bf9b6c84d8
X-Osstest-Versions-That:
    ovmf=9b94ebb0c826ad9a747f93ee351d5d076e920f6e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 11 Mar 2023 09:23:42 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 d2bfe289668e32940cca5da12bc201bf9b6c84d8
baseline version:
 ovmf                 9b94ebb0c826ad9a747f93ee351d5d076e920f6e

Last test of basis   179537  2023-03-10 15:10:41 Z    0 days
Testing same since   179552  2023-03-11 06:49:36 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Guillermo Antonio Palomino Sosa <guillermo.a.palomino.sosa@intel.com>
  Palomino Sosa, Guillermo A <guillermo.a.palomino.sosa@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
   9b94ebb0c8..d2bfe28966  d2bfe289668e32940cca5da12bc201bf9b6c84d8 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Mar 11 10:32:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Mar 2023 10:32:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508678.783547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pawW0-0006sh-HI; Sat, 11 Mar 2023 10:31:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508678.783547; Sat, 11 Mar 2023 10:31: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 1pawW0-0006sa-E8; Sat, 11 Mar 2023 10:31:52 +0000
Received: by outflank-mailman (input) for mailman id 508678;
 Sat, 11 Mar 2023 10:31: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 1pawVy-0006sQ-Hm; Sat, 11 Mar 2023 10:31: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 1pawVy-0008Fs-EJ; Sat, 11 Mar 2023 10:31: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 1pawVx-0000vn-VU; Sat, 11 Mar 2023 10:31:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pawVx-00048R-V3; Sat, 11 Mar 2023 10:31: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=wd6BDdHrByJhZgMnYzPsTetSiq8xq1hSJpgx9JTpaqU=; b=hDdYXz6t7UrBVsNEytjOnhNK4i
	67urK7qCiBkKdXaog0iAXYUUJrVGvjopul2IhXkP/EYr2x0ulTK3lZiwnVdRHB1M4m1qcu4PVH+N1
	8RsILwgB5ip2g10sSPS6rUq7NJ4WKHfoqhozVCpozBQTAQtpUT0qHeR9MdW5YCIgb53Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179545-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179545: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=55a21105ecc156495446d8ae75d7d73f66baed7b
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 11 Mar 2023 10:31:49 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm     18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 18 guest-start/debianhvm.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-ovmf-amd64 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                55a21105ecc156495446d8ae75d7d73f66baed7b
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   17 days
Failing since        178093  2023-02-22 05:02:47 Z   17 days   35 attempts
Testing same since   179545  2023-03-11 01:10:15 Z    0 days    1 attempts

------------------------------------------------------------
2096 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Mar 11 13:55:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Mar 2023 13:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508707.783570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pazgK-0004TE-A4; Sat, 11 Mar 2023 13:54:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508707.783570; Sat, 11 Mar 2023 13: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 1pazgK-0004T7-6i; Sat, 11 Mar 2023 13:54:44 +0000
Received: by outflank-mailman (input) for mailman id 508707;
 Sat, 11 Mar 2023 13:54:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=KD/t=7D=gmail.com=error27@srs-se1.protection.inumbo.net>)
 id 1pazgI-0004T0-6J
 for xen-devel@lists.xenproject.org; Sat, 11 Mar 2023 13:54:42 +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 43494a40-c014-11ed-956e-85ef70e17bfa;
 Sat, 11 Mar 2023 14:54:38 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 j19-20020a05600c1c1300b003e9b564fae9so7980608wms.2
 for <xen-devel@lists.xenproject.org>; Sat, 11 Mar 2023 05:54:38 -0800 (PST)
Received: from localhost ([102.36.222.112]) by smtp.gmail.com with ESMTPSA id
 hn4-20020a05600ca38400b003dc1d668866sm2899772wmb.10.2023.03.11.05.54.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 11 Mar 2023 05:54: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: 43494a40-c014-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678542877;
        h=in-reply-to:content-disposition:mime-version:message-id:subject:cc
         :to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=w6VNgsWjX3Wuvimz8g5dmkPK1Cy/m4ikAbDoLw6beJQ=;
        b=EgpADp9mPyWPriOHQHt/ftRejPRpNulP0dfOXzeleBhIPgj1NGQIJbytBzJ2k1iF4R
         CyITUZOvJLHKAPxgRdheh7BTJmNg+LH8xo7nE4cpnK/TrtstTxkyuMZEe6QB0uKZbsho
         bha6cNC4l0ab+HfNrdxjVgcV4nNCXjrWHLvd5AgmtK0unzXSSZWpk338fqWEaWfbfDXc
         gS8s4MTSvK5KviuS4DzupSZgdAs7GDKSC97xY/DJNQkr+LExD4sU3rKuRX3/o8kJ1rWj
         n5Cc6BbMqxbQX9xXF/Ai+zkDgJk3y+PUHE9rOyhjFvIaxai7o22SnhvFxKXJxhQbJB/I
         C2Xg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678542877;
        h=in-reply-to: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=w6VNgsWjX3Wuvimz8g5dmkPK1Cy/m4ikAbDoLw6beJQ=;
        b=4LnHY3ExcAC2z8eYPmf2qukNgJAyk3ywESRptN68z8ultrX7JJmO4s9RoxRByOWypI
         3V7/GCn2PyzOjlCE1jUG94yLEgfMc7wacDtnE/tNZwzWQWkg5CdOneqAwG2DHQhZT/+M
         Hje28Mb+Hv/Oj0jHKIKtH77cR867I5Vc4g7GVCSA4VtgFg9aSqu2tprcUoQN1IOMHXXC
         OHUmBitL+xdMEdb0/S/f9WAXwMjLaL2p4SNqnqTMhRhgF59E7BnbPlW10A5oXs6GOpv8
         39v+rao3dVOYegef670GcaADj2YHkF7K5FAzyn7b57lauq0hc7LkKDkKCdFkKh/9CDGF
         a4cw==
X-Gm-Message-State: AO0yUKVIfFbn9+HCLCjabgeZCkBG+ECEuaF0LJdjkdKZTBZAReMAPuqU
	ev6lHOJ389Yd8yLRooBjieA=
X-Google-Smtp-Source: AK7set8Q/kmI9mpEEdXrr7E14surqp2hrZc9WFbOGPYrv2F11V19h1lecKjCq/bjwK7VwWka+od15A==
X-Received: by 2002:a05:600c:4e8c:b0:3eb:4cb5:dfa with SMTP id f12-20020a05600c4e8c00b003eb4cb50dfamr5440417wmq.31.1678542877399;
        Sat, 11 Mar 2023 05:54:37 -0800 (PST)
Date: Sat, 11 Mar 2023 16:54:32 +0300
From: Dan Carpenter <error27@gmail.com>
To: oe-kbuild@lists.linux.dev,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	=?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
	Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>
Subject: Re: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
Message-ID: <d057ac5c-5947-41e1-abc7-9428fbd2fbe2@kili.mountain>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230310171416.23356-2-andriy.shevchenko@linux.intel.com>

Hi Andy,

https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/PCI-Introduce-pci_dev_for_each_resource/20230311-011642
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link:    https://lore.kernel.org/r/20230310171416.23356-2-andriy.shevchenko%40linux.intel.com
patch subject: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
config: x86_64-randconfig-m001 (https://download.01.org/0day-ci/archive/20230311/202303112149.xD47qKOY-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Link: https://lore.kernel.org/r/202303112149.xD47qKOY-lkp@intel.com/

smatch warnings:
drivers/pnp/quirks.c:248 quirk_system_pci_resources() warn: was && intended here instead of ||?

vim +248 drivers/pnp/quirks.c

0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  229  static void quirk_system_pci_resources(struct pnp_dev *dev)
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  230  {
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  231  	struct pci_dev *pdev = NULL;
059b4a086017fb Mika Westerberg 2023-03-10  232  	struct resource *res, *r;
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  233  	int i, j;
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  234  
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  235  	/*
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  236  	 * Some BIOSes have PNP motherboard devices with resources that
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  237  	 * partially overlap PCI BARs.  The PNP system driver claims these
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  238  	 * motherboard resources, which prevents the normal PCI driver from
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  239  	 * requesting them later.
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  240  	 *
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  241  	 * This patch disables the PNP resources that conflict with PCI BARs
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  242  	 * so they won't be claimed by the PNP system driver.
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  243  	 */
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  244  	for_each_pci_dev(pdev) {
059b4a086017fb Mika Westerberg 2023-03-10  245  		pci_dev_for_each_resource(pdev, r, i) {
059b4a086017fb Mika Westerberg 2023-03-10  246  			unsigned long type = resource_type(r);
999ed65ad12e37 Rene Herman     2008-07-25  247  
059b4a086017fb Mika Westerberg 2023-03-10 @248  			if (type != IORESOURCE_IO || type != IORESOURCE_MEM ||
                                                                                                  ^^
This || needs to be &&.  This loop will always hit the continue path
without doing anything.

059b4a086017fb Mika Westerberg 2023-03-10  249  			    resource_size(r) == 0)
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  250  				continue;
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  251  
059b4a086017fb Mika Westerberg 2023-03-10  252  			if (r->flags & IORESOURCE_UNSET)
f7834c092c4299 Bjorn Helgaas   2015-03-03  253  				continue;
f7834c092c4299 Bjorn Helgaas   2015-03-03  254  
95ab3669f78306 Bjorn Helgaas   2008-04-28  255  			for (j = 0;
999ed65ad12e37 Rene Herman     2008-07-25  256  			     (res = pnp_get_resource(dev, type, j)); j++) {
aee3ad815dd291 Bjorn Helgaas   2008-06-27  257  				if (res->start == 0 && res->end == 0)
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  258  					continue;
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  259  
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  260  				/*
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  261  				 * If the PNP region doesn't overlap the PCI
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  262  				 * region at all, there's no problem.
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  263  				 */
059b4a086017fb Mika Westerberg 2023-03-10  264  				if (!resource_overlaps(res, r))
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  265  					continue;
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  266  
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  267  				/*
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  268  				 * If the PNP region completely encloses (or is
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  269  				 * at least as large as) the PCI region, that's
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  270  				 * also OK.  For example, this happens when the
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  271  				 * PNP device describes a bridge with PCI
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  272  				 * behind it.
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  273  				 */
059b4a086017fb Mika Westerberg 2023-03-10  274  				if (res->start <= r->start && res->end >= r->end)
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  275  					continue;
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  276  
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  277  				/*
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  278  				 * Otherwise, the PNP region overlaps *part* of
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  279  				 * the PCI region, and that might prevent a PCI
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  280  				 * driver from requesting its resources.
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  281  				 */
c7dabef8a2c59e Bjorn Helgaas   2009-10-27  282  				dev_warn(&dev->dev,
059b4a086017fb Mika Westerberg 2023-03-10  283  					 "disabling %pR because it overlaps %s BAR %d %pR\n",
059b4a086017fb Mika Westerberg 2023-03-10  284  					 res, pci_name(pdev), i, r);
4b34fe156455d2 Bjorn Helgaas   2008-06-02  285  				res->flags |= IORESOURCE_DISABLED;
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  286  			}
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  287  		}
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  288  	}
0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  289  }

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests



From xen-devel-bounces@lists.xenproject.org Sat Mar 11 14:51:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Mar 2023 14:51:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508728.783580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pb0ZL-00036b-Ce; Sat, 11 Mar 2023 14:51:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508728.783580; Sat, 11 Mar 2023 14: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 1pb0ZL-00036U-9g; Sat, 11 Mar 2023 14:51:35 +0000
Received: by outflank-mailman (input) for mailman id 508728;
 Sat, 11 Mar 2023 14:51: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=PEBH=7D=tklengyel.com=bounce+e181d6.cd840-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1pb0ZJ-00036O-NM
 for xen-devel@lists.xenproject.org; Sat, 11 Mar 2023 14:51:33 +0000
Received: from rs227.mailgun.us (rs227.mailgun.us [209.61.151.227])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 352d57c3-c01c-11ed-87f5-c1b5be75604c;
 Sat, 11 Mar 2023 15:51:31 +0100 (CET)
Received: from mail-yb1-f176.google.com (mail-yb1-f176.google.com
 [209.85.219.176]) by
 a70f3eba752c with SMTP id 640c9571b0de3c33d3ef4ea5 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Sat, 11 Mar 2023 14:51:29 GMT
Received: by mail-yb1-f176.google.com with SMTP id o199so6068333ybc.7
 for <xen-devel@lists.xenproject.org>; Sat, 11 Mar 2023 06:51: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
X-Inumbo-ID: 352d57c3-c01c-11ed-87f5-c1b5be75604c
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=tklengyel.com;
 q=dns/txt; s=mailo; t=1678546289; x=1678553489; h=Content-Type: Cc: To: To:
 Subject: Subject: Message-ID: Date: From: From: In-Reply-To: References:
 MIME-Version: Sender: Sender;
 bh=prnD3HSi7AZyhTBSqAoZ/PGJ4XTNp7GpB00h7XSuOsM=;
 b=CnJ8mIZ8YfNNyP4JK1VCyEnekVlcSDFcy7n6xbhtvUS7nQCHZLUEt1yvnAJfrgz/J9wUbk3ziOWMaNU778Cp1f16yKMBuwOns7UtMeAYGtoVrSQ28CBjj3iXpc2j6H6xlg4Pg/GyWBArYkql3FzoMmrky9EGI48RhFac3gvlOlBUOqbajCGnsDLZ0udxTtL+/ZEGlmEBwgWlJxxPLf0JZ3kWc/pyZZ4uVVZbadcK9XVpaHHSx490gvJ212VMQwNJUh3Vri5ugUvxKHp4qsb0gvvXz1B5J6BBDNrmB33IKdgYRnPCNlP71FIwuNPJtnY2G4qDsZnynKbZvGWLsY6f3A==
X-Mailgun-Sending-Ip: 209.61.151.227
X-Mailgun-Sid: WyIyYTNmOCIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsImNkODQwIl0=
Sender: tamas@tklengyel.com
X-Gm-Message-State: AO0yUKXkU8I56LuGojTDVEb0hEEpDbMpeukPn0FfO4R6wnFAcMoxB0db
	4+ILdMur68lGlccAY68mik+ABIzSmosqhqwzAjQ=
X-Google-Smtp-Source: AK7set91islrT4iKxUPh0w+9cI/ORvzHij7YC1jdynpUGTJAGu61EaCVw6Q9QCgHtG3lQZEaGq+labzvRlb6CfO7K1s=
X-Received: by 2002:a5b:a0c:0:b0:a24:1001:1fd2 with SMTP id
 k12-20020a5b0a0c000000b00a2410011fd2mr17676915ybq.0.1678546288775; Sat, 11
 Mar 2023 06:51:28 -0800 (PST)
MIME-Version: 1.0
References: <3f577545b8ee6846ff98c4411cdc96dfe1412b3e.1678505295.git.isaikin-dmitry@yandex.ru>
In-Reply-To: <3f577545b8ee6846ff98c4411cdc96dfe1412b3e.1678505295.git.isaikin-dmitry@yandex.ru>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Sat, 11 Mar 2023 09:50:52 -0500
X-Gmail-Original-Message-ID: <CABfawhn0+XuByYGM-rAkQy+XL9E4aNiBDfE5irOzvRVesuKMjg@mail.gmail.com>
Message-ID: <CABfawhn0+XuByYGM-rAkQy+XL9E4aNiBDfE5irOzvRVesuKMjg@mail.gmail.com>
Subject: Re: [XEN PATCH] x86/monitor: Add new monitor event to catch I/O instructions
To: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
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>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, 
	Anton Belousov <abelousov@ptsecurity.com>
Content-Type: multipart/alternative; boundary="000000000000481a9505f6a10300"

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

On Fri, Mar 10, 2023 at 10:57=E2=80=AFPM Dmitry Isaykin <isaikin-dmitry@yan=
dex.ru>
wrote:
>
> Adds monitor support for I/O instructions.
>
> Signed-off-by: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
> Signed-off-by: Anton Belousov <abelousov@ptsecurity.com>
> ---
>  tools/include/xenctrl.h                |  1 +
>  tools/libs/ctrl/xc_monitor.c           | 13 +++++++++++++
>  xen/arch/x86/hvm/hvm.c                 |  5 +++++
>  xen/arch/x86/hvm/monitor.c             | 21 +++++++++++++++++++++
>  xen/arch/x86/hvm/vmx/vmx.c             |  2 ++
>  xen/arch/x86/include/asm/domain.h      |  1 +
>  xen/arch/x86/include/asm/hvm/monitor.h |  3 +++
>  xen/arch/x86/include/asm/hvm/support.h |  3 +++
>  xen/arch/x86/include/asm/monitor.h     |  3 ++-
>  xen/arch/x86/monitor.c                 | 13 +++++++++++++
>  xen/include/public/domctl.h            |  1 +
>  xen/include/public/vm_event.h          | 10 ++++++++++
>  12 files changed, 75 insertions(+), 1 deletion(-)
>
> diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
> index 23037874d3..05967ecc92 100644
> --- a/tools/include/xenctrl.h
> +++ b/tools/include/xenctrl.h
> @@ -2102,6 +2102,7 @@ int xc_monitor_emul_unimplemented(xc_interface
*xch, uint32_t domain_id,
>                                    bool enable);
>  int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable=
,
>                        bool sync);
> +int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable);
>  /**
>   * This function enables / disables emulation for each REP for a
>   * REP-compatible instruction.
> diff --git a/tools/libs/ctrl/xc_monitor.c b/tools/libs/ctrl/xc_monitor.c
> index c5fa62ff30..3cb96f444f 100644
> --- a/tools/libs/ctrl/xc_monitor.c
> +++ b/tools/libs/ctrl/xc_monitor.c
> @@ -261,6 +261,19 @@ int xc_monitor_vmexit(xc_interface *xch, uint32_t
domain_id, bool enable,
>      return do_domctl(xch, &domctl);
>  }
>
> +int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable)
> +{
> +    DECLARE_DOMCTL;
> +
> +    domctl.cmd =3D XEN_DOMCTL_monitor_op;
> +    domctl.domain =3D domain_id;
> +    domctl.u.monitor_op.op =3D enable ? XEN_DOMCTL_MONITOR_OP_ENABLE
> +                                    : XEN_DOMCTL_MONITOR_OP_DISABLE;
> +    domctl.u.monitor_op.event =3D XEN_DOMCTL_MONITOR_EVENT_IO;
> +
> +    return do_domctl(xch, &domctl);
> +}
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index 0c81e2afc7..72c9f65626 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -3484,6 +3484,11 @@ int hvm_vmexit_cpuid(struct cpu_user_regs *regs,
unsigned int inst_len)
>      return hvm_monitor_cpuid(inst_len, leaf, subleaf);
>  }
>
> +void hvm_io_instruction_intercept(uint16_t port, int dir, unsigned int
bytes, unsigned int string_ins)
> +{
> +    hvm_monitor_io_instruction(port, dir, bytes, string_ins);
> +}
> +
>  void hvm_rdtsc_intercept(struct cpu_user_regs *regs)
>  {
>      msr_split(regs, hvm_get_guest_tsc(current));
> diff --git a/xen/arch/x86/hvm/monitor.c b/xen/arch/x86/hvm/monitor.c
> index a11cd76f4d..f8b11d1de9 100644
> --- a/xen/arch/x86/hvm/monitor.c
> +++ b/xen/arch/x86/hvm/monitor.c
> @@ -233,6 +233,27 @@ int hvm_monitor_cpuid(unsigned long insn_length,
unsigned int leaf,
>      return monitor_traps(curr, 1, &req);
>  }
>
> +void hvm_monitor_io_instruction(uint16_t port, int dir,
> +                                unsigned int bytes, unsigned int
string_ins)
> +{
> +    struct vcpu *curr =3D current;
> +    struct arch_domain *ad =3D &curr->domain->arch;
> +    vm_event_request_t req =3D {};
> +
> +    if ( !ad->monitor.io_enabled )
> +        return;
> +
> +    req.reason =3D VM_EVENT_REASON_IO_INSTRUCTION;
> +    req.u.io_instruction.data_size =3D bytes;
> +    req.u.io_instruction.port =3D port;
> +    req.u.io_instruction.dir =3D dir;
> +    req.u.io_instruction.string_ins =3D string_ins;
> +
> +    set_npt_base(curr, &req);
> +
> +    monitor_traps(curr, true, &req);
> +}
> +
>  void hvm_monitor_interrupt(unsigned int vector, unsigned int type,
>                             unsigned int err, uint64_t cr2)
>  {
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 278b829f73..a64c5078c5 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -4579,6 +4579,8 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>              uint16_t port =3D (exit_qualification >> 16) & 0xFFFF;
>              int bytes =3D (exit_qualification & 0x07) + 1;
>              int dir =3D (exit_qualification & 0x08) ? IOREQ_READ :
IOREQ_WRITE;
> +            int str_ins =3D (exit_qualification & 0x10) ? 1 : 0;

You are already in a branch here where str_ins is checked and known to be 1=
.

> +            hvm_io_instruction_intercept(port, dir, bytes, str_ins);

IMHO you should have this intercept be called outside the if-else. The
function already kind-of indicates str_ins is an input yet right now only
called when it's 1.

The rest of the plumbing in the patch LGTM.

Thanks,
Tamas

--000000000000481a9505f6a10300
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Fri, Mar 10, 2023 at 10:57=E2=80=AFPM Dmitry Is=
aykin &lt;<a href=3D"mailto:isaikin-dmitry@yandex.ru">isaikin-dmitry@yandex=
.ru</a>&gt; wrote:<br>&gt;<br>&gt; Adds monitor support for I/O instruction=
s.<br>&gt;<br>&gt; Signed-off-by: Dmitry Isaykin &lt;<a href=3D"mailto:isai=
kin-dmitry@yandex.ru">isaikin-dmitry@yandex.ru</a>&gt;<br>&gt; Signed-off-b=
y: Anton Belousov &lt;<a href=3D"mailto:abelousov@ptsecurity.com">abelousov=
@ptsecurity.com</a>&gt;<br>&gt; ---<br>&gt; =C2=A0tools/include/xenctrl.h =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=A01 +<br>&gt; =
=C2=A0tools/libs/ctrl/xc_monitor.c =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 13 =
+++++++++++++<br>&gt; =C2=A0xen/arch/x86/hvm/hvm.c =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | =C2=A05 +++++<br>&gt; =C2=A0xen/arch/x86/=
hvm/monitor.c =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 21 ++++++++++++++=
+++++++<br>&gt; =C2=A0xen/arch/x86/hvm/vmx/vmx.c =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 | =C2=A02 ++<br>&gt; =C2=A0xen/arch/x86/include/asm/domai=
n.h =C2=A0 =C2=A0 =C2=A0| =C2=A01 +<br>&gt; =C2=A0xen/arch/x86/include/asm/=
hvm/monitor.h | =C2=A03 +++<br>&gt; =C2=A0xen/arch/x86/include/asm/hvm/supp=
ort.h | =C2=A03 +++<br>&gt; =C2=A0xen/arch/x86/include/asm/monitor.h =C2=A0=
 =C2=A0 | =C2=A03 ++-<br>&gt; =C2=A0xen/arch/x86/monitor.c =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 | 13 +++++++++++++<br>&gt; =C2=A0=
xen/include/public/domctl.h =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0| =C2=
=A01 +<br>&gt; =C2=A0xen/include/public/vm_event.h =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0| 10 ++++++++++<br>&gt; =C2=A012 files changed, 75 insertions(+),=
 1 deletion(-)<br>&gt;<br>&gt; diff --git a/tools/include/xenctrl.h b/tools=
/include/xenctrl.h<br>&gt; index 23037874d3..05967ecc92 100644<br>&gt; --- =
a/tools/include/xenctrl.h<br>&gt; +++ b/tools/include/xenctrl.h<br>&gt; @@ =
-2102,6 +2102,7 @@ int xc_monitor_emul_unimplemented(xc_interface *xch, uin=
t32_t domain_id,<br>&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=A0 =C2=A0 =C2=
=A0bool enable);<br>&gt; =C2=A0int xc_monitor_vmexit(xc_interface *xch, uin=
t32_t domain_id, bool enable,<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0bool sync);<br>&gt; +int xc=
_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable);<br>&gt; =
=C2=A0/**<br>&gt; =C2=A0 * This function enables / disables emulation for e=
ach REP for a<br>&gt; =C2=A0 * REP-compatible instruction.<br>&gt; diff --g=
it a/tools/libs/ctrl/xc_monitor.c b/tools/libs/ctrl/xc_monitor.c<br>&gt; in=
dex c5fa62ff30..3cb96f444f 100644<br>&gt; --- a/tools/libs/ctrl/xc_monitor.=
c<br>&gt; +++ b/tools/libs/ctrl/xc_monitor.c<br>&gt; @@ -261,6 +261,19 @@ i=
nt xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,<br=
>&gt; =C2=A0 =C2=A0 =C2=A0return do_domctl(xch, &amp;domctl);<br>&gt; =C2=
=A0}<br>&gt;<br>&gt; +int xc_monitor_io(xc_interface *xch, uint32_t domain_=
id, bool enable)<br>&gt; +{<br>&gt; + =C2=A0 =C2=A0DECLARE_DOMCTL;<br>&gt; =
+<br>&gt; + =C2=A0 =C2=A0domctl.cmd =3D XEN_DOMCTL_monitor_op;<br>&gt; + =
=C2=A0 =C2=A0domctl.domain =3D domain_id;<br>&gt; + =C2=A0 =C2=A0domctl.u.m=
onitor_op.op =3D enable ? XEN_DOMCTL_MONITOR_OP_ENABLE<br>&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=A0 =C2=A0 =C2=A0: XEN_DOMCTL_MONITOR_OP_DISABLE;<b=
r>&gt; + =C2=A0 =C2=A0domctl.u.monitor_op.event =3D XEN_DOMCTL_MONITOR_EVEN=
T_IO;<br>&gt; +<br>&gt; + =C2=A0 =C2=A0return do_domctl(xch, &amp;domctl);<=
br>&gt; +}<br>&gt; +<br>&gt; =C2=A0/*<br>&gt; =C2=A0 * Local variables:<br>=
&gt; =C2=A0 * mode: C<br>&gt; diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arc=
h/x86/hvm/hvm.c<br>&gt; index 0c81e2afc7..72c9f65626 100644<br>&gt; --- a/x=
en/arch/x86/hvm/hvm.c<br>&gt; +++ b/xen/arch/x86/hvm/hvm.c<br>&gt; @@ -3484=
,6 +3484,11 @@ int hvm_vmexit_cpuid(struct cpu_user_regs *regs, unsigned in=
t inst_len)<br>&gt; =C2=A0 =C2=A0 =C2=A0return hvm_monitor_cpuid(inst_len, =
leaf, subleaf);<br>&gt; =C2=A0}<br>&gt;<br>&gt; +void hvm_io_instruction_in=
tercept(uint16_t port, int dir, unsigned int bytes, unsigned int string_ins=
)<br>&gt; +{<br>&gt; + =C2=A0 =C2=A0hvm_monitor_io_instruction(port, dir, b=
ytes, string_ins);<br>&gt; +}<br>&gt; +<br>&gt; =C2=A0void hvm_rdtsc_interc=
ept(struct cpu_user_regs *regs)<br>&gt; =C2=A0{<br>&gt; =C2=A0 =C2=A0 =C2=
=A0msr_split(regs, hvm_get_guest_tsc(current));<br>&gt; diff --git a/xen/ar=
ch/x86/hvm/monitor.c b/xen/arch/x86/hvm/monitor.c<br>&gt; index a11cd76f4d.=
.f8b11d1de9 100644<br>&gt; --- a/xen/arch/x86/hvm/monitor.c<br>&gt; +++ b/x=
en/arch/x86/hvm/monitor.c<br>&gt; @@ -233,6 +233,27 @@ int hvm_monitor_cpui=
d(unsigned long insn_length, unsigned int leaf,<br>&gt; =C2=A0 =C2=A0 =C2=
=A0return monitor_traps(curr, 1, &amp;req);<br>&gt; =C2=A0}<br>&gt;<br>&gt;=
 +void hvm_monitor_io_instruction(uint16_t port, int dir,<br>&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=A0unsigned int bytes, unsigned int string_ins)=
<br>&gt; +{<br>&gt; + =C2=A0 =C2=A0struct vcpu *curr =3D current;<br>&gt; +=
 =C2=A0 =C2=A0struct arch_domain *ad =3D &amp;curr-&gt;domain-&gt;arch;<br>=
&gt; + =C2=A0 =C2=A0vm_event_request_t req =3D {};<br>&gt; +<br>&gt; + =C2=
=A0 =C2=A0if ( !ad-&gt;monitor.io_enabled )<br>&gt; + =C2=A0 =C2=A0 =C2=A0 =
=C2=A0return;<br>&gt; +<br>&gt; + =C2=A0 =C2=A0req.reason =3D VM_EVENT_REAS=
ON_IO_INSTRUCTION;<br>&gt; + =C2=A0 =C2=A0req.u.io_instruction.data_size =
=3D bytes;<br>&gt; + =C2=A0 =C2=A0req.u.io_instruction.port =3D port;<br>&g=
t; + =C2=A0 =C2=A0req.u.io_instruction.dir =3D dir;<br>&gt; + =C2=A0 =C2=A0=
req.u.io_instruction.string_ins =3D string_ins;<br>&gt; +<br>&gt; + =C2=A0 =
=C2=A0set_npt_base(curr, &amp;req);<br>&gt; +<br>&gt; + =C2=A0 =C2=A0monito=
r_traps(curr, true, &amp;req);<br>&gt; +}<br>&gt; +<br>&gt; =C2=A0void hvm_=
monitor_interrupt(unsigned int vector, unsigned int type,<br>&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 unsigned int err, uint64_t cr2)<br>&gt; =C2=A0{<br>&gt; d=
iff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c<br>&gt;=
 index 278b829f73..a64c5078c5 100644<br>&gt; --- a/xen/arch/x86/hvm/vmx/vmx=
.c<br>&gt; +++ b/xen/arch/x86/hvm/vmx/vmx.c<br>&gt; @@ -4579,6 +4579,8 @@ v=
oid vmx_vmexit_handler(struct cpu_user_regs *regs)<br>&gt; =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0uint16_t port =3D (exit_qualification &gt=
;&gt; 16) &amp; 0xFFFF;<br>&gt; =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0int bytes =3D (exit_qualification &amp; 0x07) + 1;<br>&gt; =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0int dir =3D (exit_qualification &amp;=
 0x08) ? IOREQ_READ : IOREQ_WRITE;<br><div>&gt; + =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0int str_ins =3D (exit_qualification &amp; 0x10) ? 1 : 0;</=
div><div><br></div><div>You are already in a branch here where str_ins is c=
hecked and known to be 1.<br></div><div><br></div>&gt; + =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0hvm_io_instruction_intercept(port, dir, bytes, str_=
ins);<br><div><div><span style=3D"font-family:sans-serif" role=3D"presentat=
ion" dir=3D"ltr" class=3D"gmail-"><br></span></div><div>IMHO you should hav=
e this intercept be called outside the if-else. The function already kind-o=
f indicates str_ins is an input yet right now only called when it&#39;s 1.<=
span style=3D"font-family:sans-serif" role=3D"presentation" dir=3D"ltr" cla=
ss=3D"gmail-"><br></span></div><div><span style=3D"font-family:sans-serif" =
role=3D"presentation" dir=3D"ltr" class=3D"gmail-"><br></span></div><div><s=
pan style=3D"font-family:sans-serif" role=3D"presentation" dir=3D"ltr" clas=
s=3D"gmail-">The rest of the plumbing in the patch LGTM.<br></span></div><d=
iv><span style=3D"font-family:sans-serif" role=3D"presentation" dir=3D"ltr"=
 class=3D"gmail-"><br></span></div><div><span style=3D"font-family:sans-ser=
if" role=3D"presentation" dir=3D"ltr" class=3D"gmail-">Thanks,<br></span></=
div><div><span style=3D"font-family:sans-serif" role=3D"presentation" dir=
=3D"ltr" class=3D"gmail-">Tamas<br></span></div><div><span style=3D"font-fa=
mily:sans-serif" role=3D"presentation" dir=3D"ltr" class=3D"gmail-"><span s=
tyle=3D"font-family:sans-serif" role=3D"presentation" dir=3D"ltr"> </span>

</span>

</div></div></div>

--000000000000481a9505f6a10300--


From xen-devel-bounces@lists.xenproject.org Sat Mar 11 14:58:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Mar 2023 14:58:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508731.783590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pb0fp-0003jA-2r; Sat, 11 Mar 2023 14:58:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508731.783590; Sat, 11 Mar 2023 14:58: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 1pb0fo-0003j3-W8; Sat, 11 Mar 2023 14:58:16 +0000
Received: by outflank-mailman (input) for mailman id 508731;
 Sat, 11 Mar 2023 14:58: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 1pb0fo-0003it-04; Sat, 11 Mar 2023 14:58: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 1pb0fn-0005mk-UC; Sat, 11 Mar 2023 14:58: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 1pb0fn-00019M-EG; Sat, 11 Mar 2023 14:58:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pb0fn-0002cd-Dp; Sat, 11 Mar 2023 14:58:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+IVyyghDFFA02CuFCp3mv8uGyZGImgpLPhZf3RVJq9c=; b=6SK9iyc3NNwgV7YEeXsfTyMZAm
	ibRTG7ovI2t3XAk5C5/t5UEFLCMSDEt/vse0znQcpgfqhZ3UAFh+r9Z8r1uPD55NXaagGAvdtwIjm
	aW6ZxBMRWM9Gck/575SvCpj9iap0LafUs2xCbAeS3rAjOOc8DizoMRZlMBPGozmIgMo0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179546-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179546: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-xsm:xen-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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-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-libvirt-xsm:saverestore-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-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=7a59096258fb9e9679538da8851fe00656841980
X-Osstest-Versions-That:
    xen=7a59096258fb9e9679538da8851fe00656841980
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 11 Mar 2023 14:58:15 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-xsm        7 xen-install                  fail  like 179529
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179529
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179529
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179529
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179529
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179529
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179529
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179529
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179529
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179529
 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-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-libvirt-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-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-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     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  7a59096258fb9e9679538da8851fe00656841980
baseline version:
 xen                  7a59096258fb9e9679538da8851fe00656841980

Last test of basis   179546  2023-03-11 01:51:59 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 Mar 11 18:21:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Mar 2023 18:21:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508789.783612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pb3qS-0001gg-Jf; Sat, 11 Mar 2023 18:21:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508789.783612; Sat, 11 Mar 2023 18:21: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 1pb3qS-0001gZ-G5; Sat, 11 Mar 2023 18:21:28 +0000
Received: by outflank-mailman (input) for mailman id 508789;
 Sat, 11 Mar 2023 18:21: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 1pb3qR-0001gP-SZ; Sat, 11 Mar 2023 18:21: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 1pb3qR-0002LS-O7; Sat, 11 Mar 2023 18:21: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 1pb3qR-0000iN-6s; Sat, 11 Mar 2023 18:21:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pb3qR-0000gT-6Q; Sat, 11 Mar 2023 18: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KlW66oic1PHbIgxpwEgiJbod6ZnEw1XWZq1i0Eiz8CA=; b=PTL4/fKKVO2N8lZaCL9SQetK7Z
	EHI2fp3FB/jb3KabjUgUSApoPIqSwiahr+5ejE/LHeMzXw25Ep9ObF7WX+HC0FQlKwz9I9azy0ngK
	mZOL9NtU54MgvzuiWqSKf7d2J4PjCqAIOWRRMEFCgObV6oAljJwp+MPTjfueVmAmjX6E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179548-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179548: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=674acdd17808052519aafcbee1583ad89b66181a
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 11 Mar 2023 18:21:27 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                674acdd17808052519aafcbee1583ad89b66181a
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    2 days
Failing since        179526  2023-03-10 01:53:40 Z    1 days    3 attempts
Testing same since   179548  2023-03-11 03:14:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Lei Yang <leiyang@redhat.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Mar 11 19:14:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Mar 2023 19:14:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508810.783628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pb4fF-0007Qw-O5; Sat, 11 Mar 2023 19:13:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508810.783628; Sat, 11 Mar 2023 19:13: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 1pb4fF-0007Qp-Kr; Sat, 11 Mar 2023 19:13:57 +0000
Received: by outflank-mailman (input) for mailman id 508810;
 Sat, 11 Mar 2023 19:13: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 1pb4fE-0007Qf-Us; Sat, 11 Mar 2023 19:13: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 1pb4fE-0003Um-S4; Sat, 11 Mar 2023 19:13: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 1pb4fE-0003gC-D8; Sat, 11 Mar 2023 19:13:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pb4fE-0001g3-Cc; Sat, 11 Mar 2023 19:13: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=EgG8VqjtQkvY5cWb7sEhbQb8/40OLNnW4LCrFpS9Xu4=; b=bdoTqqrmsctVu8xm09CuYEW4us
	Rg8oKaI8BiCUevc2eW5ACP/FC9bpSOOvMpfPkWuSdbn1MbGYGvMnWn42W1Py+XzFCZFKX41aPK/ND
	nQCzWNNGEawjplWRTKw3agNnjQ2KwirqQgXXFepKbLjJuHqE4ifZslCFpQ0vIqD42ZdE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179549-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179549: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-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-amd64-libvirt-qemuu-debianhvm-amd64-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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=8419dd3b69cfada783a2e6df315e45dd294b0d18
X-Osstest-Versions-That:
    libvirt=61d51c9c418dd3c77794519a5f66a02118b11326
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 11 Mar 2023 19:13:56 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              8419dd3b69cfada783a2e6df315e45dd294b0d18
baseline version:
 libvirt              61d51c9c418dd3c77794519a5f66a02118b11326

Last test of basis   179528  2023-03-10 04:18:54 Z    1 days
Testing same since   179549  2023-03-11 04:20:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Christian Nautze <christian.nautze@exoscale.ch>
  Eiichi Tsukata <eiichi.tsukata@nutanix.com>
  Eric Farman <farman@linux.ibm.com>
  Jan Tomko <jtomko@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Ján Tomko <jtomko@redhat.com>
  Laine Stump <laine@redhat.com>
  Ludek Janda <ljanda@redhat.com>
  Stefano Brivio <sbrivio@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   61d51c9c41..8419dd3b69  8419dd3b69cfada783a2e6df315e45dd294b0d18 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Mar 11 22:21:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Mar 2023 22:21:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508820.783644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pb7a1-0002E5-2H; Sat, 11 Mar 2023 22:20:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508820.783644; Sat, 11 Mar 2023 22:20: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 1pb7a0-0002Dy-VR; Sat, 11 Mar 2023 22:20:44 +0000
Received: by outflank-mailman (input) for mailman id 508820;
 Sat, 11 Mar 2023 22: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=377f=7D=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pb7Zz-0002Ds-Cl
 for xen-devel@lists.xenproject.org; Sat, 11 Mar 2023 22:20:43 +0000
Received: from sonic312-24.consmr.mail.gq1.yahoo.com
 (sonic312-24.consmr.mail.gq1.yahoo.com [98.137.69.205])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f2e7d4f4-c05a-11ed-956e-85ef70e17bfa;
 Sat, 11 Mar 2023 23:20:39 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic312.consmr.mail.gq1.yahoo.com with HTTP; Sat, 11 Mar 2023 22:20:36 +0000
Received: by hermes--production-ne1-759c9b8c64-gbrwf (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID eb77c033143cbf2c05ee25f23f1eb10c; 
 Sat, 11 Mar 2023 22:20: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: f2e7d4f4-c05a-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678573236; bh=qSs36eFlHmP8zhiAjsOMUGuV2ONkBkq0KY4mlkxHMZA=; h=Date:From:Subject:To:Cc:References:In-Reply-To:From:Subject:Reply-To; b=ez0nxzTQDcdN1ILsHwp59RZGq6eqrd28ETTl1z08hw00nOWiVfSlVbX3ZUdfSPOnT/ajeQveotTjzPYPxvVf/xQG49kLyedpCb63jMTZIEpwOa+2mad+K8RkXUeWUdcwzpnpwCHGTdcKy53p6R7kaC2ULssAY8I75/ewWRLqSMSSPqmvmPPZILwdSx+K6+efFW1LFCoPq7555Kw9pYZ5WS8aGYIL+TZaxXkMoud+k2cej12GXcEICcZTVz2ftC2+FJEgS8GMJQ0g2oWvkltOcz/fWgTbpabZVdiO2nl6x8BXyU3srXOR4s11sjRFYZFRHSUF2XK35DHEb4l7zTqOtA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678573236; bh=snNRfoY63+RvjRWPUMnZFf5pOzpzpf/Sg1cPi5khqZf=; h=X-Sonic-MF:Date:From:Subject:To:From:Subject; b=FlOOczTrKJqyFlQg9PRRB6pZ5tmvGV9XrMCfJxUJSt3QApsbxfDnUMQ6HwoLF1WDShx0sPTlWpiEPZx4CqUM26sHidcfmHEmuLRVLU5J9ycAdCY+J2XKof3WCxb4hwYp2gFtdhXAn+5gz8C36Mm5S5dPl9QAQrV89Lb+rYEZb2WGc7P9rwtEazWsWkzFrqXO2+74fyRb3MG5LjNTJdTG5fUVm8ew6JtlufWfMDLLVupi+jIXdzLSTPD7XC8fd2Jcc8ifO1q8nneV4GgxDOEmVG5DxSv8jEd/3ZiE8GtX5YsDPMN8NvOcwdtCd3hVfOIUsKC4GEnjXX/TWFD4b7tgyA==
X-YMail-OSG: FaqhF0AVM1nF3IhLQO0VU.lnDaPalMv43J2I7_GUXGMZdq34kABMoCfZcaB_.YW
 pQBcqGLNdBcqa.2N8OMRPQzNQBFSHiuCRNY94O2WegdOJEhLvRW3Ua2RUA3Hq.I2MX0k84fWsiDn
 PY7vUlw84JtrRSgIFwqRRlfPteZ3v9aLyRALds47OfBWCXVW7FHWkCKOaOl3OpHtBoyF3t3kbhtB
 bmwHufPLnnojzYjIeDbot6eTkTJng7EOtG.437MKNmxpctncDsbC4zd7I58Bh5dXO26VmN5oObpj
 TkkqEyJ6EnbhbdA.ycKIQvD2zW6Oe1aVSd7UQI3MYzgH5lZNdj3fDftlrEJQpp3E1bYPPvkQI7g7
 fhPecgn.yCEv51h7nBOb44DEGC6HPY80SngEgjfoQNZG_NBAkrun6OLGnCRtJKojmsvfEuNvfRwt
 moD6nO6tbv3xOojQwHNBUkcJQs6To1Lo3gGXJAYnSTX8TQme1N1tTgMwsVY.xDo5mZClQRWhK90U
 zOEaROZh0Cljd2RjPeMfBKN0jcsX6UnOkTdnQs2aWRJCwPwfa77j.fc6HYh8hvgLnnV8xMpMuL6q
 SpIWwUbVWEX2MXtDaZu69K1U0ID03oe4K6IgGVT5oc6sZPJNxjFMa9ililZmuyIzZz8vAJ65GBy9
 UB48HK1JWB4Cml4Iw2eVzoNPgFpIHSnPb3Kdcezf0qAK2D36bmDQQdeJmIVR087qlllEeS8LGv2E
 YOnZWYXSJTXnB4OTz.naOVXd9QXf_j_pHNL9KnFcjxWjPDMWyapFGRtDNlLOxGhTLsDLRlj212vq
 LvmpaImbeFfkre6oNz1ROeMtxpLJW29Nb9SUyI11pbszWfqbBsZOIRnxkl3w2R2._c48m7zuPNfw
 5QTYSGJcAs1m6RHVKsaADdIx.6rl_11p3Kvcw_Ms231xT9_NKXgB7zrgdehL5ZdUu7xqtTx2MqlE
 IStbE4uOsusTZCLvFLgi3ZfyI4WHldg.1UpRQc0ATJhvkxettVgvTPQSCkr4rprBrF1uah6F6sOX
 ZCN0LGZhF4dw3xzWWozRqGFhMdoP7eOzbIJvt0aMdr060HcHYs0Dfsui9ehFf1mMRiclvYY2pTRH
 r2Xt0ZY._YjPDYn.9rjHy4oZQphcPwUiqVTSzmXUNhqx3PMxBlBQJox0Sb4drbwgdl48xYEnTkj3
 5snkOr0shSAGYzRdBiOh8NSmhLH8C019PY3w9kFqgIe7jMKdaD19sRj9amH9kXwtvTSLXHcZ5ynd
 afnqXISkOdtGCyYtWk3HK3yVrwlv.2lQuyKjksFrOKJKj8W2T_qUMwXuDCTaKf4DyCS_0DM9SrRN
 4RGScRX5_XXewMaG1v71SBfSToQjVk4GmdGIM88LWCKW.UqzVKqyM9yh3tDQpbjykZHueCq1TN2j
 O.bFFtmhwY7SH6DerdZcJxT9gSxY9LIR5zs7L1wsu9ppov0dGDr5gt0CG6QJYKiHWtYrzg.xlzXX
 U5LVSfotC9g9gV7210mnz2dkJWrX.MBzkqbWW7oAmLpxfxRx8Zpx6wQJivcXtuEIr4ajUlxIrGs_
 nj0YD1NYlFMCPpiZRzJQRrB_RKpVtdLYHSLDkvuTMGA2Ywo_DYBogEmPmXDoZf0zR3H07XZKr6Ru
 0Jzw7bW8u0f2vXVp_6lCP4jfBDPtUX8j8E9VXQu8BkO7c.9SpUoECFG6LMmOJIZTrimTMETfC1nb
 QYg.tY9Iin8v0pljI73.GakftO8rSUv_MoPtUr8WdIDr8nX7qNEgr0S3IwBp6XXQfiVrOWDpW70K
 ehuK0Bav78OJRA5O3hnlaxH6IbANcfuPW3Ymcod6aL4xkBYwn0ulpkPYMZbv1szdBW2V3_..aoNG
 mHACzj5BK7mM_3FY1faud3vGVXEZMOTQDAjHjp.U3Xp5bcez__eNHTy1B4ru9bX43xZJGGcgYx3W
 Dp5oyoN62Fnr3PyvlynOH6B7labzC5I..Ckg1MdtcHSZoHSUv73A167A_1Ew2FkSXejcGwhd0AFp
 dCIRKCLY.BRSlzeK5H139BGy5wUijLBEd6HAEBAxhMjhFXBSRvkM8aWa20tGCFvADJbQx6TGGMcg
 YfXFDyoYUVfJMUsgxYRtrVR965i_uA7NBSJpzhC5Kw3QFQ6tevD.Dc2P6ysqAb6fWGjEMiRwUhiY
 T_ef3m3VAiLqng1.xULs4boao4llMSK1HssWO8.fTXn3UkKRwCI0Aifxo_3R2SEmoMh_ahbMxgLo
 9Tvgcal_V
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <c20b7056-037d-67ff-0b2d-ea931d501bac@aol.com>
Date: Sat, 11 Mar 2023 17:20:29 -0500
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Chuck Zmudzinski <brchuckz@aol.com>
Subject: Re: [PATCH v2 0/6] Resolve TYPE_PIIX3_XEN_DEVICE
To: Bernhard Beschow <shentey@gmail.com>
Cc: qemu-devel@nongnu.org, Richard Henderson <richard.henderson@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 =?UTF-8?Q?Herv=c3=a9_Poussineau?= <hpoussin@reactos.org>,
 Aurelien Jarno <aurelien@aurel32.net>, Paul Durrant <paul@xen.org>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Eduardo Habkost <eduardo@habkost.net>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20230104144437.27479-1-shentey@gmail.com>
 <20230118051230-mutt-send-email-mst@kernel.org>
 <Y9ADQ/Yu8QQD0oyD@perard.uk.xensource.com>
 <0C2B1FE4-BB48-4C38-9161-6569BA1D6226@gmail.com>
 <96A4863B-D6BA-48B5-B5E4-54DD103FEBAA@gmail.com>
 <6C8AA4D4-FF57-4E43-A464-7F64C576ED5B@gmail.com>
Content-Language: en-US
In-Reply-To: <6C8AA4D4-FF57-4E43-A464-7F64C576ED5B@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 3056

On 2/9/2023 4:53 PM, Bernhard Beschow wrote:
> Am 1. Februar 2023 08:11:10 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
> >
> >
> >Am 24. Januar 2023 17:07:30 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
> >>
> >>
> >>Am 24. Januar 2023 16:11:47 UTC schrieb Anthony PERARD <anthony.perard@citrix.com>:
> >>>On Wed, Jan 18, 2023 at 05:13:03AM -0500, Michael S. Tsirkin wrote:
> >>>> On Wed, Jan 04, 2023 at 03:44:31PM +0100, Bernhard Beschow wrote:
> >>>> > This series first renders TYPE_PIIX3_XEN_DEVICE redundant and finally removes
> >>>> > it. The motivation is to 1/ decouple PIIX from Xen and 2/ to make Xen in the PC
> >>>> > machine agnostic to the precise southbridge being used. 2/ will become
> >>>> > particularily interesting once PIIX4 becomes usable in the PC machine, avoiding
> >>>> > the "Frankenstein" use of PIIX4_ACPI in PIIX3.
> >>>> 
> >>>> Looks ok to me.
> >>>> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> >>>> 
> >>>> Feel free to merge through Xen tree.
> >>>
> >>>Hi Bernhard,
> >>
> >>Hi Anthony,
> >>
> >>>The series currently doesn't apply on master. And a quick try at
> >>>applying the series it is based on also failed. Could you rebase it , or
> >>>maybe you would prefer to wait until the other series "Consolidate
> >>>PIIX..." is fully applied?
> >>
> >>Thanks for looking into it!
> >>
> >>You can get the compilable series from https://patchew.org/QEMU/20230104144437.27479-1-shentey@gmail.com/ . If it doesn't work for you let me know, then I can rebase onto master. All necessary dependencies for the series are upstreamed meanwhile.
> >
> >Ping
>
> Ping^2

Hi Bernhard,

I took a look at this today to see why it cannot be applied. I can see clearly that
all the prerequisite patches have *not* been applied to master yet, so I can
understand why Anthony cannot pull this up yet. Specifically, the series that
consolidates PIIX3 and PIIX4 south bridges is not yet applied, and that is one of
the prerequisites. I think you said it was reviewed, but it apparently never got
pulled up into master.

For reference, here is the link to the prerequisite patch set I tested with
this patch set:

https://lore.kernel.org/qemu-devel/20221221170003.2929-1-shentey@gmail.com/

The patch set I tested is a 30-patch series, and I don't know if it has
been partially applied. The title of that patch set is:

This series consolidates the implementations of the PIIX3 and PIIX4 south

So before this patch set to resolve the TYPE_PIIX3_XEN_DEVICE can be
applied, the patch set to consolidate the PIIX3 and PIIX4 south bridges
needs to be applied.

I don't know if the feature freeze means these patches that do not add any
new features still need to wait until the next development cycle.

Kind regards,

Chuck

> >
> >>
> >>Thanks,
> >>Bernhard
> >>>
> >>>Thanks.
> >>>
> >>>> > Testing done:
> >>>> > None, because I don't know how to conduct this properly :(
> >>>> > 
> >>>> > Based-on: <20221221170003.2929-1-shentey@gmail.com>
> >>>> >           "[PATCH v4 00/30] Consolidate PIIX south bridges"
> >>>



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 01:31:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 01:31:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508831.783672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbAY0-00045m-4h; Sun, 12 Mar 2023 01:30:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508831.783672; Sun, 12 Mar 2023 01: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 1pbAXz-00045f-U9; Sun, 12 Mar 2023 01:30:51 +0000
Received: by outflank-mailman (input) for mailman id 508831;
 Sun, 12 Mar 2023 01:30:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pbAXz-00045V-47; Sun, 12 Mar 2023 01:30:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pbAXz-00021C-1K; Sun, 12 Mar 2023 01:30:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pbAXy-0000HM-Dz; Sun, 12 Mar 2023 01:30:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbAXy-0001xJ-Db; Sun, 12 Mar 2023 01:30:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=S3kuhrmOM8/uzL4RYkZwHjgNceFbTNeczghna6e+IcI=; b=yCWbyAcevDEwktU0W2s0TKDhmT
	HY3t480dEh+2dss1GqBMsbsG3zjEFY1UuoKZL5cpPM6XxSfRpOIVJEwmWm//vEGDDfP9GRLpe6gvO
	m62hvtTCR1x+ayS1KCmJxF3Kb5tiNM4Ty+auX3+wj4UBPwdmp2O1zSut5gCfIuPmcmZY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179558-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 179558: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-libvirt-xsm:xen-install:fail:regression
    linux-5.4:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:regression
    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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-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-i386-xl-pvshim:guest-start: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-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-5.4:build-armhf:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=126ee8982bfcae6111f0fd157ee5cdd0ec7f5ca5
X-Osstest-Versions-That:
    linux=a103859aaa718cf13cb5f55c3a33512dbab613f7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 12 Mar 2023 01:30:50 +0000

flight 179558 linux-5.4 real [real]
flight 179565 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179558/
http://logs.test-lab.xenproject.org/osstest/logs/179565/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt-xsm   7 xen-install              fail REGR. vs. 179082
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install        fail REGR. vs. 179082

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179082
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179082
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179082
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179082
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179082
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179082
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179082
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179082
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179082
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-raw  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-thunderx  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl           3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit2   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-xsm       3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-vhd       3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                126ee8982bfcae6111f0fd157ee5cdd0ec7f5ca5
baseline version:
 linux                a103859aaa718cf13cb5f55c3a33512dbab613f7

Last test of basis   179082  2023-03-03 11:13:35 Z    8 days
Testing same since   179558  2023-03-11 16:12:23 Z    0 days    1 attempts

------------------------------------------------------------
342 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-armhf-armhf-xl                                          starved 
 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                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  starved 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  starved 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 starved 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      starved 
 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 10245 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Mar 12 01:55:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 01:55:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508836.783682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbAvI-0006fI-Uw; Sun, 12 Mar 2023 01:54:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508836.783682; Sun, 12 Mar 2023 01:54:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbAvI-0006fB-RC; Sun, 12 Mar 2023 01:54:56 +0000
Received: by outflank-mailman (input) for mailman id 508836;
 Sun, 12 Mar 2023 01:54: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 1pbAvI-0006f1-8n; Sun, 12 Mar 2023 01:54: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 1pbAvI-0002YW-4k; Sun, 12 Mar 2023 01:54: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 1pbAvH-0000sm-OD; Sun, 12 Mar 2023 01:54:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbAvH-0004qD-Mm; Sun, 12 Mar 2023 01:54:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=trNscV+AlH8h3/lhhWyaOFurG8IJK+rwWjEsnSv+tGE=; b=KHK5hMo/4jfsbvMF37XNmaotij
	fdYJgzBFewrxnJNYyPOPyY9EjWt5O/xBmD6S1Gymi0owDYCANtbJ16b6T+FwLpqFeM8w69ctivzF8
	L+0q44x3rcqW/ChCb/lIoEupJ0ZQzFN9myd04QFvYXgJbqLTVje5qiZ7TieG7KMoQbuA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179554-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179554: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop: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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=ef5f68cc1f829b492b19cd4df5af4454aa816b93
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 12 Mar 2023 01:54:55 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 27 guest-migrate/dst_host/src_host fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 17 guest-saverestore.2 fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds    22 guest-start/debian.repeat fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                ef5f68cc1f829b492b19cd4df5af4454aa816b93
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   18 days
Failing since        178093  2023-02-22 05:02:47 Z   17 days   36 attempts
Testing same since   179554  2023-03-11 10:34:32 Z    0 days    1 attempts

------------------------------------------------------------
2105 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Mar 12 04:34:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 04:34:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508851.783710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbDPc-00072k-OV; Sun, 12 Mar 2023 04:34:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508851.783710; Sun, 12 Mar 2023 04: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 1pbDPc-00072c-Id; Sun, 12 Mar 2023 04:34:24 +0000
Received: by outflank-mailman (input) for mailman id 508851;
 Sun, 12 Mar 2023 04:34: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 1pbDPb-00072S-18; Sun, 12 Mar 2023 04:34: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 1pbDPa-0006Ow-Th; Sun, 12 Mar 2023 04:34: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 1pbDPa-0007s5-Ju; Sun, 12 Mar 2023 04:34:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbDPa-0000jU-JU; Sun, 12 Mar 2023 04:34:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=avB1B7sV+hFLo04l/10btE8f3DJFgQOBlUOMDhtI4y4=; b=PecnwPr4y7ZcFdhnV+gHi961bT
	4IbV7xdUZ/heVmpkoyKb44fTTpu82BS2eGRugAix8vOt/lPY81d3fH+rexUNpi4XKGZqv1enuFpwB
	oW813gSxKuE+6DKQGQOF1PGhFyZZc+5HLL7zILHxwQ7uTiL4shaP7IZ/mbr8z5Q0o3F4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179561-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179561: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=674acdd17808052519aafcbee1583ad89b66181a
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 12 Mar 2023 04:34:22 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                674acdd17808052519aafcbee1583ad89b66181a
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    2 days
Failing since        179526  2023-03-10 01:53:40 Z    2 days    4 attempts
Testing same since   179548  2023-03-11 03:14:19 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Lei Yang <leiyang@redhat.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Mar 12 07:55:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 07:55:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508866.783771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbGYU-0003kD-Ch; Sun, 12 Mar 2023 07:55:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508866.783771; Sun, 12 Mar 2023 07: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 1pbGYU-0003jV-6L; Sun, 12 Mar 2023 07:55:46 +0000
Received: by outflank-mailman (input) for mailman id 508866;
 Sun, 12 Mar 2023 07:55: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbGYS-0003Pk-I7
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 07:55:44 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20627.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45eaf9cc-c0ab-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 08:55:37 +0100 (CET)
Received: from MW4PR03CA0075.namprd03.prod.outlook.com (2603:10b6:303:b6::20)
 by PH7PR12MB7455.namprd12.prod.outlook.com (2603:10b6:510:20e::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.23; Sun, 12 Mar
 2023 07:55:31 +0000
Received: from CO1NAM11FT110.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b6:cafe::56) by MW4PR03CA0075.outlook.office365.com
 (2603:10b6:303:b6::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 07:55:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT110.mail.protection.outlook.com (10.13.175.125) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 07:55:31 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 01:55: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: 45eaf9cc-c0ab-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PjMwgE8mPP0SiC4FrlJnrf//RiKlmVb/kwUWp0dOLZI3XpNR/I58JUdHTN0+sNm2XMb8jTrDu7rst67z6Q0Qc+Q4QdnpUNT+ojYicyFS68w4nVp8nOvzRSYAZZSzB7DCZhF5tsX4UHvl2d3aPPe9jjMt6fRTZt+ymazWBvqFQS7sG6kR2uuPVgR4ERTjUO64AZ3SCEqCz8Ffw40A4UEfPvWiWB1l/Po6JpSoBPp5j3D3PevS5lDVq6S3O4aspk34m6DXpZAOWc3Zv7Xe7NkhFrOKc2A8hnH39MuCF59b7CWVHcusaxO1z/z5g+8MD5GkBrmrRsQyQdT07S6xpJjytw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7H1lvZLVrUyYMTjixlNAUXTLFqacVwjL/tsS+Mp+YSE=;
 b=oMZQKfSHyPDFMz/WgFcDqzwFhJIvf9zxOi2Or+mafz/UDV5aum9jp0lIYwLxCbHzRV6X9t7T7iFd0aZnJLqdoPclInQHzacw+pg+eD9DbNVd8yfxHgA9D2gV9ypLwck7z6wgrHeLuKXN6z6VZepPM/Cw/DVwmvTjLIjogrX9PwAe7Dt+34W4pTxOuRTstKMm0NyZO5huqDVBoVSdEOd1WzojpEf9dkFVlyWFLyn6O5LhwoVqJx4Vp/67CV8tbz/fcw4CqUzFr0uCquyyg7rYQjvLXpBueA+sEgpCiiEPy6n4Fe+DI285OjYGPjNtRztbCQ8QXswmzCWcEe8tNBe4zg==
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
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=7H1lvZLVrUyYMTjixlNAUXTLFqacVwjL/tsS+Mp+YSE=;
 b=aFLTQMpv6G6TnNZIF9+YRVleSDcyLDMlwsKv5VP+PUqpJxErOVKMOWAiWZjRmlbs51ELgpHJnOVX44Sqivlhwbx8MqYaWi+ckhNxeFMqUQk8FK14snw3+0b8Z4RFRuqtoXJLaeu7D3FpUccagXjEGrhwAKxaM+vBcZkpT3xXBuQ=
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: Huang Rui <ray.huang@amd.com>
To: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Date: Sun, 12 Mar 2023 15:54:51 +0800
Message-ID: <20230312075455.450187-3-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312075455.450187-1-ray.huang@amd.com>
References: <20230312075455.450187-1-ray.huang@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: CO1NAM11FT110:EE_|PH7PR12MB7455:EE_
X-MS-Office365-Filtering-Correlation-Id: 9ca02b2e-99f9-486a-a652-08db22cf2713
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LhjfsuJXLp0rfRSLBsmLtugm6VXhYoTckpv0j40DyeBu5W2Ego1kbUXBPaTK8GkOVwFHAm+zkAQEFMDYtYWMxFKFgqZeEa+djHBaTkz4GyVZbze44Qt6M4peHEFFAX0eCKh034NE2+htzsQiDczLJomx6EkD2AUMH82CDP1AJzanTjCZ651oitxwxDXf2rBzp1hZMlbMekxs3ECJdKqwSNHE8S14l7u+orIU+gExG6iTxZib99JcyqZS9PZL7cI5KWqx2DnEFMKHd2MrvYlSs7qYbKqWeR6NSq0tLK+c3D7LcnydZxojgYU0TT/NM1KGmo9WCE8Kt4dFEKRaWpeXwHeoTrYbEhvFB5Eo1DnVQsk13UynyN9bObxU5qv2lGFNh8kpFwvIaXd0s1qGhNBMvUlRgvcEFg2UaCefSk+h9K+8OXvGVyp7y6NA38sUeuk3De28SIeNB+dcoBsC5D36dhkQBUoZ3Ee20N2SUxY54M13AZfscXUQ9R7FsRay9B4CYd/HItIeuNJGcFcpgBJJjtkO0o+jHIct5cS9ZWYDgba5ai8y1PGOluT0D3vgcRRBk7tSCxHfCjASbnw2v8bGC0KcYaXbYEhgisGvUb80CWZDi05MxO5TCBQ1hs+BALfIwp0A5vPawrd6YsEwhQXIvSaBq+FRBsqY32glouw/FWF8rSDRGjFaJl870h5URJT2z0AqLdwoE/XY6tZZs3L6rqvN86Xmiz8IQW2CMn36cTo=
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:(13230025)(4636009)(136003)(396003)(346002)(376002)(39860400002)(451199018)(40470700004)(36840700001)(46966006)(40460700003)(4326008)(5660300002)(4744005)(8936002)(41300700001)(2906002)(81166007)(82740400003)(36860700001)(86362001)(356005)(36756003)(7696005)(70586007)(70206006)(6666004)(8676002)(40480700001)(82310400005)(426003)(47076005)(83380400001)(110136005)(478600001)(54906003)(316002)(186003)(26005)(1076003)(16526019)(336012)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 07:55:31.0668
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9ca02b2e-99f9-486a-a652-08db22cf2713
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:
	CO1NAM11FT110.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7455

From: Chen Jiqian <Jiqian.Chen@amd.com>

When dom0 is PVH and we want to passthrough gpu to guest,
we should allow BAR writes even through BAR is mapped. If
not, the value of BARs are not initialized when guest firstly
start.

Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 xen/drivers/vpci/header.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index ec2e978a4e..918d11fbce 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -392,7 +392,7 @@ static void cf_check bar_write(
      * Xen only cares whether the BAR is mapped into the p2m, so allow BAR
      * writes as long as the BAR is not mapped into the p2m.
      */
-    if ( bar->enabled )
+    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
     {
         /* If the value written is the current one avoid printing a warning. */
         if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 07:55:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 07:55:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508864.783755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbGYS-0003Qc-On; Sun, 12 Mar 2023 07:55:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508864.783755; Sun, 12 Mar 2023 07: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 1pbGYS-0003QS-Ji; Sun, 12 Mar 2023 07:55:44 +0000
Received: by outflank-mailman (input) for mailman id 508864;
 Sun, 12 Mar 2023 07:55: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbGYS-0003Pk-2L
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 07:55:44 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47bc34a4-c0ab-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 08:55:41 +0100 (CET)
Received: from MW4P222CA0008.NAMP222.PROD.OUTLOOK.COM (2603:10b6:303:114::13)
 by SN7PR12MB7884.namprd12.prod.outlook.com (2603:10b6:806:343::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.22; Sun, 12 Mar
 2023 07:55:35 +0000
Received: from CO1NAM11FT039.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:114:cafe::74) by MW4P222CA0008.outlook.office365.com
 (2603:10b6:303:114::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 07:55:34 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT039.mail.protection.outlook.com (10.13.174.110) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.23 via Frontend Transport; Sun, 12 Mar 2023 07:55:34 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 01:55: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: 47bc34a4-c0ab-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nafOpKlcIRTyg23HgmNgeQkBMxcgPqyA+mEVMtwaTireY2ua1u8PC6QLPlmlBuMGi6VmhQ7RehMi+u2Qe43Pip41ifwt0J5Zojp/glznLBpxoahxYRm0vXyWgKi44gD1H2Tn0FqFN34r0C4qZl1F85kTp2b8eJvmp2y0j1KYWGm6bY69otz2NMFUQo6RggA4kchCeqRA7+GUQ/uMJmP8GvLpM9N4NMXUdz02akiZPA+bLePk/oxVvWiLAt6NGih4d3nQqeUc1KmqPtmDAy1HUaEiyk5/+QKYOZ7Xc3ECDe9xrGTN07kfqN5PH62qIDrEQLDT+QJ+IpiLd/iLQaoaSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MqKEnNbvS9HCCnWGJMjgGluFe8YkMoLVY+wYZUwY7qc=;
 b=bddKS3TL/Uh7aL49Om9fHR4SkJWUdHk+zXq2qqcdp2fdKjt3ME3JGjg/XIAqEgkWllKbbMyAFetD1ZoArZAuGlPzdGOnvyzSINvW9CfEwz3e1aS3xx0n36AwdJ2H4gxwVsAZzzt08C1eggLr8K7CkG6WM8CA5oIDBY5l2hkRayuECBUJye6WHakHnanvy2O+yGhgsaSSsMlj2kMMquPIxvOM9RX/ZT+RudVsfF+uYQPXaPxfaXl5P7vLPod0bNIBXdcgh2fd9AyrExLsOUJ64n3wzfnmHtzLDv9YaIQGMGGZN/Yq9d9qy26fso/vQbriOAxDrtntQ0Mv+w5PF2lX7Q==
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
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=MqKEnNbvS9HCCnWGJMjgGluFe8YkMoLVY+wYZUwY7qc=;
 b=Vtk+ryNxIrEPUE5C8tMAbcx+eSA81qs/72RbEWiV/pwEhncKMPWmuCTzcI/L1xR+lI753l2WqSSOtWnU5bdc3kUmDdSk+OBv60Pt+RIptSPi90P2DG8gNf1nl7vtJYdfw1RiYheNrXxSBYOH9/JhQacWmNExxtLnZLC/vnGC14Y=
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: Huang Rui <ray.huang@amd.com>
To: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC XEN PATCH 3/6] x86/pvh: shouldn't check pirq flag when map pirq in PVH
Date: Sun, 12 Mar 2023 15:54:52 +0800
Message-ID: <20230312075455.450187-4-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312075455.450187-1-ray.huang@amd.com>
References: <20230312075455.450187-1-ray.huang@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: CO1NAM11FT039:EE_|SN7PR12MB7884:EE_
X-MS-Office365-Filtering-Correlation-Id: 2a3fbf4c-a82e-40a3-ce66-08db22cf293b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wOTDAhecHy1DdJft9GB+NcrF+9kAPYVZKaFxJds2eNv09Tmzv2MN/7TnNNSj5KCOH40fr/xauOptYwrZKqODcYf7j8kpaITM82Ao5wlpwUbbOfS3hYYSwTjePgEMsgBGkpwDU067dBohJN76gqaTd3swqY0b5PWTzP+EJzaACtfpQQje8bucMNa60n0YO3lTE3Ou+I6VhltxK1JMEimGUKWJi7JkJQAjn+ufNhvsQYaSWd0iEXj3qK6LVRZ/9h46BlT4pTLmwL79eIVDcz5vRrAeTNUm2sWXD8sQsYbDyK4ez6tT8ZdC/EJxklXXu/JO2Q3rm/c/lgq7Dm0fXqw4Unuo5tN+z3507dw81sCV6X+wzCdDSCWWG2zMSqt4PAgLTZBoxFoVZBUeVA6yNpVABY5uaeDXSA7Nm+4+rYs6fqj9XLbKCZx6UhIUcsnB3YlyOk8UdSG11PuJJjBL+lcb/V2UrlEVTyuwpNxUWo4PInEOpUJsMCc8Frr/O38+jkMbN/RNmeeZUBJd3WPcM8StXlgcJ8I2SDxGPLOTNWo3cmk8wOHIiwVXBMovVtWG9jJymKTuBuDzIdTj2muXPJ4gQWK8Wtd/vScJgEi5UuWVyoCJH5oFX23a1XG/yJX00apn5cxdkRhrR3TZ03+l0cpFhPdngG0hl6gjZ57sP4gwufZJDpG288Il8l026L6uBRLUEMZHtm2CCG6I4F4Q0OAkBYNn9ZjxfLcxkvnQ9vRRDzo=
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:(13230025)(4636009)(376002)(346002)(39860400002)(396003)(136003)(451199018)(36840700001)(46966006)(40470700004)(83380400001)(70206006)(70586007)(4326008)(36860700001)(82740400003)(426003)(82310400005)(336012)(47076005)(41300700001)(81166007)(2616005)(316002)(16526019)(26005)(110136005)(54906003)(1076003)(356005)(186003)(8676002)(40460700003)(4744005)(36756003)(8936002)(5660300002)(40480700001)(478600001)(2906002)(6666004)(7696005)(86362001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 07:55:34.6854
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a3fbf4c-a82e-40a3-ce66-08db22cf293b
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:
	CO1NAM11FT039.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7884

From: Chen Jiqian <Jiqian.Chen@amd.com>

PVH is also hvm type domain, but PVH hasn't X86_EMU_USE_PIRQ
flag. So, when dom0 is PVH and call PHYSDEVOP_map_pirq, it
will fail at check has_pirq();

Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 xen/arch/x86/hvm/hypercall.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index 405d0a95af..16a2f5c0b3 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -89,8 +89,6 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     case PHYSDEVOP_eoi:
     case PHYSDEVOP_irq_status_query:
     case PHYSDEVOP_get_free_pirq:
-        if ( !has_pirq(currd) )
-            return -ENOSYS;
         break;
 
     case PHYSDEVOP_pci_mmcfg_reserved:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 07:55:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 07:55:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508865.783765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbGYU-0003gX-1u; Sun, 12 Mar 2023 07:55:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508865.783765; Sun, 12 Mar 2023 07: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 1pbGYT-0003gO-U3; Sun, 12 Mar 2023 07:55:45 +0000
Received: by outflank-mailman (input) for mailman id 508865;
 Sun, 12 Mar 2023 07: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbGYS-0002sM-Bb
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 07:55:44 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20627.outbound.protection.outlook.com
 [2a01:111:f400:fe59::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 494d1d06-c0ab-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 08:55:43 +0100 (CET)
Received: from MW4PR04CA0239.namprd04.prod.outlook.com (2603:10b6:303:87::34)
 by MN2PR12MB4344.namprd12.prod.outlook.com (2603:10b6:208:26e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.23; Sun, 12 Mar
 2023 07:55:39 +0000
Received: from CO1NAM11FT053.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:87:cafe::9d) by MW4PR04CA0239.outlook.office365.com
 (2603:10b6:303:87::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.23 via Frontend
 Transport; Sun, 12 Mar 2023 07:55:39 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT053.mail.protection.outlook.com (10.13.175.63) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.23 via Frontend Transport; Sun, 12 Mar 2023 07:55:38 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 01:55:33 -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: 494d1d06-c0ab-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VQm1k/kBWSRg0LrYU9BK0LeDcz44AbtFQN6dQVO2Y66koz5mealDdRb9+W4eiAPRIVYnY0kmTXoGBtjCoQPOZquGgWA4gOafIPhlxYqhcA7mngzt8OYX5mXJUx7jCELE5d36zSPr8EHSUdy5zf3es0whZ4MSdd18rHZ9i7afKO98B0jMgCP7HqyHVDtEpwXLqAjx7wBwUpAZiJMLydGzmYvsox45mwqEnL2q1noY5Dk6F4dhlUFbmzvtK1nTkbLfI1QdCFUuofBdnYeLy0QTICWVlwuWWr8zF4Z5wde4kHWOcWpDHwnl8jKVGesKLj37kk/e5Vz+UZ7T9nnr6utczA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hn55rEhs+X6Z6VXqr4ER2FI0Ysbg4HaxOmX8DDwQuGQ=;
 b=hYg+xT6yXl1Y7rEqPXd5Ltgc83S5GBJq4BxJKt83fnkBpBz7qHGQQvUUxefdq/J16plU6KT5ntFDdEuBSFho/HgqAh8Fgnd52wUsnA5agQJbB5n6G4wx+xEBUWxDnMTG0AOoU2PQ795OkXVAunNCDneK790Hnjv0GD0vQ30xniPrMixDYyDizPw4+3VD+nZr661fqFrSLxuvrHQ4Nd/bGX2nnTF9uGfNGddreZ6Rb99C5MDa2o2EdNw7JPO4AsJW0SL5jYIVfuZwnjXOg2z+QP+tBPXf6fm/juHqx4z0MSmUkPoVn4Jv+qT5d/PzDUcr5RnI8XZYCNqnUpRkTH3tiw==
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
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=hn55rEhs+X6Z6VXqr4ER2FI0Ysbg4HaxOmX8DDwQuGQ=;
 b=1nXhiB7OKGQIi+ike766indDPubgHIgnCW2dt02dT6KBERW6Xz8Gmrqb48XUkcbdAMw5Edh0rkX81SpuioSFr59AufXhcaG5zO1sDrdAbRJF/E39xsH4POtXCZXf/YxYq9yN+bAFAofVgmkh1RWfgGhUSp4rQMc4Q2vMvbDIUEQ=
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: Huang Rui <ray.huang@amd.com>
To: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC XEN PATCH 4/6] x86/pvh: PVH dom0 also need PHYSDEVOP_setup_gsi call
Date: Sun, 12 Mar 2023 15:54:53 +0800
Message-ID: <20230312075455.450187-5-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312075455.450187-1-ray.huang@amd.com>
References: <20230312075455.450187-1-ray.huang@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: CO1NAM11FT053:EE_|MN2PR12MB4344:EE_
X-MS-Office365-Filtering-Correlation-Id: 0383abac-af91-4308-a80d-08db22cf2b38
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CEuGiI5kCnShtQiU98Z/oHlA1JZku/GOtE8Iykk3+zmmp0A4Wg1K52MG7LTp2gKCRUdCyqS5Cajlem2xunNM300xqIN5DxEaVN1lzx+/NkYp87QA8DKp+8aRXWMzSiE/PaGdjDYmyfiQ5nL99JHjfwEYIhKCLSYiKoN0ir2igr4XwXpr//55t6bb0xchZO6y0sPJEPe90rQCzG5fCeAcTyAh5Fp4H1Q6p/e3caUFnlnWYGJiYj+DDj9LhoPZy9EdQvjY2rrb3vVbLG7GzbUloB/uHk3AsBFkvHXVabSOuT3zWe29B1IwyPOUCU0CXl2fJ4VZ6MwPwB5SxkfP2YvwLQL+XQ0f2F1Lh9cfSActJmgZVjmnXwv8h8hlVD+G5vI6dDCfBmcGNCp0QGff+MKWgyVA0uSGVNzhfu6YZqMNVGJYD3sETs/9abwfEuB0fyUCcDz5rn6jdnpZnmajYtif2jJv0yOgnrQuW8uuwcOfjNcNoESBdin43QtD+dTvlkzaFFIaC30pZxe2e5Qzc5HJzaTEIge6Er4jRCvublOt8hB+sk8IGwgZv37+qYh0InadmaVlXJRbom19YOLqtoKA4DnZ85asNB7JhnsBD/Zj2KzBY712TZdHs8Wg8dopPWRcMXgrIbT7+UHSNaR0xicPrbtCWVWH2K7Ap/cJU1EuXMqyj/VfDhol+jF7eQh/osCsYv4y650KV1PqQv0ZBYNPqYHIFbtURL0M8YTsVb15q7o=
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:(13230025)(4636009)(39860400002)(376002)(346002)(396003)(136003)(451199018)(40470700004)(46966006)(36840700001)(86362001)(356005)(36860700001)(82740400003)(81166007)(36756003)(2906002)(41300700001)(8936002)(5660300002)(4744005)(40480700001)(40460700003)(82310400005)(4326008)(1076003)(26005)(186003)(16526019)(336012)(426003)(47076005)(316002)(110136005)(2616005)(54906003)(8676002)(70206006)(478600001)(70586007)(6666004)(7696005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 07:55:38.0202
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0383abac-af91-4308-a80d-08db22cf2b38
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:
	CO1NAM11FT053.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4344

From: Chen Jiqian <Jiqian.Chen@amd.com>

Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 xen/arch/x86/hvm/hypercall.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index 16a2f5c0b3..fce786618c 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -89,6 +89,7 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     case PHYSDEVOP_eoi:
     case PHYSDEVOP_irq_status_query:
     case PHYSDEVOP_get_free_pirq:
+    case PHYSDEVOP_setup_gsi:
         break;
 
     case PHYSDEVOP_pci_mmcfg_reserved:
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 07:55:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 07:55:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508862.783735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbGYJ-0002sd-4P; Sun, 12 Mar 2023 07:55:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508862.783735; Sun, 12 Mar 2023 07:55: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 1pbGYJ-0002sU-0z; Sun, 12 Mar 2023 07:55:35 +0000
Received: by outflank-mailman (input) for mailman id 508862;
 Sun, 12 Mar 2023 07:55: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbGYH-0002sM-Hr
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 07:55:34 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7eab::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4133acfb-c0ab-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 08:55:30 +0100 (CET)
Received: from MW4PR03CA0232.namprd03.prod.outlook.com (2603:10b6:303:b9::27)
 by SA1PR12MB6728.namprd12.prod.outlook.com (2603:10b6:806:257::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Sun, 12 Mar
 2023 07:55:25 +0000
Received: from CO1NAM11FT109.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b9:cafe::31) by MW4PR03CA0232.outlook.office365.com
 (2603:10b6:303:b9::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.25 via Frontend
 Transport; Sun, 12 Mar 2023 07:55:24 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT109.mail.protection.outlook.com (10.13.174.176) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 07:55:24 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 01:55: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: 4133acfb-c0ab-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jnTiAh9jBQdy7czobCYYxeBGgHkk/Z5HaHYAFY//KB/Qd9pU0QM3iPjp0aP3p0CkXRSpR0Bsujksu6zU/KbWoVOmOGAYjo2d3nZ8LL1F6o+cu1v7CwboRg4wgZifRZzxYaZWKy7tgZwJr2RawHwu6FLfWu7o/8i4yWmM631EvDshV3kPQQqIr3r8vgJNZFDoNjiFNtg09R50iIra6Tf0t9gc62RD7LJtpTqsvCzhdI9VJKVogyd3r7itSVkDSoedG/EMYUWSOC1dPx+RPmcpvY9iaeakOVZqLEdAOBJ7etImD1t1/KiTpzLxNAiL7SzVDIlUr7KOifDGD8neq7j/HA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yv/NbIlD0mz3/K9+OrFPp+jmJock5likMKhmyvEq/34=;
 b=ZAuGSceR13d6L1oSjj+NAmdsl998uLfHj5u97B3JZ5zWhVu9NWtGr6hrb/cWN96D2YTPNUHTZvzJno/MBDb92ozk/6jT2mH3RroYBzIj7C82SkkMOLBoateNjMWc3WoeDbfIVBvocseCKTn3oBO7FRvAUxRJ+bHoxVcbPFRf8xcm+WS0s4oicm1ogsfEw2cgp05dV7mkYO4keqW3+yMWaBa3GHNZvNrbHNydu95FgR7ptVJuL15l/x3m6vhIv44gR1wInzWEQ7U4c7wBaGFPdzmWykr6bdOyN4cRDSxpFYTzhmEQzxhDFBMBLTsYBxROqRIckuweWP5m7qIBlu2vnw==
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
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=yv/NbIlD0mz3/K9+OrFPp+jmJock5likMKhmyvEq/34=;
 b=K7G8cBSEXFYMwa5m4TUR0NKoyZhmPQ17VIKWJVg8/gnd8bf+cgU5+EOonLQicahsfHIHoEeeQP3E/7kBMbkcus9922kk9r6Yn/SainQ1Q3ot/zj1HV2V2/+qOhwB+dciaY0s4TZfMC3sgW8BJCGiVrLtlA/HkAmymDaaDxiwJRM=
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: Huang Rui <ray.huang@amd.com>
To: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC XEN PATCH 0/6] Introduce VirtIO GPU and Passthrough GPU support on Xen PVH dom0
Date: Sun, 12 Mar 2023 15:54:49 +0800
Message-ID: <20230312075455.450187-1-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.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: CO1NAM11FT109:EE_|SA1PR12MB6728:EE_
X-MS-Office365-Filtering-Correlation-Id: 37780bed-cd91-4f8e-bfff-08db22cf22e0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5KtCpYA2Pqf8vDD0OMI1xnNxTJLixImkxMSI4pLbbF7AYwIf/ejzfcXeYcBTfl9argQeGHbpJ6AITcobFqwkUH0bqQvD+Auf7HcqTqnMS6Epx9kxpRA8RrmOru0LgLantcAgamfYUvW/2YtXqezwlsdshT4pjttXecR9I9oYAV+TP6PxFD0Zw0VC29gyjsWe9Q4l3x56Q1f8c1trO2LN6GCjiYR4hj29L/4KNnkqax9JMZM36tRBsyYuszmccpLJYJ9sZFsbH6aTK3w7A/j0+m8V9VnnOBvIrSRH9MufiAy6fdCG+lbfZn9k4xz80gW+Pyzx2Av3DMGeMjPHFbh+qLfY+sZBA3D5OxxtY0PnngxLSg2mXJpu/gUS14boQr+9vLSXduXyVhrj9DjZkOoCBKwGctd75/7kXRS+USfMyDmDDU//TNKYlNBz1syWygTfp6GUL4RpdnVPdB7wSXmFxlxzL2kHaFWeNICSl7gtEC9FdetX45PuXH7O4Cx2dpnnoGH+ss+/HcqTZoGE5YYO451BvXSrOKKjti35xA7BW+k2NEkMtsETfjge3Dg1BZLhVuqgcMm3r+F/hL+fcFxn5vIxouu473kmPe6vTL7erCvJHglp9DkNeRFQL6rhJA0jGUpTvn6eyuqemkwQX85uZpErOoQIonqsNMsCBNV61Fy20VyVgorUuhQy7erElxqVnu0G4YaR4akb9FgNa2BHyemu3hU9LE0JfqWMVSl3N85qWfffvhoCOogKxJTlCOJrDRr3w/yw5H0tPxH+M/gzqtPMAgvRPfLyKvd+KW/RM/E=
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:(13230025)(4636009)(136003)(346002)(376002)(39860400002)(396003)(451199018)(40470700004)(46966006)(36840700001)(5930299012)(110136005)(2906002)(5660300002)(26005)(1076003)(8676002)(36756003)(70206006)(8936002)(356005)(4326008)(40460700003)(86362001)(316002)(54906003)(40480700001)(7696005)(478600001)(966005)(81166007)(426003)(6666004)(47076005)(82740400003)(36860700001)(41300700001)(336012)(16526019)(186003)(2616005)(82310400005)(83380400001)(66574015)(70586007)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 07:55:24.0380
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 37780bed-cd91-4f8e-bfff-08db22cf22e0
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:
	CO1NAM11FT109.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6728

Hi all,

In graphic world, the 3D applications/games are runing based on open
graphic libraries such as OpenGL and Vulkan. Mesa is the Linux
implemenatation of OpenGL and Vulkan for multiple hardware platforms.
Because the graphic libraries would like to have the GPU hardware
acceleration. In virtualization world, virtio-gpu and passthrough-gpu are
two of gpu virtualization technologies.

Current Xen only supports OpenGL (virgl:
https://docs.mesa3d.org/drivers/virgl.html) for virtio-gpu and passthrough
gpu based on PV dom0 for x86 platform. Today, we would like to introduce
Vulkan (venus: https://docs.mesa3d.org/drivers/venus.html) and another
OpenGL on Vulkan (zink: https://docs.mesa3d.org/drivers/zink.html) support
for VirtIO GPU on Xen. These functions are supported on KVM at this moment,
but so far, they are not supported on Xen. And we also introduce the PCIe
passthrough (GPU) function based on PVH dom0 for AMD x86 platform.

These supports required multiple repositories changes on kernel, xen, qemu,
mesa, and virglrenderer. Please check below branches:

Kernel: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=upstream-fox-xen
Xen: https://gitlab.com/huangrui123/xen/-/commits/upstream-for-xen
QEMU: https://gitlab.com/huangrui123/qemu/-/commits/upstream-for-xen
Mesa: https://gitlab.freedesktop.org/rui/mesa/-/commits/upstream-for-xen
Virglrenderer: https://gitlab.freedesktop.org/rui/virglrenderer/-/commits/upstream-for-xen

In xen part, we mainly add the PCIe passthrough support on PVH dom0. It's
using the QEMU to passthrough the GPU device into guest HVM domU. And
mainly work is to transfer the interrupt by using gsi, vector, and pirq.

Below are the screenshot of these functions, please take a look.

Venus:
https://drive.google.com/file/d/1_lPq6DMwHu1JQv7LUUVRx31dBj0HJYcL/view?usp=share_link

Zink:
https://drive.google.com/file/d/1FxLmKu6X7uJOxx1ZzwOm1yA6IL5WMGzd/view?usp=share_link

Passthrough GPU:
https://drive.google.com/file/d/17onr5gvDK8KM_LniHTSQEI2hGJZlI09L/view?usp=share_link

We are working to write the documentation that describe how to verify these
functions in the xen wiki page. And will update it in the future version.

Thanks,
Ray

Chen Jiqian (5):
  vpci: accept BAR writes if dom0 is PVH
  x86/pvh: shouldn't check pirq flag when map pirq in PVH
  x86/pvh: PVH dom0 also need PHYSDEVOP_setup_gsi call
  tools/libs/call: add linux os call to get gsi from irq
  tools/libs/light: pci: translate irq to gsi

Roger Pau Monne (1):
  x86/pvh: report ACPI VFCT table to dom0 if present

 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/dom0_build.c         |  1 +
 xen/arch/x86/hvm/hypercall.c          |  3 +--
 xen/drivers/vpci/header.c             |  2 +-
 xen/include/acpi/actbl3.h             |  1 +
 13 files changed, 50 insertions(+), 3 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 07:55:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 07:55:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508863.783745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbGYK-00037S-An; Sun, 12 Mar 2023 07:55:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508863.783745; Sun, 12 Mar 2023 07: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 1pbGYK-00037L-7m; Sun, 12 Mar 2023 07:55:36 +0000
Received: by outflank-mailman (input) for mailman id 508863;
 Sun, 12 Mar 2023 07:55: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbGYI-0002sM-SW
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 07:55:34 +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 448869a4-c0ab-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 08:55:34 +0100 (CET)
Received: from MW4PR03CA0085.namprd03.prod.outlook.com (2603:10b6:303:b6::30)
 by SA1PR12MB7038.namprd12.prod.outlook.com (2603:10b6:806:24d::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Sun, 12 Mar
 2023 07:55:30 +0000
Received: from CO1NAM11FT110.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b6:cafe::1) by MW4PR03CA0085.outlook.office365.com
 (2603:10b6:303:b6::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 07:55:30 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT110.mail.protection.outlook.com (10.13.175.125) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 07:55:29 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 01:55: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: 448869a4-c0ab-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UAtrnwMBp86T0ilaYFk0bkIo37Ro78zjPbLzDxxNTsxsKdE+qIiYDZnnIZN/YLNZLFZ7F5rp8AVnh8Qn7ncfynL+7Dit2/5QK2C3bX7mswn6fAu30JG4TKS0sbBFOvvoNo7ZWCoWo1Ru7uIWKZn1ea8M8C9ztWXnI7KU1s0CD0KIWK9XC8QjvZBiLq3zdaZH5zczS1+0kUGgjntu7tQbtj6p1unDQmSQlVnYjp7kTZUGjmsssemzObZ7aOLe3MBoVXi4lHJJgustjsNk1S5IU2rs3ObvaJLTsI7OWaXDggsrQldJYcsPRqBHMqzbrJgIqdiBxfpVrerJcAhg1yIcdQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pSsk+unJ+UA4cANT7Yy0K6RnN7xVbxCSxOE+YUngzIw=;
 b=mZqXYDeSLJi+oOBOX7nEX/W7qP5+BoH9epGMHY7PX19Cb1W1ob7RSMWCow2bxXTD7n0BPTsyj2FzygHSz3fuFZy+r7irZ8ytJjn91q7ndb6iytfcLE9Z5T8JAc01tC02vOfbTYx6iUYOF+niCPFMoVAEpET/S3xYzc8iNkp3AU9hPVv8whGAh2QnMCzziuVK35b7KXjTK5D2fb6+IprhN6vnUqLWb5IuWBom/RjyG3KQG3ueilObb6hR7YEUxxPXCLpRZdiXYgYAy/Zk6WCAuoUJMSZ7n2kfABQwW4i9pLjcm9yfpxnWYK0Hmz4cigS7mfHcwcuBABfTKRgwnHie9Q==
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
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=pSsk+unJ+UA4cANT7Yy0K6RnN7xVbxCSxOE+YUngzIw=;
 b=jcnhKMCv9wqh5KPC7K89FBtVKvpntxaFns6UE5Dh8f7hk9cWPIvr4pJZzImNZNEn4t5gM9axn7ZK9gb2ZTF5I/cmTBE+42VnCEmcDKzJ2ZfOzMuQLwW11ConENavZ8kov2gH+Q79K3BipDOGPHUn50aOfC+V2/SNmJXI6vK+ni8=
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: Huang Rui <ray.huang@amd.com>
To: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>, Henry Wang <Henry.Wang@arm.com>
Subject: [RFC XEN PATCH 1/6] x86/pvh: report ACPI VFCT table to dom0 if present
Date: Sun, 12 Mar 2023 15:54:50 +0800
Message-ID: <20230312075455.450187-2-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312075455.450187-1-ray.huang@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
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: CO1NAM11FT110:EE_|SA1PR12MB7038:EE_
X-MS-Office365-Filtering-Correlation-Id: 031bf81d-ec27-4ce0-4fe0-08db22cf2657
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ilnTUZnKsc9aWoyP8jvCtRLBo+6Vi+Cf3UmmR+JbEz4kuestn6CY5rRCU0rCXfqfRj8C4rRalE+B4rX2kiKVAHGpSJQXEaW6A45SNmv3/ndGzsa9lb4JYTz/hdX669AoIZ3pV4z11h52Ek27YqA9IV+Akul82wwhjaiAOge++vxZiLE6nph+frjDVdVs0OtVkaIxGhY8C0GFQiNtGLgkQWi79PcUe2zSEdD2RFa9A1CJXH95jyElh9zi7cMZdzhFUqhUpbhrFlI6QwZ6XGlDRQDHlR0Nspw/n2WDOHhv8Wy+TcrJfOO4thbHB+6DAlWuwIp2bBMrPH4GTERHozfQ/8mlj50XMLei+JoVHFZv1sZLsdnFF4EOnq63EH/ynfaY5dWcUQzbzLa+8SLSa+Lp+pCcK9fD9vMltCKVng8tqm7GfIZmmfkqP38jTSUiYwU5ahffITU2ensJIQBF1+k5C1Ra3sVjnRhATqexqnibcqxRhOIu6s+FzJSQC7i1/qz5vx74zx1bLqmLY5KvK8ggwBQR0eEROm27toSPdyPCGjvQA19oU/4SJUoIoL9Ba6VrQpjAoxWJEYNT73OKqAGoefjAx4se8PDRsb0akrAiFMud18+Qm2BnWb90MzywwVFYSpuIT8hiR4lLv2OSzMJNaajg8Q7+F+xdZStrykqK6zX/4hMsHQ3JNX3pXkNxLxuZxDhkuA8aR7jIBUtnFBLIS6vdmBcnX/s16yuYXOGvYSE=
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:(13230025)(4636009)(136003)(346002)(376002)(39860400002)(396003)(451199018)(40470700004)(46966006)(36840700001)(110136005)(2906002)(5660300002)(26005)(1076003)(8676002)(36756003)(70206006)(8936002)(356005)(4326008)(45080400002)(40460700003)(86362001)(316002)(54906003)(40480700001)(7696005)(478600001)(81166007)(426003)(6666004)(47076005)(82740400003)(36860700001)(41300700001)(336012)(16526019)(186003)(2616005)(52230400001)(82310400005)(83380400001)(70586007)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 07:55:29.8325
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 031bf81d-ec27-4ce0-4fe0-08db22cf2657
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:
	CO1NAM11FT110.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7038

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

The VFCT ACPI table is used by AMD GPUs to expose the vbios ROM image
from the firmware instead of doing it on the PCI ROM on the physical
device.

As such, this needs to be available for PVH dom0 to access, or else
the GPU won't work.

Reported-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-and-Tested-by: Huang Rui <ray.huang@amd.com>
Release-acked-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 xen/arch/x86/hvm/dom0_build.c | 1 +
 xen/include/acpi/actbl3.h     | 1 +
 2 files changed, 2 insertions(+)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index 3ac6b7b423..d44de7f2b2 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -892,6 +892,7 @@ static bool __init pvh_acpi_table_allowed(const char *sig,
         ACPI_SIG_DSDT, ACPI_SIG_FADT, ACPI_SIG_FACS, ACPI_SIG_PSDT,
         ACPI_SIG_SSDT, ACPI_SIG_SBST, ACPI_SIG_MCFG, ACPI_SIG_SLIC,
         ACPI_SIG_MSDM, ACPI_SIG_WDAT, ACPI_SIG_FPDT, ACPI_SIG_S3PT,
+        ACPI_SIG_VFCT,
     };
     unsigned int i;
 
diff --git a/xen/include/acpi/actbl3.h b/xen/include/acpi/actbl3.h
index 0a6778421f..6858d3e60f 100644
--- a/xen/include/acpi/actbl3.h
+++ b/xen/include/acpi/actbl3.h
@@ -79,6 +79,7 @@
 #define ACPI_SIG_MATR           "MATR"	/* Memory Address Translation Table */
 #define ACPI_SIG_MSDM           "MSDM"	/* Microsoft Data Management Table */
 #define ACPI_SIG_WPBT           "WPBT"	/* Windows Platform Binary Table */
+#define ACPI_SIG_VFCT           "VFCT"	/* AMD Video BIOS */
 
 /*
  * All tables must be byte-packed to match the ACPI specification, since
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 07:55:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 07:55:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508867.783785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbGYY-0004IC-M1; Sun, 12 Mar 2023 07:55:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508867.783785; Sun, 12 Mar 2023 07: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 1pbGYY-0004I2-I3; Sun, 12 Mar 2023 07:55:50 +0000
Received: by outflank-mailman (input) for mailman id 508867;
 Sun, 12 Mar 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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbGYW-0002sM-QX
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 07:55:48 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20603.outbound.protection.outlook.com
 [2a01:111:f400:7e89::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4c2c0786-c0ab-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 08:55:48 +0100 (CET)
Received: from MW4PR04CA0079.namprd04.prod.outlook.com (2603:10b6:303:6b::24)
 by CY8PR12MB7124.namprd12.prod.outlook.com (2603:10b6:930:5f::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 07:55:44 +0000
Received: from CO1NAM11FT092.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:6b:cafe::d8) by MW4PR04CA0079.outlook.office365.com
 (2603:10b6:303:6b::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 07:55:44 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT092.mail.protection.outlook.com (10.13.175.225) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 07:55:44 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 01:55:40 -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: 4c2c0786-c0ab-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k6od8Ui+8rvQqhsi13zA+X91t8sSne8C6Xqcl5Vi8Ac8Irm6fqaj+YavusP0Q5BF3DfFjRtKaISMJZ72SSre89AwzksVmfitwZRWaCxBO8Cc8sT+fchU0mKxhKxrQEXqmzznLLo5L4ATGQ/Weda8QPVqwiporZTqArpXETcptUdG9i5O09F2d9PYBhruRMo7ZDaD7Xsacxjbq1Kj6U6YWYN4lqCt8214NoANu16TScELTJgdx/dJoaMX55RrYUUjLh7pY6rqlg+2LcQ/scNhYZGcRHSS3bPjmGTjCyG1FArYd7tmfut+qT+n4ecKtJYPYtc1p/2LGinZOlne7EXEIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VvCxL42WhJeLNFutCnPoClf571Zr2l7PD0WD0zKoqR4=;
 b=DbuNGNdmxAVLa5dBFenuNGRSMQuq8VF0W6LFYCNlrR0TL4var87e/XioH5grLMf/V/mNfRhQ8NT/Bnqt3k4BbzvxxRYel7caM1dhV765hqpXtLSKGV3B1X4uDrNI73dkLTaI4fKc9tmrRuMZ6RMd2NPjhsnTmtBi83HrK+ApmsjTaHLd+5Tu7jOo0EZcWy4cOXUJoi1W31Or1ix3BeDunRaIcmlsaU3UidJZLaleeZFiIaCZ8AzC/gF6nOO2zxpqFl1c4ADcnTjQWsV6i7qXbX4KlxgBjZmD2YEiJq0Dpny2k9oKfNl0K7euZg4RMLRvAPXnAIGx1Ee20Ne73zKhww==
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
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=VvCxL42WhJeLNFutCnPoClf571Zr2l7PD0WD0zKoqR4=;
 b=Y0yr+8AIyz+Tjm+DEftF0MLEbAi3F3Ayy8+O9ki+5womPX8LiZotpH50JmQCyBzZBgKaQJgt5+JRNiUX8GhMxCWqzVLQv9XZW6aEJsT/xovGTsJ9moFFlC4LvH0h+QJZ/ZFK5mPWfIrSzMT0MqyC58LNFdi1bNqbKPyvL6EFwtw=
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: Huang Rui <ray.huang@amd.com>
To: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Date: Sun, 12 Mar 2023 15:54:55 +0800
Message-ID: <20230312075455.450187-7-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312075455.450187-1-ray.huang@amd.com>
References: <20230312075455.450187-1-ray.huang@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: CO1NAM11FT092:EE_|CY8PR12MB7124:EE_
X-MS-Office365-Filtering-Correlation-Id: 4584d947-dae9-4148-93f7-08db22cf2efb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mME8tRiX+y0U+BwM87CU6cSmdbkJal1ge1GJLPgSSpTBL9x4zXntuepSUm7dhJXRSp6ignmrInSYc8GBObK1tB5kcT7X8PpQF1RNRCU1nNvKpZFjjEGYVGlvksxl7ZzF31qE9Vpz/FG1c0ArsGMJxLhstb0kdc0zHtVzta2ThmtSk0JaMouWh2vn3v6dGj4k4RMrWUZ3d9k6mKtarlp0lcQxwUVusWutpE+P4TFUBMKMRivXOvAz3+853/PI+YnWaqIEy/UuMxCAZ6ma6lmi8EccDoqDQL+90u+fV+apHzXaIfRThCiPdbca3za+VQ04nOmkR1XFUSufyXbCHpsUAg5S2+kBY1S8IgXt/K1rOa90V+y7TB3odec2nJ6QxA2SuN/QY0YHIlJpzhNvIcdvJmFDCoO26C/YvNRarz1vnwuMzxWskgVB/0xYEDjHYpmqgxmZ8uP3hE3eEPmyGGQdPnr/SgaVljBigW+82S5aiSCG4+4tbIqPBvghR6zTIpbVi4c8mr0dx7vidm38GKs96RIyLFz2Vqu63vtlpccpOphD2Cy7ySSjYEqc8AqevqVxXV4oPS0lRCxzLbzDKW7+nHcEua2xY9EbNiOSWsaF3/eCN0GtWsodpgTWHCL2aIfGU8cw0DJ5w/964jfhiG+qBJteeZ7/qIzewFCzmSE8A+qSe9APTJpTasrsuDWP+88XqJ2CJiJ8vW8PEgOFZ4FQsnR7+19+nBRIvdz2n1yVHsI=
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:(13230025)(4636009)(39860400002)(376002)(136003)(396003)(346002)(451199018)(36840700001)(46966006)(40470700004)(356005)(86362001)(36860700001)(82740400003)(81166007)(36756003)(2906002)(41300700001)(4744005)(8936002)(5660300002)(40480700001)(40460700003)(82310400005)(4326008)(1076003)(26005)(186003)(16526019)(336012)(426003)(47076005)(316002)(110136005)(2616005)(54906003)(8676002)(70206006)(70586007)(478600001)(6666004)(7696005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 07:55:44.3308
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4584d947-dae9-4148-93f7-08db22cf2efb
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:
	CO1NAM11FT092.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7124

From: Chen Jiqian <Jiqian.Chen@amd.com>

Use new xc_physdev_gsi_from_irq to get the GSI number

Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 tools/libs/light/libxl_pci.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index f4c4f17545..47cf2799bf 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.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 07:55:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 07:55:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508868.783795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbGYa-0004c3-6h; Sun, 12 Mar 2023 07:55:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508868.783795; Sun, 12 Mar 2023 07: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 1pbGYa-0004bk-2v; Sun, 12 Mar 2023 07:55:52 +0000
Received: by outflank-mailman (input) for mailman id 508868;
 Sun, 12 Mar 2023 07:55: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbGYY-0002sM-68
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 07:55:50 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20610.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4d059e60-c0ab-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 08:55:49 +0100 (CET)
Received: from MW4PR02CA0005.namprd02.prod.outlook.com (2603:10b6:303:16d::14)
 by SJ0PR12MB6830.namprd12.prod.outlook.com (2603:10b6:a03:47c::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.22; Sun, 12 Mar
 2023 07:55:41 +0000
Received: from CO1NAM11FT014.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:16d:cafe::7d) by MW4PR02CA0005.outlook.office365.com
 (2603:10b6:303:16d::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 07:55:41 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT014.mail.protection.outlook.com (10.13.175.99) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.23 via Frontend Transport; Sun, 12 Mar 2023 07:55:41 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 01:55: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: 4d059e60-c0ab-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nGD76nxfyaXBd1D6EvwyIZsw0tg5SbDc2Dnj8MYVmZj+WC4ukIdtJ9CpG1KgRp/C2JEMSUotu49utQhmUVfLvFkRrhIclPoPAlJzhVlUGrVJJ/8oOlym4umvydEQqgxK/RO3JjVIM/Y5zDFbOqnFrFvmXBTVLvDcmPKwMIhydViFWu1IbwBPmoTLHu+ClY9+LPPlX1qT6HhwLzMY/SWrRZW4iYsTyoCWAlkDqKDHIEGG51ZeOc455GSZnkuCcUDN/y9GmRnrlvBT6RXSfnhfwNIQEKJTpyr6XHUsXpDn0THuCU9ynKiTeA+7AGFKKoFjTD/zJnDWj6N3ho7EqHTmeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TbEo4/fbStYgnrq3fF43Fq6AIUEljAM5PanTYZFaUAE=;
 b=l/zYGX4qbqzb+PefN0yhEbOlhjuWhgbAQTMbNTTy59TLQ9UmjUzV98Hi/1eVtClNtSJba8kYukXRprmoMzLlV9KTDwWNT6hTKQbUGVCAZWsgMmeIElIkBAd+cfTbs3XgSa8/7eFrBPOJsc42D+KbDh52OpYYrHOXLCowu/sa97pjxvqzsaJ1v9QBe+bvM3a0NHGid+HRTJHZYD3Qf/NanE9HJdr6mNMVJlZc0RKbHH/0UceZuPTwF+Vd2UNtwhMfim9WHlcF+w7wQJAMmSJvEXEBIputZSvNP+F3IzjGV6SggPJnG0flvgo6c8TIgtut6tqIcbvJN7dIkWzXUW+9Ig==
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
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=TbEo4/fbStYgnrq3fF43Fq6AIUEljAM5PanTYZFaUAE=;
 b=ByWC+BfkUECwO/o35Kg7ZJZnO4L0xAKy5S0iQX5J76E2pQKnQ78f6cl9GTcM0yMcEMwWAsTkZH+pzulMvVS/eg6BcbnwD0LnyiCOWpbUoDOnhIoDIAUt5P4IVruunyNh7cfNrubICd1GSW8G2C615vdqUxvChV5ZJO2I9FLMOt8=
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: Huang Rui <ray.huang@amd.com>
To: =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Jan Beulich
	<jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC XEN PATCH 5/6] tools/libs/call: add linux os call to get gsi from irq
Date: Sun, 12 Mar 2023 15:54:54 +0800
Message-ID: <20230312075455.450187-6-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312075455.450187-1-ray.huang@amd.com>
References: <20230312075455.450187-1-ray.huang@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: CO1NAM11FT014:EE_|SJ0PR12MB6830:EE_
X-MS-Office365-Filtering-Correlation-Id: bcec3bb2-7f91-4e66-c121-08db22cf2d04
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YHkQGgy1HJbzCXzbGw8qmVwi0bGlwEXfoFr9HZERney+2O3zrndNh47czBCSqzpUfxR4u5XIM2wbsMCWBPnXNW7dQ7mcAO6Dvxs0N14MlOQfMdn3quckrLW03O/cbXWngZgwNSA90xxoKa+vL60MpAj7eYn2X7YUPKX7Gf1WjmI7H7didNRBA0dIom8PStNEbzHx6T69iNeRWML2tC8gPwBNeFybqkuUNiCfRpur1MP6i+kal7GhKxy9mS+/ukYQR9uk15ftlWnw3K3duX6H3ZycV639RyzttdnY8HbTBgtKXul8cyuZdJVRhRIRAsxdrkYIl3FME+36Tlp6micR3aWV7OsFyoGD+5FJg8nuoBetpTbNi8izhy9CnLjguG+1CV7bmWbfliCVhJpCm54FSWXyjht35OGWZ77b/LGVrhGzb0OYvdKVYrs8mjog7ildqi7pgIQk/HG+vq0lAKBKOtoLP+I0YZAYBZcEsQDxyZz9Ys9OWnYv6GM1nQnyzT4Q1+sRFYshaRaZI4/STwo0s0DT6L/XQEoKOiid1/Eeqn8pVzNdlFZ7Ii3z5yux1VBavZBEeJLmXTJO8VoHfDrzuzZiy2G7fG2fKrWLXHc3z124IapxUsDOuBAg80oOrBLqRnEI/ko+TNP+GOn+56XUqVfBpwJiTf+OhZfQ54hq8gFV5IPYcW3Z4pKO89mTRaCH5IJwUzVGrZHcNrYSlODL/nBXw+bpK3HaeZf5jMTU7RE=
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:(13230025)(4636009)(136003)(396003)(376002)(39860400002)(346002)(451199018)(46966006)(40470700004)(36840700001)(54906003)(110136005)(186003)(16526019)(26005)(1076003)(356005)(5660300002)(40480700001)(478600001)(36756003)(40460700003)(8936002)(7696005)(86362001)(2906002)(6666004)(4326008)(36860700001)(2616005)(83380400001)(70206006)(70586007)(8676002)(316002)(47076005)(426003)(82740400003)(82310400005)(81166007)(41300700001)(336012)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 07:55:41.0355
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bcec3bb2-7f91-4e66-c121-08db22cf2d04
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:
	CO1NAM11FT014.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB6830

From: Chen Jiqian <Jiqian.Chen@amd.com>

When passthrough gpu to guest, usersapce can only get irq
instead of gsi. But it should pass gsi to guest, so that
guest can get interrupt signal. So, provide function to get
gsi.

Signed-off-by: Chen Jiqian <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 ++++
 8 files changed, 45 insertions(+)

diff --git a/tools/include/xen-sys/Linux/privcmd.h b/tools/include/xen-sys/Linux/privcmd.h
index bc60e8fd55..d72e785b5d 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', 8, 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 23037874d3..3918be9e53 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1652,6 +1652,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);
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:22:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:22:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508894.783810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbHuM-000858-Ta; Sun, 12 Mar 2023 09:22:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508894.783810; Sun, 12 Mar 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 1pbHuM-000851-Qc; Sun, 12 Mar 2023 09:22:26 +0000
Received: by outflank-mailman (input) for mailman id 508894;
 Sun, 12 Mar 2023 09: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=y+T3=7E=gmail.com=shentey@srs-se1.protection.inumbo.net>)
 id 1pbHuL-00084v-2D
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:22: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 63fc510d-c0b7-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 10:22:21 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id fd5so3469914edb.7
 for <xen-devel@lists.xenproject.org>; Sun, 12 Mar 2023 01:22:21 -0800 (PST)
Received: from [127.0.0.1] (dynamic-078-054-022-093.78.54.pool.telefonica.de.
 [78.54.22.93]) by smtp.gmail.com with ESMTPSA id
 f17-20020a1709062c5100b008cdb0628991sm2029248ejh.57.2023.03.12.01.22.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 12 Mar 2023 01: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: 63fc510d-c0b7-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678612940;
        h=content-transfer-encoding:mime-version:message-id:references
         :in-reply-to:subject:cc:to:from:date:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8L9fPPoucSazfhBtYDRn5YU9uUE231Badun+aOJjCOU=;
        b=jiyyN4hwdcO/uyGu3iBO7iNQ0QAse37tJ5T+5h/lAttRu7DV7Y6WWNxqShYsWFDZAi
         mUxbflK2bKBW8Ti1fmJVSVZqWJi42+Kt8iMshn4CYSpI+e7UKzhX5I90k4i2Pr7cd/AU
         3cCMUv5HmCDNYDIa9asYEnI6I57nFYAQSMZCyW6AamTafgh+qwFAuH0NZswBMvAxKbfU
         AQAZBX8p9u5ShPwUDbAnZVPrwXPfnQc+9aBJPmjjZN8YgcSplHBWU150oTAf3CX8bff4
         /Ko9V3f6aiHA5KfxEBtPbcplaXodVQ9tmdPA07OW+fe4lBWsiIE+Zuwx437gz3EcQJc7
         SQUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678612940;
        h=content-transfer-encoding:mime-version:message-id:references
         :in-reply-to:subject:cc:to:from:date:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8L9fPPoucSazfhBtYDRn5YU9uUE231Badun+aOJjCOU=;
        b=nDJZaXlwkz8HKitKh06OhjEk2Ka+a279B5ijtRlb9AygOm7gQjoaFS0fu9MUPbNrxI
         z8pI14hzaiLWbFihZCQ/uCGrJh5t/xyYORql8QrHk2UNOCV5ndIUC3QPNDdV2DwT6Bm1
         jrICrl2v1pwTF2MhXyzr1tvH6EU2LOq2zaWuCmjdM1oczglgpSfGaze+5KjNN/3EbNbB
         ZuO+jI89CQwBw54rvNQ+oz1CYoe/ZWL7JJkAR5UwP5dAxKSI/YuOmhRD2JjWG9kOg5CE
         Ui0MyGetulIOLHcLgOcGDPh1EJVuuJwEgHtxiDylBGNocasu5ZlYQMTY5/n0AP/0Ge12
         SXYw==
X-Gm-Message-State: AO0yUKX8GE/R+itKWFf0bRV97tRqV1kfv1HsS84tYieC8wiyMIg2qRNH
	MRWJzOMxvcdD3/y1qBk1IPc=
X-Google-Smtp-Source: AK7set8yBeg31XQKfmoTaC29paIeauT+GEVkQNJjPXCxUO5TvFDds4X5C4VGctJ8/NTb8IxR5loyMw==
X-Received: by 2002:a17:906:4783:b0:878:4497:380e with SMTP id cw3-20020a170906478300b008784497380emr40141144ejc.4.1678612940280;
        Sun, 12 Mar 2023 01:22:20 -0800 (PST)
Date: Sun, 12 Mar 2023 09:22:13 +0000
From: Bernhard Beschow <shentey@gmail.com>
To: Chuck Zmudzinski <brchuckz@aol.com>
CC: qemu-devel@nongnu.org, Richard Henderson <richard.henderson@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 =?ISO-8859-1?Q?Herv=E9_Poussineau?= <hpoussin@reactos.org>,
 Aurelien Jarno <aurelien@aurel32.net>, Paul Durrant <paul@xen.org>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Eduardo Habkost <eduardo@habkost.net>,
 =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH v2 0/6] Resolve TYPE_PIIX3_XEN_DEVICE
In-Reply-To: <c20b7056-037d-67ff-0b2d-ea931d501bac@aol.com>
References: <20230104144437.27479-1-shentey@gmail.com> <20230118051230-mutt-send-email-mst@kernel.org> <Y9ADQ/Yu8QQD0oyD@perard.uk.xensource.com> <0C2B1FE4-BB48-4C38-9161-6569BA1D6226@gmail.com> <96A4863B-D6BA-48B5-B5E4-54DD103FEBAA@gmail.com> <6C8AA4D4-FF57-4E43-A464-7F64C576ED5B@gmail.com> <c20b7056-037d-67ff-0b2d-ea931d501bac@aol.com>
Message-ID: <FD7FF486-D06D-4CC1-8618-13B4138596B2@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable



Am 11=2E M=C3=A4rz 2023 22:20:29 UTC schrieb Chuck Zmudzinski <brchuckz@ao=
l=2Ecom>:
>On 2/9/2023 4:53 PM, Bernhard Beschow wrote:
>> Am 1=2E Februar 2023 08:11:10 UTC schrieb Bernhard Beschow <shentey@gma=
il=2Ecom>:
>> >
>> >
>> >Am 24=2E Januar 2023 17:07:30 UTC schrieb Bernhard Beschow <shentey@gm=
ail=2Ecom>:
>> >>
>> >>
>> >>Am 24=2E Januar 2023 16:11:47 UTC schrieb Anthony PERARD <anthony=2Ep=
erard@citrix=2Ecom>:
>> >>>On Wed, Jan 18, 2023 at 05:13:03AM -0500, Michael S=2E Tsirkin wrote=
:
>> >>>> On Wed, Jan 04, 2023 at 03:44:31PM +0100, Bernhard Beschow wrote:
>> >>>> > This series first renders TYPE_PIIX3_XEN_DEVICE redundant and fi=
nally removes
>> >>>> > it=2E The motivation is to 1/ decouple PIIX from Xen and 2/ to m=
ake Xen in the PC
>> >>>> > machine agnostic to the precise southbridge being used=2E 2/ wil=
l become
>> >>>> > particularily interesting once PIIX4 becomes usable in the PC ma=
chine, avoiding
>> >>>> > the "Frankenstein" use of PIIX4_ACPI in PIIX3=2E
>> >>>>=20
>> >>>> Looks ok to me=2E
>> >>>> Reviewed-by: Michael S=2E Tsirkin <mst@redhat=2Ecom>
>> >>>>=20
>> >>>> Feel free to merge through Xen tree=2E
>> >>>
>> >>>Hi Bernhard,
>> >>
>> >>Hi Anthony,
>> >>
>> >>>The series currently doesn't apply on master=2E And a quick try at
>> >>>applying the series it is based on also failed=2E Could you rebase i=
t , or
>> >>>maybe you would prefer to wait until the other series "Consolidate
>> >>>PIIX=2E=2E=2E" is fully applied?
>> >>
>> >>Thanks for looking into it!
>> >>
>> >>You can get the compilable series from https://patchew=2Eorg/QEMU/202=
30104144437=2E27479-1-shentey@gmail=2Ecom/ =2E If it doesn't work for you l=
et me know, then I can rebase onto master=2E All necessary dependencies for=
 the series are upstreamed meanwhile=2E
>> >
>> >Ping
>>
>> Ping^2
>
>Hi Bernhard,

Hi Chuck,

>I took a look at this today to see why it cannot be applied=2E

Thanks for looking at it!

>I can see clearly that
>all the prerequisite patches have *not* been applied to master yet, so I =
can
>understand why Anthony cannot pull this up yet=2E Specifically, the serie=
s that
>consolidates PIIX3 and PIIX4 south bridges is not yet applied, and that i=
s one of
>the prerequisites=2E I think you said it was reviewed, but it apparently =
never got
>pulled up into master=2E

Correct, the PIIX consolidation series isn't merged yet=2E This series cur=
rently depends on it to avoid merge conflicts but doesn't need it otherwise=
=2E Back then I anticipated that the consolidation series would land in mas=
ter soon since it was fully reviewed before this one=2E But that turned out=
 not to be the case=2E

This series depends on some necessary refactoring [1] which I did in the c=
ontext of PIIX consolidation which is already in master=2E So this series c=
an easily be rebased onto master and it even simplifies the consolidation s=
eries a bit=2E I'll take this route now and I'll post a v3=2E

Best regards,
Bernhard

[1] https://lore=2Ekernel=2Eorg/qemu-devel/20221120150550=2E63059-1-shente=
y@gmail=2Ecom/

>
>For reference, here is the link to the prerequisite patch set I tested wi=
th
>this patch set:
>
>https://lore=2Ekernel=2Eorg/qemu-devel/20221221170003=2E2929-1-shentey@gm=
ail=2Ecom/
>
>The patch set I tested is a 30-patch series, and I don't know if it has
>been partially applied=2E The title of that patch set is:
>
>This series consolidates the implementations of the PIIX3 and PIIX4 south
>
>So before this patch set to resolve the TYPE_PIIX3_XEN_DEVICE can be
>applied, the patch set to consolidate the PIIX3 and PIIX4 south bridges
>needs to be applied=2E
>
>I don't know if the feature freeze means these patches that do not add an=
y
>new features still need to wait until the next development cycle=2E
>
>Kind regards,
>
>Chuck
>
>> >
>> >>
>> >>Thanks,
>> >>Bernhard
>> >>>
>> >>>Thanks=2E
>> >>>
>> >>>> > Testing done:
>> >>>> > None, because I don't know how to conduct this properly :(
>> >>>> >=20
>> >>>> > Based-on: <20221221170003=2E2929-1-shentey@gmail=2Ecom>
>> >>>> >           "[PATCH v4 00/30] Consolidate PIIX south bridges"
>> >>>
>


From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:23:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:23:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508897.783820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbHvH-00008b-7F; Sun, 12 Mar 2023 09:23:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508897.783820; Sun, 12 Mar 2023 09: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 1pbHvH-00008U-4T; Sun, 12 Mar 2023 09:23:23 +0000
Received: by outflank-mailman (input) for mailman id 508897;
 Sun, 12 Mar 2023 09:23: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHvG-00008O-MY
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:23:22 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20600.outbound.protection.outlook.com
 [2a01:111:f400:7e89::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86ea1974-c0b7-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 10:23:21 +0100 (CET)
Received: from MW4PR03CA0212.namprd03.prod.outlook.com (2603:10b6:303:b9::7)
 by DM4PR12MB5069.namprd12.prod.outlook.com (2603:10b6:5:388::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 09:23:17 +0000
Received: from CO1NAM11FT088.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b9:cafe::d7) by MW4PR03CA0212.outlook.office365.com
 (2603:10b6:303:b9::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:23:17 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT088.mail.protection.outlook.com (10.13.175.131) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 09:23:17 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:23:11 -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: 86ea1974-c0b7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Fg6UulKLXxxEkJmYPIx8qnWvni29p7FV9dj+DMb89W8MvZVM0fVyL50WnDpTPS6aA3cio6mkfFWtTf4/m2sqcepBHgpTRIs/dc298QRDzbRi9cOgL2GgMZX5VGD5y1hivDIKO/SKB0z9LUpcg6SWUyuBMDONJOw6hPCcmBAPN+5t6wX1xPbfdiRayJsbBTIEAchSZON2VHKpG92a4P38XQT6flvbJG+sIiV2PsnCjQXu3auKNlLyUq1GX1t3PYjHvxXER8EtQql0Y/6du9CC1mMgdtp+ZymChBWnMhCjz/iJLYQNWCM36oRqqiMB+GqwLNuKigftfRhtivbsOq+X9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=k2EhLkpJ5Bj+UqeV9Zo6yka7OKyWM7CAOQ4/btZiqTY=;
 b=N48ZSOGZYX9C8O++GVZ4OyIiftwVCPytmrAjHRmSsSDKpQSTbjqG8+2x/ABdOW5rb10AvBT9RUgiukGeJoZ3m66XrpcLNHElazThAShbEbYOILD2WW9pgjNcChr/aL+hs4pXJWtaLepvOtKk93h/vawdDEwkbGdFZi3vvhu4dLblBhm+kDKx215drCYS4ec8PpNiCz7OVvFdwGQvbcTrpWoH/i1K5MOK0uer8R2adJQ/mqLTdUIvrCo/K00BQ991In+6a4tqNe+FSPsP7g4cbinYyXLth/IH8MUx8afJQmOR6OhawrjdxvtOiMF26avjW/yj/NPW30WeKXuEowC3Rw==
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
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=k2EhLkpJ5Bj+UqeV9Zo6yka7OKyWM7CAOQ4/btZiqTY=;
 b=x5qr/E6mebGROUi0TTmgiFTQPIHGG+tciZui3vEF7ox4oMScO5jdI8V7LYiJRZoeLy4y7/FAwmPUop/k6j7fVS2A1RyDrrt4s8x6gsWEI1suMV2bbQFtq0wkLHc0pcYEheoN5fAyGeNvnTWakmittTNOPxPfkPiY1HZ+94So7Tk=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC QEMU PATCH 00/18] Add VirtIO GPU and Passthrough GPU support on Xen
Date: Sun, 12 Mar 2023 17:22:26 +0800
Message-ID: <20230312092244.451465-1-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.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: CO1NAM11FT088:EE_|DM4PR12MB5069:EE_
X-MS-Office365-Filtering-Correlation-Id: 9c271532-8421-43eb-f4a3-08db22db69d1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	S8A2564QMP9Yqtqu5dIclnI6VFn/vMn8EzVhEdBGZy41t7aam1KZf0Vyg4RJuJB89GvCm/3m4PsBClTzmMjkgYVMK0+xRffcrJjKMk8Dm/lDKNrIzrKlbdpHgzkIMPOodK7S4+NNBjvT4INMrnvrrUJell6rtHbRN4KaIygn6x2hvu+aOFiF3ume5/RaHrnIPVEnyazHZ0LMDdQdkfIBusYU4Fes6ApZuIFEGA41+2ScFwWSE2JcccLoOPL1FlQ3IVrxvV9pp3s4eUlrU4CDQL6wa/d8NrUbw9V7s3ra4fiRxuCGGNNdnn/fSHEa4NUX5Nq8tk+0hxMkTCNRwDqhJSkGpZUZ4U+kd9PnF2GbCfRy1Oq7QAjdVMuvVV3shhMPmwKbWFlIXj7I/7pweMqaV5b1GxlGNdhzh9ARQG3IlRem0ykn9zRpWq1w2syaHgP1IztwXBPsSzPgW0/aOLEyQ4iJ73/whnAEgkZ3L4i/a+2+wfvWmFkNhZLte0c0csxbg8WKTB34VmL+dHxzoaaweUHXK0qONpzOsNcCfIDk6cj31QxBLzH49RwnPCecYTQTu/yT9q1isqVV8R9Y1f5spX/G8H2+zh0TW9rEY/S4rYeBCoCthYsNW7aIjJrSG0MrNTve1Ql+2BzqartUk6EbMQCscwcqMvejUTcOL+ivmO6z3cTVaaVc9wRZV3MGniKIihph5+E4U8Mq+fvSPGcKqq8PdycoZAOFwCyAsywEWLPZ3pnZHMBvYUOf88Pi0kcHH9JR7/axzbUDkVhWmSUCC5wAbjfjDDugMsd7qN+n3zKvi+fIROLXegzSkts5MM9w
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:(13230025)(4636009)(39860400002)(376002)(136003)(396003)(346002)(451199018)(36840700001)(46966006)(40470700004)(921005)(356005)(86362001)(36860700001)(82740400003)(81166007)(36756003)(2906002)(41300700001)(7416002)(8936002)(5660300002)(40480700001)(40460700003)(82310400005)(4326008)(83380400001)(1076003)(26005)(186003)(16526019)(336012)(66574015)(426003)(47076005)(316002)(110136005)(2616005)(54906003)(8676002)(70206006)(70586007)(478600001)(6666004)(966005)(7696005)(5930299012)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:23:17.0044
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c271532-8421-43eb-f4a3-08db22db69d1
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:
	CO1NAM11FT088.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5069

Hi all,

We are working to introduce VirtIO GPU and Passthrough GPU support on Xen.

https://lists.xenproject.org/archives/html/xen-devel/2023-03/msg00714.html

Currently, only virgl for VirtIO GPU and Passthrough GPU on PV dom0 can
works on Xen. These series introduce more graphic support for Xen on QEMU
part.

1) Add Venus with QEMU for VirtIO GPU on Xen

Antonio Caggiano made the venus with QEMU on KVM platform below, patch 1 to
11 are inherited from his original work to support the features of
context init, hostmem, resource uuid, and blob resources for Venus. We have
rebase the support to the latest version.
https://www.collabora.com/news-and-blog/blog/2021/11/26/venus-on-qemu-enabling-new-virtual-vulkan-driver/

But on Xen, it still needs to add "-mem-path" function in the QEMU. Because
it requires the memory-backend-memfd support. Please check patch 12 to 16.

With the Venus supported on Xen, we can enable Zink + Venus for OpenGL
rendering on guest domU as well.

2) Add Video hardware accelerate support for virgl

Please check patch 17, that adds get_drm_fd callback to let guest know
hardware accel codec is used.

3) Enable Passthrough GPU on Xen PVH dom0 in QEMU

Please check patch 18, that translate host irq to gsi for PCIe Passthrough
on PVH dom0.

Below are the screenshot of these functions, please take a look.

Venus: https://drive.google.com/file/d/1_lPq6DMwHu1JQv7LUUVRx31dBj0HJYcL/view?usp=share_link
Zink: https://drive.google.com/file/d/1FxLmKu6X7uJOxx1ZzwOm1yA6IL5WMGzd/view?usp=share_link
Passthrough GPU: https://drive.google.com/file/d/17onr5gvDK8KM_LniHTSQEI2hGJZlI09L/view?usp=share_link

Repositories
Kernel: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=upstream-fox-xen
Xen: https://gitlab.com/huangrui123/xen/-/commits/upstream-for-xen
QEMU: https://gitlab.com/huangrui123/qemu/-/commits/upstream-for-xen
Mesa: https://gitlab.freedesktop.org/rui/mesa/-/commits/upstream-for-xen
Virglrenderer: https://gitlab.freedesktop.org/rui/virglrenderer/-/commits/upstream-for-xen

Thanks,
Ray

Antonio Caggiano (8):
  virtio-gpu: Handle resource blob commands
  virtio-gpu: CONTEXT_INIT feature
  virtio-gpu: Unrealize
  virtio-gpu: Resource UUID
  virtio-gpu: Support Venus capset
  virtio-gpu: Initialize Venus
  meson: Enable virglrenderer unstable APIs
  virtio-gpu: Handle set scanout blob command

Chen Jiqian (1):
  xen: translate irq of host pci device to gsi

Dr. David Alan Gilbert (1):
  virtio: Add shared memory capability

Gerd Hoffmann (1):
  virtio-gpu: hostmem

Honglei Huang (2):
  virtio-gpu: fix hw-display-virtio-gpu.so undefined symbol
    virtio_gpu_virgl_resource_unmap
  virtio-gpu: Add video hardware accelerate support for virgl

Huang Rui (4):
  softmmu: Fix the size to map cache with xen for host virtual address
  hw/i386/xen/xen-hvm: Introduce xen_ram_block_check function
  softmmu: Add ram block check to map the xen ram memory
  softmmu: Enable qemu ram allocation with fd for Xen

Robert Beckett (1):
  virtio-gpu: make blob scanout use dmabuf fd

 hw/display/meson.build                      |   2 +-
 hw/display/trace-events                     |   1 +
 hw/display/virtio-gpu-base.c                |   7 +-
 hw/display/virtio-gpu-pci.c                 |  14 +
 hw/display/virtio-gpu-virgl.c               | 326 +++++++++++++++++++-
 hw/display/virtio-gpu.c                     | 101 +++++-
 hw/display/virtio-vga.c                     |  33 +-
 hw/i386/xen/xen-hvm.c                       |  15 +
 hw/virtio/virtio-pci.c                      |  18 ++
 hw/xen/xen-host-pci-device.c                |   3 +-
 include/hw/virtio/virtio-gpu-bswap.h        |  18 ++
 include/hw/virtio/virtio-gpu.h              |  28 ++
 include/hw/virtio/virtio-pci.h              |   4 +
 include/hw/xen/xen.h                        |   1 +
 include/standard-headers/linux/virtio_gpu.h |   2 +
 meson.build                                 |  11 +
 softmmu/physmem.c                           |  12 +-
 17 files changed, 559 insertions(+), 37 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:23:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:23:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508898.783831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbHvP-0000Ry-Kf; Sun, 12 Mar 2023 09:23:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508898.783831; Sun, 12 Mar 2023 09: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 1pbHvP-0000Rp-G3; Sun, 12 Mar 2023 09:23:31 +0000
Received: by outflank-mailman (input) for mailman id 508898;
 Sun, 12 Mar 2023 09:23: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHvO-0000RV-Rm
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:23:30 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20619.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8a82f93f-c0b7-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 10:23:26 +0100 (CET)
Received: from MW4PR03CA0315.namprd03.prod.outlook.com (2603:10b6:303:dd::20)
 by BL1PR12MB5351.namprd12.prod.outlook.com (2603:10b6:208:317::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 09:23:21 +0000
Received: from CO1NAM11FT082.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:dd:cafe::7c) by MW4PR03CA0315.outlook.office365.com
 (2603:10b6:303:dd::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.23 via Frontend
 Transport; Sun, 12 Mar 2023 09:23:21 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT082.mail.protection.outlook.com (10.13.175.224) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.25 via Frontend Transport; Sun, 12 Mar 2023 09:23:21 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:23:16 -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: 8a82f93f-c0b7-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iUxCE7eyuR8ZKzC6jQVUJJf8lEHwqBFeQ22rRNEsREPenq+303Q91LmB4YK5HNoJH1b4TmaQyC5nhjhgzRvsevZJSLfL66X5uzE5g1oOKZoUL96JglIajvdyO7pteZW0MGR0gBP3ij54F8UKzp9InNbN4khsppnr0nQd165mp4L0hQdmoHD6rXTM7QfXBndokfL5YllrKExcDVVgj0t5SO64S4LnKefA451FPbmh/sNZN/lgMTh2sdsXE9Qmzu1+i2WHjBeMTugI7OTA7S/dbVpcS8OIQ/vsGBhO8WYFd2olDHYBYpZUFd7OR/eNbGtAYapsAMKEPIJ7boF8LsmZMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MySP99NL4Cc5eNFlOLDdl3uxiv6CT1oGstfJsAE3Zaw=;
 b=EPJ6KKMRtHz443HHu2OKfl36iVa9458gL+ud6eLEKO13FeoyeHFpU1/TLGvsSrA4Utf3G7f1O2wjPLRoMbHdjmE97u6Z6nLtomTUS83RhsUPJq3k5Zpa/JJ6DFoTBtIfesBQC1uPkvPxsslNIBOd2lg9j1DhXeE5TArwPaOK6oRp6gRAfmBssYIMDpTECUnj+SmXmKyRJeW4YDISGtYVY3/p3bJe1pzJucnZL+DgfpqihQCkyD+ZNroKjzoS0SuW1vcfBgtNJMin6jufFIV3hDgTJfK/Iw7FBFU8rYtOTKLebQgsraoE7/99nV0Q0DjQ+YplFIMno1l705sUo5AV4A==
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
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=MySP99NL4Cc5eNFlOLDdl3uxiv6CT1oGstfJsAE3Zaw=;
 b=AkTK3YLgnHy6VYr7v27eE2gkD/2YkkZi32WvIzit2W8IFAqo0ZxrHGtm3JgtZZB7ARIKyEh4YsAwvfpQ3qsIRNJmiGyCr+fJq+3ICuBkbQTSOjaOFSgZQGVg8xumId9U1vlkiF2NzXnZJImZGl+awjYoJu6kZcbQ3qwkTD02O7Y=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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: [RFC QEMU PATCH 01/18] virtio: Add shared memory capability
Date: Sun, 12 Mar 2023 17:22:27 +0800
Message-ID: <20230312092244.451465-2-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT082:EE_|BL1PR12MB5351:EE_
X-MS-Office365-Filtering-Correlation-Id: cc7f3646-c4a3-4231-417c-08db22db6c70
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GUUVhREe5AEdwl7j0EIEkBb3I6AML33ZQLUI9+NFxJRD3WLhcyhTToors9wdBlYTKApwCd7XmTlD5D2NCxzv2yBjVsl8ozCO0wyfXrINiFXUfr2kq5kMcTJmYc95u0VmklK88GsLXF+O4EDvWydrEsmXoRhPNNOWesVHxGHoz5zrrKGQxaL0MG7NCi/XxkoLDHGmlgevLDvbjM2uaO6VLfzWsfgj/GLK1YcqxbWRsz8wpnf57Ks3XKZh8XaARviE33twlXN5+oFXi+WAuRI4FyvhziMkvD6czfEd7eJLiOl1MS92n1ZirsTLRJZlPvq+hMGMPYjmRRbBk4cwf/idsZJr51XyYNXAaBfR4UWeP2D1T7ZzAvVPk6qo4jJ0FuDjsvc0N5DHhG1sojMmDAJ4cj1ujuban8Q7Irha+YCCMO+jfJGOxLBe1F1DpguwF039ZGxngTrbIq7u8CzybeKTpxsCagAZPaYRQtDGs1Cu6aKZQ3h/Hk/UaGUwmutc54PbE8DJWLTuCspVGiPkGEX/tZ2RoYrTqqTnhhmjGmWg57SHMkn3gjzBUtNoGjaQjhrBroiYXFbOTunJlFB1z/FzhGHhKCwMn1jXvnibzdSM6YWpNh1JADZuvcwB7ik+edczhbGE6gRqy+nabYmqi+Hpn9U+udnT3ipF8tpub5a4akml6wLs3gqsBLdIRdehjqvy/DLEtao0LGPiajuM4Ag9/uglbdA9x6/5uJWYCenzKKIdUShD5ZRjYOf9yPOGyLPD
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:(13230025)(4636009)(39860400002)(396003)(136003)(346002)(376002)(451199018)(36840700001)(46966006)(40470700004)(82310400005)(36756003)(86362001)(16526019)(186003)(41300700001)(1076003)(26005)(5660300002)(40460700003)(7416002)(336012)(4326008)(2616005)(8936002)(316002)(7696005)(110136005)(478600001)(54906003)(70586007)(8676002)(6666004)(70206006)(40480700001)(81166007)(82740400003)(921005)(356005)(2906002)(47076005)(426003)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:23:21.3973
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cc7f3646-c4a3-4231-417c-08db22db6c70
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:
	CO1NAM11FT082.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5351

From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>

Define a new capability type 'VIRTIO_PCI_CAP_SHARED_MEMORY_CFG' to allow
defining shared memory regions with sizes and offsets of 2^32 and more.
Multiple instances of the capability are allowed and distinguished
by a device-specific 'id'.

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
---
 hw/virtio/virtio-pci.c         | 18 ++++++++++++++++++
 include/hw/virtio/virtio-pci.h |  4 ++++
 2 files changed, 22 insertions(+)

diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
index a1c9dfa7bb..ae4c29cb96 100644
--- a/hw/virtio/virtio-pci.c
+++ b/hw/virtio/virtio-pci.c
@@ -1191,6 +1191,24 @@ static int virtio_pci_add_mem_cap(VirtIOPCIProxy *proxy,
     return offset;
 }
 
+int virtio_pci_add_shm_cap(VirtIOPCIProxy *proxy,
+                           uint8_t bar, uint64_t offset, uint64_t length,
+                           uint8_t id)
+{
+    struct virtio_pci_cap64 cap = {
+        .cap.cap_len = sizeof cap,
+        .cap.cfg_type = VIRTIO_PCI_CAP_SHARED_MEMORY_CFG,
+    };
+
+    cap.cap.bar = bar;
+    cap.cap.length = cpu_to_le32(length);
+    cap.length_hi = cpu_to_le32(length >> 32);
+    cap.cap.offset = cpu_to_le32(offset);
+    cap.offset_hi = cpu_to_le32(offset >> 32);
+    cap.cap.id = id;
+    return virtio_pci_add_mem_cap(proxy, &cap.cap);
+}
+
 static uint64_t virtio_pci_common_read(void *opaque, hwaddr addr,
                                        unsigned size)
 {
diff --git a/include/hw/virtio/virtio-pci.h b/include/hw/virtio/virtio-pci.h
index 938799e8f6..e67fe422a1 100644
--- a/include/hw/virtio/virtio-pci.h
+++ b/include/hw/virtio/virtio-pci.h
@@ -257,4 +257,8 @@ void virtio_pci_types_register(const VirtioPCIDeviceTypeInfo *t);
  */
 unsigned virtio_pci_optimal_num_queues(unsigned fixed_queues);
 
+int virtio_pci_add_shm_cap(VirtIOPCIProxy *proxy,
+			   uint8_t bar, uint64_t offset, uint64_t length,
+			   uint8_t id);
+
 #endif
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:23:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:23:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508899.783841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbHvS-0000jh-Qs; Sun, 12 Mar 2023 09:23:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508899.783841; Sun, 12 Mar 2023 09: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 1pbHvS-0000jY-OC; Sun, 12 Mar 2023 09:23:34 +0000
Received: by outflank-mailman (input) for mailman id 508899;
 Sun, 12 Mar 2023 09: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHvR-00008O-Jx
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:23:33 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e1f4156-c0b7-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 10:23:33 +0100 (CET)
Received: from MW4PR04CA0205.namprd04.prod.outlook.com (2603:10b6:303:86::30)
 by DS0PR12MB8219.namprd12.prod.outlook.com (2603:10b6:8:de::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 09:23:26 +0000
Received: from CO1NAM11FT063.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:86:cafe::22) by MW4PR04CA0205.outlook.office365.com
 (2603:10b6:303:86::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.23 via Frontend
 Transport; Sun, 12 Mar 2023 09:23:26 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT063.mail.protection.outlook.com (10.13.175.37) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.25 via Frontend Transport; Sun, 12 Mar 2023 09:23:26 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:23:20 -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: 8e1f4156-c0b7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n/HHB0uD2oymgqttW5+75SrlkjBA66xQbmQD0PnAx4MyWX/Hs3gxM9zS6hClxNLrk+xDLs8efqSJo0vBFXCT0agtRvNs6qbAbS7nDIR0OYGQUrFapt+SBzQOnxya7nK4NCYby2An+zt4SC6xnO2XqDJpQTpxCswInUOvMOL/uODYmsPqEeQeFIvd4SjwXOTROP8lc8W3AD21mRp5qBjdD1ZvgIrLI7vpTjiUfqjF50UvK/JTbAGLkj7VfPChUCagC1e9D2VksWikLlwDr4oeZTm3YKv5L+3stTshTPYuVwoh1Zy2mxQTnCWsXgemy9o9E/8Fes7vC9Cnd5SSgg1CHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VY4X3CCx8qXA+vnNiknM/I5yBo4WuklgEupJlKUJWfM=;
 b=N8Tv2POp8B5A91BbE7MOWTrTcCIvf9GzqUuuoPDR1DwD/DxHnIXd3zUXEssDGgD05KRx+o29NnLlIuaTQsnsg2JljBWCV1UdRFmo1nrNf2Zy6eA7yWsqgNjv7tJZtjeUny/iLee9u/EdDe4W6fixWZk0CgVmdc8nK+t8TXPijd2Amer4yjCx6iGvzD8YxTYc60MV1GbYswkJvtsivkXU3OXGAJapxhnGGTwndW+lCTBIQAoyUJ2c5bz9NeOKJ1HGpaH6U7igTERj+KvJgOYkInlRXC0q0nGG6Z+mdYwrHyriF5BKQDz3Xwiinw3zONkmYaZLbLhZMx4pCA7QcHaeYg==
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
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=VY4X3CCx8qXA+vnNiknM/I5yBo4WuklgEupJlKUJWfM=;
 b=mqMGsEHcEH8DQyxMyxcmCNpr04piDN8vxsspuM2fPsRfFKX9g12//F6bDCdLGlw+fKqY2rQCSHVMrRYxp3Fm/6c8XT24M241dtipYIUBSJgBa9qTBMz3C8YI0HWGB3oN7G37K+zwRPRBe+3wfGzGqmjBMpLRBhB0IEojKxRjNIU=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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: [RFC QEMU PATCH 02/18] virtio-gpu: hostmem
Date: Sun, 12 Mar 2023 17:22:28 +0800
Message-ID: <20230312092244.451465-3-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT063:EE_|DS0PR12MB8219:EE_
X-MS-Office365-Filtering-Correlation-Id: 982555ee-d6fd-4a67-7bf1-08db22db6f35
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0DfCFFUbyGy/IsPKOs1mMuIzWpTSmCFizswGW9SJonB7qeclKPZvD+kSKSe9F0hIVxIr4/ScKZpy1nfkMdPG06YlRNluxaAuHQlak/XZdUgG6h+bmVbimIMN/m0YEkOlRdr/rnNphOB9M9MK+Hqa2OffVhNS8RPxtwUBotS6yrfyTc2BIUbvLLmXR8xamLYdRLcK1aGU61qZugAceSOd8UQp2eQ0fkuUUBEwFeqW/XW7NtVok9GtdfzHJK4Ld2ul3lz9H1C1eBuTGq9c1KVSkZGiWF8VUeIAdT9ewCO4g0h2KxFWqvCUNdy0IiMHlJgA2RN8DhMZ3haG06h0Z5FYaykCarwdioWFqfwBjXAIpf8m3/f8BdjwWWojvhAvBxjTxIjQzqjro8RksIAQVRPykKzGNVWlnwzXL1oOsY7NBly05JIsu2/pHtQbznD85lgUOASgmH+O+6L5XDXkbTxpwEnrc2g0sSzAuGyxkd3Tb3Hfx0yeMln0EZfN6yFMbquyVCzF4UgEIHgmh7wRhH45dQwxuDhgJNl8O2XMBsshZQ2Op7w8fb9Mu3YfK6InHH3TMHXIy/gmqCiizUWKOI8VNIoLFeq92KIprPEPwL5w739KIW1Gj6YdD9xG95JG6liQSXvVAsYKcqSP/VyydLKFcvrzTnLyeS0V2rS+guSGCTaJe+4fdW/ENQfTN2NR9LvzlAnSgSq2BcCe49P/9PcJTkRP8gfED5BHCdnKcqUgUhqPwQb9UEUZ3PiEigHse2uh
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:(13230025)(4636009)(39860400002)(396003)(136003)(346002)(376002)(451199018)(36840700001)(46966006)(40470700004)(82310400005)(36756003)(86362001)(16526019)(186003)(41300700001)(1076003)(26005)(5660300002)(40460700003)(7416002)(336012)(4326008)(2616005)(8936002)(316002)(7696005)(110136005)(478600001)(54906003)(70586007)(8676002)(70206006)(40480700001)(81166007)(82740400003)(921005)(356005)(2906002)(83380400001)(47076005)(426003)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:23:26.0609
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 982555ee-d6fd-4a67-7bf1-08db22db6f35
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:
	CO1NAM11FT063.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8219

From: Gerd Hoffmann <kraxel@redhat.com>

Use VIRTIO_GPU_SHM_ID_HOST_VISIBLE as id for virtio-gpu.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/display/virtio-gpu-pci.c    | 14 ++++++++++++++
 hw/display/virtio-gpu.c        |  1 +
 hw/display/virtio-vga.c        | 33 ++++++++++++++++++++++++---------
 include/hw/virtio/virtio-gpu.h |  5 +++++
 4 files changed, 44 insertions(+), 9 deletions(-)

diff --git a/hw/display/virtio-gpu-pci.c b/hw/display/virtio-gpu-pci.c
index 93f214ff58..da6a99f038 100644
--- a/hw/display/virtio-gpu-pci.c
+++ b/hw/display/virtio-gpu-pci.c
@@ -33,6 +33,20 @@ static void virtio_gpu_pci_base_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
     DeviceState *vdev = DEVICE(g);
     int i;
 
+    if (virtio_gpu_hostmem_enabled(g->conf)) {
+        vpci_dev->msix_bar_idx = 1;
+        vpci_dev->modern_mem_bar_idx = 2;
+        memory_region_init(&g->hostmem, OBJECT(g), "virtio-gpu-hostmem",
+                           g->conf.hostmem);
+        pci_register_bar(&vpci_dev->pci_dev, 4,
+                         PCI_BASE_ADDRESS_SPACE_MEMORY |
+                         PCI_BASE_ADDRESS_MEM_PREFETCH |
+                         PCI_BASE_ADDRESS_MEM_TYPE_64,
+                         &g->hostmem);
+        virtio_pci_add_shm_cap(vpci_dev, 4, 0, g->conf.hostmem,
+                               VIRTIO_GPU_SHM_ID_HOST_VISIBLE);
+    }
+
     virtio_pci_force_virtio_1(vpci_dev);
     if (!qdev_realize(vdev, BUS(&vpci_dev->bus), errp)) {
         return;
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 5e15c79b94..7b592f998d 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1425,6 +1425,7 @@ static Property virtio_gpu_properties[] = {
                      256 * MiB),
     DEFINE_PROP_BIT("blob", VirtIOGPU, parent_obj.conf.flags,
                     VIRTIO_GPU_FLAG_BLOB_ENABLED, false),
+    DEFINE_PROP_SIZE("hostmem", VirtIOGPU, parent_obj.conf.hostmem, 0),
     DEFINE_PROP_END_OF_LIST(),
 };
 
diff --git a/hw/display/virtio-vga.c b/hw/display/virtio-vga.c
index 4dcb34c4a7..aa8d1ab993 100644
--- a/hw/display/virtio-vga.c
+++ b/hw/display/virtio-vga.c
@@ -115,17 +115,32 @@ static void virtio_vga_base_realize(VirtIOPCIProxy *vpci_dev, Error **errp)
     pci_register_bar(&vpci_dev->pci_dev, 0,
                      PCI_BASE_ADDRESS_MEM_PREFETCH, &vga->vram);
 
-    /*
-     * Configure virtio bar and regions
-     *
-     * We use bar #2 for the mmio regions, to be compatible with stdvga.
-     * virtio regions are moved to the end of bar #2, to make room for
-     * the stdvga mmio registers at the start of bar #2.
-     */
-    vpci_dev->modern_mem_bar_idx = 2;
-    vpci_dev->msix_bar_idx = 4;
     vpci_dev->modern_io_bar_idx = 5;
 
+    if (!virtio_gpu_hostmem_enabled(g->conf)) {
+        /*
+         * Configure virtio bar and regions
+         *
+         * We use bar #2 for the mmio regions, to be compatible with stdvga.
+         * virtio regions are moved to the end of bar #2, to make room for
+         * the stdvga mmio registers at the start of bar #2.
+         */
+        vpci_dev->modern_mem_bar_idx = 2;
+        vpci_dev->msix_bar_idx = 4;
+    } else {
+        vpci_dev->msix_bar_idx = 1;
+        vpci_dev->modern_mem_bar_idx = 2;
+        memory_region_init(&g->hostmem, OBJECT(g), "virtio-gpu-hostmem",
+                           g->conf.hostmem);
+        pci_register_bar(&vpci_dev->pci_dev, 4,
+                         PCI_BASE_ADDRESS_SPACE_MEMORY |
+                         PCI_BASE_ADDRESS_MEM_PREFETCH |
+                         PCI_BASE_ADDRESS_MEM_TYPE_64,
+                         &g->hostmem);
+        virtio_pci_add_shm_cap(vpci_dev, 4, 0, g->conf.hostmem,
+                               VIRTIO_GPU_SHM_ID_HOST_VISIBLE);
+    }
+
     if (!(vpci_dev->flags & VIRTIO_PCI_FLAG_PAGE_PER_VQ)) {
         /*
          * with page-per-vq=off there is no padding space we can use
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index 2e28507efe..eafce75b04 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -102,12 +102,15 @@ enum virtio_gpu_base_conf_flags {
     (_cfg.flags & (1 << VIRTIO_GPU_FLAG_DMABUF_ENABLED))
 #define virtio_gpu_blob_enabled(_cfg) \
     (_cfg.flags & (1 << VIRTIO_GPU_FLAG_BLOB_ENABLED))
+#define virtio_gpu_hostmem_enabled(_cfg) \
+    (_cfg.hostmem > 0)
 
 struct virtio_gpu_base_conf {
     uint32_t max_outputs;
     uint32_t flags;
     uint32_t xres;
     uint32_t yres;
+    uint64_t hostmem;
 };
 
 struct virtio_gpu_ctrl_command {
@@ -131,6 +134,8 @@ struct VirtIOGPUBase {
     int renderer_blocked;
     int enable;
 
+    MemoryRegion hostmem;
+
     struct virtio_gpu_scanout scanout[VIRTIO_GPU_MAX_SCANOUTS];
 
     int enabled_output_bitmask;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:23:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:23:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508901.783851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbHvY-00017m-4r; Sun, 12 Mar 2023 09:23:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508901.783851; Sun, 12 Mar 2023 09:23:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbHvY-00017Z-1I; Sun, 12 Mar 2023 09:23:40 +0000
Received: by outflank-mailman (input) for mailman id 508901;
 Sun, 12 Mar 2023 09:23:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHvW-0000RV-IW
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:23:38 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20608.outbound.protection.outlook.com
 [2a01:111:f400:fe59::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9009d5aa-c0b7-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 10:23:36 +0100 (CET)
Received: from MW2PR16CA0017.namprd16.prod.outlook.com (2603:10b6:907::30) by
 SN7PR12MB7227.namprd12.prod.outlook.com (2603:10b6:806:2aa::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.22; Sun, 12 Mar
 2023 09:23:31 +0000
Received: from CO1NAM11FT099.eop-nam11.prod.protection.outlook.com
 (2603:10b6:907:0:cafe::b5) by MW2PR16CA0017.outlook.office365.com
 (2603:10b6:907::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:23:30 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT099.mail.protection.outlook.com (10.13.175.171) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 09:23:30 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:23:25 -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: 9009d5aa-c0b7-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Fmd3v1VPEJzZ5VSxtIGjnVmok2FXPUfSWqRejZerVx3llmuNb0JrOTFaQg7OAFnlvkjzulus36COfinVK60p5aIbf3eoA0dNWy9Gbkt9PhSsYdui11ZwmVHGz1UvjKbFBsh2mu/6VyhPBVR0SjUdDAEMKeQVS0sRK1q8Rfw4Znjk1rOASmkIK2U6tLnX+Kh3dGjzKLd1Nf87SByE2VcO8lvoFjLKO5TlDUjWa8t9XuuoOEXnvcK93cs8ybH6U80WQrzS2NjA3MOGtzhIElqwoX6opbOxSba9eUvf/o68QC7oRSNGKB4kAhLux2/eajb2JRDC/FEQ5HKy9KX9CAuyzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Yo3LTX71PNs2g4NoqoVbLWjlsvWLNAFtBIZSAhB5XKo=;
 b=gakOCyzvL5BJZ9f+tq7U4lZTfHGqD5AJH1hEV5A1Bn5dxHahVSnDlzWw7YJI0rZGbNFOYVB72Vs7Dn+7NFmt3+muUsSfjOOSED6wjTnhQ3PCGKDDIi/kIhzry0u8jKgYvJB8ze5kNGOEJ7s2HrHV87fbxD74/REmxK5Xg8VhzBP5X4+VsgE8LtaS1MrsoJYtYq8epeahd3WHiM8cwq97GGey73wxa/tu0ZuD4vtBTgLcDK+k5vNzOO9PecByojLVFdThCP5NNm2GKHZnvZ4vUCJFrwWCu9GqOWnjeE5wOC7OmSK38+4ZIjIkiliKkGoPRFqe0nV37atyNqFVTKPeow==
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
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=Yo3LTX71PNs2g4NoqoVbLWjlsvWLNAFtBIZSAhB5XKo=;
 b=ZKmGPu0woYvxIOIyiY1j9YqqCVabqBeoCfEEZxvc0tQ6XFha1pt3ltkAQim6b4E3z8rVZn9FO0fl2Qp6KoeuAvGUYZrk+8QcJVznYC/qcCe6Esb9hNjV+coib8zzmWhCNSvBCfHxB6XxlqyRsFauMiVzNHXd17gh+DmLySuFtRs=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Dmitry Osipenko
	<dmitry.osipenko@collabora.com>
Subject: [RFC QEMU PATCH 03/18] virtio-gpu: Handle resource blob commands
Date: Sun, 12 Mar 2023 17:22:29 +0800
Message-ID: <20230312092244.451465-4-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT099:EE_|SN7PR12MB7227:EE_
X-MS-Office365-Filtering-Correlation-Id: 325f08db-a2cc-466a-dc1a-08db22db71d3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FdwlsG44QQd8owXN6r45o50t0XDMPHyPVKdphTbIcE9JOkJkPSUm9mHn3nkCLDSNYU80tdTNe1KC40wHo29H/kwTTD+Jy36dN6UfN8PhQpAJ18dsKuPNpZyEF0/lXDwQkKs7FqTfQLPD5nzF+s6M7SSo1AEdiHY14WK9cEYhNRnHDxHqHETddLK+2ykMXqxWCeFI+PmIYaoaKilT25odk1KA6UelGkKxlhUQbI2e6plW4VXLj/lO0iKMCDSqQPt4q/sSkNIO21GUyYj1JbKkGOldOmwaE6tsxgOjFSgEcjY1nBZUML2xC68xnqpI93UEWEI/0+7Ptl+S7EYvs+bPmXJEFG2AkqhSH4iXDt9/xQNG29fp6SOcZ2fITHFJWGN4HJbltABhemJNmJ7exk4T0iJh9tGSGB0UgErryWdPd1wte6sO9RlUfSSWPTzi5z6/NQxaswSbIKc1Gqw1bgx2jrTPPgKpyCai6CcgrLlpCxJ0KvrotxPOf54wpIOExdEGyYojkhSNMRcFfJfcJuN8pTzRPgZce+vlIrMlgXxXD6+HVEfpP98/mBsB8f37YjrKpFSItUTrSr70WKa/kbQrWwsCQ8PcYf497PyAJZxtzNzC4qFNufuqgUMXoPeNZlmbBkbu5hbcTiOiUbm2MYQsmDYwZnI2tC/QDuQdXwZ1D5sAlqqBj/PzMlZgbKBfwxMsayDWTysPIrhLkO4bH1H6dUR6x5CbvyDOC38WRemfhkqVVjqHGHqU5BHJXB+CkxxY
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:(13230025)(4636009)(376002)(39860400002)(346002)(396003)(136003)(451199018)(46966006)(40470700004)(36840700001)(186003)(356005)(921005)(2906002)(82740400003)(16526019)(2616005)(30864003)(26005)(1076003)(81166007)(5660300002)(8936002)(36860700001)(7416002)(336012)(47076005)(41300700001)(426003)(40460700003)(86362001)(4326008)(40480700001)(8676002)(70586007)(70206006)(82310400005)(7696005)(316002)(83380400001)(36756003)(478600001)(54906003)(110136005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:23:30.4543
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 325f08db-a2cc-466a-dc1a-08db22db71d3
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:
	CO1NAM11FT099.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7227

From: Antonio Caggiano <antonio.caggiano@collabora.com>

Support BLOB resources creation, mapping and unmapping by calling the
new stable virglrenderer 0.10 interface. Only enabled when available and
via the blob config. E.g. -device virtio-vga-gl,blob=true

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
---
 hw/display/virtio-gpu-virgl.c        | 168 +++++++++++++++++++++++++++
 hw/display/virtio-gpu.c              |  12 +-
 include/hw/virtio/virtio-gpu-bswap.h |  18 +++
 include/hw/virtio/virtio-gpu.h       |   8 ++
 meson.build                          |   4 +
 5 files changed, 206 insertions(+), 4 deletions(-)

diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 73cb92c8d5..9b5e3dc782 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -16,6 +16,8 @@
 #include "trace.h"
 #include "hw/virtio/virtio.h"
 #include "hw/virtio/virtio-gpu.h"
+#include "hw/virtio/virtio-gpu-bswap.h"
+#include "hw/virtio/virtio-iommu.h"
 
 #include <virglrenderer.h>
 
@@ -398,6 +400,161 @@ static void virgl_cmd_get_capset(VirtIOGPU *g,
     g_free(resp);
 }
 
+#ifdef HAVE_VIRGL_RESOURCE_BLOB
+
+static void virgl_cmd_resource_create_blob(VirtIOGPU *g,
+                                           struct virtio_gpu_ctrl_command *cmd)
+{
+    struct virtio_gpu_simple_resource *res;
+    struct virtio_gpu_resource_create_blob cblob;
+    int ret;
+
+    VIRTIO_GPU_FILL_CMD(cblob);
+    virtio_gpu_create_blob_bswap(&cblob);
+    trace_virtio_gpu_cmd_res_create_blob(cblob.resource_id, cblob.size);
+
+    if (cblob.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, cblob.resource_id);
+    if (res) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource already exists %d\n",
+                      __func__, cblob.resource_id);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    res = g_new0(struct virtio_gpu_simple_resource, 1);
+    QTAILQ_INSERT_HEAD(&g->reslist, res, next);
+
+    res->resource_id = cblob.resource_id;
+    res->blob_size = cblob.size;
+
+    if (cblob.blob_mem != VIRTIO_GPU_BLOB_MEM_HOST3D) {
+        ret = virtio_gpu_create_mapping_iov(g, cblob.nr_entries, sizeof(cblob),
+                                            cmd, &res->addrs, &res->iov,
+                                            &res->iov_cnt);
+        if (ret != 0) {
+            cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
+            return;
+        }
+    }
+
+    if (cblob.blob_mem == VIRTIO_GPU_BLOB_MEM_GUEST) {
+        virtio_gpu_init_udmabuf(res);
+    }
+    const struct virgl_renderer_resource_create_blob_args virgl_args = {
+        .res_handle = cblob.resource_id,
+        .ctx_id = cblob.hdr.ctx_id,
+        .blob_mem = cblob.blob_mem,
+        .blob_id = cblob.blob_id,
+        .blob_flags = cblob.blob_flags,
+        .size = cblob.size,
+        .iovecs = res->iov,
+        .num_iovs = res->iov_cnt,
+    };
+    ret = virgl_renderer_resource_create_blob(&virgl_args);
+    if (ret) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: virgl blob create error: %s\n",
+                      __func__, strerror(-ret));
+        cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
+    }
+}
+
+static void virgl_cmd_resource_map_blob(VirtIOGPU *g,
+                                        struct virtio_gpu_ctrl_command *cmd)
+{
+    struct virtio_gpu_simple_resource *res;
+    struct virtio_gpu_resource_map_blob mblob;
+    int ret;
+    uint64_t size;
+    struct virtio_gpu_resp_map_info resp;
+
+    VIRTIO_GPU_FILL_CMD(mblob);
+    virtio_gpu_map_blob_bswap(&mblob);
+
+    if (mblob.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, mblob.resource_id);
+    if (!res) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource does not exist %d\n",
+                      __func__, mblob.resource_id);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    ret = virgl_renderer_resource_map(res->resource_id, &res->mapped, &size);
+    if (ret) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource map error: %s\n",
+                      __func__, strerror(-ret));
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    memory_region_init_ram_device_ptr(&res->region, OBJECT(g), NULL, size, res->mapped);
+    memory_region_add_subregion(&g->parent_obj.hostmem, mblob.offset, &res->region);
+    memory_region_set_enabled(&res->region, true);
+
+    memset(&resp, 0, sizeof(resp));
+    resp.hdr.type = VIRTIO_GPU_RESP_OK_MAP_INFO;
+    virgl_renderer_resource_get_map_info(mblob.resource_id, &resp.map_info);
+    virtio_gpu_ctrl_response(g, cmd, &resp.hdr, sizeof(resp));
+}
+
+int virtio_gpu_virgl_resource_unmap(VirtIOGPU *g,
+                                    struct virtio_gpu_simple_resource *res)
+{
+    if (!res->mapped) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource already unmapped %d\n",
+                      __func__, res->resource_id);
+        return VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+    }
+
+    memory_region_set_enabled(&res->region, false);
+    memory_region_del_subregion(&g->parent_obj.hostmem, &res->region);
+    object_unparent(OBJECT(&res->region));
+
+    res->mapped = NULL;
+    return virgl_renderer_resource_unmap(res->resource_id);
+}
+
+static void virgl_cmd_resource_unmap_blob(VirtIOGPU *g,
+                                        struct virtio_gpu_ctrl_command *cmd)
+{
+    struct virtio_gpu_simple_resource *res;
+    struct virtio_gpu_resource_unmap_blob ublob;
+    VIRTIO_GPU_FILL_CMD(ublob);
+    virtio_gpu_unmap_blob_bswap(&ublob);
+
+    if (ublob.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, ublob.resource_id);
+    if (!res) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource does not exist %d\n",
+                      __func__, ublob.resource_id);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    virtio_gpu_virgl_resource_unmap(g, res);
+}
+
+#endif /* HAVE_VIRGL_RESOURCE_BLOB */
+
 void virtio_gpu_virgl_process_cmd(VirtIOGPU *g,
                                       struct virtio_gpu_ctrl_command *cmd)
 {
@@ -464,6 +621,17 @@ void virtio_gpu_virgl_process_cmd(VirtIOGPU *g,
     case VIRTIO_GPU_CMD_GET_EDID:
         virtio_gpu_get_edid(g, cmd);
         break;
+#ifdef HAVE_VIRGL_RESOURCE_BLOB
+    case VIRTIO_GPU_CMD_RESOURCE_CREATE_BLOB:
+        virgl_cmd_resource_create_blob(g, cmd);
+        break;
+    case VIRTIO_GPU_CMD_RESOURCE_MAP_BLOB:
+        virgl_cmd_resource_map_blob(g, cmd);
+        break;
+    case VIRTIO_GPU_CMD_RESOURCE_UNMAP_BLOB:
+        virgl_cmd_resource_unmap_blob(g, cmd);
+        break;
+#endif /* HAVE_VIRGL_RESOURCE_BLOB */
     default:
         cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
         break;
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 7b592f998d..95d1347a2e 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -33,8 +33,6 @@
 
 #define VIRTIO_GPU_VM_VERSION 1
 
-static struct virtio_gpu_simple_resource*
-virtio_gpu_find_resource(VirtIOGPU *g, uint32_t resource_id);
 static struct virtio_gpu_simple_resource *
 virtio_gpu_find_check_resource(VirtIOGPU *g, uint32_t resource_id,
                                bool require_backing,
@@ -115,7 +113,7 @@ static void update_cursor(VirtIOGPU *g, struct virtio_gpu_update_cursor *cursor)
                   cursor->resource_id ? 1 : 0);
 }
 
-static struct virtio_gpu_simple_resource *
+struct virtio_gpu_simple_resource *
 virtio_gpu_find_resource(VirtIOGPU *g, uint32_t resource_id)
 {
     struct virtio_gpu_simple_resource *res;
@@ -875,6 +873,10 @@ void virtio_gpu_cleanup_mapping_iov(VirtIOGPU *g,
 static void virtio_gpu_cleanup_mapping(VirtIOGPU *g,
                                        struct virtio_gpu_simple_resource *res)
 {
+    if (res->mapped) {
+        virtio_gpu_virgl_resource_unmap(g, res);
+    }
+
     virtio_gpu_cleanup_mapping_iov(g, res->iov, res->iov_cnt);
     res->iov = NULL;
     res->iov_cnt = 0;
@@ -1324,10 +1326,12 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
             return;
         }
 
+#ifndef HAVE_VIRGL_RESOURCE_BLOB
         if (virtio_gpu_virgl_enabled(g->parent_obj.conf)) {
-            error_setg(errp, "blobs and virgl are not compatible (yet)");
+            error_setg(errp, "Linked virglrenderer does not support blob resources");
             return;
         }
+#endif
     }
 
     if (!virtio_gpu_base_device_realize(qdev,
diff --git a/include/hw/virtio/virtio-gpu-bswap.h b/include/hw/virtio/virtio-gpu-bswap.h
index 9124108485..dd1975e2d4 100644
--- a/include/hw/virtio/virtio-gpu-bswap.h
+++ b/include/hw/virtio/virtio-gpu-bswap.h
@@ -63,10 +63,28 @@ virtio_gpu_create_blob_bswap(struct virtio_gpu_resource_create_blob *cblob)
 {
     virtio_gpu_ctrl_hdr_bswap(&cblob->hdr);
     le32_to_cpus(&cblob->resource_id);
+    le32_to_cpus(&cblob->blob_mem);
     le32_to_cpus(&cblob->blob_flags);
+    le32_to_cpus(&cblob->nr_entries);
+    le64_to_cpus(&cblob->blob_id);
     le64_to_cpus(&cblob->size);
 }
 
+static inline void
+virtio_gpu_map_blob_bswap(struct virtio_gpu_resource_map_blob *mblob)
+{
+    virtio_gpu_ctrl_hdr_bswap(&mblob->hdr);
+    le32_to_cpus(&mblob->resource_id);
+    le64_to_cpus(&mblob->offset);
+}
+
+static inline void
+virtio_gpu_unmap_blob_bswap(struct virtio_gpu_resource_unmap_blob *ublob)
+{
+    virtio_gpu_ctrl_hdr_bswap(&ublob->hdr);
+    le32_to_cpus(&ublob->resource_id);
+}
+
 static inline void
 virtio_gpu_scanout_blob_bswap(struct virtio_gpu_set_scanout_blob *ssb)
 {
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index eafce75b04..caca834680 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -55,6 +55,9 @@ struct virtio_gpu_simple_resource {
     int dmabuf_fd;
     uint8_t *remapped;
 
+    MemoryRegion region;
+    void *mapped;
+
     QTAILQ_ENTRY(virtio_gpu_simple_resource) next;
 };
 
@@ -245,6 +248,9 @@ void virtio_gpu_base_fill_display_info(VirtIOGPUBase *g,
                         struct virtio_gpu_resp_display_info *dpy_info);
 
 /* virtio-gpu.c */
+struct virtio_gpu_simple_resource *
+virtio_gpu_find_resource(VirtIOGPU *g, uint32_t resource_id);
+
 void virtio_gpu_ctrl_response(VirtIOGPU *g,
                               struct virtio_gpu_ctrl_command *cmd,
                               struct virtio_gpu_ctrl_hdr *resp,
@@ -289,5 +295,7 @@ void virtio_gpu_virgl_reset_scanout(VirtIOGPU *g);
 void virtio_gpu_virgl_reset(VirtIOGPU *g);
 int virtio_gpu_virgl_init(VirtIOGPU *g);
 int virtio_gpu_virgl_get_num_capsets(VirtIOGPU *g);
+int virtio_gpu_virgl_resource_unmap(VirtIOGPU *g,
+                                    struct virtio_gpu_simple_resource *res);
 
 #endif
diff --git a/meson.build b/meson.build
index 5c6b5a1c75..be74b653b6 100644
--- a/meson.build
+++ b/meson.build
@@ -774,6 +774,10 @@ if not get_option('virglrenderer').auto() or have_system or have_vhost_user_gpu
                      method: 'pkg-config',
                      required: get_option('virglrenderer'),
                      kwargs: static_kwargs)
+  config_host_data.set('HAVE_VIRGL_RESOURCE_BLOB',
+		       cc.has_function('virgl_renderer_resource_create_blob',
+				       prefix: '#include <virglrenderer.h>',
+				       dependencies: virgl))
 endif
 blkio = not_found
 if not get_option('blkio').auto() or have_block
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:23:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:23:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508905.783861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbHvc-0001Y0-Js; Sun, 12 Mar 2023 09:23:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508905.783861; Sun, 12 Mar 2023 09: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 1pbHvc-0001Xq-GJ; Sun, 12 Mar 2023 09:23:44 +0000
Received: by outflank-mailman (input) for mailman id 508905;
 Sun, 12 Mar 2023 09: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHva-0000RV-Sm
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:23:43 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20612.outbound.protection.outlook.com
 [2a01:111:f400:7e83::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 930db816-c0b7-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 10:23:41 +0100 (CET)
Received: from MW4PR03CA0273.namprd03.prod.outlook.com (2603:10b6:303:b5::8)
 by CH0PR12MB5041.namprd12.prod.outlook.com (2603:10b6:610:e0::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 09:23:35 +0000
Received: from CO1NAM11FT090.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b5:cafe::26) by MW4PR03CA0273.outlook.office365.com
 (2603:10b6:303:b5::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:23:35 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT090.mail.protection.outlook.com (10.13.175.152) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 09:23:35 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:23:29 -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: 930db816-c0b7-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IGeiznf7X1fyU4D8Y1dYI3gsCwaWRlrACJwuB9bm4jNbN4XK8DZgHSqsYiurx1CFECh1ElL4/615Ia6+43leNNRfLZIVlFw3YGpXXUqZf4mEYgsKQih6IekDdkmRcIyO2jyfEeFYY9b227XduVFcTvUMHG9I99N5XG3QVTZ7IpGWU9/Q1XMsbCqEf61j3RK8/PKuctXifQ1Q4tWT05PPe7AtKrrUNCOfWLQOCwCBnsZWmHkI24ObOZyiwUSrbPbGit+2//apzOA3PzuYTlWOZsq3Q5Dzaom6f+hqkhKfwAGX8SJs9XYKtzI7kncZfk3EzgO9X+w+5mkkhpuu4yi7ug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZwO3ECcjBTANwRW6in0V3p3RKHpMrAOCX+HdexMgjsc=;
 b=DRmAt2by8jatvak9IWqjF9tks+MxjGlASQc8vTx5vqTz67a0mnYJXvy+GlbBVbD6f/NVCUOx1lRn7xvlu+a2HAmXZVqoy5JtwWs46Rh9YUZ+b9KM71+M6a29/yVoI/4qejZmboaRaWIAMXra5GTUvoWYOETxwwOQhNjRLD+glWUHMCwQ+u+AtiDtvbLzHQIRkSctw/IQBDahYSSOVp5VRIUgOsjk+tqm4B3dQy2iI0D0UHsSAEtjVgNXlBJtx4ELLm4+KNAylBEl1WL6BDDdwJDTH08euFRJEy85uWLV8URlIhF5/eQCXBMNPgLDugXmT0dVIcfwDcmvRw+4bgx+Pw==
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
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=ZwO3ECcjBTANwRW6in0V3p3RKHpMrAOCX+HdexMgjsc=;
 b=EWqJb9KRHkmObL69zFqjTMXbHtJr5WbVE3nEZV5aY3Tb3zwEjlfv3LcwRtha4Brzd4k6LrR0WVoc298AlE4N4hRw8Fh9mEnvrEK+w5FAvg2+cbF4iEpR+F4Kh+nxAb6sPNzuPQtboquSGMlpcBqaUlepZnms+ZulQDnMojWKpns=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>
Subject: [RFC QEMU PATCH 04/18] virtio-gpu: CONTEXT_INIT feature
Date: Sun, 12 Mar 2023 17:22:30 +0800
Message-ID: <20230312092244.451465-5-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@amd.com>
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: CO1NAM11FT090:EE_|CH0PR12MB5041:EE_
X-MS-Office365-Filtering-Correlation-Id: 9e86e931-b5bb-4f89-eda1-08db22db748e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	af0y3k6r8CX7j/uC1tgO1mOAYWCGr+eBir7gGr2nojwxGwQF+DdPN0fgz2aXpWszK8muho3nkqJlLVmdInM6c5ge0fVb5S7I8FNubJABRhAGpFokl8sF+YjF1ZJ+ailH3xwK+X5h7aOTAmS7VUnYjhDimr9XI/GR4hyEcdYtls79gokxtiSULg0Q381e1r/G4WXNMaeOyVph9etToZmalPgs0DMYu72kDI2NLft2mSEm/xqA7W99eQ7aINbOaDEbCUT2lsNKTj97wN8tSZnPN057GUXbILGeFDC7FH/xefBlmbkfHlrJx+i3yzjHWUFGeRtd5W2pi5PYDqJmumY2GnrwNC/75942NXBITh0zSG4I0B3sOumV8WYTEoHHu+XW2SAvAp+GJAM8cRbIJHHa1yRZjstjBr60qH0GcfQHoBZn+gZAPfCXh3xAJrIsCFtsMw62xjVKLjoK1GaKRm8k1SvvjPXVjBT+WdhmITbTeYM9eoLfk1hIb1aaUvUMQzNZTiyDroKCwlsSt7y2Z40WDf2CUt4VGVCmNLFB6cuevzjdJG4kJ+T+9SCs4GUZjoLT1dCbxdBLcSEziX/FcVZugFbfcD91WfoQYNY6YgWcutXg7egU91gTablzv7S+w7y2ZwBkKFr1JwNEFlAan6f8F/Hi5BUusL8fD1xTXAxUbDkm8P6Opovqo7pw5TlXW6IxQozxh3mXnle2rW2jeyKt+H31uxmaW5PMjNyliKcVv2JvYemjzZvCImjX7ZwALHmO
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:(13230025)(4636009)(136003)(346002)(376002)(39860400002)(396003)(451199018)(36840700001)(46966006)(40470700004)(40460700003)(110136005)(54906003)(41300700001)(8936002)(478600001)(4326008)(8676002)(70586007)(70206006)(36756003)(82310400005)(921005)(356005)(86362001)(40480700001)(36860700001)(82740400003)(81166007)(26005)(1076003)(7696005)(6666004)(186003)(16526019)(5660300002)(7416002)(2906002)(316002)(83380400001)(47076005)(336012)(426003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:23:35.0200
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e86e931-b5bb-4f89-eda1-08db22db748e
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:
	CO1NAM11FT090.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5041

From: Antonio Caggiano <antonio.caggiano@collabora.com>

Create virgl renderer context with flags using context_id when valid.
The feature can be enabled via the context_init config option.
A warning message will be emitted and the feature will not be used
when linking with virglrenderer versions without context_init support.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 hw/display/virtio-gpu-base.c   |  3 +++
 hw/display/virtio-gpu-virgl.c  | 16 ++++++++++++++--
 hw/display/virtio-gpu.c        |  2 ++
 include/hw/virtio/virtio-gpu.h |  3 +++
 meson.build                    |  4 ++++
 5 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c
index a29f191aa8..6c5f1f327f 100644
--- a/hw/display/virtio-gpu-base.c
+++ b/hw/display/virtio-gpu-base.c
@@ -215,6 +215,9 @@ virtio_gpu_base_get_features(VirtIODevice *vdev, uint64_t features,
     if (virtio_gpu_blob_enabled(g->conf)) {
         features |= (1 << VIRTIO_GPU_F_RESOURCE_BLOB);
     }
+    if (virtio_gpu_context_init_enabled(g->conf)) {
+        features |= (1 << VIRTIO_GPU_F_CONTEXT_INIT);
+    }
 
     return features;
 }
diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 9b5e3dc782..41712b79ee 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -99,8 +99,20 @@ static void virgl_cmd_context_create(VirtIOGPU *g,
     trace_virtio_gpu_cmd_ctx_create(cc.hdr.ctx_id,
                                     cc.debug_name);
 
-    virgl_renderer_context_create(cc.hdr.ctx_id, cc.nlen,
-                                  cc.debug_name);
+    if (cc.context_init) {
+#ifdef HAVE_VIRGL_CONTEXT_INIT
+        virgl_renderer_context_create_with_flags(cc.hdr.ctx_id,
+                                                 cc.context_init,
+                                                 cc.nlen,
+                                                 cc.debug_name);
+        return;
+#else
+        qemu_log_mask(LOG_UNIMP,
+                      "Linked virglrenderer does not support context-init\n");
+#endif
+    }
+    
+    virgl_renderer_context_create(cc.hdr.ctx_id, cc.nlen, cc.debug_name);
 }
 
 static void virgl_cmd_context_destroy(VirtIOGPU *g,
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 95d1347a2e..11f3e56013 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1430,6 +1430,8 @@ static Property virtio_gpu_properties[] = {
     DEFINE_PROP_BIT("blob", VirtIOGPU, parent_obj.conf.flags,
                     VIRTIO_GPU_FLAG_BLOB_ENABLED, false),
     DEFINE_PROP_SIZE("hostmem", VirtIOGPU, parent_obj.conf.hostmem, 0),
+    DEFINE_PROP_BIT("context_init", VirtIOGPU, parent_obj.conf.flags,
+                    VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED, false),
     DEFINE_PROP_END_OF_LIST(),
 };
 
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index caca834680..d1ae97153f 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -93,6 +93,7 @@ enum virtio_gpu_base_conf_flags {
     VIRTIO_GPU_FLAG_EDID_ENABLED,
     VIRTIO_GPU_FLAG_DMABUF_ENABLED,
     VIRTIO_GPU_FLAG_BLOB_ENABLED,
+    VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED,
 };
 
 #define virtio_gpu_virgl_enabled(_cfg) \
@@ -107,6 +108,8 @@ enum virtio_gpu_base_conf_flags {
     (_cfg.flags & (1 << VIRTIO_GPU_FLAG_BLOB_ENABLED))
 #define virtio_gpu_hostmem_enabled(_cfg) \
     (_cfg.hostmem > 0)
+#define virtio_gpu_context_init_enabled(_cfg) \
+    (_cfg.flags & (1 << VIRTIO_GPU_FLAG_CONTEXT_INIT_ENABLED))
 
 struct virtio_gpu_base_conf {
     uint32_t max_outputs;
diff --git a/meson.build b/meson.build
index be74b653b6..826b3473c4 100644
--- a/meson.build
+++ b/meson.build
@@ -778,6 +778,10 @@ if not get_option('virglrenderer').auto() or have_system or have_vhost_user_gpu
 		       cc.has_function('virgl_renderer_resource_create_blob',
 				       prefix: '#include <virglrenderer.h>',
 				       dependencies: virgl))
+  config_host_data.set('HAVE_VIRGL_CONTEXT_INIT',
+                       cc.has_function('virgl_renderer_context_create_with_flags',
+                                       prefix: '#include <virglrenderer.h>',
+                                       dependencies: virgl))
 endif
 blkio = not_found
 if not get_option('blkio').auto() or have_block
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:23:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:23:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508906.783871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbHvf-000213-UR; Sun, 12 Mar 2023 09:23:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508906.783871; Sun, 12 Mar 2023 09: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 1pbHvf-00020l-QR; Sun, 12 Mar 2023 09:23:47 +0000
Received: by outflank-mailman (input) for mailman id 508906;
 Sun, 12 Mar 2023 09:23: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHve-0000RV-63
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:23:46 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20605.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9548a0cb-c0b7-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 10:23:44 +0100 (CET)
Received: from MW4PR03CA0084.namprd03.prod.outlook.com (2603:10b6:303:b6::29)
 by PH0PR12MB7469.namprd12.prod.outlook.com (2603:10b6:510:1e9::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.23; Sun, 12 Mar
 2023 09:23:39 +0000
Received: from CO1NAM11FT005.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b6:cafe::3b) by MW4PR03CA0084.outlook.office365.com
 (2603:10b6:303:b6::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:23:39 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT005.mail.protection.outlook.com (10.13.174.147) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.23 via Frontend Transport; Sun, 12 Mar 2023 09:23:39 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:23:34 -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: 9548a0cb-c0b7-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XS2aac624Ci2RHAwMjs+WlZ6S6UZSLq14rltGMqj3n+qUNMLKWTTXVvjL7C8NnMAQQYK+zvSarpM/y4Qhxhm6JftPSoU5kbiBdqJp/dh+g76xiq9qUaco8XcFyGzq5YAszPOWM/udDMZw+5ObzOlyQ3S2SpUyWbrA19XEA7+9oH+K3flHZQuXPjDLZRxlhrX6f5hmPGFw2FCQ+KySEbVgMzDmRXwboy7GvD7t+TrHxWVaIPGuJgH9tdPzL7SORrXPm1Jj8oFlVAIxSQh/XBTiGSZXgC9wrkLxTPcpbTooNHiUuWyOd5RzBd8nA07QzIWQV99ED7f2b8/EFzMCIpvqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wCmHaKmXg9SrbEHIXMRB80SsoLtzr4tJodZe9x58TXg=;
 b=ETXVdo7bxkVGbplS73UjCe/J1H+ZK0uPY56+iNPw0opMuhdjXWt90QSkr7sHV04kBgQPetoXifr871Lu+eVlFzRqku0Xf9u7zD1FTomQaKhcUCJo8q9WcoVp7S0pg/NHM7gxPnw6PrHZVhFGkQ0iA0nr6d85X9Zx5uWDA28hAJc3XUvS9y6/wBzDxgp6aFdX9IeKcjKQLNv5F19ZBoxvT+tQoweXtB2Qr6288moQgtdsA+HPgPgeQHJlfOo9uzrO5UGXxzoomofWvYNqA5J0JxQ5FoOJ+jNmR/yaHU/zkHvBBdGJRXFkxUpy6EYPQR0HJDS+eL4HKLcFR/sgj8p1bw==
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
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=wCmHaKmXg9SrbEHIXMRB80SsoLtzr4tJodZe9x58TXg=;
 b=UZLRhEA7cQPCx0E8GIe2Za9SzE49d1XSebp6EfWK+IorbbWhmvWCBD5p3mivMwOrvG55ILDPoPiXmU9G5Wxtch11591uf/30L2Ro7hzM+WweXcUOrOV0OG3rK3elxzXro9faQR/3WdmDUwyp9FV7dp55iELXJq0ynu4FEoPWRwg=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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: [RFC QEMU PATCH 05/18] virtio-gpu: Unrealize
Date: Sun, 12 Mar 2023 17:22:31 +0800
Message-ID: <20230312092244.451465-6-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT005:EE_|PH0PR12MB7469:EE_
X-MS-Office365-Filtering-Correlation-Id: a6d6344b-0d60-4e24-1762-08db22db772d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+DXJ5B3oGAwQyhKdNp79mAO31SH9seTUCYvoi0kV+PfBZ/x9JWBT7m09Y6BaV0Zt9pp60RROleYql8AIARtX1V2QTpXmUIAYicDd7pzJyEwl+xibof1kiQENsOH1G9FtL2HVX72uHaiBwYGRTQ+nAwJIaaGdx3bbnXDNRZWi/tZUJe3GDLvWg2vP0YJAlOryZ4buvtHMHOuXm7rtxRhESHzn+U0zqmFnJEsvpzPjqXH4kKpgOgT1GIl80yGG5oL4+DLQ5pO6Ipe8OS/qLLQ+DX5/4Eot1fzr7y810aCyhqAX7rmaFfUYWMtSa1vVFD9+EUwObTk0kXt1FTlAMFwR0lEqhrWcAEAryBSIqOoEybKXi0kZ4ZURBjurK25zhB0jczgGR7B9SdPeZf1Qgj+VJOfQGx1FvmRlcQ7AWYNES9Ctw1R8gM9oDczNMLVYEgYf1VAZBjSGHq1f4qb/xkvk4YZc65LT28bsmrp+41Ml8rvhf3LmX5yDl2+87+dn6R9HBd9OfKCabUBWWf+3+RZ4SrvhzOX7F/niiLdNoKE4N9+nHWggO2CMFw7lwMJ1m7vp2tyEoBH8skl+DSEWjTkMMe3vP7yyOma4v+apJZktGCRF6lPiV5MiWFv9784SUtoOBQveoeqlMkFeqzPeTJTXHowZ/mPupzpTJWg06cXUb0uEEAtZIoPzcfWDFgi3gFe4ssimJofU2D+25qe3ElFS7T3Hln5/ChnT6HeAawbmziKHqbMUqOfmNRGLQCACe77r
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:(13230025)(4636009)(136003)(396003)(39860400002)(376002)(346002)(451199018)(46966006)(36840700001)(40470700004)(6666004)(7696005)(83380400001)(110136005)(82740400003)(316002)(81166007)(478600001)(36860700001)(54906003)(82310400005)(16526019)(186003)(8936002)(40480700001)(40460700003)(26005)(1076003)(36756003)(5660300002)(7416002)(921005)(356005)(47076005)(8676002)(4326008)(336012)(426003)(70206006)(70586007)(41300700001)(86362001)(2616005)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:23:39.4120
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a6d6344b-0d60-4e24-1762-08db22db772d
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:
	CO1NAM11FT005.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7469

From: Antonio Caggiano <antonio.caggiano@collabora.com>

Implement an unrealize function for virtio gpu device.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
---
 hw/display/virtio-gpu-base.c   |  2 +-
 hw/display/virtio-gpu.c        | 11 +++++++++++
 include/hw/virtio/virtio-gpu.h |  1 +
 3 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c
index 6c5f1f327f..5cb71e71ad 100644
--- a/hw/display/virtio-gpu-base.c
+++ b/hw/display/virtio-gpu-base.c
@@ -230,7 +230,7 @@ virtio_gpu_base_set_features(VirtIODevice *vdev, uint64_t features)
     trace_virtio_gpu_features(((features & virgl) == virgl));
 }
 
-static void
+void
 virtio_gpu_base_device_unrealize(DeviceState *qdev)
 {
     VirtIOGPUBase *g = VIRTIO_GPU_BASE(qdev);
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 11f3e56013..62239dee0f 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1350,6 +1350,16 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
     QTAILQ_INIT(&g->fenceq);
 }
 
+static void virtio_gpu_device_unrealize(DeviceState *qdev)
+{
+    VirtIOGPU *g = VIRTIO_GPU(qdev);
+
+    qemu_bh_delete(g->cursor_bh);
+    qemu_bh_delete(g->ctrl_bh);
+
+    virtio_gpu_base_device_unrealize(qdev);
+}
+
 void virtio_gpu_reset(VirtIODevice *vdev)
 {
     VirtIOGPU *g = VIRTIO_GPU(vdev);
@@ -1448,6 +1458,7 @@ static void virtio_gpu_class_init(ObjectClass *klass, void *data)
     vgbc->gl_flushed = virtio_gpu_handle_gl_flushed;
 
     vdc->realize = virtio_gpu_device_realize;
+    vdc->unrealize = virtio_gpu_device_unrealize;
     vdc->reset = virtio_gpu_reset;
     vdc->get_config = virtio_gpu_get_config;
     vdc->set_config = virtio_gpu_set_config;
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index d1ae97153f..ef02190f97 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -246,6 +246,7 @@ bool virtio_gpu_base_device_realize(DeviceState *qdev,
                                     VirtIOHandleOutput ctrl_cb,
                                     VirtIOHandleOutput cursor_cb,
                                     Error **errp);
+void virtio_gpu_base_device_unrealize(DeviceState *qdev);
 void virtio_gpu_base_reset(VirtIOGPUBase *g);
 void virtio_gpu_base_fill_display_info(VirtIOGPUBase *g,
                         struct virtio_gpu_resp_display_info *dpy_info);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:23:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:23:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508909.783881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbHvm-0002bu-90; Sun, 12 Mar 2023 09:23:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508909.783881; Sun, 12 Mar 2023 09: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 1pbHvm-0002bn-5D; Sun, 12 Mar 2023 09:23:54 +0000
Received: by outflank-mailman (input) for mailman id 508909;
 Sun, 12 Mar 2023 09: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHvk-00008O-Jg
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:23:52 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 987fd1a3-c0b7-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 10:23:51 +0100 (CET)
Received: from MW4PR04CA0292.namprd04.prod.outlook.com (2603:10b6:303:89::27)
 by BN9PR12MB5307.namprd12.prod.outlook.com (2603:10b6:408:104::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 09:23:44 +0000
Received: from CO1NAM11FT083.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:89:cafe::1b) by MW4PR04CA0292.outlook.office365.com
 (2603:10b6:303:89::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:23:44 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT083.mail.protection.outlook.com (10.13.174.92) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 09:23:43 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:23:38 -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: 987fd1a3-c0b7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O42/FPcMjk2698dS+fQoJf7NQf071KjZmLhMD7rX8H3iqvhv6zYyO82UHyBEN7C0ZM5fN3e37/PGtSxVK5mJrDWBvZIV2ZXQ0ZACzin7Hmc8aoH2vbkCZD3dIrv4aI54TZErj6QLeuSwgfsuPpS+M9ScGIUxZWns14sjr15dSi4MMrtBIpRJVYNxYFkYFfXEYHHVvbIoonRRD2ZM9eQR1+24SEyymvLxJWL8jMLLvFcdh/f8KmR3Cm2EOQto+ZRZktkjVdsx9qnrmDKNI4P8Zxt6UhFJicHPDXDVaE5TaYMRF5Q+L3plP79Xu7DHri0MFkzm8ycXbNIyyZIGoPk0gQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4rY/N3X0rpQlmiqhja8ALXObsHhGh3tr3xM8xHuQ2IA=;
 b=MqMiuu015yvi4bqt6eAiWO0of06bVGtRFebboXIdiXZeHTYWFjJrq23XdyX7jZzAC0m67jEwkI25WWjRfgSKGybO2LFUN1LWj4LjsmsffA5qwr+xQZozkXLvV2oT4kX9Xk1dobgGYIf2memA3n0Xk9ok7kedbkUcXi63V7UjfqmDYPWd5hSk/gTVSK4CmHK8kBYh9CZx2Oc1WnDeijrliH7JXLYXhM/JvlWsIsaFTRdHI0cZDRJkDKiuMFKBs0hbQ1XOGZ3dpct+XKCp15DQr3Ruaq6LIhd5hpgFRXmVYVzKZkzZ27nyKYXGjgxgk+s+YpfWKrocxqH1jw8MVMqiUA==
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
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=4rY/N3X0rpQlmiqhja8ALXObsHhGh3tr3xM8xHuQ2IA=;
 b=Ji6tZH1OZIykR3r/A/VdDQSxcMaWZue1NAFapcGl4WEg7KZgJs38Bf97SXUo+lrUd2hRk92oT1ZA5ZD18IPLPvoBNa2buaHrl9hE9HRYi9rSSGnuLqFvzajwWPVxCUaJ4/WBQUHdtKxM4IehQ3KIX0A3jDetRGNlJPf8knKMJTU=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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: [RFC QEMU PATCH 06/18] virtio-gpu: Resource UUID
Date: Sun, 12 Mar 2023 17:22:32 +0800
Message-ID: <20230312092244.451465-7-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT083:EE_|BN9PR12MB5307:EE_
X-MS-Office365-Filtering-Correlation-Id: 89ddbb17-bced-46e5-d5c4-08db22db79c1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IcMT8UzS3p177JP5MqeksfLMB/9J2nBkGioT7+C4q2YicFn+Vg2Q8CnTnsQx7x6ti13Sqdla9PX9zoIHKC3QdoBt4pXWFzwT2Fe7QWJ7qvHrwz+51gmag31KxxT/PT2XGP2BOeNnGphYDO6VVIJ6lQuNUJy6auagJNp+54zmAIQp6tebLwtms++9GDEWnKXbd+jq3bYt7BTKxNPA3EcfzSxeLUML8uFpf9T5MrL7K4BtaRB/BKglp0GoBd5CEQhQjZ4JI+WfijHUuvyAgack6H9omyeIz5j2kLbrIesD0Ujf9nnwAaFuTfmC1EWOqcR+0DdfIMBeRQGOerYejNMDsv2v5AM8bQGbsNdz+mavV9utU1XsFJLE65+XfIfkIS8suTiXSKBsZ24OBSvkLMUsVFIToBWrMwApc2y2XKzPn1H1JUHrkXfCUEOFe0Ga+OvKZopNOBusIOeAZCV02kQtV51NqTZmTd80iIx7B+PeoKGCNAB4KtEnRAbdRtY/wv+NbvGzVmqZGYmIyYuQhRX+Elvtedjmwc0W8SlPdDhiTiOzSIaLF3hURLUbGv6kL6orMs7bqUNNigXa5VZBfLThyFEQG4yZ5E/VRnleixWQPhWezFgSGV3tD/8s2sHl/Q7jMIw+rIu3iTRehViowCfITJd8AlVMqRKeQGc/RR22jzRUKteBZ2q+0hcsu3IfkRSJJp1UGvKMvTKn/4VGZXilyYgyaOCLr3qm2VbwixXa5xpUBkPpFvEErgP+gz2axEPY
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:(13230025)(4636009)(39860400002)(376002)(396003)(136003)(346002)(451199018)(36840700001)(46966006)(40470700004)(82740400003)(36860700001)(82310400005)(921005)(356005)(70586007)(2906002)(41300700001)(70206006)(7696005)(8676002)(40480700001)(4326008)(40460700003)(478600001)(316002)(110136005)(86362001)(36756003)(54906003)(81166007)(426003)(47076005)(5660300002)(26005)(1076003)(2616005)(336012)(186003)(16526019)(7416002)(6666004)(8936002)(83380400001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:23:43.7579
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 89ddbb17-bced-46e5-d5c4-08db22db79c1
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:
	CO1NAM11FT083.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5307

From: Antonio Caggiano <antonio.caggiano@collabora.com>

Enable resource UUID feature and implement command resource assign UUID.
This is done by introducing a hash table to map resource IDs to their
UUIDs.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
---
 hw/display/trace-events        |  1 +
 hw/display/virtio-gpu-base.c   |  2 ++
 hw/display/virtio-gpu-virgl.c  | 11 +++++++++
 hw/display/virtio-gpu.c        | 41 ++++++++++++++++++++++++++++++++++
 include/hw/virtio/virtio-gpu.h |  4 ++++
 5 files changed, 59 insertions(+)

diff --git a/hw/display/trace-events b/hw/display/trace-events
index 0c0ffcbe42..6632344322 100644
--- a/hw/display/trace-events
+++ b/hw/display/trace-events
@@ -41,6 +41,7 @@ virtio_gpu_cmd_res_create_blob(uint32_t res, uint64_t size) "res 0x%x, size %" P
 virtio_gpu_cmd_res_unref(uint32_t res) "res 0x%x"
 virtio_gpu_cmd_res_back_attach(uint32_t res) "res 0x%x"
 virtio_gpu_cmd_res_back_detach(uint32_t res) "res 0x%x"
+virtio_gpu_cmd_res_assign_uuid(uint32_t res) "res 0x%x"
 virtio_gpu_cmd_res_xfer_toh_2d(uint32_t res) "res 0x%x"
 virtio_gpu_cmd_res_xfer_toh_3d(uint32_t res) "res 0x%x"
 virtio_gpu_cmd_res_xfer_fromh_3d(uint32_t res) "res 0x%x"
diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c
index 5cb71e71ad..54792aa501 100644
--- a/hw/display/virtio-gpu-base.c
+++ b/hw/display/virtio-gpu-base.c
@@ -219,6 +219,8 @@ virtio_gpu_base_get_features(VirtIODevice *vdev, uint64_t features,
         features |= (1 << VIRTIO_GPU_F_CONTEXT_INIT);
     }
 
+    features |= (1 << VIRTIO_GPU_F_RESOURCE_UUID);
+
     return features;
 }
 
diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 41712b79ee..a3c388f907 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -45,6 +45,10 @@ static void virgl_cmd_create_resource_2d(VirtIOGPU *g,
     args.nr_samples = 0;
     args.flags = VIRTIO_GPU_RESOURCE_FLAG_Y_0_TOP;
     virgl_renderer_resource_create(&args, NULL, 0);
+
+    struct virtio_gpu_simple_resource *res = g_new0(struct virtio_gpu_simple_resource, 1);
+    res->resource_id = c2d.resource_id;
+    QTAILQ_INSERT_HEAD(&g->reslist, res, next);
 }
 
 static void virgl_cmd_create_resource_3d(VirtIOGPU *g,
@@ -69,6 +73,10 @@ static void virgl_cmd_create_resource_3d(VirtIOGPU *g,
     args.nr_samples = c3d.nr_samples;
     args.flags = c3d.flags;
     virgl_renderer_resource_create(&args, NULL, 0);
+
+    struct virtio_gpu_simple_resource *res = g_new0(struct virtio_gpu_simple_resource, 1);
+    res->resource_id = c3d.resource_id;
+    QTAILQ_INSERT_HEAD(&g->reslist, res, next);
 }
 
 static void virgl_cmd_resource_unref(VirtIOGPU *g,
@@ -621,6 +629,9 @@ void virtio_gpu_virgl_process_cmd(VirtIOGPU *g,
         /* TODO add security */
         virgl_cmd_ctx_detach_resource(g, cmd);
         break;
+    case VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID:
+        virtio_gpu_resource_assign_uuid(g, cmd);
+        break;
     case VIRTIO_GPU_CMD_GET_CAPSET_INFO:
         virgl_cmd_get_capset_info(g, cmd);
         break;
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 62239dee0f..c7d1e52cb5 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -940,6 +940,37 @@ virtio_gpu_resource_detach_backing(VirtIOGPU *g,
     virtio_gpu_cleanup_mapping(g, res);
 }
 
+void virtio_gpu_resource_assign_uuid(VirtIOGPU *g,
+                                     struct virtio_gpu_ctrl_command *cmd)
+{
+    struct virtio_gpu_simple_resource *res;
+    struct virtio_gpu_resource_assign_uuid assign;
+    struct virtio_gpu_resp_resource_uuid resp;
+    QemuUUID *uuid = NULL;
+
+    VIRTIO_GPU_FILL_CMD(assign);
+    virtio_gpu_bswap_32(&assign, sizeof(assign));
+    trace_virtio_gpu_cmd_res_assign_uuid(assign.resource_id);
+
+    res = virtio_gpu_find_check_resource(g, assign.resource_id, false, __func__, &cmd->error);
+    if (!res) {
+        return;
+    }
+
+    memset(&resp, 0, sizeof(resp));
+    resp.hdr.type = VIRTIO_GPU_RESP_OK_RESOURCE_UUID;
+
+    uuid = g_hash_table_lookup(g->resource_uuids, GUINT_TO_POINTER(assign.resource_id));
+    if (!uuid) {
+        uuid = g_new(QemuUUID, 1);
+        qemu_uuid_generate(uuid);
+        g_hash_table_insert(g->resource_uuids, GUINT_TO_POINTER(assign.resource_id), uuid);
+    }
+
+    memcpy(resp.uuid, uuid, sizeof(QemuUUID));
+    virtio_gpu_ctrl_response(g, cmd, &resp.hdr, sizeof(resp));
+}
+
 void virtio_gpu_simple_process_cmd(VirtIOGPU *g,
                                    struct virtio_gpu_ctrl_command *cmd)
 {
@@ -988,6 +1019,9 @@ void virtio_gpu_simple_process_cmd(VirtIOGPU *g,
     case VIRTIO_GPU_CMD_RESOURCE_DETACH_BACKING:
         virtio_gpu_resource_detach_backing(g, cmd);
         break;
+    case VIRTIO_GPU_CMD_RESOURCE_ASSIGN_UUID:
+        virtio_gpu_resource_assign_uuid(g, cmd);
+        break;
     default:
         cmd->error = VIRTIO_GPU_RESP_ERR_UNSPEC;
         break;
@@ -1348,12 +1382,15 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
     QTAILQ_INIT(&g->reslist);
     QTAILQ_INIT(&g->cmdq);
     QTAILQ_INIT(&g->fenceq);
+
+    g->resource_uuids = g_hash_table_new_full(NULL, NULL, NULL, g_free);
 }
 
 static void virtio_gpu_device_unrealize(DeviceState *qdev)
 {
     VirtIOGPU *g = VIRTIO_GPU(qdev);
 
+    g_hash_table_destroy(g->resource_uuids);
     qemu_bh_delete(g->cursor_bh);
     qemu_bh_delete(g->ctrl_bh);
 
@@ -1383,6 +1420,10 @@ void virtio_gpu_reset(VirtIODevice *vdev)
         g_free(cmd);
     }
 
+    if (g->resource_uuids) {
+        g_hash_table_remove_all(g->resource_uuids);
+    }
+
     virtio_gpu_base_reset(VIRTIO_GPU_BASE(vdev));
 }
 
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index ef02190f97..0a44aea4ee 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -200,6 +200,8 @@ struct VirtIOGPU {
         QTAILQ_HEAD(, VGPUDMABuf) bufs;
         VGPUDMABuf *primary[VIRTIO_GPU_MAX_SCANOUTS];
     } dmabuf;
+
+    GHashTable *resource_uuids;
 };
 
 struct VirtIOGPUClass {
@@ -273,6 +275,8 @@ int virtio_gpu_create_mapping_iov(VirtIOGPU *g,
                                   uint32_t *niov);
 void virtio_gpu_cleanup_mapping_iov(VirtIOGPU *g,
                                     struct iovec *iov, uint32_t count);
+void virtio_gpu_resource_assign_uuid(VirtIOGPU *g,
+                                     struct virtio_gpu_ctrl_command *cmd);
 void virtio_gpu_process_cmdq(VirtIOGPU *g);
 void virtio_gpu_device_realize(DeviceState *qdev, Error **errp);
 void virtio_gpu_reset(VirtIODevice *vdev);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:23:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:23:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508912.783891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbHvn-0002xh-O3; Sun, 12 Mar 2023 09:23:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508912.783891; Sun, 12 Mar 2023 09: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 1pbHvn-0002xM-K0; Sun, 12 Mar 2023 09:23:55 +0000
Received: by outflank-mailman (input) for mailman id 508912;
 Sun, 12 Mar 2023 09:23: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHvm-0000RV-Qa
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:23:54 +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 9a4d4dfe-c0b7-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 10:23:52 +0100 (CET)
Received: from MW2PR2101CA0009.namprd21.prod.outlook.com (2603:10b6:302:1::22)
 by BN9PR12MB5241.namprd12.prod.outlook.com (2603:10b6:408:11e::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 09:23:49 +0000
Received: from CO1NAM11FT016.eop-nam11.prod.protection.outlook.com
 (2603:10b6:302:1:cafe::7e) by MW2PR2101CA0009.outlook.office365.com
 (2603:10b6:302:1::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.18 via Frontend
 Transport; Sun, 12 Mar 2023 09:23:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT016.mail.protection.outlook.com (10.13.175.141) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.23 via Frontend Transport; Sun, 12 Mar 2023 09:23:48 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:23:43 -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: 9a4d4dfe-c0b7-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WnijveTocjcwkKU/226Umxh92W9oXNd1EKo51GnoFFYTgPUqYE7QTVlOjTSU4VvFKXigMoYputZWjlnK9D+BhqCMzJSBfC090RVrfkbSlwrPuAcgZowPvgk/it5T76ZOe/5XeehCSsgoRPSg72Ubg/7TsMgantkHqElZ6IlccetrRKKhVMIl2WLh16JNGy1iZoVCsw0BR6CUh+PYMNJRIYEXRkDRsV8MReYqlIu+b/asFdX0R6MkXfT0fg+pcK5dZv6ZXUWIMrQnLMscQAMATGaIrl3BgnoB4NeOVEOIDZ3Ii4fbfN1/jD7FX7SRWRHzIc1RuO5vDp5mW9gYLv8jLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qZIqK1/KnlRuGDUanWJgMYgPikWhZgF+I67bgQG+lYU=;
 b=M3P2pHxsocrul//TmIKjRXUZcyJwsoLCVuMEgnUIrjfPbbJfYcUdrOttGx79CmNqsNG0vUORxfz9qWddjtlryqCcVa54l0WL2JiRbdRlrB93GMlc0tJ/HWii/8k1XQQqXYVUfvLG34UM3DVFsgiDidhqVjZEy87mZjta0WVvKU5by3p+dCzLoK3LyOrjCgd9EAHnfFBCiQrmIqW6DGIZCHcPUTaTiB/59wY2UytjkKEgS5rjI87ffd+csh4vleBUfjDyUisTqfOiwKmkjunfyp+QXO52Pn6k9STYG91A7gGBrNrZE6GdxlFFBmg6Il5FIyJNreRBGwKhm1QAwD2VRw==
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
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=qZIqK1/KnlRuGDUanWJgMYgPikWhZgF+I67bgQG+lYU=;
 b=yXPShSkTrYHgmqV9Xi5IKwmAFHU0zHmQoWA/zlpD/4oGznyGGfqfN3/PIN63andPVauvmBn4JPvVL3MrQziFAeIPeNuc9jF2DTIh498p0WhcqCGH1xVJ3dIcEH6MvcoOo2oFIeN4j26vPhYUO9IUR74mL5Jrfx4FC9nyKAwdhus=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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: [RFC QEMU PATCH 07/18] virtio-gpu: Support Venus capset
Date: Sun, 12 Mar 2023 17:22:33 +0800
Message-ID: <20230312092244.451465-8-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT016:EE_|BN9PR12MB5241:EE_
X-MS-Office365-Filtering-Correlation-Id: 52491bac-ac24-4ea3-8a86-08db22db7c6f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WdQ1AuKBeSlhb8d61TlGsEWCIKEa8mPLYyLX4rX0qs+0f1AffWE0doOt5JzyNxh2+pnxjguJJO/aW7zUOw6S+9yuYi5fYMvsfsbKCYTaXwVsZMgCRbSDdnIXzqPtqF27hmBVOcoQCPpHOdz5yOoyhGYp3Pp+q9nlnb113skkVulMvBtBqLMw3raz3HilZ/E8bYCIpYiSpjkkJmGmsh7W+ZeT8ZIoX6G1Z2Cv0zJwACDKg1ntJyJlNvqHSRVjH6/q4FSFGR15sptxuc8CtK0bc+aFhNY58wDmsaMf4Y0QKWcRC5Yd7oCyCU0fJVW49O6uLXPkgjKmW3Y5WsvjFNSRysk1ynF0HHQZDewp/GsgzdS3jvS/WeuraSL3O8/YQy/JC2q+1WNAGGUj2HfzLDlbYY4Pyv0hHHlexqrd4KrJyInb/Ll+eAUA30F9Eg7qLFg/zbmgnvNMUGNWcSNNJgIbk65bKt++xvQNpEQ9/PWkk2298UVMRN43aim9NgQp/ECjvGlvk7tXTUFLWs/Gq5GV6+0blrT4/czXNAp91N7JdK9SXyh7S0h2Pm9UnMYaBAJmdg3zwe042/dYRDr6SfGHeFc961I7ZZxtRNvIq4lyS7dqGdn2c2k+ca/4BiK2Bkn07jzQ80WEJ6NHrO+HwTPD8KylNcU7l+vouXysujbgt0ctL0S6S+FSJaQu7xexPQ8EmJFpUtaSUtogXlKvI/Hj/8pWYrHDNe4NxMXlT6BdtsSovWVqmWpJZtOM6EKHbDl2
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:(13230025)(4636009)(136003)(39860400002)(396003)(376002)(346002)(451199018)(46966006)(40470700004)(36840700001)(82310400005)(921005)(356005)(36756003)(86362001)(36860700001)(82740400003)(81166007)(40480700001)(40460700003)(4326008)(70586007)(70206006)(8676002)(8936002)(41300700001)(110136005)(54906003)(478600001)(316002)(5660300002)(7416002)(2906002)(336012)(47076005)(426003)(2616005)(83380400001)(7696005)(186003)(26005)(16526019)(6666004)(1076003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:23:48.1736
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 52491bac-ac24-4ea3-8a86-08db22db7c6f
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:
	CO1NAM11FT016.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5241

From: Antonio Caggiano <antonio.caggiano@collabora.com>

Add support for the Venus capset, which enables Vulkan support through
the Venus Vulkan driver for virtio-gpu.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
---
 hw/display/virtio-gpu-virgl.c               | 21 +++++++++++++++++----
 include/standard-headers/linux/virtio_gpu.h |  2 ++
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index a3c388f907..fe03dc916f 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -388,6 +388,11 @@ static void virgl_cmd_get_capset_info(VirtIOGPU *g,
         virgl_renderer_get_cap_set(resp.capset_id,
                                    &resp.capset_max_version,
                                    &resp.capset_max_size);
+    } else if (info.capset_index == 2) {
+        resp.capset_id = VIRTIO_GPU_CAPSET_VENUS;
+        virgl_renderer_get_cap_set(resp.capset_id,
+                                   &resp.capset_max_version,
+                                   &resp.capset_max_size);
     } else {
         resp.capset_max_version = 0;
         resp.capset_max_size = 0;
@@ -817,10 +822,18 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
 
 int virtio_gpu_virgl_get_num_capsets(VirtIOGPU *g)
 {
-    uint32_t capset2_max_ver, capset2_max_size;
+    uint32_t capset2_max_ver, capset2_max_size, num_capsets;
+    num_capsets = 1;
+
     virgl_renderer_get_cap_set(VIRTIO_GPU_CAPSET_VIRGL2,
-                              &capset2_max_ver,
-                              &capset2_max_size);
+                               &capset2_max_ver,
+                               &capset2_max_size);
+    num_capsets += capset2_max_ver ? 1 : 0;
+
+    virgl_renderer_get_cap_set(VIRTIO_GPU_CAPSET_VENUS,
+                               &capset2_max_ver,
+                               &capset2_max_size);
+    num_capsets += capset2_max_size ? 1 : 0;
 
-    return capset2_max_ver ? 2 : 1;
+    return num_capsets;
 }
diff --git a/include/standard-headers/linux/virtio_gpu.h b/include/standard-headers/linux/virtio_gpu.h
index 2da48d3d4c..2db643ed8f 100644
--- a/include/standard-headers/linux/virtio_gpu.h
+++ b/include/standard-headers/linux/virtio_gpu.h
@@ -309,6 +309,8 @@ struct virtio_gpu_cmd_submit {
 
 #define VIRTIO_GPU_CAPSET_VIRGL 1
 #define VIRTIO_GPU_CAPSET_VIRGL2 2
+/* 3 is reserved for gfxstream */
+#define VIRTIO_GPU_CAPSET_VENUS 4
 
 /* VIRTIO_GPU_CMD_GET_CAPSET_INFO */
 struct virtio_gpu_get_capset_info {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:23:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:23:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508915.783901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbHvr-0003To-2g; Sun, 12 Mar 2023 09:23:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508915.783901; Sun, 12 Mar 2023 09:23: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 1pbHvq-0003Sv-VF; Sun, 12 Mar 2023 09:23:58 +0000
Received: by outflank-mailman (input) for mailman id 508915;
 Sun, 12 Mar 2023 09:23:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHvp-00008O-Hi
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:23:57 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e83::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9c60172d-c0b7-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 10:23:56 +0100 (CET)
Received: from MW4P223CA0024.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::29)
 by CH0PR12MB5315.namprd12.prod.outlook.com (2603:10b6:610:d6::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 09:23:53 +0000
Received: from CO1NAM11FT038.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:80:cafe::18) by MW4P223CA0024.outlook.office365.com
 (2603:10b6:303:80::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:23:53 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT038.mail.protection.outlook.com (10.13.174.231) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.23 via Frontend Transport; Sun, 12 Mar 2023 09:23:52 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:23:47 -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: 9c60172d-c0b7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f5WasJ0N6AtkzlAEdfLdRimGurtSACTjd2MnIQgCLUdH5kOSE/PNB1Vde2xqu9OgvIAX9p6RagrP9uyVArEIC3vdZ1ts5Hl9XY+Mop0wNAvmJIV7sIoLjjXumSma5gkVVF+g/da8XQvmA+lKN/Ffq+lTerbNCn+Faxl/jL4gOeBQatTuweoAO/ewYaACV7QBGY56fEQPmDHfBlmx8dNzukJrxjWsTC8uPry73s90/ajMSlLm0rg11i1nnFk9kZ1vNlkHrn2VVpe1uXx3Y1tF065JDnaLOLxwOcpbU/zp35kzYYNJLNKu4rItWFon03X0v3c9UuSELJPSNgzxEdekHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xkxk9X0Q2z4haQr1xkk1k3YakU7Si0xG9dEUMHaqay4=;
 b=I++Js5U0CIK5nmamk834IwgW2rtM1+9Sy8p3nS8UcEOL1DbjBJujwNceNtuiDLXlHVoxX9ofn/UKGQpoRxfxkyCy3v/0NygsSw7POHNeho1GjRAm+wInjW7Y5W5dNSZV3Ozkbqwlqvl+1UNkJc+9hVcpScHIqFAhIFABfcwVEtt9VTfVsUB/uSQtFDYJfIxqOhESjbbUsHamQ3TgqTPEyqnYnwLnjad2r5rK9GCUt+mN9vpCGm9rDJUuoIfTDzwYNpm14rocVag/zuohMikWvACqkuHXhkzstJG2yDpBquWVaOQlhMSh3uQ71PQn/i5mGS65xdyeCXnmoIIfGKWODg==
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
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=xkxk9X0Q2z4haQr1xkk1k3YakU7Si0xG9dEUMHaqay4=;
 b=BhxfFuXNjB9QTBGGOkTs356B/QU0ND9L/db4BSW5yoCiJF27ZcpTAkDBLgnOL9+kBf5icH5r6My7Tz0tUeMMv/U7BO3s8fTsXLaO+sFCKVASR078wsoQt34PBtLDgE9EyfthM9+hWpCUkGgWpT1ZdiSALKkSjWD6YWL6lFiWnIk=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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: [RFC QEMU PATCH 08/18] virtio-gpu: Initialize Venus
Date: Sun, 12 Mar 2023 17:22:34 +0800
Message-ID: <20230312092244.451465-9-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT038:EE_|CH0PR12MB5315:EE_
X-MS-Office365-Filtering-Correlation-Id: 80ec8d29-17e2-4534-677d-08db22db7ef9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+xQ6NUWBgGTjalqIQj/mDDwvH1HiZKVP7/eEVBbnQZ1Nw2lUHuACKhTRjxlnYPUJ8Pg93Yw9GUWvykvpatNvah0s03kx9UnSbmo5o6Pe13u17hk1EaiRRstB47dTCAK6PjhvOZYvWutkRwdK4a1LZeMJ9DPgaoxhw0jrpBWesLQrIu/FjUapa8E2RIfIg0s57+sFYpd75dOXQHoL5YRLZ5jJ2Jdpxvec4zG6mOIfAB2NprSPUpFdYpMvSHXGIqKbr8t3+pC6foD3jPcH3relbTjtfSwz8u9KNsEmQV/mNj0iEMNOLlD8p0fCXFmxujEpTEELxViRpNzuQjZz3wC8Oay5MG47Jm+DnMzURuyXyPeZpiXE7I7WF5Qy40fRSnNFnq+MlTJ6P3hj1lv9CHu7NsuOFjsIAIAfjfwmGr6Pp8rc9MlVW9xCcj+pr0DJo9mQ11MUaTfVseyQIKKC8i/gR+VVsXxt628jQzjqP2ODHXvxEV9mlKBt59mGo8JeDKGY1g0n+Kxt1l2IrQeVFsXb+ky19kTP1J5wt/Kjyc6hR0Dl/WWu55RaZiYWhJmgXBh2IUsFUDK0fvsaCU6bqvmDmimg2xA4Kyih72mOmmGrsth/L2T3ikHvVRv32aGkBuumCjOZ2xQ+Z3bVMh0Bkx/XcxiU6R22IBV3a+qQX4uwjZdpa0QBw4hWsaWMNMOJ7ddk2xPLXVLiomPnsEGeYVYN89BpDWqm/GjK1xvKoWk6ltPmsjLZ72hmpBHvm2x97f+j
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:(13230025)(4636009)(39860400002)(396003)(136003)(376002)(346002)(451199018)(46966006)(40470700004)(36840700001)(6666004)(7696005)(83380400001)(82740400003)(110136005)(316002)(81166007)(478600001)(36860700001)(54906003)(82310400005)(8936002)(16526019)(40480700001)(186003)(26005)(40460700003)(1076003)(4744005)(36756003)(5660300002)(7416002)(4326008)(8676002)(921005)(356005)(336012)(426003)(47076005)(70206006)(70586007)(41300700001)(86362001)(2616005)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:23:52.4951
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 80ec8d29-17e2-4534-677d-08db22db7ef9
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:
	CO1NAM11FT038.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5315

From: Antonio Caggiano <antonio.caggiano@collabora.com>

Request Venus when initializing VirGL.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
---
 hw/display/virtio-gpu-virgl.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index fe03dc916f..f5ce206b93 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -803,7 +803,11 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
 {
     int ret;
 
+#ifdef VIRGL_RENDERER_VENUS
+    ret = virgl_renderer_init(g, VIRGL_RENDERER_VENUS, &virtio_gpu_3d_cbs);
+#else
     ret = virgl_renderer_init(g, 0, &virtio_gpu_3d_cbs);
+#endif
     if (ret != 0) {
         error_report("virgl could not be initialized: %d", ret);
         return ret;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:24:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:24:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508918.783911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbHvz-0004B4-Ds; Sun, 12 Mar 2023 09:24:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508918.783911; Sun, 12 Mar 2023 09:24: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 1pbHvz-00049r-9S; Sun, 12 Mar 2023 09:24:07 +0000
Received: by outflank-mailman (input) for mailman id 508918;
 Sun, 12 Mar 2023 09: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHvx-00008O-Gu
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:24:05 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20622.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a15425e1-c0b7-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 10:24:04 +0100 (CET)
Received: from MW4P223CA0002.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::7) by
 CH2PR12MB4280.namprd12.prod.outlook.com (2603:10b6:610:ac::11) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.24; Sun, 12 Mar 2023 09:23:57 +0000
Received: from CO1NAM11FT038.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:80:cafe::e) by MW4P223CA0002.outlook.office365.com
 (2603:10b6:303:80::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:23:57 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT038.mail.protection.outlook.com (10.13.174.231) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.23 via Frontend Transport; Sun, 12 Mar 2023 09:23:57 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:23:52 -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: a15425e1-c0b7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dby9PyNrcFZXc3w93zGeT3Lld0g7FSt9MOmEy1hrxuwCN1gnVd34rLbdNlAx/0jY1f03RR5ticK7BWmu5XP5qOgJJa2Ogzl9QDwtzHsFv+S4eZMBwiilTKlbSW6Yq7njS/BQctgirSFK1WDtnNGFv5nUq3ddXJ28pf3EWzNT/QwC/wiSIyKOl028Rw/t4nIpA2/f1Uha0NAJDukX83UzzEC0Bfib92CXL8LmjLUe2yiUhCEGu06tREL5tFMtIUzj9D+ektT0pXdGDOa1GnvB7U1JKVbV95TdgSEfh4+0Tse6nlLjdNXBsQ8MWWEvIhxU4OgmcQ4kWEkLLfQ9NCJRSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bqo5UUHvKaJ96skD8ltfQSj1ob1olkWMen932bB4E0M=;
 b=A3ngGLmgwpUrcw+gP78FSMPUsmMYRFhn0axJUC684QQq5UqBrmvYTGjHXSUKq60+IV4NQrb7ShLUb7aH85wAfbu5VZ/L4t7BTvzNrLSeRQBhPlfbyuKm3fy4oNy7gAPeTlBXBHAOu2FpKzUwz6IzivMWQ7CkCrKL8CXBF77HTvBnzYXuUPYye43+KiSUlioWT5EPWhb83DmmVzLxa6WDBqmKNSx/VmWsdIWqX/EyQAYePRSm/TTKJLB+b1KimHuQ4ntRi0x/CHCRuZkxKdvWjX16IDyWlvfT6GJlFvx+DqXmz9z4KzIRKcIqJympdmbbUmWuDf1WH56Vcavs9+1qHg==
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
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=Bqo5UUHvKaJ96skD8ltfQSj1ob1olkWMen932bB4E0M=;
 b=iOiycFy6atT9VZO2v7M4NyTWr0WgEnhbBoCAtbKdienp5zKAXzM6njglNGO3IK27s3/3uDADzq4JAfp+B+zCsVrlLHviTagFUmx/TE0fbKsEs7IzAHerXPQ5gtpyL9vs2ahDSlaj0QGyXxEVAJdi8OpHALXCx0Ya6Jtq1Xpq1Vs=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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: [RFC QEMU PATCH 09/18] meson: Enable virglrenderer unstable APIs
Date: Sun, 12 Mar 2023 17:22:35 +0800
Message-ID: <20230312092244.451465-10-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT038:EE_|CH2PR12MB4280:EE_
X-MS-Office365-Filtering-Correlation-Id: 8dffb5e8-41f1-43f6-8892-08db22db81d0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y86SUr+jwgzasKdrOvmk8524iVts/Yoxc+yEKW/6ckrGyMiOr9ZREwmWmyxTfiSKUKZIC93AKDfytuetiK6qMY60M8XRZkf9nMuS3+nBLgfjWYhYbvW13RcC5EUJ9XOT8KHtxsimkw+Iysf2wfJ/HsF29lInFxl/kRDR6UJIUo9gctDfPmsEx5SGg8SpUUeI5Yl/lcixKuHiR57yEiDMtggPuCQCZNg4+GOgfQjs1Vs7c0of0PlwYjSztn4EuAV62pOlVDxbiSAMS+tOqSNgMD+AzYnqwfLqN+s1ZwmnUTZ0tR6Zny3uP9zC0ViPwiIMNXecwCVxO0rb48UZVmth0YEqttt0TqCZMPSg4zfuwuR1CcAVgY/D3o9uztN9HrL+TTcOpCbr5hr/4A2AKH1OlxMUPUO9FqTYIjOa0wTnrywTJqNbmaMV/YQA9AQUuM0ea/y3zlmWO0Ot0vx1rTt6s6QH9HmRwj5GzG2AKfmznnR81cqh9agOjHtKZ9PbkmNQG8YlnOuqvUxwa19KjL0TtB2RLudqApCnFginyV2dJeR2Sb9F9WTpEYH+q3kzNDABPPbUMRV1Q59mxVZJ0NR1SCi3vxzrC5oDtdvfPi7cBX4tWlAZcFNzlAeZ3YgLrsjMMry+rYC6bi+knYiRL8I+1tlveaRgG+BWf6xfL0oDJepUbZQDi9BiZCFckQBVb1KtE3vDur+nBVJj4SVMkeg4pmBn8BX+If+0ZHMHAO8kxdHeJST7Qy6UA1feQSJWmtuj
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:(13230025)(4636009)(136003)(39860400002)(396003)(376002)(346002)(451199018)(46966006)(40470700004)(36840700001)(82310400005)(921005)(356005)(36756003)(86362001)(36860700001)(82740400003)(81166007)(40480700001)(40460700003)(4326008)(70586007)(70206006)(8676002)(8936002)(41300700001)(110136005)(54906003)(478600001)(316002)(5660300002)(7416002)(2906002)(336012)(47076005)(426003)(2616005)(83380400001)(7696005)(186003)(26005)(16526019)(6666004)(1076003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:23:57.2604
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8dffb5e8-41f1-43f6-8892-08db22db81d0
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:
	CO1NAM11FT038.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4280

From: Antonio Caggiano <antonio.caggiano@collabora.com>

Also, use alternatives to meson compiler has_function, which does not
work properly on my development environment.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
---
 meson.build | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/meson.build b/meson.build
index 826b3473c4..8cd453844f 100644
--- a/meson.build
+++ b/meson.build
@@ -774,13 +774,16 @@ if not get_option('virglrenderer').auto() or have_system or have_vhost_user_gpu
                      method: 'pkg-config',
                      required: get_option('virglrenderer'),
                      kwargs: static_kwargs)
+  virgl = declare_dependency(compile_args: '-DVIRGL_RENDERER_UNSTABLE_APIS',
+                             dependencies: virgl)
+
   config_host_data.set('HAVE_VIRGL_RESOURCE_BLOB',
-		       cc.has_function('virgl_renderer_resource_create_blob',
+                       cc.has_type('struct virgl_renderer_resource_create_blob_args',
 				       prefix: '#include <virglrenderer.h>',
 				       dependencies: virgl))
   config_host_data.set('HAVE_VIRGL_CONTEXT_INIT',
-                       cc.has_function('virgl_renderer_context_create_with_flags',
-                                       prefix: '#include <virglrenderer.h>',
+                       cc.has_header_symbol('virglrenderer.h',
+                                       'VIRGL_RENDERER_CONTEXT_FLAG_CAPSET_ID_MASK',
                                        dependencies: virgl))
 endif
 blkio = not_found
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:29:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:29:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508929.783929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbI0g-00065N-CM; Sun, 12 Mar 2023 09:28:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508929.783929; Sun, 12 Mar 2023 09:28: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 1pbI0g-00064l-7n; Sun, 12 Mar 2023 09:28:58 +0000
Received: by outflank-mailman (input) for mailman id 508929;
 Sun, 12 Mar 2023 09:28: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHwX-0000RV-GB
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:24:41 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20605.outbound.protection.outlook.com
 [2a01:111:f400:7eab::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5fea53c-c0b7-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 10:24:39 +0100 (CET)
Received: from MW4P221CA0005.NAMP221.PROD.OUTLOOK.COM (2603:10b6:303:8b::10)
 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.6178.19; Sun, 12 Mar
 2023 09:24:34 +0000
Received: from CO1NAM11FT045.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:8b:cafe::6) by MW4P221CA0005.outlook.office365.com
 (2603:10b6:303:8b::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:24:34 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT045.mail.protection.outlook.com (10.13.175.181) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.19 via Frontend Transport; Sun, 12 Mar 2023 09:24:33 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:24:28 -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: b5fea53c-c0b7-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EyaruosxKMOHK/NgDOANwot/s+BJKTphY4jfG9PIzm6YW5z9tpD7Rh6SC3J3QnXVm//0Eo1oFWOrqC/gpxuE6kovtSDGsPI2T7sssPrRJLRH21cI4J6Jkybzo9K5DKLnXsHpvAEfcDYkbJyhBggf+3VMEb36rVonbeHItYBMRVisJe2XaeFxS76U1JZwClg0QPe4TlUg1sSc1MQQKOrG9K4Qn6IG/NrBzqC0eulbzn+mviBBu2l6qd2t4DKVQMJfrrBQPnJsJ1JVikZ59pUPE6AkJ/WG0OtA00HHO04vzts01CNDsdFZY4QKEkuOvq7/HLsy599GfOZZr11rj4NDcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PChcqlgg/1AX3q5gkPO8/Y72dq7j51chPEAff/NNK80=;
 b=lXdc5YMeYO1ppf/oQVMMhIRyuNM0QL6cufQ3VZEoEsUstEMzv0ock2qoaj3bpdLHYKvbjLpuYnOK4zzdZuk90Bez8NoL73oHs/wR3bDn2k81evs7K3qPSOODeW10mkrLwH6HcNjMa+2SYZADsYxI/hI1UhvddTo8isDWT+k24cwL/Fo4LWlO7WngENw85HxNqk4FPHqjYGRpe9f0pQdODNgOTztc1lklKvGaHovjstCkhdsUGhZ18Ycur4KHQRXCTjbxQPuGNKvgQa1ugxgE5owFRdVsSBnLyCYnTZunFJw7A9unti1w3peeL3FOAYkOlSz1LsTipEB3oX61kkG4MA==
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
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=PChcqlgg/1AX3q5gkPO8/Y72dq7j51chPEAff/NNK80=;
 b=h5LZZ4Lg8mB6zZRXMsyx5zYf5HKjGuVOk5Elc82RiPburAFySWFnUKkWb5yUSqDOx9LlXM7aYk3a4neyCtsvLl5JXjJL/ivdQ0ZuMM/kdVVaUTh/oEW4Mes1JY9ku6xoxJGh88Pgo7hnFb4iiaj3KpPR2YxLNIWTSZ9afhVsA1c=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC QEMU PATCH 17/18] virtio-gpu: Add video hardware accelerate support for virgl
Date: Sun, 12 Mar 2023 17:22:43 +0800
Message-ID: <20230312092244.451465-18-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT045:EE_|PH7PR12MB5901:EE_
X-MS-Office365-Filtering-Correlation-Id: 2230cd2f-e615-45e6-f989-08db22db97b1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PnQkbM6r1qZs+pSWIT7uQVEAF08dfnMK3vtkNn6EaBZohne2lBoTZr2SU9BspSXQ/+hWFHcJfW3TCGdtqJcQyWEk0L9Qm4PrpC7Ey5dUngo1O+ACThyJneacl5MruDO+tZhrHc+i2m78s+6ZF/WGqI42J4pRsgY/ePOJmoD/uipfXLRRDfbepM0NcCIknTCpuNUnmqK8OlCG9JL6TJ8dUY8OzWoHKXcSX9XWvOubu+urrg1oi5rqZOoWCRJKYITRRn9OmZZTMawvE1d38QY+b/wcPvMRGKWblQGiHrXSOMZmoLSq5qSDj0uLpOjEmcFJ1DSTzrz3UvprB5NnrZg2dyNmmmERFEoQDeHnKRBFnM/Py98bnpfOqZchCL7w4wjPNlu0DE74WE6PVRTxAjbH8Eb9LSsOD2SpPcLUOv85NJi++TdfQcKJVyonZJE/tHOzg0ugGTP2MvNCdwDYQVND5rLgc2MQ8QuKoMNmjjDXLEQ5gBioCB8feM7GUmzvnHYnkJSd1n8qjx01wlaizavz98pq1vH4QKdwUJ/SitE/qHXX0ULatD0Tcr7XJroWQYTSrmVlsCCfxHz6hcxDcc4LW0O7AG5swNUoXByELURwOxSqB5NgjtBDsvTy4zgVmX1NTS+xMOjwJfagIVYZVdiobwa2eieKkfLx98FWmlzx+AEl/bd7Oe2PbPepMLMGOV11daj6Nq8QwvNJZK+4Eb22/iFtgKVcFuWq1LrVrf5JJKyisC85kxwW83gjuEM4G4Pw
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:(13230025)(4636009)(346002)(376002)(39860400002)(396003)(136003)(451199018)(46966006)(36840700001)(40470700004)(36756003)(81166007)(186003)(110136005)(40460700003)(921005)(54906003)(7696005)(7416002)(478600001)(4326008)(316002)(5660300002)(70206006)(8936002)(2906002)(8676002)(70586007)(41300700001)(36860700001)(16526019)(86362001)(40480700001)(6666004)(82740400003)(2616005)(82310400005)(26005)(1076003)(356005)(426003)(336012)(83380400001)(47076005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:24:33.9075
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2230cd2f-e615-45e6-f989-08db22db97b1
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:
	CO1NAM11FT045.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5901

From: Honglei Huang <honglei1.huang@amd.com>

Add get_drm_fd callback let the guest OS can get render node to using hw accel codec.

Signed-off-by: Honglei Huang <honglei1.huang@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 hw/display/virtio-gpu-virgl.c | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index d5214e0f43..aef735a427 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -13,6 +13,7 @@
 
 #include "qemu/osdep.h"
 #include "qemu/iov.h"
+#include "qemu/drm.h"
 #include "trace.h"
 #include "hw/virtio/virtio.h"
 #include "hw/virtio/virtio-gpu.h"
@@ -827,12 +828,22 @@ static int virgl_make_context_current(void *opaque, int scanout_idx,
                                    qctx);
 }
 
+static int virgl_get_drm_fd(void *opaque)
+{
+    int fd = -1;
+
+    fd = qemu_drm_rendernode_open(NULL);
+
+    return fd;
+}
+
 static struct virgl_renderer_callbacks virtio_gpu_3d_cbs = {
     .version             = 1,
     .write_fence         = virgl_write_fence,
     .create_gl_context   = virgl_create_context,
     .destroy_gl_context  = virgl_destroy_context,
     .make_current        = virgl_make_context_current,
+    .get_drm_fd          = virgl_get_drm_fd,
 };
 
 static void virtio_gpu_print_stats(void *opaque)
@@ -886,14 +897,20 @@ void virtio_gpu_virgl_reset(VirtIOGPU *g)
     virgl_renderer_reset();
 }
 
+
+
 int virtio_gpu_virgl_init(VirtIOGPU *g)
 {
     int ret;
 
+#ifndef VIRGL_RENDERER_USE_VIDEO
+#define VIRGL_RENDERER_USE_VIDEO (1 << 11)
+#endif
+
 #ifdef VIRGL_RENDERER_VENUS
-    ret = virgl_renderer_init(g, VIRGL_RENDERER_VENUS, &virtio_gpu_3d_cbs);
+    ret = virgl_renderer_init(g, VIRGL_RENDERER_VENUS | VIRGL_RENDERER_USE_VIDEO, &virtio_gpu_3d_cbs);
 #else
-    ret = virgl_renderer_init(g, 0, &virtio_gpu_3d_cbs);
+    ret = virgl_renderer_init(g, 0 | VIRGL_RENDERER_USE_VIDEO, &virtio_gpu_3d_cbs);
 #endif
     if (ret != 0) {
         error_report("virgl could not be initialized: %d", ret);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:29:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:29:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508925.783925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbI0g-00062S-5i; Sun, 12 Mar 2023 09:28:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508925.783925; Sun, 12 Mar 2023 09:28: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 1pbI0f-00062J-Vx; Sun, 12 Mar 2023 09:28:57 +0000
Received: by outflank-mailman (input) for mailman id 508925;
 Sun, 12 Mar 2023 09:28: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHwZ-00008O-Mg
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:24:43 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7d293e8-c0b7-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 10:24:43 +0100 (CET)
Received: from MW4PR03CA0223.namprd03.prod.outlook.com (2603:10b6:303:b9::18)
 by PH8PR12MB6962.namprd12.prod.outlook.com (2603:10b6:510:1bd::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.22; Sun, 12 Mar
 2023 09:24:38 +0000
Received: from CO1NAM11FT088.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b9:cafe::dc) by MW4PR03CA0223.outlook.office365.com
 (2603:10b6:303:b9::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:24:38 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT088.mail.protection.outlook.com (10.13.175.131) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 09:24:38 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:24:33 -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: b7d293e8-c0b7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T4BVFOQz+1oCDcCfyYMlezy6i2yl9caGQB3tdS1APBxUhcDx6VppFlOqsjHHWuPphpqVY6KxVC20nUZD7cC9SUMyG+hs/cGz9pZvKjvdi+SKMSXeJQNZwmisa6HzzGVKaN9/j6b7E/WRT/dZOQWih3vwYvhWSUd/RSUJ/ZwgHWo3q8YBE+daOnK83BTbpoFGnPy+rKQ9EugVBu0fA5UmnyUtOPiwkWxkFpYeFFW5/iw6ZfJcavuRC/WdIS6CdTTNLog8lBzN8W/yIkYB1rO6Dk/t/fjILgXsQswmf0NzaT9a15xglx9fX2Np/GGSyUBxInMQb8mOJsey15kTAJquVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fdXw/VYVPUbUxiMUH7EPpY7XT11q7Fr3BSwkuljjJuA=;
 b=gbGLTr2Y/ydr+7M3dIrtNo/8j7MAQPZ5wZdaDNyQ29VmFyByFbEhbOO5cjdKph21M/jxXA1tRNvA0NsnF9eEGBTdaCG9nF+M5Jg7JDbWU5sbh0btsYobFZHW+q7Ma2Rvtn9n89Ttu1pEgVZzS9AH6N0BvmdTdLiTqZ7TXyz4IfZPRdzlhLfW1/49YpNPct6bEpDxeH2RSTjA6/3VXwqZOpG3RLfejtRtp0mNipfGiMNVAdWICVry95jzmGV4uqv1mIMzwadnHzSAKQt6s4T7HDwyqe4RlJrRDfXzvjoIbVlxTiKizY4npfPYBlqt6BgIR/Ob84ws0SG1CuRhV2zSSQ==
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
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=fdXw/VYVPUbUxiMUH7EPpY7XT11q7Fr3BSwkuljjJuA=;
 b=Rw8nreq6E3Cb6pVme74+5TirhnlQ0LIyOap+SeNh7VHSqV08OBRo/N05KHQ6fy4z4UDZaQZuzEn5Skrrj9leBu85pf7b4Vv9G+OXf1O70qImCOwKqDuDaUEUYTEd0D4VyJznIV0je4sk2sBLfM26SClxNjYaatW293eivQS92nI=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC QEMU PATCH 18/18] xen: translate irq of host pci device to gsi
Date: Sun, 12 Mar 2023 17:22:44 +0800
Message-ID: <20230312092244.451465-19-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT088:EE_|PH8PR12MB6962:EE_
X-MS-Office365-Filtering-Correlation-Id: cc673529-2423-4135-5ed6-08db22db9a78
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XJOZrVicCW17z/AcoTuCNDsCWVZBmtGSfp5oLSWAjg/A86NQilOIu5bUUyq7g+Rf3jewmAMNSsj6E4+CmvMZsx5lHjGA2fAVgJBOfelFqEVUEt23AskDYZdCcnQArJKTADn/3zR8htkA1g0sHE8QOmZrmTmhHBjFvccPC5v3NXr+I3oljE80f9J6pS4r3NnrGsMakxShAAa+crZ0RZLQfB6It8XX2IknYhPMoQSHyCCVxvz1MldJwELllb5RXr/gDDkt591Yr/6+uHa0udrrFZPC0KluHRA1a3RwyJMFpK8CI1jniIIuEhtJqYx4HM8zSQB5uBBJlH2o4r9xMlrzitg4JayEU1IbX3K+2t/4CmgO7hBjBiIXfVJGZJl7UZ6Wl0/DindZZN7vZpRWVUIw//4I88kwWpWYuh8/Bq0Owtn44gEcoxshJpoZ//gg4tc8T6R5Wbmc4bX2NxstjevyC90Jvri1FW04av5MUoXLxDG7RnGIlTR64aiRou4UXdqaaA18DDjzDbojQ8NsWFNEkxkeKRKZIbul/tATRT80Qm3BeIzAe0D4JY0xPrlOUktUbcv+03DlteyAqC/zHjPY1XL3T72DAl0PaLv+bjFGKsPDY59L5MkXzXxWgawlCcMeaw9sT5ZpYzt9MVHUflEHB147Z9mptw8GhicWYzkP+IMlhsfmhkd/SuIt6Ugng8cmCb/lbq8F/a71X3Vh6OAX5s6qn/qH1ZL/3PBdQYiL/q9EAkBnC0DZikWWfAUtM8yj
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:(13230025)(4636009)(136003)(396003)(346002)(39860400002)(376002)(451199018)(40470700004)(36840700001)(46966006)(36860700001)(6666004)(7416002)(5660300002)(8936002)(70586007)(70206006)(4326008)(82310400005)(7696005)(40480700001)(8676002)(83380400001)(54906003)(110136005)(36756003)(316002)(478600001)(426003)(47076005)(41300700001)(40460700003)(336012)(86362001)(82740400003)(2906002)(356005)(921005)(186003)(16526019)(81166007)(1076003)(26005)(4744005)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:24:38.6256
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cc673529-2423-4135-5ed6-08db22db9a78
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:
	CO1NAM11FT088.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6962

From: Chen Jiqian <Jiqian.Chen@amd.com>

Use the new interface in the kernel to map pirq for qemu.

Signed-off-by: Chen Jiqian <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..6ca841a967 100644
--- a/hw/xen/xen-host-pci-device.c
+++ b/hw/xen/xen-host-pci-device.c
@@ -9,6 +9,7 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu/cutils.h"
+#include "hw/xen/xen_common.h"
 #include "xen-host-pci-device.h"
 
 #define XEN_HOST_PCI_MAX_EXT_CAP \
@@ -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.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:29:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:29:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508935.783955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbI0i-0006ld-CA; Sun, 12 Mar 2023 09:29:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508935.783955; Sun, 12 Mar 2023 09:29: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 1pbI0i-0006kW-6B; Sun, 12 Mar 2023 09:29:00 +0000
Received: by outflank-mailman (input) for mailman id 508935;
 Sun, 12 Mar 2023 09: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHwb-00008O-IM
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:24:45 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b930664d-c0b7-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 10:24:45 +0100 (CET)
Received: from MW2PR16CA0059.namprd16.prod.outlook.com (2603:10b6:907:1::36)
 by DS7PR12MB5861.namprd12.prod.outlook.com (2603:10b6:8:78::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 09:24:25 +0000
Received: from CO1NAM11FT023.eop-nam11.prod.protection.outlook.com
 (2603:10b6:907:1:cafe::a9) by MW2PR16CA0059.outlook.office365.com
 (2603:10b6:907:1::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:24:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT023.mail.protection.outlook.com (10.13.175.35) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 09:24:25 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:24:19 -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: b930664d-c0b7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MDxG38gN6o3InzwxdsiS0pdsSUyUcpkLYB27zCiDLC7KyDY6cdg4imH3a4gJQjDnCQaJGbU5yxkOCJRW2zjuFwakupl+gxRvFDFoGjtdkvbO2mV/skbhS0/AbnuZJvp1uaP54txefRESK60pJW0RZqddfk6AJlN3fpIy1FAHRjI1EoNAmKmeRU6W2XYC/FX4RyBQXxKDsAs0McnSs12hRALJp1oZRu8x1eseVckFRoCdETisPVd016WxnhQFm+NZEnikOvpLGOg10jOEYuhK2iEZF1kw+hKz5olibFQFb7rlaiULgP+f8v2G7AQ7vT+L1d+dHU/b6KPMaHSbaJQzpw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ONcZvV/3JhVdOa/JNutn7iJ/bvID7ShJBlvTVgAdRIs=;
 b=KcaW8FIKuQD4JI4o67xgsUW4hw4Y2z6p6E86AASbgTFWGltm74IjS5ldvizdXeXqflnMyNUZY0iCEInLx7pSHNWO9GWBZ7BL7vv3Gy1RDs9knVkKolJLokB+v1KbnJPu1qBjVJHMWYew3DazipL8o+pB3hlfmypjkTVp7CG/JUmhrp2Yhhahc5C0gLOrctcvqpSft+Jt/v2UKB94md3gU3BKAy5RZOAVm+SNAqw/UiydDVs47RgUYhd3ybf4CFUcI+tXyIvld+RfPrzX26fVrdsse/Fd9RPV8qVUQB41JJwh0wVzvV9fEhKqx16ym1eAXpF7Sf6K0Xjvb3TUXT2aiA==
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
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=ONcZvV/3JhVdOa/JNutn7iJ/bvID7ShJBlvTVgAdRIs=;
 b=aRKb5y0/t8LrvwnfB7g8HXEFes1DVbFg2/OPIyt+RXNMf30Y0PB1wAoZ1w02iV4TS41uPJRIHv2y+kIa7KXh8lCplhbz04v04CdSqq65Ry/DrDZFXlOIBM1ALXuK+WDden82Xfcn1mWrxevRdUevLxyfmqciCV99T7Og037QJ+8=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC QEMU PATCH 15/18] softmmu: Enable qemu ram allocation with fd for Xen
Date: Sun, 12 Mar 2023 17:22:41 +0800
Message-ID: <20230312092244.451465-16-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT023:EE_|DS7PR12MB5861:EE_
X-MS-Office365-Filtering-Correlation-Id: 320fbbc4-3ebe-422a-ab2d-08db22db92a0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XkZ9taQILHR0OZ90dxiZRfwAFgw/6CfL4DrM9E48dgM040CHWp7IozkZrznaCg9GKRAXXUr8XF8K+TWTWaBRhv74DPVKjtknJS+YP3S4LbFv8tdFMj8ufhpUpIs5nBy/RIcFqyYB/U1Bk+LckmLcJfRXkSMKZd/tpkL1Azp32fM2S+r3oRkTRlpXRN8tgl0zKdIPNQpH8xINo/In0dZT2XBG7rb+sMLZQEAFLPZCVQkevGrvEmgsPxGmEfE4r1o/o81TVfRmYSVDACekrhBe04kkgw9w4FF5tMyqrJNp6qRkqTc6qRHEOX+lT06KaXLp2dHTd+wSNo/74LImwAbI496CrUkDoSP0cAXm4q1Fe/ZVhK+Xfr0v0sFa58yTvKzV3mtzjKqk2pkin4d7tADWygQGBShrlSSaQmXCTIwn9qCEbSC8ODmXgP+URxeShkdw6hw/4Xct/GdpxfiX1wBnuMvQkhz1W2Pxe6Ge6vw8E4AmZ7G37stGjV/ONvPq0ru9ZsVNa6uetY+GR3ZOXri+EsDmN7D1wqQA2L+vIRi7in6Y8EX2ZcEPMkY6VdOpPeKOf63Oli4go4+oJJeuWncOWqr9gf6sDJPXAiDi2GFn05QNDu1FfbUt9phihs/vgFRL5S7cAXtXM3AXdgZZRQj0RCToGAb1S0ARcJoN4v4a4YDj0/irzXdNk2gk5dGCwfpMVR+piiloufY/RHmlmfCEiREyFSc7XucXtqKSzZ4hbCspSk+agj4k8YhJEYOpTzUN
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:(13230025)(4636009)(346002)(39860400002)(376002)(396003)(136003)(451199018)(36840700001)(46966006)(40470700004)(5660300002)(7416002)(40460700003)(4744005)(36756003)(83380400001)(47076005)(426003)(478600001)(82310400005)(7696005)(6666004)(1076003)(26005)(2616005)(336012)(16526019)(186003)(921005)(356005)(4326008)(8676002)(70206006)(70586007)(40480700001)(8936002)(41300700001)(86362001)(54906003)(110136005)(36860700001)(316002)(82740400003)(81166007)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:24:25.4680
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 320fbbc4-3ebe-422a-ab2d-08db22db92a0
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:
	CO1NAM11FT023.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5861

Venus is requesting the function on Xen as well, enable this path on Xen
hypervisor.

Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 softmmu/physmem.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/softmmu/physmem.c b/softmmu/physmem.c
index e54561bace..2838dee2f2 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -2060,11 +2060,6 @@ RAMBlock *qemu_ram_alloc_from_fd(ram_addr_t size, MemoryRegion *mr,
     assert((ram_flags & ~(RAM_SHARED | RAM_PMEM | RAM_NORESERVE |
                           RAM_PROTECTED)) == 0);
 
-    if (xen_enabled()) {
-        error_setg(errp, "-mem-path not supported with Xen");
-        return NULL;
-    }
-
     if (kvm_enabled() && !kvm_has_sync_mmu()) {
         error_setg(errp,
                    "host lacks kvm mmu notifiers, -mem-path unsupported");
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:29:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:29:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508931.783938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbI0g-0006Kg-Vc; Sun, 12 Mar 2023 09:28:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508931.783938; Sun, 12 Mar 2023 09:28: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 1pbI0g-0006KF-Q8; Sun, 12 Mar 2023 09:28:58 +0000
Received: by outflank-mailman (input) for mailman id 508931;
 Sun, 12 Mar 2023 09: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHwF-0000RV-Pi
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:24:23 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7e88::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab886761-c0b7-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 10:24:22 +0100 (CET)
Received: from MW4PR03CA0064.namprd03.prod.outlook.com (2603:10b6:303:b6::9)
 by MW4PR12MB7119.namprd12.prod.outlook.com (2603:10b6:303:220::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.23; Sun, 12 Mar
 2023 09:24:15 +0000
Received: from CO1NAM11FT100.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b6:cafe::ed) by MW4PR03CA0064.outlook.office365.com
 (2603:10b6:303:b6::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:24:15 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT100.mail.protection.outlook.com (10.13.175.133) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 09:24:14 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:24:10 -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: ab886761-c0b7-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CpCK4QZR8BUVAKhNjdtiVI1vOvGG/MBRmaQkRo1mhK9+ApxTaPBel2dfSIkFfoWibyS2C7eqzOm9bkufSJlSNnY2CRe5yKm81jhmBSbqg86UtGmWY6ql3elPeMcVQPybQVNaxwrLIwmLcflRK31ZYdNAXp07J7GJiWP9yvooEmct7BoDgZv7ZK8WRUUuEWWG+Ekz8JFxmrPL/o8pd0mPMf7T3rWjiVcGwABsRPQni59ObL2zjy2K3uLAfSEpZfwg/9w4vDaHaYGxhne3vs6iiaso+YfhKtLjLYc/3KDcobiqlnQFiKGV4bo/pBrd6teCYZaUN+XbpcqpHemV+WT8Hg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DM/8IpnD/ZNvlY8RIxBbeNf02AvGOLs2x0AAUDwHNyU=;
 b=lYriz7Dh1DTyk4BDsQDNdzRokt236M3HFVC9OPcevhNKN7cxYPK224CQraBMI0dC43CKozBZavYFsf/3QMikgCDK/GZto0GZNVpO9pYL6QqtBJqbBx9BAPnbINEyt+injQztKkVOIQSArvG2Fxyo72YAA1OnByciloJccoLoEoA2+rf724RYUx1Ch+wBo+2k4AZovCH4dkJBBvcIl0Wro6eMSA88dHTygEIo4LPztlByJNzXabTefBQsnVlTeA41jzI7SL5FDlFRmOBUmv9ELhG0Dze+TRL9OL8pU0c4EyWvI9kVmw/qZZTKZRxgwZfo9/Uz302jJ+rW3aay+XpNZA==
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
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=DM/8IpnD/ZNvlY8RIxBbeNf02AvGOLs2x0AAUDwHNyU=;
 b=ZH0nmDDzhoq81BmCmn5ztaQINGVKVMkptnE4Lo+Ez1HaMkbFjNN3mtqeTtxVOTLv3N96fOlaut+vjftcVcFmrenQULK66SWF7BiJm1OZM8xWYd6/7ZLTMxaqB7KonYRkAbyp8YIZmxjbjbwTxdjqEXT5aFpF5ZhFMLMuEu37idU=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC QEMU PATCH 13/18] hw/i386/xen/xen-hvm: Introduce xen_ram_block_check function
Date: Sun, 12 Mar 2023 17:22:39 +0800
Message-ID: <20230312092244.451465-14-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT100:EE_|MW4PR12MB7119:EE_
X-MS-Office365-Filtering-Correlation-Id: b4174633-9b0b-400c-840f-08db22db8c44
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	T/U6F+Jvuw0soAImF7HBXYbLxcsiN/gzf3Vt67kfu626AyTRUGEKvHcC3ioGN5ci3J3hqJA3dDQLFC/nHQxhgYYVvnjuastS7Q5shOAShika35rkhq9KviXquCuYFGJ2iJsQL/rYjUQ+YbYvJqV1HkCVWIMnTHJjPxeHhGQs+ixJt8bZx2PTTwvI8vaRtdhFp1vG7X0tQaL4LOnNI7qBe0zFX1Ir+RNvVoAr9i0VK2L4jtwZZXMuZ8FblUx58Kl68pQcTFcv7A77YYDs9r7utgGo31dKAK8H3TQNOdqMyaw8orD5+HDQSmZwMwrOKcDzcA7RvUJFXqMQ+X5IP7s3CrF13XRQLqmgjyGCQAsCrNTbYodylkhd6CZNlDOVQCo29xZCKtbUxgz0xQ5yUR+55jFDTs1vT6kvu+JwIa8RVmWv2A/ZbFHAh7SOkP+6ewd7FYZ3ae+1SRpL8SLx+p2iq8sxeJn0L+gvRGmx+YjgPQmDttSq2sbk+jJeTqMVEDjbdUeC31b/xkXzi7xcu5IU/pBQ+dpddvjZQppqpxkYvIo1WJVsRYHn2rZPIAo0vq+V2mvmeUk6gGAsBM225alrJgQASvsDUyI7bRNiXIA6IZEIQP7Lz1AlsdproZ9T0yeMEyKRiQr8Y/Ef3vn7XZPl0SHkbmNRRUP9hhXqekuqC77ukGwh4oSstlNO5CziHPo7eFw6UxkozSGCHnRozCQDa1v4fVNW8dIAueSGkH44YllKdO+EdacEWXkAH+EUeLJ3
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:(13230025)(4636009)(376002)(346002)(39860400002)(136003)(396003)(451199018)(46966006)(36840700001)(40470700004)(86362001)(5660300002)(8936002)(70206006)(4326008)(70586007)(8676002)(2906002)(7416002)(36860700001)(81166007)(921005)(356005)(36756003)(82740400003)(41300700001)(1076003)(26005)(6666004)(7696005)(478600001)(54906003)(316002)(110136005)(40480700001)(82310400005)(83380400001)(426003)(47076005)(40460700003)(336012)(2616005)(16526019)(186003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:24:14.8133
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b4174633-9b0b-400c-840f-08db22db8c44
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:
	CO1NAM11FT100.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7119

Introduce xen_ram_block_check function to check whether current ramblock
is xen ram memory.

Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 hw/i386/xen/xen-hvm.c | 15 +++++++++++++++
 include/hw/xen/xen.h  |  1 +
 2 files changed, 16 insertions(+)

diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index e4293d6d66..a4f12aefce 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -32,6 +32,7 @@
 #include "sysemu/xen.h"
 #include "sysemu/xen-mapcache.h"
 #include "trace.h"
+#include "include/exec/ramblock.h"
 
 #include <xen/hvm/ioreq.h>
 #include <xen/hvm/e820.h>
@@ -1564,6 +1565,20 @@ void xen_register_framebuffer(MemoryRegion *mr)
     framebuffer = mr;
 }
 
+bool xen_ram_block_check(RAMBlock *rb)
+{
+	bool ret;
+
+	if (!rb)
+		return false;
+
+	ret = (rb == ram_memory.ram_block);
+	if (ret)
+		rb->offset = 0;
+
+	return ret;
+}
+
 void xen_shutdown_fatal_error(const char *fmt, ...)
 {
     va_list ap;
diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index afdf9c436a..99a383eb17 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -31,5 +31,6 @@ qemu_irq *xen_interrupt_controller_init(void);
 void xenstore_store_pv_console_info(int i, Chardev *chr);
 
 void xen_register_framebuffer(struct MemoryRegion *mr);
+bool xen_ram_block_check(RAMBlock *rb);
 
 #endif /* QEMU_HW_XEN_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:29:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:29:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508936.783958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbI0i-0006pq-LB; Sun, 12 Mar 2023 09:29:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508936.783958; Sun, 12 Mar 2023 09:29: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 1pbI0i-0006nW-G3; Sun, 12 Mar 2023 09:29:00 +0000
Received: by outflank-mailman (input) for mailman id 508936;
 Sun, 12 Mar 2023 09:28: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHwQ-0000RV-GM
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:24:34 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e88::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1f5d54f-c0b7-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 10:24:32 +0100 (CET)
Received: from MW2PR16CA0063.namprd16.prod.outlook.com (2603:10b6:907:1::40)
 by MN0PR12MB5713.namprd12.prod.outlook.com (2603:10b6:208:370::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 09:24:25 +0000
Received: from CO1NAM11FT023.eop-nam11.prod.protection.outlook.com
 (2603:10b6:907:1:cafe::4e) by MW2PR16CA0063.outlook.office365.com
 (2603:10b6:907:1::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:24:24 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT023.mail.protection.outlook.com (10.13.175.35) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 09:24:24 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:24:14 -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: b1f5d54f-c0b7-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lJ8zOA5kGkaSgC7NCCwRyi/7/U65U0kMfdvT8XCDumaCqjrSAzfQVLM0/L1QtYxPyth+cVPsXFCHfSsWa8OWFa9X+65fzDa3XTDJlsmihFBYGM0Zt4NXiisAh3UbUUEULA1zboZHf+f4KJfr8wBWqGyKV4bGWJyHPZtc+kuBSxHTK4C1wWEO6EK7WTiarWN4VPA9Y6qdt+d3+dItwXLZOM/tXAUAzGS/+uiCY3sw+jbokP9qrVJ/L4jFom6jtzo0+AZqvkWcVtYPhlrQiUO4Cpf/Kkf5cTF3qqESeZclRpD2M4N777jEU0WpJkSXz3Xa/HxUmw48GKl2ky0yXsYl0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y4njz8PcbedF2EFcPkz+yQS3FwMkw58Lg0EB1K4nngM=;
 b=aPLpzrqPmWQN5fExNmE3FlLxTfb2fqy4XW6Hr/C5kSwoM2pvzH+pi/l9sh5p+cF/o08VF4ikN987p/ysJYPFV/ZlMFXIny/2Bu2XOnIXkus/Z4HYy7Rigc6vDLHV8AipEipApdjbkCNhyFa3DRI4wP+ca5p689NROJb76e21L+EmKv3bEInC7wCEfEFJt7laQcekqnuHJbcryTtva7yCNg29Aho2q4sNghDZps3E3Guo7IZ+++zC0rJa8X1vTuncLtRmaBIhcDZ+Y1kCI5SBsU2XOwesFv8sqSvaKLH6qbY1jP/KJkDdKAZz6uuo1LIo/1rCHVvIoS9NRFAjwYD73g==
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
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=y4njz8PcbedF2EFcPkz+yQS3FwMkw58Lg0EB1K4nngM=;
 b=Xm9tlht+S2z1npnDreRVji+7EsXdOnKJVStwjsyntl8C+ovf3KydAmoLyTIWJttiISvOVv/FeRejaC+GAxY2q+h31MAE+NfQ1ix4zr0kMtDSbvZ2QtpjozqSkvJldgD3FKfvHN1+L6cHVbzjSFpvOQnIZLVkvvQtMP0/bTwUKBM=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC QEMU PATCH 14/18] softmmu: Add ram block check to map the xen ram memory
Date: Sun, 12 Mar 2023 17:22:40 +0800
Message-ID: <20230312092244.451465-15-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT023:EE_|MN0PR12MB5713:EE_
X-MS-Office365-Filtering-Correlation-Id: 233e2c47-7e92-4f01-06d9-08db22db91d6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zHnqSl2fLXBhXNsZMqMSmxcTNXoqbiR9wgoBOqhzuE25PU5xzUBROyipeJ20qdqgBu47Igfhv8BR2S41enqTbfwa6fvu470AmztSdQYuBcJurQJ6Ovrp7PMPQGB3WF0mm6z5FpvUgk7jlaxNTEU/iimnZ1GfzQpIMFaVpS9dRFndou8voXUBKjiZ3QFU51QRupf4fb9QBuWq+CqSpNVILV7Y2dkMFphn4vHbOgwiQ8s1quKz3sViG33+KB+SJrhgvtzC42DF/6s4AeznygswP3dL7QHpADIQ+V9Odx22BdWb/hUYhnR7cUiyX+evy0QMg7zwdWTBZah/MqyT8CpQWESdq/Fi4QwxXGBi16vLDJEo2uIn7iMJSuZEIRdPQvWugpKE25KpkODHZFqdLFjVLH28L2os72QBkjV/sTJljX/S046dig7uVU7eEhEm5THQcGAbx74Y2/NEmCQMBjXW5Gdc0Qp0j6TW/ZZCchwvKoC5EUMj4ceOEqhRnH0TUiKcmWa8tkVxz5+oouPViwTXX5e/9VKJj23OxWMVuOQ4OD/5L1uVZTYQGxktNcZg3ThM6mcI0dBW+q4DWGO1FWbHogbQxMnnykDJ2cFGDaxhNCWGwUhncpmLTSqiCIOMUlFLEhLW5jICSo/UVzPHICtSMStzAhfsrNie3oqOLPTMC1rkD+cH694CIXKlX/tVacoMH0iN6MooKd624mFuC1TGw3zg0XZ96s5KfNXW8lj0VnsiR084vR5wYbP5tEd9GWZe
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:(13230025)(4636009)(136003)(396003)(376002)(39860400002)(346002)(451199018)(40470700004)(36840700001)(46966006)(2906002)(81166007)(82740400003)(83380400001)(36756003)(40460700003)(4744005)(5660300002)(7416002)(40480700001)(70206006)(70586007)(41300700001)(8936002)(8676002)(921005)(356005)(4326008)(316002)(54906003)(86362001)(36860700001)(110136005)(82310400005)(478600001)(7696005)(47076005)(426003)(336012)(2616005)(16526019)(186003)(1076003)(26005)(6666004)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:24:24.1399
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 233e2c47-7e92-4f01-06d9-08db22db91d6
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:
	CO1NAM11FT023.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5713

The xen ram memory should be mapped with addr instead of ramblock
offset. So we need to add a check to make sure current ramblock is xen
ram memory.

Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 softmmu/physmem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/softmmu/physmem.c b/softmmu/physmem.c
index 1b0bb35da9..e54561bace 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -2333,7 +2333,7 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr,
          * because we don't want to map the entire memory in QEMU.
          * In that case just map the requested area.
          */
-        if (block->offset == 0) {
+        if (block->offset == 0 || (!lock && xen_ram_block_check(block))) {
             return xen_map_cache(addr, *size, lock, lock);
         }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:29:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:29:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508937.783965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbI0j-0006zD-5h; Sun, 12 Mar 2023 09:29:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508937.783965; Sun, 12 Mar 2023 09:29:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbI0i-0006xf-Tx; Sun, 12 Mar 2023 09:29:00 +0000
Received: by outflank-mailman (input) for mailman id 508937;
 Sun, 12 Mar 2023 09:28: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHw9-00008O-98
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:24:17 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20606.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7465656-c0b7-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 10:24:15 +0100 (CET)
Received: from MW4PR04CA0194.namprd04.prod.outlook.com (2603:10b6:303:86::19)
 by MW4PR12MB6730.namprd12.prod.outlook.com (2603:10b6:303:1ec::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.22; Sun, 12 Mar
 2023 09:24:11 +0000
Received: from CO1NAM11FT081.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:86:cafe::9f) by MW4PR04CA0194.outlook.office365.com
 (2603:10b6:303:86::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:24:11 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT081.mail.protection.outlook.com (10.13.174.80) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 09:24:10 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:24:05 -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: a7465656-c0b7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i0/tgazRt6cMazx5y/yh3U7aJCK0Nh1WthmW1Px470fGF+LKs/BgGl60c92fsgfTktqWfEh5MFqERNCzLifSqTUA4qmNechJMPbrtRVDWFMaTwBZ5OvtZgiDkPVKHz3LrYnFLowv2oFj1y9akhr+qmJdN1Rhy7ctYVNcGyNjSwcJ1a1zgeirLI0bCeouoyn3uMQu8ibjv2Au0fiqQRxVFXcfzPhPQlIPVWUB2GzlixiZvy6wi2W1T9KM9EkC+ZSbRXGk+RyxvpB4NORR2shTrHVGqNIbiKIe2ssxPhG54LJZdQGzmqhwAfxzccG5fysteIsWBaLrBoX/EBwi3sMjfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Dj6lfkvOPBIVxai9KbL/xN6ZbDyalhOcTyL8nw2E/7U=;
 b=hDjsICdB0D+gVkBsJBtVrO2xMVkm7ErnjgJ9hW/fn2X66dTrSI7AuQ/P9CU+09qzUWEetnFC7rW17urYo0KLV4PY0vJHSU1/3ybHHEro6YlQKH/MTmozyw57gq+KyABPpUw4E736Uc/BI1iGpYZR9/AGlH+HZsQeFLr24swTtOmy7kRTseIsiSzYKa1u02BRpnKpxcJA7y4mH+60rbce9cxOAlBLESVBxpl79SOrJELbrui5eCV3cHiswQvRPAR7uAE9kXpplfs1T4qnxGvzpAjgcrIr3uMJf8ShE5AIfSkcKlPJElH87wvCy49mnBwS3LToK0X2Uw5Wy0Cu4MLvLQ==
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
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=Dj6lfkvOPBIVxai9KbL/xN6ZbDyalhOcTyL8nw2E/7U=;
 b=NsxXfEKKS6p/oUmMUpeuyfy09Fis+ZTwtxSC2sGMEOgbzMiD4HPJkn3Un1WGzeLlQZHXYwYtdAxYfAQjzHA7pppoDTzzzqH0pH8SbfU3nUrjfXyIRCira8upicBFJXxzeWdXaaJvpYgL3M5t/QEB6SagAjnoUnES7yYgkd9S+3A=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC QEMU PATCH 12/18] softmmu: Fix the size to map cache with xen for host virtual address
Date: Sun, 12 Mar 2023 17:22:38 +0800
Message-ID: <20230312092244.451465-13-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT081:EE_|MW4PR12MB6730:EE_
X-MS-Office365-Filtering-Correlation-Id: dee7682c-ed0d-4f3d-332d-08db22db89eb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m1jlEmupMXRV44cn+86FabSTWSRL5yxQFrDFzXb/jh/UNvcq9PBWDse1XBQ6W5mRDN1nQZNylwg66VM3N8Zmh+nklXnsbjC4dJ0p4HsCmJ3NSrIXD9HSvu75IJX0qoAQgp+t9WVVkmi+ctafdo5ws1RPggDjT+e43B28+M86RpXG+cWTDFlZF9rvZF6Kin1TAjxwAciXOtLHQ7OK5tnplJYmV0fMw+0Is32Qt15bxvAtsRH0Udhcm1IBfWM+Z8o+avg8XbvxGiuKVzPGt9JhUVdYa59QcihDmJ+6/mrpdTbK3wQL0UGmVaqq8dQsswcrekbbw4Pf4RZ3yRY2FbeNVgs+42Z39JX7+Rw2s7xxacaJpqgQ3Zx6bqXSAfx1y84IfaQphd5q5n/xsqYv9AMs054FA4gzRSZ0Qq4Kj9m5zeTgANs0yF0BQmfRPX4jrQqOcsTF4VJhgDIiT6LV1O4WkfiKq9F80AhJZviZinKbBR2qesHoF5lxQ0eCwyTqQFZoOoCwX+a9x85KS32CA+241Qs1F52Sibnv1xEMltsnD9PSouUqYludEAMYh3fqNmceW8u69lQyiCy8ytXPWQgIWCbBjVuzxE6mnChuWFmVa37YT05eYIqG307GzMoTIXLRiS3+bRT0tzMv6/K9Mya47iPOhKn5dhm95LK3R11zsfANtsjnrDEc8aWR8AfHadTCd5zINSUKwmar06lbGeW69rlS5NoZuI6q7WH8rg7IavjLf2NISPmTU/8uXy67ovhi
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:(13230025)(4636009)(346002)(376002)(39860400002)(396003)(136003)(451199018)(46966006)(36840700001)(40470700004)(82310400005)(36860700001)(82740400003)(6666004)(83380400001)(426003)(47076005)(36756003)(478600001)(54906003)(110136005)(40480700001)(356005)(921005)(316002)(336012)(81166007)(2616005)(40460700003)(186003)(7696005)(26005)(16526019)(1076003)(5660300002)(2906002)(4326008)(8936002)(8676002)(41300700001)(70206006)(70586007)(7416002)(86362001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:24:10.8569
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dee7682c-ed0d-4f3d-332d-08db22db89eb
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:
	CO1NAM11FT081.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6730

The xen_map_cache function wants to pass offset and size of this memory
block as the input parameters to map the host virtual address. However,
block->offset is too large as 0x100000000 (4G), if we assign the size as
block->max_length (0x110000000), the mapped host address will be out of
block->max_length and easy to overflow. We have to assign the size as
(block->max_length - block->offset), then that is able to ensure the
address will be located in legal range inside of max_length.

{rcu = {next = 0x0, func = 0x0}, mr = 0x55555681b620, host = 0x0,
colo_cache = 0x0, offset = 0x100000000, used_length = 0x110000000,
max_length = 0x110000000, resized = 0x0, flags = 0x10, idstr = {0x78,
0x65, 0x6e, 0x2e, 0x72, 0x61, 0x6d, 0x0 <repeats 249 times>}, next = {
    le_next = 0x5555568c61b0, le_prev = 0x55555681c640},
ramblock_notifiers = {lh_first = 0x0}, fd = 0xffffffff, page_size =
0x1000, bmap = 0x0, receivedmap = 0x0, clear_bmap = 0x0,
clear_bmap_shift = 0x0, postcopy_length = 0x0}

Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 softmmu/physmem.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/softmmu/physmem.c b/softmmu/physmem.c
index 1b606a3002..1b0bb35da9 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -2304,7 +2304,7 @@ void *qemu_map_ram_ptr(RAMBlock *ram_block, ram_addr_t addr)
             return xen_map_cache(addr, 0, 0, false);
         }
 
-        block->host = xen_map_cache(block->offset, block->max_length, 1, false);
+	block->host = xen_map_cache(block->offset, block->max_length, 1, false);
     }
     return ramblock_ptr(block, addr);
 }
@@ -2337,7 +2337,8 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr,
             return xen_map_cache(addr, *size, lock, lock);
         }
 
-        block->host = xen_map_cache(block->offset, block->max_length, 1, lock);
+	block->host = xen_map_cache(block->offset,
+				    block->max_length - block->offset, 1, lock);
     }
 
     return ramblock_ptr(block, addr);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:29:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:29:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508940.783984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbI0m-0007is-Mf; Sun, 12 Mar 2023 09:29:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508940.783984; Sun, 12 Mar 2023 09:29:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbI0m-0007iY-Fi; Sun, 12 Mar 2023 09:29:04 +0000
Received: by outflank-mailman (input) for mailman id 508940;
 Sun, 12 Mar 2023 09: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHw3-00008O-FM
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:24:11 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7e88::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4dcfae3-c0b7-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 10:24:10 +0100 (CET)
Received: from MW4PR03CA0337.namprd03.prod.outlook.com (2603:10b6:303:dc::12)
 by DS7PR12MB6287.namprd12.prod.outlook.com (2603:10b6:8:94::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.22; Sun, 12 Mar
 2023 09:24:06 +0000
Received: from CO1NAM11FT007.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:dc:cafe::9d) by MW4PR03CA0337.outlook.office365.com
 (2603:10b6:303:dc::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:24:06 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT007.mail.protection.outlook.com (10.13.174.131) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.23 via Frontend Transport; Sun, 12 Mar 2023 09:24:05 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:24:01 -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: a4dcfae3-c0b7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Pbm4MWQMJ9vrBH9ZOoisFYWMLLh7XTn0isq7KbTSHDprPVGRfwNEKES8zlAzvdB1wTyHERyXUmp0WbjQtPE+QDKK+duANG25hrLElGldgpzchKcXVuWWjHVnDAaLmqvWJvQk4XuNeBYHzLqG1HmmPJagS65l4ghGEavm1YmCDokO/xYnCY0UxZV6WG9YE8oR4b7+XAgeTqQZbcquEkwbiqFRNEsddoJ2lGyU4XHjf2ag+BOTytRlmFs0YpsDfJkWhLZ5LW5RVJbPniQ65NE3EIGEI5mmKLa9NTXkR77zf/7dP7mpe4sHRbnX1DAnQRjDOtCYLGnaN0wOtduMU2nfLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FNkEmUpH7IGDk/2IJhLSTZ80eBUHZ2EIp5WUPKtLLzY=;
 b=H/eBaXlm4SfHROK6bxkilnkrPEGnjjNpfTCjdy23XtvlWHsBwimPtXmnTsnEC9f1oSteluL/owUiHhGWHBTuaIX48YQuciiX6ETIeZrEWv3hFfExAkh81bRiRZkAIaH9gkThLbs74aMjpkHH3XyaIJzVy17w0OBfsfJCNAmA1Tm4gAq0E7QFp0Tx9/V+Gf0AfjcCu3vG8J3FxKqYd7LBJjZdAZjKKX6bGlAdi7YdTlYqkVROj1C8/9Uh75/7AgMutP6hpk2Ukx3C/7gB/ZO4KKiuabFYmLtFylEu+/i2h3oUquB463NtjvpEb6k8J6Fd7JXrBp3BLLSXsvuErlUidw==
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
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=FNkEmUpH7IGDk/2IJhLSTZ80eBUHZ2EIp5WUPKtLLzY=;
 b=HHSMUTBexlt+a34Xupwt9zVfbKCKgn1afhICP0Sn0F0Oq5OLmyKgs+VTd/q+xL+JfXOaVHmvnwIuu7qNrXd0HWqr8Gho8Z0Aq6QWspUn7kbjLstiHcMZ+gSQy+uBymXf1/aM7GXGXSawVmfsM9QCU21gKmdNg0pPzNv2Alyqnok=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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: [RFC QEMU PATCH 11/18] virtio-gpu: make blob scanout use dmabuf fd
Date: Sun, 12 Mar 2023 17:22:37 +0800
Message-ID: <20230312092244.451465-12-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT007:EE_|DS7PR12MB6287:EE_
X-MS-Office365-Filtering-Correlation-Id: b74e6c69-b477-4d2c-248b-08db22db86ff
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	t6ub4QDusTL1/8jllv0iUXcdHrMi0fysP/UoBYZkSUYjVL0uMnKIDMJUubWcf+H2Mmez3U+ObN23sLAPdmxhjRay5Rmja+ks3F57wNHvAfAkOAS14v+Q1H8sU/0QuOVcw3RSrvU7zMhs6OBTLjcIw8Rnv2nEACvjRi9R0Rl2Ang5IHRODQTHnUTa/KWWyTnerlkXna13+PtlAPdQNLA6BsZaYFyOvEOjWeheqkqfhDeBIFMXatbIycA5LN3apDhBtY9INJMhSM0tu/kopJllQNcJGBqU7CBkX69/68Th7VoidphekqOUObxXKmbLe07WGIKovaKrjN+xmDrBhjN5ivCXfUmpJh4V9S8e2EVsYptv6ONQdvgsPDBAP/kuLhptu65ZGsYAekRDAavjalzudSkUguuaS+inqjm7pgkCXfa1sekYLfvL913w0anwZtj1Qk7dFY/rogVo/iGSmuBoZitfMWVoBJFeGV72ArP3Wb7oXq+3yFHewEyNiu8rJ06pE4l6CPskMc9JJTPCAIKUIqdto0NjmNl0muUmorduVRo5rAcD5jlpop6Rv+cYxY9rnYdyH9UVcB8n1VJVrAnrKZ0cqLXSKNLeouFsAMP4jZBCS1s+towxX0xNHejMkIXXz808kBgOOCFZADnH+cgnfB1G3Mr5bEbJS+LNfXgesSAKzXlVFcNkQsFxe2Zg0G/XiSxr4SrfyVhV299S2wAa6iSpGIHr9uesvJVbi8R02gLQXiEdGIet80uUNucTCJ+q
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:(13230025)(4636009)(136003)(39860400002)(346002)(396003)(376002)(451199018)(36840700001)(40470700004)(46966006)(186003)(356005)(921005)(2906002)(16526019)(82740400003)(26005)(1076003)(81166007)(2616005)(8936002)(5660300002)(36860700001)(6666004)(7416002)(336012)(426003)(47076005)(40460700003)(41300700001)(86362001)(8676002)(4326008)(82310400005)(40480700001)(70586007)(70206006)(36756003)(7696005)(478600001)(316002)(83380400001)(110136005)(54906003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:24:05.9544
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b74e6c69-b477-4d2c-248b-08db22db86ff
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:
	CO1NAM11FT007.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6287

From: Robert Beckett <bob.beckett@collabora.com>

This relies on a virglrenderer change to include the dmabuf fd when
returning resource info.

Signed-off-by: Robert Beckett <bob.beckett@collabora.com>
---
 hw/display/virtio-gpu-virgl.c  | 103 ++++++++++++++++++++++++++++++++-
 hw/display/virtio-gpu.c        |   4 +-
 include/hw/virtio/virtio-gpu.h |   5 ++
 3 files changed, 109 insertions(+), 3 deletions(-)

diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 1fe144f64d..69083d15a9 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -18,6 +18,7 @@
 #include "hw/virtio/virtio-gpu.h"
 #include "hw/virtio/virtio-gpu-bswap.h"
 #include "hw/virtio/virtio-iommu.h"
+#include "hw/virtio/virtio-gpu-pixman.h"
 
 #include <virglrenderer.h>
 
@@ -208,6 +209,106 @@ static void virgl_cmd_set_scanout(VirtIOGPU *g,
     g->parent_obj.scanout[ss.scanout_id].resource_id = ss.resource_id;
 }
 
+static void virgl_cmd_set_scanout_blob(VirtIOGPU *g,
+                                 struct virtio_gpu_ctrl_command *cmd)
+{
+    struct virtio_gpu_simple_resource *res;
+    struct virtio_gpu_framebuffer fb = { 0 };
+    struct virtio_gpu_set_scanout_blob ss;
+    struct virgl_renderer_resource_info info;
+    uint64_t fbend;
+
+    VIRTIO_GPU_FILL_CMD(ss);
+    virtio_gpu_scanout_blob_bswap(&ss);
+    trace_virtio_gpu_cmd_set_scanout_blob(ss.scanout_id, ss.resource_id,
+                                          ss.r.width, ss.r.height, ss.r.x,
+                                          ss.r.y);
+
+    if (ss.scanout_id >= g->parent_obj.conf.max_outputs) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: illegal scanout id specified %d",
+                      __func__, ss.scanout_id);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_SCANOUT_ID;
+        return;
+    }
+
+    if (ss.resource_id == 0) {
+        virtio_gpu_disable_scanout(g, ss.scanout_id);
+        return;
+    }
+
+    if (ss.width < 16 ||
+	ss.height < 16 ||
+	ss.r.x + ss.r.width > ss.width ||
+	ss.r.y + ss.r.height > ss.height) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: illegal scanout %d bounds for"
+                      " resource %d, rect (%d,%d)+%d,%d, fb %d %d\n",
+                      __func__, ss.scanout_id, ss.resource_id,
+                      ss.r.x, ss.r.y, ss.r.width, ss.r.height,
+                      ss.width, ss.height);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER;
+        return;
+    }
+
+    if (!console_has_gl(g->parent_obj.scanout[ss.scanout_id].con)) {
+	    qemu_log_mask(LOG_GUEST_ERROR, "%s: unable to scanout blot without GL!\n", __func__);
+	    return;
+    }
+
+    res = virtio_gpu_find_resource(g, ss.resource_id);
+    if (!res) {
+            qemu_log_mask(LOG_GUEST_ERROR,
+                          "%s: illegal resource specified %d\n",
+                          __func__, ss.resource_id);
+            cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+            return;
+    }
+    if (virgl_renderer_resource_get_info(ss.resource_id, &info)) {
+            qemu_log_mask(LOG_GUEST_ERROR,
+                          "%s: illegal virgl resource specified %d\n",
+                          __func__, ss.resource_id);
+            cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+            return;
+    }
+    if (!res->dmabuf_fd && info.fd)
+	    res->dmabuf_fd = info.fd;
+
+    fb.format = virtio_gpu_get_pixman_format(ss.format);
+    if (!fb.format) {
+        qemu_log_mask(LOG_GUEST_ERROR,
+                      "%s: host couldn't handle guest format %d\n",
+                      __func__, ss.format);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER;
+        return;
+    }
+
+    fb.bytes_pp = DIV_ROUND_UP(PIXMAN_FORMAT_BPP(fb.format), 8);
+    fb.width = ss.width;
+    fb.height = ss.height;
+    fb.stride = ss.strides[0];
+    fb.offset = ss.offsets[0] + ss.r.x * fb.bytes_pp + ss.r.y * fb.stride;
+
+    fbend = fb.offset;
+    fbend += fb.stride * (ss.r.height - 1);
+    fbend += fb.bytes_pp * ss.r.width;
+    if (fbend > res->blob_size) {
+        qemu_log_mask(LOG_GUEST_ERROR,
+                      "%s: fb end out of range\n",
+                      __func__);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER;
+        return;
+    }
+
+    g->parent_obj.enable = 1;
+    if (virtio_gpu_update_dmabuf(g, ss.scanout_id, res, &fb, &ss.r)) {
+	    qemu_log_mask(LOG_GUEST_ERROR,
+			  "%s: failed to update dmabuf\n", __func__);
+	    cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER;
+	    return;
+    }
+    virtio_gpu_update_scanout(g, ss.scanout_id, res, &ss.r);
+}
+
+
 static void virgl_cmd_submit_3d(VirtIOGPU *g,
                                 struct virtio_gpu_ctrl_command *cmd)
 {
@@ -654,7 +755,7 @@ void virtio_gpu_virgl_process_cmd(VirtIOGPU *g,
         virgl_cmd_resource_create_blob(g, cmd);
         break;
     case VIRTIO_GPU_CMD_SET_SCANOUT_BLOB:
-        virtio_gpu_set_scanout_blob(g, cmd);
+        virgl_cmd_set_scanout_blob(g, cmd);
         break;
     case VIRTIO_GPU_CMD_RESOURCE_MAP_BLOB:
         virgl_cmd_resource_map_blob(g, cmd);
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 1e334a1e78..95e421a525 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -371,7 +371,7 @@ static void virtio_gpu_resource_create_blob(VirtIOGPU *g,
     QTAILQ_INSERT_HEAD(&g->reslist, res, next);
 }
 
-static void virtio_gpu_disable_scanout(VirtIOGPU *g, int scanout_id)
+void virtio_gpu_disable_scanout(VirtIOGPU *g, int scanout_id)
 {
     struct virtio_gpu_scanout *scanout = &g->parent_obj.scanout[scanout_id];
     struct virtio_gpu_simple_resource *res;
@@ -575,7 +575,7 @@ static void virtio_unref_resource(pixman_image_t *image, void *data)
     pixman_image_unref(data);
 }
 
-static void virtio_gpu_update_scanout(VirtIOGPU *g,
+void virtio_gpu_update_scanout(VirtIOGPU *g,
                                       uint32_t scanout_id,
                                       struct virtio_gpu_simple_resource *res,
                                       struct virtio_gpu_rect *r)
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index ce49cdfafb..ba509833db 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -286,6 +286,11 @@ void virtio_gpu_update_cursor_data(VirtIOGPU *g,
                                    uint32_t resource_id);
 void virtio_gpu_set_scanout_blob(VirtIOGPU *g,
                                  struct virtio_gpu_ctrl_command *cmd);
+void virtio_gpu_update_scanout(VirtIOGPU *g,
+                                      uint32_t scanout_id,
+                                      struct virtio_gpu_simple_resource *res,
+                                      struct virtio_gpu_rect *r);
+void virtio_gpu_disable_scanout(VirtIOGPU *g, int scanout_id);
 
 /* virtio-gpu-udmabuf.c */
 bool virtio_gpu_have_udmabuf(void);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:29:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:29:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508941.783988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbI0n-0007li-1x; Sun, 12 Mar 2023 09:29:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508941.783988; Sun, 12 Mar 2023 09:29:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbI0m-0007l7-S8; Sun, 12 Mar 2023 09:29:04 +0000
Received: by outflank-mailman (input) for mailman id 508941;
 Sun, 12 Mar 2023 09: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHwS-0000RV-IS
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:24:36 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20601.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2d8fbca-c0b7-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 10:24:34 +0100 (CET)
Received: from MW4PR04CA0068.namprd04.prod.outlook.com (2603:10b6:303:6b::13)
 by MN0PR12MB6318.namprd12.prod.outlook.com (2603:10b6:208:3c1::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.23; Sun, 12 Mar
 2023 09:24:30 +0000
Received: from CO1NAM11FT033.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:6b:cafe::7d) by MW4PR04CA0068.outlook.office365.com
 (2603:10b6:303:6b::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:24:29 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT033.mail.protection.outlook.com (10.13.174.247) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.23 via Frontend Transport; Sun, 12 Mar 2023 09:24:29 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:24:24 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2d8fbca-c0b7-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bsgOPke2+iIN2vc68QxbIUzbY5YCmWkFXURFVjG+fkiCDUJs4pDCDcpbz6fxSUvRREXI5Rg+QjmBPHtQd962mNKY2JhC6bmxs0W/isHMYGea0KnC2vPKfXNmfA03DrWVwNwT9sbitkPfWg6DWoCiIV7914cq4zA65kWEDz6O5lCoKGHiHLqYEFUQGQPSP42rYbjLovFsdY9WjE98KwEKKj9oXDNPXVQfUv6YOxpXk2wJjmExNE6O2U8/oX8/axy+qqZ+MxXK5tgtRA+af5jZsGyw6Yr09N4ZG94aiO3a2MpfAPirTeZgl06Gd4/LA/mcNka+fPpPOF7TeJhmRSIYiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DFVzCS9EKJ3JtWs5IAcFXDUrjN+wb62RYxssFqs2lUk=;
 b=WlR8KlVlCdsWoIdZQCF+7oVbsWwJjNyPPY25xpD8xMQlNuHfvBDaadj4bniYj0Cztdwyw7uDfzZoViaawSZTQrAemBKZK3VXrHveIIjQgilIWDKnchWb+MsUMQCn1WsVX2gKiHa7LPL3q9jV8LoZU6IYnBfP2yTM9un+5GAY1ZqFeQkvkoTBm8sYrU88BV75GQzhCgr6Ajw1xRe5sMl5lbzLueok6H8LDvGUaQPrAHEfY+SnwmdF3vdpbfO0BG+k6U254HeVZDov6u7R5+MCVRp0N2G09IRglDlJl88M3wS/L4jbXqwr9FcW37S6U4fBr8JS4lYN0x5qBlY5ixuQHw==
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
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=DFVzCS9EKJ3JtWs5IAcFXDUrjN+wb62RYxssFqs2lUk=;
 b=pSzEPFUfrsuORfJm8T9BhaBfTT/5UeWDquHoe9FvwXhRw8ubqM/+0VcBcJ1illl4Aln01rnTAPx/yJjZqlTR+E7uV+q2wr3cggjhzUcNEwd1gQegppb5vU/NH0OMxFzzrPrv6+ZdO2EuGFeq0OluoO8Hp19Y9j5ppVY0KSdmQDI=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC QEMU PATCH 16/18] virtio-gpu: fix hw-display-virtio-gpu.so undefined symbol virtio_gpu_virgl_resource_unmap
Date: Sun, 12 Mar 2023 17:22:42 +0800
Message-ID: <20230312092244.451465-17-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT033:EE_|MN0PR12MB6318:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ef8e9f1-b34b-43a0-de72-08db22db9506
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m5irxfKVWigmgE9iY41O+l4aueGQo50/hQPNrZ6T9soMxGCuLxrhfl6twhcJtu5Q1HTZ34J/PHCqHmNUvje8GjQxxCnxA2KJoOKZKdrMIAzh/hlwmEkNMz4v7qdKvIBtz6oawERxU5ELYFzLtHc0zpA9kOYcvUAr40qqDm2q5HfZK/6ZcQyUdaEEh/C2Q8VpedlDshSe39aSOWgYHCyEs1OdVmuLWtcbVjoa45Opr0ogtdRmHSXP81lJg/n0jZTbuJzTdSf/vOEczQkkX/cN7Yy4q3yyohoH4hZppsxL8HpZPjkt3Zrlw56tIUODJ4aHQuKTbg4o7jT/K1CPNK7EiRjFeX2FoO8KPzTrx9kZlUVKwXYv80uhaLthBC6bp1n/4ofpEJvNElG/aEuLf1NIQW8Uq8+hE74gclnD06kyDa6oj3WPSwQifIWAGOjFnPYK8FBGaZtUNcJsrOjyEVTf4udtnTIaKb+3um3BJhbyiUZ7wX0e3EYXw0H5RPNe0ZbGd2nckOii02VktdpqEoVa/7PSY8DuLX9GMu8texJnsGL8C4g8KagXr94fr/6cHWzZruULo2nZKKf1QJhGyGcxI36ktSyQ96puMiUEaLmcwP5F6L3+dOjlHSQ2lp9bF0E5P+WYu158QMBaEPThUlcVBv3tm+JXZ9hj7cFEt6cii16enYxce+OLzP33tDc/KMYRhjwmyDCx1J81meCpX8uNpXSwcytBRXmKEzM699VJUUZEo1Q23wbhS0sB8weI4apa
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:(13230025)(4636009)(376002)(39860400002)(346002)(136003)(396003)(451199018)(36840700001)(40470700004)(46966006)(2906002)(83380400001)(6666004)(7696005)(36756003)(40460700003)(26005)(1076003)(5660300002)(356005)(8936002)(40480700001)(186003)(16526019)(86362001)(41300700001)(2616005)(8676002)(4326008)(921005)(47076005)(7416002)(426003)(70206006)(70586007)(336012)(110136005)(82740400003)(478600001)(316002)(81166007)(54906003)(82310400005)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:24:29.4932
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ef8e9f1-b34b-43a0-de72-08db22db9506
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:
	CO1NAM11FT033.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6318

From: Honglei Huang <honglei1.huang@amd.com>

Move virtio_gpu_virgl_resource_unmap to virtio-gpu.c cause virtio-gpu.so
call this function but this function in virtio-gpu-gl.so before.

Add virgl dependency  into virtio-gpu-gl.so.

Suggested-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Honglei Huang <honglei1.huang@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 hw/display/meson.build        |  2 +-
 hw/display/virtio-gpu-virgl.c | 17 -----------------
 hw/display/virtio-gpu.c       | 19 +++++++++++++++++++
 3 files changed, 20 insertions(+), 18 deletions(-)

diff --git a/hw/display/meson.build b/hw/display/meson.build
index 7a725ed80e..21999dfbe0 100644
--- a/hw/display/meson.build
+++ b/hw/display/meson.build
@@ -67,7 +67,7 @@ softmmu_ss.add(when: [pixman, 'CONFIG_ATI_VGA'], if_true: files('ati.c', 'ati_2d
 if config_all_devices.has_key('CONFIG_VIRTIO_GPU')
   virtio_gpu_ss = ss.source_set()
   virtio_gpu_ss.add(when: 'CONFIG_VIRTIO_GPU',
-                    if_true: [files('virtio-gpu-base.c', 'virtio-gpu.c'), pixman])
+                    if_true: [files('virtio-gpu-base.c', 'virtio-gpu.c'), pixman, virgl])
   virtio_gpu_ss.add(when: 'CONFIG_LINUX', if_true: files('virtio-gpu-udmabuf.c'),
                                           if_false: files('virtio-gpu-udmabuf-stubs.c'))
   virtio_gpu_ss.add(when: 'CONFIG_VHOST_USER_GPU', if_true: files('vhost-user-gpu.c'))
diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 69083d15a9..d5214e0f43 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -636,23 +636,6 @@ static void virgl_cmd_resource_map_blob(VirtIOGPU *g,
     virtio_gpu_ctrl_response(g, cmd, &resp.hdr, sizeof(resp));
 }
 
-int virtio_gpu_virgl_resource_unmap(VirtIOGPU *g,
-                                    struct virtio_gpu_simple_resource *res)
-{
-    if (!res->mapped) {
-        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource already unmapped %d\n",
-                      __func__, res->resource_id);
-        return VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
-    }
-
-    memory_region_set_enabled(&res->region, false);
-    memory_region_del_subregion(&g->parent_obj.hostmem, &res->region);
-    object_unparent(OBJECT(&res->region));
-
-    res->mapped = NULL;
-    return virgl_renderer_resource_unmap(res->resource_id);
-}
-
 static void virgl_cmd_resource_unmap_blob(VirtIOGPU *g,
                                         struct virtio_gpu_ctrl_command *cmd)
 {
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 95e421a525..95eaed61b3 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -31,6 +31,8 @@
 #include "qapi/error.h"
 #include "qemu/error-report.h"
 
+#include <virglrenderer.h>
+
 #define VIRTIO_GPU_VM_VERSION 1
 
 static struct virtio_gpu_simple_resource *
@@ -873,6 +875,23 @@ void virtio_gpu_cleanup_mapping_iov(VirtIOGPU *g,
     g_free(iov);
 }
 
+int virtio_gpu_virgl_resource_unmap(VirtIOGPU *g,
+                                    struct virtio_gpu_simple_resource *res)
+{
+    if (!res->mapped) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource already unmapped %d\n",
+                      __func__, res->resource_id);
+        return VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+    }
+
+    memory_region_set_enabled(&res->region, false);
+    memory_region_del_subregion(&g->parent_obj.hostmem, &res->region);
+    object_unparent(OBJECT(&res->region));
+
+    res->mapped = NULL;
+    return virgl_renderer_resource_unmap(res->resource_id);
+}
+
 static void virtio_gpu_cleanup_mapping(VirtIOGPU *g,
                                        struct virtio_gpu_simple_resource *res)
 {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 09:29:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 09:29:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508942.784003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbI0o-0008G8-T0; Sun, 12 Mar 2023 09:29:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508942.784003; Sun, 12 Mar 2023 09: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 1pbI0o-0008Dn-LS; Sun, 12 Mar 2023 09:29:06 +0000
Received: by outflank-mailman (input) for mailman id 508942;
 Sun, 12 Mar 2023 09:29: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbHw0-0000RV-Cn
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 09:24:08 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a28aa367-c0b7-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 10:24:06 +0100 (CET)
Received: from MW4P223CA0002.NAMP223.PROD.OUTLOOK.COM (2603:10b6:303:80::7) by
 DM6PR12MB4449.namprd12.prod.outlook.com (2603:10b6:5:2a5::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.24; Sun, 12 Mar 2023 09:24:03 +0000
Received: from CO1NAM11FT038.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:80:cafe::e) by MW4P223CA0002.outlook.office365.com
 (2603:10b6:303:80::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 09:24:03 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT038.mail.protection.outlook.com (10.13.174.231) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.23 via Frontend Transport; Sun, 12 Mar 2023 09:24:02 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 04:23: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: a28aa367-c0b7-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=isOdDQt6RyjVPyAMiYXNojtUDwXr35WJV/hV99dIzs9xuesQgHdX+W68k6kbhBD8U5eQZR1t9wFpy9TIh2Ji0C8ozhNX6oGTc58LI7vI+T3JGnxZVvz3SSGdVtDnRR+YvpfO0RyTy3eOPIzjPiVDMvlQqaL0l+LI1vuGSRy/CfV2fIXTb3XM+i+Jka41bX5k9g0HdEMWFz31q4GwsUgZV9d0ox0ZMMT4XbcrCi8p7Lvj88LcaodoqXAlYyAe0n/lSWph9Lhnp/IFfrR6S4o5JTDIQ3RDSqiNDV4NDtydmu6Y+LCmkQ6l8ek0t0rT8hyDnxyf9sVaFj5lhodTCvP6ww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/W6fQSR4XNefyBjEnNx+xHfZ42DHRPg5Zu3WKU9uK+4=;
 b=GdcmHVdhIvqZRDr6gi+26r8rU/McSZnQwIU70jXaC4Gs4JfDmu9zO9MlZg0HIMN1zkbPKEQcvyQsupIBEAFqMaX1sk17rmxhKlmiwTFJwXHEoiAWDLP0cmN0784aMjVybolTQ9RnR6H/RyCYqyWRSt+F2abXL1aKscFOE/Ud8cnGiUmUkY+Sjr8F/98dzh4VD0I2ySluUV++XwNPV4VIyVEvDU/RYHtjyKs3Y//S8qSTlvMAHyIzthySoJMoWjAYhbuEUi5Zx7rLl1rq12xpRmqmXc/Af6Ps0MeeygRS6tbI0vz5W8LIb3FjqSX4yVHRADa4AOxV/DT5J0guKpmlNw==
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
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=/W6fQSR4XNefyBjEnNx+xHfZ42DHRPg5Zu3WKU9uK+4=;
 b=je3L3MCKPTObPgXmj4V+3UoH2L+MabeJVZ9CHGaS7Si2MuYKX1SzE9SGxtvvpp6suulYk4qb+WCNwT143M7UEIGvrFI84KdHgl7A1MbyoYxK3eh+Op9T5zmdj4VCbEnUhNOFw/7GyqWRYKL0atOT4uakqCW8tD0a+qaE8fK5qsE=
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: Huang Rui <ray.huang@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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>, <xen-devel@lists.xenproject.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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: [RFC QEMU PATCH 10/18] virtio-gpu: Handle set scanout blob command
Date: Sun, 12 Mar 2023 17:22:36 +0800
Message-ID: <20230312092244.451465-11-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312092244.451465-1-ray.huang@amd.com>
References: <20230312092244.451465-1-ray.huang@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: CO1NAM11FT038:EE_|DM6PR12MB4449:EE_
X-MS-Office365-Filtering-Correlation-Id: 9554ee66-e5c4-4edd-5212-08db22db8534
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5CLHP5wU2YH8UsonWfyKjo2Bma1/vH7DsvUbXzwsz2LNisDvP+HsGpeoDmF11m0CLuwwlUygEJ5LtBBmqWEU1/xVV+3eNpSiO/i/XLGFr9FlSqX/w33c9syHwmQc1GxVmeNJ8mQcGqeYAKjlTcCydXC7AiHEgo2/UAPkfUvxdQcuAskMdDswxDxmFCOce4PobuZWdFaOztpVcguL8sP6O7G0tmhO1mDhreC2TWl6+TOosLQn+ghFAz7R0n6i5cF9AtYP453TCDPIA4pwmK8H42l8giBx7V6B1rIWY3JwZSv5vL647GTkFXt4sJvxWBD7WqdeYpmZ3zulxPNsc/zO789WGaYpQTUkIB/OLPXxDbV14/fGdKUg7jg96jUl1RyEP9Xr99BwZoFKE3XBa5VS/tt/huvN+EooBQ0NlrZWWquYEeKG/1vUxWSyoq19+3LaJZ86qCYRcwzBTYA7iFlXbcb2Ljnbro6AzK0zpB2/qJ2Go5Seo+X94BASrOvqodKd+Gs9yoJEBJ/9mBknFWieZWpodjaH5SmPwTCLOegZLQ3fe/Usq7SGU0aI6sqHWBZouT/BdU85UXoHQzayiF0yzSnYpnmsdz/eEdo4cRbjiVbUuTsFcstsqBC55REHXOIZUsfjjLvLIz397EYxx4j0PBW4ZQkaR35F/l6//nuG31cvZGkrOdzEGfdl6rUaMe6/MnnU3ck9TShs7wQ6urycmihFWp9z8HbNCY/0iiKITg4RnMQXwggYdX0ouI9AEyQA
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:(13230025)(4636009)(346002)(376002)(396003)(39860400002)(136003)(451199018)(40470700004)(46966006)(36840700001)(82310400005)(36756003)(86362001)(16526019)(186003)(41300700001)(1076003)(26005)(5660300002)(40460700003)(7416002)(336012)(4326008)(2616005)(8936002)(316002)(7696005)(110136005)(478600001)(54906003)(70586007)(8676002)(6666004)(70206006)(40480700001)(81166007)(82740400003)(921005)(356005)(2906002)(83380400001)(47076005)(426003)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 09:24:02.9475
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9554ee66-e5c4-4edd-5212-08db22db8534
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:
	CO1NAM11FT038.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4449

From: Antonio Caggiano <antonio.caggiano@collabora.com>

Use mapped data pointer as data for the scanout.

Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
---
 hw/display/virtio-gpu-virgl.c  |  3 +++
 hw/display/virtio-gpu.c        | 11 +++++++----
 include/hw/virtio/virtio-gpu.h |  2 ++
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index f5ce206b93..1fe144f64d 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -653,6 +653,9 @@ void virtio_gpu_virgl_process_cmd(VirtIOGPU *g,
     case VIRTIO_GPU_CMD_RESOURCE_CREATE_BLOB:
         virgl_cmd_resource_create_blob(g, cmd);
         break;
+    case VIRTIO_GPU_CMD_SET_SCANOUT_BLOB:
+        virtio_gpu_set_scanout_blob(g, cmd);
+        break;
     case VIRTIO_GPU_CMD_RESOURCE_MAP_BLOB:
         virgl_cmd_resource_map_blob(g, cmd);
         break;
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index c7d1e52cb5..1e334a1e78 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -144,7 +144,7 @@ virtio_gpu_find_check_resource(VirtIOGPU *g, uint32_t resource_id,
     }
 
     if (require_backing) {
-        if (!res->iov || (!res->image && !res->blob)) {
+        if (!res->iov || (!res->image && !res->blob) || !res->mapped) {
             qemu_log_mask(LOG_GUEST_ERROR, "%s: no backing storage %d\n",
                           caller, resource_id);
             if (error) {
@@ -637,7 +637,10 @@ static void virtio_gpu_do_set_scanout(VirtIOGPU *g,
         }
 
         data = res->blob;
-    } else {
+    } else if (res->mapped) {
+        data = (uint8_t *)res->mapped;
+    }
+    else {
         data = (uint8_t *)pixman_image_get_data(res->image);
     }
 
@@ -714,8 +717,8 @@ static void virtio_gpu_set_scanout(VirtIOGPU *g,
                               &fb, res, &ss.r, &cmd->error);
 }
 
-static void virtio_gpu_set_scanout_blob(VirtIOGPU *g,
-                                        struct virtio_gpu_ctrl_command *cmd)
+void virtio_gpu_set_scanout_blob(VirtIOGPU *g,
+                                 struct virtio_gpu_ctrl_command *cmd)
 {
     struct virtio_gpu_simple_resource *res;
     struct virtio_gpu_framebuffer fb = { 0 };
diff --git a/include/hw/virtio/virtio-gpu.h b/include/hw/virtio/virtio-gpu.h
index 0a44aea4ee..ce49cdfafb 100644
--- a/include/hw/virtio/virtio-gpu.h
+++ b/include/hw/virtio/virtio-gpu.h
@@ -284,6 +284,8 @@ void virtio_gpu_simple_process_cmd(VirtIOGPU *g, struct virtio_gpu_ctrl_command
 void virtio_gpu_update_cursor_data(VirtIOGPU *g,
                                    struct virtio_gpu_scanout *s,
                                    uint32_t resource_id);
+void virtio_gpu_set_scanout_blob(VirtIOGPU *g,
+                                 struct virtio_gpu_ctrl_command *cmd);
 
 /* virtio-gpu-udmabuf.c */
 bool virtio_gpu_have_udmabuf(void);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 11:58:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 11:58:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508975.784029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKLS-0001Kr-MW; Sun, 12 Mar 2023 11:58:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508975.784029; Sun, 12 Mar 2023 11: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 1pbKLS-0001Kk-ID; Sun, 12 Mar 2023 11:58:34 +0000
Received: by outflank-mailman (input) for mailman id 508975;
 Sun, 12 Mar 2023 11:58: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 1pbKLR-0001Ka-1H; Sun, 12 Mar 2023 11:58: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 1pbKLQ-0000pM-Ug; Sun, 12 Mar 2023 11:58: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 1pbKLQ-0004vb-LE; Sun, 12 Mar 2023 11:58:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbKLQ-0003Ys-Kn; Sun, 12 Mar 2023 11: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dTvtM4FY1/4L2fYkTunRpvgeP8i2IOmC3JyERBTQugU=; b=C+2fWX4t6ACj/nsUgFAzJ/5kN3
	0SO0JsYtj9ZD0BdpxaiTnlfopSdWdMSMdV2o7q7FcVPWAK0lss4yl847aOpPmVkPoDTDLslqbhusI
	JREJENNXAVpz5M3tib+E1aKaxrMm+JKM3L1eLJy8TXH841BEdvu2ezDv+A2UBTS3sAS8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179567-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 179567: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    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-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-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-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-i386-libvirt-xsm: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-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-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-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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-5.4:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=126ee8982bfcae6111f0fd157ee5cdd0ec7f5ca5
X-Osstest-Versions-That:
    linux=a103859aaa718cf13cb5f55c3a33512dbab613f7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 12 Mar 2023 11:58:32 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179082
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179082
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179082
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179082
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179082
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179082
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179082
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179082
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179082
 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-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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 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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                126ee8982bfcae6111f0fd157ee5cdd0ec7f5ca5
baseline version:
 linux                a103859aaa718cf13cb5f55c3a33512dbab613f7

Last test of basis   179082  2023-03-03 11:13:35 Z    9 days
Testing same since   179558  2023-03-11 16:12:23 Z    0 days    2 attempts

------------------------------------------------------------
342 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   a103859aaa71..126ee8982bfc  126ee8982bfcae6111f0fd157ee5cdd0ec7f5ca5 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Sun Mar 12 12:02:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 12:02:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508982.784039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPG-0002uh-AH; Sun, 12 Mar 2023 12:02:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508982.784039; Sun, 12 Mar 2023 12:02:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPG-0002ua-6U; Sun, 12 Mar 2023 12:02:30 +0000
Received: by outflank-mailman (input) for mailman id 508982;
 Sun, 12 Mar 2023 12:02: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbKPE-0002uS-4G
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 12:02:28 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20611.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c07763e8-c0cd-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 13:02:26 +0100 (CET)
Received: from MW4PR03CA0177.namprd03.prod.outlook.com (2603:10b6:303:8d::32)
 by MW4PR12MB7239.namprd12.prod.outlook.com (2603:10b6:303:228::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 12:02:20 +0000
Received: from CO1NAM11FT089.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:8d:cafe::95) by MW4PR03CA0177.outlook.office365.com
 (2603:10b6:303:8d::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.25 via Frontend
 Transport; Sun, 12 Mar 2023 12:02:20 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT089.mail.protection.outlook.com (10.13.175.179) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 12:02:20 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 07:02:15 -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: c07763e8-c0cd-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WqJo/vhAdUYUhyS0zEYT68gRnDM0UMfAF6rnSOtvl3QdN+l7Mj5NZvSV5h67eDYADq2wFpPf+ETurHX2tV/eamOuUiiOsAwWsmrY75AzhGUmw5gjRLfsgcsX8xKaStfoLAiwPMOsB+rOoOhlUGsd1kj4Qm8Sw2FX7P3oGxRIaUBV6QH28sg2n8KuyXO7lggWXVikbArG3yt+0nS0coOHK6FfxxuD9KZMZOUuPev5uCGvP5g+2BRqOY6YN62pQ/06ah0s0dPb2Sw8EZrXjYNn831yLhI6EiCX0XHk81M0nVJgr0FKRlSBt3em89xrRaxdhDsoWZz499N7NFRPCa8pKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VjmyypcRxDR0P5LaAKNpKqX/6LGTTRc03kykh31DjR8=;
 b=kQ69Lw+UfSV0ES3Sj5kurwWpYwh2R/GdequeXPEGnPY1CfRk4ld6yo3mMZIoRmkNu6jq2x9Rw5hJPm45oFYKOlmweiwjjmI2IuhmK6qy7NtVGsX9QCW8av3Nn2DtmkiIgocwIu33lVNEqPyiBkkQqz4gyqxaq5pDw0SdkyP+bT4O0T2rQFzO1T/6ZRAru0DVuGXB23FsskYlTQnXCh1QlbeuaQUcqnJKYfJFt1mNvfaCRqXqciwgIqGazcpJFPPsr1uymjpcQ6xDP3tbBxweSWWe/TAXzFf0nX/P8u14tDElSO6M0dby70wfJNP5w5AikaJWSAm4ptLce1l5Sq8few==
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
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=VjmyypcRxDR0P5LaAKNpKqX/6LGTTRc03kykh31DjR8=;
 b=o2RJEjz+f6FgQ2MrIdC+S0inOZspupXPwGkKg06RalTHE+i5Svhm75/EqFIMObSJu9U86ffyGHCgVQj9IKZ2gV/0MD4rU57kzlnOjxR8QuzaaQRHJ7tfFNcQ6OcBSugRPG65+r9+pKil+JP5AVS8BJ4f5nVO1BwnIzydV1/G1uo=
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: Huang Rui <ray.huang@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>, <dri-devel@lists.freedesktop.org>,
	<amd-gfx@lists.freedesktop.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC PATCH 0/5] Add Xen PVH dom0 support for GPU
Date: Sun, 12 Mar 2023 20:01:52 +0800
Message-ID: <20230312120157.452859-1-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.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: CO1NAM11FT089:EE_|MW4PR12MB7239:EE_
X-MS-Office365-Filtering-Correlation-Id: 23fac0cb-7791-4f2b-179d-08db22f1a221
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HtyjX7Payq7uC5vApjUpNbNBOrhWO+u2KI0rWVaD5Q5VOm5uvnDKLq1gdMNaqwI2+T3zMQHwKuGSUAp5twS3i3URPHLdk5I8UL5iapUv9TA0wggEpVuPnckp0HJX5G2dNDOHDp2OTzzAhyWRZmSRg6kJIYP5eHL7agVwNuqv9/1kepFnsXyGFKHscQJPjpg3qs2sNyJzr/jBebNVgVtAcjdGamZPr2Dua19/f4Gt/2OozqOo6axhQDRi3je9mVQ9Vo5vwmOWcQ9EX1y5jG1fpAXPMTuqZNIS4O59R2F6VzLY/pXDBW8xLlE8EnGC2/0zvXQCXkxcJAfxaWkh6rZa2pHc9GUEEPL4j0VxXFupxhefxhTsCqvV2RCq6t9Z/TqCm3DvF1wXu6apAYxNVTH4eLkScaZ+KIwODX3dAdtPksYI6z1XWfTRyzRCm7r4YzB/w+vWJ3aZm+wFZd+A2N0Njd7rc4CbuVIBS6kYH8aWOql/niiF9zbZv6C51R8rR15WmqLaH86+BzSPA5yQ/4qTpo7e3U8Glb/n9Nkl7hhfNAKYuEc5l2C8cOva6zumtWwX7TkU9CmxX04tJOGRbtws9oSP/H0BhqcqGkKgT31nk6zBviyY0kIEcnEUWwfKoQapsU7SICOIcWvZ8zOS5/+WzGRCD9i+fkqqltC+d8YLjzP2vshNmRfr7SeOzImcltQFYyRZ01SL/zZdrAa4gjCQOCs4PLtUPOQGAIG4SNEjwctrNn9dt6FOhnz7L33NDFdIaZ9OYkSomRFEGSsek6X0uX/f53QwQDWZrYfJdrQCrk0=
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:(13230025)(4636009)(396003)(39860400002)(376002)(346002)(136003)(451199018)(46966006)(40470700004)(36840700001)(356005)(86362001)(82310400005)(36756003)(36860700001)(82740400003)(81166007)(40480700001)(40460700003)(4326008)(70586007)(70206006)(8676002)(8936002)(41300700001)(110136005)(54906003)(478600001)(316002)(5660300002)(7416002)(2906002)(336012)(66574015)(426003)(47076005)(2616005)(83380400001)(7696005)(966005)(186003)(16526019)(6666004)(1076003)(26005)(5930299012)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 12:02:20.3410
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 23fac0cb-7791-4f2b-179d-08db22f1a221
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:
	CO1NAM11FT089.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7239

Hi all,

Currently, we are working to add VirtIO GPU and Passthrough GPU support on
Xen. We expected to use HVM on domU and PVH on dom0. The x86 PVH dom0
support needs a few modifications on our APU platform. These functions
requires multiple software components support including kernel, xen, qemu,
mesa, and virglrenderer. Please see the patch series on Xen and QEMU bleow.

Xen: https://lists.xenproject.org/archives/html/xen-devel/2023-03/msg00714.html
QEMU: https://lists.nongnu.org/archive/html/qemu-devel/2023-03/msg03972.html

Kernel part mainly adds the PVH dom0 support:

1) Enable Xen PVH dom0 for AMDGPU

Please check patch 1 to 3, that enable Xen PVH dom0 on amdgpu. Because we
would like to use hardware IOMMU instead of swiotlb for buffer copy, PV
dom0 only supported swiotlb.

There still some workarounds in the kernel need to dig it out like below
https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/commit/?h=upstream-fox-xen&id=9bee65dd3498dfc6aad283d22ff641198b5c91ed

2) Add PCIe Passthrough (GPU) on Xen PVH dom0

Please check patch 4 to 5, this implements acpi_register_gsi_xen_pvh API to
register GSI for guest domU, amd make a new privcmd to handle the GSI from
the IRQ.

Below are the screenshot of these functions, please take a look.

Passthrough GPU: https://drive.google.com/file/d/17onr5gvDK8KM_LniHTSQEI2hGJZlI09L/view?usp=share_link
Venus: https://drive.google.com/file/d/1_lPq6DMwHu1JQv7LUUVRx31dBj0HJYcL/view?usp=share_link
Zink: https://drive.google.com/file/d/1FxLmKu6X7uJOxx1ZzwOm1yA6IL5WMGzd/view?usp=share_link

Repositories
Kernel: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=upstream-fox-xen
Xen: https://gitlab.com/huangrui123/xen/-/commits/upstream-for-xen
QEMU: https://gitlab.com/huangrui123/qemu/-/commits/upstream-for-xen
Mesa: https://gitlab.freedesktop.org/rui/mesa/-/commits/upstream-for-xen
Virglrenderer: https://gitlab.freedesktop.org/rui/virglrenderer/-/commits/upstream-for-xen

We are writting the documentation on xen wiki page, and will update it in
feature version.

Thanks,
Ray

Chen Jiqian (2):
  x86/xen: acpi registers gsi for xen pvh
  xen/privcmd: add IOCTL_PRIVCMD_GSI_FROM_IRQ

Huang Rui (3):
  x86/xen: disable swiotlb for xen pvh
  xen/grants: update initialization order of xen grant table
  drm/amdgpu: set passthrough mode for xen pvh/hvm

 arch/x86/include/asm/apic.h              |  7 ++++
 arch/x86/include/asm/xen/pci.h           |  5 +++
 arch/x86/kernel/acpi/boot.c              |  2 +-
 arch/x86/kernel/pci-dma.c                |  8 ++++-
 arch/x86/pci/xen.c                       | 43 ++++++++++++++++++++++++
 arch/x86/xen/grant-table.c               |  2 +-
 drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c |  3 +-
 drivers/xen/events/events_base.c         | 39 +++++++++++++++++++++
 drivers/xen/grant-table.c                |  2 +-
 drivers/xen/privcmd.c                    | 20 +++++++++++
 include/uapi/xen/privcmd.h               |  7 ++++
 include/xen/events.h                     |  5 +++
 12 files changed, 138 insertions(+), 5 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 12:02:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 12:02:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508983.784049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPM-0003CO-Ht; Sun, 12 Mar 2023 12:02:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508983.784049; Sun, 12 Mar 2023 12: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 1pbKPM-0003CF-Eb; Sun, 12 Mar 2023 12:02:36 +0000
Received: by outflank-mailman (input) for mailman id 508983;
 Sun, 12 Mar 2023 12:02: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbKPK-0003B1-Hf
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 12:02:34 +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 c33ace3e-c0cd-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 13:02:31 +0100 (CET)
Received: from MW4PR04CA0081.namprd04.prod.outlook.com (2603:10b6:303:6b::26)
 by CH0PR12MB8578.namprd12.prod.outlook.com (2603:10b6:610:18e::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 12:02:23 +0000
Received: from CO1NAM11FT009.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:6b:cafe::cf) by MW4PR04CA0081.outlook.office365.com
 (2603:10b6:303:6b::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 12:02:23 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT009.mail.protection.outlook.com (10.13.175.61) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.23 via Frontend Transport; Sun, 12 Mar 2023 12:02:23 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 07:02:19 -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: c33ace3e-c0cd-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BfZPUJ/B3HJSaWZSAN6avLqq+vfV2HR7hyAjwVdrXWeu/UOleniCAO7sGRz9rkWiMkd5WLKN0XqmGmNDw+UAnmbC7YoC6V1Y1uw7jXvOu55pw331yyEwjTNdATlxPETpqnlJ+/LyQK/lt2QRoKKyqATZ8LtmSp6Q5pKlTtAYAJpf7Fb0bO7ty/9f/EhS8dXoPlgLZvNxVMjGMSRBa062EfO1rwN+57E6fKRivvbcr0bNkZOgwnBnXc8xZZ7tzhorMw8WAgDf0WH/8laLjLjUcOk47gZM2ZxmXnYogbvy10N74O5r8Igiu+0Y+8KXWM8AR30oTkS6dDNEMvV9VgW6Xw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qEv7WzFyAvZ7dlaf6PHictVoky/OV/XaCF4pEssIZF0=;
 b=MBGi1mSmmJckLHpboYEI4H07AsPEBRGMSUZpzcKC9q1W3t2d2d2qdlWVwo3ZMbTjDRwob1zQyed8oUHsFHc/ZpaGSiybPmIbprst/5Gp6b3T/bhA0OTldMelffZPaaLDhlqa8dwSKi+eJM8Zm7a9CtNkyrMviB7xO2JsF6poz3ZtZSVSEJDulgIvcvvh7uzZELdBjZ7LMtVnfau5uCgaYapsjPcCKbYXMaP4Ren3aZrFWktEgXMJanOS88aLU+eg627EBHfqFQoSbtIxT2Y1OVh2CuZzVWjwoVqEqATArcwa2eFuTuo4CWmmWT+5v4b+s7Ycbi7v7Xhqks75ARnJqg==
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
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=qEv7WzFyAvZ7dlaf6PHictVoky/OV/XaCF4pEssIZF0=;
 b=Nxd1pC7PKX+qa7NOVrF0N/tPjEVr8w8yv/z+1kdWhUG0KHTR5XnLAD0SjI2CsxfbGukGU59DPzGALvaf7UNKNdUtJnFafVrMk38807OZG8TGikbyFGxPJ9BodxBNqfTcXsdL5tungrc4YAA45g7FbM4sZFcFnQPt98RqIHe4AwE=
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: Huang Rui <ray.huang@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>, <dri-devel@lists.freedesktop.org>,
	<amd-gfx@lists.freedesktop.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
Date: Sun, 12 Mar 2023 20:01:53 +0800
Message-ID: <20230312120157.452859-2-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312120157.452859-1-ray.huang@amd.com>
References: <20230312120157.452859-1-ray.huang@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: CO1NAM11FT009:EE_|CH0PR12MB8578:EE_
X-MS-Office365-Filtering-Correlation-Id: 4b5d0c5d-0f4e-415e-6dff-08db22f1a3ec
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uUZ1ncYNFXQ4JEqFhiNSwlF1CFQRyJiK/nmel3dt9i+GMx2sTO9j3VTu2uDiZCaYw6YzaAaIdbFb57BY4ezipAyIoFqcwH5qR87mRTww7hjeExah1W7yDapckzOTp5c/JOgCvecQoxAeDs2wKb8eMzF7LuvuMSaxyYQ46uGZlfX1odBUO0NPkE7IFznNhj2pQcVnc/UgDkpBLeT3g734e1qLyw41gbOHUNzgzSGzMfZzQ1wqr5HJAcoDr/KCdWtCB1hnwJk/dQXDUGD27OxImjkcJRus3LFops6ZBSDBtOPP8S6Y7iNGWAOm21uyKLn6V73RHEF4fZ/q8c8FNOdzPbaS43f7doYXmE0fxKTwqvdOoheJyiFYRZ923Oafi6+SnkRU1v30YanF4ynbmeeRnyFk34EinaQ6cHVsJBAI97Cp2LR/QJ64xb4A1T6VO6Xud6TDjmAznYIAm6In1KjBtwpv3oPfFcn57tKUtXmuEtkAsVsEa9Cq24LheVHsNCsP8X5hIoHJqjPh61veBg62YZ5+4bQAuptN6TPrz18mavJQuDmsoMmBpk76tvzizOEpOxauREjZbbEoaBU73gbjp+D3PDM4wcQ7sxfACBsllCX7wHNFlS/1aScnwWJ17N7sJ6ST1DKEr7KxNgpzDi8j9POCn2mP27XjfnXkLMa6Z4b9jFaY8On0a7hoBsdgyUhDWBN0+Qqqo9QCbrF3vXsyDrioQg451lt7BZCFi1h62xo=
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:(13230025)(4636009)(136003)(39860400002)(396003)(346002)(376002)(451199018)(40470700004)(46966006)(36840700001)(6666004)(7696005)(83380400001)(110136005)(316002)(81166007)(478600001)(36860700001)(54906003)(82310400005)(82740400003)(16526019)(8936002)(40480700001)(186003)(26005)(40460700003)(1076003)(36756003)(5660300002)(4326008)(7416002)(356005)(8676002)(336012)(47076005)(426003)(70206006)(70586007)(41300700001)(86362001)(2616005)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 12:02:23.3982
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4b5d0c5d-0f4e-415e-6dff-08db22f1a3ec
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:
	CO1NAM11FT009.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB8578

Xen PVH is the paravirtualized mode and takes advantage of hardware
virtualization support when possible. It will using the hardware IOMMU
support instead of xen-swiotlb, so disable swiotlb if current domain is
Xen PVH.

Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 arch/x86/kernel/pci-dma.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
index 30bbe4abb5d6..f5c73dd18f2a 100644
--- a/arch/x86/kernel/pci-dma.c
+++ b/arch/x86/kernel/pci-dma.c
@@ -74,6 +74,12 @@ static inline void __init pci_swiotlb_detect(void)
 #ifdef CONFIG_SWIOTLB_XEN
 static void __init pci_xen_swiotlb_init(void)
 {
+	/* Xen PVH domain won't use swiotlb */
+	if (xen_pvh_domain()) {
+		x86_swiotlb_enable = false;
+		return;
+	}
+
 	if (!xen_initial_domain() && !x86_swiotlb_enable)
 		return;
 	x86_swiotlb_enable = true;
@@ -86,7 +92,7 @@ static void __init pci_xen_swiotlb_init(void)
 
 int pci_xen_swiotlb_init_late(void)
 {
-	if (dma_ops == &xen_swiotlb_dma_ops)
+	if (xen_pvh_domain() || dma_ops == &xen_swiotlb_dma_ops)
 		return 0;
 
 	/* we can work with the default swiotlb */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 12:02:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 12:02:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508984.784054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPM-0003F9-S2; Sun, 12 Mar 2023 12:02:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508984.784054; Sun, 12 Mar 2023 12: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 1pbKPM-0003EO-MT; Sun, 12 Mar 2023 12:02:36 +0000
Received: by outflank-mailman (input) for mailman id 508984;
 Sun, 12 Mar 2023 12: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=y+T3=7E=gmail.com=shentey@srs-se1.protection.inumbo.net>)
 id 1pbKPL-0002uS-39
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 12:02:35 +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 c63618c4-c0cd-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 13:02:34 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id da10so38221194edb.3
 for <xen-devel@lists.xenproject.org>; Sun, 12 Mar 2023 05:02:34 -0700 (PDT)
Received: from Provence.localdomain
 (dynamic-078-054-022-093.78.54.pool.telefonica.de. [78.54.22.93])
 by smtp.gmail.com with ESMTPSA id
 xj9-20020a170906db0900b009231714b3d4sm1293745ejb.151.2023.03.12.05.02.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 12 Mar 2023 05:02: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: c63618c4-c0cd-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678622554;
        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=3I5DWtzKsLyM4cyrY32zr2tTmXgNaQXMmqiAK0JjXes=;
        b=eyX7uzfQRseoDcVLf1glqqsf8V35kfMg00j4z1ki81t0uYpETsmGE/JyBsRsTefz6q
         AHUFGhoGUFUTcVaT8mqmjmRCeoj/p/7/pyp3LB/F7DMF/D15vIyAl8oMj/AKN7170XSj
         onOHEkO1hm4jC31ph56IvBpykFg5+f1kQzXT7sHOM1oN29vs0zml/TH7+Lpg+2D7/k2c
         WCwSPMvT9V2op5nuqH4UbWa1SBLV/JuONy5Er5lGyb3xv8UomMqwt0tJMVEkkoRq9kyI
         2gURa5BX3w1J5pQVnMJg64eDTuW2zXxtcAmTvs9O79XLKODNAh9GqFQLb/oEzFHj04yk
         +TTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678622554;
        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=3I5DWtzKsLyM4cyrY32zr2tTmXgNaQXMmqiAK0JjXes=;
        b=U/Z/NTw6Nazxx7GYaLztJK7tNeie7/ZX35s+ITnzOr4BqAW3ydT1E11K1uSfDw6qOK
         xX1vGE/Z3gLc2WwGgz3WpedVcfgArFmgLstNFUoRMuy0YWF8QVQ0V8otqhRqSdaSCfvh
         MmoO13rsebRVE+f2cz8AOvkTPXkJqjx9LdHo+F+KrKImAnS6opnHXVhekV15yg3yLTET
         mmG/EzDkhMxHTut20Q+I+LbGhh33nkKQnb0zPa6izsG4+IT14qwwzXrEC0ABgAa06iiC
         Hyz8NuA2tKPZ0IAcJ0PzhwwrCPWkkz5xDH7VG++FPeW5LFYDI+s9w+w09vTIwHtsLE5G
         ksQw==
X-Gm-Message-State: AO0yUKUatwHvzz0Q0uC6F1vaE5KjGQMhYkzQ64eLZXJOvE7Z617XpR0W
	4gRdqHNqG/YuxpWHqQA4BmN03FeNb6o=
X-Google-Smtp-Source: AK7set9hj4vE3HzWNVGymwkFNRWqJxqDthLXr5YsmajpSOkBnHKY5RdbUl7r8I2QIpYWaP2socctfw==
X-Received: by 2002:aa7:cfcc:0:b0:4fb:da15:5bfd with SMTP id r12-20020aa7cfcc000000b004fbda155bfdmr1179361edy.4.1678622554052;
        Sun, 12 Mar 2023 05:02:34 -0700 (PDT)
From: Bernhard Beschow <shentey@gmail.com>
To: qemu-devel@nongnu.org
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Chuck Zmudzinski <brchuckz@aol.com>,
	Bernhard Beschow <shentey@gmail.com>
Subject: [PATCH v3 1/6] include/hw/xen/xen: Rename xen_piix3_set_irq() to xen_intx_set_irq()
Date: Sun, 12 Mar 2023 13:02:16 +0100
Message-Id: <20230312120221.99183-2-shentey@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230312120221.99183-1-shentey@gmail.com>
References: <20230312120221.99183-1-shentey@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

xen_piix3_set_irq() isn't PIIX specific: PIIX is a single PCI device
while xen_piix3_set_irq() maps multiple PCI devices to their respective
IRQs, which is board-specific. Rename xen_piix3_set_irq() to communicate
this.

Also rename XEN_PIIX_NUM_PIRQS to XEN_IOAPIC_NUM_PIRQS since the Xen's
IOAPIC rather than PIIX has this many interrupt routes.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
---
 include/hw/xen/xen.h  | 2 +-
 hw/i386/xen/xen-hvm.c | 2 +-
 hw/isa/piix3.c        | 4 ++--
 stubs/xen-hw-stub.c   | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
index 2bd8ec742d..37ecc91fc3 100644
--- a/include/hw/xen/xen.h
+++ b/include/hw/xen/xen.h
@@ -39,7 +39,7 @@ extern bool xen_domid_restrict;
 
 int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num);
 int xen_set_pci_link_route(uint8_t link, uint8_t irq);
-void xen_piix3_set_irq(void *opaque, int irq_num, int level);
+void xen_intx_set_irq(void *opaque, int irq_num, int level);
 void xen_hvm_inject_msi(uint64_t addr, uint32_t data);
 int xen_is_pirq_msi(uint32_t msi_data);
 
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index 56641a550e..ab8f1b61ee 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -143,7 +143,7 @@ int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num)
     return irq_num + (PCI_SLOT(pci_dev->devfn) << 2);
 }
 
-void xen_piix3_set_irq(void *opaque, int irq_num, int level)
+void xen_intx_set_irq(void *opaque, int irq_num, int level)
 {
     xen_set_pci_intx_level(xen_domid, 0, 0, irq_num >> 2,
                            irq_num & 3, level);
diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c
index a9cb39bf21..1b3e23f0d7 100644
--- a/hw/isa/piix3.c
+++ b/hw/isa/piix3.c
@@ -34,7 +34,7 @@
 #include "migration/vmstate.h"
 #include "hw/acpi/acpi_aml_interface.h"
 
-#define XEN_PIIX_NUM_PIRQS      128ULL
+#define XEN_IOAPIC_NUM_PIRQS    128ULL
 
 static void piix3_set_irq_pic(PIIX3State *piix3, int pic_irq)
 {
@@ -405,7 +405,7 @@ static void piix3_xen_realize(PCIDevice *dev, Error **errp)
      * connected to the IOAPIC directly.
      * These additional routes can be discovered through ACPI.
      */
-    pci_bus_irqs(pci_bus, xen_piix3_set_irq, piix3, XEN_PIIX_NUM_PIRQS);
+    pci_bus_irqs(pci_bus, xen_intx_set_irq, piix3, XEN_IOAPIC_NUM_PIRQS);
 }
 
 static void piix3_xen_class_init(ObjectClass *klass, void *data)
diff --git a/stubs/xen-hw-stub.c b/stubs/xen-hw-stub.c
index 34a22f2ad7..7d7ffe83a9 100644
--- a/stubs/xen-hw-stub.c
+++ b/stubs/xen-hw-stub.c
@@ -15,7 +15,7 @@ int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num)
     return -1;
 }
 
-void xen_piix3_set_irq(void *opaque, int irq_num, int level)
+void xen_intx_set_irq(void *opaque, int irq_num, int level)
 {
 }
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 12:02:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 12:02:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508985.784060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPN-0003ML-84; Sun, 12 Mar 2023 12:02:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508985.784060; Sun, 12 Mar 2023 12: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 1pbKPN-0003LQ-1C; Sun, 12 Mar 2023 12:02:37 +0000
Received: by outflank-mailman (input) for mailman id 508985;
 Sun, 12 Mar 2023 12:02:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbKPL-0003B1-VY
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 12:02:36 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe59::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c51b46d9-c0cd-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 13:02:34 +0100 (CET)
Received: from MWH0EPF00056D0B.namprd21.prod.outlook.com
 (2603:10b6:30f:fff2:0:1:0:b) by IA1PR12MB6484.namprd12.prod.outlook.com
 (2603:10b6:208:3a7::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.27; Sun, 12 Mar
 2023 12:02:29 +0000
Received: from CO1NAM11FT106.eop-nam11.prod.protection.outlook.com
 (2a01:111:f400:7eab::208) by MWH0EPF00056D0B.outlook.office365.com
 (2603:1036:d20::b) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.23 via Frontend
 Transport; Sun, 12 Mar 2023 12:02:28 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT106.mail.protection.outlook.com (10.13.175.44) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 12:02:28 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 07:02: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: c51b46d9-c0cd-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mLcG1DCf0wfu/lrin0oRaqN6QBNtywb+IplYk9O4zik25QQgD30bnT5J4gjZWzvYBeLG49mPrz1LTj0f0RQa84KkzSfkB+tSel4fFySSbClAr0nebZ6zoPY//DsoOU5Nv7LnrE+tcAH6wqq5rn+rHBZsjLfXpS8uR7EZ0/NnvccV2sqsFwOt0cY1IwXZUaB3qwLUvLGHbuWEU0DJNEDCcyxLt1o9uaECxJZuFXizlCHc9UtKQBwxPNVDcM+NtEOza92oxHxW1YGrqMA6bGjciChqBrZ/iFp4+osnHEpZ3f1mrawA9TwZzg31/LcvgGObBePO2mTTtwtqoVCtRPCOKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vERtBQZO4btnLGfti3VSOefpivXiYTBUA9KHiM91onM=;
 b=mRUHowUkoibA+y3yuIucX9n/NuJ61VNiLm0wYNyJR2ZstnGN+xH/115+zj7Gh2v6/kZIWpMIM5osniFHhpBYjrLs+/JHaUR2oRtrE8K/wo6o8lLBqYthnTSXB2q6fxxocrVAPPy+F9ezhPml37Ct/KC5Ht2xupOUy77TjwR0jvosLlty9FYbm3ByTPNJ3sYNOS9RYG7O45WB0GSrG1aEOFlBoExDrYkES4qOgQ3YyIJrIWjgVMIMBwruQCqTVqMQb6RCO8jdQ+ix86Lcqb6lIjOgVrz0li+U/KmzINg4110ROG9cfMT36A8Npp7CkZRteWCKRIwOGuTciE8atv8SCw==
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
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=vERtBQZO4btnLGfti3VSOefpivXiYTBUA9KHiM91onM=;
 b=N1lgjq+qSA9Yor7xsm25sk5Z8A/clJPGoqZlmFyeipAjMwDXYwSn801X6o4aPVbaOJktX2/YmshQiRYrVztTtsqV2awjhsDfuAiktu4KAOjS9N9S565afWn8i0rN/ual76G2k2b74WsocP+TLTZehvc/OxSLsd4l5YgiawBmhUg=
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: Huang Rui <ray.huang@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>, <dri-devel@lists.freedesktop.org>,
	<amd-gfx@lists.freedesktop.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC PATCH 2/5] xen/grants: update initialization order of xen grant table
Date: Sun, 12 Mar 2023 20:01:54 +0800
Message-ID: <20230312120157.452859-3-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312120157.452859-1-ray.huang@amd.com>
References: <20230312120157.452859-1-ray.huang@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: CO1NAM11FT106:EE_|IA1PR12MB6484:EE_
X-MS-Office365-Filtering-Correlation-Id: 41a5f9d5-9c4d-4d38-5abb-08db22f1a6cb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aMux3Bv4HXWKFfc1LCihWGJ726Lphqqk3roevqlcSWm466fAZx9I8APnJQi2dTwz2Y3WAj21pkO9JQwG/1kMmON8R3ybiXGy12FD98jNT3WdXXzobMHHoaxWBcE8O6WjpS0HKPkrzVkmNKvcV/9X2fcQ7tj9q99Cc8INvQJmWykQx6myPm/ylU8H40TAuqS+3GI0lEostDtgh6akAk/iUR3sQohLV6CYIRRx4YH3PaaTFR+YXfCOS9nRazoWQTxmEEmiL25+BcKRCkDfPHhl+NqBVLyvdl41Emq8WBobOZeSrn31xlucmNtQu//wkYXI40qtr/+iX/K/OtbSL6TUCcu75QEodfj+dZ9JIJ/5y3Rql8lrM9ZK4ErE5pQ2Zq2tinsrTcPXtxxSimckcH1mIh6GHRPfsr7B49P68rg1ksIbaLUxmr3iqbhIWVSV8k1EQezSDTa8qqGxReJy2M5wCiGzpH8IxUxOvbZV10PNjNPeUjKxnahOc86QNSwaNraIudjZyNFfnCXBNtVAqC+JDUEtjaRpFCHJ5PimMhPX1UlFSzNd+lLAQjH/ucRHDis4kHJEMhT3ztf6cOCpxg2CgJ+Tek4z7EFky27/MsjhxO9kKWkf5wk2GRcQlFwo6xnHuARBu1/BH/Yxc96IZuiuQyOPfFjhz1D4SkrZv3WJDR/FoYn7ac/CX05AhawvD0ygvPW7EQwLMTw9zyxyTxv0krdhj74w1fZe3ZoAXF/KKls=
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:(13230025)(4636009)(39860400002)(346002)(396003)(376002)(136003)(451199018)(46966006)(40470700004)(36840700001)(7696005)(426003)(478600001)(83380400001)(36860700001)(6666004)(82310400005)(36756003)(356005)(82740400003)(110136005)(47076005)(54906003)(1076003)(336012)(316002)(186003)(26005)(16526019)(7416002)(86362001)(40480700001)(81166007)(40460700003)(2906002)(2616005)(70206006)(41300700001)(8676002)(8936002)(4326008)(5660300002)(70586007)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 12:02:28.2302
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 41a5f9d5-9c4d-4d38-5abb-08db22f1a6cb
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:
	CO1NAM11FT106.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6484

The xen grant table will be initialied before parsing the PCI resources,
so xen_alloc_unpopulated_pages() ends up using a range from the PCI
window because Linux hasn't parsed the PCI information yet.

So modify the initialization order to make sure the real PCI resources
are parsed before.

Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 arch/x86/xen/grant-table.c | 2 +-
 drivers/xen/grant-table.c  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/xen/grant-table.c b/arch/x86/xen/grant-table.c
index 1e681bf62561..64a04d1e70f5 100644
--- a/arch/x86/xen/grant-table.c
+++ b/arch/x86/xen/grant-table.c
@@ -165,5 +165,5 @@ static int __init xen_pvh_gnttab_setup(void)
 }
 /* Call it _before_ __gnttab_init as we need to initialize the
  * xen_auto_xlat_grant_frames first. */
-core_initcall(xen_pvh_gnttab_setup);
+fs_initcall_sync(xen_pvh_gnttab_setup);
 #endif
diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
index e1ec725c2819..6382112f3473 100644
--- a/drivers/xen/grant-table.c
+++ b/drivers/xen/grant-table.c
@@ -1680,4 +1680,4 @@ static int __gnttab_init(void)
 }
 /* Starts after core_initcall so that xen_pvh_gnttab_setup can be called
  * beforehand to initialize xen_auto_xlat_grant_frames. */
-core_initcall_sync(__gnttab_init);
+rootfs_initcall(__gnttab_init);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 12:02:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 12:02:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508986.784066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPN-0003SE-LW; Sun, 12 Mar 2023 12:02:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508986.784066; Sun, 12 Mar 2023 12: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 1pbKPN-0003Oz-Ch; Sun, 12 Mar 2023 12:02:37 +0000
Received: by outflank-mailman (input) for mailman id 508986;
 Sun, 12 Mar 2023 12:02:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=y+T3=7E=gmail.com=shentey@srs-se1.protection.inumbo.net>)
 id 1pbKPM-0002uS-3A
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 12:02:36 +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 c6f2e221-c0cd-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 13:02:35 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id da10so38221300edb.3
 for <xen-devel@lists.xenproject.org>; Sun, 12 Mar 2023 05:02:35 -0700 (PDT)
Received: from Provence.localdomain
 (dynamic-078-054-022-093.78.54.pool.telefonica.de. [78.54.22.93])
 by smtp.gmail.com with ESMTPSA id
 xj9-20020a170906db0900b009231714b3d4sm1293745ejb.151.2023.03.12.05.02.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 12 Mar 2023 05:02: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: c6f2e221-c0cd-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678622555;
        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=WWg4LuzaxWFvJH2Cc10WqoexJQmNb/n77OizqFG/hOg=;
        b=CRFIKihiG3gt5U7Bo9POrDRCvKcX7GhlR/4RrRquOq1v4D0aQQphgBlcVb+oKE619W
         Llu9/G1Ybdpw0CxHZULyucDFqERnJjlfCQ6QSuA1DH48U5evIEPeCz1tYTeXxEQicnHO
         IS83yQWd562FDvEzReKeF73BzrnwADN72svQtkzb/68v70DdxCeMuDCqdC1AogFwSo1U
         O7ZqtXNXZY0Lc9inLbJpjv1y5rww93LSySnMpjczQEdd+GZmmPxbYZ2Ncc95uROmaM2L
         e9pKi8P37Qdvbnfo7P80owlzihA6njd0jy1mHWVgE5ERWcrpXZ99qhFWb8leSlBPvvQ9
         GlbA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678622555;
        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=WWg4LuzaxWFvJH2Cc10WqoexJQmNb/n77OizqFG/hOg=;
        b=c/4VGLY6yjkclaQuV2S0zFxQUkTJtt1Mtx0FLTbXVgDKt3UQcXkpfGYL7qjL8nAsuH
         UpO3vKPXbhtS3yPZA8HaMpJQ9vK0s5qFJUx0kNSyUTwO+PdCuVVTgyCQ/3LrNIuoyGdy
         0WPEeINT0snMrnPQ2BCo8syxsaJu0bKvAnVLK+q92/kPqeK/9Jj3VLqgXqQs9MMY2Dga
         b4qJvsaOypNeUWPvAfdDZpzTdo7zSFqR4z3MPuwk1qwWq+muiNuJyH1qfBwUnEVxR/dh
         CN1V3V045R0ArNlbUhlGdXdJUKVyGa9XjDB/0xP4kuY5tCHO7r8RA6wum3hc0eDKZ71a
         WYaQ==
X-Gm-Message-State: AO0yUKXpxuTBEKUfpcVdUwB3zbKS7G8uBM0ylFcxXrf8yT/Bcm+/UhS/
	GgvkP0EX3wpRnOAGsQ/fFJI=
X-Google-Smtp-Source: AK7set+8bU52UZ6EPZu8793oap+FG+WY4eM5GCpxYQgaKRcrzsOTsF85v6SrfshFWBQhYEm6N29wPQ==
X-Received: by 2002:a17:907:1905:b0:8a6:e075:e364 with SMTP id ll5-20020a170907190500b008a6e075e364mr30020126ejc.26.1678622555342;
        Sun, 12 Mar 2023 05:02:35 -0700 (PDT)
From: Bernhard Beschow <shentey@gmail.com>
To: qemu-devel@nongnu.org
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Chuck Zmudzinski <brchuckz@aol.com>,
	Bernhard Beschow <shentey@gmail.com>
Subject: [PATCH v3 2/6] hw/isa/piix3: Reuse piix3_realize() in piix3_xen_realize()
Date: Sun, 12 Mar 2023 13:02:17 +0100
Message-Id: <20230312120221.99183-3-shentey@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230312120221.99183-1-shentey@gmail.com>
References: <20230312120221.99183-1-shentey@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is a preparational patch for the next one to make the following
more obvious:

First, pci_bus_irqs() is now called twice in case of Xen where the
second call overrides the pci_set_irq_fn with the Xen variant.

Second, pci_bus_set_route_irq_fn() is now also called in Xen mode.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/isa/piix3.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c
index 1b3e23f0d7..a86cd23ef4 100644
--- a/hw/isa/piix3.c
+++ b/hw/isa/piix3.c
@@ -394,7 +394,7 @@ static void piix3_xen_realize(PCIDevice *dev, Error **errp)
     PIIX3State *piix3 = PIIX3_PCI_DEVICE(dev);
     PCIBus *pci_bus = pci_get_bus(dev);
 
-    pci_piix3_realize(dev, errp);
+    piix3_realize(dev, errp);
     if (*errp) {
         return;
     }
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 12:02:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 12:02:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508987.784076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPO-0003nL-IJ; Sun, 12 Mar 2023 12:02:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508987.784076; Sun, 12 Mar 2023 12:02:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPO-0003kE-Bq; Sun, 12 Mar 2023 12:02:38 +0000
Received: by outflank-mailman (input) for mailman id 508987;
 Sun, 12 Mar 2023 12:02: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=y+T3=7E=gmail.com=shentey@srs-se1.protection.inumbo.net>)
 id 1pbKPM-0003B1-Ql
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 12:02:36 +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 c57c7506-c0cd-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 13:02:33 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id cn21so7937347edb.0
 for <xen-devel@lists.xenproject.org>; Sun, 12 Mar 2023 05:02:33 -0700 (PDT)
Received: from Provence.localdomain
 (dynamic-078-054-022-093.78.54.pool.telefonica.de. [78.54.22.93])
 by smtp.gmail.com with ESMTPSA id
 xj9-20020a170906db0900b009231714b3d4sm1293745ejb.151.2023.03.12.05.02.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 12 Mar 2023 05:02:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c57c7506-c0cd-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678622553;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Zx4WQ0rpWKtdmR92czSmYxtVfc9kMMG+Fa09pszRXII=;
        b=Kq0+PWIOx/dVZ15PrMf151vUjYkB6uw1jPdTgLlXYfQXbhvPC3e617ZPRfDQPm0p52
         D7BWiQFSoGlRTF9l4bCMsUCYx6VRorBIRy7q9oP5dTNrPeZB7QETmuW6FwDPYWAvNJb9
         oofS6MVVF9rjv7aBcUTfqOap5T6OHG3k8g58VIiS8sI1Y3/jT9pxCb0zV7FtIATh187L
         Bxog9AQv8s+toelMiZoQA4pkJ4D/gBJtBDJj6h7jmlccLMZB7WiNHLlNKBooCckMrGuo
         prxzTTi/98U/zrmf+c+sFw+Oc3v6PNtXvWK0M9wNPocVYkbhNAXbmddghY/34R+IxilH
         HTQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678622553;
        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=Zx4WQ0rpWKtdmR92czSmYxtVfc9kMMG+Fa09pszRXII=;
        b=3sWmejz6xi7kIkdsUhOpa7P5aXtRb7MYoJSka9WkY6JN+fp0YMIj46mUv8TcIlySMk
         RsU2VfeTYf2IbOD06BgsAIWJNyHwM4++Qg+WGYVuLuhJBKmjEPUTeifK0Gcam/xJaekR
         fOQXGLgaaGjvaiWVRzooifW0IDA3/dE3Gi5oAByW0VGlIZ6h91Gh+ewYC8HoUDoyA3I0
         Yg7r99taFoME9wj0l7HNaZsC78SPjfopawMRCjC4fv/OcnwxrxFxZiPZnCl54dsQTFMr
         1OT55JdFq7yA4Nh4EU+SOVCSE86bVAKsF0YXb88fFTSRTx/OPcSvwBeJQj5Hg2CwQ6/S
         SjKA==
X-Gm-Message-State: AO0yUKWq8Gj7hH3GTycRZfzSHCsG5tDu3tP1UR6aDkI69HehcQUrcUsx
	klo0Tyxs1ZcQ+bctSTORbEo=
X-Google-Smtp-Source: AK7set/yTkaiC/AD/f/M0Ng0EK/oMU6zvGaSDuWVsoHBKyUNqdpnuBumcPec5u1y/AC8bZR4Zq7YGQ==
X-Received: by 2002:a17:907:2beb:b0:921:5cce:6599 with SMTP id gv43-20020a1709072beb00b009215cce6599mr3576266ejc.41.1678622552832;
        Sun, 12 Mar 2023 05:02:32 -0700 (PDT)
From: Bernhard Beschow <shentey@gmail.com>
To: qemu-devel@nongnu.org
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Chuck Zmudzinski <brchuckz@aol.com>,
	Bernhard Beschow <shentey@gmail.com>
Subject: [PATCH v3 0/6] Resolve TYPE_PIIX3_XEN_DEVICE
Date: Sun, 12 Mar 2023 13:02:15 +0100
Message-Id: <20230312120221.99183-1-shentey@gmail.com>
X-Mailer: git-send-email 2.39.2
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

There is currently a dedicated PIIX3 device model for use under Xen. By reu=
sing=0D
existing PCI API during initialization this device model can be eliminated =
and=0D
the plain PIIX3 device model can be used instead.=0D
=0D
Resolving TYPE_PIIX3_XEN_DEVICE results in less code while also making Xen=
=0D
agnostic towards the precise south bridge being used in the PC machine. The=
=0D
latter might become particularily interesting once PIIX4 becomes usable in =
the=0D
PC machine, avoiding the "Frankenstein" use of PIIX4_ACPI in PIIX3.=0D
=0D
Testing done:=0D
- `make check`=0D
- `make check-avocado`=0D
- Run `xl create` with the following config:=0D
    name =3D "Manjaro"=0D
    type =3D 'hvm'=0D
    memory =3D 1536=0D
    apic =3D 1=0D
    usb =3D 1=0D
    disk =3D [ "file:manjaro-kde-21.2.6-220416-linux515.iso,hdc:cdrom,r" ]=
=0D
    device_model_override =3D "/usr/bin/qemu-system-x86_64"=0D
    vga =3D "stdvga"=0D
    sdl =3D 1=0D
- `qemu-system-x86_64 -M pc -m 2G -cpu host \=0D
    -accel kvm,xen-version=3D0x4000a,kernel-irqchip=3Dsplit \=0D
    -cdrom manjaro-kde-21.2.6-220416-linux515.iso`=0D
- `qemu-system-x86_64 -M pc -m 2G -cpu host -accel kvm \=0D
    -cdrom manjaro-kde-21.2.6-220416-linux515.iso`=0D
=0D
v3:=0D
- Rebase onto master=0D
=0D
v2:=0D
- xen_piix3_set_irq() is already generic. Just rename it. (Chuck)=0D
=0D
Tested-by: Chuck Zmudzinski <brchuckz@aol.com>=0D
=0D
Bernhard Beschow (6):=0D
  include/hw/xen/xen: Rename xen_piix3_set_irq() to xen_intx_set_irq()=0D
  hw/isa/piix3: Reuse piix3_realize() in piix3_xen_realize()=0D
  hw/isa/piix3: Wire up Xen PCI IRQ handling outside of PIIX3=0D
  hw/isa/piix3: Avoid Xen-specific variant of piix3_write_config()=0D
  hw/isa/piix3: Resolve redundant k->config_write assignments=0D
  hw/isa/piix3: Resolve redundant TYPE_PIIX3_XEN_DEVICE=0D
=0D
 include/hw/southbridge/piix.h |  1 -=0D
 include/hw/xen/xen.h          |  2 +-=0D
 hw/i386/pc_piix.c             | 36 +++++++++++++++++++--=0D
 hw/i386/xen/xen-hvm.c         |  2 +-=0D
 hw/isa/piix3.c                | 60 +----------------------------------=0D
 stubs/xen-hw-stub.c           |  2 +-=0D
 6 files changed, 37 insertions(+), 66 deletions(-)=0D
=0D
-- =0D
2.39.2=0D
=0D


From xen-devel-bounces@lists.xenproject.org Sun Mar 12 12:02:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 12:02:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508988.784099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPQ-0004YC-Tn; Sun, 12 Mar 2023 12:02:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508988.784099; Sun, 12 Mar 2023 12:02: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 1pbKPQ-0004Xw-Pm; Sun, 12 Mar 2023 12:02:40 +0000
Received: by outflank-mailman (input) for mailman id 508988;
 Sun, 12 Mar 2023 12:02: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=y+T3=7E=gmail.com=shentey@srs-se1.protection.inumbo.net>)
 id 1pbKPO-0003B1-Kz
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 12:02:38 +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 c7a5edbb-c0cd-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 13:02:37 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id cy23so38018895edb.12
 for <xen-devel@lists.xenproject.org>; Sun, 12 Mar 2023 05:02:37 -0700 (PDT)
Received: from Provence.localdomain
 (dynamic-078-054-022-093.78.54.pool.telefonica.de. [78.54.22.93])
 by smtp.gmail.com with ESMTPSA id
 xj9-20020a170906db0900b009231714b3d4sm1293745ejb.151.2023.03.12.05.02.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 12 Mar 2023 05:02: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: c7a5edbb-c0cd-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678622556;
        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=XntQLcfKBZ4bUALJ2KcKbFlzPaRdUkUn5f75iO8ImkQ=;
        b=IA1JYJLJIDXDZUXlU+gf06wttIV49eC8CDEPbQoPMi6TiveH2bC5JG+Q6UJenXeBlH
         OuqyVa2LJ8fbgwsD618aaUbMFhMSMFgpv6Yk3wUdJ3Iuz+vHUAPFqvXiz6XO3inbN+e3
         PdiHw6HTaXQDTKmin5QqC1M1AX4HbZjPhrO2xmpgVPMNrsZNKuLaD8594qaIknpFQc/0
         0r9ocRPyNvM+Cj15SU5hmeBYKtZ5MR/vsaLSsR3edIKqT2DjowYwrk0jq/5Ae26kjVPk
         0V1izQDgiS7e3CT/UILMHQt9YLh+blcAvCXAcQb+d3iI4mZ1DJ1K9EfHARqbPOml5JjV
         rvRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678622556;
        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=XntQLcfKBZ4bUALJ2KcKbFlzPaRdUkUn5f75iO8ImkQ=;
        b=ZxjfPc+xXHG0AW5ice1+JtyxPpb2haXU2iIev9Bzth6TuyQfo7Fcqtk1I5f35AE1GG
         QTkn2BMK216ZE9RwtVAvo8N4vQo9g3SrjOb+AB4gpvABm/QDYdPvHvBudkTi07+wsFkZ
         SCwYYUaOxCa6EsY5DfmDH/fnD9mEtznYoBTE7qZ1F6Ryg9NmzAE/rrkq2iFWj5QzdrPs
         uvgwVAh7xQhS/KVx4OcCs1ZkhrDKx/fSL2s1BG2WS5HBUxlV7sff4qKvwN0vS0HRVNoG
         R86cU+rzNyQ10OUhWbqfh9p4adusomb08GOfFyE4viC/jAn5vY4bxOEOyiAkEAL3n1UR
         tI0A==
X-Gm-Message-State: AO0yUKX3znzq1cA95bXUdpXXa2g+6an0Ih2ZdxWBPvlgxxDI/FGDFXU4
	XE6i6e33Dulf+DL6guUBtMk=
X-Google-Smtp-Source: AK7set+m7cWOv1RHybMAfOCzPRvQaV62dLX58iGhA9SZT8R7OwbyLmc241NiKS/XtNsdB4vzT9A0oA==
X-Received: by 2002:a05:6402:1256:b0:4fb:1fa8:da25 with SMTP id l22-20020a056402125600b004fb1fa8da25mr2725543edw.36.1678622556599;
        Sun, 12 Mar 2023 05:02:36 -0700 (PDT)
From: Bernhard Beschow <shentey@gmail.com>
To: qemu-devel@nongnu.org
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Chuck Zmudzinski <brchuckz@aol.com>,
	Bernhard Beschow <shentey@gmail.com>
Subject: [PATCH v3 3/6] hw/isa/piix3: Wire up Xen PCI IRQ handling outside of PIIX3
Date: Sun, 12 Mar 2023 13:02:18 +0100
Message-Id: <20230312120221.99183-4-shentey@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230312120221.99183-1-shentey@gmail.com>
References: <20230312120221.99183-1-shentey@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

xen_intx_set_irq() doesn't depend on PIIX3State. In order to resolve
TYPE_PIIX3_XEN_DEVICE and in order to make Xen agnostic about the
precise south bridge being used, set up Xen's PCI IRQ handling of PIIX3
in the board.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/i386/pc_piix.c | 13 +++++++++++++
 hw/isa/piix3.c    | 24 +-----------------------
 2 files changed, 14 insertions(+), 23 deletions(-)

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 30eedd62a3..99232701b1 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -69,6 +69,7 @@
 #include "kvm/kvm-cpu.h"
 
 #define MAX_IDE_BUS 2
+#define XEN_IOAPIC_NUM_PIRQS 128ULL
 
 #ifdef CONFIG_IDE_ISA
 static const int ide_iobase[MAX_IDE_BUS] = { 0x1f0, 0x170 };
@@ -236,6 +237,18 @@ static void pc_init1(MachineState *machine,
         pcms->bus = pci_bus;
 
         pci_dev = pci_create_simple_multifunction(pci_bus, -1, true, type);
+
+        if (xen_enabled()) {
+            /*
+             * Xen supports additional interrupt routes from the PCI devices to
+             * the IOAPIC: the four pins of each PCI device on the bus are also
+             * connected to the IOAPIC directly.
+             * These additional routes can be discovered through ACPI.
+             */
+            pci_bus_irqs(pci_bus, xen_intx_set_irq, pci_dev,
+                         XEN_IOAPIC_NUM_PIRQS);
+        }
+
         piix3 = PIIX3_PCI_DEVICE(pci_dev);
         piix3->pic = x86ms->gsi;
         piix3_devfn = piix3->dev.devfn;
diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c
index a86cd23ef4..7a31caf2b6 100644
--- a/hw/isa/piix3.c
+++ b/hw/isa/piix3.c
@@ -34,8 +34,6 @@
 #include "migration/vmstate.h"
 #include "hw/acpi/acpi_aml_interface.h"
 
-#define XEN_IOAPIC_NUM_PIRQS    128ULL
-
 static void piix3_set_irq_pic(PIIX3State *piix3, int pic_irq)
 {
     qemu_set_irq(piix3->pic[pic_irq],
@@ -388,32 +386,12 @@ static const TypeInfo piix3_info = {
     .class_init    = piix3_class_init,
 };
 
-static void piix3_xen_realize(PCIDevice *dev, Error **errp)
-{
-    ERRP_GUARD();
-    PIIX3State *piix3 = PIIX3_PCI_DEVICE(dev);
-    PCIBus *pci_bus = pci_get_bus(dev);
-
-    piix3_realize(dev, errp);
-    if (*errp) {
-        return;
-    }
-
-    /*
-     * Xen supports additional interrupt routes from the PCI devices to
-     * the IOAPIC: the four pins of each PCI device on the bus are also
-     * connected to the IOAPIC directly.
-     * These additional routes can be discovered through ACPI.
-     */
-    pci_bus_irqs(pci_bus, xen_intx_set_irq, piix3, XEN_IOAPIC_NUM_PIRQS);
-}
-
 static void piix3_xen_class_init(ObjectClass *klass, void *data)
 {
     PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
 
     k->config_write = piix3_write_config_xen;
-    k->realize = piix3_xen_realize;
+    k->realize = piix3_realize;
 }
 
 static const TypeInfo piix3_xen_info = {
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 12:02:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 12:02:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508989.784108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPS-0004pS-B0; Sun, 12 Mar 2023 12:02:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508989.784108; Sun, 12 Mar 2023 12: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 1pbKPS-0004oH-4a; Sun, 12 Mar 2023 12:02:42 +0000
Received: by outflank-mailman (input) for mailman id 508989;
 Sun, 12 Mar 2023 12: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=y+T3=7E=gmail.com=shentey@srs-se1.protection.inumbo.net>)
 id 1pbKPQ-0003B1-22
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 12:02:40 +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 c88ca41b-c0cd-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 13:02:38 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id y4so8668860edo.2
 for <xen-devel@lists.xenproject.org>; Sun, 12 Mar 2023 05:02:38 -0700 (PDT)
Received: from Provence.localdomain
 (dynamic-078-054-022-093.78.54.pool.telefonica.de. [78.54.22.93])
 by smtp.gmail.com with ESMTPSA id
 xj9-20020a170906db0900b009231714b3d4sm1293745ejb.151.2023.03.12.05.02.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 12 Mar 2023 05:02:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c88ca41b-c0cd-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678622558;
        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=RBFe6isXemizys2ZScF1519YX/IBVf8Fe2lCN47Nhmw=;
        b=jEeVgDffRRyW968Swa7lqu7lroeT8xJYKJInXZP3t6A13twsb+EHBk2J/YoNSVQnPV
         gg0XRFr/CfWbHpZTNgw5YtoTRdtgeS4SAk4DskE8FHZbIJ+zzPwtuxyD7IyZBEjNPL36
         g1kKmeSdT//9n4PhSFkymflDWigo/cvVUB5TnAmGZJoyP5QN5fre57djW8JEyZjhQR14
         35nDcsxUL7/nYfKcgjpLPNatKtUyrz5hN3uPdVXbwuRSx6iZamt9RH0CTFTYzxZusmn2
         IJf1k1Z91KCDjwtqecPITM6uD2u6UXMlE4hk1+lnizOEOuR9KnzyOwy/gfliqCG8oQBn
         BreA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678622558;
        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=RBFe6isXemizys2ZScF1519YX/IBVf8Fe2lCN47Nhmw=;
        b=6a54FXXYF01A7N3KqoBRF7L56+qdWiBkX0GIOiKrOSx7QAgMkn+SrPW1z/Sr5wnLd4
         lNCdoPepWltTz4zUXcp40kcEf/XT/IN5CMKDbiaGVkgf2ikzQoq/UZsgijbMd/WnckZR
         o8IyPTRAALlHb0YZ3bP1cWz4Y52TXNjYZOrFBIxw7tFzuzPvjij0WkGKCRt22U8xXuSI
         hGOwONwUOVh2qPF6Cq5lM2ZR4ljhqeXCl0mOKj8RvXfMebL09VXws7NGkDxAdl+Gk31N
         rQ6lrlUyTf08f1KHgC8N31YDf03/5vp5nwLmVX7sbx7UajH9FPJnlGFfDJr9BjpHoA3H
         MrFA==
X-Gm-Message-State: AO0yUKWsw7ZoWOQT6EGuV/1+buWEPCzq6DASIAFPwBj3NHvV4sDiyx/L
	YXggM2kyPdHv8u9TqIFXvHs=
X-Google-Smtp-Source: AK7set8Wx7bgBz0LKNNdj30Zp9yG/FUuWGPNpNmPLTPHiXWpvjIuclL65Zb7jvEMxOZ/8BLXTnb6uA==
X-Received: by 2002:aa7:c1c4:0:b0:4af:62af:460a with SMTP id d4-20020aa7c1c4000000b004af62af460amr32491333edp.8.1678622557959;
        Sun, 12 Mar 2023 05:02:37 -0700 (PDT)
From: Bernhard Beschow <shentey@gmail.com>
To: qemu-devel@nongnu.org
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Chuck Zmudzinski <brchuckz@aol.com>,
	Bernhard Beschow <shentey@gmail.com>
Subject: [PATCH v3 4/6] hw/isa/piix3: Avoid Xen-specific variant of piix3_write_config()
Date: Sun, 12 Mar 2023 13:02:19 +0100
Message-Id: <20230312120221.99183-5-shentey@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230312120221.99183-1-shentey@gmail.com>
References: <20230312120221.99183-1-shentey@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Subscribe to pci_bus_fire_intx_routing_notifier() instead which allows for
having a common piix3_write_config() for the PIIX3 device models.

While at it, move the subscription into machine code to facilitate resolving
TYPE_PIIX3_XEN_DEVICE.

In a possible future followup, pci_bus_fire_intx_routing_notifier() could
be adjusted in such a way that subscribing to it doesn't require
knowledge of the device firing it.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/i386/pc_piix.c | 18 ++++++++++++++++++
 hw/isa/piix3.c    | 22 +---------------------
 2 files changed, 19 insertions(+), 21 deletions(-)

diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 99232701b1..1b70470dcd 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -88,6 +88,21 @@ static int pc_pci_slot_get_pirq(PCIDevice *pci_dev, int pci_intx)
     return (pci_intx + slot_addend) & 3;
 }
 
+static void piix_intx_routing_notifier_xen(PCIDevice *dev)
+{
+    int i;
+
+    /* Scan for updates to PCI link routes (0x60-0x63). */
+    for (i = 0; i < PIIX_NUM_PIRQS; i++) {
+        uint8_t v = dev->config_read(dev, PIIX_PIRQCA + i, 1);
+        if (v & 0x80) {
+            v = 0;
+        }
+        v &= 0xf;
+        xen_set_pci_link_route(i, v);
+    }
+}
+
 /* PC hardware initialisation */
 static void pc_init1(MachineState *machine,
                      const char *host_type, const char *pci_type)
@@ -239,6 +254,9 @@ static void pc_init1(MachineState *machine,
         pci_dev = pci_create_simple_multifunction(pci_bus, -1, true, type);
 
         if (xen_enabled()) {
+            pci_device_set_intx_routing_notifier(
+                        pci_dev, piix_intx_routing_notifier_xen);
+
             /*
              * Xen supports additional interrupt routes from the PCI devices to
              * the IOAPIC: the four pins of each PCI device on the bus are also
diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c
index 7a31caf2b6..737f5c6a5d 100644
--- a/hw/isa/piix3.c
+++ b/hw/isa/piix3.c
@@ -121,26 +121,6 @@ static void piix3_write_config(PCIDevice *dev,
     }
 }
 
-static void piix3_write_config_xen(PCIDevice *dev,
-                                   uint32_t address, uint32_t val, int len)
-{
-    int i;
-
-    /* Scan for updates to PCI link routes (0x60-0x63). */
-    for (i = 0; i < len; i++) {
-        uint8_t v = (val >> (8 * i)) & 0xff;
-        if (v & 0x80) {
-            v = 0;
-        }
-        v &= 0xf;
-        if (((address + i) >= PIIX_PIRQCA) && ((address + i) <= PIIX_PIRQCD)) {
-            xen_set_pci_link_route(address + i - PIIX_PIRQCA, v);
-        }
-    }
-
-    piix3_write_config(dev, address, val, len);
-}
-
 static void piix3_reset(DeviceState *dev)
 {
     PIIX3State *d = PIIX3_PCI_DEVICE(dev);
@@ -390,7 +370,7 @@ static void piix3_xen_class_init(ObjectClass *klass, void *data)
 {
     PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
 
-    k->config_write = piix3_write_config_xen;
+    k->config_write = piix3_write_config;
     k->realize = piix3_realize;
 }
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 12:02:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 12:02:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508990.784114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPS-0004vv-Tr; Sun, 12 Mar 2023 12:02:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508990.784114; Sun, 12 Mar 2023 12: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 1pbKPS-0004u2-KV; Sun, 12 Mar 2023 12:02:42 +0000
Received: by outflank-mailman (input) for mailman id 508990;
 Sun, 12 Mar 2023 12:02: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbKPQ-0002uS-80
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 12:02:40 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c8806fca-c0cd-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 13:02:39 +0100 (CET)
Received: from MW4PR03CA0273.namprd03.prod.outlook.com (2603:10b6:303:b5::8)
 by BN9PR12MB5210.namprd12.prod.outlook.com (2603:10b6:408:11b::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 12:02:34 +0000
Received: from CO1NAM11FT018.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b5:cafe::94) by MW4PR03CA0273.outlook.office365.com
 (2603:10b6:303:b5::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 12:02:34 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT018.mail.protection.outlook.com (10.13.175.16) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 12:02:34 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 07:02:27 -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: c8806fca-c0cd-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JPWLjHGRRZOOY3FtpCDJ7fduAUB5g0PjaehN+d1IJ3uFzU3T4y+TS2+IJlu9MBBPIdMBP0gGDdG0TE6SREPNH3xxASSIJTE0h2omb2UPi3R91vyNbw1Ngj16Cwyf339e+TZIgI+KYQRQFTNTOniG9roU9MxIlD3hc+coLCMs4oqyI9vuzAq+fvTdZq9mwOhEup7Bi8hOSuhANXIsw3OT60fNM1T6ubg7Comq7l3FmL/g1gTx9GalXgHWY/miOBsUPKN7TDsO0Xq0r6+qJex+ijFcuAMc+9BMDKQVRLmtr4AIPocY62mPcxFAoN0wWW/P/ClTEZHGAK824dDS8cAukA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Nl4vhpfQhIyJx89i8nuCn4wVTGTo+7VCGWnMBqDbzaw=;
 b=BRh70aDNm5LizLpiaS4q+pKZUoUoDovjr6+WV4iazEi162g6dYUwOSEAje9qIQNjy3etxIgajuylvD2CZnW6pv8AmjepcFKQIAoy+4oa4nUthCSDtaDFT9L7ppDbLoyYdJIHIqSBBWM8M/11JSc5S7qm/PnAK9FgFBSI5kMPiqSRuNU4+5bf+G3R54j6jViNHqRVB4+Z5uWQ5WThgP6roByQRjgGjqSUco+1pjSgE3NyCDa710Vs2CcSy3oEQ0NoXn5uuhn64as1jK1pHIJeCsWTjJknstZz6IxnxwjPERVwwThjRUcjOYGRBpqlCzGrBIUFwUVsr/MzilMdyY+1Sg==
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
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=Nl4vhpfQhIyJx89i8nuCn4wVTGTo+7VCGWnMBqDbzaw=;
 b=mwWQIZQR/vThiLaNcdsPgIWb4qg5zDl9h/9r/9SlIcHAGizqBBbr8HWiDrVX+bCJ5GQ0xlTD9QTq+XpmXVmWIhTSnTvcVl7ja/NNa7PO9YyAiFlctM9VdSnmHAIUtEtWy2gdwTg7fQgiHTc91Q5rZm6ECnxvSG42m9TthlDYk0Y=
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: Huang Rui <ray.huang@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>, <dri-devel@lists.freedesktop.org>,
	<amd-gfx@lists.freedesktop.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC PATCH 3/5] drm/amdgpu: set passthrough mode for xen pvh/hvm
Date: Sun, 12 Mar 2023 20:01:55 +0800
Message-ID: <20230312120157.452859-4-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312120157.452859-1-ray.huang@amd.com>
References: <20230312120157.452859-1-ray.huang@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: CO1NAM11FT018:EE_|BN9PR12MB5210:EE_
X-MS-Office365-Filtering-Correlation-Id: 75556c49-7a07-4c63-bee5-08db22f1aa4c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M5+RHvAZfnEXSiAdLOrFGP0DZQRl9ikprfJj522OvG6Wshuox9/eQR7nU0SxVpGxcFSM2txtx4QuevgcsH7CRkC0Noc8XnOMzYJ4shzVKH+EqNRSp8znE4sdmqIzOgPXsIBYfkhpSMnAPlcCIKBMSrAIhVcWwArtWsCgDIMIqmQmYRiv7WbLCSqWEliIgE9sRJo+7jtXwq9dduZpjXv1s2Rj9k1EHSuHZxICMgAGSiDiqd4FvrVFACrL3PqvLuwbznd4tGGwy1E6anQluEucWo1K9MnsRg5lJyvTnVOWSGBQcvg1CUA4S3Eo6A6oiNHc11A4CqRrG3lTG59ARtlt4M1Njmth/dQYIC0r6pJK+jFPugIzXDLUPvayBvTMcbssJ8hvpcR+HRrhp1F7bMjQ0J5f9AenZtzPl542IGkCmxL9qt1BeLrfF/mBuCjcOKFx6R+19wXAD0gWQhLYIFzaTgs+B7ooMgnOReNNpKMcUs8pc2ErY87+W90SJoFf05cecL7wL0mtW3uhgDIPQqD8ksZlcGyQz7Xgojn0KbO00+SvpoaNnOgZTcB63vc+mN1l74LH04dKpOUKGxJr/z6UgdEeq0Et9Hc5EBQ8osDzwgbxAEShwpmE3mwbljkLelg8NIo6m8Qe8V1Oa49Ok8DHmdsckYbRdWQ+IQb9SEf188XVBTVeIuCsIx1Oc+wgPoF8i0fTXoleJKcikDclP9Iv88mTslZALQAF0dBzdbRreC0=
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:(13230025)(4636009)(39860400002)(396003)(346002)(376002)(136003)(451199018)(46966006)(40470700004)(36840700001)(82740400003)(36860700001)(82310400005)(356005)(7696005)(2906002)(41300700001)(70206006)(70586007)(8676002)(40480700001)(4326008)(40460700003)(478600001)(316002)(110136005)(36756003)(54906003)(86362001)(81166007)(426003)(47076005)(5660300002)(26005)(1076003)(2616005)(336012)(186003)(16526019)(7416002)(6666004)(8936002)(83380400001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 12:02:34.0957
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 75556c49-7a07-4c63-bee5-08db22f1aa4c
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:
	CO1NAM11FT018.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5210

There is an second stage translation between the guest machine address
and host machine address in Xen PVH/HVM. The PCI bar address in the xen
guest kernel are not translated at the second stage on Xen PVH/HVM, so
it's not the real physical address that hardware would like to know, so
we need to set passthrough mode for Xen PVH/HVM as well.

Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
index f2e2cbaa7fde..7b4369eba19d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c
@@ -743,7 +743,8 @@ void amdgpu_detect_virtualization(struct amdgpu_device *adev)
 
 	if (!reg) {
 		/* passthrough mode exclus sriov mod */
-		if (is_virtual_machine() && !xen_initial_domain())
+		if (is_virtual_machine() &&
+		    !(xen_initial_domain() && xen_pv_domain()))
 			adev->virt.caps |= AMDGPU_PASSTHROUGH_MODE;
 	}
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 12:02:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 12:02:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508991.784122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPT-0005BE-O8; Sun, 12 Mar 2023 12:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508991.784122; Sun, 12 Mar 2023 12: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 1pbKPT-00057s-Fk; Sun, 12 Mar 2023 12:02:43 +0000
Received: by outflank-mailman (input) for mailman id 508991;
 Sun, 12 Mar 2023 12: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=y+T3=7E=gmail.com=shentey@srs-se1.protection.inumbo.net>)
 id 1pbKPR-0003B1-12
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 12:02:41 +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 c928b590-c0cd-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 13:02:39 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id er25so9992692edb.5
 for <xen-devel@lists.xenproject.org>; Sun, 12 Mar 2023 05:02:39 -0700 (PDT)
Received: from Provence.localdomain
 (dynamic-078-054-022-093.78.54.pool.telefonica.de. [78.54.22.93])
 by smtp.gmail.com with ESMTPSA id
 xj9-20020a170906db0900b009231714b3d4sm1293745ejb.151.2023.03.12.05.02.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 12 Mar 2023 05:02:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c928b590-c0cd-11ed-956e-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678622559;
        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=IeEvGg++lFeh8k7cLusk/ewqgWO+0IihMJjULI+D8m0=;
        b=qcpoFIQ+HklRYXLIh6GPxiw1QBLKylV/h/epwSeIgXeIYsgzhFld/1jrTl4ToJk8nj
         amsn4w4tAi/0k5NoN0R+S4Ad9xbPurvtz099V7SwD3T8zg8uJsgiM1cy6l3KYVnOh6l6
         MZEreKMsK56ei5NEALPkXT0jKZG0b/eMDNSVgll5fU0uBn1z1UwHwdS+44xV2ylDDV7v
         rSHlYUEMLc75x8ezNSNwYDzIJyRuYg04bHSU//6HGu8TiIdi3mQ1uPri0dwvWBEaoi70
         ccc2eKvSCLY8k+suJMkrbhaI7HDGtyt5eFrq62yDUW3cY0BNf+rMFfOivEsua/+1+ye0
         YdPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678622559;
        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=IeEvGg++lFeh8k7cLusk/ewqgWO+0IihMJjULI+D8m0=;
        b=wgDh9q2nRSKNwMYUvnV3BYoiox7NzCtrFGkF7m7uHq4wkP5p4gu8gVEvQpGF2jS6NN
         mbYDxotePycv0f5q11EDyE/78iC4wtLHuXshLeUZfJ7unk37HBXtm/juTqnsDPuj/zC+
         d1sTM8dCm/F4F5MpjnmzkzDBgWQVhm0SKRNwl0IdDhYQIr/Wc7Wi42hv93FeAo0VNavz
         +XD82QOqtOPv3JosVFEKAVd40d9AjdcqOGgcrz0ajjJlPEvlyIOW/rEsO2UeL0tfv2BM
         DdS7VGneGgA2vbOwH4cBGVVeMYsby5TMdwJNfVYNCIxcBIODTMPxFPE8RtVbloZmioDf
         4S0A==
X-Gm-Message-State: AO0yUKU6d0fChwLH5ayI38id7rILqTKeIXiKwXn2JQBllC3QxEEAj+ps
	3rKuEZA5mQknTBRsP1xNolQgTPHhIg0=
X-Google-Smtp-Source: AK7set98iz+H2osc7xMl+ULgZZLU6IRoBeyuhWbYGxcktAEzZ9GIUquNW3UPb5oD9vNj3FFNI/TtYw==
X-Received: by 2002:a17:907:608d:b0:88c:a43d:81bc with SMTP id ht13-20020a170907608d00b0088ca43d81bcmr37010919ejc.58.1678622559115;
        Sun, 12 Mar 2023 05:02:39 -0700 (PDT)
From: Bernhard Beschow <shentey@gmail.com>
To: qemu-devel@nongnu.org
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Chuck Zmudzinski <brchuckz@aol.com>,
	Bernhard Beschow <shentey@gmail.com>
Subject: [PATCH v3 5/6] hw/isa/piix3: Resolve redundant k->config_write assignments
Date: Sun, 12 Mar 2023 13:02:20 +0100
Message-Id: <20230312120221.99183-6-shentey@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230312120221.99183-1-shentey@gmail.com>
References: <20230312120221.99183-1-shentey@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The previous patch unified handling of piix3_write_config() accross the
PIIX3 device models which allows for assigning k->config_write once in the
base class.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
---
 hw/isa/piix3.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c
index 737f5c6a5d..418940139d 100644
--- a/hw/isa/piix3.c
+++ b/hw/isa/piix3.c
@@ -308,6 +308,7 @@ static void pci_piix3_class_init(ObjectClass *klass, void *data)
     PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
     AcpiDevAmlIfClass *adevc = ACPI_DEV_AML_IF_CLASS(klass);
 
+    k->config_write = piix3_write_config;
     dc->reset       = piix3_reset;
     dc->desc        = "ISA bridge";
     dc->vmsd        = &vmstate_piix3;
@@ -356,7 +357,6 @@ static void piix3_class_init(ObjectClass *klass, void *data)
 {
     PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
 
-    k->config_write = piix3_write_config;
     k->realize = piix3_realize;
 }
 
@@ -370,7 +370,6 @@ static void piix3_xen_class_init(ObjectClass *klass, void *data)
 {
     PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
 
-    k->config_write = piix3_write_config;
     k->realize = piix3_realize;
 }
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 12:02:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 12:02:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508992.784129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPU-0005KA-PY; Sun, 12 Mar 2023 12:02:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508992.784129; Sun, 12 Mar 2023 12: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 1pbKPU-0005I0-7e; Sun, 12 Mar 2023 12:02:44 +0000
Received: by outflank-mailman (input) for mailman id 508992;
 Sun, 12 Mar 2023 12:02: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=y+T3=7E=gmail.com=shentey@srs-se1.protection.inumbo.net>)
 id 1pbKPR-0002uS-Ha
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 12:02:41 +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 c9ef5d9d-c0cd-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 13:02:41 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id r15so10937806edq.11
 for <xen-devel@lists.xenproject.org>; Sun, 12 Mar 2023 05:02:41 -0700 (PDT)
Received: from Provence.localdomain
 (dynamic-078-054-022-093.78.54.pool.telefonica.de. [78.54.22.93])
 by smtp.gmail.com with ESMTPSA id
 xj9-20020a170906db0900b009231714b3d4sm1293745ejb.151.2023.03.12.05.02.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 12 Mar 2023 05:02: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: c9ef5d9d-c0cd-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678622560;
        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=rI8ZsjBtffxcL2MjNujcgsY63aeYdjHaEBqzmv9u0lo=;
        b=Bb3Kpzk2SxtKUqOKzwTifF1IA803ECM2pISHjBQ2M7dCXP/bjxvszlgJwciRFmpLlf
         wpbLHQ5FK99teDs8LawQjNEa6zlc5rgQg64kL5P0zKn+W+cxBBVTblF/mUJ5ZRb4Qu/j
         n9nPXQ/92Jh9tZN0O9DytfiFLFkJBo3sCHQDMNTgrfnYDShpasisGLrZClJe4jQSCSVG
         1tokue7jyNcDFAhZMyA2O1cOi1h+dJR04uK43hD4hd25u2k4EIbibib2sj0BmmJOFaDn
         F+DM1dCZNoBvTPn9bY4nzRMaVkHh/tdyHv+MJkjSb4Eq+AczXyOLmt/MUH77b1i5Gj79
         aFGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678622560;
        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=rI8ZsjBtffxcL2MjNujcgsY63aeYdjHaEBqzmv9u0lo=;
        b=zJBvmkuvS4ryBBrL6OJoigqpap3AqKhjWMD9fBzEXDxy16dkqqHkOauUwzvBZ7E8nI
         1KHsBYLh6bGqZk1p6KuFjEo/KxQKov9KLlIAp86Gig6uk6XZtAjJkjnB25dSxTTC4kJJ
         spUpRWy1j9bTMsdIb29U2gSv1ouFlA3iA3WMOlWvCIVyVh/M6fmFIfPx77RBfwOsuX2b
         iyDLVUqvQzOivji7TDdZhuSec+Yv6I8Y3dE2jWvp3nVSiPEEV1oZB4A3WY4kpAcn2PUH
         xiczF83hwZRzp6DE5nBjxpflViWAOEk7tMzAIDC+Do299TokPQoTk8f1xTJQ/DBDuXlr
         QUsQ==
X-Gm-Message-State: AO0yUKUmRA11doDR6m8jHyUC/LPIaH0mLAhEdBbLRic+ysOcEK6eGjK2
	N3pATmyqCf3PnPFzGlRXSxU=
X-Google-Smtp-Source: AK7set/AVzddu1+FdWEl/xC+HlzhM5PISCHhkaw6fcOuZgxBkpinOZysAximKBKKHBg8Pp5SPwa/xA==
X-Received: by 2002:a17:906:5a6e:b0:926:e917:133c with SMTP id my46-20020a1709065a6e00b00926e917133cmr1303514ejc.47.1678622560375;
        Sun, 12 Mar 2023 05:02:40 -0700 (PDT)
From: Bernhard Beschow <shentey@gmail.com>
To: qemu-devel@nongnu.org
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Anthony Perard <anthony.perard@citrix.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Chuck Zmudzinski <brchuckz@aol.com>,
	Bernhard Beschow <shentey@gmail.com>
Subject: [PATCH v3 6/6] hw/isa/piix3: Resolve redundant TYPE_PIIX3_XEN_DEVICE
Date: Sun, 12 Mar 2023 13:02:21 +0100
Message-Id: <20230312120221.99183-7-shentey@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230312120221.99183-1-shentey@gmail.com>
References: <20230312120221.99183-1-shentey@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

During the last patches, TYPE_PIIX3_XEN_DEVICE turned into a clone of
TYPE_PIIX3_DEVICE. Remove this redundancy.

Signed-off-by: Bernhard Beschow <shentey@gmail.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
---
 include/hw/southbridge/piix.h |  1 -
 hw/i386/pc_piix.c             |  5 ++---
 hw/isa/piix3.c                | 15 ---------------
 3 files changed, 2 insertions(+), 19 deletions(-)

diff --git a/include/hw/southbridge/piix.h b/include/hw/southbridge/piix.h
index 0bf48e936d..51be04e984 100644
--- a/include/hw/southbridge/piix.h
+++ b/include/hw/southbridge/piix.h
@@ -64,7 +64,6 @@ DECLARE_INSTANCE_CHECKER(PIIX3State, PIIX3_PCI_DEVICE,
                          TYPE_PIIX3_PCI_DEVICE)
 
 #define TYPE_PIIX3_DEVICE "PIIX3"
-#define TYPE_PIIX3_XEN_DEVICE "PIIX3-xen"
 #define TYPE_PIIX4_PCI_DEVICE "piix4-isa"
 
 #endif
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 1b70470dcd..7ca0d6d14e 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -237,8 +237,6 @@ static void pc_init1(MachineState *machine,
     if (pcmc->pci_enabled) {
         PIIX3State *piix3;
         PCIDevice *pci_dev;
-        const char *type = xen_enabled() ? TYPE_PIIX3_XEN_DEVICE
-                                         : TYPE_PIIX3_DEVICE;
 
         pci_bus = i440fx_init(pci_type,
                               i440fx_host,
@@ -251,7 +249,8 @@ static void pc_init1(MachineState *machine,
                                        : pc_pci_slot_get_pirq);
         pcms->bus = pci_bus;
 
-        pci_dev = pci_create_simple_multifunction(pci_bus, -1, true, type);
+        pci_dev = pci_create_simple_multifunction(pci_bus, -1, true,
+                                                  TYPE_PIIX3_DEVICE);
 
         if (xen_enabled()) {
             pci_device_set_intx_routing_notifier(
diff --git a/hw/isa/piix3.c b/hw/isa/piix3.c
index 418940139d..0d6992af67 100644
--- a/hw/isa/piix3.c
+++ b/hw/isa/piix3.c
@@ -29,7 +29,6 @@
 #include "hw/southbridge/piix.h"
 #include "hw/irq.h"
 #include "hw/isa/isa.h"
-#include "hw/xen/xen.h"
 #include "sysemu/runstate.h"
 #include "migration/vmstate.h"
 #include "hw/acpi/acpi_aml_interface.h"
@@ -366,24 +365,10 @@ static const TypeInfo piix3_info = {
     .class_init    = piix3_class_init,
 };
 
-static void piix3_xen_class_init(ObjectClass *klass, void *data)
-{
-    PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
-
-    k->realize = piix3_realize;
-}
-
-static const TypeInfo piix3_xen_info = {
-    .name          = TYPE_PIIX3_XEN_DEVICE,
-    .parent        = TYPE_PIIX3_PCI_DEVICE,
-    .class_init    = piix3_xen_class_init,
-};
-
 static void piix3_register_types(void)
 {
     type_register_static(&piix3_pci_type_info);
     type_register_static(&piix3_info);
-    type_register_static(&piix3_xen_info);
 }
 
 type_init(piix3_register_types)
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 12:02:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 12:02:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.508994.784134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPV-0005Rv-Ha; Sun, 12 Mar 2023 12:02:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 508994.784134; Sun, 12 Mar 2023 12:02:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKPU-0005OA-QM; Sun, 12 Mar 2023 12:02:44 +0000
Received: by outflank-mailman (input) for mailman id 508994;
 Sun, 12 Mar 2023 12:02: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbKPT-0002uS-De
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 12:02:43 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20626.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ca3ee98a-c0cd-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 13:02:42 +0100 (CET)
Received: from MW4PR03CA0299.namprd03.prod.outlook.com (2603:10b6:303:b5::34)
 by SJ1PR12MB6242.namprd12.prod.outlook.com (2603:10b6:a03:457::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Sun, 12 Mar
 2023 12:02:38 +0000
Received: from CO1NAM11FT018.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b5:cafe::1) by MW4PR03CA0299.outlook.office365.com
 (2603:10b6:303:b5::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24 via Frontend
 Transport; Sun, 12 Mar 2023 12:02:37 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT018.mail.protection.outlook.com (10.13.175.16) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 12:02:37 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 07:02:31 -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: ca3ee98a-c0cd-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JOLw+zJbV2FVEn/CRXPcoiqhK+8aszOPmYLLtrtsCkCO9scCqGheMmntQB8iYKWgJPERv/bMFbL8BEz2zzVQvm0kg1qE0RWoLkj9a7OfvdET/HwXRlWlG/Po0exOkcZFk4/dhCFoK39Ks/cUmPHDJAy4B8KERgcp9qgqsdeKaUB//kL4FpWNZSJLOi1m6OP0qsO356ICYXfAdGEMTQa7FZ+u2bXPs6hGRtdT11uOS7aPcsOR3fhbiWIrP9kS9XQWruAlmVkQkYfIvNhRSHgNcp3Vt3EJzShFVL2X+EljH6FoVTB/S9X1O3O0KaNeyVsr6xqGyenC7YJDI61k20Lraw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o1LTPviXnOuA67LUwfQ8VmQyJX+Ek2+mzQI53Xd33fQ=;
 b=lo+BAP3t6ahfhlMHnHbPS9lKFeeqr//WUdxkn9KVsFaUes7VKHGuy9GfRYJYyvuknnP8KPIQSFaxQszsjd0DScCnn9ojh9DNP52GfMpkE8fdleKelJvP6W9gp7QbYMhKVmt/H8NGFf1mSgQqY43CCA/wLA8Z8WAw4ibcaS+zPGAGN4ilrv86yU9CEGin7jsrr7XuMwRCiixs02gy8q8D4WDr5R42/XQMAMYCARf/vn9PlYFQreBeD2ww8qP7KT6XSBOkrSw70V8nTtGmQYNLEvIk/V9Z2iZSBAdtC/5hiPXJnGp44bv52mWf46Y3lWR9FsdOYjBvEuqrci/fOYqpmg==
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
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=o1LTPviXnOuA67LUwfQ8VmQyJX+Ek2+mzQI53Xd33fQ=;
 b=apLkSwvlLv4S0d2LgwwVWLZwflU5fqa0u35tKzPBEJE9QAPndFgc8fFr0pPcvQWv1LBfkYf4j7O8fZTB8/RXs51/HnkxsoVz5Wbuq359gwsj1Ghfd1wHIwXNxjnpEahII5hgl4pzfZBVyMVHi7BgkhubuzXzwotBlaxGCZGF890=
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: Huang Rui <ray.huang@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>, <dri-devel@lists.freedesktop.org>,
	<amd-gfx@lists.freedesktop.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC PATCH 4/5] x86/xen: acpi registers gsi for xen pvh
Date: Sun, 12 Mar 2023 20:01:56 +0800
Message-ID: <20230312120157.452859-5-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312120157.452859-1-ray.huang@amd.com>
References: <20230312120157.452859-1-ray.huang@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: CO1NAM11FT018:EE_|SJ1PR12MB6242:EE_
X-MS-Office365-Filtering-Correlation-Id: 66cf7cd0-10df-4759-3ca8-08db22f1ac78
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	f1z1c9tVrHYdtAG0verCKEhF7xH6Tfjics7QhI5chbFrWcqJ83K8UdiC841x/UQ14cPWiJTLAPAyFWTn/jjOelpzR/E+7hxBkNQzNHn/d2EQj7sB3q38Z6fJ/UIarbCzPBdDbxf2a8iktpmuXCuraduM/84Xglv6rzDyrPJ4iHfA87QC7yf85SfYYg/0sGjIRYpTj35/txoEyl1Z0L5ZZ/dfK7PD13kzdrfxEGjMjDOPCd1xR4rJ2M5HbCrKyHw4GxcSvq7jAjwdZa/PP+pQJ2HgdHK0wsF/eegLNoM461tpNviG8an/R9scPzbM9wiWwQp9Ir3bKe994kriaotln1bV9zB/ysPFP0fR9vZXex07QeW+3SIEQlnVrSSglh+ufds8jFUMTyIqB/v+RVVaRmTibXu7XZDmYDUN4IwTLUobtaDzPHyUFPN/P0ud3t+aQtyKN8ecYQbvLvffhBegeXFs8J5G2Cu/zpbK5t2BcFDN/++sSiEg3T354ncRO6G8iE4n2zk9GjDSd57xUSFMpAvM+1j0H7z6Bh+fEbgew69rS+pOS//6PimyEJq80QxsZgY7IQYMxMt68gplW7JdUYWqfIr6BI24IMnn65BWcm/MXp/sLXWeUDl+mJ9KSs2k+RVOW+DCTFcemQMCwEGYDAsUeFr7MdEZL/DQCOC+2vI9CCELc9X5j+Ms6b6ETF5vheyMCuWXkHL3NbD8PRGloSCl5ctgBVhXvamfz9IbpB8=
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:(13230025)(4636009)(376002)(136003)(39860400002)(346002)(396003)(451199018)(36840700001)(40470700004)(46966006)(40460700003)(110136005)(54906003)(41300700001)(478600001)(8936002)(8676002)(70206006)(4326008)(70586007)(82310400005)(86362001)(36756003)(356005)(40480700001)(36860700001)(81166007)(82740400003)(1076003)(7696005)(186003)(16526019)(6666004)(26005)(5660300002)(7416002)(2906002)(316002)(83380400001)(426003)(336012)(47076005)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 12:02:37.7362
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 66cf7cd0-10df-4759-3ca8-08db22f1ac78
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:
	CO1NAM11FT018.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6242

From: Chen Jiqian <Jiqian.Chen@amd.com>

Add acpi_register_gsi_xen_pvh() to register gsi for PVH mode.
In addition to call acpi_register_gsi_ioapic(), it also setup
a map between gsi and vector in hypervisor side. So that,
when dgpu create an interrupt, hypervisor can correctly find
which guest domain to process interrupt by vector.

Signed-off-by: Chen Jiqian <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               | 39 ++++++++++++++++++++++++++++++++
 drivers/xen/events/events_base.c |  2 ++
 5 files changed, 54 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index 3415321c8240..f3bc5de1f1d4 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -179,6 +179,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
@@ -193,6 +195,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 907cc98b1938..25ec48dd897e 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -718,7 +718,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 b94f727251b6..43b8b6d7147b 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -114,6 +114,38 @@ 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;
+	int rc;
+	struct physdev_map_pirq map_irq;
+	struct physdev_setup_gsi setup_gsi;
+
+	irq = acpi_register_gsi_ioapic(dev, gsi, trigger, polarity);
+
+	map_irq.domid = DOMID_SELF;
+	map_irq.type = MAP_PIRQ_TYPE_GSI;
+	map_irq.index = gsi;
+	map_irq.pirq = gsi;
+
+	rc = HYPERVISOR_physdev_op(PHYSDEVOP_map_pirq, &map_irq);
+	if (rc)
+		printk(KERN_ERR "xen map GSI: %u failed %d\n", gsi, rc);
+
+	setup_gsi.gsi = gsi;
+	setup_gsi.triggering = (trigger == ACPI_EDGE_SENSITIVE ? 0 : 1);
+	setup_gsi.polarity = (polarity == ACPI_ACTIVE_HIGH ? 0 : 1);
+
+	rc = HYPERVISOR_physdev_op(PHYSDEVOP_setup_gsi, &setup_gsi);
+	if (rc == -EEXIST)
+		printk(KERN_INFO "Already setup the GSI :%u\n", gsi);
+	else if (rc)
+		printk(KERN_ERR "Failed to setup GSI :%u, err_code:%d\n", gsi, rc);
+
+	return irq;
+}
+
 #ifdef CONFIG_XEN_PV_DOM0
 static int xen_register_gsi(u32 gsi, int triggering, int polarity)
 {
@@ -554,6 +586,13 @@ int __init pci_xen_hvm_init(void)
 	return 0;
 }
 
+int __init pci_xen_pvh_init(void)
+{
+	__acpi_register_gsi = acpi_register_gsi_xen_pvh;
+	__acpi_unregister_gsi = NULL;
+	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 c443f04aaad7..48dff0ed9acd 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -2317,6 +2317,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();
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 12:09:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 12:09:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509020.784158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbKVm-0001QZ-3d; Sun, 12 Mar 2023 12:09:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509020.784158; Sun, 12 Mar 2023 12: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 1pbKVm-0001QS-11; Sun, 12 Mar 2023 12:09:14 +0000
Received: by outflank-mailman (input) for mailman id 509020;
 Sun, 12 Mar 2023 12: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=TSl9=7E=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbKPY-0003B1-6d
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 12:02:48 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7e88::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb8a6b4f-c0cd-11ed-956e-85ef70e17bfa;
 Sun, 12 Mar 2023 13:02:44 +0100 (CET)
Received: from MW3PR05CA0012.namprd05.prod.outlook.com (2603:10b6:303:2b::17)
 by CY8PR12MB7194.namprd12.prod.outlook.com (2603:10b6:930:5a::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.23; Sun, 12 Mar
 2023 12:02:41 +0000
Received: from CO1NAM11FT049.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:2b:cafe::c3) by MW3PR05CA0012.outlook.office365.com
 (2603:10b6:303:2b::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.25 via Frontend
 Transport; Sun, 12 Mar 2023 12:02:41 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT049.mail.protection.outlook.com (10.13.175.50) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Sun, 12 Mar 2023 12:02:40 +0000
Received: from hr-amd.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.2375.34; Sun, 12 Mar
 2023 07:02:35 -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: cb8a6b4f-c0cd-11ed-956e-85ef70e17bfa
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cIEhsH3FHzzJszUchQXJL8zIXdNQDpnDrw5YR1iWhf3JqSb+npnGL8KY/s7Tz9moHKDljXjF6FhlkjS4tcJN4LjdZcxNMWqeK4szu3dRwx6GY/EkhfK8yHP6ai1MFrplsxRpgrz+VqtbsMv/ZZh9PXM8SMdcp5MkiPIj//Yqt8yULPljJAo4kCveWET2gOT8DEf94mkm+HQX7PZjF5W0XBJ/5W/4qu8Hvh+B6EqQhunOOy92o1stDx3JUnWOESXCaILxy2LcYJ/gUbsz3Zg6laBFmM43pWvBqFg+XLQUejBjKocp+WARpp8MO5IeyZB2CWYXOH7Nrpbl2Glmg1YzPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MS43mNiSDBnUD+5Kh3C9BXVuF+iauADexFTUQZ11670=;
 b=mOEp3D8NQjGlqFH+HmOeBi++mMyqWq9VaOyVADASll39IzSzPbWRFRwF3Xka/uKxW7gcku/cil5NZvTO2Mgw4pC4ETnAwtSiaDnVWqY9tjmKPHw+pWp5arRAQM9Qlp0v2IH1S6wg+CdVIAJaKEgZfaY59YK7OI0SYRpy318GZGp+ZuCWi7eZUs0fMbwxF4gHvhm51zdGPLXpyDBI7hLfzYZ2GCDwxzdd+oqEvdpDcszKvr9Kq7BxFAK0oWMuBIKbVIkvHp3Qr25QI2sjFvB2svbqg6j0G/7yqKMFlwg4l35ZYczhNWFoerYcoOVbT2SnmXwukAkpERTfDRQWGmuh/w==
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
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=MS43mNiSDBnUD+5Kh3C9BXVuF+iauADexFTUQZ11670=;
 b=Hs2pDP9E3kWxAQCCJAcQP1FV+/2g4JLujIAyL33KTb+XQ9szn3dQ3H3lWB9WBPoFzM247lyxuPxe+Fuy/SONBEmJmrw7r5cXsnti2t/z1ReENZRTwH/ynVeR4DozNZ4fBGtaLsIw4754DKiXzI4DTcHp+dkmrZ6Mb+UEsBcuQy0=
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: Huang Rui <ray.huang@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Boris Ostrovsky
	<boris.ostrovsky@oracle.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>, <dri-devel@lists.freedesktop.org>,
	<amd-gfx@lists.freedesktop.org>
CC: Alex Deucher <alexander.deucher@amd.com>,
	=?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>, "Stewart
 Hildebrand" <Stewart.Hildebrand@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>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC PATCH 5/5] xen/privcmd: add IOCTL_PRIVCMD_GSI_FROM_IRQ
Date: Sun, 12 Mar 2023 20:01:57 +0800
Message-ID: <20230312120157.452859-6-ray.huang@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230312120157.452859-1-ray.huang@amd.com>
References: <20230312120157.452859-1-ray.huang@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: CO1NAM11FT049:EE_|CY8PR12MB7194:EE_
X-MS-Office365-Filtering-Correlation-Id: 16c46202-8a5e-45eb-c067-08db22f1ae6e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KcLg3hFsSzECn1tAEfGEEV/+r3fQgsh4/cphmQrp/dlmbIp1CaY3Y+XaB4ohSHvzCNUf1EGPLMzvQLbLbgoDVTIiMEIL2XkIfkAcCaInm2XuSatPgwgqKn1Kt3oTqNMtvDPffM+mpV0NKRD/TKPbWXqN+Fjx8nadhVkDQOeSgnwtpw/QxTqlTZmBkjQCnPij5RBH3pubLdTcQS4WwoViXIg0aYamzOvuFpMmzS+FVJwE8hwL/LO5Wh8By7URW6c5C9ohN+uzCLOiBY5KTm029pGblscwNF9HUqFmRLX/Sx8/CeIr/KJ4fqG8C1EWCnqVhwKUg7kGXRGp8oBxjuda3sPkPIU1QNrYm00Nzb0rBgVcFpjgwTemfE3TPdI68H/Qj6QqYQdKpNp7VZzl9i08PS9Rr9xLD28qZEjcn4v9WqpgZSkO5B5tFfKvYfN60j1yj6tEk1osXsKHQrs0UoX17rwCY+/fRuy442utGwGMYj4VfXZu2vTdHBWqd6uBcEadebv9ttP/OgaPHiczDZQ+rKsDjIHxJ0Jf8fwHcsQJ5/zZI+15xoE95lwLkcb+yCHno3qR/pFnn3YDkqNIisVTSYTl21BQ5eWQPk1jHVGzTrLbtRYU2xlN6ZtHG9TWBQfkD5SmR3kco+/zge6kBRtuMKFKtnX52NWfl8lgZiOSdxWztd+VCfmQRq/b4E/NyKXBWyZx7odLThOPV2zKFc59HyqbbF1gddaEXOkVSX1OK48=
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:(13230025)(4636009)(136003)(396003)(346002)(376002)(39860400002)(451199018)(40470700004)(46966006)(36840700001)(40460700003)(4326008)(5660300002)(8936002)(7416002)(41300700001)(2906002)(86362001)(36860700001)(82740400003)(81166007)(356005)(36756003)(7696005)(70586007)(70206006)(6666004)(8676002)(40480700001)(82310400005)(426003)(47076005)(110136005)(478600001)(54906003)(316002)(186003)(26005)(1076003)(16526019)(336012)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2023 12:02:40.9513
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 16c46202-8a5e-45eb-c067-08db22f1ae6e
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:
	CO1NAM11FT049.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7194

From: Chen Jiqian <Jiqian.Chen@amd.com>

When hypervisor get an interrupt, it needs interrupt's
gsi number instead of irq number. Gsi number is unique
in xen, but irq number is only unique in one domain.
So, we need to record the relationship between irq and
gsi when dom0 initialized pci devices, and provide syscall
IOCTL_PRIVCMD_GSI_FROM_IRQ to translate irq to gsi. So
that, we can map pirq successfully in hypervisor side.

Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 arch/x86/pci/xen.c               |  4 ++++
 drivers/xen/events/events_base.c | 37 ++++++++++++++++++++++++++++++++
 drivers/xen/privcmd.c            | 20 +++++++++++++++++
 include/uapi/xen/privcmd.h       |  7 ++++++
 include/xen/events.h             |  5 +++++
 5 files changed, 73 insertions(+)

diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index 43b8b6d7147b..3237961c7640 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -143,6 +143,10 @@ static int acpi_register_gsi_xen_pvh(struct device *dev, u32 gsi,
 	else if (rc)
 		printk(KERN_ERR "Failed to setup GSI :%u, err_code:%d\n", gsi, rc);
 
+	rc = xen_pvh_add_gsi_irq_map(gsi, irq);
+	if (rc == -EEXIST)
+		printk(KERN_INFO "Already map the GSI :%u and IRQ: %d\n", gsi, irq);
+
 	return irq;
 }
 
diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index 48dff0ed9acd..39a57fed2de3 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -967,6 +967,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);
diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index e88e8f6f0a33..830e84451731 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -37,6 +37,7 @@
 #include <xen/page.h>
 #include <xen/xen-ops.h>
 #include <xen/balloon.h>
+#include <xen/events.h>
 
 #include "privcmd.h"
 
@@ -833,6 +834,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;
+}
+
 static long privcmd_ioctl(struct file *file,
 			  unsigned int cmd, unsigned long data)
 {
@@ -868,6 +884,10 @@ static long privcmd_ioctl(struct file *file,
 		ret = privcmd_ioctl_mmap_resource(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 d2029556083e..55fe748bbfd7 100644
--- a/include/uapi/xen/privcmd.h
+++ b/include/uapi/xen/privcmd.h
@@ -98,6 +98,11 @@ struct privcmd_mmap_resource {
 	__u64 addr;
 };
 
+struct privcmd_gsi_from_irq {
+	__u32 irq;
+	__u32 gsi;
+};
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -125,5 +130,7 @@ struct privcmd_mmap_resource {
 	_IOC(_IOC_NONE, 'P', 6, sizeof(domid_t))
 #define IOCTL_PRIVCMD_MMAP_RESOURCE				\
 	_IOC(_IOC_NONE, 'P', 7, sizeof(struct privcmd_mmap_resource))
+#define IOCTL_PRIVCMD_GSI_FROM_IRQ				\
+	_IOC(_IOC_NONE, 'P', 8, sizeof(struct privcmd_gsi_from_irq))
 
 #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
diff --git a/include/xen/events.h b/include/xen/events.h
index 344081e71584..8377d8dfaa71 100644
--- a/include/xen/events.h
+++ b/include/xen/events.h
@@ -133,6 +133,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.25.1



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 15:59:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 15:59:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509043.784184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbO6f-0000vs-M6; Sun, 12 Mar 2023 15:59:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509043.784184; Sun, 12 Mar 2023 15: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 1pbO6f-0000vl-JO; Sun, 12 Mar 2023 15:59:33 +0000
Received: by outflank-mailman (input) for mailman id 509043;
 Sun, 12 Mar 2023 15:59: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 1pbO6d-0000vb-V6; Sun, 12 Mar 2023 15:59:31 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pbO6d-0006V4-Rf; Sun, 12 Mar 2023 15:59:31 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pbO6d-0005OH-G2; Sun, 12 Mar 2023 15:59:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbO6d-0007Q9-FW; Sun, 12 Mar 2023 15:59:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JapNe/dvK89PTaMTG7VpD8/2fcEJMBtXtCnm3bD3VPk=; b=Lvy/hZvkmK2Hxsjv5NDFXYEo4+
	+woyRkbTkaX5ipQ9GGNPFwT17PrSGtApK5aa2fMTlL/raEEm94Zc6QwZ87BVLO53J52bWncSXQyUi
	5eKeGSNcppI89rH0MOxMAd+6A9tlW6354G/sUFnxRvSGNOhHmCHyKvwEidF5rcGjD+Fc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179570-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179570: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop: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-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=81ff855485a366a391dc3aed3942715e676ed132
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 12 Mar 2023 15:59:31 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 26 guest-migrate/src_host/dst_host fail REGR. vs. 178042
 test-amd64-amd64-libvirt     17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 17 guest-saverestore.2 fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 18 guest-start/debianhvm.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                81ff855485a366a391dc3aed3942715e676ed132
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   18 days
Failing since        178093  2023-02-22 05:02:47 Z   18 days   37 attempts
Testing same since   179570  2023-03-12 02:03:23 Z    0 days    1 attempts

------------------------------------------------------------
2107 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Mar 12 17:51:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 17:51:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509059.784200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbPqj-0005hf-SN; Sun, 12 Mar 2023 17:51:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509059.784200; Sun, 12 Mar 2023 17: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 1pbPqj-0005hY-PT; Sun, 12 Mar 2023 17:51:13 +0000
Received: by outflank-mailman (input) for mailman id 509059;
 Sun, 12 Mar 2023 17:51: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=YHP6=7E=collabora.com=dmitry.osipenko@srs-se1.protection.inumbo.net>)
 id 1pbPqi-0005hS-GZ
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 17:51:12 +0000
Received: from madras.collabora.co.uk (madras.collabora.co.uk
 [2a00:1098:0:82:1000:25:2eeb:e5ab])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 778b78c1-c0fe-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 18:51:09 +0100 (CET)
Received: from [192.168.2.203] (109-252-120-116.nat.spd-mgts.ru
 [109.252.120.116])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits))
 (No client certificate requested)
 (Authenticated sender: dmitry.osipenko)
 by madras.collabora.co.uk (Postfix) with ESMTPSA id 1C2746602E85;
 Sun, 12 Mar 2023 17:51:06 +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: 778b78c1-c0fe-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;
	s=mail; t=1678643467;
	bh=KmjCtilIVAnzFDIKkb0LhxYG2/8Y+tgikUJgYTvlXL0=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=Dr0o+IBtGS07EV9EJYpAoMYT9hxXlWHM6Ydt2PSMk9NGfv0b5QlurpjgaoYcuIrLs
	 pbLMXs8hQhwCa6Xmz7Lm6yg2XA1WVMW5fnztnDJ0j4ta1GQezPd0pmTDwT73HiCQsz
	 KqnuSlmZcxta79+ciVSgRV9ocBoeCl8KL3GBOgUXOPw6MSHXXkEA6OB2XInhorMDN1
	 284Pyc4q3RzXiFv3h0/JSnZI1v4r3p9XNWEFNoqVb3c8JwklWzCM/LRT7fjr74BTwl
	 fVhQsk2aSuTc2Hg9wPNjKW5DVACpeh7snyBiYlr+oRz7GnXUb107Oly1CiQTciV0gJ
	 9KEJqIXopmlQA==
Message-ID: <68195782-0309-2f81-7f1f-84a7fe7bb05c@collabora.com>
Date: Sun, 12 Mar 2023 20:51:03 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC QEMU PATCH 08/18] virtio-gpu: Initialize Venus
To: Huang Rui <ray.huang@amd.com>, Gerd Hoffmann <kraxel@redhat.com>,
 "Michael S . Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Robert Beckett <bob.beckett@collabora.com>, qemu-devel@nongnu.org,
 xen-devel@lists.xenproject.org
Cc: Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>
References: <20230312092244.451465-1-ray.huang@amd.com>
 <20230312092244.451465-9-ray.huang@amd.com>
Content-Language: en-US
From: Dmitry Osipenko <dmitry.osipenko@collabora.com>
In-Reply-To: <20230312092244.451465-9-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 3/12/23 12:22, Huang Rui wrote:
> From: Antonio Caggiano <antonio.caggiano@collabora.com>
> 
> Request Venus when initializing VirGL.
> 
> Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
> ---
>  hw/display/virtio-gpu-virgl.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
> index fe03dc916f..f5ce206b93 100644
> --- a/hw/display/virtio-gpu-virgl.c
> +++ b/hw/display/virtio-gpu-virgl.c
> @@ -803,7 +803,11 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
>  {
>      int ret;
>  
> +#ifdef VIRGL_RENDERER_VENUS
> +    ret = virgl_renderer_init(g, VIRGL_RENDERER_VENUS, &virtio_gpu_3d_cbs);
> +#else
>      ret = virgl_renderer_init(g, 0, &virtio_gpu_3d_cbs);
> +#endif

Note that Venus now requires VIRGL_RENDERER_RENDER_SERVER flag to be
set. Please test the patches with the latest virglrenderer and etc.

The #ifdef also doesn't allow adding new flags, it should look like:

#ifdef VIRGL_RENDERER_VENUS
    flags |= VIRGL_RENDERER_RENDER_SERVER;
#endif

    ret = virgl_renderer_init(g, flags, &virtio_gpu_3d_cbs);

-- 
Best regards,
Dmitry



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 19:07:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 19:07:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509062.784210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbR2K-00058H-Bx; Sun, 12 Mar 2023 19:07:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509062.784210; Sun, 12 Mar 2023 19: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 1pbR2K-00058A-9M; Sun, 12 Mar 2023 19:07:16 +0000
Received: by outflank-mailman (input) for mailman id 509062;
 Sun, 12 Mar 2023 19:07:14 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pbR2I-000580-Oh; Sun, 12 Mar 2023 19:07:14 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pbR2I-00031X-L6; Sun, 12 Mar 2023 19:07:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pbR2I-0003CN-2R; Sun, 12 Mar 2023 19:07:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbR2I-0003yE-1y; Sun, 12 Mar 2023 19:07: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=8uvDHbASYF1n9n3kQY7YSRB/2KC4qNvhFi2Z0U6TwQw=; b=0y0jsoplPaEeLPuNcn9a2QAqZy
	AQHswjoCzFAhdn3wC6u6Dimio0A1na++JB3KGMBUdvsnVGFXmBwkGJvapKnk4b4kHkiGYQ8Tg1+Gy
	k0YTgX+AMvwGLynl35TOM2T5vLa/tj0z1rEENxeZvPaRLdD+n3MZ/KOS40TCxIU5Tnoc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179571-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179571: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-xsm:xen-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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-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-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-thunderx:migrate-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-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=7a59096258fb9e9679538da8851fe00656841980
X-Osstest-Versions-That:
    xen=7a59096258fb9e9679538da8851fe00656841980
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 12 Mar 2023 19:07:14 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install          fail pass in 179546

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat    fail  like 179522
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat    fail  like 179529
 test-amd64-i386-xl-xsm        7 xen-install                  fail  like 179546
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179546
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179546
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179546
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179546
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179546
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179546
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179546
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179546
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179546
 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-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-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  7a59096258fb9e9679538da8851fe00656841980
baseline version:
 xen                  7a59096258fb9e9679538da8851fe00656841980

Last test of basis   179571  2023-03-12 02:03:23 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        pass    
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         pass    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Mar 12 19:20:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 19:20:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509069.784220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbREa-0006sz-Mk; Sun, 12 Mar 2023 19:19:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509069.784220; Sun, 12 Mar 2023 19: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 1pbREa-0006ss-Is; Sun, 12 Mar 2023 19:19:56 +0000
Received: by outflank-mailman (input) for mailman id 509069;
 Sun, 12 Mar 2023 19:19: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=Mwuj=7E=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pbREY-0006sm-Fz
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 19:19:54 +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 ddb1e23c-c10a-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 20:19:53 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id fd5so6620270edb.7
 for <xen-devel@lists.xenproject.org>; Sun, 12 Mar 2023 12:19:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddb1e23c-c10a-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678648793;
        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=MJEKeSIYKyykgRw4CZfpY5eGfPgAxkplhj2E6WMVV1Q=;
        b=d3UMIqu1gFdqkpcOaL0CtJ0IDQKL6YVoOMuAvAEA1b/gx2Zo38CpJ10edy5k2VgrXC
         HDLefI5ZKI0xvZVUrY8QnKsDY+UMcuw7u7A/G4PfqSgY8fChHfRQj+AlcNY0+fydAfDW
         ckw1cgdP5ToLZ4g3GAL4OYMt3ff6IlwJUiePRBVIAX3076BdgkPYEcpI4pu/cNvNk0zT
         reBMzAuaWaRKwmKJ9kgzqFwEtZoaUOS8F2Jlsp5jIWzziOZpEY7aTVvuUO+8Zc46YPMM
         +dL0aZq6amEqLmxZ5iG25PSwqO3jSdnPKZcGARBy16LQ2JgHKa8pan6XPzjacsS/mFRX
         9Jpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678648793;
        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=MJEKeSIYKyykgRw4CZfpY5eGfPgAxkplhj2E6WMVV1Q=;
        b=ToGurF+GgtzYZnULs7jyLV9u5NyX0d8i9vKtRlUJgA4tjMxrThQzxawjKIC9EhY+40
         bby9pyyxAPv0dmlwPQrfzA5UTY36KgLab/R7548R9Pl260eZbvw/GoXYendNmb3qnoh6
         ioI6W14JJ82XTe5KtjJyJn1w9CFTVfkYOLDmH1/rco0OeP5zPY3X2+FGdJtWHs6XdBcv
         GNF8QZPWL7v1ByFPolw5ZqxMTwDPmWStk7pVAfSQFcebX9cV02HufYugx9WYcu6NwsZv
         HCrDW6+mE0AsU2XgZUcvbuVLIki9okd6px9qkbCh0w6c2K3LwsaNQ5kZO3TSaQaLMKs+
         d+kw==
X-Gm-Message-State: AO0yUKX98W3qMPuogh0zs9oNskNdvmt18/nFR/CYLFcMjs/IOQ7mGeoq
	35gB8UO2fg9B72La08O2Dxjsq8ky9GaJB+llr7c=
X-Google-Smtp-Source: AK7set8dnmTVNz6T7mJo/7smv9W9vr9SjD9KAt4fOB0jOB2d9b/ik2li4mdhw5IicbhGqZimXp4sSIqX2BoYZivmNKs=
X-Received: by 2002:a50:baa7:0:b0:4ac:b832:856c with SMTP id
 x36-20020a50baa7000000b004acb832856cmr17640466ede.1.1678648792731; Sun, 12
 Mar 2023 12:19:52 -0700 (PDT)
MIME-Version: 1.0
References: <20230307182707.2298618-1-dwmw2@infradead.org> <20230307182707.2298618-14-dwmw2@infradead.org>
In-Reply-To: <20230307182707.2298618-14-dwmw2@infradead.org>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Sun, 12 Mar 2023 15:19:40 -0400
Message-ID: <CAKf6xpuH2E=16s1jFvgL9J723wv0dhBD5aYWP2NBNj5rZio2jg@mail.gmail.com>
Subject: Re: [PULL 13/27] hw/xen: Add xenstore operations to allow redirection
 to internal emulation
To: David Woodhouse <dwmw2@infradead.org>
Cc: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Paul Durrant <paul@xen.org>, 
	Joao Martins <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com, 
	Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, 
	Juan Quintela <quintela@redhat.com>, "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 7, 2023 at 1:29=E2=80=AFPM David Woodhouse <dwmw2@infradead.org=
> wrote:
>
> From: Paul Durrant <pdurrant@amazon.com>
>
> Signed-off-by: Paul Durrant <pdurrant@amazon.com>
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Reviewed-by: Paul Durrant <paul@xen.org>
> ---
>  accel/xen/xen-all.c                 |  11 +-
>  hw/char/xen_console.c               |   2 +-
>  hw/i386/kvm/xen_xenstore.c          |   3 -
>  hw/i386/kvm/xenstore_impl.h         |   8 +-
>  hw/xen/xen-bus-helper.c             |  62 +++----
>  hw/xen/xen-bus.c                    | 261 ++++------------------------
>  hw/xen/xen-legacy-backend.c         | 119 +++++++------
>  hw/xen/xen-operations.c             | 198 +++++++++++++++++++++
>  hw/xen/xen_devconfig.c              |   4 +-
>  hw/xen/xen_pt_graphics.c            |   1 -
>  hw/xen/xen_pvdev.c                  |  49 +-----
>  include/hw/xen/xen-bus-helper.h     |  26 +--
>  include/hw/xen/xen-bus.h            |  17 +-
>  include/hw/xen/xen-legacy-backend.h |   6 +-
>  include/hw/xen/xen_backend_ops.h    | 163 +++++++++++++++++
>  include/hw/xen/xen_common.h         |   1 -
>  include/hw/xen/xen_pvdev.h          |   2 +-
>  softmmu/globals.c                   |   1 +
>  18 files changed, 525 insertions(+), 409 deletions(-)
>
> diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
> index e85e4aeba5..425216230f 100644
> --- a/accel/xen/xen-all.c
> +++ b/accel/xen/xen-all.c
> @@ -90,12 +90,15 @@ void xenstore_store_pv_console_info(int i, Chardev *c=
hr)
>  }
>
>
> -static void xenstore_record_dm_state(struct xs_handle *xs, const char *s=
tate)
> +static void xenstore_record_dm_state(const char *state)
>  {
> +    struct xs_handle *xs;
>      char path[50];
>
> +    /* We now have everything we need to set the xenstore entry. */
> +    xs =3D xs_open(0);
>      if (xs =3D=3D NULL) {
> -        error_report("xenstore connection not initialized");
> +        fprintf(stderr, "Could not contact XenStore\n");
>          exit(1);
>      }

This breaks dm_restrict=3D1 since the xs_open is not allowed by the time
this is called.  There are other evtchn errors before this as well:
# cat /var/log/xen/qemu-dm-debian.log
char device redirected to /dev/pts/8 (label serial0)
xen be core: can't open evtchn device
xen be core: can't open evtchn device
xen be core: can't open evtchn device
xen be core: can't open evtchn device
xen be core: can't open evtchn device
xen be core: can't open evtchn device
xen be core: can't open evtchn device
xen be core: can't open evtchn device
Could not contact XenStore

Ok, those "xen be core: can't open evtchn device" were there before
the recent changes and seem to be non-fatal.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Sun Mar 12 21:02:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 21:02:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509078.784242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbSpf-0002kx-3i; Sun, 12 Mar 2023 21:02:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509078.784242; Sun, 12 Mar 2023 21: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 1pbSpf-0002kq-0m; Sun, 12 Mar 2023 21:02:19 +0000
Received: by outflank-mailman (input) for mailman id 509078;
 Sun, 12 Mar 2023 21:02: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=7r4C=7E=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pbSpd-0002kk-M1
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 21:02:18 +0000
Received: from sonic307-55.consmr.mail.gq1.yahoo.com
 (sonic307-55.consmr.mail.gq1.yahoo.com [98.137.64.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 28058e2e-c119-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 22:02:13 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic307.consmr.mail.gq1.yahoo.com with HTTP; Sun, 12 Mar 2023 21:02:10 +0000
Received: by hermes--production-ne1-759c9b8c64-zjkt7 (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 50719ea2e9e3029d04401e70cab7486e; 
 Sun, 12 Mar 2023 21:02: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: 28058e2e-c119-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678654930; bh=10uFrio+ZV1PPfNVBx2C+yggwyttoaF67wqTYTO+Sv4=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=l9Bwt99MgtYoBNlIxi8tAITpK+d1Kqp6IWjeCDJnIlKmDUc6xsSg8gvA1Kofe1LMZzbhxXSGy+aEN9x/9RgkjucJkOUk3oG9yYP/kktv1gC+9msTT43fSyzOvTTCYi9iLpHfQYHtccFpsILKI6hv932MpxLiILagu09XkM5dDK92tH0xdDVgDL+W7VgME4KDYpaLCY/vA0/2krF+WslfXLqyLX6JaB8opd+rfeb9hFaE5TI48mxO+HUmazSMK3RKDAAJCKP6IOPnNE06lxZvCCINm4RaAPYbjfWHf5m0Ke7DZ5RQ/Vw8HBdTnpPGTyP0ULL9HM4qyMb0ZxQpCRNo5g==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678654930; bh=QodLCJXPBuRvFzrK28JbkT1bLowJgJrckrFnETZkjS3=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=bJSbyqVL2zq1iptCkawo2o1UvB+AtrkqrNUdYxZ3YZF4cjeeWKThlnPlRo3/0vxzAUbiqHwsNq+nE8apckm58gwKPL5TpTwFfGx//p/ZPZLgbTpvpECyc2tiYSo1elm3DVhBUlf9N9RXxuF48S44+qIqCORiki3gI2Ij1apLKwqTJ8tazcZFzovrpMqf9fMqXInPQwGG6AkuOErC5IDz10j8bby9d6ryTWx+RUczdauQK8YAmaHbJwBsRwxzh66y+RehWt+RtWz+AFyMXfeVFGHMXMGTyrIvXx7CwhqqNoNI61x8aKvRJRsHN4izeUbVwtgh94YN8kxa1pMTTny1zA==
X-YMail-OSG: xZyTDwEVM1nvE7uWhf.lxMsopZbdcD6ffRigCPpIGBz2HMap2TV87H6wSjo_AeG
 M5rkVPnLjrVIuSBgJ1A1NsggsUTwiH7xfh1Kqsw4EC_Nz0jyu9zZ0Of5AtQlP4rdu7JdktbE8GUN
 lBQnjDiKZDd2jpN8.hJjLSuGeh2ftu0yDHWZ0HkQO5vcYc1V3BtssIKvthvxoalwPdHXBRIGV34i
 zm4EsOCA4exrYiZ_7QT.ERH660Ipcm1qRRkFAEtXYMV3A7UbHLTsoI7XPyRYRzL01mT1VuH24iEA
 yCzFsUQSfmxs8EE2ZXuMHZIW9Ch3SopgT9DO4wsp6vixNxjd9DXG_RAXYuSjOWuVqNeYm0vhLfPV
 Tkg8IW6xiLd4uffgje5uSWatNFX0oiwk_vnAYQ3y.6hs9r.mSezhIkbXoYKeMvzoDr0MIihPZulB
 JJl.LbKTx8a1EM1wLXMxVOP7xhs_.FcyUubYHo43G1YvCV7zUQ7nmkbMgCq_pPCzRSvXAcxnlQJ_
 3S_XVkeicvvBqWZx_w5mfPy6RbyEy7akEa1G0D2CD9u8pROjo6tBTAMPiMKvzooZk8LU7MaZ4lWE
 PvO08tpxoH2EM600G5C7mEi3cenvso6P5BWoROPkwFktT4CV5Ie7krjYrAG_0YJ3c42VQ3Iy7mM.
 l830QwusZx7r07JUXfKFquuU0P_Mohw1AAKRfylqd2MKpuuYJmapLiyPDWRwn_5WK_0Nv0xr7XGV
 JK2H56Egeu55.eGj5VNffgtkxnf6.EhmmO31DX9pTfdebeMcCc3vtd35zMJ9hHso1K2GR1gO75.N
 uiLTEoTjwkTvjMnxQTAfVnucQSQsKRdsk5SAZZCDCM4r03JRi2LwkHHhXhm4GUjfotJ38YuiJiLS
 1tMf1ga2oACF99MdJnYfHmWKhjo5YBgM5zg5uf7HFqyRd_9KVZEzn16tSRhPvVPv4VpdTbedszl4
 cWC.B4wbpg5z2vSDvAJDkPioc8.7ruMfeelV3_cFCssDHAkVzzRoOrxNEhJ9aTjEPigySZFK1AGy
 aW2_4uu.4OR0Z8gwQJb9_pHuhRH3wTNd5aZJXnr5nfe6X6cEXRcrtMkD6KPbItYpEf4WCJtgLEtr
 3xr6OaPMDG5aGpu23BuSHHNWIFrvOb1ee0p7o9oe7sNQpPM5WLbJusc0iiRjJ_6cmmjHmMt2Kuqs
 ZCZbsZsdPSekG9w7froKJraXEEGAXWmQbZA9mOiXQtxTPSUmhtRUgItRKLKLVPKSEDCfOTUsw2W1
 UyLnAH24QfBz_6wc9W7.WkdU2hnixuiK_2USxcmj7fEHn5nA8JiH6vgMLY088fB6nThEbSujqHGh
 u628tRLBt.oN_InL8iv9WXqTSlWJwKAT5y98TDJ4Q78OPy5wGBoe4xoyvpzXPkEZmTo9spWC6FaA
 bFizsDqwsekeplwglLeBMPEp.._2ImFnRyqs8ySxVgFEeK8p58dmJO0LowD00IUfveJ1Qd6aLVAJ
 UvzMlpdHCWaFetSz4QSdKiihNUCua3h2o_o.ArIHoS7UFpm0BBsE9zw5XJRhoIKwHClw8JRzQqa8
 M_TYm2V37wqlTDl4qbOtpRS4G0ac1U3oFXYI4gGxYezwLmFBi1okeMOCrHz2qQ9iZREyv4UlVBKt
 a9ljkS5.s8TZ0l3VwuKqZNtwaZJ2xcgTVkjpZyFr1z4k89o40tHTt9RIb3gMR4k_WR5FX0UxoZsJ
 WTlQcyio2NU5iWg.qUe3sq23_54Tlm2q6slNjvDAKv.pHtNfv26eqrOvOWxpBMNEdXwaSM.qj_A0
 F.Tz4UHikhPJeYESY65Ew1WTIwxwVEUPLgWqTIue4mYJcP034wGcmwTKJ82NL05oQxwaK_N7n1ro
 3bu4YNARa5xBmWCcsAx3p6mkEpHsllXfDirdYRhzaX2tP0ETvWciAok5PjE1BzWuouPntO5P1hkl
 jWLlp3Q0AAWXA0PdEqISyn8k.ENXxmjZtO5wUgLi.FqsbwJJwMhxfzyGS2M.HF1C_ahmE50dE7TX
 P6pJhLKU6JaPhnYBzgYY9XEOKNhjzeIAETKLGbz0FRWv_LLNcAMz3ly8tvAXaRM6DrgYE3onoa7l
 vBnmxYP7bPxH6HWB7k5dJe07taWlF5hdk8h7.KyiJbwUj11JERerN6xlcjElIBY82nZNBaHQwzEt
 LSZ1THGu927BwrgBamOlwI59Uiv_JtmDuRspBz1iE16e6_1WYjjXrt4vzWJWmNbzOP6dbBsOEvQq
 swcownTIipeHK5xT2QA--
X-Sonic-MF: <brchuckz@aim.com>
Message-ID: <e79db0b0-8d35-91b7-1d60-8670c6594ef7@aol.com>
Date: Sun, 12 Mar 2023 17:02:03 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 0/6] Resolve TYPE_PIIX3_XEN_DEVICE
Content-Language: en-US
To: Bernhard Beschow <shentey@gmail.com>
Cc: qemu-devel@nongnu.org, Richard Henderson <richard.henderson@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 =?UTF-8?Q?Herv=c3=a9_Poussineau?= <hpoussin@reactos.org>,
 Aurelien Jarno <aurelien@aurel32.net>, Paul Durrant <paul@xen.org>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Eduardo Habkost <eduardo@habkost.net>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20230104144437.27479-1-shentey@gmail.com>
 <20230118051230-mutt-send-email-mst@kernel.org>
 <Y9ADQ/Yu8QQD0oyD@perard.uk.xensource.com>
 <0C2B1FE4-BB48-4C38-9161-6569BA1D6226@gmail.com>
 <96A4863B-D6BA-48B5-B5E4-54DD103FEBAA@gmail.com>
 <6C8AA4D4-FF57-4E43-A464-7F64C576ED5B@gmail.com>
 <c20b7056-037d-67ff-0b2d-ea931d501bac@aol.com>
 <FD7FF486-D06D-4CC1-8618-13B4138596B2@gmail.com>
From: Chuck Zmudzinski <brchuckz@aol.com>
In-Reply-To: <FD7FF486-D06D-4CC1-8618-13B4138596B2@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 3265

On 3/12/23 5:22 AM, Bernhard Beschow wrote:
> 
> 
> Am 11. März 2023 22:20:29 UTC schrieb Chuck Zmudzinski <brchuckz@aol.com>:
>>On 2/9/2023 4:53 PM, Bernhard Beschow wrote:
>>> Am 1. Februar 2023 08:11:10 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>>> >
>>> >
>>> >Am 24. Januar 2023 17:07:30 UTC schrieb Bernhard Beschow <shentey@gmail.com>:
>>> >>
>>> >>
>>> >>Am 24. Januar 2023 16:11:47 UTC schrieb Anthony PERARD <anthony.perard@citrix.com>:
>>> >>>On Wed, Jan 18, 2023 at 05:13:03AM -0500, Michael S. Tsirkin wrote:
>>> >>>> On Wed, Jan 04, 2023 at 03:44:31PM +0100, Bernhard Beschow wrote:
>>> >>>> > This series first renders TYPE_PIIX3_XEN_DEVICE redundant and finally removes
>>> >>>> > it. The motivation is to 1/ decouple PIIX from Xen and 2/ to make Xen in the PC
>>> >>>> > machine agnostic to the precise southbridge being used. 2/ will become
>>> >>>> > particularily interesting once PIIX4 becomes usable in the PC machine, avoiding
>>> >>>> > the "Frankenstein" use of PIIX4_ACPI in PIIX3.
>>> >>>> 
>>> >>>> Looks ok to me.
>>> >>>> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
>>> >>>> 
>>> >>>> Feel free to merge through Xen tree.
>>> >>>
>>> >>>Hi Bernhard,
>>> >>
>>> >>Hi Anthony,
>>> >>
>>> >>>The series currently doesn't apply on master. And a quick try at
>>> >>>applying the series it is based on also failed. Could you rebase it , or
>>> >>>maybe you would prefer to wait until the other series "Consolidate
>>> >>>PIIX..." is fully applied?
>>> >>
>>> >>Thanks for looking into it!
>>> >>
>>> >>You can get the compilable series from https://patchew.org/QEMU/20230104144437.27479-1-shentey@gmail.com/ . If it doesn't work for you let me know, then I can rebase onto master. All necessary dependencies for the series are upstreamed meanwhile.
>>> >
>>> >Ping
>>>
>>> Ping^2
>>
>>Hi Bernhard,
> 
> Hi Chuck,
> 
>>I took a look at this today to see why it cannot be applied.
> 
> Thanks for looking at it!
> 
>>I can see clearly that
>>all the prerequisite patches have *not* been applied to master yet, so I can
>>understand why Anthony cannot pull this up yet. Specifically, the series that
>>consolidates PIIX3 and PIIX4 south bridges is not yet applied, and that is one of
>>the prerequisites. I think you said it was reviewed, but it apparently never got
>>pulled up into master.
> 
> Correct, the PIIX consolidation series isn't merged yet. This series currently depends on it to avoid merge conflicts but doesn't need it otherwise. Back then I anticipated that the consolidation series would land in master soon since it was fully reviewed before this one. But that turned out not to be the case.
> 
> This series depends on some necessary refactoring [1] which I did in the context of PIIX consolidation which is already in master. So this series can easily be rebased onto master and it even simplifies the consolidation series a bit. I'll take this route now and I'll post a v3.

Thanks for posting v3, I was at a loss trying to figure out how to merge the 30-patch piix
consolidation series into the master branch. I just tested your recent v3 (all 6 patches)
on top of the current master branch and it works well on my Xen guests, so you can keep my
Tested-by tag on that patch series!

Kind regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Sun Mar 12 21:55:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 21:55:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509083.784255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbTfJ-0000OE-0v; Sun, 12 Mar 2023 21:55:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509083.784255; Sun, 12 Mar 2023 21: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 1pbTfI-0000O7-TR; Sun, 12 Mar 2023 21:55:40 +0000
Received: by outflank-mailman (input) for mailman id 509083;
 Sun, 12 Mar 2023 21:55: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 1pbTfH-0000Nx-Rv; Sun, 12 Mar 2023 21:55: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 1pbTfH-0006nL-Q9; Sun, 12 Mar 2023 21:55: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 1pbTfH-0007NO-Az; Sun, 12 Mar 2023 21:55:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbTfH-0005Ro-AU; Sun, 12 Mar 2023 21: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MxDNWEzTBqab3Mc4djVu4/wp5VTq+tKJFlijPP8cLWg=; b=4qu0P0/PHo3MOaXvXC5MRFyUXT
	VUS1rvBd9UiY3h6zG3w5FHawkEJaHDk4Mbgjl/msC1oYmzeCVgd8KjWlYezG7VvoOCDIsrWdoauI3
	CeJ47f1R0RgF2HlOBqu0qzxSdfaETCz2qrlazRQT8Milt9g0U74SeHSiEISfQlWibXO8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179574-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179574: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=674acdd17808052519aafcbee1583ad89b66181a
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 12 Mar 2023 21:55:39 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                674acdd17808052519aafcbee1583ad89b66181a
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    3 days
Failing since        179526  2023-03-10 01:53:40 Z    2 days    5 attempts
Testing same since   179548  2023-03-11 03:14:19 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Igor Mammedov <imammedo@redhat.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Lei Yang <leiyang@redhat.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Mar 12 22:46:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 22:46:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509092.784270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbUSX-0006GQ-3I; Sun, 12 Mar 2023 22:46:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509092.784270; Sun, 12 Mar 2023 22: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 1pbUSX-0006GJ-0m; Sun, 12 Mar 2023 22:46:33 +0000
Received: by outflank-mailman (input) for mailman id 509092;
 Sun, 12 Mar 2023 22:46: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=y+T3=7E=gmail.com=shentey@srs-se1.protection.inumbo.net>)
 id 1pbUSV-0006GD-S0
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 22:46:32 +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 bad2dc05-c127-11ed-87f5-c1b5be75604c;
 Sun, 12 Mar 2023 23:46:30 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id cn21so11513606edb.0
 for <xen-devel@lists.xenproject.org>; Sun, 12 Mar 2023 15:46:30 -0700 (PDT)
Received: from [127.0.0.1] ([77.13.79.143]) by smtp.gmail.com with ESMTPSA id
 b22-20020a170906709600b008c06de45e75sm2689035ejk.107.2023.03.12.15.46.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 12 Mar 2023 15:46:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bad2dc05-c127-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678661190;
        h=content-transfer-encoding:mime-version:message-id:references
         :in-reply-to:subject:cc:to:from:date:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qxxg+yMSmQOYh3KX1jXi8BFj1dKDUZyFIxwuTPFPlaE=;
        b=JSVqcgfhDMXFrv3CEfgWjaaLyMLk5b44fkL7SYTWTEETR8E61gLU2pe5efUznA6CB3
         AakuoNvvZqSFTuW+VER5sUyxh4HinuQRaK5uN4ao11gsI1TYwpojfkocZqvcOfZK0/v/
         8/eeUcwkpwMHQT+McCzzaHZYIFkJLdQy4YooZVZXp82jL8QKUsbJP+olc/DYNrbc1S71
         GMhv2K2nGPsHdxo1Z7poSQ1PXQgk/6pKrseLfpdh+hzm1S9XACyAum2uucM6LcAmn2oO
         KR7I2OUNPUBMp6USCfVzb7iOUFGAojQkHAajsL/2VfwSoRiQ2AS0cKsFhSCbPu0OHTfV
         2Ong==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678661190;
        h=content-transfer-encoding:mime-version:message-id:references
         :in-reply-to:subject:cc:to:from:date:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qxxg+yMSmQOYh3KX1jXi8BFj1dKDUZyFIxwuTPFPlaE=;
        b=O3izJqvHBJicySC190hL7MS1U1h5f49Rg9hmAM7UeSbG2Z4Um62y7l/yahRBnptUOa
         XVQ0gs/0Q7EOy/oKAbm9d36TNeo1/QmWmaAvcDMAnfI5KUqfZK5ypkzrkwvB1BA5ypYl
         FirBXR2E1dKPBCIWyUAKOx6rSwQqDfnKAx+s2kEYoUuqLBs5tqd0tMj01SjtCFJV7H/N
         Rwy3eZoOkPU19sQORe34GdWz0F048gfhVWfwhs9J2uUkjuDoJrYjHPjYJio0QFLdtrEd
         Pt3MvGOjag1eSPloq6DqKQOqZgYHFCUVI0dvR3lJ2UHFzTJrvelYyYLHwg+0hQrUmn1o
         xKRQ==
X-Gm-Message-State: AO0yUKVSSQizGk5ZnBugPrkDa1mBNUi9By6Wbc1ewCT8adIzwgX11vKF
	DEP7Yzdzrdnf4NWPZd+0ulQ=
X-Google-Smtp-Source: AK7set/xsFZ4RBNWkegWu0Pjo20Mag59ZycQ/FBq97AZcGItLDQDr1d7yFXtW76bHSRJP/21JssInA==
X-Received: by 2002:a17:906:b007:b0:8aa:c038:974c with SMTP id v7-20020a170906b00700b008aac038974cmr32473011ejy.54.1678661189735;
        Sun, 12 Mar 2023 15:46:29 -0700 (PDT)
Date: Sun, 12 Mar 2023 22:46:22 +0000
From: Bernhard Beschow <shentey@gmail.com>
To: Chuck Zmudzinski <brchuckz@aol.com>
CC: qemu-devel@nongnu.org, Richard Henderson <richard.henderson@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 =?ISO-8859-1?Q?Herv=E9_Poussineau?= <hpoussin@reactos.org>,
 Aurelien Jarno <aurelien@aurel32.net>, Paul Durrant <paul@xen.org>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Eduardo Habkost <eduardo@habkost.net>,
 =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH v2 0/6] Resolve TYPE_PIIX3_XEN_DEVICE
In-Reply-To: <e79db0b0-8d35-91b7-1d60-8670c6594ef7@aol.com>
References: <20230104144437.27479-1-shentey@gmail.com> <20230118051230-mutt-send-email-mst@kernel.org> <Y9ADQ/Yu8QQD0oyD@perard.uk.xensource.com> <0C2B1FE4-BB48-4C38-9161-6569BA1D6226@gmail.com> <96A4863B-D6BA-48B5-B5E4-54DD103FEBAA@gmail.com> <6C8AA4D4-FF57-4E43-A464-7F64C576ED5B@gmail.com> <c20b7056-037d-67ff-0b2d-ea931d501bac@aol.com> <FD7FF486-D06D-4CC1-8618-13B4138596B2@gmail.com> <e79db0b0-8d35-91b7-1d60-8670c6594ef7@aol.com>
Message-ID: <06039976-94E0-4487-8854-C8F9E978422D@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable



Am 12=2E M=C3=A4rz 2023 21:02:03 UTC schrieb Chuck Zmudzinski <brchuckz@ao=
l=2Ecom>:
>On 3/12/23 5:22=E2=80=AFAM, Bernhard Beschow wrote:
>>=20
>>=20
>> Am 11=2E M=C3=A4rz 2023 22:20:29 UTC schrieb Chuck Zmudzinski <brchuckz=
@aol=2Ecom>:
>>>On 2/9/2023 4:53 PM, Bernhard Beschow wrote:
>>>> Am 1=2E Februar 2023 08:11:10 UTC schrieb Bernhard Beschow <shentey@g=
mail=2Ecom>:
>>>> >
>>>> >
>>>> >Am 24=2E Januar 2023 17:07:30 UTC schrieb Bernhard Beschow <shentey@=
gmail=2Ecom>:
>>>> >>
>>>> >>
>>>> >>Am 24=2E Januar 2023 16:11:47 UTC schrieb Anthony PERARD <anthony=
=2Eperard@citrix=2Ecom>:
>>>> >>>On Wed, Jan 18, 2023 at 05:13:03AM -0500, Michael S=2E Tsirkin wro=
te:
>>>> >>>> On Wed, Jan 04, 2023 at 03:44:31PM +0100, Bernhard Beschow wrote=
:
>>>> >>>> > This series first renders TYPE_PIIX3_XEN_DEVICE redundant and =
finally removes
>>>> >>>> > it=2E The motivation is to 1/ decouple PIIX from Xen and 2/ to=
 make Xen in the PC
>>>> >>>> > machine agnostic to the precise southbridge being used=2E 2/ w=
ill become
>>>> >>>> > particularily interesting once PIIX4 becomes usable in the PC =
machine, avoiding
>>>> >>>> > the "Frankenstein" use of PIIX4_ACPI in PIIX3=2E
>>>> >>>>=20
>>>> >>>> Looks ok to me=2E
>>>> >>>> Reviewed-by: Michael S=2E Tsirkin <mst@redhat=2Ecom>
>>>> >>>>=20
>>>> >>>> Feel free to merge through Xen tree=2E
>>>> >>>
>>>> >>>Hi Bernhard,
>>>> >>
>>>> >>Hi Anthony,
>>>> >>
>>>> >>>The series currently doesn't apply on master=2E And a quick try at
>>>> >>>applying the series it is based on also failed=2E Could you rebase=
 it , or
>>>> >>>maybe you would prefer to wait until the other series "Consolidate
>>>> >>>PIIX=2E=2E=2E" is fully applied?
>>>> >>
>>>> >>Thanks for looking into it!
>>>> >>
>>>> >>You can get the compilable series from https://patchew=2Eorg/QEMU/2=
0230104144437=2E27479-1-shentey@gmail=2Ecom/ =2E If it doesn't work for you=
 let me know, then I can rebase onto master=2E All necessary dependencies f=
or the series are upstreamed meanwhile=2E
>>>> >
>>>> >Ping
>>>>
>>>> Ping^2
>>>
>>>Hi Bernhard,
>>=20
>> Hi Chuck,
>>=20
>>>I took a look at this today to see why it cannot be applied=2E
>>=20
>> Thanks for looking at it!
>>=20
>>>I can see clearly that
>>>all the prerequisite patches have *not* been applied to master yet, so =
I can
>>>understand why Anthony cannot pull this up yet=2E Specifically, the ser=
ies that
>>>consolidates PIIX3 and PIIX4 south bridges is not yet applied, and that=
 is one of
>>>the prerequisites=2E I think you said it was reviewed, but it apparentl=
y never got
>>>pulled up into master=2E
>>=20
>> Correct, the PIIX consolidation series isn't merged yet=2E This series =
currently depends on it to avoid merge conflicts but doesn't need it otherw=
ise=2E Back then I anticipated that the consolidation series would land in =
master soon since it was fully reviewed before this one=2E But that turned =
out not to be the case=2E
>>=20
>> This series depends on some necessary refactoring [1] which I did in th=
e context of PIIX consolidation which is already in master=2E So this serie=
s can easily be rebased onto master and it even simplifies the consolidatio=
n series a bit=2E I'll take this route now and I'll post a v3=2E
>
>Thanks for posting v3, I was at a loss trying to figure out how to merge =
the 30-patch piix
>consolidation series into the master branch=2E

Yeah, the code suffered from bit rod=2E=2E=2E

>I just tested your recent v3 (all 6 patches)
>on top of the current master branch and it works well on my Xen guests, s=
o you can keep my
>Tested-by tag on that patch series!

Thanks!

Best regards,
Bernhard

>
>Kind regards,
>
>Chuck


From xen-devel-bounces@lists.xenproject.org Sun Mar 12 23:42:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Mar 2023 23:42:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509096.784283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbVK6-0004aS-69; Sun, 12 Mar 2023 23:41:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509096.784283; Sun, 12 Mar 2023 23: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 1pbVK6-0004aL-3U; Sun, 12 Mar 2023 23:41:54 +0000
Received: by outflank-mailman (input) for mailman id 509096;
 Sun, 12 Mar 2023 23:41:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mwuj=7E=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pbVK4-0004aF-Cw
 for xen-devel@lists.xenproject.org; Sun, 12 Mar 2023 23:41:52 +0000
Received: from mail-qt1-x82a.google.com (mail-qt1-x82a.google.com
 [2607:f8b0:4864:20::82a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 42dc288f-c12e-11ed-9571-85ef70e17bfa;
 Mon, 13 Mar 2023 00:33:17 +0100 (CET)
Received: by mail-qt1-x82a.google.com with SMTP id r5so11609684qtp.4
 for <xen-devel@lists.xenproject.org>; Sun, 12 Mar 2023 16:41:45 -0700 (PDT)
Received: from shine.lan ([2001:470:8:67e:6618:4c00:8b45:5f2f])
 by smtp.gmail.com with ESMTPSA id
 i10-20020ac8004a000000b003b2d890752dsm4444257qtg.88.2023.03.12.16.41.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 12 Mar 2023 16:41: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: 42dc288f-c12e-11ed-9571-85ef70e17bfa
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678664503;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=YYf8IKPQjMmdVSpD++IIu0dqNQ4TJFmfxZjNuxNor9o=;
        b=KqED0EjmtxcaaOPdpeQUgPHtxZDwGNHwVbqthRe1dFef66ymtYtFtpFJ9NUFbr5Ui/
         iyvCl89W/q1qnTXAOtKSwMvBQSOxGividzqXKFUQe6upU4fYf69wzmAjSB5vHz8Qcfzl
         3OV0mzdoU3L6RKsGp/H3AUUIAajN9+nz/HEwCMC5W3uaLuU1XxXaBNl6bVwCfF8xCgVx
         CSQqBhdQOVYUU7rUGAqTRML+fEv0wwriGAKvvEseyXM8gTu8A47GCd9l1x5I5PSoY4Q+
         udxv4qzYB9WTTcLQZqgMhdmn0egU/vBPXOyqFWtqfMzGtBC8EAdhIvsink6tcS4DOHBX
         TBdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678664503;
        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=YYf8IKPQjMmdVSpD++IIu0dqNQ4TJFmfxZjNuxNor9o=;
        b=Shi8173x71hlIXGxeXH3IShiv2dzqQzeZwtbQBcrC0yedXBtnDZITfa4oUJhuJToa+
         32RpSyoYB9BVWZF4bFoe/rTwWxh/XuQ1AJJLdor/vG7djuCOZj0nWUB+yOln0jMSKwRu
         45WXHDXP6lEPEDcxvSSGf6RcIukxBHkQoJ39qAFCXQC3wKEQsbBxPrhmon3HI3cwRCAr
         bTY81SJmnKYeXOMe9/RffgF7GuOI6X0fNCUpTPuhhhoSk87vMerVsGihigDvxxuTjT6p
         QHDI3lT6hseYE+VAFD8KMXxBQPpWOoXso3p7u1oyOwE5mf2PDzvW5sDk16JdYCHtHajO
         cD5w==
X-Gm-Message-State: AO0yUKW1tfuL3MXmWKk8B4HxyeUJZteINfmD/IKjFxvGzZuxsV3YqnFy
	7pAVrVo0bXK2Uqf+k340WInjmAamsFE=
X-Google-Smtp-Source: AK7set/L8BhEK5+uYXiz54fZi5/q7FNowgXgtI0ud4BIk7wMuW23tMNaJB//njDy7JyNrTINFztDkQ==
X-Received: by 2002:a05:622a:1304:b0:3bf:a461:e6f0 with SMTP id v4-20020a05622a130400b003bfa461e6f0mr24732469qtk.31.1678664503620;
        Sun, 12 Mar 2023 16:41:43 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	David Woodhouse <dwmw@amazon.co.uk>
Cc: qemu-devel@nongnu.org,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH] xen: fix dm_restrict startup
Date: Sun, 12 Mar 2023 19:41:31 -0400
Message-Id: <20230312234131.46898-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

QEMU is failing to signal it start when launched by libxl with
dm_restrict=1.  When xenstore_record_dm_state() is called, the
restrictions prevent xs_open() from succeeding.  QEMU can't write
running to the xenstore, and libxl fails the VM start up.

Pass in a open xenstore connection.  Let the call back use it and the
close it.  Use the completed boolean to only allow it to be called once.
This lets the xenstore connection be closed after the startup
indication.

Fixes: ba2a92db1ff6 ("hw/xen: Add xenstore operations to allow redirection to internal emulation")
Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
I think xenstore_record_dm_state() only needs to indicate startup once,
so the completed bool makes sense.

 accel/xen/xen-all.c | 26 ++++++++++++++++----------
 1 file changed, 16 insertions(+), 10 deletions(-)

diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index 00221e23c5..3843299843 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -30,17 +30,13 @@ xc_interface *xen_xc;
 xenforeignmemory_handle *xen_fmem;
 xendevicemodel_handle *xen_dmod;
 
-static void xenstore_record_dm_state(const char *state)
+static void xenstore_record_dm_state(struct xs_handle *xs, const char *state)
 {
-    struct xs_handle *xs;
+    static bool completed;
     char path[50];
 
-    /* We now have everything we need to set the xenstore entry. */
-    xs = xs_open(0);
-    if (xs == NULL) {
-        fprintf(stderr, "Could not contact XenStore\n");
-        exit(1);
-    }
+    if (completed)
+        return;
 
     snprintf(path, sizeof (path), "device-model/%u/state", xen_domid);
     /*
@@ -53,6 +49,7 @@ static void xenstore_record_dm_state(const char *state)
         exit(1);
     }
 
+    completed = true;
     xs_close(xs);
 }
 
@@ -60,9 +57,10 @@ static void xenstore_record_dm_state(const char *state)
 static void xen_change_state_handler(void *opaque, bool running,
                                      RunState state)
 {
+    struct xs_handle *xs = opaque;
     if (running) {
         /* record state running */
-        xenstore_record_dm_state("running");
+        xenstore_record_dm_state(xs, "running");
     }
 }
 
@@ -92,6 +90,7 @@ static void xen_setup_post(MachineState *ms, AccelState *accel)
 static int xen_init(MachineState *ms)
 {
     MachineClass *mc = MACHINE_GET_CLASS(ms);
+    struct xs_handle *xs;
 
     xen_xc = xc_interface_open(0, 0, 0);
     if (xen_xc == NULL) {
@@ -111,7 +110,14 @@ static int xen_init(MachineState *ms)
         xc_interface_close(xen_xc);
         return -1;
     }
-    qemu_add_vm_change_state_handler(xen_change_state_handler, NULL);
+
+    xs = xs_open(0);
+    if (xs == NULL) {
+        fprintf(stderr, "Could not contact XenStore\n");
+        exit(1);
+    }
+
+    qemu_add_vm_change_state_handler(xen_change_state_handler, xs);
     /*
      * opt out of system RAM being allocated by generic code
      */
-- 
2.37.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 02:22:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 02:22:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509102.784300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbXpZ-0003rZ-GC; Mon, 13 Mar 2023 02:22:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509102.784300; Mon, 13 Mar 2023 02: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 1pbXpZ-0003rB-As; Mon, 13 Mar 2023 02:22:33 +0000
Received: by outflank-mailman (input) for mailman id 509102;
 Mon, 13 Mar 2023 02: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=ez/1=7F=collabora.com=dmitry.osipenko@srs-se1.protection.inumbo.net>)
 id 1pbXpY-0003r5-5f
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 02:22:32 +0000
Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e707be43-c145-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 03:22:30 +0100 (CET)
Received: from [192.168.2.203] (109-252-120-116.nat.spd-mgts.ru
 [109.252.120.116])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 (Authenticated sender: dmitry.osipenko)
 by madras.collabora.co.uk (Postfix) with ESMTPSA id 6F1AD6602FE3;
 Mon, 13 Mar 2023 02:22:27 +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: e707be43-c145-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;
	s=mail; t=1678674148;
	bh=8FllFrdYrwtSMdW711zen6F0H+nS+oSqdNhmJeRaVxU=;
	h=Date:Subject:From:To:Cc:References:In-Reply-To:From;
	b=RMtEFfZuecbn5B+NLJhj9dOAHxXw/7wgY6w0ef4WzWmvHIICTxPxDzJdHh60qLpKA
	 pJ1WmO4eXb9NW6OJkl97njHBvAyUsrWJu3Sod2wDIsCJaG22Ejk8/FqmbGUKaATgye
	 jRqfgLnjfWz9iesYv3RLSKa1I/fgvTD2Cn7cd0eME6x8dYhAUwFNAwnkgPixP/RtSv
	 Da/zPW8Iz8+4F0hqS3Zbvc0DtL0tqQoaaARZZ2ZcjrBAYpbKgL2Z04jRnBPbfgcvkD
	 EGYwyVwE0yc2hBzqo+xPZgl7NaLnvP3s/nOLjByTjcq2cNzMNhCmKz0c0e++DE8wYr
	 Eoz3BqCYIW04g==
Message-ID: <d6f31fd0-bc04-79a5-266b-5e6ba7bf2a03@collabora.com>
Date: Mon, 13 Mar 2023 05:22:24 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC QEMU PATCH 08/18] virtio-gpu: Initialize Venus
Content-Language: en-US
From: Dmitry Osipenko <dmitry.osipenko@collabora.com>
To: Huang Rui <ray.huang@amd.com>, Gerd Hoffmann <kraxel@redhat.com>,
 "Michael S . Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Robert Beckett <bob.beckett@collabora.com>, qemu-devel@nongnu.org,
 xen-devel@lists.xenproject.org
Cc: Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>
References: <20230312092244.451465-1-ray.huang@amd.com>
 <20230312092244.451465-9-ray.huang@amd.com>
 <68195782-0309-2f81-7f1f-84a7fe7bb05c@collabora.com>
In-Reply-To: <68195782-0309-2f81-7f1f-84a7fe7bb05c@collabora.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 3/12/23 20:51, Dmitry Osipenko wrote:
> On 3/12/23 12:22, Huang Rui wrote:
>> From: Antonio Caggiano <antonio.caggiano@collabora.com>
>>
>> Request Venus when initializing VirGL.
>>
>> Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
>> ---
>>  hw/display/virtio-gpu-virgl.c | 4 ++++
>>  1 file changed, 4 insertions(+)
>>
>> diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
>> index fe03dc916f..f5ce206b93 100644
>> --- a/hw/display/virtio-gpu-virgl.c
>> +++ b/hw/display/virtio-gpu-virgl.c
>> @@ -803,7 +803,11 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
>>  {
>>      int ret;
>>  
>> +#ifdef VIRGL_RENDERER_VENUS
>> +    ret = virgl_renderer_init(g, VIRGL_RENDERER_VENUS, &virtio_gpu_3d_cbs);
>> +#else
>>      ret = virgl_renderer_init(g, 0, &virtio_gpu_3d_cbs);
>> +#endif
> 
> Note that Venus now requires VIRGL_RENDERER_RENDER_SERVER flag to be
> set. Please test the patches with the latest virglrenderer and etc.
> 
> The #ifdef also doesn't allow adding new flags, it should look like:
> 
> #ifdef VIRGL_RENDERER_VENUS
>     flags |= VIRGL_RENDERER_RENDER_SERVER;
> #endif
> 
>     ret = virgl_renderer_init(g, flags, &virtio_gpu_3d_cbs);
> 

BTW, Alex reviewed the Venus v3 patches a month ago [1] and the review
comments need to be addressed. AFAICS, you're actually using the very
old Venus patches here that stopped working about a year ago, so again
you're using a very outdated virglrenderer version.

Please take it all into account if you'll beat me to posting the next
version of Venus patches ;)

[1]
https://lore.kernel.org/qemu-devel/20220926142422.22325-1-antonio.caggiano@collabora.com/

-- 
Best regards,
Dmitry



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 04:14:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 04:14:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509111.784316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbZZo-0007uS-Ml; Mon, 13 Mar 2023 04:14:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509111.784316; Mon, 13 Mar 2023 04:14:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbZZo-0007uL-IQ; Mon, 13 Mar 2023 04:14:24 +0000
Received: by outflank-mailman (input) for mailman id 509111;
 Mon, 13 Mar 2023 04:14: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 1pbZZm-0007uB-Ll; Mon, 13 Mar 2023 04:14: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 1pbZZm-0006w9-J1; Mon, 13 Mar 2023 04:14: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 1pbZZm-0003rf-81; Mon, 13 Mar 2023 04:14:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbZZm-0002Og-7Y; Mon, 13 Mar 2023 04:14: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=J/6nG1U18D7kwSFNG4qV+IwMtxHkbkwaG8DQ+SN6NlY=; b=zRx7Y745f6ptArPc39AQRgIlNN
	8VAIUcoKG8s6Xykx+WYtoudaM+veHBdlWahDnnRidMP59J37Z6FGDvCelAV0k3Ydcz9MPbLKYhWHK
	y4wgIUuOGt1R3z9scdF72FEErRPXeUMvC3VpaL1qNurDhZOZIGZW8fZmJNEXxBUKTxmo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179583-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179583: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/src_host/dst_host:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    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-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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=81ff855485a366a391dc3aed3942715e676ed132
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 13 Mar 2023 04:14:22 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 17 guest-localmigrate   fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-amd64-amd64-xl          18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 17 guest-localmigrate   fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 18 guest-localmigrate  fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow  22 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl         18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10 fail in 179570 REGR. vs. 178042
 test-amd64-amd64-libvirt  17 guest-saverestore fail in 179570 REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 17 guest-saverestore.2 fail in 179570 REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 18 guest-start/debianhvm.repeat fail in 179570 REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 16 guest-localmigrate fail in 179570 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-freebsd12-amd64 13 guest-start  fail in 179570 pass in 179583
 test-amd64-amd64-xl-credit1 18 guest-localmigrate fail in 179570 pass in 179583
 test-amd64-amd64-xl-shadow  17 guest-saverestore fail in 179570 pass in 179583
 test-amd64-amd64-xl          14 guest-start      fail in 179570 pass in 179583
 test-amd64-amd64-xl-xsm      14 guest-start      fail in 179570 pass in 179583
 test-amd64-amd64-freebsd11-amd64 13 guest-start  fail in 179570 pass in 179583
 test-amd64-amd64-libvirt-pair 26 guest-migrate/src_host/dst_host fail in 179570 pass in 179583
 test-amd64-amd64-xl-rtds     14 guest-start      fail in 179570 pass in 179583
 test-arm64-arm64-xl          14 guest-start      fail in 179570 pass in 179583
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start fail in 179570 pass in 179583
 test-amd64-amd64-libvirt     14 guest-start                fail pass in 179570
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail pass in 179570
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail pass in 179570
 test-amd64-amd64-xl-multivcpu 14 guest-start               fail pass in 179570
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 179570

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt    15 migrate-support-check fail in 179570 never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail in 179570 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                81ff855485a366a391dc3aed3942715e676ed132
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   19 days
Failing since        178093  2023-02-22 05:02:47 Z   18 days   38 attempts
Testing same since   179570  2023-03-12 02:03:23 Z    1 days    2 attempts

------------------------------------------------------------
2107 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 06:50:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 06:50:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509121.784335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbc15-0000QY-2C; Mon, 13 Mar 2023 06:50:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509121.784335; Mon, 13 Mar 2023 06: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 1pbc14-0000QR-Tk; Mon, 13 Mar 2023 06:50:42 +0000
Received: by outflank-mailman (input) for mailman id 509121;
 Mon, 13 Mar 2023 06: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 1pbc14-0000QF-Bh; Mon, 13 Mar 2023 06: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 1pbc14-0002iu-90; Mon, 13 Mar 2023 06:50: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 1pbc13-0002qy-OF; Mon, 13 Mar 2023 06:50:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbc13-0003Cm-Np; Mon, 13 Mar 2023 06: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=IlieiSoBMoqehwLSgPmpaGZxeIscSeFPrcn0gziqAxk=; b=K79qU0HuzAp+5KiTMarq1sfpiq
	95vUWACORkWm5g3ozkdYhu/QqOa5SxyexLJH1wuDBIMMXiJs6gGJWepGbxK36Gtyg1JG7tZd0dhsO
	BdKfwxwTG+68Gqy7x3wegNBPPzyFCB2rqNQ4bXB+asxn0uoRlwzsHp5iSXxUY2E7IUqM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179588-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179588: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 13 Mar 2023 06:50:41 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    3 days
Failing since        179526  2023-03-10 01:53:40 Z    3 days    6 attempts
Testing same since   179588  2023-03-12 22:07:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 07:01:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 07:01:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509125.784344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbcBD-00024d-Vu; Mon, 13 Mar 2023 07:01:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509125.784344; Mon, 13 Mar 2023 07: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 1pbcBD-00024W-T2; Mon, 13 Mar 2023 07:01:11 +0000
Received: by outflank-mailman (input) for mailman id 509125;
 Mon, 13 Mar 2023 07:01: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbcBC-00024O-Ia
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 07:01:10 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0626.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d26df573-c16c-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 08:01:05 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8424.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 07:01:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 07:01: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: d26df573-c16c-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iHCLjwjMFMVUpTXduJ2aQloIJgPeBsp3nEK/0HC3K74QZJ3XVgEzH+e+xxlll74Ehp3mIziPJOeOaBOIN/vMqN1prD6ampKRQHLOp/lxZgBlIHTZE7ZL6H1pUhfRihzoZ6LJVFDVi9IGKlT30Z330KFmbxDIEcbYESoqOvzhn5UiC4hWv5xrsAwSM0Epgt3dB1B2dhZpyGGVjVuTPagThmU6pfxG6TpEWDJTyAtT9WN4FxJLYoweyykA7/TjjSPQeYqUMFZtNcDPaAADF51nGfcNLmu7YuxmEnQiokMRQmbF7btaQAE2gkgof/Ectc7Weghw5xHmFxlTQgELuvyPww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BHTcw7j1Ey5u16lsm0xWZVZJWhEJmigEd50icuoptP4=;
 b=cmw7CgYsXlRkMNGIC8Dn2VFXt1qEIPSs73o3wqDVjKlZ731pGokJpSyU6joCZ1NMp+x1x3MWFWAUky/rjb0jpU4LblJbgxI2vKSI4R+HgV3y0itTO/uYSxJszYWGnc+L0xaHC0/tnDg+REV1ooydl2riThb+J0ilIMuaNS3sOdXBJD+MDIo9yb0IPnHrkngeIHTstMpP5pDpI/vOpVRpigT03xPkosYSc+6oLa8c1fiS8vOLV0om2ViFy1zM3JmyEvPX8QwWtu0n7RMOodq5Ol6zEG+uhxLmKWlBlg1TnTQOx4C64ffTNXUWC5SWChh520yXATRcIqlcmCkDoD1ukw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BHTcw7j1Ey5u16lsm0xWZVZJWhEJmigEd50icuoptP4=;
 b=Fq6ysixMMZwUN4odB1NP2DZIgYR/NmY6CrrWlf9T1rDV+Sj/WRzOwq0bdIMEZBUjoDdlevn539J4Xz4kKcN9zeShZI80jYoaKhL/TXnbGr7+N0tEvN3Chdua1j8Khl1hxNyRBfFEhzQtlb2O6MPQGS/DMFpFx/ZmDEqqtAMbgFL/+JBhyEuKQ0xLwmt4xyokQ7UYZJMDGdqLOjwRIEyi9vBVea/iCQQe1+9PLKc/QSQXp6h1rqNrACRTrTBI8sPPf7RQmD0rTTHBcYyK9MBtEtFOQ14U7+4RIJcPl/hgH6Lr2MCl6gNJf3INs5ttISXwRVbBrMGzmdblm8Cpgfj56g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
Date: Mon, 13 Mar 2023 08:01:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [BUG] x2apic broken with current AMD hardware
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: xen-devel@lists.xenproject.org
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZAvGvokloPf+ltr9@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0101.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8424:EE_
X-MS-Office365-Filtering-Correlation-Id: 09718859-32b7-41e5-9513-08db2390b598
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	muZb1/oRuWMVOHTsCLgVeUgcyGbwFcYYA/Hc/7Osp8ZfOji6vhLOUdIm/7H6ffZ6zdEUPdMdRYobcgG/92mblNyvuTYwJN+ZkFsUnBGbMjwTr6aQaQm2waAaCs92vsbkNHMaUG65c413fqdutHbZ9MTNCnkvWoMBWmZoqmg02H0/tYFIMuJugNUljL8X03r1px3n91JXNF8+RZGvoZNxfPWgMpta4YYwH8R64xSIPwgGFW3wE9Bsy9Xyx7FkoXN7Anc8qVUNziyI8hJICsk/0u8QXFeIk5UmrOUfDs3IzIgsPda1mHF6cdxSPxocVUHHcQSMfmeY9ApTyxTJ2qZ+Nvj34DW6SOzCKFetgCwobaCacSqwa6QA5KGh2C/lsFedUd085e8iVrzwpAu5sxqD3M+1LvWYQvzcHx7FHirtOkBuEPel6XvSTk10Zekvak5yXsF+U8I7w79AbPucrn2S2rUJACv4uRYNVFFBrrqTo6D0ge+mCE3mhhn5tYnZJBOQSOrhCKKDZjiPkBv4kVjxo3j//i/Qb6CB+ltrHHkGkb8kcYdPDrqumpRyt32Gye2ZYiogSrAWaHtkXy7shRRrtEKCUuJ66zil++3zrsAEVxZtUU31Of69K9Th6HM9MKOva6zwVdS2rmFsynC7AKOxnHR0dH7pgGQFpz0az4CXAjuXtE6EBCDGHVyd+i/ldm7EsLRC2w73EkXZHyLeUpennAfNcWZxkCuZwrfcGbYiuhA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(39860400002)(376002)(346002)(396003)(136003)(451199018)(31686004)(5660300002)(2906002)(31696002)(36756003)(86362001)(38100700002)(2616005)(6512007)(26005)(53546011)(6506007)(186003)(41300700001)(478600001)(316002)(6486002)(8936002)(66556008)(8676002)(4326008)(83380400001)(66476007)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QkY4MWRCOFUyUmdPeEZsYTNwN2lmRHV5RWhZNnZUTExkRTUwSkIvSEE2SlZX?=
 =?utf-8?B?NHl1d2R2NUovNDFMZzdtTjZ5K000THJzS3NwZUtMbnA0MGRIdFFjbEwxb2hu?=
 =?utf-8?B?Q1NFZ3dkTEVHY0pQQ0NxTUZzSjQ1djNPMlJXelF0d2dsUFdKNHlRSG5MOGRL?=
 =?utf-8?B?c2VCdHNOOG95RVdqb3NiYVY5MVVvOW5xZnBqWlA1UzA3ZnRkU3o2UVFXeElm?=
 =?utf-8?B?S3FHRDFuNFRwNkQrb1IzT0ZVMWphclRDV1pVWk9zeGw4Y1RVYVR3d0Rsc3dm?=
 =?utf-8?B?a0d0VWRhbEdrazZUb3JqZHc0R0xHanZpY0dTMSt3OENaTjhsN2JnWDNRYzU5?=
 =?utf-8?B?WnlBVUlacnNWbXhsY1lsL3NmalBzcXg2ajBtVE9ETVBFTUhBOVErWlJxc050?=
 =?utf-8?B?cWxEcURKUjIzY0FhcmdUMjgzYUxFYm55bGFCRkltK2Z2WmVDem5zRForUC9S?=
 =?utf-8?B?QndLbHh3WDF4NGpUQW1QWHIxenNXWlpYUUlJM2hWWEZBTExMNnBjbDF2ZDBp?=
 =?utf-8?B?aHQvSVNhWXRRRWZSN3NMVThtMTdVUFFzbnhKTWZLVVdkV2gzKzNqYUwvZzVS?=
 =?utf-8?B?Q1ZjVHJNa2hJY0ZBRk1LSGtORkJQNXZCR21kR2traWx2WUFTL0d5UmtzYlMr?=
 =?utf-8?B?dlZuWENvQklYaUpRaG1oQURKT0pOeDBReGpyMEZWN2dsL0ZscnFvaGN6TUEr?=
 =?utf-8?B?b3pVN3ZleVZocDVYL3ZGM21XVklYNDRxRkRoTnRZK0dENE0zQ2V4ajdxZzJX?=
 =?utf-8?B?dzZEdVQ5MVJ4OFBVdHZaalk5WEJ3bmYrWm1tdmhhYm94S1ZtWklzaTlpMXhW?=
 =?utf-8?B?S0EyaW5KRnJIaXIwTU1zUVQrd2R1WHA5REppb2QrSTFsUjJmVU5CQ3J3S21B?=
 =?utf-8?B?WWxwaUxQNFhncXNJemcwYkw3ZlZVWmx5Z3ZwVW1NL2pVcGg3SlRhc3JzYkJn?=
 =?utf-8?B?dnBDd3UxbncwK0t2RmxxWkVXc3ZBaVZOMmFSZGl2SnBFeXo5cXdZblREMzVr?=
 =?utf-8?B?TkZQbG9yRWJTUG1URXcwa3lEcCtmSVVRWGdySXpMVStBY1hHRlhyQmFiSmJ3?=
 =?utf-8?B?ZlVUQVdVQm9QVmIwRzRJVmljc1lOMTc3ZERPUGNoMjVHR1BSSnBRcWRhQko1?=
 =?utf-8?B?cTluQkhqM2s2N3h0NStudnh3ajdlWFFBanVSMFZEdmEwbE5KYk0yTGJJNXRR?=
 =?utf-8?B?WU5VU2YvYldDcHNpd1NlMFVrMXEzRDhuMUNWNnFmbG1EaGVFTVR0RUcvd0ZE?=
 =?utf-8?B?eG1OTnpuR2F3S1JnS3hXU1VZNEhrd3R6OGNSdktZbHRDWVdkdytFMUZXbkg0?=
 =?utf-8?B?UVVNa1pHU2tBR29VNndYSWRBMEpqYitmcHNrSkNvNCtTaFN1L2YwRjVNSTRz?=
 =?utf-8?B?OFBqUk5Pa0FmWDhnWmxoSjQrUnMwSXVKbHV1cVVBUE9adXdZdEVSWUo5VE12?=
 =?utf-8?B?Y21YSFZpSGxhSDlkdUdxc2hUbkRHYTM1QlphdzRHcnF2ZVhtTFE1RjRML1Ur?=
 =?utf-8?B?TVh4SGp1K0VXamQxM29sV2JtWTFiSFl4bkVHMkRJVldpdmkrYVgraU1FaUto?=
 =?utf-8?B?bEtickRJcGlqWjdBQjRlZFJuUFhJVGY4dGNnUjd4Y2ZiMi9IYUhjNEFITTQv?=
 =?utf-8?B?OHk0SnhoT2dzSU1QOEwwelh5M2VtYWs4empBRlhpN0ZhTE9YK214c2JOdjZM?=
 =?utf-8?B?Yk95ajNyY3RvL0ZhTkt6cWZ3QWZpVTNDdmFYTG1FK2hGbHBCUTh0L2RqSlJx?=
 =?utf-8?B?YWVIKyt3MGFZUW9INXlUdDRmWk1MNmNaL2E5KzRrYWdmY3lsMzgrMWEwT0oz?=
 =?utf-8?B?QWJQbFAxazhnU3V3MWhEVEg1VHUwNFQ0T0FPUThXUFRRT1RyRDZwMHpPd0RS?=
 =?utf-8?B?MnZnLzF6OWtaT1pwcnExRlM5R04rTEN4OEJkVjNhUWJoTjMxOXg5RXZOL3Vs?=
 =?utf-8?B?eDhRSXVzVFFaTEhtOVlSMUJXUHZyMkRubmxrbXRFc1RhVzg5ME1rdlNsTWVN?=
 =?utf-8?B?NzNsQk1OT2JWR2FwQnc0MElMZFpoamlTdGNRZDNWN05tMThIZG1ia3k2Skt2?=
 =?utf-8?B?VXR4dzl2aHlHUTd2Q3FWbTEvdHlVdHBqeXF3Q1RNUFYwUjFicVJjNVlYVC9P?=
 =?utf-8?Q?r+VHmyvfJY7Tw6X+BJGcTZWiP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 09718859-32b7-41e5-9513-08db2390b598
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 07:01:03.4183
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: guM29f8tveXvhg5Kot6nn8thzbKAB+bpi9xwnzD8gkAILIvfY6lgHvBlyJNQbFLnXPRtsTYN6W3E512K+fu8GQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8424

On 11.03.2023 01:09, Elliott Mitchell wrote:
> On Thu, Mar 09, 2023 at 10:03:23AM +0100, Jan Beulich wrote:
>>
>> In any event you will want to collect a serial log at maximum verbosity.
>> It would also be of interest to know whether turning off the IOMMU avoids
>> the issue as well (on the assumption that your system has less than 255
>> CPUs).
> 
> I think I might have figured out the situation in a different fashion.
> 
> I was taking a look at the BIOS manual for this motherboard and noticed
> a mention of a "Local APIC Mode" setting.  Four values are listed
> "Compatibility", "xAPIC", "x2APIC", and "Auto".
> 
> That is the sort of setting I likely left at "Auto" and that may well
> result in x2 functionality being disabled.  Perhaps the x2APIC
> functionality on AMD is detecting whether the hardware is present, and
> failing to test whether it has been enabled?  (could be useful to output
> a message suggesting enabling the hardware feature)

Can we please move to a little more technical terms here? What is "present"
and "enabled" in your view? I don't suppose you mean the CPUID bit (which
we check) and the x2APIC-mode-enable one (which we drive as needed). It's
also left unclear what the four modes of BIOS operation evaluate to. Even
if we knew that, overriding e.g. "Compatibility" (which likely means some
form of "disabled" / "hidden") isn't normally an appropriate thing to do.
In "Auto" mode Xen likely should work - the only way I could interpret the
the other modes are "xAPIC" meaning no x2APIC ACPI tables entries (and
presumably the CPUID bit also masked), "x2APIC" meaning x2APIC mode pre-
enabled by firmware, and "Auto" leaving it to the OS to select. Yet that's
speculation on my part ...

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 07:23:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 07:23:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509130.784357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbcWb-0004nm-TV; Mon, 13 Mar 2023 07:23:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509130.784357; Mon, 13 Mar 2023 07: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 1pbcWb-0004nf-Qo; Mon, 13 Mar 2023 07:23:17 +0000
Received: by outflank-mailman (input) for mailman id 509130;
 Mon, 13 Mar 2023 07: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=DKDe=7F=amd.com=Christian.Koenig@srs-se1.protection.inumbo.net>)
 id 1pbcWa-0004nZ-Jq
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 07:23:16 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2061f.outbound.protection.outlook.com
 [2a01:111:f400:fe59::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e9d2b889-c16f-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 08:23:14 +0100 (CET)
Received: from BN8PR12MB3587.namprd12.prod.outlook.com (2603:10b6:408:43::13)
 by SJ2PR12MB8845.namprd12.prod.outlook.com (2603:10b6:a03:538::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 07:23:08 +0000
Received: from BN8PR12MB3587.namprd12.prod.outlook.com
 ([fe80::d23f:bb1:df95:3918]) by BN8PR12MB3587.namprd12.prod.outlook.com
 ([fe80::d23f:bb1:df95:3918%4]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 07: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: e9d2b889-c16f-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Spi8tUsYkVWK4aIsLmwhCMO9w2ANLN45LSdjle4EB4RaFQZL6MCoKb3zAusOvAcp7LMmj144pTrhSHPYTrNWcepeQcvF9obuCQDH4O9OiEjD+b49Wo5Up1C52i10cTPOReZMl76j3xcdbnUMweOAemPXuucmHdl35anep8viQK4GoI8ZwEiQPvxzObu5OMKSS0bv1yB9zDU1h1Re4WQlZgbo6NLhHaONacTjkHX8k9xghwp9MUWvXntmJHAP1lVTHYVlvleS0OJisdsjcuuHb1TjAQfJN+D7ebaVXMrV/ekZm7A097Ryar/j7jG/ctdWJdKMH/Vz+o99Rlwl8y5+vw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vlJ4v+r0McIcfyEiKv4x1zw5gUvPSBstkFAYS/R5vzo=;
 b=e9KwaT5w9sopSUI2EV1t4Vz/E4nTNd5NTNBs6WOKDND6VWHEFjOgGoZPz7IqzrV7hLYcONOXnKezLjKvZwBPYXEsCcQUw8XaJb64Vtd5A/rzsdB3cxCNuQz20FF6aOH4LwDZPX5zsd3JvClXxhmQCzZm+vGE5XSgCdWZNIb1JKLIu4q4cyA3fuOeEQbe6NWuKibpkXLblZPnpV/3T/9aJzrRPkCz0zV412hHYB2dq99UeEmfRTw1YYXk32vM2U8VAO3+q7KGbddDrSoP3c4ih4bWvcgUHk3ffDyg1n6lphgTMapKEqbz/R6tLHAlIUlVTYL5lJRHg8REQGIkaFv67g==
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=vlJ4v+r0McIcfyEiKv4x1zw5gUvPSBstkFAYS/R5vzo=;
 b=CVN77JY2Y3zHLC9qo4+yC+f1lGKUT6sG+cb9cSGyVInUBRT2dVVf373nlh9zxzohkeg2zwDyOndwPdFLNa5D84phaZ7qPHHd7Gpmvq8bROJrfrGjJCjSF2gzVy6ACHD9o2ElWlbfm+7MFmQ9R+J/gn6Q91iG1FjmEiJjnczPZDk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <d0fb38b8-455e-1210-0f26-9ee7c4335e69@amd.com>
Date: Mon, 13 Mar 2023 08:23:01 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Alex Deucher <alexander.deucher@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
From: =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>
In-Reply-To: <20230312075455.450187-3-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0050.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::19) To BN8PR12MB3587.namprd12.prod.outlook.com
 (2603:10b6:408:43::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8PR12MB3587:EE_|SJ2PR12MB8845:EE_
X-MS-Office365-Filtering-Correlation-Id: 2c3dfc3d-13cb-44c8-37d5-08db2393cb04
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	X38Xu2+GTZHdebcIcjZ+gNvUnjsSbXDtjzuyYs71qb82dN3H0IMLXT5AF/Jmj67NosBxMeJaLaZBdFHjdeoT0TOeoVL4pG42bqWeWso4ozQMVOtISbpKtM3MQKlnWYVc7lK6wB0QDITnMhJSjJu8GW2XIdkv3d/EqSNlS8s4anZPx2WYR1Dak1ZH5oU1TPhQiffVYwraDIkXrS6hECuQEXxwxVyVuDDVA4Bg/q0H3g8AjMTGTnI56QmINtLsfk4kzniC+1TVagfOR/XFYaLFq4Dys4v/Uk+yPCWtK71idsYXMwWTF/rM25Uah5Rh3o4PKTyMU8/tbykrDdA0Hsjsy/8I/PoPkMaTq4QSVvjIUOTSXPTYbgcfgY5xX0rj/bHdrBKAfn/7OzvA3Z1fw89PCs4pfutbxAooxRnMc/K/NTvOj4Kl+KMoKmKro8zdK0ir/f2DCsl0re9ghiq/M8Vz+52MVELV1Pb03V/ghC0M+hUBUXBxgl8jJwd4ztnMmDSBegDTz44O8F5cFFCRxGNXGVWLpUmJoypzIBOiJYE/sxyRu/JFtesI635XsWde39Jthbio7T1CMM5mRLiekpnzwWAnG/uERj1uImid4MH/MnXg2fQ0h+WHvbrXGpgCxBZcbMI7ZyrsK2fU18NrOcDa6+d4wIko3ah7aVaakvqfle19qq7Fv3QIkIht5rxzjqk5in8TH9Ntevmq05DKQaTpamobzk5IF3rJKd0ZtLzUd6c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR12MB3587.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(396003)(346002)(376002)(366004)(136003)(451199018)(31696002)(86362001)(36756003)(38100700002)(4326008)(66476007)(8676002)(66946007)(66556008)(41300700001)(8936002)(54906003)(110136005)(478600001)(316002)(6512007)(5660300002)(2906002)(2616005)(83380400001)(6486002)(186003)(6666004)(6506007)(26005)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y3VHYmlkNTFPZjB1N1BzdVpDRVFsUjRTdGZUbXZlRnBLZFNydGNpK3BKMTZz?=
 =?utf-8?B?Mkp0L085ZWhPR3JteVNXS2pBZllvdEJlNHZpdktFMUhhN2N0VlRvR1dFOXFQ?=
 =?utf-8?B?VmZZaURoY0JFZXRYaW5aMTVoZ2lkK3dRSC9QY3A4YUFmZHBXV0lKTGJIcVRI?=
 =?utf-8?B?eS8rY0puczhqdHRjdkhWVFBOUWdYQUYyOUZ3UUZkdTVkaDY3alVpK2hFR3BE?=
 =?utf-8?B?RGlNU0U2dHNpRTg0OGw4eVpPeVNDanNzMlg2V0J1a2p5aFlqUWVBRWlNQmox?=
 =?utf-8?B?RjZPNDRYbWxtMlhzY3ZnUWd4L1NMSG5RdC9TbTZYRFJQUUl5M3VRWGZkVW1X?=
 =?utf-8?B?SjdDQUgzVWQ1akZMbXltMmdnWUdEUmcrdTgzS3VXazIyVzBxQ291WFR6NmRP?=
 =?utf-8?B?RmoySzdNWlFQTVh4cCtjYnNHRzBGTENYK2ZBeDVFckNxc3h5U3BZWUZFV0pY?=
 =?utf-8?B?OWVMTVo5RVo1d1BhZ3gyRDN1SkJSZzVsY0czMzVkZUhMZyt6WmdidEQ5ZERR?=
 =?utf-8?B?K0cxMXViQ1JhR3QrMk5DREZoK1hkODh4OFhPUlZhTGtZNzIvNjk5MjBCYTlD?=
 =?utf-8?B?ZGFIWTFZSWt5WjJHWXcrU1A4aUhQT3hKR1gxSTZGbG1JUGlqWWVHNHhjQVpX?=
 =?utf-8?B?NDFkSzk3cHhjNEVtbXVKNXFLdUd4R3VaMW5iVnVvVHRMUlhKeVZjeDRNK01W?=
 =?utf-8?B?U3pXUVRNdGlsbGN0T0o2VTFVQldUaGEvTEpHaGlHdDdncmpJUzlOTG9lMUNp?=
 =?utf-8?B?UjRISmJxaG5ERmdlcDV3SG1ubFBjV2NUL2RVM2VML0d0M242aWpobENNZFpm?=
 =?utf-8?B?TVhpRkRGNkdJN3dNUzEwSnNSTWlVWjRNc1p6WW90M1RGd04yMm5Ia1ZVM0Fm?=
 =?utf-8?B?U09sR3FzdlYyQUVOOHFrcUh0L3FURG5BM3JqQWw2OXVsSEFHV0RNa2hiYXhR?=
 =?utf-8?B?QzFpT3ZISmREQ1RkdW1wK0MzVUkrSlNMN0FzVmhjOEVNdWdhWVVhQ3E3MjRL?=
 =?utf-8?B?MTFZdytwekZWSnhCVFpxbmx3OW56bVQvcjM4cXpWcTR6VUtRUHR2VVhMc2F5?=
 =?utf-8?B?aXlWbnRTQXpFSlVTVndSQitQL05tUTVHV1NXVTJOOHdzVm96NS82TWpWdWMz?=
 =?utf-8?B?OHo1NjFCY0hZR2hHbHVaNjcrQkNEd3Yrem12L09CbEdTUGJkU3hZRGtSOFlH?=
 =?utf-8?B?QkJvTWdmK1VuV2JXSnBXMEdKdXBmM1V3NVFUTXZMaThGd1FUMGhRak04bjhp?=
 =?utf-8?B?L1BwSmFhZitxOVkyR3JsMjZQTGxwN0VHbFZ2VE5SWW1TQkdCc0Z1bmFaNkVD?=
 =?utf-8?B?a0NHejZydndWZjY3TElWSy9XOE1NVEhHems5ZVdnamFvNGdXN2kxYU9mNHB1?=
 =?utf-8?B?WDhVbjlET2RyZTVsSkVTb21EaEVpZzJpTWNUbi9ISWVMZEs0UVhGbHFSd1gy?=
 =?utf-8?B?QWt0d0Y2bHdGM0l3U210eXEvVVZCZVdTbHViSktyM1lBb0swVHl6UjBSelB0?=
 =?utf-8?B?eVpMa1N2RmYzNnNud05xdXdNeXJxTnlaL29XUHpPeS8wYXc5UytWVlF2aTV2?=
 =?utf-8?B?amZXU0tBWHJhY2x0RmxTWTdEMDRqQ3pDZi9xSGl4SDZieDM1czhwRTFsdnUv?=
 =?utf-8?B?K21tRVZWSFhLUHNwenp0SnJMdE5IUjhRalB4QzVrRUxpaldWL0VnOVNWcTM5?=
 =?utf-8?B?KzBNVmVTWE05aUIwZkdsRmpQSFoxbFI4QUZCMXdPSEw3K3JYcjhiN2lnV1hu?=
 =?utf-8?B?MVdDTVFTR2RRK0Zra0FyeXU5dG5ManBqYVF6RWNUR0U3UHBWbkp6VDNKRmVs?=
 =?utf-8?B?eTBXRzI5b2RZZkhJUGFGd3BSUUtYU3F1NVdULzZUQlZaWGZpNVNhdzdwWWtv?=
 =?utf-8?B?bVYzYTN3c3dCd0lybmdOK3BxMmhqV2pSQ2Y2VkcrOFhQcnBpTmJ4RkZrdGFC?=
 =?utf-8?B?NUV1aGg0dVFkVS9ScTl2ZFBvMDVXNlZ3OElWb2hBRVpENERBSWR6N0RETWox?=
 =?utf-8?B?Q0pZeXMwVHpEQXdDcjhBK0dER3g1SUZmbFFyd1RMM3ZReUJMWlozdHZWbGh5?=
 =?utf-8?B?OVBIdXN0N3NZekd0MjJSQ2NBN3d6aENCOUNLTFo0RW1PWENNcHhLbHF3YnJt?=
 =?utf-8?Q?4qyFuD7V28xSdJhCvp6LsF+3B?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c3dfc3d-13cb-44c8-37d5-08db2393cb04
X-MS-Exchange-CrossTenant-AuthSource: BN8PR12MB3587.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 07:23:07.8616
 (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: zUhVkLpLMxAEaCi6rE4AOreUbWmH2MXG180RX7M3JBp4/EnV6scQ4HmMIwXVK5+I
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8845



Am 12.03.23 um 08:54 schrieb Huang Rui:
> From: Chen Jiqian <Jiqian.Chen@amd.com>
>
> When dom0 is PVH and we want to passthrough gpu to guest,
> we should allow BAR writes even through BAR is mapped. If
> not, the value of BARs are not initialized when guest firstly
> start.
>
> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
>   xen/drivers/vpci/header.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index ec2e978a4e..918d11fbce 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -392,7 +392,7 @@ static void cf_check bar_write(
>        * Xen only cares whether the BAR is mapped into the p2m, so allow BAR
>        * writes as long as the BAR is not mapped into the p2m.
>        */
> -    if ( bar->enabled )
> +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )

Checkpath.pl gives here:

ERROR: space prohibited after that open parenthesis '('
#115: FILE: xen/drivers/vpci/header.c:395:
+    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )

Christian.


>       {
>           /* If the value written is the current one avoid printing a warning. */
>           if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 07:25:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 07:25:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509132.784369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbcYO-0005LX-Ar; Mon, 13 Mar 2023 07:25:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509132.784369; Mon, 13 Mar 2023 07:25:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbcYO-0005LQ-5Z; Mon, 13 Mar 2023 07:25:08 +0000
Received: by outflank-mailman (input) for mailman id 509132;
 Mon, 13 Mar 2023 07:25:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DKDe=7F=amd.com=Christian.Koenig@srs-se1.protection.inumbo.net>)
 id 1pbcYN-0005L4-BU
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 07:25:07 +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 2ca8ffa1-c170-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 08:25:06 +0100 (CET)
Received: from BN8PR12MB3587.namprd12.prod.outlook.com (2603:10b6:408:43::13)
 by PH7PR12MB7236.namprd12.prod.outlook.com (2603:10b6:510:207::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 07:25:02 +0000
Received: from BN8PR12MB3587.namprd12.prod.outlook.com
 ([fe80::d23f:bb1:df95:3918]) by BN8PR12MB3587.namprd12.prod.outlook.com
 ([fe80::d23f:bb1:df95:3918%4]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 07:25:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ca8ffa1-c170-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oRa5wXihvN++21foIDk7KvDpE6I9nc2BTjvc+mvh3wYoQEnB0x63XLBQTZJJGP2NUJ3HJOjyPVcxiThl2vXvKtDg5229gFZcKEz0cRAjdZgTsMdfQyNWg3rwiuF6S//onVvgSf3GfkfpTUlm8kHW3SWZhGEn2H9BG7Jml0auClxydP7fKUSdkxeHhbE/dSLDWgv65uwB9UoWNKtY9CKSlzm+0sVXNfUK6MlnPNgSe4emuVIvUhnaOz5R2zPstc7qK888PFb8N+9eF/hyyT5k4QLtiMepi8U8Ay3tufcUOcHfu8ZKt5ri+TwWSyavWSKiQpfw9gZJ+KpGUzY8rWr45Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SBfqC4qhMtRCl0gKzFStfehn6vE0hHmR3VrImV9VC6w=;
 b=DRKy5N9DQAocYUnhwb0SX8c0ybS2eNc9mGSEQNUBERO5TNGRtv83wAVMFwViYxyQm6KJ2vm+nx35uvy2UzVIg9VP56iZ7o2Pf30jDPJ+WgvOirMCSjl7egIpkdhXLPmoFhakCzFrl/lCrWMkN/0rP0zNpYl8YBgOgL3kxFojmly02JA1mhuycY23DSqF06IELnDj0AkpSlR522XWRwQ64g4i0s+YRHFTcIJ9WzCYn4HYRsK2ZlG/9Q1oNkIdvgbfOZgEhntGFezoOWpStfygwvDPLoCT9hHGYQjfQoE95+n/Y0WzCwQYU4zZD305K8Zxd9GBF/+3vNGqQcq6me/Axw==
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=SBfqC4qhMtRCl0gKzFStfehn6vE0hHmR3VrImV9VC6w=;
 b=V/mOY+LlbY+n+I+3pUcBbDX2CQbxF1iVBIcRtEAHvjh8iRP+rH1XyTnbEMXws1hWDzGWy/kv4GbQO/5/6UUMhh5OIi9Iu2pE2xT4MFMyW2OIRVbmLZeGIRCZODeWf+c6SmB2exnf6trEbUKELQJW7cHAi7RIulqQPkJ3y7cEAik=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <e8e2a3e7-5191-e310-0900-a6a9b76c0458@amd.com>
Date: Mon, 13 Mar 2023 08:24:55 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [RFC XEN PATCH 0/6] Introduce VirtIO GPU and Passthrough GPU
 support on Xen PVH dom0
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Alex Deucher <alexander.deucher@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>
References: <20230312075455.450187-1-ray.huang@amd.com>
From: =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>
In-Reply-To: <20230312075455.450187-1-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0051.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::9) To BN8PR12MB3587.namprd12.prod.outlook.com
 (2603:10b6:408:43::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8PR12MB3587:EE_|PH7PR12MB7236:EE_
X-MS-Office365-Filtering-Correlation-Id: ed1b74eb-fb00-483e-a3b6-08db23940f12
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BIJ6K64IyYXc8qfaAusa6nUiTEPsOckm/CWIUfers5EbSBh2Y41DgCRBQtEBG0Axz1FXoMDRokqWiNMy7TpgGYI1/806O4dC2TnG99NGsaLC8GiYX11DcmuPJZWev3ck7MWmeauoa/MKyv6ffEKYXFxUeFYKS5ccM2SpQFmXrb8WY7kmOO9TqWXbJRnrRuvk3pc1M+eaAmqqQxLMLBNCwY/PmF0VEb48eIFD1ba8x4i7HRMLyioQqzEg9NbiJAKX6SkqMDTd0OYfhm+Q3zB04iAegW/Epxkaj0zetoBm+tj4ZpEpSqBdafYOqGV1BSmbEchxUbamEFBCxJ9mvSaNd8WloKkAerM1bnvZ4JZOwboJClIOduRTLwPipqtz4heXOl910WfxjkOt3ta8hChMSUXNhot0wmdr8pFsS9/d9XYJsKdLWioWOBKR+ryZ53iRJHrRXSyRFrbYz0wGwEORcA2UP6S+b/tpc+BtbSzL9O/9QPiwTX4goi3u7kW3+JfFMBpy6cQjoxTyTfwwKol2aP7l15QDu8iF7xwFxnd/LUEt1OLdn29qUIdBSyTEH3gTnEN43Oix7C+sHouavUGvCBNuRdjtnY9KHdBP/J7ghNox0E1qx/CzDFmfeiLav/Vb6iYKZevSdWsgCYMnnY9GkELwkw93MFgjWsaErLjH8YrwPXeu8lgCx+Qr7LC+AXpZ5HFOC757fwiz8pp1AZhi5XAznRxseBxnE+/3713URL0KjPkm6xsawfSQXmxgcc3Csgj2ApYrSEP3vEUOHnD/e5DbpcnxhciQEIs5gjbfEJA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR12MB3587.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(396003)(39860400002)(136003)(366004)(451199018)(36756003)(86362001)(31696002)(41300700001)(186003)(26005)(6506007)(6512007)(5660300002)(4326008)(2616005)(8936002)(316002)(110136005)(54906003)(478600001)(8676002)(966005)(66476007)(6666004)(66556008)(66946007)(6486002)(38100700002)(2906002)(83380400001)(66574015)(5930299012)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YnFxU3labFZ0NkFySDVyZE1NenVQNWdzY0crbHFXWENWNjNFZng1YS9yam5Q?=
 =?utf-8?B?NU5abFRFRnk2R0I4YkFtekVaeUVQWHNob2ZIY1FKbDkwd0diUm0xUzYxbEZJ?=
 =?utf-8?B?NzhjbzFLZzVOL0dUdlg4cCtSaGpXdTRZSHhHTm5xbC9RSHVUbUZ2Y1lFOE16?=
 =?utf-8?B?bmpvY3hNSUtxZUVUcWt6cW5mME5tK0pybStYeWh4TTJza25CNTBOeE1sYlhZ?=
 =?utf-8?B?eVFlcTJRVFpSYWJBaGdqOU4yd05Nd1VlcFhreU9ka3hjK0gzNUlDZUoxcmQr?=
 =?utf-8?B?NURTVDFpa24yeDVvZVBZd2w2Qi84Wjc4RUFYdXhUN0tmdUhDd2xmUk01UWRw?=
 =?utf-8?B?MkJwOFppWHI4VUdUaWh1bWk5Z0lYOC9NMURHNzBoalNvN3ZJZXVVVG95d0k3?=
 =?utf-8?B?TUdWcFgrZDFHbTkzeGJCcDZvV0w5YjJxNXhyakFvS2ZlK1dTOFBrR3FpdEFX?=
 =?utf-8?B?bm5mMmN1MnJhdXh1RFdkQjFvR2pKREtzdSs1TWtoSWordXh5VTJGbFlJWmVo?=
 =?utf-8?B?elVwdWFlSmxwQVhqYXZ0V3hnQXNwaVh6aTJ0R3hwdzNoTDNUT3ZjV2R4ZU1B?=
 =?utf-8?B?UUh2YTdXbm1WclhNSnNrbzJFbWIrWW16akZLaGJUTEg0b2hHcnpZU3l0RVFr?=
 =?utf-8?B?SHJFMitON3FFY0pTaGpnYU9YSjlFTXNOTG84a1pwN3NzVGE3bmkybWR6cGN6?=
 =?utf-8?B?MkJlU09PZUFldGtPWkJQamt5NloyRHZLeDdSNk8wSGNyekhwQzI4ZmFLWG9i?=
 =?utf-8?B?bENGL1hEUG5tMkdiYitFNUN6NG5NMXNLVUNZek5tZ3RNTDRIa1JBaXpSZFFF?=
 =?utf-8?B?anRsNjZob1Y2TDhBMkVuczlBRlVxQnNuV1RaYjVQY3JzV3BqdU5JOTY1RlBN?=
 =?utf-8?B?T0FGZEZ0WlY2Yjgzb1J5eFBhVXdFV2xxbldPbnByNkZaa2tlM0hKcWhvY3p3?=
 =?utf-8?B?bW0vdnlqNGJkTlE4aTdqLzZjMzVIU2VtekI0MjdpbHlFZ3haRTRUb3R4dGVZ?=
 =?utf-8?B?YXBybzYyVWJSbE9YaWt5cUxpUHV3WVFvWmJhcEl3ZEZSWDR4aVZSUWtPNnFH?=
 =?utf-8?B?VmNCdVhaSnV1aHRWYTJ4Yzk4UnpXeTNLaUhqRXM2SzVXSDRZTzRrODRLclJB?=
 =?utf-8?B?R0lEMnJ5aGhjZU1ISmdJclByQ0NycGdqQnZ2WUVlMStlaWhQTy9MRFoyNFI1?=
 =?utf-8?B?WEJlTTNPcnFVRDdWOWtlMWtxTEZ0YSt5OGFtR1dEZCtRRjMzOHZzdlhkQ29Y?=
 =?utf-8?B?TG8xWGZka3AwdkRtaXhzUkg1VWhLN1V0WTh6eGdxcEtvTkJBVDE1Z29VV1pv?=
 =?utf-8?B?TVNYbExCVHJiV2Fod01ITEJKZWVBWjZZTmlwNzhsYjlFdzQzbHNMMjNPWXhh?=
 =?utf-8?B?N0tlQ0FuS0dvc1BBNUlVRnNsZHkrT2dCSUh3TXBUSkt1ekNrai93OEFLV1Mr?=
 =?utf-8?B?SU9BalJUbW85TkV5VGRQaFZhT3ZobVE5dnpJN2QvaWZRaVNqMjVCWmN0dmRD?=
 =?utf-8?B?LzVyOVJuZU9LR0hLUEdKYVZ6dGVaSnNzZkVEQTcxRlVkZ3hvZXhDd0JVbDFH?=
 =?utf-8?B?K0RDMWpGRWpVUk8vYW8wbThhQ3JIdzJXSWdjU2lFcm1jR0pjMXpkSEYySkJw?=
 =?utf-8?B?WU5tQVV5eURtUjNIS3F3ZkpRM1U5cUYzM0I0QTZQc21Qc05xbUYvWmFOSGUz?=
 =?utf-8?B?ZUFJNE84QVNsaVVlY21Uc2d4REpqblRrdEtuNXdCRXRvbG9FV0lZUDlvUGxn?=
 =?utf-8?B?KzJXMkpwb0FaK0dpTVpXaXkvTVB5eVdnYmFSbTdLUHY3MWJZOW1aMisydTRJ?=
 =?utf-8?B?V2hISFhNNGJwaEJIMlJQT21paC90V29LQ1owU1RtN2l0cjB3VGNsQUtldEZD?=
 =?utf-8?B?T25lYWhYZVlUT21ETmxKZHk4U3lMNUswMW81RzNkMFFHejZPSy94d3IyTjRE?=
 =?utf-8?B?eUpzUEdsMENhUkdvUUdHOFJEanlqOXFHTy82K1BPWmxURmRpUmR4SEczUk1I?=
 =?utf-8?B?UGhBNzVLSy9lUUQxYjhwdVBlM2dVT2FJOXZoRkZTUzBpUVVNRDhQMTZQUUdz?=
 =?utf-8?B?amlmSE5DVVZBcU42d1ZsVXNFbEdqRk5zd0t1eEdzeFJGK2lORkZTRGtTMXRM?=
 =?utf-8?Q?VD42aju/4u/mBCyemEHsmP6KA?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ed1b74eb-fb00-483e-a3b6-08db23940f12
X-MS-Exchange-CrossTenant-AuthSource: BN8PR12MB3587.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 07:25:02.0724
 (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: tQphUPd1fH2Jo65Z9xxvALIxtP2d2TURFndpM2xaEemCHmyX6AJziwUxkFfkPhWN
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7236

Hi Ray,

one nit comment on the style, apart from that looks technical correct.

But I'm *really* not and expert on all that stuff.

Regards,
Christian.

Am 12.03.23 um 08:54 schrieb Huang Rui:
> Hi all,
>
> In graphic world, the 3D applications/games are runing based on open
> graphic libraries such as OpenGL and Vulkan. Mesa is the Linux
> implemenatation of OpenGL and Vulkan for multiple hardware platforms.
> Because the graphic libraries would like to have the GPU hardware
> acceleration. In virtualization world, virtio-gpu and passthrough-gpu are
> two of gpu virtualization technologies.
>
> Current Xen only supports OpenGL (virgl:
> https://docs.mesa3d.org/drivers/virgl.html) for virtio-gpu and passthrough
> gpu based on PV dom0 for x86 platform. Today, we would like to introduce
> Vulkan (venus: https://docs.mesa3d.org/drivers/venus.html) and another
> OpenGL on Vulkan (zink: https://docs.mesa3d.org/drivers/zink.html) support
> for VirtIO GPU on Xen. These functions are supported on KVM at this moment,
> but so far, they are not supported on Xen. And we also introduce the PCIe
> passthrough (GPU) function based on PVH dom0 for AMD x86 platform.
>
> These supports required multiple repositories changes on kernel, xen, qemu,
> mesa, and virglrenderer. Please check below branches:
>
> Kernel: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=upstream-fox-xen
> Xen: https://gitlab.com/huangrui123/xen/-/commits/upstream-for-xen
> QEMU: https://gitlab.com/huangrui123/qemu/-/commits/upstream-for-xen
> Mesa: https://gitlab.freedesktop.org/rui/mesa/-/commits/upstream-for-xen
> Virglrenderer: https://gitlab.freedesktop.org/rui/virglrenderer/-/commits/upstream-for-xen
>
> In xen part, we mainly add the PCIe passthrough support on PVH dom0. It's
> using the QEMU to passthrough the GPU device into guest HVM domU. And
> mainly work is to transfer the interrupt by using gsi, vector, and pirq.
>
> Below are the screenshot of these functions, please take a look.
>
> Venus:
> https://drive.google.com/file/d/1_lPq6DMwHu1JQv7LUUVRx31dBj0HJYcL/view?usp=share_link
>
> Zink:
> https://drive.google.com/file/d/1FxLmKu6X7uJOxx1ZzwOm1yA6IL5WMGzd/view?usp=share_link
>
> Passthrough GPU:
> https://drive.google.com/file/d/17onr5gvDK8KM_LniHTSQEI2hGJZlI09L/view?usp=share_link
>
> We are working to write the documentation that describe how to verify these
> functions in the xen wiki page. And will update it in the future version.
>
> Thanks,
> Ray
>
> Chen Jiqian (5):
>    vpci: accept BAR writes if dom0 is PVH
>    x86/pvh: shouldn't check pirq flag when map pirq in PVH
>    x86/pvh: PVH dom0 also need PHYSDEVOP_setup_gsi call
>    tools/libs/call: add linux os call to get gsi from irq
>    tools/libs/light: pci: translate irq to gsi
>
> Roger Pau Monne (1):
>    x86/pvh: report ACPI VFCT table to dom0 if present
>
>   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/dom0_build.c         |  1 +
>   xen/arch/x86/hvm/hypercall.c          |  3 +--
>   xen/drivers/vpci/header.c             |  2 +-
>   xen/include/acpi/actbl3.h             |  1 +
>   13 files changed, 50 insertions(+), 3 deletions(-)
>



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 07:26:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 07:26:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509135.784378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbcZd-0005uw-Jn; Mon, 13 Mar 2023 07:26:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509135.784378; Mon, 13 Mar 2023 07:26: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 1pbcZd-0005up-Gq; Mon, 13 Mar 2023 07:26:25 +0000
Received: by outflank-mailman (input) for mailman id 509135;
 Mon, 13 Mar 2023 07:26: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=DKDe=7F=amd.com=Christian.Koenig@srs-se1.protection.inumbo.net>)
 id 1pbcZc-0005uh-71
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 07:26:24 +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 5acfb899-c170-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 08:26:23 +0100 (CET)
Received: from BN8PR12MB3587.namprd12.prod.outlook.com (2603:10b6:408:43::13)
 by PH7PR12MB7236.namprd12.prod.outlook.com (2603:10b6:510:207::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 07:26:19 +0000
Received: from BN8PR12MB3587.namprd12.prod.outlook.com
 ([fe80::d23f:bb1:df95:3918]) by BN8PR12MB3587.namprd12.prod.outlook.com
 ([fe80::d23f:bb1:df95:3918%4]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 07: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: 5acfb899-c170-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DG41vwSdLUTtCMDGO5WY4spgRDN8aqaqnmEQMv426ubUwTqTR+WdExruW8EJ7wdsZi/r57DiwMEmVZqCyhalkIsx7fgWY7MURbBljViG06e9YNNIj3BEU0u05BJUS+WDM8VYp7dVToNCTNJPqNxqC3ZjLkbzcqwW7f3gX7vCsAt3JEYuqVYb6R1ESwbS8bNb4dzrX7gK1e+5VOIzZBYT2Ud3ocz5sapAFgCKZaNs067OPlYWlTiEK5SC9xUbgRuyTseFelyuGXct8eFs0TRBfG2WZ9dLAIbDpmarbFeZ+HJTa385UPLh8oe8G3hlv7S4nb+e2GvbRplHqp0SCr30IQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x6E92zahT1FpEoqbvvrR9GBHNWdssWJ6+NBMhFJyT4s=;
 b=EcUW7mmhB/zRoLhQO0K2diT+HQ862Wx+KcjGdUpFc6/WUAICGQ10T+kX3cqbzDS+h6YmT83FmxtmX0JuG9WFf/e1EgkIO1RwQP6yhji57v2BNESifbEo5Y0ljYmLeUJDCH25wjA5U77o+6+i5vusmYVqqyr/1fAVTdHYXUC+u1IXq/t6LE52Wd0pNKgW9eve7E633gH5QbrDgNn6QzPE+mF7YAGlBXYsfYoG85x+XHInwIjQdKc2l6mcLUyiXqMkNxxKRosbTxfG/krEXGHlml2TYNvI1coN3JbtAEHa8LITLd88Eal/h1kQMzg+3eR+WtojmdZGyDXxChhAW8gPqQ==
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=x6E92zahT1FpEoqbvvrR9GBHNWdssWJ6+NBMhFJyT4s=;
 b=iQ3bqucz4QXLrjEpn0AE5vwIvZslfq09sfeAvfbeTLC+jmwxVRdUsm2LX3kzj84+23Wi199XdNGyhWdD89i3R0fYtau0drPeP7Fl7Tk9Rg2ZdHLPa4xFl35/xQBjSPRP7/Oc3YoSgh51SkoGGGeSdu9rxcMTmkouKwQuBKBwHbg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <e292ea24-606f-24c7-ee44-34d55f7147f9@amd.com>
Date: Mon, 13 Mar 2023 08:26:09 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.7.1
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Content-Language: en-US
From: =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>
To: Huang Rui <ray.huang@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Alex Deucher <alexander.deucher@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <d0fb38b8-455e-1210-0f26-9ee7c4335e69@amd.com>
In-Reply-To: <d0fb38b8-455e-1210-0f26-9ee7c4335e69@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0133.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::20) To BN8PR12MB3587.namprd12.prod.outlook.com
 (2603:10b6:408:43::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8PR12MB3587:EE_|PH7PR12MB7236:EE_
X-MS-Office365-Filtering-Correlation-Id: 42d871c2-85a5-4934-71b1-08db23943d75
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	P5tGLGbWygvm2+FYdL7BSiMv6RBN49qdJbuYVZf+wkz5bJP2oWVUqWfatEntYyC7com4ecAkR7gPcXLTgDGfFGFqoBB2506lGKMSgwEMV7h5poCE4GMHflgUIBfZL8Wz+FLaCiC0u9lUTlnoDg5XW0Q1/AN5yAwm9BDr/8+i9AVuejqpqP1AFVK/joYg/BkwF1zqz4iToa8ZnhYEPn+iJIaU2zXCJQxcZVevbOzmV4TFLy1BfWsEaK/C6+ZUNg9JaGNAph8CCFOD8calhRqTwnbSlvPpcsC1534Tf10I2auZAWzZLyWM4uQMWD9QjeVMvxOyiLxRleyHOyAbfkGbKqoUBfZDyckB1rUiclwR79X4yabGW1NxYwGwz4wKmJsBxmSMEVshNWuG/UGHeuoaPLToxFVtC8oxG3AydJYWwNc2fBUH8mWS5Nut7S+roDllMxO/6dhtd30poRszQm7Z4/GN38Obaf2kZXzD2S7UAd6EqK6sZwLp/6yYB9TLnYMioeKG0RnOH5Y1gCQHq0jDaH86qfiZF2OgF72Z1JvoyLSnzRjdWTD/5T8Sj2NTLIGAmOIhfYy6fIRxFytSyXRKLx+dlhkxJulEyQVoE3tywBg9QRv6otM49RJXyHEaL7EEcGN8pzXDwbVzokqj/9zrvLPwWrlYxPnI+/I18CEOJcTyQZZd1oMxjmvtkzV+Ik14mMQpYMsujthSXfYRr8fQtbmvU71L9Yktyjb9AA8LdA8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR12MB3587.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(396003)(39860400002)(136003)(366004)(451199018)(36756003)(86362001)(31696002)(41300700001)(186003)(26005)(6506007)(6512007)(5660300002)(4326008)(2616005)(8936002)(316002)(110136005)(54906003)(478600001)(8676002)(66476007)(6666004)(66556008)(66946007)(6486002)(38100700002)(2906002)(83380400001)(66574015)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bkxnVkxwUXY3UFdkNVVrTVlMTFd6SUUxOHBLMVdyYjQ0REtvenMvdDRrSWlZ?=
 =?utf-8?B?YzVpMlBIM1Y2anlqRHpRTi92Q25zUmh2QncrdGViNkk0VXBEc292OCsvdGlM?=
 =?utf-8?B?VlkvdE1VbUhNZU9MYjZQZHZMUzV5c3ErREh1cnBuRlA2WTlMVGdTM2l2c1Rj?=
 =?utf-8?B?ZU1aeUtybXFrNGpzYzFjQk1tNVJXNTFReHdZSEZORGxkazZ0N2Y0MlN2dzEz?=
 =?utf-8?B?WFBlOVZVZ05nRHhmUHRXaG8xYVlwSVFIUy9zU1FTdER6MitFNFhjK3NqT3ln?=
 =?utf-8?B?dXhmRlZxOHF5ckNTTkZjWDE4WkF5QlRsb3Z3cjNCRHlZRFZqR1RReFFXRjRH?=
 =?utf-8?B?Tk55RDV5Rmx2VG1Ed1hickRQTDhLYlZGVkxwRGNuRk5ERm1kckRvSjFnSGxI?=
 =?utf-8?B?cDRRQTFFbnMxNno2N2hzYjZqUDNETEdEa1RtcHN6c3FQOFlHVlIyVFhPU2Nn?=
 =?utf-8?B?UGpuTTVubFdpWHo2MUNZbkUvcEZHcUV6emEzaUNISUNrN056UTVWY3QzWEVG?=
 =?utf-8?B?QjYwRXlYSC9pOWVGaEJYcG1zYVR6K3V1OXFKY0RoZDhOSnNVMWZHUXBNMlBV?=
 =?utf-8?B?SlRKNjlWY1pISG8yaFdXaE9IQzk4V0pDaHE3b2xnMWVQNTE5YnRkTWlOZXF5?=
 =?utf-8?B?WlY3aFBzSFFaNDRyZlpua3paNXdha2g1T1RtVStOY292K1UzYmlabWlqK0s4?=
 =?utf-8?B?b0NhZkY2cVgzUHZIZFVlN0Z1MGhHdUduV09VaGpLbUJtRVVVbmRhMi9Tbytw?=
 =?utf-8?B?aVYxQlB1QURhSEFGVUNScmtONERRaDZHM0ExdkhrK1VXUE5aR3NnZ3Rmc1dX?=
 =?utf-8?B?RzgrOHl5Ylg4OFlucnZRaWVRUjREbG05Uk1EWXU5NllZYjZ1VEF0cTRJN1BS?=
 =?utf-8?B?aE4xU2d6SC8wbDVhT0pYdWRYOUpIYmpIS2F1WHdFUmc5TzhzMDdRYUgyUXRH?=
 =?utf-8?B?dWQ4aDJKSWF1ZnJ1dEduMWNFVGJzT0hkaDEvdm1rRk9Xd3FLaUg3Qkw2bkdk?=
 =?utf-8?B?dWg2UzkwaFZjKzltcG9HR2VwdTdOOSt1NnR5QVYydzN5N2hIV2NaWlBNd2hZ?=
 =?utf-8?B?Mm9QK3RmSHNvMmtrMWZETkVXbHBXYU5USUhQRDd0SU1BalhzSXNWUm5BQ0E5?=
 =?utf-8?B?UWhzL1NzOTF5ZDRwNjZaOWZ3djZjd1JzcTNIQ3lFcmlsTGpJaURobHRtc1Bu?=
 =?utf-8?B?QzdHU3JnM3E0bTBiWXZrVjlWeWJuZmNFRUxabDgzQWVMVGM5b2RVcEYydHJk?=
 =?utf-8?B?dFZiUU9nKzM1dmlYRkJ0UHdhTmJwMWFQa3JreW5Pc2pWY3hsdzBsdjdVWW5N?=
 =?utf-8?B?TlMwNGk3Ukdod0d3VWxQYmtxR1Q2dDh3WjdMc2svdDNaWHhxVnNXVUZIYllY?=
 =?utf-8?B?RVlCd1RudW5oRlRsbWtjYUJuUDd5eEZ4WHVsTVF3MHRBbVF1WnhYczNQQlV3?=
 =?utf-8?B?Q050bENsYXU2MU1ZYlhPR0pWYkVLcE9oK0JPbElxREo1b0Uxb3NUSEVDTU5J?=
 =?utf-8?B?ZWxVRkR0V3VOT3N2Mkw4YTNsQ3ErbDcxOElzSGExd2VST3NvMGVzTCtiNU1Z?=
 =?utf-8?B?a2ZiQ21CYUFzQXE2U0dXVmwrQldRQzhRSDZwZjdvTE1sTndYU012VlFCaVJ0?=
 =?utf-8?B?cDNIdEdacW9xbEx1VXpySm5qWFZQSW1QT1JJOEFSelh2eG9nb2psR01LSldG?=
 =?utf-8?B?emRua09EUjJEQ1RUOFUyemljWng2c2RWeDNQT1kvNzMzbFN0SW5LeVN0My9Q?=
 =?utf-8?B?TGF1L3R1dVpaaEVVbStLc0RzVnQ5V0twd25iK2lFQjQ0bmxTRTJYWkFxVG1L?=
 =?utf-8?B?NVAwdnhEVXZKeGs5ekdqaUh4OURnOW5DUE9Wb2VGUEdYN3QrNWdSeW1UVGgr?=
 =?utf-8?B?Uk5RUGFIaW5sRWM1Ri9OaDlQTFZ3WFN2ckFZRnVsU2diRytPMHNwcFJZdVBO?=
 =?utf-8?B?RWdCSUhTSzczbisybW9aaVlmanowSnRRa2UvSHFuVWcxamZHeFZvbWFJb2dh?=
 =?utf-8?B?dW90dWlIcEYyMkh1MEdtSzJrUUZuUTFTRlUxK2ZWVk93d0VpNVZ3UEREeW8v?=
 =?utf-8?B?UzE4MXhtcTU0TTZOeFFJVWtNdkQ0TG12M1JycjRmOXBaTWh4bUxnS1BZVVo4?=
 =?utf-8?Q?ehQ/qXo6DcYoxQLTfUw26YLFm?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42d871c2-85a5-4934-71b1-08db23943d75
X-MS-Exchange-CrossTenant-AuthSource: BN8PR12MB3587.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 07:26:19.8483
 (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: 7q7M71tAwQ3usmD2Y/JEUuXvEBnfPwhRniLa7eBxKdkQF7PvSZBxV8bMSozId6GA
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7236

Am 13.03.23 um 08:23 schrieb Christian König:
>
>
> Am 12.03.23 um 08:54 schrieb Huang Rui:
>> From: Chen Jiqian <Jiqian.Chen@amd.com>
>>
>> When dom0 is PVH and we want to passthrough gpu to guest,
>> we should allow BAR writes even through BAR is mapped. If
>> not, the value of BARs are not initialized when guest firstly
>> start.
>>
>> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
>> Signed-off-by: Huang Rui <ray.huang@amd.com>
>> ---
>>   xen/drivers/vpci/header.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
>> index ec2e978a4e..918d11fbce 100644
>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -392,7 +392,7 @@ static void cf_check bar_write(
>>        * Xen only cares whether the BAR is mapped into the p2m, so 
>> allow BAR
>>        * writes as long as the BAR is not mapped into the p2m.
>>        */
>> -    if ( bar->enabled )
>> +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & 
>> PCI_COMMAND_MEMORY )
>
> Checkpath.pl gives here:
>
> ERROR: space prohibited after that open parenthesis '('
> #115: FILE: xen/drivers/vpci/header.c:395:
> +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )

But I should probably mention that I'm not 100% sure if this code base 
uses kernel coding style!

Christian.

>
> Christian.
>
>
>>       {
>>           /* If the value written is the current one avoid printing a 
>> warning. */
>>           if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
>



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 08:26:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 08:26:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509142.784387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbdUu-0004pN-Cd; Mon, 13 Mar 2023 08:25:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509142.784387; Mon, 13 Mar 2023 08:25:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbdUu-0004pG-9b; Mon, 13 Mar 2023 08:25:36 +0000
Received: by outflank-mailman (input) for mailman id 509142;
 Mon, 13 Mar 2023 08:25: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=Zj8d=7F=bu.edu=alxndr@srs-se1.protection.inumbo.net>)
 id 1pbdUs-0004pA-Tc
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 08:25:35 +0000
Received: from esa15.hc2706-39.iphmx.com (esa15.hc2706-39.iphmx.com
 [216.71.140.200]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e2a9675-c178-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 09:25:32 +0100 (CET)
Received: from mail-qv1-f69.google.com ([209.85.219.69])
 by ob1.hc2706-39.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 04:25:24 -0400
Received: by mail-qv1-f69.google.com with SMTP id
 e11-20020ad4536b000000b005a9292e8c2bso627646qvv.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 01:25:24 -0700 (PDT)
Received: from mozz.bu.edu (mozz.bu.edu. [128.197.127.33])
 by smtp.gmail.com with ESMTPSA id
 u11-20020ac8050b000000b003bfc0cca1b7sm5160090qtg.49.2023.03.13.01.25.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Mar 2023 01:25:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e2a9675-c178-11ed-87f5-c1b5be75604c
X-IronPort-RemoteIP: 209.85.219.69
X-IronPort-MID: 261668084
X-IronPort-Reputation: None
X-IronPort-Listener: OutgoingMail
X-IronPort-SenderGroup: RELAY_GSUITE
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:5DmNs6C830h3chVW/23iw5YqxClBgxIJ4kV8jS/XYbTApDsh0zUPm
 jBLDzyFaffZZTbweot/YdixpB8Hv8SGzIdrTANkpHpgcSl2pJueD7x1DKtR0wB+jCHnZBg6h
 ynLQoCYdKjYdleF+lH2dOCn9SImvU2xbuKUIPbePSxsThNTRi4kiBZy88Y0mYctitWia++3k
 YqaT/b3ZRn0i1aYDkpOs/jY8Eg256yo0N8llgdWic5j7Qe2e0Y9Ucp3yZGZdxPQXoRSF+imc
 OfPpJnRErTxpkpF5nuNy94XQ2VTKlLgFVHmZkl+AsBOtiN/Shkaic7XAha9hXB/0F1ll/gpo
 DlEWAfZpQ0BZ8Ugk8xEO/VU/r0X0QSrN9YrLFDm2fF/wXEqfFPU5dN+XE8nEbcx1cB5IGNX+
 cA7JQ8CO0Xra+KemNpXS8Fpj8UnadD1ZcYR5CAmwjbeAvIrB5vERs0m5/cChGZ21p0IR6+PI
 ZRIAdZsRE2ojxlnM1MHDp4ktO21wHTzblW0rXrP+/NpvTiLnFAZPL7FHsPsRfakGedvuF+op
 WPZxEPmIzo4DYnKodaC2jf27gPVpgvrVYRXGLCm+/pChFyI2ndVGBAQTUG8o/Sylgi5Qd03F
 qAP0i8nrKx37VLyC9ejDlu3p3mLuhNaUN1VewEn1DywJmPvy17xLgA5ovRpMbTKaOdeqeQW6
 2K0
IronPort-HdrOrdr: A9a23:ulM0c6n7SoNMtKofUF7BdtSlSRnpDfL63DAbv31ZSRFFG/FwWf
 re+MjzsiWE9Ar5PUtLpTnuAtjnfZqxz+8W3WBVB8bYYOCEghrUEGgd1/qa/9SIIUSXnZ8/6U
 4jSdkFNDSZNzhHZK3BkW6F+rgbsby62ZHtr8vli1lWcSFWR5dJ0zpZYzzrbXGehzMrOXP6Lv
 ehDwZ8yQZIAU5nFvhTz0NrPtT+mw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=bu.edu; s=s1gsbu; t=1678695921;
        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=VGGhlsD60scV1DpZM62YCeIeSkP8wBKOkjv1wo9iGSA=;
        b=IWUm5wXTEs8fJGzUTNiEGJ5W93UijudeQX3SIPonXyQiCWRasT4uyZAKEpss9x6G32
         XgC5kgTgLIWb37KqJuhSfQ2msj0imck9h4gHrwB3SbvVbyz1EvxJXlfuQyAd0F/vUQen
         eywymP2TPoklZQsPnCopQkUBPrEK7voEx/zXLcYqVhlKpAMnyfvaFbUDh+HCnxuhlC8B
         05NyIHbIKoZ8+E/PSdDfbm68VlF2RklsMQwFKoAFyM3gshdTdh1AEliEWAMpjmf8FAXV
         TTZwiOA/0t9NYTz+UailYlyCXxB7wCYYFOySGEBwYhjx/TTFyUHXnFD4kKUbT/gr+iFb
         jbCQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678695921;
        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=VGGhlsD60scV1DpZM62YCeIeSkP8wBKOkjv1wo9iGSA=;
        b=WmGqQvW4qZWKLf4WW/hTbsvD5u8IKS5vxbjiOQqJLdQPhQtIEQ1B/vkhlfpxOsZjXR
         fT4RhWsdg2B4bLBb4eMQW5Ivxy0wtwacdi2ifBaxSXBXdexvdbRLpwFeFtB0NSRtW1vC
         VSY5CrwToYWElwyV9yjS2DwDOCHwUx5isudj62j0Iculx4RZwJFMhTZDBslQEP10gnx8
         39XDVQpYbcdWKyVjnMtJoCqzyJmxyDqYuqW2+BM15IVW64uls4N1dODruScjuIq92MAB
         6bATfod/NUBmT7R8antZirQoY6ZVh/C3V6bGLkRxQzffmcXz4i6T0O/0qmC2BigaGeg5
         9c9A==
X-Gm-Message-State: AO0yUKUiYyyAEp4EmzQkpnOd7p0y+1XCp150Bfx111TGWNmkWDbojivF
	tgbhJU3cAd5ItNnHUtnZoPe5Uik4la7A6xC+bLcG7OHEqpQRiPqOc1AO8zeguqZcrVb+9sr4d2S
	3jhP10wgWnsG/2KSE8XIBz/U8WWX/N1eRbDRlpVhXSw==
X-Received: by 2002:a05:622a:14c6:b0:3bf:c04a:8d47 with SMTP id u6-20020a05622a14c600b003bfc04a8d47mr20368021qtx.18.1678695921459;
        Mon, 13 Mar 2023 01:25:21 -0700 (PDT)
X-Google-Smtp-Source: AK7set9WmFLO8g9mUwVjLP+1U83rvhdZrkH/htF6D/TW6/NS3x0U2pQaejLpTuNznnAPXF4HlUfYTw==
X-Received: by 2002:a05:622a:14c6:b0:3bf:c04a:8d47 with SMTP id u6-20020a05622a14c600b003bfc04a8d47mr20367996qtx.18.1678695921164;
        Mon, 13 Mar 2023 01:25:21 -0700 (PDT)
From: Alexander Bulekov <alxndr@bu.edu>
To: qemu-devel@nongnu.org
Cc: Alexander Bulekov <alxndr@bu.edu>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Mauro Matteo Cascella <mcascell@redhat.com>,
	Peter Xu <peterx@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	David Hildenbrand <david@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Thomas Huth <thuth@redhat.com>,
	Laurent Vivier <lvivier@redhat.com>,
	Bandan Das <bsd@redhat.com>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	Darren Kenny <darren.kenny@oracle.com>,
	Bin Meng <bin.meng@windriver.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jon Maloy <jmaloy@redhat.com>,
	Siqi Chen <coc.cyqh@gmail.com>,
	Paul Durrant <paul@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Amit Shah <amit@kernel.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Keith Busch <kbusch@kernel.org>,
	Klaus Jensen <its@irrelevant.dk>,
	Fam Zheng <fam@euphon.net>,
	Dmitry Fleytman <dmitry.fleytman@gmail.com>,
	"Gonglei (Arei)" <arei.gonglei@huawei.com>,
	xen-devel@lists.xenproject.org (open list:X86 Xen CPUs),
	qemu-block@nongnu.org (open list:virtio-blk),
	qemu-arm@nongnu.org (open list:i.MX31 (kzm)),
	qemu-ppc@nongnu.org (open list:New World (mac99))
Subject: [PATCH v7 4/6] hw: replace most qemu_bh_new calls with qemu_bh_new_guarded
Date: Mon, 13 Mar 2023 04:24:15 -0400
Message-Id: <20230313082417.827484-5-alxndr@bu.edu>
X-Mailer: git-send-email 2.39.0
In-Reply-To: <20230313082417.827484-1-alxndr@bu.edu>
References: <20230313082417.827484-1-alxndr@bu.edu>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CES-GSUITE_AUTH: bf3aNvsZpxl8

This protects devices from bh->mmio reentrancy issues.

Thanks: Thomas Huth <thuth@redhat.com> for diagnosing OS X test failure.
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
---
 hw/9pfs/xen-9p-backend.c        | 5 ++++-
 hw/block/dataplane/virtio-blk.c | 3 ++-
 hw/block/dataplane/xen-block.c  | 5 +++--
 hw/char/virtio-serial-bus.c     | 3 ++-
 hw/display/qxl.c                | 9 ++++++---
 hw/display/virtio-gpu.c         | 6 ++++--
 hw/ide/ahci.c                   | 3 ++-
 hw/ide/ahci_internal.h          | 1 +
 hw/ide/core.c                   | 4 +++-
 hw/misc/imx_rngc.c              | 6 ++++--
 hw/misc/macio/mac_dbdma.c       | 2 +-
 hw/net/virtio-net.c             | 3 ++-
 hw/nvme/ctrl.c                  | 6 ++++--
 hw/scsi/mptsas.c                | 3 ++-
 hw/scsi/scsi-bus.c              | 3 ++-
 hw/scsi/vmw_pvscsi.c            | 3 ++-
 hw/usb/dev-uas.c                | 3 ++-
 hw/usb/hcd-dwc2.c               | 3 ++-
 hw/usb/hcd-ehci.c               | 3 ++-
 hw/usb/hcd-uhci.c               | 2 +-
 hw/usb/host-libusb.c            | 6 ++++--
 hw/usb/redirect.c               | 6 ++++--
 hw/usb/xen-usb.c                | 3 ++-
 hw/virtio/virtio-balloon.c      | 5 +++--
 hw/virtio/virtio-crypto.c       | 3 ++-
 25 files changed, 66 insertions(+), 33 deletions(-)

diff --git a/hw/9pfs/xen-9p-backend.c b/hw/9pfs/xen-9p-backend.c
index 74f3a05f88..0e266c552b 100644
--- a/hw/9pfs/xen-9p-backend.c
+++ b/hw/9pfs/xen-9p-backend.c
@@ -61,6 +61,7 @@ typedef struct Xen9pfsDev {
 
     int num_rings;
     Xen9pfsRing *rings;
+    MemReentrancyGuard mem_reentrancy_guard;
 } Xen9pfsDev;
 
 static void xen_9pfs_disconnect(struct XenLegacyDevice *xendev);
@@ -443,7 +444,9 @@ static int xen_9pfs_connect(struct XenLegacyDevice *xendev)
         xen_9pdev->rings[i].ring.out = xen_9pdev->rings[i].data +
                                        XEN_FLEX_RING_SIZE(ring_order);
 
-        xen_9pdev->rings[i].bh = qemu_bh_new(xen_9pfs_bh, &xen_9pdev->rings[i]);
+        xen_9pdev->rings[i].bh = qemu_bh_new_guarded(xen_9pfs_bh,
+                                                     &xen_9pdev->rings[i],
+                                                     &xen_9pdev->mem_reentrancy_guard);
         xen_9pdev->rings[i].out_cons = 0;
         xen_9pdev->rings[i].out_size = 0;
         xen_9pdev->rings[i].inprogress = false;
diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index b28d81737e..a6202997ee 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b/hw/block/dataplane/virtio-blk.c
@@ -127,7 +127,8 @@ bool virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,
     } else {
         s->ctx = qemu_get_aio_context();
     }
-    s->bh = aio_bh_new(s->ctx, notify_guest_bh, s);
+    s->bh = aio_bh_new_guarded(s->ctx, notify_guest_bh, s,
+                               &DEVICE(vdev)->mem_reentrancy_guard);
     s->batch_notify_vqs = bitmap_new(conf->num_queues);
 
     *dataplane = s;
diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index 734da42ea7..d8bc39d359 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -633,8 +633,9 @@ XenBlockDataPlane *xen_block_dataplane_create(XenDevice *xendev,
     } else {
         dataplane->ctx = qemu_get_aio_context();
     }
-    dataplane->bh = aio_bh_new(dataplane->ctx, xen_block_dataplane_bh,
-                               dataplane);
+    dataplane->bh = aio_bh_new_guarded(dataplane->ctx, xen_block_dataplane_bh,
+                                       dataplane,
+                                       &DEVICE(xendev)->mem_reentrancy_guard);
 
     return dataplane;
 }
diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c
index 7d4601cb5d..dd619f0731 100644
--- a/hw/char/virtio-serial-bus.c
+++ b/hw/char/virtio-serial-bus.c
@@ -985,7 +985,8 @@ static void virtser_port_device_realize(DeviceState *dev, Error **errp)
         return;
     }
 
-    port->bh = qemu_bh_new(flush_queued_data_bh, port);
+    port->bh = qemu_bh_new_guarded(flush_queued_data_bh, port,
+                                   &dev->mem_reentrancy_guard);
     port->elem = NULL;
 }
 
diff --git a/hw/display/qxl.c b/hw/display/qxl.c
index ec712d3ca2..c0460c4ef1 100644
--- a/hw/display/qxl.c
+++ b/hw/display/qxl.c
@@ -2201,11 +2201,14 @@ static void qxl_realize_common(PCIQXLDevice *qxl, Error **errp)
 
     qemu_add_vm_change_state_handler(qxl_vm_change_state_handler, qxl);
 
-    qxl->update_irq = qemu_bh_new(qxl_update_irq_bh, qxl);
+    qxl->update_irq = qemu_bh_new_guarded(qxl_update_irq_bh, qxl,
+                                          &DEVICE(qxl)->mem_reentrancy_guard);
     qxl_reset_state(qxl);
 
-    qxl->update_area_bh = qemu_bh_new(qxl_render_update_area_bh, qxl);
-    qxl->ssd.cursor_bh = qemu_bh_new(qemu_spice_cursor_refresh_bh, &qxl->ssd);
+    qxl->update_area_bh = qemu_bh_new_guarded(qxl_render_update_area_bh, qxl,
+                                              &DEVICE(qxl)->mem_reentrancy_guard);
+    qxl->ssd.cursor_bh = qemu_bh_new_guarded(qemu_spice_cursor_refresh_bh, &qxl->ssd,
+                                             &DEVICE(qxl)->mem_reentrancy_guard);
 }
 
 static void qxl_realize_primary(PCIDevice *dev, Error **errp)
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index 5e15c79b94..66ac9b6cc5 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1339,8 +1339,10 @@ void virtio_gpu_device_realize(DeviceState *qdev, Error **errp)
 
     g->ctrl_vq = virtio_get_queue(vdev, 0);
     g->cursor_vq = virtio_get_queue(vdev, 1);
-    g->ctrl_bh = qemu_bh_new(virtio_gpu_ctrl_bh, g);
-    g->cursor_bh = qemu_bh_new(virtio_gpu_cursor_bh, g);
+    g->ctrl_bh = qemu_bh_new_guarded(virtio_gpu_ctrl_bh, g,
+                                     &qdev->mem_reentrancy_guard);
+    g->cursor_bh = qemu_bh_new_guarded(virtio_gpu_cursor_bh, g,
+                                       &qdev->mem_reentrancy_guard);
     QTAILQ_INIT(&g->reslist);
     QTAILQ_INIT(&g->cmdq);
     QTAILQ_INIT(&g->fenceq);
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 55902e1df7..4e76d6b191 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -1509,7 +1509,8 @@ static void ahci_cmd_done(const IDEDMA *dma)
     ahci_write_fis_d2h(ad);
 
     if (ad->port_regs.cmd_issue && !ad->check_bh) {
-        ad->check_bh = qemu_bh_new(ahci_check_cmd_bh, ad);
+        ad->check_bh = qemu_bh_new_guarded(ahci_check_cmd_bh, ad,
+                                           &ad->mem_reentrancy_guard);
         qemu_bh_schedule(ad->check_bh);
     }
 }
diff --git a/hw/ide/ahci_internal.h b/hw/ide/ahci_internal.h
index 303fcd7235..2480455372 100644
--- a/hw/ide/ahci_internal.h
+++ b/hw/ide/ahci_internal.h
@@ -321,6 +321,7 @@ struct AHCIDevice {
     bool init_d2h_sent;
     AHCICmdHdr *cur_cmd;
     NCQTransferState ncq_tfs[AHCI_MAX_CMDS];
+    MemReentrancyGuard mem_reentrancy_guard;
 };
 
 struct AHCIPCIState {
diff --git a/hw/ide/core.c b/hw/ide/core.c
index 2d034731cf..50c8935366 100644
--- a/hw/ide/core.c
+++ b/hw/ide/core.c
@@ -513,6 +513,7 @@ BlockAIOCB *ide_issue_trim(
         BlockCompletionFunc *cb, void *cb_opaque, void *opaque)
 {
     IDEState *s = opaque;
+    IDEDevice *dev = s->unit ? s->bus->slave : s->bus->master;
     TrimAIOCB *iocb;
 
     /* Paired with a decrement in ide_trim_bh_cb() */
@@ -520,7 +521,8 @@ BlockAIOCB *ide_issue_trim(
 
     iocb = blk_aio_get(&trim_aiocb_info, s->blk, cb, cb_opaque);
     iocb->s = s;
-    iocb->bh = qemu_bh_new(ide_trim_bh_cb, iocb);
+    iocb->bh = qemu_bh_new_guarded(ide_trim_bh_cb, iocb,
+                                   &DEVICE(dev)->mem_reentrancy_guard);
     iocb->ret = 0;
     iocb->qiov = qiov;
     iocb->i = -1;
diff --git a/hw/misc/imx_rngc.c b/hw/misc/imx_rngc.c
index 632c03779c..082c6980ad 100644
--- a/hw/misc/imx_rngc.c
+++ b/hw/misc/imx_rngc.c
@@ -228,8 +228,10 @@ static void imx_rngc_realize(DeviceState *dev, Error **errp)
     sysbus_init_mmio(sbd, &s->iomem);
 
     sysbus_init_irq(sbd, &s->irq);
-    s->self_test_bh = qemu_bh_new(imx_rngc_self_test, s);
-    s->seed_bh = qemu_bh_new(imx_rngc_seed, s);
+    s->self_test_bh = qemu_bh_new_guarded(imx_rngc_self_test, s,
+                                          &dev->mem_reentrancy_guard);
+    s->seed_bh = qemu_bh_new_guarded(imx_rngc_seed, s,
+                                     &dev->mem_reentrancy_guard);
 }
 
 static void imx_rngc_reset(DeviceState *dev)
diff --git a/hw/misc/macio/mac_dbdma.c b/hw/misc/macio/mac_dbdma.c
index 43bb1f56ba..80a789f32b 100644
--- a/hw/misc/macio/mac_dbdma.c
+++ b/hw/misc/macio/mac_dbdma.c
@@ -914,7 +914,7 @@ static void mac_dbdma_realize(DeviceState *dev, Error **errp)
 {
     DBDMAState *s = MAC_DBDMA(dev);
 
-    s->bh = qemu_bh_new(DBDMA_run_bh, s);
+    s->bh = qemu_bh_new_guarded(DBDMA_run_bh, s, &dev->mem_reentrancy_guard);
 }
 
 static void mac_dbdma_class_init(ObjectClass *oc, void *data)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 53e1c32643..447f669921 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -2917,7 +2917,8 @@ static void virtio_net_add_queue(VirtIONet *n, int index)
         n->vqs[index].tx_vq =
             virtio_add_queue(vdev, n->net_conf.tx_queue_size,
                              virtio_net_handle_tx_bh);
-        n->vqs[index].tx_bh = qemu_bh_new(virtio_net_tx_bh, &n->vqs[index]);
+        n->vqs[index].tx_bh = qemu_bh_new_guarded(virtio_net_tx_bh, &n->vqs[index],
+                                                  &DEVICE(vdev)->mem_reentrancy_guard);
     }
 
     n->vqs[index].tx_waiting = 0;
diff --git a/hw/nvme/ctrl.c b/hw/nvme/ctrl.c
index 49c1210fce..62e4a1d7d9 100644
--- a/hw/nvme/ctrl.c
+++ b/hw/nvme/ctrl.c
@@ -4604,7 +4604,8 @@ static void nvme_init_sq(NvmeSQueue *sq, NvmeCtrl *n, uint64_t dma_addr,
         QTAILQ_INSERT_TAIL(&(sq->req_list), &sq->io_req[i], entry);
     }
 
-    sq->bh = qemu_bh_new(nvme_process_sq, sq);
+    sq->bh = qemu_bh_new_guarded(nvme_process_sq, sq,
+                                 &DEVICE(sq->ctrl)->mem_reentrancy_guard);
 
     if (n->dbbuf_enabled) {
         sq->db_addr = n->dbbuf_dbs + (sqid << 3);
@@ -5250,7 +5251,8 @@ static void nvme_init_cq(NvmeCQueue *cq, NvmeCtrl *n, uint64_t dma_addr,
         }
     }
     n->cq[cqid] = cq;
-    cq->bh = qemu_bh_new(nvme_post_cqes, cq);
+    cq->bh = qemu_bh_new_guarded(nvme_post_cqes, cq,
+                                 &DEVICE(cq->ctrl)->mem_reentrancy_guard);
 }
 
 static uint16_t nvme_create_cq(NvmeCtrl *n, NvmeRequest *req)
diff --git a/hw/scsi/mptsas.c b/hw/scsi/mptsas.c
index c485da792c..3de288b454 100644
--- a/hw/scsi/mptsas.c
+++ b/hw/scsi/mptsas.c
@@ -1322,7 +1322,8 @@ static void mptsas_scsi_realize(PCIDevice *dev, Error **errp)
     }
     s->max_devices = MPTSAS_NUM_PORTS;
 
-    s->request_bh = qemu_bh_new(mptsas_fetch_requests, s);
+    s->request_bh = qemu_bh_new_guarded(mptsas_fetch_requests, s,
+                                        &DEVICE(dev)->mem_reentrancy_guard);
 
     scsi_bus_init(&s->bus, sizeof(s->bus), &dev->qdev, &mptsas_scsi_info);
 }
diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index ceceafb2cd..e5c9f7a53d 100644
--- a/hw/scsi/scsi-bus.c
+++ b/hw/scsi/scsi-bus.c
@@ -193,7 +193,8 @@ static void scsi_dma_restart_cb(void *opaque, bool running, RunState state)
         AioContext *ctx = blk_get_aio_context(s->conf.blk);
         /* The reference is dropped in scsi_dma_restart_bh.*/
         object_ref(OBJECT(s));
-        s->bh = aio_bh_new(ctx, scsi_dma_restart_bh, s);
+        s->bh = aio_bh_new_guarded(ctx, scsi_dma_restart_bh, s,
+                                   &DEVICE(s)->mem_reentrancy_guard);
         qemu_bh_schedule(s->bh);
     }
 }
diff --git a/hw/scsi/vmw_pvscsi.c b/hw/scsi/vmw_pvscsi.c
index fa76696855..4de34536e9 100644
--- a/hw/scsi/vmw_pvscsi.c
+++ b/hw/scsi/vmw_pvscsi.c
@@ -1184,7 +1184,8 @@ pvscsi_realizefn(PCIDevice *pci_dev, Error **errp)
         pcie_endpoint_cap_init(pci_dev, PVSCSI_EXP_EP_OFFSET);
     }
 
-    s->completion_worker = qemu_bh_new(pvscsi_process_completion_queue, s);
+    s->completion_worker = qemu_bh_new_guarded(pvscsi_process_completion_queue, s,
+                                               &DEVICE(pci_dev)->mem_reentrancy_guard);
 
     scsi_bus_init(&s->bus, sizeof(s->bus), DEVICE(pci_dev), &pvscsi_scsi_info);
     /* override default SCSI bus hotplug-handler, with pvscsi's one */
diff --git a/hw/usb/dev-uas.c b/hw/usb/dev-uas.c
index 88f99c05d5..f013ded91e 100644
--- a/hw/usb/dev-uas.c
+++ b/hw/usb/dev-uas.c
@@ -937,7 +937,8 @@ static void usb_uas_realize(USBDevice *dev, Error **errp)
 
     QTAILQ_INIT(&uas->results);
     QTAILQ_INIT(&uas->requests);
-    uas->status_bh = qemu_bh_new(usb_uas_send_status_bh, uas);
+    uas->status_bh = qemu_bh_new_guarded(usb_uas_send_status_bh, uas,
+                                         &d->mem_reentrancy_guard);
 
     dev->flags |= (1 << USB_DEV_FLAG_IS_SCSI_STORAGE);
     scsi_bus_init(&uas->bus, sizeof(uas->bus), DEVICE(dev), &usb_uas_scsi_info);
diff --git a/hw/usb/hcd-dwc2.c b/hw/usb/hcd-dwc2.c
index 8755e9cbb0..a0c4e782b2 100644
--- a/hw/usb/hcd-dwc2.c
+++ b/hw/usb/hcd-dwc2.c
@@ -1364,7 +1364,8 @@ static void dwc2_realize(DeviceState *dev, Error **errp)
     s->fi = USB_FRMINTVL - 1;
     s->eof_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, dwc2_frame_boundary, s);
     s->frame_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, dwc2_work_timer, s);
-    s->async_bh = qemu_bh_new(dwc2_work_bh, s);
+    s->async_bh = qemu_bh_new_guarded(dwc2_work_bh, s,
+                                      &dev->mem_reentrancy_guard);
 
     sysbus_init_irq(sbd, &s->irq);
 }
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
index d4da8dcb8d..c930c60921 100644
--- a/hw/usb/hcd-ehci.c
+++ b/hw/usb/hcd-ehci.c
@@ -2533,7 +2533,8 @@ void usb_ehci_realize(EHCIState *s, DeviceState *dev, Error **errp)
     }
 
     s->frame_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, ehci_work_timer, s);
-    s->async_bh = qemu_bh_new(ehci_work_bh, s);
+    s->async_bh = qemu_bh_new_guarded(ehci_work_bh, s,
+                                      &dev->mem_reentrancy_guard);
     s->device = dev;
 
     s->vmstate = qemu_add_vm_change_state_handler(usb_ehci_vm_state_change, s);
diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c
index 8ac1175ad2..77baaa7a6b 100644
--- a/hw/usb/hcd-uhci.c
+++ b/hw/usb/hcd-uhci.c
@@ -1190,7 +1190,7 @@ void usb_uhci_common_realize(PCIDevice *dev, Error **errp)
                               USB_SPEED_MASK_LOW | USB_SPEED_MASK_FULL);
         }
     }
-    s->bh = qemu_bh_new(uhci_bh, s);
+    s->bh = qemu_bh_new_guarded(uhci_bh, s, &DEVICE(dev)->mem_reentrancy_guard);
     s->frame_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, uhci_frame_timer, s);
     s->num_ports_vmstate = NB_PORTS;
     QTAILQ_INIT(&s->queues);
diff --git a/hw/usb/host-libusb.c b/hw/usb/host-libusb.c
index 176868d345..f500db85ab 100644
--- a/hw/usb/host-libusb.c
+++ b/hw/usb/host-libusb.c
@@ -1141,7 +1141,8 @@ static void usb_host_nodev_bh(void *opaque)
 static void usb_host_nodev(USBHostDevice *s)
 {
     if (!s->bh_nodev) {
-        s->bh_nodev = qemu_bh_new(usb_host_nodev_bh, s);
+        s->bh_nodev = qemu_bh_new_guarded(usb_host_nodev_bh, s,
+                                          &DEVICE(s)->mem_reentrancy_guard);
     }
     qemu_bh_schedule(s->bh_nodev);
 }
@@ -1739,7 +1740,8 @@ static int usb_host_post_load(void *opaque, int version_id)
     USBHostDevice *dev = opaque;
 
     if (!dev->bh_postld) {
-        dev->bh_postld = qemu_bh_new(usb_host_post_load_bh, dev);
+        dev->bh_postld = qemu_bh_new_guarded(usb_host_post_load_bh, dev,
+                                             &DEVICE(dev)->mem_reentrancy_guard);
     }
     qemu_bh_schedule(dev->bh_postld);
     dev->bh_postld_pending = true;
diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c
index fd7df599bc..39fbaaab16 100644
--- a/hw/usb/redirect.c
+++ b/hw/usb/redirect.c
@@ -1441,8 +1441,10 @@ static void usbredir_realize(USBDevice *udev, Error **errp)
         }
     }
 
-    dev->chardev_close_bh = qemu_bh_new(usbredir_chardev_close_bh, dev);
-    dev->device_reject_bh = qemu_bh_new(usbredir_device_reject_bh, dev);
+    dev->chardev_close_bh = qemu_bh_new_guarded(usbredir_chardev_close_bh, dev,
+                                                &DEVICE(dev)->mem_reentrancy_guard);
+    dev->device_reject_bh = qemu_bh_new_guarded(usbredir_device_reject_bh, dev,
+                                                &DEVICE(dev)->mem_reentrancy_guard);
     dev->attach_timer = timer_new_ms(QEMU_CLOCK_VIRTUAL, usbredir_do_attach, dev);
 
     packet_id_queue_init(&dev->cancelled, dev, "cancelled");
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index 66cb3f7c24..38ee660a30 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -1032,7 +1032,8 @@ static void usbback_alloc(struct XenLegacyDevice *xendev)
 
     QTAILQ_INIT(&usbif->req_free_q);
     QSIMPLEQ_INIT(&usbif->hotplug_q);
-    usbif->bh = qemu_bh_new(usbback_bh, usbif);
+    usbif->bh = qemu_bh_new_guarded(usbback_bh, usbif,
+                                    &DEVICE(xendev)->mem_reentrancy_guard);
 }
 
 static int usbback_free(struct XenLegacyDevice *xendev)
diff --git a/hw/virtio/virtio-balloon.c b/hw/virtio/virtio-balloon.c
index 746f07c4d2..d60dd1f61e 100644
--- a/hw/virtio/virtio-balloon.c
+++ b/hw/virtio/virtio-balloon.c
@@ -908,8 +908,9 @@ static void virtio_balloon_device_realize(DeviceState *dev, Error **errp)
         precopy_add_notifier(&s->free_page_hint_notify);
 
         object_ref(OBJECT(s->iothread));
-        s->free_page_bh = aio_bh_new(iothread_get_aio_context(s->iothread),
-                                     virtio_ballloon_get_free_page_hints, s);
+        s->free_page_bh = aio_bh_new_guarded(iothread_get_aio_context(s->iothread),
+                                             virtio_ballloon_get_free_page_hints, s,
+                                             &dev->mem_reentrancy_guard);
     }
 
     if (virtio_has_feature(s->host_features, VIRTIO_BALLOON_F_REPORTING)) {
diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c
index 802e1b9659..2fe804510f 100644
--- a/hw/virtio/virtio-crypto.c
+++ b/hw/virtio/virtio-crypto.c
@@ -1074,7 +1074,8 @@ static void virtio_crypto_device_realize(DeviceState *dev, Error **errp)
         vcrypto->vqs[i].dataq =
                  virtio_add_queue(vdev, 1024, virtio_crypto_handle_dataq_bh);
         vcrypto->vqs[i].dataq_bh =
-                 qemu_bh_new(virtio_crypto_dataq_bh, &vcrypto->vqs[i]);
+                 qemu_bh_new_guarded(virtio_crypto_dataq_bh, &vcrypto->vqs[i],
+                                     &dev->mem_reentrancy_guard);
         vcrypto->vqs[i].vcrypto = vcrypto;
     }
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 08:36:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 08:36:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509144.784397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbdfR-0006O1-Ct; Mon, 13 Mar 2023 08:36:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509144.784397; Mon, 13 Mar 2023 08:36: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 1pbdfR-0006Nu-9f; Mon, 13 Mar 2023 08:36:29 +0000
Received: by outflank-mailman (input) for mailman id 509144;
 Mon, 13 Mar 2023 08: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=eMjs=7F=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1pbdfP-0006Nl-Sk
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 08:36:28 +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 23efd089-c17a-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 09:36:26 +0100 (CET)
Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com
 [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-491--5SNFHy_O0-_So_2shfO5A-1; Mon, 13 Mar 2023 04:36:23 -0400
Received: by mail-wm1-f72.google.com with SMTP id
 t1-20020a7bc3c1000000b003dfe223de49so7453202wmj.5
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 01:36:23 -0700 (PDT)
Received: from [192.168.0.2] (ip-109-43-179-26.web.vodafone.de.
 [109.43.179.26]) by smtp.gmail.com with ESMTPSA id
 q12-20020adfcd8c000000b002ceaeb4b608sm3160170wrj.34.2023.03.13.01.36.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Mar 2023 01:36:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 23efd089-c17a-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678696584;
	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=OWt5vj9MMwXb4l9+uwottEsS1Nl//OGUSfQKqU3untY=;
	b=X47CRGb3XaA3Y2sMQ1kWSGAXypOVI0TlgZ58jKdkALmWS35gVuImYuIwjxDw8i2U4uujmK
	qLCMJkxu4/K8OgX8cZ1n48mOqZKFzOTTHHV9Vz28UxXJhvGXsHlqx7KSWoqYASML+yiJhV
	qXMM/96fxz6rR7gjcz2lF+Xa60fpXoA=
X-MC-Unique: -5SNFHy_O0-_So_2shfO5A-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678696582;
        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=OWt5vj9MMwXb4l9+uwottEsS1Nl//OGUSfQKqU3untY=;
        b=wBUNZrviorCaZW37FLIL+PYpfOVlowhx7x8LTDF3b+a2TazfvSn6g9qjUo2rKtlH4/
         7/VFKkxiSpl27bLuKMUWY76bPZIL1paVxz/e40C8Hu72rJfCnmOFdmu3XRBcwRKg2jHV
         z8bAAxGbois4bYJsLfSG0fltiJECPUB2InKzTeqc1vw6ZF3vUGXmXQHHuYscSsx3SVZj
         4MQRjPTjcwenn3jsUsXYPVMsRpejoYA8ZoaU5b85wf8HNabGZCD2ug9XxX/J1IIXyzbu
         qAundeBTVM5BKPze9ZyKTttvVdGfDuw/3p5uLh7MZzgF+FaDVTCuUUTBX1WTEllU7BD7
         UUiA==
X-Gm-Message-State: AO0yUKUNzC2ujWinGFj+5BAyJ+QTF7KKk8cNAh42ZFyeoincfDMywQ1h
	RjfCCRllBiaccx/2d0VnMcLGQyygDWpkR7M+r6NUkj2Buh5a7nHIU3NZWh8Fp17hdxNiQheEokD
	ZgJEVtMVTMFCzsr+vIAbXZflSVrU=
X-Received: by 2002:a5d:6504:0:b0:2ce:39d3:c9a5 with SMTP id x4-20020a5d6504000000b002ce39d3c9a5mr21946664wru.22.1678696582376;
        Mon, 13 Mar 2023 01:36:22 -0700 (PDT)
X-Google-Smtp-Source: AK7set+MQhE6wSCnJV1f3TtYtFcxGiN5fNsHY1JDaSaepfTCQcDtrqqNRgmQVYfYKIYqqxPt0EH8gA==
X-Received: by 2002:a5d:6504:0:b0:2ce:39d3:c9a5 with SMTP id x4-20020a5d6504000000b002ce39d3c9a5mr21946635wru.22.1678696582103;
        Mon, 13 Mar 2023 01:36:22 -0700 (PDT)
Message-ID: <18ea04ff-4ebf-b163-0dcf-f0b8e966bda4@redhat.com>
Date: Mon, 13 Mar 2023 09:36:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Subject: Re: [PATCH v7 4/6] hw: replace most qemu_bh_new calls with
 qemu_bh_new_guarded
To: Alexander Bulekov <alxndr@bu.edu>, qemu-devel@nongnu.org
Cc: Stefan Hajnoczi <stefanha@redhat.com>,
 =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>,
 Mauro Matteo Cascella <mcascell@redhat.com>, Peter Xu <peterx@redhat.com>,
 Jason Wang <jasowang@redhat.com>, David Hildenbrand <david@redhat.com>,
 Gerd Hoffmann <kraxel@redhat.com>, Laurent Vivier <lvivier@redhat.com>,
 Bandan Das <bsd@redhat.com>, "Edgar E . Iglesias"
 <edgar.iglesias@gmail.com>, Darren Kenny <darren.kenny@oracle.com>,
 Bin Meng <bin.meng@windriver.com>, Paolo Bonzini <pbonzini@redhat.com>,
 "Michael S . Tsirkin" <mst@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 =?UTF-8?Q?Daniel_P_=2e_Berrang=c3=a9?= <berrange@redhat.com>,
 Eduardo Habkost <eduardo@habkost.net>, Jon Maloy <jmaloy@redhat.com>,
 Siqi Chen <coc.cyqh@gmail.com>, Paul Durrant <paul@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Kevin Wolf <kwolf@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>, Amit Shah <amit@kernel.org>,
 =?UTF-8?Q?Marc-Andr=c3=a9_Lureau?= <marcandre.lureau@redhat.com>,
 John Snow <jsnow@redhat.com>, Peter Maydell <peter.maydell@linaro.org>,
 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Keith Busch <kbusch@kernel.org>, Klaus Jensen <its@irrelevant.dk>,
 Fam Zheng <fam@euphon.net>, Dmitry Fleytman <dmitry.fleytman@gmail.com>,
 "Gonglei (Arei)" <arei.gonglei@huawei.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:virtio-blk" <qemu-block@nongnu.org>,
 "open list:i.MX31 (kzm)" <qemu-arm@nongnu.org>,
 "open list:New World (mac99)" <qemu-ppc@nongnu.org>
References: <20230313082417.827484-1-alxndr@bu.edu>
 <20230313082417.827484-5-alxndr@bu.edu>
From: Thomas Huth <thuth@redhat.com>
In-Reply-To: <20230313082417.827484-5-alxndr@bu.edu>
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 13/03/2023 09.24, Alexander Bulekov wrote:
> This protects devices from bh->mmio reentrancy issues.
> 
> Thanks: Thomas Huth <thuth@redhat.com> for diagnosing OS X test failure.
> Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
> Reviewed-by: Paul Durrant <paul@xen.org>
> Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
> ---
>   hw/9pfs/xen-9p-backend.c        | 5 ++++-
>   hw/block/dataplane/virtio-blk.c | 3 ++-
>   hw/block/dataplane/xen-block.c  | 5 +++--
>   hw/char/virtio-serial-bus.c     | 3 ++-
>   hw/display/qxl.c                | 9 ++++++---
>   hw/display/virtio-gpu.c         | 6 ++++--
>   hw/ide/ahci.c                   | 3 ++-
>   hw/ide/ahci_internal.h          | 1 +
>   hw/ide/core.c                   | 4 +++-
>   hw/misc/imx_rngc.c              | 6 ++++--
>   hw/misc/macio/mac_dbdma.c       | 2 +-
>   hw/net/virtio-net.c             | 3 ++-
>   hw/nvme/ctrl.c                  | 6 ++++--
>   hw/scsi/mptsas.c                | 3 ++-
>   hw/scsi/scsi-bus.c              | 3 ++-
>   hw/scsi/vmw_pvscsi.c            | 3 ++-
>   hw/usb/dev-uas.c                | 3 ++-
>   hw/usb/hcd-dwc2.c               | 3 ++-
>   hw/usb/hcd-ehci.c               | 3 ++-
>   hw/usb/hcd-uhci.c               | 2 +-
>   hw/usb/host-libusb.c            | 6 ++++--
>   hw/usb/redirect.c               | 6 ++++--
>   hw/usb/xen-usb.c                | 3 ++-
>   hw/virtio/virtio-balloon.c      | 5 +++--
>   hw/virtio/virtio-crypto.c       | 3 ++-
>   25 files changed, 66 insertions(+), 33 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 08:46:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 08:46:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509148.784411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbdoW-000825-FI; Mon, 13 Mar 2023 08:45:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509148.784411; Mon, 13 Mar 2023 08:45:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbdoW-00081y-Av; Mon, 13 Mar 2023 08:45:52 +0000
Received: by outflank-mailman (input) for mailman id 509148;
 Mon, 13 Mar 2023 08:45:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rcAY=7F=casper.srs.infradead.org=BATV+7ed4dc4158d7c4ffff6c+7141+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pbdoU-00081s-GL
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 08:45: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 725970ec-c17b-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 09:45:48 +0100 (CET)
Received: from [2001:8b0:10b:5:387d:8494:1979:edd1]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pbdo7-00BjCa-Bf; Mon, 13 Mar 2023 08:45: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: 725970ec-c17b-11ed-87f5-c1b5be75604c
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=iZw1+AjD/67gYbBYEP5ALSHDL75fLdN6MckfIi+xKFI=; b=YhKPiFeBPZFdyQZ25nI4wKly2R
	L+r/cUgkNl1QUXhvXq+HIgaZGejG4SfjiLc9O4F0JwZJPw057EY8bneQrwus21rhpEvAgvUdHj8Xb
	6gVqsyoAfcMn1zb5q9MyNzPH3yS74NoHJ7yRLkCACubWviXBfexVgAukjVtdcXLiIzLLyJGOEtWDx
	xQtH4MVkZlv+TIa28PtX57ThKr+5xJV7q3cZtMpBx7a8uCSfba3G7Ei65JsdukeqyXGLesqEXQ8q1
	sjkF0OpeQ51C0bjAKke2VOOFM4G3vsw81kvWiMsQ51/P+A6jB8IaFqsmae8F7N4HkM8DN+rCjFugx
	E+aLMBaw==;
Message-ID: <5062bef5b5cfd3e2d7f313de9af306f5e4f841f5.camel@infradead.org>
Subject: Re: [PULL 13/27] hw/xen: Add xenstore operations to allow
 redirection to internal emulation
From: David Woodhouse <dwmw2@infradead.org>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org, Paolo
 Bonzini <pbonzini@redhat.com>, Paul Durrant <paul@xen.org>, Joao Martins
 <joao.m.martins@oracle.com>,  Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,  vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Juan Quintela <quintela@redhat.com>, "Dr .
 David Alan Gilbert" <dgilbert@redhat.com>
Date: Mon, 13 Mar 2023 08:45:26 +0000
In-Reply-To: <CAKf6xpuH2E=16s1jFvgL9J723wv0dhBD5aYWP2NBNj5rZio2jg@mail.gmail.com>
References: <20230307182707.2298618-1-dwmw2@infradead.org>
	 <20230307182707.2298618-14-dwmw2@infradead.org>
	 <CAKf6xpuH2E=16s1jFvgL9J723wv0dhBD5aYWP2NBNj5rZio2jg@mail.gmail.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-CPP1nMHDJQ5Y8o3/fii3"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Sun, 2023-03-12 at 15:19 -0400, Jason Andryuk wrote:
>=20
> This breaks dm_restrict=3D1 since the xs_open is not allowed by the
> time
> this is called.=C2=A0 There are other evtchn errors before this as well:
> # cat /var/log/xen/qemu-dm-debian.log
> char device redirected to /dev/pts/8 (label serial0)
> xen be core: can't open evtchn device
> xen be core: can't open evtchn device
> xen be core: can't open evtchn device
> xen be core: can't open evtchn device
> xen be core: can't open evtchn device
> xen be core: can't open evtchn device
> xen be core: can't open evtchn device
> xen be core: can't open evtchn device
> Could not contact XenStore
>=20
> Ok, those "xen be core: can't open evtchn device" were there before
> the recent changes and seem to be non-fatal.

Hm, I *think* we can just revert that part and use the global
'xenstore' like we did before, except via the new ops.

--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -32,28 +32,18 @@ xendevicemodel_handle *xen_dmod;
=20
 static void xenstore_record_dm_state(const char *state)
 {
-    struct xs_handle *xs;
     char path[50];
=20
-    /* We now have everything we need to set the xenstore entry. */
-    xs =3D xs_open(0);
-    if (xs =3D=3D NULL) {
-        fprintf(stderr, "Could not contact XenStore\n");
-        exit(1);
-    }
-
     snprintf(path, sizeof (path), "device-model/%u/state", xen_domid);
     /*
      * This call may fail when running restricted so don't make it fatal i=
n
      * that case. Toolstacks should instead use QMP to listen for state ch=
anges.
      */
-    if (!xs_write(xs, XBT_NULL, path, state, strlen(state)) &&
+    if (!qemu_xen_xs_write(xenstore, XBT_NULL, path, state, strlen(state))=
 &&
             !xen_domid_restrict) {
         error_report("error recording dm state");
         exit(1);
     }
-
-    xs_close(xs);
 }
=20
=20
Alternatively, that xs_write is destined to fail anyway in the
xen_domid_restrict case, isn't it? So the xs_open() should be allowed
to fail similarly. Or perhaps we shouldn't even *try*?

--=-CPP1nMHDJQ5Y8o3/fii3
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzEzMDg0NTI2WjAvBgkqhkiG9w0BCQQxIgQgQBBw8DMs
t3VO8hkO8WPiQwf10lYpPRUdsSh3VDB3+t8wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBmzX8rA3LiLFj8XFKYOE2WAFc8BMwA1zkl
k0a6H11cqzVfNRuW9IhyG+dsFFFJ+crIzmJXixZAuC4MGgdAZIq9CevYPeY3Cootqhezm6IUsCIH
Rj7Luq7OejNqUW0miUQbMs6gWXqTJboaBTbtRLVHiT/mSuQblhCeZOY35+iUBsMKIIE5Xd9pkoDn
IwnJByJ/WlxrtT/GToixHwdoJ73+gOfw421xP2IxrzCeUAYbB/IGWvootWC5FqVNnWnMLehyEge9
ChoMHjN50a/KMMEL0osxGgN1cGX4T8vTD6UhaM4vPWNttbey3PQgJf8Hb8O0wN727X/61FbMwhrW
OJNrURrALem9UxxO9VNxxGrPnrihyAj+iXAGW88UUSnjsj0Peu6YLv7tZ3qHDx/PXkMqcvzyOyXJ
iVK2bI3Cj4Nuyk0OWi5aw8o5ZaUx9XimkYzb2hYhwzKZX67mFT2DqDyKOE+59il83u/E/B3SeaFt
SBObVzxHhlpmQwq7GVFqsHHdc0sDeXf9HPVMbT7ICley1r/xe6QfN2Lva72F9Jdi8tNAywRD7a6l
vWagJRT7paWUmeKOgDDi/pUpAdSy8uMzyopd6o/EZjDgFITBpvwAIAviapjs0xNKfMaVWa4h9sXC
22+TqaH1YhlIevwkCJ/RoJjf9bwsvO1+JuSK3lOEHwAAAAAAAA==


--=-CPP1nMHDJQ5Y8o3/fii3--


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 08:46:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 08:46:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509149.784421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbdp5-0008PP-OD; Mon, 13 Mar 2023 08:46:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509149.784421; Mon, 13 Mar 2023 08: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 1pbdp5-0008PD-KF; Mon, 13 Mar 2023 08:46:27 +0000
Received: by outflank-mailman (input) for mailman id 509149;
 Mon, 13 Mar 2023 08:46: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=kFW/=7F=tibco.com=clindig@srs-se1.protection.inumbo.net>)
 id 1pbdp4-0008Ow-EE
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 08:46:26 +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 89953047-c17b-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 09:46:25 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id ay8so2049550wmb.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 01:46: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
 x26-20020a1c7c1a000000b003eae73ee4a1sm8318979wmc.17.2023.03.13.01.46.24
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 13 Mar 2023 01:46: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: 89953047-c17b-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1678697185;
        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=9z9tl3r2jJQo4kahQXjkrPQCp+v36lDX++AtUXHutEQ=;
        b=E+sE4HuDkhkQ0ofPq9drXb6grrtHVkShRly0bSa9zvJ+hqixB8OUSHwYkOUA7objer
         3zO9Z4s48b6e8gpRXY3Rke6+0/GZZpv19KtjGl3EoVqhzQsl407raz2/q9zZ/eUN9VUA
         bQLt77SsDngXO7fkSuwx7leJjdEQVeQsnUE3I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678697185;
        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=9z9tl3r2jJQo4kahQXjkrPQCp+v36lDX++AtUXHutEQ=;
        b=kHdD886Ed2nDS2/oluFfpRZPoKqU2ofvCVagLy1GzmeaGcbyBAAhQ+pmQjurTwbnoT
         BAws6cMtf/IlKK4WHY+s6Hf3VXT2McAKyjp7vhGa6c/jsPyMhRBSuTrH43LaEMjs/cLL
         CbFUH35iGAVqYnEvSexsGZEIQzgZPkdP6XRXwKqppDYlUI2dsC1B14TNyHpKZt0+Pn9I
         pWszzt1MfpQLQsjseledYOkUPKrvC0oXy+AmlOrwL4rU8HY+49i4fupBQ3+LGVnxGZcl
         IccThQEbrYF7zGNnjrwzPniybHftmmWcvG0JOxSc6vIvCkITlXIbgK0P2Q5wQevHvauL
         S4ew==
X-Gm-Message-State: AO0yUKVkmYPUJcivjvGOWeIFi/exZr8zM/sksD1GK4QH4RIw+9fbZd7f
	Lh4RcNGiccHcQa84w6Molavi+Q==
X-Google-Smtp-Source: AK7set8QpNslGENwPQrsywQlQ28ljJfWOMqtSWiCQz0h8Wi0s5i7i/bL3pvCiK75M6jqKtF8i7PkBg==
X-Received: by 2002:a05:600c:4453:b0:3eb:1432:a78c with SMTP id v19-20020a05600c445300b003eb1432a78cmr10133868wmn.37.1678697184779;
        Mon, 13 Mar 2023 01:46:24 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
Subject: Re: [PATCH 3/3] x86/sysctl: Retrofit
 XEN_SYSCTL_cpu_featureset_{pv,hvm}_max
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <20230310203712.1431387-4-andrew.cooper3@citrix.com>
Date: Mon, 13 Mar 2023 08:46:23 +0000
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>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Rob Hoes <Rob.Hoes@citrix.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <28A7BE40-D9C5-4B1D-924F-F7BA15889C5B@cloud.com>
References: <20230310203712.1431387-1-andrew.cooper3@citrix.com>
 <20230310203712.1431387-4-andrew.cooper3@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
X-Mailer: Apple Mail (2.3696.120.41.1.1)



> On 10 Mar 2023, at 20:37, Andrew Cooper <Andrew.Cooper3@citrix.com> =
wrote:
>=20
> Featuresets are supposed to be disappearing when the CPU policy =
infrastructure
> is complete, but that has taken longer than expected, and isn't going =
to be
> complete imminently either.
>=20
> In the meantime, Xen does have proper default/max featuresets, and =
xen-cpuid
> can even get them via the XEN_SYSCTL_cpu_policy_* interface, but only =
knows
> now to render them nicely via the featureset interface.
>=20
> Differences between default and max are a frequent source of errors,
> frequently too in secret leading up to an embargo, so extend the =
featureset
> sysctl to allow xen-cpuid to render them all nicely.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> CC: Christian Lindig <christian.lindig@citrix.com>
> CC: David Scott <dave@recoil.org>
> CC: Edwin T=C3=B6r=C3=B6k <edwin.torok@cloud.com>
> CC: Rob Hoes <Rob.Hoes@citrix.com>
>=20
> I actually this SYSCTL extention in the XenServer patchqueue for =
reasons that
> started with the TSX fiasco; I have no idea why its taken until now to =
think
> it would be a good idea to wire into xen-cpuid too...
> ---
> tools/misc/xen-cpuid.c          | 10 ++++++----
> tools/ocaml/libs/xc/xenctrl.ml  |  8 +++++++-
> tools/ocaml/libs/xc/xenctrl.mli |  8 +++++++-
> xen/arch/x86/sysctl.c           |  4 +++-
> xen/include/public/sysctl.h     |  2 ++
> 5 files changed, 25 insertions(+), 7 deletions(-)
>=20


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

> diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
> index 227df7352e2b..37a7eaa8edfc 100644
> --- a/tools/misc/xen-cpuid.c
> +++ b/tools/misc/xen-cpuid.c
> @@ -247,10 +247,12 @@ static const struct {
> #define COL_ALIGN "18"
>=20
> static const char *const fs_names[] =3D {
> -    [XEN_SYSCTL_cpu_featureset_host] =3D "Host",
> -    [XEN_SYSCTL_cpu_featureset_raw]  =3D "Raw",
> -    [XEN_SYSCTL_cpu_featureset_pv]   =3D "PV",
> -    [XEN_SYSCTL_cpu_featureset_hvm]  =3D "HVM",
> +    [XEN_SYSCTL_cpu_featureset_raw]     =3D "Raw",
> +    [XEN_SYSCTL_cpu_featureset_host]    =3D "Host",
> +    [XEN_SYSCTL_cpu_featureset_pv]      =3D "PV Default",
> +    [XEN_SYSCTL_cpu_featureset_hvm]     =3D "HVM Default",
> +    [XEN_SYSCTL_cpu_featureset_pv_max]  =3D "PV Max",
> +    [XEN_SYSCTL_cpu_featureset_hvm_max] =3D "HVM Max",
> };
>=20
> static void dump_leaf(uint32_t leaf, const char *const *strs)
> diff --git a/tools/ocaml/libs/xc/xenctrl.ml =
b/tools/ocaml/libs/xc/xenctrl.ml
> index a59dee093897..e4096bf92c1d 100644
> --- a/tools/ocaml/libs/xc/xenctrl.ml
> +++ b/tools/ocaml/libs/xc/xenctrl.ml
> @@ -370,7 +370,13 @@ external version_changeset: handle -> string =3D =
"stub_xc_version_changeset"
> external version_capabilities: handle -> string =3D
>   "stub_xc_version_capabilities"
>=20
> -type featureset_index =3D Featureset_raw | Featureset_host | =
Featureset_pv | Featureset_hvm
> +type featureset_index =3D
> +  | Featureset_raw
> +  | Featureset_host
> +  | Featureset_pv
> +  | Featureset_hvm
> +  | Featureset_pv_max
> +  | Featureset_hvm_max
> external get_cpu_featureset : handle -> featureset_index -> int64 =
array =3D "stub_xc_get_cpu_featureset"
>=20
> external watchdog : handle -> int -> int32 -> int
> diff --git a/tools/ocaml/libs/xc/xenctrl.mli =
b/tools/ocaml/libs/xc/xenctrl.mli
> index 3154e90f4f98..ef2254537430 100644
> --- a/tools/ocaml/libs/xc/xenctrl.mli
> +++ b/tools/ocaml/libs/xc/xenctrl.mli
> @@ -297,7 +297,13 @@ external version_changeset : handle -> string =3D =
"stub_xc_version_changeset"
> external version_capabilities : handle -> string
>   =3D "stub_xc_version_capabilities"
>=20
> -type featureset_index =3D Featureset_raw | Featureset_host | =
Featureset_pv | Featureset_hvm
> +type featureset_index =3D
> +  | Featureset_raw
> +  | Featureset_host
> +  | Featureset_pv
> +  | Featureset_hvm
> +  | Featureset_pv_max
> +  | Featureset_hvm_max
> external get_cpu_featureset : handle -> featureset_index -> int64 =
array =3D "stub_xc_get_cpu_featureset"
>=20
> external pages_to_kib : int64 -> int64 =3D "stub_pages_to_kib"
> diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
> index f42a3b843ba7..6600eb43471b 100644
> --- a/xen/arch/x86/sysctl.c
> +++ b/xen/arch/x86/sysctl.c
> @@ -323,14 +323,16 @@ long arch_do_sysctl(
>=20
>     case XEN_SYSCTL_get_cpu_featureset:
>     {
> -        static const struct cpuid_policy *const policy_table[4] =3D {
> +        static const struct cpuid_policy *const policy_table[6] =3D {
>             [XEN_SYSCTL_cpu_featureset_raw]  =3D &raw_cpuid_policy,
>             [XEN_SYSCTL_cpu_featureset_host] =3D &host_cpuid_policy,
> #ifdef CONFIG_PV
>             [XEN_SYSCTL_cpu_featureset_pv]   =3D &pv_def_cpuid_policy,
> +            [XEN_SYSCTL_cpu_featureset_pv_max] =3D =
&pv_max_cpuid_policy,
> #endif
> #ifdef CONFIG_HVM
>             [XEN_SYSCTL_cpu_featureset_hvm]  =3D =
&hvm_def_cpuid_policy,
> +            [XEN_SYSCTL_cpu_featureset_hvm_max] =3D =
&hvm_max_cpuid_policy,
> #endif
>         };
>         const struct cpuid_policy *p =3D NULL;
> diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
> index 001a4de27375..e8dded9fb94a 100644
> --- a/xen/include/public/sysctl.h
> +++ b/xen/include/public/sysctl.h
> @@ -796,6 +796,8 @@ struct xen_sysctl_cpu_featureset {
> #define XEN_SYSCTL_cpu_featureset_host     1
> #define XEN_SYSCTL_cpu_featureset_pv       2
> #define XEN_SYSCTL_cpu_featureset_hvm      3
> +#define XEN_SYSCTL_cpu_featureset_pv_max   4
> +#define XEN_SYSCTL_cpu_featureset_hvm_max  5
>     uint32_t index;       /* IN: Which featureset to query? */
>     uint32_t nr_features; /* IN/OUT: Number of entries in/written to
>                            * 'features', or the maximum number of =
features if
> --=20
> 2.30.2
>=20



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 08:46:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 08:46:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509152.784431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbdpS-0000Xg-16; Mon, 13 Mar 2023 08:46:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509152.784431; Mon, 13 Mar 2023 08: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 1pbdpR-0000XZ-SQ; Mon, 13 Mar 2023 08:46:49 +0000
Received: by outflank-mailman (input) for mailman id 509152;
 Mon, 13 Mar 2023 08:46: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbdpP-0008Ow-VO
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 08:46:48 +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 96695887-c17b-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 09:46:47 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9844.eurprd04.prod.outlook.com (2603:10a6:10:4c4::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.23; Mon, 13 Mar
 2023 08:46:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 08:46: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: 96695887-c17b-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JdHjN1LS63LQUMT8R/73jy7M5z6yFZDL9ZSoI+Mx8iFX6EnLdmHRj8YvDL+jTq+NfQCN8yYFi3w7tSDYk6uc1S1FSzyxEI0jsREtKA/9os2B7P6K0++vYRlqRhn4LvzpSqNy5tdvp5b5W6z9hJMMby8i/vgc+0BymCjNGsoce9920E2j45uuBcpyIYBF16UHMX1qMUMxB0HgL6DqfxKCTiV4qWNJSudq1T5JdrJ9GjLyBJtoqpXp20CIhecz61k0GuGYQOI5o/S+tPoSQPq+W4H91jUAA4Qx6r31AcQTcsjekA7/ELk/4k0l9aZMjeolwO+HZLxmZ8gQ6/T7CvODpw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QM65XWZChnp/IbEichNlsNpx2rl4vgW+v/jsTyHVCXU=;
 b=TyacSM7A0zAgUPW86hqpZkMTJsHNIDsuuhtidLDlrwkIBDcmAhsXYi3NEkhaxYEmbJpGRTxOtSRPBq1Tpay68fhvCXkaLs8LJ4J3eIsFUSnPeOCNeIGHhRwTHsIwWYIynnVG9k8cSzUbRNOgKzElUZHc+clEjdStuxEr97Xi+Q1wvfuR/B+TA8M0H+izIJW74pBYoFHDHKxVprnQ/z/7wpYEA98aJDuTl0K4vz4K+E8FX8QRjzHSUjKxH5SZoL+JH5FnjOafy1GUP8hSqo2A7Yuzgx/HYr9OVw4n6VRZZoTN2P0hPiKbcoI4Le7AJS54NlYaThz+OiHIznQuA7w6rg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QM65XWZChnp/IbEichNlsNpx2rl4vgW+v/jsTyHVCXU=;
 b=BEe50NI9i5946xfSdg4m5DHxNhdKzsrLunFwCQ3AYsuCvLvRDlOD8BNoD9fBXPAGxK19veGheMNDfL34sO7QUER15arpJrGbCM1fNuWUXmJvPzy7EE4fFgAOOs600BxyKw5N2VoOynU/2vALzKDhVkd09NOM4cDMzOoBdguL6RAtcI0Dkn2l9hA48ONhfI2cKEeZ0s5NtEiFZ6qFd6w+5TohIXHN5vnKjkECct72/dmUopNnX+/gcpD0b8UzwQkR9wdveXEFmQpGP7tWa0b0ftGRMyGgqKMyxy0cNfPO2UzMIuI7cwPlo3fZj813DeE+vSQdAptSMb50wuer69b4Xw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <557b5875-bb3b-e319-ed61-59ce6769355c@suse.com>
Date: Mon, 13 Mar 2023 09:46:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Content-Language: en-US
To: =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, Huang Rui <ray.huang@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <d0fb38b8-455e-1210-0f26-9ee7c4335e69@amd.com>
 <e292ea24-606f-24c7-ee44-34d55f7147f9@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e292ea24-606f-24c7-ee44-34d55f7147f9@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0004.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9844:EE_
X-MS-Office365-Filtering-Correlation-Id: d3a5de95-387f-4cc9-f6e7-08db239f796a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	srUsrCM1xVQhfvrxKNOwsqE8ZD+FnJIt8FMGuLow752UvKN/4GYh3WGGyuVqi9cu/nWpAHk5acmdXgsRbIBbf9iaoaVx/gWT59C+3+ubTsQhf+E8/zmCZS6Sbj0lHtVqyqIwJ48FNBYwde7QBkDkrvASBP9d8DhDOPE3vWm9zPVbNnIviENhvVSu4B71W/qcNj6EolnUJRQTncw3W8n18YCvbyjotXEyuoXjXjlQtviGKAOj9p6uBl3Sp8vS4F7C3nWD058nYxMWHjWo7L6dhMBzhug8sammmhmvhld43eNHu3fTWWN8iWI7FoEUNWtRrsD6yjw4gQ/DoxmBgzZO3BhTHTvog/OnNwfNPMz3wwSHhm0w5tunPqmvXl97d2wL3/tOLdHDaDC38Pp4L6mModWiENA9ncSpG7Jf1Qgs4bohnTPDssZng3t41lYF5Pmn57EhuurDyToSQv7qBP0o87FN4b0xjKstr5uQckNxjWTG/KYbE5ghY7XmWvC7QXuXsaJ3nXId9NEwrkhmNkgRHe5qRk150/VB4I/AMvP5Xd0deLjxMJr/j8rDOlZbMHeQdsDuNPvAfw4D76k5/3GPZw4zUg5XNBUeIFoaiDqe7SUs97+jcFfhSWZmZjPNP4LU02p08ChfLrkZUXb4BNB9S+ITSsGK9ben6vssoeTavL/QYrUsDwyv+96Gk5hGTsmV/J8JW8lbRuQzHb1SkIOrshdume5OSaCSxsXAzVMaNz8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(39860400002)(396003)(136003)(376002)(451199018)(7416002)(5660300002)(4744005)(36756003)(478600001)(6506007)(26005)(6512007)(6486002)(2616005)(186003)(6916009)(4326008)(41300700001)(66556008)(66946007)(66476007)(8676002)(53546011)(8936002)(86362001)(31696002)(54906003)(38100700002)(316002)(31686004)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MXh4ZFppbUY5djhIYmVrbStUN3FSZUwyQ3UzcWNwclA3ZlFDRzZyNFR2SXUv?=
 =?utf-8?B?MUhlSmFWdGdKb21yVVVkOFZ5b21lQktCL1NiQ2FRSTAvVTdRQkxaTDZpQWw1?=
 =?utf-8?B?NVdWdEhYeXkvNUIrMm5zSXliQ0MvSTdJNnRKbi81U2EySm9SSEZJSWMvRGl5?=
 =?utf-8?B?SlNLQXNaZDVmaXFYMHI4Nm8rU1E0dHNtRC9BM0duTWtKelBleW1QV2pLUndP?=
 =?utf-8?B?WHhSdlltcnV5Q1hUeVlNdVFTYTRFUzkxVDJEWW5TbHM3dkVPMWFwKzFYcnk4?=
 =?utf-8?B?WkJOaTRDdHRmZHA0N3JBSXVNRXpiUmppWFkzOG1vNDJuejNhOXhZV2lJTXFY?=
 =?utf-8?B?NVRBWjEwcVZsaEx5NmFQSURrWllMS3N1SDRad1R0eC8vS0RHQ2F6cEJYQVpP?=
 =?utf-8?B?L1hyMzRCTmNJZGxUV09FV201SmduaDFIenhPS1NCSTZkNnF4Z2ZoejIxL3Ny?=
 =?utf-8?B?Q1lMYmQvNE1kQ1pheDd5SkxLOTVoTzlqZVZBU0RKeS9VcVdkZmo3eEhUMm5q?=
 =?utf-8?B?NGxFcFU1MDdXV29ZR2FpUnUzMDNuRC9lSElaa3ZUSDBBT3RYY052RWVjcXFq?=
 =?utf-8?B?SDNBbFhkZktXZTA0U1p1K1lxZFdpK1NFN1p0bHg5UDFIclRFWitFZWhwak1n?=
 =?utf-8?B?VVkxakZCTjR2WlJ0enYwdFBzMkNNcXFaQ21GcC95Unhvbllyd0ZOM3Q5eDl5?=
 =?utf-8?B?aG1icE53NlhjUWcvdzh5SHNoOUpQUGJxYUtuZnpDSVNWV1l4WWwvMHpnYnV5?=
 =?utf-8?B?Z2NuOXRnRWwwWDdqbDN4QUl3YitDdTBVYTBYck4xYVFTODRMNnVhQ0hIZGl3?=
 =?utf-8?B?QnRTaG85WXg3MGpTU2Y1K29KOWNLME5QUlJEa0x6dHYrUE5SdEdra0ZJSjdq?=
 =?utf-8?B?cjVoQjBaUkk5Zk5FSXJ4dDVQanhtemdCQVh4aXpyMmxId1RyUTRoa0c2cGpF?=
 =?utf-8?B?SVdjZTdwenFTL0phYzNXMlRhS3RFVHJTK3Y5NGJFekQ3TmtrbmdNQlBId2F4?=
 =?utf-8?B?ejZZZFRyU1MzZXRoaXBxQ2FKc040MDZtV0x3Vm5yV0hTK1YyOENvQjhYNkRO?=
 =?utf-8?B?a3JrWjJEbGlTQVhYMytQbEhOVEJjZmwvM1hXakxPRU1SMVhpVlRHbWU4K1gy?=
 =?utf-8?B?REhlOWVQWjErcDhVRzYycTRKeE5LL3BDeGhVMHZ4ZktjR2FOOEJUc1c4dGRF?=
 =?utf-8?B?WGtqaVVnV3JKVTFnZENpc2NtUmo4WlI4d1VSMVpZSnhudy9PL0VSdkZWMjRO?=
 =?utf-8?B?amdxaHZ4SGNEREFBbUVRemdybzZ2bUhFQmcvclVVOTR2Zkhzd3l5dGFQcTI0?=
 =?utf-8?B?cDJmV3g0VzNFbElUV0hBUVdwcHpieUpEbmpkKzN2VHRSWWZvaWV2TnFuS0Jz?=
 =?utf-8?B?d2VjcXdIT2hCN3pOMFdrZmV4SUZIMUhwOWk0aWc1dG1MQUJCenRUTk5pVXlh?=
 =?utf-8?B?UUxiMjJ5ZWJNRGU1T2liQTcvMDV2VWZUZ2VqY1pmNStCYUFRMWViVDA0RDNw?=
 =?utf-8?B?aG9FWk1PSnM4TTVzZXdCcTREK2I5bHlHaXRaZTBTNVF3VUM0d1F6WnpiMHVp?=
 =?utf-8?B?SkdPSStxTlpqN1Jza21mUGlQVU9IYkFpSi9uQStYVlNQOWF1NTY3QXRlbmNW?=
 =?utf-8?B?Y2Qvbk5KdzNCZU1ORk55c1RMOENZcXpGakRscmxVMTh0WVB3MXgrVnBsbzB3?=
 =?utf-8?B?cW5LdWlVa2xlNXhwd0RjWXhkSm5IdEI4RUZhN2lYZDVFSlptK0dvVHRlemVL?=
 =?utf-8?B?elY2cTNkN0V0QkJ4TWhQYWhab2Qra0plcERhNTFNS1lLQTVWRVIzL3U1ZVhV?=
 =?utf-8?B?bU4ycFVxTkhzY0dMWHJKSE16YkxhRzgraldFQXhUb2puc2R3LzhIOTl1Z25i?=
 =?utf-8?B?WTRFNmVFYzVpQ21rYyszUXR6ZVZrY1VTeHN1Z1JFTjc2RGtMV1d3NW52aFdl?=
 =?utf-8?B?Q2dPWE5SbUxzZGhaOXMyM1lQNzVrWHZycUFVUFM5SmdTdmVRUkV3ZkdGOGRJ?=
 =?utf-8?B?WlhqampFTWVlNXZ4ZmVCZFRaK0R4c1FUSVVCdnFYQ0w4ck1nbkJYakJjUTFh?=
 =?utf-8?B?QUgxMStESldBNmlpR2xZL0xPTEhuakZBOFlEZzBpOVRYSkNOTFpBbFJXdm1t?=
 =?utf-8?Q?O94o0Atu9FG2SKuyab4VcGvAQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d3a5de95-387f-4cc9-f6e7-08db239f796a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 08:46:44.8288
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Kt+hM4yR/ItOP7D2JQZqyn2KUl5fEk/oyUwJYe9NQr5fBd+hvwd0Imx6a24TCVruRiFex2H0/2HRcTaXWJb6pw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9844

On 13.03.2023 08:26, Christian König wrote:
> Am 13.03.23 um 08:23 schrieb Christian König:
>> Am 12.03.23 um 08:54 schrieb Huang Rui:
>>> --- a/xen/drivers/vpci/header.c
>>> +++ b/xen/drivers/vpci/header.c
>>> @@ -392,7 +392,7 @@ static void cf_check bar_write(
>>>        * Xen only cares whether the BAR is mapped into the p2m, so 
>>> allow BAR
>>>        * writes as long as the BAR is not mapped into the p2m.
>>>        */
>>> -    if ( bar->enabled )
>>> +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & 
>>> PCI_COMMAND_MEMORY )
>>
>> Checkpath.pl gives here:
>>
>> ERROR: space prohibited after that open parenthesis '('
>> #115: FILE: xen/drivers/vpci/header.c:395:
>> +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
> 
> But I should probably mention that I'm not 100% sure if this code base 
> uses kernel coding style!

It doesn't - see ./CODING_STYLE.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 08:49:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 08:49:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509160.784441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbdsF-0001Q2-H3; Mon, 13 Mar 2023 08:49:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509160.784441; Mon, 13 Mar 2023 08:49:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbdsF-0001Pv-Dx; Mon, 13 Mar 2023 08:49:43 +0000
Received: by outflank-mailman (input) for mailman id 509160;
 Mon, 13 Mar 2023 08:49: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=++h+=7F=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pbdsD-0001Pm-T6
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 08:49:42 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe607a61-c17b-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 09:49:41 +0100 (CET)
Received: from AS9PR07CA0055.eurprd07.prod.outlook.com (2603:10a6:20b:46b::14)
 by VE1PR08MB5582.eurprd08.prod.outlook.com (2603:10a6:800:1a5::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 08:49:30 +0000
Received: from VI1EUR03FT033.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:46b:cafe::32) by AS9PR07CA0055.outlook.office365.com
 (2603:10a6:20b:46b::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.25 via Frontend
 Transport; Mon, 13 Mar 2023 08:49:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 VI1EUR03FT033.mail.protection.outlook.com (100.127.144.234) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6199.11 via Frontend Transport; Mon, 13 Mar 2023 08:49:29 +0000
Received: ("Tessian outbound 0df938784972:v135");
 Mon, 13 Mar 2023 08:49:29 +0000
Received: from 125f4fce1cc1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 464801A1-1A0E-41C7-BB70-D837BD31DD11.1; 
 Mon, 13 Mar 2023 08:49:18 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 125f4fce1cc1.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 13 Mar 2023 08:49:18 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB9PR08MB6602.eurprd08.prod.outlook.com (2603:10a6:10:23c::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 08:49:13 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 08:49: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: fe607a61-c17b-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9RzleV0qgxboXSZxbMZvRoTcurtiuoi4SeRF+c2QPu8=;
 b=A58sdklqtmRRXGMYvRBm7NuPSJoZIrwNJf0+lCRH+q3Of0hRMW7ZsfKu5lyU+nw9X8+lArCh0Y9+GeTESAMtU1C5u6hjXOUmkpx9pblS3FNQ3FFWp+VN1D7qlyxQFWDqFXQE7Wxwh1VtjyJLk1CvAJw8DYBZyGLjh4AIBdHEQm4=
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: a9a3c966f2c9db19
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j09GtpQ79ArcofIyGQdkX36eux9xRKZk1MB9Z/Uz+OtF/5muRuBaBCLlaKQJOcvXVpgMX2zVQRoxrccXo3dsad+65Rysii8AN5yShQ+WGX8ybMplLJdxDnwh+5TiV2KiEGXf10p9aQUjYGvSRmQkCecYNV50uZNG/MYJW3WPAukBmwt0TLWBeavjAnO2zFF0wo/EWHPRv9BwSjomg7Jz6bnNHCFlpz2mKU8cx7E/034Csrqi4saRVih+mWtmQpAhJo6MxOOo/QYuosOie4ErXJZNJNmPzw+xBAUViub+JlaaMfHS5MfTUlMuZWKhOhTeLcOCYJx6M3xZrXAmbF24/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=9RzleV0qgxboXSZxbMZvRoTcurtiuoi4SeRF+c2QPu8=;
 b=RFR7sv7SkjbKa0L97vzeA7+O3ak9aqFZmKMJhFKKJ6jZ/n2aovWjECf6msRMucj0s4lpjwY+8h/YEk+vDhLcoNRfRmqlB8MXFqFLiM/QaemrGpuiv5pfkhgao+/JedMXyYzIAQaG9dwj/F9fgcQGlWnALFMZ/w61JXp28wuUZBmZS2y4ijFI+ion1N1Fod2Dy4c8CJDYv0g5SNw9ScDX07b8eCCFEKJMSmANRGQKze2a3hD1LRMbasiktinT8PQJDrUDhr4E4EPfqigSbGQl+ULpp0jYypJ2NFOV9j+CkR473tYXDyb5qbgRx/nraU7pEo3sKRj2iThiJuaL37/e1w==
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=9RzleV0qgxboXSZxbMZvRoTcurtiuoi4SeRF+c2QPu8=;
 b=A58sdklqtmRRXGMYvRBm7NuPSJoZIrwNJf0+lCRH+q3Of0hRMW7ZsfKu5lyU+nw9X8+lArCh0Y9+GeTESAMtU1C5u6hjXOUmkpx9pblS3FNQ3FFWp+VN1D7qlyxQFWDqFXQE7Wxwh1VtjyJLk1CvAJw8DYBZyGLjh4AIBdHEQm4=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 18/20] xen/arm: ffa: support sharing memory
Thread-Topic: [XEN PATCH v7 18/20] xen/arm: ffa: support sharing memory
Thread-Index: AQHZRtMh5yiB/qS3PEuFaSIvG3USOK74g6sA
Date: Mon, 13 Mar 2023 08:49:12 +0000
Message-ID: <CC630914-0816-40F9-B33C-86EC4E3B4BE6@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <fdca8effb1c2c209fd9d15c90360196fa67a845c.1677079672.git.jens.wiklander@linaro.org>
In-Reply-To:
 <fdca8effb1c2c209fd9d15c90360196fa67a845c.1677079672.git.jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|DB9PR08MB6602:EE_|VI1EUR03FT033:EE_|VE1PR08MB5582:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e9d7f60-a5d0-458b-c354-08db239fdbae
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:
 cMPWk+liQdEM8++x+bMVfvgRIoF654ScQguo86ZWRIJhs7SUI5sy0ZK4vFPTqQDOT3edjjMNsqqsOuFN5UcvcTRybjjc+7D/kDhUTb2U5pclCdzgrMLr1CoLpVhZH+2AHsWxsDr3FH/ZwdtblfY1kl69f/XKp+2L+fiQI/U7t/uI7XGH6OfBqnUGr7AKqZ5NRGlwiBdRTZ61gBgC9bILOHu8RtOHA6e5oamkSJ6nTqvWkw3/VvtC3EDBBVFVKWHR4cwIrOM+0eIxeXxBkn2DLtSJXoRqbRF5pPCA5mUY14Rm/OAqahZ8rg7PpF/t+cHiMtJlftAhXmtNm1o3mDyT8xD3pmeukLyV+pXT+pRZij1EmJ51XVQr2Te40g9KtetiNo5ZUJGsxqMxE6qcwEG6TUaem5iaElGndG9NZ7tvZz4G+bYlPUTszDkFTeciREFvzbkqeeuesqiy/VY0/7LYTA04IxcPMTbbE1sg2e29TEL86/jdlAM8ocLkGBk1yT3IlNaQLd6F046cxyRtZKqLMMvGREzyuECnr38zSSiJ0/8L6lgP/eJWjOszNNaNnf+9H5PhmVVyebgvOTDst8EzkgbtpA8ULByPvm3RhgC+hKV9W2wM/0I++PhpzL63n5/0TJUNwRFiPhvcJYGfpHEt/hu540SO4GLSklnlH6AoZbmTu4xYV+tBKGYdH9HOVfARGDTZ0D7dND+3ENsU4lzpZmTk/fANwEjScCUAI2BeSCQ=
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:(13230025)(4636009)(396003)(366004)(346002)(39860400002)(136003)(376002)(451199018)(122000001)(2906002)(83380400001)(36756003)(30864003)(5660300002)(33656002)(76116006)(66446008)(64756008)(66476007)(66946007)(8936002)(41300700001)(6916009)(38070700005)(8676002)(4326008)(91956017)(38100700002)(54906003)(86362001)(316002)(478600001)(66556008)(186003)(53546011)(2616005)(6506007)(71200400001)(6512007)(966005)(6486002)(45980500001)(579004);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <4FB2230259E8EF4FB1E4AFC30596AFE1@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6602
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:
 VI1EUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	caec014e-c138-495f-1a4e-08db239fd18b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dxkG/XjJ66YtaKO4ofCi3vitE0qYEQ58RUcnW50rKznTnAXAXBRehsrRfeasEBzVDz4FoUmnQDVHQFXBZEOoAmFGveHF5Tc3es78wJcJ2SAShJq5vmxDagYbls7DxdPrOnycwiKhIcDZJUDOUX1+deuVKXAb6GB42wbpeDN6HU+jDrkjO4/8z7vhaj1P10odzrqviYbWqS5/gvhJR5fd1JJ//KAh+hGr5DrsskYE6Iwd8QnWgX+OMTJ4tbNl9YReKediHJF2PPxeOuZw3Z37d0jEAaUq1wA7eIda4MIunuxCGfbI8R+CaaL6/qUhVQhEoYD4OFaX3hltIO4rxE2pYnUBglRCwHMEUEXt9P0sLQIuH+8A6rsGZl70rWdaq3SC8EKm93EA8p76Yomau2Cz/VHW5lhzxNR3WBauYnP8SgR6ODx6TopdSfhJeCweEgroCoN0HcJ/R1YjH/Gf/NnuA8r1IGhET1INtOEIJWj39cGbDkLPTNAZ41Cq3NS4E0YF/CsXyFKOD0d1W0bBJjPK8W/kCIaC67+toyRWch7HvVNCK/yZjNXCLPHEnrmZ6/vBOsYn+Oi1W34HXCcEsi7BYTRz1HU88ggqLyZaX6et6e6jhz2N7vwKLLeQUlHyUcQEPm+8vZ1qWHKGNSqMBWModBA1h4DI3YJokDKXuHKfGjQ=
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:(13230025)(4636009)(346002)(376002)(136003)(39860400002)(396003)(451199018)(36840700001)(46966006)(36756003)(5660300002)(30864003)(54906003)(83380400001)(478600001)(82310400005)(186003)(47076005)(6512007)(966005)(6506007)(26005)(6486002)(53546011)(2616005)(336012)(356005)(33656002)(4326008)(70586007)(70206006)(40480700001)(41300700001)(6862004)(8936002)(86362001)(316002)(8676002)(36860700001)(81166007)(2906002)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 08:49:29.4086
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e9d7f60-a5d0-458b-c354-08db239fdbae
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:
	VI1EUR03FT033.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5582

Hi Jens,

> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Adds support for a guest to share memory with an SP using FFA_MEM_SHARE
> and FFA_MEM_RECLAIM. Only small memory regions can be shared using a
> single call to FFA_MEM_SHARE are supported.

This sentence needs a bit of rephrasing and to add more details: what is "s=
mall".

>=20
> A memory region that doesn't need to be shared any longer can be
> reclaimed with FFA_MEM_RECLAIM once the SP doesn't use it any longer.
> This is checked by the SPMC and not in control of the mediator.

This explanation would make more sense in the following patch adding suppor=
t
 for Reclaim.

>=20
> With this commit we have a FF-A version 1.1 [1] mediator able to
> communicate with a Secure Partition in secure world using shared memory.
> The secure world must use FF-A version 1.1, but the guest is free to use
> version 1.0 or version 1.1.

I do not see anything limiting that in the code.
During init we accept 1.0 or 1.1 versions of the secure world.

>=20
> Adds a check that the SP supports the needed FF-A features
> FFA_MEM_SHARE_64 or FFA_MEM_SHARE_32.
>=20
> [1] https://developer.arm.com/documentation/den0077/latest
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> ---
> xen/arch/arm/tee/ffa.c | 491 +++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 491 insertions(+)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 94c90b252454..cdc286caf62c 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -270,6 +270,38 @@ struct ffa_mem_transaction_1_1 {
>     uint8_t reserved[12];
> };
>=20
> +/* Calculate offset of struct ffa_mem_access from start of buffer */
> +#define MEM_ACCESS_OFFSET(access_idx) \
> +    ( sizeof(struct ffa_mem_transaction_1_1) + \
> +      ( access_idx ) * sizeof(struct ffa_mem_access) )
> +
> +/* Calculate offset of struct ffa_mem_region from start of buffer */
> +#define REGION_OFFSET(access_count, region_idx) \
> +    ( MEM_ACCESS_OFFSET(access_count) + \
> +      ( region_idx ) * sizeof(struct ffa_mem_region) )
> +
> +/* Calculate offset of struct ffa_address_range from start of buffer */
> +#define ADDR_RANGE_OFFSET(access_count, region_count, range_idx) \
> +    ( REGION_OFFSET(access_count, region_count) + \
> +      ( range_idx ) * sizeof(struct ffa_address_range) )
> +
> +/*
> + * The parts needed from struct ffa_mem_transaction_1_0 or struct
> + * ffa_mem_transaction_1_1, used to provide an abstraction of difference=
 in
> + * data structures between version 1.0 and 1.1. This is just an internal
> + * interface and can be changed without changing any ABI.
> + */
> +struct ffa_mem_transaction_x {

I would suggest to s/_x/_int/ in the name here

> +    uint16_t sender_id;
> +    uint8_t mem_reg_attr;
> +    uint8_t flags;
> +    uint8_t mem_access_size;
> +    uint8_t mem_access_count;
> +    uint16_t mem_access_offs;
> +    uint64_t global_handle;
> +    uint64_t tag;
> +};
> +
> /* Endpoint RX/TX descriptor */
> struct ffa_endpoint_rxtx_descriptor_1_0 {
>     uint16_t sender_id;
> @@ -294,8 +326,20 @@ struct ffa_ctx {
>     uint32_t guest_vers;
>     bool tx_is_mine;
>     bool interrupted;
> +    struct list_head shm_list;
> +    unsigned int shm_count;
>     spinlock_t lock;
> };
> +
> +struct ffa_shm_mem {
> +    struct list_head list;
> +    uint16_t sender_id;
> +    uint16_t ep_id;     /* endpoint, the one lending */
> +    uint64_t handle;    /* FFA_HANDLE_INVALID if not set yet */
> +    unsigned int page_count;
> +    struct page_info *pages[];
> +};
> +
> /* Negotiated FF-A version to use with the SPMC */
> static uint32_t ffa_version __ro_after_init;
>=20
> @@ -310,6 +354,8 @@ static unsigned int subscr_vm_destroyed_count __read_=
mostly;
>  *
>  * ffa_page_count is the number of pages used in each of these buffers.
>  *
> + * The TX buffer is protected from concurrent usage with ffa_tx_buffer_l=
ock.
> + *
>  * The RX buffer is protected from concurrent usage with ffa_rx_buffer_lo=
ck.
>  * Note that the SPMC is also tracking the ownership of our RX buffer so
>  * for calls which uses our RX buffer to deliver a result we must call
> @@ -319,6 +365,7 @@ static void *ffa_rx __read_mostly;
> static void *ffa_tx __read_mostly;
> static unsigned int ffa_page_count __read_mostly;
> static DEFINE_SPINLOCK(ffa_rx_buffer_lock);
> +static DEFINE_SPINLOCK(ffa_tx_buffer_lock);
>=20
> static bool ffa_get_version(uint32_t *vers)
> {
> @@ -429,6 +476,42 @@ static int32_t ffa_rx_release(void)
>     return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
> }
>=20
> +static int32_t ffa_mem_share(uint32_t tot_len, uint32_t frag_len,
> +                             register_t addr, uint32_t pg_count,
> +                             uint64_t *handle)
> +{
> +    struct arm_smccc_1_2_regs arg =3D {
> +        .a0 =3D FFA_MEM_SHARE_32,
> +        .a1 =3D tot_len,
> +        .a2 =3D frag_len,
> +        .a3 =3D addr,
> +        .a4 =3D pg_count,
> +    };
> +    struct arm_smccc_1_2_regs resp;
> +
> +    if ( IS_ENABLED(CONFIG_ARM_64) )
> +        arg.a0 =3D FFA_MEM_SHARE_64;
> +
> +    arm_smccc_1_2_smc(&arg, &resp);
> +
> +    switch ( resp.a0 )
> +    {
> +    case FFA_ERROR:
> +        if ( resp.a2 )
> +            return resp.a2;
> +        else
> +            return FFA_RET_NOT_SUPPORTED;
> +    case FFA_SUCCESS_32:
> +        *handle =3D regpair_to_uint64(resp.a3, resp.a2);
> +        return FFA_RET_OK;
> +    case FFA_MEM_FRAG_RX:
> +        *handle =3D regpair_to_uint64(resp.a2, resp.a1);
> +        return resp.a3;

You are using an int32_t type to cast something that is uint32_t from the s=
pec
and here could in fact be a uint64_t.


> +    default:
> +        return FFA_RET_NOT_SUPPORTED;
> +    }
> +}
> +
> static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
>                                       uint8_t msg)
> {
> @@ -757,6 +840,404 @@ out:
>              resp.a4 & mask, resp.a5 & mask, resp.a6 & mask, resp.a7 & ma=
sk);
> }
>=20
> +/*
> + * Gets all page and assigns them to the supplied shared memory object. =
If
> + * this function fails then the caller is still expected to call
> + * put_shm_pages() as a cleanup.
> + */
> +static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
> +                         const struct ffa_address_range *range,
> +                         uint32_t range_count, unsigned int start_page_i=
dx,
> +                         unsigned int *last_page_idx)
> +{
> +    unsigned int pg_idx =3D start_page_idx;
> +    gfn_t gfn;
> +    unsigned int n;
> +    unsigned int m;
> +    p2m_type_t t;
> +    uint64_t addr;
> +
> +    for ( n =3D 0; n < range_count; n++ )
> +    {
> +        for ( m =3D 0; m < range[n].page_count; m++ )
> +        {
> +            if ( pg_idx >=3D shm->page_count )
> +                return FFA_RET_INVALID_PARAMETERS;
> +
> +            addr =3D read_atomic(&range[n].address);
> +            gfn =3D gaddr_to_gfn(addr + m * FFA_PAGE_SIZE);
> +            shm->pages[pg_idx] =3D get_page_from_gfn(d, gfn_x(gfn), &t,
> +   P2M_ALLOC);
> +            if ( !shm->pages[pg_idx] )
> +                return FFA_RET_DENIED;
> +            pg_idx++;

This increment could be done at the end, why here ?

> +            /* Only normal RAM for now */
> +            if ( !p2m_is_ram(t) )
> +                return FFA_RET_DENIED;
> +        }
> +    }
> +
> +    *last_page_idx =3D pg_idx;
> +
> +    return FFA_RET_OK;
> +}
> +
> +static void put_shm_pages(struct ffa_shm_mem *shm)
> +{
> +    unsigned int n;
> +
> +    for ( n =3D 0; n < shm->page_count && shm->pages[n]; n++ )
> +    {
> +        put_page(shm->pages[n]);
> +        shm->pages[n] =3D NULL;

If an error occured during the generation you might have part
of the pages which are NULL already.

So you should do a if (pages[n] !=3D NULL) here

> +    }
> +}
> +
> +static struct ffa_shm_mem *alloc_ffa_shm_mem(struct ffa_ctx *ctx,
> +                                             unsigned int page_count)
> +{
> +    struct ffa_shm_mem *shm;
> +
> +    if ( page_count >=3D FFA_MAX_SHM_PAGE_COUNT ||
> +         ctx->shm_count >=3D FFA_MAX_SHM_COUNT )
> +        return NULL;

Shouldn't you also filter out for page_count =3D 0 ?

> +
> +    shm =3D xzalloc_flex_struct(struct ffa_shm_mem, pages, page_count);
> +    if ( shm )
> +    {
> +        ctx->shm_count++;
> +        shm->page_count =3D page_count;
> +    }
> +
> +    return shm;
> +}
> +
> +static void free_ffa_shm_mem(struct ffa_ctx *ctx, struct ffa_shm_mem *sh=
m)
> +{
> +    if ( shm ) {
> +        ASSERT(ctx->shm_count > 0);
> +        ctx->shm_count--;
> +        put_shm_pages(shm);
> +        xfree(shm);
> +    }
> +}
> +
> +static void init_range(struct ffa_address_range *addr_range,
> +                       paddr_t pa)
> +{
> +    memset(addr_range, 0, sizeof(*addr_range));
> +    addr_range->address =3D pa;
> +    addr_range->page_count =3D 1;
> +}
> +
> +/*
> + * This function uses the ffa_tx buffer to transmit the memory transacti=
on
> + * descriptor. The function depends ffa_tx_buffer_lock to be used to gua=
rd
> + * the buffer from concurrent use.
> + */
> +static int share_shm(struct ffa_shm_mem *shm)
> +{
> +    const uint32_t max_frag_len =3D ffa_page_count * FFA_PAGE_SIZE;
> +    struct ffa_mem_access *mem_access_array;
> +    struct ffa_mem_transaction_1_1 *descr;
> +    struct ffa_address_range *addr_range;
> +    struct ffa_mem_region *region_descr;
> +    const unsigned int region_count =3D 1;
> +    void *buf =3D ffa_tx;
> +    uint32_t frag_len;
> +    uint32_t tot_len;
> +    paddr_t last_pa;
> +    unsigned int n;
> +    paddr_t pa;
> +
> +    ASSERT(spin_is_locked(&ffa_tx_buffer_lock));
> +    if ( !shm->page_count )
> +    {
> +        ASSERT_UNREACHABLE();
> +        return FFA_RET_INVALID_PARAMETERS;

page_count =3D 0 should be filtered out before reaching this and this shoul=
d
only be an assert if you want but no unreachable with a return.

> +    }
> +
> +    descr =3D buf;
> +    memset(descr, 0, sizeof(*descr));
> +    descr->sender_id =3D shm->sender_id;
> +    descr->global_handle =3D shm->handle;
> +    descr->mem_reg_attr =3D FFA_NORMAL_MEM_REG_ATTR;
> +    descr->mem_access_count =3D 1;
> +    descr->mem_access_size =3D sizeof(*mem_access_array);
> +    descr->mem_access_offs =3D MEM_ACCESS_OFFSET(0);
> +
> +    mem_access_array =3D buf + descr->mem_access_offs;
> +    memset(mem_access_array, 0, sizeof(*mem_access_array));
> +    mem_access_array[0].access_perm.endpoint_id =3D shm->ep_id;
> +    mem_access_array[0].access_perm.perm =3D FFA_MEM_ACC_RW;
> +    mem_access_array[0].region_offs =3D REGION_OFFSET(descr->mem_access_=
count, 0);
> +
> +    region_descr =3D buf + mem_access_array[0].region_offs;
> +    memset(region_descr, 0, sizeof(*region_descr));
> +    region_descr->total_page_count =3D shm->page_count;
> +
> +    region_descr->address_range_count =3D 1;
> +    last_pa =3D page_to_maddr(shm->pages[0]);
> +    for ( n =3D 1; n < shm->page_count; last_pa =3D pa, n++ )
> +    {
> +        pa =3D page_to_maddr(shm->pages[n]);
> +        if ( last_pa + FFA_PAGE_SIZE =3D=3D pa )
> +            continue;
> +        region_descr->address_range_count++;
> +    }
> +
> +    tot_len =3D ADDR_RANGE_OFFSET(descr->mem_access_count, region_count,
> +                                region_descr->address_range_count);
> +    if ( tot_len > max_frag_len )
> +        return FFA_RET_NOT_SUPPORTED;
> +
> +    addr_range =3D region_descr->address_range_array;
> +    frag_len =3D ADDR_RANGE_OFFSET(descr->mem_access_count, region_count=
, 1);
> +    last_pa =3D page_to_maddr(shm->pages[0]);
> +    init_range(addr_range, last_pa);
> +    for ( n =3D 1; n < shm->page_count; last_pa =3D pa, n++ )
> +    {
> +        pa =3D page_to_maddr(shm->pages[n]);
> +        if ( last_pa + FFA_PAGE_SIZE =3D=3D pa )
> +        {
> +            addr_range->page_count++;
> +            continue;
> +        }
> +
> +        frag_len +=3D sizeof(*addr_range);
> +        addr_range++;
> +        init_range(addr_range, pa);
> +    }
> +
> +    return ffa_mem_share(tot_len, frag_len, 0, 0, &shm->handle);
> +}
> +
> +static int read_mem_transaction(uint32_t ffa_vers, const void *buf, size=
_t blen,
> +                                struct ffa_mem_transaction_x *trans)
> +{
> +    uint16_t mem_reg_attr;
> +    uint32_t flags;
> +    uint32_t count;
> +    uint32_t offs;
> +    uint32_t size;
> +
> +    if ( ffa_vers >=3D FFA_VERSION_1_1 )
> +    {
> +        const struct ffa_mem_transaction_1_1 *descr;
> +
> +        if ( blen < sizeof(*descr) )
> +            return FFA_RET_INVALID_PARAMETERS;
> +
> +        descr =3D buf;
> +        trans->sender_id =3D descr->sender_id;
> +        mem_reg_attr =3D descr->mem_reg_attr;
> +        flags =3D descr->flags;
> +        trans->global_handle =3D descr->global_handle;
> +        trans->tag =3D descr->tag;
> +
> +        count =3D descr->mem_access_count;
> +        size =3D descr->mem_access_size;
> +        offs =3D descr->mem_access_offs;
> +    }
> +    else
> +    {
> +        const struct ffa_mem_transaction_1_0 *descr;
> +
> +        if ( blen < sizeof(*descr) )
> +            return FFA_RET_INVALID_PARAMETERS;
> +
> +        descr =3D buf;
> +        trans->sender_id =3D descr->sender_id;
> +        mem_reg_attr =3D descr->mem_reg_attr;
> +        flags =3D descr->flags;
> +        trans->global_handle =3D descr->global_handle;
> +        trans->tag =3D descr->tag;
> +
> +        count =3D descr->mem_access_count;
> +        size =3D sizeof(struct ffa_mem_access);
> +        offs =3D offsetof(struct ffa_mem_transaction_1_0, mem_access_arr=
ay);
> +    }
> +    /*
> +     * Make sure that "descr" which is shared with the guest isn't acces=
sed
> +     * again after this point.
> +     */
> +    barrier();

I am not really following the comment here. You accessed the content of des=
cr
before and it is in the rxtx buffer so why is this needed ?

> +
> +    /*
> +     * We're doing a rough check to see that no information is lost when
> +     * tranfering the values into a struct ffa_mem_transaction_x below. =
The
> +     * fields in struct ffa_mem_transaction_x are wide enough to hold an=
y
> +     * valid value so being out of range means that something is wrong.
> +     */
> +    if ( mem_reg_attr > UINT8_MAX || flags > UINT8_MAX || size > UINT8_M=
AX ||
> +        count > UINT8_MAX || offs > UINT16_MAX )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    /* Check that the endpoint memory access descriptor array fits */
> +    if ( size * count + offs > blen )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    trans->mem_reg_attr =3D mem_reg_attr;
> +    trans->flags =3D flags;
> +    trans->mem_access_size =3D size;
> +    trans->mem_access_count =3D count;
> +    trans->mem_access_offs =3D offs;
> +
> +    return 0;
> +}
> +
> +static void handle_mem_share(struct cpu_user_regs *regs)
> +{
> +    uint32_t tot_len =3D get_user_reg(regs, 1);
> +    uint32_t frag_len =3D get_user_reg(regs, 2);
> +    uint64_t addr =3D get_user_reg(regs, 3);
> +    uint32_t page_count =3D get_user_reg(regs, 4);
> +    const struct ffa_mem_region *region_descr;
> +    const struct ffa_mem_access *mem_access;
> +    struct ffa_mem_transaction_x trans;
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +    struct ffa_shm_mem *shm =3D NULL;
> +    unsigned int last_page_idx =3D 0;
> +    register_t handle_hi =3D 0;
> +    register_t handle_lo =3D 0;
> +    int ret =3D FFA_RET_DENIED;
> +    uint32_t range_count;
> +    uint32_t region_offs;
> +
> +    /*
> +     * We're only accepting memory transaction descriptors via the rx/tx
> +     * buffer.

Is this a limitation coming fomr the spec or from the implementation ?

> +     */
> +    if ( addr )
> +    {
> +        ret =3D FFA_RET_NOT_SUPPORTED;
> +        goto out_set_ret;
> +    }
> +
> +    /* Check that fragment length doesn't exceed total length */
> +    if ( frag_len > tot_len )
> +    {
> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> +        goto out_set_ret;
> +    }
> +
> +    /* We currently only support a single fragment */

It would make sense to add some text at the beginning of the files listing
the current limitations of the implementation.

> +    if ( frag_len !=3D tot_len )
> +    {
> +        ret =3D FFA_RET_NOT_SUPPORTED;
> +        goto out_set_ret;
> +    }
> +
> +    spin_lock(&ctx->lock);
> +
> +    if ( frag_len > ctx->page_count * FFA_PAGE_SIZE )
> +        goto out_unlock;
> +
> +    if ( !ffa_page_count )
> +    {
> +        ret =3D FFA_RET_NO_MEMORY;
> +        goto out_unlock;
> +    }
> +
> +    ret =3D read_mem_transaction(ctx->guest_vers, ctx->tx, frag_len, &tr=
ans);
> +    if ( ret )
> +        goto out_unlock;
> +
> +    if ( trans.mem_reg_attr !=3D FFA_NORMAL_MEM_REG_ATTR )
> +    {
> +        ret =3D FFA_RET_NOT_SUPPORTED;
> +        goto out_unlock;
> +    }
> +
> +    /* Only supports sharing it with one SP for now */

Also a limitation to list.

> +    if ( trans.mem_access_count !=3D 1 )
> +    {
> +        ret =3D FFA_RET_NOT_SUPPORTED;
> +        goto out_unlock;
> +    }
> +
> +    if ( trans.sender_id !=3D get_vm_id(d) )
> +    {
> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> +        goto out_unlock;
> +    }
> +
> +    /* Check that it fits in the supplied data */
> +    if ( trans.mem_access_offs + trans.mem_access_size > frag_len )
> +        goto out_unlock;
> +

Why are you using atomic operations to access rxtx buffer after here ?

> +    mem_access =3D ctx->tx + trans.mem_access_offs;
> +    if ( read_atomic(&mem_access->access_perm.perm) !=3D FFA_MEM_ACC_RW =
)

Also a limitation to list.

> +    {
> +        ret =3D FFA_RET_NOT_SUPPORTED;
> +        goto out_unlock;
> +    }
> +
> +    region_offs =3D read_atomic(&mem_access->region_offs);
> +    if ( sizeof(*region_descr) + region_offs > frag_len )
> +    {
> +        ret =3D FFA_RET_NOT_SUPPORTED;
> +        goto out_unlock;
> +    }
> +
> +    region_descr =3D ctx->tx + region_offs;
> +    range_count =3D read_atomic(&region_descr->address_range_count);
> +    page_count =3D read_atomic(&region_descr->total_page_count);
> +
> +    shm =3D alloc_ffa_shm_mem(ctx, page_count);
> +    if ( !shm )
> +    {
> +        ret =3D FFA_RET_NO_MEMORY;
> +        goto out_unlock;
> +    }
> +    shm->sender_id =3D trans.sender_id;
> +    shm->ep_id =3D read_atomic(&mem_access->access_perm.endpoint_id);
> +
> +    /*
> +     * Check that the Composite memory region descriptor fits.
> +     */
> +    if ( sizeof(*region_descr) + region_offs +
> +         range_count * sizeof(struct ffa_address_range) > frag_len )
> +    {
> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> +        goto out;
> +    }
> +
> +    ret =3D get_shm_pages(d, shm, region_descr->address_range_array, ran=
ge_count,
> +                        0, &last_page_idx);
> +    if ( ret )
> +        goto out;
> +    if ( last_page_idx !=3D shm->page_count )
> +    {
> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> +        goto out;
> +    }
> +
> +    /* Note that share_shm() uses our tx buffer */
> +    spin_lock(&ffa_tx_buffer_lock);
> +    ret =3D share_shm(shm);
> +    spin_unlock(&ffa_tx_buffer_lock);
> +    if ( ret )
> +        goto out;
> +
> +    list_add_tail(&shm->list, &ctx->shm_list);
> +
> +    uint64_to_regpair(&handle_hi, &handle_lo, shm->handle);
> +
> +out:
> +    if ( ret )
> +        free_ffa_shm_mem(ctx, shm);
> +out_unlock:
> +    spin_unlock(&ctx->lock);
> +
> +out_set_ret:
> +    if ( ret =3D=3D 0)
> +            set_regs_success(regs, handle_lo, handle_hi);
> +    else
> +            set_regs_error(regs, ret);
> +}
> +
> static bool ffa_handle_call(struct cpu_user_regs *regs)
> {
>     uint32_t fid =3D get_user_reg(regs, 0);
> @@ -818,6 +1299,12 @@ static bool ffa_handle_call(struct cpu_user_regs *r=
egs)
> #endif
>         handle_msg_send_direct_req(regs, fid);
>         return true;
> +    case FFA_MEM_SHARE_32:
> +#ifdef CONFIG_ARM_64
> +    case FFA_MEM_SHARE_64:
> +#endif
> +        handle_mem_share(regs);
> +        return true;
>=20
>     default:
>         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> @@ -857,6 +1344,8 @@ static int ffa_domain_init(struct domain *d)
>         }
>     }
>=20
> +    INIT_LIST_HEAD(&ctx->shm_list);
> +
>     d->arch.tee =3D ctx;
>=20
>     return 0;
> @@ -1012,11 +1501,13 @@ static bool ffa_probe(void)
>          !check_mandatory_feature(FFA_RX_RELEASE) ||
> #ifdef CONFIG_ARM_64
>          !check_mandatory_feature(FFA_RXTX_MAP_64) ||
> +         !check_mandatory_feature(FFA_MEM_SHARE_64) ||
> #endif
> #ifdef CONFIG_ARM_32
>          !check_mandatory_feature(FFA_RXTX_MAP_32) ||
> #endif
>          !check_mandatory_feature(FFA_RXTX_UNMAP) ||
> +         !check_mandatory_feature(FFA_MEM_SHARE_32) ||
>          !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
>         return false;
>=20
> --=20
> 2.34.1


Cheers
Bertrand



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 08:51:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 08:51:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509165.784451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbdtd-0002rD-1f; Mon, 13 Mar 2023 08:51:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509165.784451; Mon, 13 Mar 2023 08:51: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 1pbdtc-0002r6-U9; Mon, 13 Mar 2023 08:51:08 +0000
Received: by outflank-mailman (input) for mailman id 509165;
 Mon, 13 Mar 2023 08:51:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbdtc-0002qj-1f
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 08:51:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20627.outbound.protection.outlook.com
 [2a01:111:f400:7d00::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ec6ed4d-c17c-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 09:51:02 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS1PR04MB9237.eurprd04.prod.outlook.com (2603:10a6:20b:4d1::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 08:51:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 08:51: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: 2ec6ed4d-c17c-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KZJUS+4hHgR8M9XyvuxEoPkV3CwPLEcx08f7f528vExnca96yx28w6dv0+vLLfUbZx3A/ZpokCUo7gI4qjwYT7TaSPExoyYoo2rNTyI4+fK3XK7L/npvkVJ0Wl/rMHjd/BsQfg0nXrK+NX/fpgvp8rg/RsUz31uUe6Y7EyHvK7pQTMw+2g1e90XPiNGyW+mw3a3DVoBGl2R3TqlqKHEoy1iflOYPPIyObL8FJyL3S8xIyup/ORXG/Bgy+2/V66tdqXWMsrxrsOIBumzT5F5FTophQ1a6KUV0WFp9DNzMOKMZrlpc4BXbRYjwgULxwGTYtDkIn1BDWPQE8zZOBmpYTg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gfrqzWsc4VLnScZs6DhsxmCfA+SsjVybkPhE3Ti7ulY=;
 b=ivU7M2K0okYlbWoGTBXB0QAOdGDC61/lwXK4QwDIYTXhQ3uSrnsjeC0nqgDyVmkaQHprov9HgwLUXHc/PBIhRvyARjn4V8WS39bWMBHU42PiOgIyRj+sCLwEtGy8/LxCmErlUUYj9I4GCw1gEEwP9W8JGD8oOVBI09oSuSK0aDno9VR9DI5WKKKLHmFzIkqT53UU7IXQBGcRyMLvbhxFtIxPfQRCMINt/0yMegGylRtXUGzWL0xmnfmoGjjX9jBm9K+rd2mGwiktlePCtdqalC97kgO6QXQgXGMk3uGREwIGWIKJt7G0IJekNIkA2WiBMJWJQXxg7NvJp6S3Eo2j9A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gfrqzWsc4VLnScZs6DhsxmCfA+SsjVybkPhE3Ti7ulY=;
 b=vxBlLuqhCr2nt5NJbzhk8xZbn7LKXUj4YilGfZ82DlZgSijhBKk+nIolqtCpGvaya6xKuGNxARoQMVvtX7Gg94xAa4r3x6NoO251WrOot11/x0P0NsXZ5isfr7rbI36bXHQsZdLZ/8al0f8Iqa/D6p40hERmlSv+IVaG0uPnBOnnCt6DG628sY06jAkzd7CT7/iRgfr3lMbS494lvlklQ+6PZQLocSs+1hDwSA6tbMguD3SW5u/uu2Vx7XcZHDuujf5RWmATNkrS9tJgwYTqcdL9SKPLRfTqEPlrpGZMudXMN6a/gOfHh266ctuOLKqx8V5CrFkshPU6rjCx1JmFjg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5ab2c05f-80cd-5548-722a-86e6d521568d@suse.com>
Date: Mon, 13 Mar 2023 09:51:00 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 0/3] x86: Minor improvements to xen-cpuid
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>, =?UTF-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Rob Hoes <Rob.Hoes@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20230310203712.1431387-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230310203712.1431387-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0146.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS1PR04MB9237:EE_
X-MS-Office365-Filtering-Correlation-Id: b601f170-d983-4fbb-f8ac-08db23a011c0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MjIyEp/FLhyS2Bg8jT6m5cmLh7trDHS3/d4Kyo4iF45bj/Z1BEz7iGq27mnw/dwJvNbWcF/u4xEkes17Lx31Ydt7dFyFWx4In7AxD0KOe3FpdNDjRV0dTwGz4kQTuJC3G073/qYCJcibYvi6Z/7dKD+fy6mqYjQKGt1bM6dElk2vEiHEGuGgWZLAfbiTNsL/cGb8v/TpGKCTBKMpYIMY/2v58KjIF2pDqJUEx1bqLeYI8vPNU0CNnlHqmi6CTXeQZCV2l7cLDHAxQwvsCon/2i9KPlnFb0th3ZzBhu4P5YTLVf9Vit/SFzHeESDE67NmXKs/vlSsi0xi6A+X8Ixe4eEk4HTshvMd8M2Tz3EPVVXao4tD3CmgDOp75RkJM4/zcxUivY7dO+z5y8gs1Kjve/Bvn/xVgtzrZ6pXDPEKFiPIniafc2tsHN/ObuDbBCPTe5JDYqhzUAsgUmnClo1zwv8OpHzk6g8VuhMaV+gVpC7OlvMyr6FK5b0rgPuc2zpUGV+i6sekVI0EKZnwi2Sdv3D0PnlXhDT3okEsKX6u3+F3LqmdUOkyZuQg/mwaJ93rtDs6CMmf0AUGzmRiGIqj8lnFhelVXjHQw1WMjLPqvH5yPCPRdCWqFtmLMSTGEjxd59UCZHu11Ngj+KEfACuOG5JEMYp2/i+nJsQ7smcnUy0HaGc0X/WBTtc7dnODsICv6crOoL3FkWgxJG0+pzm22MAKAT7PTeRdKacvc8tQNUs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(346002)(136003)(376002)(396003)(451199018)(478600001)(83380400001)(2906002)(38100700002)(86362001)(5660300002)(8936002)(4744005)(31696002)(36756003)(4326008)(8676002)(6916009)(66946007)(66556008)(66476007)(54906003)(41300700001)(316002)(26005)(186003)(2616005)(6512007)(6506007)(53546011)(31686004)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MHFWaVczT0NtMWhWSGU2VlNwRjFLdFpHSStDbkV5KzhKN056TXdISkhYVEVJ?=
 =?utf-8?B?R2lWZHpDMjJxVlhVOWRta0lkcWhMRUhuNXAvL1JrUkw3aEd1WDNYWlc5TTRX?=
 =?utf-8?B?SXdQYTR6c1M3NDUzcW1CMjVEZDZWaTZ4b2V5eU82VktKTThjODk5UjBlb2Y1?=
 =?utf-8?B?bm82NDFMV3V3TGVCTjRYaEtKclEyYkQzckpreUQyQmV0eTVIYnFaeTBjM1My?=
 =?utf-8?B?MmxnUkQyckJQeVk1Um9QZzc1UVFQNFEzYUs5MFhIK3Y4VFhzY3FNVzJOeDBo?=
 =?utf-8?B?WU50OVFKcmx3TDFoYXhjS0ZRcU9XaDlGNnVaUm5zRjZPN3VKM2lWSGYvWVVv?=
 =?utf-8?B?ZnpHcFc4T0tQUUQxN09FamROMENpenFPSDZld1B2N1NLRWRXVXlrTTkvTDAz?=
 =?utf-8?B?UHpsTE5QR2ZPTHNNSUducnE2REVCSjFGY3NkM0RZTm1GMmFJcTk4K2N1TUpj?=
 =?utf-8?B?ZWc2elBpZ25mTThxNmNNWnFSYUdZb3B2ZytJYTFPbmhzNEpmZk4zUUpiMk5q?=
 =?utf-8?B?dTA0OUV5Nk4yOGt1U1pUdlRROTM2c1RlUVE1Z3dHdkgxRHJ1em5aRWRvNDdM?=
 =?utf-8?B?WFFlSW1Ddm4xc1hvN0NYVStOUGZlN3B5MmhKdjRHN1pMc0IxVjY1dDNuL0gy?=
 =?utf-8?B?TVFNeGl4b2craGxDRFpBQUJCZkVKbjQ1cWRaYUxORWVVblBTT0lBUzM5d3dt?=
 =?utf-8?B?NlNlMWNlUDlQemJaTjVpTGFQMSs0UTZ5UHFsN1lKdktDWXkyanNDRUZKeVhv?=
 =?utf-8?B?dHVZdE5OOGdrVWU4RW9DTjNubHlueFZrcWVZMnBmcFUyTUx6ZlRaRzFaYWlT?=
 =?utf-8?B?ZkRTVXcrOEh4YXFZWGZCbWtzUlRBaS8wMHNpVFh2SEJnQXBwTXF4emEwMFJj?=
 =?utf-8?B?NElkdCtoZ3ozQVNNekh5TjMxMHdtZWVnV2p6R0YrRGthaE5jbVNwdzZiMmdL?=
 =?utf-8?B?R2diM1ZjU3BOOUdJQlhsb3NRRG55Zkh4RFUxMDFqTVIzY1NabTgxQ3Jqbktj?=
 =?utf-8?B?dTBxL0p3bkZxNXhvUUJxUWsrTzduVFJBVTJjRnNMMUozU2tzaElIQnFDb1Nu?=
 =?utf-8?B?VlJ1MVh3YTFaNmdwZWsvOXdhdEtROEFkZFp6d2NZK0RGKzMzWnZib1J1L0I3?=
 =?utf-8?B?bEdZNGsrWHh3c1JHbk9ycFBVQytZK3EweUFiVnUzRDNNOHVIcHdib3lmazJi?=
 =?utf-8?B?YmVEZWpZV29jWTYxWnBLQ2N6V09RQXZjMVFSY1FTQVJzcEh0R0hDVmFlc2c0?=
 =?utf-8?B?bmZ6bXNkdWJhVzJlY0VOTkN1R0Jab2prUEFhTUVyYi9LSG10MkNEMHFMOUZW?=
 =?utf-8?B?SStWeFZXRis4Vkwwd2Yrd0R0TWk0azV4bXN4NHFkM2RNVlYzMkdxcCtIN0Vr?=
 =?utf-8?B?UXlRQU9CVllFKzU3QTg2Vm5ma2tVSWRnVzJBRFYrOG5MZ1pqNktZaHdZNGZr?=
 =?utf-8?B?eWl1VjNEczNYVWtqc0hzN3ZDcWEvV3Jab3lvYWRHOUJEd2FqNGhiZ0pTUS9U?=
 =?utf-8?B?c0V2M2dMU010QUxXUTFVenBsZ3p2ejVONFRvNWt2amhwYzd5K08wVXNYQ2k5?=
 =?utf-8?B?SHFQMHJnbHg1R3BiLzNLQXJrRTFNVGk2c3R6bmI5djNES3RjK001aW50VUUv?=
 =?utf-8?B?OTgyakZ0Z2dubmF2VXk1UGt4RE5tdFltbEFsNGhpeWtQUEx0L3dGejAvMEVZ?=
 =?utf-8?B?WHE5QzFJVFNIM0hGTmRScE9xK1lDdzd6UzZGNDcvV0FZTEpnNnR1VzNDc2dj?=
 =?utf-8?B?NS9BK1dHNzQ5UDVpMVBqeklpM2VSQWJBUDY3RnpTcVo4SEdTK0RqSU40ZjVj?=
 =?utf-8?B?cGVyaDNqZTQ3eHZHaDNEUVRTb1pOSFU5L0lPdlJicXArTHgwaDdYdzh3T3Zr?=
 =?utf-8?B?T2c2QXN3S3pLdWFZaXFHNDZDekdNMnpBeWlzZnczaU1VWEIwTFF1UGFsb1N5?=
 =?utf-8?B?Rk94NUFVdldyS3NYaW5PMnNMRjBvN1NvQXRqR1hneU1VajRNSm5INnBzdXlP?=
 =?utf-8?B?QmgyMW5NZjRKK09VeFZLVDlubkRMek5DUDJJMHU4NjUxd25pcmNkYm5XUFNh?=
 =?utf-8?B?bHEvVjlJeWVVMWo4amR6NmdFUEJHOU4vZm5VRWNCU0RXbmNzUTBINmlaMlhQ?=
 =?utf-8?Q?4Z+PL6xJcP7Nval9isT15KMut?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b601f170-d983-4fbb-f8ac-08db23a011c0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 08:51:00.4999
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZCQJpMGxtfOUczY5Ig0HVz7iy+I6zknGVT9a3rIKGw0qiZaa+9olYhkH3Ys5GA1ZhgecpKIp00xm5r/yQDtWSg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9237

On 10.03.2023 21:37, Andrew Cooper wrote:
> All to make it easier to do CPUID development work (which is fairness is
> mostly me).
> 
> Andrew Cooper (3):
>   tools/xen-cpuid: Support dash as a bitmap delimiter
>   tools/xen-cpuid: Rework the handling of dynamic featuresets
>   x86/sysctl: Retrofit XEN_SYSCTL_cpu_featureset_{pv,hvm}_max

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




From xen-devel-bounces@lists.xenproject.org Mon Mar 13 08:54:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 08:54:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509168.784461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbdwb-0003Rn-EX; Mon, 13 Mar 2023 08:54:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509168.784461; Mon, 13 Mar 2023 08: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 1pbdwb-0003Rg-Bt; Mon, 13 Mar 2023 08:54:13 +0000
Received: by outflank-mailman (input) for mailman id 509168;
 Mon, 13 Mar 2023 08:54:12 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=rcAY=7F=casper.srs.infradead.org=BATV+7ed4dc4158d7c4ffff6c+7141+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pbdwa-0003Ra-OG
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 08:54:12 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f965e2e-c17c-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 09:54:11 +0100 (CET)
Received: from [2001:8b0:10b:5:387d:8494:1979:edd1]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pbdwS-00BjbU-E4; Mon, 13 Mar 2023 08: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: 9f965e2e-c17c-11ed-87f5-c1b5be75604c
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=PkNUWD+/Mh81l0o+TjsuuQldFSX/3DLXwdafYvcr+d0=; b=F/sulHyDoZrjEUk5PX94GMUUvS
	EE0PhfiJON0fe85644jUQ9Jeb9lomiJJPZJC8VaJokjSUo9FZtGI6rQQiHLQJNIyypmO21jYe4l1n
	knz1Z84GOn6EPwCP5I6ZSgLK4YfsjawvD+ROjtQZ2PqDGBmPb48GxYUAnWIoDspNYYV8Ckkt91n+m
	XWynioIk8vaYAktfPk8shXLus2KUJdFG5B3xPOtqFnbmQOAo+zypHmnHYskALNBE9YF08FWRamsda
	0EGv7bQ5Ja92ZOpTR6o4bb824SXkNN3Jbzidbyq5LvR4ugCQMsAzq5yQRdaYUd5oMyVzbxUkGL3ke
	SdDA5etA==;
Message-ID: <96d1510d9d84a3a7db0c24c430940beb33390942.camel@infradead.org>
Subject: Re: [PATCH] xen: fix dm_restrict startup
From: David Woodhouse <dwmw2@infradead.org>
To: Jason Andryuk <jandryuk@gmail.com>, Stefano Stabellini
	 <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
	Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
Cc: qemu-devel@nongnu.org
Date: Mon, 13 Mar 2023 08:54:03 +0000
In-Reply-To: <20230312234131.46898-1-jandryuk@gmail.com>
References: <20230312234131.46898-1-jandryuk@gmail.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-sa+LLFEHhrWpiFT1Waoe"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Sun, 2023-03-12 at 19:41 -0400, Jason Andryuk wrote:
> QEMU is failing to signal it start when launched by libxl with
> dm_restrict=3D1.=C2=A0 When xenstore_record_dm_state() is called, the
> restrictions prevent xs_open() from succeeding.=C2=A0 QEMU can't write
> running to the xenstore, and libxl fails the VM start up.
>=20
> Pass in a open xenstore connection.=C2=A0 Let the call back use it and th=
e
> close it.=C2=A0 Use the completed boolean to only allow it to be called o=
nce.
> This lets the xenstore connection be closed after the startup
> indication.
>=20
> Fixes: ba2a92db1ff6 ("hw/xen: Add xenstore operations to allow redirectio=
n to internal emulation")
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

Thanks. Of the possible fixes though, I don't think this is my
favourite. I think I'd prefer to go back to using the existing global
'xenstore' from xen-legacy-backend.c as I just tried in my other email.

Or, as I said there, if the write is destined to fail anyway when
xen_domid_restrict is set, why even bother to try?

--=-sa+LLFEHhrWpiFT1Waoe
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzEzMDg1NDAzWjAvBgkqhkiG9w0BCQQxIgQgsW8RGeXX
zYqU/JdwYpq8LdCldl0S+MSNrBkM8XeuNsswgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCpgTxUCUe+dYJ2CXcvxMK/THF42dsrOm8V
UbwahYDCs8GPd9An+Pn0+el85UKe6put6Rp+mlc640A1za51t6cGc7oa2duzIx7caiE3lZ+U0Y3y
oy0UjY/xw1pBm3kgKP7Em5/Q3O0vY4OKaJ3on1s44F823Aqp3Jgo7uKxSUeczLrsnp2yklxX3Feg
Yd8yxK3WCE386eyDREDru9DB2/Hs7vPMhT2LcyaKMf72OLrLDaXR4QhzuegRgPR3wO1gIuXqswri
KG2KvgjcRVndIH/PsJg87rZh9H74h40N81Udmcd8sktgUTPyOKOEnUO7OLWdRYa7SNJ2+gkExYS0
XJH2u+jNWyJ6ilRZmr0qiOnm5EZWx+cTXNtWEaepG5QbF/W/Pf/D2QTyzDl0dW3aSm6gKFy/opD6
04lQnXIkSRid7z07T8X1H628xhrPsfQgxdJf5/j56qqmovk5Wi7gvm5UOn3TnF6gYlfUXYc0IScn
zkT2+AIgwRGF22RdgEYGUZQIKGR+D84hGPjweDCkxQ2rk50o3oxNrTLlCMlwyKD7htsFrik+doTU
mIKWWGpbnKNGE5hpBB1clwvCsGUY6yni0sTTblruAwC5w1+Zgwm5KVsTdrbJF+owFCeMowBNk6Eg
QUDXrzzfgcdDzsLAjKlH3Yq1SmgJ8ATVX9jFcQag5AAAAAAAAA==


--=-sa+LLFEHhrWpiFT1Waoe--


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 08:55:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 08:55:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509173.784471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbdxx-00040l-RA; Mon, 13 Mar 2023 08:55:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509173.784471; Mon, 13 Mar 2023 08: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 1pbdxx-00040e-NG; Mon, 13 Mar 2023 08:55:37 +0000
Received: by outflank-mailman (input) for mailman id 509173;
 Mon, 13 Mar 2023 08:55: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=LnkN=7F=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbdxw-00040W-Jh
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 08:55: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 d0632441-c17c-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 09:55:34 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 MW6PR12MB8736.namprd12.prod.outlook.com (2603:10b6:303:244::5) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.24; Mon, 13 Mar 2023 08:55:30 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.022; Mon, 13 Mar 2023
 08:55: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: d0632441-c17c-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LdKHhOivOZ/P5PHM22t3YFh3nPDmzeRX0aAn1giEGUSozOickO+5HQnQYSzMC/S3NkJhXzEbqCB7lMlkLqMDj+IOvLPW+38qSbbfaJ2k+t9XywwZAc7fWkP0jU/CFPPkPB2T4YEJvNA348AQq6ErHOLgNCliXVjwwLOe34Q6MpuTLMD8wmA6xtm5oBG4gMjx8XP30VnkjVHxJsudwZkKkSQDFOERHzHWSrWWN+DmIDjO357fuAIF7cGaNEHVnfz49uuij0L6hann3B3E2hRLVF3FKHnv0CyMQC1BFcuPg2lEeGW/hstH+f11gcIXu1c2bVEeAVPbM2ZAWbppRHfN8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1+PExcv0EutWr4XZN0JdtyuBhcCY2NsQB8QJGRL96/k=;
 b=fhLeeg7csr5mjvGxpbtLhIEN5NXq8F3oZUlRKy1jq3ex+uLPsX6p3miVSgbWzi2sDrUFKwRJEADU/yIaeeWm9xF+St54BY8VW3StQDnItIHo39dHIureBUjvpdONoj6MD5e0VjzX9A2iW4GQvtgXPdZit38hz0MPzw/L4dKrUi4Na5VR4sZpxCbA2jZ9jnPZ8lcrYzFabbwkcWf0qzJP9uEHUx2mcvbb34Op06WhebVoNwAAWB6Z1cCdbIPbD12A70lYoaUqBUD3RFQ8zx4q4suaF9clCNrXRx++V8EwPV6ivJ1Fv0XyumTceN81KuERInuIFTSD8yWokE2l227cbg==
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=1+PExcv0EutWr4XZN0JdtyuBhcCY2NsQB8QJGRL96/k=;
 b=KIZleRjYdZ4MR3uTS5oePxeoHQ5p+YxNJQc2TxyL/Z9KZJzf7PxWV4dCVaRfcM+SyNUMqZfyCOcSjfBaubhnMURtQ59OTYdYCpX/s4irmIwTLVVR7areBwxC0b9H5wQ+1ALubseYbzi1nJwAEf3CG7Dba5WzH3xzIHDc2DEtEHo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Mon, 13 Mar 2023 16:55:05 +0800
From: Huang Rui <ray.huang@amd.com>
To: "Koenig, Christian" <Christian.Koenig@amd.com>
Cc: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZA7k6WQihXntDdYA@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <d0fb38b8-455e-1210-0f26-9ee7c4335e69@amd.com>
 <e292ea24-606f-24c7-ee44-34d55f7147f9@amd.com>
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e292ea24-606f-24c7-ee44-34d55f7147f9@amd.com>
X-ClientProxiedBy: SI1PR02CA0050.apcprd02.prod.outlook.com
 (2603:1096:4:1f5::12) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|MW6PR12MB8736:EE_
X-MS-Office365-Filtering-Correlation-Id: e7cf49a8-900c-47c0-a991-08db23a0b28d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n405SwiMk9t0oDAnbHM0iM3xXQyYJjAgr6xACbSlqOuZZZ8FWMgOUT6n5a4l3aPfqUzLKA0fpqsRIgcgLSWwbO0c9m2CmQyvpufjuwfFLFJY6SGnYzdq3OW3pFY+qa/MsszYl+Xp0O67hm/Yl+QF6l9Us5W3CgFWkvIqpTGdmnEnNNY2m+j4X87WGZRMvaPxhhTb6iaJgWehx017E0Irl1NwP4iwQ2uzzD2HJeLH8zs8J9ODnd6ybDksxOkoYN12sfOyzWv2JRPWFFSDpanYiRrumeUZdQbPCh2nfozddj6dnzo+EI1JdavtZdVMbcVSe7xAq5PNHctkteCwIz2tSXxVUPHnPjGsZWh5R3vvhJ6Rmqc8evFGbwr9ylkTXcr/t9do1G31WkKfjzJq6vWbTkvzgJ65vaZ0zc79urSyg97bVjxNDBhKqqy8zOLPMgti59zRsxiBShGBUcrYVd5gw+kFRgAf/SYUIl4K4Rxe4l1/Ga8N/0YF8vZ9Z1x/RYJFFsdk9lsAyBaOQMOHUUCwm1zdHfE33NbN5E+GItQ3roaSOHn2s6ryECGTv+e6i2Dwq7q3bAQZ4GKJVpSoamtM20RiCjqi6I7fWPXXLko4+OQ/+21rQ6zar7q37duggqTYmyOfeCVPNjNrwR6njG6WmQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(366004)(39860400002)(376002)(346002)(136003)(451199018)(2906002)(83380400001)(5660300002)(36756003)(66476007)(8676002)(66556008)(41300700001)(66946007)(186003)(6862004)(8936002)(4326008)(86362001)(38100700002)(316002)(6636002)(37006003)(54906003)(478600001)(66574015)(2616005)(26005)(6666004)(6506007)(6512007)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?iso-8859-1?Q?ronZdEUU1tQmV1iM/clU0w0MUb00NbshVf8t3loUeDACRVommwmF5g4Pxj?=
 =?iso-8859-1?Q?8RhOfG3dLkdZ1gGikMT5/hKRhZAOCo+uh6YZB8yqVmegJkD4CPT16qd2x0?=
 =?iso-8859-1?Q?RsPf+fpvMoRQ5tl2BahLK4QuHTesi78NJl7KdNc++70Z3d6gOa+KfSGaXk?=
 =?iso-8859-1?Q?ji44CKIojUB5+a6SwYIsdUs0+70DhbOMdj2AloTDk51GXlZ6Y8QdfugT68?=
 =?iso-8859-1?Q?YGYV9tuq6BD7s8E8f7iQdqZo8/zzWwS5kX9MiStOvk6jcE+DH2KWo7zmdI?=
 =?iso-8859-1?Q?59CLGDP68tFJjC1V5fA0a51WnbW3FkDPqV7c2knAXjMljSyDqk0HSCRvVO?=
 =?iso-8859-1?Q?4kqIUIkg6nyprtl9Csck2RbqDzQTjWqP5LD7hGh1huNouRSgj48ahVifSo?=
 =?iso-8859-1?Q?H7HLeNDB5jsDUuLzvE37XGkAfqzDf0tzmjrXNG1A8c1D0IsgkE+SPHeyc/?=
 =?iso-8859-1?Q?falPT8qncFSDG9jLsynyas4CAd5L64/BNenDB6zRwcdoR0b21Tyrjj6DbH?=
 =?iso-8859-1?Q?8y3xNJdJRnmtdKTMC/ABpFZX52inWUDeP76ojJNfVbIrIVCJxjwjnujVmA?=
 =?iso-8859-1?Q?wtBVyy4DK16BAxv+Hqtkyghmao7rkWqt7TDf+fRSnIfFwLfZHtihie4OPk?=
 =?iso-8859-1?Q?/J0s9ObLRJ5dC51izijvAUTmYjooNbVbE2/zgL99AHufSDVwTX2POluys4?=
 =?iso-8859-1?Q?QWpSWbqOhSqbOTeNpIoqFqrAN9aObco1o5rXW5U1gcoOl6ws9M8ec/MbHW?=
 =?iso-8859-1?Q?K6eM4npwVZXmD8l30trQDHIa3uToF/054oCDI8nQs+zdf4Dzyvq9Mmtayl?=
 =?iso-8859-1?Q?P9S3OtfoFjb8l+/LgpRQ5bo9wFJRXAxkifzYVYlBOVyeyLIL2IqTmpIB0w?=
 =?iso-8859-1?Q?LxIghQHAPgW/+T5rlWAn4y8TFU4QVcidZsC7UnAu3HbCo7vR9wUzlz2yC/?=
 =?iso-8859-1?Q?XEXWnoJ002fYPJ0B6+ICIq4wm9i5ht2cbcIDFrWej+pMqQb/T1W506aN99?=
 =?iso-8859-1?Q?jsfxR6su1GZv9KAK961XGR7FEMEcEnd2WlnuZ5F+KjZCSGPD+YaVScr+si?=
 =?iso-8859-1?Q?rcZBtow4+09GRUNyhRUfaJN7st8chexFtlGp1Xx8Ii0//mDkwmNDkh/qMO?=
 =?iso-8859-1?Q?oGcYALhXX5Zy4ikwuRSFDdiNujd/kImvMok3yNgaQ5/+0GfzYH9HiLhIAF?=
 =?iso-8859-1?Q?lP1LYjSQrQYbrMwy/BvMuhfmHxHd5nLI6r1tQOGPJ3UPCJp6S8g6YPMS09?=
 =?iso-8859-1?Q?Pza2fozeCq9nShG5smdfq19Hc5UTJzk5QR+ibxnmtEC21QMX8RGrMaQ28l?=
 =?iso-8859-1?Q?XNXFLmkzc5s7MSWONuKEJkaZAsZLJxoQeF2jNKAX3Zypf4O0OJYs9mlBUn?=
 =?iso-8859-1?Q?hvuHLu1MzcSu2H3tNwB9ayjzfkkMOW0NEoC+QCnt3ILqHHAFtQ97hD56qN?=
 =?iso-8859-1?Q?gHGMBmtnqKtovtawHORyIdLByRdKVlFbljcP3XoaAx545SyvILKjyXOUl6?=
 =?iso-8859-1?Q?J1YTBzQmjvZNictxrhDKZ1pbz+8ZbFl9iwivdhV0d7r84mAqwyzyAbviFH?=
 =?iso-8859-1?Q?wAD6yCOXe4sxE7URDKIXMDMkD4qV1zQrpEuU8drFcwssFkHHafs362odiH?=
 =?iso-8859-1?Q?LvcEkRjxTzvLQzRRXLC4oIbF6SRAj/lsHO?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e7cf49a8-900c-47c0-a991-08db23a0b28d
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 08:55:30.1987
 (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: o5aLzA5ckD8QW/3+/bU/mISoEe9h10yiEr7RhEmnhzXl1GR+tllo9kNhz+nxz2GGfRo3bA/i41yMvjVXPs9jBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8736

On Mon, Mar 13, 2023 at 03:26:09PM +0800, Koenig, Christian wrote:
> Am 13.03.23 um 08:23 schrieb Christian Knig:
> >
> >
> > Am 12.03.23 um 08:54 schrieb Huang Rui:
> >> From: Chen Jiqian <Jiqian.Chen@amd.com>
> >>
> >> When dom0 is PVH and we want to passthrough gpu to guest,
> >> we should allow BAR writes even through BAR is mapped. If
> >> not, the value of BARs are not initialized when guest firstly
> >> start.
> >>
> >> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> >> Signed-off-by: Huang Rui <ray.huang@amd.com>
> >> ---
> >>  xen/drivers/vpci/header.c | 2 +-
> >>  1 file changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> >> index ec2e978a4e..918d11fbce 100644
> >> --- a/xen/drivers/vpci/header.c
> >> +++ b/xen/drivers/vpci/header.c
> >> @@ -392,7 +392,7 @@ static void cf_check bar_write(
> >>  * Xen only cares whether the BAR is mapped into the p2m, so 
> >> allow BAR
> >>  * writes as long as the BAR is not mapped into the p2m.
> >>  */
> >> - if ( bar->enabled )
> >> + if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & 
> >> PCI_COMMAND_MEMORY )
> >
> > Checkpath.pl gives here:
> >
> > ERROR: space prohibited after that open parenthesis '('
> > #115: FILE: xen/drivers/vpci/header.c:395:
> > + if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
> 
> But I should probably mention that I'm not 100% sure if this code base 
> uses kernel coding style!
> 

I noticed that actully Xen's coding style was different with Linux kernel.

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 08:57:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 08:57:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509177.784484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbdzJ-0004dZ-Bb; Mon, 13 Mar 2023 08:57:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509177.784484; Mon, 13 Mar 2023 08: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 1pbdzJ-0004dS-8e; Mon, 13 Mar 2023 08:57:01 +0000
Received: by outflank-mailman (input) for mailman id 509177;
 Mon, 13 Mar 2023 08:57: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbdzI-0004dM-7S
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 08:57:00 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0604.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 032ccdfd-c17d-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 09:56:59 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by GVXPR04MB9851.eurprd04.prod.outlook.com (2603:10a6:150:118::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 08:56:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 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: 032ccdfd-c17d-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EcUSvuG3LI8hudVWwnOro6Di8KqxQSUXzGFb7/b2RvO5TWAIg3NQyiFAvXnhVMr1H2mK6YqDYxl1ENeLUar0auIgN5m03Rv3VLXaQXhEbmO9+tt+FLJEVBok62Fpcsxqylxk5VQe8QgjwR+sLlOm2sWKm1ZQTdJRbjKHs0nRk+X4hYYMu3e+Jy3gF9BVCpgw3vLYhfoJrZjjr4IpTFcsZM+bZHaRUkWXde8Jh+3Zn99P2merImrjmHC7/viKrlDNMWWg9ChDpiAPVPuixC/Rjv8o8NNmF1euJodNn4RgXBMYYfc+q2rHBAIhLNvgfEoDNpTyHzSlWVkxTEZfLpyi7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O1GRPH4gcnwl1nKO2F29Z2xtdSV33mgi6MSIfLNjV9A=;
 b=g08lFcHHPukd3lKyyf2Lz26qkr5GG4cl83EbnZNRt4hClFidQn20PBuYdMUwAcPKCn2cl0Ox7RUTySHclRChZYek5JlZQQjFhJkRyzDlURO5iD9JDRo2a96BzX0jR8Io4DnmXVY+BgS0fpx0iyLvokMGo3mi1hXfn03GetVgQ75C3B1/juVTuh1oeVeFQIij9sSKPnAmOVej0I55ptnZ+dt5P5nqM0Pi1Ta7SnuNcWwlNiEcoevVGPevWATAwIH+wXVHEAhZbqeSfmh4Y/8pcz37gkQ51Y1IgFI4sUbItvcpwn6pcYb9vO9kp20RKDTI47diAeI+SuO3AK/gZNJ9Sw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O1GRPH4gcnwl1nKO2F29Z2xtdSV33mgi6MSIfLNjV9A=;
 b=Cfejqyik9wqIc2r2ZWkjds3g/YOvKc/ZhvFUdi4Xwf1T7lBLP7UuNZPiVptsP0YSr0W27rx02FTli28wpHDJ4A/OEUbIgGbaxL6twsBOTan1Uidsm1LU6h0D/B/GwzGdC59AsrfBwoqjvGFZjkLBlCvChHoqMMGYTF6bRqAvLOnY68Chg/VAadNDjDpRwamjlHgLQJbL0wEWZrpUr16XngEC2VkyDi9+gCLOFmOmgQh3u70Mgf4p4jqfee9ukFlBB4HhCHpAKSNSr/xYx5CRpp64V42jt00YCx5IycmySVjCWe6/1z+3iztT1nCEtvHYsd9sFyt2FGRJm7i/5bpCxg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com>
Date: Mon, 13 Mar 2023 09:56:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-2-ray.huang@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230312120157.452859-2-ray.huang@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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|GVXPR04MB9851:EE_
X-MS-Office365-Filtering-Correlation-Id: 15a2d32a-ce2a-412f-efa9-08db23a0e5c3
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:
	GIHVkA2CN8woGBWUqHUIJJ4V8xwP7wMBxGRyv/6jrEhqdC/LSCyhHOb89oSLQ2sUfnnOF7d9Nj096V3rfRh+71ERSExNd8wmlRf5UmIx02t3CiewVfjXqSWDrRzC7/rdnEEFCuW/oZ8FN2JOfZk1dhAnf/xv89voXzfYsMUq7vuCciZr60w9XbV+oU6MPdLta+30Ha8XwCci4AiIerEGc5/s41S7YlHzmGrD8hYQvt8ylLbrUnxEFZ26/QpPfSZipveFz3y9PXNWI29LpYFJExGmZBdjsgfZkg79hlQMkANqbLQt5K14XaURPIJMX8JxmAtBevw1dwaigwdMcz1RR1onvUHdG4MwBZbo31kt1tvOH1AJprvKSqYeotDq909HAIz+QHkQlF8mF+LAS6Ktu1jssW2LpTZBNHbOtxE6RFg6cm8FaKlsCW1vE2dqCylipVoFqkGUa50JQvYsB8Lr9qIKsuw/DnbsDDTqCSVRF73gLBkfNqH6fglZ4FmLLwBxjlQi4R+ClRL8z4ovwF3ALJH7CXCNoqqGbTVM5qZMLcko2ehLhK7p2bOgLrJ0Af3c2MiAYbAkhpWKcXgFGaHVYzDOQ/wxjoaRmoxTIfUB2VvDUqFIIEm+UAl0+lg1B8RGlBVRku5MDMT0BpxLL0I2rlTCc16Le7lm9aozIPLaosXoE5fA2ggSS+OFkNRkgNKQvy+wv3mDJlaR1hVGesBaaGm7Nljf0nO6NkkCpDSedvw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(39860400002)(376002)(346002)(136003)(451199018)(36756003)(86362001)(31696002)(41300700001)(186003)(26005)(6506007)(6512007)(53546011)(5660300002)(7416002)(4326008)(2616005)(6916009)(8936002)(316002)(54906003)(478600001)(66946007)(8676002)(66556008)(66476007)(6486002)(38100700002)(4744005)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dGo3NHFGZWdSUlhYcWRPajNxQlZ4WEppSnBLQTQ0eG1SbndKL2Y5R2hNYnFU?=
 =?utf-8?B?Tm9mbzFzL1gycE5FNmpVUzNXMnlxSWhtVkNPSjJYMHAzMkM4OVJXeUNMcnp3?=
 =?utf-8?B?am9VVWNZSDlYSEZjSXFMUWhwZEVsWm5JSndlSHhzcDRqMyt4VC8zaUYzYWF4?=
 =?utf-8?B?WXBlbWlVSXNwakMxSUsyTUhtRW9vY1dKKzJyUGNYU29qZjFpVWttMEhIaGNK?=
 =?utf-8?B?azNydmZ5aVdTRHpzeG8vWnFiZXc2YklucFltRU93QUtVM2o5ZE4ybTdqTU1v?=
 =?utf-8?B?c0VIeDZUWmd4ZUxzSUhJZ3ZxVmU5TEZzdU5JOXpPWWxqMGhSbVowdXoyb0J0?=
 =?utf-8?B?WDdDN3FldW41M1FjeSt1U2xpTFN4TXE2MEZmSTQ5Y2NNelY4amt6WWZ0L293?=
 =?utf-8?B?YXFzVDRSelF6UTkyWEZhV1ZlYU8rMnRCdnhQTHpGL2Vyd3VqbmhYOXpaT3gy?=
 =?utf-8?B?RXA4YlhmOXRlTEN5QzY1WVVyWXE3RXNIMmZHQ3BwV2VuRWJTMDNlUnZYcE9v?=
 =?utf-8?B?L2xNNDNjallIL2MvR2w0K2kvVGZSRXA0ckZtS2JkL05pRzV3WjZBWDZQM2pz?=
 =?utf-8?B?QWxBWE1wUGNnYTlZeFEvSUZiV3dUWkgxdXRRaUxpUGV6ZFE0WS8wTVZYc1NV?=
 =?utf-8?B?d2YzSlgyL1Q0VmhMc0VVa2xSZENHeUlvU3pOVHZZUlRkWkJYTkUzdVpWMXNn?=
 =?utf-8?B?OFcwSFdZUEN2ODYyS01WNHhVaWlhM3dBV01ZOUlaWmhjenFYOHNVWlQ3bXk0?=
 =?utf-8?B?bGJIUjVHS2VTY1RESDNaWDdQNUdWb3lCQVF0cWFwMWdqa0ViQzRIMGZZZ0Zh?=
 =?utf-8?B?UEFHTXo0ajVoeERPdVJwb3hsZGJxaUIvN1k3R3FJYXB5KzZpbFJQQzBqM1pH?=
 =?utf-8?B?byt0NGhNdTBBS3k3Sk9PbU02Y2hZVlNrSmoxd1Uwb2c3ZzdHbk9mc1pzV1pR?=
 =?utf-8?B?eGFVQUhmdk12ekhkdzJWa1RHRWhOSnl1cFNPbVZQMDU4dGlKczBRbkVKeFdi?=
 =?utf-8?B?UXl1cU9RL0FQQmlld2NlNkVEQ2JtbEtSRy9DeUVoMW5iQ1ZIN1ZxUHU2MktF?=
 =?utf-8?B?bTJyWTk1Z0xuR0RvTkNVNkVIRzlMcU9zVEJ4SUpzU3NqZWUzVC9tdzV6WkNM?=
 =?utf-8?B?MXlLek53anpBNDk0WHgrNC8rU1dybGtZRlFhYlZvT1JhcFd5a1EwZDRSN3U0?=
 =?utf-8?B?TCt1QXBPbWN6TGVWNGdSTnNHMUY3UFpKTnNKTDZROTIvYkRMSHhGNjZXSERM?=
 =?utf-8?B?bFNOTTJYNHhmNlZsWTZsUWRwTC9rallWRjluS0dXSUVLNFh4M2lhU1lPQzFF?=
 =?utf-8?B?V0svWURiVVBCQlpocTJCZGNjMU5lSXFPcm5yMm54ZlcyWFBuRXJESkNBL2VM?=
 =?utf-8?B?RncyMExQYWRBeHRiNXNsRTE4dTM4cnd6dTVSbXZDRjY4dHFIelFnNjVic0lN?=
 =?utf-8?B?LzJGdWJpRHF6Z0VBdXFjc2NsRjZFSVFqYUh6TS9Cd3pMMWdqckhnOHEweUVV?=
 =?utf-8?B?K042eFJ1ZnllbUM2Yk1oVmxnT3lMLzNMZm1TbStmdE9ZaTh0aklpNy9uQUVI?=
 =?utf-8?B?VG13c3ljNmdVa2xIUmJBUG9UcTNabURXTHZna1FjdmMxNzg1TDAzZ2xseGg0?=
 =?utf-8?B?ckJwOEhmTTdXa3JscTZQNWRMczlhSlV4bCtUaE1qRGRYQTRWSkZYL05tc214?=
 =?utf-8?B?MHhEcEhDNTNHYkpJekhiQmpJRnBXcXlqWFV0Z3lDNkxCZmJPWG5lbzZNTW5v?=
 =?utf-8?B?ZnllVFdTc1Z5Q0oxOEhyK05pT0h2eWYzemZtTVlaV1MyMGc2OEFMcDJBbktM?=
 =?utf-8?B?amtEUXBwMVI4YmswdUwycktXaDlRV0NxbjNGdkkxcHpSb3VQNFhCb1RBVTBj?=
 =?utf-8?B?ZEFuZVRSdFljNFJJZDlQOEtjMm44UERnUVhVWDBJbFVVdjJLU2I3T1hiMTFt?=
 =?utf-8?B?bEdQL1JXblM5bGhpZHBCRzlDUXN4YlhLS2FPZFUwRldTTEZWNVZGN1FJeERp?=
 =?utf-8?B?Z1FsWWNFUWhVUWF2WlBCSStBT2xQcjUyRmNCMGM1TTRjVGVwNWltYWp0LzJL?=
 =?utf-8?B?aEsxK3JjdCtMWGlOWTZ4RFA3aExsMWtETC9QQWhVSEE1cm5QZVh4WXd2Ti9J?=
 =?utf-8?Q?VvHlqWSVBNOA0msNkouuyxNbd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 15a2d32a-ce2a-412f-efa9-08db23a0e5c3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 08:56:56.1807
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: r7X2Ze86+cNZIAGtBuCOO6Wt7TQZvCJ7VrifXRVr/lfC4kK5Z37uIJis9cD6Ifx9m0BCa7SYeqzz0jZzj6tuqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9851

On 12.03.2023 13:01, Huang Rui wrote:
> Xen PVH is the paravirtualized mode and takes advantage of hardware
> virtualization support when possible. It will using the hardware IOMMU
> support instead of xen-swiotlb, so disable swiotlb if current domain is
> Xen PVH.

But the kernel has no way (yet) to drive the IOMMU, so how can it get
away without resorting to swiotlb in certain cases (like I/O to an
address-restricted device)?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 09:01:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 09:01:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509184.784494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbe3L-0006Cv-Vs; Mon, 13 Mar 2023 09:01:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509184.784494; Mon, 13 Mar 2023 09: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 1pbe3L-0006Co-Rr; Mon, 13 Mar 2023 09:01:11 +0000
Received: by outflank-mailman (input) for mailman id 509184;
 Mon, 13 Mar 2023 09:01: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=mm2P=7F=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pbe3K-0006Ci-OT
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 09:01: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 963d398b-c17d-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 10:01:05 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id j3so7341119wms.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 02:01:05 -0700 (PDT)
Received: from [192.168.30.216] ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id
 q6-20020adff946000000b002c703d59fa7sm7335537wrr.12.2023.03.13.02.01.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Mar 2023 02:01: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: 963d398b-c17d-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678698065;
        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=+yRTQUoioB4e4JGXFcl0uR5I7yidXlwRcuL8pkMIFhI=;
        b=Hs11MoEiln8Nl7L2cl8mYfzcvur8zVlWaDOMrDRDM4ZqSmktfn6o3r2bGPbDrtW89U
         UeDrdBTIbnT55ZYOPzclVKH5xTlFpql11GB4GCtk31k+SbWKDE11MT1ysY9fbunL0JLA
         EheA9QIsfS1eo8gKN0sjiOlCCrXMs3HcEjcea9c+Sz8W7WZ0hdEp2CRbyly5rCO/lm1Y
         9N6LWkL3IF7APnDkF2gSYixabCw28x+NIkkGWQaOs5SbJixOoXrN5c50BJBRbYMJc3ho
         KtQfn8EjY8TxNSDMihlq+7YCbHuorpgyYjTdpaGHcl4m9InBHCyRlQRGAJBERrQQeZH7
         ggPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678698065;
        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=+yRTQUoioB4e4JGXFcl0uR5I7yidXlwRcuL8pkMIFhI=;
        b=L2EcpXra70ccZQnrCGedU/CmjRVdXAbu57EChibPbV+n8KBtbTzqtHu3jlE6bgb3PK
         aEudMlH3scaRxMGAxBvBJAdwSVxTWcIZCRMHWL44pa8LEe9bo/DYK4rYiJ6Vx3lwBEjv
         3icWv/jXQ4fW3LPCICSpe0po8HUFZbI++Px9oeK0Dmhk70zDUdaOQeVdRI5g7O/7/TvI
         NG39+EdLMSVk6aMjBw2iho6UMkpm4+6OzLS02frK0+BIFALW5yYW1CNz8aOyaMH4He03
         MhhBaTUj4GsOh5pyc1elFjDkBanHry3Ex4cpa8nZbHynK2142Exam72Km5Fra88h6vPb
         JwSA==
X-Gm-Message-State: AO0yUKXpzvJCv7oGFpFV5q4Wy9W6EWl2c6R6xwbQbEiWA7n8GNsqlakv
	efN1du0YkpGMx++WwVGGQsWhWw==
X-Google-Smtp-Source: AK7set8YKjt4pCS2UPrBXHY3xTR5X6jSogUcNTsr00XQW/4qGiNyi7WB2Xnrt+5yoOc8daREainADg==
X-Received: by 2002:a05:600c:1d18:b0:3ed:2981:1ea8 with SMTP id l24-20020a05600c1d1800b003ed29811ea8mr553751wms.8.1678698065004;
        Mon, 13 Mar 2023 02:01:05 -0700 (PDT)
Message-ID: <193506e9-76bb-96b9-551d-cb08ee743c2d@linaro.org>
Date: Mon, 13 Mar 2023 10:01:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [RFC QEMU PATCH 01/18] virtio: Add shared memory capability
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>, Gerd Hoffmann <kraxel@redhat.com>,
 "Michael S . Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>,
 Antonio Caggiano <antonio.caggiano@collabora.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Robert Beckett <bob.beckett@collabora.com>, qemu-devel@nongnu.org,
 xen-devel@lists.xenproject.org
Cc: Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>
References: <20230312092244.451465-1-ray.huang@amd.com>
 <20230312092244.451465-2-ray.huang@amd.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230312092244.451465-2-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 12/3/23 10:22, Huang Rui wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> 
> Define a new capability type 'VIRTIO_PCI_CAP_SHARED_MEMORY_CFG' to allow
> defining shared memory regions with sizes and offsets of 2^32 and more.
> Multiple instances of the capability are allowed and distinguished
> by a device-specific 'id'.
> 
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
> ---
>   hw/virtio/virtio-pci.c         | 18 ++++++++++++++++++
>   include/hw/virtio/virtio-pci.h |  4 ++++
>   2 files changed, 22 insertions(+)
> 
> diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
> index a1c9dfa7bb..ae4c29cb96 100644
> --- a/hw/virtio/virtio-pci.c
> +++ b/hw/virtio/virtio-pci.c
> @@ -1191,6 +1191,24 @@ static int virtio_pci_add_mem_cap(VirtIOPCIProxy *proxy,
>       return offset;
>   }
>   
> +int virtio_pci_add_shm_cap(VirtIOPCIProxy *proxy,
> +                           uint8_t bar, uint64_t offset, uint64_t length,
> +                           uint8_t id)
> +{
> +    struct virtio_pci_cap64 cap = {
> +        .cap.cap_len = sizeof cap,
> +        .cap.cfg_type = VIRTIO_PCI_CAP_SHARED_MEMORY_CFG,
> +    };
> +
> +    cap.cap.bar = bar;
> +    cap.cap.length = cpu_to_le32(length);
> +    cap.length_hi = cpu_to_le32(length >> 32);
> +    cap.cap.offset = cpu_to_le32(offset);
> +    cap.offset_hi = cpu_to_le32(offset >> 32);
> +    cap.cap.id = id;

Why initializing 'cap' using 2 different coding styles?

> +    return virtio_pci_add_mem_cap(proxy, &cap.cap);
> +}



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 09:05:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 09:05:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509188.784503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbe7N-0006na-FC; Mon, 13 Mar 2023 09:05:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509188.784503; Mon, 13 Mar 2023 09:05: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 1pbe7N-0006nT-Cb; Mon, 13 Mar 2023 09:05:21 +0000
Received: by outflank-mailman (input) for mailman id 509188;
 Mon, 13 Mar 2023 09:05: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbe7M-0006lE-4R
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 09:05:20 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d9aeeb9-c17e-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 10:05:19 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7656.eurprd04.prod.outlook.com (2603:10a6:20b:29b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 09:05:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 09:05:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d9aeeb9-c17e-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bSJyvomxZT02ThYsXtYLUnwZBuR7xvEq/7TwW/sP8+ZrHtyr7H37elgcZEELc2icLE/JuJ29MSRf2wVsU4YI6b1XSLlpw6IQtmMvjzWJVfs5yvpf/3Wxm3QPN8YnmZUL0qwUjxw8ll6+wziB6TGls2f/KY/wo4rqS05Sx/qACM/0IolaOVK0NxGdTL48CfokGsnIP9xWbcMhPJukrzMTHi9rVTH8X3E16vsu5n8+9O+5jl0VTosR59Vbpa15tjCL38zPaMFLQqI7Pjm5RdeTMs8gfc/Hv/LWgZymDp5sJukmBMD1dOCl3yfY3PiTLDbVYCjLJQFnTbKtuMYF2NJQAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xxEQJr7vfJt1gpuCcinynEDKecS6JxbUYLLCpo71l/I=;
 b=lxRZAKfZFk4TyPg9Akub7qPYsloRryaK5BKiZZ13P9KgYpa/QV0eUJyRbFavahYmwAIg1CZN2ka7P+smWFOYSidBkOCXINniYYKImfh4uuNJVzY8ss4/3HmF96QZr0W2ZWmJdbqk62bz7beRAYgBHD6/WNs38q57IfUldH0OjVR4XASDyYuXsaD7Ty3MjKjSzUv4WWVmBX12C6uL18ngQJb76NpzMR09SpETd3HqtIXqOf/G2q7w092ZkMKxkd16fpQCL0Kl70H/pMyEIdDRN+MS4heoC7kUBM/dMO0i4YLSoPrjrO/w/iwJvwoQ9C/stnopjtBLJ1ukzmHqhC9jnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xxEQJr7vfJt1gpuCcinynEDKecS6JxbUYLLCpo71l/I=;
 b=Z0VKo7F0RJvgnsLYP0XaO5n497TwYz1WPuhRvcR+I09SY86o1l/U3PaKucJWVbeRYq0kFjtKqTclRZuxWBglHHInqfiM1EZo2R4I+HlvDDvy9oRBp+n9Vk+bmfWQ5LqJaQSoIMeB0FLTSETwMkyyI0x12A08ctgmmAXS/XYIV5DpUmGGQ5DoqUPmkLgPDketLkmfnurXfAEQIiHFweQtzwpgU3Xraw3z95rxFlnk4EP4vkwm7dv5FZ46wXGR7447O8IBV21lXTu2VSvBBsqMIQSgfNq3KA57XCE/8rH0iAMqU4DYJfh+QjcdmjN8f/2lFSNsJCv+mECW5uSIkrD64g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <312ea7d0-5458-efef-b634-8c930517e806@suse.com>
Date: Mon, 13 Mar 2023 10:05:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 1/2] x86/spec-ctrl: Add BHI controls to userspace
 components
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: <20230310160238.1321765-1-andrew.cooper3@citrix.com>
 <20230310160238.1321765-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230310160238.1321765-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0113.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7656:EE_
X-MS-Office365-Filtering-Correlation-Id: 4841cede-76a1-4a95-c901-08db23a210b5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	T7gaYMHhKI8+3c0QF5FDewpHFmS1C9M/A00rjvT0Hf9msq8KGmJmqzJqSPsaYbFNrSFLeABkMwy2QeDr8AlHiqT//sToUyVC6IQFpeJBUBSbYjZje3cYiEeb3m7do3Csy/3A7cztKEgarSSvK74LLXDDy/MyuCHmR/w64Ci63BVsZp3FqXQ/K/eG2CHHf9dI9af6SY877RgRKElwiZM9N4SQRsjeSDd+wcQzYlIJUedlTYlFEdiaiPmpZWfXwNj4K47eLgN1fsgJ/EdNKGMSm8pFU5Z+QYvqxyACxVQ3af7sT3edCCkF7IOtWTWsDoNmNCN36MwNWdlCVd8L2RIr143bwb5QwtoBWYgiui9xV47jTc1XEwa+N31gtmiiWW9aOO0HFYnPReMYGlgwQC8bFq+CHidwAvuAdFIASeiRcOSiEhbWY5tf1J9OGj4UXrSc6sBxZwhQQo8J4lbNJplr54FBEX7cHyVmLq9WlKZ81daJOs+vmXJ7s/guCVS6mhDzCqqUIewAYahd6DhJEIuk5Mht8QUJOap4vmqz/FIxnNMPRs36+u1wuXD2Xx/WNCnZ3JUGWVph18C3p7YdyNmZhgfqYaNnr/Fr58ITiDSseOWdTi0Ap5Ps6thiwwauxz7h03qIb/BGVO1VtQX0GQaDA5P4mm14whNyMfcTqqbCZ9SbOSr4Qj2lFdO8P5ENyPDUajqKBEpDuSqwO9YkgyPlXd28snhXJ6FL3E2ifTfKzNw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(136003)(396003)(376002)(346002)(366004)(451199018)(53546011)(66556008)(41300700001)(8676002)(66946007)(6916009)(4326008)(66476007)(5660300002)(26005)(186003)(6486002)(8936002)(6512007)(6506007)(54906003)(2616005)(478600001)(316002)(36756003)(558084003)(86362001)(31696002)(38100700002)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MEdqZ2xTaGFLSmpTdFpZcDhHSitsSHg2VDBZTzdZamVkSTZGM0ZMdURNRUM5?=
 =?utf-8?B?MDRIUkpENkRTb2tQd0wwRG9CeTZ6cGd6TnYxWjduMHZuZEVkeVU5Tnhoekh2?=
 =?utf-8?B?MjhOZXczVDc2RjdOSENuUlN6cHAwcW1waEdQTTZSdW9xU2dpZ2x4czlCV3or?=
 =?utf-8?B?L1ZaNlpzSDJVdzdpYlNFdDRWQm1WblB4ekRIclBMM3o4R1ZYZVpBcHd2Tmo1?=
 =?utf-8?B?WWhhdUwvNXViU2dQZUVrZ09rdzhhUThxYTEwbjkwZUpYdmdmTktScURXS052?=
 =?utf-8?B?KzBnU2pRWWRXQS85S0o0WDJXNzJmUDlnYjczdmY1Q0J5ZlIvcVB5aElFRzZ5?=
 =?utf-8?B?NTN3TWtQcWNBMFprVkhFVWdhTVBmcEx0N3JaNkZCeElZa3dUYUt2M1VRZGkr?=
 =?utf-8?B?YTA1WGl6QmZBSUJ5cWdoV0ZxMEF3VlU5UmtKS0xQSGZ2bllhY0ZoUHkzeCsw?=
 =?utf-8?B?UWQwZU1LanZOc1pBd2J6NnZXL0VMbUtiaHRkSk1iTUhIMUVqdkdURGMwRk8r?=
 =?utf-8?B?ZDlNWWhHS056NGFIaTB5QWhpcCtPSmlNd2hRMkcxTHdDZDJYakRwTDdhUjA0?=
 =?utf-8?B?bzNVaXN4cFlSSTNsVEJLQWZocGlNUVg0L3locG1ReDlrTlFscjM2SlpXM0Na?=
 =?utf-8?B?NjZERnIyTEtoZzErTkNOZjlRVGtjSXo2bnBQbEZQdWM1SkhuOFV6QlM1b2pY?=
 =?utf-8?B?SVY4QnJVK1hpK0ZNSUd5V0NqQS9oajBmL2JTTTVKanZObUVoNmV0WExTMlpZ?=
 =?utf-8?B?SklEYTdzd25vM0RNMldjamdVQzlHMjE5emxKNlVqOU5VTlViOFk3bWRZanBr?=
 =?utf-8?B?WnY3SC96VnoyTkhmcXV0STkxTzQzTGk0elRnSllaaWdQOXpyS2dUSThRY2R2?=
 =?utf-8?B?blRHMDhqY21IalRWL1Mvd2Z6UTNZT0VNbEoyR2NvQ2wyaHkxcWdWSU5YMDUv?=
 =?utf-8?B?RmVZNW1LVHI2OGNrdGFwMUtkVVlEQmJKc041bW5FME9DVzdUVERiQ0RjWjkw?=
 =?utf-8?B?cEtWQTZCdUdENDJqWkxvak9tTEpiVVNUaHB3YmFKeUExbmdvb2RKSS9BbG96?=
 =?utf-8?B?cS9NZ0o2UnRGcFBkOG4xd3dzMVBEdzJtY1NRYVZ3UHE5TUQ3WDhhQWgva1h5?=
 =?utf-8?B?SHVTQlRJM1hjMkFVbEZUZ1FMellvS0ZqY0t2THY4YWhzRVlIdkNYVzRxSmJp?=
 =?utf-8?B?S2FKTjE0OVBnQ3FlYVdXSnp3cjlVNFY1VUJmQ25rZ3IwOEZFUlNhQnFjYUZu?=
 =?utf-8?B?QmJkdEZGaFp6dHNWQXJVNzlFU3VlaU83SFoxNjJQL0ltWlRSSlpON28rc1FO?=
 =?utf-8?B?M1dlL3lYRy8vc0pkMHhaakIyVHo5U0g0RWF2SUJBcFZZK3dyLzNDYkJWMWNS?=
 =?utf-8?B?TE5sTkM5QjM2SStKcmNxNy9iYldoM2thV0hJdmVnUHFVdzB2SmhKTzJnV0pj?=
 =?utf-8?B?ZlQ4RmJPTEk0WE93NFZQVTVCSjgrMVNnZElGN1Y3Y0JRUVJlNUlDTVc5NlY1?=
 =?utf-8?B?SjRtM2QzRFRKRjRSL2c1aFhwRStManV5V01JL3NHWCsrMzVhaFBZUWNnekFq?=
 =?utf-8?B?WVRxbm9GSXNyVGlIN2I5Mnh3SGhiS2NkMUxPYnJ5bzg4OThTa3p5T2txMEZn?=
 =?utf-8?B?SGdIMFVUYTJEZk9UUXVLMTMwMG81Z0pnZWV6eTR4TnVHNFZ5N0hPR09iRkJm?=
 =?utf-8?B?RWFDejFqRzRtT09VWmhWcjhqdlY2eG82YzVUcUZseUlxeVVwWFk3MGhjOFdB?=
 =?utf-8?B?NjIvbGlGV1h3bTFud0ZoTFNoeHc5SEloeE45ZHZBK2FKd1cxRUp1Q0RJNk5h?=
 =?utf-8?B?aVQ0TDEyTzg4YVR4NWZBMDZKU25WL1JvWG1OalNjZGJWdzhGc1JKaVNTODFE?=
 =?utf-8?B?LyttdGFuKzZBbStuUzJEMXFZL08rZUx3bXh5eVBJRllSbExvV0xhYXU4KzVK?=
 =?utf-8?B?S3FrS1VBRzBBV0xSQllIMmV2N0YvRUNIbGZlUlB6cU4ya0tzbThWSmoxa2Rp?=
 =?utf-8?B?T3p6MEduSHliSy9GbVFnUDlZMy94Zlo1dmV2OUVybEVTV0RtUTFiUEZmODNs?=
 =?utf-8?B?QUtlM1RuTHlESnZDS09WZ0xOVDlHMndYc2VUMExSZDRWdS9UWmwyS0lCNmwz?=
 =?utf-8?Q?MZQXgGkdtScaYkDlz8gHyt7iW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4841cede-76a1-4a95-c901-08db23a210b5
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 09:05:17.6955
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qtTGIlDdU4yUB3OdjfIU256zduIQGVfOh4p6db6BD/xldNQTFR+sZSAHfTbQ5ksHniJnrf2fTn3WOY6CM1wIBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7656

On 10.03.2023 17:02, Andrew Cooper wrote:
> This was an oversight when adding the Xen parts.
> 
> Fixes: cea9ae062295 ("x86/spec-ctrl: Enumeration for new Intel BHI controls")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Mar 13 09:06:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 09:06:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509193.784514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbe8M-0007LL-Qv; Mon, 13 Mar 2023 09:06:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509193.784514; Mon, 13 Mar 2023 09:06: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 1pbe8M-0007LE-MT; Mon, 13 Mar 2023 09:06:22 +0000
Received: by outflank-mailman (input) for mailman id 509193;
 Mon, 13 Mar 2023 09:06: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=mm2P=7F=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pbe8L-0006lE-0T
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 09:06:21 +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 51f2f34d-c17e-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 10:06:20 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 l7-20020a05600c1d0700b003eb5e6d906bso7277057wms.5
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 02:06:20 -0700 (PDT)
Received: from [192.168.30.216] ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id
 i10-20020a05600c354a00b003ed29b332b8sm597530wmq.35.2023.03.13.02.06.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Mar 2023 02:06:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51f2f34d-c17e-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678698380;
        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=Bhev4z8i7cRyDcQdQN1B0BbeMECVxNAmns4FuvOcp0I=;
        b=R79ynA+KmG8ZL2nRj6rCi8bulBRvvbLMJb0zK3oURLjHwssSi+Cq3ruaxEY/HBDZPF
         q4y+Cxgb3x4SgErHaXg1rTWmpz5oNYkNzkEfiy4seK67OgH5Q3r6/YQXQ6o7v376vC1G
         gNSd88Sr9h9qnpqN1Xd9cxAlZxhV2ZPf7WpR1VXMkC/1hB5K/jTaTQiBpG8ZCr4ydHyX
         TR7m51urv6S5c8Dpse3RIyf3mZVCw+/AG9GUqnexL/6B5v73LJSTFahy2izo5qvWWYwn
         xLxoE+aFxNAsJH58IraNHkCRFRhUAEk/Sc1RAP7I4siKELX8QBM0JpvtcloeCCXYnumu
         ZQYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678698380;
        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=Bhev4z8i7cRyDcQdQN1B0BbeMECVxNAmns4FuvOcp0I=;
        b=jpsm5nlrKTPAYYBtJQG3HhdtZl7b0yjX4PhQKs9xDpPOYpFShWsaFwhSi0e55Ozhwy
         nscycrtHqM2SN5BMDhusPpvpTHwf6dMlzviqx+S4zd3W+RAy2G/+dtF6zQVPLzZiI2Dn
         mY1otmY/oN++plCQCRt68f+AFVnv+RQSOGikPKhewtz7CwcF/61UHgQ3TGjHsvIRUiT3
         fc122nhRqhY+iyIR+N2719x7ZrcOxhhse7oUC25RIGb7XQkFz7okWdqI66KrEnlNISO2
         AdNMQgDu0U64J/mmU/ErhsMDu+vGxjN56Ka3F/gmAn6pM3vNokZkuesC8rgE30ZYeg0w
         dTVQ==
X-Gm-Message-State: AO0yUKXtdbg3Fl8xXpBeeSKUquUckwleJei6hV1kvCB+AzaFFtMB44ez
	TxmFvWF2u8UbhqjZ5z5zSaXJLw==
X-Google-Smtp-Source: AK7set/9LGwLLsHSEdQCFoX+K/JYEpsrTNO9WYnzPVS0+vntTKb80sMxu7ZftvwHUNuTbXYaqrpK8w==
X-Received: by 2002:a05:600c:cc6:b0:3ed:2949:9847 with SMTP id fk6-20020a05600c0cc600b003ed29499847mr602775wmb.10.1678698379944;
        Mon, 13 Mar 2023 02:06:19 -0700 (PDT)
Message-ID: <32588d0e-a1f2-30c4-5e9f-e6e7c4190b65@linaro.org>
Date: Mon, 13 Mar 2023 10:06:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [RFC QEMU PATCH 04/18] virtio-gpu: CONTEXT_INIT feature
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>, Gerd Hoffmann <kraxel@redhat.com>,
 "Michael S . Tsirkin" <mst@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>,
 Antonio Caggiano <antonio.caggiano@collabora.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Robert Beckett <bob.beckett@collabora.com>, qemu-devel@nongnu.org,
 xen-devel@lists.xenproject.org
Cc: Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>,
 =?UTF-8?Q?Marc-Andr=c3=a9_Lureau?= <marcandre.lureau@redhat.com>
References: <20230312092244.451465-1-ray.huang@amd.com>
 <20230312092244.451465-5-ray.huang@amd.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230312092244.451465-5-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 12/3/23 10:22, Huang Rui wrote:
> From: Antonio Caggiano <antonio.caggiano@collabora.com>
> 
> Create virgl renderer context with flags using context_id when valid.
> The feature can be enabled via the context_init config option.
> A warning message will be emitted and the feature will not be used
> when linking with virglrenderer versions without context_init support.
> 
> Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>   hw/display/virtio-gpu-base.c   |  3 +++
>   hw/display/virtio-gpu-virgl.c  | 16 ++++++++++++++--
>   hw/display/virtio-gpu.c        |  2 ++
>   include/hw/virtio/virtio-gpu.h |  3 +++
>   meson.build                    |  4 ++++
>   5 files changed, 26 insertions(+), 2 deletions(-)


> diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
> index 9b5e3dc782..41712b79ee 100644
> --- a/hw/display/virtio-gpu-virgl.c
> +++ b/hw/display/virtio-gpu-virgl.c
> @@ -99,8 +99,20 @@ static void virgl_cmd_context_create(VirtIOGPU *g,
>       trace_virtio_gpu_cmd_ctx_create(cc.hdr.ctx_id,
>                                       cc.debug_name);
>   
> -    virgl_renderer_context_create(cc.hdr.ctx_id, cc.nlen,
> -                                  cc.debug_name);
> +    if (cc.context_init) {
> +#ifdef HAVE_VIRGL_CONTEXT_INIT
> +        virgl_renderer_context_create_with_flags(cc.hdr.ctx_id,
> +                                                 cc.context_init,
> +                                                 cc.nlen,
> +                                                 cc.debug_name);
> +        return;
> +#else
> +        qemu_log_mask(LOG_UNIMP,
> +                      "Linked virglrenderer does not support context-init\n");

This is dubious, almost nobody will notice this log.

Can this happen? If so, this void function doesn't create any context...

> +#endif
> +    }
> +
> +    virgl_renderer_context_create(cc.hdr.ctx_id, cc.nlen, cc.debug_name);
>   }



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 09:21:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 09:21:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509203.784523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbeN1-0001XL-7S; Mon, 13 Mar 2023 09:21:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509203.784523; Mon, 13 Mar 2023 09:21: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 1pbeN1-0001XE-4t; Mon, 13 Mar 2023 09:21:31 +0000
Received: by outflank-mailman (input) for mailman id 509203;
 Mon, 13 Mar 2023 09:21: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbeN0-0001X8-HV
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 09:21:30 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2062e.outbound.protection.outlook.com
 [2a01:111:f400:fe12::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f9d0287-c180-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 10:21:29 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6985.eurprd04.prod.outlook.com (2603:10a6:10:11e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 09:21:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 09: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: 6f9d0287-c180-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FMLnTgXqr73ouykBMtShKIQidlZfk+G9LIAm8tWXQKy7QkmI3TerNLlI44Y5wbqmFd8FtkM0K9hB76fqxBgBjUm29ck9+1DD42TVFWB4cRDpUhRUUzoQfh4/NupDEVhmSExJeuR6Rs2TDAPXdcnKImXf7rjgX/Bmti54gCYM5DW7vBOj+S0z710YrnBvOCwuufkmMO5tZfaJLN8sZEk6jJXG99hdmO8OGIfvmujb3ZhZseolV7bid1Cg6m6S9Wzmtqpj19It2AGkw0GR0wekzaZtwVEgrA1yr5OiFlKqZX3AhdhS3+PQLLRw9rMo5x+t3Y59tuZkFacvl1pj8Mx6Ow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dFdZLRtd+hJaLYLJDRWwBx81Jv0PYYIFppRf3w+um9A=;
 b=fTGiO5wGs94dTkoZ2bx9KJlxZvDE7N4Q6j1/5UUVYOM3k94+F6BNqJK1X9C4VQctYZQqVlLn5ruiFi9X+K+nApoG009j5QPuJzHQjR6gLlpk0joJOzgl8HSDwnFKyzB3qQLmQW9gSvrNmhRxlrZaLmHtCrDONKabAYNBemBS5jDCQ5ZEXBYEGrEBj/jkS7LdMrOxFFyhHCVF0jQjPikxYe2p5SHkHHtl4JO1suYJvgstgQaNMmNrV/TdKSekZWj5fE/9UW6Ou7aVGJntY4V2+kGfX+ARz0aQkKkSt18IoH2mVL2EuCK40TNyPsnFcHXB+FhEl7xNKYihTAFMLsv6Xg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dFdZLRtd+hJaLYLJDRWwBx81Jv0PYYIFppRf3w+um9A=;
 b=aAIDNFjVZSTOaVY4j3+b9Z4I3IAz7qWyNgW5SAj+wJFLOnv/ZRD11GelL/RBKBryWsew/QnOcDHVuzVixE4VAWaojXFUwhFwh8g7msUriR+vtk7HEci6aO12iaPA6v4kQBDPN/YBiVpGFvp7y6U/CjruRLWKqrNuK2Z9/tDhO0KccvpFXBwxWqv6RBNyIcqfwDaVcqIOKZashMMMRfS9j1hB7fzaBkV8A9kmh2yqj98sJnP4wN91B9VS5RdSnBwZM0xWryDU3LAVu7e4K7QdkEVcdMTcKO5JanISfOAny/conCuokdoNNPSDerNY7pMYCNLvecXaxITNQUT7ZhuWQg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e0463968-22ff-b2de-c878-63526b981de8@suse.com>
Date: Mon, 13 Mar 2023 10:21:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 2/2] x86/spec-ctrl: Enumerations for DDP controls
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: <20230310160238.1321765-1-andrew.cooper3@citrix.com>
 <20230310160238.1321765-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230310160238.1321765-3-andrew.cooper3@citrix.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB6985:EE_
X-MS-Office365-Filtering-Correlation-Id: 7f9f5b5c-ddf2-4c91-1511-08db23a4529b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qsU0WLphRRTK1R6YEecrJtd/uFEItH/wG1k68zX7CTAAQfGt9NIuRLO1eXVzAvbzMWzRuS9row4JK7ufOwdb8PHYCxn+GzExSVCbTVngkkOJGbIdV5F2cRYD54bvCcuc2ONO1mvSIhaHkkaymAKSyqs19xwhk8JwiPWSlgURW12xSPAIM9XM00PzCB0igz4wBtxoD9xQJW/Pz1pXfU+Qqp08y/x5eYJtsaskjz/4HsFL7mn7gL9fYsMgQUKwOzXxzzBssuQCTXm24B8OAV+u+4qJmMnv0mIYMQMXxEyLyVNdgHyi80GDWYs24cbMigIojJBEQayE3pcYcJvmrZ22FzKyM/+01sUGUokUKetN8lpY9mmkqDMuibCRWl8jG0C8VGvT3PumjLdBZRMQYq8sgNfyGmSw3cM0EZzXrjVY77T4CcBQFhpMVyMkpT5kGNG7QyyPoUp+NeibzIzpDXu8aMi8nGANLvFdoGsSqHhcFlhCVNSa9WPHP44qQRD75KiJ4KiZY+EEWI/XcRzY94MzSOEgs0CTvVzVNn7zlCfJG5F2beoztF+avubxsDkwtOwkVCOWgL+4H2V1MIBBRvrmGgqBNcjZAHqhyRhNEPiU/mnN8LgpmSzGvCaqMvRIrkMhIwpHGA5MREZ6kTf8WJbjncHLsSOnc5gPQdAN5hW84H0RisAOl1cfhbVxNlzzxmw9PCdaN6oxhaP0b4PGKiPnEw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(376002)(136003)(396003)(39860400002)(451199018)(36756003)(5660300002)(41300700001)(83380400001)(478600001)(6506007)(26005)(966005)(6486002)(6512007)(2616005)(53546011)(6916009)(4326008)(66556008)(66946007)(8676002)(66476007)(54906003)(8936002)(186003)(31696002)(86362001)(316002)(38100700002)(31686004)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RWs0cTM0UXNVM25KLzBRSXpPNTVVVVVIRU5xbXVCR3M0d0lNdU5FL2x3Y2J3?=
 =?utf-8?B?Qm13emJpV2N3V2lKd1d3UnVDRWxJUzlEYjlJYmRpdTgyNzY3L0JTU3ZPbE5a?=
 =?utf-8?B?dzhoTDhvVldtRUVQV0lETDNwTW9QYzd0M1FTVGFhb292LzNaMnhaSzNjbURz?=
 =?utf-8?B?anZpSGZjN0FWenF6dmZKY3BwWTZsdDZhZEx2Wmc5Zm9qQmRHOWRpbnZDdGxt?=
 =?utf-8?B?QnM2NkJjUGdFUGFVMHBXQVorYXBQaFNXdC9NK0xzbGlkRi9Lc3ovSXBsTWQ3?=
 =?utf-8?B?K3lqV0hUUWx5TmxSNmpiQ1FMb2RxNGhIdjNJZk9wMkd3ZHc2UkpiR1c0WDd5?=
 =?utf-8?B?YWtKcHF6Q3JtRFFhaTlxcEN5MUxQSEo5TS9XeXFCcXpTbUVrOGJZdWxXMDVK?=
 =?utf-8?B?RlpWR3Jjd0lWeHJmUnRodFVoUytKYWxtYk1aNHVNTUpUQk83UnY5WjZyaEFq?=
 =?utf-8?B?U0lRSnZNeG9HMHJuY1Q3ekp5eUdSWWRrRGJsN0h0blJMRUFSRjIrZndHbCt5?=
 =?utf-8?B?WkR2REZ5UjI2Zzg5MEkzT1JCTE5Xd1FGR0xkelQ1U3VLK3ZDMnNEcDh0cDB4?=
 =?utf-8?B?MlYxZzgrM3FFVlpCYW9RbU5LZ1RWWW1NeXZMbDNZUmFkc3Y0ZUFGSFZqUWZR?=
 =?utf-8?B?UFFoRlJOM3huWE0rUlVZc3IyU2dvYUZ4dUphY0pWL3F1b21yNFN4U2U4N0Iv?=
 =?utf-8?B?YlJDSHlDckZJNlpkSkpjTHdZdDZ5ZFBWeWYzcHFscXZlbVV0cHB0ekpZbTcz?=
 =?utf-8?B?dkFDbjhXNzNSbUJIV3RtQXdmSnQxTHJIaHdpMFlHcnAwdDBaUDNBdVB3L3hp?=
 =?utf-8?B?TkJEa2J0Y3ZMRm1tZEtWRTZzeDNaUXJLcnRvZ0JpVlF2YUZKTlIvZGZmM3dF?=
 =?utf-8?B?ZGdrMks1ejBpQUdUaHRlNk9UVFdYait2eGVXSjZ2N3FiUEkrQndSSVo2Rnd3?=
 =?utf-8?B?UjBRQnZIdFZFRDM3K0Fyby9oSkJRd0YyM0R6ZVUrL01sUGx4dkx6WnY3NCts?=
 =?utf-8?B?bEpORmhrNkIvamRJVEdrUndac1ZPQURoWmd3SCsvUThnajVsUFpwN2l3M0w3?=
 =?utf-8?B?NGJ0bkhVNXhucFZyTy90dksvb2p6YzVzeS9VaURFSEtsRzZZQUZ3czJib3g5?=
 =?utf-8?B?Qk5ZcngwZGJTTHREdlBiNytNWm1wT0JUVW4xODd5NzFITjV0K2RyUTBqcjVE?=
 =?utf-8?B?YkZmUm1xK3RBRWt6RjlIOWVBYklOOXVzNGhRUWRTaC9UUFRIQkM4K0lIMUp3?=
 =?utf-8?B?cmN1SHZXNjRETitQc2pkcVNCUHJBdnBBR096MkRiQ0tKTWd3bXI3T3cxT0pS?=
 =?utf-8?B?dkJqSXllVjhSMXltL3pGQ05iem9YV3hPaWw2c1l1L2hyTWxVdVBSK2lUUGpu?=
 =?utf-8?B?MTRUdmp5ai91SWplN3BTcWhYendSTEJvM0xNdURLcTVmeGhUdjhhQ1dOYkZS?=
 =?utf-8?B?dEU4V08yNWVva1NqVGFMaktKQ05YTFBsanRGUy9ocDNmN1RPdVJLcVJZbXpa?=
 =?utf-8?B?RVpSb1hhM0lBYityTElOdk5UbzBhOFl3NXdhSm03YjM1eHNNRGJhYXhVTndJ?=
 =?utf-8?B?UnphYzRuSDdvZTMrTlFEQm00V0o0cFJ6Y0M0dkZGK2QwVGJOTkhPaFJGUG1F?=
 =?utf-8?B?QXo4TFhHSzRJT21CWVR6REpRT2xMNXNCQnN6aW8rSDM1OWJJR2l6S0syU3Mz?=
 =?utf-8?B?UlliazQ0TkZLSU80bVgzWTBiaklaeXNIZTRic1ozRkpBL2s2TlVDQWg3dEdR?=
 =?utf-8?B?a29mN2JaVTNUWFhjUDZQZHpFV2ZIQVdiZmtBRlRyOE5LbC85SytwaWhWU0Z2?=
 =?utf-8?B?Mzd0TjFBcEI0ODJCbHAvTEF5NzJsU1J2Mm5iOGZmTGFMUVVKM3BDUGU0SEFh?=
 =?utf-8?B?ZDltTzljbXJBeGhmSjhvU0VaQW1KTEtmRFNPR2ZvdUxJc3UxYk9HYUV5bkp1?=
 =?utf-8?B?ZEpnYUJsT1BRYklZVTFMVXp5Qnd1MWtZR0VGZnd2S1RlSmMyaGtuUXF3VmdC?=
 =?utf-8?B?NXM5NDFCVlhZZ1dwSmM5VzY5ZXZVd0k3YlkvK3Fwb2ZoNmJCVXNieWtrSTl2?=
 =?utf-8?B?d1UrYy8vdnAzVHZDUGZpTGVMVWZidEhRL21ldlQySERVSHY5WWdhVXZ1YVhi?=
 =?utf-8?Q?W6yKA/g78S1hY7zE/vhfqWEJh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7f9f5b5c-ddf2-4c91-1511-08db23a4529b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 09:21:27.3060
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: x8en4aOODmpoQoC55pur5aZs9kWaFuumNJqCIWhCGZOUs2nszzcQ17XVDfpiIWelE0las1uG/OYo9eC+p19ANQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6985

On 10.03.2023 17:02, Andrew Cooper wrote:
> https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/data-dependent-prefetcher.html
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

In the cover letter you mention that we should enable use of this by guests.
Perhaps also mention this here?

> --- a/xen/arch/x86/include/asm/msr-index.h
> +++ b/xen/arch/x86/include/asm/msr-index.h
> @@ -41,6 +41,7 @@
>  #define  SPEC_CTRL_RRSBA_DIS_U              (_AC(1, ULL) <<  5)
>  #define  SPEC_CTRL_RRSBA_DIS_S              (_AC(1, ULL) <<  6)
>  #define  SPEC_CTRL_PSFD                     (_AC(1, ULL) <<  7)
> +#define  SPEC_CTRL_DDPU_D                   (_AC(1, ULL) <<  8)

The doc calls this DDPD_U - typo, or do you happen to know that the doc has
it the wrong way round (and is going to be fixed)?

> --- a/xen/include/public/arch-x86/cpufeatureset.h
> +++ b/xen/include/public/arch-x86/cpufeatureset.h
> @@ -295,6 +295,7 @@ XEN_CPUFEATURE(INTEL_PSFD,         13*32+ 0) /*A  MSR_SPEC_CTRL.PSFD */
>  XEN_CPUFEATURE(IPRED_CTRL,         13*32+ 1) /*   MSR_SPEC_CTRL.IPRED_DIS_* */
>  XEN_CPUFEATURE(RRSBA_CTRL,         13*32+ 2) /*   MSR_SPEC_CTRL.RRSBA_DIS_* */
>  XEN_CPUFEATURE(BHI_CTRL,           13*32+ 4) /*   MSR_SPEC_CTRL.BHI_DIS_S */
> +XEN_CPUFEATURE(DDP_CTRL,           13*32+ 3) /*   MSR_SPEC_CTRL.DDPU_U */
>  XEN_CPUFEATURE(MCDT_NO,            13*32+ 5) /*A  MCDT_NO */

Looks like an off-by-1 in where you add the new line.

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

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 09:25:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 09:25:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509205.784533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbeQI-00025t-Lo; Mon, 13 Mar 2023 09:24:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509205.784533; Mon, 13 Mar 2023 09: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 1pbeQI-00025m-JA; Mon, 13 Mar 2023 09:24:54 +0000
Received: by outflank-mailman (input) for mailman id 509205;
 Mon, 13 Mar 2023 09: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbeQH-00025g-DE
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 09:24:53 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0609.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8acf90a-c180-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 10:24:52 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7834.eurprd04.prod.outlook.com (2603:10a6:10:1ee::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 09:24:49 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 09:24:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8acf90a-c180-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=drQoVJnJDZf5PMMmUL9rmvoVh+9fYyPhFd/2wrnfafzWSGZDnIpyTvejkdNBnm7fTVrbO++19DqgnCn5bp0mmJ5fadQN/k2pChUV3u/dXihzZNIZadrcNUPuFfnP8Cf1ugp57AblsgoWzVAqpAutn3YbKdVQGL/Hr974rNSFGkhZKd9ul3vZ1GDnuYMOjfvShHKriD8eTwmePX2O5vH+ietBy+n38UNX699X+uG0in7RHSMammd37f3t1RMKHYZXNpoiEqMbNaZ4uAiCSd4QlMgDKO3WVTa1slz2yvBbleTxKsQ5+eLgH4aJRqtf7uGu9xUi0rGjswpkrQW4Hc2xQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LAlsi9OTOeO3VzzdG9/7M+XJ6zFixM46BZFjiesUaKY=;
 b=hx42XIVknXj9v1SDRBmaxdAP9/fNcIph/cHsR2/rj8nPGf5PdnNiYlGos6b65SzFdMFOCv5Lz+PuYmrpwzPsSEf0KXPLp3May/lw13yYoEb0QZq2Qw34kdDv8USAUJRriT895vBBiUrM3x6CRwZDqwkp4OETPZloQ0JXotPIbIkoKh+RD2Z7sLsVZ3ia4xEMCR5czEDVRj2joc3VvJRCDBl+K+sHvZiwklSgqK7xYgULIJeW4EVrVq7TNDBhm8v00C/ENAmYuc97dyeJsHkj5bmUoUxWz3v3NcEEs5rQh0iTSv0WChEMvuB72dhS9vXcEALYRGxuzlvRX1GwfFeDRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LAlsi9OTOeO3VzzdG9/7M+XJ6zFixM46BZFjiesUaKY=;
 b=BvsiW9uoJ3TC8sCPXWUo38HPvB5D0Xo7PwR0QyuGgiFHpWuct3KS5GhehBn8yRgUyHkSdIE5pUdReDLV+wbmvNDt0ya7+K77kq0H1MKFAHT0+Nlr+B3aRdsNf97q0mxEOa2Iv8+H51wLDqJbicoobJ0mMv+qIAmKjWu6aVWs04V/JAexT5Chb2E244W/D2EJ20Js/BuAV93f06/3QnRgSNsuB/v6jXO33lsgo+nyyQnelvfA6qlb7T9O29IopBZmqI51eB1N+AI9ZcFwY74pV/+4bvUtvqLweQ84gre/KGgTcK8x4iXFW9thEB6F/1BJqL3E+PLBpYSIAqUCD3KQ3Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e1dc583f-8fdc-48d3-3c13-05be261db62e@suse.com>
Date: Mon, 13 Mar 2023 10:24:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 2/2] x86/spec-ctrl: Enumerations for DDP controls
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
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: <20230310160238.1321765-1-andrew.cooper3@citrix.com>
 <20230310160238.1321765-3-andrew.cooper3@citrix.com>
 <e0463968-22ff-b2de-c878-63526b981de8@suse.com>
In-Reply-To: <e0463968-22ff-b2de-c878-63526b981de8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0052.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7834:EE_
X-MS-Office365-Filtering-Correlation-Id: 6b8dc87d-58fe-492b-18dd-08db23a4cadc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uokdqv9urFq5MPVH4MBZmKrI8L4X0wrct7nsFMIF48XgYeUIZpi5D4+7QhVwYI4DJoPK7hWwNxB+6MXFCG2O3oyKQ8k1843guUS5EqofgedVHdVjXyFBKr4ODnAztprwONc0/cedn2dltzrFjHdPRw5kTwVOzbX4wlgebJKS17k1Wj73jov66ylKUWhYWtcWr/bRHEkQ41hCsFXbusPJn/iRv9orBIhkSnmZnK1+1QAf/4fwqAr7S+RwpFocfVCu/ZCV3fVHFRIxXwpdAXjRmOIhSzXC8C/HkLf1HndZlkn6UoQA4ifsylVZjPlJUzGFe7t7JZgSXjtN6TMP68t/2RRuRlC+E/MMhVc6lHmkp9qM3qF5uURAAkjDl6dldASSr2JijpoaC+X0FcUY/I1ovYIm+fEh6IiXBcTshMGsntiObkwRG3WP55SO9XpysJtS6VTUBdRcoqlNYRHtsytafs7awU7XEplAkeP6MIyfMNhh/D/9KOYlkmIs+OmZtG7bJnT727AUb3Z1RCdczzea553MFZ7IBmezIvpEXyUbwLk0mNXv+QzsCTCeAeNG81hsHqFjGWYrzn6jtgJSgc6WnGpKqKdZLfOMbWzRnL3cu4svE0KGZdLGuLVyccurdQFyxHeJDK3TWxdLZ8jMqvnjm42SHtLcPw5S4hJLADulujBoKgGFaomh1Znu2Mrmy2tAbFEVID66sJ+9cMdNpjGMy7EAJXBoRu2RawM1pTalHT4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(39860400002)(396003)(366004)(376002)(136003)(451199018)(86362001)(41300700001)(36756003)(8676002)(6916009)(4326008)(38100700002)(66476007)(66556008)(66946007)(2906002)(8936002)(5660300002)(31696002)(31686004)(26005)(6506007)(6512007)(6486002)(2616005)(53546011)(186003)(83380400001)(316002)(54906003)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RUUveDI2aWUrK0E3UWdkejJwZDFiUGlOdFdjL2Z6c1RsaXFxZWpWVEpRR2JJ?=
 =?utf-8?B?dm5UbGhCVnQram1iVTJ1Y1UwY1gySTZEbkhYcERKVVplRVNrNTlJalBGS1dz?=
 =?utf-8?B?aDZLeER2R2l3UGpGUXVhNmhNdEduU1orYWlTSVV1QmRvN3lVb0V5TE1uOElF?=
 =?utf-8?B?QS9GVDBLaS9OQit0bThYZEc1NncxNTlqMk1xLzRsMXpsaXg3UG53aE03dmF2?=
 =?utf-8?B?T05LZHN1N1ExVEk3SGNwTGZrKzNBVFkxdXozajJkaU1IWFBlT2ZxcHZMUHN6?=
 =?utf-8?B?SmNqbXNZRzU0eENRVUc3dHBmZWpySEtLVXVJdEtaYU5hN3MxaW9udmVOT3F5?=
 =?utf-8?B?OEJ4NnJxZ2M4WStJTVJKK01RVkRTeitTWWdwZnJtdnVPY3c3cEFQV0x2ei82?=
 =?utf-8?B?d3ltcTd0dU9pRW5kMEZCTk5zb2hHNTFkcHpaeTg4R1kvY3hDZVY0cUcwTXNx?=
 =?utf-8?B?blMyb2hEVjhOU2tIajFHZ3JYV3B2endIN3dNTlIrUzRqaXh0RlY2N1JTTWta?=
 =?utf-8?B?UUNLWlBweW5YRkFoTjE1NWRKVytlUGo4WGE5ek5DZFlYVk5yNU4xbHVkNFZP?=
 =?utf-8?B?R0ErRGxHYXZsK2ZITXN6enVFWmJ1bUpHWGtOcEdjdnZpTkh0VThNRE92OVZG?=
 =?utf-8?B?dWhRai83RXU4MDRqb3hQRjZNd0t6M0ZxWGRiRWxNVy9ndk1yVDJQdS8vV3pO?=
 =?utf-8?B?RkJYNVNENkdvTmtVQ1U4anFZcU9na3p5eFdXSnhPZzJEWlpCdnhOSzlYVVpm?=
 =?utf-8?B?Nnk1MjRyMk5mSkl2eXN2OWVCQnJ2TTN4eCs5ODZrNHVjbHFlL0ViaktYS2Z1?=
 =?utf-8?B?Mm5MNnVVL2h4TWUvVlhWTmpuSzlYWmFEaHpBd0h2ZVpZdDA0WCtmc1daWHkr?=
 =?utf-8?B?TmI1Q2tscjJxVnMrWlYxWHJLQ3NuczBVUmI5RjZuMzhDS2cwd0VCMm0wb1Qz?=
 =?utf-8?B?dUpYSE9TQktCdXpZdEVIYlJDTnpjc2VhZHFhMmxsRXdlcFdKbGVLNmZkMnNH?=
 =?utf-8?B?cFFpSG5PMk1sNjZWOEFNejhjeUVBdzZ6S2RGVkRNZXRCTC9kakpsTEh6U1h5?=
 =?utf-8?B?dHdOaEZEM3pTMFBlN1Rtd3QrRWpTcDdSc3QrYXZCN0Z1MDgyaGJOWUMzUzh3?=
 =?utf-8?B?czkvN3NPUStDdTV6WThMVTVWMk5FZTZYY2J2SHp6elJmZmFQdFhlVjI3MDZR?=
 =?utf-8?B?TDVGalB1eCtJUXhOMmF3UEYrbk5ybGd5b1lqMERuYXgzNzMzcnJQWTlMcG8v?=
 =?utf-8?B?cHhnbk12VVMyQnhjdEd3eVgyVTZodVREVlhYV05xSG5jWlNUczRkd0g1S3pP?=
 =?utf-8?B?dWhxS2UydDYxN1dxbFkzMEp0c0Q1dUNPWFg5OGhDM2Nid1JHUVFZaHdDUEtQ?=
 =?utf-8?B?ZTZqSlpwamd3MHpRTEViMFNiZEpseUpCZXRGRnI4SGE1bStrOUZCelVmRGRi?=
 =?utf-8?B?eTlaU21wUTdrM0plRE5tWEIyRkRBVXdmUTA5TnVRZ1pnejlra2FDZmEzL3dE?=
 =?utf-8?B?YVpuV20wRGNrNGU3WjNJc0R2dVYrOVBKMDdySGNXdlg1a1pXUUJoaC9wVUpr?=
 =?utf-8?B?NDVFdXhGcHp5Q3lOTXFkT0tYK1JPdmdLVENpV0lYY0JFeURlUUtpQ2IydTFm?=
 =?utf-8?B?NGY4TTVQdU9HZkJ5OStqNmd6aFd4N0FRM3NaNDIrWVNGajloUmxYd1lmWjJx?=
 =?utf-8?B?RkhpcXY5ejY4d21vWitCTHlpa0hKZHFxNkxsOHhObGZRUUlrbUdpQXdReVhD?=
 =?utf-8?B?b2RUSmdQMmw5TjJIcjBTUWJpc0ltOGZ6bmhqWG9JR3c5RlRBTUVNcEVDR1Bz?=
 =?utf-8?B?VkN2d21Dc0gzQk1qTHRCSFlPem9pQk44bkFUaUJld1V5N2Urckl5UzJJWkxR?=
 =?utf-8?B?bnNwcE1UVjJ2TWQvZ1hpb3RXNzRtMTBzNG5VWHlsV01nenVOTmtWdG5GS1FW?=
 =?utf-8?B?Z3V4L3plUTFFZCs4NUJTTGJtVXF4aHp5TmdoeVpYaENTc01WZURqMVJVdUNP?=
 =?utf-8?B?aE5mYzJUNmFxYnFEMmtvSEdWNFowWXpJVmtBUjhZS0tCZXJ1VnRYamhkWFZ6?=
 =?utf-8?B?UWIzYnA3OURPMkV3STZPTjdIUGh0QlVWYkV3dngrc0pkZTd0SERLVlAwdEt5?=
 =?utf-8?Q?8CTaqFsmc6qAWtq79QWrWb524?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b8dc87d-58fe-492b-18dd-08db23a4cadc
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 09:24:49.1837
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rXdpN+eV5r+hwd6D3AcQedp30piQNeJukdsAuhpol+FUd7yaGdPGFY8CEpyKV0CkxpOsqH7uwwAFqwbgaj6oQg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7834

On 13.03.2023 10:21, Jan Beulich wrote:
> On 10.03.2023 17:02, Andrew Cooper wrote:
>> --- a/xen/arch/x86/include/asm/msr-index.h
>> +++ b/xen/arch/x86/include/asm/msr-index.h
>> @@ -41,6 +41,7 @@
>>  #define  SPEC_CTRL_RRSBA_DIS_U              (_AC(1, ULL) <<  5)
>>  #define  SPEC_CTRL_RRSBA_DIS_S              (_AC(1, ULL) <<  6)
>>  #define  SPEC_CTRL_PSFD                     (_AC(1, ULL) <<  7)
>> +#define  SPEC_CTRL_DDPU_D                   (_AC(1, ULL) <<  8)
> 
> The doc calls this DDPD_U - typo, or do you happen to know that the doc has
> it the wrong way round (and is going to be fixed)?

Actually ...

>> --- a/xen/include/public/arch-x86/cpufeatureset.h
>> +++ b/xen/include/public/arch-x86/cpufeatureset.h
>> @@ -295,6 +295,7 @@ XEN_CPUFEATURE(INTEL_PSFD,         13*32+ 0) /*A  MSR_SPEC_CTRL.PSFD */
>>  XEN_CPUFEATURE(IPRED_CTRL,         13*32+ 1) /*   MSR_SPEC_CTRL.IPRED_DIS_* */
>>  XEN_CPUFEATURE(RRSBA_CTRL,         13*32+ 2) /*   MSR_SPEC_CTRL.RRSBA_DIS_* */
>>  XEN_CPUFEATURE(BHI_CTRL,           13*32+ 4) /*   MSR_SPEC_CTRL.BHI_DIS_S */
>> +XEN_CPUFEATURE(DDP_CTRL,           13*32+ 3) /*   MSR_SPEC_CTRL.DDPU_U */

... here you have even two 'U' in the comment, when one of them wants to
be 'D'.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 09:37:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 09:37:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509209.784544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbebk-0003lr-Nv; Mon, 13 Mar 2023 09:36:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509209.784544; Mon, 13 Mar 2023 09:36: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 1pbebk-0003lk-Kz; Mon, 13 Mar 2023 09:36:44 +0000
Received: by outflank-mailman (input) for mailman id 509209;
 Mon, 13 Mar 2023 09:36: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbebj-0003le-G4
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 09:36:43 +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 8f20bdcd-c182-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 10:36:41 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB7145.eurprd04.prod.outlook.com (2603:10a6:10:fc::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 09:36:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 09:36: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: 8f20bdcd-c182-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nc6RMKMN08Yjfm3E6jwltZMHy/6fb3sLakVy44ro1iRbAR2bt3kPvpeqn+jehbe7Yjg1fvDcEkFuspbrTpY6ulhFLutHZQluybyF3Ci4T7L+9cOZA1MEqtlSx1biy/T+qtcQ4nXZ3oJNOCJwCvcRpGeM6EXhIybqljTOl9c57Tib8u0KVu/nQPtGUFFvqoE2wOYNQUpYzcVE9WZo5PLWlrSOyc3Iq/4FIEAjKVZ+xJRqudS6pJQH/7mVmHpLetZv9g7lJxZXL8fgAMFS6sxcBRa0s6tAHGSidMMHb0wuxzF5pG3C2zcPfL8cABjHbVuuIcqieHmu6yw2pPSLXZuHlg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kiw5R6dGNTmZpxjC2pLBzmNv2QN/xljCAL/x6addyI0=;
 b=ktTG8JB+sfDTbiLIZLBT2S4RhDDpsLaBez2WiC2q0KTRZrnaTlvyDCzG7eOSCHn+JUVNfXws1R3BMgZ5sWXPBPPai2+YnxCdQKbx1AVwxeCnmNiBGvVfQURV3wr31ynqv1tXsPGKfW+wRDtwAFl5CdgwJKR06tiruY3rdAr74HZZa4TTNpu+0XyK6WCcS+/pSe7M97dBD1mEXEzWbpk63r573gKJHAWXzRDPNyObTBdAbKqSBQfNPVuc6B4A83tcZZ09rdfhp8y5O2xW9hSW6oJ3t6TmA25xBg6twcH036P0V1gYPptxaJWR31T1CZNd3NOvhzCOA9p0BlvhBiikFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kiw5R6dGNTmZpxjC2pLBzmNv2QN/xljCAL/x6addyI0=;
 b=T/S/iFjtbBtgCuLmWpKUpXVGcgBYBbegLyJ99mPClJAc3jbYpKYp5jPSXJw0+R/8M12WtuXrEaTqBpD6L6osW6hUMsldWxcpLeF6Tm7fSEx4CIVLXzN16IhVyOYnxkF1GJdETpuDGRuRLhwe8KRmqmmK5XgwL3/I/QPqmLpuQRc+y0+yh69cBQ+pI671trb6bzT+lRi0yX8PV7h0vmdj0l+bzt2wRv+L9/mk4SlNPEAMZsRBdEtiTrebxrIWV0U2W2YfChaO6m4jeVKhWmVUlzPZBe5FNob4GzyKZLZxbKDvmYn44P+SEfF6Tpo/megMnqDNOz68S++RZougHBhGUg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
Date: Mon, 13 Mar 2023 10:36:37 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from Xen
 4.0.1
Content-Language: en-US
To: Denis <tachyon_gun@web.de>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0154.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB7145:EE_
X-MS-Office365-Filtering-Correlation-Id: f3221b10-98ea-40cd-211d-08db23a6716e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fm+RsiBALqkV4SyvmhZBqWUHTQlXBewLepF7AGaDhQ7IAxkcXrxGynj/Xwzqtv8k/WWZXelbGgNFu8B57IzdWU/XcGO3Ki1ITBwulbyn4CEsgtX8bYz2PTEZQB/x425xe68bPP6PvAG0pVNiuQup38zqg+vnOLNko+HZeGwTZRCp8QoLqcRtjkHFsvJDA3KNIOzc6ffxsuSEoR/CRePjjdymP1PhzKSTXFBiw6FDdADhguor23Amz0bee0XWDmfp2vBgujySZamTTB9HZkWqqlyS9xjhLDFnDuoa3eLC3Cwu9YZcNMoLCqqzFG+wKvyy2cAKsuvQIihmd2eGSJW0dHniw1Ij0zvZdjb4MinXl3pfZBMLyGtO5PSrFeuXEe0hUc7O0nkb+JIR/B+miTgaeDk/ufO+Lx2MvK7PwnKwF3W5b3HBC7yrv1N66DJ3ysPB5W6/0UCl8QHhu/Netc+bm55hR+Ics4foIlDPoIWQMVcMfMZCq9ZkcWNFXd2LAaoX4MjR7h1wy9TfQxcaLMeFhMpfKt4mQsU41ExVqgEMtAiAF6a40iIjNBRGFVtBdxf/+kcAkwpKcCAjRrOSB2JnbY21EL3FDNTjt3siehbE2wWK3ZyfeIT4nw+OVXzbVHn6fY1FepUD6rFWDl6o5WoGa6Dw7ygWpl+FEp+OKcj2odZfrNPUfhMFpklaLFYbKpzAChNrg4H0xAWNo2FpCsLlF9AAc32YH0ZPuM0DtkyZM6U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(376002)(39860400002)(346002)(136003)(451199018)(38100700002)(2906002)(41300700001)(8676002)(66556008)(66476007)(4326008)(478600001)(316002)(36756003)(66946007)(6916009)(86362001)(54906003)(31696002)(6486002)(5660300002)(53546011)(26005)(6512007)(6506007)(2616005)(31686004)(186003)(8936002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dm9nU0NtQXNpZUdEYzVpRzk1Q3o4ZThOWnZWYWFyYUNoaWQwWGJlSGt3dm5z?=
 =?utf-8?B?REZpVGpVdTJyNmh5UmtSTEhjUWtpa0dCT0VnM21DemV3MFd5MzB2Z2RBWjFP?=
 =?utf-8?B?VkpOZkJpbTV5MHV0QUJHSThLY1VNVzBQLzdVV3lFSGxsTkZpNkJJaGxyQXNm?=
 =?utf-8?B?QjBIelNKSW5WcDdLQ3FYQS9zWXNlQzZzdndxVS9keURkR2tINmJIRDNFSDlM?=
 =?utf-8?B?b1JwcWVKbHdsNlBoU0pHMzdBbkViR0RNcWV4cWUzbG9TNkdhYzk2eDJ1L00x?=
 =?utf-8?B?dEltVC8reUh6cnhBb04wM1lzMmxKT3FjTlozL2QrbjJ1VmZrWXhBaitmSTg1?=
 =?utf-8?B?elRDV1lDMURacDB2WElYUDlVWTBZNkNBWEliS09pQ0t3QTVOYXd3UXhuRkpn?=
 =?utf-8?B?SGM3dmhSZWlIaWVVQUlyVVZQbVBRd251Rm9ZblRwWFlobitQblNHUm1JRWZy?=
 =?utf-8?B?M0EyZ1piL3VJWTRaWGVocVFLMlFBNDVMWTJzL1NJUlVWSGlucXlhRjZ6REly?=
 =?utf-8?B?ekdESG5pZ3hyampMb2ErcXEwQVFxamVtWVlTNFptOHk4QmFHS0RLVEFKZFJq?=
 =?utf-8?B?YjlmNWt3YnpNRzlPQStieXdOYXZJVkRnaDhKaE9EOXBqRmYvWFhMOFd3bEpT?=
 =?utf-8?B?RE96MVdFaTJmMFk0Q1dGenczU0U3ek9qM2hyUzZRNXhocmg5MDVQQnFaYXAw?=
 =?utf-8?B?Slo1YVFlOG10MzZKWE9qT01DRm5ETDZxMlI4SDk1MVNmSTN1bkE3TGdLSTZU?=
 =?utf-8?B?N2ozbkJhYUhwMjFLalNPeWF6UzFpNzhINVUzNmtURk40elJ4NGphMlh3UVBN?=
 =?utf-8?B?SVJtdmtTL29XeFZMbTdnMnVXZFNtZERpUFRGTTc4Mm8yUkRFR01UODBLQWJq?=
 =?utf-8?B?R1JXQnFtWkpWZjFBcXF2aGxrWFFST3U5bmw4V3gzNzJEbTYwWEpsNlNESHl6?=
 =?utf-8?B?VFQrVXFpeE1idEh6U01GSC8vWVZ3MWxzS3hLdWJjSWpidXhRdTI0a2dUM0Zj?=
 =?utf-8?B?TFphNmdoUmswVy9WQXkzd09DaC9sbk1jUXRkM3dKMzl3ZU1LV1h6OTlURzk2?=
 =?utf-8?B?MnYyUEpkSXpRaTEreHBzNUExZWRkSWFmaXVhbGVWSlVNQVVQY1krQU9zQ09Q?=
 =?utf-8?B?alVnMzQ3TnhBTXRMQzQzK0JhMlhXWktvSEJOYWdSenpPbjdFVVNIcmxkdGNO?=
 =?utf-8?B?VnhqRnpHbXkxd1lZZVJjVFNnbVFhUmdoR2VWbFB2bmtxUGd4TVRhVmk3U2ln?=
 =?utf-8?B?c0FlMWhXdFhhbnVyaWc1SGhYWFp4UGVBZzhOWHdBNlFEb0dxQjdrUHhuVTZ0?=
 =?utf-8?B?THVIU1ExblpqcSttVHpwUDY1eDVETUpqRFVSYTFBajNuRkpUaUNmb1lIWGlw?=
 =?utf-8?B?bGpHVWluRm5wd1FsQzB0b1hlZ3Z1R0g1YzFHNnhLM0xUWXF0RUFxM3F5RzZh?=
 =?utf-8?B?S3BCZFh0V2kzZ3gyY0xmWkM3cEc4RThOZlBJUmMrSjkrNnM1YVdRWEtxbDZq?=
 =?utf-8?B?MVJEMXpSU1lUd0FzWDhGTnNEOFpmRHppblF0YkludTdCQUhtbDlsWkZVWXFF?=
 =?utf-8?B?dGdWZWxHZnVuRm92dWVtOGhWYS9HY0FpVWRybFBpOFJJbUFaSkwvMGJWTkhw?=
 =?utf-8?B?TUpkM2hXMmRDaUZyejhHSnNqa3hUVS9vRmErQmRORU5QM1lnYjk3MHFPMzda?=
 =?utf-8?B?ME5NM0FSemRwUTFPSmNvRjY0ZTRJbm9KYWhGRTZ4a2pNaCtWcGJKVGtXdm9o?=
 =?utf-8?B?L25kT0tmb1VuczY3VmpFYkQ1VWl3ek9DK2VhUnc0eFFWbnFTM0RBelROTnRG?=
 =?utf-8?B?UUFyekdTbmxDVzc5a2NjaFFnNU1RT21CQ29pWFhib0Z0cDBNZVRNekZady9y?=
 =?utf-8?B?L1RMTFVkd1FlTFE2a205bUJqUzZqY24vVm8yd3Z6SlA2TURzUmg2NyszQk9Q?=
 =?utf-8?B?VnJicnBZS0doMXdWR1RKU0Y2T2V4QWpvbjVzeGdvSVlXRi9QS3FTM2Y3VGZO?=
 =?utf-8?B?WmF2dnpkd2p1YVBjSEpuOUsvUXlLWTlTR2NRYzRjRk92S2JlLzE5eENxN3BK?=
 =?utf-8?B?NHRrUW4wOVNaOGJSU3phYlcxSyttOTNSR3lDRDBOVFZFTGN3VnpJaHh1bWZF?=
 =?utf-8?Q?RSLdIYPZYwknC3HuN6r2KYzax?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f3221b10-98ea-40cd-211d-08db23a6716e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 09:36:38.2799
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ybSM+lCUOs1nvwrOlzZA7VXroQW32rpE1qzkAsIFYe7PQleG7Vtb4FKFxQUcwjHf9qEDk74Y4XG1iG6EI67Tdg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7145

On 10.03.2023 21:50, Denis wrote:
> On 10.03.2023 09:51, Jan Beulich wrote:
>> On 09.03.2023 21:37, Andrew Cooper wrote:
>>> On 09/03/2023 7:34 pm, tachyon_gun@web.de wrote:
>>>> A short snippet of what I see when invoking "xl dmesg":
>>>>  
>>>> (XEN) No southbridge IO-APIC found in IVRS table
>>>> (XEN) AMD-Vi: Error initialization
>>>> (XEN) I/O virtualisation disabled 
>>>>  
>>>> What I would like to see (taken from Xen 4.0.1 running on Debian
>>>> Squeeze, in use since 2011):
>>>>  
>>>> (XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23
>>>> (XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
>>>> (XEN) Using scheduler: SMP Credit Scheduler (credit)
>>>> (XEN) Detected 2611.936 MHz processor.
>>>> (XEN) Initing memory sharing.
>>>> (XEN) HVM: ASIDs enabled.
>>>> (XEN) HVM: SVM enabled
>>>> (XEN) HVM: Hardware Assisted Paging detected.
>>>> (XEN) AMD-Vi: IOMMU 0 Enabled.
>>>> (XEN) I/O virtualisation enabled
>>>>  
>>>> My question would be if this is "normal" behaviour due to older hardware
>>>> being used with newer versions of Xen (compared to the old 4.0.1) or if
>>>> this is a bug.
>>>> If the latter, has this been addressed already in newer version (4.14+)?
>>
>> No, the code there is still the same. The commit introducing the check
>> (06bbcaf48d09 ["AMD IOMMU: fail if there is no southbridge IO-APIC"])
>> specifically provided for a workaround: "iommu=no-intremap" on the Xen
>> command line. Could you give this a try? (As per below this could be
>> what we want to do "automatically" in such a situation, i.e. without
>> the need for a command line option. But you then still would face a
>> perceived regression of interrupt remapping being disabled on such a
>> system.)
>>
>> The other possible workaround, "iommu=no-amd-iommu-perdev-intremap",
>> is something I rather wouldn't want to recommend, but you may still
>> want to give it a try.
>  
> Thanks for your reply.
> 
> I added the lines you suggested and it seems that "AMD-Vi: IOMMU 0" and
> "I/O virtualisation" is enabled again.

Good - that'll have to do as a workaround for the time being.

> There are only minor differences in the "xl dmesg" output.
> In the one with "iommu=no-amd-iommu-perdev-intremap", 
> the line "No southbridge IO-APIC found in IVRS table" is listed.

That's as expected - the message is issued as a non-error one in this
case.

> Though I yet have to test a HVM domU with passthrough.
> 
> I'll attach the two "xl dmesg" files and a third one from the old version of Xen.
> 
>>>> I'll attach some log files (hypervisor.log, dom0.log, xl_info.log,
>>>> lspci_vvv.log, acpi.dmp, ivrs.dat, ivrs.dsl).
>>>>  
>>>> Thank you for your time.
>>>
>>> Let me braindump the investigation so far before I forget it.
>>>
>>> Xen requires that there is an IVRS special-device record describing an
>>> IO-APIC 00:14.0.  This check failing is the source of the "No
>>> southbridge" message, and the cause of the IOMMU(s) being turned off.
>>>
>>> The MADT and IVRS tables agree that there is one IO-APIC in the system,
>>> but that's the northbridge IO-APIC, not the southbridge.
>>>
>>> The block diagram for the southbridge does have a PIC/IO-APIC as part of
>>> the PCI bridge, so honestly I was expecting the MADT to describe 2
>>> IO-APICs.  But OTOH, I could see this legitimately not existing in
>>> configurations where the PCI bridge isn't in use.
>>>
>>> `xl dmesg` does have a few unknown irqs, so there might be something
>>> down in the southbridge really generating interrupts.  Or there might be
>>> a IRQ misconfiguration elsewhere, and this is just a red herring.
>>>
>>> However, a consequence of the northbridge and southbridge being separate
>>> chips means that all southbridge IO is fully encapsulated by the IOMMU
>>> in the northbridge.
>>>
>>> So irrespective of whether there is ah IO-APIC operating properly in the
>>> southbridge, and whether or not it's properly described, I think Xen's
>>> insistence that there must be an IVRS special-device entry for it is bogus.
>>>
>>>
>>> Furthermore, Xen's decisions are monumentally stupid.  It takes a
>>> specifically safe (IOMMU-wise) system, and because it can't figure out a
>>> partial aspect of interrupt handling the southbridge, decided that the
>>> system can't be safe (a false conclusion) and turns the IOMMU off fully
>>> to compensate, which makes the system concretely less safe.
> 
> Also, thank you Andrew for bringing this in.
> 
>> So this touches once again the area of the fuzzy split between the IOMMU
>> being disabled as a whole (meaning DMA+interrupt remapping off) vs only
>> one of the two being off (where presently we are unable to turn off just
>> DMA remapping). Indeed the original Linux commit, which our change was
>> inspired by, results in merely interrupt remapping getting turned off
>> (afaict), and that hasn't changed. (Would be nice to have this confirmed
>> for the system in question, i.e. without Xen underneath Linux.) It would
>> certainly be possible for us to do so too - it might be a one line change:
>  
> Could you elaborate on that one?

I guess I'd need to know what you're missing; the entire paragraph was
intended more for Andrew and Roger (and others who are interested on the
"development" side) rather than you. Specifically ...

> Should I test something else?

... there was no request for any further testing here, for the moment.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 10:31:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 10:31:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509219.784553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbfSd-00029O-Ou; Mon, 13 Mar 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 509219.784553; Mon, 13 Mar 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 1pbfSd-00029H-M0; Mon, 13 Mar 2023 10:31:23 +0000
Received: by outflank-mailman (input) for mailman id 509219;
 Mon, 13 Mar 2023 10: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=2EdO=7F=citrix.com=prvs=4292f2e3e=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pbfSb-00029B-Oi
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 10:31:21 +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 7f442313-c189-11ed-b433-930f4c7d94ae;
 Mon, 13 Mar 2023 11:26:23 +0100 (CET)
Received: from mail-mw2nam04lp2177.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 06:31:15 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by CH0PR03MB6083.namprd03.prod.outlook.com (2603:10b6:610:ba::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 10:31:11 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Mon, 13 Mar 2023
 10:31: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: 7f442313-c189-11ed-b433-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678703479;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=EuT7rxQXyDraQwneNuKIuwaDnIfo5bWzPwITl1cnZcI=;
  b=Y+Suj2Cwt2pvNy5owx6Pc0w/sZI0aD0u51Aee6b5ZWqz2O5hzu1Z5vOq
   Ir2g4nrG8+VT4NmCAGGNpI2Y0EoXKYUJa6QSnEOdr/lezvG4U2cI7lKnp
   HZ5z6KfkXK3z7+LkZTyDT41FVHPw8vEAf3ZgdUZvjELd+JMn1QrGu+Y6r
   8=;
X-IronPort-RemoteIP: 104.47.73.177
X-IronPort-MID: 100587526
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:udp1g6yxVM9qzWIotaJ6t+cRxyrEfRIJ4+MujC+fZmUNrF6WrkVSy
 2YdWGqBbq2JMWOmfNx+b4nlpklX75eGzt5qHQBq/iAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlPKsT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KSJ2s
 tg6eQIVUjaKucnokJG8cNdhre12eaEHPKtH0p1h5RfwKK56BLX8GeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvDOVlVMuuFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE37eXwHOkBdhMfFG+3qVb3nG3+nI+MiRIU12a/L7jo0ywed0Kf
 iT4/QJr98De7neDTNPwQhm5q36spQMHVpxbFOhSwB6J4rrZ5UCeHGdsZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluP1TM9KGYDYWoBUlED6ty7/IUr1EuQEZBkDbK/icDzFXfo2
 TeWoSMihrIVy8kWy6G8+lOBiDWpznTUcjMICszsdjrNxmtEiESNPeRENXCzAS58Ebuk
IronPort-HdrOrdr: A9a23:5almcaFUMoVpvZmPpLqFOpHXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6faUskd2ZJhEo7y90ca7MBfhHPJOkOss1NSZLWrbUQmTXfhfBOLZqlWOdU3DH4ZmpN
 9dmsNFebrN5DZB/KPHCT2DYq0dKZS8gdOVrNab600oYRBhaqlm4Qs8IgGHEnduTA0DIZYiDp
 KT6udOujLlIB0sH7GGL0hAe9KGi8zAlZrgbxJDLxk76DOWhTftzLLhCRCX0joXTjsK67Y/9m
 rulRD/+8yYwoOG4y6Z81WWw4VdmdPnxNcGLMuQivINIjGpsQqsbJQJYcz9gNhgytvP1H8a1P
 335zswNcV67H3cOkuvpwH25gXm2DEyr1f/1F6xmxLY0IbEbQN/L/AEqZNScxPf5UZllsp7yr
 h302WQsIcSJQ/cnR76+8PDW3hR5wGJSEIZ4KMuZkFkIMIjgf5q3PoiFXpuYeA99ffBmcga+O
 oHNrCi2B8ZSyLXU5njhBgS/DWdZAVPIv64eDl5hiW06UkmoJkr9Tpp+CVYpAZ1yK4A
X-IronPort-AV: E=Sophos;i="5.98,256,1673931600"; 
   d="scan'208";a="100587526"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L8D4loh6ynfdBO3XSZsXqartB+fpSzkMYMLtG3REFvNHkOdmrsnOIMSnxEQGyTOica3dSt73fRJDOTSulzI5gk+Z99oKbmMRD8BCeyBAamcjtp0W0TVLz85AJH+jONC/kUH8302nW8pLIusamILJHp+SFS8mzWHZN3kK+utJBk1ebWEcasuA4gmNsHHkd4H8Sqtb3cKzb2qxpTDSPxEXyK56Ib1clcay0pYP3LMjzcTjVbWj1+4HKDm7VSebUyGinPyerU6C131gzw72lMmfRbHVsziAIoyi0KnfoUHM4DGq0ktevmmub6gjDvPnaWJ49T+2IGl2hYFJ4h0/mVh1tg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3rees6DWdA8nFVTTPiYYPjXr+j28HZzV7HqVLweidxg=;
 b=S7wF+/T9UuN4AmCXaHMynTsgCPl1HeMXpHqteNrH04vxCTjH31y0D5PBqE2fiWE0M8gnsNW5qSxzrR39pL/7dQVQg9hntYjKv642/hRziazh4FD3b/O2E2zsp16mt2sb9m4lcUdrmWK62gmxA1zsagTKPezy6OszQCv75nqU+sCJst3sUoTyOto8UzQjkH/++GChdbpN3q3DZKvz33yrppp7siCbn5jSe9aUlIdm3M/npAev/DWbFAi65eIJ/hu4FxLKgAG4V77i8rSUjyiEKyyTSn+J7xAWGTZR8359IHg5p858BD8sT0o8vZLZVRJDTXd3gS9L3W10wnDOzXGcOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3rees6DWdA8nFVTTPiYYPjXr+j28HZzV7HqVLweidxg=;
 b=p3NWhrIlN2g+77O4WiWfbGsYKNbxTb/18PdAVh32lQP/FZUcnpRG+4BbL4UgQLPOO0mAgcJ93KWANxIS0QgrivLIJ17L1AWs6NAFHcy1SUbcofpnWAVtEAR9ooLnojkNIfiszVlYkZLNkRO/DyIWTp8S0CJ7O+G1FImz4VQF6iE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 13 Mar 2023 11:31:04 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: andrew.cooper3@citrix.com, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] tests/vpci: install test
Message-ID: <ZA77aJM7/6dhu5F1@Air-de-Roger>
References: <20230309165812.33918-1-roger.pau@citrix.com>
 <f2c7a5db-80d3-a89b-dff5-250eb18bec14@suse.com>
 <ZAsyxw6VvQHYrksG@Air-de-Roger>
 <29c3e26e-e6b2-1b2f-b442-d468d8abb505@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <29c3e26e-e6b2-1b2f-b442-d468d8abb505@suse.com>
X-ClientProxiedBy: LO4P123CA0555.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:33b::8) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|CH0PR03MB6083:EE_
X-MS-Office365-Filtering-Correlation-Id: b947b336-9ffe-4441-f082-08db23ae1056
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bWXfE2XkKocx1fWbRmh5jpzgDgK8BJFEz4uyfLfq0YZ6+AciVcDE4NnY/DEYKCt+aJmP/mWdnbQT80uS1a9McKTxvoF3n128EWEbUFIqL4IW5cqs/ej/PGXHzsT3G+o+3gRIo6UyFNbNQmttzDQxpe8fY1pxyIzg0fUdEqVt8mDsra5PF8Zdkv/eCjqipCaMfhM0Zr5isbhmUphWf3sGbfSuqYnIJ1qWFtXt+3DjuKOzv4IabIhAzexDl11kUYT49nGWO8Y9CD4cJYRtzs4zIOSKlqz9pJ/EV2pPFbfAC+ab/n+HE22/BhaVe+PssJ4LAgchGZ0qYF3Q8kTcMTF4OQyaMfpnuRPlCMs/uMermAotGKJwY6/m/QO8oKFgGag2klKcc4mC0ruVMyuRSUDcjzCHR/UftK9Y+67QQuXjHIdXfhYf56y6+96Ji+bnJNM7B4fzBssgAjwDm07dA3h1cyLwDaCgjDpmXcbaRaS5Sn30XXo8wj2A2A4PTek1T22R+Pvz0aeTtp6UYjtSjPy9RlE8i6Ts7xOjA8CYj0M1JnQ+nKH5SiIIH/jj8rj7ZW+d9zcLPHJG5mNIA1hTq4ZWo3INuEqRbCvkSfl2sP9ehQpqkjrFwZw8qLDeUdY4T+lfNuze8dQqICTC5hojPmtaTw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(396003)(346002)(366004)(39860400002)(136003)(376002)(451199018)(2906002)(66899018)(82960400001)(85182001)(5660300002)(66556008)(66476007)(41300700001)(9686003)(8936002)(8676002)(4326008)(66946007)(186003)(6916009)(38100700002)(54906003)(86362001)(316002)(478600001)(33716001)(53546011)(6506007)(26005)(6666004)(6512007)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UzhaUG1pQ2taT3ZmWGNFRFhZb2hybk94bDhobWdvVmhiNmhBSFFDcXZaN0NR?=
 =?utf-8?B?Y2hFWXNveEkzWHFXU1lEOXNaUVI4cEFORE9ML0tWR3dlYW9sQ1lxOGRDNUV1?=
 =?utf-8?B?MjZjN3N1SnlBNHREdENKT3Q0UFhQNk1rU1FESmN4L0I5alFJYncvL1V2TE5M?=
 =?utf-8?B?dnVhQ0pId0tFVDJQN3cyVUwrS3NXemc5Zi9zTytaL1ZzS3kxUVQ4UTEwWERa?=
 =?utf-8?B?S29ZVHV1cHFXUVBjeDdhckVhd2ZLNFJVZmYxMVFOUUhHYnA2cm9rR1kyRXI0?=
 =?utf-8?B?MjAvSnFoc282K283OUxndW9mOFgyNThzQWJYbyt4UzlVS3FwN1pIZm51TFla?=
 =?utf-8?B?RUhMcHpBdDBzTTByS05INGdaYTk4M3lRdUtRdTdkRE9UOFNIYzUvV2FPd2JP?=
 =?utf-8?B?NlJVVGQ2RWdsYklYRG52U3B3NDJFZWw2YVFCTmtyTjhhN2JqWExoWG8wcnFW?=
 =?utf-8?B?bTdUZXdUdzBVcFlyeEh3NkVTU0pXZnpLQkZCelNJYTFJUG5KdjVVYUFGZjcv?=
 =?utf-8?B?TWpnVEtBSHVVdzAzZmVxYkNGVENpSmwxZzFxajgxdEZ0MFZEMFJudmVyWDdR?=
 =?utf-8?B?cmNsMmY4UnY1a28vRGJLZVl0bllhcjRVdGtxT3drZzhEVlcrNlNBcWQ0V0xV?=
 =?utf-8?B?djdZZ0o3YWRVMzJSdEpUcjBrcXdFMGVuSXVDL245cEc1dGZIWlBhK2lzUkhh?=
 =?utf-8?B?VlAybm5QVVBiY1crcUI5cWp6R2dHclNidGZaRTUxTjl3UlJoVG8xdkRtcFpV?=
 =?utf-8?B?dnB1UXo5bEw0b2x2b1h3NC8wQUFKSkJQRzNIb1h6VFk4c0p2OUMrWjBLUTcv?=
 =?utf-8?B?Tjh0djV6bHI4dUVUT2FyYm5ySDVYZkQrMGJ2b0tmNlF6S25ScDlGYVo1a0lR?=
 =?utf-8?B?dk1tT0FDS3Q4Q2R1RjhyUXhnZXBFUVFpQSs5V0R4SHVwSk9lcEdFYnRJWFZY?=
 =?utf-8?B?cWJlUTNFUEp4Tksycm1KZ2tNUDI0T093aEIvSC84VGg3d0lUSjA3NVo1TEN4?=
 =?utf-8?B?a3NNZlVwKysyaUFRWm9HZ1FhZWlqY1p1d0I3R2Z5VnNUL0VjdWRsNXc1TlVo?=
 =?utf-8?B?eG9FS0VwNTZIQkhkMkNIU3BkVmxtV1lPc1lXTUVHRFJvTHhzZGcxd2hXUWEv?=
 =?utf-8?B?UmhnRW0xbnlSYmp3S3NkMHdjT2dsR3NSZnc4U25DbGN4YzZCMjRtZ1NJZTJO?=
 =?utf-8?B?MDdyVGYyVGlNUnE2TkxFR1dnbmlLNU9IeTFCSDBXVzl5c2N5c2E1T3JCalFk?=
 =?utf-8?B?aFh3VWduSUR4c0h5WVpDMkRpMlNpb3lSTzlYRjAweXBrTzFZb3VpQ3gzOXl4?=
 =?utf-8?B?SjJzRDdDYUdveDczU3d3Y0JuUnFHem9IbDY1NXZsUm9Tdml2d1lVWjNyRzh2?=
 =?utf-8?B?d08rajB3blZVdHJERnFrekJuWXlodjFQbkZIdkp1RlpFT1ArV0x3RE11THVX?=
 =?utf-8?B?MlFHUHprcEJxUk9CM083OHJ2RUFuYmdldXFCcERTK05lVk1OdTR5ME84SlNJ?=
 =?utf-8?B?MDdNclpSQm9lQWR4aGtXSWkxMEpDNjR4My8yVTZhQk96cytBNHExWHA3RWs3?=
 =?utf-8?B?eW1ySDNBMFBiRnk2VkhHNmhYSzh2cmVHR3RxK3p5SnY3NTAySzZSSGU0MTBT?=
 =?utf-8?B?bUhyQzNKalBaT0MraUdjVUhDdWhKMzZyemdUM3NUeFQxY0xTL3hHMFNOT3pn?=
 =?utf-8?B?SXhXTUtXaGM5aXZSZEl2RTl0ZXpWR09RK0dJbXJFL291K1RZeE41cE50S1hV?=
 =?utf-8?B?c1lNNWZmN1Z1UVJJcDhRNGhwZjFZeDBPL1M5MHB3bStNaldBTHpWQjJ0TEZs?=
 =?utf-8?B?SkZDZTFxNkxsZmRZcUtxck0wYnIxdHZrRHh0QVcySlVqT2FHWHZ4eVo1QzFs?=
 =?utf-8?B?SXJDQlJPVENaTDJzbE1mc2ZBOGRsRkNRbXFsVFJYZHhhcTBSYUc1QlVBd25x?=
 =?utf-8?B?azlsUTY2WWlnSnNFMlZMNS8rVFpKY1ZJYm1rZUxLeXZiMkpwdTZLSVBMa2JS?=
 =?utf-8?B?TVZaMURGNVJQMTVEaDMvVmpIL0cxd3hCdGIvejIxeFVHSkQxSWFzakR3amlJ?=
 =?utf-8?B?aFZnZzJpbVBGUVpoRFlCem9qRGpmMHgxYSt0UDR3bFh5WVNSNk0zWk1DL29m?=
 =?utf-8?B?azFuYllHa1BWd1c5SnhHVHdSZHI1K1dvVnE0WmxCRzJMVm02dUZaendpRnBo?=
 =?utf-8?B?NHc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	flHwrJ7fdlt3md4N8IOl4VNibGF+sb2GAIKf1N+M+GP+mwBZ5OlbmJySAvWWSbS1+YT5CNk/y/Kc4kY3TjPqdwJMhmPNOSmESSOV5cWD9iiJaBOEKteWTtAMbN2/UfH2RyUTR+oKY5BxcsmYNk+YQwOldUG8oRQ+S9oW0QdNOEDJjDv9GgENIv9qOnEAapCWUcrqIRbKmD8QCx3h7F/y1W0mKBeQjvmj3YXJq2cIbHY9lmLtujaIIguwDJBJM1siIrCe6YwPZjiikUm5WEcmAefzRnMM/Gsx4go9DTTdKylSDebNESRzdOp7EGp3Zv/0hJ9XI3XmfGuALVE49ThntbZcBlCO/p+n5otGp0QwQJsBoOzhLL/6PmKmOXP66crm+nRQeHqzt0B1+ZIP3nnqzsAy/gfeCOTQw/kBsqpjxFfktxtnBOWvJOpSOdV3fKf/uMGK0yac6/BN5xiulBgYnXwODi5QJHJv0IRRwE8IRbukt0kIsEXN0RGaSgN4ORPH1PvnNl9m5sbVj+JOAiHG82jobKYzXMTeLJmPnFNkx21kbPk7eBnuPafqjY/Py3hLAptmriVRbdSqfxgxzhaOvHEwWKeI9dWrZ+G0/Egva/8Yrq8DKUerawR0Hd1XVS4CFqsSXgowwuz38joX57GBRp7T4yciMSMTmgSjrN+clqJGJQk58rmFaXN8L1bOXrIIDNLpWt7egkPXY/OgSOAtXZM3SO4fhTfEElXjRGqh2MABYlTX/qGGbU0heq02F50cd/XEwme8XnLhOcjCIA1sesfYchlJWvHKmAcEIzIBBt4CG216neOFSAq5PPS2bHdGEXAHCCyrh8OTIn7bFyuiYw==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b947b336-9ffe-4441-f082-08db23ae1056
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 10:31:11.1768
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: v8r1E8+4cgRmKacpA3vg8WTsQ6atbEl9ikGb8VmtRMdvDKCZkOGMRFD+apPGmucgCoPRL+6F9Zm7ZIm7/Drh/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6083

On Fri, Mar 10, 2023 at 03:32:41PM +0100, Jan Beulich wrote:
> On 10.03.2023 14:38, Roger Pau Monné wrote:
> > On Fri, Mar 10, 2023 at 12:06:29PM +0100, Jan Beulich wrote:
> >> On 09.03.2023 17:58, Roger Pau Monne wrote:
> >>> Introduce an install target, like it's used by other tests.  This
> >>> allows running the test on the installed systems, which is easier than
> >>> running it during the build phase when dealing with automated testing.
> >>> Strictly speaking the vpci test doesn't require to be run on a Xen
> >>> host currently, but that allows easier integration with logic that
> >>> runs the rest of the tests.
> >>
> >> I accept that as a possible way of looking at things, but personally I
> >> remain unconvinced of this model. To me what is installed should be of
> >> value to users. If there was a properly separated directory where all
> >> (and only) tests were put, I might agree with installing. (Nevertheless
> >> this isn't an objection, merely a remark.)
> >>
> >>> While there also adjust the makefile to use $(RM), and rename the
> >>> resulting binary to use a dash instead of an underscore (again to
> >>> match the rest of the tests).
> >>>
> >>> Since the resulting test binary is now part of the distribution CC
> >>> must be used instead of HOSTCC.
> >>
> >> This breaks the run: goal, doesn't it? If the new mode is wanted, I
> >> think the two kinds of binaries (and rules) need separating (maybe a
> >> way can be found to avoid duplicating the rules, which would seem
> >> desirable).
> > 
> > The run rule is not hooked up in any of the upper level makefile logic,
> 
> What about the run-tests-% goal in the top level Makefile?

Urg, I wasn't aware of that target.  I assume just removing the `run`
target from the vpci makefile would be an acceptable solution then.

It's still the user that needs to explicitly call run-tests-vpci, so
it would better know that HOSTCC == CC before attempting that.

Note cpu-policy and resource should also be fixed, but I don't plan
to do it as part of this patch.

Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 10:44:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 10:44:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509221.784564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbfef-0003pB-Sq; Mon, 13 Mar 2023 10:43:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509221.784564; Mon, 13 Mar 2023 10: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 1pbfef-0003p4-Oi; Mon, 13 Mar 2023 10:43:49 +0000
Received: by outflank-mailman (input) for mailman id 509221;
 Mon, 13 Mar 2023 10:43: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbfee-0003oy-EY
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 10:43:48 +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 eea50965-c18b-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 11:43:47 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB7062.eurprd04.prod.outlook.com (2603:10a6:20b:122::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 10:43:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 10:43: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: eea50965-c18b-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I6RxiQtilr87i9SQKPaoawl6tfcJNdC7EnPmz+6LtD75SPTV6ThXbraUCVC1rdiKmAG3Z8hd2qE++7fo8JOrBscHAcUrIpDEK1BJdq8MAagrWPgBSjeFAufrqgNiKN7w+km72975mwy2fa5k798r0oSYATIwKfQ8LtiKYOpBbdERHH+ehO+PaR1pfBH64miYjrPC+YwhMrhjd6iHfO8dv7atYZcQLYxueAFjonGZniPw/74UDXrHs+q83uGq9Dv+C/EwK2woOaihAFxPnhaPntZl8/C6ketwlA/i+J5YTTqymCPNXFSrOvU3ufpISd7+tj9RpDvbyHQEwfZbcSkG4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6NLXTgMwnthRFiNAwvuXBd+cbVpr8O/8Brs17mpEtHQ=;
 b=jJHUWKh4fWASvrdSSyXflxSTH0094+eR8QnpmUPmJb3aQkEmtWyKMp68lJB69E22leSifOn+WKnGnYJET80Jg0Zllq8F16KVN3Tg8vE4JRIKN2sJ30UY+oUYyEIVaihJdY96l7JYVTsDTe+UOgerkprOhrmAbPnkBbFORfuiLkoroy1g87aP4LJ/1B7nunauY5hAl40Q+TXgtSKyn7HGR+lSg5CaQwsBWCBxkbJcUKamiTJcq7va78+x9NplngKLDG1ilan6hs9QBH1whfGPprS5JbCWh8ltymMm7BjPFU6lg9AN6Rq/Mm/co53YXGTC++rt1he/UOzc4oY/cfhg1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6NLXTgMwnthRFiNAwvuXBd+cbVpr8O/8Brs17mpEtHQ=;
 b=pHBYHfiTT5D5ViAcSmJxVpHdRu5vpPuWykuef8SoKiaQ1iBVtrc4KPjG1hqtuG6GNSSnSc15j2strswdp7Psd/y7FS1z9GMq1E7uXYk9zqXBOPOYw+VPCu6xD9tkjRGe8YdSdxNi4GNgenAoyLDHRTWfM6Y4Hw9REClalQ7gOJ0B26/VrJZryeMXfj+++0Efl69dTJCrAsVWiyw3WQ6BzXMbrIWOqgJ6Jp/EEUNon712JB5SWQ9NpZ8zu2CAALZbeRoBrS3IPttxf4aJFX0ApugoAnoQk3Smuq8z+pkk8e0mPd7MwXfiakBpAa6YRL92Jrt5AlCqEJuXW0SGuxCTtw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9833177f-9dbc-4f19-a892-14b63629a91c@suse.com>
Date: Mon, 13 Mar 2023 11:43:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] tests/vpci: install test
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: andrew.cooper3@citrix.com, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230309165812.33918-1-roger.pau@citrix.com>
 <f2c7a5db-80d3-a89b-dff5-250eb18bec14@suse.com>
 <ZAsyxw6VvQHYrksG@Air-de-Roger>
 <29c3e26e-e6b2-1b2f-b442-d468d8abb505@suse.com>
 <ZA77aJM7/6dhu5F1@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZA77aJM7/6dhu5F1@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0007.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7062:EE_
X-MS-Office365-Filtering-Correlation-Id: 801e72eb-314c-4d5a-eada-08db23afd163
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IVjlZFZjhQMH08p4FymsC/HoVixiMlu277zEKzGFvYOtPy0d5szcBvKygWdgVV9bCBmdn7whboBiq8Pgb8KiRcGptl8/RHWlsPP8xtv5NxZ9zIQzpFjgaGYNGngCsjTdBRAYuP3wKhei+z+Y3P9scuoEs1KHWDCSLlWS+X6g/P1IUMbo4lWwrEJOKhtacHrIx6uYfrk0RP22NdPRL4k76n2Pk26pCNsln2+qWomzlIro25xAcGhqnkjZ7/K5+WnPXIHbinrd7wAVkXb0JpmqyuoZK9HqnLzyjl9RUnCSIchpQA7OF1mbvAoCWbNYUbW6qPpQinrnT31epbC7CGAUMjiKmXbO+bQxYhlbHhlIqSmiT6qQb52Hlx4T2Vai4EjyBjFiSK6v3vpkosPL/kcKxIJkP4wU8RcUUCkWozPXNvvgKyc7aSSkx0vACzmeKrBHPdeSZC2V2MTS+OadXv2wjYeEz2hqHGOWhtu0tmYbE0O/2D+5dP3CeZmUhnfLOHSXXPrFxUdgxfv08objJtxfVc4bZKR0amkl/r3wjYr6AgtEblPmhpXObJwtX/9zZFUnup64VMy4NIyq5KHfjVoonTb7bWaQPvpOz5t+mwcFUokjLr1UKbLhVjJ34EEd3kWLXX44yKe4uYxyVrumJVzl90d+Y7WjZc8hR0DFRmqWoBt5/HOo2e/7fjr55PEMKBf/ShHWC+DiVnWyip+S0zr1VSMN8//WBaimDBvj4BtH898=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(366004)(39850400004)(346002)(136003)(396003)(451199018)(5660300002)(36756003)(83380400001)(186003)(478600001)(6512007)(26005)(6506007)(6486002)(2616005)(53546011)(8676002)(66476007)(66946007)(66556008)(4326008)(6916009)(41300700001)(8936002)(86362001)(31696002)(54906003)(316002)(38100700002)(66899018)(31686004)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d1VZcUxLdVdhaHFQYXgzeS95aTRCRWQyNGdGT3F2eHJFOVdFeUgxVm9xcDIz?=
 =?utf-8?B?V25DZHI2QzdtWGVVazhNMmU2WENSVXZKcnpVTnZ2UFpmNWp3MjZqSUdBcFAv?=
 =?utf-8?B?TG9iQzdNSW9rUWEvL01JMDFHY2hRckVXOW5kRkUwZTcrUlZqZE5VckhjdGVi?=
 =?utf-8?B?VlNZaEVaMERpUFV0M3pkR0JyRkVGYkt2eDlLVzV2dDRZTWp5TW50MVdwdHJF?=
 =?utf-8?B?QVRlQlhwV0kraWJEMlBaQmpSMmVvVkFjUXNtb2VFMHNaZWsxeDZPbVlCSFFC?=
 =?utf-8?B?TkF6Q2pabGpQa1Y1cW5Kb1NJR0ZOOVJVNEo3ZldlWTFqSkI3VXBqMEtKakx1?=
 =?utf-8?B?bWhYUzNXaWl6SmxYTWtXTmsxdDEvbnAzR1ZKdnR0d2JTT0ZDdFo5QUNhYmE2?=
 =?utf-8?B?M0o5UXBieXB1dEdMbnRzb2FUcGViMGM5UjFFejNudTJEd001c0Z1aVZ6bGgz?=
 =?utf-8?B?Tzl0NjNGYmplelVMbzI2U0dzeEczMURMeXl4UDNnbEdBQ01BRmlBcnZBblpM?=
 =?utf-8?B?SmlxVEFXNEdZazNGRGQ5SzBac2dvNllrb0taeUxaRkpTQkN0R0tsVGlnT1F1?=
 =?utf-8?B?YVhmMGtYR1dPZXordXhTOTZmUlJKUmpGSThaWmIvaUhaZDRSYkZUbEJ6SkUz?=
 =?utf-8?B?RmsyZkk0aFh1RjJWUUIxdDQzRTdBSlFaVDkydUtLSVNldS9JNXFxNmdIcmtE?=
 =?utf-8?B?SVQwbDBYUEZSS0x0NGJtYlJkT25HVi83WVVUVVFEVzZoVER1QkJ5b1p3b1l0?=
 =?utf-8?B?T2dhN1FYRVY3dHBsTE9mdFgzQkNiYlludGRoc1AwNXcrTnpHUGZabk1OV0p1?=
 =?utf-8?B?d3FpL2Q0aUg4MUozOWpWMEwrSVMvNVhNcDVhRUlUY0VEbHFnaEJqWG5IWkl3?=
 =?utf-8?B?NjVuTU9jL0FObnFNTm4wdW9ONzlXV2lkN3RBMGtTc3U2Q3hwTjIxMnJIeC9S?=
 =?utf-8?B?WVE5ZWlvTkFzN290bkN3OVI2cE9jbTJnRjZDQVMvaE1vdE40NkJVb2FTa05B?=
 =?utf-8?B?RHNNczYvcTB4M3BhRXJWdEorTW5IMzJKaFhHRXZSa1dWYmlCRS9qaXN1ZUIy?=
 =?utf-8?B?NC9HNjlkTUJraldSNzRuTlo0bFNWWjRyL0xHUGNpV0swbzlIN0RuaTg3bUNw?=
 =?utf-8?B?MlZNeGFnK3dTWTBjRXNJUzRiM2dMQWdUbHVkZUZhcUFWR0VtQ3V0cjdJUE0y?=
 =?utf-8?B?MXVSeFQyY1ppNWpHY0FHd2ZvWGd3K1htK0RvYUVEejU5Z0FRb0Y1aC91dTF1?=
 =?utf-8?B?Z0tIeTBja0pmUlpYcExDNHd5S1ZIUk5DYVgxTXNCcHIvRUFIaGo1UEM5SDFj?=
 =?utf-8?B?dUsrMVByeXVpaklMVUtyL2dsVHVRWGhNZTVGQ3BMSS82eExWL1E2eDQzZEtp?=
 =?utf-8?B?OWhDcVZ5KzZYNGlyWXZkbC9BVGlpTEZRMjVPemtmR2tBVnMxK1pzSlF6R2NO?=
 =?utf-8?B?SW5kTm9CZzdMYmY2WXlxdnR0MlpuYm8xTFBabnpHK1I2b005c29HWDJ4ZThw?=
 =?utf-8?B?bldOMlh0TzR2NmtiS29XbHFKMmVJa2dTYUZmZHdZYzdycmhpNjhrWjJ6TERM?=
 =?utf-8?B?WFF4ODQzejdER0YvRXVmbjN6eCtrbE5GaDBaVG9FajR5Rk4wQkFLZlBCR3hT?=
 =?utf-8?B?ZVdRVERRQTVId2hVUGdWU2RsbWl6K2F3OURZUjEvS2FVZmM3Q3FwWWNhT1lS?=
 =?utf-8?B?OVhCOUcrWE1ZUExQOFUrOGVRcEJ0YzJwK1VZeXBSNENjMVN0cnNNWWVEb2Rr?=
 =?utf-8?B?eWFVU01pNlhIai9BY0pUaTBGK05oSHZjVjBYbmk1anFUZ0VNOHI4RitHcDRF?=
 =?utf-8?B?dVNkNWRPMHdTcmVQMGQ0YnNsMEwzei9iTlVGeHM4UjJLKzY0RUZzckl5WDBp?=
 =?utf-8?B?L29pWkFjWFREblVUd3JkZ3l5V0RDekRLVTBXN0U3Rmphb3lHbVF0YWs3aDFM?=
 =?utf-8?B?cmZUWnVwWUJCay8vb1hjY09rZnQ0aFdSQXZFdEV2SFZRNUNmKytPNE9CM29o?=
 =?utf-8?B?OFBia1Rua3J6VlFxUHhIWnRRSFMzdTJsTkUzVm9wK0pZKzJjYnovTnhKUnc1?=
 =?utf-8?B?S21meVh5WE9HeCtyZEJwTE4zYUpKaDgvN0lXc1g0YTJJc0IvS3FySUVCcHFj?=
 =?utf-8?Q?44M8X5gcze9VAo5wRQbil3Jf3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 801e72eb-314c-4d5a-eada-08db23afd163
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 10:43:44.3854
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hMcE/fXz1Q5+FroCsTJ1HWNUsUIzavyi8228pHpBngw+CkM9r19f66m1xQNEvwRaW4dRvYVrAt8nWZh+aq+DdQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7062

On 13.03.2023 11:31, Roger Pau Monné wrote:
> On Fri, Mar 10, 2023 at 03:32:41PM +0100, Jan Beulich wrote:
>> On 10.03.2023 14:38, Roger Pau Monné wrote:
>>> On Fri, Mar 10, 2023 at 12:06:29PM +0100, Jan Beulich wrote:
>>>> On 09.03.2023 17:58, Roger Pau Monne wrote:
>>>>> Introduce an install target, like it's used by other tests.  This
>>>>> allows running the test on the installed systems, which is easier than
>>>>> running it during the build phase when dealing with automated testing.
>>>>> Strictly speaking the vpci test doesn't require to be run on a Xen
>>>>> host currently, but that allows easier integration with logic that
>>>>> runs the rest of the tests.
>>>>
>>>> I accept that as a possible way of looking at things, but personally I
>>>> remain unconvinced of this model. To me what is installed should be of
>>>> value to users. If there was a properly separated directory where all
>>>> (and only) tests were put, I might agree with installing. (Nevertheless
>>>> this isn't an objection, merely a remark.)
>>>>
>>>>> While there also adjust the makefile to use $(RM), and rename the
>>>>> resulting binary to use a dash instead of an underscore (again to
>>>>> match the rest of the tests).
>>>>>
>>>>> Since the resulting test binary is now part of the distribution CC
>>>>> must be used instead of HOSTCC.
>>>>
>>>> This breaks the run: goal, doesn't it? If the new mode is wanted, I
>>>> think the two kinds of binaries (and rules) need separating (maybe a
>>>> way can be found to avoid duplicating the rules, which would seem
>>>> desirable).
>>>
>>> The run rule is not hooked up in any of the upper level makefile logic,
>>
>> What about the run-tests-% goal in the top level Makefile?
> 
> Urg, I wasn't aware of that target.  I assume just removing the `run`
> target from the vpci makefile would be an acceptable solution then.

I'm afraid I wouldn't view this as acceptable. I would very much like
to retain these run: goals, as I view it as important that such tests
be possible to run easily and right from the build area. What might be
acceptable to me is if ...

> It's still the user that needs to explicitly call run-tests-vpci, so
> it would better know that HOSTCC == CC before attempting that.

... the run: rune would be enclosed in "ifeq ($(CC),$(HOSTCC))". Yet
even that is fragile. For tests like this I view it as secondary to
be runnable on the destination architecture, and hence I continue to
think that if installing such tests is really wanted, binaries for
host and target should be properly separated.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 11:14:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 11:14:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509224.784576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbg81-0007YT-7z; Mon, 13 Mar 2023 11:14:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509224.784576; Mon, 13 Mar 2023 11: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 1pbg81-0007YM-5N; Mon, 13 Mar 2023 11:14:09 +0000
Received: by outflank-mailman (input) for mailman id 509224;
 Mon, 13 Mar 2023 11:14: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=koCJ=7F=citrix.com=prvs=42903c55b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pbg80-0007YG-3k
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 11:14:08 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd393ca2-c18e-11ed-b438-930f4c7d94ae;
 Mon, 13 Mar 2023 12:05:00 +0100 (CET)
Received: from mail-mw2nam10lp2102.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.102])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 07:12:39 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6874.namprd03.prod.outlook.com (2603:10b6:a03:439::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 11:12:37 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 11:12:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd393ca2-c18e-11ed-b438-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678706011;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=OA75Um56nx+YdVjvaQPGbUUWlRBmYMCoy+xyiZGn3BI=;
  b=QMkTMYoXvrB+iAQxTntj/UDMjg5kwKz1RWkCkfyjRu9OXcW9Olq6Ip0e
   QGvGS8hYxeslsBTH1sHNZB0uiVYrJA4WemQuMWC8C2PHvowi0gNBTMBjn
   /+LmtfSCjssS9mooTUcfJLAzaob6D/+Bbk0nythatss7aWhxAmDAWKcny
   Q=;
X-IronPort-RemoteIP: 104.47.55.102
X-IronPort-MID: 103007108
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:LGfP0662KTHHGT+saRNzygxRtBXGchMFZxGqfqrLsTDasY5as4F+v
 mpNXDqAaPvfajOkco90OdiypkNS68PQnIBnHVNpqH83Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS5weE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5mx
 M4RCw8XSEq6ivuW/KmZE89mh9UhBZy+VG8fkikIITDxK98DGMiGZpqQoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUooiOKF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtKT+Xgqacy0DV/wEQcBkAPTQaYhcO5tWuZcu50J
 0BN8BQx+P1aGEuDC4OVsweDiHyOswMYWtFQO/Yn8wzLwa3Riy6GAkAUQzgHb8Yp3OcmSDpv2
 lKXktfBAT10rKbTWX+b7q2Trz65JW4SN2BqWMMfZQ4M4t2mpZ5piBvKF45nCPTs1oezHizsy
 TeXqiR4n68UkcMAy6S8+xbAni6ooZ/KCAUy4207Q16Y0++wX6b9D6TA1LQRxa0owFqxJrVZg
 EU5pg==
IronPort-HdrOrdr: A9a23:HM2IdazejXH1lk5ab9HmKrPxMegkLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9wYh4dcB67SdC9qADnhPlICO4qTMqftWjdyRGVxeRZgbcKrAeQeBEWmtQtsJ
 uINpIOc+EYbmIK8/oSgjPZLz9I+rDunsGVbKXlvg9QpGlRGt5dBmxCe2Km+yNNNW977NYCZf
 ihDp0tnUvdRZ1bVLXyOpFDNNKz1eHjpdbDW1orFhQn4A6BgXeB76P7KQGR2lMzQi5C2rAr9E
 nCikjc6r+4u/+25xfA3yuLhq4m1OfJ+59mPoihm8IVIjLjhkKBY5lgYaSLuHQYsfyi81Ejlf
 jLulMFM95o433cU2mpqV/G2hXm0hwp93j+oGXozEfLkIjcfnYXGsBBjYVWfl/w7Fchhsh11O
 Zu03iCv5RaIBvclGCljuK4HS1Cpw6Rmz4PgOQTh3tQXc83b6JQl5UW+AdwHI0bFCz3xYg7GK
 1FDd3a5txRbVSGBkqp9VVH8ZiJZDAeDx2GSk8Ntoi81CVXpmlwyw8iyMkWjh47heUAYqgBw9
 6BHrVjlblIQMNTR7l6Hv09Tcy+DXGIaQ7QMUqJSG6XVJ0vCjbokdra8b817OaldNgj150pgq
 nMV1teqCobZ1/uM8uTx5dGmyq9AVlVZQ6diP222qIJ/4EVHNHQQGm+oREV4oWdSswkc47ms6
 3ZAuMQPxfhRVGebbqhkTeOHaW6EkNuI/H9iuxLKm5mnfi7WrECltarBso7d4CdWAoMayfYPk
 YpegTVCYFp0n2LM0WI9SQ5HUmdNXDCwQ==
X-IronPort-AV: E=Sophos;i="5.98,256,1673931600"; 
   d="scan'208";a="103007108"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kP4AE7QHC0gUaC/G7FMuMtlzvNxiJOe/NG96T+Ku2++OsMGA/tINZTh9+aSvTNx4od4E7+tfEYHXpud/AjDBgGBdsfcorLnnsksq2et6ll1U3C/Ta7o4WNg5/0ZBChyrD0A5DloBttBb9mJR9RM/YLxfbTfUSzg1TOF3jLb1ARBp3v98Nk1BzAi3iKikcIv+uFTW/lficeJpsuyIciTUePgwpWQ6DQdBpgzM9kBt95X86rUtvc3T8q15ryxMzfQovCtQE2y7oyMM06+e37o70ytliX9nC6qyT6PtRMTltrOxyO95mQaVRMP/H3iiXW9Q+SRWGAjXj9iqyXssD8grWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wsDL/+1Ci/4hot0VSNWmlW5T3ihkrCF77IzfkGB1Ayk=;
 b=Q5bvX0f0eqL6FxfUyGO6CMIB7fcge3JQIzY3BYw/oE0uN1DnHZu/+g2lZlUaVHjNSg1kbeFmhv0unv901EXXyNax/dC1TjtsrgxEn8hIlYvVzcaBd04JKarNGDrsNH8/H8iGFxau5TVkqspXu8Mu0ynScyXl+DIefXRlL+8x/0Mg4Pk2txbZjEKM/nA4VTNdwEH+Y/ajExf2N6aj26/Gh/8PxlYaKXhq2vwhwBzZS6jW//QtJVHUeBNbMCbYc0R/30Ju+lvIlS6AOPjwBhIuE4SPHG+fJttM3RlYqW9+I1wn2nQnPVuiTmSgBIXXK6pcZ3ijhE+NI7PhTeALIm16NQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wsDL/+1Ci/4hot0VSNWmlW5T3ihkrCF77IzfkGB1Ayk=;
 b=a+A3oDXo3XFtFVRtH5QgmdTAV9Ycr4ajlRt3VU5e4N6fRkFiYgurz4Fh8gwQjEyaF4g/KqQNgEy6CmvUzsW4buqc+dYpU/wcXPO9ItMvGt5yG2+cMwCHYBdwi1adXptQ4p6hC89iFyeGUlOI/VIW7Yt+KvZ81kjs7FEG/z1O55c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <27282d10-7c35-e7eb-5598-ead0e28c8fb7@citrix.com>
Date: Mon, 13 Mar 2023 11:12:31 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 2/2] x86/spec-ctrl: Enumerations for DDP controls
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: <20230310160238.1321765-1-andrew.cooper3@citrix.com>
 <20230310160238.1321765-3-andrew.cooper3@citrix.com>
 <e0463968-22ff-b2de-c878-63526b981de8@suse.com>
 <e1dc583f-8fdc-48d3-3c13-05be261db62e@suse.com>
In-Reply-To: <e1dc583f-8fdc-48d3-3c13-05be261db62e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0209.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a5::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6874:EE_
X-MS-Office365-Filtering-Correlation-Id: 43ab6890-195a-4db2-481b-08db23b3da20
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qXot/hh68z1wA16JclT7aJQqdBK1sqbL7Xw+e83FpST6UXmp9qpyZ30EDhTcI0l5Ca9GLUBvRAb9fT3oRVcOimBTfXkFwgo9F8Qs/hK4SRgrJxmYKA9aPBMe4b2amRtUbQY2PnZ8Cfl6CmflfOBQD6P0sg8pjHHmpsDebdkgGHilkD2JPJvX4PsDVkyRRjs8bwS3ZXiHEdPHCt+h/baYwaNLgPya3LX/DD+YxtouXfb3awQUndz2B84+kgY6B158XHim0Okyb4+zEeAJDn2QKfdlkDxAuC/UQ3jtsyEqvvpsrrxpsT+hVAzVq5pDoKQ86VjWW/tLwWrf4b10xYBnH7nnzfs4wt1OLpJUlaAvUk2WvcQrGy3Ncf3PYcBQNUXoNyHt5WxhVKPTjvLfABzl+49OwzDfbjPHUPozWGN9MgZ+UnWSkIGNP+IJKWB7awtEhp57RQfHjoh9XB9OBbUzn2+gJwkcaOXHLgo75zB9HTe5ouTYjT+eH3jXd7FVJ54lveePVgGMqvexiHCWXMmVgeL0+ABEquQNg9CU22giZid4+LMAnziTSooqKTRNe3WVo9o7cTxgf5P0U/0Y3oCgKGFDlkEr6P5P70SQ+TFl4/ZNq0MJ/D3C1FeUbY9w8kUYbpAIlV8VCg8pi0QPKi2fyFtBDtiH9fpo22ulw+dGC1jXaoHsQuUoRf3cy014YpadvrH6ZsXZlacxg0SY1+XYzna2+S1b8i9958h/awRv5zk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(39860400002)(376002)(366004)(396003)(136003)(451199018)(2906002)(31686004)(82960400001)(83380400001)(5660300002)(36756003)(66946007)(66556008)(8936002)(41300700001)(8676002)(54906003)(4326008)(6916009)(38100700002)(316002)(86362001)(31696002)(66476007)(478600001)(2616005)(53546011)(186003)(6666004)(6512007)(26005)(6506007)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WnlCd2hBVk84UHk3clgyQWU2ZzJVUFUxUUR1bERmTnRJYms4V2NyamF3TXhh?=
 =?utf-8?B?YUdYUy8wb2xqYi95Q2d4NFpocFoyRkg0cStOSnVJRGllZld3UTJscm5qL1pk?=
 =?utf-8?B?b2F5ckFaWE1tNlBGQVlEUU8zeFJ5cDlqRHBxVStSRkJuQ3A4NzBBV2dvMDRo?=
 =?utf-8?B?YldQemdiYW1wRUZxTTRKTWNOU01KTzdsZU5uTjVUNXNvTDZndEpaWVlzQVlx?=
 =?utf-8?B?bGE1ODRRMmp5YWEyQm55T0JJT2RkWGcvSTZGdmVSc01kVUJ6L3Uwc29TcnVh?=
 =?utf-8?B?am8wbW51NVFsY3RBdGM4Y3NNK01WTWI2dTB6RE9CYTM2ZVZFNWxLRWdFZmVN?=
 =?utf-8?B?SHNDcXU4MTl0U1lNd0xJY3hDMlJiR09JY3ZYcTNsLzFFRkh6UTlMUXZmYjY2?=
 =?utf-8?B?Y2FNUmZzL2MwZk9XYnFCQ1R0RTRjazVQb0hYdGJ1ejk2VDFtYUxtb0c2QWN6?=
 =?utf-8?B?QnZuVGNmL0Vtdyt6aUhMTjNoajIvYmFyTCtpY3hXVDBIQmlWc3BIWTQ4WkEr?=
 =?utf-8?B?Qmx1VXBiS0dzaXZpck5LUXJzR2RpeEdIS0xySzhycndrbkgvcTRmTXBaci9Q?=
 =?utf-8?B?cEhvWjl4TVZHNldZMHJDc1drWFJ4Rm1DWUY0M0FsS00vdkNQQittSzJJMFBP?=
 =?utf-8?B?emZzUUpCOXpVMm9zTEtnS2FneCtBa3pYYi9UdmdtbU5GMmhLcjBHZDVYRGww?=
 =?utf-8?B?T3lDMWxnQ1p5c3NvUXRrOUNlWHBtKzdWcEhLY0pkaXRpVlJPSUIzc0twT1JS?=
 =?utf-8?B?U3hXeGtiSWlSdnNyU1l3aDlCdC8vaWVLWmpTT2xHeGw3QXJzRUZIckNlUkZa?=
 =?utf-8?B?NkxOd3ZnT3I2VU9OZjlGVXYwSno4Ny96cktSNVhEYm12VFRtTVJ1dUlJc2hR?=
 =?utf-8?B?TDMrRUNrQzRCWUxpSkI1THNqQ2NkNGJvcysrQUc1VHozVjEzeVE0MUIycXBu?=
 =?utf-8?B?bWc5K2VXNnJ6SGVQbTR3WnBNc2xCSHNRc09CQUJTbnhObjI4eng2UHlqZU9L?=
 =?utf-8?B?UWV6aWFwOEJhQmtobkV2dzFKVWJuZ0x0d3Vpa1c2d1NPS21TM05tRFhFc21O?=
 =?utf-8?B?S29zc2FERjU0VU9DbHFOazh4V2pWWnpXM0xlbGFNaTNPR0tJV1FaUnBOWG1U?=
 =?utf-8?B?MlZUSWdFQVpYV1RPajI4N3BVeTFSdTBET0pmTC9xWXVSeXdwTk1BN0d3TGNF?=
 =?utf-8?B?bWd3VDliTVE3SDBWZFpQNG15QkxnVXpKcWhnNEh0NENwT1JMT0QyVXFERXJD?=
 =?utf-8?B?TUw4TE5MZ01nWjA0SVBuczdXNGZyVXRKWGZDMkFPaFk1TEhTRkVoMzZ2WTFU?=
 =?utf-8?B?RHk3TkJNS2hUM3ArMGRVV0c5UDF1eUN3SFhnbzBXSTZ2MUtNUmJUN3FoTlBt?=
 =?utf-8?B?NHBLWWYwbEtFS3NSQVNPY2ZnblZac1NtK0szUitWd1FhTThMRitLT01pMjFQ?=
 =?utf-8?B?YjgySEFKYWtCbW82M1lreXpDMWwxL0NYUTlLRzdGSVBsb2RuSEdtVjBmRUpO?=
 =?utf-8?B?KzhFUWt2UElWeHpIUEhSTVJnTVZpMXUwelVxVkFzZUc2ZisvQ1loOW0yL1RC?=
 =?utf-8?B?RVF4UzNMVXBkdFMxa3BvVlMwdFNkSnp4TU5tdWRLNmtYdmZYNW1jRWdRYTZV?=
 =?utf-8?B?U2EvUWxQUjZraDhrdlRWSkVwNnRJMC9ZWkFoZGVLZ1ArOGVhcG4yWTg0Y29B?=
 =?utf-8?B?ajlYNUhvV21tU1ZvSXRWV01LTEFvZGl4aVJKSHdRN0FmbnFFbTlaWVVsaW9P?=
 =?utf-8?B?T2ViNGZ4b1NFMHRaRTZrN1daUjkvWkduV0ZpdEZ1aU8wa1U5dWlyVUUxWWpw?=
 =?utf-8?B?cEpjMmoxL3p5NTFSeEVBWjQwTk5xdDFGZjVxaENqaGlyamlqTkkxSWt2YjNo?=
 =?utf-8?B?cWhhSDRRU0dlalVsRHBxMFA2TW9OdVFNZ3hRV2tUYU1FYk1maER3TkI2Smd3?=
 =?utf-8?B?NC9vakNRbXVsTk4vYWFZMWRzSTYvNGRUVml4Snh6QlRQamJ2U2ZpT3hVOFl3?=
 =?utf-8?B?U0JNbGxidGZaR2wzdzJXVXRyUzJKb0pMWHl1dW5vMlFYS0lNOE9PTFZKSXhi?=
 =?utf-8?B?TXFHQlA5NHcrR3dBOG84ZUYrQ1IzeWtwU09tOWRoeVI0N1JXSXdCaVVzZC9O?=
 =?utf-8?B?ZkhobHAyWkpwZmNScjlUU05neEhVeG5yQ2d5cXcyNi9UbXpYNWIxZk5MZTY5?=
 =?utf-8?B?S3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	TZRS5L8KYBY0/AxOc+wgdgesusGskgubFX1fhyLzrAzjyN46nGYWinPJftBo1uWE9BKEKSX80GURFjocUNZ+j0YvLy2/LVdzFMih0jhbcJc8tpSweyQLfteYvRVD8z8jAodcnvPAYbbNJdilF6ANIUXHMPydjcVoA61aRU7sjTBb7/JBG6p2eo3CGSyCkT521t8JO8DE0rDmAiJY2wKCQr9mUqKWio5X6jEGNWW9sXAXkzzx8bqoq2hHiNQbpbxBTzEQGT3Y+CqLrfRS9EYKHA7Xd+hA62+OrgeM0VeyfPOGr4CyjHrGfpQQtWySKZc/t9wHnfKETyPXkkcZM3+62gA7owv7xbB1b2BzeQKbv+panjPnjvLDinSbgARpu4GF5Ja+iedv+o2VprzkyMKswZ45j1Cc7FAcA+zq3n3e37qyTimsjDhTIYcaGdpj0NgsJVWIDie6nB74jJyOTX3N6SZphVous2r8hDK5DlVOSRihBX1v9kXvtkpHpBJEjDt4duZLSVulxyWbAJj9vwDf1o7Q+lf+sQPmJRZZU3jytChGCjXO2V345vSrOGbunINBjTde09um46FS+4hvBWKCsinmF04gXaLAomoK+COzCPGanTByRIlkteSDls/yaefjuSmJFDshoMZDcrlH3cYGyu20Uq2N0ZErKpooMo8+YfeWqN6wrSA7ZuSDF2MEUTMu5FX3oNs1Ol2qQD/Sm9uJ6OdivvnPonI7iRSRlkRZq3i1fVbF7fRKmP2ggHImetsfduizgu0RkCbW2p/laWeWlDVx9tkHEKvdvWyRwatyqyEwdMUz2TmvbwZPSradMhReCAiHTY4DGesTN93gM6WLDA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 43ab6890-195a-4db2-481b-08db23b3da20
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 11:12:37.1692
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NFgLcsHD5OuEDsLPmPE7JriGBJW3YpAJJNN4rn/7M6yTXCshPopg6Kpik6QqM5KLbEgvsajuyESPoOuHOQ9Pi05cZ00FpNYn4eQIzvQX3dw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6874

On 13/03/2023 9:24 am, Jan Beulich wrote:
> On 13.03.2023 10:21, Jan Beulich wrote:
>> On 10.03.2023 17:02, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/include/asm/msr-index.h
>>> +++ b/xen/arch/x86/include/asm/msr-index.h
>>> @@ -41,6 +41,7 @@
>>>  #define  SPEC_CTRL_RRSBA_DIS_U              (_AC(1, ULL) <<  5)
>>>  #define  SPEC_CTRL_RRSBA_DIS_S              (_AC(1, ULL) <<  6)
>>>  #define  SPEC_CTRL_PSFD                     (_AC(1, ULL) <<  7)
>>> +#define  SPEC_CTRL_DDPU_D                   (_AC(1, ULL) <<  8)
>> The doc calls this DDPD_U - typo, or do you happen to know that the doc has
>> it the wrong way round (and is going to be fixed)?
> Actually ...
>
>>> --- a/xen/include/public/arch-x86/cpufeatureset.h
>>> +++ b/xen/include/public/arch-x86/cpufeatureset.h
>>> @@ -295,6 +295,7 @@ XEN_CPUFEATURE(INTEL_PSFD,         13*32+ 0) /*A  MSR_SPEC_CTRL.PSFD */
>>>  XEN_CPUFEATURE(IPRED_CTRL,         13*32+ 1) /*   MSR_SPEC_CTRL.IPRED_DIS_* */
>>>  XEN_CPUFEATURE(RRSBA_CTRL,         13*32+ 2) /*   MSR_SPEC_CTRL.RRSBA_DIS_* */
>>>  XEN_CPUFEATURE(BHI_CTRL,           13*32+ 4) /*   MSR_SPEC_CTRL.BHI_DIS_S */
>>> +XEN_CPUFEATURE(DDP_CTRL,           13*32+ 3) /*   MSR_SPEC_CTRL.DDPU_U */
> ... here you have even two 'U' in the comment, when one of them wants to
> be 'D'.

Yeah, I've messed this up.  It's supposed to be consistent with the
public document (which I ought to have checked was consistent with the
non-public reference that I was using...)

I'll fix up and repost.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 11:15:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 11:15:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509228.784587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbg9J-0008AM-LB; Mon, 13 Mar 2023 11:15:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509228.784587; Mon, 13 Mar 2023 11:15:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbg9J-0008AF-ID; Mon, 13 Mar 2023 11:15:29 +0000
Received: by outflank-mailman (input) for mailman id 509228;
 Mon, 13 Mar 2023 11:15:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2EdO=7F=citrix.com=prvs=4292f2e3e=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pbg9I-0008A5-Ge
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 11:15:28 +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 18b7a8e5-c18f-11ed-b438-930f4c7d94ae;
 Mon, 13 Mar 2023 12:06:32 +0100 (CET)
Received: from mail-dm6nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 07:15:12 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by MN2PR03MB5069.namprd03.prod.outlook.com (2603:10b6:208:1a2::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 11:15:10 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Mon, 13 Mar 2023
 11:15:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 18b7a8e5-c18f-11ed-b438-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678706121;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=QAqgqIz/Q4OQsnUeo0RoPpwsCNItJFW5wG6Mt4PqacQ=;
  b=XatZvyfd+GO15f0AKvNjCRORBGpfIApHbXQD/9lOsDnRRe58uEtg1ma9
   ntTQdhA+LOUEg7hypxLyGhkjVCa42YciUGncQjEWBrp8NwakiXkqyDvju
   Fz+J8clN7T0uWw92Z5E9rWx8MVpqFWLqtQWRnDJJ5y9DkzgA3VX4bj9Ma
   c=;
X-IronPort-RemoteIP: 104.47.57.169
X-IronPort-MID: 100496418
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:BmUr/qwZJ4Aaorkk4/l6t+cRxyrEfRIJ4+MujC+fZmUNrF6WrkUCn
 zceX2nUPfuOM2XxLtFzO9m1pxtU6J6Am4I3QFBtrCAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlPKsT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KT5l9
 Oc7LCpSVDDZjr+cnYyVSPR+pf12eaEHPKtH0p1h5RfwKK9/BLzmHeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjeVlVIguFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE37eXwXKlBNtCfFG+3v4prUC9/kgYMwNMUkW8sdmho0K3X90Kf
 iT4/QJr98De7neDTNPwQhm5q36spQMHVpxbFOhSwB6J4rrZ5UCeHGdsZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluP1TM9KGYDYWoISFUD6ty6+YUr1EuRH5BkDbK/icDzFXfo2
 TeWoSMihrIVy8kWy6G8+lOBiDWpznTUcjMICszsdjrNxmtEiESNPeRENXCzAS58Ebuk
IronPort-HdrOrdr: A9a23:h8I526xpXy8PG7EYgAlaKrPw6L1zdoMgy1knxilNoHxuH/Bw9v
 re+cjzsCWftN9/Yh4dcLy7VpVoIkmsl6Kdg7NwAV7KZmCP1FdARLsI0WKI+UyCJ8SRzI9gPa
 cLSdkFNDXzZ2IK8PoTNmODYqodKNrsytHWuQ/HpU0dKT2D88tbnn9E4gDwKDwQeCB2QaAXOb
 C7/cR9qz+paR0sH7+G7ilsZZmkmzXT/qiWGCI7Ow==
X-IronPort-AV: E=Sophos;i="5.98,256,1673931600"; 
   d="scan'208";a="100496418"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IvS7vf+k+9s0H8XAsclXqNuTFx8h1mKyGunPzPP4UNKxIkpvWJAB96WiUwJhnXSaDg6EgVabUJxk8b8E5wfwdJACsSsUsaaNObM5Gx+sA8UD5t/ocw8KdJRGdsqsKhJJwggh98kArYqeOexxF0nO+hqpSPrBAxsiNdbpOOyMzD/sEQlm3fc8iChL2K67dcPF1RGhnyDLkMFAJNN0R3HVkwoDfVHBuNH8OYQYB7ev5v6/lm4cBxVAQXiwx6iQbBYkqRewyukNAkVQLn5kzeQrZnN+UgY7/C4rn2Ns3zHrcCkcEnZjVNagez+pC0zEC/AdPnnAxwNlmqPqeOr2vXO/Rg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vRtikbcNYxFdn9wOyJ4nwC8JE2eM3drG6mlMS0sPN/M=;
 b=cLcdnGSUIbm2ho11AtZIGKle7lcG9bvqUdqMFoJbe3bKi77WlPKpWr02rjLbYi+Z/HdvX5p/BUBQSlL1kHHRn24SZHNMjDpxjW3la0jzB0NvpvAkDPZqkCm0LkNDlhubQhJOpVbM8SCTPvhEVUA3rAC3jGzlvvIB5O4n6VOzqox4cE0l7ccdsSqfAY/K+1zEvOzrY5TGByNF6iov2eW0pplmKRUBu3896ONNTdbl8D63yyffFZIlWws4pr8xLMvBpm/idHpx9n17U1IHIZpklKGT88vqDoRsxWaMkIdHqBVp2k2Ndrh1RThY/kQG7Zh6u0j78dY0DYfO/8MaXZaRjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vRtikbcNYxFdn9wOyJ4nwC8JE2eM3drG6mlMS0sPN/M=;
 b=Y0kxeCSW1D67WKShqORKHfeIei3SSjsh1Mif9/4dBNT2Tx7BW7Rze24FoUJ/UX4QSd9TTUa4gKhKgAnSiEVVrdW6Ab04eQaZG0RBzlg9hOuxEFpmg1Kmln7IPSnjcuaYancqSB6xiYqaoitnTZdfAEXM8UdM5r+g5givFAQYHBE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 13 Mar 2023 12:15:04 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: andrew.cooper3@citrix.com, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] tests/vpci: install test
Message-ID: <ZA8FuNP8A3lPxSMr@Air-de-Roger>
References: <20230309165812.33918-1-roger.pau@citrix.com>
 <f2c7a5db-80d3-a89b-dff5-250eb18bec14@suse.com>
 <ZAsyxw6VvQHYrksG@Air-de-Roger>
 <29c3e26e-e6b2-1b2f-b442-d468d8abb505@suse.com>
 <ZA77aJM7/6dhu5F1@Air-de-Roger>
 <9833177f-9dbc-4f19-a892-14b63629a91c@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9833177f-9dbc-4f19-a892-14b63629a91c@suse.com>
X-ClientProxiedBy: LO2P265CA0472.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a2::28) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|MN2PR03MB5069:EE_
X-MS-Office365-Filtering-Correlation-Id: d3c49cf9-23f8-44e6-e417-08db23b43546
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8A3q6Gj3lOtinjA5nNwWhPUrZqLfBeBWJq/30YH9COHmrOA3km3dR3/Df+FMGXZmWauvfnknrk7ppgUUF3tfaR9am1y6YEjhKqDBcl9irZMwuooy7wb/LOyKrv0BgkbxHC0RmuK4URKZN9tzLw/zQL91348Ie8+t73ADoaCp92PbTXVxKvfJIdRLCHBX/IPFoQ9SM+hmosm4oiO49Ofl+53gJusoMnfo8KJEdtiIrKawoLdExNNdJrIVrHI5kk7VtQRT2fUKUI+I2roiMdie1HRwo85UEGKS/OxZwDi8n2SwtaJEEnQIkQfntxuHpAc5AL49f/SkjQN8U2HN8JLUReUGW/FaVqFQDQbLetrL+wExiHXPvyKUOWTiQ6Hvci89uDakeX4DpRibrB/Tt4mi0yh+T5jUkn1tJbI7pmj+1WA+F/TeTiOGpCg7MNc6kZ5YXDOUhu2rm3qzBWV5PdIntorXZ702XT7fPhDS+kyvZ8uXlx1bLH7lf2ecR8TRd/oDtrtug3GLBN9Ic+7DxSfHGa4A8AYRDPrT7W0076wZNFfLpevhPcQLIx+daIGcgN8Son3IiMOwaUR3zW9PVi5XjIqe7C0/NtA9Z+6NoJi/izulpQpW0cMxMF4tf7rKu/27gdhYJxj7459RsPoI1L/8PA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(136003)(396003)(39860400002)(346002)(376002)(366004)(451199018)(86362001)(38100700002)(33716001)(85182001)(478600001)(66476007)(8676002)(6916009)(66556008)(4326008)(66946007)(54906003)(316002)(26005)(53546011)(186003)(6666004)(6512007)(6506007)(9686003)(6486002)(2906002)(82960400001)(66899018)(5660300002)(83380400001)(8936002)(41300700001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QjFEL0EvaW1KUytIMVlrZW5hRmlpRFVETGZ5V2VEVzFDeWlUK05OaW9kM1JZ?=
 =?utf-8?B?eStvZHlmcm5oYUN3WThvMjA0Zzlvc1haTGhuMFBSNTNZYmtxbjZibERCUzUw?=
 =?utf-8?B?QlhuV3l2Sy80U2NnUGZjNWo3c0NxeHNLTnlEWlp2REVKWTlHRUhITjdzdDdV?=
 =?utf-8?B?dWh0SnZ2dnMzMThRYWZSZGwwZUxRSnozcWVMMllXdkttUHM1MDEvS0wyKysr?=
 =?utf-8?B?bmJpdUhSTnM1K0RkeC9rd21WMDFGWlhkNEd6L1dWNGpyWVR1V0tpTEdoZnV4?=
 =?utf-8?B?K0hmLzJObDZwMmFZWU9pUm1wMGJWWlpZK3BveUZVcVRHb29MSDRGaUlTTGxK?=
 =?utf-8?B?RVpiZXU0SkRQL1FnWWtrN3VuL1RNYklENGROTWh1b2ZWU2pML3pDV2tnRTlN?=
 =?utf-8?B?UnlMNTN2WkRuMENWa3JGMVhiTlExOGkxL1RmTTV6dW1zbER4TFNSclpwa2Fl?=
 =?utf-8?B?djE4K21xdGdvOE9ud0RPRVhOcEhoOFB4UEgzSmN2UDQvWjMrVnZpUEhIU3lD?=
 =?utf-8?B?djhPMXdxVWpCcFRQSk9XUllTWlJES0ZMbVd5Vmk2ZU1kc0NkbTdlOWlZQ0tW?=
 =?utf-8?B?Y3VtNHB3STQrZnpmdjI0WHRkd0FYSlpNNnBoQzM0Q2Urc1VFUzIxMXZ2VlNp?=
 =?utf-8?B?ams1d3Q3SDc5Z3kyQ1FUd01kS0lFN3dKK3JNQW13MnAxYjJVUjEwdVY5b1dB?=
 =?utf-8?B?WmNFQnQrb3pPR08xZ0FsRHk2OWd5V3BVanU2bmcwMjBpM0diaG5icEIzbGky?=
 =?utf-8?B?TDkxUjJycnYxQnVRdkcyQTUzNWZyK0FyNmt1dGdaUmtrNlZhdjM0Ylcrd1NS?=
 =?utf-8?B?SzZkWURES29TZjM3NHNYUlRsNEtTZUdjaWlMNjkzK1prUUtpcmRxcVRNc2Iv?=
 =?utf-8?B?b1YrMWxGRHpnblB0S01pckFzZXpjNVFZdEF3SWxKTTFHSTVvV28yaGhmY2dN?=
 =?utf-8?B?elZNQ1ZDSWEzWTdwemN3MzRRbnQ0Mi8yV2Qwc0FtcTZsbmRLQ1FmcVlPRU5S?=
 =?utf-8?B?eWZMU2NyZm04KzBOQ3YyV1pnVHR4TTZnaU82STN0MGJubnBXbng4QW1jelFa?=
 =?utf-8?B?V1YzTHNybnRiMnVjUll3bU82NENteldEbUgzMnNIS0gyOVdpSi92bzdrMFZP?=
 =?utf-8?B?WWVQVVN5QW0yRFJ3ajVESW9qNjNJT2l4M0c4Vmx0bUNRV1BSSHU1VXFlQjlV?=
 =?utf-8?B?cDFldW5ObjRIanJCZjJ6b3EvZnBxV3p4WjZ4NVFRZ2hrWDZQUElSeTB3ZG1Q?=
 =?utf-8?B?SnY5TGMxSHJpZkEwQ2lXQlFJczIrc0gyZ0xpWkpadVZ0MWxqTHlRSVp1NVZ6?=
 =?utf-8?B?UXhWL0g0R1VPcDFHNnAxZFlnWFFPQm1TYzhoWUZndkQycXVwTDlndTNjbnN3?=
 =?utf-8?B?M2V4VHNEU2c1U3BLMk5velhseDRhZWZTQU1nUXRlSld1eTV2T1dSeGM4OEQr?=
 =?utf-8?B?MmNpdFRNMDRkVWl6em01U1hXSzkzTVFMRU1hbUxXMytMY3BEMnQ2VDYwb1h4?=
 =?utf-8?B?a3JrTzc3YXJmaXdUMnY0WnhOQ2NLOHVFOTJkMGJqbngwK0dBN1dTWW80aU8r?=
 =?utf-8?B?YVArRml3dnlaNTBoVEprZHpkNytNOUhVeVFwK3pUWCtwbk1hTzRFb29LYlpq?=
 =?utf-8?B?ZWRUVHl0UXBEYzVKVDFRd2tTTG9Zd3QzY3JyamQ4U3pXTTdvYjJhdTViVDhv?=
 =?utf-8?B?d1hJT3RJRkxuZDBra0Y4cHNQTC9PbUt6TzBHN1lBTklMTXNVVXFLTVdvMUVY?=
 =?utf-8?B?VmlQbjZZVllPR3BXT25PSitYOXlGNmV1U2VaKytLMWs0SldPYmhwVDlsSmZt?=
 =?utf-8?B?bGdkak01aFVBZ1NObWE0N2lmU2F2R3R5cEo3dmk4eHpNZDhETjRseGtaWExy?=
 =?utf-8?B?dEtQRU4veUUyQ1JhcmI2MUQrSnlUYjBGc0VFS1RxbGZlYXNtaWRPa2ZmZmFP?=
 =?utf-8?B?emxxakl1RG1VZ1dHWDliSnpLMTlSeFIvaHRNUkw1cHM1RExEVkdCZFB0U0ZP?=
 =?utf-8?B?aS83aHhTMmN0bEVTb0ZMMnorZTFtZWd0cEQrWFV6VThqbWx3UFNIV0swSkNu?=
 =?utf-8?B?di9kOExRdldaUStJQ3dWOXpGamNBMzZqVVQ5QnRMUXExb3NGRVM3Z3gzS2pz?=
 =?utf-8?B?VG9WU2tmMzMweURLWnF5QWFWVk04d28wU3NMdUNBUU16NUFHNE5ZMkV2Z2lB?=
 =?utf-8?B?YVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	edcQRC/JPLJVRzy5jwmqUlbVBEFr4TDU73PlWSSSq/PMAjQCUJ1mW2q0PvaiF3Xpin637gAPMok8lWrEX1DiStYZVwc8z9CMGhpdw4kBzkEqXBko48o4b0elY951VqWKX5NsE/rhNkjB+f1oFSzm2P2rxK1r50JNSWQEu0hH/sFIR5wOU0huqjV2U0Rg1vaF7iRTMzXepqHo6GkyC676hbyh/FrB4ZPq3xR1NmAwFKqel9z388MzGcmmNFCOwjoPzynF7+NOLadhr5bJYMM71BdYVPbEc9xxJU2lC6w+8q7GvjIHvUSSnz46U8bPNjPU8SUoFAvnkfjp9dnATtR9fW6akM1tITKwyfDB/AutK9S0UX1ADdr7nWjMGtxmgasftYQv9IV/N18eqTe0Wz3DQsSoFkW67+CGPy9mRRJgwy6I8ckTFwdTYSIlDaArqSEJ8gQok6BPhEgC0bR8FEzMB6z2Tfko/5wt15EkS9L1K45h1RqwZika9d2bQ9KxGkSdeuihNAA7XmuBwiICc2K0RS1uebZ1QP2wP59xBw+NHjhXGLTB0XnEZIE9EdZdgnaT0IkCnExTXR7WEXpZA6WkhIt/X5vpruhm9D+8E+35cEBFcTj9yhOq84ROXSvxJ6FbsSkHwlAxu1dec8Fi6aVMNphwqbah+MXAVI8Hy3vom3bOpF2LFgivD84gLTjgVlfkvq+KnC/E+gWPUrVT0PRs8znHBiz7bVy9Nw08NlLUNnDyLiYbRjbs6cU6Tl1jnDtSRQu5VdMCpIwsMviwQGSszgqwSuj0eRncvrEeTfCzxlfIwjjz8pxaeziNN6IRGUrTToIRBcYFST/CBXPqP33bCQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d3c49cf9-23f8-44e6-e417-08db23b43546
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 11:15:09.9543
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: y7KlYAbmKuJM0K4KP4laNu2nv6fXsAO1jEc7we1o39Vked+7sJUGkU2EwZ8onPlGChOeDREPvBWKC0VX+H806A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5069

On Mon, Mar 13, 2023 at 11:43:43AM +0100, Jan Beulich wrote:
> On 13.03.2023 11:31, Roger Pau Monné wrote:
> > On Fri, Mar 10, 2023 at 03:32:41PM +0100, Jan Beulich wrote:
> >> On 10.03.2023 14:38, Roger Pau Monné wrote:
> >>> On Fri, Mar 10, 2023 at 12:06:29PM +0100, Jan Beulich wrote:
> >>>> On 09.03.2023 17:58, Roger Pau Monne wrote:
> >>>>> Introduce an install target, like it's used by other tests.  This
> >>>>> allows running the test on the installed systems, which is easier than
> >>>>> running it during the build phase when dealing with automated testing.
> >>>>> Strictly speaking the vpci test doesn't require to be run on a Xen
> >>>>> host currently, but that allows easier integration with logic that
> >>>>> runs the rest of the tests.
> >>>>
> >>>> I accept that as a possible way of looking at things, but personally I
> >>>> remain unconvinced of this model. To me what is installed should be of
> >>>> value to users. If there was a properly separated directory where all
> >>>> (and only) tests were put, I might agree with installing. (Nevertheless
> >>>> this isn't an objection, merely a remark.)
> >>>>
> >>>>> While there also adjust the makefile to use $(RM), and rename the
> >>>>> resulting binary to use a dash instead of an underscore (again to
> >>>>> match the rest of the tests).
> >>>>>
> >>>>> Since the resulting test binary is now part of the distribution CC
> >>>>> must be used instead of HOSTCC.
> >>>>
> >>>> This breaks the run: goal, doesn't it? If the new mode is wanted, I
> >>>> think the two kinds of binaries (and rules) need separating (maybe a
> >>>> way can be found to avoid duplicating the rules, which would seem
> >>>> desirable).
> >>>
> >>> The run rule is not hooked up in any of the upper level makefile logic,
> >>
> >> What about the run-tests-% goal in the top level Makefile?
> > 
> > Urg, I wasn't aware of that target.  I assume just removing the `run`
> > target from the vpci makefile would be an acceptable solution then.
> 
> I'm afraid I wouldn't view this as acceptable. I would very much like
> to retain these run: goals, as I view it as important that such tests
> be possible to run easily and right from the build area. What might be
> acceptable to me is if ...
> 
> > It's still the user that needs to explicitly call run-tests-vpci, so
> > it would better know that HOSTCC == CC before attempting that.
> 
> ... the run: rune would be enclosed in "ifeq ($(CC),$(HOSTCC))". Yet
> even that is fragile. For tests like this I view it as secondary to
> be runnable on the destination architecture, and hence I continue to
> think that if installing such tests is really wanted, binaries for
> host and target should be properly separated.

vpci test is special in this regard when compared to the rest of the
tests that do make use of the hypercall interface to a degree, and
hence are not expected to be run from the build host as they require
to be run from a Xen domain.

I think the benefit of having the test run part of XenRT is greater
than the downfall of installing a test as part of the distribution.

I've added a guard to the `run` target in order to check that HOSTCC
== CC, hope that is enough.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 11:17:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 11:17:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509230.784597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbgAu-0000G3-0M; Mon, 13 Mar 2023 11:17:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509230.784597; Mon, 13 Mar 2023 11: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 1pbgAt-0000Fw-Tm; Mon, 13 Mar 2023 11:17:07 +0000
Received: by outflank-mailman (input) for mailman id 509230;
 Mon, 13 Mar 2023 11: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=++h+=7F=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pbgAr-0000Fo-Ua
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 11:17:06 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20630.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 954bec23-c190-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 12:17:04 +0100 (CET)
Received: from DBBPR09CA0042.eurprd09.prod.outlook.com (2603:10a6:10:d4::30)
 by AS8PR08MB9887.eurprd08.prod.outlook.com (2603:10a6:20b:5c0::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 11:17:02 +0000
Received: from DBAEUR03FT065.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:d4:cafe::28) by DBBPR09CA0042.outlook.office365.com
 (2603:10a6:10:d4::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.25 via Frontend
 Transport; Mon, 13 Mar 2023 11:17:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT065.mail.protection.outlook.com (100.127.142.147) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6199.10 via Frontend Transport; Mon, 13 Mar 2023 11:17:02 +0000
Received: ("Tessian outbound f2a8d6d66d12:v135");
 Mon, 13 Mar 2023 11:17:02 +0000
Received: from b02135f31935.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 91952E7E-3B3F-4E0C-BD57-E84E318393F2.1; 
 Mon, 13 Mar 2023 11:16:54 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b02135f31935.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 13 Mar 2023 11:16:54 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 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.6178.24; Mon, 13 Mar
 2023 11:16:47 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 11:16: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: 954bec23-c190-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UXGO5LtLEFJ0BnNEuxxu8xn4i5xN0ewJgLyoXXTF3lk=;
 b=b8PSvfoGugf07H0hJBAFWDmCmR7UIEDrWMJgsJHNcBQ8VX0NG81lishgmQwnolqrNK8W+wWNz80Rb2yXFrEVzc4vcVsvl65Hd03saBaIAh9ycZTgxDwFGMydpXdCJ36cZPjlbA+L5zPpxCzEUCe0FkdpCw21MfTqRELWeQOrmWM=
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: b3f8ce84ae766d45
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HbE3jdN33ixsjONiBVZiql7H7PaCWpofE5jklsspqxWGNlVh3EANh1aGEGdfbXRmKT96lYRrJO0tPR9RRQSYSK/FVi0EPzCqC1uQWexkksl5YFbKm5UZF2XzOa3TjxjeJinZcFWRiPyxAVG6i/HZ8Wb1p9c6781fB7LDVzWjJ6+x9hnLiEZLKrHHH/RtyTvrUWqZi/T9gxqZZl8+AtAd8B0lVeu0Q5M6yjJiKVHWpdMzQPPsr2PJIuI6YEK8T0casKYNnLhYabXiXPUAHfOjPamJX1LoV+qB4kxYuosttT2wfG9kEXa9SPxtVOWq/9WfTdzJb7+GTNbC/qn3nGnRuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UXGO5LtLEFJ0BnNEuxxu8xn4i5xN0ewJgLyoXXTF3lk=;
 b=g0QJ0nCryjZLEWbncqxYRp8IK3MbDmbU4iVqZHo2RF+INa071GImt1yq0BO7caO78E3rES69wjEYQt43tBuDeVjCKoKpFz2EQOYul906oiaP2ELuho6zGi8PSvUaSvX4sSjM3qT6TuXmVQSeRj3cXjM/MMUL4HyBqXnXELWh68+4L+uWEy5yA4eH/5eimhy56kucil63w/F+bY1duoDgJzh9dZ+AciyV2zk8dxzsMhEM/kylOqljbI1/hZNNu9/IyZ3jgikmvn9oA3/jxQx7aBC2+AgMbgQbc3+k+I8mS9NVscTwpfwTgeC6r4rbOAY2Yke6teVyuc2x+uob5leFVQ==
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=UXGO5LtLEFJ0BnNEuxxu8xn4i5xN0ewJgLyoXXTF3lk=;
 b=b8PSvfoGugf07H0hJBAFWDmCmR7UIEDrWMJgsJHNcBQ8VX0NG81lishgmQwnolqrNK8W+wWNz80Rb2yXFrEVzc4vcVsvl65Hd03saBaIAh9ycZTgxDwFGMydpXdCJ36cZPjlbA+L5zPpxCzEUCe0FkdpCw21MfTqRELWeQOrmWM=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 19/20] xen/arm: ffa: add support to reclaim shared
 memory
Thread-Topic: [XEN PATCH v7 19/20] xen/arm: ffa: add support to reclaim shared
 memory
Thread-Index: AQHZRtMg5h4PCXGu8UaP4SH7Bu6xrK74rOYA
Date: Mon, 13 Mar 2023 11:16:47 +0000
Message-ID: <A1EC648D-422E-468F-B9C0-E54673958C93@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <6dda7c17462221fac26f45a8663370952e37040d.1677079672.git.jens.wiklander@linaro.org>
In-Reply-To:
 <6dda7c17462221fac26f45a8663370952e37040d.1677079672.git.jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|AM7PR08MB5431:EE_|DBAEUR03FT065:EE_|AS8PR08MB9887:EE_
X-MS-Office365-Filtering-Correlation-Id: 1bb9cda9-67bf-48e7-8883-08db23b47859
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:
 S2TFXamRSoaBq/Z08eyHf0GofVDnX7ry6lZ0ZrGLJtYCX6TleU1jCaWHGy/SZB+IyDdsVKTrQJuh2h1ZOe1pIfMOXo4fNAKE1ELO19nnQ2i0/sdQkEKNSZno6lw3U+Z3Csox1K2LEoBiDYI/IWn7aBjPB3E11Mrvdvy8lyPH1HjOhNDfvMO6QgGPTi7BTq29jnr4Q0TKYG4R/Enq9qy8RCBf0mis9GY13UQHzNLU6l4uZZasAxxXvyINz/pabuHLQlrC9Pm/FWfWv1Knuswkhhe2ZJ95fTITEdNcuPij39GY4X//Vi5Sa5XeoXrr9Ivyvo9ZLSyQ7GPi02isn/rR7uyU7TgLOmVsVRr6KpqCmkXxquSRMKHIik1PUG5hReTRx/2mfGJDq8i7UwhtFDkSvcEEJgoPwdWtMni60jL61TgM/wbqu+TczApOw0EyYBI19mdvIshv1HenmV2MAYCXkBbaY/OfnyFYcKjNU2Zc64z0slTNOPNHh5EpCfIcQj77wo2Mmyx7/eSGvAdaMatTBs+zoZnJrHWdVvuPevFrCqkLo/T/ycqHZ7cpgjOpOkWhUK40x5zV87DicIM3T8/7a2mNbT/KY53w8SRJf+A7Rlq1FAJCsqlk2ikqc8MlyEiFObD7DXT47WtJ4Ndhkm9/OL2h1wOTpc97kuTNaepZGXni//R0qdwtPMn9+W/r3mkAetAUWu2SdjCBvox3xQcoogOV8xD/7+tCZrAl21q8/1s=
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:(13230025)(4636009)(346002)(376002)(396003)(136003)(39860400002)(366004)(451199018)(2616005)(186003)(6512007)(53546011)(6506007)(83380400001)(8936002)(38070700005)(38100700002)(33656002)(5660300002)(6486002)(64756008)(66556008)(66476007)(91956017)(8676002)(4326008)(76116006)(71200400001)(6916009)(66946007)(41300700001)(66446008)(2906002)(122000001)(478600001)(316002)(54906003)(36756003)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <78D7B178D696A04393DD4A8BEDB791C0@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5431
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT065.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	31ada8d0-73e9-40e6-75ee-08db23b46f64
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k51FjHn67r4B60NiuSWPa/Ds7LXh+xLTZwIp87p6w0qLDwnWRIG2pyix8UUKkEpTFcCaMOeYUBbw6fyMrzkkw2zvMby0luMA4cRCMOVmCJ4PO7hG1YzD+vaSlFtvIOfSVLwIYOJYY8WkR1HW7gJvs05RhYr/jdg3OCzIWggdLbLPec9GYq+rsZDc8WV9FaJjxvJQRzkNJ4Uj9iED0B+G4BEn5CjyATU/r2DTo8Is5wOG0Uvr7JTyya+rjXK58Un85yqyj8ZWQnd3wvMqX+6/dg+vacmQQBNEfhXPriV89PV1K8cr5FKpF7SNKXXuBgv0SwScIMejUL/N9ZHXrYSV00UFQaZchkJ+VeeNSxmCZ3DHM5y0mCYMtbPjr4lTfQymR1a7DK6zpPOxX3hCx4PYrVX9Jxa12UY5vvXG/gHIXL9HoV7REq7MG2TJDl+YXplF3TUmfZI54HFHRmoF4aV2cA2tQqZ8i3hcpTimvqkrltH2xStd5VE59v1G+cqixEWnv23DkNINPPBJBs2zkQtRQ/4dWg0QYZka+PF+6mRo11aJpUm6agmp3WhTu+cpC5z1NdPITpWqkUM9Fc5DFp8vejya0s4pq+pGJYAakpf2Af2LQci1eF4Th/41Qm21IUMKs9fWav4AhafBc1HEQNwk+g2vqo3GamwTSGaKm+Ts8zgHEqIkjv5GaoBQbO6/P2Flvc4vyni7Tozchemg5u3oig==
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:(13230025)(4636009)(39860400002)(136003)(396003)(376002)(346002)(451199018)(40470700004)(46966006)(36840700001)(40460700003)(53546011)(41300700001)(8676002)(47076005)(4326008)(70586007)(6862004)(5660300002)(70206006)(83380400001)(26005)(186003)(6486002)(8936002)(6512007)(6506007)(54906003)(336012)(2616005)(478600001)(316002)(356005)(36756003)(33656002)(40480700001)(86362001)(82310400005)(82740400003)(36860700001)(81166007)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 11:17:02.3119
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1bb9cda9-67bf-48e7-8883-08db23b47859
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT065.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9887

Hi Jens,

> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Adds support to reclaim memory previously shared with FFA_MEM_SHARE.
>=20
> Adds a check that the SP supports the needed FF-A feature
> FFA_MEM_RECLAIM.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Just one thing: we need to discuss what you do with the feature check becau=
se
i would expect to return unsupported if a feature is not supported but inst=
ead here
we make it mandatory for all features we have to be supported to have FFA w=
orking.
I am not convince that this was the aim of this and we might need to distin=
guish between
features we do need to do something and features which would just make some
functionalities not available.

I will try to check how other implementations are handling this.

Cheers
Bertrand

> ---
> xen/arch/arm/tee/ffa.c | 53 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 53 insertions(+)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index cdc286caf62c..3557edc455d0 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -512,6 +512,12 @@ static int32_t ffa_mem_share(uint32_t tot_len, uint3=
2_t frag_len,
>     }
> }
>=20
> +static int32_t ffa_mem_reclaim(uint32_t handle_lo, uint32_t handle_hi,
> +                               uint32_t flags)
> +{
> +    return ffa_simple_call(FFA_MEM_RECLAIM, handle_lo, handle_hi, flags,=
 0);
> +}
> +
> static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
>                                       uint8_t msg)
> {
> @@ -1238,6 +1244,43 @@ out_set_ret:
>             set_regs_error(regs, ret);
> }
>=20
> +static int handle_mem_reclaim(uint64_t handle, uint32_t flags)
> +{
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +    struct ffa_shm_mem *shm;
> +    register_t handle_hi;
> +    register_t handle_lo;
> +    int ret;
> +
> +    spin_lock(&ctx->lock);
> +    list_for_each_entry(shm, &ctx->shm_list, list)
> +    {
> +        if ( shm->handle =3D=3D handle )
> +            goto found_it;
> +    }
> +    shm =3D NULL;
> +    ret =3D FFA_RET_INVALID_PARAMETERS;
> +    goto out;
> +found_it:
> +
> +    uint64_to_regpair(&handle_hi, &handle_lo, handle);
> +    ret =3D ffa_mem_reclaim(handle_lo, handle_hi, flags);
> +    if ( ret )
> +    {
> +        shm =3D NULL;
> +        goto out;
> +    }
> +
> +    list_del(&shm->list);
> +
> +out:
> +    free_ffa_shm_mem(ctx, shm);
> +    spin_unlock(&ctx->lock);
> +
> +    return ret;
> +}
> +
> static bool ffa_handle_call(struct cpu_user_regs *regs)
> {
>     uint32_t fid =3D get_user_reg(regs, 0);
> @@ -1305,6 +1348,15 @@ static bool ffa_handle_call(struct cpu_user_regs *=
regs)
> #endif
>         handle_mem_share(regs);
>         return true;
> +    case FFA_MEM_RECLAIM:
> +        e =3D handle_mem_reclaim(regpair_to_uint64(get_user_reg(regs, 2)=
,
> +                                                 get_user_reg(regs, 1)),
> +                               get_user_reg(regs, 3));
> +        if ( e )
> +            set_regs_error(regs, e);
> +        else
> +            set_regs_success(regs, 0, 0);
> +        return true;
>=20
>     default:
>         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> @@ -1508,6 +1560,7 @@ static bool ffa_probe(void)
> #endif
>          !check_mandatory_feature(FFA_RXTX_UNMAP) ||
>          !check_mandatory_feature(FFA_MEM_SHARE_32) ||
> +         !check_mandatory_feature(FFA_MEM_RECLAIM) ||
>          !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
>         return false;
>=20
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 11:20:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 11:20:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509234.784607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbgE0-0001qf-I9; Mon, 13 Mar 2023 11:20:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509234.784607; Mon, 13 Mar 2023 11: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 1pbgE0-0001qY-Fa; Mon, 13 Mar 2023 11:20:20 +0000
Received: by outflank-mailman (input) for mailman id 509234;
 Mon, 13 Mar 2023 11:20:19 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=koCJ=7F=citrix.com=prvs=42903c55b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pbgDz-0001qR-Ee
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 11:20:19 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab8446dc-c18f-11ed-b43a-930f4c7d94ae;
 Mon, 13 Mar 2023 12:10: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: ab8446dc-c18f-11ed-b43a-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678706410;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=67OWnwS34MgfQt83HCGPgJaLKWxRyvppj6BXjQn6ki8=;
  b=KlNKrdZ5ePXJsxLE3AHWcQDzi0Csv2cUubdR3FTNpqmPY+RTZEbZLGU9
   fJCi5FdBjEN/vLeAkoUHLnvSYVZ4wYZFflceVuD5kxkRrNC5g6TEtw1TO
   7Uy+iq/idi2fnIJxpJ0/jpnZgHZ+EfvjuohYVxaFlzXRWt0N7fvYgQDy/
   U=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100592826
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:jQWqGqPQqfQZRS/vrR2ul8FynXyQoLVcMsEvi/4bfWQNrUon3jwPz
 GAYDTjQafqKYGf2L4twaIuz9xhX6J6Az9I3GQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5wdmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0t5OLEF35
 cwbEgwudx+cuu+J65yabuY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w2Nk+ojx5nYz/7DLoXmuuyi2a5WDpfsF+P/oI84nTJzRw327/oWDbQUoXSHZgExBbC+
 Aoq+UzlHxU1DfXCxgGf91C0jfXghy7aQYM7QejQGvlC3wTImz175ActfUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxasvBQRRt5RGO0S8xyWx+zf5APxLncAZi5MbpohrsBeeNAx/
 gbXxZWzX2Up6eDLDyvHrd94sA9eJwAtFEIiXD80TjE5wMDsv7w+sTnhb/JsRfvdYsLOJRn8x
 DWDrS4bjroVjNIW26jTwW0rkw5AtbCSEFdru1y/snaNq1ogOdX7P9DABU3zt64oEWqPcrWWU
 JHoceC65ftGM5yCnTflrA4lTODwvKbt3NExbDdS83gdG9aFoSHLkWN4umsWyKJV3iEsKFfUj
 Lf741852XOqFCLCgVVLS4ywEd826qPrCM7oUPvZBvIXPMchKlPZpX8+PxbPt4wIrKTLuftjU
 ap3jO72VSpKYUiZ5GPeqxghPU8DmXllmDK7qWHTxBW7y7uODEOopUM+GALWNIgRtfrUyDg5B
 v4Db6NmPT0DCryhCsQWmKZPRW03wY8TXMCr9JMMKb7dfGKL2ggJUpfs/F/oQKQ994w9qwsC1
 ijVtpNwoLYnuUD6FA==
IronPort-HdrOrdr: A9a23:MTEUL6mnLIjdqYgOKQsw6zh7qh7pDfL73DAbv31ZSRFFG/FwWf
 re+8jz8SWE9Qr5OUtQ4+xoXZPuL080mqQFg7X5UY3SOTUO/VHYUL2KrrGSswEIeBeOjdK1t5
 0QCpSWU+eAfGSS5PySiGLTfrpAoKjlzEnrv5an854Hd3ANV0gP1XYcNi+rVml/RAxHApR8MZ
 qH+6N81kmdkGwsH7qG72c+Lpf+m+E=
X-IronPort-AV: E=Sophos;i="5.98,256,1673931600"; 
   d="scan'208";a="100592826"
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>, Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>
Subject: [PATCH v2 2/2] x86/spec-ctrl: Enumerations for DDP controls
Date: Mon, 13 Mar 2023 11:19:46 +0000
Message-ID: <20230313111946.1436477-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230310160238.1321765-3-andrew.cooper3@citrix.com>
References: <20230310160238.1321765-3-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

https://www.intel.com/content/www/us/en/developer/articles/technical/software-security-guidance/technical-documentation/data-dependent-prefetcher.html

We should offer DDP-CTRL to guests, but I'm not sure when it is appearing in
hardware, and it's not massively urgent - the DDP behaviour is mostly sane
(having been designed in a post-spectre world) and this is a just-in-case
control.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>

v2:
 * Use DDP_DIS_U for consistency with the other bit names.
 * Fix ordering/typos, expand commit message.
---
 tools/libs/light/libxl_cpuid.c              | 1 +
 tools/misc/xen-cpuid.c                      | 2 +-
 xen/arch/x86/include/asm/msr-index.h        | 1 +
 xen/include/public/arch-x86/cpufeatureset.h | 1 +
 4 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/tools/libs/light/libxl_cpuid.c b/tools/libs/light/libxl_cpuid.c
index 1d4e8a6b0067..968635981086 100644
--- a/tools/libs/light/libxl_cpuid.c
+++ b/tools/libs/light/libxl_cpuid.c
@@ -242,6 +242,7 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str)
         {"intel-psfd",   0x00000007,  2, CPUID_REG_EDX,  0,  1},
         {"ipred-ctrl",   0x00000007,  2, CPUID_REG_EDX,  1,  1},
         {"rrsba-ctrl",   0x00000007,  2, CPUID_REG_EDX,  2,  1},
+        {"ddp-ctrl",     0x00000007,  2, CPUID_REG_EDX,  3,  1},
         {"bhi-ctrl",     0x00000007,  2, CPUID_REG_EDX,  4,  1},
         {"mcdt-no",      0x00000007,  2, CPUID_REG_EDX,  5,  1},
 
diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 4f4261f4aa95..868054ab96a6 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -216,7 +216,7 @@ static const char *const str_7d1[32] =
 static const char *const str_7d2[32] =
 {
     [ 0] = "intel-psfd",    [ 1] = "ipred-ctrl",
-    [ 2] = "rrsba-ctrl",
+    [ 2] = "rrsba-ctrl",    [ 3] = "ddp-ctrl",
     [ 4] = "bhi-ctrl",      [ 5] = "mcdt-no",
 };
 
diff --git a/xen/arch/x86/include/asm/msr-index.h b/xen/arch/x86/include/asm/msr-index.h
index 7615d8087f46..fa771ed0b50f 100644
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -41,6 +41,7 @@
 #define  SPEC_CTRL_RRSBA_DIS_U              (_AC(1, ULL) <<  5)
 #define  SPEC_CTRL_RRSBA_DIS_S              (_AC(1, ULL) <<  6)
 #define  SPEC_CTRL_PSFD                     (_AC(1, ULL) <<  7)
+#define  SPEC_CTRL_DDP_DIS_U                (_AC(1, ULL) <<  8)
 #define  SPEC_CTRL_BHI_DIS_S                (_AC(1, ULL) << 10)
 
 #define MSR_PRED_CMD                        0x00000049
diff --git a/xen/include/public/arch-x86/cpufeatureset.h b/xen/include/public/arch-x86/cpufeatureset.h
index 336744b47119..08885190876a 100644
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -294,6 +294,7 @@ XEN_CPUFEATURE(INTEL_PPIN,         12*32+ 0) /*   Protected Processor Inventory
 XEN_CPUFEATURE(INTEL_PSFD,         13*32+ 0) /*A  MSR_SPEC_CTRL.PSFD */
 XEN_CPUFEATURE(IPRED_CTRL,         13*32+ 1) /*   MSR_SPEC_CTRL.IPRED_DIS_* */
 XEN_CPUFEATURE(RRSBA_CTRL,         13*32+ 2) /*   MSR_SPEC_CTRL.RRSBA_DIS_* */
+XEN_CPUFEATURE(DDP_CTRL,           13*32+ 3) /*   MSR_SPEC_CTRL.DDP_DIS_U */
 XEN_CPUFEATURE(BHI_CTRL,           13*32+ 4) /*   MSR_SPEC_CTRL.BHI_DIS_S */
 XEN_CPUFEATURE(MCDT_NO,            13*32+ 5) /*A  MCDT_NO */
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 11:39:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 11:39:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509239.784626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbgW9-0003bV-57; Mon, 13 Mar 2023 11:39:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509239.784626; Mon, 13 Mar 2023 11: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 1pbgW9-0003bO-1z; Mon, 13 Mar 2023 11:39:05 +0000
Received: by outflank-mailman (input) for mailman id 509239;
 Mon, 13 Mar 2023 11:39: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbgW8-0003bI-4d
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 11:39:04 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2060d.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1df1c044-c192-11ed-b43a-930f4c7d94ae;
 Mon, 13 Mar 2023 12:28:03 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7212.eurprd04.prod.outlook.com (2603:10a6:102:8c::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Mon, 13 Mar
 2023 11:38:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 11:38: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: 1df1c044-c192-11ed-b43a-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Fn5T/IJEElAG6DOLX+0+W0j7Xl6rzs7nHcz9qWFFhehizUipiij4od7gvAYr6fMwKBkL0JkUZnZagWYwgI2vEEPqTc+DH0ZP0iD67MVtu6MSOCMLlZa0/LP+Q0cINDD0D6CYFTSrUz2m64u1K0s5mkSCyE/Uh3qOYMJ6X2c6kWiG6LTxDptvDXl0Gmu/L9MxwLpUQKr/QTSJ5ZbK5c61psyx2BftiVVMPW6cUT85i+l7PnHT0OOt9yv863hXz/6NpX3Wfc7T367XZdl5dshoEUU5on3H0U/g/RnYgyi3M1PGZpECEm2Rs8gBpkzRF5nAu29bOX6QDcAqUpks/R7BMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=di2gzvbSBReX9UVKYsx0Xdku77bc9j1xXErYlUinvTM=;
 b=eEa1ugIJwqnCNwK8i214Bgl2zFCM6FVlM8ogTSTCrTyYGM+/W/s/JFfn8nFVTn7WIxqqbhDWx5r1jAtAs7q31gC/E2V7KvoT+6VuSHq61c+VMD0dGkLRoLWXh9AJt0lMuffPi3VbfFuh7/EdwJhoP7whSQxb/St35I2nHeW+/LS97R9dzEFeojO+WRkmLRR0i1hGMDEWtoGnPUj9Ik182I9uSwpD9frDwQBBcnA6t0+C2OOoBUBrKaaHUZMenEYqGNiJFv6VeX7raHwCKJrO2ziP5dbc7peT2gzqNIO3d4ApaoGsthBJCKy4UUhHwtteLToCJAePajnq0qSvrmF4pQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=di2gzvbSBReX9UVKYsx0Xdku77bc9j1xXErYlUinvTM=;
 b=OlnLMPTHlMQ2KpYxslDKT7lt5KGjxQfGgmrmTx0wZe3SSTGqWeUamkkxTw5zM140nLkciE2VEho9X8xJEZTCmd63TDpdsWLsE0WBW2LGCVlEil1crgIaW7ZW8MN66kq0AmqcuLbLVSeWfvBDBxBrKL+y96+3xt6MbUyPsYLucvh025hMf86IfOtcfELv2XzmvuyK+4hj52QkMgeVpjOJpJMjuVwGpPUFqMnQsz72SdlPhnVgazoDO/BWXM6AIivFUZcR4WIixbFICwA5xyIEEjJjAOXX0BHcKZvZelGOUJ4xZuXJoZ0Qc29QkSe3hh08SqSW+An0N/q1SRo6b9Ksdg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8469b5e6-081c-6af8-3611-85cd857bc974@suse.com>
Date: Mon, 13 Mar 2023 12:38:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] tests/vpci: install test
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: andrew.cooper3@citrix.com, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230309165812.33918-1-roger.pau@citrix.com>
 <f2c7a5db-80d3-a89b-dff5-250eb18bec14@suse.com>
 <ZAsyxw6VvQHYrksG@Air-de-Roger>
 <29c3e26e-e6b2-1b2f-b442-d468d8abb505@suse.com>
 <ZA77aJM7/6dhu5F1@Air-de-Roger>
 <9833177f-9dbc-4f19-a892-14b63629a91c@suse.com>
 <ZA8FuNP8A3lPxSMr@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZA8FuNP8A3lPxSMr@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0158.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7212:EE_
X-MS-Office365-Filtering-Correlation-Id: ed26ddf8-39b2-433d-5aed-08db23b7884d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kkkV66hJpFkGf6cy6HjF62Qooq7A5J9UWIEIIqC39rvouWhf4iSCLvdb96/WdWfq+xYXQtmhAEDQuMo3lWYAlNpg8n1i89rK/t/p6MDLBISiW6e2RFEA5lyzzpZ8GQ/1Dl2J3TH3Jy80wnMtEI0ruQsCJSGHMaEdDKRxRlwC6AAXTCQgKd8TNdyDjEluTMrDmMWlzbI4TlcCBTvuXe5ur2qEX14hN/fiOT7Bzb9zpJfO2udMQisz93gd9wEQGbJmFd4ge6jtTWMoGq/BWIAONS2a5tnmjRR7ozM9vjnbdIiGBvi72PEPlDER/8GEaF027LmuQyfn7JRfxLUB7Bic8b9GX03ZGCT3fgMWu7T/9vhHl6hlPhL2drhUHpYdgHC1FQs6QLcCgcwfwZASs3PDR/qH2fsferoXo//0s9t04DafQCYBGNQV+TrcSBDYrkxecRU8q4yWQOG8oTbyX+Q5NG7tjo0s27Qgrjk1wUMdNdhiVB3WNr4ajYMnXLPaZV4Jy9I/OtNSgaHqXL2flbpWmdXPtInep2az65GBRErQQhTobVfAFfKR4gpSmRC1yNNm8TckUWZRVr4F93/2Mo6aiOpkwdfgCvgrfQzTtpZ+FnGtmxP0mG2MVZi8gGwMjN3D9A9pjZoHt36V+dJMfZAlknZ+vqRdpw9qbu0IiArRfEZk5yIwP0MFTGMLwjz2ifI5f7VJn3W6KB3hnH9WiGqocWQVK3BllTeVMcresM4VTo8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(136003)(346002)(396003)(376002)(451199018)(36756003)(83380400001)(186003)(53546011)(41300700001)(478600001)(6486002)(2906002)(6512007)(26005)(2616005)(86362001)(6916009)(66556008)(66946007)(4326008)(5660300002)(8936002)(31696002)(8676002)(66476007)(6506007)(38100700002)(54906003)(316002)(66899018)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NFgwTk0yUWtlSE5Ock44dWRnTVVHTHhFL0wvVnpkNlZRUXNUUC9aWDFHMWh4?=
 =?utf-8?B?WGlwTitLWm9Hc0FnQUVvSDJYNkR1OXhJTkhVOE1oKzlTU3M3ZVRPeTBXUHQw?=
 =?utf-8?B?N2p0TTZCdHlWRXhJRnNmZllJTXRNR3ZKbE5KMmlTS1I1aVRnSStvMkhIbXVJ?=
 =?utf-8?B?dHEyT2dlRVFnb1RmT2tJblRGUXBFNEp1R1A1b1Y0a0RMV2wxRkY2T01HZCtn?=
 =?utf-8?B?MEVxQXRyZkFlejJ6T2RRZmtJQlJ2VkVvWnRIL1ZyT3pEMjBVV1FHSHpGTUNj?=
 =?utf-8?B?ZXJnN1MwMStHbGFpaTIzMENhNjlKM255MnFxYWFab2VQRlUrTmc4Nkp6bzhL?=
 =?utf-8?B?Ti9DRWFxNVh3Ti9VOXFYU0ZRcEJ0bUdSNXBhekRsdUhIK3BRUjV4RWdBZGV2?=
 =?utf-8?B?ZHg5c3R5eHRDYzVDbHJvUTBucmdoY3NXOWZIeHNnazdVV0QzdTNHdld4bmxp?=
 =?utf-8?B?dXpWdTJabDRxQzEzMEJ3ZGhubHFFcDJlcjlQaStsck9hYnAvUUFGbGcyY01F?=
 =?utf-8?B?ZDhEYW9RYUVaQithK0M5Y21ZL2NhTFRLMUNLNndGMWRoNUVCVmtaYTFqTFpX?=
 =?utf-8?B?SGpqeHNYbFRQZkdHV0p0djAwTFdRSitvK2MwMXFTWlJUYVZIWnp1QWJDcVVm?=
 =?utf-8?B?SjByUkwxMUluLzNSTWhzeXBRSnlLRDV5Z1dIaGV3cXJFUmZ0MEl6SVVMTWJ4?=
 =?utf-8?B?SlcwTzFIVzE5a3NiY1Rod3doRFJVQ09vSkFmandnUW5KSDVIMDNXRGRXVTFa?=
 =?utf-8?B?dVdEM3NMM2thRENKN0pjK2VXeWE5c21EY2RWYjZjZjVaUVF4WmtGSm5ubURB?=
 =?utf-8?B?NXpKMDdkTEJFL2p2b0RzTEpyb3ZOSHhDdlRvOVJkdTJEc0s5RnplZnBSaE9K?=
 =?utf-8?B?VEtSVG9pWHpmTmJUQnRyaTJ6MklHK0hUSGw3bE1kZkNCbGlzOEtJdTQ4bmtv?=
 =?utf-8?B?Mmd2TEhnVnFDSkkySmJjRTlpRTVqcDJEeGZzL2N5U3VWWi9FM3VSUTR5Rmdn?=
 =?utf-8?B?aXlrQVZEYUVUa3hmNmp2VndvT1U2aWNyMENXb25rbzYwdHN0UXM1cEZjTUVI?=
 =?utf-8?B?SXIrNEh4UTFGYlMwbEZ0eVJlUGYvVFgrYTRQZ0QwLzJYcGRYTE5wS2dxSjhF?=
 =?utf-8?B?elhWRVJFS0ExQy96U3o1eHg4OEdmcWlmdnJiZUV5RXRMajlZOUxBbDFYaEt0?=
 =?utf-8?B?RmpuMlpRZXprbEhqWGkxSjRvYyt6eGNmRGRiQnlzMElTODZyeHdjT1hmZlRw?=
 =?utf-8?B?ZVhteVRMZkpuYk5URXZvR0I0VVFvRktxZTNkNm04UHZPTXZ2MkVXZkFDU3Vk?=
 =?utf-8?B?SC83ejNWZWpzMHRjTW4vaklxS2c2bmtQMG51dHk4M1k4aityN21oZ2YvNHJD?=
 =?utf-8?B?QzBraHJXUWNEWmpSYkxnNDJYSVRxeldzK2xuVXBweU5lai95WHBmd3JjbExo?=
 =?utf-8?B?VkMwZitmVnlET09DT0I2U3pXMHpKejBVdHpLWi9ReUpVQmYzRDliSEREbjlR?=
 =?utf-8?B?N21FR2svRTNUVU5Wc1h2ZkNEOXFORUhvM2VYWmQ0Z0s5LzBncnllbTJhU1BP?=
 =?utf-8?B?Z1ZPNk1PRTlFOXF6RkZaVE1DTzVGWGhGMWhUazZkYVh1cmVsYnVrOVFKYkNz?=
 =?utf-8?B?MlpSSEtxMVd1UmJBajYrQkpxYzVUV05JUkRSd3BST1ZsNDBkMTBzR0p1dGw3?=
 =?utf-8?B?TkxIZHFqM1pJVWJvZUMxODZ4NjFzUGlBNG5hLzk3YXhZMnVYc1B1SmJiOFlY?=
 =?utf-8?B?bmlUNTV1VGkydlZaVU1VVXFDWHY4K2dIMWVNbitrejJmMFdlWHBwNlI3VklI?=
 =?utf-8?B?bW9UWHdvbHIvVFRPYmNJOVZnMkd1b3RMdVpBS0NIMFhqKzZYSXI4Si9LTzZV?=
 =?utf-8?B?cjU1b0pIV1VGSm5lN01FN2ttaFdjRVBJU0UzYTVpQmg0RWRlNnRQYlpTWnlL?=
 =?utf-8?B?cGVKcXNPdjgrVDBLek1MeGJrZzB6UVR3TS9QbkxuTTZtZ3BFWGx2QTR4djh6?=
 =?utf-8?B?cUw0cHV0RHNIOHFJdGZVV3Z2Uk1zV1JhSHhUSDZBSDhDdFBEWmE2bG1aUWhj?=
 =?utf-8?B?c296WForNGk3Nms3OFpCWE9DWEF4enZuZDRkSjkxd1hqM3k3bW42Y2RIZDRJ?=
 =?utf-8?Q?yJ0dDKKKrFlXG56ehlfQJwSO8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ed26ddf8-39b2-433d-5aed-08db23b7884d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 11:38:57.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: cX4hmleR8NPCDU5/7wFzHhykKMPRmn3K4gElnangLr1yu61SbuX+2zXyHRjeA2+b0xWd5z4N0Hz447gtm2oRyw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7212

On 13.03.2023 12:15, Roger Pau Monné wrote:
> On Mon, Mar 13, 2023 at 11:43:43AM +0100, Jan Beulich wrote:
>> On 13.03.2023 11:31, Roger Pau Monné wrote:
>>> On Fri, Mar 10, 2023 at 03:32:41PM +0100, Jan Beulich wrote:
>>>> On 10.03.2023 14:38, Roger Pau Monné wrote:
>>>>> On Fri, Mar 10, 2023 at 12:06:29PM +0100, Jan Beulich wrote:
>>>>>> On 09.03.2023 17:58, Roger Pau Monne wrote:
>>>>>>> Introduce an install target, like it's used by other tests.  This
>>>>>>> allows running the test on the installed systems, which is easier than
>>>>>>> running it during the build phase when dealing with automated testing.
>>>>>>> Strictly speaking the vpci test doesn't require to be run on a Xen
>>>>>>> host currently, but that allows easier integration with logic that
>>>>>>> runs the rest of the tests.
>>>>>>
>>>>>> I accept that as a possible way of looking at things, but personally I
>>>>>> remain unconvinced of this model. To me what is installed should be of
>>>>>> value to users. If there was a properly separated directory where all
>>>>>> (and only) tests were put, I might agree with installing. (Nevertheless
>>>>>> this isn't an objection, merely a remark.)
>>>>>>
>>>>>>> While there also adjust the makefile to use $(RM), and rename the
>>>>>>> resulting binary to use a dash instead of an underscore (again to
>>>>>>> match the rest of the tests).
>>>>>>>
>>>>>>> Since the resulting test binary is now part of the distribution CC
>>>>>>> must be used instead of HOSTCC.
>>>>>>
>>>>>> This breaks the run: goal, doesn't it? If the new mode is wanted, I
>>>>>> think the two kinds of binaries (and rules) need separating (maybe a
>>>>>> way can be found to avoid duplicating the rules, which would seem
>>>>>> desirable).
>>>>>
>>>>> The run rule is not hooked up in any of the upper level makefile logic,
>>>>
>>>> What about the run-tests-% goal in the top level Makefile?
>>>
>>> Urg, I wasn't aware of that target.  I assume just removing the `run`
>>> target from the vpci makefile would be an acceptable solution then.
>>
>> I'm afraid I wouldn't view this as acceptable. I would very much like
>> to retain these run: goals, as I view it as important that such tests
>> be possible to run easily and right from the build area. What might be
>> acceptable to me is if ...
>>
>>> It's still the user that needs to explicitly call run-tests-vpci, so
>>> it would better know that HOSTCC == CC before attempting that.
>>
>> ... the run: rune would be enclosed in "ifeq ($(CC),$(HOSTCC))". Yet
>> even that is fragile. For tests like this I view it as secondary to
>> be runnable on the destination architecture, and hence I continue to
>> think that if installing such tests is really wanted, binaries for
>> host and target should be properly separated.
> 
> vpci test is special in this regard when compared to the rest of the
> tests that do make use of the hypercall interface to a degree, and
> hence are not expected to be run from the build host as they require
> to be run from a Xen domain.

Right, which is why I said "for tests like this" (which includes in
particular also the x86 emulator harness).

> I think the benefit of having the test run part of XenRT is greater
> than the downfall of installing a test as part of the distribution.
> 
> I've added a guard to the `run` target in order to check that HOSTCC
> == CC, hope that is enough.

With that at least I won't further object to the change.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 11:44:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 11:44:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509241.784636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbgao-00054O-NF; Mon, 13 Mar 2023 11:43:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509241.784636; Mon, 13 Mar 2023 11:43: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 1pbgao-00054H-Jz; Mon, 13 Mar 2023 11:43:54 +0000
Received: by outflank-mailman (input) for mailman id 509241;
 Mon, 13 Mar 2023 11:43: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=koCJ=7F=citrix.com=prvs=42903c55b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pbgan-00054B-Gc
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 11:43:53 +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 50cdec4b-c194-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 12:43:51 +0100 (CET)
Received: from mail-bn7nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 07:43:42 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BLAPR03MB5652.namprd03.prod.outlook.com (2603:10b6:208:296::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 11:43:40 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 11: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: 50cdec4b-c194-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678707831;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=dauAYSF4WmKzQl27JFDuDk15XLDfaLXDZ6TKhNv577k=;
  b=CEDI2yHLRr0SZuNOHCOVu2+LYPkEV/x7oU9TGtocbyW4AIZAW8ncwoah
   vIyh4BiO6Piq/LIUWIQ0vuc9ps/7/TtJX9ccMLko0/F/f7v0kK1wQk2cG
   HZ0Q8pRO217hI9NLFLUAW9T8hN+AgM9FKrvB7SIgHSPiYgAWJxY9f2nRo
   g=;
X-IronPort-RemoteIP: 104.47.70.109
X-IronPort-MID: 100499907
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ELt4MKkay5LICaKTrrURaEbo5gy0J0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIbW2zXbqmJYWr1KYoibd7n/ENX6MKEyoMwG1Rr/H81RCMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QSGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 eIzLBUhSjHeu+2z/LOwVMdF3ssAIvC+aevzulk4pd3YJdAPZMmbBo/suppf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVk1Q3ieC8WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTOXkp6872AL7Kmo7KR4TD0bipqaFlWXkccB2a
 F0l1QwPsv1nnKCsZpynN/Gim1aGtBMBX9tbE8Uh9RqAjKHT5m6xGmEPTi9GbuspqckeWjEgk
 FOE9/v5CDoqvLCLRHa18raPsSj0KSUTNXUFZyIPUU0C+daLnW0ophfGT9ImGqjqiNTwQGn02
 2rT9Hl4gKgPh8kW0an95UrAnz+nupnOSEgy+xnTWWWmqAh+YeZJerCV1LQS1t4YRK7xc7VLl
 ClsdxS2hAzWMaywqQ==
IronPort-HdrOrdr: A9a23:f6wL5aE7hJ/Je3v1pLqE7MeALOsnbusQ8zAXPhZKOHhom62j9/
 xG885x6faZslwssRIb+OxoWpPufZqGz+8R3WB5B97LYOCBggaVxepZg7cKrQeNJ8VQnNQtsp
 uJ38JFeb7N5fkRt7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.98,256,1673931600"; 
   d="scan'208";a="100499907"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eoiBf70+zLf++ror5ziHWbcmG4ZRYASuYgAF6RTa2ytbH5kKzulgL8f04jF42bXRHxEAqcpQiYj2zwmtuFYTe9HEyW9pJBBEhQoL1iiuf0KSC3Su3CKI+yVytA5MjLx6fL6B4JMJcCa7P8fcfI55U6JUhYd4wydFkD4ZiLzHRwyO7DBJf3RHAFu4isNdwbHb5KKrU7zyQj1QoQZ9JcLm0ScwkqOQNsreeYIgmDFKtF6vOCGNcXxXck3QQiZMD4+q9Pac0J2uOWhu/VYbZLvc2gjnwmKXVLtNKv1/GSMuN2PUorpzvtqyZ/beKlu/Ym6v+sJUEvqvZQx/vGdZl5OyTQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UI8DyEVt9e18dqfx+Bar8rTPQ/40hRazabuFRjxd/a0=;
 b=VTy/STuRdH/OSpff9VBtqgQ/BOjvBRpHhHiofCFizrSMQ5bwD4CuEYKfXKMqjZzjOnMs3zHmwJCfDNVXipG19O0entVXdXtiWnVVKWazWz0NwXyW2dhfzK25dHmi8HApTsM4Sy6AVSqKCSyWZiIfAW/WfmYdBexvGeX8AFMmYly4cCZ9ChmrGveCEHR1URuIHg6i01EVcZSSwttmpqOl+56ImdxhT0LvSkvwIDiEejV3HKXz2Yjxxflz4c/UGdU56PFOOyInztjACbyzrpoaI/Pb3W8ViBSfSugqHPdY91JP6Xa1FWnxWZbE78t76UvralslFHgHJcBSTcqm2rTmdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UI8DyEVt9e18dqfx+Bar8rTPQ/40hRazabuFRjxd/a0=;
 b=dh2wE5bhIlU7O5WmhfJMd0WwHJCn62h8awVDgtgVB8FD7mxpzscSPm6NhUxHnYt5uTGooAabqXJ5GwPgXSvoXoWR3uxKqNllrdby5v+ko8P5i1SRjGw/JICFjbxbiNbElDMzjogJMQwgRpwC3Vy87fYMqx6OZoOWT12/8G0jobk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <467bc1f9-6e14-cca9-159c-b40eb8327028@citrix.com>
Date: Mon, 13 Mar 2023 11:43:34 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from Xen
 4.0.1
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Denis <tachyon_gun@web.de>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
In-Reply-To: <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0453.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1aa::8) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BLAPR03MB5652:EE_
X-MS-Office365-Filtering-Correlation-Id: 702cbcfc-27e0-4099-f267-08db23b83099
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZB+Sl1YtOc3b6uACf6/OzQBkKmy1B/dnKS1Df+QeHukdCU9FW42HIisRC5DZt7K44AoXPvGmOJiNPnW7cAzV3fR8AraSJR/W5nP7d0ozipdiTra8IkSXU7q87TYo7ltchSHfRIocCMFGupyh8itMcRB1iHKxZvC2JEUi/ay303u6w/K3lvAZ2bnApxDRp2sL+mcU72Ohwlu8SmKd8h8tQxEdIfuVyD/m8BQoaKDKa1hl0GT3czg6g351Jsm6AtSJEIlia+Mw6Ufj+lGSkECBZ65ZJPCUVn16TWFaYTGyEJ3aJLF8izgztH5ajxXKMAX/GiGvrO435nCS+OVYWux/3maBX/AagvrtLT+EX/zOCeZbNLSizGdQ5CSqkPVtlT092iy3bUapl4T10j9Rf/gsa3Om4XrbkPyaY0ubZb75NeXPbS4CUS8gOWlgYHI7PIysueoSCUPhNOYiD+cXTDRY62psQ0FGt47Jzpb7j6wAvzorrvyaZ2DDuPjFrg7mfJ/8TjQ5cog0jrbUKdYkAl83ykt+y8R9DVvSDo6pGvkoaqsjS5IzdXnAKhfKUxbngxB/4gS6OJ2PBLGvvqryjtS8Pt7OskOGl5SggPYQkVZK5Mor6biFm36XrmHu+2Y2Zmo9R0hAlOAnoSEge4BPmz/YeIKWMicF6xxth7rl+RmYht0xfPLf4+yBDK2IdSZLxk+fukLPbLsXk7iF03wLAPv6H13fag31xgK9EBY7y/FCm+8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(39860400002)(346002)(366004)(376002)(136003)(451199018)(38100700002)(2906002)(82960400001)(31686004)(2616005)(478600001)(6666004)(6506007)(6512007)(110136005)(316002)(86362001)(31696002)(36756003)(41300700001)(66476007)(66946007)(4326008)(66556008)(8676002)(26005)(186003)(8936002)(6486002)(53546011)(5660300002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZzdhYnh4cTd3a1R5SmczWkRmSEdJRzNRYkFWbEVXdG1TTi9iL2pNaFl6cVMr?=
 =?utf-8?B?cDJtWndiN0h6Q1kvak8wNDFaZzk1VEJGOTd6aDdUUDBSVVFFV2ZIc3lrSnJK?=
 =?utf-8?B?QUY2YllZY1h1SnlkeDZYcUJUb3ZyVVNTNzVzY01uR0YwYWZJMEdVaC9yeGhz?=
 =?utf-8?B?azQzZzR5QVMrUlBTZEE0bXdlRGM5V2JubitVYU1XTHZKbkZ2cTJjYkgyU2kv?=
 =?utf-8?B?TlNUUTRjVW1Ib1RMN1VIVWp5NGNDQTBpbXlDRUxicnl4QzNlM0cxSnJURWRY?=
 =?utf-8?B?WkcyZDRLTWV4dDMxUUVxMzJXbjBnRWQ5T1V0Vmg1NTBOeTB6N0JhMEJadS9r?=
 =?utf-8?B?UHFleDVtOFg1MWY3bDVHNzA1RXF1akxwRWhYL1pZajIvTjd0MHNvNzNjZDN2?=
 =?utf-8?B?enZRTTNBUkNXbWV1RkxBcGJwOTFJakNOd1VsV2lrTzFwSkp6L1NsZXFsNnBp?=
 =?utf-8?B?d3BuUVF2czRLUHRSOTIrWm5QaVBmNHZoLzg4dU4rNys4am1NQzhZUVQyOXVP?=
 =?utf-8?B?aTBaSnlhY1RkK3g5aFhobGdtTmtZdGwxTWIyT3puTmZiUmNHT2R0YjBYUEdt?=
 =?utf-8?B?RFZpWTBOMDF1V1ppZUhOYlIvV3p3NmQ5L2VhTnJpeVphbEJmZ1VuNitHSzVR?=
 =?utf-8?B?SFlnZkh4OXE1ajFXOHl2ZU9lREpQdkoyQzd1cFJTZ3NBWDVscjNZcEgwRDhr?=
 =?utf-8?B?REgrbFRKTU1ta1JMZWhhQ0JsMjVZeVpVVDRsVGpJelNlaFByV1hSSG5UZllU?=
 =?utf-8?B?WitGSVlaOWkyWXZ4cDd5OE1wWjJ3WTVhUHEybDFlc2ZCN2RzNzRVVVRxQlQy?=
 =?utf-8?B?ZkNjdHBPU01naUhibi9uY1ZrTnB3S2pNYkdsaVlvd0lPL2ZIWDhQSlVSZmxN?=
 =?utf-8?B?TW9IRWYyNWdrdURGQ2RCcDNCN3hjWUZ6ZWIxVzQ0OWx3azFmVDZTWUJmWVJR?=
 =?utf-8?B?b0V4YTRSRGdxZEFLUXFuV2ZYblNOM3VCd0p0bHMrdktselhwa0xoUmh2eFBO?=
 =?utf-8?B?MHJ1aGlqNWVtUXFxeFVyTGc0Ui8vc1M0R3JnWFRoeFBLZm1WZlRsZGhLd2do?=
 =?utf-8?B?OHRZR0wyZkFQd2s3K1BjV2xEZWdPM1pZNU16YUJZUTBqNG9SekdJd1VRSTVT?=
 =?utf-8?B?cXNJWERsLzc1RUVsMWlLVWwwZzdCT3hRSzF0djVwYlZjVUdTZ2dRTGl0VHhn?=
 =?utf-8?B?MEFMTXJSZ2hKTVUzZ3FuaDl2c1pCcmJhVEFZVkdCQkpnYlVpbk1jeVhJQ3BH?=
 =?utf-8?B?SFBTOWs1bTFxUUNjeE9jU0lxNlh4UFZ1WS83NkhKL0hYbU5zLzBSejVxeTRW?=
 =?utf-8?B?OGlnamErL0dMeEdBY2JPYkFkWnpKejVmcXluVHRyL0RGa1VWTUs0cjZ6M2Yw?=
 =?utf-8?B?RzY4eTZBTVA1OXNHbHdnZFV0REVJOHJ1V0p6b3grWEJjNWx5QzRKMytaNEJJ?=
 =?utf-8?B?VUNNRWg2cFZ3Q0lNK2pQUHluOGVWSXU3YnZOSjNMNFNYM2R2ZFVIQlJaUWZi?=
 =?utf-8?B?ZjEwMWowTzR3TjkraEhGblowTy9jYVBvUFlCdFhOaDZ2MHNrSjFSdHZrYW5J?=
 =?utf-8?B?UktnQTRVak5aazBUbW80cjI5L05mVkFreTBycE1qMHBQSWdjNnNiYUJpNk0v?=
 =?utf-8?B?OU0zSWRlSHZDbmZUR1lZZ0xTeTR4UzR0VW1JMG1uTjVtMnJqVGJzMzhZK1dq?=
 =?utf-8?B?V0I4ZjFCM2xuTHZlNzFsQ2ZKRFg3L08wSGs2ODZKZ0pwTlFyY0xPVWxxM2F6?=
 =?utf-8?B?MmNkVDEwQUdUY25SdjB2bCs2aStSTWRDY1ZUR2hVREtSYlJ2ZVBjSVYwM1hs?=
 =?utf-8?B?c1RxSFFLendMQ2JzZDAybVJtSGI1eU1ib25NdWt3ZUNzR0QweDk3cjFKcUJV?=
 =?utf-8?B?L0YyYllscU9oZmFOZ3VzMHB2ako0Y1NUczY5cnA3K2w3YkRsZ29RU1JTWk95?=
 =?utf-8?B?Q1RvdHpHMkdNZTBFZ0x3M3lRT2lKUEtORExIeW54dlRnTGFMR2MrUkZteERm?=
 =?utf-8?B?U3ltL3lMYmNodDIzVy9peVVoeDloMVQzdE02UTkwMm9rRUgxTkNXMTNwdVlT?=
 =?utf-8?B?Y08xUWxBcWJuc0RhY0F1QWRCZThwMnBmc3Q1SnIreGZzRVk4UnU4dVJOVmU0?=
 =?utf-8?B?U0hqN2dNTmtEcDVpdk1XOTIza0NQUWtidWZXN1ZNZFlFSlErMXAyYWVDWFAx?=
 =?utf-8?B?QUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	PKKitxIZw2qQ7AYHWbVbL166Zm2CFDfqBUajfWRD10YcqRM17qe/Rbl/yW8Vd2kM6lWVQ5FssYuykxirEjnIvI8sZyO9/cRILORE9h9SdVCLnZz+Eo7vXyTGQq5TegqZ57m1Qy2U/dmbUTEwEg7PhY7OvxCU0I/B2QYFq5U1fTAXeMWwsbGOGP2i6b27eeXOXqvClm094ZA0TKbI66G/rztSjH79sLkCSuFFza+XuYvF3V15VXtjoRoIaABP99CBVN46bgCNU8pVSmj/KBZCGechCFa0gAb8zszHgHSFdBJeJaMXGDRBmBXGEH/k/RFUd0Fgxt70vKsmyFbBnvzRrBf1VqpWPDnjabynscOkf4Fv3K9Hou3exHEP8YEzQBcAN+BbyIDmSYzvXCLu/qZ7TdEP2rA891TkC4bCHkajVXVCv7IVGg/7/oc7b2cD24BzT3jHtCD5V9HxlhHEzmqnvPmr39NI4+gITZhzklZT4OKFrRu0egIZLTxw6UcJe9y6f6kf1CRnlTgut1az+mVkrkar0ePjqgZ0iwD+3x4LYL+1zkD4Y8d1Ydp/zh/lksCWrGcGgltPpZITDp30IA1yVPdWrDC2xkuEp+bFsMo73EWzpygsc7aVkeujt1WRxdK99zskBqzT99XFMgrfAVSG5q4T4GVXrKXHExLWz7tSJeB/s/FlUTcn/lZzTr7vawIB8STJPIiP+iSV8UWUpcxgaGiJNRXMua0eYzlVGxITx5olQmgXFaYGneJMBjPRnLz8w10uFiVGEhrUOYXwTNf8ZagNqP4mRWUMjzG/H0RWhyuJQx8CRfLlytXnsmBvcyE2
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 702cbcfc-27e0-4099-f267-08db23b83099
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 11:43:40.2063
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: e9NubNLXcEhf9hXnRSYel7zrrvj0Yg9HLT8EujMpiwq9KVwCSOBTHznZWDAqPZZOm6e0LJNWwzTVc8OC279ZLUL/UyP0J7DMt4TIa2pL5Pw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5652

On 13/03/2023 9:36 am, Jan Beulich wrote:
> On 10.03.2023 21:50, Denis wrote:
>> On 10.03.2023 09:51, Jan Beulich wrote:
>>> On 09.03.2023 21:37, Andrew Cooper wrote:
>>>> On 09/03/2023 7:34 pm, tachyon_gun@web.de wrote:
>>>>> A short snippet of what I see when invoking "xl dmesg":
>>>>>  
>>>>> (XEN) No southbridge IO-APIC found in IVRS table
>>>>> (XEN) AMD-Vi: Error initialization
>>>>> (XEN) I/O virtualisation disabled 
>>>>>  
>>>>> What I would like to see (taken from Xen 4.0.1 running on Debian
>>>>> Squeeze, in use since 2011):
>>>>>  
>>>>> (XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23
>>>>> (XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
>>>>> (XEN) Using scheduler: SMP Credit Scheduler (credit)
>>>>> (XEN) Detected 2611.936 MHz processor.
>>>>> (XEN) Initing memory sharing.
>>>>> (XEN) HVM: ASIDs enabled.
>>>>> (XEN) HVM: SVM enabled
>>>>> (XEN) HVM: Hardware Assisted Paging detected.
>>>>> (XEN) AMD-Vi: IOMMU 0 Enabled.
>>>>> (XEN) I/O virtualisation enabled
>>>>>  
>>>>> My question would be if this is "normal" behaviour due to older hardware
>>>>> being used with newer versions of Xen (compared to the old 4.0.1) or if
>>>>> this is a bug.
>>>>> If the latter, has this been addressed already in newer version (4.14+)?
>>> No, the code there is still the same. The commit introducing the check
>>> (06bbcaf48d09 ["AMD IOMMU: fail if there is no southbridge IO-APIC"])
>>> specifically provided for a workaround: "iommu=no-intremap" on the Xen
>>> command line. Could you give this a try? (As per below this could be
>>> what we want to do "automatically" in such a situation, i.e. without
>>> the need for a command line option. But you then still would face a
>>> perceived regression of interrupt remapping being disabled on such a
>>> system.)
>>>
>>> The other possible workaround, "iommu=no-amd-iommu-perdev-intremap",
>>> is something I rather wouldn't want to recommend, but you may still
>>> want to give it a try.
>>  
>> Thanks for your reply.
>>
>> I added the lines you suggested and it seems that "AMD-Vi: IOMMU 0" and
>> "I/O virtualisation" is enabled again.
> Good - that'll have to do as a workaround for the time being.

Not really.  Booting this system with no-intremap is still a regression
vs Xen 4.0.1

Disabling interrupt remapping on PCIe devices because we can't figure
out interrupt handling around the PCI bridge is still bad behaviour.


What we need to figure out here is how interrupts from the PCI bridge
actually work.  The IVRS table does contain records covering the devices
on the Southbridge, including the PCI bridge and it's entire subordinate
range.

MSI/MSI-X interrupts from the PCI devices will work fine (they'll have a
proper source id), so the only question is about line interrupts.  They
ought to appear with the bridge's source id, and ought to be fine too.


I see no evidence to suggest that the IVRS/MADT are incorrect or
incomplete.  Xen's believe that there must be a southbridge IO-APIC
special device seems to be the false entity here.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 11:56:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 11:56:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509245.784646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbgmq-0006kB-VL; Mon, 13 Mar 2023 11:56:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509245.784646; Mon, 13 Mar 2023 11:56:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbgmq-0006k4-Rv; Mon, 13 Mar 2023 11:56:20 +0000
Received: by outflank-mailman (input) for mailman id 509245;
 Mon, 13 Mar 2023 11:56:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=koCJ=7F=citrix.com=prvs=42903c55b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pbgmp-0006jy-2I
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 11:56:19 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0eb2c4e2-c196-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 12:56:17 +0100 (CET)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 07:56:10 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH2PR03MB5160.namprd03.prod.outlook.com (2603:10b6:610:a3::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 11:56:03 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 11:56: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: 0eb2c4e2-c196-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678708577;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=VEvFrNv0eJ7kvUNpkCPz8M63r6FsgRHURGslvTPK5Bo=;
  b=JNCOdjiIgZIQj6UiF28WRRd9qxvRFjh5YpWX1W1Wuoa6r3VqkfhSWJ1v
   kRTvujyZlFockXIoE7kGmAIZnJ1eLb0Buyb692NphPGLwFlnttYfYQ/K9
   OKS8r7xYtyDa4HDNyXBwg7I1/qXNG4tRzMgPxgc0epiXkTk8Nudqu5z9h
   I=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 103012085
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ixtqw64ES41LPfa0nWEPFwxRtDjHchMFZxGqfqrLsTDasY5as4F+v
 moZWm2OOf2DN2LwcohzaYvg80kE6MfRnNBhT1Y9/ik1Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS5weE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m+
 aMoEgoSchu6pf+P0p+FW8heh+ceM5y+VG8fkikIITDxK98DGMmGaYOaoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OnEoojuiF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtKT+XhrKY63TV/wERCAQU/Rwq0n8WTsUrhdstSJ
 UML4nYX+P1aGEuDC4OVsweDiGSNr1gcRtNWHMUz7Q3Lwa3Riy6bDGUZSj9KaPQ9qdQ7Azct0
 zehhMj1DDZitLmUT3O19bqOqz62fy8PIgcqdSICCAcI/dTniIUylQ7UCMZuFravid/4Ei22x
 CqFxAA3g7gDhMgH2r/98V3aiDKhvLDASwJz7QLSNkqu7hl4f5Kkboru6l/W6/dPBI+cQh+Ku
 31ss/OC4f8HF43LtC2JTOgHBriv696MNTGaillqd7Er6i6/8nqkcYdP6RlxIU5oNoAPfjqBS
 E/UvwxV6Z4Kenu3ZKl4S4u0B4Ihyq2IPdb4UvHdKMhOa55+XAaC8GdlYkv490LsiUkll+cUO
 ZqdWc+pATARDqEP5Bq7Qf0Ml4AiwC8WzHnWA5v8ynyaPaG2YXeUTfIPNguIZ+Vgtaec+lyLo
 5BYKteAzAhZXKvmeC7L/IUPLFcMa38mGZTxrM8RfemGSuZ7JFwc5zbq6etJU+RYc259z48kI
 lnVtpdk9WfC
IronPort-HdrOrdr: A9a23:ks8cqa8DfBj03mP37cluk+DJI+orL9Y04lQ7vn2ZKCY5TiX8ra
 vFoB11726WtN9vYgBDpTntAse9qBDnmaKdg7NwAV7KZmCPhILCFu5fBOXZogEIEheOk9Jg6Q
 ==
X-IronPort-AV: E=Sophos;i="5.98,256,1673931600"; 
   d="scan'208";a="103012085"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I/wb8VQF8N1OwC20f3SyuKUta36yzLl0sd+xprhhe2FUgMJkrQZCN8fcj6YBswOUvqppVRip9AECLqwf+EtLXLm769vvuX021bt9/xzTAn0Fxu+kvbd/20lDbv8bOgC3pvNtG9Ou3ONN1Z/RkBKVVSnFl7Eo5QKUu8GWPir7TXoRCoTMMEcb40Y65NRC4UlELs8bP+98zRJ8qsZ4MhjUgNZbEW7I3XGxcyowajlwPaxvAleiwnZEvVgP9MU8vOXT1jYGvYusWqERMVocMBNNoSPgZ/Dz7iL3Wl522CgvXs+j6lwjX+LDDzaeH8NAb0q8KPm7Q0n4A62FGDLtPW4dhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VEvFrNv0eJ7kvUNpkCPz8M63r6FsgRHURGslvTPK5Bo=;
 b=TflFIa2uVriMs1a89sqMjIrHAPd0et48qNdQgGt60eGf7BUMp3AYh6bZEAAqn7N39CVaaGHxWhMAyprUwnRoOwP3H79eMVCOGEB652Z5QE4CI4XTndRu0Auj0I1jZpzgcJCoBLMxWN8LNkNx5MlI0wrhw3C1wvSCFxURoz1Fn/uyuhuxiJhDIYYVC1gZymqDsXAqioNu7VzR6J+dTD+JbhLKsCvlSSZoATXEqg2FRfrIuG/jhk+ZNKYikLDsHhi7y8tJJQiN8/ZcCKKA4Q62g07oSKkQsNJc+GgxkwlzVi+LwhqZ6ioNY+GixG67/dd9FHRwkCBD4RzHeLjWyvkrdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VEvFrNv0eJ7kvUNpkCPz8M63r6FsgRHURGslvTPK5Bo=;
 b=bg7o0Y1xbktTb1s+D/dxS4+RYCkmLYZcDkMkw7fRhJJwReRBKsrQMcrorB0GnGECMVgr2H3o0icBrmxiKi2JPH1fyFvqzx8ZZSPJcbat+K6QxsAeh42inkh9x9lFLJT3rJId8+eHczRwzD4/hdRkEXMbWjyqd4rYZWdklI+KqbU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <682beaa7-736e-432a-3525-1368891641c6@citrix.com>
Date: Mon, 13 Mar 2023 11:55:56 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 1/6] x86/pvh: report ACPI VFCT table to dom0 if
 present
Content-Language: en-GB
To: Huang Rui <ray.huang@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, Henry Wang <Henry.Wang@arm.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-2-ray.huang@amd.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <20230312075455.450187-2-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LNXP265CA0073.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:76::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CH2PR03MB5160:EE_
X-MS-Office365-Filtering-Correlation-Id: ebf4aef4-b0b2-463b-8b79-08db23b9ebac
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lkvHxZ79TBXQL9uCtnrLjxE8yuGqnmCfFykxDBhpq6oOO+RXlU37t+EqTXBt2QM1M0PRsL6TrP2fY6/AnKznohbwqn36B5w5VRRdYHgiEqox3qFSMPfnv83/3OSa//RSbYQmjLVVAUHRu0TUVBTPB58I8hK2OyU8O4SWj+wmm6LnYuxKWPfVYeKw0Dj0/oIhP1W8he0Yq9H89ycfT15WcfUgx1DOo3YBZH3WLwjLWiLHYn/bFJqtY1slyEa3giI/Q111c9OxPGBwl0iUkwMOjxJMYnNEIH4F4M8rbPZB3m9x/BJZmoQlvq8cWszvwwakYYvM1V4zPsZ4vvVs+5o1rEX49vEiYxDvpDcw50xuQTHXYbKYCdUHw2UNzXPan3e9bEirWL9caQwi/vYVSQQCzWZw/Zjts2/EzwY69XQUsIDk6pT0iO5z/bMlN8Vwn3Ae+W+0lACAGKNNDPSb8qqZpb0CgichcnJc7lbcyht8mBhYJRR3ETrKykXBl8LxN7ieiNzlzjnXjHJSC7ZC/CcIoPG+jeKuCEZeuE258h5wVmpeo5MPOML4qgLhGFjDAPKaPuejOdNZS755CZRLaAAmmbbjzZQXpgvvRCAHuYzV+iCZM09tdIyz+pM+K4YMUIaZkPfSio2Dg0aBV4LyUSKVoLAFSbwqPAh3kcCNZHJzz1mG0geIevNPiG/fufEPqhVnav1QF5+dQQQQa1rLDbfYQRa29kA39ME+JtkXvI2D1zQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(346002)(396003)(366004)(376002)(136003)(451199018)(36756003)(86362001)(31696002)(41300700001)(186003)(26005)(6506007)(53546011)(6512007)(7416002)(5660300002)(4326008)(2616005)(8936002)(316002)(54906003)(478600001)(110136005)(8676002)(66476007)(6666004)(66556008)(66946007)(6486002)(82960400001)(38100700002)(2906002)(4744005)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YjlKZjNNdEFEeGZjRXBlY2FGUmpZZDgzM3RqWEFoNmV2S292STAwM0ZlWEVm?=
 =?utf-8?B?WklxQTJYcWxTajNXczFEd0ZjVUFoajJkWXUxQ2kyUTdSL2FaQzFscVlRSkVO?=
 =?utf-8?B?Y2NpODc1ZUtQREVvOXZEaGhVQWFyd2RpWFYveFRFVWUwM1J3WGVJaFNuWG9l?=
 =?utf-8?B?NVNHUDB4bmkrTzR3MkgzNjRhK3Q4MmxwVmpDYmN4SHhxS01UZ2lYL0k4RGJ1?=
 =?utf-8?B?REIzbkNTR0tNK1h3Vkl0TUFGWExscVNWYmNRQ0xtKzlxbmExL21ubmJsN1F6?=
 =?utf-8?B?Y25OaHF0bVNmQ2ZoaWYvcmh6UE52djRFbTFxM3Q2YVF6dXEzUGRGVDFONHpx?=
 =?utf-8?B?NmxScGtmNS9MKytPOWR6OElSOFRVUjdQOUVTRW1nL04vT2xtdU5QT3ZPaWYr?=
 =?utf-8?B?MnpZczkrbHoxSkJ4NUI1bzhTMVVJZGVEUzJRcTBuY0I5YytxVHphWGp5aFV6?=
 =?utf-8?B?TzNpYU5DdVNkcjVrWUxqUjM2anFXWEhSOTBoUVZvRG9ZbTVzblJMbFYwZXVm?=
 =?utf-8?B?NWdpaHNqU2pXbTR1RFcrTzZNREVJSEh1cTExTURuVmZJSjFyMDNsdEFjYXd3?=
 =?utf-8?B?c2h3THBsODAvUk5obkh0VWhoaWQvdmpsdmw5UCt3UExlOGl6aXpFUms5WDNx?=
 =?utf-8?B?VjN4SnRmUmJwTTM3SE5LOVJDOThiOTVxaUNRTGtlbDJ2S05mZEJTZlBlL1No?=
 =?utf-8?B?RWJyU3krWlZOQWNSR3E2NUJRUEFsZE5hNXdzT3JvSkJxblpIanNBWWhNVWxF?=
 =?utf-8?B?cXNlejV0Y09hU2RSTU1Wd1ZiN2JTb1RHR05nc1J5dHgxQlYvN1U0RXF0b1o1?=
 =?utf-8?B?ZDdMaE9LRU5wUHhBYll3TUFGdjJ5dE5oYnFyYzE4S2xYRTg2a0t6L1JHTkFj?=
 =?utf-8?B?MzFYUXRkMTFtai9LaEdIQTBxOGNaaGZ4TW91QkVnNVcyQnNTUjJEdjd0WHIx?=
 =?utf-8?B?MUd0MG41aFVCb2pHS1BtYzZERStEa2krMld4UWE2eGc0Q1Z0SFBlOHA4dUM1?=
 =?utf-8?B?QkgvdTBVcmpWYllYWC8zZFpsb2cvdXJuRko3ZkFrVkJiVE0yc0hnYTRrTGRU?=
 =?utf-8?B?SXZVSEk2UFI5R3NqMVAvTDFKMi9XMnRSMk4yRkg0M0FHZFBwSzFUV2ZndVV1?=
 =?utf-8?B?UE9JS3I4bjJMRzE1QzI4bTJDRmpCYmJIK3ZNekhmcndpT3NhcTgzOTB3OE5a?=
 =?utf-8?B?RU5BQ1kxaHJqU3Exd2QvblErR09HakppTm9KU3BuR2t6b2RwY0RyZXVMbDhT?=
 =?utf-8?B?UFBSenQyMWdPeUtMcFZkZUR3WUpwUVcxektELzZMTk5qOHBzZEJqRHRnUEV5?=
 =?utf-8?B?Z0crdHBjRnhvdXpNSnMxRWE5N3RuOEJxdWx4MTRzaTRsNkk5MVlNZDRhcmxv?=
 =?utf-8?B?dUpwbGxpSUJxZDV2ZDV2TjQyNC9YTDBOOHRWcGRSdkt4QlpHZE15NnM3bC9Q?=
 =?utf-8?B?TTB3TkFNMjBKZHZoZE9qeVNxK3dzSWM4NWlLcmRMWCtCL21JZ0JwNC9DSkFW?=
 =?utf-8?B?L3JvYTg5a2xxa3hzTEwrazBDa2w2YkRqZm9uSlZrSDdIV2lnM2VaVnZON1g3?=
 =?utf-8?B?MmtPeW5HY0YrUmU1d2FRd2xPa1NKTUd3TENBOCtaVE9SYjlCa2pIWStUL2pF?=
 =?utf-8?B?N2JPQVI3WHozeFllUVU3VS91WGxGM0EvOU1kVmZVNnZCNHpuNVkyMk85U09D?=
 =?utf-8?B?N2FKR1NDTGJIMFVCRVlMV0YzaEJMZi81aE10cDNlRmlMTXdLUkFCdzNnd3c2?=
 =?utf-8?B?WG5OQmcwdzJGc1pnZmZwaFhPeVdTOGgzYjQ0b3NULzZnNVNjZVBjYnpXN3Ra?=
 =?utf-8?B?MTBsQytOaXp2U29vdFNMSVZnbG5mb1h4ZTZFYXBTQXdLT2JVZld1WVloTnVP?=
 =?utf-8?B?RGRxaUNBRFh4YXpoQ29VZ2dXcWk5a2dCUm1uVnh2bXZwVldjbDRjZWlxNVRE?=
 =?utf-8?B?QThqVi93RzlPMU1JTmdGZDdKak82dnVvUWdZWkRvWTBWRHhDVUpYL2NjR2J0?=
 =?utf-8?B?aEJtNEh3TGtmVDBYSi9jekdsNUJMbVZKRzlWQjBGT1EyQXZtS3ZocER6VGlo?=
 =?utf-8?B?NnA0SDdSaFVDNVB3WVdZaW5aQy80c3EyU3puVzlQWW12RCtjRzRYcytSZk5N?=
 =?utf-8?B?d01GWklpRVlSN3NCL1hkOTJVdjgrMmN0RkdnRTFvNUtTaWFxdGZxNkFyWnRM?=
 =?utf-8?B?MXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Uc+xrTFd2ruRuKKQsqUM4vz9O2poqtRgIlp2wAPRj0VAAWiL6Jf+GYMMQ4JAZKK+yzs/u1GkCp+BPAk7gePipKS2tGpggu5yMbSeWIbEq6WMliVyCmGx4XktwxeUPAy9rMRDne6K82Leg1LrBFemY8Efp/ygDWyH7Pqnyt8KvlGFKgiPcdpjaaMonBDonnAae9KoxTssmohxeZeWHn6kedop5nF7XRpP0OA5M4PG/F7pMQ3mVnc/hEaaIUzFvGFBzOf0ipJGJLIZt5qi7WewB93nki6AY9Z9qkW3Nnl4wT7jF7gxmRrImjxnFOdtDwLOv7Km1kY182gswYYi9L23xdyXlahMM0m8u+IxLPC3JierC36642RrwjaROxJpA/7bbyxsdtLmga71VTd1rpfXIMuwJ0Sd/Vn2vLkA0ZR56vX2lsNNmVd4tzjbh1iw0jVBHm+pKXJb1vZMRi5+ftGRFbPXYGfWhRZgLL7aezwBxCF+bLY/008X50oopYDJfhmY/NrL94uKILkFHpb8jNHzAs4CqdvOop5uCr0eYF9F0mSsflGUPCkD0BBGYsJLLAGD00FWymjL6ARXnvibWkFBX5oe2xUKUydz6mkTyz3TE5IJSWRzc9oJjiy7a5nnajVrCh05zVMj7hxq+7DI7mXuBiYkp3TngORehKbqsduadpVMYsweLRyC4eUiwpa/RkI51X1F5G7pAuaZg3ycscBJo6WRMpYjauQMQvrSvZ6VRvBskzJLH8Vj62jmjTpCcoXGEs3sRtvIf7ejwWskfZcGQBZ8coGI8fTOqpPVybx1xHsOx7nj3i3yilEg8XnSPjjgY5CzGxd9WvuOp0BixHpaKAwhzXJ0mFfedwzeQ92lGzjrW/x7TwGmihXhhp1iaAt9Qy9DKu75hEzdyrT3XDPXjw==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ebf4aef4-b0b2-463b-8b79-08db23b9ebac
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 11:56:03.6057
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Meuyb62y95+SwPvgk6Z9h5Upk+HUp+oNRL/BPwqoNZPWjWACArcWi+u4qXkujaQ/QNYqhpaKLDOCXHBj2j8uFTt8CMN6zye/RoZKkPPMkfk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5160

On 12/03/2023 7:54 am, Huang Rui wrote:
> From: Roger Pau Monne <roger.pau@citrix.com>
>
> The VFCT ACPI table is used by AMD GPUs to expose the vbios ROM image
> from the firmware instead of doing it on the PCI ROM on the physical
> device.
>
> As such, this needs to be available for PVH dom0 to access, or else
> the GPU won't work.
>
> Reported-by: Huang Rui <ray.huang@amd.com>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> Acked-and-Tested-by: Huang Rui <ray.huang@amd.com>
> Release-acked-by: Henry Wang <Henry.Wang@arm.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>

Huh...  Despite the release ack, this didn't get committed for 4.17.

Sorry for the oversight.  I've queued this now.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 12:13:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 12:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509247.784656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbh36-0000wx-Fd; Mon, 13 Mar 2023 12:13:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509247.784656; Mon, 13 Mar 2023 12: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 1pbh36-0000wq-Cj; Mon, 13 Mar 2023 12:13:08 +0000
Received: by outflank-mailman (input) for mailman id 509247;
 Mon, 13 Mar 2023 12:13: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=2EdO=7F=citrix.com=prvs=4292f2e3e=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pbh35-0000wk-12
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 12:13:07 +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 66c7d0db-c198-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 13:13:04 +0100 (CET)
Received: from mail-bn7nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 08:12:37 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN9PR03MB6203.namprd03.prod.outlook.com (2603:10b6:408:100::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.25; Mon, 13 Mar
 2023 12:12:35 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Mon, 13 Mar 2023
 12:12:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66c7d0db-c198-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678709584;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=hmQcKWst1FY86OGi2e2q+9opEVen7q4pY6RTkjeHqg4=;
  b=Jz1ejDePJ5mSvUfmMm6RBWVg0vFvb9HvZuMJ/dhLr8sx4tma6XmHtfB8
   Voeqye9KJSuQf2L0jMyS2h2JzuYk4gOF9zYZtSzhHAxF9nVK8Ng7Bcu6c
   fqD1b23QrJcsM/DbvDjHcV/2ymHTrJpLI8JsOrgmIQXIOSiMfBlvC+Shz
   8=;
X-IronPort-RemoteIP: 104.47.70.105
X-IronPort-MID: 100503823
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:FgCUe6LCOplDhHV6FE+RzJQlxSXFcZb7ZxGr2PjKsXjdYENSgjQDn
 GUfCm6BbP+NZ2GmL4x2a463oElVu5/Vzd9lSFBlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QVlPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4mADlH8
 782Ggo3TUiBhc2Qw5u4TNlF05FLwMnDZOvzu1lG5BSAVbMMZ8+GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/VvpTGLkWSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03rKXxnOhA+r+EpXpxMdPmXCW51cQUjQvVGC2i6SWlGeXDoc3x
 0s8v3BGQbIJ3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQAsbBRMddgnv88eXiEx2
 xmCmNaBONB0mLicSHbY/LHLqzq3YHARNTVbPXJCShYZ6d7+po11lgjIUttoDK+yiJvyBC30x
 DeJ6iM5gt3/kPI26klyxnif6xrEm3QDZlVujukLdgpJNj9EWbM=
IronPort-HdrOrdr: A9a23:K2BhR6vFppbCZLB1YSyzdNcp7skCHYAji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJhBo7+90We7MBHhHPlOkPEs1NaZLXDbUQ6TQL2KgrGSpwEIdxefygc/79
 YcT0EBMqyWMbESt6+TjmiF+r4bsaO6GcuT9ILjJhlWPGJXg/YK1XYDNu/XKDwAeOEAbqBJZa
 a0145inX6NaH4XZsO0Cj0sWPXCncTCkNbLcAMLHBku7SiJlHeN5KThGxaV8x8CW3cXqI1Sul
 Ttokjc3OGOovu7whjT2yv66IlXosLozp9uFdGBkc8cLxTrk0KNaJ56U7OPkTgpqKWE6Uoskv
 PLvxA8Vv4Do0/5TyWQm1/AygPg2DEh5zvLzkKZu2LqpYjcSCghA8RMqIpFel+BgnBQ9e1U4e
 Zu5Sa0ppBXBRTPkGDU4MXJbQhjkg6RrWA5meAeonRDWc81aaNXr6YY4ERJea1wah7S2cQCKq
 1DHcvc7PFZfRezaG3YhHBmxJiWUnE6Dn69Mzo/k/3Q9wITsGFyzkMeysBatGwH7ogBR55N4P
 mBGrh0lZlVJ/VmIp5VNaMke4+aG2bNSRXDPCa5OlL8DpwKPHrLttre/Kg13ue3Y5YFpaFC1K
 gpaGko9FLaRnieSfFnhPZwg1PwqSSGLHnQI/hlltZEUuaWfsuoDcWBIGpe4PdI7c9vR/EzYM
 zDRq6+M8WTUVcGJrw5oDEWI6MiT0X2cPdlz+rTCGj+1v7jG8nNitHxVsr1Cf7ELQsEM1mPck
 frGgKDbvl90g==
X-IronPort-AV: E=Sophos;i="5.98,256,1673931600"; 
   d="scan'208";a="100503823"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Cjl+0RpSNKQ6rMU7ygiImHgzdavMnoaavfeXgfomyXumC8FnPNcqvhUYn6XMaMoNguVmHREOH2vwOI8QneNWK4V8FM0hH4kzqYL0wYwqLWvwhOlUPKk75LzeeNStE7sBhP0mcihpDgBIzF9Q4ndagzwes2MdG5/cqdrO5ZpgOJuAQJWnHklykCrRTCUphWIqs6EO31JiSQKoORDvlNu7IQakgRb8jODl8g5pVnRNjs1qbHkpoO3hllPFyRSUwxBl+iEqPyIZbYsE64YX7gdtvZAM80ixjcSePkY/DPzPgNCYDCEV79/QetxXljqg1jaEng0LwnqEyHasq1n6TOqilg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=snNv+meeJ8VUCO7BN1YFfaJap+t/BpYIEUVH9+RrQO8=;
 b=jUGcVQUKwh7DXnGzge+ProaN9JKXRo4fNnGoil8yGqW8snI1yFyofF66y+k37mamzIsXGRasMkla3MCXiq+qWEvOIRxahREstz3kmUt3nC92cyXzt7ql7ZuAft34DCE98q6MhN2TKadgEXDhu94ktsSHqn9Sat0YpPQLbQ9IaqfCEPjEnWHd/dUz5xehSKsZwMVn87RPnrx7kYqHvklb1fkOt0eIsbKmBEEfrqeWTadcHW59jtQZ614kf6kUaxZYpQftm6x9JPnoVMDA0F1dCHWxvTE6CE4KlVqZ3bfZ2X4kMK2Op1lCh2g25xDsbLbBrHjHwX4NzwVSUNtZrhjw1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=snNv+meeJ8VUCO7BN1YFfaJap+t/BpYIEUVH9+RrQO8=;
 b=aUAjiwiDuJDfMfWy8k+uJf/966TWXAituvimadqNMYrSRdXVQRKMaRG38hcGyOVQrDcunshvC+i2MtktCdiijtGlyuN+VgJf5VKRRBeux5jxbWepJsBaE4dlyttmVL/7+Fht6DhUyE6lU1RqTSDEs6NFgP/u10fj2x+AZxb6khc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: andrew.cooper3@citrix.com,
	JBeulich@suse.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH v2] tests/vpci: install test
Date: Mon, 13 Mar 2023 13:12:26 +0100
Message-Id: <20230313121226.86557-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.39.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN8PR12CA0023.namprd12.prod.outlook.com
 (2603:10b6:408:60::36) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN9PR03MB6203:EE_
X-MS-Office365-Filtering-Correlation-Id: 4c270ea1-337b-4f9d-75ed-08db23bc39cc
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5YSlNHkLgbTmzIEaZJrJd1yWCF/a2s0TMoCmSBVclSY7W0fE1v4iXhSG7fwAfCdsAN3Z2hbUWp3WvUf8SiQAhJvivAY5TFpS/g2JbBYYFecRK3gPPi85QcDVNFnGrMyz7Y2BzceItyIag697OgaEw0teICt/0zesgzIuVH3mVkcfhZIMniV5cv1GBJOLvo1A9LZBLHe1l5qDWyBSjQyYPRI0tRzsjqw2K2zjHT/Y80qhYOyM2SZUhXEeyYs9GJ5+v3ShWZJ2gk9kPzuqud4wvYWCjcCY6FubJKC+JY7cO8PT5VG+L4+zx9UwpVJfrTr1muMWHGYXQ4PIDYYnY2TvJmgdaFe9QObePuieYBIpZaTzmzvjyRefWalC/pyL0nP/GdlefPNMlb1WhxLY195zEYb8sZ2e6oXmNYAN4pBFeD0NVvNLcphIrKt+smMWEshY6tN498pqjU05hl1VfWD1azZUx2HpPOppgwP5BbcLjeYt7//NC0AKd8jePDbU/TfBLtgZBMi7NoFKnhd1XoLSEmXymlSvXzIDd8y9xLN6+xIPg2uufuJT7C9LGnIzbqQbYgd7tWov9MM97H4InI3Dn1U2hQhw1uPFGouV6nX9sCU+JwW5NvqpaXsbGyh/CasuNWzkVQcYLvYaE3WOAQ3g2g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(396003)(366004)(346002)(136003)(376002)(451199018)(36756003)(86362001)(6916009)(41300700001)(186003)(26005)(6506007)(1076003)(6512007)(5660300002)(4326008)(2616005)(8936002)(316002)(478600001)(8676002)(107886003)(66476007)(6666004)(66556008)(66946007)(6486002)(82960400001)(38100700002)(2906002)(83380400001)(66899018);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VStNSzQ2bHZYVlF0UE5oQTZFcGlyZzhVaDhvQ2FhWnVOSW5yUSs5QUVHekVX?=
 =?utf-8?B?NUZWNmpGNk5PeUVHVTlGMXJ5ditQQmZWV1JHR1NQQkJpMkhKVE8waUdoRGIy?=
 =?utf-8?B?REE5SlVEd3kzNkZlYnhUd2toYUQwOHlNZUVBQVZ0Qm5vdTE5aFl5TEw4dkNo?=
 =?utf-8?B?N0pYdlRvTU0xMmJUeGl3ektOOHphQld0OUpYaXc2YjVxWHVHSnRhZU9JVHVI?=
 =?utf-8?B?MXJzSG5mTWJBa1F4WndKL1c5aDljd2pQOGU1c0ZxMkFjcTFTaGlIQjROeUlG?=
 =?utf-8?B?Qm5FZXdCQTRBczUvaHg0cUIrRXR1WDRySC9yUGhqeHlkQnVtRjl1bXdvcVdn?=
 =?utf-8?B?ZS9iUElVQTR2dzRzdkR5cldtSWRxSVZNbWNEMGM3RVpYaGhia2c4SzFCVEJH?=
 =?utf-8?B?a3hZY0VVcmJYZkdmUS9EUUM2bzNtOWUydlFiOFJmNFlGM0E5d0pLT1JIWTdm?=
 =?utf-8?B?SnpDRFo0SjRmQTdEMzB6TVdlYml4aUZSSEhQd3BDSHdjdFprQzZXcC91Y3RD?=
 =?utf-8?B?NnpQNVUyRjY0K0RyTzlEd0pxbzVXeG5JRWhqQSs3cU9pcm1PTGtUaXJaNFN4?=
 =?utf-8?B?a2tIdXFmOGxTYWZ3cWpEQXZObktKMjNBejhmalk4RzllSXVSaGlsbVhFRklk?=
 =?utf-8?B?YkFtNStGOE81ei9DZEZINzU0R0w1NG4zUEVCbm1IUFpjdEhmQnpSMmtJMHBD?=
 =?utf-8?B?N0JZcTdSU3dTVWk1RFFuMGQwNm1lcGRGaEh6Y3Nabitta3I3WndoRnZFY2k0?=
 =?utf-8?B?cmNVc2lTL256bmprY0JSZjJMNVdndThSU01OU2VjRVNvamNrMHdlVjJGRXBB?=
 =?utf-8?B?NGxUS1o2eEpjeHpVR1NqaENIRjVvendVL3JUYklmMHRoYU1KQmFUbEFnKzVY?=
 =?utf-8?B?clVidGw0ek1XMGlRb2RKS1B0Q3JQenVnVXdBTFFqcDMwUitXbU5EMXRtd2xy?=
 =?utf-8?B?eHE0OUNKckNJOUJ5ME9wR3E1MlFwUkZOK2VCdDZXeUp3QWdObk5LSk03VnRi?=
 =?utf-8?B?VVhNZkc4djA3VVdqbTRVd3JRcWd3MStINHR5bGFsR0MvUkdKcDk2aGIzZFNt?=
 =?utf-8?B?Q3FwWnlPUWZWZWJJM3FuVGk1QmJIdTdhVjFtNHA5YlRiR0FkcU1MT09lNGlu?=
 =?utf-8?B?UmVKNFozZG93Nmg0b2N0WDZ2ME96NVZwQjhacWpsMjN2emVabXM2UTY5VEM2?=
 =?utf-8?B?dE4xTk50WW91K1NNS3B2NEZVd3BZcHU5ejU2SEo5WWQ1L2EvbStsTWVHNlNU?=
 =?utf-8?B?MUZlNUgwZDN4Q05UbU1FSjd6M1FlSGt5QkliQ21kMG5weW5XajhoK1k1d0R2?=
 =?utf-8?B?d1FJcVFBd2JqcUQxS2xKR3phcy9tWngyOHNCaU9XUERTT2ZPUGdqY3Y2dEdD?=
 =?utf-8?B?SmFtYStDRlUyWkF4eVc5dmw5M0tHNHJQOVk5UElScW96OHBaU0pVUEprU1pw?=
 =?utf-8?B?VnBFRlBMUTZIZ1YyMDk1dUgvYXZ0Z29tRXNHaTJrMnNRTzFTQStZdjlnSTBu?=
 =?utf-8?B?MzU3c0JqVUxVYXVhejN5WUdwTzV5REllTC9UdFFCbjUvQXcwRzBuTjhLM3ZO?=
 =?utf-8?B?SFZiTDBNTGhTMWFWQ081VVlEbUw2UXhsNlF4ZE1uNWF2UWJkVkRoUDRxaUVO?=
 =?utf-8?B?dmpEWHNjWG5aQVBHcXprV1pTNkxPOUgwNXEwTjhEV0F3ZGVma2NJZHAzMG5N?=
 =?utf-8?B?SVNnc3ZLL3BIQkQyRzZkcEtzZmpSZHdZNDB2RzJDbTAxWmFvYXNUMi9OelFW?=
 =?utf-8?B?RVp4c0pqZ0I2U2lGTGl1dlI3RURMbjhqNHppSUhmS3RoeS9nYklkMzlCQlky?=
 =?utf-8?B?TWkrVmV0VituRnBDL3UyYmNJTURlbEFnanJYZEJ2ODRBOUZSa1p4bjhhVXJm?=
 =?utf-8?B?RS9xMmpqcW40dkJGODd6cWY0LzNHOVFGcFJleXQyTWxNTG5vbUVBQ1FZNG9K?=
 =?utf-8?B?d0d1bTNBT2xaM1A5ZmtYTjE0Z1l0OUtBNDF4bmxJV0o2dDFpcGhmWlhZbU9t?=
 =?utf-8?B?T21JcVJUNkVweE5kL04vSTE0NEIxenNIYkpKQkVVVS8raDVIbE56N3NjL2hG?=
 =?utf-8?B?VGVmM2cvMk4wb0dPeHVqVitmR2IwaUp6ZDRHR3NyRkxENy9VVkkxeWYxNWlD?=
 =?utf-8?B?am9CL05UYmhMMFdzWmhCQk9aQk9KRVE4S2hLN1NnTll1dytaVDdlY1hpcEJN?=
 =?utf-8?B?b3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	yV+CpMihrWmLsCXyPu0Sob6uC6KB5zZcN46LKY1PnRylYOdnObU5248BnTLxSpennTs/Of0O+14T8ZdbRm/wRI4b29zyMecNNMj2fNXDsUkFxj70Nfdw25PgM6eRAQIsNxqNhRlDxukH+4e2j7aVQPpcpTxNUryQTfGzvdaXYlrCcBPYTPhW14Grsuqx9euvbWVWqQOX9KaTRacVf3j2yVFv1cEEhRi7QtW8xJU1bDe2SrsJgKEsue2bhCvdnvFxvOhW6yodvoWnqn4q7kclViEn4AkQ47Qlfw7OW+F/fdiWXNINUyVD8sNlXWglDakLW4KIlGLfH5nGUqlVUUVQiBA2xBfJle1Dgs6PdvuPYCXsyr2JUC9D0ahBTp5p+GvAZ83gUzms3i305IYYaif3wE2doXJty9pnRSpSbZGzA+uqCQGUk3ZSlk4L9iUQSyFv2og9FwIhxn5c2xNwnIxwtJSaOozadn4E/nHNkAd7pXRxa8Pm7H4lRYHFmq0IBvxLi4lx+/hXLwQaB5wYhnlixojecuCPd+nKTFa/4D0v89Wh+i71Z8KwU3b3seY9V1ftfk+Lr0aKzIBmWz0JENfmG7cPY6xa7GCKjv27h4TZlxUUh30S/6DTQfwDZEtLTbPSbsC4iirSj1yPU2q//xNaS4eGzIoMp5K9h24uVVBSVVjchb5bA4Xtdfj7nOehi99AOF09cTqjTgC44SfbcEVqTXQE7H0qZSHSWVgSTkgv5wEjAHV44Qf1/oMCDQh07ruaaY0IwA3Hsnq/8Al/o67EmsiXzi5e9f5dImEmWc17yjsmHi9aBKhi3JVjSwhnqwQY
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c270ea1-337b-4f9d-75ed-08db23bc39cc
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 12:12:33.7643
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IK0xQCP6if5YDX3rh2nHayVbnPUN/rvZQ+97aPA6Cis+4j3nDAiFDeUasT6OB4pzyp9hUVE7okL23yHoAdTNFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6203

Introduce an install target, like it's used by other tests.  This
allows running the test on the installed systems, which is easier than
running it during the build phase when dealing with automated testing.
Strictly speaking the vpci test doesn't require to be run on a Xen
host currently, but that allows easier integration with logic that
runs the rest of the tests.

While there also adjust the makefile to use $(RM), and rename the
resulting binary to use a dash instead of an underscore (again to
match the rest of the tests).

Since the resulting test binary is now part of the distribution CC
must be used instead of HOSTCC, together with CFLAGS.  The usage of
CFLAGS requires removing two local unused variables and converting
pci_get_pdev() into a function in order for the 'd' local variable
in vpci_{read,write} to be used, or else the build of the test
fails.

Finally adjust the `run` target to only run the test if HOSTCC is CC,
else print a warning message.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
XenRT has recently gained the ability to run the tests in tools/tests
that are installed, so the install target is needed for that use-case.
---
Changes since v1:
 - Adjust run target to take HOSTCC vs CC into account.
 - Use CFLAGS.
 - Remove two unused variables.
 - Convert pci_get_pdev() into a function.
---
 tools/tests/vpci/Makefile | 18 ++++++++++++++----
 tools/tests/vpci/emul.h   |  7 ++++++-
 tools/tests/vpci/main.c   |  2 --
 3 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/tools/tests/vpci/Makefile b/tools/tests/vpci/Makefile
index 5075bc2be2..11f1ee7126 100644
--- a/tools/tests/vpci/Makefile
+++ b/tools/tests/vpci/Makefile
@@ -1,27 +1,37 @@
 XEN_ROOT=$(CURDIR)/../../..
 include $(XEN_ROOT)/tools/Rules.mk
 
-TARGET := test_vpci
+TARGET := test-vpci
 
 .PHONY: all
 all: $(TARGET)
 
 .PHONY: run
 run: $(TARGET)
+ifeq ($(CC),$(HOSTCC))
 	./$(TARGET)
+else
+	$(warning HOSTCC != CC, cannot run test)
+endif
 
 $(TARGET): vpci.c vpci.h list.h main.c emul.h
-	$(HOSTCC) -g -o $@ vpci.c main.c
+	$(CC) $(CFLAGS) -o $@ vpci.c main.c
 
 .PHONY: clean
 clean:
-	rm -rf $(TARGET) *.o *~ vpci.h vpci.c list.h
+	$(RM) -- $(TARGET) *.o *~ vpci.h vpci.c list.h
 
 .PHONY: distclean
 distclean: clean
 
 .PHONY: install
-install:
+install: all
+	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+	$(INSTALL_PROG) $(TARGET) $(DESTDIR)$(LIBEXEC_BIN)
+
+.PHONY: uninstall
+uninstall:
+	$(RM) -- $(DESTDIR)$(LIBEXEC_BIN)/$(TARGET)
 
 vpci.c: $(XEN_ROOT)/xen/drivers/vpci/vpci.c
 	# Remove includes and add the test harness header
diff --git a/tools/tests/vpci/emul.h b/tools/tests/vpci/emul.h
index f03e3a56d1..6baab20de5 100644
--- a/tools/tests/vpci/emul.h
+++ b/tools/tests/vpci/emul.h
@@ -92,7 +92,12 @@ typedef union {
 #define xmalloc(type) ((type *)malloc(sizeof(type)))
 #define xfree(p) free(p)
 
-#define pci_get_pdev(...) (&test_pdev)
+const static inline struct pci_dev *pci_get_pdev(const struct domain *d,
+                                                 pci_sbdf_t sbdf)
+{
+    return &test_pdev;
+}
+
 #define pci_get_ro_map(...) NULL
 
 #define test_bit(...) false
diff --git a/tools/tests/vpci/main.c b/tools/tests/vpci/main.c
index b9a0a6006b..e3335a0962 100644
--- a/tools/tests/vpci/main.c
+++ b/tools/tests/vpci/main.c
@@ -154,8 +154,6 @@ main(int argc, char **argv)
     uint16_t r20[2] = { };
     uint32_t r24 = 0;
     uint8_t r28, r30;
-    unsigned int i;
-    int rc;
 
     INIT_LIST_HEAD(&vpci.handlers);
     spin_lock_init(&vpci.lock);
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 12:21:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 12:21:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509248.784666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbhBD-0002VK-9L; Mon, 13 Mar 2023 12:21:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509248.784666; Mon, 13 Mar 2023 12:21: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 1pbhBD-0002VD-6g; Mon, 13 Mar 2023 12:21:31 +0000
Received: by outflank-mailman (input) for mailman id 509248;
 Mon, 13 Mar 2023 12:21:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2EdO=7F=citrix.com=prvs=4292f2e3e=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pbhBB-0002V7-Mz
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 12:21:29 +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 93689092-c199-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 13:21:28 +0100 (CET)
Received: from mail-dm6nam11lp2173.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 08:21:19 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DM6PR03MB5209.namprd03.prod.outlook.com (2603:10b6:5:245::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 12:21:17 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Mon, 13 Mar 2023
 12:21: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: 93689092-c199-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678710088;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=ZCInWqXnXNNAJCp2pmmLNSePjOPS7P383EwhPtdAKQU=;
  b=FFexCrCOXxUaHMeketc2hDbHO8e2Cr7u+cNbwYZlBnkPoEYV2Oafvois
   RIuW4rKAkdtbIoj+rauhPxSucz+OwOAmTFdcKczaE3+yf20zZ/DklGE8V
   KiFKb+Iy9qg6pwncf36g1MyOlJ6bCkhsoBQkZnG1dj+CvaClHdC2YT7Ve
   0=;
X-IronPort-RemoteIP: 104.47.57.173
X-IronPort-MID: 99966387
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:JuIc8amng3ESk8C+H7OICv7o5gz7JkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIbD2qEPPreYmf9L4h+Pd608U9Q6pfVz4NmHgVs/3syRCMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QSGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dMGeAAGTQ+dvtmn5Jfld9BnreYND9a+aevzulk4pd3YJdAPZMmaBonvu5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVM3iee2WDbWUoXiqcF9hEGXq
 3iA523kKhobKMae2XyO9XfEaurnzHKqBtxJROLQGvhCum+r22EJMSctREbk/uSHkUe/afN8J
 BlBksYphe1onKCxdfHnVgz+oGONuBE0Ut9cVeY97WmlyKDZ/gKYDWgsVSNaZZots8pebScxy
 laDktftBDpumL6YU3SQ8vGTtzzaETgYKyoOaDEJSSMB4sL/u8cjgxTXVNFhHaWpyNrvFlnYy
 jSHvCE4i7gJy8IGyq678Ervijeg4JPOS2Yd7QXNX3m57wp/Io2iaoqp5nDS6PoGJ4GcJnG6o
 HUbktKCqsAPCZ2AnjaERuklFbSlof2CNVX0i0N1DZAl8Diq5HeLcoVZ4TU4L0BsWu4EfjnmZ
 ELS4EVR+ZZVM1OjaKMxaIW0Y+wo0KzhHJL3VvnSYfJHZ5Q3fwiClAlMZFeR1maru0ghl4k2P
 JvdesGpZV46BKJ93XyJTuES+bYxw2Y1wma7eHzg5xGu0L7baHvLT74AaQKKdrpgs/jCpxjJ+
 dFCMcfM0w9YTOD1fijQ98gUMEwOKn84Q5vxrqS7a9K+H+avI0l5Y9e5/F/rU9UNc3h9/gsQw
 kyAZw==
IronPort-HdrOrdr: A9a23:tQzFUKE4gks52RQ9pLqEGMeALOsnbusQ8zAXPhhKOGBomszxrb
 HKoB1p726KtN9xYgBTpTnkAsO9qBznhOZICOUqTNSftUzdyRaVxeJZnP7fKl/balbDH4dmvM
 8KE5SWSueAd2SS5fya3ODSKadF/DDzytHPuQ6o9QYLcegFUdAD0+67MGqm+49NKTWuyaBXKH
 L0jfA33gZJGBwsH7eG7yQ+Lpn+Tpbw5ezbiFY9dm4aAcC14w+V1A==
X-IronPort-AV: E=Sophos;i="5.98,256,1673931600"; 
   d="scan'208";a="99966387"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J+dHVi4TzkU30fFH8721EQkY8OGyLwGRhoGEugMuuHnQSD2qHWNc7D0B7XFy69LXPuUD7fz8Pho2D9CQnkmEnwBJoIVZRkTj8huwT5VgmtBYT5i85oqkQue0eozs/uE1t71Wg4tiomPRQUsbUlOWc2I/J5RNfQA42Bj363wssR9IKaVTs33bRT51Qr8xcaACAwvsqX895M3UMzhgA7BUP253EAwJ4cPs8voZLd4409kXW0KW96rILI38OCF9n7xYkZ07QXQ690HhGJPCC8YEdY0Mq5SS+wXmSAzUbNtxA2YHUECEBrMv3yT/aFaphZpM12MbjS1xS5kjZZV/MFkoDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vMZq7t5HACCBn4ul1x+K4zW9jH35Wn7eBpGq+8P6zPs=;
 b=hJoNsBl/mcSckh0hTVxIP500TpSM74qcnSXOftyZ8bArE9x1t1sRqBtGA0AlOf+ur1snstpislT789Pt0LgxTG8mzSx2vN1jYqFApPCuWRJwHP4iv9fLim2u84M5AtJ+fM5DIdJfp/jgtPeBG9SbczY4AlkMOsL7SGVIH5vFk5fbbWEegMZclSCZjk/HoPG4S7BvQ+Ea2wUIz33uaIefGIetxpoMcf8mdxGynpKPEt5+hWgAFM3EUbcQzrNXjbAKYy0asTTxGPuXfNuIpTaMYFWnDjzX63yo24BD59UEoutur/YB1Y4Y9eaVNG/7Mbdd8H2yZ+hBRvIK7fP0IIdNtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vMZq7t5HACCBn4ul1x+K4zW9jH35Wn7eBpGq+8P6zPs=;
 b=E3Q+w8UGaLx5IskRjJERsRmzVC+Vmq83qLZDiBYr0g7nAUIEjTSQciqPT2L7/OlmeOaSHTNydU6mCEKWGxywIofvGvSYX1GfKpsLWUXBR0hdp9iICULZpwUaxbhqDIt1wJDnBTklp/tEaH1iX5sXjxRdOxzgh2do4zSF0LCFJ5g=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 13 Mar 2023 13:21:10 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Huang Rui <ray.huang@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [RFC XEN PATCH 1/6] x86/pvh: report ACPI VFCT table to dom0 if
 present
Message-ID: <ZA8VNkfHUMjvtUnR@Air-de-Roger>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-2-ray.huang@amd.com>
 <682beaa7-736e-432a-3525-1368891641c6@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <682beaa7-736e-432a-3525-1368891641c6@citrix.com>
X-ClientProxiedBy: LO4P123CA0631.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:294::17) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DM6PR03MB5209:EE_
X-MS-Office365-Filtering-Correlation-Id: 9cf8e65e-bf15-4c7a-eade-08db23bd715d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	117tjladG8i0Cib7vNiAJLes5pNSM3uHp+rHIp/HkdR7IZeszBEPLkbUjz9RTbGtvD67NNbAFTIkTple8ojoqTBD78vRAaovEUfVRzr2yXfJsQS9DF6NAhzCLzA9uVKc/Hk7IdNrtvoeV0ADXWgwySQm9zaQ5IzQwVFrYeT4dmpSJyuVwKn+A+za15FMPp5UjdOtEkGF2Eq7+0bvRrD9ZeKE9en59ylzNtAyVUSRTdeLGZzxZy/XQY52PlX0nb93bNCNdxa/gPdTb/XxfkhXW+8NYLYq9lqdwvYU2ZiazAuaRs+PFBTKNdBLhCpBjjyG2FQeRoK81fVPlyuCUlSeq9qRl+Ost/ZS3fXMbdQ/s7O+xy333/e49m7Eswhh0q6BFeYStRZozEhifTREec7s84dhrVfdTT+Bf0bL1KHEx5bS36mY+GjeaOETfQiAiKBb1ScOdPY4kmj9l2ThbFO2g7ewKxSMvDwkM5C6rUZvUAlX/uodutyLdKH1yTcGYR2Y4GlYGXNxyXa1bB0Bk298vpKVQw2aUlz9Y7lcZcvJSeNHs/JooU9grEZ2Hc6+wm6ZUYlwKtG/u0oqTXHgDmnh+j/hF6bGl2ChBAIGeEUikox7743zUGIvdlYeimiZ3HNZEWX4gLgqg5wNwr+5xu5ZvA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(376002)(136003)(39860400002)(366004)(346002)(396003)(451199018)(5660300002)(7416002)(85182001)(83380400001)(478600001)(6666004)(6506007)(26005)(6512007)(6486002)(33716001)(53546011)(9686003)(186003)(66476007)(4326008)(54906003)(6636002)(66946007)(8936002)(66556008)(41300700001)(8676002)(6862004)(86362001)(316002)(38100700002)(82960400001)(66899018)(2906002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NVo5ZXRianJVaWhIN2Vua0g1TWFuc0UrWDZNK1NtV2lON1ZZR1NxWEthVU9u?=
 =?utf-8?B?cTRTTTFyZG4rV09QNDh5U01HbnN6RGVOTkFoZlhyOGtFeUJWemRZbC9Odk5D?=
 =?utf-8?B?VHNzb0JJb3E5WDZHYlFNZkhDQmQwczI3N21DMnBGcmtQbDh5Qnltd1hJVGpr?=
 =?utf-8?B?c2VkdWw3T1VtV2lQNHhGdVRaSDd6MEhkaVJsYXY5Z1JsQ3UwRExTVnZST3Zt?=
 =?utf-8?B?TXdyT215dGRBUmUwaTlLc2ppUUtKZ1MzK2xuSzF1aWd6MGx5MzY2RUJ5c3hP?=
 =?utf-8?B?ZUk0eTZ5ZFRjN1BlZE1VaE1DRFZjSlJ3UDFGK1N6ZmdudmVTZEFZYU1uTHQz?=
 =?utf-8?B?S1RBWGJxZmdjZFh4UitRUkdCWXprRlJNUEdVdVdRMlNaZ2xTR3djMGhsLzNj?=
 =?utf-8?B?T0lLVDdHTzRLRFh2ZmdZYm1QQklueXNMZDNLc2w5RzhNaWg1aGsvWUFQQUZ3?=
 =?utf-8?B?cVkwN0V6dXE2dkhPOWlBMmZBYnVNOSs1MlM5dS9HbjlwYUVDbXBRZjhrdkVk?=
 =?utf-8?B?eWZCYzlXY05TMmxGYzg2M3J4OVpzU3ZtYi9Odys1U1ZiUElkc3UxVDBsdjJ3?=
 =?utf-8?B?OFI2V2NDSmRUNVFQTHh0SHB5elh4U0VwbW9DUTJlQ3VvcHh2Ky9QaXVoWWpJ?=
 =?utf-8?B?bHVGV3hnbWxXRlkxdThVNVg5dzlkS3dqQVQ4RmNoRDFjNVFMZ2xyOXQxeDhV?=
 =?utf-8?B?c3pWZ2tOSU5WbTdPckpUOU04UEZXenl6SXJ5S0t1THVxZFRmaitxekd1NUhB?=
 =?utf-8?B?d0xPSjErZHEwREp6bUdOYlpKSlNVT2lVUXIvU2ZDdU1JQTdsaTFXa1hyM1dD?=
 =?utf-8?B?QlcrUStNZCtTY01xVEloamxIemJQRTM5RnIyc2tZTWltQkRhRVNNejdFdDB2?=
 =?utf-8?B?SitYYWxNeFNINkJUWk4wYzhxQm5qcVBTYXJudWZnMUZBTTlDdkp0Y0pnUUt3?=
 =?utf-8?B?cjFhb05TN3FYY0lLZmk3aFFpaFhhSWZtVVNKMnV1OWZjNjQ5cmkzV1gyNDFL?=
 =?utf-8?B?aitReElRYlZlSlFmRVhpREowc3RZNkpMSDE3ejRpYTRnejhCUUx1L2NBUXVI?=
 =?utf-8?B?RXNod0RudnBONDl4aUlTRExzeEFUMm1CQVZ5Z1lycUp6SEJNT21ldTZSL0Vh?=
 =?utf-8?B?SUE2dk81anpJY0wyRWY2ZGlQSG1SVDYvMFZ1YXR1U0J4aUdWV044WmhyU09p?=
 =?utf-8?B?cGhUUkhlUzVuTjY4Z2NneFVhT2QvMk5KT0tMa0d5Rm5HM0lYTzBmTCtKZGo0?=
 =?utf-8?B?TFpZbElmOExTYU9Db1IyY0ZkTW01V1VHT3FBeFA5dHBmeDdkY3R5SDRIWTJt?=
 =?utf-8?B?N2Q3NXVqSW1HL1g0M3RyaytHVU5sS2ZtSnNZejBCclJsYlg1aURhdHR6Qm1S?=
 =?utf-8?B?L2o4RUwzQmFST3pvMjB1Q2F5T0phQUFmQXNPWkswOWhxT0FkdEJBUUFxTUM2?=
 =?utf-8?B?UVlDdmQ2Q0xNcjRyM0VKOHVLdDV6SnZoUjIxZE0xZFFSTndvSzJCS01seVc1?=
 =?utf-8?B?bFkveUJ3QVhkU2FjdHVOMUNObTFxK1pUK2dYTW5TTkdxSjdZTGJZWFdkNS81?=
 =?utf-8?B?TW1DS3JidlJldFhQdmZ0ck4zNmQ0OXlDSVA4NTlxMlBUWWVRNUR5aFFCUTVw?=
 =?utf-8?B?b1YraEFNcm1ESlA4UzVodWt6ZE1nVVIzYXhNWjUxZ0FCQkV6cGYxUmxOR1U5?=
 =?utf-8?B?MzRnRVFyMnRBb0xzT0FlV3FKRG1OUkxHYTdZbTMyWWNDRkZHamZRRHduaGxm?=
 =?utf-8?B?dGpJNGRoVDJPMkVaYlVvSDREMExLU1Zsbm5nNGR5WDZhaWFkMU01a2FrOENC?=
 =?utf-8?B?V2xBWVJ5VzBCcW8rNlZ3KzFMVXgrS1RpRWRhdkRXSFJuK0dFeUZuRUlBZlY3?=
 =?utf-8?B?SEZONkRGSlF1Tkw2MmM3eWdLZGEzeEZrL2x3K3prODZ3OTVOWkRNN2I2UDIr?=
 =?utf-8?B?WFZidS8zZnowSitZdGZTV3hwejNmODVHMWRQbVJORWVqc1lkbEVrWHdxR0E1?=
 =?utf-8?B?VFl5U1U1VW01djEwcHMzNDFFTktVdGNkYVRiemlmV3pGTGdySnEzV3VqWVVl?=
 =?utf-8?B?Wnh6WjE5US9rNG1nL3VmVlJDdHF3Q3NKVmFWdzlQNUQxbWxQNmNMNFhuZHM0?=
 =?utf-8?B?SmVPaHE0QTVqQThOVjFINnkxajlKOWVJQTJ2R3htZVFKUjlzbXA3L0YxUUhj?=
 =?utf-8?B?WUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	bk+bsKELFNG7YAbMl43ze3vFsMTlMvFxjuM8VL8F7rgv5bD6/CTrJI3WoimmyDOOKtjS0vUbB4zN73CC4UYs4cHWBnJ27+qEHYSOgtPqhuDqcCFVWdnd4+QkVmoS3eNptCR4UvahyBo/qBiPz9pZNSHpXQNE8qS1kUsb56a9Ox6ioQ5I4JxHsGM27HyUHV8K2M7pGyFg06VFhtnhjPqJR1k+fKZRaPEuRI5Tj5b2/myODZ1wtKWw29/9WTqRQwuzjtAkmUWL6qSnMX9a6vZDm0Yr4wTd1brYmZTLpPh9bZPxl7YzgAGzEVoTkf/94jyX35xcaB3ooOTFnT79/MllLHpDIfEoBAw14uREj022NTtUA9G2gktUIBnkxdvGyZpLp9CA2knEXfOtAnekr/E+2wZecIbxr3I7bYu8L86xZQ/Qi5IqvN+BFXXv9FwpV1I1UdZOMr4EY83YUBwztrSaDgN5qSkHwNo91f2FO1X28UYFIJSVROGr0YUH5CNz3NSIUnaK1G1i9QvkgRmFHuASCOfAqrCn1UQuS6Yde6Rrg//XxIRYfHutb8+Vj7SMvUUYw8HEUOiuFx0qgHoByKmCZSgc9n/L+A7Kcutay0nYfNoPQtcV+nUCeW3cgr/Wzp1tHUQnZ9IUBWDMqGbIqvLWRztKPN3mzkC/9Hb9LW3zain3YlaaTrR8+MdpHmi2IAH7IYesIJz4eMdXAQLqmfwGKHbxdLnK9uR6ru0zlX5j+BcXCfbv4EM8MVf3k8lOQlitl6LKON3w4v2zffyfB+BP5fameSgYaG19vh/eoZ5mZqczd0Z5ItkkjG1UeHPT2ImAxC0Ovn25+1J7Uo8XTufT6egbPC5GVMW3hIWIuVYZ0gzXhtS3+2X3D89G4B1SBTvNnGxb/LFdFo0LuOiY53q5Pw==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9cf8e65e-bf15-4c7a-eade-08db23bd715d
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 12:21:17.6308
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tt5yYTLnQEHpcUFeAazKS8Pt5uG6SKC25GFbvpGUUMNq4W7LkldTuV6iEQWKm4CyKkPH2RYp1HS9DVGPiV6xxw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5209

On Mon, Mar 13, 2023 at 11:55:56AM +0000, Andrew Cooper wrote:
> On 12/03/2023 7:54 am, Huang Rui wrote:
> > From: Roger Pau Monne <roger.pau@citrix.com>
> >
> > The VFCT ACPI table is used by AMD GPUs to expose the vbios ROM image
> > from the firmware instead of doing it on the PCI ROM on the physical
> > device.
> >
> > As such, this needs to be available for PVH dom0 to access, or else
> > the GPU won't work.
> >
> > Reported-by: Huang Rui <ray.huang@amd.com>
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > Acked-and-Tested-by: Huang Rui <ray.huang@amd.com>
> > Release-acked-by: Henry Wang <Henry.Wang@arm.com>
> > Signed-off-by: Huang Rui <ray.huang@amd.com>
> 
> Huh...  Despite the release ack, this didn't get committed for 4.17.

There was a pending query from Jan as to where was this table
signature documented or at least registered, as it's not in the ACPI
spec or any related files.

I don't oppose to the change, as it's already used by Linux, so I
think it's impossible for the table signature to be reused, even if
not properly documented (it would cause havoc).

It's however not ideal to set this kind of precedents.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 12:27:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 12:27:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509251.784676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbhGo-0003BA-1j; Mon, 13 Mar 2023 12:27:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509251.784676; Mon, 13 Mar 2023 12:27:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbhGn-0003B3-V8; Mon, 13 Mar 2023 12:27:17 +0000
Received: by outflank-mailman (input) for mailman id 509251;
 Mon, 13 Mar 2023 12:27: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=koCJ=7F=citrix.com=prvs=42903c55b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pbhGm-0003Ax-RX
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 12:27:16 +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 6229b5bb-c19a-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 13:27:15 +0100 (CET)
Received: from mail-mw2nam12lp2048.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.48])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 08:27:12 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BL1PR03MB6024.namprd03.prod.outlook.com (2603:10b6:208:316::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.25; Mon, 13 Mar
 2023 12:27:09 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 12:27:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6229b5bb-c19a-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678710435;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=TII/Ubu+t4CsnA6FCYs5Sl8c453IDpuoZ21wnpi9bVw=;
  b=EessVTUAYltUssRKol/VelS5YLSV4eewrgVZ7dZ9eGHduA9JPEDDYAqa
   1fHYhezCaeUeTJHtWleFHIIxYfZkDEznb/B50YrZ6myKzKD1f6jPwnhAW
   3MFyQqgGilcRWU2KQP3qqWNOv7wsOl8ImQknCk/AbrAocoA3XLf69DkH5
   Q=;
X-IronPort-RemoteIP: 104.47.66.48
X-IronPort-MID: 100600917
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:+oX4XayxPaC2pG3rQgN6t+c2xirEfRIJ4+MujC+fZmUNrF6WrkVSz
 WVMXmrUaa6INGCmfNwka9+z9ElXvZSEz9VjGwps+SAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlPKsT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KVpK9
 ewBBQEIVAiSiMiO8b+qRflrpMt2eaEHPKtH0p1h5RfwKK98BLX8GeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvTaVkFwZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqjANxKTOzhqZaGhnW292cOAQw7c2GghvqEjmu4YvxfN
 WILr39GQa8asRbDosPGdwexsTiEoxcaVPJZFuF84waIooLW6QuEAmkPThZadccr8sQxQFQCz
 USVltnkAThutry9Sn+H8LqQ6zSoNkA9PWIEICMJUwYBy93iu50oyALCSM55F6y4hcGzHiv/q
 xiDqCUujrMfgNRN26im9lDKmRqlo5SPRQkwji3cXnik9R94bYjjZIul71nUxf9FIMCSSVzpl
 EMYlteX9vxILZCJmCGHWuwLEJmg4vrDOzrZ6XZlAoMz/jCq93m8dKhf5Th/IAFiNcNsUT/uZ
 kDXtAIIop9ONX2lRaZyb8S6DMFC5ar9EdXsEOLUZ9xBSpF0eEmM+yQGTWyRxmHklg4Hkaw5E
 Z6efYCnCnNyIYRqyiCnAdgU17ADzzo7g2jUQPjGIw+P1LOfYDuQVu0DOV7XNOQhtvvY8EPS7
 spVMNaMx1NHSuribyLL8IkVa1cXMXw8ApOwoMtSHgKeHjdb9KgaI6e56dscl0ZNxsy5Ss+gE
 qmBZ3Jl
IronPort-HdrOrdr: A9a23:SCkT0a65f6b5DvDy9APXwKfXdLJyesId70hD6qkXc3xom62j9v
 xG88516faZslsssRIb8+xoUZPoKRjhHPVOj7X5U43PYDXb
X-IronPort-AV: E=Sophos;i="5.98,256,1673931600"; 
   d="scan'208";a="100600917"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NWtDmQPay4QdhkOzEACnxTuB6Tqvka4FDSaWLTVQlGQbKUxwygCJtDw27L7gEESAnaz8VFGJB+YLOeZIRngQ1VqQKK/+x48CAPigWh6/wUDcWGHoLDavE/A3N2o1nIoLDChddC+ferTHHNuvX9pRjs9r0z/vxx4pn5Lp+GfG0gI/2XB9VUvYw4JvT7eYwC0QSR9Lc0AwofewuKdi1j3nEfFc34VE6An3mokd3ssCwLWrAUJCH8VyR9H/gM6Vxt6xI0dqDhrnflDZncndwr4/gppmoPye6M92DVb5rrF1hxoCCyCKI8ZWAx6VNUxmo3lwuxnTcF77flI7SXEuFhyPPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TII/Ubu+t4CsnA6FCYs5Sl8c453IDpuoZ21wnpi9bVw=;
 b=fi30N3DS12Aa7f491ZsbtDtALL7phvPARIZuQRTqUK+9XT1rE3mEID0mIXsZysztDksxTUrlZYFhS9kM1tWuwxdG21dryXpziXfsY6L0SHnuqnMBe4e12nj0E/xmCc4tn5ZM5S6sYzgTsdKqUnW16tWJ+DQpTqAyJQkVX0rRgranNR6MGWPMierbsm0XOIEcRKzQdg/LTKy5dJxCMXI4/X9XSxcSnbyy8frM5mmu1NHIQYZU/y6IaGwpl0vCfYuYCLdNaZ7ay0mxuHlg0ipz2kj4F+yQDlF3hC5cyz8fajCKf4waD0659fFg+w6AbOD+jx6SY19hFnCl4r1MDISAOw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TII/Ubu+t4CsnA6FCYs5Sl8c453IDpuoZ21wnpi9bVw=;
 b=Wwhg1Cf6gHOq8x0XxT5kKW97iCybxdCQTpIiDmNaffWoWMwk2lVU5HLtQZSILF29ro89VUTWGLrtvVSlxdlqp8Mv7y0MH9WguKNXKhfWiHfO+XgAbZ/t6oYTDYUmU3v6k/rJvsSTjL2s2yl7/F4BN5nImBLtXpiwTv1bDucLl7c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <93b735ba-ac00-0190-f8aa-0d85af3b8c13@citrix.com>
Date: Mon, 13 Mar 2023 12:27:02 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [RFC XEN PATCH 1/6] x86/pvh: report ACPI VFCT table to dom0 if
 present
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Huang Rui <ray.huang@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, Henry Wang <Henry.Wang@arm.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-2-ray.huang@amd.com>
 <682beaa7-736e-432a-3525-1368891641c6@citrix.com>
 <ZA8VNkfHUMjvtUnR@Air-de-Roger>
In-Reply-To: <ZA8VNkfHUMjvtUnR@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0175.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18a::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BL1PR03MB6024:EE_
X-MS-Office365-Filtering-Correlation-Id: f6a03d1f-409d-4ccd-6623-08db23be43c7
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ExX77Cm1RltyolNLCouEoYTcpgjCSXuVeGra1qXfHHzAMx7Q2rbQV0PzDOdtOwKHbfMQAXpc5m+dLuQsI9KMFlURF9MwCVZ5D0hLJopkVz7ziEoepJLfX3BvWl4WjUNxhEsez2rJXkem+INM3BRw1tM9mDMvQQL6nUg+x2Bdd2rFXiWdeonWwijEJq8f5X9BT4YkxoyzkEhPYnyyZKB5PTnGqU6Id+8qCvVg0i0WUqrMyZ4gX0NbRBjmbnZ70cISVPWv+wWRYzJLTbesPowg463FToqNh3iwc6udGzth9psYq8sfu0aBUbVP6HI8q30zaf3zRgSwHHBiIzpRKgLZRp28l7Ul8ZpucP9osI/sTiV6v4aNf1Dkiw+mHgyydVr9B5qf1HzIxz41sm0fCN+kQYull0FPfpy2gfewxj1vEB9kuL9dITL5gQJrEF/L+f6Xgu/hyAb2cYtSb0QxfvFMNxXCp24cWriIla7s/cXeYIUkvbOOpO7+xH3q5teNbUxMyqkHurNkxkF8nwMfJrfn/fNNwiHxG+7OHaDw0KGncnmV8stKfnjgVvKc9Lbo8ObkGglRLhKt4ifaLlXPiMPHUuZ9v2vBeZ4D6fa6uERQpFE5Tuz94c8KOAV+LAprHk3TDnCtOw5WACCr2Rzt/fEnaXxbxNHMaOkr2zYI9owPZF5hukqSSEOWeAxkIUwyb2/VhjoM3Si0W2EpuiYCzJAmh+LRJZ7EYQDFuBNu3MTZPEQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(366004)(39860400002)(346002)(136003)(396003)(451199018)(5660300002)(7416002)(36756003)(83380400001)(186003)(478600001)(6512007)(26005)(6666004)(6506007)(6486002)(2616005)(53546011)(8676002)(66476007)(6862004)(66946007)(66556008)(4326008)(41300700001)(8936002)(86362001)(31696002)(54906003)(37006003)(316002)(6636002)(38100700002)(82960400001)(66899018)(31686004)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dVRKMzZhejMyU0xYTHk1TzBic3d2YjlSdFhHR3FZVjFLZW9Pd3JZeFNzQ2dX?=
 =?utf-8?B?S0xyejZOcnR3TUpLQ3crUmJjdlh5d2tMRlRNKy9rUGZzOXZOdGlDMkY2NHVM?=
 =?utf-8?B?a09kNG5RT083Z21naWgvMW93eEpBaTl6RVV0M2lIYjlTU3M2aEhGL25rWllY?=
 =?utf-8?B?NGIybHJHSTJ1cEw2a3FGeGZPREczaHpqOFRTMlNyVkxETldhRGp0WDNyOGRV?=
 =?utf-8?B?SGx0c0NENit2eHpFbzU2bWJYVVFtdnlNaG94RS9IR25CZXVHaW9hZ0R1MFZE?=
 =?utf-8?B?emRrc1BVVEZsYzg0U2lydE9jRjJCaUxvSjBjT3phOWZ1Zy9PTk9oaHdiM29p?=
 =?utf-8?B?QkUzOVVYbmFZRVlzWHRnZVNLZmlCWFdiRVJuaytjdGdSNWZUQlg1SkdPNnc4?=
 =?utf-8?B?cUZ6cVpENk45UkV2b2xFY0hCTTliVHA5S0JYNUtaQlVCSUZRSjE3Q0diaFVs?=
 =?utf-8?B?MnBZUmpIR2RWTmNoRW8xTzJ2NUlvYTM3NGU0dXI3d3NRTXRUMkVyUzlabk9n?=
 =?utf-8?B?WGZHMVdVZE50Q3ZoNmw3SUhnSHcrazZGdFZTdjVzMEczNjhENGs0em56RHpl?=
 =?utf-8?B?ak1qanc0U2FDZHZURTFOVlZsZXRjS1h2NVdUZjZNcEJyMy9BaFpHUEZma0o0?=
 =?utf-8?B?RDNPV2VDRWFYVlhURitKMHUwSWJNSkNETTdtL3dxM0dXbjdEejBCdC9QSDJv?=
 =?utf-8?B?VitGUXdZOFNLUi9wNVRzdTJxK20rU3ZSV3RCUnRBU3pyVHZxRkNVOEk5VUpE?=
 =?utf-8?B?R0RjTFBmQVYza3Z1OEcvano0dUw2MEtXdTJxZFIwZVJpWDM2dGRvaTkyVllE?=
 =?utf-8?B?bWpCamtmOWxVSDJ6SHc4VGh1TWZXQy8zWkltblJZNWZiME5TMjZBYVE1VGd2?=
 =?utf-8?B?ZXEvcm0zUFQ2OVN3WCtkeW9oT21lT0Vadmc5OVhSbnRHVE13RTlLbVZ0R3NZ?=
 =?utf-8?B?SkF6cVpuWDJMR3lKMHhUY1V4YXFDdStoVHg2bjJZR1pHYmJ6eDVBOWxiTmNh?=
 =?utf-8?B?V29mL0FpdlRINFEvZFJqZ0NMY1g3Qnp1QXd6UHluYnNZVTNNWkYydVlkRmRk?=
 =?utf-8?B?SDZSVkF0Q09Xcm9Uc3hCRW1RWisyVzI2NkRaQjY5aDZCK2wvTEJ5KzBoV1da?=
 =?utf-8?B?WE5jRGZMZFBocHpKWnBQTmdKNTZrUzRHUk5VcExQUXlVMWZnYjAxUGJOa29L?=
 =?utf-8?B?ZzdWZTVET09FT3JGTTMyMC95cWorY3NkdkZvOTBBbDJqbWM2QktqWkU0SDRm?=
 =?utf-8?B?MWZ2SGdEbEkrUW15cGtJM3NxeUp1b3EwaHlZc2NZWC9jQkthZVBlVjY2TDQ2?=
 =?utf-8?B?cnQyMTJtemFmZG1seENVdFhxQUFLSDJRZEZhT05iS2FMTFdhSTQvR25UR0sw?=
 =?utf-8?B?bFJBdklXMU1qU0pqM2xGVEE2OXhZSG9Hc05OMnFGYTRvYTdsRng5bUh5cnh6?=
 =?utf-8?B?NzVXbVJKbnh0OXJzWjdVWm5uM2xERHVGRjUzRk9vVWNDNzBOdXpXUVIwZGdT?=
 =?utf-8?B?eGVpbzdCUUJvYVdaNzFrRUowSXREa043OVkxaWhVdUJoRlVUcCtPL0lmUEdJ?=
 =?utf-8?B?VVF4WWxXNmlhdTZzN21kemJFSXFGMWdDMTNOTUJMVmE2R0RsS25DcmNnWDlr?=
 =?utf-8?B?dUxpcjZ1NzlIOXR4R2RiS2xPVzJ6d09rYVozc3habXAyTFBVdWRoMzMzYkRp?=
 =?utf-8?B?SXZwUnVHUWxjNFFlKzNKRkJhaVE1TjVzSkFMNzVYTGpzR25ZTzhuVzZwWDFP?=
 =?utf-8?B?RnE5NHJNbCtRUGxsYy9xUVNBTG90RE9lRjRPY0tVQjd4YjUweHRnbDlyTWpP?=
 =?utf-8?B?UkpOYlIySnplQjY4ckVJMHU3MnRWYzl1OFlHY1F6ZTNBdnY4YTdsT0dNYXA5?=
 =?utf-8?B?TnNTMEZZNkZCanpGMUh4V1FZdFBDMUZmRHhGNDRNY2l6a21ocEx3S1RZbFJ0?=
 =?utf-8?B?Q0tVSWFENWtOYm1JcmRlbGxkMVliZndUeHRWTTBvOE1TUWoveW1SUnlXaWNZ?=
 =?utf-8?B?ZkFWSkloM1NIbWhwMnVhc0RNNG9ONGZ1V29NWmdoSENUTnpPcHVrTEpwVmdX?=
 =?utf-8?B?TE4wWG1aZC93bklZcjFnVXA1OEJWN1FDWVRoSEhlNmFRYXliMENyUCtGVFNX?=
 =?utf-8?B?eVJha01FZTZCTFJlZU1GUjdNRkkvdVcyMStkbXg4elJHcnJlcVVqaVR0V2dH?=
 =?utf-8?B?b1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Qss8w3AKofikWGeUZaRlP2WZy9etdYt6xCo1PIh20ZGXuNV4GoZa+debXJHOOHqrbNmwwROCSfBu9625ucEaBIJ2kag46IxWrvaPO/zBExKFw7caXPeaHVDn1v9X5YkopdlaJrkFbE+5r7mpTjycTvCaDzZEcsv9H0PXfnIU6VED0zPbL/7TTRcQEAo7tEaf2NSukrgt/RcQha8f5HpU5JOA8+nkujDhC4LESuo1jMh48rjmzjSQjjaLLIoalPrPVgoC0EW9FIgf3SZJhndjF3iWMq6xZXziFU/6P55Qel6CYXCAk4NlTQmmlnMULwVCCWGDmRan7D+dg2BocgKxQ/V2oXJ6fG5rFVA+owy30+pLFWFxGYAnNwZNM+NuPCW4NVTdmSrlA7T4sPmL5ZhTiu0qCAe8cXdoJc2PuaKY7z1ZRfbVX//q5htNUcjSMll3Dz6KrVu18HyyRCxL/9G3a6Z7i5K6b8XkvJ/5j7RHbQgdxeaar/byMhyus40UppPc+pq3rYZ4a1QRAD1EiOV2G7nGhUO8affbeJ5nPHZDwJqBjJ+QHV45PzlcrknWPVNGoD31i1Tdd5RCXrw606JfRxtjwVl9PZdAguj/m5hqbCU2cLbOyIMe1AsUA17XVHbDr3nTt00gsk59mH8H7Z7CQ6iqNckYldFMzCtBY0pcjMq8T1b5l04y2cKbH9DomnAkrb8EzLQPRigXPuCBuxtGN6B5LrKzzovoGAER8TtP3q1sEJROXAu1DT/3UjII2QJ1Dz68UwAZ2VS4IgqQgdLYKKntv6VwZiydleAH+uFA35OQKX3WuqkqUGZcZ6Z7rg64v+E7FBh5uo6jvOmvq7i7jsY2XdXE/oEiaYfvZkxthKgZdCfXz6dTewqv0wcS/CifXZTxOm9OTYPO6FUwpgsZ4Q==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f6a03d1f-409d-4ccd-6623-08db23be43c7
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 12:27:09.3769
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: m4R1Qm/Nw8rJq5MxaPtbHdL+vuWjkmtbxeImvU6RQVeeMtVp8/oKNTE0I1hgs5PsSDuzWNnpEN6Ys2hcp4R9qOtxM5An4zePWdww88WiujU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6024

On 13/03/2023 12:21 pm, Roger Pau Monné wrote:
> On Mon, Mar 13, 2023 at 11:55:56AM +0000, Andrew Cooper wrote:
>> On 12/03/2023 7:54 am, Huang Rui wrote:
>>> From: Roger Pau Monne <roger.pau@citrix.com>
>>>
>>> The VFCT ACPI table is used by AMD GPUs to expose the vbios ROM image
>>> from the firmware instead of doing it on the PCI ROM on the physical
>>> device.
>>>
>>> As such, this needs to be available for PVH dom0 to access, or else
>>> the GPU won't work.
>>>
>>> Reported-by: Huang Rui <ray.huang@amd.com>
>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>>> Acked-and-Tested-by: Huang Rui <ray.huang@amd.com>
>>> Release-acked-by: Henry Wang <Henry.Wang@arm.com>
>>> Signed-off-by: Huang Rui <ray.huang@amd.com>
>> Huh...  Despite the release ack, this didn't get committed for 4.17.
> There was a pending query from Jan as to where was this table
> signature documented or at least registered, as it's not in the ACPI
> spec or any related files.
>
> I don't oppose to the change, as it's already used by Linux, so I
> think it's impossible for the table signature to be reused, even if
> not properly documented (it would cause havoc).
>
> It's however not ideal to set this kind of precedents.

It's not great, but this exists in real systems, for several generations
it seems.

Making things work for users trumps any idealistic beliefs about
firmware actually conforming to spec.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 13:08:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 13:08:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509253.784687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbhue-0007ql-6N; Mon, 13 Mar 2023 13:08:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509253.784687; Mon, 13 Mar 2023 13: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 1pbhue-0007qe-1I; Mon, 13 Mar 2023 13:08:28 +0000
Received: by outflank-mailman (input) for mailman id 509253;
 Mon, 13 Mar 2023 13:08:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=E75v=7F=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1pbhuc-0007qY-MX
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 13:08:26 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0601.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 22a34674-c1a0-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 14:08:25 +0100 (CET)
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
 by DU2PR04MB8520.eurprd04.prod.outlook.com (2603:10a6:10:2d3::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 13:08:20 +0000
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487]) by VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487%4]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 13:08: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: 22a34674-c1a0-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ExG/uhiTUAJz/Rqp1T6T4IHBH3E4AvGtzF5vV5DAaOO7r2KAZPjuja6ONakMatBCDqY5j6vG1s5Xf0uYx5TstwGHO3kWrk9GnE65PMjWVDa+Ah+r2wqVA6ASq0J4Y7L94pADsJ+vpE5mLR5YGKS5c4qBb9+r0OEyol8h7Q5zj6iV7CebwQh6cscG5UWwtEBFyWyTgq2E1fiI87Mt0hlMsLa9cdpFDHCwBXG+nV6aNfqKPDc6ptnI06fmNAMF+ZBbpQOBC6BpbJZ6fP4wUEm7mHKyysJK6J8zYUsFCaXjnWjEh9ojjy6zyQHLazWG4jfQUQIhNUlkpj4NQqgJimhAGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HveRXjE7WkEwWdvVZdbgoST0v0U007njgzyEMA8jgDY=;
 b=FugOCUuQQQw7ByIeE8DpgISAdu0sMQLAVlHjoEVbci7OEJDSVgSJcFffG6BcHvcqTc0hh5ww+YFE4VhnF/R2GgbIxVWn+3NfW/ve04bP1kn+5p9slGtPf3RIPlxB4vtX5sGuWGxU7tNgun8KYuTXfAilCNZaRm81/3FxXDFWL+UFKI1p9eVv/u0V4UXAcqSDJV4Tbq05zCBGP2xUXxvEtktEhWeyRL2SjTQuoNK2fksPU8R+ExzwGPLKgc81ghIsoWnSwFBja+AkMmvLGZ7FX8gPL2gwXxvm8A91rtjD9cGhSHaCB3/DmloPlQx7b8k6LasulTfjqK3zCdW1kPEABQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HveRXjE7WkEwWdvVZdbgoST0v0U007njgzyEMA8jgDY=;
 b=GRMS8F0rS6R3cEGakEy4Un9hDDIdSaNAPVXXbCHdWmUjEJLqlNEG+1R39jPjrfDXS8LaTwBvyxZvDk7piPWBaGGA7LqGBkXUpoE/EnoNrrSBnRmkgg6gbvSjeNreNOIDPvwM63J/ylzI/b9ZbXv974L0CCWe8Do3NzmFgIsXIdE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	sstabellini@kernel.org,
	Bertrand.Marquis@arm.com,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	rahul.singh@arm.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>
Subject: [PATCH v3 0/2] Fix ARM Generic Timer interrupt parsing
Date: Mon, 13 Mar 2023 15:08:01 +0200
Message-Id: <20230313130803.3499098-1-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.35.1
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR03CA0001.eurprd03.prod.outlook.com
 (2603:10a6:208:14::14) To VI1PR04MB5056.eurprd04.prod.outlook.com
 (2603:10a6:803:5a::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB5056:EE_|DU2PR04MB8520:EE_
X-MS-Office365-Filtering-Correlation-Id: 268d79e0-d8a8-48fd-babe-08db23c40491
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AoK49Kh1Xd34kmOweLjW/vvpZfhT/pql7hGKwHuIxZUMr5NYFAHNLFyIuO92MJSTbmUZqjZcgpbQkPbsqnVVPYhG5ZZTBl5jushnqjEhTH60jHvQnP+pfsXcLzRlrKWj68CPDiN0fUMq4Rl0aAU8bX1q/NLNJh3kMuJEPhSZdakCpsGQpd7zwBIcSkBxuIU4ESwggRY09BV7lRZ8A+V9ZzVb6/fSGGRd+ZrAeUnf+sc9k6AQh+ojHZe9tgzY0tZmIMGkuW/yQOsNbz5U22+ZalGe73LMyCJkEQuIOUX5j28RBHzTUDUKexCIqoC58KffTjAtceqHDBRnb2Q9IQwPkkkpEPzDjmVCz7y2IYlBm+7m1O47jB0/NfvySFsoLTzygjNmLwxmxezXtfip2Tz0A5coIzkXS4QbAOL/+Iamdl0IfiQHKNHnrsk+FSn9rw7ni99C6wu9mlbSDDXPtY8PUS48+MjodeLg4umdaubNITGPeodUhdFWRum7/VifcXA0zC+eiMhcowU96mWAf0fRT2xRa1ZU5JDHXoH76iSSNi+hXPHPWIR9nQ8j9b05jEsPZouWYrWaE7DxIFPA8yZ5cbnCORVPA37l+S0mFvmxng7XmBe1XoZzxVNxbmqx9Ro8xAwODuI9WJrT173kNyvX7ixsE1MCTw/zfr39OXTUQKQ35ZSM+BePmamZ+FbTIunfDrtOXR8cepnAGvbYGNR293WcShaSRk8uWU/4eqhPWqg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5056.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(396003)(136003)(39860400002)(366004)(451199018)(2616005)(186003)(6512007)(26005)(1076003)(6506007)(83380400001)(8936002)(6666004)(38100700002)(5660300002)(6486002)(66556008)(66476007)(8676002)(4326008)(52116002)(38350700002)(6916009)(66946007)(41300700001)(2906002)(478600001)(316002)(86362001)(41533002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?YW8+r116Mt6pdAcZU1YOtTW4Q1qTvSa8RdNnZcl7xlsh18NIDYHG4eXYFIlg?=
 =?us-ascii?Q?INNNJTbXHyGIrU8EL/yBYw+VqqqCG7FjEPN0JPM66kNsPwPsKRhlQtZrC5LL?=
 =?us-ascii?Q?Hq0fprJ0pdrJu7VH3XQGmuXgG+yoMZm4pZOl+4NMURFnNfYff9DHI3kikEUM?=
 =?us-ascii?Q?7BOl2p35an3F/4CfaS1oNbbEMiHiTftKNYOJTXdl6XvjgHDYOasw4ma0mwBg?=
 =?us-ascii?Q?pmZNuG19FvutttnZc/hvPn00tvNqK4EkWIxdgJkCDlUCIKQtfL/6Sp2Cu2OX?=
 =?us-ascii?Q?RlMPZDUa0fAkqT9WuSwmMWR6A4rynCRsW9OX1Ns51+lkvifvM6TIMCnn0O64?=
 =?us-ascii?Q?cPqTWar/tb3RJyLGbqflOzjbFiUw+GxQtZYIqBfQ47IuSGsW9vzB/vWYK9uK?=
 =?us-ascii?Q?bFlbJPze8K4+fBGgN41LQpW4Oy6HF+LfOi8DZDH8/tZza7JdIYwwUrawdmOk?=
 =?us-ascii?Q?6EiE/OLKBm8YlgaZJEOkWsHt2l0j/SsYi8PUmjjLWZRXlsnbNKUMKwdmck2y?=
 =?us-ascii?Q?VT8vUn86wH83wOoZ1mbBFnEwtcdagSKZuqvT4dhjgJqUUs6AlKL0rxZ3S429?=
 =?us-ascii?Q?H4hfO9yBbwm+F3RuTFFwHDF7sUQEa67v0LsUzuoZ5AIMPmphrubHAvGujsYv?=
 =?us-ascii?Q?AFjYn0Q8AHCnlbtWwYeC8ttouRHpVlhIrp3RteW+oC6VG4hK/EsWMWmCjzar?=
 =?us-ascii?Q?RXgB37/XCGROT1RRvB8IUSDVWs6awuq1XFA/dGS9ROIEXuxWJ7lf9DF5KSFX?=
 =?us-ascii?Q?iO0NKA6+A0r1bul6UE6Ee/FoSBntpHZub/qfD2x51qkH1Kdy/rv/vT8QcQso?=
 =?us-ascii?Q?eeUuxVoie8FLYIL6e4OkKN6db9tW8Tozeo+r6wxl1hK65DwMURsXGa06KRuX?=
 =?us-ascii?Q?AyuBMGihqH4JC1SXKw5Y7PHwUDjHHybj+DcfK3CwHU5gZ8dzKUYNvVYjBA3l?=
 =?us-ascii?Q?dWfus74AhSgreofgKZsVGoJD/pkcf1gMNds2fjuDH/cHpIcdK+xrelvlMV5Q?=
 =?us-ascii?Q?8D4lXtBZkEByaA2FDo3b4lEJkH85elKhRaTDE5+QTBZM06Ls0ZZcLcGjuy0a?=
 =?us-ascii?Q?lA49J/h84o/0mgtf5my99DaNv2e+Us5g//hHj/At+ES3H84gEqzhVw1OQoIC?=
 =?us-ascii?Q?cHEhnJwi9BNC5EucmTU6RaCgQhqZvHy1GHHDp2I+ygDAMWriFLiZ6gziOSFx?=
 =?us-ascii?Q?uGoLctqKtfd8JpqCNt03dxNwxBNlYti5Kp62qTrn6oH4Ooq3JLelEW49dEfL?=
 =?us-ascii?Q?V/rdfZJ+L1vLlTguUuNyNqG0nToc8QGkd9NhRcSx63BIXuNFq/lCA9b/7ccl?=
 =?us-ascii?Q?mAlIF3LxMGQzqgtyUs3WWF1JoBAtsQsje8t97PVd9jB96gQ1Qi7zhzrSznyq?=
 =?us-ascii?Q?V10jpSdrCwuCTH7kC1f6o4wDxDOUef3o71DdGlR8+Ncl4yvdg6mrV4TjqQqq?=
 =?us-ascii?Q?ANZ+hDMGFMxvoKqvYROpL6j+SmAIB5wdMmEI1KpYkaabaQ/Ht+d93941Xicn?=
 =?us-ascii?Q?EyWTz/cBpuIFD4fwcWMs2wFQBPvbzzCDsbUChisQtGiIUlNVuc81bZu8MpvH?=
 =?us-ascii?Q?5qvft9Hnnl66jNblpzrIC0ZkQ+12O7eEAqIk2r6AX2oKq2DVx4vtb/MWMjmt?=
 =?us-ascii?Q?hA=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 268d79e0-d8a8-48fd-babe-08db23c40491
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5056.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 13:08:20.2309
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VLxA04uM3c4FljvPpUtxa6v+W6Md7N+Ezed4ct/H664pU2ZwKzMcpIFeDr2Zx8LsrcdCXVuihFMlJ9tMn6rwG53/UL0dHjQG0qBdJUB/bS8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8520

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

This 2-patch series fixes the parsing of the ARM Generic Timer
interrupts from the device tree.

If the generic timer interrupts order in the DT was different than
the expected order in Xen code, these interrupts would no longer be
correctly parsed and registered by Xen, and would result in boot
failure.

This method with using "interrupt-names" for the generic timer
interrupts instead of having them hardcoded in the DTB in a specific
order is the newer approach already implemented in Linux. Xen did not
have the necessary code for this approach, and it has been implemented
by the means of this patch series.

Functionality should remain the same if "interrupt-names" is not
present in the Generic Timer DTB node of the platform, but the
interrupts should then still be present in the expected "sec-phys",
"phys", "virt", "hyp-phys", "hyp-virt" order. If "interrupt-names"
is present, now it is also correctly handled.

Changes v2->v3:
 - Fixed 2nd commit message to mention that treating 0 as a valid
return for platform_get_irq would lead to a BUG() when trying to
reserve vIRQ being SGI instead of "during vgic_reserve_virq()".
 - Moved timer_irq_names[] in the init_dt_xen_time() function
as it's only used there, and marked it as __initconst and
also as const ptr.

Changes v1->v2:
 - Rebased on latest staging as of 2023-03-09
 - Fixed coding style of comment added in 2nd commit
 - Added to 2nd commit message explanation as to why 0 should
be treated as an error case for platform_get_irq


Andrei Cherechesu (2):
  arch/arm: irq: Add platform_get_irq_byname() implementation
  arch/arm: time: Add support for parsing interrupts by names

 xen/arch/arm/include/asm/irq.h        |  2 ++
 xen/arch/arm/include/asm/time.h       |  3 ++-
 xen/arch/arm/irq.c                    | 14 +++++++++++
 xen/arch/arm/time.c                   | 26 +++++++++++++++++---
 xen/drivers/passthrough/arm/smmu-v3.c | 35 +++++----------------------
 5 files changed, 46 insertions(+), 34 deletions(-)

-- 
2.35.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 13:08:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 13:08:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509255.784706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbhuk-0008MK-Me; Mon, 13 Mar 2023 13:08:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509255.784706; Mon, 13 Mar 2023 13:08: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 1pbhuk-0008MD-J3; Mon, 13 Mar 2023 13:08:34 +0000
Received: by outflank-mailman (input) for mailman id 509255;
 Mon, 13 Mar 2023 13:08: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=E75v=7F=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1pbhuj-0007qY-64
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 13:08:33 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on062b.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 27bdb825-c1a0-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 14:08:32 +0100 (CET)
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
 by DU2PR04MB8520.eurprd04.prod.outlook.com (2603:10a6:10:2d3::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 13:08:29 +0000
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487]) by VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487%4]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 13: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: 27bdb825-c1a0-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UWZUlXNTG07dt+BjWWkxWvRibvGI4lRy8+gYAfsbDLZ6BMt42swFZ8Gv/pjXMvUvbUh9Su0ZcYFaVeSeOvSLkbTgsLWuze8JAJI79rkIsbBp9WoALfuQ3N3pxZ02U0SqD/6e32TBF4eNNr2MNQKRXcVtxI1Z9DHmHwy9tolvKRFVP8IM+0gJ7mqZWw4TZQkA/tsl4JVVd9kxKqORl9VHuNFaLQo5OHlhzgXkbFY3Br5JyJgMbTDnLfTU3xRAaA4yg6VRHAFAq1D+8PCh5/XVoGTuzG1xmud1pTgupwvwvC02z7a5WPdPX577W+Mc5v/ehcMTu09rtBvcBbLF6jL8BA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JPWtOsd8bEyOgAZcfrDEhyFoI+CfhjDjX+52uaAqMtY=;
 b=XLHiaE+koF80w6fLqy7Pe/Ha6kuOmGaj56h3X0JkRHGigXZvn6jIbBsOvusGPrQzpmsQWNjWWUYuWrlf6R3pVGdoOlfevxONjDAYwD23ssbB2rWU/xsyy7a7cFwTwR3qwr6Nb6baK9ouhJJBXkvD9BUISu7+jz35jjzV4/aLeDHbhtxBQQ34md5ImzBiuylMoa9eOSCn4QRpCgnjIkpYeRQD/3/xxg3tGHRJaNNlbrV4MRCA8C6v1e7c+J+rgubM6inew4wRZu7BL7k/L2iQzTOebYYBBuaH/+BbLHL3V+O+n5Q21jYijVW3PevBfGrvnPagKVbC/q91ci1GsqFJHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JPWtOsd8bEyOgAZcfrDEhyFoI+CfhjDjX+52uaAqMtY=;
 b=ca3eE8gy6O6HWTE6ZXdsPOXGvoFnRsDn+nhbLO9lOAMJ5WustH4OYkJzJoXmWJpklT+NT5r3Ros9EZASpPsRYjV2BEBqY2H/HY7aa9lkfQm/XTvUL8lm3Hf7/HH+PUnknGXOpsNudtjEzEHemjQ/8OK9h8OEat2K0UmozxTUhtU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	sstabellini@kernel.org,
	Bertrand.Marquis@arm.com,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	rahul.singh@arm.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>
Subject: [PATCH v3 2/2] arch/arm: time: Add support for parsing interrupts by names
Date: Mon, 13 Mar 2023 15:08:03 +0200
Message-Id: <20230313130803.3499098-3-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.35.1
In-Reply-To: <20230313130803.3499098-1-andrei.cherechesu@oss.nxp.com>
References: <20230313130803.3499098-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR03CA0001.eurprd03.prod.outlook.com
 (2603:10a6:208:14::14) To VI1PR04MB5056.eurprd04.prod.outlook.com
 (2603:10a6:803:5a::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB5056:EE_|DU2PR04MB8520:EE_
X-MS-Office365-Filtering-Correlation-Id: cc591c29-5634-4b82-4ae7-08db23c40a10
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zhZ60xI4deaenT1uEApWs8Eyj9aUCo4ERO/Bcy03z6i5UvLxKlA+wCeCFrGqmhGhvDMpbR5SOnqvmFX5HuSx/xDMJPJBNz9L/z/CEGmlr7ICoxR9idqoawiDhFWgU57Wh62je+usp/HzG/+iGR7K9lOpWdbgZtB0xyjKPtHLGPGKirGP9sgCj9Fa3Qf4d5LWC7EemworENqHliCTz2yH3G9d0E/8k2JaWEV5bj+LbEebVajyo16LjkH8i0bN1iMTMgsFi+JKC6p+/iM6CDSXK2c2TnSnS9xumigp2g4V7zFQbT+9l/Z+z1OMGBUFRSD/taNS23sWOYccfbXIbrZFW8RKXx/WbF5agD1kdnEjwEJMrCWCW2csX6Bb7yAmdBb0dfm73HkPq74+shyqowA1z65de+k3h3ioAwjDjc90yXkuKumC+3og3cZXmU5zdjmlt7tsAbjyAEadk8tFBe/9UsTLhl/TzJmJlDlZGd+/ZmKL32kAezxJiPt0llsqsneJbwBBeIeQurv8K9pP1hyGuep6MB/3OFNEDBmKrEx1PnAaGueKdfVklvcoz0waRko/M/CiGmvKxRqVNVkl9nGr8JQEXpnk4UHG+y4h6U2smOZ+N7pGMuOtrKuUIfG3h6NBbHRbU8ftDZdoHhltjMfq2JX9KXi6k11VhPBeUwnVzbQ491meUWj7DqHSg39Xysva
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5056.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(396003)(136003)(39860400002)(366004)(451199018)(2616005)(186003)(6512007)(26005)(1076003)(6506007)(83380400001)(8936002)(6666004)(38100700002)(5660300002)(6486002)(66556008)(66476007)(8676002)(4326008)(52116002)(38350700002)(6916009)(66946007)(41300700001)(2906002)(478600001)(316002)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?r582WB3UeEYYEjVkJzH5ldN2+hGPNaPF842iU3tdZJ4rGE3JA8caIdoAVtFg?=
 =?us-ascii?Q?pi4c3a1hKGDU3jle2LFeZo070nDzIPz8hR4ZNGxvh35z99XuuDBp+tM3sTb1?=
 =?us-ascii?Q?rMxRqGMn9gso3XK75E4na1cvRXIGKZR7Sb4w/BR40Lw7aeaOV2g0BXX+ueRz?=
 =?us-ascii?Q?Ke4/mdj0XouIafBUAyiBzd1u+lssXCX85L71wTpPUo10J32dxu2JoFkSurW5?=
 =?us-ascii?Q?652Qknd7Y3VFrPQL6Kx7ccs8npQeo5Sp8w5fFLuzvIE7KmwP2nyvNNLszY7Y?=
 =?us-ascii?Q?kgjxrTmuI5uUlDmDN+8NflM0gd5I53voTRfNKem18uFCJw/hcL/TLYjA+ngB?=
 =?us-ascii?Q?qv3k5xIpPubQdwofRgFYZQbTwkTtbKd/sFRK9x0yMtpOUDakJInIeWYlIkHY?=
 =?us-ascii?Q?gTmxn3C68lfQb8u3/WFeWAinYM3Irtbbi92mcbfl+keYszrP30IPGINuDTzD?=
 =?us-ascii?Q?cLFuMwb7zH0ofiir0HiGp+Z/boWmPNWQT07WlaC3B5+ejt+HLULw+DpSC2zR?=
 =?us-ascii?Q?2npeZ123udwj1yKTjmxihhNNTxM3zu5Lwca22SDJBV/vGi+8lpU0/BLymVSp?=
 =?us-ascii?Q?+WlYl+bWaLr8ONN6bqAejhhhpGvEVOywjUwEgUOTZQmIJcgfpdfSnRHqi3RJ?=
 =?us-ascii?Q?nr7X/ob+CsA725gPLga7vIuKgt4p5sDz5A5kLGUaxN92OK9GybUJJePMrWpc?=
 =?us-ascii?Q?hfocM/5YUOPkRP8cSFWv0Tdw6nhbI9T3hN7MpnECR4hdhOj7BJ+7I+RY1yOv?=
 =?us-ascii?Q?YEBgp17UlGzUx2rOyD8CBTQeH1+8x5cLYTI/XaMYRb1KT9JI3M+KyzpaMskK?=
 =?us-ascii?Q?uTZfon0VwBaVgm67XliDhPgOviwizikIqSsyUOEYuipkNn8vVPUQ0/145unB?=
 =?us-ascii?Q?gFSPGrLg9zIhi9hZJBKve5HegExCkgHVtSzfugc0ZZFQA0j/W9q+jJLeo4iy?=
 =?us-ascii?Q?1GiuU0bDtxXLdm3ppwQqFvHiXM27nn8XdQE5mI0VbWo6lbv8xyQ+VFMzPKj0?=
 =?us-ascii?Q?eYDyvCAyZxDqqNYLyfBa1xm8t/giNDXv9zykK8BRpYLWjD8O+SOdaCDrLV4W?=
 =?us-ascii?Q?I0G53B9N+kMHwCP6OoPAb61PtZzEjL/a96n1SQmTYSYprBCA1q5k9TFOwonm?=
 =?us-ascii?Q?QiLbTryJb3wk6PAyvglG58ZpYZVY2D2vMZtEZ/l6Af65N1Lmhuz8mi1RzgVD?=
 =?us-ascii?Q?U/q1FFmv+NHL/CJBjRHEKHYmDU+wHp2ARXA9oilCWx5phCt3vAeAKCatcD/E?=
 =?us-ascii?Q?IA90UZREscxI8rQB5z3TJ3fRHUeOU6Asf0UZH9fFjrimhCwXaOaflNhlByTG?=
 =?us-ascii?Q?jK3fiRgvrypM0cjWdEs+/oz83krr/ErqY3JU2NiY7JMGtWnlpo5pHYS3lk9K?=
 =?us-ascii?Q?cWpK8zlF1jtM2UycB9m0odgrCZPT5iIXFujaBZJPmU2CsRAXWAbEjNUkLTTS?=
 =?us-ascii?Q?LzasHUouR9xA6TYjWXZI8LdJuSqgh4n7y9Fy6k3UujrUxnSfYW8OH0u8scim?=
 =?us-ascii?Q?T7PYNj1dhrrdjZP+hcOXKa2BCQqSGgpSLWqyhpJuL2ioR6N80HS84A13nOMj?=
 =?us-ascii?Q?1YOgF9SAeAcA/vaiY16TJ7+Sd8oRbEPn6VyN4q2QDtWGejPgzPQ8PZ8epc5S?=
 =?us-ascii?Q?DA=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cc591c29-5634-4b82-4ae7-08db23c40a10
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5056.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 13:08:29.4490
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: t256aXf0uQkd9l/UPMtc60fxJZg2d06NPf7xIDGTkzA+9pHj6XwKq3IXpREbJaPUBHsTHaC94Y5Ic6h0nrhR+OG8l1SwkdIv22y1mM89M3g=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8520

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Added support for parsing the ARM generic timer interrupts DT
node by the "interrupt-names" property, if it is available.

If not available, the usual parsing based on the expected
IRQ order is performed.

Also treated returning 0 as an error case for the
platform_get_irq() calls, since it is not a valid PPI ID and
treating it as a valid case would only cause Xen to BUG() later,
when trying to reserve vIRQ being SGI.

Added the "hyp-virt" PPI to the timer PPI list, even
though it's currently not in use. If the "hyp-virt" PPI is
not found, the hypervisor won't panic.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
---
 xen/arch/arm/include/asm/time.h |  3 ++-
 xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
 2 files changed, 24 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
index 4b401c1110..49ad8c1a6d 100644
--- a/xen/arch/arm/include/asm/time.h
+++ b/xen/arch/arm/include/asm/time.h
@@ -82,7 +82,8 @@ enum timer_ppi
     TIMER_PHYS_NONSECURE_PPI = 1,
     TIMER_VIRT_PPI = 2,
     TIMER_HYP_PPI = 3,
-    MAX_TIMER_PPI = 4,
+    TIMER_HYP_VIRT_PPI = 4,
+    MAX_TIMER_PPI = 5,
 };
 
 /*
diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
index 433d7be909..0b482d7db3 100644
--- a/xen/arch/arm/time.c
+++ b/xen/arch/arm/time.c
@@ -149,15 +149,33 @@ static void __init init_dt_xen_time(void)
 {
     int res;
     unsigned int i;
+    bool has_names;
+    static const char * const timer_irq_names[MAX_TIMER_PPI] __initconst = {
+        [TIMER_PHYS_SECURE_PPI] = "sec-phys",
+        [TIMER_PHYS_NONSECURE_PPI] = "phys",
+        [TIMER_VIRT_PPI] = "virt",
+        [TIMER_HYP_PPI] = "hyp-phys",
+        [TIMER_HYP_VIRT_PPI] = "hyp-virt",
+    };
+
+    has_names = dt_property_read_bool(timer, "interrupt-names");
 
     /* Retrieve all IRQs for the timer */
     for ( i = TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
     {
-        res = platform_get_irq(timer, i);
-
-        if ( res < 0 )
+        if ( has_names )
+            res = platform_get_irq_byname(timer, timer_irq_names[i]);
+        else
+            res = platform_get_irq(timer, i);
+
+        if ( res > 0 )
+            timer_irq[i] = res;
+        /*
+         * Do not panic if "hyp-virt" PPI is not found, since it's not
+         * currently used.
+         */
+        else if ( i != TIMER_HYP_VIRT_PPI )
             panic("Timer: Unable to retrieve IRQ %u from the device tree\n", i);
-        timer_irq[i] = res;
     }
 }
 
-- 
2.35.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 13:08:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 13:08:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509254.784696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbhui-00085s-Bn; Mon, 13 Mar 2023 13:08:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509254.784696; Mon, 13 Mar 2023 13: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 1pbhui-00085l-8t; Mon, 13 Mar 2023 13:08:32 +0000
Received: by outflank-mailman (input) for mailman id 509254;
 Mon, 13 Mar 2023 13:08: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=E75v=7F=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1pbhuh-0007qY-45
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 13:08:31 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0601.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2684480d-c1a0-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 14:08:30 +0100 (CET)
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
 by DU2PR04MB8520.eurprd04.prod.outlook.com (2603:10a6:10:2d3::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 13:08:28 +0000
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487]) by VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487%4]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 13: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: 2684480d-c1a0-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cYBbjh9zCziNfLx7Kqv+dlOwe2Bt+LRSwO7PRtKi1o/vu0V6BsS4jta6S6/hFJp2IxC7Wli6/fVR0YY4wBOAFLhfGeLWG9zeM8U9eg2iFP9qaGtoqOuAKfab7LglehIPhn7Gl3OyiWTHoejtBXMUsnBIY0hFxpYaSa0vOiE8zAlEWA45y+bG7ODih2ukpXuCdkwUl+YSvmG0xkcVmtdOTNC6QeEG8CBAS5e9KNPmlWpsvCWk/cGamXxt28uTbHmRlW85Z2H+HOsSEEn9R2BqgtbBpmBheyPPtw6dXA8/gkIh0I+oSVyq6uZd6B3ulfoVjdsaJAGqlZKw1FMmkJMR8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uQNYeJoSq7Q9ZqnSKcAT7DwtkzmkKIujQqNfvAuqlr0=;
 b=LvCs9hwahRHCh2qbt8fUOYjq4fwtGgmTH/TQcCGJfef33+h9Uv0qEFsFiCqiXiEHYSGsNClgx1Sff7xZp+2DuRAYYiBZ9H/i9QeWjYPQ8Wde8+AYuSyT/oHPkkVfNJYnsLQ058HW8CFo+w4OaiCMOlKuGZQsLTxfJaL3F1JhnoNBOXZANkQonMDJGwf/VIEntxRmOLadQbmAXhW+3OslVXQZqgjfotOJuI6O8RBhELkqzyRqodmMUbBbmUtP58efFPt+YmJPQPbu1wKFkNbtWpKdBhEtVTekA+X8sKMDZWyEqfWReps5SRjm4XLJvwMQXfT2ae58fzYk/TZBibUG9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uQNYeJoSq7Q9ZqnSKcAT7DwtkzmkKIujQqNfvAuqlr0=;
 b=RHu/3XfhBS606kxDz3C7rgzQwNFecSBeM1AVKWDxDgs/ggnBV59B7hLo2VFqGkiMm67kcRRWSfMfub2vF4Waqib6e4+Fn1aX/IX6yvd2bbeFHa+pnd9YJvTvJH6ZsZuzU2bo98+56bHcNlm92ftcYvE4ti0uECG8FBQjJNkKLxA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
From: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
To: xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com,
	sstabellini@kernel.org,
	Bertrand.Marquis@arm.com,
	julien@xen.org,
	Volodymyr_Babchuk@epam.com,
	rahul.singh@arm.com,
	Andrei Cherechesu <andrei.cherechesu@nxp.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH v3 1/2] arch/arm: irq: Add platform_get_irq_byname() implementation
Date: Mon, 13 Mar 2023 15:08:02 +0200
Message-Id: <20230313130803.3499098-2-andrei.cherechesu@oss.nxp.com>
X-Mailer: git-send-email 2.35.1
In-Reply-To: <20230313130803.3499098-1-andrei.cherechesu@oss.nxp.com>
References: <20230313130803.3499098-1-andrei.cherechesu@oss.nxp.com>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-ClientProxiedBy: AM0PR03CA0001.eurprd03.prod.outlook.com
 (2603:10a6:208:14::14) To VI1PR04MB5056.eurprd04.prod.outlook.com
 (2603:10a6:803:5a::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB5056:EE_|DU2PR04MB8520:EE_
X-MS-Office365-Filtering-Correlation-Id: 9064394f-12b0-4336-5bb0-08db23c40918
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+vIMt+qbAQt3KeSXQuiqxuShSWEIZd4vIBMSEj4/G8JcKQ4mBpbKGcKe+tCbYvly5V7EhSzIFpbQL0J7iuktU99VYE2YVS5tOAd/BRjjGAKbLjPcafgYi+BdnH1iiT0rlnTazGinJKMzh829mhYnhafLOAvUDcEiCn4wMreYr2u6tEt6T7LSOOW+ywnO42uC+AFBXoqe7iVqu262ExG4ToRYFD/SEGFrkz/U2ZrZskdj1P9Cp0Ia4bSuDD5+ibp8X/AyRgP6GRIwBve22xRuC/WClaO/o48CZ+BbeV6/wFv+Ysbm4weIrzft6L737+MLBLO5UTUstpwo1i0fy2CCt3ZsYTolMkuEXNgMLvkK6M6seeyyO0mYjMCjB9mUQ5Cpoh4QjKBM7WN7hie1l2+d7B2hQHhJ5xxRBKf5yfuktyKyqdiHK+lQLLXjAviRidLL1uBkw725p1Tb+XjfU363STzJ/sz5B/+3qiZvWEp4/0HuQc01gzUQubv7hnbuDb0RR6SKij8ePKhqPoyYYdKXR7GqoT8PjpIDiHxs+2wB4CyXL1tYcrcBaQ+8GeO9YEwdEkyBSqAIvNR7IlXJh4Eti3N92NQKR6kRc4Xj9InpGNxNt+1awRCJ6gELDB+gbVNRMC9NvrTJLaHdSPgF8Xe7PBfBZlP/T6R+l9xt44wH7y1fsVWQ3Wi26mh26+KSmwlF33pQVeVmm4uQOORqK9F5Iw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5056.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(396003)(136003)(39860400002)(366004)(451199018)(2616005)(186003)(6512007)(26005)(1076003)(6506007)(83380400001)(8936002)(6666004)(38100700002)(5660300002)(6486002)(66556008)(66476007)(8676002)(4326008)(52116002)(38350700002)(6916009)(66946007)(41300700001)(2906002)(478600001)(316002)(54906003)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?gssfjbbymzR8dHKbGSQXnU1vO0NcpOQPMv8nXLbZ3/I4e2lAgtH/1Pd2gpif?=
 =?us-ascii?Q?rAD+FHSsI+iJT+kaApOArXIePK4/vRWAYtLfl7EGhgbXwwvnC4fPhlFBllB6?=
 =?us-ascii?Q?9c3Y/CK7nIPHl5DAhN4pzJYa9y1nndm2WQ1YghC8TjffBgev8uL9WH+0NZZ+?=
 =?us-ascii?Q?pX1bAnf+l3W/gTXk1Snr4jTSmhwUM+Q+44g1lak7eqwn/aBj4Z02MIpcrxCD?=
 =?us-ascii?Q?yoi6cm040bpJsXZZNs5fms+OfD5PHWAeVJUSRKUIGRYrY291JXYwpX+IZWPS?=
 =?us-ascii?Q?nvTod/6ddpF3e3zqOotHs3LYzsN5URJhBmCTy58UylWBFgieX3ny+0UPMEhI?=
 =?us-ascii?Q?QKLzfzJdwx2kCtN0dFg2a/OOxaWajdyX/BxU1eieiZDZ584mE28hGOIiF2x4?=
 =?us-ascii?Q?4MPgi8oC2cSpoUtRyOcWku+Jt9VsgnEfOLqAIkEg30jrwUz743v2u2we+bdB?=
 =?us-ascii?Q?hm3p3RdCKqv8NLjXmiQMxULLMs86em5h30EdUbDAZoqQ+rIkrFCQ42OEd+dL?=
 =?us-ascii?Q?fUSruFetDWlC633hhwBq4AG+biS8N2O94cXC65qfo8JfVq7SN435Lbnm7FpB?=
 =?us-ascii?Q?2214Xjo3PmFngspNuNRDcYd5GChXhwTIGyzJCfAbDBfMAdygvwOAfhgAfxUg?=
 =?us-ascii?Q?2IbNHxUjmKPM6ynrBTKBzhTxxdyE8q6RfY98p34lGRnfu16PauTcbiyfjvAD?=
 =?us-ascii?Q?4agoWqpx9gNVFhd7qACHSHgK0raHy3mu35wVXSp/GReYJD2nhOD42SU0vJkN?=
 =?us-ascii?Q?mnqIv4+HvzD94QsmzGCnbuuEOtyWfYopZH1oP66DJC3GR6JXUfOdFbCGN6qL?=
 =?us-ascii?Q?mhwqxiqSETZQQRJehGtAPZr29dt/xvTJyoOZEs9f+2UAs/yCNwvMH+4xK4ZP?=
 =?us-ascii?Q?0Pita7D8qQudyQ5sIWrROXL0j+49TtE+LqXBMY0bcUw8x65+zeSB9GSNBMKZ?=
 =?us-ascii?Q?+D9JwTqXB+MdFbmV+yH0RW+C+Ch2XoTaurBk11gk15+AnqACp81Bqf6N+w7n?=
 =?us-ascii?Q?dHCjffkoCaaUmFSqWm84YSN9cRUcTTxu0mWRNraqEZGvjMRdXFr8fP4beSJ5?=
 =?us-ascii?Q?IkDPC3k47GkTDxAD3XliSZoQo0jHnYYmkgmaZBcMeXgxVOjmsaf6aHjuX//n?=
 =?us-ascii?Q?Ox0y0MWsnTBaDFHMDG7QcsSNuaKuXsL/FXhHfKZoNWlqJbfSQ/5nsuz1A0jY?=
 =?us-ascii?Q?nyLdlGQKxmQhtKbX8hjdNU9UJnIIlgatTxp4QwpIMjLM8wDh8hlzktkimWlK?=
 =?us-ascii?Q?enhSnj3jxj9mqvLJifOgcYHt+6P76nS2jp7uOMUGTGqJ4/DLZBIJB4Qn2sol?=
 =?us-ascii?Q?eXH29U4eMLNHfguuMq4QkPfh81EZ42yYy7rgWMwLtYc/Z+Ja6RiNOnpipvSV?=
 =?us-ascii?Q?oAGcNor73LhYRxsBjWyMqy+bKMQuAXECzmRjlrxDMAvNis4ei/3+9gSnpB6d?=
 =?us-ascii?Q?cWm3sCcKfyHi/gI426HxNdJCmZFlbEJ6upX3jBSO6aGE/XKVLUG1yf5hU4W0?=
 =?us-ascii?Q?Vnbg5plOG8OtHjykR3BgP+s543K2JrBqB9H//w3NbE1Ol6PwJjg+XqZ4JrG6?=
 =?us-ascii?Q?ltdVOXRVk7vODynTi7Su1E8tzTD9Uxxc7nPlyv5a3hbpb5y7K4RFAVqGc5H1?=
 =?us-ascii?Q?/g=3D=3D?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9064394f-12b0-4336-5bb0-08db23c40918
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5056.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 13:08:27.8710
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BhIq6XikF4xyjnHVwZDKialzGi94INt+y4Nr8nAYFTNVdGDvnkha918Rym7OOhUdYkTNjhnIHZB+jF6xm5ZvX+/WlugPnGa8+BgmBl/x0vo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8520

From: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Moved implementation for the function which parses the IRQs of a DT
node by the "interrupt-names" property from the SMMU-v3 driver
to the IRQ core code and made it non-static to be used as helper.

Also changed it to receive a "struct dt_device_node*" as parameter,
like its counterpart, platform_get_irq(). Updated its usage inside
the SMMU-v3 driver accordingly.

Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
---
 xen/arch/arm/include/asm/irq.h        |  2 ++
 xen/arch/arm/irq.c                    | 14 +++++++++++
 xen/drivers/passthrough/arm/smmu-v3.c | 35 +++++----------------------
 3 files changed, 22 insertions(+), 29 deletions(-)

diff --git a/xen/arch/arm/include/asm/irq.h b/xen/arch/arm/include/asm/irq.h
index 245f49dcba..af94f41994 100644
--- a/xen/arch/arm/include/asm/irq.h
+++ b/xen/arch/arm/include/asm/irq.h
@@ -89,6 +89,8 @@ int irq_set_type(unsigned int irq, unsigned int type);
 
 int platform_get_irq(const struct dt_device_node *device, int index);
 
+int platform_get_irq_byname(struct dt_device_node *np, const char *name);
+
 void irq_set_affinity(struct irq_desc *desc, const cpumask_t *cpu_mask);
 
 /*
diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index 79718f68e7..ded495792b 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -718,6 +718,20 @@ int platform_get_irq(const struct dt_device_node *device, int index)
     return irq;
 }
 
+int platform_get_irq_byname(struct dt_device_node *np, const char *name)
+{
+	int index;
+
+	if ( unlikely(!name) )
+		return -EINVAL;
+
+	index = dt_property_match_string(np, "interrupt-names", name);
+	if ( index < 0 )
+		return index;
+
+	return platform_get_irq(np, index);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index d58c5cd0bf..bfdb62b395 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -200,30 +200,6 @@ static inline void dev_iommu_priv_set(struct device *dev, void *priv)
 	fwspec->iommu_priv = priv;
 }
 
-static int platform_get_irq_byname_optional(struct device *dev,
-				const char *name)
-{
-	int index, ret;
-	struct dt_device_node *np  = dev_to_dt(dev);
-
-	if (unlikely(!name))
-		return -EINVAL;
-
-	index = dt_property_match_string(np, "interrupt-names", name);
-	if (index < 0) {
-		dev_info(dev, "IRQ %s not found\n", name);
-		return index;
-	}
-
-	ret = platform_get_irq(np, index);
-	if (ret < 0) {
-		dev_err(dev, "failed to get irq index %d\n", index);
-		return -ENODEV;
-	}
-
-	return ret;
-}
-
 /* Start of Linux SMMUv3 code */
 static bool disable_bypass = 1;
 
@@ -2434,6 +2410,7 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 	int irq, ret;
 	paddr_t ioaddr, iosize;
 	struct arm_smmu_device *smmu;
+	struct dt_device_node *np = dev_to_dt(pdev);
 
 	smmu = xzalloc(struct arm_smmu_device);
 	if (!smmu)
@@ -2451,7 +2428,7 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 	}
 
 	/* Base address */
-	ret = dt_device_get_address(dev_to_dt(pdev), 0, &ioaddr, &iosize);
+	ret = dt_device_get_address(np, 0, &ioaddr, &iosize);
 	if (ret)
 		goto out_free_smmu;
 
@@ -2484,19 +2461,19 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 
 	/* Interrupt lines */
 
-	irq = platform_get_irq_byname_optional(pdev, "combined");
+	irq = platform_get_irq_byname(np, "combined");
 	if (irq > 0)
 		smmu->combined_irq = irq;
 	else {
-		irq = platform_get_irq_byname_optional(pdev, "eventq");
+		irq = platform_get_irq_byname(np, "eventq");
 		if (irq > 0)
 			smmu->evtq.q.irq = irq;
 
-		irq = platform_get_irq_byname_optional(pdev, "priq");
+		irq = platform_get_irq_byname(np, "priq");
 		if (irq > 0)
 			smmu->priq.q.irq = irq;
 
-		irq = platform_get_irq_byname_optional(pdev, "gerror");
+		irq = platform_get_irq_byname(np, "gerror");
 		if (irq > 0)
 			smmu->gerr_irq = irq;
 	}
-- 
2.35.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 13:20:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 13:20:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509259.784716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbi6A-00035P-Mz; Mon, 13 Mar 2023 13:20:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509259.784716; Mon, 13 Mar 2023 13: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 1pbi6A-00035I-K1; Mon, 13 Mar 2023 13:20:22 +0000
Received: by outflank-mailman (input) for mailman id 509259;
 Mon, 13 Mar 2023 13:20: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 1pbi69-000358-Gb; Mon, 13 Mar 2023 13:20: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 1pbi69-00040Y-9J; Mon, 13 Mar 2023 13:20: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 1pbi68-0000rk-MB; Mon, 13 Mar 2023 13:20:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbi68-0007be-Lj; Mon, 13 Mar 2023 13:20: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=jt8qt5dw/yHY0HVSFFGYdCpy9NZWfyqhXVZKwv1nYBY=; b=VqCKwj4Sd8FpGbLeKxVC29MByJ
	02MUu9Dh/fcAHnspSYbyGS8x8/gawHwYoQpVUzuCXQhvO0rlZVFfYGVByiTws7GCcaPMPJLM7AgK4
	D5pDC/LixqLuqJgrcM5TLw6D5ijAf3fB/zaYnZe1giTZFQ4zMbjEr3QPG/DbOdDWnab4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179591-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179591: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:guest-localmigrate/x10:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-xsm:xen-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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-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-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: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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=7a59096258fb9e9679538da8851fe00656841980
X-Osstest-Versions-That:
    xen=7a59096258fb9e9679538da8851fe00656841980
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 13 Mar 2023 13:20:20 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 179571 pass in 179591
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 18 guest-localmigrate/x10 fail pass in 179571

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 179571 like 179522
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 179571 like 179529
 test-amd64-i386-xl-xsm        7 xen-install         fail in 179571 like 179546
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179571
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179571
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179571
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179571
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179571
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179571
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179571
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179571
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179571
 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-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     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-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  7a59096258fb9e9679538da8851fe00656841980
baseline version:
 xen                  7a59096258fb9e9679538da8851fe00656841980

Last test of basis   179591  2023-03-13 01:51:58 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 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 Mar 13 13:33:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 13:33:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509270.784736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbiJ8-0005Cc-9r; Mon, 13 Mar 2023 13:33:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509270.784736; Mon, 13 Mar 2023 13:33: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 1pbiJ8-0005CV-6g; Mon, 13 Mar 2023 13:33:46 +0000
Received: by outflank-mailman (input) for mailman id 509270;
 Mon, 13 Mar 2023 13:33: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbiJ5-0004ws-Sl
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 13:33:44 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0620.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25ef4e5d-c194-11ed-b43d-930f4c7d94ae;
 Mon, 13 Mar 2023 12:42:36 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.24; Mon, 13 Mar
 2023 11:54:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 11: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: 25ef4e5d-c194-11ed-b43d-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Tru9V345VGz6Gj5rhJuPSDi1JeIleVEU7KYTN26rM1QxaYmpvuX+Q90xRZ/3u6UtbrhKoGmti0FCONYzaO//Gx37echT/5EFqZjd/HZBWWKJuf5MSkmPw6bSkFuAi+n+xA+vfgWMcca6nkBRJP7wqG5CjC6SKUs3uH5IwMj5NuVQcq3GXkX48KIH9BjnAyPSH1g7WAWAPc9JpsYc1rXsFOlT+OA9akwtcmI82ztvFqaUEMYCzMzAZmLE1zZuu83PIXjRray3x5KTnsEFVWXWRqFajUHSmcNcEs6CVyOkbS/Ut4RDVOAyEPTpLthDQBqXLlbTQbqNH/BI30eQc2G/5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VXkyP10n4IbenPNnvXY9sYJ/Kl8cAA+tQlYWleIccZ0=;
 b=lfWhUZFc/RH2cJHo2pzuPPXtRM7EQGpHDD31l5Ex8uuGeCBe+S/rjQ3462RjGM/b5S//eizXkEwyCttCw+RcXaPYbmKVOXic8BxW4M35KjoC4CRZOPwcy6Xxmhaa3hDVlJJ1M6TUpxtwcsyVAAHafcmLbDPRHWkXDfVrrg2P1GO2Of7fRgMQ8SUVuXfUO9PwnZ4NphvYfgbJop/pDFRFEvVxP2zsUuwV1h4wMbEnPnvH19wf64oHDJgeX+lTfgAZwPiEXgboa8hvvbpKG/P4ZKrFb4ALSr43CDHMv3Gk5gHS9Out/GsIFG7MMspQxk0/BlcnS+/MEJ1hBPF71gADRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VXkyP10n4IbenPNnvXY9sYJ/Kl8cAA+tQlYWleIccZ0=;
 b=RqZqIvLU5relgzcyfdr+jVGH/Ydx8nP2vCpC4JaHHjAHNomUlOKZDU33iEP7rFuPoJgtY2LKB1h7oYlARQVjyaT8ZECQo/ao9Uw42qWzlPPlrduEAGulxSLD9lazyM799AXG2a5E+laW9G9rl1lXAuZgojDX9/EI/ZvjRF3HHOy46pgUJOroo37DToMMNYaNAvmC3KnNIXbcR3rlZALZX922BmoQKcsJEIzuOgZWCAoMyI5nLxdMP0crYZsI5OaV6fKFHM1dw/DFrZq3rgz2J/5+I5b0ooftdVsHZwp7zFfA+DCAyw8EqpHF+Q4V12C2TNJI2izpnfEvBrV5K5JmQw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5a779fab-a410-c333-6a92-49d603647761@suse.com>
Date: Mon, 13 Mar 2023 12:54:58 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from Xen
 4.0.1
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Denis <tachyon_gun@web.de>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <467bc1f9-6e14-cca9-159c-b40eb8327028@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <467bc1f9-6e14-cca9-159c-b40eb8327028@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0074.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB6932:EE_
X-MS-Office365-Filtering-Correlation-Id: ab9d6779-dafe-4894-404d-08db23b9c54a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2xuSGCiojPiwWWSiX30kT7D404T4kw47mM9ICXgkslCAYtciryy357fvlL/l6PmvySQh/TdjDWy+D8xhqfjpisPrMk9PtOVMZSVmA91ETheVu3AH1jYpvrYqYPpsWSeNLE/gtAY3RUemR4fvhcOggLaVTQxQBebKKmF6SbV0dYS0/LHt16g8531hYzq8FDvlnOYYmbwzvmh1F6HfOliNz+hDUNwPjtG+lkFyClS6vOt3v2OXbMfTWXJFk6Hgki/luSoHsnItMstFO86PZlxYQVbYjccc7bAjb2yxlrLSqVN4IDnrw/x7FGyd8Jn22kDZyNOF3zjgwS41t/CzxcRSZLxtKx/UmuA7sNWVYfJ+LllFzDe6UqJYnbWMYiSjuHHKeagS1LKI4F6bnHCctIPK6n4lspULAgDwNp4Vu6Gicsuz/S5d/JWvuKt0flo0yG459CHLIflRzg7xWg9gCAz7LZZYiss2aWsFE52pw9MVKdqOACOLJWzfYyousDhb6dacasRPB3apSC7MPYhM+XDPFRf1Oba+Z78DlPd+WYgelZXdzBSgT9ivsvtGn2U61IkvMBt/sDCkSpkewLVr1Wmse58k1SMJZJytvLPRhynx2ZtBYa+dx2JK/VE5+YNy0I8A9iKtA4xESrzGMNTbR9YYvLDJP6sKehtOurg4onWtGAw08W+WolkOSEHZw3pwG8pi1DPGyQe51l11REY0fL8t/zEo5IbDb83C0l82oZgz0xm+U23ZZKt0HJwfbBDH268zASfXvp7BCQyxw2iCFsxg0aCksLbxeIKBrZWMUl0BBK0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(396003)(376002)(39860400002)(346002)(451199018)(2906002)(41300700001)(66946007)(6916009)(66556008)(66476007)(8676002)(4326008)(316002)(478600001)(31696002)(36756003)(86362001)(54906003)(38100700002)(6486002)(5660300002)(26005)(6506007)(53546011)(6512007)(2616005)(31686004)(186003)(8936002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cDk1MVVCU1lJb1FkcXpoNjlaSU45NElGaWlMYkFPbTc0Z2Rta1k0Y0dkN3hy?=
 =?utf-8?B?VGNNVVhnU2czd1hMRSsyaHBLb2hhaTVEbjQrOUlzN0RRTmJmM3ZmeEJFRm5X?=
 =?utf-8?B?aGpIUlYzMDRESE44SUowQ3JrRVRjUklkcmxXSG5VWE1ON1JJdUFodEtoYVBs?=
 =?utf-8?B?ODI3STlFaXdrRnIzTzhPMUJoWXVZbTNidXJCWFBIR2UyZGI5anFPbkFYUm1r?=
 =?utf-8?B?czB2WExkTThnSGtEc2pMSTdzdHRGZXVvYUdKbExCUi9WYnJ6T3FncFdRcElQ?=
 =?utf-8?B?SGNHS091cUlNOXZxK211aElQOGhQckc0NXpHUklXS1NNaTNRWnhLbWFRQzN2?=
 =?utf-8?B?cFZoay94cEovblVrc2N0SUFIN1RkMXY1S2c0aEZjZGFiazE4WGxUdEZGZjVk?=
 =?utf-8?B?RGxwTWg1ck1HQ3N5SFpDOWtuVXpBZnFpc1Y4UGJKUmNNamZCYXplZGU5Y1pq?=
 =?utf-8?B?d3Z0MHdPMGREb3UrRHg4cHVSZWZzSEYzQmFibmhnWUwxVmppMmdQcHBoT1Y3?=
 =?utf-8?B?RUE0Ry9kWkJreThRT2Q1YjJXVjkwWUczWkFUUHQ2d2RiRDFYdzl4NHFLNldx?=
 =?utf-8?B?U3krLzdNeXBXclpiVnBLMVdPNGV1VFhBcVh4dHlDV0NGS0pBbnZtQnZ4YVhn?=
 =?utf-8?B?VFRsV1N1a0xDQWFVS2cyWENnOTFNS01PbzYwc0RQZkF5VVhENlhaYlo3d1Ju?=
 =?utf-8?B?VHBSd0lMdzlSM0hCYTNYejBPL2lnWFhLVGxkdDgwNHc4eUhpdVFtNGFEd25y?=
 =?utf-8?B?cHk1R3R1YUJ6ZTc0ZXkzWno1S29NQlZBTklIb3NaTzkvZ3dWT3hCdi9wbWUv?=
 =?utf-8?B?azZXVE5RNGxKTXBzbU9ycU5zbWxTYitWWXhNVkxkbUppMVh0MW5Qb2JYcHFs?=
 =?utf-8?B?djlpV2RoQlVRY1hjL2tteXBCWTZXZmZ4U2NCbVNkcitiZG5Ta0lISVA4Vy9s?=
 =?utf-8?B?QnpXMUpjMFFRQ1M3cXhVeVE2Y0ZCeldxZng5QTJweUxiSTh6eGpIQkhPSkJ1?=
 =?utf-8?B?OUxlaFJMV1M3aldiM29NTDRhVVEzSUZJQnhDbHpzYmZxd0tBTnBwamViQ2FD?=
 =?utf-8?B?TWxxRHlNbjlpcTFnQVBlc3d1LzVKeEt5ZFdoVlVwWUgvY2h0Q0p4TUdVZjJB?=
 =?utf-8?B?QVdmUENOalpJWXVLZEE0NVdEYXBkL0ltYzNEVWpBOGxKalNmM3RYdnRsSVh1?=
 =?utf-8?B?WURaRnJZNEo4LzNzUXpQZ3g1S291QWptK24zTUY5VnZtTmFETHUxVkd2aU96?=
 =?utf-8?B?MVRWNzkyNE5Wdmk2VC9QSXU0Y1VadUpPTVF3UkpvaG05aDhqckpXUTVydkJ0?=
 =?utf-8?B?K0hCV2tSVnEyK1lkbSsvUjdrUDNIMHRHVUx2RzJIOHY4OGgvaWVGdVJJczE2?=
 =?utf-8?B?TkFlS2IrWVg1cXJKN1lLV0QxT2FxNmR2a25sSmR1MXp0TytvdkVnNDZFeENG?=
 =?utf-8?B?V3JtYjVHUGtqelZWUEpKRmF2UHh0UkFZcGpCSUJjcnVxcGRieG9VMmpQbnp4?=
 =?utf-8?B?aGNROTNvdE5YT1UrWExMd0VnaVBabXBBT0hSZ3BjRW5ERTNVNjRUdmROaGE1?=
 =?utf-8?B?dkltVDEvbk9QVnhwQy9La2xucHB3Yk94NmVWbzQrdzZiRVJMd1JyVXFzWlI0?=
 =?utf-8?B?S1NrSW9LZmlYU2JYaTJTUFhkOUZlbkRLZ1YrdG1Pb0dHWmNzYm4yMXA1YjRp?=
 =?utf-8?B?dnJxWlRZSzVrVTVXb0JkbmZYR1Z3L1VHbUtONzBuUmFaWmRhTVF2RXBSYVgv?=
 =?utf-8?B?N1UrZHpadjQzMnRodnRBQ2puKzUvd1VCT0xlblJTK0d6S1dWdXJsNzZvK1Qz?=
 =?utf-8?B?RElIZ3RNTDBBMDVzejNycUtzVjJiVDFJRUp4MWtRMVVpZ1JoNkpYYXk4ek94?=
 =?utf-8?B?UkdwSllaaWFXd1Nsd3FhRUxuMCs5MmtRaFBhcmd3bjBSRE5TTHRwVDRyU0Zl?=
 =?utf-8?B?cCsvL1ZsUVBsS2pxV250aGFydWZRczV0ejZpMUFsMzA5VUN4MHN0TU0zcG5V?=
 =?utf-8?B?OU90dmRXRmgwRmMyb0hERHIzTUJKazlPREVsL3l0WUphcW40SDdqWXF3cXpD?=
 =?utf-8?B?b0s5cGhIR1NwKzh2K3pVaUZjUkFGb3BkU0tJNk9rM1BTSS9aQ1l0cjl3NVNY?=
 =?utf-8?Q?UJL5ERwPBQt5K2lWIFtPKOxZA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ab9d6779-dafe-4894-404d-08db23b9c54a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 11:54:59.0362
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WyCJTNQXu5o8tbqlcVcpPPmRO222gYLKlhB/7d168Fb9K3OcI+SQTIezWa2noU4BGPuu3+BYHEvCV/14vYaecA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6932

On 13.03.2023 12:43, Andrew Cooper wrote:
> On 13/03/2023 9:36 am, Jan Beulich wrote:
>> On 10.03.2023 21:50, Denis wrote:
>>> On 10.03.2023 09:51, Jan Beulich wrote:
>>>> On 09.03.2023 21:37, Andrew Cooper wrote:
>>>>> On 09/03/2023 7:34 pm, tachyon_gun@web.de wrote:
>>>>>> A short snippet of what I see when invoking "xl dmesg":
>>>>>>  
>>>>>> (XEN) No southbridge IO-APIC found in IVRS table
>>>>>> (XEN) AMD-Vi: Error initialization
>>>>>> (XEN) I/O virtualisation disabled 
>>>>>>  
>>>>>> What I would like to see (taken from Xen 4.0.1 running on Debian
>>>>>> Squeeze, in use since 2011):
>>>>>>  
>>>>>> (XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23
>>>>>> (XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
>>>>>> (XEN) Using scheduler: SMP Credit Scheduler (credit)
>>>>>> (XEN) Detected 2611.936 MHz processor.
>>>>>> (XEN) Initing memory sharing.
>>>>>> (XEN) HVM: ASIDs enabled.
>>>>>> (XEN) HVM: SVM enabled
>>>>>> (XEN) HVM: Hardware Assisted Paging detected.
>>>>>> (XEN) AMD-Vi: IOMMU 0 Enabled.
>>>>>> (XEN) I/O virtualisation enabled
>>>>>>  
>>>>>> My question would be if this is "normal" behaviour due to older hardware
>>>>>> being used with newer versions of Xen (compared to the old 4.0.1) or if
>>>>>> this is a bug.
>>>>>> If the latter, has this been addressed already in newer version (4.14+)?
>>>> No, the code there is still the same. The commit introducing the check
>>>> (06bbcaf48d09 ["AMD IOMMU: fail if there is no southbridge IO-APIC"])
>>>> specifically provided for a workaround: "iommu=no-intremap" on the Xen
>>>> command line. Could you give this a try? (As per below this could be
>>>> what we want to do "automatically" in such a situation, i.e. without
>>>> the need for a command line option. But you then still would face a
>>>> perceived regression of interrupt remapping being disabled on such a
>>>> system.)
>>>>
>>>> The other possible workaround, "iommu=no-amd-iommu-perdev-intremap",
>>>> is something I rather wouldn't want to recommend, but you may still
>>>> want to give it a try.
>>>  
>>> Thanks for your reply.
>>>
>>> I added the lines you suggested and it seems that "AMD-Vi: IOMMU 0" and
>>> "I/O virtualisation" is enabled again.
>> Good - that'll have to do as a workaround for the time being.
> 
> Not really.  Booting this system with no-intremap is still a regression
> vs Xen 4.0.1

Well, "for the time being" meant untiol we figure out what exactly we can
do here.

> Disabling interrupt remapping on PCIe devices because we can't figure
> out interrupt handling around the PCI bridge is still bad behaviour.
> 
> 
> What we need to figure out here is how interrupts from the PCI bridge
> actually work.  The IVRS table does contain records covering the devices
> on the Southbridge, including the PCI bridge and it's entire subordinate
> range.
> 
> MSI/MSI-X interrupts from the PCI devices will work fine (they'll have a
> proper source id), so the only question is about line interrupts.  They
> ought to appear with the bridge's source id, and ought to be fine too.
> 
> 
> I see no evidence to suggest that the IVRS/MADT are incorrect or
> incomplete.  Xen's believe that there must be a southbridge IO-APIC
> special device seems to be the false entity here.

It may be possible to behave better here, but my reading of Linux sources
suggests that they would do exactly that on this system - disable
interrupt remapping (I had asked Denis for trying that out to double
check, but so far he provided back only hypervisor logs). Also my
understanding of the reason for the check is that for pin-based interrupts
of devices behind the southbridge there ought to be an I/O-APIC there. But
it may be one or both of my understanding and the (original) Linux change
(and thus ours) are wrong / misguided.

Do you have concrete suggestions towards logic which might eliminate the
need for the check for a present southbridge?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 13:33:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 13:33:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509268.784726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbiJ5-0004xW-2D; Mon, 13 Mar 2023 13:33:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509268.784726; Mon, 13 Mar 2023 13:33: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 1pbiJ4-0004xP-V0; Mon, 13 Mar 2023 13:33:42 +0000
Received: by outflank-mailman (input) for mailman id 509268;
 Mon, 13 Mar 2023 13: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=koCJ=7F=citrix.com=prvs=42903c55b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pbiJ2-0004ws-Tw
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 13:33:41 +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 41cbc234-c19e-11ed-b448-930f4c7d94ae;
 Mon, 13 Mar 2023 13:55:06 +0100 (CET)
Received: from mail-mw2nam04lp2174.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 09:17:50 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB5018.namprd03.prod.outlook.com (2603:10b6:5:1ea::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 13:17:48 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 13: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: 41cbc234-c19e-11ed-b448-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678713485;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=AR63Iv20gejFUGsDItsF7ctyAQmLi7csQoJfOJ6ZYRE=;
  b=AB3j9lef4vHu9wGMgtLJ6WiT2nl5zDhhhgvVNK3OIm6Y9avVUb+pQCAx
   mCDPJY1BMzj4XKRSr68obbdMRvHktD6Uc4W6CMolySROcwoKSAGhuS3DZ
   Exm7aICW9Hv5LxvLE3U1wIeu0CxmM5iob8JPRdyQjXoDq2JGlRWrt10/R
   4=;
X-IronPort-RemoteIP: 104.47.73.174
X-IronPort-MID: 99975353
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:DkeEJ606H6Wsa+rfo/bD5QNwkn2cJEfYwER7XKvMYLTBsI5bp2EDm
 zEeDGuEPP2NMzSmL48jaN+3oUNQvMSHmtBmTwo4pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdnPqgQ1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfIUV17
 acZayo2YQGc2v7om7PkG7FDiZF2RCXrFNt3VnBI6xj8VapjZK+ZBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxouC6Kk1AZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXKqCd1PT+DjnhJsqHi63U8xKgYxbgWU/uOUzReaZ+puN
 FNBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9Vna15rqS6zSoNkA9LmIcZClCUQoM5fHipp0+ilTESdMLOKyoiJvzEDL5w
 TGPpQA/gakeiYgA0KDTwLzcqzelp5yMSxFv4AzSBj6h9lkgO9LjYJG041/G6/oGNJyeUlSKo
 HkDnY6Z8fwKCpaO0ieKRY3hAY2U2hpMCxWE6XYHInXr323FF6KLFWyI3AxDGQ==
IronPort-HdrOrdr: A9a23:xRmjOKHqSq94EgzcpLqE18eALOsnbusQ8zAXPo5KOGVom62j5r
 iTdZEgvyMc5wxhPU3I9erwWpVoBEmslqKdgrNxAV7BZniDhILAFugLhrcKgQeBJ8SUzJ876U
 4PSdkZNDQyNzRHZATBjTVQ3+xO/DBPys6Vuds=
X-IronPort-AV: E=Sophos;i="5.98,257,1673931600"; 
   d="scan'208";a="99975353"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VyM800N+N8HSkuXOezeO1cJ0AR7UQo5M4S9Wh23nYVGaZIndnfgF/7Ddagbl5V7+itf80QgWBmaYJj8B3fatW90wmYR06R1MJP/+adCtMwdQTZ6Ns5SizZ2U/Kk9oX6aa1bJquWeJCLNnpYDLmMaNH3ZBGZAFGrgExP2i10Mb6px9K9tHu79JToGKMB8s1FKmw84cgmStqj67IJIxYnAZBbMD2Poznw8gwQaje1SZRBgc5xbxOPUgY13J+Lbzpsz4C9rMhvhK3yotu2HSiHA1LXo49A311Q4NWazyAi/x98DBj2wdfnwpa7yqwFr8jPz9RW7CpuqP8PYrDCh0HfeLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mZ9meqrnwLm4tCcSdDK3DC7S1mPw6undEotOl6ih1DE=;
 b=SmapysPI7+XXo8dRzRXQuCtrNbLVVHQa816glOsqNemtNuqFjsxKs3UTBAvgpJ19kFxNbre8BqVaVkpd2pBIoFvd9gOBRj72vnekSo9L14ca9VO3kZszkaQ/NHDe9S7sqH74pXBCM52Nxsl/McEZHJf1LINUbZqdjsTRfzznDYyUYuQJDXCFBPjEQUHaZweHZZUGtt6f7bWUoMX4pq50yqkgwkv7ic7mJdHpmsulJNi996rCrz0Bne1osc792sDRilwHTWQ7h2CY82sbCdBHhkPR08noCJ194xamip9iaKS+X2HlEHSqa1xUVUb7LVBDcnsXVDfhAnmxi/XSHXFp9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mZ9meqrnwLm4tCcSdDK3DC7S1mPw6undEotOl6ih1DE=;
 b=gHTbvxwQsyRitPPurxA5cKuztn4ZHPuMTmlu1MQdm3GEMUKUr2XWpzU7SaCi8goFvDKjMu4FIJEQmh9/i7udqO+++IZ+75e2+bPoPQzwxevbITOT4d37AsIDgybZOVASUvY82yN6F6ziGu5Ozs9Tyaqb8hUpKAqyNKSnWRWPuWw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <17005fa9-9a50-ec4b-b494-a6db63a0ffac@citrix.com>
Date: Mon, 13 Mar 2023 13:17:41 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/altp2m: help gcc13 to avoid it emitting a warning
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>, George Dunlap <george.dunlap@citrix.com>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <3a455e81-6db1-be47-42f1-9aa49531d715@suse.com>
In-Reply-To: <3a455e81-6db1-be47-42f1-9aa49531d715@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0312.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:197::11) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM6PR03MB5018:EE_
X-MS-Office365-Filtering-Correlation-Id: 437f290c-d04f-4076-e252-08db23c556b4
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5cauip3OIxjA321C1iGGdYrGxMVs82qjnh4bpjca8XTeV+oHddZNx3Vc7qcsgu7Xtk3qhS3O1SK6We0FRz7SNyvcOaOYHHu4+EokgMv593/NG6VEVaUdJYr86wdfTYfiY5Xho5XiKa5QN7um4TDa3Qs4sxAe0cqLzYjZDDRIQSBM8mUqPmZbxxHPzvd2hOntlDKQ25fmnmrsc7T6os699AHqDAEYyZjNrFQ2ZlXeWfi03gWdqYOpLTSQ68S+WY5Y60AHJGWIPOWVKs+IKbOoOKiMaeDCm0PQ+0YMxgWJT/fvwLbJgvtEl8djFBVZl4KjKo9ORzfxXatFBYoFFcxQnANaF1pSLhqTBeuRbYECHoSfpoamHaq2JN/tWWPo+YHvuPvcHuanA27UJ1qzsrUdomzjmO6x6a8Z4Cbvbf9Wd63Ea7sjhyksIl5ytg3P1iA1ZcGjQH1enwUcxzEFxK2/x8bHx53+WSRt8jMTSA/+RdO/TXsJCfgZ28st11lRGBOgPm9h5K9mncw3WJ8n5gNdN5K6Vh29Pia4z9nrriUPaiegMHXgSoqaTJ8m0+PEg2gJj5yBfonYC2j5J5tx86iVRJItofoCopp253yLQHfMXQYY6gDfgxmBA4JNfI9mqXNpILVD+aB69BQ1WVSatRKQYhIvAIvhGhYfXmuJ/tGiBv7FOxEOBlPrIRycxOYJJipz3lpKG/PAdb4FzPgiI69Z82vdIDlp3hHu/47aUhhggkc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(376002)(366004)(136003)(346002)(396003)(451199018)(86362001)(31696002)(82960400001)(38100700002)(36756003)(41300700001)(2906002)(8936002)(5660300002)(4326008)(6506007)(26005)(83380400001)(6512007)(53546011)(110136005)(54906003)(316002)(186003)(2616005)(8676002)(66946007)(66556008)(66476007)(478600001)(6486002)(6666004)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QTFMb0Y0a1JJNm1rcjBIMmNXYzUva1BQT0ZFNEhaZHNUemZWTHRvL3RRWmJU?=
 =?utf-8?B?UTF2dmc2ZGNhUm9ocE94VlkxRDFhT2hMbEZWa2Zhd2dsWis3VG43QWtSUGl4?=
 =?utf-8?B?SStzRmxPbmQ5R0JUSTFZeWJzWmgzWlhwT2V3NXI5WjJUSEFpdDVrc1JRR2Z2?=
 =?utf-8?B?SWVzOHJacDZ5Um1VQk9UL3pxRmIxb1VOWGFYZDNlOFYzV0M2M1BuVWJQUjNS?=
 =?utf-8?B?N2xwUEZPZGlUU1cvNTZiOTNsd1lqQVdMc09Jd2thdXJDVFZDamN5aGYwc1ZK?=
 =?utf-8?B?WEwybmQrQVlRVEsxSW43eFZsZHUwRW9Pd2llQ0VibEdVZncwd0Z3WWJ2NHFQ?=
 =?utf-8?B?YXprWFFpR1RyQlNNSzR6ZC9rcE1NcGdVa1dMTzJXR3A0TjE5dWxsR3hsZ0s3?=
 =?utf-8?B?eXE4dnl5VHZmVVQzRm5PSUJpN2ZLZCswZEFheFpNRGxnV2pJVzZVZmJsR1B1?=
 =?utf-8?B?K0cyWi93bGx1VEU5OWxDTy8wOWo2dlJRUlNXTWhLQ2V1ZTNTallzcGtpSHVq?=
 =?utf-8?B?MGdTc3F1SlBGYUw4WGxvMUVMOU8zNDlQUmlNY0JmUDdrWW13cnk0TFlrQ3VK?=
 =?utf-8?B?cERyR3JoRi9WeDQ0RFNXVEVVTzdDM0YrbUFEV2JKQkdXQ3BlTHRLUitqWnpP?=
 =?utf-8?B?dTdsakhEYnNIdmN4R2Z0QnVweTBxWUlCdXJ1RktwSmJTQUJTVDlCUXNPN3Zp?=
 =?utf-8?B?bzRQYi81NmJ3S1dETkdyUE12OHl0SlJQVEtZU0ZydllGRVFqay9ydUtjUktB?=
 =?utf-8?B?NWlEOGgrV0xRR08yeSthcktBR2FkcHgrR0hUeklQZlFMWkdWS3RBSmxCUy9i?=
 =?utf-8?B?NEZCNkM2aHhKQTRFa2lOUldNcnFLTVhqd0s1UjNCWEFiSnFNSFI2WEpIMVEw?=
 =?utf-8?B?bHE3d0lBK0dpRnpHVUM5K0tUZzc4NTBhZkMvRmJUMDdUM1BSa3ZJZ05OUzVL?=
 =?utf-8?B?TUYxclNXWTRsZFVNcndtZ3piclhDdDJEcGxPQXVoNW9ka0IvZ1VHU3pocFNC?=
 =?utf-8?B?cVFkajlXckpkQVJSV3NnajdFQjRDQmpnL3hrbmJ6Q3FYYTVJWkhvd1RPNklv?=
 =?utf-8?B?S1gvTWRvUXAzZVlRQ2JOaDBKaFlBUXRkN0hWYkdnbzU5eWVYQ3FOQThLVkE3?=
 =?utf-8?B?UXNJbWpHaTFQdjFuVnM1bXA4MTAvWFlVUk9RN29WeWlFMTBKaXFHVFVtNXRD?=
 =?utf-8?B?eU9zR3JJTmcxMzFZSXl4cEJMcjJVdW9zSjNTeEZsSFdZVWJXSDVoTEN0eWRE?=
 =?utf-8?B?V0I5TzRVQVFHdk5TNlVReUlCV1FjMzBIYnBQSTBsT0psQ1o5SnpyRW9CQjNR?=
 =?utf-8?B?SzR5QTY5a3JOZExTMnN2d3ZxTmVkd1dnTXU2VFVMb2Qvd3lxM2luNWJ3a2Fj?=
 =?utf-8?B?QWp1R1pPR0xYOVpKWndWQzNEdjY1aGwxVHRmTXlQdFdSSFZ1RmIzK1FUMHVq?=
 =?utf-8?B?MzE1TFdpb2I4VTBaejhXMkxRV1VCRFZ3ZGFXeG1pODJ3NWZxbm1Ma0ZuWTZL?=
 =?utf-8?B?OFlCWVYweEpIN3ZTSlNUZi9ZeGdEM3JJMXI0cEYxL3hQZnFtNEVLUnBPZ2FK?=
 =?utf-8?B?cEJGeGF4U2tVcXRmNkdmUHE4RFNxd1BNMTIrWkVqaVRaTzY1KzdKWE5UeUVy?=
 =?utf-8?B?TWluMXVlekxhVUtKM0VtaGVBcFpHM2QybGJlb0FrZmg1Sm5VVnZqVkFtdFFL?=
 =?utf-8?B?T0R4a2RWVGRLRVk5cjFXRktWc2tyejgvdEV2cXZUdXlwa3JPb3J0YnVhRmtD?=
 =?utf-8?B?ZHJvQmhWQi90aml1VC9VMnd2L09EazRoUmRwb1RJWU9WWGIvalpueGY3R3JY?=
 =?utf-8?B?c1dOYzhTbWc2dkY3eFhYc2tpWHJXMm8ycHp6RU5lL2U2U3VtdGsxQlMrNndq?=
 =?utf-8?B?S0hqenNJelZwdHJOY2NMVGxVcW80YkZDS0ZxWWdGNU8zZ0RrWWFzd25CZFA1?=
 =?utf-8?B?TjRjYU9Xbktlb3JDS1ZleFZ5VjQrcWsrVlVTWGRKQmN5bEQ4REZ3SVNacEcy?=
 =?utf-8?B?N1lkc04yZGdFTnFYYTl1b3BkMmJYNkZwYURKVGtxNTRySzV6Ykw5cFQrdUVF?=
 =?utf-8?B?UVBEVlE1Ni9zRlRqaGx5L1BuT0lzWHIvQVF5NUQ2RjMrQ25DSjc5d0tRdHhi?=
 =?utf-8?B?SjFCd0JuUHBody9OZ3Q2c2orZGVVcGw1M05mMzZJRTRIdnhLSmdZaE1wK3ZR?=
 =?utf-8?B?aWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	WlOQzmU9FSed7feKPSUCxsrNnnxxGxxwb3wePssGZYY7Y6KIhg/u4hhC0rFJXjB5Rf7KNxONFuZoAGuEdt9tRDzGWNhuZ2tEsmmMO4lbpA0PVON0/6tpe3UN1f6W5cX7RPLCrVT7LJGU2qZHMyn6kAqclwY+x6BWgE7v0bAOCIk4my9mWgoerq9/iVRkPgu4iNm84I8gNytrmAB5sxEkzt29wxWDY5TMWI8L6zrrIN4NMUQ4aJJEFqt5928R2+egwxDDs1kqEFom3nEzadRzE+SnIgHlUwlvdMdy2kU8WymPBdYihEucS0TFyFJpqMfuHKVg7l1qC4RsDKYD2bQa2AlkwcsaRjT9Ib4NEyhDdGUWGuoz/5TsGs5ExTpyR38bbyVIzTryLGCxcM0xlfWIUqbfxpLnNQ4OHhIUv5BCDsNyT49Tx2u9ZjkOcsj+ebQ2EzQnm4c0U78bDoNWidsk9D2yxO/oiA0C1dMvl/zC9pyAsoUz+RDT0/1QcrwgvBDpSA++3lPenBMcwcgkOE5I9c35CAWgc4W0n1I2nPSMrl4AWj1RPJd6+XgnsheT/eamAXyle1Plc2Kp94lDmmMf9tiVOonGVbYl0r215MQJSodNfvchtpmLdx/1X7JWswEJa8Y/7QSJ8bsqGYzX2Boq/tZY7qWpKBd/N50gSMcAg3BK6Ln7b65tY02Uphat9KaUp1mg8blgMogtto4qSl8hpiJkBhMgIbAOKv7XV1W0xudF4VFl22nHNAJW8eKfKnVVy3oh5vvUtpmuGTAOaBA6jjIJRzt0AQua7VIgbEIB7u6c3FcJFUWqk1IS1JYMpE3L73P94U1V4ZOV4PUZ/zz1bLWJcoIc86RpZ+w8quSZDrM=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 437f290c-d04f-4076-e252-08db23c556b4
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 13:17:47.6250
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vuEzelJ3Ilz4CJdK75NkJk7E5qkF1OVPVAHIDUT/HtX3oi/fQUVHeDjh6Hp859vP2GFkWgC/J20x5rVLB8Ow5xBRyotif9lEvNEWPBKfCLw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5018

On 03/03/2023 7:31 am, Jan Beulich wrote:
> Switches of altp2m-s always expect a valid altp2m to be in place (and
> indeed altp2m_vcpu_initialise() sets the active one to be at index 0).
> The compiler, however, cannot know that, and hence it cannot eliminate
> p2m_get_altp2m()'s case of returnin (literal) NULL. If then the compiler
> decides to special case that code path in the caller, the dereference in
> instances of
>
>     atomic_dec(&p2m_get_altp2m(v)->active_vcpus);
>
> can, to the code generator, appear to be NULL dereferences, leading to
>
> In function 'atomic_dec',
>     inlined from '...' at ...:
> ./arch/x86/include/asm/atomic.h:182:5: error: array subscript 0 is outside array bounds of 'int[0]' [-Werror=array-bounds=]
>
> Aid the compiler by adding a BUG_ON() checking the return value of the
> problematic p2m_get_altp2m(). Since with the use of the local variable
> the 2nd p2m_get_altp2m() each will look questionable at the first glance
> (Why is the local variable not used here?), open-code the only relevant
> piece of p2m_get_altp2m() there.
>
> To avoid repeatedly doing these transformations, and also to limit how
> "bad" the open-coding really is, convert the entire operation to an
> inline helper, used by all three instances (and accepting the redundant
> BUG_ON(idx >= MAX_ALTP2M) in two of the three cases).
>
> Reported-by: Charles Arnold <carnold@suse.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>




From xen-devel-bounces@lists.xenproject.org Mon Mar 13 13:33:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 13:33:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509273.784746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbiJB-0005TG-Hy; Mon, 13 Mar 2023 13:33:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509273.784746; Mon, 13 Mar 2023 13:33:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbiJB-0005T9-Ec; Mon, 13 Mar 2023 13:33:49 +0000
Received: by outflank-mailman (input) for mailman id 509273;
 Mon, 13 Mar 2023 13:33:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=2EdO=7F=citrix.com=prvs=4292f2e3e=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pbiJA-0004ws-GU
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 13:33:48 +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 f90d65ab-c196-11ed-b440-930f4c7d94ae;
 Mon, 13 Mar 2023 13:02:51 +0100 (CET)
Received: from mail-co1nam11lp2172.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 08:16:50 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB5783.namprd03.prod.outlook.com (2603:10b6:510:42::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 12:16:47 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Mon, 13 Mar 2023
 12:16: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: f90d65ab-c196-11ed-b440-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678709813;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=mVNST4twzFORKURMz4OqEVoEvpfgjF8S0hTPlDJbUEI=;
  b=UumaUvg8crrAyPPWb8uz7CJ/E0QYM7Z/MkZoqcGP30e0+c0/48Z+js97
   HdqPJltdQHJsQssA2uJtDQRWOKyswqlzBaPfoRz/kQjF0EwBf2yoSLHTM
   FZvsh/uYHoTY5wen9bIQAP30+JAtZtLN6MKOwV0vJ3/BCi15eaw2Q0eI9
   8=;
X-IronPort-RemoteIP: 104.47.56.172
X-IronPort-MID: 100599657
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:anJa+Kj7PUwDBREkVdSFdhqOX161rhEKZh0ujC45NGQN5FlHY01je
 htvXW+PbvbZZ2ukfoslbtu/9BwCv57WmtdhTFdu+Co3FiIb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waFzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQdCBwVaxuZjd7s2ai3S/NFlO4BLpf0adZ3VnFIlVk1DN4AaLWaGuDhwoYd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEvluGyarI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjAN9DRePlqZaGhnWT+XNJDAEVC2em4tv6pV/uGNgcb
 H0tr39GQa8asRbDosPGdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QOtsU7WDgr3
 V+hhM7yCHpkt7j9YXCA8raZqxuiNC5TKnUNDQcfVhcM6dTnpIA1jzrMQ8xlHarzicf6cRnvx
 xiaoS54gK8c5fPnzI2+9FHDxjmr/57AS1ds4h2NBz3/qARkeISieoqkr0DB6upNJ5qYSV/Hu
 2UYn8+Z76YFCpTleDGxfdjh1YqBv56tWAAwS3Y2d3X931xBI0KeQL0=
IronPort-HdrOrdr: A9a23:LaUeyqxmmhqfDuQkHJwqKrPw/b1zdoMgy1knxilNoHtuA66lfq
 GV7ZcmPHrP41wssR4b9OxoR5PwJk80maQY3WBzB9eftWvd1ldARbsKhbcKqAeAJ8SRzIFgPK
 5bAs5DIcy1BVxoydz8+k29H8w7yNeKtKCk7N2uqktFXEVjb7Il9QBiThyGGVd9XwleGJo+E9
 6V/c0vnUvFRUgq
X-IronPort-AV: E=Sophos;i="5.98,256,1673931600"; 
   d="scan'208";a="100599657"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UE8XJWYfhAr5w56YZxetLTaHhFAjn595sjSXAfwHBmrnflfGlFrmeDRk78c8T3ciwKaNPiHtK56xQy/iHVsIFN/yKR7dX3GZZKfNjezZ6AHARgwvz1j7etNKRu7kkXmj0Iv3TbymOMlektEfe0pPJCC4n6h1LNRXQY0hIdKPx0OKt06VP8RBsm75dCt9l/hIHliHafDYrY8CxSbCcKbKKWJfQbO8ofB+7I1NztkwvHFUdl83/v7j0d+drujiF2nsgq64wFslL6hIR6Z2IjDdiFnQfafYE9UkQG9/gSFUW+l72G0PJnTl2rBFcgT3vK/+iSQ4Xqu4vK7Nc1+z5An2ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fDdqD4EBDZkYy+noaYdyhSvEKM2kzF7+dBB4ZPin734=;
 b=e5f0moWnlSA+202bg0PWS4Fw2NJAj3YOaIAm45EEXRV7SeHO8hdEPg6er5EP6t5MoBVgSUVkxECq4wP7zcOFpchxPmuHTA1anlx8xc7QSp3U1nhoJAjY8Pwyzbofb/7xUNr47X+zlskv8y/vXviTQpBVkqxOClNt2MD7RNIPT2VQCEGmSME5+O8zJ+Tw6EyEXOKt/a/3KuAdleMNCenx4jMpn8az5Ag7qyOuYSWok37kU9PusXBpc4Xkr3/GYlNKyS6YJXG8mxNn8mN4Gqr8aJQ+VVN/F5Ar2YNffelbLxn4bj5Q36YKRosh1XYngZp0i5FuJhM+hcMTbKUdlv6Q4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fDdqD4EBDZkYy+noaYdyhSvEKM2kzF7+dBB4ZPin734=;
 b=xeuRJz1NxosDJ9hqst2aITlQv77xq7x5CWVRw3az5IMVCK1diDE1l4jb7dlf12MxCxB+uOpvw2BnruEFzhoJ3WxRC4mqDtvrkPJy8BTalsriXKzixiOW/K1r8S4bCBMvz1iBzve26V0pYIwyDigXEZ0r2LxocKsArX6sw4KYwRc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
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] xen/grants: repurpose command line max options
Date: Mon, 13 Mar 2023 13:16:32 +0100
Message-Id: <20230313121632.86789-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.39.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0498.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1ab::17) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB5783:EE_
X-MS-Office365-Filtering-Correlation-Id: fec4c335-ea16-4ba5-2ace-08db23bcd0ff
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KRlkBYfoslMGVumCL42G4rp2Pd7NEzYyK3iZKXOTnMaLrPxinFMvyTIcqN2v8LR3ToPnuR97zvAuN9tWduaAHfXVPhjdlOtl4XB8HDx5V3i4QABcDcd9F8ces1FlktbRFz/OL330Nrg0Vv+up4Gl6BtYKHJBqVAa12gdOxijsZDnh5JrhR9N1gAlSXHbhKi0Wu4znGos01YidiR4BeIfWPtD8qzlwJjnudDKjjCfxgTQdH7oBgpJso65fAkEpP8AZj+V+2tHDdMJiC5xXR3rfBqqq28uZ+Xl/xbRW0KKTNlFFe0/hcqTomTZKeYWb6BwN0/em6ZVNKcYXLOmunvY3Lk2H6s4RnFM5HEe9Jpebrv/c2JAtrNHX9LY5gFSg2YRktSHtpUOZnMH6h2bxHMvU0j0ogSGiN8QN1RMKoxG9AVIQgQ2KkbvMVcU3JLNh8SNmWQX0TT03+SqM+n1AQ7yyozo2L+xkc0AU7G9CQOdYm0t1ja6ypfgJAUCtHqeY8sK5G6kIfDjxMY7Uscrz3aoC7xUxvrnC/a/JvV+KZKPSqRMxD3un/NMMfp4r+m4LB154HWym8XoT5wlgTZNkuLCqIk59+37iC5Ev3Tq0mmbktpYR6unAdCQNiMx2JXryplCbFIfPM7vRcJwMKwrBTvnJQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(366004)(39860400002)(136003)(376002)(396003)(451199018)(4326008)(5660300002)(8936002)(6916009)(2616005)(41300700001)(186003)(6512007)(6506007)(1076003)(26005)(86362001)(36756003)(83380400001)(2906002)(66946007)(6666004)(66556008)(8676002)(6486002)(316002)(54906003)(66476007)(478600001)(38100700002)(82960400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VjhlNURraUJOZTRxdGZHWEVFM0ZWUlA4UUpEN00zZm54SVB3T3lZaStHZzEw?=
 =?utf-8?B?M0ltWTBPSnhFTGE4cStuNktQVWdXa1B6aHVrNGhBU0JCL0dVLzJiTnFBUGlj?=
 =?utf-8?B?bGpoall1eXpjZ3AycXZ6d0xMdGw5UTRKekVzWFhOK09tcFlySzdPM3lWdFRO?=
 =?utf-8?B?SDdmUERSUmFOUjNVTjlEelZJeGFOc2JVNGV4OFpXOWVmei9CeG5ZKzEvc2J6?=
 =?utf-8?B?VW95TWRjUzl5dFJIZm9ZdUxJcDY0WVBvbkZUeTlBN0N2d2s2VE94ZFY0NmVZ?=
 =?utf-8?B?dXZ4UE9MZnIrOE5MMHNscHBLRVU2dUYrU1Jyd2JqTHdpazluczZxemVYajB4?=
 =?utf-8?B?ank4b0dqSy96R2VUaEJnV21QcGM0eWxJd0Q1eHlpWnRGUFFXekJtekM1Q09D?=
 =?utf-8?B?aEgwZTA3VzdpZEN0QWlTZ3NNSVRzQTNWemtFUEpkN1FoSUNra0ovRENmNmkr?=
 =?utf-8?B?T1k3RDJjaEsxMUtUaTN0VS81U2hUclVrdlRUZXp6MXM2OHIyZDFoc2YxOEd3?=
 =?utf-8?B?VEpUZE1BWUFCNThPRU9lT0hROVNVVkNVeEFmd2Q0UjRXb2QrbittZFJ1T1Vy?=
 =?utf-8?B?TEpIL3hOYTkyUlVyeVVKRHh1R0lUMlAyYk50Y0QzWk1ubW90SWpDbmRHSGdo?=
 =?utf-8?B?S3NjQ3pEWFFQYUtVa1VLMERvakRKUncwS3AvTklydlBlUDRBYlBtUUhoNGlH?=
 =?utf-8?B?bWRDaFVqeE9MdmpjcmtvWk9vazAyVTh3ZHR6K25DWGZGUXFCYkVnbkg5TGRC?=
 =?utf-8?B?SUFESkdDS0gzRjF5U0FPYnZZeEhXWldDbmxYOFoxeStWZzhPK2pEQ2prKzla?=
 =?utf-8?B?S09uZ3picC9QRTVmaU1ldTJxN3Y4Qzc3ZGcrTWpXWUVlcnJwcEJiczdkekMw?=
 =?utf-8?B?QnlicmJ6K1NvdmRHblFIU1ZDVFJ5UDFtNTNjRWRmTEJYTnZSN1ZwSEFwNEsv?=
 =?utf-8?B?N1ZmYnJKdTF5OFpobWI2NDFzU1lXOXV1eER0NWJML1RiejRYNDRWOXFVd0RS?=
 =?utf-8?B?d1RSQ2F5YVhCVXJaY3pKaWxkQlFVa3BEMmg5WXlnMkthWXZMNnJRZGQxekF4?=
 =?utf-8?B?dTFDK1Z1NU1uSW5abnd2ZUNJYkdVZzJjRGZsWWFNdWdnY1NiY1hnaUVuNGlY?=
 =?utf-8?B?Qi9iZ2xWWnF0RkVzZjI0Rm5UV1VMUjRENHJzS21qZTdwOEdkNmx0S0ZEQTJo?=
 =?utf-8?B?cnZOM2RrdVVWZXRmcFBNUWNESDlsMjRZM09uRngwZWNGYmJ3MUxMMGttRVh5?=
 =?utf-8?B?TmtCZ1RQc1gwU0ZNUmJrQU9IZGdKY2VIMjBibjg0QTVDUmkvck9SdzFKdFVL?=
 =?utf-8?B?cEluQ1hrNlcyS2FHSllPd1lYdnNCc21qL2NkRVJjWUpxOUZpbWQxcE5HdnN3?=
 =?utf-8?B?d2NJK0NZbUlDT1hWVXpWcFZpUndJWGNGcG8xNnZMT2FGSjd5MnIyOXFuNnl6?=
 =?utf-8?B?SjRiMU5rSlJDTGMrTUdFem8wMUVtWUtsMlNkbk5KQWpLOFpodmpGcE1wU1B0?=
 =?utf-8?B?Mzh4aG1vZ1NtbHpoNjFBYktscTV1dVNPQk15VU9Vd3VuelNkd0NRMFEzWmZj?=
 =?utf-8?B?b25nazF4NmhGaVRJRENMRGNhUmFUbk5kcTdXd3FWS2wwZ0lRSWpmVVVUblgv?=
 =?utf-8?B?bVJ6LzJSd2IzNGVidHZIZHBaMSs5ckRmNXEvM054SWZWY1ltTVRtZzYrT3RW?=
 =?utf-8?B?VDkzRXo3NjhjdHVqL0RDd2tyZUIxN1pSVUdtMFZ5bXZYWHZNQ3RNVkZ6VEZ3?=
 =?utf-8?B?VzVPaXdKZmc5RVAvS09uS0RLc2xUZWdZNzZBWldLMHZKL3gycHUrNUJWTk5J?=
 =?utf-8?B?alpjVWVncGRySXVBWStkSVR2Y0Z3blFFb2tOYTRYNnF0bDR1S0dxWEg4Nm5W?=
 =?utf-8?B?UStSMjM3OEs0MEtmazM1ZDRONERuVnZnYk5EZWRpZ1ZvR0ZSSEVFN2dCZlkw?=
 =?utf-8?B?cE1rMyt6a0NMcDJpUUpYMWtKbXRFbEdla0FMUG9pRDQ2T3hiNmlUNzhIRWJ2?=
 =?utf-8?B?SG0vazhvQ0dNOWZZZFlQbllJbVRqMHNpQjlXbncwRmZLOEdNb21tMDg1dnZn?=
 =?utf-8?B?UUZlcW9LYTFWSDN4MkU4aTBFVmpNN0p6Tkh6NmdHSDlHSUpHYlZ6RjZseitl?=
 =?utf-8?B?OXpsZFlFdzNScDZpVkZyTmpJdmRQT2hRMXFIeStBTzJOamtYU3ByenI4ZmRa?=
 =?utf-8?B?YlE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	cxa8sRQlWz7xqqg6+5jZww5VzFSpN01b83WqbQap/zl0Nu8jADdCkbLp3jlm5XznpL/kt4y1xuVN1o+JImgW789IgyiYcPgRbrZywzF73pR50ytI7qS2GyCKop9yniLmWsH470ta9HeioE741wFoXGTzpC0R5E6IwI377leqpMfctAG+hnjsLOq3Fg4bxuNPXuDZGS/XtjVbmGu/HYb9dkWVVsraPr5BBVxG+jP+DVNLcZPfj6k8BCsQ0CIpRxqrwZybYXchg1M0hfIovt8FZZszWxMBsURkYxZSwMtGOTIW8vHOx3bvhgeijubyjcnRXlkgptw5ZY7B5nXbScDyQuUAiHymuvRbrtNfQUP2KEKDkJ2xc9UI6LNQyZxx15b0UowzH6GdqCVopUCqcBgIk7kh1BNa7SIa2f9KcRKp9m5m5+JeRdIJNOogfWWk+FmwkZ6V81g/6ls904hlCtc2V3/S/7JOed1mTx1B5r3U09/1AliPPr0xktpK59GXgek2BOmYqz3uoVCMXrKIIzygj7iNS6wYtVb4rNZxYRkmuZnZn3XpeWqt1K7djdzvkGph9RTzRYUuxOMj9STfh56ZRZCfj/DoNLPRBiR1nnIZCQ4diSmKaJWVRzyZfaiXCdGNICpxvlPrpttIhx6hBn5ZoD8LohNNmfjncoo0NA+p2u4FwAXh5rwJA+2YPwOUWa+ykRWW7V9Jk59CHjYVC19bIzygxiQpKgC4fx0BVShcUkfAdepqsKTle+woJuEoAhTQ31Etn1M4efeA7yeb/UdrDZsIVPW3fcKLfpuapxN9u9P/zwlZBHoekQu6i+IuKLcHXk7rl+zu/KfTNpW5dfL01bQ3sg2V33+Gc12X5lpXpKM=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fec4c335-ea16-4ba5-2ace-08db23bcd0ff
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 12:16:47.1826
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7wYpG4oRWGNUjjW8uUZ6MoDb8R0zG9r3wwUvzIzmZUyulDDM1SOxnBj35RAMVukbVz4IVOR81KMqRGUgU1PgDw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5783

Slightly change the meaning of the command line
gnttab_max_{maptrack_,}frames: do not use them as upper bounds for the
passed values at domain creation, instead just use them as defaults
in the absence of any provided value.

It's not very useful for the options to be used both as defaults and
as capping values for domain creation inputs.  The defaults passed on
the command line are used by dom0 which has a very different grant
requirements than a regular domU.  dom0 usually needs a bigger
maptrack array, while domU usually require a bigger number of grant
frames.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 docs/misc/xen-command-line.pandoc | 12 ++++++------
 xen/common/grant_table.c          |  9 +++------
 2 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index f68deaa6a9..f09d1b23da 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1232,9 +1232,8 @@ The usage of gnttab v2 is not security supported on ARM platforms.
 
 > Can be modified at runtime
 
-Specify the maximum number of frames which any domain may use as part
-of its grant table. This value is an upper boundary of the per-domain
-value settable via Xen tools.
+Specify the default maximum number of frames which any domain may use as part
+of its grant table unless a different value is specified at domain creation.
 
 Dom0 is using this value for sizing its grant table.
 
@@ -1245,9 +1244,10 @@ Dom0 is using this value for sizing its grant table.
 
 > Can be modified at runtime
 
-Specify the maximum number of frames to use as part of a domains
-maptrack array. This value is an upper boundary of the per-domain
-value settable via Xen tools.
+Specify the default maximum number of frames to use as part of a domains
+maptrack array unless a different value is specified at domain creation.
+
+Dom0 is using this value for sizing its maptrack array.
 
 ### global-pages
     = <boolean>
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index b896f9af0e..627bf4026c 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -1956,18 +1956,15 @@ int grant_table_init(struct domain *d, int max_grant_frames,
         return -EINVAL;
     }
 
-    /* Default to maximum value if no value was specified */
+    /* Apply defaults if no value was specified */
     if ( max_grant_frames < 0 )
         max_grant_frames = opt_max_grant_frames;
     if ( max_maptrack_frames < 0 )
         max_maptrack_frames = opt_max_maptrack_frames;
 
-    if ( max_grant_frames < INITIAL_NR_GRANT_FRAMES ||
-         max_grant_frames > opt_max_grant_frames ||
-         max_maptrack_frames > opt_max_maptrack_frames )
+    if ( max_grant_frames < INITIAL_NR_GRANT_FRAMES )
     {
-        dprintk(XENLOG_INFO, "Bad grant table sizes: grant %u, maptrack %u\n",
-                max_grant_frames, max_maptrack_frames);
+        dprintk(XENLOG_INFO, "Bad grant table size %u\n", max_grant_frames);
         return -EINVAL;
     }
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 13:37:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 13:37:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509278.784755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbiMV-0006iI-4i; Mon, 13 Mar 2023 13:37:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509278.784755; Mon, 13 Mar 2023 13:37: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 1pbiMV-0006iB-20; Mon, 13 Mar 2023 13:37:15 +0000
Received: by outflank-mailman (input) for mailman id 509278;
 Mon, 13 Mar 2023 13:37: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=koCJ=7F=citrix.com=prvs=42903c55b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pbiMU-0006i5-5i
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 13:37:14 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 99dcc31d-c1a0-11ed-b44b-930f4c7d94ae;
 Mon, 13 Mar 2023 14:11:46 +0100 (CET)
Received: from mail-bn8nam12lp2175.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 09:37:01 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH2PR03MB5365.namprd03.prod.outlook.com (2603:10b6:610:a1::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 13:36:59 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 13:36: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: 99dcc31d-c1a0-11ed-b44b-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678714631;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=LmT0CHabLUNAh86KdimLPknycg/YY9KZkkqH1MNgNj4=;
  b=K1q6SfOzPEF6JO1aDsxBCGWprSz6zUKQ3rNnRjf6zV4v3jNAkwghJTIb
   eGUhnCoMrYeP/Rh7ZawPlnbXnI+ywzgbz48llAyZEjNh/cr6aSqRB8nW6
   Wz3nBmydtIF3u9uVwi4AxsaVeb/lm2OTQqhyJzABGM16aWviTtPAMvM9l
   4=;
X-IronPort-RemoteIP: 104.47.55.175
X-IronPort-MID: 99417572
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:WI58L66ukDDDOpkh5YXs8QxRtPLGchMFZxGqfqrLsTDasY5as4F+v
 mFOW2iGPPmMMzCjeNsgb4SyoEgCvMDUmNU1QAtkqHgwHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS5weF/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m7
 8InMCsmdiG4hLiR/rO3a84zudshM5y+VG8fkikIITDxK98DGMqGaYOaoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUooj+WF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNNDSOTnq6Ew6LGV7mpDVA0XRWGZmsakzWGyaf9AI
 l0N6wN7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq19KqQrD60ETgYKykFfyBsZRAe/9DprYU3jxTOZtVuCqi4ipvyAz6Y6
 y+OhDgzgfMUl8Fj6kmg1VXOgjbprJ6ZSAcwv1/TRjj8sV4/Y5O5bYu171Sd9exHMIuSUliGu
 j4DhtSa6+cNS5qKkURhXdkwIV1g3N7dWBW0vLKlN8NJG+iFk5J7Qb1t3Q==
IronPort-HdrOrdr: A9a23:xklX565KcToOU2i++QPXwBnXdLJyesId70hD6qkXc202TiX4rb
 HMoB1/73SftN9/YhwdcK+7Sc69qB/nmaKdgrNwAV7BZmfbUQKTRelfBODZogEIdReQygdV79
 YHT4FuTNX1Hhxhity/5AWjCd4vzJ2G/cmT9ILj5mYoRQV4L7tm9UNiFg2AGFZ3XRRHA518HI
 Gaj/A3wwadRQ==
X-IronPort-AV: E=Sophos;i="5.98,257,1673931600"; 
   d="scan'208";a="99417572"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RDJAztTfUfDYLBRWV5zLsvTQ5beMe1CsdSiFTN9cdUzUovKPL3T0qxwdcEB0V4fTn2aJOUEwerkaW0ltmb5X4r+g33icTesffECylYooy9WBPuAjnYsMxbbZwNLaPXLbR+HyymeQ2FR+rq1Kj5TEl52aNsSWuXZeGR3OVk2HXD+z5fq5AGUNphBT8p0i4Mt9LrzoywKc4ZkEzPiRCmrpLvcEwAQ+Qo5mi74oGhVOq/bFhZZ4EZbql5Pz79a54ivgg50EUq7x7M19bNDwdbBTgYyjMzZFRpNp0CU/ahEztb9IdQKDLCqpPn1XRjnPts9Ga28sKJ9b9yW5PxZ2jMd1+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=ckj6+/q1FRsp7eOBkvyOHQWaWK6QwyzQiWg0//eFKj0=;
 b=StQmGuXp9dacfNduD4UMneedAcI3YaeiHl6jiGEyFy0urNv3HlOFAsntXsMQxkOfbFIUDR/WVcpRO4uIEI5TVRjuGin3l/YPkHjYE/e8/jaLIdaw559tCBwkAjcvQPAtEKJAOA57r9N1sKE46gT4JVnM7P645brmwuCzz8R/doxJhwrBfdSkFZ/wOl+sZRlAg28oOyHKduaomrnCeRLSqHOy4s53GM8Kmfz6qHt1NZaNHPb+1ebZw7khJqVU8/OoCrYZRJ13NnPNXj3N5DnjxanY4gA3jPjF7xqVvpT3aiA65yBtxCOD7/Es5zI7HmRCeYkp+K4jM7NAu3QYjQLpBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ckj6+/q1FRsp7eOBkvyOHQWaWK6QwyzQiWg0//eFKj0=;
 b=dZh4yqQgawFI39q7/2oYDhJKCN/K1J6EMl0DZkUZi6fR3ERbH31/bZHXZnjZT4wfTaM1BbzJR+wFBZ5iV4hDZovNlKns8HhceN4huFnqZWHaBsSGRj2LQVGa5aXTrDW2YcQWqjg4uJzXcLo0cwubrj6ZgqIn+1NbMiSONVS9B2g=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <69804a5d-e454-2eeb-8826-d585113ab341@citrix.com>
Date: Mon, 13 Mar 2023 13:36:53 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v4] core-parking: fix build with gcc12 and NR_CPUS=1
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <5a2ee9fa-df29-6665-771a-970c00c58838@suse.com>
In-Reply-To: <5a2ee9fa-df29-6665-771a-970c00c58838@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO3P265CA0002.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:bb::7) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CH2PR03MB5365:EE_
X-MS-Office365-Filtering-Correlation-Id: ce506d2c-a4ed-4a29-9c48-08db23c804cc
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PVjKpU7gCxgGrwLXRbo4ZKCn+7nvo64PsvEejq+GD39+8jWLlINMoZ5pEdCG9ZbpefxnzOeAZAzWfYL2rj5AeiV4ZMqq0+JpYIVKar5FaQeE4YJK0ZHTPJIYTdOIQjXRSbUrsl42RZIP7JadyqvnAIQpivtdzxo643oZTQ2oIp+UXMLse25AHJViNSKFgIqqmCd25R0AgtXbN/3sl91ykA73Y7zbKpbeWiJlCG9de7Cs9XuV8YKRx6KZzX0Tihy+PbXbQdk9FmnCCAXxbE50wfPBonGGILRbLmSr3vxitbmxUC5a7gVJhSsrFcBLSd7NrrE2eC+QnFv7PNDhRCrB0982ePga3FxLFVLlfpeFnndu8IIg63aoVzlhv6HUzaLoUYvISQSOD0ruC2r1qOBJ9JoDTf4DWjT07YDi5FyAfO2NkTLQXzD/PAM77fw2HGz8psOqa1HAWbspxvX2D0E4+Qv6W6nethEN5/Tzuh8/s1wZWOIUeRslKKdvG/7ifUVQxF95FMDWuIyVtB+jn7ZhtJ9rORdkumB/BgA00tgPI1xLf9uU7z6TtV/xWlZNwZO8q9Eo3LuuHnQ4m81xHogphdKKrEDshBv5eI2rg4WJNZPr1t8bYGzejP2P416C1SPBQA08bco4tJ9gUfXJ+VgLMcCFzPAPgtQkE5yt/k7t7/9FUY9drJpPFKN1oIl7wilG9oINlbXqc7MZ/XXbpsbXF/iPzGWGNzvx7GA/+GvLVXY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(396003)(376002)(39860400002)(366004)(346002)(451199018)(36756003)(31696002)(86362001)(82960400001)(38100700002)(4744005)(5660300002)(66946007)(316002)(6486002)(110136005)(54906003)(41300700001)(478600001)(83380400001)(4326008)(66556008)(8676002)(8936002)(66476007)(6506007)(26005)(6512007)(6666004)(107886003)(53546011)(186003)(2616005)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NnRBM29aaXZFV1h6QUQrRkg1QUxUVis5Mmk3U2N6ejBMbjFRUU5aREk2bVRN?=
 =?utf-8?B?UDF0dlFHM1B3UXBOSXAzQkJvRGo5Tko0Z0kyN1Boc1hjSU5JSWZzdjc4UHgr?=
 =?utf-8?B?OFJmUW1KMi83TUU4dkJCU25vYVNOeUlZZzd3VG9kSUtwNlNjQkVFYk1nblFh?=
 =?utf-8?B?cEplQTNsMHNGWHNlaVdjZmJZb2t0U01pbjlUVlpqSHJTQ2NXOFlweVpXNFk4?=
 =?utf-8?B?UGhYUTBtRkRuV2J3RUlvc0NNdEllVHFBWUQ3VlRpT0JQOFRMWVQ0UTN0MTYy?=
 =?utf-8?B?NUNzMXlGeDNyaVhESkl1T2NDNEpaUkE5SkpQVFI4NXdWYUNPZ3pCekx3b2hH?=
 =?utf-8?B?R3BpWEF2R1AxZTE3blVISWhmdzZqeEhtTVlmSGJicUtQRlRBamcvNFV1Ujdi?=
 =?utf-8?B?WVhscjd6bW1FbmpkaTQ2RWNzRkdDWVJWV3R6bEx5WlI4MUtleXdWYkYzTm9l?=
 =?utf-8?B?N2ZoY2g0dzY2K3ZSSy9pOWhTSkJGd3I2S0F3enVpdkpPaU1wa0lpYk9GeWFL?=
 =?utf-8?B?MmFwU1VrTXdPNE1lSWJscGtVYWlwYmFZSTV5N3Jmb2JhVUtBTjdSMnkzUWtH?=
 =?utf-8?B?UFpZaVRaK1RtVExCYS85Uk95NFFXcnBuRkJkcWNtaVhncHp0a0R5WW1ZOWw5?=
 =?utf-8?B?SDRHUnNUMzU1L2dGWndFUFdCNDM4RUZwZzVBZG40MGg1Z09qc2xIU0ZhQlpp?=
 =?utf-8?B?Mm9ZbXNUZ1p2ZVZTR0dHOGZHSVI2SDNOVEw3TTNpUnlqWndrcGJNUi9MQ2Vj?=
 =?utf-8?B?Qmd1eVpwSklqeGFIUjIvUm1wWk9DcXk1d1pmbXFZQ05HSlFXV2RsV1hFYlY1?=
 =?utf-8?B?L0xKRmlwbmpJSDVMY1ZIekZhQStabHpobHF4RmZ6QU9mNTl1VXZlN2VCZTFF?=
 =?utf-8?B?SWFESEQxRkRIMzBMOVVacGpuT1UvUmtKN2dYV1F3aUhDU1RSa2p0UTErVndX?=
 =?utf-8?B?K0kyKzBoeENUSFY3ZFVTaDg0TUx3dFI0MCszOHM0dFJ2Si9Jayt6WTBPYmhV?=
 =?utf-8?B?bjdCa2VNSXp5aWcveGM2M3lUMTR3R016c3M0LzUyNUR5QkVjR2VWaC9Zb3Zo?=
 =?utf-8?B?Slk3UVpFc3E5OG9QS1NLMEJiSkNjZHlhQzJ0eVhjMVMvM3kra2NaeGgxaVVt?=
 =?utf-8?B?Y2xZUFU4dTVIUGhGUE9ENkNiUDdCc3JoRm5lUzZEMXJCWktHSzlzejE1eGxv?=
 =?utf-8?B?Z1lrdzFvdDBBVUZ5U1RTc3ZUVkl2Qk9DajBraURGSUpETHpoSVVWUnJRclA3?=
 =?utf-8?B?MjZjRjJubTBqMVJGM0xxdnRjcG1xbE5GUVR5cVhOVFNBWVhDeXUxY0lpZFFF?=
 =?utf-8?B?VVYyb0RtSWxZaG9pMk1INFM1MW5DM002cFh4c1k1SDdMOEI1RU5BMGh6a2Ux?=
 =?utf-8?B?MWM1Nnd4Mkp3cUlXUUVrRjkwaXhob3VhTWFRZDhYUmU5RGFxamMwSlAxeFEv?=
 =?utf-8?B?R214ZU05OGphaGtOZExSWXJmK1lTSkJ4Y2NIYlo1NDJlY3cweksxOXlhbmVU?=
 =?utf-8?B?Y08wOHhyaWNjQ29tTGJnbUJvdEx6RGlYenhockgreVdHVFlZTDFWU2pNV2pU?=
 =?utf-8?B?TEQweURuUXBseXZIRDRlMkVqRGc1bU5RbmY4cTNzbjB1M1VKU2o4S2Z4ZVQ3?=
 =?utf-8?B?WXhPV0xtZEVCeTJDKzlJalJ2MUpLeVFYeE9nL3pRNjZYMngyc1lWcUtWOXNV?=
 =?utf-8?B?SUFSZjE2dnpTcTlGRFh6YVZYK2NYL0pHQjJrQWp6eG1sTzBHMTk5UGtPUjdy?=
 =?utf-8?B?SXV5QlpueXRmM2VIUTNEODdVUGNMWVVwZ1JESlhoWVcwajJnVTBHQTdpMEc3?=
 =?utf-8?B?amFFZnIvekxncCt0UE0xZzI1SStDU1FjTHJRNnA5UHFkTFBoK1V6NTBTVlJR?=
 =?utf-8?B?VFl5WmNqMG15S3VobUducktaWmlwK0ZyWmNQVEp3cExqM1Y2UC92VVJ4K092?=
 =?utf-8?B?QUVCR3NVa0hMM2dqQkhEdHE3Z0JPWTdaM1JCRXJkdzJnV1lZS2FWSTNRbWl5?=
 =?utf-8?B?V1U5T01WbWFORXRueVBtQWFSTjlkZGIrWVVPWEJvQnVMN09helNlaXdNL1RM?=
 =?utf-8?B?OGk3WTZLbDUwZzVZeW5mM3BsSFhJYzVweHlDOUhoaTZ1TGsyMHNBcmJTRVJm?=
 =?utf-8?B?QXV0cEg4bFFpQ1BqRURZeUtiaWhKYUNvbHBzUGhMQmNrNXJwZUcxaWJSUHVM?=
 =?utf-8?B?N1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	hViyoajb3wWwb0QeQdunMGbjKhMyHNAtbL+RMMf/8+NFxuNAYxCLMtZiAXGfFWFty0PObfuDDa6xtuVOHEfwIAWCbJUfqfDs1qu4XKOKIMGa9r9FiwSEKwPpkxsPpPYajlIDgURsOR8BnkXfsdxM4Woa3VzxenYE9efa899KSk+FTB8Pxgjn4IBnRcIlX9whNMEN8AqcuFhOJF551qJq0zs/hf7vBacUPtU+dNZ6m6Rj5Qw6UStva7JtUXarFHV20CFAX19Vakxznd5qgkEQu2NfvebxX66Trbqg5/KsbEADOQGlMzWVmj1zyEdNu3euZnogcQChnnB4YbxxICW+HxFolel17jnxG55Up5p/5cWQjP3Hsn6eyaMQ3y53M7XpH9RelqKpPLz1RWLAjMrMxssPW4KPEUPMxhAF13IfQKn2OL/+CDd28tvf4Sa67UWwkhj6kFQv8Oq7ip7ozDECHr+jJSRYcAxTkHE/Ij8zVSE1RMm/hm/lfZA9tBXbWK/hnKQaSCNy7IGQoTrQEHm/jdskFfZGTpW7p/m/4pL0TSyixlXLZ02udy8bx2qBH86l3sNoWyAvdYLYfKtwTbb6F3VZ0Fp3sN8oAmlqIHf6YMLuaidYPSBsU0cBeviVK1se4msMV/qbbmLQ0kPwulvZJp9mcw2mvOXkIdlooCKcV9hHjrc9d4pDcqNMig7vEr04vlQsz27O3CjpCT17gqZFR0mIbn5uzLOOp0gyctfgTsZy4xvq0LFLwNrt3eZ3lnifZIfXbOHXzaqVxit/789IcWS1XptjLL8mdZEB6vBOp4mAo+rP4IgTbi8Q/+EF8WMEaQ/6RG7J/dlafCOj248s8lpBBuYnQv7oocsemDhm1so=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce506d2c-a4ed-4a29-9c48-08db23c804cc
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 13:36:58.6819
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CwzYlBQXN8Mj1UpVjOTcLKHKmU6WjDqN7SqJ5u4EZzRpZ9K4dNKmuZxu2ePF8gnqqUeXHlWyATJc9eWdXf7DMVHiCDPylVXDgsE18G2+8rE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5365

On 28/02/2023 12:34 pm, Jan Beulich wrote:
> Gcc12 takes issue with core_parking_remove()'s
>
>     for ( ; i < cur_idle_nums; ++i )
>         core_parking_cpunum[i] = core_parking_cpunum[i + 1];
>
> complaining that the right hand side array access is past the bounds of
> 1. Clearly the compiler can't know that cur_idle_nums can only ever be
> zero in this case (as the sole CPU cannot be parked).
>
> Arrange for core_parking.c's contents to not be needed altogether, and
> then disable its building when NR_CPUS == 1.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 13:39:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 13:39:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509282.784765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbiOM-0007JZ-Gx; Mon, 13 Mar 2023 13:39:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509282.784765; Mon, 13 Mar 2023 13: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 1pbiOM-0007JS-Dq; Mon, 13 Mar 2023 13:39:10 +0000
Received: by outflank-mailman (input) for mailman id 509282;
 Mon, 13 Mar 2023 13:39: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=koCJ=7F=citrix.com=prvs=42903c55b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pbiJD-0004ws-Lz
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 13:33:51 +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 ebf013e4-c198-11ed-b442-930f4c7d94ae;
 Mon, 13 Mar 2023 13:16:52 +0100 (CET)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 08:33:04 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6485.namprd03.prod.outlook.com (2603:10b6:a03:398::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 12:33:00 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 12:33: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: ebf013e4-c198-11ed-b442-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678710795;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=kyn4WieAyjHIQy+g1/Zcr7snJR74eFHpuaU63/mvlyA=;
  b=Zy4Oy2yWFCBv45Tosdr1Gl9jEo0PKCFidv5sLZqRCPy8JW8txTrjoJTZ
   wo7GgJ5aSacQT/rTql+EY1aSCBGWCeMVTjqcCxcc2hv0mh5KFylyBxIMX
   tTUlNis7qSAyMtii526lGln4vi2DuK+bf+O41tkbfQgV3DdNba4wKpu4b
   w=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 101008811
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:VWCS8K/4YsTGHJ5aGcJ/DrUDiH6TJUtcMsCJ2f8bNWPcYEJGY0x3m
 2IfCDrSb/uPZGajeYsib4vkpE4FvsXRydc1HlM9pHo8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkQ5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklR/
 M04BBM2MSyhnua46rGpS7ZDlMcaeZyD0IM34hmMzBn/JNN/GNXpZfWP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWDilUvgNABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdpLTOXopqcz6LGV7i9CBzgoekuwmsWeoEy3aeIFI
 GoV9AN7+MDe82TuFLERRSaQoWWNvx0dXZ9cFuwm8hCl26PS7wuJQHIZJhZRZdpjuMIoSDgC0
 l6Sg8ivFTFpqKeSS3+W6vGTtzzaETcRBX8PY2kDVwRty9vsuoYolTrUU81uVqWyi7XdGzv93
 jSLpygWnKgIgIgA0KDT1VLahzOhoLDZQwhz4R/YNkq+9R9wboOhY42u6HDY4OxGIYLfSUOO1
 FAYks2X98gSDpWAkiOcTeFLF7asj96MMSbVgFpmN5Mg6zig9XOlcY1Kpjp5IS9BKt4FYzTgZ
 EbZpCtb5YNfMXWna6N6ecS6DMFC5ar9E5LjX/PdbNtLa7BwchOK+GdlYkv492Pgjkkq170+M
 JGzcMCwAHJcAqNipBK/TeoZ1qIwwT4W3X/ISJvm1RW7wPyVY3v9dFseGF6Hb+R85qXUpgzQq
 o9bL5HTlUUZV/DiaC7K94JVNUoNMXUwGZHxrYpQa/KHJQ1lXmomDpc93I8cRmCspIwN/s+gw
 513chYwJIbX7ZEfFTi3Vw==
IronPort-HdrOrdr: A9a23:Vqg+aqgiOLFl5ka6AU3db/PmLXBQXusji2hC6mlwRA09TyXPrb
 HKoB17726OtN91YhtMpTnuAtjmfZqxz+8N3WBzB9aftWvdyQ+VxehZhOOI/9SHIVycygdz79
 YDT0EUMqyXMbEVt7eD3OB6KbkdKRu8nJxASd2x856ld2FXV50=
X-IronPort-AV: E=Sophos;i="5.98,256,1673931600"; 
   d="scan'208";a="101008811"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Rb3QHEqlBbGm52GBDCTjqkMdMYmB/RlZnoDMbzLVMgxUSlxLKnhUYeCHsOkOtDdcJrv8cWRTaMn+LzbF4e7LoZV/H+XvaB9kFLOQcwsD7IqNkOWmb6ILqUYvNwP3wcUv2x32C9Jfh8cflWZEk/y05f0KXyjgnm/B6+VP6kyC4nZuosMoJWvrPKIJSbcLkHKqV3KRJ1qrbOsOOts9l3pyVqKETtG5nhtIEajryIYQbqhQJvnaNLruwZ/IKCdnUWethoNLogJu4ap8w+W8UtWCZNz4iBY7aoagHXD3tuwf4C32yIhEdyVOKzSIE6M38LSbcS1dhVJeWXtOjyOjOeee1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o9dFtfzQkyiRQz3eN4tzt3B8OXqbHpwxydE9VnCLBj4=;
 b=CVNiCy/EIWxqYww531hKdWKV4KiiNOKUVKVkdxV/GXYz6e9M/yCQ63R/OML+t7hGLSc35n2rGy19oihV5KicbwlWnMSw8yjGCrnkzNIf9P0lWMR6q6LN67sHcCdu9gCmpEnW2DSZy6Vd2k0J48YHCWeon45QKOuvY/CJ3DCU3gT3isKJpJ3/n+G5e3O4eOv4HQ8AvQ+iiPyVx62H8uJ0w/vtuflPzpKlx+7n9AoGFyqRvD8pI+YOfL6pM9s0u1z4yjLqNtB0sjiLofIAm+k6VAGpfAT951AeJ5F5y/hpcRi4ZJJ+q23S5EJkVDgCcerOS82ekcJDV9dhggfA/Q+I6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o9dFtfzQkyiRQz3eN4tzt3B8OXqbHpwxydE9VnCLBj4=;
 b=CSYfIwfu+WrtAl2lFyynrzZE4dQEty3M1o81o7L5kScUb6BzASSbtXCxo/ZpIUUIJwsWfXIOyvH2AQH+1J1qNdddOq94J2k0IGyksG9pdV9AHV4RgY5DQ8XrJsFOJbxc2uclKqqP7i9P1JuQDA1Df00oGdUGGmns9GPPPXU0Bgc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <dd6018f8-27f5-d61a-7dbd-515dd432e1a6@citrix.com>
Date: Mon, 13 Mar 2023 12:32:53 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH] x86/monitor: Add new monitor event to catch I/O
 instructions
Content-Language: en-GB
To: Dmitry Isaykin <isaikin-dmitry@yandex.ru>, 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>,
 =?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>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Anton Belousov <abelousov@ptsecurity.com>
References: <3f577545b8ee6846ff98c4411cdc96dfe1412b3e.1678505295.git.isaikin-dmitry@yandex.ru>
In-Reply-To: <3f577545b8ee6846ff98c4411cdc96dfe1412b3e.1678505295.git.isaikin-dmitry@yandex.ru>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0028.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:151::15) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6485:EE_
X-MS-Office365-Filtering-Correlation-Id: dcf417e0-22ce-4ac7-ab64-08db23bf1530
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XlF0QBU/GxxvaURWXnskynKZjg6grEJZA+VY4Os1hhlChd4+dPwp5A3N9eekGmkGXwKQTlrSVq4dQ/Rn9CBUG/0GFF13tN1NzbD3uYzoi3c8JjvlsVc5F94wLXinK06syqtBsGOplN2pKVQr4W8f49QL5G4WWwyt0xX3vYOb1G13eQr3xrCLZKuj0aR+OTkhvxTXFiRoGOHzszb7YqXMY2MbzObf6XX9MIbDlhCGSuXuWg7+z1rxkMYf0wU3M2M2h+t1UkaJVs1rqa3qaO40wizVwU12uOX8nO2E9+hcL6MShkSgIr1SZeaxtDos/9anMWsMuZ3iu5mdQ27mTMpUYFOsvLeTFst+rlmIeuUATLhcAE1K2CalQaOVBaOgYwuigUxuXlOB6m55bAs1blWH/8QY35DXcSBYqIgE02ubrntt3l1qhKK+EgdVFUTFUQiM6LrNfzPnJU90d8Qg0/uaoqfhq6B6e4SWRETLZfrj43hBq2ciPYu2+ilroVgR3ly5PF5MZC6UK57U4oVlMNKVj5ZX9omwaNuMFh2xSZHOKxjtl07T0jQfgkkZmt8LZMrltpYSMBxQFH7qp8amNUAgNi45Nbnpm6f3c79N0Wmi+WBUacq30wWCpSCa6uCNNIWwTxtScjswxujBaWVZXsHJ1bZnFDD0vtKFlmSNI8WwBfXCaNxh6Fie38UAbCg8V4glaaDlcYac9zXrvq0LenWxID/dd3YJ/fMHeSUonTD0VT8bzXEZcF9x4mrOoYxl6JxVtwNNFBbwcAX1jXFwDlIQ5w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(376002)(346002)(136003)(396003)(39860400002)(451199018)(31686004)(54906003)(8936002)(478600001)(41300700001)(4326008)(66556008)(8676002)(66946007)(66476007)(36756003)(86362001)(31696002)(38100700002)(82960400001)(6512007)(26005)(6486002)(6666004)(186003)(53546011)(5660300002)(7416002)(2906002)(316002)(6506007)(83380400001)(2616005)(23180200003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SllyRDROV3IvQ0xPV2xqTjY4MWNGWUNXTDdta0tOWjN2QWNod3lvVWhKa3Mz?=
 =?utf-8?B?S0VRUU5WaENHN1lWRlUvbGp1K09MSTJjaFlxYUlaUlhDdWltWFZKVkgwOUdj?=
 =?utf-8?B?cnE4UllJSm9MWkt2eTYyYkxvUWQ2dWZDRkdYZ3JvQ0pFRGY1RGdPQzBCeVB2?=
 =?utf-8?B?MHV4T2o3bUpQN0ZQWklzdG0vamNNZytYT2lCUGM5Wks1RUdRYU1TVUlSVnk1?=
 =?utf-8?B?TkNPM0U4a2FqN1JJVDdkajF6bDhHSUYwdURPS1F2QW4yMVdrQWF1SzRmVk9H?=
 =?utf-8?B?RWFzb2NoRjg2alpXTzVaMitTeThrSEl0aFlYSlVycVVaUUJ1WHVkSzhKdFRQ?=
 =?utf-8?B?dFBhWXBXWi9ZalYwWmU3eWZ0bU5SbjdMRUwzSmJVVTNQNmE5MmNqMFBoRjNt?=
 =?utf-8?B?bUl1aXU3NEM1ZDJoNkdjbVhLZWRQMEdKRTdyRUNrdHQ0SzFhUy85WHkvdVpD?=
 =?utf-8?B?a0pRR1FsWGRTZVM0Vm1GY2w3UjdVbVpnL2F4NktPWGFUaXBQQUVQbERhbUtX?=
 =?utf-8?B?SVViTVpnYk0wdEk4YThrQzRFVi9UbDg2WVZsK1NZUlRlV3J4Z3JDVHYvTENQ?=
 =?utf-8?B?OXJsNzZERWRlZmhTQUpCMjVaY0RONXl6TzYyWWlVcXhPZUpWVkRESjc4Tm5s?=
 =?utf-8?B?Z2NpZUJITW5VWVZsMG5qQnYxbW44Z2p1TDJGMGxtaVpEMS9MaWYzcUZzcWlK?=
 =?utf-8?B?a1daTkt4QUJwOGZ6d1AvRjY5UkhjR1dCVmd5MFVxOG05QVJTRkhhb1Y4VGU0?=
 =?utf-8?B?MjNLaFllUFdpdDJUTUozM21UTTV6QmkrQnhhbXpYSkpGM3p0dGorY2tLWlZO?=
 =?utf-8?B?M1BlbjV5bkl4QVU2RWNSZ0NYZjgzYnVReXQ0UkpGbUtXM3hLbkl5ZDI0UW1B?=
 =?utf-8?B?RWxGVkpkSlh6TkZFUHJWclFrNDRpZ2N2NEFBM2NHNGlFdFJ4YjFsRFFQUDh4?=
 =?utf-8?B?U25sMFh1aTNYcGQ4VlE3VTVSS3kzc0graDdmZ2RSajg2SWRlSmh5QmxtYWZu?=
 =?utf-8?B?U3R4RWJvVXMyMVJ1eDlLYUE1ZTJ0YzFiUWhWc1U5ZCtIQ3dGMm5CUDhxeTBR?=
 =?utf-8?B?SHd6QWxQUXJZbWp1UFFwZ0ZmaHErSTUzV1hybmU2bGhoNWRieU9aei9yN1RX?=
 =?utf-8?B?RXliSkxFWmJQZ2hZTk5aNHgzWFE1aVhGdmF0YjNtQ3dQdTdWdmlZYUlVUysr?=
 =?utf-8?B?K2loM0ZMbEIxR21SMkNxWnNiazdneEJTWXB3aVJuMlN2Vjl4QmE4OVFFcDk0?=
 =?utf-8?B?RC9WWEdFL1kyL1JqSVo0aHhWUFZxWVB2UnMyZGtkS1lLeFE2cUlwMUNZY3U0?=
 =?utf-8?B?U3ZCdWVmUzhlbUdqd2Z6cjVsUGRpRkdoZThKbXpUYWh1TU1Wbm9iMGhZN1FV?=
 =?utf-8?B?SjhvRzh2RFlQY1AzNjYvdThBK0YyVW9ESVJ5Q0hyNkZ2UzNzNjNEQ2I1T3VR?=
 =?utf-8?B?bC94QUZjOW1hc2hkOU1jRmR4Y2J3OE8xdVVhbjdjVk5CZzRvdUg3aENQVjhI?=
 =?utf-8?B?QWZ6OW9adFBGVWFjcllnQmZVbTZ6MGtaRHcyK2Myb1hQbENVR3ZEZ0E1S3Vl?=
 =?utf-8?B?OWdvYXZPcVdvMEdVTDZCQnNXdVliV3NkN2hCR1RSUFFIZWdKQnN2RCtkVzdU?=
 =?utf-8?B?ZGZsTHhUUmRqWjBsTXFPWVZvS1NWVS9rMHJhQ2ZDcjBya1NPQWpySHEvQnNi?=
 =?utf-8?B?L01Qc2QwZ2gzMkVZV1g1MFVNOVlOMDkyTFdLbkF2UnNVSHZFY2lpTURRQ3Jz?=
 =?utf-8?B?eFBmZU9JSTM5SUxENTZaeUlxVjVwTVBtSkt1UDcxK3c5cnpCS05VeVRBaXcx?=
 =?utf-8?B?d1R6a0RkYzIrUEkxaGlYTm5BTTNQdENoV2tBem4wUHJuRno2bkN3Y04zdzVs?=
 =?utf-8?B?U2YzTmJKTWRPaWtXbkQ0Q05kNjhRaUVML0Y5aGlDZmFJTUpjRVBYYStNeHd3?=
 =?utf-8?B?MzJVUzU3MXJGWUZURHRUeUdxdW42QitRY0pXUVRFenlWUUdveE8zNzNZR2ll?=
 =?utf-8?B?RFlnOCtaQXRhbE5NNy9QTnI3RVpmc01lYk9VZmV1OTJLOXp4Tm9BYlZ2NTVw?=
 =?utf-8?B?R2JsVXVZd0kydHhLbG03bFVqbDJMMWtHVnFUOFNGNDdnbFd1NHM0dmI1NTBv?=
 =?utf-8?B?RmJ1ODJsQm5hSXp3UWptQXQ5dlN5U2luQzQ2WGpFR0xPajFLRW15c0FsREFF?=
 =?utf-8?B?YkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?L1pOYmdyQjZibC9OK01rSGZMMlNEdjh5am9BL0d2R2RTdUppQVloeTFLOGZV?=
 =?utf-8?B?WW9IZlVCNExTRjVPNHpnaEYzVll1MVZVd1NXeXlZcUFNNGQ0QlNSTHhRVWlJ?=
 =?utf-8?B?TXc4Y2g4RS9UUkhUeHNCQVI3K1JEVWhYNHp4Qm95U0VGWGJHYVQzYzJ1bnE2?=
 =?utf-8?B?S3pvNGR5eGhKcm1rNC80a05qNUMzL1I2Zk4zRXU2SitPdS9kcEovU2xnZ0th?=
 =?utf-8?B?ajY3OHlZYm96c3RyMlNDdEl4SmloRGM2TG5nVCtibzREdm5LMEZQelY0Z0RO?=
 =?utf-8?B?MWZhMDU0ZnR0Uzg2SkN2eU1CeS9SU01JSEc5aHlzRnBBb05KMldkanpVQ3pP?=
 =?utf-8?B?ODVpV1FSZUZ5Yk1yYnhIQzdXRHQwK0dwM2NudjN0L3hJMk05SEROQlltWXhG?=
 =?utf-8?B?UWxKMkhIT2VWUE5XYVVUMG5JdUdTbk9QaE5pd25QNGhYYUVpTEd3MVhJZ05H?=
 =?utf-8?B?NklRQXppS0RxOGlzV2hQUVAzSThWK0grNDRzNFBINGpHN1hUWm10eUVxeUsy?=
 =?utf-8?B?d21QYm5YanEvMUZQaGloUzFnL0lJcDhKNEt1ZzIxd2pZYjYxZmt3ZllxSDhV?=
 =?utf-8?B?OUp3cnBOTzU3R25lcDlMQ09hMTlQSWhwd3NaTTlkU2d2dFd3akd6YUNqaWM4?=
 =?utf-8?B?eXRKbngvb0hTWjAxd2x1WE1Zdk1aaGM2S2RHVytPNWRONlJXQmF5eXdmN1NE?=
 =?utf-8?B?Z1hTOHJzM1RJRUtYQURPbVNQSWphbWJvKzU3Y3lyS21uOE0xSzJTakhYNnpY?=
 =?utf-8?B?bGdwQkZUK1dYMjZ4WUdVS2o1N1pmbjUxaVErN0xCNTVLNXpvUys0UmZaY2t6?=
 =?utf-8?B?WjBJb050VWNpVHVvaUtpT1hCSXo1dlBHZStaVkNSUkhocHBpck1DTUFDQnpV?=
 =?utf-8?B?L29ZTWlyL082KzVZVlk0cklLS0ZYc09pMlBVeXZGa1d2dkFsUkV5eVJvVEQ5?=
 =?utf-8?B?QTV2MWVFcTJtLzFJVjF3dEVyUVdyc3dIVkNjSUo4a3lFaG8rbmcxdm15Z3Rr?=
 =?utf-8?B?QmRlaDJ3WjJqdE5oMjg5NHd6WmlIbUNXOGJQVThKU1JZbmwwKzRreGIvNWpK?=
 =?utf-8?B?S2tBNzJGSUpVc1VSRWhZZXl5c0c4ZWdLNUpNdStTbnpFVW1MVGhZSUFoVUFK?=
 =?utf-8?B?UTYxcHZPTzNoWDNBMlVQamptaEVYWiszR0FCNzZGWmdBL3dpa2ZwRHpZaEM3?=
 =?utf-8?B?ZUJQYnRXZjAzRVFSWGJJS1hUWU9VWG95SVg3WkZpQ3FIM1ZPMUZUc1lSOVdD?=
 =?utf-8?B?ZlRJOTZINFc2cUVqUmRmcDNkY2MwSzhhOWorTVpjUFMzaEdRY21ldmp4MTZ2?=
 =?utf-8?B?N0NxOUwwMi9EWGdmVURDbm1CMkVrQzg2Yi95NFVyRXZCMGdQNTkwWm82WFN4?=
 =?utf-8?B?V3B6RVNFbVZhSFE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dcf417e0-22ce-4ac7-ab64-08db23bf1530
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 12:33:00.7418
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: F42jZrwGpR4bEnRi7bcQ47lVBDu5v6xtGy1h3lmFBU5vQjf7lZx3IX0G/fWuPRPGP0bobzHvs6O7Wz8CLvvSX9eRAOmOk/JRN4KiVLkEmX0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6485

On 11/03/2023 3:57 am, Dmitry Isaykin wrote:
> Adds monitor support for I/O instructions.
>
> Signed-off-by: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
> Signed-off-by: Anton Belousov <abelousov@ptsecurity.com>

Thankyou for the patch.  A couple of questions.

Right now, you monitor all IO ports that end up in a vmexit.  But this
is already subject to hvm_io_bitmap[] which means by default that port
0x80 and 0xed are not intercepted.  Therefore, you'll not pick them up
with this monitor either.  Is this intentional?

MSRs (which are the other monitored resource with a fine grain bitmap)
take a different approach, requiring each monitored MSR to be explicitly
opted in to.  Are you able to discuss your intended usecase here at all?

> ---
>  tools/include/xenctrl.h                |  1 +
>  tools/libs/ctrl/xc_monitor.c           | 13 +++++++++++++
>  xen/arch/x86/hvm/hvm.c                 |  5 +++++
>  xen/arch/x86/hvm/monitor.c             | 21 +++++++++++++++++++++
>  xen/arch/x86/hvm/vmx/vmx.c             |  2 ++

You've wired up all the control infrastructure as common, but only
plugged hvm_io_instruction_intercept() in to the Intel side.

All you need to make the AMD side work equivalently is to hook
VMEXIT_IOIO in svm.c in a similar manner to how you've already modified
EXIT_REASON_IO_INSTRUCTION in vmx.c

Please do this.  I know the monitor subsystem doesn't get much love on
AMD, but we do want to do a best-effort attempt to maintain parity.

> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 278b829f73..a64c5078c5 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -4579,6 +4579,8 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>              uint16_t port = (exit_qualification >> 16) & 0xFFFF;
>              int bytes = (exit_qualification & 0x07) + 1;
>              int dir = (exit_qualification & 0x08) ? IOREQ_READ : IOREQ_WRITE;
> +            int str_ins = (exit_qualification & 0x10) ? 1 : 0;
> +            hvm_io_instruction_intercept(port, dir, bytes, str_ins);

I'm afraid this can't be correct.  Separate to Tamas' observation, in
the case that we do monitor the IO port, we must not continue with the
rest of the logic.

Otherwise what we'll end up doing is putting a monitor event on the
monitor ring, *and* sending the same event to qemu (or terminating it
with internal emulation).  This is fine if all you're trying to do is
log the access, but doesn't work if the monitor framework wants first
refusal of the access.

Monitor functions typically return int, identifying whether the vCPU has
been paused, which then controls whether the subsequent intercept logic
is performed.  See hvm_monitor_{vmexit,debug}() as examples.

> diff --git a/xen/arch/x86/include/asm/hvm/monitor.h b/xen/arch/x86/include/asm/hvm/monitor.h
> index 639f6dfa37..22d2b366a6 100644
> --- a/xen/arch/x86/include/asm/hvm/monitor.h
> +++ b/xen/arch/x86/include/asm/hvm/monitor.h
> @@ -54,6 +54,9 @@ bool hvm_monitor_check_p2m(unsigned long gla, gfn_t gfn, uint32_t pfec,
>  int hvm_monitor_vmexit(unsigned long exit_reason,
>                         unsigned long exit_qualification);
>  
> +void hvm_monitor_io_instruction(uint16_t port, int dir,
> +                                unsigned int bytes, unsigned int string_ins);

Please could this be named hvm_monitor_io() for consistency with the
rest of the monitor subsystem?

> diff --git a/xen/include/public/vm_event.h b/xen/include/public/vm_event.h
> index 0035c26e12..86e4cdba7c 100644
> --- a/xen/include/public/vm_event.h
> +++ b/xen/include/public/vm_event.h
> @@ -388,6 +390,13 @@ struct vm_event_vmexit {
>      } arch;
>  };
>  
> +struct vm_event_io_instruction {
> +    uint32_t data_size;
> +    uint32_t port;
> +    uint32_t dir;
> +    uint32_t string_ins;
> +};

For a string instruction, don't you need %rsi/%rdi too?

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 13:39:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 13:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509287.784776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbiOf-0007lw-Ux; Mon, 13 Mar 2023 13:39:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509287.784776; Mon, 13 Mar 2023 13: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 1pbiOf-0007lp-Rr; Mon, 13 Mar 2023 13:39:29 +0000
Received: by outflank-mailman (input) for mailman id 509287;
 Mon, 13 Mar 2023 13:39:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=++h+=7F=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pbiJC-0004ws-Dt
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 13:33:50 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6860922d-c19f-11ed-b448-930f4c7d94ae;
 Mon, 13 Mar 2023 14:03:15 +0100 (CET)
Received: from DBBPR09CA0011.eurprd09.prod.outlook.com (2603:10a6:10:c0::23)
 by DB8PR08MB5435.eurprd08.prod.outlook.com (2603:10a6:10:113::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 13:27:45 +0000
Received: from DBAEUR03FT036.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:c0:cafe::d7) by DBBPR09CA0011.outlook.office365.com
 (2603:10a6:10:c0::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.25 via Frontend
 Transport; Mon, 13 Mar 2023 13:27:45 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT036.mail.protection.outlook.com (100.127.142.193) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6199.11 via Frontend Transport; Mon, 13 Mar 2023 13:27:45 +0000
Received: ("Tessian outbound 55ffa3012b8f:v135");
 Mon, 13 Mar 2023 13:27:44 +0000
Received: from db4281e1ad0e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8FA91F14-27AA-4F9C-A792-F6B828DB0CF0.1; 
 Mon, 13 Mar 2023 13:27:36 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id db4281e1ad0e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 13 Mar 2023 13:27:36 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by AS8PR08MB9645.eurprd08.prod.outlook.com (2603:10a6:20b:61a::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 13:27:31 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 13:27: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: 6860922d-c19f-11ed-b448-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TBrl2vXbXXcZw9VB3uJMC6npfF3pNUGDO7BlABGsY1M=;
 b=Wgu9A3sc5DgBULs5HFSlIm2BMwSmJcqSiibivHmLvOs4ldj4mxEdspRNdPaFmZwMyBSZpV90UdvQJyBiA+lTQxxWRry4ni0xla2dMPAK93GlnmjEbs7umZTuIzxOG+kKEFyYITTmuTeqmTDuxfzy4KXYM+oSVpYG9vGfY7wY2RA=
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: 1dd0eb5c71a74741
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kk0u1XbT3CnCdsuTNG8oGYBAFXV3rCOls3fqfAZWDYVfcjbPOakBZ2yCQut9LElW3rQuPx6cZMqXBvQErLpww0OnSjmwFWx/Ise5qV9CMePAZPGZs6OeMDkZvqVE9Mou3vlwMigyQl+p8ME21qjN97xC703BT7r9hxA2kSfv4sg8VIpE6lsW6LKo/sWpy5gHAOkqj/ozol0JrYQ84RDwA1iQ/wotfVSULpb/R6jg3CbIP+Uhq4bVoxpuvsmrJbZB1nU4vYpmTtdi4oWSIZR+mzrEje11xkINlf7mmxwPzYMu81f0K5vMqQBGovqzqr+pd7Lx20vRd44uRN7Yf6cHkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TBrl2vXbXXcZw9VB3uJMC6npfF3pNUGDO7BlABGsY1M=;
 b=nK6th71MdBIov6e1eARXkc1rsSWJb9XS11aBVdpedqxgD0BeZQ9v84Jv+pp3Yjcri0HXSIDkbi2mbDZtCtJC31f1THGNs8PBphM8COxkJRUE3i0XjG9zOC+b23dUOG3yBvpVVGZNqpYsPnH66l8NtimZK9Qss+1BNLg5D0AnaHIMiL3vB8SWztuA+YPxA6xURlMOns1nb4W+AZj9GLfdlAGhQ4vPq9rs5RsxLZiTwUyioOwoNxFSTNkIXMVFSy8/8JV7NfoAt0yZkXuBU/IX6SCJz80fZSyB7SAiZkoFqGon2PW2/hYvrBRYWORJFhwBZA+60+t/EkM/zb5WcDUfNQ==
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=TBrl2vXbXXcZw9VB3uJMC6npfF3pNUGDO7BlABGsY1M=;
 b=Wgu9A3sc5DgBULs5HFSlIm2BMwSmJcqSiibivHmLvOs4ldj4mxEdspRNdPaFmZwMyBSZpV90UdvQJyBiA+lTQxxWRry4ni0xla2dMPAK93GlnmjEbs7umZTuIzxOG+kKEFyYITTmuTeqmTDuxfzy4KXYM+oSVpYG9vGfY7wY2RA=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Michal Orzel
	<michal.orzel@amd.com>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, "Volodymyr_Babchuk@epam.com"
	<Volodymyr_Babchuk@epam.com>, Rahul Singh <Rahul.Singh@arm.com>, Andrei
 Cherechesu <andrei.cherechesu@nxp.com>
Subject: Re: [PATCH v3 2/2] arch/arm: time: Add support for parsing interrupts
 by names
Thread-Topic: [PATCH v3 2/2] arch/arm: time: Add support for parsing
 interrupts by names
Thread-Index: AQHZVaz1hJUkfdlibkq6wV6LX+eESK74s7YA
Date: Mon, 13 Mar 2023 13:27:29 +0000
Message-ID: <1D22246B-8E81-4934-B2C2-647DDFC69F84@arm.com>
References: <20230313130803.3499098-1-andrei.cherechesu@oss.nxp.com>
 <20230313130803.3499098-3-andrei.cherechesu@oss.nxp.com>
In-Reply-To: <20230313130803.3499098-3-andrei.cherechesu@oss.nxp.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|AS8PR08MB9645:EE_|DBAEUR03FT036:EE_|DB8PR08MB5435:EE_
X-MS-Office365-Filtering-Correlation-Id: 8d3208ed-8430-4f70-65d7-08db23c6baf6
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:
 Xtm3nSylLEX3C5pWwYHKyz84SGIqgwSwo9U6mybb/ZSvAxF01bgOowgX6wQTl+kNx9nnNL3GfMH2NRL4MZn/5c6vqZHgakDR1aNbhdK2F2J6qcpsrszdMZIfgG14bGG+hyr93W0NF7lSeEgXtQpRAPdwvYD67d4D8qHE9G6OD5RrbPZFNnMi1BUQsM7DDKE0GTmLP9ju9VEazRWAalroBemSKhScFMNqvT5Y3rcbewvSZqFgEkkZUjf8kQBn1LhRlG6g8ij+1UdYBPuyV2ikCMmS+i90K0sLyp3iDSKT0xdeD7NJ9ZBedKYZXUoLh3HFzjO+HkoXWGbEZE34r5f9e07s8bxDns7pj4hnRKcl3esPAinAmE4RwXlIV381DAp4EZqOHoOarMQMZq4/OspweIfwzzTK1cAdxVV5coO5b2A9vuDEAT6fCG83HTQBXRjzb5IkF5N0Wh/7CqiNT0KprSYJ1rQ3VFm29C5F4xIznZveg0ETX9bRZprT1lgNqgw4EVaaVU7Q3PbjXXku0oZ41zrrsrIBd2TN2d1fSWoqdhOMz1363Dwcnnzceo8cy/wZNuzgv3r8uCFA/uJ37QVyp3iXmVExnHdbR9feUanD53nT/V+sFAnavs04oK8El7cqbJYhKZy2MqB4D6iolmjDDzbmbhV2XkzLfCK2nIYqJF1jaRQiuc/6ilVb0f0tWCyHK5VWXJdeV6DmHOaPGcN1MhPExT4Sj19+4psu+2+jde0=
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:(13230025)(4636009)(39860400002)(346002)(396003)(136003)(366004)(376002)(451199018)(6486002)(2906002)(83380400001)(6506007)(6512007)(5660300002)(53546011)(36756003)(8936002)(33656002)(186003)(71200400001)(8676002)(41300700001)(86362001)(91956017)(38070700005)(2616005)(6916009)(4326008)(66556008)(66946007)(76116006)(64756008)(66446008)(66476007)(478600001)(122000001)(38100700002)(316002)(54906003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <8EE62C022C99064CAF447ACDC0B19A0A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9645
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:
 DBAEUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a0a87da7-c998-49dc-eb0b-08db23c6b1ee
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZEhjZM/TJ6AjaWxWA5aYOwtZm+5Nmhs6iEik/VJEWtRZDXGDXWm7iyRA7wCTpSH6Vq5i3XJgp3PFrlHKjb062hCohe65DvR+LQisyxlCFOvl7XYUClhHxIgqGt4goHc+x8Clv3vcemQPQupF5QYjLyhBPBohlhhejLE06/s6GEO6RUW5ch5RqXe9XtzVN0GxTQ2V/n6Bc+C+/cc09JcESepOKXAsCumvfT2aiLOplqSF/hK12fkMV1tTJyIckMEQL+2AWvsDRHPOa7EEkbQXBBTqMriBQ3wYxsseyLTxVQNDXybQDIWptyF8C6eI1Zsuabsph/nuGEzXMFPMP9Cu0d1FICCtsEv7BOKWtO7jl1GEh7SKuQAOeBkNIvDqhY1eCblq2EOLLnUsRNenwcMbqQZvXxJe8L53qU0cV1lf9blZIW2u/2X+1n8yoF23txub72u1RUpKmGiaV0SJNPTg3tHffEP2Y2utVyk0PLcpd65KhjzZCZlzLkiAB7dmjrNuREXr57zmVUjuwW0ADLSMML+/WKvX6axfYoVeyDyqgkRUQLtaMhvnwrLeRyWSfps6NLySyoUIYxKDUWcYn8jmSeLEtaDONorUzy5JuXuY4PeSGDHSxEhPbvJomoOxBCjJtPvZP1ErE0JpFtJHlg2njSpUI3Px7vyz4ktvQEi3VTE=
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:(13230025)(4636009)(136003)(396003)(376002)(39860400002)(346002)(451199018)(36840700001)(46966006)(33656002)(36756003)(86362001)(82740400003)(81166007)(356005)(82310400005)(2906002)(5660300002)(6486002)(6862004)(54906003)(8936002)(41300700001)(70586007)(40480700001)(70206006)(316002)(478600001)(4326008)(83380400001)(8676002)(47076005)(36860700001)(6506007)(186003)(26005)(53546011)(336012)(2616005)(6512007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 13:27:45.0107
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d3208ed-8430-4f70-65d7-08db23c6baf6
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:
	DBAEUR03FT036.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5435

HI Andrei,

> On 13 Mar 2023, at 14:08, Andrei Cherechesu (OSS) <andrei.cherechesu@oss.=
nxp.com> wrote:
>=20
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>=20
> Added support for parsing the ARM generic timer interrupts DT
> node by the "interrupt-names" property, if it is available.
>=20
> If not available, the usual parsing based on the expected
> IRQ order is performed.
>=20
> Also treated returning 0 as an error case for the
> platform_get_irq() calls, since it is not a valid PPI ID and
> treating it as a valid case would only cause Xen to BUG() later,
> when trying to reserve vIRQ being SGI.
>=20
> Added the "hyp-virt" PPI to the timer PPI list, even
> though it's currently not in use. If the "hyp-virt" PPI is
> not found, the hypervisor won't panic.
>=20
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>

Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>

Cheers
Bertrand

> ---
> xen/arch/arm/include/asm/time.h |  3 ++-
> xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
> 2 files changed, 24 insertions(+), 5 deletions(-)
>=20
> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/t=
ime.h
> index 4b401c1110..49ad8c1a6d 100644
> --- a/xen/arch/arm/include/asm/time.h
> +++ b/xen/arch/arm/include/asm/time.h
> @@ -82,7 +82,8 @@ enum timer_ppi
>     TIMER_PHYS_NONSECURE_PPI =3D 1,
>     TIMER_VIRT_PPI =3D 2,
>     TIMER_HYP_PPI =3D 3,
> -    MAX_TIMER_PPI =3D 4,
> +    TIMER_HYP_VIRT_PPI =3D 4,
> +    MAX_TIMER_PPI =3D 5,
> };
>=20
> /*
> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
> index 433d7be909..0b482d7db3 100644
> --- a/xen/arch/arm/time.c
> +++ b/xen/arch/arm/time.c
> @@ -149,15 +149,33 @@ static void __init init_dt_xen_time(void)
> {
>     int res;
>     unsigned int i;
> +    bool has_names;
> +    static const char * const timer_irq_names[MAX_TIMER_PPI] __initconst=
 =3D {
> +        [TIMER_PHYS_SECURE_PPI] =3D "sec-phys",
> +        [TIMER_PHYS_NONSECURE_PPI] =3D "phys",
> +        [TIMER_VIRT_PPI] =3D "virt",
> +        [TIMER_HYP_PPI] =3D "hyp-phys",
> +        [TIMER_HYP_VIRT_PPI] =3D "hyp-virt",
> +    };
> +
> +    has_names =3D dt_property_read_bool(timer, "interrupt-names");
>=20
>     /* Retrieve all IRQs for the timer */
>     for ( i =3D TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>     {
> -        res =3D platform_get_irq(timer, i);
> -
> -        if ( res < 0 )
> +        if ( has_names )
> +            res =3D platform_get_irq_byname(timer, timer_irq_names[i]);
> +        else
> +            res =3D platform_get_irq(timer, i);
> +
> +        if ( res > 0 )
> +            timer_irq[i] =3D res;
> +        /*
> +         * Do not panic if "hyp-virt" PPI is not found, since it's not
> +         * currently used.
> +         */
> +        else if ( i !=3D TIMER_HYP_VIRT_PPI )
>             panic("Timer: Unable to retrieve IRQ %u from the device tree\=
n", i);
> -        timer_irq[i] =3D res;
>     }
> }
>=20
> --=20
> 2.35.1
>=20



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 13:41:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 13:41:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509296.784786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbiQu-0000ys-CP; Mon, 13 Mar 2023 13:41:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509296.784786; Mon, 13 Mar 2023 13:41: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 1pbiQu-0000yl-8D; Mon, 13 Mar 2023 13:41:48 +0000
Received: by outflank-mailman (input) for mailman id 509296;
 Mon, 13 Mar 2023 13:41: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=6L42=7F=invisiblethingslab.com=simon@srs-se1.protection.inumbo.net>)
 id 1pbiQt-0000yb-5S
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 13:41:47 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3cfd5b0b-c1a1-11ed-b44b-930f4c7d94ae;
 Mon, 13 Mar 2023 14:16:19 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 0A042320083A;
 Mon, 13 Mar 2023 09:41:39 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Mon, 13 Mar 2023 09:41:40 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 13 Mar 2023 09:41:33 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3cfd5b0b-c1a1-11ed-b44b-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:from:from:in-reply-to:message-id
	:mime-version:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1678714899; x=1678801299; bh=mDBHXJHbLHY4OkAvYL2dWBthdlcWZEvbZj2
	obyGBERA=; b=h4rtboW2Qrvw9tx98u0N9eZvysQD8t2hlWNmlJYvlJwmmlszFk7
	sk8YVcqEQnNe8ZB8OwRSk02GWF/OuZE2VLTqLEzVWR4RC0Wq3EKaoHxIwmCxjPZ4
	ycraHBQVYYyhrlPN2/pFa2o9K2hoVFJ83i3PGCF750q1L28zei6WPRVU7/35Kash
	UMQjpbTLuFuFPwKmZxpIzTWPdmNa19tjFTKpJcfeH+y+e9uTn6CCj6dCX0QBATz+
	fnJiRcHQsogwl8UUO8Ws6DtBuhAVLJ9CqLRiUOD8eliyc4II3hbKAFuxq/WRbV+V
	LxHnkbFDEdissZErFHFr9yuCtGOj5o7109w==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type:date:date:feedback-id:feedback-id:from:from
	:in-reply-to:message-id:mime-version:reply-to:sender:subject
	:subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
	:x-sasl-enc; s=fm2; t=1678714899; x=1678801299; bh=mDBHXJHbLHY4O
	kAvYL2dWBthdlcWZEvbZj2obyGBERA=; b=ow5lf4b+A2bNELk85JSd3TD+fwwAQ
	mJ20c1tUdJKORCwxQGcr7rwbdF2UKZcFTNVsSIO3wkRSuVM6vAwLsgu/o74QonXz
	wSuvnGJYMCPvyMnRFzJAOZpFy71rOt3PXC5xLc6vNcMQlE/sWF1/+kyqYFP3HA+/
	FcRY2CR2NzFI6Q5jRVT3C9txmuBfigFWGHS8m56iilmhymX8Uena+AJ8JRidJ6Xm
	dG65pH/DohxT6cHgb8Zx1CJwghhnYeLuMQQZg0ghAVLPImdc1AweqP8d8LjiJSTe
	JBtqemCaEy5cTpcFHdCbN5j9OawO5phl+5l9yCo8rnJdJkDAMJbApOPAw==
X-ME-Sender: <xms:EygPZKFb6VkB4EhsbfkD8maRG5Q0iJDRCje08yoGOjG6iAkhdxnlPQ>
    <xme:EygPZLXFEE9ZwS0OZmNfM-cC8nvHZQxwsoKgZXLwCrlLFIX9v9URqJy_JOfEcd8um
    vwlG3QCUW2sHu4>
X-ME-Received: <xmr:EygPZEIkAewDbmtsbJFH_HRPyXAspbkmrq81hC_c_RboaBi2s2iOpYZoSdinJw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvgedgheefucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgggfestdekredtredttdenucfhrhhomhepufhimhhonhcu
    ifgrihhsvghruceoshhimhhonhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtoh
    hmqeenucggtffrrghtthgvrhhnpeeuveehgedtfeegfeduvdefudeuudffffffjeevueeg
    fedufeeiudegudegvedugfenucffohhmrghinhepkhgvrhhnvghlrdhorhhgnecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepshhimhhonhesihhn
    vhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:EygPZEEoy3Brpi1rYkHthEijJBxr3iXh1M7BFqlH6QYW-Spu6BanSQ>
    <xmx:EygPZAVO2kLPGBQyf4KbfnaY2D2Kk6f9fYdht02Uc7HRP_PFTfKiSw>
    <xmx:EygPZHNSjlxhk2BNyAbfmr6xSH7WzpW5onUVdcE59kMi6_NHh2hGYw>
    <xmx:EygPZHRz1ZAnBarJ25rSyZ_FYmivSx3V7W2b_gYXchRmxccWWHOEmg>
Feedback-ID: idc5945a3:Fastmail
From: Simon Gaiser <simon@invisiblethingslab.com>
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,
	Simon Gaiser <simon@invisiblethingslab.com>
Subject: [PATCH] xen/events: Add wakeup support to xen-pirq
Date: Mon, 13 Mar 2023 14:41:02 +0100
Message-Id: <20230313134102.3157-1-simon@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This allows entering and exiting s2idle. Actual S0ix residency is
another topic [1].

Without this the ACPI code currently ignores the error enable_irq_wake()
returns when being used on a xen-pirq and the system goes to idle for
ever since the wakeup IRQ doesn't gets enabled. With [2] the error is
handled and the system refuses to go to s2idle.

Link: https://lore.kernel.org/xen-devel/9051e484-b128-715a-9253-48af8e47bb9d@invisiblethingslab.com/ # [1]
Link: https://lore.kernel.org/linux-acpi/20230313125344.2893-1-simon@invisiblethingslab.com/ # [2]
Signed-off-by: Simon Gaiser <simon@invisiblethingslab.com>
---

While I think that the set of flags I set is correct, I'm not familiar
with that code, so please pay special attention during review if they
are actually correct for xen-pirq.

 drivers/xen/events/events_base.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index c7715f8bd452..991082f04f05 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -2176,6 +2176,10 @@ static struct irq_chip xen_pirq_chip __read_mostly = {
 	.irq_set_affinity	= set_affinity_irq,
 
 	.irq_retrigger		= retrigger_dynirq,
+
+	.flags                  = IRQCHIP_SKIP_SET_WAKE |
+				  IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND |
+				  IRQCHIP_MASK_ON_SUSPEND,
 };
 
 static struct irq_chip xen_percpu_chip __read_mostly = {
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 13:46:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 13:46:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509301.784799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbiUv-0001eU-TR; Mon, 13 Mar 2023 13:45:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509301.784799; Mon, 13 Mar 2023 13: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 1pbiUv-0001eN-QK; Mon, 13 Mar 2023 13:45:57 +0000
Received: by outflank-mailman (input) for mailman id 509301;
 Mon, 13 Mar 2023 13:45: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=2EdO=7F=citrix.com=prvs=4292f2e3e=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pbiUu-0001eH-Bz
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 13:45:56 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f929bd5-c1a5-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 14:45:55 +0100 (CET)
Received: from mail-mw2nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 09:45:50 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DS0PR03MB7202.namprd03.prod.outlook.com (2603:10b6:8:121::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 13:45:48 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Mon, 13 Mar 2023
 13: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>
X-Inumbo-ID: 5f929bd5-c1a5-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678715155;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=QUPjKgY6vngObulWvJduolhMilMM/ohdjEPEbTQgTk0=;
  b=GG/8teaAvFJzuNvKgbYQjp2K0pmpFQ/kfrF4fPozqlQWk90kG3eNGMYb
   9Mr6O2eFeSSfD7NOpc2UmCealx3TRWUDe8KkWF5aG38SkT+RlScF2cAzc
   mSgGUMqhULm9LYCr7xNdyRlkWTecQm75tKB91UGCwJsxws2CPrJ8bwLDp
   E=;
X-IronPort-RemoteIP: 104.47.55.108
X-IronPort-MID: 103027884
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:p36+Ka88sT7EFnpDnbrHDrUDpn+TJUtcMsCJ2f8bNWPcYEJGY0x3z
 zNLWGHQP/bZYjCmc9x2OYXk8U1SuJHcmtcxG1Q6qyA8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkQ5AS2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklx1
 LtHFjYsQymBvMKW8vGbTe9KgPYseZyD0IM34hmMzBn/JNN/GdXmfP+P4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWOilUpgNABM/KMEjCObd9SkUuC4
 HrP4kzyAw0ANczZwj2Amp6prraXxnuhB9JCSNVU8NZOjF2u6EELUCE7VFyZuKmchkD5WNJmf
 hl8Fi0G6PJaGFaQZtv3UgC8oXWElgUBQNcWGOo/gCmdx6yR7wuHC2wsSj9adMdgpMIwXSYt1
 FKCg5XuHzMHmKKRYWKQ8PGTtzzaBMQOBWoLZCtBSBRf5dDm+dk3lkiWFoYlF7OphNroHz222
 yqNsCU1m7QUi4gMyrm/+lfExTmro/AlUzII2+keZUr9hisRWWJvT9XABYTzhRqYELukcw==
IronPort-HdrOrdr: A9a23:Nd57Eqnx8q+LdFzkQIBuTHGmHzLpDfNLiWdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcLC7V5Voj0mskKKdxbNhRYtKOzOWw1dATbsSlLcKpgeNJ8SQzI5gPM
 tbAstD4ZjLfCJHZKXBkXaF+rQbsb66GcmT7I+xrkuFDzsaDZ2Ihz0JdjpzeXcGIDWua6BJdq
 Z1saF81kedkDksH42G7j5vZZmxm/T70LbdJTIWDR8u7weDyRuu9b7BChCdmjsOTj9Vxr8m0G
 7d1yj0/L+qvf2XwgLVkza71eUapPLRjv94QOCcgMkcLTvhzi6ueYRaQrWH+Bwlve21714usd
 /U5zMtJd565X/9dny85THtxw7j+jAz7GKK8y7TvVLT5ejCAB4qActIgoxUNjPf9kobpdl5lI
 ZGxXiQuZZ7BQ7J2H2V3amCazha0m6P5VYym+8aiHJSFaMYdb9qtIQauGdYCo0JEi7W4J0uVM
 NuEMbfzvBLdk7yVQGQgkBfhPiXGlgjFBaPRUYP/uSTzjhthXh8i3AVwcQO901wgK4Vet1h3a
 DpI65onLZBQos9dqRmHtoMRsOxFyjkXQ/MGHj6GyWnKIg3f1b277Ln6rQ84++nPLYSyoEppZ
 jHWFRE8UYvZkPVD9GU1pEjyGGCfIyEZ0Wv9ihi3ek6hlWlL4CbdBFrCWpe3PdIms9vQvEyAJ
 2ISdZr6/yKFxqaJW8G5Xy4Z3BoEwhvbCQkgKdEZ7uwmLO7FmTLjJ2tTB+BHsuaLR8UHkXCP1
 AkYB/fYO1902HDYA6LvPGWYQKgRnDC
X-IronPort-AV: E=Sophos;i="5.98,257,1673931600"; 
   d="scan'208";a="103027884"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f13IfpcAXzCCEv6Ae8oMiQZcFyGb1dirub/oAb/JBhV/e39uBjt1rphz/fcaOvUL6u3aYE0wLO+YgWEAknY5QVoHXn9X4ODWoGnc0tVaEa+fJWADln2A+Nen+7ugmqWXFY9Qzw6w5iD3F1khkd98XVBYmhxJN50NMy+FXJzuPJKbTBW/ZaVldwz861nF+mpvBgStsQQfmWKak/j2W9craWV8KIqMwhpIkX28ZmpUIrcwXHaQw1XoZ/pv38YtaCCCI0llIXt9oxpp73T0AnrgaCqRGlvK07LrHkv2Q8I77GiJnr8dFcDqDgTICM3/xTutUgAZwnZz+XNVCbLFm5NcUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HcEZVfiRREaBTScrMor7pqjpENjntdcSvNpcolj7YhY=;
 b=MEgq8VswwyttoWolETC8zxgNuQBBO1b62nRyja3nC1UXEUZuOS2bg9B+uFLW5txDvWKYRP4QPxGI7qyZ0KLBl0+p73SQVCQ2dPj4ZXd/FSRztJjhuVcpTUsan77AjGD8zl22VcNXg119KeWAt80o9jNIJZD/F9FRr9cnWspV7l6iL9qxuov83PrmrX8d3WhGdNre+A11/zlAvCR9WhCzdXlD+FSv8EqjAKF0VEk3ObWOXG5V/Oy2ITiCA9KgKG0bZu7KsUK++NCr30XOvW0B1KKRZCyQcPBC6Wrwu5ZKll/MqxVfoweHH8Wb7oT5lzUz5SnS07f1cg/WMyw2jgMbGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HcEZVfiRREaBTScrMor7pqjpENjntdcSvNpcolj7YhY=;
 b=Z4WALPbpBafiEXACHDEopL5KUOieVIGhy6bqyNzeu+TsVDlmBGhxsiLB48HcQ2T9gHsNbatPIwao0N+XiYg1BWAdWqVnUtclFuxudGVoeycHah1ysSbsDkwGwdfIc5vAdXrLSzk/WnYiFZA7F81cF+jJK8juclD9+DilEWvvwWk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 13 Mar 2023 14:45:39 +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/platform: make XENPF_get_dom0_console actually usable
Message-ID: <ZA8pA27iTuaWCBlk@Air-de-Roger>
References: <b1250f72-d268-7bdc-2381-adb75f958ceb@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <b1250f72-d268-7bdc-2381-adb75f958ceb@suse.com>
X-ClientProxiedBy: LO0P123CA0011.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:354::15) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DS0PR03MB7202:EE_
X-MS-Office365-Filtering-Correlation-Id: 33efee6f-8285-454a-177e-08db23c94033
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OQRmW95YYbYY0F6JCrNSYF2IgYQ0FP2ijj96ACqycfOLfU0Vm1BINMFNzmKGDr4W1WoL9DlefDa4c/A49Vsx2QKtZFdYtnvZonre+rbAt6godnNdS5flLlv2oyUS6JGOmjVp0iv6PqJ2o0OmfPAKmOE0OPWwji4LQ6v676jHgpL0nrlc4hadKf4QYIzGle7ejCyVpzh+sDI7yd99jDnuPtR2/fqTRJTa1vhouX1lGT4960OWO97byZeVJF/O/tiSggxokcMhJgFZArlIsyZdRFFdBiTgVJQFQk/IodjyHAURaEUKMEc7/KwCiBCJKz4+OwtGIVi5sZuQUn0pFPMf/YJvw1YraQWvNpbCX9NtdgXA9nG6blExIjyfbGBUZOswOuzICwsPfh3Dm6zKZUg2/UbTvy+Z1trCmFYQMgFcuhpb02ouP/XRY0BX1fHfhNq3U5nlum8RdKiaVbUnluDoS/jr1lalLzsLHTFBTbSom/ZPgo8HaCwaPC9TODvcSERhj79ZDdMq0NeklfP/vCtcY6fHkOBbqk94X/UXyW53X7pUNaGclHgQhofeEJF68K2kHvmBZn0aQ6vGA8aN7M6aE7WsCvQx4ma4W1y6gDxoXl6PSCZ1Pnn/C5LtZ+IKZWRSjhiXLhm2xkvCKo+A61SpQA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(346002)(136003)(366004)(39860400002)(396003)(376002)(451199018)(41300700001)(54906003)(478600001)(8936002)(4326008)(8676002)(66556008)(66476007)(66946007)(6916009)(33716001)(85182001)(86362001)(38100700002)(82960400001)(6512007)(6506007)(26005)(6486002)(186003)(6666004)(9686003)(4744005)(2906002)(5660300002)(316002)(83380400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VlFTUTkraGFYZC9GejQ1aHFMSHpnYzNrbWFQcmZhczRNZlY3czgxNzZBR3hp?=
 =?utf-8?B?dTJUV3Rsbk5Cd0g0NjZxRmRCWjRyRHlVTWw0eU1EelEzTVhMUk5OL1ZFbWZZ?=
 =?utf-8?B?RWFhSE5ZWHZ1U0dnU1k3NFVpNjRDK2s0VVVacStSUTRjSkYrOXFWalBqY0hw?=
 =?utf-8?B?NTEzOFQ4cWJMNlRIaG1wRzVkTFI4c1BrSHgzaDJDSjVZV29EOTFqbGdCWGpV?=
 =?utf-8?B?NlZuaGtJSG9hWW1xSlZHQkJSVGlOSXdER1VmaVV5NnRFb1d0bjdpQitGbEUw?=
 =?utf-8?B?L0QvTFFUdEVhV0c0V0t1SzRnREVNbko2cE92NlkzeVVLNHpZMnF1K2RlVzRB?=
 =?utf-8?B?QnptYSt4NmRrR2cyaHRsWFFtQkJjZDVTRFNCZG5nTFJwOVJRNmlhYU9seHJY?=
 =?utf-8?B?RjBGSUFpeXFPdmhtOEJIaG81czFla3dlZDByMHZBazNCMTVvVVdyY25kWWtZ?=
 =?utf-8?B?cTRpak5wb2Rlb2cvYm80N2IzYlZhLzlWaVYwSGR1eTdyM0tPenpTc01tbE9m?=
 =?utf-8?B?RUtsYWFXd2Jkb3c2cXYxZmVtUFFsY3NOaURRTEJRQUxQS3RLR2RCUTgyY0NS?=
 =?utf-8?B?Q0E5UnM1OEN1TWdlV2dMTG41amN4RkJYNHg5cXl5MDNwTXZ2NnI2LzRoUXY1?=
 =?utf-8?B?MExybXBUVlBNcVk0aWtSd2dvclZXOTFpblpnOU9iWm00aER2TElCU3JMeU45?=
 =?utf-8?B?UVB6M3pOYmtjM1VqWEFja0NFS3E2S1pNWWloSTRpVUtBcGt5QXNjUjlhUlpS?=
 =?utf-8?B?SmNKRitLWWUwV21xN0c3amNjYVZDTjhmRUx5TVdzQmdicDBBcVVGeDVsYlFP?=
 =?utf-8?B?Z2UzSGVCWHRKT0pPeGhLNkVYTW9CTHp6V1VNRlA0QW1jcXR2dzZEQ2Y3alo5?=
 =?utf-8?B?SldRYlk4YjI4QmRxQk9yNnBmTk41REIrNkNXMnM5aGtydStsVDh0TUdHdTl1?=
 =?utf-8?B?T1Rad0NjYTlIOEZqT0luN0U5aGcwU1Qzcnd1MW0zWm4zQ0s0NU4xNXo0MFFu?=
 =?utf-8?B?UjZzTkYyWG5jNzJ5eHJueUE4RVRpVTdPZ3RYR044Q1piOEd5c3czbnhSWW85?=
 =?utf-8?B?M09CSG5RYmpicUNOWXRVWUhURitFRWNzLzlUbFhESGdoNFNOd3NDM1BYVXJV?=
 =?utf-8?B?T09jQjg0akdjbDZNQ3BjYXQ0eHg2aU12aGZGTUtZcUViWkdMV2YzT2FGSjJy?=
 =?utf-8?B?bDEzNiswQ2lsbXkyd2ZOUUFsSEM1WnYwblY5MjZpUXFxSnFlVTVNMnBhaXRN?=
 =?utf-8?B?RjZDVW1TRFEyRXdya0Nrd3Y1VVhHa1VFR3JsaU1ZN25uVU15aWJQMWxRUEFY?=
 =?utf-8?B?RDhHNzNIUGM0aWF6TDF6eTltc3FMSHhuRXROOGdwVm5IY3hmRndOZ3plbHdy?=
 =?utf-8?B?UXF6VitFOFZKNUgrTGgrdjZoaTJiOVl3QVExc2IxbXR5ZzZKVFYyenRPTFNo?=
 =?utf-8?B?SzBpbnpSSjM5ekJVTFEzc2F3SHNMNEZob3hkWlhXV0laQmdXeERGazJ6MUdM?=
 =?utf-8?B?TjlQdHFFMjBXNUM2NG1jZCtBOTJna1RQcHJmbUIvaFJCcjhndktYK04zaG9k?=
 =?utf-8?B?Mmo4aG9kdWNpMTFNanBJVHlqNEt1MGJVT1hNTVA2Q2lhNVk4RERvTHl0U0VP?=
 =?utf-8?B?NXNYeFpGTFRuMUFPMUZKekczRnYxR3d4SStYWE95NnZ1OUVaSUFNb0ZMU20x?=
 =?utf-8?B?L3ZUSkluaVZ4NzloM3QzQ1hKRVV1L09WM2dHNjBGajdDWWYyandyV2trSG4z?=
 =?utf-8?B?RUlPdXE2ejdHbkptQ1lpaW9wTXBEa3JjOTU1Ti9oUFU3ZmVwOWcrQVBSbCt1?=
 =?utf-8?B?K1FzN1RzaTBtUzREV2lBQUUya1hmTHltYUQ3SjE1M2JaNnF6bjdocngxbjl0?=
 =?utf-8?B?dGd3Ym1lTkx4a3pIRmZWY2VkRm10WW9URzM1MHJJZHl4ZzJvdUZRdHY5V3Z6?=
 =?utf-8?B?UVhybFQ0R3F5aXBIQUVjU3ovMzEvMlNITmRjVzJZdDJmcThVZzFlTTBCMEQx?=
 =?utf-8?B?TjR3bXhRakRGM2R2Q1NyMnJrcXV1UGxHNmlzSFcrTHhVNUJRMytaQ3B6Mjh5?=
 =?utf-8?B?bXBGYm1qMjdjYm9RVW1IcDlMNEwyNzJsTHBrR3RUTTVaVit3Ri9IVnFud015?=
 =?utf-8?B?ZDgycXExaHVSRmc1Wlgxb05EbDVOS2VCK2w5Zi9XbDRXSDJkTC9hbHAxaVVX?=
 =?utf-8?B?cVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	rUquFXCVFfrFlVM09dC9L2Mp0DpvQCN9UQOn0B4tjsnEr20L2ToBJ9xULzeYoZaOm0rzh3b60Es0yzlqmn40fW5XhZZEEeKzpY4iOqJQVTgJcEIVmR78tsmrXtNiy5KTD356yQV05PWW34KaiCzsC/bI5vgy61YF2XLbXzNh9pL7JX9o4Pk9f7ZW9iVTbDoihCCtgwOBoowGZlDbyR2YFoT+jEFaME+b5NZm/Eh8pep8L8f7LD3i+wZ8ariD00D2lewb5t1601Hhpp/M7NBpw6X4c8NVPwANwp6N38hR9kO87SGWt00IfnSCi1yhteqDNniGPVflbFYKW+GYdV783ML9nkadA6BfoOnCAmUUrOM7AE5jOUdtPhBqYAHuveRu6iByqUb96H7fJpSKGGO9j/ajYNcmbRBe+seEplRW3joMriMHTCJNdhRQNavawTz+v9EAtO0BTGCZH/Cj1OnmP4breDj8cbz4MsTPgYgxDfXTrdcR+PTAsaY8KQq0GbxUdSXJrzjU76S3Riz4YXDII6sMJEGA8JinfvyTETnzdrrzeYhkNYGH5TrQpoeJaGILa/5Y4C6Vha2mdQYHVYOo0S50Huwt5pcLcORJ7PXk0y/joYzt4T1YFI8kshyte1AlZw+17vdXAKQNsOBjko4W7N9LK5nkrB2prIqYwi45iWgXG2kLgrBrXUOyZLmtvNdchJp2HVbj9pq/tKnJJr2atEJ1CFvgugu4Yqae/Qai450noSXJ2bxFmQqVX4U6uZz5lQUrZwja1m8EZ5qpG5O91pZb20NkJcjX8ABVexxRj20W5tvzocR7HBPPLgAgKvr0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 33efee6f-8285-454a-177e-08db23c94033
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 13:45:47.7264
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IsTGPE7ajCrp4pl3bN/TBuK38skH6TiC40XkbTQJ3bpm1JlCAIo0ygFp8Z4kMWdXagE32d/5gSs4fQ2Eok/NaQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB7202

On Mon, Feb 13, 2023 at 03:51:50PM +0100, Jan Beulich wrote:
> struct dom0_vga_console_info has been extended in the past, and it may
> be extended again. The use in PV Dom0's start info already covers for
> that by supplying the size of the provided data. For the recently
> introduced platform-op size needs providing similarly. Go the easiest
> available route and simply supply size via the hypercall return value.
> 
> While there also add a build-time check that possibly future growth of
> the struct won't affect xen_platform_op_t's size.
> 
> Fixes: 4dd160583c79 ("x86/platform: introduce hypercall to get initial video console settings")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

With the added comment.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 13:47:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 13:47:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509305.784808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbiWd-0002GD-By; Mon, 13 Mar 2023 13:47:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509305.784808; Mon, 13 Mar 2023 13:47: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 1pbiWd-0002G6-8h; Mon, 13 Mar 2023 13:47:43 +0000
Received: by outflank-mailman (input) for mailman id 509305;
 Mon, 13 Mar 2023 13:47:42 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=OtBq=7F=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pbiWb-0002Fy-VQ
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 13:47:42 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e74148f-c1a5-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 14:47:40 +0100 (CET)
Received: from BN1PR14CA0005.namprd14.prod.outlook.com (2603:10b6:408:e3::10)
 by SA1PR12MB7198.namprd12.prod.outlook.com (2603:10b6:806:2bf::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 13:47:37 +0000
Received: from BN8NAM11FT012.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:e3:cafe::e) by BN1PR14CA0005.outlook.office365.com
 (2603:10b6:408:e3::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.25 via Frontend
 Transport; Mon, 13 Mar 2023 13:47:36 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BN8NAM11FT012.mail.protection.outlook.com (10.13.177.55) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.24 via Frontend Transport; Mon, 13 Mar 2023 13:47:36 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 13 Mar
 2023 08:47:36 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 13 Mar
 2023 08:47:36 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Mon, 13 Mar 2023 08:47:34 -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: 9e74148f-c1a5-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OI3Bur+MbZyca7dY7zlLgu+7LcWPvXPTksxtN453kWKe5mqQs6JspgVOzozwaEl2KWClu0Eciv9okuPKcuitsY39VFWK0LIyktI9/3EdS9ko0hAJfnlbwEUA7PThLaXiuiZWR8m4regrRTfVKEO8uMxVh59td3VaPQBXBd2wkI3ca2sliL0Jx4rwEBNLTWPBIif1a3SgV7xA2hMbr1eOM/2J9ylC6T3Qh+Jc35XPSe+HhWctbFD85siReEu7AGfJFVLksc5QcLwkSJ8l5Z6fvalo4NzFGgD4SMrR+KqdkXV2m31bIiKXd0iCPVmmF/o5A6AtY0KdNYALH83gZgQMmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KxvF3Weffj/99Gw1FdZ/bzAlrd8XAXZV8dxKNWRn2Eo=;
 b=QokkITtivz02CLsMxRL7HYJ22CO0HC7Hyt8FaQLTgHmtSl/n4kdeh6d/rTSCO91BgtE+uaQQZHSyFhwwNy6bilyytcELE2V7AewswIGepaVlhaGyutfQQu6OoZR2KAhwq9OyNRTw1oP0CrSKo4YkksXO+sqUfXJnkY/SgC4IeZK8XecPQCS5FiyhPkYI10E3uRL5pkbAfLmcv/Gef+dSaZFB33BbG3U/B1zjGZaUxkIbRR0YtwGeMcYS5cI74szuCl91zH1BBCsBen9f1ZTJ2HZ8hz8a69Xca4RZYpt1UC6mlSXLA0dDFpLv3UfUn1qbTG6lJhnGQEpwV/B0yAOuhg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=oss.nxp.com smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KxvF3Weffj/99Gw1FdZ/bzAlrd8XAXZV8dxKNWRn2Eo=;
 b=wI4ALFP3Y5V3wjBB9dybKJ2ksnBHyKu7b4W44JgqL5+l5xzMz7ko7FsgrDt+6WLognNhe6M1Podg3RR5jEh7XMq3oHddnB4ZDQ+CoGu7wsHwruYndn7W4JdugqSoYf0AIVUEOh3CWlzsFot4Gx0TpiB5venue4l1jWwT5MkgJ38=
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: <6f97a454-0444-a633-31b3-e356b3b5259a@amd.com>
Date: Mon, 13 Mar 2023 14:47:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 2/2] arch/arm: time: Add support for parsing interrupts
 by names
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>,
	<xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <Bertrand.Marquis@arm.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <rahul.singh@arm.com>, Andrei Cherechesu
	<andrei.cherechesu@nxp.com>
References: <20230313130803.3499098-1-andrei.cherechesu@oss.nxp.com>
 <20230313130803.3499098-3-andrei.cherechesu@oss.nxp.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230313130803.3499098-3-andrei.cherechesu@oss.nxp.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT012:EE_|SA1PR12MB7198:EE_
X-MS-Office365-Filtering-Correlation-Id: e9656ef2-03a5-46f2-2e81-08db23c98134
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M1WTXiHDnhd0QeunKvbslw2+Z4+aaxfEEczzkt+TlGXfuUr2Dqt2J/TPKpY1upZSRJ/2Hiy1QJzKii+PwahFgV9x3kPCEgjl4C2MqjzIgnCx9W11eoxrOQVs57FrYUk2+g9xEUYgM7GLDHiGfn1pfWydaJ6l3JJNfQV86/Dd+yalm8q6AZpc8zTqcA8ou87oc1fhwwa458d2Q0CW7neGNACmo4ALaVQtgCvJOuLP1JR7pfsYSMYYvlDJlRBacL85WPtRRbeujAE/pqKQXYwyQBEN7FU7JZHwVVahMIP6XclojHtY+TPPwx4xoPpTorTFHhLKC0b6uxbabgAkqutxwoL1/PnagdagEpawJ0aUn+7IOl7VemtTKXIPUyOXPoOKt5AIxx9JFXqu32EKfn1JRjUxoAqcR/9JQU6nx0ueCX5lt6OfN+2X2TGrxHdNWCA7AEHpi3t/oxjYeKG5lmXbAvZhRPBQmTUgZXgqjR19w0J4AaURJVlJEf/IQfvsAZSNWK11TVlxqZ1zIGSfFMluYNt/OkXVE6mCq2/5v8qwZTF0aLw29oNqpcj7tL3/HFUEp7B5/+DU1fEcU/pQhvFv87w5uPTZg3mcN4Co86d8aTmO1FKKTo6lDCwbJ4pi6p9Kl0n0HfdhbQUKPuY/g7b+0puZ7clKzFaSvuptXnyk4son4CDC+oMfCJtgk/nKAzXite35PfuhPLcy4AJRokfR77Z5blQjfgtlbXQPKYBqy/FQhlejgbdOQWKD0YbcNzntLj6+y/XQ+OFZsHGLrb9t/Q==
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:(13230025)(4636009)(136003)(346002)(39860400002)(396003)(376002)(451199018)(46966006)(36840700001)(40470700004)(336012)(2616005)(186003)(31686004)(44832011)(53546011)(26005)(8936002)(83380400001)(82310400005)(36860700001)(356005)(82740400003)(426003)(81166007)(4744005)(5660300002)(47076005)(40460700003)(4326008)(2906002)(70206006)(8676002)(70586007)(40480700001)(41300700001)(16576012)(110136005)(478600001)(316002)(31696002)(36756003)(54906003)(86362001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 13:47:36.5667
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e9656ef2-03a5-46f2-2e81-08db23c98134
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:
	BN8NAM11FT012.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7198


On 13/03/2023 14:08, Andrei Cherechesu (OSS) wrote:
> 
> 
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> Added support for parsing the ARM generic timer interrupts DT
> node by the "interrupt-names" property, if it is available.
> 
> If not available, the usual parsing based on the expected
> IRQ order is performed.
> 
> Also treated returning 0 as an error case for the
> platform_get_irq() calls, since it is not a valid PPI ID and
> treating it as a valid case would only cause Xen to BUG() later,
> when trying to reserve vIRQ being SGI.
> 
> Added the "hyp-virt" PPI to the timer PPI list, even
> though it's currently not in use. If the "hyp-virt" PPI is
> not found, the hypervisor won't panic.
> 
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 14:10:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 14:10:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509308.784822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbisl-00060G-7L; Mon, 13 Mar 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 509308.784822; Mon, 13 Mar 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 1pbisl-000609-4b; Mon, 13 Mar 2023 14:10:35 +0000
Received: by outflank-mailman (input) for mailman id 509308;
 Mon, 13 Mar 2023 14:10: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbisj-000603-Ji
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 14:10:33 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20617.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfc66eed-c1a8-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 15:10:31 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9155.eurprd04.prod.outlook.com (2603:10a6:102:22e::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 14:10:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 14: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: cfc66eed-c1a8-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KkyY1VJtrgh/406jok2tZIKwvZUFuqt41LOoVnPoj3xnrrvoyh7i+btDN83pu0aie1hVKwSjTXpLc4tM8CUmYgOOyiIeT4gmODiYij2FhZSa9MhrXVMJf2XnI+f3AliZHgy4DUxQaKv10K0n9nSJVl4TPsBU6AwVHGUt4LRN0H0Dsojvgh4WbGAGYF5f1SGjkKdVNL/NYtr8bww5ekOIWYy+2HfJpwc3mEH1bLr555C0FZRFubWCUfitC2Gmg2RvVlJby81IOKbhflaOKA950F/DsGhqgGgN2rtyQ4GTycOo+izNzjKlagnx477fTOW7D/LE8mNvAKXLPhyAgtamZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v8ZfVvF/xyDxSOUC9NMxxnc9ml2ayEDDK2L8jfWTChE=;
 b=iZr/w9pMPxbXM+W1mbL96Zb4d8Tnxy8FbTX0mlcwLVpn57FmPbEG0kiYWDWFkX9YE6SO4/i1VLciWtv1ZhGMSOmJlMxehC9Aywc3m7X1BZ1FXWi9EumGv6ntRiRawXxRCNZ4hzgWUGUC8Icuqik8oj2GKr2zgNADMM5o2xlZqq0opw4fk4i1KSKohiHOd3XnEqq7dVSS7KlbMktRnm7cTUdcdMTEVtCS5a6OXWVz2ihCzh+ZiJG3vivoWYb15enxBp2Eu6wVugIwBikzTDeAEk31vcXwh4Ovsr7sAW+4nfFJlO5l8Px4ni6CDL/44D4ufwnmwddEv0ve0fXY55MXFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v8ZfVvF/xyDxSOUC9NMxxnc9ml2ayEDDK2L8jfWTChE=;
 b=payrv5uZURcIDGo/haWLTqP8FO/x0KZBiRmmb4EV8g7DWUHu2PLy9O8Z1Qe9It4Pp/DD/k9obEVE60wK1KJKc4YeXdu8X2AWslUY/zdbMvnX+mWQ3mcoHSAqwQ6MktcbMRcw0qhFONRWhVF8SzD0kY4IneeNfVLF7UZ5AgQtEFIhOXuF4z3LEzkFiKhLyHjUZR/6Why84NY2Yy65S5cz1g/O+0OYOLa9t7c6E1qwEPITodL3kLZCgGMqZQclS33KOSELtVUNg7/1YnAVHPFjw13TZ1OenYGHlfj3axXXBky/vCyU4/uV7VeN6P01glOJikdxeQgwJjKlNbyCDLBP4g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eecec806-1728-2efb-ad69-862fcca5ba75@suse.com>
Date: Mon, 13 Mar 2023 15:10:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] bunzip: work around gcc13 warning
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>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0111.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9155:EE_
X-MS-Office365-Filtering-Correlation-Id: 3888adcd-a6d0-4030-d988-08db23ccb221
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QiygXfswLAvfQcN8shlf9JXUO/lYQauANM66IpKKRIQQ2EGei8EUl/UlQbcwmpdVbgd7epaEGgGsO+Hvz7cqGZH5jHzQI2djhKxr4kOxzir36pTULLU+3ykj1YVTAN7qGMRXXtuOobrPYaCCkHEtzEzxy+lZoZP8yPYIvqaKykVRDo4Ylous1Os+SU+uQkt3rCw5KzDCMzmsiZA6XOTRiDmHooBJtOJvbWpWo9/UQ+duY/MKLFhzncuw7maqxiB91nttFRz/jOWjlgw9ygtlm88PkFKvIn/794vQvzSF8VWt2XILoxxEANqxRpcr9GkSMKDHb1/yBF2vFZT6Mj7metWdMLfCrqoaUOVlsSPqm6jotVTOJJ15Q+isvRbW5kVUnzpZ2OC+u+qWfTMGZCoadyAnVafXM3Un+13KiuflgiUX3fHmTrwnssatCmMCZ3I9WRrPmBikNKz98aew7LBfbHkunQ7lEXXLUDNhKxw7EDjsCzhCANbKbim45nsZZM7YyXeN6LUG0hp16OEjThED6BRFOyxWcS5SuYOqWS2J3+Qnn6F5Fq2X0XlR7xs7glSTFWewYHgWzwHVj6GUUJpRRkAL0OZ9/q6fNAuhhuZA7z4w9xbtbfYDllEnJFSVoB0K7A3u/TPgFtzvFBlUh0T1VUG+rLxsloigUDUjysFJZL0A9an1mmqKHrFSuMuHArco/DnEwW7ZRInoXxd0hjTV8dMwgX4cUeMw0iL83cB/H+0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(396003)(366004)(39850400004)(346002)(136003)(451199018)(2906002)(41300700001)(8676002)(66556008)(66476007)(4326008)(478600001)(316002)(36756003)(66946007)(54906003)(86362001)(6916009)(31696002)(38100700002)(966005)(6486002)(5660300002)(66574015)(26005)(6512007)(6506007)(2616005)(31686004)(186003)(6666004)(8936002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Qmp1Y1dobVdYTjRVWjJ5OGdMVTgzK2crNW5Tei9SQWVEMFpWQWt1d21WbVhX?=
 =?utf-8?B?NmgzZmd0RzU1Nzh0cmdsMk9zM204OXp0TXhyaUNBTEs2M2ZEMlRCQUF1UTJP?=
 =?utf-8?B?Nk1Scy95c09YY0cwdVFLd0RmUDNVQVBsbVo3VkFuRHlpbWhPM2tiQWFYMEVR?=
 =?utf-8?B?eGVidjhnTktSVERpam0yTVdOMWw2YTZZNVZsbHd4Q2xMSk41MER3Z2pzWWlh?=
 =?utf-8?B?NXJoSVc3MHgwZHIwN281M1NFVkNxNU52dFRLU21rWTZYQ0xWRkltV1NDMTVM?=
 =?utf-8?B?TW9CaW9uQUJ3KzVzNEZJcWFJaVB1bjBicWtabVBpRldkMS9wVGV2WmljTW5Y?=
 =?utf-8?B?RExaUFdVamVIQ0lwbVZDdGs0UGQzWWZUQW82YWlycVBIQjNOS0pEZTZqdlpi?=
 =?utf-8?B?UUs5RnErVXNobGM4ajlGVmtjcGpCWGtyTWhqSFBLZ240ZlZwWHI0UERvME5I?=
 =?utf-8?B?YjZGQ0NDRGwrQVVONWVJUkp2SVk4MkFseW56cGR4allCWFphbzNVWU43VDZq?=
 =?utf-8?B?ODJKQ2F6cWxsTHBjOU94dVVyQVgxZnFkQmRBeDc5NmVCQ1RxZ2x2MDFkV0U1?=
 =?utf-8?B?aHdreVZJTDJPajJnQ0tSc1RaMTRZY1NLWm5KdU8zYytEbk5oclhpMmdPV1Yr?=
 =?utf-8?B?NmxRS09Zd1cxUnFUZzNSdUNUWlkwYm1lRHNEeG54T1BoYzNoaFZSc1hLeE9N?=
 =?utf-8?B?anJLbGdKZDB0ZmNQc0JPcklBVlFtMXpjcWtkSzN4dzM0dnlUcVF4UkltbVJt?=
 =?utf-8?B?YzNXSFJmNW8xdDlONVpKNXp5b1JjTVJGWkRCMWhKd0Z3RERsaEVBQTVxK0pV?=
 =?utf-8?B?RStobjR6RFo2UEdiRENicEl6aTgwLytramdPMlFqcjNCK3JwSzVBOUxPU2ds?=
 =?utf-8?B?bXIyeXBPNUpqT3VNN3RFa29DOEphcnhZNEtmRHZnMDY3NUdwRHRvQXRqdUlx?=
 =?utf-8?B?amt2QnJSOWloOGhOM0FyVVZ6cTVDc2NYbFAzL0FkZTc3VExKVnBFb2VwaGp5?=
 =?utf-8?B?TGt3cW1iemxZRVFvcWVsVDNENlMzSjQyVzF3UUhpcE93czUxeE5yd0dRWUw1?=
 =?utf-8?B?bE9iWVlBZnpwN2xsWEp0N21ZN2tzSFFRbU9kVC9MZlB2TVRmRlFpelhoN3FW?=
 =?utf-8?B?QzlWRUg1VlMraW8xUDY3bU5kZVhXZU1CV0FtczIxUzJZMnBKS2ZGNERvdXhj?=
 =?utf-8?B?ekxvNVNnUWJlVFBEYTB2THFla2JQTG50ZHVmcklybFErbXFwRGZqUjk3ZkVS?=
 =?utf-8?B?TnZPQWVHeUc3ZVV1ejJ3VEJmR292cVN5Vkw4OC9VelVIazM5clhqamNPdjI2?=
 =?utf-8?B?SXRNNXE3V283Q05nTFVuZmZmcmVZZnUzL2VValJIbURuQjVycTlJcjFDYmNa?=
 =?utf-8?B?c3o0aHRIZWcyOHgzR2R4QUQvWUR5SVE1MGJNTklqeUROeFIxdzZJeGdXNndE?=
 =?utf-8?B?VENXdXZPdlBxbEpaYjZMVDFDU3N2RUI1ckwzd2VhSFRSekpaWk40UXpEdVNO?=
 =?utf-8?B?K05vR2g0K0JJdUpDMEpjZlJOZzM3a2ZlTjhEUzBNeEdteE5HQTl2MFluZXBB?=
 =?utf-8?B?NW1iNW9GR3R0ZVZjT2JjcVd3SFhKUjlXZDNNNWQzbFFYMExVM2JlL3hDaGxy?=
 =?utf-8?B?Rkc4ek1JMU45VEpMQTZ2all1T0tkSHBOWnp2VU40cm1yT1BwRGpKQkE2YWt6?=
 =?utf-8?B?YkRGbDdkRGVtTThuNXN5WUp1RE5IZ3NJUmNHeTBPM3J5UHdxakhXV3RMbml0?=
 =?utf-8?B?RjRyVkJHTmoyS2xxemREQ1dRYlhjYUZ5SU8rL003blVrenlDamh3ZFdlTU1O?=
 =?utf-8?B?RkdicFR5N01QZ0EvUGJQWXN1a2ZaeXU2R01sVTVhMWhaU0E4ejZjTUUyY1B0?=
 =?utf-8?B?L1ZYZ2FnUG1YWFJjSFJuSnFsVU1oZjcyTjNUcDgyNFBRT3RVN3RxV05TQ3Zz?=
 =?utf-8?B?QWhRV09nK2FTaTkxa3pjanRNS2ZIdk8zL21PQnJocitaakgvOUtwWVptUHM5?=
 =?utf-8?B?YzVpbGRuKzdUdGlnU3VXRlV2U2RFZXJxSjFsUzFSTjdXelNXNFYwN3AyR1BM?=
 =?utf-8?B?b0pIajU4Q0lqdkJ3Si9xUTFDZ3M1T2VUdVpWMTlKcUNSMmx4ZHhWem0yOGMv?=
 =?utf-8?Q?5lZebsJEtB9ZNu2snnitPVw/x?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3888adcd-a6d0-4030-d988-08db23ccb221
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 14:10:27.3795
 (UTC)
X-MS-Exchange-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/Jv+xyXEBqKfeVCl8wAZ2GLOJ7uH5d5fzzeFKeiiWMTqArrQ3FCtIulHNA9ED7kpN+xIBFdGzx2/e/0MBNq3A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9155

While provable that length[0] is always initialized (because symCount
cannot be zero), upcoming gcc13 fails to recognize this and warns about
the unconditional use of the value immediately following the loop.

See also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106511.

Reported-by: Martin Liška <martin.liska@suse.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Put new code on a separate line and add comment.
---
RFC: We've cloned this code from Linux and the code is unchanged there.
     Therefore the same issue should exist there, and we may better get
     whatever workaround is going to be applied there. But I'm unaware
     of the issue, so far, having been observed in and reported against
     Linux. This may be because they disable the maybe-uninitialized
     warning by default, and they re-enable it only when building with
     W=2.

--- a/xen/common/bunzip2.c
+++ b/xen/common/bunzip2.c
@@ -233,6 +233,11 @@ static int __init get_next_block(struct
 		   becomes negative, so an unsigned inequality catches
 		   it.) */
 		t = get_bits(bd, 5)-1;
+		/* GCC 13 has apparently improved use-before-set detection, but
+		   it can't figure out that length[0] is always intialized by
+		   virtue of symCount always being positive when making it here.
+		   See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106511. */
+		length[0] = 0;
 		for (i = 0; i < symCount; i++) {
 			for (;;) {
 				if (((unsigned)t) > (MAX_HUFCODE_BITS-1))


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 14:13:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 14:13:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509309.784832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbivg-0006Yl-NO; Mon, 13 Mar 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 509309.784832; Mon, 13 Mar 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 1pbivg-0006Ye-Jb; Mon, 13 Mar 2023 14:13:36 +0000
Received: by outflank-mailman (input) for mailman id 509309;
 Mon, 13 Mar 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=koCJ=7F=citrix.com=prvs=42903c55b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pbivf-0006YY-Gm
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 14:13:35 +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 3b59623f-c1a9-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 15:13:33 +0100 (CET)
Received: from mail-dm6nam12lp2175.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 13 Mar 2023 10:13:27 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6494.namprd03.prod.outlook.com (2603:10b6:510:bb::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 14:13:25 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 14:13: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: 3b59623f-c1a9-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678716813;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=3RgdrLpcHF7fOOmzueusI4sWVNVmW+IU6nGJoZBqnrM=;
  b=W/6QqlEeztl4GPf8eHi8iBz62kpx8Qs3dDjFMhvZZmGlGnWmKNODmplY
   IzFDKNT59Vw7jxjmzrXpCKVT+BdrU2/38qSMfKCHOVIgwj8ciQNFmr29b
   WqRBSCaTTqomJE1BCcaO0wNQXdTpl8rDXEqB6caruXgre6/YeDnV0l9Bj
   w=;
X-IronPort-RemoteIP: 104.47.59.175
X-IronPort-MID: 100522285
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:bwDg1qp67zpTzBDTvAj0u+aft39eBmLNZBIvgKrLsJaIsI4StFCzt
 garIBnSaPiMM2rwKYtya9ix908Gv8OGmtBmGldkqCs3EHkb85uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFziJNV/rzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAG4kZ0+bwMic+YLhW7lgu/V6LOPFPrpK7xmMzRmBZRonabbqZvyQoPN9gnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jemraYWIEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhrqY32gfJljF75Bs+ckuYuf21kBKHXJF4A
 WILxBAShLY5zRn+JjX6d1jiyJKehTYeUddNF+wx6CmW17HZpQ2eAwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxRuwJCwUIGkqdSICCwwf7LHLu5ovhxjCStJiFq+djdDvHzz0h
 TeQo0AWmLE7ncMNkaKh8jj6bymEo5HISks541vRV2f8tAdhPtf6Osqv9ETR6utGIMCBVF6ds
 XMYms+YqucTEZWKky/LS+IIdF2028u43PTnqQYHN/EcG/6FoBZPoag4DOlCGXpU
IronPort-HdrOrdr: A9a23:r4ZmtqEeIUZj96F0pLqFe5HXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6fatskdoZJhSo6H6BEDgewKUyXcR2+Us1NiZLW/bUQeTTb2KzLGSpwEIeBeOvtK1t5
 0QCpSWYeeYZTcVsS+Q2njaLz9U+qjjzEnev5a9854Cd2FXQpAlyz08JheQE0VwSgUDL4E+Do
 Cg6s1OoCflUWgLb+ygb0N1FdTrlpnurtbLcBQGDxko5E2lljWz8oP3FBCew1M3Ty5P+7E/6m
 LI+jaJq5lL8svLhiM05VWjoai+q+GRi+erw/b8yvT9Hw+cxTpAor4RGIFq8gpF4t1Ho2xa6u
 Uk6y1QQvibrUmhNV1d2iGdvDUImQxel0PK2BuWh2Durtf+Qy9/A81dhZhBeh+c8EY4uspguZ
 g7q15xmqAnfy8oph6NkuTgRlVvjA65sHAimekcgzhWVpYfcqZYqcga8FlOGJkNESrm4MR/ed
 Meev309bJTaxeXfnrZtm5gzJilWWkyBA6PRgwHttaO2zZbkXhlxw8TxdAZnH0H6JUhIqM0kN
 jsI+BtjvVDX8UWZaVyCKMIRta2EHXERVbWPGebMT3cZdI60rL22u7KCZkOlZCXkcYzveQPcb
 z6IS1liVI=
X-IronPort-AV: E=Sophos;i="5.98,257,1673931600"; 
   d="scan'208";a="100522285"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MPhJ5+pWvn/6wJR0Q2aepL0tu8nRVNeVBGLRMgZ4brRaRWrzpe4WWHk1EwrN13Va05Y/TKh8HjrB+5b8xJZsqjcTJwDXPu5Lmj9O8OR5da0LgMGB5RkYVJ3H1TlhC2ymcbejJhcvsd0nsljV9c7mq54FxCScwzj7hJyVnfxsTPANlK8+78o6L3WwLiDWJMijDn1v54RcVpTjoXhQoZHT6gVjz7L5yUlW4XLgfJOvMSCxpIWg8b7g/nWtp+kq1AtZ1x6e+fp6Fgv843318UAYz9b9c9E2PYai5ZmWm9sx3LlynjrG9xL2hTdWTytStY9zcSR73GxHCQtDlO6DU5vHxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3RgdrLpcHF7fOOmzueusI4sWVNVmW+IU6nGJoZBqnrM=;
 b=nHt0TgKZVgmlL60Upr+W+1ic6FTSLDQ+WOSNfd7Jc+iWauayO+lJc4dNvQQGlMmtk9NfZ6qcGnjkZbpuzLELHwMSBVfLoUQy6ea7IY/rOqu5ht+9fDQiGjysdN4REj0tK5mRIP3T2UzL2Gj56I04golBQGIaiWl3Vh/tPfbZlpfrp0SY0MsJuZScLHGU+4uWTb/YoT/6Nr+WotwXZHn2pFi+48Obmf9myzbQIBF0MIKjtsblz4pcmK0GVPg4Wt16mTUjiCQqMdgtdXqXJ2FHVdkvwpjHH/yN+zBDeTFLzhJlaTcZxps7kGO2LJZHg0jm5ijuqSIdKb3l45NHgXw34A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3RgdrLpcHF7fOOmzueusI4sWVNVmW+IU6nGJoZBqnrM=;
 b=uZU7d6/h4qIq8u6FuaV6OZyHqo2WrxLP2xjL/tKWUdCnrhhw+FO3TX7rgcwFSn8SIz0UEOv+vz4qoK36RWyHx/KzmSy1nB1T86/3v8uiyGSNjHT5rxHoGKGoOxvSdeAyPadZIs/y56Cr7NwDdWPbgRqnoMjcHvVECmx5GgFtC9M=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c278a871-5100-ca92-e329-b38955ef9eb7@citrix.com>
Date: Mon, 13 Mar 2023 14:13:18 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2] bunzip: work around gcc13 warning
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <eecec806-1728-2efb-ad69-862fcca5ba75@suse.com>
In-Reply-To: <eecec806-1728-2efb-ad69-862fcca5ba75@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0246.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a7::17) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB6494:EE_
X-MS-Office365-Filtering-Correlation-Id: 8e8d5720-f240-4b80-8380-08db23cd1afb
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4X3MMAnPM4CKhTujI4p/iNT3RMQY1Tg+pQdWy2hAf0GOx+Awi4NH9QrQCE7PtYSqmG4zfTBDJ9YjFW5Txm3aVQ3fj0qKMxbNKynFSHjyACOfhPOQkxj84DTJkEwp3YtaDSKzgh4prBS6upuKlByahJMjsXxENOXOjKK1CorZq168xY1KhlKii978P7G9p3VYeBB6Tt5KrFen+XfHqPN6q5HPXb0O+hfL//vPlSJgttUiBO0Dc3rjds4AElh6d9FSJhUorgScJnx4Rv9750G9BGf8+C7O3fyPXL8xKyS/2StTWptbOvPN/VBDkVORRrQEvb9NVfBDDFVmlH+dPUtRReYy9n0W206mDd14Y6ke+ftRjMfM2L48TLrfXiEcp0kRPyQySWi2jhL7hxvBhzAVZRiS+n/nszIo6nVlES+Ru6EwbbL+Os46hHtnLyfaNFhlxWfWerQrVP3gof13sM7Eb0MwM9GVJqYfPipHbph/qcKRqG6SrEdYSyXbdWe2cX0mE+al5aLfQRkHwder6xEunmQyj1DoMWt06rrMmMU99uVBayqP3NyxyTRmfkRyCENTGVnt0ZAZa9ho3eqPu7DNfvP6EG9r6as57YFWjqYsBNjMBPxO720yYrAW8D5y83QJNP17zZ94TM5CA7A6pGn0jQ2U5zD7MobFv77iOI1xZ4fKYsRoXf6hvexZR5bR14AaKsf6n+Wu026C6DkNaikqmXc2Il9suTYkpfhz3wLjdoA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(396003)(346002)(136003)(376002)(366004)(451199018)(36756003)(86362001)(31696002)(186003)(41300700001)(26005)(6506007)(53546011)(6512007)(5660300002)(4326008)(2616005)(8936002)(316002)(54906003)(478600001)(110136005)(966005)(8676002)(66476007)(6666004)(66556008)(66946007)(6486002)(82960400001)(38100700002)(2906002)(4744005)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Sk9JM0JFUHh1WStUL2YyMG9lK2RkK1h1Sk5KaGdFMjhiZHpFTDNMdEtoT0F5?=
 =?utf-8?B?SURiUkp3ekY4WmMyNGdiUjQ5cDFHOEV4c0VHUzZRbHMrQjBIZnh2ejB4QWF4?=
 =?utf-8?B?eHJTOUNZOC8vNTRhSjJ1UHo5VkxBUkwrNUJnV2xoUkEzeHk4NDY2Tm9Md21t?=
 =?utf-8?B?UWxxaXArdExhSUxadUpiT2F2WmJIaHRwK3lIVUdaYitBcVF4cjg2SFYyaHVq?=
 =?utf-8?B?WFR4WDFrNU5wS2pUTXBDMk5iZEtsemsreGxCY05TKzNWd3FLR1dsTkRSN25N?=
 =?utf-8?B?RllqNEJwZ1I3czBLUDIrNXhpOSttZG5pUFBOYlp4dVNFQWlPdnRDNXM2dENF?=
 =?utf-8?B?YXgwWGZ2V1Y2ZkJjcWFiU29ydzFsU21Oenc0K3RZZ1BXZVBJRGh2cWpMc245?=
 =?utf-8?B?SVg2Ym1YNzFsUysrMU9TdUdwazI5QjZGaTRMdjRIcytZRTdTWitSTjhTQmNX?=
 =?utf-8?B?R0JNQmpKRXVlc25KMUI2VVgzQjRrM1hzZThtYmwxL0dudHBVSnJMZE93NW1r?=
 =?utf-8?B?eGtQK003NXpjV3BkeXRVRE5VSUh2MEM5K3lLb3IxNTZPbUo2T2RyZmdsTG02?=
 =?utf-8?B?MUUya2dUeWlWcEd1clFlYkFsQ0ladFJmRTJkTDNqaVFMNUNCS1Qxa01IcUZI?=
 =?utf-8?B?VTIrZ0JxcUpqN3g3S3JONjNlaExZdVMxUzFoQnZHejNMMytSNXdXSUV1U2V1?=
 =?utf-8?B?cFRNa0tRMjRSRm5pR0MrZjg0d0hWcTAyYU1VWHdIaUdEUFk3bmI0bDVsNnVu?=
 =?utf-8?B?VGhPRmwvMHZLOC9NUHQ1b2pUeGQ2YXc4aG1kOFFIdG5iSlp1MG1pMFBuMTBM?=
 =?utf-8?B?cXBRbmVRNEJjOVE5OXZrQWVnSTZ0YnlqeCtkV1BqbGlBUkl0Q0ozMFlRSXFx?=
 =?utf-8?B?TVljMWxGOE1rZzJDSkFnSGc2V1J6RUZaTExONVRVN2xvOGFjMlJXWHlieW9V?=
 =?utf-8?B?aTBUZGZMSjJTZXJnUFJDM1EyTDg1OUVOWS9mRVhoTFlkR1lMUmVDU3ZJajR1?=
 =?utf-8?B?ZGE4VThlWmcycUp0ZmdEcWJkc2p5QWtxQW1kT3ZVcUJsZWFyajFyNDhuSVZy?=
 =?utf-8?B?UmRUQTVoajZsdzJYWnFhUytuNWMvbzVyUFJyelloZDNMUVVvUW4xUHZ2VFVH?=
 =?utf-8?B?aHovUGRrVnZ4OEdNb3VnRmFXT0svZFRsUEQvdUtLODdnN2l4Z0s3TWthRVd0?=
 =?utf-8?B?REJJRmFzWVZ1OHF2eHBZZmZUWEJ4emYrUExtblR1cDIvbHhJOWcweGpGRDNs?=
 =?utf-8?B?V3NWSmtpVXM0eU94M0ZLVG5mZGhlRTRiNGV4aVQrZzBxWXNKS0M4aWh5R0xR?=
 =?utf-8?B?WUhZLzBNdEo0aUlPb3lqMmw1VWRacjcrcG5jWTBJTmJGdi9hNXhWZjJOaXRL?=
 =?utf-8?B?cTFvaFpkQktLTFlMb0J3R0lhbFpaYWdQWUZGTlJ1WjdPdGo2a204cVpQeUFh?=
 =?utf-8?B?SkhYdG95RW5RV1NJYkZ1Um0xWHgxZWo4Z04vZ2xkVlhHVlVWcXY2a1Z1TUNZ?=
 =?utf-8?B?SWlkajVwWVFVTlJlSktxRE5FOVVuNTRJTk93R0pUSDF3WlFLc1dNWm5ieDFn?=
 =?utf-8?B?QVNyU3ZYODBNd1ROY1h5YThPTlBEdThWNTRTV0ZuTjZYSUZhdWtaNC9lMjNT?=
 =?utf-8?B?YVNvbE9rdFJNT3k3S21PY2JkVU90NlI1NUNGYjlqUnViS003aDVIbjc4Y0ZY?=
 =?utf-8?B?QU4wVEo3TkRFV2FpZXBzNElhSk5Jd3ZLTStGa0lZaFJPOGtET1hYV1Vpczlq?=
 =?utf-8?B?czNoa3VYMTBNTlZNNG1ocFVsWFpUTVVqUm5SRFN4bUJxQ3h5UlQyQi8rYUVN?=
 =?utf-8?B?NU44bmI2QVdydkZlN25HOFZOTjBPQWdkdUJsdTJWRzR4NVVIQ20vN3VXak5z?=
 =?utf-8?B?Z25OU3hRQUF6bENtU1VIS05hdUcvbVNjTDdxU0JDRHVUTU45d2NNak9nS1Ro?=
 =?utf-8?B?SVJaWmJwb0xGeklYQndEWXVZMk1RYUtGWXBETGkzMldJb3lVWVV5a1NxT2RE?=
 =?utf-8?B?SzVzcWdZYTZYa0lCeU5BRGFUQjMraGJwNG51M205aWxsWmp6WGZLeDRxNlhN?=
 =?utf-8?B?OCt1WGp1d0JPOWVTdWJIWWU0Nk9hZE0vY2gzMmR3VDZJWk9JVVFxelFHRTJJ?=
 =?utf-8?B?WXhtUnVkQkRsdHZpRWpiQ0QvMzV6a3RFdkV6WWU3SU5BM20vSllRSWFtWDl6?=
 =?utf-8?B?Z1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	P38HM4WX1ONpH0WZn5Zyu6PCaRMQLp7MSyhsnJJF3gB/w0cR/6RnV0fwdDkeENU4Lp1RSFXilGW0hi8fSK/rj1BGeZ5T0oLtj0nBOYdFCiTdwKAS+M1ZqkAK7EnNXolz8ybHPEh8v5M657JeVhVuaTnOwCcMhvd4i1mCZhPWjWYsAwUJMJ5u8pmjeYeEiO9wXtKj3p2rMPTBo17KqrA9FHFmvxDRRjTMChMC1AfTxU1NKmcvFnGLPRKGSzZZWJT2UzQKo5vEaRRgHOWyghfyBSD2cXeiI/zbSa+fvSALtvZ0Xm4ZBP0BJEMSM8LBz57f74GhWOwX8jJ41AKeM0pDQA+M/JNLGZpmvvBEe3KsqJ+SxstOJt8vVS8xXvV87PN9d+XSENDBO2l86ml+Mlmcai9LQSg1bN3aLvmap62QvHzd4sahY1MG6W3KqrmaeQJp20JQcTnKHaGSLasFuRU1gqtEaM5Y/bxQ+4WudKaoqzMeLyJx55cA9U3oELUm2TBe0MWw3DzZy+shgfMQM75xKczlbtjn3HO+7wPgfqsejtpLC2LsIUfUwQ2XUoOoLdO0xVDaRhI7aES9Gl65vMe+K+v3ej7PDqOkHaZCsOTAXKr4LFoJfOmaDhtH4M8QX7zVXMlrDoMW4nuhtfKiRkzbT5ONhpXZAQ8pVmvXSLfUrb2aCbw/rD7zIJ4fLWz84nEuimnJkoRIMZSRtLtwHSSCN6a7tN3Ju2jqSXSLiX17rEqeFbx4X7Vd8QnJRC7iF/1MX8UnDLfjIxKIUtpNPLN0bKCLIkLOrEnzstng9ew0Co6guDnnb+6X5ovh2GqWPn2zBl3vpZFC/6GCFRtkjmq2LdhBJWf6jP6836+qmuEHj14=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8e8d5720-f240-4b80-8380-08db23cd1afb
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 14:13:24.7264
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CFpDBhXuZXZykNGJqNJwMetXDOoMKF6wnDttQS8QEddrUDGWRQfTrShhcpySSv2LM8z+PeX3D7kASIu61PwMIyPqWcyG6axtTmuReaVML9Q=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6494

On 13/03/2023 2:10 pm, Jan Beulich wrote:
> While provable that length[0] is always initialized (because symCount
> cannot be zero), upcoming gcc13 fails to recognize this and warns about
> the unconditional use of the value immediately following the loop.
>
> See also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106511.
>
> Reported-by: Martin Liška <martin.liska@suse.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 14:24:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 14:24:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509314.784842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbj5p-0008Eq-QR; Mon, 13 Mar 2023 14:24:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509314.784842; Mon, 13 Mar 2023 14:24: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 1pbj5p-0008Ej-Ni; Mon, 13 Mar 2023 14:24:05 +0000
Received: by outflank-mailman (input) for mailman id 509314;
 Mon, 13 Mar 2023 14:24: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbj5o-0008Ed-Pz
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 14:24:04 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20605.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6245c387-c1a6-11ed-b44f-930f4c7d94ae;
 Mon, 13 Mar 2023 14:53:17 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8100.eurprd04.prod.outlook.com (2603:10a6:20b:3e3::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 14:23:46 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 14:23: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: 6245c387-c1a6-11ed-b44f-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MA+nzixJQbPPK9gS+9hzcmhfXVGnaqdIuUwqpuVpOHX00WNbKY/P8zxc7/sNGp/cPpqb+WcpwKDtEudtzbvCUl9O6Z2uh9ZCEi4lwlGrEVDzXqXSAh3DH3jEEEvqtaaIp8O/WLEPuyo5amw1uriIUeK6X39yUYg/bonEViwOZsC1qmu9/1qxL7LocwCKkaKc855w7qebq68Bre1bmxG0F03YCvVjtO7kwyaggORpgMgVItlbIhiDwjGXpIS7lm/QJllQNZYoxL5eCExbNZniLl3tazRl95xP/30j0rojPTuhwToX7DvThCMNNh5qpmaJhQ+4yGf6e/VtBNn343ROmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xc8jSToByFxjPb8Ppsv3tXE55Pzuk5COE9TF1MPLe3g=;
 b=MKOpOLg+WYknri1lDV2SWMpE0vQtDI61h6OvhfsfiiltmoDTGdSQmYcpywhRAmwSNMJ9oSMPR5h2Pk9y2FXDq+2GcNaOF+0ee/RcPQkYi1J7/R3+cyQ/0uoO3wqDfVhtVOtrR3iTPs/QDDicjdiyXE7NXkjwoFjEW/qyTAtFqb+96mE/I8k7W2W+rW/ZVf4JllDjnMsr8rbgkI6JR8xeGEOhZ2IkRFt3/XDsXjQTPc0mUjTA7aV1ul7gWVIQHcI4hbaSIn5fxntLaRURiE0FvMQZKTyo2piAa9usZeUJcSC42W1tzEaeRDN8PBjmYt0pVxiuiE5e38GvZwQO/9YwFQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xc8jSToByFxjPb8Ppsv3tXE55Pzuk5COE9TF1MPLe3g=;
 b=fuAmXTaVhvCR0EnGR+t8hsz7NQNoqKniJ9STwlnantwRKhObSOqra11t8pqW6L+5gJYsFx7t+4oTgr8hcA4E5Y60UEo5Y8KmzoQ5ANfaXEZ9pZ33yuaO3X5RZAy4NBy1+RP/HTY1HIPJsZuaHrpckdF4fEn7tF1Qrbyk4NLK8ml6782ZGPd4uZLSLOOuvaWx0fv3epY5DcJNr+7foIySAzs1mrUs2o4qDm2T4ISTNNsan381ozVVI2tRhFxY0+agmSbBj7V15F/q7sieCgqQrQ+1oJHBDldE2VnhUB/Caw4oByvdr7/O7L6LWwhDb0eMYERrWfdbgHPIjy/QXWIXUA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1a0c48b3-d84c-d738-70e2-3c1d4ee700c0@suse.com>
Date: Mon, 13 Mar 2023 15:23:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Ping: [PATCH] VT-d: constrain IGD check
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Kevin Tian <kevin.tian@intel.com>
Cc: Marek Marczykowski <marmarek@invisiblethingslab.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <52cdcad9-cd21-1132-ca9f-ba8092d649a8@suse.com>
In-Reply-To: <52cdcad9-cd21-1132-ca9f-ba8092d649a8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0007.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8100:EE_
X-MS-Office365-Filtering-Correlation-Id: 050f04a2-bcd3-4ae7-4af3-08db23ce8e15
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JDegeVpdlq3LGlMop9nVTFj3EjDAonaHO2EfH1OcrdtddH43xnJ5KEVpZzZhK27a2IhIrniS0efSbxa/NkfTwfojoLSPndQjjAAUUfli5V7AIWcBAnHf+YMQwai/q9WcCOTyb2R3DU8LABbOSMwiMrZDmTqktGNZDggFp2Wyyy88S2TG3r1QYpaKUA9wK4OgaI5OV3ZTXrl3NEr0QM/zbtEcpzU6AK+4I1Dz7p3MhcKVkzpCxmcYc5I8QVv5rJvV2xZKpWMkay/8cszygitN2NXq99r89Vk3fmcMlCP2gbKpfyJB7p5Dk0JyFRjZrSJ8XdnxRG0fEISREp9ZnOVtEIemJq7jKAH0ZcP4e4dSE5DPBB6KlzQ2xqMic1X2mSkGHnEHNlaNkSmDlcQZFyJFaIkNfaMOWFBLHk5PKr9+w51eFayAdYFUu2fdPmJA6rr9egIWAhsz5NmQ/BGZqpzsDmb/bUjVyOUR4+WzyFlJrfH5ggkZuXzZpOTOcK0JoZVOowHi/NtOCH6++b1XRG6O9b2YK2bpR97vjfIut2h/nDDcjg5RhNNc8jUlOqMwTTy0r5VmfH138CnTU4v9Xp63VVQiXGPHsNKOXGjL2dSJ1vadDF78PyFDrnCd1lia0Sgn5Z+zarpa3y7Q++fMiYnOjqNqw5FQsETvfc1JXqi+8Si5O6q9nr4hBYhqvR2N9VA/O8FPYVwtw+8LcGSsjJJvPj3ZWpJlfim+Nau9yx5/RI0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(39860400002)(366004)(396003)(346002)(376002)(451199018)(86362001)(38100700002)(31696002)(36756003)(2616005)(478600001)(66476007)(8676002)(4326008)(66556008)(6916009)(66946007)(316002)(26005)(186003)(53546011)(6512007)(6506007)(31686004)(54906003)(6486002)(2906002)(5660300002)(8936002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z0V2TFlIM0ptbXJYVnlSSWZHZUJ2a1A5b0JNdm1mMlJyQXV2a2xHaVhNb1BR?=
 =?utf-8?B?bGhOaVpJei9BNW9yR00xTmN6bEtjVjV3SlBVd2xkWGpzUU9HcjBxMWlFb3Bl?=
 =?utf-8?B?dm1lQU56SU5OWTdsQ3h6cm14c1JVVDNQM21Rb2Y5QTdRK09yeGJxMDNoeFE2?=
 =?utf-8?B?L1plbGpmVm9BN0xIQWpIcGl4NjJzc2duNmRkN2lYNTAybnk2V2o2RlcveUdn?=
 =?utf-8?B?a1JWR3lERUVieVNiZlJBVEJ5V2JSTkdjYWtSVjZRNDBUU1hpcHdPcUEyZjJo?=
 =?utf-8?B?bWdUMWNCcUVLOTBsTy81c3JxOFhqUlpsTEpzcHNxNTdpZjNvTE9pSmJRc3JP?=
 =?utf-8?B?ODMvdDN3bldBaUJPTnkwMzVsZmxvSnJvS3FXMVhiYXVod05aRkQ2UGt2S1NO?=
 =?utf-8?B?ZEFiNm5NWDR5bWNHd0tSelo2M21sRzY2WExCYkE4aXU2MDlQS0VhRFhYdEtG?=
 =?utf-8?B?UDdMcmVKbzZRZlE1TmpzVTBjanZTbmtLZlIrSmlKVXJKT0pMSUZqcSthQ2FU?=
 =?utf-8?B?WE1nUzByVzJOVUxSK3FLd0RyZmJDRHUwWGwvR0JCRld2aC9KbC93eXVuUlhL?=
 =?utf-8?B?cHQwbkhPRG1aNEcyQVdBbzZJbnVTc1hFVFFnQk43YXlVYmlqOHNyYzZyVXlK?=
 =?utf-8?B?cTFRTlBkT2xTZkNzd3A2NG03NXpSVXRxU2IzVnNSN05IT1J4L1h6SklmNGRL?=
 =?utf-8?B?dDFaYkFrSmJhWGRpVFV5d3JkT0xDNzV4L1BybzV0WFNlbEdYMjJsd1V2TjNL?=
 =?utf-8?B?NThEcWFvcE1PamtQQnI4RVBndit1ekZNM0sydTgvTlRhRnNPVnFvZFYrTHpr?=
 =?utf-8?B?YU9iTk04RUxJZEVuQ2s1OGxSdWcrcjdOS2ZSKzBJa2xENXljeGdhdDdYQzRy?=
 =?utf-8?B?bmt3a3ZKb1ptVVNqNXVzM2ZCYi9aRDloQzJ5cXNlelRkVzVKaE1zUTNtemZE?=
 =?utf-8?B?bE1haWVQU1FvRVZZNXNaNEdDbDM0cEpBU0cwSEd2Z2w4dVRwRzZuVVR5TXNR?=
 =?utf-8?B?dVdoT1R5VnlSL0dsTVB3NW1OZHVyVmJ0UVNPcytwcmlTaXFzOU1ITUhwNzZR?=
 =?utf-8?B?aGs4TnJZM2tNSkdxeGt0TElVTGR0Z2ljakVrRDV2UTRmRy96b1NqekxmRy9F?=
 =?utf-8?B?TWNRcVJoQUtpNzZ0eU12RzhUVjVwVVNySTYxZUJrNDhkZkR3RUpLRDE0NmRR?=
 =?utf-8?B?aVAzTGZoTnBnMHhwYjFpSHZFZFZOLzVGNFlYVHUwbnpBcWE1djNhdVlwMmhS?=
 =?utf-8?B?TmJucVRWcmM1Mmdxdk9MYzRvSXZhWVpwT0k0c2dQaHJrZERkYUNUMDkyck5D?=
 =?utf-8?B?OXB2Y2Y1RWdSSlJUQThYaS93VkcrNnpyYmJVNllpR2RNYjZEYU1VTWlZKzJv?=
 =?utf-8?B?WGF6ZWJWQnBQWmJTeEE5TnVYWWtFUlNjSkVpOXRrNGFJMnQvL0krSSswdmZr?=
 =?utf-8?B?ckhXZ0VQejI3R1RqTkFJTVBlMVVnc1BMUWJlZzQzQ2czd2JQWUdHeURiQlFG?=
 =?utf-8?B?V3ltdThUV0VqWW40aHk1MExEVkRLa3ZOZkpZTmg4K0ovcjAzZmhVaWQzbGxm?=
 =?utf-8?B?Nzc4b0VLK2VLaFNHNGNjSERBeDIralRTcFQ5OWpVNnBIR2NDZmNIZlZYTGhD?=
 =?utf-8?B?MUFYZ1VlVXdzUW5TTlhFOUM5TDI3N2FLU2x0ZnhRb1Bzek5mVmpTOEphUUQ3?=
 =?utf-8?B?MStzdENPVzhadys2MC9VZHIwUitjN0RJdXc5U3ZtdUhTSDM1b3FCVFZlbXNH?=
 =?utf-8?B?ejBjNy96a3FPOEYxUWlMWDZDUjZIVU5FVVoya0lHbmtoS0Y4b1ZXeGVDamZl?=
 =?utf-8?B?UVRjb1RKQ2VRSTdCb0NyVkQ3L0IwOE9VN3hrWGsvRDFydmJ3YkRUeUVaUlBv?=
 =?utf-8?B?ZlF2ak1vVFVJb3lOT2pjVXZ6ekxVWDRMaWFWREc0eTAvQUZkalAxTDlSQU1U?=
 =?utf-8?B?ZzkxQ3JkUzEyMzBSVVNtV0pkbE1CaitiaFA1aHBMZTRKYUQ0NkR1dTlNMWQx?=
 =?utf-8?B?UW9rM2l0Mlh2TXR2NTZPeStYWXVBWE52RGhoK00wM0RJUit5UDZzWHd1YXVx?=
 =?utf-8?B?NGd4dHlTZmxyT2pwY1MrZzU0NzMxOUc0WnR6RnR2V3VDcjdRU0pOQ0xScVYr?=
 =?utf-8?Q?rghjcEENUv331sSOpCP74KEUO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 050f04a2-bcd3-4ae7-4af3-08db23ce8e15
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 14:23:46.0333
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: j5UjgscaxPwIDeB7aek/4Fq+ZLK3EtbQnlg5BmdYgWCuY7M8pVX2p8kBgUpBSAo4/okX/n/egzWL8Hm8ugSkfg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8100

On 28.02.2023 10:51, Jan Beulich wrote:
> Marking a DRHD as controlling an IGD isn't very sensible without
> checking that at the very least it's a graphics device that lives at
> 0000:00:02.0. Re-use the reading of the class-code to control both the
> clearing of "gfx_only" and the setting of "igd_drhd_address".
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Kevin?

Thanks, Jan

> ---
> This way we also read the class code when we don't really need it, but
> I think that's tolerable, and the simpler logic is preferable. The more
> that with Marek's proposed patch, adjusted as suggested, we'd read
> vendor and device IDs unconditionally for all devices (enumerated for a
> DRHD) anyway.
> 
> --- a/xen/drivers/passthrough/vtd/dmar.c
> +++ b/xen/drivers/passthrough/vtd/dmar.c
> @@ -391,15 +391,12 @@ static int __init acpi_parse_dev_scope(
>  
>              if ( drhd )
>              {
> -                if ( (seg == 0) && (bus == 0) && (path->dev == 2) &&
> -                     (path->fn == 0) )
> -                    igd_drhd_address = drhd->address;
> -
> -                if ( gfx_only &&
> -                     pci_conf_read8(PCI_SBDF(seg, bus, path->dev, path->fn),
> +                if ( pci_conf_read8(PCI_SBDF(seg, bus, path->dev, path->fn),
>                                      PCI_CLASS_DEVICE + 1) != 0x03
>                                      /* PCI_BASE_CLASS_DISPLAY */ )
>                      gfx_only = false;
> +                else if ( !seg && !bus && path->dev == 2 && !path->fn )
> +                    igd_drhd_address = drhd->address;
>              }
>  
>              break;



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 14:46:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 14:46:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509319.784851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbjQz-0002RV-GR; Mon, 13 Mar 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 509319.784851; Mon, 13 Mar 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 1pbjQz-0002RO-Dm; Mon, 13 Mar 2023 14:45:57 +0000
Received: by outflank-mailman (input) for mailman id 509319;
 Mon, 13 Mar 2023 14:45: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbjQx-0002RI-Uq
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 14:45:56 +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 c09ec886-c1ad-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 15:45:53 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7402.eurprd04.prod.outlook.com (2603:10a6:102:89::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 14:45:50 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 14:45: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: c09ec886-c1ad-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I4zDEtgWp1ESF76xz0XVXjG+WHzSPNOmdbmE3ePKcQPGipow8UeOXF4Bm5Dmu2MdIus1wqU00uVRq4UpUk+ObySv4jB3fhSa0+4WWTRhKw1heBMIVWJGG8b5c8b74aaSyvRJyil3kPQXgLTcAmR50P0eIX30rUlFwHPGzWfUZuw5GweZ4VXlGHr/cHoXEAFpee7/utIAGabD1RwyT+ZCeJ93eA4/qiqusZPZj75lT6/n/iY03FZ6ngE6OawvTErdcOsLDy0b2+6c0HMeuAyjPxc7g9sdFy/A4/2VvpAl2x8F3YBXxCrm0ZvHtdRhmDH1JKds75tAcwcBVswnRNOa3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nWpN1480tjRPGRXZlWUgNnk5FrJrXJEUh5BpxzVk7yg=;
 b=hTEgaq/BbhUd00Q8jTcaiztSlcS8Ozl7ANAoKyCiFpzHBryUk4bgxB+jxwXD5snBDk1c4rV/NEt+Ton7XCTaOTNLj2shZz4RtZkUofeZvZW4U22BSSw30ygZKYkYen9TPequaI3WtCdPiGjyLGRsX9he5QfnQDojNfmHl2S620pS4TQr9ioMH/fodOdbqHhYN2PmFvjuTnHvSp9MbMLTIotXpW1GgR25fDR2pHWanoPVjbYBUwrdU04AsFhyx+LepVclr5oMMD8/6760UF3+mDSRpBuseZa0cga4fxqf7ozHeQVVIaXNws+bag700k3yPrqYjB0zSGCKM5zfpDaMCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nWpN1480tjRPGRXZlWUgNnk5FrJrXJEUh5BpxzVk7yg=;
 b=B/aC1YyHvnFgKU84g5JJhglVmw+EAwMCixpZQNO8KW03fzioUJ1lk0I5w+EMwgqNAhIMB2oelKTT9fe9sqOoQQZ+WFX4PhHbfej6AZCYGsagauV7n3VfOPmQCfVhk1pwBPyQIu/nTKQbTWUWmDwPZFrdIgFi6O5IyRcXWIg4WX/Fm6bCxtx/6X8uTxJ5PV/Vg/hMNAK51+MStbJyrhSky20652JDu2/dzysYJJhjWXO9W+pkE8Cnvdap56X8OueAag6q+nY/f/21Hs1LZTldXLNnM4s1pv4m2N4QP3u+3rYPSOnOgdTuWVj4/fLLXbYnvqc99QMJ4SVUYBEk87JSyQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8f315e92-7bda-c124-71cc-478ab9c5e610@suse.com>
Date: Mon, 13 Mar 2023 15:45:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/PVH: obtain VGA console info in Dom0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0159.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7402:EE_
X-MS-Office365-Filtering-Correlation-Id: 2c1fc107-c164-4b70-b703-08db23d1a33e
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:
	6C9szDA+1Vg9gaEKzHllggLA6X/13UPFkqrfh1Cg0Wqf2yo0b5RRS4DrUfNptMYFVbL20EnZE/TfeRa6jkvpXabFAbwoPB2L3yXhTuqbK7phsnMUwucHRa3g6LxAXtUUYPP4b7ECcXBC0Mmy5X3KrRbkmcscT/b2luBIOhJt+iVuK4Sl7qTVzYGeiI3zQv9sHMir2C/IXNx8IXcpclEfd4WFJzhrtw2Y+LXuhxJbax65wm7toBsvjkAz5zm8DiXq8+Wv3NJ8E4ccorVgATTGr2zqUT1DGtwYPZjWdEdIpwU2KKVEVZuk3LbpZiSWYYGjwGEE2EMWvC17PBkah9wdxFbuGrbxwS0x+Q+csf1Aaqgk7VHjtAxHwTA+igzmORiwW8Pv7pbA1qjzHCT6/ubkDwHoJyFCt6M0C/pkgW4kct6GWf8PY1Xy5P/hbAyhF+XeQgGdyjf45iatIDH6SHZ+yG5sAjAAlGg6Aw0AZ5zkKzHk4ANF9CmtC2yUizeof/s38AUbDBdI4GhFlFbVwvpku0jzCfEJHo+QYnXQKFyZWMyUJ3qd4NhP71XyNRMCBJrqH8LhIpzUr1TUypSN2/szoKvSsKLDcVUTOGcJCPlkZ/ila05MPxvw90WsNLO7l/WILQztXO/LqV+o92u+DeY6UVTt6Mjl2vkwPo3nGeia7V8RAvoNgcRiXd6BhnXRgAM+gSXSPy1JLhXrdEb5CIzUBcaQXaZGaVAzvM8kJ2jaxwypiL/YsIJ9D+EJRg0lpYNRE/PLDWXckG8Za2KsZafKmm2KRSa10/SCv7E+jTaGay0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(376002)(346002)(366004)(136003)(396003)(451199018)(2906002)(31686004)(83380400001)(41300700001)(5660300002)(36756003)(66476007)(66556008)(8676002)(8936002)(186003)(54906003)(6916009)(4326008)(38100700002)(86362001)(31696002)(316002)(66946007)(478600001)(2616005)(6506007)(6512007)(26005)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c0Q2aVEvUEl4NEdzZFlUeDhtNmZGY2YrQ0hMSmQ4SWFWQTUveEFGMThoTUdo?=
 =?utf-8?B?d2FpTGxoV1BqZU9MWHZLUHNCOHArVC9pcE9STmFCelN2U2RaRW1RT0gyVlNw?=
 =?utf-8?B?dGRKT2tiM1h2b3pHQ1NsY1BabmhyeHFqNklYcjA4S0plaExndVB6d2xZNzNn?=
 =?utf-8?B?SXdPQ1JZb3hhanJaODJMZXl6SzMxVGk1Y25pUXptTGNXcStxVENQbWp3L3RU?=
 =?utf-8?B?ajlNbVVsMGkvVUp6ajIrdHI2a3MrYkRSTklybnc1ZlJqTDFuSEN6QzdyQ21Y?=
 =?utf-8?B?cTd0cDRnSU42WXpkUXhNT2FtY1g3eTgrTVZOb0VHRVJTZ0ZiZmdjYW13blBM?=
 =?utf-8?B?dlF3cTNETlhsOVhReGZBdEVFa0hxTlNrMWRXZ2R2VGJzNHZHM0E4VjN2N1RV?=
 =?utf-8?B?RHpoZXdJWUduUkhhZ2JnSDRiKzhNOFZKZEJGNFBYbWUrWTRmQlZUekhDWFdW?=
 =?utf-8?B?OVQzdytUc3IvekRPZ2ErRXBsVFdsaHJ6MDBDMVlydEozdEZpeUliY2tjQ05L?=
 =?utf-8?B?UzJzY3psMXhTVDhCcDhPZmh5VjgvTkxzVEdBaUhIcjN5VzFWMHNLZHVXejVk?=
 =?utf-8?B?OXRhWEVwUHNTUVYzT25RSWlLa1dpZ1MyZUNXUWZJZWtKeW5MRmZIU1ZwemZm?=
 =?utf-8?B?TXcwNWowOUovNGFBdXdRV29LWUhsRnJqek9jeEt5VWkyRmY4K1FRcGYzQTRz?=
 =?utf-8?B?Mkk2TDRDbElldUs1a01IOVRmNG0rSDZRMk5EQXJFcTdIbGJUWHdrUDlNSWhz?=
 =?utf-8?B?R09UZ1dHMnJmU0dVNEswQkd1QXV5emM4a015MU1nUWFHY0ZBVTZDczJUcFpl?=
 =?utf-8?B?eTFDM1NRL3ZPQkRGSGZwTzlaMmpOOE5HanJHN2dsTis3S29xMEJPRWN3dXZU?=
 =?utf-8?B?MDI1U3YxMFdkOVA4SDFRUXRMRkJESVBnb1hHcXJLRnVXZWZwY3ZoSVZPQmJ5?=
 =?utf-8?B?T1UxaXQvUUZkcWFDb092bWtHM0I1WFZQNjdReXlsS2ZhdmdyWnNKYUt5L0d6?=
 =?utf-8?B?TmlVTkkzNzRPQUZKeUJSTnhHUTJNN0dlRnJubWpiQXJzSE1LQTFwQW5aWkZo?=
 =?utf-8?B?bnQ5RitlTVMwRDhudFBueWdsdHMrdnFUQjRxWW9ocmgvNUdMSUZPY1ZWTVgw?=
 =?utf-8?B?a05PMDg5Z2NzVWY0bGFtRWYwOEVwUzVQeWxWQ3V4dk0yZmNETTRBSWd1YXli?=
 =?utf-8?B?S1k0bmEwQWo4S1V2cm1iZWZzSGdRSG5vQk9KYlA0SEswRVZkSTJHZ0NuR1VH?=
 =?utf-8?B?SnFLN3o1Tm5LVmhHWWthRGNCMjFrdG80T2t1UXNYak11dGZGSnZjRHUvRHQy?=
 =?utf-8?B?b2d1NWI1eDRCU3BSOUxjdVltSlZERGJzTjQrVmlUcjNsdFczQ3VsL2hEbytr?=
 =?utf-8?B?bHF4ZGMyNUVSYzVPa3YxRGFLeWxCZTFQbXQydkdMbFAzVTFsaU4zTXU2N2pJ?=
 =?utf-8?B?R0w2ZCswVTFJVHZzYStFcHhnOVU2M3pIRUpoQnN5c20zeThaRDJBZy9oRUtp?=
 =?utf-8?B?UTg5OWwvdDR3TnVIeFVrZnpvTGhJOEdpOHkxazg1ZkFrbCtoUHlGK1FsbzJD?=
 =?utf-8?B?VHFHVVdEOXpXc0dOdHIyNndkM01sekxGWHg5RmpTVGRsUVAvYTlidkUwa1ph?=
 =?utf-8?B?QjArRUlzYWlKT3haeUNIVUZkZ2xOTkFnTVNlNlh5U01Xc1A1KzFvWEJQbTRZ?=
 =?utf-8?B?bWkzMnlyT2F6NEl6UEsyc1BBUGVPVkoxQldyR2taNE50dXk3UVZpZVZQcUVB?=
 =?utf-8?B?eHh5b2hwRjQvWUJybTA1QmVwenIwMW9mcU1sNXhIakVnOFQ2bVROUmhqT3VJ?=
 =?utf-8?B?TWwxK3d2K3JGbTN2Q3dTaWlDVXV3SllkTHFkTXB6NWxMQlpLeU5yUEZhVkhs?=
 =?utf-8?B?UWRIOEE4d0lVVlRsSzBncE9LWEM3K0lkMlpiL0NPR2gzVW9rRzJnSWhydFN4?=
 =?utf-8?B?Z1pSdXg4SHVveXVjc0hob0EyUkhiYi9xR0lTbDFQM1ByR3MyOFBKQk1lQzI2?=
 =?utf-8?B?dWw2WFVGQnVwaDd6c2NaRlgxZ1dJUEs4UGVYMUxXNldFd3ZmMUJnUko4RjVQ?=
 =?utf-8?B?WTdwYUZCUWFZNEpEV1VSM2h0ejB2aDNBSytoVjRlMTlTaHN4dDUzVzlDWE1I?=
 =?utf-8?Q?Cla1or5JPdhmPLdAlFd9zRRFG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c1fc107-c164-4b70-b703-08db23d1a33e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 14:45:49.8084
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: s+MxXpZZhiHk7MT1XevpKqQj4A4qtAYkLn0bTvUyNEgbOIMgCoaw2SCEEBChFkaOXDuZwGi2rJeS6sTJWLbxLg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7402

A new platform-op was added to Xen to allow obtaining the same VGA
console information PV Dom0 is handed. Invoke the new function and have
the output data processed by xen_init_vga().

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

--- a/arch/x86/xen/Makefile
+++ b/arch/x86/xen/Makefile
@@ -45,6 +45,6 @@ obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= spinl
 
 obj-$(CONFIG_XEN_DEBUG_FS)	+= debugfs.o
 
-obj-$(CONFIG_XEN_PV_DOM0)	+= vga.o
+obj-$(CONFIG_XEN_DOM0)		+= vga.o
 
 obj-$(CONFIG_XEN_EFI)		+= efi.o
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1390,7 +1390,8 @@ asmlinkage __visible void __init xen_sta
 
 		x86_platform.set_legacy_features =
 				xen_dom0_set_legacy_features;
-		xen_init_vga(info, xen_start_info->console.dom0.info_size);
+		xen_init_vga(info, xen_start_info->console.dom0.info_size,
+			     &boot_params.screen_info);
 		xen_start_info->console.domU.mfn = 0;
 		xen_start_info->console.domU.evtchn = 0;
 
--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -43,6 +43,19 @@ void __init xen_pvh_init(struct boot_par
 	x86_init.oem.banner = xen_banner;
 
 	xen_efi_init(boot_params);
+
+	if (xen_initial_domain()) {
+		struct xen_platform_op op = {
+			.cmd = XENPF_get_dom0_console,
+		};
+		long ret = HYPERVISOR_platform_op(&op);
+
+		if (ret > 0)
+			xen_init_vga(&op.u.dom0_console,
+				     min(ret * sizeof(char),
+					 sizeof(op.u.dom0_console)),
+				     &boot_params->screen_info);
+	}
 }
 
 void __init mem_map_via_hcall(struct boot_params *boot_params_p)
--- a/arch/x86/xen/vga.c
+++ b/arch/x86/xen/vga.c
@@ -9,10 +9,9 @@
 
 #include "xen-ops.h"
 
-void __init xen_init_vga(const struct dom0_vga_console_info *info, size_t size)
+void __init xen_init_vga(const struct dom0_vga_console_info *info, size_t size,
+			 struct screen_info *screen_info)
 {
-	struct screen_info *screen_info = &boot_params.screen_info;
-
 	/* This is drawn from a dump from vgacon:startup in
 	 * standard Linux. */
 	screen_info->orig_video_mode = 3;
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -108,11 +108,12 @@ static inline void xen_uninit_lock_cpu(i
 
 struct dom0_vga_console_info;
 
-#ifdef CONFIG_XEN_PV_DOM0
-void __init xen_init_vga(const struct dom0_vga_console_info *, size_t size);
+#ifdef CONFIG_XEN_DOM0
+void __init xen_init_vga(const struct dom0_vga_console_info *, size_t size,
+			 struct screen_info *);
 #else
 static inline void __init xen_init_vga(const struct dom0_vga_console_info *info,
-				       size_t size)
+				       size_t size, struct screen_info *si)
 {
 }
 #endif
--- a/include/xen/interface/platform.h
+++ b/include/xen/interface/platform.h
@@ -483,6 +483,8 @@ struct xenpf_symdata {
 };
 DEFINE_GUEST_HANDLE_STRUCT(xenpf_symdata);
 
+#define XENPF_get_dom0_console 64
+
 struct xen_platform_op {
 	uint32_t cmd;
 	uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
@@ -506,6 +508,7 @@ struct xen_platform_op {
 		struct xenpf_mem_hotadd        mem_add;
 		struct xenpf_core_parking      core_parking;
 		struct xenpf_symdata           symdata;
+		struct dom0_vga_console_info   dom0_console;
 		uint8_t                        pad[128];
 	} u;
 };


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 14:56:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 14:56:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509322.784861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbjb2-00046G-EZ; Mon, 13 Mar 2023 14:56:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509322.784861; Mon, 13 Mar 2023 14:56:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbjb2-000469-Bq; Mon, 13 Mar 2023 14:56:20 +0000
Received: by outflank-mailman (input) for mailman id 509322;
 Mon, 13 Mar 2023 14:56: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=Pif0=7F=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pbjb0-000463-KJ
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 14:56: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 70a34862-c1aa-11ed-b457-930f4c7d94ae;
 Mon, 13 Mar 2023 15:22: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 4BFB41FE0A;
 Mon, 13 Mar 2023 14:56:11 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 1E07D13582;
 Mon, 13 Mar 2023 14:56:11 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id vJqGBYs5D2QBWwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 13 Mar 2023 14:56:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70a34862-c1aa-11ed-b457-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678719371; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=b2agE0JCok/7csJcfIX/eUtHsF0vQfk7ZWFqKgMQuSM=;
	b=Q2Z83LJIEybiTdWCk/i9Oh872edGw3Me9kUsDm7LvWULTixZZildtUC01fdpzctT2htd00
	Uo/U9migWiPC0MN0x/fcOwNOOwRYFDPKMQIIam+7rnloSaNmSmZ8ZiO2+FhgaVWf71rjnK
	6lJa+0kkooxMdJEdJ84wC4aqyTXRe6o=
Message-ID: <d0134dc9-8a4d-54b9-6a10-3f4602c8afae@suse.com>
Date: Mon, 13 Mar 2023 15:56:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86/PVH: obtain VGA console info in Dom0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <8f315e92-7bda-c124-71cc-478ab9c5e610@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <8f315e92-7bda-c124-71cc-478ab9c5e610@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------7dQkfSYHmGnc7BYvj5AbcpQF"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------7dQkfSYHmGnc7BYvj5AbcpQF
Content-Type: multipart/mixed; boundary="------------TBOefvrvjzr0ve6KOxGz7jVr";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Message-ID: <d0134dc9-8a4d-54b9-6a10-3f4602c8afae@suse.com>
Subject: Re: [PATCH] x86/PVH: obtain VGA console info in Dom0
References: <8f315e92-7bda-c124-71cc-478ab9c5e610@suse.com>
In-Reply-To: <8f315e92-7bda-c124-71cc-478ab9c5e610@suse.com>

--------------TBOefvrvjzr0ve6KOxGz7jVr
Content-Type: multipart/mixed; boundary="------------ssHXJ57YgblBEdBervDhXC1e"

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

T24gMTMuMDMuMjMgMTU6NDUsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBBIG5ldyBwbGF0Zm9y
bS1vcCB3YXMgYWRkZWQgdG8gWGVuIHRvIGFsbG93IG9idGFpbmluZyB0aGUgc2FtZSBWR0EN
Cj4gY29uc29sZSBpbmZvcm1hdGlvbiBQViBEb20wIGlzIGhhbmRlZC4gSW52b2tlIHRoZSBu
ZXcgZnVuY3Rpb24gYW5kIGhhdmUNCj4gdGhlIG91dHB1dCBkYXRhIHByb2Nlc3NlZCBieSB4
ZW5faW5pdF92Z2EoKS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0Bz
dXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQoNCg==
--------------ssHXJ57YgblBEdBervDhXC1e
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-----

--------------ssHXJ57YgblBEdBervDhXC1e--

--------------TBOefvrvjzr0ve6KOxGz7jVr--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQPOYoFAwAAAAAACgkQsN6d1ii/Ey8m
wQgAjor/sSloK0dAsrS4NLFnEoyaPRMmtbIivBDIHRcDTY6ob20wGXeeUvRTyPFfad9k2+wYQo1j
IWA9iS/tGcakntcLljXaSyqjdSKSzkRO+lyqZlVy1xby9zOFVlhl1Fu6NZzbZhXUK+ClcSsaKhkC
tbVSdy2JsYTzIPQ9yXKBQ2aGLEK+CRT2pcqm/AY0o9LfZ4hraZNfDQg9joYSXoP/EE1KddMgIhec
QM3w3PIVlbgVlbAtdYu97Q/CJzCNM3fTI/PcZnNZrjE4cbSD0FdAhU6wjHYU3Y0ad75xi0QEhJgj
ogrfWUaH6J9TrpkkrSWbB+/HpCvod/aCbevRb5T2SQ==
=/8OJ
-----END PGP SIGNATURE-----

--------------7dQkfSYHmGnc7BYvj5AbcpQF--


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 14:59:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 14:59:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509326.784872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbjdf-0004k3-2U; Mon, 13 Mar 2023 14:59:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509326.784872; Mon, 13 Mar 2023 14: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 1pbjde-0004jw-VG; Mon, 13 Mar 2023 14:59:02 +0000
Received: by outflank-mailman (input) for mailman id 509326;
 Mon, 13 Mar 2023 14:59: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=6L42=7F=invisiblethingslab.com=simon@srs-se1.protection.inumbo.net>)
 id 1pbjdd-0004j2-Nh
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 14:59:02 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d388d827-c1aa-11ed-b457-930f4c7d94ae;
 Mon, 13 Mar 2023 15:24:57 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 40AE63200950
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 10:58:56 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Mon, 13 Mar 2023 10:58:56 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 10:58:54 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d388d827-c1aa-11ed-b457-930f4c7d94ae
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:in-reply-to:message-id:mime-version
	:references:reply-to:sender:subject:subject:to:to; s=fm1; t=
	1678719535; x=1678805935; bh=ekL30hUV11WTmvrfjmLPnt6ofiYJ5JinL7V
	Gv9I9Bt4=; b=bK0tpI+7Ch+vo5s4nFyqmhFt5xKLqKS4eICPeHzHDYeuhRXy6LQ
	SdqjWrNxQbH7KFYlMiDLWHpK3GSK4ELyQquMn9rXaQQQN9wXQB2hmMQokbx8QTdC
	4OA3iL8J043oWuP+ROoyDZ4YtMTo5V1BIUNJYj+qzrQyTORdos82GaLLyyY4nyEF
	hAiakdet3E7GmoldQzmIZ3EORP8oz8qWQWj4jdtyI9YH1FilwdLih1dRziqg4HHH
	/Hl+RuWqdg4mx0qHkAembJG/dvShl7EBQTNyEvKWv7U6eS3Z1/rggdQx+uiwK7TX
	OQuqIL/qAllJmRkyr7J+6YJ6ixT8IuvqEdA==
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: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=fm2; t=1678719535; x=1678805935; bh=ekL30hUV11WTm
	vrfjmLPnt6ofiYJ5JinL7VGv9I9Bt4=; b=avAT7YdAAVT8OCu21kKFTST6ORpIe
	cH8GOk/4daIyJkbLkHW5rLOwpeUVQ9nTvKs9DWIcLDASag9dbDNMoQXTiiNvKnrH
	riyewP/JZZn5jdFlItFVb4tFRbqptCCz+b7tbSPZzFHm4fnng9W8TYUMFDcmwObx
	mAxDEXka/N7UI1T5qFyWqG4b+f0QeAFrnblqnt/4JfdLe96TsnICJUvMB8AzVbQQ
	Q5VzCh6qCy9zWWuEt+KcMF78NATSMkFquLfE1FQhgh0Ab/pfZSARGqJfy1TMQovC
	o+T8g6onjwuT1/bWErfyigje5FnQapxdgxKRyUsw6fAnUGspbw8dyNvow==
X-ME-Sender: <xms:LzoPZJhyhzUnyI2YEDRM1YSdlyjDw0FxOBAQ5FA-K_y11xsKz7gpVg>
    <xme:LzoPZOB2tjeHHoERl04_FCLF6ugSZ7LpSp9X83E36TS-AaDqW_TguxGKY4ES-O7Hk
    eurWnfKDT-RqsY>
X-ME-Received: <xmr:LzoPZJE1XnXJ_hRLc_vXyayiQfN3-ZF8DtvbIjqqGAib4C9KHUIscgdHFneN1w>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvgedgieelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucenucfjughrpefkffgguffhvfhfjggtsehgtderre
    dttdejnecuhfhrohhmpefuihhmohhnucfirghishgvrhcuoehsihhmohhnsehinhhvihhs
    ihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepjeduheevve
    dttdeludfgueevleekveeihfeuvdfhgeetieeiffegudetveduueegnecuffhomhgrihhn
    pehkvghrnhgvlhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmh
    grihhlfhhrohhmpehsihhmohhnsehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtgho
    mh
X-ME-Proxy: <xmx:LzoPZOSAzAEjQK2Z3_Tmqz-96TMgqBkJvStjALuX7xHwVtDlHD1OKQ>
    <xmx:LzoPZGx9U0ZszTKLYnQXDD7H-Q_gyQkoCzohM8FESI2UuBHQwx320w>
    <xmx:LzoPZE4LsrxO-2n2sJ2LcxajC9NXbHUH7eQChSfnDAYZ-S8Rge0WgQ>
    <xmx:LzoPZF-Y6oq-E8FlzjqgnbGQgFKh7oTBfEeQjV2IJoDp20Mt3ov42Q>
Feedback-ID: idc5945a3:Fastmail
Message-ID: <10726811-33d9-94ab-edce-0e8de6d6021a@invisiblethingslab.com>
Date: Mon, 13 Mar 2023 15:59:23 +0100
MIME-Version: 1.0
Subject: Re: S0ix support in Xen
Content-Language: en-US
From: Simon Gaiser <simon@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
References: <9051e484-b128-715a-9253-48af8e47bb9d@invisiblethingslab.com>
In-Reply-To: <9051e484-b128-715a-9253-48af8e47bb9d@invisiblethingslab.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------zHRZCHvdimxymIELgfWJJ5LW"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------zHRZCHvdimxymIELgfWJJ5LW
Content-Type: multipart/mixed; boundary="------------4tMPZ13elEkbQ3FkHkz8eJ5d";
 protected-headers="v1"
From: Simon Gaiser <simon@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Message-ID: <10726811-33d9-94ab-edce-0e8de6d6021a@invisiblethingslab.com>
Subject: Re: S0ix support in Xen
References: <9051e484-b128-715a-9253-48af8e47bb9d@invisiblethingslab.com>
In-Reply-To: <9051e484-b128-715a-9253-48af8e47bb9d@invisiblethingslab.com>

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

Simon Gaiser:
[...]
> On my test system (NUC11TNHi5, Tiger Lake) I haven't seen it reaching
> cstates lower PC7 with Xen (so it can of course not reach S0ix
> residency). With plain Linux I got it working on that system although i=
t
> was rather fiddly and probably something is fishy on the firmware side.=

> After seeing it very occasionally not working under plain Linux I have
> installed a newer firmware version. With that Xen currently doesn't wak=
e
> up after triggering s2idle in dom0. I'm currently looking into that and=

> will follow up if I have more details on that part.

Solved the wakeup issue, see
https://lore.kernel.org/xen-devel/20230313134102.3157-1-simon@invisibleth=
ingslab.com/
(doesn't change the cstate it reaches)

--------------4tMPZ13elEkbQ3FkHkz8eJ5d--

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

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

iQIzBAEBCgAdFiEE3E8ezGzG3N1CTQ//kO9xfO/xly8FAmQPOk0ACgkQkO9xfO/x
ly8wqhAAlE4jvwo1Fhgw+Abe8J+WRIgWwujig3URbu84B2nujZ0KLwygGAlX6yoa
gxB6pAnDJ9ZujFkRt/2GPoc3IaBaB/HbLD/qqX2ThuLwegm4mHJD6BZwf1WQBrmu
aGOMQHwZU6udMloNFRjvUaqqx40ecLnGvBwbJWYLqjwxP8GztEIxIZBsNECbdyde
6BA/EX7YMkkg04y1mUpt1zEJOoUwLSrGPLmN4RJjKOZ0iOpHTpeVBS3lBIq/MsSf
PIuaEaosomyvyAkIWyhDVUf5no5b0x7Q3lJ2j7m16vGvQF7OwX9v/edR7XEbdPaL
pQIqby3CtEKtIuCCzkMnRi+HD306Bpflcn/gTDBKsinM7USxQItBJAa7AQh5Fqgm
rMHZ+h1zuHl60m5K4H2qEeTFYw6Liu8756M24Mc5iXlEG07Cg0wU9ganEwtum3bL
j50TOXXqIEDI+Nth8LvO+lBYCNtDQzUxgBvVi7phyj9tmanw4dD185EKPztAfXY3
K1wZog89K87wqikkD1I9QZlRCTQ6nGJV2XlJoq2Y7rdJMm8Z90qxW4sOiqkEuRVd
Q3iEw4IgkT/nG8dhQy8BPRiNbcA9Vkr93CQO52lY8sL5eB3AnhfteXamaJMfZtk1
w8UEGnjWEOt1jfyQrBfPLn0aPW+4yfaqDmlysKkE/7ArKwfQvCs=
=fcbc
-----END PGP SIGNATURE-----

--------------zHRZCHvdimxymIELgfWJJ5LW--


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 15:55:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 15:55:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509335.784885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbkWU-00032z-D0; Mon, 13 Mar 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 509335.784885; Mon, 13 Mar 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 1pbkWU-00032s-8l; Mon, 13 Mar 2023 15:55:42 +0000
Received: by outflank-mailman (input) for mailman id 509335;
 Mon, 13 Mar 2023 15: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=LnkN=7F=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbkWS-00032m-Qn
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 15:55:41 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20629.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e3c5ecc-c1b7-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 16:55:38 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 PH8PR12MB7422.namprd12.prod.outlook.com (2603:10b6:510:22a::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 15:55:32 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.022; Mon, 13 Mar 2023
 15:55: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: 7e3c5ecc-c1b7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H3YN7GPNIkyDopcf/8X8eO1wUvDmHJPqwVIE6VAP6f579VgnGMLavLM3MbsVbK/P3Q7nIuTyUkuzWbP9mEnCm/K5503gDbU9QL0wy94yMB5P6quNUpFs3Zln3G+lsOE3x5AkotZcDR36jr5lo3NhjuKXO04N4tqUnxrFvgFbDvrBR+jT6Ilpu/FI7iCxd3pp9PQ0bNbgrrInjrnG1f9+7i4p8pxcPai0OyKeZPBGxd7pG7Ze85RGZHEC1yxlYlINt4H/FvQXWY2eQr4ZhuLMtUnZyi5zg6drU34zUeF498BEIc3mCYnB75VIu/MzeAXTYpVCJ2leukkqW7xYZtoHQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QSEz8N7rHEQJu7Dymta3B4w544klpspLeFSIGoWsUsU=;
 b=K3PkN408TmMs6fSIgFxw8xDSpQUezK328QL0X0OoOyfRzBi/h3qpQ25CaLIkrWfPADVrrQVWyAsjqE8r/CPRqeEt+SaHvZ9BA1iYZXPVkU0zfPaxWhZMTHoiJ/jdCNDVCjH8yfjozH+R3isKzj7akDRuj5Z2+WiTysbpN2MnYSXFVs6/HGzK42KS60MZ7V4zOkNRRKvuPDGYqKBK8R9SExC4uQA5vVY6GBXvquF86DAQYumSuikBE/e8uB2uVOJJb2WGhk5J0HJRz221iNqwie6jjkKfkIJDeO6P8IOo3YVKQdtPk7L3R2o1R+Xo0pascUkgpoXM3f+25e9EmvDSvg==
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=QSEz8N7rHEQJu7Dymta3B4w544klpspLeFSIGoWsUsU=;
 b=l1yxnWfQ7B7ovA183T4ep06Hf0KIbRZF/7qtW2+XxvIGfC28G9wIeNwyOIF1EOoj9n+1stT3Jb0UjHiHLIR2RpbsnTFWlOgIb3XH0jS4/nRzZaFOwlhudDtTLfm9hYFXEIZURo7v20HVQYcxqk02uk7CN0IuEZF+OqVn21J/LhQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Mon, 13 Mar 2023 23:55:05 +0800
From: Huang Rui <ray.huang@amd.com>
To: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Robert Beckett <bob.beckett@collabora.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC QEMU PATCH 08/18] virtio-gpu: Initialize Venus
Message-ID: <ZA9HWRYxPUk1OeGe@amd.com>
References: <20230312092244.451465-1-ray.huang@amd.com>
 <20230312092244.451465-9-ray.huang@amd.com>
 <68195782-0309-2f81-7f1f-84a7fe7bb05c@collabora.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <68195782-0309-2f81-7f1f-84a7fe7bb05c@collabora.com>
X-ClientProxiedBy: SG2P153CA0030.APCP153.PROD.OUTLOOK.COM (2603:1096:4:c7::17)
 To DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|PH8PR12MB7422:EE_
X-MS-Office365-Filtering-Correlation-Id: c74ef369-2829-46c6-2852-08db23db5fb6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/lWkIm6/60eX1VQaHd1Nw2v3i6B3ZvPeP9HVN+LGmMYJ68S2BO2uGkub8NXAcnjs2jEnFzhtVxdn2YrJYx2UPDb4kZwjiHTe7iAZ+Xk5HE26ygEvbfrmELAl1yg8tfQh/1HFBbCQZAlXmSCyPKQwUIRwVdWyiL1bSe5n71/dIUEmen06ioZlq4HSIZm3KJlgU1o68Vk0vuglGBMy4pQgzzWxwnLWLVAvHH5FuVNrEO4hVRyJntmYRqi4jnI9LEM5zJ8a/bThMHGa/mnAmSYtjjqbkmzxk8CmOxe3PtokFwGx7r8JihGQDm+W6c5xOPDz8GLzLEhTOD/b2gl3Zs9jiLt+ZvQx3hTAoJlqdvnBm+6y5cJLMEkytuBnxTHA1wFwZDvoLzomyJDHzGX03pAml1QNiohQ0EW4fIbdlsHHxfNJzhK/YTSqOgJPdF9I1osGEeC2X/ieUTwJN8hQKafWKVEf6iosAqCf48SaXAdptaPmnxwCRPB3g+3N894ZSJXk69NwaNwu/xwK9x7any9Y9mqNGLBVFyJjK+zFcn3vIAGNdA1TVlqaD3i0U8MyWerfRm/wga6yGBqJF3W29Pj7UA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(396003)(136003)(376002)(346002)(366004)(451199018)(2906002)(83380400001)(7416002)(5660300002)(36756003)(8936002)(66556008)(66946007)(8676002)(41300700001)(6916009)(54906003)(66476007)(4326008)(38100700002)(86362001)(316002)(478600001)(2616005)(186003)(53546011)(6666004)(6506007)(26005)(6512007)(6486002)(966005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?7D+c2ZxUskADfZXksNKJpUQr4S/PkXjnMpNlyG5PpqG3vw+TcKSpxn12rvlu?=
 =?us-ascii?Q?4cycLU7r8GDSCNN8UfZLb8RwrbUOGVJn4oFqe39EUdKFCO4sALvhxv9Txb6b?=
 =?us-ascii?Q?vEbm6jtb5fb8n97pQwLM6b2KJ+fLR307ueaScn8xREyOmYSnMndwPV3q/nDE?=
 =?us-ascii?Q?zbDOT0Ow3/COX7gYJwnc5R+0aGwH4YuvN4S1WVMmVKz2Di/UkU/sKxD6PC+x?=
 =?us-ascii?Q?sM25Yo8ijPbgvl7kiNMBocmGeqWRKBan3WNu6O1Fm7lEA3569Bot0yyvgCo0?=
 =?us-ascii?Q?olBrL7SvaciX/oLJYMJcYUcw7/p4NKZuNZM91EYPssED3gV4sHaDjBasdqrT?=
 =?us-ascii?Q?KrmTgp5hWeNC7mo1vlK6Uz+Vt472gH4CiCHycjR8ImcgoZJNbcYtB8RaeO7k?=
 =?us-ascii?Q?+U8PoG1Q69+lQf0c+zKze4Y6WLe5zLni8/J85r1uJcjcSsaH+iFTCf8QxQlr?=
 =?us-ascii?Q?ZpODkk8xVZAp+YM/rWGbD9kqSrotvF6/ybPq+3KnUKyVIJ0R1+9/WXjp7cua?=
 =?us-ascii?Q?fulfuV/PKmlaNJY8oGr93ci74FVewPWHORErQqjfl61yis9loaX98bE2W7dQ?=
 =?us-ascii?Q?ZKQosz2ZsfrpWanfzS1PC02aPMeapeASoVFjzHen2xsAlgANKCtTExQS6/3v?=
 =?us-ascii?Q?I+fzPk7C1MOp3Y5Jf/l3ONcGEzUsaP904IvCwFGgDwe7JtYRy0IFHbpoG71I?=
 =?us-ascii?Q?vRTc8zlTYd6WzmnBayqoldd2EJtiC+j6eqGZkHQYK1aQ97uocH37/ySkWkKc?=
 =?us-ascii?Q?claJlOJiMQzGswK+pPnI+dvAzrqUYae8mrUExF+qXqEU7pucUFoV2YDqvU9c?=
 =?us-ascii?Q?S7FdD8hbVXiUaclfeSTo4KfpMSXMEx0+TQmmpwTwFZIqUY9YgYYYRXZkZxim?=
 =?us-ascii?Q?8ot8ld8qlJcdJS5QDk1WO+2EwwHcLnq/YoDkSn2gSFCKhX5imhwt9Ifjhjxr?=
 =?us-ascii?Q?egONBTBFEGgFF6QDKr1ym6SdtqRhKpTOw9kuz7luxa6DYTkBXWTyQWkpFkBN?=
 =?us-ascii?Q?ZNU/ywLPtqDCW3FmPhWii0NR6iBrv7/QsamNr+NS8hlNnv+aqTMxMT6Bzjns?=
 =?us-ascii?Q?CsOplrY1+3T8SamzMmLLme+PX+wq5c6I7dcnqHB4Osuca2co4zyScOddv2Kx?=
 =?us-ascii?Q?NcwfeAVgj+0o54oN5qnWU4PlJceCaqrr24FCuo1ROIZ1MZv1lgNgoJD4YcMp?=
 =?us-ascii?Q?E77jnN5lO5EDPVYbwjK35T88M6Uf4UlBfOkkpFRUJEpy+APLABkKw/iEcwBB?=
 =?us-ascii?Q?De1Zy0KgLZ09o1B3x5rJAi7OtTZIS1E8ykDc2XPmvOeZBuJVE5RBjau9KiZn?=
 =?us-ascii?Q?R7vj0sU+yMiB7+JPhlOaJGMpO0y+3dIk+vCebD1bLi2+A7E9505XT/acO0+H?=
 =?us-ascii?Q?WKMybfvVGd1L+cJ4BJ1Mt8WFEgk82/JOpTZmQ7vOXw5X739eMzvBcZOAcZUs?=
 =?us-ascii?Q?QY4amLnfbfGLO85xUEbv482QGGuiSc8VObnRGx/qZ2Sc+WnqBcKxIODf0rdX?=
 =?us-ascii?Q?NXELu3cCTQ6w+22SZ+hM3gwxkuFhSHUeoZaGGuGXcH7Gg5vMYAbgteoB3eGs?=
 =?us-ascii?Q?c/WH0HiIWy4FsS/4IsttIJm7Ek4xP1LAiRn+75cB?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c74ef369-2829-46c6-2852-08db23db5fb6
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 15:55:31.8483
 (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: R7H/CuKn7cwZIqf4HHWOUuFRbs0m5OE7HIJgVDo5IUMr9j0xsqFk/7lTbu4PI1BeHJjBsILsSCXSABRcDVGKvQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7422

On Mon, Mar 13, 2023 at 01:51:03AM +0800, Dmitry Osipenko wrote:
> On 3/12/23 12:22, Huang Rui wrote:
> > From: Antonio Caggiano <antonio.caggiano@collabora.com>
> > 
> > Request Venus when initializing VirGL.
> > 
> > Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
> > ---
> >  hw/display/virtio-gpu-virgl.c | 4 ++++
> >  1 file changed, 4 insertions(+)
> > 
> > diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
> > index fe03dc916f..f5ce206b93 100644
> > --- a/hw/display/virtio-gpu-virgl.c
> > +++ b/hw/display/virtio-gpu-virgl.c
> > @@ -803,7 +803,11 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
> >  {
> >      int ret;
> >  
> > +#ifdef VIRGL_RENDERER_VENUS
> > +    ret = virgl_renderer_init(g, VIRGL_RENDERER_VENUS, &virtio_gpu_3d_cbs);
> > +#else
> >      ret = virgl_renderer_init(g, 0, &virtio_gpu_3d_cbs);
> > +#endif
> 
> Note that Venus now requires VIRGL_RENDERER_RENDER_SERVER flag to be
> set. Please test the patches with the latest virglrenderer and etc.
> 
> The #ifdef also doesn't allow adding new flags, it should look like:
> 
> #ifdef VIRGL_RENDERER_VENUS
>     flags |= VIRGL_RENDERER_RENDER_SERVER;
> #endif
> 
>     ret = virgl_renderer_init(g, flags, &virtio_gpu_3d_cbs);

In fact, we have rebased to the latest virglrenderer:

We check both VIRGL_RENDERER_RENDER_SERVER or VIRGL_RENDERER_VENUS in
virglrenderer, alternative of them works.

https://gitlab.freedesktop.org/rui/virglrenderer/-/commit/c1322a8a84379b1ef7939f56c6761b0114716f45

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 15:57:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 15:57:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509337.784895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbkYQ-0003a5-NI; Mon, 13 Mar 2023 15:57:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509337.784895; Mon, 13 Mar 2023 15: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 1pbkYQ-0003Zy-KZ; Mon, 13 Mar 2023 15:57:42 +0000
Received: by outflank-mailman (input) for mailman id 509337;
 Mon, 13 Mar 2023 15: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=LnkN=7F=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pbkYP-0003Zr-IC
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 15:57:41 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20603.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c72243a8-c1b7-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 16:57:40 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 CH2PR12MB5001.namprd12.prod.outlook.com (2603:10b6:610:61::18) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.24; Mon, 13 Mar 2023 15:57:35 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.022; Mon, 13 Mar 2023
 15:57: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: c72243a8-c1b7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LOOr8buJClWzMRvizM8nlA3R6FjVDrQpQnZIktkvYpQ8mCnKjgpbQNrbZlgZu5/6i4wz3Nl8Lfs61hTGZ/jQQOqrkEUvPUxK4s9EhrCVMCUwcq2SHMrCXyb1zfThXO7lMrrNkRHgfBHRewy4VCxGJHDKarh3VOHn6G5hH7YMf4ecMIoZdJZv9YqQ3XBCyuI6LhM9ex2IA6n7H4HIJSggEIK38oo+H8SYJ05HvIxoECPa/SHDdyjGVWGSJDJFgthIRz83tW0Mk43lK/xgIqY6B4oxGet3BiNMP5PsCezC3OF2mOMllzdCYk49k1qKR6M+KoReEmw54PhteZyoBapDvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bthr1QWPFMEqeEDh/KBoh+yxNrZXBaalAi4REG9k+To=;
 b=GUQOJdF4fZ7B8/hcJL/I+7A8dFtSDs5laUhtLKOpeLT6tU89lyN+BSltV3uxxBhJ8FNS3XnPt3iAnC8dYRgdngEFkI1siWpzOrHGEe9sd2fMcFlfcs1gwrUy+v1+W2JbO1C4JBEdPIM8ELeSJBDq5mSmXZVfnL+QetgPVnwDLBpsq2WffPcca4kPCSNcwafcIwP0pm01ZT7U4j3Hn3rZmDJO7uFZC9XbNiQbunQ4KsUTJDZFi9+TzJwaffDS7mz8b5Nz+UsYkcHwRPwJVm1PnU3uYNA2b2cO5Xk72PlKp0lqM9QUU2hi1EMfanMAQiBIsDmL6Cfs+W5eX/hdc9xavA==
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=Bthr1QWPFMEqeEDh/KBoh+yxNrZXBaalAi4REG9k+To=;
 b=RonlFwTGhLWJoIFEmyTjeIL31IxdmFI5TXQBOhq3xJ0jy5rCkuS1rIG6p7MbcscdvAldY7ZPV96PU3lwpnHLVftmrlEDuWbQs8MqGhc4IZB7rii6trgiBs3MY1dYfRbMwtg4qzXB9kyCe17wGVYPD865/zGBolm0F7mO5x6n45s=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Mon, 13 Mar 2023 23:57:09 +0800
From: Huang Rui <ray.huang@amd.com>
To: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Robert Beckett <bob.beckett@collabora.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC QEMU PATCH 08/18] virtio-gpu: Initialize Venus
Message-ID: <ZA9H1TtNTiPEj130@amd.com>
References: <20230312092244.451465-1-ray.huang@amd.com>
 <20230312092244.451465-9-ray.huang@amd.com>
 <68195782-0309-2f81-7f1f-84a7fe7bb05c@collabora.com>
 <d6f31fd0-bc04-79a5-266b-5e6ba7bf2a03@collabora.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <d6f31fd0-bc04-79a5-266b-5e6ba7bf2a03@collabora.com>
X-ClientProxiedBy: SG2PR02CA0037.apcprd02.prod.outlook.com
 (2603:1096:3:18::25) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|CH2PR12MB5001:EE_
X-MS-Office365-Filtering-Correlation-Id: a7c66f17-0fdc-4ad4-33f4-08db23dba9ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ews51hkgbGsIyA9wHIv53MzFWxxjoxwz+SbcBp57AdkoW1IKiCGhnMEQ1E67Sa77whd8AqUy9MofT3ynem1WKQ2KvrmcHkBKOEjvYRGXS6Na6A/vHn+++Dc93xTNAtoVlj5HI4WmbVxhQ/7o7pZuoJe6EDuCh2HHJNXf+7jbCxFb79erpWcJ4NuhMFNUwjS1+geaBWY22vXqDQPvzwyiUaLmB3Iu3K31EoOOFDPjtFzEr2/w0IA9wSOy726EW8HbcEu05/Y7GxNNUq58AkzujE5qXTPy7VJ41r8K6tTXf7qa9ZPqEwscOx10+rqSvj1Ky/BEHAYdhaZDGcELVFUQuT2aGEF9NIlmmUaTR3fkNiBed4ENhK3UE260BnW/RB5qsik3KaiQKjYbF3FPeCqmK+xiJ2IvZVkqzgOiXdCZZTy+rD9cW+vREmI9lFYTByNjbqxKfulHyfpWEHo57GYsl+Pa0KX/+GsOlUknkwGN+oeZALTY/mASpsVV42u+ELMvtzem7biJAcaKZvTg3O1Y2XZvKvAHM2KK5pDMMelyXkHH+H2XjgsWJ9tGP0M8FYCL/Ae7VddF3hgi+Vj1cH4FY/LkHHjIQnc0BZ/pxpVowrc/SE3sV8w8c2pL24vbxAnT
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(346002)(396003)(376002)(39860400002)(136003)(451199018)(41300700001)(54906003)(478600001)(8676002)(4326008)(66556008)(66476007)(66946007)(8936002)(6916009)(36756003)(86362001)(38100700002)(26005)(53546011)(6512007)(966005)(6486002)(6666004)(186003)(5660300002)(7416002)(2906002)(316002)(6506007)(83380400001)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?lec8PC7VQ1zBZ4Jul/ISAM9lhC9H/xcyVA13B1UHAJDWr3guis7kdC8BGLoJ?=
 =?us-ascii?Q?K4mawDAtOWBU/KTHwzr1Rjvarm2OkIxbMvP++D9RexRddpnUlY9eO3MSuxAM?=
 =?us-ascii?Q?tE9RfbufraSoyQ2fGqmbbY7caDL2DNUqrKDF73kXkBypd+HcIsXz3rriwOYV?=
 =?us-ascii?Q?Cd7p7YLGhFRQu8Fvr3vP9ikIYNVx+Twj/HPL1TO266X5OFOYYykGGxEzlcE3?=
 =?us-ascii?Q?x099wZ/YovgQogFxAx7ixpW0a4TIIIpknMJIIGipxSNpsEwZo6GAc5aFebgJ?=
 =?us-ascii?Q?jAqMbAgjLvFsOapbst/uEYWhm5x94vQQUae6P3pSfPjBYCG6Jo1iR3Fo7UNU?=
 =?us-ascii?Q?RGBFOSxsdUmkXKOSmGKFXxHA2ZtACTuH6fSDuLvfzkW5pT/JNPXVhVVVOvNc?=
 =?us-ascii?Q?7I9wKtjkkOk5X1TC97XSMqn2JVXjVmEc//oPx7mZC9Dn7pNFifvbLRgbfAIv?=
 =?us-ascii?Q?2AWkUzYaDItKydKsOpPdrc8xdOdryh9yvYwe4L2Mr3fNhvQa4L9WOb1wk0JR?=
 =?us-ascii?Q?/GVldr6W3u4flZ8Hbefuya6Nbts3jZIR25KKoiUSndKM0+FVYMXQoUj7gutr?=
 =?us-ascii?Q?/k7wiJr2xQFFJ/Awu0LyKzz/4fe/kKo7Jsgi8iA0DI/xLzog55XZaPvmtgps?=
 =?us-ascii?Q?0T21Ga55KsGRk3RDqqJDWISombYKcvFw0Rm+XZ+KKIGwy4M6EtQw4DxXljgq?=
 =?us-ascii?Q?B7pQvL0LqjCf0sPXB2KmTOrgsKlB6EKfwKi2CJz77L8H+WeaeGju8/23c71S?=
 =?us-ascii?Q?3nSoPoqXBS99IejVYPJL5ySumxMWt3G3vsWmbVlyqSDLncfRGDPdNzq0tifW?=
 =?us-ascii?Q?i/LF94D/4W7X3zVsPi99ET+oFdhNCsW8EM9vQ57nfhVnZ/DXGtkHMZCQu6oO?=
 =?us-ascii?Q?xXD2KvAwvThpZ3KaIWL1b5eqjjiAUC2HoGW7WqhEBq4xjq0rNKX42olWT5oG?=
 =?us-ascii?Q?mC7sNmwDWhJ4uMydAK3nw8if4VZpak4kMTAMgygaNS2L/khL8SY+VDMxikBT?=
 =?us-ascii?Q?p/WDStPL+i7GaA6vw+HLSL/wvt8yMNqTYeGJwTjQKhxUBvueRruVzj39hc5Y?=
 =?us-ascii?Q?5iw1wBtVqSTy9v7wqmpXmk04PvVnyCwap3Mwx3imGgVmta8X/dgs6nhC5Td4?=
 =?us-ascii?Q?Q4lBruRvLCz5+0pMyCpEyNfJorX6YZrvwqikxWWf1VWTYVAB1owN78hfcuGj?=
 =?us-ascii?Q?QHby9QA6VQjIiKAsD+z8rzkTqcPuai8r/LLtWbWcO1zf4R+XFV9LuPXfX/+t?=
 =?us-ascii?Q?V+Gr1LRqQGGs6N7HqrAm3yNETxL7r9FIsoKDoQXVR3eGBAp/06vC23MVbfdF?=
 =?us-ascii?Q?SfgFOaAL1MiP6pjDdDRDUpafAOpmi2qTfG6sxWIKxbfsoZKaKxhY7wrTMKbg?=
 =?us-ascii?Q?69gEO81DJ4gk+yTitNW/kGSw9WL6zqB4/000CormDylqzcf9it2bq5ACfYQt?=
 =?us-ascii?Q?BeNmJijxMTziWmp8E1rQeCsBKUC9JhrWBXiJVL8da6B1IWrTBnsVPUE9DvdM?=
 =?us-ascii?Q?8ACkszZIyi01evGIE1opXZPM4aPQFr93vK0whwmGOToYlrJ6ebYA9gkJkdLg?=
 =?us-ascii?Q?wdXPUYQSwKTJu+eUTImEXDxiTTvz02a8mPlCa0fE?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a7c66f17-0fdc-4ad4-33f4-08db23dba9ac
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 15:57:35.5908
 (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: +uI52VvInu/hbxHLYI1Gx1H5YDvSUiLAdY9tOQTnPq5h3X4NDGbg2+/QhaAOh02/NsB/a+sm3wDN5t14B8NLYQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB5001

On Mon, Mar 13, 2023 at 10:22:24AM +0800, Dmitry Osipenko wrote:
> On 3/12/23 20:51, Dmitry Osipenko wrote:
> > On 3/12/23 12:22, Huang Rui wrote:
> >> From: Antonio Caggiano <antonio.caggiano@collabora.com>
> >>
> >> Request Venus when initializing VirGL.
> >>
> >> Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
> >> ---
> >>  hw/display/virtio-gpu-virgl.c | 4 ++++
> >>  1 file changed, 4 insertions(+)
> >>
> >> diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
> >> index fe03dc916f..f5ce206b93 100644
> >> --- a/hw/display/virtio-gpu-virgl.c
> >> +++ b/hw/display/virtio-gpu-virgl.c
> >> @@ -803,7 +803,11 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
> >>  {
> >>      int ret;
> >>  
> >> +#ifdef VIRGL_RENDERER_VENUS
> >> +    ret = virgl_renderer_init(g, VIRGL_RENDERER_VENUS, &virtio_gpu_3d_cbs);
> >> +#else
> >>      ret = virgl_renderer_init(g, 0, &virtio_gpu_3d_cbs);
> >> +#endif
> > 
> > Note that Venus now requires VIRGL_RENDERER_RENDER_SERVER flag to be
> > set. Please test the patches with the latest virglrenderer and etc.
> > 
> > The #ifdef also doesn't allow adding new flags, it should look like:
> > 
> > #ifdef VIRGL_RENDERER_VENUS
> >     flags |= VIRGL_RENDERER_RENDER_SERVER;
> > #endif
> > 
> >     ret = virgl_renderer_init(g, flags, &virtio_gpu_3d_cbs);
> > 
> 
> BTW, Alex reviewed the Venus v3 patches a month ago [1] and the review
> comments need to be addressed. AFAICS, you're actually using the very
> old Venus patches here that stopped working about a year ago, so again
> you're using a very outdated virglrenderer version.
> 
> Please take it all into account if you'll beat me to posting the next
> version of Venus patches ;)
> 
> [1]
> https://lore.kernel.org/qemu-devel/20220926142422.22325-1-antonio.caggiano@collabora.com/
> 

Thanks Dmitry point it out, I will use the latest v3 patches, and try to
address the comments in next version. :-)

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 16:16:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 16:16:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509340.784907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbkpp-0006jd-6D; Mon, 13 Mar 2023 16:15:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509340.784907; Mon, 13 Mar 2023 16:15: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 1pbkpp-0006jW-3f; Mon, 13 Mar 2023 16:15:41 +0000
Received: by outflank-mailman (input) for mailman id 509340;
 Mon, 13 Mar 2023 16:15:40 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbkpo-0006jQ-IM
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 16:15:40 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2060f.outbound.protection.outlook.com
 [2a01:111:f400:fe13::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ba186a4c-c1b4-11ed-b45f-930f4c7d94ae;
 Mon, 13 Mar 2023 16:35:48 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9434.eurprd04.prod.outlook.com (2603:10a6:20b:4ea::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 16:15:34 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 16:15:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba186a4c-c1b4-11ed-b45f-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DaZqK2pvmHDUUTVH2oRib8F2qtzU2Gu0IrhGLzCna3LAZIQ4K1kJmfFtuwIbBYFEwYSTy8osHd5ikV1vlrN5clyBZAMd8d89q3vIm51vGliLXfSLRrIzoO2lWLAJAqBZgr99Wif0lddq6X43W1nQmiAlKje1AeQkUwyISXpRK7w2pDdvSwbJPr0VLXjGOQNL6FIoCU4xWaS4NGPrq+EqrFNmwxO8NgNiQeHbRzoCmxF/rtLWzjyxcoG3C8eqv+s4X7t06ljNh+LXjvLHSnnHg/FZmn34XtYx9cf4FG5Ektrc+GK02S4t3iFMkX8icNPOjy42ww13/tG8ug86Ac4InQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=H8ayyE/TOhRdwhKKcF4iK01e8s/A1foQtZEUI6plLkw=;
 b=mj1UuQfnyJADGq4iEbvUb3Rl8hrP3sMWVWXVMWePdm7lwtuHX/lHtQwW5tJC082auVdkFLmXLeTymcZYDDzEenMBKdWmLPeLwmOXtIBcY/xy0EWtvPz7H6xZ8ib4TM32ALXIMRHt3iA+1y+la36me6dU2IOXKMEn3u6P7kgRIc6wswCAqTLoE3cPKWzDKxTOwLImWC+JiWGTEFvBP3HXzyHeYOHvzNNmVgREJ6nG97K8gmPGLzvE8Tzibf91bskQbtPBt+wICDWmlAKkbiryvH/kaEjEuz/abJpGJY+pif2axBR1fj7Fc2HKuyG9jEHUhPodTSojUgzMBtf2NmKs5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=H8ayyE/TOhRdwhKKcF4iK01e8s/A1foQtZEUI6plLkw=;
 b=pBSRAqO6COKqe0he2uDwHvhcvf1swdw/Yj0aQCN2L2ct4N9Lw+G2adcP0CT15WRHT7tzoEAXenvnaQp0zc9bIOqhj2G0k/0lZ4D2dcTdgZJy9/yx8sErkUkPdsp0p7PDrwq4Q52w7TGZXn6MjeH563vj+vPkQvqURF33x0uprHJ+tqutQzrlBJ6pv2/IKT8bAhE9vJL+OBPB97FWi2E4LRsKT3b5EpIPxKOSKbjP2EPj5HmDaqMfF1g7arUrz/hI4mYc0ejUFCBav36HnPJKotF3T9GO+5mkHsNUpXDdeZ5C7S3R3s0ltA1sQ4UCOQOollitULYcjBaBjsYsaaSZYw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8b258946-4fe4-b988-ac25-a99ae1f06806@suse.com>
Date: Mon, 13 Mar 2023 17:15:32 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN PATCH] x86/monitor: Add new monitor event to catch I/O
 instructions
Content-Language: en-US
To: Tamas K Lengyel <tamas@tklengyel.com>,
 Dmitry Isaykin <isaikin-dmitry@yandex.ru>
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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Anton Belousov <abelousov@ptsecurity.com>
References: <3f577545b8ee6846ff98c4411cdc96dfe1412b3e.1678505295.git.isaikin-dmitry@yandex.ru>
 <CABfawhn0+XuByYGM-rAkQy+XL9E4aNiBDfE5irOzvRVesuKMjg@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CABfawhn0+XuByYGM-rAkQy+XL9E4aNiBDfE5irOzvRVesuKMjg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FRYP281CA0006.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::16)
 To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS4PR04MB9434:EE_
X-MS-Office365-Filtering-Correlation-Id: 9ce1104a-f075-48bb-97d4-08db23de2c90
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:
	F3F0CEZ0wx9J4OnMNMgPAKn9xQyTDOG0NMCSjfVLy1HVCz+eoJqZP+hJP/Z5LdoOiho727ofH+C7q/cO7jJvH8pmKi9OYeEcW55oVTU2J4vWbARkWoJnPuCZ2iF6osjRj5TtrHSoUdWUa2tcOF8qMQZnLhnFcCkZvJsJJxDaLWiL6reSRZDt/c3Z8fHOSvK4JM8JUbDXjAOesU5a42rC8AKcALMQQifTW6yZgO3rA/RYoSndmPkPtfXDSBXT4YFzy3rmbCjMLHLhlok04sl3XK6mSMen5r3Zx6Bo6TiSeiGMQpJASHBNqY6/lOAp/7wIDWTFHPcv7HYAoRLD1ufn7wvpc8X0YA2RG95rMQZZBYNUyLoMd/0RTUcaoWucrLfL4VtTzVVgPlSKa2pAIqtrfLffG3YDJhvUBP4PM9l7IqG17lDVqTbmSwN0yHzbIou9jRirF8kMVTIOu05h08G71hif1psC11ZGfoHEFsAwgJZpXOtm4ANVSaKDmHfPzTPIk/vxQ0EdTZPrMVWS4BzAZscy580s9M0apNqKf95jQFzL8HGiLqwwuMz81eEIBQcd96/SL+TrHWXUSc84KFeGJhFgYM3NbysQ2DQ2OXRoFTNexRVn5aJBclT4j2B06hM4WcyMBSpv0tfJjek/HJpkoVxLxN2VHQqbPW1y1YfFVuUoQoOhxS/V+RvbVlvMerpD6EyT7jdkowNcTAqPTmYtNkWtdXXgKM/7yewLls5hj4jXd8MZoLSzXKdbSPM5WhpvpFQOfl6iQozBgg9+r4RqyQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(136003)(376002)(39860400002)(396003)(366004)(451199018)(2616005)(7416002)(186003)(31686004)(53546011)(6512007)(6506007)(26005)(8936002)(38100700002)(5660300002)(6486002)(8676002)(66556008)(4326008)(66476007)(2906002)(41300700001)(478600001)(316002)(36756003)(31696002)(66946007)(110136005)(86362001)(54906003)(23180200003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aVgxbldMdy9VSDE0NHpseDhYQVh4K1p1QXp6b2FXSlc3TE1Iby9IbTdXa3Er?=
 =?utf-8?B?cVlDcUlndU40clppakxEb1lXZFN2RlZZK0VrT1hhWG1rT2lPMUxxYWY4eXUy?=
 =?utf-8?B?NW02cnhoTFR0WmdzM0xRbFUwQnJJS3B4M2JBVk1YckNrN1l5QnIxZTN1RWlR?=
 =?utf-8?B?YXQ4N01zdU8yUWFwS0VaTG9LVHd5cnMxeDhWb3VHN2VlWVNndWlhTEpzRGJQ?=
 =?utf-8?B?Ykh1bDZCa3Q3ZVhMRFZuNy94Qm1aVlBMVFFHQVZlRXc2UllDVWVzYjFuZFd2?=
 =?utf-8?B?K2hDb0h4RGFiNHhiQjlHUTNwYXVYeTNMdVRTM0k0bWtqWHk3UUpDNXFrVW5q?=
 =?utf-8?B?UGRiaFU3Y2lteWdpczlTQTF4Q2IzQ00vWW01TUErN0QrOWt6NlJsOVgwaXlV?=
 =?utf-8?B?QUl5TlV6NlpHL01wSWxKUlBjQTFiRGVWclgvenJnY0kwbGoyNHlHaENrNTNz?=
 =?utf-8?B?SHJybCt6R3g3QVhDc0FjZk9ITVN6eDU2eFU3L2RlaHBENHQxV1hGdXRhSmpU?=
 =?utf-8?B?UWZra3I4bGp1THNUNC84YS9ONEtGZ1BsdHIwSkEzMitTUzRQS0l3eE9pQjNB?=
 =?utf-8?B?ditXZndZT0Vaekh4T005MHRKQ0lDZVJMclQ4REVyK2tNUExlU3Q3bHl6UEJK?=
 =?utf-8?B?V3daeTd6eTdVTncwRjdpbElGbStZcmNwbFZNLzdkcVhmVEtpYUJsZXJUVGU1?=
 =?utf-8?B?S3UvbFNCbFR2eWt6WG84N3JZbXlBUnNwM25Ua1RkK0RPbGpIVk4remJyRDZU?=
 =?utf-8?B?THRWZDcxRnl3Q294OEp6Y3N5RFQ3RUpXZy9VVnVJQ0xUOFR6MVZGRUdZTnVT?=
 =?utf-8?B?VHg2d2g0V2ZKSjJlZlBKdk5JT2d2RnNZT0xlM29oV003SHJZSzRKR0NaaTdE?=
 =?utf-8?B?V3JmajZES0ViZkxjb1JOY3JUL285TUk2eVdjeVcxajlWTUtiS1ZOMGtFdzRR?=
 =?utf-8?B?RWtLQlZMQWh4Q0hyOGZSTWZmME5QblpPOEg1NEQrMTdFd1BhZFlmeVlIeEZm?=
 =?utf-8?B?cnUyNHF0NlpFMk5sWFZzKzdmaGJFeXMxckN4Q1pYcm94NTBUNXZqWFFmbUNm?=
 =?utf-8?B?a3hPNCs0cTJFd1M1bExJTmEwOVJjdmFmdXlmbFBjdktUVktJVjNyMTgzVGRW?=
 =?utf-8?B?TDFkeVlPcEdQUFg1K0l6Um1lSkQrRjZEWFJuS1lDdmEvOTJVcldtQkVRaTF2?=
 =?utf-8?B?L3M5c3djTEpWR3BHL3YxNkJMTEpZdGkxVGY2VVNrZlhVUkM3azNEVVROZWdz?=
 =?utf-8?B?Wk9SazNjQUdQZ3Yrby9hTWdnNmRXVWJJWmpMK0EwL2hEcXMxRk1wYlVraTZH?=
 =?utf-8?B?RFV5cEZDSzN0ZEUxQmtWa053MHNjK2VuaGRFcytlalZHVXBlVEhjMzhHSXgr?=
 =?utf-8?B?RzRZM200NjZrWmx2SjBIRUo4MHMvcEM0VEI3bzI4TFZaK05NK2NIR05mbFRQ?=
 =?utf-8?B?Yk9GUldTU3RqRFdXUVVySWFyYXp6YUl6WUlHNGV2WnNoenNRUjRTVnA1d2tq?=
 =?utf-8?B?QnY2NjhPSmRLWUREOW9KMmlMNnd0Ymx5K3JKcTZNdjRUMzd6ZVVjWVY5Q0wz?=
 =?utf-8?B?R2NFMEFreUR0L3RSOEF1QkNrWEpGeUF3aVYrYUJnT21XZHJTdGRFa0N6b2dv?=
 =?utf-8?B?UnhiUTd1MGZLNzgrS3lYdytTeEhhUHdVdVBnVDg2NjVuUk9mSlhWR0h5bzFs?=
 =?utf-8?B?YnNmeFlXeExqdmZBV2dMMFJ0UWtzcHVlZjRCcUJLSm1jNzByRVpjb1hhd3Bq?=
 =?utf-8?B?UG5yZ29xckN0T25OYXFtS1FxUkJHMnVNeWNQS2tQRlh0L0JLR2tNYzV0WGhR?=
 =?utf-8?B?L2E1eXJMMFUrWHZUYkNxb1RhenZ6ZGNkaU00MlErUzR1R25sMExxaXNqc0xo?=
 =?utf-8?B?TFlYcVQxWTZBMjljd0c2LzA4OWQwcmRlK1E3TDhsSEExdUIzVG5GbG5JcDh4?=
 =?utf-8?B?WVkvekpzK0hSN1FweldZS1oybDRmZ1Y5SmpYUCtSRWNhejJtcmRJcC82bkRp?=
 =?utf-8?B?VGVGTUc2RGFpYktXZFdxRXgxYzk0YnhDL3VQL2JsbHJDODkzR2xPaFA2dUc5?=
 =?utf-8?B?bU1kdEJHNUlJNks2QTFGMTc5WmpSdkc0M2ZzMVJuU0VobWlnTzNnRWJxSUxW?=
 =?utf-8?Q?cH81/aYy9Yeyt7WjVZgmwMnPH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9ce1104a-f075-48bb-97d4-08db23de2c90
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 16:15:34.2316
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3ESBCJPiZ/lLWDiancNOY8VDj8Icx3xUI35UMJea0kzBw/PAKIPMhuwxuPfZkCjTFeRuGvffelS32Pqbk2gPSQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9434

On 11.03.2023 15:50, Tamas K Lengyel wrote:
> On Fri, Mar 10, 2023 at 10:57 PM Dmitry Isaykin <isaikin-dmitry@yandex.ru>
>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -4579,6 +4579,8 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>>              uint16_t port = (exit_qualification >> 16) & 0xFFFF;
>>              int bytes = (exit_qualification & 0x07) + 1;
>>              int dir = (exit_qualification & 0x08) ? IOREQ_READ :
> IOREQ_WRITE;
>> +            int str_ins = (exit_qualification & 0x10) ? 1 : 0;
> 
> You are already in a branch here where str_ins is checked and known to be 1.

0 that is, i.e. only non-string insns would presently be reported.

Dmitry, you also want to make this variable and the corresponding function
parameters "bool". Unless of course they need changing anyway to e.g.
communicate the address of the data (as also indicated by Andrew).

>> +            hvm_io_instruction_intercept(port, dir, bytes, str_ins);
> 
> IMHO you should have this intercept be called outside the if-else. The
> function already kind-of indicates str_ins is an input yet right now only
> called when it's 1.

I agree. Question is, as above, what further data may need supplying to
the monitor agent to make the intercept useful. Merely %rsi / %rdi as
Andrew suggested may not suffice, as especially outside of 64-bit mode
the involved segment base may be non-zero.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 16:26:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 16:26:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509344.784918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbl0W-0008O8-AU; Mon, 13 Mar 2023 16:26:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509344.784918; Mon, 13 Mar 2023 16: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 1pbl0W-0008O1-7i; Mon, 13 Mar 2023 16:26:44 +0000
Received: by outflank-mailman (input) for mailman id 509344;
 Mon, 13 Mar 2023 16:26:43 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbl0V-0008Nv-BF
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 16:26:43 +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 d57adc66-c1bb-11ed-b45f-930f4c7d94ae;
 Mon, 13 Mar 2023 17:26:40 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.24; Mon, 13 Mar
 2023 16:26:39 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 16:26: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: d57adc66-c1bb-11ed-b45f-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Vx2OgP+xfNQDlJm4S/c719gaJARmf4k/q5fg9+Q/U4aYH2y+J7ZshN+EqpMgPuYg+qqWqGApV6u4qczJSdNGpxdawk8R/pLwy3ay0o9bYbEEyRmlo4ViYXbh0FyenEzxAQ7lWyyDrImirXgHy9H22YzRw5MH/uQgY4AXJwsWKcYzcq/8E1RCIEPFtKJzvDE4fQtaawv2Sig2+O2lanDcT9AKZ7SFdxtvUu0VF5c7Hg5TfRnwBc5OU75k1x3jzQ5juX51gtSIFBeAcHMNq81tRPXgpVmPzm/+opNhBkspV2uQEbg+l+qtfqflguHmQOlT5GdeifTQD3YkWi5DR8PiTw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G2vus6BNRVFckuwcSlznto5IidHqjeDrezO/nwXOVxQ=;
 b=dXT9wmATUiF9CKKq56OXQYc6cqHX84H0W1NGYvRLhchK+DcAKsldecthKECX/lhwDxQGzFWC3aSK+MCvyXITYvol8OVA/mhirfe7n/3ZqKRGlwaUQ6kFrPrg2HPdCoCAqA/k+WlPt8gp+ZQWyJ+rY4ppVpohVPdQjgPvi4bA2dyz+yvTZUn+uSoJ2e1jK474UQTktB0+qvAM+iNQXVkJIWy5pBy2Gl9k7MvkAcf9VeQFkS+3rQ3g1s5i8chKasF4+Fa1qz6iQKEfdvpvUor3Dl0v2KWgMtkXJL23tYASh7PDEKvFYIOwsegJHGCQ7WRgF5pZRdtdOMlc+pMkaIYlmg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G2vus6BNRVFckuwcSlznto5IidHqjeDrezO/nwXOVxQ=;
 b=GQnJxFE0dQ58K800dGAeoVuDmOo5D+8xLrHC0sL4waWCG70YNbje2XyKXpRjmnP+Okxn8BjG4V244W+RwwfvMpzlO0x4TGsFdKrlRkxvQuEsc+nO1hPA5TCLKQxTzefkAfWb2OXjFFqlAZzcwuK6CceGAwCKdK9V0v4rvERYyePfOmzjqM+sAUd1PUvreQWN9zNaNLHTuWsQLKVOmS+wOEJXeT7xpv99Ti69D+MLaxVLmD0nqVpp+fo2PqC9zGsX3iU6fCVBiQ1W9FguloZdKc1cNHaxR+28z9/LmAVknVGNU23aZNR+ogQB0A3jevaDucJjf3ye0tpmTJoQS9O64Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3df43c25-6c06-0cbb-5452-c989511a7e15@suse.com>
Date: Mon, 13 Mar 2023 17:26:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v7 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678368234.git.oleksii.kurochko@gmail.com>
 <671cd744b92f14ddc0c47ca471e03e3229cb89ba.1678368234.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <671cd744b92f14ddc0c47ca471e03e3229cb89ba.1678368234.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0124.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8943:EE_
X-MS-Office365-Filtering-Correlation-Id: 529993ae-4a1e-4f52-bed7-08db23dfb8b4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CXeOhE8yns0cQ2xpSzje/HmnExFp33S6SpJDs3+OD90mzc+Tb7dd9i3y1QiE5++QL25zNGZtIXGrzT3+7HCVWkB6Lmgg7MYiHen1N2JYPQ67pQEpzVdyvvd4guQc0BLc3GNPJlPDP3XOIP7J9uo30jjJaz5WFYBHkU5DQr9kDLOox9BI+2kwrvIFlTBrBdy2ySatB/Tiv0BX0xGkGUPovNPABDEeDO8h2YE1ZCdombZsphwS7vQZH4CgGPEBB2R64QUd7JOO0X8IDxc86IOZB680FGGRUQOxBokKaETXvLBnn/QFFEqO7daQ4PbCe6o6MkUd58kw8NMuOdvoyKfJDaEStBAh3YZuzoYUGwE7mAyM1KdBvbE5M/H33LRcHf6iWhksCJETXqz6BEKxHMUmR1ILnD2YczdYdQIxje5qZn/cLzxQ78KH0n7vz1au47ht5QyCx3Lxo42y1M/8dijE/jwNVBpajdEPKnCybco4NqVu7zMU6cDJ9bqSB0/5p3HMuDg7y9o2G+HhqhwGsWYUJeJHhkMGChB9Fq1bWuVh1rS8+Fur/W9lM1Q/PfnuXX1hrupqePYJR6W8WwPl+rg15IuurAAR6qjAs6rgVpIVKiZoLhTGh9BQtgpJbAJ6mI4DJCp1P68Luo2NGT/776ZKR54IkKq0kQXa66/sUi0c33dA1LN+3Y3UZtSoFNcbXW+8iZFYpnnXUFgnanu5wqLDu/VvOoN+IPgHM/S1LOyi2L8WEZh8YF93gNmHFtLVpywS
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(376002)(366004)(346002)(136003)(39860400002)(451199018)(2906002)(31686004)(41300700001)(83380400001)(36756003)(5660300002)(66946007)(8676002)(8936002)(66556008)(4326008)(6916009)(66476007)(38100700002)(316002)(54906003)(86362001)(31696002)(478600001)(186003)(2616005)(53546011)(26005)(6512007)(6506007)(6486002)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WXFnZHBjSjhsMERQUm5kOXRoT1RGazI3NzJqS2lWNDEzS2dyWit5S2MxNUxj?=
 =?utf-8?B?WmhvSXhDcjYreXdnTnNqdGhMb3hTdzFtWjJlcGR4dGtyRlNPV2dKRFg0STla?=
 =?utf-8?B?ZUY4UWp6eFpsd1Y4Q2JZUGJIVHRMbmMyWUUrL3hGUjBIU0ZaVFg2cktNU281?=
 =?utf-8?B?UDgwdlJiR0xDZEhuS0JDd29hNUVoR21TL2c5aTBLd2F1anY0WlpaT2twQzh5?=
 =?utf-8?B?QmNMcDc1d0VZZXpXbENqZkVWWVVUZ2ZTMndac0xIYmNIa0pzcjd6R01IUU53?=
 =?utf-8?B?KzluMzE5UjFNU1Q0dXQwd25Edk9QeFM2T0dZUDdDTVVVbG4zd1lGSldjRm9W?=
 =?utf-8?B?NUd1ODlIZG1CSG9wd3g0RFF4RVJDWThRa2UzRXhmSU5Ja3lDUDBLS3BIcGpy?=
 =?utf-8?B?RXQzczF3NGxRSmI4QzFacmg3YjZlMkVQNGw1a1ZhMXF4dFJtdzl1clJCaWZC?=
 =?utf-8?B?ZVc5aDNDZ1JleDhuQ2RHL3VaeTR6RXUvdGxwQWQ3bmdERDEzM3JXNUhhUjNB?=
 =?utf-8?B?UDJrWjd4SEZJQm1FOXFxQ1lIVEhIZHY1QVh6M1FtZ3N2ZFlQNVo2Y1RRUjJr?=
 =?utf-8?B?d1VEZnU2TlNmWU1hRkdlOTQzVTdBVmpZVzdCMGE0UzJZeDJmc0ZYdDNjK3ZS?=
 =?utf-8?B?dkFVcmhpTGxPRHo3eXljYWgxUHZyVkMxK0FBMFh3RkFTTFhwN3NVQk5tZzVt?=
 =?utf-8?B?VDRZdFhwSlBPNEIyR2dxaExXbU5DSjg5by9sdDlSS1BDR0s3VTRodEtCQ1B5?=
 =?utf-8?B?azBkNDBhOWkwUFQ4c01IWm94TE1tWFUyMVJvOGgwMmo0Mld2NllDQTZTQkVF?=
 =?utf-8?B?VFVxUkFTZUQ2dUJsTk8rVGdJL045K2VaVmhLNDdFOC9CVzVBem92Tkh3a1dk?=
 =?utf-8?B?QjhGZ21VWXoyNTExZm1FcS9EYWVlTjZQTW1sbWlnT3QvNGhFWGIxdFVDN3lk?=
 =?utf-8?B?bE50M1RqY0JPL0pQOTIzZm02T2piUnVDZmE1a0pwZXEzeVV1bFVKUzJrdlhB?=
 =?utf-8?B?MDArdE5WSi9NbEJCTzROL29RM3l1akVXdjd1TThjck5yY2hEcUdyalBSdGZF?=
 =?utf-8?B?NVpaWk5WTnF2cmVLQVRnb09ld1pWZkQzcGpRR2J3MjRHYkxiZDRFT2x0V2hQ?=
 =?utf-8?B?ZHFiUkU4Q01xaVVwVlQzcXYwQUlqWmpTK1NHQm5OaDJmeUIyaEtxdW4wblRx?=
 =?utf-8?B?VmhqclB0QlJMMXRCZ04yYWliWkdHQkY2SzB2dDVzYzNzYmZjWWFJd2FTR1Bp?=
 =?utf-8?B?YS9YcnZKSkFMQ1haUVN1by9QRjZucE1DYWcxaEhxSFZFWEg4bGM5SmFOMytk?=
 =?utf-8?B?ak9NSStYaFVCZGZoVzF6cDU0TDVKOElOa2dYR3F4NXcvWHU5TGM4ZDZZbHRz?=
 =?utf-8?B?RGRKT1hGazlzYWlJUU91dHZ6ZkFiUW5GTTFzcFFDcUNHVE5ISm5tbk8vd1pM?=
 =?utf-8?B?R20yK0ZJRjVYYnp3bEFGeURYV240VWRWc2VSNW5ydXUzRFByaGpMOEFXcTFp?=
 =?utf-8?B?cDE4RnBoY2RXQ202SC80eTFrYm5oSTlDeTZFbGNLM1ZFbzcxTXcySnVlclk2?=
 =?utf-8?B?dndrMm80QlpDWEk1QUxOUlhXK0ovU2RlTUsrZkVUS25kVnhzUnBFZU0xajBX?=
 =?utf-8?B?Mm15NVdNWmRPM3FYNnpkbWxUZDRrK1NIcGZLaFREV1dNOUZsSGM1dkxFKzUx?=
 =?utf-8?B?OXc3WitXcHhHMzd1S2RrV2plMk9pOE9XbFV0MHJsVlJWUDdUWTNCZ0Z4bTFm?=
 =?utf-8?B?VkpsNXpzczVyeHlSRFFPWFNPb0NYcHVUTjRHbGhkL3lkL1VCYVR6YXY2YzZS?=
 =?utf-8?B?RG5PV3dLTUIyK201ejdTWVRRR2F2ZnRFUTl3RTN3VVNlZVpVZmtIbXFxTCtn?=
 =?utf-8?B?eHVrQkp1dzd2NDVET0lzOGFZTGw4Y2NJQndZWWpUN3RBYkV3cU5BeE9uMGZh?=
 =?utf-8?B?eHVOYWpCakIrVXhtV0I0L2Z5cWZ2M0pFVStnclAzMkJpNDVhWlRPRTRiVmw0?=
 =?utf-8?B?UE1lUmowaE9uTzhFSGRYaHZRazZOMnlGNjVuNG1QVkQxaW9xK0hXUk5Vemlw?=
 =?utf-8?B?RFV6S3BaMzZBRU1oMldZN0tZTmhzN2ZOQ2lsTFJjN3N6YURMRHJFR0RRWlli?=
 =?utf-8?Q?sCR8CE9+mLbqckHCLSgG+5F3Q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 529993ae-4a1e-4f52-bed7-08db23dfb8b4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 16:26:38.8308
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5RL6vUDrlmynbAQOC8EQRSMuxTwEhj916HtLW3oq6tuwvQoCJL0vliAyAOvYEEdqTHJPJlB/8vQbkFe8WWKWJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8943

On 09.03.2023 14:33, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/common/bug.c
> @@ -0,0 +1,107 @@
> +#include <xen/bug.h>
> +#include <xen/errno.h>
> +#include <xen/kernel.h>
> +#include <xen/livepatch.h>
> +#include <xen/string.h>
> +#include <xen/types.h>
> +#include <xen/virtual_region.h>
> +
> +#include <asm/processor.h>
> +
> +/*
> + * Returns a negative value in case of an error otherwise
> + * BUGFRAME_{run_fn, warn, bug, assert}
> + */
> +int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
> +{
> +    const struct bug_frame *bug = NULL;
> +    const struct virtual_region *region;
> +    const char *prefix = "", *filename, *predicate;
> +    unsigned long fixup;
> +    unsigned int id = BUGFRAME_NR, lineno;

Unnecessary initializer; "id" is set ...

> +    region = find_text_region(pc);
> +    if ( !region )
> +        return -EINVAL;
> +
> +    for ( id = 0; id < BUGFRAME_NR; id++ )

... unconditionally here.

> --- /dev/null
> +++ b/xen/include/xen/bug.h
> @@ -0,0 +1,162 @@
> +#ifndef __XEN_BUG_H__
> +#define __XEN_BUG_H__
> +
> +#define BUGFRAME_run_fn 0
> +#define BUGFRAME_warn   1
> +#define BUGFRAME_bug    2
> +#define BUGFRAME_assert 3
> +
> +#define BUGFRAME_NR     4
> +
> +#define BUG_DISP_WIDTH    24
> +#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
> +#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
> +
> +#include <asm/bug.h>
> +
> +#ifndef __ASSEMBLY__
> +
> +#ifndef BUG_DEBUGGER_TRAP_FATAL
> +#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
> +#endif
> +
> +#include <xen/lib.h>
> +
> +#ifndef BUG_FRAME_STRUCT
> +
> +struct bug_frame {
> +    signed int loc_disp:BUG_DISP_WIDTH;
> +    unsigned int line_hi:BUG_LINE_HI_WIDTH;
> +    signed int ptr_disp:BUG_DISP_WIDTH;
> +    unsigned int line_lo:BUG_LINE_LO_WIDTH;
> +    signed int msg_disp[];
> +};
> +
> +#define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
> +
> +#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
> +
> +#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
> +                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
> +                      BUG_LINE_LO_WIDTH) +                                   \
> +                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
> +                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
> +
> +#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
> +
> +#ifndef BUILD_BUG_ON_LINE_WIDTH
> +#define BUILD_BUG_ON_LINE_WIDTH(line) \
> +    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))
> +#endif

I still don't see why you have #ifdef here. What I would expect is (as
expressed before)

#define BUILD_BUG_ON_LINE_WIDTH(line) \
    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))

#else  /* BUG_FRAME_STRUCT */

#ifndef BUILD_BUG_ON_LINE_WIDTH
#define BUILD_BUG_ON_LINE_WIDTH(line) ((void)(line)
#endif

(perhaps shortened to

#elif !defined(BUILD_BUG_ON_LINE_WIDTH)
#define BUILD_BUG_ON_LINE_WIDTH(line) ((void)(line)

)

> +#endif /* BUG_FRAME_STRUCT */

... and then the separate conditional further down dropped. Have you
found anything speaking against this approach?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 16:31:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 16:31:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509348.784928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbl4o-0001TX-Rr; Mon, 13 Mar 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 509348.784928; Mon, 13 Mar 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 1pbl4o-0001TO-Oz; Mon, 13 Mar 2023 16:31:10 +0000
Received: by outflank-mailman (input) for mailman id 509348;
 Mon, 13 Mar 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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbl4m-0001TI-V9
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 16:31:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20630.outbound.protection.outlook.com
 [2a01:111:f400:7d00::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74816a90-c1bc-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 17:31:07 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB7111.eurprd04.prod.outlook.com (2603:10a6:20b:118::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 16:31:04 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 16:31:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74816a90-c1bc-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fPBEZXpXp62solHz6JcoO/T6Mw1xD4o2zRihc9wvuTClLGWTg3lq+aCl086eOp5cB2SDxe7dqjhqodVrBhdMQJiYOEm6yC72uq8Q0YN7OTHX+AxUcMX6w+ELbxL9eUFXP9z7DnvfIa4K042Jos86fg27PBfPF62U1TNv+miPaKXW9T8BVP6k6X1i2/LYrSGgJH6syywq9f/aIHFBp6xQxDFvscYxYG0hh8qyATzPho7F2ZDcRy2k/OB8Mha6vJ7DXDQwHOLtJnyljpTicQgZUV/zPGpqpF7oeQepW1RNbVlvEtugQWFpjp7RQztF9op9et0uVgjen9Hxysq2vktRQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hDcKdplSk+i3MqTWznByf9vgi9yBSa0JjkN0upLKQuk=;
 b=IzbhuPPI4C2vIWPtbeBZOWkXHOMUly0bTzKe024MWsDj/6zccx2DoXAwJrzaDUOn0wvDU1D6vMEPHaNlPp5XQR2wDGU5XiIaOjgcH7pcRQq291la0CCDxMRWIjl0e8znBhihghEQf36gSLp9QdRTvirpu2+spwOk2C+yKiGF/4C28Sdw5ROxZEkjxxNRbaQNB4MVUzLPK2izntURFrmFBU59mK3cO+k6NzmOuqhjywExdkdLBNczKxIPir9ZBbgixdkAQwSFRSSgKmEtbO4yWWDfBB0Z3u4/NZTFNXjiVPdPkq5nNbREB7mJNxbm8Kiqac8maykyUwToKzWz9DmLeA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hDcKdplSk+i3MqTWznByf9vgi9yBSa0JjkN0upLKQuk=;
 b=Yx2tbqXrtE5RigWv5ksrXbt2L8LiY9uHVRGiG7en1PvvwlbjK0F4YrJjcTM6hoX00RZ5HMz8MqTyIYF/kClBG3f2KBdO4FE3bGr0M8bCl57g/Cx1j/cC1yGj6q9YS77g3DBzDvZfy2fbK8FibGEP4BMf1D5DWk5KlFapgtnZO3q4DWc3dqYZz7VY0XXwD++fh2RX7GsUHryr8pCPaMDK5i1wD/uwYrpi6tp1/vlLFA3LcC1VDxr8dUZZCG9KEpFTnmByNVL2Cayqrgfal9jHFAofhM98ms1d8Q3GfWrODjRQ5nY59H1b+l9GM4s4i8Xf5yWXtvTs0FlTiMinY6rsvw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3ac2fc9a-4c76-377c-5357-daf993fd9967@suse.com>
Date: Mon, 13 Mar 2023 17:31:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 3/3] tools/xen-ucode: print information about currently
 loaded ucode
Content-Language: en-US
To: Sergey Dyasli <sergey.dyasli@cloud.com>
Cc: Sergey Dyasli <sergey.dyasli@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>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20230228173932.28510-1-sergey.dyasli@citrix.com>
 <20230228173932.28510-4-sergey.dyasli@citrix.com>
 <4fee8e81-79d3-eafc-b806-ea061216e072@suse.com>
 <CAPRVcufSx6PTGKaycZBj2j-92zRYnHqx=8YPH5EOnWf9ujwAaA@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAPRVcufSx6PTGKaycZBj2j-92zRYnHqx=8YPH5EOnWf9ujwAaA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0158.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7111:EE_
X-MS-Office365-Filtering-Correlation-Id: 40bb985d-80ae-4c95-dcbc-08db23e056ef
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:
	fkNS7mjo8KqeOGM9qxnLXks8CWjcLbhDzHuVkoMRjCgquhmB8T8vPiKoLRrlYznrxXv9b5pMYqZegN8t+OcrZNiCQyBuKvPzvu+tmEwMtjFr2Ct9lzcm3YgoVCYw3ujgT46l6U4QnPeNR72tOp2oPbAJ7d5ypiw60nEyXrZt7pQ4kEVWIs1vzYMpj0ARxBB97q56oLdNVww/DfhsFex1ETBrakqVLQUZjtuvLzY0EiFUe4FQWNrmiKhE1N9H/vDuYb1dJaFm1Ilu9tfNBeTAedsYgPAgtlHUZasGC548e9MYwsvbELDgembEa5ebahyFrE9UQn+zrX92oNBJ0KU/pb9AQEQH5uQW99uc6+RMZc911EGhzDxPmsxk7ItrTrS/4lmW+i32W4U4SOp2vEdseoSdnRVhKPu7IjpzXkX0A30/ENCugSKhFfjCLcBcrnOWt6idlRZ3cyxVPuREXID0NvqQJFV4t+j7djfJmnv36Y3IiNEeY1HUtECNSzmWH6vrJ72j5FUjx9U/khviPwFI9ine7too7mDsStknWM5lYatOO2dFe00y/3exwINTsHHjyv4s3UjHMFXPxZETa+UUVI8j1DSrROqVZCClZWyvUSk0DTyhCtuGCUcC321Yide3DHZymAfExvqmJ0yAZv2DtOeWtk73/wA1/psepLe5P/9/dj/5wG4xIJY0RnOq3sK9q1FumaKb+rRfsIMdBagqFLXMofoEPQ1vGer8kKbbkkE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(376002)(396003)(136003)(366004)(39850400004)(451199018)(36756003)(7416002)(5660300002)(41300700001)(83380400001)(478600001)(6512007)(26005)(6506007)(6486002)(2616005)(53546011)(66946007)(6916009)(4326008)(66556008)(8676002)(66476007)(54906003)(8936002)(186003)(31696002)(86362001)(316002)(38100700002)(31686004)(66899018)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aDJITkJ5eGdaRTY1bDcyYkllS25Rbm54RnZKd3RGNjJ6dmJDd3VaOXdiNHFR?=
 =?utf-8?B?dTZReVBacEVXQ0ZrY1F5b3h0V2NWdWhrc0FnL0RYN1lkL0lydHUxZ0RmVmFY?=
 =?utf-8?B?SGFWbXdxaXgxTmMzZ2VGQ2VBRzNYUGkyNXlMbGpGNkRwWGUzQVE0d2w5UzhF?=
 =?utf-8?B?K1hlWERTUVhjVmVwRC9ybW5JNUJWR3NwQm5yclhKSU8yUjVRNUs2NUFXbFZp?=
 =?utf-8?B?ZTdEcUVucktrSk9tMnB5bXJoTWlSL01Qa1RwTjEvSmMrejBtRHlrczd3ZXpP?=
 =?utf-8?B?U1QxNitPcUs0OVQ1SHBobWlFYjQ1SlZVVy9QSVhtaWR6RUdLNm1ldEFWbU1W?=
 =?utf-8?B?R0oyMTFUWFg3Z2tBMjNhVE5GdXBOeFFpRFl0Z2hQV2NVS081V0NodnRSYlFR?=
 =?utf-8?B?b0tKRXhtV0dYRWZGNytNWitKVWhNRnNINHhPRUVxdFVSVHFqaGZadi9JNlU5?=
 =?utf-8?B?WUlWRXM3NkxDZ1pySE9PYzZPUDhMajFBbU44anRCeUk2STBSR0IzOW1URWxn?=
 =?utf-8?B?RS9DSDIzSkEvZmM2bUE4NENvZWNlcWVOT2xod1NFemJac2Z4cjJ4WUhGVFF1?=
 =?utf-8?B?YzVXUjQxL0loWjB4c1dyczZXZmI3OUlvQ0tNdkJhYklkMlN3blpSNTJmYWZS?=
 =?utf-8?B?L2Y2MkZ3eUZ3UDFWWmpuREFheFdDYjlNYlZGVllrdkprRjhsb0E2SGIrVGRT?=
 =?utf-8?B?UFlIbkROSXpaYmNVRjdGcWY0WEdKUVpuSzNYZVdwZmwyVk5KZHZyb2hQQTFz?=
 =?utf-8?B?QW5Dc3dNZmc1cEZXSy96aEtMcDZEZkdyVWRIR2IwREhMSC9ueTRPQUY1VkJ2?=
 =?utf-8?B?MG5yNEFmcG83cXZrcTMrb3Y3VVVXSUhoSHcvK0NLYkI4K3AyOGdnMVZmMjV5?=
 =?utf-8?B?ZlB3VndBWS9IM0xrWDFrbUYxTk9oeG9hZzR6aVgvTjJmSm9VRkpMbk01VFBy?=
 =?utf-8?B?a1NLUHZuaTBSTC9BV2pDRzNndkhCNC80NmV6S0QyWkRQQTIwTVBJNWliUENG?=
 =?utf-8?B?dEhPaDc3WE91aEhoVStZZ3VxSmRtWGJaRys4WmFhOHZvdFdCaVFiRjN5M3R1?=
 =?utf-8?B?d1E4TjZRSHVlLzRrVnV0V0V3cTFDTnBVM08xWDF5NmcvRWhJMENSVEpkRmZM?=
 =?utf-8?B?YjRPUTRsTXlNNXJ6MWpwTEYxNXBhcXZJdUFrdUU1NTZzYW1TRGdxeEQxT0hW?=
 =?utf-8?B?MzhBQ0NtcmowQUxuZ09uMjZYaTVkZHdKY3ZHOUZoNTR4UHZKSGJybTZiMHVG?=
 =?utf-8?B?aE9VNlg2VGxsYkN4clFUUEV3THVwSVRMcDRQL0hqMm8wSnVNeFZMVmhwa1Vh?=
 =?utf-8?B?T2d1VmFPRS9nN3BHWFNybFpWdUoycTVNZVdqamNWTEZ6RjRxeG4xV1JWVXpM?=
 =?utf-8?B?ZlVWYzJGODFQUHFYZ0E2VDU1VGlWQkcrTm1DZnVBMUltRHFMM2ljYU5XUDhS?=
 =?utf-8?B?eWdwK2pMLzVVcUVKV053WjZGeExRNkk2VytiT1BHdkFRK2VhSWlmSTZzZmk2?=
 =?utf-8?B?cGFBV2Rsa2FqcDRyazQzNGw0VDVMRHhTL0IrbW9CS1lMdVhxcDZhQi9YZUNo?=
 =?utf-8?B?b0FoTUJZaTNXTytqakdoUTlBamE2RkZ0dk5sbnRJcnNMcGVHV0hIU0pvTnBq?=
 =?utf-8?B?RlhLc3FZK3JDdlQ3VWgxdHFEbWQ2UDJvTzRUeVJQWGV1a01kYkphOG5Od0tE?=
 =?utf-8?B?VEZra2k1SXh1N0htMkdpNjF4TUNTc0NGdndPRDJvbEI5VkNpYTdVQ3I2Y0Nx?=
 =?utf-8?B?SFBzK01IWWpsb2QvZTdqRVFjUEw4QW81dC8wU084Y29XVDFEQnFaT2V5QW00?=
 =?utf-8?B?UUtGYW5sby9YbUs1YS9iUUM4Q1hlYWZIN1RqVm85SkQ4MysvV0dQYmJNKzV6?=
 =?utf-8?B?MlQ1Tmg0aVJJSThIWHdldDVRYW04bkMwdHJLOXhZWWUrT0NScklQcW9ZNWRN?=
 =?utf-8?B?TmJaZEw5MitlaHNvTFBxSWRlR2h0dUVlZDJYQ2ZBV3hKNHFmSG1VWU5iZGFJ?=
 =?utf-8?B?T25mam41cXM5Z05ldndIclE5SGRHUGpNelU0TUpvUEdYeEY2dHBoUWZKTDEv?=
 =?utf-8?B?cnFmZzVJV2l2RFNNV2tnU3FkS2FvY1JEeDM2R01ER1dZTjZrZXl2MFZCWmlj?=
 =?utf-8?Q?NpWC+IhVpoc3coQ/w4vB9MADG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 40bb985d-80ae-4c95-dcbc-08db23e056ef
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 16:31:04.3919
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cMx3Sv+hhs3uSjMPRookCvTPwdH+PMHipSz/zvdH0HjbYn9rAMrhN2Fq8RrtaNwGNSmBRqwtZ0153RSUJM4xmQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7111

On 01.03.2023 19:01, Sergey Dyasli wrote:
> On Wed, Mar 1, 2023 at 11:31 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 28.02.2023 18:39, Sergey Dyasli wrote:
>>> Add an option to xen-ucode tool to print the currently loaded ucode
>>> version and also print it during usage info.  Print CPU signature and
>>> processor flags as well.  The raw data comes from cpuinfo directory in
>>> xenhypfs and from XENPF_get_cpu_version platform op.
>>
>> While I don't mind the use of the platform-op, I'm little puzzled by the
>> mix. If CPU information is to be exposed in hypfs, can't we expose there
>> everything that's needed here?
>>
>> Then again, perhaps in a different context, Andrew pointed out that hypfs
>> is an optional component, so relying on its presence in the underlying
>> hypervisor will need weighing against the alternative of adding a new
>> platform-op for the ucode-related data (as you had it in v1). Since I'm
>> unaware of a request to switch, are there specific reasons you did?
> 
> Ideal situation would be microcode information in Dom0's /proc/cpuinfo
> updated after late load, since that file already has most of the
> information about the cpu. And the closest thing to /proc is xenhypfs.
> It allows the user to query information directly, e.g.
> 
>     # xenhypfs cat /cpuinfo/microcode-revision
>     33554509
> 
> Which could be used manually or in scripts, instead of relying on
> xen-ucode utility. Though printing the value in hex would be nicer.
> That was my motivation to go hypfs route. In general it feels like cpu
> information is a good fit for hypfs, but agreement on its format and
> exposed values is needed.
> I can always switch back to a platform op if that would be the preference.

I've confirmed with Andrew that I was remembering correctly and he would
not want to see a dependency on hypfs in such a tool. Since it's optional
in the hypervisor, you'd need an alternative source of the same info
anyway, and hence you can as well go just that non-hypfs route.

FTAOD: This isn't to say that some CPU info wouldn't be useful to expose
in hypfs. But that's then an independent task.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 16:45:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 16:45:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509350.784937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pblIP-00034x-5I; Mon, 13 Mar 2023 16:45:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509350.784937; Mon, 13 Mar 2023 16:45: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 1pblIP-00034q-0e; Mon, 13 Mar 2023 16:45:13 +0000
Received: by outflank-mailman (input) for mailman id 509350;
 Mon, 13 Mar 2023 16: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=QMQ+=7F=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1pblIN-00033w-PT
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 16:45: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 6af76c33-c1be-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 17:45:10 +0100 (CET)
Received: by mail-lj1-x22a.google.com with SMTP id t14so13284396ljd.5
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 09:45:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6af76c33-c1be-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1678725910;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=c74up8jZFryQ3NcBkZTOA6otz02SIGeD4ACIn0jaPro=;
        b=QFjgiCjAtZeu+apFrOYt611qx5ZNZEOVgI3AfBFZ26pyOiFLYWXioWZ/PHmUOd902H
         EvIC23jmmlbtP0AVvYn5HmHJyH1YILsJ35T1t5ttqaIucM5Ct3HBlPVk/rcIfqYVgmjc
         wREeS5IWGl4BQLTGzN+ZWsaaHzSAsh7FsB8VA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678725910;
        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=c74up8jZFryQ3NcBkZTOA6otz02SIGeD4ACIn0jaPro=;
        b=F2x7jB+uR03zZRPEg28tEl/fwLN7rdEKO5z4MJGIYnKyHvA16ywvKsdJUarMiqD+dN
         MbCk/jORJF45QwD70xk6rlVh1aEppczQFjBvtXc+0R0E7CJlGyFju4oTqrgcMxa3mr/D
         2Ys0cwuiCTYJQJo7PWvL1l4jRJqK90RvFBXFAUymcGGnIHQQTVqTR6Y9Inpu1Ng5zo9B
         TriA7N+PkxnfC6o6fi72INb2V/VneBGMEv3LiE+YtHKOfyWjniMdrqqfH9Pg5iQw4Gqt
         SRU+wbboPl4W40PBSK7KkwIE2mY/vCaIEm7YlCkW3MjFxkHKQAkmINpotCrsQTAgiYQJ
         EJRQ==
X-Gm-Message-State: AO0yUKUI+NBwjfXZCvySJc5wqes1dCiBRJ33rRSOhCfZyw3lhQVUjMAV
	Ekw9MtOaLl4MYImpg1EdBrhyiEJe5colTer7FxDucw==
X-Google-Smtp-Source: AK7set/Hy1kHmyeoopuC+dcKVmkbdBV/Ppbts10xZTThEO1qNqDBuRXfdLvD32TredI5C7SNMuM3K5wfDmXsr1DMstM=
X-Received: by 2002:a2e:b5a5:0:b0:295:b29f:a663 with SMTP id
 f5-20020a2eb5a5000000b00295b29fa663mr10859357ljn.6.1678725909769; Mon, 13 Mar
 2023 09:45:09 -0700 (PDT)
MIME-Version: 1.0
References: <20230306204024.124882-1-jandryuk@gmail.com>
In-Reply-To: <20230306204024.124882-1-jandryuk@gmail.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 13 Mar 2023 16:44:58 +0000
Message-ID: <CA+zSX=Z_3z+FOR9g6CaX9RSSTz=KKe5kTYkBnAid_Ahf-geoQw@mail.gmail.com>
Subject: Re: [PATCH v4 0/3] libxl smbios support
To: Jason Andryuk <jandryuk@gmail.com>
Cc: 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>, Juergen Gross <jgross@suse.com>
Content-Type: multipart/alternative; boundary="0000000000008701a905f6cad595"

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

On Mon, Mar 6, 2023 at 8:40=E2=80=AFPM Jason Andryuk <jandryuk@gmail.com> w=
rote:

> hvm_xs_strings.h specifies xenstore entries which can be used to set or
> override smbios strings.  hvmloader has support for reading them, but
> xl/libxl support is not wired up.  This patches adds a new xl.cfg option
> and libxl support to write the xenstore strings.
>
> The xl syntax looks like:
> smbios=3D["bios_vendor=3DXen Project","system_version=3D1.0"]
>
> The Go binding generation needed extending to support Arrays inside a
> KeyedUnion, which is what the first patch does.  The generated go code
> builds, but it is otherwise untested.
>

The python & generated code looks good to me.

Golang bits:
Acked-by: George Dunlap <george.dunlap@citrix.com>

>
>

--0000000000008701a905f6cad595
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Mon, Mar 6, 2023 at 8:40=E2=80=AFP=
M Jason Andryuk &lt;<a href=3D"mailto:jandryuk@gmail.com">jandryuk@gmail.co=
m</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"=
>hvm_xs_strings.h specifies xenstore entries which can be used to set or<br=
>
override smbios strings.=C2=A0 hvmloader has support for reading them, but<=
br>
xl/libxl support is not wired up.=C2=A0 This patches adds a new xl.cfg opti=
on<br>
and libxl support to write the xenstore strings.<br>
<br>
The xl syntax looks like:<br>
smbios=3D[&quot;bios_vendor=3DXen Project&quot;,&quot;system_version=3D1.0&=
quot;]<br>
<br>
The Go binding generation needed extending to support Arrays inside a<br>
KeyedUnion, which is what the first patch does.=C2=A0 The generated go code=
<br>
builds, but it is otherwise untested.<br></blockquote><div><br></div><div>T=
he python &amp; generated code looks good to me.</div><div><br></div><div>G=
olang bits:</div><div>Acked-by: George Dunlap &lt;<a href=3D"mailto:george.=
dunlap@citrix.com">george.dunlap@citrix.com</a>&gt;</div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex"><br>
</blockquote></div></div>

--0000000000008701a905f6cad595--


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 16:55:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 16:55:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509356.784954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pblSI-0004kS-7C; Mon, 13 Mar 2023 16:55:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509356.784954; Mon, 13 Mar 2023 16:55: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 1pblSI-0004kL-4T; Mon, 13 Mar 2023 16:55:26 +0000
Received: by outflank-mailman (input) for mailman id 509356;
 Mon, 13 Mar 2023 16:55: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=ddKj=7F=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pblSH-0004jd-8g
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 16:55:25 +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 d2228681-c1bf-11ed-b461-930f4c7d94ae;
 Mon, 13 Mar 2023 17:55:14 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DUZPR04MB9795.eurprd04.prod.outlook.com (2603:10a6:10:4e3::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Mon, 13 Mar
 2023 16:55:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.024; Mon, 13 Mar 2023
 16:55: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: d2228681-c1bf-11ed-b461-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JsJT/JtwUHt38nbr/RwKlJgrjqxoGJ21QLUxaTFHzxkNEHWS+zXY+V8ucdyfJIH7LPp0goRcFOEYdf78O9AGt7iTLhqZIWaZ5D7Qg8gxHShKHW0mK+5VRQAiLACX1FhKQElCbM5AZbBvLhd5BOOIbXRqdXhw2fA7YWL66BBs2Z2YSqj2IEi4jBrjGxQEjZK85VS50Y/N9YCynDRW3qqzeBBAkFBepi1TRo4RaWyC8mUyFN0NKh2jREJMZOVrhBXpc15gjvAGxbOfVjC6yqwQQocH71y1adAUWP9ysyTVL1/Krtmw0/r2it9ndhhHF/LjOIJo2eSRLA+fRPj/YnikOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hDtnIO33SPjLrOn2eD85FCIXxvvtSiJuPNHVXbgMZAY=;
 b=Exw1P4P6Z1XHbINUJYRg5IoMC/gC8XwfdZwWxqqVIcwYHO2s8STbDIcnxJg4gUX8oLURQbv6HYXJgNZLols3L7OcqjWLfnWbQ1ZS1zrm6BN92D+8pElFo5NNPdhKyUTCkEsJ0tP4HKCKP23yQ/pPE9TH3avrVYaFlXGjBtqknkNKuSEhzr2Q5S4XzbzSt0CoDq95dfq/3GNLJ0Ca66s0eKSUBoNF67bYvP0o/zyuM+7GBxPTiAqgRLPcX5ZU8JGqLGKBpxZSBm6FirlExkBPGQN2lr6hTons0uVd+sVUF4s8AvJHRL9KtT1swVGsbYxXDfXi+r7lZ50UxuPooKrrRw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hDtnIO33SPjLrOn2eD85FCIXxvvtSiJuPNHVXbgMZAY=;
 b=HbU7n+BC8bnHGWwBqjO586Y1Iw8VAMZGRv5Xo9N6gLSY03358F9SVkam4l+pAidubpDYbNdxTS/s/zP9pAUyUFnx1615drriM59LCFf4SOZYQwgZq0QP4Qyl6bxsmMLVjZm4Gdpd27Sp3Z6t2zDLXdJeKRoBaiI07vYirCAyfNb31+IomF7aNEllqwoIZD9JnhTOIEU3FatQ8C+kYa+Kas+0fR84j6PPqsVYwx9sbZwccFfz+yAnAioi4zsD2nsNBvwt8RFY92cW3/6WeQ5SSTfa95UcOd/dYOkCfbRL/dKRhpjfqzWvlDz4lXpjK9kVvc1myBhmZlGtoAj8vdNvWw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2bcd9829-498b-228a-2a86-67f8c6e859aa@suse.com>
Date: Mon, 13 Mar 2023 17:55:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/grants: repurpose command line max options
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230313121632.86789-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230313121632.86789-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0091.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DUZPR04MB9795:EE_
X-MS-Office365-Filtering-Correlation-Id: 767a859d-1923-4f11-eaab-08db23e3b550
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qnGBhh956aCucr5bDmJVh2oFvP+NVz0tF3Yk4jKwnaFm+cvN2jFTq5xHt536/mcUGcVv5QGqBQKAnX/zkpwDwIwLUpoY1MwOsnIdeh959pZ5NWSaNiBdXi0jgF46sD1BBXplCS2vvq6CZP193FPmE+IdCQQ9Wi1ENEX3K9Nh5o61a4L+y+wyTrFHwgrzmI+CYvnnsA2mMdTUOt7CZX/JdSSugknFRIQdZ87o6u6PA/NBlYu+yECi2KIGHWWSmhZuu/vpqCD/gc6Qun0Omr2pFrzPsDz0D3BDCQvcVCIsig0a1+EqY+XbrLVLX89na/zZZ+bll/L1Q8ew0AJMrgXxOipkuF4TgDfCzDFrR7Mc7SGPAU4DUPWty9G6fZtKWUuP45NyMc/7Myb0sEJNAYJUxLX9ta67dAXrm2sTFm20U1NoM9pADDI3fP7K7S/8/1CMM6zlGaBBq2O6dlCaKf7vtUXWGBCS80kIiB0+XX4DiZTrGiHaXtc3was7eMxymADdsF+3Q4+86ZoxnsJqMlBV0ACu1RiU913cixpuf3r0gqm9CXirGwYayE8BOkhxQuwV7fkuCUCgfO9ngVkOyer+FVdq9mY2wCgyOJybT+Yd5205DXXgpj3y5arC4kyP5L7jj+nSftVdWNWdyYiY/IuRv6dY1JTBbvQsilovpGBVJOLTSHXokXpurFzmCOIMsER1g/GpEc5BUBCoOUfos0y8B1uKn/BA7MNh3ZsXmOZX8oA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(376002)(136003)(396003)(39860400002)(451199018)(6916009)(4326008)(66946007)(8676002)(66476007)(66556008)(83380400001)(86362001)(186003)(2616005)(38100700002)(31696002)(54906003)(36756003)(478600001)(316002)(6506007)(26005)(53546011)(6512007)(6486002)(5660300002)(8936002)(31686004)(2906002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TlBwbktTaTJ0cEZYS0RLT2lFVlZLNnk0UzFFM0cxNVB0bHV3SzlKZEFqTWIr?=
 =?utf-8?B?dXJDQlFzNTlXQ0xVNlBFY3BLVTRyZ1dVV2RhQVhOMGdqeWc2QUUxL3ZGWURZ?=
 =?utf-8?B?ejFCeHE3cHYrVDlnWmt4cDBZRU13eHc3Q2Z6RmpVK1pqNGlUSVNmRWxwOWNo?=
 =?utf-8?B?a2l1dWI4N0cyRDVRN01jTVA2SkJNdUxRSTZBQkRwMVNMaE9rWUZjTXpPM3g5?=
 =?utf-8?B?eEdncE9FQnlSQ1YvSlBYRUppemRydmYwRnEvL0RRNjRBMjExR3J1MDRpR3lm?=
 =?utf-8?B?SW1MRVltYi81Y1lGSjBaNXFxcldwdFhkVGE1QWtReGJaZ0JpbU93RklkT0d4?=
 =?utf-8?B?Q2VtVVFVdkFGYkkzbGFqT1ROQThHWFRqRTdVeWtxelpwSW9HZTE2MDM0RzhY?=
 =?utf-8?B?bStZRkVWMzh2OGZIOEdOSU5zMjIxQWswKzJ6Vzdtc0M1SzUxaG9PTDUvWFoz?=
 =?utf-8?B?Qk9zTnJla0VOTmc2NzRFb0xzNmZSZnhiR1J4UTl5azdWdzRISzFSaU5oVEpJ?=
 =?utf-8?B?TXlIbmZoTDBnalVsVWJBWWs1ZkFUdi9LZHpGVlZYdkY3YWlFRGM0NGFrNjJz?=
 =?utf-8?B?a05VVmh0WkRjUVlsVGp2TjFPQWNPS1J3MzBQakVqUTV2ejNPbjVZNkY1ZmNM?=
 =?utf-8?B?ZzRpNmdTK0NsTGxvVWNFWGU2Q09ITSt1QmlaMUU0QnRibTI1K1dhR01od2NG?=
 =?utf-8?B?Z0ZCSnowNlpiOVd6Tlc1bzZDd2ZWUmZmemFhdzJoSkpodnZrNlJyVzhoTEVT?=
 =?utf-8?B?Y2NEUE54akx5SXRidTVqT09aOTBXc1dOaStJcExiSEpkQ3YxdkZ0L2MyY1RJ?=
 =?utf-8?B?eVIyV01QeDQ1czBFejJ4b1dHU1JJYVlUNE16VEFsUC80Nng0N0Y0VVpZV3Z4?=
 =?utf-8?B?QVQ2YUovcUViY2JVUzJBSW9sQ3YvMHlrR3kvRVV5bWwwUWJ0NXBNMkdBNitE?=
 =?utf-8?B?VnZha3pMMWllc1Z1Mk5yM2N6ZWZzWWNmdTdqNGtVcVpIYVgvL2RUSVdPMmdq?=
 =?utf-8?B?dWI1M0RTZ1YyMEJwdDU2Ry9aYnB1b0lIejRqNWc4elVZSmV0VEJobUpzRnNP?=
 =?utf-8?B?VDlDNVlxQzRjK3FoTDZmb1BYUDNweVdoUkE0SHF4U2dVNVZEQ1M1dEZ1N2V3?=
 =?utf-8?B?RlhyU09zMGZRa0oxZ1pKeXowK2JCbXg0ZGZiajNaZ1BpYVF5MElpYW9wY0RF?=
 =?utf-8?B?Nk0vM1lGb05ua0dlenduMkJHSVkvVnQ1V1JWT2VEWG9QaEt0NXNzVFovNWQ2?=
 =?utf-8?B?TUhtYitrT1kwSGdoQmdTMnhkZUd1Mk5uS0k0Y1JBcHhZOTBoZVIxSXdUb3oz?=
 =?utf-8?B?ZDc5c1dlZDYxTUlXOHZTOHF1N1hkb3ZJOEhJOGk5MHVpeGtzRWlYSVFHdWdI?=
 =?utf-8?B?azdQRlBqcStaYnlCUjlZNzU2NGlYd1JhMWJWRTBZaXFpNUNLZjFBVTh1TFlu?=
 =?utf-8?B?azl3S0Z6ZGh1T2pDWVE5UGI2cHVvUEVhUk95T1ZEQndIYmVLQXZ1czVkRE1W?=
 =?utf-8?B?UUtKUTNwSGp6MjVyYkVQWGxxQlNZUGh2YXc0TXdJZ1cxc2pISHQraDFNSVMr?=
 =?utf-8?B?SzF4U2tmZElPMmYyQ0VCZzlzODBTOXpkd0J6YkhjM1l1eWxSNjZ4WnFnb3Rq?=
 =?utf-8?B?SnlpZ2pBMXU5b3Q5SHdOWU1DYWU5MmttYm0wRkM5MGkxWkdVOHNlME5pcnNx?=
 =?utf-8?B?azBlVzdXSEp4UEI2SmFGeDVER2dnM0RJUG1ETlFJcXFpaWV5MlNwaUl3eVN5?=
 =?utf-8?B?V29pVHpSR2NRak5wK2tuNUY5TWEweGdmcUNzQnlHVUorMFV4dEwyYk5udkNk?=
 =?utf-8?B?NnNaeVhzSitKd051NENxSEZBMnYzK3dqTjhwK0o1NHBkTm1XVGpWWE9keHZn?=
 =?utf-8?B?eTNyZlpvWGdubDJsZGpyanl3NU50YWJPaWRQclZ1elNpMnpxdU43Y05mUisy?=
 =?utf-8?B?cjJqQzA5aGU3R2g3TWRFNHBETkVFdnF3am83Y2RjOTlNNXpPS2dlZ1dTdTFp?=
 =?utf-8?B?bWU3eFRuL3p4YXJOR0NadFJoenZ1My9GQlZMcStyNnAxUWFUNlRrakh1UVk3?=
 =?utf-8?B?QkkrR0svOVFrZ2hEakdMVXoxUERSNmNqYkRRazF3bDIwWllzb0hTOUx3VnNk?=
 =?utf-8?Q?/BVlDCETvs8q2DS+RSqSI/x1Q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 767a859d-1923-4f11-eaab-08db23e3b550
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Mar 2023 16:55:11.0990
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iQuiM7dWqMnu14o4UQFqbkJvX2xm0VgYoTW7pzEnErhtBnUyPpbUJ+WX0nW6DEI23nZEMovBIeWNzd5l/mZEfQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9795

On 13.03.2023 13:16, Roger Pau Monne wrote:
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -1232,9 +1232,8 @@ The usage of gnttab v2 is not security supported on ARM platforms.
>  
>  > Can be modified at runtime
>  
> -Specify the maximum number of frames which any domain may use as part
> -of its grant table. This value is an upper boundary of the per-domain
> -value settable via Xen tools.
> +Specify the default maximum number of frames which any domain may use as part
> +of its grant table unless a different value is specified at domain creation.
>  
>  Dom0 is using this value for sizing its grant table.

dom0less DomU-s do as well, at the very least, also ...

> @@ -1245,9 +1244,10 @@ Dom0 is using this value for sizing its grant table.
>  
>  > Can be modified at runtime
>  
> -Specify the maximum number of frames to use as part of a domains
> -maptrack array. This value is an upper boundary of the per-domain
> -value settable via Xen tools.
> +Specify the default maximum number of frames to use as part of a domains
> +maptrack array unless a different value is specified at domain creation.
> +
> +Dom0 is using this value for sizing its maptrack array.

... here. And even ordinary DomU-s appear to default to that in the
absence of a specific value in the guest config. IOW at the very least
the info you add should not be misleading. Better would be if the pre-
existing info was adjusted at the same time.

I also wonder about the specific wording down here: While the max grant
table size can indeed be queried, this isn't the case for the maptrack
array. A domain also doesn't need to know its size, so maybe "This value
is used to size all domains' maptrack arrays, unless overridden by their
guest config"?

> --- a/xen/common/grant_table.c
> +++ b/xen/common/grant_table.c
> @@ -1956,18 +1956,15 @@ int grant_table_init(struct domain *d, int max_grant_frames,
>          return -EINVAL;
>      }
>  
> -    /* Default to maximum value if no value was specified */
> +    /* Apply defaults if no value was specified */
>      if ( max_grant_frames < 0 )
>          max_grant_frames = opt_max_grant_frames;
>      if ( max_maptrack_frames < 0 )
>          max_maptrack_frames = opt_max_maptrack_frames;
>  
> -    if ( max_grant_frames < INITIAL_NR_GRANT_FRAMES ||
> -         max_grant_frames > opt_max_grant_frames ||
> -         max_maptrack_frames > opt_max_maptrack_frames )
> +    if ( max_grant_frames < INITIAL_NR_GRANT_FRAMES )
>      {
> -        dprintk(XENLOG_INFO, "Bad grant table sizes: grant %u, maptrack %u\n",
> -                max_grant_frames, max_maptrack_frames);
> +        dprintk(XENLOG_INFO, "Bad grant table size %u\n", max_grant_frames);
>          return -EINVAL;
>      }

I think I agree with the relaxation done here, but I also think this not
introducing security concerns wants spelling out in the description: My
understanding is that even in disaggregated environments we assume only
fully privileged entities can create domains.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 17:05:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 17:05:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509359.784964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pblbi-0006Jl-3x; Mon, 13 Mar 2023 17:05:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509359.784964; Mon, 13 Mar 2023 17:05:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pblbi-0006Je-13; Mon, 13 Mar 2023 17:05:10 +0000
Received: by outflank-mailman (input) for mailman id 509359;
 Mon, 13 Mar 2023 17:05: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 1pblbg-0006JU-Gq; Mon, 13 Mar 2023 17:05: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 1pblbg-0001GK-Eq; Mon, 13 Mar 2023 17:05: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 1pblbf-0000Os-W9; Mon, 13 Mar 2023 17:05:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pblbf-0004r1-Vh; Mon, 13 Mar 2023 17:05: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=bOEpph2YgV/syPM0PmHJQyd7Etl5vY7i6Qj1VP0ZE50=; b=DScmsFMqbtlkACWAbpQyImtlGF
	GKlbGSPwfogMJESKNrHUqQSmP24eyVLA+hIsrc3gHmx8xm4lRLWREx68tg7QcIBkKwC4eaiywA+Yv
	p1458ofkcM/4TQSlZEUp76GuguJXui7ftg4yxNpz9Ys70VxqFSUHQsvGyUWOLgkNFvHw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179601-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179601: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=be62b1fc2aa7375d553603fca07299da765a89fe
X-Osstest-Versions-That:
    xen=7a59096258fb9e9679538da8851fe00656841980
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 13 Mar 2023 17:05:07 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  be62b1fc2aa7375d553603fca07299da765a89fe
baseline version:
 xen                  7a59096258fb9e9679538da8851fe00656841980

Last test of basis   179508  2023-03-08 14:01:55 Z    5 days
Testing same since   179601  2023-03-13 15:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Jan Beulich <jbeulich@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                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   7a59096258..be62b1fc2a  be62b1fc2aa7375d553603fca07299da765a89fe -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 17:51:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 17:51:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509364.784977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbmK2-0003eo-JP; Mon, 13 Mar 2023 17:50:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509364.784977; Mon, 13 Mar 2023 17:50: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 1pbmK2-0003eh-GT; Mon, 13 Mar 2023 17:50:58 +0000
Received: by outflank-mailman (input) for mailman id 509364;
 Mon, 13 Mar 2023 17:50: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=Jvaw=7F=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pbmK0-0003ea-Rw
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 17:50:56 +0000
Received: from mail-qt1-x834.google.com (mail-qt1-x834.google.com
 [2607:f8b0:4864:20::834])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9a7bff38-c1c7-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 18:50:55 +0100 (CET)
Received: by mail-qt1-x834.google.com with SMTP id l13so14093716qtv.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 10:50:55 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:ba27:ebff:fee8:ce27])
 by smtp.gmail.com with ESMTPSA id
 l7-20020ac84cc7000000b003c03b33e6f5sm209300qtv.90.2023.03.13.10.50.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Mar 2023 10:50:53 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a7bff38-c1c7-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678729854;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=arBkyp0aqn5V8rFyql7P5HqqiC0UIBGJpNUVdMrSMAs=;
        b=PwJ3flVNwuKHoATPj4GCtQN5WReQNTEThwexPzSZyVXnBpDyIo54bPTMmDE2SU4l1/
         aw3enW5khdoNr8ZkpTXoXitShmr3hJFcnYcusUTHokrfJnX3vQ+2U30NZJ2u5Z7OA6+1
         /aa9ccvbVmOQYZbzLO6o754qQKqUiDq1w1GK1Z23RAMkSnmYW//rvQ5vcU7IOPPRddr7
         G36k/ZGPsFn08e+Rz2GgocCIGpPmWszRA8ozPsNLII/gONDc9rUh8k+xGzLTqiD+LmWc
         gBsvEazjqo5wETahyO/aNl7G4Ti7YEDy7/O6sadM95RNHWoZE/XuXaDItVh/32g0UXM+
         Egsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678729854;
        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=arBkyp0aqn5V8rFyql7P5HqqiC0UIBGJpNUVdMrSMAs=;
        b=VieMxlyBkBu9Yjtu2Dam5CK23rFgvFhcbmor3Rh+vKwxtjllkrjIeMVJNi/lCVtMgZ
         lG0ME5dxYHY7kdtN0PRAgGlumPkbeQpCqNvXRKslR9did0Wxy22CK2AEuh0+6meTDjfl
         JhAfif4Y8WyANdDyAoi9qg6jQlQYqtl+VUzyVbYCN3KV38OZukemkdC1ScKhNJONBVSH
         j70kmp3Gk6UtEa6KiSQ50EyYOuaoO0ljU11J9T1r1Gb861AfytfPo5S0VfnoFtHS+t0m
         0i0J0YqPr1KHEZiM4RRhI/8zLXwu1ViLEwv6ytZaJg0wiib5qjDxOQgfh+YFjYZ652aJ
         2OyA==
X-Gm-Message-State: AO0yUKW7zGEuhGLh5VWDphQVv1eJe4u9vgpZmFkgDxsgExhZkUYc+5JF
	N+hkO4wX1nohTTMhT2hx4fW3ikPgnsU=
X-Google-Smtp-Source: AK7set/85gw//6UfHViNsu8WBbrBdOfGSLmBcaENngo5AmyqW3EtK0x00Vq0PQHAl/Zs7VBJ1Tgsqw==
X-Received: by 2002:a05:622a:1ba6:b0:3b8:3a7c:d204 with SMTP id bp38-20020a05622a1ba600b003b83a7cd204mr54264929qtb.58.1678729854351;
        Mon, 13 Mar 2023 10:50:54 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH] flask: label-pci: Allow specifying optional irq label
Date: Mon, 13 Mar 2023 13:50:47 -0400
Message-Id: <20230313175047.20719-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

IRQs can be shared between devices, so using the same label as the PCI
device can create conflicts where the IRQ is labeled with one of the
device labels preventing assignment of the second device to the second
domain.  Add the ability to specify an irq label distinct from the PCI
device, so a shared irq label can be specified.  The policy would then
be written such that the two domains can each use the shared IRQ type in
addition to their labeled PCI device.  That way we can still label most
of the PCI device resources and assign devices in the face of shared
IRQs.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>
---
v2:
Describe usage in docs/misc/xsm-flask.txt
---
 docs/misc/xsm-flask.txt       | 16 ++++++++++++++++
 tools/flask/utils/label-pci.c | 13 ++++++++++---
 2 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/docs/misc/xsm-flask.txt b/docs/misc/xsm-flask.txt
index 2419c5cf29..ba89ebbfd8 100644
--- a/docs/misc/xsm-flask.txt
+++ b/docs/misc/xsm-flask.txt
@@ -205,6 +205,22 @@ parameter, which can also be changed using xl setenforce).  When using the
 default types for domains (domU_t), the example policy shipped with Xen should
 allow the same operations on or between domains as when not using FLASK.
 
+By default, flask-label-pci labels the device, I/O ports, memory and IRQ with
+the provided label.  These are all unique per-device, except for IRQs which
+can be shared between devices.  This leads to assignment problems since vmA_t
+can't access the IRQ devB_t.  To work around this issue, flask-label-pci
+takes an optional 3rd argument to label the IRQ:
+
+    flask-label-pci 0000:03:02.0 system_u:object_r:nic_dev_t \
+        system_u:object_r:shared_irq_t
+
+The IRQ labeling only applies to the PIRQ - MSI/MSI-X interrupts are labeled
+with the main device label.
+
+The policy needs to define the shared_irq_t with:
+    type shared_irq_t, resource_type;
+
+And the policy needs to be updated to allow domains appropriate access.
 
 MLS/MCS policy
 --------------
diff --git a/tools/flask/utils/label-pci.c b/tools/flask/utils/label-pci.c
index 9ddb713cf4..897b772804 100644
--- a/tools/flask/utils/label-pci.c
+++ b/tools/flask/utils/label-pci.c
@@ -28,7 +28,7 @@
 
 static void usage (int argCnt, char *argv[])
 {
-	fprintf(stderr, "Usage: %s SBDF label\n", argv[0]);
+	fprintf(stderr, "Usage: %s SBDF label <irq_label>\n", argv[0]);
 	exit(1);
 }
 
@@ -39,12 +39,19 @@ int main (int argCnt, char *argv[])
 	int seg, bus, dev, fn;
 	uint32_t sbdf;
 	uint64_t start, end, flags;
+	char *pirq_label;
 	char buf[1024];
 	FILE *f;
 
-	if (argCnt != 3)
+	if (argCnt < 3 || argCnt > 4)
 		usage(argCnt, argv);
 
+	if (argCnt == 4) {
+	    pirq_label = argv[3];
+	} else {
+	    pirq_label = argv[2];
+	}
+
 	xch = xc_interface_open(0,0,0);
 	if ( !xch )
 	{
@@ -107,7 +114,7 @@ int main (int argCnt, char *argv[])
 	if (fscanf(f, "%" SCNu64, &start) != 1)
 		start = 0;
 	if (start) {
-		ret = xc_flask_add_pirq(xch, start, argv[2]);
+		ret = xc_flask_add_pirq(xch, start, pirq_label);
 		if (ret) {
 			fprintf(stderr, "xc_flask_add_pirq %"PRIu64" failed: %d\n",
 					start, ret);
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 17:51:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 17:51:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509365.784986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbmKI-0003xi-RV; Mon, 13 Mar 2023 17:51:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509365.784986; Mon, 13 Mar 2023 17: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 1pbmKI-0003xb-Or; Mon, 13 Mar 2023 17:51:14 +0000
Received: by outflank-mailman (input) for mailman id 509365;
 Mon, 13 Mar 2023 17:51: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=Jvaw=7F=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pbmKH-0003ea-5b
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 17:51:13 +0000
Received: from mail-qt1-x82f.google.com (mail-qt1-x82f.google.com
 [2607:f8b0:4864:20::82f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4876a84-c1c7-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 18:51:12 +0100 (CET)
Received: by mail-qt1-x82f.google.com with SMTP id w23so14083737qtn.6
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 10:51:12 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:ba27:ebff:fee8:ce27])
 by smtp.gmail.com with ESMTPSA id
 b5-20020ac86bc5000000b003b86b99690fsm224850qtt.62.2023.03.13.10.51.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Mar 2023 10:51:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4876a84-c1c7-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678729871;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=fBGCSenu5eEuM1JYJpBrFsupffZM3ZgfmT00L5GRa8U=;
        b=AlYG6ZKyfuhuQNddD/CXknNOu7ZFmUwI82p8Ch3XcJiTgp3rS5sGKXXeDbdsmGzPZP
         8BuWVVp821lV8cv3za+HFUQF4li4WiDTdVJzteAF/HnAbZZZ1vKSG73EESj8OZANtMn9
         ZAN3FkckrKPH1LVPy3pN80kpFqJE2jzGORiwgWKLmtEzJrVqrcijkYIsuUikpeB/p84L
         2M9K1C4zasZ3z/NOYvj0U4I+aMT8tdDCzeQ9asVLtSgzN8Th+YoeMyFYWas1ACv9qwjh
         ZVlxlTI5lJ5rgZvATZTVO/ypgGfoQPsi363q7uKqQsqm/WgzfJc9kbJs2Ro6IczhvkTs
         T4TA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678729871;
        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=fBGCSenu5eEuM1JYJpBrFsupffZM3ZgfmT00L5GRa8U=;
        b=QvJGsU2+0c8flxYro4ScTuFjqi/zKg7hW44WW+bz2YsfwVL3dmNG8digM6RNaZu2Hp
         rUzby1ys9os6Tja2QVjnTsgwkK5oKPsW0bR8dbjgMEg56J0iAuifG/VuoyCRonY/PlLt
         srdob0a5uw7/Hs4FfQ3YYfYBROhQ8XHrY0E2JZv4v8/zlIS/GsvpmqfwJ4d/MD9WoGgM
         r1zCkD5RG+OnmNtw3HobOTkdEgA+Dtiz1X9+0YLHe88ezlpKzuRN6Q2Xh9EbrbvybRv5
         vXtkbbcvdoeJiqrye5p6LJ54pKasMpjuHge1aprNphU++heCgnTp8qismuXHVUbMcQTK
         cf7g==
X-Gm-Message-State: AO0yUKW+fQqemD9GQD44l4qU4F+1G4v26/GBDMDO6mY02CK1NACp9C8/
	8jGmEEdBj1XXp6Ng+BxP29Yd+So0sv0=
X-Google-Smtp-Source: AK7set+UkQEeOO47apTkclYyfUMVLctKpZt+PT1Wi70g3w94U5OiRbHY2IOfeYUddwcBJP6DDV6oNA==
X-Received: by 2002:a05:622a:15ce:b0:3b8:6442:2575 with SMTP id d14-20020a05622a15ce00b003b864422575mr60438350qty.49.1678729871055;
        Mon, 13 Mar 2023 10:51:11 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH] xen/cpufreq: Remove <asm/bug.h>
Date: Mon, 13 Mar 2023 13:51:03 -0400
Message-Id: <20230313175103.20778-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The header is unneeded - there are no uses of BUG() or WARN() in these
cpufreq files.  Remove the include.  It is still include transitively
from xen/lib.h.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
 xen/arch/x86/acpi/cpufreq/cpufreq.c | 1 -
 xen/drivers/cpufreq/cpufreq.c       | 1 -
 2 files changed, 2 deletions(-)

diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index eedc7c737d..56816b1aee 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -35,7 +35,6 @@
 #include <xen/sched.h>
 #include <xen/timer.h>
 #include <xen/xmalloc.h>
-#include <asm/bug.h>
 #include <asm/msr.h>
 #include <asm/io.h>
 #include <asm/processor.h>
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index 6b2e81f1b0..9470eb7230 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -39,7 +39,6 @@
 #include <xen/guest_access.h>
 #include <xen/domain.h>
 #include <xen/cpu.h>
-#include <asm/bug.h>
 #include <asm/io.h>
 #include <asm/processor.h>
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 18:49:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 18:49:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509369.784999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbnEJ-0002Er-6W; Mon, 13 Mar 2023 18:49:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509369.784999; Mon, 13 Mar 2023 18:49:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbnEJ-0002Ek-3s; Mon, 13 Mar 2023 18:49:07 +0000
Received: by outflank-mailman (input) for mailman id 509369;
 Mon, 13 Mar 2023 18:49: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=bF6M=7F=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1pbnEH-0002Ee-Vb
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 18:49:06 +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 b4aa7b7a-c1cf-11ed-b463-930f4c7d94ae;
 Mon, 13 Mar 2023 19:48:57 +0100 (CET)
Received: from [10.10.1.128] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 167873333662692.37692466709711;
 Mon, 13 Mar 2023 11:48:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b4aa7b7a-c1cf-11ed-b463-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; t=1678733338; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=DdiEuoqwCumTuyHQZYvdZ2/4CItAiqNWx2pxX1jyoQ9vL1X5T4qz8etf6nCSUBWXOKSws3yStKFT9E30LaJL16rNOVQcA1ab7qiqewXPObEZSwGSCBc1tcnnENFy/ybVmPmTRyJs62F30qjkJpJ2WpudKWdDvC0uG4KY4z7SbE0=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1678733338; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; 
	bh=9OzqtH04IDQlWHm6oCpRrRkrahOK71fHIjql3+xCS/E=; 
	b=YbcQcfKP8UlYPmEO6ws2sY1KM7lFnDM2Al1tj912sFY9CzXgefUaTBLzFFx93UHY/csjmTWXQNdAB1h5wBnWDrT4Mc3cSD7JW2S3SbYzdVC7KLeTUCLwzExVc1aFsPnrCLnm/8OvBK6gX2U5kvB3jzSzLY8ufXzLTLVY4SBmgto=
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=1678733338;
	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=9OzqtH04IDQlWHm6oCpRrRkrahOK71fHIjql3+xCS/E=;
	b=Md1YzOEfeCs/z/Y/teCmAlx5RWDV7OCSUh9al48qo2hpG3UkEy1PXZ3tef4sm8rK
	8Y223qJLh7Ia+KKmWD7zsU7Z+Sr5mF9GmT/WthMyZAxOr3ayh58KBl4X1AsMMbLHgTJ
	z4B2nw1vmSecdiiF0dxxi7Qu1Ja7HHLk513RJMN0=
Message-ID: <a990fe77-6132-c5df-c149-6255fb13d845@apertussolutions.com>
Date: Mon, 13 Mar 2023 14:48:55 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] flask: label-pci: Allow specifying optional irq label
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230313175047.20719-1-jandryuk@gmail.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <20230313175047.20719-1-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ZohoMailClient: External

On 3/13/23 13:50, Jason Andryuk wrote:
> IRQs can be shared between devices, so using the same label as the PCI
> device can create conflicts where the IRQ is labeled with one of the
> device labels preventing assignment of the second device to the second
> domain.  Add the ability to specify an irq label distinct from the PCI
> device, so a shared irq label can be specified.  The policy would then
> be written such that the two domains can each use the shared IRQ type in
> addition to their labeled PCI device.  That way we can still label most
> of the PCI device resources and assign devices in the face of shared
> IRQs.
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> Reviewed-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> ---
> v2:
> Describe usage in docs/misc/xsm-flask.txt
> ---
>   docs/misc/xsm-flask.txt       | 16 ++++++++++++++++
>   tools/flask/utils/label-pci.c | 13 ++++++++++---
>   2 files changed, 26 insertions(+), 3 deletions(-)
> 
> diff --git a/docs/misc/xsm-flask.txt b/docs/misc/xsm-flask.txt
> index 2419c5cf29..ba89ebbfd8 100644
> --- a/docs/misc/xsm-flask.txt
> +++ b/docs/misc/xsm-flask.txt
> @@ -205,6 +205,22 @@ parameter, which can also be changed using xl setenforce).  When using the
>   default types for domains (domU_t), the example policy shipped with Xen should
>   allow the same operations on or between domains as when not using FLASK.
>   
> +By default, flask-label-pci labels the device, I/O ports, memory and IRQ with
> +the provided label.  These are all unique per-device, except for IRQs which
> +can be shared between devices.  This leads to assignment problems since vmA_t
> +can't access the IRQ devB_t.  To work around this issue, flask-label-pci
> +takes an optional 3rd argument to label the IRQ:
> +
> +    flask-label-pci 0000:03:02.0 system_u:object_r:nic_dev_t \
> +        system_u:object_r:shared_irq_t
> +
> +The IRQ labeling only applies to the PIRQ - MSI/MSI-X interrupts are labeled
> +with the main device label.
> +
> +The policy needs to define the shared_irq_t with:
> +    type shared_irq_t, resource_type;
> +
> +And the policy needs to be updated to allow domains appropriate access.
>   
>   MLS/MCS policy
>   --------------
> diff --git a/tools/flask/utils/label-pci.c b/tools/flask/utils/label-pci.c
> index 9ddb713cf4..897b772804 100644
> --- a/tools/flask/utils/label-pci.c
> +++ b/tools/flask/utils/label-pci.c
> @@ -28,7 +28,7 @@
>   
>   static void usage (int argCnt, char *argv[])
>   {
> -	fprintf(stderr, "Usage: %s SBDF label\n", argv[0]);
> +	fprintf(stderr, "Usage: %s SBDF label <irq_label>\n", argv[0]);
>   	exit(1);
>   }
>   
> @@ -39,12 +39,19 @@ int main (int argCnt, char *argv[])
>   	int seg, bus, dev, fn;
>   	uint32_t sbdf;
>   	uint64_t start, end, flags;
> +	char *pirq_label;
>   	char buf[1024];
>   	FILE *f;
>   
> -	if (argCnt != 3)
> +	if (argCnt < 3 || argCnt > 4)

style nit: space inside parens

>   		usage(argCnt, argv);
>   
> +	if (argCnt == 4) {
> +	    pirq_label = argv[3];
> +	} else {
> +	    pirq_label = argv[2];
> +	}
> +

style nit: space inside parens and curly brackets could be dropped or 
should be moved to their own lines.

>   	xch = xc_interface_open(0,0,0);
>   	if ( !xch )
>   	{
> @@ -107,7 +114,7 @@ int main (int argCnt, char *argv[])
>   	if (fscanf(f, "%" SCNu64, &start) != 1)
>   		start = 0;
>   	if (start) {
> -		ret = xc_flask_add_pirq(xch, start, argv[2]);
> +		ret = xc_flask_add_pirq(xch, start, pirq_label);
>   		if (ret) {
>   			fprintf(stderr, "xc_flask_add_pirq %"PRIu64" failed: %d\n",
>   					start, ret);

Style nits aside, LGTM.

Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 19:14:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 19:14:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509374.785013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbncs-0005yD-Ab; Mon, 13 Mar 2023 19:14:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509374.785013; Mon, 13 Mar 2023 19: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 1pbncs-0005y6-6k; Mon, 13 Mar 2023 19:14:30 +0000
Received: by outflank-mailman (input) for mailman id 509374;
 Mon, 13 Mar 2023 19:14: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=Jvaw=7F=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pbncr-0005xz-Am
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 19:14:29 +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 3bb94019-c1d3-11ed-b463-930f4c7d94ae;
 Mon, 13 Mar 2023 20:14:10 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id cn21so22775754edb.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 12:14:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3bb94019-c1d3-11ed-b463-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678734866;
        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=V2Z/JwvQAbkq+jbR35+zT7Gv5+mYDXu9h5Itgt8QB4g=;
        b=PacRZHXFlrHn8DgGrtmp/4+mOw3R6cxdIlww9hm2snjvQv5h1wHHKOLy9WJ6qADZ5T
         lVuBWIs5os82/4ePa8OHEF2YYeHV6h63wN0Hz38IPKe2undUi13NgDQlqrlneYQwKFxW
         AyA48umLBx8b5bnxw71tUeVH/NNLjg5ChPdjIhKCtavHguLwFY9aIEAs2zJtOInl0QXV
         C6cKp2sUVqAb/UF2uH8qj/xiXtu/EAiWdM7AD+vdhDAYRp3a4n90p26v15zoTpbKWuTv
         f88tXFjihrBLGqUUzi5dXUZPW78hb0ryvrk90D9Tbf7q5aWyuLCq49A6HtefYUh8SQo5
         v85Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678734866;
        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=V2Z/JwvQAbkq+jbR35+zT7Gv5+mYDXu9h5Itgt8QB4g=;
        b=Oj7sVyTvYvcY4NiXtJ3fYljHaFlN6RXPK+icfMsDmyLLSlwi8WBdrqEpSQex56nUQL
         x0c2N1GbpvAnaR2VxlUGnWtmx+PhVV0WS2Q8K8gZuNfBSg6/OpdllSTRbwDHKA4ODdk3
         gfht5sqDgwQTkliJxRq7qCpmXevUVj8TpY/HcAdHvl6vGfMW7EzDrOmM/1nvkpTPu1hc
         u+ZpkEBb8YeQQjg3kM2R9S+Ed0dVFGElAZrm1XKSiSEPROYhJx9E+uXpG5QbgfVgGfLH
         E+pswJ58g2+hL+X6HWFj6ShsvOnkI3PP+2nlkgbmQCMQjiLS3bv2n5A6lEvwwXpNl0mD
         RYxg==
X-Gm-Message-State: AO0yUKUzYVv26XeKWJY2JoNuaNyYnekdx/MSPH7fqarUC5MMM35WCEnx
	q2xzWuy4XydQ5vxWlll7q9eV3SA9LJAmZDL0tVW1UL455vA=
X-Google-Smtp-Source: AK7set801lIQQHZJGnfW9V4W5IhO6zq7jFjzBE36Qsk8ydsMs844sKhD7bb1EYRUj8brPko1ymVTqhsZrNinVJDMApI=
X-Received: by 2002:a17:907:9618:b0:91f:79d3:d3e2 with SMTP id
 gb24-20020a170907961800b0091f79d3d3e2mr4277945ejc.3.1678734866078; Mon, 13
 Mar 2023 12:14:26 -0700 (PDT)
MIME-Version: 1.0
References: <20230313175047.20719-1-jandryuk@gmail.com> <a990fe77-6132-c5df-c149-6255fb13d845@apertussolutions.com>
In-Reply-To: <a990fe77-6132-c5df-c149-6255fb13d845@apertussolutions.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 13 Mar 2023 15:14:13 -0400
Message-ID: <CAKf6xpt02aK7SWNb=xB3kKZB3Dt9UC8mMKMVz5kq96uNJvdzbQ@mail.gmail.com>
Subject: Re: [PATCH] flask: label-pci: Allow specifying optional irq label
To: "Daniel P. Smith" <dpsmith@apertussolutions.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 Mon, Mar 13, 2023 at 2:49=E2=80=AFPM Daniel P. Smith
<dpsmith@apertussolutions.com> wrote:
> On 3/13/23 13:50, Jason Andryuk wrote:
> >               usage(argCnt, argv);
> >
> > +     if (argCnt =3D=3D 4) {
> > +         pirq_label =3D argv[3];
> > +     } else {
> > +         pirq_label =3D argv[2];
> > +     }
> > +
>
> style nit: space inside parens and curly brackets could be dropped or
> should be moved to their own lines.

This file doesn't follow Xen style.  I think dropping the curly braces
is fine, but the lack of spaces 'if (argCnt =3D=3D 4)' should stay for
consistency.  Does that sound okay?

> >       xch =3D xc_interface_open(0,0,0);
> >       if ( !xch )
> >       {
> > @@ -107,7 +114,7 @@ int main (int argCnt, char *argv[])
> >       if (fscanf(f, "%" SCNu64, &start) !=3D 1)
> >               start =3D 0;
> >       if (start) {
> > -             ret =3D xc_flask_add_pirq(xch, start, argv[2]);
> > +             ret =3D xc_flask_add_pirq(xch, start, pirq_label);
> >               if (ret) {
> >                       fprintf(stderr, "xc_flask_add_pirq %"PRIu64" fail=
ed: %d\n",
> >                                       start, ret);
>
> Style nits aside, LGTM.
>
> Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 19:17:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 19:17:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509376.785023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbnfM-0006Yu-Nr; Mon, 13 Mar 2023 19:17:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509376.785023; Mon, 13 Mar 2023 19:17: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 1pbnfM-0006Yn-JL; Mon, 13 Mar 2023 19:17:04 +0000
Received: by outflank-mailman (input) for mailman id 509376;
 Mon, 13 Mar 2023 19:17: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 1pbnfL-0006Yc-Jb; Mon, 13 Mar 2023 19:17: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 1pbnfL-0004kO-E8; Mon, 13 Mar 2023 19:17: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 1pbnfK-0004HP-WE; Mon, 13 Mar 2023 19:17:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbnfK-0005TG-Vi; Mon, 13 Mar 2023 19:17:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1nn8BgnEGuMZ22LgGklJbYFNUl091IscuEdgFU7Inq0=; b=bejfIF70cJxmynBf9+3YbR1x4A
	htTFq4r1WD4GjS9jxVHvdK8BQsvj4RE3B65AP+2Evjwa6bkcKb9pNkfthaNGuIczMHDNVST8h6M0J
	lYCEg423d0CC6yQdExDqF225246JmXhcp2g2O7Izd4TA+/SCRwkELBBif5Zx2aIphK3o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179593-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179593: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop: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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=eeac8ede17557680855031c6f305ece2378af326
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 13 Mar 2023 19:17:02 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 18 guest-localmigrate    fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 18 guest-localmigrate    fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      19 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 27 guest-migrate/dst_host/src_host fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 17 guest-saverestore.2 fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm     18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

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

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                eeac8ede17557680855031c6f305ece2378af326
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   20 days
Failing since        178093  2023-02-22 05:02:47 Z   19 days   39 attempts
Testing same since   179593  2023-03-13 04:17:35 Z    0 days    1 attempts

------------------------------------------------------------
2120 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 19:58:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 19:58:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509381.785036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pboJC-00036T-RU; Mon, 13 Mar 2023 19:58:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509381.785036; Mon, 13 Mar 2023 19: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 1pboJC-00036M-Oj; Mon, 13 Mar 2023 19:58:14 +0000
Received: by outflank-mailman (input) for mailman id 509381;
 Mon, 13 Mar 2023 19:58: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=Jvaw=7F=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pboJB-00036C-JP
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 19:58:13 +0000
Received: from mail-qv1-xf30.google.com (mail-qv1-xf30.google.com
 [2607:f8b0:4864:20::f30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 612f644a-c1d9-11ed-b463-930f4c7d94ae;
 Mon, 13 Mar 2023 20:58:11 +0100 (CET)
Received: by mail-qv1-xf30.google.com with SMTP id t13so2093240qvn.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 12:58:10 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:ba27:ebff:fee8:ce27])
 by smtp.gmail.com with ESMTPSA id
 24-20020ac85658000000b003b85ed59fa2sm428476qtt.50.2023.03.13.12.58.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Mar 2023 12:58: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: 612f644a-c1d9-11ed-b463-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678737489;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=RAV4seBl4GnX8c6NM8zRqsU6jrCuITbMY/50NF12Ke0=;
        b=XkWg78eWgBzHajm3d6qthS07nhYJeFHFxIh7fla58wJsO0a/7HdQB60paKO6Q2+fIW
         lb10Js/7X5oDwIDml+jU36lh5557tL/LFX7kAYLNeZunAnvnJ5OkKHTdLQliNw35ohgd
         5d3QoOR/3GmXgYWLs4Wxjo6XYvjWJoHhdWT7ZJYzqsuVBkrvopXqhvt5JOr4AII1QETL
         ZhhtFxsQEBChrQaMeSCmsDu4ujdV2hthKRBCGl26pQ8zi4EuWVhbi3Rwn0bNSJYi5Hjc
         w4SbEzIrOL2fCtwsude1NAiOaONAlMAqUEy3giIgCJL3cKQa1HSkjEB7zeCdAsLZfFsX
         8UAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678737489;
        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=RAV4seBl4GnX8c6NM8zRqsU6jrCuITbMY/50NF12Ke0=;
        b=VARtH48JuW8RMbyPiOxUs9JUF/Rhc0zMr6hIkZAL+rZk8ZqFIhveBrIS20gW0ipXxk
         IG+Zes1dMCMbfqiB1HMm10zh5a6WpLJ3VAuXZDxXAqcGPRE+X6z8QzRvs6eITfWWdt9Q
         EHCjSTfdmB2YL8OI8+o3c2X2czCyPpLDzoU4htqnu26nM/YUJfFNIE29hah/8qtjYxO7
         uAwm0kulB8b9PVUW0KI5ZgVHPxgywz2wEtf59r1W+xooH1pKDyGd6m+TNhS7j42hCAjR
         ZMehZKEqLvJXYDEKUKqKPDOXSQy3Chm8TqH8D6XPSY98+tehdL0T0QRyH+ZvXw1N/x2G
         8ZhA==
X-Gm-Message-State: AO0yUKWtWL6IIPScDB8PGyMeGP3JVcXuA9Bbht54ymQymSBgCkvA0ulp
	/NzfhJuIkdCwJ0cHC+9B0bib2XXzmAQ=
X-Google-Smtp-Source: AK7set9KoFKm+AMs28Qxujoqt45q6obyjISqJj4M8UbpuB01uPJ38pM4VUxxAvIlCLAdqAMsO/Yr5A==
X-Received: by 2002:a05:6214:dce:b0:56e:a4c5:9da5 with SMTP id 14-20020a0562140dce00b0056ea4c59da5mr15447421qvt.6.1678737489104;
        Mon, 13 Mar 2023 12:58:09 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] libxl: Fix libxl__device_pci_reset error messages
Date: Mon, 13 Mar 2023 15:57:55 -0400
Message-Id: <20230313195755.35949-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Don't use the LOG*D macros.  They expect a domid, but "domain" here is
the PCI domain.  Hence it is inappropriate for this use.

Make the write error messages uniform with LOGE.  errno has the
interesting information while rc is just -1.  Drop printing rc and use
LOGE to print errno as text.

The interesting part of a failed write to do_flr is that PCI BDF, so
print that.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/libs/light/libxl_pci.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index f4c4f17545..27d9dbff25 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -1554,27 +1554,27 @@ static int libxl__device_pci_reset(libxl__gc *gc, unsigned int domain, unsigned
         char *buf = GCSPRINTF(PCI_BDF, domain, bus, dev, func);
         rc = write(fd, buf, strlen(buf));
         if (rc < 0)
-            LOGD(ERROR, domain, "write to %s returned %d", reset, rc);
+            LOGE(ERROR, "write '%s' to %s failed", buf, reset);
         close(fd);
         return rc < 0 ? rc : 0;
     }
     if (errno != ENOENT)
-        LOGED(ERROR, domain, "Failed to access pciback path %s", reset);
+        LOGE(ERROR, "Failed to access pciback path %s", reset);
     reset = GCSPRINTF("%s/"PCI_BDF"/reset", SYSFS_PCI_DEV, domain, bus, dev, func);
     fd = open(reset, O_WRONLY);
     if (fd >= 0) {
         rc = write(fd, "1", 1);
         if (rc < 0)
-            LOGED(ERROR, domain, "write to %s returned %d", reset, rc);
+            LOGE(ERROR, "write to %s failed", reset);
         close(fd);
         return rc < 0 ? rc : 0;
     }
     if (errno == ENOENT) {
-        LOGD(ERROR, domain,
-             "The kernel doesn't support reset from sysfs for PCI device "PCI_BDF,
-             domain, bus, dev, func);
+        LOG(ERROR,
+            "The kernel doesn't support reset from sysfs for PCI device "PCI_BDF,
+            domain, bus, dev, func);
     } else {
-        LOGED(ERROR, domain, "Failed to access reset path %s", reset);
+        LOGE(ERROR, "Failed to access reset path %s", reset);
     }
     return -1;
 }
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 13 21:11:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 21:11:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509386.785045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbpRy-00043y-76; Mon, 13 Mar 2023 21:11:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509386.785045; Mon, 13 Mar 2023 21: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 1pbpRy-00043r-4J; Mon, 13 Mar 2023 21:11:22 +0000
Received: by outflank-mailman (input) for mailman id 509386;
 Mon, 13 Mar 2023 21: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=AHq2=7F=gmail.com=dpsmith.dev@srs-se1.protection.inumbo.net>)
 id 1pbpRx-00043k-Kb
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 21:11:21 +0000
Received: from mail-qt1-x82c.google.com (mail-qt1-x82c.google.com
 [2607:f8b0:4864:20::82c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9943f0a0-c1e3-11ed-87f5-c1b5be75604c;
 Mon, 13 Mar 2023 22:11:19 +0100 (CET)
Received: by mail-qt1-x82c.google.com with SMTP id c18so14753965qte.5
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 14:11:19 -0700 (PDT)
Received: from [10.10.1.128] (static-72-81-132-2.bltmmd.fios.verizon.net.
 [72.81.132.2]) by smtp.gmail.com with ESMTPSA id
 he3-20020a05622a600300b003b2ea9b76d0sm531480qtb.34.2023.03.13.14.11.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Mar 2023 14:11: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: 9943f0a0-c1e3-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678741878;
        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=XxjfrC1RVzowEsrbiQt3NxdAPBiEVLmHFpGZAw3vd74=;
        b=OfIMkdTF+8iIL629XaxNH0Jf7dAwGJIQ/akYY/xZlgqNfYTZ2uZ/ai8aS6uKU0dfMg
         6qhu6UTqLnIGDp+Pe6DGyyeC0N8Btqqs8lZmRN8Gk+W1tmCfbTiktmFiuc6p1XkHjuQp
         dj3mId8zZpHtcky/mOrgSIFv8LjyOsQe3+Z1l8MU9RjhvBP6Q1cftscI+9W2Pfwk25Qk
         fPWIDMDY/MNYG6/EuCSxhCf7m7hDo8NsLEHtjIUT10SfuoWugGU1vxk+hU9WVJZSmSMD
         rAEQ9Waoof2Bfhp3au9dEzSHm6AiqNtx1qZoT9bjmY4g6AaR8OD9Sq68rFh1J50IXt5M
         L3uw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678741878;
        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=XxjfrC1RVzowEsrbiQt3NxdAPBiEVLmHFpGZAw3vd74=;
        b=xwpeihtV2jwpAUYw9V5xGjsaS8nsUQ3F5pdqxSjeM6A+VEeaJxLtHpevcA0IXdz+9q
         06XyNCHKRGO/j9suxKtnMex7JAPR80dFCE2mhixilhBIqBdHP8jUwzMxy3/C9qXFPaqy
         5aizvduWxFYMq2cygfDqa+j0Aj6rVs9oMpV3RWNEw2IQhbsMRzDQIeYRbs1pC1irs/hP
         aR0zyQJK7d00roAxRgmLD/7Ictd9zPcqpMSd8ssPGfhCDrcD/66godwGpYDRP6zuVCzs
         jHJQ+TlmZ0frvM8tdyBYQNAG+iM97dl/TdhivZ9XjoA6j3ZemksxH3I+gdTeL+ZkGSLM
         2J3w==
X-Gm-Message-State: AO0yUKVyfDbC2dki6vjGwOk7U+IizjUzoQYWpQmKx6tt6Y15eICLA5O1
	8eJCpKglQwZAmFlYm4YpGUQ=
X-Google-Smtp-Source: AK7set9SjO3qTMLNBsvz/fTTNMfBfYnBakPz802pwHaNPzoiIUcnqKUMJ7JyqfY837saYa9LTbeIRQ==
X-Received: by 2002:ac8:7f02:0:b0:3bf:c6ec:e960 with SMTP id f2-20020ac87f02000000b003bfc6ece960mr29916903qtk.32.1678741878526;
        Mon, 13 Mar 2023 14:11:18 -0700 (PDT)
Message-ID: <d17d7b39-28ce-55a6-8d2b-fe2dfd10c38d@gmail.com>
Date: Mon, 13 Mar 2023 17:11:17 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] flask: label-pci: Allow specifying optional irq label
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20230313175047.20719-1-jandryuk@gmail.com>
 <a990fe77-6132-c5df-c149-6255fb13d845@apertussolutions.com>
 <CAKf6xpt02aK7SWNb=xB3kKZB3Dt9UC8mMKMVz5kq96uNJvdzbQ@mail.gmail.com>
From: "dpsmith.dev" <dpsmith.dev@gmail.com>
In-Reply-To: <CAKf6xpt02aK7SWNb=xB3kKZB3Dt9UC8mMKMVz5kq96uNJvdzbQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 3/13/23 15:14, Jason Andryuk wrote:
> On Mon, Mar 13, 2023 at 2:49 PM Daniel P. Smith
> <dpsmith@apertussolutions.com> wrote:
>> On 3/13/23 13:50, Jason Andryuk wrote:
>>>                usage(argCnt, argv);
>>>
>>> +     if (argCnt == 4) {
>>> +         pirq_label = argv[3];
>>> +     } else {
>>> +         pirq_label = argv[2];
>>> +     }
>>> +
>>
>> style nit: space inside parens and curly brackets could be dropped or
>> should be moved to their own lines.
> 
> This file doesn't follow Xen style.  I think dropping the curly braces
> is fine, but the lack of spaces 'if (argCnt == 4)' should stay for
> consistency.  Does that sound okay?
>

Hmm, I thought there was interest in getting everything in tree 
consistent, maybe I am mistaken. I am not hard pressed to enforce the 
style. Unless someone else objects, I am good with your proposal.

>>>        xch = xc_interface_open(0,0,0);
>>>        if ( !xch )
>>>        {
>>> @@ -107,7 +114,7 @@ int main (int argCnt, char *argv[])
>>>        if (fscanf(f, "%" SCNu64, &start) != 1)
>>>                start = 0;
>>>        if (start) {
>>> -             ret = xc_flask_add_pirq(xch, start, argv[2]);
>>> +             ret = xc_flask_add_pirq(xch, start, pirq_label);
>>>                if (ret) {
>>>                        fprintf(stderr, "xc_flask_add_pirq %"PRIu64" failed: %d\n",
>>>                                        start, ret);
>>
>> Style nits aside, LGTM.
>>
>> Acked-by: Daniel P. Smith <dpsmith@apertussolutions.com>
> 
> Thanks,
> Jason
> 


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 21:56:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 21:56:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509389.785058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbq9Y-0000j4-Jk; Mon, 13 Mar 2023 21:56:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509389.785058; Mon, 13 Mar 2023 21: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 1pbq9Y-0000ix-Ge; Mon, 13 Mar 2023 21:56:24 +0000
Received: by outflank-mailman (input) for mailman id 509389;
 Mon, 13 Mar 2023 21:56: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 1pbq9X-0000im-SB; Mon, 13 Mar 2023 21:56: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 1pbq9X-0008PZ-PB; Mon, 13 Mar 2023 21:56: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 1pbq9X-0004D4-9w; Mon, 13 Mar 2023 21:56:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbq9X-0001oH-9S; Mon, 13 Mar 2023 21: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PaaXS/p+3bNbTK90sXluWm0eFqI8twLRJNJ4HItgX5k=; b=Zr3u1HQYMXOgYDTOpnYvNMHzLf
	NesiFDPcj3WBBy/q4Lghdf/VB6OXg3/QXwu7ZiZY93kXVpgIvXkLmg15zVqjD+LNatH016CJdKolk
	OusSz9oyZSwrDQUMGjfJUr2GZAJfv2aUm0hikrPncjbt2Q+9BUP1ttH77tPBFzhvBUF8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179596-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179596: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-i386-xl-xsm:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 13 Mar 2023 21:56:23 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-xsm        7 xen-install                fail pass in 179588
 test-amd64-i386-xl-qemuu-win7-amd64 12 windows-install     fail pass in 179588

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop   fail in 179588 like 179518
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 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-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    4 days
Failing since        179526  2023-03-10 01:53:40 Z    3 days    7 attempts
Testing same since   179588  2023-03-12 22:07:17 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 13 23:17:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Mar 2023 23:17:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509394.785072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbrQ7-0001xY-JD; Mon, 13 Mar 2023 23:17:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509394.785072; Mon, 13 Mar 2023 23:17: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 1pbrQ7-0001xR-GM; Mon, 13 Mar 2023 23:17:35 +0000
Received: by outflank-mailman (input) for mailman id 509394;
 Mon, 13 Mar 2023 23:17: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=Jvaw=7F=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pbrQ5-0001xK-MC
 for xen-devel@lists.xenproject.org; Mon, 13 Mar 2023 23:17:33 +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 3700202f-c1f5-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 00:17:25 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id k10so55051292edk.13
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 16:17: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: 3700202f-c1f5-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678749450;
        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=/9I78Cyb92tlpD0pxxthBhr0hJmIIDxB9AXNX2L7yYo=;
        b=EztFVng3SMqRAMPFyRS2iqTlFyw/musIq4ZJTe6tpYxuznXla+KIuslhxzYHyfhwNY
         qJU2ErDWAYkO70AIsZR0jdqw8GSgKpDZdSHs+i/GfCgaVouf6HZ1Bbmf4bGt49SVq9+M
         Zffa3RVsrNjUELLx5VU6cBqFSbLE1BVyblqFAT9RB4W4PELSryrSH6xF9maEQIUnyNe2
         oXh4w0krevPgXnFCWZmyaeaZpf0pWElTKMO3ZdNw6vtni3icuxTtZ1FMEeP/57weMbQW
         7htMQVV32odcxZyG9b4VjGOI+JGivhDUgS6KRgVOeJ9G5KRUYYNCwAfbcmVVrhlkbTuD
         chZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678749450;
        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=/9I78Cyb92tlpD0pxxthBhr0hJmIIDxB9AXNX2L7yYo=;
        b=vbS5CfMTFOyhHWr7dSM/rEb1HgitQ1x79bKVm8pIWf6Xd0xWKK8W588xPElFlhAyTD
         vvTyAPLDEyJhVedV3p/l1nP9FZ6fdJhatTnK3G8lBFKp2Mm9SdcDszE9xnq3lbYthw0E
         CAA4lthzT6Q+TWdt8jDHEEb68b7RSEhrVvc0lrXj5eRkJBvUDIr5cfQqhp93ZuN39h69
         MuFVevTRLGQAgEJMRQu63b71B8T1joHy+bUuNu8idDyhUN3AC7v3NC8PF6zdKI6dUhhC
         7IWHIAjHipItlkPVYDtwfT2cSBVgdsXDfPmNtIukUUvICrjTkfI9PajqtvLlwFBKtQDC
         aNwg==
X-Gm-Message-State: AO0yUKUCrqYZWae1OH4FpYn7+btAiWDFVBtu427FSUvM1XrK1D71EgvI
	XUksMdWsKXHopEMAq+WLIE5/G7ks7PTbQJpCXaU=
X-Google-Smtp-Source: AK7set97PfEpqjdeGqjYGfSvaN6ETH7lY49N26u1x9C+z7Z//EzMqhrvs+2EgL2O0xxKu2hDGBaQ/lkq9hbPNc3KQVE=
X-Received: by 2002:a17:907:e91:b0:924:32b2:e3d1 with SMTP id
 ho17-20020a1709070e9100b0092432b2e3d1mr146951ejc.3.1678749450023; Mon, 13 Mar
 2023 16:17:30 -0700 (PDT)
MIME-Version: 1.0
References: <20230307182707.2298618-1-dwmw2@infradead.org> <20230307182707.2298618-14-dwmw2@infradead.org>
 <CAKf6xpuH2E=16s1jFvgL9J723wv0dhBD5aYWP2NBNj5rZio2jg@mail.gmail.com> <5062bef5b5cfd3e2d7f313de9af306f5e4f841f5.camel@infradead.org>
In-Reply-To: <5062bef5b5cfd3e2d7f313de9af306f5e4f841f5.camel@infradead.org>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 13 Mar 2023 19:17:17 -0400
Message-ID: <CAKf6xptRmeVmH3xmF8QffQA=aYeXxCWUw9ta2HaYx1xQngzjTA@mail.gmail.com>
Subject: Re: [PULL 13/27] hw/xen: Add xenstore operations to allow redirection
 to internal emulation
To: David Woodhouse <dwmw2@infradead.org>
Cc: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Paul Durrant <paul@xen.org>, 
	Joao Martins <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com, 
	Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, 
	Juan Quintela <quintela@redhat.com>, "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi, David,

On Mon, Mar 13, 2023 at 4:45=E2=80=AFAM David Woodhouse <dwmw2@infradead.or=
g> wrote:
>
> On Sun, 2023-03-12 at 15:19 -0400, Jason Andryuk wrote:
> >
> > This breaks dm_restrict=3D1 since the xs_open is not allowed by the
> > time
> > this is called.  There are other evtchn errors before this as well:
> > # cat /var/log/xen/qemu-dm-debian.log
> > char device redirected to /dev/pts/8 (label serial0)
> > xen be core: can't open evtchn device
> > xen be core: can't open evtchn device
> > xen be core: can't open evtchn device
> > xen be core: can't open evtchn device
> > xen be core: can't open evtchn device
> > xen be core: can't open evtchn device
> > xen be core: can't open evtchn device
> > xen be core: can't open evtchn device
> > Could not contact XenStore
> >
> > Ok, those "xen be core: can't open evtchn device" were there before
> > the recent changes and seem to be non-fatal.
>
> Hm, I *think* we can just revert that part and use the global
> 'xenstore' like we did before, except via the new ops.
>
> --- a/accel/xen/xen-all.c
> +++ b/accel/xen/xen-all.c
> @@ -32,28 +32,18 @@ xendevicemodel_handle *xen_dmod;
>
>  static void xenstore_record_dm_state(const char *state)
>  {
> -    struct xs_handle *xs;
>      char path[50];
>
> -    /* We now have everything we need to set the xenstore entry. */
> -    xs =3D xs_open(0);
> -    if (xs =3D=3D NULL) {
> -        fprintf(stderr, "Could not contact XenStore\n");
> -        exit(1);
> -    }
> -
>      snprintf(path, sizeof (path), "device-model/%u/state", xen_domid);
>      /*
>       * This call may fail when running restricted so don't make it fatal=
 in
>       * that case. Toolstacks should instead use QMP to listen for state =
changes.
>       */
> -    if (!xs_write(xs, XBT_NULL, path, state, strlen(state)) &&
> +    if (!qemu_xen_xs_write(xenstore, XBT_NULL, path, state, strlen(state=
)) &&
>              !xen_domid_restrict) {
>          error_report("error recording dm state");
>          exit(1);
>      }
> -
> -    xs_close(xs);
>  }

This looks good, better than what I posted, and seems to work for both
dm_restrict set and unset.

>
> Alternatively, that xs_write is destined to fail anyway in the
> xen_domid_restrict case, isn't it? So the xs_open() should be allowed
> to fail similarly. Or perhaps we shouldn't even *try*?

For dm_restricted, xs_write() does fail.  I verified that with a print
statement.  I think "shouldn't even try" makes sense.  I'm thinking
that  xen_domid_restricted shouldn't even add the callback.  Something
like:

--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -39,8 +39,7 @@ static void xenstore_record_dm_state(const char *state)
      * This call may fail when running restricted so don't make it fatal i=
n
      * that case. Toolstacks should instead use QMP to listen for
state changes.
      */
-    if (!qemu_xen_xs_write(xenstore, XBT_NULL, path, state, strlen(state))=
 &&
-            !xen_domid_restrict) {
+    if (!qemu_xen_xs_write(xenstore, XBT_NULL, path, state, strlen(state))=
) {
         error_report("error recording dm state");
         exit(1);
     }
@@ -101,7 +100,10 @@ static int xen_init(MachineState *ms)
         xc_interface_close(xen_xc);
         return -1;
     }
-    qemu_add_vm_change_state_handler(xen_change_state_handler, NULL);
+
+    if(!xen_domid_restrict)
+        qemu_add_vm_change_state_handler(xen_change_state_handler, NULL);
+
     /*
      * opt out of system RAM being allocated by generic code
      */

That works for both dm_restrict 0 & 1.

I think you should submit your change and I can follow up with the
above if it seems desirable.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 01:15:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 01:15:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509403.785088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbtFs-0005SA-IY; Tue, 14 Mar 2023 01:15:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509403.785088; Tue, 14 Mar 2023 01:15: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 1pbtFs-0005S3-Eg; Tue, 14 Mar 2023 01:15:08 +0000
Received: by outflank-mailman (input) for mailman id 509403;
 Tue, 14 Mar 2023 01:15: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=xZxk=7G=web.de=tachyon_gun@srs-se1.protection.inumbo.net>)
 id 1pbtFr-0005Rx-5G
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 01:15:07 +0000
Received: from mout.web.de (mout.web.de [212.227.15.14])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a69ee17f-c205-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 02:15:05 +0100 (CET)
Received: from [185.71.171.210] ([185.71.171.210]) by web-mail.web.de
 (3c-app-webde-bs22.server.lan [172.19.170.22]) (via HTTP); Tue, 14 Mar 2023
 02:15:03 +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: a69ee17f-c205-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
	t=1678756504; i=tachyon_gun@web.de;
	bh=XY2+nkIiZkcoQyfuUeewwAzpVCKrCOwHxQeazcGTW70=;
	h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
	b=Ifp4QY8OnuGFxuBaDH4HMPJrJy+HwGww5/Ytf6Fu1CQQLwqkQUc4ZvugbRaHISVY3
	 C2k41xhi1IOS+v0qnpNjRo9oxlGvPshTYvUMh4M8HdT4lt9wnBH2XAdZrZXvxLFMOc
	 damDMIHx6DYH9oQHubQgiARL/kwZBNDaII5lirOO9T7fNnvvmGyzuxtd+PYXqQMqK1
	 MfN23YHhs+MFuy59XM7wMvIMlocNYNmIdxS6VkW3vOGNR+rcR7u0mcJySRKt/kHUA/
	 u2tSBba5JdJCFLzkBkGYxm/p2v5VFb4eZJyC8SeNhVcNWxCO5OmanYVJUTD9bAUxrV
	 iA1cYE4ZEQ2VA==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
MIME-Version: 1.0
Message-ID: <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
From: Denis <tachyon_gun@web.de>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Aw: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from
 Xen 4.0.1
Content-Type: text/plain; charset=UTF-8
Date: Tue, 14 Mar 2023 02:15:03 +0100
Importance: normal
Sensitivity: Normal
In-Reply-To: <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
Content-Transfer-Encoding: quoted-printable
X-UI-Message-Type: mail
X-Priority: 3
X-Provags-ID: V03:K1:N0m0/xAO2QlHWb6XSuTrCEUSww9RfRIN1+Yojk8CQFhQu7jGmq4ktubJGs5ItIDXgCfIx
 a8kbTbfgp5zgbbMNRuZvsUYYUAOpGEyIvTVW1t/WL4XMDGHlhdebwYVzhSRSSuKNBam1c0XfR/iy
 d5ZeYBfOPWbLQ6WuYLOhmFSqnKr0ot0dIYY6Aw7JY2vJojO7MwinT42p7f5tAOFcHDLp3M9wDu88
 zGMuaIECEfj2ihlVfeDTTZEg5N3w3hO6d984AQtR0c/FreVB4duwGhcx2koRbvee1xQsnlwXk+xK
 Qc=
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:RtjRjOo5Zdo=;Zl9E5gBCLGGCt2GosUOt1CRqfR3
 9kA8QdLB2eGvonCy8abJRUelmERFBFI3Z0JpLyyyUB5IL9P8Kh8O+IYTA9tVjNvJww2wt2TVR
 v/N+pQCb2lok/PFWMTaglRNrxGACDhBnoomlVgtYX4BelXjAHCkEr5Yjb72p+QZmIlApkf/bf
 LWQo1ZXWMOZs8QSykt4IlzJUfOFdGazO8oCjeOAdm7chVmzQKcueUKSC8vXMZH5ItnIY+2w9l
 +xZmEhvMWNZHHJbe1Y5d7GdAzw2LdN1wSE4oLnRE0wbwi1AtTOpXunAxULUP3Ud0H2SfSbFUG
 KLVPcfYDr8X865zvgFjHagq2U+NkxefDqm8SZ77BjEuLkEotwx7bjPKZrVFXvM+5FkQdK14C2
 ylwHoHe1d5dDAKdoVNf5E1Mk8pn+iY71LWM+RCJV2yD7loRwAkTx4bhiTZtsQV/5EsFgK258B
 7yAKmZ9/2o8jhvSXQ7sda5Y+k27gVbNr+bHn14HovnTKG0v2T3MUun6m08TjAfGXViED9nFAY
 E4kTB4epvbxw4Zbq1qf/s9AgnFvQfnoO5A87zCYXWNMlrpAuZgZ8m3+mnbxK9OJuUcHqnUGjd
 bgDFRwcHzKiJubXuP6umGp6uDJ/zpvK3lYGAnuqBOqgqSnKFOkzuNjbibECZ3A/3QpdqltN3a
 iowoo8GEMyo5Z3lT/iajZ2YMQhkHt1WycQKRLfR9Ju8REzh17pjYQ+pjZzv2kQjqHdfhHiAWF
 UGJV0x9jwWKucpkJDSR5GvElQGdZViOKWrg+o0+eFiTqH1UnaWM7SDKh/MOGbnMzCG7/B1+F3
 JfgOnAuUEdRYSnuxxtJOWnaA==

On 13=2E03=2E2023 10:36, Jan wrote
> On 10=2E03=2E2023 21:50, Denis wrote:
> > On 10=2E03=2E2023 09:51, Jan Beulich wrote:
> >> On 09=2E03=2E2023 21:37, Andrew Cooper wrote:
> >>> On 09/03/2023 7:34 pm, tachyon_gun@web=2Ede wrote:
> >>>> A short snippet of what I see when invoking "xl dmesg":
> >>>> =C2=A0
> >>>> (XEN) No southbridge IO-APIC found in IVRS table
> >>>> (XEN) AMD-Vi: Error initialization
> >>>> (XEN) I/O virtualisation disabled=C2=A0
> >>>> =C2=A0
> >>>> What I would like to see (taken from Xen=C2=A04=2E0=2E1 running on =
Debian
> >>>> Squeeze, in use since 2011):
> >>>> =C2=A0
> >>>> (XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-2=
3
> >>>> (XEN) Enabling APIC mode: =C2=A0Flat=2E =C2=A0Using 1 I/O APICs
> >>>> (XEN) Using scheduler: SMP Credit Scheduler (credit)
> >>>> (XEN) Detected 2611=2E936 MHz processor=2E
> >>>> (XEN) Initing memory sharing=2E
> >>>> (XEN) HVM: ASIDs enabled=2E
> >>>> (XEN) HVM: SVM enabled
> >>>> (XEN) HVM: Hardware Assisted Paging detected=2E
> >>>> (XEN) AMD-Vi: IOMMU 0 Enabled=2E
> >>>> (XEN) I/O virtualisation enabled
> >>>> =C2=A0
> >>>> My question would be if this is=C2=A0"normal" behaviour due to olde=
r hardware
> >>>> being used with newer versions of Xen (compared to the old 4=2E0=2E=
1) or if
> >>>> this is=C2=A0a bug=2E
> >>>> If the latter, has this been addressed already in newer version (4=
=2E14+)?
> >>
> >> No, the code there is still the same=2E The commit introducing the ch=
eck
> >> (06bbcaf48d09 ["AMD IOMMU: fail if there is no southbridge IO-APIC"])
> >> specifically provided for a workaround: "iommu=3Dno-intremap" on the =
Xen
> >> command line=2E Could you give this a try? (As per below this could b=
e
> >> what we want to do "automatically" in such a situation, i=2Ee=2E with=
out
> >> the need for a command line option=2E But you then still would face a
> >> perceived regression of interrupt remapping being disabled on such a
> >> system=2E)
> >>
> >> The other possible workaround, "iommu=3Dno-amd-iommu-perdev-intremap"=
,
> >> is something I rather wouldn't want to recommend, but you may still
> >> want to give it a try=2E
> > =20
> > Thanks for your reply=2E
> >=20
> > I added the lines you suggested and it seems that "AMD-Vi: IOMMU 0" an=
d
> > "I/O virtualisation" is enabled again=2E
>=20
> Good - that'll have to do as a workaround for the time being=2E
>=20
> > There are only minor differences in the "xl dmesg" output=2E
> > In the one with "iommu=3Dno-amd-iommu-perdev-intremap",=20
> > the line "No southbridge IO-APIC found in IVRS table" is listed=2E
>=20
> That's as expected - the message is issued as a non-error one in this
> case=2E
>=20
> > Though I yet have to test a HVM domU with passthrough=2E
> >=20
> > I'll attach the two "xl dmesg" files and a third one from the old vers=
ion of Xen=2E
> >=20
> >>>> I'll attach some log files (hypervisor=2Elog, dom0=2Elog, xl_info=
=2Elog,
> >>>> lspci_vvv=2Elog, acpi=2Edmp, ivrs=2Edat, ivrs=2Edsl)=2E
> >>>> =C2=A0
> >>>> Thank you for your time=2E
> >>>
> >>> Let me braindump the investigation so far before I forget it=2E
> >>>
> >>> Xen requires that there is an IVRS special-device record describing =
an
> >>> IO-APIC 00:14=2E0=2E  This check failing is the source of the "No
> >>> southbridge" message, and the cause of the IOMMU(s) being turned off=
=2E
> >>>
> >>> The MADT and IVRS tables agree that there is one IO-APIC in the syst=
em,
> >>> but that's the northbridge IO-APIC, not the southbridge=2E
> >>>
> >>> The block diagram for the southbridge does have a PIC/IO-APIC as par=
t of
> >>> the PCI bridge, so honestly I was expecting the MADT to describe 2
> >>> IO-APICs=2E  But OTOH, I could see this legitimately not existing in
> >>> configurations where the PCI bridge isn't in use=2E
> >>>
> >>> `xl dmesg` does have a few unknown irqs, so there might be something
> >>> down in the southbridge really generating interrupts=2E  Or there mi=
ght be
> >>> a IRQ misconfiguration elsewhere, and this is just a red herring=2E
> >>>
> >>> However, a consequence of the northbridge and southbridge being sepa=
rate
> >>> chips means that all southbridge IO is fully encapsulated by the IOM=
MU
> >>> in the northbridge=2E
> >>>
> >>> So irrespective of whether there is ah IO-APIC operating properly in=
 the
> >>> southbridge, and whether or not it's properly described, I think Xen=
's
> >>> insistence that there must be an IVRS special-device entry for it is=
 bogus=2E
> >>>
> >>>
> >>> Furthermore, Xen's decisions are monumentally stupid=2E  It takes a
> >>> specifically safe (IOMMU-wise) system, and because it can't figure o=
ut a
> >>> partial aspect of interrupt handling the southbridge, decided that t=
he
> >>> system can't be safe (a false conclusion) and turns the IOMMU off fu=
lly
> >>> to compensate, which makes the system concretely less safe=2E
> >=20
> > Also, thank you Andrew for bringing this in=2E
> >=20
> >> So this touches once again the area of the fuzzy split between the IO=
MMU
> >> being disabled as a whole (meaning DMA+interrupt remapping off) vs on=
ly
> >> one of the two being off (where presently we are unable to turn off j=
ust
> >> DMA remapping)=2E Indeed the original Linux commit, which our change =
was
> >> inspired by, results in merely interrupt remapping getting turned off
> >> (afaict), and that hasn't changed=2E (Would be nice to have this conf=
irmed
> >> for the system in question, i=2Ee=2E without Xen underneath Linux=2E)=
 It would
> >> certainly be possible for us to do so too - it might be a one line ch=
ange:
> > =20
> > Could you elaborate on that one?
>=20
> I guess I'd need to know what you're missing; the entire paragraph was
> intended more for Andrew and Roger (and others who are interested on the
> "development" side) rather than you=2E Specifically =2E=2E=2E
>=20
> > Should I test something else?
>=20
> =2E=2E=2E there was no request for any further testing here, for the mom=
ent=2E

ah=2E=2E=2Esorry, going by "Would be nice to have this confirmed forthe sy=
stem=20
in question, i=2Ee=2E without Xen underneath Linux" I thought I could test=
=20
something which might help shed some light on all of this=2E

Denis


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 01:29:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 01:29:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509406.785098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbtU8-00079w-IU; Tue, 14 Mar 2023 01:29:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509406.785098; Tue, 14 Mar 2023 01: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 1pbtU8-00079p-Fg; Tue, 14 Mar 2023 01:29:52 +0000
Received: by outflank-mailman (input) for mailman id 509406;
 Tue, 14 Mar 2023 01:29:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xZxk=7G=web.de=tachyon_gun@srs-se1.protection.inumbo.net>)
 id 1pbtU7-00079j-F3
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 01:29:51 +0000
Received: from mout.web.de (mout.web.de [212.227.15.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6843b54-c207-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 02:29:50 +0100 (CET)
Received: from [185.71.171.210] ([185.71.171.210]) by web-mail.web.de
 (3c-app-webde-bs22.server.lan [172.19.170.22]) (via HTTP); Tue, 14 Mar 2023
 02:29:49 +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: b6843b54-c207-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
	t=1678757389; i=tachyon_gun@web.de;
	bh=odilobawNb8aYW0OaQPGC1gHlfs5ZeAJqgP84ggcwHw=;
	h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
	b=AOWPqbwksSVRPQnoqS7MykI/nwLMysfVwcp0j0rH2vm+jCq5jl9wluNZ3BZzoXfxe
	 pEeXzeao5BnK+ujosnBNK9kUZZcLeK6baeIY/0b0ss2aFHwex5cMh//u52gWwYRW08
	 ZQMS3EWI15gsy8sd7pXVnNLxjf9rEOjt2mQUQwfkxpih/V7bs4W51kD/0DVeBZf0ek
	 wynTaQN8eOovBS05gaurGMPcMbjRU7dOqNqPdJo6HzRJWpjci/mL1WrRHfQRgkEMVr
	 LWlrvEFkeewgngRuhg+xNlPs+SKRgccVEA4ZTBW2X2r0PmsZ6BKGFfzipxdFpFvSsT
	 I1h6jCxeRk5ig==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
MIME-Version: 1.0
Message-ID: <trinity-c04bb66a-12c1-4998-b98b-dd73faa40e8c-1678757389239@3c-app-webde-bs22>
From: Denis <tachyon_gun@web.de>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
Subject: Aw: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from
 Xen 4.0.1
Content-Type: text/plain; charset=UTF-8
Date: Tue, 14 Mar 2023 02:29:49 +0100
Importance: normal
Sensitivity: Normal
In-Reply-To: <5a779fab-a410-c333-6a92-49d603647761@suse.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <467bc1f9-6e14-cca9-159c-b40eb8327028@citrix.com>
 <5a779fab-a410-c333-6a92-49d603647761@suse.com>
Content-Transfer-Encoding: quoted-printable
X-UI-Message-Type: mail
X-Priority: 3
X-Provags-ID: V03:K1:g1RgpoVEPvWi60EW02XLClSS72+OEdeUVG/F2dMdFgBRhuJkmYD8LYNwHvEVTpnQeAB45
 AyZPOfr8Z22f8NpxQjwO18fm1T5H+jbXkkIy6fQczcxFR5NxEt+AL3BglIJe7hGhn3I14NAaBGN3
 0IeKpP/BNTfFoNoRJktHoN2y3Y4J5ZD6LNwB0lUDvZ/lgnQSmNExi7HOLW8qJiPFIzXUGkWK7yb3
 //BlHL0hQ7s8EFAGmx6Ab4ZKLOyfBD0SfYPsBLfChGMuQboma6Zax6EQUjOL6tGsrwtUcQh+2fC7
 bY=
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:VMr4PT44QrQ=;UNQAEA9bxFwR5OKMhxzvFrf/+F5
 2FzupHVA4SZtJFilKZ/ym8sYaA1BihIgUtqNhTjE2Q0XHBv2VQBgdm4sAYfUAyh7CXoXXK1zl
 6j3Fx0e9WhI3IA/7nIb6zJR/2jWw5YlmksH8vxiolddZe7us0uisZpNyISaTxECTRK5WAvvNH
 6xwz+P0VF00VaBFQVesgEg+Ocjmqde3/+xP+dQIgzs7QYNeTZ7LPTTGEaSdOuoINU8XFViu2B
 zzwhKaYreYSTTep4ziJxxvwcaBx94To0Y/VYZe3auTBY+E91Ia5mfqknI0Mi6F8f5eBRpscyj
 pKHP4QlLUV0BTHiEiqu3zilgELjVgKUwvDt/i77w0AUbIiAQ5SgCH7SKJCHKfN0nZn9FDnjJK
 ulHbyiDg1XgqYbaaPbW7UVjVO9rMKZFcaM4x5VodCPBzQPRRTqOZnEvaSBuSSwaRt2S97oj6b
 +KOsS61guz1+Togop6uUDRfBvdgdcslx9ioI2avM5Ta8Vy9DQXdFTWnEImRDOWXl/8nd4YEGF
 iyvKK83KZLUNrdRXqm82KhMv75Nt7WgTb9bij6leEXZ57iJ3TqIXaccI+cb9c+TUK1EGgrA5c
 +ya/n3y18MEXhgV5Sb51Nyx0JKp9iTOYQL0KI45VEhpKmy4iH7Xa65ZEYq1aOZybMhYC9UXCI
 B2XA/drS6uHgSF6RO8TGxjeB0v0ctDSWNl+6OJOqgi8UUUVGcADOZSon+dhjmeU3Mvqy4nvM4
 RUgURhliG80M1wfkTNkhU58DWsc9A8GurP5MzSnG3y2cmvdVnQs0eFf5QASiGl2Q9qBorfh6Q
 r/nJw2swZoX9OK4jPQHoewnBMpC7LTeuo22p7u2g3DM+g=

On 13=2E03=2E2023 12:54, Jan Beulich wrote:
> On 13=2E03=2E2023 12:43, Andrew Cooper wrote:
> > On 13/03/2023 9:36 am, Jan Beulich wrote:
> >> On 10=2E03=2E2023 21:50, Denis wrote:
> >>> On 10=2E03=2E2023 09:51, Jan Beulich wrote:
> >>>> On 09=2E03=2E2023 21:37, Andrew Cooper wrote:
> >>>>> On 09/03/2023 7:34 pm, tachyon_gun@web=2Ede wrote:
> >>>>>> A short snippet of what I see when invoking "xl dmesg":
> >>>>>> =C2=A0
> >>>>>> (XEN) No southbridge IO-APIC found in IVRS table
> >>>>>> (XEN) AMD-Vi: Error initialization
> >>>>>> (XEN) I/O virtualisation disabled=C2=A0
> >>>>>> =C2=A0
> >>>>>> What I would like to see (taken from Xen=C2=A04=2E0=2E1 running o=
n Debian
> >>>>>> Squeeze, in use since 2011):
> >>>>>> =C2=A0
> >>>>>> (XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0=
-23
> >>>>>> (XEN) Enabling APIC mode: =C2=A0Flat=2E =C2=A0Using 1 I/O APICs
> >>>>>> (XEN) Using scheduler: SMP Credit Scheduler (credit)
> >>>>>> (XEN) Detected 2611=2E936 MHz processor=2E
> >>>>>> (XEN) Initing memory sharing=2E
> >>>>>> (XEN) HVM: ASIDs enabled=2E
> >>>>>> (XEN) HVM: SVM enabled
> >>>>>> (XEN) HVM: Hardware Assisted Paging detected=2E
> >>>>>> (XEN) AMD-Vi: IOMMU 0 Enabled=2E
> >>>>>> (XEN) I/O virtualisation enabled
> >>>>>> =C2=A0
> >>>>>> My question would be if this is=C2=A0"normal" behaviour due to ol=
der hardware
> >>>>>> being used with newer versions of Xen (compared to the old 4=2E0=
=2E1) or if
> >>>>>> this is=C2=A0a bug=2E
> >>>>>> If the latter, has this been addressed already in newer version (=
4=2E14+)?
> >>>> No, the code there is still the same=2E The commit introducing the =
check
> >>>> (06bbcaf48d09 ["AMD IOMMU: fail if there is no southbridge IO-APIC"=
])
> >>>> specifically provided for a workaround: "iommu=3Dno-intremap" on th=
e Xen
> >>>> command line=2E Could you give this a try? (As per below this could=
 be
> >>>> what we want to do "automatically" in such a situation, i=2Ee=2E wi=
thout
> >>>> the need for a command line option=2E But you then still would face=
 a
> >>>> perceived regression of interrupt remapping being disabled on such =
a
> >>>> system=2E)
> >>>>
> >>>> The other possible workaround, "iommu=3Dno-amd-iommu-perdev-intrema=
p",
> >>>> is something I rather wouldn't want to recommend, but you may still
> >>>> want to give it a try=2E
> >>> =20
> >>> Thanks for your reply=2E
> >>>
> >>> I added the lines you suggested and it seems that "AMD-Vi: IOMMU 0" =
and
> >>> "I/O virtualisation" is enabled again=2E
> >> Good - that'll have to do as a workaround for the time being=2E
> >=20
> > Not really=2E=C2=A0 Booting this system with no-intremap is still a re=
gression
> > vs Xen 4=2E0=2E1
>=20
> Well, "for the time being" meant untiol we figure out what exactly we ca=
n
> do here=2E
>=20
> > Disabling interrupt remapping on PCIe devices because we can't figure
> > out interrupt handling around the PCI bridge is still bad behaviour=2E
> >=20
> >=20
> > What we need to figure out here is how interrupts from the PCI bridge
> > actually work=2E=C2=A0 The IVRS table does contain records covering th=
e devices
> > on the Southbridge, including the PCI bridge and it's entire subordina=
te
> > range=2E
> >=20
> > MSI/MSI-X interrupts from the PCI devices will work fine (they'll have=
 a
> > proper source id), so the only question is about line interrupts=2E=C2=
=A0 They
> > ought to appear with the bridge's source id, and ought to be fine too=
=2E
> >=20
> >=20
> > I see no evidence to suggest that the IVRS/MADT are incorrect or
> > incomplete=2E=C2=A0 Xen's believe that there must be a southbridge IO-=
APIC
> > special device seems to be the false entity here=2E
>=20
> It may be possible to behave better here, but my reading of Linux source=
s
> suggests that they would do exactly that on this system - disable
> interrupt remapping (I had asked Denis for trying that out to double
> check, but so far he provided back only hypervisor logs)

As suggested,  I tried the two kernel parameters=2E As a result, I was abl=
e=20
to assign the devices (in this case a USB host controller and my PCIe GPU)=
 I used=20
before to the HVM domU=2E
What did not work was passing through the PCI device (Audigy2 soundcard)=
=2E

Unbinding the devices worked for the first two, with the PCI card not so m=
uch=2E

This info won't help, but back in 2014 I tried Debian Jessie with (probabl=
y) Xen 4=2E4=2E
Back then this was working as it did on 4=2E0=2E1=2E

I will try Devuan Daedalus with Xen 4=2E17 next on my Z97 board with an i7=
-4771=2E
It probably will show the same errors because it also has an old PCI slot =
with=20
an Audigy2 in it=2E

So I assume (from my limited knowlegde about all this) that this has somet=
hing to do with=20
older boards using PCI slots (or people like me using PCI devices for pass=
through)=2E


Denis


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 01:32:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 01:32:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509409.785108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbtWu-00006h-38; Tue, 14 Mar 2023 01:32:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509409.785108; Tue, 14 Mar 2023 01:32: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 1pbtWt-00006Z-T3; Tue, 14 Mar 2023 01:32:43 +0000
Received: by outflank-mailman (input) for mailman id 509409;
 Tue, 14 Mar 2023 01:32: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=bd48=7G=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pbtWs-00006T-Hg
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 01:32:42 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 17475a11-c208-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 02:32:36 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 3BDFA320051E;
 Mon, 13 Mar 2023 21:32:34 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Mon, 13 Mar 2023 21:32:34 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 13 Mar 2023 21:32:32 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 17475a11-c208-11ed-b464-930f4c7d94ae
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=1678757553; x=1678843953; bh=V5F5tGjHJMm2rrUxvW+/d8NYL
	yB+FoR8qrVkarst4Fk=; b=lAtf86nzXnCilxINcvSCThmX38GqWJ9VeDjM4DHF+
	BGX4uYpKvMZErr2QYfdCK9hd7lFe5Hnl9DWWGchK+RjimNq1vonTE3BLw5PymntU
	wvspj7OsYTo8yy+mBF/woU6AflveyOxwkQgQSoSNK4lbgX+YILZDCwE0e7eVb5Q5
	UQ9iiD0DwFTDgREkDzwxfjxnTUrbH8yDJb3jcNleANZjZXwIMjrr6X550uEU8vyM
	n4LnG9C0HjFTlbueTK2Os9+H8xLsM6oq6BOwFbdwUVhhn+GajidDIG857RGciLoR
	OalmgMqWPualv2Sxw1v6mDN85Ch2RVf6sReexARKZoRCA==
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=fm2; t=1678757553; x=1678843953; bh=V
	5F5tGjHJMm2rrUxvW+/d8NYLyB+FoR8qrVkarst4Fk=; b=gR+ANuH4l/6O1VR6F
	QGeD/eG1pHD5gXkSr6EiLHCAUdtPfbrCoaqYNnojr9xVQ4Vny7PdSopTN+pA5u5m
	X2c2NMhJFsE7beEwp7ZpIYdYa9BPl6hzPGzTtPV2Or4fID+gjaVp4srhTTplbZ7M
	x8adFpQYyOAAtifkpx7DKKTl+mCmr/K23xSj6QACvAUZaGrsfPhQH4UdfEkCxNOC
	OqH12CQb5a846JVdGb9lpR5winIvbowEh5IJBHjSPlwz90BCNMqskZ9TMTjA5yoI
	QMRL0uuvCpz40i5HROOi75hdGoNSq5UEexI9mAtRouiL3/AQ2ZDVJty+Ncrr4M/J
	ziYRA==
X-ME-Sender: <xms:sc4PZPpAZujeTPcqzZXasAtVWON-Y1PdmzirVHUqAbodW8gObqj65A>
    <xme:sc4PZJpiWMwbTM1USUel76Wk-tTigf1TLStUO8HGF2rDFmkaaAAR9R-7ME-QOpmkJ
    c40n_ehmIdFfg>
X-ME-Received: <xmr:sc4PZMOvkNOko-3eGrijrHkZ_5dPbBytSE9x5Y2CbpGNB8snvpDzqK6PfBZXRLt3LQH2OekaBM0QRmnzpA-D3b9qV1Ab4rMguIgSoAaTwITwuSdenjXP>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvhedgfeegucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofggtgfgsehtkeertdertdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeelkefh
    udelteelleelteetveeffeetffekteetjeehlefggeekleeghefhtdehvdenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:sc4PZC50K3llmm1nZLAXJ0sLGtuN_cAiPDWc488MeOKf71gDRUvXKg>
    <xmx:sc4PZO6Pjdw7da7mnu5Co2EDAeU06EHLaVZZ7RycALcgmvVu1oaaQw>
    <xmx:sc4PZKi45KtSi96bie-XNheUKRd-sugadE6pGvol7qUpgAs-C4GmPQ>
    <xmx:sc4PZDjiTM9vZmx6qNcU9vYxqiBCEa7U0JJrQsmWMBhCMv2iav2Xxw>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v2] IOMMU/VT-d: Fix iommu=no-igfx if the IOMMU scope contains phantom device
Date: Tue, 14 Mar 2023 02:32:21 +0100
Message-Id: <20230314013221.124930-1-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

If the scope for IGD's IOMMU contains additional device that doesn't
actually exist, iommu=no-igfx would not disable that IOMMU. In this
particular case (Thinkpad x230) it included
00:02.1, but there is no such device on this platform.
Consider only existing devices for "gfx only" check.

Fixes: 2d7f191b392e ("VT-d: generalize and correct "iommu=no-igfx" handling")
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
v2:
 - move existence check one level up

I have looked at existence check acpi_parse_one_drhd(), but re-using
that one wouldn't work for two reasons:
 - gfx_only logic is very much tied to acpi_parse_dev_scope()
 - pci_device_detect() in acpi_parse_one_drhd() is skipped in case of
   (implicit or explicit) iommu=force
---
 xen/drivers/passthrough/vtd/dmar.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/vtd/dmar.c b/xen/drivers/passthrough/vtd/dmar.c
index 78c8bad1515a..a8c09c0c84f6 100644
--- a/xen/drivers/passthrough/vtd/dmar.c
+++ b/xen/drivers/passthrough/vtd/dmar.c
@@ -389,7 +389,7 @@ static int __init acpi_parse_dev_scope(
                 printk(VTDPREFIX " endpoint: %pp\n",
                        &PCI_SBDF(seg, bus, path->dev, path->fn));
 
-            if ( drhd )
+            if ( drhd && pci_device_detect(seg, bus, path->dev, path->fn) )
             {
                 if ( (seg == 0) && (bus == 0) && (path->dev == 2) &&
                      (path->fn == 0) )
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 01:47:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 01:47:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509413.785118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbtkl-0001le-8d; Tue, 14 Mar 2023 01:47:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509413.785118; Tue, 14 Mar 2023 01:47: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 1pbtkl-0001lX-4f; Tue, 14 Mar 2023 01:47:03 +0000
Received: by outflank-mailman (input) for mailman id 509413;
 Tue, 14 Mar 2023 01:47: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=bd48=7G=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pbtkk-0001lR-Aj
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 01:47:02 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1bc1dd16-c20a-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 02:47:00 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 7850132007BE;
 Mon, 13 Mar 2023 21:46:57 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Mon, 13 Mar 2023 21:46:57 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 13 Mar 2023 21:46:55 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1bc1dd16-c20a-11ed-b464-930f4c7d94ae
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=
	1678758417; x=1678844817; bh=sdN3ubd8XXeoBvxHSr4ZKoOrKgatKvDPZDO
	Y1tA7E3Y=; b=UNcRtgKAvyb8Sf7nqfHXLkboJ0PnS3hn1aVZICG1hbgsiN9ZUYp
	JU5RGukKD6Tbct57qg8gBWPfUqR4FL6UyH3qa1dVG6T3iTDyoAYeZgK8ue/4vTLM
	Kr2SaqOHsIxtcHXGCff3XaNktUug54i3UPnAPJFJwxssRmnxvbMEen09blo0CBLX
	XvbPhcNQFOcO8jjIGuuq7IvReod5IZ5hR+4Kaw+f8a9biVfCM//38RcvsvL78lio
	66YJMPpMiVNMvvO6joF/haJceY1gObhLmyYSCGsjPOqlZACcvfIruu8ZfV5bIJBn
	f0CkeFdHHOKayhYkFMvz3E/e1f/QXZSyYmw==
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=fm2; t=1678758417; x=1678844817; bh=sdN3ubd8XXeoB
	vxHSr4ZKoOrKgatKvDPZDOY1tA7E3Y=; b=ceOn9WlnNNeeJ1FGAjVqkAGip3rMc
	jqrWbAk2URgxeBRubU1+4MeJwnOaCjWwk/R9qlYGMTOXlu5JN1TzrFfOgMgpApJc
	sp7Pb18zM4m4G7L2BpWhCZmxY3a6fdX6O5HJrG4gwEQvoS2xQB5pYeFHo6UgH++1
	salGZYlGDVQjZqpA9Sn7YjMMp6OFh5B3LZx6U0jIkCeqbRNpEUBtUZ63X6qGeMb1
	oakAG83D2E0zVbaLqneoTaFlQQ0tiUOrggHRmvhYRQPVj3DdhZtcOZb0W+b53HC0
	dWmr4iKZ8ctLJB0k/oFRM0RKQ0xAeVnAePbarjpdpwnc0XUOq1MpQXKPQ==
X-ME-Sender: <xms:ENIPZGGwVNGO_x4JHrOlolupDloYhJOWfGnCXDkOS-T7UPnLOJvqtQ>
    <xme:ENIPZHVb6DaxlXc5rUzUCszmpbq2iGZqajXIus0zqqbfJcTZ9rWj5RYd-BsK82k97
    5guEe5k5X6WIA>
X-ME-Received: <xmr:ENIPZAJnVuDHZCB2eyc2vFbUnk0MlLkchJx2_Qb4Bhh9OPF8ztvP2lgQVEzcDJ_VNuWEfMG9n6z6JE6UvJ8DUjM2jADDR9TU7lI>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvddvhedgfeekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    gfrhhlucfvnfffucdluddtmdenucfjughrpeffhffvvefukfhfgggtuggjsehgtderredt
    tdejnecuhfhrohhmpeforghrvghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkih
    cuoehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeen
    ucggtffrrghtthgvrhhnpeefgeeufeffhfdttdejueffjeelvdeuleduhfetieevvdekgf
    fgfeetveehuefgheenucffohhmrghinheplhgushdrshgsnecuvehluhhsthgvrhfuihii
    vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsih
    gslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:ENIPZAEUERxQMD4udSSbY3PZXapRjRnji2woh3U3eUkzv7AuZQBSxw>
    <xmx:ENIPZMUubtYnyl423yT6C4oBTs1aaY03ZGaPdPUeIskhlFjRidnvJQ>
    <xmx:ENIPZDOEcb-rP9CAGL8fWyGETAPU1VV-h2V34tI9U02Rn_XNBlsi_Q>
    <xmx:EdIPZJhvhO34dpALlJT2fYDKN7q9atRcabT1jRw558aryjnhuVap4w>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 14 Mar 2023 02:46:52 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] Drop ELF notes from non-EFI binary too
Message-ID: <ZA/SDWh5NwrvBJeb@mail-itl>
References: <20230225235642.38880-1-marmarek@invisiblethingslab.com>
 <9fbbfa17-821f-8c9e-376e-911481a1988b@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="fgTykhQuGKieiR9q"
Content-Disposition: inline
In-Reply-To: <9fbbfa17-821f-8c9e-376e-911481a1988b@suse.com>


--fgTykhQuGKieiR9q
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 14 Mar 2023 02:46:52 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] Drop ELF notes from non-EFI binary too

On Mon, Feb 27, 2023 at 11:28:28AM +0100, Jan Beulich wrote:
> On 26.02.2023 00:56, Marek Marczykowski-G=C3=B3recki wrote:
> > The ELF is repacked from from 64bit to 32bit. With CET-related notes,
> > which use 64bit fields, this results in 32bit binary with corrupted
> > notes. Drop them all (except build-id and PVH note retained
> > explicitly).
> >=20
> > Suggested-by: Jan Beulich <jbeulich@suse.com>
>=20
> Perhaps a misunderstanding: Yes, I did suggest this as a possibility,
> but I didn't really mean we actually do so. At the very least not
> without further clarifying what the cons of doing so are. The notes,
> after all, are actually valid in xen-syms; they become bogus in the
> course of mkelf32's processing.
>=20
> > --- a/xen/arch/x86/xen.lds.S
> > +++ b/xen/arch/x86/xen.lds.S
> > @@ -192,13 +192,6 @@ SECTIONS
> >  #endif
> >  #endif
> > =20
> > -#ifndef EFI
> > -  /* Retain these just for the purpose of possible analysis tools. */
> > -  DECL_SECTION(.note) {
> > -       *(.note.*)
> > -  } PHDR(note) PHDR(text)
> > -#endif
> > -
> >    _erodata =3D .;
> > =20
> >    . =3D ALIGN(SECTION_ALIGN);
>=20
> Is this sufficient? .note.* isn't part of DISCARD_SECTIONS except for
> xen.efi. I would expect it needs to move there from DISCARD_EFI_SECTIONS.
> Otherwise, aiui, the linker's orphan section placement will kick in.=20

What supposedly happens then? By looking at binary produced with this
patch, I don't see other .note sections included.

> Yet
> at that point you'd also affect Arm and RISC-V (which, interestingly,
> don't place .note.* anywhere at all right now, afaics).

That's interesting observation. For RISC-V, I'm not surprised given how
fresh it is in tree, but if Arm doesn't need it either, maybe adding to
DISCARD_SECTIONS isn't such a bad idea?

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQP0g0ACgkQ24/THMrX
1yynBQgAizxvjFdEeaVGY8pwmLDpMnpIA5cfXaOt33s0X8/Fn0aJ4u5pwACNCJry
1nnyKSIShp4K98oEIGtIMKK+KtVZyapWPunyBspMAX+6QhGv2kEmTpDRY3diUbkw
pB7YWNQlnTcV7dKklPQDy9v2Nv3zkIT2xvAwa2x5sZhYDL8Mlres9t4nfyPOYLrI
T4MPUadQOU5yLYw6KAIKz7iXKEmLZxY6v9/4yh7z3qL0joU3TfIL/Adkp2oI//x2
eo9TpCe0dpH3efJO3VD4n9PSB0wOH/TaDOwH+E+weoGPq3OZY7l5A4Vkg+/cgL7Y
N6OF+5uaX3b04h1cjrA09XaQyu/UIw==
=LQmI
-----END PGP SIGNATURE-----

--fgTykhQuGKieiR9q--


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 01:48:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 01:48:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509419.785127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbtlh-0002LB-LB; Tue, 14 Mar 2023 01:48:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509419.785127; Tue, 14 Mar 2023 01:48:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbtlh-0002L4-IN; Tue, 14 Mar 2023 01:48:01 +0000
Received: by outflank-mailman (input) for mailman id 509419;
 Tue, 14 Mar 2023 01:48: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=ZhtR=7G=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1pbtlf-0001lR-3T
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 01:48:00 +0000
Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c699dc3-c20a-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 02:47:56 +0100 (CET)
Received: from fmsmga008.fm.intel.com ([10.253.24.58])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 13 Mar 2023 18:47:45 -0700
Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16])
 by fmsmga008.fm.intel.com with ESMTP; 13 Mar 2023 18:47:44 -0700
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.21; Mon, 13 Mar 2023 18:47:44 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.21 via Frontend Transport; Mon, 13 Mar 2023 18:47:44 -0700
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.108)
 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.21; Mon, 13 Mar 2023 18:47:44 -0700
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
 by LV2PR11MB6070.namprd11.prod.outlook.com (2603:10b6:408:179::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Tue, 14 Mar
 2023 01:47:36 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::1aac:b695:f7c5:bcac]) by BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::1aac:b695:f7c5:bcac%9]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 01: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: 3c699dc3-c20a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678758476; x=1710294476;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=5Qa8b8ns0FsNrjfctBVJ3telzBv+NRyUIszBGPePokM=;
  b=L0A7Is/shsnbQA7fKTjKCF6U7GPwq7DJOf6qTmECu/IV14TcPai/PaSj
   o+iguyP9iXlp4XgDgRBBDzCa61rLZ6Feu6BA0WX4Hd0FSXVM+erEtr5vu
   V/zJ+1oOI5fkyEH9gymXi60QHqi/99WyX+rQ6qPLt69i/mA5OMPQWpv3G
   R+Cochz1UaKA+TNRiuF2ywZ/bKPQxJi7KgR8Vco+x7RU/qNNFWVWyf5SC
   HrSw9URkQRjfCj1b6AuD0MUOov+H0rGGX9IIOHcJArsJEfBOwkSBWLg9B
   vAm+cGyq2sH3CZtz6ZHZJPpZiZqTaZVvz2EQAzoZRMYaghhv6XSpk4WFR
   g==;
X-IronPort-AV: E=McAfee;i="6500,9779,10648"; a="399893593"
X-IronPort-AV: E=Sophos;i="5.98,258,1673942400"; 
   d="scan'208";a="399893593"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10648"; a="743114222"
X-IronPort-AV: E=Sophos;i="5.98,258,1673942400"; 
   d="scan'208";a="743114222"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NT1UV9dJEwE+CY1X6+f/YSylOiy/B1yYmswmdJv6CKbVZSFIraK/O8DfXfS/8fcCNxHuZ0G10aYWsAdJOiL4TQ62exUTsSbYv8SQW4k/4AjhQqyZw3gNkktivpf+VR/hfkTLDzOJhvOupYf9Sico4YNMXg79gAl0p9Dd9TkaR0Qhk0Q0yBlNNczSexH+1+CtiWPxCj+2nlXNh2HXXnPmdNwnmsZ90vrR/n+C8K6C5JONjQtG6qkU2IzftrAF23MuAUkT3hcP1usk1p1dZxXAYTgkDu/6hWbC/uahUKASKj/DIMWSY7gCf/tngrg3+N34gLUAG3k9dfnPLDUE++sjag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5Qa8b8ns0FsNrjfctBVJ3telzBv+NRyUIszBGPePokM=;
 b=jIpglK6Idv4Ji5h6as9d1SFVx+wJJfuF1Kx0SkziJQfpzb/96m/4TCDOQzU0Lf5nCpvvBoea8tk2FNZjM1sqsIekEalpt32fdk4dRqwPCEbbUcHn5o35N94sIJvRBfjOchGlRUNsm3zlU4M8xXgi0y5VTeXy2uDZSww1p9kZKbOsph5U1x+bd9AVSoQxXUyeMb+VilfnIe4gkDbJeL5S7/lChmzHDioCvKgNX30MDo8R51VfXJmX42kgWQczltPrlkswut7Zv1OQmDP+4qThds9rWFRgvnBOn+URC0fG46WAkxSyp4j2cdYC/X0Zafq+gFuwrW8/7JDmY9W2OGRC1w==
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: "Tian, Kevin" <kevin.tian@intel.com>
To: "Beulich, Jan" <JBeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "Marczykowski, Marek" <marmarek@invisiblethingslab.com>
Subject: RE: [PATCH] VT-d: constrain IGD check
Thread-Topic: [PATCH] VT-d: constrain IGD check
Thread-Index: AQHZS1pOMbLYjGbVlki131v4Tnbs9q75lwbQ
Date: Tue, 14 Mar 2023 01:47:35 +0000
Message-ID: <BN9PR11MB527615666F630F06EA39C25E8CBE9@BN9PR11MB5276.namprd11.prod.outlook.com>
References: <52cdcad9-cd21-1132-ca9f-ba8092d649a8@suse.com>
In-Reply-To: <52cdcad9-cd21-1132-ca9f-ba8092d649a8@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN9PR11MB5276:EE_|LV2PR11MB6070:EE_
x-ms-office365-filtering-correlation-id: 45d00f76-1a66-406a-d3ff-08db242e1614
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: y2ZgkDsZljyFRzVtuBrb0YjLppdLY26u4gd0JYx59EQt02fLOxoxlbqfA20lKQ3HoYiXWn+vhN5tg2Fxqir8KX4zjEFbq7LJ7tp1PBJRVq4WhVpH5PGM+AD9837nArtYXsxs8gVQkigk7pxwjQJPGG2xYAMzOwrv1V94ESSrCOUYRyF2wzY+2VN/3VKQQcUPlO4SCOf6jydhu2qH9WNV9tOjGq4YoqQFePT0AZVHtSKgJFFKX45lc2h1dtne/oM+/j/HZpW7RjCxRduU+9Gj1D6v0pYPJfdjLw/RPL/78u59HhCwsF+oHCa6Wq2FTuQzNekLWR4l9gC9asZFUDQkUQsf3ZPs748XHDHQ2CccamrRPxq481RBWFCbKEOUSxcCpvUnVfamQ6p09s6GY1diwGnjxLTI3afgfO3oXtlSfuZ3S4+BvI3eXRIdyRdDh25YaFmuWgnofMMITgeKp4T/MrnFxT02YDWb8C3PvRh/tzNo7S36+VepmGbHkZHVoBI4HyXRIWv5Dw6BpaneDS4eEYCtD9mDoQK8rO/aIw6i/zuOkIE2f2x1GXr4OIEjXa2SEx0jMiggoUXc7ImfXC8TF+0JnhEEynrb6seZrGE6Z1wmSjw+tmqSgLcL3SIcds8htTFqn5Uicuhy7t+zPJ1dcTimSwjCyenrK+gJShxwlL0xZrHOi50D2hV2jJ0PpPAFOIuE72I/fMISfx2GHVwubw==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(136003)(376002)(346002)(366004)(39860400002)(451199018)(6506007)(41300700001)(55016003)(4326008)(64756008)(8676002)(66946007)(66556008)(66446008)(316002)(186003)(26005)(76116006)(66476007)(9686003)(478600001)(71200400001)(38070700005)(110136005)(38100700002)(7696005)(86362001)(82960400001)(2906002)(122000001)(4744005)(5660300002)(33656002)(52536014)(8936002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?T0VGSm9za2EwYjlNOVNBUUYzZEw1cDdlL2RXVVFGT2FtTkY4TUtRMHU1SC9K?=
 =?utf-8?B?eGtyb2RGRjN0bkJQRGVBUjlhR2MvTU5XdWMvYS80NzZ3eCtxRGZ4MWhPWTdS?=
 =?utf-8?B?VjFsVmFzelhUQ3FNUDlzRW84aVhxWEViMGFvSlRkWFJlSHYxRzJNWDRwNk1l?=
 =?utf-8?B?OEN3YVFodHh1b0IzQU1GNHhKN2VPV2RNRkJscXZEZ3B1SEl3Z1ozYkkrK1V3?=
 =?utf-8?B?T1lYZ0E5emp0RE11bU1BeTZaTDlxYURqR0NGS1dKNUMrYUlLOVJEQkQ0TkVR?=
 =?utf-8?B?NGUvZlNJdTRKTTAxMk9jN1RxSHUvTnpJWEVHdGtwSE5pQjlQR0lpZ0RUK0x6?=
 =?utf-8?B?UkJMaTRNNkNmK3NzQjcydU5aM0FHbkRmRGlEMGdIb1ZLM0R6ZkZDdHUxSklW?=
 =?utf-8?B?WVNCU3JaMlFEcXltVUhLQkgrTFpZTUpBb1JEaDJWVXBRUnJsUWhldjZFNTlD?=
 =?utf-8?B?MHhPYS84Zjc4cFZOQ0NNY3djNEtNOHk1bmhxTE8wQ0VCWURnRUxTNjNaZW1x?=
 =?utf-8?B?MlgzaGtKODdFVWg1UzduUW9nOGNJQlhRcklJRU1DS0Y0V1U3c096MUFISUNJ?=
 =?utf-8?B?NC85RUdqVUVKMmlaczI0NFB0WThFUStaZk5oTzRkTkVSNU1nNkhSMHNnRW94?=
 =?utf-8?B?YWpoTi91NXczWmNaa2tnazQ0RzhGSnFUMEFsRjBsL09WaFRJTW9vT043QmNK?=
 =?utf-8?B?UFlRaUVpK21LWHMzeHdSYXJHOXVyNG51T1V5N3psNVhvSFRhazZNUHBQRDgr?=
 =?utf-8?B?cktENm1tVktoSjdsSWRuN0N6T253M1JSeGF6STI2MXhLOEJZd2J4Y1lZK0NQ?=
 =?utf-8?B?OFNIVUFQd1FOc3FnN0dxY2RPbVVrYUlCcEtwSUk1SWhyL1Jzc2VlSUR4ZGJh?=
 =?utf-8?B?L3NIWnBjM3VaQWI1eEg2UkR1WkI0QUpGbndFeXU2WE12V1NjOGgxNjNLWkpI?=
 =?utf-8?B?TUFVcGVoOEt3bERyQ3l0bHVETGZZYXFHdWNpWWZpRVBiUjhGZ2luSmF4cU1Y?=
 =?utf-8?B?Wm15S1lWbEJoZzlPZmhhU3dEVTQ2NXU3SjFIZ3dLbmZ2V0hhRGhKZGh3bFBq?=
 =?utf-8?B?UjJhaHl2NXMvZnlhMStUdjRFVWVTd3E0b25KNHJGSDk4Nmo5WjJodU8yQ083?=
 =?utf-8?B?dVlCcDVYT0FXbFpQZ24vTEdNMjdFVkd4NlIvaTNWUHRRZkJNM0tyamdaSlVn?=
 =?utf-8?B?WVhQSHdFdGJBQmpNYUIvWFFEYkgrS2xjajViOU9EaWZUMU9WK2wrblYxWjJP?=
 =?utf-8?B?ODF2MzdwcDNXQ1pXTzZUWmFsMkNZcGh6N3l5Q0k1MHNxRWpxL20xbFYwK2M3?=
 =?utf-8?B?SEdDQmVSeWVMTVgxUXpvSHBLWnVUN0NJR3JZZkpJa3J6RUFHL2E5M29lYlRE?=
 =?utf-8?B?TmxZOW5kMzg2am5LeGcwbWVZdXJJY2U5SEZjQ09jSTVnVk4vUTVrcmptSHV5?=
 =?utf-8?B?N3pKMXA2eENkZStCaDZMVVVNODlEZlZFVTI0Vm5URmdqTHRpYkVBTUE4dGZq?=
 =?utf-8?B?VTFzaEJFSTU2TTR6T2pra1A0OGtEWmZSdmZCOWdhVEtKVmt5NkpXRFI1WGFj?=
 =?utf-8?B?SUNVdktNaFJUVy9TNlkwb292YXZyMnQ2WTE0RmF4TVNrZHpKb25xYjNuTVV6?=
 =?utf-8?B?cnRjb2JMb2NmWEpTTUhKUDhBMGNkcFUvWlZjb2pvS0V2K3lmcXZTbDJ6TURW?=
 =?utf-8?B?a0l0dklqa3B5VEQrajNKQXJRU255TGo2alg5MWp6NkxZb1VqYk9CcTBVM2w2?=
 =?utf-8?B?K2JZWlJ4MVVDWWhZcFlmY053VFJKSlYxZHMxQzQ1MzZrSElIbkc5Z0RFdjJL?=
 =?utf-8?B?Y3BITVViK0NabzdjT2lpR1ZtUGFzcnV0OGRlMkg2OHNvb0dvQk1yRCsyV1hq?=
 =?utf-8?B?dDRQVTc5Vk9nc1Ewam5JVUVUaC92RVhFMFRmS1VXODMwSUYyU3NTSFQ1MW5B?=
 =?utf-8?B?UHRBV2k5djNobFhmTStkYnBpQTFzQXBTZlRUV2dYQ1Y1Z1p3KzBPcE1jT09Y?=
 =?utf-8?B?NXhNV2R4RnJwSWRFbnVXWG4veHJjWDU5a055bFg3b2dwSmo2SXdUVlJ5cWd4?=
 =?utf-8?B?SytLVDRseHJmVGR6Vi9ZV3lDY1htbm43RUNibXAwWkxqNHp2NzJSWlNPMlc5?=
 =?utf-8?Q?OGowMVzrC7nRLla/xTDVFVYjZ?=
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: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 45d00f76-1a66-406a-d3ff-08db242e1614
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2023 01:47:36.0147
 (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: pl48J3QIvfsmv1hJrGt33c/sPJ18FpS4h6UfIzTlM3mCBvtzwvwSvOhCwRWMCv+YOA5Ra1nwMoOH1XSoIAGzyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR11MB6070
X-OriginatorOrg: intel.com

PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNlbnQ6IFR1ZXNkYXks
IEZlYnJ1YXJ5IDI4LCAyMDIzIDU6NTIgUE0NCj4gDQo+IE1hcmtpbmcgYSBEUkhEIGFzIGNvbnRy
b2xsaW5nIGFuIElHRCBpc24ndCB2ZXJ5IHNlbnNpYmxlIHdpdGhvdXQNCj4gY2hlY2tpbmcgdGhh
dCBhdCB0aGUgdmVyeSBsZWFzdCBpdCdzIGEgZ3JhcGhpY3MgZGV2aWNlIHRoYXQgbGl2ZXMgYXQN
Cj4gMDAwMDowMDowMi4wLiBSZS11c2UgdGhlIHJlYWRpbmcgb2YgdGhlIGNsYXNzLWNvZGUgdG8g
Y29udHJvbCBib3RoIHRoZQ0KPiBjbGVhcmluZyBvZiAiZ2Z4X29ubHkiIGFuZCB0aGUgc2V0dGlu
ZyBvZiAiaWdkX2RyaGRfYWRkcmVzcyIuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGlj
aCA8amJldWxpY2hAc3VzZS5jb20+DQoNClJldmlld2VkLWJ5OiBLZXZpbiBUaWFuIDxrZXZpbi50
aWFuQGludGVsLmNvbT4NCg==


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 01:50:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 01:50:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509422.785138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbtnw-0003r0-2a; Tue, 14 Mar 2023 01:50:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509422.785138; Tue, 14 Mar 2023 01: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 1pbtnv-0003qt-W2; Tue, 14 Mar 2023 01:50:19 +0000
Received: by outflank-mailman (input) for mailman id 509422;
 Tue, 14 Mar 2023 01: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=ZhtR=7G=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1pbtnv-0003qM-6u
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 01:50:19 +0000
Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8f495bfb-c20a-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 02:50:14 +0100 (CET)
Received: from fmsmga008.fm.intel.com ([10.253.24.58])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 13 Mar 2023 18:50:14 -0700
Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16])
 by fmsmga008.fm.intel.com with ESMTP; 13 Mar 2023 18:50:14 -0700
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.21; Mon, 13 Mar 2023 18:50:13 -0700
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) 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.21 via Frontend Transport; Mon, 13 Mar 2023 18:50:13 -0700
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101)
 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.21; Mon, 13 Mar 2023 18:50:13 -0700
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
 by LV2PR11MB6070.namprd11.prod.outlook.com (2603:10b6:408:179::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Tue, 14 Mar
 2023 01:50:11 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::1aac:b695:f7c5:bcac]) by BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::1aac:b695:f7c5:bcac%9]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 01:50:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f495bfb-c20a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678758616; x=1710294616;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=2Vp3obsQObz7NQHNvls36ybmiS/4d5usQMg8X58VOao=;
  b=m8LQX2m21vKJaGGKYoMqgY8jSaqDZ0iybw21cC0/0/b1RBPrwGlZn8Nd
   k5spxwl9kEoxtRT5tFkPbQwua5wIC/thA27q2NOgy3xDrgZbVeLgmFToa
   T+EDa+2X/OhrCXysAQm2lSG19cXb2ALhKF4syvCZzFVvnkOoNJXmD1mAE
   XhNXVWC5FhjhBcyXmL8JLraSyRbBqktbZlBOs9vLbibut/025inGUiB5l
   C6asU2h8P3YTcEbemri5bA2LQG3I3xOpcQWU8xPEgtePP5MxR1CA4FxI2
   eKxpXMXpBCSpgyU1Hyl65dwLtkAxZEfkq5kvp3KcTkCqS/HKTY9Jrt0K/
   A==;
X-IronPort-AV: E=McAfee;i="6500,9779,10648"; a="399894018"
X-IronPort-AV: E=Sophos;i="5.98,258,1673942400"; 
   d="scan'208";a="399894018"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10648"; a="743115572"
X-IronPort-AV: E=Sophos;i="5.98,258,1673942400"; 
   d="scan'208";a="743115572"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fU67y0Zrds3gYgRmdLQ1wb8OGSR8KIAi1eSrKR5q+fUWIrB0MupwTDrSLlrkoD+fMVhYOIau+G+8izt+8pK2Dmkh7HvnwujEijWufiF8NBxggHprOXJR/IWhSr7Umc1LYLC0F/rFFprQIMvrKRWvr5t16VZ/LLXtyswfc4ORibzyvS5DAhVebCr+2h2iK5wx7zUBXdmZurkqgzqpud+Npj/R5K7JGg/Um2IzVWupsPUpNqgpLXQTiq34v/m95Fsv0b8zbRUh+ClyZ6LclA7m81lOUzF1WfUpF5tBGTQEqoYyK1kUY/3MfVGZMq1twrdnd9ATDUEEIRglP++dL6eavQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2Vp3obsQObz7NQHNvls36ybmiS/4d5usQMg8X58VOao=;
 b=SZ8cn2BtvWFQW171DkEGQQ1bL4JOMVCffsMSY5CPr3plQA8XMtlPsxuzmkqhdTaJNjCCU0is5HWZUT3gbdUq1eJtc0KO7l8edvX0qXXDkS9qJRCYUcpkfBG4hxIslEntV+hx/blt2a8s4AoB0pumi/KVD50xcp5a+RQ9B4Pw4XyzxcD/FdXf+iiqK8FsU4J4YqO1+Qyxia8oLSD9IHS36bY+V+FCfzCOCjPi/vtNx4x/gqyQiPNy5zedexi9BM7DvTZXjK2AQUhD9u9QkjpBW/vUw+I8UlTUTORqnqS4JPZgTEhj16X+bpZV+yOcvggRzG77B+6sMRnew7VtSX6nyQ==
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: "Tian, Kevin" <kevin.tian@intel.com>
To: "Marczykowski, Marek" <marmarek@invisiblethingslab.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "Marczykowski, Marek" <marmarek@invisiblethingslab.com>
Subject: RE: [PATCH v2] IOMMU/VT-d: Fix iommu=no-igfx if the IOMMU scope
 contains phantom device
Thread-Topic: [PATCH v2] IOMMU/VT-d: Fix iommu=no-igfx if the IOMMU scope
 contains phantom device
Thread-Index: AQHZVhT1Y3FxVamQLkqJ4quzo6CpTK75glJQ
Date: Tue, 14 Mar 2023 01:50:11 +0000
Message-ID: <BN9PR11MB5276832A2E3F31FB7695D0098CBE9@BN9PR11MB5276.namprd11.prod.outlook.com>
References: <20230314013221.124930-1-marmarek@invisiblethingslab.com>
In-Reply-To: <20230314013221.124930-1-marmarek@invisiblethingslab.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: BN9PR11MB5276:EE_|LV2PR11MB6070:EE_
x-ms-office365-filtering-correlation-id: 64f72d8e-dff5-4163-7581-08db242e72ca
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: wW1RC9yH8bK/Xqq+Qy3Wff4em3zOdR+G3Lit6sbNQW6Du4FIbEb+qqYzXgzOljX4fwJ+2q7ZyvMXolq5Jw8l3heUwkGdXlN5Ec/ya7rU++5h9Js/6cWMlO7MLb748dopDpMtQF0b1Xsku0qTl7XDF0P3smaM1Ae6T67tqGNHnBS+ew8+1Oy8mbeWaxBbYzJYWHggJh+5K06NaMFvtW60y20GXwucDCBrv78SzrjxjZOAMA3wc/vNhfHxq5gAlEJxYRohVYBWHI/dLS6UxGOP9wGpZZrhBFm8xxxsXFXNUPE0RsfMKf2DPkFotyTLcWK+RiUtQ/4u3qzIIqcZgJE1xQLPq3yk3NhEnbSDZrcp2rYifO1/RdYxPeLKtClAQFA/GVfOANnTcW2q98j2VEVi6OwnIT/d6ner+bjfbu+47KGch92wloWZPMYtKLbxaol/b6rZ5wUiuOpF6yws01qLqhhkBYCmj7pYhTv4WtIkkvmf+6x3c/ngwo8C8Rstd61/M7GtNWFakHNZhTwCcURFSc4fmqYkhBV1UBHERd/rOJclAUBycVmOtHBYyOOypJobm/GweC2C89VIotKq5PtXTBnLLDQQFiQsYdbQ17FkfW20XCjqi309cyUlJiLDAaYnSyngJToZRanE07kCGzaP+OgFwQetrp9VzdFATkSDta9khEYX0IJAQZ8f3c2TILzQQ4YTRrgE6JB9KkfD7b0CMQ==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(346002)(136003)(376002)(396003)(451199018)(478600001)(71200400001)(122000001)(2906002)(86362001)(82960400001)(8936002)(5660300002)(33656002)(52536014)(4744005)(38070700005)(7696005)(38100700002)(110136005)(64756008)(8676002)(66946007)(66556008)(66446008)(4326008)(316002)(41300700001)(55016003)(26005)(186003)(6506007)(9686003)(76116006)(66476007);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?b0hoVDhIUUNnNmN4TXFsd2gzL1M3L1g2dkRCZ1paR081YTY4L0tEMXhjcjFn?=
 =?utf-8?B?WFhCUU10TGtzN1BKWkd1UkRrOWh2N29vY1FFb2xjYzdUVTRJN1FmbXRuem5D?=
 =?utf-8?B?ODZrVVo5K0FHNDRpbnltNUVWVzBMUUw2N0xmRDBpT3IrdEUzQWdRWWRodDlr?=
 =?utf-8?B?YjFvZGFRcFFyVW4xZVVxYThKaURpSU4zUnhJSXlSd1NQaEFhV1NQaytuaWYy?=
 =?utf-8?B?ZElqeWZGbjBrYzlVUTM0RW5Dd0RqdkV0TVQ4ZzNJckhod0lwVENrdTQ4eFA1?=
 =?utf-8?B?aWFFZ0twekFuSmM3VjBJWTBoNk8xV1B3QlVrcnBUMTJQSU50U1RCeThsZzhP?=
 =?utf-8?B?bGk0Q3AxUHVHM01zeHNaMXhRVTgxRDdLelgxVFZ1T0pnWXFSWUErTDQvTlB2?=
 =?utf-8?B?OEFubEdKVE1xaUtMN2JObWJBcndqcVNiSGtPWEZBSC9ZcVBOUWk5Q3dhYVNX?=
 =?utf-8?B?TkJpV1hIZXBCQk9FZFgvNWxwRU9IMVA5M0oxYmlqWGY5VUJqQ0x5VGlpVU1V?=
 =?utf-8?B?eUZoaktpWW9kcHo1SjVmeUs3WkNHbGV5c2JuYWlsb3huUUNTZGQxdkhQMzZS?=
 =?utf-8?B?V1RQb3Nyb2lDbGN2N0dEcW5ycGJoeWZ1TkI0eFA4aCt1S25Td3ZWWlNCQ28v?=
 =?utf-8?B?QTBzeExXZ1A3eGpGZk5MWGUvcTJLYTgxNVRuSVk1WDY2QTN1aVJXVTdMV3JJ?=
 =?utf-8?B?aTl2WGhIcGs0Q0NCVndrRHp3alRDR2UwUU13OVhIVEdVclZpRW9ScGFqcFh5?=
 =?utf-8?B?alN3anBqRHYrY3N0THhQRFNxQmJISkJtMm1YcGt2VUVxYThmN1Zqd3RGanNN?=
 =?utf-8?B?aWZiUXN4eXZlWkdsdDcvWlVCWVUxL08xY203dlVyM3V5ZUc1QWNVdHBWd3BF?=
 =?utf-8?B?NTNOY2RENDdQZHJZclA2d3FLRmt3Sm1WN2doSzBTMS9jWHJIQlZYM0F2ZWJJ?=
 =?utf-8?B?a2xLTjhlNmc1OGN1NVNLanhMMFpwYUxRaSsrcXM2bUtmRDFNdmNkK2JqaHJG?=
 =?utf-8?B?c3htT3d1aUFsVUE0RG5wbWNJWDhlNFArbmo0a0dIQ25vT29GVDlwLzZXWURT?=
 =?utf-8?B?RjFYM1pCaXh3VzlYT1lSU01yZ1h2K2hpejdhdS8rQVRIVTdxM2c2bjZCMzBl?=
 =?utf-8?B?NzFsWDhueUppQWU5TmNJV1pDaU9jdGpLYUdMVkdzUmthYjFJa0ZnMkMvR3JO?=
 =?utf-8?B?WDRoQnZyRGE3SEJYM3NQZ3EyWGRaeEU3NTZkcG5GSFRTblRFcHVNYjFQNGV4?=
 =?utf-8?B?YWFkemV5Ris2SUtNaEU1MkJ1N1RaQXRTV2k4K3FuRVNLRUVWU1k2UGVDSFI5?=
 =?utf-8?B?RnBESUc0V1FUaWNZcFRkTWFmaWhlVlpLOFdmdzJwemNBaDVjWUVaMFlVTmR6?=
 =?utf-8?B?a1RIbHhXRXJRM2l1SWtmMWRxVGpsS1F6SklCLzJwcy9CSy95V1dOYUwyUVpQ?=
 =?utf-8?B?NHVRTXVrMTB5UitNU1JORGFwdjRrUVowbEVkU1N2enNXd2QzSkd3TEZvTkdv?=
 =?utf-8?B?RUxRTSszT2F6L3Y5Y3ltV0ZPVkxZWkxpVWtxa1prWXhGajBnTW1pRm1LQjRD?=
 =?utf-8?B?eGFlbHdBWTRoRVRMNklNMXNadWpDTFRmK1dDNGVWK3JVZmJ6andidEk2RzJU?=
 =?utf-8?B?cVMzUStOTmIxS3FPb0hHVmdGb1JTUytwOUhwNEV6WDJQbnhjc3Byak9lbDQr?=
 =?utf-8?B?bnpQbkwremRUM082eG9kK3ZRbklFVzMyWGNFdGhXc3FIQWx6QlJzajcrWXVX?=
 =?utf-8?B?L2NLYTdFZ21oUmFwWWpENHp5ODRyZkVBYzRvNzFwMWJPbTlVNVZkS0RGZDkr?=
 =?utf-8?B?eDh3MlJ5MXRSempva0N6TmJtbUxjS2hjY3REanhBdE9YVENSbjcxVWNQbnl5?=
 =?utf-8?B?N2s0Q0RqYXQweGRYbHFyR2FVaDZKRG5KUHhPeGJVWHpJcERtZU1tUm9SOFBk?=
 =?utf-8?B?dGQvSE9BU1FPejNkbmdVZlp3QkRxU3EwN3MxVkpvdXpMUkhxdTVBR0tQT0w3?=
 =?utf-8?B?UitNNnRLc3FBbERFdUtaUDYvaDlVUXh0V2RTUHc5OTdNQWhocDdEbUlKN1Ru?=
 =?utf-8?B?RlVVSWpxRW9CdHB4UVpPc0crMXhtMi9wRHFkbUdQUk1xSS9yN2wvNGxRRnhL?=
 =?utf-8?Q?6G0cJ3jsDzLxJBe54OmtAtNU0?=
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: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 64f72d8e-dff5-4163-7581-08db242e72ca
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2023 01:50:11.5399
 (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: tEwjtrM7Vj6SL9iM74tbxgn2v6uEsMUsxtwclGdvO6BtmVjvuny2zDhN3A3MlLg8vOQmOg1w7zGB2EI6AdoDng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR11MB6070
X-OriginatorOrg: intel.com

PiBGcm9tOiBNYXJlayBNYXJjenlrb3dza2ktR8OzcmVja2kgPG1hcm1hcmVrQGludmlzaWJsZXRo
aW5nc2xhYi5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIE1hcmNoIDE0LCAyMDIzIDk6MzIgQU0NCj4g
DQo+IElmIHRoZSBzY29wZSBmb3IgSUdEJ3MgSU9NTVUgY29udGFpbnMgYWRkaXRpb25hbCBkZXZp
Y2UgdGhhdCBkb2Vzbid0DQo+IGFjdHVhbGx5IGV4aXN0LCBpb21tdT1uby1pZ2Z4IHdvdWxkIG5v
dCBkaXNhYmxlIHRoYXQgSU9NTVUuIEluIHRoaXMNCj4gcGFydGljdWxhciBjYXNlIChUaGlua3Bh
ZCB4MjMwKSBpdCBpbmNsdWRlZA0KPiAwMDowMi4xLCBidXQgdGhlcmUgaXMgbm8gc3VjaCBkZXZp
Y2Ugb24gdGhpcyBwbGF0Zm9ybS4NCj4gQ29uc2lkZXIgb25seSBleGlzdGluZyBkZXZpY2VzIGZv
ciAiZ2Z4IG9ubHkiIGNoZWNrLg0KPiANCj4gRml4ZXM6IDJkN2YxOTFiMzkyZSAoIlZULWQ6IGdl
bmVyYWxpemUgYW5kIGNvcnJlY3QgImlvbW11PW5vLWlnZngiDQo+IGhhbmRsaW5nIikNCj4gU2ln
bmVkLW9mZi1ieTogTWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tpDQo+IDxtYXJtYXJla0BpbnZp
c2libGV0aGluZ3NsYWIuY29tPg0KDQp0aGlzIHNob3VsZCBiZSByZWJhc2VkIG9uIHRvcCBvZiBK
YW4ncyBwYXRjaC4NCg0KUmV2aWV3ZWQtYnk6IEtldmluIFRpYW4gPGtldmluLnRpYW5AaW50ZWwu
Y29tPg0K


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 01:55:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 01:55:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509424.785147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbtsu-0004Wv-Ln; Tue, 14 Mar 2023 01:55:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509424.785147; Tue, 14 Mar 2023 01: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 1pbtsu-0004Wo-JE; Tue, 14 Mar 2023 01:55:28 +0000
Received: by outflank-mailman (input) for mailman id 509424;
 Tue, 14 Mar 2023 01: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=ZhtR=7G=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1pbtst-0004Wg-Q1
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 01:55:27 +0000
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 449fe60f-c20b-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 02:55:19 +0100 (CET)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 13 Mar 2023 18:55:21 -0700
Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83])
 by fmsmga006.fm.intel.com with ESMTP; 13 Mar 2023 18:55:21 -0700
Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) 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.21; Mon, 13 Mar 2023 18:55:21 -0700
Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by
 fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.21; Mon, 13 Mar 2023 18:55:20 -0700
Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.21 via Frontend Transport; Mon, 13 Mar 2023 18:55:20 -0700
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.106)
 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.21; Mon, 13 Mar 2023 18:55:20 -0700
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
 by SJ0PR11MB5769.namprd11.prod.outlook.com (2603:10b6:a03:420::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Tue, 14 Mar
 2023 01:55:18 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::1aac:b695:f7c5:bcac]) by BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::1aac:b695:f7c5:bcac%9]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 01:55: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: 449fe60f-c20b-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678758925; x=1710294925;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=vI3F0rj7QWzkvpHVeussW4i2MPFpmN3sNkoxZOK3/Q8=;
  b=CN2X+IHGyJQ4GcJwaNZ6dyy8p4658WE8wA9gjxETw4l81SeumT99Awxd
   Nk+Tj9nrcJLFsNsP9Y9lelzRltYhZOqTE1PgodFSqhLbYNiJPdgVujvQs
   JqiVUrZ+iGw40RtQUF/uYszw9nth4xDMupkLCdBv/5/Q7PVawMLWf5iN0
   cRE8o4YEd5gZXY/mheKrWv8ze13dvoZZTX0fwo+77hi3GGtu6PD8DEhWY
   R6Xckh14xobw+qI90HsTHmCGCxs1gwvzaj+HvuvpAnWNk7RsnoGNjKZr6
   vrlCgy1G1m6MDd+xcxfQEyB2WV3MBj3iBOR35K3504LZviOGYS/WLDaEm
   A==;
X-IronPort-AV: E=McAfee;i="6500,9779,10648"; a="364968398"
X-IronPort-AV: E=Sophos;i="5.98,258,1673942400"; 
   d="scan'208";a="364968398"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10648"; a="924725034"
X-IronPort-AV: E=Sophos;i="5.98,258,1673942400"; 
   d="scan'208";a="924725034"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T6O/vnIaxbZhbcPwHr1jjUSIlqVwsNb7wTAmXhV56MDfUmh9LNsOnAN4njKQAPyl6WjEFquLDaRkjynQIy9isKRbfkX/W6cQ9WGKPtTw1/N417/9Oezy2l02ufhLjwsSi9XLrfgSaEn69nMRXUGDwYhxnLLYWQaFQiQPBQvOsqTTOacRkjzhsG3dOkbLKX+VjKtYUN3WmdTjLBJYsI2MOU0cCHOUbZrN54WUuRX6WJ0sg0jmd6l6bVoa+EFSkXJNO/uwp1STEzvgrMAFusCc+i4Yt+LPw7gfhmwCPetmXX5eNbnz4mwop+dOlJbcZr3E4UEjDrpsOWC5liWW1VMb+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=vI3F0rj7QWzkvpHVeussW4i2MPFpmN3sNkoxZOK3/Q8=;
 b=emATcI8E06UWEi91va9Tt4onVPbGDqmHWHfcqh27WMn6v8C+LU78JPEzWaqmpE3IV3XNGBaqh36zY6/Fd1QyaPwREDe640Sg14NYqYdeE+ZMsIFd4qSxD7zVBrzJLCBtJgCdLhVVRLMP19+9zkDmU6AE69BaHMF9UI/8UNJWD9bdFwP2BOX2Y7upHZ7Ne2a5EACn8cPMC/QJu1lc8GvwPpZ+un7iiKjC9eUMpKN4uKu39wr2Ll8Z4bh8p5TbzLGn8P4LLpdA1JHqVypiBIQvFn0XliBtLm+0/gXOxyQeT2i8RNqtSCvu9iJw92F7E+WF1hDOr1lNGIxBwX0GQl2bQw==
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: "Tian, Kevin" <kevin.tian@intel.com>
To: "Beulich, Jan" <JBeulich@suse.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>, Wei Liu
	<wl@xen.org>, =?utf-8?B?UGF1IE1vbm7DqSwgUm9nZXI=?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>, "Nakajima, Jun"
	<jun.nakajima@intel.com>
Subject: RE: [PATCH] x86/altp2m: help gcc13 to avoid it emitting a warning
Thread-Topic: [PATCH] x86/altp2m: help gcc13 to avoid it emitting a warning
Thread-Index: AQHZTaI8c6Gg7osE6EW0fUR5A226Ra75lKrg
Date: Tue, 14 Mar 2023 01:55:18 +0000
Message-ID: <BN9PR11MB52764DAA3A1A8BE422B2C45A8CBE9@BN9PR11MB5276.namprd11.prod.outlook.com>
References: <3a455e81-6db1-be47-42f1-9aa49531d715@suse.com>
In-Reply-To: <3a455e81-6db1-be47-42f1-9aa49531d715@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN9PR11MB5276:EE_|SJ0PR11MB5769:EE_
x-ms-office365-filtering-correlation-id: cb154518-353a-470c-4457-08db242f29ab
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: nUyb2As3JkLiY4h/Px179oFvxLarNPgAlkTc6riqhmjilD7zGBkqT9eLsGJQyubeaGECaZ+jlIKqRX90UNXjJ1rUXNDaVy6auGa5/+/ja6bw2hqLzC0uinqmYxWQvhFCmeOCXnU8RE836FqAzi7TabDnJnbwUjkPqfXoyJP8H8kQQK4Y4GrhziLZ70oPcPalFtaymPpgMhVEmLgPEKwJwp3o+Jn7h/yN97i46p3nLiEk9vJnC07Cw7Fu2CWWFh1Z7yX4QtJdq7KJvcYzRBbudSt6/9oJpmnkcLWvi+zmueeu7dKhnqUmwSYn0jRTeqUTJv+n8UrU4GdoQ0Aphj7XhkXxLSu1fxq4w0Ym8089TS/xI/FiXh29kKbbYe1O/tmOlg5FY5Z3y4C6ps77soOjw26TqeZvNmS4Nz5RP61329Bq57nF05JM3hoOpK8+BXGxhIh5DKxu8zP0gyngCJOfEz+IiG2D5ETc6kqoQ5H4m+CDDEbMyF56ddYa7bo4xdOnroaaRVWRDz0npauQCeehpxWDbSMhn2Cjqk+Ng86eU/wui8eZj2JQ8ZFcwFQggL4Aauh3iBubMyYeQItkgeXAC82CI/Wuq6XMigS+8UK1QovCEyT+FIHeTmavcvET98HnmlMLknhEQr7oUQu1KguP5d6VN2fGj0CuKpztzBubZQAg1sjwlp5lPmwBBVyMu6eS2mM4E5MApZewOGjJgX9kHg==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(346002)(396003)(366004)(376002)(136003)(451199018)(5660300002)(83380400001)(7696005)(478600001)(107886003)(9686003)(6506007)(26005)(71200400001)(186003)(38070700005)(4326008)(66476007)(52536014)(8676002)(76116006)(66446008)(66946007)(55016003)(8936002)(33656002)(41300700001)(64756008)(66556008)(38100700002)(86362001)(54906003)(110136005)(316002)(82960400001)(122000001)(2906002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d29zKzB5YmNpWmVkVHZ5SE1qb1pMeldsSHlXcHJzelhpSDgzNHhDZnh6eGJX?=
 =?utf-8?B?RitGd0l5QWVlcFlEZ0puVTd2UzBjb0dZc3ZqZHVtSDBCM2ZKUnJxbkc5eUxZ?=
 =?utf-8?B?MmZCQXdlZENEVGF1MnRyMTc3K2JMSmsvYzBJaC9NekNJOHVZZWNzdGxZM3JS?=
 =?utf-8?B?UTFEUDYxZXRrZzZUR1Noc3I2NWtBZ0x5eCtZYlJselhjaHRKSndFUVAwaFp2?=
 =?utf-8?B?K2grUHVVTGFPU01hcGdOeTE2WG5BUS9na1JZQjJnbmpUeE9NaG1PMW8xQ25J?=
 =?utf-8?B?Y1R2b0h4L2dEd2tWcWVQczRqK1hEb3QxUWY3aVBWRUp6WlpyNGtCSzdtMDRh?=
 =?utf-8?B?WWNSRHZ2QW1VNDl3a05KL1RGSHRIM2ozUnBmVFBuQnkrVE1hN0xaMzE0amRR?=
 =?utf-8?B?NDRya0luMU9Zak9ONzRDclFCYmUvdGUzc1R4MENmS3ExRzFWWmh5cFBvc0d2?=
 =?utf-8?B?eitRR2RNNENqUnNCUzlPcVkwTks3dTRIdldPZzRFRmVhaDZpL29mdGp5dFI0?=
 =?utf-8?B?MlVvRDFyOVE5Z2sxUURzdE11WXBveTh0cmR5QysvbDJuOFZVTXVDVnc2WWRj?=
 =?utf-8?B?OFNQajNEdFZmcWoyT0tmNXExa2w0cmtFcUpKNitYSXJGcFVvTm51NmFCclI4?=
 =?utf-8?B?Z3hxUWRvYU5FMmFjV2taVkN0dlJzSlRPWUtnU1pYYVdtT1EwSE14ZTAvT3k1?=
 =?utf-8?B?OCtrTkRoU01WclljcFIrZkN2dHU0S1JaczBTT3lTSFZuN3kyNGdmYkYxaFIx?=
 =?utf-8?B?di80WDFJV0sxRUFYTWw2N0Z3Sm1UM2daTGMvV25FK1JIZkI3aGY4cFQxVDZ1?=
 =?utf-8?B?QW1OK01xMkt5YnNaR0hHK3B2TXRoOEYyUnpQOUlyNlMwVnlLVVhRNUtDdlBS?=
 =?utf-8?B?b2plQy96ZVFRT1ZKTFNGOFRRTFlOelFYWVN3ZFAwSDgrNVN4ckFOVThEd0dW?=
 =?utf-8?B?eVQ2VTFITmJXblFpU1FScmZKVEtZMVFKQlgvMDdKWmRFV2pSK1kvemFMN2xO?=
 =?utf-8?B?WUM0dHJxRDZCM2FNb2Z4ejJCVTJBekRtUmVNMkFRK1FDZUVsWHRqaTI3Vzd5?=
 =?utf-8?B?b0FSZTEzbkU3VXUrSFZoem5xcXFKR0FKRndjbTJXdE52Z0xmeWVTdjlXZ2hE?=
 =?utf-8?B?dzFwRW10b2hJQmVEbHVIWjVJY1E3MlArOHZNbEVyQUZWcWVDWTd6NSsrR0Uv?=
 =?utf-8?B?bWwyREtka1RMbFpIRW9hS0dYenBHSkZRc204MTEzd0ZOMkU0eTFKQlFUMVpP?=
 =?utf-8?B?Rm45cHFWNmVHUG5vUGl2d0YwVVNlVlpnZFE0WUhWV1JLWVdyallSSGN5Sk1q?=
 =?utf-8?B?eWp0dXg3OWFiRGlkM280RGVWc1haSnFzL3BNa09mWmZoNCtJQk5LWkJHYlRJ?=
 =?utf-8?B?NGkrL00zOHVTQXE1TkdIZ2NSU1k1WUx0eXQrdWE3VEIvd3gySE1QSzMrb2Fq?=
 =?utf-8?B?YVpsV2ZETjFTQjRvNTk2eDE1K0dTd0J3TWxrRlhXVzhWR3R4UXR1cW9qUVhj?=
 =?utf-8?B?dmxMQzU0dzdkVHJER3ZFTW5vUERZREd6dW1vMWh5ZHRjbnNFLzdUSVFDYkNq?=
 =?utf-8?B?V0llNmVGMHhpb0NELzUwNjVDYThLNUNaL2YrWjk3L2s5TFlocnJOTnpaSDJ2?=
 =?utf-8?B?UjZiUDNpNXBDWFI0N1VjaW1Ud0xrTnozN1M1dkdENjBTc3haQ3BuOEViV3JZ?=
 =?utf-8?B?Q2NGcXdDcy9LYk5UckxBc0pjaHNDa3I3N010SHpGNmVDbkRLL2hBUHpmcXVi?=
 =?utf-8?B?dVp6cGVkNXo5dmZVRFV1RGJjVktIcE5ic3FsR2JDb2dMUFlubVhoQ3BuN3gv?=
 =?utf-8?B?TnF6M3VRNkZoazZXVXpqUzZCQU1lYnZOdi8xS1ZCN1AxMmtwZ242QXRLUUto?=
 =?utf-8?B?OFFhcFdEK3hyWkRqT2xIcjAyVFJtb2p1S1d0ME1ZUXVNY2U3TjVhSkhsUFRK?=
 =?utf-8?B?SWg5c1EzOWVhUzBFdDNHdTV5czFoRk1wclBYWDdybXJveHBSZ3hEQjgrT1A3?=
 =?utf-8?B?bkI4ODAwOUJJUVFjL3RYcjR0cDNQTS9hUlplclVjN2taVWVVOFIwSSttS0xh?=
 =?utf-8?B?czMxbk9FdW1VOVlyWmZJa1hTQVNTY1pxNFJISG5idFRKQXRqdlVxRnhwN0Q5?=
 =?utf-8?Q?bMeWxgDOx/ndU5pftzLaxDSqp?=
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: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cb154518-353a-470c-4457-08db242f29ab
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2023 01:55:18.3897
 (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: PaAPT+m3FGEB8DA+sEGjut+hxfbzbIHImj8oWWYUwfLx8lNu7IC4XEF2IMe2yPPl99cou1TrsVCIkLaaf5O8Sg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5769
X-OriginatorOrg: intel.com

PiBGcm9tOiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IFNlbnQ6IEZyaWRheSwg
TWFyY2ggMywgMjAyMyAzOjMyIFBNDQo+IA0KPiBTd2l0Y2hlcyBvZiBhbHRwMm0tcyBhbHdheXMg
ZXhwZWN0IGEgdmFsaWQgYWx0cDJtIHRvIGJlIGluIHBsYWNlIChhbmQNCj4gaW5kZWVkIGFsdHAy
bV92Y3B1X2luaXRpYWxpc2UoKSBzZXRzIHRoZSBhY3RpdmUgb25lIHRvIGJlIGF0IGluZGV4IDAp
Lg0KPiBUaGUgY29tcGlsZXIsIGhvd2V2ZXIsIGNhbm5vdCBrbm93IHRoYXQsIGFuZCBoZW5jZSBp
dCBjYW5ub3QgZWxpbWluYXRlDQo+IHAybV9nZXRfYWx0cDJtKCkncyBjYXNlIG9mIHJldHVybmlu
IChsaXRlcmFsKSBOVUxMLiBJZiB0aGVuIHRoZSBjb21waWxlcg0KPiBkZWNpZGVzIHRvIHNwZWNp
YWwgY2FzZSB0aGF0IGNvZGUgcGF0aCBpbiB0aGUgY2FsbGVyLCB0aGUgZGVyZWZlcmVuY2UgaW4N
Cj4gaW5zdGFuY2VzIG9mDQo+IA0KPiAgICAgYXRvbWljX2RlYygmcDJtX2dldF9hbHRwMm0odikt
PmFjdGl2ZV92Y3B1cyk7DQo+IA0KPiBjYW4sIHRvIHRoZSBjb2RlIGdlbmVyYXRvciwgYXBwZWFy
IHRvIGJlIE5VTEwgZGVyZWZlcmVuY2VzLCBsZWFkaW5nIHRvDQo+IA0KPiBJbiBmdW5jdGlvbiAn
YXRvbWljX2RlYycsDQo+ICAgICBpbmxpbmVkIGZyb20gJy4uLicgYXQgLi4uOg0KPiAuL2FyY2gv
eDg2L2luY2x1ZGUvYXNtL2F0b21pYy5oOjE4Mjo1OiBlcnJvcjogYXJyYXkgc3Vic2NyaXB0IDAg
aXMgb3V0c2lkZQ0KPiBhcnJheSBib3VuZHMgb2YgJ2ludFswXScgWy1XZXJyb3I9YXJyYXktYm91
bmRzPV0NCj4gDQo+IEFpZCB0aGUgY29tcGlsZXIgYnkgYWRkaW5nIGEgQlVHX09OKCkgY2hlY2tp
bmcgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUNCj4gcHJvYmxlbWF0aWMgcDJtX2dldF9hbHRwMm0o
KS4gU2luY2Ugd2l0aCB0aGUgdXNlIG9mIHRoZSBsb2NhbCB2YXJpYWJsZQ0KPiB0aGUgMm5kIHAy
bV9nZXRfYWx0cDJtKCkgZWFjaCB3aWxsIGxvb2sgcXVlc3Rpb25hYmxlIGF0IHRoZSBmaXJzdCBn
bGFuY2UNCj4gKFdoeSBpcyB0aGUgbG9jYWwgdmFyaWFibGUgbm90IHVzZWQgaGVyZT8pLCBvcGVu
LWNvZGUgdGhlIG9ubHkgcmVsZXZhbnQNCj4gcGllY2Ugb2YgcDJtX2dldF9hbHRwMm0oKSB0aGVy
ZS4NCj4gDQo+IFRvIGF2b2lkIHJlcGVhdGVkbHkgZG9pbmcgdGhlc2UgdHJhbnNmb3JtYXRpb25z
LCBhbmQgYWxzbyB0byBsaW1pdCBob3cNCj4gImJhZCIgdGhlIG9wZW4tY29kaW5nIHJlYWxseSBp
cywgY29udmVydCB0aGUgZW50aXJlIG9wZXJhdGlvbiB0byBhbg0KPiBpbmxpbmUgaGVscGVyLCB1
c2VkIGJ5IGFsbCB0aHJlZSBpbnN0YW5jZXMgKGFuZCBhY2NlcHRpbmcgdGhlIHJlZHVuZGFudA0K
PiBCVUdfT04oaWR4ID49IE1BWF9BTFRQMk0pIGluIHR3byBvZiB0aGUgdGhyZWUgY2FzZXMpLg0K
PiANCj4gUmVwb3J0ZWQtYnk6IENoYXJsZXMgQXJub2xkIDxjYXJub2xkQHN1c2UuY29tPg0KPiBT
aWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IA0KDQpSZXZp
ZXdlZC1ieTogS2V2aW4gVGlhbiA8a2V2aW4udGlhbkBpbnRlbC5jb20+DQo=


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 02:06:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 02:06:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509428.785158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbu31-0006Wx-RB; Tue, 14 Mar 2023 02:05:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509428.785158; Tue, 14 Mar 2023 02: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 1pbu31-0006Wq-Np; Tue, 14 Mar 2023 02:05:55 +0000
Received: by outflank-mailman (input) for mailman id 509428;
 Tue, 14 Mar 2023 02:05: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 1pbu30-0006Wg-NZ; Tue, 14 Mar 2023 02:05: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 1pbu30-0004xn-K3; Tue, 14 Mar 2023 02:05: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 1pbu30-0000e4-7n; Tue, 14 Mar 2023 02:05:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbu30-0007y4-7L; Tue, 14 Mar 2023 02: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sTteaFZVK2z8AXodgB1xhi6Z705yFUVab3BHvwvqAQM=; b=dSG+lDgsuV+igCHL5SdAbfch9v
	sVYWydh23ZUB+KrfFmEQnzypibkSDJX6EI9Wai99+ZyIca6GStywwu3lOZ1k92RVg43V1HN90K0WV
	/FUEFJGZpIuvqzQqIco3sP6nxn2b08bABEBcZtNIa6Xy0ufjhQQM2eI1MSkvzepITeHg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179610-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179610: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=e4c1d8d2317984bd9cb447eba916956841063ec4
X-Osstest-Versions-That:
    ovmf=d2bfe289668e32940cca5da12bc201bf9b6c84d8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Mar 2023 02:05:54 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 e4c1d8d2317984bd9cb447eba916956841063ec4
baseline version:
 ovmf                 d2bfe289668e32940cca5da12bc201bf9b6c84d8

Last test of basis   179552  2023-03-11 06:49:36 Z    2 days
Testing same since   179610  2023-03-13 22:40:48 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
   d2bfe28966..e4c1d8d231  e4c1d8d2317984bd9cb447eba916956841063ec4 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 02:31:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 02:31:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509433.785168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbuQu-0001ga-RD; Tue, 14 Mar 2023 02:30:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509433.785168; Tue, 14 Mar 2023 02:30:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbuQu-0001gT-OV; Tue, 14 Mar 2023 02:30:36 +0000
Received: by outflank-mailman (input) for mailman id 509433;
 Tue, 14 Mar 2023 02:30:35 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pbuQs-0001gJ-Vv; Tue, 14 Mar 2023 02:30:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pbuQs-0005Wu-TE; Tue, 14 Mar 2023 02:30: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 1pbuQs-0001Dx-7E; Tue, 14 Mar 2023 02:30:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbuQs-0006S9-6n; Tue, 14 Mar 2023 02:30: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=Vlnx9SugEov7ovgU+duvXYpEyNGGLgWpvqZNnvawYE8=; b=VDfokry0AndaPeFJ9pWcp6ZD0N
	B2PUjAX1ANlb54AS0DndfO77cc6BqoWLzXF1/pY72ZgT3ZWV3oR6wneAfV2zRw1qfCNMlVCytvZNq
	CCRThU7F5hwtzR2mq3Uh6uexyMWwfiHwPTF3hl/SnFHwiscErlbZ9ygCAUnpzlss/Sq4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179598-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 179598: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-examine-bios:xen-install:fail:heisenbug
    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-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-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm: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-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-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-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-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-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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-5.4:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=b829e8b6e1a7bb8cd3042b927113a22fed0b0d47
X-Osstest-Versions-That:
    linux=126ee8982bfcae6111f0fd157ee5cdd0ec7f5ca5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Mar 2023 02:30:34 +0000

flight 179598 linux-5.4 real [real]
flight 179612 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179598/
http://logs.test-lab.xenproject.org/osstest/logs/179612/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine-bios  6 xen-install         fail pass in 179612-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179567
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179567
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179567
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179567
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179567
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179567
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179567
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179567
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179567
 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-amd64-libvirt     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-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                b829e8b6e1a7bb8cd3042b927113a22fed0b0d47
baseline version:
 linux                126ee8982bfcae6111f0fd157ee5cdd0ec7f5ca5

Last test of basis   179567  2023-03-12 01:43:20 Z    2 days
Testing same since   179598  2023-03-13 09:42:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Hector Martin <marcan@marcan.st>
  Linus Torvalds <torvalds@linux-foundation.org>
  Philipp Hortmann <philipp.g.hortmann@gmail.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   126ee8982bfc..b829e8b6e1a7  b829e8b6e1a7bb8cd3042b927113a22fed0b0d47 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 04:02:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 04:02:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509441.785186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbvqt-0003G1-JP; Tue, 14 Mar 2023 04:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509441.785186; Tue, 14 Mar 2023 04:01: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 1pbvqt-0003Fu-GP; Tue, 14 Mar 2023 04:01:31 +0000
Received: by outflank-mailman (input) for mailman id 509441;
 Tue, 14 Mar 2023 04:01: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=9LtO=7G=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pbvqq-0003Fb-Kv
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 04:01:29 +0000
Received: from sonic313-21.consmr.mail.gq1.yahoo.com
 (sonic313-21.consmr.mail.gq1.yahoo.com [98.137.65.84])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e313a1d5-c21c-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 05:01:26 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic313.consmr.mail.gq1.yahoo.com with HTTP; Tue, 14 Mar 2023 04:01:23 +0000
Received: by hermes--production-ne1-759c9b8c64-fztnz (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 76100b2c878269fd1c2471a41328eeeb; 
 Tue, 14 Mar 2023 04:01: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: e313a1d5-c21c-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678766483; bh=hfIkxSt+f+w40Cm5/M8txYvuJH0EIEq7wMJSl6CHjTc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=Hn2KFrOTdsWVmqwlYzlCNlDd6dqHo8PgxkHCnLsmTwWHW593iiSsON92yeIfmYVVMfA622tx9wvf7tDmz+5QgYzs+CyancqvLUGmBVKnP9lgNec7GbUdi9p5wzvFLpbVC1Fbc5dudbvZxqqqEAMm1+ONnz6m9HDd+hqCy2NKKYtxg9aFeRyJ368WyHfO2KPTh44SsNIDN4lgxwuS7UepDFW0hw4ASdAffV4Ps3TCUQsnct53crItSNwELd8A9DF+iDEPF/V0gOnQjNlYsauTJk5W5YPGmHvpNhSTgMuRMMtMeLbobCdusRQozSLK2FCpTkJRwQmUMzEoOa0b/eYqmg==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678766483; bh=/VOoJql8lXeru8oKxaUG/fk6MHm8CuHBVdiEt+8+QoE=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=L5SB8/I4MIZ7KgcWKEAFrmw72vNMvOt2IBCKEKrEPtMcxLW1/70bWPohEW1Ug+hUUS2nbtXCLnk95S3SEdhSgnIwjpU5qyY2zKQEJVpU8Pmlug2GABleHgZREQaaziiUQH4NSKTO3fygO7tosJD0vmigNePWCFixdmb37gEscAYTaRLi6qKND4eEjc8rlAoHaKcGX4zJkEV88og9XrlQMloFIEm5gkSJQTi/ckB4awsnJ/TlwFVjSCj4lZXvudr2dcG4IPTxeO6wYdkjbrfksmqQzZ6/wncn0hvtI7C/9IKFdyNlo0BgUm3ZVRETwePGmfgS8Mxf9JZ9bzABRscXSA==
X-YMail-OSG: D_Z9IvAVM1kLR_jhTFM_ZCB2sg5gSZYx_12HH28Rf7FQWEw3EksJQKnda7SlG4l
 VJoP8O3qGRs2ouoMQ8_lTvWLFHCx9Y6Iw5gemgzjSKegTd5EIl9IRiQhoFSUz_mmQlbdH7R0etsb
 Oosh3OyCJ_djOxxGSQIoVqo0NM5aG9J0mphAvz1XfTXvOjaZXqB3RG.ZX3lH3JUkVcWzHT0OuSyY
 PXZ24bF.0XMR9gw7kIBwKZNYGu7M164CJqRcS3IZETxzTIS3.0eCt1bMJ3LkReOH_lPzxeF82wuJ
 i0SDJmrrCm9zJ9Jii762e1m70.tQ_N2dSnSLK51CQpD8pptW7_FkJ6aoBVBDQbMd9kfNWSJLBQiD
 1oC20nTBecTahDb.0ihBESrmE4Zj8lG3shpYwV.yTSR3Z3NA8WECiJOsf6J5vxIzhMcWpIxxJyYo
 zgU_PRDrYE68vYFfYZutiA7xVvZ8mV.qLRXlT3srhonLf02genJzKG.JjJ4qtrpb2HwgTY3ODUsu
 7k.p1SX4xBZa6Gusfpe6KkMcxhcI.iUYPbmdJpNVSqwqoTm5aLab0ryr7sMFQac_NKcBjdqwOhwb
 STXCuMxfBdJP0_j8Xp3vOmXxURNDVunc2F8eEv7miti.d3W.wmF8u6PiCB5uT944BDz992CYT131
 NE2ySUcKnADsnwYVcxKHlhfXX22APh0ICjbtp.QrqC8QWTmHWEurgQDT5BNmVsD8BrgQi2LeiTD5
 cg6hzc.iAafBwto1SDEmthllDs4.qtHYMKmNzhXWWJIuY3hBXGOansle34e9py9Po0sQ8p.ixBZg
 UKuoNzW_6oIteO3OQxpXBCT0Q7GiunzAG.7fN0HdP1B1xf_42vF.SRcnAeoA3nwfep.0pvFo78_y
 fIeOuYQ3wvx7rJa_B6.ZGHJ.MWCV.LGcm8ySmhjdfQ5Nl11t9WwnDSJ2OaIHUrEPwmgYXrpayAJI
 BQjErTZT.xOFVJeM_7Nc.kwpq_Qhd5jErkK9Ak8KviTFqtBc7c3VI8pJuDq4b1SQChS7B_QgYQOe
 Dl3pP4Vu_vqJnPCltc.zgeyP5o2YgBfRWb9iSdOsAcRPI3.GQcwn6Ss49JLpjwafOmbRiHLhR0V_
 PUVomBnpvk7N7JxCCYDjkDaiAoRDtWWUz3asUUZqSRB1Geoc9GYpKRPMoSYhQVnERHZ2KKzPe34T
 pC_bdGPXn12nn1dxgI6bOuI.N_7ANsHRHYO1rHju0O.eVQx07IWH5W8vaELGg6PgfMlR1q3pafAR
 kcbldX31PtJ64BXaEVprQ8PvX6mzvwctW1yAynKQ_5UQJF1hTJASASqWS3KfEQMVRZ8b6FjYWa0d
 dlXfmAMqswVDvQ4q.P_hJNiiUhEL2ySbHWJ0cQ1SyZ186vp.fwJfibk6uu5RkBxIDO3uuqZY_fuw
 y03akzbmXaDGTw9lmNN_RRZdzwcKE3CGZhGJ8D01NVO8yqUlp61co0F0Dk3DUAe4HuF31cGvhyVI
 SvDBA7prZ7iq9UZp9reNfo01LWtFgyuVhHsqx5pN64mQUBhekXta.voxq0J6w577Xf2INwYmJ9hN
 ydIYcXla3agUYmBKUQlzu.z5ChgOT8BxlFZHj9RqxpHeq5bzfZlMY42IlnIdZgwHQ_AiqYoYjR2m
 9w7QOgrCpa1m.pP.KMMGpQmIHWN1rnF.qO70Bc8C6l4vqxsz5IjbaQEsT1DtnxwiMlmgq9y8NWUV
 04LbHb2Z4HwWTGd.iPvgla7pCU__Vbp5pl54URt7TW4ynqPRTaLvsz_w1JpvkRNt6vSdwZZ9EVqW
 54SFxeBQJMuKm.KwKdJYZHhslbrd4p6mSl5GOPUjBrh2gfgSkmaivMQ7IIz3P2OQnPbSqNsqqtfS
 eWPLQHfD3sJhq9wnxG5PBELMsO0HCGYIqGOmTIcbIn8OArp5aoiz93aoJpaHj03_0AZgIonW6WDJ
 zBWRpLw9ID2T0m40r6G.IgMn7lK.YJdmp4UMkJMR2No7ZBK6oEgAMk_NK4PyzmF9.84bHbL8jtjN
 D.eS9RuaGFjX9HUthTaFpqNfMU5Web6lljPpbEgH_KKOvBALw.iUqdpPOLE7Mg4t8C1tOBET6XWW
 smjghbpLkggqqOriVRCrDr9WMvXU8QBHH1KWMIda3rES7zrjK9brc0X1rLxQRm_FXvXN4k4otNtj
 89nkIFCSrE6jcHzDoOkdC6EEIjJRC3mc8WUG1NRRhvbl_GYKlYCsSKjeHNmW5f1VhzEL4NjQj
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 511d7520-f088-48d5-93aa-9784919af414
From: Chuck Zmudzinski <brchuckz@aol.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 1/2] pci: avoid accessing slot_reserved_mask directly outside of pci.c
Date: Tue, 14 Mar 2023 00:01:08 -0400
Message-Id: <7248ee8127e73299c53e38a635505033685787e0.1678763217.git.brchuckz@aol.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678763217.git.brchuckz@aol.com>
References: <cover.1678763217.git.brchuckz@aol.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Length: 4913

This patch provides accessor functions as replacements for direct
access to slot_reserved_mask according to the comment at the top
of include/hw/pci/pci_bus.h which advises that data structures for
PCIBus should not be directly accessed but instead be accessed using
accessor functions in pci.h.

Three accessor functions can conveniently replace all direct accesses
of slot_reserved_mask. With this patch, the new accessor functions are
used in hw/sparc64/sun4u.c and hw/xen/xen_pt.c and pci_bus.h is removed
from the included header files of the same two files.

No functional change intended.

Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
---
v2: This is the first version of this patch, it did not exist in v1.

 hw/pci/pci.c         | 15 +++++++++++++++
 hw/sparc64/sun4u.c   |  7 +++----
 hw/xen/xen_pt.c      |  7 +++----
 include/hw/pci/pci.h |  3 +++
 4 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index def5000e7b..8a87ccc8b0 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -1116,6 +1116,21 @@ static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
     return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
 }
 
+uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus)
+{
+    return bus->slot_reserved_mask;
+}
+
+void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask)
+{
+    bus->slot_reserved_mask |= mask;
+}
+
+void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask)
+{
+    bus->slot_reserved_mask &= ~mask;
+}
+
 /* -1 for devfn means auto assign */
 static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
                                          const char *name, int devfn,
diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index a25e951f9d..eae7589462 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -31,7 +31,6 @@
 #include "hw/irq.h"
 #include "hw/pci/pci.h"
 #include "hw/pci/pci_bridge.h"
-#include "hw/pci/pci_bus.h"
 #include "hw/pci/pci_host.h"
 #include "hw/qdev-properties.h"
 #include "hw/pci-host/sabre.h"
@@ -608,9 +607,9 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
     /* Only in-built Simba APBs can exist on the root bus, slot 0 on busA is
        reserved (leaving no slots free after on-board devices) however slots
        0-3 are free on busB */
-    pci_bus->slot_reserved_mask = 0xfffffffc;
-    pci_busA->slot_reserved_mask = 0xfffffff1;
-    pci_busB->slot_reserved_mask = 0xfffffff0;
+    pci_bus_set_slot_reserved_mask(pci_bus, 0xfffffffc);
+    pci_bus_set_slot_reserved_mask(pci_busA, 0xfffffff1);
+    pci_bus_set_slot_reserved_mask(pci_busB, 0xfffffff0);
 
     ebus = pci_new_multifunction(PCI_DEVFN(1, 0), true, TYPE_EBUS);
     qdev_prop_set_uint64(DEVICE(ebus), "console-serial-base",
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index 2d33d178ad..a540149639 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -57,7 +57,6 @@
 #include <sys/ioctl.h>
 
 #include "hw/pci/pci.h"
-#include "hw/pci/pci_bus.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
 #include "xen_pt.h"
@@ -951,7 +950,7 @@ void xen_igd_reserve_slot(PCIBus *pci_bus)
     }
 
     XEN_PT_LOG(0, "Reserving PCI slot 2 for IGD\n");
-    pci_bus->slot_reserved_mask |= XEN_PCI_IGD_SLOT_MASK;
+    pci_bus_set_slot_reserved_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
 }
 
 static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
@@ -971,7 +970,7 @@ static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
         return;
     }
 
-    if (!(pci_bus->slot_reserved_mask & XEN_PCI_IGD_SLOT_MASK)) {
+    if (!(pci_bus_get_slot_reserved_mask(pci_bus) & XEN_PCI_IGD_SLOT_MASK)) {
         xpdc->pci_qdev_realize(qdev, errp);
         return;
     }
@@ -982,7 +981,7 @@ static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
         s->real_device.dev == XEN_PCI_IGD_DEV &&
         s->real_device.func == XEN_PCI_IGD_FN &&
         s->real_device.vendor_id == PCI_VENDOR_ID_INTEL) {
-        pci_bus->slot_reserved_mask &= ~XEN_PCI_IGD_SLOT_MASK;
+        pci_bus_clear_slot_reserved_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
         XEN_PT_LOG(pci_dev, "Intel IGD found, using slot 2\n");
     }
     xpdc->pci_qdev_realize(qdev, errp);
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index d5a40cd058..935b4b91b4 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -287,6 +287,9 @@ void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
 void pci_bus_map_irqs(PCIBus *bus, pci_map_irq_fn map_irq);
 void pci_bus_irqs_cleanup(PCIBus *bus);
 int pci_bus_get_irq_level(PCIBus *bus, int irq_num);
+uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus);
+void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask);
+void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask);
 /* 0 <= pin <= 3 0 = INTA, 1 = INTB, 2 = INTC, 3 = INTD */
 static inline int pci_swizzle(int slot, int pin)
 {
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 04:02:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 04:02:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509443.785198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbvqu-0003OR-6T; Tue, 14 Mar 2023 04:01:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509443.785198; Tue, 14 Mar 2023 04:01:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbvqu-0003Lv-0L; Tue, 14 Mar 2023 04:01:32 +0000
Received: by outflank-mailman (input) for mailman id 509443;
 Tue, 14 Mar 2023 04:01: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=9LtO=7G=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pbvqs-0003Fb-7j
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 04:01:30 +0000
Received: from sonic315-8.consmr.mail.gq1.yahoo.com
 (sonic315-8.consmr.mail.gq1.yahoo.com [98.137.65.32])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e4f85328-c21c-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 05:01:28 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic315.consmr.mail.gq1.yahoo.com with HTTP; Tue, 14 Mar 2023 04:01:26 +0000
Received: by hermes--production-ne1-759c9b8c64-fztnz (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 76100b2c878269fd1c2471a41328eeeb; 
 Tue, 14 Mar 2023 04:01: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: e4f85328-c21c-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678766486; bh=Yh7BMEzcRZJ+tv+RTBvmQkKgDEiGrGLXLZqIzDGAwlQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=BEicIvdf4yOe9xOcm8CjCWj+mQCzTh3YK4u+fLIL8K0QUWMRAYGLjfvZ/F1KxH3KFEY+6lWNLaD8BmVYbeO6M3hz15RYLfvRUyIoKeDtq+9STwsPU4KTErzNlCXvIF/AsTptRBzD7ZtM4JgKNg4BsPnVAcOnjGKwHuB/Xlr4J0jeBf9kjbxaoeuD6lrTVMkf5+8PzRlEMJxNCD8BxvcjruUEQXSCMVC9bTixk/oKkkMYUEX6UBtD5ZwC4XtCG9+C3xDHuWZetnAFWapSpRYPPcuXjOFh+qz67hpkbz3ijQyUxP1alr0ZfsFO+nAmFMgKZwqBDDbV914iPYIwNgxtXw==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678766486; bh=1TjimQk1PnAKw1DHZs4ZFq5F31xo0tUPFSNrOyB2J0a=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=AO02/DkrBs0qhPCWCqMMJzT4PlajBIVUNh1FiSnJK0csPVvpy0t5iVk2f+WCoh0bVvnyyRAe+bpizzvwy0cjWYWX/EkbKoen86zPI7cTyyc1JYCXG/bR+Uzd0C+7CPpa0g185Xn7DmySBNquHs4YQR774OQkeEne6dD7/RLNi4T2dPyZDjlyCP5fAUr/uWPQp9NYOkcFgM5m7YVPFJ6lcfRnWcUlv4gB2+w8rrKE31+StUOTiIkfTKPg3u+QmM2WydtvtlvBOgn/UpsS6pN3MypsGZUWdKA6lNhIJ6YU8r/jRTAh36F2O0O8kAE0YMOM8rnu0PbETfRc2KjA6Z71aw==
X-YMail-OSG: AAciPvsVM1nT78ZwoyN5Obl_Z.6ppE9V0Zyviu.KWJyZ3MTNVtOhkBheJ9AW_Ab
 n73G_beEzW8i_ncTqZ0GsAKMVuDiQWVM2dHJOpFMVtIi9SZiEX91B0Gr59aK9YRsntJ5NQhP0038
 scK6tdCr5M_z_rtcLFK9adrKWlp.cPGMcAJgr_YPNMmcZaKDz8uLIDd1AE9OAYTdqOKxmdR2l9hx
 4eUDIATFAc6eOCm9pD_PhhDPAD4ge2Ltvv6J4L4u4QgT0ADjgs8JV32JF29GJo5xHRRzH5z69BqO
 DSllNAiS_ama55B7j.9fK9AMJWmq3mmoYAtAIIBmlibPqpjaz_pp.7byL_dr7eWyQLua2f5kRTr8
 QAZf3CvT335fakrqrkUVUz_4grP9.fxUMprTMdijCN8pTRUKaIsN4ux_Zt3KGOXiUhtoMXGEoExc
 2KQ1dNbWOS8vN8VtR_ctkizFACf6lr76HiVRlXlfClyu9ytBiZI4uebdSjnuIwlQqtuhfMIc1M5T
 RyfrvEAIcmM6.ujIc7t0I4vtCxeYBoZpFkPeMMFH0u1QVD6yIvtM5YjWFUCCqjtIJud1UHFuWugS
 B7zZVq4Zj1tXaimkCZKvSYvnxjUg0EpZMy.cqtYdyxzGGQJZnzehJl2VyG0wb84qKHpLd_n3yVVN
 L0SUtGocpcJqG_khe7sRnFiK8SALXtYTQjL5vwqZkVIWB0BstZRAKLcP5tTVDIgzaDcyd00A4G0M
 CLUYX3jZXwsDt20hqSGiy0.MtzzPRBSmAESyEzPF7RM7VwKiZMA_KPqylQ8zfdNy_l8t_AKxdQ4q
 i9OQpprA7ZuMeg7324RJoGmMRhviWYfwXcOmhR.911jHJDXqyt59qW.92lQXgJbblonsJkkMxZBE
 FZ7aDbJNErNPCajCus8Q9I3Euiq2xWYfA9AeuECSzFlp3CxZ.E2WhoTdOQQ_du_earc5CUnv9Axo
 G1cZc9ZvU66CGXRIHeY0GHB2IKkFuDZbRNWRvVFgI4TjqUJDQh6UhJFe.cUr4Q44k1N6TEYGL9QP
 fRKgHwnGWweYEwv_w07YfFpq25DoucC5DKBz.tSJL90pKydUYz8k0VqYXmKlmwsu1st4bn1v0vae
 r6R5ugq1bUKOiY8Eg2w2xd94_BhtHnkKBh9x3lLlIzf10_Db8rbYpRsOMO3Kxkid536szIXG6sJ_
 _8hDDoQSx6UQZA4_BVpHcQdt96tBRNPa.Rxp.qorh78MoLDmq8gwbWEzA4JxqJ6VgbKRP714QLlm
 f0wF21UReDuEVhkraNteH0fTD0gWTT.ud5mt_3GJIgRessTVXeXXU0GZ76sDStya1OZrLJ.3TdyT
 V4JEvx.VuY_ft_XXs7MnKybffPynesUsd0vTgeXqYw1BQLRTsMT22k53QrmgBOvF_bjOqxja6HWu
 ehqU1wcgLQaF7bf0NTer6a_UUtG3zDNQBBTIIvUJElZm_s8t9IFlVoZSKlSe15Bq1hEZldLirXcI
 PyRfklDgjJGvNlJGNiMBdBQe3vxXTmiIWQovBwFtvhZCoHjEobh08rvwME9zkzCCMB7q45pYLEHa
 WK6JLptt1hauLQvmC4Ld2OtAwVXRtRRClh21V2R1QgwUD8rWke8CYo2wtwbV8ZBiCel1uBpFaPba
 JMrF4CU7Ok4j9DjjxU1hPeTjvs1J5JRXdpujsfwgNZMa9L1PXy38BG4aw6fWS1IbIsri3UXKySD1
 Ga3FV3nKfdzR5uBH5ZcRWPO1pQgD91IObfHeqVWvJ_tqYvZ99jV7XUR0krYcWpmP.C9qefPX4C9q
 Dyb.A.ZXfdEWPX95I9Fi1.7U9erUl9xpomoEVFiKfSmc2p7Ki7Pptco3qLST5wrCWkzmhA5Wr2kg
 .uq4eRsOqY72Ui1YdaVaNE1MibGiMG4_WJCTspJDmecYu5ua2V5sTyVDAamvedeUK7v.rt9Sl5Cb
 5FhK7LyD5U31Oq1CmRYKn.Vs.QHYywiq3DiYGuJEQ13mpW_E9y7zFKc2tpEFUc9hungXghmmzyk5
 ibsCalaM2iYXCxaqNR9YG6H_GRYqf2Tv7J0H4YnILYbOUAsjdeyYkrTSCGaD3lkP6xO3zDZYeuSn
 hwPJJWyFL7nCyDuB6JZFWUboRbHPt1Rb1bPbtEPaXjtDAm.j_WX8cAOGK0isv92v_MfbaVgWkICL
 19CVymnBOG9g_U5lgRIAZT8HgzKEFzQlqAC4dti1rlUSdbuID7w7byIXogI7qFIBVS75wsmd.VhI
 Vsjs-
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: f36d0bbb-79cf-4dde-9e7b-8f81bf7803dc
From: Chuck Zmudzinski <brchuckz@aol.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 2/2] pci: allow slot_reserved_mask to be ignored with manual slot assignment
Date: Tue, 14 Mar 2023 00:01:09 -0400
Message-Id: <d9ae459b2814425c2d9e756e45d993c824da150a.1678763217.git.brchuckz@aol.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678763217.git.brchuckz@aol.com>
References: <cover.1678763217.git.brchuckz@aol.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Length: 5122

Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
uses slot_reserved_mask to reserve slot 2 for the Intel IGD for the
xenfv machine when the guest is configured for igd-passthru.

A desired extension to that commit is to allow use of the reserved slot
if the administrator manually configures a device to use the reserved
slot. Currently, slot_reserved_mask is enforced unconditionally. With
this patch, the pci bus can be configured so the slot is only reserved
if the pci device to be added to the bus is configured for automatic
slot assignment.

To enable the desired behavior of slot_reserved_mask machine, add a
boolean member enforce_slot_reserved_mask_manual to struct PCIBus and
add a function pci_bus_ignore_slot_reserved_mask_manual which can be
called to change the default behavior of always enforcing
slot_reserved_mask so, in that case, slot_reserved_mask is only enforced
when the pci device being added is configured for automatic slot
assignment.

Call the new pci_bus_ignore_slot_reserved_mask_manual function after
creating the pci bus for the pc/i440fx/xenfv machine type to implement
the desired behavior of causing slot_reserved_mask to only apply when
the pci device to be added to a pc/i440fx/xenfv machine is configured
for automatic slot assignment.

Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
---
Changelog

v2: Change Subject of patch from
    "pci: add enforce_slot_reserved_mask_manual property" To
    "pci: allow slot_reserved_mask to be ignored with manual slot assignment"

    Add pci_bus_ignore_slot_reserved_mask_manual function

    Call pci_bus_ignore_slot_reserved_mask_manual at appropriate place
    in hw/pci-host/i440fx.c

 hw/pci-host/i440fx.c     |  1 +
 hw/pci/pci.c             | 14 +++++++++++++-
 include/hw/pci/pci.h     |  1 +
 include/hw/pci/pci_bus.h |  1 +
 4 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/hw/pci-host/i440fx.c b/hw/pci-host/i440fx.c
index 262f82c303..8e00b88926 100644
--- a/hw/pci-host/i440fx.c
+++ b/hw/pci-host/i440fx.c
@@ -257,6 +257,7 @@ PCIBus *i440fx_init(const char *pci_type,
     s = PCI_HOST_BRIDGE(dev);
     b = pci_root_bus_new(dev, NULL, pci_address_space,
                          address_space_io, 0, TYPE_PCI_BUS);
+    pci_bus_ignore_slot_reserved_mask_manual(b);
     s->bus = b;
     object_property_add_child(qdev_get_machine(), "i440fx", OBJECT(dev));
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 8a87ccc8b0..670ecc6986 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -501,6 +501,7 @@ static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
     assert(PCI_FUNC(devfn_min) == 0);
     bus->devfn_min = devfn_min;
     bus->slot_reserved_mask = 0x0;
+    bus->enforce_slot_reserved_mask_manual = true;
     bus->address_space_mem = address_space_mem;
     bus->address_space_io = address_space_io;
     bus->flags |= PCI_BUS_IS_ROOT;
@@ -1116,6 +1117,17 @@ static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
     return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
 }
 
+static bool pci_bus_devfn_reserved_manual(PCIBus *bus, int devfn)
+{
+    return bus->enforce_slot_reserved_mask_manual &&
+            (bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn)));
+}
+
+void pci_bus_ignore_slot_reserved_mask_manual(PCIBus *bus)
+{
+    bus->enforce_slot_reserved_mask_manual = false;
+}
+
 uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus)
 {
     return bus->slot_reserved_mask;
@@ -1164,7 +1176,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
                    "or reserved", name);
         return NULL;
     found: ;
-    } else if (pci_bus_devfn_reserved(bus, devfn)) {
+    } else if (pci_bus_devfn_reserved_manual(bus, devfn)) {
         error_setg(errp, "PCI: slot %d function %d not available for %s,"
                    " reserved",
                    PCI_SLOT(devfn), PCI_FUNC(devfn), name);
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index 935b4b91b4..48d29ec234 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -287,6 +287,7 @@ void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
 void pci_bus_map_irqs(PCIBus *bus, pci_map_irq_fn map_irq);
 void pci_bus_irqs_cleanup(PCIBus *bus);
 int pci_bus_get_irq_level(PCIBus *bus, int irq_num);
+void pci_bus_ignore_slot_reserved_mask_manual(PCIBus *bus);
 uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus);
 void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask);
 void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask);
diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
index 5653175957..e0f15ee9be 100644
--- a/include/hw/pci/pci_bus.h
+++ b/include/hw/pci/pci_bus.h
@@ -37,6 +37,7 @@ struct PCIBus {
     void *iommu_opaque;
     uint8_t devfn_min;
     uint32_t slot_reserved_mask;
+    bool enforce_slot_reserved_mask_manual;
     pci_set_irq_fn set_irq;
     pci_map_irq_fn map_irq;
     pci_route_irq_fn route_intx_to_irq;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 04:02:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 04:02:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509442.785193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbvqt-0003IA-UZ; Tue, 14 Mar 2023 04:01:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509442.785193; Tue, 14 Mar 2023 04:01: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 1pbvqt-0003He-O8; Tue, 14 Mar 2023 04:01:31 +0000
Received: by outflank-mailman (input) for mailman id 509442;
 Tue, 14 Mar 2023 04:01: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=9LtO=7G=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pbvqr-0003Fb-TX
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 04:01:30 +0000
Received: from sonic312-25.consmr.mail.gq1.yahoo.com
 (sonic312-25.consmr.mail.gq1.yahoo.com [98.137.69.206])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e26db9a7-c21c-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 05:01:25 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic312.consmr.mail.gq1.yahoo.com with HTTP; Tue, 14 Mar 2023 04:01:22 +0000
Received: by hermes--production-ne1-759c9b8c64-fztnz (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 76100b2c878269fd1c2471a41328eeeb; 
 Tue, 14 Mar 2023 04:01: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: e26db9a7-c21c-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678766482; bh=1+u0lRMKY06Q3afqGvjIRM93Hh6BLtsy7Va/1C/NuCg=; h=From:To:Cc:Subject:Date:References:From:Subject:Reply-To; b=S8YdMeALJ0dtBBv8ugZdhLn6w794VU3vXP+pU0a2hfm3rdYFMUrEWdLx6+vDeRJNfxCRs02Y5EAy/e9selVnsazOBoPrKhbhaA39wc20/wWyc1insCa4JU7T+lMooPVuG+ilT01v2iuOmYJB2Oi5e130xV7l4Ia7B2AaqeA52zOmoUVW+LfN7W1qwQTH0Xbd4TuviIWTaDXhUXVTIetAChifpjBhKXxIRvgAhC61u4mD3EjdHdWScRiyLf37GdxSgz/280eEj9A/krKJJRX50qaJjYLt4/t6+Yxr/xTAYWZaTHgZz8C+kmZD9usIzjqb2J3tXeMWumxhVRgeftcW3Q==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678766482; bh=TSfXtiVDxZZ55hu83CwP8B5UBxaCuyvpUCRxBKpo5Lq=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=i1qgpHoND6l3VGC1VnwL0d5pIr/2Zbc/4bioad8ltFM7+vm9mHzTFojbqKM0UdoGGdcqMnic2WyttvdeqMPtqLDpbmlfQtbyPazQUAyjCmwDdbtTi1XjCh4B5veQWzHdSFegTMl4fsyH3axHT1PH+o81fZxBtGKEkL3Q0kcy5HPAWcVScb7QJvsolLQJH+JgYWYWfAg0i609j9k3OjzRaO2gVZ8lTHFj0xTZLDuxgMMR7csKYTr0hzs5GHtKEuIjgzJn69doSZ3+PFr9wB3lpneet+goi7XjgYiEuk3YbvpdNaFERrDa26pWnt/YMnqFqSUT56yyz4Mf7DWCt22ucQ==
X-YMail-OSG: a9C.w0gVM1lCDMl2JTdGNzo_5tnf2l2.bZk3cMSDLidExWCAWJUzIDAfsoRcOyz
 ZsvAaR8kDu_lQGVNpARz_PuOYiYf1v.MzlbT7lby7UrRmKETZE_T6HyjO4obxUnb5P1Hkd7zC0ZJ
 AsxFAZ2QDErf6VK3y.vkWEB4OQNiHy9R4U8w_K50IWFP9ZmOmBXwyMEnZ1KxDyOrRi58FU.DZ0y_
 t4bC2eH.FpjsTzsQyLheBU6pkxMjqkH3KA6zX0ODG6gg_DNmgHjsg8vdTt8tEO9Rw3IXANTr9QtB
 en3oo8G.JoFofQwd_0ACBSVtUrCvb.xJHcq3O8HowgwNHglkQLj9BLlLBelQQajZWCv7e1w1CMJE
 Sm5rwNnCpk.61YNLkvVMEnBBUyeA5uL7MQ83HrjfPiCEXJPC.eiOwF9prahphnpK9RVGR56Dfu3L
 E4i5ULlZL0rBy.RpfN0epvHsaHRUkT9o1cJ1VSx_rSuNYhtUnB3nTQCoYN1GRnesodS09mfJqf8J
 6eZIPUtWclYdTEztcRpO2sZYj5iVc46sw12MzG7fuiZ4ld1_oCI8Lj_gJ1O0L6n14QranDBhOOG_
 PmrEPi79.kS3zs0jO2pDaVT1KCLJCbQ8LfMEN8GayUzM1k1.kIwFvCVNlHKI4WelUyxwCfTYJelD
 M2uCHMRDuzmRTANtMvpiOFdmz6zzefGwggrAiKuohRMQb0rs0SSFUL3eRdOse4u_.KNtXMIWe5Hr
 Q8fitnoe0hHimSU3LfzHVhNRy.9V6n_tw96MaregJfgHkBufaM1N05BjSsie5WWyZhEeasWLMTYz
 fOGyPfJrMefExgYpqqINOE2yXkVz.2GL7pd8uTRHxXrkHpDboU0D2xIa4s0ln9y3UqoIj_h_UoLy
 X6BiGzhi0bw78HKlSZYn4Ht3n5MkPlbq11cn3I7Bwciib9.rd2V1m7Os4AACnH.SS4yoLCO4vQM2
 TECbQ4BoWL2MxVHghS0pXzjSTcaQKUB92JT6wnUVMnrHCXjAO4BtmfAfrAAk8D0xmfeJz9MMg.tm
 RNrSOpRcB5jGYPuj5DA1VEVRh5saGeTmFQR_aGV.8WYneawEDtsNHK68UETAPKEpAcwD5Cp4R7ua
 VG0dOa3aIaB6UZtv9kJDK7tq40XvfHZs0Qp2cj6DwrAVs2WchW6Ey11V2nuaINHvb.LW9dKWf7mS
 2.aVBSoWXmNrEfe5YVJlXBExRSzxaYtuTQ4LAuDVxMEjHBAzafHr_KQlpJWPcr7gP1uAQz0_BWu5
 sPbAYF1xmbVetLtUmHvoU9PtrwnX9MXw2jtg6bdOmw.czA1rGuSgbsBsr.m1k84aIJWKEtacZ0cB
 2kxkOCXMRvhkpGuIjVtyRqNEoBjIJocr6fZ3nftyDS_WWtKlMKg3e54MZ_Vd.MdyCIx6UqfGMidn
 gwz7jP6hUom0h3Wssfq6nD_LZoyh5uqY6GX2m8.G_iZpgZfZkaOAGNRDTVlWn1C6li4ti_LlZiFL
 DKfTYGhbmQkjkek1CBhuR.D9rYUEcgWlyXkS1ESnHDVLpEp.8MGKl.fIFdUeyWp2r74a4.MnPiV_
 oQEBlvLRSnE_0qUXaGOr5Eixx.tbxGMk.nXAMC_4d.kgkSQq3Libsugjj8qC48i412fWtibV2tYa
 Ukl.LqjhC643MlqfDSv4INAMFMWp3.p26a2vB396ndt9AgduHLuSLuJ4q0ZzBKnyaqppSgzDkxU4
 J9hohQnpR3mLcF5d5IGM0tIyEx1z0MGLp6j_p1aqDeiQqwr9LOF12tocZKC2Fb98YGHECp0ZY3yZ
 6ZjSR6ZeQIEoLLeEIwGaClOIcd_EeMF9Ou.eufsJE28ZRiUyp2_pus3d.4pmjk8Q6DCyHQe0Idx4
 4.b7gF5SVZL7kZ7kwir2ai5lBmZtB8Ks7aK3P0t.rXYEeelApXVI9lfmFKp7zOoWtcswJbUADb_j
 M5I4_s0qHk9U2Jt5m.R6uDx.guntRMbo3QV8J080pVHHZIwRXDJYgOvwZbSM.XSieWPr1YCalOQA
 y_VVw2psXi8jckCncFugbmSyfxodP3z7__A3tLCe6XtOyPr_t4ypE3qLPeIkxpPEx0Vqgl5Egwml
 DBRCEibyJsEzvtPYwsvRhfRsm_pCCXMRp35tjIMw37fu7HI_PLtsx1Y45SPkxX7Uj0l5YufWXx7f
 Ed2D2HPptILnPlEyCxnDtNAaJIMdJG_ubC2zB.ZcHexoy.yRGaEwJu8dnWLVxgiEPIIccNdmO4h5
 4Zd3u9hE-
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: d1a5d7b0-8caa-4204-ada0-a818a27dc087
From: Chuck Zmudzinski <brchuckz@aol.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 0/2] pci: slot_reserved_mask improvements
Date: Tue, 14 Mar 2023 00:01:07 -0400
Message-Id: <cover.1678763217.git.brchuckz@aol.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
References: <cover.1678763217.git.brchuckz.ref@aol.com>
Content-Length: 1879

This patch series consists of two patches. The first provides accessor
functions in pci.h to avoid direct access of slot_reserved_mask
according to the comment at the top of include/hw/pci/pci_bus.h. No
functional change is intended with this patch.

The second patch allows a pci bus to be configured so slot_reserved_mask
will only be enforced when the device to be added to the bus is
configured for automatic slot assignment. The second patch also uses the
new capability in the case of the pc/i440fx/xenfv machine types so
the current behavior of reserving slot 2 for the Intel IGD for the
xenfv machine will be ignored if an administrator manually configures
another device to use the reserved slot.

The current behavior of always reserving slots in the sun4u machine is
preserved by this patch series; the patch series only changes how
slot_reserved_mask works in the xenfv machine. Although the patch
series can affect xenfv machines configured for igd-passthru if an
administrator assigns some of the pci slot addresses manually, it
does not affect the libxl default configuration for igd-passthru because
libxl uses automatic slot assignment by default.

Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/

Chuck Zmudzinski (2):
  pci: avoid accessing slot_reserved_mask directly outside of pci.c
  pci: allow slot_reserved_mask to be ignored with manual slot
    assignment

Changelog

v2: Add first patch and cover letter to make this a 2-patch series
    Make changes to the second patch (see second patch for changelog)

 hw/pci-host/i440fx.c     |  1 +
 hw/pci/pci.c             | 29 ++++++++++++++++++++++++++++-
 hw/sparc64/sun4u.c       |  7 +++----
 hw/xen/xen_pt.c          |  7 +++----
 include/hw/pci/pci.h     |  4 ++++
 include/hw/pci/pci_bus.h |  1 +
 6 files changed, 40 insertions(+), 9 deletions(-)

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 04:17:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 04:17:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509450.785220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbw6T-00065g-Pu; Tue, 14 Mar 2023 04:17:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509450.785220; Tue, 14 Mar 2023 04:17: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 1pbw6T-00065Z-Md; Tue, 14 Mar 2023 04:17:37 +0000
Received: by outflank-mailman (input) for mailman id 509450;
 Tue, 14 Mar 2023 04:17: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 1pbw6R-00065P-TC; Tue, 14 Mar 2023 04:17: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 1pbw6R-0008UY-RS; Tue, 14 Mar 2023 04:17: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 1pbw6R-0004Kq-BZ; Tue, 14 Mar 2023 04:17:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbw6R-0004oi-B4; Tue, 14 Mar 2023 04:17:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=R9dTPUABrMduiyJ+NZO4ZF9ZVInGzlwpBuT2/08S8lk=; b=RSP29hM9DCN9ahfO1dPaBELjR0
	yjjiaCQyeIT2u81MRm/2v0aczQfN42wnv2eUw8+T6QD5GSPEdbQtKUjXQ592hlb4WR+EZZr4nsrOw
	eHyMp8mBLksTIPvfM/V4YHCVabwsZ3Z/4WmRay4BBE8ZfwfFU32gcknh7Qv5b/E8hxg8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179613-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179613: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=a1386bb252066262c0b6664af9a6143306d88512
X-Osstest-Versions-That:
    ovmf=e4c1d8d2317984bd9cb447eba916956841063ec4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Mar 2023 04:17:35 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 a1386bb252066262c0b6664af9a6143306d88512
baseline version:
 ovmf                 e4c1d8d2317984bd9cb447eba916956841063ec4

Last test of basis   179610  2023-03-13 22:40:48 Z    0 days
Testing same since   179613  2023-03-14 02:06:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Jiaxin Wu <jiaxin.wu@intel.com>
  Wu, Jiaxin <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
   e4c1d8d231..a1386bb252  a1386bb252066262c0b6664af9a6143306d88512 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 06:31:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 06:31:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509459.785236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbyBT-0005DT-FQ; Tue, 14 Mar 2023 06:30:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509459.785236; Tue, 14 Mar 2023 06: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 1pbyBT-0005DM-Bm; Tue, 14 Mar 2023 06:30:55 +0000
Received: by outflank-mailman (input) for mailman id 509459;
 Tue, 14 Mar 2023 06:30: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbyBR-0005DG-2W
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 06:30:53 +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 c22f9ce9-c231-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 07:30:51 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB7126.eurprd04.prod.outlook.com (2603:10a6:20b:117::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 06:30:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 06:30: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: c22f9ce9-c231-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WXDKhc0laKUwPTfN5RlRnMIEOKNSWIgkWcXgmxGVlx2M8Z58mS1aIlya35UD8l5kCbaNhNj3pqgeMoZDn+KKCoG7pFgNf3ZJ7ERAXg22vuy++OH2deEOQTIDJ8nX0yCNFP2bi6mNsH5/VJQFuXo6A5OPe4C8IHUfvR0oGA+EothCFm9afZcHo+g/RVzlKJTSrULdFysP7q89irSRKasIsBJxhVuBDBAkQTp8KL4DzaykZHPCItWcNiVcWcqfRjxIa/AovAoDo41H/9gXJxxh9CGHDtOrIV8bzmtKbKfJiROS4uvM2XWLJpOSwHeLFUEWbSToSWrcGsUKNEdXvomCqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dw6ljLsSE+ZLLg9TU+6OcuJNklBMqa9CuHOfv4lUHeU=;
 b=A30w4h6pU1onk5Er79CCxP9477rH7fPW0B2ukRZD74XCMSMn6r//+YbMgZ92sclgLbBCyoeHLtW1mDZ3P81PxXUlarFk6rfnuvLsT43O+g+t0Q5DBAjc5mXgkTuZ8TFL/D9FPy58MoDk3dv1qRtqOS+g9A0Ge7T+XZsvjQyf0iFFgBg5Kr+++5dw0UCAELWB7dympHau8KusZIr/6hrbvbpeyJoO0U8qe18KJa1qiXee4F1plGjSGabiwdDlevSss37c0B9FoeLLjZG+oJeWkaJLfR48p0q2U3oUtbfk4TPXJ9SPdJVbhwBsE0hnnbxqP6FcNkLepPr4K6qYfZF9oQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dw6ljLsSE+ZLLg9TU+6OcuJNklBMqa9CuHOfv4lUHeU=;
 b=K3KeuBPI/b2C/UH256oPSn+9beBt+4dHGXT3q6ksSVc9ona+THT8l7oIuNmkDabBwdkP7WpC/tBIZ/sNHCj3wUDDNppX8ey/NVdyouZCJCcTh9QpliXnS6nOsgAdkWtAWRyvMM9KMZahX5n3/MaEef4KF9FDVQsSeSOw1n/KJcSNq6Mds3xf7SXOmwDTEoyJvUoYkQnLEdecvXk0qJ6BJWJ68zsbZhysqjad8TMnGQ1MVU/qCD5x2JN7gHSpDBe3d8DaoM9jTPGAVk7+DLnv2OptYkHeAGPFdjstsg0iPheQcN66kbw/m5r2cch639StXUNW2RNBH0LVe9AaeyP46Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cf072acd-9d50-a5df-6a0c-c36cc20b575a@suse.com>
Date: Tue, 14 Mar 2023 07:30:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] Drop ELF notes from non-EFI binary too
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>, xen-devel@lists.xenproject.org
References: <20230225235642.38880-1-marmarek@invisiblethingslab.com>
 <9fbbfa17-821f-8c9e-376e-911481a1988b@suse.com> <ZA/SDWh5NwrvBJeb@mail-itl>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZA/SDWh5NwrvBJeb@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0139.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7126:EE_
X-MS-Office365-Filtering-Correlation-Id: 40691010-65a6-4d72-1042-08db2455a4fc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mVAqKPopOhsGJKfLKcyvH74BC64WzJBV8mQ51nylfM5N4P8WcgQgofBybEkryfqVVHFBfDI7V5WqSpR5p2q20xOixOvgwEBjOVqTyDRk7hYVgp8+FQmby+lstM9DRAOiXRIxVc38WZHeiJ32SMZ88/WPNQr1rjuMcoG1tGRYZ5DYN5oHM1r7903RdbbN1p450coDfyRxjykVL4mHKacOsMiPl9DJq9tYCFKCSYjOMzWzbrBcm171vOFaQ8SApw/RrLUzfr0MQFBQySzAv80qT+WjuRseoFN1VFK4JiRfqWXcooSlyUZvDB6xlBRvVL13XVghGS5oska6nI3wzR2VcTuHOp+Erk7HqQL3cI19ifv/Ws84r5QZPf+WUuWtiefaVYf5wYA98RDxqdF4oSY04jFbEkh25E6wOaZWAurU6Wlb/sOIA84HBVZc4qzMG+MlH6IXPTqRm2lHf8yIAnxptPaUzCOfPdxyvqzjVoXw1Fv688FCtA1/RgGUbXmaJF7xDU29OygdWGl3VGGNzsOnd4zq5dcnyID+jlnKPJOckyVtx/AZhumTY4dFwkx5GouMdjo3VpioNv5BKZqNCPRUhaGYW+wgK5hV89fw+2s1ODXfoLwYzSKvyFlff5sNkWq0ShIYCuruGooAG6uRoEi/lDJm9P1rduhWMoigPBBOgM+YSKcmjO7JPjJQWupfN9tuKKKu+9XXkaiEwSX/8aFY33E6b9JG8c2JED5IyXdwCtk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(39850400004)(396003)(366004)(346002)(136003)(451199018)(6506007)(31686004)(6512007)(53546011)(2616005)(186003)(66556008)(66476007)(316002)(66946007)(8676002)(478600001)(31696002)(36756003)(4326008)(86362001)(6916009)(54906003)(6666004)(2906002)(38100700002)(6486002)(5660300002)(41300700001)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eEdYRmdwNTRXbzBxTHUyQmx1N1ZVYXhlMEoxSjdqdk9xdVNjYlpOZ3RIM212?=
 =?utf-8?B?ZnRiZ3FGT1dFM0ZkTlAreVhhRGpybU9JTjh4VU1DL1BrUS80WWQ1cmtBUnVS?=
 =?utf-8?B?bTRUZDMzWHRMMFI3YSttaXRNcGFFOVBydFVhdms2TUU2a3lTcWRidEgvbnh4?=
 =?utf-8?B?am5vRS9tdEpMUTVxVFFXeldyOTRhRGJ3ZHZzRnlJMDJjU3VZaEI2QnlMRzNk?=
 =?utf-8?B?MjdEeW9Na21PTVNRZzEvQUNQbnZNREN2aGl4YzVVOGlNdWxGTVVESkFhOTdS?=
 =?utf-8?B?Z2NDMmpoWE9ManZaNitxbllEN3VUSEp2ZUl3dEVMSS9FNHNsYlBrUTN6a3Z1?=
 =?utf-8?B?VG5zaXUzV2pmTHlYb1hBTXZKMnMyMkhIYmdHbEhHTFBMcTdWZHlZVFNJVHpW?=
 =?utf-8?B?RExCUEZ0endhbjg2NldEOFZUTDBnNTRaMUxkYzc3TWZNQjB2Y0czMGtXb2o0?=
 =?utf-8?B?MFpZQVY1WEp5NGZ2b3BMdlFMYUlhMEFuSWkweE15Q0daR0owOVhOekdlRUg2?=
 =?utf-8?B?RTV3ZUgwTHIvb1RIeVNmdzdKVE93WEZxTmZqaUZaWEk1ZVNJaUhLWHFNUHB1?=
 =?utf-8?B?YjdPMzlOQVRQZStzNnl5QnpOWHFQVTJFSXk4RFBwUlMraWlqMFEyVTBiRkJp?=
 =?utf-8?B?eHZtcEhTVUYyeXJURGI2SmR5Nmk4eG9rZWhxb2w2VUQxTFhYV1lDN1NUbFI5?=
 =?utf-8?B?ZTEzRERlWmY1TEdxZUNSOHFnejd5Mzc4M1hJMXRjWTNYbFVJSFFYSDdKWjhE?=
 =?utf-8?B?WmpQR01IbzdlYkYrSUhGeXB3NWFNeHE1K243MU1kY000d21uMFpVNXJyL1hP?=
 =?utf-8?B?R085eWNkM3hpZ2lvLyt2Ui9BQ3RTK2NaZlBFVUMxMUNKc3BDc2FpaU80ankz?=
 =?utf-8?B?NU16Ym1wVjFHclhGQTQ1Rm1PNEw0NSt4STNmUHkzVXczQ0tWaFJYamJ2aTRp?=
 =?utf-8?B?QUp6cHRNcndOSm9XQjYxWW4vYlZBVFVTZHlNRHVldCt5UFV0ZlViSmJjam1h?=
 =?utf-8?B?STd2bllKa3crbnF5ZEh5VlNNSFRnZXh4WTkyZUxHWUFyMmdoZFF1Nm10RU9S?=
 =?utf-8?B?eEIxWGhUUkxqenMrUFlqK3R0U2tQcGVXQ0FYMHo3VW9MQTZJdit0NVRmT0RO?=
 =?utf-8?B?OXFDaDRJZ0JGN0tiMVRmREE2RDFqZ2RTbkU0N1IyZUdiZ1M5dGN6N213S0NL?=
 =?utf-8?B?NUQrQkNkNUU3Y0RKOXJ3dTZ6WVZ4S2k1Z21DVVYrRWdJYkJTTS9oTng3c1J4?=
 =?utf-8?B?QUNKQjhBbE51SERReFpoVWxUZExXYkRLWnRic2NxSVQ2WjRDOWxLNThEUkJo?=
 =?utf-8?B?dkV2MGFwMkVBSTlmMlFYWVZNNmlLWDdYNFQ1WGh3bTVCdTlnUS83RHluNHVC?=
 =?utf-8?B?MTlDR3FtVlp2K2EzcW1nWkI5ZENkZ210TThhNVJYYXlWWnV1RzBYZlJrbXhC?=
 =?utf-8?B?LzY1ZHNKVlpsdTkwMllwcnZzbmZWa0wzWTdqTEZWSG1ucWtaL09FQVljMmJ0?=
 =?utf-8?B?MUJITmVPWHFZR3pocDlYamFKbUhiTitCM2FHTHhGVHlnUVBoUWZCR2NQZXlq?=
 =?utf-8?B?Q01ieHhlY0w0M2s1RStHVk5nS1l3enl6czlkdTZDbjVjUUo4M2N5K0VxYkhs?=
 =?utf-8?B?SWh3cXo1QnhRWWRaM3RKRTBJKy9XNXlneFY4Y3BQYnd4TDdVR2NhNHRmR0dm?=
 =?utf-8?B?QzFuNHByWG5zRysrMldmZ0d4VEJYbE91Tk1XNERqN293RzhsK2NadU1oZUZ3?=
 =?utf-8?B?dmhkSXVZUXRselRaY254L2RLU2s1RFJ4RVdlNXBlZmpjZ0VXZHVNeTJFOHpz?=
 =?utf-8?B?dVVIcStXOXIvWWFkODVUU3dDVVRBTmsrU2dxV2xma1M3UVBJR1dITWxsL245?=
 =?utf-8?B?T0JKTkdQSDZDdjkwTXJ0c3hxUTBXS2h4MXFzUGtieDVlMWwzUVcrV25WOWxH?=
 =?utf-8?B?L0pGakJlQlJlbVliTjRaVVQrZHN1bi8yL0srNTN5QXpmRlZZYlBmZ1dFa3FS?=
 =?utf-8?B?azN2ekkzcEo3Q3hXREZMYWZVVjd4NmVhQlhZelY0WU5Gazd1a2F5bThseG1m?=
 =?utf-8?B?WXdqd29xT0RGTmFXREVRc00wM1FTMkM2QVV6SWpTVU11UkcvcVkxTk9kY3lU?=
 =?utf-8?B?czN0QldiSStEYXdmQzNRMUhrak5BZzdRRktZNkdncHR1dnVDR2tESzhOM2ZB?=
 =?utf-8?Q?HQRCPlMaEWz4a66IuDsyNn+8/g2vKix0fn4O2IEYu9tU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 40691010-65a6-4d72-1042-08db2455a4fc
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 06:30:47.0453
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FNzQIhp+vb+hLBx1yAYvP5pvdU+Tl4EWDMDcHMkbwHAt/G09LGguvarYghAmqruTEoOemFu1/DR7ZkeUijz7Bg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7126

On 14.03.2023 02:46, Marek Marczykowski-Górecki wrote:
> On Mon, Feb 27, 2023 at 11:28:28AM +0100, Jan Beulich wrote:
>> On 26.02.2023 00:56, Marek Marczykowski-Górecki wrote:
>>> The ELF is repacked from from 64bit to 32bit. With CET-related notes,
>>> which use 64bit fields, this results in 32bit binary with corrupted
>>> notes. Drop them all (except build-id and PVH note retained
>>> explicitly).
>>>
>>> Suggested-by: Jan Beulich <jbeulich@suse.com>
>>
>> Perhaps a misunderstanding: Yes, I did suggest this as a possibility,
>> but I didn't really mean we actually do so. At the very least not
>> without further clarifying what the cons of doing so are. The notes,
>> after all, are actually valid in xen-syms; they become bogus in the
>> course of mkelf32's processing.
>>
>>> --- a/xen/arch/x86/xen.lds.S
>>> +++ b/xen/arch/x86/xen.lds.S
>>> @@ -192,13 +192,6 @@ SECTIONS
>>>  #endif
>>>  #endif
>>>  
>>> -#ifndef EFI
>>> -  /* Retain these just for the purpose of possible analysis tools. */
>>> -  DECL_SECTION(.note) {
>>> -       *(.note.*)
>>> -  } PHDR(note) PHDR(text)
>>> -#endif
>>> -
>>>    _erodata = .;
>>>  
>>>    . = ALIGN(SECTION_ALIGN);
>>
>> Is this sufficient? .note.* isn't part of DISCARD_SECTIONS except for
>> xen.efi. I would expect it needs to move there from DISCARD_EFI_SECTIONS.
>> Otherwise, aiui, the linker's orphan section placement will kick in. 
> 
> What supposedly happens then? By looking at binary produced with this
> patch, I don't see other .note sections included.

The linker can't really discard them without being told so, from all I
know. So the pieces must land somewhere, and considering the special
section type (SHT_NOTE) I would find it odd if they were folded into
some other section.

>> Yet
>> at that point you'd also affect Arm and RISC-V (which, interestingly,
>> don't place .note.* anywhere at all right now, afaics).
> 
> That's interesting observation. For RISC-V, I'm not surprised given how
> fresh it is in tree, but if Arm doesn't need it either, maybe adding to
> DISCARD_SECTIONS isn't such a bad idea?

Well, yes, if we want to get rid of them, putting them there makes
sense. First we need to figure where the notes end up when not placed
explicitly (as that'll tell us whether on Arm they can be useful at all
right now).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 06:34:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 06:34:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509463.785246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbyEW-0005pg-2F; Tue, 14 Mar 2023 06:34:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509463.785246; Tue, 14 Mar 2023 06: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 1pbyEV-0005pZ-UU; Tue, 14 Mar 2023 06:34:03 +0000
Received: by outflank-mailman (input) for mailman id 509463;
 Tue, 14 Mar 2023 06: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=7E33=7G=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1pbyEU-0005pR-8A
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 06:34:02 +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 325332e9-c232-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 07:33:57 +0100 (CET)
Received: from mail-ed1-f70.google.com (mail-ed1-f70.google.com
 [209.85.208.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-221-dDXdu4lbPceft1xCnVkoVQ-1; Tue, 14 Mar 2023 02:33:56 -0400
Received: by mail-ed1-f70.google.com with SMTP id
 i42-20020a0564020f2a00b004fd23c238beso4374977eda.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Mar 2023 23:33:56 -0700 (PDT)
Received: from redhat.com ([2a02:14f:1f7:4129:3ef9:ea05:f0ca:6b81])
 by smtp.gmail.com with ESMTPSA id
 q11-20020a5085cb000000b004bd6e3ed196sm493314edh.86.2023.03.13.23.33.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Mar 2023 23:33: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: 325332e9-c232-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678775637;
	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=lq5fRA91Dz76/36Mqq+Q+0pTC3rTPwX5ANXm7UXICR0=;
	b=YD7Ar1myrXHxLoXx4d7noLJaeIK5aloO8HXJDdvNd4NgPa2zmzwfO3c41+abGrAOfQUC9B
	F3oi9HbyQAhvjEoFTbR0no+rETgIiIcQLZWr+ym9v7mSNADxw4+MXcmwLI3gJ8Oq9QmU7B
	ChXEyD08X6CbuB14KJuIoHBKtPWG96I=
X-MC-Unique: dDXdu4lbPceft1xCnVkoVQ-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678775633;
        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=lq5fRA91Dz76/36Mqq+Q+0pTC3rTPwX5ANXm7UXICR0=;
        b=J3aN0U6xPA+d9/sfw8ot/tpKs7lL2aetTj0gBS69hAfGkvOXkUolBQtryZyWMNqdr4
         41w1E1SWXDRksNQ94MHrBHDwzBfg/KfViap2Hd+nPS4vw3k252HUujXwPivShCh9tR5m
         iv+j9PfiT+jjc5wVxHaXxDYdXWgR4qifgOZu2VFea+BouKPp7peWHDfQBra7CjfGNgk4
         ACcNtwkoZmW8tc6KltxprIPAhOnWAa0R2abYgpoio2jSGsbvB/1FXxlzN72KjzVg4AH1
         wZsxW7nBPIaMbYsrYfVRFf9m2KWrtS94mPVLRymR37yNYMRCgzkWFDZe1vHQFESsUWdW
         Gt7Q==
X-Gm-Message-State: AO0yUKVmJL78yZYazEAeREFu/72NwrCbo1GItJjv+1uokBZZHhJ8U9uh
	4aKSpiYC7SZ+tiHddRmxUlKntp6js/GlX7TnLAyX1YT3iagaXjvEbXvo24JbfimomYFf69OO1R6
	w4icB53x8IX6ewKtqCb2SLabBlak=
X-Received: by 2002:a50:ee18:0:b0:4a0:e31a:434 with SMTP id g24-20020a50ee18000000b004a0e31a0434mr34907214eds.27.1678775633577;
        Mon, 13 Mar 2023 23:33:53 -0700 (PDT)
X-Google-Smtp-Source: AK7set8XZbrP0FadH8QOrNJ6E83pKOAATpnvma8FvoixrV7d5/Ux9eSRJV3bFA7NXa+cZhau384i3g==
X-Received: by 2002:a50:ee18:0:b0:4a0:e31a:434 with SMTP id g24-20020a50ee18000000b004a0e31a0434mr34907202eds.27.1678775633291;
        Mon, 13 Mar 2023 23:33:53 -0700 (PDT)
Date: Tue, 14 Mar 2023 02:33:48 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Chuck Zmudzinski <brchuckz@aol.com>
Cc: qemu-devel@nongnu.org, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 2/2] pci: allow slot_reserved_mask to be ignored with
 manual slot assignment
Message-ID: <20230314023148-mutt-send-email-mst@kernel.org>
References: <cover.1678763217.git.brchuckz@aol.com>
 <d9ae459b2814425c2d9e756e45d993c824da150a.1678763217.git.brchuckz@aol.com>
MIME-Version: 1.0
In-Reply-To: <d9ae459b2814425c2d9e756e45d993c824da150a.1678763217.git.brchuckz@aol.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Mar 14, 2023 at 12:01:09AM -0400, Chuck Zmudzinski wrote:
> Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
> uses slot_reserved_mask to reserve slot 2 for the Intel IGD for the
> xenfv machine when the guest is configured for igd-passthru.
> 
> A desired extension to that commit is to allow use of the reserved slot
> if the administrator manually configures a device to use the reserved
> slot. Currently, slot_reserved_mask is enforced unconditionally. With
> this patch, the pci bus can be configured so the slot is only reserved
> if the pci device to be added to the bus is configured for automatic
> slot assignment.
> 
> To enable the desired behavior of slot_reserved_mask machine, add a
> boolean member enforce_slot_reserved_mask_manual to struct PCIBus and
> add a function pci_bus_ignore_slot_reserved_mask_manual which can be
> called to change the default behavior of always enforcing
> slot_reserved_mask so, in that case, slot_reserved_mask is only enforced
> when the pci device being added is configured for automatic slot
> assignment.
> 
> Call the new pci_bus_ignore_slot_reserved_mask_manual function after
> creating the pci bus for the pc/i440fx/xenfv machine type to implement
> the desired behavior of causing slot_reserved_mask to only apply when
> the pci device to be added to a pc/i440fx/xenfv machine is configured
> for automatic slot assignment.
> 
> Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
> Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>

I really dislike this. 
It seems that xen should not have used slot_reserved_mask,
and instead needs something new like slot_manual_mask.
No?

> ---
> Changelog
> 
> v2: Change Subject of patch from
>     "pci: add enforce_slot_reserved_mask_manual property" To
>     "pci: allow slot_reserved_mask to be ignored with manual slot assignment"
> 
>     Add pci_bus_ignore_slot_reserved_mask_manual function
> 
>     Call pci_bus_ignore_slot_reserved_mask_manual at appropriate place
>     in hw/pci-host/i440fx.c
> 
>  hw/pci-host/i440fx.c     |  1 +
>  hw/pci/pci.c             | 14 +++++++++++++-
>  include/hw/pci/pci.h     |  1 +
>  include/hw/pci/pci_bus.h |  1 +
>  4 files changed, 16 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/pci-host/i440fx.c b/hw/pci-host/i440fx.c
> index 262f82c303..8e00b88926 100644
> --- a/hw/pci-host/i440fx.c
> +++ b/hw/pci-host/i440fx.c
> @@ -257,6 +257,7 @@ PCIBus *i440fx_init(const char *pci_type,
>      s = PCI_HOST_BRIDGE(dev);
>      b = pci_root_bus_new(dev, NULL, pci_address_space,
>                           address_space_io, 0, TYPE_PCI_BUS);
> +    pci_bus_ignore_slot_reserved_mask_manual(b);
>      s->bus = b;
>      object_property_add_child(qdev_get_machine(), "i440fx", OBJECT(dev));
>      sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index 8a87ccc8b0..670ecc6986 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -501,6 +501,7 @@ static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
>      assert(PCI_FUNC(devfn_min) == 0);
>      bus->devfn_min = devfn_min;
>      bus->slot_reserved_mask = 0x0;
> +    bus->enforce_slot_reserved_mask_manual = true;
>      bus->address_space_mem = address_space_mem;
>      bus->address_space_io = address_space_io;
>      bus->flags |= PCI_BUS_IS_ROOT;
> @@ -1116,6 +1117,17 @@ static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
>      return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
>  }
>  
> +static bool pci_bus_devfn_reserved_manual(PCIBus *bus, int devfn)
> +{
> +    return bus->enforce_slot_reserved_mask_manual &&
> +            (bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn)));
> +}
> +
> +void pci_bus_ignore_slot_reserved_mask_manual(PCIBus *bus)
> +{
> +    bus->enforce_slot_reserved_mask_manual = false;
> +}
> +
>  uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus)
>  {
>      return bus->slot_reserved_mask;
> @@ -1164,7 +1176,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
>                     "or reserved", name);
>          return NULL;
>      found: ;
> -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
> +    } else if (pci_bus_devfn_reserved_manual(bus, devfn)) {
>          error_setg(errp, "PCI: slot %d function %d not available for %s,"
>                     " reserved",
>                     PCI_SLOT(devfn), PCI_FUNC(devfn), name);
> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> index 935b4b91b4..48d29ec234 100644
> --- a/include/hw/pci/pci.h
> +++ b/include/hw/pci/pci.h
> @@ -287,6 +287,7 @@ void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
>  void pci_bus_map_irqs(PCIBus *bus, pci_map_irq_fn map_irq);
>  void pci_bus_irqs_cleanup(PCIBus *bus);
>  int pci_bus_get_irq_level(PCIBus *bus, int irq_num);
> +void pci_bus_ignore_slot_reserved_mask_manual(PCIBus *bus);
>  uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus);
>  void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask);
>  void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask);
> diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
> index 5653175957..e0f15ee9be 100644
> --- a/include/hw/pci/pci_bus.h
> +++ b/include/hw/pci/pci_bus.h
> @@ -37,6 +37,7 @@ struct PCIBus {
>      void *iommu_opaque;
>      uint8_t devfn_min;
>      uint32_t slot_reserved_mask;
> +    bool enforce_slot_reserved_mask_manual;
>      pci_set_irq_fn set_irq;
>      pci_map_irq_fn map_irq;
>      pci_route_irq_fn route_intx_to_irq;
> -- 
> 2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 06:37:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 06:37:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509466.785255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbyHi-0006ST-HJ; Tue, 14 Mar 2023 06:37:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509466.785255; Tue, 14 Mar 2023 06: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 1pbyHi-0006SM-Ef; Tue, 14 Mar 2023 06:37:22 +0000
Received: by outflank-mailman (input) for mailman id 509466;
 Tue, 14 Mar 2023 06: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbyHh-0006Rq-6i
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 06:37:21 +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 ab77cf6f-c232-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 07:37:20 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by GV1PR04MB9054.eurprd04.prod.outlook.com (2603:10a6:150:1d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Tue, 14 Mar
 2023 06:37:18 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 06: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: ab77cf6f-c232-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PXoydxCrf+zNa4TEg1jFYuB4HLOHarWds4DvLZbjfzwyW3olZHXacgDJnlRuaxlxcj/Kca9qBq199cnEIeP8ud1ijY6mSi5CywZoAzsurMmqY774myS5KgFn9gvYu7bN15GKaWGIfWus+zxyO6m092s2tjmIbusoJyIYOt+hTUMnef6SXkJ50vDNdx15EPaiKYUBJYhrM8Fzmpxc2m/UkeHop7ZLUPAd8gyh+1xbtx9lNbYpJVA91yzVExZFqs8f8MoRZn8NyJWYUdoCzlJw4MXOyZuCxOpbuOGeXvoU7oo4PEEVOKFpjhZQnorNJMPNVCOE1Ns8EW7BXzaJ8LZWqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZIjmnn447syhAgd08zuPhT57WsF3mY9ZqpPB9f7xZwM=;
 b=VL0nDTv5yqor9PhDeNEXcq36WJRj98Ci+UGltI6JENSZ2SpDktFoR24lEJI7Obq+yptQjjPHoHEVms711PLGH9tGC+WiFv5MwiKAG31wRVEZ7M+2+WxjwKoXhUCta6NTtXlURkfXwaW3NrnCN5DBtl9OYM5/4kaQq8Wfkjel7plsLn2mYs/mzI05XrOFnGP2Kd8QN9+p4QxjRdznl9ZblkTC9F/mY6foxAebN7XyUdi+J5NMhYhpjXhCMuEiNIDMgrUZO/oh6tZNUrs1THbpd8nVPOFz0FKbc7mTgFnC0TC4bMdTPqGj2eKA8EZRKgkbhSyWaEUovA5gpUE4qHSBkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZIjmnn447syhAgd08zuPhT57WsF3mY9ZqpPB9f7xZwM=;
 b=wzqJ15iclJeq1gOrMMxSHFUsZo8m5uq0YrsjykhNGnSex5VtANQaFDmnU3TVhmWXFuKb3uLRZfRD/tlLf1Pfx8vP2pPX0ZpOthWqE1KGmzB3InEo9XcbqvpHQsjpGsHnrfOWnzQC84Ieyhlo/bmvidZFb9e9uGgOZZt4S7XIUA5QO/Yr1thTozEpioKwsVdkOuWI7nvDkJIIMWDcINdEQQY0v7l57h3CQvLZ6arL6olvknaa53cTjVkJUfbjSuWnz3Ghvtx7VAOQWKd4gARF0/URAvUkMMekujhqqHMaNh/Y2oem1YLLWhLc0xqJT69W59bPAT+E4GVkaWMunYwlcg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
Date: Tue, 14 Mar 2023 07:37:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: Aw: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from
 Xen 4.0.1
Content-Language: en-US
To: Denis <tachyon_gun@web.de>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0082.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|GV1PR04MB9054:EE_
X-MS-Office365-Filtering-Correlation-Id: 1fd89c40-23d1-43d1-2268-08db24568ea3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yccTnGWsoVwM8v/3ANXIhcrs2IWUJyKKRprQQpfSwvfdnttnW2LxY4Y9YO6hmLYZhlcIQ5LgNJshUd4CYkTSob5HORYgt8CiNwcG02XjjE8EQCqcXvWYQcWSl/8DcIF4XBgQn/ZJQzPj96W5Xb8K7Q171vK05QyF4Vvrpu3vC23urIJ6pRLEi+sV6dXutDVRuEL9r3uU0WVr06oy9/mdfZnaP1l+X4GdvKWcBJ0aZatDqmT3jVQ09GVl5j5eV4jUBp8+EROs+4bKh4Hng28WLlZmA03p6odI0mKHbvqbnwMo5HgjKBkJfz1Kjfnarb9dI+eD1rJ8DF5lcdaBKYilzw4yqPQJjLqI94yLVFCaj5CiDpKf1o9Dg6Wm37IwGd+GtSPt+c8wFtrP1uidx2ljfoNiAN8sTTo9h6/+HZxZm6KCcYYyWvhdmH03CD0CniJbBjFvgMAz7KirQFUeaaCIgcf5LFoG6mL9kebhRP97ToKVdmvwV0JjiTbCCbGEUM+ZZxopwgRsBRplDPcPfIe+EzDZL6JC2mHNcEsUToMOzBee9DEKD9C0W13aVX0Q1Xgpd+AGwSVSTJ0tZv4QxOJrswEQ+rp9Jhd7UogDbPOmqwLWCrhTzatSQo7jKeotJesQaeCvQytzHNGgZwTtENvctYdTnwdpFYaoBzpQlEtm8q7jQGhOlaiXRIry80222aqsxFh6qwJL/Wg0eVeKiPa6j3DLVPbJBaXkCCx1WOoN7zI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(376002)(366004)(346002)(396003)(39860400002)(451199018)(2906002)(41300700001)(8676002)(66556008)(66476007)(316002)(36756003)(478600001)(54906003)(6916009)(31696002)(66946007)(86362001)(4326008)(38100700002)(6486002)(5660300002)(4744005)(53546011)(6512007)(6506007)(2616005)(31686004)(186003)(8936002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVJrdnhOWWU4ZTIyYktwVlVEOFpkVjhBYTdzRHdLK1JYT00zQlVQL2s2dnpw?=
 =?utf-8?B?U3ExN1NRbVpmM1pOVTk4VGw2dzRDU3JzRlhVUkRhWGJuclpWUnA0a2hOdzF5?=
 =?utf-8?B?S2VEQ2N3TTVkY2dERnUveHlybTdGajR2aGpVWkNjRlorMzNtaEMzT2NqRlU1?=
 =?utf-8?B?cmtva0VXbUdsSkNLTnpmb2hHUis5ZzUvS1ZQVkYyMnZLdE5nK05LallDZ0U3?=
 =?utf-8?B?cW43WDljbTVVMEJDbDJHNXI3UkVRWjRldXhwdVlxRHowYUlFSVRlUjNZdkls?=
 =?utf-8?B?bUtxc2F1WVVlSzZ6U21LeEF3NkJiNmlUMnQ1NlJiWG5mV1Q3ZUFJdG1ucEQ5?=
 =?utf-8?B?VmdnS2wwWmRDM2g4Tkk2VHZVNVhTV3dhbVhNRkRCS1lWdi9GUFR0R3pMeWlw?=
 =?utf-8?B?S0djZGFhWHUyWHREWm1LbGdPektOWHFqcGdLNHNIS3orV3V0Rjk2eEFhOW81?=
 =?utf-8?B?N3RjektVaGpIY0g3MS9ROEpKL0p6bnhvaGhjTmhBZVJpbDlyZGZ4dzB1Qmww?=
 =?utf-8?B?NDI3WnFHVnFsVDlqb0RPMVpZT2p4LzFDWW9qQkRwelEzaGJqMU1TRFl6RC82?=
 =?utf-8?B?WUtjL2cycjkwVFJJZjRzMG1SZ1VQenFQRmVDQkludWQ5bzFSN0F2cUpXQXE2?=
 =?utf-8?B?ZHZRSzBRQjBtZ2lkUFErUktUSkkyenowRHlpSDVOcU9xaGlpMmhidnNSTm42?=
 =?utf-8?B?eXlrM0EzVHRsSDRLQ3Vra2FwaU9NcEl5Nk1DM0ZGWmo4dDdhTHpxcURNQlVQ?=
 =?utf-8?B?VENJN3JQc1RKTUc5cEhCdHhBSHFKUEZudXlWNVJMdmw2TnJIVHJwMy9jcm85?=
 =?utf-8?B?MUd3T3gwcS8wRk9QV3QyS3BtYWJyYi9yRjRxZHRXcFhOR3RCRFBkclVMb1Rl?=
 =?utf-8?B?OS9Va0RsWUFkazNnR2NPdmNzOFpBdjVQMEVZL3dLTEhOazdUZzBuNE9ndTlM?=
 =?utf-8?B?SzZsUE1yMTltbWcyeGtiazVzNG42cEN0eVMwRnZudlZ3YTg4SnZ3am0xSm91?=
 =?utf-8?B?NXNiWGVHc3JGRncvY1daL1ltdmFEZGVhVnJFQ0R5TDBscSt2eHdHMEdkZzVM?=
 =?utf-8?B?Y3ZiZE9QRUxkWGZ0YUYvam44c1JTR1NRaERLNTcyWjRGN0hOektRNCtLcWtk?=
 =?utf-8?B?ZktDak0xUHVnRTVvU0tIaXprQ1UrTFNtYzdobDNoYzZYdFZ6RUhRY1JVUElh?=
 =?utf-8?B?TTI0RWxBR1pDVVFVUEpVY2dWdmdoeXJQUDh2TkpVbmM2UG1OcEFSKzQyTFcy?=
 =?utf-8?B?QTg0M3RiVG5URjZQUlcxMWRMNTdlYXBEK1RzQnBra1dORzJDNzBmcUt2UW9U?=
 =?utf-8?B?NVExUUtwcWFieHdXSE0wS3JDSDZQQUk1ajhnYkUzOGMwSmptQnY1MUJsMG9v?=
 =?utf-8?B?Q3VVbFlIeUgxSmhicmF6aHRxWUVpanJVU3l5K3hJUytNeEp6TytPL3ZVU3Vn?=
 =?utf-8?B?TUh5bnBJNmx5bTMxaGZ4dHQxYnJqN1lRb0hNRGxRd1ovM08xdUlQWGF4MEFO?=
 =?utf-8?B?MEptYi9yVWNYZ24yRlRyaWNUYU1OU3lZb3NxckJ2ejk5NmtuYVhmRnllbC9W?=
 =?utf-8?B?SGZodkRWUUVPM0dUbU9JVkR6Z2ZHbXh1V2ZqbFMveFlNcnV4MUV6cVFFU0t4?=
 =?utf-8?B?RVdtSDZMV2diV3JnTThRQ1RBQm5VaFZnWXpxaW9LeDAwSVgwUW9jTkRhQ3Fu?=
 =?utf-8?B?TjNHUWRFS3h1NkxKdG1rbmp6QXo5V2xUU2drNmR0eDdkaDBSN3JLVzlJN1g4?=
 =?utf-8?B?dWh3TTZROHluYzNncXppaFBtbzQ0WnRxRHZlcGJCWkVDRkFpeXVMQWsrMXRi?=
 =?utf-8?B?QnZzQkRHd2RXZ09SOHh4dThueFRkZytOR2V1OHRUNFRnTm84MDBlLzlWOEZl?=
 =?utf-8?B?UUVROVRlZG4yTG9SRmVDYzhxUE1vSzd2b3lheFBOekpEWUpYYmJ2d1RZQjla?=
 =?utf-8?B?d1Q0TERwSDhPNjQyb1g4eUlTVHZPUFBuWW9wZ0MyNkh0NFRKdDRWcTdSTk5U?=
 =?utf-8?B?OXI5UHJYQ2hCOVNHdFZVTjMyWW8rSXVNVDlERVpibE5acjQ3MEpCQ2dyVGk5?=
 =?utf-8?B?UHE2dndwZW0vMGcydXJuYkM3d0FVSkxJcVJvSzVpNDVnaFROWlhPK0txNzha?=
 =?utf-8?B?T05naFVUdzA4V0ZtaVE4MFpBRGZFM3ByT2RQVzlqNkpHc3h4VytINmFJNEF0?=
 =?utf-8?Q?gaWiOZBppZlwU2qAG5HowENLiQicjc1fmXyjF9xK04W4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1fd89c40-23d1-43d1-2268-08db24568ea3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 06:37:18.3462
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hRqupXTqVfujXQYiN9hw1b2z+iHUpgYVQNxUSlUest+uLzZNqgPuU4NFVNDJ8xIs0FHnO3C361J9vPO9om2VCg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9054

On 14.03.2023 02:15, Denis wrote:
> On 13.03.2023 10:36, Jan wrote
>> On 10.03.2023 21:50, Denis wrote:
>>> Should I test something else?
>>
>> ... there was no request for any further testing here, for the moment.
> 
> ah...sorry, going by "Would be nice to have this confirmed forthe system 
> in question, i.e. without Xen underneath Linux" I thought I could test 
> something which might help shed some light on all of this.

Well, yes, that Linux-without-Xen test would still be useful to have
results from. I didn't account for this in my earlier reply because
I had asked for it before already, and I did take "something else"
for meaning anything that might have turned up as useful from the new
data you had provided.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 06:42:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 06:42:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509469.785266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbyMg-000801-4G; Tue, 14 Mar 2023 06:42:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509469.785266; Tue, 14 Mar 2023 06: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 1pbyMg-0007zu-13; Tue, 14 Mar 2023 06:42:30 +0000
Received: by outflank-mailman (input) for mailman id 509469;
 Tue, 14 Mar 2023 06:42: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pbyMe-0007zm-KF
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 06:42:28 +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 62390755-c233-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 07:42:26 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7404.eurprd04.prod.outlook.com (2603:10a6:102:8f::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.27; Tue, 14 Mar
 2023 06:42:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 06: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: 62390755-c233-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Cb8C4OzyR74/Y8kbfahXA31iu/U49MmvCLvpbeoqhmTL2IpWJli5Y0qBNMOAAU7PDbZ9pxH6q5vDo4WsV29JbE5fv8sFSMFhHw2sQRTES0uggKgW19RxUc9LYml5X3avh6Mjoy+1mR+eyZSdzmhwMtukFUUoFEDKQB+sXg8rNLcArxVVwLG0vsR85OhsMxTAO55TAVtny7b/uovc61YzYMsIC1d3iRI93bQui93Dis9DSoOt0tJsRE+Sz9fUlXWbL2Mi9gCdAi1WkCv47LBwxh/Cm9G8rBh02OGcHnoyspA5nxWgqmafwRfqNj27BG360MBN/YqFzntXv8UpRSfCwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3od9EZp4+IyK5ciI03zGk6lNbxFsEepojwdTrREDVns=;
 b=VGYH5KL5bkqlRKZEG9I4GxFtFum5sGIP6metTTdj09m27Y0rskRj+QhiIlZAUTOBnfx/jiRpEpepWXalOptr/IGn+KdDUhEcie5fIiOopxskBuYcsH52KAbr2sR1VeOvx0SUoJegT+6OlztHXG7bXSDsRLmeN/N1HJY2TK0YWf0JzdQirLu9Oqi1U7HNJEjpfsZqPG+M+FisM0/s/JQF7QitS9B/txCHxCbiosjvuwm7q6RgRKFoM40Orwx83P3YTxBYQxp2Q55iOdwJ7DPBGYHCX4OEI45BHNZPZq3BhIzNT3TvrgDMgo46LJB44WqlLkaS2cwj3s8PuC4ngVxGjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3od9EZp4+IyK5ciI03zGk6lNbxFsEepojwdTrREDVns=;
 b=Qf/yUHV6s3YR00Om7OXERq7e1iGKolud2oMm27iLjKv36tElS7LXqDMpBg/HCsNkKdoCrjJ9B/1/Urc5POKRPTgAfWZc+g4PRtk7jdeNGFFcZgp+7/39vIC9dZ592jsqXG/LKMYt4iDvGH/uVw3KDjHZELSbO3xp4jG1ZLY5+9ZSXV4F+PmMytruxk+wla3sgFn78r9DT50Ebskvp6VJ0E9z6KjwI7dz0QXFeqnsO3abr+dcn7nE3r62JJDzYGEZyNsCvEqTyg4fctIAg/suZU4JXvez4uumQB8M8CjXl/39sh1PPsiYLfd6AYlHCtHkoBJsPdb/EuUFyPIWdNyYcw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <52c04d0b-2b30-ffc5-fe5f-72a182abfee7@suse.com>
Date: Tue, 14 Mar 2023 07:42:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] flask: label-pci: Allow specifying optional irq label
Content-Language: en-US
To: "dpsmith.dev" <dpsmith.dev@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20230313175047.20719-1-jandryuk@gmail.com>
 <a990fe77-6132-c5df-c149-6255fb13d845@apertussolutions.com>
 <CAKf6xpt02aK7SWNb=xB3kKZB3Dt9UC8mMKMVz5kq96uNJvdzbQ@mail.gmail.com>
 <d17d7b39-28ce-55a6-8d2b-fe2dfd10c38d@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d17d7b39-28ce-55a6-8d2b-fe2dfd10c38d@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0015.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::25) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7404:EE_
X-MS-Office365-Filtering-Correlation-Id: 20b712c5-013b-4536-65a5-08db245744a4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WnsAri54ga/x0LpWsYAglobILFqAzFFHoJu4Bhm2fLFiNQf9BYtkPnjnDOJkPp6YlmFh+g4QrViQyl1OHz+VBVFae68lelS0w1Ant7SW2RvKzRVAB2+w76NG5zQthnxpTepY6zcy6UoItm6D0/15UmB7+pDMGiFlSqeQBvIek+fpYB/Y3IQJToF7mPPmvEUfh4ewrTJTGF9NM41WsyULsh3xJcfXCf0PjzNnot8JM6z5igl6ngV/EI9AAxT0YblGuyRxq4eGehTjeEd0gOnnnZwynfHcnfKYA+osKitjysGqq1GVhSLyGrfH9WeToYQJdiHpptmU60+UkthZi+tlubSzpqvKGS1In+/5PU0H9S4K9JD14zaMPDvg7Kc+AcYonoYM+4N9MXrAyBIvGEDJWo4b9l/cgodFLvBX8GbFev0PREbvTRPNNR0qoQCOyuVDG/g53Gsu4utL+U1eYI+uVTE5giix8KRFmFq9zadzVxP9LFTroe+6VLcxhFTE7g9Gt49qyeMbKNi/YE+2TIS3ELACWD2NzwEjVBjLcc4mxzwkxN6+O5Nh6Ixe8YZZhkS8t9pnKZYN5HAdJM3+YFgtAAgzxKR5SV4+r/EIvBrg6sF8rPFZZLGcgTn7/hs/TzpnHcF80Xn8C/zX/TRKbtut+cXY4XpRUdNZDDbtFhuoqf1qnf15gCT5hxDFkjC5aEpus0r7IjX6NaFe1ylFdnB6PIqGC4u9+wSfIdG/UzO6IE8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(39860400002)(136003)(396003)(366004)(376002)(451199018)(86362001)(31696002)(478600001)(5660300002)(2616005)(36756003)(6486002)(2906002)(186003)(53546011)(6506007)(6512007)(41300700001)(38100700002)(4326008)(31686004)(6916009)(66476007)(66946007)(66556008)(8676002)(8936002)(54906003)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZkNsVE5ScEZ6T0NhVWs2S3VNVk5KY1I2dmkwMkNaL1B3Y1VzNmY3a1JDSHBl?=
 =?utf-8?B?R3R4eVdyS0JEK241cHplNTFQZkdKZTFqdnNlSVFDUkk3MTBXd1J1TFYvRlRr?=
 =?utf-8?B?c3F5a084SlNHUkdQMTkycmlGM0NCUUZPaFZMRldJZ3VMeUZWWmVXZE9uMXBP?=
 =?utf-8?B?bjlMQ3NpeUtOODBqa2RMdStzaVRiZXViY1dUcjEwMjlzdFYwRnpSQURBL1RP?=
 =?utf-8?B?dFdUUDJPMi9hNXZlaDF0Qit1dXBHYXdsaHFwUjZhTXpYV2JPSTRpS3U3K3NP?=
 =?utf-8?B?TG5pNy9yMEs1Wno3RGRaZHJqWHYybUc5YkJVUnFaY29oTzMvRVNIZ2p2RHZO?=
 =?utf-8?B?dnlqUkVKTW5ydWxWU2RXUjd2U3BmdXdWWXpBUHRiVDFrZ3pWdEpaSEhOUnUw?=
 =?utf-8?B?RjEybWsyN3lDMWtlNGIxV2JpdTZBSDFYSko5ZlIzUElpcksvbDZyUk5nQk5w?=
 =?utf-8?B?a1oyWFhGL2VZSmpmaUxIbmZ1aXBQYS83SUNORlQzdWVnQWIyck9vdkRZeW1U?=
 =?utf-8?B?U3FQOUdHRGNEaVRxTlpNSVZwSzhSL0tvNnFoa3lXMXZSY09KQXVhbHdQclI4?=
 =?utf-8?B?VFpwZFRSczdIOStNaWVVS3cxcU9mQjNKNVRHUWIyRmp2QXdDeEdnNmNGb1lk?=
 =?utf-8?B?OWM4L0NXVEJZeW44WG5xd1hwSXczWUlyQ25YdjVIM3d2ODRYOWFwR09oNkt2?=
 =?utf-8?B?NTBvS1hQN0pSQnh2RDdlaTNLbUZLR01HYkwxZFV2b1dHZkJ6YzdrWnJ0ZEpQ?=
 =?utf-8?B?ZG9BUmFFTDdXcm1TdkdBMURyOWJnR0kwN1ZiZTBENmlLTUJrM0tuUkJ4ajd5?=
 =?utf-8?B?V3hLUEJ2djZZcjc4ckg5eHVYQ002QTZITHZHVmU3OHE2ZFYzcnYzdm1yYUVC?=
 =?utf-8?B?NVM3Rjh0ZlNWczcxdDlYQzFDOHZ4YnhDYzNSWCtZSUpNeDVuRnlJek00Q2tr?=
 =?utf-8?B?T3ZUc3BrdzdLTGRXT0puNFZxT2Q0R1dDWTRMaVFLTDdhclZ2elY3NWNCZW1x?=
 =?utf-8?B?WTNLZnRFN3VkWjZWN2JwTEN2VExxcGdOT3NGMStaYjFjQ04xcUtZSEFBWk9h?=
 =?utf-8?B?MjdHUlcrSXNEc1BHcnJLM1pYRkFVc1k0ZlJXR0dpZldKMWJrWWJTZGZ5SXgz?=
 =?utf-8?B?cytHdFB5SjRsdXk0Q0dBQi80c01McmdWY3FWd3NrNU1lY0VtM1piYTdkRFp0?=
 =?utf-8?B?eTF3Rk5FT0VjZHc0R3FQV1dyZDdCQ0krODFIZW1Cc3htWTRVdVhNVTRHVkNv?=
 =?utf-8?B?RThPMzkxZm9Vem16VUY2YVhVdWJHS1hTbjVXYTdIK3F3OThYcDBaWDVReG11?=
 =?utf-8?B?OWNyRFhoeEVTenN4THhtTmpiYXpDU3RQYlNTMUs3NzQ1S09OL1FNaVFicngw?=
 =?utf-8?B?Z0o5M2ZWTmg3NDJPWmlET1BJWldnMmFmZVQwRzJxYW5YcDJWOXNJVkVTTmR4?=
 =?utf-8?B?c2lGNzhiaU9UL0IxaDN6bE4zN0V6ZmlDVERaS1BYS2wyYWYzQnZnRXc1WWls?=
 =?utf-8?B?d0xmUU5NK0xZMStsRHpRVXdnZm8xSEU0d2tUaVVld0ZzRFVlaURkYVZSVDNM?=
 =?utf-8?B?LytMVnZESDFkU01Zdkx1cktGSjdXODNUWU8ybHRJeUhyTm15emRoZ1YvU3d0?=
 =?utf-8?B?cXB3TVlVWFI0blZjaWxDZEdEVGJ2S0hwM2tPUzI4aUhrSmd4U1RiYzJTOE9G?=
 =?utf-8?B?ek5vQXVqZmFGVnQ3UW52T1J4WHFPR09CS2FIenVPZnp6d1VML1ZQcDhBYmk0?=
 =?utf-8?B?OExFSjlkOS9oRmwwUmg5d1J2UUoxWng1MXE0dnNLc2p1aVJYM2lmRTNIZXpt?=
 =?utf-8?B?dk1yemI4NnRydkswWVBrRHdkMzlKSldlSkoxVUNFdk5jNm9SdVBlMFV1bGZv?=
 =?utf-8?B?a1FkRk05dmpKSzVSWDMxNjMvZ0lLV1BON2pTcEhUeWcwREFDNjZmQ1Jkejds?=
 =?utf-8?B?M2JxMjlXSEpORmU2bGtQMUxCcmxvQmY4TkgwL2o0L2MvMi90ZHhHY1JWNEtK?=
 =?utf-8?B?amhtOGlhekF0NWs0dStEVlY5cFI0bVhHS1hFZFNKNXRqMm41V2FmeEJUUkk4?=
 =?utf-8?B?NGJWSllIbzNHZ1dwRVEreWhTVTdOaU1QQjVxMWY4MDlGVWJHT0xZRzE5VjBE?=
 =?utf-8?B?TFJrdS9OYUVEMFdIZGpIV2d3MndSdkkwbUUxSG5NTGdzRUVvanVYMjZrT3l3?=
 =?utf-8?Q?4YC1Ow1yQ85opw81r2c9CrKgHpX5bqEJ2lAfV879IPwS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 20b712c5-013b-4536-65a5-08db245744a4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 06:42:23.7155
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 07xT9dGqi/BMVPr0Jzqj6/tNdCCtel8/Gk2yopxYY7bKinG+ZO5o8nAC2P32uGrhAOrnf9A9NqwkvKPxUXn1Eg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7404

On 13.03.2023 22:11, dpsmith.dev wrote:
> On 3/13/23 15:14, Jason Andryuk wrote:
>> On Mon, Mar 13, 2023 at 2:49 PM Daniel P. Smith
>> <dpsmith@apertussolutions.com> wrote:
>>> On 3/13/23 13:50, Jason Andryuk wrote:
>>>>                usage(argCnt, argv);
>>>>
>>>> +     if (argCnt == 4) {
>>>> +         pirq_label = argv[3];
>>>> +     } else {
>>>> +         pirq_label = argv[2];
>>>> +     }
>>>> +
>>>
>>> style nit: space inside parens and curly brackets could be dropped or
>>> should be moved to their own lines.
>>
>> This file doesn't follow Xen style.  I think dropping the curly braces
>> is fine, but the lack of spaces 'if (argCnt == 4)' should stay for
>> consistency.  Does that sound okay?
>>
> 
> Hmm, I thought there was interest in getting everything in tree consistent, maybe I am mistaken. I am not hard pressed to enforce the style. Unless someone else objects, I am good with your proposal.

The rule of thumb is that if a file is (largely) consistent in itself,
then that style is preferred over introducing a mix. (I haven't checked
this specific file, though.) The same may or may not apply to individual
functions within a file; there it's more likely to be considered one way
or the other on a case by case basis.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 08:09:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 08:09:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509479.785287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pbzit-0001Cg-2m; Tue, 14 Mar 2023 08:09:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509479.785287; Tue, 14 Mar 2023 08: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 1pbzit-0001CZ-02; Tue, 14 Mar 2023 08:09:31 +0000
Received: by outflank-mailman (input) for mailman id 509479;
 Tue, 14 Mar 2023 08:09: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 1pbzir-0001CP-6y; Tue, 14 Mar 2023 08:09: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 1pbzir-0006Yf-3i; Tue, 14 Mar 2023 08:09: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 1pbziq-0001iG-Lm; Tue, 14 Mar 2023 08:09:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pbziq-0002bR-LF; Tue, 14 Mar 2023 08:09: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=XVp/2vRsx7/9nuBA6jOnxLIOPW1AluQaMm5PTpQrXG8=; b=fd0VJMqPzKaIMJ68uMJD4hKZu0
	Ry3ChfEef0QbI2h3gP2E10FEiiuFF5pYCusc7ue2/2EEt3jBR/A0nmlWd5VyEmKbtdHRbmUshtX//
	L090Jm+B/3SEnsx+3tdFBq3fTucVy5kOqjC6dqsCTF4ckXQNc5V+pGv7QsQPJvUP3N1M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179604-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179604: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-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-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: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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-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-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd: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:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=be62b1fc2aa7375d553603fca07299da765a89fe
X-Osstest-Versions-That:
    xen=7a59096258fb9e9679538da8851fe00656841980
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Mar 2023 08:09:28 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail pass in 179619-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat    fail  like 179571
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179591
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179591
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179591
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179591
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179591
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179591
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179591
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179591
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179591
 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-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     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-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  be62b1fc2aa7375d553603fca07299da765a89fe
baseline version:
 xen                  7a59096258fb9e9679538da8851fe00656841980

Last test of basis   179591  2023-03-13 01:51:58 Z    1 days
Testing same since   179604  2023-03-13 17:08:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Jan Beulich <jbeulich@suse.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   7a59096258..be62b1fc2a  be62b1fc2aa7375d553603fca07299da765a89fe -> master


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 08:33:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 08:33:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509495.785337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc061-00054K-Ez; Tue, 14 Mar 2023 08:33:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509495.785337; Tue, 14 Mar 2023 08:33:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc061-00054D-BM; Tue, 14 Mar 2023 08:33:25 +0000
Received: by outflank-mailman (input) for mailman id 509495;
 Tue, 14 Mar 2023 08:33: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=awgi=7G=casper.srs.infradead.org=BATV+85aaf62de0f2ab7b978a+7142+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pc05z-00053r-MM
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 08:33:24 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dc87abcd-c242-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 09:33:17 +0100 (CET)
Received: from [2001:8b0:10b:5:4cf8:b30f:f81:c818]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pc05c-00CjTU-8s; Tue, 14 Mar 2023 08:33: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: dc87abcd-c242-11ed-b464-930f4c7d94ae
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=TcvCFh8lTutcMQPv+FvaU3nhL7FJ+Cdk/suPQBG8A0Q=; b=EchYpbUSzaMdTVB9u/LmksFY22
	GL1FdjbyM2hONs0RWSm0B2JZM7DTfwih/mLlPiu1EgA19yjuLhnDahk9woX9HSKyoEYWrxYlICFHj
	pioQJy25D6mqKwCQUcBt/PZL48jCwsfR1t1KV6DU94jO0RqhS0cP/SSCmoUvB7yhS8arEhC9MoMOw
	epwjYn7xShxxOtgv6VEgZwHn4Jz+JEe+HCelEmh1kG+kW4YFkl2IgJF70ZsBLB9UFc5zMscP5ccMJ
	/qQRQv/LXrUx1X2Jd1XA+tDR8Vame5vWb+5x627vhQc/27IPfh3SQZYYfY8nbkC/td8KIKi2nR9sW
	BlXpzKkw==;
Message-ID: <3122e6c25bac407a329e1ca105da1bb52323c9ca.camel@infradead.org>
Subject: Re: [PULL 13/27] hw/xen: Add xenstore operations to allow
 redirection to internal emulation
From: David Woodhouse <dwmw2@infradead.org>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org, Paolo
 Bonzini <pbonzini@redhat.com>, Paul Durrant <paul@xen.org>, Joao Martins
 <joao.m.martins@oracle.com>,  Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,  vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Juan Quintela <quintela@redhat.com>, "Dr .
 David Alan Gilbert" <dgilbert@redhat.com>
Date: Tue, 14 Mar 2023 08:32:59 +0000
In-Reply-To: <CAKf6xptRmeVmH3xmF8QffQA=aYeXxCWUw9ta2HaYx1xQngzjTA@mail.gmail.com>
References: <20230307182707.2298618-1-dwmw2@infradead.org>
	 <20230307182707.2298618-14-dwmw2@infradead.org>
	 <CAKf6xpuH2E=16s1jFvgL9J723wv0dhBD5aYWP2NBNj5rZio2jg@mail.gmail.com>
	 <5062bef5b5cfd3e2d7f313de9af306f5e4f841f5.camel@infradead.org>
	 <CAKf6xptRmeVmH3xmF8QffQA=aYeXxCWUw9ta2HaYx1xQngzjTA@mail.gmail.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-jLYd3nS/7ICtpg4iKlz3"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

On Mon, 2023-03-13 at 19:17 -0400, Jason Andryuk wrote:
> This looks good, better than what I posted, and seems to work for both
> dm_restrict set and unset.

Thanks.

> For dm_restricted, xs_write() does fail.=C2=A0 I verified that with a pri=
nt
> statement.=C2=A0 I think "shouldn't even try" makes sense.=C2=A0 I'm thin=
king
> that=C2=A0 xen_domid_restricted shouldn't even add the callback.=C2=A0 So=
mething
> like:
>=20
> --- a/accel/xen/xen-all.c
> +++ b/accel/xen/xen-all.c
> @@ -39,8 +39,7 @@ static void xenstore_record_dm_state(const char *state)
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * This call may fail when running restrict=
ed so don't make it fatal in
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * that case. Toolstacks should instead use=
 QMP to listen for state changes.
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> -=C2=A0=C2=A0=C2=A0 if (!qemu_xen_xs_write(xenstore, XBT_NULL, path, stat=
e, strlen(state)) &&
> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 !xen_=
domid_restrict) {
> +=C2=A0=C2=A0=C2=A0 if (!qemu_xen_xs_write(xenstore, XBT_NULL, path, stat=
e, strlen(state))) {
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 error_report("error reco=
rding dm state");
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 exit(1);
> =C2=A0=C2=A0=C2=A0=C2=A0 }
> @@ -101,7 +100,10 @@ static int xen_init(MachineState *ms)
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 xc_interface_close(xen_x=
c);
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -1;
> =C2=A0=C2=A0=C2=A0=C2=A0 }
> -=C2=A0=C2=A0=C2=A0 qemu_add_vm_change_state_handler(xen_change_state_han=
dler, NULL);
> +
> +=C2=A0=C2=A0=C2=A0 if(!xen_domid_restrict)
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 qemu_add_vm_change_state_hand=
ler(xen_change_state_handler, NULL);
> +
> =C2=A0=C2=A0=C2=A0=C2=A0 /*
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * opt out of system RAM being allocated by=
 generic code
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
>=20
> That works for both dm_restrict 0 & 1.
>=20
> I think you should submit your change and I can follow up with the
> above if it seems desirable.

Let's just do it in one. I'll move that comment about 'call may fail'
down to where you've made the qemu_add_vm_change_state_handler()
conditional. And QEMU style requires braces even for a one-line if().

I'll send it out and let you add your Signed-off-by: and Tested-by: to
it.

--=-jLYd3nS/7ICtpg4iKlz3
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzE0MDgzMjU5WjAvBgkqhkiG9w0BCQQxIgQg3VWM+Zc8
NL0V4vU1VBNtwgb3RvFpFDRXi+BC7CTPyt0wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCWFG72xXgAku9yqE6HMBncKqTLzKveQ7wj
8x/HGE2qtSVUyfChasy4FzQVrK50aL6Hg4joHpWAMZGst4Sh0lfniOI4rHkPjiW0JfNZHpARSkWO
CB4Xb+ysm+LAzvJT+Db8TEHfFFLPIu0V34OZcrz25WkyBB+cOecXBQW09BPnOIQ8wn7FjF5DOIU1
CyYPcrdx7T2FjQoeEirPte+2Y+DPAjj/W7J2IDV5iP0J0zGXhm7t2Y3H3yS7Q2htnD2w15nWui+q
GeiRtM4NRqE+CeqnrNgaQs4YemrNRDXU5nWohD4rkgoiOyJVWX844pL3c1ne1n4WqnFZJYW9cQ0X
zAoGH8fwoS0B3hyG7KlHIPdUZO4ziLGU3o64oMI5fAxsKKbRmbXPa6+amsfFrY/+L/j42ssvnGId
cmdbagBzVe98g7igNUWlW+hqjs975tLphCoRJiPATOFhp/C04rtG7VqorjnGWjm2cNCbXIdmJtAI
3hAYq2/qoQPg3EQ/quRBkNNggY8Sr2MrcZvWnxr+Fgpjg8t7VwK28q4AidjR6qDfkcJ0Cw/yAJKv
g0HmWYmMSuZ7wxCGSFQ3npRebi5OhjG4CUFJyXtFKUF8y44JtEPf8w7p0C8bzGsbvrgaknTR2qPa
d4qMHrL6/klGm0rOBVDGvXDpK3FLJ4FO0AZg+w4F+gAAAAAAAA==


--=-jLYd3nS/7ICtpg4iKlz3--


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 08:35:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 08:35:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509501.785347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc07l-0005gO-WC; Tue, 14 Mar 2023 08:35:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509501.785347; Tue, 14 Mar 2023 08:35: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 1pc07l-0005gH-RS; Tue, 14 Mar 2023 08:35:13 +0000
Received: by outflank-mailman (input) for mailman id 509501;
 Tue, 14 Mar 2023 08:35: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=awgi=7G=casper.srs.infradead.org=BATV+85aaf62de0f2ab7b978a+7142+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pc07k-0005es-Jb
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 08:35: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 2003914f-c243-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 09:35:07 +0100 (CET)
Received: from [2001:8b0:10b:5:4cf8:b30f:f81:c818]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pc07c-00CjXL-CG; Tue, 14 Mar 2023 08: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: 2003914f-c243-11ed-b464-930f4c7d94ae
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=EsKGQKX5H5xQ8a7eKIcDS4lNhDTY1QgeDsjiXjaL+wY=; b=Q3KTTBjRp4HZROuSt1P5CO7dsl
	ASM35AdLZE6b9pWaGCiKCGkvzdtPQ/qtisIo484KDeYG/YON9l59/o/Ht+4LBRc02lzPzlArSc20t
	ETImXJAn16fiNXZYtpyPjk5O3ndTtggzg1qRCcFNuId5Dl4V3cTVo8nMmJxa17y4OvanlW8tTiQ6a
	+Kf4oxCxVMO3B6bsW1+GCvpqFdOzoVyTCDxum/HG5XBKCG4hByHBTrN5yfswM3jfVS3623uvUXTEb
	EUihNWtyYo2c5Zq4GuBVlgWLFaNTvtt1/xFT3QAZwUn+mcohXUpz7rezZC3q1TxJm6eKInStTYAvQ
	k3sDqJqA==;
Message-ID: <1f141995bb61af32c2867ef5559e253f39b0949c.camel@infradead.org>
Subject: [PATCH] accel/xen: Fix DM state change notification in dm_restrict
 mode
From: David Woodhouse <dwmw2@infradead.org>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org, Paolo
 Bonzini <pbonzini@redhat.com>, Paul Durrant <paul@xen.org>, Joao Martins
 <joao.m.martins@oracle.com>,  Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,  vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Juan Quintela <quintela@redhat.com>, "Dr .
 David Alan Gilbert" <dgilbert@redhat.com>
Date: Tue, 14 Mar 2023 08:35:03 +0000
In-Reply-To: <CAKf6xptRmeVmH3xmF8QffQA=aYeXxCWUw9ta2HaYx1xQngzjTA@mail.gmail.com>
References: <20230307182707.2298618-1-dwmw2@infradead.org>
	 <20230307182707.2298618-14-dwmw2@infradead.org>
	 <CAKf6xpuH2E=16s1jFvgL9J723wv0dhBD5aYWP2NBNj5rZio2jg@mail.gmail.com>
	 <5062bef5b5cfd3e2d7f313de9af306f5e4f841f5.camel@infradead.org>
	 <CAKf6xptRmeVmH3xmF8QffQA=aYeXxCWUw9ta2HaYx1xQngzjTA@mail.gmail.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-0AISUeYVAr1UpMM4QQgt"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

From: David Woodhouse <dwmw@amazon.co.uk>

When dm_restrict is set, QEMU isn't permitted to update the XenStore node
to indicate its running status. Previously, the xs_write() call would fail
but the failure was ignored.

However, in refactoring to allow for emulated XenStore operations, a new
call to xs_open() was added. That one didn't fail gracefully, causing a
fatal error when running in dm_restrict mode.

Partially revert the offending patch, removing the additional call to
xs_open() because the global 'xenstore' variable is still available; it
just needs to be used with qemu_xen_xs_write() now instead of directly
with the xs_write() libxenstore function.

Also make the whole thing conditional on !xen_domid_restrict. There's no
point even registering the state change handler to attempt to update the
XenStore node when we know it's destined to fail.

Fixes: ba2a92db1ff6 ("hw/xen: Add xenstore operations to allow redirection =
to internal emulation")
Reported-by: Jason Andryuk <jandryuk@gmail.com>
Co-developed-by: Jason Andryuk <jandryuk@gmail.com>
Not-Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Will-be-Tested-by: Jason Andryuk <jandryuk@gmail.com>
---
 accel/xen/xen-all.c | 27 ++++++++++-----------------
 1 file changed, 10 insertions(+), 17 deletions(-)

diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index 00221e23c5..5ff0cb8bd9 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -32,28 +32,13 @@ xendevicemodel_handle *xen_dmod;
=20
 static void xenstore_record_dm_state(const char *state)
 {
-    struct xs_handle *xs;
     char path[50];
=20
-    /* We now have everything we need to set the xenstore entry. */
-    xs =3D xs_open(0);
-    if (xs =3D=3D NULL) {
-        fprintf(stderr, "Could not contact XenStore\n");
-        exit(1);
-    }
-
     snprintf(path, sizeof (path), "device-model/%u/state", xen_domid);
-    /*
-     * This call may fail when running restricted so don't make it fatal i=
n
-     * that case. Toolstacks should instead use QMP to listen for state ch=
anges.
-     */
-    if (!xs_write(xs, XBT_NULL, path, state, strlen(state)) &&
-            !xen_domid_restrict) {
+    if (!qemu_xen_xs_write(xenstore, XBT_NULL, path, state, strlen(state))=
) {
         error_report("error recording dm state");
         exit(1);
     }
-
-    xs_close(xs);
 }
=20
=20
@@ -111,7 +96,15 @@ static int xen_init(MachineState *ms)
         xc_interface_close(xen_xc);
         return -1;
     }
-    qemu_add_vm_change_state_handler(xen_change_state_handler, NULL);
+
+    /*
+     * The XenStore write would fail when running restricted so don't atte=
mpt
+     * it in that case. Toolstacks should instead use QMP to listen for st=
ate
+     * changes.
+     */
+    if (!xen_domid_restrict) {
+        qemu_add_vm_change_state_handler(xen_change_state_handler, NULL);
+    }
     /*
      * opt out of system RAM being allocated by generic code
      */
--=20
2.34.1



--=-0AISUeYVAr1UpMM4QQgt
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzE0MDgzNTAzWjAvBgkqhkiG9w0BCQQxIgQgzxouJoy2
dtblgaTHzshncWQebSNx0C6a74Ecuxm8ioUwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgALlmETifsxija7wvyZGuzmccaJByLcdgV1
yrwYnOrZsvhHNash6oXADmfBvjuNWT+EGLL0HT8cV+1fT4Qh7PCK/6RF3YqWLjD3nkmmHtQUvRd3
Ai6/COu0SeSgsBY3HNzrwHEZrdkmt0b3ElHMjr3e0ZrsESWXLeGihXU6WyxpO6PySFbxORh2z+dX
MjqrOBjHbVh/nrRhKjt7PnZiqCx4L9W9T66ivwC6RFIp/vWw9aabgvTjJWV6pNsiIcOzRRqVytJM
omKaZvrUUx2yCjbUn42EnCXwO5IZ5IFLnNa2bsiQLBj3Zq/y56Mj6BYXlNPUGLHYV+UacktMCQEL
qzxK2YoS6iSzZLdnQ0OD4i243HBw+JNkyI7OlwSFn3iaqH0KqBiQBs3CDN71LLoTsqnvjUMHxwtp
nahF3DCWmwtY/Uy0mcWYg+UAF/JiphPIffdSSZB3RTiDJ20hJLd4TifiPMKXkX2jUwLrsz0CulRM
1UZZy5fED+ZfXIDPyfAGZV70Hd4pfsiH3vjnDD7rZL2weEO+8sf8XERfiLQfP1UEc8hgX7vAu+Gc
I18AI8TtjUNCnLqGfxLyCJj2d259CWY+LDv8C2vtoNi0P2tvAjS/2LHyQY7GtCpOZgnIBp5xsCKn
iamDKxiCFc36rNnXt8c2vSqMBGeHK7lJwj+iM7r7ZQAAAAAAAA==


--=-0AISUeYVAr1UpMM4QQgt--


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 08:45:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 08:45:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509506.785360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc0HF-0007I1-TX; Tue, 14 Mar 2023 08:45:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509506.785360; Tue, 14 Mar 2023 08:45:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc0HF-0007Hu-Pa; Tue, 14 Mar 2023 08:45:01 +0000
Received: by outflank-mailman (input) for mailman id 509506;
 Tue, 14 Mar 2023 08:45: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=dXSW=7G=citrix.com=prvs=430734c92=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pc0HE-0007Ho-LG
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 08:45:00 +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 7b82718a-c244-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 09:44:55 +0100 (CET)
Received: from mail-bn7nam10lp2102.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.102])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 04:44:33 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN8PR03MB5044.namprd03.prod.outlook.com (2603:10b6:408:7e::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 08:44:31 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Tue, 14 Mar 2023
 08:44:31 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b82718a-c244-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678783497;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=6DEEoCE3aXcSqHxviQ9gg+DjcYJKrqh7WmBNcC49Nmk=;
  b=BWGXNBiA6FLEXE3NA4UCN+UyFCm1CEDERs+wLcT8WHpvGU6QWZV8CrNO
   aGMJ6LFPDOgGgBvDV/6yJmc65VYcPzp8+sHwGRrhe5UUZJ+W/JBjTCSWg
   vjKsI6H0WzRShkibMYiW/8ULIaDm0bg03Z5UzDwIdivkRliidh5akOOcP
   A=;
X-IronPort-RemoteIP: 104.47.70.102
X-IronPort-MID: 100109225
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:1WMxQ6LpMbGyr/UEFE+R8JQlxSXFcZb7ZxGr2PjKsXjdYENS1jwFm
 mBLW27Sb6qOM2T9eownYI+29BwG7MPTztdiSwVlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QViPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c55PVxIq
 Ls7MQoNYwKggMiEx7mETMlF05FLwMnDZOvzu1lG5BSAVbMMZ8+GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/VvpTGLlmSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03raXzHmhBer+EpWm5PFlqXee61YeSxATb3qG4uGZp0OxDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBLSNrmK2YTzSa7Lj8kN+pES0cLGtHbylbSwIAuoHnuNtq1kiJSct/GqmoiNGzASv33
 z2BsCk5gfMUkNIP0KK4u1vAhlpAu6T0c+L83S2PNkrN0++zTND/D2B0wTA3Ncp9Ebs=
IronPort-HdrOrdr: A9a23:h41VGquq3KSk+Lg1WEHfgI7o7skCEYAji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJhBo7+90We7MBbhHLpOkPEs1NCZLXLbUQqTXfhfBO7ZrwEIdBefygcw79
 YCT0E6MqyLMbEYt7eE3ODbKadG/DDvysnB64bjJjVWPGdXgslbnntE422gYylLrWd9dPgE/M
 323Ls7m9PsQwVfUiz9bUN1LNTrlpnurtbLcBQGDxko5E2nii6p0qfzF1y1zwoTSDRGxJYl6C
 zgnxbi7quunvmnwluEvlWjoqh+qZ/E8J9uFcaMgs8aJnHFjRupXp1oX/mvrS04u+am7XctiZ
 3prw07N8p+xnvNdiWeoAfr2SPnzDEygkWSg2OwsD/Gm4jUVTg6A81OicZwdQbY0VMpuJVZ3L
 hQ12yUmpJLBVeY9R6NrOTgZlVPrA6ZsHAimekcgzh2VpYfUqZYqcg68FlOGJkNMSrm4MQMEf
 VoDuvb+PFKGGnqJ0zxjy1K+piBT34zFhCJTgwrvdGU6SFfmDRDw04R1KUk7wM93aN4b6MBy/
 XPM6xumr0LZNQRd7hBCOAIRtbyInDRQDrXWVjiYGjPJeUiATbgupT36LI66KWBY5oT1qY/n5
 zHTRdxqXMyQUTzEseDtac7vCwleF/NHggF9/supaSQ4tbHNf/W2Gy4OR8TevKb0rUi6paxYY
 f2BHpUa8WTWFcGV7w5mDEWYKMiWUX2YPdlxOrTZGj+0/4jCreawdAzI8yjUobFIHIDZl7VJE
 clcXzaGPhgh3rbKEMQxiKhF0/QRg==
X-IronPort-AV: E=Sophos;i="5.98,259,1673931600"; 
   d="scan'208";a="100109225"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K7hrMvb4KdglQEzw3Y5pKkj7ijmHWfIh8Aw3p9KqfbnyJ4oER5vUzsBGZXG5NgLBbzd/8BloyllqOd2sNgTtS6S424CUgE7dvTewipAYCKQn4ekRna2G54BDeVD+Na8NfSFuSTeTcXIbp9j+5yW6SizBuoIpl1dIsj/w4bZ/+ina5enHwSbiXwSb5VlyW/kcTvCckKaoxD2AegWC7xvVGgrbWmuSrurUPwfDqOJOTWg+BoyC7CPG0GiQSsuQXQLOM0PUMJ+QcqDO3f2+LE4x5/FffOSGgEeEsNwBtnF2jMqoGvjBbOZCnhiywy/wcitHCfNnXczmTlPMHI2P7a7+Lg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VjYxqtXRpn4D+uzHIt9bqs/v2Rsn3caWHv+LjzFic80=;
 b=StOoAvEzHfaqBA+l0mGHlbCMlIPaANHk27cnTIAWYTa4iYK0ReH7+UmhosSQHTe3qhDFu0t7e4X+iOz7+z2QQP9i4OrwX3hUu8edNgwwtHPzCoaP/RAiTVVBztrlq4Niq3/ZzVdwuvfVpydQrwqWNdhFvbudTCQuoTQmeYj6z96yK94e0G6g7s7M0/bmHieAPhU27m70eKTdpirTaW5Mxhe7Db3oyxSZcVBnVmGlgTnNt7+L37Zbfm0Us4QMXuUACgUCGLcPXkww+VE4yNt6VHkMr8P/spIaTiO3BLyRDFCiG90b4FjE/h4lq/BpZAUHn2AFOpHbp/Mb+M5xWsw36A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VjYxqtXRpn4D+uzHIt9bqs/v2Rsn3caWHv+LjzFic80=;
 b=b0i43MrCuEMyd5p+jriJqtxjyJRLQRKFZ1o5lneyKhEWIExuZOMATrQ6XqNHiEkB1AjVnwkMooPL5stRyupkKnx4jbIlQTEyvMH3GkpOsomRVxvqYCTeXm0ugNkvyx3fuU07NKtGgBhGkbh76S8w4sMPje+FqYj77QDckqdbaEY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 14 Mar 2023 09:44:26 +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] x86emul/test: suppress GNU ld 2.39 warning about RWX
 load segments
Message-ID: <ZBAz6iOxUzK5ez95@Air-de-Roger>
References: <26c58539-8f58-4727-e327-442f02cc3aac@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <26c58539-8f58-4727-e327-442f02cc3aac@suse.com>
X-ClientProxiedBy: LO4P123CA0072.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:153::23) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN8PR03MB5044:EE_
X-MS-Office365-Filtering-Correlation-Id: d94983e6-3245-4782-7dd5-08db24685457
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jZ5Hwk6vBeyolciXgEyuf5+REPPI3itm7nlPMhlDGVRGdVMyv5rh6dI/i5JxnufP314weNjPMglxMyhr3NELDz9IWdhB8m/dKAFJNMc+EgfAlwCcCkUgwv3CksWWJIDuvBiM6qBzNReuFimJvUa8r5jBYUHG4yNAS6nunx9I3uwAlT2ipoZlDTz0ur9y9Yd2koqeHUfRXT4NRv3HRij0yg6eItp2H9TJmJYX1w0Ye3aE3dcp+l5UQcpUC8nkEdLglwuXrCPxHEDWwyju5cTIwCzg1lKLhuowmTaU1KNnLsHkS6K4J/Y3jEM1Rz1PRztjmytv12l0zLiYq5vj7/znmm9CikkU6qNkl3DF9znUdhXUU0Hf3GzkxW61c8nDk2EKAg+xH3KNUrb6CFP3mL1umfwNRHU6SvtAiHe9BZSlU18Nrhubvc20cvWwhY8FIbGJnbEqPJQljUDwOec2VPIU28tF/ORIWVXg6R4D2DsIwlp+/AAotXV4oRB2MzPbD4C5h7KIllYDD6Ea1Ju48JSrFUtt05SplHUgvAW+jQn2jY401rG69leqnPeWkXNKaqBMW4F0rowMYO74taXb5hFbpHQREUPqY5Y5XP8dtLqKuwhbREYys7rHddJSBkDnT8ua3NfANAUfvsU11zi6hs8AvA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(366004)(39860400002)(396003)(136003)(346002)(376002)(451199018)(6666004)(54906003)(85182001)(316002)(38100700002)(86362001)(82960400001)(83380400001)(186003)(9686003)(6512007)(6506007)(26005)(33716001)(5660300002)(6486002)(478600001)(41300700001)(4744005)(8936002)(2906002)(66946007)(66556008)(66476007)(8676002)(6916009)(4326008);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WjN1Yks5b3FXSGlWU1BBZk5WMnBxd202bmlCTkoycmpSWTZmaUNtaUxuakcw?=
 =?utf-8?B?WllMN0JXTlp3VmJSUisyMVlaVTFrcXhXdzFFMEdHMmxoZzFKcGJBdmxLZ0RM?=
 =?utf-8?B?N1d2S3NDQ0xOWUxVQjlQbEg5QlUzOFlUTUszR05NOHRmTzgveTQxWGttaGxl?=
 =?utf-8?B?R0pLVlR6czg1UHV5dVRxWTNBMFpvalFGKy9DL1krSmR2T0ZnazBQaGNqVEky?=
 =?utf-8?B?MTA1ZWVHZTlzeGZGckFBVlN4MFdCK1JscWRJWW5ZZ2FlRnd4bnNtQUZsS01j?=
 =?utf-8?B?Mjd0RE9YSzJNM1RWQlJZaldlTTJ5eGk3VFhoblo4ODFrWHl2NkVWWjViSmgy?=
 =?utf-8?B?NGxIVUx4d2ZYWWExelh0S3ErZXpoSUhtLzIraHViM1FyOVpQdVJWeE96bytR?=
 =?utf-8?B?TDBzVDA0SitJL0JtQkx6QzdjS1lqOE5UdDVSRFl2QUtRT3h2QnpTR1FIRC9D?=
 =?utf-8?B?dmgzMnA5Q2t5eUJkMDVXQkNCNlI0NjJZTlBTakFTRHVaQldsMlIvT282NzRT?=
 =?utf-8?B?R0s3TGRDQkkrNXhMVjJNZVBUYkVOcUZkenZ2c243bEI3WDR6VW5CVEpiNlB1?=
 =?utf-8?B?YnM1d00xdHdvMWJTM2wvTXV1MVRPMVZQb3MvcDBtaTBWRUwrZExyS1R1VHpQ?=
 =?utf-8?B?MUtwQkpDUDlYOENjTlUrVCtYak1FS1ZQN2gySFViNVdyMGhxRjlhKzJBQUtk?=
 =?utf-8?B?N3gvbFhjczBPVGFnK3lOZGJyd1NRZXlPNm52MUFjbDJzMElVbWl6Rk5kY3NS?=
 =?utf-8?B?V0hlT3l6Unc2U040VjB2Y0hoeXB0WGhyNkV5WEhSZ1BZZ3FmclBOelE0UldH?=
 =?utf-8?B?M3NwRXU3N0NIaUhtcHB4dFMyLzhxZ09yYWZCNUpWeU5vSDR4OWF1d3gxamRr?=
 =?utf-8?B?cUFGaEkxWVZ3WEdWV3d6YTF5Zmh2VENGZG8reExzaHdlUmVDV1dxa0JWV05m?=
 =?utf-8?B?Ny92eWg2b21DOEJMQ0xkQk9PNTFManAvZGNBaWZodXBKMURzTnpEb25nb2Zq?=
 =?utf-8?B?cUE0TnhsUktjdHp5eXQ4TnY4THJkL0trS2hzU05CUTJtMCtnL1FmUWtlWEw1?=
 =?utf-8?B?M002WFdwc3dTbGIzY3NzZlVIaUxHTWxYSVZoT2wycjlHcEVLZ0p0MVFveWFi?=
 =?utf-8?B?N2ZjTlZXMmJhMVRjWVRyYkcwSXU4bDFvMXB4RnFFVEpQd0FSUjV4aXhXSFhU?=
 =?utf-8?B?cFBaQnRTZkxFU0JnMDhBemFkRDhhQ1Fwc3Q5MVVqdnhaZFR6Ym1ZM3ZMcDZR?=
 =?utf-8?B?K3lqZTFyeFJVdWc1VEZyeThiSDE4TWpPMjFOcFpRV2wyQkdVUDR2WHRWbzl6?=
 =?utf-8?B?VGJ3dkRxb0YwZDhiZzlvdjdKV284YnlBS3U4M2RPcUo3aFUxMVZyclpWN2da?=
 =?utf-8?B?RllKYjZFM3VDMi9hamdhNURYWFI3VTdndFZpUUxBeVNFQ3AwNDl2V3A2Vm9i?=
 =?utf-8?B?b0JYQUlOVjl5eDFtNDJrUnNFK2g1NDRqaE42WVlpSmYwL3lDMWJlVkpRNU82?=
 =?utf-8?B?K2ZhN1p3bUlueTVBWmJNUTNTTjBsMlo1cUZUMSsyYW9RQmFXOGp6ZFhvSDYw?=
 =?utf-8?B?VjcwN2FsNGVOdHZFeUVMeUlFeDNwUE5sOU5nNi8weC9wZTFKdDNVdWpOYXda?=
 =?utf-8?B?SFZMZ3IxajQ3dXNHNEFRbS96SFpBRHVHRlpHV3QyZ2wvTHR3S05sUFBCRTRW?=
 =?utf-8?B?Z3pTcEJNd1k5MnRPblI1L0g5cmpUUWpnT0E2UWpnT0ZrRURJa1VhaVFvTTZl?=
 =?utf-8?B?ZXdpK1A5SWI5TU56eDNLZzRSNVg2cEpPZW91bFZPZWdBSmF4MlA1NFRUU1Ux?=
 =?utf-8?B?blZuZUdQYWc1U2l1a1RRdWpCd2dia2VDN1FsbFg1Mkl6SkFzL01Cb0pnUFly?=
 =?utf-8?B?U2c2MGI3R0J0VDhneDNJRjRKSnBRZ1JOcVpUdFdXT0Y5TWsvMXZSTGMzTDZ4?=
 =?utf-8?B?TnMrUVJ3STdPeVlZaVFwWHpMVXVpUzR5RlFxYlhrYWxjRm1FNUMxckpNRGla?=
 =?utf-8?B?ZW1UaEpHZU9Fc2Q1eXJXNnJ5ZndzZHd3Z0pTSWxPZ0dlTkJ0MXZjMDlVYVJo?=
 =?utf-8?B?WFVSRWFZQi9LSGlwY0pYK0JwSmR1UVNEbk5mNG5za2NCSTdZUEFCeDZicllz?=
 =?utf-8?B?V3lCdzI5L3hOWXM1Z2dGbkxPeTV1Ujh3QXBzL0V2dFJRYytTRG0rVU5EZFR0?=
 =?utf-8?B?REE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	OJ8TnX2ZqGcWGsredP27x4qRumfE7nmt5VsJiCCX4WHJREy/dwJG7NRacg3zOadJBkUWsaZJ+Tqsq4dZo6eAGjfRJUQwnA/tyxBV4BzkSdZ+emkvp1tmdCVRFy8OJI4+/xwqlSAbp9FSyKH4Qu4BvZupGf+qzMzL7cNzfPKjx+p/HigZaWeEXWLF9XQdiOhBVZI5Hmt6ShRhFXKNosVE60FHQ1vRhICao3Mrcfg1KTM8oLR4DmY1nUO4C8pZDqmvL2HOQZHudla8jId5ocoBtLS52cilKXUrQOSxzMJvv5jTG7rR1NHq2WFLv+f7y9A+j/8bVeMgr4gixIj4nsIDjnyA3FI8zGREvjvzSRLdGXq9ZIsib/q3b93fpbwkUekA/HuKB9oh2SmYNoO8GldGHXBMSKI0GziJT9j8fB+oWRwcKWMBXap9laqGOclCNBPddLipmlxSMordMvSS2Qrtz66NWXDkE/e6WP/PivA4S8XMn/KDdsvDRqr6KNTGXK8kY/kZ88v0jTgb+zoQfmA/jJ5LvdGIQu3Orc09VJIL5pkYhxpJ+h7D8Hgcsti9GqcYi/oxYT30Y54gPuqawMX7yNLh3Yd+dp1bQUcmgRtPqIG2RFPNYweWy/V03J00i8S4Qz9L+a6Kh7LTmZDIARuJwR9J7o5bdSW4Hu7txPo8ZsPTjM0ixqKHiTZYP+XpU4jpbWvqLVDqx/FNXuISWeST43SkLAY3a1SOvINPFy0N6MUyOIFgnv0rKQEFW9IKx4HCCmeX4JIiiDc2D9B4k+8O3fsfXqGq+ufQ2ghM7qtubuY/5oVM0MwHamjVbRL3tMci
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d94983e6-3245-4782-7dd5-08db24685457
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 08:44:31.4993
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: C6YTp7WjoClyrrhK5aHBaCkbQqll5bm0DixBqTdwDClusjOwDEE3TqssMlLS9enY2CmyF2HlXiZQp0MpFWm+Mw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5044

On Fri, Sep 09, 2022 at 09:23:31AM +0200, Jan Beulich wrote:
> Commit 68f5aac012b9 ("build: suppress future GNU ld warning about RWX
> load segments") didn't quite cover all the cases: I missed ones in the
> building of the test code blobs. Clone the workaround to the helper
> Makefile in question, kind of open-coding the hypervisor build system's
> ld-option macro.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

My preference however would be to do this in configure, so if other
use-cases appear on the tools we could perform the check only once.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 09:06:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 09:06:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509510.785370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc0ba-0001XH-Fz; Tue, 14 Mar 2023 09:06:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509510.785370; Tue, 14 Mar 2023 09: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 1pc0ba-0001XA-Cj; Tue, 14 Mar 2023 09:06:02 +0000
Received: by outflank-mailman (input) for mailman id 509510;
 Tue, 14 Mar 2023 09: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=TUcq=7G=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pc0bZ-0001X4-B0
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 09:06:01 +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 6ffa9e3c-c247-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 10:06:00 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id k37so9723990wms.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 02:05:59 -0700 (PDT)
Received: from [192.168.21.223] (54-240-197-234.amazon.com. [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id
 s14-20020a7bc38e000000b003ed2b6da0d2sm1450244wmj.9.2023.03.14.02.05.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Mar 2023 02: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: 6ffa9e3c-c247-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678784759;
        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=h/lJt9s2WRiZqSUJt1NgB/CFrGxZutEK5uPIWwQ1+iY=;
        b=kI+bfujAQ55ePrqLGf8KA4t4Md+YehwS1IeF0GT4FIidlUTQzNoEmOioAN9koNVluv
         bKvaeLj6mX+JcKkiz+VFTNF690ptqqD+8ED/fH615zZxL+zO4uzRsJUTFv82Rtz1PNI8
         i6aqf3C5f2grqe4pys+PHh8FeZk86+7NKntHXUQ3+U/+8fPeFGuJUL0BDhOkfDEhK1mm
         GFKf0tDrgZKfYHsroRl2dGsDwXaIRq8LCrAt2vx/NZ41otGweYRd2UHIvgNsJu2qooeT
         vGjTwXLdQ5m7OzJ3E7RMYoi+4tpslgNqi8ZqmfNuqTmsfNGDT8uvVFTMarPwbxlMzHqi
         LGzg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678784759;
        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=h/lJt9s2WRiZqSUJt1NgB/CFrGxZutEK5uPIWwQ1+iY=;
        b=V/wVRBnytEXrT6/Lv+DXObtc8tWl/11MjElH2WQysRLq/kkNGcpHvdIZPIMEo4vKmG
         156leE78geZj2OMttMB8dFaRfWPq3Zj+bjkCt5URtjMMjzbDqx/PPNNc7nkyRbdhl3j+
         mNy6xPSxHY6gXbO4M/lA13VK9pxP13lhn7FMSQB8SESTzLqChMscuHtaIgaRc2EPvgu0
         Q/uKwH6wiq3KHL8OITpkL6fE1Oi19UNOcePGIF2MbCMvE/HXlYA3rUULfLw2AmmMJX83
         xX54fE35+AOVZ7AHf+esZ4ofuQlAgoPMBtPE1VYl8HTLYcOzDDiE0dsKKNqbksbLad43
         HYQg==
X-Gm-Message-State: AO0yUKUnuKyJ+0uoBpLXjS+16FTyk+DfKyJ9ZCs27EF+c7qFd68BSIdc
	IACBVS1GMPeHr+w283vFXiI=
X-Google-Smtp-Source: AK7set/iy+guVU8jvKQJiCwja+79BoDT/XQwIGyKPKWW2gx9TOz8R5kfjPD04OMjaplDG3HOZExHVg==
X-Received: by 2002:a05:600c:19cf:b0:3eb:3cc9:9f85 with SMTP id u15-20020a05600c19cf00b003eb3cc99f85mr14397660wmq.26.1678784759074;
        Tue, 14 Mar 2023 02:05:59 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <af8b5b82-036d-6355-4201-77ecdd6ba61b@xen.org>
Date: Tue, 14 Mar 2023 09:05:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [PATCH] accel/xen: Fix DM state change notification in
 dm_restrict mode
To: David Woodhouse <dwmw2@infradead.org>, Jason Andryuk <jandryuk@gmail.com>
Cc: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>, Joao Martins
 <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Juan Quintela <quintela@redhat.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>
References: <20230307182707.2298618-1-dwmw2@infradead.org>
 <20230307182707.2298618-14-dwmw2@infradead.org>
 <CAKf6xpuH2E=16s1jFvgL9J723wv0dhBD5aYWP2NBNj5rZio2jg@mail.gmail.com>
 <5062bef5b5cfd3e2d7f313de9af306f5e4f841f5.camel@infradead.org>
 <CAKf6xptRmeVmH3xmF8QffQA=aYeXxCWUw9ta2HaYx1xQngzjTA@mail.gmail.com>
 <1f141995bb61af32c2867ef5559e253f39b0949c.camel@infradead.org>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <1f141995bb61af32c2867ef5559e253f39b0949c.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 14/03/2023 08:35, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> When dm_restrict is set, QEMU isn't permitted to update the XenStore node
> to indicate its running status. Previously, the xs_write() call would fail
> but the failure was ignored.
> 
> However, in refactoring to allow for emulated XenStore operations, a new
> call to xs_open() was added. That one didn't fail gracefully, causing a
> fatal error when running in dm_restrict mode.
> 
> Partially revert the offending patch, removing the additional call to
> xs_open() because the global 'xenstore' variable is still available; it
> just needs to be used with qemu_xen_xs_write() now instead of directly
> with the xs_write() libxenstore function.
> 
> Also make the whole thing conditional on !xen_domid_restrict. There's no
> point even registering the state change handler to attempt to update the
> XenStore node when we know it's destined to fail.
> 
> Fixes: ba2a92db1ff6 ("hw/xen: Add xenstore operations to allow redirection to internal emulation")
> Reported-by: Jason Andryuk <jandryuk@gmail.com>
> Co-developed-by: Jason Andryuk <jandryuk@gmail.com>
> Not-Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Will-be-Tested-by: Jason Andryuk <jandryuk@gmail.com>
> ---
>   accel/xen/xen-all.c | 27 ++++++++++-----------------
>   1 file changed, 10 insertions(+), 17 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 09:22:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 09:22:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509514.785380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc0ra-0004AO-0M; Tue, 14 Mar 2023 09:22:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509514.785380; Tue, 14 Mar 2023 09: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 1pc0rZ-0004AH-Sj; Tue, 14 Mar 2023 09:22:33 +0000
Received: by outflank-mailman (input) for mailman id 509514;
 Tue, 14 Mar 2023 09: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=dXSW=7G=citrix.com=prvs=430734c92=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pc0rX-0004AB-Pe
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 09:22:32 +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 bd43cfe1-c249-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 10:22:29 +0100 (CET)
Received: from mail-dm6nam11lp2174.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 05:22:23 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by CO1PR03MB5764.namprd03.prod.outlook.com (2603:10b6:303:6c::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Tue, 14 Mar
 2023 09:22:21 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Tue, 14 Mar 2023
 09:22: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: bd43cfe1-c249-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678785749;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=rNxcFQcCKVIylRyokFEqYiETWBBdt6L5RDLP7g9tOZ4=;
  b=HhFmnY3WtvwDWhICDkjJib7pjJXUPkUSLkAObYFbb6/pjQ4jim0oF/yH
   dnvgLmTmeCF9vVAQIEZYTHISjAqLDTlATzqCsX0QSxDqKPfJtQxo0qds7
   BFdnhTUCbgckNOeDUQeqCFyRnCIiten2DsRnv012Aa/2+uEGwKZ0pVp1t
   E=;
X-IronPort-RemoteIP: 104.47.57.174
X-IronPort-MID: 100114940
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:9tagc6mbqLFtgj2Glsrkkzvo5gxPJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIcWDyPPveLZmP9fNBwa4yy8BkH7MCAzIUwTFE4qn08QSMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QOGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 cwSBR8JTCGovuSVm62icuBCq904I9a+aevzulk4pd3YJdAPZMmaBonvu5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVM3ieexWDbWUoXiqcF9hEGXq
 3iA523kKhobKMae2XyO9XfEaurnxHujAdtOReHgnhJsqECx+XdMUy1LbHKQgqmGoBSZVslxC
 1NBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4qjJ5weUAEAUQzgHb8Yp3OctXiAj3
 FKNm9LvBBRsvaeTRHbb8a2bxRutPQAFIGlEYjULJSMV7t+mrIwtgxbnStd4DLXzntDzASv3w
 T2BsG45nbp7sCIQ/6Cy/FSCjzfyoJHMF1cx/l+OAT7j6R5lbom4YYDu8ULc8ftLMIeeSB+Go
 WQAnM+dqusJCPlhiRCwfQnEJ5nxj97tDdEWqQcH80UJn9h1x0OeQA==
IronPort-HdrOrdr: A9a23:odIvZKrWfs+l0qobSegPJJUaV5o6eYIsimQD101hICG9E/b0qy
 nKpp9w6faaskdzZJheo6HjBEDtex3hHP1OjbX5X43DYOCOggLBEGgI1+TfKlPbehEW/9QtsJ
 tdTw==
X-IronPort-AV: E=Sophos;i="5.98,259,1673931600"; 
   d="scan'208";a="100114940"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=loEFYVhgdI2EeNDh9Fff7Dd1G1BTBmb2W6HNmABjXNF7z/ChyCMwGsybxFa6QsUs0n0QUMaJdiWI3HwH881whUQ9i7TvqVuZRq6ZQCobaipflKEi7ZxTo0fnfdH0LIvT4NrHbLpmlaa3UfA6oBOms2mXPROL3YWfRg7/tL1Tt5qJOepOu7p/Bb+2sMwGIf39/P3YDGOja9YPeKzc/OTq4cdkesz5gmxt94hW/Ofk/tVLzc5ZzUOlfZ/6ke9iotql/VCd0ndNvi07blgoSQWrZUgRIyajnRXDRdzhom8O/56J/ATQYcQB9oIF0plV4soxQqrGNG2DLPVde5GMLmVPew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9i2mqI18arzPGqy/DUV1OvX1QXrC/ctsyR1bAg/QAY0=;
 b=gz3dl5m5cWPCUgHRsC3A9A7KN3rSgnFf8j0Xp6r7591yv1YbkOANXw7zJpmKMwSrW8tZNAAnlvr98tC8KYKHSMnkppHVLLyzPPxtgIc/1gmlTZcpvzAp1oadqVTkqSmKGoZr0+2LtZletxyinLsnazXLuSGH9dlSYVSghhClfjNNeDAdRu1k6eBOwWlLJLCRuTOI0C+RNpYRpl7+H+HsxBBi5WKBLo+3HKqTbrzwrpera9/F7ZM4zVaKiN0fq3016z/RNmfRbctqFwXfA78izGBU65HXqjvxjDiFo+5z0GNpoEOS0iaodwwDg5HVD4aToZZexbTej3CMpQqDQDBlPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9i2mqI18arzPGqy/DUV1OvX1QXrC/ctsyR1bAg/QAY0=;
 b=F15KMhWOJ8P41ajxO5fCNA7/e7N92Z4nkNo/2iDPxG/OwOwgQ9Tf6DRjB6xyOK+VkJZp5HxTJiH2KyD3CJ+f4GmvPWXD6ayF3kDmRcOd8c/KFQZNPpe91zXB+/5IaHqE5gH/UICntt5Z5f6TyS0TW2eR9wlcyjH58rpNSEXocfQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 14 Mar 2023 10:22:16 +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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen/grants: repurpose command line max options
Message-ID: <ZBA8yORIxXRM3RkO@Air-de-Roger>
References: <20230313121632.86789-1-roger.pau@citrix.com>
 <2bcd9829-498b-228a-2a86-67f8c6e859aa@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <2bcd9829-498b-228a-2a86-67f8c6e859aa@suse.com>
X-ClientProxiedBy: BN8PR04CA0034.namprd04.prod.outlook.com
 (2603:10b6:408:70::47) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|CO1PR03MB5764:EE_
X-MS-Office365-Filtering-Correlation-Id: 84d41040-36e3-470a-a5dd-08db246d9cc3
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	O68XxDtUwtXZRg2YLUWqpw+xWl5knNXuXgpfxv8OJw9KBzjuJJm6dj/GoToftww7Mu9RV1h0jMyaBEyHVzpIxC6XSwAhKJN7ChZqk57hfbaYvwCVgOBDPPb3+jFNy9HWf9H01MBOKGqrbSi77jKXzvRabci6EJP0kNNMQ4LJhNZqkrIDJALgFA4hNGKnPYNvWKKDu5xBKA7U4mwRtvS/k3xXZIdJxwBqRtjRM/FKv9na2AH2OAh8LQiA78l1gJK9L2uXGYRn21DUW6tEbXpQ1bDy/J1ceUWQABUASX1A1So2JQo1Q5JoXRLlfzUoQcO9rr2YIHhEF13MAQB3XyFrBjgF6ph7hzOouYL2AgPlaffkqGN7tnLaj626H9M1txfsqq6cwrurIgPZJjupA6ZR2Lj/uria0CK6SD1sbb/9T9e13LCLiv2h0Wk7BmXzDwWUYuil3L+kiwiD+ZU3ciSUK1w5eBiMoiD4OrPZuCBccfPGUiiruoYZ2hZHEUh9aZuPT+Q43wOLayEzE5CU/BWiNVpZPuk1XzZCzpnz42AgfpCZJ/VNIQWUIZYHSIrdh3fOt41MAqrbSkQVVbweIv3JuvHpgmxFIxiUa7kfHIl03KPcZgNI6kjJoaLugtdVk0uS636VfTWhgZdcMSQoDXACTA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(39860400002)(366004)(396003)(136003)(376002)(346002)(451199018)(33716001)(86362001)(85182001)(6916009)(9686003)(6512007)(26005)(41300700001)(53546011)(6506007)(4326008)(5660300002)(186003)(8936002)(316002)(54906003)(478600001)(8676002)(6486002)(66556008)(66476007)(66946007)(82960400001)(38100700002)(6666004)(2906002)(83380400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ckRscHZFT3BKNFBHK2RrYkt0L1BVaEY2RVJweHpZK1VnTEUzbGhqNVNSZW5z?=
 =?utf-8?B?bENWenBtOHM0S1ZqVjUxZElzckR0L0N5NncvclpMSUhydTljVktXTjdqdEVi?=
 =?utf-8?B?SVZqajZ4U0lEZllKd2ZJRXFVc2pEbm0zUGlYMUxodGlxei9kc1laUmpzbFpr?=
 =?utf-8?B?WEw2WkZkdk9hTzFKaVZIbmg3Rlh5K2NrcVlMcDd0WEdSSGh0U2NZQ1Z3dzUr?=
 =?utf-8?B?Ky9pY1FkRjZVN0llWVkrNktIcmo3N1hibjRyUlFPRFg3cG1kUXExeWwwWU15?=
 =?utf-8?B?U1V0SzhBcUJjUUJPSC9XdEorQnBONjNYbXFwOFE5N2ZPL0htanFVdEZQQURH?=
 =?utf-8?B?RVovODFOelorSVpjc3VNejFTTU9xdGZRQm9nK001SFd3VnNBSlFJTkxZWEo1?=
 =?utf-8?B?TUxwQzdOaEZXajZyTEhaWlhOSW91cHJMVXMxVkMvNlY0aGNMajJUdmVhMmZ1?=
 =?utf-8?B?b20zR3VVOTdwOXZjaHlrUHVqYmFGWWFMTWg5TjNnV2p1WDJtYy9KVWsxUjJs?=
 =?utf-8?B?bjN5alhrWTVhOHFRVU15RWNvWFdabnl5bE5lTnVOQXBzSzU1ZU5iK2t3OTFm?=
 =?utf-8?B?YmpQbSs2MDhsaW5yL2tFSkFrWHREdGRMVjR5VHh2QVNGYUt0aVpFdGtUckl1?=
 =?utf-8?B?a0VNc3EwNnZEakRCTWVabi9ma0FyenNPUEhOeTBMWi9pMFlhR0QzRE4yV2FW?=
 =?utf-8?B?TWoxSWpCaVNyOWs2VmdzanEzVjVlazR2WGt1NU9rTGNQYk1xeGk4WjlCcnQy?=
 =?utf-8?B?UUQyL3FKdzRrZzJWbW5MMlRCNi9sbVJxdXVEWVZLblhMTjNoako2Zlh2NlpQ?=
 =?utf-8?B?d1ZUNUFWLzJVelgycDBDSWFWYUxlZ3AvNFNjR044L0FCZEVVY0RUM2ZqR0N3?=
 =?utf-8?B?a0ZyWWQxMVRaVDlQVlhXU28yUkRIYkVLN0Q3NGhkeWM1K01LZzczU014K1RP?=
 =?utf-8?B?VUd4OEVzR1h2eDNHVmpOV0M4eDZsS1o0OFhxeDM4U01ta082cnZHd1ZvcDgv?=
 =?utf-8?B?WUJyMmdyQzdRRGp5WHJOcE54d2dKZldhb2tvNk9PdkphZG5wTmY3ZEFWRE8r?=
 =?utf-8?B?UHFVbHRSTWF2R1dYU1NnK1ZLbGY5bU91dndKSjlhWFNTRnRzQktrczRZRHFY?=
 =?utf-8?B?Q01WRWlEMUtZcXVRanM3ZlRGRC9WOWZrOGsyQmN6WDlNbU5WbG5QVWd3WGsv?=
 =?utf-8?B?T2ZBa1VlcUViTHE1RWVlSFZRYUZhRk9GL0dyVEo3OENKcEplV2YraG1UL0s1?=
 =?utf-8?B?ejllM0ZlcWlsQ1c3M0xBR0lGa21iaFZ5QTI3MFhucmhOY1ZIUXRpSFJHWURU?=
 =?utf-8?B?LzVId1ZZeFdKQWMrY2w0VlU4Mlo1UGVPNlBFbzBlV1hVMk1OakhwVVhRUWQ3?=
 =?utf-8?B?bjdKZXVLWGtkYjg0bDdtejkzWTNnRGw5Q2tiSFdkZ3BsMllCcXVhQ2c1TnRZ?=
 =?utf-8?B?SVMyNHhzMEdIT01kWXAyOUYvdDd5amw2bkU1MjdPenZmclcwTHNlU01IT1lY?=
 =?utf-8?B?blpWZUpmaGhwL3pYbmlJbCszN2szZENsL0g0WU1FQXhQaFlLUXpxbXdpUHZ6?=
 =?utf-8?B?d3dsTlpWSmtsTk1oYU9ON1hyUy9Hdm5HaEdZeU5VYlRTU3krbFF5UUJUR3pr?=
 =?utf-8?B?WmJSbmh0Qjc2dVljSU5PZjhSQzZXajcyTFJoREpMYUFNemZqQzh0ZGZxUVUr?=
 =?utf-8?B?RU9YMzZQSE55eHFwK2dwRUx6eW5VZEczaUFINjN1TWZkcGNvMjB0WmRib2VZ?=
 =?utf-8?B?NDR1cG1vcSt6R2k2cCt2L0ppbG8yVDl1VVFYVGVKUStuY0tDaW53ejVHVDNs?=
 =?utf-8?B?YjI3Ym1Tb1N6MUR0akdldllYMmlYRE5ZcWkvNDdDaUo4b1ZtOTFBMTB4bFNZ?=
 =?utf-8?B?UFI5Um0zZHR1eGxwOEd3MlBGK3ZQQWRJUGZUM3BFS0I3ZW1ObDdObit3TU1m?=
 =?utf-8?B?SHdjYXBUbXpaSEl0enhWK1pxRS95eCtSWjJvbmxPR2p1NlFoMlVoVHJVZFlK?=
 =?utf-8?B?TFZmTHM5R0hmK21WYmtXenlEZW5HWlF5Y1kyeFYrWEZ3bHpmbXVuaE96QWQ4?=
 =?utf-8?B?RmZld1dPSU5OY0d6V3NJZStFUUMwQnQ3V2lybVdVTWZrMjVSc2hsUGp4Rk9X?=
 =?utf-8?B?YTBXUG92WHljdS81ZU1zL3hRZTlxNlVGeGFXV0V0eGRTTWJQb0lGeDFYZjVp?=
 =?utf-8?B?Wmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	sHg8dscC6Vtp3ruhUssSH5O8tD/CTn5iTG/eFcf2yreuhh2G5/lJQqJJQcbCp3J6y50fkMKiReTXKAAK57LXRr0L9TEVInr2t80erUsP/WEOe1cLqdY3+SijWDSY94BI9QUVLw1VryI/+qVtsPJjAegL6+fjEMLu4tY/F1CYL1QPsSiNG5IM9DR0S6PxWPKFMOzQShh3VkPevLxaGe55aMVWSBDoBowKGEBCqeeKW09CA1CSvzZcVj8kjVErA1vAdzpoEEXOeEQF3awTNXrqax+pMJwERFDFJfi6qBUVEBPtaskZ56Kx7FrP2OBHk9ZKtvi8jxl2vz24rK+ldFwqASboLFvlcXgeba7k81dDvyvbrJDEE9I/9BZFTJnhtRJtAZWTHTGQ1GD4tPl7ItGWgD29f2KOWtasmjdl1vrSoV/UoC1xPaGGXBR/kjK+USw/H+nDcTHsXMb5vpbkwE14OzZhbtT+2x9rPL6mqsy50G4zCEcEHP1v6qDfF9U/Olu5VwbOTmf8Vca7mUb0+Uw7x66cBjHfhnHoH3W1dPzOcMKS1CNpJjf0Y+ZmkWi9vziOkb/yUCblJmWPxQ6eh5XQA5KhmTbFGH9EQVyt6lGWEAcnKygQOha7/GUFsrh15Ge+OAicVg/i6IYUNxCdNnArzXhEd+oWyNQ12B8FII51khRr0uQnsd+Mvf5t83PFdG//f4as3pyyXaOfzi8uKWk4NNZ9NKIJqfdQpNEWSAmP1VKaMAP3b9yl+YR6bxolP2e1XgA2ywZwfwm+6h6aJv4zec0sgjV7zYJV88bi+/2fpjJJ6Cy3Jo7NoUiF8Z/PvHhOsP5oKM4w+F0hrqigH/55uCQBBjNtWn9kmWjvffwtYfY=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84d41040-36e3-470a-a5dd-08db246d9cc3
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 09:22:20.8471
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EMUlFtOf56+3MHlA3ppKj0t9RpwQWgZu0BvCdjb0veUKYxMscufeFOdbTGu6Xol57dONeokf9ZSPZMHXTKpGxQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5764

On Mon, Mar 13, 2023 at 05:55:09PM +0100, Jan Beulich wrote:
> On 13.03.2023 13:16, Roger Pau Monne wrote:
> > --- a/docs/misc/xen-command-line.pandoc
> > +++ b/docs/misc/xen-command-line.pandoc
> > @@ -1232,9 +1232,8 @@ The usage of gnttab v2 is not security supported on ARM platforms.
> >  
> >  > Can be modified at runtime
> >  
> > -Specify the maximum number of frames which any domain may use as part
> > -of its grant table. This value is an upper boundary of the per-domain
> > -value settable via Xen tools.
> > +Specify the default maximum number of frames which any domain may use as part
> > +of its grant table unless a different value is specified at domain creation.
> >  
> >  Dom0 is using this value for sizing its grant table.
> 
> dom0less DomU-s do as well, at the very least, also ...
> 
> > @@ -1245,9 +1244,10 @@ Dom0 is using this value for sizing its grant table.
> >  
> >  > Can be modified at runtime
> >  
> > -Specify the maximum number of frames to use as part of a domains
> > -maptrack array. This value is an upper boundary of the per-domain
> > -value settable via Xen tools.
> > +Specify the default maximum number of frames to use as part of a domains
> > +maptrack array unless a different value is specified at domain creation.
> > +
> > +Dom0 is using this value for sizing its maptrack array.
> 
> ... here. And even ordinary DomU-s appear to default to that in the
> absence of a specific value in the guest config. IOW at the very least
> the info you add should not be misleading. Better would be if the pre-
> existing info was adjusted at the same time.

Aren't domUs already clearly covered by the sentence:

"Specify the default maximum number of frames to use as part of a domains..."

IMO dom0 needs to be explicitly mentioned because in that case the
value provided is not the one used by default, but rather the one that
gets used.

> I also wonder about the specific wording down here: While the max grant
> table size can indeed be queried, this isn't the case for the maptrack
> array. A domain also doesn't need to know its size, so maybe "This value
> is used to size all domains' maptrack arrays, unless overridden by their
> guest config"?

I think the wording I've added already conveys this meaning:

"Specify the default maximum number of frames to use as part of a domains
maptrack array unless a different value is specified at domain creation."

> > --- a/xen/common/grant_table.c
> > +++ b/xen/common/grant_table.c
> > @@ -1956,18 +1956,15 @@ int grant_table_init(struct domain *d, int max_grant_frames,
> >          return -EINVAL;
> >      }
> >  
> > -    /* Default to maximum value if no value was specified */
> > +    /* Apply defaults if no value was specified */
> >      if ( max_grant_frames < 0 )
> >          max_grant_frames = opt_max_grant_frames;
> >      if ( max_maptrack_frames < 0 )
> >          max_maptrack_frames = opt_max_maptrack_frames;
> >  
> > -    if ( max_grant_frames < INITIAL_NR_GRANT_FRAMES ||
> > -         max_grant_frames > opt_max_grant_frames ||
> > -         max_maptrack_frames > opt_max_maptrack_frames )
> > +    if ( max_grant_frames < INITIAL_NR_GRANT_FRAMES )
> >      {
> > -        dprintk(XENLOG_INFO, "Bad grant table sizes: grant %u, maptrack %u\n",
> > -                max_grant_frames, max_maptrack_frames);
> > +        dprintk(XENLOG_INFO, "Bad grant table size %u\n", max_grant_frames);
> >          return -EINVAL;
> >      }
> 
> I think I agree with the relaxation done here, but I also think this not
> introducing security concerns wants spelling out in the description: My
> understanding is that even in disaggregated environments we assume only
> fully privileged entities can create domains.

Yes, that's my understanding, as domain creation can only be done by
privileged domains.  Of course when using a custom XSM policy
the permissions can be changed, but it's then the job of the user to
asses the security implications in that case, and there are existing
paths to cause resource exhausting when having access to the domain
create hypercall. I can add:

"The relaxation in the logic for the maximum size of the grant and
maptrack table sizes doesn't change the fact that domain creation
hypercall can cause resource exhausting, so disaggregated setups
should take it into account."

But domain creation for example also allows creating a domain that has
MSR relaxed, at which point it could also be vulnerable to other
issues.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 10:04:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 10:04:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509518.785393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc1WA-0000c5-6B; Tue, 14 Mar 2023 10:04:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509518.785393; Tue, 14 Mar 2023 10:04:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc1WA-0000by-36; Tue, 14 Mar 2023 10:04:30 +0000
Received: by outflank-mailman (input) for mailman id 509518;
 Tue, 14 Mar 2023 10:04:28 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc1W8-0000bs-G6
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 10:04:28 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20627.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9a2b04eb-c24f-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 11:04:27 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7819.eurprd04.prod.outlook.com (2603:10a6:10:1e9::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.19; Tue, 14 Mar
 2023 10:04:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 10:04: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: 9a2b04eb-c24f-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bBG94Sv+XuU4faaSN+HeCxQEXB9ep1xfjjM0+miYo0osQxLXd8Vc96o51mebHSZeTcbjN463dJeSVj1UdmBRpSoBv/jhouyt5I8+8ff/drkdvo+1qa7k0xxwbxT9q3Cmv5k6Ph5DCjq+PMx9RAhB9zaWEHJ33XU21V75Zdijw9/XcSfWeRU8KTn8RjCzlBAVNVJT9Fw3kE/cdZxwykIuzDGZGsW5pL8qOYuOQiIDr8JJ8Hi4GEqhWhLzwZuGPrynDohV5uuQhp7Yo541atmHfiBxLBdkF02vWZjlWp4h42HXkX1Sp9dnAR9vB3lCzV4y6L6iPO8fDtHxf6fSEIQXaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lA/xKxbTURPOAvUbvJFs7wln/6jsZcZxrYUpwEvqp3o=;
 b=D72/2ccqDjs3TZQcZuJoqqDaiKLX2rxCoF7UUBGBgzrf1ZOLlNDhgfslb0KN2enw4LH1rEi+mE6EmXcKjcu6uhscUVNugmmMeuFpWTftdjz9Mqgs6ZHPUzdX0yl44EgTTsO7y6MM1GlmaKqV0OlLq7HmyaG7Tj2+KYQeK91ANxXCxWpsIKRukrzHiLANPtK7jhq+ZC2ma4gep0h7o2eUTCvz+eAUQ6Qtp+l6NCyoa7QyTtrj9fdnWjVcbgraWlr2lR+9HQTZYY/c4s1BhV6owPQpciY70m0e81yqphYYhi54mQJ0YtwB/rFLmYj2FX6p4VcxvlxN0u3ZwuceDBr5zA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lA/xKxbTURPOAvUbvJFs7wln/6jsZcZxrYUpwEvqp3o=;
 b=5vaE/S3/M3BBzv8gN6hlmuPHO/DZXcy2ut80YwaxUg+6EcJKmxWv6K65rtYQ6wsMOU5yDJqK4Ub16fhXsShy1+S8ny3amc+kXhFk5iBfb1KQuC4CB1BBIWPASk6xVk4ygBsaJQV6jQ+GGG+iiCTO4SnaVEwAStFX5wF8G+b0dq+WU1mnlGlbGMq0dJ241UcSb1pIvNxAD2odYqui0bGBGpyovb+l1ijhRFPfXlDlW17PrNUIKV0u5v3Adjv1mojz6Df5qEVvSD1LeXhMALmo9F0UQYOCGHB6RLyb/4T/lH1hdWmkiPEV0ivO57h7l0yqeT1MFGbmkNRtQ7EH4AFL5A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <04bfee08-53e5-49f2-3fb9-440b6861e3f7@suse.com>
Date: Tue, 14 Mar 2023 11:04:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/grants: repurpose command line max options
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230313121632.86789-1-roger.pau@citrix.com>
 <2bcd9829-498b-228a-2a86-67f8c6e859aa@suse.com>
 <ZBA8yORIxXRM3RkO@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBA8yORIxXRM3RkO@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0113.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7819:EE_
X-MS-Office365-Filtering-Correlation-Id: 9c693707-985d-43cb-d019-08db24737cbe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nH5T84CM/r1hZy0eZCBJfbDYQeYKLuDRuMNj5Nqkybc+rJ3QIUwgUgEIHjWIm8Is2/SHF6IBVYYPzZjS4gD+4sPEHaJ9kWacHZRg2R0yz+RmWW4QM4llldQUubpPVRvz5xC/MqOFXdpNqKiVW/zMTwL+05I6PcqmveIkqbZGgSD4pwrM14rXIEseQjpFDipwVI0XVHq1Npxbc4IiLuPdgJ1xUhQbpM8n2vEWrzDTsGX7AhDjJnvZZmbrk8h4bv7RDdb/beAdv0afoX7PgNhoeCLaBrSsjTQzYq482+7m5iXwcw3vmr2+ScVzhl2Adp0njyz+SOUdOsjnsrWas95+veGqNnh8fAyLKPDUvTeoWtFvPAhCwgY1M49Qfsd9mEfz5amai7EOoYOBNoEI8cNoArdJ3eppkbVqEdi0qTU2ibcv2VkOAt/TWApBAkq9helCgGAW9l7ttq5oRRBFp+NlXtYI8l38sfigzOISNrq7Qg9HUsUFn5ErBKmIt4LtzdIONc63NgIvuYnBheJJ6fs+bE9hAUIT8tPwTAb3CC+kbDF03TTkQaRrpwWByvRXjQIdJiLyneuXtvmsSOPEp+ekBZPTdKD7rGEUIKMLzk1bxvvwe1tL7Q2xEJrJGM86cKS57Kf3z238IzCDtPvOeUECxGC8hLxwuK7B0URFcQ50+DLi02RN9+WcpXtUVSU6ZgiN1mmAxaxQKC7p18qBkKsrNSefI05D//joEJ7oo0/OuRA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(376002)(396003)(136003)(366004)(39860400002)(451199018)(66946007)(31686004)(6916009)(66556008)(4326008)(8676002)(41300700001)(83380400001)(316002)(54906003)(36756003)(38100700002)(8936002)(66476007)(6486002)(478600001)(2906002)(5660300002)(2616005)(186003)(6506007)(86362001)(6666004)(53546011)(26005)(6512007)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aG1rRUxhNmFoZEJPKzBHaTBIR2hZWmFXcXdmVUdiQ1JWZG42cFdDMXlJSzMx?=
 =?utf-8?B?NW1GeC8vbjlPRVhOUnRQMmV6cnZVWEdTVVdZbnNmcCttRnIyaG5qYUpuMzVL?=
 =?utf-8?B?MGd4bUU3TnZsWG04MXVIWVJmNU1RUjVoZ1U2SHNTNGtoYzNKY1BoeUNGTXEz?=
 =?utf-8?B?TmFoYWJkMDNNZnV0eDY1ZTRuSExnMXRzYjhrN2lYb1NFNVY4Zk9kUnRHbzlj?=
 =?utf-8?B?V1ZQVzhBS0o4YjlvZ3FoMlRSazgybUVBQnhoMTI5ZmdXVHozZ0VhY21LUWJs?=
 =?utf-8?B?L2F6aGRwQTlxbE14VjNDeXZFS24vZ1FLTmsxUDcyTllHc0owUnAvTEQzMzBM?=
 =?utf-8?B?TnlhampCalRaUlVMMjVnK2k3Z3hpR3hEdU00T2UxYlVwM2Z4bVJJWit2M1h5?=
 =?utf-8?B?TFNZcTNxZEs4RVJJMlBXbWRDMDNESHZhZHhKdjNPellQTFEzSitKMnljdFd5?=
 =?utf-8?B?MFVPUVpqUEMvc2dubjNUaGF5NThCbGZmck1zTHNuR1JIWlJFN0w2Sm14Q3dN?=
 =?utf-8?B?WVRRaXl2QURvelpVZ3lFRFR4WmpaWVA2Y3VqRW40VkJPWUlyNko4Y2FuNlRY?=
 =?utf-8?B?NVVTeXFkakQwYW1rUHRhSlU1cktVcFRTbi9aektMd0xVVTM5d2s0OThJRk04?=
 =?utf-8?B?WDJPR0U4NEZJUzhBZGoyamJFVzNVYTRKQ2VzTllLcWwzMWduZll4elRKQ3Zm?=
 =?utf-8?B?Y2M3emNTSWMwOVgxOVZRb0R4d3FBUkUrRFFMMzd2WkREbm1iTG1XL01KVDM2?=
 =?utf-8?B?OThOd2J6T1Bra1JNMTlGTFRCUTJuNkpMWW5iY1hRUUFWZGNKZTAyanlZeHFV?=
 =?utf-8?B?UzVrWTloek5YQlZ1cFhiSHpLTEF6MlRIME4yd2N4VXNsdm9wZmkxK3RXN2pw?=
 =?utf-8?B?ZjJ5dXMwY3JGVloyazlOcm1kMEplZll2V1ZBUVk1UHVnelZvVVlmY0xad1lW?=
 =?utf-8?B?YnR0dGtSV2wyekV4dXRaY1doZksvMVFCQWRWWUlKU2MzN1crRHNKOWIxQnBJ?=
 =?utf-8?B?bEJTcG9oeWxQbXBBRXlvcjR1WHpCVFVvZnlmelg1dkFnNFNSZDhtUm1DM1FR?=
 =?utf-8?B?U2dJTmQxRGFTNGVYZU5maFNvd2tITXRIOWZoMUFuS1M2UCtybnd2NUNydnZr?=
 =?utf-8?B?T1NKVTNabXFFR0c0M0NZMUtBdCszL0d5dFN5UXoxa0F1dzlpNkVtTFZNMWV0?=
 =?utf-8?B?QXdCMTJxTWNkWHYyS0RVREZwMnhKZlhUaTlSSFgvZFVyd3pTOGdhV0FlbzJH?=
 =?utf-8?B?bmZibFFFMVgzZTVIUktTZW4zaW5yTnRMbVVuZnNiL1plMnI3a0htQ010b2N5?=
 =?utf-8?B?ZHVNVDdJRnZTWmJ1blJ4NytaWU1MbjB6RmFRZVdYaFNPRmlZdk04bGtMbUdt?=
 =?utf-8?B?Q3hpL3pKdUE3cXhueWtoU0JEcWVEK0g4aTFnei9sRE9udlU4WmpXSXQ1THRj?=
 =?utf-8?B?dW1jQ0F1eXR0QktDTmtiVnBqN2lLc1I0Y0R2NGV4V0xha3hlZ1BLNlJHcStK?=
 =?utf-8?B?dndGOEY4TWs4L040MjB6dTNUQ2hvU0M5ZlBtdXdWWDlvUTJzZWRqZk5RcFBJ?=
 =?utf-8?B?MC9Pak1VT2dsdS9aU01kZUxSY2lOdms4U2hTY2RqK2RsMWl1cVFBWWczUXRQ?=
 =?utf-8?B?c2QwTWJzRjVVY1lEaTk5NzRQNXU1T3RSUzk4YkNuUkxLdktiU2dBR0tmWUpn?=
 =?utf-8?B?TWgwejdHRm80UythZ0NXNXRzVlA2TVU4dnpPZzJIeWwrb2dIWmRPVmxpMi93?=
 =?utf-8?B?T0tFWEVKL0JiY2JrRytGNXhtZFYrOThpQ0t3Wk5WTW50WTVseGR2a2VvN3Ux?=
 =?utf-8?B?elA0bEpETnQ3bGtHSFFyYkJMVkxNeE4xM1RZOEphaG4xOUJ4UzJNc1MyK1F4?=
 =?utf-8?B?ZVFKa0QxUkdmQUlLcmZyR2ZwWit1Yk1TUnlKczJhcE84MGVEcWM1QVZHdlNx?=
 =?utf-8?B?djM4dE82VkNQOFNmOWtvZytZK2xwb05yNmlUVjJ0bW9UVVJYa1Nmb3NiblpT?=
 =?utf-8?B?bDNHeVJNU3MvWEI1SWJWZitWdkl4MjlzK0dvOWM2a2o3b0h4OE9OM3dycUI4?=
 =?utf-8?B?cGV6aEhlcitQcXBncmxZTm0xUEt2Vm4zOXd5Skx1MWE5NmMvdmpMeFhtQmxv?=
 =?utf-8?Q?XVPSXfeNP0czsiiEc6dgMAnYF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c693707-985d-43cb-d019-08db24737cbe
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 10:04:23.7963
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mV9bz0of1WyMf1gvI0KNo4ipL6BOlbDyejhpn08RiTXgb+q8JAYGCZP6/HbZGr/ta12GwUJonrDjM9cEsubFtg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7819

On 14.03.2023 10:22, Roger Pau Monné wrote:
> On Mon, Mar 13, 2023 at 05:55:09PM +0100, Jan Beulich wrote:
>> On 13.03.2023 13:16, Roger Pau Monne wrote:
>>> --- a/docs/misc/xen-command-line.pandoc
>>> +++ b/docs/misc/xen-command-line.pandoc
>>> @@ -1232,9 +1232,8 @@ The usage of gnttab v2 is not security supported on ARM platforms.
>>>  
>>>  > Can be modified at runtime
>>>  
>>> -Specify the maximum number of frames which any domain may use as part
>>> -of its grant table. This value is an upper boundary of the per-domain
>>> -value settable via Xen tools.
>>> +Specify the default maximum number of frames which any domain may use as part
>>> +of its grant table unless a different value is specified at domain creation.
>>>  
>>>  Dom0 is using this value for sizing its grant table.
>>
>> dom0less DomU-s do as well, at the very least, also ...
>>
>>> @@ -1245,9 +1244,10 @@ Dom0 is using this value for sizing its grant table.
>>>  
>>>  > Can be modified at runtime
>>>  
>>> -Specify the maximum number of frames to use as part of a domains
>>> -maptrack array. This value is an upper boundary of the per-domain
>>> -value settable via Xen tools.
>>> +Specify the default maximum number of frames to use as part of a domains
>>> +maptrack array unless a different value is specified at domain creation.
>>> +
>>> +Dom0 is using this value for sizing its maptrack array.
>>
>> ... here. And even ordinary DomU-s appear to default to that in the
>> absence of a specific value in the guest config. IOW at the very least
>> the info you add should not be misleading. Better would be if the pre-
>> existing info was adjusted at the same time.
> 
> Aren't domUs already clearly covered by the sentence:
> 
> "Specify the default maximum number of frames to use as part of a domains..."

Hmm, yes, my attention was caught too much by the Dom0 statement. While ...

> IMO dom0 needs to be explicitly mentioned because in that case the
> value provided is not the one used by default, but rather the one that
> gets used.

... explicitly mentioning Dom0 is fine, I still think this needs wording
differently here, because Dom0 doesn't actively do anything with this
value (and, as said, it can't even obtain it other than by probing how
many mappings it can create).

>> I also wonder about the specific wording down here: While the max grant
>> table size can indeed be queried, this isn't the case for the maptrack
>> array. A domain also doesn't need to know its size, so maybe "This value
>> is used to size all domains' maptrack arrays, unless overridden by their
>> guest config"?
> 
> I think the wording I've added already conveys this meaning:
> 
> "Specify the default maximum number of frames to use as part of a domains
> maptrack array unless a different value is specified at domain creation."

Well, I mean specifically the Dom0 related statement.

Also to me "default maximum" reads odd (and slightly ambiguous). Would
"default upper bound on the number of ..." perhaps be a little better?

>>> --- a/xen/common/grant_table.c
>>> +++ b/xen/common/grant_table.c
>>> @@ -1956,18 +1956,15 @@ int grant_table_init(struct domain *d, int max_grant_frames,
>>>          return -EINVAL;
>>>      }
>>>  
>>> -    /* Default to maximum value if no value was specified */
>>> +    /* Apply defaults if no value was specified */
>>>      if ( max_grant_frames < 0 )
>>>          max_grant_frames = opt_max_grant_frames;
>>>      if ( max_maptrack_frames < 0 )
>>>          max_maptrack_frames = opt_max_maptrack_frames;
>>>  
>>> -    if ( max_grant_frames < INITIAL_NR_GRANT_FRAMES ||
>>> -         max_grant_frames > opt_max_grant_frames ||
>>> -         max_maptrack_frames > opt_max_maptrack_frames )
>>> +    if ( max_grant_frames < INITIAL_NR_GRANT_FRAMES )
>>>      {
>>> -        dprintk(XENLOG_INFO, "Bad grant table sizes: grant %u, maptrack %u\n",
>>> -                max_grant_frames, max_maptrack_frames);
>>> +        dprintk(XENLOG_INFO, "Bad grant table size %u\n", max_grant_frames);
>>>          return -EINVAL;
>>>      }
>>
>> I think I agree with the relaxation done here, but I also think this not
>> introducing security concerns wants spelling out in the description: My
>> understanding is that even in disaggregated environments we assume only
>> fully privileged entities can create domains.
> 
> Yes, that's my understanding, as domain creation can only be done by
> privileged domains.  Of course when using a custom XSM policy
> the permissions can be changed, but it's then the job of the user to
> asses the security implications in that case, and there are existing
> paths to cause resource exhausting when having access to the domain
> create hypercall. I can add:
> 
> "The relaxation in the logic for the maximum size of the grant and
> maptrack table sizes doesn't change the fact that domain creation
> hypercall can cause resource exhausting, so disaggregated setups
> should take it into account."

SGTM, and ...

> But domain creation for example also allows creating a domain that has
> MSR relaxed, at which point it could also be vulnerable to other
> issues.

... I think while what you say is true, it still is relevant to point
out for every change which may cause yet another way of running out of
resources.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 10:14:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 10:14:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509522.785403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc1fG-0002F3-6E; Tue, 14 Mar 2023 10:13:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509522.785403; Tue, 14 Mar 2023 10: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 1pc1fG-0002Ew-2c; Tue, 14 Mar 2023 10:13:54 +0000
Received: by outflank-mailman (input) for mailman id 509522;
 Tue, 14 Mar 2023 10:13: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=dXSW=7G=citrix.com=prvs=430734c92=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pc1fE-0002Eq-7n
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 10:13:52 +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 e96ac14c-c250-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 11:13:50 +0100 (CET)
Received: from mail-dm6nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 06:13:46 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SN4PR03MB6766.namprd03.prod.outlook.com (2603:10b6:806:212::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Tue, 14 Mar
 2023 10:13:44 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Tue, 14 Mar 2023
 10:13: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: e96ac14c-c250-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678788830;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=z8WyPBBctI4bdaBwIcJP6Wa2GGiqZSHu8111TZ84Fls=;
  b=Sro7xTTPiStn0hgZ3hdMewJeoYqXlI3MCcIVYAQbYaXauuKp9dmfiF1s
   paUCdR0HCT3QfBos+yV6T0kqV4HpYgxgU6zk4JmkBv7FmwywIoZccl/rO
   K84PTyBchBnlXi8BqhmJtHJsoFdobJT8Bl5MeB6v/8moWi2DZ4prosHiE
   k=;
X-IronPort-RemoteIP: 104.47.58.101
X-IronPort-MID: 100122420
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:63QfRKN+DiUdhrDvrR23lsFynXyQoLVcMsEvi/4bfWQNrUoj1GQBm
 zMaWGuAafrYMTHyfNlxOom08U1VuMLcyYdrHQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5wBmPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0rtJMXFVx
 9sjEwEyYECstseZ/KywScA506zPLOGzVG8ekldJ6GiBSNoDH9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PpxujCKpOBy+OGF3N79YNuFSN8Thk+Fj
 mnH4374ElcRM9n3JT+tqyr037WVwXmjMG4UPJij27ltnQfI/UkWJl4JcXK3ouKjrnfrDrqzL
 GRRoELCt5Ma5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWbkAGRDNcbN0ttOctWCcnk
 FSOmrvU6SdHtbSUTTeR8+mSpDbrYSwNdzZaPGkDUBcP5MTlrMcrlBXTQ91/EamzyNroBTX3x
 DPMpy8771kOsfM2O2yA1Qivq1qRSlLhF2bZOi2/srqZ0z5E
IronPort-HdrOrdr: A9a23:gsgl7q5tqDgvrpe7ZwPXwfSCI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc6QxhEE3I/OrtV5VoLkmsl6KdjbNhdItKPzOWwFdAUrsSibcKqgeIc0Oeh41gPM
 FbAt1D4bXLfC5HZOnBkW6F+r0bsby6Gc6T9JXj5kYoZxprZshbnnNE40ugYwxLbTgDIaB8OI
 uX58JBqTblUXMLbv6jDn1Ae+TYvdXEmL/vfBZDXnccmUqzpALtzIS/PwmT3x8YXT8K6bA+8V
 Ldmwi8wqm4qfm0xjLVymeWxZVLn9nKzMdFGaW3+4goAwSprjztSJVqWrWEsjxwiOaz6GwymN
 2JmBskN9Qb0QKcQongyyGM5yDQlBIVr1Pyw16RhnXu5ebjQighNsZHjYVFNjPE9ksJprhHof
 t29lPck6ASIQLLnSz76dSNfQptjFCIrX0rlvNWp2BDULEZdKRaoeUkjRto+a87bXnHAb0cYa
 5T5YDnlbJrmGqhHjXkV7xUsZqRtzoIb027q3M5y4GoOght7TpEJnQjtYcidw87heMAorl/lq
 v52/dT5f9zp4ktHOBA7NNte7rFNoT7LCi8QF66EBDbE6ELUki93KLf8fE84e2wZZwEpaFC46
 jpQRdRsGIoZljjEtKDx4Ba6xylehTFYR39jsla64Nlp73gQbaDC1z4dHk+18Okr+4DHMHRQf
 C6IfttcoHeBHqrEYNExBDhV5JPMnx2arxohv8rH0iOqtnKLYOvvOrdf/bcYKb3FF8fKx7CK2
 pGRjn6P8VG4ASxVnv/nRSUR3PhE3aPgq5YAezB/uAJyI8CcpNXqAMck1ik/cTjE0wljpAL
X-IronPort-AV: E=Sophos;i="5.98,259,1673931600"; 
   d="scan'208";a="100122420"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SIwQX7ur8uwauvWXQ6DqywbrXMJod8KEOeeaxlWz4InRFGSh+uZlSX0MFlVa1J9nFa+MmhKLeKWvQ4xonOR4+FxW2PFDE0tOc782dT0P1Ratt9pQ2kaerYpqfk5+5nQ3wHf8ELi05itgl9PoxzgfOIKE6fExEZLcZ07C8iIxwF2FDvXkcIhzw9ckbODJk6sddJ1Hn+XReF5KbQLed9x7r32xBXfAhyg7JEc/6M6voCS3oV6QgULofcLnraz3MAbGIYuMkyvQhTfBLk0gsX8r3jkhvm+3tkkSSRD++lY8q+us8DhoXAx0sPeqh1hS18ZjR0tfzo+hvhgbNQsiAVOLeQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DlbQb2nbl8GJ3brMpKES1M8hi+FxR0QVkO6xDYCDg4I=;
 b=Q4SjvpHf96w43fp4kP9aCq9LhofvQgWVgI9/O5zSWvXWIJTvKXNt6qSr9Lh3K6xIekKZfcYXbDZTHml7FYALj4UkqSu3BOecW5aZl7MCtZhh7BO7fL1aOBI+4YEzwei+aS/k9BplKVTIk7Z2pxqgVLFTKjYbLoYYBzfxE8sGd6jq7pJjCdrDN7AyYOKrtUKrpQUe9kLTkecxGO74Rwiu6cG2Ih0Ze/hPFftdEaz0xZSD6vuGVSYgXK9Pd853zoan4iGmsSAkNAnPPQ3JeH5Gzfyema8XIe3LoVptNM+lKoNmfRcTWHPOxBbyPvygM2wyYm2GM+rqbYx3NZzPgEwbPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DlbQb2nbl8GJ3brMpKES1M8hi+FxR0QVkO6xDYCDg4I=;
 b=SD4+PTWsyNWFZ2XTVc6yQMwXs/YFXhTZPeMHOHMgAvZNKWrQQgiFv4XozMWCc49WdXZa4OpNFKZrwFPVrX19PPfdZd6mALA6Sjmu+XiJc0yPsr+Gqria0MZUudXjgbMxO9pPtc6mKAlAST60nZx6wk7wW/fSakdUddczYd0ST5U=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH] vpci/msix: handle accesses adjacent to the MSI-X table
Date: Tue, 14 Mar 2023 11:13:31 +0100
Message-Id: <20230314101331.4194-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.39.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LNXP123CA0013.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:d2::25) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SN4PR03MB6766:EE_
X-MS-Office365-Filtering-Correlation-Id: 30254bcb-c3c3-4415-5ef0-08db2474cab7
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CJ89XVzvpdEwVGy4Nir69ZAZlCHxT01xN+DAJyyQ0CerEcAsB256tvV6iDZdbfKbqxKk3kcmfh02iHjsVYD1jhRa0qVZppyUimFT4j8kQtbGZxp4ZMcOIe1/ZnoQin44YLX0LDnxsp9GKNINw8UbNJBWhMjhXrmQqBaPk2VEvKWz0fA0kb2BgE5nx3wCgcIBBvbCFVU/6AnnZxh4X88dF85lWd3j+bbMUh2Cn9xUVxYmKu1MySIAZxp6jFsF6zNi3WMjy2oHb/nqw8HO4M2k9ywGf+56VCC1GX3Dbb+uuhd3/gJ1PqmtkzWK3MwQlr6bvH5rc78yZDSGz5ThLjqDct2pw7YlTEhgjQ99QgixzwaanQ2jqY3me7PVhrxKFTyVUwzBuq4eUbksMR9aDkQH7lMypgngVEfGCn9c+FhqEYKBcFa84u9hYkB0uv3+VHdCEBsNz2uNtb/soUOdMjl0yXwFbUfOmcEVDA7KMMx2VI8i2c3qkUhgvOOyr+9p5598XhB+FJRGs0L++BQVYJCxzTpgg3sLvCHoC1vmLQhcZQCpT3XhyMP3rUb5bFWqR9gjsW9gsRhH8nOSrcO07HL11+d2laqno2K2WtOHNHnhl8nCtthSRdac1Oz07z89DZm+HXp3C8qvOnesxL78D1xktxRxaglZa5mS3MdIKYQ1YGrFjKXGlPOdxNEPlKUQgJlQFJ7kIP6KHU//ADzGhYsI1g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(366004)(376002)(396003)(136003)(346002)(451199018)(4326008)(8936002)(5660300002)(6916009)(2616005)(41300700001)(186003)(6512007)(6506007)(1076003)(26005)(36756003)(86362001)(2906002)(83380400001)(66946007)(107886003)(66556008)(8676002)(66476007)(30864003)(6486002)(316002)(478600001)(6666004)(38100700002)(82960400001)(309714004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bFF5VnNzTFVmY2dES1J3Z3FJRWRQZmVEaXU0YXA4OEZneU9QL3cxbnVIYnd0?=
 =?utf-8?B?bGJKdmQxN0FmQTR4YVlSaWxmcVdFdjlLdTVYRVd6cmRYWkhYOHVBbEFDOGZY?=
 =?utf-8?B?YUVIbTZTWXRYam8rOTFBd3dteCtYVlJGUDlYR3hpYS84ZXFuNDJZZVA5R1Ba?=
 =?utf-8?B?VnJsTFZUTWI5cFNlMWo0T3Y3WWNuUDNyZ2cwTFo3c3E2YTB6UVkrUUNFL2N4?=
 =?utf-8?B?MHRXVmdlTjJvbG1DM21NWkwwY2RPMTE2TFgyUmFlbmp4UzJPRnQzQ1FBNkRn?=
 =?utf-8?B?bG9KSEF6QSs4N2N5aDdiWkNWRHorWkduQmpXZmVJNTBaMmI0NksyTi9uNUpL?=
 =?utf-8?B?bmxsQjFEZU9ZVjlJdHVJM0FxQ3RoWEljRDJQYjBkTWJHQ1NuZEhXN09kSEl6?=
 =?utf-8?B?aVZjZ3NiQ0IvSktpRGlwZ1QybzR1U080c1M5SG5nbHFWRzE0d0RyQ2VsSy9r?=
 =?utf-8?B?eTlSTUhxL1M5bkwva1QwSnVuYUg3MVNTQldPanI4LzcrUS9UNEc4UThzWm9X?=
 =?utf-8?B?N2Nwb1h2Ty9TVEJaNmUrWS9lTkNteWN4STRsRUUyMm92bXFvRnFDY2lYQ2hz?=
 =?utf-8?B?STVsbEprdGw3OXVHczg2L2hQWEtyOW4rcGRnbnlTeDVvZUgwTFhyUDFhWVN2?=
 =?utf-8?B?c0V5TjJpeCtpWnp5Rktnc0hlUndBUEVwc0JyS1NwUWpPUFJWM0V6MzVROTNP?=
 =?utf-8?B?M0RQYWZrY1U5bkVtazZlSFBkV0oweWlmZ21DczJ0S2duVHJDdm1TTXpDMVZ3?=
 =?utf-8?B?SzZtd09HWWtMVDBmeGI5Y1lJazdUaWMrYStVTnBiTytkeG13V3ZaM1U0QXR3?=
 =?utf-8?B?ZTk4NVVweG8xaUVXY0tBU245ZllpdUZqV2FpbkwyREpyNmVtdW4yeXpUK0N5?=
 =?utf-8?B?c0pmaFBBTjhtTnJHblJaOVE1eU1MTG95OVlnVXhLa1JMYXU1VzloRlY5akNa?=
 =?utf-8?B?OEk4VVZXQk5pVlBoUnhqQ3dERTBrK3FOUzNUWlpCRHJwREJ1T05Va016ZVZJ?=
 =?utf-8?B?c1AzeXVnbEoyUDZreXlHd2VSbGFUc09Xcjd0RlJUMk5JR0JmWjdEbTdlUExr?=
 =?utf-8?B?dTR1QVZmZno0aUkvbndmQjJkb0VYZXgxRUtqbndBRTExNm9DcDVyQS9kVUt1?=
 =?utf-8?B?Q2VPYVZndGRDczBHZTBRL2lndTRoNVFSNnU5YXJseUZMUHJRcFdHL3paL3Ur?=
 =?utf-8?B?RFF2YnRsYjJCUTV2VTFYajVmRVRHTW92VzV6OXZPVjZLTVlZRnk1bC80TCtR?=
 =?utf-8?B?c1UycXlpckxkSWo4ZkUyem1rZ1RoYkpwWk43RlBDL1J1bzJDZTBwZlcrSVhw?=
 =?utf-8?B?UW9kOTRMTUlScWptVFFwaU0zdTZkNXQzeExVdzhPUE40ZnA3SHI5RGNaZHk4?=
 =?utf-8?B?cHpjWXg5UkxzU09XV3BQU0xsWmRjUkdmUzRFMXMzOWZJUmM0RTFudHhORS8y?=
 =?utf-8?B?S2VYNno2dlY1bXdpOVIwNkNQS3hFK0EwZFRGN2VZbFJYMkJhQTZwaUNxL2E5?=
 =?utf-8?B?WFFsaVUzOG1laWNaTW84N21IalVEU25qRE56cHJqRnRwb0NJRnFid2VTMlc4?=
 =?utf-8?B?OWZRSnNSMmxwSGpjQ3RJTXZHZngrUm1aVGptZ1d4cVNlOGtsMmpZd0pLUHBX?=
 =?utf-8?B?dGpCRjA4Sk4xN1h3bXF0QW1MTm9teTU2RlVsODBGWUFDOVpCZmMxRXBSdHc5?=
 =?utf-8?B?N3VKT2t1eTF2QkVzWUs2NXVVdXNwZGZSdVVOZ1FvWEIrZW1PUHhsN1kxNGtL?=
 =?utf-8?B?ZnhlOWkxS1FqVjVDUkNZcU9ibzV3YVU4dTBZelFDa3ZzenJ4bjZTbVp4MXBH?=
 =?utf-8?B?NS9FZVlNMzNBOU8rendCNklNY1VOUkxSRkhxWTJ6bUZ3elRHY3o0Q2gxQlpk?=
 =?utf-8?B?QlZiaU1kdHVrQlE2aEgyLzAwcVl6SVpqYkJDVjdsZnFPUnpQSmNPbHdWbTVr?=
 =?utf-8?B?elQvSm0xaXFPQmJwN05OMllhTHNIY25INHBxSDQrS1hEeTlPb0syMHNvaCtZ?=
 =?utf-8?B?S1pIU2JVYXhockN0dUpMRW1QNFVpZmR4VnhHZ3NGZHlCdCsvU3Q1cGhubm1x?=
 =?utf-8?B?c2pCZkpxbDdyWFJyVHA5b1BRS1Y1SUhvcVNCeEZ6N3orWXhLbi95T2RuWjk1?=
 =?utf-8?B?SFFEbmwwaUt1d0J3QU40NnBDb0hsVHI1aE1selNhV1g0WVV1M1NiUStqM0h1?=
 =?utf-8?B?Wmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	mEPFXGyX/u5dDcFQ7rzfM35NWIfrBdleAFutWqzW+QsFX0DUqEFZ0uGhJNY5Hw4OpT7HSP+SphGPoJGjCfTAbfyAnyWjUysPj/fr8RWxq/eIAXrrLZwwWJ+qDk7ffAJK5PuHQOnab51iyWMA6inDrTwxWlNLhB1KSifLsHVlf6mS3eeWA+f+PgAXDqAFU9+OMoFmdkWWR8nj2pn1b9fKmn1MqeKKxHMJoLIjx4YG61Q+/1RpJfEWR+yRzA5k6eG7GzBMmxLo2RsMEgu4gXSO6OEFMbVJk4BcAkHSbSc60VpW6aVMV1LEYpDqVnP6hVKbpquT8sH2btKX+nz0VUG+wOuJ27TPaEL88kLpt4gqXZswmVqSf4OXkYSqpguwA9T+C3LTM3PVgP3rjQpQGVxScvvQ7aCvR8UZ1p2y1UWnciTwD7Bc16jVt3q218ARRO3T0Rw6W11r/9i0BiDJVniWdqwneUUUBlotSnEblTGbGSC1WhzvSbO1OruzMrWYvMtp6jCPmhR16CxFoJ1F70DMFcX85uLA1M9vvzW/krxukmM6BjAIuOYjhfi2AVrVFSsIiDL9AlCqJCk7JSe+P9AesLn/8J4PwQjEfsaKSc71N09FoKfl4Bdh7iCD/hoM99Cn7an5KFHBq+91x8sqtv4P8wDJuagdsyBhQjjLjKgPThh/GXVGCxXfGjVMCko1I5GJpIUy1j/AWltDbd88Y7t27i07KPZOtBGKqt/vs1CNqdgQxurvVDmL6/JkNXS9BDq7KTH5HNbwTtcdAGIrkKywg7YWKddpUkt+jd3scyNDZwPV14UWRhH03KcciTIwLeC0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 30254bcb-c3c3-4415-5ef0-08db2474cab7
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 10:13:44.1221
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TXgDljPuV37sO0MW6SWglI72TURd2J+GJK0MfGK1TLH6fGbltKlmcYrTNX0ZxKrp7EYmo9yd+5vpYInU0tJPzQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR03MB6766

The handling of the MSI-X table accesses by Xen requires that any
pages part of the MSI-X table are not mapped into the domain physmap.
As a result, any device registers in the same pages as the start or
the end of the MSIX table is not currently accessible, as the accesses
are just dropped.

Note the spec forbids such placing of registers, as the MSIX and PBA
tables must be 4K isolated from any other registers:

"If a Base Address register that maps address space for the MSI-X
Table or MSI-X PBA also maps other usable address space that is not
associated with MSI-X structures, locations (e.g., for CSRs) used in
the other address space must not share any naturally aligned 4-KB
address range with one where either MSI-X structure resides."

Yet the 'Intel Wi-Fi 6 AX201' device on one of my boxes has registers
in the same page as the MSIX table, and thus won't work on a PVH dom0
without this fix.

In order to cope with the behavior passthrough any accesses that fall
on the same page as the MSIX table (but don't fall between) it to the
underlying hardware.  Such forwarding also takes care of the PBA
accesses in case the PBA is sharing a page with the MSIX table, so it
allows to remove the code doing this handling in msix_{read,write}.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/drivers/vpci/msix.c | 259 +++++++++++++++++++++++++---------------
 xen/drivers/vpci/vpci.c |   7 +-
 xen/include/xen/vpci.h  |   6 +-
 3 files changed, 175 insertions(+), 97 deletions(-)

diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index bea0cc7aed..1b59c7fc14 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -27,6 +27,13 @@
     ((addr) >= vmsix_table_addr(vpci, nr) &&                              \
      (addr) < vmsix_table_addr(vpci, nr) + vmsix_table_size(vpci, nr))
 
+#define VMSIX_ADDR_ADJACENT(addr, vpci, nr)                               \
+    ((PFN_DOWN(addr) == PFN_DOWN(vmsix_table_addr(vpci, nr)) &&           \
+      (addr) < vmsix_table_addr(vpci, nr)) ||                             \
+     (PFN_DOWN(addr) == PFN_DOWN(vmsix_table_addr(vpci, nr) +             \
+                                 vmsix_table_size(vpci, nr) - 1) &&       \
+      (addr) >= vmsix_table_addr(vpci, nr) + vmsix_table_size(vpci, nr)))
+
 static uint32_t cf_check control_read(
     const struct pci_dev *pdev, unsigned int reg, void *data)
 {
@@ -145,11 +152,9 @@ static struct vpci_msix *msix_find(const struct domain *d, unsigned long addr)
     list_for_each_entry ( msix, &d->arch.hvm.msix_tables, next )
     {
         const struct vpci_bar *bars = msix->pdev->vpci->header.bars;
-        unsigned int i;
 
-        for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
-            if ( bars[msix->tables[i] & PCI_MSIX_BIRMASK].enabled &&
-                 VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, i) )
+        if ( bars[msix->tables[VPCI_MSIX_TABLE] & PCI_MSIX_BIRMASK].enabled &&
+             VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_TABLE) )
                 return msix;
     }
 
@@ -182,36 +187,38 @@ static struct vpci_msix_entry *get_entry(struct vpci_msix *msix,
     return &msix->entries[(addr - start) / PCI_MSIX_ENTRY_SIZE];
 }
 
-static void __iomem *get_pba(struct vpci *vpci)
+static void __iomem *get_table(struct vpci *vpci, unsigned int slot)
 {
     struct vpci_msix *msix = vpci->msix;
     /*
-     * PBA will only be unmapped when the device is deassigned, so access it
+     * MSIX will only be unmapped when the device is deassigned, so access it
      * without holding the vpci lock.
      */
-    void __iomem *pba = read_atomic(&msix->pba);
+    void __iomem *table = read_atomic(&msix->table[slot]);
 
-    if ( likely(pba) )
-        return pba;
+    if ( likely(table) )
+        return table;
 
-    pba = ioremap(vmsix_table_addr(vpci, VPCI_MSIX_PBA),
-                  vmsix_table_size(vpci, VPCI_MSIX_PBA));
-    if ( !pba )
-        return read_atomic(&msix->pba);
+    table = ioremap(round_pgdown(vmsix_table_addr(vpci, VPCI_MSIX_TABLE) +
+                                 (slot == VPCI_MSIX_TBL_HEAD ?
+                                  0 : vmsix_table_size(vpci, VPCI_MSIX_TABLE))),
+                    PAGE_SIZE);
+    if ( !table )
+        return read_atomic(&msix->table[slot]);
 
     spin_lock(&vpci->lock);
-    if ( !msix->pba )
+    if ( !msix->table[slot] )
     {
-        write_atomic(&msix->pba, pba);
+        write_atomic(&msix->table[slot], table);
         spin_unlock(&vpci->lock);
     }
     else
     {
         spin_unlock(&vpci->lock);
-        iounmap(pba);
+        iounmap(table);
     }
 
-    return read_atomic(&msix->pba);
+    return read_atomic(&msix->table[slot]);
 }
 
 static int cf_check msix_read(
@@ -230,45 +237,6 @@ static int cf_check msix_read(
     if ( !access_allowed(msix->pdev, addr, len) )
         return X86EMUL_OKAY;
 
-    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) )
-    {
-        struct vpci *vpci = msix->pdev->vpci;
-        unsigned int idx = addr - vmsix_table_addr(vpci, VPCI_MSIX_PBA);
-        const void __iomem *pba = get_pba(vpci);
-
-        /*
-         * Access to PBA.
-         *
-         * TODO: note that this relies on having the PBA identity mapped to the
-         * guest address space. If this changes the address will need to be
-         * translated.
-         */
-        if ( !pba )
-        {
-            gprintk(XENLOG_WARNING,
-                    "%pp: unable to map MSI-X PBA, report all pending\n",
-                    &msix->pdev->sbdf);
-            return X86EMUL_OKAY;
-        }
-
-        switch ( len )
-        {
-        case 4:
-            *data = readl(pba + idx);
-            break;
-
-        case 8:
-            *data = readq(pba + idx);
-            break;
-
-        default:
-            ASSERT_UNREACHABLE();
-            break;
-        }
-
-        return X86EMUL_OKAY;
-    }
-
     spin_lock(&msix->pdev->vpci->lock);
     entry = get_entry(msix, addr);
     offset = addr & (PCI_MSIX_ENTRY_SIZE - 1);
@@ -317,43 +285,6 @@ static int cf_check msix_write(
     if ( !access_allowed(msix->pdev, addr, len) )
         return X86EMUL_OKAY;
 
-    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) )
-    {
-        struct vpci *vpci = msix->pdev->vpci;
-        unsigned int idx = addr - vmsix_table_addr(vpci, VPCI_MSIX_PBA);
-        const void __iomem *pba = get_pba(vpci);
-
-        if ( !is_hardware_domain(d) )
-            /* Ignore writes to PBA for DomUs, it's behavior is undefined. */
-            return X86EMUL_OKAY;
-
-        if ( !pba )
-        {
-            /* Unable to map the PBA, ignore write. */
-            gprintk(XENLOG_WARNING,
-                    "%pp: unable to map MSI-X PBA, write ignored\n",
-                    &msix->pdev->sbdf);
-            return X86EMUL_OKAY;
-        }
-
-        switch ( len )
-        {
-        case 4:
-            writel(data, pba + idx);
-            break;
-
-        case 8:
-            writeq(data, pba + idx);
-            break;
-
-        default:
-            ASSERT_UNREACHABLE();
-            break;
-        }
-
-        return X86EMUL_OKAY;
-    }
-
     spin_lock(&msix->pdev->vpci->lock);
     entry = get_entry(msix, addr);
     offset = addr & (PCI_MSIX_ENTRY_SIZE - 1);
@@ -438,6 +369,145 @@ static const struct hvm_mmio_ops vpci_msix_table_ops = {
     .write = msix_write,
 };
 
+const static struct vpci_msix *adjacent_find(const struct domain *d,
+                                             unsigned long addr)
+{
+    const struct vpci_msix *msix;
+
+    list_for_each_entry ( msix, &d->arch.hvm.msix_tables, next )
+        /*
+         * So far vPCI only traps accesses to the MSIX table, but not the PBA
+         * explicitly, and hence we only need to check for the hole created by
+         * the MSIX table.
+         *
+         * If the PBA table is also trapped, the check here should be expanded
+         * to take it into account.
+         */
+        if ( VMSIX_ADDR_ADJACENT(addr, msix->pdev->vpci, VPCI_MSIX_TABLE) )
+            return msix;
+
+    return NULL;
+}
+
+static int cf_check adjacent_accept(struct vcpu *v, unsigned long addr)
+{
+    return !!adjacent_find(v->domain, addr);
+}
+
+static int cf_check adjacent_read(
+    struct vcpu *v, unsigned long addr, unsigned int len, unsigned long *data)
+{
+    const struct domain *d = v->domain;
+    const struct vpci_msix *msix = adjacent_find(d, addr);
+    const void __iomem *mem;
+    paddr_t msix_tbl;
+    struct vpci *vpci;
+
+    *data = ~0ul;
+
+    if ( !msix )
+        return X86EMUL_RETRY;
+
+    vpci = msix->pdev->vpci;
+    msix_tbl = vmsix_table_addr(vpci, VPCI_MSIX_TABLE);
+
+    if ( addr + len > round_pgup(msix_tbl +
+                                 vmsix_table_size(vpci, VPCI_MSIX_TABLE)) )
+        return X86EMUL_OKAY;
+
+    mem = get_table(vpci,
+                    PFN_DOWN(addr) == PFN_DOWN(msix_tbl) ? VPCI_MSIX_TBL_HEAD
+                                                         : VPCI_MSIX_TBL_TAIL);
+    if ( !mem )
+        return X86EMUL_OKAY;
+
+    switch ( len )
+    {
+    case 1:
+        *data = readb(mem + PAGE_OFFSET(addr));
+        break;
+
+    case 2:
+        *data = readw(mem + PAGE_OFFSET(addr));
+        break;
+
+    case 4:
+        *data = readl(mem + PAGE_OFFSET(addr));
+        break;
+
+    case 8:
+        *data = readq(mem + PAGE_OFFSET(addr));
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+    }
+
+    return X86EMUL_OKAY;
+}
+
+static int cf_check adjacent_write(
+    struct vcpu *v, unsigned long addr, unsigned int len, unsigned long data)
+{
+    const struct domain *d = v->domain;
+    const struct vpci_msix *msix = adjacent_find(d, addr);
+    void __iomem *mem;
+    paddr_t msix_tbl;
+    struct vpci *vpci;
+
+    if ( !msix )
+        return X86EMUL_RETRY;
+
+    vpci = msix->pdev->vpci;
+    msix_tbl = vmsix_table_addr(vpci, VPCI_MSIX_TABLE);
+
+    if ( addr + len > round_pgup(msix_tbl +
+                                 vmsix_table_size(vpci, VPCI_MSIX_TABLE)) )
+        return X86EMUL_OKAY;
+
+    if ( (VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) ||
+          VMSIX_ADDR_IN_RANGE(addr + len - 1, vpci, VPCI_MSIX_PBA)) &&
+         !is_hardware_domain(d) )
+        /* Ignore writes to PBA for DomUs, it's undefined behavior. */
+        return X86EMUL_OKAY;
+
+    mem = get_table(vpci,
+                    PFN_DOWN(addr) == PFN_DOWN(msix_tbl) ? VPCI_MSIX_TBL_HEAD
+                                                         : VPCI_MSIX_TBL_TAIL);
+    if ( !mem )
+        return X86EMUL_OKAY;
+
+    switch ( len )
+    {
+    case 1:
+        writeb(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    case 2:
+        writew(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    case 4:
+        writel(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    case 8:
+        writeq(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+    }
+
+    return X86EMUL_OKAY;
+}
+
+static const struct hvm_mmio_ops vpci_msix_adj_ops = {
+    .check = adjacent_accept,
+    .read = adjacent_read,
+    .write = adjacent_write,
+};
+
 int vpci_make_msix_hole(const struct pci_dev *pdev)
 {
     struct domain *d = pdev->domain;
@@ -530,7 +600,10 @@ static int cf_check init_msix(struct pci_dev *pdev)
     }
 
     if ( list_empty(&d->arch.hvm.msix_tables) )
+    {
         register_mmio_handler(d, &vpci_msix_table_ops);
+        register_mmio_handler(d, &vpci_msix_adj_ops);
+    }
 
     pdev->vpci->msix = msix;
     list_add(&msix->next, &d->arch.hvm.msix_tables);
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 6d48d496bb..652807a4a4 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -54,9 +54,12 @@ void vpci_remove_device(struct pci_dev *pdev)
     spin_unlock(&pdev->vpci->lock);
     if ( pdev->vpci->msix )
     {
+        unsigned int i;
+
         list_del(&pdev->vpci->msix->next);
-        if ( pdev->vpci->msix->pba )
-            iounmap(pdev->vpci->msix->pba);
+        for ( i = 0; i < ARRAY_SIZE(pdev->vpci->msix->table); i++ )
+            if ( pdev->vpci->msix->table[i] )
+                iounmap(pdev->vpci->msix->table[i]);
     }
     xfree(pdev->vpci->msix);
     xfree(pdev->vpci->msi);
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index d8acfeba8a..b1ea312778 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -133,8 +133,10 @@ struct vpci {
         bool enabled         : 1;
         /* Masked? */
         bool masked          : 1;
-        /* PBA map */
-        void __iomem *pba;
+        /* Partial table map. */
+#define VPCI_MSIX_TBL_HEAD 0
+#define VPCI_MSIX_TBL_TAIL 1
+        void __iomem *table[2];
         /* Entries. */
         struct vpci_msix_entry {
             uint64_t addr;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 10:19:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 10:19:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509525.785416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc1kK-0002xU-Ql; Tue, 14 Mar 2023 10:19:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509525.785416; Tue, 14 Mar 2023 10:19: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 1pc1kK-0002xN-Mn; Tue, 14 Mar 2023 10:19:08 +0000
Received: by outflank-mailman (input) for mailman id 509525;
 Tue, 14 Mar 2023 10:19: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc1kI-0002xF-P0
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 10:19:06 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a62fa1e0-c251-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 11:19:05 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8974.eurprd04.prod.outlook.com (2603:10a6:102:20d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 10:19:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 10: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: a62fa1e0-c251-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HWj5cI68KjhVCus9HL/9cuWPJvNu9QX9UQkkCyxBKU/ewRQcL2x/ECqAjZt1yQI2sDgMOzkZrd77Y5PF8hADUuv8nkn5Y8dN6H7an+p8zpH30Wz6/QVR+utPx1+T4vc3sexE86oIhncgkidHsg01VMB9c+762hHxbNrZ0xgOZOHFLcMvVyzm5uXxXwY7RIMqGkSv3eeXkPkHt6XBM3w2mCsgZjTB8ERoJBnBVvuEbRlWKU5gSvVzVgyTer4zA+CqqmAowpMZjCMSq6s5u1rRrZrjekTqBHFoJ+q9xvBKFVAd+p2NpddBWYw2ximZq6DQrdSnJhiAzA8pzk7MaeuGbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RHkD6PhycPuvNiAuX72UD+P+GjRnHCGWJNfKJ9noZjU=;
 b=oQN3OxU+I8tlO6iCt/sq7zBZxcCM+WpSWyGitNx6kZKFR3K6dML6FRzzYgsnpukzXXkHLhLG/FvnGW4szy1FwuILNO08wPhDRT8zynyRHcNZwGelY/ornXsut4JKO7OINl/xaRoZ8PIMES7S00v1puDx9xL0o3Hyqp08bX+q+wVhe5OEy8zCJ89jxqZccyEJeSRAdunuQwmJeg5CrKq7k6MotsD8dvf3NyGEp+QGr/l09hvpwZm8AzFj4aK8kuC4La6y3Sc5kmdfYsvPPn0+nInkRo5ic8FDOUyUv7BXLGgVnXUQHQ3rprZVhRnF/Nn/AiFA3MoPvOyaXUPbZuHt+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=RHkD6PhycPuvNiAuX72UD+P+GjRnHCGWJNfKJ9noZjU=;
 b=aP/Z4ipWplRrNdqhcLP+vYjeDKMIE+2y/HbS4qZiChWdswRPsSe5J9UR2gCWUDFYkakJvpFzHTB04KIOppMNLe3c6SMXSH0ARxxYCxnXufmYcunNdfYZ+yGH/ZIPk68HEHBkwTL9t8rlMsD8sn7SZywUcCzY1yijTtd6f35eAqZ7R/FQKa9qTbY2qDp2rtz5cMcQ43/5zE4YUOozCPimvzAf5JFq6egbMFqBJUvWCMYHUHq7kr7RoM5YXNaXOOYipEqmBygQskwdX7VBzl72WYj2yK4iZOUJSrAR51mKAm9BTsaVSlyMQ/KUVaLhSJUow6mh5VTgw9Q1tozMllyDHQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <593392ae-91ce-3499-1aa7-fcfe664025cd@suse.com>
Date: Tue, 14 Mar 2023 11:19:01 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/cpufreq: Remove <asm/bug.h>
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20230313175103.20778-1-jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230313175103.20778-1-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0088.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8974:EE_
X-MS-Office365-Filtering-Correlation-Id: cbbad7c1-79e4-4efa-bf0a-08db2475893b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3pN3EKtztFGdYWoAeEQSzKG9ZS2RtwnYkuwiPfTIiBh5oh89A0YD5aS3xvH1czBTWe+VnJKv6hwbSADC3NTtAOpKeqCpm0n35KXFkOSFl/2q4cK9LJ4ywMHQuI93OureXZm5tp/w+GlHxO1AsRhQYpSF9S9hubrH5bwPCNKcSw3rndNC5usgXuAvjpBY1Ndzdvw/gzgiKjhqXESwn/7F6pPIbQ9c5mL4c374nFKt4GdyEb3l9X58n4strK/yVL06TD3tlryVH20EQSMz4g/UI5KaZCkpYLGKea3zVqCrAO+hOyrXKMDyfulypMbeNPTlNi6EpAx2+Z22jfh2Q59jYUxtzJevb+cmk5fQMj2fGq/OCu5R90qnhsaRh7EPzsFUeeiZjiPaZJ+pzCNYeGcZV4+v7Ziq0eqoM+P9PjZ7fbki9OLV5COgI7eXYfIsS71j7ReVV9FLMUiXdvUD/nkwtLZesPam6YZYFxtkNIJu+FR/47gECpG50BOPaAZ4YiC29iLw8O5ynK+fwmYKapnTjY0BKFKv5lv60Ef0Xm1FJA9WVzCRFSyOYRFyjkwBqpd/ge2O+eFmOQmT6kL9TjEaCy4tmnNuhLAMv5POQxpAIaNip9ss1Cx++P0V6xlSQAP0yAcmbtRh+ojvEyX5DgN8UKW2tnlgraKAlnBeZUc42DGMKfX1UXQ0ZvfYY7fNIJlrTlHNoNlbLdXWqFaTAP1QiLUKU5Clms0jGXrLcOvLe4E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(376002)(39860400002)(346002)(366004)(396003)(451199018)(86362001)(31696002)(36756003)(38100700002)(41300700001)(2906002)(8936002)(5660300002)(4326008)(6512007)(186003)(26005)(6506007)(2616005)(53546011)(83380400001)(54906003)(316002)(110136005)(66946007)(66476007)(8676002)(6486002)(66556008)(478600001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RUlZaFltVTF4SERuVU9SVldqZWNyeDdvMnpXMHhWa21HYTFVV1lJS1hIazZh?=
 =?utf-8?B?dkM2NFhXeHNFeFNjV3ZUcktGYXYxQjF3VmdQWDlaV1Vrd01wMGVrRVZMNEIw?=
 =?utf-8?B?KzM2L3ZpMDNUVDFTUlMvWUhmYUJPRkhEV1F2R05Fa1VoQ3JXMzNqMC9Sdk80?=
 =?utf-8?B?VFExME51MllxWWZXZyszY0FyK0RnMnRZN3VCbzBwVlBLMWdibmtwZGV0RWs4?=
 =?utf-8?B?MW5vdzNqRGM2c2J3WWxkVE9oQ3h1anlPT1FCWGlXeTNpWnNYcUdWVHhCWldW?=
 =?utf-8?B?L1VCRlNUR2NyUVlDRmtYUXVNUlhFNW9ZdFJjMjh6RllMZXg1Rzd3Nk9oSkFz?=
 =?utf-8?B?WFBQYkxaYmVTTEhiTTY2K0ZER0tJdk1pUGV1dXJON0RwTkVqRlVHUUdEazBS?=
 =?utf-8?B?bGRkOVBRdDVET2hSNXdZSXlYOUk1aFBrRWdnSHR6ZWE0L1QzQ1NGdTNMM3pV?=
 =?utf-8?B?MlpZT0tDNzhudUVnejdEZFM1T0lzb1ZheWM2YTd3bFZsRTcvblJGQWN0Tll1?=
 =?utf-8?B?VnJ1SjZaL0JmVmx1bWtIZ1FtWkNFWk12UlpzQVBONHpLZVZyUGxJUW9OWXJM?=
 =?utf-8?B?MnVTMVZ2b0d0UWtRZFlzYlBHSndleFdWSmkwdGV5cHhsdDlLamlDWG9ZeWRD?=
 =?utf-8?B?QzhsQ0RJTmZlelpuODdzWkpzNGREbDU0TnFOQ3lJcjl1QUdhNE1HUEVzQjNw?=
 =?utf-8?B?ZDRZamszMHpOQVh5V2ZDOStMcTZSRitZck8xRnJXcjd0dzhONW1oRWZaMEVj?=
 =?utf-8?B?NlBSOE9sdUpZV29RN3ZLcXQybnVGRWtiNlZ0YTc3a1I5OEgxSjdwRWhjNFBh?=
 =?utf-8?B?a2g4dnlkeEZKamRwbnpyYndXUmJvb3NJV1VZaTRGUnA5bDF3T0RCK0dVdDFp?=
 =?utf-8?B?dXJmK2tHcmNQakkvR0JvL1crVm12bkJkbERyZFlVck1TOElLOC8xc3FpSjR4?=
 =?utf-8?B?ZlMrSVpkd044M0VvcjdPMHFIdWZ4WTNnM04yL25CMmtheHRiNjhpVU1FWmlO?=
 =?utf-8?B?UTcrQkxjQ1pFTXE3VGkvU1NzbGcwT3M1QmFDOFFWaFo2bFY0NDFyak5LTDRk?=
 =?utf-8?B?V1dwWi9mTmt4WVJnaVY4djJCRzJjZDc0VlpEQ1FacjFnVEh6NkFHTkVubzdu?=
 =?utf-8?B?SHpkT1JNU1EvRGFLbHllbkdsVkFwUGVSYVZmNzFiZkh6UlRIakdHdTRKdk1I?=
 =?utf-8?B?RW5NRENCem10eXlsTjNvVDE5akpkeVIzMlFlc2NaUldBclh5MkdHdkdZc0lh?=
 =?utf-8?B?ek1KWE1QdEJ5d0ViQy9ZK25nTUQzOXdPbU9NMkg1YVV2bVQxWFJNdG5BS3lv?=
 =?utf-8?B?UlkyWGRUTjZLZWNlZjlSLzRUVVh0YXlMaEFseUkzMVFNRWtFVmYyeXZia1RG?=
 =?utf-8?B?VFc4SGROUWVWR3V3NHdSMExEOTgxZDRTd1dMNTJQa05PZ1dmWHFBWjE3OTl5?=
 =?utf-8?B?MlZNS0xUU2RJd1JVU2h0dFBKVHVGSG1YQkZOSUd3bzBoeTdlRnA1QWxRbFF3?=
 =?utf-8?B?ai9TTGF1TUxFekV3TEFHbUorbHd4TXUzTE5vZWlHRExVL2UrSlkwaEt2TzZj?=
 =?utf-8?B?c3d2bDlmSEFaVXc1cldTaE9lbjdsUGY2eDkrWHFyeEQ2ZnNJS0h4MHVqUHU4?=
 =?utf-8?B?UnoyT3dUK1IwZEtUU2d2QzJyWXVlNmg3SjR6ckErYVNtR2JkMmRkdWJ6NWtZ?=
 =?utf-8?B?UHRxaGRadjNrOHdiOStYVDlNMzlGZlBKaDEyZEVtaE52RWUrem1mZnJwVG9y?=
 =?utf-8?B?Y1o1UG1IQzRIZisxcFh1dnBKcGh4RFhrNjVpUnVsbHdwUzVvNzY2aTFxVlI4?=
 =?utf-8?B?dHo1N3orOWl5RjBiTGtpYVk4cEVzMXhWSkRYT1lRQnhyeWtXTUV0RlZIN2dZ?=
 =?utf-8?B?Zk5HZW5xcnhXOXRwdng1cUNwK3ZKcmRjZ3hUeWtPdzZ4V3ZKSXpwUUdWYVBZ?=
 =?utf-8?B?d2VybzJkQTAvcjFTVDl5YjR5cGtZVURzMm1Ib1piVisxbm5kckJhM2N1Ujha?=
 =?utf-8?B?NDBDaGR1WmtGMXgrVzdQdWxVT3pzYW9zalRNSmFYdTVzQ0d0VlFDM3pEUVJ3?=
 =?utf-8?B?V3VGZmR6bDV2ZHJYcDFDOThNWFZiRDU1YWxPVlVlYU51SHFxYVFRTWVoRzNM?=
 =?utf-8?Q?CV1czTkDCcm3hlWCjmLhYvtz3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cbbad7c1-79e4-4efa-bf0a-08db2475893b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 10:19:03.6630
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: U7Qb57kRYvyGDShHKhedDScG978Wt1usUnFL3FgMQOXccfXQu5LQyaoAfp1NPH/Hgia14vbYMLcrvm7eK6bgVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8974

On 13.03.2023 18:51, Jason Andryuk wrote:
> The header is unneeded - there are no uses of BUG() or WARN() in these
> cpufreq files.  Remove the include.  It is still include transitively
> from xen/lib.h.
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

This, in a way, is a review comment on Oleksii's "xen: change <asm/bug.h>
to <xen/bug.h>". We can certainly put in the change as you have it (for
him to drop the touching of the two files), but I'd find it more logical
to continue to be part of his change, just with the xen/bug.h replacement
includes dropped. Thoughts, either of you?

Things would be different if it was clear that the change here was dropping
all unnecessary includes from the cpufreq files. But that doesn't look to
be the case, as I think ...

> --- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
> +++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
> @@ -35,7 +35,6 @@
>  #include <xen/sched.h>
>  #include <xen/timer.h>
>  #include <xen/xmalloc.h>
> -#include <asm/bug.h>
>  #include <asm/msr.h>
>  #include <asm/io.h>

... at least this one should be unnecessary as well, even more so ...

> --- a/xen/drivers/cpufreq/cpufreq.c
> +++ b/xen/drivers/cpufreq/cpufreq.c
> @@ -39,7 +39,6 @@
>  #include <xen/guest_access.h>
>  #include <xen/domain.h>
>  #include <xen/cpu.h>
> -#include <asm/bug.h>
>  #include <asm/io.h>

... here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 10:24:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 10:24:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509529.785426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc1pA-0004RI-GZ; Tue, 14 Mar 2023 10:24:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509529.785426; Tue, 14 Mar 2023 10: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 1pc1pA-0004RB-DZ; Tue, 14 Mar 2023 10:24:08 +0000
Received: by outflank-mailman (input) for mailman id 509529;
 Tue, 14 Mar 2023 10: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc1p9-0004R5-DF
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 10:24:07 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20608.outbound.protection.outlook.com
 [2a01:111:f400:fe12::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59377a7c-c252-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 11:24:06 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7459.eurprd04.prod.outlook.com (2603:10a6:20b:1dc::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 10:24:04 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 10:24: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: 59377a7c-c252-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UPFUjAJ60128J3z+vn1quKTnwHaQwJoWMUKzzYW/hQ54U5ihLr5IVw6GBzQ/69ySy25iEehbSi2YHWXdYTmffockVTSFc6cynyjuIlJErLUQzMMVizZkKZUI9ykvTl8o7yVnFeNNpMgGmHBXi7i/5dGH4MhD1r0HyNy67RrB3C15Jk579n6Qm/yJKDgrGq6JhXCBgrbsNaIzyDf2QDlr6+fvRlftY3DzRccp6mws0GTaAihIjhnJe17LoCkDloR6tznq0x4QI0Sm3xH3OJ04eRq5iASgn6/mNmA6LjNDbZO5PfXkRxTWPDPS9hvSv61/XnE8OkcnbsAWlWWdChDl6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kLW2zZo5GIRGKruWB5MfIxCT1Yidsz6qbWeXC5kzOG4=;
 b=GFsNsY0bQ1bScDwQHh5rbrifX6PAo83anseM5M2TPHibMQoHW8svpNxn3axQ5JBK1VxOPb248ln4zb/z4Iytk1MmtJ345pMdzHpfeg5gfPF27MF5Hg5aDoItMqgtNOdA4b4d2Q2FnMPt8F3fcqu0UTcp4Fo0J5pP3x2SIkmrR1KGdHZKyA6qkS2s1/XMjaRH93ZBEdD0M/C+PBao2whgX0N3RfcP1hNEMQsWeRgfgz3IlpciLDMJwNaOGB7dBh/V/ZAaT3Lo6tTktj7SzgwNmLLvGlkN1xqCfoe5knyitr//yvfWXumcJM2SC3t4KDcT9b8kRQIhOhEBeip/4+5i5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kLW2zZo5GIRGKruWB5MfIxCT1Yidsz6qbWeXC5kzOG4=;
 b=frJfMiI7Aw4L+VCUMptNeF9iGaWviqHwadrb9rMdQr58yOpT9PGChNyX7cvkmMrhulNhxt832Bik4WGmyvCPR/BfeX6y2tLnnaPbQjjAWdGxkNpQx5GCGwHNC6JoZ+RDHo4fnNNYw1C+OpXUSjV6Bl2Fg0kFpd9Rrg/lgTBMVwYIWb/2Xux5rduqSfTtKfLm5ekEV4qn6k/9DLM4kcz0qCylAg8OiVaxJKr+6liQXk6lZDrhNoronO0hYR5pOarODfjg/7IWV/nSNdWkUVEntploIDUIRN2ncmfeRR5VX+x6s5hLX9U/kdHhQyG4rcpMulyT9PrEMQ2+OarU29LWXQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3242c56a-7a95-4fe3-3195-bf25738da351@suse.com>
Date: Tue, 14 Mar 2023 11:24:01 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] IOMMU/VT-d: Fix iommu=no-igfx if the IOMMU scope
 contains phantom device
Content-Language: en-US
To: "Tian, Kevin" <kevin.tian@intel.com>,
 "Marczykowski, Marek" <marmarek@invisiblethingslab.com>
References: <20230314013221.124930-1-marmarek@invisiblethingslab.com>
 <BN9PR11MB5276832A2E3F31FB7695D0098CBE9@BN9PR11MB5276.namprd11.prod.outlook.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <BN9PR11MB5276832A2E3F31FB7695D0098CBE9@BN9PR11MB5276.namprd11.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0156.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7459:EE_
X-MS-Office365-Filtering-Correlation-Id: e18d46b5-d332-4f10-ee2c-08db24763c33
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TjB+Y3lGqm2iVuIsaRMWH0vXNTZNjtvomrW3UxTkhU6u0Bybsgo6yv4C7+Vgt61VoR6xnJuExvZmcxmTLz7dLPno1CqXM5AZX+a1uNXsWPLKdmHN8ytSlSWv6+DsjKpIbq0IroPD/6M917Zo50ti/6NSBRucidR/xXsVSry/JSWZw//uuLZC0dW6YZfWSYaOKxRQ6e+8nREyLLkiU0kqffneiDz4EENzy7XHbo9D51/sjeEdBg/zCwM7aXFy+xdAJ6hztVkVok0cuIa8/T5BSfxnWX8TUk4NAS/znpeRRrQVhGoUprUlpuwB1Uvm/finwjl8/E/AIy6SZTQ4kfQYvbN+tNEhwwJt3cw0HV5m91wblU7fv7/sICXxJzUr87H9pNm17dhDhqUQsCnIRaaaCoLwWkU0O16jNkgfY7oXG8e4ABKGFSNpTh+6+eP2lvAlKGy6pmP9K/hZg91lctAsKxCivQ0LJFkhSx8GRrJuZrzZ914YJA0EwYZeXmHs0Y5cOUdQImsvcjMEm5HGm4AccKMxn7XMZGNWtt9A3WZiBX/D4PC059nuWFoAYC+Jqe5KAAAcU5nwyKUYhiFNBA97alNUBQgWq6pt83Qfv1sHpy/EUs2H+FypGkHdSN4aKt7Lxq9FBlcCwjWpQ/rD4IGb4aJdIjq0cSfbegtdNpxwV6lt+RuygX0QHiAdctBjiEiGxpFKRvTpOYsAUExGxHGu1tfWIDcLOp8Q/x1FIhW8kKk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(346002)(136003)(39860400002)(396003)(366004)(451199018)(2906002)(31686004)(6486002)(6506007)(26005)(6512007)(36756003)(5660300002)(2616005)(53546011)(316002)(186003)(86362001)(8936002)(41300700001)(31696002)(66556008)(66476007)(8676002)(66946007)(38100700002)(478600001)(4326008)(110136005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aTFsWEFjOWduSW9FclZyN3hsbFlHT0IvejF3T1YrSjZ2QjRlK1VjV2R2eVFM?=
 =?utf-8?B?SE92bS9iZUVuTm5KeXNCdW8wekFhWFZVZEdveXNXY1duOWFPYkl4RXZwVTFz?=
 =?utf-8?B?dHNNREdNN1dmckJHTnVBc2VJby82UDQva3dRM2ZhQ1VtU0J3TUZpc24zdGRX?=
 =?utf-8?B?RlhibmM4S3hvQzJ4MTdya0hYZjhWdFArMDBKekkrc0o5ZTJydEFLUTEzVDRh?=
 =?utf-8?B?SGFGN28rWnRET1VMSmxMNDMvdGpIZ2lkaXZUdnZMTW53OE1odWVhWWVURFY2?=
 =?utf-8?B?TjlNVmQ5aGFoZlB2RHNYZldQdEFzTmdPdkF1NTNwdThoNlQwcHJDVE5uSXN1?=
 =?utf-8?B?Y3E0ZlRSVjFFREIyckNjUHg3YkxYU01xbkpydTAxZHhaVjdNWU5SbmlhY1Rt?=
 =?utf-8?B?Z2o3cTluOFYrdDB2YWkwbXdtdHo4YXlRaDlKdmVVdzJKejJ0ekZMdm9pVU5C?=
 =?utf-8?B?UGtrT3hJb3VnV0d3VVIzaVNzRmkzb2NocC9FbjBnbmdlTHBlZWl3UEE4Nmh5?=
 =?utf-8?B?M3JPVVEzbjNOOE9abDZCSnVETTMyL0pQQ25HbG00MnB4eHIreDA4K0E2Njgr?=
 =?utf-8?B?Wk9DUHo1N29BM2Qzc0FiNXNsNXRnMW8vU1R5KzNvTlFNbWJYZG9EWUpsQXVm?=
 =?utf-8?B?SVdDa3ZDWVJSOTNwMXgwbk9OTFNmc0I5T3padkN2cisxTEJKaDVKYVJzNCtD?=
 =?utf-8?B?KzNVZDg1bndoN1dHODR3QTBJTVBWTklPNkZFUVlrb01ZOUZKdFZaKzdQSitI?=
 =?utf-8?B?THRGazhpNi9hUGY2TUN2TzYwZ00xK3hHaTVzQnpEdXRTOTZGTGVqZ2VsN1N2?=
 =?utf-8?B?anBzekdOK2FsRlM4UnNYQjY3aHNwb1dQS2F0aW1Fb2hvNmVsc3JaN3FTaDF6?=
 =?utf-8?B?c0tsNExId1NsZlFldW1VZ3UrVmMxOURiT1BvcDBBUElDclc1L3pwbWg2Q3Ew?=
 =?utf-8?B?eWJ6SjNYNUdlSFUwWUJPNjZXZmtLQlFRYXZVVmpOS3BYYmFZejdyRFJiR0lV?=
 =?utf-8?B?UjFiR29hZEJEeGkxMnRSQllXM3ZIM0pjSlI0aVNJbHpMR0h0TzFFTnB6QjFz?=
 =?utf-8?B?Y05sTUVRcmVNeWhvZUZGL0dBSHA4aGxNMWsweWMwenhxdnA5OGNtWUZpc0ln?=
 =?utf-8?B?K28yRVY2VnVtK29nRTkrT0srUE9iVnNDcVVCaHlQU1U3VDRRT3did1NNUjh5?=
 =?utf-8?B?cXJFVjlxaVAxbTdQTmQwRUZnejNjdG1ncFNHbXl6N3VGcVBNSmI5aFpyOHNS?=
 =?utf-8?B?SVAyb3IrRHVyQWhWcG4wVnF5US9xMlRwVE1sRXY1Mk5tcWoycWpSZmc4dHJp?=
 =?utf-8?B?bFhHWVpsM1dNbFlrWGdmTUQvWThUOURldUpXUGhsczJ5WUZwV3lNR1FsLzJY?=
 =?utf-8?B?eEhTK1k0Y0JOMzJpMnc5NU5VVGlCK2hid1NNSElQSkFWRmFXUGdNaGR3Zi9V?=
 =?utf-8?B?RHVqaTFDazBNWnlhR2xSdElqallnV2lhcmlQQUsrVTA5bGVISkpBeGcrZERX?=
 =?utf-8?B?dU1TbGhteCs5WHd3YStLaHB6NTFsZlMrWEw3RXVrMHRJejNRdXVLSDJlTmdx?=
 =?utf-8?B?aUVZRGMrSTBGYlJaYmVidGJ4NisyOG9WN0NLbWlodXJwd1ZxNk84cWk2L2Jo?=
 =?utf-8?B?b1ExOHhpQmVLdmpFd1JqVDBjY0xUYWpla0dBb3dtUjRib3pBaVZNUFA4TzRp?=
 =?utf-8?B?cmREWVdLbyt0Y3pJSzlwT0gxQmRBWGtPOTZPWHdjaDRRakwvZ3pSMjgvSVoz?=
 =?utf-8?B?RENNOThudjc3ZVhRMmZOV3I2c3Y0b0NpcS9wV2lUTDBoRS9kVUxPVm53cUsv?=
 =?utf-8?B?REIwNU5Eeml3M0pDNU5EZlZsVlk0ZVdUeWpBR1gzT3VSL0cyRGd5Y3AwZ0RY?=
 =?utf-8?B?ZXpNT1RCREd1dHcyZ245cmlpcENUZWRBazZqQ0tjTUVCYUozQU9IeWZqQ1ZQ?=
 =?utf-8?B?QjA3T21qTHBvbzBMRGkzaVJONmxQSjRKRCt5VVMxSVVYMEFGOXhLeTZXZ0hq?=
 =?utf-8?B?eHJsNzFHTHl0YjR6NUEwZk1zZGRtTHMrUUpVenFtSEpMTjNYaERuMWlQT0hW?=
 =?utf-8?B?M05VM1VlSmg2TDVLZVZmUUYwcmpMRjVvSWdZWmRxOVNrd1JpNmRWRUswR3F0?=
 =?utf-8?Q?Lh4+ir2UoC6AEYRt9lTtZs60O?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e18d46b5-d332-4f10-ee2c-08db24763c33
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 10:24:03.9084
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: i9tnGlJdiAOnH9nT3yDOsEmaKFjiBax3A0unSWfg2D/ra+9nCCt87i/YSSpL9K3tYP6G9nhUwM4vnGZhybnNHw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7459

On 14.03.2023 02:50, Tian, Kevin wrote:
>> From: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
>> Sent: Tuesday, March 14, 2023 9:32 AM
>>
>> If the scope for IGD's IOMMU contains additional device that doesn't
>> actually exist, iommu=no-igfx would not disable that IOMMU. In this
>> particular case (Thinkpad x230) it included
>> 00:02.1, but there is no such device on this platform.
>> Consider only existing devices for "gfx only" check.
>>
>> Fixes: 2d7f191b392e ("VT-d: generalize and correct "iommu=no-igfx"
>> handling")
>> Signed-off-by: Marek Marczykowski-Górecki
>> <marmarek@invisiblethingslab.com>
> 
> this should be rebased on top of Jan's patch.

Right - I guess I could take care of that while applying. But I wonder
whether the description wouldn't then want adjusting some as well. Or
wait, with the v2 change it should actually have been adjusted already,
as the igd_drhd_address determination is now (intentionally) also
affected.

Jan

> Reviewed-by: Kevin Tian <kevin.tian@intel.com>



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 10:25:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 10:25:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509532.785436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc1qc-0004zx-ST; Tue, 14 Mar 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 509532.785436; Tue, 14 Mar 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 1pc1qc-0004zq-PZ; Tue, 14 Mar 2023 10:25:38 +0000
Received: by outflank-mailman (input) for mailman id 509532;
 Tue, 14 Mar 2023 10:25: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=dXSW=7G=citrix.com=prvs=430734c92=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pc1qb-0004zY-Nz
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 10:25:37 +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 8dd6dcb3-c252-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 11:25:36 +0100 (CET)
Received: from mail-dm6nam11lp2170.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 06:25:32 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB6470.namprd03.prod.outlook.com (2603:10b6:a03:396::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.22; Tue, 14 Mar
 2023 10:25:30 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Tue, 14 Mar 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: 8dd6dcb3-c252-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678789536;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=MQXZCq8/FHj0ddqO4rLav/yKjO4bFZzM8xarWewQ1gc=;
  b=Exz+8ExfxYhC9aK6n+JiPoF51EZrzH4pZb7S6P12ScuTgUuavLCcrfPo
   tUnOJZauSpT1n2YPncjw4d9FsqwvJfS1GS+R8g69ROZp7UzTV12vVncwR
   cBVBSTfZym6ZrxRsg9sFG6Hc7ydypePHy4QVTr0Xv8LUPQpUykmq9/Qhi
   I=;
X-IronPort-RemoteIP: 104.47.57.170
X-IronPort-MID: 100663552
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:J/BsKKkiFu31KQS5QuBJALfo5gxPJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIeXmiPOf2KNDSnKth3btjk8hhU68TSm9QxHgQ5pX82EyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QOGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 eApAT8fTRGyvKW/57uqdscxge1/Fta+aevzulk4pd3YJdAPZMmaBonvu5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVM3iee1WDbWUoXiqcF9hEGXq
 3iA523kKhobKMae2XyO9XfEaurnxHujBtxJSeDinhJsqHm311ArFTNHbgG+5sCj1FH5ZI8cd
 GVBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4qjJ5weUAEAUQzgHb8Yp3OctXiAj3
 FKNm9LvBBRsvaeTRHbb8a2bxRutPQAFIGlEYjULJSMV7t+mrIwtgxbnStd4DLXzntDzASv3w
 T2BsG45nbp7sCIQ/6Cy/FSCjzfyoJHMF1cx/l+OATrj6R5lbom4YYDu8ULc8ftLMIeeSB+Go
 WQAnM+dqusJCPlhiRCwfQnEJ5nxj97tDdEWqQQH80UJn9h1x0OeQA==
IronPort-HdrOrdr: A9a23:5H8016MFFn40tcBcT/3255DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jztCWEwAr5PUtN9uxoV5PwI080maQFqLX5Xo3SJDUOxlHYSL2KhLGKq1OAak7DH4hmpN
 JdmsBFeavN5HdB/KHHCWKDYrMdKbe8gdKVrNab5WxsQGhRGtVdBkpCe0emO3wzYDMDKYsyFZ
 Ka6MYCjz28eU4PZsD+InUeReDMq/DCiZqjOHc9dl0awTjLqQntxK/xEhCe0BtbezRTwY06+W
 yAtwDi/K2sv9yy1xeZ/W7O6JZ9nsfn17J4dYyxo/lQDg+pphejZYxnVbHHlDcpoNu34FJvq9
 XIqwdIBbU+15uEFFvUnTLdny3blBo+4X7rzlGVxVH5p9bieT48A81dwapEbxrw8SMbzYhB+Z
 MO+1jcm4tcDBvGkii4zcPPTQtWmk29pmdnufIPjkZYTZAVZNZq3NQiFXtuYcw99R/Bmcca+a
 hVfYXhDc9tABanhqXizy9SKZKXLy4O9yy9MwU/U/yuonJrdU9CvgAlLbQk7wY9HbIGOtZ5Dr
 f/Q+pVffd1P40rhZYRPpZzfSOBZ1a9MS7kASauJlTrfZt3TE7lutr+5bkv+eGmEaZ4t6caid
 DIVV9CqHQ/YF3jEtCfxZEjyGG1fEytGTzpxtpC+phlv7GUfsuQDQSTDFgqn9C8vfkVGMvSQp
 +ISexrKu6mJW7jAptW0wbjQJw6EwhjbOQF/sw7U0mPpcyOIIvsuezUNOrJIdPWYEsZc3K6GH
 oKRzj1KoFa4kSsR3O9nBjdMkmdBXDX7NZrEaDA/+8cjJYWLIZFqAQIklHR3LDsFQF/
X-IronPort-AV: E=Sophos;i="5.98,259,1673931600"; 
   d="scan'208";a="100663552"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XEP9SIyFSODo3zvQ41UK1qxfTVHpBsvHYtOju51Vj6J+L4DVWy3L8R9ogWeuUVz4iQ3YpL8mrM8xY3YXypz10kD8ADZX9fpFc1WOPVLT4MkRHyEWpZF2kL5Wp/YM39Shd5QNccTJ0Oqga3lg+N3tNdPS+YwnpDvxdkrC5IAbK3WSF7YsKas1BU9NzQ/WmHoCqvYLQWLZB9RkvjhNqzMQKAq2tgZS7wjfpFdsMIk416/yPbU2qmhtwuE5uxaz7oJu+kVb8RgbbSwI8Pe/LoTdVeEUlihIuq22KYXULxrmQ1YwLa2+WMYetsD8Mxkcx4zDthT26PEieiclZRsmrJllIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=12AfplvstDKmBsUf1KmcFEKQBX03GJILkEZfyKxsbgM=;
 b=ToIHSB9HpmbUWyQ52+IMbVvvq5Z73uEkKxuBTHePEhM8Gqo8HynMh340ln6V5yn4snqwFzDmlSCk3byWlUUYHYxDCRULxprmI42/i+wbiSVTrI3XG2NQbw3Om6Pvx5vBh0vSVXgMMN00pgTttP35qQRwZsnTG9b7WOmibCavWn90U3T4UTeDxLUMGBo7cgQsTiJgcsn1UxyWY8n1QyfA+L/OR727GkBdA02BmCZm7LtDX6eQ5QPHO9RvlsADqH6+jNKfNPDVQWmuXclqtwVVmqQgr7ShtwD4Rl7OHt0Wey3tYyxjII9XYX+luPE3myYmra6C/ko+kyQJG1c56DbPVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=12AfplvstDKmBsUf1KmcFEKQBX03GJILkEZfyKxsbgM=;
 b=tv1LNB77PyV3ssb/Q74Zf0WrPoI0X16tSmOeypaxo63ht1HBM6GEQfAFmLMfxkheza10d2PExmgpfYu9H7rihvdq3MfXilCXvOXhorYM4kgmJFQG4jyGFgDaPYtFgBi246u2R/h7rCjw61Dol/80mfO67zE6NfmNpYCGhgUfsiA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 14 Mar 2023 11:25:25 +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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen/grants: repurpose command line max options
Message-ID: <ZBBLlQZLfkRltI9R@Air-de-Roger>
References: <20230313121632.86789-1-roger.pau@citrix.com>
 <2bcd9829-498b-228a-2a86-67f8c6e859aa@suse.com>
 <ZBA8yORIxXRM3RkO@Air-de-Roger>
 <04bfee08-53e5-49f2-3fb9-440b6861e3f7@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <04bfee08-53e5-49f2-3fb9-440b6861e3f7@suse.com>
X-ClientProxiedBy: LO4P123CA0241.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a7::12) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB6470:EE_
X-MS-Office365-Filtering-Correlation-Id: 0568932f-5efa-424b-97be-08db24766fb0
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MBMqGSSvZHLy98DuQlwFtY0QXX6K/Rb6dJgmmRUJb0tU5AAnltKCSIGB9YAcEdDubMOhz3D0/k3XEEpw1asqYudDnWb9LYboV3oW9CkyOAZ5RBap0T3XoCxuVRn/fJPKIpMl6dObyNxbc8nyTfi7QtPLJ5ANeOlmQlZGCz234kwB9hDuNsALy6bz5El+aqVLZ7ofRxu1w2DzTQ2h3I1zFyUeDfiPkQsgs22e6GvAra9lZSqHNfd8xLapPTPNwDyZ6ZVilH7jkkE0hGQt2WBpP9BR1cCZaTivQP0YtARyXATlqxkdXgpw4YqnVnJW8sEFMl0GPH+nSkoWz2C67YdkZVbhETuOSG69OFIrS5jc27pImUy/QunHiQRm0eiwLDAv8VcDftKyAHOVDkTCe4MJ6znNBFgCtZ4CQkdYNP3RDvKUVHoTlyjOdTkkHaFeVlCvfGZZhIqvb7sYbFjKHfODs598ZgLUvAVeY8O7r/CbIp71J5PGECvK8urxf1GadgekSNNG5jU9jH8g4ThZTW223b4vkhlGCSKYqYoM2xdXn0+D4sUlsxRkAh87e1zLQuxHXChUXT56Mn2XOD9FzfhMdN3T5UUPXfx0RNuxpeCFhSR5m5xNCotcYA9/daAkV65LlKygwK21LfNyvkKFvO6Z9Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(39860400002)(346002)(376002)(366004)(136003)(396003)(451199018)(38100700002)(82960400001)(86362001)(8936002)(2906002)(5660300002)(33716001)(41300700001)(6916009)(9686003)(4326008)(26005)(6506007)(83380400001)(6512007)(186003)(53546011)(316002)(54906003)(66476007)(6666004)(8676002)(6486002)(66946007)(478600001)(85182001)(66556008);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L0JFcVFmN2tKK0grYWtCekdYNGpXUnNvZHR3OXZUQXJzM3pnblNUbkRyZ3Ew?=
 =?utf-8?B?V0R0NlBWekVObFlJaWU1ME9VNmZzby9GTlJlVjRjM2s3ZXVKM2V4aXVhNWo1?=
 =?utf-8?B?S3MyTXVlNWNLRlpQS1JUM2k3cS9oa0FBaXNTdm5LYXBmVHRpUDB3WTNEdFVh?=
 =?utf-8?B?ODJVVkJzTFVKNkwwcC9iT1VSWmJOVzRPdysvdGNzT0t1ZHZmdXZLanVIbVF5?=
 =?utf-8?B?MkI0YWhYZDdRNkcrdlRCVW44WnhMbzhUejdsQ3VBVExsVEVXTmVGRndEaDJw?=
 =?utf-8?B?VTJlNm5ndkR2dVhDdThETzNzMmVpMTl1YXg3SWV0b3NkVmpuNXp3WTRuL0VE?=
 =?utf-8?B?L3c2bDJDT2lNOGFNTC9zdm5lOWhvQkhHTkZOSHFNQW95RHVMazd5RGNxWlBM?=
 =?utf-8?B?dmp6MVJUV0JCTFFXNjgvbUhTdTdzSlYrakdocXRhR2QrWHkvRmhXemlLd3pT?=
 =?utf-8?B?UHcxcE9PUlc5VTRMK1F4ZnovT0dPc2FLbHBRZWd3c1FQNldZa0RWTHFvOGtY?=
 =?utf-8?B?UVVIZXl4VkJvRHNhN2VSOWlVR25GS2VWTHFEWE94Y3AxREdWRFFXY241LzhZ?=
 =?utf-8?B?RWhvWkF3dzZrS0xacVk2a0prbEdxSS83Q1JWS1Z5aCtKQUwwTWhPRGU3Uldp?=
 =?utf-8?B?M0k2c2dvdkR0cE4xaUpNc1RnRGI2SHZia2thYkpCUTVhbnZHS3NwbEJLd291?=
 =?utf-8?B?S1JEaFlpTW9WaEhrakRRd212bnZacDRKMzI4aHFNbjVJTEZ1U09jOExZWGdm?=
 =?utf-8?B?NnVNbWg0aTZ4TVFqU0xrN0hlbWQ4c3V4TjhNaXl4bVZacG9qVzJIRUMvdFV1?=
 =?utf-8?B?N1k2SUdmU1Y4MElKODhqMnE2M1U5YURCUlZJV09RMlNXd0lUT01OM1YzN1JC?=
 =?utf-8?B?LzJOU0djRHcwQjFoTldBbk5Xa0hHSGtaeHY3SEFNVDVxT3dmbnVSZmNCVGhM?=
 =?utf-8?B?RHNPVXZQaGtMTnJjdHoxT0JMVTJYY1dQeWF6QzVmMnB3VVcwNmlpdW9UUXV5?=
 =?utf-8?B?bUNoTmZOclNYQmZzUUtrK1V6UmppMUo3U05zOC9MUWJ2NGNVeXhvQUNKTGJ4?=
 =?utf-8?B?eEIxTG0zVW9WOU4zZmcyWG5keFd3eE9vUlRaeWYrK3RxQWtpQzNCb2t2dHl4?=
 =?utf-8?B?SFRjTUJhY0duZGZicG4waTlwNjBWRzlWekFsODkrT29qcXZXdGd5MFNQTDlD?=
 =?utf-8?B?WnhGb1c0TVRuL0tPVU1IRlRUcnFDUzR0ZmIrK2RnZjRNWFJTYk5nWVY4bi9k?=
 =?utf-8?B?Tmh0SXpNVklPZjRJYTBmcXRvd3J0K2RPYUJITmc0STFnYUdUQWZVTW9tZ0R3?=
 =?utf-8?B?U1h4dm9IVkQ1RU1NaTgvSEdjOElPNEZrRStXVDNPQTZwNnpNRDZHSU1jRXll?=
 =?utf-8?B?bTMzWk0vbG52Qi9SeEZGSEEzOHcxcnVmNDFRWTdNcnJpUG5GMmpiVnkvTExZ?=
 =?utf-8?B?WnpUejd2MXM2S0dhS3Y1UGhQUUM4cFAwbXF0SnNoK2p1amFMdHJaU1lORjE2?=
 =?utf-8?B?RXZibVlzWElBakZabGJhUDRaYks3cVN2Mm4wQTJiTGJsa1JGb004OFBtQm5K?=
 =?utf-8?B?L1VVL252V1BvK2R0RUlBQTBGY0NjeHlJTDgzTVpGS2VGNkt2V2pRdnpUd0ZU?=
 =?utf-8?B?MiszQ3lyNHJzWXRYTGxscEkzVmF2Z1VhMitHVkxBZkxkR3Z6TzNZM21scEth?=
 =?utf-8?B?SXZKSHB3OVh1b3dlTG92VTV5TDhqNkhMYnpvR0NBbCsvZ011ZnZhUU5JaUh5?=
 =?utf-8?B?LzBhTFJXeFAvRExtYzJmbUwzbTBsMmNoZ3ZURnNWQm1rZ0kxZ3Jhc3UrNzFN?=
 =?utf-8?B?aXhpb2pWMkZhVUljUG9pMGFZeHdETm00YVZyZlFMaEhPOVg5cCsxcE1iM3Jt?=
 =?utf-8?B?MHRVeFd6bkdoV0dJT0wxUHFHNno3dDdFcDJ5eHVHNTIzRXowWWdLWGxFNUJ3?=
 =?utf-8?B?TjdnU2Y1RGo2TmZYZSt2VVYrQjlEZkJhdjVlUUdPbGdkSlVOaEFUSm9sOFp6?=
 =?utf-8?B?a282VFZtS3dqR3pFb2U0UVNlV1pyRmtTSXoxVkM5R1lHWjhWU3RsWmp6TENC?=
 =?utf-8?B?WHlyeXhYanBvZUxhdGs0QWM5bkQzVEx2V0dDSnUxbWRhSjVUNkFGSGdOQjZS?=
 =?utf-8?B?dEt3YjAvZDVkOHpVaHQ3YklSeVBVTnc1ak9RaU5XVmRCQ2tPRTJKTDRjdHlK?=
 =?utf-8?B?c0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	/wKq22kq4n6Y7/mZTNwaiE+JqIITtbEA8bUHukedxhbo1FtmH+OATA76us/JQFYSz81GlyP08zDb2lyG9/4mQDY0bfmj636KUidcmY/1MDEXRvxeOoBgfN5XQw2y5d2yN9DrvbjcTla8Xxt618P8eLjSoIqRz50d88NFC9CHP7WZgGuTnYTkgeimuOWWEKnI2T8pFZSrgqn0ORFTZzFkCGbRMm5Yk5J8tJu08KaeXh8Zo4TRqMax3b2+PSpQuhRjTDuy2XC3+qed97EjcaMD6p6WhAhlz1moV7liJVPIeTcbQNpmjnNr1C8iLDZUZgcs9vsQgS3yJh4OfwcCIibgUEN76JynkrMA+OHcsPiZq4hwV9GXxlfQPsbQSCn9HAQElvQfFuVCK3OowOOvWCVygASqgd7Tz0OQ9NOt8DI8O6t8F8um91lD8amfM/aTYMyCukm8HcLCSHbgoGX939uTKU0KnoPAE+Rg0NG1ZKExwGuxabK31I3fZVTslzeDVT6c7Nvqcto6ZS7d6vHSJtRHYy7UHlZgP3l5dDXdProeXxE/K90qNkur6B+MiQxnnUTsOsQqgdfZ3L3xTJs+L2CYMBC2rdQ0dx7G8idrZYNBQDG4gV6wzehPWCM5t/M0HxqY0+D4TKjjvdIPpAPNl1zMJ07Zra4Dk+4nZ8SbWzh6qtxtsKVQ3Tp0uB2eug1pBa/W1NAnNypokeNJdHkj6mbhMmVwtb8rpEiu8kxekbz4Y0IBnLxeHKnfG2rlnF4Orv265BklmZCtHAOlwrTg1eW9hqESG0Ihm3aTN0TzaqC1BQb1GbPDU2wIAsQvhOMjMQz+JeS0q79A2cs8r8AegMbjFegilg0wH7ZGXCzFJ87q6bo=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0568932f-5efa-424b-97be-08db24766fb0
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 10:25:30.5079
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: P3ILbV8pz2Z7GKnWEySaCn96KXwUeU20einRql7gItfOqRE4c+QaXP1270kaR+R3Z3SgB2y7rQBCm5MkMpBsLg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6470

On Tue, Mar 14, 2023 at 11:04:21AM +0100, Jan Beulich wrote:
> On 14.03.2023 10:22, Roger Pau Monné wrote:
> > On Mon, Mar 13, 2023 at 05:55:09PM +0100, Jan Beulich wrote:
> >> On 13.03.2023 13:16, Roger Pau Monne wrote:
> >>> --- a/docs/misc/xen-command-line.pandoc
> >>> +++ b/docs/misc/xen-command-line.pandoc
> >>> @@ -1232,9 +1232,8 @@ The usage of gnttab v2 is not security supported on ARM platforms.
> >>>  
> >>>  > Can be modified at runtime
> >>>  
> >>> -Specify the maximum number of frames which any domain may use as part
> >>> -of its grant table. This value is an upper boundary of the per-domain
> >>> -value settable via Xen tools.
> >>> +Specify the default maximum number of frames which any domain may use as part
> >>> +of its grant table unless a different value is specified at domain creation.
> >>>  
> >>>  Dom0 is using this value for sizing its grant table.
> >>
> >> dom0less DomU-s do as well, at the very least, also ...
> >>
> >>> @@ -1245,9 +1244,10 @@ Dom0 is using this value for sizing its grant table.
> >>>  
> >>>  > Can be modified at runtime
> >>>  
> >>> -Specify the maximum number of frames to use as part of a domains
> >>> -maptrack array. This value is an upper boundary of the per-domain
> >>> -value settable via Xen tools.
> >>> +Specify the default maximum number of frames to use as part of a domains
> >>> +maptrack array unless a different value is specified at domain creation.
> >>> +
> >>> +Dom0 is using this value for sizing its maptrack array.
> >>
> >> ... here. And even ordinary DomU-s appear to default to that in the
> >> absence of a specific value in the guest config. IOW at the very least
> >> the info you add should not be misleading. Better would be if the pre-
> >> existing info was adjusted at the same time.
> > 
> > Aren't domUs already clearly covered by the sentence:
> > 
> > "Specify the default maximum number of frames to use as part of a domains..."
> 
> Hmm, yes, my attention was caught too much by the Dom0 statement. While ...
> 
> > IMO dom0 needs to be explicitly mentioned because in that case the
> > value provided is not the one used by default, but rather the one that
> > gets used.
> 
> ... explicitly mentioning Dom0 is fine, I still think this needs wording
> differently here, because Dom0 doesn't actively do anything with this
> value (and, as said, it can't even obtain it other than by probing how
> many mappings it can create).
> 
> >> I also wonder about the specific wording down here: While the max grant
> >> table size can indeed be queried, this isn't the case for the maptrack
> >> array. A domain also doesn't need to know its size, so maybe "This value
> >> is used to size all domains' maptrack arrays, unless overridden by their
> >> guest config"?
> > 
> > I think the wording I've added already conveys this meaning:
> > 
> > "Specify the default maximum number of frames to use as part of a domains
> > maptrack array unless a different value is specified at domain creation."
> 
> Well, I mean specifically the Dom0 related statement.
> 
> Also to me "default maximum" reads odd (and slightly ambiguous). Would
> "default upper bound on the number of ..." perhaps be a little better?

So what about using:

"Specify the default upper bound on the number of frames which any
domain may use as part of its grant table unless a different value is
specified at domain creation.

Note this value is the enforced upper bound for dom0."

And similar for the maptrack option.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 10:28:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 10:28:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509534.785446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc1tF-0005ad-Ab; Tue, 14 Mar 2023 10:28:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509534.785446; Tue, 14 Mar 2023 10: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 1pc1tF-0005aW-7f; Tue, 14 Mar 2023 10:28:21 +0000
Received: by outflank-mailman (input) for mailman id 509534;
 Tue, 14 Mar 2023 10:28: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=8puR=7G=gmail.com=matiasevara@srs-se1.protection.inumbo.net>)
 id 1pc1tD-0005aK-QA
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 10:28:19 +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 effcd2db-c252-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 11:28:18 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id p16so9869421wmq.5
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 03:28:18 -0700 (PDT)
Received: from horizon ([2a01:e0a:257:8c60:48e5:bfa:d652:b8ef])
 by smtp.gmail.com with ESMTPSA id
 s14-20020a7bc38e000000b003ed2b6da0d2sm1641181wmj.9.2023.03.14.03.28.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Mar 2023 03:28:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: effcd2db-c252-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678789698;
        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=sRzKmk1xbHb3MknVY+gPdpMizh7lgWxaZRluitztog8=;
        b=HurPedIj8hIMluBGowPZzAM4noedo5b3fCa+nMkd+65cNmN3LcxBaVcjWKOI9zziwS
         1RGkGG3hJcDjpiJtR5IfH+WAFWEXD4tApyPFRA89AELES0yBUI4DUQlq3mwR/hlPEWTv
         w+CAlnCe35CeizA8a/zKJZnP9pjJTF8f9r2K1RzhW8bRsS0Nedd1vWbqXFwtE5JWKE8w
         CXKFYPlPzOWeELF/S3tEaLt4FV0iHtQGKg4kd52W5S445eEkZMc5QBmWXLQnhEYbX7ue
         dvA+D4WR52WveGuXzC5OxCqBOtOLfffLyQz6m4EoEYzMU/PCp+yizvrjYTVu1hEOJBVq
         Om0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678789698;
        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=sRzKmk1xbHb3MknVY+gPdpMizh7lgWxaZRluitztog8=;
        b=WzeclxZqp3aNg4p/K9d/r2ibtb/LdV4KK3Q2+6tuDEs0eHghDNi52vPHA1EAiXf1Sr
         M+e2aNwUvoKZPN3AAm0KU3VluTx+hG/7RKbPSr68evw6hBHA9bIHu5e1VrGDW16r1YxA
         NTvD/CDmfA2VVsHb6p7GJcmmYaB3JxyUgtMNAX76mOTzIO4ycHJcDYQUAByu5cNZyJYZ
         wcWVabpb6wE37VU14/edvi9sD2SWJucLr/rUbzqQau1ipJbGDirkQ5EEbf9NTGBxq18L
         wkoQl6jUn2fFghZr7iBQflSLWfBzAGjOAHJ+yEVrf/d5g/+b9p7HBizwIUc0gUNXZSPa
         V5CQ==
X-Gm-Message-State: AO0yUKV1aynW9vxHwettAq0Ek1T6uintPM2yyJh0Hv3BeN5pUkY8Ezb9
	42oQO52413vCPuCZnSB5QLPpR5tWd5XSnw==
X-Google-Smtp-Source: AK7set8EVgFGDByuMWOdSBeDdxiZ7jskXn0CVsBVwioLw4d5h6VsQFVUlOYCZqpLwPvEEllYB1tGtQ==
X-Received: by 2002:a1c:f213:0:b0:3ea:d611:f8 with SMTP id s19-20020a1cf213000000b003ead61100f8mr14699884wmc.38.1678789698147;
        Tue, 14 Mar 2023 03:28:18 -0700 (PDT)
Date: Tue, 14 Mar 2023 11:28:15 +0100
From: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org,
	Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Dario Faggioli <dfaggioli@suse.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: API/ABIs: Re: [RFC PATCH v2 0/2] Add a new acquire resource to
 query vcpu statistics
Message-ID: <20230314102815.GA4225@horizon>
References: <cover.1665138677.git.matias.vara@vates.fr>
 <90a551bc-ffda-6db8-775b-11c100bf6f52@citrix.com>
 <20230306142315.GA745324@horizon>
 <c40f1a4e-63a5-af2a-e5db-729b1af80708@suse.com>
 <20230308115410.GA1108824@horizon>
 <d0354bab-3022-6048-8d58-45f63aaf26be@suse.com>
 <20230309103825.GA1221165@horizon>
 <645fcd9a-755a-e2a2-f332-93c5e571b9e5@suse.com>
 <20230310105800.GA1285481@horizon>
 <84e0cf30-d4f6-b1d2-b99c-7a297f5c5c2c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <84e0cf30-d4f6-b1d2-b99c-7a297f5c5c2c@suse.com>

On Fri, Mar 10, 2023 at 12:34:33PM +0100, Jan Beulich wrote:
> On 10.03.2023 11:58, Matias Ezequiel Vara Larsen wrote:
> > Oh, I see, thanks for the clarification. To summarise, these are the current
> > options:
> > 1. Use a "uint64_t" field thus limiting the number of counters to 64. The
> > current vcpu_runstate_info structure is limited to 4 counters though, one for
> > each RUNSTATE_*. 
> > 2. Use a dynamic array but this makes harder to use the interface.
> > 3. Eliminate stats_active and set to ~0 the actual stats value to mark inactive
> > counters. This requires adding a "nr_stats" field to know how many counters are.
> 
> While nr_stats can indeed be seen as a generalization of the earlier
> stats_active, I think it is possible to get away without, as long as
> padding fields also are filled with the "inactive" marker.
> 

Understood.

> > Also, this requires to make sure to saturate at 2^^64-2.
> 
> Thinking of it - considering overflowed counters inactive looks like a
> reasonable model to me as well (which would mean saturating at 2^^64-1).
> 
> > I might miss some details here but these are the options to evaluate. 
> > 
> > I would go with a variation of 1) by using two uint64_t, i.e., up to 128 vcpu's
> > counters, which I think it would be enough. I may be wrong.
> 
> Well, to me it doesn't matter whether it's 32, 64, or 128 - my concern
> is with any kind of inherent upper bound. Using 128 right away might
> look excessive, just like 32 might look too little. Hence my desire to
> get away without any built-in upper bound. IOW I continue to favor 3,
> irrespective of the presence or absence of nr_stats.
> 
I see. 3) layout would look like:

struct vcpu_shmem_stats {
#define VCPU_STATS_MAGIC 0xaabbccdd
    uint32_t magic;
    uint32_t offset;  // roundup(sizeof(vcpu_shmem_stats), cacheline_size)
    uint32_t size;    // sizeof(vcpu_stats)
    uint32_t stride;  // roundup(sizeof(vcpu_stats), cacheline_size)
};

struct vcpu_stats {
    /*
     * If the least-significant bit of the seq number is set then an update
     * is in progress and the consumer must wait to read a consistent set of
     * values. This mechanism is similar to Linux's seqlock.
     */
    uint32_t seq;
    uint32 _pad;
    /*
     * If the most-significant bit of a counter is set then the counter
     * is inactive and the consumer must ignore its value. Note that this
     * could also indicate that the counter has overflowed.
     */
    uint64_t stats_a; // e.g., runstate_running_time
    ...
};

All padding fields shall be marked as "inactive". The consumer can't
distinguish inactive from overflowed. Also, the consumer shall always verify
before reading that:

offsetof(struct vcpu_stats, stats_y) < size. 

in case the consumer knows about a counter, e.g., stats_y, that Xen does not
it.

Matias 


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 10:31:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 10:31:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509538.785457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc1wZ-0007DK-1B; Tue, 14 Mar 2023 10:31:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509538.785457; Tue, 14 Mar 2023 10: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 1pc1wY-0007DD-SZ; Tue, 14 Mar 2023 10:31:46 +0000
Received: by outflank-mailman (input) for mailman id 509538;
 Tue, 14 Mar 2023 10:31: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc1wY-0007D7-24
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 10:31:46 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2061a.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69e5e54d-c253-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 11:31:43 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DUZPR04MB9795.eurprd04.prod.outlook.com (2603:10a6:10:4e3::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Tue, 14 Mar
 2023 10:31:42 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 10: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>
X-Inumbo-ID: 69e5e54d-c253-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eP7tSMex5/JKFmwunC9Q/t/DzexNIIi1eEicKwlUhpT4Lm5Ffd7nql9TA41hZ960ZJdBUIoA78q2gTqPAi7VOk4ovgIxbFgTw2tDJhp4Wm5oZ4qqovbAXQM4ruTkEpkEh4X4b56cbR62tYytaECiL7UvhdQi1m9hkCQ+GEPJhP21q3bFAMTvw0DdpG37p+ixw4vGsfseL/1Jml6YiBYRhpPII5touPd3hc4KCOHBCsgJ4quATW4qe0i6489WBRyH7yuVpnvVsw/zf3k7RWPGoQXSssOTLWaGp+enFdoiTzgsAk0ecSHSe+j6yWtPhF1wFMoamvDdrW5QTknX/muzew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ivOHoHI7tK6g1BR7xw9Fn2WaRzfToSvO/HB7IxNts1A=;
 b=AQ3uiHpCQ6pAzOGHKUdEwMR6jYXOHoSuQEUiht37o3lJBq7GXHwFiEAQzvsTRkDD3Q5OLCZW8L3SAWvJHZuq4MNvHpXSgQpvZgFHJu/Lb5cRSsEvDF5a9BQcRla2iglUMFR9vD9W4KdtmRQr/QBYeoQ4SVPnxgB2wZgb35wUvlVqpmuGtnb58YTbZ4Cm5BthCuQJOSRyo5KRHmfQimrE+Ex37m2MkNDejw55rensAReJ0x+IpbmtJwuv7I5g9LLsKmPZ3SixZtgdsbW+5JCQZRzexGHkTIP95hLqmMNTgjmqdnlERyOWIoDiENlonnawirGAhw4ewKElHdVe7gZJPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ivOHoHI7tK6g1BR7xw9Fn2WaRzfToSvO/HB7IxNts1A=;
 b=IXJjNFIaV/8nbJJ/wBk8hY6lTIDk+xPjJ202eJVz25zlZ/W20TVosUM872EfqYOO2GGT/ry8g4Tq8VrLJXX3JWIkDMO8k2+m3zW3lLhjnjW3w4Y8O38hi0ygBmgkoTx/N2GBE08jMO3QZvXZXsax1TNFtFcvSxLozhbPtvWmT2mQNfuy2ZNQqdP5xF7biDWfHw6+lHQoMT4zfoc24OpDwnP/df2XPyTaCULzqQ8ijYcEgMTx5d8ChmPyRIHbrvK0yWu3QtJV0K1KoZUrCHZAkpUTUdWkRpKRijyBgUoc2j77/x6v/fW1+BMy3dkkKDDakHttw5/GqV6HZqKl2mjHBA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <94c37e21-8e46-0775-052d-3a30e54d13bf@suse.com>
Date: Tue, 14 Mar 2023 11:31:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/grants: repurpose command line max options
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230313121632.86789-1-roger.pau@citrix.com>
 <2bcd9829-498b-228a-2a86-67f8c6e859aa@suse.com>
 <ZBA8yORIxXRM3RkO@Air-de-Roger>
 <04bfee08-53e5-49f2-3fb9-440b6861e3f7@suse.com>
 <ZBBLlQZLfkRltI9R@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBBLlQZLfkRltI9R@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0149.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DUZPR04MB9795:EE_
X-MS-Office365-Filtering-Correlation-Id: 3db1d40a-ca74-4518-9117-08db24774d36
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	io6+XxjtupUlXin2yXxWumYNl3/spcm2UiGcy0UzqdMfKwuHznKQUDceF+7SABYzb/0NuYLmU6Js0fh9GWNuUG6mEP2Kwb/EraKfl9lu8BIsnEjav4nKQLgbSDRpqn2cJSPkPraah/vZvZG6X5hHpX8zA1v7OEt22OKL2wXjwbyB5Kfpb38LsxXGuwn9ojgfA7CdZf9NozfsE8ZCILtnHylm1X/EHlyZhrGy42a2bXbKlpVKyl0PU/9NQTrq25QBqVR4aTPElDNKIVFiOQcSIqVuo/aHi6uZeUK2hSQblNF4cPWCqZ0cCuI58hfM+jQjUgHeRfsexmsZzdocXklXl49maRN7diNYOo/ATkDYnMrRbpB7r1BHXkuQrFaFm2rQBLYm70/p3iZX7AW1yI/wzu1qkzhfTS6coS5rGZL3Dh7OgijAGs8ZC0+X+pUxdXWcXhfFiXce02C4V9QAgrMGcJ8ixPnjntrmzgb2fVD3XGNgctKohMB37Wul36ZEm8xVt3BJp9Nh9c5CWuOmPAD14+vDxsLFjo5FGEgH8weGK5lgXkeoVDxwymGwTVQ8vVUHW/bepVZ2mb1MFY+7iCETUh2ZVgb8rEO5BfEHgqDgm+nQqp6UuwjeDGW/WbMWr4CTQYu6t6nEaFGg3AZ6Y8NE3SIlFfRiaH+yjSiMr1x7cLcD0558nmhYpHMYmtErOkTAZqvcbHQpF+7ElRFSUAdzpmP503dDPblWSg6wenybwIo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(366004)(136003)(346002)(376002)(451199018)(66946007)(8676002)(66556008)(4326008)(6916009)(66476007)(83380400001)(86362001)(186003)(2616005)(38100700002)(31696002)(54906003)(36756003)(478600001)(316002)(6506007)(6512007)(26005)(53546011)(6486002)(5660300002)(8936002)(31686004)(2906002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T0QvRFhQQ1V1MEtuT2dKOVREVmdxRnI2YTNrU3hNWmcxRzdqeWJQV3NOOUEz?=
 =?utf-8?B?MG5yckFzRTR4S1AxRm8yTVdTLzYyeTNWSjFnWjh5YUhqVUMvR24xY0h6Syta?=
 =?utf-8?B?cEIraTdUVzZuRjZwcjlaUTJWcG5Oa0MxOEUveW9Bc0FUbnhVWWNvMWtCUU5K?=
 =?utf-8?B?RW5ZbzFobThnM1plTWNzbTY4QjVadk84VHVVUUo3cW9mU1A0ZXZlT2NVWk5U?=
 =?utf-8?B?bVJTSXFFQ2RqeFhVRUN0SkZjUTRlbDJxUkg4TkRXNVd2aFUybzViYkE3TVVv?=
 =?utf-8?B?UklnRkJiaW5tR2h5TFJyMFdpQytzQWxDdWNxRkR6aGRxV3NDa2pxcU9xY05L?=
 =?utf-8?B?MHVINUF0QlNiSjNwSGZZU085TTdXa0ljZElzQjZNRGtsNzY2blp4bkFNaVRB?=
 =?utf-8?B?dmNSaFVNTnloVDNCcjRvQUZZTmt1UFFCTUd2QWFPZDcvdGdIUTlRNkZ4NllC?=
 =?utf-8?B?dGt6WTRrSCtqV3NabGpveDNIOTdNR3pPRE9hcGxINFZwZVhucnE3WVQvY2VC?=
 =?utf-8?B?RGpSUVloVkpsdzQ2cmdicEdTS0NXaUw1TXM0V2pGUnc4Q0cxNXFyUVgrTTYx?=
 =?utf-8?B?SVNseVFUbU5CZ0xNcmdvZ1hoendwa2drL3VQcUFFUGhHVy9ueGpBblVKMkxn?=
 =?utf-8?B?S3VJWE9pZS90bkxmbTBUL3NmTnExU1Z0cXZXUUI4elJXK2lMYWlSWVFoNU94?=
 =?utf-8?B?NklFdHYvTUFIdGNJMUhwUmRCS1BJZHQwMlZKMVVsY3JuVHl5bzUzS296MHYz?=
 =?utf-8?B?Q3hJNG9xelIxU2xIVVdNQmEzZDFhZ1ZDeWZxMG5wR1F2emg4cTFEYzNQVFhS?=
 =?utf-8?B?M1JFUmx6QnVXZ3h4K2FCWGlMV1RHcG9VdVNmWkNibHc1VHZaWERLaEdMWUEy?=
 =?utf-8?B?YURRWGhBbVJtb0hOVTFqMmJ1R0pOOW9tMVU1SzkxWnZvODFadnQzVEgrNXRt?=
 =?utf-8?B?VU1NbmVrMEN1Zy9QQW52bC9YbDVKMk9nSGRuRTlBNTkxMUZwOXdSbDFueTBG?=
 =?utf-8?B?NllOVWVUbVQwQXVUMnVXdU84UlRPWTVrZG5uNnBGUlAxTDJUci9EYWZHaU1k?=
 =?utf-8?B?Ui9paFZLc3lML2hvaWN0bGxVYVl4QUhBL0NCTUJRTmJka1l3MVAzSDBHQ3Iy?=
 =?utf-8?B?R3U5QjM1M0x0dzNkUHBwY3BjMVpDaFhQVG5mYUFJUmVoN1cxSTNLclBRMkl1?=
 =?utf-8?B?RFY0LzQ3UHVkcmhCUGtMYjVpT2hoU21uenMwWjJmNmcwMzhrRlJkYmpGR3dB?=
 =?utf-8?B?K0d6LzUzRHk0NWFvZnB2VkhycVhBVUoyRzdiWWJhUXd2ZUlEbmFXdWNoQ0pV?=
 =?utf-8?B?UHl4azlxb29lbUszYzA4S092U2NtYVdFbGxiMmlHb3l6NkZDZTBrc0tRYjdW?=
 =?utf-8?B?cXhTY0hYYTNYYWFzZldDY0pqMm9VWCs2dDY3TFI2N0l1c2g2dm9RWmhydWp3?=
 =?utf-8?B?RGhvaTJJNkpuZTVEeW40djJSSTEweHREcHpKTWVMQnY2d2tsSTA1N21lQnp5?=
 =?utf-8?B?bHNhVlRnTHhqbkdpTTRaZzByUmNOUE42czRuZDFPOENta2czVHhFdXdnQ0c2?=
 =?utf-8?B?MTJvbVZCcG8xc1R4WkFMOHBTS1lJOFM2ZCt4NThaKzQ2SGlEdFczazBmamVl?=
 =?utf-8?B?S0I1L2VUdzh1MXZtRkhJUnJ0V3FkTUtTRW1JUWh0cXlqNnZDMDZ1RGZ4d0xH?=
 =?utf-8?B?bXZ0Z0VDdVRWdWlFWnFnL25RUmt6enYrdjVDekN3UDAyMjFzWnVPMzFyeHlp?=
 =?utf-8?B?WEdVRXZ4NW5rL0FudnI4ZUlQS1VmdG9PL1BPcWxxeFRPelVnQXZDdDdnM0JM?=
 =?utf-8?B?MFJwRlowWi9zNWNjRTYrN25QMUZZSmFWVitmdk1sZXpPdy9OWSt4R1NFRTBW?=
 =?utf-8?B?dVVVbTlWdC9rSWVHaXZxN2Q3Z2tzbEZET3NHUjBmNXRwZ1RmbHJBaGlhUm51?=
 =?utf-8?B?UmdyZnAveFlJYzVSS2F0L0plZysxbStBK0R1NFBlc0F3WFkrM0MxOXpQK1hW?=
 =?utf-8?B?U3E0RVh4UzBLTXFTeGUyTkpyZ0tYbjZCcUdFSzBlaU8xK3BzMnlaeWF1cVBz?=
 =?utf-8?B?OUhuTk1lWWQ0ZlMrcWdhRFVkT3dRUnVYd2lqTWJ1SFZoSkEvSWtTK0huTW5i?=
 =?utf-8?Q?p1UovwuHx5tZesu8TRguIS8UD?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3db1d40a-ca74-4518-9117-08db24774d36
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 10:31:42.0374
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: C4/t1GwbeCPz0ISoo3UOkczQWgmZs4IZL6cuJQ/KWb5wRQEyql9GJnETFLk9IzabYEAmXOhLZkK4FGcuKCEEAQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9795

On 14.03.2023 11:25, Roger Pau Monné wrote:
> On Tue, Mar 14, 2023 at 11:04:21AM +0100, Jan Beulich wrote:
>> On 14.03.2023 10:22, Roger Pau Monné wrote:
>>> On Mon, Mar 13, 2023 at 05:55:09PM +0100, Jan Beulich wrote:
>>>> On 13.03.2023 13:16, Roger Pau Monne wrote:
>>>>> --- a/docs/misc/xen-command-line.pandoc
>>>>> +++ b/docs/misc/xen-command-line.pandoc
>>>>> @@ -1232,9 +1232,8 @@ The usage of gnttab v2 is not security supported on ARM platforms.
>>>>>  
>>>>>  > Can be modified at runtime
>>>>>  
>>>>> -Specify the maximum number of frames which any domain may use as part
>>>>> -of its grant table. This value is an upper boundary of the per-domain
>>>>> -value settable via Xen tools.
>>>>> +Specify the default maximum number of frames which any domain may use as part
>>>>> +of its grant table unless a different value is specified at domain creation.
>>>>>  
>>>>>  Dom0 is using this value for sizing its grant table.
>>>>
>>>> dom0less DomU-s do as well, at the very least, also ...
>>>>
>>>>> @@ -1245,9 +1244,10 @@ Dom0 is using this value for sizing its grant table.
>>>>>  
>>>>>  > Can be modified at runtime
>>>>>  
>>>>> -Specify the maximum number of frames to use as part of a domains
>>>>> -maptrack array. This value is an upper boundary of the per-domain
>>>>> -value settable via Xen tools.
>>>>> +Specify the default maximum number of frames to use as part of a domains
>>>>> +maptrack array unless a different value is specified at domain creation.
>>>>> +
>>>>> +Dom0 is using this value for sizing its maptrack array.
>>>>
>>>> ... here. And even ordinary DomU-s appear to default to that in the
>>>> absence of a specific value in the guest config. IOW at the very least
>>>> the info you add should not be misleading. Better would be if the pre-
>>>> existing info was adjusted at the same time.
>>>
>>> Aren't domUs already clearly covered by the sentence:
>>>
>>> "Specify the default maximum number of frames to use as part of a domains..."
>>
>> Hmm, yes, my attention was caught too much by the Dom0 statement. While ...
>>
>>> IMO dom0 needs to be explicitly mentioned because in that case the
>>> value provided is not the one used by default, but rather the one that
>>> gets used.
>>
>> ... explicitly mentioning Dom0 is fine, I still think this needs wording
>> differently here, because Dom0 doesn't actively do anything with this
>> value (and, as said, it can't even obtain it other than by probing how
>> many mappings it can create).
>>
>>>> I also wonder about the specific wording down here: While the max grant
>>>> table size can indeed be queried, this isn't the case for the maptrack
>>>> array. A domain also doesn't need to know its size, so maybe "This value
>>>> is used to size all domains' maptrack arrays, unless overridden by their
>>>> guest config"?
>>>
>>> I think the wording I've added already conveys this meaning:
>>>
>>> "Specify the default maximum number of frames to use as part of a domains
>>> maptrack array unless a different value is specified at domain creation."
>>
>> Well, I mean specifically the Dom0 related statement.
>>
>> Also to me "default maximum" reads odd (and slightly ambiguous). Would
>> "default upper bound on the number of ..." perhaps be a little better?
> 
> So what about using:
> 
> "Specify the default upper bound on the number of frames which any
> domain may use as part of its grant table unless a different value is
> specified at domain creation.
> 
> Note this value is the enforced upper bound for dom0."
> 
> And similar for the maptrack option.

SGTM. (Maybe soften a little by using "effective" instead of "enforced",
but only if you don't mean to emphasize the "enforce" aspect.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 10:34:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 10:34:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509540.785466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc1zI-0007mP-DK; Tue, 14 Mar 2023 10:34:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509540.785466; Tue, 14 Mar 2023 10:34: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 1pc1zI-0007mI-9w; Tue, 14 Mar 2023 10:34:36 +0000
Received: by outflank-mailman (input) for mailman id 509540;
 Tue, 14 Mar 2023 10:34: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc1zH-0007mB-IG
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 10:34:35 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0613.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cefe215b-c253-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 11:34:33 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6953.eurprd04.prod.outlook.com (2603:10a6:10:111::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 10:34:30 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 10:34: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: cefe215b-c253-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WGWt+Oztcu2t5JE3hSICYakMdZBCHCCPH3/z+7Q3iflp89YwAlELF2DM15asO7zEm1fdJZJR8D1wkY/0NboZYkYrK2HXHD1KZRJUKRQ6rEn39fR8b2oZFh8eNtZdcCzDOjFhc5aOszkHyJTgOlYSfIH91+2183obGeqzHAsdL+mEgRqFoS1yCbimsetm0VwbamYgNIUEqltiHsOoMGUnImVEZ9yG96lGT8oAv8cysxfSrcbkf8kmnaSoD42tY63bzxHgsO8bB7HojSHokBYgGUyNay94HUflkICnqS1r8vaeLan9pI4brnbmurShMQjuPM8QEeJWgepnspYnPCaRFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8gEK99ufs4X8Y1dQpkdW4sjGYjhq8etKlpalffrtvL4=;
 b=lDBHIy4FMua0n8WwD8hSV0P+IXZpNiHrso0+oHQ2dss5ja/1iTg4sf+55p9Eg1vjJw38JtJ1lulPukuvsfXXKY8QT/x4owMS3o08Fj44qdhl+mhfnM9N1M7NluHBNY6sVF1nbUy6cW////Yr+cb3eBKgKxO51dTyBZ1xYunkj4wMgg+BqS+/7sTL2a8Jtx614jbsQKyrilkD7N2XjrHY4sT/K5Aup+NtpDbFCuEcWBulBFZO7XkBxEVmL5vOnYSDzD0gIDFDbEozkHkoCxMwZw/5mnwSsEThWpavTrKmi4g0rFHTVu0TxlUQJxjWaoy6SfA3khblrclXlIW+k4a2xQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8gEK99ufs4X8Y1dQpkdW4sjGYjhq8etKlpalffrtvL4=;
 b=3iKU8Cda97WQ+c1+H/e89+Q3DmmBGWo8Hpa37xZwf4f1GlBS22LfGztuTEUNaB+X/41GGcgbGJfgOD5PJ29EpOq10Xhrvt8beYIvcjefssJkdSJfebSwG6t1W+CKHmE7fBeesnfhbvrnWInvd8lXFqOeWAPl7v2ux6Hu9X3k8BRkUrKmBYWRulZw05P6KdMFh3ozRweHWVC0j/l+tgFx1LnbK0LnoEhwMiXbBkTDLf8J80GuMNoE2PAMG933lj+qfGat22zfi6vnmRANBDRC0Z/lFP2j1RRqVS8sFAwaMt6LTxCdvRan3ehmw0l0LDR6Q0x5MC6c5e1tUSdYWoZdoQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <018fafce-21e6-5d51-00a9-6694c956198b@suse.com>
Date: Tue, 14 Mar 2023 11:34:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: API/ABIs: Re: [RFC PATCH v2 0/2] Add a new acquire resource to
 query vcpu statistics
Content-Language: en-US
To: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
Cc: xen-devel@lists.xenproject.org,
 Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
 =?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>,
 Dario Faggioli <dfaggioli@suse.com>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <cover.1665138677.git.matias.vara@vates.fr>
 <90a551bc-ffda-6db8-775b-11c100bf6f52@citrix.com>
 <20230306142315.GA745324@horizon>
 <c40f1a4e-63a5-af2a-e5db-729b1af80708@suse.com>
 <20230308115410.GA1108824@horizon>
 <d0354bab-3022-6048-8d58-45f63aaf26be@suse.com>
 <20230309103825.GA1221165@horizon>
 <645fcd9a-755a-e2a2-f332-93c5e571b9e5@suse.com>
 <20230310105800.GA1285481@horizon>
 <84e0cf30-d4f6-b1d2-b99c-7a297f5c5c2c@suse.com>
 <20230314102815.GA4225@horizon>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230314102815.GA4225@horizon>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0039.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB6953:EE_
X-MS-Office365-Filtering-Correlation-Id: 31002f62-1c17-4580-e283-08db2477b1ce
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:
	ePo/6PIVxOKQ+gMM5fGOndGwF5AytX8EU+5/hfy+l0zx2nf7cJ5XjdQDKkYVy7QCVcJGuPjx8/vArfgvw4BIQXXfIIQah8S+Uqcqj/zNUEB6wFSuPON56wOMoAOQ/MPvNRBco0Keh+1kSDdalEOKS0cjjlPNkX68M8AON5FSzb6NzcDaOHUHHsgZVaJO56AGbOouD1jwgnIzOt5zuGA5TnlqCogXHVbR2frIcadvRw0ZnuSxNtXdBl0+Ioqq/cHQBxcOwH0AFW5RtRV0EVPB4tbn3GcgOWVruXUARSaBN4gauS6i5Ikk6o17KJmnOftLU+yRwD2YvdS/njhUCUMoT/TewApSRA1LwEg1p6OJbLdZcLDoiWKtvyibIc4VLvHV1zBimf9ix8CLI4JGExaAAp75SBLhSux9v3M6xhrdKP6kXowhaE+dfuXTBuOPI7lQNzOZhd04YrYEd6HbpiR9UZMzUVPHn7yL8PSeTr7N0QLDpgmWiOX3TKqaC57LoWK0zUDLJvwY/B6pqNeMywWHs40qIG1zvO7kkqdYL5KoyLeVrizGSXUN2n73ufNW9lnlnJqkZCj/5S4gyqeG8aye7+VBPg9AK+exUPTeVXCU3THKGPtb5AOiEhuoInH1wfBVoAoG0I5J4wErBsqtDwND0P2S9eTtCp2KfFsg6ZNBjjt58FQlyv39Dgo6jeDDZHWgKmkIltnfVypzuHmI2PgrAEoWQAhiibGF02k3IAkvLgE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(136003)(366004)(376002)(39860400002)(396003)(451199018)(31686004)(66946007)(36756003)(478600001)(54906003)(316002)(66556008)(41300700001)(4326008)(66476007)(7416002)(8936002)(6916009)(5660300002)(2906002)(31696002)(86362001)(8676002)(186003)(6486002)(26005)(53546011)(6506007)(6512007)(2616005)(38100700002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OXkzL3VvcWUraEM0cWlycTBKQXJpR1JuOXlyc3plTXA0TmpNekhSVENTVGMy?=
 =?utf-8?B?V2IzVHZpelYvbEREOUt3M1FKUWxiWTV5MzZnRDIzRVppTkE1aVJDM2pYc2lF?=
 =?utf-8?B?UUhYMSsza1RFRWxBOG92MUZ3bnNEMW9YZkN5TXJBRlBCZCtNbGRITEZiMDBM?=
 =?utf-8?B?emxMemM2elZLUkI0N2ZKMWNQNzZXdjBrUFBOdXY3cy9kcWZCYU1HckhpRWNE?=
 =?utf-8?B?ZHZyNnlSZXR0dStBYlJTekZrTmdSeW4zOFZocnJVRlQvODhHTThhV04zNm5H?=
 =?utf-8?B?NW1zcC9DL1FCcWhWWEhvRHVsWkZ0QkFBMGxxUDdtbnhTSi8waTJPNndZc1hR?=
 =?utf-8?B?WGRiblNRNlZIQTZUQU9EZ3dnd0lnNk5BYUdYT1N2L1Y0S0JBYlltcklQS3Vq?=
 =?utf-8?B?M0hiNXBYY3NQSVVVVE50V0xIdHRzUWlNR29nVTdlOW5hS3JUenNsYTFvY2VE?=
 =?utf-8?B?bmRPaTJEc004dCtrZTZKeXV3YlI3WUtGU1VVYlp6ZWpYa3paTUlvd25TQ1lB?=
 =?utf-8?B?NFZISUFSZ1RHb2RXbjhZTGluREh1aGN3cGpsT0tOOFdidDJaVTFkL1R0ZDlz?=
 =?utf-8?B?Y0R2dDZ1NmZERnlnT0lFOTVqY3FoelN1RFdqRTVISGtpT3BhSFhRTGJwQTIw?=
 =?utf-8?B?N1FWa2JncmNDd3BNTnNDUXJQWUd3OU0zRkJYZHd1SEFzLzRpUlpsT3J4VkZs?=
 =?utf-8?B?YzhyNkNmS213dVp5cU45TmIrRXVIUk55ZzV4S3lTUy9BS3NJUWZwTnZYd0FB?=
 =?utf-8?B?blNOZHg0aXArdnVsQ0h0bWRvdHk2KzN1QlQxc21PY1U2bmxZSkl3SHZmYU00?=
 =?utf-8?B?MWRIQ1AzR0lMc0hHcHJxYWhoS0JmRnZqMUk1ZXEwcVQrNkZiZzN5OTlVSEJQ?=
 =?utf-8?B?NWNxV0ErT2pLNzhuNGtJS2p1dzlwd3pweUFYQ2R2MzZtQ2FBZXRzblJOM1Z5?=
 =?utf-8?B?NEVVVHc1SnErOW9KN1htaW1vcWJQWjdQRUNvVmo3cUdHT3dtSHBNQ0FpNjhs?=
 =?utf-8?B?dk5qSVVPTUpXWVVyYlFIREIzSkx4OU1BdktyeVVWVC9PWHRzWUw1a1h0aFYy?=
 =?utf-8?B?d1VXSVZ3c3k4bUVaMGliK3VjclYxemkyalRHcURRcEtwc05HUytva2p2Mnk1?=
 =?utf-8?B?a09IM0ptdlFqNHRJRmg5by9wSS92Z05ONSsvSDdXcXFlb1ErS0lIbjlZdWZ6?=
 =?utf-8?B?aTJmS0hqZXdudmljZ3JGU1U1b1FLRlgxcGdPSDZ5dW9RT2xoZzExKzRHaGJ5?=
 =?utf-8?B?WnZNNzlFUWxXQXltVmQxbEhBeU9jMmt5aUZObE9DYUVlQmNUSks3N2Z2MVQ0?=
 =?utf-8?B?ZnVWWFEzYmQ4RDNxWGlvWk51RmdWc21heEVzb0xxZDVnUWM5REZMUzA2aGR6?=
 =?utf-8?B?Y2ttRlFKNzJycDBhLzQwY2tybVpiRTVzKy9XM0t2dU9PN2l4VVJDQmxVMXdj?=
 =?utf-8?B?V09wQTc4bWd2aGVmZU4wdlVYRHdrZ2N0YmZmbWFiQXRCZ2JDTjdGT1VkR1pS?=
 =?utf-8?B?bVVQVk9YbnkxZUkrcFpydjdqRFZ2WnZBYlNCZUhZVmVuaFg0S0NhMldoUmhM?=
 =?utf-8?B?WkVoaTVQdS9sYm1vTmMzKzdLVEd4UC9maTdRTUlTek1MN010OTJYMTlkTXFP?=
 =?utf-8?B?MWZwQzJ5bnNuQ0ltUzF4M3ZFN21jdlR4YU9Ha3hSRWZ2WHNkMnc0U1VBandX?=
 =?utf-8?B?UFdvNVExMUM2MzZMM25UVUlxYnlFNTVDZ0Nla09TZEJ1bDNWU3RoSDNXUlF5?=
 =?utf-8?B?R3FFN2xJY2E5bEs3MENDUENDdDhUMXNzenVLV2xMNThyN3lIMTVjRkJyRTVD?=
 =?utf-8?B?OXBvOXZ0M3h6RWh0S2Z6VGJtYzFrMnV4alpIa2NCckNnNmxZaFZYTkZTaTgy?=
 =?utf-8?B?dFNMMjhTbUJUdTZkZkdtUDRNMkxiVW9XczEwNmllVW1PYk1WMDgyY0xOSmZ3?=
 =?utf-8?B?M0Y2R0xTVW05OGx6cWZ0bVpvOHR1WUxhVlZtRmtVR2h6Zk1sSGNGWkdwQTlG?=
 =?utf-8?B?WHVKVXVoc1NnMC83VzZVMXc1N2dHdk91UUtmTUNNSmVDUWxIQStyaXdRaGs0?=
 =?utf-8?B?V295cDJ6VktVR2c1blVDQWp4cW9PQUZBcmNQNXVqdzQyaTc1eExzYjNnQTAy?=
 =?utf-8?Q?7A+OeVj2AxIbIhwFbj9dqls9C?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 31002f62-1c17-4580-e283-08db2477b1ce
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 10:34:30.7297
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3oGCqPEK5ioOIckBxP0EQuXVpxZd+NdEv8AkNIr0B2P4LG8h6aduqpe5VNcOyo8pnzMo0ZctIn/akgAirjDGAA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6953

On 14.03.2023 11:28, Matias Ezequiel Vara Larsen wrote:
> On Fri, Mar 10, 2023 at 12:34:33PM +0100, Jan Beulich wrote:
>> On 10.03.2023 11:58, Matias Ezequiel Vara Larsen wrote:
>>> Oh, I see, thanks for the clarification. To summarise, these are the current
>>> options:
>>> 1. Use a "uint64_t" field thus limiting the number of counters to 64. The
>>> current vcpu_runstate_info structure is limited to 4 counters though, one for
>>> each RUNSTATE_*. 
>>> 2. Use a dynamic array but this makes harder to use the interface.
>>> 3. Eliminate stats_active and set to ~0 the actual stats value to mark inactive
>>> counters. This requires adding a "nr_stats" field to know how many counters are.
>>
>> While nr_stats can indeed be seen as a generalization of the earlier
>> stats_active, I think it is possible to get away without, as long as
>> padding fields also are filled with the "inactive" marker.
>>
> 
> Understood.
> 
>>> Also, this requires to make sure to saturate at 2^^64-2.
>>
>> Thinking of it - considering overflowed counters inactive looks like a
>> reasonable model to me as well (which would mean saturating at 2^^64-1).
>>
>>> I might miss some details here but these are the options to evaluate. 
>>>
>>> I would go with a variation of 1) by using two uint64_t, i.e., up to 128 vcpu's
>>> counters, which I think it would be enough. I may be wrong.
>>
>> Well, to me it doesn't matter whether it's 32, 64, or 128 - my concern
>> is with any kind of inherent upper bound. Using 128 right away might
>> look excessive, just like 32 might look too little. Hence my desire to
>> get away without any built-in upper bound. IOW I continue to favor 3,
>> irrespective of the presence or absence of nr_stats.
>>
> I see. 3) layout would look like:
> 
> struct vcpu_shmem_stats {
> #define VCPU_STATS_MAGIC 0xaabbccdd
>     uint32_t magic;
>     uint32_t offset;  // roundup(sizeof(vcpu_shmem_stats), cacheline_size)
>     uint32_t size;    // sizeof(vcpu_stats)
>     uint32_t stride;  // roundup(sizeof(vcpu_stats), cacheline_size)
> };
> 
> struct vcpu_stats {
>     /*
>      * If the least-significant bit of the seq number is set then an update
>      * is in progress and the consumer must wait to read a consistent set of
>      * values. This mechanism is similar to Linux's seqlock.
>      */
>     uint32_t seq;
>     uint32 _pad;
>     /*
>      * If the most-significant bit of a counter is set then the counter
>      * is inactive and the consumer must ignore its value. Note that this
>      * could also indicate that the counter has overflowed.
>      */
>     uint64_t stats_a; // e.g., runstate_running_time
>     ...
> };
> 
> All padding fields shall be marked as "inactive". The consumer can't
> distinguish inactive from overflowed. Also, the consumer shall always verify
> before reading that:
> 
> offsetof(struct vcpu_stats, stats_y) < size. 
> 
> in case the consumer knows about a counter, e.g., stats_y, that Xen does not
> it.

Looks okay to me this way, but please have this verified by another party
(preferably Andrew, whose proposal was now changed).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 10:50:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 10:50:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509542.785476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc2E1-00017Z-ML; Tue, 14 Mar 2023 10:49:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509542.785476; Tue, 14 Mar 2023 10:49: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 1pc2E1-00017S-Ix; Tue, 14 Mar 2023 10:49:49 +0000
Received: by outflank-mailman (input) for mailman id 509542;
 Tue, 14 Mar 2023 10:49:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Zfqj=7G=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pc2Dz-00017M-US
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 10:49:47 +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 efadd250-c255-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 11:49:46 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id j11so60146700edq.4
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 03:49:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: efadd250-c255-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678790986;
        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=PRBbBOWk1CpW4YavqPLU53k3pPPWV1hrJi5FHoOOsSU=;
        b=MMgFbNGFIboxqbqujbMKbgh+IljKo1zGnHEcSjeF7Z8pgVYoFNBjzB2W5zM0/GW7jn
         dNNU2+LENsrwTZg4W6CZMi0AtEfgpAIblOyTxhw1WnXgtSRYv7i0ugGabcOSkrDU2n1a
         KTUP/Pe28lcapAul3atW+yTDpU6tKF4LorVipm8weCUorpM1JpWm6mnx7yPWotxHgoda
         n99k48lrHwEXK8cIJ5+EhvWhNLfc47ePAzxf7Nisgs/MxibA94AylxCsRh8kjvcyyIZc
         vd8e3ky8u7HsMKVdIAX76TmbMUruza0L3VAPZ7xWXGhsxykn0leIatlPn3J0xfFSzC2v
         OKLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678790986;
        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=PRBbBOWk1CpW4YavqPLU53k3pPPWV1hrJi5FHoOOsSU=;
        b=aMF4QiPbmn8LUeLro45SFZP4tIYChfZBIxc7GXwXAp24TGEUNONoa6pOui+YYyUZR3
         Davzt/os3v4LPvwtvNuu10T8PqcXaO5wzK+xVsGY3LhkoIvqvhAlydY93DtRaIWr7EZC
         3MUQcyNwzYscgOBqQ84ZSebdPLuqy83tDhtzj7QFichZIjIueQzWpOlKg+Rpkc4lM4Jy
         H+MFQ32m3GsOippUwO2JjouadUvUWROwWsvLdguY0LAgb+QXoA6PLbGnmpkU0EY9MBWy
         FZXzZ2F+DnCFe5tZDgQKLcv/S8qRQ6nC/funEB0hqgs0i0YG/WKPWvpiXlvhPzXoneRX
         +m6A==
X-Gm-Message-State: AO0yUKUsgKtXkUGvEt0gZFLOQY6pseT9FuiyUDHc+A7abEqQJEbvwSwc
	JNifl5IByZATdX7qfyj1/9l0+N4O2WqrRwLpBu4=
X-Google-Smtp-Source: AK7set+3pnDt7nYNxNIUIPOVZamzW/NGW2HTLgooCb4fJACiQ6quFcl4j2TJEuzwttUnQjPgo0wQZsoPSCV06uzUPzM=
X-Received: by 2002:a17:906:8552:b0:8ae:9f1e:a1c5 with SMTP id
 h18-20020a170906855200b008ae9f1ea1c5mr909195ejy.3.1678790986189; Tue, 14 Mar
 2023 03:49:46 -0700 (PDT)
MIME-Version: 1.0
References: <20230307182707.2298618-1-dwmw2@infradead.org> <20230307182707.2298618-14-dwmw2@infradead.org>
 <CAKf6xpuH2E=16s1jFvgL9J723wv0dhBD5aYWP2NBNj5rZio2jg@mail.gmail.com>
 <5062bef5b5cfd3e2d7f313de9af306f5e4f841f5.camel@infradead.org>
 <CAKf6xptRmeVmH3xmF8QffQA=aYeXxCWUw9ta2HaYx1xQngzjTA@mail.gmail.com> <1f141995bb61af32c2867ef5559e253f39b0949c.camel@infradead.org>
In-Reply-To: <1f141995bb61af32c2867ef5559e253f39b0949c.camel@infradead.org>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 14 Mar 2023 06:49:34 -0400
Message-ID: <CAKf6xptFp=g1yxD4vt3bpbcsLLjpLSc14u8DOHAmahjo25vuOA@mail.gmail.com>
Subject: Re: [PATCH] accel/xen: Fix DM state change notification in
 dm_restrict mode
To: David Woodhouse <dwmw2@infradead.org>
Cc: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org, 
	Paolo Bonzini <pbonzini@redhat.com>, Paul Durrant <paul@xen.org>, 
	Joao Martins <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com, 
	Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, 
	Juan Quintela <quintela@redhat.com>, "Dr . David Alan Gilbert" <dgilbert@redhat.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 14, 2023 at 4:35=E2=80=AFAM David Woodhouse <dwmw2@infradead.or=
g> wrote:
>
> From: David Woodhouse <dwmw@amazon.co.uk>
>
> When dm_restrict is set, QEMU isn't permitted to update the XenStore node
> to indicate its running status. Previously, the xs_write() call would fai=
l
> but the failure was ignored.
>
> However, in refactoring to allow for emulated XenStore operations, a new
> call to xs_open() was added. That one didn't fail gracefully, causing a
> fatal error when running in dm_restrict mode.
>
> Partially revert the offending patch, removing the additional call to
> xs_open() because the global 'xenstore' variable is still available; it
> just needs to be used with qemu_xen_xs_write() now instead of directly
> with the xs_write() libxenstore function.
>
> Also make the whole thing conditional on !xen_domid_restrict. There's no
> point even registering the state change handler to attempt to update the
> XenStore node when we know it's destined to fail.
>
> Fixes: ba2a92db1ff6 ("hw/xen: Add xenstore operations to allow redirectio=
n to internal emulation")
> Reported-by: Jason Andryuk <jandryuk@gmail.com>
> Co-developed-by: Jason Andryuk <jandryuk@gmail.com>
> Not-Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Will-be-Tested-by: Jason Andryuk <jandryuk@gmail.com>

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Tested-by: Jason Andryuk <jandryuk@gmail.com>

Thanks, David.

-Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 11:18:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 11:18:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509548.785486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc2fH-0004n4-1s; Tue, 14 Mar 2023 11:17:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509548.785486; Tue, 14 Mar 2023 11:17:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc2fG-0004mx-Ux; Tue, 14 Mar 2023 11:17:58 +0000
Received: by outflank-mailman (input) for mailman id 509548;
 Tue, 14 Mar 2023 11:17:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tqJf=7G=antarean.org=joost@srs-se1.protection.inumbo.net>)
 id 1pc2fE-0004mr-SA
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 11:17:57 +0000
Received: from gw2.antarean.org (gw2.antarean.org [141.105.125.208])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id ddaf8919-c259-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 12:17:55 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by gw2.antarean.org (Postfix) with ESMTP id 4PbWBV1NCWz8tP3;
 Tue, 14 Mar 2023 12:14:26 +0100 (CET)
Received: from gw2.antarean.org ([127.0.0.1])
 by localhost (gw2.antarean.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id mBwyV5UYvJ-9; Tue, 14 Mar 2023 12:14:25 +0100 (CET)
Received: from mailstore1.adm.antarean.org (localhost [127.0.0.1])
 by gw2.antarean.org (Postfix) with ESMTP id 4PbWBT3Z3bz8sYJ;
 Tue, 14 Mar 2023 12:14:25 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mailstore1.adm.antarean.org (Postfix) with ESMTP id 4PbWGT1jz9z17;
 Tue, 14 Mar 2023 11:17:53 +0000 (UTC)
Received: from mailstore1.adm.antarean.org ([127.0.0.1])
 by localhost (mailstore1.adm.antarean.org [127.0.0.1]) (amavisd-new,
 port 10024)
 with ESMTP id 2fME-9-NgdHR; Tue, 14 Mar 2023 11:17:53 +0000 (UTC)
Received: from 94e1ce1d9c1e (web2.adm.antarean.org [10.55.16.79])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailstore1.adm.antarean.org (Postfix) with ESMTPSA id 4PbWGS5VVcz15;
 Tue, 14 Mar 2023 11:17: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: ddaf8919-c259-11ed-87f5-c1b5be75604c
X-Virus-Scanned: amavisd-new at antarean.org
X-Virus-Scanned: amavisd-new at antarean.org
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=antarean.org;
	s=default; t=1678792672;
	bh=NZZGjlmHmVh1yAc8rYtIL8Z+lS2faaW+TwAhY2S6R1I=;
	h=From:In-Reply-To:References:List-Id:To:Cc:Subject:Date;
	b=Kb/pbynvZCMZL6uvI/OIhFv2684DWED3xNr7S5i8aIqM2OGR+0SeQL80pxzhvuG0x
	 DbDrkdb/MiCu+XixoOE0iYxa35xGC24YffaPFofHoBUZFEFN5w2gWKkGQs9xQ5kBk3
	 5lh2EJzPhY4G+FSReOB9GRqvdfa3lp4FuUZ1vO2Y=
User-Agent: EGroupware API 21.1.001
From: Joost Roeleveld <joost@antarean.org>
X-Priority: 3
X-Mailer: EGroupware-Mail
In-Reply-To: <858a4288-46ac-d423-a529-b3b77b7fbc8a@citrix.com>
References: <Y1JkuKTjVYrOWbvm@eldamar.lan>
 <85ad4508-b979-c792-e92b-01bc16260dec@acm.org>
 <CAK=zhgr=MYn=-mrz3gKUFoXG_+EQ796bHEWSdK88o1Aqamby7g@mail.gmail.com>
 <2fd505a07bd26d76f1166761fa50905414edb7ef.camel@linux.ibm.com>
 <30a056c8-071f-4259-3253-75e718af619d@suse.com>
 <Y1bEQMS5SNTbZO/3@infradead.org>
 <858a4288-46ac-d423-a529-b3b77b7fbc8a@citrix.com>
To: Christoph Hellwig <hch@infradead.org>, Andrew Cooper
 <Andrew.Cooper3@citrix.com>
Cc: Juergen Gross <jgross@suse.com>, jejb@linux.ibm.com, Sreekanth Reddy
 <sreekanth.reddy@broadcom.com>, Bart Van Assche <bvanassche@acm.org>,
 Salvatore Bonaccorso <carnil@debian.org>, sathya.prakash@broadcom.com,
 suganath-prabu.subramani@broadcom.com, "Martin K. Petersen"
 <martin.petersen@oracle.com>, MPT-FusionLinux.pdl@broadcom.com,
 linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, adi@kriegisch.at
Subject: Re: Report in downstream Debian: mpt3sas broken with xen dom0 with
 update to 5.10.149 in 5.10.y.
Message-ID: <20230314111752.EGroupware.TiNRv1BSroWqKL7zQtfNLJ8@_>
Date: Tue, 14 Mar 2023 11:17:52 +0000
Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes
MIME-Version: 1.0

> On Mon, Oct 24, 2022 at 05:28:05PM +0000, Andrew Cooper wrote:
>> I don't know exactly how this translates to Linux internals, but most
>> devices are fine and it's routinely the mpt2/3sas drivers which
>> encounter problems.  It would be lovely if we could get to the bottom of
>> this for once and for all.
>
> So to summarize my two mails: I think te use of dma_get_required_mask
> in mpt3sas is wrong, and the dma_get_required_mask return value from
> xen-swiotlb is also wrong. Fixing either one should fix this problem,
> and I think we should fix both.

Hi all,

Is there anything that can be done to get this fixed in xen and the  
kernel somehow?
I keep having to manually patch the mpt3sas driver to prevent it from  
being able to switch to 32bit mode each time I upgrade the kernel.

Many thanks,

Joost



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 11:23:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 11:23:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509551.785496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc2km-0006Lb-LS; Tue, 14 Mar 2023 11:23:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509551.785496; Tue, 14 Mar 2023 11:23:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc2km-0006LU-IV; Tue, 14 Mar 2023 11:23:40 +0000
Received: by outflank-mailman (input) for mailman id 509551;
 Tue, 14 Mar 2023 11:23:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6q5S=7G=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pc2kk-0006LN-KF
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 11:23:38 +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 a963700a-c25a-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 12:23: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 E792C21A12;
 Tue, 14 Mar 2023 11:23: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 84F8F13A1B;
 Tue, 14 Mar 2023 11:23:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ip8RHzdZEGQPMAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Mar 2023 11:23:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a963700a-c25a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678793015; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=7vMwARrpSWwlbu+JNqwQgd6T6dnpANcZT/4XN88yKPs=;
	b=vBElblGnqZUNKDc+V7n4FdaEw5trIM3GdJDS9YSJ+OZcSKSv3uX0csyxQ+aEwZrcAAA6UA
	g3AaHzihoScL6Iu48fOVNlna4VwY3wleljWh9ztt+p8jr5U3k/8F/3DplXmALttJNu16D1
	C5ck2y0BvKLsyuxHiEsOtKU3GuA1NDI=
Message-ID: <4c5de098-5cd3-116b-54cb-6972c6c06818@suse.com>
Date: Tue, 14 Mar 2023 12:23:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: Report in downstream Debian: mpt3sas broken with xen dom0 with
 update to 5.10.149 in 5.10.y.
Content-Language: en-US
To: Joost Roeleveld <joost@antarean.org>,
 Christoph Hellwig <hch@infradead.org>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: jejb@linux.ibm.com, Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
 Bart Van Assche <bvanassche@acm.org>,
 Salvatore Bonaccorso <carnil@debian.org>, sathya.prakash@broadcom.com,
 suganath-prabu.subramani@broadcom.com,
 "Martin K. Petersen" <martin.petersen@oracle.com>,
 MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 adi@kriegisch.at
References: <Y1JkuKTjVYrOWbvm@eldamar.lan>
 <85ad4508-b979-c792-e92b-01bc16260dec@acm.org>
 <CAK=zhgr=MYn=-mrz3gKUFoXG_+EQ796bHEWSdK88o1Aqamby7g@mail.gmail.com>
 <2fd505a07bd26d76f1166761fa50905414edb7ef.camel@linux.ibm.com>
 <30a056c8-071f-4259-3253-75e718af619d@suse.com>
 <Y1bEQMS5SNTbZO/3@infradead.org>
 <858a4288-46ac-d423-a529-b3b77b7fbc8a@citrix.com>
 <20230314111752.EGroupware.TiNRv1BSroWqKL7zQtfNLJ8@_>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20230314111752.EGroupware.TiNRv1BSroWqKL7zQtfNLJ8@_>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------OvWhcPNzpB5IFiX0ENVleu8u"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------OvWhcPNzpB5IFiX0ENVleu8u
Content-Type: multipart/mixed; boundary="------------2Q3vy6HJIm96Ptik5GhvztjE";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Joost Roeleveld <joost@antarean.org>,
 Christoph Hellwig <hch@infradead.org>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: jejb@linux.ibm.com, Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
 Bart Van Assche <bvanassche@acm.org>,
 Salvatore Bonaccorso <carnil@debian.org>, sathya.prakash@broadcom.com,
 suganath-prabu.subramani@broadcom.com,
 "Martin K. Petersen" <martin.petersen@oracle.com>,
 MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 adi@kriegisch.at
Message-ID: <4c5de098-5cd3-116b-54cb-6972c6c06818@suse.com>
Subject: Re: Report in downstream Debian: mpt3sas broken with xen dom0 with
 update to 5.10.149 in 5.10.y.
References: <Y1JkuKTjVYrOWbvm@eldamar.lan>
 <85ad4508-b979-c792-e92b-01bc16260dec@acm.org>
 <CAK=zhgr=MYn=-mrz3gKUFoXG_+EQ796bHEWSdK88o1Aqamby7g@mail.gmail.com>
 <2fd505a07bd26d76f1166761fa50905414edb7ef.camel@linux.ibm.com>
 <30a056c8-071f-4259-3253-75e718af619d@suse.com>
 <Y1bEQMS5SNTbZO/3@infradead.org>
 <858a4288-46ac-d423-a529-b3b77b7fbc8a@citrix.com>
 <20230314111752.EGroupware.TiNRv1BSroWqKL7zQtfNLJ8@_>
In-Reply-To: <20230314111752.EGroupware.TiNRv1BSroWqKL7zQtfNLJ8@_>

--------------2Q3vy6HJIm96Ptik5GhvztjE
Content-Type: multipart/mixed; boundary="------------MsH0akIuaBxQwzn6Mj9DRLb4"

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

T24gMTQuMDMuMjMgMTI6MTcsIEpvb3N0IFJvZWxldmVsZCB3cm90ZToNCj4+IE9uIE1vbiwg
T2N0IDI0LCAyMDIyIGF0IDA1OjI4OjA1UE0gKzAwMDAsIEFuZHJldyBDb29wZXIgd3JvdGU6
DQo+Pj4gSSBkb24ndCBrbm93IGV4YWN0bHkgaG93IHRoaXMgdHJhbnNsYXRlcyB0byBMaW51
eCBpbnRlcm5hbHMsIGJ1dCBtb3N0DQo+Pj4gZGV2aWNlcyBhcmUgZmluZSBhbmQgaXQncyBy
b3V0aW5lbHkgdGhlIG1wdDIvM3NhcyBkcml2ZXJzIHdoaWNoDQo+Pj4gZW5jb3VudGVyIHBy
b2JsZW1zLsKgIEl0IHdvdWxkIGJlIGxvdmVseSBpZiB3ZSBjb3VsZCBnZXQgdG8gdGhlIGJv
dHRvbSBvZg0KPj4+IHRoaXMgZm9yIG9uY2UgYW5kIGZvciBhbGwuDQo+Pg0KPj4gU28gdG8g
c3VtbWFyaXplIG15IHR3byBtYWlsczogSSB0aGluayB0ZSB1c2Ugb2YgZG1hX2dldF9yZXF1
aXJlZF9tYXNrDQo+PiBpbiBtcHQzc2FzIGlzIHdyb25nLCBhbmQgdGhlIGRtYV9nZXRfcmVx
dWlyZWRfbWFzayByZXR1cm4gdmFsdWUgZnJvbQ0KPj4geGVuLXN3aW90bGIgaXMgYWxzbyB3
cm9uZy4gRml4aW5nIGVpdGhlciBvbmUgc2hvdWxkIGZpeCB0aGlzIHByb2JsZW0sDQo+PiBh
bmQgSSB0aGluayB3ZSBzaG91bGQgZml4IGJvdGguDQo+IA0KPiBIaSBhbGwsDQo+IA0KPiBJ
cyB0aGVyZSBhbnl0aGluZyB0aGF0IGNhbiBiZSBkb25lIHRvIGdldCB0aGlzIGZpeGVkIGlu
IHhlbiBhbmQgdGhlIGtlcm5lbCBzb21laG93Pw0KPiBJIGtlZXAgaGF2aW5nIHRvIG1hbnVh
bGx5IHBhdGNoIHRoZSBtcHQzc2FzIGRyaXZlciB0byBwcmV2ZW50IGl0IGZyb20gYmVpbmcg
YWJsZSANCj4gdG8gc3dpdGNoIHRvIDMyYml0IG1vZGUgZWFjaCB0aW1lIEkgdXBncmFkZSB0
aGUga2VybmVsLg0KDQpKdXN0IHVzZSA1LjEwLjE3My4NCg0KDQpKdWVyZ2VuDQoNCg==
--------------MsH0akIuaBxQwzn6Mj9DRLb4
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-----

--------------MsH0akIuaBxQwzn6Mj9DRLb4--

--------------2Q3vy6HJIm96Ptik5GhvztjE--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQQWTcFAwAAAAAACgkQsN6d1ii/Ey+T
Dwf7B0bjjfjWFw00vV/SZ0Q0qzfpahQ13HnDoy+ltbC9n+jn9wgVXdUp0TvVA0/NAYb/0UeOlibh
3eym1qP9oyYbhdeGmfqkg4ma7RQQN9dCFkQkHCnawnayu/xt3Zrh4qtYTsyTFm92Aowt8VwTCkYX
UXGM+sb1Gt8eo5PWVf7R2w1XSODvMEztUHi6ItQDmXS2KHHVR5TpA780V2oStMdQzSo6dWOA7CHs
4Pxzp5WOTiv/7sLbp12uPFPOszHt5PaQ62HYf9245lC6GTzKoHvPQJUG6UHgBsU3DVL/fwie3arJ
PJ8f65kRx6O3+nA8Xdzk/6LLLqZKx1PXztSe2a+7wA==
=AtOP
-----END PGP SIGNATURE-----

--------------OvWhcPNzpB5IFiX0ENVleu8u--


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 11:42:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 11:42:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509554.785506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc32y-0000Zc-6W; Tue, 14 Mar 2023 11:42:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509554.785506; Tue, 14 Mar 2023 11:42:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc32y-0000ZV-3V; Tue, 14 Mar 2023 11:42:28 +0000
Received: by outflank-mailman (input) for mailman id 509554;
 Tue, 14 Mar 2023 11:42:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vQyL=7G=citrix.com=prvs=430d4338b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pc32x-0000ZP-90
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 11:42:27 +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 47e7d163-c25d-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 12:42:25 +0100 (CET)
Received: from mail-mw2nam12lp2049.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.49])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 07:42:19 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB5701.namprd03.prod.outlook.com (2603:10b6:510:42::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 11:42:15 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 11:42: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: 47e7d163-c25d-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678794144;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=qzZtNxHfo6RzkB7agZSgsWYLVxmosjA3fu6qR0J2Q+M=;
  b=aQ8t1J0FYh1Ipx7FzsD+N50AP4DJiLSduviK91clL90QtXh2jL4eLNA2
   PTD+UbugYv2kUw2jpD1ho/eqIDj1rTSMn8khz5S6EkzE9E5+HUJml+wCT
   tOIUyaPbx9q60QWz6rLKwQ/oXtGjpwiMt8VeDT3dD2XJ2ayzyLWLtvDRX
   U=;
X-IronPort-RemoteIP: 104.47.66.49
X-IronPort-MID: 100768011
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:0Eqtpq+R7u0FF974y83IDrUDYn6TJUtcMsCJ2f8bNWPcYEJGY0x3y
 2cYWjjQPv+ONGH1KYgnbdzl/RhXuZbTx4drSQFppH08E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkX5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklPr
 8MVMSosSiqv2fKSh+6pU+tlvdkKeZyD0IM34hmMzBn/JNN/G9XmfP+P4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTaNilAguFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuiANpNSu3gr6cCbFu72lY0GUcIXGOA/ODkr0KwZcpiM
 EIS9X97xUQ13AnxJjXnZDW6r2SDpQU0QMdLHqsx7wTl4qjT5B2FLmECUjdbZdUg8sgsSlQC1
 lSJt9LvCyZmvLCcRTSa7Lj8hTG/OyI9KW4EeD9CTAEApdLkpekblQjCQ9VqFrK1yMf4FT3h6
 zqQqyEyjLIWy8UM0s2T907OhTu3vZPJQyY87QCRWXiqhitybZSjZoiA5VXR7P9GaoGDQTGpp
 3EYm9mXqvgUBJKEjyylSv8KFb2i4PPDOzrZ6XZ0ApYo8T2x+zu7Z4la/XdlOU1zO8MNfz7Ba
 lXUsA9a45oVN3yvBYdyapitCsJs1aX8GM7+W/b8acBHaZx8MgSA+UlGQHasmk7wi0krl4U+P
 4qLN96gCV4QE6NuwDGxQqEW1rpD7iQ/w37DAIvw1BWPz7WTfjiWRK0DPV/Iafo2hIuAoQPI4
 5NcOtGMxhF3TuLzeG/U/JQVIFRMKmI0bbjmpsoSeuOdLw5OHGA6F+SX0b4nY5ZinaleiqHP5
 H7VckZUyXL8n3zKJgSRYXAlYa+HYHpkhXcyPChpOEny3XEmONyr9P1HK8pxeqQ7/ut+y/IyV
 +MCZ8iLHvVITHLA5igZap7+6odlcXxHmD6zAsZsWxBnF7YIeuAD0oWMktfHnMXWMheKiA==
IronPort-HdrOrdr: A9a23:+r74Za6ZXtfEY0DnQgPXwKvXdLJyesId70hD6qkRc3xom6mj/P
 xG88536faZslwssRIb+OxoRpPufZq0z/cc3WB7B9uftWfd1leVEA==
X-IronPort-AV: E=Sophos;i="5.98,259,1673931600"; 
   d="scan'208";a="100768011"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dq5OhSlt+kai74kmXM+E1ukbvgBP0owXI6c2Ns6zKqCbcOZmbx0oYFHTpeVVthUKXzPOJ+jq0D/AM7QhVAGJpNpUoy5XlbKl3XAXnawXMcEAS2B7rv/xWTeuR8w91ljWBJCcZTFDJuCu/DEtFckZjK6UvQ81t6tfvV5A3QL/yGIK0FkqhgITL3w966OX7DBWmuuov/RGfFPmQ8P4r9YEhiMW6KvUpdfiuwad+y1TLk6X5WgBuQ5P6QDIbsHtwT/C6WPKK92AKCcyoKCLP/zqKkNO8+w6hlyzzT/97v+hiODyIB4Fy4m2vI7rJn0EQDZTtCorjdthOQaHI4CZSeTPrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qzZtNxHfo6RzkB7agZSgsWYLVxmosjA3fu6qR0J2Q+M=;
 b=U/W5uCR73n8G+eNX0YFmYQNNyEBO8lV8PEgmUK8MjSfxY/iKIbfEysDHfzmnBIa2Q9l7uIhMabNpFnZQ3YUemzNs8+dw0FAxhT9DcylADpCy6SGIeHyY2xcrPDIJpiOpRTycRNx3dLtPVlRSKzdghYpSb0q4AfSDxFeHXQ4NH5O1r6afeqY8VpyZxWSXfr5M+1LLT7Hh0o3Dg6OFi3zS8uEXz+6JstxNxuOurUC15TdCNortfZg4hh5i9Vz7DAtyw5UHpW1kshdMNIlYxKcBpAtinAV6n3BdDXwI6btfWhglc2M8QgOg1XGB3qS+waUGRWVd1/5eyLBiuy+R657G8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qzZtNxHfo6RzkB7agZSgsWYLVxmosjA3fu6qR0J2Q+M=;
 b=Q9wk6d8NdLhiGD88tWzvTYXWr1nljd7+I3NVJLSXOaOcFk82Mz+N8+340bffBiSlmshzyBDo7vcxsWjo2zdxluyESf/eH64x9PmMxTtC+cQccAE9EWEoDY5RoAORvWZpyt7+cpMPSuWZZVH9z85TcElQ5DxXjO4PPZF3UBM+r8s=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <8cc36c16-4aa0-9c47-ab2f-c75c1e22772f@citrix.com>
Date: Tue, 14 Mar 2023 11:41:08 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
Subject: Re: Report in downstream Debian: mpt3sas broken with xen dom0 with
 update to 5.10.149 in 5.10.y.
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, Joost Roeleveld <joost@antarean.org>,
 Christoph Hellwig <hch@infradead.org>
Cc: jejb@linux.ibm.com, Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
 Bart Van Assche <bvanassche@acm.org>,
 Salvatore Bonaccorso <carnil@debian.org>, sathya.prakash@broadcom.com,
 suganath-prabu.subramani@broadcom.com,
 "Martin K. Petersen" <martin.petersen@oracle.com>,
 MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 adi@kriegisch.at
References: <Y1JkuKTjVYrOWbvm@eldamar.lan>
 <85ad4508-b979-c792-e92b-01bc16260dec@acm.org>
 <CAK=zhgr=MYn=-mrz3gKUFoXG_+EQ796bHEWSdK88o1Aqamby7g@mail.gmail.com>
 <2fd505a07bd26d76f1166761fa50905414edb7ef.camel@linux.ibm.com>
 <30a056c8-071f-4259-3253-75e718af619d@suse.com>
 <Y1bEQMS5SNTbZO/3@infradead.org>
 <858a4288-46ac-d423-a529-b3b77b7fbc8a@citrix.com>
 <20230314111752.EGroupware.TiNRv1BSroWqKL7zQtfNLJ8@_>
 <4c5de098-5cd3-116b-54cb-6972c6c06818@suse.com>
In-Reply-To: <4c5de098-5cd3-116b-54cb-6972c6c06818@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0053.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1::17) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB5701:EE_
X-MS-Office365-Filtering-Correlation-Id: 21aeb820-72fc-4bb9-676b-08db24812860
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yja8lMIF6Nxrujrchb8MwHYGQg/y33oyKJQu+kyu3+rJVMamBHAXpf08Dhb7jJeufxUws3E0D7Jui6sx5qJTTeHtVLuPr0lCJrV0BkoFPxW4r0DEHNUHLIqVPY+20cx/SFeOjntOyWLf8Hnz5AoYMjZ8Cp/XTCSoKjHysVEd0/u+1lLPa6tkV3P4LZVRjvDSpfyfj+4BWw56YwXTv1jHyvasXBQpDn+tBxF6E8XkPZMW4CLFJWJfn6opqMrfUZl5821wZaUZ3bOEIw8EGfkVRIEXyDMDw9caFEohRRG8XBsA+8t1pgNb1AY29M65RotLCrZScQIKaMy2VPZ03bUY88zRptHR51k/OJNc4y4+j8jLRO43ViYIjHXF5hFF/7I1foX2GK4QiYQ490JLdMTU8GDiL9c1Eu5VRaKoIQOvZ/+jjJV/A2jUUR/XGnpSn9v6WMq8mtzDx1U1IGgdXb83bnex4p0vks9lhjPBwuNitktzayuSDxtyZkef3USrlMF4Nucfd4SGfJQr5cblBG1eWGwvWF1W+ik1y/gZo1SXwHCEZ33AYgt7heUt8en/h1S612z8S96FBcCXOsYu4RUuT67PwOAW0VI2sX6ax2Ubt9Rk69IA0fNQGMmddXqcsgIh4a6B0+r6c2jXkhALYdHCNwAFTi+0eMrOOtUABtJAuK1OE5yjQ+pHoTbCHYrtaEyRYjZxYsI5/k9lIbec7TEKg0VprnlWloDw9aEgxHolRs9bDUj8w+WyP0SchVB0hfXsrlFsKYHPkJyk01cF5+0gVWOtdwp2lh2cajlG3L6vY3c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(366004)(39860400002)(376002)(136003)(346002)(451199018)(6506007)(6666004)(26005)(6512007)(36756003)(6486002)(38100700002)(66556008)(66476007)(66946007)(8676002)(4326008)(110136005)(478600001)(82960400001)(316002)(54906003)(186003)(7416002)(2616005)(53546011)(5660300002)(86362001)(31696002)(8936002)(41300700001)(83380400001)(2906002)(31686004)(42413004)(32563001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S3VaMGpnQlBzK1l3T1ZPWE02L3QrWWptbU5MbWUyMEtCV0syYVRvUk91RGc0?=
 =?utf-8?B?aEE5Z0E1K1Vvd09tazVjdE1PazdkNUQwbUo2LzFrVWxIaTlkcFJJVkF5S2NI?=
 =?utf-8?B?K1pBY2wwWnd2aGcybDZ4Ukw5YzRVZW90SVg1VVNSeUhDVUhWVDJRT2JzbU5s?=
 =?utf-8?B?ODMweTE5NThwSnVlMmxXK09wdnc3TUgrU2FEV2hySlRKcnRTVTd0LzdtSFJZ?=
 =?utf-8?B?cVdOK1pnL1dMQmxtK3N6VnpzM3VoSlJScCtkMkFIMVdCemh5SHcwTGJTNXpD?=
 =?utf-8?B?eUdobzYyWU9NUGJ1ZmFzK1ZuRVpDSFFycXc4Y3JkTkRkRE5ySFloWERBU1pK?=
 =?utf-8?B?UjFUN0xaRWF0OUZ5cmZ2a25ROE12ZVhVZS9SRUtGaGM0aGhLYXVScDdlSVBx?=
 =?utf-8?B?VExaMTY3dkU3VXk3UE5CY0lkdCtzR0hHVVp5cGFTVlNYdzFRZGFIV085TlNP?=
 =?utf-8?B?Tm1udGZNa0R2dk5oSmdCRitXazFLcC85cTlYK1R5MFdoL3FlMDFHcStCUjdt?=
 =?utf-8?B?aGVDTCtVc3I3V1F1alpXUTlFMGwzelhFVDQ2UFQ1MVlodkJPZGc4VURpcW0v?=
 =?utf-8?B?SlFEbmtBdDlvbWNNSWJSV2NIS1N1MENXNFVMcWxqSmJBVytTOVhleWRjYXgx?=
 =?utf-8?B?ampycTdhcExTeE01K2E0V3ZmeVZqcU1vUWkrc0ZVUFpjMzcvSUtEQzdFcThj?=
 =?utf-8?B?Mnppek5JdjJsVnlvc1dlVVRpcGprdS80YkFHVm9RaXVGZjVHcFlQbEVPZFd6?=
 =?utf-8?B?YUZ2NVZ0aDNnN1JIcnM1VGcxVGFxQUZHVDA3dldrYmt2TjQrL3RZdUhxM2sy?=
 =?utf-8?B?VHJObkRmU21kQ1d0NkxmeTMwVWI4TXFMTnllU0pyMXZ0MndVS2JyaGNMYkhE?=
 =?utf-8?B?VWFTN2xsbEx2WTZPTGJSVUxrVGY2WC80MWRINlg3SS9VaTJDL1diNElBaEJX?=
 =?utf-8?B?SEhVUDZUS3dFR0t0alJzZlp1ZVk0WXQzYTYzdFNabEhqNGpJb1BxUzZ5L3Z5?=
 =?utf-8?B?VWZJVks2YUVJK0pvQmZLZUsxTElFR25hTXFRYjlJbm1pcnFONGlRREhyMkc4?=
 =?utf-8?B?cnl3dFdhaEJuNStaNkdSclczMVFUdUErSk5QckVVVThOa2JVLzE1K3hSTmZ6?=
 =?utf-8?B?OVBXQVlObHBZZnUrOHl0djB1NVllcUw5andQcXl0R285UWpFR25LVEpXa1F1?=
 =?utf-8?B?aHlyZitjbFgvQWcwMVJFdnlVdU9YOS91bXBUeVJVdjArQzUwUDhJWWs4TXd3?=
 =?utf-8?B?QWhWdXZwWjQyZm9CRDhabXdKY1BwdmdWWHg2UWZaQzhrQ0JNaG9Ob3Vuci9q?=
 =?utf-8?B?TlEzRXpSS043dGkwdTBjdkRmeUVvRVd0M09MZVN4a0NIdGxaUWNMeEZTNFFm?=
 =?utf-8?B?WS8rTG5MSlROcVkvVjFvUzF4Y1N2QzdHRWU5eFlxcnlTejFiUXhTa3UwWUI5?=
 =?utf-8?B?U01hL3pacmdGbjhobE1MM0R5dFdnaXdLSUs1MkNOcjJrTk5aY2p5eE10NE83?=
 =?utf-8?B?bDZSUzQzMWkwV0lBSlhoV2YwQlRLeGF5amZKdE1aQ0hiWHhpYk9BVS9FU3pI?=
 =?utf-8?B?T0YwT1JkR3ZBNm4zT3J4NitWaDVsYTZBTStJZVB3Qm45S2d4V3JOUFYvdDht?=
 =?utf-8?B?ZytZbXUrVXpBaGZVTzFEU0NvK0FPK0k4VFRBNHZZRlk2NFp6cWkrdHVKby9P?=
 =?utf-8?B?MWxMTUg2bnBvcU5HbFd0L0podHNQd2lpRkVnaVNlbGc1bzNGMmJJdUNUeXVZ?=
 =?utf-8?B?VGREZnAweE9YeVRLTy9oUVdrN0tyNHdDR01HZi9iWjN2eHE0YWJBeVdOWUx6?=
 =?utf-8?B?S1JlSEgxSW5JeFZLdXRVTjVPVEc1d1lsYVdFdkR0K3BmT2JTV1RBNHpUYVVz?=
 =?utf-8?B?M2pqZitwSFNpR29zT0hiNWpGQ1ZYem1kQnJQMlluNkkwajR2OHE0cHB4TWpU?=
 =?utf-8?B?WXJSbzZxN3JTR245V0VVSXFxVWJUbGxRRm1qTm1OdU5EMSs4bE1TcUFJZ1NN?=
 =?utf-8?B?dXh3NWpQUyt5ajZGV2VDSjV0T2M1dWJqSWJhWFZxMUpDQ3RlY3NibFVqeEFs?=
 =?utf-8?B?bWNKVFhyNDZ5d0orTmNieC9Ba1dkbDY3STBSeEpjTjV4S3BhRndzSUpTQ0FH?=
 =?utf-8?B?Y1htTlFOakd4MnFOSUovdmxJakh4ZWF6US9OeEVNcGNLY2I2aWhsd3RzbjB4?=
 =?utf-8?B?RVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?NENvM20wcDd2YUdtSnptY0xnOHphTXVYUWxxLzdxSWtOVXdHdmR3KzRqemJ3?=
 =?utf-8?B?cnBNbjBodWdibENvL1NwQXhnU1I4ZWNhRmFrUnhZbXVSczFKaDVMMEtDMlRU?=
 =?utf-8?B?RU5ZS2d0RWFMWHV4b2VrREhFbU1nV29JdURsb28yYXpOYktzWHVRcXBkTzZH?=
 =?utf-8?B?enl3RlNySUlESmZxbWJhdjlrNE90YjBSemlsNE8vVUtIT3oyQUxFRFBkRnY5?=
 =?utf-8?B?YytWOUc2ZjBsei9aczR2cm5PS0hTdFF1VEplWHBHV0dkblNFbEhoRDFnbDBH?=
 =?utf-8?B?bExFSVVvSlJxQUNzZWI1VUtoUm1lZVpSU1Q3aEdEZWlldGYrUGt2azlsQXNt?=
 =?utf-8?B?NTNJS05oaVJPUFJHYUZkbTZGUDJueC9wcFNaOFdKTG03NGc0Q1AxclFUcDJJ?=
 =?utf-8?B?WC9kb1hxbTJ1enJPSUMvS21xNGs0WlZwUlV5bEdKMEYxV2FBeUd5Z0VnWGZI?=
 =?utf-8?B?aEh6SGlSNkY4clN6cnQ0ekk0ZFR4ZzNWb2t1QjRLRzNiT2RiYS9GY1BZYjVM?=
 =?utf-8?B?NUk5aE5ETnFmbUZFUmFGTHVSSlZ5NzZBd3h0NFNhZDRlU2NPWFp1amtLaStj?=
 =?utf-8?B?LzYzb1pBU1FJclN3WlNjT0t0UGdsOGFDdFFSTDYvVk5BcDFld3g0ZFNjY0l0?=
 =?utf-8?B?QytxV0pyZjg2SURKelJIbVoyRU53RXVXam9NQ2xWTmEwKzJ3QWhXWTV3clJp?=
 =?utf-8?B?Tk5wUW1xVHc3NkRiS0RlcnViYTJJWHE5cldMQStXZjg1c0cyUDBuRWVXSWVF?=
 =?utf-8?B?NWRLMzEwT3htQzZUU2tLQTQzUFFHVFg3c282VXBGQUhFUFU2N253Mk9ETktI?=
 =?utf-8?B?ZVhUT2dta1oycy8wZVdTL0pYNXBhVVAvUlVyV2xMVkp1b0dsaWFmN2tCeTBo?=
 =?utf-8?B?RmEzRVp0Q3c5TVRIc2xCTFVLOElSejRCckQyeVpDQXNXQ3l4QmJHNFgrV05v?=
 =?utf-8?B?NFdFMThoRVNqOUYwSWlBN1RUakVoWnVuTFdETXJoZnNGUWF0MXVnM1dqRmJa?=
 =?utf-8?B?d3pyS1Rpa2hxaE1jTjhqTi85Tk0xSU1udk9mU2FlVTRnS0Z4WXkzRkNEMjBF?=
 =?utf-8?B?aW53dFNycGNVaWN1RVQ1dytNUGdqZXpyTWhqZmxlTFg3UnRtMjkrZjF4bytC?=
 =?utf-8?B?R0xnSTdGRzdQL0I5Sm9pK0tsOTZ1WFdGLys5Y1Z5NkNPK2hNelF4VWhKK05S?=
 =?utf-8?B?WTM1eURzZlczT3FMU2ROS1VjVmlYdXRnSktwL1U0a3cwNjJ3WWpJdlhxVWdV?=
 =?utf-8?B?YXFNUWFjamp5SnVBS1lMeEhhZnZUYzJsSEtwaDlRemJQbzVTT08yVk0vb25N?=
 =?utf-8?B?K0h6aHBTUml0Wmw2TkVGYjR5Q3d6SnpodEpwV2UrZlRheEl6N2VRQUtObXVE?=
 =?utf-8?B?U2JUVW0ya2lnellvcnhybUtjeWRFb0ViUkFMRGlid1pyWWRySllQNTRBNHE5?=
 =?utf-8?B?bCtLN3BheCtBZkhBNkFpNWFYZjIvN3VBRVFpWjFlVUFjcGZrbGR2Y1d2ZkRw?=
 =?utf-8?Q?AaGE40=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 21aeb820-72fc-4bb9-676b-08db24812860
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 11:42:15.3750
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aJTz+dtHUFWEXx9vPf7NEI1cl7HbDYHx0xe7zch64ithjwuSgR+E/sEkZWgwwcZfP6ttOAYgso65urixdBgpJQ0TbACYk7jUdBih/pM5sac=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5701

On 14/03/2023 11:23 am, Juergen Gross wrote:
> On 14.03.23 12:17, Joost Roeleveld wrote:
>>> On Mon, Oct 24, 2022 at 05:28:05PM +0000, Andrew Cooper wrote:
>>>> I don't know exactly how this translates to Linux internals, but most
>>>> devices are fine and it's routinely the mpt2/3sas drivers which
>>>> encounter problems.  It would be lovely if we could get to the
>>>> bottom of
>>>> this for once and for all.
>>>
>>> So to summarize my two mails: I think te use of dma_get_required_mask
>>> in mpt3sas is wrong, and the dma_get_required_mask return value from
>>> xen-swiotlb is also wrong. Fixing either one should fix this problem,
>>> and I think we should fix both.
>>
>> Hi all,
>>
>> Is there anything that can be done to get this fixed in xen and the
>> kernel somehow?
>> I keep having to manually patch the mpt3sas driver to prevent it from
>> being able to switch to 32bit mode each time I upgrade the kernel.
>
> Just use 5.10.173.

Its still broken even in 6.1

We've just stumbled over this yet again in XenServer.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 11:56:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 11:56:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509558.785516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc3Gk-0002Hl-Hp; Tue, 14 Mar 2023 11:56:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509558.785516; Tue, 14 Mar 2023 11: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 1pc3Gk-0002He-F4; Tue, 14 Mar 2023 11:56:42 +0000
Received: by outflank-mailman (input) for mailman id 509558;
 Tue, 14 Mar 2023 11: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc3Gi-0002HR-N7
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 11:56:40 +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 46d2271e-c25f-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 12:56:39 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7451.eurprd04.prod.outlook.com (2603:10a6:102:93::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 11:56:36 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 11:56:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46d2271e-c25f-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JmYy4nmZp0JBcl/uTtbQzy04GRPucTEOfkuDBtVYGXGSOy6vGqTb+gnMUkuAMEoA6XMRnUGAjDNdEUxxjcdkZLO1DCUEZf9ESZcllr3Q1OE65SeC95aNnEbDzQmiK9hgrGb/TVipFhR9DNblK+/w5vlgBeJzBCyc0CainmDr6TV+rscseTR5Qrcb2ADv4dh4a3od2FBv2qqoWQOB3hLzE2eRSbXJjgIiwmx5EgnD4KzBmFhQy/edF6AdjL1gd45QwPJXs9gJX5narh9ZJUGw88EsugU2WAKjsGefDtzLjaUeGBw5oWxA0jsbqfzCXcnunoWEUK3ev4P4Ekd2Pt5P4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CycMpsj2bFwh2XWHtApbCxJag+E25ba/wqRdhNUKzPs=;
 b=eyT6c8+x9PRQMwa2kCyDaaYBEdjIRVJljyu4w59fBx38yWAFu80tLG5qOfZ068DzUM7im0u7QbO34LcWapRkqyaNzSsZkvu+yIOoxHCK1DlJyOg5DkaNaPyFGC5JFl5OJJiUNwVkSaowjhGbEaumpiXhn+FT244GOO3vH1WI0dQ69bHAbMKDPTWQKLAh2dXeq+wNXcQtS/RXlD2i7kreozL1XjyHRVC2nCTtmiVDIlIfVg/B/RIxOAnGrPUqZLRJSF0FWhZLWJ/57lyNzs5WjwtUtcIocgYQ+XQvVuaC3DYbeoR1QdsigVdwfJCWAC9QcvfvgaTkoLYQpEUqKWeLaQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CycMpsj2bFwh2XWHtApbCxJag+E25ba/wqRdhNUKzPs=;
 b=pAXP/HhnI6j6eZIgrmujS9GldnEVRrJ+1bEAabQQ7aW+F5Vlnj0CxI/0ijp3QIdmRB2I6KMRfQwu3j/aB2/VikE6+Xqsl7q8tQp+gLb4JrCBa8lecvjbtCc7xxAFh/rwqFPJs3mHbMJXzin+17SHD9d05+NbmsYTr2hOhYPeXoOhmppTpzTZDLwMcCDwQM190zInWpr7alRK21+PAPKYoHTlLaYz5IPusDxlBTIFX2LeVO9E3iOJcHBanN+8OFb2mHcuY1KJzSIjRrYanlU9EdH5fpMGDBBdi0qoqh6mAqJIQoqDCLH8wUhptQItEGLFVssZFrnjs47xkmMxR3m+YA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d22fabea-5821-075d-07be-7e9378be1b5c@suse.com>
Date: Tue, 14 Mar 2023 12:56:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] vpci/msix: handle accesses adjacent to the MSI-X table
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
References: <20230314101331.4194-1-roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230314101331.4194-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0073.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7451:EE_
X-MS-Office365-Filtering-Correlation-Id: 98dd9eb7-71ed-4b35-57a8-08db2483296e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mHvrlVclM6ZiEc3dya3L2kboH9EWIkowCdin3HVfmfLVTm9TxZDnRE/EFHKYYNGVuFIu+LBExT+LAqWxWDdtUi/KOPbgNUuKsLO18PhxrdmL9JqeiG/qu2a95FF6qZNV0q5eZtZzGBNo18iA5zUb5R3biLZbNpg2G7iRpRNpi87ZGw6jV0iJmPCh5SgfLgzN9OOe2J4dzVA7H7DkeLlkef0LZm9L/OHZ6EM1rpNB9f7pQvPyed687h2ZEtSWSrbvvv/fylxCqoJOv3wbtx11jUCDyxgeDJHo22gWkn2ThjlYrlaiinVEDVmNh5sHzY3aw9VBda6CygL6rD238JWEbI7u3TuvCXaREkseO9rRhC2qyGeyS+QmkW2mIVo1NsIeF1LTe/Q+4rVIMKkFaAExHcDidMwEQH+NRydKjqQPeHyCZQMNZJ57TS5Kv83Rqeh1PPEkYY0/BjmJVfl9lMB0RUwJvsbrBaTgpWDGtcEG9G2dZh2qFDFglsLrJdHimRoO9EKDb39mUn7cNY5h4ANeCT17tlUNmcLwEqx7iRe7yfwvf6uKrcN9c40MiFmZ+YGCzEMqivvfUQRa8ruOKM920MSMBc+xKvF7u9Wa4g2papzICuquTTWWSeKgQUL66reb7OPifBTAIaU4yijiWK6E4B1JIoakRb2hNxc+0CwbMw5PHISEflQiqhTKOfC9ulwsuRzTuhQEaXqTJ5ixuhuIZOt617LHQ2U56OH3VIil/20=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(366004)(39860400002)(136003)(396003)(376002)(451199018)(86362001)(31696002)(478600001)(5660300002)(2616005)(6486002)(6666004)(36756003)(2906002)(186003)(26005)(53546011)(6512007)(6506007)(41300700001)(4326008)(6916009)(31686004)(66946007)(66556008)(38100700002)(66476007)(8676002)(66899018)(83380400001)(8936002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cmd1aWtEa3gwMGpHYUdjZlFmUHFwVnBCbE4zaFJVQnBTZ2lLZzg3TktHKzBj?=
 =?utf-8?B?cFVVNm1jUktDTXpTaDFIVnpCVFE1UVhHRUFJQS9uZnJhbkFGcHNjd1ZBZDdO?=
 =?utf-8?B?NitXZXRWM2tRWUFpSTBsODc1TkUrSUcyb1dORk9BR1k1R3pQMHE1cDl6dzhj?=
 =?utf-8?B?UlVmTC83RWV6YXdQWkRkQVR5bmY4MWllbVhsbGNvYnAyYnByMnYwOHk0TWo0?=
 =?utf-8?B?VnNBN1FIWVpiOXgvTmZXbENZckthRVNOZU5qR0lxS1daRVZvaWo1YmFMSWM4?=
 =?utf-8?B?aFZsUVZCUjJnU0ZUMzdvZ01hZiswYTJva28rL3k0enBqM05EU1dTTUdMODls?=
 =?utf-8?B?WTcyYktSbDRrcDQ1N0dSM1dNTkRJZzl3c0tqM2NUMG91K284aHdlK2I4ellM?=
 =?utf-8?B?Kzc0aGdWZFY1ZHpnMG1weUNrYkRzemJrUC92c1lQbDNEZTNFeTBmREdhd1VR?=
 =?utf-8?B?eGxnR0g4azhIZFZPMTlnM20wVVArRm1ZN1hCL0tTT1hqM21RNUFSS3AzaWN4?=
 =?utf-8?B?ODcxOGRFRVk0Szg1SmkrYmJqdTdLRFp0aTlwakdNN3prdHIwdTV2WUxQVi9r?=
 =?utf-8?B?SGFQNFRGZFRCV3dFU1Y1SDVVYWxiRC9JdzVGSWRZWVF2T242NmZvS3N4UDBU?=
 =?utf-8?B?aklzOU5uS0FVWDdobytJcWkzQlJFY2FGMWE4TlNTNDhZNGIwemNuSGVkc2pj?=
 =?utf-8?B?N01uQm5GZEh3RDNDcFlUQ1lTc21tMVRUN2Z6TEd3RXRPTHJGNzdCcVE0SGFi?=
 =?utf-8?B?TmxUY1J2NDBjK0JiaU5md3kvaXAzR0g1RkhJL1VZYVk0a3lnNkVTN2U0QnAw?=
 =?utf-8?B?b3Y4TnVUV2tqZFExUW5HSmpFcEkvQlhIcmowQmt6VTA1VnpBSURWelc1emZo?=
 =?utf-8?B?RTFXbHRsK3ZqazBidWd3Ti9ET0l4U2hmVmtwOERzWnE1c0VYZWtTUXpGK0Zm?=
 =?utf-8?B?R01TSTJEd2I1S0VYUm1SZUJ3Qzg3Y2pFZ2dhOUo1QnhPVGdHcVVKTlFCT3J6?=
 =?utf-8?B?UVQ2VE50YnpBWkx6VkZVTFNLY1N2ZUkzMmRrM3F4eFcwNlptSGQrbTFkS0gz?=
 =?utf-8?B?ZHR0VXBnMitJUHBDYklBWDBHb0VaQWtWZVdJMnJFSTgwbkhoUkdDS3hpVmFx?=
 =?utf-8?B?cU93ODZYeFN6bFFqckh4eXY1cGpYb2xZYWN2S1NMcmNxeEtJZHltRzVidUlM?=
 =?utf-8?B?STRtWDZMdFpwbXJKNkZYWmlmVFlWencvRUNnb2VsNkE1bUV5WjREUVJHeTBo?=
 =?utf-8?B?aWdONGhNdkhvdmt4STRKbE5wb0lxOWtJb2VpeGZQODVZVTE3YTloTFlDQjAx?=
 =?utf-8?B?bDM1cHVGVFdobU1LVkt3QVRLSEdKcHhsOTRaZHRyK2xXRzh2cFhIMW9MVlFD?=
 =?utf-8?B?Mmw1dHRqYkpWcGFjRWMyVjVYem5FOTVSNHRCWHhZK2xZcDJRMXRyWkJWeXlK?=
 =?utf-8?B?d1RZVlhTbDRIV3hPUGZNclZtNHpway82cVJqNzQ1MXBDOTFSUVVmcXU1NXc4?=
 =?utf-8?B?cjBiNjRUYWs4bWFrbERxUlZkcXRiQVR3V01qcUdPQWo1cndZRDBqYTBlL0JL?=
 =?utf-8?B?SHo0UzFDUWJjck5KcDR4dVpJbDh0RGlIOGY3dWRaYUdZUUZRWU1vaXhxLytp?=
 =?utf-8?B?Yk0zM3ZKZ0NXYmZlU3luSmNGYkkrR29SOW1sWFBlV0pKb3dmZ2hEWGxCVXhL?=
 =?utf-8?B?QUpLbE10UzNhYkpWVUFwN2Z4bmJlSHdBSTJScDZaRUl3ellDVEJtSkk5WkVz?=
 =?utf-8?B?QVZPekY0R2t0OVptcStlTlFPUVBRRWdiUndiaHVlU1hqK0xKQWZ3ZWM4Mnp5?=
 =?utf-8?B?aW9iL0hpUU5NakV4ZjUrbk5FOHQwemJXczBFdk8zZ0s1eWl5dmx1R0lBNnAw?=
 =?utf-8?B?VDRwUTRGaVUycWRRS29RcUlpanVvTHRKd0hUQmdVQTh3TW0wMUdoNUlxZUVM?=
 =?utf-8?B?Vm55NU42aStYcVJxajVOcEg5aG9XREZXUmZSNzNrejlVYis5V1ZhaDlWNzB5?=
 =?utf-8?B?cDZFeGFLSVJwV2drTE5RNXB5NW5LT05tcHhFQTE0TXpVd0FhUXZjSGJUdm5t?=
 =?utf-8?B?STZTMG0zVVlXUndzYmhEdG1mODJNVFp1MS9Gb1dHYWNRN0lKUmgyN2lvLzVE?=
 =?utf-8?Q?gPNBC0klvY017MDxIU8GjNFL+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 98dd9eb7-71ed-4b35-57a8-08db2483296e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 11:56:35.9032
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: s+1vUcN4HT3Y+JY6+zfK6SZF+4REVwq8P2ETpCYz9OSnnnC0vsgh8mYRQnr6cRgVAgTVIMMGz0yJ1319goBZMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7451

On 14.03.2023 11:13, Roger Pau Monne wrote:
> --- a/xen/drivers/vpci/msix.c
> +++ b/xen/drivers/vpci/msix.c
> @@ -27,6 +27,13 @@
>      ((addr) >= vmsix_table_addr(vpci, nr) &&                              \
>       (addr) < vmsix_table_addr(vpci, nr) + vmsix_table_size(vpci, nr))
>  
> +#define VMSIX_ADDR_ADJACENT(addr, vpci, nr)                               \
> +    ((PFN_DOWN(addr) == PFN_DOWN(vmsix_table_addr(vpci, nr)) &&           \
> +      (addr) < vmsix_table_addr(vpci, nr)) ||                             \
> +     (PFN_DOWN(addr) == PFN_DOWN(vmsix_table_addr(vpci, nr) +             \
> +                                 vmsix_table_size(vpci, nr) - 1) &&       \
> +      (addr) >= vmsix_table_addr(vpci, nr) + vmsix_table_size(vpci, nr)))

While I realize this may impact performance a little, did you consider
using !VMSIX_ADDR_IN_RANGE() instead of open-coding it kind of? Then
again there's only a single use of the macro, and that's in code where
VMSIX_ADDR_IN_RANGE() was already checked (by the earlier invocation
of msix_find()), so the re-checking of the MSI-X table bounds isn't
strictly necessary anyway.

> @@ -438,6 +369,145 @@ static const struct hvm_mmio_ops vpci_msix_table_ops = {
>      .write = msix_write,
>  };
>  
> +const static struct vpci_msix *adjacent_find(const struct domain *d,
> +                                             unsigned long addr)
> +{
> +    const struct vpci_msix *msix;
> +
> +    list_for_each_entry ( msix, &d->arch.hvm.msix_tables, next )
> +        /*
> +         * So far vPCI only traps accesses to the MSIX table, but not the PBA
> +         * explicitly, and hence we only need to check for the hole created by
> +         * the MSIX table.
> +         *
> +         * If the PBA table is also trapped, the check here should be expanded
> +         * to take it into account.
> +         */
> +        if ( VMSIX_ADDR_ADJACENT(addr, msix->pdev->vpci, VPCI_MSIX_TABLE) )
> +            return msix;

Is the comment really correct when considering that you don't change
vpci_make_msix_hole()? (I was actually puzzled by struct vpci_msix'es
table[] field remaining a 2-element array, despite the PBA now being
dealt with differently. But I realize you need to keep that for the
VMSIX_ADDR_IN_RANGE() in adjacent_write().)

> +static int cf_check adjacent_read(
> +    struct vcpu *v, unsigned long addr, unsigned int len, unsigned long *data)
> +{
> +    const struct domain *d = v->domain;
> +    const struct vpci_msix *msix = adjacent_find(d, addr);
> +    const void __iomem *mem;
> +    paddr_t msix_tbl;
> +    struct vpci *vpci;
> +
> +    *data = ~0ul;
> +
> +    if ( !msix )
> +        return X86EMUL_RETRY;
> +
> +    vpci = msix->pdev->vpci;
> +    msix_tbl = vmsix_table_addr(vpci, VPCI_MSIX_TABLE);
> +
> +    if ( addr + len > round_pgup(msix_tbl +
> +                                 vmsix_table_size(vpci, VPCI_MSIX_TABLE)) )
> +        return X86EMUL_OKAY;
> +
> +    mem = get_table(vpci,
> +                    PFN_DOWN(addr) == PFN_DOWN(msix_tbl) ? VPCI_MSIX_TBL_HEAD
> +                                                         : VPCI_MSIX_TBL_TAIL);
> +    if ( !mem )
> +        return X86EMUL_OKAY;

The respective PBA logic had a gprintk() on this path.

> +    switch ( len )
> +    {
> +    case 1:
> +        *data = readb(mem + PAGE_OFFSET(addr));
> +        break;
> +
> +    case 2:
> +        *data = readw(mem + PAGE_OFFSET(addr));
> +        break;
> +
> +    case 4:
> +        *data = readl(mem + PAGE_OFFSET(addr));
> +        break;
> +
> +    case 8:
> +        *data = readq(mem + PAGE_OFFSET(addr));
> +        break;

So far we have allowed only aligned 4- and 8-byte accesses to the PBA.
Shouldn't we continue to do so?

I'm also concerned of misaligned accesses: While we can't keep the
guest from doing such on pages we don't intercept, depending on the kind
of anomalies such may cause the effects there may be contained to that
guest. When doing the accesses from the hypervisor, bad effects could
affect the entire system. (FTAOD I don't mean to constrain guests, but I
do think we need to consider splitting misaligned accesses.)

> +    default:
> +        ASSERT_UNREACHABLE();

Is this correct? In msix_{read,write}() these assertions are valid
because of the earlier access_allowed() checks, but here you have
nothing like that. Yes, the emulator currently would only pass sizes
that fit what is being handled, but relying on no "unusual" insns
appearing down the road feels risky. Then again
hvmemul_phys_mmio_access() splits accesses accordingly, so perhaps
all is fine here.

> +static int cf_check adjacent_write(
> +    struct vcpu *v, unsigned long addr, unsigned int len, unsigned long data)
> +{
> +    const struct domain *d = v->domain;
> +    const struct vpci_msix *msix = adjacent_find(d, addr);
> +    void __iomem *mem;
> +    paddr_t msix_tbl;
> +    struct vpci *vpci;
> +
> +    if ( !msix )
> +        return X86EMUL_RETRY;
> +
> +    vpci = msix->pdev->vpci;
> +    msix_tbl = vmsix_table_addr(vpci, VPCI_MSIX_TABLE);
> +
> +    if ( addr + len > round_pgup(msix_tbl +
> +                                 vmsix_table_size(vpci, VPCI_MSIX_TABLE)) )
> +        return X86EMUL_OKAY;
> +
> +    if ( (VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) ||
> +          VMSIX_ADDR_IN_RANGE(addr + len - 1, vpci, VPCI_MSIX_PBA)) &&
> +         !is_hardware_domain(d) )
> +        /* Ignore writes to PBA for DomUs, it's undefined behavior. */
> +        return X86EMUL_OKAY;

Just as a remark: Checking only start and end is sufficient merely because
the PBA is a multiple of 8 bytes in size, and "len" currently cannot be
larger than 8. This feels somewhat fragile, but is - like above - presumably
okay.

> @@ -530,7 +600,10 @@ static int cf_check init_msix(struct pci_dev *pdev)
>      }
>  
>      if ( list_empty(&d->arch.hvm.msix_tables) )
> +    {
>          register_mmio_handler(d, &vpci_msix_table_ops);
> +        register_mmio_handler(d, &vpci_msix_adj_ops);
> +    }

Did you consider re-using the same ops by widening what their accept()
covers, and by having read/write recognize inside vs outside accesses,
dealing with them differently (much like the PBA was dealt with before)?
Besides my gut feeling of this ending up being less code, there's also
the aspect of NR_IO_HANDLERS being the upper bound to how many handlers
may be registered.

Or else did you consider registering this further handler only when
there actually is a device where the MSI-X table has "slack" at the
front and/or end?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 12:07:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 12:07:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509562.785526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc3R1-0003xo-LI; Tue, 14 Mar 2023 12:07:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509562.785526; Tue, 14 Mar 2023 12:07: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 1pc3R1-0003xh-IO; Tue, 14 Mar 2023 12:07:19 +0000
Received: by outflank-mailman (input) for mailman id 509562;
 Tue, 14 Mar 2023 12:07: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=eA0l=7G=gmail.com=salvatore.bonaccorso@srs-se1.protection.inumbo.net>)
 id 1pc3R0-0003xb-0n
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 12:07: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 c354f997-c260-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 13:07:16 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id eg48so1819543edb.13
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 05:07:16 -0700 (PDT)
Received: from eldamar.lan (c-82-192-242-114.customer.ggaweb.ch.
 [82.192.242.114]) by smtp.gmail.com with ESMTPSA id
 v30-20020a50d59e000000b004af7191fe35sm948475edi.22.2023.03.14.05.07.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Mar 2023 05:07:15 -0700 (PDT)
Received: by eldamar.lan (Postfix, from userid 1000)
 id BBA70BE2DE0; Tue, 14 Mar 2023 13:07: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
X-Inumbo-ID: c354f997-c260-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678795636;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:sender
         :from:to:cc:subject:date:message-id:reply-to;
        bh=AGJ/J3etGXzzl0b+NHW/iN6M3fmzVQmhjKRcIxTWVds=;
        b=ka8JGNS5D9SBcMnt4d472x2hwdFkFyldNKxnGEnO6pkvYSlUbIPqO4QQXn8NmzwyVC
         8rk0yUI9Ytm+zUIbnPDGByyhREZTWaoVHCxqr4ft5G7ajdPtRGbMnPcEvfISWe33JRdS
         2zRjYKlZv0ukmKIM/H+sCicuGvpuDBWpJEavqLje0lpLqJ6a2VYTridpp5gFZJJD/8JH
         OGSN3wph8HBzAGDNII2yYIqbjNDKCH0vsLyK6uYB3NXGFwph+zJjCETmmrwsneflYZSh
         CNI3KkJJK1fAfWwer4wZpllE82hWWa8pfYSbJKnUcfO0jTEFk/Iz//RQLwUCp3Me57+v
         VDfA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678795636;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:sender
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=AGJ/J3etGXzzl0b+NHW/iN6M3fmzVQmhjKRcIxTWVds=;
        b=HEpmSocEsgPDjK6rmj8tpdDye2vTAy3qbK9MFVWHwEh54xE2xTq/FpapkmHAnfBUqE
         4Yy6469eIRlrVk2CYINGrGNOX7I/dnmOhqeYN5IKfJyjwcdx/HQejdnAXQCncUGKM5qO
         NkLm3rwFAeoRHb/gLugmisLCg6mOgsio79d4g18XtTzKEhyDRjO5O2KcwRLLRmObrQHp
         6vJq4tQXDPnP7bjigcwQG/R7C0aW4K0O9ksPaYc1YaE16aNDKZ9I3PmFNytN3vTS58Ge
         Xp411eaaSiu2bLz3wvGXngw/OLGQNfOrbuuOORgBP5uknSK8opeCnhSkguhT/kJJQ2I8
         mHHw==
X-Gm-Message-State: AO0yUKUthEBj9iSVn0AWR/Jg8ZtnX9V+MV4M4BgM+YwWtAa9HF2avRog
	7u0Iz6TRnbXbvyT+fOjk+sc=
X-Google-Smtp-Source: AK7set/ZXQ+XfAoC7QvC3zJZuOUeUmwsfD1u7z9CGxTW9HvRYx2Fw+SlEkD2QSWMCctkfcyjX1j1Tw==
X-Received: by 2002:aa7:d38b:0:b0:4fb:fd9f:7375 with SMTP id x11-20020aa7d38b000000b004fbfd9f7375mr7624487edq.2.1678795636347;
        Tue, 14 Mar 2023 05:07:16 -0700 (PDT)
Sender: Salvatore Bonaccorso <salvatore.bonaccorso@gmail.com>
Date: Tue, 14 Mar 2023 13:07:14 +0100
From: Salvatore Bonaccorso <carnil@debian.org>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Juergen Gross <jgross@suse.com>, Joost Roeleveld <joost@antarean.org>,
	Christoph Hellwig <hch@infradead.org>, jejb@linux.ibm.com,
	Sreekanth Reddy <sreekanth.reddy@broadcom.com>,
	Bart Van Assche <bvanassche@acm.org>, sathya.prakash@broadcom.com,
	suganath-prabu.subramani@broadcom.com,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	MPT-FusionLinux.pdl@broadcom.com, linux-scsi@vger.kernel.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	adi@kriegisch.at
Subject: Re: Report in downstream Debian: mpt3sas broken with xen dom0 with
 update to 5.10.149 in 5.10.y.
Message-ID: <ZBBjcu2YH9HFY06l@eldamar.lan>
References: <Y1JkuKTjVYrOWbvm@eldamar.lan>
 <85ad4508-b979-c792-e92b-01bc16260dec@acm.org>
 <CAK=zhgr=MYn=-mrz3gKUFoXG_+EQ796bHEWSdK88o1Aqamby7g@mail.gmail.com>
 <2fd505a07bd26d76f1166761fa50905414edb7ef.camel@linux.ibm.com>
 <30a056c8-071f-4259-3253-75e718af619d@suse.com>
 <Y1bEQMS5SNTbZO/3@infradead.org>
 <858a4288-46ac-d423-a529-b3b77b7fbc8a@citrix.com>
 <20230314111752.EGroupware.TiNRv1BSroWqKL7zQtfNLJ8@_>
 <4c5de098-5cd3-116b-54cb-6972c6c06818@suse.com>
 <8cc36c16-4aa0-9c47-ab2f-c75c1e22772f@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <8cc36c16-4aa0-9c47-ab2f-c75c1e22772f@citrix.com>

Hi Andrew,

On Tue, Mar 14, 2023 at 11:41:08AM +0000, Andrew Cooper wrote:
> On 14/03/2023 11:23 am, Juergen Gross wrote:
> > On 14.03.23 12:17, Joost Roeleveld wrote:
> >>> On Mon, Oct 24, 2022 at 05:28:05PM +0000, Andrew Cooper wrote:
> >>>> I don't know exactly how this translates to Linux internals, but most
> >>>> devices are fine and it's routinely the mpt2/3sas drivers which
> >>>> encounter problems. It would be lovely if we could get to the
> >>>> bottom of
> >>>> this for once and for all.
> >>>
> >>> So to summarize my two mails: I think te use of dma_get_required_mask
> >>> in mpt3sas is wrong, and the dma_get_required_mask return value from
> >>> xen-swiotlb is also wrong. Fixing either one should fix this problem,
> >>> and I think we should fix both.
> >>
> >> Hi all,
> >>
> >> Is there anything that can be done to get this fixed in xen and the
> >> kernel somehow?
> >> I keep having to manually patch the mpt3sas driver to prevent it from
> >> being able to switch to 32bit mode each time I upgrade the kernel.
> >
> > Just use 5.10.173.
> 
> Its still broken even in 6.1
> 
> We've just stumbled over this yet again in XenServer.

The mentioned commit has been backported to 6.1.16, 5.15.100 and
5.10.173. Is the issue still reproducible with 6.1.16?

Regards,
Salvatore


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 12:08:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 12:08:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509564.785535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc3Sa-0004VP-W5; Tue, 14 Mar 2023 12:08:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509564.785535; Tue, 14 Mar 2023 12:08: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 1pc3Sa-0004VI-TN; Tue, 14 Mar 2023 12:08:56 +0000
Received: by outflank-mailman (input) for mailman id 509564;
 Tue, 14 Mar 2023 12:08: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 1pc3SZ-0004Uw-T4; Tue, 14 Mar 2023 12:08: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 1pc3SZ-0003Py-Q5; Tue, 14 Mar 2023 12:08: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 1pc3SZ-0003H0-Fq; Tue, 14 Mar 2023 12:08:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pc3SZ-00033a-FL; Tue, 14 Mar 2023 12:08: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=cfEt9LdxRUe1uy6nEpCRTNCImxlP7NR6FeWT0wJ+xMg=; b=TR91TFK21eHSKFgFkDljJqy4O9
	5PFxd3c0ZK9zjJWgDvLD/XC08hjflAT/xx9C8SaI9/eQqBcf4nRhJAruaHc0OxBov9fE7d8MwlHo8
	BCOuAhMNLEpuvThr3HrHF5Adoq5+LREj7Rz/UYUFp9OSLDw5nJHX362VYBAUE9/mL4o8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179624-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179624: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=de819c96c863467b6e625cd7197d17682f6c6122
X-Osstest-Versions-That:
    xen=be62b1fc2aa7375d553603fca07299da765a89fe
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Mar 2023 12:08:55 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  de819c96c863467b6e625cd7197d17682f6c6122
baseline version:
 xen                  be62b1fc2aa7375d553603fca07299da765a89fe

Last test of basis   179601  2023-03-13 15:00:25 Z    0 days
Testing same since   179624  2023-03-14 10:12:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Michal Orzel <michal.orzel@amd.com>
  Roger Pau Monné <roger.pau@citrix.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   be62b1fc2a..de819c96c8  de819c96c863467b6e625cd7197d17682f6c6122 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 12:15:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 12:15:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509568.785546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc3YS-000657-N7; Tue, 14 Mar 2023 12:15:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509568.785546; Tue, 14 Mar 2023 12:15: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 1pc3YS-000650-J5; Tue, 14 Mar 2023 12:15:00 +0000
Received: by outflank-mailman (input) for mailman id 509568;
 Tue, 14 Mar 2023 12: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=Zfqj=7G=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pc3YR-00064u-At
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 12:14:59 +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 d67cefd3-c261-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 13:14:58 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id x13so13850567edd.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 05:14: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: d67cefd3-c261-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678796098;
        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=vsXnuyICvUl1227+tce79CZhvcJfDMFSYkv5VedTOY4=;
        b=FpWLxj4JS94iM/KXdCYDSkxHP7+gMAp4cHi0f+cz6/ZjEjC4WpJmunD+l7RKLQZhuC
         ASuqLoN5DXZ571m8lURRaaX9azUeGiwPq+zw5KylwY2xQFYftyLWy1dtPgIl0MyUgEfr
         aSJU5xwQl2FxNsycszHxrvflqrm97MKnaxu3hA0Zsm3pfyHHf5pb8yRU3wtojqqM2sFe
         KKBDhA3IotNNL3M9R1cND/Q/ViLXEi4IL0vckRUb9Ry4NyJxbmAPnjEqda1NQemDYLw9
         5YovPQ+L03uFBhoDGUJM1RTmuGhwD0SrpytmKIEaFYCkh9eeWfN37o35zpdNbu+4ZOgp
         tJ5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678796098;
        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=vsXnuyICvUl1227+tce79CZhvcJfDMFSYkv5VedTOY4=;
        b=yYkdMoiTmSLanSl5tCjgmIUv7QWTRKhBZ2O90EnbFC0Dk04S6w/ri+Vivb1+T1Ja0H
         eJTRWZWBG/4NgdGI/xr/GZkmRvYP978gyjAFK5xkew+Ttbcmd1swm4wsQ9JE6ELU4kj0
         yJmKv/oUyQeOw+Theq+TpxtquoYHO7aQ7njDJ/9feIyymgGJQGg66BSVcJZmxf4ux6K/
         VptpILT3x4TS/kBNbszS4tEfSwMs/HyfUPARmLWMQDz/JBF7UBLqmIJUL08h76E+51RW
         lsHQk2BNzvoE4LBCOg5SNNXL9WWFWurXemsBk+0AQhNjyVPW4nA7SMMEO8ageUGafy83
         VMww==
X-Gm-Message-State: AO0yUKVQGMEEz45+Y06CmaUAVIdSws7Km/1PIA/5XUTzHp8SlN+VuWXN
	EGoebybOVOrDhoqYuEszxwK2XGkSDgCaUiMcsDy++2TH
X-Google-Smtp-Source: AK7set9YGAYGqoNTBevmb6HEb4HvuqRGqEAhz+2SVaITGHpot3iPv9HyzQk+V14+NF0hMk8zN8NN7yiL9Awdlrk4mW0=
X-Received: by 2002:a17:907:e91:b0:924:32b2:e3d1 with SMTP id
 ho17-20020a1709070e9100b0092432b2e3d1mr1220567ejc.3.1678796098022; Tue, 14
 Mar 2023 05:14:58 -0700 (PDT)
MIME-Version: 1.0
References: <20230313175103.20778-1-jandryuk@gmail.com> <593392ae-91ce-3499-1aa7-fcfe664025cd@suse.com>
In-Reply-To: <593392ae-91ce-3499-1aa7-fcfe664025cd@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 14 Mar 2023 08:14:46 -0400
Message-ID: <CAKf6xpvdOz2eYXqsxLN879NtMYZvuGWXk7bgcCwnbRfAGofL4Q@mail.gmail.com>
Subject: Re: [PATCH] xen/cpufreq: Remove <asm/bug.h>
To: Jan Beulich <jbeulich@suse.com>
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.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-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 14, 2023 at 6:19=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 13.03.2023 18:51, Jason Andryuk wrote:
> > The header is unneeded - there are no uses of BUG() or WARN() in these
> > cpufreq files.  Remove the include.  It is still include transitively
> > from xen/lib.h.
> >
> > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
>
> This, in a way, is a review comment on Oleksii's "xen: change <asm/bug.h>
> to <xen/bug.h>". We can certainly put in the change as you have it (for
> him to drop the touching of the two files), but I'd find it more logical
> to continue to be part of his change, just with the xen/bug.h replacement
> includes dropped. Thoughts, either of you?

Yes, Oleskii's work brought it to my attention.  I submitted it this
way to follow the "one change per commit" rule of thumb, seeing it as
distinct from, though related to, the asm -> xen rename.  If you
prefer to have it rolled into Oleksii's change, that is fine by me.

> Things would be different if it was clear that the change here was droppi=
ng
> all unnecessary includes from the cpufreq files. But that doesn't look to
> be the case, as I think ...

Correct, I did not inspect other includes.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 12:17:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 12:17:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509570.785556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc3aU-0006eT-2P; Tue, 14 Mar 2023 12:17:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509570.785556; Tue, 14 Mar 2023 12:17:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc3aT-0006eM-Vl; Tue, 14 Mar 2023 12:17:05 +0000
Received: by outflank-mailman (input) for mailman id 509570;
 Tue, 14 Mar 2023 12:17:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tqJf=7G=antarean.org=joost@srs-se1.protection.inumbo.net>)
 id 1pc3aS-0006eC-Si
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 12:17:04 +0000
Received: from gw1.antarean.org (gw1.antarean.org [194.145.200.214])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 2037094c-c262-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 13:17:02 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by gw1.antarean.org (Postfix) with ESMTP id 4PbXP71sR3z13Dk;
 Tue, 14 Mar 2023 13:08:43 +0100 (CET)
Received: from gw1.antarean.org ([127.0.0.1])
 by localhost (gw1.antarean.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id EWqbXQhI_2Zu; Tue, 14 Mar 2023 13:08:43 +0100 (CET)
Received: from mailstore1.adm.antarean.org (localhost [127.0.0.1])
 by gw1.antarean.org (Postfix) with ESMTP id 4PbXP65xJ3z10d4;
 Tue, 14 Mar 2023 13:08:42 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mailstore1.adm.antarean.org (Postfix) with ESMTP id 4PbXZj25TZz17;
 Tue, 14 Mar 2023 12:17:01 +0000 (UTC)
Received: from mailstore1.adm.antarean.org ([127.0.0.1])
 by localhost (mailstore1.adm.antarean.org [127.0.0.1]) (amavisd-new,
 port 10024)
 with ESMTP id YfXJxy9Uk6Q3; Tue, 14 Mar 2023 12:17:01 +0000 (UTC)
Received: from 94e1ce1d9c1e (web2.adm.antarean.org [10.55.16.79])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (No client certificate requested)
 by mailstore1.adm.antarean.org (Postfix) with ESMTPSA id 4PbXZh61dlz15;
 Tue, 14 Mar 2023 12:17: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: 2037094c-c262-11ed-b464-930f4c7d94ae
X-Virus-Scanned: amavisd-new at antarean.org
X-Virus-Scanned: amavisd-new at antarean.org
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=antarean.org;
	s=default; t=1678796220;
	bh=kVC1G/GLJjGa15c6gUhk9SaYr6gE5j4T6wnhZQ4qCWU=;
	h=From:In-Reply-To:References:List-Id:To:Cc:Subject:Date;
	b=XHP7alzsnRLIOsrifniTxuti1mYWZfdrBe2tdqBAyiLpX/4WG3y0PdNyO0EHknsvi
	 tK3t11vnLQd7Hawat1lAlmpokd/uyleweiUVfT3sTNICC7ZY3upoPxVly/HGfOo0VF
	 ArVI18FNz/tA1454r//QuhSWxPKaaIGBIYNCCEXQ=
User-Agent: EGroupware API 21.1.001
From: Joost Roeleveld <joost@antarean.org>
X-Priority: 3
X-Mailer: EGroupware-Mail
In-Reply-To: <8cc36c16-4aa0-9c47-ab2f-c75c1e22772f@citrix.com>
References: <Y1JkuKTjVYrOWbvm@eldamar.lan>
 <85ad4508-b979-c792-e92b-01bc16260dec@acm.org>
 <CAK=zhgr=MYn=-mrz3gKUFoXG_+EQ796bHEWSdK88o1Aqamby7g@mail.gmail.com>
 <2fd505a07bd26d76f1166761fa50905414edb7ef.camel@linux.ibm.com>
 <30a056c8-071f-4259-3253-75e718af619d@suse.com>
 <Y1bEQMS5SNTbZO/3@infradead.org>
 <858a4288-46ac-d423-a529-b3b77b7fbc8a@citrix.com>
 <20230314111752.EGroupware.TiNRv1BSroWqKL7zQtfNLJ8@_>
 <4c5de098-5cd3-116b-54cb-6972c6c06818@suse.com>
 <8cc36c16-4aa0-9c47-ab2f-c75c1e22772f@citrix.com>
To: Salvatore Bonaccorso <carnil@debian.org>, Andrew Cooper
 <Andrew.Cooper3@citrix.com>
Cc: Juergen Gross <jgross@suse.com>, Christoph Hellwig <hch@infradead.org>,
 jejb@linux.ibm.com, Sreekanth Reddy <sreekanth.reddy@broadcom.com>, Bart Van
 Assche <bvanassche@acm.org>, sathya.prakash@broadcom.com,
 suganath-prabu.subramani@broadcom.com, "Martin K. Petersen"
 <martin.petersen@oracle.com>, MPT-FusionLinux.pdl@broadcom.com,
 linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, adi@kriegisch.at
Subject: Re: Report in downstream Debian: mpt3sas broken with xen dom0 with
 update to 5.10.149 in 5.10.y.
Message-ID: <20230314121700.EGroupware.xKx-UoFXvmK_oyhozRCvi4Y@_>
Date: Tue, 14 Mar 2023 12:17:00 +0000
Content-Type: text/plain; charset=utf-8; format=flowed; DelSp=Yes
MIME-Version: 1.0

> Hi Andrew,
>
> On Tue, Mar 14, 2023 at 11:41:08AM +0000, Andrew Cooper wrote:
>> On 14/03/2023 11:23 am, Juergen Gross wrote:
>> > On 14.03.23 12:17, Joost Roeleveld wrote:
>> >>> On Mon, Oct 24, 2022 at 05:28:05PM +0000, Andrew Cooper wrote:
>> >>>> I don't know exactly how this translates to Linux internals, but most
>> >>>> devices are fine and it's routinely the mpt2/3sas drivers which
>> >>>> encounter problems.  It would be lovely if we could get to the
>> >>>> bottom of
>> >>>> this for once and for all.
>> >>>
>> >>> So to summarize my two mails: I think te use of dma_get_required_mask
>> >>> in mpt3sas is wrong, and the dma_get_required_mask return value from
>> >>> xen-swiotlb is also wrong. Fixing either one should fix this problem,
>> >>> and I think we should fix both.
>> >>
>> >> Hi all,
>> >>
>> >> Is there anything that can be done to get this fixed in xen and the
>> >> kernel somehow?
>> >> I keep having to manually patch the mpt3sas driver to prevent it from
>> >> being able to switch to 32bit mode each time I upgrade the kernel.
>> >
>> > Just use 5.10.173.
>>
>> Its still broken even in 6.1
>>
>> We've just stumbled over this yet again in XenServer.
>
> The mentioned commit has been backported to 6.1.16, 5.15.100 and
> 5.10.173. Is the issue still reproducible with 6.1.16?

I ran into this on 6.1.12.

Not in a position to test with 6.1.16+ yet as the only system using  
this driver is production.

Kind regards,

Joost



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 12:18:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 12:18:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509572.785565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc3c4-0007CH-CM; Tue, 14 Mar 2023 12:18:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509572.785565; Tue, 14 Mar 2023 12:18: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 1pc3c4-0007CA-9o; Tue, 14 Mar 2023 12:18:44 +0000
Received: by outflank-mailman (input) for mailman id 509572;
 Tue, 14 Mar 2023 12:18: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=6q5S=7G=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pc3c3-0007C0-NG
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 12:18:43 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b1b8788-c262-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 13:18: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 A2B3821B12;
 Tue, 14 Mar 2023 12:18: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 76D4E13A26;
 Tue, 14 Mar 2023 12:18:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 1xCEGyBmEGQRUQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Mar 2023 12: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: 5b1b8788-c262-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678796320; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=HDY7jcwI9dHCgL/OW2lTTFRBkD5jd0F5io+HlohS21I=;
	b=W2o/Sx0IV9q9sHrwyeQ8vvaSFabluCcDYybZfvzR5LNnbeEA9UG/HLEVe/BbgQgqqnoAF9
	93QxWvHDkEi5JqUSnxzXMkK8fm2161uJKCjU+8Y4S1cCWqRlHq/knnbSUbKmrfswMnv8uL
	f7UIybVZYr3JMNFcXrgBQAA1Ir2I2Bc=
Message-ID: <38816e91-3ed9-68d8-1c26-1830505a13f8@suse.com>
Date: Tue, 14 Mar 2023 13:18:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 0/4] xen/blkback: some cleanups
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jens Axboe <axboe@kernel.dk>, xen-devel@lists.xenproject.org
References: <20221216145816.27374-1-jgross@suse.com>
 <055adce8-ceba-983a-19cc-b09ec30bb3c3@suse.com>
In-Reply-To: <055adce8-ceba-983a-19cc-b09ec30bb3c3@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------yDupyS31ATbX9dfN5PReB1O4"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------yDupyS31ATbX9dfN5PReB1O4
Content-Type: multipart/mixed; boundary="------------59oIaAQLnuN0lZWZuus8u7md";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jens Axboe <axboe@kernel.dk>, xen-devel@lists.xenproject.org
Message-ID: <38816e91-3ed9-68d8-1c26-1830505a13f8@suse.com>
Subject: Re: [PATCH 0/4] xen/blkback: some cleanups
References: <20221216145816.27374-1-jgross@suse.com>
 <055adce8-ceba-983a-19cc-b09ec30bb3c3@suse.com>
In-Reply-To: <055adce8-ceba-983a-19cc-b09ec30bb3c3@suse.com>

--------------59oIaAQLnuN0lZWZuus8u7md
Content-Type: multipart/mixed; boundary="------------gqUsVOBYzACHLsDfqUPvTAIK"

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

T24gMDkuMDEuMjMgMTY6MDUsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IE9uIDE2LjEyLjIy
IDE1OjU4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gU29tZSBzbWFsbCBjbGVhbnVwIHBh
dGNoZXMgSSBoYWQgbHlpbmcgYXJvdW5kIGZvciBzb21lIHRpbWUgbm93Lg0KPj4NCj4+IEp1
ZXJnZW4gR3Jvc3MgKDQpOg0KPj4gwqDCoCB4ZW4vYmxrYmFjazogZml4IHdoaXRlIHNwYWNl
IGNvZGUgc3R5bGUgaXNzdWVzDQo+PiDCoMKgIHhlbi9ibGtiYWNrOiByZW1vdmUgc3RhbGUg
cHJvdG90eXBlDQo+PiDCoMKgIHhlbi9ibGtiYWNrOiBzaW1wbGlmeSBmcmVlX3BlcnNpc3Rl
bnRfZ250cygpIGludGVyZmFjZQ0KPj4gwqDCoCB4ZW4vYmxrYmFjazogbW92ZSBibGtpZl9n
ZXRfeDg2XypfcmVxKCkgaW50byBibGtiYWNrLmMNCj4+DQo+PiDCoCBkcml2ZXJzL2Jsb2Nr
L3hlbi1ibGtiYWNrL2Jsa2JhY2suYyB8IDEyNiArKysrKysrKysrKysrKysrKysrKysrKysr
LS0tDQo+PiDCoCBkcml2ZXJzL2Jsb2NrL3hlbi1ibGtiYWNrL2NvbW1vbi5owqAgfCAxMDMg
Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+IMKgIDIgZmlsZXMgY2hhbmdlZCwgMTE4IGlu
c2VydGlvbnMoKyksIDExMSBkZWxldGlvbnMoLSkNCj4+DQo+IA0KPiBQaW5nPw0KDQpQaW5n
wrIgPw0KDQoNCkp1ZXJnZW4NCg0K
--------------gqUsVOBYzACHLsDfqUPvTAIK
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-----

--------------gqUsVOBYzACHLsDfqUPvTAIK--

--------------59oIaAQLnuN0lZWZuus8u7md--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQQZiAFAwAAAAAACgkQsN6d1ii/Ey9K
NQf+JuxFSCUrGSXCueW3Ymoi+0baxwYJVlrAvTYJ3cOwbEDDcuVNmPpwtnnAgLLKusA6P8DrF9SG
2WvQCaVti0olXsZ/CGyuRKEx/Gcy9RrnD+dhbVpP0S2oRyY5RQJY59c87hPaGcibwkASLJzFXmBj
MHXz16eUo4ocHQvs1Z6PoObxuwLVlKDY4NdDlzWNoktitGdqtLeFS2ylg+ulRhJRiyj9zS1iyifz
Bp12tEJnr6dZb4uh8YvdZuT+pe8qN2pHBwTOhDJRWKWd/xbzIQdS7d9K1yq0j54MpMxRsVTyCyRw
iZuQN0b/kgraIaiCxy/kMsJtOst3LVPH9p1tNGCqPw==
=TlAT
-----END PGP SIGNATURE-----

--------------yDupyS31ATbX9dfN5PReB1O4--


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 12:33:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 12:33:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509577.785578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc3q7-0001Sl-QH; Tue, 14 Mar 2023 12:33:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509577.785578; Tue, 14 Mar 2023 12:33: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 1pc3q7-0001Se-ND; Tue, 14 Mar 2023 12:33:15 +0000
Received: by outflank-mailman (input) for mailman id 509577;
 Tue, 14 Mar 2023 12:33: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=9LtO=7G=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pc3q6-0001SV-0P
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 12:33:14 +0000
Received: from sonic315-54.consmr.mail.gq1.yahoo.com
 (sonic315-54.consmr.mail.gq1.yahoo.com [98.137.65.30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 600c8895-c264-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 13:33:10 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic315.consmr.mail.gq1.yahoo.com with HTTP; Tue, 14 Mar 2023 12:33:07 +0000
Received: by hermes--production-ne1-759c9b8c64-5jgz9 (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 2645b62b6a81f73ea69fa13b0f6e7b67; 
 Tue, 14 Mar 2023 12:33: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: 600c8895-c264-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678797187; bh=Xk0i0xuEOZ/9eGX/krGBJKqMkDa5Rm5nVPV9GA3OwMA=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=c3bZcP+UqSWxQrU8mQxN2gwV9k3HuYNV8JNw1c7UBKQmkPeOv5MR/N2y/R/A5/mXFKxNdKD7DMNeMsbNDAClyRb+FHkmyczHsm7e+u9QbQYlujcOpKrw2RzKwK6fhQZJOnkQ0HZ27l96N0jqU4jDp5rj45lyMU0vPeze9TBGoqyuvaQFNZBysnEt5LNxFy7pYBGc13DWY6NfqAwG882tUwWr0+LPQTKgmPQHIxLtHScrVmC2ODGB1nc6IdVYOk3/s9RhNIJW2HNFjYrvnuRgoXE1IerOB4cpuTgYF1RDZbPYuKij0cLlD1VAigGPLj80Q4fkGH+YrGZ1vfrBRa60hw==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678797187; bh=nZTim33Ly0Js4zEeEaAiMi8ZyNt6Rl2qZvCTzDSrsFm=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=KCLhs0Qr0h63GdCt7ETCgtAgkfTxP9k34TSJWe3GawwxGPvgpRM4hoNwBnDX1g6kTkL+xg1CunpiFstGJe1FVJjwNzbPwegVmM1Z0h8GfukT9mSOGas4OwzoswJouFFewUfNihkPPzytAMiWb9o+Km/Eu5P01gMm17bvD4mRrQTGBIUQLHQlMjZaGPag2YO9T7Sy279xOvarpXFqG/Umb2jcMs42Aw8M5FsV0TPjhqiKEfQBfpolYQ1XMx5jrCbT4egRs4m8jx3oKfoptdAMnUO76de52RKmyHMGEic8ii7F0ORM659uKElez3HysV3ambJ9irdMq4oojPjletWlOw==
X-YMail-OSG: 0vPLba0VM1l0TfHSyg0AiYN7SxFyxWzCHEV9yt1kc1oNfqZuJotTQPbFnDyAZ79
 iw4wqS_ceiOyT_cdht9F2_Fuo7MlLMS4Iz65Rf6OLqi1dcXbpKVCfMeVxikCov5adGqXseyaujij
 U4uhGx02KbHnbOyUoekbh7vkwXLB4qdvY8HZY1HQffK3s_5PTf3z7cL0OFkI4hWP_qKD9lEyqNce
 1E67FTwjlrIhChVFUCE4G4y6YTJjQ7tH3q67GZePQ5OezNgA6MK2MHhsNlMDNl.t4ESI6HQNx1dP
 dNpXFHLtXnQnj9gvoiH7aFoo_UodjmXYjlBLW9VRxEdjTG.NEHGxv7NMLXapxXelkw6Xwt9Ql_SS
 v02gUcZhruG5e0L8ka7sPTLFXiX2Qd7VE3NoAjpMFWsicuHYW9tfyA5ZcnS.Tvxd7M7MT7y.hzAU
 PRebgY9KC9m1cizK8m.PSdoDnSszJueu7e72FM4mAKcXHqZ_b4dUlWelym3BMXrLnXMSmeGgCkA8
 jwFMZzjrGYg0OtXF5CqEnnJZdbHQfDeo4xaRhPRRKIm.DVbunmX7NfhVMHQm6BpzOPRTU7ob2AP3
 AljRjZCUpEIwKkR1UfSWc.EgkZ.5mFJ2H2ecCvF0zlaLuBTaIrNW64L21IfbHLfTKrBuj.OE5rEo
 d5xsxMI.4mLGmvRVqEQwDqESQfbJfSe_usja0ivLkKVLjJ4zhgUrDv7Cj0x3mCfQLiSeuj7d3DnU
 g82hErigfpk5bgisgbyAunjnZT2JiliTvRTKQtbkufDCBmi0Z_4y.huZ6jE.qBhsACaVXBIoz89E
 N3hPB5p9Sf0jhLuQ.Z_LVjnUNc5fzJ8OPQ1YzADPJfg6fzQ52JeulL6Z6soBdEArPfiuxT2wI_2A
 R0Q29XW7HfxWVvTU9g3cc5fImrkJYkvywbgnrUCWrCUbjMVW6XAgigf63PebtBLJHORmQpoHkXNt
 suzuuWxpYFGFCaAjSe0Vl_o0qwohWDmjq4AN2FKMEaeV6IVE9E03jA4cSRkrGoSVBcRjzyXrUD2Z
 6hVQqcABXQk_vgiWyj0rmO9cjGdPHWW5K1bpTJCTp.olgjFkCYPRCd9Pc4.DtdXp7EP6o.Toa767
 15QWdAdhia80apKmRbynL7AF9IevrFO9_90r1fI5_i8PkfOkFRKF50UkSyGMgivSrtMBNeRetQxT
 fTZXCcf7dX3xy9Ado53X_2IwqlwNdg.6N_5DANHB8mRBLX6S4QWzh1WX2RdkSpkWeO54AmjRyD0t
 DOhKrTWC6khaLSOrGA1PgrBu33EHf2U5T9EaIQzEodjy7iBgRU6JhupxsDQbuURrrR0RXxkZotyb
 1.VNhobFJSCbqijYlUAU_8AJXL2YeeEfh_m8STXjvdMHDzSp9KeWUOUnU3.GQ2456p06WZu4V68O
 nuwQahp4clbRr2EObi88VKui5uqh2jXbDs1y6S0bfh1yjEhuIMynr5HZ.kLXRVJ56udj.9ffqSSP
 RLg6eq2T4Q5GN9nKCtO8Pa4xqrcGX0klDwmt6PLsAn_BVkAqb.F.8vRLP5e1eopyUaVLYrA.NCze
 jvfMEC0RjbprdZ5rV5GhLTazWGy_XSHIQA1.WBW4_A0tKOvShX8Y5s97ew1CJMcO.pe6whScsIzi
 fgsieh0NRvf0IScXYYyEWiR0kW05rIGcBSWzGQ4RzPiRsdUjDKPRMWpIi1a3oy68PTsWxny7Vssh
 ttZkYL7aLw0KB.974sdTQGbSUzhKnyy6lEX8OLqKyWjoeQPIgB6rFSESbRzy4_epiN7li53gqHH0
 U7YFzfQyWvVC_MoZ_cKwqesKcgLuPGFMs3ilqdu7oFC_1s7Ngnc4.GHAN7X8HIUVKwgRLeoLMhP0
 FHim_zQRlQLkZtnmHXUHi1V_KTaeJAj1hbnJXnMB_VCo6QTLQOkL8cheyOeo8dU0c9F_sb3Ja1m5
 .FikrXxphEZXDR9DZRJ1w_zngRvzMLcwTus96PyE4hcA.QYJc1eEW5xX8WefK2_uov.C2As8JVEo
 .elHy6d2.PQvXLXCXwq_PBDDEnEk2ty4hcvLmI9jlQH6REvcnoeFtFx5a_RtLsE9oe8NnXjuIJ2p
 a8O5RA990_rFongMMHzpUh21AtA3OK0.V.NuuOOxT1S8p6NHwcDYvETY0sEDzwmMwV.P0gS.ZQyk
 nQ5EtxDgtWmh5Vemcnz8KkUtTIWxPGXS0dJO6egE2wYFY7g87nx.tpIOvmTjkRaryxcP83xlycBD
 SEygsF_NCPhw-
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: c34583c0-6709-408b-ba06-0ca1c1786e29
Message-ID: <ad2741b3-1f5f-8704-d51b-426d3d496811@aol.com>
Date: Tue, 14 Mar 2023 08:33:02 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/2] pci: allow slot_reserved_mask to be ignored with
 manual slot assignment
Content-Language: en-US
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: qemu-devel@nongnu.org, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Artyom Tarasenko <atar4qemu@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678763217.git.brchuckz@aol.com>
 <d9ae459b2814425c2d9e756e45d993c824da150a.1678763217.git.brchuckz@aol.com>
 <20230314023148-mutt-send-email-mst@kernel.org>
From: Chuck Zmudzinski <brchuckz@aol.com>
In-Reply-To: <20230314023148-mutt-send-email-mst@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 7191

On 3/14/2023 2:33 AM, Michael S. Tsirkin wrote:
> On Tue, Mar 14, 2023 at 12:01:09AM -0400, Chuck Zmudzinski wrote:
> > Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
> > uses slot_reserved_mask to reserve slot 2 for the Intel IGD for the
> > xenfv machine when the guest is configured for igd-passthru.
> > 
> > A desired extension to that commit is to allow use of the reserved slot
> > if the administrator manually configures a device to use the reserved
> > slot. Currently, slot_reserved_mask is enforced unconditionally. With
> > this patch, the pci bus can be configured so the slot is only reserved
> > if the pci device to be added to the bus is configured for automatic
> > slot assignment.
> > 
> > To enable the desired behavior of slot_reserved_mask machine, add a
> > boolean member enforce_slot_reserved_mask_manual to struct PCIBus and
> > add a function pci_bus_ignore_slot_reserved_mask_manual which can be
> > called to change the default behavior of always enforcing
> > slot_reserved_mask so, in that case, slot_reserved_mask is only enforced
> > when the pci device being added is configured for automatic slot
> > assignment.
> > 
> > Call the new pci_bus_ignore_slot_reserved_mask_manual function after
> > creating the pci bus for the pc/i440fx/xenfv machine type to implement
> > the desired behavior of causing slot_reserved_mask to only apply when
> > the pci device to be added to a pc/i440fx/xenfv machine is configured
> > for automatic slot assignment.
> > 
> > Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
> > Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
>
> I really dislike this. 
> It seems that xen should not have used slot_reserved_mask,
> and instead needs something new like slot_manual_mask.
> No?

Actually, xen would use something like slot_auto_mask, and
sun4u would use both slot_auto_mask and slot_manual_mask.

Is it just that this patch touches hw/pci-host/i440fx.c that you
don't like or is it that you don't like adding slot_reserved_mask_manual
and pci_bus_ignore_slot_reserved_mask_manual, or is it both
that you don't like?

If it's the former that you don't like, the call to
pci_bus_ignore_slot_reserved_mask_manual can be moved to
xen_igd_reserve_slot in hw/xen/xen_pt.c and this would
avoid touching hw/pci-host/i440fx.c.

If it's the latter that you don't like, both slot_reserved_mask_manual
and pci_bus_ignore_slot_reserved_mask_manual can be removed
and this can be implemented with two independent slot masks:

rename slot_reserved_mask as slot_auto_mask - used by both xen and sun4u
slot_manual_mask - new mask, used only by sun4u.

We would also need to have two sets of accessor functions in this case, one
set to access slot_auto_mask, and the other to access slot_manual_mask.
Since the sun4u machine does not need to either get the value of
slot_manual_mask or clear the slot_manual_mask, slot_manual_mask
would only need to have one accessor function to set the value of the
mask. slot_auto_mask would have all three accessor functions that xen
needs to use.

Would that be OK?

>
> > ---
> > Changelog
> > 
> > v2: Change Subject of patch from
> >     "pci: add enforce_slot_reserved_mask_manual property" To
> >     "pci: allow slot_reserved_mask to be ignored with manual slot assignment"
> > 
> >     Add pci_bus_ignore_slot_reserved_mask_manual function
> > 
> >     Call pci_bus_ignore_slot_reserved_mask_manual at appropriate place
> >     in hw/pci-host/i440fx.c
> > 
> >  hw/pci-host/i440fx.c     |  1 +
> >  hw/pci/pci.c             | 14 +++++++++++++-
> >  include/hw/pci/pci.h     |  1 +
> >  include/hw/pci/pci_bus.h |  1 +
> >  4 files changed, 16 insertions(+), 1 deletion(-)
> > 
> > diff --git a/hw/pci-host/i440fx.c b/hw/pci-host/i440fx.c
> > index 262f82c303..8e00b88926 100644
> > --- a/hw/pci-host/i440fx.c
> > +++ b/hw/pci-host/i440fx.c
> > @@ -257,6 +257,7 @@ PCIBus *i440fx_init(const char *pci_type,
> >      s = PCI_HOST_BRIDGE(dev);
> >      b = pci_root_bus_new(dev, NULL, pci_address_space,
> >                           address_space_io, 0, TYPE_PCI_BUS);
> > +    pci_bus_ignore_slot_reserved_mask_manual(b);
> >      s->bus = b;
> >      object_property_add_child(qdev_get_machine(), "i440fx", OBJECT(dev));
> >      sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
> > diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> > index 8a87ccc8b0..670ecc6986 100644
> > --- a/hw/pci/pci.c
> > +++ b/hw/pci/pci.c
> > @@ -501,6 +501,7 @@ static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
> >      assert(PCI_FUNC(devfn_min) == 0);
> >      bus->devfn_min = devfn_min;
> >      bus->slot_reserved_mask = 0x0;
> > +    bus->enforce_slot_reserved_mask_manual = true;
> >      bus->address_space_mem = address_space_mem;
> >      bus->address_space_io = address_space_io;
> >      bus->flags |= PCI_BUS_IS_ROOT;
> > @@ -1116,6 +1117,17 @@ static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
> >      return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
> >  }
> >  
> > +static bool pci_bus_devfn_reserved_manual(PCIBus *bus, int devfn)
> > +{
> > +    return bus->enforce_slot_reserved_mask_manual &&
> > +            (bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn)));
> > +}
> > +
> > +void pci_bus_ignore_slot_reserved_mask_manual(PCIBus *bus)
> > +{
> > +    bus->enforce_slot_reserved_mask_manual = false;
> > +}
> > +
> >  uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus)
> >  {
> >      return bus->slot_reserved_mask;
> > @@ -1164,7 +1176,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >                     "or reserved", name);
> >          return NULL;
> >      found: ;
> > -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
> > +    } else if (pci_bus_devfn_reserved_manual(bus, devfn)) {
> >          error_setg(errp, "PCI: slot %d function %d not available for %s,"
> >                     " reserved",
> >                     PCI_SLOT(devfn), PCI_FUNC(devfn), name);
> > diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> > index 935b4b91b4..48d29ec234 100644
> > --- a/include/hw/pci/pci.h
> > +++ b/include/hw/pci/pci.h
> > @@ -287,6 +287,7 @@ void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
> >  void pci_bus_map_irqs(PCIBus *bus, pci_map_irq_fn map_irq);
> >  void pci_bus_irqs_cleanup(PCIBus *bus);
> >  int pci_bus_get_irq_level(PCIBus *bus, int irq_num);
> > +void pci_bus_ignore_slot_reserved_mask_manual(PCIBus *bus);
> >  uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus);
> >  void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask);
> >  void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask);
> > diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
> > index 5653175957..e0f15ee9be 100644
> > --- a/include/hw/pci/pci_bus.h
> > +++ b/include/hw/pci/pci_bus.h
> > @@ -37,6 +37,7 @@ struct PCIBus {
> >      void *iommu_opaque;
> >      uint8_t devfn_min;
> >      uint32_t slot_reserved_mask;
> > +    bool enforce_slot_reserved_mask_manual;
> >      pci_set_irq_fn set_irq;
> >      pci_map_irq_fn map_irq;
> >      pci_route_irq_fn route_intx_to_irq;
> > -- 
> > 2.39.2
>



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 12:43:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 12:43:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509580.785591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc40E-00035s-Pr; Tue, 14 Mar 2023 12:43:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509580.785591; Tue, 14 Mar 2023 12: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 1pc40E-00035l-NI; Tue, 14 Mar 2023 12:43:42 +0000
Received: by outflank-mailman (input) for mailman id 509580;
 Tue, 14 Mar 2023 12:43: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=Jlvw=7G=ilande.co.uk=mark.cave-ayland@srs-se1.protection.inumbo.net>)
 id 1pc40C-00035f-Jk
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 12:43:40 +0000
Received: from mail.ilande.co.uk (mail.ilande.co.uk [2001:41c9:1:41f::167])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d590f97e-c265-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 13:43:35 +0100 (CET)
Received: from host86-163-239-161.range86-163.btcentralplus.com
 ([86.163.239.161] helo=[10.8.0.6])
 by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.92) (envelope-from <mark.cave-ayland@ilande.co.uk>)
 id 1pc3zA-0004h1-Sb; Tue, 14 Mar 2023 12: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: d590f97e-c265-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:Content-Type:
	In-Reply-To:References:Cc:To:From: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=O5zCB1k2FdYUY9A+/YbV/9tfJVsNytKUjXn99hzuQrI=; b=T5gl8ugKxyFxp7CAOpT7W7YPdW
	d1HVLOEnxwRdw6qDuE4k+1pi3L2hk8senh9fHvFDHJwixrmZELulKCDMhn7TQwvLPMeieYEMdYkbl
	R3r+jw1gGk3Ee83AcUOnM5S/+RtWdIIgZAXrr++swM3aangyCP5+gDh+B0RXzQp4ioc9B+QvRAkIs
	fYxU2cncF+H8j6p8z6GzgDOOCJgoMd84zmUTeWT8ccBDOiYlZ0JkEetFZpSq/tqyI87kbEdoxh4az
	F4HDaZ9PC9MEq8RmrnypKa/cyQ5ao6786riogJDnhXPQLkatn1kdB9fJ7RPg43IKq/k9MVbFTSV7l
	+leSCTbH7cMUNGg0FLBeno3ijAfVBc+bXI8cviFUmI0dyZ0lJU22YcN9NkFPHkECfb3MytlAQYHP+
	G/roYxd2FZV2A6MInhE+0AtlE1qG0Zz+r2GF+HggLncWupjuc75f+1l62+QX7L08n1yao4wniW98C
	GaExflts9xht5ltBN936lcAFxiyKojbJPCcZBvBKiFFLCTL23MmmYTTpaf4J5OdDU1Gmr9EYkglM4
	msEh5oYyDXmqb9PxxNffuw1nEA/fWw/Aun2Nuqkt/KM2L69xYomy0g/HI4Dg9FO3gn3S/AWRuHLC4
	ji1EHxDUp3PzO7eIWvjkKnb8jdjjT8vI4rk6qnoiY=;
Message-ID: <0c8ee7e9-dd23-262f-f67e-359e14abf6f2@ilande.co.uk>
Date: Tue, 14 Mar 2023 12:43:12 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
From: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
To: "Michael S. Tsirkin" <mst@redhat.com>, Chuck Zmudzinski <brchuckz@aol.com>
Cc: qemu-devel@nongnu.org, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Artyom Tarasenko <atar4qemu@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678763217.git.brchuckz@aol.com>
 <d9ae459b2814425c2d9e756e45d993c824da150a.1678763217.git.brchuckz@aol.com>
 <20230314023148-mutt-send-email-mst@kernel.org>
Content-Language: en-US
In-Reply-To: <20230314023148-mutt-send-email-mst@kernel.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-SA-Exim-Connect-IP: 86.163.239.161
X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
	mail.default.ilande.bv.iomart.io
X-Spam-Level: 
X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED,BAYES_00,
	URIBL_BLOCKED,URIBL_SBL_A autolearn=no autolearn_force=no version=3.4.2
Subject: Re: [PATCH v2 2/2] pci: allow slot_reserved_mask to be ignored with
 manual slot assignment
X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000)
X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk)

On 14/03/2023 06:33, Michael S. Tsirkin wrote:

> On Tue, Mar 14, 2023 at 12:01:09AM -0400, Chuck Zmudzinski wrote:
>> Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
>> uses slot_reserved_mask to reserve slot 2 for the Intel IGD for the
>> xenfv machine when the guest is configured for igd-passthru.
>>
>> A desired extension to that commit is to allow use of the reserved slot
>> if the administrator manually configures a device to use the reserved
>> slot. Currently, slot_reserved_mask is enforced unconditionally. With
>> this patch, the pci bus can be configured so the slot is only reserved
>> if the pci device to be added to the bus is configured for automatic
>> slot assignment.
>>
>> To enable the desired behavior of slot_reserved_mask machine, add a
>> boolean member enforce_slot_reserved_mask_manual to struct PCIBus and
>> add a function pci_bus_ignore_slot_reserved_mask_manual which can be
>> called to change the default behavior of always enforcing
>> slot_reserved_mask so, in that case, slot_reserved_mask is only enforced
>> when the pci device being added is configured for automatic slot
>> assignment.
>>
>> Call the new pci_bus_ignore_slot_reserved_mask_manual function after
>> creating the pci bus for the pc/i440fx/xenfv machine type to implement
>> the desired behavior of causing slot_reserved_mask to only apply when
>> the pci device to be added to a pc/i440fx/xenfv machine is configured
>> for automatic slot assignment.
>>
>> Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
>> Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
> 
> I really dislike this.
> It seems that xen should not have used slot_reserved_mask,
> and instead needs something new like slot_manual_mask.
> No?

My suggestion was to move the validation logic to a separate callback function in 
PCIBus (see https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg03988.html) but 
perhaps I wasn't clear enough in pointing out that I was thinking this could 
*replace* the existing slot_reserved_mask mechanism, rather than providing a hook to 
allow it to be manipulated.

Here's a very rough patch put together over lunch that attempts this for 
pci_bus_devfn_reserved(): the idea is that sun4u and Xen would call 
pci_bus_set_slot_reserved_fn() with a suitable pci_slot_reserved_fn implementation, 
and slot_reserved_mask gets removed completely i.e.:


diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index def5000e7b..30b856499a 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -493,6 +493,13 @@ bool pci_bus_bypass_iommu(PCIBus *bus)
      return host_bridge->bypass_iommu;
  }

+static bool pci_bus_default_slot_reserved(PCISlotReservationType restype,
+                                          int devfn)
+{
+    /* All slots accessible by default */
+    return false;
+}
+
  static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
                                         MemoryRegion *address_space_mem,
                                         MemoryRegion *address_space_io,
@@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus, DeviceState 
*parent,
  {
      assert(PCI_FUNC(devfn_min) == 0);
      bus->devfn_min = devfn_min;
-    bus->slot_reserved_mask = 0x0;
+    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
      bus->address_space_mem = address_space_mem;
      bus->address_space_io = address_space_io;
      bus->flags |= PCI_BUS_IS_ROOT;
@@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
      return !(bus->devices[devfn]);
  }

-static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
+static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
+                                   PCISlotReservationType restype)
+{
+    return bus->slot_reserved_fn(restype, devfn);
+}
+
+void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
  {
-    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
+    bus->slot_reserved_fn = fn;
  }

  /* -1 for devfn means auto assign */
@@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
          for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
              devfn += PCI_FUNC_MAX) {
              if (pci_bus_devfn_available(bus, devfn) &&
-                   !pci_bus_devfn_reserved(bus, devfn)) {
+                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
                  goto found;
              }
          }
@@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
                     "or reserved", name);
          return NULL;
      found: ;
-    } else if (pci_bus_devfn_reserved(bus, devfn)) {
+    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
          error_setg(errp, "PCI: slot %d function %d not available for %s,"
                                         MemoryRegion *address_space_io,
@@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus, DeviceState 
*parent,
  {
      assert(PCI_FUNC(devfn_min) == 0);
      bus->devfn_min = devfn_min;
-    bus->slot_reserved_mask = 0x0;
+    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
      bus->address_space_mem = address_space_mem;
      bus->address_space_io = address_space_io;
      bus->flags |= PCI_BUS_IS_ROOT;
@@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
      return !(bus->devices[devfn]);
  }

-static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
+static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
+                                   PCISlotReservationType restype)
+{
+    return bus->slot_reserved_fn(restype, devfn);
+}
+
+void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
  {
-    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
+    bus->slot_reserved_fn = fn;
  }

  /* -1 for devfn means auto assign */
@@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
          for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
              devfn += PCI_FUNC_MAX) {
              if (pci_bus_devfn_available(bus, devfn) &&
-                   !pci_bus_devfn_reserved(bus, devfn)) {
+                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
                  goto found;
              }
          }
@@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
                     "or reserved", name);
          return NULL;
      found: ;
-    } else if (pci_bus_devfn_reserved(bus, devfn)) {
+    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
          error_setg(errp, "PCI: slot %d function %d not available for %s,"
                     " reserved",
                     PCI_SLOT(devfn), PCI_FUNC(devfn), name);
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index d5a40cd058..8a949f7ae1 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -257,10 +257,18 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev);
   */
  int pci_bar(PCIDevice *d, int reg);

+typedef enum PCISlotReservationType {
+    PCI_SLOT_RESERVATION_AUTO,
+    PCI_SLOT_RESERVATION_MANUAL
+} PCISlotReservationType;
+
+typedef bool (*pci_slot_reserved_fn)(PCISlotReservationType restype, int devfn);
  typedef void (*pci_set_irq_fn)(void *opaque, int irq_num, int level);
  typedef int (*pci_map_irq_fn)(PCIDevice *pci_dev, int irq_num);
  typedef PCIINTxRoute (*pci_route_irq_fn)(void *opaque, int pin);

+void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn);
+
  #define TYPE_PCI_BUS "PCI"
  OBJECT_DECLARE_TYPE(PCIBus, PCIBusClass, PCI_BUS)
  #define TYPE_PCIE_BUS "PCIE"
diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
index 5653175957..d68ea1418d 100644
--- a/include/hw/pci/pci_bus.h
+++ b/include/hw/pci/pci_bus.h
@@ -36,7 +36,7 @@ struct PCIBus {
      PCIIOMMUFunc iommu_fn;
      void *iommu_opaque;
      uint8_t devfn_min;
-    uint32_t slot_reserved_mask;
+    pci_slot_reserved_fn slot_reserved_fn;
      pci_set_irq_fn set_irq;
      pci_map_irq_fn map_irq;
      pci_route_irq_fn route_intx_to_irq;


If this approach seems reasonable, I'm happy for someone else to take this over and 
turn it into a proper series.


ATB,

Mark.


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 12:52:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 12:52:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509584.785602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc48h-0004ht-Op; Tue, 14 Mar 2023 12:52:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509584.785602; Tue, 14 Mar 2023 12: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 1pc48h-0004hm-Jq; Tue, 14 Mar 2023 12:52:27 +0000
Received: by outflank-mailman (input) for mailman id 509584;
 Tue, 14 Mar 2023 12:52: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 1pc48h-0004hc-3c; Tue, 14 Mar 2023 12:52: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 1pc48h-0004Qi-10; Tue, 14 Mar 2023 12:52: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 1pc48g-0005G1-Kz; Tue, 14 Mar 2023 12:52:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pc48g-0005fp-KS; Tue, 14 Mar 2023 12:52: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=uZ8MuMa0ar/rWxEBSHwUxQPqa6BIalxO7dLPuCsCc0o=; b=anGw67VURhqXTbQ5yuNzEEgv9i
	5iHK+v/1ywxxo3fRdsZik9wb445BfG6mpBEfVfIk9+M8HMMafMdyXKVLNbfiwvlzxzsQjdJaBY0+3
	wZHxcrGQFCBkFlpHVyGe4gHaequxcxW23w3UingKmwPvkOqMueck9ynio2k6bT2lMb88=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179607-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179607: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=fc89d7fb499b0162e081f434d45e8d1b47e82ece
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Mar 2023 12:52:26 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  19 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 19 guest-stop               fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 16 guest-saverestore.2 fail REGR. vs. 178042
 test-arm64-arm64-xl         18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 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-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-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                fc89d7fb499b0162e081f434d45e8d1b47e82ece
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   20 days
Failing since        178093  2023-02-22 05:02:47 Z   20 days   40 attempts
Testing same since   179607  2023-03-13 19:40:31 Z    0 days    1 attempts

------------------------------------------------------------
2122 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 13:16:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 13:16:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509590.785612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc4WK-0007WJ-QJ; Tue, 14 Mar 2023 13:16:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509590.785612; Tue, 14 Mar 2023 13:16: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 1pc4WK-0007WC-Nb; Tue, 14 Mar 2023 13:16:52 +0000
Received: by outflank-mailman (input) for mailman id 509590;
 Tue, 14 Mar 2023 13:16: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=7E33=7G=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1pc4WJ-0007W4-IK
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 13:16:51 +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 793455f9-c26a-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 14:16:49 +0100 (CET)
Received: from mail-ed1-f71.google.com (mail-ed1-f71.google.com
 [209.85.208.71]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-648-mcfBmHJ9PrOvMrkb81M5ng-1; Tue, 14 Mar 2023 09:16:46 -0400
Received: by mail-ed1-f71.google.com with SMTP id
 b7-20020a056402350700b004d2a3d5cd3fso21742557edd.8
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 06:16:45 -0700 (PDT)
Received: from redhat.com ([2a02:14f:1f7:4129:3ef9:ea05:f0ca:6b81])
 by smtp.gmail.com with ESMTPSA id
 r8-20020a170906c28800b00928e0ea53e5sm1138289ejz.84.2023.03.14.06.16.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Mar 2023 06:16: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: 793455f9-c26a-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678799807;
	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=hIAXseRKi4A6hgBwN93vaPfaXQdoWyfyU0Q1ZAsvdyE=;
	b=GV9b9xfCzHHlET54GemQxQj8R2yuonHA2HWNEgw5ZFKUjW8WYqOeX0Tixsb5tvRZViKnn6
	sCHFJ0SFUYRusjrfrN+FllXywReG7v+M/7tAOPIcqy1br6GiWD+4w+AsYcIhOzVSbC4EJq
	6dVPoxO6rTS+7r0VrWqcVD7RqwNc3kw=
X-MC-Unique: mcfBmHJ9PrOvMrkb81M5ng-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678799803;
        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=hIAXseRKi4A6hgBwN93vaPfaXQdoWyfyU0Q1ZAsvdyE=;
        b=1alC9XDPQb1w1S7zsJLC/vae/GY0dWm5iVS/GN2W03tiLWOvD1f4VIe4rhlajWM9hN
         r05LZL1zTLkusrrqo6Xm8apy6NoDGXly7tBH2El1ywOsihu5GlPpWbq0dH++RmiLc+9i
         f5NXZsm4FozSxfmSVdHqvP2fdyeKkeeHeXV4WhNroqFRxAP6NRzok1+Vr4ZSwh5/Y4rU
         Oz/55wUWZWBSmkJxv+2GsmfMYXnVoIMVpmM8RaUprT27fiVl5u3EXsoqMh4bN31SBtar
         JtGNo9X6DAO3D4v2lNQrHrbmT+wn1rSpOL0+ZitpaUMr7ScPPxhehhJtJapeftVVQFT9
         undg==
X-Gm-Message-State: AO0yUKW2bzkNEtOVtjpn/L87ooZwvUVXWcwOmlZ8RcmUkXcZXI7RlI7m
	oB60ik8C5UwU1eG4sLuN4n2esKZvlYHZ1ARRJ9hKKi9lthNXQvmXi9UVgM5K9fe6lylAEc78udI
	/OlBhH+l/N5rlpXO55Cg6WeYO4Hc=
X-Received: by 2002:a17:907:d13:b0:8f4:809e:faee with SMTP id gn19-20020a1709070d1300b008f4809efaeemr2766641ejc.19.1678799803059;
        Tue, 14 Mar 2023 06:16:43 -0700 (PDT)
X-Google-Smtp-Source: AK7set/bTtWokPnmCG+Y9HcT9FaE2j2zBWfT9dGSuyKJ37cXmbtLNdihy9mpTH9ckpsrrBBKuM8Gcw==
X-Received: by 2002:a17:907:d13:b0:8f4:809e:faee with SMTP id gn19-20020a1709070d1300b008f4809efaeemr2766612ejc.19.1678799802743;
        Tue, 14 Mar 2023 06:16:42 -0700 (PDT)
Date: Tue, 14 Mar 2023 09:16:36 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Chuck Zmudzinski <brchuckz@aol.com>
Cc: qemu-devel@nongnu.org, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 2/2] pci: allow slot_reserved_mask to be ignored with
 manual slot assignment
Message-ID: <20230314091342-mutt-send-email-mst@kernel.org>
References: <cover.1678763217.git.brchuckz@aol.com>
 <d9ae459b2814425c2d9e756e45d993c824da150a.1678763217.git.brchuckz@aol.com>
 <20230314023148-mutt-send-email-mst@kernel.org>
 <ad2741b3-1f5f-8704-d51b-426d3d496811@aol.com>
MIME-Version: 1.0
In-Reply-To: <ad2741b3-1f5f-8704-d51b-426d3d496811@aol.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Mar 14, 2023 at 08:33:02AM -0400, Chuck Zmudzinski wrote:
> On 3/14/2023 2:33 AM, Michael S. Tsirkin wrote:
> > On Tue, Mar 14, 2023 at 12:01:09AM -0400, Chuck Zmudzinski wrote:
> > > Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
> > > uses slot_reserved_mask to reserve slot 2 for the Intel IGD for the
> > > xenfv machine when the guest is configured for igd-passthru.
> > > 
> > > A desired extension to that commit is to allow use of the reserved slot
> > > if the administrator manually configures a device to use the reserved
> > > slot. Currently, slot_reserved_mask is enforced unconditionally. With
> > > this patch, the pci bus can be configured so the slot is only reserved
> > > if the pci device to be added to the bus is configured for automatic
> > > slot assignment.
> > > 
> > > To enable the desired behavior of slot_reserved_mask machine, add a
> > > boolean member enforce_slot_reserved_mask_manual to struct PCIBus and
> > > add a function pci_bus_ignore_slot_reserved_mask_manual which can be
> > > called to change the default behavior of always enforcing
> > > slot_reserved_mask so, in that case, slot_reserved_mask is only enforced
> > > when the pci device being added is configured for automatic slot
> > > assignment.
> > > 
> > > Call the new pci_bus_ignore_slot_reserved_mask_manual function after
> > > creating the pci bus for the pc/i440fx/xenfv machine type to implement
> > > the desired behavior of causing slot_reserved_mask to only apply when
> > > the pci device to be added to a pc/i440fx/xenfv machine is configured
> > > for automatic slot assignment.
> > > 
> > > Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
> > > Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
> >
> > I really dislike this. 
> > It seems that xen should not have used slot_reserved_mask,
> > and instead needs something new like slot_manual_mask.
> > No?
> 
> Actually, xen would use something like slot_auto_mask, and
> sun4u would use both slot_auto_mask and slot_manual_mask.
> 
> Is it just that this patch touches hw/pci-host/i440fx.c that you
> don't like or is it that you don't like adding slot_reserved_mask_manual
> and pci_bus_ignore_slot_reserved_mask_manual, or is it both
> that you don't like?

I don't like the enforce_slot_reserved_mask_manual flag -
I prefer straight forward logic with no branches in
the common code.

> If it's the former that you don't like, the call to
> pci_bus_ignore_slot_reserved_mask_manual can be moved to
> xen_igd_reserve_slot in hw/xen/xen_pt.c and this would
> avoid touching hw/pci-host/i440fx.c.
> 
> If it's the latter that you don't like, both slot_reserved_mask_manual
> and pci_bus_ignore_slot_reserved_mask_manual can be removed
> and this can be implemented with two independent slot masks:
> 
> rename slot_reserved_mask as slot_auto_mask - used by both xen and sun4u
> slot_manual_mask - new mask, used only by sun4u.

Sounds good to me, except let's add "reserved" in here.
slot_reserved_mask_auto, slot_reserved_mask_manual ?

> We would also need to have two sets of accessor functions in this case, one
> set to access slot_auto_mask, and the other to access slot_manual_mask.
> Since the sun4u machine does not need to either get the value of
> slot_manual_mask or clear the slot_manual_mask, slot_manual_mask
> would only need to have one accessor function to set the value of the
> mask. slot_auto_mask would have all three accessor functions that xen
> needs to use.
> 
> Would that be OK?


Sounds good to me.

> >
> > > ---
> > > Changelog
> > > 
> > > v2: Change Subject of patch from
> > >     "pci: add enforce_slot_reserved_mask_manual property" To
> > >     "pci: allow slot_reserved_mask to be ignored with manual slot assignment"
> > > 
> > >     Add pci_bus_ignore_slot_reserved_mask_manual function
> > > 
> > >     Call pci_bus_ignore_slot_reserved_mask_manual at appropriate place
> > >     in hw/pci-host/i440fx.c
> > > 
> > >  hw/pci-host/i440fx.c     |  1 +
> > >  hw/pci/pci.c             | 14 +++++++++++++-
> > >  include/hw/pci/pci.h     |  1 +
> > >  include/hw/pci/pci_bus.h |  1 +
> > >  4 files changed, 16 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/hw/pci-host/i440fx.c b/hw/pci-host/i440fx.c
> > > index 262f82c303..8e00b88926 100644
> > > --- a/hw/pci-host/i440fx.c
> > > +++ b/hw/pci-host/i440fx.c
> > > @@ -257,6 +257,7 @@ PCIBus *i440fx_init(const char *pci_type,
> > >      s = PCI_HOST_BRIDGE(dev);
> > >      b = pci_root_bus_new(dev, NULL, pci_address_space,
> > >                           address_space_io, 0, TYPE_PCI_BUS);
> > > +    pci_bus_ignore_slot_reserved_mask_manual(b);
> > >      s->bus = b;
> > >      object_property_add_child(qdev_get_machine(), "i440fx", OBJECT(dev));
> > >      sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
> > > diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> > > index 8a87ccc8b0..670ecc6986 100644
> > > --- a/hw/pci/pci.c
> > > +++ b/hw/pci/pci.c
> > > @@ -501,6 +501,7 @@ static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
> > >      assert(PCI_FUNC(devfn_min) == 0);
> > >      bus->devfn_min = devfn_min;
> > >      bus->slot_reserved_mask = 0x0;
> > > +    bus->enforce_slot_reserved_mask_manual = true;
> > >      bus->address_space_mem = address_space_mem;
> > >      bus->address_space_io = address_space_io;
> > >      bus->flags |= PCI_BUS_IS_ROOT;
> > > @@ -1116,6 +1117,17 @@ static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
> > >      return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
> > >  }
> > >  
> > > +static bool pci_bus_devfn_reserved_manual(PCIBus *bus, int devfn)
> > > +{
> > > +    return bus->enforce_slot_reserved_mask_manual &&
> > > +            (bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn)));
> > > +}
> > > +
> > > +void pci_bus_ignore_slot_reserved_mask_manual(PCIBus *bus)
> > > +{
> > > +    bus->enforce_slot_reserved_mask_manual = false;
> > > +}
> > > +
> > >  uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus)
> > >  {
> > >      return bus->slot_reserved_mask;
> > > @@ -1164,7 +1176,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> > >                     "or reserved", name);
> > >          return NULL;
> > >      found: ;
> > > -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
> > > +    } else if (pci_bus_devfn_reserved_manual(bus, devfn)) {
> > >          error_setg(errp, "PCI: slot %d function %d not available for %s,"
> > >                     " reserved",
> > >                     PCI_SLOT(devfn), PCI_FUNC(devfn), name);
> > > diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> > > index 935b4b91b4..48d29ec234 100644
> > > --- a/include/hw/pci/pci.h
> > > +++ b/include/hw/pci/pci.h
> > > @@ -287,6 +287,7 @@ void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
> > >  void pci_bus_map_irqs(PCIBus *bus, pci_map_irq_fn map_irq);
> > >  void pci_bus_irqs_cleanup(PCIBus *bus);
> > >  int pci_bus_get_irq_level(PCIBus *bus, int irq_num);
> > > +void pci_bus_ignore_slot_reserved_mask_manual(PCIBus *bus);
> > >  uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus);
> > >  void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask);
> > >  void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask);
> > > diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
> > > index 5653175957..e0f15ee9be 100644
> > > --- a/include/hw/pci/pci_bus.h
> > > +++ b/include/hw/pci/pci_bus.h
> > > @@ -37,6 +37,7 @@ struct PCIBus {
> > >      void *iommu_opaque;
> > >      uint8_t devfn_min;
> > >      uint32_t slot_reserved_mask;
> > > +    bool enforce_slot_reserved_mask_manual;
> > >      pci_set_irq_fn set_irq;
> > >      pci_map_irq_fn map_irq;
> > >      pci_route_irq_fn route_intx_to_irq;
> > > -- 
> > > 2.39.2
> >



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 13:17:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 13:17:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509592.785622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc4XG-00080P-4W; Tue, 14 Mar 2023 13:17:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509592.785622; Tue, 14 Mar 2023 13:17:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc4XG-00080I-1a; Tue, 14 Mar 2023 13:17:50 +0000
Received: by outflank-mailman (input) for mailman id 509592;
 Tue, 14 Mar 2023 13:17: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=7E33=7G=redhat.com=mst@srs-se1.protection.inumbo.net>)
 id 1pc4XE-0007uj-EP
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 13:17:48 +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 9bc670a8-c26a-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 14:17:46 +0100 (CET)
Received: from mail-ed1-f69.google.com (mail-ed1-f69.google.com
 [209.85.208.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-621-GV9iIB9oOG6AJpdsU-QAPA-1; Tue, 14 Mar 2023 09:17:43 -0400
Received: by mail-ed1-f69.google.com with SMTP id
 es16-20020a056402381000b004fa3e04c882so12885618edb.10
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 06:17:43 -0700 (PDT)
Received: from redhat.com ([2a02:14f:1f7:4129:3ef9:ea05:f0ca:6b81])
 by smtp.gmail.com with ESMTPSA id
 pw13-20020a17090720ad00b008e40853a712sm1141538ejb.97.2023.03.14.06.17.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Mar 2023 06:17:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9bc670a8-c26a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678799865;
	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=dD/eOO+0pKgceKKM8fKsW/OzC3zlL3h1c8nutUJKDEY=;
	b=hol5zFOO0trKwLApTWBAnQAq0fYeOgQbg/kIPHeAZho9Ce3KoP6PBzxZMlqYXvRzGEpDUN
	XMkHbI9UKnfQMUbIEtVwCa3yfVKQaLSGVRuWJUC2zvhxAJCrXzE3c0BpuhdBIC+qbJ0wH3
	BeVcQOCCGUsGskJsD5WJ489FA/1jQY4=
X-MC-Unique: GV9iIB9oOG6AJpdsU-QAPA-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678799862;
        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=dD/eOO+0pKgceKKM8fKsW/OzC3zlL3h1c8nutUJKDEY=;
        b=jpVx1P2hTv6Z0CC7pWHwYFn5jmhpSRPmm50Wi7qp1HK7jdfQCwmpDwKjN/tQjUUgjS
         Xjqm8uIKO1hjEGHjKY73PJij2cuCAQkuZ2rKC1C9YiXh5YAqPAa6FVl2ayVCA3bMdRtZ
         2J17BVzZc+/bTTlUn1wR+jbqBqcgZVcGE6iEFe/MouxHzoDWKDQVZrKQOBkNG1Duz51A
         HSW4wPQG2ENhNuV0zL4F1UML0gYjSVDsMZeY2evdw6nlEEuZsQYL1pA3eKjZ+Y9QdiIV
         6CsWWg49IPO7KduJ3LQpOBsnqUJQ/AC9X+vS5dg3DmZsICJyL0jrsa9ZNDGDoahnbNlz
         ykZQ==
X-Gm-Message-State: AO0yUKW26Ef/ojs9ySy8z5iRsFxMavrug+WHzEVdKxNndPv6JuqSXXzj
	Vj1gYzJnzerJIsDF/CkAHUd2b16oYiYvqVokGPIXlJfD5A+6rLnnpAHiNDX3WoOI+ZaRodF2T7f
	kuuID13UC8xm2jYyGLxU8Fcgx4pA=
X-Received: by 2002:a17:907:38b:b0:8af:4dab:cf6c with SMTP id ss11-20020a170907038b00b008af4dabcf6cmr2412330ejb.23.1678799861870;
        Tue, 14 Mar 2023 06:17:41 -0700 (PDT)
X-Google-Smtp-Source: AK7set+MDTm40yB+Pzm6DCiPh/E20GuTxTMZPad0cHHH7en8k2Mp/TdF69qzViD9IdRrt222xSVGFw==
X-Received: by 2002:a17:907:38b:b0:8af:4dab:cf6c with SMTP id ss11-20020a170907038b00b008af4dabcf6cmr2412304ejb.23.1678799861554;
        Tue, 14 Mar 2023 06:17:41 -0700 (PDT)
Date: Tue, 14 Mar 2023 09:17:34 -0400
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Cc: Chuck Zmudzinski <brchuckz@aol.com>, qemu-devel@nongnu.org,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 2/2] pci: allow slot_reserved_mask to be ignored with
 manual slot assignment
Message-ID: <20230314091653-mutt-send-email-mst@kernel.org>
References: <cover.1678763217.git.brchuckz@aol.com>
 <d9ae459b2814425c2d9e756e45d993c824da150a.1678763217.git.brchuckz@aol.com>
 <20230314023148-mutt-send-email-mst@kernel.org>
 <0c8ee7e9-dd23-262f-f67e-359e14abf6f2@ilande.co.uk>
MIME-Version: 1.0
In-Reply-To: <0c8ee7e9-dd23-262f-f67e-359e14abf6f2@ilande.co.uk>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Tue, Mar 14, 2023 at 12:43:12PM +0000, Mark Cave-Ayland wrote:
> On 14/03/2023 06:33, Michael S. Tsirkin wrote:
> 
> > On Tue, Mar 14, 2023 at 12:01:09AM -0400, Chuck Zmudzinski wrote:
> > > Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
> > > uses slot_reserved_mask to reserve slot 2 for the Intel IGD for the
> > > xenfv machine when the guest is configured for igd-passthru.
> > > 
> > > A desired extension to that commit is to allow use of the reserved slot
> > > if the administrator manually configures a device to use the reserved
> > > slot. Currently, slot_reserved_mask is enforced unconditionally. With
> > > this patch, the pci bus can be configured so the slot is only reserved
> > > if the pci device to be added to the bus is configured for automatic
> > > slot assignment.
> > > 
> > > To enable the desired behavior of slot_reserved_mask machine, add a
> > > boolean member enforce_slot_reserved_mask_manual to struct PCIBus and
> > > add a function pci_bus_ignore_slot_reserved_mask_manual which can be
> > > called to change the default behavior of always enforcing
> > > slot_reserved_mask so, in that case, slot_reserved_mask is only enforced
> > > when the pci device being added is configured for automatic slot
> > > assignment.
> > > 
> > > Call the new pci_bus_ignore_slot_reserved_mask_manual function after
> > > creating the pci bus for the pc/i440fx/xenfv machine type to implement
> > > the desired behavior of causing slot_reserved_mask to only apply when
> > > the pci device to be added to a pc/i440fx/xenfv machine is configured
> > > for automatic slot assignment.
> > > 
> > > Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
> > > Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
> > 
> > I really dislike this.
> > It seems that xen should not have used slot_reserved_mask,
> > and instead needs something new like slot_manual_mask.
> > No?
> 
> My suggestion was to move the validation logic to a separate callback
> function in PCIBus (see
> https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg03988.html) but
> perhaps I wasn't clear enough in pointing out that I was thinking this could
> *replace* the existing slot_reserved_mask mechanism, rather than providing a
> hook to allow it to be manipulated.
> 
> Here's a very rough patch put together over lunch that attempts this for
> pci_bus_devfn_reserved(): the idea is that sun4u and Xen would call
> pci_bus_set_slot_reserved_fn() with a suitable pci_slot_reserved_fn
> implementation, and slot_reserved_mask gets removed completely i.e.:
> 
> 
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index def5000e7b..30b856499a 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -493,6 +493,13 @@ bool pci_bus_bypass_iommu(PCIBus *bus)
>      return host_bridge->bypass_iommu;
>  }
> 
> +static bool pci_bus_default_slot_reserved(PCISlotReservationType restype,
> +                                          int devfn)
> +{
> +    /* All slots accessible by default */
> +    return false;
> +}
> +
>  static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
>                                         MemoryRegion *address_space_mem,
>                                         MemoryRegion *address_space_io,
> @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
> DeviceState *parent,
>  {
>      assert(PCI_FUNC(devfn_min) == 0);
>      bus->devfn_min = devfn_min;
> -    bus->slot_reserved_mask = 0x0;
> +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
>      bus->address_space_mem = address_space_mem;
>      bus->address_space_io = address_space_io;
>      bus->flags |= PCI_BUS_IS_ROOT;
> @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
>      return !(bus->devices[devfn]);
>  }
> 
> -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
> +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
> +                                   PCISlotReservationType restype)
> +{
> +    return bus->slot_reserved_fn(restype, devfn);
> +}
> +
> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
>  {
> -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
> +    bus->slot_reserved_fn = fn;
>  }
> 
>  /* -1 for devfn means auto assign */
> @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
>          for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
>              devfn += PCI_FUNC_MAX) {
>              if (pci_bus_devfn_available(bus, devfn) &&
> -                   !pci_bus_devfn_reserved(bus, devfn)) {
> +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
>                  goto found;
>              }
>          }
> @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
>                     "or reserved", name);
>          return NULL;
>      found: ;
> -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
> +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
>          error_setg(errp, "PCI: slot %d function %d not available for %s,"
>                                         MemoryRegion *address_space_io,
> @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
> DeviceState *parent,
>  {
>      assert(PCI_FUNC(devfn_min) == 0);
>      bus->devfn_min = devfn_min;
> -    bus->slot_reserved_mask = 0x0;
> +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
>      bus->address_space_mem = address_space_mem;
>      bus->address_space_io = address_space_io;
>      bus->flags |= PCI_BUS_IS_ROOT;
> @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
>      return !(bus->devices[devfn]);
>  }
> 
> -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
> +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
> +                                   PCISlotReservationType restype)
> +{
> +    return bus->slot_reserved_fn(restype, devfn);
> +}
> +
> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
>  {
> -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
> +    bus->slot_reserved_fn = fn;
>  }
> 
>  /* -1 for devfn means auto assign */
> @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
>          for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
>              devfn += PCI_FUNC_MAX) {
>              if (pci_bus_devfn_available(bus, devfn) &&
> -                   !pci_bus_devfn_reserved(bus, devfn)) {
> +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
>                  goto found;
>              }
>          }
> @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
>                     "or reserved", name);
>          return NULL;
>      found: ;
> -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
> +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
>          error_setg(errp, "PCI: slot %d function %d not available for %s,"
>                     " reserved",
>                     PCI_SLOT(devfn), PCI_FUNC(devfn), name);
> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> index d5a40cd058..8a949f7ae1 100644
> --- a/include/hw/pci/pci.h
> +++ b/include/hw/pci/pci.h
> @@ -257,10 +257,18 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev);
>   */
>  int pci_bar(PCIDevice *d, int reg);
> 
> +typedef enum PCISlotReservationType {
> +    PCI_SLOT_RESERVATION_AUTO,
> +    PCI_SLOT_RESERVATION_MANUAL
> +} PCISlotReservationType;
> +
> +typedef bool (*pci_slot_reserved_fn)(PCISlotReservationType restype, int devfn);
>  typedef void (*pci_set_irq_fn)(void *opaque, int irq_num, int level);
>  typedef int (*pci_map_irq_fn)(PCIDevice *pci_dev, int irq_num);
>  typedef PCIINTxRoute (*pci_route_irq_fn)(void *opaque, int pin);
> 
> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn);
> +
>  #define TYPE_PCI_BUS "PCI"
>  OBJECT_DECLARE_TYPE(PCIBus, PCIBusClass, PCI_BUS)
>  #define TYPE_PCIE_BUS "PCIE"
> diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
> index 5653175957..d68ea1418d 100644
> --- a/include/hw/pci/pci_bus.h
> +++ b/include/hw/pci/pci_bus.h
> @@ -36,7 +36,7 @@ struct PCIBus {
>      PCIIOMMUFunc iommu_fn;
>      void *iommu_opaque;
>      uint8_t devfn_min;
> -    uint32_t slot_reserved_mask;
> +    pci_slot_reserved_fn slot_reserved_fn;
>      pci_set_irq_fn set_irq;
>      pci_map_irq_fn map_irq;
>      pci_route_irq_fn route_intx_to_irq;
> 
> 
> If this approach seems reasonable, I'm happy for someone else to take this
> over and turn it into a proper series.
> 
> 
> ATB,
> 
> Mark.

It's ok too though I think I like chuck's proposal better:
less callbacks to chase.

-- 
MST



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 13:21:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 13:21:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509594.785632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc4aW-0001AU-Kd; Tue, 14 Mar 2023 13:21:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509594.785632; Tue, 14 Mar 2023 13:21:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc4aW-0001AN-HP; Tue, 14 Mar 2023 13:21:12 +0000
Received: by outflank-mailman (input) for mailman id 509594;
 Tue, 14 Mar 2023 13:21: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=Zfqj=7G=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pc4aV-0001AH-8Q
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 13:21:11 +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 154bd254-c26b-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 14:21:09 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id cy23so61831419edb.12
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 06:21:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 154bd254-c26b-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678800069;
        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=Nok1tUyiv0qyZZPdc9hqlwYoA/efOqe+4qolfrtnnws=;
        b=VDYtSL1FqFvJUqnWouqmbaLviy3xq/5zS3213EB+a1n4JNN5VBkUDBG8AEXneXLqHu
         c7XRbW11a+QwoiaGXGCnd9gu0qowyvqpl7pTOZHGJYo72RDAtL7MOilJLsMCtte+NiLB
         Db6NxMrjRrZIqX8T2svrazQ6lbrk9yjkp6TVDCOdi4Wm6N8RoXyaQ6EvNlkmjG/tBfyV
         fTKqpUCNMNgYZU8tNo466fdpmSi+qAnzt4ihu3C6imJmDwuU7oKbydYWtxzcbUbY/pbL
         Kk5xPs+40StdDuX6ZCpBJ9CuNwSF53Dxa10fG43rypBtnvGWoPiZsuXCQMMcLKuq5Saa
         pvHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678800069;
        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=Nok1tUyiv0qyZZPdc9hqlwYoA/efOqe+4qolfrtnnws=;
        b=QrAgcOrvx8OGb60Ecn0j3MhlQq1DcAQql0eAiWHXbQbbF993VLJ9tlhtAqWfEYsdZF
         GM4vYj6QxRS4pr3ExY50OuCtqdv3b67RV2E6GkFTOeo3Lf3+z7OlnMInmr4zl8cAn7I6
         xhGHHyXCnvVX4oqghQ0/8umc2Q3hLbAqPoVQWpITLuJRRaAMqFyySdyAnPQPUcz76QZS
         +BXWpVSB4yh1twJKObxPc9lKX4BVmeMabKeQWeyQoi9VRgQFcu0TBT1pZSvdx12salsb
         0bMMKpqoGzvLU1DQxaITAzXZITvPyyCcF0EmCOOAB3oTIJ9XjcZRf8tab2pgCGAUcDqx
         QqHw==
X-Gm-Message-State: AO0yUKVeLNyV/3JbgyyEMNaSeHTlo6BFkuhOfVHGBI2ArUQ29q3PKBnH
	tIKtLilprvhKZpta4Y/XeOlp7D2weqFjoQfirSs=
X-Google-Smtp-Source: AK7set+AKACa24e8QIBLjUW65VLcR5Y6PylrsE9hpGf/o2fiyFkkthz2bknwnR2bpwVksMT0MwihTMhxGCIbh3BNJRE=
X-Received: by 2002:a50:bae1:0:b0:4ad:7439:cec7 with SMTP id
 x88-20020a50bae1000000b004ad7439cec7mr20257942ede.7.1678800068808; Tue, 14
 Mar 2023 06:21:08 -0700 (PDT)
MIME-Version: 1.0
References: <20230313175047.20719-1-jandryuk@gmail.com> <a990fe77-6132-c5df-c149-6255fb13d845@apertussolutions.com>
 <CAKf6xpt02aK7SWNb=xB3kKZB3Dt9UC8mMKMVz5kq96uNJvdzbQ@mail.gmail.com>
 <d17d7b39-28ce-55a6-8d2b-fe2dfd10c38d@gmail.com> <52c04d0b-2b30-ffc5-fe5f-72a182abfee7@suse.com>
In-Reply-To: <52c04d0b-2b30-ffc5-fe5f-72a182abfee7@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 14 Mar 2023 09:20:56 -0400
Message-ID: <CAKf6xpv7AGqWOcv2hFYzcJLq0c3EyhUiBxvmHeSui661M6HFcQ@mail.gmail.com>
Subject: Re: [PATCH] flask: label-pci: Allow specifying optional irq label
To: Jan Beulich <jbeulich@suse.com>
Cc: "dpsmith.dev" <dpsmith.dev@gmail.com>, xen-devel@lists.xenproject.org, 
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 14, 2023 at 2:42=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 13.03.2023 22:11, dpsmith.dev wrote:
> > On 3/13/23 15:14, Jason Andryuk wrote:
> >> On Mon, Mar 13, 2023 at 2:49=E2=80=AFPM Daniel P. Smith
> >> <dpsmith@apertussolutions.com> wrote:
> >>> On 3/13/23 13:50, Jason Andryuk wrote:
> >>>>                usage(argCnt, argv);
> >>>>
> >>>> +     if (argCnt =3D=3D 4) {
> >>>> +         pirq_label =3D argv[3];
> >>>> +     } else {
> >>>> +         pirq_label =3D argv[2];
> >>>> +     }
> >>>> +
> >>>
> >>> style nit: space inside parens and curly brackets could be dropped or
> >>> should be moved to their own lines.
> >>
> >> This file doesn't follow Xen style.  I think dropping the curly braces
> >> is fine, but the lack of spaces 'if (argCnt =3D=3D 4)' should stay for
> >> consistency.  Does that sound okay?
> >>
> >
> > Hmm, I thought there was interest in getting everything in tree consist=
ent, maybe I am mistaken. I am not hard pressed to enforce the style. Unles=
s someone else objects, I am good with your proposal.
>
> The rule of thumb is that if a file is (largely) consistent in itself,
> then that style is preferred over introducing a mix. (I haven't checked
> this specific file, though.) The same may or may not apply to individual
> functions within a file; there it's more likely to be considered one way
> or the other on a case by case basis.

Thanks, Jan.  The file has 2 functions.  There are two instances of
spaces within parens, and all the other cases, the majority, omit
spaces.  The next version will drop curly braces and continue omitting
spaces.

This patch should have had v2 in the subject (it has a v2 change log).
The next one will have v3.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 13:27:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 13:27:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509598.785642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc4gG-0001ru-F2; Tue, 14 Mar 2023 13:27:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509598.785642; Tue, 14 Mar 2023 13: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 1pc4gG-0001rn-Ap; Tue, 14 Mar 2023 13:27:08 +0000
Received: by outflank-mailman (input) for mailman id 509598;
 Tue, 14 Mar 2023 13:27:07 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9LtO=7G=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pc4gF-0001rh-5L
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 13:27:07 +0000
Received: from sonic311-23.consmr.mail.gq1.yahoo.com
 (sonic311-23.consmr.mail.gq1.yahoo.com [98.137.65.204])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e74d2f5d-c26b-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 14:27:03 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic311.consmr.mail.gq1.yahoo.com with HTTP; Tue, 14 Mar 2023 13:27:00 +0000
Received: by hermes--production-ne1-759c9b8c64-2s6ww (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 9d3ca51c02ddf4ed76ac806fbc7932b6; 
 Tue, 14 Mar 2023 13:26: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: e74d2f5d-c26b-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678800420; bh=68FbTqoQyuQCMDNkknI+EpWSaNjKI2PznCP4lTkgxzw=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=G0dPKYjo5+Dik62AM4GV8f7dRpmAzFTrAbK3gc8HA8rz1GJbgvUTvWg7lq+hD39WEZMTEa2kX053l5Jkk3fNW8TQrdYtcsIulTt7k2gGNLpfNZY75VX4ozbWPjC9uNLEQjSYa5ARVqd6pvXy6fvMFZDgY2BLG1kVF8g0e1G3iplDx7llhk6sbIRKnmsh/9qMKZaoMeT2BDixItzhmoWTk+7jgZqUPGH2iYKZJpdetSV392Sa5K+Ex6kI+BkxVPlaanRX/EByaOJCDeepw0uCNHbfgqrvZpaQoyZqHQQhBq5uwyWzLrDv0LECWQ9GGBFf1UJofFov3DmFy6gFiZhbgQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678800420; bh=A85hg+TOJ6OTD1nlgqI1/XIR8cS6a/Jyqr6YmGTfkA9=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=skuGYd+g0ns6OSnE33Uv3OxkglI1Mu4OXDYsJTcJjlTTPsvmZv9Y1tMvkTxnV6mhxlKlMj711MnSljtguSUtPrjYD4I+vNJncewfKn1UgRWDxkpptMMB14GPXfKocXnviV/LoAREXzx5UgErSFNrmS7N5GP6AsmOCTBsce+d3QyUqb5eVGGKfiZEcJ9RwY8w3Xb5pZqOij3m5bKJV1xgzFTBkkQFCMii9ymc3cquLgPBdscAq4qVEIBq+TxcA53/qiSTj3e5Nb8pImJ1QcS11cFOi7G0qRocbd/QQ28+WgQNwfdGkc1YScKriMlXJVmJcZfAk2eeTV7/fRQLggp4kg==
X-YMail-OSG: uW..HREVM1lCeyWxcPicU0XBKNQZ9tipeww.ETk4rDR9bwGd8ZEqQT2I7lblN2k
 Y5uN6ljqtWgXC8KPtw387FXLQuUH.7Fx5qdU61zj6JczGA9p1bzCOauLY.OTQuI37K_U1sUyb5xa
 fwEwalQTW6O5C5e.mpP_I6M1_WlJM4ea0qJupYLEzBrSUDNuZnevek8IUNLRpC7rcmCqRK96X5JV
 eiJEzGWIGJlSIct_kGKKpM3zYPeBeNigaqzLaQevgbAOcqvgQ.wR27g9YgNK5_aGGEB.atHwcO2g
 b21lcdbTKnEEPEmR077.GAImcHXuruNEXq3egKTHLRQdBS2ZsZufYCnW1TUXrCVbd.aNaGam3n9r
 alsaMUNjzM76OvL6VaFkv37LFSlNEvmLS.m2Gg3S7Lh_jBpanlxYSb.LEOBwBvffBzmuuuNXNA5m
 LqD2A.3vle2NuYHVq0gq1gvsxPeYXpKCwu33lyIpPs2rW3d.sWd8e0giU9Bg7W47vSWDd9jbFJ6Y
 3jOKHuMMQKXza0oXyCLznpsOZyf..sHBjXTCsNDovUIp3ZnrYNQkkBFNeUb8o0uaBQBDZd6SPWht
 juozJkXyleCo_zv_80wvy3lMjgpjHgQ_ESPKcahs0TM24Tw3k9Ggi0CMMJNe5pNWDGCVGz65khVw
 tdUjmhpUh.bXGrUqklOf9VXom3WkoAudl2rlHsqJRnZPe46ysl7Q.tdx5t.Yw8mRHhN_kxoTmH6n
 Up.6zssnc9zFJ6nc09YphjuFD7zURRKrKMSvZ7.s2BUf9DEq3CvaP7zN4C3ouIy44Ft8Mjl_yeRx
 71H9M0JvbXBbyA4yZY1SbHuV6bN_AZg80sTKOt7j7LAqjqPS8UyxN1ksnX3c6F4aeGP_K7B2rM3c
 Z0CieGk_MhUE1Vlubl5vXeOF0UzUvAbdafMp8Bqo_uVndCCydG3IGMsXkIJxWlYxtt_XWaXkVMwb
 NcfBFrpZnLZTta368FVZX_TB_7gooAHaJZGtZY0Mj6a_2DfQEHsMxcK4n5zf5pHXnfO3VGNUpKYE
 TKamLUL2lkxex0nbjFgneuuAacXGTQ0WTYrvZjMaCvDXzR2IWa2AjQSiiNUy7Jn8BccS3SAtM8I2
 GaboRfl1Ae1p8CEu8RSvcx4uUJngrjdcjVBZqwhEfxglPxSnIdkpf.qhoGEy54p96nJctJn9iIA1
 DhKDsBLrV2epq87NATsTZ1nnR9y7NuZbsKN9WMtnSzNtsbju0eiwXgi24nrPFuNPAO81Q8i0WxOl
 h5Iw9Ox9Wlt0ZoEh81A9fZqNhzRwrGKSExdvZm2MJ25Ot5iIP9qQ15oQzbMPyRx765SXV1AS9li7
 H.YG8EhKP.bgSPQ6k3FBh154FbAZASUG5VM.4KHWBHQaPQs0M.XeRSHNBmdBVGLjbJKn8BJQD6.l
 Qs_ZPvneS4CWcpJh65abymK_v2z9CbNOhdkBAlTi4b_jp_3PBMplIiyp11ncPUVCqZ7jdptJsIid
 R8VFBbTtLXBC9Lsu2VZUThZaF.qCxG.4qvymlfcPqD.S2mkZPtyDC2IvsAcLCtY9xems7L5KkeQg
 MMZIiYFzRF6YsJvGBpY7AF1OLTRQ2NdETBdU4vEfLJDg2D4Z56peuOcYVyN_ytBUWtpaHEnmwBfY
 Iklx2O0KI0rJ9dpV3KA0JerkTgElItm8gSE0Rp6uh6pWybQyibRFoFBHeLRCbmF03RrsJqiADI18
 td0EfHvtKZ7uqdysPxom87KJ3qMhvJ0.j0vwyNdSiZ7Bq3LT57bPrRagPiKb_yDRPo5qg8cpXE8o
 t55orStm6T8EjkMkAt5I9O1QsxM7ZsqSCYum_wNMiU5ISbtHeKBgH3dR_RjmfIGEZAwvunMRqYld
 6bTDu_siMI8ajJM5Nt1hyNfe3MxGN0qqpicZebcVyBQz3j8RTwmWa4989ozneIjMeGMdSd4AC3XB
 wctCNJIxLS5T5WUx82u5FrGwKY71Lk1y41sVSbFoiv8lBRn2eAQ88xkUFecPgTOIpQrQvWogroeX
 ybb4OkgTxVvKmRz7M.PQAqrOcj1xDTWWRpZBWU0EoTG6C_6hcsvYlYskzOdqOVCjpxmecfpKnHBy
 U756svtQdpSp3wphp2TkEy7yMXHEsYs0LwBCuXNc7Iezc57bqnHHTe3aLpk_EN7Grws.uaTCm.91
 LqKDHqU5q8o2lXeCkQo7_2r9UtH7SCaknujzk_M87QYCOIwlnRLHfESHn5BGnq4TV396MPpcW6.8
 zTEJTxFstTWQi7gQCtf4KaQ--
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 1ff41cc7-38d0-4704-a2f8-3119c9174330
Message-ID: <34eda0c4-3d90-0e22-7888-81bf18e2a5f0@aol.com>
Date: Tue, 14 Mar 2023 09:26:59 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/2] pci: allow slot_reserved_mask to be ignored with
 manual slot assignment
Content-Language: en-US
To: "Michael S. Tsirkin" <mst@redhat.com>,
 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Cc: qemu-devel@nongnu.org, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Artyom Tarasenko <atar4qemu@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678763217.git.brchuckz@aol.com>
 <d9ae459b2814425c2d9e756e45d993c824da150a.1678763217.git.brchuckz@aol.com>
 <20230314023148-mutt-send-email-mst@kernel.org>
 <0c8ee7e9-dd23-262f-f67e-359e14abf6f2@ilande.co.uk>
 <20230314091653-mutt-send-email-mst@kernel.org>
From: Chuck Zmudzinski <brchuckz@aol.com>
In-Reply-To: <20230314091653-mutt-send-email-mst@kernel.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 9635

On 3/14/2023 9:17 AM, Michael S. Tsirkin wrote:
> On Tue, Mar 14, 2023 at 12:43:12PM +0000, Mark Cave-Ayland wrote:
> > On 14/03/2023 06:33, Michael S. Tsirkin wrote:
> > 
> > > On Tue, Mar 14, 2023 at 12:01:09AM -0400, Chuck Zmudzinski wrote:
> > > > Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
> > > > uses slot_reserved_mask to reserve slot 2 for the Intel IGD for the
> > > > xenfv machine when the guest is configured for igd-passthru.
> > > > 
> > > > A desired extension to that commit is to allow use of the reserved slot
> > > > if the administrator manually configures a device to use the reserved
> > > > slot. Currently, slot_reserved_mask is enforced unconditionally. With
> > > > this patch, the pci bus can be configured so the slot is only reserved
> > > > if the pci device to be added to the bus is configured for automatic
> > > > slot assignment.
> > > > 
> > > > To enable the desired behavior of slot_reserved_mask machine, add a
> > > > boolean member enforce_slot_reserved_mask_manual to struct PCIBus and
> > > > add a function pci_bus_ignore_slot_reserved_mask_manual which can be
> > > > called to change the default behavior of always enforcing
> > > > slot_reserved_mask so, in that case, slot_reserved_mask is only enforced
> > > > when the pci device being added is configured for automatic slot
> > > > assignment.
> > > > 
> > > > Call the new pci_bus_ignore_slot_reserved_mask_manual function after
> > > > creating the pci bus for the pc/i440fx/xenfv machine type to implement
> > > > the desired behavior of causing slot_reserved_mask to only apply when
> > > > the pci device to be added to a pc/i440fx/xenfv machine is configured
> > > > for automatic slot assignment.
> > > > 
> > > > Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
> > > > Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
> > > 
> > > I really dislike this.
> > > It seems that xen should not have used slot_reserved_mask,
> > > and instead needs something new like slot_manual_mask.
> > > No?
> > 
> > My suggestion was to move the validation logic to a separate callback
> > function in PCIBus (see
> > https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg03988.html) but
> > perhaps I wasn't clear enough in pointing out that I was thinking this could
> > *replace* the existing slot_reserved_mask mechanism, rather than providing a
> > hook to allow it to be manipulated.
> > 
> > Here's a very rough patch put together over lunch that attempts this for
> > pci_bus_devfn_reserved(): the idea is that sun4u and Xen would call
> > pci_bus_set_slot_reserved_fn() with a suitable pci_slot_reserved_fn
> > implementation, and slot_reserved_mask gets removed completely i.e.:
> > 
> > 
> > diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> > index def5000e7b..30b856499a 100644
> > --- a/hw/pci/pci.c
> > +++ b/hw/pci/pci.c
> > @@ -493,6 +493,13 @@ bool pci_bus_bypass_iommu(PCIBus *bus)
> >      return host_bridge->bypass_iommu;
> >  }
> > 
> > +static bool pci_bus_default_slot_reserved(PCISlotReservationType restype,
> > +                                          int devfn)
> > +{
> > +    /* All slots accessible by default */
> > +    return false;
> > +}
> > +
> >  static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
> >                                         MemoryRegion *address_space_mem,
> >                                         MemoryRegion *address_space_io,
> > @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
> > DeviceState *parent,
> >  {
> >      assert(PCI_FUNC(devfn_min) == 0);
> >      bus->devfn_min = devfn_min;
> > -    bus->slot_reserved_mask = 0x0;
> > +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
> >      bus->address_space_mem = address_space_mem;
> >      bus->address_space_io = address_space_io;
> >      bus->flags |= PCI_BUS_IS_ROOT;
> > @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
> >      return !(bus->devices[devfn]);
> >  }
> > 
> > -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
> > +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
> > +                                   PCISlotReservationType restype)
> > +{
> > +    return bus->slot_reserved_fn(restype, devfn);
> > +}
> > +
> > +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
> >  {
> > -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
> > +    bus->slot_reserved_fn = fn;
> >  }
> > 
> >  /* -1 for devfn means auto assign */
> > @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >          for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
> >              devfn += PCI_FUNC_MAX) {
> >              if (pci_bus_devfn_available(bus, devfn) &&
> > -                   !pci_bus_devfn_reserved(bus, devfn)) {
> > +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
> >                  goto found;
> >              }
> >          }
> > @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >                     "or reserved", name);
> >          return NULL;
> >      found: ;
> > -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
> > +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
> >          error_setg(errp, "PCI: slot %d function %d not available for %s,"
> >                                         MemoryRegion *address_space_io,
> > @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
> > DeviceState *parent,
> >  {
> >      assert(PCI_FUNC(devfn_min) == 0);
> >      bus->devfn_min = devfn_min;
> > -    bus->slot_reserved_mask = 0x0;
> > +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
> >      bus->address_space_mem = address_space_mem;
> >      bus->address_space_io = address_space_io;
> >      bus->flags |= PCI_BUS_IS_ROOT;
> > @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
> >      return !(bus->devices[devfn]);
> >  }
> > 
> > -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
> > +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
> > +                                   PCISlotReservationType restype)
> > +{
> > +    return bus->slot_reserved_fn(restype, devfn);
> > +}
> > +
> > +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
> >  {
> > -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
> > +    bus->slot_reserved_fn = fn;
> >  }
> > 
> >  /* -1 for devfn means auto assign */
> > @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >          for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
> >              devfn += PCI_FUNC_MAX) {
> >              if (pci_bus_devfn_available(bus, devfn) &&
> > -                   !pci_bus_devfn_reserved(bus, devfn)) {
> > +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
> >                  goto found;
> >              }
> >          }
> > @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >                     "or reserved", name);
> >          return NULL;
> >      found: ;
> > -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
> > +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
> >          error_setg(errp, "PCI: slot %d function %d not available for %s,"
> >                     " reserved",
> >                     PCI_SLOT(devfn), PCI_FUNC(devfn), name);
> > diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> > index d5a40cd058..8a949f7ae1 100644
> > --- a/include/hw/pci/pci.h
> > +++ b/include/hw/pci/pci.h
> > @@ -257,10 +257,18 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev);
> >   */
> >  int pci_bar(PCIDevice *d, int reg);
> > 
> > +typedef enum PCISlotReservationType {
> > +    PCI_SLOT_RESERVATION_AUTO,
> > +    PCI_SLOT_RESERVATION_MANUAL
> > +} PCISlotReservationType;
> > +
> > +typedef bool (*pci_slot_reserved_fn)(PCISlotReservationType restype, int devfn);
> >  typedef void (*pci_set_irq_fn)(void *opaque, int irq_num, int level);
> >  typedef int (*pci_map_irq_fn)(PCIDevice *pci_dev, int irq_num);
> >  typedef PCIINTxRoute (*pci_route_irq_fn)(void *opaque, int pin);
> > 
> > +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn);
> > +
> >  #define TYPE_PCI_BUS "PCI"
> >  OBJECT_DECLARE_TYPE(PCIBus, PCIBusClass, PCI_BUS)
> >  #define TYPE_PCIE_BUS "PCIE"
> > diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
> > index 5653175957..d68ea1418d 100644
> > --- a/include/hw/pci/pci_bus.h
> > +++ b/include/hw/pci/pci_bus.h
> > @@ -36,7 +36,7 @@ struct PCIBus {
> >      PCIIOMMUFunc iommu_fn;
> >      void *iommu_opaque;
> >      uint8_t devfn_min;
> > -    uint32_t slot_reserved_mask;
> > +    pci_slot_reserved_fn slot_reserved_fn;
> >      pci_set_irq_fn set_irq;
> >      pci_map_irq_fn map_irq;
> >      pci_route_irq_fn route_intx_to_irq;
> > 
> > 
> > If this approach seems reasonable, I'm happy for someone else to take this
> > over and turn it into a proper series.
> > 
> > 
> > ATB,
> > 
> > Mark.
>
> It's ok too though I think I like chuck's proposal better:
> less callbacks to chase.
>

I would be willing to pursue this if there were more use cases for
slot_reserved_mask than just the two cases we have now: xen and sun4u.
Until there is a clear demand for a more general way to manipulate the
mask, I agree with Michael that the KISS principle should apply here.

Kind regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 13:27:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 13:27:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509600.785652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc4gz-0002Ln-NU; Tue, 14 Mar 2023 13:27:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509600.785652; Tue, 14 Mar 2023 13:27:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc4gz-0002Lg-Kf; Tue, 14 Mar 2023 13:27:53 +0000
Received: by outflank-mailman (input) for mailman id 509600;
 Tue, 14 Mar 2023 13: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=6q5S=7G=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pc4gy-0002LW-Ql
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 13:27:52 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 04f4aca4-c26c-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 14:27: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 125261F894;
 Tue, 14 Mar 2023 13:27: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 DAF8713A1B;
 Tue, 14 Mar 2023 13:27:50 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id S7sHNFZ2EGS5eAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Mar 2023 13: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: 04f4aca4-c26c-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678800471; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=iSmzoiEHzOu29dSOiLI449n0Ml2QCewFvWPuirU68kM=;
	b=ZbQtbbwLyC6cTGowmjbV+4bBSe5VKibi6iQBQIh2rPbf8NvW5Xj1pCVzspOUqPaQuYn2Ec
	7ztnv+dEKYk+S1L8kgy3xPwtisgHGDSkGyeANmdlbff5QY1EC3jBuU8iYSf+ejw2aaZ5n5
	WPzjZwsVlczs99zLN13TxKs/m3/BDZs=
Message-ID: <ea0532e0-12c4-674d-392f-216658071f77@suse.com>
Date: Tue, 14 Mar 2023 14:27:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org
References: <osstest-179607-mainreport@xen.org>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [linux-linus test] 179607: regressions - trouble:
 fail/pass/starved
In-Reply-To: <osstest-179607-mainreport@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------x3EgoHg6jXHUAbEx03E0afjW"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------x3EgoHg6jXHUAbEx03E0afjW
Content-Type: multipart/mixed; boundary="------------4nx8102QRlUGq4B0t0nK75n0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
Message-ID: <ea0532e0-12c4-674d-392f-216658071f77@suse.com>
Subject: Re: [linux-linus test] 179607: regressions - trouble:
 fail/pass/starved
References: <osstest-179607-mainreport@xen.org>
In-Reply-To: <osstest-179607-mainreport@xen.org>

--------------4nx8102QRlUGq4B0t0nK75n0
Content-Type: multipart/mixed; boundary="------------dCC6zSEQtk5eAbRMNfahW5yS"

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

T24gMTQuMDMuMjMgMTM6NTIsIG9zc3Rlc3Qgc2VydmljZSBvd25lciB3cm90ZToNCj4gZmxp
Z2h0IDE3OTYwNyBsaW51eC1saW51cyByZWFsIFtyZWFsXQ0KPiBodHRwOi8vbG9ncy50ZXN0
LWxhYi54ZW5wcm9qZWN0Lm9yZy9vc3N0ZXN0L2xvZ3MvMTc5NjA3Lw0KPiANCj4gUmVncmVz
c2lvbnMgOi0oDQo+IA0KPiBUZXN0cyB3aGljaCBkaWQgbm90IHN1Y2NlZWQgYW5kIGFyZSBi
bG9ja2luZywNCj4gaW5jbHVkaW5nIHRlc3RzIHdoaWNoIGNvdWxkIG5vdCBiZSBydW46DQo+
ICAgdGVzdC1hbWQ2NC1hbWQ2NC1mcmVlYnNkMTItYW1kNjQgMTMgZ3Vlc3Qtc3RhcnQgICAg
ICAgICAgZmFpbCBSRUdSLiB2cy4gMTc4MDQyDQo+ICAgdGVzdC1hbWQ2NC1hbWQ2NC14bC1j
cmVkaXQxICAxOSBndWVzdC1zYXZlcmVzdG9yZS4yICAgICAgZmFpbCBSRUdSLiB2cy4gMTc4
MDQyDQo+ICAgdGVzdC1hbWQ2NC1hbWQ2NC14bC1zaGFkb3cgICAxNCBndWVzdC1zdGFydCAg
ICAgICAgICAgICAgZmFpbCBSRUdSLiB2cy4gMTc4MDQyDQoNCi4uLg0KDQpJbiB0aGUgbG9n
cyBbMV0gSSdtIHNlZWluZyBlcnJvcnMgbGlrZToNCg0KTWFyIDEzIDIzOjUxOjI2LjI3NTQy
MSBbICAyNzEuNzEzNzQwXSB4ZW5icjA6IHBvcnQgMih2aWYxLjApIGVudGVyZWQgZm9yd2Fy
ZGluZyANCnN0YXRlDQpNYXIgMTMgMjM6NTE6MjYuMjg3MzQ2IChYRU4pIGNvbW1vbi9ncmFu
dF90YWJsZS5jOjI5ODI6ZDB2MyBjb3B5IGJleW9uZCBwYWdlIGFyZWENCk1hciAxMyAyMzo1
MTo0OC4xMTUzODMgKFhFTikgY29tbW9uL2dyYW50X3RhYmxlLmM6Mjk4MjpkMHYzIGNvcHkg
YmV5b25kIHBhZ2UgYXJlYQ0KTWFyIDEzIDIzOjUxOjQ5LjEyMzM0NyAoWEVOKSBjb21tb24v
Z3JhbnRfdGFibGUuYzoyOTgyOmQwdjMgY29weSBiZXlvbmQgcGFnZSBhcmVhDQpNYXIgMTMg
MjM6NTE6NDkuNDU5MzY3IChYRU4pIGNvbW1vbi9ncmFudF90YWJsZS5jOjI5ODI6ZDB2MyBj
b3B5IGJleW9uZCBwYWdlIGFyZWENCg0KR2l2ZW4gdGhlIHZpZiByZWxhdGVkIG1lc3NhZ2Ug
ZGlyZWN0bHkgYmVmb3JlIHRob3NlIGVycm9ycyB0aGUgY2hhbmNlIGlzIGhpZ2gNCnRoaXMg
cHJvYmxlbSBpcyByZWxhdGVkIHRvIG5ldGJhY2suDQoNClJvc3MsIHlvdXIgcGF0Y2ggInhl
bi9uZXRiYWNrOiBFbnN1cmUgcHJvdG9jb2wgaGVhZGVycyBkb24ndCBmYWxsIGluIHRoZQ0K
bm9uLWxpbmVhciBhcmVhIiAodXBzdHJlYW0gY29tbWl0IGFkN2Y0MDJhZTRmNDY2NikgZGlk
IHRoZSBtb3N0IHJlY2VudCBjaGFuZ2VzDQppbiBuZXRiYWNrIGFmZmVjdGluZyBHTlRUQUJP
UF9jb3B5IG9wZXJhdGlvbnMuIFRoZXJlIGFyZSBwcm9iYWJseSBwYWdlIGJvdW5kYXJ5DQpj
aGVja3MgKHByb2JhYmx5IG9uIG5ldGJhY2sgc2lkZSkgbWlzc2luZy4gQ291bGQgeW91IHBs
ZWFzZSBoYXZlIGEgbG9vaz8NCg0KDQpKdWVyZ2VuDQoNClsxXTogDQpodHRwOi8vbG9ncy50
ZXN0LWxhYi54ZW5wcm9qZWN0Lm9yZy9vc3N0ZXN0L2xvZ3MvMTc5NjA3L3Rlc3QtYW1kNjQt
YW1kNjQteGwvc2VyaWFsLWFsYmFuYTAubG9nDQo=
--------------dCC6zSEQtk5eAbRMNfahW5yS
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-----

--------------dCC6zSEQtk5eAbRMNfahW5yS--

--------------4nx8102QRlUGq4B0t0nK75n0--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQQdlYFAwAAAAAACgkQsN6d1ii/Ey9s
Jwf7BwqPpexsxkXbKxJqZwCiD/EQh/kMSXB0IsB6oCH+Ttt1XN/zlDmi3Mvqd48GlR8i2ZisY3+n
foMfuOZdvIKmoUQ5j/DLbKBtWrvRMO68yafEtdj+BcO8r+bMThY63L02SSAfngMYdmv8GBQuCMiv
08v05JAcUSfdQLdfcOKwA6wl+NMgrjzocYNGe74afzE/OJZWIo4ZVGoBtzijGsuSWWxCpyGmBD+f
JqigdkpUPf/K4SVSQuaO+B9o3IlyxeYCO9mb+MK88Xd2W/g2rwPrUM/PirlAU67K7rzqaUk5S4D1
AN42TdzCBRmoiRTVu2FscO+UUFNa86kbC+dXrrWVlg==
=9WTR
-----END PGP SIGNATURE-----

--------------x3EgoHg6jXHUAbEx03E0afjW--


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 13:42:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 13:42:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509602.785661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc4uo-00052Y-Vr; Tue, 14 Mar 2023 13:42:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509602.785661; Tue, 14 Mar 2023 13:42:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc4uo-00052R-SS; Tue, 14 Mar 2023 13:42:10 +0000
Received: by outflank-mailman (input) for mailman id 509602;
 Tue, 14 Mar 2023 13:42: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=Jlvw=7G=ilande.co.uk=mark.cave-ayland@srs-se1.protection.inumbo.net>)
 id 1pc4un-00052L-CR
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 13:42:09 +0000
Received: from mail.ilande.co.uk (mail.ilande.co.uk [2001:41c9:1:41f::167])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 03104f30-c26e-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 14:42:08 +0100 (CET)
Received: from host86-163-239-161.range86-163.btcentralplus.com
 ([86.163.239.161] helo=[10.8.0.6])
 by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.92) (envelope-from <mark.cave-ayland@ilande.co.uk>)
 id 1pc4tX-000571-Vt; Tue, 14 Mar 2023 13: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: 03104f30-c26e-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:Content-Type:
	In-Reply-To:From:References:Cc:To: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=fRJj/SmaCVwnVuB6zXWVpwmHb77QLmCcFTMM9l/hjZM=; b=DdOygmroq0Rr3trHBoaEWG7r74
	DV9QsbGmTTiWZH7H2Qn067UxWzAXnAlJtqOws0/JBq2b6wWHa5wMEvvpeuA7t8rMYjagx5AccepyE
	dFE4EdQux1si4Q4OskCFkINuqjSLZq44JOh6q/mgBaT9/845+Mc4D4tQUaWG+kUg5Q5lyc5PusynV
	0zFel3BYrxvyT4q+JinIy6vMclPzQTynOqlrFwQBdbJpuUoDBbKux7vF3WOdUQ3v9B4LPeFdnyCSe
	Vj2hqCbag33jo0o2PGRMc9R4g8uX0UiytdEOWTXV4KRR9D6elx0rYhOgiWyrHYHcSg8XFZnAxe1Gi
	KqJZ3CW0jljPU46jqhHdpsipsJ5oezxKOf0ki2NWpXpm8NT/cnfcxJAjX7EvI2IVYn3nol2hAX4zR
	Z1vuv0+I54eDgB27o6b5PkPJzSYp8e+1+zg/buqWC7mbyPRZg934/6INk1slTXpyuk5jdcsU3biX1
	5nN/GMnlQ5vYCkZyAefbzACTc4eIwUjIp44yak7T1BRgeX5wqCkFjNWmLYztya8/AAFVelxch3E6H
	pltl54QH0OSmvd8qC744Zk6QUCkxubAUnCnfJxVYg6cDlDHGd3qPiQgz7+OsxKWJX0UVIMkSWlAQh
	e8QGWM2JJec0HrqTsqrrt5qXRTkb6RP0xXIVoG4fQ=;
Message-ID: <7b79ec08-064c-7940-0285-be8a96e2a144@ilande.co.uk>
Date: Tue, 14 Mar 2023 13:41:30 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Content-Language: en-US
To: Chuck Zmudzinski <brchuckz@aol.com>, "Michael S. Tsirkin" <mst@redhat.com>
Cc: qemu-devel@nongnu.org, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Artyom Tarasenko <atar4qemu@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678763217.git.brchuckz@aol.com>
 <d9ae459b2814425c2d9e756e45d993c824da150a.1678763217.git.brchuckz@aol.com>
 <20230314023148-mutt-send-email-mst@kernel.org>
 <0c8ee7e9-dd23-262f-f67e-359e14abf6f2@ilande.co.uk>
 <20230314091653-mutt-send-email-mst@kernel.org>
 <34eda0c4-3d90-0e22-7888-81bf18e2a5f0@aol.com>
From: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
In-Reply-To: <34eda0c4-3d90-0e22-7888-81bf18e2a5f0@aol.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-SA-Exim-Connect-IP: 86.163.239.161
X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
	mail.default.ilande.bv.iomart.io
X-Spam-Level: 
X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED,BAYES_00,
	URIBL_BLOCKED,URIBL_SBL_A autolearn=no autolearn_force=no version=3.4.2
Subject: Re: [PATCH v2 2/2] pci: allow slot_reserved_mask to be ignored with
 manual slot assignment
X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000)
X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk)

On 14/03/2023 13:26, Chuck Zmudzinski wrote:

> On 3/14/2023 9:17 AM, Michael S. Tsirkin wrote:
>> On Tue, Mar 14, 2023 at 12:43:12PM +0000, Mark Cave-Ayland wrote:
>>> On 14/03/2023 06:33, Michael S. Tsirkin wrote:
>>>
>>>> On Tue, Mar 14, 2023 at 12:01:09AM -0400, Chuck Zmudzinski wrote:
>>>>> Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
>>>>> uses slot_reserved_mask to reserve slot 2 for the Intel IGD for the
>>>>> xenfv machine when the guest is configured for igd-passthru.
>>>>>
>>>>> A desired extension to that commit is to allow use of the reserved slot
>>>>> if the administrator manually configures a device to use the reserved
>>>>> slot. Currently, slot_reserved_mask is enforced unconditionally. With
>>>>> this patch, the pci bus can be configured so the slot is only reserved
>>>>> if the pci device to be added to the bus is configured for automatic
>>>>> slot assignment.
>>>>>
>>>>> To enable the desired behavior of slot_reserved_mask machine, add a
>>>>> boolean member enforce_slot_reserved_mask_manual to struct PCIBus and
>>>>> add a function pci_bus_ignore_slot_reserved_mask_manual which can be
>>>>> called to change the default behavior of always enforcing
>>>>> slot_reserved_mask so, in that case, slot_reserved_mask is only enforced
>>>>> when the pci device being added is configured for automatic slot
>>>>> assignment.
>>>>>
>>>>> Call the new pci_bus_ignore_slot_reserved_mask_manual function after
>>>>> creating the pci bus for the pc/i440fx/xenfv machine type to implement
>>>>> the desired behavior of causing slot_reserved_mask to only apply when
>>>>> the pci device to be added to a pc/i440fx/xenfv machine is configured
>>>>> for automatic slot assignment.
>>>>>
>>>>> Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
>>>>> Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
>>>>
>>>> I really dislike this.
>>>> It seems that xen should not have used slot_reserved_mask,
>>>> and instead needs something new like slot_manual_mask.
>>>> No?
>>>
>>> My suggestion was to move the validation logic to a separate callback
>>> function in PCIBus (see
>>> https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg03988.html) but
>>> perhaps I wasn't clear enough in pointing out that I was thinking this could
>>> *replace* the existing slot_reserved_mask mechanism, rather than providing a
>>> hook to allow it to be manipulated.
>>>
>>> Here's a very rough patch put together over lunch that attempts this for
>>> pci_bus_devfn_reserved(): the idea is that sun4u and Xen would call
>>> pci_bus_set_slot_reserved_fn() with a suitable pci_slot_reserved_fn
>>> implementation, and slot_reserved_mask gets removed completely i.e.:
>>>
>>>
>>> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
>>> index def5000e7b..30b856499a 100644
>>> --- a/hw/pci/pci.c
>>> +++ b/hw/pci/pci.c
>>> @@ -493,6 +493,13 @@ bool pci_bus_bypass_iommu(PCIBus *bus)
>>>       return host_bridge->bypass_iommu;
>>>   }
>>>
>>> +static bool pci_bus_default_slot_reserved(PCISlotReservationType restype,
>>> +                                          int devfn)
>>> +{
>>> +    /* All slots accessible by default */
>>> +    return false;
>>> +}
>>> +
>>>   static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
>>>                                          MemoryRegion *address_space_mem,
>>>                                          MemoryRegion *address_space_io,
>>> @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
>>> DeviceState *parent,
>>>   {
>>>       assert(PCI_FUNC(devfn_min) == 0);
>>>       bus->devfn_min = devfn_min;
>>> -    bus->slot_reserved_mask = 0x0;
>>> +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
>>>       bus->address_space_mem = address_space_mem;
>>>       bus->address_space_io = address_space_io;
>>>       bus->flags |= PCI_BUS_IS_ROOT;
>>> @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
>>>       return !(bus->devices[devfn]);
>>>   }
>>>
>>> -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
>>> +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
>>> +                                   PCISlotReservationType restype)
>>> +{
>>> +    return bus->slot_reserved_fn(restype, devfn);
>>> +}
>>> +
>>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
>>>   {
>>> -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
>>> +    bus->slot_reserved_fn = fn;
>>>   }
>>>
>>>   /* -1 for devfn means auto assign */
>>> @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
>>>           for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
>>>               devfn += PCI_FUNC_MAX) {
>>>               if (pci_bus_devfn_available(bus, devfn) &&
>>> -                   !pci_bus_devfn_reserved(bus, devfn)) {
>>> +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
>>>                   goto found;
>>>               }
>>>           }
>>> @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
>>>                      "or reserved", name);
>>>           return NULL;
>>>       found: ;
>>> -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
>>> +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
>>>           error_setg(errp, "PCI: slot %d function %d not available for %s,"
>>>                                          MemoryRegion *address_space_io,
>>> @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
>>> DeviceState *parent,
>>>   {
>>>       assert(PCI_FUNC(devfn_min) == 0);
>>>       bus->devfn_min = devfn_min;
>>> -    bus->slot_reserved_mask = 0x0;
>>> +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
>>>       bus->address_space_mem = address_space_mem;
>>>       bus->address_space_io = address_space_io;
>>>       bus->flags |= PCI_BUS_IS_ROOT;
>>> @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
>>>       return !(bus->devices[devfn]);
>>>   }
>>>
>>> -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
>>> +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
>>> +                                   PCISlotReservationType restype)
>>> +{
>>> +    return bus->slot_reserved_fn(restype, devfn);
>>> +}
>>> +
>>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
>>>   {
>>> -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
>>> +    bus->slot_reserved_fn = fn;
>>>   }
>>>
>>>   /* -1 for devfn means auto assign */
>>> @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
>>>           for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
>>>               devfn += PCI_FUNC_MAX) {
>>>               if (pci_bus_devfn_available(bus, devfn) &&
>>> -                   !pci_bus_devfn_reserved(bus, devfn)) {
>>> +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
>>>                   goto found;
>>>               }
>>>           }
>>> @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
>>>                      "or reserved", name);
>>>           return NULL;
>>>       found: ;
>>> -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
>>> +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
>>>           error_setg(errp, "PCI: slot %d function %d not available for %s,"
>>>                      " reserved",
>>>                      PCI_SLOT(devfn), PCI_FUNC(devfn), name);
>>> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
>>> index d5a40cd058..8a949f7ae1 100644
>>> --- a/include/hw/pci/pci.h
>>> +++ b/include/hw/pci/pci.h
>>> @@ -257,10 +257,18 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev);
>>>    */
>>>   int pci_bar(PCIDevice *d, int reg);
>>>
>>> +typedef enum PCISlotReservationType {
>>> +    PCI_SLOT_RESERVATION_AUTO,
>>> +    PCI_SLOT_RESERVATION_MANUAL
>>> +} PCISlotReservationType;
>>> +
>>> +typedef bool (*pci_slot_reserved_fn)(PCISlotReservationType restype, int devfn);
>>>   typedef void (*pci_set_irq_fn)(void *opaque, int irq_num, int level);
>>>   typedef int (*pci_map_irq_fn)(PCIDevice *pci_dev, int irq_num);
>>>   typedef PCIINTxRoute (*pci_route_irq_fn)(void *opaque, int pin);
>>>
>>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn);
>>> +
>>>   #define TYPE_PCI_BUS "PCI"
>>>   OBJECT_DECLARE_TYPE(PCIBus, PCIBusClass, PCI_BUS)
>>>   #define TYPE_PCIE_BUS "PCIE"
>>> diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
>>> index 5653175957..d68ea1418d 100644
>>> --- a/include/hw/pci/pci_bus.h
>>> +++ b/include/hw/pci/pci_bus.h
>>> @@ -36,7 +36,7 @@ struct PCIBus {
>>>       PCIIOMMUFunc iommu_fn;
>>>       void *iommu_opaque;
>>>       uint8_t devfn_min;
>>> -    uint32_t slot_reserved_mask;
>>> +    pci_slot_reserved_fn slot_reserved_fn;
>>>       pci_set_irq_fn set_irq;
>>>       pci_map_irq_fn map_irq;
>>>       pci_route_irq_fn route_intx_to_irq;
>>>
>>>
>>> If this approach seems reasonable, I'm happy for someone else to take this
>>> over and turn it into a proper series.
>>>
>>>
>>> ATB,
>>>
>>> Mark.
>>
>> It's ok too though I think I like chuck's proposal better:
>> less callbacks to chase.
>>
> 
> I would be willing to pursue this if there were more use cases for
> slot_reserved_mask than just the two cases we have now: xen and sun4u.
> Until there is a clear demand for a more general way to manipulate the
> mask, I agree with Michael that the KISS principle should apply here.

No worries. The thinking behind this idea was that it feel like the Xen case is 
special in that it has separate requirements for auto slot allocation and manual slot 
allocation: if slot reservation were used in more places, I'd expect the sun4u case 
to be more common, in which case it seems a bit more work for the common case to have 
to set both slot_reserved_mask_auto and slot_reserved_mask_manual separately. Perhaps 
a single accessor function can be used to set both mask values together for a PCIBus?

Regardless, I'll take step back and leave you and Michael to come up with a solution 
that you're both happy with. Let me know if you need me to test anything on sun4u.


ATB,

Mark.


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 13:54:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 13:54:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509609.785671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc56d-0006mM-6L; Tue, 14 Mar 2023 13:54:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509609.785671; Tue, 14 Mar 2023 13:54: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 1pc56d-0006mF-3l; Tue, 14 Mar 2023 13:54:23 +0000
Received: by outflank-mailman (input) for mailman id 509609;
 Tue, 14 Mar 2023 13: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=dXSW=7G=citrix.com=prvs=430734c92=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pc56b-0006m7-9E
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 13:54:21 +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 b5db2f98-c26f-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 14:54:18 +0100 (CET)
Received: from mail-bn8nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 09:54:13 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB6673.namprd03.prod.outlook.com (2603:10b6:a03:398::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Tue, 14 Mar
 2023 13:54:11 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Tue, 14 Mar 2023
 13: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>
X-Inumbo-ID: b5db2f98-c26f-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678802058;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=mkd19be+Ph6fNECjG5UlVvyvbsKqkUygha90H8JjJw4=;
  b=Ig8lyffsII4ftdTKeoV3WetL5cPQ6mJ9MsnLxNw1g8O+wVGnx1672YFn
   z8CveDutzuD7+usiDpjGpM9uyNpGKHbr9qLkhwg4vwzLt+DmwrfrCW3mj
   Z3lB/2ex1eqcB4zkghJ1EMXgacT+MFSSVnhhmdWEQZPJCPpE1H/Re9sSK
   Y=;
X-IronPort-RemoteIP: 104.47.58.168
X-IronPort-MID: 100152133
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:wq4o8att8ym+JPF97D+7hu85q+fnVERfMUV32f8akzHdYApBsoF/q
 tZmKWvSPfqDNjTyc48lOtu+oB9Q75TSz9cwTwFqrH9gHy0X+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASHyyFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwLDcQMRSNqtOM4buYU7NNmOIZI83kFdZK0p1g5Wmx4fcOZ7nmGvyPz/kImTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgP60boq9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAuiANpLSefhraUCbFu76XArCw8uc1GA/PS+lX7hcNhVd
 0kSw397xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIU9x7Z+RpDK2fCITfWkLYHZdSRNfuoez5oYukhjIU9BvVravicH4Ei3xx
 DbMqzUig7IUjogA0KDTEU37vg9Ab6PhFmYdjjg7lEr/hu+lTOZJv7CV1GU=
IronPort-HdrOrdr: A9a23:Ipl2c6jzThv7/4ZXWuZDodji43BQXtQji2hC6mlwRA09TyX4ra
 yTdZEgviMc5wx/ZJhNo7690cu7IU80hKQV3WB5B97LNmTbUQCTXeJfBOXZsljdMhy72ulB1b
 pxN4hSYeeAaWSSVPyKgjWFLw==
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100152133"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B05cpJgBLR57dZNNQDYPsAcNKtByaVxDZTQPUofKCjgvgLGrTej8ImeeosPCbTuHo2z5k4pCUMp4Ox1TbIAM8jL3lv7aOLlJXPm5d6d0WxeiZ8+8ESe8xvC6GwILmDD/BV7i33w1uAvh2dqhm5xN7CEyjk55mUdNzF2vQlQpYMWjd2q0pr/aDkp6Lc2QMtLw5yewSM6oMVrNS6tmIfWtXB+9Ui4hcmLuO6wIGSgQHToVA28lKcGayno9/c/JGydsA+L6HVW2xkURE+mU10eWaw0KlmCBCtzRVDVdk3ST0Q4AkQo9YAJHl4kXENYCifW4xXNIsi2bloUZVddhhSDcwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MyLtwW1bznW9ueRtDO73KTBnRCp9bOfHDj+wizqFG0s=;
 b=mJ1QQGzSsm9H5AfhdMZjnt/JDnHhxjTP72vQp8aaO0CTNHim4Fh5au2M7nbIDhEYPDsdIDw6Z+6vkuP2GtWemBWNvmUWrhhEf0VjgfmTX6Y2s9KhkxgFE4KpbZWW+f3+UjDgxEG4zEyMWjD8hIJK5doXZ27CfcPt407Habyws3myECHGxPSq66kLdOmnY8iYspz/jqRhDyc4vAW68Xq+9OAGYZ7PP8AQiUNI4XzAyUU3TCZm/aRrYKD3Cy9+H7J2Oz6ngwvLlUgoTWYKu7vjLkzMotDrcp+ABkmXt1wmObIj1jNEv15lSN/2ZzIpQFv3kJ5nXFua+UBxtdBhIudY/Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MyLtwW1bznW9ueRtDO73KTBnRCp9bOfHDj+wizqFG0s=;
 b=ph4nTANzjSs5TNm/+0yBd4pVKVcMxNZlnci+Zhzf4k34aL5Hn+TaBCjX4xCK+ce4a+0oQImhK6oQoZ5koJIp3zbDy7uR10Kn0LIKRybnepASlNwzKSYt85Adzg15FX2P9Zu4WKI/EXMgcezGHTbwHVqo0ANcPvC3gK43fiD28L4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 14 Mar 2023 14:54:02 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH] vpci/msix: handle accesses adjacent to the MSI-X table
Message-ID: <ZBB8ejEi4mBktBpb@Air-de-Roger>
References: <20230314101331.4194-1-roger.pau@citrix.com>
 <d22fabea-5821-075d-07be-7e9378be1b5c@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <d22fabea-5821-075d-07be-7e9378be1b5c@suse.com>
X-ClientProxiedBy: MR2P264CA0047.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::35)
 To SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB6673:EE_
X-MS-Office365-Filtering-Correlation-Id: ebac2932-d99f-474f-be83-08db24939669
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PAdBsMARepS2fZq8YVIdM06Dlltd80CfuG7TQlc0c4ngapr/5zAvm4LIJSAvOyPlt7mqGG6krdRHKTad+6Vz8S51/gb31yC3eRLq+ZV4W66vqmwofWnDLf9zVgqxBkO+8JNoI8yvtxzsiOWn9TiLhwuU/wraTxkjnHSFcpYxADTabikoQ7IyddMj4+slTO5oj43Lmj1ypsJUEd0V7Nv1DumE4Xpw9YK8jcTxce9pXx9OXmCpe62c0NvpWZya/NgQdyKAy/8lr36Tvpk/Mb7q+tSZrywzn1MkTn2qugJ0qgqlbg2CHtgZDsp/6n6gJbJudGNiahoYfz5/WV2oIyPqctknSgEf4ED2whEfpl31IUpfgUJp7QU8cxf4XHS0CXfNHEX+KTau1uNRYmKpPRG/iFwN41o5gk0vBu+CjybRFVcb+YG50x0B4MUFRmd19AhRy9AuSRwlKpBIszA5QJIqPHsgJFY4WY0/t52LbsyY2TCIYg7uWYl/c1/jukHhQb+3gMI4ER/+33Cte0vj6dKMFpumQxw8fti+Qsgds4t3ZY4mkTilLcG+ohXm4bdcBvunAA97heDJaraJ5bavp7b8VWfTTQLd/7Nb59Ve/2KdkgS1lF5t9JZKMATHLhfROoZ83hK6uM3K+5WO2kxkn50uOA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(346002)(376002)(396003)(366004)(39860400002)(136003)(451199018)(66556008)(82960400001)(6666004)(2906002)(38100700002)(85182001)(66476007)(66946007)(186003)(66899018)(4326008)(41300700001)(6916009)(8676002)(5660300002)(53546011)(8936002)(478600001)(83380400001)(6512007)(9686003)(6506007)(26005)(86362001)(33716001)(6486002)(316002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eUowcUs0MWM3TzlyWS9ETFdVUzZ5dHFOV1NhM1BwRlBBei80WlBSTUt1aHJN?=
 =?utf-8?B?a0diVUFvb09XSk9vdlRPZEp4RTlYUlNkOE54dExYamRPVGlHMGZWRExhSFAy?=
 =?utf-8?B?aUNvbUw0QzB0dHRCMTdWeStyck5rbjJ4WDdnMW1lK2d6SjlINGNiRmZpSklC?=
 =?utf-8?B?eWVkYWdrTXRzU3VjUGF6K2RUZkJLdWptTnlHQnJvS1NSbEVvdU9TQlJ4MUJM?=
 =?utf-8?B?SUovZzJla25JMHoyQ1U2Y1M1OXdjeVhOd2xlSi8yajRXb0w2cHdzZ3FmVVhW?=
 =?utf-8?B?NjdpTmc2SlRLaUVrRmJWVDdrRmN4RUJCZkttTWxWQ2pJaDkrVWVzRXg5OGxV?=
 =?utf-8?B?OTVyV0pOR25vNE5jWjJFVGVVc0xIdy9CV0U5Z054YzVpZU1nc0FtY0FaM1Bs?=
 =?utf-8?B?eXd1TE4rM09IeFlFNnlSYVJLTEE3VTVzTTZFVUVyajlyK1BtQnE2UVQzWlFs?=
 =?utf-8?B?RGhjS3lCSWs3Z0o1cTk3bFM2VHYwZnVHd1lCWlpqcnU3TGZXbDA4NllhSTNF?=
 =?utf-8?B?VlpPZ1ZzRkdSTUJ6MHJrN2hNUFBrcFhOd0ozSUQ5ZVdWZ0V2UDZoSTRZMjl2?=
 =?utf-8?B?Z2lha2RNSzdSaThwUmtZYi9sZzJsVngzbi9hb3hKb05yRGZUc0VwNXBqTlMz?=
 =?utf-8?B?dFVqSEMwby9kS2ZVSk1JVVRSL0lCdktUYXowNXVJU013UkxRTnV0UEEyTFN3?=
 =?utf-8?B?SC9Db1FzOTZZa2NTbUdVUVBnWHpHdkFGMUQwUG1uRHYzeVdFaXdnNlZVSzl1?=
 =?utf-8?B?NVUxdHhQU2RFRmd5Y3J3aXhrMWt4ekRLVmo3eUU2UERESXplVkZvUU5IK2Jj?=
 =?utf-8?B?S3FFS010N2ZuVkhTTFllRlB4NDBuRFZHdjhKZkZKYW5KSzZuV2kveGZBVTdB?=
 =?utf-8?B?TmEyS29QY1VkOU5lNjI3TDJYYUsxTk02S2hPUXdNQUUxNGEyWU51WEg3T3lW?=
 =?utf-8?B?L3FOaXJ4WmtjcTlmWWI1eTRBZ09TQnhlekhzNHdxS1NtZzFNcCtTdEQyWjVX?=
 =?utf-8?B?dExTM1AwVlBCUnZXbkNhR2tKYWhtd2l5SHJXVzhYNHAySTF3Qy9zL3ZsS2Fo?=
 =?utf-8?B?dTV4c3RJQkdWRFVqZ1VLQnZxNGxEcXdxVE1wc0ZIbW5VSkVSNU9wTXB0VlJp?=
 =?utf-8?B?anh5Wlp3ZUN3NTU1NEJ2NHFuVTRDUlRSaWRCSnI3QW1VNGhqaHB2eWEyb0h5?=
 =?utf-8?B?SkNaNlM0cmVBTW9NVkNDZlNtQksyVUdrcVI0dFQ4c29BT1dpMzV1U0JFN3JP?=
 =?utf-8?B?QnhScDg3WkNzb3NFWVVWbWNzMmNHYzlva2FKaEZ4MGt1T1MzQmt6NG1KVThh?=
 =?utf-8?B?OUU2MHhMSll0QjUvRll2YzY5V0wyUXl2c1paMDUwK213QWVOODYxemJwSTNy?=
 =?utf-8?B?UkNMbDE0dEREaENsYnBXYUxpSEN0MVpubkRxTHQzZHc3Mi9MdmR3MUdXVzNX?=
 =?utf-8?B?bXVsNkxJd1pxVjk0WVBnUFAvVVJmSzlETGZRN0RPWXNWV2diVDhsNWROWFNL?=
 =?utf-8?B?VU4vU0pWT3V4UjJraEk2dks4eTVQM0tpbWNWLy8zeUpWSUQvU3Y3cXRhdG9o?=
 =?utf-8?B?QUgyUVA2UGhOcGtuL1ZTNEUrd3gvUGdmNmZPcDBGMnNrVm5WRS95UEtOOExK?=
 =?utf-8?B?SzF2Z25lQ1dzeDJuM2VSenFKN01oUEV3bC9veXB3bWNyWTNpWVRWMmdsY01v?=
 =?utf-8?B?azhVSlB1ZldDYjN2WmZRWkRyNEVIRE15bCtTeFg0VkNjMk1zTTNhZzY0anlB?=
 =?utf-8?B?UjEzVDR3SmdLYjNoQ1MzZTdtUVgxVTlBWUlJM093L09Sbnd4YisvMklreU83?=
 =?utf-8?B?anQrUnRYaTJ4aE51OWltWkR3YmVMcTFranZCOUZtVTBKRzE4Q0hucFdRTkRp?=
 =?utf-8?B?b1pCM24yRlVRVERUREVWNE1pT0RyREE3Vkx3b1dZM2dwUm9vTlFXd1ZEZ2tF?=
 =?utf-8?B?TVJ5U0RnUUFQMEVsbEJCQWlNWjljeXZJeE5zWTBDWWdwYzdFU2JJRWdCeUpm?=
 =?utf-8?B?UU1sdVBpTGk3clNNUFRtWTFoVnc1ckhWSkdNMFlEZ2VXOVkrUWpHWTRJRWhq?=
 =?utf-8?B?dE9GUGdmdlFIM0xSTWgrV1psQzVGVjB4bGd4RDRtU05TbDRYbUoxeUZCTk5v?=
 =?utf-8?B?NHBPcTBCbjBVY2FQZU5qZW9sM2hSWVdValhvblJ1Mm0vY3JqbW5uSXBxVUZU?=
 =?utf-8?B?VlE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	vGkRE2T9yRagytpiHgTYnK4EskDvaBnfAZ8DfnceBrpK/TBaqQn211IQS3rAe7Kr5m+o11IJRPrlRu6S3YOwmlz0b7KbSI6Nopuw++prQope6In7RQnJT1CgIGmEKfuLNOsi+eDJtqaCDPINsL5fSFdRGMtbaaI8OVxB7W96R3pgeG6tRdXp8WzWZa4UCbIFe2WHC8MQWiM6MU8LA+RAL59cWhqKJWBWe3CM9s0pN3ew6vK92fG4y/wA5xQILV6XjRcWOJQ2wT3kCh66Y9mM2gn/i1NZhCw8v3vstS5lNszMDUFI0aV8wzPe+UUxub4Nm/z83drqfUcM9Vd2BV3cX+X34xiryB8UQR9fZ7C6wBYQPnjlIM63jh/bvRXUU9GStIT050VZwHzF1v+EtTPR5ewb+RgrOVZcQjMFVsLH8kQ1f4zXOH4ivCg8bkgybJHcXeCQM4dS3zsfzYQDn/LqDYbgF+cmWgtP/R/FLZ0PUwSTXUyB1+fyrl7HwuVIJAU0iFlOXVxfPGaXvwMYDKUArt61O7l481SJ1snBOX3l0HRbAPiRFS7+uaBxScdOxheIatbkNwjGwRAhHG+ifKwQpDdigg4KH+3D95cKMkkrTqJL/3911tL8qtel6Tny6Dc+DRL5CuIlTESppGUgYjSES6olRS10gUWImtUxiJ/R7KPHT4fXuCFXNmakbqbgBjWzur2FVQLkWLeQFaD+gTMleDWv6l/JJr0iy0mtcNa64f93cQLqgMWsu/TXgp3XtsU3kjUPZFu+SRV4Cb8YkYXvz6Z4/pABycBFYr5b5YZ0wHA=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ebac2932-d99f-474f-be83-08db24939669
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 13:54:10.8798
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: P4pxKyvSvr1JAT1bDTToXuUNWIrkB5eVQ/N76k0moND110NiIhSSO4rTExU2JyX2kSYcoxgg+a61VqsHWIv6+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6673

On Tue, Mar 14, 2023 at 12:56:33PM +0100, Jan Beulich wrote:
> On 14.03.2023 11:13, Roger Pau Monne wrote:
> > --- a/xen/drivers/vpci/msix.c
> > +++ b/xen/drivers/vpci/msix.c
> > @@ -27,6 +27,13 @@
> >      ((addr) >= vmsix_table_addr(vpci, nr) &&                              \
> >       (addr) < vmsix_table_addr(vpci, nr) + vmsix_table_size(vpci, nr))
> >  
> > +#define VMSIX_ADDR_ADJACENT(addr, vpci, nr)                               \
> > +    ((PFN_DOWN(addr) == PFN_DOWN(vmsix_table_addr(vpci, nr)) &&           \
> > +      (addr) < vmsix_table_addr(vpci, nr)) ||                             \
> > +     (PFN_DOWN(addr) == PFN_DOWN(vmsix_table_addr(vpci, nr) +             \
> > +                                 vmsix_table_size(vpci, nr) - 1) &&       \
> > +      (addr) >= vmsix_table_addr(vpci, nr) + vmsix_table_size(vpci, nr)))
> 
> While I realize this may impact performance a little, did you consider
> using !VMSIX_ADDR_IN_RANGE() instead of open-coding it kind of? Then
> again there's only a single use of the macro, and that's in code where
> VMSIX_ADDR_IN_RANGE() was already checked (by the earlier invocation
> of msix_find()), so the re-checking of the MSI-X table bounds isn't
> strictly necessary anyway.

I didn't want to rely on the order of execution of the MMIO handlers,
so I would rather make sure that the newly added one would work
correctly if it turns to be checked for before the MSIX table handling
one.

I could indeed use !VMSIX_ADDR_IN_RANGE() if that is clearer.

> > @@ -438,6 +369,145 @@ static const struct hvm_mmio_ops vpci_msix_table_ops = {
> >      .write = msix_write,
> >  };
> >  
> > +const static struct vpci_msix *adjacent_find(const struct domain *d,
> > +                                             unsigned long addr)
> > +{
> > +    const struct vpci_msix *msix;
> > +
> > +    list_for_each_entry ( msix, &d->arch.hvm.msix_tables, next )
> > +        /*
> > +         * So far vPCI only traps accesses to the MSIX table, but not the PBA
> > +         * explicitly, and hence we only need to check for the hole created by
> > +         * the MSIX table.
> > +         *
> > +         * If the PBA table is also trapped, the check here should be expanded
> > +         * to take it into account.
> > +         */
> > +        if ( VMSIX_ADDR_ADJACENT(addr, msix->pdev->vpci, VPCI_MSIX_TABLE) )
> > +            return msix;
> 
> Is the comment really correct when considering that you don't change
> vpci_make_msix_hole()?

Urg, I was really confused then, as I didn't remember (and didn't
check) that we also punch a hole for the PBA.  That's not really
needed for dom0, as we allow both reads and writes on that case anyway.

> (I was actually puzzled by struct vpci_msix'es
> table[] field remaining a 2-element array, despite the PBA now being
> dealt with differently. But I realize you need to keep that for the
> VMSIX_ADDR_IN_RANGE() in adjacent_write().)

If we need to handle the PBA I would need to take it into account for
the array handling, since the PBA can be in a different set of page(s)
than the MSIX table.

> > +static int cf_check adjacent_read(
> > +    struct vcpu *v, unsigned long addr, unsigned int len, unsigned long *data)
> > +{
> > +    const struct domain *d = v->domain;
> > +    const struct vpci_msix *msix = adjacent_find(d, addr);
> > +    const void __iomem *mem;
> > +    paddr_t msix_tbl;
> > +    struct vpci *vpci;
> > +
> > +    *data = ~0ul;
> > +
> > +    if ( !msix )
> > +        return X86EMUL_RETRY;
> > +
> > +    vpci = msix->pdev->vpci;
> > +    msix_tbl = vmsix_table_addr(vpci, VPCI_MSIX_TABLE);
> > +
> > +    if ( addr + len > round_pgup(msix_tbl +
> > +                                 vmsix_table_size(vpci, VPCI_MSIX_TABLE)) )
> > +        return X86EMUL_OKAY;
> > +
> > +    mem = get_table(vpci,
> > +                    PFN_DOWN(addr) == PFN_DOWN(msix_tbl) ? VPCI_MSIX_TBL_HEAD
> > +                                                         : VPCI_MSIX_TBL_TAIL);
> > +    if ( !mem )
> > +        return X86EMUL_OKAY;
> 
> The respective PBA logic had a gprintk() on this path.

Ack, will add one.

> > +    switch ( len )
> > +    {
> > +    case 1:
> > +        *data = readb(mem + PAGE_OFFSET(addr));
> > +        break;
> > +
> > +    case 2:
> > +        *data = readw(mem + PAGE_OFFSET(addr));
> > +        break;
> > +
> > +    case 4:
> > +        *data = readl(mem + PAGE_OFFSET(addr));
> > +        break;
> > +
> > +    case 8:
> > +        *data = readq(mem + PAGE_OFFSET(addr));
> > +        break;
> 
> So far we have allowed only aligned 4- and 8-byte accesses to the PBA.
> Shouldn't we continue to do so?

I've read the spec about this and wasn't able to find a reference
about having to access the PBA using 4 and 8 byte accesses.  There's
one for the MSI-X table, but it's my understanding it only applies to
the table.

> I'm also concerned of misaligned accesses: While we can't keep the
> guest from doing such on pages we don't intercept, depending on the kind
> of anomalies such may cause the effects there may be contained to that
> guest. When doing the accesses from the hypervisor, bad effects could
> affect the entire system. (FTAOD I don't mean to constrain guests, but I
> do think we need to consider splitting misaligned accesses.)

I was also wondering about misaligned accesses.  Should be allow dom0
any kind of access, while limiting domUs to aligned only?

> 
> > +    default:
> > +        ASSERT_UNREACHABLE();
> 
> Is this correct? In msix_{read,write}() these assertions are valid
> because of the earlier access_allowed() checks, but here you have
> nothing like that. Yes, the emulator currently would only pass sizes
> that fit what is being handled, but relying on no "unusual" insns
> appearing down the road feels risky. Then again
> hvmemul_phys_mmio_access() splits accesses accordingly, so perhaps
> all is fine here.

It's only on debug builds, so on production ones the access would just
be silently dropped without any ill effect on the hypervisor state.

> > +static int cf_check adjacent_write(
> > +    struct vcpu *v, unsigned long addr, unsigned int len, unsigned long data)
> > +{
> > +    const struct domain *d = v->domain;
> > +    const struct vpci_msix *msix = adjacent_find(d, addr);
> > +    void __iomem *mem;
> > +    paddr_t msix_tbl;
> > +    struct vpci *vpci;
> > +
> > +    if ( !msix )
> > +        return X86EMUL_RETRY;
> > +
> > +    vpci = msix->pdev->vpci;
> > +    msix_tbl = vmsix_table_addr(vpci, VPCI_MSIX_TABLE);
> > +
> > +    if ( addr + len > round_pgup(msix_tbl +
> > +                                 vmsix_table_size(vpci, VPCI_MSIX_TABLE)) )
> > +        return X86EMUL_OKAY;
> > +
> > +    if ( (VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) ||
> > +          VMSIX_ADDR_IN_RANGE(addr + len - 1, vpci, VPCI_MSIX_PBA)) &&
> > +         !is_hardware_domain(d) )
> > +        /* Ignore writes to PBA for DomUs, it's undefined behavior. */
> > +        return X86EMUL_OKAY;
> 
> Just as a remark: Checking only start and end is sufficient merely because
> the PBA is a multiple of 8 bytes in size, and "len" currently cannot be
> larger than 8. This feels somewhat fragile, but is - like above - presumably
> okay.

Indeed, I was relying on len <= min PBA size.  I can add a comment to
clarify this.

> > @@ -530,7 +600,10 @@ static int cf_check init_msix(struct pci_dev *pdev)
> >      }
> >  
> >      if ( list_empty(&d->arch.hvm.msix_tables) )
> > +    {
> >          register_mmio_handler(d, &vpci_msix_table_ops);
> > +        register_mmio_handler(d, &vpci_msix_adj_ops);
> > +    }
> 
> Did you consider re-using the same ops by widening what their accept()
> covers, and by having read/write recognize inside vs outside accesses,
> dealing with them differently (much like the PBA was dealt with before)?

I had the feeling it would be clearer to have the MSIX handler only
deal with the MSIX table accesses (and so have it's scope properly
limited in the accept hook), and deal with the fallout from having to
poke a 4K hole in the physmap using a different handler.

I will play a bit with both options and see which one I prefer.

> Besides my gut feeling of this ending up being less code, there's also
> the aspect of NR_IO_HANDLERS being the upper bound to how many handlers
> may be registered.
> 
> Or else did you consider registering this further handler only when
> there actually is a device where the MSI-X table has "slack" at the
> front and/or end?

Hm, no, I didn't consider this conditional registering.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:00:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:00:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509611.785682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5Cd-0008S1-RR; Tue, 14 Mar 2023 14:00:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509611.785682; Tue, 14 Mar 2023 14: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 1pc5Cd-0008Ru-Nu; Tue, 14 Mar 2023 14:00:35 +0000
Received: by outflank-mailman (input) for mailman id 509611;
 Tue, 14 Mar 2023 14:00: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=CsFi=7G=yandex.ru=isaikin-dmitry@srs-se1.protection.inumbo.net>)
 id 1pc5Cb-0008Ro-VT
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:00:34 +0000
Received: from forward500a.mail.yandex.net (forward500a.mail.yandex.net
 [178.154.239.80]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9599cffd-c270-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 15:00:32 +0100 (CET)
Received: from vla5-89ed7012cddd.qloud-c.yandex.net
 (vla5-89ed7012cddd.qloud-c.yandex.net
 [IPv6:2a02:6b8:c18:3ea3:0:640:89ed:7012])
 by forward500a.mail.yandex.net (Yandex) with ESMTP id 2D6C25EC6F;
 Tue, 14 Mar 2023 17:00:30 +0300 (MSK)
Received: from mail.yandex.ru (2a02:6b8:c18:151e:0:640:4f:0
 [2a02:6b8:c18:151e:0:640:4f:0])
 by vla5-89ed7012cddd.qloud-c.yandex.net (mxback/Yandex) with HTTP id
 Q0jwTa1Y1Gk1-eRM8eR16; Tue, 14 Mar 2023 17:00:29 +0300
Received: by ntgyeftcchh4gifo.vla.yp-c.yandex.net with HTTP;
 Tue, 14 Mar 2023 17:00:28 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9599cffd-c270-11ed-87f5-c1b5be75604c
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1678802429;
	bh=LLCv3lbDBfeLWgGd90XoZSQNRPtWRY8hTVqnbahpbck=;
	h=Message-Id:References:Date:Cc:Subject:In-Reply-To:To:From;
	b=FCfuaysaOdIbU1DohQrcUWsoxFByBPNlqVUXKZ43rKym9eFTbCltzGyYEn6ahMTHa
	 PwjicdKkGXnXYXQx5pw5QoJ3tPwKsW/aGe7bVOEdoYSYoDGNsuieS4jEulFgriXiyF
	 c4TkfJzbPdf3xccZsfplLeRC/CKDzDFa5ke5yLio=
Authentication-Results: vla5-89ed7012cddd.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru
From: =?utf-8?B?0JTQvNC40YLRgNC40Lkg0JjRgdCw0LnQutC40L0=?= <isaikin-dmitry@yandex.ru>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <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>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Anton Belousov <abelousov@ptsecurity.com>
In-Reply-To: <dd6018f8-27f5-d61a-7dbd-515dd432e1a6@citrix.com>
References: <3f577545b8ee6846ff98c4411cdc96dfe1412b3e.1678505295.git.isaikin-dmitry@yandex.ru> <dd6018f8-27f5-d61a-7dbd-515dd432e1a6@citrix.com>
Subject: Re: [XEN PATCH] x86/monitor: Add new monitor event to catch I/O instructions
MIME-Version: 1.0
X-Mailer: Yamail [ http://yandex.ru ] 5.0
Date: Tue, 14 Mar 2023 17:00:28 +0300
Message-Id: <162941678800322@mail.yandex.ru>
Content-Transfer-Encoding: base64
Content-Type: text/html; charset=utf-8

PGRpdj7CoDwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PjEzLjAzLjIwMjMsIDE1OjMzLCAiQW5kcmV3
IENvb3BlciIgJmx0O2FuZHJldy5jb29wZXIzQGNpdHJpeC5jb20mZ3Q7OjwvZGl2PjxibG9ja3F1
b3RlPjxwPk9uIDExLzAzLzIwMjMgMzo1NyBhbSwgRG1pdHJ5IElzYXlraW4gd3JvdGU6PC9wPjxi
bG9ja3F1b3RlPsKgQWRkcyBtb25pdG9yIHN1cHBvcnQgZm9yIEkvTyBpbnN0cnVjdGlvbnMuPGJy
IC8+PGJyIC8+wqBTaWduZWQtb2ZmLWJ5OiBEbWl0cnkgSXNheWtpbiAmbHQ7PGEgaHJlZj0ibWFp
bHRvOmlzYWlraW4tZG1pdHJ5QHlhbmRleC5ydSIgcmVsPSJub29wZW5lciBub3JlZmVycmVyIj5p
c2Fpa2luLWRtaXRyeUB5YW5kZXgucnU8L2E+Jmd0OzxiciAvPsKgU2lnbmVkLW9mZi1ieTogQW50
b24gQmVsb3Vzb3YgJmx0OzxhIGhyZWY9Im1haWx0bzphYmVsb3Vzb3ZAcHRzZWN1cml0eS5jb20i
IHJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI+YWJlbG91c292QHB0c2VjdXJpdHkuY29tPC9hPiZn
dDs8L2Jsb2NrcXVvdGU+PHA+PGJyIC8+VGhhbmt5b3UgZm9yIHRoZSBwYXRjaC7CoCBBIGNvdXBs
ZSBvZiBxdWVzdGlvbnMuPGJyIC8+PGJyIC8+UmlnaHQgbm93LCB5b3UgbW9uaXRvciBhbGwgSU8g
cG9ydHMgdGhhdCBlbmQgdXAgaW4gYSB2bWV4aXQuwqAgQnV0IHRoaXM8YnIgLz5pcyBhbHJlYWR5
IHN1YmplY3QgdG8gaHZtX2lvX2JpdG1hcFtdIHdoaWNoIG1lYW5zIGJ5IGRlZmF1bHQgdGhhdCBw
b3J0PGJyIC8+MHg4MCBhbmQgMHhlZCBhcmUgbm90IGludGVyY2VwdGVkLsKgIFRoZXJlZm9yZSwg
eW91J2xsIG5vdCBwaWNrIHRoZW0gdXA8YnIgLz53aXRoIHRoaXMgbW9uaXRvciBlaXRoZXIuwqAg
SXMgdGhpcyBpbnRlbnRpb25hbD88L3A+PC9ibG9ja3F1b3RlPjxkaXY+Tm8sIHRoaXMgaXMgbm90
IGludGVudGlvbmFsLCBidXQgZm9yIG15IHVzZSBjYXNlcyBpdCBpcyBPSy48L2Rpdj48YmxvY2tx
dW90ZT48cD5NU1JzICh3aGljaCBhcmUgdGhlIG90aGVyIG1vbml0b3JlZCByZXNvdXJjZSB3aXRo
IGEgZmluZSBncmFpbiBiaXRtYXApPGJyIC8+dGFrZSBhIGRpZmZlcmVudCBhcHByb2FjaCwgcmVx
dWlyaW5nIGVhY2ggbW9uaXRvcmVkIE1TUiB0byBiZSBleHBsaWNpdGx5PGJyIC8+b3B0ZWQgaW4g
dG8uwqAgQXJlIHlvdSBhYmxlIHRvIGRpc2N1c3MgeW91ciBpbnRlbmRlZCB1c2VjYXNlIGhlcmUg
YXQgYWxsPzwvcD48L2Jsb2NrcXVvdGU+PGRpdj5NeSB1c2UgY2FzZSBpcyB3ZXJ5IHNpbXBsZS4g
SSB3YW50IHRvIGRldGVjdCBQQ0kgY29uZmlndXJhdGlvbiByZWFkIGF0dGVtcHRzLjwvZGl2Pjxk
aXY+VG8gZG8gdGhpcyBJIGludGVyY2VwdCBJL08gcmVhZHMgb24gcG9ydCAweDBDRjguPC9kaXY+
PGJsb2NrcXVvdGU+PHA+wqA8L3A+PGJsb2NrcXVvdGU+wqAtLS08YnIgLz7CoMKgdG9vbHMvaW5j
bHVkZS94ZW5jdHJsLmggfCAxICs8YnIgLz7CoMKgdG9vbHMvbGlicy9jdHJsL3hjX21vbml0b3Iu
YyB8IDEzICsrKysrKysrKysrKys8YnIgLz7CoMKgeGVuL2FyY2gveDg2L2h2bS9odm0uYyB8IDUg
KysrKys8YnIgLz7CoMKgeGVuL2FyY2gveDg2L2h2bS9tb25pdG9yLmMgfCAyMSArKysrKysrKysr
KysrKysrKysrKys8YnIgLz7CoMKgeGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMgfCAyICsrPC9i
bG9ja3F1b3RlPjxwPjxiciAvPllvdSd2ZSB3aXJlZCB1cCBhbGwgdGhlIGNvbnRyb2wgaW5mcmFz
dHJ1Y3R1cmUgYXMgY29tbW9uLCBidXQgb25seTxiciAvPnBsdWdnZWQgaHZtX2lvX2luc3RydWN0
aW9uX2ludGVyY2VwdCgpIGluIHRvIHRoZSBJbnRlbCBzaWRlLjxiciAvPjxiciAvPkFsbCB5b3Ug
bmVlZCB0byBtYWtlIHRoZSBBTUQgc2lkZSB3b3JrIGVxdWl2YWxlbnRseSBpcyB0byBob29rPGJy
IC8+Vk1FWElUX0lPSU8gaW4gc3ZtLmMgaW4gYSBzaW1pbGFyIG1hbm5lciB0byBob3cgeW91J3Zl
IGFscmVhZHkgbW9kaWZpZWQ8YnIgLz5FWElUX1JFQVNPTl9JT19JTlNUUlVDVElPTiBpbiB2bXgu
YzxiciAvPjxiciAvPlBsZWFzZSBkbyB0aGlzLsKgIEkga25vdyB0aGUgbW9uaXRvciBzdWJzeXN0
ZW0gZG9lc24ndCBnZXQgbXVjaCBsb3ZlIG9uPGJyIC8+QU1ELCBidXQgd2UgZG8gd2FudCB0byBk
byBhIGJlc3QtZWZmb3J0IGF0dGVtcHQgdG8gbWFpbnRhaW4gcGFyaXR5LjwvcD48L2Jsb2NrcXVv
dGU+PGRpdj5JIHRyeSB0byBkbyB0aGlzLiBCdXQgSSBjYW4ndCB0ZXN0IGl0LjwvZGl2PjxkaXY+
wqA8L2Rpdj48YmxvY2txdW90ZT48YmxvY2txdW90ZT7CoGRpZmYgLS1naXQgYS94ZW4vYXJjaC94
ODYvaHZtL3ZteC92bXguYyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jPGJyIC8+wqBpbmRl
eCAyNzhiODI5ZjczLi5hNjRjNTA3OGM1IDEwMDY0NDxiciAvPsKgLS0tIGEveGVuL2FyY2gveDg2
L2h2bS92bXgvdm14LmM8YnIgLz7CoCsrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jPGJy
IC8+wqBAQCAtNDU3OSw2ICs0NTc5LDggQEAgdm9pZCB2bXhfdm1leGl0X2hhbmRsZXIoc3RydWN0
IGNwdV91c2VyX3JlZ3MgKnJlZ3MpPGJyIC8+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHVp
bnQxNl90IHBvcnQgPSAoZXhpdF9xdWFsaWZpY2F0aW9uICZndDsmZ3Q7IDE2KSAmYW1wOyAweEZG
RkY7PGJyIC8+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGludCBieXRlcyA9IChleGl0X3F1
YWxpZmljYXRpb24gJmFtcDsgMHgwNykgKyAxOzxiciAvPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqBpbnQgZGlyID0gKGV4aXRfcXVhbGlmaWNhdGlvbiAmYW1wOyAweDA4KSA/IElPUkVRX1JF
QUQgOiBJT1JFUV9XUklURTs8YnIgLz7CoCsgaW50IHN0cl9pbnMgPSAoZXhpdF9xdWFsaWZpY2F0
aW9uICZhbXA7IDB4MTApID8gMSA6IDA7PGJyIC8+wqArIGh2bV9pb19pbnN0cnVjdGlvbl9pbnRl
cmNlcHQocG9ydCwgZGlyLCBieXRlcywgc3RyX2lucyk7PC9ibG9ja3F1b3RlPjxwPjxiciAvPkkn
bSBhZnJhaWQgdGhpcyBjYW4ndCBiZSBjb3JyZWN0LsKgIFNlcGFyYXRlIHRvIFRhbWFzJyBvYnNl
cnZhdGlvbiwgaW48YnIgLz50aGUgY2FzZSB0aGF0IHdlIGRvIG1vbml0b3IgdGhlIElPIHBvcnQs
IHdlIG11c3Qgbm90IGNvbnRpbnVlIHdpdGggdGhlPGJyIC8+cmVzdCBvZiB0aGUgbG9naWMuPGJy
IC8+PGJyIC8+T3RoZXJ3aXNlIHdoYXQgd2UnbGwgZW5kIHVwIGRvaW5nIGlzIHB1dHRpbmcgYSBt
b25pdG9yIGV2ZW50IG9uIHRoZTxiciAvPm1vbml0b3IgcmluZywgKmFuZCogc2VuZGluZyB0aGUg
c2FtZSBldmVudCB0byBxZW11IChvciB0ZXJtaW5hdGluZyBpdDxiciAvPndpdGggaW50ZXJuYWwg
ZW11bGF0aW9uKS7CoCBUaGlzIGlzIGZpbmUgaWYgYWxsIHlvdSdyZSB0cnlpbmcgdG8gZG8gaXM8
YnIgLz5sb2cgdGhlIGFjY2VzcywgYnV0IGRvZXNuJ3Qgd29yayBpZiB0aGUgbW9uaXRvciBmcmFt
ZXdvcmsgd2FudHMgZmlyc3Q8YnIgLz5yZWZ1c2FsIG9mIHRoZSBhY2Nlc3MuPGJyIC8+PGJyIC8+
TW9uaXRvciBmdW5jdGlvbnMgdHlwaWNhbGx5IHJldHVybiBpbnQsIGlkZW50aWZ5aW5nIHdoZXRo
ZXIgdGhlIHZDUFUgaGFzPGJyIC8+YmVlbiBwYXVzZWQsIHdoaWNoIHRoZW4gY29udHJvbHMgd2hl
dGhlciB0aGUgc3Vic2VxdWVudCBpbnRlcmNlcHQgbG9naWM8YnIgLz5pcyBwZXJmb3JtZWQuwqAg
U2VlIGh2bV9tb25pdG9yX3t2bWV4aXQsZGVidWd9KCkgYXMgZXhhbXBsZXMuPC9wPjwvYmxvY2tx
dW90ZT48ZGl2PkZvciBub3csIGFsbCBJIG5lZWQgaXMgbG9nZ2luZyBvZiBJL08gYXR0ZW1wdHMu
PC9kaXY+PGRpdj7CoDwvZGl2PjxibG9ja3F1b3RlPjxibG9ja3F1b3RlPsKgZGlmZiAtLWdpdCBh
L3hlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9odm0vbW9uaXRvci5oIGIveGVuL2FyY2gveDg2L2lu
Y2x1ZGUvYXNtL2h2bS9tb25pdG9yLmg8YnIgLz7CoGluZGV4IDYzOWY2ZGZhMzcuLjIyZDJiMzY2
YTYgMTAwNjQ0PGJyIC8+wqAtLS0gYS94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vaHZtL21vbml0
b3IuaDxiciAvPsKgKysrIGIveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2h2bS9tb25pdG9yLmg8
YnIgLz7CoEBAIC01NCw2ICs1NCw5IEBAIGJvb2wgaHZtX21vbml0b3JfY2hlY2tfcDJtKHVuc2ln
bmVkIGxvbmcgZ2xhLCBnZm5fdCBnZm4sIHVpbnQzMl90IHBmZWMsPGJyIC8+wqDCoGludCBodm1f
bW9uaXRvcl92bWV4aXQodW5zaWduZWQgbG9uZyBleGl0X3JlYXNvbiw8YnIgLz7CoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHVuc2lnbmVkIGxvbmcgZXhp
dF9xdWFsaWZpY2F0aW9uKTs8YnIgLz7CoMKgPGJyIC8+wqArdm9pZCBodm1fbW9uaXRvcl9pb19p
bnN0cnVjdGlvbih1aW50MTZfdCBwb3J0LCBpbnQgZGlyLDxiciAvPsKgKyB1bnNpZ25lZCBpbnQg
Ynl0ZXMsIHVuc2lnbmVkIGludCBzdHJpbmdfaW5zKTs8L2Jsb2NrcXVvdGU+PHA+PGJyIC8+UGxl
YXNlIGNvdWxkIHRoaXMgYmUgbmFtZWQgaHZtX21vbml0b3JfaW8oKSBmb3IgY29uc2lzdGVuY3kg
d2l0aCB0aGU8YnIgLz5yZXN0IG9mIHRoZSBtb25pdG9yIHN1YnN5c3RlbT88L3A+PC9ibG9ja3F1
b3RlPjxkaXY+SSB3aWxsIGRvIGl0LjwvZGl2PjxibG9ja3F1b3RlPjxwPsKgPC9wPjxibG9ja3F1
b3RlPsKgZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy92bV9ldmVudC5oIGIveGVuL2lu
Y2x1ZGUvcHVibGljL3ZtX2V2ZW50Lmg8YnIgLz7CoGluZGV4IDAwMzVjMjZlMTIuLjg2ZTRjZGJh
N2MgMTAwNjQ0PGJyIC8+wqAtLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvdm1fZXZlbnQuaDxiciAv
PsKgKysrIGIveGVuL2luY2x1ZGUvcHVibGljL3ZtX2V2ZW50Lmg8YnIgLz7CoEBAIC0zODgsNiAr
MzkwLDEzIEBAIHN0cnVjdCB2bV9ldmVudF92bWV4aXQgezwhLS0gLS0+PGJyIC8+wqDCoMKgwqDC
oMKgfSBhcmNoOzxiciAvPsKgwqB9OzxiciAvPsKgwqA8YnIgLz7CoCtzdHJ1Y3Qgdm1fZXZlbnRf
aW9faW5zdHJ1Y3Rpb24gezwhLS0gLS0+PGJyIC8+wqArIHVpbnQzMl90IGRhdGFfc2l6ZTs8YnIg
Lz7CoCsgdWludDMyX3QgcG9ydDs8YnIgLz7CoCsgdWludDMyX3QgZGlyOzxiciAvPsKgKyB1aW50
MzJfdCBzdHJpbmdfaW5zOzxiciAvPsKgK307PC9ibG9ja3F1b3RlPjxwPjxiciAvPkZvciBhIHN0
cmluZyBpbnN0cnVjdGlvbiwgZG9uJ3QgeW91IG5lZWQgJXJzaS8lcmRpIHRvbz88L3A+PC9ibG9j
a3F1b3RlPjxkaXY+SW4gc3luY2hyb25vdXMgY2FzZSwgYWxsIGluZm9ybWF0aW9uIGFib3V0IHJl
Z2lzdGVycyBhbmQgbWVtb3J5IGlzIGFscmVhZHkgYXZhaWxhYmxlLjwvZGl2PjxkaXY+wqA8L2Rp
dj48YmxvY2txdW90ZT48cD48YnIgLz5+QW5kcmV3PC9wPjwvYmxvY2txdW90ZT4=


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:00:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:00:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509612.785692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5D0-0000Mo-7W; Tue, 14 Mar 2023 14:00:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509612.785692; Tue, 14 Mar 2023 14: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 1pc5D0-0000Mf-47; Tue, 14 Mar 2023 14:00:58 +0000
Received: by outflank-mailman (input) for mailman id 509612;
 Tue, 14 Mar 2023 14: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=dXSW=7G=citrix.com=prvs=430734c92=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pc5Cy-0000Kz-Ur
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:00:57 +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 a0d9971d-c270-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:00:52 +0100 (CET)
Received: from mail-bn8nam12lp2172.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 10:00:49 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN9PR03MB6202.namprd03.prod.outlook.com (2603:10b6:408:11f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 14:00:45 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Tue, 14 Mar 2023
 14:00: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: a0d9971d-c270-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678802453;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=5PmP1B7VSuczcoMQY6+Gy/ZEquCqOYb2qvCUlGFYXgg=;
  b=Qv6QngJlJjQu4f6gDnrCqCUw0/VR+MWYPzg/iqTdMLb+fwxReonl1C9s
   VDMxxPfy9+cpXXZN5kAmAZEJkysEbgJRpAdyl4kSh5VLQ2UcZfBWR7V5c
   rPNZrKYX+r9UzFsTJNMEOq5cMBmjtv3K+vXFxemPd/0JKGPNFQ942FbI3
   8=;
X-IronPort-RemoteIP: 104.47.55.172
X-IronPort-MID: 100789958
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:8MesvqqoT5PRsj0S3s/3kwN7Z65eBmL8ZBIvgKrLsJaIsI4StFCzt
 garIBmBb/fZMWHxeYwja9jipE4H65aEm99hTQFkqCs8EXwX8puZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFziVNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXACIyZxvapOiZ/JimF8JmmME/APSxFqpK7xmMzRmBZRonabbqZvyQoPV+jHI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeWraYWPEjCJbZw9ckKwv
 GXJ8n6/GhgHHNee1SCE4jSngeqncSbTAdpKS+3pp6M66LGV7jM4GgIUd1zimKm0rEriVukOc
 BE2wwN7+MDe82TuFLERRSaQonGeuQUHc8FNCOB84waIooLQ4gCEFi0HQyRHZdgOqsA7X3op2
 0WPktevAiZg2JWRSHSA5vKeqTS5OgALImIYIywJVw0I55/kuo5bphvfRNFuOK24lNv4HXf8w
 FiivCU4wrkek8MP/6G65kzcxSKhoIDTSQw47RmRWXiqhj6Vf6agbo2srFLdvfBJKd/DSkHb5
 Sde3c+D8OoJEJeB0jSXR/kAF62o4PDDNyDAhVloHN8q8DHFF2OfQL28KQpWfC9BWvvosxeyC
 KMPkWu9PKNuAUY=
IronPort-HdrOrdr: A9a23:+iXPuago5iQwJ6FD/DaPnvIva3BQXioji2hC6mlwRA09TyX5ra
 2TdZUgpHjJYVMqMk3I9uruBEDtex3hHNtOkOos1NSZLW3bUQmTTL2KhLGKq1Hd8m/Fh4xgPM
 9bGJSWY+eAaGSS4/ya3OG5eexQvOVu8sqT9JjjJ6EGd3AVV0lihT0JezpyCidNNW977QJSLu
 vn2iJAzQDQAEg/X4CAKVQuefPMnNHPnIKOW296O/Z2gDP+9Q9B8dTBYmOl4is=
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100789958"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e/ogo2OGLRxvjVVAse68R+8VYZ7gxAby8hnkxQbhqdyw0dCcJWr6DbFERZWUTm0+wHpVTtMuWVYN16B7F6WIu7lGThnej+1lX2aUAXlplOY+vxLD+fmFM2O3s3YhkDFQP2OQW+6IClusELbk5hed6HzB0YPdIAovD+uwonhiRkV3aiXtgzU9SPfpLMKkJuWxnEMdZCr32s+hSx94cbgdYFB48kmJELQrqnpuk1DzjJHCVL/nmanSxbfopP/aHlAGzENbrEIXW4uenNScUdgtYR2eaJBBhyCoAue/jiBUy77ycL0yCgg5oIUIs13XgwOEjOCRXin1WamHW5S5+EmX6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WbCHVnQ0XxE5MXuAsdLBTeyMjDeZs7OnnSEDyipCExM=;
 b=EP+qMiF0l3RuzhAI9QlZK/d1MiugvscAtnupPqOR4je2FPrQpZTnQbisWLaQznm0suzu+pBaWs6KkrTuYv2etUaKY3czpnqYeuI0lnR1tDSCOJHtZi9Z51UsXHwsVs3PR+jzVbark3gabwpBj9moSPBpzfCYSD4OA1V1miHmL8qEo5rq0X5oe3+jjvm1a7ou+z/QZ5lMbvKPgn8Ou749zq6f/HKJVJugurHVrwC4ZuJqin19iniyU57LbllyVy8aoJPIJs/s9r9SJrYGRE0bMpYXHysU08Oq9UQZB+OKs11u1lG9z4oh522+CPjo4eqf/kDQ64y8pVqXgBH2/EpiBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WbCHVnQ0XxE5MXuAsdLBTeyMjDeZs7OnnSEDyipCExM=;
 b=H/G7gyZMS7ThnrvM8AgGGB3yKBwPYWVtl8zdUfjKRWxGCyth1B6xOIpFScgFTNS0ruQwkXpvRAF0IZEqbrU334WReUnH3TTwD8bWf1so/A5sH/pVKIbL24cmSpbUAuI5Le9fcm0Y/E17Xy6Gp+2RqxA+3X3VXACbulv90foGY50=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 14 Mar 2023 15:00:36 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org,
	Jens Axboe <axboe@kernel.dk>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 4/4] xen/blkback: move blkif_get_x86_*_req() into
 blkback.c
Message-ID: <ZBB+BATNAlW53VJT@Air-de-Roger>
References: <20221216145816.27374-1-jgross@suse.com>
 <20221216145816.27374-5-jgross@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20221216145816.27374-5-jgross@suse.com>
X-ClientProxiedBy: MR2P264CA0098.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:33::14) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN9PR03MB6202:EE_
X-MS-Office365-Filtering-Correlation-Id: 2f8466ba-7526-42b6-e952-08db24948157
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XBn2+sRYx6t7hIvcboD3h3B3781gYCj9w0NjVd3EkfJXNKR7rwe7JPGtvVdTtIrx9MriSSKmwTdqv0HTWXVqr7S8fmxsUH4/KXAjcUgVBUQWhgW319lbHhMQD9c7hEmEqt7TF0knWizongoPyxaqeNnMqldKIpJMRUL0ZUy0rGF/HeVD5BgjySEO0sriDD5qk1+9GmICXi0e4BsOmyl4eW6AURcmwldHciN05Trwfll3PGMCLlHenHETDRUXzrwkIyIbxfUcY2HRhHoyfC8nmBr4yKlyt9eeRV5tnTZznjlHbHUHcVdUqz1uKtPG8VRZxOOQNNPiYeDo1+dD5xmPgp96pugmgL5EUO7R7WMZtcBzetK/wQ632/Znr6q6bjSr7eec8RjpBUyPu1lUAjdtd0vZPkUf1bWTUBtjXStMw1EjKi3xFm/b+IKvmL0j3sAVsQXyxxRq2uLC6lKq1E9lAGaUNhXcOblHBLIRuFMV/rxDdEh2sNMk6zUfDjSoL5BpJqY3JdGiji0W/VEFXgpSRqi0mOVdBIpHyMrXbzdQObtEvaUXqwrWhw/ll6tJlzxAB/yd5elMNYtYMUIfmg75Wv6UsN5azpW/dnufqFnHX0k1q6BNxypHnYznAHt8E8HROvx2RIm0YQp2/w/CTzFoeYqE1AY45hGMxOvPQ85YB2gtJeObr+fe+hLEqLucO5tx
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(396003)(136003)(346002)(376002)(39860400002)(366004)(451199018)(85182001)(316002)(6486002)(478600001)(5660300002)(2906002)(8936002)(4326008)(8676002)(6916009)(66556008)(66476007)(66946007)(41300700001)(82960400001)(86362001)(38100700002)(186003)(33716001)(6666004)(6506007)(9686003)(6512007)(26005)(83380400001)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enBjMzZ1aGJWNlg4U2dPYTVCZE4rMSt0TkhDQTVmVHJDSmR5ektNNGppNFUy?=
 =?utf-8?B?MFROdUlEakhPbXoxYzF6OFB6WkdQQ3lUYWE1VGtxSVUvUEtrS0k2RUZMSS9M?=
 =?utf-8?B?RFhXR3BzNlIxcjRsZlVhK0hHQjV3eVhXREZNQ2dVY1RVdUhIaFZRWjJYcm1T?=
 =?utf-8?B?NWkvejMvUk8wUFZRdXVHZm5QM091M3hoZEFJNlNRZGZUb0IrandSaFA1cS9u?=
 =?utf-8?B?cXgyeVJkZmJSRjdac29aRHNSVExXdWdNNmhaZVorSThEMnJ1U1VYUDkwTW04?=
 =?utf-8?B?SnNrR0tkQ1pnNlkxL1hGRmNpYXpKN3BpQUpIb3Q2OUN1SUhpbWpQcm02SWk1?=
 =?utf-8?B?c1A4d0RTeGlOb2dIVlhZdkxaVEtady9pN05hSjdzUUs5RFdlaVV1clNuS2Mz?=
 =?utf-8?B?NldERXJMM2lsVm1Jb3dYTUZPTE5NMWgyN1lKZDhUT0NzdHpIaFNUbnpINFZ3?=
 =?utf-8?B?bDAvTlhucDdDUEdpQ0Iwb0JGSllqUTcyKzE2T0tyanErYjlnRTlaUzN6REZm?=
 =?utf-8?B?c1p6ek56REtTYjlTWjg2ZmRlVmp4WW53WnEzbEV0TldvME9xR2RZM1lWT1dq?=
 =?utf-8?B?WFRXZ3ZSdXRSblY5aU1Qcmp6VXl2bVNXQUJzclVXS3VlVWVQNXBXbDdwbWFL?=
 =?utf-8?B?eUtWNVJZenRBbzViNTBrYXczYXA4Z3ZOVkJSNGJJaForU2t6WldZdGFIckxt?=
 =?utf-8?B?S2oxTEd1enhvWUtyeGpGOUc1SVNwSys1amkxYkFGWFlFdElxck9tOHFEdCtT?=
 =?utf-8?B?YjBjeGJ2MGlKcXRCejVydVdzNXhSaWFocDVnVVduWHF5azlObE9WTEo3S1Js?=
 =?utf-8?B?OFFYUERpS1ZqU242aUtQVWxjWVVBZmh0UExpQUVyQzNrRDlWRjZSV2FiMUFz?=
 =?utf-8?B?ZjZ4QzZFbzNnN2VoeEUyNGhBWnVmQmpIbThpUXlxL0RBNXg1Vk5IQmNONG9N?=
 =?utf-8?B?YmhYNnhTNDN2emhzRlJNNURpREhQUEZoWU5jdGtSODBCQ0xRMEorcGtDMTVY?=
 =?utf-8?B?ODB6T3QrS1l5Tk1jRURvNUtrbi94ejZzRnVqS3d2TW5vK0RSQitYbWlCRkNM?=
 =?utf-8?B?bUdNTmRjUkUyMGsyR1NlaXNGakpOWk9YUkI5ZDgvR3hTZ3V5YzRrRWpPNkpQ?=
 =?utf-8?B?WDdTVXV2bzY3TDJ4ci9RUlhlckZGM3NqdStQenVIY0laZGZ4OW5FcU5YS3Jh?=
 =?utf-8?B?ZTV1RVZEc0toM1hLTzg5WVVxeXFpTVFabmhTeDhDai85eXRiRlh2eVBGTzFl?=
 =?utf-8?B?TWJadGVOT0o4dTQ3UktiMUZNeis2T1dXSEphcHFocUhGYkM2TldSZjlKK3Y2?=
 =?utf-8?B?dktVR1pMeG9vOU9BeW1LUUNoZVB4eG05ZlQvYnFLRzlieXpFY1BtRU5zZ2Z0?=
 =?utf-8?B?RWRzaWkvSFZBai9ia3JpZkRqeW01Q1dxSGdCdE1MNHVsWGw0YXlyWjRpeXQ4?=
 =?utf-8?B?WU5nTTdtRmpETkYzNVYrNHN3RUdxcUhDazFxSDYzbUlPM3d4WTRsbmdlRTJp?=
 =?utf-8?B?ZHlubm5id08xVXhiZ0lmTnlMNGx4ZVJ5Wnp4MnJRYUduUDlZUFhCa21JelR2?=
 =?utf-8?B?cTZ4M0hvMUN4RC9iRmpEa0NoRlFOeFRYVjFQRmxtQmFqcEIwRnRCQjRtcWFv?=
 =?utf-8?B?bnpMUFNSM2crdmZSSUN4VVB5TkhKWFlMRXFDbjEwTjREdFVGRjJmb2w3NFRi?=
 =?utf-8?B?K2JZTDY0SDFteE5PWkpuTXdJYmsxOTZhTkh6b1Zwc0NnRjZVWXBHYkxzTW1I?=
 =?utf-8?B?RlkvVi9uMjZUMEtDUXZBa2VjY1pQb25uMUVKeFA2WU93RFkzUXg5aXdaUGFR?=
 =?utf-8?B?TW5KN21SZGFxbnlwK3FoMnJXakRsbUhOMkhqbFdhZXdZTTgzOWlxZFI1YlAw?=
 =?utf-8?B?Z2xRNmJpTlZVZERaQTdyOUtEaHQwRHAxQTlrelA4ZWhhMW50eW9kVnNkL3Iz?=
 =?utf-8?B?WlpMbWhESVhqWjlPMUx2eDcwemVON0xPYVpOSDNPdTNOSjlEYjJZN1lKR2Mw?=
 =?utf-8?B?YW96Q083dGk3Y3pubmtPV3R4dnVidlFQYWlzbDUxRzloUSs0TkVyR1hrZUEx?=
 =?utf-8?B?ZEdjUkpqVjJSVDc0N0ROYllvZUFUZnhZeUU5Z3p0bS9FcXBxN0FLeGtNanpi?=
 =?utf-8?B?UEQ2QXRTV1FyeGhDL3cwRXBaMDJaK0dCenBIZDJRSVAwWHFpc1kxSzVMOTJK?=
 =?utf-8?B?VlE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	2sJQcRBZdeAPJvynJc7tBIEnJU4ZHIjVcbnpGWN36ylCXFvx0QRdx2jy2r96xm+hI6S/LlYv9/XdwpYtiymmeGd8ThW9jt/NZAY35O4Lz9brCRhYzv48MSwIQemMXIs/cZu5AopMc1TcxzfycPZeoHk3S6n1mrTnHzmBEMHSB16Hv7WRYZgRp/oAaX5CQDB3VZyjFtHOGbqxm1JEz6gw1x3rW3GLWyPQo1sx6Yf0ygEPzWifJsAoGXgrl1clyKMoRCA++lEPI02BKqnNEsNb0YQ+gp600PH2QHaMS2huyrah2M0Ku14ZXhTN1u8IprBfdoZiF4T06Rnc55GkWEIaqETwntQuwLiyy9q2ASQGac9O1eBkcFrxlhcMNu9JJgHVuIY9zgDK+2Aj6SpzhoZNjGI8snsS8iGx4g5EIMcvxURLeHb/rgWelM8ksqooABu8zrGIGQJJDdnSCDF2BNtKn3bSHJbMVNhNTMkrd4dyskgRaFqkuhCuKTG/PELo+/9BSNLn6E8xV3RuGAy5qXsa/qtN8VohLdN/gGhXWUZBxBfAXmcSlOs6yCUxaMUHbOF1WX32v8oU1grV1J2NK8i2Ldk/JlyVouwbOFib5Ai+sboZ3MoYRwbLmcuim2m7aqdHWPbbYbnT07D3sYwWT0o7/DEB1wP8YFiFkCEZAKfYSUTAVJfScJEN/TuE7Jdmq3gMJOTJM7uIDK/2ON7N3jZsFUho23Fjw98nDsFEnEpAulMAAqBI6h7g7x3KlkexLHzPapY1N1GaXZ6nW2D60/G6e1rabtKKOq0hguFUx2IKS4nO5KW6Gn5qtjYmjME8P1WRfA6iwSxFDTKwp/X5r1P2HAfbvLzqeZoQsWFR2Row4ZA/9+kLQMyXLIhhVCnD6O8w
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f8466ba-7526-42b6-e952-08db24948157
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 14:00:45.0900
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: s0tmV0b5A304I5pZ0MecMrg0tiYLNgOk8OBoP4lKgxPksYb4NBJEacpn/aCeT/VyaX7xR+ckPw+yexHMRB7qUA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6202

On Fri, Dec 16, 2022 at 03:58:16PM +0100, Juergen Gross wrote:
> There is no need to have the functions blkif_get_x86_32_req() and
> blkif_get_x86_64_req() in a header file, as they are used in one place
> only.
> 
> So move them into the using source file and drop the inline qualifier.
> 
> While at it fix some style issues, and simplify the code by variable
> reusing and using min() instead of open coding it.
> 
> Instead of using barrier() use READ_ONCE() for avoiding multiple reads
> of nr_segments.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  drivers/block/xen-blkback/blkback.c | 104 ++++++++++++++++++++++++++++
>  drivers/block/xen-blkback/common.h  |  96 -------------------------
>  2 files changed, 104 insertions(+), 96 deletions(-)
> 
> diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
> index 243712b59a05..7561fdb72c13 100644
> --- a/drivers/block/xen-blkback/blkback.c
> +++ b/drivers/block/xen-blkback/blkback.c
> @@ -1072,7 +1072,111 @@ static void end_block_io_op(struct bio *bio)
>  	bio_put(bio);
>  }
>  
> +static void blkif_get_x86_32_req(struct blkif_request *dst,
> +				 struct blkif_x86_32_request *src)

src can be const.

> +{
> +	int i, n;

Could we also take the opportunity to convert i and n to unsigned?

With that:

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:01:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:01:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509618.785702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5Dr-00016v-H4; Tue, 14 Mar 2023 14:01:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509618.785702; Tue, 14 Mar 2023 14:01: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 1pc5Dr-00016o-Dp; Tue, 14 Mar 2023 14:01:51 +0000
Received: by outflank-mailman (input) for mailman id 509618;
 Tue, 14 Mar 2023 14:01: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=dXSW=7G=citrix.com=prvs=430734c92=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pc5Dp-0000Kz-LO
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:01:49 +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 bf796c42-c270-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:01:46 +0100 (CET)
Received: from mail-mw2nam10lp2103.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.103])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 10:01:41 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN9PR03MB6202.namprd03.prod.outlook.com (2603:10b6:408:11f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 14:01:39 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Tue, 14 Mar 2023
 14:01: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: bf796c42-c270-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678802507;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=x7Pi9JeyEdLMkLaLvLunTaIo2KLX7orfHAf/XFSyvgs=;
  b=DVsfvgqYMWZuMZDvzekAVRewHnKkG4K4Gc3dOdTipa2XBvdQLfcA/k1R
   FdiYKyGWlF1JOS1woyreglmhjnDIg4hr3DJQfnhTOCpH6H+Y0f3fwgYQs
   EbPVrYJKO5qq5wlNntu3SLINDuzYnZt/gVI2/oEVgI8ziwFxU+Q9zl8sy
   w=;
X-IronPort-RemoteIP: 104.47.55.103
X-IronPort-MID: 100153562
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:XyMPlqse/2Hf0Fq+zKKqQ8Fk0ufnVLJfMUV32f8akzHdYApBsoF/q
 tZmKWiEP62NM2X9ftsjO4y/pEoF7JHdzYVrQFA6qyEwRS5A+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASHyyFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwLncsYzapv/ON2PGqZ7cxq5s9FunzM9ZK0p1g5Wmx4fcOZ7nmGv2PwOACmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osjf60aIG9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAuiANpLSeblqKQCbFu7yVMfJUMyenmBjsKChkWSWP91G
 VMr9X97xUQ13AnxJjXnZDW6r2SDpQU0QMdLHqsx7wTl4q7V5RuJQ2sJVDhMbPQ4u8IsAz8nz
 FmEm5XuHzMHmLmUT2+Ns72QqjixETYaIHVEZiIeSwYBpd75r+kbhwLFSdtLE6OviNDxXz3zq
 xiaoS57i7gNgMoj06Sg4UuBkz+qvoLOTAM++kPQRG3N0+9iTIusZojt7EeB6/9Fdd6dVgPY5
 CNCnNWC5ucTC53LjDaKXOgGALCu4bCCLSHYhllsWZIm8lxB5kKeQGyZ2xkmTG8BDyrOUWWBj
 JP70e+J2KJuAQ==
IronPort-HdrOrdr: A9a23:mOy/DqAA6sFP7QDlHelc55DYdb4zR+YMi2TDt3oddfU1SL3+qy
 nKpp4mPHDP5wr5NEtPpTnEAtjifZq+z+8Q3WByB9eftWDd0QPFEGgh1/qB/9SJIUbDH4VmpM
 JdmsZFaeEZDTJB/LrHCAvTKade/DFQmprY+9s3zB1WPHBXg7kL1XYeNu4CeHcGPjWvA/ACZe
 Ohz/sCnRWMU1INYP+2A3EUNtKz2uEixPrdEGY77wdM0nj0sQ+V
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100153562"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OMcTC2Qol6KIFcNvsdcwJtEeLDeZ+S+Cx7IjJxKR/dEq4lE0MzRgxH3/2mJfGsgukjmDtb/II9Xi+MZoj20zAmH+zuDuE0erqfy2jPjJma1RpnXyw8hY6fLLnjNy+1IUKN+NX84NBLfJHf4oeo/adWhFISUSfHhKLVtRgMqiiKNqRldiqna3mvd0rA15VTCUGTaJ+Y7IGMqVL8GOmEZ37vjv2NmubhPIU89cavHsTczVt8CFCobmPavRcS4mryUB1J1eH4b0wZ//WqVgqcC4FrR3GodlWqhxIjZscS3QmYFhZi+GNsHVM0JGdH1hRB4i8QtcwP7xPXC+2eia3949uQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eduAfkaPs2BiUv37ci00k765OBwKbz6EiaFklRaz2j8=;
 b=PfVaJ19XZoNXENPjiVIrHG+KDaAPxj0CrT5D9XM3KhO6CzOUfAzmahEoeOCLMRjAJhXQfZ+GI1YsUEGm7ULiriZvnva3A0IfeQFBmUe6HmvljF6ZrxIXkM5Qc1RzyP5KAiBkpl07N1RCw2lwSQSkZNL+HD8HU6P/gNwAHxjFJloQTNCGkXTYGotMFgrQ+kwgFZmRYhxdk6cN6T0p9BjP3yt1rsOFjrrXWzD9MJNSkeCabJ70V26/frtE892kIYkvfYtF67ZUNmLr5/dgb0guTNMt5/+z8fsEm8ynMGl7EQ2e4Um1BxcebTtXdjdKk6kuEaaVmosNLHvVlM/nUZxRWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eduAfkaPs2BiUv37ci00k765OBwKbz6EiaFklRaz2j8=;
 b=THz1LWM4FFy4KGH9TBi/3evZH6TFflzovwVWrVr8jBmmke6C98tLqk169OVUsniwI4TBfYAvo1jLQtzGyCI2LY6nvkwvBPuz58apCzplVWzszeWMZ2sUFI0/dTjJtR1I/xUKlzZORy5zOOAnOrG/ktdFNhDBP4EM9tqINkwxtzY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 14 Mar 2023 15:01:32 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, linux-block@vger.kernel.org,
	Jens Axboe <axboe@kernel.dk>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 0/4] xen/blkback: some cleanups
Message-ID: <ZBB+POI+ipSqKBJ6@Air-de-Roger>
References: <20221216145816.27374-1-jgross@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20221216145816.27374-1-jgross@suse.com>
X-ClientProxiedBy: MR1P264CA0115.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:50::33) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN9PR03MB6202:EE_
X-MS-Office365-Filtering-Correlation-Id: 9d0198a6-f4b1-4f10-83b5-08db2494a1d1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	S5I/JFmwyFqjydr5Qwo7IAIZnZJlA99YthCLp/u4QYECSZaiIgvjf2+gd0wMMBbuPtHQXQvLxQnWD1iRHfPmlc+qW5VJyz6ZbNAt1L+LrIQAwCX46i6lY+1sw98bVr3+O26rr24hyBfH8v138qLbWo+92ZPrEx/92RJNoPaV/omm3c+SgNEetzkL/V/O8Pv6kjtvT97d601wYzwSaSElTTaBhuL/9Mvq+CTnm9AyweLgF9ooYBW8xGX51WHwFbkvPjMvV+15tqBYtHlQ9udQpAyBzSNXvvdSVmReKrWtB9M6X6kcnaC4lVUGZLUhv3Wl00q8dDmuRDubdqODxy2mwbRPUqx/vVv5R00xG3qYwJ3BuUm8FWC1Nn6HzxkFErKsc8w6wHIwIWMF6XAKynMoNkkva9qnSm4XiY+2QvKT73N2nb6RoDFgx9j65Mz3sxbcAZIrNth7zvs5dGQPJrlxtAhPtI9tWgby+xE1dZW/8+mG0PCyipxJCgldK8csh7/MYzyXGDJaveNtYl8kQ+AZ3L3UxLwK9KEkKkaNS6ro05aO0+4uQHjB1QReGIm1mK8y9PWI0LWt74XPWxsCtTF19xPrHk5wetsQJ3nKuaID90pwnoAGnqzmd5GiTU3ItsRYmvgoAosKrlsMkbWj+RwBoA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(396003)(136003)(346002)(376002)(39860400002)(366004)(451199018)(85182001)(316002)(6486002)(478600001)(5660300002)(2906002)(8936002)(4744005)(4326008)(8676002)(6916009)(66556008)(66476007)(66946007)(41300700001)(82960400001)(86362001)(38100700002)(186003)(33716001)(6666004)(6506007)(9686003)(6512007)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RnF1VTVXaFBBendORjA3OW5TZmFQRlh5QzUyaUVFNi8wMThGY0MwbC9vMnRD?=
 =?utf-8?B?NmVOcUFNL2ZBUEFBVkpYZHZWSklmcEo5Vlp2SkU4cWsvSUdIa3ArNHFCcngy?=
 =?utf-8?B?Rk4xY081WGRkZGc1eTRxYzF4M3ZwVTRGOTJ3NTBjTjM3dFdhK0w1amh2cEFp?=
 =?utf-8?B?dFJrbHQxa0cxN1BHdS9waHpRQWN5WUN2WUloUGJlWk52aU9saHkva2NSQnhW?=
 =?utf-8?B?cElIOHV2SGtZek9IYW56UmllYVhaQVZSRHI1dStUMllKZTQ2aExVdFBGQjhm?=
 =?utf-8?B?RlNRbXZ0S0N6b1ZUQmQ5ODhBN1V5Y3NVUnc4dXVpZFcrbmcrblBLZlN6U3Zl?=
 =?utf-8?B?QjBKNEZsOFlpbERxV2JHNTBwaEY1Mmd1L3lqZWU0NEl6TWthZFR5NlhleTM4?=
 =?utf-8?B?b2Uva3NZR04yZHdqMDAzN3BNSUZNMVJmelZ1UG1OTDlFVStGWlJGazlnZnQ2?=
 =?utf-8?B?YXFnZGRCMGlXNDdLN2xBMHVVT1hpQ1BKTGpXVjlvNGV2WkIxVzR3ZTJKaWsz?=
 =?utf-8?B?VHNqSXpQcTBuSnBzOGl4TzVPQkorNkFpWVBOVERMRVdpMDFBNUpGcEdpanhj?=
 =?utf-8?B?UnJnaDFBdlFqTXVrMWZNanhTcHRZVGRZNndIN1M2WlBWb09GUmw0ZHA1TmhE?=
 =?utf-8?B?Q2xVZnBPZ3ZmS0JVTk5pSmk5Qys3RzBiV2l3SkpMTG9mQ2hmOEVENEwzc1Zq?=
 =?utf-8?B?bnlEVzZNbktzZS9qYVFYZ3hXakNxWXJNcVZkUGl3Zm0rdE9NK1BUYlhiV3pF?=
 =?utf-8?B?YThZWXNzbnRDTzJuZFdhVDhDY2pxMGJLK0NDalBoYkltNktub0JkN3dISHhP?=
 =?utf-8?B?YUs5NklUREtocXZIeGpkVTNrVFFSWWQwMTBrSnJKTXEwNmYxczVRSWJLWXhZ?=
 =?utf-8?B?eGM2SDk1Z0NHNmI0eWxQZE9DRzUrT24wYXMxR2ZyQ0NzNWh0M0lCZ0RwdTdw?=
 =?utf-8?B?d1MzMTVmOGFYeFBsZ3ZVQU5GMmFXR1prVldZRXpaYmd1TmdGMVczd3hRTGJJ?=
 =?utf-8?B?bkVYdFZoa3NUcVkxUEpqbEZoS1lUcWNQSTk1ME8zZjhJY0p2dWRhWU4wSXRN?=
 =?utf-8?B?eExqejVrd0pla3NXbVVhMFNtTEl6SVk0Wks5eFFMNDhPc0hTdEVYbWhVWStK?=
 =?utf-8?B?ZGszSHQ3bVVvUWFIVzA2c2lnazR5UFk0Yy9nYndEYWozWHNTd1BPekhqUTdz?=
 =?utf-8?B?VjNpalVaVFJvUGRUUnlHWXpDYTl4YU5La0tubjZkWkpPM25GdlVqcWdkWlN4?=
 =?utf-8?B?emF2Und3eWpuOW9aanZqTWV6U0N4emQ2ak9mRCs0NEF1R051a0M5OTFncENi?=
 =?utf-8?B?RFowRk5rdXBIbmJ5ZXRYZ2dNVzBxMjlsa082YkRpRXlLVWtCeHdyNVJFSngz?=
 =?utf-8?B?aFBLdTVXaWRWYVpEVVFQc080NWdlVmFNbHhieitKaW5lS3Fvd04wb0ptdXNu?=
 =?utf-8?B?bVMxc3BlYWhUOVBtM2FsZHpVazZmVnhWRUxhVG5ZMmNYbXBBemxwUEFKdjZI?=
 =?utf-8?B?bHoyZGowdTN2R3lzSnZSOS9OQmk5UTh2di83eFVYaDlSZHFUK1NtWEcyRmU5?=
 =?utf-8?B?QzJlcUM3VE41T2lleEcxTWYzQ0RieFNCN1FFaGhpZHhVU2VQVmo5SjY3dVVo?=
 =?utf-8?B?MTRYQlA4Rlk4WUZzejRkRHBWZzVTYWwwVldKeS93andOdndPM2hGUlhOVytr?=
 =?utf-8?B?NjdLZjZwdmk1cWhjeDRyWVFxVnhpNDh6UUJ2akhGTnJPWTdsYTIvNFEzZzhw?=
 =?utf-8?B?WDk0U0NpMXFUbzJlRmJSTS9VSW1MeVhxaG1MR2hOT05zWHhmb3Z6eHl4UlA3?=
 =?utf-8?B?YTAvOFFVTnZVa0RIR3g5QXhHbHUvT3FjUnIzcE5LdFd6RWJiTjdvU2NKWUNP?=
 =?utf-8?B?QXpTV0M5K0dDaFFpRUpSZEtOOXZhRVErLzRDSkI0RERpTjJiSk9Qbk0vK3l2?=
 =?utf-8?B?RjJwcncwdVE1bmpaRkNFZXRUYVZIbUNTVEp4b1RtTWRkN2V3TkxkdkJLbER6?=
 =?utf-8?B?djZTQTNvc093Q3pqZXQwWHFwMHpiSjBZMGlWbWpKY2p6NVNUaERveGI1eHJC?=
 =?utf-8?B?RE1qNkdpdi82N2xGVGFLN3hrcGFMVkQ4Vit0TWRDdVZWdzlraERFMXhVb0N6?=
 =?utf-8?B?N3lrTW1qTjdaQUxEd1FrWGp2R2oyc3lYdWc4RWlKWGhCdm1ZRXlhSlFjWHVk?=
 =?utf-8?B?d0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	KXuBWJQQXDlrjoqlPQS21XC/Zb03S5wSoh7OZJM/Mo83aow/HAp/FT+r59QqkMSLLC8InbNHtLPhDohTdqpC8BsWzreP05kKrE3ohVEvfu9qLtrBieSz0HqwAt3SPas/udiIN/gU4M1YsoOTe5gzHzfJYwO8IXRYDsrvC5szus6fs77YVMcW02THXG2OEtzwWWguitYUtfG34qmwLWjFhWtWDZJzR6x6vEXSuBbFGsH+G4eXDe0wOVVkXhbL2QazCZP1S8BcSMLqRr4LkT60OhIdqKfAx1FWHpDe63fb9jnGkuE4W0fFB3tRA2R3ThRc07k8HSrZm9K2LTCoeDZrwG+StU5JYUVOKfHKWLTSy3aKvUsXQv7QbzJTnTc7iq0VDeILYWZ4mZavi0lGIRunFlJi00I/Ry7nlKu90cE1OW/L9x2wbyYQV5wOeeMo2hjTezH5dLq/G9rcO5NaT8C9ELbZyVkcVOs3hfqdxIYbdIPu2WladnVBmhCklnZWlkPyJ3VYHEHodkH/yTOb5xncMe3qXeyeld7pDtGo8uBv1lCc5uz8G5z4GmaStpVTEBrFTjo+SXAAb3DxY5dgAcRZzJjzMByLrUTP1NzjQQ2cUWtXMTUxnCIPY2oXup5vLgdAf2d8Tk+f8AM9HTDTNluG2vGDD5/v4nQPIdU7GsT+bLPCrPDPvMLOmE2WuG6126hu4RvNd3ZiYCckMwZxl/XeP/OXeFaZh18VCl/EBlcXW5XQ4EmeFZxofHBdFiomXEBEDQd2GMkuf/WeDRcnU4fVvHxovjzkQ6DkXh/j+4VqawBaEDgavRtSij4ftY0D2B/toRX3f0TLRPa9N7vP1w71J0AYViTEDp+HoBSNyQJtbLcMBzi05lw6/P6882mKy57n
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d0198a6-f4b1-4f10-83b5-08db2494a1d1
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 14:01:39.5741
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YLJ4CQ19IJfG17KQaVUhDWtTERcyf2L0tZVNw9shM6Zcy5MsPelXk/Hcp6KAuovKbjDoiEnmNo47hgAjHbPTXQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6202

On Fri, Dec 16, 2022 at 03:58:12PM +0100, Juergen Gross wrote:
> Some small cleanup patches I had lying around for some time now.
> 
> Juergen Gross (4):
>   xen/blkback: fix white space code style issues
>   xen/blkback: remove stale prototype
>   xen/blkback: simplify free_persistent_gnts() interface

All first 3:

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

>   xen/blkback: move blkif_get_x86_*_req() into blkback.c

I've got two minor further adjustments for 4.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:04:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:04:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509620.785712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5Ge-0001kY-VY; Tue, 14 Mar 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 509620.785712; Tue, 14 Mar 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 1pc5Ge-0001kR-RP; Tue, 14 Mar 2023 14:04:44 +0000
Received: by outflank-mailman (input) for mailman id 509620;
 Tue, 14 Mar 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=CsFi=7G=yandex.ru=isaikin-dmitry@srs-se1.protection.inumbo.net>)
 id 1pc5Gc-0001kK-UI
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:04:42 +0000
Received: from forward500a.mail.yandex.net (forward500a.mail.yandex.net
 [178.154.239.80]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 28525147-c271-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:04:38 +0100 (CET)
Received: from vla1-4c5ff3d0aef5.qloud-c.yandex.net
 (vla1-4c5ff3d0aef5.qloud-c.yandex.net
 [IPv6:2a02:6b8:c0d:230e:0:640:4c5f:f3d0])
 by forward500a.mail.yandex.net (Yandex) with ESMTP id 39BE95ECDA;
 Tue, 14 Mar 2023 17:04:37 +0300 (MSK)
Received: from mail.yandex.ru (2a02:6b8:c15:2980:0:640:9e07:0
 [2a02:6b8:c15:2980:0:640:9e07:0])
 by vla1-4c5ff3d0aef5.qloud-c.yandex.net (mxback/Yandex) with HTTP id
 X4jwpY1YG0U1-ZkQBxJ5H; Tue, 14 Mar 2023 17:04:37 +0300
Received: by keakpixodwq4ggpb.vla.yp-c.yandex.net with HTTP;
 Tue, 14 Mar 2023 17:04:36 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28525147-c271-11ed-b464-930f4c7d94ae
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1678802676;
	bh=wdTljBAdcz7psNuBdPk1WJphZhDOwQQVTmwBSHBxotE=;
	h=Message-Id:References:Date:Cc:Subject:In-Reply-To:To:From;
	b=GNNSRFSH+uhcqilIAL1LC/b2+uKhBc6x5bs9Tmy8QB2LjQQDJifEvR4h1qxF5xReY
	 WQmSa48nGLVDD7ILdisWl6D5cBKe9FWmee2c3crbA1Mxj7i3UUW8yRL+OrwlQOaqHP
	 HojIyufQ2tAkeNMdNBc4/xE4kddjuFnW9qXNPqZo=
Authentication-Results: vla1-4c5ff3d0aef5.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru
From: =?utf-8?B?0JTQvNC40YLRgNC40Lkg0JjRgdCw0LnQutC40L0=?= <isaikin-dmitry@yandex.ru>
To: Jan Beulich <jbeulich@suse.com>,
	Tamas K Lengyel <tamas@tklengyel.com>
Cc: "xen-devel@lists.xenproject.org" <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>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Anton Belousov <abelousov@ptsecurity.com>
In-Reply-To: <8b258946-4fe4-b988-ac25-a99ae1f06806@suse.com>
References: <3f577545b8ee6846ff98c4411cdc96dfe1412b3e.1678505295.git.isaikin-dmitry@yandex.ru>
	 <CABfawhn0+XuByYGM-rAkQy+XL9E4aNiBDfE5irOzvRVesuKMjg@mail.gmail.com> <8b258946-4fe4-b988-ac25-a99ae1f06806@suse.com>
Subject: Re: [XEN PATCH] x86/monitor: Add new monitor event to catch I/O instructions
MIME-Version: 1.0
X-Mailer: Yamail [ http://yandex.ru ] 5.0
Date: Tue, 14 Mar 2023 17:04:36 +0300
Message-Id: <3761678802469@mail.yandex.ru>
Content-Transfer-Encoding: base64
Content-Type: text/html; charset=utf-8

PGRpdj7CoDwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PjEzLjAzLjIwMjMsIDE5OjE1LCAiSmFuIEJl
dWxpY2giICZsdDtqYmV1bGljaEBzdXNlLmNvbSZndDs6PC9kaXY+PGJsb2NrcXVvdGU+PHA+T24g
MTEuMDMuMjAyMyAxNTo1MCwgVGFtYXMgSyBMZW5neWVsIHdyb3RlOjwvcD48YmxvY2txdW90ZT7C
oE9uIEZyaSwgTWFyIDEwLCAyMDIzIGF0IDEwOjU34oCvUE0gRG1pdHJ5IElzYXlraW4gJmx0Ozxh
IGhyZWY9Im1haWx0bzppc2Fpa2luLWRtaXRyeUB5YW5kZXgucnUiIHJlbD0ibm9vcGVuZXIgbm9y
ZWZlcnJlciI+aXNhaWtpbi1kbWl0cnlAeWFuZGV4LnJ1PC9hPiZndDs8YmxvY2txdW90ZT7CoC0t
LSBhL3hlbi9hcmNoL3g4Ni9odm0vdm14L3ZteC5jPGJyIC8+wqArKysgYi94ZW4vYXJjaC94ODYv
aHZtL3ZteC92bXguYzxiciAvPsKgQEAgLTQ1NzksNiArNDU3OSw4IEBAIHZvaWQgdm14X3ZtZXhp
dF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKTxiciAvPsKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqB1aW50MTZfdCBwb3J0ID0gKGV4aXRfcXVhbGlmaWNhdGlvbiAmZ3Q7Jmd0
OyAxNikgJmFtcDsgMHhGRkZGOzxiciAvPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpbnQg
Ynl0ZXMgPSAoZXhpdF9xdWFsaWZpY2F0aW9uICZhbXA7IDB4MDcpICsgMTs8YnIgLz7CoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgaW50IGRpciA9IChleGl0X3F1YWxpZmljYXRpb24gJmFtcDsg
MHgwOCkgPyBJT1JFUV9SRUFEIDo8L2Jsb2NrcXVvdGU+wqBJT1JFUV9XUklURTs8YmxvY2txdW90
ZT7CoCsgaW50IHN0cl9pbnMgPSAoZXhpdF9xdWFsaWZpY2F0aW9uICZhbXA7IDB4MTApID8gMSA6
IDA7PC9ibG9ja3F1b3RlPsKgPGJyIC8+wqBZb3UgYXJlIGFscmVhZHkgaW4gYSBicmFuY2ggaGVy
ZSB3aGVyZSBzdHJfaW5zIGlzIGNoZWNrZWQgYW5kIGtub3duIHRvIGJlIDEuPC9ibG9ja3F1b3Rl
PjxwPjxiciAvPjAgdGhhdCBpcywgaS5lLiBvbmx5IG5vbi1zdHJpbmcgaW5zbnMgd291bGQgcHJl
c2VudGx5IGJlIHJlcG9ydGVkLjxiciAvPjxiciAvPkRtaXRyeSwgeW91IGFsc28gd2FudCB0byBt
YWtlIHRoaXMgdmFyaWFibGUgYW5kIHRoZSBjb3JyZXNwb25kaW5nIGZ1bmN0aW9uPGJyIC8+cGFy
YW1ldGVycyAiYm9vbCIuIFVubGVzcyBvZiBjb3Vyc2UgdGhleSBuZWVkIGNoYW5naW5nIGFueXdh
eSB0byBlLmcuPGJyIC8+Y29tbXVuaWNhdGUgdGhlIGFkZHJlc3Mgb2YgdGhlIGRhdGEgKGFzIGFs
c28gaW5kaWNhdGVkIGJ5IEFuZHJldykuPC9wPjwvYmxvY2txdW90ZT48ZGl2Pk9LLjwvZGl2Pjxi
bG9ja3F1b3RlPjxwPsKgPC9wPjxibG9ja3F1b3RlPjxibG9ja3F1b3RlPsKgKyBodm1faW9faW5z
dHJ1Y3Rpb25faW50ZXJjZXB0KHBvcnQsIGRpciwgYnl0ZXMsIHN0cl9pbnMpOzwvYmxvY2txdW90
ZT7CoDxiciAvPsKgSU1ITyB5b3Ugc2hvdWxkIGhhdmUgdGhpcyBpbnRlcmNlcHQgYmUgY2FsbGVk
IG91dHNpZGUgdGhlIGlmLWVsc2UuIFRoZTxiciAvPsKgZnVuY3Rpb24gYWxyZWFkeSBraW5kLW9m
IGluZGljYXRlcyBzdHJfaW5zIGlzIGFuIGlucHV0IHlldCByaWdodCBub3cgb25seTxiciAvPsKg
Y2FsbGVkIHdoZW4gaXQncyAxLjwvYmxvY2txdW90ZT48cD48YnIgLz5JIGFncmVlLiBRdWVzdGlv
biBpcywgYXMgYWJvdmUsIHdoYXQgZnVydGhlciBkYXRhIG1heSBuZWVkIHN1cHBseWluZyB0bzxi
ciAvPnRoZSBtb25pdG9yIGFnZW50IHRvIG1ha2UgdGhlIGludGVyY2VwdCB1c2VmdWwuIE1lcmVs
eSAlcnNpIC8gJXJkaSBhczxiciAvPkFuZHJldyBzdWdnZXN0ZWQgbWF5IG5vdCBzdWZmaWNlLCBh
cyBlc3BlY2lhbGx5IG91dHNpZGUgb2YgNjQtYml0IG1vZGU8YnIgLz50aGUgaW52b2x2ZWQgc2Vn
bWVudCBiYXNlIG1heSBiZSBub24temVyby48L3A+PC9ibG9ja3F1b3RlPjxkaXY+SSB0aGluayB0
aGF0IGluIHN5bmNocm9ub3VzIG1vZGUgYWxsIG5lY2Vzc2FyeSByZWdpc3RlciBpbmZvcm1hdGlv
biBpcyBhbHJlYWR5IGF2YWlsYWJsZS48L2Rpdj48YmxvY2txdW90ZT48cD48YnIgLz5KYW48L3A+
PC9ibG9ja3F1b3RlPg==


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:09:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:09:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509626.785722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5Kf-0002Rm-Ha; Tue, 14 Mar 2023 14:08:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509626.785722; Tue, 14 Mar 2023 14:08: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 1pc5Kf-0002Rf-Ej; Tue, 14 Mar 2023 14:08:53 +0000
Received: by outflank-mailman (input) for mailman id 509626;
 Tue, 14 Mar 2023 14:08:51 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=9LtO=7G=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pc5Kd-0002RX-7y
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:08:51 +0000
Received: from sonic303-24.consmr.mail.gq1.yahoo.com
 (sonic303-24.consmr.mail.gq1.yahoo.com [98.137.64.205])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb9600e8-c271-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:08:46 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic303.consmr.mail.gq1.yahoo.com with HTTP; Tue, 14 Mar 2023 14:08:44 +0000
Received: by hermes--production-ne1-759c9b8c64-rg9jt (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 38f7483c5dbaf59a571a085480ef55d7; 
 Tue, 14 Mar 2023 14:08: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: bb9600e8-c271-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678802924; bh=0LtqezmiTIuF1bLUTi9sCtQOp4N6+Va959+zTiUe6Yk=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=BjJxcgXvKWkSdw3I3im5DE3iOXpd2j37677NIkaccqZ2Af030hCrFLeNe5HU163lsqb14LSS+G6qOqA3pLX6+0I/lURGnjQxgTjHmupzyVX2kciZVG83iH4YIDymFM3mk7GC+bfDcFq8cuesGP8T6zE/o2Kz8SlCTI2OYxA9EwrvBMrurc78y3uUD6zym9hnkHnawLXHCphMS4pwZofGEhicEWTaOyVqHIl+l+K/PufH9JABRS08SckaVVPZIiH3YhnhpLIva4YoXr/FAspwSbOOXaFa91jaRZI62mOEtYvl7bMkUGtL5YILIV2/ZOuFXzdgieGv28iey4QTX3qcMw==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678802924; bh=9i0sphlhMEan7zFuTdD32Tyo+rFnjj9Cb0ZFf5E3oMj=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=ehl/gbqiaikm9QslCePzX0MYKn7ykqPrPQ0yeowmE8u46iiVy2iDMChC4jEFuEaYh778oF4IzAkZ8p9LOpTz97ekaPcAQ0NASP8NbCvZGbVNVFp2KzZgObWOBRLMtVon2u2VhO5wN3I5Q53CrjmUvf/93m488R5ShmjcIkLyIasXFlRRaCvD3YTZNToqBBqZToZrMFSt7595vROJZw7ajyJGStqk9HT2quN+QjIeqMQw0q/wWMp3lN9btvgKb7btxZRV8qhcU1lF2QcVh1d43sMaidMQHhmRh9aDcKAhnI94gZc1CsgdAsMwhGsSVD93IZZdSsWT/cq0wKNim6PC/A==
X-YMail-OSG: 5sFzdeEVM1mAv2uPHa3ln9_24FwZssq02GFih9HFBqDWiCN13nlRRmDSNzU1A6D
 ivfF62BK7cmvW7NOCIvUm52gnKspiDEV2jrlRjkxVHFFoC.2QJMiv9coHnsq1BO26U2nsM_DHiQ_
 5fIwNr3HbFUz0tHItwXEkyRYSIADw9_uK0FwPU0WtYsamMgxLZ5g8DByZNKbEe37Lekg64U0QrIG
 03PuL5yjhjYYKbxpec0z16f2o1dQHJZ8k4pE.__uGZy9_QuSQA_bR3yu7W_NrsNE9O46HpJ07oX_
 GO8iJL33wpEnuLrZ_LPtRxRns6vUfSiLbPOcGe9TPZBYHZMAfn8wTVB61im5YOPC7n1Wqq5ojdYs
 dXB32.OrLsO3wXhTQifagpvMD1E0bw4A_bM6O6ABr49F7ydOK5j2w0yRu3QAJwJWFTeV.NG5kpDd
 QslyDhC2gRhKYVUR1GbrBd.eIP4wspbuwpVPn3h3vA0erUK4x5VPeHlJuzSxyOnF8ZF3hvEMmN5A
 dfl449OQYVvEZOCS0Zsu9vtIQXjDjX02KfMXUYKy7NkVon0m0Ta2AXfYevfFkaVBvQTr8.rdlHC2
 rVecjgiJdWBa8I5fKSdyHqMTwHpAbmigFyWVZBmkPJRoY7ivtr6XZFGcMGjYbijvrO9w50lnirlX
 InDkN8OhREVFeXkfof7Unx5h5hCk3WmbxFZvQyev.fRo4ESlUnLk3Xk5E5qduUEGWbJymcGbhT9d
 YWrAj5e6aE9W8IIIdMhthkuc0chofIl5P8XnmbO.3XOjV3TdA..U_EL2FZ9Cra0S5dlkos_lShVZ
 C507gAX8B5hofWw.gIYGgsWa48sG6n50gD5h7DK_grnTx2N_rkIF4dg05c56I2bx7Ndy0WFbgRg2
 cy2os6nsYtu4R_HTZyYqZLIlttQvvva02WsFZk01B7Um_Cld7vsGdrqioNwTO7jI.6Ch1wa4G4NQ
 hzRh2RF5Ni0ELjX2I1lv.SXcgOxcNxEMLVxDyiIPxuTAAsICOXGT4g4dMCT2pAtj.ieIub4GHB_o
 iS39MgJyhrprv9UgIA9svw62pzvwdFFBUSOjfpV357DHicaGpiNWlJ7jYhm0kmygrSzn.R5857co
 QLbl0aAxzsPT5qmMNmR4GJoR2cX2CJnGZL7hnX92BObfLSpTqN4UVSJepAb.KmiD78yFk2biix.O
 KM8M.P8GB4hT0fHzsivxAXyICp_4S0EE7d5NvfE1_ao.zeZfzP1Q2gbzL0BYcQPEJkOE8P1yHQqR
 UsDAA9ELWwY8NUQJa51MJeu.J7vaU7dXucQlXPF1krwadoOxg9AxGfMRdtpnULq7fyuOE0LpMYe0
 scXaciyyR4X3CyUb8ioAAzsYXirgDzV5PK4AqO2kXW7qf5f06fuZ1gg7uIexTJdJLyZuJQtXuO0F
 rPjvQi8Lqzc.9d3StC4vET6kSmtcCzjGB1yAd01WhM6D8hjdkk9nvi6jpISb4x29WusDEpSNS8Jt
 Ej7tyG6mRPtn20fajr.KiI_1iKUAGcfuC8k1ozfKGa1DNgC9GbXpBph0cjXJfCHuepZRTBQUQY8s
 WzeAO4LB6C6sh5vYC91bwlNW_neG0IPfASqlZ0nAdNZKSZJjxDqZqK1EzWh6rHqP9trUZQHab4FP
 YFSo4aZhJ72hj8XV3csU5U8gglHfIpchC7QCytyyddgDG6r76y9ORjpA2tbTBfSTAmgQKNW86Dqm
 GbNajGkYcOdVyYphRT1URW9o6hsiuL.6719qZFCbEZwRusx5spe2LhC2nzuMPGNlb6GZXq6FowcQ
 vhCaia.FNuRORhP2.ZSGLRVhx6.Cy7PqzkQQFxsOUi09BnREOAzATS7c9K66njKGPoMaom3Cx_kY
 _jvqabRnjRYFqXUxPnyzlY4ueJV3vvOz8JBV4B6fC4rlis3YFSODHF54HmBbkUw0NK36aQacN4ST
 dYdzo35CeumwoK6GYK.1NgiZAda1d1LI4Wejs3jN9HaXOPdnqoruevAFLQr8SJkbs_pG93homz8T
 LQcLEwGxCoCmoiMlx4pELQD5IL.m_zZjEToXl6z1KtaI16aP6.085cHfNT6b24crmWD77tvP_zU0
 FxUijaf9G_d1Au50q3uDwXOP5XZiHUo2wInqhw8OBdzzRyV8cNh3SN4.3MTnWT_OWj_x2G2MzGLU
 DtU0IpqIhhcyTQyRR8CKxoLJYStdgECfpO72JEDbTLJVsxDV6N4abUJIvnjL.lYh7WoRhIRD5LeS
 qtX9rHKWrKJ2f6xUqtfqP31qH
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: ff59ccee-9918-48da-8d9e-5f9b2f42ed7f
Message-ID: <c44a3666-43b6-5287-dfc1-c6e61798fa9d@aol.com>
Date: Tue, 14 Mar 2023 10:08:40 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/2] pci: allow slot_reserved_mask to be ignored with
 manual slot assignment
Content-Language: en-US
To: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 "Michael S. Tsirkin" <mst@redhat.com>
Cc: qemu-devel@nongnu.org, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Artyom Tarasenko <atar4qemu@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678763217.git.brchuckz@aol.com>
 <d9ae459b2814425c2d9e756e45d993c824da150a.1678763217.git.brchuckz@aol.com>
 <20230314023148-mutt-send-email-mst@kernel.org>
 <0c8ee7e9-dd23-262f-f67e-359e14abf6f2@ilande.co.uk>
 <20230314091653-mutt-send-email-mst@kernel.org>
 <34eda0c4-3d90-0e22-7888-81bf18e2a5f0@aol.com>
 <7b79ec08-064c-7940-0285-be8a96e2a144@ilande.co.uk>
From: Chuck Zmudzinski <brchuckz@aol.com>
In-Reply-To: <7b79ec08-064c-7940-0285-be8a96e2a144@ilande.co.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 11005

On 3/14/2023 9:41 AM, Mark Cave-Ayland wrote:
> On 14/03/2023 13:26, Chuck Zmudzinski wrote:
>
> > On 3/14/2023 9:17 AM, Michael S. Tsirkin wrote:
> >> On Tue, Mar 14, 2023 at 12:43:12PM +0000, Mark Cave-Ayland wrote:
> >>> On 14/03/2023 06:33, Michael S. Tsirkin wrote:
> >>>
> >>>> On Tue, Mar 14, 2023 at 12:01:09AM -0400, Chuck Zmudzinski wrote:
> >>>>> Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
> >>>>> uses slot_reserved_mask to reserve slot 2 for the Intel IGD for the
> >>>>> xenfv machine when the guest is configured for igd-passthru.
> >>>>>
> >>>>> A desired extension to that commit is to allow use of the reserved slot
> >>>>> if the administrator manually configures a device to use the reserved
> >>>>> slot. Currently, slot_reserved_mask is enforced unconditionally. With
> >>>>> this patch, the pci bus can be configured so the slot is only reserved
> >>>>> if the pci device to be added to the bus is configured for automatic
> >>>>> slot assignment.
> >>>>>
> >>>>> To enable the desired behavior of slot_reserved_mask machine, add a
> >>>>> boolean member enforce_slot_reserved_mask_manual to struct PCIBus and
> >>>>> add a function pci_bus_ignore_slot_reserved_mask_manual which can be
> >>>>> called to change the default behavior of always enforcing
> >>>>> slot_reserved_mask so, in that case, slot_reserved_mask is only enforced
> >>>>> when the pci device being added is configured for automatic slot
> >>>>> assignment.
> >>>>>
> >>>>> Call the new pci_bus_ignore_slot_reserved_mask_manual function after
> >>>>> creating the pci bus for the pc/i440fx/xenfv machine type to implement
> >>>>> the desired behavior of causing slot_reserved_mask to only apply when
> >>>>> the pci device to be added to a pc/i440fx/xenfv machine is configured
> >>>>> for automatic slot assignment.
> >>>>>
> >>>>> Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
> >>>>> Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
> >>>>
> >>>> I really dislike this.
> >>>> It seems that xen should not have used slot_reserved_mask,
> >>>> and instead needs something new like slot_manual_mask.
> >>>> No?
> >>>
> >>> My suggestion was to move the validation logic to a separate callback
> >>> function in PCIBus (see
> >>> https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg03988.html) but
> >>> perhaps I wasn't clear enough in pointing out that I was thinking this could
> >>> *replace* the existing slot_reserved_mask mechanism, rather than providing a
> >>> hook to allow it to be manipulated.
> >>>
> >>> Here's a very rough patch put together over lunch that attempts this for
> >>> pci_bus_devfn_reserved(): the idea is that sun4u and Xen would call
> >>> pci_bus_set_slot_reserved_fn() with a suitable pci_slot_reserved_fn
> >>> implementation, and slot_reserved_mask gets removed completely i.e.:
> >>>
> >>>
> >>> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> >>> index def5000e7b..30b856499a 100644
> >>> --- a/hw/pci/pci.c
> >>> +++ b/hw/pci/pci.c
> >>> @@ -493,6 +493,13 @@ bool pci_bus_bypass_iommu(PCIBus *bus)
> >>>       return host_bridge->bypass_iommu;
> >>>   }
> >>>
> >>> +static bool pci_bus_default_slot_reserved(PCISlotReservationType restype,
> >>> +                                          int devfn)
> >>> +{
> >>> +    /* All slots accessible by default */
> >>> +    return false;
> >>> +}
> >>> +
> >>>   static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
> >>>                                          MemoryRegion *address_space_mem,
> >>>                                          MemoryRegion *address_space_io,
> >>> @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
> >>> DeviceState *parent,
> >>>   {
> >>>       assert(PCI_FUNC(devfn_min) == 0);
> >>>       bus->devfn_min = devfn_min;
> >>> -    bus->slot_reserved_mask = 0x0;
> >>> +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
> >>>       bus->address_space_mem = address_space_mem;
> >>>       bus->address_space_io = address_space_io;
> >>>       bus->flags |= PCI_BUS_IS_ROOT;
> >>> @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
> >>>       return !(bus->devices[devfn]);
> >>>   }
> >>>
> >>> -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
> >>> +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
> >>> +                                   PCISlotReservationType restype)
> >>> +{
> >>> +    return bus->slot_reserved_fn(restype, devfn);
> >>> +}
> >>> +
> >>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
> >>>   {
> >>> -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
> >>> +    bus->slot_reserved_fn = fn;
> >>>   }
> >>>
> >>>   /* -1 for devfn means auto assign */
> >>> @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >>>           for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
> >>>               devfn += PCI_FUNC_MAX) {
> >>>               if (pci_bus_devfn_available(bus, devfn) &&
> >>> -                   !pci_bus_devfn_reserved(bus, devfn)) {
> >>> +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
> >>>                   goto found;
> >>>               }
> >>>           }
> >>> @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >>>                      "or reserved", name);
> >>>           return NULL;
> >>>       found: ;
> >>> -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
> >>> +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
> >>>           error_setg(errp, "PCI: slot %d function %d not available for %s,"
> >>>                                          MemoryRegion *address_space_io,
> >>> @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
> >>> DeviceState *parent,
> >>>   {
> >>>       assert(PCI_FUNC(devfn_min) == 0);
> >>>       bus->devfn_min = devfn_min;
> >>> -    bus->slot_reserved_mask = 0x0;
> >>> +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
> >>>       bus->address_space_mem = address_space_mem;
> >>>       bus->address_space_io = address_space_io;
> >>>       bus->flags |= PCI_BUS_IS_ROOT;
> >>> @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
> >>>       return !(bus->devices[devfn]);
> >>>   }
> >>>
> >>> -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
> >>> +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
> >>> +                                   PCISlotReservationType restype)
> >>> +{
> >>> +    return bus->slot_reserved_fn(restype, devfn);
> >>> +}
> >>> +
> >>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
> >>>   {
> >>> -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
> >>> +    bus->slot_reserved_fn = fn;
> >>>   }
> >>>
> >>>   /* -1 for devfn means auto assign */
> >>> @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >>>           for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
> >>>               devfn += PCI_FUNC_MAX) {
> >>>               if (pci_bus_devfn_available(bus, devfn) &&
> >>> -                   !pci_bus_devfn_reserved(bus, devfn)) {
> >>> +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
> >>>                   goto found;
> >>>               }
> >>>           }
> >>> @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >>>                      "or reserved", name);
> >>>           return NULL;
> >>>       found: ;
> >>> -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
> >>> +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
> >>>           error_setg(errp, "PCI: slot %d function %d not available for %s,"
> >>>                      " reserved",
> >>>                      PCI_SLOT(devfn), PCI_FUNC(devfn), name);
> >>> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> >>> index d5a40cd058..8a949f7ae1 100644
> >>> --- a/include/hw/pci/pci.h
> >>> +++ b/include/hw/pci/pci.h
> >>> @@ -257,10 +257,18 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev);
> >>>    */
> >>>   int pci_bar(PCIDevice *d, int reg);
> >>>
> >>> +typedef enum PCISlotReservationType {
> >>> +    PCI_SLOT_RESERVATION_AUTO,
> >>> +    PCI_SLOT_RESERVATION_MANUAL
> >>> +} PCISlotReservationType;
> >>> +
> >>> +typedef bool (*pci_slot_reserved_fn)(PCISlotReservationType restype, int devfn);
> >>>   typedef void (*pci_set_irq_fn)(void *opaque, int irq_num, int level);
> >>>   typedef int (*pci_map_irq_fn)(PCIDevice *pci_dev, int irq_num);
> >>>   typedef PCIINTxRoute (*pci_route_irq_fn)(void *opaque, int pin);
> >>>
> >>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn);
> >>> +
> >>>   #define TYPE_PCI_BUS "PCI"
> >>>   OBJECT_DECLARE_TYPE(PCIBus, PCIBusClass, PCI_BUS)
> >>>   #define TYPE_PCIE_BUS "PCIE"
> >>> diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
> >>> index 5653175957..d68ea1418d 100644
> >>> --- a/include/hw/pci/pci_bus.h
> >>> +++ b/include/hw/pci/pci_bus.h
> >>> @@ -36,7 +36,7 @@ struct PCIBus {
> >>>       PCIIOMMUFunc iommu_fn;
> >>>       void *iommu_opaque;
> >>>       uint8_t devfn_min;
> >>> -    uint32_t slot_reserved_mask;
> >>> +    pci_slot_reserved_fn slot_reserved_fn;
> >>>       pci_set_irq_fn set_irq;
> >>>       pci_map_irq_fn map_irq;
> >>>       pci_route_irq_fn route_intx_to_irq;
> >>>
> >>>
> >>> If this approach seems reasonable, I'm happy for someone else to take this
> >>> over and turn it into a proper series.
> >>>
> >>>
> >>> ATB,
> >>>
> >>> Mark.
> >>
> >> It's ok too though I think I like chuck's proposal better:
> >> less callbacks to chase.
> >>
> > 
> > I would be willing to pursue this if there were more use cases for
> > slot_reserved_mask than just the two cases we have now: xen and sun4u.
> > Until there is a clear demand for a more general way to manipulate the
> > mask, I agree with Michael that the KISS principle should apply here.
>
> No worries. The thinking behind this idea was that it feel like the Xen case is 
> special in that it has separate requirements for auto slot allocation and manual slot 
> allocation: if slot reservation were used in more places, I'd expect the sun4u case 
> to be more common, in which case it seems a bit more work for the common case to have 
> to set both slot_reserved_mask_auto and slot_reserved_mask_manual separately. Perhaps 
> a single accessor function can be used to set both mask values together for a PCIBus?
>
> Regardless, I'll take step back and leave you and Michael to come up with a solution 
> that you're both happy with. Let me know if you need me to test anything on sun4u.

I will give this a little time to see if anyone else has any ideas here,
and to also more carefully consider Mark's proposal, before posting
v3.

Kind regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:11:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:11:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509628.785733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5NY-0003yJ-1n; Tue, 14 Mar 2023 14:11:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509628.785733; Tue, 14 Mar 2023 14: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 1pc5NX-0003yC-TD; Tue, 14 Mar 2023 14:11:51 +0000
Received: by outflank-mailman (input) for mailman id 509628;
 Tue, 14 Mar 2023 14:11: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc5NW-0003y6-VB
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:11:51 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29863940-c272-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 15:11:50 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8430.eurprd04.prod.outlook.com (2603:10a6:10:24f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Tue, 14 Mar
 2023 14:11:48 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 14:11: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: 29863940-c272-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cDchzvj3U4EVq94Od+U/1ijdcI7p6T42lX5Wf0OQeuVkzCp23+Cui/MOjQmLCbsQYN4wjJlGV7rWJl2D+wRtF4la12mxo2hX3tCHgnnvAUcD4zlTVjMN1QHsBlHLY72Rw53Qc43xQlBcAc1/QWcTTwCAiQjE36yYRgfoa9RuhfmVyawDAP8FqPWTxN3DX2YnpzAhV1bSXGTMxfdBUL2xHPMPrIVlnJdmW71SRKFMWst6km5w484BVzsZruksyeGJTghFL+C79NiZ7UGBWaSXckfZ3go5UfNZ0VeNo+o9DWzZymf8FR4dDQ0mytrlum078O8qe+VjpuduAFZ1wIIdJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3ig+HAkQNJAiSa5J5MIktdbIUQyno3wocwI6dM2xEXs=;
 b=XENrPe48Nsv6Sb5bHT9Uz1ix8MMI3x0igFmurbSGGFNQOuOz4pO1WIVvQTpucA2BMw8kbjqYn5COmDp2K/8AO/q3piNUQU5zG6foAqDKIpQcCdVpXno0qafIyAh3jq7/u8SYLsEiF0xDivrxQCxUzos6XIC232HUg0xXPk2rlcvZYEhJQK2lA0IJoQyBYF2d6erTCWX5Iq7YslJxDTip043RVBt0XCeusVxHTuiwCeHoPcpzhs071UOvElcb5ttkQfbkCBK4xyN2zsZNxLxEwkVpKVO71sSm7V6HfgBEzeHKwb5B4/Zh97v/giZQCMJRW7PmFlFqZ+fn7iMBwvsiCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3ig+HAkQNJAiSa5J5MIktdbIUQyno3wocwI6dM2xEXs=;
 b=URNoMnt72oL/kjFqzAyGzdVsheLzUohqFXk3vKf+MdmKIE6MLbUCiaIn2jkzJy8IdmnCsQOyWx/g/8gcF21awuM3DOBeulQGm0+Cs6jQMdAOCOeqzHPEogMnzXXGgXSH+QNZ0UtfDETWtZ4a0mCyE9luKERSEHsEYfOEnAHhlBsoTn0DT5+zb5AJG0nSxDhG9AL1SIDkVaV0wqyyeAN4DmoJN0POvBaO/odq1Z+RP7ro6yvhUlxx61tIGFnu4hryLerxjaWRSiDsojyNBtw6VXtX/4sXN2w++x4mmksDVfSiEn3X+LHA8hb6h94NGWRAy78Pfmv6UNTrtWC+mRErag==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ffc64415-8689-a3c5-ab1e-b1a9b3b397cd@suse.com>
Date: Tue, 14 Mar 2023 15:11:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] flask: label-pci: Allow specifying optional irq label
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: "dpsmith.dev" <dpsmith.dev@gmail.com>, xen-devel@lists.xenproject.org,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20230313175047.20719-1-jandryuk@gmail.com>
 <a990fe77-6132-c5df-c149-6255fb13d845@apertussolutions.com>
 <CAKf6xpt02aK7SWNb=xB3kKZB3Dt9UC8mMKMVz5kq96uNJvdzbQ@mail.gmail.com>
 <d17d7b39-28ce-55a6-8d2b-fe2dfd10c38d@gmail.com>
 <52c04d0b-2b30-ffc5-fe5f-72a182abfee7@suse.com>
 <CAKf6xpv7AGqWOcv2hFYzcJLq0c3EyhUiBxvmHeSui661M6HFcQ@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAKf6xpv7AGqWOcv2hFYzcJLq0c3EyhUiBxvmHeSui661M6HFcQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0145.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8430:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b6f13c0-afdf-4547-82f6-08db24960cf6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6gxHgpMwhAijYlQuK4+mEUlTqUF8g+LEktJQbuWhyM2XUN4QUnqlBXcWDjRFNnmPkZNrf5mZ/jwd9CYKuAftf2FQdYGge9P6yRtmhp2xv5HabSr5gpJkk6IeyQOfkgvFs2txWLXL3IxWRFS8UXyzdPY7I7pZxXHXskeHeTDmR8gQEwwGUgJcQ6870og5nNgasszxu9oMQoKnG739BDU0yy9Zb7WOQAKmNnaaR01jEJKsFKjYILi90hpWsmjYtNKGCcaOmvfoBTUFkRQRrZmYWBoI/LleeB1n/qweGB0rlrq6itZm/PqrCXDTkPMS6I6AmZ4aPYrd/7lOwZt7qAirf90Sws0rHKstcvzlJsFIoIu6+wp5ABPNet8x/X1TZ9h9mLcyQbWkLk+PhNLoWFmCMb5ykgxQasi/6QSO0uwYPEnj08ni2jQO6ToEC+8a3m4Xo8t9bC2ov7Ifp5cRaplsu0y3KlXdTjIfDrpz2Ya7mVJRQzsir+RUIJDqAfDK01r4nL/EusnbddzXVc3lJ8j1eukE2qoHbOUE8hXlXEsErtiS7hac8pPg3UW0MfjKsoqtz+pejDkEKEcUgxQRbfPGO8TCnCWjfHht7jsFEXToSEVffAzQcYkcWFONnEDCwP+BK8Fj79eh52wVPQ+bDTNkxKfWv9jCTFvHSXVm6mtjfBqd7qGQjoZIfHstd6X6aWa6JPP6lv9Pl3nIBQOu0mFzpOkW2tYOR6dttOmcP0jm+/Q=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(346002)(366004)(396003)(39860400002)(136003)(451199018)(38100700002)(2906002)(31686004)(478600001)(316002)(6512007)(6506007)(2616005)(54906003)(86362001)(31696002)(36756003)(41300700001)(66946007)(6916009)(66556008)(8676002)(186003)(53546011)(4326008)(66476007)(6486002)(8936002)(26005)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WVRkQSswS2JjWUk3YzZ0MGVNUnZBRURlRzBncUk1UmhJNmh4YXhrTmdtaXBY?=
 =?utf-8?B?L1dyWjdMYnliSmIyM2NXSVJQMEVLZWVXUDJzbE5sZm51QUpUbGZpTzVYTlFj?=
 =?utf-8?B?S0xWZ1FNeEU4VFNQZmplaGRFOEVoUmdYTTkwb1hoT3hIRDNoKzFRUXBFcUE3?=
 =?utf-8?B?SUVTNXRVNUhva0lXMjM2NzJ0SFJuZm5xRU52V1hWUHN2WkRwTEkzVG91SSti?=
 =?utf-8?B?UG1TZjRPK1daZ0FhZEcvWmNtQjFFZU5XUTh3SVp6bmRXSzRhTHNJbkRoUGRR?=
 =?utf-8?B?SlJRZFZuVEhCbTU2WmdDSzFOSU9qbUhNd1pBL1c1eEVKUGNzK3duY0twM3Fv?=
 =?utf-8?B?WjltdThweUVBcFB3d2ZLR1BjMnJiTkNPT3kraW1KaEtmdGZIYlkwRitNeEJE?=
 =?utf-8?B?MTFiQVU1dlJ5d2tVMmVUSVZ5TEpDT3FDQ0gwTlJVcUZXMEZjYWxwVi81RXdL?=
 =?utf-8?B?cCtzMHE1N1h4UG9ld0hhTTM2M2FnbXVRTnA2eTliK2xiY2FScWdVcFdyZUdN?=
 =?utf-8?B?Q2p0WlBqRHA1M2FuSTB1di9QejlNdGZFMDNOY0RHdEJHV015LzJpK3EvMUph?=
 =?utf-8?B?akpqRVp1Y05LTHM0TEFKSjhuWUFZL1kyVW5YSWJyaXlFbXdjSC9GNE1zZFhY?=
 =?utf-8?B?MG8yUW1PblExY2F6ZEJqRlFlUnpzanE2S1FhZjJVTHlwMHBaNlNmbTZ2SGhP?=
 =?utf-8?B?T3ZvVHNLVHJ2bmUxQ1lYS09Lbm94YkRGeHNMazY1UE1GM1hMTFZBUkxadkJx?=
 =?utf-8?B?TlNvMnVYdEozc3hUVExHZTdKdU5tUFFCVGcwcDRMU3pseVJadDFwWmZmRHZy?=
 =?utf-8?B?cURsQWovbU8wd01hV3VHejBpeXpvK2NoV2cxQ0ZwYWhPMjBSTVBTS05Pc0xr?=
 =?utf-8?B?alZBZk9xRHBCWklpdDNqeWw0ZVhpQk5MRXQzbFBhYlhDRnU0Q3NZUUFHNXQz?=
 =?utf-8?B?eEFGV1dRY3MzUW9Qd2JGVW9IRW4vSUlsZmhTQmd3R1FRbkdoTmZ2dGtIQ2dT?=
 =?utf-8?B?YTBLd1ZwaFdTaXErRUlGbHFRNk1KTkt2UnFCdVFOUmVzYmE0UStPb0dmeTF0?=
 =?utf-8?B?MnlBbU5VVEFIcVdIdVR4Z1BNRDdITFhhY0pYaWxzS05JQkU0WnQzemlqTjlW?=
 =?utf-8?B?STczTG9aL3hva0F0dU9XVk0zWFNlRXVoY0VzS0hHc0ErT2JsR2dBeHJKK2F2?=
 =?utf-8?B?Z3BReVNxY0RONjU4VWRvb2syU2tMSXdrTVZzQno2cjMvVzZNMHlIUW9VOXBl?=
 =?utf-8?B?QXdRbVl0WTVQaGtVMWJSV2xWRkg5TUdEaDV6d29PaFJ3eFZYaXM3WXdUQ3NN?=
 =?utf-8?B?M3l5a0g0YlJZSWxGNVJkMVBiMDAzVFBoRWRCdElTRE01UkVHNDU4K2dXNk1X?=
 =?utf-8?B?VWU1cHJ2bWNQVm43bEJGc3pTNnNiayt5b01aOVRMcW9sTmZWYmdnKzdqRW03?=
 =?utf-8?B?REhLRFQwT043OFJiQVluTUhrVk50ZXd4ZGZXUUQzdXF4UXcyWlBLTGVQb3dB?=
 =?utf-8?B?b29nN2JERzNSbk8waWlzVStMaG9ZSVVnWEkvL2gwYVU1MStBdTYxS0FGV0tJ?=
 =?utf-8?B?bEZZaXlMVEw5cm5PeWVHWWFKYjBiMmEzNmtwWnZrZ1hrNmZESDQ5YWYxU2Jw?=
 =?utf-8?B?VDFwcVB2LzUyRlh5VFVZNFFOeFdXVGtIM3dPSWhscytMRWdyMFNzSTUxVlNq?=
 =?utf-8?B?K2RBV1FSa3FzNC9IVU81a28rK29VbE1CUHh3RXB1MnV6d1l6UERGdUJNSW1F?=
 =?utf-8?B?Q1IyTmd0NGhvNDlHZWdyaWFGa0RnT1JSeFFNc1RIY1BJYkRPT2FSTEFpNlIx?=
 =?utf-8?B?ZnhHcHFtZjRmWjUwTit5eExjWmx6SjBNM082Z2dUTXNEZ1YrZHA4RHVncWR4?=
 =?utf-8?B?MXB2MWhEb2ttREFVZUhSTHhnM2hZRDlyNzNnTDhmeVQwQkpLMWRlMFR6TFBP?=
 =?utf-8?B?NUQvaU9YelZoM2twUnV4ei80U09BT04yUVZhMCsrbkVheURaSHpIdzRmd1Ex?=
 =?utf-8?B?amxYckRUelZDcWRtaVFtaU9SRTdYOGhFTCtKbVFwTENJQ29STTRnSVQrR3ZZ?=
 =?utf-8?B?bzBrSEFCWE5KNmdXaU83ZVN2TXE5VEpUNXNTU0tLVXJyZktJVXV2SkUxUWFL?=
 =?utf-8?Q?klVIke/Zgqp9vipAIkh+TuMK0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b6f13c0-afdf-4547-82f6-08db24960cf6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 14:11:48.5639
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pN3G53NZ8Xs135HXbZoLiWmmtQpBU2TxbWtUAfd7NDA5yYzbMmEpfzj7FPb+L2gmp/+g4bVvJ4BJmuVsz2mKEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8430

On 14.03.2023 14:20, Jason Andryuk wrote:
> On Tue, Mar 14, 2023 at 2:42 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 13.03.2023 22:11, dpsmith.dev wrote:
>>> On 3/13/23 15:14, Jason Andryuk wrote:
>>>> On Mon, Mar 13, 2023 at 2:49 PM Daniel P. Smith
>>>> <dpsmith@apertussolutions.com> wrote:
>>>>> On 3/13/23 13:50, Jason Andryuk wrote:
>>>>>>                usage(argCnt, argv);
>>>>>>
>>>>>> +     if (argCnt == 4) {
>>>>>> +         pirq_label = argv[3];
>>>>>> +     } else {
>>>>>> +         pirq_label = argv[2];
>>>>>> +     }
>>>>>> +
>>>>>
>>>>> style nit: space inside parens and curly brackets could be dropped or
>>>>> should be moved to their own lines.
>>>>
>>>> This file doesn't follow Xen style.  I think dropping the curly braces
>>>> is fine, but the lack of spaces 'if (argCnt == 4)' should stay for
>>>> consistency.  Does that sound okay?
>>>>
>>>
>>> Hmm, I thought there was interest in getting everything in tree consistent, maybe I am mistaken. I am not hard pressed to enforce the style. Unless someone else objects, I am good with your proposal.
>>
>> The rule of thumb is that if a file is (largely) consistent in itself,
>> then that style is preferred over introducing a mix. (I haven't checked
>> this specific file, though.) The same may or may not apply to individual
>> functions within a file; there it's more likely to be considered one way
>> or the other on a case by case basis.
> 
> Thanks, Jan.  The file has 2 functions.  There are two instances of
> spaces within parens, and all the other cases, the majority, omit
> spaces.  The next version will drop curly braces and continue omitting
> spaces.
> 
> This patch should have had v2 in the subject (it has a v2 change log).
> The next one will have v3.

Will it? I've committed it earlier today ...

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:15:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:15:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509631.785752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5RB-0004pq-Sv; Tue, 14 Mar 2023 14:15:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509631.785752; Tue, 14 Mar 2023 14:15:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5RB-0004pj-Pc; Tue, 14 Mar 2023 14:15:37 +0000
Received: by outflank-mailman (input) for mailman id 509631;
 Tue, 14 Mar 2023 14:15:36 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vQyL=7G=citrix.com=prvs=430d4338b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pc5RA-0004aQ-DS
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:15:36 +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 ae977c0e-c272-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 15:15: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: ae977c0e-c272-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678803334;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=BWwsWJ8qdUn128KiKSEtuatyXR45lgwE9a8Hi34RC6w=;
  b=TZRSt4BGGzM/PLl3lA05LLUavONHK9eSQDiHOP+p2jkMCQau0mFkZ7fk
   fAKMfjlFbCe71xQWamA4jgCdnVzIMOOwm/v2avi3w/QCtm0BQlxPhP75l
   h6rM5dCUd+GswB4Sf6ihjJqjzZGR964J29OGtzCxzi4A9HTYJyIncPnXI
   s=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 101198534
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:l5iQD6m1M3luAA2CFtepqj7o5gxuJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xJOWmuCPK7YZDD0etEgYdzko0sPsMWEn9ZnHQA++301ECMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QOGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 eUSDBkRSUqBvtKV66/rFa5tnMIbPca+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglHWdTFCpU3Tjq0w+2XJlyR60aT3McqTcduPLSlQth/A/
 zuXrzmiXnn2MvSN+ACq9iL2u9XFsi7FcrJMBeyG0/t11Qj7Kms7V0RNCArTTeOCol6zXZdTJ
 lIZ/gIqrLMu7wq7Q9/lRRq6rXWY+BkGVLJ4FuQg7QiXx6n84gCHB3MFRDpMdNwnssAtQTUgk
 FSOmrvBJxZirbmUQnK17aqPoHW5Pi19BXQZeSYOQA8B4t/iiII+lBTCSpBkCqHdpsLxMSH9x
 XaNtidWr7cOic8G0Y2r8FaBhCijzrDpQwgv90PoV2SqxgpjYciuYInA1LTAxa8edsDDFADH5
 SVa3ZHEt4jiEK1higSUSsEkAJbz5c+1ExbB0QEoHoMnzyWirivLkZ9r3BlyI0JgM8AhcDDvY
 VPOtQ452KK/LEdGfocsPdvvVp1CIbzIUI28C6uKNoYmjo1ZLlfvwc14WaKHM4kBemAImLp3B
 5qUeN3E4Z0yWfU+l2reqwvwPNYWKsECKYH7H82TI/ePi+D2iJuppVAtYTOzghgRtv/sneks2
 4832zG24xteSvbiRSLc7JQeK1sHRVBiW8+m9JcNKbTZf1M/cI3ENxM26eJJRmCYt/4NyregE
 o+VAye0N2YTdVWYcF7XOxiPmZvkXIplrGJTABHAyW2AgiB5Ca72tfd3SnfCVeV/nACV5aIuH
 qZtlgTpKqgndwkrDBxGPcGs9dw/Kkn77e9MVgL8CAUCk1dbb1Sh0rfZksHHq0Hi0gLfWRMCn
 oCd
IronPort-HdrOrdr: A9a23:xv9uP6k1d6l+f0wFKrRA2TA+aM7pDfIg3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE7wr5OUtQ/exoV5PhfZqxz/JICOoqTNKftWvdyQiVxehZhOOIqVDd8kXFh4hgPM
 xbEpSWZueeMbEDt7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="101198534"
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Bernhard Kaindl
	<bernhard.kaindl@citrix.com>, George Dunlap <George.Dunlap@eu.citrix.com>,
	Jan Beulich <JBeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, George Dunlap <george.dunlap@eu.citrix.com>,
	Henry Wang <Henry.Wang@arm.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>
Subject: [PATCH 0/7] tools: More Python 3 fixes (part 1 of N)
Date: Tue, 14 Mar 2023 14:15:13 +0000
Message-ID: <20230314141520.3652451-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

Despite previous statements to the contrary, Xen still does not support Python 3.

Various notes are on https://gitlab.com/xen-project/xen/-/issues/114

The following scripts are installed, and given a python3 shebang, but are not
Py3 compatible:

  xencov_split
  xentrace_format
  xencons
  xenpvnetboot
  verify-stream-v2
  convert-legacy-stream

Most of these want converting, and should be reasonably easy, but I don't have
time right now.

This series deals with xencons (which is a not-invented-here telnet), various
bits of cleanup, and various fixes for shebangs.

The problematic remaining script is xenpvnetboot which, while looking
reasonably useful and also not PV specific, depends on a 3rd party module but
provides no dependency information at all.

Relatedly, and a critical/blocker for Xen 4.18.  Python 3.12, which will be
released ahead of the Xen 4.18 release, is deleteing distutils (recommending
setuputils as the replacement), so someone is going to have to rework all our
setup.py's to be compatible.

Andrew Cooper (7):
  tools/python: Drop pylintrc
  tools/misc: Drop xencons
  tools: Delete trailing whitespace in python scripts
  tools/pygrub: Factor out common setup.py parts
  tools: Use -s for python shebangs
  tools/python: Improve unit test handling
  tools/python: Drop shebangs from library files

 tools/Rules.mk                       |   2 +-
 tools/misc/Makefile                  |   2 -
 tools/misc/xencons                   |  92 --------
 tools/misc/xencov_split              |   1 -
 tools/pygrub/Makefile                |  11 +-
 tools/pygrub/src/ExtLinuxConf.py     |   2 +-
 tools/pygrub/src/GrubConf.py         |  30 +--
 tools/pygrub/src/fsimage/fsimage.c   |   8 +-
 tools/pygrub/src/pygrub              |  44 ++--
 tools/python/Makefile                |   4 +-
 tools/python/pylintrc                | 307 ---------------------------
 tools/python/xen/lowlevel/xc/xc.c    | 200 ++++++++---------
 tools/python/xen/lowlevel/xs/xs.c    |   4 +-
 tools/python/xen/migration/legacy.py |   1 -
 tools/python/xen/migration/libxc.py  |   1 -
 tools/python/xen/migration/libxl.py  |   1 -
 tools/python/xen/migration/public.py |   1 -
 tools/python/xen/migration/tests.py  |  15 +-
 tools/python/xen/migration/verify.py |   1 -
 tools/python/xen/migration/xl.py     |   1 -
 tools/python/xen/util.py             |   1 -
 tools/xenmon/xenmon.py               |  44 ++--
 22 files changed, 177 insertions(+), 596 deletions(-)
 delete mode 100755 tools/misc/xencons
 delete mode 100644 tools/python/pylintrc

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:15:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:15:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509633.785772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5RD-0005KZ-Ha; Tue, 14 Mar 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 509633.785772; Tue, 14 Mar 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 1pc5RD-0005KM-C5; Tue, 14 Mar 2023 14:15:39 +0000
Received: by outflank-mailman (input) for mailman id 509633;
 Tue, 14 Mar 2023 14:15:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vQyL=7G=citrix.com=prvs=430d4338b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pc5RB-0004aK-Ql
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:15:37 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af971267-c272-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:15: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: af971267-c272-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678803336;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=A8tFjeqpaYYMHH549QY+2fBsFMwY3Y1/gunP80ksQ5U=;
  b=iamMQcwBJqX52bMALeR8BESFaQpQGlvoxdlvQduGRXVd4u69UOj2Euys
   V8lJGjLpYSJS7TAllH8vGxPXeFyAfCRjjikapV7fuvNLViA1N36/s33jU
   WrgbJchGQmcbEZS7a4eDddg3u0BMN/kmbfQC2/leKh800/Vk5sWwnGxwg
   U=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100695474
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:Y9OkbK5SZrjyYQxCuhtZawxRtCbHchMFZxGqfqrLsTDasY5as4F+v
 mcfXT2HM6ncYWL0c4hzbtuz9EgAvJeEyNZiTVBs/ilnHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS4AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m5
 a0IJRQIbEi6l7i9w7e3RMV2pJw5I5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrlD5fydVtxS+oq0v7nKI5AdwzKLsIJzefdniqcB9xx7A+
 DObozulav0cHN6Y6jOb00mUvPaVx3ukY6gyGr+g98c/1TV/wURMUUZLBDNXu8KRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JPF8Uq5QfLzbDbiy6cD3IBRyRMa/QnstE3Xj0g0
 lKVn9LvCidrubfTQnWYnop4thvrZ3JTdzVbI3ZZE01cuYKLTJwPYgznXodzHYqwjIXMCWv7w
 DWGogQkpe0Jgptev0mkxmzvjzWpr5nPawc64ATLQ26ohj9EiJ6Zi5+AsgaCs6sZRGqNZhzY5
 SVfxZDChAwbJcvV/BFhVtnhC11ACxytFDTHyWBiEJA6n9hG0y7yJNsAiN2SyaoADyrlRdMLS
 BWO0e+yzMUJVJdPUUOQS9PZNijS5fK8fekJr9iNBja0XrB/dRWc4AZlblOK0mbmnSAEyP9ga
 cjAK5n2VytDUMyLKQZaoM9MuYLHOwhknT+DLXwF503PPUWiiI69Fu5ebQrmghER56KYugTFm
 +ti2z+x40wHCoXWO3CHmbP/2HhWdRDX87iq8Z0IHgNCSyI6cFwc5wj5muN5KtU1wvoIxo8lP
 BiVAydl9bY2vlWfQS3iV5ypQOmHsUpXxZ7jARERAA==
IronPort-HdrOrdr: A9a23:yLvaFKHSa0ZdgASKpLqENMeALOsnbusQ8zAXPiFKOGdom6mj/P
 xG88506faZslsssTIb6LS90dC7IE80rKQU3WBzB8bBYOCFghrREGgK1+KLqQEIfReOk9K1vp
 0OT0ERMrHN5BdB/KHHCaSDYrAd6cjC2pqBwc3Zy25pTQlsYa0l1QFkEQyWe3cGJzWuQaBJba
 ah2g==
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100695474"
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Bernhard Kaindl
	<bernhard.kaindl@citrix.com>
Subject: [PATCH 5/7] tools: Use -s for python shebangs
Date: Tue, 14 Mar 2023 14:15:18 +0000
Message-ID: <20230314141520.3652451-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This is mandated by the Fedora packaging guidelines because it is a security
vulnerability otherwise in suid scripts.  It's a very good idea generally,
because it prevents the users local python environment interfering from system
packaged scripts.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
CC: Bernhard Kaindl <bernhard.kaindl@citrix.com>
---
 tools/Rules.mk        | 2 +-
 tools/pygrub/Makefile | 2 +-
 tools/python/Makefile | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/Rules.mk b/tools/Rules.mk
index 6e135387bd7e..18cf83f5be83 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -179,7 +179,7 @@ CFLAGS += $(CFLAGS-y)
 CFLAGS += $(EXTRA_CFLAGS_XEN_TOOLS)
 
 INSTALL_PYTHON_PROG = \
-	$(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH)" $(INSTALL_PROG)
+	$(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH) -s" $(INSTALL_PROG)
 
 %.opic: %.c
 	$(CC) $(CPPFLAGS) -DPIC $(CFLAGS) $(CFLAGS_$*.opic) -fPIC -c -o $@ $< $(APPEND_CFLAGS)
diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
index 29ad0513212f..04b3995cc0f6 100644
--- a/tools/pygrub/Makefile
+++ b/tools/pygrub/Makefile
@@ -7,7 +7,7 @@ PY_LDFLAGS = $(SHLIB_LDFLAGS) $(APPEND_LDFLAGS)
 INSTALL_LOG = build/installed_files.txt
 
 setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLAGS)" \
-           $(PYTHON) setup.py
+           $(PYTHON) setup.py --executable="$(PYTHON_PATH) -s"
 
 .PHONY: all
 all: build
diff --git a/tools/python/Makefile b/tools/python/Makefile
index cc764236478a..511e7deae409 100644
--- a/tools/python/Makefile
+++ b/tools/python/Makefile
@@ -12,7 +12,7 @@ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLA
            SHLIB_libxenctrl="$(SHLIB_libxenctrl)" \
            SHLIB_libxenguest="$(SHLIB_libxenguest)" \
            SHLIB_libxenstore="$(SHLIB_libxenstore)" \
-           $(PYTHON) setup.py
+           $(PYTHON) setup.py --executable="$(PYTHON_PATH) -s"
 
 .PHONY: build
 build:
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:15:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:15:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509630.785741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5RA-0004ac-Ga; Tue, 14 Mar 2023 14:15:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509630.785741; Tue, 14 Mar 2023 14:15:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5RA-0004aR-DW; Tue, 14 Mar 2023 14:15:36 +0000
Received: by outflank-mailman (input) for mailman id 509630;
 Tue, 14 Mar 2023 14:15:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vQyL=7G=citrix.com=prvs=430d4338b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pc5R9-0004aK-2L
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:15:35 +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 ab5188f5-c272-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:15: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: ab5188f5-c272-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678803330;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Fko8ktTbERl+jnx1rVxdYJjeLy3W6/ckaPihOkE2uPs=;
  b=dkt14CsydKusQBZOghsOhLNQLGfCzN6KZfdYY5zRoKGljaxH9EB3q7VM
   Ccydosv5wmR97MJSm0sF8wIINcykLl7XXKcYqjAisYxDviqy9basC9py0
   /Y+fChcHVaxPUEfqB1PX+TjLzSYIbT+zGansz6dLlzJGmhnLug18IyFTo
   M=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100695472
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:6PJpTqiy6lDVZUk7R4aVGYjwX161fhAKZh0ujC45NGQN5FlHY01je
 htvXD2EbPmKZmLzct92Oomy/BkOu8DQm4VhQQQ4rSsxRnsb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waCzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQIeSAAShWB39ummrm4T+Viqt4BdNPkadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/
 jqYrjmlXUty2Nq3yxuG0ij9is70zSrefYBNGrCmxOF4qQjGroAUIEJPDgbqyRWjsWauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O/I+wBGAzOzT+QnxLm0NVDtIctElnM4wWz0x1
 1WNks/pBDpgq7mcQzSW8bL8kN+pEXFLdylYP3ZCFFZbpYC5++nfky4jUP5zQb64qtj3QQjgm
 TuJqSQwq68x1dQEgvDTEU/8vxqgoZ3ATwgQ7wrRX3644g4RWLNJd7BE+nCAs68ecd/xok2p+
 SFdxpPAtLxm4YSlznTlfQkbIF2+Cx9p2hX4iEUnIZQu/i/FF5WLLdEJu2EWyKuE3685ld7Vj
 K374145CHx7ZiHCgUpLj2WZWqwXIVDIT4iNaxwtRoMmjmJNXAGG5jpyQkWbwnrglkMh+YlmZ
 8jLLp32UixAVP0+pNZTewv6+e5D+8zD7TmLGcCTI+qPiNJym0J5uZ9aaQDTP4jVHYuPoRnP8
 sY3CvZmPy53CbWkCgGOqN57ELz/BSRjbXwAg5ANJ7Hrz8sPMD1JNsI9Npt6K9Q0xvQIyLqYl
 px/M2cBoGfCabT8AV3iQhhehHnHB/6TcVpT0fQQAGuV
IronPort-HdrOrdr: A9a23:JiJSDa/N4mpD1f1lhIRuk+AEI+orL9Y04lQ7vn2ZKCYlCfBw8v
 rEoB1173HJYVoqNU3I2urwXJVoOEm8yXct2+ks1NSZLWvbUQmTXflfBOLZqlWLJ8SZzJ856U
 4KScdD4bPLYWSSwvyKhzVQvuxQpuWv4eSDv8+b5XFoVARrY6Zr40NCDBqBGEEefngkOXN8Lu
 vk2vZ6
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100695472"
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Bernhard Kaindl
	<bernhard.kaindl@citrix.com>
Subject: [PATCH 1/7] tools/python: Drop pylintrc
Date: Tue, 14 Mar 2023 14:15:14 +0000
Message-ID: <20230314141520.3652451-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This was added in 2004 in c/s b7d4a69f0ccb5 and has never been referenced
since.  Given the the commit message of simply "Added .", it was quite
possibly a mistake in the first place.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
CC: Bernhard Kaindl <bernhard.kaindl@citrix.com>
---
 tools/python/pylintrc | 307 ------------------------------------------
 1 file changed, 307 deletions(-)
 delete mode 100644 tools/python/pylintrc

diff --git a/tools/python/pylintrc b/tools/python/pylintrc
deleted file mode 100644
index efc4b0b3b2dd..000000000000
--- a/tools/python/pylintrc
+++ /dev/null
@@ -1,307 +0,0 @@
-# lint Python modules using external checkers.                            
-#                                                                                
-#     This is the main checker controling the other ones and the reports         
-#     generation. It is itself both a raw checker and an astng checker in order  
-#     to:                                                                        
-#     * handle message activation / deactivation at the module level             
-#     * handle some basic but necessary stats'data (number of classes, methods...)
-#                                                                                 
-# This checker also defines the following reports:                                    
-#   * R0001: Total errors / warnings                                              
-#   * R0002: % errors / warnings by module                                        
-#   * R0003: Messages                                                             
-#   * R0004: Global evaluation                                                    
-# 
-[MASTER]
-# Add <file or directory> to the black list. It should be a base name, not a
-# path. You may set this option multiple times.
-ignore=CVS
-
-# Pickle collected data for later comparisons.
-persistent=yes
-
-# Set the cache size for astng objects.
-cache-size=500
-
-
-
-[REPORTS]
-# Tells wether to display a full report or only the messages
-reports=yes
-
-# Use HTML as output format instead of text
-html=no
-
-# Use a parseable text output format, so your favorite text editor will be able
-# to jump to the line corresponding to a message.
-parseable=no
-
-# Colorizes text output using ansi escape codes
-color=no
-
-# Put messages in a separate file for each module / package specified on the
-# command line instead of printing them on stdout. Reports (if any) will be
-# written in a file name "pylint_global.[txt|html]".
-files-output=no
-
-# Python expression which should return a note less than 10 (10 is the highest
-# note).You have access to the variables errors warning, statement which
-# respectivly contain the number of errors / warnings messages and the total
-# number of statements analyzed. This is used by the global evaluation report
-# (R0004).
-evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
-
-# Add a comment according to your evaluation note. This is used by the global
-# evaluation report (R0004).
-comment=no
-
-# Include message's id in output
-include-ids=yes
-
-
-
-# checks for                                                              
-#     * unused variables / imports                                               
-#     * undefined variables                                                      
-#     * redefinition of variable from builtins or from an outer scope            
-#     * use of variable before assigment                                         
-#     
-[VARIABLES]
-# Enable / disable this checker
-enable-variables=yes
-
-# Tells wether we should check for unused import in __init__ files.
-init-import=no
-
-# List of variable names used for dummy variables (i.e. not used).
-dummy-variables=_,_1,_2,_3,_4,_5,dummy
-
-
-
-# checks for :                                                            
-#     * doc strings                                                              
-#     * modules / classes / functions / methods / arguments / variables name     
-#     * number of arguments, local variables, branchs, returns and statements in
-# functions, methods                                                       
-#     * required module attributes                                             
-#     * dangerous default values as arguments                                    
-#     * redefinition of function / method / class                                
-#     * uses of the global statement                                             
-#                                                                                 
-# This checker also defines the following reports:                                    
-#   * R0101: Statistics by type                                                   
-# 
-[BASIC]
-# Enable / disable this checker
-enable-basic=yes
-
-# Required attributes for module, separated by a comma
-required-attributes=
-
-# Regular expression which should only match functions or classes name which do
-# not require a docstring
-no-docstring-rgx=.*
-
-# Minimal length for module / class / function / method / argument / variable
-# names
-min-name-length=1
-
-# Regular expression which should only match correct module names
-module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
-
-# Regular expression which should only match correct class names
-class-rgx=[A-Z_][a-zA-Z0-9]+$
-
-# Regular expression which should only match correct function names
-function-rgx=[a-z_][A-Za-z0-9_]*$
-
-# Regular expression which should only match correct method names
-method-rgx=[a-z_][A-Za-z0-9_]*$
-
-# Regular expression which should only match correct argument names
-argument-rgx=[a-z_][A-Za-z0-9_]*$
-
-# Regular expression which should only match correct variable names
-variable-rgx=[a-z_][A-Za-z0-9_]*$
-
-# Good variable names which should always be accepted, separated by a comma
-good-names=i,j,k,ex,Run,_
-
-# Bad variable names which should always be refused, separated by a comma
-bad-names=foo,bar,baz,toto,tutu,tata
-
-# List of builtins function names that should not be used, separated by a comma
-bad-functions=apply,input
-
-
-
-# checks for sign of poor/misdesign:                                      
-#     * number of methods, attributes, local variables...                        
-#     * size, complexity of functions, methods                                   
-#     
-[DESIGN]
-# Enable / disable this checker
-enable-design=yes
-
-# Maximum number of arguments for function / method
-max-args=15
-
-# Maximum number of locals for function / method body
-max-locals=15
-
-# Maximum number of return / yield for function / method body
-max-returns=6
-
-# Maximum number of branch for function / method body
-max-branchs=12
-
-# Maximum number of statements in function / method body
-max-statements=50
-
-# Maximum number of parents for a class (see R0901).
-max-parents=7
-
-# Maximum number of attributes for a class (see R0902).
-max-attributes=7
-
-# Minimum number of public methods for a class (see R0903).
-min-public-methods=2
-
-# Maximum number of public methods for a class (see R0904).
-max-public-methods=20
-
-
-
-# checks for :                                                            
-#     * methods without self as first argument                                   
-#     * overriden methods signature                                              
-#     * access only to existant members via self                                 
-#     * attributes not defined in the __init__ method                            
-#     * supported interfaces implementation                                      
-#     * unreachable code                                                         
-#     
-[CLASSES]
-# Enable / disable this checker
-enable-classes=yes
-
-# List of interface methods to ignore, separated by a comma. This is used for
-# instance to not check methods defines in Zope's Interface base class.
-ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
-
-# Tells wether missing members accessed in mixin class should be ignored. A
-# mixin class is detected if its name ends with "mixin" (case insensitive).
-ignore-mixin-members=yes
-
-
-
-# checks for                                                              
-#     * external modules dependencies                                            
-#     * relative / wildcard imports                                                         
-#     * cyclic imports                                                           
-#     * uses of deprecated modules
-#                                                                                 
-# This checker also defines the following reports:                                    
-#   * R0401: External dependencies                                                
-#   * R0402: Modules dependencies graph                                           
-# 
-[IMPORTS]
-# Enable / disable this checker
-enable-imports=no
-
-# Deprecated modules which should not be used, separated by a comma
-deprecated-modules=regsub,string,TERMIOS,Bastion,rexec
-
-# Create a graph of every (i.e. internal and external) dependencies in the given
-# file (report R0402 must not be disabled)
-import-graph=
-
-# Create a graph of external dependencies in the given file (report R0402 must
-# not be disabled)
-ext-import-graph=
-
-# Create a graph of internal dependencies in the given file (report R0402 must
-# not be disabled)
-int-import-graph=
-
-
-
-# checks for                                                              
-#     * excepts without exception filter                                         
-#     * string exceptions                                                        
-#     
-[EXCEPTIONS]
-# Enable / disable this checker
-enable-exceptions=yes
-
-
-
-# checks for :                                                            
-#     * unauthorized constructions                                               
-#     * strict indentation                                                       
-#     * line length                                                              
-#     * use of <> instead of !=
-#     
-[FORMAT]
-# Enable / disable this checker
-enable-format=no
-
-# Maximum number of characters on a single line.
-max-line-length=80
-
-# Maximum number of lines in a module
-max-module-lines=1000
-
-# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1 tab).
-indent-string='    '
-
-
-
-# does not check anything but gives some raw metrics :                    
-#     * total number of lines                                                    
-#     * total number of code lines                                               
-#     * total number of docstring lines                                          
-#     * total number of comments lines                                           
-#     * total number of empty lines                                              
-#                                                                                 
-# This checker also defines the following reports:                                    
-#   * R0701: Raw metrics                                                          
-# 
-[METRICS]
-# Enable / disable this checker
-enable-metrics=yes
-
-
-
-# checks for:                                                             
-#     * warning notes in the code like FIXME, XXX                                
-#     * PEP 263: source code with non ascii character but no encoding declaration
-#     
-[MISCELLANEOUS]
-# Enable / disable this checker
-enable-miscellaneous=yes
-
-# List of note tags to take in consideration, separated by a comma. Default to
-# FIXME, XXX, TODO
-notes=FIXME,XXX,TODO
-
-
-
-# checks for similarities and duplicated code. This computation may be
-#     memory / CPU intensive, so you should disable it if you experiments some
-#     problems.
-#                                                                                 
-# This checker also defines the following reports:                                    
-#   * R0801: Duplication                                                          
-# 
-[SIMILARITIES]
-# Enable / disable this checker
-enable-similarities=yes
-
-# Minimum lines number of a similarity.
-min-similarity-lines=4
-
-# Ignore comments when computing similarities.
-ignore-comments=yes
-
-
-
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:15:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:15:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509632.785756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5RC-0004sr-6J; Tue, 14 Mar 2023 14:15:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509632.785756; Tue, 14 Mar 2023 14: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 1pc5RC-0004s6-1t; Tue, 14 Mar 2023 14:15:38 +0000
Received: by outflank-mailman (input) for mailman id 509632;
 Tue, 14 Mar 2023 14:15: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=vQyL=7G=citrix.com=prvs=430d4338b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pc5RA-0004aK-MC
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:15:36 +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 af7f90c4-c272-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:15: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: af7f90c4-c272-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678803334;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=C0d3uxwMv1ov6KcfS5c7XJ6RUpKJXLIQRNm/aiuPRhQ=;
  b=GLGGJStEgr947sAazjsV46aQxlzy+EGfbKfCQz8KDvLeL4ptXKqK7unp
   e4RjmNg+a6DMuB3an7O22NDM3ntyA0mUo15zLGPAZ4iI/qGGrYDLyYv8E
   rR7GNaAMYe55H+QfIBeAt4fSXiKIaDIaoSa+spm8zELizwI9cYhtLzKdo
   c=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100695473
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:+whBGqP1iDsp+LzvrR27l8FynXyQoLVcMsEvi/4bfWQNrUpz1jFWy
 WceD2+DMq3bMWLxc9sna423pExUvJbQz95gSQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5wBmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0vYmEWxq8
 P5AESBXZROGi+ya2pDjUOY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w2Nk+ojx5nYz/7DLoXmuuyi2a5WDpfsF+P/oI84nTJzRw327/oWDbQUoXSHZsEwxrH/
 Qoq+UypIT4GL/i57Qab0WCmo97SnyTLdKs7QejQGvlC3wTImz175ActfUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxasoRo0S9dWVeog52mlz6PO5g+DC2ssTzhfaccnvss7WTwr0
 FCSm9rjQzdotdWopWm1r+nO62noYG5McDFEPHVfJecY3zX9iJFinh/rS9Q7Kb7vhd7wFT/c2
 RLStidr0t3/kvU3/6m8+FnGhRelqZ7IUhM5623rY4610u9qTNX7PtL1sDA3+d4Fdd/EFQfZ4
 BDojuDEtIgz4YexeDthqQnnNJWg/L67PTLVmjaD9LFxpm32qxZPkW29iQySxXuF0O5eJFcFg
 2eJ42u9AaO/21P7BZKbm6rrV6wXIVHITLwJrMz8YNtUeYRWfwSa5ixobkP49zmzzxhzyvtgY
 83GKJ/E4ZMm5UNPnVKLqxo1i+d3lkjSO0uKLXwE8/hX+eXHPyPEIVv0GFCPcvo4/Mu5nekhy
 P4Gb5Hi40wGAIXDjtz/rdZ7waYicSJqWvgbaqV/Koa+H+aRMDpxU66Ike5/JtwNcmY8vr6gw
 0xRk3RwkDLX7UAr4y3QApy/QNsDhapCkE8=
IronPort-HdrOrdr: A9a23:2K8jCqwLB7s/RBTtDKsUKrPw8L1zdoMgy1knxilNoH1uA7elfq
 WV98jzuiWbtN98YhwdcJO7Sc29qArnlKKduLNwAV7AZniFhILLFvAb0WKK+VSJcREWkNQtsJ
 uIGJIQNDSfNzRHZInBkW6F+nsbsb+62bHtr933i11qSRhua6lm5Qs8MACGCUd7LTM2ZqbRUK
 Dsn/Z6mw==
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100695473"
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Bernhard Kaindl
	<bernhard.kaindl@citrix.com>
Subject: [PATCH 2/7] tools/misc: Drop xencons
Date: Tue, 14 Mar 2023 14:15:15 +0000
Message-ID: <20230314141520.3652451-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This is a python script which has it's shebang modified by be python3, but
was never converted to be python3 compatible.

The most recent reference I can find to this script (which isn't incidental
adjustments in the makefile) is from the Xen book, fileish 561e30b80402 which
says

  %% <snip>  Alternatively, if the
  %% Xen machine is connected to a serial-port server then we supply a
  %% dumb TCP terminal client, {\tt xencons}.

So this a not-invented-here version of telnet.  Delete it.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
CC: Bernhard Kaindl <bernhard.kaindl@citrix.com>
---
 tools/misc/Makefile |  2 -
 tools/misc/xencons  | 92 ---------------------------------------------
 2 files changed, 94 deletions(-)
 delete mode 100755 tools/misc/xencons

diff --git a/tools/misc/Makefile b/tools/misc/Makefile
index 1c6e1d6a0471..233a7948c050 100644
--- a/tools/misc/Makefile
+++ b/tools/misc/Makefile
@@ -12,7 +12,6 @@ CFLAGS += $(CFLAGS_libxenstore)
 # Everything to be installed in regular bin/
 INSTALL_BIN-$(CONFIG_X86)      += xen-cpuid
 INSTALL_BIN-$(CONFIG_X86)      += xen-detect
-INSTALL_BIN                    += xencons
 INSTALL_BIN                    += xencov_split
 INSTALL_BIN += $(INSTALL_BIN-y)
 
@@ -44,7 +43,6 @@ INSTALL_PRIVBIN                += xenpvnetboot
 TARGETS_ALL := $(INSTALL_BIN) $(INSTALL_SBIN) $(INSTALL_PRIVBIN)
 
 # Everything which only needs copying to install
-TARGETS_COPY += xencons
 TARGETS_COPY += xencov_split
 TARGETS_COPY += xenpvnetboot
 
diff --git a/tools/misc/xencons b/tools/misc/xencons
deleted file mode 100755
index 8bd3178eab4e..000000000000
--- a/tools/misc/xencons
+++ /dev/null
@@ -1,92 +0,0 @@
-#!/usr/bin/env python
-
-##############################################
-# Console client for Xen guest OSes
-# Copyright (c) 2004, K A Fraser
-##############################################
-
-import errno, os, signal, socket, struct, sys
-
-from termios import *
-# Indexes into termios.tcgetattr() list.
-IFLAG  = 0
-OFLAG  = 1
-CFLAG  = 2
-LFLAG  = 3
-ISPEED = 4
-OSPEED = 5
-CC     = 6
-
-def __child_death(signum, frame):
-    global stop
-    stop = True
-
-def __recv_from_sock(sock):
-    global stop
-    stop = False
-    while not stop:
-        try:
-            data = sock.recv(1024)
-        except socket.error, error:
-            if error[0] != errno.EINTR:
-                raise
-        else:
-            try:
-                os.write(1, data)
-            except os.error, error:
-                if error[0] != errno.EINTR:
-                    raise
-    os.wait()
-
-def __send_to_sock(sock):
-    while 1:
-        try:
-            data = os.read(0,1024)
-        except os.error, error:
-            if error[0] != errno.EINTR:
-                raise
-        else:
-            if ord(data[0]) == ord(']')-64:
-                break
-            try:
-                sock.send(data)
-            except socket.error, error:
-                if error[0] == errno.EPIPE:
-                    sys.exit(0)
-                if error[0] != errno.EINTR:
-                    raise
-    sys.exit(0)
-
-def connect(host,port):
-    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
-    sock.connect((host,port))
-
-    oattrs = tcgetattr(0)
-    nattrs = tcgetattr(0)
-    nattrs[IFLAG] = nattrs[IFLAG] & ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON)
-    nattrs[OFLAG] = nattrs[OFLAG] & ~(OPOST)
-    nattrs[CFLAG] = nattrs[CFLAG] & ~(CSIZE | PARENB)
-    nattrs[CFLAG] = nattrs[CFLAG] | CS8
-    nattrs[LFLAG] = nattrs[LFLAG] & ~(ECHO | ICANON | IEXTEN | ISIG)
-    nattrs[CC][VMIN] = 1
-    nattrs[CC][VTIME] = 0
-
-    if os.fork():
-        signal.signal(signal.SIGCHLD, __child_death)
-        print "************ REMOTE CONSOLE: CTRL-] TO QUIT ********"
-        tcsetattr(0, TCSAFLUSH, nattrs)
-        try:
-            __recv_from_sock(sock)
-        finally:
-            tcsetattr(0, TCSAFLUSH, oattrs)
-            print
-            print "************ REMOTE CONSOLE EXITED *****************"
-    else:
-        signal.signal(signal.SIGPIPE, signal.SIG_IGN)
-        __send_to_sock(sock)
-
-if __name__ == '__main__':
-    if len(sys.argv) != 3:
-        print sys.argv[0] + " <host> <port>"
-        sys.exit(1)
-    connect(str(sys.argv[1]),int(sys.argv[2]))
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:16:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:16:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509634.785782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5RU-00068O-PT; Tue, 14 Mar 2023 14:15:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509634.785782; Tue, 14 Mar 2023 14:15: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 1pc5RU-00068F-Mi; Tue, 14 Mar 2023 14:15:56 +0000
Received: by outflank-mailman (input) for mailman id 509634;
 Tue, 14 Mar 2023 14:15: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=vQyL=7G=citrix.com=prvs=430d4338b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pc5RT-0004aK-Dv
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:15:55 +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 b9d06bc2-c272-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:15: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: b9d06bc2-c272-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678803353;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=D6P/0Ux22KKUfuQOSNSwL3QP/V9gYzj/MuXrDUsbGVw=;
  b=gvDKIhkkxXMXRYel7qDTFTIdzB2+qvovqEysmOdLlQp/lxQcOT44AlZY
   5v2DO1BaI7qz30FSsSaKIv7CpErr3DTlqrXWwGeB96eLllf7J/ienqHeg
   omkYEwUGeW3G5r9XAW6FzBy6gG4j5YddQ2oasYYN8i7SdJweyBSuqyAzI
   s=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100156184
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:PEw446PozVcs5IzvrR28l8FynXyQoLVcMsEvi/4bfWQNrUoi0jMHy
 WcWD22OOveIMTajeNx1PYi/8EpSuMPQxtBqGwto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5wBmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0r1eQnBor
 cMpExJXVhClus+Qx4K8S9A506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w2Nk+ojx5nYz/7DLoXmuuyi2a5WDpfsF+P/oI84nTJzRw327/oWDbQUoXSHZwIwB/I+
 goq+UzoPhAYbs2iwACD1S6dibbs2nr7XLodQejQGvlC3wTImz175ActfUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxasoRo0S9dWVeog52mlz6PO5g+DC2ssTzhfaccnvss7WTwr0
 FCSm9rjQzdotdWopWm1r+nO62noYG5McDFEPHVfJecY3zX9iNoazQPpFulSK4zvtt3TJBzWx
 ACNrRFr0t3/kvU3/6m8+FnGhRelqZ7IUhM5623rY4610u9qTNX7PtL1sDA3+d4Fdd/EFQfZ4
 BDojuDEtIgz4YexeDthqQnnNJWg/L67PTLVmjaD9LFxpm32qxZPkW29iQySxXuF0O5eJFcFg
 2eJ42u9AaO/21P7BZKbm6rrV6wXIVHITLwJrMz8YNtUeYRWfwSa5ixobkP49zmzzxhzyvtgY
 83GKJ/E4ZMm5UNPnVKLqxo1i+d3lkjSO0uKLXwE8/hX+eXHPyPEIVv0GFCPcvo4/Mu5nekhy
 P4Gb5Hi40wGAIXDjtz/rdZ7waYicSJqWvgbaqV/Koa+H+aRMDpxU66Ike5/JtwNcmY8vr6gw
 0xRk3RwkDLX7UAr4y3QMxiPtJuHsU5DkE8G
IronPort-HdrOrdr: A9a23:rBQX065y1YW9Mg6raAPXwPDXdLJyesId70hD6qhwISY6TiX+rb
 HWoB17726TtN9/YhEdcLy7VJVoBEmskKKdgrNhWotKPjOW21dARbsKheCJrgEIWReOktK1vZ
 0QC5SWY+eQMbEVt6nHCXGDYrQd/OU=
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100156184"
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Bernhard Kaindl
	<bernhard.kaindl@citrix.com>
Subject: [PATCH 4/7] tools/pygrub: Factor out common setup.py parts
Date: Tue, 14 Mar 2023 14:15:17 +0000
Message-ID: <20230314141520.3652451-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

... to mirror the tools/python side in c/s 2b8314a3c354.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
CC: Bernhard Kaindl <bernhard.kaindl@citrix.com>
---
 tools/pygrub/Makefile | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
index 37b214621492..29ad0513212f 100644
--- a/tools/pygrub/Makefile
+++ b/tools/pygrub/Makefile
@@ -6,19 +6,20 @@ PY_CFLAGS = $(CFLAGS) $(PY_NOOPT_CFLAGS)
 PY_LDFLAGS = $(SHLIB_LDFLAGS) $(APPEND_LDFLAGS)
 INSTALL_LOG = build/installed_files.txt
 
+setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLAGS)" \
+           $(PYTHON) setup.py
+
 .PHONY: all
 all: build
 .PHONY: build
 build:
-	CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py build
+	$(setup.py) build
 
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)/$(bindir)
-	CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" \
-		LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py install \
-		--record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
-		 --root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force
+	$(setup.py) install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
+		--root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force
 	set -e; if [ $(bindir) != $(LIBEXEC_BIN) -a \
 	             "`readlink -f $(DESTDIR)/$(bindir)`" != \
 	             "`readlink -f $(LIBEXEC_BIN)`" ]; then \
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:16:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:16:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509635.785792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5RX-0006Uo-17; Tue, 14 Mar 2023 14:15:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509635.785792; Tue, 14 Mar 2023 14: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 1pc5RW-0006Uf-Tm; Tue, 14 Mar 2023 14:15:58 +0000
Received: by outflank-mailman (input) for mailman id 509635;
 Tue, 14 Mar 2023 14: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=vQyL=7G=citrix.com=prvs=430d4338b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pc5RV-0004aK-Su
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:15:58 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bc186cb0-c272-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15: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: bc186cb0-c272-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678803355;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=/9L7vCCTMH++1ZUbrE71ZPsBvnajhXkBbzMQNg2Y4gQ=;
  b=BXllIWgH1j69vRCGyd762wrmvR3fkl1xvzW/smZbYnaBU2CP0Nhs37Za
   rco5/Hz8iSNSuGxG3C8UyxgeNBtasL8aB75VIM00MDZOgYX1DnzIaPO+C
   ehVadrJ44ZXhIvWoYA6bqeRl9liFm0/SBb87V5TzdGMXToSXUvIk3CnzR
   g=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100156187
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:XbCDsaARLk3GLxVW/zHjw5YqxClBgxIJ4kV8jS/XYbTApDJ33jBWy
 mNKCmmAM//fajf1LY9yO4Wz8hhU6p/Ux4JnQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhB4gRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwoc80EEcWy
 s0jCmo1bja+qsSx8LW6c7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9I4TSHJgLxxbHz
 o7A11ShHzcdaveT9SrG3nuS2dDuxDPwVI1HQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFabujYMVtwWFPc1gCmIw7DR6hyUBUAFSCBAc90ssMIqRT0s2
 USNltmvDjtq2IB5UlrEqO3S92nrf3FIcylbP3RsoRY5D8fL+6hwnzSXcedYMvSNjvvINBf38
 zeLlX1r71kMtvIj26K+9FHBpjujoJnVUwI4jjnqsnKZAhBRP9D8OdHxgbTPxbMZddvCEAHd1
 JQRs5LGhN3iG61hg8BkrA8lOLiyr8iIPzTH6bKEN8lwrm/9k5JPkG053d2fGKuLGpxZEdMKS
 BWJ0e+02HO0FCrCUEOPS9jtY/nGNIC5fTgfatjab8BVfr96fxKd8SdlaCa4hj6ywBd3y/5lY
 8rCKK5A6Er27ow2pAdaus9HieN7rszA7Tq7qW/HI+SPjuPFOS/9pUYtO1qSdOEphJ65TPHu2
 48HbaOikkwPONASlwGLqeb/23hWdylkbX03wuQLHtO+zv1OQzF5WqaBnO18K+SIXc19z4/1w
 510YWcAoHKXuJENAVzSMRiPtJuHsU5DkE8G
IronPort-HdrOrdr: A9a23:XFV++a5B3C85R6i8jgPXwPDXdLJyesId70hD6qhwISY6TiX+rb
 HWoB17726TtN9/YhEdcLy7VJVoBEmskKKdgrNhWotKPjOW21dARbsKheCJrgEIWReOktK1vZ
 0QC5SWY+eQMbEVt6nHCXGDYrQd/OU=
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100156187"
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Bernhard Kaindl
	<bernhard.kaindl@citrix.com>
Subject: [PATCH 6/7] tools/python: Improve unit test handling
Date: Tue, 14 Mar 2023 14:15:19 +0000
Message-ID: <20230314141520.3652451-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

 * Add X86_{CPUID,MSR}_POLICY_FORMAT checks which were missed previously.
 * Drop test_suite().  It hasn't been necessary since the Py2.3 era.
 * Drop the __main__ logic.  This can't be used without manually adjusting the
   include path, and `make test` knows how to do the right thing.
 * For `make test`, use `-v` to see which tests have been discovered and run.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
CC: Bernhard Kaindl <bernhard.kaindl@citrix.com>
---
 tools/python/Makefile               |  2 +-
 tools/python/xen/migration/tests.py | 14 ++------------
 2 files changed, 3 insertions(+), 13 deletions(-)

diff --git a/tools/python/Makefile b/tools/python/Makefile
index 511e7deae409..697299bf2802 100644
--- a/tools/python/Makefile
+++ b/tools/python/Makefile
@@ -36,7 +36,7 @@ uninstall:
 
 .PHONY: test
 test:
-	LD_LIBRARY_PATH=$$(readlink -f ../libs/ctrl):$$(readlink -f ../xenstore) $(PYTHON) -m unittest discover
+	LD_LIBRARY_PATH=$$(readlink -f ../libs/ctrl):$$(readlink -f ../xenstore) $(PYTHON) -m unittest discover -v
 
 .PHONY: clean
 clean:
diff --git a/tools/python/xen/migration/tests.py b/tools/python/xen/migration/tests.py
index ff2768946bb5..f22e2c2b7cf0 100644
--- a/tools/python/xen/migration/tests.py
+++ b/tools/python/xen/migration/tests.py
@@ -26,6 +26,8 @@ class TestLibxc(unittest.TestCase):
                          (libxc.X86_TSC_INFO_FORMAT, 24),
                          (libxc.HVM_PARAMS_ENTRY_FORMAT, 16),
                          (libxc.HVM_PARAMS_FORMAT, 8),
+                         (libxc.X86_CPUID_POLICY_FORMAT, 24),
+                         (libxc.X86_MSR_POLICY_FORMAT, 16),
                          ):
             self.assertEqual(calcsize(fmt), sz)
 
@@ -40,15 +42,3 @@ class TestLibxl(unittest.TestCase):
                          (libxl.EMULATOR_HEADER_FORMAT, 8),
                          ):
             self.assertEqual(calcsize(fmt), sz)
-
-
-def test_suite():
-    suite = unittest.TestSuite()
-
-    suite.addTest(unittest.makeSuite(TestLibxc))
-    suite.addTest(unittest.makeSuite(TestLibxl))
-
-    return suite
-
-if __name__ == "__main__":
-    unittest.main()
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:16:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509637.785802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5RY-0006mf-Cn; Tue, 14 Mar 2023 14:16:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509637.785802; Tue, 14 Mar 2023 14: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 1pc5RY-0006mS-9d; Tue, 14 Mar 2023 14:16:00 +0000
Received: by outflank-mailman (input) for mailman id 509637;
 Tue, 14 Mar 2023 14:15: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=vQyL=7G=citrix.com=prvs=430d4338b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pc5RW-0004aQ-Cf
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:15:58 +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 bc30a86f-c272-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 15: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: bc30a86f-c272-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678803357;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=RhC1mGV7dozUxwGGoY9ryBFu46grDUCVsN2pnDjVFLY=;
  b=UtsUDYG1DWZSxi8MqPKVMJGZ4R9BOM+mX9goABJdEl5Fj6fhyNofj2cZ
   Ecr13KBQjUWvL4DEBO7OSE2JkEsF2TatyyD6pFATae8LJFD3y5QHfr3um
   8FhxFB6xhsGF3JucS4VuluB7R8iKdemv4UaqFUgnHzt87SOUoFjHowiv3
   g=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100156186
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:QqEyzqkYSeZVGGazo6LU7Ubo5gyZJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIWUDuHPP7fZmryftl3aou1808A7MWBy98yGQo5qnhkFyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QOGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 acxayErNi+yvMDs+LKdd8RKgfQkLfC+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglHWdTFCpU3Tjq0w+2XJlyR60aT3McqTcduPLSlQth/A/
 juboT2pXHn2MvSv7iqryHmggtbPlHOhXINOTZGzr9V11Qj7Kms7V0RNCArTTeOCol6zXZdTJ
 lIZ/gIqrLMu7wq7Q9/lRRq6rXWY+BkGVLJ4DOkS+AyLjK3O7G6xA2EeSzdbZd8OtckoRCcr3
 FuEg9PoAzN0tLSfD3ma89+pQSiaYHZPazVYPGldEFVDuoO4yG0usv7RZo1KU7+T1uLEIhOq+
 zCskQUYgIUUjPdegs1X4mv7qz6ro5HISCs86QPWQn+p42tFWWK1W2C7wQOFtKgdde51WnHE5
 SFZwJbGsIjiGLnXzESwrPMx8KZFDhpvGBnVmhZREpYo7FxBEFbzLNkLsFmSyKqEW/vomAMFg
 meJ5Gu9B7cJZhNGiJObhKrgY/nGNYC6SbzYugn8N7KimKRZeg6d5z1JbkWNxW3rm0VEufhhZ
 sfEKpzzVyxHUP0PIN+KqwA1gNcWKt0WnzuPFfgXMTz+uVZhWJJlYehcawbfBgzIxKiFvB/U4
 75iCid+8D0GCLeWSnCOoeYuwaUicSBT6Wbe95YGKYZu42NORAkcNhMm6ehxI908z/kLy7egE
 7PUchYw9WcTTEbvcW2iAk2Popu2BcsXQa4TVcD0AWuV5g==
IronPort-HdrOrdr: A9a23:EfCRlKoj0lwYwvoDBj85768aV5r3eYIsimQD101hICG9E/bo7P
 xG+c5x6faaslgssR0b9Oxoe5PwJU80jKQV3WBJB9eftWrdyQmVxeNZnPPfKlTbckWVygc679
 YET0EUMrLN5DZB4foSrzPIdOrIbeP3lpyAlKP19V8oZwdvcqRh5wByBkKgFFFsTgUuP+tbKH
 PZ3Ls/mwad
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100156186"
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Bernhard Kaindl
	<bernhard.kaindl@citrix.com>
Subject: [PATCH 7/7] tools/python: Drop shebangs from library files
Date: Tue, 14 Mar 2023 14:15:20 +0000
Message-ID: <20230314141520.3652451-8-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

These aren't runable scripts, so shouldn't have shebangs.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
CC: Bernhard Kaindl <bernhard.kaindl@citrix.com>
---
 tools/python/xen/migration/legacy.py | 1 -
 tools/python/xen/migration/libxc.py  | 1 -
 tools/python/xen/migration/libxl.py  | 1 -
 tools/python/xen/migration/public.py | 1 -
 tools/python/xen/migration/tests.py  | 1 -
 tools/python/xen/migration/verify.py | 1 -
 tools/python/xen/migration/xl.py     | 1 -
 tools/python/xen/util.py             | 1 -
 8 files changed, 8 deletions(-)

diff --git a/tools/python/xen/migration/legacy.py b/tools/python/xen/migration/legacy.py
index 6456d6157ce3..e196ca876095 100644
--- a/tools/python/xen/migration/legacy.py
+++ b/tools/python/xen/migration/legacy.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
 """
diff --git a/tools/python/xen/migration/libxc.py b/tools/python/xen/migration/libxc.py
index 9881f5ced4ea..e52e632cb106 100644
--- a/tools/python/xen/migration/libxc.py
+++ b/tools/python/xen/migration/libxc.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
 """
diff --git a/tools/python/xen/migration/libxl.py b/tools/python/xen/migration/libxl.py
index 5c4d4fe0631b..5dcb50fe0207 100644
--- a/tools/python/xen/migration/libxl.py
+++ b/tools/python/xen/migration/libxl.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
 """
diff --git a/tools/python/xen/migration/public.py b/tools/python/xen/migration/public.py
index fab2f84587b7..23183ef67db8 100644
--- a/tools/python/xen/migration/public.py
+++ b/tools/python/xen/migration/public.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
 """
diff --git a/tools/python/xen/migration/tests.py b/tools/python/xen/migration/tests.py
index f22e2c2b7cf0..fcf94b0bb264 100644
--- a/tools/python/xen/migration/tests.py
+++ b/tools/python/xen/migration/tests.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
 """
diff --git a/tools/python/xen/migration/verify.py b/tools/python/xen/migration/verify.py
index 1e38f4a3c01e..b847c4bd220f 100644
--- a/tools/python/xen/migration/verify.py
+++ b/tools/python/xen/migration/verify.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
 """
diff --git a/tools/python/xen/migration/xl.py b/tools/python/xen/migration/xl.py
index 978e744dfd95..139d496654df 100644
--- a/tools/python/xen/migration/xl.py
+++ b/tools/python/xen/migration/xl.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
 """
diff --git a/tools/python/xen/util.py b/tools/python/xen/util.py
index a11358eefa13..47ceb5bd21fe 100644
--- a/tools/python/xen/util.py
+++ b/tools/python/xen/util.py
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
 import os
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:16:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:16:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509639.785812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5Rb-0007AA-MD; Tue, 14 Mar 2023 14:16:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509639.785812; Tue, 14 Mar 2023 14:16:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5Rb-0007A0-Ha; Tue, 14 Mar 2023 14:16:03 +0000
Received: by outflank-mailman (input) for mailman id 509639;
 Tue, 14 Mar 2023 14:16:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vQyL=7G=citrix.com=prvs=430d4338b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pc5RZ-0004aK-MN
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:16:02 +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 bd795609-c272-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15: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: bd795609-c272-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678803358;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=DJSzXqkcYWpvV0c3oOG1hdU17ww0JumRTjIT/Z/grms=;
  b=fqYVpw/sOejUaL/Oz/nkw/Q015Xz38k1Kw0XL6cK7L8DZBzh3/pGL1x8
   Ed5X2+mp9MHj3fxm6CS2V3G9Fvncdizz3Piw6jyPeYAuciiDj8smRKyx9
   zBnFSsVvZD/YeKrd5x9Q++zyjnG/91K6Sfv2VU9Q26CVimWbNV+oXUu/9
   s=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100156185
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:7hxAza1iBCzSqEZHdfbD5ctxkn2cJEfYwER7XKvMYLTBsI5bpzQDn
 TMXDGCDPvbYYDf1fY8iOd/loRsB65aHx95gSgtspC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdnOagR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfWkgN5
 NpAFwE2TEq7h8SL7ZS8eu5tv5F2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKk2aOHWjOX9OYH46tM6uimPybHtzr1WNqLBsy2PS0BZwwP7mN9+9ltmiHJ0NxxvG/
 zKbl4j/Kg40EfGa0z6Py2+DluqewAbLe6QwKqLto5aGh3XMnzdOWXX6T2CTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jYDX/JAHut87xuCooLR6hycD3IJTRZAbsInr848QTE21
 l6PkMjtDDYpu7qQIU9x7Z/N82n0Y3JMazZfO2ldF1BtD8TfTJ8b1TuMX/A7L5+OrIfNGRfN7
 haNnC8/vuBG5SIU7JmT8VfCijOqg5HGSA8p+wnaNl6YAhNFiJ2NPNLxtwWChRpUBMPAFwTa4
 iBY8ySLxLpWZaxhghBhVwnk8FuBw/+eeAPRjld0d3XK32T8oiXzFWy8DdwXGauIDirmUWW0C
 KMwkVkLjHO2AJdNRf4fXm5JI552pZUM7Py8PhwuUvJAY4JqaCiM9zx0aEib0gjFyRZzwf5kY
 8jBK5v1VB727JiLKxLnL9rxLJdxnnxurY8tbcmTI+ubPUq2OyfOFOZt3KqmZeEl9qKUyDjoH
 yJkH5LSkX13CbSuChQ7BKZPdTjm21BnX8GpwyGWH8bfSjdb9JYJUK+JkOpxJtI4z8y4VI7gp
 xmAZ6OR83Kn7VWvFOlAQik7M9sDgb4XQaoHABER
IronPort-HdrOrdr: A9a23:cLYCVK5HhzV+GS33UgPXwM3XdLJyesId70hD6qkRc20yTiX2rb
 HLoB1273/JYU8qOU3I+urwX5VoI0m3yXcd2+B4VotKOjOW21dAR7sSiLcKrQeQeREWwdQx6U
 6wScZD4IyZNzdHZZiT2mWFL+o=
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100156185"
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Bernhard Kaindl
	<bernhard.kaindl@citrix.com>
Subject: [PATCH 3/7] tools: Delete trailing whitespace in python scripts
Date: Tue, 14 Mar 2023 14:15:16 +0000
Message-ID: <20230314141520.3652451-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
CC: Bernhard Kaindl <bernhard.kaindl@citrix.com>
---
 tools/misc/xencov_split            |   1 -
 tools/pygrub/src/ExtLinuxConf.py   |   2 +-
 tools/pygrub/src/GrubConf.py       |  30 ++---
 tools/pygrub/src/fsimage/fsimage.c |   8 +-
 tools/pygrub/src/pygrub            |  44 +++----
 tools/python/xen/lowlevel/xc/xc.c  | 200 ++++++++++++++---------------
 tools/python/xen/lowlevel/xs/xs.c  |   4 +-
 tools/xenmon/xenmon.py             |  44 +++----
 8 files changed, 166 insertions(+), 167 deletions(-)

diff --git a/tools/misc/xencov_split b/tools/misc/xencov_split
index 5771f6cfc285..e4f68ebb6eda 100755
--- a/tools/misc/xencov_split
+++ b/tools/misc/xencov_split
@@ -94,4 +94,3 @@ if __name__ == "__main__":
         sys.exit(1)
     except KeyboardInterrupt:
         sys.exit(1)
-
diff --git a/tools/pygrub/src/ExtLinuxConf.py b/tools/pygrub/src/ExtLinuxConf.py
index 9fd635b9cf7a..4e990a9304b6 100644
--- a/tools/pygrub/src/ExtLinuxConf.py
+++ b/tools/pygrub/src/ExtLinuxConf.py
@@ -207,7 +207,7 @@ class ExtLinuxConfigFile(object):
                  "f1": None,
                  "f2": None,
                  }
-        
+
 if __name__ == "__main__":
     if len(sys.argv) < 2:
         raise RuntimeError("Need a configuration file to read")
diff --git a/tools/pygrub/src/GrubConf.py b/tools/pygrub/src/GrubConf.py
index 73f1bbed2f54..580c9628ca64 100644
--- a/tools/pygrub/src/GrubConf.py
+++ b/tools/pygrub/src/GrubConf.py
@@ -95,7 +95,7 @@ class _GrubImage(object):
         self.title = title.strip()
 
     def __repr__(self):
-        return ("title: %s\n" 
+        return ("title: %s\n"
                 "  root: %s\n"
                 "  kernel: %s\n"
                 "  args: %s\n"
@@ -140,7 +140,7 @@ class _GrubImage(object):
 class GrubImage(_GrubImage):
     def __init__(self, title, lines):
         _GrubImage.__init__(self, title, lines)
-    
+
     def set_from_line(self, line, replace = None):
         (com, arg) = grub_exact_split(line, 2)
 
@@ -265,7 +265,7 @@ class _GrubConfigFile(object):
 class GrubConfigFile(_GrubConfigFile):
     def __init__(self, fn = None):
         _GrubConfigFile.__init__(self,fn)
-        
+
     def new_image(self, title, lines):
         return GrubImage(title, lines)
 
@@ -297,7 +297,7 @@ class GrubConfigFile(_GrubConfigFile):
                 img = []
                 title = l[6:]
                 continue
-                
+
             if img is not None:
                 img.append(l)
                 continue
@@ -310,7 +310,7 @@ class GrubConfigFile(_GrubConfigFile):
                     logging.info("Ignored directive %s" %(com,))
             else:
                 logging.warning("Unknown directive %s" %(com,))
-                
+
         if img:
             self.add_image(GrubImage(title, img))
 
@@ -322,7 +322,7 @@ def grub2_handle_set(arg):
     com="set:" + com
     m = re.match("([\"\'])(.*)\\1", arg)
     if m is not None:
-        arg=m.group(2) 
+        arg=m.group(2)
     return (com,arg)
 
 class Grub2Image(_GrubImage):
@@ -334,7 +334,7 @@ class Grub2Image(_GrubImage):
 
         if com == "set":
             (com,arg) = grub2_handle_set(arg)
-            
+
         if com in self.commands:
             if self.commands[com] is not None:
                 setattr(self, self.commands[com], arg.strip())
@@ -351,7 +351,7 @@ class Grub2Image(_GrubImage):
         else:
             self.lines.pop(replace)
             self.lines.insert(replace, line)
-                
+
     commands = {'set:root': 'root',
                 'linux': 'kernel',
                 'linux16': 'kernel',
@@ -360,14 +360,14 @@ class Grub2Image(_GrubImage):
                 'echo': None,
                 'insmod': None,
                 'search': None}
-    
+
 class Grub2ConfigFile(_GrubConfigFile):
     def __init__(self, fn = None):
         _GrubConfigFile.__init__(self, fn)
-       
+
     def new_image(self, title, lines):
         return Grub2Image(title, lines)
- 
+
     def parse(self, buf = None):
         if buf is None:
             if self.filename is None:
@@ -431,10 +431,10 @@ class Grub2ConfigFile(_GrubConfigFile):
                 continue
 
             (com, arg) = grub_exact_split(l, 2)
-        
+
             if com == "set":
                 (com,arg) = grub2_handle_set(arg)
-                
+
             if com in self.commands:
                 if self.commands[com] is not None:
                     arg_strip = arg.strip()
@@ -448,7 +448,7 @@ class Grub2ConfigFile(_GrubConfigFile):
                 pass
             else:
                 logging.warning("Unknown directive %s" %(com,))
-            
+
         if img is not None:
             raise RuntimeError("syntax error: end of file with open menuentry(%d %s)" % (len(img),img))
 
@@ -466,7 +466,7 @@ class Grub2ConfigFile(_GrubConfigFile):
                 'if': None,
                 'fi': None,
                 }
-        
+
 if __name__ == "__main__":
     if len(sys.argv) < 3:
         raise RuntimeError('Need a grub version ("grub" or "grub2") and a grub.conf or grub.cfg to read')
diff --git a/tools/pygrub/src/fsimage/fsimage.c b/tools/pygrub/src/fsimage/fsimage.c
index 2ebbbe35df92..fdcfa1a3c040 100644
--- a/tools/pygrub/src/fsimage/fsimage.c
+++ b/tools/pygrub/src/fsimage/fsimage.c
@@ -31,7 +31,7 @@ typedef struct fsimage_fs {
 	fsi_t *fs;
 } fsimage_fs_t;
 
-typedef struct fsimage_file { 
+typedef struct fsimage_file {
 	PyObject_HEAD
 	fsimage_fs_t *fs;
 	fsi_file_t *file;
@@ -47,7 +47,7 @@ fsimage_file_read(fsimage_file_t *file, PyObject *args, PyObject *kwargs)
 	ssize_t bytesread = 0;
 	PyObject * buffer;
 
-	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|iL", kwlist, 
+	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|iL", kwlist,
 	    &size, &offset))
 		return (NULL);
 
@@ -62,7 +62,7 @@ fsimage_file_read(fsimage_file_t *file, PyObject *args, PyObject *kwargs)
 
 	if (buffer == NULL)
 		return (NULL);
- 
+
 	while (1) {
 		int err;
 		void *buf =
@@ -255,7 +255,7 @@ fsimage_open(PyObject *o, PyObject *args, PyObject *kwargs)
 	uint64_t offset = 0;
 	fsimage_fs_t *fs;
 
-	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|Ls", kwlist, 
+	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|Ls", kwlist,
 	    &name, &offset, &options))
 		return (NULL);
 
diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
index ce7ab0eb8cf3..a759d90ade5e 100755
--- a/tools/pygrub/src/pygrub
+++ b/tools/pygrub/src/pygrub
@@ -46,7 +46,7 @@ def enable_cursor(ison):
         val = 2
     else:
         val = 0
-        
+
     try:
         curses.curs_set(val)
     except _curses.error:
@@ -114,7 +114,7 @@ FDISK_PART_GPT=0xee
 def get_partition_offsets(file):
     image_type = identify_disk_image(file)
     if image_type == DISK_TYPE_RAW:
-        # No MBR: assume whole disk filesystem, which is like a 
+        # No MBR: assume whole disk filesystem, which is like a
         # single partition starting at 0
         return [0]
     elif image_type == DISK_TYPE_HYBRIDISO:
@@ -135,7 +135,7 @@ def get_partition_offsets(file):
         partbuf = buf[poff:poff+16]
         offset  = struct.unpack("<L", partbuf[8:12])[0] * SECTOR_SIZE
         type    = struct.unpack("<B", partbuf[4:5])[0]
-        
+
         # offset == 0 implies this partition is not enabled
         if offset == 0:
             continue
@@ -171,7 +171,7 @@ class GrubLineEditor(curses.textpad.Textbox):
         screen.noutrefresh()
         win = curses.newwin(1, 74, startx, starty + 2)
         curses.textpad.Textbox.__init__(self, win)
-        
+
         self.line = list(line)
         self.pos = len(line)
         self.cancelled = False
@@ -237,7 +237,7 @@ class GrubLineEditor(curses.textpad.Textbox):
         if self.cancelled:
             return None
         return string.join(self.line, "")
-        
+
 
 class Grub:
     ENTRY_WIN_LINES = 8
@@ -261,7 +261,7 @@ class Grub:
             self.entry_win = curses.newwin(Grub.ENTRY_WIN_LINES + 2, 74, 2, 1)
             self.text_win = curses.newwin(10, 70, 12, 5)
             curses.def_prog_mode()
-        
+
         curses.reset_prog_mode()
         self.screen.erase()
 
@@ -279,7 +279,7 @@ class Grub:
             self.start_image = self.selected_image
         if self.selected_image < self.start_image:
             self.start_image = self.selected_image
-        
+
         for y in range(self.start_image, len(self.cf.images)):
             i = self.cf.images[y]
             if y > self.start_image + maxy:
@@ -329,7 +329,7 @@ class Grub:
                 l = img.lines[idx].expandtabs().ljust(70)
                 if len(l) > 70:
                     l = l[:69] + ">"
-                    
+
                 self.entry_win.addstr(idp, 2, l)
                 if idx == curline:
                     self.entry_win.attroff(curses.A_REVERSE)
@@ -367,7 +367,7 @@ class Grub:
                 self.command_line_mode()
                 if self.isdone:
                     return
-                
+
             # bound at the top and bottom
             if curline < 0:
                 curline = 0
@@ -400,7 +400,7 @@ class Grub:
         lines = []
         while 1:
             t = GrubLineEditor(self.screen, y, 2)
-            enable_cursor(True)            
+            enable_cursor(True)
             ret = t.edit()
             if ret:
                 if ret in ("quit", "return"):
@@ -410,7 +410,7 @@ class Grub:
                     lines.append(ret)
                     continue
 
-                # if we got boot, then we want to boot the entered image 
+                # if we got boot, then we want to boot the entered image
                 img = self.cf.new_image("entered", lines)
                 self.cf.add_image(img)
                 self.selected_image = len(self.cf.images) - 1
@@ -423,7 +423,7 @@ class Grub:
     def read_config(self, fn, fs = None):
         """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,))
 
@@ -499,7 +499,7 @@ class Grub:
         while not self.isdone:
             self.run_main(timeout)
             timeout = -1
-            
+
         return self.selected_image
 
     def run_main(self, timeout = -1):
@@ -529,7 +529,7 @@ class Grub:
         self.start_image = 0
         while (timeout == -1 or mytime < int(timeout)):
             draw()
-            if timeout != -1 and mytime != -1: 
+            if timeout != -1 and mytime != -1:
                 self.screen.addstr(20, 5, "Will boot selected entry in %2d seconds"
                                    %(int(timeout) - mytime))
             else:
@@ -600,7 +600,7 @@ class Grub:
                 self.selected_image = 0
             elif self.selected_image >= len(self.cf.images):
                 self.selected_image = len(self.cf.images) - 1
-        
+
 def get_entry_idx(cf, entry):
     # first, see if the given entry is numeric
     try:
@@ -697,10 +697,10 @@ def sniff_solaris(fs, cfg):
     # Unpleasant. Typically we'll have 'root=foo -k' or 'root=foo /kernel -k',
     # and we need to maintain Xen properties (root= and ip=) and the kernel
     # before any user args.
-    
+
     xenargs = ""
     userargs = ""
-    
+
     if not cfg["args"]:
         cfg["args"] = cfg["kernel"]
     else:
@@ -712,7 +712,7 @@ def sniff_solaris(fs, cfg):
         cfg["args"] = xenargs + " " + cfg["kernel"] + " " + userargs
 
     return cfg
- 
+
 def sniff_netware(fs, cfg):
     if not fs.file_exists("/nwserver/xnloader.sys"):
         return cfg
@@ -729,7 +729,7 @@ def format_sxp(kernel, ramdisk, args):
     if args:
         s += "(args %s)" % repr(args)
     return s
-                
+
 def format_simple(kernel, ramdisk, args, sep):
     for check in (kernel, ramdisk, args):
         if check is not None and sep in check:
@@ -744,7 +744,7 @@ def format_simple(kernel, ramdisk, args, sep):
 
 if __name__ == "__main__":
     sel = None
-    
+
     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] [--offset=] <image>" %(sys.argv[0],), file=sys.stderr)
 
@@ -783,7 +783,7 @@ if __name__ == "__main__":
         opts, args = getopt.gnu_getopt(sys.argv[1:], 'qilnh::',
                                    ["quiet", "interactive", "list-entries", "not-really", "help",
                                     "output=", "output-format=", "output-directory=", "offset=",
-                                    "entry=", "kernel=", 
+                                    "entry=", "kernel=",
                                     "ramdisk=", "args=", "isconfig", "debug"])
     except getopt.GetoptError:
         usage()
@@ -967,4 +967,4 @@ if __name__ == "__main__":
         os.write(fd, ostring)
     else:
         os.write(fd, ostring.encode())
-    
+
diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c
index cfb2734a992b..e3a0c13bac31 100644
--- a/tools/python/xen/lowlevel/xc/xc.c
+++ b/tools/python/xen/lowlevel/xc/xc.c
@@ -1,6 +1,6 @@
 /******************************************************************************
  * Xc.c
- * 
+ *
  * Copyright (c) 2003-2004, K A Fraser (University of Cambridge)
  */
 
@@ -108,7 +108,7 @@ static PyObject *pyxc_domain_dumpcore(XcObject *self, PyObject *args)
 
     if ( xc_domain_dumpcore(self->xc_handle, dom, corefile) != 0 )
         return pyxc_error_to_exception(self->xc_handle);
-    
+
     Py_INCREF(zero);
     return zero;
 }
@@ -143,7 +143,7 @@ static PyObject *pyxc_domain_create(XcObject *self,
         return NULL;
     if ( pyhandle != NULL )
     {
-        if ( !PyList_Check(pyhandle) || 
+        if ( !PyList_Check(pyhandle) ||
              (PyList_Size(pyhandle) != sizeof(xen_domain_handle_t)) )
             goto out_exception;
 
@@ -191,7 +191,7 @@ static PyObject *pyxc_domain_max_vcpus(XcObject *self, PyObject *args)
 
     if (xc_domain_max_vcpus(self->xc_handle, dom, max) != 0)
         return pyxc_error_to_exception(self->xc_handle);
-    
+
     Py_INCREF(zero);
     return zero;
 }
@@ -226,7 +226,7 @@ static PyObject *pyxc_domain_shutdown(XcObject *self, PyObject *args)
 
     if ( xc_domain_shutdown(self->xc_handle, dom, reason) != 0 )
         return pyxc_error_to_exception(self->xc_handle);
-    
+
     Py_INCREF(zero);
     return zero;
 }
@@ -258,7 +258,7 @@ static PyObject *pyxc_vcpu_setaffinity(XcObject *self,
 
     static char *kwd_list[] = { "domid", "vcpu", "cpumap", NULL };
 
-    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "i|iO", kwd_list, 
+    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "i|iO", kwd_list,
                                       &dom, &vcpu, &cpulist) )
         return NULL;
 
@@ -272,7 +272,7 @@ static PyObject *pyxc_vcpu_setaffinity(XcObject *self,
 
     if ( (cpulist != NULL) && PyList_Check(cpulist) )
     {
-        for ( i = 0; i < PyList_Size(cpulist); i++ ) 
+        for ( i = 0; i < PyList_Size(cpulist); i++ )
         {
             long cpu = PyLongOrInt_AsLong(PyList_GetItem(cpulist, i));
             if ( cpu < 0 || cpu >= nr_cpus )
@@ -285,7 +285,7 @@ static PyObject *pyxc_vcpu_setaffinity(XcObject *self,
             cpumap[cpu / 8] |= 1 << (cpu % 8);
         }
     }
-  
+
     if ( xc_vcpu_setaffinity(self->xc_handle, dom, vcpu, cpumap,
                              NULL, XEN_VCPUAFFINITY_HARD) != 0 )
     {
@@ -293,7 +293,7 @@ static PyObject *pyxc_vcpu_setaffinity(XcObject *self,
         return pyxc_error_to_exception(self->xc_handle);
     }
     Py_INCREF(zero);
-    free(cpumap); 
+    free(cpumap);
     return zero;
 }
 
@@ -307,7 +307,7 @@ static PyObject *pyxc_domain_sethandle(XcObject *self, PyObject *args)
     if (!PyArg_ParseTuple(args, "iO", &dom, &pyhandle))
         return NULL;
 
-    if ( !PyList_Check(pyhandle) || 
+    if ( !PyList_Check(pyhandle) ||
          (PyList_Size(pyhandle) != sizeof(xen_domain_handle_t)) )
     {
         goto out_exception;
@@ -323,7 +323,7 @@ static PyObject *pyxc_domain_sethandle(XcObject *self, PyObject *args)
 
     if (xc_domain_sethandle(self->xc_handle, dom, handle) < 0)
         return pyxc_error_to_exception(self->xc_handle);
-    
+
     Py_INCREF(zero);
     return zero;
 
@@ -345,7 +345,7 @@ static PyObject *pyxc_domain_getinfo(XcObject *self,
     xc_dominfo_t *info;
 
     static char *kwd_list[] = { "first_dom", "max_doms", NULL };
-    
+
     if ( !PyArg_ParseTupleAndKeywords(args, kwds, "|ii", kwd_list,
                                       &first_dom, &max_doms) )
         return NULL;
@@ -418,7 +418,7 @@ static PyObject *pyxc_vcpu_getinfo(XcObject *self,
     int nr_cpus;
 
     static char *kwd_list[] = { "domid", "vcpu", NULL };
-    
+
     if ( !PyArg_ParseTupleAndKeywords(args, kwds, "i|i", kwd_list,
                                       &dom, &vcpu) )
         return NULL;
@@ -473,7 +473,7 @@ static PyObject *pyxc_hvm_param_get(XcObject *self,
     int param;
     uint64_t value;
 
-    static char *kwd_list[] = { "domid", "param", NULL }; 
+    static char *kwd_list[] = { "domid", "param", NULL };
     if ( !PyArg_ParseTupleAndKeywords(args, kwds, "ii", kwd_list,
                                       &dom, &param) )
         return NULL;
@@ -493,7 +493,7 @@ static PyObject *pyxc_hvm_param_set(XcObject *self,
     int param;
     uint64_t value;
 
-    static char *kwd_list[] = { "domid", "param", "value", NULL }; 
+    static char *kwd_list[] = { "domid", "param", "value", NULL };
     if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iiL", kwd_list,
                                       &dom, &param, &value) )
         return NULL;
@@ -663,7 +663,7 @@ static PyObject *pyxc_get_device_group(XcObject *self,
 
     if ( rc < 0 )
     {
-        free(sdev_array); 
+        free(sdev_array);
         return pyxc_error_to_exception(self->xc_handle);
     }
 
@@ -786,7 +786,7 @@ static PyObject *pyxc_physdev_pci_access_modify(XcObject *self,
 
     static char *kwd_list[] = { "domid", "bus", "dev", "func", "enable", NULL };
 
-    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iiiii", kwd_list, 
+    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iiiii", kwd_list,
                                       &dom, &bus, &dev, &func, &enable) )
         return NULL;
 
@@ -901,7 +901,7 @@ static PyObject *pyxc_physinfo(XcObject *self)
                             "nr_nodes",         pinfo.nr_nodes,
                             "threads_per_core", pinfo.threads_per_core,
                             "cores_per_socket", pinfo.cores_per_socket,
-                            "nr_cpus",          pinfo.nr_cpus, 
+                            "nr_cpus",          pinfo.nr_cpus,
                             "total_memory",     pages_to_kib(pinfo.total_pages),
                             "free_memory",      pages_to_kib(pinfo.free_pages),
                             "scrub_memory",     pages_to_kib(pinfo.scrub_pages),
@@ -1191,13 +1191,13 @@ static PyObject *pyxc_shadow_control(PyObject *self,
 
     static char *kwd_list[] = { "dom", "op", NULL };
 
-    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "i|i", kwd_list, 
+    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "i|i", kwd_list,
                                       &dom, &op) )
         return NULL;
-    
+
     if ( xc_shadow_control(xc->xc_handle, dom, op, NULL, 0) < 0 )
         return pyxc_error_to_exception(xc->xc_handle);
-    
+
     Py_INCREF(zero);
     return zero;
 }
@@ -1214,26 +1214,26 @@ static PyObject *pyxc_shadow_mem_control(PyObject *self,
 
     static char *kwd_list[] = { "dom", "mb", NULL };
 
-    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "i|i", kwd_list, 
+    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "i|i", kwd_list,
                                       &dom, &mbarg) )
         return NULL;
-    
-    if ( mbarg < 0 ) 
+
+    if ( mbarg < 0 )
         op = XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION;
-    else 
+    else
     {
         mb = mbarg;
         op = XEN_DOMCTL_SHADOW_OP_SET_ALLOCATION;
     }
     if ( xc_shadow_control(xc->xc_handle, dom, op, &mb, 0) < 0 )
         return pyxc_error_to_exception(xc->xc_handle);
-    
+
     mbarg = mb;
     return Py_BuildValue("i", mbarg);
 }
 
 static PyObject *pyxc_sched_id_get(XcObject *self) {
-    
+
     int sched_id;
     if (xc_sched_id(self->xc_handle, &sched_id) != 0)
         return PyErr_SetFromErrno(xc_error_obj);
@@ -1251,10 +1251,10 @@ static PyObject *pyxc_sched_credit_domain_set(XcObject *self,
     static char *kwd_list[] = { "domid", "weight", "cap", NULL };
     static char kwd_type[] = "I|HH";
     struct xen_domctl_sched_credit sdom;
-    
+
     weight = 0;
     cap = (uint16_t)~0U;
-    if( !PyArg_ParseTupleAndKeywords(args, kwds, kwd_type, kwd_list, 
+    if( !PyArg_ParseTupleAndKeywords(args, kwds, kwd_type, kwd_list,
                                      &domid, &weight, &cap) )
         return NULL;
 
@@ -1272,10 +1272,10 @@ static PyObject *pyxc_sched_credit_domain_get(XcObject *self, PyObject *args)
 {
     uint32_t domid;
     struct xen_domctl_sched_credit sdom;
-    
+
     if( !PyArg_ParseTuple(args, "I", &domid) )
         return NULL;
-    
+
     if ( xc_sched_credit_domain_get(self->xc_handle, domid, &sdom) != 0 )
         return pyxc_error_to_exception(self->xc_handle);
 
@@ -1336,7 +1336,7 @@ static PyObject *pyxc_domain_setmaxmem(XcObject *self, PyObject *args)
 
     if (xc_domain_setmaxmem(self->xc_handle, dom, maxmem_kb) != 0)
         return pyxc_error_to_exception(self->xc_handle);
-    
+
     Py_INCREF(zero);
     return zero;
 }
@@ -1349,12 +1349,12 @@ static PyObject *pyxc_domain_set_target_mem(XcObject *self, PyObject *args)
     if (!PyArg_ParseTuple(args, "ii", &dom, &mem_kb))
         return NULL;
 
-    mem_pages = mem_kb / 4; 
+    mem_pages = mem_kb / 4;
 
     if (xc_domain_set_pod_target(self->xc_handle, dom, mem_pages,
 				 NULL, NULL, NULL) != 0)
         return pyxc_error_to_exception(self->xc_handle);
-    
+
     Py_INCREF(zero);
     return zero;
 }
@@ -1369,7 +1369,7 @@ static PyObject *pyxc_domain_set_memmap_limit(XcObject *self, PyObject *args)
 
     if ( xc_domain_set_memmap_limit(self->xc_handle, dom, maplimit_kb) != 0 )
         return pyxc_error_to_exception(self->xc_handle);
-    
+
     Py_INCREF(zero);
     return zero;
 }
@@ -1383,7 +1383,7 @@ static PyObject *pyxc_domain_ioport_permission(XcObject *self,
 
     static char *kwd_list[] = { "domid", "first_port", "nr_ports", "allow_access", NULL };
 
-    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iiii", kwd_list, 
+    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iiii", kwd_list,
                                       &dom, &first_port, &nr_ports, &allow_access) )
         return NULL;
 
@@ -1406,7 +1406,7 @@ static PyObject *pyxc_domain_irq_permission(PyObject *self,
 
     static char *kwd_list[] = { "domid", "pirq", "allow_access", NULL };
 
-    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iii", kwd_list, 
+    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iii", kwd_list,
                                       &dom, &pirq, &allow_access) )
         return NULL;
 
@@ -1429,7 +1429,7 @@ static PyObject *pyxc_domain_iomem_permission(PyObject *self,
 
     static char *kwd_list[] = { "domid", "first_pfn", "nr_pfns", "allow_access", NULL };
 
-    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "illi", kwd_list, 
+    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "illi", kwd_list,
                                       &dom, &first_pfn, &nr_pfns, &allow_access) )
         return NULL;
 
@@ -1480,7 +1480,7 @@ static PyObject *pyxc_domain_send_trigger(XcObject *self,
 
     static char *kwd_list[] = { "domid", "trigger", "vcpu", NULL };
 
-    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "ii|i", kwd_list, 
+    if ( !PyArg_ParseTupleAndKeywords(args, kwds, "ii|i", kwd_list,
                                       &dom, &trigger, &vcpu) )
         return NULL;
 
@@ -1534,7 +1534,7 @@ static PyObject *pyxc_dom_set_memshr(XcObject *self, PyObject *args)
 
     if (xc_memshr_control(self->xc_handle, dom, enable) != 0)
         return pyxc_error_to_exception(self->xc_handle);
-    
+
     Py_INCREF(zero);
     return zero;
 }
@@ -1758,11 +1758,11 @@ static PyObject *pyflask_sid_to_context(PyObject *self, PyObject *args,
     if (!xc_handle) {
         return PyErr_SetFromErrno(xc_error_obj);
     }
-    
+
     ret = xc_flask_sid_to_context(xc_handle, sid, ctx, ctx_len);
-    
+
     xc_interface_close(xc_handle);
-    
+
     if ( ret != 0 ) {
         errno = -ret;
         return PyErr_SetFromErrno(xc_error_obj);
@@ -1779,7 +1779,7 @@ static PyObject *pyflask_load(PyObject *self, PyObject *args, PyObject *kwds)
     int ret;
 
     static char *kwd_list[] = { "policy", NULL };
-  
+
     if( !PyArg_ParseTupleAndKeywords(args, kwds, "s#", kwd_list, &policy, &len) )
         return NULL;
 
@@ -1809,11 +1809,11 @@ static PyObject *pyflask_getenforce(PyObject *self)
     if (!xc_handle) {
         return PyErr_SetFromErrno(xc_error_obj);
     }
-    
+
     ret = xc_flask_getenforce(xc_handle);
-    
+
     xc_interface_close(xc_handle);
-    
+
     if ( ret < 0 ) {
         errno = -ret;
         return PyErr_SetFromErrno(xc_error_obj);
@@ -1839,11 +1839,11 @@ static PyObject *pyflask_setenforce(PyObject *self, PyObject *args,
     if (!xc_handle) {
         return PyErr_SetFromErrno(xc_error_obj);
     }
-    
+
     ret = xc_flask_setenforce(xc_handle, mode);
-    
+
     xc_interface_close(xc_handle);
-    
+
     if ( ret != 0 ) {
         errno = -ret;
         return PyErr_SetFromErrno(xc_error_obj);
@@ -1861,7 +1861,7 @@ static PyObject *pyflask_access(PyObject *self, PyObject *args,
     uint32_t req, allowed, decided, auditallow, auditdeny, seqno;
     int ret;
 
-    static char *kwd_list[] = { "src_context", "tar_context", 
+    static char *kwd_list[] = { "src_context", "tar_context",
                                 "tar_class", "req_permissions",
                                 "decided", "auditallow","auditdeny",
                                 "seqno", NULL };
@@ -1875,10 +1875,10 @@ static PyObject *pyflask_access(PyObject *self, PyObject *args,
     if (!xc_handle) {
         return PyErr_SetFromErrno(xc_error_obj);
     }
-    
+
     ret = xc_flask_access(xc_handle, scon, tcon, tclass, req, &allowed, &decided,
                         &auditallow, &auditdeny, &seqno);
-        
+
     xc_interface_close(xc_handle);
 
     if ( ret != 0 ) {
@@ -1890,14 +1890,14 @@ static PyObject *pyflask_access(PyObject *self, PyObject *args,
 }
 
 static PyMethodDef pyxc_methods[] = {
-    { "domain_create", 
-      (PyCFunction)pyxc_domain_create, 
+    { "domain_create",
+      (PyCFunction)pyxc_domain_create,
       METH_VARARGS | METH_KEYWORDS, "\n"
       "Create a new domain.\n"
       " dom    [int, 0]:        Domain identifier to use (allocated if zero).\n"
       "Returns: [int] new domain identifier; -1 on error.\n" },
 
-    { "domain_max_vcpus", 
+    { "domain_max_vcpus",
       (PyCFunction)pyxc_domain_max_vcpus,
       METH_VARARGS, "\n"
       "Set the maximum number of VCPUs a domain may create.\n"
@@ -1905,43 +1905,43 @@ static PyMethodDef pyxc_methods[] = {
       " max     [int, 0]:      New maximum number of VCPUs in domain.\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-    { "domain_dumpcore", 
-      (PyCFunction)pyxc_domain_dumpcore, 
+    { "domain_dumpcore",
+      (PyCFunction)pyxc_domain_dumpcore,
       METH_VARARGS, "\n"
       "Dump core of a domain.\n"
       " dom [int]: Identifier of domain to dump core of.\n"
       " corefile [string]: Name of corefile to be created.\n\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-    { "domain_pause", 
-      (PyCFunction)pyxc_domain_pause, 
+    { "domain_pause",
+      (PyCFunction)pyxc_domain_pause,
       METH_VARARGS, "\n"
       "Temporarily pause execution of a domain.\n"
       " dom [int]: Identifier of domain to be paused.\n\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-    { "domain_unpause", 
-      (PyCFunction)pyxc_domain_unpause, 
+    { "domain_unpause",
+      (PyCFunction)pyxc_domain_unpause,
       METH_VARARGS, "\n"
       "(Re)start execution of a domain.\n"
       " dom [int]: Identifier of domain to be unpaused.\n\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-    { "domain_destroy", 
-      (PyCFunction)pyxc_domain_destroy, 
+    { "domain_destroy",
+      (PyCFunction)pyxc_domain_destroy,
       METH_VARARGS, "\n"
       "Destroy a domain.\n"
       " dom [int]:    Identifier of domain to be destroyed.\n\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-    { "domain_destroy_hook", 
-      (PyCFunction)pyxc_domain_destroy_hook, 
+    { "domain_destroy_hook",
+      (PyCFunction)pyxc_domain_destroy_hook,
       METH_VARARGS, "\n"
       "Add a hook for arch stuff before destroy a domain.\n"
       " dom [int]:    Identifier of domain to be destroyed.\n\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-    { "domain_resume", 
+    { "domain_resume",
       (PyCFunction)pyxc_domain_resume,
       METH_VARARGS, "\n"
       "Resume execution of a suspended domain.\n"
@@ -1949,7 +1949,7 @@ static PyMethodDef pyxc_methods[] = {
       " fast [int]: Use cooperative resume.\n\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-    { "domain_shutdown", 
+    { "domain_shutdown",
       (PyCFunction)pyxc_domain_shutdown,
       METH_VARARGS, "\n"
       "Shutdown a domain.\n"
@@ -1957,8 +1957,8 @@ static PyMethodDef pyxc_methods[] = {
       " reason     [int, 0]:      Reason for shutdown.\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-    { "vcpu_setaffinity", 
-      (PyCFunction)pyxc_vcpu_setaffinity, 
+    { "vcpu_setaffinity",
+      (PyCFunction)pyxc_vcpu_setaffinity,
       METH_VARARGS | METH_KEYWORDS, "\n"
       "Pin a VCPU to a specified set CPUs.\n"
       " dom [int]:     Identifier of domain to which VCPU belongs.\n"
@@ -1966,7 +1966,7 @@ static PyMethodDef pyxc_methods[] = {
       " cpumap [list, []]: list of usable CPUs.\n\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-    { "domain_sethandle", 
+    { "domain_sethandle",
       (PyCFunction)pyxc_domain_sethandle,
       METH_VARARGS, "\n"
       "Set domain's opaque handle.\n"
@@ -1974,8 +1974,8 @@ static PyMethodDef pyxc_methods[] = {
       " handle [list of 16 ints]: New opaque handle.\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-    { "domain_getinfo", 
-      (PyCFunction)pyxc_domain_getinfo, 
+    { "domain_getinfo",
+      (PyCFunction)pyxc_domain_getinfo,
       METH_VARARGS | METH_KEYWORDS, "\n"
       "Get information regarding a set of domains, in increasing id order.\n"
       " first_dom [int, 0]:    First domain to retrieve info about.\n"
@@ -2000,8 +2000,8 @@ static PyMethodDef pyxc_methods[] = {
       "reason why it shut itself down.\n"
       " cpupool  [int]   Id of cpupool domain is bound to.\n" },
 
-    { "vcpu_getinfo", 
-      (PyCFunction)pyxc_vcpu_getinfo, 
+    { "vcpu_getinfo",
+      (PyCFunction)pyxc_vcpu_getinfo,
       METH_VARARGS | METH_KEYWORDS, "\n"
       "Get information regarding a VCPU.\n"
       " dom  [int]:    Domain to retrieve info about.\n"
@@ -2025,7 +2025,7 @@ static PyMethodDef pyxc_methods[] = {
       " xenstore_domid [int]: \n"
       "Returns: None on success. Raises exception on error.\n" },
 
-    { "hvm_get_param", 
+    { "hvm_get_param",
       (PyCFunction)pyxc_hvm_param_get,
       METH_VARARGS | METH_KEYWORDS, "\n"
       "get a parameter of HVM guest OS.\n"
@@ -2033,7 +2033,7 @@ static PyMethodDef pyxc_methods[] = {
       " param   [int]:      No. of HVM param.\n"
       "Returns: [long] value of the param.\n" },
 
-    { "hvm_set_param", 
+    { "hvm_set_param",
       (PyCFunction)pyxc_hvm_param_set,
       METH_VARARGS | METH_KEYWORDS, "\n"
       "set a parameter of HVM guest OS.\n"
@@ -2076,12 +2076,12 @@ static PyMethodDef pyxc_methods[] = {
        " dom     [int]:      Domain to deassign device from.\n"
        " pci_str [str]:      PCI devices.\n"
        "Returns: [int] 0 on success, or device bdf that can't be deassigned.\n" },
-  
+
     { "sched_id_get",
       (PyCFunction)pyxc_sched_id_get,
       METH_NOARGS, "\n"
       "Get the current scheduler type in use.\n"
-      "Returns: [int] sched_id.\n" },    
+      "Returns: [int] sched_id.\n" },
 
     { "sched_credit_domain_set",
       (PyCFunction)pyxc_sched_credit_domain_set,
@@ -2119,7 +2119,7 @@ static PyMethodDef pyxc_methods[] = {
       "Returns:   [dict]\n"
       " weight    [short]: domain's scheduling weight\n"},
 
-    { "evtchn_alloc_unbound", 
+    { "evtchn_alloc_unbound",
       (PyCFunction)pyxc_evtchn_alloc_unbound,
       METH_VARARGS | METH_KEYWORDS, "\n"
       "Allocate an unbound port that will await a remote connection.\n"
@@ -2127,7 +2127,7 @@ static PyMethodDef pyxc_methods[] = {
       " remote_dom [int]: Remote domain to accept connections from.\n\n"
       "Returns: [int] Unbound event-channel port.\n" },
 
-    { "evtchn_reset", 
+    { "evtchn_reset",
       (PyCFunction)pyxc_evtchn_reset,
       METH_VARARGS | METH_KEYWORDS, "\n"
       "Reset all connections.\n"
@@ -2152,9 +2152,9 @@ static PyMethodDef pyxc_methods[] = {
       " func   [int]: PCI function\n"
       " enable [int]: Non-zero means enable access; else disable access\n\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
- 
-    { "readconsolering", 
-      (PyCFunction)pyxc_readconsolering, 
+
+    { "readconsolering",
+      (PyCFunction)pyxc_readconsolering,
       METH_VARARGS | METH_KEYWORDS, "\n"
       "Read Xen's console ring.\n"
       " clear [int, 0]: Bool - clear the ring after reading from it?\n\n"
@@ -2202,40 +2202,40 @@ static PyMethodDef pyxc_methods[] = {
       "Returns [str]: Xen buildid"
       "        [None]: on failure.\n" },
 
-    { "shadow_control", 
-      (PyCFunction)pyxc_shadow_control, 
+    { "shadow_control",
+      (PyCFunction)pyxc_shadow_control,
       METH_VARARGS | METH_KEYWORDS, "\n"
       "Set parameter for shadow pagetable interface\n"
       " dom [int]:   Identifier of domain.\n"
       " op [int, 0]: operation\n\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-    { "shadow_mem_control", 
-      (PyCFunction)pyxc_shadow_mem_control, 
+    { "shadow_mem_control",
+      (PyCFunction)pyxc_shadow_mem_control,
       METH_VARARGS | METH_KEYWORDS, "\n"
       "Set or read shadow pagetable memory use\n"
       " dom [int]:   Identifier of domain.\n"
       " mb [int, -1]: MB of shadow memory this domain should have.\n\n"
       "Returns: [int] MB of shadow memory in use by this domain.\n" },
 
-    { "domain_setmaxmem", 
-      (PyCFunction)pyxc_domain_setmaxmem, 
+    { "domain_setmaxmem",
+      (PyCFunction)pyxc_domain_setmaxmem,
       METH_VARARGS, "\n"
       "Set a domain's memory limit\n"
       " dom [int]: Identifier of domain.\n"
       " maxmem_kb [int]: .\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-    { "domain_set_target_mem", 
-      (PyCFunction)pyxc_domain_set_target_mem, 
+    { "domain_set_target_mem",
+      (PyCFunction)pyxc_domain_set_target_mem,
       METH_VARARGS, "\n"
       "Set a domain's memory target\n"
       " dom [int]: Identifier of domain.\n"
       " mem_kb [int]: .\n"
       "Returns: [int] 0 on success; -1 on error.\n" },
 
-    { "domain_set_memmap_limit", 
-      (PyCFunction)pyxc_domain_set_memmap_limit, 
+    { "domain_set_memmap_limit",
+      (PyCFunction)pyxc_domain_set_memmap_limit,
       METH_VARARGS, "\n"
       "Set a domain's physical memory mapping limit\n"
       " dom [int]: Identifier of domain.\n"
@@ -2309,7 +2309,7 @@ static PyMethodDef pyxc_methods[] = {
       "Inject debug keys into Xen.\n"
       " keys    [str]: String of keys to inject.\n" },
 
-    { "dom_set_memshr", 
+    { "dom_set_memshr",
       (PyCFunction)pyxc_dom_set_memshr,
       METH_VARARGS, "\n"
       "Enable/disable memory sharing for the domain.\n"
@@ -2391,20 +2391,20 @@ static PyMethodDef pyxc_methods[] = {
       METH_VARARGS | METH_KEYWORDS, "\n"
       "Loads a policy into the hypervisor.\n"
       " policy [str]: policy to be load\n"
-      "Returns: [int]: 0 on success; -1 on failure.\n" }, 
-      
+      "Returns: [int]: 0 on success; -1 on failure.\n" },
+
     { "flask_getenforce",
       (PyCFunction)pyflask_getenforce,
       METH_NOARGS, "\n"
       "Returns the current mode of the Flask XSM module.\n"
-      "Returns: [int]: 0 for permissive; 1 for enforcing; -1 on failure.\n" }, 
+      "Returns: [int]: 0 for permissive; 1 for enforcing; -1 on failure.\n" },
 
     { "flask_setenforce",
       (PyCFunction)pyflask_setenforce,
       METH_VARARGS | METH_KEYWORDS, "\n"
       "Modifies the current mode for the Flask XSM module.\n"
       " mode [int]: mode to change to\n"
-      "Returns: [int]: 0 on success; -1 on failure.\n" }, 
+      "Returns: [int]: 0 on success; -1 on failure.\n" },
 
     { "flask_access",
       (PyCFunction)pyflask_access,
@@ -2423,7 +2423,7 @@ static PyMethodDef pyxc_methods[] = {
       " auditdeny [int] permissions set to audit on deny\n"
       " seqno [int] not used\n"
       "Returns: [int]: 0 on all permission granted; -1 if any permissions are \
-       denied\n" }, 
+       denied\n" },
 
     { NULL, NULL, 0, NULL }
 };
diff --git a/tools/python/xen/lowlevel/xs/xs.c b/tools/python/xen/lowlevel/xs/xs.c
index 3ba5a8b893d9..87f1187bb116 100644
--- a/tools/python/xen/lowlevel/xs/xs.c
+++ b/tools/python/xen/lowlevel/xs/xs.c
@@ -1,4 +1,4 @@
-/* 
+/*
  * Python interface to the Xen Store Daemon.
  *
  * This library is free software; you can redistribute it and/or
@@ -859,7 +859,7 @@ static void remove_watch(XsHandle *self, PyObject *token)
  * Parse transaction and path arguments from the given args and kwds,
  * convert the given self value to an xs_handle, and return all three by
  * reference.
- * 
+ *
  * @return 1 on success, in which case *xh, *th, and *path are valid, or 0 on
  * failure.
  */
diff --git a/tools/xenmon/xenmon.py b/tools/xenmon/xenmon.py
index 977ada688771..1b357aed5127 100644
--- a/tools/xenmon/xenmon.py
+++ b/tools/xenmon/xenmon.py
@@ -13,12 +13,12 @@
 #   This program is free software; you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
 #   the Free Software Foundation; under version 2 of the License.
-# 
+#
 #   This program is distributed in the hope that it will be useful,
 #   but WITHOUT ANY WARRANTY; without even the implied warranty of
 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 #   GNU General Public License for more details.
-# 
+#
 #   You should have received a copy of the GNU General Public License
 #   along with this program; If not, see <http://www.gnu.org/licenses/>.
 #####################################################################
@@ -79,7 +79,7 @@ def setup_cmdline_parser():
     parser.add_option("-p", "--prefix", dest="prefix",
                       default = "log", help="prefix to use for output files")
     parser.add_option("-t", "--time", dest="duration",
-            action="store", type="int", default=10, 
+            action="store", type="int", default=10,
             help="stop logging to file after this much time has elapsed (in seconds). set to 0 to keep logging indefinitely")
     parser.add_option("-i", "--interval", dest="interval",
             action="store", type="int", default=1000,
@@ -179,7 +179,7 @@ class DomainInfo(object):
         return [total/(float(passed)/10**9), avg]
 
     def stats(self, passed):
-        return [self.gotten_stats(passed), self.allocated_stats(passed), self.blocked_stats(passed), 
+        return [self.gotten_stats(passed), self.allocated_stats(passed), self.blocked_stats(passed),
                 self.waited_stats(passed), self.ec_stats(passed), self.io_stats(passed)]
 
 # report values over desired interval
@@ -187,13 +187,13 @@ def summarize(startat, endat, duration, samples):
     dominfos = {}
     for i in range(0, NDOMAINS):
         dominfos[i] = DomainInfo()
-        
+
     passed = 1              # to prevent zero division
     curid = startat
     numbuckets = 0
     lost_samples = []
     ffp_samples = []
-    
+
     while passed < duration:
         for i in range(0, NDOMAINS):
             if dom_in_use[i]:
@@ -203,7 +203,7 @@ def summarize(startat, endat, duration, samples):
                 dominfos[i].blocked_sum += samples[curid][3*NDOMAINS + i]
                 dominfos[i].exec_count += samples[curid][4*NDOMAINS + i]
                 dominfos[i].iocount_sum += samples[curid][5*NDOMAINS + i]
-    
+
         passed += samples[curid][6*NDOMAINS]
         lost_samples.append(samples[curid][6*NDOMAINS + 2])
         ffp_samples.append(samples[curid][6*NDOMAINS + 3])
@@ -271,7 +271,7 @@ def show_livestats(cpu):
     cpu_10sec_usage = 0.0
     heartbeat = 1
     global dom_in_use, options
-    
+
     # mmap the (the first chunk of the) file
     shmf = open(SHM_FILE, "r+")
     shm = mmap.mmap(shmf.fileno(), QOS_DATA_SIZE)
@@ -284,7 +284,7 @@ def show_livestats(cpu):
     stdscr.keypad(1)
     stdscr.timeout(1000)
     [maxy, maxx] = stdscr.getmaxyx()
-    
+
     # display in a loop
     while True:
 
@@ -342,7 +342,7 @@ def show_livestats(cpu):
             cpuidx = cpuidx + 1
 
         # calculate starting and ending datapoints; never look at "next" since
-        # it represents live data that may be in transition. 
+        # it represents live data that may be in transition.
         startat = next - 1
         if next + 10 < NSAMPLES:
             endat = next + 10
@@ -374,7 +374,7 @@ def show_livestats(cpu):
 
             if h1[dom][0][1] > 0 or domain_id[dom] == IDLE_DOMAIN:
                 # display gotten
-                row += 1 
+                row += 1
                 col = 2
                 display_domain_id(stdscr, row, col, domain_id[dom])
                 col += 4
@@ -396,7 +396,7 @@ def show_livestats(cpu):
 
                 if dom != IDLE_DOMAIN:
                     cpu_1sec_usage = cpu_1sec_usage + h1[dom][0][1]
-    
+
                 # display allocated
                 if options.allocated:
                     row += 1
@@ -454,7 +454,7 @@ def show_livestats(cpu):
                     row += 1
                     col = 2
                     display_domain_id(stdscr, row, col, domain_id[dom])
-                    
+
                     col += 28
                     display(stdscr, row, col, "%d/s" % h2[dom][4])
                     col += 42
@@ -490,14 +490,14 @@ def show_livestats(cpu):
         display(stdscr, row, 1, star)
         display(stdscr, row, 2, TOTALS % (total_h2_cpu, total_h1_cpu))
         row += 1
-#        display(stdscr, row, 2, 
-#                "\tFFP: %d (Min: %d, Max: %d)\t\t\tFFP: %d (Min: %d, Max %d)" % 
+#        display(stdscr, row, 2,
+#                "\tFFP: %d (Min: %d, Max: %d)\t\t\tFFP: %d (Min: %d, Max %d)" %
 #                (math.ceil(f2[1]), f2[0], f2[2], math.ceil(f1[1]), f1[0], f1[2]), _c.A_BOLD)
 
         if l1[1] > 1 :
             row += 1
-            display(stdscr, row, 2, 
-                    "\tRecords lost: %d (Min: %d, Max: %d)\t\t\tRecords lost: %d (Min: %d, Max %d)" % 
+            display(stdscr, row, 2,
+                    "\tRecords lost: %d (Min: %d, Max: %d)\t\t\tRecords lost: %d (Min: %d, Max %d)" %
                     (math.ceil(l2[1]), l2[0], l2[2], math.ceil(l1[1]), l1[0], l1[2]), _c.A_BOLD)
 
         # grab a char from tty input; exit if interrupt hit
@@ -505,11 +505,11 @@ def show_livestats(cpu):
             c = stdscr.getch()
         except:
             break
-        
+
         # q = quit
         if c == ord('q'):
             break
-    
+
         # c = cycle to a new cpu of interest
         if c == ord('c'):
             cpu = (cpu + 1) % ncpu
@@ -560,7 +560,7 @@ class Delayed(object):
     def close(self):
         if  self.opened:
             self.file.close()
-            
+
 
 def writelog():
     global options
@@ -639,7 +639,7 @@ def writelog():
                                      h1[dom][1],
                                      h1[dom][2][0], h1[dom][2][1], h1[dom][2][2],
                                      h1[dom][3][0], h1[dom][3][1], h1[dom][3][2],
-                                     h1[dom][4], 
+                                     h1[dom][4],
                                      h1[dom][5][0], h1[dom][5][1]))
                     outfiles[dom].flush()
             curr = time.time()
@@ -698,7 +698,7 @@ def main():
        options.mspersample > options.duration * 1000:
         parser.error("option --ms_per_sample: too large (> %d ms)" %
                      (options.duration * 1000))
-    
+
     start_xenbaked()
     if options.live:
         show_livestats(options.cpu)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:19:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:19:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509656.785827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5VH-00010d-Jf; Tue, 14 Mar 2023 14:19:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509656.785827; Tue, 14 Mar 2023 14: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 1pc5VH-00010W-Gm; Tue, 14 Mar 2023 14:19:51 +0000
Received: by outflank-mailman (input) for mailman id 509656;
 Tue, 14 Mar 2023 14:19: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=Zfqj=7G=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pc5VF-000102-TI
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:19:49 +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 467dc3a0-c273-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:19:48 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id j11so62709678edq.4
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 07:19: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: 467dc3a0-c273-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678803587;
        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=vDVhdQS7kpEm9s8BfeQA6VW0gZcYeqF6UvpVg13vS7Y=;
        b=ANjxlxNCL2QIv+A9xukIgHsoGLFLjrO0vnnFpU5RMjG5CmNLNYNICuy+mb4klnifTN
         hfldpL9sqNmu3j84L5tCfj3w3RGSt7G7cpROBx6Rt27Cmt2gKyLHVLZM0YD7NcRQyKmF
         L148zynD2uDaseQwLge4T2ZIdp/ArBY1ylb+0RVXzveycBkmVpr85Bhk4AnHdzJv4tS0
         d8+lNa9lrhukle/GrKWlAujDMj8AIxwiWel4aAmmCalqR+GIrqW8Xf3ksIs+BiVJaa6f
         NQ+FcwfMDhJn+h3iqxTupaZ46SG8p1dzv34Dj+VjPUaYOTaamPXQ8hHMD+H1CczEgW6s
         z5FA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678803587;
        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=vDVhdQS7kpEm9s8BfeQA6VW0gZcYeqF6UvpVg13vS7Y=;
        b=c32p77LY8i575zrsOAn1ClXPg1dtWeBGw61tD3fBjE3e4FiW7jVIr2395AhCaMR5dO
         VrbQbFojQZqpIQaj++AoyrCJj8wmj+AFxE19Twae14TBSQSV3VBshkLuCE9XYgJyK+WC
         kw0qWS5LdAm+v3Ra5HGBKsZNqqnQqeddTKhBJ3FGQcB9RaWZuisxPPo6+OMljouIy+Yz
         nXx12J9Z26OEegZwkbHx5lNXNTB3RiWtXHRvvsgo3wySoBTH/J8S38r8i0PXXJUujfD6
         k3qjz/VsLuije9E5S3F+W18oS7y3E7uJrp0JHCaBSuYlJSWCvmu0ROCyVZ2J27JgZ7LR
         2lNA==
X-Gm-Message-State: AO0yUKXV2gvm3nD3dTKF+OfyYJbOT8rkfCDt0EsIZ3TU5HlFJYeQqEyy
	Vzm3pMx0nJkDUtlK8oMDCOZpMPuKKNbKL5lF8WE=
X-Google-Smtp-Source: AK7set/S+uWjzf+uCfyHZzMNuO4EuDTg6yqgnq42VG7rAW3VFeQFzzPf5YL4jbgNNv8tegD4+xF3DdsBPXJ3++rhZd0=
X-Received: by 2002:a17:906:b351:b0:91f:79d3:d3e2 with SMTP id
 cd17-20020a170906b35100b0091f79d3d3e2mr1331144ejb.3.1678803587441; Tue, 14
 Mar 2023 07:19:47 -0700 (PDT)
MIME-Version: 1.0
References: <20230313175047.20719-1-jandryuk@gmail.com> <a990fe77-6132-c5df-c149-6255fb13d845@apertussolutions.com>
 <CAKf6xpt02aK7SWNb=xB3kKZB3Dt9UC8mMKMVz5kq96uNJvdzbQ@mail.gmail.com>
 <d17d7b39-28ce-55a6-8d2b-fe2dfd10c38d@gmail.com> <52c04d0b-2b30-ffc5-fe5f-72a182abfee7@suse.com>
 <CAKf6xpv7AGqWOcv2hFYzcJLq0c3EyhUiBxvmHeSui661M6HFcQ@mail.gmail.com> <ffc64415-8689-a3c5-ab1e-b1a9b3b397cd@suse.com>
In-Reply-To: <ffc64415-8689-a3c5-ab1e-b1a9b3b397cd@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 14 Mar 2023 10:19:35 -0400
Message-ID: <CAKf6xpsfh0yHpr4=ABBTz4XTWyDyMUNPivVqsBGD=J-B2Yi1-A@mail.gmail.com>
Subject: Re: [PATCH] flask: label-pci: Allow specifying optional irq label
To: Jan Beulich <jbeulich@suse.com>
Cc: "dpsmith.dev" <dpsmith.dev@gmail.com>, xen-devel@lists.xenproject.org, 
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, 
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 14, 2023 at 10:11=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wr=
ote:
>
> On 14.03.2023 14:20, Jason Andryuk wrote:

> > This patch should have had v2 in the subject (it has a v2 change log).
> > The next one will have v3.
>
> Will it? I've committed it earlier today ...

Not any more!  Thank you.  I had not checked staging.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:21:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:21:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509659.785838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5Wz-0002RR-Uq; Tue, 14 Mar 2023 14:21:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509659.785838; Tue, 14 Mar 2023 14:21: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 1pc5Wz-0002RK-SA; Tue, 14 Mar 2023 14:21:37 +0000
Received: by outflank-mailman (input) for mailman id 509659;
 Tue, 14 Mar 2023 14:21: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=9LtO=7G=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pc5Wy-0002RC-0a
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:21:36 +0000
Received: from sonic316-54.consmr.mail.gq1.yahoo.com
 (sonic316-54.consmr.mail.gq1.yahoo.com [98.137.69.30])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 84ec1406-c273-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 15:21:34 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic316.consmr.mail.gq1.yahoo.com with HTTP; Tue, 14 Mar 2023 14:21:31 +0000
Received: by hermes--production-ne1-759c9b8c64-7lgm5 (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 3ca88b3ab5c2ca17a44595379b04fcc2; 
 Tue, 14 Mar 2023 14:21: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: 84ec1406-c273-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678803691; bh=/sCctfPa+8N77SEpv5uUOJ2i+cEhaseBE+7f3Z/dftM=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=cgBWEI6pv3SuHdPrPN6LzTyRmTNvsdlRTCTY+wghqIO0PFx06zGcIeGJo17uXSYpSLr9Ah6aLHGQGeZ09svk2trUSuik/zARQD9Ldzr/GHC9QYOYD17V5TKXB80mEcXsIa6ggro4Xf/qfmScfa8l9R9bwRa0Svu4J/djwZ/+pHulRWbf343ZeY4CHpDxgng/q8YTQ/moutH7mjmc3gi7CUF5eTOcK4ZSn0613FKsNQayT5iGKQikAImAh9qS+fVBAwKuhOwEstZqTIkhE0MiQNL3V53mfedzj1gTUjwQ6cDwZW6Tq1ussAnnXgCYsV/2YwL7M13Nz/x3D2EBWjZ5SA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678803691; bh=cxR8+ivoOWx3C4TMEJTPjMsZbKQpAUVtORDx9F/xvvF=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=tsYz4e+9yE2UFMMqmFlbV2fre1xDkLluLwoq7+Ho6pRje6x4I58B+1yB5P/GEiCm6fyIseaaEX2IjlXrocF/ULBjVwgqYX0Ov0r0dove4LFb8oZd+Lut2CfFi/8LOCJXQIBxpgczvnjwVSb/DNGsYwBToQ79Fgpd97BX+QaRAUI52xvyOiTmxE8ZdSfQLq77g+Q5ZDR4tcdUi4XSJ30IDWepGXGRTXy6uB5DakDafpn8FrFLhQf4pNR8brQ8+oEdAAYV8EU6AHDhxLQhpeGri1rrRG7tt7wWzOhFjZgS0h2WAiTxP00Aoju4xM/iWdWAJn8PFyH7cII5GXW8ErFLpw==
X-YMail-OSG: rZ0G0ZgVM1kspkbBit1i7dIYV.gc6sfAgtAvcSXoEVaG.0xPPN9JbSEbrE3tWX6
 lN_LAjRPGE8QVJcl713EdjtVHpos.Mnf9eLZRhXv7CE2FnhXx0uDyrWLVnHPClm9MVXD9AEeIZz4
 2CQJn.GNNhygNXaN7C91de14tCStFEW.UlLm6DZWmgSHDbFyqQju2RraYSJZ4jX.nareh2ViJlUu
 UsIKOA1dAjEcbshaNmpwaREdks3ldtiog0XWx9gIQRftNgNeGy.BMXcv1OMfTByYr2Ugjb0aFps0
 m1m1z3SvM6QVEi654fkR_f6B3A7FMHekV2ADXk9xley79r4QKCPliK_ZR2pIyhz84G1WPBU5Yli3
 QIcABNbx8t6bvfMUNTnEU66IJhZnrNTEVWjhCeY1y_FD2_l0C42xC8YUCBIQNGdWrh8utvvrjWtr
 BXmypFKG7SVjAov3067uvEW5Mfs01HJP13tVYsz_UdIYw4QtUxg4CWlTsmrSMfMjbquFZz1PS9wl
 IlNi570Q7ImiqslHj8cokR2v8ulWdm2AgaBZPes4SnvuG8vD9XtIGy1UuYEX6jdFccLG23k6yREK
 QDsWIHhOJThVXjya_XU3HdBsvVK2WFsQnpSxkIM3JXhps4k0FV166pdeWWN_UBPXTmzuvXtzmsJE
 Af16EJTsIPcz.LEHZ6.FA36.kDdzsloFVqv8np2_rN4ZpHhj__Qmix.vNiagYqYOBV6BeWiCl3PI
 RIKHFVrRsFPZlI.0CvtHx9ueGfAIsK.iDvahjGxObvo5GL_QZXBEU.WvANd5KnlDCEeLul.YZr8T
 v9jexg900MOEo.R_i8OOF8BPYLV16vlLNNp4IH18cRkw_C8F3ws0gNkEDWu_j638NZ2gN0IkMTVy
 JC3kFFnj2OAg_YzsOuRgReE9tuFo7fC4FEtWjMrZbjXtsdyV2I7V5Nuvlgyjr9E6GRb3rJQ.jais
 4dmDZTtUDAJeGwnhJTU1YTMVhtELvLM_jOrkZTgEmOdNxpsT0ON8MACsMDpeOoSGgNcMbT_fcv6W
 Mba1pgjEluNpVjXBvfrC850drjFPnCtB2fvoLqLPuF_CZUS.wvVDXrqaEloXLnoJgdGCgGBIzel9
 qqxoPOIiYOwZDd1amqLCO7pkSxo5MhcKqhiC0NvDcNZbRV8QN3RlPMflyJz0oyah6iMw.siwdFpr
 IlujlkiXwOB0lkY4_3mMW3OZ6_5SPgunxp5MvTsInMuVwllkwn2_e6arjW_.tj2.BIJA31yvMmNR
 O.t6t_AXMRck2CmzzT0u5sGnJZWPFTQw7sTDyre6Hc_yNZbZxNFBB6yaKY1SZRSSJBg5qXPdMAu3
 seXD3vASitNHJHwuUbNb9DdiXBx4byn.6WX4euMNFpyGTGyaDqmemQiqUl1ilF2GE17bQhjJiXYk
 cWUIulYpLso2oaEqrRU_8X1K34W0TU0i5QE0Pn_1xO4GDhDHd0SLcHoju4QF2nR5LcHEJhVJ.s.8
 hkAo9r92TJ6B6DduIGNA8OJkKhEjKvZ4epTx4mDG8xQHo.rtJWzr_A9Hq4_j8zxV_ns1RJsaTl.I
 iv2PKB9O2d_3pm3VdLOSiB5CPG8u8PdSQL5iet04xrLwrcCJgfO9X4yqpYV3leTAccybShvUiWVE
 PGYkvGyu6_.LS1JQi1PgC8vXWp2P0XqNqaD_T5IfcwJg_QvkP80qlep9ewk1xBrbEzYsMVdq4ZNK
 mtR0p5jYiaivdaprlbdA.DJ0BzVuMz8Yb639L9qzCcqlHPHQ6ssTy4MdAOcYRJF1FLgxQwNXOghp
 uYh8jtQGWXVBhizkGKg_uagEjOMtk.VWmHZpd6ZGH0pc85OUGAWq_LtzMkggVvP7WvDmlutUijcN
 HrvKMeZd9ExKG29cEXveuMHFohD5.pxz03FHa7EwDAzzu8QaDa9fTX5UfAIszhR3OHFKZITszj4E
 CScFupBfwMqQPlOxxNxCLSD34eavTsZpYsaaO9mWlcKuEOsgTv9W52SOuoSVkroogHLa1HThMVMA
 OQBxh.1de7mOTdeXCQ6UBRfT6MKZu7pmtDrvzQ4lFqkSdxeDojpap1e0RVRyYad.nvOOyrzVmA8e
 Rt.CewFhEsK3e0ZPCfb4VsMXb_s8fmq1Abe5UmQ0GT5wJDT5CnVpRQE1hZAtSa84KL1kTEwUXJkv
 V4Y7W5wmBXEBCnPfBdOKYjAr9ztXLXaMuLjpw6XbEalREt0FX85syDOu_1KsLhmrggBeV8n97X1m
 BJ_SYpubSj3VQ_FTqfm6f
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 14a821b7-ea05-47e6-b905-a366b1dfa563
Message-ID: <7b822b6c-a0dc-63c9-722e-e1e0361a8d9d@aol.com>
Date: Tue, 14 Mar 2023 10:21:25 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/2] pci: allow slot_reserved_mask to be ignored with
 manual slot assignment
Content-Language: en-US
To: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 "Michael S. Tsirkin" <mst@redhat.com>
Cc: qemu-devel@nongnu.org, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Artyom Tarasenko <atar4qemu@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678763217.git.brchuckz@aol.com>
 <d9ae459b2814425c2d9e756e45d993c824da150a.1678763217.git.brchuckz@aol.com>
 <20230314023148-mutt-send-email-mst@kernel.org>
 <0c8ee7e9-dd23-262f-f67e-359e14abf6f2@ilande.co.uk>
 <20230314091653-mutt-send-email-mst@kernel.org>
 <34eda0c4-3d90-0e22-7888-81bf18e2a5f0@aol.com>
 <7b79ec08-064c-7940-0285-be8a96e2a144@ilande.co.uk>
From: Chuck Zmudzinski <brchuckz@aol.com>
In-Reply-To: <7b79ec08-064c-7940-0285-be8a96e2a144@ilande.co.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 11210

On 3/14/2023 9:41 AM, Mark Cave-Ayland wrote:
> On 14/03/2023 13:26, Chuck Zmudzinski wrote:
>
> > On 3/14/2023 9:17 AM, Michael S. Tsirkin wrote:
> >> On Tue, Mar 14, 2023 at 12:43:12PM +0000, Mark Cave-Ayland wrote:
> >>> On 14/03/2023 06:33, Michael S. Tsirkin wrote:
> >>>
> >>>> On Tue, Mar 14, 2023 at 12:01:09AM -0400, Chuck Zmudzinski wrote:
> >>>>> Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
> >>>>> uses slot_reserved_mask to reserve slot 2 for the Intel IGD for the
> >>>>> xenfv machine when the guest is configured for igd-passthru.
> >>>>>
> >>>>> A desired extension to that commit is to allow use of the reserved slot
> >>>>> if the administrator manually configures a device to use the reserved
> >>>>> slot. Currently, slot_reserved_mask is enforced unconditionally. With
> >>>>> this patch, the pci bus can be configured so the slot is only reserved
> >>>>> if the pci device to be added to the bus is configured for automatic
> >>>>> slot assignment.
> >>>>>
> >>>>> To enable the desired behavior of slot_reserved_mask machine, add a
> >>>>> boolean member enforce_slot_reserved_mask_manual to struct PCIBus and
> >>>>> add a function pci_bus_ignore_slot_reserved_mask_manual which can be
> >>>>> called to change the default behavior of always enforcing
> >>>>> slot_reserved_mask so, in that case, slot_reserved_mask is only enforced
> >>>>> when the pci device being added is configured for automatic slot
> >>>>> assignment.
> >>>>>
> >>>>> Call the new pci_bus_ignore_slot_reserved_mask_manual function after
> >>>>> creating the pci bus for the pc/i440fx/xenfv machine type to implement
> >>>>> the desired behavior of causing slot_reserved_mask to only apply when
> >>>>> the pci device to be added to a pc/i440fx/xenfv machine is configured
> >>>>> for automatic slot assignment.
> >>>>>
> >>>>> Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
> >>>>> Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
> >>>>
> >>>> I really dislike this.
> >>>> It seems that xen should not have used slot_reserved_mask,
> >>>> and instead needs something new like slot_manual_mask.
> >>>> No?
> >>>
> >>> My suggestion was to move the validation logic to a separate callback
> >>> function in PCIBus (see
> >>> https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg03988.html) but
> >>> perhaps I wasn't clear enough in pointing out that I was thinking this could
> >>> *replace* the existing slot_reserved_mask mechanism, rather than providing a
> >>> hook to allow it to be manipulated.
> >>>
> >>> Here's a very rough patch put together over lunch that attempts this for
> >>> pci_bus_devfn_reserved(): the idea is that sun4u and Xen would call
> >>> pci_bus_set_slot_reserved_fn() with a suitable pci_slot_reserved_fn
> >>> implementation, and slot_reserved_mask gets removed completely i.e.:
> >>>
> >>>
> >>> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> >>> index def5000e7b..30b856499a 100644
> >>> --- a/hw/pci/pci.c
> >>> +++ b/hw/pci/pci.c
> >>> @@ -493,6 +493,13 @@ bool pci_bus_bypass_iommu(PCIBus *bus)
> >>>       return host_bridge->bypass_iommu;
> >>>   }
> >>>
> >>> +static bool pci_bus_default_slot_reserved(PCISlotReservationType restype,
> >>> +                                          int devfn)
> >>> +{
> >>> +    /* All slots accessible by default */
> >>> +    return false;
> >>> +}
> >>> +
> >>>   static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
> >>>                                          MemoryRegion *address_space_mem,
> >>>                                          MemoryRegion *address_space_io,
> >>> @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
> >>> DeviceState *parent,
> >>>   {
> >>>       assert(PCI_FUNC(devfn_min) == 0);
> >>>       bus->devfn_min = devfn_min;
> >>> -    bus->slot_reserved_mask = 0x0;
> >>> +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
> >>>       bus->address_space_mem = address_space_mem;
> >>>       bus->address_space_io = address_space_io;
> >>>       bus->flags |= PCI_BUS_IS_ROOT;
> >>> @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
> >>>       return !(bus->devices[devfn]);
> >>>   }
> >>>
> >>> -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
> >>> +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
> >>> +                                   PCISlotReservationType restype)
> >>> +{
> >>> +    return bus->slot_reserved_fn(restype, devfn);
> >>> +}
> >>> +
> >>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
> >>>   {
> >>> -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
> >>> +    bus->slot_reserved_fn = fn;
> >>>   }
> >>>
> >>>   /* -1 for devfn means auto assign */
> >>> @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >>>           for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
> >>>               devfn += PCI_FUNC_MAX) {
> >>>               if (pci_bus_devfn_available(bus, devfn) &&
> >>> -                   !pci_bus_devfn_reserved(bus, devfn)) {
> >>> +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
> >>>                   goto found;
> >>>               }
> >>>           }
> >>> @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >>>                      "or reserved", name);
> >>>           return NULL;
> >>>       found: ;
> >>> -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
> >>> +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
> >>>           error_setg(errp, "PCI: slot %d function %d not available for %s,"
> >>>                                          MemoryRegion *address_space_io,
> >>> @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
> >>> DeviceState *parent,
> >>>   {
> >>>       assert(PCI_FUNC(devfn_min) == 0);
> >>>       bus->devfn_min = devfn_min;
> >>> -    bus->slot_reserved_mask = 0x0;
> >>> +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
> >>>       bus->address_space_mem = address_space_mem;
> >>>       bus->address_space_io = address_space_io;
> >>>       bus->flags |= PCI_BUS_IS_ROOT;
> >>> @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
> >>>       return !(bus->devices[devfn]);
> >>>   }
> >>>
> >>> -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
> >>> +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
> >>> +                                   PCISlotReservationType restype)
> >>> +{
> >>> +    return bus->slot_reserved_fn(restype, devfn);
> >>> +}
> >>> +
> >>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
> >>>   {
> >>> -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
> >>> +    bus->slot_reserved_fn = fn;
> >>>   }
> >>>
> >>>   /* -1 for devfn means auto assign */
> >>> @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >>>           for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
> >>>               devfn += PCI_FUNC_MAX) {
> >>>               if (pci_bus_devfn_available(bus, devfn) &&
> >>> -                   !pci_bus_devfn_reserved(bus, devfn)) {
> >>> +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
> >>>                   goto found;
> >>>               }
> >>>           }
> >>> @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >>>                      "or reserved", name);
> >>>           return NULL;
> >>>       found: ;
> >>> -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
> >>> +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
> >>>           error_setg(errp, "PCI: slot %d function %d not available for %s,"
> >>>                      " reserved",
> >>>                      PCI_SLOT(devfn), PCI_FUNC(devfn), name);
> >>> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> >>> index d5a40cd058..8a949f7ae1 100644
> >>> --- a/include/hw/pci/pci.h
> >>> +++ b/include/hw/pci/pci.h
> >>> @@ -257,10 +257,18 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev);
> >>>    */
> >>>   int pci_bar(PCIDevice *d, int reg);
> >>>
> >>> +typedef enum PCISlotReservationType {
> >>> +    PCI_SLOT_RESERVATION_AUTO,
> >>> +    PCI_SLOT_RESERVATION_MANUAL
> >>> +} PCISlotReservationType;
> >>> +
> >>> +typedef bool (*pci_slot_reserved_fn)(PCISlotReservationType restype, int devfn);
> >>>   typedef void (*pci_set_irq_fn)(void *opaque, int irq_num, int level);
> >>>   typedef int (*pci_map_irq_fn)(PCIDevice *pci_dev, int irq_num);
> >>>   typedef PCIINTxRoute (*pci_route_irq_fn)(void *opaque, int pin);
> >>>
> >>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn);
> >>> +
> >>>   #define TYPE_PCI_BUS "PCI"
> >>>   OBJECT_DECLARE_TYPE(PCIBus, PCIBusClass, PCI_BUS)
> >>>   #define TYPE_PCIE_BUS "PCIE"
> >>> diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
> >>> index 5653175957..d68ea1418d 100644
> >>> --- a/include/hw/pci/pci_bus.h
> >>> +++ b/include/hw/pci/pci_bus.h
> >>> @@ -36,7 +36,7 @@ struct PCIBus {
> >>>       PCIIOMMUFunc iommu_fn;
> >>>       void *iommu_opaque;
> >>>       uint8_t devfn_min;
> >>> -    uint32_t slot_reserved_mask;
> >>> +    pci_slot_reserved_fn slot_reserved_fn;
> >>>       pci_set_irq_fn set_irq;
> >>>       pci_map_irq_fn map_irq;
> >>>       pci_route_irq_fn route_intx_to_irq;
> >>>
> >>>
> >>> If this approach seems reasonable, I'm happy for someone else to take this
> >>> over and turn it into a proper series.
> >>>
> >>>
> >>> ATB,
> >>>
> >>> Mark.
> >>
> >> It's ok too though I think I like chuck's proposal better:
> >> less callbacks to chase.
> >>
> > 
> > I would be willing to pursue this if there were more use cases for
> > slot_reserved_mask than just the two cases we have now: xen and sun4u.
> > Until there is a clear demand for a more general way to manipulate the
> > mask, I agree with Michael that the KISS principle should apply here.
>
> No worries. The thinking behind this idea was that it feel like the Xen case is 
> special in that it has separate requirements for auto slot allocation and manual slot 
> allocation: if slot reservation were used in more places, I'd expect the sun4u case 
> to be more common, in which case it seems a bit more work for the common case to have 
> to set both slot_reserved_mask_auto and slot_reserved_mask_manual separately. Perhaps 
> a single accessor function can be used to set both mask values together for a PCIBus?

My immediate thought as a way to avoid needing to set both masks in the
sun4u machine would be to add an initialization function that defines the
relationship between the two masks. The sun4u machine would use a default
function that simply sets the manual mask equal to the auto mask. In the
special case of xen, the manual mask would be set to 0.

>
> Regardless, I'll take step back and leave you and Michael to come up with a solution 
> that you're both happy with. Let me know if you need me to test anything on sun4u.
>
>
> ATB,
>
> Mark.



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:27:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:27:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509662.785858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5d3-0003Qh-RU; Tue, 14 Mar 2023 14:27:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509662.785858; Tue, 14 Mar 2023 14: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 1pc5d3-0003Qa-OM; Tue, 14 Mar 2023 14:27:53 +0000
Received: by outflank-mailman (input) for mailman id 509662;
 Tue, 14 Mar 2023 14:27:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6q5S=7G=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pc5d2-0003Pt-JL
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:27: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 660bc775-c274-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:27: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 21FA21F899;
 Tue, 14 Mar 2023 14:27: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 D7DEC13A26;
 Tue, 14 Mar 2023 14:27:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id itxPM2WEEGSlHQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Mar 2023 14: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: 660bc775-c274-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678804070; 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=n8TxNKtpI04XLAnLEmz7M3NSUXuLRT6vG3gdFIDxCXU=;
	b=TEKm+kbgBv5DNKUVg3fZVCjzh4vkguPjGhL+guVf0uW/1MQ3c4bjHWJmBRM27+NYVtaBmX
	sT9vW4z1vPpy6G3G/6ScEW8hEFfY0ksYLNNh2M8vmtkYhI3oK4SwXcpNajGIcuJ4Vm/qRn
	pIbfX21rDC/9PIkVGDg7vXXuGPjZi+0=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jens Axboe <axboe@kernel.dk>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 1/4] xen/blkback: fix white space code style issues
Date: Tue, 14 Mar 2023 15:27:38 +0100
Message-Id: <20230314142741.24917-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230314142741.24917-1-jgross@suse.com>
References: <20230314142741.24917-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
---
 drivers/block/xen-blkback/blkback.c | 2 +-
 drivers/block/xen-blkback/common.h  | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index a5cf7f1e871c..6e2163aaf362 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -891,7 +891,7 @@ static int xen_blkbk_map(struct xen_blkif_ring *ring,
 out:
 	for (i = last_map; i < num; i++) {
 		/* Don't zap current batch's valid persistent grants. */
-		if(i >= map_until)
+		if (i >= map_until)
 			pages[i]->persistent_gnt = NULL;
 		pages[i]->handle = BLKBACK_INVALID_HANDLE;
 	}
diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index a28473470e66..9a13a6b420a6 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -296,7 +296,7 @@ struct xen_blkif_ring {
 	struct work_struct	free_work;
 	/* Thread shutdown wait queue. */
 	wait_queue_head_t	shutdown_wq;
-	struct xen_blkif 	*blkif;
+	struct xen_blkif	*blkif;
 };
 
 struct xen_blkif {
@@ -315,7 +315,7 @@ struct xen_blkif {
 	atomic_t		drain;
 
 	struct work_struct	free_work;
-	unsigned int 		nr_ring_pages;
+	unsigned int		nr_ring_pages;
 	bool			multi_ref;
 	/* All rings for this device. */
 	struct xen_blkif_ring	*rings;
@@ -329,7 +329,7 @@ struct seg_buf {
 };
 
 struct grant_page {
-	struct page 		*page;
+	struct page		*page;
 	struct persistent_gnt	*persistent_gnt;
 	grant_handle_t		handle;
 	grant_ref_t		gref;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:27:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:27:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509661.785847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5cw-0003A4-JL; Tue, 14 Mar 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 509661.785847; Tue, 14 Mar 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 1pc5cw-00039x-GU; Tue, 14 Mar 2023 14:27:46 +0000
Received: by outflank-mailman (input) for mailman id 509661;
 Tue, 14 Mar 2023 14: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=6q5S=7G=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pc5cv-00039r-TM
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:27: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 62cc2b9e-c274-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 15:27: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 761931F895;
 Tue, 14 Mar 2023 14:27: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 3A70F13A26;
 Tue, 14 Mar 2023 14:27:44 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id rbnxDGCEEGSPHQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Mar 2023 14:27:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62cc2b9e-c274-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678804064; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:content-transfer-encoding;
	bh=R1wW+YnArC6IHU7qwTCVnEU29JD+W5z4FpnswptM4hY=;
	b=eryhgfOvvaYw8USYF2PSt056fJlHaUHN+oyliCoh2ZzqATfy0X0EjhRh8Hn/FG6kbXPP9L
	27kLF4mS/exwNPe0FdbFY61LrT3DogzorndDft/TGe07ZxEZmqjgCp4djiZmyo+SwkQV4D
	Goz/dtdj0KwOPJaY0w+PGgTx77dD8Tw=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jens Axboe <axboe@kernel.dk>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 0/4] xen/blkback: some cleanups
Date: Tue, 14 Mar 2023 15:27:37 +0100
Message-Id: <20230314142741.24917-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Some small cleanup patches I had lying around for some time now.

Juergen Gross (4):
  xen/blkback: fix white space code style issues
  xen/blkback: remove stale prototype
  xen/blkback: simplify free_persistent_gnts() interface
  xen/blkback: move blkif_get_x86_*_req() into blkback.c

 drivers/block/xen-blkback/blkback.c | 126 +++++++++++++++++++++++++---
 drivers/block/xen-blkback/common.h  | 103 +----------------------
 2 files changed, 118 insertions(+), 111 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:27:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:27:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509663.785868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5d9-0003k2-7u; Tue, 14 Mar 2023 14:27:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509663.785868; Tue, 14 Mar 2023 14:27:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5d9-0003jv-3P; Tue, 14 Mar 2023 14:27:59 +0000
Received: by outflank-mailman (input) for mailman id 509663;
 Tue, 14 Mar 2023 14:27: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=6q5S=7G=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pc5d7-0003Pt-Hv
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:27:57 +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 695cc9be-c274-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:27: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 B1A161F899;
 Tue, 14 Mar 2023 14:27: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 7913413A26;
 Tue, 14 Mar 2023 14:27:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 799bHGuEEGSwHQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Mar 2023 14:27:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 695cc9be-c274-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678804075; 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=FqlDj5UjmiMEvoSqLoc8v4qWW4pHq8z/st4qCe4e2C4=;
	b=XedR/elBQfI+Fz7FgpPVP+ZbOWuN0G/kycE+YIYHG4ucOgb2jqbq/RsT3P01YYQc+jh+sD
	p7AUUWfpWVa3R7aQTs5LIveOP60zG+VFTOWn/LG+1mrwU+jRNEANIJTd2m81lRdJqETmfr
	76hrkOJfJyw/GrSMrGqgR2qjN60oV4I=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jens Axboe <axboe@kernel.dk>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 2/4] xen/blkback: remove stale prototype
Date: Tue, 14 Mar 2023 15:27:39 +0100
Message-Id: <20230314142741.24917-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230314142741.24917-1-jgross@suse.com>
References: <20230314142741.24917-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

There is no function xen_blkif_purge_persistent(), so remove its
prototype from common.h.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
---
 drivers/block/xen-blkback/common.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index 9a13a6b420a6..fab8a8dee0da 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -384,7 +384,6 @@ void xen_blkif_xenbus_fini(void);
 
 irqreturn_t xen_blkif_be_int(int irq, void *dev_id);
 int xen_blkif_schedule(void *arg);
-int xen_blkif_purge_persistent(void *arg);
 void xen_blkbk_free_caches(struct xen_blkif_ring *ring);
 
 int xen_blkbk_flush_diskcache(struct xenbus_transaction xbt,
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:28:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:28:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509664.785878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5dB-00042V-F4; Tue, 14 Mar 2023 14:28:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509664.785878; Tue, 14 Mar 2023 14: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 1pc5dB-00042J-At; Tue, 14 Mar 2023 14:28:01 +0000
Received: by outflank-mailman (input) for mailman id 509664;
 Tue, 14 Mar 2023 14: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=MGiv=7G=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pc5d9-00039r-EW
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:27:59 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20617.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69e79ef8-c274-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 15:27:58 +0100 (CET)
Received: from BN7PR02CA0001.namprd02.prod.outlook.com (2603:10b6:408:20::14)
 by DM4PR12MB5135.namprd12.prod.outlook.com (2603:10b6:5:392::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 14:27:55 +0000
Received: from BL02EPF000108EB.namprd05.prod.outlook.com
 (2603:10b6:408:20:cafe::71) by BN7PR02CA0001.outlook.office365.com
 (2603:10b6:408:20::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26 via Frontend
 Transport; Tue, 14 Mar 2023 14:27:54 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF000108EB.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.6178.12 via Frontend Transport; Tue, 14 Mar 2023 14:27:54 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 14 Mar
 2023 09:27:53 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 14 Mar
 2023 07:27:53 -0700
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.2375.34
 via Frontend Transport; Tue, 14 Mar 2023 09:27:52 -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: 69e79ef8-c274-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Gjcr5cOaQ8CZfownoJVX+CxiAJ0iNVqW3cN+H9nX6fmLlGmJrQ0JWpgA66mk/RafauRcKt3F4vfKvBd2Cv0gs47I4u9QQbwORAIjx3KMxzTVqLmQV5+2kOiMUlzgvU1SXFfrCBxsK6xE0lnECFKKg567xASPMpAkChEwjJEblPJLhR9+yc3MAfnfI3QlQfN/Oqr8YC2z8qow664LwEy5vc8ezzLoe8oyZP4qJ+/jgPxbz3nQenAXAB5SSzXmHw1WIihOphuTvDkjzm+uQn07WMKnYjmLtRBAmF3QdB/ejjZdo70x43IMyreYqtEgZ/HRi+2S8sUcE8IRCHx3BzuPvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KSmnECZXKVPgyAepBZNc+28vY759/kkLgbNNl98Hzx8=;
 b=iakKbIel4KV7lRlxCnQ7bAVd6RcVPX3T+L6y9aWBaJVenCuPjrYtzLWUE9ndBeB541BWUkRAycgUIYi6RQgFPq+sQTKMR20Be64rzdY8RmtFY7AplN/h3XDlpuuqTKFkJ4mpvO95WYgSjnubWx5Q0rKuE99zB73hXpPG7BH2g7ng6oMs3iHgQ6mfPJDm+st32lRIf+wQUfvPRa5pI5EA3VRjUbbD9Dv0mHJrpr4wP4NAUmKyUaUNdO1Jwu8TN61nl99ZZ3CLuHNT0vAQggY+b1pDT0EoXt0OhWyr5GByHPzgRirJPZJ9/3Nvn1KV+ZiIFwAkYxeHE6AOO5+6uhJHAw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KSmnECZXKVPgyAepBZNc+28vY759/kkLgbNNl98Hzx8=;
 b=PaoX3XdsN90R9g8oJ/ogvzRWdMsEX/1nBRjfpTKsRS4jzkvD6b04arwFkXgFanHc5S17ZgWf6qsQGX3l70FxAr+y5ilT1lpUvniZVkFEvXpGhAD0bv4SHjSOq9uvSr7JMYy1lvdLKY7DvZL/tFL+BUY+Uqbtyf3tHu2SkL3paUc=
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] xen/console: Handle true dom0less case when switching serial input
Date: Tue, 14 Mar 2023 15:27:49 +0100
Message-ID: <20230314142749.8845-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: BL02EPF000108EB:EE_|DM4PR12MB5135:EE_
X-MS-Office365-Filtering-Correlation-Id: e4a09956-9657-495e-ca41-08db24984ca8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xXQ0QqtLvvdytZCIqMN9a0fVe2R/wQ8Jn9jwka8tCG8n7kDuRwehbs3VWzagP+8kCFcsfXN6fkxoDVkLc+X4EdMIh2lAZ1szrj6V1eARSA86aaQQLMWijkQmUwEIACEWIsgqQmtaNquPj2Z2g05nFYbiUZiT1KHibxRrgL73khDXnXjJk6GR55vMrPsXV3oSBZJ1eJGf8CxFbGQFOpshDfZkQyNFKY2m41CivyEEtyT5xN/4jssSeo9tGCeHGaQ56m5AZyT7hO9gE0Mx4GncCbFLH9TRWnkmJUk55bboSWSGmCkp9OtzG8ZNfNR4VnVNSyRybMXxs/u/7QwYkPqK15Y64VTEbIV8KcdJh37WuWtskZNF3u50iuAXnhWOS1u/ZEBYbJdks2om3pxNGzYbVO0WL4GI8H19+pAsRDmWrmrRL0SSAWvxWvt6XttBGYLrHGaAc6Sqoybxw9Vboe815X3s86qOr/eA6mrUsTTy/qSHNk/FCrKvpgg7T0SgvSsVHN9dqJT3Ze9kSW82hj1jh/lAylCzs1Q5Eo9NMehj9JockauFFi9O1QF5cfcqxRZqi0OO4laHSMyMRHkmTvpkuiskwOIle+GVsUTLg7f6docL0VNuABb8sN4FXIbi2qmuP+sGluyL1N9KsZW+CWej8WedP+j3zHHmSBnWE/8QwdKuXNfeHEGfLwAShSoexMmPf3Nqsfa/yPe85x+deNLOYpTq4Awcne7s2B/91ml893hz/XJTYrWD8KtI/9DxnPQFlu5c8H3ZIfd6I2X4ZCqtRQ==
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:(13230025)(4636009)(376002)(136003)(346002)(396003)(39860400002)(451199018)(40470700004)(36840700001)(46966006)(40460700003)(356005)(86362001)(8676002)(36756003)(8936002)(44832011)(2906002)(6916009)(5660300002)(54906003)(478600001)(316002)(70206006)(70586007)(41300700001)(4326008)(82310400005)(36860700001)(40480700001)(6666004)(1076003)(82740400003)(186003)(26005)(81166007)(336012)(426003)(47076005)(2616005)(32563001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 14:27:54.2347
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e4a09956-9657-495e-ca41-08db24984ca8
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:
	BL02EPF000108EB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5135

At the moment, we direct serial input to hardware domain by default.
This does not make any sense when running in true dom0less mode, since
such domain does not exist. As a result, users wishing to write to
an emulated UART of a domU are always forced to execute CTRL-AAA first.
The same issue is when rotating among serial inputs, where we always
have to go through hardware domain case.

Modify switch_serial_input() so that, if there is no hardware domain
(i.e. true dom0less case) and console_rx is 1 (i.e. input to hwdom),
we skip it and move to the next serial input.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/drivers/char/console.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index e8468c121ad0..3bbab35dc460 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -491,6 +491,14 @@ static void switch_serial_input(void)
     else
     {
         console_rx++;
+
+        /*
+         * Skip switching serial input to hardware domain if it does not exist
+         * (i.e. true dom0less mode).
+         */
+        if ( !hardware_domain && (console_rx == 1) )
+            console_rx++;
+
         printk("*** Serial input to DOM%d", console_rx - 1);
     }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:28:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:28:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509665.785888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5dE-0004O8-N9; Tue, 14 Mar 2023 14:28:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509665.785888; Tue, 14 Mar 2023 14:28: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 1pc5dE-0004Nv-Jh; Tue, 14 Mar 2023 14:28:04 +0000
Received: by outflank-mailman (input) for mailman id 509665;
 Tue, 14 Mar 2023 14:28: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=6q5S=7G=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pc5dD-0003Pt-7P
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:28: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 6cb6f4ca-c274-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:28: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-out2.suse.de (Postfix) with ESMTPS id 53B531F895;
 Tue, 14 Mar 2023 14:28: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 1DC2613A26;
 Tue, 14 Mar 2023 14:28:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id GtPwBXGEEGS5HQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Mar 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: 6cb6f4ca-c274-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678804081; 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=YQkdvt8NYukRjF+Ds3SdGmmVwPLCu/YYxvWBQMre+ic=;
	b=Os78CKbilJv7eTocbxp/zCyP54ecpzEQVxmoyhyCICAh5f6ie6ajyuECtWEdMY97EN5YCj
	frkhMXCBsUzGFenYjiPfQBJ7JVV7QRo8acDq6jU6tI91dZ8qcW6x50/+Suyy2NjSWA6c21
	WES7bQWWs6pBRl05EfZgMa46Fp89GYE=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jens Axboe <axboe@kernel.dk>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 3/4] xen/blkback: simplify free_persistent_gnts() interface
Date: Tue, 14 Mar 2023 15:27:40 +0100
Message-Id: <20230314142741.24917-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230314142741.24917-1-jgross@suse.com>
References: <20230314142741.24917-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The interface of free_persistent_gnts() can be simplified, as there is
only a single caller of free_persistent_gnts() and the 2nd and 3rd
parameters are easily obtainable via the ring pointer, which is passed
as the first parameter anyway.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
---
 drivers/block/xen-blkback/blkback.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index 6e2163aaf362..243712b59a05 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -239,9 +239,9 @@ static void put_persistent_gnt(struct xen_blkif_ring *ring,
 	atomic_dec(&ring->persistent_gnt_in_use);
 }
 
-static void free_persistent_gnts(struct xen_blkif_ring *ring, struct rb_root *root,
-                                 unsigned int num)
+static void free_persistent_gnts(struct xen_blkif_ring *ring)
 {
+	struct rb_root *root = &ring->persistent_gnts;
 	struct gnttab_unmap_grant_ref unmap[BLKIF_MAX_SEGMENTS_PER_REQUEST];
 	struct page *pages[BLKIF_MAX_SEGMENTS_PER_REQUEST];
 	struct persistent_gnt *persistent_gnt;
@@ -249,6 +249,9 @@ static void free_persistent_gnts(struct xen_blkif_ring *ring, struct rb_root *ro
 	int segs_to_unmap = 0;
 	struct gntab_unmap_queue_data unmap_data;
 
+	if (RB_EMPTY_ROOT(root))
+		return;
+
 	unmap_data.pages = pages;
 	unmap_data.unmap_ops = unmap;
 	unmap_data.kunmap_ops = NULL;
@@ -277,9 +280,11 @@ static void free_persistent_gnts(struct xen_blkif_ring *ring, struct rb_root *ro
 
 		rb_erase(&persistent_gnt->node, root);
 		kfree(persistent_gnt);
-		num--;
+		ring->persistent_gnt_c--;
 	}
-	BUG_ON(num != 0);
+
+	BUG_ON(!RB_EMPTY_ROOT(&ring->persistent_gnts));
+	BUG_ON(ring->persistent_gnt_c != 0);
 }
 
 void xen_blkbk_unmap_purged_grants(struct work_struct *work)
@@ -631,12 +636,7 @@ int xen_blkif_schedule(void *arg)
 void xen_blkbk_free_caches(struct xen_blkif_ring *ring)
 {
 	/* Free all persistent grant pages */
-	if (!RB_EMPTY_ROOT(&ring->persistent_gnts))
-		free_persistent_gnts(ring, &ring->persistent_gnts,
-			ring->persistent_gnt_c);
-
-	BUG_ON(!RB_EMPTY_ROOT(&ring->persistent_gnts));
-	ring->persistent_gnt_c = 0;
+	free_persistent_gnts(ring);
 
 	/* Since we are shutting down remove all pages from the buffer */
 	gnttab_page_cache_shrink(&ring->free_pages, 0 /* All */);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:28:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:28:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509666.785898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5dK-0004qo-V7; Tue, 14 Mar 2023 14:28:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509666.785898; Tue, 14 Mar 2023 14:28:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5dK-0004qa-S9; Tue, 14 Mar 2023 14:28:10 +0000
Received: by outflank-mailman (input) for mailman id 509666;
 Tue, 14 Mar 2023 14:28:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6q5S=7G=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pc5dJ-0003Pt-7s
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:28:09 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 700b305f-c274-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:28: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 E472721C64;
 Tue, 14 Mar 2023 14:28: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 B523C13A26;
 Tue, 14 Mar 2023 14:28:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id c7PSKnaEEGTJHQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Mar 2023 14:28:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 700b305f-c274-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678804086; 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=1zEkV0KKFS11XXVqEf9jhtR2fN1YoNqxonAwEeQxw4s=;
	b=l0QTSYHFh/JivXw+osBjNn21s5R3lRFmR9Oj6r6PZGQHRM/5+BKk1Sp64V6BCAy3lzvs5R
	3aBOzw9tLKmQUHC1MoAelABg3epuWR5hZqVejuwdUvX3Jo3NZBAGkqcs3WcZteYXX1tXnv
	L/PKbobwmaT70QsnpbQXKm3/cbaKuFA=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	linux-block@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jens Axboe <axboe@kernel.dk>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v2 4/4] xen/blkback: move blkif_get_x86_*_req() into blkback.c
Date: Tue, 14 Mar 2023 15:27:41 +0100
Message-Id: <20230314142741.24917-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230314142741.24917-1-jgross@suse.com>
References: <20230314142741.24917-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

There is no need to have the functions blkif_get_x86_32_req() and
blkif_get_x86_64_req() in a header file, as they are used in one place
only.

So move them into the using source file and drop the inline qualifier.

While at it fix some style issues, and simplify the code by variable
reusing and using min() instead of open coding it.

Instead of using barrier() use READ_ONCE() for avoiding multiple reads
of nr_segments.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
---
V2:
- add const, use unsigned int for loop counters (Roger Pau Monné)
---
 drivers/block/xen-blkback/blkback.c | 104 ++++++++++++++++++++++++++++
 drivers/block/xen-blkback/common.h  |  96 -------------------------
 2 files changed, 104 insertions(+), 96 deletions(-)

diff --git a/drivers/block/xen-blkback/blkback.c b/drivers/block/xen-blkback/blkback.c
index 243712b59a05..ab6308b2d328 100644
--- a/drivers/block/xen-blkback/blkback.c
+++ b/drivers/block/xen-blkback/blkback.c
@@ -1072,7 +1072,111 @@ static void end_block_io_op(struct bio *bio)
 	bio_put(bio);
 }
 
+static void blkif_get_x86_32_req(struct blkif_request *dst,
+				 const struct blkif_x86_32_request *src)
+{
+	unsigned int i, n;
+
+	dst->operation = READ_ONCE(src->operation);
+
+	switch (dst->operation) {
+	case BLKIF_OP_READ:
+	case BLKIF_OP_WRITE:
+	case BLKIF_OP_WRITE_BARRIER:
+	case BLKIF_OP_FLUSH_DISKCACHE:
+		dst->u.rw.nr_segments = READ_ONCE(src->u.rw.nr_segments);
+		dst->u.rw.handle = src->u.rw.handle;
+		dst->u.rw.id = src->u.rw.id;
+		dst->u.rw.sector_number = src->u.rw.sector_number;
+		n = min_t(unsigned int, BLKIF_MAX_SEGMENTS_PER_REQUEST,
+			  dst->u.rw.nr_segments);
+		for (i = 0; i < n; i++)
+			dst->u.rw.seg[i] = src->u.rw.seg[i];
+		break;
+
+	case BLKIF_OP_DISCARD:
+		dst->u.discard.flag = src->u.discard.flag;
+		dst->u.discard.id = src->u.discard.id;
+		dst->u.discard.sector_number = src->u.discard.sector_number;
+		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
+		break;
+
+	case BLKIF_OP_INDIRECT:
+		dst->u.indirect.indirect_op = src->u.indirect.indirect_op;
+		dst->u.indirect.nr_segments =
+			READ_ONCE(src->u.indirect.nr_segments);
+		dst->u.indirect.handle = src->u.indirect.handle;
+		dst->u.indirect.id = src->u.indirect.id;
+		dst->u.indirect.sector_number = src->u.indirect.sector_number;
+		n = min(MAX_INDIRECT_PAGES,
+			INDIRECT_PAGES(dst->u.indirect.nr_segments));
+		for (i = 0; i < n; i++)
+			dst->u.indirect.indirect_grefs[i] =
+				src->u.indirect.indirect_grefs[i];
+		break;
+
+	default:
+		/*
+		 * Don't know how to translate this op. Only get the
+		 * ID so failure can be reported to the frontend.
+		 */
+		dst->u.other.id = src->u.other.id;
+		break;
+	}
+}
 
+static void blkif_get_x86_64_req(struct blkif_request *dst,
+				 struct blkif_x86_64_request *src)
+{
+	int i, n;
+
+	dst->operation = READ_ONCE(src->operation);
+
+	switch (dst->operation) {
+	case BLKIF_OP_READ:
+	case BLKIF_OP_WRITE:
+	case BLKIF_OP_WRITE_BARRIER:
+	case BLKIF_OP_FLUSH_DISKCACHE:
+		dst->u.rw.nr_segments = READ_ONCE(src->u.rw.nr_segments);
+		dst->u.rw.handle = src->u.rw.handle;
+		dst->u.rw.id = src->u.rw.id;
+		dst->u.rw.sector_number = src->u.rw.sector_number;
+		n = min_t(int, BLKIF_MAX_SEGMENTS_PER_REQUEST,
+			  dst->u.rw.nr_segments);
+		for (i = 0; i < n; i++)
+			dst->u.rw.seg[i] = src->u.rw.seg[i];
+		break;
+
+	case BLKIF_OP_DISCARD:
+		dst->u.discard.flag = src->u.discard.flag;
+		dst->u.discard.id = src->u.discard.id;
+		dst->u.discard.sector_number = src->u.discard.sector_number;
+		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
+		break;
+
+	case BLKIF_OP_INDIRECT:
+		dst->u.indirect.indirect_op = src->u.indirect.indirect_op;
+		dst->u.indirect.nr_segments =
+			READ_ONCE(src->u.indirect.nr_segments);
+		dst->u.indirect.handle = src->u.indirect.handle;
+		dst->u.indirect.id = src->u.indirect.id;
+		dst->u.indirect.sector_number = src->u.indirect.sector_number;
+		n = min(MAX_INDIRECT_PAGES,
+			INDIRECT_PAGES(dst->u.indirect.nr_segments));
+		for (i = 0; i < n; i++)
+			dst->u.indirect.indirect_grefs[i] =
+				src->u.indirect.indirect_grefs[i];
+		break;
+
+	default:
+		/*
+		 * Don't know how to translate this op. Only get the
+		 * ID so failure can be reported to the frontend.
+		 */
+		dst->u.other.id = src->u.other.id;
+		break;
+	}
+}
 
 /*
  * Function to copy the from the ring buffer the 'struct blkif_request'
diff --git a/drivers/block/xen-blkback/common.h b/drivers/block/xen-blkback/common.h
index fab8a8dee0da..40f67bfc052d 100644
--- a/drivers/block/xen-blkback/common.h
+++ b/drivers/block/xen-blkback/common.h
@@ -394,100 +394,4 @@ int xen_blkbk_barrier(struct xenbus_transaction xbt,
 struct xenbus_device *xen_blkbk_xenbus(struct backend_info *be);
 void xen_blkbk_unmap_purged_grants(struct work_struct *work);
 
-static inline void blkif_get_x86_32_req(struct blkif_request *dst,
-					struct blkif_x86_32_request *src)
-{
-	int i, n = BLKIF_MAX_SEGMENTS_PER_REQUEST, j;
-	dst->operation = READ_ONCE(src->operation);
-	switch (dst->operation) {
-	case BLKIF_OP_READ:
-	case BLKIF_OP_WRITE:
-	case BLKIF_OP_WRITE_BARRIER:
-	case BLKIF_OP_FLUSH_DISKCACHE:
-		dst->u.rw.nr_segments = src->u.rw.nr_segments;
-		dst->u.rw.handle = src->u.rw.handle;
-		dst->u.rw.id = src->u.rw.id;
-		dst->u.rw.sector_number = src->u.rw.sector_number;
-		barrier();
-		if (n > dst->u.rw.nr_segments)
-			n = dst->u.rw.nr_segments;
-		for (i = 0; i < n; i++)
-			dst->u.rw.seg[i] = src->u.rw.seg[i];
-		break;
-	case BLKIF_OP_DISCARD:
-		dst->u.discard.flag = src->u.discard.flag;
-		dst->u.discard.id = src->u.discard.id;
-		dst->u.discard.sector_number = src->u.discard.sector_number;
-		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
-		break;
-	case BLKIF_OP_INDIRECT:
-		dst->u.indirect.indirect_op = src->u.indirect.indirect_op;
-		dst->u.indirect.nr_segments = src->u.indirect.nr_segments;
-		dst->u.indirect.handle = src->u.indirect.handle;
-		dst->u.indirect.id = src->u.indirect.id;
-		dst->u.indirect.sector_number = src->u.indirect.sector_number;
-		barrier();
-		j = min(MAX_INDIRECT_PAGES, INDIRECT_PAGES(dst->u.indirect.nr_segments));
-		for (i = 0; i < j; i++)
-			dst->u.indirect.indirect_grefs[i] =
-				src->u.indirect.indirect_grefs[i];
-		break;
-	default:
-		/*
-		 * Don't know how to translate this op. Only get the
-		 * ID so failure can be reported to the frontend.
-		 */
-		dst->u.other.id = src->u.other.id;
-		break;
-	}
-}
-
-static inline void blkif_get_x86_64_req(struct blkif_request *dst,
-					struct blkif_x86_64_request *src)
-{
-	int i, n = BLKIF_MAX_SEGMENTS_PER_REQUEST, j;
-	dst->operation = READ_ONCE(src->operation);
-	switch (dst->operation) {
-	case BLKIF_OP_READ:
-	case BLKIF_OP_WRITE:
-	case BLKIF_OP_WRITE_BARRIER:
-	case BLKIF_OP_FLUSH_DISKCACHE:
-		dst->u.rw.nr_segments = src->u.rw.nr_segments;
-		dst->u.rw.handle = src->u.rw.handle;
-		dst->u.rw.id = src->u.rw.id;
-		dst->u.rw.sector_number = src->u.rw.sector_number;
-		barrier();
-		if (n > dst->u.rw.nr_segments)
-			n = dst->u.rw.nr_segments;
-		for (i = 0; i < n; i++)
-			dst->u.rw.seg[i] = src->u.rw.seg[i];
-		break;
-	case BLKIF_OP_DISCARD:
-		dst->u.discard.flag = src->u.discard.flag;
-		dst->u.discard.id = src->u.discard.id;
-		dst->u.discard.sector_number = src->u.discard.sector_number;
-		dst->u.discard.nr_sectors = src->u.discard.nr_sectors;
-		break;
-	case BLKIF_OP_INDIRECT:
-		dst->u.indirect.indirect_op = src->u.indirect.indirect_op;
-		dst->u.indirect.nr_segments = src->u.indirect.nr_segments;
-		dst->u.indirect.handle = src->u.indirect.handle;
-		dst->u.indirect.id = src->u.indirect.id;
-		dst->u.indirect.sector_number = src->u.indirect.sector_number;
-		barrier();
-		j = min(MAX_INDIRECT_PAGES, INDIRECT_PAGES(dst->u.indirect.nr_segments));
-		for (i = 0; i < j; i++)
-			dst->u.indirect.indirect_grefs[i] =
-				src->u.indirect.indirect_grefs[i];
-		break;
-	default:
-		/*
-		 * Don't know how to translate this op. Only get the
-		 * ID so failure can be reported to the frontend.
-		 */
-		dst->u.other.id = src->u.other.id;
-		break;
-	}
-}
-
 #endif /* __XEN_BLKIF__BACKEND__COMMON_H__ */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:33:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:33:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509677.785908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5iY-0007fl-NO; Tue, 14 Mar 2023 14:33:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509677.785908; Tue, 14 Mar 2023 14:33: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 1pc5iY-0007fe-Ki; Tue, 14 Mar 2023 14:33:34 +0000
Received: by outflank-mailman (input) for mailman id 509677;
 Tue, 14 Mar 2023 14:33: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc5iX-0007fY-MA
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:33:33 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on0620.outbound.protection.outlook.com
 [2a01:111:f400:fe1e::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 319776c1-c275-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 15:33:32 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.26; Tue, 14 Mar
 2023 14:33:30 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 14:33: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: 319776c1-c275-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XszHIL5qT3jF7LHBgedQlu0y0Tsf+NkIAvEAfaiGopjpM8pvR9ckwkFlWpkz/Paz6peU5ADstS1RWs8tmUEGdlCqg+GcvQZ1ayKC85HVZ/vUOdL3/H/VIo50UIPFfLg1/Ebzapc+Ue6UMDegoNJUr8JRW+D3lywUQxiIXqkrJzoZX3pA64khuQ8gW03ELOMoE69pfEsn7goo/ZE0cCEsJ1umtY5ypP5LpOcveFumUAijRL5SEey+KdES4uN/14Ao+5PQ3sivH7nM4eXHF7XllptwgSH8x9dSpyo6/DKf43t4TmQpNxNhL4vhJvIHPQeDkV4l5NwjnUnBIBtzhZTHOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eW8UACmteyc+xfdfPgVjIsQ2IbcviZapF1MypZeK5nQ=;
 b=RS4MHU43UREL+vLNt6O2CkTOyylYcC3sTgQmOb4Ta/V/+SMQDzTuQrCkjvDybKmrF5wA9lgsOynVbv16e42svicwYhk5y6ghu4W3eXEMQDUnbjaW5GPCyXARmXj0LySc+qCeO5vuP2kwiwymJ0/F2qou/1onKaA/2JhRFGNXtObyZGuMBMqVPEhCtLaDHd0YqllcTI+isqwJaM3lHJN6yl4yESPnXjFkib+RSTVrICYUjy6aMNJ1jPfy9e3Lbh7TMHNJTumzT5AWUv7f/xO+nWDxrtGnNCbOPpnq9G7A8f8YxFeNaVx/IvKA3aHWkBzFhvWVemGtMVwT+qre65b+yg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eW8UACmteyc+xfdfPgVjIsQ2IbcviZapF1MypZeK5nQ=;
 b=KqkKeOwSsIzCn56HvpMLelmQyYqfnuWre20VbPphzyx9hyWalVt48wQBQmyG/K4SV4Y4VGbZYAPvhXFUYMba8RBhn5A6+gA0frUuhwQx4iBavNOUJZWriXbcoJguMc2hhA7MRot9/uf2vYggSU3vBoai3BLO+VRlujtokt4iJs8Eu3UMWlrM8YMzAXNfWan437kkkj5nZ154l6H6h+LDyOfqLyarefrfNAlViSZQcR2J1nvv69/SCvrmHfWQxLWZkwOSL5liAVfhgeMnmBzX6qDoY58vPH9rt+5Vo0jD3JdUegmQ+C/XYQiGPA6y0Zn1+UVOIlfOptqckaAbFXkFJw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a4b422c6-eb08-89e5-9c97-4e0c4d0f8f01@suse.com>
Date: Tue, 14 Mar 2023 15:33:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 4/4] xen/blkback: move blkif_get_x86_*_req() into
 blkback.c
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jens Axboe <axboe@kernel.dk>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, linux-block@vger.kernel.org
References: <20230314142741.24917-1-jgross@suse.com>
 <20230314142741.24917-5-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230314142741.24917-5-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0089.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7160:EE_
X-MS-Office365-Filtering-Correlation-Id: 20f3ebef-483a-4af2-83bf-08db249914ad
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:
	cmZSP33VM1Yb2BTgd9QL4pUjwg3KR9C7UUoq+jbSdPiRm+g6FX5QchVqneLzgTL32n8XQlcNQLdc6QguNosCNG29+uS7mpmlTQ0jSMgA7SOdNeaO8kls1UOPJlqyEFwxnfk3SxRcuWw0RNRB8Xaa9n97ZHCUASAHQV/OK+DZXNPM6bIZUgxapivPE8p4clDHASqqPVBLPv3rB/vRDisyjqD5+a611XzaABE7Xuo9uKLmL9kPYX4xvhz/Elrnw20W+eBSnDM7FvUgy1W515hW69X3Cp6ufIVgjYKoKv+Qqwl0ezaJLiFplGnEw470a4ofyHCv/jIkD0ReYna2c2/VnWchOpxqTKYJonsKjFxz3PR/NU9rXAPW/eOpnkVOwbrAOAMklhHVX/TQ34PKVztRzYmm6tMgBaHBTmxyHfk6EjFbvU/a+wkEfBchWzUsX6fL+HcSxCFgHIIQGP9ne/U+3gWZw1WH6f6xUg4IB1s7hLmOsN/A87/x3lihg4Q3sXWC1eoCLZN8YQ+qzoMPt5m5SEwQ3oIhdGAb86XRJpvTltIpRimjVZWmfMmhA2p+zre16QqswHcgBE7lsgl33hsgEMGJKCCupZDkJBHJyRNH8L47uKAc1X+b8HYiFb5dKmZFs5YnZueAzihaSPMNP5c7rNyF/yG0GbXJIO/wIWF/M+Ij/TX8jb/H/cbuScEwrRvpZ0GveR8lo4w+sWsguYb7yJ5EylzRzLujXxiWbdu7CmE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(376002)(366004)(39850400004)(136003)(451199018)(31686004)(38100700002)(2906002)(2616005)(478600001)(316002)(6506007)(6512007)(6636002)(37006003)(54906003)(53546011)(26005)(86362001)(31696002)(36756003)(4326008)(8676002)(41300700001)(66556008)(66476007)(66946007)(186003)(8936002)(6486002)(6862004)(5660300002)(83380400001)(4744005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M1dNam0zWWREVHZVOGVGSmRhQnVXMzJYekVtRFQzOUlNVlJWLzdseDlWNDhL?=
 =?utf-8?B?K2IzR1FYSHhQNTJxN1B0SjV2L0JMRFBtMFdPVDBZdSt0eFBDQklVL3h0b1BT?=
 =?utf-8?B?NmMvT1RyeDNYdW4zZjRDeE1kRWVuRkhOY3lVL0g3NzdpMFVZTldIQkxhdy9o?=
 =?utf-8?B?Q0NQOUdEUmxybjNZNStEdlVLMk5FaUJ1YzBqOHNtdVp4R05hWVg5eGVlUU5M?=
 =?utf-8?B?TWVVRk1jYUVhMnhSZERkbG5JQmdDbnlWVGJqa2lISTVsSjRVREtFV0xoQmRw?=
 =?utf-8?B?U0k2NkRkOExDQXVPeW8rL0ljZ0habHdnUEhzdmc1MzlHclM4Zm5WYldKSkxT?=
 =?utf-8?B?ZnUvRENScUxZTUJVRWpZeTRUZC9jZFVXM1FhKzF4elNFd1dyS3luMlNVdW9B?=
 =?utf-8?B?OVhCcDdBRUpudHQ2ejR2Y1VnVzlJb1puNkY4ZGdwdlpFSXNoNkY0bEQ0Z0ND?=
 =?utf-8?B?SUtVVlhqTWppU2ZLMUpJc1pxcE5sZmNqYmZDSWpocjFlRGMrSEZybDEwSnht?=
 =?utf-8?B?TzV1QzY2cFA0bTNzRG94L0U5ajBZaUsrS2l5SmRJQVFuTXpTUHFLMzdleVJy?=
 =?utf-8?B?VFA0NityVFFGak1vdHFkazkzNS9LKzI0bVQvUTFlblZTd3haSTJ1d0dyUzdC?=
 =?utf-8?B?ekttNTlsS2p5VWxrSEJDdUFhamFpZEtndmc4NEFHaUZ1ZnhCcXJRQ2hYYkg1?=
 =?utf-8?B?RGF3Z3FnREIzSTN5a0ZPK0hZVllma2J5M25GdWJ5WlROd0R6Y2ZDTmlENGZ5?=
 =?utf-8?B?Qmx5R0crdE52czdkb2F6cG1vbDY5MTlaRVA1aGxyV29wOGJxWEkyeWt1OS95?=
 =?utf-8?B?YTR2ZXlyUXFTc0VHeU5WUndHM09ZNEt0dlJPNjFtQ0poeno0eTZRUWdFbjFm?=
 =?utf-8?B?NzZMWStRN0w0TjFtT0FPQU4yZWlGeUVHUVVSNFdWY0FKczFpU0dYS2t3Q2Jo?=
 =?utf-8?B?WTU3K2taREJFL0E2WDdUd0JBemMwZkt2cmNRblRmUis2WUdQNStubTRRNVFy?=
 =?utf-8?B?Q2F3RWNHVktIWUhZYzNTbVAybmk3Sk5STkRSNDdudWFHS2t0bUJPMGdXZXMr?=
 =?utf-8?B?Q0RBRTZweC9oc01DU1dUdncyRkxIeWNJWUduME4rZUR1TVBrTk14Q1c4eVZh?=
 =?utf-8?B?TktoaSt2ajlTa1hjTms0ZnBvemRCYjNvMkRXV2U1bmJEUURqbE1kam9QOEVX?=
 =?utf-8?B?TzB3dHAwcjB6U2xMNjB1SmE3MU0yQng1VW9jemRWMUxJbWxUVXJKeDNNb3lV?=
 =?utf-8?B?WnBiQmszUXg2TWdBU1Q4NFYzVWtLK1RPOW05REZuNDhURDhaUlBIQXJXWHhK?=
 =?utf-8?B?NW9nTEMxUUJwUlNUZWJxOUdMdVJtM2NsQWNrTlptbmtLWlowalJpdUdPb0Ru?=
 =?utf-8?B?S3U4b3Zkb3BmQmNZTFFudVJqY0FvTllrN2Z6ZlMzMWVpVWU3M3drSTU2aEJy?=
 =?utf-8?B?T0QvWm4wcndGUWRRTmVGekNNTmtYSlZFL3I4RXk5ZkpQTjRYRUJXZ2pMbGsz?=
 =?utf-8?B?T3VPTFg3NWRQZmJCWElHa2hUeFFqV2xkRzZkTHk4d0RYbmcvelcvTklJNktt?=
 =?utf-8?B?UHRxeFJGM3dBM0JVbGxmdnBTWXd0SXJqQUNSSjJDOU42Tmh4anRYeko2MXNj?=
 =?utf-8?B?TW53U2lML015R2JNNGYzU1pMdHNpaEhXRDRGVFNEUU9nOFgwTGtGaHZSNXBV?=
 =?utf-8?B?Z3owT1dQcW5uSG9ENE9xVUlobWk3UkdMOUo4c0pyQThLQnJPZUVjbDhPZVdt?=
 =?utf-8?B?ZnNXMjN4TjR5M2V2am15REJZdDg2c1ZUbVNxOUQrNEc5RGs0K3ZWdlVCWFFq?=
 =?utf-8?B?d1Q2Rm9SNmhzL091OFY3azRjWUlkd0VqelNyeWV5TGF6cU1oQ1NsTFovZjdl?=
 =?utf-8?B?RjFibjFXYU5mYUlLczJ5UTJ1dDhnWU1TNldPRUdLWGhWNWkxNDlIaTRkTXJj?=
 =?utf-8?B?cXU4WVRjZjNpMlpod24wK1JsYytTcFk2OGJOWEJINGpGdnByK1lmektIcE1F?=
 =?utf-8?B?dkRydkovMk1qSlFOdmVpTStLbW5kbm1kRm95MXdJTDV1WEdteG93MnVySTZT?=
 =?utf-8?B?dG0rRC9VK210U3JJenh3Y3ZLa3V5aEZyZi96R1h2dTZjeDR2cUVOM0l0Ym5j?=
 =?utf-8?Q?uIw4pGLecMmCSjMOs7XcJmg8G?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 20f3ebef-483a-4af2-83bf-08db249914ad
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 14:33:30.0131
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EdgCr+P2wTxOeAuHoX3hsggjqAQMO6WAakwZrXPVwoLH9d4P2kPqopex1tnAwlNufrn3zmpktHJAVUYL4Bkh5A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7160

On 14.03.2023 15:27, Juergen Gross wrote:
> V2:
> - add const, use unsigned int for loop counters (Roger Pau Monné)

Hmm, ...

> --- a/drivers/block/xen-blkback/blkback.c
> +++ b/drivers/block/xen-blkback/blkback.c
> @@ -1072,7 +1072,111 @@ static void end_block_io_op(struct bio *bio)
>  	bio_put(bio);
>  }
>  
> +static void blkif_get_x86_32_req(struct blkif_request *dst,
> +				 const struct blkif_x86_32_request *src)
> +{
> +	unsigned int i, n;

... here you did, but ...

> +static void blkif_get_x86_64_req(struct blkif_request *dst,
> +				 struct blkif_x86_64_request *src)
> +{
> +	int i, n;

... what about these?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:36:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:36:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509679.785918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5l1-0008H0-5w; Tue, 14 Mar 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 509679.785918; Tue, 14 Mar 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 1pc5l1-0008Gt-1v; Tue, 14 Mar 2023 14:36:07 +0000
Received: by outflank-mailman (input) for mailman id 509679;
 Tue, 14 Mar 2023 14:36: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 1pc5kz-0008Gj-9Y; Tue, 14 Mar 2023 14:36:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pc5kz-0006rV-6M; Tue, 14 Mar 2023 14:36:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pc5ky-0001Ni-JO; Tue, 14 Mar 2023 14:36:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pc5ky-0003Vi-In; Tue, 14 Mar 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
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=h0qkxSzTi0kMw9M1eyCmaG59uvdSvXrX3FdAsnjQLYQ=; b=qHWVeolt43d2vPud+8V7pa6sSn
	41HOArLaVYXITDwtLuFWxFs/q9UMeKCdBoDsFwEXA5nnMA57smtsLiU9CWKFUycq6JJMc2e8veXGD
	+7fGbgKGk+c+zK+Vh338tA8RP7Spo4sZCj7FhSk3KzBA5UwqCyDbNmo44FfdvmjaTYK0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179609-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179609: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=284c52eec2d0a1b9c47f06c3eee46762c5fc0915
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Mar 2023 14:36:04 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                284c52eec2d0a1b9c47f06c3eee46762c5fc0915
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    5 days
Failing since        179526  2023-03-10 01:53:40 Z    4 days    8 attempts
Testing same since   179609  2023-03-13 22:09:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:39:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:39:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509684.785928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5oR-0000d9-Jv; Tue, 14 Mar 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 509684.785928; Tue, 14 Mar 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 1pc5oR-0000d2-H1; Tue, 14 Mar 2023 14:39:39 +0000
Received: by outflank-mailman (input) for mailman id 509684;
 Tue, 14 Mar 2023 14:39: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=Jlvw=7G=ilande.co.uk=mark.cave-ayland@srs-se1.protection.inumbo.net>)
 id 1pc5oP-0000cw-J8
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:39:37 +0000
Received: from mail.ilande.co.uk (mail.ilande.co.uk [2001:41c9:1:41f::167])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ace75ab-c276-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 15:39:36 +0100 (CET)
Received: from host86-163-239-161.range86-163.btcentralplus.com
 ([86.163.239.161] helo=[10.8.0.6])
 by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.92) (envelope-from <mark.cave-ayland@ilande.co.uk>)
 id 1pc5nX-0005Qr-Nu; Tue, 14 Mar 2023 14:38: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: 0ace75ab-c276-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:Content-Type:
	In-Reply-To:From:References:Cc:To: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=MHeqY/i8JTacdCm6spIoosz74dKHC7KWM8iUBqmIX20=; b=ASuuMXR2uuC+AL5d8Q4Y9Ejp5A
	SIb8FNXadeu1gMI9Ea6OrmLmjIQ7KXxKngtYicbAhFSUuXZX408Se6kGQLBfLGNQShOwDomOJICsL
	8c0QV821bGUWgSsDyNWXPgK9oh5GEuVntfhtv4LC0bBQiEqC2mQEwsKExCkwBIPD8gE5Sm3LgdAxC
	iIx6VOoAmJ+wdg1PUVq18UJ2F6jfFpGwPUolC+qM0EX2CnhwWz41XBP56UmR+CGStTp9L9Z14iZJJ
	XRTaSS3WSlrqMRCFVuer+NtZ9xRMBlnDRjEBIsvViuVd8nBO4/Jxi1y+jaeXo+elDH29Du+QPYAZO
	AZnHe/m31p4tRSMR/6O8l4utD7fFVSvqXKoZzBDipFwFph9wFJEx90SaVaIX3lepvzzliGSCi/d4K
	o6SmCdhVX1839ZXSOVmYohMkS+wu/tiiMGBZZ/8/i0LIfsxaYrcNnot7Biv3vp5ElWmBiVFTTxp22
	m+bTjCw5w60wqBB/j8MlXWaCHx00NEhbZyEV6we0ffdpeflLZfsEerrDeMj/ksnL8VsknoXO5xET9
	vKPrJ7AJJLif5yJ+KWzEF5BTIziXdqhyevkXjZPfQa8ITd7tx6I0I6Bdp74G7D9OM3h5FkllpeQtJ
	BqfaA5Simwtx9C7ax4EflrOsVXeDm6bgn2zDF32o0=;
Message-ID: <850cf67e-151a-b1c3-7265-1428659e3a6a@ilande.co.uk>
Date: Tue, 14 Mar 2023 14:39:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Content-Language: en-US
To: Chuck Zmudzinski <brchuckz@aol.com>, "Michael S. Tsirkin" <mst@redhat.com>
Cc: qemu-devel@nongnu.org, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Artyom Tarasenko <atar4qemu@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678763217.git.brchuckz@aol.com>
 <d9ae459b2814425c2d9e756e45d993c824da150a.1678763217.git.brchuckz@aol.com>
 <20230314023148-mutt-send-email-mst@kernel.org>
 <0c8ee7e9-dd23-262f-f67e-359e14abf6f2@ilande.co.uk>
 <20230314091653-mutt-send-email-mst@kernel.org>
 <34eda0c4-3d90-0e22-7888-81bf18e2a5f0@aol.com>
 <7b79ec08-064c-7940-0285-be8a96e2a144@ilande.co.uk>
 <7b822b6c-a0dc-63c9-722e-e1e0361a8d9d@aol.com>
From: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
In-Reply-To: <7b822b6c-a0dc-63c9-722e-e1e0361a8d9d@aol.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-SA-Exim-Connect-IP: 86.163.239.161
X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
	mail.default.ilande.bv.iomart.io
X-Spam-Level: 
X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED,BAYES_00,
	URIBL_BLOCKED,URIBL_SBL_A autolearn=no autolearn_force=no version=3.4.2
Subject: Re: [PATCH v2 2/2] pci: allow slot_reserved_mask to be ignored with
 manual slot assignment
X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000)
X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk)

On 14/03/2023 14:21, Chuck Zmudzinski wrote:

> On 3/14/2023 9:41 AM, Mark Cave-Ayland wrote:
>> On 14/03/2023 13:26, Chuck Zmudzinski wrote:
>>
>>> On 3/14/2023 9:17 AM, Michael S. Tsirkin wrote:
>>>> On Tue, Mar 14, 2023 at 12:43:12PM +0000, Mark Cave-Ayland wrote:
>>>>> On 14/03/2023 06:33, Michael S. Tsirkin wrote:
>>>>>
>>>>>> On Tue, Mar 14, 2023 at 12:01:09AM -0400, Chuck Zmudzinski wrote:
>>>>>>> Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
>>>>>>> uses slot_reserved_mask to reserve slot 2 for the Intel IGD for the
>>>>>>> xenfv machine when the guest is configured for igd-passthru.
>>>>>>>
>>>>>>> A desired extension to that commit is to allow use of the reserved slot
>>>>>>> if the administrator manually configures a device to use the reserved
>>>>>>> slot. Currently, slot_reserved_mask is enforced unconditionally. With
>>>>>>> this patch, the pci bus can be configured so the slot is only reserved
>>>>>>> if the pci device to be added to the bus is configured for automatic
>>>>>>> slot assignment.
>>>>>>>
>>>>>>> To enable the desired behavior of slot_reserved_mask machine, add a
>>>>>>> boolean member enforce_slot_reserved_mask_manual to struct PCIBus and
>>>>>>> add a function pci_bus_ignore_slot_reserved_mask_manual which can be
>>>>>>> called to change the default behavior of always enforcing
>>>>>>> slot_reserved_mask so, in that case, slot_reserved_mask is only enforced
>>>>>>> when the pci device being added is configured for automatic slot
>>>>>>> assignment.
>>>>>>>
>>>>>>> Call the new pci_bus_ignore_slot_reserved_mask_manual function after
>>>>>>> creating the pci bus for the pc/i440fx/xenfv machine type to implement
>>>>>>> the desired behavior of causing slot_reserved_mask to only apply when
>>>>>>> the pci device to be added to a pc/i440fx/xenfv machine is configured
>>>>>>> for automatic slot assignment.
>>>>>>>
>>>>>>> Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
>>>>>>> Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
>>>>>>
>>>>>> I really dislike this.
>>>>>> It seems that xen should not have used slot_reserved_mask,
>>>>>> and instead needs something new like slot_manual_mask.
>>>>>> No?
>>>>>
>>>>> My suggestion was to move the validation logic to a separate callback
>>>>> function in PCIBus (see
>>>>> https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg03988.html) but
>>>>> perhaps I wasn't clear enough in pointing out that I was thinking this could
>>>>> *replace* the existing slot_reserved_mask mechanism, rather than providing a
>>>>> hook to allow it to be manipulated.
>>>>>
>>>>> Here's a very rough patch put together over lunch that attempts this for
>>>>> pci_bus_devfn_reserved(): the idea is that sun4u and Xen would call
>>>>> pci_bus_set_slot_reserved_fn() with a suitable pci_slot_reserved_fn
>>>>> implementation, and slot_reserved_mask gets removed completely i.e.:
>>>>>
>>>>>
>>>>> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
>>>>> index def5000e7b..30b856499a 100644
>>>>> --- a/hw/pci/pci.c
>>>>> +++ b/hw/pci/pci.c
>>>>> @@ -493,6 +493,13 @@ bool pci_bus_bypass_iommu(PCIBus *bus)
>>>>>        return host_bridge->bypass_iommu;
>>>>>    }
>>>>>
>>>>> +static bool pci_bus_default_slot_reserved(PCISlotReservationType restype,
>>>>> +                                          int devfn)
>>>>> +{
>>>>> +    /* All slots accessible by default */
>>>>> +    return false;
>>>>> +}
>>>>> +
>>>>>    static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
>>>>>                                           MemoryRegion *address_space_mem,
>>>>>                                           MemoryRegion *address_space_io,
>>>>> @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
>>>>> DeviceState *parent,
>>>>>    {
>>>>>        assert(PCI_FUNC(devfn_min) == 0);
>>>>>        bus->devfn_min = devfn_min;
>>>>> -    bus->slot_reserved_mask = 0x0;
>>>>> +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
>>>>>        bus->address_space_mem = address_space_mem;
>>>>>        bus->address_space_io = address_space_io;
>>>>>        bus->flags |= PCI_BUS_IS_ROOT;
>>>>> @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
>>>>>        return !(bus->devices[devfn]);
>>>>>    }
>>>>>
>>>>> -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
>>>>> +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
>>>>> +                                   PCISlotReservationType restype)
>>>>> +{
>>>>> +    return bus->slot_reserved_fn(restype, devfn);
>>>>> +}
>>>>> +
>>>>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
>>>>>    {
>>>>> -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
>>>>> +    bus->slot_reserved_fn = fn;
>>>>>    }
>>>>>
>>>>>    /* -1 for devfn means auto assign */
>>>>> @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
>>>>>            for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
>>>>>                devfn += PCI_FUNC_MAX) {
>>>>>                if (pci_bus_devfn_available(bus, devfn) &&
>>>>> -                   !pci_bus_devfn_reserved(bus, devfn)) {
>>>>> +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
>>>>>                    goto found;
>>>>>                }
>>>>>            }
>>>>> @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
>>>>>                       "or reserved", name);
>>>>>            return NULL;
>>>>>        found: ;
>>>>> -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
>>>>> +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
>>>>>            error_setg(errp, "PCI: slot %d function %d not available for %s,"
>>>>>                                           MemoryRegion *address_space_io,
>>>>> @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
>>>>> DeviceState *parent,
>>>>>    {
>>>>>        assert(PCI_FUNC(devfn_min) == 0);
>>>>>        bus->devfn_min = devfn_min;
>>>>> -    bus->slot_reserved_mask = 0x0;
>>>>> +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
>>>>>        bus->address_space_mem = address_space_mem;
>>>>>        bus->address_space_io = address_space_io;
>>>>>        bus->flags |= PCI_BUS_IS_ROOT;
>>>>> @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
>>>>>        return !(bus->devices[devfn]);
>>>>>    }
>>>>>
>>>>> -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
>>>>> +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
>>>>> +                                   PCISlotReservationType restype)
>>>>> +{
>>>>> +    return bus->slot_reserved_fn(restype, devfn);
>>>>> +}
>>>>> +
>>>>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
>>>>>    {
>>>>> -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
>>>>> +    bus->slot_reserved_fn = fn;
>>>>>    }
>>>>>
>>>>>    /* -1 for devfn means auto assign */
>>>>> @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
>>>>>            for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
>>>>>                devfn += PCI_FUNC_MAX) {
>>>>>                if (pci_bus_devfn_available(bus, devfn) &&
>>>>> -                   !pci_bus_devfn_reserved(bus, devfn)) {
>>>>> +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
>>>>>                    goto found;
>>>>>                }
>>>>>            }
>>>>> @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
>>>>>                       "or reserved", name);
>>>>>            return NULL;
>>>>>        found: ;
>>>>> -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
>>>>> +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
>>>>>            error_setg(errp, "PCI: slot %d function %d not available for %s,"
>>>>>                       " reserved",
>>>>>                       PCI_SLOT(devfn), PCI_FUNC(devfn), name);
>>>>> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
>>>>> index d5a40cd058..8a949f7ae1 100644
>>>>> --- a/include/hw/pci/pci.h
>>>>> +++ b/include/hw/pci/pci.h
>>>>> @@ -257,10 +257,18 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev);
>>>>>     */
>>>>>    int pci_bar(PCIDevice *d, int reg);
>>>>>
>>>>> +typedef enum PCISlotReservationType {
>>>>> +    PCI_SLOT_RESERVATION_AUTO,
>>>>> +    PCI_SLOT_RESERVATION_MANUAL
>>>>> +} PCISlotReservationType;
>>>>> +
>>>>> +typedef bool (*pci_slot_reserved_fn)(PCISlotReservationType restype, int devfn);
>>>>>    typedef void (*pci_set_irq_fn)(void *opaque, int irq_num, int level);
>>>>>    typedef int (*pci_map_irq_fn)(PCIDevice *pci_dev, int irq_num);
>>>>>    typedef PCIINTxRoute (*pci_route_irq_fn)(void *opaque, int pin);
>>>>>
>>>>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn);
>>>>> +
>>>>>    #define TYPE_PCI_BUS "PCI"
>>>>>    OBJECT_DECLARE_TYPE(PCIBus, PCIBusClass, PCI_BUS)
>>>>>    #define TYPE_PCIE_BUS "PCIE"
>>>>> diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
>>>>> index 5653175957..d68ea1418d 100644
>>>>> --- a/include/hw/pci/pci_bus.h
>>>>> +++ b/include/hw/pci/pci_bus.h
>>>>> @@ -36,7 +36,7 @@ struct PCIBus {
>>>>>        PCIIOMMUFunc iommu_fn;
>>>>>        void *iommu_opaque;
>>>>>        uint8_t devfn_min;
>>>>> -    uint32_t slot_reserved_mask;
>>>>> +    pci_slot_reserved_fn slot_reserved_fn;
>>>>>        pci_set_irq_fn set_irq;
>>>>>        pci_map_irq_fn map_irq;
>>>>>        pci_route_irq_fn route_intx_to_irq;
>>>>>
>>>>>
>>>>> If this approach seems reasonable, I'm happy for someone else to take this
>>>>> over and turn it into a proper series.
>>>>>
>>>>>
>>>>> ATB,
>>>>>
>>>>> Mark.
>>>>
>>>> It's ok too though I think I like chuck's proposal better:
>>>> less callbacks to chase.
>>>>
>>>
>>> I would be willing to pursue this if there were more use cases for
>>> slot_reserved_mask than just the two cases we have now: xen and sun4u.
>>> Until there is a clear demand for a more general way to manipulate the
>>> mask, I agree with Michael that the KISS principle should apply here.
>>
>> No worries. The thinking behind this idea was that it feel like the Xen case is
>> special in that it has separate requirements for auto slot allocation and manual slot
>> allocation: if slot reservation were used in more places, I'd expect the sun4u case
>> to be more common, in which case it seems a bit more work for the common case to have
>> to set both slot_reserved_mask_auto and slot_reserved_mask_manual separately. Perhaps
>> a single accessor function can be used to set both mask values together for a PCIBus?
> 
> My immediate thought as a way to avoid needing to set both masks in the
> sun4u machine would be to add an initialization function that defines the
> relationship between the two masks. The sun4u machine would use a default
> function that simply sets the manual mask equal to the auto mask. In the
> special case of xen, the manual mask would be set to 0.

I must admit I wasn't too concerned about having two separate masks, more that in the 
common case you would have to remember to call two functions. I was thinking that 
instead of having separate pci_bus_set_slot_reserved_mask_auto() and 
pci_bus_set_slot_reserved_mask_manual() accessors, you could just have:

   pci_bus_set_slot_reserved_mask(uint32_t auto_mask, uint32_t manual_mask);

since that gives a single function call for all cases, and it seems fairly intuitive 
what pci_bus_set_slot_reserved_mask(foo, foo) is doing vs. 
pci_bus_set_slot_reserved_mask(foo, bar).


ATB,

Mark.


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:42:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:42:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509691.785938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5qf-00026i-54; Tue, 14 Mar 2023 14:41:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509691.785938; Tue, 14 Mar 2023 14:41:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5qf-00026b-2C; Tue, 14 Mar 2023 14:41:57 +0000
Received: by outflank-mailman (input) for mailman id 509691;
 Tue, 14 Mar 2023 14:41: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=6q5S=7G=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pc5qd-00026T-Sp
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:41:55 +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 5c8fbb0d-c276-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:41: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 03C4321C6E;
 Tue, 14 Mar 2023 14:41: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 C726313A26;
 Tue, 14 Mar 2023 14:41:52 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id +y/wLrCHEGQIJgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Mar 2023 14:41: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: 5c8fbb0d-c276-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678804913; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=6ijl+wMxkUG8QWAXHj6uxwD5E3sbhf3ed0PHU4a3LeM=;
	b=GgUzFjUaPH+Eu2EIexNJCHkEW0CvofmomOlKjgcnHAg0AtCCnEjnhm0PCkgaRyk/FOgciX
	bb67VVr551P49+vhF3ezpuKqCj/hf+zqKExrzQacuNh8spdg/3Iskc/QL5zGSMpClFw/J+
	oEEj//3loyu+/qg14Faw8rYiQZtk/ik=
Message-ID: <e2e81547-e1a1-9743-16b2-ff78ab67efbb@suse.com>
Date: Tue, 14 Mar 2023 15:41:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 4/4] xen/blkback: move blkif_get_x86_*_req() into
 blkback.c
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jens Axboe <axboe@kernel.dk>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, linux-block@vger.kernel.org
References: <20230314142741.24917-1-jgross@suse.com>
 <20230314142741.24917-5-jgross@suse.com>
 <a4b422c6-eb08-89e5-9c97-4e0c4d0f8f01@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <a4b422c6-eb08-89e5-9c97-4e0c4d0f8f01@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------n9iNOJwt0R0fqoF8Vp6gy0OC"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------n9iNOJwt0R0fqoF8Vp6gy0OC
Content-Type: multipart/mixed; boundary="------------FOk1qaSv01TC1C12afP5Laln";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jens Axboe <axboe@kernel.dk>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org, linux-block@vger.kernel.org
Message-ID: <e2e81547-e1a1-9743-16b2-ff78ab67efbb@suse.com>
Subject: Re: [PATCH v2 4/4] xen/blkback: move blkif_get_x86_*_req() into
 blkback.c
References: <20230314142741.24917-1-jgross@suse.com>
 <20230314142741.24917-5-jgross@suse.com>
 <a4b422c6-eb08-89e5-9c97-4e0c4d0f8f01@suse.com>
In-Reply-To: <a4b422c6-eb08-89e5-9c97-4e0c4d0f8f01@suse.com>

--------------FOk1qaSv01TC1C12afP5Laln
Content-Type: multipart/mixed; boundary="------------qTwKcS191XFvVpeaSmV16np9"

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

T24gMTQuMDMuMjMgMTU6MzMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNC4wMy4yMDIz
IDE1OjI3LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gVjI6DQo+PiAtIGFkZCBjb25zdCwg
dXNlIHVuc2lnbmVkIGludCBmb3IgbG9vcCBjb3VudGVycyAoUm9nZXIgUGF1IE1vbm7DqSkN
Cj4gDQo+IEhtbSwgLi4uDQo+IA0KPj4gLS0tIGEvZHJpdmVycy9ibG9jay94ZW4tYmxrYmFj
ay9ibGtiYWNrLmMNCj4+ICsrKyBiL2RyaXZlcnMvYmxvY2sveGVuLWJsa2JhY2svYmxrYmFj
ay5jDQo+PiBAQCAtMTA3Miw3ICsxMDcyLDExMSBAQCBzdGF0aWMgdm9pZCBlbmRfYmxvY2tf
aW9fb3Aoc3RydWN0IGJpbyAqYmlvKQ0KPj4gICAJYmlvX3B1dChiaW8pOw0KPj4gICB9DQo+
PiAgIA0KPj4gK3N0YXRpYyB2b2lkIGJsa2lmX2dldF94ODZfMzJfcmVxKHN0cnVjdCBibGtp
Zl9yZXF1ZXN0ICpkc3QsDQo+PiArCQkJCSBjb25zdCBzdHJ1Y3QgYmxraWZfeDg2XzMyX3Jl
cXVlc3QgKnNyYykNCj4+ICt7DQo+PiArCXVuc2lnbmVkIGludCBpLCBuOw0KPiANCj4gLi4u
IGhlcmUgeW91IGRpZCwgYnV0IC4uLg0KPiANCj4+ICtzdGF0aWMgdm9pZCBibGtpZl9nZXRf
eDg2XzY0X3JlcShzdHJ1Y3QgYmxraWZfcmVxdWVzdCAqZHN0LA0KPj4gKwkJCQkgc3RydWN0
IGJsa2lmX3g4Nl82NF9yZXF1ZXN0ICpzcmMpDQo+PiArew0KPj4gKwlpbnQgaSwgbjsNCj4g
DQo+IC4uLiB3aGF0IGFib3V0IHRoZXNlPw0KDQpPaCwgaW5kZWVkLiBJIGNvdWxkIHNheSBS
b2dlciBjb21tZW50ZWQgb25seSBvbiBibGtpZl9nZXRfeDg2XzMyX3JlcSgpLCBidXQgdGhp
cw0Kd291bGQgYmUgYSByYXRoZXIgbGFtZSBleGN1c2UuIDstKQ0KDQpJJ2xsIHJlc2VuZCB0
aGF0IGxhc3QgcGF0Y2guDQoNCg0KSnVlcmdlbg0KDQo=
--------------qTwKcS191XFvVpeaSmV16np9
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-----

--------------qTwKcS191XFvVpeaSmV16np9--

--------------FOk1qaSv01TC1C12afP5Laln--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQQh7AFAwAAAAAACgkQsN6d1ii/Ey+s
Lwf/W1GZkuCUcl//iOtOAJJ673B8AUDNKd/uo91bd/aJNJchgms7HaNX8vjQUju1yHnMLFvySB8N
QOpn1XrOx1e76ngnkVt3Jc5SeQA66g4nJfmKIiduvQM9DxLjp05FfprUgKJPuqUWY3LvE2wf2c5T
w1W+umV0rus9+jQRg8wB5+3AlZcCLYhdaZkubDfw9WBwFRueKp9il4IDfcpApKn1ERBvJ9Yli/hQ
rYTcXK0YYkWGHChTESow0uzw3eG5sjxJGfcMgAzlDwamdoAuG8PDuG/dacroe0EIadft7Nc9tIxD
ugph9LIJOTuH6TBhswDR/XrZTpcDrJz/ymIMaIU7hA==
=Jlsu
-----END PGP SIGNATURE-----

--------------n9iNOJwt0R0fqoF8Vp6gy0OC--


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:46:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:46:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509693.785948 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5ur-0002l0-NC; Tue, 14 Mar 2023 14:46:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509693.785948; Tue, 14 Mar 2023 14:46: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 1pc5ur-0002kt-KT; Tue, 14 Mar 2023 14:46:17 +0000
Received: by outflank-mailman (input) for mailman id 509693;
 Tue, 14 Mar 2023 14:46: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=dXSW=7G=citrix.com=prvs=430734c92=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pc5uq-0002km-OY
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:46:16 +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 f74d44d4-c276-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:46:14 +0100 (CET)
Received: from mail-dm6nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 10:46:07 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB6533.namprd03.prod.outlook.com (2603:10b6:a03:386::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.18; Tue, 14 Mar
 2023 14:46:04 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Tue, 14 Mar 2023
 14: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: f74d44d4-c276-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678805174;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=Fldugdz+tA4Jk2t97s9FkSrjmJzoFdJF5BaKUOgmP9I=;
  b=MzB4xQmDTpB1l8tlRgT7wnyEot/CtaZn25iWZEttHXBK347TXNC+B2WA
   PSUFc9E93EsHkk+/HxdNu4JKOK8+ldJRjN7MsGl/do6Vl0F+pQyeCgs/S
   Avd0kl/diWQpjGOosQhAcu5F5MPMY7oWsExSp+nLBfXz9QKQTiHE1LFCZ
   I=;
X-IronPort-RemoteIP: 104.47.59.174
X-IronPort-MID: 100162219
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ggDKZK6K4aX8p/GEHaG3OwxRtPbGchMFZxGqfqrLsTDasY5as4F+v
 mEbDWzXaPyMYTP3fNt+PIuw9xkPu8LUyddmTwtlpSA2Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS4AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m7
 dcgIQA9Nku5qLya26ipW6p03s4uI5y+VG8fkikIITDxK98DGMqGb4CUoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OnUooj+SF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eWxXuiBthITezQGvhCvWCR5jchAwIvBAG8mvO8oVaDWsJ/J
 BlBksYphe1onKCxdfHtUhv9rHOasxo0X9tLD/Z8+AyL0rDT4QuSGi4DVDEpQN4sudIyRDcq/
 kSUhN6vDjtq2JWXVHac+7G8vT60fy8PIgcqfjQYRAEI593ipoAbjR/VSNtnVqmvgbXdBjXY0
 z2M6i8kiN0uYdUj0qy6+RXLhmyqr52QFAotvFyIAiSi8x9zY5Oja8qw81/H4P1cLYGfCF6co
 HwDnMvY5+cLZX2QqBGwrCw2NOnBz5643Pf02DaDw7FJG+yRxkOe
IronPort-HdrOrdr: A9a23:ykXjEapvwkQ6JkHc7J6AJUQaV5oUeYIsimQD101hICG9vPbo7v
 xG/c5rrSMc7Qx6ZJhOo6HkBEDtewK/yXcx2/hzAV7AZmjbUQmTXeVfBOLZqlWKJ8S9zI5gPM
 xbAs9D4bPLfD5HZAXBjDVQ0exM/DBKys+VbC7loUtQcQ==
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100162219"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lYowJDhPg09v7ujnOy9ts86NZeTV2QL79034ZsidL+oPP05/pWz1I+akPe9qrdz+xrpFHv6lV3Ci/kymAiqR19AWcTbIpYzmfeMXdP2kVPznK+/LLS8SWIMOkDqO1MAF23v/KqhSar1Ivx9PlA2DmQz1phHvtloZiGjgHO7RS9Jh2JNGeygfwcXWVtqAl72dXckR8RCZrZHoSxBwk+6z6RcMVgqIHLbzjoJIJeylACaaCA+Eyb8eo+8C40p4z2EISU5oh5K7dJFvk3iItkwYnWpOrmloQ1pkmQiqYKTdX5qeuSXYhzZnjngh+2ptWr7NrBKVbSW/8xTptraXbTl4Kg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7ph0kf1lCPA0v2FrHdKIo6TYHCvEsqesDTotqITrfcY=;
 b=gqQVE0s9P7kDJsiH5C9kv/WkiU5azaQ/Q+1yFgZ1MbMulfGVvvcqmI0IDxQjG+0su8i3WPjfD0r96W0Yvaw0up+vjJYFQrcg7eQ0C5ChgUKLpkTgSlGRFRXoXD/t9WA2cdA9CGnECh4lF7Dgq2avSz/vv9odDPEB6tXrQip47LzQcSLdFGk7Mm63wt+v2FdVvfflDhmGIL0qbVGCddNAdpXO/QkQjjX3HTMqN9ULOAw3KDcQlpndaOcxMdE8nWVUB0FYVBDGCzBSlnSjjcOZonf6thiRk+uTvQ3a8BNkZ0E3xRO47s49hIEqwppFKtILOcH/FA41fpU9OjZW4ZlXaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7ph0kf1lCPA0v2FrHdKIo6TYHCvEsqesDTotqITrfcY=;
 b=vUGul8A0RIaUzwX7KHPRTJ++7VQJy5Iql0DOKoGXz7mt+o0tBctMate9wd/a8m8gpG510c9kjLuyY4jb6dQ1P6j4P3bz65f2C/ia1lzO4VyAa3AZ/G/SKik8HP+FZ8RAuBTPTajkXG8ESwF6J02wXAAvI1sX4esa1RXufsfG86U=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
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 v2] xen/grants: repurpose command line max options
Date: Tue, 14 Mar 2023 15:45:53 +0100
Message-Id: <20230314144553.8248-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.39.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0010.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ad::21) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB6533:EE_
X-MS-Office365-Filtering-Correlation-Id: a6ff6e49-c9a1-4082-0236-08db249ad64b
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TpSVzB8pQVbYV1o2WzDN0qnuNZsTt8mpXtS9RpHBOmcvwNpcV06sWQuI+7a0mqqGxM7xGFdxX8slH4EmZzajibmB+rDrm6gemvZqZLicPtkHok0MW8M7a2Hfv43QAURBMt59PY8nza/A8hDRfdVm6PD2/0iKFtlNvWvi3ZM/+9oBAqdZUbcftri2XqLlN1zQO9TDf64y4BWWFIG8znB+TaJebV14sDzV7qp5SxUGQZfGMYNdQn1lU3m2yugY4qGNWN2GRIMjQ7YrpB4VthpDX05dLJo1shy2IiTFA9QglnfTk8ziS4OY2NejGyRFystyPuNTopJG9s5urFvDTsngeeTp63j/OQbXlF04fNu7yAqw3uCweYOYh8WmBg1vDfZV4wNG0GyvpcGh5c+O9vQ+T18REHGXg1ePn/mkJKulhmxQPA+mo6OJMCzrewvKMFVcBYgTLOaA1LJEur0Q59CgraqavlX+s+rOgf9pdrfSBPAUNyeTvxSKQPH/IO9b0TbbrrweQnOsLZkajBUT8rD/vXhq3JmipBN43ky/X0NkpmzPACdYzFVCXCl9uj8geRsYq63T1AAHR0F9wgTuArzf23WM64qBO6ZdPvXKQfILUe1elXHW+QFasibvmkRTSnyRI3sDIfaXCSvH1irr2jf/eg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(366004)(136003)(39860400002)(396003)(451199018)(41300700001)(8936002)(6916009)(478600001)(66476007)(66946007)(4326008)(8676002)(54906003)(66556008)(36756003)(86362001)(38100700002)(82960400001)(26005)(6506007)(6666004)(186003)(6486002)(1076003)(5660300002)(2906002)(6512007)(316002)(83380400001)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QVBpbURaRDdlcmxSQnZnck5tZzRwMXgyelQxK0RXVXI1US94eEJxcXg1bVNo?=
 =?utf-8?B?TXlDbmRjU09IcXowTmR6amFXb0xmUUhXRllCcS9KRFdGSjNTaFlSaUkzOFo5?=
 =?utf-8?B?bGRtMWRGS1ZJODVzUUNGQ3FMUmNXN0ZoaWc1TWpwL3orZDhVczhpWnE5ZXRZ?=
 =?utf-8?B?Qkt5MkYyTGRWbFJnYVBuTDFjUGFpQTRIUlhRRkVNbFFhNFJkOXdWNHNjemI4?=
 =?utf-8?B?ZDlyTGtpamRaOUZRek1VZW5pMldxVzgzK1l5UW5oWUUxaVl6eTF2eE83SVBi?=
 =?utf-8?B?ZStiSWRoZmpGbElQOWNTNytMVk0xUGhnalcxWEw1Wjc4MldhcE90M2JUcW9o?=
 =?utf-8?B?U0xNSENWZkRNVVYzQlVXaERTZm5rRzVqalU4U2NrQXdiRENkbTY3M0craU93?=
 =?utf-8?B?a09DZXVxSjAwTS9DSWRuK2xZWVNpSUNocVVRTVA0NU50dFZBMkVWY1dGd0Rh?=
 =?utf-8?B?NFowTHZMdUJKYUdsaGtnYTRrTWpUNlhTM2REVWFidVZia3hhNjFOWjBKKzJS?=
 =?utf-8?B?bzFaSUJsNEZudlZrbUJUdFpIK0RUQ2REbTAwNUxWUFBUcXlzRGl5ZlBRZm5v?=
 =?utf-8?B?TkNLWkZSTGxoRERzVFdadGZyanU4Y0xlcmphU3YvZFBNbFR5NDRRKzdycnAr?=
 =?utf-8?B?Rk5ldzMyeFdWclNjMW9Ka3hzNDhjSk5tcFdDOHhkTW9XSldiajJ2aFNUZ0Na?=
 =?utf-8?B?bHhIdlNjSit4M2xaMWJNK0ZKMEtWcGhtMUpKaDFqamt2U0srck9iQ0FVSi9X?=
 =?utf-8?B?L3gxQ2NwbHl4WmhlanhtWCs3d01SU2liR0NXQ3B3aC9rNFAyd2RabGMvcWVN?=
 =?utf-8?B?WElPdy9tLzRFZnZzd0k4L1hackp0NThZTWJMaUhkQ21jMDdacHdTWEpvTVpm?=
 =?utf-8?B?L0wzVTRJNkp2dG9aRHVmQW1WK2RRekJBTkVjMVVSMnE5WUhoajR4c1ZKaXBE?=
 =?utf-8?B?MWJIRjc1UTRmVS82ZTFTclpaa0drTTVxV280SEZIWndOY21qeW5IOFBVdUhy?=
 =?utf-8?B?a01rdkVHSk1HNExTWW05ajhza2E0aEpVMzFQeEw5bmY5WXdVMkQzRXNPUjN3?=
 =?utf-8?B?dVNzM1pXcVgwRDN5dDNqa1E2THA3NmxQcjNQMnlLdnZHbTd4ZUNYSktHeG9v?=
 =?utf-8?B?NHlWNnBZMHh1b1VscUVSYVZPd2JBR0x3dXpLTGp3ZFYwK3Q3Y2xXOEo3dm5r?=
 =?utf-8?B?SVZEQitQZlplQ2tWUkhNTER6K0YrZTA3OGFHQ2hncXVUZ2M4TWdzNFBKSkZl?=
 =?utf-8?B?WjBXSVdGNDdTQVhEL2JCY29LaENaLzVseUhjU292V3U3UGVnNVBMQms4bnRq?=
 =?utf-8?B?TlJkWnpoYTM0ZzVOV1pkTTg4U2hEaTdCeDZEdVhmZHZ6bnFHT2tXZjN4Q0lW?=
 =?utf-8?B?ZGFQSzhOdjd4N3EvdVg1Sk85ME4wYU02RFMxQVNrUzJWTUdURjlCYU1aOGpM?=
 =?utf-8?B?OGdvKzdmTUEwc0owTE45OXFxazNkUWs5MExhQUhZczBqZ0pBRnd6UGFncXpS?=
 =?utf-8?B?UlJ5RnRHOVM0aU5wRjFhWkxZcDcvb2hDekpjZUdid3NJaDF0YVMwTm8zeEhX?=
 =?utf-8?B?STJJeUh2YXR5cUV4eFA5a1A2NDV2UFprdzlTb0twUzRsV0Y4UGptUlR6Q2JQ?=
 =?utf-8?B?cmxJZzFXSmNmNnNPRWpDRlhlbDU3WlYvbVZzWFd3U2NTb3ozR0FqbHJsaDNT?=
 =?utf-8?B?STBpekx6K1FUeHVIb0VTYkVjUGR0OGtaTTd0VFdZZmlnYUFQcXdDNlVhZmc5?=
 =?utf-8?B?eG94cG1BZHdwWFE2OUIzZ1cyWkxNZjlINkh3UG1lTDRaeFovLzY3dDB1Nlo1?=
 =?utf-8?B?TEhINmhPLzBpMlVQWHpGQlZUSyt1WUR5UlNxNHBwaFl5Z1ZESSt3emxSNlJu?=
 =?utf-8?B?MU9DSCtJc3dDRW92RGhuS0tmNlpWLzd5UzVLV2g0L1hqWUhOMkl6Zlh3R1RF?=
 =?utf-8?B?OTd5dWxNZkRpYUxhdVQvT3kydGVxb3RpRXZ2N1ZFRGRzTndxdHlnaUQ4YjNp?=
 =?utf-8?B?SlpRZ3pSZkZDYTN1UWd6VGF4SFVCNEtxWVM1WTdYNm1uRXpnZVpXTnRLNWdi?=
 =?utf-8?B?ajFad0g2VHZoUVJxa0NnZ2s4aWx4QkNnVlNFc1BLaFB6MG9vWlNTZk5DQ3ly?=
 =?utf-8?B?eUdManhiRFFmNncwcUllKzl0RTdtcUdPc1ZYRy85bEF3VlR5L005NGU0YmpV?=
 =?utf-8?B?Z2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	bkGAqK7nNOBqvw/G+1FViOwbi7rdCAaJBJhl4kX//kYGO39ryw7R6lgH21u2ZpnJV2+UxlKvR8GzmRcQoSCrB48XvVfoItP86AxcBzA7p1N99ecs3pp8TuBA0IUdG42ijSobSZnHUO1gKuuisG+5unKbZXc8MaXkPm4OmJEO4Ow3x/RDvBog1qi/A9oEL9tt7IgW2XQodG9A5QIkxp8QS3eLsamGRM/0k6vAoCwMhSwIbY1CGqmEzSphnFFUZDHColEd0jnMEGayCK2gbXi6O7vj7zzs+2XRPr7nIaPXkm/sfWSgnyc1rwAkWy2hnKW5zqOj78hCIYsbX4dwlCqVEn0OhUEfNo3MK19uo+S3DsHcKwvEP1pYEdrhzDUU7Bv92TEA0CzCD7/Qo3ZRLiWqmlXtO7zOhDXv8F1RMwHK+/plOdoWltX9j8zNTdiSe9UCaZt78D3Pc4Gyi6Yr3+0wpSEPjHPi4YjvUZyOCjYbWtANHq7tVb5A2huaeLLHO8DaZyoJi7exzkOgJ8hGdkzOcIap1iNpp6TKlxahdVOfHv8qMBWRKFWBJAqsJHJnPqLSQWjtvTbIUWV9X2zcS3pWEoZ38T/wtUggbN+dnkQu86YVQ8oees/M93i7F9kOa31DexmBIKujnnCNSASlgUbvwWPfd6JCYT9rZZO6wTGXsPH7wD3PeIt28TE3u1mQhSivfbijWK+/Q+N6+sH4hCCp+PikmxBx7jA4NxKVWiDEAjtel6V7hlSv0rzbURhq+wE+VMGx+cnIzD1+DPH8AuASok78Ahap8dvPmujnKsjeb4aQmTh1romizn9jRnRPH+rChOyrKFaPHZWKPGmN51Zpy0aRc4nS28k2K2LUis1Ymdc=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a6ff6e49-c9a1-4082-0236-08db249ad64b
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 14:46:04.5297
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: K/PlN7O77WHvPTvZUWqBu8zIXtZtuVSWMjElxXuUpoSkPtL4MXNFMWIMyXLHwLnRLm4MX6+9kLfLqmsiI2K66Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6533

Slightly change the meaning of the command line
gnttab_max_{maptrack_,}frames: do not use them as upper bounds for the
passed values at domain creation, instead just use them as defaults
in the absence of any provided value.

It's not very useful for the options to be used both as defaults and
as capping values for domain creation inputs.  The defaults passed on
the command line are used by dom0 which has a very different grant
requirements than a regular domU.  dom0 usually needs a bigger
maptrack array, while domU usually require a bigger number of grant
frames.

The relaxation in the logic for the maximum size of the grant and
maptrack table sizes doesn't change the fact that domain creation
hypercall can cause resource exhausting, so disaggregated setups
should take it into account.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Expand commit message about disaggregated setups implication.
 - Reword documentation in xen-command-line for the affected options.
---
 docs/misc/xen-command-line.pandoc | 16 +++++++++-------
 xen/common/grant_table.c          |  9 +++------
 2 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index f68deaa6a9..e0b89b7d33 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1232,11 +1232,11 @@ The usage of gnttab v2 is not security supported on ARM platforms.
 
 > Can be modified at runtime
 
-Specify the maximum number of frames which any domain may use as part
-of its grant table. This value is an upper boundary of the per-domain
-value settable via Xen tools.
+Specify the default upper bound on the number of frames which any domain may
+use as part of its grant table unless a different value is specified at domain
+creation.
 
-Dom0 is using this value for sizing its grant table.
+Note this value is the effective upper bound for dom0.
 
 ### gnttab_max_maptrack_frames
 > `= <integer>`
@@ -1245,9 +1245,11 @@ Dom0 is using this value for sizing its grant table.
 
 > Can be modified at runtime
 
-Specify the maximum number of frames to use as part of a domains
-maptrack array. This value is an upper boundary of the per-domain
-value settable via Xen tools.
+Specify the default upper bound on the number of frames which any domain may
+use as part of its maptrack array unless a different value is specified at
+domain creation.
+
+Note this value is the effective upper bound for dom0.
 
 ### global-pages
     = <boolean>
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index b896f9af0e..627bf4026c 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -1956,18 +1956,15 @@ int grant_table_init(struct domain *d, int max_grant_frames,
         return -EINVAL;
     }
 
-    /* Default to maximum value if no value was specified */
+    /* Apply defaults if no value was specified */
     if ( max_grant_frames < 0 )
         max_grant_frames = opt_max_grant_frames;
     if ( max_maptrack_frames < 0 )
         max_maptrack_frames = opt_max_maptrack_frames;
 
-    if ( max_grant_frames < INITIAL_NR_GRANT_FRAMES ||
-         max_grant_frames > opt_max_grant_frames ||
-         max_maptrack_frames > opt_max_maptrack_frames )
+    if ( max_grant_frames < INITIAL_NR_GRANT_FRAMES )
     {
-        dprintk(XENLOG_INFO, "Bad grant table sizes: grant %u, maptrack %u\n",
-                max_grant_frames, max_maptrack_frames);
+        dprintk(XENLOG_INFO, "Bad grant table size %u\n", max_grant_frames);
         return -EINVAL;
     }
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:51:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:51:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509695.785957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5zR-0004L4-9p; Tue, 14 Mar 2023 14:51:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509695.785957; Tue, 14 Mar 2023 14:51:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc5zR-0004Kx-76; Tue, 14 Mar 2023 14:51:01 +0000
Received: by outflank-mailman (input) for mailman id 509695;
 Tue, 14 Mar 2023 14:50: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=vQyL=7G=citrix.com=prvs=430d4338b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pc5zP-0004Kr-Sy
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:50:59 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0a49691-c277-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 15:50:58 +0100 (CET)
Received: from mail-dm6nam12lp2173.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 10:50:55 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB4917.namprd03.prod.outlook.com (2603:10b6:a03:1e9::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 14:50:54 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 14:50: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: a0a49691-c277-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678805458;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Xxy0B6cvLpQjm5oLq3ERIO9jDUOkAob30orVdJquZVc=;
  b=ZbEWTMO326r8prFuq8TZhluuGTl3M+/YhXl1UPkSm37BhjtFbOSJZO7u
   wUCGinf5QzgFMsp63rwmiEmzOmEef1ySpOdpAqHtfTEPMbu+Wis4ziyqY
   QUXOTckvK9RmRYHN+GCxOWd79gGwYHDZ4U4qfrcoVI4q93FCfAyIh2tP4
   4=;
X-IronPort-RemoteIP: 104.47.59.173
X-IronPort-MID: 100798733
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:LMdfxanv/gVE6al9BAArXmbo5gyyJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIWXTyCOveNN2SkctFyYIiy8xkPupOGy4VmQARvqHg2EyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QOGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 cIzJAEcVyu9vu7137fmVutBgts6MuC+aevzulk4pd3YJdAPZMmZBonvu5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkV03iee2WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTOXnp6412wb7Kmo7ChQmewPl/euDmkORZtRCK
 lIKvTgzov1nnKCsZpynN/Gim1aUsxhZV9dOHukS7ACW1rGS8wufHnIDTDNKdJohrsBebSMu/
 k+EmZXuHzMHmLicU3eU7LqXhTK0JykOLGUGaDMETA0K+N3qqsc4iRenczp4OKu8j9mwFTSux
 TmP9XI6n+9K0pVN0Lin91fahT7qvoLOUgM++gTQWCSi8x99Y4mmIYev7DA38Mp9EWpQdXHZ1
 FBspiRUxLpm4U2l/MBVfNgwIQ==
IronPort-HdrOrdr: A9a23:NFp1uaBXYuGmPXPlHel+55DYdb4zR+YMi2TDtnoBMyC9F/byqy
 nAppomPHPP5Qr5G0tBpTn4AtjnfZqEz+8N3WBzB9aftWvdyRCVxehZhOOJ/9SKIULDH4BmuZ
 uIPJIOa+HYPBxWgcP7/wWiA78bsby6GMfBv5an857Bd3APV0gl1XYfNi+LVkl7XhNPC5YaGI
 r03Lskmwad
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100798733"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VmseAkAPUKBvEdvvNqbnE0jv2pIlOWHWCH+XgyL9r0fSyzrOmGCSj9eyx9HiZKIm7EnvsECuOMvsXEfTXFS59zzm0hKhuJ2U0eH/4JzleTB2vbv38UZ5Cn/MRhdwfK0LjtDeqaBDRbhyxQvS/PRpiydBg51GWw1ss6hc6ej9F7PG4cGWxprDoJVKVL+9V3/tEWDnakfODwHiGMtWOIc7g4Vl5BkE+CTnqEtj1I4geSHQ0endLRKQmtpgZpiwjmiFykTlPsqQitKy6dOuCRx7ifw70cqJFg6Ax3uUJ8wLOhDy0tGrd/Yx6PYaAJDQa2ZkpAqBKVci6e95c3mTMcup6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3w8y3VNTLsGYFjj3xShndVYOtOkKbrGK4R6HdTC3+hY=;
 b=XSnHVVwJ7elZADZpZmwMhZaDzw04Z7LdBI0DF2NBJPloCQP8x5Yjg/Oj//KzcpxYJdDioyWdOUez8xe5ELT6f4pWl7OR6wsEQDvK8gCP2yoXxUi/CaZ6TF2vtelut5AafpeGvLatj+O6mzNmGHLc+8Bgxg3VN2dIS21cShhHw/PG5IS0aJaJwwad/hYi47crRRYiCOQCzDap/jkUAv+cIeahgL8gdMQVBfRVfFcNYuYI8jS6aaP/wswGaf3S1eXS0DDvtOLc2hUqnmuOvi2XoOMAXedNolg4psGK5K1bG3LilHK+Jy0QIbNOz3Y+Nyb4cHVG9h+FQiClaj9bxtN3+g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3w8y3VNTLsGYFjj3xShndVYOtOkKbrGK4R6HdTC3+hY=;
 b=VS1gEoAYvkTUDrpdTxfW5TUDCqZsXWD04rR6j7dKn/4HFJdJ3xzzJ5BheGLTVFADfp7muDr37geWIvozPjGKHRK/4DmXFWfFifH0xBCoV+6qMN4wmuaRGX30c18PjkMfLjs1V11QAh7X+HDY1xM61RQWNuTGtMiZgokgSCX18H4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <626de813-99aa-6d44-c895-73e9cdd19967@citrix.com>
Date: Tue, 14 Mar 2023 14:50:48 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 5/7] tools: Use -s for python shebangs
Content-Language: en-GB
To: 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>,
 Bernhard Kaindl <bernhard.kaindl@citrix.com>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
 <20230314141520.3652451-6-andrew.cooper3@citrix.com>
In-Reply-To: <20230314141520.3652451-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0085.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bd::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BY5PR03MB4917:EE_
X-MS-Office365-Filtering-Correlation-Id: 7cf0141e-411e-45aa-11b8-08db249b82b3
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ahz0MJNSkGesvipL1tfYtbjKDIb8yAGtEoND+a6M1su6yesdDa/MujiHDpdmKagbGLaUm3k6vEht/zNaWnslF3POosz18TtaQnOYRwR/n1PxUFpj63P6S4Xk4vsLwtq4gbRTy9SXdgVAR3/yEr5ONMTvh3FjQGMgHf8QmQFZxqBoWhDBat4oXkri10MQIg18H63k/FNmzX7hljbhISiYnojtAe/ndxrGyIQzl5yO6DyCOYWHQli0ubiwcTc/8oNiouWg5zZhvUuJiCfO7kp8GqCUzm0Ko7CUqozPS/WEH3R6MGjQBL7k/agVJkpZo7ixJWkQB2WYsptHZjEo4B5rnz8oFTfY4FoU8MZDXKBxhQnmqG9yQ0r/6mVW17vdctkuR0wAojdRowHvc8BqBl0gqatiFuPqIhtlzyDLAougCjE7rA4SpKYpHm/vAZhRt5sL0pHwJvhjEn7vX2jd2an8S8HiBpMiLW733RBam1035LVN0NhcWp6by1Rdg7XUH3W31XiLLC7I9EShVi05NrtKsGGRQ/w31BUqsX3ZqAZVk4c1b1O6PQuhEvIilqbLutaudD8rsT5O3cB3sYlkvmijVO5d/5LUdGV9RtAOXhIcQQo4rAP027q4U9TwkxuCuoHhPBO/1JaJdI5QikX8ItKwCVDXqu5ZndNsWPqwZ7mvoVThfHNGZGiMBTNch7ySsEa6fIz1puxmrHvNq2WJog4NKpLY87KHK7fTjBsS7/MRPV8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(376002)(39860400002)(366004)(346002)(396003)(451199018)(31686004)(8936002)(36756003)(478600001)(54906003)(316002)(66556008)(66476007)(66946007)(4326008)(8676002)(6916009)(41300700001)(2906002)(4744005)(5660300002)(31696002)(86362001)(6486002)(26005)(53546011)(6506007)(6512007)(107886003)(6666004)(186003)(2616005)(82960400001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YnVmSEFvdnQvd3pSVzRLVTJMeFFna2lMVUZIWGVzbDIzM096Ri9WV1hHRUs1?=
 =?utf-8?B?NGIyRlBiTUx1MmJ2bWM2bkVmK1BJWENLdnJteEJKb1JNOUdoekZlTGk3dEFI?=
 =?utf-8?B?VjR6Z0RGQWNoNFgxTytEOCtqa3VScW1qNzNaYUV6K1A2V3BNUDNtKzZINSt1?=
 =?utf-8?B?OWRJZzZ6RHNFUjZlT2RnbTBrZEE1QUdFRE5vNEJYZnJQb3Q5N2dNZVAxSUFR?=
 =?utf-8?B?a3d2ck94clpqcWpOQndHelduK0NvdXdtSnZKU1cxMnVNSTJSUGVsSXp4Y3ky?=
 =?utf-8?B?R28xQ01JWCs2VTBlUm41MHFZNzdnaGo1OXQxc0ExU0ExcTR5SGtTamVZWGt2?=
 =?utf-8?B?NG1RS0Z5NWt1TkYzMEVWanRQMmxtbzhFaXpDaS9BNlJPTWZiUzUwTUk5UEVT?=
 =?utf-8?B?Y04zeENWWTIrQUpCZjhSM0lnbC9ya1NqbDcvRHdsNG5KUEVHakRuZGlBNy9S?=
 =?utf-8?B?YUYrVC9XU1FjRE1GeXIvRFRQeUxSbVdHR0pxcXhXMWhrVk1ZUzFnekVycTZi?=
 =?utf-8?B?QWNzbjBMaVR0RHBacG5HNjBRbG0rbVZ1VThJQVBLRnN2c05iTzhRVTVtUkR2?=
 =?utf-8?B?a3BaK0RzUGJ2eU5RUGhDa3N4Y2NNeElvTHlpL1BtQWI5emY5L0xDVnRLb0Js?=
 =?utf-8?B?cFNFaVRQcjJKNS9JTlhhcFlQQTNNejk3YUM5VE9ZYWJlVzNQMisxcVZOUjhp?=
 =?utf-8?B?Si9hNzRLWk12d01FR1hRRGs0UHREdmI2KzJIZkJNdGp5eGUwajA3WkxNYzRG?=
 =?utf-8?B?K3dUMFNyMjk4R09LS0tzTWtNWE1JSytnVHJEaU11SDk4TlI3WGROQzdRZU5o?=
 =?utf-8?B?ZXQ1SG85QVVIUXFDZ3BPMW5KN3dQdHdaZTUrN1Yzd3lWNWcvZnEycC8vME1r?=
 =?utf-8?B?aUdzb2FuektuOHZ1azN4R1NQSVRmaGhMeml6MVZCbnMwNWFOa2x0K2k4d21J?=
 =?utf-8?B?WTN4WUtuWENONHh4bFNkRXZHUy9Xam03MG8za2VTNmE0dDhSY2hFV1c4VnVG?=
 =?utf-8?B?b0hKRUlUWEJtN1c3S2tFRlpMWjkwNWtqWHpWVDhLWHArcVpCMmpJK2RLVlpU?=
 =?utf-8?B?Tk9DSElza1ZYQWJIVjUzcmpScE9iQlV1ZDNmSnpXb2lhUmpuOFhzaVFzM1FH?=
 =?utf-8?B?MEMwT3RoaUJYSlErblU2YUw5K0FibU1ta1gzV1B6VUNvcWVZVnJONC9Gc3pL?=
 =?utf-8?B?TW96SXh2OXJFU1ljRjVMd2FiVjVFenh6L1JjNDNpVloyUEZqUWVhUWozRC9G?=
 =?utf-8?B?Y1NFWHZDMlNlN092WTJuOStTOGdVYS8rYnNxTjNiamg4dFZIYkprUEJzOHVu?=
 =?utf-8?B?VTNLS3BIODZLM1VkcCtjSGhoeGNRK1VkZTArdjl2WWEzRE9VMjAzQkkyOHAw?=
 =?utf-8?B?WU9IQ1JhSEhMeXRPNmxhRWh0aDRYYmQ0ZzJlSlpkbXhVdjBTMnROUTNid2JN?=
 =?utf-8?B?aXFFZTV2ZStzNFdwMFd4MFg1eE0vdlZFMGV1b1FuYkhJSmFhTXZuSDR6Mlh4?=
 =?utf-8?B?WFhFMUVRSkVrandTWU5jY0NnTUhnZHdNUFdqUVBjYlJLRUs4dTFjYlBJRm5Q?=
 =?utf-8?B?RGxtOFNablA4am5USEk2MHlGdUJ4SmtGditzS2pVVHdtWCsvTWg3SXhSUnNJ?=
 =?utf-8?B?WkN3akIzbUJCQlI1czJqdkovUFdyNEFyRUhjcENRYmxhSnU0eTRTNk1ZNHo0?=
 =?utf-8?B?VVE4ZmJPT2xXRzRZYkhCaDlNS2t6MWp4Q21PODQzKzhCdDkzZlNPRFk5R2pl?=
 =?utf-8?B?cGs2VHZVdngrNzNRbUlMbzNrUVhpcjJBODM5MkloOGUwOEM3cWNLeTBjdXhL?=
 =?utf-8?B?cGhoT0JoNys0VGcycndtTWFmVzNyMzN0ME51dDhhSmFQSUZTdEJnQ1l3b1Bu?=
 =?utf-8?B?ZWE3cUoraHNiNS8xOE5kSGpkbWFZdjJwWFBqaDZCOW1nSGxWUzhMTVNZR0ZX?=
 =?utf-8?B?MGs0WTQyTDk3dXFXTmdPVWc5RlZ6OXF1MktXR0xqWUxGQUszREZsdHlWZGE1?=
 =?utf-8?B?UHJYRjdmeElBY2dwbVJGeE9ockNjeTkycGtnZ1oxdDg2OXZicmpEeVl4SkFO?=
 =?utf-8?B?N2tyd2RUcTlFZnhycTZOelhsVFp0K3lLUTlTNlRkTDkyRWlhbHRjaG9odDFU?=
 =?utf-8?B?TW81T3BLc2tJODBrcHNGTSszcEkrdVZaNi9EMElwS0d0WkdsWnVvcjFvbi9s?=
 =?utf-8?B?a1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	6Pmq/78Mc4BkBbZsvTdl+NqSTU6y2B4OxKaeW1odlKL7720zYRhrhg1XK5qyYf4vB2tMjFKZXL+HG5lH5CeH5dtvdiSVIH2aKYhAHZPuc4OXNE+aKWFS75zboeb/SGNbsYjdLv0UvvjnHRg4nfWusvHtFjxupsQGY32HC/Rek+vg9RkY4GAV645mQ23nLMMLcPkCzmu24dJuQrkgZigwmAAlLKh57D+KXyZBxsclOG8H9ksjQ6w+TyLMV6xmHo6vUS1DlxQWgUDyyW5JbOcrd/MtHCFzCi5Zufbh1IOudVmU8ZJLt44U4iNZ5H3C2y35oIL4+aKKbkGScmCx5lfMLE7HMOQeprjQUNYTDu0kZlHKsJabR4h8DrmCy8owICghxZWTDV8+bdLTv6FeVYFeSgpJmeqlactfb5Zqrgq8Sx476avhkwKqIXQfwwjCqsV51rAp3jzwBVyxX+fI+c5TEvzf4yXJnleYEhn53FPOOIGZ7OKFyOhipp11srodkGF2nLGjnd6wBDr2YlqPECBwNQpxEt1UEwQRZ6xX+Yuu0pwLjcbaU12OPjwhnezENqo/d3gO9B/nQCKxIxTbPVAPef0NROAObifM25XXSWlAse1f2650VVp36kS5rs5S5T21KNBzfHspbIv2Ua/38fa2Fj8CvZM5IX+EPb1sOun79/4nnPhHI6G2Pu48nWGcYJHgxM0OIBNbOJfuuZtM3KR1NfpEXxFuEXeSjSJERBNstCjcsVCM9fO8KXJ4Rk737ueRA52Armd7xBlbkgKlPqbJ6GdxhXGkV1l0rzwKYf1jKquvAyxwR3lfKtuTgOW86J8YHw//Xt/yndiRGsW4qjrJAXrj+1Z11KCQzEWH/70AjKs=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7cf0141e-411e-45aa-11b8-08db249b82b3
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 14:50:53.8111
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pla0L5i1d9bubMi1fSw2oZOA/Q/0YpX0+jwGj/b9qTg/no70gLq+tPI0K0WE0JJohuQq+Im9qodZi5Ol2eGy0pjSO0YwZjdhFLa0zF38KfM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB4917

On 14/03/2023 2:15 pm, Andrew Cooper wrote:
> diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
> index 29ad0513212f..04b3995cc0f6 100644
> --- a/tools/pygrub/Makefile
> +++ b/tools/pygrub/Makefile
> @@ -7,7 +7,7 @@ PY_LDFLAGS = $(SHLIB_LDFLAGS) $(APPEND_LDFLAGS)
>  INSTALL_LOG = build/installed_files.txt
>  
>  setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLAGS)" \
> -           $(PYTHON) setup.py
> +           $(PYTHON) setup.py --executable="$(PYTHON_PATH) -s"

/sigh

CI has gone a wall of red to this.  Apparently --executable is only
known by setuputils, not distutils.

Which is a problem because it means the main pygrub executable won't get
a corrected shebang, as it doesn't pass through install-wrap.

In the short term, I could fix that by moving the main pygrub binary out
of setup.py and do it manually.  Thoughts?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:53:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:53:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509698.785968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc61t-0004xd-SD; Tue, 14 Mar 2023 14:53:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509698.785968; Tue, 14 Mar 2023 14: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 1pc61t-0004xW-OW; Tue, 14 Mar 2023 14:53:33 +0000
Received: by outflank-mailman (input) for mailman id 509698;
 Tue, 14 Mar 2023 14:53: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=xZxk=7G=web.de=tachyon_gun@srs-se1.protection.inumbo.net>)
 id 1pc61r-0004xO-Pu
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:53:31 +0000
Received: from mout.web.de (mout.web.de [212.227.17.12])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb319b85-c277-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 15:53:29 +0100 (CET)
Received: from [92.76.123.191] ([92.76.123.191]) by web-mail.web.de
 (3c-app-webde-bap40.server.lan [172.19.172.40]) (via HTTP); Tue, 14 Mar
 2023 15:53:28 +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: fb319b85-c277-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
	t=1678805608; i=tachyon_gun@web.de;
	bh=pqmhxqcB7OZSgu9FFiPp1jafnwlDTsMLG0t9qu28748=;
	h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
	b=PQKJz8UYFBz/BpIIQSi6BZlVEJyxYc+2RqF79D2FrlbylnH9KQJfZK8Taf3rjHN2A
	 sFEaiYB8zV94OANNNB3iJswnBUFglsWSz7z3A6bBbsiWEIcpwtENm8RDHqJJqjxnGg
	 Ubhi6rPvWmRHJJ4SVVoTZ9ScnhyllTqfEFdKkaSiDNlWIHRcEpmH3bqg4se8t5PSqP
	 EjACecci8QNM023UhuK3G7CBY6Ht/nuIL3cIjHWsH0ofue6wI4vwVroCoXc9jPpKJB
	 lz0NNzwtpbVJSmJABOT8GUWVgBaE1LXW3+dUVb9Q72uXc8qCgGs+etRd6jT979oohx
	 VFpFOto0NITNw==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
MIME-Version: 1.0
Message-ID: <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
From: Denis <tachyon_gun@web.de>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Aw: Re:  Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression
 from Xen 4.0.1
Content-Type: text/plain; charset=UTF-8
Date: Tue, 14 Mar 2023 15:53:28 +0100
Importance: normal
Sensitivity: Normal
In-Reply-To: <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
X-UI-Message-Type: mail
X-Priority: 3
X-Provags-ID: V03:K1:Vs80Fy7JB1bBrIDcH4Cz49P9w2JTS59M/0QbqDP1g0vu2Bkpj5RUzzRTft9F8MnQEIuNG
 xvJn3NEEmTUnDrTTrmhMfwP7DjW09wztkxNQyCujokVuIlADu/7zU1eXOIrrsNmIyIhEzYdvRB1s
 WEqjFqIDFrXcjErFHfXzq0zCy/OQrUfUMt+I5rPbxoX2tdx4eN/peULJp5nPZ6DjxLIhyYpDm/Zh
 xWBtEfLAQRLSlr/5YlHTIkKBOAuoVD8hXBujoSea/OyW2bBpRbgpDDSA5rAY0VLP0NAymGvAOLCY
 QI=
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:GElQYo71mU4=;xi03gbwVrClbNe0DVWHVvBzPY7x
 3+aMyl5f+3jqgJivpznjmUgntj5AE+Xc563qgdgjb7iA3laMzxTYONpv0e06uN2TvZk0bZa0J
 rguaCqiB127ozM9llZ1VwbUOUr/E81ZWMyW0D9z1aQlp3FaUsQMJjiLAFsZfo9eGy+Z1CLjxw
 nBSjd9Z1bG7go1fwCTlKak1IRNd+GvYZ4ZIyPQwDt9V+sIFkRBvq+xw6XNRllrJn1acys4YCy
 10Aug+FjBjmCcCmHlCe4ZnResZ8SdxLzrkEB1oN73KLPRYAn0VnM6xe0wwyV0L5thliHV+j7E
 5FChnpiznZ4Gv7YSKd7Vy0GPlHAL4mrXE5kjVZm14Ov9ZNUCRZpNfY0bJgfgOB3ZbJffymouP
 wHQIjPptZbzIaUxbwXI6E80/UYeeLYOIgFncXm9SRRo/eCh68BFcqAD5DS2OhQuki5RLCI89G
 bcEKrzSrSTpdB+FsMtRahyDk69jKM4F9xGBlAWf6B411gm2E08JG3HuHtHIrsqIgtyDi42Jhf
 LQkFA7yXnYEP+jwqBbGd2ptOa0xjeiqsXYISQMftsM7vBhgHIk8P24/IV/II16o0uYA8tkMsp
 d3885mcCzyXOnIxbqr8ItI2HiNWfnQ0WZVguydokiOZ6mu+66DZnc+hxrbqJEZ/kWlc9zWljK
 lHqPGoivOGUHa4dW+10VqIYAuHg2wMMaB44aqjoV20/q4y3r0r6mS/JBMc18q+MCvVhH0pREJ
 Z1W74HN37mVF03rUGCe2NQWeHVzTt9IDuqCV7z7r4AmZgkOO28MLhZZs/qifrhUCXA8ix3FfG
 /oPRRtfjzPutCH2YE2Np4bMQ==
Content-Transfer-Encoding: quoted-printable

On 14.03.2023 07:37; Jan Beulich wrote:
> On 14.03.2023 02:15, Denis wrote:
> > On 13.03.2023 10:36, Jan wrote
> >> On 10.03.2023 21:50, Denis wrote:
> >>> Should I test something else?
> >>
> >> ... there was no request for any further testing here, for the moment=
.
> >
> > ah...sorry, going by "Would be nice to have this confirmed forthe syst=
em
> > in question, i.e. without Xen underneath Linux" I thought I could test
> > something which might help shed some light on all of this.
>
> Well, yes, that Linux-without-Xen test would still be useful to have
> results from. I didn't account for this in my earlier reply because
> I had asked for it before already, and I did take "something else"
> for meaning anything that might have turned up as useful from the new
> data you had provided.

What tests could I do or what info should I provide to help?


Denis



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 14:59:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 14:59:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509702.785978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc67c-0005m0-Fl; Tue, 14 Mar 2023 14:59:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509702.785978; Tue, 14 Mar 2023 14:59:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc67c-0005lt-Co; Tue, 14 Mar 2023 14:59:28 +0000
Received: by outflank-mailman (input) for mailman id 509702;
 Tue, 14 Mar 2023 14:59: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc67b-0005lT-GV
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 14:59:27 +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 d03dee37-c278-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 15:59:26 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9623.eurprd04.prod.outlook.com (2603:10a6:20b:4cd::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 14:59:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 14:59:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d03dee37-c278-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lFB8V6Rlue7+1m5qLQIihZyC2PqtdLcwSzg/A17OAC0cYFoR8r8wBOc4uek7r80pzfxzjyRQIYrTcvxGtUEcd4cDh7uRKEdbItLswJjQixZ+wX0tLsII2c5F5gNjl88qXTHTDAJ8UUzy4F4MhuHABF96LWqvNZ9R+CrjYyNZHsRQWm5/wZh3SU9HDZAHg4G2LHiMvuYfChE12BCk8hMzoeFa0TObrX6gKBxLW+CBb1XEQvXli+Q+6/l3+SDI+8lhJvNIxZgx8vK2+mbkhTaouFT89LBkYSb2m9y0tO7u7nw+xh1sV5ZwBdEhHdhNaL/QCju8CwtOvIt/tVUjtYv30Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C1MtJRyDUdSf6zjlzWwh3YZ7KuDxKuh0rHp7KZqKNoE=;
 b=F/4WQVoj9duJXWagqd5O257zprw5auk8Mb+tF/CeWmZOydn/c7Dgthp3cRN+Xru5GzDGzFz8xTFTkjodr4s8ub1IO8CQSgnoj6CG5ngR7lpTR2lgPMZKR0mCYHP5gQ0Os/SN1AhRjNPTpPpRZU2Fr8+hc8/hEcwR1ioVvMYMNvmKZtIxeOjOtCBcD0GbsM7xjd4G7AO0civfRmebOlGg9jkHv2u0p2V+93m1AcKsFd2HsB7q9aacZL4lqccBsIgApzxLhr45sBQ0vzzT1ImnpNKRsNkSETH8sDW1ZN4mGo3SHcqlfO4r/Ld/SHhdZIotCTdV7jTt0oFBig6nTYBUjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C1MtJRyDUdSf6zjlzWwh3YZ7KuDxKuh0rHp7KZqKNoE=;
 b=wkfC7nU0qNWwcToRW6Q71nHWBWUBXs8jAOgNSossnvDjJkK4SVS8JPDjaFtQA+DYEw52vsnCoQ18Ow4pD3vCm9Ui2Q6jS2LRlDxll9VQ7Go4Scrch7BTBqwzvNy5MLqb0qqTHnHnwEghHxQ2XNVre8Vcmx7ohRabgS2d+0DIZESadpTcvlVY33RJIEXjZJSxMcwgYQCfIu+tX9VPfwHEIyPkrT4oPYrmyj4i0R4ZiIoZnSYKscr2kRnL56OE8NsfrISmzWwr/iccbs6R/eOxrEEwexvFN1/hcWyeNkusd/TfYw/omuodNnC3bSJIaNF96WIPNQ5f7sK7ZsoWMpCXFg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7db90f7f-3344-75bf-120e-2113908adfb4@suse.com>
Date: Tue, 14 Mar 2023 15:59:22 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] xen/grants: repurpose command line max options
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230314144553.8248-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230314144553.8248-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0008.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS4PR04MB9623:EE_
X-MS-Office365-Filtering-Correlation-Id: 469211a2-a93d-4b7b-fe2f-08db249cb330
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	q7CXtyY3brN4v2cBKFdDyhc6iIcHFMUnFWBbLhp1gL2A0mHdqDtLePtO9D7rnU0f/wQYq9m9t8JTao//PJBFz+66oEy91p0OnZpbfGv0zr1ArpVJMsYg3J2KNG3eaNu01ROqnwjrTnuyLkLrNVzBubrddfnCtA7PtFphKlb137hvYY0hHEoBbZ2aldaWjxmN1LPfQPv2SAGmtcTmv9R33IBYt91xNumgbw8WpocqvL0ZYMmIwWIyab/9JEYTNZnrUpZqUJvt4ybHFegVPjSCIHhAPHGHnFakQGwt8LaPRW4DUQ46Y7NzV+uqwrNrNn352W3tU8wzBvzyLpVg/Gyk/VxN8GmAxFw1RLyBh1qsT6g3PTsWtlCvjsnTLORVueH8BILGCIRWZ7aTfzpuXllt1N9Hbz/c5d/LXiUB/eaIz90sKELX0wmZL6R13yF2UX8WUAfftXJU+gcZfgAoAbkU9inqLBjhDI0aQtyKDY4FInVtKq+ANylRNHBCMGyQpnEwAK8VwppjzRopvKfCxVHGRt4h52fQvI7V+CegultCeHfEkExrPSNVPn89YVReTvH0inWh4rycSSczY1ajOoaxCs8c+6XAdPRbNlKYFOniRhzHhkxNm7vvyQ4x5BABzbF3cSqmtxm8hMC3ubeGwTle1JXRLBEw/4mzc3BXzVoSzlayhw1RfrQ7s/aHy7Elk0KXv5ceBmBLHt+umQ43LKb90Gozbm4v7wYlI5mIcvHn1FI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(396003)(39860400002)(376002)(136003)(346002)(451199018)(86362001)(186003)(31696002)(31686004)(53546011)(6512007)(6506007)(26005)(2616005)(6486002)(38100700002)(36756003)(2906002)(5660300002)(8676002)(41300700001)(478600001)(83380400001)(316002)(8936002)(4326008)(6916009)(66476007)(54906003)(66946007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VmdXZTRKMXpOcGJmd3krN0pueiszWEkzb21xdkxyVUIrV0J2eEFjNkdRSllz?=
 =?utf-8?B?Uk9yU0pORUNiWEZacjNQSFlSQUVZNWxRNW1xTkZaak9vU2JDODFLYkZacy9j?=
 =?utf-8?B?L3JubFhVTHdVaFZqNitvRmVZRUVXeCtISjdoT3BKV1Zta0l3OXBTNVVWT2NF?=
 =?utf-8?B?enJHM0RiR2xJdzdTWFlvVVZ6YkwvbUlNcW13RFF3ckcxSzVPYm94c0FFdlhI?=
 =?utf-8?B?ZjkzSWQxbHdPeUs0Y2pMUlBjMkI0c0x6ZlZxUVBpeGN6TGY2WmtGSmlzR3NW?=
 =?utf-8?B?d0pVQjRjZkkzUFl0dkRDbEFDN3pyalEza2lyVmxqU3hlNmZVU21ROUd5WDhO?=
 =?utf-8?B?TVZIcDFWYnpKblBoQVNMU2tIWU9jbk1jZUsvYTJiMWtQZFBpeFYvK2Y1Y3Zr?=
 =?utf-8?B?SERvRkJCamhMN0F1RGk4M1ZLenpXUWRIUmJiVGtZbFE0MDlvV1YzblVabFp1?=
 =?utf-8?B?ekFFVkovOThOUGQwLzJPMW1tTU5vcU5zMFY3ZG1uQWtxNmxmcnBMenJ0WW5m?=
 =?utf-8?B?c3RxU3ZKYm04Zk5TNWVSeHQxUFZ5ZjFwck4yeTVySDFoNno2Zm9Db0JkKys4?=
 =?utf-8?B?Q3Izb1E4M2ZGZVFrQm44RHJkWVp4ejNoL1B4SVRGN09HK3RLamJkY1h2Vzhk?=
 =?utf-8?B?SGRhK2VOaWh3cXdkajNlQWZkWllQaWdNRkJXaDNRajRwQmorTXpKakM5dDFD?=
 =?utf-8?B?R1B4d0Jhb2JaSjY2K01EOVdrSC9zbEV2UVZtUXBWU05aR00rNmcvOGJvZUlP?=
 =?utf-8?B?bVBIQUUwam9Bd2ZjME1lV2U3dkh0YTZPTjN2bDZRVThuR0lNazg1bDlJWDJI?=
 =?utf-8?B?WFNXeTJUK2VhWUduTHdmeVdGSnplalR4T1hJNGtOc2hTTHg3eUFRbGsxT2kr?=
 =?utf-8?B?MU9PY25ESkNqYS9kalkxTjhUYzFsYVkxVXpvOEkzSEYzZTRudkQwVmJ0ZWJ0?=
 =?utf-8?B?ekNwTmpOUjFoYyt3V0VSTm5yZVlyQ2dQYkVhbldBTnJDNUJ3UjFTdFVKNFdn?=
 =?utf-8?B?akY3M0dwS0s1dnRRcjVBbDhzUndGaENENXRaVHF2NkpJUldndm14NThIRjZh?=
 =?utf-8?B?WitlalhIRm15UEZuRmdLS2VJdjRkWWZFdGdiZkd6V0hjQTkxM05NcVRuOE9Q?=
 =?utf-8?B?Q2hCaDRsQ2JkSkNwZDk5ZXdpMkNCa25oQjd1akt0UG85UU94S3A1MnpuQmVs?=
 =?utf-8?B?aE9iZzZzQTBCZGNYUVUrSk50T1hScUU3REx4TDJYMEsrSkZBMVJSUkErbDIr?=
 =?utf-8?B?ODdITGRHUGRRcUg5RDZRM1R4UGNSbnZPWnRVV0dKbHBraXptdjYzQmZCQ1JZ?=
 =?utf-8?B?UURaNU5yVnI3eFl6Y1lYUnU2T2ZOeEk2cDhNNngzSWFDS3NTT0FYaFpGWVVP?=
 =?utf-8?B?cW9ZY1JqeVVML2psb2JhWkt5ME1PS3F1NUZ2dHhZUjNWMjJkWG1sYWpGWktw?=
 =?utf-8?B?V3NGR3N4Zlc2VjVQSVhMTFVyTXBnUFQ3WFkzZHRaK1QyMzd2UytRekZBcytU?=
 =?utf-8?B?c1lQczlINjltTkM3dm5HaEw5ek9CKzJPRHFTS3V2Z0pQNlRIUnVNSUFHZ2gz?=
 =?utf-8?B?eFdJMzljVnE2QWNRdDgvVTM5cWdOWS9xdnlFVDZ0dUVTTzVSRW9tbzNzWmFy?=
 =?utf-8?B?RnpiRnlWUlBSN0MrRHdBMXRHTDdvYlhiSEVKeEMydkl2R3hUUk93bkMrdWpL?=
 =?utf-8?B?dFd2YXlVbW1pOEI5eGljaUhlL0VKNWd5dTJMSGxndXBiRno0ZUxocWlLb0c5?=
 =?utf-8?B?N2grY1kyS2JzSHFvY2dKRVZ4R0dsMm9GZDZGcU1QVzhpNDQvSzhBYXN1Z1cz?=
 =?utf-8?B?OGV0V3ZON096WHkzK1hOdXloOUMrcks5L0FZOVgzQzA1SEZDQXA2SzV1U3RU?=
 =?utf-8?B?VjBjVWozR3JGSjQ2NllYZndBcCtFVUdBVHAvZnYrZE1CdEZ5LzNWSnVFOXd0?=
 =?utf-8?B?cGpXT2RHSnczZGs5UDJIbTArcEkyaGlaa3FpbUZwOEt5cXY2U09nQnU0Q2Qr?=
 =?utf-8?B?bFhxb0pXM0RBRk9COVRDYkNXQkxlUkEwRDM4QWlYai92c2xpcGFQS29iNnZh?=
 =?utf-8?B?RVp0ckdoOHFwc1B5dUpXMElTSjM1YWVMTjl6UWdYNkZySHdteSt3LzhodkhY?=
 =?utf-8?Q?bx66CRdJZRCHGQrbE4VQx3svT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 469211a2-a93d-4b7b-fe2f-08db249cb330
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 14:59:24.4137
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7l64J0ctBjUZiqmOiT8VKyePr3Ai8l8oJygEd0IoKFbGGWJomQJh/fF2Mr4fDsqs5QCh1lHZyEf3ppSfgsxtmw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9623

On 14.03.2023 15:45, Roger Pau Monne wrote:
> Slightly change the meaning of the command line
> gnttab_max_{maptrack_,}frames: do not use them as upper bounds for the
> passed values at domain creation, instead just use them as defaults
> in the absence of any provided value.
> 
> It's not very useful for the options to be used both as defaults and
> as capping values for domain creation inputs.  The defaults passed on
> the command line are used by dom0 which has a very different grant
> requirements than a regular domU.  dom0 usually needs a bigger
> maptrack array, while domU usually require a bigger number of grant
> frames.
> 
> The relaxation in the logic for the maximum size of the grant and
> maptrack table sizes doesn't change the fact that domain creation
> hypercall can cause resource exhausting, so disaggregated setups
> should take it into account.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
albeit perhaps with yet one more wording change (which I'd be happy to
make while committing, provided you agree):

> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -1232,11 +1232,11 @@ The usage of gnttab v2 is not security supported on ARM platforms.
>  
>  > Can be modified at runtime
>  
> -Specify the maximum number of frames which any domain may use as part
> -of its grant table. This value is an upper boundary of the per-domain
> -value settable via Xen tools.
> +Specify the default upper bound on the number of frames which any domain may
> +use as part of its grant table unless a different value is specified at domain
> +creation.
>  
> -Dom0 is using this value for sizing its grant table.
> +Note this value is the effective upper bound for dom0.

DomU-s created during Xen boot are equally taking this as their effective
value, aiui. So I'd be inclined to amend this: "... for dom0, and for
any domU created in the course of Xen booting".

> @@ -1245,9 +1245,11 @@ Dom0 is using this value for sizing its grant table.
>  
>  > Can be modified at runtime
>  
> -Specify the maximum number of frames to use as part of a domains
> -maptrack array. This value is an upper boundary of the per-domain
> -value settable via Xen tools.
> +Specify the default upper bound on the number of frames which any domain may
> +use as part of its maptrack array unless a different value is specified at
> +domain creation.
> +
> +Note this value is the effective upper bound for dom0.

Same here then of course (which actually is bad, because those DomU-s
shouldn't need this big a maptrack table, but that's a separate topic).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 15:12:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 15:12:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509704.785988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc6Jp-0008Hw-K5; Tue, 14 Mar 2023 15:12:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509704.785988; Tue, 14 Mar 2023 15:12: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 1pc6Jp-0008Hp-Gb; Tue, 14 Mar 2023 15:12:05 +0000
Received: by outflank-mailman (input) for mailman id 509704;
 Tue, 14 Mar 2023 15:12: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=vQyL=7G=citrix.com=prvs=430d4338b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pc6Jo-0008Hj-Ae
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 15:12:04 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9203a18d-c27a-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 16:12:02 +0100 (CET)
Received: from mail-co1nam11lp2172.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 11:11:59 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6708.namprd03.prod.outlook.com (2603:10b6:510:113::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 15:11:57 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 15:11: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: 9203a18d-c27a-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678806722;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=zHpmPTVwJFTs/I7fCEpjpwQrmKGnRT2gcVQ+o0K97bs=;
  b=alGUNC3y+xp3Cyc83HtqKl7ssCGkVk7Gquw69KSUofaYErjIS/VMDl3I
   7AdFYOevmqA6gU0PGtbkpllIsV/AnFbeMG0b/13w7sq/4edppqqYlFRmc
   mRVsGfh93JDT0F7Ie+6IxinCAKmWDsnfL43FqNBYaf5SN3alCIpsCR/Sr
   g=;
X-IronPort-RemoteIP: 104.47.56.172
X-IronPort-MID: 100706948
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:bW+O0qnuDbxOsuRqn++xvivo5gy0J0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIZCGmPbvyDMTH2ct1xad+x9RwEvcWGxt9rSVA9qCs1ECMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QOGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 fASAg8yTz+Ru7ivneKad7lAouB5fMa+aevzulk4pd3YJdAPZMmaBo7tvJpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVI3iee3WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTOXnrqA73A37Kmo7FwJKFl2c//yDkmWAXO5QB
 2BX5zs2sv1nnKCsZpynN/Gim1aYtxUcSt1WJOIn7imSx6CS7wvxLmoOQyNFadcmnNQrXjFs3
 ViM9/v5CDoqvLCLRHa18raPsSj0KSUTNXUFZyIPUU0C+daLnW0ophfGT9ImG6nsiNTwQGj02
 2rT83J4gKgPh8kW0an95UrAnz+nupnOSEgy+xnTWWWmqAh+YeZJerCV1LQS1t4YRK7xc7VLl
 CZsdxS2hAzWMaywqQ==
IronPort-HdrOrdr: A9a23:W77enKsgZrJXXY8ScKIGkQfx7skCDYMji2hC6mlwRA09TyVXrb
 HLoB17726BtN91YhpPpTnuAsm9qAznhOFICOUqXItKPzOWyldAUrsSj7cKqgeIc0fDH4VmpM
 RdmsZFebjN5VMTt7eF3OHReexN/DHtmprGuQ8QpU0BcShaL5hFqyNFIkKjFEtyLTM2cKbQ1v
 Cnl7t6T/7LQwVlUix/bEN1L9Qr3Oe7867OUFo9Hhs67wvLpSqwgYSKaySw71MlSjZSxrVn2n
 TElgGR3NTej9iLjiXE0nPV7dBwkN/so+EzYvCku4wuMzDxjQTtQppnV6bqhkFNnMifrGwylc
 XKoVMbH+kb0QKrQkiF5SH13hXm0nIV52T8xUS+iX/uyPaJPg4SOo56nIdEdRmc1EY6ptF718
 twrh+ki6Y=
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100706948"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=brfgLOFlKw3WCcKqstyG6HhXIGqqV0QVjkdi2yUH61lIF3qQCbqE00sOEe82V4uRNV9ro6d3atdoYOhmVJjmX4Pb+Xb7RQCHlYCxwoawDPG0ZNUZC57j3jlGEFE9Q6BujLltLbkJ4sciSdCzujX8IqfPWUdqD77Dvq00QC/Tl4JizrrNqJfRHWJfFZ/rlCtIhbzUhMuxtU9WBzFoCk8eTKPWiJMbN//tL6FvdL2pS/FN9PEo71WPyWTJ1ywo+THNiwvjOmP57B3A/KJzPnkaxEsoKSB1Psd7NaqtW69QuZODbLmBtqXecsV6ks5AdEXQHlNooA/Jtldr8HVD64c8Ww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zHpmPTVwJFTs/I7fCEpjpwQrmKGnRT2gcVQ+o0K97bs=;
 b=mWySz+CDRAF6AJReZnOYB83wIEO08pEdjXC7xKYrnzi2J8he53D1TvzU0J1WkwlsZFn2ju7k9lcaPiDkF4nqalxKjt5IJzfp7EDj/5qrLHpjS5bDF9HiGMUIGRw07YGQXDGhGW3CCdaNvmDfcNjdgWhrA6jDBzhr8EKR+IZ14UkDUJuW2WROq4XhF+EOPufsmyR8aXei3kYdfyfQ8aPaFqFg0N0zef+gvOkQY8plixdULFvXxH0Mro8/BIkHSJYKTmV1F6t+LF9pGpKXTaxjfaWFT2t9n31QVOcQnXxjM/ospvKexXRJkdNH0MxDWaNGQ4zPJwSelLYBq/a2B3aUEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zHpmPTVwJFTs/I7fCEpjpwQrmKGnRT2gcVQ+o0K97bs=;
 b=dppnxUIy9yYkf0/ki4qC1aoFJEuo9o5aGvJSUsUex6v5hC4UomS5x6IV9vOTETQL03cbduY1CsCGByHBDF9HxloDUf3zioQXSMvkNXefn+AQu7NkYs7WSbSVvkHK0kfGMBPvuVgFaYNxppkFP++aysyMHRYVXuauhwJMNx10ouU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <e5a4689e-27e1-6992-65f8-c59b669aeaf1@citrix.com>
Date: Tue, 14 Mar 2023 15:11:52 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: Aw: Re: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression
 from Xen 4.0.1
Content-Language: en-GB
To: Denis <tachyon_gun@web.de>, Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
In-Reply-To: <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO6P123CA0051.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:310::7) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB6708:EE_
X-MS-Office365-Filtering-Correlation-Id: 5c563f11-9dc0-4a50-5a3c-08db249e7397
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EaQiuG7gKqjAUSTWAN0zi0HPyC2PKgmxH/jstDj76ZGhiNPZU0bAw/xo3W0993RIJPWLV8PtuekrM/llxFbboCOdLMAoQQj0+IHjI7fFNUJu5J+i+tXqzNCBEdaQP/fpqylPizbGPNhT6xNVnOoo7zg6iPbefErVy0y1NF4cE8TONu1JSdStwlqaDuM46lZUuNFmhq6U1mvGtAn8vRLkwTcPn8jbcwY3hRRbDaRXbP3q7JYUt6Bm0tvU/RHYEQ9TGfWwmIAzvM5jCZUAXI8w4OUJ1UWL69m6yRFWEswCgh67MtI8OgVMqXEuh/wrqCrpj/pkBlRnlN/bDX5A0A2OeRc+IzFp+xFxVyEybg8wCiwB0vUddjWD7/lqXL6yP/HyVPmd3KjGan2DMFSE0RYznsarpqyWuXA3mZ4dMu6YFN69j2M1UpvH/sXMCQ8YpASMjjeAVJIRI+dOAeiy8Rh311flC+UXUVg01JXRXCa6ber7+KUclsiviXtytHhRDrVbuupjeriYraoz2Fjyrn7F0e6b/JPXD0VHLNpG5COVlgFPu4TTTpv4cnddGr8V9ZSe7XF2H+Rjl9HnFxqZGQ2gFXMIIRyXz35Dg0sgWCRIBErxGcezDTj41kfPEtbPpIQBn6oN16Dv19Hy6RZaMPrfdNkktfidZcNMkKJKKupab7FatSpEcBWYjHv7w97HSATMUWlKui3YLHtuSEYwgv7OfACVgUHRhjqgF8qNKSgjgPg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(396003)(346002)(366004)(136003)(376002)(451199018)(31686004)(66946007)(36756003)(478600001)(110136005)(316002)(66556008)(41300700001)(4326008)(66476007)(8936002)(5660300002)(2906002)(86362001)(31696002)(8676002)(186003)(6486002)(82960400001)(26005)(53546011)(6512007)(6506007)(6666004)(2616005)(38100700002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WHNrK3YxbTV1cFFpaDJOMXA0NHlyL1BQWlArT05KT05JaGxuRGRCRDNZNnRE?=
 =?utf-8?B?cHRSNHU5Vy8wSzVWQUZPU2cvcWRWeGNBc2FNaVlibERTemNWOGVjSE9ITWZY?=
 =?utf-8?B?aTNpVkQ4Z0d0UGw4R1dGSUNSaXdlbmI5UEwxMmhkazkxa3EwQXRxdytCYVlk?=
 =?utf-8?B?TTVxNDdURnphL0YzRUFXcHBiaVh6b2YwK1NLRVVCRWRncDI5TjRJN0RLbWZN?=
 =?utf-8?B?RVRHUWVkSlhSVGRaeGo3RkpvUGpRb3NsNDdSc1ZCMEsvYUhUVE51T2w0UTN4?=
 =?utf-8?B?cEpmVXdVcW1qcVRZM1JzcHR1TUlJSFpoTGtURUlMa3d0RXZvR1hhUWRoNFNS?=
 =?utf-8?B?MGNSQVhxSlJpWURWUTlHRkIwSGRSYUZzWTMwZ0F1b0NYRUlGMm9yNVdUSEU2?=
 =?utf-8?B?ekw0RDZ2Q2IvQzhCOFE3S1BFYXB5c1h1TDJzR2pmTWNudDNNaVEyVVA4dTBn?=
 =?utf-8?B?bGx1MXJRNjk1TWM4TEdKMDAvVW1Kdk9TZERRT1lUU3FtRHMxYzIxWnljWWVs?=
 =?utf-8?B?NXZ3Uk1Ea29TV0NtWUVFa0lVQkREYWZodU9wMURqRU12dzVyR0lHQjVMNlBO?=
 =?utf-8?B?eEF6OUFlakpyTzZNRGlvbjdveTdiY3g2TS9QNG5DcE5qQ0RaVVlTdUErY1dl?=
 =?utf-8?B?RFhzbFd3YkdCaVNkMUUxZnZ0Q0dwYWNPL0NmMmlmak9SMUVKcmpVbTY5amtI?=
 =?utf-8?B?c25mY1VVN0xqK1FnbjNHMWdXM1JmdVBTY2txZDVJUXpid1lBbW1yUmJWYm16?=
 =?utf-8?B?OXBNd3hKR1NrRVFaaVJuZjJqZlozeXdsOHczOEpTMXRBajlsR0tEa0xxZUU5?=
 =?utf-8?B?WThtZFVncDRvVU5YRG1La09XQTYrYk94a2M4RFo3NkM4WWJITlhuVWFHcXo4?=
 =?utf-8?B?enM1RExDQTZMVmc3Smp2cUlibG1iNStKSjFFcUl2RVFCYjV3K1I4Vy9mZFlX?=
 =?utf-8?B?c0Q2b0xvKzJlZjVyNzFtaFkyMGRqcEpWRWhqT0dJT2tBUmwvOWxQdVlDSUtn?=
 =?utf-8?B?dm5jOTZoV2tZUmxBaVZTSTl0cXVuNlRnTGg5SHdBbzFPbmhMTTRmbCtHamlL?=
 =?utf-8?B?a0ZqdkF3TEhmTG5EOWNPcVBpeTVSZFFaeC9OVzA0N1dlbitUNFgwclp0c05j?=
 =?utf-8?B?ek1IQ25ZTTNvZkpnZDZiSWdleGg2ZmduM0hNby9uMXhsOUl2SENaYkdyNmIv?=
 =?utf-8?B?dDlPZnRkTjdNb2NWcmNkd1lSWWcrRmFhcTIrVFJVenlFVnlLcytLZ0tYcVli?=
 =?utf-8?B?N0ZVcWdLbXpvb2tnNWVyTzBWYktXZnNka3l4MjNRTzZOSVplcVZOYzRLb1M0?=
 =?utf-8?B?WDcxV0NzR0pkcnlzcE5yZVBzT3M5eWtjZndzRVJyaU9HZ2hjYWFpNkJTa2Yx?=
 =?utf-8?B?S1g2VitaSGRoUE04R214a2V6czFkWFA4UFlBTHJTdktjOERSdzh6ZVB3b3Yz?=
 =?utf-8?B?TVdqTnMrbHNES3pZUjIyL0ZnalAxU2tiMEhMbmVnRXhlUW9lN3JMZnlIYzhu?=
 =?utf-8?B?NG9rOEt6Q1FSTmgxck1sMDY1czVuOGExWnNpU05mdCt3aERJMUhsNVViV3dL?=
 =?utf-8?B?RWJPYnBWNVQ4amVNdnhWSU5wWVNud0FLci9wYzFFNkR2YnUzVFlIZVNna3Vu?=
 =?utf-8?B?eS9SRUhqOVkvMVlGRERGaHJQZkI1ZyttM3RzSkc0a0RLMXkxWlBubkdOOVBW?=
 =?utf-8?B?UEE2eGQ0Z3NLN09kQ1Juc2ZPbUQ4c2xHdE1oOFVlTWZ5SkNoOVZwS0NYbVIv?=
 =?utf-8?B?c0kzSUxBa2RMLzlGTFhmSTRkQUx6UzZnM3ppeElTN0NBQjVQNkpmWTRqNGVi?=
 =?utf-8?B?RFhhNkdac3habmFCdmpQQ1Erdi9reDV3UVBPZVVKcnJuMkRKY2lhMjZXYlMr?=
 =?utf-8?B?NGZjVEg0RHZYbDE2dWdURDZIV2l3d1hFUzJTVXNRUHdVSW5hbzYyd25KMy9H?=
 =?utf-8?B?TURKcmgwVkpvTHdKcElVUHBWL2JFdmxvaitNVzhBeVQ2R2h4UldwSkNaWTBt?=
 =?utf-8?B?MDk5eS8vVzlUYWdWamJlU0JndFF2Uk9kSGdkVkNaNm1YRmNFTFNxTVJxUzJo?=
 =?utf-8?B?K3lKNjJjN01rMkhBQ2VlWm9sblkvVjVQVjZPWFJrTWtJUzdFbjFFSnpSUEpO?=
 =?utf-8?B?SEMzUmZMWkZuZU93NnFzdG1MSGtDMndteHI1WDlxSWdBRkZFY3FXRXdrdzJK?=
 =?utf-8?B?RUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	MRByc/hIotOT1ZfRAglWdSIVeuH92k41MzXZjNB1+HMFJnBsdh+3h9oObouAuaLWQPnhez0arq2Z+5chySb7wKr8+M2Z4QOWd5+3yBL07KpXwp8ZgEA1/MpYzdnkjwBqug7EWoedGPw8PkUeKeKoFP3sB2Srqj3EnU8nVc3EUbzMZjoL53ZJZ8fMllYfJFnOUNGJ//yIB4w1ScT5uQiD5hHafxSAHw2FIDLXO+8hNybt0ElVppKn8toQ6oRFU9zc9xHDtZ8d3Megay0mTazVbxlsG8Du32H4C6mU284s9eHTtKK6srgZUP1MZ0svu495p2BTP3odlXO45s8zCf0GUl804u2P/YvndE66ot9VtiThcJnimx2mswUTL1rv/hUix4E1JZNH0W2c+zDQJB0PtvaZWUgd3/rUfLK0Zkx8h0d3KajGu9p5aM78TRwELIoCIiS1RQqX6tFfNqKOExuu71BOMSbXJD8tgYXDL+LLLdBjIogXaKptR7ylCEjIIwIDXXfah9dRhaDzLuJ2lS1hXuYwy03oABvKIo+BpAQXC0OLxsmtlitvSQcyS1yOOKrhqwlz0rVxGz3h0goG/WoklLcfFberdNYD5gogfInPG5WGP3uoT7qOPruSliIG4c8UnXz0G2UjhIiP/JVczYy8rqJDi9CCP7pCXis5slBnDu6MIKequpJHum1k9Q3NmHZgCi8ydG++8W83iy/yVAFK8Vi3LZsm5Ph/12TK4XzefGE8B8JdjSHcoj8QRWfW44rPy3kDFZitlsWVwfNmUb0ST4iN64CGV3cDLHKtZknztQLOUQjF9XXCgSOm1IFfG2XL
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c563f11-9dc0-4a50-5a3c-08db249e7397
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 15:11:56.8444
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mzkjnjwexvYiCkHX6goaptNqOEUInWMkCGAskHcl/R5o0hqvmDuRtVlzKekCyVi3xNKUK5qE8zHr8qm/ZxqwDinFSJd62GRZLXIaDw1XaoQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6708

On 14/03/2023 2:53 pm, Denis wrote:
> On 14.03.2023 07:37; Jan Beulich wrote:
>> On 14.03.2023 02:15, Denis wrote:
>>> On 13.03.2023 10:36, Jan wrote
>>>> On 10.03.2023 21:50, Denis wrote:
>>>>> Should I test something else?
>>>> ... there was no request for any further testing here, for the moment.
>>> ah...sorry, going by "Would be nice to have this confirmed forthe system
>>> in question, i.e. without Xen underneath Linux" I thought I could test
>>> something which might help shed some light on all of this.
>> Well, yes, that Linux-without-Xen test would still be useful to have
>> results from. I didn't account for this in my earlier reply because
>> I had asked for it before already, and I did take "something else"
>> for meaning anything that might have turned up as useful from the new
>> data you had provided.
> What tests could I do or what info should I provide to help?

Can you please rebuild Xen with this patch:

diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c
b/xen/drivers/passthrough/amd/iommu_acpi.c
index 2fdebd2d74c9..747eae25f56c 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -1033,7 +1033,7 @@ static int __init parse_ivrs_table(struct
acpi_table_header *table)
     const struct acpi_ivrs_header *ivrs_block;
     unsigned long length;
     unsigned int apic;
-    bool_t sb_ioapic = !iommu_intremap;
+    bool_t sb_ioapic = 1;
     int error = 0;
 
     BUG_ON(!table);

which should cause the behaviour to revert back to that of Xen 4.0.1 
(i.e. it will fully ignore the checks relating to the southbridge ioapic).

Confirm that with this, and booting Xen simply with `iommu=1` that full
DMA remapping and interrupt remapping is considered active.


Then, can you play around with passing the soundblaster through to VMs. 
Looking at the LSPCI you provided, it only supports legacy line interrupts.

Does the device work fine, or do you get a bunch of errors on `xl dmesg`
about IO page faults (which is a generic "IOMMU said no to something"
message)?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 15:12:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 15:12:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509705.785997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc6Jt-00006G-Vs; Tue, 14 Mar 2023 15:12:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509705.785997; Tue, 14 Mar 2023 15:12: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 1pc6Jt-000067-T2; Tue, 14 Mar 2023 15:12:09 +0000
Received: by outflank-mailman (input) for mailman id 509705;
 Tue, 14 Mar 2023 15:12: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=6q5S=7G=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pc6Js-00005K-Gg
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 15:12:08 +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 93f6866d-c27a-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 16:12: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-out2.suse.de (Postfix) with ESMTPS id 05BEE1F8A8;
 Tue, 14 Mar 2023 15:12: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 CA7B413A1B;
 Tue, 14 Mar 2023 15:12:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Cqk1LMOOEGSwOAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Mar 2023 15:12: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: 93f6866d-c27a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678806724; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=d8lWYMxGhQBMQC0yIvTPeOV1fgbvp1Ib25piU2tn5YQ=;
	b=j5OpLJIPi/qiS28I77UTh6P8vmwSFgc5xBJ7CJ/zIEJ7e417wkZLs/wHlokwrUKeQJDuFJ
	Vg5TvxmeS2PResTRYKOdBBa3VuraoAm7UxVfXWFPhYrg5wMGfKvcA4WObW1iGVV4Q7MFfb
	n+O0dFYSagFugv41pQdQ9WXFRS5/1PA=
Message-ID: <f867a789-7559-3a93-08fe-56b59432140d@suse.com>
Date: Tue, 14 Mar 2023 16:12:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] libxl: Fix libxl__device_pci_reset error messages
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230313195755.35949-1-jandryuk@gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20230313195755.35949-1-jandryuk@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------BLEdmprxvg8pBAB7DTV3qIvn"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------BLEdmprxvg8pBAB7DTV3qIvn
Content-Type: multipart/mixed; boundary="------------6c5fckwL23VIMKQvTNRjv7ji";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <f867a789-7559-3a93-08fe-56b59432140d@suse.com>
Subject: Re: [PATCH] libxl: Fix libxl__device_pci_reset error messages
References: <20230313195755.35949-1-jandryuk@gmail.com>
In-Reply-To: <20230313195755.35949-1-jandryuk@gmail.com>

--------------6c5fckwL23VIMKQvTNRjv7ji
Content-Type: multipart/mixed; boundary="------------qm93wI5yiPX3VsDVzDCJ6xDo"

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

T24gMTMuMDMuMjMgMjA6NTcsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IERvbid0IHVzZSB0
aGUgTE9HKkQgbWFjcm9zLiAgVGhleSBleHBlY3QgYSBkb21pZCwgYnV0ICJkb21haW4iIGhl
cmUgaXMNCj4gdGhlIFBDSSBkb21haW4uICBIZW5jZSBpdCBpcyBpbmFwcHJvcHJpYXRlIGZv
ciB0aGlzIHVzZS4NCj4gDQo+IE1ha2UgdGhlIHdyaXRlIGVycm9yIG1lc3NhZ2VzIHVuaWZv
cm0gd2l0aCBMT0dFLiAgZXJybm8gaGFzIHRoZQ0KPiBpbnRlcmVzdGluZyBpbmZvcm1hdGlv
biB3aGlsZSByYyBpcyBqdXN0IC0xLiAgRHJvcCBwcmludGluZyByYyBhbmQgdXNlDQo+IExP
R0UgdG8gcHJpbnQgZXJybm8gYXMgdGV4dC4NCj4gDQo+IFRoZSBpbnRlcmVzdGluZyBwYXJ0
IG9mIGEgZmFpbGVkIHdyaXRlIHRvIGRvX2ZsciBpcyB0aGF0IFBDSSBCREYsIHNvDQo+IHBy
aW50IHRoYXQuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBKYXNvbiBBbmRyeXVrIDxqYW5kcnl1
a0BnbWFpbC5jb20+DQoNClJldmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3Vz
ZS5jb20+DQoNCg0KSnVlcmdlbg0KDQo=
--------------qm93wI5yiPX3VsDVzDCJ6xDo
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-----

--------------qm93wI5yiPX3VsDVzDCJ6xDo--

--------------6c5fckwL23VIMKQvTNRjv7ji--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQQjsMFAwAAAAAACgkQsN6d1ii/Ey8I
8AgAkQk7x2eCcgjkYTdroz6vxHlrk04NubGifHgKtYegnw+520brte/jZihqmUSV9Y84EGmhxOQV
+oDZTWdy0Aj6AgdupGoJTia9ESWSYad75Lcwv2DRFWXRav4rUlrB8mIz58B5iktqC6bKoGe7zhJ4
USg/V7n17BfMaavqxs/PLN78vf5xxFNrZoNCcquYD55ZO2k6kyj21fcouq6RMcY1wa+Dax1aMMou
siU/kN4tVIE5a3rr6ingVzhriO3QpKrHsetExCmjuqfzv5voYzrRH+W05OUpIiG+maiuNsjb2v7u
SguRJMDWhVbwd1cAXKwXJp47xtPrdJtDwmFqdEGbuQ==
=Z2TL
-----END PGP SIGNATURE-----

--------------BLEdmprxvg8pBAB7DTV3qIvn--


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 15:14:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 15:14:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509710.786008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc6Ld-0000zA-D2; Tue, 14 Mar 2023 15:13:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509710.786008; Tue, 14 Mar 2023 15:13: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 1pc6Ld-0000z3-9c; Tue, 14 Mar 2023 15:13:57 +0000
Received: by outflank-mailman (input) for mailman id 509710;
 Tue, 14 Mar 2023 15:13:55 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pc6Lb-0000yt-B9; Tue, 14 Mar 2023 15:13:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pc6Lb-0007pt-9O; Tue, 14 Mar 2023 15:13:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pc6La-00035L-Ua; Tue, 14 Mar 2023 15:13:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pc6La-0001Io-U8; Tue, 14 Mar 2023 15:13:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BGBCv+fDDi8EtjvQ4eeRqAnm2qXabkWFko13RAVmDUg=; b=kfWWlhiWKAkgghZpWa8VrqlUxX
	VGn3CIw6g8c0aIPLlfWVEoO5UIj+E8o2bM8H/ITz4anuIndi0/nhRPQll4rSXF3VNAF1vDRSBUIjY
	LYdOClJzC0M6td/0YK+pBDT4/GXpDDbZeSzMQiGCZqNria86mQZg1m/8VFpxBtHXOYcU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179625-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179625: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=961792c9d61f7e03e0c1b6b9f93b8b306df94bf9
X-Osstest-Versions-That:
    ovmf=a1386bb252066262c0b6664af9a6143306d88512
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Mar 2023 15:13:54 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 961792c9d61f7e03e0c1b6b9f93b8b306df94bf9
baseline version:
 ovmf                 a1386bb252066262c0b6664af9a6143306d88512

Last test of basis   179613  2023-03-14 02:06:49 Z    0 days
Testing same since   179625  2023-03-14 10:15:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  MarsX Lin <marsx.lin@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
   a1386bb252..961792c9d6  961792c9d61f7e03e0c1b6b9f93b8b306df94bf9 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 15:18:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 15:18:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509715.786018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc6PZ-0001dJ-0c; Tue, 14 Mar 2023 15:18:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509715.786018; Tue, 14 Mar 2023 15:18: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 1pc6PY-0001dC-T0; Tue, 14 Mar 2023 15:18:00 +0000
Received: by outflank-mailman (input) for mailman id 509715;
 Tue, 14 Mar 2023 15: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc6PX-0001d6-47
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 15:17:59 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0619.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 66071c8d-c27b-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 16:17:57 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAWPR04MB9936.eurprd04.prod.outlook.com (2603:10a6:102:38b::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 15:17:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 15:17:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66071c8d-c27b-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V0ZOx5Fk4Z3zIRYRqMREa5jIQeGCrs+utzcwLrTeYaGIhEOfiQAyFhewqJDogSnx37/GTay2y9UjWHJS+M0Af0BrxGKE6eWa+Om+dNKFd706KcA/aydLXsXkCHib4ArNii4tOznaMjaNlw28hGiH6OpaIuARTVmjegZCk2G2u0VYuo9mk3ZpGadQxL75weyuwgCk2bDubnBabl4DvrVk1Wt79tWgQEssl4PDzlFTzU7e2dhbzRsp+NoCeBYh8mSk7lv0OHOLdEkm+21yKBOkLQfCrIp4cB888i5hSa9T2jIuLt+0McP9l/llvpGJCtc1ldfyVNeVZcSnjGZrpwtwtw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dP0CLX1VKiNTtvd2FwtZNWTNqLghbjIrJm1d0BFUvCQ=;
 b=BQ4wfvaO+0zX++MJOuSeIaQZm3WL1HorwTG34tycyMRcGTOuaW6+fwJ3gaJmkd/YGb/i9Kz49ut6vEgrGRKMStgDLRA8nWaGeOKvcPuxCaFh8MSRi+MPr/zr947WTLCINSzM941BB207s9uvumGLi/T4MApoJGEcOGr3L15+qC5RQ1oXGZXEtJhNzbgPxqKt5bIA6j0LDn4o5w05gOtj0G3zTOL88Q5QQMYiI7h4Zz2J7v1/KBohs5eIG6bo8Yc3t6iV4a7H2LMhhlHHVRBgmSgueqhu9B/6rSDsX+nZC/tsxfLTtJpXUXfArYMtjaeQmH3MTgMJ2VSIbV76vlD8WQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dP0CLX1VKiNTtvd2FwtZNWTNqLghbjIrJm1d0BFUvCQ=;
 b=EekPpaMQSVxvbE9EcXjuKV/g1/fypveOIj6Uf8iZS4QWmn4+2hpCVDi7tEEpsLmqZWbfD915yIPiAra1XGz5k1ssJYEJlQYdzrv7LxvBtHMAYbvXK1KvIULQqI/s1ryA1q3vQx/eVOTdxWaMmTQdDtku+Zc51LbV3fEX91YawJNLYy9mf3TrLSIbqwqKOvW2GHRQNWdw1Pp1n4wPkHmfMikdkf5ksn47QYDfT3xl1F1XmCPUEDnbMhOfpDROHdpFVxVSxeygncUorUUqhhOS5f1p0RNswkDQA93NidSBsLu+5USLAezYJ/uLgOjv+ziMPcFMNBNJHff0arlbZi7GZw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <da7db77f-3ab8-edd1-bc69-460ca3e2ce25@suse.com>
Date: Tue, 14 Mar 2023 16:17:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/console: Handle true dom0less case when switching
 serial input
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.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: <20230314142749.8845-1-michal.orzel@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230314142749.8845-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0108.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAWPR04MB9936:EE_
X-MS-Office365-Filtering-Correlation-Id: 22f6546b-37dc-45f6-4be2-08db249f4941
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wZTVm6KvWnkRxmkyLKfdFkeoDcXxyvKtG0ikvuW5WV8W244B27DSugfzuBVxbusqa/qEDXlF6Da5J5Fy5ovXrANFcbszQPwwotRE4qe322c8+6aKj0hbE1a/MC+Ccke6zQlmQ3mGc921qU+PMvMG/KOyVJsPI3uuuDDr2yxiq65PZmmEXvJ/92c3P/+wSZTZZSbZrp4sbygJBXejcPZxxKLHGVeyHt7fJtX/N48eHFmtHN0B0Mhd7vORBrxxWiXw2zOsB4M24KIR6QQGXdBaDmTlpB23dwtiZ02nO2Y7lSzkTYcos4xZRV2e9qgsFi8Mn0oZYf+f52N3of0IiYF7FsQO5ssliVqyTUDGbWqXNd0L2gpxJyPe8BZ4FWDXDcc9m7i6jhAQ0mbakmoI40bYTLai8Hcz80J8esDKcxCIYjIThmIvK4YURiHrYBbn5Zu3hOrxLQ/t8Gfe7HTDu7PKMKpJQOV1g0zf3LXi0lZQ81E9A3LhZGOA+YgD/hiAMTFp1je3FsM8Bbj++DVA0yJYUlNxGZzsD7Lw8hu7AZnYiV8YyTc5bEFBwv7i09Ms6pJr2k87uBn3Xzn00XOLnfozWW7wQga7Zl550ldKJ3xBRIHGB41H2yoPi92wR+NhTShwPwDCa/T2SGmV4ucnY378m4AlqT4bO670RlyoI8Lv1pGYPpqbvjSboezzZNJib6bZIbl0ZpdW4rRHM3WdXPtr6935ekJb8FrLyhCxm6cUTxmVTM9/NWT3WQTEwnKyxOLj
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(396003)(346002)(39860400002)(376002)(451199018)(38100700002)(2616005)(6486002)(2906002)(31686004)(53546011)(6506007)(26005)(6512007)(186003)(316002)(41300700001)(478600001)(83380400001)(54906003)(8936002)(66556008)(66946007)(31696002)(4326008)(6916009)(8676002)(66476007)(5660300002)(36756003)(86362001)(32563001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NE5lRi82OUc3Ylk3L1g4d3lKQ081K21uV3lVS0E0RTVNQUJyVG45SjNHbVVC?=
 =?utf-8?B?bTBPLzRRbTNOVXVBdHBESWMyZC9QRVJQRFpZLzZvREk5MFVmMzRkcGdydHpZ?=
 =?utf-8?B?VVRQTE0vSm1LZ0VhR3JzeXkwNVI2Q3l5cnhMbS9NTEExNlNDR1l6S2Y5b3Jh?=
 =?utf-8?B?TjFrTEJmT0lFaDBLa0dEZ3UwSGxGS1JvMVh2aFFCRjg4eCtvVnE3WkcxaTk3?=
 =?utf-8?B?VWd1UmFFMGVUVWVsdkxpZVpkcXFEb3FFdjkvZWpLcXVUL1d3aEZ0NXFza3ZZ?=
 =?utf-8?B?dkxUTFl6Q2lzaGVBOXNSdDFWdTB0N3NQS1NIMGhpS2hEcjJOQ3liVlYwSGlr?=
 =?utf-8?B?dDZaVUhTY2Z4YlNDeFI1UnRrUnVVd25YVk9YWlJFbTV5am0ySjc5cEJqZjM0?=
 =?utf-8?B?OEI3Y0lmb2hwUVhHSnZGS2xwa2Mya081bnRkRVdLUldqZ2J3ZFA1MjgrSWJn?=
 =?utf-8?B?c0NMS0ZIeEEwTGVEK0pmVVk2QTBFOEZlRVV3ZUwzSndjaG1wYWF1QjZ1ZFBu?=
 =?utf-8?B?c0M0VWtSY2pKdGVzZE54ekNwZW1yN0JVTnRpb1p1ZGVmMmZoR0JBdWN6aSt4?=
 =?utf-8?B?Y3hHUzEvdGExSEIybGxQN3Q5NVB1T0lkRDB3OE1VOXV3WXVjMUYrVXFZMnBP?=
 =?utf-8?B?NWRKS0t6VkM1ejc5ZkFLdHoveVpoQzRNU3VtOU1PUFRpSnNkR0RSVXRzdWZx?=
 =?utf-8?B?SXppdk5JQ3A2WUgyR0l2b0U4Z0FwQmFHT2ZEQmNDaS96eFZ3VlplczRQYUVo?=
 =?utf-8?B?ZEtTRm93dzVYT2Y4bm1xcm1yQU95QVJaaHVOcEdpSDYxT0s2WGFaQjNQaXhZ?=
 =?utf-8?B?V0NYSWZGc0NSVTVYa3ZCNXoxV3lCeXhGOXI4QXR6ZHRCMFZjNEwxTjc2V0pG?=
 =?utf-8?B?eEkzeWdDUkZGb3U0WTNUWU5MeEVmL25LRENmaFJKZmZWblN4aE1WaVNEajF0?=
 =?utf-8?B?YmMyS1NDQzd6eForQVFCL1c5cjlGS1pidkE4S09CV0xqOGhOTEYxa3dCaWgx?=
 =?utf-8?B?U2J1eDZmSjFxdmZyanB6U3JYOHF4Q3BUbTN5blB1SDZsb0VXYkV0WjF1WnBG?=
 =?utf-8?B?OTZpNmEzdUIxOTc2bXk1KzJGRTN4RGdnb3AyUkw3Ui9DZGhFb3hkbUlqQ3lQ?=
 =?utf-8?B?ekttdW1lcUo5WlZ3ekxtVzFWaTArbU5nRjBGV25nYzNNUWpVOGlJbjZHL3J1?=
 =?utf-8?B?YzFDN3VhcGdDeERkazUwbDF5TjNsc090emRnbnpSc0FRSEVXY0RQSmVpNlVN?=
 =?utf-8?B?RWlxb1BPTmF2Y2xkTHZDLzhIcmpHYS9EWDJHVnBiUVpkeHhMb3JGdStTTWpT?=
 =?utf-8?B?MHNjRC9YSXRTdmhrUlpGdTkzdzFIMThhUzArV1MxSXdVcHFqU1o4N2I4Qnpq?=
 =?utf-8?B?SWk1YXFQV2p3S1VjN2JXK3ZhWWhJZDVVbHBoRFVPOEM1VGpHWEZsV3dSajM2?=
 =?utf-8?B?czVVNjk3ZkRGTzZ3eWQvT2xCNGFwZDFvQnNaMlllM1BEZEJQRk5kM0FSblNi?=
 =?utf-8?B?RUJpdG5pc04rOTAzRCtMVUlOYzFxV2ZpdUdBQS9XSFV0MVlQL1hXVGx2a0xm?=
 =?utf-8?B?cEVyVVVoaVRGK1FwWm9JU1FMNXVHalhDNHFBYW8ydm0yTDJCeFpEaXZEb29I?=
 =?utf-8?B?ZXAzeXdiRU80dG83UkN4Zy9ib2xyN01zdGhGbDlOWHR1bUllYk9xb1d5ZHFX?=
 =?utf-8?B?eUZYR216NENUalV1TTBtY0FJNFBZM1pSdGFLMmhWTDJNTE9TRm5TQkpDekFm?=
 =?utf-8?B?OVdnZFEzdmpCcjlaTFl0VXdnK3VoZHdZZysyT0pqZ1grYmYvVWRtZzl2VEhD?=
 =?utf-8?B?dW9DdzN3M1RtTm1wblNiUm5RWjRrMmwwcTZ5R0Iwc3NUZ29ENTFjNHFlcjRM?=
 =?utf-8?B?Z0NSdHdwMERibC9mVVBuYlhNTzNQUDlzVTY3djBzNDRwcFdCZUFoKzR4RDcx?=
 =?utf-8?B?UENxSitzQ283M0tLSFRLSWhLSm5peXdIaVV2Qmg2Qno0TkZkSUZTb0cwTTdS?=
 =?utf-8?B?Nmk0bGQ2R1NrSnpUekJtZW55K0NSSkJ6WGxwUUd3bWwzZjdPNUNZMTdQSHhN?=
 =?utf-8?B?NjYyVWpnenFrbzdycjJTcUNrVkpQN1FNVVdoZ2dWRTN4Q0c1b1dUTVdSMGRt?=
 =?utf-8?Q?qNLlXLB9wwllJVGde2HvqYYXc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 22f6546b-37dc-45f6-4be2-08db249f4941
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 15:17:55.2191
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gHuwopSY3a+4JGPHZ6q4wDGBCUfEiOBwonHelKi2WWwPPzlBPsS6zUtLZyhsORMF7DGJjpFvsi9xxOu2jGPY/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9936

On 14.03.2023 15:27, Michal Orzel wrote:
> At the moment, we direct serial input to hardware domain by default.
> This does not make any sense when running in true dom0less mode, since
> such domain does not exist. As a result, users wishing to write to
> an emulated UART of a domU are always forced to execute CTRL-AAA first.
> The same issue is when rotating among serial inputs, where we always
> have to go through hardware domain case.
> 
> Modify switch_serial_input() so that, if there is no hardware domain
> (i.e. true dom0less case) and console_rx is 1 (i.e. input to hwdom),
> we skip it and move to the next serial input.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Makes sense, but I think there are more things to consider.

> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -491,6 +491,14 @@ static void switch_serial_input(void)
>      else
>      {
>          console_rx++;
> +
> +        /*
> +         * Skip switching serial input to hardware domain if it does not exist
> +         * (i.e. true dom0less mode).
> +         */
> +        if ( !hardware_domain && (console_rx == 1) )
> +            console_rx++;

The consumers of this variable aren't really serialized with this
updating. That's probably okay-ish prior to your change, but now
there can be two updates in rapid succession. I think it would be
better if the variable was written only once here.

>          printk("*** Serial input to DOM%d", console_rx - 1);

When invoked from console_endboot() this will now switch to Dom1,
i.e. that domain becomes kind of "preferred", which I think is
wrong. Instead I think in such a case we should direct input to
Xen by default.

And then I have a question about Dom<N> lifetime in dom0less: Can
such domains be short-lived? If yes, what you do here for Dom0
would likely want generalizing, to skip any domain that doesn't
exist (anymore).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 15:38:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 15:38:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509717.786028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc6is-0004JI-KF; Tue, 14 Mar 2023 15:37:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509717.786028; Tue, 14 Mar 2023 15: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 1pc6is-0004JB-Gi; Tue, 14 Mar 2023 15:37:58 +0000
Received: by outflank-mailman (input) for mailman id 509717;
 Tue, 14 Mar 2023 15:37: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc6ir-0004J5-Id
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 15:37:57 +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 309b5c6c-c27e-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 16:37:56 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6931.eurprd04.prod.outlook.com (2603:10a6:208:17e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 15:37:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 15:37:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 309b5c6c-c27e-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=et/3A48iTeudzBqyoBLzrSin881ulo/ODxHucmUTBhaEvF00na2K2NF46243kxsI0mmmWF2Idzk6kqx1TcmTPE8DxzVlfR8uYJiv70JRKVWqGPuRfvc6tAN7JYvrplROOV7BuSqz+tw7La5DgplTq4q/E54PpHpLsWw4jXFRzJ1vdvlO2Pig2oGZz2/SbQhSY1EDNfvybOduSZcjYtXFRnBNcZjCLhpBmPlV3J71wFKAunmgMh3Vd7OlsRnmBZrshvTJ1K+A7b1F+1PgJ81RtmGzxHpyAcQmHPKgu7FFvZCr8WiVFXBYSDjba09b5q2egJLm/brXY9TgbXG6SWmqcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dnbAd56Khn/dLy/qQaM/IW4PhtzO3DQ7mpq6dIXg25o=;
 b=cmBWA4vEPmPlNcgSbJf82bcYzNp1VMPIBsTAFTr2reV+yHjVL3bKqYy9zygOjsghen/Gp8pcOAkBaZ3AtqCah320VWZXRXNMz1OkPXbu+nZRU3l7rwBQuR+TD+NHbHHug6zg4tJrmI8p+gFEwdwAVvUf9az6vSe8+vrejy9enoS28thy2RbPyge/RwFXCx8Rr9QVEgfaPwuHz4kGnnDU72peL56gd64Xozynlz5nHpwqDbS8Jj6Bl+/+1mgg7ENqRHps66ekd4rV9N36QkqrHfW65DYQe43duzs9/IdttPbwwVSreMKlSir5co8Vn6TBwlIbWsZO80pfzE0MYSknUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dnbAd56Khn/dLy/qQaM/IW4PhtzO3DQ7mpq6dIXg25o=;
 b=FK6Y+TwF4q/NgjcfCZNeW1e9W3vf/wjcpWUkeAeG0G8Qv3i+U0bXzBPE23q7W5Ju4G+FproevTEYKhlDkJbFycR1BY4CfYiROUXl0h2dk8ugZBPNIgoyCEBkLBcSa2NlhPERr4VrSaVl7KDC4IsWemdeL+KqZzIUsQ8imEEQauWeXcJqwpoXNrg5Xi0BbHlx6wHHw7KUc4qf2pRGqi4tkKHHiHcz3ePoUvZr9FBxzjQ9Fz0DIDa53OzZpUy3J+ItFK944AOkYGbUR3jc9r5HO5uP40AxHV3HdFAt5+TINFSdow6B9qhyaJGkFItB0vlFKI8vrMESZeYGnlCiPdd9PQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <40da0146-21fa-d5a9-7ae1-4ed2cf4a5785@suse.com>
Date: Tue, 14 Mar 2023 16:37:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: Aw: Re: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression
 from Xen 4.0.1
Content-Language: en-US
To: Denis <tachyon_gun@web.de>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0047.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB6931:EE_
X-MS-Office365-Filtering-Correlation-Id: 344c4733-9d9b-426f-55a6-08db24a2137f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZcrL8XNYSJg5b4j+xfe4yygmMZ3o4fGzmlDsRyxWhue7vbvUGNzeO1+hpqQJeWi1RzTF+n3u2PEP4GhiSsYs5hkEYJoqNV+78F+Ph053TLs/F8GRImkZQo0RrzbGp8e3Xf/6f0IFoA/KNQSYE7TIsk17Mkk46Fw2URTVdJOnU9maLsZuBArJNldcjmbh93FGZwK2c/VQ433bGwDmr3Wst+5h2R/VBJnxCm1A+mdO1cclr0LBuWsEE+X0uCWO1JGvD2uLpVXTCwvjYf+R52DflVkRL7ZE2g3sNJB6J28iw7/w8TT7J3QPwA/TtBOC0dR1i4RkLHWvl89Q5eVawG4fTmSe77lSXJnC8ycD+eEWn5mJhf+NZnPqDS4SMkUlyc2LhmmEpPZs+5z+QE/VwuSRPfUXa1kGRCKlzsGsFUgg05eQMjbvOB22gKzdVwLacwjU3rRsUPoIHwk8uYFI7nWSsOEfj9T7EIijFJV324c1szf7pTRuYmhrs2iXu7viN62Tw4JzPtzbNQGKA7VR5BAaxo6b7V/C6Eg6dbp76OWD/VULBFWSbgenZ4f6u2xc7wrDNV/hXw7MSHRdqXKF3e1Z2q/NIMuZEnTUq06J1CNJ5u41yLpZvXGInS05B/qG0doV8wc5soxfWIaHCmjZ4KtvWBRGKp+8oXHytTfXlnepPacc0/vwqkKiQ9kxSpB+zNuJU73UD07R2D0oQrP7OhRowoIiVjfTN9ajEQkU4wH4cnc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(366004)(39860400002)(376002)(136003)(396003)(451199018)(31686004)(8936002)(36756003)(478600001)(54906003)(66476007)(316002)(66946007)(66556008)(6916009)(8676002)(2906002)(4326008)(41300700001)(5660300002)(86362001)(31696002)(6486002)(26005)(53546011)(6512007)(6506007)(186003)(2616005)(38100700002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dFNsdys4dFFjL2EvUkFGS2IyRmVNa2tGWTVUMVhWSDFDbWRiZVBJNmU4T2VC?=
 =?utf-8?B?T3VLT2VOMDVRekFJc0ZkVFVKNjhpWGtaZnhQQU53NFY1STJIZkNuMDVObjRG?=
 =?utf-8?B?ckN0NDVwcUNOL0JCR0dpdVMwM3pwMkZUODh2T2NTdnpydmY5ZUdFU0s3SERy?=
 =?utf-8?B?SjZrTUtWNE43eFB1dmNSS0xQZFpLZHNBazJDcEdHOG1keDUxUzVGZVJ2azRT?=
 =?utf-8?B?ZmZiZU9UeUNuT2JnZnZFTmMxWWU0QjNpVEd6Y0xQaVV1b3ArazhHSFNXNTJB?=
 =?utf-8?B?WlYvZVc4bTFOY2JGTG83YU80MXVFL2JjK2xHdFFkKzk4dkxaK2pCeXVKMVRm?=
 =?utf-8?B?b3g0ZUtuZFJZcXhnd1ZGcWdZK3c1RmdaQVpUSU1XQlRQMm40ai8wT2Q1K1Y4?=
 =?utf-8?B?ZTlEMjk5MG9oMXgxV2V6WnFveGZjK0Judkd4ck4wNDl4Z25SelhuTTEwRmZl?=
 =?utf-8?B?M2cxMkQrUHBRTzJNRElpM1J3SHp0NWhvMmd1bDJLRnhyaHR3V0ZnN1N1Q0ZT?=
 =?utf-8?B?T3JzcEFrSEpjTzlyL3loOFBPTzVySzZyc3VjSlhCWStzQ3pFOGJoMHV0cksw?=
 =?utf-8?B?Z1ozcWgrL2ZpOEpwTG1ucFptekhpTnJrV1kwenVwL1hzS1VRSXZjUUFkNkFF?=
 =?utf-8?B?Vm5iNE5oVloyellYdWJCSk90R0YwVy9RQ3JaazU3TzBLTWtLQWtGSkVFbytj?=
 =?utf-8?B?UG9uTGRnZDAxOWpaa0dnZjRvNDVwR3BOaHdDbEpmTnF5Nm1sR29wcC9ObUN5?=
 =?utf-8?B?TkdEQWRSWjVLdkc0TTlUcGd1eWJsSm1wL2Q5eHNZYnRDaEFlQkRrVmw5bUZy?=
 =?utf-8?B?N3BrREJHSFpJckdOaTJSSVZFNzNiejlqVDcrWkRyZ2I2NC9WNE1wV2V6ajhQ?=
 =?utf-8?B?aGp4U2NWYXZac3ZTOWZ5UVlqdTJLWFZqbjEwdis0aWh4WUNjNnlSRHV5aHRo?=
 =?utf-8?B?aEVsWXh0dWgxZUhtQzhuUmJ1QUJPVzBBSVRuU2xiQmx0SVZqQ2lZZVpMNUlG?=
 =?utf-8?B?bDRPeUF4ZEswZ0V1dlVFSHEvclNDa2ZKcGlmODhPTDJOdHoyTlFaZ1J4Z1A5?=
 =?utf-8?B?eHhLRGVGdlpYREJEdHVIMUQzUit2ZFRlakhUZVh3S1E0OC9FVmlSMS93b25k?=
 =?utf-8?B?SEdyZDBSY3pVUnZ1bnBSMWhBeG9ST0tVdmdyY2YyWHkwL3V0WHBDV2o3dDla?=
 =?utf-8?B?b2JwVzZ1TnRqdFVWekxvZHFqOXJia25ZQ0lERlF1Wi9UQXhpUzEzNUpvbEUz?=
 =?utf-8?B?RW5sMTdnQ3pJQ003UFI5czRaeXg3SU0rT3gvaGVSNytWaTlZMlhLSlVzSjZy?=
 =?utf-8?B?ZFU1MU1vNndubElmYUxYVlR6UVIxcUMvaVh3VVRCV3hLZ2g2bG1ZRHBVZG9n?=
 =?utf-8?B?WFhiRDNIK25PNlhId2dDTFVJa21CeWozTllBYzFlb240SFpDWnEwUnAvWUtP?=
 =?utf-8?B?SFRHRXB3N256SUZFTEFPY0p0SyszekExR2Vua2k2dFlrNFY2NHNKL2hHelBC?=
 =?utf-8?B?N29NUXMweFFLei9SNm9DcjBrUEZHcEpIR2JrczA4STJKRmorTWY1bzllZ3ZP?=
 =?utf-8?B?cy9Cc0xtbk9kOTdwVWlOWDNTY0hmN0UvTDdFZ3I1UlcyRDZKWTBTZjFGeGU2?=
 =?utf-8?B?ejdpNzY1cGtvNXVBWitsTEYxWnJIeC9IendQeXEva2xkbUFqUWdzQnVBaHRs?=
 =?utf-8?B?a1R3R0hoV2pla2VENGpUcDg1UE9DM1h3L3ozZmkxSHFScmdMV0g0L1dtcHgr?=
 =?utf-8?B?T0t4dHRsSnB6THBVbU8wdUxEL0xzcWtaVitncVVrU0pEalJlM0I4V014cWdB?=
 =?utf-8?B?RDlHRC9YbzdjUXhpVTdyTklOZzlWblI0TE5LSmVZUlI1RnF1TC9nbm4vUk80?=
 =?utf-8?B?NW5DNVRWYzJua2lWUDRQMFZjcjJDa2lFV1JQSUZpUTFRVVNwbXp5ckxYdVdD?=
 =?utf-8?B?SGcwcXBxeVJWVG1jb3ZWYXZhQzFEN0ZkMGxlc0diN1pKcTBxMmJCUDI1akJi?=
 =?utf-8?B?TUkrV3doWVpxeEtFSS9QTlEyVnVPQ1FEQ2I0WEYvamF3SWk3Nmw2cmxJbWw3?=
 =?utf-8?B?MldNN2lRMTE4aGtyU3NOeld1Zm42QUpqekF2V1lsU3BWaUtEaXpYc0Z4NEFt?=
 =?utf-8?Q?jbHYG5FZiqwl4T2QT7TO7ZSs/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 344c4733-9d9b-426f-55a6-08db24a2137f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 15:37:53.5814
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2d9SHAuhrmN2BKeLOfFRJZtbIE5CvuOu7elusIffFCo+2AiRKlp8omkh90pHEbDu1JcVMXrfqE2pUZwfeGuClw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6931

On 14.03.2023 15:53, Denis wrote:
> On 14.03.2023 07:37; Jan Beulich wrote:
>> On 14.03.2023 02:15, Denis wrote:
>>> On 13.03.2023 10:36, Jan wrote
>>>> On 10.03.2023 21:50, Denis wrote:
>>>>> Should I test something else?
>>>>
>>>> ... there was no request for any further testing here, for the moment.
>>>
>>> ah...sorry, going by "Would be nice to have this confirmed forthe system
>>> in question, i.e. without Xen underneath Linux" I thought I could test
>>> something which might help shed some light on all of this.
>>
>> Well, yes, that Linux-without-Xen test would still be useful to have
>> results from. I didn't account for this in my earlier reply because
>> I had asked for it before already, and I did take "something else"
>> for meaning anything that might have turned up as useful from the new
>> data you had provided.
> 
> What tests could I do or what info should I provide to help?

Boot plain Linux (no Xen underneath) and collect the full set of kernel
boot messages (some distros store this at /var/log/boot.msg); "full"
meaning we want to be able to see all output regardless of log-level.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 15:42:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 15:42:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509721.786038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc6nS-0005x3-BJ; Tue, 14 Mar 2023 15:42:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509721.786038; Tue, 14 Mar 2023 15:42: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 1pc6nS-0005ww-6g; Tue, 14 Mar 2023 15:42:42 +0000
Received: by outflank-mailman (input) for mailman id 509721;
 Tue, 14 Mar 2023 15:42: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=dXSW=7G=citrix.com=prvs=430734c92=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pc6nR-0005wq-F7
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 15:42:41 +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 d7ba62b5-c27e-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 16:42:38 +0100 (CET)
Received: from mail-bn7nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 11:42:34 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SA2PR03MB5819.namprd03.prod.outlook.com (2603:10b6:806:113::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 15:42:32 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Tue, 14 Mar 2023
 15:42: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: d7ba62b5-c27e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678808558;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=tA8/TSn2UZHIUaKPx81BJl9qEPx0MNNqHM3Cds0C/fY=;
  b=RaLgWXxEKhPyWpD8wh7caf7o5QNAzO9I980vb65QHDevmKP2t4CjTMDZ
   nOpliVpqE8yBFAtkE0A4UzS2LSRfzDpoEc1XtPho+yh6GsnSMp9ySAKyU
   LwSj1wilpiuz9BfrbXJIGdJr4uL4LvNp63bTAh6w0MGOBLiXoWaBp+oTN
   g=;
X-IronPort-RemoteIP: 104.47.70.104
X-IronPort-MID: 100712812
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:VBlx/6IvzFSsixvrFE+RH5QlxSXFcZb7ZxGr2PjKsXjdYENShDVSn
 DAeCzvSO/2JNjGmKYx/aYrn90wEvZ/Qz9FiHVBlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QViPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5PIHpM8
 vAAFAwqawKCuuPt67mhYO9F05FLwMnDZOvzu1lG5BSAVbMMZ8+GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/VvpTGLkGSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03rCWx3OiAur+EpWmr9tWgnCQwlcSJ0QPaWa/hdK4sWqhDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8U49QWMx6z88wufQG8eQVZpc8c6vcU7QTgr0
 F6hnN7zAzFr9rqPRhq16bO8vT60fy8PIgcqdSICCAcI/dTniIUylQ7UCMZuFravid/4Ei22x
 CqFxBXSnJ0WhM8Pkq+9olbOhmv0ooCTF1ZpoALKQmii8wV1Ipa/YJCl4kTa6vAGK5uFSl6Gv
 z4PnM32AP0yMKxhXRelGI0ldIxFLd7cWNEAqTaDx6Ucygk=
IronPort-HdrOrdr: A9a23:nMkue6hyy7u9LgXr9+912ykRRnBQXiwji2hC6mlwRA09TyX5ra
 2TdTogtSMc6QxhPk3I/OrrBEDuexzhHPJOj7X5eI3SPjUO21HYS72Kj7GSoAEIcheWnoJgPO
 VbAs1D4bXLZmSS5vyKhDVQfexA/DGGmprY+ts3zR1WPH9Xg3cL1XYJNu6ZeHcGNDWvHfACZe
 OhDlIsnUvcRZwQBP7LfkUtbqz4iPDgsonpWhICDw5P0njzsdv5gISKaCRxx30lIkly/Ys=
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100712812"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h+W3kUaIJRJ6B9hbcNmAC7zFdnDsRuSL/8q0vOH74TUeWF9KDLzwtMv9dgUjcgLyPDOCD6M6lfOnX0GfdMH4li5bWSMOQRpGJ20abHUaePuVDyjuTiP8MXIfE+s2HpBECVGWJHowuzhZeFHx6fhNcSgPLYkPIR9Q3gA7b1hUYvxeVTuk/MmJLoKMHEcilol9MwUTNjOZv9goWzvfdd7MjnXdDfyukVVGqDmIEYOfV5RMeixoIpawBUZoZkapNf/InrqtEBk+PXDV261PIsmpHg3I3uGfuEzq8IuiJQxG3nfQ2EEi0mJeCaeuOQGf1gujzGzobgtqvksnby2kmGpEIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gZ2pS40nOI6xw9QUw+KjuzX2QMDoxv1m7kj2GobSkbo=;
 b=D9H43711nWZPTk/ifplzKu0Mi5XH2yOnvyqgTfJzaQ/5kj47W0qGUKWREEU4AMKWX4/y6ytxwRgcPVKK7EDC6/TZvSow2sSqT7AElcfcGdMBfcIEOStBHG3skC99nbDTH3x36D4B6vmzS7MU0N0unpAtZQITXDsnsmCoBJMcGnonBJhEmitp43tLpwU+lb8Takys84chRutByb2UFQni7PxeUc33hfoNBmbuyF8rcKDP9dcek3wU0u9HOlzSVrpTWd67urb67SCZwbzpn/u6AYJEsiMK9oHlqxAo6dXAbFxZcfr93KVHXTAn/jaXz7M8MJIetQGbvtdyGK91wL+Gng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gZ2pS40nOI6xw9QUw+KjuzX2QMDoxv1m7kj2GobSkbo=;
 b=HlA8HPlwqfIV/tKqfzBL7Y9HiZPUopPLrmU9bMw+Vc7WHGe4+40K5b88sFTI5uy/b6ZsimELd8MbsUpbfus0Kvhus7gqr8GWjWDQe0LkJMuJcHqublc0PBlQu3JqG42Xn3Y/m+sv+DMCIWUQWXB0TGBzoyqNh8X2M7Ha4aKrujc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 14 Mar 2023 16:42:25 +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>,
	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] xen/grants: repurpose command line max options
Message-ID: <ZBCV4Y6Cz91eypUN@Air-de-Roger>
References: <20230314144553.8248-1-roger.pau@citrix.com>
 <7db90f7f-3344-75bf-120e-2113908adfb4@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <7db90f7f-3344-75bf-120e-2113908adfb4@suse.com>
X-ClientProxiedBy: LO4P265CA0158.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c7::17) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SA2PR03MB5819:EE_
X-MS-Office365-Filtering-Correlation-Id: 962e94a1-1fda-451b-4127-08db24a2b972
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	x7wjNcG39sfG1yU118+TTM35XyHEwJAlx/CohD6mDgUwy+IhN+X4xAO4mewRS9igLThfqih7zdcUT4JBRdAv3yS/ZDWoIr/+3lJ/JKR+jKQU+wzwOAUt5stjmZLcSVza5PV9YDTcUjr631rbrFH64jFQmtwAnzISsKh24OI1Hr8rAEPmCC2yAS6oUisKB3idGkA20snQ0Q8z2/VG/7MC/BlZuPRwLYy9ytswGrPheuvfIxC+6JCLT37erY2uhy36+Nj1pfXPjwqkFaPzcdtlA3neQSmX4xIyVW+N8CAJ5uJABpktR/EnU3tB+xaCj1PzNoru/AMByZluR43PB1EPS2rn7Qb1Mqznoco/bTENSiTNJPItC7l3H/EZmi0v7LjYWRxNLTREmfYD7eQvAmhwu8/bfRPdj7butQXRK+HaV5mWa8tbRHbWTDWP8kvlP7SuvoO1KeQZLyNZVwu4tp5n883y/a/JHm4bBBRx3cK5gs5xEvpok6YUIEcDOLCPVIV2vLdSp2p8K6k3wBkfesF6E0AeJZ/W6NOqWS0r3Hxub/zo5FK5KT+T+3yVkR4vea3vNL7WIN3QmM3NqnGW9KOL1sZFDA8UpG+2ozDqUaiXjavQmfwpbrQIZwF93v48aLpFFFFexQs4gQrvxwZ0OFMmuw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(39860400002)(346002)(366004)(396003)(376002)(136003)(451199018)(86362001)(478600001)(5660300002)(8676002)(9686003)(6666004)(6486002)(85182001)(2906002)(53546011)(26005)(186003)(6512007)(6506007)(41300700001)(82960400001)(4326008)(6916009)(66946007)(66556008)(38100700002)(33716001)(66476007)(83380400001)(8936002)(54906003)(316002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGtSQk9lNnJrU0Z6ODlJVUlZRVRJSzlQd2JTeklZa2V1UGRJY1JBR1ZYT1li?=
 =?utf-8?B?MGRlSDYzeldYU2tCdngwMDJwcENJU0psb0laM0FobVlUeDdrZ2pacXk5eUR5?=
 =?utf-8?B?S3ZHZHQ5ck1DT0lMREthdUlxbVBuZmxVWTl3NTU4TGVUcUJ2QjF4ZFFoV1Jw?=
 =?utf-8?B?d0prbDFqclpYbEVlOTRkdVpzK1dZWVpwMTBaRk55a3BYY1BXWnBWTUlNbjNH?=
 =?utf-8?B?TVhEMk9HTUd4ZllHUm52L1F1OEVoU1pNSlNIZFBpSW1pNXk3NUYxa1ZmckxJ?=
 =?utf-8?B?RTIxVHppWDg5UWY5eVZFV0EwMDJSYVVUN1ZOYmZFaXVHb1o2OUpmVHY4NVRI?=
 =?utf-8?B?UG41aFJ2TGNBR2dvRUdsQ1RoRzM4THExcFVTYVEvcE5yRk1RM3ZGWDRlSWp1?=
 =?utf-8?B?RzZQQ0hDOVNjQXFoRDdRbzRMU1N4Yi9rSEpTc1h5UVRuM1RJQkNXUE1qblpo?=
 =?utf-8?B?Si9hamxuQm1VSlF5MThQR1Roc2psOXFmL1hPeHhRRzlkVmJBb2QxcWhFU2py?=
 =?utf-8?B?K2lGOVNSeTZ0ZGVQNlRTSTF0cGo4aHRuZjI3M2dJMVdQQXAvemJIN0ZDY2VO?=
 =?utf-8?B?Vm9YUitTaWZsSVZhZGt6enkzUWc5ZDNYMjRyYXdoQ011Q2hFSWpLejVwbnNG?=
 =?utf-8?B?cDdNRENTS0tLMjQ4MW5UbHJmSXRhZnowTUxYWkJxeDhabGV2ZXlTWHRkc2RW?=
 =?utf-8?B?VVByNFpGRG1FRFZzTzdNM0FuT1ZtOHVaVlAvbDhGelpDNFpyeHZrUDlvVWlG?=
 =?utf-8?B?dHV0cmhkNk82SkpmZlhkSHEzY21aZTNDL2ZTdXNlcGovN2g3eFptYW83TVN1?=
 =?utf-8?B?dm1DQXNzSHdHL04yclpoWEhJMHYwWUt1cWk3bHZSRHhiTjhVcEhvNGNVdHhn?=
 =?utf-8?B?bk9lQnJYSXU0d0tKUlY5RS9hb2RTL3VCaWxUNkN0eWZ6Wkg1U0J4MDFtOUJC?=
 =?utf-8?B?d1I4NG50MTJNZHMwNXdTNmNINm9RTmNEb1RkU1p6aGxnOVdMQ2pBWU92K2RP?=
 =?utf-8?B?a3RINmNDM3VNVEZYQ2UwSXhGdnhiS0piMzd2YmVjVFNXUGd2SWtIUDNSOVNS?=
 =?utf-8?B?a1owQSszUG1EYXlKc0VmUHpIVnlucC9TNnBLNmlacnF0V3dhYXA1cTRaYmpu?=
 =?utf-8?B?TDlzU1dDb2U1SjhCSzF6YS8yR1FyR1ZKbTZ5YnhIUkYyYWxYYmgyRFFaTXJZ?=
 =?utf-8?B?dTF4THc3NmI5elJnRmhvb2JMNFRlbnRYYnFLcnYyZDkydDVleFE0Y3h4OVky?=
 =?utf-8?B?ZDFvaktwUDBQdEF6T2dEaUtLc1NLSTlWMjVYekZhZUhIUmFGb1lPMC92U1cr?=
 =?utf-8?B?Z1o2NWpkbDFZOHhMTTQvY01HNlVBTnlrYkJyejVNUWk3bmdJMEZlVURFNGRD?=
 =?utf-8?B?ZDdlSG9oQ2tpK1FvNlU2ZnlxTXBGeVVzTU9Td2FwWm5kdXJEdWpCQy9acXNG?=
 =?utf-8?B?U1lJWkEwckUxazQ3eXN0ZTFlUFN4ZHlyVnpyRTZMOVZkZVE0bmg4eDZVanhZ?=
 =?utf-8?B?RThxak13amZIL0huTnYwekdVSWt1SmFjRUxrVEQ5d2tvbHRmYllKYXl4UEhR?=
 =?utf-8?B?WXlBVGtsUTA5bzBFVjJKQ1NvTnlqVnY5Nm0wa0dFV3Ixc1BmZll3bVA4ZG9V?=
 =?utf-8?B?NnZwTnN0dGdQUmQvd3N2MzFNVkNKaUdTMXpXaFFFNU5UL1pQZHQ3TmpGcmF6?=
 =?utf-8?B?Qm5SRFJKWWZVMnRlL3VIOGV6bm51ZHVKd0VFR2s0ZXBTNytLUzVGNUM1RUcr?=
 =?utf-8?B?dVgwV1d3Z3RkbzZnV0d6L3EyTEs1OWRWVTZidFlZNjFFQU13U1AvdS9YaWty?=
 =?utf-8?B?bk5pTHREMURoUFR1bE9FSjhTUnhLQWJNekw1T2hhREFMOFRUcmtLSExJQ09p?=
 =?utf-8?B?bkNvWWV0V2R6VEF3c09pMnFHM2xVMWhRcWR3dHlEN3lTUnB6VzArb2xrZS90?=
 =?utf-8?B?RkpHL1hvZitacVVvSzJQL0RXSkJrYUluZENuYXZPckRtQzNURW5WWjNvQ2tQ?=
 =?utf-8?B?dkNDT0VKa0JLbHJCRFVvNmRuWEJPbXBNWTNnMjBNNmg4dnVVQVlMTXBDVlZP?=
 =?utf-8?B?MUNRWlNIZEd4WnFLRzBuaWhISTRtYVB0QlZWSGVPcUdzdlVwTUlqWW1YNlBm?=
 =?utf-8?B?QWlzRnh1Vjh0bUJxTjNYTHZkQ25FZTM1Tlpwb2NJcjZYSWs4MG5Yc3p0KzhE?=
 =?utf-8?B?NkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	l/fk+49uMEukFlDehPSXSu5M611PY9dnQ89dcjE6ElZ6LQxdnIU5eqHjNnUndw0kaVG32bX6f/l74SY6hojDAUu0614fDY/uISPWK6EJiDURQeGnK3GQf5DctNGwBq6DfTVEHlmfo4Vl/8++SThqWVqE183Jo+VOwof3i6xKBy09aMmSxj/6y7eC4xdzNODU175h6cMjU1cV+p9ckFYQNMBGyJ3lCgVcoCXclbJ6MpPVREGf2ZYabFMBU0mdLREUvdfbC6UrkRKDyBC46vmqY4j0sH07n2qGXORVyz7WQy9A5MpuueCrPltvjhsefS2RWma1J4IIV9IgUoNtzmNQJVrY3Dybxvwhl7NM1lCaMzvlI3MUYUWN256CND+0TU5j2asHryqmQOTLbItJ7t93xLw52S6d5vLQBQg5If5kox6xkTpzX97E2+NjFa69X3jf3e1/NknDyAHjlTAFaiwjM1FxITLJP37p6hmhWXVC73xvnV2XoGsITXad0oQ3NAbvyuiQ3CqJdDDO1cDCuaDMaYaWKNWTXYmJUrhoD5t6C16ooeVG1+tPBgmv+/Iwpv/ymsWoTjqqlEWYSAp+rQzJneKGfk3ndJhWAZqVUTe3xIMg/FXhdqdge2TqUUq2RfUDnKT5DPu8bUvZNkCevo5iCY6rphgSNMmG62WCBlpqzxcEqSkwKMkxoMiSD3J5WQKNakWF3nfaqmdpCSAu1kzMMwsV5pNBmJHr8iTbPKHVFTPHstmrMwPSneeGfDBZyrY1NYPmXpi6oFHCcOAef/AQiBLAE7G/qW+NmTEAYujbHw1B4nHqqGoIoo7bEC0prlwgtcMTSKOmD4KLLGq8qBRtOnB1pnnRSJg+pdOrLDp5p/g=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 962e94a1-1fda-451b-4127-08db24a2b972
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 15:42:32.0602
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2CT8P3tjvNYoNRMT1dZT79sQYVhFJg2rXC3iuny+t53K8VPxmmPWrCistHVfvQo1c5JDE6aqcSEZY1fmNRjixg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5819

On Tue, Mar 14, 2023 at 03:59:22PM +0100, Jan Beulich wrote:
> On 14.03.2023 15:45, Roger Pau Monne wrote:
> > Slightly change the meaning of the command line
> > gnttab_max_{maptrack_,}frames: do not use them as upper bounds for the
> > passed values at domain creation, instead just use them as defaults
> > in the absence of any provided value.
> > 
> > It's not very useful for the options to be used both as defaults and
> > as capping values for domain creation inputs.  The defaults passed on
> > the command line are used by dom0 which has a very different grant
> > requirements than a regular domU.  dom0 usually needs a bigger
> > maptrack array, while domU usually require a bigger number of grant
> > frames.
> > 
> > The relaxation in the logic for the maximum size of the grant and
> > maptrack table sizes doesn't change the fact that domain creation
> > hypercall can cause resource exhausting, so disaggregated setups
> > should take it into account.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> albeit perhaps with yet one more wording change (which I'd be happy to
> make while committing, provided you agree):
> 
> > --- a/docs/misc/xen-command-line.pandoc
> > +++ b/docs/misc/xen-command-line.pandoc
> > @@ -1232,11 +1232,11 @@ The usage of gnttab v2 is not security supported on ARM platforms.
> >  
> >  > Can be modified at runtime
> >  
> > -Specify the maximum number of frames which any domain may use as part
> > -of its grant table. This value is an upper boundary of the per-domain
> > -value settable via Xen tools.
> > +Specify the default upper bound on the number of frames which any domain may
> > +use as part of its grant table unless a different value is specified at domain
> > +creation.
> >  
> > -Dom0 is using this value for sizing its grant table.
> > +Note this value is the effective upper bound for dom0.
> 
> DomU-s created during Xen boot are equally taking this as their effective
> value, aiui. So I'd be inclined to amend this: "... for dom0, and for
> any domU created in the course of Xen booting".

Not really for domUs, as there's a way to pass a different value for
both options in the dt, see create_domUs().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 15:46:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 15:46:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509724.786048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc6r6-0006YK-Ql; Tue, 14 Mar 2023 15:46:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509724.786048; Tue, 14 Mar 2023 15:46:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc6r6-0006YD-NB; Tue, 14 Mar 2023 15:46:28 +0000
Received: by outflank-mailman (input) for mailman id 509724;
 Tue, 14 Mar 2023 15: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc6r4-0006Xl-VJ
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 15:46:26 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0608.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5fe03d07-c27f-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 16:46:24 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB7131.eurprd04.prod.outlook.com (2603:10a6:10:fd::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 15:46:21 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 15: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: 5fe03d07-c27f-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LRHKitJkPw+7F289JgZBi6rVrFFiU+kmhxpCs6olycUX/5LzbJ9u7cA0XtxVIxRNshu0rCnzipaPP+GKMpGxjvvTsQ5vIac4otGkee4Qq/j506BDoOGdM7U4jaUjcjTmtyOLDrVBEc1ESzGSBJZowP8wpsOvGlfEplpMCAp6S67l6DZphZfe2q7zgz8UqJEEzM9D+jA3jf7j8NGlJRgW/xvd0iVZPF4SShhBAnIEc9qvaUzf15t3KNzsZ3zEhCGye4+prqtErmez6azJYDImAfP74eAyQovw/AZHffrdgSQ1BRBdG87ud3EIAI/RFmzb14j58SWlXV/v9VGuo4W42g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EkuSXyoXGFw70SkYdgGLmUg2d2g9F5+I1TxBETzaQHw=;
 b=brf22r3SZr+Njqa9alXPPj9KfjSB6n5YWreDhCe+jsBDCLBKWF4MNoKgxS4dr9dJbaM8niEGOKL1jpx87PlA7UFy0J3SBQWmFx9i5Bfil7Zu2pbUZhZZxaDnPZcRH99fUjjosysdZX8a5Eo98qw1JRvgAjQ84TpnfjcG2pdURyxirfWn3SqLWvJ6i19Lh1gsaNVVCqBSpUxBWRmiUw13w5XWb4f+OFjdLPjn1pmlj2rLLUxV6yKITV7nJbIXFpBZXKOnh9haWL5VHvnPaXViybKotSQPd+ExcmTBKszkfewhevLqNBegOuweZs0BUz8tipq2+HHVrh2OBEBBfz3Bcw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EkuSXyoXGFw70SkYdgGLmUg2d2g9F5+I1TxBETzaQHw=;
 b=Zjp2D5blLL2qixxAse6zN2VlIvuiaM0kg60P+CY6CY6rc2Beiqn7HZFtFMHCAy1O00mgF0VFyiopgxc88WxiMNFILkNmW5AIZqMm8KFO4hEhbN1zkJx6WQPdL/G03wN24fTPaGYRUFSfzyCRSqvW68JpDtgZm/EhATl5j1a3enxHFHTCKH9SS0TKB48/c8tpwy9fM2W4CTyuofIOx71vBYQV1yGt4i9zY5ks5qeUmbYb2/LGUvzdQRwlz23r2sovjH8/wPD1PC/vhN1yaGae39VKKZixIWDqMq18VB/k0TLFeOmvMivrRYBPE5ZvjueezwqHrabwa5W0eFkMfgVwlw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <69fdfa84-cec8-6e76-8b1a-ff4de835a908@suse.com>
Date: Tue, 14 Mar 2023 16:46:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] vpci/msix: handle accesses adjacent to the MSI-X table
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <20230314101331.4194-1-roger.pau@citrix.com>
 <d22fabea-5821-075d-07be-7e9378be1b5c@suse.com>
 <ZBB8ejEi4mBktBpb@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBB8ejEi4mBktBpb@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0055.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB7131:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b8ce584-df8e-45fc-6e6d-08db24a341de
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	39uSRMIEwFvCcJdqDKD2m4BTns1QTWuaX5L2SsrHGMtJHTPw3dwmPOC8ciO2oo/2xKjivi1HN9mrOWzbwBVyJDbZfGxqK7IVXuHLqb+fMnGjytCPEhOSfoZnm703MEnSXWVD99BkNYHu2p1YDH03vbsFwkOzvbFYelwkdK7YcWOvTknjCi0tGRl/+qwwDDz2qL5b++Nfz0nfttHHGh1m7WZMTCrFB7vuoASEmhImXi5BiAT5J9bOWCDW2+7U8Dvra4Rue8qlHLnJBPhiUyA80dkd1+/RI8MDV0V9erDcwp0qCr0kb3bmskeRTXsZBvshcdPZaXidB6Fwm0tujglvh69Quk5gXPaaTFc7EfdKhbmTuu0x3FeMcn+q+4QLncACpgwfYYoY5786jVM0i8IFHmJHId4NBxt0tQCs8yuxNi/5mmCOe6PGpEpvdzi3tRwTh1qeVSgG6+hSqtmKa7fjSQDm3P1Qv4F4QZhyGSBGBVJ5lH7Y1LgDD4LaGRbjx1TThuQJ8hZoy5z8OUzZUaLmA5r+fWCF5TDLAeg1Y20l+XRgXkbvjnYIW8fNB+S2+F/HkaUYqNBouta7fm9CDlSJFpIn9gs5xxwSM1l5G04G1v8HdIUka68F3iqiL7SWzyczgoXnisvXS2D/H32mvWqHcMpu8nOt6/sPWQRJi6ef+bnDAXwP/6smZmWOKBrXTqsbzLN9qVtVgnphuL7mMnrxD/KNFe6uK+kxXgX8CpquIt4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(396003)(39860400002)(376002)(366004)(346002)(451199018)(2906002)(83380400001)(31686004)(6486002)(6512007)(26005)(6506007)(36756003)(5660300002)(53546011)(2616005)(316002)(186003)(31696002)(8936002)(86362001)(41300700001)(66556008)(4326008)(66946007)(6916009)(38100700002)(66476007)(8676002)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UWtjM2VmS1pDU0VobVpUZlQvQUhRdVB5MW5LR3FLTFB1d2dCUkJUYkx2T0pz?=
 =?utf-8?B?Wk9Ra0tZN1JUa01vV2ZuL1Zjd2lKYnNrQ2xIWDI1L2lzUzJPVkJTandqdkNv?=
 =?utf-8?B?ZWNrQzhxS2pZWDZLWTVMM2V4NlVUZHdLMEVyQjkvak9YMS8rVVVaRFhEQ0di?=
 =?utf-8?B?WHlrdzVxaysrSEpiSG5XWVdCek1LY1V0cFc3RGlJay9wTnRoUXhpbVlWTVJm?=
 =?utf-8?B?NUhyblQzVkRNTlV4K0dOWmRSanBGMExlVVpKUS9QaFNsc1BLODZjeUdqcnlP?=
 =?utf-8?B?aFU2SDFXdnJld3k5YlRjYVFXZFBscjFGU0wzVGxnR2NBU0d6aEtwaUxMR2hi?=
 =?utf-8?B?RlozQit0eWFPUnppMGhVMlJ0S0NUbGhobnVhcHhuMjVlaldqUGkxbkNSc1JH?=
 =?utf-8?B?MnRhakNIZ2lyR3hndkQyZE9YK0dvVlc0NFN2ay93b1A3RnhWdTFhWjAwTUxi?=
 =?utf-8?B?ZDJMU3UzWTVGWnI0ay9VWGNJWlhzUlR6QnNFYi9lL3JMWXFuNys2Ulp6L21S?=
 =?utf-8?B?ZDkzUW1Pc2tmY3VvbXd6TWVNUDhBYVZUdmwxT0k3Y2VGWElRdHNQVGVoWXBt?=
 =?utf-8?B?bzQrZldmclYrbVZidWlTZUpKaE8rU0QrZTRzdnZ5R3p2dWgyVnpQQ0d3VTh0?=
 =?utf-8?B?Q3ZBOWRzNWlHMFVlaCtmUW9EUkhvcCt5d3FPTkJEVnNkNElqNmxrVXhWMmJv?=
 =?utf-8?B?RG8rUDNmQjZObFd0RjhaSXlLM0UvdCtMdTVkVFJoV3BDSkpIcktpREJoU3Z6?=
 =?utf-8?B?aFlxL2l0VHFWK2tHeW5yQzBGeWVXRmZWemcvbmRUZENCR1IzdHl4OTloOXJE?=
 =?utf-8?B?VnV4bUkwMWxlcFZtR0JMa1JkOXU5TVZ2a01GbHE4V2FqOE5pVHhOZUkzVzRo?=
 =?utf-8?B?S2VIRWpoRDdrcFF6MlJIakFwbXlTcVFvSndEb2h0bmR5WTREWUM1Sk5waEVj?=
 =?utf-8?B?cW5RM2VBWVNna25BNGY3Yk50enRBZ2hLWHdVS2lGK3o4LzhsdFBDQUl1ZXBz?=
 =?utf-8?B?TWlCcU1UUlQ0Y2F6U0J3VzNVR1BQSVBrendoODk3R25WbFJjaFFDcGR6ZjQx?=
 =?utf-8?B?VEdXV0dQbm51d3RWL25iY2luUE1wMGtlRElsQTNOcXhsMURSUFovVmtkUkd6?=
 =?utf-8?B?Y1diNUxhQWtUd3dCVVNwWVlyRGdVbU9KeDJudExJeTU3OVBiUXBTbWErVVRu?=
 =?utf-8?B?dTIwMG15YUVreDNMek9DaTI2KzRRaUwwWlM2aGdLdEtwRVd4UmJhVG9zTWh3?=
 =?utf-8?B?c3QzdlRPYlNJakpsTWRxN1VlNE9pT3ZOVzNOdkU0ejNINHovSkhBZVlGdlFv?=
 =?utf-8?B?Y1pTKzJ2MU5TRllRek5KdXBwVnpPcTQwN0o4WVNxc2dQRk5LR0QwcXE2UDV1?=
 =?utf-8?B?QktVZ2VwVUk3SHVTemx1WGpzTU9IR1hYUC8xMTY5RlJZdXhQbGlpclhIOHc1?=
 =?utf-8?B?S0tBbnB2NWNaa1RlVjdCRElZeW5aa0FPU0Z5anArV2xjdGlNVi8yNlNwOEwr?=
 =?utf-8?B?TnM3YzFkb3FJZWNrQjdMNzFQMVEwbWVPeWhPMm9iZnZWZG11NmVhcG1RRkxX?=
 =?utf-8?B?QmR1STI5SnVlTW1FZDJWa282M29kZWVoR21aM0hmbjQrQ055eE9NcnhOTERx?=
 =?utf-8?B?WHdEazk4c21QUS9jc3c0M2gyQStadmRjbVA0UnFQcWdOUm5KMG1KTGF3QWE5?=
 =?utf-8?B?bVRMU3NHa0RHMzFLMTQyb2RtSTEyRkRtQXdNaFZZZ2hEV29Kc1ZWSmN3S0tj?=
 =?utf-8?B?R1ZCc1g0WEhNaHA3bTFaMEpMR1VFbkdieVRzUkZiWHBDb3djWEJLSXNDSGd5?=
 =?utf-8?B?TWMvVmJMb2dYd2tXRzBuODluM2NpTUhzSXBOMSt4T0Zwc00rRE1xRFFTMWtD?=
 =?utf-8?B?RWdmdWRJT25sKzRpRWRwVFlqbDJLTExGR3M5LzJSalR5QVhvUDl3aTcxT3ZD?=
 =?utf-8?B?MnRuMVNwQVlMRDZuR1N5eStBRHVQd09DUXFmODlBSk9Ud0htNzljRUMrNEtM?=
 =?utf-8?B?QXIzbVgxb1JZWjhyL3IvVmFUd1lNNDdXWlJWUk40NGdPWFlFVGJWTkc0U2VF?=
 =?utf-8?B?b2p6UGh3d1V5TUcvbEZ1TUxUKzdKcjlhUkwvbE1JdDdVV01yRE5SOEo3STl1?=
 =?utf-8?Q?nDSA3s1ybSlJ7o0txzoZSVqba?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b8ce584-df8e-45fc-6e6d-08db24a341de
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 15:46:21.4859
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5giNIoC28Wwjbm8+sMbE/zwIEqX7In3AQMFiSMWF78GANOv+N+0MUCnxVX5bkwHZ0iWATSbvUx1No94XVhaxkQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7131

On 14.03.2023 14:54, Roger Pau Monné wrote:
> On Tue, Mar 14, 2023 at 12:56:33PM +0100, Jan Beulich wrote:
>> On 14.03.2023 11:13, Roger Pau Monne wrote:
>>> --- a/xen/drivers/vpci/msix.c
>>> +++ b/xen/drivers/vpci/msix.c
>>> @@ -27,6 +27,13 @@
>>>      ((addr) >= vmsix_table_addr(vpci, nr) &&                              \
>>>       (addr) < vmsix_table_addr(vpci, nr) + vmsix_table_size(vpci, nr))
>>>  
>>> +#define VMSIX_ADDR_ADJACENT(addr, vpci, nr)                               \
>>> +    ((PFN_DOWN(addr) == PFN_DOWN(vmsix_table_addr(vpci, nr)) &&           \
>>> +      (addr) < vmsix_table_addr(vpci, nr)) ||                             \
>>> +     (PFN_DOWN(addr) == PFN_DOWN(vmsix_table_addr(vpci, nr) +             \
>>> +                                 vmsix_table_size(vpci, nr) - 1) &&       \
>>> +      (addr) >= vmsix_table_addr(vpci, nr) + vmsix_table_size(vpci, nr)))
>>
>> While I realize this may impact performance a little, did you consider
>> using !VMSIX_ADDR_IN_RANGE() instead of open-coding it kind of? Then
>> again there's only a single use of the macro, and that's in code where
>> VMSIX_ADDR_IN_RANGE() was already checked (by the earlier invocation
>> of msix_find()), so the re-checking of the MSI-X table bounds isn't
>> strictly necessary anyway.
> 
> I didn't want to rely on the order of execution of the MMIO handlers,
> so I would rather make sure that the newly added one would work
> correctly if it turns to be checked for before the MSIX table handling
> one.
> 
> I could indeed use !VMSIX_ADDR_IN_RANGE() if that is clearer.

I think it would make the source easier to follow, even if the generated
code is slightly worse.

>>> @@ -438,6 +369,145 @@ static const struct hvm_mmio_ops vpci_msix_table_ops = {
>>>      .write = msix_write,
>>>  };
>>>  
>>> +const static struct vpci_msix *adjacent_find(const struct domain *d,
>>> +                                             unsigned long addr)
>>> +{
>>> +    const struct vpci_msix *msix;
>>> +
>>> +    list_for_each_entry ( msix, &d->arch.hvm.msix_tables, next )
>>> +        /*
>>> +         * So far vPCI only traps accesses to the MSIX table, but not the PBA
>>> +         * explicitly, and hence we only need to check for the hole created by
>>> +         * the MSIX table.
>>> +         *
>>> +         * If the PBA table is also trapped, the check here should be expanded
>>> +         * to take it into account.
>>> +         */
>>> +        if ( VMSIX_ADDR_ADJACENT(addr, msix->pdev->vpci, VPCI_MSIX_TABLE) )
>>> +            return msix;
>>
>> Is the comment really correct when considering that you don't change
>> vpci_make_msix_hole()?
> 
> Urg, I was really confused then, as I didn't remember (and didn't
> check) that we also punch a hole for the PBA.  That's not really
> needed for dom0, as we allow both reads and writes on that case anyway.

Well, until now we restricted the kinds of writes. But ...

>>> +    switch ( len )
>>> +    {
>>> +    case 1:
>>> +        *data = readb(mem + PAGE_OFFSET(addr));
>>> +        break;
>>> +
>>> +    case 2:
>>> +        *data = readw(mem + PAGE_OFFSET(addr));
>>> +        break;
>>> +
>>> +    case 4:
>>> +        *data = readl(mem + PAGE_OFFSET(addr));
>>> +        break;
>>> +
>>> +    case 8:
>>> +        *data = readq(mem + PAGE_OFFSET(addr));
>>> +        break;
>>
>> So far we have allowed only aligned 4- and 8-byte accesses to the PBA.
>> Shouldn't we continue to do so?
> 
> I've read the spec about this and wasn't able to find a reference
> about having to access the PBA using 4 and 8 byte accesses.  There's
> one for the MSI-X table, but it's my understanding it only applies to
> the table.

... you make a good point here: Perhaps we were too restrictive. Such
a change in behavior wants calling out in the description, though.

>> I'm also concerned of misaligned accesses: While we can't keep the
>> guest from doing such on pages we don't intercept, depending on the kind
>> of anomalies such may cause the effects there may be contained to that
>> guest. When doing the accesses from the hypervisor, bad effects could
>> affect the entire system. (FTAOD I don't mean to constrain guests, but I
>> do think we need to consider splitting misaligned accesses.)
> 
> I was also wondering about misaligned accesses.  Should be allow dom0
> any kind of access, while limiting domUs to aligned only?

I guess the code would be simpler we we treated both equally. As said,
my goal is not to refuse misaligned accesses, but to break them up. To
keep things simple we might even use purely byte accesses (and then
perhaps simply REP MOVSB). Special casing Dom0 would only add code for
no real gain.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 16:01:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 16:01:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509727.786060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc750-0001Kd-1f; Tue, 14 Mar 2023 16:00:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509727.786060; Tue, 14 Mar 2023 16: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 1pc74z-0001KW-VL; Tue, 14 Mar 2023 16:00:49 +0000
Received: by outflank-mailman (input) for mailman id 509727;
 Tue, 14 Mar 2023 16: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=snfi=7G=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pc74y-0001KQ-DH
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 16:00:48 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 622dc391-c281-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 17:00:47 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id eh3so8099939edb.11
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 09:00:47 -0700 (PDT)
Received: from fedora.. (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 mc21-20020a170906eb5500b009273859a9bdsm1320820ejb.122.2023.03.14.09.00.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Mar 2023 09:00:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 622dc391-c281-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678809646;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=fOSNojHn9ltK6kwSaP+Xc27/6RlJCA3YEy+FDCI1T7M=;
        b=hva+GrIj5oXWcDxnuoUSWkrroKxN/eIVWNQG+uP02T08/3WsB0siFclJw2glz0IYgR
         gxQV30cUje6wq6mJn4tHTXW9E6r7wfgce+RBaY6hp23pykvwWiEQFCah0LdQsBGbGGSX
         macbgnnwp+c4eV5+DT/k3qtjMZXNvOCeMRESKI6T0xMbwIJfuEubyvLn46u4YOqP+3Q3
         sEloTLqZzhjXdIJuHWA+Uh/A2Dpkfq/BcxKwQtIBuSS+Fy4ghueTk5LrEriYUHBYjiSh
         LGPXqo8uCBjdKW3y6ggGuwne/+3uZ+jYsiJs4bGnYNJ9pPq3MSViLtxdLHEPZyeLN33m
         IAGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678809646;
        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=fOSNojHn9ltK6kwSaP+Xc27/6RlJCA3YEy+FDCI1T7M=;
        b=BXa/0dGXrEHbdciPBEFHyFA/Nk0RSUgU3oHmKXIWZsOsl0BKuK3ly+K0Xq8IjN1KAu
         T9Yfkd2ddoOyxikUNWyZTBAUCVQmccU2NRPAJyYicchreJ0L57uk2nDpBqTeaYKYfQ34
         oFrf4jA8dmobq6L+bGME6MFn+DrmWVYCwu9/vb+rxDaQKmu3O5r7L5ZA+r8x5O2agjfn
         uUXnehDZztdGTBZuph6Q1kswQLn7AbCmLrx8EOm3EWKXDk47g8WrlXRIdzHVozO8enIL
         FF+zfJznLDOU0aT8S9Ds9JdQsm9TvzTZrYclDbTg74xw4U25jCrV6detqL769NfDdVrn
         tgxQ==
X-Gm-Message-State: AO0yUKX7wDKPtIjF5wQOm4Uvn/OMocFj0kjksr9zPocZFAid7TI6AgpP
	DzkfTlp+Q7B5lidUXtDS/N92x+uPbyU=
X-Google-Smtp-Source: AK7set+hjCWxDo6FCFPC7d9gZ638GvZI8jJtxTF8pYXchL7FeyRurdWaMADO5NXgG/FbYVt7k+m6Uw==
X-Received: by 2002:a17:906:1b10:b0:870:baa6:6762 with SMTP id o16-20020a1709061b1000b00870baa66762mr3084739ejg.14.1678809646537;
        Tue, 14 Mar 2023 09:00:46 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v1] xen/riscv: make calculation of stack address PC-relative
Date: Tue, 14 Mar 2023 18:00:41 +0200
Message-Id: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch is needed to keep all addresses PC-relative.

Pseudoinstruction 'la' can be transformed to 'auipc/addi' or
'auipc/l{w|d}'. It depends on the .option directive: nopic and pic.

Right now, 'la' transforms to 'auipc/l{w|d}', which in case of
cpu0_boot_stack[] will lead to the usage of _GLOBAL_OFFSET_TABLE_
where all addresses will be without counting that it might happen
that linker address != load address.

To be sure that SP is loaded always PC-relative address
'la' should be changed to 'lla', which always transforms to
'auipc/addi'.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/riscv/riscv64/head.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index 8887f0cbd4..e12d2a7cf3 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -27,7 +27,7 @@ ENTRY(start)
         add     t3, t3, __SIZEOF_POINTER__
         bltu    t3, t4, .L_clear_bss
 
-        la      sp, cpu0_boot_stack
+        lla     sp, cpu0_boot_stack
         li      t0, STACK_SIZE
         add     sp, sp, t0
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 16:02:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 16:02:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509731.786071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc76p-0001vZ-Hx; Tue, 14 Mar 2023 16:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509731.786071; Tue, 14 Mar 2023 16: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 1pc76p-0001vS-Ez; Tue, 14 Mar 2023 16:02:43 +0000
Received: by outflank-mailman (input) for mailman id 509731;
 Tue, 14 Mar 2023 16:02:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc76o-0001vK-Rc
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 16:02:42 +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 a5558545-c281-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 17:02:40 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8096.eurprd04.prod.outlook.com (2603:10a6:102:1c7::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 16:02:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 16:02:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5558545-c281-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZYQKf3oPH3N3O29qnBda0nFgl6h+UCM9LWbC1ZOWUbOB3E3mGE8HLHDsXwQUCohbISecrup8AXPtu5gyHtKO8Tx3ZBMUi64cx5BjdtVB9Jtj9hWEa0Oo5BBKWLxFYBxjjKpja3SjdyY9n4L7qgN7/cIFFSfemn2YO1zhXZNrSIzpZWXRvf4WsrerUBQAV3AHzN6LNyw2/CWAqddPzxxhUsetK7/TwBnmE7rbhls/H3t8px5EwoBUdGtsriRYRHogQlIicbSha9fIivc7v4ShDLRYdXwiizRf7ncq2squKShoSl/pwUC1nOqjqhQ18kjgbYmQmeaQ7Fmxpa7wPCnq6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yV6FeKxjKGLBUI2qeemyWufcRSU0liDhLszqRzIDsa8=;
 b=BrnaDP+ABDSrRFIc6gMmI6RJz05iWFMetcj2gRHwrvbfqE2pTtgKoEHzhQ4fse75MU2J29+NeN8XJNH2vb5pitbZtDLfNM/gAJidp9mv2rxyl8BBi09TDuow4UNm6X9oMo2GwqvJO3X6+KpXRYZ8FP0TJrWRq5jx7n1XFqUCqhCbkoNxcq3ULBjq7YD7+s+MpE2767DClNEYzP3M1OZUam6GJybDXREhd/vsxlrbgAgPUzQJbUExxcWxC4ndn9YSO6JGgkse+OSkhzBBHpnLqmRF/ccf7GOG5t1OUEIpzHouLkR6ApYMHuwOdY6XHx2a9P77/5YV4QTe/lJ44EviYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yV6FeKxjKGLBUI2qeemyWufcRSU0liDhLszqRzIDsa8=;
 b=o+Ter8rs54LOm5lxjwGPwM+TaR0iLAOCROFDiF6M79fZ+jvm93HjbkmRzIxjUbkYtJLLTXBwa4L7FWqDOPL6TPj5cHqesD+0OlAi1ZlDPuJh5+GWq6k6F1jNImtbLepFhNOAabkfMQzsu3GS7xxW3+uPnH3GqeFoc5orJ7fY5bE1ytDSwj+ZjhZPesTryZveebCZrvXUmjK8LeRZdaiHCbD0xBv9esm2Rnk/KZA6gKkto8tUXjYdcn+bLZOMgwXTyP1/OWDRL4ecsXVQyHD2K/JU3KF+jlf1T5c2IQCa8BvzMFVxhUqmmrR7PPJc7fHQuRbfkP09J8+piMy3A7Fq7g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com>
Date: Tue, 14 Mar 2023 17:02:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230312075455.450187-3-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0148.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8096:EE_
X-MS-Office365-Filtering-Correlation-Id: 1fae28e9-cfe0-4b59-9e5f-08db24a58864
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zz9ghgmlfLIEeMSn3w7MyDCBLIIr1MUDrilwT/PZ0BWVkzTcofKeg6cZORYxp4uhW47YF/YK8Or9wRAQW/YMBguFmJGNZgFTVm0p1c/DntrU2qfq1dqQqmFWJ/ZKvRmcgPQyaAzfNE5tYdgP3gkZvRglVYGyOKO6d29rb7NTDRl5kaZUwSTKUruaF0Ct+FIAZQB3u3b2kArDRY8AUZWRYeLQ+UVCSGC5UCCjmCOF/eFXkFBu8PEOUFIQsK5LPkgqqh+c5eGmLEf1//ScEUd2uwsNw7EsvEuFA88QBrReXgXQDMu7s1ylK1Ml+KsHJHUhuCUqDKEnWs/teLbR6ar/ka9bxwRq9M6cHPRBrUDqU6i1LmRHgetMzJpWO/B980NTMhlgRzusgOXSXg8SK4JzRtY6Ral8vEjCqND4n/83qXzV5C0lwDI255fWDBSJOvHedLtCMlyj/EJGZzJn0sKlf5OoMBjr8XRT4sW6FeBKbXhh+WhD9q40tp5rzeKMe79pdV4KZE1PWGRGwUJlWiXCIuCmiBzqC81Lp8t/QOwbpWZnCbLquE5pP1Z43CKcRtXGNPY10uCanA2masJ2M1S+ZzVgnaKW+AVXY3p4xGTJ8tTm29V6T5i/cFaRgBKd4xperILtL7LFyewojE7upvNHVZdp1eJSZwySs+2FjaIRbi8ePpqs+2hNFjEU2Q/IjekBpmXVw1tpTIt6WEQonK5IJqrjnqqexPIeA6G8OP9XPJE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(39860400002)(396003)(376002)(366004)(136003)(451199018)(8936002)(7416002)(5660300002)(41300700001)(4326008)(6916009)(8676002)(36756003)(31696002)(86362001)(2906002)(6666004)(6486002)(38100700002)(83380400001)(478600001)(186003)(26005)(31686004)(6506007)(2616005)(53546011)(6512007)(54906003)(316002)(66476007)(66946007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WXBqS091d2srYXNXRlA4cmtZeFNTbU5nL1J3d0FRT29XaWNoZUFhVi9WQlhy?=
 =?utf-8?B?WG9ZckhJcTRvdW1JeGk0aG8xTEJsUWdVbWsrWkoxckZmaE5IU09Kdmpvei9J?=
 =?utf-8?B?THJoQnd2eGFKRDkzTnVxRk0vMjBuWDV4cW82SGx2MkZ5SjBBSUpqUXdLUkJt?=
 =?utf-8?B?K2NpaWRNeDV2ckkrblVmVW42SHdKamJqTnhtTnhPVjhrcFVKSjFCUjFrR0lx?=
 =?utf-8?B?MTBXMlR5UUgzL2RGaFVJNWR3OUR1RmFRQzhyOFF3UDd0Q3pMQnd1TWRlckQ3?=
 =?utf-8?B?S2lCcy91K2pIYXI3VmV3YWd1MkZPNnl2Z0V2RG0xVmo3UWxBN2dqNzJOK2Mx?=
 =?utf-8?B?UXFhQ2JYMlpxQTBSdlJXVHI2d0c3VHBnUjNEQ0l5dlB1Q2ZTZzQya3licVlu?=
 =?utf-8?B?c0NadUd4OHdUZjNSSy9lWTVPZlpRREZQb3FGS0h3S1RmdUdsTVVwaHU4dENM?=
 =?utf-8?B?VGZtUlIzMnpnZWRCY3pJdS90OVBCcmEvU2VJbXM3amxGYy9PMFhoN25QMXk1?=
 =?utf-8?B?K0NuendCaWphcEh5RzVGN0U1NVVkZTVTTzBRR3ZSeTh3dldtb0VjMU5UQ3NG?=
 =?utf-8?B?VElHa0dJdUJFZGs0ZzVZTSs5SFQ4dmZTeXVieEFpV0UycHk3c0pqcHRlYmVC?=
 =?utf-8?B?S1UrejBtN1VHekNubVdkd3BCdFVrcEg2dHh0V2NDZUxJQkZYc1Q4WUkxSUhT?=
 =?utf-8?B?emdHakUxc042SEFlb2o5Z2VaVVZLcFYyRmsvV0RaWGdaVjZKUG0xYWt4MVRz?=
 =?utf-8?B?ZVpJcnU5T3doWkFybWlIZmRDMEp1SUNmS2FIdDE5YVZlU3RPVjNOSnVmVmVQ?=
 =?utf-8?B?NVhtcTNpckkyTmNnTC9PWGdKaklEZ0xuLys0UnZEZTFYZFA5TWxVOTFlM2Vp?=
 =?utf-8?B?SHJWU1g2aXhncHUyZXcrRzM4cGEwTUx3MStVdW94S3JuaVJrM1FGMk5jSGZ0?=
 =?utf-8?B?ckZ0aGxJT01RVnMzOWJZRk82bFJnVVBPUHJLOXhza08zQjlDVFprSDlaUEIz?=
 =?utf-8?B?Smo3Q21kZk9VNUhGYncrYjdYelJZeHFIbWRueXFic1dZTWd2WTlGMTJRdGti?=
 =?utf-8?B?ODFZelNDN2QvckM5RFhuWExnVEtPZGF3MDZSZVh6QnBmcWRWdFU0QTdHMFYr?=
 =?utf-8?B?eFo2SWhlbFZ4ejNQbTM1bEc5aXBDT2VsSXVPMi80OGdzaHdicVFhc1h4bXlZ?=
 =?utf-8?B?NjhPWlJPQ1R3WHpGMlEyL0drRFg3WVpkVWFOak5UeGxQLzFUZkFwd0I5bG1M?=
 =?utf-8?B?NElFU1FTN3lsVU1BR21VYjhNekQ5WG1xNFYzUG1rVC8xUXFlWEJZa3BrcjBq?=
 =?utf-8?B?L29PL1JZVldVZ3J6bkRoUFdkTDFaZHVUam5kb0lFR3hoZnlzK1gvVEhLR2Mr?=
 =?utf-8?B?SUF2WFRHN3JMeEVTa2t4djlOa0NqOFpSWUgwRzhadHZueU8vWGFSQWl2YjZw?=
 =?utf-8?B?dTFodGVLa0pHZGF5ck5ML1o3WXV3TDFNdzhZUksxTHFHQ3RBdGlzVURzVXpl?=
 =?utf-8?B?K3RXMDVha0Z3S0drZ045dVNMWlk5b3FSL1FFQzNRUkxVME5EY2h3dGZ6WkFo?=
 =?utf-8?B?SDNEK1dsdEpsQWllZGZMSGZKalFZemQrK2ZjNi9TQzBvSTdwTW5IVXU5YStH?=
 =?utf-8?B?WnZKLzRPYVFYRElVWmJpbkRRYmJIeS94bVRjRERBdTJUbXBVOUNWaVN1dHJt?=
 =?utf-8?B?ZHdUWHpVb1AxZWZQLy9td1ZRVUVhbHgzWWluMU5XUTA0MzVreVd4cko5cmFG?=
 =?utf-8?B?bVY0eVVrRGMzT3VNMUxPSDJXNlYvcjVEREYxQ1ZMb2psUzRCYnFaVGp5N21J?=
 =?utf-8?B?UW12aCtVSTRGUUtFVFU2R0U4WXdQSGFjOW1uamlvQ2lCNUVzTG8waUx4ZjZU?=
 =?utf-8?B?Rndwck5BQk5tc0g4cC9JRzI3WFNTZ05rRTk5UC8raXJqYjYxSjNCNXRydEVQ?=
 =?utf-8?B?RUhYYWlaV0dEQTREMjdFZTdTaEh5ZFNUMUhmdlQxcElBdUIyYW81dmFCR3Jx?=
 =?utf-8?B?dGNaL1hucnJxZTBzNVAwMjJOTnlodEdBNEpyRTAxeGYvdmJFK3E2THVBd2FS?=
 =?utf-8?B?NUZ5UzhldkxZR2pNS2Z3cmZaenFnd1k2OGR6ZEFEeEZwYVJMaC9YVUdGSTdS?=
 =?utf-8?Q?VQPOu5JZZq8hbvtc3mpGM9d5L?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1fae28e9-cfe0-4b59-9e5f-08db24a58864
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 16:02:38.0806
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZKh+J00WcmO5w08taBgq3VJMRfjJ3Ode6A5AipNwYbUARxBgsQ+OmjdqZ3SP+dyM2FM7j8xfmfpInNYnu5nhlQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8096

On 12.03.2023 08:54, Huang Rui wrote:
> From: Chen Jiqian <Jiqian.Chen@amd.com>
> 
> When dom0 is PVH and we want to passthrough gpu to guest,
> we should allow BAR writes even through BAR is mapped. If
> not, the value of BARs are not initialized when guest firstly
> start.

>From this it doesn't become clear why a GPU would be special in this
regard, or what (if any) prior bug there was. Are you suggesting ...

> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -392,7 +392,7 @@ static void cf_check bar_write(
>       * Xen only cares whether the BAR is mapped into the p2m, so allow BAR
>       * writes as long as the BAR is not mapped into the p2m.
>       */
> -    if ( bar->enabled )
> +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
>      {
>          /* If the value written is the current one avoid printing a warning. */
>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )

... bar->enabled doesn't properly reflect the necessary state? It
generally shouldn't be necessary to look at the physical device's
state here.

Furthermore when you make a change in a case like this, the
accompanying comment also needs updating (which might have clarified
what, if anything, has been wrong).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 16:15:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 16:15:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509734.786084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc7IU-0003bI-Mh; Tue, 14 Mar 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 509734.786084; Tue, 14 Mar 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 1pc7IU-0003bB-JW; Tue, 14 Mar 2023 16:14:46 +0000
Received: by outflank-mailman (input) for mailman id 509734;
 Tue, 14 Mar 2023 16: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc7IT-0003b5-Jt
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 16:14:45 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0626.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 547c3407-c283-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 17:14:44 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8694.eurprd04.prod.outlook.com (2603:10a6:10:2dd::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.27; Tue, 14 Mar
 2023 16:14:41 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 16:14: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: 547c3407-c283-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iqkUTKKW6gTNo73FeWZhV0X2IT64gmPzh8TIlKMh+okFJzTM0b0ZSmZ8d65al3cdA+nNRFU0jiSFSX/hNA+1kv9cUuLlKDoWR7PJh4K/OELI95S8ZryBWaA3f1hJVA/hURfJ4u72SfN6oRtF6D8Z5bTt2pt+hXDDCRbxpFVSEMVEkxp68sAQiq3RVOiqfVrKIhP12cGpy7dOgre7sCHs6ACG5tUt9a+2k4lpOeQJOQ12k4dOuwoQeehoWvckYDOxqFXVmXVLc0zH1I8SdVtnX+8a5mMt1i+t+CkvlurIw5570W57xcKkOhDbvhR8QFvmPbYL5Dmp/SWmvCBxfBcbPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OkGa8rGejTBaq41zh7od/rRL5wk5hKeyevZMVuf3I70=;
 b=ElS122t1UhzOJ3/YNtSQhdym9LLLp+3IJox9NoWGXyrVgTxuu0INOPoDCzGC0pS7pACtw3rqYE4MFY9JKb2+92k9u2z4Nxcm+VVQdt9mksriHw6T7oD9PxnGB5x/j9c58KLu0yMJ749DtLnutSmciVb0t1RZLiRffN4EgEnlJkCnY/b6BqBTD8ljJkzz+5j6nQCSCHgXvNBvkxK1UafnYZMoRhy7Xe/9bzJOydnhvijFtpYePWrf9mD4bXaADhU+pWWYceA7TrmK0hC3feTUkg4qgpO1iwUMUvjU/A51J7Vs0ZW0ElhcfwfedwVftFZ9c4vJ/C5IxPdYq68paWhdug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OkGa8rGejTBaq41zh7od/rRL5wk5hKeyevZMVuf3I70=;
 b=gKwBATP0hn22aqabknbO4XQXfBFQaW8L0iIZpZul3r8EYw/TRg+pgzzEHXhLcyDLVOASpBQrBUYKrwY9UvVEeem6zsm0MDeJmA2eSAKuwo/MpIandt/vi2YVDw2ZsRHlBJ/3sdvqBzRtRF4XBleB+bU13Og37ZgjoRiAi8VMVw132uWTPTVWNjjvbeM30Q9bi9xxQKvbDtCQ6tgbRFWx/nk/jGT1Xc/ce7y+PwB5JmMmsaAyqbxia9MJ0FDGrndNYA2qeOmk8UMiTRsbeSzluAXw5coxXNXlZwG0bGLQ+bSIGoPR8L1fH/Aag2Z2zl6j8lD5DMdVCaJH1OK08GVJwA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3c5e3c0b-1f0b-4bf4-0c8f-1149040208e2@suse.com>
Date: Tue, 14 Mar 2023 17:14:39 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0115.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8694:EE_
X-MS-Office365-Filtering-Correlation-Id: b87e0490-b7d2-4b6f-e547-08db24a73774
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LgsquEac2OK89FVRUskzIppqSlDrog3711GDwcRERHL1Ce/Yh6jJ9dORPE9q4GhIs4CYjTNaUXxSQsxkgsHvZ3MTwVnue6o1d1tfraFhGuODvDWUAIUmLkrHJe88EGgrM0PQzyKl2n/CTt8iH549GOE8etQOCZREQK0f2gSt0SqgE8jvS+CccbiSfjpdNQZg4hAtx+u94Oa2qAFCzbLgSO4TaR0JmDQD0gIDSXuYaM5qsdKOGDCjysH23vwFBLJ6JNlJjT2OW9Xj1bAot/n8BQi8K1vmdYBd8BMaki2c9y2ZZawaFYX21j/etfYAdYKSLBsgtx4OAopO6/VqnL6yMsKZEBus/6P6NzTtXzYJ1fNGsR0ChTsS0NBbDNzWgV9pPYXEAwIaafF2FQeTDXooc0bTOlAk20syW3KwYbSb8/JiaN6sd6SaQnEQ8m+Fn3WJ8HCXtohn2lYyv9243tOBh/qPsoBd/6sVZ7jzLVWoMoy6q6nwOpvoIP3F80n3vo4lslHJphgeMfLTP+5pJvYX/zvozDqghcqx7VXJs6vwb0SoKb7cwYBjkcy45BMvupWjPkMBiiLzmb3XGqusc9d2hBkEWz6XuMfTkF6B2uUtUtNUPQCAedXOT1UJQg7Wwn+JHpbxQ57SIaaaDxeoXWJlhFB5MAvpqarxCxXNxp3cwfuy/1RaLImzs7Cx/rj4W9aBMfCS0ny6CKl2+Nbsl0zl+459lu7ZT1OtlBxu/BMlc/c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(376002)(136003)(366004)(396003)(346002)(451199018)(86362001)(31686004)(54906003)(316002)(36756003)(31696002)(38100700002)(186003)(83380400001)(53546011)(6506007)(6512007)(26005)(2616005)(5660300002)(478600001)(6486002)(8936002)(41300700001)(4326008)(6916009)(8676002)(2906002)(66476007)(66556008)(66946007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TVlra0I3TkdUNjRnMzc3Z251dnh6UUEzcEdqQ2ZDMldDL2d1cGpyQVR2UzVW?=
 =?utf-8?B?MG1DY2E4S0hvMGViN0l2cEtoSzBGbTZKdi96UFhCayt4UXNTWlZCYnlJM0Fq?=
 =?utf-8?B?eDNibTFCL0tua2NyQXpqRW0vVEZOMWIzYlEyYUZIOHV1ZUZ2OTFoVmdWaitE?=
 =?utf-8?B?eGNsWUJIQ1hwNExhZGxtMU1HeGM1aGhtazljdWhYYWM5L1IycjU5bWdCaXVV?=
 =?utf-8?B?a0FraWhONnlLTmpkRklHZ1lUNnVrRUF5L2NRUVJrOEIyNnkyL1R5ak1VOStX?=
 =?utf-8?B?MTBWQWxoSlQ5L3k1K051WTBveVdzL3hzR2JTc1NJYlFBYUVWYTZhSzl3bFZW?=
 =?utf-8?B?NlovVHk4dVg4QTdHZHpGcHBBZ1hvYjFQZVRIVkZpWFYzSG1FU0hxNHBoQ1d5?=
 =?utf-8?B?Qm9WWFhvSFlSWnpLMWpHUWN1REo1SFJtVi9LcThNQzl0bXFzRE9xZFJSUGhB?=
 =?utf-8?B?ZTZsZTNPQkJIQlowcklZRkNFZzJVY09iTVpxQVF5ay83c1g5NVRROUNBNjk4?=
 =?utf-8?B?VHoxdnBwMjhoUytGdUlnZGhhbFlIdkZLQ24rZm5NdzBJL2s1N1prZnNqWHQ3?=
 =?utf-8?B?TVNLbXJNTzFycDJwTXBiUU5wL3FlM3d5Q3ZCQmcxSWRJU3RkKzMzN1VSYS8z?=
 =?utf-8?B?dUFPM1VzczZ5S1VXb3hOQWN2bXBRMkNPYUlwSDZVVmVWc2xHdGR6LzQ4YUth?=
 =?utf-8?B?SU5PNXh5WjlmZFEzOVNiUTh1Y0J0TGNzZlNwenJ6Yjk4TU5PRHhJU1Bpdm16?=
 =?utf-8?B?emhiZkhXK1YxS2dHMnFZVnpiQm1HeVIwS2l4UldoMklnQTg4K0dhek1QTXZC?=
 =?utf-8?B?cW04VEFsalY0bjhDMTNSK3hrNHFFUVJMS0FXdW90Zi83T1NuYjVMWmt0VE1j?=
 =?utf-8?B?MWhXeFloMXN1d2UwRXYreW9LNUpHOU0rV0F6T3cwK28va2FuMVhNTTBOTmNt?=
 =?utf-8?B?OHZTc2dyWDRzOC9SU3BsT0QrM1FsbEVmdXVnc3MvMjI2QUJEa3pHaGpMTXNh?=
 =?utf-8?B?VmJVKzZ4dEhGMHNYRlg4SkhCWFJSVG1YSWIzY3U3dUJTTXUxM2dwNmYyb1ls?=
 =?utf-8?B?VnAwTmN4MUMwajdCdXlJN3Z6L2MvNWZkUENwdkRSNWp5bzZ1OEUwMW81TnZ6?=
 =?utf-8?B?cWVLNlhlZTZ5UnVIemQvOWQrV3VFdVBnaVlKMTlHZmRnZEFVeUFlMmc3aEFR?=
 =?utf-8?B?Y1BmTW80Q21QL0p5NFAvWlhvVGx1OEgvOEJUakU3NGZaMFlRczBzMDNDdlNo?=
 =?utf-8?B?M0hIM3FTVm0wQ0tMVk83K3QvNVNobnJ4dWxnOWh2dHFIMHV6UlRsVDkrVVV5?=
 =?utf-8?B?bnYwY2J6c1BZUmkyejNISjBhcjdxbjlyZWxIbEFNR1haYWRWa0VoandWUldF?=
 =?utf-8?B?a21tZnRjeWFMcWlKMHNmTkRpWmR1ditMUGpEZ1VqWDFDQWlzOU9FTkxuZFdL?=
 =?utf-8?B?NXZ1UytIRlluOHRWMWlCNzFvOVAvamJIdDI3S2pDMTQzMkFyMTByR3pmSDFy?=
 =?utf-8?B?WkVaOFZSSjZwN29FMkZST3Y5S2N4Z0dZUWhzMUlpY0ZlbjVwSHorMURYSCt2?=
 =?utf-8?B?UzE3UCtRNStSblhkcVd5MjA2c1ZnN0lHZ1h6Wi9XMitWdDI0VGdHdGk1eUh0?=
 =?utf-8?B?eEVrTkg3RlVKdVM1c2h5Ky9jMG1kSGhKbVVuM2JuZFU5UUVkNUk4ZnZQN3Zi?=
 =?utf-8?B?RU1YbEg5RTZTY3JlOEdqdzlDUldJK3FFZzZITTlyK1dBSG1qeXhQWmNZb0lZ?=
 =?utf-8?B?cjFiNWJjR2JDMk1XaUZGT055dC9pVXhwcWp1cElKT2I5WDM0aENGKzRSNzht?=
 =?utf-8?B?bE44ZGJNa3JFaW5VRWV3MFl6U0NwQ3MvY1NtS2ZPWXRrNkxIQ2Z3elpveVJu?=
 =?utf-8?B?VnkzcjhLUSt6NG9SN3MrdndTNzI1SU16SXZCMzBpQTB1dEpwZ1MxTCtjZWdh?=
 =?utf-8?B?ME43bnhMVlo1ODIxc0t4TlpnQ25IQkNDNHdwZjVMMXQyVmVZRGxKOHcrVVdZ?=
 =?utf-8?B?Y2JGWDZvNTFEVGFGTHlWUG14TWp6ODlQeCs0WXZpc0I1dnVMTHFBNjZrNmVK?=
 =?utf-8?B?NU5kUnNTSVdmNzNsTjVmMjYxRExZL0NDS0t0eElaMjFiN1ZuN2RLUHluNHJV?=
 =?utf-8?Q?Xeq+or/QurOUc8W/gx6hlBBUH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b87e0490-b7d2-4b6f-e547-08db24a73774
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 16:14:41.3946
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xfoszh8FCau36qcsCONofvaQQywcT0ewuf9uLVPpdLwqNmIvlbHXipaVcBYvMkmu4uzpNRf/SErydruVSoXPZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8694

On 14.03.2023 17:00, Oleksii Kurochko wrote:
> The patch is needed to keep all addresses PC-relative.
> 
> Pseudoinstruction 'la' can be transformed to 'auipc/addi' or
> 'auipc/l{w|d}'. It depends on the .option directive: nopic and pic.
> 
> Right now, 'la' transforms to 'auipc/l{w|d}',

I'm afraid I cannot confirm this. Is it possible that your and my gas
are configured differently (i.e. can the default of nopic vs pic vary)?

> which in case of
> cpu0_boot_stack[] will lead to the usage of _GLOBAL_OFFSET_TABLE_
> where all addresses will be without counting that it might happen
> that linker address != load address.
> 
> To be sure that SP is loaded always PC-relative address
> 'la' should be changed to 'lla', which always transforms to
> 'auipc/addi'.

While I agree with the adjustment in principle, I'd like to raise the
question of the suitablity of such macro insns for purposes like the
one here. In principle I would assume it would be better if sp was
written only once, with the final value. That would then also remove
the dependency on a possibly differing default gas may be using.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 16:23:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 16:23:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509736.786093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc7Qp-0005E9-HK; Tue, 14 Mar 2023 16:23:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509736.786093; Tue, 14 Mar 2023 16: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 1pc7Qp-0005E2-Eo; Tue, 14 Mar 2023 16:23:23 +0000
Received: by outflank-mailman (input) for mailman id 509736;
 Tue, 14 Mar 2023 16:23: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=2biy=7G=gmail.com=bobbyeshleman@srs-se1.protection.inumbo.net>)
 id 1pc7Qo-0005Dw-10
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 16:23:22 +0000
Received: from mail-pj1-x102d.google.com (mail-pj1-x102d.google.com
 [2607:f8b0:4864:20::102d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 889b8f2b-c284-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 17:23:21 +0100 (CET)
Received: by mail-pj1-x102d.google.com with SMTP id
 k18-20020a17090a591200b0023d36e30cb5so2823093pji.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 09:23:21 -0700 (PDT)
Received: from localhost (ec2-54-67-115-33.us-west-1.compute.amazonaws.com.
 [54.67.115.33]) by smtp.gmail.com with ESMTPSA id
 a16-20020a17090a6d9000b00234e6d2de3dsm1939453pjk.11.2023.03.14.09.23.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Mar 2023 09:23:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 889b8f2b-c284-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678810999;
        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=ZyZOR7M0shknsR4NWPowbGfwBX4lUnbJT9Ylmftpbe0=;
        b=EyRhhgP7jlmu2KtI4xvqEhohRzcH5qkZp4kAY85eFs3yR6y1X70kzfuwGaxI+gtQnG
         cpR/9qODHb0VDzDAan71GqFcy3lkUWIfnn/B+nJ3Q4J15lqGDA9QvIJcbeQisM0CtfSc
         +Hp76FJ87xv50q9N2BqQni9oRejiT2NSqkD/XGeBRC0dNcFVFmIYDUblInAIUbiG3NNC
         h+6QycE9ZPO3WQ1FddHULfyzJAKEmcohjgf0NAifTFJDaQBhco2WyW69axkwTkE7mMkY
         8pWqHwRzLMyH/A6fSvIKcRy70QOYcyvVXSV8vz4vKNezBmKXAlZOJQOJjUQJzqO6YYbw
         KCsQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678810999;
        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=ZyZOR7M0shknsR4NWPowbGfwBX4lUnbJT9Ylmftpbe0=;
        b=usE5zn/daTe/C3AaHVEq437w8R9jID5WTp+aPadtxmd+TprsyOsp8ub0tYjyxNrSCV
         lRSADXQIMrbMP4OMW0u0RtkYkDwubG8TpaFILt7v/gbzdTlcjhnQZ1+6QFWpHEwVDjVx
         ZmtCh+kMZ45HbwVgRrr5FoCnRX51wSYnWDIvwAsv8rNnbyIpHJ+igcIpMNTLEA3hJfFm
         nZB+g+j11/IieZOHjysbmC6IbBZ7B/Vcy7VP5aRuqlin46siGcPih8zz6eLEVhJCqYqK
         qYD0naB2cxA2OsFCMBj2xb4+81RMuV8eBUtCgN0s5OjCjgu7NAFpNAw55pN1Jpuq0ajv
         Onlw==
X-Gm-Message-State: AO0yUKUOrfEeZ5pRiIJJOyfd/+id5WWMuANj42ATP7+e9jeR+sQu0W01
	tDR1vDLClKQTj4NJ4M8LYPE=
X-Google-Smtp-Source: AK7set/K25W/VpdXqlvlwU8EVJkLxPcVXlQACc5UCu9gpiKKVQ1nK71AUHZ7OpQTTMl3nmrS2ntumQ==
X-Received: by 2002:a17:90a:1982:b0:234:721e:51e5 with SMTP id 2-20020a17090a198200b00234721e51e5mr14332347pji.10.1678810999435;
        Tue, 14 Mar 2023 09:23:19 -0700 (PDT)
Date: Wed, 8 Mar 2023 15:26:28 +0000
From: Bobby Eshleman <bobbyeshleman@gmail.com>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
Message-ID: <ZAipJNBKzP1odgSm@bullseye>
References: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>

On Tue, Mar 14, 2023 at 06:00:41PM +0200, Oleksii Kurochko wrote:
> The patch is needed to keep all addresses PC-relative.
> 
> Pseudoinstruction 'la' can be transformed to 'auipc/addi' or
> 'auipc/l{w|d}'. It depends on the .option directive: nopic and pic.
> 
> Right now, 'la' transforms to 'auipc/l{w|d}', which in case of
> cpu0_boot_stack[] will lead to the usage of _GLOBAL_OFFSET_TABLE_
> where all addresses will be without counting that it might happen
> that linker address != load address.
> 
> To be sure that SP is loaded always PC-relative address
> 'la' should be changed to 'lla', which always transforms to
> 'auipc/addi'.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>  xen/arch/riscv/riscv64/head.S | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
> index 8887f0cbd4..e12d2a7cf3 100644
> --- a/xen/arch/riscv/riscv64/head.S
> +++ b/xen/arch/riscv/riscv64/head.S
> @@ -27,7 +27,7 @@ ENTRY(start)
>          add     t3, t3, __SIZEOF_POINTER__
>          bltu    t3, t4, .L_clear_bss
>  
> -        la      sp, cpu0_boot_stack
> +        lla     sp, cpu0_boot_stack
>          li      t0, STACK_SIZE
>          add     sp, sp, t0
>  
> -- 
> 2.39.2
> 
> 

Reviewed-by: Bobby Eshleman <bobbyeshleman@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 16:27:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 16:27:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509738.786104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc7Up-0005qu-3g; Tue, 14 Mar 2023 16:27:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509738.786104; Tue, 14 Mar 2023 16: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 1pc7Uo-0005qn-Vj; Tue, 14 Mar 2023 16:27:30 +0000
Received: by outflank-mailman (input) for mailman id 509738;
 Tue, 14 Mar 2023 16:27: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc7Un-0005qh-8C
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 16:27:29 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on061b.outbound.protection.outlook.com
 [2a01:111:f400:fe02::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1bd9dfe0-c285-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 17:27:28 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6906.eurprd04.prod.outlook.com (2603:10a6:10:118::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.27; Tue, 14 Mar
 2023 16:27:26 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 16: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: 1bd9dfe0-c285-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QSKsEsBnlETQ3L0B4aq7/RXzUyxgI1+bsRujWQA66pH4lpmMp6Nqibj1ygl/ihLpFPWRrpYaxlupueVDH58vuLxIlv+BA20UQf2DPiMkHgDYqQNJItPX4mBOZdEyDTt4bQdHt4xntqUFvVBESVKDKzdjN291LZ+nCJnuEvSOwH3x7t6rbPrB7Ml+gQLZTUzI5pG2CqZRrU3VEFlVJnr0ZNN0U8pmwqrOzuPr20tjywnMoVAFu7VIJXKGnyrm4KnNZTRV7ntFUSyzDdNf3MsG3NERAk5dH+eJmzyG3L1sf/vV/2ZLj3xIvBjC9IgkPWaHrkrMHgef2re6CCdV+b6mlg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Mv6JBrm4n+jwHmZLbRILtinlqYosKCYMAH49dE9ybxI=;
 b=j9oKr6RROnZ9f+2JeSoQV9pdgO46X8ZnpiIH+vCsjcbdMCSEZYMzQDnPH7MHRVErvwoPovQwz07Pmrj9P9Sv/AS+yQ5rF/BQwLKZEaIqxdMuSEX36oZr8Wbl/q5pqvpRqY8rj8K4+5mxtUSS+AcH7AVPMH7r15FbRYkZHvE814lL4ROu8s7BinOlp/hoRL47wl+FpsO9lt4KMjIEpjXCoeHxh++b3I73Y8r/wcNTLdwSGvscyMkvVYkxoY1NdLaaCti7PGDismuhZloBUvm5UwJayoXteAdKfH05GjQoXwBf5v9lh3W7/Qfe94AHden6qWAHfcXyRYCrQUae3slCcQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Mv6JBrm4n+jwHmZLbRILtinlqYosKCYMAH49dE9ybxI=;
 b=0/i5LNumr+lk5P4kysOstNUh7ylyFiesXEBZiE7S4L5HMna+IYroiMqs5i7mied+hSk5ibavehJwVwI6CUZR3NgROizSmcjv3Bj4sFvB9gixXFMMVuBHTRmIwCwNAYdDfWT78T6siUzcJxMzHjClHjTqCuGT4j3gL8sKxmDtS73KDFBEHtvLUr8di+A/cn2fwJHQhanSUNR027/pg0wqKcOVEerfF+LgD9Y3yLng8arEltu0/hdou9ozu7XoZqJ06yAkYu2UWZQnB4CaBEU+vxY64yR+3VNobKvZg0WEeDWiGbn5xxUKLxY9CIrnI6fu5CHcKUPralgW6DPb+OdDyg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4eb7333d-085d-f97f-a3d7-a70447c91cc7@suse.com>
Date: Tue, 14 Mar 2023 17:27:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 3/6] x86/pvh: shouldn't check pirq flag when map
 pirq in PVH
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-4-ray.huang@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230312075455.450187-4-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0210.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB6906:EE_
X-MS-Office365-Filtering-Correlation-Id: 95b4b005-e3e0-4cea-5844-08db24a8ff30
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DwB1UOS76wmRKB8QXV34R51owNVWKCea7+V3RY3gxSm73HPV9YEe3IAWcU9S/C3lN6yupx/8QgkthGVZ+qZOgYBKXT/41Vw0skMRadNSKB0yKdqJwrxR06gCvuwPnfGdNcNNuS9Sp270e7BORhivYsf/fwAcYdpE3p3Hz1O/GyqMkmFeZlxBSZH3fzX3p/njV1Fb/Aa4FYVrtjrWI+bkiGzZwkeKeE/o5eQZIyiJH7sb/O6TilxS1lBHNTK6aSf8S5cl+c10J4inpGi7HjD6iIwzAfurRiLIgIcuNdu9QRG4ZvqZc++qt2fjCOToVz1+EEiQH6RfT8puuclXNLzYs/Um1O/5hfr/K6LQFFsgdBc2jeQvF3zSSzrLOA8liujzRSwdT2NnDELjvCj86E3psfwWPKtc+reNyMB52JuPzEw3LQnP2HpvbvShCWC9AloMNOvEBoOJjJFR9zJrFBfPbdYbZF80wwnv7OeRGy8NqAm9Y6SUYlUE3rJe4jqSAoFKnqRSw/tVVhFYwQ+gKI7Dt9SDA0wwHeFVI/u9unoNba1WVLD4fxyO9ZZrxBWjxbFaHbp1ioaAGr4PEhrqkfsqBs7r7BxGa1Hr67zuyhGjvBsE+fepUtb45G8YumXLXergMXee8MJm9+sbNyzEXvZxtUUF5cUqGkQhFd/5taNPQGOIIlZRTKD4Z03EnsQG2XnSjTG2yv6ZPeO+mghhf52vYbcpV7PsWfk3GlIRFDZZFoo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(39860400002)(346002)(396003)(376002)(136003)(451199018)(31686004)(8676002)(6916009)(478600001)(36756003)(54906003)(316002)(66556008)(4326008)(66476007)(66946007)(7416002)(8936002)(5660300002)(4744005)(2906002)(41300700001)(86362001)(31696002)(6486002)(26005)(53546011)(6506007)(6512007)(6666004)(2616005)(186003)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RGlHdjlhY0h0QXVDdkhnbFJpU3Vwc251dEZ6cjFTSHl4dFdVZGlPdHJXaHhY?=
 =?utf-8?B?c2Q2YlIxY09MMDNqa3VINTdwWHhxQU5HS3NQZzlWN0J6WXNYT2Uxa2cxZ2Zl?=
 =?utf-8?B?YkhHckpwQ3Q5anlHQjNYYTNzQUlPV0RUeGVrMVdOVzVSVHNLVlFXY2N1VFpQ?=
 =?utf-8?B?MjRWcjhjWEtSVHpZcEczSWx2aDUvMXZrWFlRZFJhTVhWTlFsWUNxMXNCK0FI?=
 =?utf-8?B?K09wU0F2Q0FSSWJxblJxMS9SMTBqcVIzeUNsY1o4RHhHaHpmZUdoZkpXSSt0?=
 =?utf-8?B?N29pR0U0UlcrendsZkdvbE5pclV0RXNFeTIrUnNEWlZPc3E2SDBSL3QxVE00?=
 =?utf-8?B?NStZWlhhTUh3UDgzZGlJY2NUcFVMS2VMczM3b0xwNUVHT3NLalhlQWhSSE9J?=
 =?utf-8?B?T0h5cGNBVFlOc2hLSXFNeTRGMDAycTF3cWZjVU5KOUFCa2JXSjR3UVlJdzZV?=
 =?utf-8?B?K0VHWjBpckNnb2lUZFhSR2dWSy8wU3hnNFlqNlh6ZmlvU0lrYTIzRTFpckhk?=
 =?utf-8?B?QVg1T0VaRERDSTdGRTFPMzMwcVBZZUM2Z3ZVNDNuRlNLOUpjOU5uWjgyWmZa?=
 =?utf-8?B?STFNYXlKSHp3VjE2bkdNV3hMUGExZGxzUEo1VUNPa3FEbUd4YVdTTDVoRGZt?=
 =?utf-8?B?dSs1em55LzBrUXh0aDhzbFFXZmdpQlh0N0F5UU5BSFcveTcyTnFadGxDdkFR?=
 =?utf-8?B?T2p6cGZ4Q1l0UFNNNk9RMW9Vb05Ld3BEVm0zVXJnKy9EVXhIT3VhUVkvUXFX?=
 =?utf-8?B?RzNCeHFNYnhYNUkvbkZWMG5xNjAzT1JhcmxnSjFaZzZYS1B1M2t4eUJCQzl6?=
 =?utf-8?B?SlBZVXA5VnE3dDQ3SU13OGZrQWVvN3hTNmZhN2NuTVZqZ0FYT2habHFvM2Jh?=
 =?utf-8?B?MEIwM0pjU2FWRnhUbHcxM0VvTjU4UFNoS3dRa0pJbW9zMlo3V3dYVkdzK0p4?=
 =?utf-8?B?Vmszek1Qd1gyYUlNdTB0dGZIMXB5ZllnVWNyZXVLSFFCTGtHc1lVL1A5dFVY?=
 =?utf-8?B?M3ZyVzhnYWY1NnNXRlZBcUJrSnNmNk1CczY1Tkd0eUQzM1p5VzlMS1ArTXVN?=
 =?utf-8?B?R01CK0owY0lNUlFhVUQ3UWpYOFVieDJLcTZONTJmZGh4SkJFdHNhdEJyczNs?=
 =?utf-8?B?NjQvSFBVOTJYbDJWaGhjTU9SSHNTbUgwTWx0ZDJkRHp1VnVmWG9JUG9BNFFU?=
 =?utf-8?B?dE9UV2RJNWNxTEN4VHZidTdndXA2YXo5NUxDSmdLZGJVWkZPVVNhY3BMTGlx?=
 =?utf-8?B?K3lJdUFlTENFdTFwTDJDekphK2FSUHg4Q0YzYmZGb21VeXJGMmdRUnBFbkN1?=
 =?utf-8?B?MmFoeE5ZaVFZWVZXUFdpMlhqQUR0WFBmTmVjQWQ4UmZiRUFsaEl2Y3FTcFpP?=
 =?utf-8?B?dDg0NHRldmZSOTJudzNSUWVUQWNqMzk4V1JiaWtNb0lhSGRiQVJ6MkEveDJp?=
 =?utf-8?B?b1cvYnUxLzYrMmIzbm9wNDNOWGFJZWxXek81bjZ4Q2d0SUJsUkJZb21xSXlJ?=
 =?utf-8?B?K1lmR0Z6OWpxSllkcFl1T2ZtS2VYSzA2MVY3Y3VteHVseVVYNEpESUhldE1Q?=
 =?utf-8?B?bXdzNTVOUTdQdTJPRlErVndaUUl1ZVR6UFhyU1JjVG1yd0s5Y3VqWVh5TVpD?=
 =?utf-8?B?b2U4c2dHMTQzMGNZTUhLelJxUm04SmhQSjlDejYxRjRDd3BUcTFqbTdKV2Q3?=
 =?utf-8?B?RVIybDZvcUVBZUlQOHdveHE5UGd5ZVpaU3ppR1JhelZxRHN0OHp0U0RVR1hO?=
 =?utf-8?B?M3hvL25rZEJjTHd6ajdvUVQ0ekxOaC9LckV2ZE1mNzJXYzJwcDhncVViNzRo?=
 =?utf-8?B?eWJwUFp1OXZ4RWlWS2lyZGpnV0YxL3FPdVFzNXZVcUd3UFFaYndWVC9CV3Uz?=
 =?utf-8?B?Wm15ZzBGM3dRZnl0ZHdqQm1sbWZROU9CbG03dFBYa0w3QXhtTzlKY29aczJI?=
 =?utf-8?B?bkk5SWV6RkYvOUNMNFk1aUZzQ0ZoNVhGZ1NLTkgySE1ncVVtRzhnSmtYQ1Ev?=
 =?utf-8?B?Q0JtZEtGZ3N5bDJZTXhueGdHUkdiNzNpSkJEbE9BZVo3cE1LdERvNjc2NGpT?=
 =?utf-8?B?ZVVyWFZ4ajJFb1c1VDIrZkF3cUJPenpCeFlzR1RIOHcyVFJYZ0ovVWdGWW9i?=
 =?utf-8?Q?q0+e/bBZ/Ccz60PIW96A63jEm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 95b4b005-e3e0-4cea-5844-08db24a8ff30
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 16:27:25.9552
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cUUrjpqzIYtcdcLJbFDScgZhd4nzFCYjdN3nZsPGB5WBZsoyKCVeqr8SNdxsuYjBqC0DYPFgujOS/iWMqMaFcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6906

On 12.03.2023 08:54, Huang Rui wrote:
> From: Chen Jiqian <Jiqian.Chen@amd.com>
> 
> PVH is also hvm type domain, but PVH hasn't X86_EMU_USE_PIRQ
> flag. So, when dom0 is PVH and call PHYSDEVOP_map_pirq, it
> will fail at check has_pirq();
> 
> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>

Please see b96b50004804 ("x86: remove XENFEAT_hvm_pirqs for PVHv2 guests"),
which clearly says that these sub-ops shouldn't be used by PVH domains.
Plus if you're after just one sub-op (assuming that indeed needs making
available for a yet to be supplied reason), why ...

> --- a/xen/arch/x86/hvm/hypercall.c
> +++ b/xen/arch/x86/hvm/hypercall.c
> @@ -89,8 +89,6 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>      case PHYSDEVOP_eoi:
>      case PHYSDEVOP_irq_status_query:
>      case PHYSDEVOP_get_free_pirq:
> -        if ( !has_pirq(currd) )
> -            return -ENOSYS;
>          break;

... do you enable several more by simply dropping code altogether?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 16:30:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 16:30:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509742.786114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc7Xg-0007Rt-JH; Tue, 14 Mar 2023 16:30:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509742.786114; Tue, 14 Mar 2023 16:30:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc7Xg-0007Rm-GP; Tue, 14 Mar 2023 16:30:28 +0000
Received: by outflank-mailman (input) for mailman id 509742;
 Tue, 14 Mar 2023 16:30:27 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc7Xf-0007Re-Na
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 16:30:27 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 860179fb-c285-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 17:30:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAWPR04MB9988.eurprd04.prod.outlook.com (2603:10a6:102:38b::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Tue, 14 Mar
 2023 16:30:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 16:30: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: 860179fb-c285-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V0BCnd0Qfup0eeH8aYeh8/vlz7l4n3ViuzcakPW6TKngirljpgEZq1KygNm8oUYlM3YVNcPNCuyEV06ZWtRBF6T2cO9tDpHLomlvh16elaV0uAltjH/ScJQnpErOBsHyePT9HUWzk4Z0TQrw6zQy7H46bMrHNq4bMM7nC/umCQyEigBnBMUf6ZNjKMijdLXhS02tUiOr126Pl440tK9fmq9FFC9+DgMWv3D5kNUCNJ35wDOSaoTiB5LoVWm8u8R4a2UcPnDUuSkDvk/TJqsicxkjQeV7T6fYH9dJtC14t0sGmyu5xScsKrPGzid3dFhcrhl+hAxtSbg1Yyf+xhS6Dg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p6IKgpBPTrAz3IkXwqbMRA6S10mi0PA8HUg1td/35tE=;
 b=OnrgghwoeWWkWHTQ7wO0gKmQcNSx+fzT3HiNWKQjAQhx+lo1wx7MYf7zKU1f7ic1vYd77AekuzXM1Ss47/E1GnlOtOmVHnoMVmgrgFToxAOOAWSfxORENnwmGQ1eqy5Naq9l+rVFdnH0zp5EpCNn8Wuv56TALYVKKG5s8wowZo+X60MxvYWf+X1MFBdsa+wDOConTXZbRiO4iwfDGUH71jPYYCBMHfjiqVWef1+LEEzSg9/a2EMPGmB1GSwMNXcbbiqPrDq7L6B0+IazHe/wnRVgx+M1+NJqmtUm4c4J8hotMPpNbzvJHryFOjPguQzvoJmE+EhLYx2RnIW/LMq6zQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p6IKgpBPTrAz3IkXwqbMRA6S10mi0PA8HUg1td/35tE=;
 b=VG0BuH8Ejw32Vq2HbkDHtdV43zPqU6VAAazqy1ze2kXGDCqZDX59SwUOHEfafwFmNpDmtZFG/LDc1wa1Du3H6Os3EIcepRc0oEfhNHc/lrUf2EjXcWGrQu+sqZLQdjV4mGoVs44Ymoy+BrsAOlTviXGQoomHSwwV7y6QTOp7ZaoIK956JrDslPPiYc8GxrL7EAk2Yb3uafpXVlIdxnxBtY/pDctipP4FsnWEqY5Gg/OHM3117Hnb1AxAdHV3q6KiZFgt9OPC0P/+rP6UkT6DKyRPRUyab8RXsv/+yZAi9a9i4dPUjkQ+YqH35syFkqgwdKB4bNUZppjQuY1NrgXXpg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c51bcc5b-4f90-5651-de3d-df47bdf4a04a@suse.com>
Date: Tue, 14 Mar 2023 17:30:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 4/6] x86/pvh: PVH dom0 also need
 PHYSDEVOP_setup_gsi call
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-5-ray.huang@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230312075455.450187-5-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0026.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAWPR04MB9988:EE_
X-MS-Office365-Filtering-Correlation-Id: 0f2a8c8c-4fdb-42af-b72c-08db24a9690b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	J4je1V3LNtJb7tM8QstvyB1yXpqsai0cXu4vNXOL+rdNAHSoMLfhwYYp2AUD1iurBdBTsLYu921pRk2VmZkCXDEotLjctP7TJQXVJTwRVmtxC2N3QGi7VJJcN+dMsWBH1mywB0vr+fLDZReKYxT4YhfqWhLlAAWJsVQMnSWJrukA8/wM2YuKfOtuUNmBY7lODyuAgFd/5Sr4S/o/n8WWMUotwrfa0awGrd8jiNAXWGapEDVpWtWelnUrV8jGQeiPo5o1W5xjj24mwNcLcWuRdrqBigotH8CebpY6qEiasMx7r6LIkikLnwgviSKlSjAmr0DgAfgTQuva38hhS6y3JeOnXT33O4KkrawzGlCLIV+ICwrdnFItWGSodkh63rIwFTeiJBhuPFys23uPPaq725qnUjpn3cVuitVDdSLdd5PQlE/P7eL9WpSXpuHlp7NZHppD5nDnA5zX4t6K8IGvQC46DLXVhkOvfgpFKsBzgr9OtYZsV5niQ6V5fWk3xsEeo4FhFl/EjPyUw82DaQSg3PbLgu464jQoI6nGhDkLPJTciJAPX540VA9nvsRRSIDWlh1Nrtv2TdNiK4+RfB9cWH3O6GcJvcJ+uDzplA2XbjZqPfqF7I2AIG9TnilWgMJBSb4GBCnk008lnY72UexNROQDiysj8yBhQC+IyjiC3gapOVBoXG0CUzvKrrI4sP+yufub/0UxyJD1l1cCr5697vuVm360QJKinoEPye7TtA0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(346002)(39860400002)(366004)(376002)(396003)(451199018)(31696002)(36756003)(86362001)(558084003)(38100700002)(6916009)(8676002)(66946007)(66476007)(66556008)(4326008)(41300700001)(478600001)(8936002)(316002)(5660300002)(2906002)(7416002)(2616005)(6486002)(53546011)(186003)(6506007)(26005)(6512007)(54906003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WDBwTElEZ3N5MDBta3dqcUlpeXdSQXFhTE00enlDNmkrWjBJdFVxUkZWNndH?=
 =?utf-8?B?Y0JaRElZdkxVdy9Mb1l1Z05LS3QrTHZodUdWRGQxbDdETml6ZUVtL1E2L1N0?=
 =?utf-8?B?aTVNR2orbjlWS1RoUHFoa0RzRXVJY2t5ek5PbHJ2RDJLVnV1WjNOSEZNUnZ5?=
 =?utf-8?B?alpHRWtpNHdlbFV1MlNCSEtTWWJST21yaEU4TUdIVksrY0dlZ243Z2V3RGZK?=
 =?utf-8?B?c29YWmphaWt4bHFDZVluNkUxNkVaZkFJM05RR20yNWlMUTJIU3l5enV6NDhx?=
 =?utf-8?B?ZWlTc05PMTBRWER6SmxHaVh1WEpCVmdIdUFJcXF1ZXhMRW5EeCtMMzFWM1ZD?=
 =?utf-8?B?Q3Fyc0FNa0FjY3c2MjlldjZ4ei93bVZvbkpnZGpQd0wwa25ReCt4TlZ2UmF4?=
 =?utf-8?B?T0xDaVpQaFo4TURTKzJqdithaVVGN2Q0MFkyZlgzZTk1K3c5WE9Gb09EbWZj?=
 =?utf-8?B?RGFmZG56RmZLclBIZ1lHYXQwRGJVUklXSGd6LzZ6SEFqa2NDZTU4akU3Ynd5?=
 =?utf-8?B?T1U1Vm1KTWUzU01CeEV6UVNqYis2OVd5TkcvRWxibVNDbGhBb1BmbE4zdlcr?=
 =?utf-8?B?emoxUDFvcThaZnhocHRobnlyVDhxMUV6RUNKQmw0NXByWjVvcDQvNklRTFUr?=
 =?utf-8?B?VVF2OHdUcmNBUmJ4dWF0UUw1S1Z6WW1OUU1rM3huUnMzUWcrM2lEejczdFdN?=
 =?utf-8?B?ck1QbUp5ckhVQm5TYVNSQ3VONldoVmVjdVpoNzVEUFo1NDg4NXl2Mk51VEtR?=
 =?utf-8?B?NVJPM3BBM3hLWllBMURYQncrSjNjb2prS2FoM25vdDl0Nkc0NW9mNkZxTUll?=
 =?utf-8?B?TW5TWmdxdG5QYkJ5a0JsdDFpdzBJTzFUNU5DcjYvQjlvR1lTZ2JXemljMEM0?=
 =?utf-8?B?Q0h3cmh1QnVqR2swVlk4SThmaVhpc25WeWxOSUpLMGc0MDBNbnlqVFh0Q2FE?=
 =?utf-8?B?Zm11ZmFiNXp2MEowdzJ6WGNZU0J2bEZIa0x6T2crOXdweVdmQ0d5OENJVVlw?=
 =?utf-8?B?aWJ5bnJqQ2dGdjhMZDdGQUp4b04rNGdCVFNWd1Q0OXR5WlBrWEdDaVFnQ2ds?=
 =?utf-8?B?VHNoeW11NHR3RjVHQjBna1RHbGtzQWVUd2VQZkp2ZjRqKzNFanVJcUVFQ1Zr?=
 =?utf-8?B?OGtoYXlUb3ZsaWw5Mjg1ZUNMRDVMWmdyem9iRklhZVo5b0N1MTlaejFYdmRw?=
 =?utf-8?B?bXpHUWtaam4yS3F2TjBoWFRmMWZZZS9oNm9ZM25pM1lXYVVHbUtlUmpmSEV2?=
 =?utf-8?B?WFg4QVErWkFZQWFEcTAwNFFsbUpHZ2g5QWMzOTNvUmJjV0p3NHdvWkJidEdh?=
 =?utf-8?B?VzlIZnR2SXlCQS9ub202VmNIQ1NLZUc5THNjcmpGQXVBM2FiNm1BTkVXVmpN?=
 =?utf-8?B?YlNsbXhCaEJYV25oMTVOeFFlQ1AzUGV2Z1RQMXpZUHRZTmp4MlVtMzEzTHVY?=
 =?utf-8?B?M01MaTBTZEJYKzdLT3UveGhpaXNKK1l2a2VlK1NZYzNWaSt4VE1zdlgvWnFt?=
 =?utf-8?B?OS9nWWRYL2hpZzdQUC9wWkxzUWo2UEt6M0xKVWk4MFpTZnNJOXR3b29Sdll2?=
 =?utf-8?B?UmpiS1UrNmxxcW1iK216L2RndEVJekdBMExRcUJOMVFtK0YrNFF1QVB3QVll?=
 =?utf-8?B?akhHdER4SnhkU0NoQTNiS3V3K2VWY3c5SUZaMk42WG43bDM3aGlQTE05YnFN?=
 =?utf-8?B?N1NzZVdsRlhmWDZZUFFiRytMdldpbXUyeVFhSUdodHNEM2hpNnJZSlpqaXRR?=
 =?utf-8?B?QmFzK2ttbld2dkxiVkQ2b0lDL3ZWUmVrZnJqZklaZmpHTWJpTWVSazlSVEF5?=
 =?utf-8?B?d0VLZ2FIZlJqSEhjM0lWLzJ2Vmpva3JnTmpnMi9VbVA1aVd2Y2NCcjR1UkFZ?=
 =?utf-8?B?dFlZblM5c1NqN29JMkcrUVhPUzhQTGh3YXZMekxrb3hYcG1oUkFZeHJ5UnhD?=
 =?utf-8?B?RW5TKzFaRDJBL3loVzhvNXpVdWwzOVZ1ZmpwNkpESWZncUptaEFqakp4WHM5?=
 =?utf-8?B?SURaRlV3MWxObTFQTEFnekJkTnFLTWsremhxNE5zMXJ5SFN3NFBUdHdKK3Ar?=
 =?utf-8?B?dWQwQUpPV0pydnlWZ0hycEVEczd2ay9KTUkwZ2lNWFVpYm45ZXQ2NkFRTmVr?=
 =?utf-8?Q?S5vWGP/E65y50Oav0It8tInTs?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f2a8c8c-4fdb-42af-b72c-08db24a9690b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 16:30:23.5224
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eB3joeQB7eyQ4xWNZ5qTUOaYAGusQR0InHSOvc0nndXY1EmaxeetRpmbnSyOf8dOduie393ZfCd/R3tAdC6gsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9988

On 12.03.2023 08:54, Huang Rui wrote:
> From: Chen Jiqian <Jiqian.Chen@amd.com>

An empty description won't do here. First of all you need to address the Why?
As already hinted at in the reply to the earlier patch, it looks like you're
breaking the intended IRQ model for PVH.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 16:35:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 16:35:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509744.786124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc7cJ-00083m-4S; Tue, 14 Mar 2023 16:35:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509744.786124; Tue, 14 Mar 2023 16:35: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 1pc7cJ-00083f-1u; Tue, 14 Mar 2023 16:35:15 +0000
Received: by outflank-mailman (input) for mailman id 509744;
 Tue, 14 Mar 2023 16:35: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=dXSW=7G=citrix.com=prvs=430734c92=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pc7cH-00082m-Mw
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 16:35:13 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2e86df55-c286-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 17:35:11 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 12:34:47 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DM6PR03MB5194.namprd03.prod.outlook.com (2603:10b6:5:24c::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 16:34:45 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%3]) with mapi id 15.20.6178.019; Tue, 14 Mar 2023
 16:34:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e86df55-c286-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678811711;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=MZ7wRc34p3lIkTBG9E9MULay2gyGFp+0vK2LA6si8RU=;
  b=C0/MDQ7BJWyymTzeotZX70FjW/Xr9pkr/CISBeNgDVa9b49V+1q7eN10
   bMERxsRV+rdAFtFDlVhPaGYfst5xY05X05Vwnp0G9xr8MxrPE8Lbht2Kp
   nv9OxXQtrYogWPCzU9todxviA8W2crS4wDitfsetuZXeLYg/eSmmEAHwC
   E=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 99620573
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:5fg+TKwAkU/If3dUE296t+clxyrEfRIJ4+MujC+fZmUNrF6WrkUBy
 jYWXjvQbq3cZWTwet8gPYzk9x4OvJbWnNVnSgZuqiAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlPKwT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KUUT9
 sY0AwsPVA6Og97r5q2rWuR9oNt2eaEHPKtH0p1h5RfwKK9/BLrlE+DN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjiVlVIguFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE176Rx3umB9l6+LuQ6twximXP2EIpIiZGf2OAm/aQhnyvRIcKQ
 6AT0m90xUQoz2SpRNTgWxyzoFafowURHdFXFoUS+AyLj6bZ/QudLmwFVSJaLswrstcsQj4n3
 UPPmMnmbQGDq5WQQHOZs72S/TW7PHFMKXdYPHFVCwwY/9PkvYc/yArVScpuG7K0iduzHizsx
 zeNr241gLB7YdM36phXNGvv21qEzqUlhCZutm07gkrNAttFWbOY
IronPort-HdrOrdr: A9a23:6iZkyK184DS0Y3pmrWcGSwqjBEIkLtp133Aq2lEZdPU0SKGlfq
 GV7ZMmPHrP4gr5N0tOpTntAse9qDbnhP1ICOoqTNOftWvd2FdARbsKheffKn/bak/DH4Zmvp
 uIGJIObeEYY2IasS77ijPIb+rJwrO8gd+VbTG19QYSceloAZsQnjuQEmygYytLrJEtP+tCKH
 KbjPA33gaISDAsQemQIGIKZOTHr82jruOaXfZXbyRXkDVnlFmTmcXHLyQ=
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="99620573"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=csFSTtnhed/C52rHNRHQBP4pzaloRaFMjIe7NgsjzWIn0xVT4pCOL22j2PmRt/xsTsFh3uwP/OQG/hFgt6eTHiEtlPdTCMDp6fLVxpyxIKQx0AfPxKM1E1G+WHrcQbSto1YV1CHDRNBqKLbici+OfdCcNddE6SErPNxZcFpYegwvUBJo4CoRC6VIWfhUKlJHO25xSrdWDBNpAoMvcCC/wlE4M1xnkyLJQdpf6dBYFGG8Krl+mbSulYztZOj//r5eAO0NlqOcLKqQO/TYv/K0yNZRFtFYaCt6n1nrK7VHV0VsUb/takMnt5qJfJCvgb5xfsKZcKdTFWfXx5WH/7IN5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hFgkAdfK2aWtavfPvvKyKRjTsv5wgIwYx/e/HvsUdHo=;
 b=QesWjSW21fe9A+WOQM2wsCvXTipG2Kc/gITrCoTJyGQAGBw9mnmkTZBdy9Q6ApwmYfJ/fqS0D5OGhiIIP01VYLOri0cTlzrhI7Ev8IWTfnNLMitrV8N0Eig8H/XWlXDTn3RQXYPGPpf87m7a21nxS+nSYXRJqpvzCGDjflKqxg04zyKnwutxz0MW9akY2yg9HUdDVZOFtJhMYd6Iw/JvQUU73CXmlRZVZ0UgQ+r9KpjjY4vFj7MtTE1RqgePU12mZ6hGoywX785b1nlAOVYEFzdRxTFf7nVaf3s2eYya6BhZzEmslIjBXv1UcWAupIU46HWFa+2wR10eCxCM+PM5NQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hFgkAdfK2aWtavfPvvKyKRjTsv5wgIwYx/e/HvsUdHo=;
 b=FTgzeahkfhn8KK9qSn7LW25FS6n0e8hROIz/Oo2e0ps1axWsF8Jo7wDmafC+OWUe8kdnQ0qap66Z3lk4cgGA7XhdssNvMIIFWlqERHX1uI794I4o+rQOxESeVYmLDXpIO+kqqdTf58aJY8c4kkYPgasR21RHz2/c6QaVj5JVvNc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 14 Mar 2023 17:34:39 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH] vpci/msix: handle accesses adjacent to the MSI-X table
Message-ID: <ZBCiH+0wXvO98lEQ@Air-de-Roger>
References: <20230314101331.4194-1-roger.pau@citrix.com>
 <d22fabea-5821-075d-07be-7e9378be1b5c@suse.com>
 <ZBB8ejEi4mBktBpb@Air-de-Roger>
 <69fdfa84-cec8-6e76-8b1a-ff4de835a908@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <69fdfa84-cec8-6e76-8b1a-ff4de835a908@suse.com>
X-ClientProxiedBy: LO4P265CA0066.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2af::9) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DM6PR03MB5194:EE_
X-MS-Office365-Filtering-Correlation-Id: c80b6ff6-e87c-4659-f4c7-08db24aa050c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TRSMcAAnPygd47Fg21fBTAYCBgV1rbal/Nl372DbqKWnHr3pEAY4qd0bfSsdbsykLsDOA7LFR1d5MAbG10ZWcNBCboVZyvqx0yxebB8pCJHIhDMqtKwOmKa1isF7Y3d6QdN47UNTJ9AhXV5WH1qehLONnMDeYTPFqITWMYvKZZDpWxEbHU4puLRvdWBLtmWUmPiC2ScDo1U14Qtwu5B9CkrLLiErbKfE55pfPO3t/1JbLaxnLba2V3VJY+1Sgxsk+9rbedvNPLdgPCR/UgxI+WaSZfm46mIPdMUMxYNGgU2N4gwfjMGe3GzHzXxwgwIxchjLdXDaryVZoDoIVnVGlO+HD4ZSqJPkWzR2+RetoccaapzMr0o7X004GwEkzPPK5e6IO8MY59lQ2oGF3GYty/nxc6zPOuiqe6cENHc4ts5Jte5s3XfNECgx7DjW0VRSiVv8MXlLUKdonaQufqxGGw/3giHk2C92RO5oTGZ+05n/mit16segyOdsOJueKrDGncKzt7jxGbOCM3/s0Lm+KVGmtrHje6pRufdzAZYgArPHcXac+DgxoWgNznCAVI9N1f93UJmEgd04ASF2MrEHarCOL0/FjidQFBWkYtGxmCZQl2lE9WrCKaXL5h1O7adZcKygddu+C77gu9TmgQ8shP9jZUGLFB9ap7DCLCkWEI6A/4OJ4Dv9tZdEzndmtFdg
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(376002)(39860400002)(346002)(396003)(136003)(366004)(451199018)(33716001)(26005)(6506007)(6512007)(85182001)(6666004)(6486002)(9686003)(66946007)(66476007)(66556008)(478600001)(82960400001)(8676002)(6916009)(4326008)(316002)(83380400001)(38100700002)(86362001)(2906002)(53546011)(186003)(41300700001)(8936002)(5660300002)(66899018)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TWlXYXhRSzZPNUwwMWpMM2NPKzYzbThXd2JXM0dKWFhMTjJPVGVpaExnK2FE?=
 =?utf-8?B?Vkdlc3J3YUFjb3VCL2pnWUxUU0JlTVp0Z01wNkRpOEdwdUwwcW9wSFRORUdJ?=
 =?utf-8?B?LzhHa1duVG1zSm9KTHRSVVJPV1lhSGlhSEtVVUJ5RWM3eXB6RFh4Ukw1VXRu?=
 =?utf-8?B?cEJrWWhKSW9sL0VpSW1OQ3k0RkkySEdJdTdKM3NldzhkS1Bld2xxUWRuZGRh?=
 =?utf-8?B?Mitpc3piSkZ1Y0s5d0ZsM0ZLVjNWcjVNL2s0bUlSUWxTaDIxL3h2cDJMYjcr?=
 =?utf-8?B?TUJyUUQ1LzZ5d2FQb1pjK3MwczJ4RUdJalNGZFVqU3lHVk13VkJnZGJ1L2M0?=
 =?utf-8?B?emR4UlR0NmpXNWpaUk9lVFFRMlM3K0o2b3FnamNSM3RSby9aYjBTT0F1MnlQ?=
 =?utf-8?B?RnRaZTFMb1Z1NUgzVjF1WGFaNFhtdmIzdVFOUWJsY2NIdmZsVWlQc3E3NW1l?=
 =?utf-8?B?ODJYRmI3U05JTzBOTmdEbHFFSko3cHoyaTlycUJtY3VIU3RLZWpBYVlUYVpU?=
 =?utf-8?B?ejRjbDFpbG1DVm5MbWtSWDFmVGFmajh2UDNROXBrYlNUaFZMRmNxOWZQa2lV?=
 =?utf-8?B?UGUwU2lnZjNxbGJrbTA5cTVJa3ZZQWdLUE1hT3FjV09FcmNxTTVQdUFaZGNK?=
 =?utf-8?B?ZFkxNUY2RGdXa1FZbDNQZlpTK3lLVnFpVCtsa0tCalhzR25ZblRQNU5vei9x?=
 =?utf-8?B?WG5NRWNoc3k2VXRhdlBjd3RGZ0d1dkx5Wm0vd0dHYzN1cVZGUXNmcFJtM2FL?=
 =?utf-8?B?NFkzR2pSdU45M3dlVGp1WGhFcTZQa0xPNlFpU1ZkZUFDZHEzTmVMMzVUZk1E?=
 =?utf-8?B?bnlFUnRZUS9JM2F3bXdoYk44SkVYaEs4RDY5ei85V1lTdzFyTG5ZblhndFhx?=
 =?utf-8?B?bzZKVWFpQURTMFFBK3VPdGdXZWV1eHd5TDJQNzYzVEdPOGs1L0xQelMxLzZW?=
 =?utf-8?B?OVc3Yjc2RThrTFRJaG40ZTFtVEhlMytpWGd4Rk9CdklSWTRFVXVURkd4Q3ZP?=
 =?utf-8?B?ajYySnliWWlONVhaZkpoTXlBWGNyTTlxZEM4Ty9pakhENUI0VHRCcE03dm9n?=
 =?utf-8?B?UklUNmx5SVFxS0ZvVEtwV2dYM1BPcnlSdW92S3JwTDl2UG03ZWYzRms0QURR?=
 =?utf-8?B?V01lbitsRnJGMURSZHh6MTljbjBPRXhvZ3YzRlpxQ3lzakd5L1RCZXczUkZa?=
 =?utf-8?B?dFBSOHZWQ3RicnRiMnJqZFUra1dUU1EyNjlWOHZ5T1IzUnY0QmwzOStmT0c5?=
 =?utf-8?B?Q21UMzl1dVJUSWdDemJ1c2w0bVBmSWo4cEhkRUpyNGdVaWpFa0hDblArNEtL?=
 =?utf-8?B?eGI3YTNmM0IrTDkzUjduYWVNUWhHcERUMUppTmY3dUNWT2RnaDdOd0tRUzhO?=
 =?utf-8?B?emxONDBwdWY2aElxd0tTWlB3dGFxa3VQOXp5cE5ydnYzMFllWTJTS3p2VUZ3?=
 =?utf-8?B?NDNsajZNaDY2ZkszZ3VBMHUzdDN2ajE0TEhWVXZBZnBld3lFK1NoYmh1VWt6?=
 =?utf-8?B?WUI3Vjh4WEZGeXlQNktPZzcwUVZNMlFSZFF4RDZxZmwyNmdZV0I5a3FBcXJm?=
 =?utf-8?B?UVkzZTF6OUU0TldGaFF2NUo3RFIvM2hCeWthMlYvMStvQjFoMFJHYnhWNTNv?=
 =?utf-8?B?RnNCQ2FnUGdjUEtnMnVVMlJRRjN1eVNXQWhmeEhxc0hOY1ZzWWlEaXErbWow?=
 =?utf-8?B?Q2xxVUdhVE41L21sVWhlb1dMY3czOEV1dlVXSm5UcjkxN2dPOW1paGU5Smt1?=
 =?utf-8?B?VkZDdkU3MjQ2Q0g0VnpaZEtpUjVyd3FxSkFNUGNCRTJCNVNIb1hIQUM0bGJS?=
 =?utf-8?B?MENpemJ6eUxGVVk5MHpzRXdid3BSYkcyQ3RJUFlxbVM4bnN3REF4N2Z6T3Ri?=
 =?utf-8?B?TDluM2Z3SGVlMWw5a0EvMVBjeSs1S1hmdlNGYWdhRFFvNXVPOEZpMVczLy9u?=
 =?utf-8?B?YytEN21wSEVFZ0lsczZUYjZoSlhWZWl2NVBnVm0yZTQzOVFxajJpbzlnVDJO?=
 =?utf-8?B?dS9Jc1RJTm5LTUF2YTVmUjZ2Z25ReEx1clF5RTlRSWJhTHNqWUtDSk02K0tT?=
 =?utf-8?B?N0Q2ZVpNNTFhQjFFcCtQYnVmVnd0OE1mT09jZVg4K1Z0SjgxRHcyWC9zb211?=
 =?utf-8?B?SkNQWEZzbThuYWtFZmNxTDZ4enZwVFZtTkhtK0xvUEJ6NFJqRFhsdEZyNmo0?=
 =?utf-8?B?MEE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	F+Vb31JM6gm8Lw934/2s/uHS31Y/RqGkAIz1sDxSadUftpVPGInosngkdXPkew8kHeMV+TTFN7+w5faG5NQA5+2y0ruSOVzeWb9fPgZAoqn1SXtHyXp9yb+cHJe8iKtHr8qHMEcxVCJCcWu9vN4BCG2skZDx8M4vOTcoC4PWd0jwmNLhrktbbSN5LcWdwPy3ibrOVWPjDpy50HgwEIxDNvlc3IO4Pre+qYYU0p3U7RACtMYUaJIbrYns8BqTd46LliPAs+qEvNFqzOmsPVbwcB/0mduy2tMU8txrtFSmhcCXv6pZJphULSXe+psQsGPnGR+AhJpoa5NuB7ZeozL8mXeUS+yGTjcfpa+/j/CsfKoXO4BbkaeFqvSBTl39XPEYQnGgq7BoxS6jWGmH0LbW4ZlI2mLWcbRWw1bOeFtdJemc27EGVCYeuDRDTobDrzD31ScsEwDU8JgSXjU/Itfjs/tjOtF2maui4N4hjGhmMifVlQ1gRRVz1abWB/r6VXApBnP6isbepS/ua8uPPrZyxiOC7flrPS6q/3WAbjBovXpnWNVHjOWsGEbywRg9k5AyXxYf8pOHhwxOPrqrCwwJ1xY5Da5TR4gFem09TqQ2OqlOYu2CGkER1j6CpPLCjurSGX2s9iTees0u44kjsHtz7QEAHBrAkFb8TukhPibeRWye6eebn26U/mUBrlz+l8di/35ZVp+NhghBfA+ybA/JkghQP6bSt2StE5WuLkv/iR5y7nVLG1LqI38ebgOV1BSq/JHhUOIGyhPjo0kIV47A3ZDW1JnQRiITixsi+56/9g4=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c80b6ff6-e87c-4659-f4c7-08db24aa050c
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 16:34:45.4581
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8f4RfPei+FNmYq3BT93FogY5jO+KY3FHDdf1vErkQfTvi+zP6rch0XjLvlg7Phf/zxKaEBD7f/29VMWV/PnMPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5194

On Tue, Mar 14, 2023 at 04:46:19PM +0100, Jan Beulich wrote:
> On 14.03.2023 14:54, Roger Pau Monné wrote:
> > On Tue, Mar 14, 2023 at 12:56:33PM +0100, Jan Beulich wrote:
> >> On 14.03.2023 11:13, Roger Pau Monne wrote:
> >> I'm also concerned of misaligned accesses: While we can't keep the
> >> guest from doing such on pages we don't intercept, depending on the kind
> >> of anomalies such may cause the effects there may be contained to that
> >> guest. When doing the accesses from the hypervisor, bad effects could
> >> affect the entire system. (FTAOD I don't mean to constrain guests, but I
> >> do think we need to consider splitting misaligned accesses.)
> > 
> > I was also wondering about misaligned accesses.  Should be allow dom0
> > any kind of access, while limiting domUs to aligned only?
> 
> I guess the code would be simpler we we treated both equally. As said,
> my goal is not to refuse misaligned accesses, but to break them up. To
> keep things simple we might even use purely byte accesses (and then
> perhaps simply REP MOVSB). Special casing Dom0 would only add code for
> no real gain.

Hm, I would be worried about then breaking the requirement of some
registers being accessed using a specific size, but again we are
dealing with misaligned accesses to a region that shouldn't contain
registers in the first place.

FWIW, the device I currently have that has registers in the same page
as the MSIX and the PBA tables is fine with limiting such accesses to
aligned only.

What is it that worries you about Xen relying unaligned accesses
instead of just the domain itself doing it on any other BAR MMIO it
has directly mapped into the p2m?  Any error generated by the device
in such setup would likely have the same effect, regardless of whether
the access is in Xen or domain context.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 16:37:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 16:37:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509746.786134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc7e6-00009s-GX; Tue, 14 Mar 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 509746.786134; Tue, 14 Mar 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 1pc7e6-00009i-DO; Tue, 14 Mar 2023 16:37:06 +0000
Received: by outflank-mailman (input) for mailman id 509746;
 Tue, 14 Mar 2023 16:37: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc7e4-00009c-La
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 16:37:04 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20601.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72c2f60c-c286-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 17:37:02 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8214.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 16:37:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 16:37: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: 72c2f60c-c286-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MyfN+qqjsz/8WOBQwVCEM0fbgAIwTzKbQLw09EebVdMsxluFLBTsxZJ3oYPcsrh29/rE6+8l9iYSZPCYJf6XeFXSXNrV/s+0bdENoKId8bVUiaGm+njWcIqt5sV0NCfjDFSJy1eYl8ikMhIKMOmFMN5mlRpa8ZeLqEeJLWdOEDD0D+Flr+I1rct13IZmRoUG/nN+XAZ5uQSaNa6Zsra8sDJEV7avPI+344WCr8KlsKuXu9uhg7oXfFrNOhsuOQnhndH/qllVFu1KX+Dts/rvN7s6/gp4AjM5fPeu9ifNOpDxpT1KlJjEK9hUR9nbvSsc9tsQi+WPpqcyDsfvE9u+aA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GCUM/P3v/jlK2Boso2ilxltpz18GsqtA0dI6uZTHTg8=;
 b=iFWsSwEdBnDh52B1/zVjteK3sG1RHMyBqsuGK/Sj2mzBR7C0qv7zwoHCjyOuQS9aUU1KaXKxrTKq5JbOs27yqUTBAGkuNRQKsTmUYrCR/ioMqp73k7vQt+Ck7l/ljNuEulYPfpwW1crYnhxLa4NHjae5t2P6LwEVAbfFSVHlYG7GZV1f79SW00+7TExiMaztGT8bUC6B1MnwJ0Qok8wvpcJ0en4RGPRosIuuBrHwD9UsA76q6gJVgT9/99KlGeFHYao/XzVmolq6FJ6UD+Mo3bnTmCFoRp2/qnGpEGgfQDjkxSxo+YyCY2YkoOoRrUKdziusm1KmXsc50ACdvLqBIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GCUM/P3v/jlK2Boso2ilxltpz18GsqtA0dI6uZTHTg8=;
 b=LnC9KmabS1VBKZ6MytqwdlPPQ8nteTWcHCD+0DQ1G5+8+hl1QaJHMNqnB0wTMNgGI6E2vPsarRpYN+Lby5kr/kZvZFw/Kiy/8eZGCtYgDnVHqg89Y15lS2FaYigw4ZTzDW4uNM9ea3A5u9f5xpp8yO+bBpFkvaJ0Ay00mbNXMWLnFbU2HFbGYmoChQpFAchy7bACC5MvFpIBf4yXxi/p+1xFCjUltfN1Pr0IWfNTK81CmHFxewtny1uRgyAjY5+KZlunyYdUBlwlNQ0yYuUFYHjdXfMVN4BKYqO+Pa6UAL0Ez2hma4px9tmUCNOG64bgFBc4bdsbjVX7NXHYV2dj7Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ece7a0f3-a142-9ac9-bfd7-9398b5578081@suse.com>
Date: Tue, 14 Mar 2023 17:36:57 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 5/6] tools/libs/call: add linux os call to get gsi
 from irq
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-6-ray.huang@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230312075455.450187-6-ray.huang@amd.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8214:EE_
X-MS-Office365-Filtering-Correlation-Id: 73df0165-4ffb-4eed-4044-08db24aa555f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6/Dk4zZ+qy3TAsUmD9+OADSiZpTlvN6WyqRA0/4XnB1F5yc0LxALiy3NA3AMq7lTtZV4n5zFLX9pC6a9yKtzWe3Nj/dbDjQzsC9UOQzdbqyGhnSGxYX7g2OXFa1nJn58nkBLICdD+IRPOqeVUZ5ewqk2QsKbO9FBhdJAEEgb0pijYekdvXiVEdJWAITcAE0RaDTumpoPOB4DV/zNB8vJfolR0F3uwFIeuVfV3JEfPOIZG46J9MKHgVc2BQfPl5qGegKNPKRgW9MrNuUZizekFebbXQjjqAe7jijDRUAjdhZasPq4Qlj4udSR2gSvSw/hBKszGw6+nrdts4tbvxek005NT00+1zYoqLyM+jN3Wga88wPrifcpF1J3r0ogEH4uDFZ9Jft8qUcw+ABaYYt5mzpZnRWG8U8zs0Vizx4rcCtKjm+ywRgsy1saRXEhWFUwONctN1Zg/Y0h67KK3nU/0iebl6qPTlVzI3F7dcGNAAmFZJKdJQp/bIAs5cblOpARzp9x3O/ivxmz6wJKtm0tYAnBfl0zsH/2uLvs3uSqnxO3JOfcdcwKBSeOBFHb8cBQdoX7rEHA1MYW1HWHCpcK4Lu9TQLqjBYGvWlWMAwx6auNlC4BXbnwsJBJmV+IipxG2t/8FmMTPbC9cVSZ9SmoeIm358krE41lzEGkW7ZKHwxGsBrZMtLp3keOQ4xcSp6RHf0qVSTN1TZOpf8/ovSZRky12HroYDFbOwf/L2tMRzY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(396003)(346002)(376002)(39860400002)(451199018)(31686004)(478600001)(186003)(2906002)(26005)(66556008)(66946007)(66476007)(6916009)(36756003)(4326008)(2616005)(86362001)(8676002)(54906003)(6506007)(316002)(53546011)(38100700002)(31696002)(6512007)(4744005)(6666004)(41300700001)(5660300002)(7416002)(8936002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ukc1WmJoVlZrc1VwV0VJZGd5U2t4S3BIdkVCV04zS3RzT0VndXp1T01HczFa?=
 =?utf-8?B?OXMyaHB1d3lQdFRlaUg4bWdaK25Oek5JTVBGbVNNRjYwUU84Q2N6K0RaS2Uz?=
 =?utf-8?B?aFVWY2dLdnZMWWpkRnU5TUl1NFpZTDNaNTEvazVSc3NRb3RZazZ3SXpQV2ps?=
 =?utf-8?B?L2ZscHlUTnh4YzUwWmRVRDdUOFNCVFloSHdndWJoL1RGZVNURmczUWhlUDQ5?=
 =?utf-8?B?eUlpbFNQTXZPNUw0S0pQQlBDMkpldGVwWmRUeVpSN2tEU0QyZXJ2bmVLdFZY?=
 =?utf-8?B?c0RtblhvUXA4Vnk2cnFNTDRJYU9OYUhIVUZDQXdpd1Z4TXpvNFhaS3hsenN2?=
 =?utf-8?B?RG9pcm5ZbVhDcTBuWnVjRzVMYWxpSlNHUStNMFlKTDBXY3BFN1p1V2VoZHp1?=
 =?utf-8?B?UjZnWDB0cmNwc3RTQUtvWVg5SDZNSkc5ejd1Tlo5aU9lVTQxVmp0YkVBM0RR?=
 =?utf-8?B?TWVIZU51SHFFckRpZE44aDRYNGYzcnRNMG9yWEVDMi9XTy9tQmd1MVZFaXBm?=
 =?utf-8?B?RXlSYVNqTFZqcUNXcnFnUFlsMjNHbThZQXBHeEdOSFlTYSs5YkhaT0ZLTytX?=
 =?utf-8?B?TlZHbndhRTZuanJWbXhxekZKdldmMUdKVmR1d3FtTzhvNFZVbVEvRzdNTnBP?=
 =?utf-8?B?ZlhVZWx6NmQ5RVBLSEJ5R3FsMitNR2JvYi81VWE4UEVGR2tOV1c0R1Z6Q3hJ?=
 =?utf-8?B?ZzNNSWdhSVhKZktrUngxdkJrK200MTNVcUFPNXoxQVgrdW9razhLUUUvT3Q3?=
 =?utf-8?B?L0VOS204UStoWFk4WVc1bUdwQ040bEh0RThjUmw1OVdaMWJjcXRaOUEzQ1pt?=
 =?utf-8?B?VE94OC9HMHBWVjJpQ2FIREhlWit4K2ZFamxVeDlmelNWRzUwM2dWZDc5Zm9t?=
 =?utf-8?B?cVU5VE0zbmxIaWtKbXBTWGVITGNrWXRmVitDQldLOG1qUzZ1bmU0UWxINWtJ?=
 =?utf-8?B?VjVoNTVwR1g0VWNoY2kyVWJ1Wm5zVXF0aHhlbklqUlhtZEVlV1Z1TU1ITllm?=
 =?utf-8?B?L2o5enpMY2xHVERIT1hXTjZBRndKczE2ZDhLdEh3OUVlWElZTHM1S2I5MXlx?=
 =?utf-8?B?Nkh2RXV2Z3plb2FWd0wxUWQwanRzaGFEaFJueTVWMFd0WUo1TDlEUy9Lc1Yx?=
 =?utf-8?B?L1Y3ZlVOaDRPV2IxVFlLeTc2YmY3S0IzemlPV3FxZ244T0gyUTRwcmRIa0t5?=
 =?utf-8?B?OEd0T3IzblZNc3pLTEI0MEtKWDU2RHRSYTNEL1JJUmdIcGxKZWMxNjZlTFpu?=
 =?utf-8?B?SWJYRTJmNDdyUEhjbGtHWDdvbXlpNWlnUEZLVUl6a04rcm5CUld4MXBaNjBL?=
 =?utf-8?B?L3YzaE5hQWF5ZjY3bTIvNDlMN3k2azEvUFVCZzhkWkVVSDBJK3c0K0RYUXRj?=
 =?utf-8?B?RCt0SWNwcFVYclUzTTk1dUZGV2p0a2RpVXBURWpiUm84NzNmSWNtaTRjVTVG?=
 =?utf-8?B?amxmRWdqUTRpMXJSTTlRZkZCSjJZUEU3aGpiMDBNTG9oSW53aXNzY0t4YXNW?=
 =?utf-8?B?VWZRaWJBN2ZNdkM1RXlCdGZXOE1nbVZEVlJzR01yOFlmU1hWTHZqSm9oN2o4?=
 =?utf-8?B?R0twQVNpNzVUMm55ZHlnemZXODBEUDF5M3lidlE5MGJZbE5pVkFHNitTWllO?=
 =?utf-8?B?SzVjdjdzTm9ia2t6aE9zQ1hPMFpZQUdBNkhwanZJQnhaeEhEYVFGUzhVMXFF?=
 =?utf-8?B?cDVFQlEyVEF5eEhYZXUwUW5sbVBDS1NBT2IyS2I2bkxKTE9CTDFvMDlFUXR1?=
 =?utf-8?B?WUVIc2UyaloxZmo0K2lTa2VCdEx6R0gyKzFjbmgrT2F0Q0crWTZ4cTBxTGMy?=
 =?utf-8?B?a3JGSG1xb3FCM29sN1FjTlh5d09FL3ZCcHBCSkZGNnh6VnJMQSsvNDFIK3VG?=
 =?utf-8?B?Qkxsc05tbXlWQzduejVvaU5NQkFkYW05RXI0MEJ1ZUpESXJBU0h1VlYwYk44?=
 =?utf-8?B?RmJrd25zRFJzZU1vYVJFOG1Qc1F4TUR4MUNrRUNySG9vOUd4TTFyeERrSFRy?=
 =?utf-8?B?T0w1Qzh1TGY4NkNvWVZ1SVpneGVOYWVqYUFsbEhUcTFhNHFhemhCdFVXM3Vz?=
 =?utf-8?B?WllKdTJKbjVMUnJENGJ4ZE9rSVJrUkNTMVBXa2lpWjFmbU14UDRncm0yaThJ?=
 =?utf-8?Q?xRWa4+dH2MK8OxsfvDikMLZSC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 73df0165-4ffb-4eed-4044-08db24aa555f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 16:37:00.5121
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: V5ZEK4adKN58O9fvcsWa6eYwIBqWzjo1SJGB+UfsGKMh9bHqq0t4KNl6D6WWCpc489wS/kOt8GLSKPxGp7Wahg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8214

On 12.03.2023 08:54, Huang Rui wrote:
> From: Chen Jiqian <Jiqian.Chen@amd.com>
> 
> When passthrough gpu to guest, usersapce can only get irq
> instead of gsi. But it should pass gsi to guest, so that
> guest can get interrupt signal. So, provide function to get
> gsi.
> 
> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
>  tools/include/xen-sys/Linux/privcmd.h |  7 +++++++

Assuming this information needs obtaining in the first place (which I
doubt), I don't think privcmd is the right vehicle to get at it. Can
one obtain such mapping information on baremetal Linux? If so, that
would want re-using in the same or a similar way. If not, there would
need to be a very good reason why the information is needed when
running on top of Xen.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 16:39:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 16:39:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509750.786144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc7gB-0000uf-0S; Tue, 14 Mar 2023 16:39:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509750.786144; Tue, 14 Mar 2023 16: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 1pc7gA-0000uY-Tk; Tue, 14 Mar 2023 16:39:14 +0000
Received: by outflank-mailman (input) for mailman id 509750;
 Tue, 14 Mar 2023 16:39: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc7g9-0000tk-GS
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 16:39:13 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20606.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf4a8caa-c286-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 17:39:11 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8228.eurprd04.prod.outlook.com (2603:10a6:20b:3e9::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 16:39:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 16:39:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf4a8caa-c286-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mzrth0xW+i0/voaI4EeEPKJlqdEUtNWC/2sye0KD+Mxp2il30q6dfEK6Vez3IJX1TuNLhwFqiYE9eyde0Lr9+jRbQfKDNtM/WztQFiD2d1E6nmRgjwLvE73USz4iMosEOL8Bvahbpg3ElI3TjN9muWNrI6mmkqcvBbNa5sVXp7nDgGSi6xNN6kBn0syq1zMhCwOn+1X6eLUfdpqUFWGgd+h2dIseKoTWNNbQyN6Mmka/FwKxpcy/y9Y6s2+97Ggxd5Iyo53lyRaHow+YGGrxK5O23Av8UGzV/rdPsti1SU/tdL2vOnsHbUVf1v41TJ3v/leSSsP3puh9vUvvplPN4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rHDsEukHx1udBc03lZTNtRUsmtrmbaZA4f4XqzD8mWU=;
 b=JE6E2C7wUvC7iPR3t5fjAcvBI4Q1VIDRaLvHSpc8pTROVzVzoFtHjdOgw2kRNplawmwdfxCbgLa/Odx/ZcL3YnbcthIL4hfO5sgm4qQlQiIWOstpQQjrJcaKuoSQXkp1vE7JPfYDI/Nf0v3I5Kn5Xd7qNp4ZUeArkJb08hDEnCMhKT3TE8Ld67YBVOrOFPrprQh8dktI8Ewk42UUU1pxckGv9nQtRSefigbolm4Jc7tvK+0srGXtduYhQ9/zHJFY0rpSBdPse8BtZ3zQ8bgOfMKoqBoNGfEVJZ7C9bhtG8ZhWddLyYqgKMI+5xC0vQHL1HfV+pBhLW/gWIfb8AHsug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rHDsEukHx1udBc03lZTNtRUsmtrmbaZA4f4XqzD8mWU=;
 b=veM98UVU+O61tbqBl/yExU3UIZRUjkFL3umHoPxuuFwImMZ5cJ45SP7E/myaU1QoCG22bTicpXoSalyMgWFNlVqyEL9TSJicFvu7AyWG5NcCWVgVrTwqCPUVlJWgoaQ3od0rZh/hUNJmCxP6FXjB9hmECgeBjZFVFo2Try8p4QYLcejty9JCYjYzIfkFFH3OEPjW21ba9WplxWcHqqnsivqFPAcs1KEw0cCWuNX267CgmQE2im8oIS3avB3FM8o6WatcflsyxsxYqyT+V2hG7K/PMKcUCnkbdZflPSsEN1rtKXjJcD8LVQtHDjXhEsWd1DDOBXAxon+R0I/WGnwdmw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f4942e37-48a2-1c77-cdab-d54ef9a8b55b@suse.com>
Date: Tue, 14 Mar 2023 17:39:07 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-7-ray.huang@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230312075455.450187-7-ray.huang@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0026.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8228:EE_
X-MS-Office365-Filtering-Correlation-Id: 2d0d5d55-adc6-4e11-3ffc-08db24aaa219
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e96W49zqHeJc2H9/MaRNPW41tFUiuvfU0IwZXMXhmOZdjmspjdkWNokX9qGAhhQkwKIGcBdKBETqST9r7RTGVbvFb4BYKHqzuV/46vDaLRT56yO8hDs32Etg5g862b61Ps8SvLxrTonxzw1mLPv2dES4aK/qhEHGkxdsZxoNUh18WcnKKFNBkoL9uJixyI8FioceiHOQ+ZJOQHb6qZMQaBejFa6gXfJMch1GOKK2zOQPuNp6zdr7ONGmqMAQ00Agx5SWofmM5sr3lIgFLvax891crMxH5LEsoB7/7IkRvTdY7VoMFu8KEZ8QjMEKPeCHfPBdMZGL9J6MqPFfsHgxyf61/YVDbqvRfFgkzacaFKab6WqvaiuFLWDt9dBZaEXrcNPhvDitU6GolBRXv7OrTMC+tnSZKgRQ0f12CM8WLULbX8I7aIF8Wmr7HeLePkHK7pV7sWmKvxGjG28CZ6V2wgF2HGAMijS7y5PrPByNw8HQQje56a0bkrYkJryUEL1OTnpC5f8OS9s1It6C0rwdCriNzMucL+oInKXC3B7WDJdjFBauzetbOIErcUt8US16eV76tu0XTjsJyhhcoY+2qo/xeCpKuRQlNOfbF2G1+iEFCNJ7yMdWzZNHLKDjdul0iFK2URqYs3s8mP/IESb1f80ANZyjFCTzSXKbVUX56VrZZ8TZIHVaySBUeplDfrylMKa3LoIU5d2nRgcx64avoNhXnNKyh5ZHa8bXt1RgMkk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(376002)(396003)(366004)(136003)(39860400002)(451199018)(36756003)(54906003)(316002)(26005)(6506007)(53546011)(6512007)(2616005)(186003)(6486002)(8936002)(7416002)(5660300002)(41300700001)(31696002)(4744005)(86362001)(66476007)(2906002)(66556008)(478600001)(4326008)(6916009)(8676002)(66946007)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bnRUZFZqSGdwamkyNmZacFFPOGlWQW0zMU5ZTWE5clFGR3ZxaWRDOGM3NCtr?=
 =?utf-8?B?bEVmUnZOMXF3WitYeDFHQU9xSzF0blJqQ0JTeEFvbVpScHRqUjB3OFh5YUR4?=
 =?utf-8?B?Z2dKL1hZUy9qZ3BtQWNZdExvanFJcHBSNnBVT2VkSWVLRVpNV3E2emUrUUdR?=
 =?utf-8?B?eEE4VUEwRmJQTEJFNnpOczMvWHhXb0pZejU5QTdhWksrdDd5R1p5bkRDcmVN?=
 =?utf-8?B?cW9obHAyZ1J5bDNuaFFHNm1ST0dtZmhHdjUycklWT0NkODJFa28xZS9wZnhu?=
 =?utf-8?B?NjhEWDJIUXp6VnIrQi9NNEpBbUIvSEFkaVFvY281M0MxSXZKMlNEQXhoOXVR?=
 =?utf-8?B?MUpEZG9xczFPMmZVZnJlZnBYZUJPREdheGtEWThzSGJQaWJLZmc3MEFwRFdk?=
 =?utf-8?B?Mm5JQ25SZTA1dzMxUnZ0VE5JS1ZVVXpqUVBkYzdXd0JMUEc3KzdFL3lITWpv?=
 =?utf-8?B?Qmpaa2tEOThYL3dHNUd4SVZGTTNhK1RzampidDlzL1RJWUVYM1h5OE5sVVhJ?=
 =?utf-8?B?OWl0ZkpEdFp4amQ4R0xLUnlsLzNnQXJKVEhzdlNpK3liRXI5cno3bVVobld3?=
 =?utf-8?B?QUpINERzZ1IwWGVSbUZYMGx1Mk5qUHpwZGd1a3FXY0VFa001ck9kcXN5V0x6?=
 =?utf-8?B?RWNDbGxiTXRwMGxSaGxMbWc4K2VUT2FzRFpydnFiRm5Ka0pxSG03N1IyRmMr?=
 =?utf-8?B?SGk3Zm1XZml6L2ZKbW96QUF5NW5jNStPNUszU0ZTQTJRUTlrTmtaSzdSQlEy?=
 =?utf-8?B?cVJ5b1A5blRSNnBCVWFBZmhRK1luUS9jVVVTRjQxQUcvNUlaajJFVzhwckhy?=
 =?utf-8?B?eDhJZlFVM0x5RFV0aktVREN5TU13bThoZVNsNzFlTkZkeWFKSEI4UThINlls?=
 =?utf-8?B?MDZGcXVhNS94NG5xTlYxL1pRODltYTJZL3ptaE8xZldhL0RkRlBpMTZTSU9x?=
 =?utf-8?B?T3h1ZW5sZ0VTMmpHcnh5dnorZ2lnK0xTZGhhVWszNzZjTnRrODgvRFVKMzVY?=
 =?utf-8?B?V1JEOXh0TjNidnh6NWFpTVlFOUZ4eldqTXZjaE4wUXBxVmliQmZ0RHVRL0d0?=
 =?utf-8?B?YXhTNDdIUW4yWG8yZ1RnQXZKd29TdHc2bXJxbVJDK2xPZWh1YUVmZXRoVjFT?=
 =?utf-8?B?MlQrNjNic3B0WHh4cklNYk9TajljVUhrWHhhZGxFYU9BeHdORXU5V3FEQ3ZL?=
 =?utf-8?B?clgvQlhFRW0rWnV1MU1zU2JXNHdtMzZaL3pBajBDWkxXTDdDMFpmMXcxS1ox?=
 =?utf-8?B?WDhNa1NhYVpLWDVDbEZ1SUFyVlVVMER1bTg4dVdqVFlQVW1Vams4RURIVVRs?=
 =?utf-8?B?VUtLdG9RTnFlLzNvN0lNbGttelEvUHFlSTlqT2pLelh3NkFtTHI2UXhKTXdh?=
 =?utf-8?B?d0FBbk84LzkwUFFVSEFGN1dKTm9Dcnk0bzJSMDB3aEt3ejNkbkFGRmtvMldR?=
 =?utf-8?B?VFNUa1k1SlJiUEN6c2tmWktOVm5sOVlTSDlxSWJMUTlJdks5cExLMWtxZmho?=
 =?utf-8?B?cEVDZUpubUdlUHpCaGhBbjM1ZVl0bkQvQ0JqaGUyZUdSSHNidUNVWVdUR3Fp?=
 =?utf-8?B?VllKVmM1ZWFJL0Q4MXlic0h3LytkTXVmTFRWNHIwU1pWVW5KR2JXT0hhb3hU?=
 =?utf-8?B?N0JxM0RxT3NhWjFYZVQvbCtmZWtsNmxWbEQ2ek5vRGpDTkRNeHNZbm5jNWlO?=
 =?utf-8?B?UjVjNC94TXBGYjNxRllzNEhiZlVaRldwL2V5K0NxU2lIWnpGaitUNGxWUEdH?=
 =?utf-8?B?V01DdjdPZkxCWkEvT1dLdndHTGlCelhVTjVTbG9sNVNZV29OUlc4N1kvUmIw?=
 =?utf-8?B?Z255S3VmZU8wcnJOdUFUYndGK1o0OG82RmJ3T1ZmK203ekl1Z1BrUitsYXUx?=
 =?utf-8?B?aXZTRFlzVWpUUi9nOTFVMkoxUUppTWVuVDFaUmZCUHlVeDIyT1N6Y3pRNis1?=
 =?utf-8?B?RWQrd0JITW5scnNSSGhiUm04SnZNdlJEbzJKRnl0QjN4OS9kbCtrZStpbnFn?=
 =?utf-8?B?YU1DV1pGdjkxQmwwN040ajlsVlk4Y0o2bDJ5allRaVQzRk1raDlFWUtwbmJR?=
 =?utf-8?B?NGNrNVJoOFI0YVdFenJpV2VzT0phdzBTeVN0eXNtM3Nlb3ZBQW8ySDF2T2RM?=
 =?utf-8?Q?blfgJYNhOYvzXaao/8MPj5w3D?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2d0d5d55-adc6-4e11-3ffc-08db24aaa219
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 16:39:08.7223
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0k0N26NDwcgRIsRXf+orpSLinGYM9N2Wr/zqX96FBCbfgcUFBZbkoxVnCDOdkwnNF+m25cUWmzo3qvlmznTgRQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8228

On 12.03.2023 08:54, Huang Rui wrote:
> From: Chen Jiqian <Jiqian.Chen@amd.com>
> 
> Use new xc_physdev_gsi_from_irq to get the GSI number

Apart from again the "Why?", ...

> --- 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)",

... aren't you breaking existing use cases this way?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 16:45:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 16:45:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509752.786154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc7mK-0002Pn-P9; Tue, 14 Mar 2023 16:45:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509752.786154; Tue, 14 Mar 2023 16: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 1pc7mK-0002Pg-L1; Tue, 14 Mar 2023 16:45:36 +0000
Received: by outflank-mailman (input) for mailman id 509752;
 Tue, 14 Mar 2023 16: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=xZxk=7G=web.de=tachyon_gun@srs-se1.protection.inumbo.net>)
 id 1pc7mI-0002Pa-MB
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 16:45:35 +0000
Received: from mout.web.de (mout.web.de [212.227.17.12])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a2676293-c287-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 17:45:32 +0100 (CET)
Received: from [92.76.123.191] ([92.76.123.191]) by web-mail.web.de
 (3c-app-webde-bap40.server.lan [172.19.172.40]) (via HTTP); Tue, 14 Mar
 2023 17:45:31 +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: a2676293-c287-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
	t=1678812331; i=tachyon_gun@web.de;
	bh=hqSs9+vgGecSX06POa+8NSeACJGcM9cmtdjH81+/skI=;
	h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
	b=izhJK0+Fi8YCQ9iznH8VjjwSLiCtAYNfyflPlUEMMX51bCChkt2mPWp7d0JDIgDL5
	 J6+QBfxAuSphMvV+LwKJOfsK7/dCmBmsiFDQaWJR2C4u/qK/rt5+pT8PIhGLJyr9nO
	 FPzV4OeznlQFfyIvrb5jLz6LSHpVwCWqFOEPnFHcBBMWl/s5ubGeUYF5343ouNgTYo
	 uj6W8ZvpvAmNgRtMTrerfWWnN/Ks9gAig21eOXNQxOlZ59/dKBmibK9sVYb4CqmKFi
	 UHNBDtSC94FH2Ansc2WCk38uOkqDDrAgT1SCy438R86QoqICNdXXCx/gyKxGyqGdPB
	 evKtCNHmCV7pQ==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
MIME-Version: 1.0
Message-ID: <trinity-720cf1eb-48bc-4eba-9e14-e9eb570b1e7f-1678812331526@3c-app-webde-bap40>
From: Denis <tachyon_gun@web.de>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from Xen
 4.0.1
Content-Type: multipart/mixed;
 boundary=abmob-adb2cd80-116f-4618-b871-47724293d146
Date: Tue, 14 Mar 2023 17:45:31 +0100
Importance: normal
Sensitivity: Normal
In-Reply-To: <40da0146-21fa-d5a9-7ae1-4ed2cf4a5785@suse.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
 <40da0146-21fa-d5a9-7ae1-4ed2cf4a5785@suse.com>
X-UI-Message-Type: mail
X-Priority: 3
X-Provags-ID: V03:K1:nZoJyIFwFvlbsiWTfZV/1tyHY0tYYBvtHu1zNlQ0NxzL6hIM/U6AVAH9DryH+wP1/6h2Q
 RauUSDF0bjrQdspZV4Osx3mDgESeXyVxw9wKyHSNVLTGEkoGmpQdO9sh/xOY89g5gMi8XpwGJ9ZB
 Gy9OVHnEsf6c2yWBnx8XJFhkoky/IWdhTYkH5ri6ebpnSaikqWLGecPIVSRSoQ789ibGPk1GiYHp
 DXdmVKDKGVEbSCLbYvZNPt3n3ZpmxmbRo+1HgM44VH9FWbB/NTxQB7pzK4rqPGhfrOmdE5nk0QOm
 lg=
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:wJnNfoM4Y+g=;QwEEqq+27lzwX0js4t3zay1dACx
 jCGpuvv+CB7heskIY2jh/3tX8KIGNDlbd/EHKvOBNNzLNbWl+PagSMU5Defx+UtebDnYrMB4x
 EL8ejOeOGkWyzoe3xtAL3QaEBdhhp2qVXAiCcDZwk74dXp6FdjsPfNSjK/hsYzz13/LdtGkiM
 6mvbp2KW2QnGugiRCt2TftdzvrxDFycMxRCY7lZ+5JJPjSrn/c0g6CRxQtamXdzz+1jR2e/Kn
 P719rhIcPrWYUpQnvbYpiCqREWMCM+y6uC/P8nnXcOP8zFmzWylyYT8DS+Id0FsVK2Okr5aVT
 qd8tr0Xts1EK2KzNp414K4f2Bc9ns/vWvvonjwuwuC/75NoqSiQSrxKtz7cWpqC3n+BcB/QwR
 No6+XnPdYb3C4pfj//H/eF1k3x2SfyyJUoPfdxOmkdsCvuNwzcluN9kjIMykhpOpu5Aqny+HE
 uM0sxfieq+R9882/47Pk7tqbEni7vDXXaCaAGKDwH7QBHQbvVaXTIgPm5vNNH0cUIB3bv0yXy
 zpiWcY88DUtO8Ze4GaUdNGmanrGPnQFrtdL7wcjjNHh3sOVD3dEzL0GPcuwlyKLJLfSgjynJZ
 afRLB1xRmPdaUstWN559mP0xWsvc4gbvzZTcJ5hhVpqGcwIpxsSL6OddLamYm/tcBtuHLfFrj
 DkCMi9BT7WJIGkV268qu0kELvswMLWFKoRmzL/7e6XOOxaljdl4nug6IYj+NJ6qQbQBRMOI8b
 g9b7zZIrxuOGl/tkNZhVxONIzBsNkkPSUj5xhkoqFRWl9iFvL1akkh0BuC3NEYcXqDFXZOZVy
 ulqJa3E7JL9GtJgOAy7f1UQA==

--abmob-adb2cd80-116f-4618-b871-47724293d146
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 14.03.2023 16:37, Jan Beulich wrote:
> On 14.03.2023 15:53, Denis wrote:
> > On 14.03.2023 07:37; Jan Beulich wrote:
> >> On 14.03.2023 02:15, Denis wrote:
> >>> On 13.03.2023 10:36, Jan wrote
> >>>> On 10.03.2023 21:50, Denis wrote:
> >>>>> Should I test something else?
> >>>>
> >>>> ... there was no request for any further testing here, for the mome=
nt.
> >>>
> >>> ah...sorry, going by "Would be nice to have this confirmed forthe sy=
stem
> >>> in question, i.e. without Xen underneath Linux" I thought I could te=
st
> >>> something which might help shed some light on all of this.
> >>
> >> Well, yes, that Linux-without-Xen test would still be useful to have
> >> results from. I didn't account for this in my earlier reply because
> >> I had asked for it before already, and I did take "something else"
> >> for meaning anything that might have turned up as useful from the new
> >> data you had provided.
> >
> > What tests could I do or what info should I provide to help?
>
> Boot plain Linux (no Xen underneath) and collect the full set of kernel
> boot messages (some distros store this at /var/log/boot.msg); "full"
> meaning we want to be able to see all output regardless of log-level.

I'll attach some files from /var/log.


Denis

--abmob-adb2cd80-116f-4618-b871-47724293d146
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=devuan_var-log-debug.log

Mar 14 17:24:02 Gemini-Sector kernel: [    0.004391] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.004394] e820: remove [mem 0x000a0000-0x000fffff] usable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010417] MTRR default type: uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010419] MTRR fixed ranges enabled:
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010420]   00000-9FFFF write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010422]   A0000-BFFFF uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010423]   C0000-C7FFF write-protect
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010425]   C8000-FFFFF uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010426] MTRR variable ranges enabled:
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010428]   0 base 000000000000 mask FFFF80000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010430]   1 base 000080000000 mask FFFFC0000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010432]   2 base 0000C0000000 mask FFFFF0000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010433]   3 base 0000CFD00000 mask FFFFFFF00000 uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010434]   4 base 0000CFE00000 mask FFFFFFE00000 uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010436]   5 base 000100000000 mask FFFF00000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010437]   6 base 000200000000 mask FFFE00000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010438]   7 base 000400000000 mask FFFFE0000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010440] TOM2: 0000000430000000 aka 17152M
Mar 14 17:24:02 Gemini-Sector kernel: [    0.011752] e820: update [mem 0xcfd00000-0xffffffff] usable ==> reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033020] ACPI: Local APIC address 0xfee00000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033685] On node 0 totalpages: 4193418
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033687]   DMA zone: 64 pages used for memmap
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033688]   DMA zone: 21 pages reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033689]   DMA zone: 3994 pages, LIFO batch:0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033690]   DMA32 zone: 13236 pages used for memmap
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033691]   DMA32 zone: 847088 pages, LIFO batch:63
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033692]   Normal zone: 52224 pages used for memmap
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033693]   Normal zone: 3342336 pages, LIFO batch:63
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046890] ACPI: Local APIC address 0xfee00000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046918] ACPI: IRQ0 used by override.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046919] ACPI: IRQ9 used by override.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052718] pcpu-alloc: s221184 r8192 d28672 u262144 alloc=1*2097152
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052720] pcpu-alloc: [0] 0 1 2 3 4 5 6 7
Mar 14 17:24:02 Gemini-Sector kernel: [    0.119284] spurious 8259A interrupt: IRQ7.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: io port [9000, ffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] Fam 10h mmconf [mem 0xe0000000-0xe00fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: mmio [a0000, bffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: mmio [d0000000, dfffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: mmio [f0000000, ffffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: mmio [e0000000, e06fffff] ==> [e0100000, e06fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: [bus 00-06] on node 0 link 0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [io  0x0000-0xffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0x000a0000-0x000bffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0xd0000000-0xdfffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0xe0700000-0xffffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0xe0100000-0xe06fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0x430000000-0xfcffffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.613815] PCI: pci_cache_line_size set to 64 bytes
Mar 14 17:24:02 Gemini-Sector kernel: [    0.613873] e820: reserve RAM buffer [mem 0x0009b800-0x0009ffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.613874] e820: reserve RAM buffer [mem 0xcfcf0000-0xcfffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632548] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632864] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633013] pnp 00:02: Plug and Play ACPI device, IDs PNP0b00 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633369] pnp 00:03: Plug and Play ACPI device, IDs PNP0303 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633437] system 00:04: Plug and Play ACPI device, IDs PNP0c02 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633637] system 00:05: Plug and Play ACPI device, IDs PNP0c01 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515113]   with arguments:
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515114]     /init
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515115]   with environment:
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515115]     HOME=/
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515116]     TERM=linux
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515117]     BOOT_IMAGE=/boot/vmlinuz-5.10.0-21-amd64
Mar 14 17:24:02 Gemini-Sector kernel: [    1.609682] libata version 3.00 loaded.
Mar 14 17:24:02 Gemini-Sector kernel: [    1.610233] QUIRK: Enable AMD PLL fix
Mar 14 17:24:02 Gemini-Sector kernel: [    1.617448] ahci 0000:00:11.0: version 3.0
Mar 14 17:24:02 Gemini-Sector kernel: [    2.151645] sd 4:0:0:0: [sda] Mode Sense: 00 3a 00 00
Mar 14 17:24:02 Gemini-Sector kernel: [    3.487865] PM: Image not found (code -22)
--abmob-adb2cd80-116f-4618-b871-47724293d146
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=devuan_var-log-dmesg.log

[    0.000000] Linux version 5.10.0-21-amd64 (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Debian 5.10.162-1 (2023-01-21)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.10.0-21-amd64 root=UUID=36792c57-a8bc-4264-93a9-6b9485700770 ro quiet
[    0.000000] x86/fpu: x87 FPU will use FXSAVE
[    0.000000] BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009b7ff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009f800-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000cfceffff] usable
[    0.000000] BIOS-e820: [mem 0x00000000cfcf0000-0x00000000cfcf0fff] ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000cfcf1000-0x00000000cfcfffff] ACPI data
[    0.000000] BIOS-e820: [mem 0x00000000cfd00000-0x00000000cfdfffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000ffffffff] reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000042fffffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] SMBIOS 2.4 present.
[    0.000000] DMI: Gigabyte Technology Co., Ltd. GA-890FXA-UD5/GA-890FXA-UD5, BIOS F6 11/24/2010
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] tsc: Detected 2611.619 MHz processor
[    0.004391] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.004394] e820: remove [mem 0x000a0000-0x000fffff] usable
[    0.010357] AGP: No AGP bridge found
[    0.010414] last_pfn = 0x430000 max_arch_pfn = 0x400000000
[    0.010417] MTRR default type: uncachable
[    0.010419] MTRR fixed ranges enabled:
[    0.010420]   00000-9FFFF write-back
[    0.010422]   A0000-BFFFF uncachable
[    0.010423]   C0000-C7FFF write-protect
[    0.010425]   C8000-FFFFF uncachable
[    0.010426] MTRR variable ranges enabled:
[    0.010428]   0 base 000000000000 mask FFFF80000000 write-back
[    0.010430]   1 base 000080000000 mask FFFFC0000000 write-back
[    0.010432]   2 base 0000C0000000 mask FFFFF0000000 write-back
[    0.010433]   3 base 0000CFD00000 mask FFFFFFF00000 uncachable
[    0.010434]   4 base 0000CFE00000 mask FFFFFFE00000 uncachable
[    0.010436]   5 base 000100000000 mask FFFF00000000 write-back
[    0.010437]   6 base 000200000000 mask FFFE00000000 write-back
[    0.010438]   7 base 000400000000 mask FFFFE0000000 write-back
[    0.010440] TOM2: 0000000430000000 aka 17152M
[    0.011670] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT
[    0.011752] e820: update [mem 0xcfd00000-0xffffffff] usable ==> reserved
[    0.011760] last_pfn = 0xcfcf0 max_arch_pfn = 0x400000000
[    0.013968] found SMP MP-table at [mem 0x000f46f0-0x000f46ff]
[    0.032578] Using GB pages for direct mapping
[    0.032935] RAMDISK: [mem 0x34525000-0x36289fff]
[    0.032939] ACPI: Early table checksum verification disabled
[    0.032943] ACPI: RSDP 0x00000000000F6100 000014 (v00 GBT   )
[    0.032948] ACPI: RSDT 0x00000000CFCF1000 000044 (v01 GBT    GBTUACPI 42302E31 GBTU 01010101)
[    0.032955] ACPI: FACP 0x00000000CFCF1080 000074 (v01 GBT    GBTUACPI 42302E31 GBTU 01010101)
[    0.032961] ACPI: DSDT 0x00000000CFCF1100 007BE3 (v01 GBT    GBTUACPI 00001000 MSFT 03000000)
[    0.032965] ACPI: FACS 0x00000000CFCF0000 000040
[    0.032968] ACPI: SSDT 0x00000000CFCF8DC0 00088C (v01 PTLTD  POWERNOW 00000001  LTP 00000001)
[    0.032972] ACPI: HPET 0x00000000CFCF9680 000038 (v01 GBT    GBTUACPI 42302E31 GBTU 00000098)
[    0.032977] ACPI: MCFG 0x00000000CFCF96C0 00003C (v01 GBT    GBTUACPI 42302E31 GBTU 01010101)
[    0.032980] ACPI: MATS 0x00000000CFCF9700 000034 (v01 GBT             00000000      00000000)
[    0.032984] ACPI: TAMG 0x00000000CFCF9770 000202 (v01 GBT    GBT   B0 5455312E BG?? 53450101)
[    0.032989] ACPI: APIC 0x00000000CFCF8D00 0000BC (v01 GBT    GBTUACPI 42302E31 GBTU 01010101)
[    0.032993] ACPI: IVRS 0x00000000CFCF99F0 0000C0 (v01 AMD    RD890S   00202031 AMD  00000000)
[    0.032997] ACPI: Reserving FACP table memory at [mem 0xcfcf1080-0xcfcf10f3]
[    0.032998] ACPI: Reserving DSDT table memory at [mem 0xcfcf1100-0xcfcf8ce2]
[    0.032999] ACPI: Reserving FACS table memory at [mem 0xcfcf0000-0xcfcf003f]
[    0.033001] ACPI: Reserving SSDT table memory at [mem 0xcfcf8dc0-0xcfcf964b]
[    0.033002] ACPI: Reserving HPET table memory at [mem 0xcfcf9680-0xcfcf96b7]
[    0.033003] ACPI: Reserving MCFG table memory at [mem 0xcfcf96c0-0xcfcf96fb]
[    0.033004] ACPI: Reserving MATS table memory at [mem 0xcfcf9700-0xcfcf9733]
[    0.033005] ACPI: Reserving TAMG table memory at [mem 0xcfcf9770-0xcfcf9971]
[    0.033006] ACPI: Reserving APIC table memory at [mem 0xcfcf8d00-0xcfcf8dbb]
[    0.033007] ACPI: Reserving IVRS table memory at [mem 0xcfcf99f0-0xcfcf9aaf]
[    0.033020] ACPI: Local APIC address 0xfee00000
[    0.033068] Scanning NUMA topology in Northbridge 24
[    0.033078] No NUMA configuration found
[    0.033080] Faking a node at [mem 0x0000000000000000-0x000000042fffffff]
[    0.033091] NODE_DATA(0) allocated [mem 0x42ffd6000-0x42fffffff]
[    0.033663] Zone ranges:
[    0.033664]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.033666]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
[    0.033668]   Normal   [mem 0x0000000100000000-0x000000042fffffff]
[    0.033670]   Device   empty
[    0.033671] Movable zone start for each node
[    0.033676] Early memory node ranges
[    0.033677]   node   0: [mem 0x0000000000001000-0x000000000009afff]
[    0.033679]   node   0: [mem 0x0000000000100000-0x00000000cfceffff]
[    0.033680]   node   0: [mem 0x0000000100000000-0x000000042fffffff]
[    0.033683] Initmem setup node 0 [mem 0x0000000000001000-0x000000042fffffff]
[    0.033685] On node 0 totalpages: 4193418
[    0.033687]   DMA zone: 64 pages used for memmap
[    0.033688]   DMA zone: 21 pages reserved
[    0.033689]   DMA zone: 3994 pages, LIFO batch:0
[    0.033690]   DMA32 zone: 13236 pages used for memmap
[    0.033691]   DMA32 zone: 847088 pages, LIFO batch:63
[    0.033692]   Normal zone: 52224 pages used for memmap
[    0.033693]   Normal zone: 3342336 pages, LIFO batch:63
[    0.033697] On node 0, zone DMA: 1 pages in unavailable ranges
[    0.033749] On node 0, zone DMA: 101 pages in unavailable ranges
[    0.046702] On node 0, zone Normal: 784 pages in unavailable ranges
[    0.046887] ACPI: PM-Timer IO Port: 0x808
[    0.046890] ACPI: Local APIC address 0xfee00000
[    0.046896] ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
[    0.046897] ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
[    0.046898] ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
[    0.046899] ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x1])
[    0.046901] ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x1])
[    0.046902] ACPI: LAPIC_NMI (acpi_id[0x05] dfl dfl lint[0x1])
[    0.046903] ACPI: LAPIC_NMI (acpi_id[0x06] dfl dfl lint[0x1])
[    0.046904] ACPI: LAPIC_NMI (acpi_id[0x07] dfl dfl lint[0x1])
[    0.046912] IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23
[    0.046914] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.046916] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
[    0.046918] ACPI: IRQ0 used by override.
[    0.046919] ACPI: IRQ9 used by override.
[    0.046921] Using ACPI (MADT) for SMP configuration information
[    0.046923] ACPI: HPET id: 0x10b9a201 base: 0xfed00000
[    0.046927] smpboot: Allowing 8 CPUs, 4 hotplug CPUs
[    0.046943] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.046945] PM: hibernation: Registered nosave memory: [mem 0x0009b000-0x0009ffff]
[    0.046946] PM: hibernation: Registered nosave memory: [mem 0x000a0000-0x000effff]
[    0.046947] PM: hibernation: Registered nosave memory: [mem 0x000f0000-0x000fffff]
[    0.046949] PM: hibernation: Registered nosave memory: [mem 0xcfcf0000-0xcfcf0fff]
[    0.046950] PM: hibernation: Registered nosave memory: [mem 0xcfcf1000-0xcfcfffff]
[    0.046951] PM: hibernation: Registered nosave memory: [mem 0xcfd00000-0xcfdfffff]
[    0.046952] PM: hibernation: Registered nosave memory: [mem 0xcfe00000-0xdfffffff]
[    0.046953] PM: hibernation: Registered nosave memory: [mem 0xe0000000-0xefffffff]
[    0.046954] PM: hibernation: Registered nosave memory: [mem 0xf0000000-0xfebfffff]
[    0.046955] PM: hibernation: Registered nosave memory: [mem 0xfec00000-0xffffffff]
[    0.046957] [mem 0xcfe00000-0xdfffffff] available for PCI devices
[    0.046958] Booting paravirtualized kernel on bare hardware
[    0.046961] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
[    0.052012] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:8 nr_cpu_ids:8 nr_node_ids:1
[    0.052712] percpu: Embedded 63 pages/cpu s221184 r8192 d28672 u262144
[    0.052718] pcpu-alloc: s221184 r8192 d28672 u262144 alloc=1*2097152
[    0.052720] pcpu-alloc: [0] 0 1 2 3 4 5 6 7
[    0.052756] Built 1 zonelists, mobility grouping on.  Total pages: 4127873
[    0.052757] Policy zone: Normal
[    0.052758] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.10.0-21-amd64 root=UUID=36792c57-a8bc-4264-93a9-6b9485700770 ro quiet
[    0.055863] Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes, linear)
[    0.057394] Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[    0.057432] mem auto-init: stack:off, heap alloc:on, heap free:off
[    0.069788] AGP: Checking aperture...
[    0.075746] AGP: No AGP bridge found
[    0.075750] AGP: Node 0: aperture [bus addr 0x7fe000000-0x7ffffffff] (32MB)
[    0.075751] Aperture beyond 4GB. Ignoring.
[    0.075752] AGP: Your BIOS doesn't leave an aperture memory hole
[    0.075752] AGP: Please enable the IOMMU option in the BIOS setup
[    0.075753] AGP: This costs you 64MB of RAM
[    0.075757] AGP: Mapping aperture over RAM [mem 0xc4000000-0xc7ffffff] (65536KB)
[    0.075759] PM: hibernation: Registered nosave memory: [mem 0xc4000000-0xc7ffffff]
[    0.096999] Memory: 3373884K/16773672K available (12295K kernel code, 2537K rwdata, 7560K rodata, 2660K init, 5468K bss, 487536K reserved, 0K cma-reserved)
[    0.097354] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
[    0.097375] ftrace: allocating 36545 entries in 143 pages
[    0.112697] ftrace: allocated 143 pages with 5 groups
[    0.112882] rcu: Hierarchical RCU implementation.
[    0.112884] rcu:     RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=8.
[    0.112885]  Rude variant of Tasks RCU enabled.
[    0.112886]  Tracing variant of Tasks RCU enabled.
[    0.112887] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.112888] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=8
[    0.118935] NR_IRQS: 524544, nr_irqs: 488, preallocated irqs: 16
[    0.119284] spurious 8259A interrupt: IRQ7.
[    0.121215] Console: colour VGA+ 80x25
[    0.121232] printk: console [tty0] enabled
[    0.121256] ACPI: Core revision 20200925
[    0.121377] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 133484873504 ns
[    0.121392] APIC: Switch to symmetric I/O mode setup
[    0.121463] AMD-Vi: [Firmware Bug]: : No southbridge IOAPIC found
[    0.121495] AMD-Vi: Disabling interrupt remapping
[    0.121937] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.141395] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x25a51c371bd, max_idle_ns: 440795253524 ns
[    0.141398] Calibrating delay loop (skipped), value calculated using timer frequency.. 5223.23 BogoMIPS (lpj=10446476)
[    0.141402] pid_max: default: 32768 minimum: 301
[    0.141482] LSM: Security Framework initializing
[    0.141502] Yama: disabled by default; enable with sysctl kernel.yama.*
[    0.141546] AppArmor: AppArmor initialized
[    0.141548] TOMOYO Linux initialized
[    0.141634] Mount-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.141687] Mountpoint-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.142043] LVT offset 0 assigned for vector 0xf9
[    0.142048] process: using AMD E400 aware idle routine
[    0.142050] Last level iTLB entries: 4KB 512, 2MB 16, 4MB 8
[    0.142051] Last level dTLB entries: 4KB 512, 2MB 128, 4MB 64, 1GB 0
[    0.142054] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
[    0.142056] Spectre V2 : Mitigation: Retpolines
[    0.142057] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
[    0.142058] Spectre V2 : Spectre v2 / SpectreRSB : Filling RSB on VMEXIT
[    0.150749] Freeing SMP alternatives memory: 32K
[    0.153405] process: System has AMD C1E enabled
[    0.265118] process: Switch to broadcast mode on CPU0
[    0.265124] smpboot: CPU0: AMD Phenom(tm) II X4 910e Processor (family: 0x10, model: 0x4, stepping: 0x3)
[    0.265328] Performance Events: AMD PMU driver.
[    0.265333] ... version:                0
[    0.265333] ... bit width:              48
[    0.265334] ... generic registers:      4
[    0.265335] ... value mask:             0000ffffffffffff
[    0.265336] ... max period:             00007fffffffffff
[    0.265337] ... fixed-purpose events:   0
[    0.265338] ... event mask:             000000000000000f
[    0.265396] rcu: Hierarchical SRCU implementation.
[    0.265396] NMI watchdog: Enabled. Permanently consumes one hw-PMU counter.
[    0.265396] smp: Bringing up secondary CPUs ...
[    0.265396] x86: Booting SMP configuration:
[    0.265396] .... node  #0, CPUs:      #1
[    0.006140] __common_interrupt: 1.55 No irq handler for vector
[    0.006140] process: Switch to broadcast mode on CPU1
[    0.265396]  #2
[    0.006140] __common_interrupt: 2.55 No irq handler for vector
[    0.006140] process: Switch to broadcast mode on CPU2
[    0.267876]  #3
[    0.006140] __common_interrupt: 3.55 No irq handler for vector
[    0.006140] process: Switch to broadcast mode on CPU3
[    0.269466] smp: Brought up 1 node, 4 CPUs
[    0.269466] smpboot: Max logical packages: 2
[    0.269466] smpboot: Total of 4 processors activated (20892.95 BogoMIPS)
[    0.305057] node 0 deferred pages initialised in 28ms
[    0.305964] devtmpfs: initialized
[    0.305964] x86/mm: Memory block size: 128MB
[    0.307219] PM: Registering ACPI NVS region [mem 0xcfcf0000-0xcfcf0fff] (4096 bytes)
[    0.307219] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.307219] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
[    0.307219] pinctrl core: initialized pinctrl subsystem
[    0.307219] NET: Registered protocol family 16
[    0.307219] DMA: preallocated 2048 KiB GFP_KERNEL pool for atomic allocations
[    0.309513] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.309923] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.309936] audit: initializing netlink subsys (disabled)
[    0.309955] audit: type=2000 audit(1678811032.188:1): state=initialized audit_enabled=0 res=1
[    0.309955] thermal_sys: Registered thermal governor 'fair_share'
[    0.309955] thermal_sys: Registered thermal governor 'bang_bang'
[    0.309955] thermal_sys: Registered thermal governor 'step_wise'
[    0.309955] thermal_sys: Registered thermal governor 'user_space'
[    0.309955] thermal_sys: Registered thermal governor 'power_allocator'
[    0.309955] cpuidle: using governor ladder
[    0.309955] cpuidle: using governor menu
[    0.309955] node 0 link 0: io port [9000, ffff]
[    0.309955] TOM: 00000000d0000000 aka 3328M
[    0.309955] Fam 10h mmconf [mem 0xe0000000-0xe00fffff]
[    0.309955] node 0 link 0: mmio [a0000, bffff]
[    0.309955] node 0 link 0: mmio [d0000000, dfffffff]
[    0.309955] node 0 link 0: mmio [f0000000, ffffffff]
[    0.309955] node 0 link 0: mmio [e0000000, e06fffff] ==> [e0100000, e06fffff]
[    0.309955] TOM2: 0000000430000000 aka 17152M
[    0.309955] bus: [bus 00-06] on node 0 link 0
[    0.309955] bus: 00 [io  0x0000-0xffff]
[    0.309955] bus: 00 [mem 0x000a0000-0x000bffff]
[    0.309955] bus: 00 [mem 0xd0000000-0xdfffffff]
[    0.309955] bus: 00 [mem 0xe0700000-0xffffffff]
[    0.309955] bus: 00 [mem 0xe0100000-0xe06fffff]
[    0.309955] bus: 00 [mem 0x430000000-0xfcffffffff]
[    0.309955] ACPI: bus type PCI registered
[    0.309955] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.309955] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
[    0.309955] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
[    0.309955] PCI: Using configuration type 1 for base access
[    0.309955] mtrr: your CPUs had inconsistent variable MTRR settings
[    0.309955] mtrr: probably your BIOS does not setup all CPUs.
[    0.309955] mtrr: corrected configuration.
[    0.310909] Kprobes globally optimized
[    0.310920] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.310920] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.554293] ACPI: Added _OSI(Module Device)
[    0.554293] ACPI: Added _OSI(Processor Device)
[    0.554293] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.554293] ACPI: Added _OSI(Processor Aggregator Device)
[    0.554293] ACPI: Added _OSI(Linux-Dell-Video)
[    0.554293] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    0.554293] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
[    0.561249] ACPI: 2 ACPI AML tables successfully acquired and loaded
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
[    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
[    0.565721] ACPI: Interpreter enabled
[    0.565742] ACPI: (supports S0 S3 S4 S5)
[    0.565744] ACPI: Using IOAPIC for interrupt routing
[    0.565779] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.565930] ACPI: Enabled 9 GPEs in block 00 to 1F
[    0.571332] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.571338] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
[    0.571605] PCI host bridge to bus 0000:00
[    0.571608] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.571609] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
[    0.571611] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
[    0.571612] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000dffff window]
[    0.571614] pci_bus 0000:00: root bus resource [mem 0xcff00000-0xfebfffff window]
[    0.571615] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.571628] pci 0000:00:00.0: [1002:5a11] type 00 class 0x060000
[    0.571637] pci 0000:00:00.0: [Firmware Bug]: reg 0x1c: invalid BAR (can't size)
[    0.571748] pci 0000:00:00.2: [1002:5a23] type 00 class 0x080600
[    0.571857] pci 0000:00:02.0: [1002:5a16] type 01 class 0x060400
[    0.571873] pci 0000:00:02.0: enabling Extended Tags
[    0.571897] pci 0000:00:02.0: PME# supported from D0 D3hot D3cold
[    0.572009] pci 0000:00:05.0: [1002:5a19] type 01 class 0x060400
[    0.572024] pci 0000:00:05.0: enabling Extended Tags
[    0.572047] pci 0000:00:05.0: PME# supported from D0 D3hot D3cold
[    0.572158] pci 0000:00:06.0: [1002:5a1a] type 01 class 0x060400
[    0.572173] pci 0000:00:06.0: enabling Extended Tags
[    0.572195] pci 0000:00:06.0: PME# supported from D0 D3hot D3cold
[    0.572303] pci 0000:00:07.0: [1002:5a1b] type 01 class 0x060400
[    0.572318] pci 0000:00:07.0: enabling Extended Tags
[    0.572340] pci 0000:00:07.0: PME# supported from D0 D3hot D3cold
[    0.572452] pci 0000:00:0d.0: [1002:5a1e] type 01 class 0x060400
[    0.572467] pci 0000:00:0d.0: enabling Extended Tags
[    0.572488] pci 0000:00:0d.0: PME# supported from D0 D3hot D3cold
[    0.572611] pci 0000:00:11.0: [1002:4391] type 00 class 0x010601
[    0.572623] pci 0000:00:11.0: reg 0x10: [io  0xff00-0xff07]
[    0.572630] pci 0000:00:11.0: reg 0x14: [io  0xfe00-0xfe03]
[    0.572637] pci 0000:00:11.0: reg 0x18: [io  0xfd00-0xfd07]
[    0.572643] pci 0000:00:11.0: reg 0x1c: [io  0xfc00-0xfc03]
[    0.572650] pci 0000:00:11.0: reg 0x20: [io  0xfb00-0xfb0f]
[    0.572657] pci 0000:00:11.0: reg 0x24: [mem 0xfdfff000-0xfdfff3ff]
[    0.572783] pci 0000:00:12.0: [1002:4397] type 00 class 0x0c0310
[    0.572795] pci 0000:00:12.0: reg 0x10: [mem 0xfdffe000-0xfdffefff]
[    0.572938] pci 0000:00:12.2: [1002:4396] type 00 class 0x0c0320
[    0.572950] pci 0000:00:12.2: reg 0x10: [mem 0xfdffd000-0xfdffd0ff]
[    0.573008] pci 0000:00:12.2: supports D1 D2
[    0.573009] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
[    0.573112] pci 0000:00:13.0: [1002:4397] type 00 class 0x0c0310
[    0.573124] pci 0000:00:13.0: reg 0x10: [mem 0xfdffc000-0xfdffcfff]
[    0.573262] pci 0000:00:13.2: [1002:4396] type 00 class 0x0c0320
[    0.573274] pci 0000:00:13.2: reg 0x10: [mem 0xfdffb000-0xfdffb0ff]
[    0.573332] pci 0000:00:13.2: supports D1 D2
[    0.573333] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
[    0.573452] pci 0000:00:14.0: [1002:4385] type 00 class 0x0c0500
[    0.573591] pci 0000:00:14.3: [1002:439d] type 00 class 0x060100
[    0.573732] pci 0000:00:14.4: [1002:4384] type 01 class 0x060401
[    0.573864] pci 0000:00:14.5: [1002:4399] type 00 class 0x0c0310
[    0.573876] pci 0000:00:14.5: reg 0x10: [mem 0xfdffa000-0xfdffafff]
[    0.574012] pci 0000:00:16.0: [1002:4397] type 00 class 0x0c0310
[    0.574024] pci 0000:00:16.0: reg 0x10: [mem 0xfdff9000-0xfdff9fff]
[    0.574162] pci 0000:00:16.2: [1002:4396] type 00 class 0x0c0320
[    0.574174] pci 0000:00:16.2: reg 0x10: [mem 0xfdff8000-0xfdff80ff]
[    0.574232] pci 0000:00:16.2: supports D1 D2
[    0.574233] pci 0000:00:16.2: PME# supported from D0 D1 D2 D3hot
[    0.574334] pci 0000:00:18.0: [1022:1200] type 00 class 0x060000
[    0.574415] pci 0000:00:18.1: [1022:1201] type 00 class 0x060000
[    0.574493] pci 0000:00:18.2: [1022:1202] type 00 class 0x060000
[    0.574570] pci 0000:00:18.3: [1022:1203] type 00 class 0x060000
[    0.574650] pci 0000:00:18.4: [1022:1204] type 00 class 0x060000
[    0.574780] pci 0000:01:00.0: [1002:68f9] type 00 class 0x030000
[    0.574793] pci 0000:01:00.0: reg 0x10: [mem 0xd0000000-0xdfffffff 64bit pref]
[    0.574801] pci 0000:01:00.0: reg 0x18: [mem 0xfddc0000-0xfdddffff 64bit]
[    0.574807] pci 0000:01:00.0: reg 0x20: [io  0xee00-0xeeff]
[    0.574818] pci 0000:01:00.0: reg 0x30: [mem 0x00000000-0x0001ffff pref]
[    0.574822] pci 0000:01:00.0: enabling Extended Tags
[    0.574858] pci 0000:01:00.0: supports D1 D2
[    0.574941] pci 0000:01:00.1: [1002:aa68] type 00 class 0x040300
[    0.574953] pci 0000:01:00.1: reg 0x10: [mem 0xfddfc000-0xfddfffff 64bit]
[    0.574980] pci 0000:01:00.1: enabling Extended Tags
[    0.575015] pci 0000:01:00.1: supports D1 D2
[    0.585431] pci 0000:00:02.0: PCI bridge to [bus 01]
[    0.585435] pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
[    0.585437] pci 0000:00:02.0:   bridge window [mem 0xfdd00000-0xfddfffff]
[    0.585440] pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
[    0.585485] pci 0000:00:05.0: PCI bridge to [bus 02]
[    0.585488] pci 0000:00:05.0:   bridge window [io  0xd000-0xdfff]
[    0.585490] pci 0000:00:05.0:   bridge window [mem 0xfdc00000-0xfdcfffff]
[    0.585492] pci 0000:00:05.0:   bridge window [mem 0xfdb00000-0xfdbfffff 64bit pref]
[    0.585517] pci 0000:00:06.0: PCI bridge to [bus 03]
[    0.585520] pci 0000:00:06.0:   bridge window [io  0xc000-0xcfff]
[    0.585521] pci 0000:00:06.0:   bridge window [mem 0xfda00000-0xfdafffff]
[    0.585524] pci 0000:00:06.0:   bridge window [mem 0xfd900000-0xfd9fffff 64bit pref]
[    0.585570] pci 0000:04:00.0: [10ec:8168] type 00 class 0x020000
[    0.585585] pci 0000:04:00.0: reg 0x10: [io  0xbe00-0xbeff]
[    0.585604] pci 0000:04:00.0: reg 0x18: [mem 0xfd5ff000-0xfd5fffff 64bit pref]
[    0.585615] pci 0000:04:00.0: reg 0x20: [mem 0xfd5f8000-0xfd5fbfff 64bit pref]
[    0.585624] pci 0000:04:00.0: reg 0x30: [mem 0x00000000-0x0001ffff pref]
[    0.585694] pci 0000:04:00.0: supports D1 D2
[    0.585696] pci 0000:04:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.597434] pci 0000:00:07.0: PCI bridge to [bus 04]
[    0.597438] pci 0000:00:07.0:   bridge window [io  0xb000-0xbfff]
[    0.597440] pci 0000:00:07.0:   bridge window [mem 0xfd600000-0xfd6fffff]
[    0.597443] pci 0000:00:07.0:   bridge window [mem 0xfd500000-0xfd5fffff 64bit pref]
[    0.597494] pci 0000:05:00.0: [8086:150e] type 00 class 0x020000
[    0.597506] pci 0000:05:00.0: reg 0x10: [mem 0xfd280000-0xfd2fffff]
[    0.597523] pci 0000:05:00.0: reg 0x1c: [mem 0xfd4fc000-0xfd4fffff]
[    0.597597] pci 0000:05:00.0: PME# supported from D0 D3hot D3cold
[    0.597683] pci 0000:05:00.1: [8086:150e] type 00 class 0x020000
[    0.597695] pci 0000:05:00.1: reg 0x10: [mem 0xfd380000-0xfd3fffff]
[    0.597712] pci 0000:05:00.1: reg 0x1c: [mem 0xfd4f8000-0xfd4fbfff]
[    0.597778] pci 0000:05:00.1: PME# supported from D0 D3hot D3cold
[    0.597845] pci 0000:05:00.2: [8086:150e] type 00 class 0x020000
[    0.597856] pci 0000:05:00.2: reg 0x10: [mem 0xfd400000-0xfd47ffff]
[    0.597873] pci 0000:05:00.2: reg 0x1c: [mem 0xfd4f4000-0xfd4f7fff]
[    0.597938] pci 0000:05:00.2: PME# supported from D0 D3hot D3cold
[    0.598007] pci 0000:05:00.3: [8086:150e] type 00 class 0x020000
[    0.598019] pci 0000:05:00.3: reg 0x10: [mem 0xfd300000-0xfd37ffff]
[    0.598036] pci 0000:05:00.3: reg 0x1c: [mem 0xfd4f0000-0xfd4f3fff]
[    0.598101] pci 0000:05:00.3: PME# supported from D0 D3hot D3cold
[    0.609431] pci 0000:00:0d.0: PCI bridge to [bus 05]
[    0.609435] pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
[    0.609437] pci 0000:00:0d.0:   bridge window [mem 0xfd200000-0xfd4fffff]
[    0.609439] pci 0000:00:0d.0:   bridge window [mem 0xfde00000-0xfdefffff 64bit pref]
[    0.609450] pci_bus 0000:06: extended config space not accessible
[    0.609488] pci 0000:06:06.0: [1102:0004] type 00 class 0x040100
[    0.609505] pci 0000:06:06.0: reg 0x10: [io  0x9f00-0x9f3f]
[    0.609584] pci 0000:06:06.0: supports D1 D2
[    0.609645] pci 0000:06:06.1: [1102:7003] type 00 class 0x098000
[    0.609661] pci 0000:06:06.1: reg 0x10: [io  0x9e00-0x9e07]
[    0.609736] pci 0000:06:06.1: supports D1 D2
[    0.609779] pci 0000:06:06.2: [1102:4001] type 00 class 0x0c0010
[    0.609797] pci 0000:06:06.2: reg 0x10: [mem 0xfd8ff000-0xfd8ff7ff]
[    0.609807] pci 0000:06:06.2: reg 0x14: [mem 0xfd8f8000-0xfd8fbfff]
[    0.609882] pci 0000:06:06.2: supports D1 D2
[    0.609883] pci 0000:06:06.2: PME# supported from D0 D1 D2 D3hot
[    0.609958] pci 0000:00:14.4: PCI bridge to [bus 06] (subtractive decode)
[    0.609961] pci 0000:00:14.4:   bridge window [io  0x9000-0x9fff]
[    0.609964] pci 0000:00:14.4:   bridge window [mem 0xfd800000-0xfd8fffff]
[    0.609967] pci 0000:00:14.4:   bridge window [mem 0xfd700000-0xfd7fffff pref]
[    0.609969] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7 window] (subtractive decode)
[    0.609970] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff window] (subtractive decode)
[    0.609971] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bffff window] (subtractive decode)
[    0.609973] pci 0000:00:14.4:   bridge window [mem 0x000c0000-0x000dffff window] (subtractive decode)
[    0.609974] pci 0000:00:14.4:   bridge window [mem 0xcff00000-0xfebfffff window] (subtractive decode)
[    0.610238] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 11) *0
[    0.610288] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 11) *0
[    0.610335] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 10 11) *0
[    0.610380] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 10 11) *0
[    0.610425] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11) *0
[    0.610470] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11) *0
[    0.610515] ACPI: PCI Interrupt Link [LNK0] (IRQs 3 4 5 6 7 10 11) *0
[    0.610560] ACPI: PCI Interrupt Link [LNK1] (IRQs 3 4 5 6 7 10 11) *0
[    0.611146] iommu: Default domain type: Translated
[    0.611174] pci 0000:01:00.0: vgaarb: setting as boot VGA device
[    0.611174] pci 0000:01:00.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
[    0.611174] pci 0000:01:00.0: vgaarb: bridge control possible
[    0.611174] vgaarb: loaded
[    0.611174] EDAC MC: Ver: 3.0.0
[    0.611174] NetLabel: Initializing
[    0.611174] NetLabel:  domain hash size = 128
[    0.611174] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    0.611174] NetLabel:  unlabeled traffic allowed by default
[    0.611174] PCI: Using ACPI for IRQ routing
[    0.613815] PCI: pci_cache_line_size set to 64 bytes
[    0.613873] e820: reserve RAM buffer [mem 0x0009b800-0x0009ffff]
[    0.613874] e820: reserve RAM buffer [mem 0xcfcf0000-0xcfffffff]
[    0.613898] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    0.613902] hpet0: 3 comparators, 32-bit 14.318180 MHz counter
[    0.617401] clocksource: Switched to clocksource tsc-early
[    0.632217] VFS: Disk quotas dquot_6.6.0
[    0.632240] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.632400] AppArmor: AppArmor Filesystem Enabled
[    0.632419] pnp: PnP ACPI init
[    0.632538] system 00:00: [io  0x04d0-0x04d1] has been reserved
[    0.632540] system 00:00: [io  0x0220-0x0225] has been reserved
[    0.632542] system 00:00: [io  0x0290-0x0294] has been reserved
[    0.632548] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.632794] pnp 00:01: disabling [mem 0x00000000-0x00000fff window] because it overlaps 0000:01:00.0 BAR 6 [mem 0x00000000-0x0001ffff pref]
[    0.632798] pnp 00:01: disabling [mem 0x00000000-0x00000fff window disabled] because it overlaps 0000:04:00.0 BAR 6 [mem 0x00000000-0x0001ffff pref]
[    0.632830] system 00:01: [io  0x0900-0x091f] has been reserved
[    0.632832] system 00:01: [io  0x0228-0x022f] has been reserved
[    0.632833] system 00:01: [io  0x040b] has been reserved
[    0.632835] system 00:01: [io  0x04d6] has been reserved
[    0.632837] system 00:01: [io  0x0c00-0x0c01] has been reserved
[    0.632838] system 00:01: [io  0x0c14] has been reserved
[    0.632840] system 00:01: [io  0x0c50-0x0c52] has been reserved
[    0.632841] system 00:01: [io  0x0c6c-0x0c6d] has been reserved
[    0.632846] system 00:01: [io  0x0c6f] has been reserved
[    0.632848] system 00:01: [io  0x0cd0-0x0cd1] has been reserved
[    0.632849] system 00:01: [io  0x0cd2-0x0cd3] has been reserved
[    0.632851] system 00:01: [io  0x0cd4-0x0cdf] has been reserved
[    0.632852] system 00:01: [io  0x0800-0x08fe] has been reserved
[    0.632853] system 00:01: [io  0x0a10-0x0a17] has been reserved
[    0.632855] system 00:01: [io  0x0b00-0x0b0f] has been reserved
[    0.632856] system 00:01: [io  0x0b10-0x0b1f] has been reserved
[    0.632858] system 00:01: [io  0x0b20-0x0b3f] has been reserved
[    0.632860] system 00:01: [mem 0xfee00400-0xfee00fff window] has been reserved
[    0.632864] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.633013] pnp 00:02: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.633369] pnp 00:03: Plug and Play ACPI device, IDs PNP0303 (active)
[    0.633433] system 00:04: [mem 0xe0000000-0xefffffff] has been reserved
[    0.633437] system 00:04: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.633615] system 00:05: [mem 0x000d4200-0x000d7fff] has been reserved
[    0.633617] system 00:05: [mem 0x000f0000-0x000f7fff] could not be reserved
[    0.633618] system 00:05: [mem 0x000f8000-0x000fbfff] could not be reserved
[    0.633620] system 00:05: [mem 0x000fc000-0x000fffff] could not be reserved
[    0.633621] system 00:05: [mem 0xcfcf0000-0xcfcfffff] could not be reserved
[    0.633623] system 00:05: [mem 0xffff0000-0xffffffff] has been reserved
[    0.633624] system 00:05: [mem 0x00000000-0x0009ffff] could not be reserved
[    0.633626] system 00:05: [mem 0x00100000-0xcfceffff] could not be reserved
[    0.633627] system 00:05: [mem 0xcfd00000-0xcfdfffff] has been reserved
[    0.633629] system 00:05: [mem 0xcfe00000-0xcfefffff] could not be reserved
[    0.633630] system 00:05: [mem 0xfec00000-0xfec00fff] could not be reserved
[    0.633632] system 00:05: [mem 0xfee00000-0xfee00fff] could not be reserved
[    0.633634] system 00:05: [mem 0xfff80000-0xfffeffff] has been reserved
[    0.633637] system 00:05: Plug and Play ACPI device, IDs PNP0c01 (active)
[    0.633656] pnp: PnP ACPI: found 6 devices
[    0.640014] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
[    0.640113] NET: Registered protocol family 2
[    0.640541] IP idents hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.642670] tcp_listen_portaddr_hash hash table entries: 8192 (order: 5, 131072 bytes, linear)
[    0.642986] TCP established hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.643422] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
[    0.643632] TCP: Hash tables configured (established 131072 bind 65536)
[    0.643767] UDP hash table entries: 8192 (order: 6, 262144 bytes, linear)
[    0.643884] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes, linear)
[    0.644004] NET: Registered protocol family 1
[    0.644010] NET: Registered protocol family 44
[    0.644034] pci 0000:01:00.0: BAR 6: assigned [mem 0xfdd00000-0xfdd1ffff pref]
[    0.644037] pci 0000:00:02.0: PCI bridge to [bus 01]
[    0.644039] pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
[    0.644042] pci 0000:00:02.0:   bridge window [mem 0xfdd00000-0xfddfffff]
[    0.644044] pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
[    0.644046] pci 0000:00:05.0: PCI bridge to [bus 02]
[    0.644048] pci 0000:00:05.0:   bridge window [io  0xd000-0xdfff]
[    0.644050] pci 0000:00:05.0:   bridge window [mem 0xfdc00000-0xfdcfffff]
[    0.644052] pci 0000:00:05.0:   bridge window [mem 0xfdb00000-0xfdbfffff 64bit pref]
[    0.644054] pci 0000:00:06.0: PCI bridge to [bus 03]
[    0.644056] pci 0000:00:06.0:   bridge window [io  0xc000-0xcfff]
[    0.644058] pci 0000:00:06.0:   bridge window [mem 0xfda00000-0xfdafffff]
[    0.644059] pci 0000:00:06.0:   bridge window [mem 0xfd900000-0xfd9fffff 64bit pref]
[    0.644063] pci 0000:04:00.0: BAR 6: assigned [mem 0xfd600000-0xfd61ffff pref]
[    0.644064] pci 0000:00:07.0: PCI bridge to [bus 04]
[    0.644066] pci 0000:00:07.0:   bridge window [io  0xb000-0xbfff]
[    0.644068] pci 0000:00:07.0:   bridge window [mem 0xfd600000-0xfd6fffff]
[    0.644070] pci 0000:00:07.0:   bridge window [mem 0xfd500000-0xfd5fffff 64bit pref]
[    0.644073] pci 0000:00:0d.0: PCI bridge to [bus 05]
[    0.644075] pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
[    0.644077] pci 0000:00:0d.0:   bridge window [mem 0xfd200000-0xfd4fffff]
[    0.644078] pci 0000:00:0d.0:   bridge window [mem 0xfde00000-0xfdefffff 64bit pref]
[    0.644082] pci 0000:00:14.4: PCI bridge to [bus 06]
[    0.644084] pci 0000:00:14.4:   bridge window [io  0x9000-0x9fff]
[    0.644088] pci 0000:00:14.4:   bridge window [mem 0xfd800000-0xfd8fffff]
[    0.644091] pci 0000:00:14.4:   bridge window [mem 0xfd700000-0xfd7fffff pref]
[    0.644097] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
[    0.644098] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
[    0.644100] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
[    0.644101] pci_bus 0000:00: resource 7 [mem 0x000c0000-0x000dffff window]
[    0.644102] pci_bus 0000:00: resource 8 [mem 0xcff00000-0xfebfffff window]
[    0.644104] pci_bus 0000:01: resource 0 [io  0xe000-0xefff]
[    0.644105] pci_bus 0000:01: resource 1 [mem 0xfdd00000-0xfddfffff]
[    0.644106] pci_bus 0000:01: resource 2 [mem 0xd0000000-0xdfffffff 64bit pref]
[    0.644107] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
[    0.644109] pci_bus 0000:02: resource 1 [mem 0xfdc00000-0xfdcfffff]
[    0.644110] pci_bus 0000:02: resource 2 [mem 0xfdb00000-0xfdbfffff 64bit pref]
[    0.644111] pci_bus 0000:03: resource 0 [io  0xc000-0xcfff]
[    0.644113] pci_bus 0000:03: resource 1 [mem 0xfda00000-0xfdafffff]
[    0.644114] pci_bus 0000:03: resource 2 [mem 0xfd900000-0xfd9fffff 64bit pref]
[    0.644115] pci_bus 0000:04: resource 0 [io  0xb000-0xbfff]
[    0.644116] pci_bus 0000:04: resource 1 [mem 0xfd600000-0xfd6fffff]
[    0.644117] pci_bus 0000:04: resource 2 [mem 0xfd500000-0xfd5fffff 64bit pref]
[    0.644119] pci_bus 0000:05: resource 0 [io  0xa000-0xafff]
[    0.644120] pci_bus 0000:05: resource 1 [mem 0xfd200000-0xfd4fffff]
[    0.644121] pci_bus 0000:05: resource 2 [mem 0xfde00000-0xfdefffff 64bit pref]
[    0.644123] pci_bus 0000:06: resource 0 [io  0x9000-0x9fff]
[    0.644124] pci_bus 0000:06: resource 1 [mem 0xfd800000-0xfd8fffff]
[    0.644125] pci_bus 0000:06: resource 2 [mem 0xfd700000-0xfd7fffff pref]
[    0.644126] pci_bus 0000:06: resource 4 [io  0x0000-0x0cf7 window]
[    0.644128] pci_bus 0000:06: resource 5 [io  0x0d00-0xffff window]
[    0.644129] pci_bus 0000:06: resource 6 [mem 0x000a0000-0x000bffff window]
[    0.644130] pci_bus 0000:06: resource 7 [mem 0x000c0000-0x000dffff window]
[    0.644132] pci_bus 0000:06: resource 8 [mem 0xcff00000-0xfebfffff window]
[    0.663040] pci 0000:00:12.0: quirk_usb_early_handoff+0x0/0x710 took 18397 usecs
[    0.683023] pci 0000:00:13.0: quirk_usb_early_handoff+0x0/0x710 took 19279 usecs
[    0.703029] pci 0000:00:14.5: quirk_usb_early_handoff+0x0/0x710 took 19300 usecs
[    0.723025] pci 0000:00:16.0: quirk_usb_early_handoff+0x0/0x710 took 19517 usecs
[    0.723275] pci 0000:01:00.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
[    0.723304] pci 0000:01:00.1: D0 power state depends on 0000:01:00.0
[    0.723331] PCI: CLS 64 bytes, default 64
[    0.723430] Trying to unpack rootfs image as initramfs...
[    1.274645] Freeing initrd memory: 30100K
[    1.323361] pci 0000:00:00.2: can't derive routing for PCI INT A
[    1.323364] pci 0000:00:00.2: PCI INT A: no GSI
[    1.323400] pci 0000:00:00.0: Adding to iommu group 0
[    1.323417] pci 0000:00:02.0: Adding to iommu group 1
[    1.323430] pci 0000:00:05.0: Adding to iommu group 2
[    1.323442] pci 0000:00:06.0: Adding to iommu group 3
[    1.323454] pci 0000:00:07.0: Adding to iommu group 4
[    1.323469] pci 0000:00:0d.0: Adding to iommu group 5
[    1.323481] pci 0000:00:11.0: Adding to iommu group 6
[    1.323502] pci 0000:00:12.0: Adding to iommu group 7
[    1.323514] pci 0000:00:12.2: Adding to iommu group 7
[    1.323536] pci 0000:00:13.0: Adding to iommu group 8
[    1.323553] pci 0000:00:13.2: Adding to iommu group 8
[    1.323567] pci 0000:00:14.0: Adding to iommu group 9
[    1.323580] pci 0000:00:14.3: Adding to iommu group 10
[    1.323592] pci 0000:00:14.4: Adding to iommu group 11
[    1.323607] pci 0000:00:14.5: Adding to iommu group 12
[    1.323629] pci 0000:00:16.0: Adding to iommu group 13
[    1.323642] pci 0000:00:16.2: Adding to iommu group 13
[    1.323665] pci 0000:01:00.0: Adding to iommu group 14
[    1.323679] pci 0000:01:00.1: Adding to iommu group 14
[    1.323695] pci 0000:04:00.0: Adding to iommu group 15
[    1.323708] pci 0000:05:00.0: Adding to iommu group 16
[    1.323725] pci 0000:05:00.1: Adding to iommu group 17
[    1.323738] pci 0000:05:00.2: Adding to iommu group 18
[    1.323754] pci 0000:05:00.3: Adding to iommu group 19
[    1.323759] pci 0000:06:06.0: Adding to iommu group 11
[    1.323764] pci 0000:06:06.1: Adding to iommu group 11
[    1.323769] pci 0000:06:06.2: Adding to iommu group 11
[    1.374655] pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
[    1.374808] AMD-Vi: Lazy IO/TLB flushing enabled
[    1.376691] LVT offset 1 assigned for vector 0x400
[    1.376700] LVT offset 1 assigned
[    1.376789] perf: AMD IBS detected (0x0000001f)
[    1.377276] Initialise system trusted keyrings
[    1.377294] Key type blacklist registered
[    1.377376] workingset: timestamp_bits=36 max_order=22 bucket_order=0
[    1.378991] zbud: loaded
[    1.379249] integrity: Platform Keyring initialized
[    1.379251] Key type asymmetric registered
[    1.379252] Asymmetric key parser 'x509' registered
[    1.379260] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
[    1.379341] io scheduler mq-deadline registered
[    1.380954] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    1.380982] ACPI: ACPI: processor limited to max C-state 1
[    1.381391] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    1.381817] Linux agpgart interface v0.103
[    1.381851] AMD-Vi: AMD IOMMUv2 functionality not available on this system - This is not a bug.
[    1.382205] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
[    1.382206] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
[    1.382343] serio: i8042 KBD port at 0x60,0x64 irq 1
[    1.382449] mousedev: PS/2 mouse device common for all mice
[    1.382486] rtc_cmos 00:02: RTC can wake from S4
[    1.382662] rtc_cmos 00:02: registered as rtc0
[    1.382699] rtc_cmos 00:02: setting system clock to 2023-03-14T16:23:53 UTC (1678811033)
[    1.382720] rtc_cmos 00:02: alarms up to one month, 242 bytes nvram, hpet irqs
[    1.382777] ledtrig-cpu: registered to indicate activity on CPUs
[    1.383267] NET: Registered protocol family 10
[    1.391668] Segment Routing with IPv6
[    1.391689] mip6: Mobile IPv6
[    1.391692] NET: Registered protocol family 17
[    1.391737] mpls_gso: MPLS GSO support
[    1.392035] microcode: CPU0: patch_level=0x010000c8
[    1.392040] microcode: CPU1: patch_level=0x010000c8
[    1.392047] microcode: CPU2: patch_level=0x010000c8
[    1.392054] microcode: CPU3: patch_level=0x010000c8
[    1.392059] microcode: Microcode Update Driver: v2.2.
[    1.392062] IPI shorthand broadcast: enabled
[    1.392071] sched_clock: Marking stable (1389838946, 2140900)->(1422316128, -30336282)
[    1.392154] registered taskstats version 1
[    1.392157] Loading compiled-in X.509 certificates
[    1.401265] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
[    1.447842] Loaded X.509 cert 'Debian Secure Boot CA: 6ccece7e4c6c0d1f6149f3dd27dfcc5cbb419ea1'
[    1.447864] Loaded X.509 cert 'Debian Secure Boot Signer 2022 - linux: 14011249c2675ea8e5148542202005810584b25f'
[    1.447905] zswap: loaded using pool lzo/zbud
[    1.448114] Key type .fscrypt registered
[    1.448116] Key type fscrypt-provisioning registered
[    1.448175] AppArmor: AppArmor sha1 policy hashing enabled
[    1.449987] Freeing unused decrypted memory: 2036K
[    1.450721] Freeing unused kernel image (initmem) memory: 2660K
[    1.469469] Write protecting the kernel read-only data: 22528k
[    1.470176] Freeing unused kernel image (text/rodata gap) memory: 2040K
[    1.470379] Freeing unused kernel image (rodata/data gap) memory: 632K
[    1.515106] x86/mm: Checked W+X mappings: passed, no W+X pages found.
[    1.515112] Run /init as init process
[    1.515113]   with arguments:
[    1.515114]     /init
[    1.515115]   with environment:
[    1.515115]     HOME=/
[    1.515116]     TERM=linux
[    1.515117]     BOOT_IMAGE=/boot/vmlinuz-5.10.0-21-amd64
[    1.532926] udevd[108]: starting version 3.2.9
[    1.533140] random: udevd: uninitialized urandom read (16 bytes read)
[    1.533168] random: udevd: uninitialized urandom read (16 bytes read)
[    1.533180] random: udevd: uninitialized urandom read (16 bytes read)
[    1.534183] udevd[109]: starting eudev-3.2.9
[    1.553338] pps_core: LinuxPPS API ver. 1 registered
[    1.553340] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    1.554870] PTP clock support registered
[    1.555897] dca service started, version 1.12.1
[    1.565535] r8169 0000:04:00.0: can't disable ASPM; OS doesn't have ASPM control
[    1.568866] r8169 0000:04:00.0 eth0: RTL8168d/8111d, 1c:6f:65:92:d2:20, XID 283, IRQ 30
[    1.568869] r8169 0000:04:00.0 eth0: jumbo features [frames: 9194 bytes, tx checksumming: ko]
[    1.569230] igb: Intel(R) Gigabit Ethernet Network Driver
[    1.569232] igb: Copyright (c) 2007-2014 Intel Corporation.
[    1.581800] SCSI subsystem initialized
[    1.601059] ACPI: bus type USB registered
[    1.601094] usbcore: registered new interface driver usbfs
[    1.601104] usbcore: registered new interface driver hub
[    1.601117] usbcore: registered new device driver usb
[    1.605621] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.608635] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.608731] ACPI Warning: SystemIO range 0x0000000000000B00-0x0000000000000B08 conflicts with OpRegion 0x0000000000000B00-0x0000000000000B0F (\SOR1) (20200925/utaddress-204)
[    1.608736] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[    1.609682] libata version 3.00 loaded.
[    1.609903] ehci-pci: EHCI PCI platform driver
[    1.610233] QUIRK: Enable AMD PLL fix
[    1.610260] ehci-pci 0000:00:12.2: EHCI Host Controller
[    1.610268] ehci-pci 0000:00:12.2: new USB bus registered, assigned bus number 1
[    1.610273] ehci-pci 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
[    1.610280] ehci-pci 0000:00:12.2: debug port 1
[    1.610325] ehci-pci 0000:00:12.2: irq 17, io mem 0xfdffd000
[    1.617448] ahci 0000:00:11.0: version 3.0
[    1.617720] ahci 0000:00:11.0: AHCI 0001.0200 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
[    1.617723] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part
[    1.618930] scsi host0: ahci
[    1.619410] scsi host1: ahci
[    1.625419] ehci-pci 0000:00:12.2: USB 2.0 started, EHCI 1.00
[    1.625524] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    1.625525] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.625527] usb usb1: Product: EHCI Host Controller
[    1.625528] usb usb1: Manufacturer: Linux 5.10.0-21-amd64 ehci_hcd
[    1.625529] usb usb1: SerialNumber: 0000:00:12.2
[    1.625607] scsi host2: ahci
[    1.625753] hub 1-0:1.0: USB hub found
[    1.625761] hub 1-0:1.0: 5 ports detected
[    1.626117] ehci-pci 0000:00:13.2: EHCI Host Controller
[    1.626124] ehci-pci 0000:00:13.2: new USB bus registered, assigned bus number 2
[    1.626127] ehci-pci 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
[    1.626135] ehci-pci 0000:00:13.2: debug port 1
[    1.626171] ehci-pci 0000:00:13.2: irq 17, io mem 0xfdffb000
[    1.626208] scsi host3: ahci
[    1.626365] scsi host4: ahci
[    1.626527] scsi host5: ahci
[    1.626595] ata1: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff100 irq 40
[    1.626598] ata2: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff180 irq 40
[    1.626600] ata3: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff200 irq 40
[    1.626602] ata4: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff280 irq 40
[    1.626603] ata5: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff300 irq 40
[    1.626605] ata6: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff380 irq 40
[    1.637947] igb 0000:05:00.0: added PHC on eth1
[    1.637949] igb 0000:05:00.0: Intel(R) Gigabit Ethernet Network Connection
[    1.637951] igb 0000:05:00.0: eth1: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b:44:44
[    1.637953] igb 0000:05:00.0: eth1: PBA No: Unknown
[    1.637954] igb 0000:05:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[    1.645461] ehci-pci 0000:00:13.2: USB 2.0 started, EHCI 1.00
[    1.645559] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    1.645561] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.645563] usb usb2: Product: EHCI Host Controller
[    1.645564] usb usb2: Manufacturer: Linux 5.10.0-21-amd64 ehci_hcd
[    1.645565] usb usb2: SerialNumber: 0000:00:13.2
[    1.645684] hub 2-0:1.0: USB hub found
[    1.645692] hub 2-0:1.0: 5 ports detected
[    1.646052] ehci-pci 0000:00:16.2: EHCI Host Controller
[    1.646057] ehci-pci 0000:00:16.2: new USB bus registered, assigned bus number 3
[    1.646061] ehci-pci 0000:00:16.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
[    1.646068] ehci-pci 0000:00:16.2: debug port 1
[    1.646102] ehci-pci 0000:00:16.2: irq 17, io mem 0xfdff8000
[    1.665457] ehci-pci 0000:00:16.2: USB 2.0 started, EHCI 1.00
[    1.665507] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    1.665509] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.665510] usb usb3: Product: EHCI Host Controller
[    1.665511] usb usb3: Manufacturer: Linux 5.10.0-21-amd64 ehci_hcd
[    1.665512] usb usb3: SerialNumber: 0000:00:16.2
[    1.665630] hub 3-0:1.0: USB hub found
[    1.665638] hub 3-0:1.0: 4 ports detected
[    1.677492] firewire_ohci 0000:06:06.2: added OHCI v1.10 device as card 0, 4 IR + 8 IT contexts, quirks 0x2
[    1.690559] igb 0000:05:00.1: added PHC on eth2
[    1.690561] igb 0000:05:00.1: Intel(R) Gigabit Ethernet Network Connection
[    1.690563] igb 0000:05:00.1: eth2: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b:44:45
[    1.690565] igb 0000:05:00.1: eth2: PBA No: Unknown
[    1.690566] igb 0000:05:00.1: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[    1.741908] igb 0000:05:00.2: added PHC on eth3
[    1.741910] igb 0000:05:00.2: Intel(R) Gigabit Ethernet Network Connection
[    1.741911] igb 0000:05:00.2: eth3: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b:44:46
[    1.741913] igb 0000:05:00.2: eth3: PBA No: Unknown
[    1.741915] igb 0000:05:00.2: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[    1.793900] igb 0000:05:00.3: added PHC on eth4
[    1.793902] igb 0000:05:00.3: Intel(R) Gigabit Ethernet Network Connection
[    1.793904] igb 0000:05:00.3: eth4: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b:44:47
[    1.793906] igb 0000:05:00.3: eth4: PBA No: Unknown
[    1.793907] igb 0000:05:00.3: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
[    1.940751] ata6: SATA link down (SStatus 0 SControl 300)
[    1.940776] ata1: SATA link down (SStatus 0 SControl 300)
[    1.940802] ata4: SATA link down (SStatus 0 SControl 300)
[    1.940828] ata2: SATA link down (SStatus 0 SControl 300)
[    1.940876] ata3: SATA link down (SStatus 0 SControl 300)
[    2.101468] ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[    2.102222] ata5.00: supports DRM functions and may not be fully accessible
[    2.102250] ata5.00: ATA-10: CT2000MX500SSD1, M3CR045, max UDMA/133
[    2.102252] ata5.00: 3907029168 sectors, multi 1: LBA48 NCQ (depth 32), AA
[    2.102844] ata5.00: supports DRM functions and may not be fully accessible
[    2.103341] ata5.00: configured for UDMA/133
[    2.103475] scsi 4:0:0:0: Direct-Access     ATA      CT2000MX500SSD1  045  PQ: 0 ANSI: 5
[    2.104637] ohci-pci: OHCI PCI platform driver
[    2.105086] ohci-pci 0000:00:12.0: OHCI PCI host controller
[    2.105094] ohci-pci 0000:00:12.0: new USB bus registered, assigned bus number 4
[    2.105132] ohci-pci 0000:00:12.0: irq 18, io mem 0xfdffe000
[    2.151609] sd 4:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
[    2.151611] sd 4:0:0:0: [sda] 4096-byte physical blocks
[    2.151642] sd 4:0:0:0: [sda] Write Protect is off
[    2.151645] sd 4:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.151673] sd 4:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.165520] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
[    2.165522] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.165524] usb usb4: Product: OHCI PCI host controller
[    2.165525] usb usb4: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
[    2.165526] usb usb4: SerialNumber: 0000:00:12.0
[    2.165654] hub 4-0:1.0: USB hub found
[    2.165663] hub 4-0:1.0: 5 ports detected
[    2.166024] ohci-pci 0000:00:13.0: OHCI PCI host controller
[    2.166030] ohci-pci 0000:00:13.0: new USB bus registered, assigned bus number 5
[    2.166053] ohci-pci 0000:00:13.0: irq 18, io mem 0xfdffc000
[    2.178084]  sda: sda1 sda2 sda3 sda4
[    2.193787] sd 4:0:0:0: [sda] supports TCG Opal
[    2.193789] sd 4:0:0:0: [sda] Attached SCSI disk
[    2.196077] sd 4:0:0:0: Attached scsi generic sg0 type 0
[    2.201515] firewire_core 0000:06:06.2: created device fw0: GUID 00023c009103cf43, S400
[    2.229494] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
[    2.229497] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.229498] usb usb5: Product: OHCI PCI host controller
[    2.229500] usb usb5: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
[    2.229501] usb usb5: SerialNumber: 0000:00:13.0
[    2.229564] device-mapper: uevent: version 1.0.3
[    2.229648] device-mapper: ioctl: 4.43.0-ioctl (2020-10-01) initialised: dm-devel@redhat.com
[    2.229681] hub 5-0:1.0: USB hub found
[    2.229691] hub 5-0:1.0: 5 ports detected
[    2.230191] ohci-pci 0000:00:14.5: OHCI PCI host controller
[    2.230199] ohci-pci 0000:00:14.5: new USB bus registered, assigned bus number 6
[    2.230228] ohci-pci 0000:00:14.5: irq 18, io mem 0xfdffa000
[    2.293492] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
[    2.293496] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.293497] usb usb6: Product: OHCI PCI host controller
[    2.293499] usb usb6: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
[    2.293500] usb usb6: SerialNumber: 0000:00:14.5
[    2.293642] hub 6-0:1.0: USB hub found
[    2.293650] hub 6-0:1.0: 2 ports detected
[    2.293993] ohci-pci 0000:00:16.0: OHCI PCI host controller
[    2.294000] ohci-pci 0000:00:16.0: new USB bus registered, assigned bus number 7
[    2.294025] ohci-pci 0000:00:16.0: irq 18, io mem 0xfdff9000
[    2.357488] usb usb7: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
[    2.357491] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.357492] usb usb7: Product: OHCI PCI host controller
[    2.357493] usb usb7: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
[    2.357494] usb usb7: SerialNumber: 0000:00:16.0
[    2.357619] hub 7-0:1.0: USB hub found
[    2.357627] hub 7-0:1.0: 4 ports detected
[    2.393457] tsc: Refined TSC clocksource calibration: 2611.834 MHz
[    2.393473] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x25a5e752d40, max_idle_ns: 440795227132 ns
[    2.393492] clocksource: Switched to clocksource tsc
[    2.837454] usb 4-4: new full-speed USB device number 2 using ohci-pci
[    3.038516] usb 4-4: New USB device found, idVendor=046d, idProduct=c52e, bcdDevice=23.01
[    3.038519] usb 4-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    3.038520] usb 4-4: Product: USB Receiver
[    3.038522] usb 4-4: Manufacturer: Logitech
[    3.038987] random: udevd: uninitialized urandom read (16 bytes read)
[    3.049147] hid: raw HID events driver (C) Jiri Kosina
[    3.060819] usbcore: registered new interface driver usbhid
[    3.060820] usbhid: USB HID core driver
[    3.062288] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:12.0/usb4/4-4/4-4:1.0/0003:046D:C52E.0001/input/input1
[    3.121629] hid-generic 0003:046D:C52E.0001: input,hidraw0: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:12.0-4/input0
[    3.122030] input: Logitech USB Receiver Mouse as /devices/pci0000:00/0000:00:12.0/usb4/4-4/4-4:1.1/0003:046D:C52E.0002/input/input2
[    3.122125] input: Logitech USB Receiver Consumer Control as /devices/pci0000:00/0000:00:12.0/usb4/4-4/4-4:1.1/0003:046D:C52E.0002/input/input3
[    3.181500] input: Logitech USB Receiver System Control as /devices/pci0000:00/0000:00:12.0/usb4/4-4/4-4:1.1/0003:046D:C52E.0002/input/input4
[    3.181597] hid-generic 0003:046D:C52E.0002: input,hiddev0,hidraw1: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:12.0-4/input1
[    3.487865] PM: Image not found (code -22)
[    3.683029] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[    3.724796] Not activating Mandatory Access Control as /sbin/tomoyo-init does not exist.
[    3.891404] udevd[414]: starting version 3.2.9
[    3.895967] random: udevd: uninitialized urandom read (16 bytes read)
[    3.896231] random: udevd: uninitialized urandom read (16 bytes read)
[    3.904873] udevd[415]: starting eudev-3.2.9
[    3.939518] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input7
[    3.939547] ACPI: Power Button [PWRB]
[    3.939612] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input8
[    3.940773] acpi_cpufreq: overriding BIOS provided _PSD data
[    3.957643] ACPI: Power Button [PWRF]
[    4.054242] random: lvm: uninitialized urandom read (4 bytes read)
[    4.064338] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
[    4.064442] sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO address
[    4.080231] gameport gameport0: EMU10K1 is pci0000:06:06.1/gameport0, io 0x9e00, speed 792kHz
[    4.080383] sp5100-tco sp5100-tco: initialized. heartbeat=60 sec (nowayout=0)
[    4.121889] input: PC Speaker as /devices/platform/pcspkr/input/input9
[    4.122636] [drm] radeon kernel modesetting enabled.
[    4.123178] [drm:radeon_pci_probe [radeon]] *ERROR* radeon kernel modesetting for R600 or later requires firmware installed
[    4.123221] See https://wiki.debian.org/Firmware for information about missing firmware
[    4.127927] snd_emu10k1 0000:06:06.0: non-passthrough IOMMU detected, widening DMA allocations
[    4.132854] snd_emu10k1 0000:06:06.0: Installing spdif_bug patch: SB Audigy 2 Platinum [SB0240P]
[    4.199226] input: HDA ATI HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card1/input10
[    4.213240] kvm: Nested Virtualization enabled
[    4.213248] SVM: kvm: Nested Paging enabled
[    4.233228] MCE: In-kernel MCE decoding enabled.
[    4.235765] EDAC amd64: F10h detected (node 0).
[    4.235787] EDAC amd64: Node 0: DRAM ECC disabled.
[    4.301999] EDAC amd64: F10h detected (node 0).
[    4.302021] EDAC amd64: Node 0: DRAM ECC disabled.
[    4.349890] EDAC amd64: F10h detected (node 0).
[    4.349912] EDAC amd64: Node 0: DRAM ECC disabled.
[    4.381846] EDAC amd64: F10h detected (node 0).
[    4.381865] EDAC amd64: Node 0: DRAM ECC disabled.
[    7.339055] random: lvm: uninitialized urandom read (4 bytes read)
[    7.441477] Adding 1952764k swap on /dev/sda2.  Priority:-2 extents:1 across:1952764k SSFS
[    7.456939] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
[    7.740641] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: errors=remount-ro
[    7.821597] random: dd: uninitialized urandom read (32 bytes read)
[    7.878778] r8169 0000:04:00.0: firmware: direct-loading firmware rtl_nic/rtl8168d-2.fw
[    7.878787] r8169 0000:04:00.0: Unable to load firmware rtl_nic/rtl8168d-2.fw (-22)
[    7.879675] RTL8211B Gigabit Ethernet r8169-0-400:00: attached PHY driver [RTL8211B Gigabit Ethernet] (mii_bus:phy_addr=r8169-0-400:00, irq=IGNORE)
[    7.948422] r8169 0000:04:00.0 eth0: Link is Down
[    8.013168] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    8.018315] xenbr0: port 1(eth0) entered blocking state
[    8.018317] xenbr0: port 1(eth0) entered disabled state
[    8.018393] device eth0 entered promiscuous mode
[    9.958500] r8169 0000:04:00.0 eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[    9.958525] xenbr0: port 1(eth0) entered blocking state
[    9.958532] xenbr0: port 1(eth0) entered forwarding state
[   10.344586] random: dbus-uuidgen: uninitialized urandom read (12 bytes read)
[   11.901410] random: crng init done
[   11.901413] random: 12 urandom warning(s) missed due to ratelimiting
--abmob-adb2cd80-116f-4618-b871-47724293d146
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=devuan_var-log-kern.log

Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] Linux version 5.10.0-21-amd64 (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Debian 5.10.162-1 (2023-01-21)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.10.0-21-amd64 root=UUID=36792c57-a8bc-4264-93a9-6b9485700770 ro quiet
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] x86/fpu: x87 FPU will use FXSAVE
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-provided physical RAM map:
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009b7ff] usable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x000000000009f800-0x000000000009ffff] reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000cfceffff] usable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x00000000cfcf0000-0x00000000cfcf0fff] ACPI NVS
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x00000000cfcf1000-0x00000000cfcfffff] ACPI data
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x00000000cfd00000-0x00000000cfdfffff] reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000ffffffff] reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000042fffffff] usable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] NX (Execute Disable) protection: active
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] SMBIOS 2.4 present.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] DMI: Gigabyte Technology Co., Ltd. GA-890FXA-UD5/GA-890FXA-UD5, BIOS F6 11/24/2010
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] tsc: Fast TSC calibration using PIT
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] tsc: Detected 2611.619 MHz processor
Mar 14 17:24:02 Gemini-Sector kernel: [    0.004391] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.004394] e820: remove [mem 0x000a0000-0x000fffff] usable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010357] AGP: No AGP bridge found
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010414] last_pfn = 0x430000 max_arch_pfn = 0x400000000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010417] MTRR default type: uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010419] MTRR fixed ranges enabled:
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010420]   00000-9FFFF write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010422]   A0000-BFFFF uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010423]   C0000-C7FFF write-protect
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010425]   C8000-FFFFF uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010426] MTRR variable ranges enabled:
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010428]   0 base 000000000000 mask FFFF80000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010430]   1 base 000080000000 mask FFFFC0000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010432]   2 base 0000C0000000 mask FFFFF0000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010433]   3 base 0000CFD00000 mask FFFFFFF00000 uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010434]   4 base 0000CFE00000 mask FFFFFFE00000 uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010436]   5 base 000100000000 mask FFFF00000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010437]   6 base 000200000000 mask FFFE00000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010438]   7 base 000400000000 mask FFFFE0000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010440] TOM2: 0000000430000000 aka 17152M
Mar 14 17:24:02 Gemini-Sector kernel: [    0.011670] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT
Mar 14 17:24:02 Gemini-Sector kernel: [    0.011752] e820: update [mem 0xcfd00000-0xffffffff] usable ==> reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.011760] last_pfn = 0xcfcf0 max_arch_pfn = 0x400000000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.013968] found SMP MP-table at [mem 0x000f46f0-0x000f46ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032578] Using GB pages for direct mapping
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032935] RAMDISK: [mem 0x34525000-0x36289fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032939] ACPI: Early table checksum verification disabled
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032943] ACPI: RSDP 0x00000000000F6100 000014 (v00 GBT   )
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032948] ACPI: RSDT 0x00000000CFCF1000 000044 (v01 GBT    GBTUACPI 42302E31 GBTU 01010101)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032955] ACPI: FACP 0x00000000CFCF1080 000074 (v01 GBT    GBTUACPI 42302E31 GBTU 01010101)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032961] ACPI: DSDT 0x00000000CFCF1100 007BE3 (v01 GBT    GBTUACPI 00001000 MSFT 03000000)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032965] ACPI: FACS 0x00000000CFCF0000 000040
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032968] ACPI: SSDT 0x00000000CFCF8DC0 00088C (v01 PTLTD  POWERNOW 00000001  LTP 00000001)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032972] ACPI: HPET 0x00000000CFCF9680 000038 (v01 GBT    GBTUACPI 42302E31 GBTU 00000098)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032977] ACPI: MCFG 0x00000000CFCF96C0 00003C (v01 GBT    GBTUACPI 42302E31 GBTU 01010101)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032980] ACPI: MATS 0x00000000CFCF9700 000034 (v01 GBT             00000000      00000000)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032984] ACPI: TAMG 0x00000000CFCF9770 000202 (v01 GBT    GBT   B0 5455312E BG?? 53450101)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032989] ACPI: APIC 0x00000000CFCF8D00 0000BC (v01 GBT    GBTUACPI 42302E31 GBTU 01010101)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032993] ACPI: IVRS 0x00000000CFCF99F0 0000C0 (v01 AMD    RD890S   00202031 AMD  00000000)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032997] ACPI: Reserving FACP table memory at [mem 0xcfcf1080-0xcfcf10f3]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032998] ACPI: Reserving DSDT table memory at [mem 0xcfcf1100-0xcfcf8ce2]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032999] ACPI: Reserving FACS table memory at [mem 0xcfcf0000-0xcfcf003f]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033001] ACPI: Reserving SSDT table memory at [mem 0xcfcf8dc0-0xcfcf964b]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033002] ACPI: Reserving HPET table memory at [mem 0xcfcf9680-0xcfcf96b7]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033003] ACPI: Reserving MCFG table memory at [mem 0xcfcf96c0-0xcfcf96fb]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033004] ACPI: Reserving MATS table memory at [mem 0xcfcf9700-0xcfcf9733]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033005] ACPI: Reserving TAMG table memory at [mem 0xcfcf9770-0xcfcf9971]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033006] ACPI: Reserving APIC table memory at [mem 0xcfcf8d00-0xcfcf8dbb]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033007] ACPI: Reserving IVRS table memory at [mem 0xcfcf99f0-0xcfcf9aaf]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033020] ACPI: Local APIC address 0xfee00000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033068] Scanning NUMA topology in Northbridge 24
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033078] No NUMA configuration found
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033080] Faking a node at [mem 0x0000000000000000-0x000000042fffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033091] NODE_DATA(0) allocated [mem 0x42ffd6000-0x42fffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033663] Zone ranges:
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033664]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033666]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033668]   Normal   [mem 0x0000000100000000-0x000000042fffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033670]   Device   empty
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033671] Movable zone start for each node
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033676] Early memory node ranges
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033677]   node   0: [mem 0x0000000000001000-0x000000000009afff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033679]   node   0: [mem 0x0000000000100000-0x00000000cfceffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033680]   node   0: [mem 0x0000000100000000-0x000000042fffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033683] Initmem setup node 0 [mem 0x0000000000001000-0x000000042fffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033685] On node 0 totalpages: 4193418
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033687]   DMA zone: 64 pages used for memmap
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033688]   DMA zone: 21 pages reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033689]   DMA zone: 3994 pages, LIFO batch:0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033690]   DMA32 zone: 13236 pages used for memmap
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033691]   DMA32 zone: 847088 pages, LIFO batch:63
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033692]   Normal zone: 52224 pages used for memmap
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033693]   Normal zone: 3342336 pages, LIFO batch:63
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033697] On node 0, zone DMA: 1 pages in unavailable ranges
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033749] On node 0, zone DMA: 101 pages in unavailable ranges
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046702] On node 0, zone Normal: 784 pages in unavailable ranges
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046887] ACPI: PM-Timer IO Port: 0x808
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046890] ACPI: Local APIC address 0xfee00000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046896] ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046897] ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046898] ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046899] ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046901] ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046902] ACPI: LAPIC_NMI (acpi_id[0x05] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046903] ACPI: LAPIC_NMI (acpi_id[0x06] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046904] ACPI: LAPIC_NMI (acpi_id[0x07] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046912] IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046914] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046916] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046918] ACPI: IRQ0 used by override.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046919] ACPI: IRQ9 used by override.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046921] Using ACPI (MADT) for SMP configuration information
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046923] ACPI: HPET id: 0x10b9a201 base: 0xfed00000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046927] smpboot: Allowing 8 CPUs, 4 hotplug CPUs
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046943] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046945] PM: hibernation: Registered nosave memory: [mem 0x0009b000-0x0009ffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046946] PM: hibernation: Registered nosave memory: [mem 0x000a0000-0x000effff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046947] PM: hibernation: Registered nosave memory: [mem 0x000f0000-0x000fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046949] PM: hibernation: Registered nosave memory: [mem 0xcfcf0000-0xcfcf0fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046950] PM: hibernation: Registered nosave memory: [mem 0xcfcf1000-0xcfcfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046951] PM: hibernation: Registered nosave memory: [mem 0xcfd00000-0xcfdfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046952] PM: hibernation: Registered nosave memory: [mem 0xcfe00000-0xdfffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046953] PM: hibernation: Registered nosave memory: [mem 0xe0000000-0xefffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046954] PM: hibernation: Registered nosave memory: [mem 0xf0000000-0xfebfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046955] PM: hibernation: Registered nosave memory: [mem 0xfec00000-0xffffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046957] [mem 0xcfe00000-0xdfffffff] available for PCI devices
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046958] Booting paravirtualized kernel on bare hardware
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046961] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052012] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:8 nr_cpu_ids:8 nr_node_ids:1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052712] percpu: Embedded 63 pages/cpu s221184 r8192 d28672 u262144
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052718] pcpu-alloc: s221184 r8192 d28672 u262144 alloc=1*2097152
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052720] pcpu-alloc: [0] 0 1 2 3 4 5 6 7
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052756] Built 1 zonelists, mobility grouping on.  Total pages: 4127873
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052757] Policy zone: Normal
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052758] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.10.0-21-amd64 root=UUID=36792c57-a8bc-4264-93a9-6b9485700770 ro quiet
Mar 14 17:24:02 Gemini-Sector kernel: [    0.055863] Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.057394] Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.057432] mem auto-init: stack:off, heap alloc:on, heap free:off
Mar 14 17:24:02 Gemini-Sector kernel: [    0.069788] AGP: Checking aperture...
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075746] AGP: No AGP bridge found
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075750] AGP: Node 0: aperture [bus addr 0x7fe000000-0x7ffffffff] (32MB)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075751] Aperture beyond 4GB. Ignoring.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075752] AGP: Your BIOS doesn't leave an aperture memory hole
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075752] AGP: Please enable the IOMMU option in the BIOS setup
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075753] AGP: This costs you 64MB of RAM
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075757] AGP: Mapping aperture over RAM [mem 0xc4000000-0xc7ffffff] (65536KB)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075759] PM: hibernation: Registered nosave memory: [mem 0xc4000000-0xc7ffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.096999] Memory: 3373884K/16773672K available (12295K kernel code, 2537K rwdata, 7560K rodata, 2660K init, 5468K bss, 487536K reserved, 0K cma-reserved)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.097354] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.097375] ftrace: allocating 36545 entries in 143 pages
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112697] ftrace: allocated 143 pages with 5 groups
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112882] rcu: Hierarchical RCU implementation.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112884] rcu:       RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=8.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112885]    Rude variant of Tasks RCU enabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112886]    Tracing variant of Tasks RCU enabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112887] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112888] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=8
Mar 14 17:24:02 Gemini-Sector kernel: [    0.118935] NR_IRQS: 524544, nr_irqs: 488, preallocated irqs: 16
Mar 14 17:24:02 Gemini-Sector kernel: [    0.119284] spurious 8259A interrupt: IRQ7.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121215] Console: colour VGA+ 80x25
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121232] printk: console [tty0] enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121256] ACPI: Core revision 20200925
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121377] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 133484873504 ns
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121392] APIC: Switch to symmetric I/O mode setup
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121463] AMD-Vi: [Firmware Bug]: : No southbridge IOAPIC found
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121495] AMD-Vi: Disabling interrupt remapping
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121937] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141395] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x25a51c371bd, max_idle_ns: 440795253524 ns
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141398] Calibrating delay loop (skipped), value calculated using timer frequency.. 5223.23 BogoMIPS (lpj=10446476)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141402] pid_max: default: 32768 minimum: 301
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141482] LSM: Security Framework initializing
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141502] Yama: disabled by default; enable with sysctl kernel.yama.*
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141546] AppArmor: AppArmor initialized
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141548] TOMOYO Linux initialized
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141634] Mount-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141687] Mountpoint-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142043] LVT offset 0 assigned for vector 0xf9
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142048] process: using AMD E400 aware idle routine
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142050] Last level iTLB entries: 4KB 512, 2MB 16, 4MB 8
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142051] Last level dTLB entries: 4KB 512, 2MB 128, 4MB 64, 1GB 0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142054] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142056] Spectre V2 : Mitigation: Retpolines
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142057] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142058] Spectre V2 : Spectre v2 / SpectreRSB : Filling RSB on VMEXIT
Mar 14 17:24:02 Gemini-Sector kernel: [    0.150749] Freeing SMP alternatives memory: 32K
Mar 14 17:24:02 Gemini-Sector kernel: [    0.153405] process: System has AMD C1E enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265118] process: Switch to broadcast mode on CPU0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265124] smpboot: CPU0: AMD Phenom(tm) II X4 910e Processor (family: 0x10, model: 0x4, stepping: 0x3)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265328] Performance Events: AMD PMU driver.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265333] ... version:                0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265333] ... bit width:              48
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265334] ... generic registers:      4
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265335] ... value mask:             0000ffffffffffff
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265336] ... max period:             00007fffffffffff
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265337] ... fixed-purpose events:   0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265338] ... event mask:             000000000000000f
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265396] rcu: Hierarchical SRCU implementation.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265396] NMI watchdog: Enabled. Permanently consumes one hw-PMU counter.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265396] smp: Bringing up secondary CPUs ...
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265396] x86: Booting SMP configuration:
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265396] .... node  #0, CPUs:      #1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.006140] __common_interrupt: 1.55 No irq handler for vector
Mar 14 17:24:02 Gemini-Sector kernel: [    0.006140] process: Switch to broadcast mode on CPU1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265396]  #2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.006140] __common_interrupt: 2.55 No irq handler for vector
Mar 14 17:24:02 Gemini-Sector kernel: [    0.006140] process: Switch to broadcast mode on CPU2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.267876]  #3
Mar 14 17:24:02 Gemini-Sector kernel: [    0.006140] __common_interrupt: 3.55 No irq handler for vector
Mar 14 17:24:02 Gemini-Sector kernel: [    0.006140] process: Switch to broadcast mode on CPU3
Mar 14 17:24:02 Gemini-Sector kernel: [    0.269466] smp: Brought up 1 node, 4 CPUs
Mar 14 17:24:02 Gemini-Sector kernel: [    0.269466] smpboot: Max logical packages: 2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.269466] smpboot: Total of 4 processors activated (20892.95 BogoMIPS)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.305057] node 0 deferred pages initialised in 28ms
Mar 14 17:24:02 Gemini-Sector kernel: [    0.305964] devtmpfs: initialized
Mar 14 17:24:02 Gemini-Sector kernel: [    0.305964] x86/mm: Memory block size: 128MB
Mar 14 17:24:02 Gemini-Sector kernel: [    0.307219] PM: Registering ACPI NVS region [mem 0xcfcf0000-0xcfcf0fff] (4096 bytes)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.307219] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
Mar 14 17:24:02 Gemini-Sector kernel: [    0.307219] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.307219] pinctrl core: initialized pinctrl subsystem
Mar 14 17:24:02 Gemini-Sector kernel: [    0.307219] NET: Registered protocol family 16
Mar 14 17:24:02 Gemini-Sector kernel: [    0.307219] DMA: preallocated 2048 KiB GFP_KERNEL pool for atomic allocations
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309513] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309923] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309936] audit: initializing netlink subsys (disabled)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] audit: type=2000 audit(1678811032.188:1): state=initialized audit_enabled=0 res=1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] thermal_sys: Registered thermal governor 'fair_share'
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] thermal_sys: Registered thermal governor 'bang_bang'
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] thermal_sys: Registered thermal governor 'step_wise'
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] thermal_sys: Registered thermal governor 'user_space'
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] thermal_sys: Registered thermal governor 'power_allocator'
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] cpuidle: using governor ladder
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] cpuidle: using governor menu
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: io port [9000, ffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] TOM: 00000000d0000000 aka 3328M
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] Fam 10h mmconf [mem 0xe0000000-0xe00fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: mmio [a0000, bffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: mmio [d0000000, dfffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: mmio [f0000000, ffffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: mmio [e0000000, e06fffff] ==> [e0100000, e06fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] TOM2: 0000000430000000 aka 17152M
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: [bus 00-06] on node 0 link 0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [io  0x0000-0xffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0x000a0000-0x000bffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0xd0000000-0xdfffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0xe0700000-0xffffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0xe0100000-0xe06fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0x430000000-0xfcffffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] ACPI: bus type PCI registered
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] PCI: Using configuration type 1 for base access
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] mtrr: your CPUs had inconsistent variable MTRR settings
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] mtrr: probably your BIOS does not setup all CPUs.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] mtrr: corrected configuration.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.310909] Kprobes globally optimized
Mar 14 17:24:02 Gemini-Sector kernel: [    0.310920] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
Mar 14 17:24:02 Gemini-Sector kernel: [    0.310920] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(Module Device)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(Processor Device)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(3.0 _SCP Extensions)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(Processor Aggregator Device)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(Linux-Dell-Video)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI: 2 ACPI AML tables successfully acquired and loaded
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.565721] ACPI: Interpreter enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    0.565742] ACPI: (supports S0 S3 S4 S5)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.565744] ACPI: Using IOAPIC for interrupt routing
Mar 14 17:24:02 Gemini-Sector kernel: [    0.565779] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
Mar 14 17:24:02 Gemini-Sector kernel: [    0.565930] ACPI: Enabled 9 GPEs in block 00 to 1F
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571332] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571338] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571605] PCI host bridge to bus 0000:00
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571608] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571609] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571611] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571612] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000dffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571614] pci_bus 0000:00: root bus resource [mem 0xcff00000-0xfebfffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571615] pci_bus 0000:00: root bus resource [bus 00-ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571628] pci 0000:00:00.0: [1002:5a11] type 00 class 0x060000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571637] pci 0000:00:00.0: [Firmware Bug]: reg 0x1c: invalid BAR (can't size)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571748] pci 0000:00:00.2: [1002:5a23] type 00 class 0x080600
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571857] pci 0000:00:02.0: [1002:5a16] type 01 class 0x060400
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571873] pci 0000:00:02.0: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571897] pci 0000:00:02.0: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572009] pci 0000:00:05.0: [1002:5a19] type 01 class 0x060400
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572024] pci 0000:00:05.0: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572047] pci 0000:00:05.0: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572158] pci 0000:00:06.0: [1002:5a1a] type 01 class 0x060400
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572173] pci 0000:00:06.0: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572195] pci 0000:00:06.0: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572303] pci 0000:00:07.0: [1002:5a1b] type 01 class 0x060400
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572318] pci 0000:00:07.0: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572340] pci 0000:00:07.0: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572452] pci 0000:00:0d.0: [1002:5a1e] type 01 class 0x060400
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572467] pci 0000:00:0d.0: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572488] pci 0000:00:0d.0: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572611] pci 0000:00:11.0: [1002:4391] type 00 class 0x010601
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572623] pci 0000:00:11.0: reg 0x10: [io  0xff00-0xff07]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572630] pci 0000:00:11.0: reg 0x14: [io  0xfe00-0xfe03]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572637] pci 0000:00:11.0: reg 0x18: [io  0xfd00-0xfd07]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572643] pci 0000:00:11.0: reg 0x1c: [io  0xfc00-0xfc03]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572650] pci 0000:00:11.0: reg 0x20: [io  0xfb00-0xfb0f]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572657] pci 0000:00:11.0: reg 0x24: [mem 0xfdfff000-0xfdfff3ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572783] pci 0000:00:12.0: [1002:4397] type 00 class 0x0c0310
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572795] pci 0000:00:12.0: reg 0x10: [mem 0xfdffe000-0xfdffefff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572938] pci 0000:00:12.2: [1002:4396] type 00 class 0x0c0320
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572950] pci 0000:00:12.2: reg 0x10: [mem 0xfdffd000-0xfdffd0ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573008] pci 0000:00:12.2: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573009] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573112] pci 0000:00:13.0: [1002:4397] type 00 class 0x0c0310
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573124] pci 0000:00:13.0: reg 0x10: [mem 0xfdffc000-0xfdffcfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573262] pci 0000:00:13.2: [1002:4396] type 00 class 0x0c0320
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573274] pci 0000:00:13.2: reg 0x10: [mem 0xfdffb000-0xfdffb0ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573332] pci 0000:00:13.2: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573333] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573452] pci 0000:00:14.0: [1002:4385] type 00 class 0x0c0500
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573591] pci 0000:00:14.3: [1002:439d] type 00 class 0x060100
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573732] pci 0000:00:14.4: [1002:4384] type 01 class 0x060401
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573864] pci 0000:00:14.5: [1002:4399] type 00 class 0x0c0310
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573876] pci 0000:00:14.5: reg 0x10: [mem 0xfdffa000-0xfdffafff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574012] pci 0000:00:16.0: [1002:4397] type 00 class 0x0c0310
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574024] pci 0000:00:16.0: reg 0x10: [mem 0xfdff9000-0xfdff9fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574162] pci 0000:00:16.2: [1002:4396] type 00 class 0x0c0320
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574174] pci 0000:00:16.2: reg 0x10: [mem 0xfdff8000-0xfdff80ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574232] pci 0000:00:16.2: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574233] pci 0000:00:16.2: PME# supported from D0 D1 D2 D3hot
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574334] pci 0000:00:18.0: [1022:1200] type 00 class 0x060000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574415] pci 0000:00:18.1: [1022:1201] type 00 class 0x060000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574493] pci 0000:00:18.2: [1022:1202] type 00 class 0x060000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574570] pci 0000:00:18.3: [1022:1203] type 00 class 0x060000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574650] pci 0000:00:18.4: [1022:1204] type 00 class 0x060000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574780] pci 0000:01:00.0: [1002:68f9] type 00 class 0x030000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574793] pci 0000:01:00.0: reg 0x10: [mem 0xd0000000-0xdfffffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574801] pci 0000:01:00.0: reg 0x18: [mem 0xfddc0000-0xfdddffff 64bit]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574807] pci 0000:01:00.0: reg 0x20: [io  0xee00-0xeeff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574818] pci 0000:01:00.0: reg 0x30: [mem 0x00000000-0x0001ffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574822] pci 0000:01:00.0: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574858] pci 0000:01:00.0: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574941] pci 0000:01:00.1: [1002:aa68] type 00 class 0x040300
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574953] pci 0000:01:00.1: reg 0x10: [mem 0xfddfc000-0xfddfffff 64bit]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574980] pci 0000:01:00.1: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.575015] pci 0000:01:00.1: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585431] pci 0000:00:02.0: PCI bridge to [bus 01]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585435] pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585437] pci 0000:00:02.0:   bridge window [mem 0xfdd00000-0xfddfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585440] pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585485] pci 0000:00:05.0: PCI bridge to [bus 02]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585488] pci 0000:00:05.0:   bridge window [io  0xd000-0xdfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585490] pci 0000:00:05.0:   bridge window [mem 0xfdc00000-0xfdcfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585492] pci 0000:00:05.0:   bridge window [mem 0xfdb00000-0xfdbfffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585517] pci 0000:00:06.0: PCI bridge to [bus 03]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585520] pci 0000:00:06.0:   bridge window [io  0xc000-0xcfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585521] pci 0000:00:06.0:   bridge window [mem 0xfda00000-0xfdafffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585524] pci 0000:00:06.0:   bridge window [mem 0xfd900000-0xfd9fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585570] pci 0000:04:00.0: [10ec:8168] type 00 class 0x020000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585585] pci 0000:04:00.0: reg 0x10: [io  0xbe00-0xbeff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585604] pci 0000:04:00.0: reg 0x18: [mem 0xfd5ff000-0xfd5fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585615] pci 0000:04:00.0: reg 0x20: [mem 0xfd5f8000-0xfd5fbfff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585624] pci 0000:04:00.0: reg 0x30: [mem 0x00000000-0x0001ffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585694] pci 0000:04:00.0: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585696] pci 0000:04:00.0: PME# supported from D0 D1 D2 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597434] pci 0000:00:07.0: PCI bridge to [bus 04]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597438] pci 0000:00:07.0:   bridge window [io  0xb000-0xbfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597440] pci 0000:00:07.0:   bridge window [mem 0xfd600000-0xfd6fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597443] pci 0000:00:07.0:   bridge window [mem 0xfd500000-0xfd5fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597494] pci 0000:05:00.0: [8086:150e] type 00 class 0x020000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597506] pci 0000:05:00.0: reg 0x10: [mem 0xfd280000-0xfd2fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597523] pci 0000:05:00.0: reg 0x1c: [mem 0xfd4fc000-0xfd4fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597597] pci 0000:05:00.0: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597683] pci 0000:05:00.1: [8086:150e] type 00 class 0x020000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597695] pci 0000:05:00.1: reg 0x10: [mem 0xfd380000-0xfd3fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597712] pci 0000:05:00.1: reg 0x1c: [mem 0xfd4f8000-0xfd4fbfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597778] pci 0000:05:00.1: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597845] pci 0000:05:00.2: [8086:150e] type 00 class 0x020000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597856] pci 0000:05:00.2: reg 0x10: [mem 0xfd400000-0xfd47ffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597873] pci 0000:05:00.2: reg 0x1c: [mem 0xfd4f4000-0xfd4f7fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597938] pci 0000:05:00.2: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.598007] pci 0000:05:00.3: [8086:150e] type 00 class 0x020000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.598019] pci 0000:05:00.3: reg 0x10: [mem 0xfd300000-0xfd37ffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.598036] pci 0000:05:00.3: reg 0x1c: [mem 0xfd4f0000-0xfd4f3fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.598101] pci 0000:05:00.3: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609431] pci 0000:00:0d.0: PCI bridge to [bus 05]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609435] pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609437] pci 0000:00:0d.0:   bridge window [mem 0xfd200000-0xfd4fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609439] pci 0000:00:0d.0:   bridge window [mem 0xfde00000-0xfdefffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609450] pci_bus 0000:06: extended config space not accessible
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609488] pci 0000:06:06.0: [1102:0004] type 00 class 0x040100
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609505] pci 0000:06:06.0: reg 0x10: [io  0x9f00-0x9f3f]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609584] pci 0000:06:06.0: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609645] pci 0000:06:06.1: [1102:7003] type 00 class 0x098000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609661] pci 0000:06:06.1: reg 0x10: [io  0x9e00-0x9e07]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609736] pci 0000:06:06.1: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609779] pci 0000:06:06.2: [1102:4001] type 00 class 0x0c0010
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609797] pci 0000:06:06.2: reg 0x10: [mem 0xfd8ff000-0xfd8ff7ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609807] pci 0000:06:06.2: reg 0x14: [mem 0xfd8f8000-0xfd8fbfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609882] pci 0000:06:06.2: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609883] pci 0000:06:06.2: PME# supported from D0 D1 D2 D3hot
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609958] pci 0000:00:14.4: PCI bridge to [bus 06] (subtractive decode)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609961] pci 0000:00:14.4:   bridge window [io  0x9000-0x9fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609964] pci 0000:00:14.4:   bridge window [mem 0xfd800000-0xfd8fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609967] pci 0000:00:14.4:   bridge window [mem 0xfd700000-0xfd7fffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609969] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7 window] (subtractive decode)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609970] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff window] (subtractive decode)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609971] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bffff window] (subtractive decode)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609973] pci 0000:00:14.4:   bridge window [mem 0x000c0000-0x000dffff window] (subtractive decode)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609974] pci 0000:00:14.4:   bridge window [mem 0xcff00000-0xfebfffff window] (subtractive decode)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610238] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610288] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610335] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610380] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610425] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610470] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610515] ACPI: PCI Interrupt Link [LNK0] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610560] ACPI: PCI Interrupt Link [LNK1] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611146] iommu: Default domain type: Translated
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] pci 0000:01:00.0: vgaarb: setting as boot VGA device
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] pci 0000:01:00.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] pci 0000:01:00.0: vgaarb: bridge control possible
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] vgaarb: loaded
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] EDAC MC: Ver: 3.0.0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] NetLabel: Initializing
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] NetLabel:  domain hash size = 128
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] NetLabel:  unlabeled traffic allowed by default
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] PCI: Using ACPI for IRQ routing
Mar 14 17:24:02 Gemini-Sector kernel: [    0.613815] PCI: pci_cache_line_size set to 64 bytes
Mar 14 17:24:02 Gemini-Sector kernel: [    0.613873] e820: reserve RAM buffer [mem 0x0009b800-0x0009ffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.613874] e820: reserve RAM buffer [mem 0xcfcf0000-0xcfffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.613898] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.613902] hpet0: 3 comparators, 32-bit 14.318180 MHz counter
Mar 14 17:24:02 Gemini-Sector kernel: [    0.617401] clocksource: Switched to clocksource tsc-early
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632217] VFS: Disk quotas dquot_6.6.0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632240] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632400] AppArmor: AppArmor Filesystem Enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632419] pnp: PnP ACPI init
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632538] system 00:00: [io  0x04d0-0x04d1] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632540] system 00:00: [io  0x0220-0x0225] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632542] system 00:00: [io  0x0290-0x0294] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632548] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632794] pnp 00:01: disabling [mem 0x00000000-0x00000fff window] because it overlaps 0000:01:00.0 BAR 6 [mem 0x00000000-0x0001ffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632798] pnp 00:01: disabling [mem 0x00000000-0x00000fff window disabled] because it overlaps 0000:04:00.0 BAR 6 [mem 0x00000000-0x0001ffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632830] system 00:01: [io  0x0900-0x091f] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632832] system 00:01: [io  0x0228-0x022f] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632833] system 00:01: [io  0x040b] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632835] system 00:01: [io  0x04d6] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632837] system 00:01: [io  0x0c00-0x0c01] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632838] system 00:01: [io  0x0c14] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632840] system 00:01: [io  0x0c50-0x0c52] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632841] system 00:01: [io  0x0c6c-0x0c6d] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632846] system 00:01: [io  0x0c6f] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632848] system 00:01: [io  0x0cd0-0x0cd1] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632849] system 00:01: [io  0x0cd2-0x0cd3] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632851] system 00:01: [io  0x0cd4-0x0cdf] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632852] system 00:01: [io  0x0800-0x08fe] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632853] system 00:01: [io  0x0a10-0x0a17] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632855] system 00:01: [io  0x0b00-0x0b0f] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632856] system 00:01: [io  0x0b10-0x0b1f] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632858] system 00:01: [io  0x0b20-0x0b3f] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632860] system 00:01: [mem 0xfee00400-0xfee00fff window] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632864] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633013] pnp 00:02: Plug and Play ACPI device, IDs PNP0b00 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633369] pnp 00:03: Plug and Play ACPI device, IDs PNP0303 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633433] system 00:04: [mem 0xe0000000-0xefffffff] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633437] system 00:04: Plug and Play ACPI device, IDs PNP0c02 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633615] system 00:05: [mem 0x000d4200-0x000d7fff] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633617] system 00:05: [mem 0x000f0000-0x000f7fff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633618] system 00:05: [mem 0x000f8000-0x000fbfff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633620] system 00:05: [mem 0x000fc000-0x000fffff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633621] system 00:05: [mem 0xcfcf0000-0xcfcfffff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633623] system 00:05: [mem 0xffff0000-0xffffffff] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633624] system 00:05: [mem 0x00000000-0x0009ffff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633626] system 00:05: [mem 0x00100000-0xcfceffff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633627] system 00:05: [mem 0xcfd00000-0xcfdfffff] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633629] system 00:05: [mem 0xcfe00000-0xcfefffff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633630] system 00:05: [mem 0xfec00000-0xfec00fff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633632] system 00:05: [mem 0xfee00000-0xfee00fff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633634] system 00:05: [mem 0xfff80000-0xfffeffff] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633637] system 00:05: Plug and Play ACPI device, IDs PNP0c01 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633656] pnp: PnP ACPI: found 6 devices
Mar 14 17:24:02 Gemini-Sector kernel: [    0.640014] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
Mar 14 17:24:02 Gemini-Sector kernel: [    0.640113] NET: Registered protocol family 2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.640541] IP idents hash table entries: 262144 (order: 9, 2097152 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.642670] tcp_listen_portaddr_hash hash table entries: 8192 (order: 5, 131072 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.642986] TCP established hash table entries: 131072 (order: 8, 1048576 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.643422] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.643632] TCP: Hash tables configured (established 131072 bind 65536)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.643767] UDP hash table entries: 8192 (order: 6, 262144 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.643884] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644004] NET: Registered protocol family 1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644010] NET: Registered protocol family 44
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644034] pci 0000:01:00.0: BAR 6: assigned [mem 0xfdd00000-0xfdd1ffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644037] pci 0000:00:02.0: PCI bridge to [bus 01]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644039] pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644042] pci 0000:00:02.0:   bridge window [mem 0xfdd00000-0xfddfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644044] pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644046] pci 0000:00:05.0: PCI bridge to [bus 02]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644048] pci 0000:00:05.0:   bridge window [io  0xd000-0xdfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644050] pci 0000:00:05.0:   bridge window [mem 0xfdc00000-0xfdcfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644052] pci 0000:00:05.0:   bridge window [mem 0xfdb00000-0xfdbfffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644054] pci 0000:00:06.0: PCI bridge to [bus 03]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644056] pci 0000:00:06.0:   bridge window [io  0xc000-0xcfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644058] pci 0000:00:06.0:   bridge window [mem 0xfda00000-0xfdafffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644059] pci 0000:00:06.0:   bridge window [mem 0xfd900000-0xfd9fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644063] pci 0000:04:00.0: BAR 6: assigned [mem 0xfd600000-0xfd61ffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644064] pci 0000:00:07.0: PCI bridge to [bus 04]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644066] pci 0000:00:07.0:   bridge window [io  0xb000-0xbfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644068] pci 0000:00:07.0:   bridge window [mem 0xfd600000-0xfd6fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644070] pci 0000:00:07.0:   bridge window [mem 0xfd500000-0xfd5fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644073] pci 0000:00:0d.0: PCI bridge to [bus 05]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644075] pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644077] pci 0000:00:0d.0:   bridge window [mem 0xfd200000-0xfd4fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644078] pci 0000:00:0d.0:   bridge window [mem 0xfde00000-0xfdefffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644082] pci 0000:00:14.4: PCI bridge to [bus 06]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644084] pci 0000:00:14.4:   bridge window [io  0x9000-0x9fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644088] pci 0000:00:14.4:   bridge window [mem 0xfd800000-0xfd8fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644091] pci 0000:00:14.4:   bridge window [mem 0xfd700000-0xfd7fffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644097] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644098] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644100] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644101] pci_bus 0000:00: resource 7 [mem 0x000c0000-0x000dffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644102] pci_bus 0000:00: resource 8 [mem 0xcff00000-0xfebfffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644104] pci_bus 0000:01: resource 0 [io  0xe000-0xefff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644105] pci_bus 0000:01: resource 1 [mem 0xfdd00000-0xfddfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644106] pci_bus 0000:01: resource 2 [mem 0xd0000000-0xdfffffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644107] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644109] pci_bus 0000:02: resource 1 [mem 0xfdc00000-0xfdcfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644110] pci_bus 0000:02: resource 2 [mem 0xfdb00000-0xfdbfffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644111] pci_bus 0000:03: resource 0 [io  0xc000-0xcfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644113] pci_bus 0000:03: resource 1 [mem 0xfda00000-0xfdafffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644114] pci_bus 0000:03: resource 2 [mem 0xfd900000-0xfd9fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644115] pci_bus 0000:04: resource 0 [io  0xb000-0xbfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644116] pci_bus 0000:04: resource 1 [mem 0xfd600000-0xfd6fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644117] pci_bus 0000:04: resource 2 [mem 0xfd500000-0xfd5fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644119] pci_bus 0000:05: resource 0 [io  0xa000-0xafff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644120] pci_bus 0000:05: resource 1 [mem 0xfd200000-0xfd4fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644121] pci_bus 0000:05: resource 2 [mem 0xfde00000-0xfdefffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644123] pci_bus 0000:06: resource 0 [io  0x9000-0x9fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644124] pci_bus 0000:06: resource 1 [mem 0xfd800000-0xfd8fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644125] pci_bus 0000:06: resource 2 [mem 0xfd700000-0xfd7fffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644126] pci_bus 0000:06: resource 4 [io  0x0000-0x0cf7 window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644128] pci_bus 0000:06: resource 5 [io  0x0d00-0xffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644129] pci_bus 0000:06: resource 6 [mem 0x000a0000-0x000bffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644130] pci_bus 0000:06: resource 7 [mem 0x000c0000-0x000dffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644132] pci_bus 0000:06: resource 8 [mem 0xcff00000-0xfebfffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.663040] pci 0000:00:12.0: quirk_usb_early_handoff+0x0/0x710 took 18397 usecs
Mar 14 17:24:02 Gemini-Sector kernel: [    0.683023] pci 0000:00:13.0: quirk_usb_early_handoff+0x0/0x710 took 19279 usecs
Mar 14 17:24:02 Gemini-Sector kernel: [    0.703029] pci 0000:00:14.5: quirk_usb_early_handoff+0x0/0x710 took 19300 usecs
Mar 14 17:24:02 Gemini-Sector kernel: [    0.723025] pci 0000:00:16.0: quirk_usb_early_handoff+0x0/0x710 took 19517 usecs
Mar 14 17:24:02 Gemini-Sector kernel: [    0.723275] pci 0000:01:00.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.723304] pci 0000:01:00.1: D0 power state depends on 0000:01:00.0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.723331] PCI: CLS 64 bytes, default 64
Mar 14 17:24:02 Gemini-Sector kernel: [    0.723430] Trying to unpack rootfs image as initramfs...
Mar 14 17:24:02 Gemini-Sector kernel: [    1.274645] Freeing initrd memory: 30100K
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323361] pci 0000:00:00.2: can't derive routing for PCI INT A
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323364] pci 0000:00:00.2: PCI INT A: no GSI
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323400] pci 0000:00:00.0: Adding to iommu group 0
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323417] pci 0000:00:02.0: Adding to iommu group 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323430] pci 0000:00:05.0: Adding to iommu group 2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323442] pci 0000:00:06.0: Adding to iommu group 3
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323454] pci 0000:00:07.0: Adding to iommu group 4
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323469] pci 0000:00:0d.0: Adding to iommu group 5
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323481] pci 0000:00:11.0: Adding to iommu group 6
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323502] pci 0000:00:12.0: Adding to iommu group 7
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323514] pci 0000:00:12.2: Adding to iommu group 7
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323536] pci 0000:00:13.0: Adding to iommu group 8
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323553] pci 0000:00:13.2: Adding to iommu group 8
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323567] pci 0000:00:14.0: Adding to iommu group 9
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323580] pci 0000:00:14.3: Adding to iommu group 10
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323592] pci 0000:00:14.4: Adding to iommu group 11
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323607] pci 0000:00:14.5: Adding to iommu group 12
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323629] pci 0000:00:16.0: Adding to iommu group 13
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323642] pci 0000:00:16.2: Adding to iommu group 13
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323665] pci 0000:01:00.0: Adding to iommu group 14
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323679] pci 0000:01:00.1: Adding to iommu group 14
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323695] pci 0000:04:00.0: Adding to iommu group 15
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323708] pci 0000:05:00.0: Adding to iommu group 16
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323725] pci 0000:05:00.1: Adding to iommu group 17
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323738] pci 0000:05:00.2: Adding to iommu group 18
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323754] pci 0000:05:00.3: Adding to iommu group 19
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323759] pci 0000:06:06.0: Adding to iommu group 11
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323764] pci 0000:06:06.1: Adding to iommu group 11
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323769] pci 0000:06:06.2: Adding to iommu group 11
Mar 14 17:24:02 Gemini-Sector kernel: [    1.374655] pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.374808] AMD-Vi: Lazy IO/TLB flushing enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    1.376691] LVT offset 1 assigned for vector 0x400
Mar 14 17:24:02 Gemini-Sector kernel: [    1.376700] LVT offset 1 assigned
Mar 14 17:24:02 Gemini-Sector kernel: [    1.376789] perf: AMD IBS detected (0x0000001f)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.377276] Initialise system trusted keyrings
Mar 14 17:24:02 Gemini-Sector kernel: [    1.377294] Key type blacklist registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.377376] workingset: timestamp_bits=36 max_order=22 bucket_order=0
Mar 14 17:24:02 Gemini-Sector kernel: [    1.378991] zbud: loaded
Mar 14 17:24:02 Gemini-Sector kernel: [    1.379249] integrity: Platform Keyring initialized
Mar 14 17:24:02 Gemini-Sector kernel: [    1.379251] Key type asymmetric registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.379252] Asymmetric key parser 'x509' registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.379260] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.379341] io scheduler mq-deadline registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.380954] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
Mar 14 17:24:02 Gemini-Sector kernel: [    1.380982] ACPI: ACPI: processor limited to max C-state 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.381391] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    1.381817] Linux agpgart interface v0.103
Mar 14 17:24:02 Gemini-Sector kernel: [    1.381851] AMD-Vi: AMD IOMMUv2 functionality not available on this system - This is not a bug.
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382205] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382206] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382343] serio: i8042 KBD port at 0x60,0x64 irq 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382449] mousedev: PS/2 mouse device common for all mice
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382486] rtc_cmos 00:02: RTC can wake from S4
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382662] rtc_cmos 00:02: registered as rtc0
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382699] rtc_cmos 00:02: setting system clock to 2023-03-14T16:23:53 UTC (1678811033)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382720] rtc_cmos 00:02: alarms up to one month, 242 bytes nvram, hpet irqs
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382777] ledtrig-cpu: registered to indicate activity on CPUs
Mar 14 17:24:02 Gemini-Sector kernel: [    1.383267] NET: Registered protocol family 10
Mar 14 17:24:02 Gemini-Sector kernel: [    1.391668] Segment Routing with IPv6
Mar 14 17:24:02 Gemini-Sector kernel: [    1.391689] mip6: Mobile IPv6
Mar 14 17:24:02 Gemini-Sector kernel: [    1.391692] NET: Registered protocol family 17
Mar 14 17:24:02 Gemini-Sector kernel: [    1.391737] mpls_gso: MPLS GSO support
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392035] microcode: CPU0: patch_level=0x010000c8
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392040] microcode: CPU1: patch_level=0x010000c8
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392047] microcode: CPU2: patch_level=0x010000c8
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392054] microcode: CPU3: patch_level=0x010000c8
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392059] microcode: Microcode Update Driver: v2.2.
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392062] IPI shorthand broadcast: enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392071] sched_clock: Marking stable (1389838946, 2140900)->(1422316128, -30336282)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392154] registered taskstats version 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392157] Loading compiled-in X.509 certificates
Mar 14 17:24:02 Gemini-Sector kernel: [    1.401265] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
Mar 14 17:24:02 Gemini-Sector kernel: [    1.447842] Loaded X.509 cert 'Debian Secure Boot CA: 6ccece7e4c6c0d1f6149f3dd27dfcc5cbb419ea1'
Mar 14 17:24:02 Gemini-Sector kernel: [    1.447864] Loaded X.509 cert 'Debian Secure Boot Signer 2022 - linux: 14011249c2675ea8e5148542202005810584b25f'
Mar 14 17:24:02 Gemini-Sector kernel: [    1.447905] zswap: loaded using pool lzo/zbud
Mar 14 17:24:02 Gemini-Sector kernel: [    1.448114] Key type .fscrypt registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.448116] Key type fscrypt-provisioning registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.448175] AppArmor: AppArmor sha1 policy hashing enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    1.449987] Freeing unused decrypted memory: 2036K
Mar 14 17:24:02 Gemini-Sector kernel: [    1.450721] Freeing unused kernel image (initmem) memory: 2660K
Mar 14 17:24:02 Gemini-Sector kernel: [    1.469469] Write protecting the kernel read-only data: 22528k
Mar 14 17:24:02 Gemini-Sector kernel: [    1.470176] Freeing unused kernel image (text/rodata gap) memory: 2040K
Mar 14 17:24:02 Gemini-Sector kernel: [    1.470379] Freeing unused kernel image (rodata/data gap) memory: 632K
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515106] x86/mm: Checked W+X mappings: passed, no W+X pages found.
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515112] Run /init as init process
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515113]   with arguments:
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515114]     /init
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515115]   with environment:
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515115]     HOME=/
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515116]     TERM=linux
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515117]     BOOT_IMAGE=/boot/vmlinuz-5.10.0-21-amd64
Mar 14 17:24:02 Gemini-Sector kernel: [    1.533140] random: udevd: uninitialized urandom read (16 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.533168] random: udevd: uninitialized urandom read (16 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.533180] random: udevd: uninitialized urandom read (16 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.553338] pps_core: LinuxPPS API ver. 1 registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.553340] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
Mar 14 17:24:02 Gemini-Sector kernel: [    1.554870] PTP clock support registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.555897] dca service started, version 1.12.1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.565535] r8169 0000:04:00.0: can't disable ASPM; OS doesn't have ASPM control
Mar 14 17:24:02 Gemini-Sector kernel: [    1.568866] r8169 0000:04:00.0 eth0: RTL8168d/8111d, 1c:6f:65:92:d2:20, XID 283, IRQ 30
Mar 14 17:24:02 Gemini-Sector kernel: [    1.568869] r8169 0000:04:00.0 eth0: jumbo features [frames: 9194 bytes, tx checksumming: ko]
Mar 14 17:24:02 Gemini-Sector kernel: [    1.569230] igb: Intel(R) Gigabit Ethernet Network Driver
Mar 14 17:24:02 Gemini-Sector kernel: [    1.569232] igb: Copyright (c) 2007-2014 Intel Corporation.
Mar 14 17:24:02 Gemini-Sector kernel: [    1.581800] SCSI subsystem initialized
Mar 14 17:24:02 Gemini-Sector kernel: [    1.601059] ACPI: bus type USB registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.601094] usbcore: registered new interface driver usbfs
Mar 14 17:24:02 Gemini-Sector kernel: [    1.601104] usbcore: registered new interface driver hub
Mar 14 17:24:02 Gemini-Sector kernel: [    1.601117] usbcore: registered new device driver usb
Mar 14 17:24:02 Gemini-Sector kernel: [    1.605621] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
Mar 14 17:24:02 Gemini-Sector kernel: [    1.608635] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Mar 14 17:24:02 Gemini-Sector kernel: [    1.608731] ACPI Warning: SystemIO range 0x0000000000000B00-0x0000000000000B08 conflicts with OpRegion 0x0000000000000B00-0x0000000000000B0F (\SOR1) (20200925/utaddress-204)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.608736] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
Mar 14 17:24:02 Gemini-Sector kernel: [    1.609682] libata version 3.00 loaded.
Mar 14 17:24:02 Gemini-Sector kernel: [    1.609903] ehci-pci: EHCI PCI platform driver
Mar 14 17:24:02 Gemini-Sector kernel: [    1.610233] QUIRK: Enable AMD PLL fix
Mar 14 17:24:02 Gemini-Sector kernel: [    1.610260] ehci-pci 0000:00:12.2: EHCI Host Controller
Mar 14 17:24:02 Gemini-Sector kernel: [    1.610268] ehci-pci 0000:00:12.2: new USB bus registered, assigned bus number 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.610273] ehci-pci 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
Mar 14 17:24:02 Gemini-Sector kernel: [    1.610280] ehci-pci 0000:00:12.2: debug port 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.610325] ehci-pci 0000:00:12.2: irq 17, io mem 0xfdffd000
Mar 14 17:24:02 Gemini-Sector kernel: [    1.617448] ahci 0000:00:11.0: version 3.0
Mar 14 17:24:02 Gemini-Sector kernel: [    1.617720] ahci 0000:00:11.0: AHCI 0001.0200 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
Mar 14 17:24:02 Gemini-Sector kernel: [    1.617723] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part
Mar 14 17:24:02 Gemini-Sector kernel: [    1.618930] scsi host0: ahci
Mar 14 17:24:02 Gemini-Sector kernel: [    1.619410] scsi host1: ahci
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625419] ehci-pci 0000:00:12.2: USB 2.0 started, EHCI 1.00
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625524] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625525] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625527] usb usb1: Product: EHCI Host Controller
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625528] usb usb1: Manufacturer: Linux 5.10.0-21-amd64 ehci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625529] usb usb1: SerialNumber: 0000:00:12.2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625607] scsi host2: ahci
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625753] hub 1-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625761] hub 1-0:1.0: 5 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626117] ehci-pci 0000:00:13.2: EHCI Host Controller
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626124] ehci-pci 0000:00:13.2: new USB bus registered, assigned bus number 2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626127] ehci-pci 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626135] ehci-pci 0000:00:13.2: debug port 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626171] ehci-pci 0000:00:13.2: irq 17, io mem 0xfdffb000
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626208] scsi host3: ahci
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626365] scsi host4: ahci
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626527] scsi host5: ahci
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626595] ata1: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff100 irq 40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626598] ata2: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff180 irq 40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626600] ata3: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff200 irq 40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626602] ata4: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff280 irq 40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626603] ata5: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff300 irq 40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626605] ata6: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff380 irq 40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.637947] igb 0000:05:00.0: added PHC on eth1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.637949] igb 0000:05:00.0: Intel(R) Gigabit Ethernet Network Connection
Mar 14 17:24:02 Gemini-Sector kernel: [    1.637951] igb 0000:05:00.0: eth1: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b:44:44
Mar 14 17:24:02 Gemini-Sector kernel: [    1.637953] igb 0000:05:00.0: eth1: PBA No: Unknown
Mar 14 17:24:02 Gemini-Sector kernel: [    1.637954] igb 0000:05:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645461] ehci-pci 0000:00:13.2: USB 2.0 started, EHCI 1.00
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645559] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645561] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645563] usb usb2: Product: EHCI Host Controller
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645564] usb usb2: Manufacturer: Linux 5.10.0-21-amd64 ehci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645565] usb usb2: SerialNumber: 0000:00:13.2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645684] hub 2-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645692] hub 2-0:1.0: 5 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    1.646052] ehci-pci 0000:00:16.2: EHCI Host Controller
Mar 14 17:24:02 Gemini-Sector kernel: [    1.646057] ehci-pci 0000:00:16.2: new USB bus registered, assigned bus number 3
Mar 14 17:24:02 Gemini-Sector kernel: [    1.646061] ehci-pci 0000:00:16.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
Mar 14 17:24:02 Gemini-Sector kernel: [    1.646068] ehci-pci 0000:00:16.2: debug port 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.646102] ehci-pci 0000:00:16.2: irq 17, io mem 0xfdff8000
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665457] ehci-pci 0000:00:16.2: USB 2.0 started, EHCI 1.00
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665507] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665509] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665510] usb usb3: Product: EHCI Host Controller
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665511] usb usb3: Manufacturer: Linux 5.10.0-21-amd64 ehci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665512] usb usb3: SerialNumber: 0000:00:16.2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665630] hub 3-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665638] hub 3-0:1.0: 4 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    1.677492] firewire_ohci 0000:06:06.2: added OHCI v1.10 device as card 0, 4 IR + 8 IT contexts, quirks 0x2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.690559] igb 0000:05:00.1: added PHC on eth2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.690561] igb 0000:05:00.1: Intel(R) Gigabit Ethernet Network Connection
Mar 14 17:24:02 Gemini-Sector kernel: [    1.690563] igb 0000:05:00.1: eth2: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b:44:45
Mar 14 17:24:02 Gemini-Sector kernel: [    1.690565] igb 0000:05:00.1: eth2: PBA No: Unknown
Mar 14 17:24:02 Gemini-Sector kernel: [    1.690566] igb 0000:05:00.1: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.741908] igb 0000:05:00.2: added PHC on eth3
Mar 14 17:24:02 Gemini-Sector kernel: [    1.741910] igb 0000:05:00.2: Intel(R) Gigabit Ethernet Network Connection
Mar 14 17:24:02 Gemini-Sector kernel: [    1.741911] igb 0000:05:00.2: eth3: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b:44:46
Mar 14 17:24:02 Gemini-Sector kernel: [    1.741913] igb 0000:05:00.2: eth3: PBA No: Unknown
Mar 14 17:24:02 Gemini-Sector kernel: [    1.741915] igb 0000:05:00.2: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.793900] igb 0000:05:00.3: added PHC on eth4
Mar 14 17:24:02 Gemini-Sector kernel: [    1.793902] igb 0000:05:00.3: Intel(R) Gigabit Ethernet Network Connection
Mar 14 17:24:02 Gemini-Sector kernel: [    1.793904] igb 0000:05:00.3: eth4: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b:44:47
Mar 14 17:24:02 Gemini-Sector kernel: [    1.793906] igb 0000:05:00.3: eth4: PBA No: Unknown
Mar 14 17:24:02 Gemini-Sector kernel: [    1.793907] igb 0000:05:00.3: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.940751] ata6: SATA link down (SStatus 0 SControl 300)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.940776] ata1: SATA link down (SStatus 0 SControl 300)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.940802] ata4: SATA link down (SStatus 0 SControl 300)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.940828] ata2: SATA link down (SStatus 0 SControl 300)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.940876] ata3: SATA link down (SStatus 0 SControl 300)
Mar 14 17:24:02 Gemini-Sector kernel: [    2.101468] ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Mar 14 17:24:02 Gemini-Sector kernel: [    2.102222] ata5.00: supports DRM functions and may not be fully accessible
Mar 14 17:24:02 Gemini-Sector kernel: [    2.102250] ata5.00: ATA-10: CT2000MX500SSD1, M3CR045, max UDMA/133
Mar 14 17:24:02 Gemini-Sector kernel: [    2.102252] ata5.00: 3907029168 sectors, multi 1: LBA48 NCQ (depth 32), AA
Mar 14 17:24:02 Gemini-Sector kernel: [    2.102844] ata5.00: supports DRM functions and may not be fully accessible
Mar 14 17:24:02 Gemini-Sector kernel: [    2.103341] ata5.00: configured for UDMA/133
Mar 14 17:24:02 Gemini-Sector kernel: [    2.103475] scsi 4:0:0:0: Direct-Access     ATA      CT2000MX500SSD1  045  PQ: 0 ANSI: 5
Mar 14 17:24:02 Gemini-Sector kernel: [    2.104637] ohci-pci: OHCI PCI platform driver
Mar 14 17:24:02 Gemini-Sector kernel: [    2.105086] ohci-pci 0000:00:12.0: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.105094] ohci-pci 0000:00:12.0: new USB bus registered, assigned bus number 4
Mar 14 17:24:02 Gemini-Sector kernel: [    2.105132] ohci-pci 0000:00:12.0: irq 18, io mem 0xfdffe000
Mar 14 17:24:02 Gemini-Sector kernel: [    2.151609] sd 4:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
Mar 14 17:24:02 Gemini-Sector kernel: [    2.151611] sd 4:0:0:0: [sda] 4096-byte physical blocks
Mar 14 17:24:02 Gemini-Sector kernel: [    2.151642] sd 4:0:0:0: [sda] Write Protect is off
Mar 14 17:24:02 Gemini-Sector kernel: [    2.151645] sd 4:0:0:0: [sda] Mode Sense: 00 3a 00 00
Mar 14 17:24:02 Gemini-Sector kernel: [    2.151673] sd 4:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165520] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165522] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165524] usb usb4: Product: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165525] usb usb4: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165526] usb usb4: SerialNumber: 0000:00:12.0
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165654] hub 4-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165663] hub 4-0:1.0: 5 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    2.166024] ohci-pci 0000:00:13.0: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.166030] ohci-pci 0000:00:13.0: new USB bus registered, assigned bus number 5
Mar 14 17:24:02 Gemini-Sector kernel: [    2.166053] ohci-pci 0000:00:13.0: irq 18, io mem 0xfdffc000
Mar 14 17:24:02 Gemini-Sector kernel: [    2.178084]  sda: sda1 sda2 sda3 sda4
Mar 14 17:24:02 Gemini-Sector kernel: [    2.193787] sd 4:0:0:0: [sda] supports TCG Opal
Mar 14 17:24:02 Gemini-Sector kernel: [    2.193789] sd 4:0:0:0: [sda] Attached SCSI disk
Mar 14 17:24:02 Gemini-Sector kernel: [    2.196077] sd 4:0:0:0: Attached scsi generic sg0 type 0
Mar 14 17:24:02 Gemini-Sector kernel: [    2.201515] firewire_core 0000:06:06.2: created device fw0: GUID 00023c009103cf43, S400
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229494] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229497] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229498] usb usb5: Product: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229500] usb usb5: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229501] usb usb5: SerialNumber: 0000:00:13.0
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229564] device-mapper: uevent: version 1.0.3
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229648] device-mapper: ioctl: 4.43.0-ioctl (2020-10-01) initialised: dm-devel@redhat.com
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229681] hub 5-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229691] hub 5-0:1.0: 5 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    2.230191] ohci-pci 0000:00:14.5: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.230199] ohci-pci 0000:00:14.5: new USB bus registered, assigned bus number 6
Mar 14 17:24:02 Gemini-Sector kernel: [    2.230228] ohci-pci 0000:00:14.5: irq 18, io mem 0xfdffa000
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293492] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293496] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293497] usb usb6: Product: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293499] usb usb6: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293500] usb usb6: SerialNumber: 0000:00:14.5
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293642] hub 6-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293650] hub 6-0:1.0: 2 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293993] ohci-pci 0000:00:16.0: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.294000] ohci-pci 0000:00:16.0: new USB bus registered, assigned bus number 7
Mar 14 17:24:02 Gemini-Sector kernel: [    2.294025] ohci-pci 0000:00:16.0: irq 18, io mem 0xfdff9000
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357488] usb usb7: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357491] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357492] usb usb7: Product: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357493] usb usb7: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357494] usb usb7: SerialNumber: 0000:00:16.0
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357619] hub 7-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357627] hub 7-0:1.0: 4 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    2.393457] tsc: Refined TSC clocksource calibration: 2611.834 MHz
Mar 14 17:24:02 Gemini-Sector kernel: [    2.393473] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x25a5e752d40, max_idle_ns: 440795227132 ns
Mar 14 17:24:02 Gemini-Sector kernel: [    2.393492] clocksource: Switched to clocksource tsc
Mar 14 17:24:02 Gemini-Sector kernel: [    2.837454] usb 4-4: new full-speed USB device number 2 using ohci-pci
Mar 14 17:24:02 Gemini-Sector kernel: [    3.038516] usb 4-4: New USB device found, idVendor=046d, idProduct=c52e, bcdDevice=23.01
Mar 14 17:24:02 Gemini-Sector kernel: [    3.038519] usb 4-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Mar 14 17:24:02 Gemini-Sector kernel: [    3.038520] usb 4-4: Product: USB Receiver
Mar 14 17:24:02 Gemini-Sector kernel: [    3.038522] usb 4-4: Manufacturer: Logitech
Mar 14 17:24:02 Gemini-Sector kernel: [    3.038987] random: udevd: uninitialized urandom read (16 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    3.049147] hid: raw HID events driver (C) Jiri Kosina
Mar 14 17:24:02 Gemini-Sector kernel: [    3.060819] usbcore: registered new interface driver usbhid
Mar 14 17:24:02 Gemini-Sector kernel: [    3.060820] usbhid: USB HID core driver
Mar 14 17:24:02 Gemini-Sector kernel: [    3.062288] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:12.0/usb4/4-4/4-4:1.0/0003:046D:C52E.0001/input/input1
Mar 14 17:24:02 Gemini-Sector kernel: [    3.121629] hid-generic 0003:046D:C52E.0001: input,hidraw0: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:12.0-4/input0
Mar 14 17:24:02 Gemini-Sector kernel: [    3.122030] input: Logitech USB Receiver Mouse as /devices/pci0000:00/0000:00:12.0/usb4/4-4/4-4:1.1/0003:046D:C52E.0002/input/input2
Mar 14 17:24:02 Gemini-Sector kernel: [    3.122125] input: Logitech USB Receiver Consumer Control as /devices/pci0000:00/0000:00:12.0/usb4/4-4/4-4:1.1/0003:046D:C52E.0002/input/input3
Mar 14 17:24:02 Gemini-Sector kernel: [    3.181500] input: Logitech USB Receiver System Control as /devices/pci0000:00/0000:00:12.0/usb4/4-4/4-4:1.1/0003:046D:C52E.0002/input/input4
Mar 14 17:24:02 Gemini-Sector kernel: [    3.181597] hid-generic 0003:046D:C52E.0002: input,hiddev0,hidraw1: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:12.0-4/input1
Mar 14 17:24:02 Gemini-Sector kernel: [    3.487865] PM: Image not found (code -22)
Mar 14 17:24:02 Gemini-Sector kernel: [    3.683029] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
Mar 14 17:24:02 Gemini-Sector kernel: [    3.724796] Not activating Mandatory Access Control as /sbin/tomoyo-init does not exist.
Mar 14 17:24:02 Gemini-Sector kernel: [    3.895967] random: udevd: uninitialized urandom read (16 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    3.896231] random: udevd: uninitialized urandom read (16 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    3.939518] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input7
Mar 14 17:24:02 Gemini-Sector kernel: [    3.939547] ACPI: Power Button [PWRB]
Mar 14 17:24:02 Gemini-Sector kernel: [    3.939612] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input8
Mar 14 17:24:02 Gemini-Sector kernel: [    3.940773] acpi_cpufreq: overriding BIOS provided _PSD data
Mar 14 17:24:02 Gemini-Sector kernel: [    3.957643] ACPI: Power Button [PWRF]
Mar 14 17:24:02 Gemini-Sector kernel: [    4.054242] random: lvm: uninitialized urandom read (4 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    4.064338] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
Mar 14 17:24:02 Gemini-Sector kernel: [    4.064442] sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO address
Mar 14 17:24:02 Gemini-Sector kernel: [    4.080231] gameport gameport0: EMU10K1 is pci0000:06:06.1/gameport0, io 0x9e00, speed 792kHz
Mar 14 17:24:02 Gemini-Sector kernel: [    4.080383] sp5100-tco sp5100-tco: initialized. heartbeat=60 sec (nowayout=0)
Mar 14 17:24:02 Gemini-Sector kernel: [    4.121889] input: PC Speaker as /devices/platform/pcspkr/input/input9
Mar 14 17:24:02 Gemini-Sector kernel: [    4.122636] [drm] radeon kernel modesetting enabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    4.123178] [drm:radeon_pci_probe [radeon]] *ERROR* radeon kernel modesetting for R600 or later requires firmware installed
Mar 14 17:24:02 Gemini-Sector kernel: [    4.123221] See https://wiki.debian.org/Firmware for information about missing firmware
Mar 14 17:24:02 Gemini-Sector kernel: [    4.127927] snd_emu10k1 0000:06:06.0: non-passthrough IOMMU detected, widening DMA allocations
Mar 14 17:24:02 Gemini-Sector kernel: [    4.132854] snd_emu10k1 0000:06:06.0: Installing spdif_bug patch: SB Audigy 2 Platinum [SB0240P]
Mar 14 17:24:02 Gemini-Sector kernel: [    4.199226] input: HDA ATI HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card1/input10
Mar 14 17:24:02 Gemini-Sector kernel: [    4.213240] kvm: Nested Virtualization enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    4.213248] SVM: kvm: Nested Paging enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    4.233228] MCE: In-kernel MCE decoding enabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    4.235765] EDAC amd64: F10h detected (node 0).
Mar 14 17:24:02 Gemini-Sector kernel: [    4.235787] EDAC amd64: Node 0: DRAM ECC disabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    4.301999] EDAC amd64: F10h detected (node 0).
Mar 14 17:24:02 Gemini-Sector kernel: [    4.302021] EDAC amd64: Node 0: DRAM ECC disabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    4.349890] EDAC amd64: F10h detected (node 0).
Mar 14 17:24:02 Gemini-Sector kernel: [    4.349912] EDAC amd64: Node 0: DRAM ECC disabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    4.381846] EDAC amd64: F10h detected (node 0).
Mar 14 17:24:02 Gemini-Sector kernel: [    4.381865] EDAC amd64: Node 0: DRAM ECC disabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    7.339055] random: lvm: uninitialized urandom read (4 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    7.441477] Adding 1952764k swap on /dev/sda2.  Priority:-2 extents:1 across:1952764k SSFS
Mar 14 17:24:02 Gemini-Sector kernel: [    7.456939] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
Mar 14 17:24:02 Gemini-Sector kernel: [    7.740641] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: errors=remount-ro
Mar 14 17:24:02 Gemini-Sector kernel: [    7.821597] random: dd: uninitialized urandom read (32 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    7.878778] r8169 0000:04:00.0: firmware: direct-loading firmware rtl_nic/rtl8168d-2.fw
Mar 14 17:24:02 Gemini-Sector kernel: [    7.878787] r8169 0000:04:00.0: Unable to load firmware rtl_nic/rtl8168d-2.fw (-22)
Mar 14 17:24:02 Gemini-Sector kernel: [    7.879675] RTL8211B Gigabit Ethernet r8169-0-400:00: attached PHY driver [RTL8211B Gigabit Ethernet] (mii_bus:phy_addr=r8169-0-400:00, irq=IGNORE)
Mar 14 17:24:02 Gemini-Sector kernel: [    7.948422] r8169 0000:04:00.0 eth0: Link is Down
Mar 14 17:24:02 Gemini-Sector kernel: [    8.013168] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
Mar 14 17:24:02 Gemini-Sector kernel: [    8.018315] xenbr0: port 1(eth0) entered blocking state
Mar 14 17:24:02 Gemini-Sector kernel: [    8.018317] xenbr0: port 1(eth0) entered disabled state
Mar 14 17:24:02 Gemini-Sector kernel: [    8.018393] device eth0 entered promiscuous mode
Mar 14 17:24:02 Gemini-Sector kernel: [    9.958500] r8169 0000:04:00.0 eth0: Link is Up - 1Gbps/Full - flow control rx/tx
Mar 14 17:24:02 Gemini-Sector kernel: [    9.958525] xenbr0: port 1(eth0) entered blocking state
Mar 14 17:24:02 Gemini-Sector kernel: [    9.958532] xenbr0: port 1(eth0) entered forwarding state
Mar 14 17:24:02 Gemini-Sector kernel: [   10.344586] random: dbus-uuidgen: uninitialized urandom read (12 bytes read)
Mar 14 17:24:03 Gemini-Sector kernel: [   11.901410] random: crng init done
Mar 14 17:24:03 Gemini-Sector kernel: [   11.901413] random: 12 urandom warning(s) missed due to ratelimiting
--abmob-adb2cd80-116f-4618-b871-47724293d146
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=devuan_var-log-syslog.log

............................................................................Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] Linux version 5.10.0-21-amd64 (debian-kernel@lists.debian.org
) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2) #1 SMP Debian 5.10.162-1 (2023-01-21)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.10.0-21-amd64 root=UUID=36792c57-a8bc-4264-93a9-6b9485700770 ro quiet
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] x86/fpu: x87 FPU will use FXSAVE
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-provided physical RAM map:
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009b7ff] usable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x000000000009f800-0x000000000009ffff] reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000cfceffff] usable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x00000000cfcf0000-0x00000000cfcf0fff] ACPI NVS
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x00000000cfcf1000-0x00000000cfcfffff] ACPI data
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x00000000cfd00000-0x00000000cfdfffff] reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000ffffffff] reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000042fffffff] usable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] NX (Execute Disable) protection: active
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] SMBIOS 2.4 present.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] DMI: Gigabyte Technology Co., Ltd. GA-890FXA-UD5/GA-890FXA-UD5, BIOS F6 11/24/2010
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] tsc: Fast TSC calibration using PIT
Mar 14 17:24:02 Gemini-Sector kernel: [    0.000000] tsc: Detected 2611.619 MHz processor
Mar 14 17:24:02 Gemini-Sector kernel: [    0.004391] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.004394] e820: remove [mem 0x000a0000-0x000fffff] usable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010357] AGP: No AGP bridge found
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010414] last_pfn = 0x430000 max_arch_pfn = 0x400000000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010417] MTRR default type: uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010419] MTRR fixed ranges enabled:
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010420]   00000-9FFFF write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010422]   A0000-BFFFF uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010423]   C0000-C7FFF write-protect
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010425]   C8000-FFFFF uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010426] MTRR variable ranges enabled:
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010428]   0 base 000000000000 mask FFFF80000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010430]   1 base 000080000000 mask FFFFC0000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010432]   2 base 0000C0000000 mask FFFFF0000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010433]   3 base 0000CFD00000 mask FFFFFFF00000 uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010434]   4 base 0000CFE00000 mask FFFFFFE00000 uncachable
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010436]   5 base 000100000000 mask FFFF00000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010437]   6 base 000200000000 mask FFFE00000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010438]   7 base 000400000000 mask FFFFE0000000 write-back
Mar 14 17:24:02 Gemini-Sector kernel: [    0.010440] TOM2: 0000000430000000 aka 17152M
Mar 14 17:24:02 Gemini-Sector kernel: [    0.011670] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WP  UC- WT
Mar 14 17:24:02 Gemini-Sector kernel: [    0.011752] e820: update [mem 0xcfd00000-0xffffffff] usable ==> reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.011760] last_pfn = 0xcfcf0 max_arch_pfn = 0x400000000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.013968] found SMP MP-table at [mem 0x000f46f0-0x000f46ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032578] Using GB pages for direct mapping
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032935] RAMDISK: [mem 0x34525000-0x36289fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032939] ACPI: Early table checksum verification disabled
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032943] ACPI: RSDP 0x00000000000F6100 000014 (v00 GBT   )
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032948] ACPI: RSDT 0x00000000CFCF1000 000044 (v01 GBT    GBTUACPI 42302E31 GBTU 01010101)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032955] ACPI: FACP 0x00000000CFCF1080 000074 (v01 GBT    GBTUACPI 42302E31 GBTU 01010101)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032961] ACPI: DSDT 0x00000000CFCF1100 007BE3 (v01 GBT    GBTUACPI 00001000 MSFT 03000000)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032965] ACPI: FACS 0x00000000CFCF0000 000040
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032968] ACPI: SSDT 0x00000000CFCF8DC0 00088C (v01 PTLTD  POWERNOW 00000001  LTP 00000001)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032972] ACPI: HPET 0x00000000CFCF9680 000038 (v01 GBT    GBTUACPI 42302E31 GBTU 00000098)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032977] ACPI: MCFG 0x00000000CFCF96C0 00003C (v01 GBT    GBTUACPI 42302E31 GBTU 01010101)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032980] ACPI: MATS 0x00000000CFCF9700 000034 (v01 GBT             00000000      00000000)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032984] ACPI: TAMG 0x00000000CFCF9770 000202 (v01 GBT    GBT   B0 5455312E BG?? 53450101)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032989] ACPI: APIC 0x00000000CFCF8D00 0000BC (v01 GBT    GBTUACPI 42302E31 GBTU 01010101)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032993] ACPI: IVRS 0x00000000CFCF99F0 0000C0 (v01 AMD    RD890S   00202031 AMD  00000000)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032997] ACPI: Reserving FACP table memory at [mem 0xcfcf1080-0xcfcf10f3]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032998] ACPI: Reserving DSDT table memory at [mem 0xcfcf1100-0xcfcf8ce2]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.032999] ACPI: Reserving FACS table memory at [mem 0xcfcf0000-0xcfcf003f]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033001] ACPI: Reserving SSDT table memory at [mem 0xcfcf8dc0-0xcfcf964b]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033002] ACPI: Reserving HPET table memory at [mem 0xcfcf9680-0xcfcf96b7]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033003] ACPI: Reserving MCFG table memory at [mem 0xcfcf96c0-0xcfcf96fb]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033004] ACPI: Reserving MATS table memory at [mem 0xcfcf9700-0xcfcf9733]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033005] ACPI: Reserving TAMG table memory at [mem 0xcfcf9770-0xcfcf9971]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033006] ACPI: Reserving APIC table memory at [mem 0xcfcf8d00-0xcfcf8dbb]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033007] ACPI: Reserving IVRS table memory at [mem 0xcfcf99f0-0xcfcf9aaf]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033020] ACPI: Local APIC address 0xfee00000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033068] Scanning NUMA topology in Northbridge 24
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033078] No NUMA configuration found
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033080] Faking a node at [mem 0x0000000000000000-0x000000042fffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033091] NODE_DATA(0) allocated [mem 0x42ffd6000-0x42fffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033663] Zone ranges:
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033664]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033666]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033668]   Normal   [mem 0x0000000100000000-0x000000042fffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033670]   Device   empty
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033671] Movable zone start for each node
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033676] Early memory node ranges
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033677]   node   0: [mem 0x0000000000001000-0x000000000009afff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033679]   node   0: [mem 0x0000000000100000-0x00000000cfceffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033680]   node   0: [mem 0x0000000100000000-0x000000042fffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033683] Initmem setup node 0 [mem 0x0000000000001000-0x000000042fffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033685] On node 0 totalpages: 4193418
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033687]   DMA zone: 64 pages used for memmap
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033688]   DMA zone: 21 pages reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033689]   DMA zone: 3994 pages, LIFO batch:0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033690]   DMA32 zone: 13236 pages used for memmap
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033691]   DMA32 zone: 847088 pages, LIFO batch:63
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033692]   Normal zone: 52224 pages used for memmap
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033693]   Normal zone: 3342336 pages, LIFO batch:63
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033697] On node 0, zone DMA: 1 pages in unavailable ranges
Mar 14 17:24:02 Gemini-Sector kernel: [    0.033749] On node 0, zone DMA: 101 pages in unavailable ranges
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046702] On node 0, zone Normal: 784 pages in unavailable ranges
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046887] ACPI: PM-Timer IO Port: 0x808
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046890] ACPI: Local APIC address 0xfee00000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046896] ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046897] ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046898] ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046899] ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046901] ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046902] ACPI: LAPIC_NMI (acpi_id[0x05] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046903] ACPI: LAPIC_NMI (acpi_id[0x06] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046904] ACPI: LAPIC_NMI (acpi_id[0x07] dfl dfl lint[0x1])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046912] IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046914] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046916] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046918] ACPI: IRQ0 used by override.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046919] ACPI: IRQ9 used by override.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046921] Using ACPI (MADT) for SMP configuration information
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046923] ACPI: HPET id: 0x10b9a201 base: 0xfed00000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046927] smpboot: Allowing 8 CPUs, 4 hotplug CPUs
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046943] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046945] PM: hibernation: Registered nosave memory: [mem 0x0009b000-0x0009ffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046946] PM: hibernation: Registered nosave memory: [mem 0x000a0000-0x000effff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046947] PM: hibernation: Registered nosave memory: [mem 0x000f0000-0x000fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046949] PM: hibernation: Registered nosave memory: [mem 0xcfcf0000-0xcfcf0fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046950] PM: hibernation: Registered nosave memory: [mem 0xcfcf1000-0xcfcfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046951] PM: hibernation: Registered nosave memory: [mem 0xcfd00000-0xcfdfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046952] PM: hibernation: Registered nosave memory: [mem 0xcfe00000-0xdfffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046953] PM: hibernation: Registered nosave memory: [mem 0xe0000000-0xefffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046954] PM: hibernation: Registered nosave memory: [mem 0xf0000000-0xfebfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046955] PM: hibernation: Registered nosave memory: [mem 0xfec00000-0xffffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046957] [mem 0xcfe00000-0xdfffffff] available for PCI devices
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046958] Booting paravirtualized kernel on bare hardware
Mar 14 17:24:02 Gemini-Sector kernel: [    0.046961] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645519600211568 ns
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052012] setup_percpu: NR_CPUS:8192 nr_cpumask_bits:8 nr_cpu_ids:8 nr_node_ids:1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052712] percpu: Embedded 63 pages/cpu s221184 r8192 d28672 u262144
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052718] pcpu-alloc: s221184 r8192 d28672 u262144 alloc=1*2097152
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052720] pcpu-alloc: [0] 0 1 2 3 4 5 6 7
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052756] Built 1 zonelists, mobility grouping on.  Total pages: 4127873
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052757] Policy zone: Normal
Mar 14 17:24:02 Gemini-Sector kernel: [    0.052758] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.10.0-21-amd64 root=UUID=36792c57-a8bc-4264-93a9-6b9485700770 ro quiet
Mar 14 17:24:02 Gemini-Sector kernel: [    0.055863] Dentry cache hash table entries: 2097152 (order: 12, 16777216 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.057394] Inode-cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.057432] mem auto-init: stack:off, heap alloc:on, heap free:off
Mar 14 17:24:02 Gemini-Sector kernel: [    0.069788] AGP: Checking aperture...
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075746] AGP: No AGP bridge found
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075750] AGP: Node 0: aperture [bus addr 0x7fe000000-0x7ffffffff] (32MB)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075751] Aperture beyond 4GB. Ignoring.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075752] AGP: Your BIOS doesn't leave an aperture memory hole
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075752] AGP: Please enable the IOMMU option in the BIOS setup
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075753] AGP: This costs you 64MB of RAM
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075757] AGP: Mapping aperture over RAM [mem 0xc4000000-0xc7ffffff] (65536KB)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.075759] PM: hibernation: Registered nosave memory: [mem 0xc4000000-0xc7ffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.096999] Memory: 3373884K/16773672K available (12295K kernel code, 2537K rwdata, 7560K rodata, 2660K init, 5468K bss, 487536K reserved, 0K cma-res
erved)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.097354] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=8, Nodes=1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.097375] ftrace: allocating 36545 entries in 143 pages
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112697] ftrace: allocated 143 pages with 5 groups
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112882] rcu: Hierarchical RCU implementation.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112884] rcu:       RCU restricting CPUs from NR_CPUS=8192 to nr_cpu_ids=8.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112885]    Rude variant of Tasks RCU enabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112886]    Tracing variant of Tasks RCU enabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112887] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.112888] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=8
Mar 14 17:24:02 Gemini-Sector kernel: [    0.118935] NR_IRQS: 524544, nr_irqs: 488, preallocated irqs: 16
Mar 14 17:24:02 Gemini-Sector kernel: [    0.119284] spurious 8259A interrupt: IRQ7.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121215] Console: colour VGA+ 80x25
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121232] printk: console [tty0] enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121256] ACPI: Core revision 20200925
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121377] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 133484873504 ns
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121392] APIC: Switch to symmetric I/O mode setup
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121463] AMD-Vi: [Firmware Bug]: : No southbridge IOAPIC found
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121495] AMD-Vi: Disabling interrupt remapping
Mar 14 17:24:02 Gemini-Sector kernel: [    0.121937] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141395] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x25a51c371bd, max_idle_ns: 440795253524 ns
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141398] Calibrating delay loop (skipped), value calculated using timer frequency.. 5223.23 BogoMIPS (lpj=10446476)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141402] pid_max: default: 32768 minimum: 301
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141482] LSM: Security Framework initializing
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141502] Yama: disabled by default; enable with sysctl kernel.yama.*
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141546] AppArmor: AppArmor initialized
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141548] TOMOYO Linux initialized
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141634] Mount-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.141687] Mountpoint-cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142043] LVT offset 0 assigned for vector 0xf9
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142048] process: using AMD E400 aware idle routine
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142050] Last level iTLB entries: 4KB 512, 2MB 16, 4MB 8
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142051] Last level dTLB entries: 4KB 512, 2MB 128, 4MB 64, 1GB 0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142054] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142056] Spectre V2 : Mitigation: Retpolines
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142057] Spectre V2 : Spectre v2 / SpectreRSB mitigation: Filling RSB on context switch
Mar 14 17:24:02 Gemini-Sector kernel: [    0.142058] Spectre V2 : Spectre v2 / SpectreRSB : Filling RSB on VMEXIT
Mar 14 17:24:02 Gemini-Sector kernel: [    0.150749] Freeing SMP alternatives memory: 32K
Mar 14 17:24:02 Gemini-Sector kernel: [    0.153405] process: System has AMD C1E enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265118] process: Switch to broadcast mode on CPU0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265124] smpboot: CPU0: AMD Phenom(tm) II X4 910e Processor (family: 0x10, model: 0x4, stepping: 0x3)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265328] Performance Events: AMD PMU driver.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265333] ... version:                0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265333] ... bit width:              48
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265334] ... generic registers:      4
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265335] ... value mask:             0000ffffffffffff
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265336] ... max period:             00007fffffffffff
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265337] ... fixed-purpose events:   0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265338] ... event mask:             000000000000000f
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265396] rcu: Hierarchical SRCU implementation.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265396] NMI watchdog: Enabled. Permanently consumes one hw-PMU counter.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265396] smp: Bringing up secondary CPUs ...
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265396] x86: Booting SMP configuration:
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265396] .... node  #0, CPUs:      #1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.006140] __common_interrupt: 1.55 No irq handler for vector
Mar 14 17:24:02 Gemini-Sector kernel: [    0.006140] process: Switch to broadcast mode on CPU1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.265396]  #2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.006140] __common_interrupt: 2.55 No irq handler for vector
Mar 14 17:24:02 Gemini-Sector kernel: [    0.006140] process: Switch to broadcast mode on CPU2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.267876]  #3
Mar 14 17:24:02 Gemini-Sector kernel: [    0.006140] __common_interrupt: 3.55 No irq handler for vector
Mar 14 17:24:02 Gemini-Sector kernel: [    0.006140] process: Switch to broadcast mode on CPU3
Mar 14 17:24:02 Gemini-Sector kernel: [    0.269466] smp: Brought up 1 node, 4 CPUs
Mar 14 17:24:02 Gemini-Sector kernel: [    0.269466] smpboot: Max logical packages: 2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.269466] smpboot: Total of 4 processors activated (20892.95 BogoMIPS)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.305057] node 0 deferred pages initialised in 28ms
Mar 14 17:24:02 Gemini-Sector kernel: [    0.305964] devtmpfs: initialized
Mar 14 17:24:02 Gemini-Sector kernel: [    0.305964] x86/mm: Memory block size: 128MB
Mar 14 17:24:02 Gemini-Sector kernel: [    0.307219] PM: Registering ACPI NVS region [mem 0xcfcf0000-0xcfcf0fff] (4096 bytes)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.307219] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
Mar 14 17:24:02 Gemini-Sector kernel: [    0.307219] futex hash table entries: 2048 (order: 5, 131072 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.307219] pinctrl core: initialized pinctrl subsystem
Mar 14 17:24:02 Gemini-Sector kernel: [    0.307219] NET: Registered protocol family 16
Mar 14 17:24:02 Gemini-Sector kernel: [    0.307219] DMA: preallocated 2048 KiB GFP_KERNEL pool for atomic allocations
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309513] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309923] DMA: preallocated 2048 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309936] audit: initializing netlink subsys (disabled)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] audit: type=2000 audit(1678811032.188:1): state=initialized audit_enabled=0 res=1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] thermal_sys: Registered thermal governor 'fair_share'
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] thermal_sys: Registered thermal governor 'bang_bang'
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] thermal_sys: Registered thermal governor 'step_wise'
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] thermal_sys: Registered thermal governor 'user_space'
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] thermal_sys: Registered thermal governor 'power_allocator'
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] cpuidle: using governor ladder
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] cpuidle: using governor menu
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: io port [9000, ffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] TOM: 00000000d0000000 aka 3328M
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] Fam 10h mmconf [mem 0xe0000000-0xe00fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: mmio [a0000, bffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: mmio [d0000000, dfffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: mmio [f0000000, ffffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] node 0 link 0: mmio [e0000000, e06fffff] ==> [e0100000, e06fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] TOM2: 0000000430000000 aka 17152M
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: [bus 00-06] on node 0 link 0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [io  0x0000-0xffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0x000a0000-0x000bffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0xd0000000-0xdfffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0xe0700000-0xffffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0xe0100000-0xe06fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] bus: 00 [mem 0x430000000-0xfcffffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] ACPI: bus type PCI registered
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] PCI: Using configuration type 1 for base access
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] mtrr: your CPUs had inconsistent variable MTRR settings
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] mtrr: probably your BIOS does not setup all CPUs.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.309955] mtrr: corrected configuration.
Mar 14 17:24:02 Gemini-Sector kernel: [    0.310909] Kprobes globally optimized
Mar 14 17:24:02 Gemini-Sector kernel: [    0.310920] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
Mar 14 17:24:02 Gemini-Sector kernel: [    0.310920] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(Module Device)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(Processor Device)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(3.0 _SCP Extensions)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(Processor Aggregator Device)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(Linux-Dell-Video)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.554293] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI: 2 ACPI AML tables successfully acquired and loaded
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKB (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKC (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKD (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.561249] ACPI Error: AE_NOT_FOUND, While resolving a named reference package element - LNKA (20200925/dspkginit-438)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.565721] ACPI: Interpreter enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    0.565742] ACPI: (supports S0 S3 S4 S5)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.565744] ACPI: Using IOAPIC for interrupt routing
Mar 14 17:24:02 Gemini-Sector kernel: [    0.565779] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
Mar 14 17:24:02 Gemini-Sector kernel: [    0.565930] ACPI: Enabled 9 GPEs in block 00 to 1F
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571332] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571338] acpi PNP0A03:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571605] PCI host bridge to bus 0000:00
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571608] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571609] pci_bus 0000:00: root bus resource [io  0x0d00-0xffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571611] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571612] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000dffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571614] pci_bus 0000:00: root bus resource [mem 0xcff00000-0xfebfffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571615] pci_bus 0000:00: root bus resource [bus 00-ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571628] pci 0000:00:00.0: [1002:5a11] type 00 class 0x060000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571637] pci 0000:00:00.0: [Firmware Bug]: reg 0x1c: invalid BAR (can't size)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571748] pci 0000:00:00.2: [1002:5a23] type 00 class 0x080600
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571857] pci 0000:00:02.0: [1002:5a16] type 01 class 0x060400
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571873] pci 0000:00:02.0: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.571897] pci 0000:00:02.0: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572009] pci 0000:00:05.0: [1002:5a19] type 01 class 0x060400
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572024] pci 0000:00:05.0: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572047] pci 0000:00:05.0: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572158] pci 0000:00:06.0: [1002:5a1a] type 01 class 0x060400
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572173] pci 0000:00:06.0: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572195] pci 0000:00:06.0: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572303] pci 0000:00:07.0: [1002:5a1b] type 01 class 0x060400
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572318] pci 0000:00:07.0: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572340] pci 0000:00:07.0: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572452] pci 0000:00:0d.0: [1002:5a1e] type 01 class 0x060400
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572467] pci 0000:00:0d.0: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572488] pci 0000:00:0d.0: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572611] pci 0000:00:11.0: [1002:4391] type 00 class 0x010601
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572623] pci 0000:00:11.0: reg 0x10: [io  0xff00-0xff07]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572630] pci 0000:00:11.0: reg 0x14: [io  0xfe00-0xfe03]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572637] pci 0000:00:11.0: reg 0x18: [io  0xfd00-0xfd07]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572643] pci 0000:00:11.0: reg 0x1c: [io  0xfc00-0xfc03]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572650] pci 0000:00:11.0: reg 0x20: [io  0xfb00-0xfb0f]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572657] pci 0000:00:11.0: reg 0x24: [mem 0xfdfff000-0xfdfff3ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572783] pci 0000:00:12.0: [1002:4397] type 00 class 0x0c0310
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572795] pci 0000:00:12.0: reg 0x10: [mem 0xfdffe000-0xfdffefff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572938] pci 0000:00:12.2: [1002:4396] type 00 class 0x0c0320
Mar 14 17:24:02 Gemini-Sector kernel: [    0.572950] pci 0000:00:12.2: reg 0x10: [mem 0xfdffd000-0xfdffd0ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573008] pci 0000:00:12.2: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573009] pci 0000:00:12.2: PME# supported from D0 D1 D2 D3hot
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573112] pci 0000:00:13.0: [1002:4397] type 00 class 0x0c0310
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573124] pci 0000:00:13.0: reg 0x10: [mem 0xfdffc000-0xfdffcfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573262] pci 0000:00:13.2: [1002:4396] type 00 class 0x0c0320
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573274] pci 0000:00:13.2: reg 0x10: [mem 0xfdffb000-0xfdffb0ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573332] pci 0000:00:13.2: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573333] pci 0000:00:13.2: PME# supported from D0 D1 D2 D3hot
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573452] pci 0000:00:14.0: [1002:4385] type 00 class 0x0c0500
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573591] pci 0000:00:14.3: [1002:439d] type 00 class 0x060100
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573732] pci 0000:00:14.4: [1002:4384] type 01 class 0x060401
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573864] pci 0000:00:14.5: [1002:4399] type 00 class 0x0c0310
Mar 14 17:24:02 Gemini-Sector kernel: [    0.573876] pci 0000:00:14.5: reg 0x10: [mem 0xfdffa000-0xfdffafff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574012] pci 0000:00:16.0: [1002:4397] type 00 class 0x0c0310
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574024] pci 0000:00:16.0: reg 0x10: [mem 0xfdff9000-0xfdff9fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574162] pci 0000:00:16.2: [1002:4396] type 00 class 0x0c0320
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574174] pci 0000:00:16.2: reg 0x10: [mem 0xfdff8000-0xfdff80ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574232] pci 0000:00:16.2: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574233] pci 0000:00:16.2: PME# supported from D0 D1 D2 D3hot
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574334] pci 0000:00:18.0: [1022:1200] type 00 class 0x060000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574415] pci 0000:00:18.1: [1022:1201] type 00 class 0x060000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574493] pci 0000:00:18.2: [1022:1202] type 00 class 0x060000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574570] pci 0000:00:18.3: [1022:1203] type 00 class 0x060000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574650] pci 0000:00:18.4: [1022:1204] type 00 class 0x060000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574780] pci 0000:01:00.0: [1002:68f9] type 00 class 0x030000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574793] pci 0000:01:00.0: reg 0x10: [mem 0xd0000000-0xdfffffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574801] pci 0000:01:00.0: reg 0x18: [mem 0xfddc0000-0xfdddffff 64bit]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574807] pci 0000:01:00.0: reg 0x20: [io  0xee00-0xeeff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574818] pci 0000:01:00.0: reg 0x30: [mem 0x00000000-0x0001ffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574822] pci 0000:01:00.0: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574858] pci 0000:01:00.0: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574941] pci 0000:01:00.1: [1002:aa68] type 00 class 0x040300
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574953] pci 0000:01:00.1: reg 0x10: [mem 0xfddfc000-0xfddfffff 64bit]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.574980] pci 0000:01:00.1: enabling Extended Tags
Mar 14 17:24:02 Gemini-Sector kernel: [    0.575015] pci 0000:01:00.1: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585431] pci 0000:00:02.0: PCI bridge to [bus 01]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585435] pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585437] pci 0000:00:02.0:   bridge window [mem 0xfdd00000-0xfddfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585440] pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585485] pci 0000:00:05.0: PCI bridge to [bus 02]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585488] pci 0000:00:05.0:   bridge window [io  0xd000-0xdfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585490] pci 0000:00:05.0:   bridge window [mem 0xfdc00000-0xfdcfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585492] pci 0000:00:05.0:   bridge window [mem 0xfdb00000-0xfdbfffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585517] pci 0000:00:06.0: PCI bridge to [bus 03]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585520] pci 0000:00:06.0:   bridge window [io  0xc000-0xcfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585521] pci 0000:00:06.0:   bridge window [mem 0xfda00000-0xfdafffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585524] pci 0000:00:06.0:   bridge window [mem 0xfd900000-0xfd9fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585570] pci 0000:04:00.0: [10ec:8168] type 00 class 0x020000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585585] pci 0000:04:00.0: reg 0x10: [io  0xbe00-0xbeff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585604] pci 0000:04:00.0: reg 0x18: [mem 0xfd5ff000-0xfd5fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585615] pci 0000:04:00.0: reg 0x20: [mem 0xfd5f8000-0xfd5fbfff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585624] pci 0000:04:00.0: reg 0x30: [mem 0x00000000-0x0001ffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585694] pci 0000:04:00.0: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.585696] pci 0000:04:00.0: PME# supported from D0 D1 D2 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597434] pci 0000:00:07.0: PCI bridge to [bus 04]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597438] pci 0000:00:07.0:   bridge window [io  0xb000-0xbfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597440] pci 0000:00:07.0:   bridge window [mem 0xfd600000-0xfd6fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597443] pci 0000:00:07.0:   bridge window [mem 0xfd500000-0xfd5fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597494] pci 0000:05:00.0: [8086:150e] type 00 class 0x020000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597506] pci 0000:05:00.0: reg 0x10: [mem 0xfd280000-0xfd2fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597523] pci 0000:05:00.0: reg 0x1c: [mem 0xfd4fc000-0xfd4fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597597] pci 0000:05:00.0: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597683] pci 0000:05:00.1: [8086:150e] type 00 class 0x020000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597695] pci 0000:05:00.1: reg 0x10: [mem 0xfd380000-0xfd3fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597712] pci 0000:05:00.1: reg 0x1c: [mem 0xfd4f8000-0xfd4fbfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597778] pci 0000:05:00.1: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597845] pci 0000:05:00.2: [8086:150e] type 00 class 0x020000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597856] pci 0000:05:00.2: reg 0x10: [mem 0xfd400000-0xfd47ffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597873] pci 0000:05:00.2: reg 0x1c: [mem 0xfd4f4000-0xfd4f7fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.597938] pci 0000:05:00.2: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.598007] pci 0000:05:00.3: [8086:150e] type 00 class 0x020000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.598019] pci 0000:05:00.3: reg 0x10: [mem 0xfd300000-0xfd37ffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.598036] pci 0000:05:00.3: reg 0x1c: [mem 0xfd4f0000-0xfd4f3fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.598101] pci 0000:05:00.3: PME# supported from D0 D3hot D3cold
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609431] pci 0000:00:0d.0: PCI bridge to [bus 05]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609435] pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609437] pci 0000:00:0d.0:   bridge window [mem 0xfd200000-0xfd4fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609439] pci 0000:00:0d.0:   bridge window [mem 0xfde00000-0xfdefffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609450] pci_bus 0000:06: extended config space not accessible
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609488] pci 0000:06:06.0: [1102:0004] type 00 class 0x040100
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609505] pci 0000:06:06.0: reg 0x10: [io  0x9f00-0x9f3f]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609584] pci 0000:06:06.0: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609645] pci 0000:06:06.1: [1102:7003] type 00 class 0x098000
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609661] pci 0000:06:06.1: reg 0x10: [io  0x9e00-0x9e07]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609736] pci 0000:06:06.1: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609779] pci 0000:06:06.2: [1102:4001] type 00 class 0x0c0010
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609797] pci 0000:06:06.2: reg 0x10: [mem 0xfd8ff000-0xfd8ff7ff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609807] pci 0000:06:06.2: reg 0x14: [mem 0xfd8f8000-0xfd8fbfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609882] pci 0000:06:06.2: supports D1 D2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609883] pci 0000:06:06.2: PME# supported from D0 D1 D2 D3hot
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609958] pci 0000:00:14.4: PCI bridge to [bus 06] (subtractive decode)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609961] pci 0000:00:14.4:   bridge window [io  0x9000-0x9fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609964] pci 0000:00:14.4:   bridge window [mem 0xfd800000-0xfd8fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609967] pci 0000:00:14.4:   bridge window [mem 0xfd700000-0xfd7fffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609969] pci 0000:00:14.4:   bridge window [io  0x0000-0x0cf7 window] (subtractive decode)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609970] pci 0000:00:14.4:   bridge window [io  0x0d00-0xffff window] (subtractive decode)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609971] pci 0000:00:14.4:   bridge window [mem 0x000a0000-0x000bffff window] (subtractive decode)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609973] pci 0000:00:14.4:   bridge window [mem 0x000c0000-0x000dffff window] (subtractive decode)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.609974] pci 0000:00:14.4:   bridge window [mem 0xcff00000-0xfebfffff window] (subtractive decode)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610238] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610288] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610335] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610380] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610425] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610470] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610515] ACPI: PCI Interrupt Link [LNK0] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.610560] ACPI: PCI Interrupt Link [LNK1] (IRQs 3 4 5 6 7 10 11) *0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611146] iommu: Default domain type: Translated
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] pci 0000:01:00.0: vgaarb: setting as boot VGA device
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] pci 0000:01:00.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] pci 0000:01:00.0: vgaarb: bridge control possible
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] vgaarb: loaded
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] EDAC MC: Ver: 3.0.0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] NetLabel: Initializing
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] NetLabel:  domain hash size = 128
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] NetLabel:  unlabeled traffic allowed by default
Mar 14 17:24:02 Gemini-Sector kernel: [    0.611174] PCI: Using ACPI for IRQ routing
Mar 14 17:24:02 Gemini-Sector kernel: [    0.613815] PCI: pci_cache_line_size set to 64 bytes
Mar 14 17:24:02 Gemini-Sector kernel: [    0.613873] e820: reserve RAM buffer [mem 0x0009b800-0x0009ffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.613874] e820: reserve RAM buffer [mem 0xcfcf0000-0xcfffffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.613898] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.613902] hpet0: 3 comparators, 32-bit 14.318180 MHz counter
Mar 14 17:24:02 Gemini-Sector kernel: [    0.617401] clocksource: Switched to clocksource tsc-early
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632217] VFS: Disk quotas dquot_6.6.0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632240] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632400] AppArmor: AppArmor Filesystem Enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632419] pnp: PnP ACPI init
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632538] system 00:00: [io  0x04d0-0x04d1] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632540] system 00:00: [io  0x0220-0x0225] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632542] system 00:00: [io  0x0290-0x0294] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632548] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632794] pnp 00:01: disabling [mem 0x00000000-0x00000fff window] because it overlaps 0000:01:00.0 BAR 6 [mem 0x00000000-0x0001ffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632798] pnp 00:01: disabling [mem 0x00000000-0x00000fff window disabled] because it overlaps 0000:04:00.0 BAR 6 [mem 0x00000000-0x0001ffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632830] system 00:01: [io  0x0900-0x091f] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632832] system 00:01: [io  0x0228-0x022f] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632833] system 00:01: [io  0x040b] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632835] system 00:01: [io  0x04d6] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632837] system 00:01: [io  0x0c00-0x0c01] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632838] system 00:01: [io  0x0c14] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632840] system 00:01: [io  0x0c50-0x0c52] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632841] system 00:01: [io  0x0c6c-0x0c6d] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632846] system 00:01: [io  0x0c6f] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632848] system 00:01: [io  0x0cd0-0x0cd1] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632849] system 00:01: [io  0x0cd2-0x0cd3] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632851] system 00:01: [io  0x0cd4-0x0cdf] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632852] system 00:01: [io  0x0800-0x08fe] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632853] system 00:01: [io  0x0a10-0x0a17] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632855] system 00:01: [io  0x0b00-0x0b0f] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632856] system 00:01: [io  0x0b10-0x0b1f] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632858] system 00:01: [io  0x0b20-0x0b3f] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632860] system 00:01: [mem 0xfee00400-0xfee00fff window] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.632864] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633013] pnp 00:02: Plug and Play ACPI device, IDs PNP0b00 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633369] pnp 00:03: Plug and Play ACPI device, IDs PNP0303 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633433] system 00:04: [mem 0xe0000000-0xefffffff] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633437] system 00:04: Plug and Play ACPI device, IDs PNP0c02 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633615] system 00:05: [mem 0x000d4200-0x000d7fff] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633617] system 00:05: [mem 0x000f0000-0x000f7fff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633618] system 00:05: [mem 0x000f8000-0x000fbfff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633620] system 00:05: [mem 0x000fc000-0x000fffff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633621] system 00:05: [mem 0xcfcf0000-0xcfcfffff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633623] system 00:05: [mem 0xffff0000-0xffffffff] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633624] system 00:05: [mem 0x00000000-0x0009ffff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633626] system 00:05: [mem 0x00100000-0xcfceffff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633627] system 00:05: [mem 0xcfd00000-0xcfdfffff] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633629] system 00:05: [mem 0xcfe00000-0xcfefffff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633630] system 00:05: [mem 0xfec00000-0xfec00fff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633632] system 00:05: [mem 0xfee00000-0xfee00fff] could not be reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633634] system 00:05: [mem 0xfff80000-0xfffeffff] has been reserved
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633637] system 00:05: Plug and Play ACPI device, IDs PNP0c01 (active)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.633656] pnp: PnP ACPI: found 6 devices
Mar 14 17:24:02 Gemini-Sector kernel: [    0.640014] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns
Mar 14 17:24:02 Gemini-Sector kernel: [    0.640113] NET: Registered protocol family 2
Mar 14 17:24:02 Gemini-Sector kernel: [    0.640541] IP idents hash table entries: 262144 (order: 9, 2097152 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.642670] tcp_listen_portaddr_hash hash table entries: 8192 (order: 5, 131072 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.642986] TCP established hash table entries: 131072 (order: 8, 1048576 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.643422] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.643632] TCP: Hash tables configured (established 131072 bind 65536)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.643767] UDP hash table entries: 8192 (order: 6, 262144 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.643884] UDP-Lite hash table entries: 8192 (order: 6, 262144 bytes, linear)
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644004] NET: Registered protocol family 1
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644010] NET: Registered protocol family 44
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644034] pci 0000:01:00.0: BAR 6: assigned [mem 0xfdd00000-0xfdd1ffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644037] pci 0000:00:02.0: PCI bridge to [bus 01]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644039] pci 0000:00:02.0:   bridge window [io  0xe000-0xefff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644042] pci 0000:00:02.0:   bridge window [mem 0xfdd00000-0xfddfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644044] pci 0000:00:02.0:   bridge window [mem 0xd0000000-0xdfffffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644046] pci 0000:00:05.0: PCI bridge to [bus 02]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644048] pci 0000:00:05.0:   bridge window [io  0xd000-0xdfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644050] pci 0000:00:05.0:   bridge window [mem 0xfdc00000-0xfdcfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644052] pci 0000:00:05.0:   bridge window [mem 0xfdb00000-0xfdbfffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644054] pci 0000:00:06.0: PCI bridge to [bus 03]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644056] pci 0000:00:06.0:   bridge window [io  0xc000-0xcfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644058] pci 0000:00:06.0:   bridge window [mem 0xfda00000-0xfdafffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644059] pci 0000:00:06.0:   bridge window [mem 0xfd900000-0xfd9fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644063] pci 0000:04:00.0: BAR 6: assigned [mem 0xfd600000-0xfd61ffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644064] pci 0000:00:07.0: PCI bridge to [bus 04]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644066] pci 0000:00:07.0:   bridge window [io  0xb000-0xbfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644068] pci 0000:00:07.0:   bridge window [mem 0xfd600000-0xfd6fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644070] pci 0000:00:07.0:   bridge window [mem 0xfd500000-0xfd5fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644073] pci 0000:00:0d.0: PCI bridge to [bus 05]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644075] pci 0000:00:0d.0:   bridge window [io  0xa000-0xafff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644077] pci 0000:00:0d.0:   bridge window [mem 0xfd200000-0xfd4fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644078] pci 0000:00:0d.0:   bridge window [mem 0xfde00000-0xfdefffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644082] pci 0000:00:14.4: PCI bridge to [bus 06]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644084] pci 0000:00:14.4:   bridge window [io  0x9000-0x9fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644088] pci 0000:00:14.4:   bridge window [mem 0xfd800000-0xfd8fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644091] pci 0000:00:14.4:   bridge window [mem 0xfd700000-0xfd7fffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644097] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7 window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644098] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644100] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644101] pci_bus 0000:00: resource 7 [mem 0x000c0000-0x000dffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644102] pci_bus 0000:00: resource 8 [mem 0xcff00000-0xfebfffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644104] pci_bus 0000:01: resource 0 [io  0xe000-0xefff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644105] pci_bus 0000:01: resource 1 [mem 0xfdd00000-0xfddfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644106] pci_bus 0000:01: resource 2 [mem 0xd0000000-0xdfffffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644107] pci_bus 0000:02: resource 0 [io  0xd000-0xdfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644109] pci_bus 0000:02: resource 1 [mem 0xfdc00000-0xfdcfffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644110] pci_bus 0000:02: resource 2 [mem 0xfdb00000-0xfdbfffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644111] pci_bus 0000:03: resource 0 [io  0xc000-0xcfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644113] pci_bus 0000:03: resource 1 [mem 0xfda00000-0xfdafffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644114] pci_bus 0000:03: resource 2 [mem 0xfd900000-0xfd9fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644115] pci_bus 0000:04: resource 0 [io  0xb000-0xbfff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644116] pci_bus 0000:04: resource 1 [mem 0xfd600000-0xfd6fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644117] pci_bus 0000:04: resource 2 [mem 0xfd500000-0xfd5fffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644119] pci_bus 0000:05: resource 0 [io  0xa000-0xafff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644120] pci_bus 0000:05: resource 1 [mem 0xfd200000-0xfd4fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644121] pci_bus 0000:05: resource 2 [mem 0xfde00000-0xfdefffff 64bit pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644123] pci_bus 0000:06: resource 0 [io  0x9000-0x9fff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644124] pci_bus 0000:06: resource 1 [mem 0xfd800000-0xfd8fffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644125] pci_bus 0000:06: resource 2 [mem 0xfd700000-0xfd7fffff pref]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644126] pci_bus 0000:06: resource 4 [io  0x0000-0x0cf7 window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644128] pci_bus 0000:06: resource 5 [io  0x0d00-0xffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644129] pci_bus 0000:06: resource 6 [mem 0x000a0000-0x000bffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644130] pci_bus 0000:06: resource 7 [mem 0x000c0000-0x000dffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.644132] pci_bus 0000:06: resource 8 [mem 0xcff00000-0xfebfffff window]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.663040] pci 0000:00:12.0: quirk_usb_early_handoff+0x0/0x710 took 18397 usecs
Mar 14 17:24:02 Gemini-Sector kernel: [    0.683023] pci 0000:00:13.0: quirk_usb_early_handoff+0x0/0x710 took 19279 usecs
Mar 14 17:24:02 Gemini-Sector kernel: [    0.703029] pci 0000:00:14.5: quirk_usb_early_handoff+0x0/0x710 took 19300 usecs
Mar 14 17:24:02 Gemini-Sector kernel: [    0.723025] pci 0000:00:16.0: quirk_usb_early_handoff+0x0/0x710 took 19517 usecs
Mar 14 17:24:02 Gemini-Sector kernel: [    0.723275] pci 0000:01:00.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]
Mar 14 17:24:02 Gemini-Sector kernel: [    0.723304] pci 0000:01:00.1: D0 power state depends on 0000:01:00.0
Mar 14 17:24:02 Gemini-Sector kernel: [    0.723331] PCI: CLS 64 bytes, default 64
Mar 14 17:24:02 Gemini-Sector kernel: [    0.723430] Trying to unpack rootfs image as initramfs...
Mar 14 17:24:02 Gemini-Sector kernel: [    1.274645] Freeing initrd memory: 30100K
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323361] pci 0000:00:00.2: can't derive routing for PCI INT A
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323364] pci 0000:00:00.2: PCI INT A: no GSI
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323400] pci 0000:00:00.0: Adding to iommu group 0
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323417] pci 0000:00:02.0: Adding to iommu group 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323430] pci 0000:00:05.0: Adding to iommu group 2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323442] pci 0000:00:06.0: Adding to iommu group 3
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323454] pci 0000:00:07.0: Adding to iommu group 4
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323469] pci 0000:00:0d.0: Adding to iommu group 5
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323481] pci 0000:00:11.0: Adding to iommu group 6
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323502] pci 0000:00:12.0: Adding to iommu group 7
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323514] pci 0000:00:12.2: Adding to iommu group 7
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323536] pci 0000:00:13.0: Adding to iommu group 8
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323553] pci 0000:00:13.2: Adding to iommu group 8
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323567] pci 0000:00:14.0: Adding to iommu group 9
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323580] pci 0000:00:14.3: Adding to iommu group 10
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323592] pci 0000:00:14.4: Adding to iommu group 11
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323607] pci 0000:00:14.5: Adding to iommu group 12
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323629] pci 0000:00:16.0: Adding to iommu group 13
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323642] pci 0000:00:16.2: Adding to iommu group 13
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323665] pci 0000:01:00.0: Adding to iommu group 14
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323679] pci 0000:01:00.1: Adding to iommu group 14
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323695] pci 0000:04:00.0: Adding to iommu group 15
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323708] pci 0000:05:00.0: Adding to iommu group 16
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323725] pci 0000:05:00.1: Adding to iommu group 17
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323738] pci 0000:05:00.2: Adding to iommu group 18
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323754] pci 0000:05:00.3: Adding to iommu group 19
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323759] pci 0000:06:06.0: Adding to iommu group 11
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323764] pci 0000:06:06.1: Adding to iommu group 11
Mar 14 17:24:02 Gemini-Sector kernel: [    1.323769] pci 0000:06:06.2: Adding to iommu group 11
Mar 14 17:24:02 Gemini-Sector kernel: [    1.374655] pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.374808] AMD-Vi: Lazy IO/TLB flushing enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    1.376691] LVT offset 1 assigned for vector 0x400
Mar 14 17:24:02 Gemini-Sector kernel: [    1.376700] LVT offset 1 assigned
Mar 14 17:24:02 Gemini-Sector kernel: [    1.376789] perf: AMD IBS detected (0x0000001f)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.377276] Initialise system trusted keyrings
Mar 14 17:24:02 Gemini-Sector kernel: [    1.377294] Key type blacklist registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.377376] workingset: timestamp_bits=36 max_order=22 bucket_order=0
Mar 14 17:24:02 Gemini-Sector kernel: [    1.378991] zbud: loaded
Mar 14 17:24:02 Gemini-Sector kernel: [    1.379249] integrity: Platform Keyring initialized
Mar 14 17:24:02 Gemini-Sector kernel: [    1.379251] Key type asymmetric registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.379252] Asymmetric key parser 'x509' registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.379260] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.379341] io scheduler mq-deadline registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.380954] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
Mar 14 17:24:02 Gemini-Sector kernel: [    1.380982] ACPI: ACPI: processor limited to max C-state 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.381391] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    1.381817] Linux agpgart interface v0.103
Mar 14 17:24:02 Gemini-Sector kernel: [    1.381851] AMD-Vi: AMD IOMMUv2 functionality not available on this system - This is not a bug.
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382205] i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382206] i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382343] serio: i8042 KBD port at 0x60,0x64 irq 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382449] mousedev: PS/2 mouse device common for all mice
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382486] rtc_cmos 00:02: RTC can wake from S4
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382662] rtc_cmos 00:02: registered as rtc0
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382699] rtc_cmos 00:02: setting system clock to 2023-03-14T16:23:53 UTC (1678811033)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382720] rtc_cmos 00:02: alarms up to one month, 242 bytes nvram, hpet irqs
Mar 14 17:24:02 Gemini-Sector kernel: [    1.382777] ledtrig-cpu: registered to indicate activity on CPUs
Mar 14 17:24:02 Gemini-Sector kernel: [    1.383267] NET: Registered protocol family 10
Mar 14 17:24:02 Gemini-Sector kernel: [    1.391668] Segment Routing with IPv6
Mar 14 17:24:02 Gemini-Sector kernel: [    1.391689] mip6: Mobile IPv6
Mar 14 17:24:02 Gemini-Sector kernel: [    1.391692] NET: Registered protocol family 17
Mar 14 17:24:02 Gemini-Sector kernel: [    1.391737] mpls_gso: MPLS GSO support
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392035] microcode: CPU0: patch_level=0x010000c8
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392040] microcode: CPU1: patch_level=0x010000c8
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392047] microcode: CPU2: patch_level=0x010000c8
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392054] microcode: CPU3: patch_level=0x010000c8
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392059] microcode: Microcode Update Driver: v2.2.
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392062] IPI shorthand broadcast: enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392071] sched_clock: Marking stable (1389838946, 2140900)->(1422316128, -30336282)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392154] registered taskstats version 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.392157] Loading compiled-in X.509 certificates
Mar 14 17:24:02 Gemini-Sector kernel: [    1.401265] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0
Mar 14 17:24:02 Gemini-Sector kernel: [    1.447842] Loaded X.509 cert 'Debian Secure Boot CA: 6ccece7e4c6c0d1f6149f3dd27dfcc5cbb419ea1'
Mar 14 17:24:02 Gemini-Sector kernel: [    1.447864] Loaded X.509 cert 'Debian Secure Boot Signer 2022 - linux: 14011249c2675ea8e5148542202005810584b25f'
Mar 14 17:24:02 Gemini-Sector kernel: [    1.447905] zswap: loaded using pool lzo/zbud
Mar 14 17:24:02 Gemini-Sector kernel: [    1.448114] Key type .fscrypt registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.448116] Key type fscrypt-provisioning registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.448175] AppArmor: AppArmor sha1 policy hashing enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    1.449987] Freeing unused decrypted memory: 2036K
Mar 14 17:24:02 Gemini-Sector kernel: [    1.450721] Freeing unused kernel image (initmem) memory: 2660K
Mar 14 17:24:02 Gemini-Sector kernel: [    1.469469] Write protecting the kernel read-only data: 22528k
Mar 14 17:24:02 Gemini-Sector kernel: [    1.470176] Freeing unused kernel image (text/rodata gap) memory: 2040K
Mar 14 17:24:02 Gemini-Sector kernel: [    1.470379] Freeing unused kernel image (rodata/data gap) memory: 632K
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515106] x86/mm: Checked W+X mappings: passed, no W+X pages found.
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515112] Run /init as init process
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515113]   with arguments:
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515114]     /init
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515115]   with environment:
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515115]     HOME=/
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515116]     TERM=linux
Mar 14 17:24:02 Gemini-Sector kernel: [    1.515117]     BOOT_IMAGE=/boot/vmlinuz-5.10.0-21-amd64
Mar 14 17:24:02 Gemini-Sector kernel: [    1.533140] random: udevd: uninitialized urandom read (16 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.533168] random: udevd: uninitialized urandom read (16 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.533180] random: udevd: uninitialized urandom read (16 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.553338] pps_core: LinuxPPS API ver. 1 registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.553340] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
Mar 14 17:24:02 Gemini-Sector kernel: [    1.554870] PTP clock support registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.555897] dca service started, version 1.12.1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.565535] r8169 0000:04:00.0: can't disable ASPM; OS doesn't have ASPM control
Mar 14 17:24:02 Gemini-Sector kernel: [    1.568866] r8169 0000:04:00.0 eth0: RTL8168d/8111d, 1c:6f:65:92:d2:20, XID 283, IRQ 30
Mar 14 17:24:02 Gemini-Sector kernel: [    1.568869] r8169 0000:04:00.0 eth0: jumbo features [frames: 9194 bytes, tx checksumming: ko]
Mar 14 17:24:02 Gemini-Sector kernel: [    1.569230] igb: Intel(R) Gigabit Ethernet Network Driver
Mar 14 17:24:02 Gemini-Sector kernel: [    1.569232] igb: Copyright (c) 2007-2014 Intel Corporation.
Mar 14 17:24:02 Gemini-Sector kernel: [    1.581800] SCSI subsystem initialized
Mar 14 17:24:02 Gemini-Sector kernel: [    1.601059] ACPI: bus type USB registered
Mar 14 17:24:02 Gemini-Sector kernel: [    1.601094] usbcore: registered new interface driver usbfs
Mar 14 17:24:02 Gemini-Sector kernel: [    1.601104] usbcore: registered new interface driver hub
Mar 14 17:24:02 Gemini-Sector kernel: [    1.601117] usbcore: registered new device driver usb
Mar 14 17:24:02 Gemini-Sector kernel: [    1.605621] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
Mar 14 17:24:02 Gemini-Sector kernel: [    1.608635] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
Mar 14 17:24:02 Gemini-Sector kernel: [    1.608731] ACPI Warning: SystemIO range 0x0000000000000B00-0x0000000000000B08 conflicts with OpRegion 0x0000000000000B00-0x0000000000000B0F (\SOR1)
(20200925/utaddress-204)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.608736] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
Mar 14 17:24:02 Gemini-Sector kernel: [    1.609682] libata version 3.00 loaded.
Mar 14 17:24:02 Gemini-Sector kernel: [    1.609903] ehci-pci: EHCI PCI platform driver
Mar 14 17:24:02 Gemini-Sector kernel: [    1.610233] QUIRK: Enable AMD PLL fix
Mar 14 17:24:02 Gemini-Sector kernel: [    1.610260] ehci-pci 0000:00:12.2: EHCI Host Controller
Mar 14 17:24:02 Gemini-Sector kernel: [    1.610268] ehci-pci 0000:00:12.2: new USB bus registered, assigned bus number 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.610273] ehci-pci 0000:00:12.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
Mar 14 17:24:02 Gemini-Sector kernel: [    1.610280] ehci-pci 0000:00:12.2: debug port 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.610325] ehci-pci 0000:00:12.2: irq 17, io mem 0xfdffd000
Mar 14 17:24:02 Gemini-Sector kernel: [    1.617448] ahci 0000:00:11.0: version 3.0
Mar 14 17:24:02 Gemini-Sector kernel: [    1.617720] ahci 0000:00:11.0: AHCI 0001.0200 32 slots 6 ports 6 Gbps 0x3f impl SATA mode
Mar 14 17:24:02 Gemini-Sector kernel: [    1.617723] ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part
Mar 14 17:24:02 Gemini-Sector kernel: [    1.618930] scsi host0: ahci
Mar 14 17:24:02 Gemini-Sector kernel: [    1.619410] scsi host1: ahci
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625419] ehci-pci 0000:00:12.2: USB 2.0 started, EHCI 1.00
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625524] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625525] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625527] usb usb1: Product: EHCI Host Controller
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625528] usb usb1: Manufacturer: Linux 5.10.0-21-amd64 ehci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625529] usb usb1: SerialNumber: 0000:00:12.2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625607] scsi host2: ahci
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625753] hub 1-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    1.625761] hub 1-0:1.0: 5 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626117] ehci-pci 0000:00:13.2: EHCI Host Controller
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626124] ehci-pci 0000:00:13.2: new USB bus registered, assigned bus number 2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626127] ehci-pci 0000:00:13.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626135] ehci-pci 0000:00:13.2: debug port 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626171] ehci-pci 0000:00:13.2: irq 17, io mem 0xfdffb000
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626208] scsi host3: ahci
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626365] scsi host4: ahci
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626527] scsi host5: ahci
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626595] ata1: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff100 irq 40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626598] ata2: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff180 irq 40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626600] ata3: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff200 irq 40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626602] ata4: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff280 irq 40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626603] ata5: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff300 irq 40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.626605] ata6: SATA max UDMA/133 abar m1024@0xfdfff000 port 0xfdfff380 irq 40
Mar 14 17:24:02 Gemini-Sector kernel: [    1.637947] igb 0000:05:00.0: added PHC on eth1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.637949] igb 0000:05:00.0: Intel(R) Gigabit Ethernet Network Connection
Mar 14 17:24:02 Gemini-Sector kernel: [    1.637951] igb 0000:05:00.0: eth1: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b:44:44
Mar 14 17:24:02 Gemini-Sector kernel: [    1.637953] igb 0000:05:00.0: eth1: PBA No: Unknown
Mar 14 17:24:02 Gemini-Sector kernel: [    1.637954] igb 0000:05:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645461] ehci-pci 0000:00:13.2: USB 2.0 started, EHCI 1.00
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645559] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645561] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645563] usb usb2: Product: EHCI Host Controller
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645564] usb usb2: Manufacturer: Linux 5.10.0-21-amd64 ehci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645565] usb usb2: SerialNumber: 0000:00:13.2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645684] hub 2-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    1.645692] hub 2-0:1.0: 5 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    1.646052] ehci-pci 0000:00:16.2: EHCI Host Controller
Mar 14 17:24:02 Gemini-Sector kernel: [    1.646057] ehci-pci 0000:00:16.2: new USB bus registered, assigned bus number 3
Mar 14 17:24:02 Gemini-Sector kernel: [    1.646061] ehci-pci 0000:00:16.2: applying AMD SB700/SB800/Hudson-2/3 EHCI dummy qh workaround
Mar 14 17:24:02 Gemini-Sector kernel: [    1.646068] ehci-pci 0000:00:16.2: debug port 1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.646102] ehci-pci 0000:00:16.2: irq 17, io mem 0xfdff8000
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665457] ehci-pci 0000:00:16.2: USB 2.0 started, EHCI 1.00
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665507] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665509] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665510] usb usb3: Product: EHCI Host Controller
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665511] usb usb3: Manufacturer: Linux 5.10.0-21-amd64 ehci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665512] usb usb3: SerialNumber: 0000:00:16.2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665630] hub 3-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    1.665638] hub 3-0:1.0: 4 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    1.677492] firewire_ohci 0000:06:06.2: added OHCI v1.10 device as card 0, 4 IR + 8 IT contexts, quirks 0x2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.690559] igb 0000:05:00.1: added PHC on eth2
Mar 14 17:24:02 Gemini-Sector kernel: [    1.690561] igb 0000:05:00.1: Intel(R) Gigabit Ethernet Network Connection
Mar 14 17:24:02 Gemini-Sector kernel: [    1.690563] igb 0000:05:00.1: eth2: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b:44:45
Mar 14 17:24:02 Gemini-Sector kernel: [    1.690565] igb 0000:05:00.1: eth2: PBA No: Unknown
Mar 14 17:24:02 Gemini-Sector kernel: [    1.690566] igb 0000:05:00.1: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.741908] igb 0000:05:00.2: added PHC on eth3
Mar 14 17:24:02 Gemini-Sector kernel: [    1.741910] igb 0000:05:00.2: Intel(R) Gigabit Ethernet Network Connection
Mar 14 17:24:02 Gemini-Sector kernel: [    1.741911] igb 0000:05:00.2: eth3: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b:44:46
Mar 14 17:24:02 Gemini-Sector kernel: [    1.741913] igb 0000:05:00.2: eth3: PBA No: Unknown
Mar 14 17:24:02 Gemini-Sector kernel: [    1.741915] igb 0000:05:00.2: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.793900] igb 0000:05:00.3: added PHC on eth4
Mar 14 17:24:02 Gemini-Sector kernel: [    1.793902] igb 0000:05:00.3: Intel(R) Gigabit Ethernet Network Connection
Mar 14 17:24:02 Gemini-Sector kernel: [    1.793904] igb 0000:05:00.3: eth4: (PCIe:5.0Gb/s:Width x4) 00:1b:21:9b:44:47
Mar 14 17:24:02 Gemini-Sector kernel: [    1.793906] igb 0000:05:00.3: eth4: PBA No: Unknown
Mar 14 17:24:02 Gemini-Sector kernel: [    1.793907] igb 0000:05:00.3: Using MSI-X interrupts. 4 rx queue(s), 4 tx queue(s)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.940751] ata6: SATA link down (SStatus 0 SControl 300)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.940776] ata1: SATA link down (SStatus 0 SControl 300)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.940802] ata4: SATA link down (SStatus 0 SControl 300)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.940828] ata2: SATA link down (SStatus 0 SControl 300)
Mar 14 17:24:02 Gemini-Sector kernel: [    1.940876] ata3: SATA link down (SStatus 0 SControl 300)
Mar 14 17:24:02 Gemini-Sector kernel: [    2.101468] ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
Mar 14 17:24:02 Gemini-Sector kernel: [    2.102222] ata5.00: supports DRM functions and may not be fully accessible
Mar 14 17:24:02 Gemini-Sector kernel: [    2.102250] ata5.00: ATA-10: CT2000MX500SSD1, M3CR045, max UDMA/133
Mar 14 17:24:02 Gemini-Sector kernel: [    2.102252] ata5.00: 3907029168 sectors, multi 1: LBA48 NCQ (depth 32), AA
Mar 14 17:24:02 Gemini-Sector kernel: [    2.102844] ata5.00: supports DRM functions and may not be fully accessible
Mar 14 17:24:02 Gemini-Sector kernel: [    2.103341] ata5.00: configured for UDMA/133
Mar 14 17:24:02 Gemini-Sector kernel: [    2.103475] scsi 4:0:0:0: Direct-Access     ATA      CT2000MX500SSD1  045  PQ: 0 ANSI: 5
Mar 14 17:24:02 Gemini-Sector kernel: [    2.104637] ohci-pci: OHCI PCI platform driver
Mar 14 17:24:02 Gemini-Sector kernel: [    2.105086] ohci-pci 0000:00:12.0: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.105094] ohci-pci 0000:00:12.0: new USB bus registered, assigned bus number 4
Mar 14 17:24:02 Gemini-Sector kernel: [    2.105132] ohci-pci 0000:00:12.0: irq 18, io mem 0xfdffe000
Mar 14 17:24:02 Gemini-Sector kernel: [    2.151609] sd 4:0:0:0: [sda] 3907029168 512-byte logical blocks: (2.00 TB/1.82 TiB)
Mar 14 17:24:02 Gemini-Sector kernel: [    2.151611] sd 4:0:0:0: [sda] 4096-byte physical blocks
Mar 14 17:24:02 Gemini-Sector kernel: [    2.151642] sd 4:0:0:0: [sda] Write Protect is off
Mar 14 17:24:02 Gemini-Sector kernel: [    2.151645] sd 4:0:0:0: [sda] Mode Sense: 00 3a 00 00
Mar 14 17:24:02 Gemini-Sector kernel: [    2.151673] sd 4:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165520] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165522] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165524] usb usb4: Product: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165525] usb usb4: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165526] usb usb4: SerialNumber: 0000:00:12.0
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165654] hub 4-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    2.165663] hub 4-0:1.0: 5 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    2.166024] ohci-pci 0000:00:13.0: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.166030] ohci-pci 0000:00:13.0: new USB bus registered, assigned bus number 5
Mar 14 17:24:02 Gemini-Sector kernel: [    2.166053] ohci-pci 0000:00:13.0: irq 18, io mem 0xfdffc000
Mar 14 17:24:02 Gemini-Sector kernel: [    2.178084]  sda: sda1 sda2 sda3 sda4
Mar 14 17:24:02 Gemini-Sector kernel: [    2.193787] sd 4:0:0:0: [sda] supports TCG Opal
Mar 14 17:24:02 Gemini-Sector kernel: [    2.193789] sd 4:0:0:0: [sda] Attached SCSI disk
Mar 14 17:24:02 Gemini-Sector kernel: [    2.196077] sd 4:0:0:0: Attached scsi generic sg0 type 0
Mar 14 17:24:02 Gemini-Sector kernel: [    2.201515] firewire_core 0000:06:06.2: created device fw0: GUID 00023c009103cf43, S400
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229494] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229497] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229498] usb usb5: Product: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229500] usb usb5: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229501] usb usb5: SerialNumber: 0000:00:13.0
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229564] device-mapper: uevent: version 1.0.3
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229648] device-mapper: ioctl: 4.43.0-ioctl (2020-10-01) initialised: dm-devel@redhat.com
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229681] hub 5-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    2.229691] hub 5-0:1.0: 5 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    2.230191] ohci-pci 0000:00:14.5: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.230199] ohci-pci 0000:00:14.5: new USB bus registered, assigned bus number 6
Mar 14 17:24:02 Gemini-Sector kernel: [    2.230228] ohci-pci 0000:00:14.5: irq 18, io mem 0xfdffa000
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293492] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293496] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293497] usb usb6: Product: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293499] usb usb6: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293500] usb usb6: SerialNumber: 0000:00:14.5
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293642] hub 6-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293650] hub 6-0:1.0: 2 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    2.293993] ohci-pci 0000:00:16.0: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.294000] ohci-pci 0000:00:16.0: new USB bus registered, assigned bus number 7
Mar 14 17:24:02 Gemini-Sector kernel: [    2.294025] ohci-pci 0000:00:16.0: irq 18, io mem 0xfdff9000
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357488] usb usb7: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357491] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357492] usb usb7: Product: OHCI PCI host controller
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357493] usb usb7: Manufacturer: Linux 5.10.0-21-amd64 ohci_hcd
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357494] usb usb7: SerialNumber: 0000:00:16.0
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357619] hub 7-0:1.0: USB hub found
Mar 14 17:24:02 Gemini-Sector kernel: [    2.357627] hub 7-0:1.0: 4 ports detected
Mar 14 17:24:02 Gemini-Sector kernel: [    2.393457] tsc: Refined TSC clocksource calibration: 2611.834 MHz
Mar 14 17:24:02 Gemini-Sector kernel: [    2.393473] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x25a5e752d40, max_idle_ns: 440795227132 ns
Mar 14 17:24:02 Gemini-Sector kernel: [    2.393492] clocksource: Switched to clocksource tsc
Mar 14 17:24:02 Gemini-Sector kernel: [    2.837454] usb 4-4: new full-speed USB device number 2 using ohci-pci
Mar 14 17:24:02 Gemini-Sector kernel: [    3.038516] usb 4-4: New USB device found, idVendor=046d, idProduct=c52e, bcdDevice=23.01
Mar 14 17:24:02 Gemini-Sector kernel: [    3.038519] usb 4-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Mar 14 17:24:02 Gemini-Sector kernel: [    3.038520] usb 4-4: Product: USB Receiver
Mar 14 17:24:02 Gemini-Sector kernel: [    3.038522] usb 4-4: Manufacturer: Logitech
Mar 14 17:24:02 Gemini-Sector kernel: [    3.038987] random: udevd: uninitialized urandom read (16 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    3.049147] hid: raw HID events driver (C) Jiri Kosina
Mar 14 17:24:02 Gemini-Sector kernel: [    3.060819] usbcore: registered new interface driver usbhid
Mar 14 17:24:02 Gemini-Sector kernel: [    3.060820] usbhid: USB HID core driver
Mar 14 17:24:02 Gemini-Sector kernel: [    3.062288] input: Logitech USB Receiver as /devices/pci0000:00/0000:00:12.0/usb4/4-4/4-4:1.0/0003:046D:C52E.0001/input/input1
Mar 14 17:24:02 Gemini-Sector kernel: [    3.121629] hid-generic 0003:046D:C52E.0001: input,hidraw0: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:12.0-4/input0
Mar 14 17:24:02 Gemini-Sector kernel: [    3.122030] input: Logitech USB Receiver Mouse as /devices/pci0000:00/0000:00:12.0/usb4/4-4/4-4:1.1/0003:046D:C52E.0002/input/input2
Mar 14 17:24:02 Gemini-Sector kernel: [    3.122125] input: Logitech USB Receiver Consumer Control as /devices/pci0000:00/0000:00:12.0/usb4/4-4/4-4:1.1/0003:046D:C52E.0002/input/input3
Mar 14 17:24:02 Gemini-Sector kernel: [    3.181500] input: Logitech USB Receiver System Control as /devices/pci0000:00/0000:00:12.0/usb4/4-4/4-4:1.1/0003:046D:C52E.0002/input/input4
Mar 14 17:24:02 Gemini-Sector kernel: [    3.181597] hid-generic 0003:046D:C52E.0002: input,hiddev0,hidraw1: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:12.0-4/input1
Mar 14 17:24:02 Gemini-Sector kernel: [    3.487865] PM: Image not found (code -22)
Mar 14 17:24:02 Gemini-Sector kernel: [    3.683029] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
Mar 14 17:24:02 Gemini-Sector kernel: [    3.724796] Not activating Mandatory Access Control as /sbin/tomoyo-init does not exist.
Mar 14 17:24:02 Gemini-Sector kernel: [    3.895967] random: udevd: uninitialized urandom read (16 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    3.896231] random: udevd: uninitialized urandom read (16 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    3.939518] input: Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input7
Mar 14 17:24:02 Gemini-Sector kernel: [    3.939547] ACPI: Power Button [PWRB]
Mar 14 17:24:02 Gemini-Sector kernel: [    3.939612] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input8
Mar 14 17:24:02 Gemini-Sector kernel: [    3.940773] acpi_cpufreq: overriding BIOS provided _PSD data
Mar 14 17:24:02 Gemini-Sector kernel: [    3.957643] ACPI: Power Button [PWRF]
Mar 14 17:24:02 Gemini-Sector kernel: [    4.054242] random: lvm: uninitialized urandom read (4 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    4.064338] sp5100_tco: SP5100/SB800 TCO WatchDog Timer Driver
Mar 14 17:24:02 Gemini-Sector kernel: [    4.064442] sp5100-tco sp5100-tco: Using 0xfed80b00 for watchdog MMIO address
Mar 14 17:24:02 Gemini-Sector kernel: [    4.080231] gameport gameport0: EMU10K1 is pci0000:06:06.1/gameport0, io 0x9e00, speed 792kHz
Mar 14 17:24:02 Gemini-Sector kernel: [    4.080383] sp5100-tco sp5100-tco: initialized. heartbeat=60 sec (nowayout=0)
Mar 14 17:24:02 Gemini-Sector kernel: [    4.121889] input: PC Speaker as /devices/platform/pcspkr/input/input9
Mar 14 17:24:02 Gemini-Sector kernel: [    4.122636] [drm] radeon kernel modesetting enabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    4.123178] [drm:radeon_pci_probe [radeon]] *ERROR* radeon kernel modesetting for R600 or later requires firmware installed
Mar 14 17:24:02 Gemini-Sector kernel: [    4.123221] See https://wiki.debian.org/Firmware for information about missing firmware
Mar 14 17:24:02 Gemini-Sector kernel: [    4.127927] snd_emu10k1 0000:06:06.0: non-passthrough IOMMU detected, widening DMA allocations
Mar 14 17:24:02 Gemini-Sector kernel: [    4.132854] snd_emu10k1 0000:06:06.0: Installing spdif_bug patch: SB Audigy 2 Platinum [SB0240P]
Mar 14 17:24:02 Gemini-Sector kernel: [    4.199226] input: HDA ATI HDMI HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card1/input10
Mar 14 17:24:02 Gemini-Sector kernel: [    4.213240] kvm: Nested Virtualization enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    4.213248] SVM: kvm: Nested Paging enabled
Mar 14 17:24:02 Gemini-Sector kernel: [    4.233228] MCE: In-kernel MCE decoding enabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    4.235765] EDAC amd64: F10h detected (node 0).
Mar 14 17:24:02 Gemini-Sector kernel: [    4.235787] EDAC amd64: Node 0: DRAM ECC disabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    4.301999] EDAC amd64: F10h detected (node 0).
Mar 14 17:24:02 Gemini-Sector kernel: [    4.302021] EDAC amd64: Node 0: DRAM ECC disabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    4.349890] EDAC amd64: F10h detected (node 0).
Mar 14 17:24:02 Gemini-Sector kernel: [    4.349912] EDAC amd64: Node 0: DRAM ECC disabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    4.381846] EDAC amd64: F10h detected (node 0).
Mar 14 17:24:02 Gemini-Sector kernel: [    4.381865] EDAC amd64: Node 0: DRAM ECC disabled.
Mar 14 17:24:02 Gemini-Sector kernel: [    7.339055] random: lvm: uninitialized urandom read (4 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    7.441477] Adding 1952764k swap on /dev/sda2.  Priority:-2 extents:1 across:1952764k SSFS
Mar 14 17:24:02 Gemini-Sector kernel: [    7.456939] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
Mar 14 17:24:02 Gemini-Sector kernel: [    7.740641] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: errors=remount-ro
Mar 14 17:24:02 Gemini-Sector kernel: [    7.821597] random: dd: uninitialized urandom read (32 bytes read)
Mar 14 17:24:02 Gemini-Sector kernel: [    7.878778] r8169 0000:04:00.0: firmware: direct-loading firmware rtl_nic/rtl8168d-2.fw
Mar 14 17:24:02 Gemini-Sector kernel: [    7.878787] r8169 0000:04:00.0: Unable to load firmware rtl_nic/rtl8168d-2.fw (-22)
Mar 14 17:24:02 Gemini-Sector kernel: [    7.879675] RTL8211B Gigabit Ethernet r8169-0-400:00: attached PHY driver [RTL8211B Gigabit Ethernet] (mii_bus:phy_addr=r8169-0-400:00, irq=IGNORE)
Mar 14 17:24:02 Gemini-Sector kernel: [    7.948422] r8169 0000:04:00.0 eth0: Link is Down
Mar 14 17:24:02 Gemini-Sector kernel: [    8.013168] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
Mar 14 17:24:02 Gemini-Sector kernel: [    8.018315] xenbr0: port 1(eth0) entered blocking state
Mar 14 17:24:02 Gemini-Sector kernel: [    8.018317] xenbr0: port 1(eth0) entered disabled state
Mar 14 17:24:02 Gemini-Sector kernel: [    8.018393] device eth0 entered promiscuous mode
Mar 14 17:24:02 Gemini-Sector kernel: [    9.958500] r8169 0000:04:00.0 eth0: Link is Up - 1Gbps/Full - flow control rx/tx
Mar 14 17:24:02 Gemini-Sector kernel: [    9.958525] xenbr0: port 1(eth0) entered blocking state
Mar 14 17:24:02 Gemini-Sector kernel: [    9.958532] xenbr0: port 1(eth0) entered forwarding state
Mar 14 17:24:02 Gemini-Sector kernel: [   10.344586] random: dbus-uuidgen: uninitialized urandom read (12 bytes read)
Mar 14 17:24:02 Gemini-Sector cron[1386]: (CRON) INFO (pidfile fd = 3)
Mar 14 17:24:02 Gemini-Sector cron[1391]: (CRON) STARTUP (fork ok)
Mar 14 17:24:02 Gemini-Sector cron[1391]: (CRON) INFO (Running @reboot jobs)
Mar 14 17:24:03 Gemini-Sector rsyslogd: [origin software="rsyslogd" swVersion="8.2102.0" x-pid="1337" x-info="https://www.rsyslog.com"] start
Mar 14 17:24:03 Gemini-Sector kernel: [   11.901410] random: crng init done
Mar 14 17:24:03 Gemini-Sector kernel: [   11.901413] random: 12 urandom warning(s) missed due to ratelimiting
--abmob-adb2cd80-116f-4618-b871-47724293d146--



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 16:48:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 16:48:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509757.786164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc7pB-00031X-Di; Tue, 14 Mar 2023 16:48:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509757.786164; Tue, 14 Mar 2023 16:48:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc7pB-00031Q-As; Tue, 14 Mar 2023 16:48:33 +0000
Received: by outflank-mailman (input) for mailman id 509757;
 Tue, 14 Mar 2023 16:48:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=xZxk=7G=web.de=tachyon_gun@srs-se1.protection.inumbo.net>)
 id 1pc7pA-00031K-Dc
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 16:48:32 +0000
Received: from mout.web.de (mout.web.de [217.72.192.78])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0c95ac23-c288-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 17:48:30 +0100 (CET)
Received: from [92.76.123.191] ([92.76.123.191]) by web-mail.web.de
 (3c-app-webde-bap40.server.lan [172.19.172.40]) (via HTTP); Tue, 14 Mar
 2023 17:48: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: 0c95ac23-c288-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
	t=1678812509; i=tachyon_gun@web.de;
	bh=1gyTEBwowXM9aU/Q1z3YD+/W3CW+OHoWlIDPEz22018=;
	h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
	b=NesM+Qvs8ogHzSBxGf0Xkjspoih/jeCtWSAF18P+OW2VdXyq7nCPYIzKtfFVSYoDf
	 MBVBJiDkIw4xpLZQ1wXpCoqDfO5PusvV4b7OHHlJa7Kho64KCFQrYrH6pwIAVtSHjc
	 sGHjUHxm6soMWgBf/3jX8Al7SB1H4XgxlDxyTyziONlhTpYkwKkApAm1tjnk/Abxtd
	 IFCxMKN2NsTlNtlZ3PgXyDniBZNG71381acSQ8nAeh4xOOyA2Mp3vRrTkMOUhpxS13
	 ax+SyFRbCtD8BQHVz7P84E0IS467zt14xwhVsB16hOJzpcZ8/TVRWX26EHANA1P88L
	 h3iSwYrZ7yNOw==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
MIME-Version: 1.0
Message-ID: <trinity-1d86f8fd-690a-4643-95e2-0f83d138c6ef-1678812509474@3c-app-webde-bap40>
From: Denis <tachyon_gun@web.de>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from Xen
 4.0.1
Content-Type: text/plain; charset=UTF-8
Date: Tue, 14 Mar 2023 17:48:29 +0100
Importance: normal
Sensitivity: Normal
In-Reply-To: <e5a4689e-27e1-6992-65f8-c59b669aeaf1@citrix.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
 <e5a4689e-27e1-6992-65f8-c59b669aeaf1@citrix.com>
Content-Transfer-Encoding: quoted-printable
X-UI-Message-Type: mail
X-Priority: 3
X-Provags-ID: V03:K1:X87UN3AmoOOb8Kf/4vzGp1+OnanpyUXK0nZE4dQygLHIJw739iT+GprNFE2XG4ezxWL/j
 jv9/azPeEtD8i488qJtrny2YG9ASLds9zeuPIJwz6Ip8Wvh83BfFAbuxQyxsV3Dzv6bJ2FrSmEum
 sYqoVBNBCTIK2a2P6F0aT/8K/yVFkhEAKToqvYOct9DppI1sudFIgzSnbaZRZCddSNAIiPczzHnW
 l2U13OLBLybWrhG83tEtH7tvnzwBIV7hcxUFSRkI22SWnqjD1zczlBLMPBu4F+7ipMjseN0Vq/JZ
 tQ=
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:v7NyQCeNBDU=;sarzqXg6rC/KoqtS0MgwuSh+qfN
 bLhkRpNLopj6o5xPUXv6T0oRcc6yxRzgnRh34hflXWW9x35X2BUQeHBB/XaZRoM8kkn9G4gR7
 xGnwGFFZCtnMmmRNfVDK/KGLWKT/L2EvEv5x0vQRySwJcbHX84i3d0/iz9/XPMCSgSjTNvl6u
 nOihSEArM4o5Yil9hwmisfMGvQgUnfUgZFDGZLmpgy6QczuR3m45JjnUSD3R3P994KN7nzy2p
 mgC3SjQT1AJ86ffl8moj4QB7Y5VhKoQ7VB0QvCQSjMjLdkH+CgF3UlYzncA/WgJyXAMTgUEFv
 XimEUFA7TRNm4ebgDTzSZHndnon3yY/AIKtB4y1JJiJWQNH24lFsx6AsHM1E5PDWv3RvnUsIH
 wH17npdkwFcq0HwIri4KYMNnL2LHxojBWqmhpcekphZfMYw1IfLxxVqVkPkonwr5A7qdzYbJq
 /yB36usYEHcxFLLiszAtREYJNOIYU0pF+3nUQhVW76nUna7TjLsD04cw4ilgJJnEaARJ6/yiy
 QcYygnDfPsU8g+rh7EspD6GMK48ee2N7ASX9XdmzhStnoC65EJcIXa7j/YWtmkdsD/aKrxdFD
 nsuCuON7t5buUNvS7ERoVC2XQXfn0ed9UCIl5MnDriX+iYBJ/4Hl8pNBMlw+qf/vqRSxarG1l
 Oie3RwJM8Ml48kMFTnv6zaKTBmiU+v3NTUMEe4oYPI1C82WSg3xCCeV/FRQyajpCVzoQg3fbJ
 udsY4SBQFCaRHzvmhhr9Pv7zkCWvPMnwA9O9ZuFcxygw7UkzaMHLOiyzPFkpCbJGFANMvT42j
 XRAMqfQZmMT1DtPyTohN319w==

On 14=2E03=2E2023 16:11, Andrew Cooper wrote:
> On 14/03/2023 2:53 pm, Denis wrote:
> > On 14=2E03=2E2023 07:37; Jan Beulich wrote:
> >> On 14=2E03=2E2023 02:15, Denis wrote:
> >>> On 13=2E03=2E2023 10:36, Jan wrote
> >>>> On 10=2E03=2E2023 21:50, Denis wrote:
> >>>>> Should I test something else?
> >>>> =2E=2E=2E there was no request for any further testing here, for th=
e moment=2E
> >>> ah=2E=2E=2Esorry, going by "Would be nice to have this confirmed for=
the system
> >>> in question, i=2Ee=2E without Xen underneath Linux" I thought I coul=
d test
> >>> something which might help shed some light on all of this=2E
> >> Well, yes, that Linux-without-Xen test would still be useful to have
> >> results from=2E I didn't account for this in my earlier reply because
> >> I had asked for it before already, and I did take "something else"
> >> for meaning anything that might have turned up as useful from the new
> >> data you had provided=2E
> > What tests could I do or what info should I provide to help?
>=20
> Can you please rebuild Xen with this patch:
>=20
> diff --git a/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> b/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> index 2fdebd2d74c9=2E=2E747eae25f56c 100644
> --- a/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> +++ b/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> @@ -1033,7 +1033,7 @@ static int __init parse_ivrs_table(struct
> acpi_table_header *table)
> =C2=A0=C2=A0=C2=A0=C2=A0 const struct acpi_ivrs_header *ivrs_block;
> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long length;
> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned int apic;
> -=C2=A0=C2=A0=C2=A0 bool_t sb_ioapic =3D !iommu_intremap;
> +=C2=A0=C2=A0=C2=A0 bool_t sb_ioapic =3D 1;
> =C2=A0=C2=A0=C2=A0=C2=A0 int error =3D 0;
> =C2=A0
> =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON(!table);
>=20
> which should cause the behaviour to revert back to that of Xen 4=2E0=2E1=
=C2=A0
> (i=2Ee=2E it will fully ignore the checks relating to the southbridge io=
apic)=2E
>=20
> Confirm that with this, and booting Xen simply with `iommu=3D1` that ful=
l
> DMA remapping and interrupt remapping is considered active=2E
>=20
>=20
> Then, can you play around with passing the soundblaster through to VMs=
=2E=C2=A0
> Looking at the LSPCI you provided, it only supports legacy line interrup=
ts=2E
>=20
> Does the device work fine, or do you get a bunch of errors on `xl dmesg`
> about IO page faults (which is a generic "IOMMU said no to something"
> message)?

Am I right to assume that I would need the source/header packages from=20
the Devuan 4=2E0 install and then re-compile Xen?

Denis


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 16:51:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 16:51:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509760.786174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc7s0-0004ap-RL; Tue, 14 Mar 2023 16:51:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509760.786174; Tue, 14 Mar 2023 16: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 1pc7s0-0004ai-OS; Tue, 14 Mar 2023 16:51:28 +0000
Received: by outflank-mailman (input) for mailman id 509760;
 Tue, 14 Mar 2023 16:51: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc7rz-0004aV-GT
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 16:51:27 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0614.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74e54e64-c288-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 17:51:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB7119.eurprd04.prod.outlook.com (2603:10a6:800:12e::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 16:51:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 16:51:22 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74e54e64-c288-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aa+NG87FK0ZOTqlUbmvfwvgJ8f4KTZOY/Yyy8rOC34uBTAa7B1iRXAEoz/7sP8qylo/az5rCKgE8R7qrR6Hw0abuVLC0petqUvLMlh9MKz7WnyYZRXskuqUX18SGVgNPnZEWEl20n3tjpzryoIFZU8pPKJxX7AChj6lUY+/mpzKjTb1OwR9mr3yzNY0S0bQJK8Gw+eeudihOPQ9x1NwgSdaYNVLy0/zt37b4A7zR7nd/tNHvSzo5l9w1fT+3tcE6VudXPlZaCoo24KCmUiA7aZqe4ZpdUkTJUMUlWRSJpMgm34OnmlDTYOzh7Z4GsQd5ccyDdUtzed1h0PPOApcfHA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E9bbwGVxemod56A7K+H+ymolx5Qk9ubg6kOAD9ibcZY=;
 b=J92okkjHe8oaGTw0lG7CpbNXdl392OIwZItkSoybjHNqTs1xt11vqMnAcKSJRapq1aSPip8X9pQVTRWUwnNX7u02UFVKYb9SV2i+q3p7olz3VAh5+UOHvIGZIzPAsPLJkMD3qO7TPTMVnd9Hmb1Morw6MAq/9DR5dIU6peU1fA3gXg//wjRVTaUs4J97HrlbRnsXd8C08GTGjDtfX81zabd8niSYj1iL1MQFrTbaAMksNKAer6ODLv32ZWd8V2JYK1S1F/dWaGNU7uiNqp6Yqj0sHphcyrfWT58Z3cj4uzfC/n8g+cYHh4r/MMbB7kZiOUnZOVlLlQsV+0+iM6sjWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E9bbwGVxemod56A7K+H+ymolx5Qk9ubg6kOAD9ibcZY=;
 b=PzTEfJWJ56qrqz9p5T5seUJxoN5x+Wtel1WanIcfAKwwPqzrFyEf9C81M0n9tkn2v/SWDAhXwg8uKUwy6WVeWwQk8JY9jTkFTtA82hfbV5IZ9Fz0J/yKCrQy5bXWA13Pqxp4QMHRIecAOVEgCnjwNe4EIaFd2LyNOv66o4vBgFPhveFalipzl00oGwjA4W2stacl33g0z4zk/X1Hcll5XrkjcCb2P3/ZmwXQnBVyLSv68gtqAaADUTBOguSvS38OHv9Mo3K6zxgakZOFfCmFmHuPSfpQkxXD4WAvkKc3BstbTQ2a+E6kLTy3NgWslCHozpY4ku62zuZGJXv171RBaw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0237e12d-f306-8273-15e3-b0233747ac32@suse.com>
Date: Tue, 14 Mar 2023 17:51:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] vpci/msix: handle accesses adjacent to the MSI-X table
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <20230314101331.4194-1-roger.pau@citrix.com>
 <d22fabea-5821-075d-07be-7e9378be1b5c@suse.com>
 <ZBB8ejEi4mBktBpb@Air-de-Roger>
 <69fdfa84-cec8-6e76-8b1a-ff4de835a908@suse.com>
 <ZBCiH+0wXvO98lEQ@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBCiH+0wXvO98lEQ@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0022.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB7119:EE_
X-MS-Office365-Filtering-Correlation-Id: 986b5df9-cff7-4160-5835-08db24ac577c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JGwxgjhtKniBRG14Gewmyh0lcg0+Dp1BTuuF5DlNhHHWXgI/uSDtqbZ3k6JDIX4Mez++SFgif76ZG56HqPyIt2rdWC9tg3nPKHp+QiKl2PyRW8JcR+UcZqnREU4+S9URO8v+lPraAamSDn2a3OIyz0As3+CY6jnGP8mtmq/AKKfD4J8c9VTU4QpajUkxYerFPldR5yFRFDR+n9kvlA/LLjTk7csheONpId8pnzHNcrJE5ue3a/ay+M2oL8DhZgvTAi8PPXVCcmkV2w4nwUzRTi1b4GBslu4Jj7Zin3Cui+qh3Po/TXhezhefy6b8QqC/hhw8uSD7yhiAS4UFuQi3dMv/nKUoikpp+5bM53qZCCxS2mhOxTxZsf8O689DJk4tOcfbnluxgCD4lzOjf5glEFoi2plT5qnpAKnm2X73caiHvUT8Cq8XbyGD7WJbxN/7F54HqgLVi78w5U2Sj7v9ohvTx5x5cluAcYZhFpk2ZHC0tivY/GUtCnlHnUweqeSv63QMUAzVbvt7vr3nmtWCt02R3bRywvMIYFiHKbfIRRX1GDjhiC98+8lbqq8NxaGhkjQut4po+GAOs5V3qFTVIyOujKAWZl9q/cTyq8lxTiumQtMw94AYxRWhCbyIyN+jqLA8Yefi8JuYEcNR9AGnHnJSBppDEfsXZ6dndKZUwWDOQD7yvqKPkKnC9cyqYktXcHH9057aVLq++ynl+N7iHcyO1dZ6dKKXNY0g+IbpGUs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(366004)(346002)(376002)(136003)(451199018)(66899018)(31686004)(41300700001)(5660300002)(8936002)(2906002)(86362001)(38100700002)(31696002)(36756003)(478600001)(66476007)(6916009)(66556008)(8676002)(66946007)(6486002)(2616005)(4326008)(316002)(26005)(6512007)(83380400001)(186003)(6506007)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QjFhOFYzMWFKbVNNYXM4N2IzdlcwQktEOUNWT1lPYXpQK29KM0l5cGp5Z3RX?=
 =?utf-8?B?RTB6SlJraTVXUGVyREo4bG1jZGJtQ1ZBSXNTWXlUbXY1dklwV01yN0lGejRi?=
 =?utf-8?B?cG5oMjl3NXhzT25JNEU4VzU4SkoxeWszNE9QN1MxMnIxZ01pN3BzQkRKbXov?=
 =?utf-8?B?dVNuZ0ExSWRLeE8rQ1lwdjM1OUM1NVVQYkdyTjVEbk9PaHZwT2Z0QURsNC9u?=
 =?utf-8?B?QW5SSmxhdG1sOXFCdEppSnNJYlNKRk1tMXNRZytvSW1hTWVSQi9hRzJIQlha?=
 =?utf-8?B?eGl4R3BMN1U2ejN1cXVJbzg1ZllJd1laNU1CTWo2cEVFQlJUa0wzOWg1OEFw?=
 =?utf-8?B?N1JURkw1akxYVVlZL1d0ZVRrbnA4akU1U2M4VDJvSDZkVWcvOVRrYldNMGFY?=
 =?utf-8?B?RFRkMmh2enJVQ3VmNk1aQS9MQWxzRS9oOGRuVmlsSEptcURWUlZmbjA2MHpw?=
 =?utf-8?B?RTRKN2V5NGhTc1dMSEM1K3ZEbHJRVFJtUDJqKzRxWnRkVmF4M2svZ0h3SFlv?=
 =?utf-8?B?NDV5azBodnUvZC9tOGxhL0tlbk11NkZDc3ZPRnhwSFR3dGtKNVdCVU1yRG5X?=
 =?utf-8?B?WFFER0lMV1FDbG5XUXc4bkZzaXBHU1JjQ1BML09CT2ozVlZCN0dCcGx3R1B2?=
 =?utf-8?B?TEd3QzBTVXlVVGZheXNtRitBNGlzK25wRW85TWNMcHE5WitLVEw3cG05YjA1?=
 =?utf-8?B?djhLRlNwbUdxdnBSOWJ4UkhONUdLNzI1UzFoYkgvMTFKOWxqdUJSVDFhYmJV?=
 =?utf-8?B?VW9iRnV3cWF4SkgyakRNTkRkcFdtMkd1Wm1ORDlBVlF1cFRCdEFLOGppbm93?=
 =?utf-8?B?NGVjSGtyMXdENnN0eWtMenhoTlRBUCtRYTJKUkRsOUczelRTMXhKWEtiVTVm?=
 =?utf-8?B?MXFwREdxekhuUkNqNUFJdGpoZ0ZIcWJ2YVZ2THNqc3VJM2Q1K3RBVm1ZellY?=
 =?utf-8?B?OEZEejFLR04vNVhWdDAxWWRCdm95ZHoxVXJJRzBUWVBKTFVOR1pzU3M5UFZB?=
 =?utf-8?B?UFFVbXlTQVdoMngyVDM0ZkRoaWhUYVlSdHNCd1YycS9HZzdMQ2MxZWZTUUlX?=
 =?utf-8?B?WUhWOStWMXQ0ZVBsb3FYQmdKU0JGdm4ra1I0aDFkTWw4YUg2SG9mUUpySEw1?=
 =?utf-8?B?VWxJTzJQLzFacC9nTjJ2cFlTY0JWTVE1WVU1dEZoNGlNMVJzaHhBRUFCZVVk?=
 =?utf-8?B?bXN0Q0lwQkg2MjdkWkxJaDlnV0I1RUM3UjJJbEVNS3kyY3NweU1VbUZjQzBI?=
 =?utf-8?B?dWtOeWVCU1FONTVDUUlVTGFaRzNpb0VGcjM5QWdMdFpIaHBjRmN5aldOc1pB?=
 =?utf-8?B?MVhveUNjUy9YU2F1VWVza2pyTTJBSlVMYWNXWU1iN2Z4UjR6YU9wMDRTSTRl?=
 =?utf-8?B?VTVaV1QvZmd0dVVjK0Rkclh5YjhKTjZwRmhKQ1I3a2dma0dwamRvU09NSEhp?=
 =?utf-8?B?bThwTTd5VDY1TFphT21LVDVIR2trZXBzMU9aTktIY2hCSzE5RkNaWDZObjNz?=
 =?utf-8?B?OHhJSUEwZG5yNkw3b2tWempHNWk5aGZyUXhiVm9BcnlxRllaRzB4OUU1Ykx0?=
 =?utf-8?B?elVDNVlMWnVwbUJNMVdrYnNKTzIrNEVrOTk1VEJHOGM4NDRmVFRWb3lDUVk1?=
 =?utf-8?B?VVg2L0RtbDNaby9WcTZjaThNR09JNnB3dW1sZjVHQmlyNFluTjJEbVVaMDRK?=
 =?utf-8?B?NmRlZUR5SDJsb0pNcGRub1l4dkkvSS9Sd3ZhN25IZnZGODBuQUZKWENPRUk2?=
 =?utf-8?B?WkFOR2NUejd3RmRGVjJrelg0b2dId3liZUdqZzB4djdrQVJTNXJ4cnBrc1JU?=
 =?utf-8?B?R1JtTjlzazFSNmUrVUJjZGNOaUNLdDBhNXl4M1Nsd2Z3ODJWV2twa0t3aGxO?=
 =?utf-8?B?ZWljclI4YmhVK1FzNGx2Z2NxRnV5L1IyL1NhdWVBKzFiRy82eFBkZXVLNUla?=
 =?utf-8?B?NFF2VFROcldoSGVDSUQyODEwV1Z4UVJRWnR0OHFqSEU5RXNVRVNaREpIU0sz?=
 =?utf-8?B?eCtIUWMxM0xFYXBlRmZFWUxBbm55Z0RPK3NFcnkvQWl1ZDdNRkRDcURvdU8w?=
 =?utf-8?B?dm1yRTRDVXppYmhNNTVuNmdSYUFXaHovTjlpYkkrRGhXcUxiU0p1OG1KMWFM?=
 =?utf-8?Q?uXGqd+JjDV4rYkKxsXkok9Ysz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 986b5df9-cff7-4160-5835-08db24ac577c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 16:51:22.5361
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PVGBA/yv9r/PCaN1pWFaz4bXzhAZeuid9PYnwkUA/EE+q4m2/rD7ewyRVtioe7S8yw17ksmQVm7Y3SYm2jzVDg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7119

On 14.03.2023 17:34, Roger Pau Monné wrote:
> On Tue, Mar 14, 2023 at 04:46:19PM +0100, Jan Beulich wrote:
>> On 14.03.2023 14:54, Roger Pau Monné wrote:
>>> On Tue, Mar 14, 2023 at 12:56:33PM +0100, Jan Beulich wrote:
>>>> On 14.03.2023 11:13, Roger Pau Monne wrote:
>>>> I'm also concerned of misaligned accesses: While we can't keep the
>>>> guest from doing such on pages we don't intercept, depending on the kind
>>>> of anomalies such may cause the effects there may be contained to that
>>>> guest. When doing the accesses from the hypervisor, bad effects could
>>>> affect the entire system. (FTAOD I don't mean to constrain guests, but I
>>>> do think we need to consider splitting misaligned accesses.)
>>>
>>> I was also wondering about misaligned accesses.  Should be allow dom0
>>> any kind of access, while limiting domUs to aligned only?
>>
>> I guess the code would be simpler we we treated both equally. As said,
>> my goal is not to refuse misaligned accesses, but to break them up. To
>> keep things simple we might even use purely byte accesses (and then
>> perhaps simply REP MOVSB). Special casing Dom0 would only add code for
>> no real gain.
> 
> Hm, I would be worried about then breaking the requirement of some
> registers being accessed using a specific size, but again we are
> dealing with misaligned accesses to a region that shouldn't contain
> registers in the first place.

Well, you name it: We're talking about a specific-width access which
at the same is misaligned. That doesn't sound very likely, and imo
wants caring about the earliest when such a case actually arises.

> FWIW, the device I currently have that has registers in the same page
> as the MSIX and the PBA tables is fine with limiting such accesses to
> aligned only.
> 
> What is it that worries you about Xen relying unaligned accesses
> instead of just the domain itself doing it on any other BAR MMIO it
> has directly mapped into the p2m?  Any error generated by the device
> in such setup would likely have the same effect, regardless of whether
> the access is in Xen or domain context.

It's more that doing this in Xen doesn't feel well. If I should provide
a contrived scenario, I'd point at #MC potentially being raised for
such an access. If further we'd assume we had better machine check
handling, then dealing with #MC coming from a guest can be expected to
be more likely to keep the host alive than if the #MC was raised in Xen
(and e.g. - didn't check here - possibly with some lock held).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 17:00:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 17:00:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509762.786184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc80L-00065U-PX; Tue, 14 Mar 2023 17:00:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509762.786184; Tue, 14 Mar 2023 17:00:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc80L-00065N-KB; Tue, 14 Mar 2023 17:00:05 +0000
Received: by outflank-mailman (input) for mailman id 509762;
 Tue, 14 Mar 2023 17: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=3caR=7G=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pc80K-0005sx-Uu
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 17:00:04 +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 a91aa2b4-c289-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 18:00:02 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB8015.eurprd04.prod.outlook.com (2603:10a6:102:c6::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 17:00:01 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 17:00:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a91aa2b4-c289-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jVjRBVrbEaqfIivCJhcUrm7wJPsA0Dt8flKHvJfc1/X7+J3XFpOsvZh/WE3gmqJ033EnKVpF56l3asvKqkPyS4IaMrXABkj1EURa4ITGJ9cRm62TvBjjWDr0D5VH8eXfw/IrseVfnQyLi8hIrqYQFuoTU3kCsBUQmJIU3vERDFxlsYpq4S31CCKAwshZCoHRoLMt2g56Vj+SrhT9Nd3blPzfYbCroh8DObdxI6QlVq+5DoPEBNVta3diOf0lcSoGnPvyxbzHPGZYAcjDSoClHMKgDrI0a3TK4v9D7DYMoczS1a9ifCZmhN1LfRMmdqfUF3Z2ufBgd0lSuMrBvtYJtQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TyZH6zVVFg7TQ7S4CfRsrF2bIkOJb5if0uVp/OE9tdo=;
 b=F6QdHcs6eIPm+j+6MMePCbtqk+8vq5VxxN3qIbcnGvUCZe95BE06dckiulxmJXeMSgTGvdRJSj7CSlDlTcjxt5gBJxzQxgyx5DovMjsgPNHCrwHc/bEB5waKuAyQQED0fBMIycd/nF2y1Yu7mWKDQQE7ksnqiWCpbuKFb5tCfBF2dNtLTMJzOTJ4E4I7vqVRmwWPnT9L3B8C0wm7lhgMbVCO8ugj0E9RTMKBCNWcc6/5st7AdsuJfhoTqydvopATHuhxpjlBIUeQuAnX+BPh6EOut7DVdUOu8MV88XuRRsmmBDHzdA6Dk8h4dc3M2r7maeK2XHdGTheySpHr2j6m/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=TyZH6zVVFg7TQ7S4CfRsrF2bIkOJb5if0uVp/OE9tdo=;
 b=itAxq4oZKDXztjZdGfTGoD8SVB4rasELil85VLT/g0tgGolmeiiah8V8bveO5s7iqdhqQkjbNHkBnlT/kKFAUyfO2cVatDckg0iJ6EaVaAsjCastoyhg+Bcnl2zNJcspXoBHuRo9qUf6Bt5/DNgbISlodUpnU47j481snL63sLHIfT04+WhH0n/purCVPSQYrQna04DynqWrRhnWIfEFYR9BDUNLpmm5BM3lJir8wMFqxqJ7XfgPPOhOhBavkuB1JHSH7CUsbEOhWppYJ/ozv5nrWJlU0ScxVETLrj9+Nrg8BCLggJ6rdlu98IONJWwS94RT5wWVkrCk0YivGJBoPA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <805f8cbd-e6ce-85bb-7ad6-3c461fc41c07@suse.com>
Date: Tue, 14 Mar 2023 17:59:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from Xen
 4.0.1
Content-Language: en-US
To: Denis <tachyon_gun@web.de>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
 <40da0146-21fa-d5a9-7ae1-4ed2cf4a5785@suse.com>
 <trinity-720cf1eb-48bc-4eba-9e14-e9eb570b1e7f-1678812331526@3c-app-webde-bap40>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <trinity-720cf1eb-48bc-4eba-9e14-e9eb570b1e7f-1678812331526@3c-app-webde-bap40>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0096.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB8015:EE_
X-MS-Office365-Filtering-Correlation-Id: d9dbbbd0-e40e-4836-ff98-08db24ad8c8f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zqifX++uen5q7dngcvjdeKxPRKqseyzERyjMQtC6s06M1njcGdgVOwku7vPdsrC1Xswhjplfc/K4wIZCTDN4DubNP3b834qyjURuLoBM/Y/Brof6UArG7SJb251Fk9MIkpjuMTx5VSDEQ6eckV6ULeLGOrauTyhBa993y8rEmclI5dgpb5kX8xHfgeDdxiCd3vqEKnGcLtTfB5nFVQDAQ1JAlj+4tHl5ucAbSuNKtoRNeEGUPF9tkdipkwz4O6Gmjk0TNvuFp/BpaaC49Ak2nhqAJ5veM1g7th+MPD3RgssoZDCKGtbVk7q17I8C1b/XrzxqK4CJ2hLTkAy+UQcrk8COvhJhTvQl3OKB1qsS6l/uB0Xe0zcmmFOmVCrWnMyzxSfeoyx+SDlKzW0AafZgmdrH76LoC7Z7NWQhnHMw/Dk41ZCjnmzldkvVnS65LobidULZkGN2eMiQCb85U8W50AHTR6aaz5ywZM7lGuMrpfocX2wT3cJq4urz1Ov8nS9JIPLcyn6U/4nVpXF+d8bS3PB00t8aSOqqw7zinwcG47I6jahABVUDWDxtxCmrO4G3z+urOYgqPijRxGYu3o0X+b6gsR+NY3/PSxBN9xh9vRW0krvbH0D0rtJBSrB5dB+ZvEoV9gK1tsUfsVbatwP559ZXfhkxo1ccUV4M9pr3KMgAysK5b6UTtJvw4FMVa7WQRSEsAJ1bnL3WDMuhzVeaXjNbrmh4ujjP/3qcW6te/PA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(376002)(396003)(346002)(39860400002)(366004)(451199018)(86362001)(31696002)(36756003)(8676002)(6916009)(478600001)(8936002)(41300700001)(2906002)(5660300002)(4744005)(54906003)(316002)(66946007)(66556008)(4326008)(66476007)(38100700002)(83380400001)(53546011)(6506007)(6512007)(6486002)(26005)(2616005)(186003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZDJHdmUxVGtCa0Q2MmNzMUd0eDZCM25vcEVITk1KNXI0dkl0a1NyK0J5cXps?=
 =?utf-8?B?VlI1S0NaYm9yWDRxeEJ6QkVhb1FpMUp2WmpjTzFIRGxJeEJOdG1tRHBZU3ZU?=
 =?utf-8?B?djhUTXRvTnYvRnpVaEZEemdRRUMrby9pYmFaZGl1UjQ5RHUwVTF0WnpsYkNG?=
 =?utf-8?B?bzB0SGpFYUZyQ1FBMVFVenNNYzFtL1NqUlU1V0FweE9sbU1jOTZCNmUzeExW?=
 =?utf-8?B?ZFExSU1rYk9EL0dTOG4xWnk5eVFJTEJCTXdyRnNnVHpJY3I3TitqYndzTWxp?=
 =?utf-8?B?NmFYYWxCeUsxVjRDZ3BJV0xKUGpUcWluM0lsSlZvcVRIUkp4ZnVtWWhEak1r?=
 =?utf-8?B?a0xmYnVHakN1NTJiejRUSm1yNTJxSm1vaWxJZkR5VTlsRGpGWDNEbmR6NHdX?=
 =?utf-8?B?V3Q2b2xzdzAzUUczV1hlUm1uZDh4cGtwOTlTa2xSVERGYTg4d0ZZeCsxMnBu?=
 =?utf-8?B?S3JnOFNGTHFNZFVvUG9Eb1NlbG5xc3RoendDbjRaVk4wcWI2RzNiSElvdWla?=
 =?utf-8?B?TnAwUXRzUHlhS0U2dXJmOWNybGNOOEZEUTRhUmxVejBtU1JQRGo5Nng1WXFK?=
 =?utf-8?B?M2MzTUNBTUlzcHhveGt2dWlOWTYwWmhCTjZLZjdvd3NMYWFQRnFNcUxYb2lw?=
 =?utf-8?B?K04yT0tMZm9FVmZTT0NwZUl5cml1REJ2MlNDZlNkMy9NODZtd2dpL1c0YXNv?=
 =?utf-8?B?OC9iTFdEN1BTVlQzNGRFRWNCc0pwTzZ0cmEvOE1leStkbEhDbkN4OENtYmpO?=
 =?utf-8?B?aEpTKzVuaHZNZUFhaGRRV2dmZFpwQUk2ZmFyUkxENVVFcWNManE3QzdNZzJC?=
 =?utf-8?B?NVFLRlhmRnZtaFlnRlNGaGRGMG5qWHRNdkVUeTF3N1lpSE9vcTBwTm8vaHIv?=
 =?utf-8?B?M1VvaHExS3BoOThISFNyWUcrdjE5R2VqanVmVWVpYXIvMnk1eXkxcjlYUGRB?=
 =?utf-8?B?cFM4Vkx3dCtmN3pOQUxVYkswRHVMSjlHVmRydWQzR3hlVHJ0T1VlWHVBMVY2?=
 =?utf-8?B?RzJCWmpLV2ErNkFkcHl5VWxGVUZEdWRzajg3cE40SkxoR3hJM1NYRWs0dk8z?=
 =?utf-8?B?dkVTMXUvVGhxN2JhVzEzTVJKRnpIVDFQanllRUhlUXRZNlc2L3daY1FxQ2Vh?=
 =?utf-8?B?V3MrSm9Ud1NzVm9EekJyRHpWK0x0ZXpheFMwMzQ4M1JxaDdLR2tWKzRKbGRE?=
 =?utf-8?B?cXRLQklMOUhadXJWcE9wMksxZmhXMVMzQWdhR3FqOGhDdk43Y2xSb2l4NmF0?=
 =?utf-8?B?SW9LSTYxZ2NEOTRWWU9xQ3NtaVE0N2YzNUJJendKQTBHRGtDaHU5Ky9nSW1D?=
 =?utf-8?B?NEx4d2IzbEVDT3BqT0d3RnMzTHJzai9zTmdhZmhOS3NQY1dEdEQzSXlEYWJN?=
 =?utf-8?B?M2VNd3I5RnVTZFlJNlBHUmg0YVRxVlNvNHB4TW11cWFQOHFUZlVmOG13TGhP?=
 =?utf-8?B?WDMzcDhXa0RFQi9rNitZUHIrV0pncjUwMzFjcVo2UHhnellROWtxYk5Yb1pK?=
 =?utf-8?B?NlJBaUh3a0FhWFZqQXZYV3hpeWplTDFpc0xBQWFHYXdpVmNVVExKNng4RHI2?=
 =?utf-8?B?elNIelNySE94djUzZGhyN1dac2dORFU0RFBCeW9kWXB3dU4zbHpUeVlPTjVp?=
 =?utf-8?B?UzZjUUR3UDR5QkhNY0ErSHdnQXlYWW1PbG9rWjFLSEJqeDRUNnQ3bStLZEN4?=
 =?utf-8?B?QldPY3ZmNDg1Y2ZqdTI3ZUZXTGR2dVk1V3VDak1nNndWRWVXUE83TEd3Z0pK?=
 =?utf-8?B?MWxXTWNjZEJhU1dDSzErSzhtT0RHYkx1SGdZdEtyeENVY0tmMEN6SEtrTFhP?=
 =?utf-8?B?OE96N1VGTnE2emc2cG8ySUM3TzlKdWgrelhRTU1RRG9jUTRLM29WZGdNZWhJ?=
 =?utf-8?B?VzhQWjFYZHk5a1N0TW5nR0JCL3dJYktkMUdrUDgwVkt3UEZZSFFleWNtUmh4?=
 =?utf-8?B?U1A0dlNYc1AzU0JSRHByd0xNQkxtSjVoWEM2ZUp2b3MvcUJWd04zTXl2cGRj?=
 =?utf-8?B?V3Y4d0FKQ2FkUWt4VFZySGJqOFh4WGM2OVI0K2JFTEpuQkU1V3F2R0RGbVdB?=
 =?utf-8?B?eVh4UDk1ck9wQXZWVmtwcG9VYkRiakFGaWJaUTZLSm1tMENtejBXL0paR0py?=
 =?utf-8?Q?al3u7FmKf0Ewq/5S8pVBVRcuq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d9dbbbd0-e40e-4836-ff98-08db24ad8c8f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 17:00:01.0809
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IHhv9zwWnw0tRLHDUzQ7BuVhF5eaH/rjpmMAYtCihLGRQZOMdmHrnqvsVnntk50Oy6EXB4r3h4CWBHQVFE3AYQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8015

On 14.03.2023 17:45, Denis wrote:
> On 14.03.2023 16:37, Jan Beulich wrote:
>> On 14.03.2023 15:53, Denis wrote:
>>> What tests could I do or what info should I provide to help?
>>
>> Boot plain Linux (no Xen underneath) and collect the full set of kernel
>> boot messages (some distros store this at /var/log/boot.msg); "full"
>> meaning we want to be able to see all output regardless of log-level.
> 
> I'll attach some files from /var/log.

Thanks, and there we go:

[    0.121463] AMD-Vi: [Firmware Bug]: : No southbridge IOAPIC found
[    0.121495] AMD-Vi: Disabling interrupt remapping

It's 5.10, so somewhat old already, but from looking at the code I wouldn't
expect anything else with a newer kernel.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 17:02:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 17:02:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509764.786194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc82T-0006nv-40; Tue, 14 Mar 2023 17:02:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509764.786194; Tue, 14 Mar 2023 17: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 1pc82T-0006no-0o; Tue, 14 Mar 2023 17:02:17 +0000
Received: by outflank-mailman (input) for mailman id 509764;
 Tue, 14 Mar 2023 17:02: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=9LtO=7G=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pc82R-0006ni-Bx
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 17:02:15 +0000
Received: from sonic316-54.consmr.mail.gq1.yahoo.com
 (sonic316-54.consmr.mail.gq1.yahoo.com [98.137.69.30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5940de4-c289-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 18:02:11 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic316.consmr.mail.gq1.yahoo.com with HTTP; Tue, 14 Mar 2023 17:02:09 +0000
Received: by hermes--production-bf1-777648578f-pgmvp (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 70d6441b4f412abd251a2fd1cbdb7763; 
 Tue, 14 Mar 2023 17:02: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: f5940de4-c289-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678813329; bh=OKYq/F/8DdojmmxizWqZYA3xp5uBMCQE9e0reLMfoDw=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=Zcw2T+Lzlwi4jYbO0oHwne1+ATehdeNp6kUdcwfSkEYl3qrNVY7otH69tJf9Z401A+iLKLQ1VL5jbIRHEM/Iqo0QxfLi4l+dNpwrC6sH1UJN9l+5scMtE9FmvkAWnU8eznlM37oElv/Jl7MkI3P05UV9SVFQzsXj/LrOLxStTyxRpdXmRcBCVCwMte3t6+7xp2ne1gdWvOX//OznTw3i+HSI/bKWiayYtWnf6EpLuZCC0qb2Yurl1DWsE+l3o96/+Knjdt87B43ud5evCyN2o+LDqE7oclv2x3Yem/HTe07REcDRzt/YEWd9IJm8rUyHIDR5xP1oJC1T96onBuHNvw==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678813329; bh=hFb5I54dmCyElOH3uvJ27VcHVGpXNZX+HGwm4hV2+dH=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=XnsMiCga4gVNbnR7OBUQR1szUVowd9rfDD7iwU96LFjm8MDI3XnRhvIO/y+L1Qr8d/mFBmqoEDL304kh/aaSCWCDWnzuExweRSuDPS9W2qHQJRDt8TpwlqoSXKK5rGzUBosciXCL5LBy2nsXP9hnYWmHmDe4UcM2mDTvRZFogS+4XeqLznuNBPhQEF/Z9fCtJTU9o+7uEJwHdv3ULCuVeopsRzUzLL640gVeOgjk5ybNPoIHUKL/53wGXVzBJ9y1b6P5hiyijZwFKv1H5SB9wzcSKRH80Jc69iYQNwroRXOmPClineoFj4dkTzDJWV7ZZ3GEjvpBgGdKGB24pm73TA==
X-YMail-OSG: QsgS3D8VM1kcXht_fPCfad5goOgp52YV7vOM9sxx5cO9Tf8_OX4PM1G9_4J8ANh
 kwSEYqlkAgvnjm6MCwcci_TfGM_NHhKjE1D338LGd7f1O..ng4bgNh3Gzubiy__CynUcpybMN6SD
 RTUn5FYnZZOKnl.j42Td6jzVB0hLkwxvLy1OzoJQ0nJ6XSXTPayN6ur6_nq02fbcEFj5q3oJ5KY.
 ceTn7qgrUYxczJnxikpULhHouAuJmXXGO954t2ZpQ6ymkCsJ6WDPPJMn9syA_AuCyZuCS6S14F.s
 N2QFdEOWgzMv7IaSOdCOPHhp7NDLqInnJDqzEWrzHQN4WP4xpghGiiF9Sv4IE7m7BTZ0M1ze5PpE
 mdJadoN4DUk1vx3KGBbpPrS566zpZPFICmdcisN48B_isazfwimwBulbMlvg6VlDB2LcFf7X27wa
 zVLK8EqRGu5fdqlmfJfZY44DAZ9b_yy7kUhQuY6dC8edHGtSdM.SqGf8PdEs0vM5NsiPK9BN1w1s
 5UrwcjwU6xILt2.MLz7XGS_5eQ60L7mWPyAMjGlwEu8DHk90aPnSfN.ISZGIW6VFi.J8N3g1lgN5
 UCvSPqBl_hwHGGYC306T5XRsdqDxgwNVycr4XYrMa7UalFHblCjoOyawMSsbw61.5jte2F0p717F
 TsxH042Gq5fGuYpWo03cg4H2_rD1Ic.WA6vSDvnl7.MT.TDfm.IybH_yyJUtjaGxrHLNnZZ.LgrH
 xah1ZdJPvYlkDmLxZXRXx0rYVLKD3Zzmyh7iR57ONUPvViypCXaytlw13dM0lEmo_LKqAvMaTCKc
 gb6wlBEaazDpkCO7PJgcjVF.Ytvi8itilmEpIxThPejAeKYo.L7ko8wYFbegvs51tzN4o7i4aJ0D
 ZDN5GF7APVedzlyre_14wTbmXuFFlIiMLOxxywuEyHWj9jY3dvHjP47C_91BPPXyc2bu5pSJK8h4
 tGreq_WbhimIBKXGhFTtNTCw5o_IWJU4VTUFbmHM2t5FWXSv4nUjzAbBoAd47bObezu_LaVYxml2
 V.XbjCacMPi2.0D4e18PhWjcTb2vcus2NvQThe.ZQAz7yxy7CuoSaFXEDUU3UdLHb.k.mCbdKwD5
 jWVvpfJHKWBX2JPp5w9SB75uPI8Pen2GjAp3PwIqfaw5AELEnT9l9jFqBXwZfZx2uhpYuGiNZ8go
 LCLpry3.uqe9MwL.raDbmmEJ3wyvVP7zB_vE0Hh3nWLKEDR4N.fXnosnyoNg27t1MsUlbarFDygy
 q.pbD2q3StDuBM1YY5NYCQE0oTCSdzprkyu8AzsWkhyHMuA0vOM9NcDZjKwW9K1z8fZ0Cu18tcaV
 Z4LQGz3zKZH8n7tR6KqIUGB8tnyneODvD_MjkWopmUQBiSNvKFU30RyKU4F8vbx64QZOSCvQjtOo
 BvezYE9lnPdKQgtED1RulRHdBgR_KFfid7Dvf9BQGvPXqfwHESD52BaV3zCsaCSlZUXxJYf2ZIv7
 b9uI.Zpb3gjXHeRaQve7OxXbcEzIlzGYZTEEVVDLmsewgCi0gHTta5kejsyi9zK7JjJXMs7UfS2j
 SVSA96j5v8tcTHumgpDYxi0B6CPk8RIQwG5rNjcPsmxNPZClwSF5seqD0WBN58UN0cJonoiU32DC
 2N33vakg6eeOXzTZIOU6gTi0kMkDrc.KJeHXdG8OuOx70Vdsm2Ftl0uzbL47WyUmPl5SityPBYNC
 XL_yB7B3ug2HjocW7XPvhRDDXd.obeUSEsa3OMnHMjEm29yp.IX2McdkTJmDxg_r03.N.XF_e5Qq
 oamdK0N9lL40ZeMJfS.nPEs.HdbpEEqNdxl9tNzNV6GIuCt8dbMzJN8_7ZuapEIZscvmTlRCbxcX
 9tUg8GIMAeIrrQme6ynF0zpfV_wz470DXjDZ9oxP7bbnL8P..LE4xaOqaeJaRsoN06Fmzo.O4q07
 AdMUsifZFUnavNA7SYISeOnNSwnHWb82NSpE4Fx3TQHagfO3jpF6PY3HMN5ZXEEERPGUvODV_AOE
 6WydxLk8cD9Ajmp_oBj1e0KETrwFRu5xH4pPugu9iaimGghgXABUmnK0867JCkosks2iit4Y41zo
 f4VnXq2YflOmMbANvnK2nF.M0kWcr5TUW1d1O.WlrtYpCegMzpJXR2J99.S27tyXK2eQr9t66uOz
 6Kw1_CiShSuO78XpvDUvq1rdESdxI3r7qya3FL3Wx1qDC1fNwV9AhENU6o1k.hF1ThfRLNxN5xM4
 VCnRUJG23HrLKOsT.nCdbuNc-
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 958ea7cd-396a-41e7-ad83-3d1ae00bd1aa
Message-ID: <01f4002e-b6b3-f2a0-4927-a39b997ddf57@aol.com>
Date: Tue, 14 Mar 2023 13:02:01 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/2] pci: allow slot_reserved_mask to be ignored with
 manual slot assignment
Content-Language: en-US
To: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 "Michael S. Tsirkin" <mst@redhat.com>
Cc: qemu-devel@nongnu.org, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Artyom Tarasenko <atar4qemu@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678763217.git.brchuckz@aol.com>
 <d9ae459b2814425c2d9e756e45d993c824da150a.1678763217.git.brchuckz@aol.com>
 <20230314023148-mutt-send-email-mst@kernel.org>
 <0c8ee7e9-dd23-262f-f67e-359e14abf6f2@ilande.co.uk>
 <20230314091653-mutt-send-email-mst@kernel.org>
 <34eda0c4-3d90-0e22-7888-81bf18e2a5f0@aol.com>
 <7b79ec08-064c-7940-0285-be8a96e2a144@ilande.co.uk>
 <7b822b6c-a0dc-63c9-722e-e1e0361a8d9d@aol.com>
 <850cf67e-151a-b1c3-7265-1428659e3a6a@ilande.co.uk>
From: Chuck Zmudzinski <brchuckz@aol.com>
In-Reply-To: <850cf67e-151a-b1c3-7265-1428659e3a6a@ilande.co.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.21284 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 13884

On 3/14/2023 10:39 AM, Mark Cave-Ayland wrote:
> On 14/03/2023 14:21, Chuck Zmudzinski wrote:
>
> > On 3/14/2023 9:41 AM, Mark Cave-Ayland wrote:
> >> On 14/03/2023 13:26, Chuck Zmudzinski wrote:
> >>
> >>> On 3/14/2023 9:17 AM, Michael S. Tsirkin wrote:
> >>>> On Tue, Mar 14, 2023 at 12:43:12PM +0000, Mark Cave-Ayland wrote:
> >>>>> On 14/03/2023 06:33, Michael S. Tsirkin wrote:
> >>>>>
> >>>>>> On Tue, Mar 14, 2023 at 12:01:09AM -0400, Chuck Zmudzinski wrote:
> >>>>>>> Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
> >>>>>>> uses slot_reserved_mask to reserve slot 2 for the Intel IGD for the
> >>>>>>> xenfv machine when the guest is configured for igd-passthru.
> >>>>>>>
> >>>>>>> A desired extension to that commit is to allow use of the reserved slot
> >>>>>>> if the administrator manually configures a device to use the reserved
> >>>>>>> slot. Currently, slot_reserved_mask is enforced unconditionally. With
> >>>>>>> this patch, the pci bus can be configured so the slot is only reserved
> >>>>>>> if the pci device to be added to the bus is configured for automatic
> >>>>>>> slot assignment.
> >>>>>>>
> >>>>>>> To enable the desired behavior of slot_reserved_mask machine, add a
> >>>>>>> boolean member enforce_slot_reserved_mask_manual to struct PCIBus and
> >>>>>>> add a function pci_bus_ignore_slot_reserved_mask_manual which can be
> >>>>>>> called to change the default behavior of always enforcing
> >>>>>>> slot_reserved_mask so, in that case, slot_reserved_mask is only enforced
> >>>>>>> when the pci device being added is configured for automatic slot
> >>>>>>> assignment.
> >>>>>>>
> >>>>>>> Call the new pci_bus_ignore_slot_reserved_mask_manual function after
> >>>>>>> creating the pci bus for the pc/i440fx/xenfv machine type to implement
> >>>>>>> the desired behavior of causing slot_reserved_mask to only apply when
> >>>>>>> the pci device to be added to a pc/i440fx/xenfv machine is configured
> >>>>>>> for automatic slot assignment.
> >>>>>>>
> >>>>>>> Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
> >>>>>>> Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
> >>>>>>
> >>>>>> I really dislike this.
> >>>>>> It seems that xen should not have used slot_reserved_mask,
> >>>>>> and instead needs something new like slot_manual_mask.
> >>>>>> No?
> >>>>>
> >>>>> My suggestion was to move the validation logic to a separate callback
> >>>>> function in PCIBus (see
> >>>>> https://lists.gnu.org/archive/html/qemu-devel/2023-03/msg03988.html) but
> >>>>> perhaps I wasn't clear enough in pointing out that I was thinking this could
> >>>>> *replace* the existing slot_reserved_mask mechanism, rather than providing a
> >>>>> hook to allow it to be manipulated.
> >>>>>
> >>>>> Here's a very rough patch put together over lunch that attempts this for
> >>>>> pci_bus_devfn_reserved(): the idea is that sun4u and Xen would call
> >>>>> pci_bus_set_slot_reserved_fn() with a suitable pci_slot_reserved_fn
> >>>>> implementation, and slot_reserved_mask gets removed completely i.e.:
> >>>>>
> >>>>>
> >>>>> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> >>>>> index def5000e7b..30b856499a 100644
> >>>>> --- a/hw/pci/pci.c
> >>>>> +++ b/hw/pci/pci.c
> >>>>> @@ -493,6 +493,13 @@ bool pci_bus_bypass_iommu(PCIBus *bus)
> >>>>>        return host_bridge->bypass_iommu;
> >>>>>    }
> >>>>>
> >>>>> +static bool pci_bus_default_slot_reserved(PCISlotReservationType restype,
> >>>>> +                                          int devfn)
> >>>>> +{
> >>>>> +    /* All slots accessible by default */
> >>>>> +    return false;
> >>>>> +}
> >>>>> +
> >>>>>    static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
> >>>>>                                           MemoryRegion *address_space_mem,
> >>>>>                                           MemoryRegion *address_space_io,
> >>>>> @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
> >>>>> DeviceState *parent,
> >>>>>    {
> >>>>>        assert(PCI_FUNC(devfn_min) == 0);
> >>>>>        bus->devfn_min = devfn_min;
> >>>>> -    bus->slot_reserved_mask = 0x0;
> >>>>> +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
> >>>>>        bus->address_space_mem = address_space_mem;
> >>>>>        bus->address_space_io = address_space_io;
> >>>>>        bus->flags |= PCI_BUS_IS_ROOT;
> >>>>> @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
> >>>>>        return !(bus->devices[devfn]);
> >>>>>    }
> >>>>>
> >>>>> -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
> >>>>> +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
> >>>>> +                                   PCISlotReservationType restype)
> >>>>> +{
> >>>>> +    return bus->slot_reserved_fn(restype, devfn);
> >>>>> +}
> >>>>> +
> >>>>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
> >>>>>    {
> >>>>> -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
> >>>>> +    bus->slot_reserved_fn = fn;
> >>>>>    }
> >>>>>
> >>>>>    /* -1 for devfn means auto assign */
> >>>>> @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >>>>>            for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
> >>>>>                devfn += PCI_FUNC_MAX) {
> >>>>>                if (pci_bus_devfn_available(bus, devfn) &&
> >>>>> -                   !pci_bus_devfn_reserved(bus, devfn)) {
> >>>>> +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
> >>>>>                    goto found;
> >>>>>                }
> >>>>>            }
> >>>>> @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >>>>>                       "or reserved", name);
> >>>>>            return NULL;
> >>>>>        found: ;
> >>>>> -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
> >>>>> +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
> >>>>>            error_setg(errp, "PCI: slot %d function %d not available for %s,"
> >>>>>                                           MemoryRegion *address_space_io,
> >>>>> @@ -500,7 +507,7 @@ static void pci_root_bus_internal_init(PCIBus *bus,
> >>>>> DeviceState *parent,
> >>>>>    {
> >>>>>        assert(PCI_FUNC(devfn_min) == 0);
> >>>>>        bus->devfn_min = devfn_min;
> >>>>> -    bus->slot_reserved_mask = 0x0;
> >>>>> +    bus->slot_reserved_fn = pci_bus_default_slot_reserved;
> >>>>>        bus->address_space_mem = address_space_mem;
> >>>>>        bus->address_space_io = address_space_io;
> >>>>>        bus->flags |= PCI_BUS_IS_ROOT;
> >>>>> @@ -1111,9 +1118,15 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
> >>>>>        return !(bus->devices[devfn]);
> >>>>>    }
> >>>>>
> >>>>> -static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
> >>>>> +static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn,
> >>>>> +                                   PCISlotReservationType restype)
> >>>>> +{
> >>>>> +    return bus->slot_reserved_fn(restype, devfn);
> >>>>> +}
> >>>>> +
> >>>>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn)
> >>>>>    {
> >>>>> -    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
> >>>>> +    bus->slot_reserved_fn = fn;
> >>>>>    }
> >>>>>
> >>>>>    /* -1 for devfn means auto assign */
> >>>>> @@ -1141,7 +1154,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >>>>>            for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
> >>>>>                devfn += PCI_FUNC_MAX) {
> >>>>>                if (pci_bus_devfn_available(bus, devfn) &&
> >>>>> -                   !pci_bus_devfn_reserved(bus, devfn)) {
> >>>>> +                   !pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_AUTO)) {
> >>>>>                    goto found;
> >>>>>                }
> >>>>>            }
> >>>>> @@ -1149,7 +1162,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
> >>>>>                       "or reserved", name);
> >>>>>            return NULL;
> >>>>>        found: ;
> >>>>> -    } else if (pci_bus_devfn_reserved(bus, devfn)) {
> >>>>> +    } else if (pci_bus_devfn_reserved(bus, devfn, PCI_SLOT_RESERVATION_MANUAL)) {
> >>>>>            error_setg(errp, "PCI: slot %d function %d not available for %s,"
> >>>>>                       " reserved",
> >>>>>                       PCI_SLOT(devfn), PCI_FUNC(devfn), name);
> >>>>> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> >>>>> index d5a40cd058..8a949f7ae1 100644
> >>>>> --- a/include/hw/pci/pci.h
> >>>>> +++ b/include/hw/pci/pci.h
> >>>>> @@ -257,10 +257,18 @@ MemoryRegion *pci_address_space_io(PCIDevice *dev);
> >>>>>     */
> >>>>>    int pci_bar(PCIDevice *d, int reg);
> >>>>>
> >>>>> +typedef enum PCISlotReservationType {
> >>>>> +    PCI_SLOT_RESERVATION_AUTO,
> >>>>> +    PCI_SLOT_RESERVATION_MANUAL
> >>>>> +} PCISlotReservationType;
> >>>>> +
> >>>>> +typedef bool (*pci_slot_reserved_fn)(PCISlotReservationType restype, int devfn);
> >>>>>    typedef void (*pci_set_irq_fn)(void *opaque, int irq_num, int level);
> >>>>>    typedef int (*pci_map_irq_fn)(PCIDevice *pci_dev, int irq_num);
> >>>>>    typedef PCIINTxRoute (*pci_route_irq_fn)(void *opaque, int pin);
> >>>>>
> >>>>> +void pci_bus_set_slot_reserved_fn(PCIBus *bus, pci_slot_reserved_fn fn);
> >>>>> +
> >>>>>    #define TYPE_PCI_BUS "PCI"
> >>>>>    OBJECT_DECLARE_TYPE(PCIBus, PCIBusClass, PCI_BUS)
> >>>>>    #define TYPE_PCIE_BUS "PCIE"
> >>>>> diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
> >>>>> index 5653175957..d68ea1418d 100644
> >>>>> --- a/include/hw/pci/pci_bus.h
> >>>>> +++ b/include/hw/pci/pci_bus.h
> >>>>> @@ -36,7 +36,7 @@ struct PCIBus {
> >>>>>        PCIIOMMUFunc iommu_fn;
> >>>>>        void *iommu_opaque;
> >>>>>        uint8_t devfn_min;
> >>>>> -    uint32_t slot_reserved_mask;
> >>>>> +    pci_slot_reserved_fn slot_reserved_fn;
> >>>>>        pci_set_irq_fn set_irq;
> >>>>>        pci_map_irq_fn map_irq;
> >>>>>        pci_route_irq_fn route_intx_to_irq;
> >>>>>
> >>>>>
> >>>>> If this approach seems reasonable, I'm happy for someone else to take this
> >>>>> over and turn it into a proper series.
> >>>>>
> >>>>>
> >>>>> ATB,
> >>>>>
> >>>>> Mark.
> >>>>
> >>>> It's ok too though I think I like chuck's proposal better:
> >>>> less callbacks to chase.
> >>>>
> >>>
> >>> I would be willing to pursue this if there were more use cases for
> >>> slot_reserved_mask than just the two cases we have now: xen and sun4u.
> >>> Until there is a clear demand for a more general way to manipulate the
> >>> mask, I agree with Michael that the KISS principle should apply here.
> >>
> >> No worries. The thinking behind this idea was that it feel like the Xen case is
> >> special in that it has separate requirements for auto slot allocation and manual slot
> >> allocation: if slot reservation were used in more places, I'd expect the sun4u case
> >> to be more common, in which case it seems a bit more work for the common case to have
> >> to set both slot_reserved_mask_auto and slot_reserved_mask_manual separately. Perhaps
> >> a single accessor function can be used to set both mask values together for a PCIBus?
> > 
> > My immediate thought as a way to avoid needing to set both masks in the
> > sun4u machine would be to add an initialization function that defines the
> > relationship between the two masks. The sun4u machine would use a default
> > function that simply sets the manual mask equal to the auto mask. In the
> > special case of xen, the manual mask would be set to 0.
>
> I must admit I wasn't too concerned about having two separate masks, more that in the 
> common case you would have to remember to call two functions. I was thinking that 
> instead of having separate pci_bus_set_slot_reserved_mask_auto() and 
> pci_bus_set_slot_reserved_mask_manual() accessors, you could just have:
>
>    pci_bus_set_slot_reserved_mask(uint32_t auto_mask, uint32_t manual_mask);
>
> since that gives a single function call for all cases, and it seems fairly intuitive 
> what pci_bus_set_slot_reserved_mask(foo, foo) is doing vs. 
> pci_bus_set_slot_reserved_mask(foo, bar).

That looks good to me. I can implement it with the value for each mask
passed as separate arguments of a single function.

I think ultimately, both the sun4u machine and the xenfv machine with
the Intel igd are unique cases, and I don't think one is necessarily more
common that the other. In fact, I agree with Michael that the requirements
of the xenfv machine with Intel igd are different enough from the requirements
of the sun4u machine that it makes sense to use two independent mechanisms
to accommodate each case. For example, in the case of the Intel igd, slot
reservation is not to prevent all pci devices from using the slot but only to
reserve the slot for a particular device: the Intel igd. So, from the point of
view of what is needed for the Intel igd, slot_reserved_mask for
the case of the sun4u machine really means slot_unavailable_mask, not
slot_reserved_mask. Ideally, the kind of mask that the Intel igd needs is
one that releases for the slot for use when the particular device that
is requesting the slot is the actual device the slot is reserved for, which
is more complicated to implement than the single 32-bit mask that works
well for the sun4u machine. Specifically, it needs more information than just
the devfn value to decide whether or not to release the slot for use.

I think that in the long term, it might be best to try to collect all the unique
quirks of the Intel igd into a special pci-host device that both kvm (with legacy
passthrough mode) and xen can use, but that could not be accomplished in
time for the 8.0 release.

I will have v3 ready later today or tomorrow.

Kind regards,

Chuck


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 17:10:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 17:10:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509768.786204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc89s-0007fK-VR; Tue, 14 Mar 2023 17:09:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509768.786204; Tue, 14 Mar 2023 17:09:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc89s-0007fD-Sh; Tue, 14 Mar 2023 17:09:56 +0000
Received: by outflank-mailman (input) for mailman id 509768;
 Tue, 14 Mar 2023 17:09:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=vQyL=7G=citrix.com=prvs=430d4338b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pc89r-0007f7-42
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 17:09:55 +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 08368aa6-c28b-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 18:09:53 +0100 (CET)
Received: from mail-dm6nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 13:09:40 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6780.namprd03.prod.outlook.com (2603:10b6:a03:40f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Tue, 14 Mar
 2023 17:09:38 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 17:09: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: 08368aa6-c28b-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678813793;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=TNh78obPd0Wzoa/rKz6MLHBTOhxQgBx2L1v1Mh9iPss=;
  b=e/5d88uK3jzZ8gaLH6KfYXyXLiQLb2T2dkvC0GjI84W5VMEjyWADIshh
   5yAn/mZAM0vla4dvhPx9uHofaRCyxNO6C26nJTD7B6d4EwRgKnw/AtEtx
   Q0TqL+Vg/4H8ceUizyUgRW36dRwmeHjRik4O86IGOfyzVcecPPPclnZlf
   c=;
X-IronPort-RemoteIP: 104.47.57.168
X-IronPort-MID: 100729575
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:o8rgTKjHdxK43EKwY9n0NYnqX161+hEKZh0ujC45NGQN5FlHY01je
 htvX2rTbq3bZzHyKIt0bI/j/ENSsZXdzN82T1BvqHxhEiMb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waCzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tRDMDoXQRGTjdiHyZWja+NLisc9KtnkadZ3VnFIlVk1DN4AaLWaGuDmwIEd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEuluGzYLI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6TeXgqaQ73QLOroAVICEPBUnr4qGHsUGjVOkcC
 FUY5nUskJFnoSRHSfG4BXVUukWsuRoRWMFREqs59RuKwarX5C6WA2EFSnhKb9lOnN87Q3km2
 0GEm/vtBCdzq/uFRHSF7LCWoDiufy8PIgcqfjQYRAEI593ipoAbjR/VSNtnVqmvgbXdFjD5x
 TSXpyEWnbQNitUK0a799lfC6xqmoZLDXwMu5gHaW2ujxgx8bY+hIYev7DDz5PJBN5qQT0PHs
 mINncOf98gRAZrLnyuIKM0GG7ev4PSJOSPdmnZgGpAg83Km/HvLQGxLyDR3JUMsPsNafzbsO
 RbXoVkIus8VO2a2Z6hqZY73E94t0aXrCdXiULbTc8ZKZZ9yMgSA+UmCeHKt4owkq2B0+YlXB
 HtRWZ33ZZrGIcyLFAaLeto=
IronPort-HdrOrdr: A9a23:GQyd1a4miJcOQd8hlwPXwa6CI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc6Ax/ZJjvo6H4BEDyewK6yXcT2/htAV7CZnidhILMFu1fBOTZsl7d8kHFh4tgPO
 JbAtND4b7LfCZHZKTBgDVQeuxIqLfnzEnrv5an854Ed3AUV0gK1XYcNu/0KDwReOALP+taKH
 LKjfA32wZINE5nJ/iTNz0gZazuttfLnJXpbVovAAMm0hCHiXeF+aP3CB+R2zYZSndqza05+W
 bIvgTl7uH72svLhyP05iv21dB7idHhwtxMCIiljdUUECzljkKFdZlsQLqLuREyuaWK5EwxmN
 fBjh88N4BY6m/XfEuyvRzxsjOQmgoG2jvH8xu1kHHjqcv2SHYTDNdAv5tQdl/851A7tN9x/a
 pX1ybB3qAnRi/orWDY3ZzlRhtqnk27rT4LlvMStWVWVc87ZKVKpYIS0UtJGNMrHT786qogDO
 5yZfusrMp+QBe/VTT0r2NvyNujUjAaGQqHeFELvoiv3z1fjBlCvj8l7f1auk1F2IM2SpFC6e
 iBGL9vjqtyQsgfar84LPsdQOOsY1a9AC7kASa3GxDKBasHM3XCp9rc+7Mu/tynf5QO0d8bhI
 nBalVFrmQ/EnieR/Fm5Kc7sSwlfV/NHwgEkqpllt1EU/zHNfXW2BS4ORATe5DKmYRaPiXZM8
 zDTa6+TcWTalcGIrw5rDEWa6MiWEX2b/dlyurTe2j+1f4jebeawNDzQbL0GIfHNwoCdyfWPk
 YjNQKDVvmoqHrbFkPFvA==
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="100729575"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e4m6D2gXtumHJot/Wi6Yko/kqcAonV4HTbgr/RalYY7nCoh/SihSXqXgYtmwg1FJkroHQnDebQ/vXS6isI8z4pZqfgF0zWMkMSBeb04974zO5uM1AZlNTVWFz7G/8SsUOGdfxkqkxTaRDrAZud47012JlalPRds125rpJ5eattJoxkTLJdQYbMY0628RdEpsC5dBporUr+URjR/s2KqSd+fxZqys9sq5TPd0GcNYm07syghpDZGOBAX0bPI+qdbLdIgqOAyaSP3RM/lD0XpMksv/FJ546egq+IPrf+8uqpGqQ/eCq5mI02WkLUkDNIeRebxTqgR3L9tZ4gRyzGrvWw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1H13SGxzXdJ8ZNWlHRfmycM9ZGuAohEALcooD7APUyg=;
 b=dJ5mzCAd7OSmAPaZjo2dNiUYMtPKy7o3iqx4v3qgYqI3hMSplU/sblfIOitgv14YGNU3fDpW4TDyMKfLCIZoPwDSvfP+EXNiLoyTbDrsP+I5UJ8kSmqQGs8mpOmQFvMUkog1irPr0xKuP7yYnPY3oG77uhcg2YpOZQtPJubdtc5UFr+6wcHKGyuMGBt0czm2n1LIk8OyanXZkXo/52tmOhivvr3CZZ5Y/tWcndcWx1owR3i+me4I5T+A79hKeivmfcWFAwlZIRo/7iI4GMh87oH97YUdOeOnFxg7qc6hXPx4Pfv1t1iMPs8OH/JzkgEW6qDfS4LPyd1tFrdj2gm5XQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1H13SGxzXdJ8ZNWlHRfmycM9ZGuAohEALcooD7APUyg=;
 b=Bc23kNGG4Sd3u7FlKK9AWMybWPluhgOAeproxOCNyCx8r71UdZKhCo7plhLKgfHFHAm3WpTGcOprjEXfra9OpvqvNcCCkfNxBJRLgL+lIP/M9yR6OphDRkbPlCwUS1QgalAtP22fEZbRqzQHyiQvPb7BL3kBgnTXbt65KEZU4+0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
Date: Tue, 14 Mar 2023 17:09:31 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
In-Reply-To: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0058.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:60::22) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6780:EE_
X-MS-Office365-Filtering-Correlation-Id: f783a216-9f82-4e0c-1422-08db24aee440
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SDjhsmo6Mi8VFAauLvL+G8X0QpFCetaQdiWP+Dzx/mQTrRALQO1gSrpwxpWYAZjtDG0dgHRnN7LSO81GnqRQhrxLAU3meVI5BLdGUlhXFE5lJGx9aBmm1zLVVrTPLKoD2ljoVSnTqZvUj5SiynfCIAp2NbbVpr1vdOk1f9RpjQeV1Ztrf58ydMvr+ucsKgRlm4OPZm7rfOVyFnFQkraiK2Ba2cQUezWzIokN1Yy9H/a3mBqXIzDDfTYNf0ls610aDUfDa2xHHa+N0cMFNUjVY0QmkQ3Ayf/Pe9qBxNB+w6TtUToXYR3Qrm6fmHC7qg34XWEn+ULxrOeXcmvnROP47Qwm6UmdtjuzcKf8pnHuqRxZGeRn8RUDHK4GF9oyzuEoB40zo5N8xg/AFodfHl0XZ1S7q6CaT7oi5Q2V5+CXn0l+Xo9JUkvcNBjyDhFXhEgZjigyAKp36GFHCOeW4magocSiC70bxxJblchVr2+LETompO5nfN0MNFO+qxSBd8TdZAbOsgyRfiUq2c2oTiZYir3OSdMM2Kpp+vZDC3U6MyzYY9d1SSgr35PsiRsmaJXHf8WVzAMhHnC+DJwWxq3kgbUr3EvdjrgPTH39xqYji5bH1np9DKGkh35ZVhFzEbfRxzCeND680F3yTQ3E/akwhet03BH6sW3nTYEXD0TP0B/UZS3IioWdPL53OtFfG0+SbUTwmb56tG3RkCNCLmKlxXzEgWWKKXTaDnGCoIlLB2Q=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(39860400002)(366004)(136003)(396003)(376002)(451199018)(86362001)(31696002)(36756003)(38100700002)(82960400001)(8676002)(66946007)(66476007)(4326008)(478600001)(41300700001)(54906003)(8936002)(66556008)(316002)(5660300002)(2906002)(83380400001)(2616005)(53546011)(186003)(6666004)(6506007)(26005)(6486002)(6512007)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UUhiVmNWSUtRZzh4T3hSVTVpa0NnalJlT0N4cTZaMHlmZ0pKY3hjQnhSOUJE?=
 =?utf-8?B?MHUwQkExRDlVS29WV3E1WG92RlBTVUVNYzJ5S1BrYVB0UER4Y2JRSW1NYUtO?=
 =?utf-8?B?VHVXbktkeFRtMmsyRnBHaGxqdWhYcFF4VHdIa0gxSXYrZ0tCOUpuZ29JRnlU?=
 =?utf-8?B?MDdYamExdW8xa2NSODM1K1U1TUlndmJ5WkkvcXU2ZnN2RmQ2d2U5dithRWVE?=
 =?utf-8?B?NHIyQjBLOUlSbE5tay8zb1owZ28xZ3dhRUtPZU9PYXFTZ2pTM2NVcjNZQ3Bo?=
 =?utf-8?B?ZjJOY3hWQTZpYzlpbWlacTh6NTFGNVE5Ui95djFrTllpZm0vODF2bW01OVhr?=
 =?utf-8?B?VU84OHdUWVp1T0ZPR2RXcGVaZ3NZRmw0VXlzaTBKaHdOSmR3SkMzQVBlWE5M?=
 =?utf-8?B?VlRqYzFqZ2tRUkNBblh6cDhYWnJlakdBWXJ6OVJhcXlwZkRGZGZJQURIYXlq?=
 =?utf-8?B?d2F3NmJSMFhpS09ob1dBRzhVYXdNWUtrZVNPMUtweFlNZXRQK2xGTjkyaExI?=
 =?utf-8?B?VVBWaG9BS0ZNOEljZit4QjVHQ2NFUEpRSDU3TGYwS0x0aFJnaVd3YzAvYzE1?=
 =?utf-8?B?Mm5pVk9SQUlmOUFqamVBV0R5VDFNR1B3eUxPc3pBazNRMUZDZFQraHpZMk0w?=
 =?utf-8?B?Q0Q0NW9Qajc2VURUVU0weDMvc2RJZEZaVzJqZmlPN0Jmampwai9scEM3Wm01?=
 =?utf-8?B?Rit5NC9aYURFdGgxZWhPajQ3Nm9ZNDhDMWk5UXY0V3p6NStwZXA4SFNRNk0z?=
 =?utf-8?B?ZDlaWVRYRUJvMGcvRmYya3BsVklncXVreXZ2TkptMXM5R3hpaHVMUVlscXdF?=
 =?utf-8?B?MXhMdnk0MXRrTGZYd0QwQndJWjRGeGdrcWZTUXRDMHNyRXp1NHBTODZuTm1q?=
 =?utf-8?B?V1ZDODJ2WlA0MkhPUjhsNUlYU3ZNcitVNWc2em1xZGE3TlRNaWFySVJ1aENw?=
 =?utf-8?B?bEwwY1FTMisxdkdmSTVaNGFxcU5QVTJ2STI1SW1lemdrckpWUFpIOExDU1B3?=
 =?utf-8?B?U1dTamFlMDV6STlHK1B4VCtkSWxsRWRFRjdKalNHdGJ0SjdJZXpiU2JVT29N?=
 =?utf-8?B?QXVsWXJaaXlOQTROOGJ3U1JoSjJXYURRV2ZydkV5RkQ5ZExMZThJcHB5RWVB?=
 =?utf-8?B?QWVOMFplYUg4UXJGZC9zNEt6ZVNETW1zOEhEU1NlRGphR1F0MW9UYVl5TjVw?=
 =?utf-8?B?Tyt2allHd3g1NHAzL2I4OGU4cWtaTWlKREdyRVNReUduaTg4QWlEUFJteDgr?=
 =?utf-8?B?Q1RZOHMzb0xhSE96dDgrVTllaVllR3J1OVNCaDJlbHBsazJIQnBxaG53RGU5?=
 =?utf-8?B?a0ZUbWZ5bXNXc1crK2FhL203UUltdFE2RHl6bzRMRU8yMW11eDV4TEZSLy9i?=
 =?utf-8?B?ZWdTdXVodXZNTi9FS2JGT2lwVzAyclhlRHFrMnFNUFVCS281TUg2bkdTdkU0?=
 =?utf-8?B?U0V3ME1IUTRMZ2lmWktiZkF5WnBJRjAyL3FRS2VVVEpGM2lHdHV0SUZFN3hq?=
 =?utf-8?B?dTJqaHFqUlRBTTBRMGI3K2E4NWp2eGlnS3c3enNMNjJISmNOczI5YXI0elQy?=
 =?utf-8?B?V2o5S0hxQUY5UEZkbUJZNkF3OWM0ODZuT1VVa243OFlFTG1POG5kYUZHdDNQ?=
 =?utf-8?B?bzYvd0E3a2x1bVNEV2d2OU0vdW0vZUdoekJqVWRWcHE5VE5LLy9JT3VBSGZZ?=
 =?utf-8?B?cVVKNllKMkFPcFNua0orOTlCazJqSzQra0xpYzRKbCtjR3B0cWUxQk9OZUJx?=
 =?utf-8?B?NWxzSG5pTzZPdGJSNEt0SWkyWk45K3JVQ1RxaGUrVXdzeURvQ0wrYitoYnpv?=
 =?utf-8?B?Q3A3ellLVlpSZUpzOEE3S2hHTjJmREwrRkM5QXROVWY2SnFRcW5VVWh1cWJD?=
 =?utf-8?B?Z1lCOGRDaWtjSlhoQlI3TmpmWHZFaC8xSVRTMFI5V0ljWTdUTjVFc254anlZ?=
 =?utf-8?B?QWNHZlBJeGM2OFc5SGtIdEZCMTFLdVdvaFhDV2xHeXhiVTh3ZmozeSthTGxx?=
 =?utf-8?B?akREYklRanlxOGRyekVJcU1UV0dabFVRRmRGSW9wdzJqendYbUh6UzJDL1lh?=
 =?utf-8?B?MVUwYkZmSVBUMjYyTENmckNBdGNxNnlpRWt1NVZJVXlnR0dOekFhNG11OW0y?=
 =?utf-8?B?cTRvNFdXL2JUdlhKWncrY2MzYkVHVk96V2VobEo5T0FPR2FQOFhJSWR5WCtw?=
 =?utf-8?B?OEE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	9Hae4+tjKvrPo24IcaMujczVD6J5WH/pUFfUB1k4quiuBXXRGz8kYMeLcz3HMmiMK+pGlRkqAQcOi2lOk0tjzXNblFOjumxeA0Z5wQtgvzxB9Zz6kLeCi9uwVsnOvSA/FvVjd5SeNxQAsy253AlZyAW4/duKWcfTVvLD2mQmXo5syH3NK70jxfH11zB6p/JrGXp6NSIwWqqRY3j60j3W+tPNP5tgGcoM7/b3o/yeLU1IettfAhbL/IH6yBROvHygMKs0s2cxG+F+USGurZ/s3PV6VlcRIaBP1inuIZ+AdXIp2IwhN1YRfsr7SNLZf1ThPbb2YufxPwp8u36kWNyA3A9Kf13GE3b4AsCo+q83ltHBqafG1+JUK6htR5NlIIdIEDmYpg4+0z4jz8eUIxSe7Pht9uhIWs+egDwvthTgudGkdT2dfbYozWGjl4T2UuVLkq5E6qtBGEDOy2pKmirQ8Ba/60WTVK2oYqL9YjiumD8mzauZg0iFsy3fTIa+m6MoI3TWU9kFhMorBOI5M+WR2hJ9jUz9PPXkpPhJq7lqzegaA/k2HNTlg5pEgs96rdLM5idWxPmgTxb2HdNHqtgNqvYSjgwL9RfEIlnF2SUvAYwGgb/VvNkH4By6Wk4s65mSc4tcJT5oapqCLDGXEfMCYxBdNLvWVglFVGUG4VnpsxdhKABroEysoNnJ/91i+ynVPwaqvyfK2g0dIRFeXGMQfnE9rPSfEydU0r96E+a5DFVMNrgeMuGJ5kTD8FdPqNg+LedWkR8qpLxcYALHxyo9x95uopsSFj4+f3n2O2A/e9hkf1CPNTOp49VvuwbIAijtK4kPyzuO9usml+VvsM0d7W/S0fiKN5O5//4MOPF1jtvK0S4g21AlpGAO+bnfajOa03t7JWAnq6tL3TrTBcxmow==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f783a216-9f82-4e0c-1422-08db24aee440
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 17:09:37.8183
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uHFBK7TwZ9teXtPeXCH4xnxPMO6urrGuCTFURbpSj5QWapfkwf/PcKRtSeR84tyWffkdvDUgs9ljmYWui7rrjEC/lN1cTGk75ZYCyLqg1Wc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6780

On 14/03/2023 4:00 pm, Oleksii Kurochko wrote:
> The patch is needed to keep all addresses PC-relative.
>
> Pseudoinstruction 'la' can be transformed to 'auipc/addi' or
> 'auipc/l{w|d}'. It depends on the .option directive: nopic and pic.
>
> Right now, 'la' transforms to 'auipc/l{w|d}', which in case of
> cpu0_boot_stack[] will lead to the usage of _GLOBAL_OFFSET_TABLE_
> where all addresses will be without counting that it might happen
> that linker address != load address.
>
> To be sure that SP is loaded always PC-relative address
> 'la' should be changed to 'lla', which always transforms to
> 'auipc/addi'.
>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>  xen/arch/riscv/riscv64/head.S | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
> index 8887f0cbd4..e12d2a7cf3 100644
> --- a/xen/arch/riscv/riscv64/head.S
> +++ b/xen/arch/riscv/riscv64/head.S
> @@ -27,7 +27,7 @@ ENTRY(start)
>          add     t3, t3, __SIZEOF_POINTER__
>          bltu    t3, t4, .L_clear_bss
>  
> -        la      sp, cpu0_boot_stack
> +        lla     sp, cpu0_boot_stack

I don't think this is the appropriate way forward.  It's very much
smells like duct tape hiding the real bug.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 17:13:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 17:13:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509770.786214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc8Co-0000cN-Ee; Tue, 14 Mar 2023 17:12:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509770.786214; Tue, 14 Mar 2023 17: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 1pc8Co-0000cG-Au; Tue, 14 Mar 2023 17:12:58 +0000
Received: by outflank-mailman (input) for mailman id 509770;
 Tue, 14 Mar 2023 17:12: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=vQyL=7G=citrix.com=prvs=430d4338b=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pc8Cm-0000cA-WB
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 17:12:57 +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 74de159a-c28b-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 18:12:55 +0100 (CET)
Received: from mail-mw2nam10lp2107.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.107])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 14 Mar 2023 13:12:43 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6780.namprd03.prod.outlook.com (2603:10b6:a03:40f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Tue, 14 Mar
 2023 17:12:32 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 17:12: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: 74de159a-c28b-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678813974;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=WNV3XnPW9hzn7zJ9/1bUyq492kGnuuwMFJTzUYwAIFE=;
  b=RymANpKE+5EJMNZaWH7+3PYSL0nX+XSsGzClJeUE0iMweVkGl+GVPKD7
   UIoCQhzHz8UdjeygC4B496KUuqqKYsoI6Jsi5h2c9GVwNbVXQPI64Qlo+
   RjMiPGXsYh3BL5pcW3tDBS6OPZsFfksOOspJnKUzSM/knbGANIMGGK1PI
   U=;
X-IronPort-RemoteIP: 104.47.55.107
X-IronPort-MID: 103239581
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:7W8z+6NZYNrHF1TvrR2QlsFynXyQoLVcMsEvi/4bfWQNrUoq1zYFz
 GEeXWrVa/uKa2fweY0laoWypEkD6JfUzIJqSQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5wBmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0uA0Gl1Mq
 dpCETsUYDyz17OZz+ykbNA506zPLOGzVG8ekldJ6GiBSNMZG9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PdxujCMpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8eWxXihA9NPROTQGvhChl2XnmxUCgMsbgGQ+cGYux+deJVeN
 BlBksYphe1onKCxdfHhVha4sXmCiREBXfJPHud85Azl4qje7hudB2MEZiVcc9Fgv8gzLRQ62
 1nMk973CDhHtLyOVWnb5rqStSm1OyUeMSkFfyBscOcey9zqoYV2iw2VSN9mSfaxloesQW62x
 C2Wpi8jgblVldQMy6iw4VHAhXSru4TNSQk2oA7QWwpJ8z9EWWJsXKTwgXCz0BqKBNfxooWp1
 JTcp/Wj0Q==
IronPort-HdrOrdr: A9a23:wVDjmq3EmT2iAiyvMTVEuwqjBa9xeYIsimQD101hICG9Lfb0qy
 n+pp4mPEHP4wr5OEtOpTlPAtj4fZquz+8T3WB3B8beYOCGghrTEGgG1+ffKlLbak7DH4JmpM
 Jdmu1FeabN5DtB/LjHCWuDc+rIqePvmM7IuQ6d9QYUcegDUdAe0+4TMHf+LqQZfnghOXN0Lu
 v/2iIRzADQBUj/I/7LTkXsGIP41q/2vaOjRSRDKw8s6QGIgz/twLnmEyKA1hNbfyJTzawk+W
 3llRW8wqm4qfm0xjLVymeWtv1t6Zfc4+oGIPbJptkeKz3qhArtTIN9W4eatDRwjPCz5E0smN
 zspQ5lG8ho8Xvecky8vBOo8Qj91zQF7WPk1Daj8DbeiP28YAh/J9tKhIpffBecw008vOtk2K
 YO+26CrZJYAT7JgSy4vrHzJltXv3vxhUBnvf8YjnRZX4dbQLhNrbYH9EcQNJsbBir15K0uDe
 ErJsDB4/R9d0+cchnizyJS6e3pek52MgaNQ0AEtMDQ+z9KnEphx09d/8AblmdozuNLd7B0o8
 D/doh4nrBHScEbKYhnAv0afMexAmvRBTrRLWO7Oz3cZeE6EkOIj6SyzKQ+5emsdpBN5oA1go
 79XFRRsnN3U17yCPeJwIZA/nn2MSSAtAzWu4NjDqVCy/jBrOKBC1zGdLluqbrvnxwnOLyZZx
 7pU6gmRMMKLgPVaPJ0NkPFKt9vwEIlIb4oU+YAKiOzS/3wW/3XX8zgAYDuzenWYH8Zc1K6JE
 c/dx7OA+gFxnyXexbD8W3ssjXWCwPCwa4=
X-IronPort-AV: E=Sophos;i="5.98,260,1673931600"; 
   d="scan'208";a="103239581"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kUCI1eCZcg2eEGnm5cz5ENJ3SkLrWv7V8PgVfRz6h2ndeehMx52Qn76Y7TraYyMQCfbBFBctSxHxWuZfXwBXifzeXd8j9TwFN6JkOOvd9HekJiLl53Zu1/4X8BdNcOlU8XLz5ld2hdRN/I12Xd8ZI/CO2IZPeAJ+sS+EvCFYeUW/NquY4n5DFfmvW+54T5rHwgCdn8ghch0zKm+0Bv5zHbqI8uJHXcToLjTyCwXDIbu3HyBNc6tbdzRF+tVCaKcoNIgCviz1FjDl6UwWSSDv6PoC9ul90xe09aE0LGmzm6wwKRQDZiAlf/IHhkiz9thrpWrTV8oe5NNKC4twkiGazw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hzO+0RLzqCwH5Ons/whoIqqGiYWhe3ccpDKQGAatx4g=;
 b=Fa/7EsFFcjj9Jlm9m6c5IlqQKm9ySwK1TsC66ARidqLwVCMETfNbLPysw/xnsCe9BBbh+putV1Xz+hTZ7qGmzPNL+KMyP4MgT+WASgPxyfsHLmnbU78KQclxtYS3BoJGdMYG1koMy7hr4QwSAbynCS1/Dnf5aX6twXs1jA0H5bEiH4DwdIJxeuiUx6I/BSivICmJknMaWxXA5ITnlFRssM2WsOUT7sMlpxsnhVzB1nxIQjH+j9P4XXortBkdQvZxMMWSyzYgSOjGy0R2sC8YYPTYOq/RmkCXdVr9mvUO0aHpkew0MrqHLfyasUYDJA/RmBPu7Gqx3n5jqdFV5v+FlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hzO+0RLzqCwH5Ons/whoIqqGiYWhe3ccpDKQGAatx4g=;
 b=DDEjK59gdCoyAMdU+LRDXUBUJDx0yRRavDQDTa11cA5+M0Fy1+7kT9ZjNVApm6cx95xYk/4Ogz0XZUBB/CZwiUESXqSiq7p3DjYTe41HBKtF2nIGNhcmQbl9d8AkKukLcgWQRSwiOmS1rGtyo60hEn51vCnSJMx2HbE/MiaCgY0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <594d64f3-a2ae-dbfe-428c-901fd806e88e@citrix.com>
Date: Tue, 14 Mar 2023 17:12:26 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from Xen
 4.0.1
Content-Language: en-GB
To: Denis <tachyon_gun@web.de>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
 <e5a4689e-27e1-6992-65f8-c59b669aeaf1@citrix.com>
 <trinity-1d86f8fd-690a-4643-95e2-0f83d138c6ef-1678812509474@3c-app-webde-bap40>
In-Reply-To: <trinity-1d86f8fd-690a-4643-95e2-0f83d138c6ef-1678812509474@3c-app-webde-bap40>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0218.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:33a::19) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6780:EE_
X-MS-Office365-Filtering-Correlation-Id: db72ba0c-1c96-45d3-cfed-08db24af4c91
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xHsAfrW6moncG7zbiPLkjP7p4mLcA/+m0+7qx6dCXhBUH7FhgHO7Lkcp5XD/wbd9Hv31ia8JPN5hVvVJvZ3kRWhWIWKq01GKhEXvqualc+lfav1YA9UEwwmMy0CJKGrvbGQMzn6ECAHwbZptO6Kxz8+Chj5CkrmWBlVsQ4dRcgqceCvV0wjqGJNPSu9yOdQ1odsqF4PqhJmLDZGMTfYEuLejMNXiIgesWciEUV4/fdTq+NJYv8b4/L0KRk+CNHLnEPwu+rVTLXuZlZHmgSdDMw7eTnA/k6BHkNuGxwoqGX5dVBjTMpUj3pVaF+Iq+Tyuw8OPvOUXkbftJCmxjjIGl81kf97VMnSJAaRBk/BFs3enCMXitPZIRIqjTohOj/0eOkO6pxUqCw5ckirBKoUtHVVc/e3KtL2eNsiE+zo3Y2iWdt2B6YN5POuqVCZk+KStrSVoZeSrHyMDHKI8/5AQgD91ob9IovpiL0NA/Ub0xcqEDNL5qdFwQca9kwhdUbjHdV03KD5/sJ32XEa9xphIHZCHntT6sldWhgzguwv9VUZTDr5FlCH77cT1Fb0UBXFMRr28roi1bVT2ML3nGwyxVHmaFQrLiY1yDHXHsoMfiheuPEdgKgedmumv4r4XLqxGh/lcUy5WyiIisAukfrDEbGtx1wow0VVCk4OEvocKjRvtg63Or53PBBrqQZBH2X5h5UmfcVInMuGaOlh/EBX8H3d/xDbRMNtY4Hw54JZ+L7A=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(39860400002)(366004)(136003)(396003)(376002)(451199018)(86362001)(31696002)(36756003)(38100700002)(6916009)(82960400001)(8676002)(66946007)(66476007)(4326008)(478600001)(41300700001)(54906003)(8936002)(66556008)(316002)(5660300002)(2906002)(83380400001)(2616005)(53546011)(186003)(6666004)(6506007)(26005)(6486002)(6512007)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N3ROMExyU20vaERtcjZ1RWxYZXZlSDUvaDF5aDdEMENLaGwvQ1RwbHI2MGZN?=
 =?utf-8?B?WmI5WEFHMUV4Nm5XNWl3MkNiV3JMRElnSXNJOVlZcmJSaVk3S21QZE5DNTBh?=
 =?utf-8?B?STh2eXF2ZUNJOEdIRDJaS0JvK3V2Lzh6VloxdTdrcndDWDRMcW5hQytyRGo5?=
 =?utf-8?B?Z2pYWkNBR3dOMzJtODN2TFRyVlJGdzNYemkxaDhUK0FDYVQ2WmkvUk9SWGJG?=
 =?utf-8?B?WVg5dnpielBLOGdpVm5aczdxTG0zTENBTmJtR3FubURRZzM0N1NyNGpRUk0r?=
 =?utf-8?B?bmdGN0dzYmMycE9KTk1LVEsveVpPYjByTFFoRi9MSlJDcTFFVHFSOWRJLzlJ?=
 =?utf-8?B?cmNGemtwTkY3UUVQWC9ZWFFwaG53cVgrNU8raDhHbmN1NGhabWVYdFBINVlN?=
 =?utf-8?B?ZFpIanVrOXpnNk9FWEFmZUFqTGxTdllKWEVwM1hXUGQzMmZzZjRZYVdBSFJ2?=
 =?utf-8?B?bW1YdTBDRkdOeFZ5U1Y0YlFWZnV2U3FSdlZsSHExL0ZtKzN0MGVYZTdHRi9E?=
 =?utf-8?B?ekF3Q3lRV2pWRUhQajVEeCs5cVVXVGxjOHptRTl6dG5kZzE3T2lhVnRQTWFG?=
 =?utf-8?B?QmFJalVxT2gxVUxURTN3K1JOY01jUWVxWFFWbVBGV2Y4UTdDQ1pZMnpxYU8z?=
 =?utf-8?B?a0Q0a09rUjBFRmtQSmRqRGF5TXZJTXBJcWM5eTdmU0VNU3d0dTlmeHUvQnJn?=
 =?utf-8?B?Wm1iZ3dvK1JlNVorY2h6YWxHSUxmNyt5UmdUU0s3VnB5Q1N2eWtheUtQWmNk?=
 =?utf-8?B?M08zUHNlaitxN1dxYkgxM2RSL1ozTXNSMC92S0ErWGltUk5GK2VHQzJuVVF2?=
 =?utf-8?B?UVdLRUcyQm0yRVY5c2JTUDZqd04yNm9mQ0FNcGg3SDZvMFJXNzF6dXhyMXhi?=
 =?utf-8?B?c1hpbXhYS1B3cWpxMHRvQWdxSUs1OFVSYXBJaHRsNGlsRHNRNTRqcC9DTSs3?=
 =?utf-8?B?QlJWRkhPSUROOE9jMGpqYlpFSGhvbUJDYXVIaHUvOFBTSkhSTWpRWVdFdkVB?=
 =?utf-8?B?bnBGSTR1UTk2WDBGQmZFSHhWUVpnYzNFaUpicnFDazJuQitaY3JiL1hROEtQ?=
 =?utf-8?B?RHlZOTd2Q2ZERzBrL3Y1MDd2dGx3ZzlwNHJTNmtYTlFwaTkxSjFDSFZ6azVS?=
 =?utf-8?B?QWttYmxFWllpMjhQbTZPVEMvREt3c1dNWUV3Q00rbFlqcEpyV1ZHQThwVXU4?=
 =?utf-8?B?cWlJaEt5a2ptSkcxRGdXR2p3T09SbzdCV2RXU0MxMFFrUCtQUDRuWlR6N2NO?=
 =?utf-8?B?RlhXYnpscncxS20zWjdPbFRsUE9tQjFkaDZFSjB1QmVKMnJ2MWxacm1UZGRx?=
 =?utf-8?B?MEdPbFArclV5dC8xem5wZTNlZUFpZk9kRTNtTUo1L0VEOEpEMlRNaTMydzBq?=
 =?utf-8?B?VmtRblQvZDhLbGs2SXM0eTlTakZVZ1VFODR0VzRoWVl3cHNWekl4dFJGOThi?=
 =?utf-8?B?UzVORHlmRG45ZUNGTktWWnM0MnkvcEFld0hwa1A5RDZRQUJDMDFTRnlLdE1o?=
 =?utf-8?B?ckRzL3Z2UUcvVE5mRlFhd3pJTXJObmNHdFJyNXM0S3J3Y1F5QlA0T1ZMRzNJ?=
 =?utf-8?B?WFpqZEs5V3FJTTRjNkNjTmhzOFprYS8rSmFsdkc2N05pc0sxRWZyQk5icm9a?=
 =?utf-8?B?ajRIQzU5djlNUk9BdjBxVFU4bjZORHUyNS9ieUthRVUzL3F3cnU3cms0dmtl?=
 =?utf-8?B?c1MxTFU0RUd6M29wUGJ2YVR2eDdNdkRNcm90MlU4b0MwbG9TZU5janlSVDdK?=
 =?utf-8?B?Ty9Mc3QyRVROaFA4NHo0d2xxczRTTTdFMHFRR2w4bktlZnNWcjlNdHpCbEZX?=
 =?utf-8?B?MzFPTkkzWk1kaUhkclcyb2pCVmIyK0RIa2k5cGpsSDFNZzJTOFV3aHhxTE5M?=
 =?utf-8?B?NWx2SHNVcElyOERsQjRiVUZKZFdxYUR0RjUvODNzZEl4RGE0VEttNG9vejBm?=
 =?utf-8?B?WUducTllTlhFRDkzTG1waVlaWWRnK0Z6U0dWamJGcEFidUd6cHBvZStBTXU0?=
 =?utf-8?B?VXUzOVJBTkxuT3FRci9HR2pUa25HT3VaazM3ZkpNRTlXSkxyeC8rdEFlUDdK?=
 =?utf-8?B?TXFKV0Zia0ZiZWZsS2hkeHhQYnR5SXpyZ0NqSy84NG9wUDZPdnd5Y1IwdVBr?=
 =?utf-8?B?U0xrT2h1YmdTT043TnBXT2pCUmNyY29mVjN5RlQyZy9FaCt1c3U5a0RWNW5x?=
 =?utf-8?B?a1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	8WJyAdpPF2Y2WEfaSh46eIaoGM7y0e3TK8FyUhitgqGsb4J9zJBtbEwmRZVDLSs3DCOUvmihhACY3ko5CxvyU/cagedzHq8YM1gV2l7k6YY26aSzA76PRgmuBqR20gPDNBTSjIk2cdMeLZWY16kllV3Wb44BnlmZz3Qpb4uRC7vF/TavPWcTg51ShKwSV9SQc2PxlrxZbooV0odLG+HEEyTz0vkOKKo4HyiO6AUvIo8xDzDrkr0gL9Ks0xXW0rI0ZR4C1q/pysxwgL/nfmvLPaEN+qVXvnG6/ZM/lSWmEEZW092JuViJa63N9w9+znHD0BQ+rkP0/ww/kJX+yajhtCz6LFNGBRSfhY1B0cmI8rgcbk0ws4THexJIIJZ8O2Y5uIfqVhry+06u7JIg8xFkWc1XQ/aA/8Otmb52MTNzVgEN7p/XUGEFA/e0OMglzHORvV9YD17m2NQkSDLCw4HXXzOUqz+IuWknrXihk6HDfjqY2QCxmlzXDFcgybiKIUmKbhxpy9CbltMxWVAjVjQOWUjC5Emu5s140g5Aau9v+0RC51HEkSiWkXUbV9s+YjKfiv2lnrXabhsMNYTf8mevh49o463q+K9BlZQf3tzqpB/KENJwUrhfuk8XnS1anRkmyqB2RGVya1s8BLY/UxJ/SQCOldRJEVbqonnW/6n/vbYV8nl6N7gFx//OjtetaJ3fPe/5HvCkfWG/HUB+QzWzoFR1sZ7EgG863evub5qK549rkj1b9kt0Cpb/52xa9JLiZ8Rxxa6U1gEmf7hEbhgxfbynrsAZf1xk/06/lXDLRS6fHMikjWVa5k5HU7JKQ6cz
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: db72ba0c-1c96-45d3-cfed-08db24af4c91
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Mar 2023 17:12:32.8370
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: L/ds383k0SpriMh+oe1htv6rofkjXJGugIu2ZZRBoAmzGcu/qRohFchxT0rElJWbaFIK179In8EOgEpUtpRRqSmGdd/JZ6Oh53bFWc3WAjQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6780

On 14/03/2023 4:48 pm, Denis wrote:
> On 14.03.2023 16:11, Andrew Cooper wrote:
>> On 14/03/2023 2:53 pm, Denis wrote:
>>> On 14.03.2023 07:37; Jan Beulich wrote:
>>>> On 14.03.2023 02:15, Denis wrote:
>>>>> On 13.03.2023 10:36, Jan wrote
>>>>>> On 10.03.2023 21:50, Denis wrote:
>>>>>>> Should I test something else?
>>>>>> ... there was no request for any further testing here, for the moment.
>>>>> ah...sorry, going by "Would be nice to have this confirmed forthe system
>>>>> in question, i.e. without Xen underneath Linux" I thought I could test
>>>>> something which might help shed some light on all of this.
>>>> Well, yes, that Linux-without-Xen test would still be useful to have
>>>> results from. I didn't account for this in my earlier reply because
>>>> I had asked for it before already, and I did take "something else"
>>>> for meaning anything that might have turned up as useful from the new
>>>> data you had provided.
>>> What tests could I do or what info should I provide to help?
>> Can you please rebuild Xen with this patch:
>>
>> diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c
>> b/xen/drivers/passthrough/amd/iommu_acpi.c
>> index 2fdebd2d74c9..747eae25f56c 100644
>> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
>> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
>> @@ -1033,7 +1033,7 @@ static int __init parse_ivrs_table(struct
>> acpi_table_header *table)
>>      const struct acpi_ivrs_header *ivrs_block;
>>      unsigned long length;
>>      unsigned int apic;
>> -    bool_t sb_ioapic = !iommu_intremap;
>> +    bool_t sb_ioapic = 1;
>>      int error = 0;
>>  
>>      BUG_ON(!table);
>>
>> which should cause the behaviour to revert back to that of Xen 4.0.1 
>> (i.e. it will fully ignore the checks relating to the southbridge ioapic).
>>
>> Confirm that with this, and booting Xen simply with `iommu=1` that full
>> DMA remapping and interrupt remapping is considered active.
>>
>>
>> Then, can you play around with passing the soundblaster through to VMs. 
>> Looking at the LSPCI you provided, it only supports legacy line interrupts.
>>
>> Does the device work fine, or do you get a bunch of errors on `xl dmesg`
>> about IO page faults (which is a generic "IOMMU said no to something"
>> message)?
> Am I right to assume that I would need the source/header packages from 
> the Devuan 4.0 install and then re-compile Xen?

Yes.

`apt build-dep` to install the build dependencies, and `apt source xen`
to get the Xen sources.

All you actually need to do is is a build of xen.gz, not a full build of
everything, which will simplify things massively if you don't want to
rebuild the world.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 17:56:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 17:56:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509779.786230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc8t0-0005dV-Vn; Tue, 14 Mar 2023 17:56:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509779.786230; Tue, 14 Mar 2023 17: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 1pc8t0-0005dO-T6; Tue, 14 Mar 2023 17:56:34 +0000
Received: by outflank-mailman (input) for mailman id 509779;
 Tue, 14 Mar 2023 17: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=W49v=7G=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pc8sz-0005dI-IJ
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 17:56:33 +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 8c0a7b33-c291-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 18:56:30 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id r18so15174596wrx.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 10:56:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c0a7b33-c291-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678816589;
        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=/xZ3wbLmcC7/kuogwYOC/xsHryI5rEDYqzCVZtxrEKE=;
        b=m/YZBhwZ+uKzMqXmEkGF/xD6qdauzkVFuwhOxW/WPY4XL2bn5H8N+q6aPKsExbRxbu
         1A9FaWXrCQySYQyHsG64+jH8HkplLLiytWPSd5MC93Tqo7Edln4j5+S33FXPdt9bQ0aM
         umlyzFxG9rkPPAXW0TwJ4WUCRkV/umCz72l3B61GDFw2WgUHydP5xuHPXuVJhYAjfrUo
         sKdupMePSMMTxi9dI/3tV5GignbnyGdjHR1xkgSJfcHQQmy+g7pcsmEnDw92YeKyvUSB
         mJxP8uIwfUPVlCmQa5/o/EyS7K+joqZEAOgA3w8x2g1+mvaerfVxjfMCjQ+weh4wAGC3
         x5tA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678816589;
        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=/xZ3wbLmcC7/kuogwYOC/xsHryI5rEDYqzCVZtxrEKE=;
        b=ktfZjmCiu+0sdwKDDZ+ZcwV/ERKE0F6tp9TOE4UJaGsdF5ZLRCIaIPHSpInfJHEJhJ
         pYVWhGAm7+WgmxTVjT52tIJBfoddKLRi1+jgw6T0xegZoZc8muOpSQMLJRe/5MGN59CY
         ZbjJy34jDOZzQyOhYWMgBKYJl3tNjpCg08VKEdGEfA5vaVyP/xg4MJL+BTff5M2v5MCr
         ck1C/t1g4a5hMeHP1AtKYZEiRAXo9TE61DpGspsdeBLN5a8mCX3bXAvmjLx2eiPR5myC
         g+csIRuesFQF37KpkTtdhJkzRPmfhI44fRtUltGNcYTk9Uzn68+eXmfVXXOtX+an9sUL
         7fEw==
X-Gm-Message-State: AO0yUKXFY5kDlQnKuh2istDskhf0DW185YwcjE1vTXmGAxWHA3al561R
	S7vasjTWThX4XizLJ/w5JI/qKDMcEsqIQD7K5/VBfA==
X-Google-Smtp-Source: AK7set9pZ+U7qWqye8ZCi/tdzn/olJhf2M3za5GClGdHpzm33ggU8JkDKnh5NEoMtThF72W1RvR/RCB2HpSH65hgLGk=
X-Received: by 2002:a5d:4b02:0:b0:2c9:bd6e:83c0 with SMTP id
 v2-20020a5d4b02000000b002c9bd6e83c0mr7237219wrq.3.1678816588786; Tue, 14 Mar
 2023 10:56:28 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <fdca8effb1c2c209fd9d15c90360196fa67a845c.1677079672.git.jens.wiklander@linaro.org>
 <CC630914-0816-40F9-B33C-86EC4E3B4BE6@arm.com>
In-Reply-To: <CC630914-0816-40F9-B33C-86EC4E3B4BE6@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Tue, 14 Mar 2023 18:56:17 +0100
Message-ID: <CAHUa44FHh1d4+6dc2CW0Zpu+7uBaK0i=DRENQbtZwGoOR50aDw@mail.gmail.com>
Subject: Re: [XEN PATCH v7 18/20] xen/arm: ffa: support sharing memory
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Mon, Mar 13, 2023 at 9:49=E2=80=AFAM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Adds support for a guest to share memory with an SP using FFA_MEM_SHARE
> > and FFA_MEM_RECLAIM. Only small memory regions can be shared using a
> > single call to FFA_MEM_SHARE are supported.
>
> This sentence needs a bit of rephrasing and to add more details: what is =
"small".

OK, how about "Only memory regions small enough to be shared with a
single call..."

>
> >
> > A memory region that doesn't need to be shared any longer can be
> > reclaimed with FFA_MEM_RECLAIM once the SP doesn't use it any longer.
> > This is checked by the SPMC and not in control of the mediator.
>
> This explanation would make more sense in the following patch adding supp=
ort
>  for Reclaim.

Quite right, I'll move it to the next patch.

>
> >
> > With this commit we have a FF-A version 1.1 [1] mediator able to
> > communicate with a Secure Partition in secure world using shared memory=
.
> > The secure world must use FF-A version 1.1, but the guest is free to us=
e
> > version 1.0 or version 1.1.
>
> I do not see anything limiting that in the code.
> During init we accept 1.0 or 1.1 versions of the secure world.

Good catch, I'll update to only accept version 1.1 in the secure world.

>
> >
> > Adds a check that the SP supports the needed FF-A features
> > FFA_MEM_SHARE_64 or FFA_MEM_SHARE_32.
> >
> > [1] https://developer.arm.com/documentation/den0077/latest
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > xen/arch/arm/tee/ffa.c | 491 +++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 491 insertions(+)
> >
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index 94c90b252454..cdc286caf62c 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -270,6 +270,38 @@ struct ffa_mem_transaction_1_1 {
> >     uint8_t reserved[12];
> > };
> >
> > +/* Calculate offset of struct ffa_mem_access from start of buffer */
> > +#define MEM_ACCESS_OFFSET(access_idx) \
> > +    ( sizeof(struct ffa_mem_transaction_1_1) + \
> > +      ( access_idx ) * sizeof(struct ffa_mem_access) )
> > +
> > +/* Calculate offset of struct ffa_mem_region from start of buffer */
> > +#define REGION_OFFSET(access_count, region_idx) \
> > +    ( MEM_ACCESS_OFFSET(access_count) + \
> > +      ( region_idx ) * sizeof(struct ffa_mem_region) )
> > +
> > +/* Calculate offset of struct ffa_address_range from start of buffer *=
/
> > +#define ADDR_RANGE_OFFSET(access_count, region_count, range_idx) \
> > +    ( REGION_OFFSET(access_count, region_count) + \
> > +      ( range_idx ) * sizeof(struct ffa_address_range) )
> > +
> > +/*
> > + * The parts needed from struct ffa_mem_transaction_1_0 or struct
> > + * ffa_mem_transaction_1_1, used to provide an abstraction of differen=
ce in
> > + * data structures between version 1.0 and 1.1. This is just an intern=
al
> > + * interface and can be changed without changing any ABI.
> > + */
> > +struct ffa_mem_transaction_x {
>
> I would suggest to s/_x/_int/ in the name here

OK, I'll update

>
> > +    uint16_t sender_id;
> > +    uint8_t mem_reg_attr;
> > +    uint8_t flags;
> > +    uint8_t mem_access_size;
> > +    uint8_t mem_access_count;
> > +    uint16_t mem_access_offs;
> > +    uint64_t global_handle;
> > +    uint64_t tag;
> > +};
> > +
> > /* Endpoint RX/TX descriptor */
> > struct ffa_endpoint_rxtx_descriptor_1_0 {
> >     uint16_t sender_id;
> > @@ -294,8 +326,20 @@ struct ffa_ctx {
> >     uint32_t guest_vers;
> >     bool tx_is_mine;
> >     bool interrupted;
> > +    struct list_head shm_list;
> > +    unsigned int shm_count;
> >     spinlock_t lock;
> > };
> > +
> > +struct ffa_shm_mem {
> > +    struct list_head list;
> > +    uint16_t sender_id;
> > +    uint16_t ep_id;     /* endpoint, the one lending */
> > +    uint64_t handle;    /* FFA_HANDLE_INVALID if not set yet */
> > +    unsigned int page_count;
> > +    struct page_info *pages[];
> > +};
> > +
> > /* Negotiated FF-A version to use with the SPMC */
> > static uint32_t ffa_version __ro_after_init;
> >
> > @@ -310,6 +354,8 @@ static unsigned int subscr_vm_destroyed_count __rea=
d_mostly;
> >  *
> >  * ffa_page_count is the number of pages used in each of these buffers.
> >  *
> > + * The TX buffer is protected from concurrent usage with ffa_tx_buffer=
_lock.
> > + *
> >  * The RX buffer is protected from concurrent usage with ffa_rx_buffer_=
lock.
> >  * Note that the SPMC is also tracking the ownership of our RX buffer s=
o
> >  * for calls which uses our RX buffer to deliver a result we must call
> > @@ -319,6 +365,7 @@ static void *ffa_rx __read_mostly;
> > static void *ffa_tx __read_mostly;
> > static unsigned int ffa_page_count __read_mostly;
> > static DEFINE_SPINLOCK(ffa_rx_buffer_lock);
> > +static DEFINE_SPINLOCK(ffa_tx_buffer_lock);
> >
> > static bool ffa_get_version(uint32_t *vers)
> > {
> > @@ -429,6 +476,42 @@ static int32_t ffa_rx_release(void)
> >     return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
> > }
> >
> > +static int32_t ffa_mem_share(uint32_t tot_len, uint32_t frag_len,
> > +                             register_t addr, uint32_t pg_count,
> > +                             uint64_t *handle)
> > +{
> > +    struct arm_smccc_1_2_regs arg =3D {
> > +        .a0 =3D FFA_MEM_SHARE_32,
> > +        .a1 =3D tot_len,
> > +        .a2 =3D frag_len,
> > +        .a3 =3D addr,
> > +        .a4 =3D pg_count,
> > +    };
> > +    struct arm_smccc_1_2_regs resp;
> > +
> > +    if ( IS_ENABLED(CONFIG_ARM_64) )
> > +        arg.a0 =3D FFA_MEM_SHARE_64;
> > +
> > +    arm_smccc_1_2_smc(&arg, &resp);
> > +
> > +    switch ( resp.a0 )
> > +    {
> > +    case FFA_ERROR:
> > +        if ( resp.a2 )
> > +            return resp.a2;
> > +        else
> > +            return FFA_RET_NOT_SUPPORTED;
> > +    case FFA_SUCCESS_32:
> > +        *handle =3D regpair_to_uint64(resp.a3, resp.a2);
> > +        return FFA_RET_OK;
> > +    case FFA_MEM_FRAG_RX:
> > +        *handle =3D regpair_to_uint64(resp.a2, resp.a1);
> > +        return resp.a3;
>
> You are using an int32_t type to cast something that is uint32_t from the=
 spec
> and here could in fact be a uint64_t.

In practice only much smaller values can be valid, however, I
understand that that's not your point. What's the best recovery if the
SPMC gives an invalid value for FFA_MEM_FRAG_RX? The SPMC has
allocated a memory-sharing state when it returns FFA_MEM_FRAG_RX. The
specification doesn't say how to remove that state apart from either
completing it successfully or if it's terminated earlier by the SPMC.
One option is to do a FFA_MEM_FRAG_TX call with invalid arguments so
that the SPMC can free up the memory-sharing state. Thoughts?

>
>
> > +    default:
> > +        return FFA_RET_NOT_SUPPORTED;
> > +    }
> > +}
> > +
> > static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
> >                                       uint8_t msg)
> > {
> > @@ -757,6 +840,404 @@ out:
> >              resp.a4 & mask, resp.a5 & mask, resp.a6 & mask, resp.a7 & =
mask);
> > }
> >
> > +/*
> > + * Gets all page and assigns them to the supplied shared memory object=
. If
> > + * this function fails then the caller is still expected to call
> > + * put_shm_pages() as a cleanup.
> > + */
> > +static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
> > +                         const struct ffa_address_range *range,
> > +                         uint32_t range_count, unsigned int start_page=
_idx,
> > +                         unsigned int *last_page_idx)
> > +{
> > +    unsigned int pg_idx =3D start_page_idx;
> > +    gfn_t gfn;
> > +    unsigned int n;
> > +    unsigned int m;
> > +    p2m_type_t t;
> > +    uint64_t addr;
> > +
> > +    for ( n =3D 0; n < range_count; n++ )
> > +    {
> > +        for ( m =3D 0; m < range[n].page_count; m++ )
> > +        {
> > +            if ( pg_idx >=3D shm->page_count )
> > +                return FFA_RET_INVALID_PARAMETERS;
> > +
> > +            addr =3D read_atomic(&range[n].address);
> > +            gfn =3D gaddr_to_gfn(addr + m * FFA_PAGE_SIZE);
> > +            shm->pages[pg_idx] =3D get_page_from_gfn(d, gfn_x(gfn), &t=
,
> > +   P2M_ALLOC);
> > +            if ( !shm->pages[pg_idx] )
> > +                return FFA_RET_DENIED;
> > +            pg_idx++;
>
> This increment could be done at the end, why here ?

Do you mean after the p2m_is_ram() check? I'll move it there.

>
> > +            /* Only normal RAM for now */
> > +            if ( !p2m_is_ram(t) )
> > +                return FFA_RET_DENIED;
> > +        }
> > +    }
> > +
> > +    *last_page_idx =3D pg_idx;
> > +
> > +    return FFA_RET_OK;
> > +}
> > +
> > +static void put_shm_pages(struct ffa_shm_mem *shm)
> > +{
> > +    unsigned int n;
> > +
> > +    for ( n =3D 0; n < shm->page_count && shm->pages[n]; n++ )
> > +    {
> > +        put_page(shm->pages[n]);
> > +        shm->pages[n] =3D NULL;
>
> If an error occured during the generation you might have part
> of the pages which are NULL already.
>
> So you should do a if (pages[n] !=3D NULL) here

I'm doing that above in the head of the loop, the loop is terminated
at the first pages[n] =3D=3D NULL.

>
> > +    }
> > +}
> > +
> > +static struct ffa_shm_mem *alloc_ffa_shm_mem(struct ffa_ctx *ctx,
> > +                                             unsigned int page_count)
> > +{
> > +    struct ffa_shm_mem *shm;
> > +
> > +    if ( page_count >=3D FFA_MAX_SHM_PAGE_COUNT ||
> > +         ctx->shm_count >=3D FFA_MAX_SHM_COUNT )
> > +        return NULL;
>
> Shouldn't you also filter out for page_count =3D 0 ?

Sure, 0 doesn't make sense. But I should probably do it before this
function is called since I suppose we'd like to return something
different from FFA_RET_NO_MEMORY.

>
> > +
> > +    shm =3D xzalloc_flex_struct(struct ffa_shm_mem, pages, page_count)=
;
> > +    if ( shm )
> > +    {
> > +        ctx->shm_count++;
> > +        shm->page_count =3D page_count;
> > +    }
> > +
> > +    return shm;
> > +}
> > +
> > +static void free_ffa_shm_mem(struct ffa_ctx *ctx, struct ffa_shm_mem *=
shm)
> > +{
> > +    if ( shm ) {
> > +        ASSERT(ctx->shm_count > 0);
> > +        ctx->shm_count--;
> > +        put_shm_pages(shm);
> > +        xfree(shm);
> > +    }
> > +}
> > +
> > +static void init_range(struct ffa_address_range *addr_range,
> > +                       paddr_t pa)
> > +{
> > +    memset(addr_range, 0, sizeof(*addr_range));
> > +    addr_range->address =3D pa;
> > +    addr_range->page_count =3D 1;
> > +}
> > +
> > +/*
> > + * This function uses the ffa_tx buffer to transmit the memory transac=
tion
> > + * descriptor. The function depends ffa_tx_buffer_lock to be used to g=
uard
> > + * the buffer from concurrent use.
> > + */
> > +static int share_shm(struct ffa_shm_mem *shm)
> > +{
> > +    const uint32_t max_frag_len =3D ffa_page_count * FFA_PAGE_SIZE;
> > +    struct ffa_mem_access *mem_access_array;
> > +    struct ffa_mem_transaction_1_1 *descr;
> > +    struct ffa_address_range *addr_range;
> > +    struct ffa_mem_region *region_descr;
> > +    const unsigned int region_count =3D 1;
> > +    void *buf =3D ffa_tx;
> > +    uint32_t frag_len;
> > +    uint32_t tot_len;
> > +    paddr_t last_pa;
> > +    unsigned int n;
> > +    paddr_t pa;
> > +
> > +    ASSERT(spin_is_locked(&ffa_tx_buffer_lock));
> > +    if ( !shm->page_count )
> > +    {
> > +        ASSERT_UNREACHABLE();
> > +        return FFA_RET_INVALID_PARAMETERS;
>
> page_count =3D 0 should be filtered out before reaching this and this sho=
uld
> only be an assert if you want but no unreachable with a return.

I'm adding code to filter out page_count =3D 0. I'm not sure what you
expect here, should I remove the entire check here or what do you
want?

>
> > +    }
> > +
> > +    descr =3D buf;
> > +    memset(descr, 0, sizeof(*descr));
> > +    descr->sender_id =3D shm->sender_id;
> > +    descr->global_handle =3D shm->handle;
> > +    descr->mem_reg_attr =3D FFA_NORMAL_MEM_REG_ATTR;
> > +    descr->mem_access_count =3D 1;
> > +    descr->mem_access_size =3D sizeof(*mem_access_array);
> > +    descr->mem_access_offs =3D MEM_ACCESS_OFFSET(0);
> > +
> > +    mem_access_array =3D buf + descr->mem_access_offs;
> > +    memset(mem_access_array, 0, sizeof(*mem_access_array));
> > +    mem_access_array[0].access_perm.endpoint_id =3D shm->ep_id;
> > +    mem_access_array[0].access_perm.perm =3D FFA_MEM_ACC_RW;
> > +    mem_access_array[0].region_offs =3D REGION_OFFSET(descr->mem_acces=
s_count, 0);
> > +
> > +    region_descr =3D buf + mem_access_array[0].region_offs;
> > +    memset(region_descr, 0, sizeof(*region_descr));
> > +    region_descr->total_page_count =3D shm->page_count;
> > +
> > +    region_descr->address_range_count =3D 1;
> > +    last_pa =3D page_to_maddr(shm->pages[0]);
> > +    for ( n =3D 1; n < shm->page_count; last_pa =3D pa, n++ )
> > +    {
> > +        pa =3D page_to_maddr(shm->pages[n]);
> > +        if ( last_pa + FFA_PAGE_SIZE =3D=3D pa )
> > +            continue;
> > +        region_descr->address_range_count++;
> > +    }
> > +
> > +    tot_len =3D ADDR_RANGE_OFFSET(descr->mem_access_count, region_coun=
t,
> > +                                region_descr->address_range_count);
> > +    if ( tot_len > max_frag_len )
> > +        return FFA_RET_NOT_SUPPORTED;
> > +
> > +    addr_range =3D region_descr->address_range_array;
> > +    frag_len =3D ADDR_RANGE_OFFSET(descr->mem_access_count, region_cou=
nt, 1);
> > +    last_pa =3D page_to_maddr(shm->pages[0]);
> > +    init_range(addr_range, last_pa);
> > +    for ( n =3D 1; n < shm->page_count; last_pa =3D pa, n++ )
> > +    {
> > +        pa =3D page_to_maddr(shm->pages[n]);
> > +        if ( last_pa + FFA_PAGE_SIZE =3D=3D pa )
> > +        {
> > +            addr_range->page_count++;
> > +            continue;
> > +        }
> > +
> > +        frag_len +=3D sizeof(*addr_range);
> > +        addr_range++;
> > +        init_range(addr_range, pa);
> > +    }
> > +
> > +    return ffa_mem_share(tot_len, frag_len, 0, 0, &shm->handle);
> > +}
> > +
> > +static int read_mem_transaction(uint32_t ffa_vers, const void *buf, si=
ze_t blen,
> > +                                struct ffa_mem_transaction_x *trans)
> > +{
> > +    uint16_t mem_reg_attr;
> > +    uint32_t flags;
> > +    uint32_t count;
> > +    uint32_t offs;
> > +    uint32_t size;
> > +
> > +    if ( ffa_vers >=3D FFA_VERSION_1_1 )
> > +    {
> > +        const struct ffa_mem_transaction_1_1 *descr;
> > +
> > +        if ( blen < sizeof(*descr) )
> > +            return FFA_RET_INVALID_PARAMETERS;
> > +
> > +        descr =3D buf;
> > +        trans->sender_id =3D descr->sender_id;
> > +        mem_reg_attr =3D descr->mem_reg_attr;
> > +        flags =3D descr->flags;
> > +        trans->global_handle =3D descr->global_handle;
> > +        trans->tag =3D descr->tag;
> > +
> > +        count =3D descr->mem_access_count;
> > +        size =3D descr->mem_access_size;
> > +        offs =3D descr->mem_access_offs;
> > +    }
> > +    else
> > +    {
> > +        const struct ffa_mem_transaction_1_0 *descr;
> > +
> > +        if ( blen < sizeof(*descr) )
> > +            return FFA_RET_INVALID_PARAMETERS;
> > +
> > +        descr =3D buf;
> > +        trans->sender_id =3D descr->sender_id;
> > +        mem_reg_attr =3D descr->mem_reg_attr;
> > +        flags =3D descr->flags;
> > +        trans->global_handle =3D descr->global_handle;
> > +        trans->tag =3D descr->tag;
> > +
> > +        count =3D descr->mem_access_count;
> > +        size =3D sizeof(struct ffa_mem_access);
> > +        offs =3D offsetof(struct ffa_mem_transaction_1_0, mem_access_a=
rray);
> > +    }
> > +    /*
> > +     * Make sure that "descr" which is shared with the guest isn't acc=
essed
> > +     * again after this point.
> > +     */
> > +    barrier();
>
> I am not really following the comment here. You accessed the content of d=
escr
> before and it is in the rxtx buffer so why is this needed ?

I'm making sure that the compiler doesn't optimize and reorders the
reads from memory in funny ways, for instance, reading again after the
ifs just below. The RXTX buffer is shared with the guest so it can
potentially be updated concurrently by another CPU.

>
> > +
> > +    /*
> > +     * We're doing a rough check to see that no information is lost wh=
en
> > +     * tranfering the values into a struct ffa_mem_transaction_x below=
. The
> > +     * fields in struct ffa_mem_transaction_x are wide enough to hold =
any
> > +     * valid value so being out of range means that something is wrong=
.
> > +     */
> > +    if ( mem_reg_attr > UINT8_MAX || flags > UINT8_MAX || size > UINT8=
_MAX ||
> > +        count > UINT8_MAX || offs > UINT16_MAX )
> > +        return FFA_RET_INVALID_PARAMETERS;
> > +
> > +    /* Check that the endpoint memory access descriptor array fits */
> > +    if ( size * count + offs > blen )
> > +        return FFA_RET_INVALID_PARAMETERS;
> > +
> > +    trans->mem_reg_attr =3D mem_reg_attr;
> > +    trans->flags =3D flags;
> > +    trans->mem_access_size =3D size;
> > +    trans->mem_access_count =3D count;
> > +    trans->mem_access_offs =3D offs;
> > +
> > +    return 0;
> > +}
> > +
> > +static void handle_mem_share(struct cpu_user_regs *regs)
> > +{
> > +    uint32_t tot_len =3D get_user_reg(regs, 1);
> > +    uint32_t frag_len =3D get_user_reg(regs, 2);
> > +    uint64_t addr =3D get_user_reg(regs, 3);
> > +    uint32_t page_count =3D get_user_reg(regs, 4);
> > +    const struct ffa_mem_region *region_descr;
> > +    const struct ffa_mem_access *mem_access;
> > +    struct ffa_mem_transaction_x trans;
> > +    struct domain *d =3D current->domain;
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> > +    struct ffa_shm_mem *shm =3D NULL;
> > +    unsigned int last_page_idx =3D 0;
> > +    register_t handle_hi =3D 0;
> > +    register_t handle_lo =3D 0;
> > +    int ret =3D FFA_RET_DENIED;
> > +    uint32_t range_count;
> > +    uint32_t region_offs;
> > +
> > +    /*
> > +     * We're only accepting memory transaction descriptors via the rx/=
tx
> > +     * buffer.
>
> Is this a limitation coming fomr the spec or from the implementation ?

This is just a limitation in the implementation.

>
> > +     */
> > +    if ( addr )
> > +    {
> > +        ret =3D FFA_RET_NOT_SUPPORTED;
> > +        goto out_set_ret;
> > +    }
> > +
> > +    /* Check that fragment length doesn't exceed total length */
> > +    if ( frag_len > tot_len )
> > +    {
> > +        ret =3D FFA_RET_INVALID_PARAMETERS;
> > +        goto out_set_ret;
> > +    }
> > +
> > +    /* We currently only support a single fragment */
>
> It would make sense to add some text at the beginning of the files listin=
g
> the current limitations of the implementation.

That's quite a bit to keep track of, especially since it will change
with each patch. If it's important perhaps we can summarize that in a
final commit instead. By the way, this particular limitation is
removed in a later patch.

>
> > +    if ( frag_len !=3D tot_len )
> > +    {
> > +        ret =3D FFA_RET_NOT_SUPPORTED;
> > +        goto out_set_ret;
> > +    }
> > +
> > +    spin_lock(&ctx->lock);
> > +
> > +    if ( frag_len > ctx->page_count * FFA_PAGE_SIZE )
> > +        goto out_unlock;
> > +
> > +    if ( !ffa_page_count )
> > +    {
> > +        ret =3D FFA_RET_NO_MEMORY;
> > +        goto out_unlock;
> > +    }
> > +
> > +    ret =3D read_mem_transaction(ctx->guest_vers, ctx->tx, frag_len, &=
trans);
> > +    if ( ret )
> > +        goto out_unlock;
> > +
> > +    if ( trans.mem_reg_attr !=3D FFA_NORMAL_MEM_REG_ATTR )
> > +    {
> > +        ret =3D FFA_RET_NOT_SUPPORTED;
> > +        goto out_unlock;
> > +    }
> > +
> > +    /* Only supports sharing it with one SP for now */
>
> Also a limitation to list.

OK

>
> > +    if ( trans.mem_access_count !=3D 1 )
> > +    {
> > +        ret =3D FFA_RET_NOT_SUPPORTED;
> > +        goto out_unlock;
> > +    }
> > +
> > +    if ( trans.sender_id !=3D get_vm_id(d) )
> > +    {
> > +        ret =3D FFA_RET_INVALID_PARAMETERS;
> > +        goto out_unlock;
> > +    }
> > +
> > +    /* Check that it fits in the supplied data */
> > +    if ( trans.mem_access_offs + trans.mem_access_size > frag_len )
> > +        goto out_unlock;
> > +
>
> Why are you using atomic operations to access rxtx buffer after here ?

To limit how the compiler can reorder the reads from memory.

>
> > +    mem_access =3D ctx->tx + trans.mem_access_offs;
> > +    if ( read_atomic(&mem_access->access_perm.perm) !=3D FFA_MEM_ACC_R=
W )
>
> Also a limitation to list.

OK

Thanks,
Jens

>
> > +    {
> > +        ret =3D FFA_RET_NOT_SUPPORTED;
> > +        goto out_unlock;
> > +    }
> > +
> > +    region_offs =3D read_atomic(&mem_access->region_offs);
> > +    if ( sizeof(*region_descr) + region_offs > frag_len )
> > +    {
> > +        ret =3D FFA_RET_NOT_SUPPORTED;
> > +        goto out_unlock;
> > +    }
> > +
> > +    region_descr =3D ctx->tx + region_offs;
> > +    range_count =3D read_atomic(&region_descr->address_range_count);
> > +    page_count =3D read_atomic(&region_descr->total_page_count);
> > +
> > +    shm =3D alloc_ffa_shm_mem(ctx, page_count);
> > +    if ( !shm )
> > +    {
> > +        ret =3D FFA_RET_NO_MEMORY;
> > +        goto out_unlock;
> > +    }
> > +    shm->sender_id =3D trans.sender_id;
> > +    shm->ep_id =3D read_atomic(&mem_access->access_perm.endpoint_id);
> > +
> > +    /*
> > +     * Check that the Composite memory region descriptor fits.
> > +     */
> > +    if ( sizeof(*region_descr) + region_offs +
> > +         range_count * sizeof(struct ffa_address_range) > frag_len )
> > +    {
> > +        ret =3D FFA_RET_INVALID_PARAMETERS;
> > +        goto out;
> > +    }
> > +
> > +    ret =3D get_shm_pages(d, shm, region_descr->address_range_array, r=
ange_count,
> > +                        0, &last_page_idx);
> > +    if ( ret )
> > +        goto out;
> > +    if ( last_page_idx !=3D shm->page_count )
> > +    {
> > +        ret =3D FFA_RET_INVALID_PARAMETERS;
> > +        goto out;
> > +    }
> > +
> > +    /* Note that share_shm() uses our tx buffer */
> > +    spin_lock(&ffa_tx_buffer_lock);
> > +    ret =3D share_shm(shm);
> > +    spin_unlock(&ffa_tx_buffer_lock);
> > +    if ( ret )
> > +        goto out;
> > +
> > +    list_add_tail(&shm->list, &ctx->shm_list);
> > +
> > +    uint64_to_regpair(&handle_hi, &handle_lo, shm->handle);
> > +
> > +out:
> > +    if ( ret )
> > +        free_ffa_shm_mem(ctx, shm);
> > +out_unlock:
> > +    spin_unlock(&ctx->lock);
> > +
> > +out_set_ret:
> > +    if ( ret =3D=3D 0)
> > +            set_regs_success(regs, handle_lo, handle_hi);
> > +    else
> > +            set_regs_error(regs, ret);
> > +}
> > +
> > static bool ffa_handle_call(struct cpu_user_regs *regs)
> > {
> >     uint32_t fid =3D get_user_reg(regs, 0);
> > @@ -818,6 +1299,12 @@ static bool ffa_handle_call(struct cpu_user_regs =
*regs)
> > #endif
> >         handle_msg_send_direct_req(regs, fid);
> >         return true;
> > +    case FFA_MEM_SHARE_32:
> > +#ifdef CONFIG_ARM_64
> > +    case FFA_MEM_SHARE_64:
> > +#endif
> > +        handle_mem_share(regs);
> > +        return true;
> >
> >     default:
> >         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> > @@ -857,6 +1344,8 @@ static int ffa_domain_init(struct domain *d)
> >         }
> >     }
> >
> > +    INIT_LIST_HEAD(&ctx->shm_list);
> > +
> >     d->arch.tee =3D ctx;
> >
> >     return 0;
> > @@ -1012,11 +1501,13 @@ static bool ffa_probe(void)
> >          !check_mandatory_feature(FFA_RX_RELEASE) ||
> > #ifdef CONFIG_ARM_64
> >          !check_mandatory_feature(FFA_RXTX_MAP_64) ||
> > +         !check_mandatory_feature(FFA_MEM_SHARE_64) ||
> > #endif
> > #ifdef CONFIG_ARM_32
> >          !check_mandatory_feature(FFA_RXTX_MAP_32) ||
> > #endif
> >          !check_mandatory_feature(FFA_RXTX_UNMAP) ||
> > +         !check_mandatory_feature(FFA_MEM_SHARE_32) ||
> >          !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> >         return false;
> >
> > --
> > 2.34.1
>
>
> Cheers
> Bertrand
>


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 17:58:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 17:58:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509781.786240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc8vJ-0006DI-DG; Tue, 14 Mar 2023 17:58:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509781.786240; Tue, 14 Mar 2023 17:58:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc8vJ-0006DB-AT; Tue, 14 Mar 2023 17:58:57 +0000
Received: by outflank-mailman (input) for mailman id 509781;
 Tue, 14 Mar 2023 17:58: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 1pc8vI-0006Cp-AG; Tue, 14 Mar 2023 17:58: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 1pc8vI-0003YR-8I; Tue, 14 Mar 2023 17:58: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 1pc8vH-0002TS-Q9; Tue, 14 Mar 2023 17:58:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pc8vH-0007CB-Pj; Tue, 14 Mar 2023 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uJ8Pf1npkSJTQ7OuzAPG0RGKNmHR9GPTMNC05DFtjVQ=; b=GoUeYf/MdukAIPUd6G/v1cYMja
	yVoGVVTDqLYZWykTatAI+s0mNNDga48rsRPYgt+XpsvJniLhHplMMGrrUSyom5pQ5/7PtYyI0cNq1
	9vGYdf+hDdXZ3bZtUjgU8cq4GKUJQoJTtmuXYABn83Le7wpCTRxKE4VHPjVFd/GmmOW0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179616-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179616: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    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-i386-libvirt-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=c434a7e48faff075ef9e40b483519910c4ee360c
X-Osstest-Versions-That:
    libvirt=8419dd3b69cfada783a2e6df315e45dd294b0d18
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Mar 2023 17:58:55 +0000

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

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-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-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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              c434a7e48faff075ef9e40b483519910c4ee360c
baseline version:
 libvirt              8419dd3b69cfada783a2e6df315e45dd294b0d18

Last test of basis   179549  2023-03-11 04:20:21 Z    3 days
Testing same since   179616  2023-03-14 04:18:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrangé <berrange@redhat.com>
  Michal Privoznik <mprivozn@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   8419dd3b69..c434a7e48f  c434a7e48faff075ef9e40b483519910c4ee360c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 18:41:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 18:41:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509788.786249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc9ZX-0004Xq-LT; Tue, 14 Mar 2023 18:40:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509788.786249; Tue, 14 Mar 2023 18:40:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc9ZX-0004Xj-Ik; Tue, 14 Mar 2023 18:40:31 +0000
Received: by outflank-mailman (input) for mailman id 509788;
 Tue, 14 Mar 2023 18:40:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oTSp=7G=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pc9ZV-0004XK-DA
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 18:40:29 +0000
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad8767f8-c297-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 19:40:25 +0100 (CET)
Received: from fmsmga003.fm.intel.com ([10.253.24.29])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 14 Mar 2023 11:40:13 -0700
Received: from smile.fi.intel.com ([10.237.72.54])
 by FMSMGA003.fm.intel.com with ESMTP; 14 Mar 2023 11:40:01 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.96)
 (envelope-from <andriy.shevchenko@linux.intel.com>)
 id 1pc9Yy-003NFt-2t; Tue, 14 Mar 2023 20:39:56 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad8767f8-c297-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678819225; x=1710355225;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=cCLbIes7UXT3DAC9eDK/G+6dQMpfpn9vtj5PUMV+0Io=;
  b=MlSrDSNx7q4lw+TXH76QNTftTtLOmycR1E2tsTCYWTDxzneRvkDchxmD
   RvEeVJGjUlAV43y8JXF0cZy8byg+H7o7A4W1btcpPaysUz/8i10Layjpd
   Id6cmtGENw/SOKq5UgWeQjbBQddQZQhwzu5isGxjGrGE0Sjg+ag6Sh+Mc
   WMR6vrud8coYf2oG3cvzWVdBaZYnLMkZoKy+7J68md209LTTke2bNQUTy
   gF3zL5BgU8fOhvpgtexbQ2Vdmu0gLhAskuRl++Y7iTy5nJUSfscdA6/sc
   X+5/8gVrJxZqM0Ap07gvO0DHzgIwoyTR07FfEhCwDfJZMEU6NvH5mbrVx
   Q==;
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="365184270"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="365184270"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="768214212"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="768214212"
Date: Tue, 14 Mar 2023 20:39:56 +0200
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Keith Busch <kbusch@kernel.org>
Cc: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
Message-ID: <ZBC/fL+KS7RiZClB@smile.fi.intel.com>
References: <20230310171416.23356-1-andriy.shevchenko@linux.intel.com>
 <20230310171416.23356-2-andriy.shevchenko@linux.intel.com>
 <ZAusCnLSXeEcpQs+@kbusch-mbp.dhcp.thefacebook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ZAusCnLSXeEcpQs+@kbusch-mbp.dhcp.thefacebook.com>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

On Fri, Mar 10, 2023 at 03:15:38PM -0700, Keith Busch wrote:
> On Fri, Mar 10, 2023 at 07:14:13PM +0200, Andy Shevchenko wrote:

...

> > +#define pci_dev_for_each_resource_p(dev, res)				\
> > +	__pci_dev_for_each_resource(dev, res, i, unsigned int)
> 
> It looks dangerous to have a macro declare a variable when starting a new
> scope. How do you know the name 'i' won't clash with something defined above?

I'll rename. Thank you.

-- 
With Best Regards,
Andy Shevchenko




From xen-devel-bounces@lists.xenproject.org Tue Mar 14 18:43:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 18:43:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509790.786259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pc9cg-00056k-3I; Tue, 14 Mar 2023 18:43:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509790.786259; Tue, 14 Mar 2023 18:43: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 1pc9cg-00056d-0U; Tue, 14 Mar 2023 18:43:46 +0000
Received: by outflank-mailman (input) for mailman id 509790;
 Tue, 14 Mar 2023 18:43: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=oTSp=7G=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pc9ce-00056V-8z
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 18:43:44 +0000
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2391d4b1-c298-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 19:43:42 +0100 (CET)
Received: from orsmga004.jf.intel.com ([10.7.209.38])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 14 Mar 2023 11:43:39 -0700
Received: from smile.fi.intel.com ([10.237.72.54])
 by orsmga004.jf.intel.com with ESMTP; 14 Mar 2023 11:43:32 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.96)
 (envelope-from <andriy.shevchenko@linux.intel.com>)
 id 1pc9cO-003NLi-0Q; Tue, 14 Mar 2023 20:43:28 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2391d4b1-c298-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678819422; x=1710355422;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=HcDoA6lnkNndAAvLyrmktLzn4ToTWYKaGtwl/HFFUFk=;
  b=Q2SM+PncGWYFJsJbm4vISbUrRV85QIpSIy4A0sRsGzUZGLXxWY+g9onv
   +Xh0IxCgqqgS4OgGiiynt5lFyxrC/6uy7YvKUXj3DvrMUlCZ6eJ/RFwJx
   Iyeic7/p8QSE+BudxA3u/TQn3oG3egdgCg3siLGPUNknRpgR9hnh+M+4A
   wnCqORaQld/eclXVEnjAZ1IEqOBzDYOQQmF/mdqsQOWnqCkZfYucvTGmj
   PzDQNwFM0LFOdrYlJxwuzxeEY/TwaPws+HoVhdYwzKKJ97d8/G22zfrel
   bh2Dyj5CoF3qBErTqBpHh1bcTVlxNYYAA5MGX8Jwg8Wc+3jBtFCkFmBSk
   g==;
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="365185422"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="365185422"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="802973476"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="802973476"
Date: Tue, 14 Mar 2023 20:43:27 +0200
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Dan Carpenter <error27@gmail.com>
Cc: oe-kbuild@lists.linux.dev,
	=?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org,
	lkp@intel.com, oe-kbuild-all@lists.linux.dev,
	Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>
Subject: Re: [PATCH v4 1/4] PCI: Introduce pci_dev_for_each_resource()
Message-ID: <ZBDAT4MJO+fBy61n@smile.fi.intel.com>
References: <20230310171416.23356-2-andriy.shevchenko@linux.intel.com>
 <d057ac5c-5947-41e1-abc7-9428fbd2fbe2@kili.mountain>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <d057ac5c-5947-41e1-abc7-9428fbd2fbe2@kili.mountain>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

On Sat, Mar 11, 2023 at 04:54:32PM +0300, Dan Carpenter wrote:

> 059b4a086017fb Mika Westerberg 2023-03-10  246  			unsigned long type = resource_type(r);
> 999ed65ad12e37 Rene Herman     2008-07-25  247  
> 059b4a086017fb Mika Westerberg 2023-03-10 @248  			if (type != IORESOURCE_IO || type != IORESOURCE_MEM ||
>                                                                                                   ^^
> This || needs to be &&.  This loop will always hit the continue path
> without doing anything.
> 
> 059b4a086017fb Mika Westerberg 2023-03-10  249  			    resource_size(r) == 0)
> 0509ad5e1a7d92 Bjorn Helgaas   2008-03-11  250  				continue;

Thanks, I'll fix in v5.

-- 
With Best Regards,
Andy Shevchenko




From xen-devel-bounces@lists.xenproject.org Tue Mar 14 19:09:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 19:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509792.786270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcA0u-000833-2w; Tue, 14 Mar 2023 19:08:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509792.786270; Tue, 14 Mar 2023 19:08:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcA0t-00082w-Vz; Tue, 14 Mar 2023 19:08:47 +0000
Received: by outflank-mailman (input) for mailman id 509792;
 Tue, 14 Mar 2023 19:08:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=snfi=7G=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcA0s-00082q-PB
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 19:08:46 +0000
Received: from mail-ed1-x535.google.com (mail-ed1-x535.google.com
 [2a00:1450:4864:20::535])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a42d4c4f-c29b-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 20:08:45 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id o12so66233608edb.9
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 12:08:45 -0700 (PDT)
Received: from [192.168.8.114] (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 vs6-20020a170907a58600b0092bef8ad0basm1429885ejc.183.2023.03.14.12.08.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Mar 2023 12:08:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a42d4c4f-c29b-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678820924;
        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=9bN7i8qGgPABJTaBtFRpMOLVWc/OGL8QFg78cpLEP/M=;
        b=aGI5OcPiePc7ByolVcSQSX5h0Cl6iaQKAt2nldHuHm9rCMuJ+gk2+kotnfb7u6YiqN
         zrg1axtDbh1Chk7ZusoTK4E+rJssFC1Wg1JKMZqhLrVhEKa7PVbI3CBWvDVAGw0WH1Lu
         zbdKu25F5F9zbZ4ewBp7mg546bFPCb/xmrgByHFbQbKLVGgIAYkuF1T+PHEahuC+5LlA
         8Hc5caC+aQNLzftLQF8MQcAyYT9SVrg2xxeDcU+z7mDxKWGYMNy1gDfgDrGFUb+e/Wsr
         ZOu0zsLT36hOUdyubG436PDlLJtFPZN/yVHG8GQLIZrj80eAlo3y/tNk1T/kdfcu+0sb
         za0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678820924;
        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=9bN7i8qGgPABJTaBtFRpMOLVWc/OGL8QFg78cpLEP/M=;
        b=NVvXBYKDX3JXzkF5L8lpq4xREfESAEU0f07IP24g68x9U2HcswaJFDTBWzAMBUJ3Wq
         vRU1/2aetxnEhi+AYW1DyIjJQDXCeW32l1VJzhZby59eBQMBwoz3mmvqrDiF/CYwOAZp
         3N0n8QHQEN3nHZEjHB/5h0e4l4pMaSpNZMumvNZmGzkwDYndM3s4MreqdjznaYZ09cKl
         U2NJFWZsKN0KVy+aeJfkIMAhM2fOATJ3lNku7D7zBWEnZQmGd1XXEGfOnwviLfiiSd/o
         VxFcLbKujJy4rq9fdQxNWH3M6O22E4qN2tyAsyHl4LsKb+bCM7kg8p0X4kmN7XAvrO50
         U7/g==
X-Gm-Message-State: AO0yUKXy6oO+j8HdZPHUgWCEoyf113xQdB5ZNWevkecbCZDUg3vcvKSm
	YHqqD95kpROT/1eH0CwpvJQ=
X-Google-Smtp-Source: AK7set/R2U9agF3qJn079PAwjXFpYMT4U90yYcVXHSzSoT2x0+oZsOhVnvsXMGZygx0B/rbmopHy8A==
X-Received: by 2002:a17:907:9952:b0:877:a3c4:807b with SMTP id kl18-20020a170907995200b00877a3c4807bmr3347509ejc.68.1678820924423;
        Tue, 14 Mar 2023 12:08:44 -0700 (PDT)
Message-ID: <645c09598419abf498c3693c463a310a46d74be7.camel@gmail.com>
Subject: Re: [PATCH] xen/cpufreq: Remove <asm/bug.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jason Andryuk <jandryuk@gmail.com>, Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Roger Pau
 =?ISO-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Date: Tue, 14 Mar 2023 21:08:42 +0200
In-Reply-To: <CAKf6xpvdOz2eYXqsxLN879NtMYZvuGWXk7bgcCwnbRfAGofL4Q@mail.gmail.com>
References: <20230313175103.20778-1-jandryuk@gmail.com>
	 <593392ae-91ce-3499-1aa7-fcfe664025cd@suse.com>
	 <CAKf6xpvdOz2eYXqsxLN879NtMYZvuGWXk7bgcCwnbRfAGofL4Q@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Tue, 2023-03-14 at 08:14 -0400, Jason Andryuk wrote:
> On Tue, Mar 14, 2023 at 6:19=E2=80=AFAM Jan Beulich <jbeulich@suse.com>
> wrote:
> >=20
> > On 13.03.2023 18:51, Jason Andryuk wrote:
> > > The header is unneeded - there are no uses of BUG() or WARN() in
> > > these
> > > cpufreq files.=C2=A0 Remove the include.=C2=A0 It is still include
> > > transitively
> > > from xen/lib.h.
> > >=20
> > > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> >=20
> > This, in a way, is a review comment on Oleksii's "xen: change
> > <asm/bug.h>
> > to <xen/bug.h>". We can certainly put in the change as you have it
> > (for
> > him to drop the touching of the two files), but I'd find it more
> > logical
> > to continue to be part of his change, just with the xen/bug.h
> > replacement
> > includes dropped. Thoughts, either of you?
>=20
> Yes, Oleskii's work brought it to my attention.=C2=A0 I submitted it this
> way to follow the "one change per commit" rule of thumb, seeing it as
> distinct from, though related to, the asm -> xen rename.=C2=A0 If you
> prefer to have it rolled into Oleksii's change, that is fine by me.
I think we can do it as a part of my changes to not produce additional
commits with the similar meaning.
>=20
> > Things would be different if it was clear that the change here was
> > dropping
> > all unnecessary includes from the cpufreq files. But that doesn't
> > look to
> > be the case, as I think ...
>=20
> Correct, I did not inspect other includes.
>=20
> Regards,
> Jason
~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 19:10:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 19:10:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509794.786280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcA26-0000Ps-E4; Tue, 14 Mar 2023 19:10:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509794.786280; Tue, 14 Mar 2023 19: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 1pcA26-0000PC-9g; Tue, 14 Mar 2023 19:10:02 +0000
Received: by outflank-mailman (input) for mailman id 509794;
 Tue, 14 Mar 2023 19: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=xZxk=7G=web.de=tachyon_gun@srs-se1.protection.inumbo.net>)
 id 1pcA25-0000JB-Em
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 19:10:01 +0000
Received: from mout.web.de (mout.web.de [212.227.17.12])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d10870bb-c29b-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 20:10:00 +0100 (CET)
Received: from [92.76.123.191] ([92.76.123.191]) by web-mail.web.de
 (3c-app-webde-bap40.server.lan [172.19.172.40]) (via HTTP); Tue, 14 Mar
 2023 20:09:57 +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: d10870bb-c29b-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
	t=1678820997; i=tachyon_gun@web.de;
	bh=K8b6TQ/yuFp8adhkzTY8OO+4t/3xvqoZl6YAW0PinoE=;
	h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
	b=rliAD70S+qkX8EwJR2Hbv1E9HcosKequRfhG0GZLg2dfT/iE6Rm2Fk3SOGbr35TkS
	 0ZgpJ0cKin6kKbuwDerMewcr7+kQX9G1oFMC5B1RDtL16rO22+IbEihWLZbTt19ZsO
	 HrNNiKoVTRTXVQpt8ds5k97I/WFFB5LbbxyerdJy75l1qAB5j8e6BDraL31NXW8dDR
	 3uzaloHdBorXvolXFKRUqvjRFHFnUKCBOjvI0Oo4ON3OCD6JsbewUCUCwGwYWojoI3
	 llqkl9poAC41TwLSpzkLHV+1tsR/UahgSjdVIKYslbKWEOmCneU60N17erFH6Iiv2a
	 Fwke7iw9MwtSA==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
MIME-Version: 1.0
Message-ID: <trinity-4a07ad86-ea5d-415b-b8cc-e9f0289e1a10-1678820997547@3c-app-webde-bap40>
From: Denis <tachyon_gun@web.de>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Aw: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from
 Xen 4.0.1
Content-Type: text/plain; charset=UTF-8
Date: Tue, 14 Mar 2023 20:09:57 +0100
Importance: normal
Sensitivity: Normal
In-Reply-To: <805f8cbd-e6ce-85bb-7ad6-3c461fc41c07@suse.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
 <40da0146-21fa-d5a9-7ae1-4ed2cf4a5785@suse.com>
 <trinity-720cf1eb-48bc-4eba-9e14-e9eb570b1e7f-1678812331526@3c-app-webde-bap40>
 <805f8cbd-e6ce-85bb-7ad6-3c461fc41c07@suse.com>
X-UI-Message-Type: mail
X-Priority: 3
X-Provags-ID: V03:K1:2DEchfj5kLglH60t5pKhF6di/C/5jzSlcXEACneDr4CyEgIN4s/Fb3Ctt+lCNvBU8reze
 T7G3BJ0UuyLgfRZUXbcxmktEbPUJZCF8xX0/SoxujG0wUe+gaU8D3Sv7tAP7DiAeBb3+giLZH3u9
 222vHN0toXzKLR6rEBprut3B8Hw+ue0sgJzaePRxSM0rgtAqfYM+FDc748fupcuJlj2lG206b6Aa
 Yr2vJjwQcRQw+pwfzozw9zDPxWI8fM/0Rio/1pRz4EQm/Vllm/t1g2SLcPWVBff71hUoKjRm979k
 ug=
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:HBWskucrB3o=;b3TWLp3Z9P+CV9FH3cUdVlbCDzH
 myVul0lPJkB0DeBHuqEPdYBX7aAg6wW3pdrtiWs1T3zSB5NwSiUKAROUnn7nG0MdnSWjIPotk
 h6tCtwxWI/0Ezi/iypULofKEI2hmPNUsKmkKutjTiXg3oO4HBwlRIjSOWDq8H7zCh5v16VybT
 kaFZZdd6qVqMoRYR0am/+Jyi3erPhfSgGiiqf+v+yIj04KOy82M0zF4BidvSg/RKJRKY0IRr7
 BfR//BhRlHkZWL+oYDBbB9kSLYdqo0fEGV9ys26xuqozTBognTqsqqZl5Ik23LEW/RRtB+xKz
 wGn858xLzAEl//okOUP+cZL+2zxo1H7/faqJFlYkX8+/VbvA0Aa/eC3sCiZbazsrI8BCSscLG
 9uakGDwzZQYlJ9O+oCZCySDxEwPU4cjcQgfbMHe1KnQTCQaFdsnCUxhJ84xITp5N/4ULkXPUl
 1/X/OcSDb6gX2gFHCdywKxh/Qi2FKTuws6PvMO5c1X0+FSMkcePqQ8Ot92kpGZCbDE82GyB/x
 wDnK5wkD2mG5st1FUX9i0+8xuQBx0IkUmiamqe3e2RmzcjogA9H+oENCzN6Wpz/LKRKzA7C98
 cn5ft+WgEc8azCQO6TXJSZZ7M38db3eN/TEQ0Eiuf1/DZlVd2XX2cYi7RyA3C89KRKUUKaknH
 yvZ/yNOWStV4g1/OWn8XlzgUvdvzgfIXlPoTFfKs0ASMMcPbs9F4WtSi88Nd6FjM1qBmgnRDD
 hESoqu/uYyh3BXuhCdCAbUh3W+8VO9udsCLB8pX6PsxFk7v1ufi8EDeKNE4GpjlqlKERRBsJP
 B2LtJuHy1Su+cqsRx2rSmG6w==
Content-Transfer-Encoding: quoted-printable

On 14.03.2023 17:59, Jan Beulich wrote:
> On 14.03.2023 17:45, Denis wrote:
> > On 14.03.2023 16:37, Jan Beulich wrote:
> >> On 14.03.2023 15:53, Denis wrote:
> >>> What tests could I do or what info should I provide to help?
> >>
> >> Boot plain Linux (no Xen underneath) and collect the full set of kern=
el
> >> boot messages (some distros store this at /var/log/boot.msg); "full"
> >> meaning we want to be able to see all output regardless of log-level.
> >
> > I'll attach some files from /var/log.
>
> Thanks, and there we go:
>
> [    0.121463] AMD-Vi: [Firmware Bug]: : No southbridge IOAPIC found
> [    0.121495] AMD-Vi: Disabling interrupt remapping
>
> It's 5.10, so somewhat old already, but from looking at the code I would=
n't
> expect anything else with a newer kernel.

So older versions (be it Kerenel or Xen) didn't look for a secondary South=
bridge IOAPIC?
If so, was that a change made due to the vulnerabilities in Xen due to pas=
sed-through
devices?
Just asking because age-old distros worked as it seems...


Denis


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 19:12:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 19:12:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509797.786290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcA47-0001iK-PW; Tue, 14 Mar 2023 19:12:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509797.786290; Tue, 14 Mar 2023 19: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 1pcA47-0001iD-Mc; Tue, 14 Mar 2023 19:12:07 +0000
Received: by outflank-mailman (input) for mailman id 509797;
 Tue, 14 Mar 2023 19: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=snfi=7G=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcA46-0001hx-Ku
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 19:12:06 +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 1abd5568-c29c-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 20:12:03 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id da10so66399480edb.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 12:12:03 -0700 (PDT)
Received: from [192.168.8.114] (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 x26-20020a170906135a00b008e8e975e185sm1507669ejb.32.2023.03.14.12.12.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Mar 2023 12:12:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1abd5568-c29c-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678821123;
        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=dJofpBQX78OOGX37duequ6e5EWi+LIgEtv671taA/iM=;
        b=kt/vnDqdVLyH/2E6milF9Ah9iMK/BULOiLSc0593HYNFLeIjt3BS5BVdLR/RMSzE6W
         pEGtyYbRuYUzu6maei1KfUeZQqOYz40fAGqW68+IDdfmy5sT00yRJtfq/iAGRE3cMyed
         +mbJ4BCPj/v0Wb5Ubn6pDtWMzoGvVnRxK4h9FFGjXbxL2V4kc4PV03dPHkMxchCnElQQ
         87t00q/btL+MK7/bqBg8HeoXZgzvBs6hdMAR8zwBguBxFExTXxEUy/Fnqt8V9ZZ/t0b4
         YRAv4DlulbQlTMhJ3jqA3hrkIa9iqy4Nlg4yB/ai0EMLm3lV5Tqdx7OCVTsLOjkDmvy9
         5u/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678821123;
        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=dJofpBQX78OOGX37duequ6e5EWi+LIgEtv671taA/iM=;
        b=y/ShqnrN2W6jKczTh2rQ+m6SSsWiQ6DWwy87SPfheiHpUa+MZgQ7W9R3KimqGpBD6N
         AlsDfSDc5l6vNBN69SqDoHc5OfFgLY4TGjJcPTQuuElxmWnn9wmjcyMngVfz3QMpwPHt
         4+IEEC6CM+rbb6hDnn9dEq94kHKkAM5/btuHsGVROgI6l9DiyeOprj78EsWuqBu1jRjQ
         MW6WNm7PKk3Y1Uz7F55E2UMjeS+Aq1X8SnE4So9X3EXhr5tkulz6diu7sNMJyAjbhjNO
         FWkH7U837YmiXJYY5UqIcOT1eB3G6sQ2Wvd0DbMjJr4nGp6coGk2zENPxMAw+nY3MvRk
         m1hg==
X-Gm-Message-State: AO0yUKVKex3nuyarR2GBHiKFeg8TNLFK1ZKDUbT4t5nvn2rhxC8f7XMA
	QWopWgpBgfLCTKJPz1+s3/k=
X-Google-Smtp-Source: AK7set8IsOBOCDQadlJ4pc3DACYjdNGeZXy9kOuiZ2JB6dgWsBjxT7tTylGQuhJjJxGA/TFtXbg2sQ==
X-Received: by 2002:a17:906:2dda:b0:8af:447a:ff8e with SMTP id h26-20020a1709062dda00b008af447aff8emr3129797eji.20.1678821123331;
        Tue, 14 Mar 2023 12:12:03 -0700 (PDT)
Message-ID: <192fbcf22a6c6e16498cc208eeb37fc6e08ce56a.camel@gmail.com>
Subject: Re: [PATCH v7 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Jason Andryuk <jandryuk@gmail.com>, Julien Grall <julien@xen.org>, 
 Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, George
 Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Date: Tue, 14 Mar 2023 21:12:01 +0200
In-Reply-To: <3df43c25-6c06-0cbb-5452-c989511a7e15@suse.com>
References: <cover.1678368234.git.oleksii.kurochko@gmail.com>
	 <671cd744b92f14ddc0c47ca471e03e3229cb89ba.1678368234.git.oleksii.kurochko@gmail.com>
	 <3df43c25-6c06-0cbb-5452-c989511a7e15@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Mon, 2023-03-13 at 17:26 +0100, Jan Beulich wrote:
> On 09.03.2023 14:33, Oleksii Kurochko wrote:
> > --- /dev/null
> > +++ b/xen/common/bug.c
> > @@ -0,0 +1,107 @@
> > +#include <xen/bug.h>
> > +#include <xen/errno.h>
> > +#include <xen/kernel.h>
> > +#include <xen/livepatch.h>
> > +#include <xen/string.h>
> > +#include <xen/types.h>
> > +#include <xen/virtual_region.h>
> > +
> > +#include <asm/processor.h>
> > +
> > +/*
> > + * Returns a negative value in case of an error otherwise
> > + * BUGFRAME_{run_fn, warn, bug, assert}
> > + */
> > +int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
> > +{
> > +=C2=A0=C2=A0=C2=A0 const struct bug_frame *bug =3D NULL;
> > +=C2=A0=C2=A0=C2=A0 const struct virtual_region *region;
> > +=C2=A0=C2=A0=C2=A0 const char *prefix =3D "", *filename, *predicate;
> > +=C2=A0=C2=A0=C2=A0 unsigned long fixup;
> > +=C2=A0=C2=A0=C2=A0 unsigned int id =3D BUGFRAME_NR, lineno;
>=20
> Unnecessary initializer; "id" is set ...
>=20
> > +=C2=A0=C2=A0=C2=A0 region =3D find_text_region(pc);
> > +=C2=A0=C2=A0=C2=A0 if ( !region )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -EINVAL;
> > +
> > +=C2=A0=C2=A0=C2=A0 for ( id =3D 0; id < BUGFRAME_NR; id++ )
>=20
> ... unconditionally here.
>=20
> > --- /dev/null
> > +++ b/xen/include/xen/bug.h
> > @@ -0,0 +1,162 @@
> > +#ifndef __XEN_BUG_H__
> > +#define __XEN_BUG_H__
> > +
> > +#define BUGFRAME_run_fn 0
> > +#define BUGFRAME_warn=C2=A0=C2=A0 1
> > +#define BUGFRAME_bug=C2=A0=C2=A0=C2=A0 2
> > +#define BUGFRAME_assert 3
> > +
> > +#define BUGFRAME_NR=C2=A0=C2=A0=C2=A0=C2=A0 4
> > +
> > +#define BUG_DISP_WIDTH=C2=A0=C2=A0=C2=A0 24
> > +#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
> > +#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
> > +
> > +#include <asm/bug.h>
> > +
> > +#ifndef __ASSEMBLY__
> > +
> > +#ifndef BUG_DEBUGGER_TRAP_FATAL
> > +#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
> > +#endif
> > +
> > +#include <xen/lib.h>
> > +
> > +#ifndef BUG_FRAME_STRUCT
> > +
> > +struct bug_frame {
> > +=C2=A0=C2=A0=C2=A0 signed int loc_disp:BUG_DISP_WIDTH;
> > +=C2=A0=C2=A0=C2=A0 unsigned int line_hi:BUG_LINE_HI_WIDTH;
> > +=C2=A0=C2=A0=C2=A0 signed int ptr_disp:BUG_DISP_WIDTH;
> > +=C2=A0=C2=A0=C2=A0 unsigned int line_lo:BUG_LINE_LO_WIDTH;
> > +=C2=A0=C2=A0=C2=A0 signed int msg_disp[];
> > +};
> > +
> > +#define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
> > +
> > +#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
> > +
> > +#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 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=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=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 << BUG_=
LINE_HI_WIDTH) - 1))
> > <<=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BUG_LINE_LO_WIDTH=
)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (((b)->line_lo + ((b)->=
ptr_disp < 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=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=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 << BUG_LINE_L=
O_WIDTH) - 1)))
> > +
> > +#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
> > +
> > +#ifndef BUILD_BUG_ON_LINE_WIDTH
> > +#define BUILD_BUG_ON_LINE_WIDTH(line) \
> > +=C2=A0=C2=A0=C2=A0 BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH +
> > BUG_LINE_HI_WIDTH))
> > +#endif
>=20
> I still don't see why you have #ifdef here. What I would expect is
> (as
> expressed before)
>=20
> #define BUILD_BUG_ON_LINE_WIDTH(line) \
> =C2=A0=C2=A0=C2=A0 BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_H=
I_WIDTH))
>=20
> #else=C2=A0 /* BUG_FRAME_STRUCT */
>=20
> #ifndef BUILD_BUG_ON_LINE_WIDTH
> #define BUILD_BUG_ON_LINE_WIDTH(line) ((void)(line)
> #endif
>=20
> (perhaps shortened to
>=20
> #elif !defined(BUILD_BUG_ON_LINE_WIDTH)
> #define BUILD_BUG_ON_LINE_WIDTH(line) ((void)(line)
>=20
> )
>=20
> > +#endif /* BUG_FRAME_STRUCT */
>=20
> ... and then the separate conditional further down dropped. Have you
> found anything speaking against this approach?
Both options are fine from compilation point of view.

Lets change it to proposed by you option with '#elif !defined(...)...'

I'll prepare new patch series and sent it to the mailing list.

I would like to add the changes from the [PATCH] xen/cpufreq: Remove
<asm/bug.h> by=C2=A0Jason Andryuk <jandryuk@gmail.com> but I don't know how
correctly do that. I mean should I added one more Signed-off to the
patch?

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 19:12:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 19:12:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509798.786300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcA4H-00020A-3z; Tue, 14 Mar 2023 19:12:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509798.786300; Tue, 14 Mar 2023 19: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 1pcA4H-000201-13; Tue, 14 Mar 2023 19:12:17 +0000
Received: by outflank-mailman (input) for mailman id 509798;
 Tue, 14 Mar 2023 19: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=xZxk=7G=web.de=tachyon_gun@srs-se1.protection.inumbo.net>)
 id 1pcA4F-0001zQ-JY
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 19:12:15 +0000
Received: from mout.web.de (mout.web.de [212.227.17.12])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2103cdd0-c29c-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 20:12:14 +0100 (CET)
Received: from [92.76.123.191] ([92.76.123.191]) by web-mail.web.de
 (3c-app-webde-bap40.server.lan [172.19.172.40]) (via HTTP); Tue, 14 Mar
 2023 20:12:14 +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: 2103cdd0-c29c-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
	t=1678821134; i=tachyon_gun@web.de;
	bh=VCojcZlldVa+NW8P0X5BOl0tG01DFnHZ4HfR850czIA=;
	h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
	b=j6n16Ep3Yfepa48uY3Osqb75cP4rjcKtuIZTHmkM9HlmyZFngVu3DJY+oZSlQg5TX
	 lMgm0VCSJNam04XHGSCJsvSUOwlHmnghR056tl2CX44pHaFw/w5PfqJMFEIf30bn+q
	 9udp7Ri7Q0Th83mVf3RW+npDm/fHF2KmkpEGAuVKF3Nd1S9Yk0Hz33rQzoQ8HyA8MR
	 wid6SsGdVpQTQuHMqNjNwDAUY225iZ0qHQscIWazFJWxaKKoxLec9ZdPzaC3/D4qEt
	 xnmsH90PzyaTVX1VRSfPhLtkHEkKKi4Cqu25dKj6CdtmPRzreqegSV8qOO8NuB92WJ
	 d0o3DIvd2UoZA==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
MIME-Version: 1.0
Message-ID: <trinity-99ab6070-a3e0-4aa8-a39d-365454ca0a08-1678821134110@3c-app-webde-bap40>
From: Denis <tachyon_gun@web.de>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Aw: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from
 Xen 4.0.1
Content-Type: text/plain; charset=UTF-8
Date: Tue, 14 Mar 2023 20:12:14 +0100
Importance: normal
Sensitivity: Normal
In-Reply-To: <594d64f3-a2ae-dbfe-428c-901fd806e88e@citrix.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
 <e5a4689e-27e1-6992-65f8-c59b669aeaf1@citrix.com>
 <trinity-1d86f8fd-690a-4643-95e2-0f83d138c6ef-1678812509474@3c-app-webde-bap40>
 <594d64f3-a2ae-dbfe-428c-901fd806e88e@citrix.com>
Content-Transfer-Encoding: quoted-printable
X-UI-Message-Type: mail
X-Priority: 3
X-Provags-ID: V03:K1:jxSMwG+T68CL7h86pFg3eC6F8yKWogjij97v6t80UycdbBdf7k8XwrvKghDyw9FeFDI9u
 wbG5hgfdDOLVSh4gWkGvH8Ker9P1ucvdLXYBLbXYy8G9bvPT0fuZEacqDPfyy7r0r5vHU6MGshXd
 yHQU6SAyYWi1ng7c9bXXU96Oepg6hr60OiwLj7NRl0l/YNAbg5LJRineEK4d+eK3bGrTgYRoCb4c
 2u5H58ZUfb+Hxh+DPdW71hcOdjmNhfDTrQgE1ZxREkwOWncZeYXq6zt8sn1b/VDqIITRRM+J8rLs
 Co=
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:I5ouWdgjv1Q=;DC2W49j3GHIytj1I9fi4KoghDt5
 Fbbvh7t7KRcSWMOqr9KBz6bl5JXYYdHxGlFXXSx5I8ObbqXhmD07j+6bP0UbikqLJDmbIdXOz
 qRbXefHoQ/sui7XTwHsQ7DwD6tnze2331HyhSc1kIwsjKAl6lWIWY5EHKiN+mihGqgLteyK/P
 ZIsuup1nA7pf9jpd9l2rzk+PELSXfnepFluJ/LpCF0VmUazviezl/UAYOKIqjpMCcDLwRd4CS
 A61lMcgq4HV1ftc6v8djlBUdQkkohS13ejoJTDICrCjdwfmuGifX4Yc1LTVebryGkmMXiV1Tp
 svrAxU+D7AuH62Yj8mYFuKSchD/xdpTtFSCb02Ggh19VOWv5biGhdIBdPK+VdlQQaHdVpfsHl
 oxANS453nmsesAClHJZIdz9pQ6DfHKMShOKJ6dh3Fhz8hzDcyOTns4GJSJ9nu4uz4V2YWfoYt
 gy5qXs/4UYRoGNR7CNGhMHEmyNAvuoWFPNkMxDl5cTVAXaTylnesGugSw1TAOE3Dftw4TY1Ix
 VwWoaO9AjelaTX4lpXp3RhgfIZmc8SYR/9iBzB6c8Aiypp3X3XirUkD/2RQ65wjEJXZRYCi/2
 Z8FnSP1QncOHdpVpNq/W3EzWP8e5j9eeTY0FgI25fCeEAAaH4e8qUN/F5gcmdokbYqR5LtKBt
 kXp2rgFRsryr66y1duyQd/vecG7VUIzDc7wGQk9dw7x2bH3syjNzudzF4LAhQsoZmmRq/TXoI
 SwWVCzmCZrKiJe8q8Is0pW+uHIXIZhSO4Jd56Aq3PXplq+O119MVr5N7wEmaI+5tBD5cG53M8
 duuT+OxrhkyCZv//tLPwcf5w==

On 14=2E03=2E2023 18:12, Andrew Cooper wrote:
> On 14/03/2023 4:48 pm, Denis wrote:
> > On 14=2E03=2E2023 16:11, Andrew Cooper wrote:
> >> On 14/03/2023 2:53 pm, Denis wrote:
> >>> On 14=2E03=2E2023 07:37; Jan Beulich wrote:
> >>>> On 14=2E03=2E2023 02:15, Denis wrote:
> >>>>> On 13=2E03=2E2023 10:36, Jan wrote
> >>>>>> On 10=2E03=2E2023 21:50, Denis wrote:
> >>>>>>> Should I test something else?
> >>>>>> =2E=2E=2E there was no request for any further testing here, for =
the moment=2E
> >>>>> ah=2E=2E=2Esorry, going by "Would be nice to have this confirmed f=
orthe system
> >>>>> in question, i=2Ee=2E without Xen underneath Linux" I thought I co=
uld test
> >>>>> something which might help shed some light on all of this=2E
> >>>> Well, yes, that Linux-without-Xen test would still be useful to hav=
e
> >>>> results from=2E I didn't account for this in my earlier reply becau=
se
> >>>> I had asked for it before already, and I did take "something else"
> >>>> for meaning anything that might have turned up as useful from the n=
ew
> >>>> data you had provided=2E
> >>> What tests could I do or what info should I provide to help?
> >> Can you please rebuild Xen with this patch:
> >>
> >> diff --git a/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> >> b/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> >> index 2fdebd2d74c9=2E=2E747eae25f56c 100644
> >> --- a/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> >> +++ b/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> >> @@ -1033,7 +1033,7 @@ static int __init parse_ivrs_table(struct
> >> acpi_table_header *table)
> >> =C2=A0=C2=A0=C2=A0=C2=A0 const struct acpi_ivrs_header *ivrs_block;
> >> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long length;
> >> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned int apic;
> >> -=C2=A0=C2=A0=C2=A0 bool_t sb_ioapic =3D !iommu_intremap;
> >> +=C2=A0=C2=A0=C2=A0 bool_t sb_ioapic =3D 1;
> >> =C2=A0=C2=A0=C2=A0=C2=A0 int error =3D 0;
> >> =C2=A0
> >> =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON(!table);
> >>
> >> which should cause the behaviour to revert back to that of Xen 4=2E0=
=2E1=C2=A0
> >> (i=2Ee=2E it will fully ignore the checks relating to the southbridge=
 ioapic)=2E
> >>
> >> Confirm that with this, and booting Xen simply with `iommu=3D1` that =
full
> >> DMA remapping and interrupt remapping is considered active=2E
> >>
> >>
> >> Then, can you play around with passing the soundblaster through to VM=
s=2E=C2=A0
> >> Looking at the LSPCI you provided, it only supports legacy line inter=
rupts=2E
> >>
> >> Does the device work fine, or do you get a bunch of errors on `xl dme=
sg`
> >> about IO page faults (which is a generic "IOMMU said no to something"
> >> message)?
> > Am I right to assume that I would need the source/header packages from=
=20
> > the Devuan 4=2E0 install and then re-compile Xen?
>=20
> Yes=2E
>=20
> `apt build-dep` to install the build dependencies, and `apt source xen`
> to get the Xen sources=2E
>=20
> All you actually need to do is is a build of xen=2Egz, not a full build =
of
> everything, which will simplify things massively if you don't want to
> rebuild the world=2E

Thank you=2E
I'll get on it this week as soon as time allows for it=2E


Denis


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 19:18:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 19:18:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509804.786309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcA9t-0002x9-NM; Tue, 14 Mar 2023 19:18:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509804.786309; Tue, 14 Mar 2023 19: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 1pcA9t-0002x2-Kb; Tue, 14 Mar 2023 19:18:05 +0000
Received: by outflank-mailman (input) for mailman id 509804;
 Tue, 14 Mar 2023 19:18: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=Zfqj=7G=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pcA9t-0002ww-1g
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 19:18:05 +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 f0b86d9f-c29c-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 20:18:02 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id z21so1045540edb.4
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 12:18: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: f0b86d9f-c29c-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678821482;
        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=t1DtganGhhMfDMEKhE8vAiKkiDf6NGmcJkuNohps2Wk=;
        b=B26fmF6qbGMGMJvfHr8LOiTqvOItPWeHjngRidCern0PHjchzU6jh3h+yIr/YbWaNZ
         PkED3aZNBGzSfBeqMpgQhajDFwoJkd/qbSKqDbG3lTlmA86E/y+O1xgyWMn5SRx2grtb
         rvju9EuLbOyCYOdVCineNNIf2P/ktHFtCVKbarG1TFMQlydZofeK5iP/y4CeTOoeMx+y
         Rqi057AWGfVdKdNG/VFzQcQbmGPYx8+PQOmudd7s2apemVqUB9iQtGxUGKUAttmT2RbF
         alTInpob8mt6eYPp1KCnhIQGep8tZ5tHT7iYyAuzldg2rCuC0r4wFYtT1Af236e/5pl2
         uLQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678821482;
        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=t1DtganGhhMfDMEKhE8vAiKkiDf6NGmcJkuNohps2Wk=;
        b=nsqqLACk45FtH24nIyP1oZjQmznLKSDAEKjvlLPdM/XMPb21AVLDnQF3VI6lxYIND9
         PsmUlvRtH1Roleoyd7MixcWVMZnz/zA44svKyTgORcWzToOh7jF66+PNpQcRuhSZrm9n
         lR8ZSr0ay6put/EJbtU6qhCpR+ek1Sq5SSPaGVlPHoC0dFgQZKxo8V9J49uuYMuvVtf7
         ak4r0fsplo56qhUqlF0pk4MJGpKkmf5bgf/VOMhOZ9RtOwj5hwUO7KuBOYKo03fr9Z8Y
         mTn7OjV7YL5aRPSyr4JzYjZ2XHVdIdEqufy/iVI+sWHo77hj8TDecK9fjQneuKdyZluX
         6ajg==
X-Gm-Message-State: AO0yUKXHDYTV4IDJQoykriAzxjGuciuR2gzCTqwq1+25nnQMwm4q/BBn
	yS5vi4rHMgYdsaRJbL/58b4gIBDYl4KEs4dOudh6HjlN
X-Google-Smtp-Source: AK7set+aC4op4tZ3zCR4DLeiFWxXxUMLp6MvkJ2uCjHOCubqv9XkwEkb0AQ2psQM8rANgwRYRLzM+6Wzt3bEDy6rgTI=
X-Received: by 2002:a17:907:e91:b0:924:32b2:e3d1 with SMTP id
 ho17-20020a1709070e9100b0092432b2e3d1mr1994871ejc.3.1678821482408; Tue, 14
 Mar 2023 12:18:02 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1678368234.git.oleksii.kurochko@gmail.com>
 <671cd744b92f14ddc0c47ca471e03e3229cb89ba.1678368234.git.oleksii.kurochko@gmail.com>
 <3df43c25-6c06-0cbb-5452-c989511a7e15@suse.com> <192fbcf22a6c6e16498cc208eeb37fc6e08ce56a.camel@gmail.com>
In-Reply-To: <192fbcf22a6c6e16498cc208eeb37fc6e08ce56a.camel@gmail.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 14 Mar 2023 15:17:50 -0400
Message-ID: <CAKf6xptSdS8GxWXj6Cr93WPRAzARVHYzNtSN+P1i9FQ+GZrN1w@mail.gmail.com>
Subject: Re: [PATCH v7 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Gianluca Guida <gianluca@rivosinc.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 Tue, Mar 14, 2023 at 3:12=E2=80=AFPM Oleksii <oleksii.kurochko@gmail.com=
> wrote:
> I would like to add the changes from the [PATCH] xen/cpufreq: Remove
> <asm/bug.h> by Jason Andryuk <jandryuk@gmail.com> but I don't know how
> correctly do that. I mean should I added one more Signed-off to the
> patch?

Hi, Oleksii,

It's two trivial deletions, so I think you can fold them in without a
Signed-off-by from me.  Consider my patch as an overly complicated
review comment.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 19:26:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 19:26:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509808.786340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcAHp-00053Q-3Z; Tue, 14 Mar 2023 19:26:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509808.786340; Tue, 14 Mar 2023 19:26: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 1pcAHo-00053J-Ut; Tue, 14 Mar 2023 19:26:16 +0000
Received: by outflank-mailman (input) for mailman id 509808;
 Tue, 14 Mar 2023 19:26: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=oTSp=7G=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pcAHn-0004ZR-30
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 19:26:15 +0000
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14b656e1-c29e-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 20:26:12 +0100 (CET)
Received: from orsmga006.jf.intel.com ([10.7.209.51])
 by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 14 Mar 2023 12:26:02 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga006.jf.intel.com with ESMTP; 14 Mar 2023 12:25:52 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 98A8B365; Tue, 14 Mar 2023 21:26:37 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14b656e1-c29e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678821973; x=1710357973;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=pKBg2DWRtjN/3o0GQ+Gz1Jmqpx4HtRyfpegHo4oOuDE=;
  b=YAoc/49nG/xOAnU1cC69mMn32ZGfvVvExInOncTCX6T+df++3Vsr1IJb
   /Texh7kAZnzIFAMUmAabjNQZ8UyU20mJqaL4u2TKVgKIm6J01H5h31kHK
   vbqLar1VjD2/gXhiQhlVlR/wmXBiO7pXaEU7ZDsNAd6fSh0PqmNkAWYpU
   uWvPphjjIdqezGkIZoBI9RLZf24U9GcTa+EErl2ebWxz+wGsqjkVPi0EL
   nnSiPKToEV4zbjeqUPRZP/gkm60da2MJ4qZM+r8IqGKFZw4DxVHZE5Aoe
   8QZKUjESoK/xs1AQtJwO1YnPzJi1M2cnIwQwPrVZyxANeEFyXr+3F3hmy
   A==;
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="402389753"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="402389753"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="656474979"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="656474979"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v5 2/4] PCI: Split pci_bus_for_each_resource_p() out of pci_bus_for_each_resource()
Date: Tue, 14 Mar 2023 21:26:32 +0200
Message-Id: <20230314192634.63531-3-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230314192634.63531-1-andriy.shevchenko@linux.intel.com>
References: <20230314192634.63531-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Refactor pci_bus_for_each_resource() in the same way as it's done in
pci_dev_for_each_resource() case. This will allow to hide iterator
inside the loop, where it's not used otherwise.

No functional changes intended.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
---
 .clang-format                      |  1 +
 drivers/pci/bus.c                  |  7 +++----
 drivers/pci/hotplug/shpchp_sysfs.c |  8 ++++----
 drivers/pci/pci.c                  |  5 ++---
 drivers/pci/probe.c                |  2 +-
 drivers/pci/setup-bus.c            | 10 ++++------
 include/linux/pci.h                | 14 ++++++++++----
 7 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/.clang-format b/.clang-format
index 266abb843654..81c9f055086f 100644
--- a/.clang-format
+++ b/.clang-format
@@ -520,6 +520,7 @@ ForEachMacros:
   - 'of_property_for_each_string'
   - 'of_property_for_each_u32'
   - 'pci_bus_for_each_resource'
+  - 'pci_bus_for_each_resource_p'
   - 'pci_dev_for_each_resource'
   - 'pci_dev_for_each_resource_p'
   - 'pci_doe_for_each_off'
diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c
index 549c4bd5caec..b0789d332d36 100644
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -182,13 +182,13 @@ static int pci_bus_alloc_from_region(struct pci_bus *bus, struct resource *res,
 		void *alignf_data,
 		struct pci_bus_region *region)
 {
-	int i, ret;
 	struct resource *r, avail;
 	resource_size_t max;
+	int ret;
 
 	type_mask |= IORESOURCE_TYPE_BITS;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource_p(bus, r) {
 		resource_size_t min_used = min;
 
 		if (!r)
@@ -289,9 +289,8 @@ bool pci_bus_clip_resource(struct pci_dev *dev, int idx)
 	struct resource *res = &dev->resource[idx];
 	struct resource orig_res = *res;
 	struct resource *r;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource_p(bus, r) {
 		resource_size_t start, end;
 
 		if (!r)
diff --git a/drivers/pci/hotplug/shpchp_sysfs.c b/drivers/pci/hotplug/shpchp_sysfs.c
index 64beed7a26be..ff04f0c5e7c3 100644
--- a/drivers/pci/hotplug/shpchp_sysfs.c
+++ b/drivers/pci/hotplug/shpchp_sysfs.c
@@ -24,16 +24,16 @@
 static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char *buf)
 {
 	struct pci_dev *pdev;
-	int index, busnr;
 	struct resource *res;
 	struct pci_bus *bus;
 	size_t len = 0;
+	int busnr;
 
 	pdev = to_pci_dev(dev);
 	bus = pdev->subordinate;
 
 	len += sysfs_emit_at(buf, len, "Free resources: memory\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource_p(bus, res) {
 		if (res && (res->flags & IORESOURCE_MEM) &&
 				!(res->flags & IORESOURCE_PREFETCH)) {
 			len += sysfs_emit_at(buf, len,
@@ -43,7 +43,7 @@ static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char
 		}
 	}
 	len += sysfs_emit_at(buf, len, "Free resources: prefetchable memory\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource_p(bus, res) {
 		if (res && (res->flags & IORESOURCE_MEM) &&
 			       (res->flags & IORESOURCE_PREFETCH)) {
 			len += sysfs_emit_at(buf, len,
@@ -53,7 +53,7 @@ static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char
 		}
 	}
 	len += sysfs_emit_at(buf, len, "Free resources: IO\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource_p(bus, res) {
 		if (res && (res->flags & IORESOURCE_IO)) {
 			len += sysfs_emit_at(buf, len,
 					     "start = %8.8llx, length = %8.8llx\n",
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 7a67611dc5f4..2f8915ab41ef 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -779,9 +779,8 @@ struct resource *pci_find_parent_resource(const struct pci_dev *dev,
 {
 	const struct pci_bus *bus = dev->bus;
 	struct resource *r;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource_p(bus, r) {
 		if (!r)
 			continue;
 		if (resource_contains(r, res)) {
@@ -799,7 +798,7 @@ struct resource *pci_find_parent_resource(const struct pci_dev *dev,
 			 * be both a positively-decoded aperture and a
 			 * subtractively-decoded region that contain the BAR.
 			 * We want the positively-decoded one, so this depends
-			 * on pci_bus_for_each_resource() giving us those
+			 * on pci_bus_for_each_resource_p() giving us those
 			 * first.
 			 */
 			return r;
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index a3f68b6ba6ac..5ada4c155d3c 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -533,7 +533,7 @@ void pci_read_bridge_bases(struct pci_bus *child)
 	pci_read_bridge_mmio_pref(child);
 
 	if (dev->transparent) {
-		pci_bus_for_each_resource(child->parent, res, i) {
+		pci_bus_for_each_resource_p(child->parent, res) {
 			if (res && res->flags) {
 				pci_bus_add_resource(child, res,
 						     PCI_SUBTRACTIVE_DECODE);
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index d4fc7665f70a..d6ead027255f 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -770,9 +770,8 @@ static struct resource *find_bus_resource_of_type(struct pci_bus *bus,
 						  unsigned long type)
 {
 	struct resource *r, *r_assigned = NULL;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource_p(bus, r) {
 		if (r == &ioport_resource || r == &iomem_resource)
 			continue;
 		if (r && (r->flags & type_mask) == type && !r->parent)
@@ -1204,7 +1203,7 @@ void __pci_bus_size_bridges(struct pci_bus *bus, struct list_head *realloc_head)
 			additional_mmio_pref_size = 0;
 	struct resource *pref;
 	struct pci_host_bridge *host;
-	int hdr_type, i, ret;
+	int hdr_type, ret;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
 		struct pci_bus *b = dev->subordinate;
@@ -1228,7 +1227,7 @@ void __pci_bus_size_bridges(struct pci_bus *bus, struct list_head *realloc_head)
 		host = to_pci_host_bridge(bus->bridge);
 		if (!host->size_windows)
 			return;
-		pci_bus_for_each_resource(bus, pref, i)
+		pci_bus_for_each_resource_p(bus, pref)
 			if (pref && (pref->flags & IORESOURCE_PREFETCH))
 				break;
 		hdr_type = -1;	/* Intentionally invalid - not a PCI device. */
@@ -1333,12 +1332,11 @@ EXPORT_SYMBOL(pci_bus_size_bridges);
 
 static void assign_fixed_resource_on_bus(struct pci_bus *b, struct resource *r)
 {
-	int i;
 	struct resource *parent_r;
 	unsigned long mask = IORESOURCE_IO | IORESOURCE_MEM |
 			     IORESOURCE_PREFETCH;
 
-	pci_bus_for_each_resource(b, parent_r, i) {
+	pci_bus_for_each_resource_p(b, parent_r) {
 		if (!parent_r)
 			continue;
 
diff --git a/include/linux/pci.h b/include/linux/pci.h
index a97f026afaed..f0be961fcd7e 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1445,10 +1445,16 @@ int devm_request_pci_bus_resources(struct device *dev,
 /* Temporary until new and working PCI SBR API in place */
 int pci_bridge_secondary_bus_reset(struct pci_dev *dev);
 
-#define pci_bus_for_each_resource(bus, res, i)				\
-	for (i = 0;							\
-	    (res = pci_bus_resource_n(bus, i)) || i < PCI_BRIDGE_RESOURCE_NUM; \
-	     i++)
+#define __pci_bus_for_each_resource(bus, res, __i, vartype)			\
+	for (vartype __i = 0;							\
+	     res = pci_bus_resource_n(bus, __i), __i < PCI_BRIDGE_RESOURCE_NUM;	\
+	     __i++)
+
+#define pci_bus_for_each_resource(bus, res, i)					\
+	__pci_bus_for_each_resource(bus, res, i, )
+
+#define pci_bus_for_each_resource_p(bus, res)					\
+	__pci_bus_for_each_resource(bus, res, __i, unsigned int)
 
 int __must_check pci_bus_alloc_resource(struct pci_bus *bus,
 			struct resource *res, resource_size_t size,
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 19:26:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 19:26:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509809.786349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcAHr-0005Kz-FQ; Tue, 14 Mar 2023 19:26:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509809.786349; Tue, 14 Mar 2023 19:26:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcAHr-0005Ko-CS; Tue, 14 Mar 2023 19:26:19 +0000
Received: by outflank-mailman (input) for mailman id 509809;
 Tue, 14 Mar 2023 19:26:18 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oTSp=7G=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pcAHq-0004ZR-1e
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 19:26:18 +0000
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 161f50b4-c29e-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 20:26:15 +0100 (CET)
Received: from orsmga006.jf.intel.com ([10.7.209.51])
 by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 14 Mar 2023 12:26:03 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga006.jf.intel.com with ESMTP; 14 Mar 2023 12:25:52 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 89848209; Tue, 14 Mar 2023 21:26:37 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 161f50b4-c29e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678821975; x=1710357975;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=NshdJ8tqK6DE+uconXxOB7qK3eOq0x2Ew2SHzKH6m/s=;
  b=A4F2fVUXoBipdL7r3COT+Fl157atb7gXddiYTnRsnqlEN/sDosiG9Vfu
   fdYKWwWZKqN7AW4rcvQHhRoAhHGsw5XJ5jCBuCSwI/In1iWpHJn9FYs87
   44BX2pEvwlTfk+ACCNVlA0AcnqSGvKqAU/fMTU6SFP5mpiSZZxByaZ1NZ
   I2yJuspbRBnB9FnzqH2XrtEjcrj136HWdcaYPnjiPB2lCfpDhogGYhsnQ
   goLv7iCPKiy+2R/l+ur9OxqnblXr7XpwzYOQbmiKqP1h53paXXOOK45EN
   nCas/pqU8lo+DPEpBORC9fwutRB/Z3yaMgbMEjeCLa71HBWqZ3NUIBiAW
   w==;
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="402389809"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="402389809"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="656474984"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="656474984"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v5 1/4] PCI: Introduce pci_dev_for_each_resource()
Date: Tue, 14 Mar 2023 21:26:31 +0200
Message-Id: <20230314192634.63531-2-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230314192634.63531-1-andriy.shevchenko@linux.intel.com>
References: <20230314192634.63531-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Mika Westerberg <mika.westerberg@linux.intel.com>

Instead of open-coding it everywhere introduce a tiny helper that can be
used to iterate over each resource of a PCI device, and convert the most
obvious users into it.

While at it drop doubled empty line before pdev_sort_resources().

No functional changes intended.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
---
 .clang-format                             |  2 ++
 arch/alpha/kernel/pci.c                   |  5 ++--
 arch/arm/kernel/bios32.c                  | 16 ++++++-------
 arch/arm/mach-dove/pcie.c                 | 10 ++++----
 arch/arm/mach-mv78xx0/pcie.c              | 10 ++++----
 arch/arm/mach-orion5x/pci.c               | 10 ++++----
 arch/mips/pci/ops-bcm63xx.c               |  8 +++----
 arch/mips/pci/pci-legacy.c                |  3 +--
 arch/powerpc/kernel/pci-common.c          | 21 ++++++++--------
 arch/powerpc/platforms/4xx/pci.c          |  8 +++----
 arch/powerpc/platforms/52xx/mpc52xx_pci.c |  4 ++--
 arch/powerpc/platforms/pseries/pci.c      | 16 ++++++-------
 arch/sh/drivers/pci/pcie-sh7786.c         | 10 ++++----
 arch/sparc/kernel/leon_pci.c              |  5 ++--
 arch/sparc/kernel/pci.c                   | 10 ++++----
 arch/sparc/kernel/pcic.c                  |  5 ++--
 drivers/pci/remove.c                      |  5 ++--
 drivers/pci/setup-bus.c                   | 27 ++++++++-------------
 drivers/pci/setup-res.c                   |  4 +---
 drivers/pci/vgaarb.c                      | 17 ++++---------
 drivers/pci/xen-pcifront.c                |  4 +---
 drivers/pnp/quirks.c                      | 29 ++++++++---------------
 include/linux/pci.h                       | 15 ++++++++++--
 23 files changed, 111 insertions(+), 133 deletions(-)

diff --git a/.clang-format b/.clang-format
index d988e9fa9b26..266abb843654 100644
--- a/.clang-format
+++ b/.clang-format
@@ -520,6 +520,8 @@ ForEachMacros:
   - 'of_property_for_each_string'
   - 'of_property_for_each_u32'
   - 'pci_bus_for_each_resource'
+  - 'pci_dev_for_each_resource'
+  - 'pci_dev_for_each_resource_p'
   - 'pci_doe_for_each_off'
   - 'pcl_for_each_chunk'
   - 'pcl_for_each_segment'
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c
index 64fbfb0763b2..4458eb7f44f0 100644
--- a/arch/alpha/kernel/pci.c
+++ b/arch/alpha/kernel/pci.c
@@ -288,11 +288,10 @@ pcibios_claim_one_bus(struct pci_bus *b)
 	struct pci_bus *child_bus;
 
 	list_for_each_entry(dev, &b->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 			if (pci_has_flag(PCI_PROBE_ONLY) ||
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c
index e7ef2b5bea9c..5254734b23e6 100644
--- a/arch/arm/kernel/bios32.c
+++ b/arch/arm/kernel/bios32.c
@@ -142,15 +142,15 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C940F,
  */
 static void pci_fixup_dec21285(struct pci_dev *dev)
 {
-	int i;
-
 	if (dev->devfn == 0) {
+		struct resource *r;
+
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start = 0;
+			r->end = 0;
+			r->flags = 0;
 		}
 	}
 }
@@ -162,13 +162,11 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, pci_fixup_d
 static void pci_fixup_ide_bases(struct pci_dev *dev)
 {
 	struct resource *r;
-	int i;
 
 	if ((dev->class >> 8) != PCI_CLASS_STORAGE_IDE)
 		return;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		r = dev->resource + i;
+	pci_dev_for_each_resource_p(dev, r) {
 		if ((r->start & ~0x80) == 0x374) {
 			r->start |= 2;
 			r->end = r->start;
diff --git a/arch/arm/mach-dove/pcie.c b/arch/arm/mach-dove/pcie.c
index 754ca381f600..58cecd79a204 100644
--- a/arch/arm/mach-dove/pcie.c
+++ b/arch/arm/mach-dove/pcie.c
@@ -142,14 +142,14 @@ static struct pci_ops pcie_ops = {
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start = 0;
+			r->end   = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/arm/mach-mv78xx0/pcie.c b/arch/arm/mach-mv78xx0/pcie.c
index 6190f538a124..f59f02150a36 100644
--- a/arch/arm/mach-mv78xx0/pcie.c
+++ b/arch/arm/mach-mv78xx0/pcie.c
@@ -186,14 +186,14 @@ static struct pci_ops pcie_ops = {
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start = 0;
+			r->end   = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c
index 888fdc9099c5..0933b47b601a 100644
--- a/arch/arm/mach-orion5x/pci.c
+++ b/arch/arm/mach-orion5x/pci.c
@@ -522,14 +522,14 @@ static int __init pci_setup(struct pci_sys_data *sys)
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start	= 0;
+			r->end		= 0;
+			r->flags	= 0;
 		}
 	}
 }
diff --git a/arch/mips/pci/ops-bcm63xx.c b/arch/mips/pci/ops-bcm63xx.c
index dc6dc2741272..c0efcbf3c63f 100644
--- a/arch/mips/pci/ops-bcm63xx.c
+++ b/arch/mips/pci/ops-bcm63xx.c
@@ -413,18 +413,18 @@ struct pci_ops bcm63xx_cb_ops = {
 static void bcm63xx_fixup(struct pci_dev *dev)
 {
 	static int io_window = -1;
-	int i, found, new_io_window;
+	int found, new_io_window;
+	struct resource *r;
 	u32 val;
 
 	/* look for any io resource */
 	found = 0;
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		if (pci_resource_flags(dev, i) & IORESOURCE_IO) {
+	pci_dev_for_each_resource_p(dev, r) {
+		if (resource_type(r) == IORESOURCE_IO) {
 			found = 1;
 			break;
 		}
 	}
-
 	if (!found)
 		return;
 
diff --git a/arch/mips/pci/pci-legacy.c b/arch/mips/pci/pci-legacy.c
index 468722c8a5c6..ec2567f8efd8 100644
--- a/arch/mips/pci/pci-legacy.c
+++ b/arch/mips/pci/pci-legacy.c
@@ -249,12 +249,11 @@ static int pcibios_enable_resources(struct pci_dev *dev, int mask)
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	old_cmd = cmd;
-	for (idx = 0; idx < PCI_NUM_RESOURCES; idx++) {
+	pci_dev_for_each_resource(dev, r, idx) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<idx)))
 			continue;
 
-		r = &dev->resource[idx];
 		if (!(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
 			continue;
 		if ((idx == PCI_ROM_RESOURCE) &&
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index d67cf79bf5d0..1908a46cad54 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -880,6 +880,7 @@ int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
 static void pcibios_fixup_resources(struct pci_dev *dev)
 {
 	struct pci_controller *hose = pci_bus_to_host(dev->bus);
+	struct resource *res;
 	int i;
 
 	if (!hose) {
@@ -891,9 +892,9 @@ static void pcibios_fixup_resources(struct pci_dev *dev)
 	if (dev->is_virtfn)
 		return;
 
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		struct resource *res = dev->resource + i;
+	pci_dev_for_each_resource(dev, res, i) {
 		struct pci_bus_region reg;
+
 		if (!res->flags)
 			continue;
 
@@ -1452,11 +1453,10 @@ void pcibios_claim_one_bus(struct pci_bus *bus)
 	struct pci_bus *child_bus;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 
@@ -1705,19 +1705,20 @@ EXPORT_SYMBOL_GPL(pcibios_scan_phb);
 
 static void fixup_hide_host_resource_fsl(struct pci_dev *dev)
 {
-	int i, class = dev->class >> 8;
+	int class = dev->class >> 8;
 	/* When configured as agent, programming interface = 1 */
 	int prog_if = dev->class & 0xf;
+	struct resource *r;
 
 	if ((class == PCI_CLASS_PROCESSOR_POWERPC ||
 	     class == PCI_CLASS_BRIDGE_OTHER) &&
 		(dev->hdr_type == PCI_HEADER_TYPE_NORMAL) &&
 		(prog_if == 0) &&
 		(dev->bus->parent == NULL)) {
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start = 0;
+			r->end = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/powerpc/platforms/4xx/pci.c b/arch/powerpc/platforms/4xx/pci.c
index ca5dd7a5842a..9d19123c0da8 100644
--- a/arch/powerpc/platforms/4xx/pci.c
+++ b/arch/powerpc/platforms/4xx/pci.c
@@ -57,7 +57,7 @@ static inline int ppc440spe_revA(void)
 static void fixup_ppc4xx_pci_bridge(struct pci_dev *dev)
 {
 	struct pci_controller *hose;
-	int i;
+	struct resource *r;
 
 	if (dev->devfn != 0 || dev->bus->self != NULL)
 		return;
@@ -79,9 +79,9 @@ static void fixup_ppc4xx_pci_bridge(struct pci_dev *dev)
 	/* Hide the PCI host BARs from the kernel as their content doesn't
 	 * fit well in the resource management
 	 */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		dev->resource[i].start = dev->resource[i].end = 0;
-		dev->resource[i].flags = 0;
+	pci_dev_for_each_resource_p(dev, r) {
+		r->start = r->end = 0;
+		r->flags = 0;
 	}
 
 	printk(KERN_INFO "PCI: Hiding 4xx host bridge resources %s\n",
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pci.c b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
index 859e2818c43d..f0b0ac298484 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_pci.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
@@ -327,14 +327,14 @@ mpc52xx_pci_setup(struct pci_controller *hose,
 static void
 mpc52xx_pci_fixup_resources(struct pci_dev *dev)
 {
+	struct resource *res;
 	int i;
 
 	pr_debug("%s() %.4x:%.4x\n", __func__, dev->vendor, dev->device);
 
 	/* We don't rely on boot loader for PCI and resets all
 	   devices */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		struct resource *res = &dev->resource[i];
+	pci_dev_for_each_resource_p(dev, res) {
 		if (res->end > res->start) {	/* Only valid resources */
 			res->end -= res->start;
 			res->start = 0;
diff --git a/arch/powerpc/platforms/pseries/pci.c b/arch/powerpc/platforms/pseries/pci.c
index 60e0a58928ef..ee7b2c737c92 100644
--- a/arch/powerpc/platforms/pseries/pci.c
+++ b/arch/powerpc/platforms/pseries/pci.c
@@ -240,7 +240,7 @@ void __init pSeries_final_fixup(void)
  */
 static void fixup_winbond_82c105(struct pci_dev* dev)
 {
-	int i;
+	struct resource *r;
 	unsigned int reg;
 
 	if (!machine_is(pseries))
@@ -251,14 +251,14 @@ static void fixup_winbond_82c105(struct pci_dev* dev)
 	/* Enable LEGIRQ to use INTC instead of ISA interrupts */
 	pci_write_config_dword(dev, 0x40, reg | (1<<11));
 
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; ++i) {
+	pci_dev_for_each_resource_p(dev, r) {
 		/* zap the 2nd function of the winbond chip */
-		if (dev->resource[i].flags & IORESOURCE_IO
-		    && dev->bus->number == 0 && dev->devfn == 0x81)
-			dev->resource[i].flags &= ~IORESOURCE_IO;
-		if (dev->resource[i].start == 0 && dev->resource[i].end) {
-			dev->resource[i].flags = 0;
-			dev->resource[i].end = 0;
+		if (dev->bus->number == 0 && dev->devfn == 0x81 &&
+		    r->flags & IORESOURCE_IO)
+			r->flags &= ~IORESOURCE_IO;
+		if (r->start == 0 && r->end) {
+			r->flags = 0;
+			r->end = 0;
 		}
 	}
 }
diff --git a/arch/sh/drivers/pci/pcie-sh7786.c b/arch/sh/drivers/pci/pcie-sh7786.c
index b0c2a5238d04..982f9aec2f2f 100644
--- a/arch/sh/drivers/pci/pcie-sh7786.c
+++ b/arch/sh/drivers/pci/pcie-sh7786.c
@@ -140,12 +140,12 @@ static void sh7786_pci_fixup(struct pci_dev *dev)
 	 * Prevent enumeration of root complex resources.
 	 */
 	if (pci_is_root_bus(dev->bus) && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start	= 0;
-			dev->resource[i].end	= 0;
-			dev->resource[i].flags	= 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start	= 0;
+			r->end		= 0;
+			r->flags	= 0;
 		}
 	}
 }
diff --git a/arch/sparc/kernel/leon_pci.c b/arch/sparc/kernel/leon_pci.c
index e5e5ff6b9a5c..b6663a3fbae9 100644
--- a/arch/sparc/kernel/leon_pci.c
+++ b/arch/sparc/kernel/leon_pci.c
@@ -62,15 +62,14 @@ void leon_pci_init(struct platform_device *ofdev, struct leon_pci_info *info)
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index cb1ef25116e9..a948a49817c7 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -663,11 +663,10 @@ static void pci_claim_bus_resources(struct pci_bus *bus)
 	struct pci_dev *dev;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 
@@ -724,15 +723,14 @@ struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm,
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/arch/sparc/kernel/pcic.c b/arch/sparc/kernel/pcic.c
index ee4c9a9a171c..25fe0a061732 100644
--- a/arch/sparc/kernel/pcic.c
+++ b/arch/sparc/kernel/pcic.c
@@ -643,15 +643,14 @@ void pcibios_fixup_bus(struct pci_bus *bus)
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c
index 0145aef1b930..1310e01fb540 100644
--- a/drivers/pci/remove.c
+++ b/drivers/pci/remove.c
@@ -5,10 +5,9 @@
 
 static void pci_free_resources(struct pci_dev *dev)
 {
-	int i;
+	struct resource *res;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = dev->resource + i;
+	pci_dev_for_each_resource_p(dev, res) {
 		if (res->parent)
 			release_resource(res);
 	}
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index c690572b10ce..d4fc7665f70a 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -124,20 +124,17 @@ static resource_size_t get_res_add_align(struct list_head *head,
 	return dev_res ? dev_res->min_align : 0;
 }
 
-
 /* Sort resources by alignment */
 static void pdev_sort_resources(struct pci_dev *dev, struct list_head *head)
 {
+	struct resource *r;
 	int i;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *r;
+	pci_dev_for_each_resource(dev, r, i) {
 		struct pci_dev_resource *dev_res, *tmp;
 		resource_size_t r_align;
 		struct list_head *n;
 
-		r = &dev->resource[i];
-
 		if (r->flags & IORESOURCE_PCI_FIXED)
 			continue;
 
@@ -895,10 +892,9 @@ static void pbus_size_io(struct pci_bus *bus, resource_size_t min_size,
 
 	min_align = window_alignment(bus, IORESOURCE_IO);
 	list_for_each_entry(dev, &bus->devices, bus_list) {
-		int i;
+		struct resource *r;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
+		pci_dev_for_each_resource_p(dev, r) {
 			unsigned long r_size;
 
 			if (r->parent || !(r->flags & IORESOURCE_IO))
@@ -1014,10 +1010,10 @@ static int pbus_size_mem(struct pci_bus *bus, unsigned long mask,
 	size = 0;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
+		pci_dev_for_each_resource(dev, r, i) {
 			resource_size_t r_size;
 
 			if (r->parent || (r->flags & IORESOURCE_PCI_FIXED) ||
@@ -1358,11 +1354,10 @@ static void assign_fixed_resource_on_bus(struct pci_bus *b, struct resource *r)
  */
 static void pdev_assign_fixed_resources(struct pci_dev *dev)
 {
-	int i;
+	struct resource *r;
 
-	for (i = 0; i <  PCI_NUM_RESOURCES; i++) {
+	pci_dev_for_each_resource_p(dev, r) {
 		struct pci_bus *b;
-		struct resource *r = &dev->resource[i];
 
 		if (r->parent || !(r->flags & IORESOURCE_PCI_FIXED) ||
 		    !(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
@@ -1795,11 +1790,9 @@ static void remove_dev_resources(struct pci_dev *dev, struct resource *io,
 				 struct resource *mmio,
 				 struct resource *mmio_pref)
 {
-	int i;
-
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
+	struct resource *res;
 
+	pci_dev_for_each_resource_p(dev, res) {
 		if (resource_type(res) == IORESOURCE_IO) {
 			remove_dev_resource(io, dev, res);
 		} else if (resource_type(res) == IORESOURCE_MEM) {
diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
index b492e67c3d87..967f9a758923 100644
--- a/drivers/pci/setup-res.c
+++ b/drivers/pci/setup-res.c
@@ -484,12 +484,10 @@ int pci_enable_resources(struct pci_dev *dev, int mask)
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	old_cmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
+	pci_dev_for_each_resource(dev, r, i) {
 		if (!(mask & (1 << i)))
 			continue;
 
-		r = &dev->resource[i];
-
 		if (!(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
 			continue;
 		if ((i == PCI_ROM_RESOURCE) &&
diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
index f80b6ec88dc3..3ec6a0b7dbf0 100644
--- a/drivers/pci/vgaarb.c
+++ b/drivers/pci/vgaarb.c
@@ -548,10 +548,8 @@ static bool vga_is_firmware_default(struct pci_dev *pdev)
 #if defined(CONFIG_X86) || defined(CONFIG_IA64)
 	u64 base = screen_info.lfb_base;
 	u64 size = screen_info.lfb_size;
+	struct resource *r;
 	u64 limit;
-	resource_size_t start, end;
-	unsigned long flags;
-	int i;
 
 	/* Select the device owning the boot framebuffer if there is one */
 
@@ -561,19 +559,14 @@ static bool vga_is_firmware_default(struct pci_dev *pdev)
 	limit = base + size;
 
 	/* Does firmware framebuffer belong to us? */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		flags = pci_resource_flags(pdev, i);
-
-		if ((flags & IORESOURCE_MEM) == 0)
+	pci_dev_for_each_resource_p(pdev, r) {
+		if (resource_type(r) != IORESOURCE_MEM)
 			continue;
 
-		start = pci_resource_start(pdev, i);
-		end  = pci_resource_end(pdev, i);
-
-		if (!start || !end)
+		if (!r->start || !r->end)
 			continue;
 
-		if (base < start || limit >= end)
+		if (base < r->start || limit >= r->end)
 			continue;
 
 		return true;
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index fcd029ca2eb1..83c0ab50676d 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -390,9 +390,7 @@ static int pcifront_claim_resource(struct pci_dev *dev, void *data)
 	int i;
 	struct resource *r;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		r = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, r, i) {
 		if (!r->parent && r->start && r->flags) {
 			dev_info(&pdev->xdev->dev, "claiming resource %s/%d\n",
 				pci_name(dev), i);
diff --git a/drivers/pnp/quirks.c b/drivers/pnp/quirks.c
index ac98b9919029..6085a1471de2 100644
--- a/drivers/pnp/quirks.c
+++ b/drivers/pnp/quirks.c
@@ -229,8 +229,7 @@ static void quirk_ad1815_mpu_resources(struct pnp_dev *dev)
 static void quirk_system_pci_resources(struct pnp_dev *dev)
 {
 	struct pci_dev *pdev = NULL;
-	struct resource *res;
-	resource_size_t pnp_start, pnp_end, pci_start, pci_end;
+	struct resource *res, *r;
 	int i, j;
 
 	/*
@@ -243,32 +242,26 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 	 * so they won't be claimed by the PNP system driver.
 	 */
 	for_each_pci_dev(pdev) {
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			unsigned long flags, type;
+		pci_dev_for_each_resource(pdev, r, i) {
+			unsigned long type = resource_type(r);
 
-			flags = pci_resource_flags(pdev, i);
-			type = flags & (IORESOURCE_IO | IORESOURCE_MEM);
-			if (!type || pci_resource_len(pdev, i) == 0)
+			if (!(type == IORESOURCE_IO || type == IORESOURCE_MEM) ||
+			    resource_size(r) == 0)
 				continue;
 
-			if (flags & IORESOURCE_UNSET)
+			if (r->flags & IORESOURCE_UNSET)
 				continue;
 
-			pci_start = pci_resource_start(pdev, i);
-			pci_end = pci_resource_end(pdev, i);
 			for (j = 0;
 			     (res = pnp_get_resource(dev, type, j)); j++) {
 				if (res->start == 0 && res->end == 0)
 					continue;
 
-				pnp_start = res->start;
-				pnp_end = res->end;
-
 				/*
 				 * If the PNP region doesn't overlap the PCI
 				 * region at all, there's no problem.
 				 */
-				if (pnp_end < pci_start || pnp_start > pci_end)
+				if (!resource_overlaps(res, r))
 					continue;
 
 				/*
@@ -278,8 +271,7 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 				 * PNP device describes a bridge with PCI
 				 * behind it.
 				 */
-				if (pnp_start <= pci_start &&
-				    pnp_end >= pci_end)
+				if (res->start <= r->start && res->end >= r->end)
 					continue;
 
 				/*
@@ -288,9 +280,8 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 				 * driver from requesting its resources.
 				 */
 				dev_warn(&dev->dev,
-					 "disabling %pR because it overlaps "
-					 "%s BAR %d %pR\n", res,
-					 pci_name(pdev), i, &pdev->resource[i]);
+					 "disabling %pR because it overlaps %s BAR %d %pR\n",
+					 res, pci_name(pdev), i, r);
 				res->flags |= IORESOURCE_DISABLED;
 			}
 		}
diff --git a/include/linux/pci.h b/include/linux/pci.h
index b50e5c79f7e3..a97f026afaed 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1995,14 +1995,25 @@ int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma);
  * These helpers provide future and backwards compatibility
  * for accessing popular PCI BAR info
  */
+#define pci_resource_n(dev, bar)	(&(dev)->resource[(bar)])
 #define pci_resource_start(dev, bar)	((dev)->resource[(bar)].start)
 #define pci_resource_end(dev, bar)	((dev)->resource[(bar)].end)
 #define pci_resource_flags(dev, bar)	((dev)->resource[(bar)].flags)
 #define pci_resource_len(dev,bar) \
 	((pci_resource_end((dev), (bar)) == 0) ? 0 :	\
 							\
-	 (pci_resource_end((dev), (bar)) -		\
-	  pci_resource_start((dev), (bar)) + 1))
+	 resource_size(pci_resource_n((dev), (bar))))
+
+#define __pci_dev_for_each_resource(dev, res, __i, vartype)		\
+	for (vartype __i = 0;						\
+	     res = pci_resource_n(dev, __i), __i < PCI_NUM_RESOURCES;	\
+	     __i++)
+
+#define pci_dev_for_each_resource(dev, res, i)				\
+       __pci_dev_for_each_resource(dev, res, i, )
+
+#define pci_dev_for_each_resource_p(dev, res)				\
+	__pci_dev_for_each_resource(dev, res, __i, unsigned int)
 
 /*
  * Similar to the helpers above, these manipulate per-pci_dev
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 19:26:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 19:26:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509806.786319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcAHn-0004Zo-I5; Tue, 14 Mar 2023 19:26:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509806.786319; Tue, 14 Mar 2023 19:26: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 1pcAHn-0004Zg-FN; Tue, 14 Mar 2023 19:26:15 +0000
Received: by outflank-mailman (input) for mailman id 509806;
 Tue, 14 Mar 2023 19:26: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=oTSp=7G=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pcAHl-0004ZR-Eb
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 19:26:13 +0000
Received: from mga18.intel.com (mga18.intel.com [134.134.136.126])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f64122c-c29e-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 20:26:05 +0100 (CET)
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 14 Mar 2023 12:26:02 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by fmsmga001.fm.intel.com with ESMTP; 14 Mar 2023 12:25:52 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 77DF1163; Tue, 14 Mar 2023 21:26:37 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f64122c-c29e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678821965; x=1710357965;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=o5wvjgss3WToenPFVgKISR2zGwGV5RepaqjvWSlSslQ=;
  b=l1ViJyeeFrHs3hJRJlxZA3XoxM0ogfTnMZ6zx1q6h6l8pUo8F6OxKGv+
   KW1drOqCGJ2jmtvTpMwUTBPFNPU04Alc3IMImBjT7La7zexT1g8zRr3+w
   rhb/tsspuHbxvBJ3nYv02Qoh/cLjRPbr+T0qho7Iyve1mFhMVw22JLyIq
   /wObCEz0xDESRlJKLl626EiyI/r7+muFiGMbs/ile+AEMB9QNOoLcvmKv
   ON2Y911xbJcihpIxAfvKITceC77NH/Ja/XW3uj/Hsy2fR9wL/Mp68r/4T
   iZj6CqnyyNrV+WRtP3+4xindlaNfkSVq03i2//Fsg0sYHfHGunYvTWBA1
   Q==;
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="321369006"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="321369006"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="822495607"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="822495607"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v5 0/4] PCI: Add pci_dev_for_each_resource() helper and update users
Date: Tue, 14 Mar 2023 21:26:30 +0200
Message-Id: <20230314192634.63531-1-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Provide two new helper macros to iterate over PCI device resources and
convert users.

Looking at it, refactor existing pci_bus_for_each_resource() and convert
users accordingly.

Changelog v5:
- renamed loop variable to minimize the clash (Keith)
- addressed smatch warning (Dan)
- addressed 0-day bot findings (LKP)

Changelog v4:
- rebased on top of v6.3-rc1
- added tag (Krzysztof)

Changelog v3:
- rebased on top of v2 by Mika, see above
- added tag to pcmcia patch (Dominik)

Changelog v2:
- refactor to have two macros
- refactor existing pci_bus_for_each_resource() in the same way and
  convert users

Andy Shevchenko (3):
  PCI: Split pci_bus_for_each_resource_p() out of
    pci_bus_for_each_resource()
  EISA: Convert to use pci_bus_for_each_resource_p()
  pcmcia: Convert to use pci_bus_for_each_resource_p()

Mika Westerberg (1):
  PCI: Introduce pci_dev_for_each_resource()

 .clang-format                             |  3 ++
 arch/alpha/kernel/pci.c                   |  5 ++-
 arch/arm/kernel/bios32.c                  | 16 +++++-----
 arch/arm/mach-dove/pcie.c                 | 10 +++---
 arch/arm/mach-mv78xx0/pcie.c              | 10 +++---
 arch/arm/mach-orion5x/pci.c               | 10 +++---
 arch/mips/pci/ops-bcm63xx.c               |  8 ++---
 arch/mips/pci/pci-legacy.c                |  3 +-
 arch/powerpc/kernel/pci-common.c          | 21 +++++++------
 arch/powerpc/platforms/4xx/pci.c          |  8 ++---
 arch/powerpc/platforms/52xx/mpc52xx_pci.c |  4 +--
 arch/powerpc/platforms/pseries/pci.c      | 16 +++++-----
 arch/sh/drivers/pci/pcie-sh7786.c         | 10 +++---
 arch/sparc/kernel/leon_pci.c              |  5 ++-
 arch/sparc/kernel/pci.c                   | 10 +++---
 arch/sparc/kernel/pcic.c                  |  5 ++-
 drivers/eisa/pci_eisa.c                   |  4 +--
 drivers/pci/bus.c                         |  7 ++---
 drivers/pci/hotplug/shpchp_sysfs.c        |  8 ++---
 drivers/pci/pci.c                         |  5 ++-
 drivers/pci/probe.c                       |  2 +-
 drivers/pci/remove.c                      |  5 ++-
 drivers/pci/setup-bus.c                   | 37 +++++++++--------------
 drivers/pci/setup-res.c                   |  4 +--
 drivers/pci/vgaarb.c                      | 17 +++--------
 drivers/pci/xen-pcifront.c                |  4 +--
 drivers/pcmcia/rsrc_nonstatic.c           |  9 ++----
 drivers/pcmcia/yenta_socket.c             |  3 +-
 drivers/pnp/quirks.c                      | 29 ++++++------------
 include/linux/pci.h                       | 29 ++++++++++++++----
 30 files changed, 142 insertions(+), 165 deletions(-)

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 19:26:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 19:26:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509807.786326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcAHn-0004bg-Sv; Tue, 14 Mar 2023 19:26:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509807.786326; Tue, 14 Mar 2023 19:26: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 1pcAHn-0004bR-M4; Tue, 14 Mar 2023 19:26:15 +0000
Received: by outflank-mailman (input) for mailman id 509807;
 Tue, 14 Mar 2023 19:26: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=oTSp=7G=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pcAHm-0004ZR-69
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 19:26:14 +0000
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f356a68-c29e-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 20:26:05 +0100 (CET)
Received: from orsmga006.jf.intel.com ([10.7.209.51])
 by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 14 Mar 2023 12:26:02 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga006.jf.intel.com with ESMTP; 14 Mar 2023 12:25:52 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id BC9AF3B8; Tue, 14 Mar 2023 21:26:37 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0f356a68-c29e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678821965; x=1710357965;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=3Bu5KEQ7VbEZVFxJWJ3dCxTl63qFR3TMO6ewhBoLJ+8=;
  b=Rs/n/UIKpCYOOBY2I8BN77mI8S6xGzNxXzB17sZg9tI4lGIjN5P/VMHC
   ohVvG52IX+fxbHvLc/TYIn2WAAPjmxQUXwZxn3FnVvpIJi71nyGkGczbj
   somZHcsed52IZ1D0cRu9NTVIQdYRGweaxi2AJcnQ2ibVooL4XNj0dsZ34
   JO0BGWc5T9yVHy95qxwZKwvYnec6wTN5JrDZN7BCQFdv5b7OrxXthcd8i
   z0ZOOD0UHWYbiTP/te5MOfaKx3u3VKz2emexYNGSKwWunGZOxvP97YeIB
   yrmEE+hChFiTq1q1+n6csWotFsSnkISuq2mf4EKyHl3RMBspeCo3kpl6m
   A==;
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="402389725"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="402389725"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="656474978"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="656474978"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v5 4/4] pcmcia: Convert to use pci_bus_for_each_resource_p()
Date: Tue, 14 Mar 2023 21:26:34 +0200
Message-Id: <20230314192634.63531-5-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230314192634.63531-1-andriy.shevchenko@linux.intel.com>
References: <20230314192634.63531-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The pci_bus_for_each_resource_p() hides the iterator loop since
it may be not used otherwise. With this, we may drop that iterator
variable definition.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
---
 drivers/pcmcia/rsrc_nonstatic.c | 9 +++------
 drivers/pcmcia/yenta_socket.c   | 3 +--
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/drivers/pcmcia/rsrc_nonstatic.c
index ad1141fddb4c..9d92d4bb6239 100644
--- a/drivers/pcmcia/rsrc_nonstatic.c
+++ b/drivers/pcmcia/rsrc_nonstatic.c
@@ -934,7 +934,7 @@ static int adjust_io(struct pcmcia_socket *s, unsigned int action, unsigned long
 static int nonstatic_autoadd_resources(struct pcmcia_socket *s)
 {
 	struct resource *res;
-	int i, done = 0;
+	int done = 0;
 
 	if (!s->cb_dev || !s->cb_dev->bus)
 		return -ENODEV;
@@ -960,12 +960,9 @@ static int nonstatic_autoadd_resources(struct pcmcia_socket *s)
 	 */
 	if (s->cb_dev->bus->number == 0)
 		return -EINVAL;
-
-	for (i = 0; i < PCI_BRIDGE_RESOURCE_NUM; i++) {
-		res = s->cb_dev->bus->resource[i];
-#else
-	pci_bus_for_each_resource(s->cb_dev->bus, res, i) {
 #endif
+
+	pci_bus_for_each_resource_p(s->cb_dev->bus, res) {
 		if (!res)
 			continue;
 
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
index 1365eaa20ff4..2e5bdf3db0ba 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -673,9 +673,8 @@ static int yenta_search_res(struct yenta_socket *socket, struct resource *res,
 			    u32 min)
 {
 	struct resource *root;
-	int i;
 
-	pci_bus_for_each_resource(socket->dev->bus, root, i) {
+	pci_bus_for_each_resource_p(socket->dev->bus, root) {
 		if (!root)
 			continue;
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 19:26:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 19:26:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509810.786355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcAHr-0005PN-Te; Tue, 14 Mar 2023 19:26:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509810.786355; Tue, 14 Mar 2023 19:26:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcAHr-0005Ok-OK; Tue, 14 Mar 2023 19:26:19 +0000
Received: by outflank-mailman (input) for mailman id 509810;
 Tue, 14 Mar 2023 19:26:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oTSp=7G=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pcAHq-0005Jc-Id
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 19:26:18 +0000
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 14d02904-c29e-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 20:26:15 +0100 (CET)
Received: from orsmga006.jf.intel.com ([10.7.209.51])
 by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 14 Mar 2023 12:26:02 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga006.jf.intel.com with ESMTP; 14 Mar 2023 12:25:52 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id A3CFB93; Tue, 14 Mar 2023 21:26:37 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14d02904-c29e-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678821975; x=1710357975;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=w+YdvYGhoz+V3BkfBUt2y8DW6u+jmfOhlK0R9Fvr/bI=;
  b=KHfH4oc+20wn5OQxZljMkg2LEgbzNEJL3EkTELs29iBXRQLK1IG7BRNp
   VwiwKm5cLARArKF9ZMKdQe86pE75Lp5BVidmKGi6UKfI+1P6FTKI4zxcZ
   OVF7ihY5pcg/BB08WKynaNx1rT+cW9iGGP9zpDf3uZytmBgzHuWY/Bmu2
   r0TFA24fTOReGO88LIkyIIm6HX1BCgsFuXu8GIr6IwTEu18C5+PVPHJ1o
   gxdmLkVrLxC9ho/STrg4we4b9rfbxiKZ3SXF7xGBiprFPPFJ02zZbGC2n
   UuqZu/9MsXiurhMOyFvY8jXr4xXqtyaQRnwmIhBAVD2StlUOCJAToYKfE
   A==;
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="402389780"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="402389780"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6500,9779,10649"; a="656474982"
X-IronPort-AV: E=Sophos;i="5.98,260,1673942400"; 
   d="scan'208";a="656474982"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v5 3/4] EISA: Convert to use pci_bus_for_each_resource_p()
Date: Tue, 14 Mar 2023 21:26:33 +0200
Message-Id: <20230314192634.63531-4-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230314192634.63531-1-andriy.shevchenko@linux.intel.com>
References: <20230314192634.63531-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The pci_bus_for_each_resource_p() hides the iterator loop since
it may be not used otherwise. With this, we may drop that iterator
variable definition.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
---
 drivers/eisa/pci_eisa.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/eisa/pci_eisa.c b/drivers/eisa/pci_eisa.c
index 930c2332c3c4..907b86384396 100644
--- a/drivers/eisa/pci_eisa.c
+++ b/drivers/eisa/pci_eisa.c
@@ -20,8 +20,8 @@ static struct eisa_root_device pci_eisa_root;
 
 static int __init pci_eisa_init(struct pci_dev *pdev)
 {
-	int rc, i;
 	struct resource *res, *bus_res = NULL;
+	int rc;
 
 	if ((rc = pci_enable_device (pdev))) {
 		dev_err(&pdev->dev, "Could not enable device\n");
@@ -38,7 +38,7 @@ static int __init pci_eisa_init(struct pci_dev *pdev)
 	 * eisa_root_register() can only deal with a single io port resource,
 	*  so we use the first valid io port resource.
 	 */
-	pci_bus_for_each_resource(pdev->bus, res, i)
+	pci_bus_for_each_resource_p(pdev->bus, res)
 		if (res && (res->flags & IORESOURCE_IO)) {
 			bus_res = res;
 			break;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 14 20:16:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 20:16:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509822.786375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcB4c-0004rU-02; Tue, 14 Mar 2023 20:16:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509822.786375; Tue, 14 Mar 2023 20:16:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcB4b-0004rN-TY; Tue, 14 Mar 2023 20:16:41 +0000
Received: by outflank-mailman (input) for mailman id 509822;
 Tue, 14 Mar 2023 20:16: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=snfi=7G=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcB4Z-0004r9-PT
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 20:16:39 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f98d079-c2a5-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 21:16:38 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id cn21so36836194edb.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Mar 2023 13:16:37 -0700 (PDT)
Received: from [192.168.8.114] (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 br7-20020a170906d14700b008c979c74732sm1520701ejb.156.2023.03.14.13.16.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Mar 2023 13:16: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: 1f98d079-c2a5-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678824997;
        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=2nEz2dpMPbvL8ON3mDc6ZbiUBwMkCNptBtABAlbR4bc=;
        b=LpfISWhaGDuUUXnu0ZK3knLJA3URBqgF5AhxOIvJ9JfHg91Ns5b9fVcAEu4L2fbYkS
         uhw9yl7UxBIpYb2++Gebx0S5jhAtgKFXC4bDMLlIigERSsI4zd2pBTmtMIrPiXRCpJsd
         49niiWDoknIhPT7JmCdPcDla4OlcMfHe4hirRkhAK9s83Fn8eUvl9w2SoDj+U5wv3AO/
         3iPmfA63GfiZH8mDwbzJR/JrVU70zjTPnDUKomcdJ6FaIlV+lU7BXpWsM7KEJUOwJ18J
         3tch9Q8WJvixY5YW+t7dDaNBVxdGyp7q8Iwu0A/o8HJJPh2ZAEMdLzVLCFm5I/9NDWQZ
         Xq7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678824997;
        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=2nEz2dpMPbvL8ON3mDc6ZbiUBwMkCNptBtABAlbR4bc=;
        b=0JZgMV4j/X53bg+M19tR9MNVquqPLZuofBRPryKWCDW3g9uIeGw+REh6dk1CBwG1pP
         KBKRgTLYkaXXyf+NaGnspcPkoV1Acxvqx9sDU1/Yf5K7biEExZtlY+6OQXEretuk+Cd8
         pAkS2r1qV7NeN1Lf+GzcegdQGLVtQZQjkOZNgSqt5ZEZnNUwHLmz5HGxvx3M0Z+eyNaR
         xHGKMyPhXMie7eLm3/T1D573yHgUxuCD0qkqnXqeV/oJZ6vQ6hetcDaAtjam648IZddV
         qFoTDp5jQt8bntQwfjxSWlYqug1/E/nmXsACKLJv7IM3ipPaU3XgK6AXSaOTGeeF836p
         5OdA==
X-Gm-Message-State: AO0yUKW00/fHCSEBzndBcMkdmOoWRJke58+cqrT3NOCz2uxKPLH3E7sR
	ADsfpY65cZCVTysMl40J39Y=
X-Google-Smtp-Source: AK7set+Ty+7Z3xgwWokHWZwB+s1Aky+zamPEQOLabnC4NN3/mQ2K+Sv6IW0gNyyJiFTvWerfRYs2sw==
X-Received: by 2002:a17:906:ae51:b0:921:5cce:6592 with SMTP id lf17-20020a170906ae5100b009215cce6592mr3543652ejb.59.1678824996857;
        Tue, 14 Mar 2023 13:16:36 -0700 (PDT)
Message-ID: <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
	 <gianluca@rivosinc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Alistair
	Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Date: Tue, 14 Mar 2023 22:16:34 +0200
In-Reply-To: <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
References: 
	<ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
	 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Tue, 2023-03-14 at 17:09 +0000, Andrew Cooper wrote:
> On 14/03/2023 4:00 pm, Oleksii Kurochko wrote:
> > The patch is needed to keep all addresses PC-relative.
> >=20
> > Pseudoinstruction 'la' can be transformed to 'auipc/addi' or
> > 'auipc/l{w|d}'. It depends on the .option directive: nopic and pic.
> >=20
> > Right now, 'la' transforms to 'auipc/l{w|d}', which in case of
> > cpu0_boot_stack[] will lead to the usage of _GLOBAL_OFFSET_TABLE_
> > where all addresses will be without counting that it might happen
> > that linker address !=3D load address.
> >=20
> > To be sure that SP is loaded always PC-relative address
> > 'la' should be changed to 'lla', which always transforms to
> > 'auipc/addi'.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > =C2=A0xen/arch/riscv/riscv64/head.S | 2 +-
> > =C2=A01 file changed, 1 insertion(+), 1 deletion(-)
> >=20
> > diff --git a/xen/arch/riscv/riscv64/head.S
> > b/xen/arch/riscv/riscv64/head.S
> > index 8887f0cbd4..e12d2a7cf3 100644
> > --- a/xen/arch/riscv/riscv64/head.S
> > +++ b/xen/arch/riscv/riscv64/head.S
> > @@ -27,7 +27,7 @@ ENTRY(start)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=
=C2=A0 t3, t3, __SIZEOF_POINTER__
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bltu=C2=A0=C2=A0=C2=A0=
 t3, t4, .L_clear_bss
> > =C2=A0
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 sp, cpu0_boot_stack
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lla=C2=A0=C2=A0=C2=A0=C2=A0=
 sp, cpu0_boot_stack
>=20
> I don't think this is the appropriate way forward.=C2=A0 It's very much
> smells like duct tape hiding the real bug.
>=20
As an option, I thought to add in head.S '.option nopic' directive to
make la translated to auipc/addi [1] pair.
As an alternative option, adds to AFLAGS +=3D -fno-PIC... but still...

I checked in Linux binary how 'la' instruction is transformed, and it
looks like it is translated as I expect to auipc/addi pair:
ffffffe000001066: 00027517 auipc a0,0x27
ffffffe00000106a: f9a50513 addi a0,a0,-102 # ffffffe000028000
<early_pg_dir>

I checked compiler flags between Xen and Linux. The difference is in-
fno-PIE (Linux also adds -mabi and -march to AFLAGS):

1. Linux build command of head.S: riscv64-linux-gnu-gcc -Wp,-
MD,arch/riscv/kernel/.head.o.d -nostdinc -isystem /usr/lib/gcc-
cross/riscv64-linux-gnu/9/include -I./arch/riscv/include -
I./arch/riscv/include/generated -I./include -I./arch/riscv/include/uapi
-I./arch/riscv/include/generated/uapi -I./include/uapi -
I./include/generated/uapi -include ./include/linux/kconfig.h -
D__KERNEL__ -D__ASSEMBLY__ -fno-PIE -mabi=3Dlp64 -march=3Drv64imafdc -c -o
arch/riscv/kernel/head.o arch/riscv/kernel/head.S

2. Xen build command of head.S:riscv64-linux-gnu-gcc -MMD -MP -MF
arch/riscv/riscv64/.head.o.d -D__ASSEMBLY__ -Wa,--noexecstack -
DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -Wdeclaration-
after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs
-O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -Werror
-Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include
./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=3Dlp64 -
I./include -I./arch/riscv/include -march=3Drv64gc -mstrict-align -
mcmodel=3Dmedany - -c arch/riscv/riscv64/head.S -o
arch/riscv/riscv64/head.o

So can we update AFLAGS in xen/arch/riscv/arch.mk with -fno-PIE or will
it still be an incorrect fix?

[1]
https://github.com/riscv-non-isa/riscv-asm-manual/blob/master/riscv-asm.md#=
pseudoinstructions

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 20:57:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 20:57:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509833.786422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcBhN-00029v-0j; Tue, 14 Mar 2023 20:56:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509833.786422; Tue, 14 Mar 2023 20: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 1pcBhM-00029k-U3; Tue, 14 Mar 2023 20:56:44 +0000
Received: by outflank-mailman (input) for mailman id 509833;
 Tue, 14 Mar 2023 20: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=ugWp=7G=epam.com=prvs=7437a4d9da=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1pcBhL-0001PN-1j
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 20:56: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 b66c9f33-c2aa-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 21:56:38 +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
 32EKchDq017378; Tue, 14 Mar 2023 20:56:36 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3pb0520156-7
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 14 Mar 2023 20:56:36 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by PAXPR03MB7967.eurprd03.prod.outlook.com (2603:10a6:102:21a::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 20:56:32 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e%4]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 20:56: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: b66c9f33-c2aa-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mXcNR+EGVCiTxLHxLV3tWW7NBXi9iMnOsCAGFKzSDxvXZ2gHg2XlA/HvF0xVYiX3fAm8fmsysSLPIdVdBUtnSD1tMV4ZY7EhMRFLxmc7MEWIsdfpcWuTYymOw3fSSohcL/dnz8I1CiWXht/Eqxvb8r3zQ9w+mPNrwWhdcFdawUnsHZvtJzaMs6WJGOB1G8+PCc0bRrLVCqLJG29P6Wc4Rtpqvv5N/bUQhB0p+g2q9EhKYu5RgBYTit/rBXFEEx4aL1iiBFvPl3wkZwRusHUgjTA4PmtxaKHhrWkvpUSao/PFQUIzOwBic4FtkSlZEBuSGkvkXJj1orSiUhkwMvuQMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xaQsE3qqfsC6jF/uvxz8iK+gfBz0ZgRCtEGe75+aN/A=;
 b=XNLgugBkLKiBe/rSZil8+ySzIuZRqGQ2OqKj+SV/XXbrNK9j3YG2MZ9XHkTsYu7ZUda++RObufDo0xraBDbrodJMnBPVJq60AG84+FabmSGz1emz4CGJQBE5Q91be70Gqgw0t228vMcBKdIl/gXCU7FWkBRFAjY6lwqlcU9HgiOEp4PeRQbxxPsvrQQk2AVOvCirDFXHOHxbu8V4a+rWzbKkxH9AlMf+YcxZnaL1bcCtm4NNcATI08bMB/c3y2U071zfRYSjf6mP0QFWLdJQIVijtQWOL/VL6gXZncytG5y3gTLap8m9E6Gs0Ri61rWVw6JNW48tfKkS927WP2zgLw==
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=xaQsE3qqfsC6jF/uvxz8iK+gfBz0ZgRCtEGe75+aN/A=;
 b=RKM2GuUBR4KaCTmx0VkWpau4f3IicAaCnasPW8dctsFXNrtMlOBWECb78UhLxWUbRmG2oMEOiTGDy7V5rUqfT5KHuKuFC3WaB6lnY9/deQJwZUaDDZiovJK1dnp4MNUTqtGWEfQM6ZmzpMWUPuF1nVK78bHkH+FtPUKspHAj2xP8BeLy22MWKSqAMnt19J7NXmTJU6IA1Uv1L2xJh3vbaLWY+RbJnoXVPF6fCURJsKPzbDR6z0bbjv25N8VBUuDYEtP3RmHURBLDUByDx6BEdcLu+YwiFVBLMZz1TEhUrThEsqorz3S2caNYWzVJPhb7pw3FNkz6e96OCIAB/LnaXw==
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>,
        Jan Beulich
	<jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
Subject: [PATCH v3 6/6] xen: pci: print reference counter when dumping
 pci_devs
Thread-Topic: [PATCH v3 6/6] xen: pci: print reference counter when dumping
 pci_devs
Thread-Index: AQHZVrdzYEuAtB/tbEeKWg2MuafMXg==
Date: Tue, 14 Mar 2023 20:56:30 +0000
Message-ID: <20230314205612.3703668-7-volodymyr_babchuk@epam.com>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230314205612.3703668-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.39.2
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|PAXPR03MB7967:EE_
x-ms-office365-filtering-correlation-id: bdf92573-0bb1-4c9e-09cd-08db24ce9742
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 H1FlXHmivC1+lPC5K/TiE4jnUSlMzpsQQAPnjF3Q2qZO944+yUQObHIFwh4mY69e8NBl9YU1V2BiqSp+1oC9TTx1KfsTIk0UmilzhK4TmmUFq39NsgeUPe366bUlWYH240QCvfIQGML8QGz10PFrGN0mPQw4HnVq7ozns7wSRuOba8Va21om9L9fhgcaC7FMa5NSjotCQ2FB4i2v5dGEGeDGfhcIXJXwrXN08huAJtUx7aW087wcS61soithNfBNcOpp7KtwBC6V6asSe0nfF3+kkFFX/FCQ8VrGlirO5xBAbZBXKvH4AiDVon5FgCrmI6AzJwnPx2HPa96BZMVevBV6oawTCKMZse8C5BB2tTEEL2d/88vqTUXdqv+T9qYcFgA5MoisrUTuM9NDBvvumRTPpSiFMe6RwlObIppgxa9h1Lo58RZtPSDr+5LIMPtUkf14q7+OiSehm/ShhpWpm3lRqTnGMubm5nN9yRTEfmJloyWJaA6zr0O861CaoBP6RKMoPysl8y3IQd/b5nJnXe9xj+b1ZYWVrtJ/b7uflO3s+lRcf6XCZ0KHVqP0jB+Hz5/fB9TtZeGbFyVbS7Ucxm3IRZBBXHJ+e2PQpyvE2lXY9MgA5wWHGvcZ1q0FFyHmi+1NGim1CjdxqNb7qIf0Ux5nO2ySiU6nV0gck0cIAEib/coRhOB11ZkRKeHemPuicblAdI9f+4IA9WbNYqWLlw==
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:(13230025)(4636009)(376002)(346002)(136003)(366004)(396003)(39860400002)(451199018)(54906003)(316002)(86362001)(36756003)(38070700005)(38100700002)(478600001)(122000001)(55236004)(83380400001)(6512007)(6506007)(2616005)(1076003)(186003)(26005)(5660300002)(6486002)(91956017)(41300700001)(6916009)(71200400001)(76116006)(64756008)(8936002)(8676002)(2906002)(66556008)(66476007)(66946007)(4744005)(66446008)(4326008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?F7QZ+3S9n0ddrUPmQ8dlpS+6uBtXXhNtixliviL1WoZyJXQDTe6C6avVsP?=
 =?iso-8859-1?Q?ubOcKWPG0+9lDAQRWFIScJXtP2Roa1hiFUPjNy8gsyYRAFOW7No9jiRi7l?=
 =?iso-8859-1?Q?iuZLG2pnNvCGTE9R8dnAssi8AxkyugMZ/FLtVlOo6ixb7wX6H81e8BsSqa?=
 =?iso-8859-1?Q?6NJbNGgrk+NZ3he7CKzd/3eTqD6PtR5CL0IJr4MUQrABCFviPc6zVeZ3wX?=
 =?iso-8859-1?Q?oFZln7TmJ8ttXZssg9jlZMtDUrx16vM9dt2T4fg5CSRuaGcYmLyJlWWjwo?=
 =?iso-8859-1?Q?DEhdcAkb5NqoJmEfMhvRZtpaE1hoWTMUe86xvrvH42Br1VteNoIepVohoA?=
 =?iso-8859-1?Q?9sUjHHBDYuYa3MVYDSd+A59F3fvRxQZ583/V9XWktsgm4KfUa7ArOnHecR?=
 =?iso-8859-1?Q?1UFCgKBl51HZFfDcGcdq6Ds0VUc445RcU+7fGB+te4YprwEUcJ1kRrhxBh?=
 =?iso-8859-1?Q?0E2/HykbW2M/mXF1RAVRwKSxlTdfgVjxhElnj5gfEZ3uh4VAz2uNRgDj1e?=
 =?iso-8859-1?Q?izoW8GF8FmbbHHjPTuPbFxLi//FYLY1MrgzgMduIccdpeLcVrSRlQsgBoo?=
 =?iso-8859-1?Q?0jhuBUfiRH7xX50QebBAQkZBWYMUyIWLlHHDCsaD9u48V+Yvp4F/Ic9yae?=
 =?iso-8859-1?Q?6AM4jWHTTM0TjVeVINj+2hTUtG3gBL9kGdA7ui6qGHyKL7qcjhCriNBrW7?=
 =?iso-8859-1?Q?f31ipgZPhZyxGajpNMa1DV/q4vxFTZ6REFSsiEpojo53r30OJzHpjm8gNH?=
 =?iso-8859-1?Q?p4ingQkEsHQo9jGy87pG5+7GuNsL3NMdNzUW4wk1J5LL95bQF4QM4slMG9?=
 =?iso-8859-1?Q?P4YwgVwLPEPd3tO0laCQtawawM1psGc71mKSGIn7xMOYwE+rjbgru31DK2?=
 =?iso-8859-1?Q?iDplojMwscFV73Y252MFIaezK8DJYUByyr9tyX6D1Iwjd+NwpIaTBSUnbk?=
 =?iso-8859-1?Q?xP6cNr2TgvuqBqurO50dHd7+gH9K6DeF+C4una+sfuQHJJdhUp8Qt4THRw?=
 =?iso-8859-1?Q?HyHk9pGsu91t1GRhxYBwaTshqMsUSRx8fAUGaneYfuq894RA7tPNMT9nvy?=
 =?iso-8859-1?Q?RqCSy5zTaqBtLxSYWlaeDMX6jn8VguUxogQfpI1mFJGmD2vhl+AK0ZB6OE?=
 =?iso-8859-1?Q?+OSD7qiRHG82UyBs13aePR4tRtIZrzXjkQvtsrNU9KvLHkoleDa7ScG5Ym?=
 =?iso-8859-1?Q?sEASO8oB+Jb7pvb1UURQEhvCzNfIOzCU4lRPm2M4L48Bow8XlHmIpvkx3c?=
 =?iso-8859-1?Q?N6UvpXwIGXTcZ+O4xJ9TFLAti/gtfb0uPBjKYs6P9ctoOkmtDOs/p1euf0?=
 =?iso-8859-1?Q?FZQXGrefOHXwm7mJ1vRQskDpckCWj9Uyz2vf0MU2wpzSt/zoCai1Fnp60S?=
 =?iso-8859-1?Q?dR1FgfLyRcGfl5JrWDkHkPfEKjfH0x3U0BiqMpnBCW+yEspP6kIR66+arv?=
 =?iso-8859-1?Q?+zfWGUwUn5Cb4Om1vr1DuhJ24fAPhiepu5nSXnFEMo7JYw/fvMnRo20yYz?=
 =?iso-8859-1?Q?b2DJyLAnFpHuRTU2DWVpENz1smaM8qCi5g/cryoTD6pD/UV8jZpgHRd7XW?=
 =?iso-8859-1?Q?p30nIWmZ64C/NAX6AAzT0F4UA8qtJcEKRbsK/qAu+/P8BRVoOqlF0Z6IC6?=
 =?iso-8859-1?Q?Zhd/GMUnSsU9SrWy1CmgcSUrkFdVBRiTpPdmZiIpIIGBK/1Mvs3QEjjQ?=
 =?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: bdf92573-0bb1-4c9e-09cd-08db24ce9742
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2023 20:56:30.9483
 (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: AmuJHa2iLKwhJfDQ8eTCQv4E37gl8XIXhJnroxY3RgpJcPMGMevjXScIg7Trou3jW4FPZYPe7YMIBpy6NnliqxO/4bSQMgmkI9jKk22Z7ns=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7967
X-Proofpoint-ORIG-GUID: YnO7ExG08MaqGkmHHP97gzjEuEfTlmQh
X-Proofpoint-GUID: YnO7ExG08MaqGkmHHP97gzjEuEfTlmQh
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-14_14,2023-03-14_02,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=823
 priorityscore=1501 suspectscore=0 clxscore=1015 mlxscore=0 malwarescore=0
 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 bulkscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2212070000 definitions=main-2303140168

This can be handy during new reference counter approach evaluation.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

---

v3:
 - Moved from another patch series
---
 xen/drivers/passthrough/pci.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index b32382aca0..1eb79e7d01 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -1275,7 +1275,8 @@ static int cf_check _dump_pci_devices(struct pci_seg =
*pseg, void *arg)
         else
 #endif
             printk("%pd", pdev->domain);
-        printk(" - node %-3d", (pdev->node !=3D NUMA_NO_NODE) ? pdev->node=
 : -1);
+        printk(" - node %-3d refcnt %d", (pdev->node !=3D NUMA_NO_NODE) ? =
pdev->node : -1,
+               refcnt_read(&pdev->refcnt));
         pdev_dump_msi(pdev);
         printk("\n");
     }
--=20
2.39.2


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 20:57:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 20:57:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509832.786412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcBhL-0001tv-Pv; Tue, 14 Mar 2023 20:56:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509832.786412; Tue, 14 Mar 2023 20: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 1pcBhL-0001to-MX; Tue, 14 Mar 2023 20:56:43 +0000
Received: by outflank-mailman (input) for mailman id 509832;
 Tue, 14 Mar 2023 20: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=ugWp=7G=epam.com=prvs=7437a4d9da=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1pcBhK-0001PN-1W
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 20:56:42 +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 b6002c49-c2aa-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 21:56: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
 32EKchDp017378; Tue, 14 Mar 2023 20:56:36 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3pb0520156-6
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 14 Mar 2023 20:56:35 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by PAXPR03MB7967.eurprd03.prod.outlook.com (2603:10a6:102:21a::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 20:56:31 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e%4]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 20: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: b6002c49-c2aa-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A75yNUZY7TFYc8MqS2xbkx9820TE4p03QsYhwvDwJceTcShrdZv7AK+0gzdqetMeJXNGRTfTDiWcJqWx9wCklXHTEWMIVACcFVeRq5TM1Lcns9hl5y83t9eDB06AUghwi/ll4Um7AIZbgTeD/hhtDy8NezgFnLVYgsGsVA84XR89eCYXm6uRp1ooKF3RaIAOxMjq5NiJLRXlbb9ZLQbHlrqmCCLPQuBZ6dTk7qMCaOhyVP0sF+emBSzumhKuNQ7JgRXSFZRmC0wswS/HXjfdcT+Auh85ehXwRSdLX6XbyK5txtINdPv6JC+w6YxT0BTdcuyiI+ISCqZaRwlk8WTfkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DQPuJAI8PAXGvKTZe3ed59NbyldzeM5G1uslGFxDTuU=;
 b=O1qk2JsQoh7mjTZ+X7BQTKpKfycIQNoy/qfeAPHRBWWoUEBENrzfUYpLgud8zrzt8esGhlM1N/AZKw0mrje+RHHGuxkA02iSJ3gvZQUWigx7rhV+poWegVnN5zafMg00UFpZZEIac1CGKK25PhX9FVucBfAgXMAk3JNR4pGyRWzwgLLMs1DkMoqHsNpdN5R7RKyCWw31uXd0qu1/mV6EFk/0KzVSZpG4ewsKo/+P7YSzokr9vgPYZAjvVQttaXa1Ni+ZJS+qp8tAYXmbSu+ZNzJ3MHs62tXb13ZmtQ/plssIfx6t2zl3MW3HTOsoCvTYphrize6/VwGdwkv2l3RXkQ==
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=DQPuJAI8PAXGvKTZe3ed59NbyldzeM5G1uslGFxDTuU=;
 b=UiTw8jzdxgvZxtmFry3mjQvEo5+fhDcUaJIM16EMoUp0YQyPgQFnCWRP5HkbdVD+FQbk6Zrg1Rq6Q2PPP/aD7TAjlM0ZFW3c4Za4A48wsa/sL9nzXsKAVz29ckN8lURquHgsjmJmLsd7/EW4FpXqWrneK++EJ0J4kdkJ1lWqOyb2xOZzSwP3H4kyTwI8WRmoAxrpclY2MGpWOPgePOqFogvrRQMdcdD3TpNa+DvgP9yF0GBYjdy51sydfBg+Z5PpL6LlJFlJ/pcQYdhYAEbe10WQas4Ju5iJywbTbt55nML72w0Ylaxe1FU8UETiN+icEvdaq1vra4fS9qC1gR33vQ==
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>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>,
        Jan Beulich
	<jbeulich@suse.com>
Subject: [PATCH v3 5/6] vpci: use reference counter to protect vpci state
Thread-Topic: [PATCH v3 5/6] vpci: use reference counter to protect vpci state
Thread-Index: AQHZVrdzxSa6ccK6DkSWhcHx4QyzSw==
Date: Tue, 14 Mar 2023 20:56:30 +0000
Message-ID: <20230314205612.3703668-6-volodymyr_babchuk@epam.com>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230314205612.3703668-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.39.2
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|PAXPR03MB7967:EE_
x-ms-office365-filtering-correlation-id: 26255621-4380-46a2-ab63-08db24ce9701
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 qRSf0D0XD2GpdU2bv50hNlcA57M76+JincdXVf8vD+N5EpfrOHfX0K3HzcZsy3EgrZF2fLnQlTExI/3jy8h/BvT012FbrJDASZ2CLot/bdBeeXA3b3FgTEswr7VOrd9JZXTxAGqVk/f8zsgvSoKtv4CFPr5/fKQ8eRZw9i5unNCCt2GTBCL5IVA2DO/dIKOK+FaYN3qPyfL3EwEd8zRPPc5E3NUDqq9ZEqDaKtRvURy+QXEfx9ZOn0LVLbtCcPSicf21B36XCjWL80HUm8UKb7gxiqUBxfW9DlH1T/eR+M1c1tkff1EDBd6D/v/herLtx+sHh2yp15w9Be7k044Lbs225mMWTasXEYMfY+1RK0o9qazRbTvDJ2Cmg6g8EueppUZWwYOiiC5qWV0HMwUChAvztA0j8NTC59GVZ6T+Vao1UT96qLXFFzNC6vxx4UiHCnPkBsMmItuBSNgKBB453Po8rYUpmwE0WsA93WZMrI+i/8hlj/siamDsFgnrMEIm9wq4NshqrQBZ92QsAJtXtaVhxkTa7hvXlLSJWG6A7uzBBJZ3gTq9du+ClbgCvBI2q07XKz4USOdWThwsUVX/MypkqZq+QHGIz18Wuk29Y57OaoqpwBkCs0LvS97Ytz6cn6cMK/e8JV1NLqjW+EsEPMvyh+fLQLbAyH53CVXB5qePO1B1pS6M64BskJM1RirQ9m4GhD7IaQEUjvcrJHXF+A==
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:(13230025)(4636009)(376002)(346002)(136003)(366004)(396003)(39860400002)(451199018)(54906003)(316002)(86362001)(36756003)(38070700005)(38100700002)(478600001)(122000001)(55236004)(83380400001)(6512007)(6506007)(2616005)(1076003)(186003)(26005)(5660300002)(6486002)(91956017)(41300700001)(6916009)(71200400001)(76116006)(64756008)(8936002)(8676002)(2906002)(66556008)(66476007)(66946007)(66446008)(4326008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?FvQ3q/HyvvcHjFSbDmpNzjloqqdajZkphgF8raWBKm9/zb2hdGrJFDKR8q?=
 =?iso-8859-1?Q?rQonixFYSry3FNJUpqg62OepXf5/PrI/DYTwVRTNASiAaQDuQiajd32iY7?=
 =?iso-8859-1?Q?AVGz62YHW8j2ZxE2ZYWiFc4Omcybm3kXH3MMGlUxBBcLf4syDWtPpcr+Ft?=
 =?iso-8859-1?Q?KcxXGarxIgiXkbx5bLcE3kLqTiXGzV6/Z/ticrWEzEOHfphhfr6QRU0PF4?=
 =?iso-8859-1?Q?xBVwP4uRHZASKwTT9mmVXkxAyCLGhKwHSab9eUukJzS23s+2UUEFEC/mlX?=
 =?iso-8859-1?Q?nr5bytgphYR7tRjyx+g5f+vX+XZm3ahfD7UalqTaYzWPBZP1GR6DigF1gi?=
 =?iso-8859-1?Q?S15I6ZmshFiYL4OQ82P2l0SCHlSYge7Nfi7jFJ9zuqYcx6Gkgu3bxhN8ly?=
 =?iso-8859-1?Q?+1zgXxeCOKs2TYVvWCeni4zCmsaSmDX/C3qTOWPR+oB4QYfZAyfhzXD9oX?=
 =?iso-8859-1?Q?XGGGxLahqLp4VTlj6noDHdckJLkwZESjdaUQ34L5aAcJKPtkkbaS9bOklM?=
 =?iso-8859-1?Q?nr9v9K+3Xfe5QB2BD8UJcKhYU1v+VwdMlvQQlyLek9FsAHTeDxLe72ROF0?=
 =?iso-8859-1?Q?Xf92qVJqG73G15O8NSs4mwofKwoRMS1dAnBft1qmWQd98Xtj6vxwhcxqMA?=
 =?iso-8859-1?Q?RbpDReqmkce6k/j8mQVhEBZxMhKGJcF4IScbGVLT0mW9Mj9Gfnm3e+GRt1?=
 =?iso-8859-1?Q?hBxZagpv0RttrQbCmtxucdlIVEwCmsz7x4UQiG5RGJBXwyPlyLp7jYbrUO?=
 =?iso-8859-1?Q?yimWxIJ5XPheli+zGNjsqWGm3OrMTPDaApAaRI7v56DkYf7H8NPfAmIqEi?=
 =?iso-8859-1?Q?cs0Ls+h3Xq0fzT1y+DxDkLZ/4T3cjjMswJbQcgXoXwFqgPp+4mc0WSnNUz?=
 =?iso-8859-1?Q?8YK8IIJ85OmUD0TMtSPRq6S3cakBW3qvo19uv40IMpImVIqwtp1k0WTNkC?=
 =?iso-8859-1?Q?8/v5Mava4sEpZixjKcq348EVLZt3liNE+rFFXMIgG+Chy5rxDCq1RCjzbb?=
 =?iso-8859-1?Q?tYJ6hmIe91PL3y6f0Cxu4uHUmVYU7PzsZID/PXItg6a0xOkAXT1d31Oruf?=
 =?iso-8859-1?Q?PZboDcj3GWWeVU/2somFWxNHH9uO+TPEKHsjjVahw/wrypX7TqgociTZmJ?=
 =?iso-8859-1?Q?6mu4lO2W9U+AItHeGCqlyz5rB7k5QeUsp9zl5CXCLYECoRH5StHpL86Jjk?=
 =?iso-8859-1?Q?rXWJ6XkEgVPn3W+nititDRoun3oqTEVgQc9khyNbadMN2edUni7fNWwzYZ?=
 =?iso-8859-1?Q?XkJTgIzP6ocnoNwhDvDDZanumgid9FR+T84nUpSaxm9DdDLoVxXxtD3Qsq?=
 =?iso-8859-1?Q?VQoF3PsZKqIuXNOqUINkwalrGg+pI1Xn9XOsZHoOfXqXncrpFgzLGp8dnG?=
 =?iso-8859-1?Q?+Wc+UMQhb9Zl15nMGmBBt7Ep8cLYtHGQUcSwrFKgAxtJ1pEO1kG+VOFz+d?=
 =?iso-8859-1?Q?yoT+9FDqHl99qCR6bCPmgof+0r9ak8kenqZf6pHr7xNYWSULykz07yEVhz?=
 =?iso-8859-1?Q?UDoHcphkSv46+OAp03Aw6cZiJOJRkKLeUEx4fKv96B66G1plGezLZaolpZ?=
 =?iso-8859-1?Q?J0bGJAq/7Lwm26uIs8iGQy5EDJqGkk3zvrsrRfsLaXOgp7LzAfzDHDlcIV?=
 =?iso-8859-1?Q?0HCkYFOSYiaxL42vGrIz9z1A6fJTFzZjYeFndzk2r9qJ8ibjlrTC8mgw?=
 =?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: 26255621-4380-46a2-ab63-08db24ce9701
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2023 20:56:30.6514
 (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: U+yqjCsWYLdanZWrAoJ8UjOLqhwKwV2ARK/YwxdqbO5o37mM5Uz2h1Ik2Rs4LiAdhSZO70sI2nI+YANvZn+ZKu8qVpIopuzkaQcpfU32Fn4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7967
X-Proofpoint-ORIG-GUID: 2uH3HCuWR2ZzSu7IWt3Rd_WKDmon7GdU
X-Proofpoint-GUID: 2uH3HCuWR2ZzSu7IWt3Rd_WKDmon7GdU
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-14_14,2023-03-14_02,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=754
 priorityscore=1501 suspectscore=0 clxscore=1015 mlxscore=0 malwarescore=0
 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 bulkscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2212070000 definitions=main-2303140168

vPCI MMIO handlers are accessing pdevs without protecting this
access with pcidevs_{lock|unlock}. This is not a problem as of now
as these are only used by Dom0. But, towards vPCI is used also for
guests, we need to properly protect pdev and pdev->vpci from being
removed while still in use.

For that use pdev reference counting.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Suggested-by: Jan Beulich <jbeulich@suse.com>

---

v3:
 - Moved from another patch series
---
 xen/drivers/vpci/vpci.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 199ff55672..005f38dc77 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -62,6 +62,7 @@ void vpci_remove_device(struct pci_dev *pdev)
     xfree(pdev->vpci->msi);
     xfree(pdev->vpci);
     pdev->vpci =3D NULL;
+    pcidev_put(pdev);
 }
=20
 int vpci_add_handlers(struct pci_dev *pdev)
@@ -72,6 +73,8 @@ int vpci_add_handlers(struct pci_dev *pdev)
     if ( !has_vpci(pdev->domain) )
         return 0;
=20
+    pcidev_get(pdev);
+
     /* We should not get here twice for the same device. */
     ASSERT(!pdev->vpci);
=20
--=20
2.39.2


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 20:57:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 20:57:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509831.786402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcBhK-0001eV-Cm; Tue, 14 Mar 2023 20:56:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509831.786402; Tue, 14 Mar 2023 20: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 1pcBhK-0001eN-9z; Tue, 14 Mar 2023 20:56:42 +0000
Received: by outflank-mailman (input) for mailman id 509831;
 Tue, 14 Mar 2023 20: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=ugWp=7G=epam.com=prvs=7437a4d9da=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1pcBhJ-0001PN-Cs
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 20:56:41 +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 b57a9eb0-c2aa-11ed-b464-930f4c7d94ae;
 Tue, 14 Mar 2023 21:56: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
 32EKchDm017378; Tue, 14 Mar 2023 20:56:34 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3pb0520156-3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 14 Mar 2023 20:56:34 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by PAXPR03MB7967.eurprd03.prod.outlook.com (2603:10a6:102:21a::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 20:56:31 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e%4]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 20: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: b57a9eb0-c2aa-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PQDEFzFQEctIMciwl+OzILvSR+CtxdwKClPvqkzCdH+oDsbR9ODNhE8AncllQnO8TSsW/yZq+NotDcTmu2ybRbcGf2+PFWXDusjKKJOVzlT6LNkcytQ2Z+cVSqIUQSAMI6oUW6wfxrDROeeoKX7UHO1rytiTm1846btTwvuhwz1b1eQS9CkbUqNsa/otfhF40hbd+mru89BHYXDTG0ssSImnBMNrhT/Yew/ne3ka/Gwjd/3GICVvkxsan+rnmtwjZcJUT3Ulm/oQ0eLT/Hg4/jafJUd6SGrgGCS3RqHmqT+Du49cdLShBOtnQuq/sc0mIjwYUdcBwTMWgAWY0r+kNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bujiMIeI01tpfNGAxOt9A1TohJ0brfLaSY560ql/6y8=;
 b=ZcKZPIYzvjg3a+xuzBXN9aGpneT1iz6/fZq+mxyxa9YGVAItEWeYY1NLE0mMrgCOVxgrbx0TN82Vxxcj3IsH9oPtvcY+qlnDq/q1RdbvKVU9c4AnJEXu28uexFQPmRXI6AwYEhLNE9DTMjQ1aw3c5hAqWC38cF13WR4BJ4DGlEry/cuAcgHAD7UngKrQrjv1gdvABrmoaIs+mtzIa06juDL8zxqF8DhQjN2WRwXpSfdbwKmLImNXJjC2LdipW/SiUH6JuWJijiaEVDu3+y/q4KM42DyHZwAw14msDPjmjrL5popYL85mUbHpmhpazMUBCXd8tqcLsMhcKxbg9SErdw==
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=bujiMIeI01tpfNGAxOt9A1TohJ0brfLaSY560ql/6y8=;
 b=TRgsE2qqyXIug3Rvp9xC4Tsva8b3hoeQ/yoB+W4E3ti6aokwK8VgDRNvhjqgrdWQVrZnGqd3Sltn1cnzLJdaS6Wg2UY47E3VzHqcOKN1R0rpYNtgPzGZ/ZY48eumt44P/02l0A5osPHgV8KsKFXy99yMKmMrgAKVn2eIFx+VaCKlAhyA4PcGZfFCpUOUAoUpkG72EScSY256GzGWdj3F+JHkPw7P6btyawhmBoxhwi5UC93CoG711TG03oK2Rq0nKml0W5bTeIlFm66HrfCeKA67uf0Qz8z5oow4LxXYC1Db4NjjiNshUbUuMazID2KfYM3RzsI5tTVjiC//C60Fbw==
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>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>
Subject: [PATCH v3 3/6] vpci: crash domain if we wasn't able to (un) map vPCI
 regions
Thread-Topic: [PATCH v3 3/6] vpci: crash domain if we wasn't able to (un) map
 vPCI regions
Thread-Index: AQHZVrdzRVfDuhWpnEqbBuMRX+vTVw==
Date: Tue, 14 Mar 2023 20:56:30 +0000
Message-ID: <20230314205612.3703668-4-volodymyr_babchuk@epam.com>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230314205612.3703668-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.39.2
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|PAXPR03MB7967:EE_
x-ms-office365-filtering-correlation-id: 2fc9dfd1-07b6-41fb-77c3-08db24ce968a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 ubw5diB9t8NW2UgX8HlKvSfPhPzOV6VfAUHH6IlrTbvgSyEWDbBGJmEPOzijjBbJ2ISEr1+J1KlbY26l8Mo9OPpB4HBDdRVHyy3u6W+MBrYrENPj0rkKM2CXuuClV/T8FLlOBzT0oBsMqCEIKlBAcux6QrFAfAXtA3a2cIdX3oBLO9xKQ2eiXRgLav19aqHrcKYN4nyWqTWFjueOPQ5e2ooQhxk7jVzCkQtWA8ZMAOfTNsa5JO6aqxd23Zi3dEACxHE3z0vrj4nostgZEoLMiUAk0MIEAojvSC0lElHgP4Cep6BmlFnpTIsIDEybLIInVP0MN/y+5Ei6I7ESVKZjR1MpNp4HLLgfKPkkrDXOc6n8yrXIlRp+XDfVmVfTB2RNJdnO9DxxGgb7++9xqJq0VNACPjW2/pnsfvUuq8T/jwFN4qEotrrRl+HdzgXsM8rYOXanvJhTczGI7wTOpTjTUfp1aM8CQqRfj3gzhLePXPMQ6KmmtMbJYPuhcIWRBJzgU+29rxoAC6t1NU3tJaEEKaM/EXEr8oha4CCo7bCHarTsTdznN5bpTX5iIfqS9I47x0SFmJrt80vOlt/auRXsEc+0CqhYW8p9V3J4Wuk2XWt+ABb45nbSEcwrQRmU3ItQD60LvbXZEDr4VdkuGXB/HClpyOwGdbZ7Qlfd5hwTpfN76j/It9br7iepG9tRvOy4E9H4qIF+wk11kW3XX4kgQg==
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:(13230025)(4636009)(376002)(346002)(136003)(366004)(396003)(39860400002)(451199018)(54906003)(316002)(86362001)(36756003)(38070700005)(38100700002)(478600001)(122000001)(55236004)(83380400001)(6512007)(6506007)(2616005)(1076003)(186003)(26005)(5660300002)(6486002)(91956017)(41300700001)(6916009)(71200400001)(76116006)(64756008)(8936002)(8676002)(2906002)(66556008)(66476007)(66946007)(66446008)(4326008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?BescmCuB6tXcs8SN2vu/r2N6rpAoLJ25LJ6GVm+wdExCu82L2fj7XfOJUj?=
 =?iso-8859-1?Q?pto7hknqujKfmoM/qDpJ+k+Q4FKt7uP2D93NzUeAfCR77zrZc+lUHEfxnm?=
 =?iso-8859-1?Q?o36IDhPDzJ+Ig5ZnFWkIxlFVWK5R1bFMKYFPlJval64LdrRXZeUsIVX4UH?=
 =?iso-8859-1?Q?JX10SMbV2Sf9owSyad3pdzW4fBi93U3aAsLJPm4h5lEULH3F6sE9TUuKVs?=
 =?iso-8859-1?Q?6qvmLkQSAWu7pgoNuBCVwpajC2VmR7N1XPUVZ0Mt+HQAsrZDOWdDfYegRY?=
 =?iso-8859-1?Q?/vx9TtrnJS3Y1znE3UlrR3WdtzM55j0dnPTQBor53yZY5E3CKqHB7qVu1Q?=
 =?iso-8859-1?Q?mUnht5ejB05lZZxIogSWtyXnqRuE47QgDFfWdvBCsU2Fn+5B3Lgxl8Bjz8?=
 =?iso-8859-1?Q?arQChlF2HVFL/QNpD2GPoSwGzQ7dgVh06KmiE6aHy0afrtGc8+H/F1fyRS?=
 =?iso-8859-1?Q?9ViOqxOaqtZ9DH+vRh2f2hupSpHyzamjCXmPv904zzbvnGtddZPSKecenw?=
 =?iso-8859-1?Q?2q0JOmM9sl1ct/8lmP/mwfRsCFIEOZEsWbjSIQJgHCuuAZusTFBRfXD7ZZ?=
 =?iso-8859-1?Q?dpejoA4ABFqPYo2M7C18pZ+QWN9txQFBKe268I53jrcXmJ9ulA0AVoA0yj?=
 =?iso-8859-1?Q?9Yu6+5n5unr03XOaci3wrmx2xJYbLY9enxoOu6RecvyQ6LKwgdz10HRZkv?=
 =?iso-8859-1?Q?jgLOcjgIjVBpFjwcJw6n1IbSRuPtTXhtznFd39uZO0SJsvEhIkiq+f/0do?=
 =?iso-8859-1?Q?U4gOTWuoI/7lHMf/QlBSSBzyb72o0Ihz77y70ah7EqLBzZCEBHlsuu6MN1?=
 =?iso-8859-1?Q?Cc0iHVzAck3NqgGHPsgPhnmRfboMe5P/Y37nHP6PAtZ8vkmry8HnE7b0l2?=
 =?iso-8859-1?Q?We9rnrWjjxHEM6JdTX+gMG9Cp8Eh4b6uX0x90bY+UxiGKYTTGaqJKTXlHU?=
 =?iso-8859-1?Q?Mr79nE0yjYUlBjPipi9qRII0VKJkdmjJ5P2XEY0vopGgR48zutU9vKXbPh?=
 =?iso-8859-1?Q?QDJWJBgMPK/0AdcWiDJA/xVd0tr/Eu31aFgxao0qwsBS5z/oNOPemOQeQh?=
 =?iso-8859-1?Q?uUZuMnYgJ6T79bZhyipVYDnbqQNABLv3LZ9mjMcUZyQmFO0kV7pxLWFtF/?=
 =?iso-8859-1?Q?b9CvAp/VqvmIKKO4xs+vhTt42IpwZJK9p+yCkNHIWw3JsLUyrPuNTjtIvJ?=
 =?iso-8859-1?Q?xZb5/MrCzEbhmzMBt9nlXpRlfZ6l1E3hRZcnmCbPLASoPQkAwvKhel/WaW?=
 =?iso-8859-1?Q?rMVdSCtkTgR2/amfTg1jEwJJLZrOc3Ovf8h+If3HE+2on7L67sB1/LH2H+?=
 =?iso-8859-1?Q?aLSbWWfCxsI1oNGczp/C00cnadtxxd9KkYjFKzFBuLVilvymfncLKkF8SA?=
 =?iso-8859-1?Q?9epjXNm2J8otkUsSXbY4J8G22jXCT2MwiLNBgIGFVx4suzwWLDGcp8ljAs?=
 =?iso-8859-1?Q?gKvmhMRz+u630QrglNFIU8moYYrxlZrAKHOejBfO5CpDes4KcfKhG1qAL2?=
 =?iso-8859-1?Q?J+sTme8rrZqEYq5UUs3oWJMLH+OHPOM0ZbZN+byJRszlcsT9ZQMQzXWiWh?=
 =?iso-8859-1?Q?SJrYHnARjZv7boMfVXQXmej2uXXJPGTkJYpAIHJ6n6Kqwv3rVC8jEZXVXT?=
 =?iso-8859-1?Q?DDInIIYfGQfySaTnIV0NRV2wfIl+taZL3jaMxXwW/5rk+qG66qyBudzw?=
 =?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: 2fc9dfd1-07b6-41fb-77c3-08db24ce968a
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2023 20:56:30.0421
 (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: 4PvcZkAB80bioXeVm1mdBkohJAwQhAlnmY3u2nQfTvBufmTguLADkY+WLoI6GVLNu4YKUWh6IQAtpsi4e+x6OQrWvZYUqW3jAeNL1KYxS/Y=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7967
X-Proofpoint-ORIG-GUID: OJIrJ60dx9-k4b8P-5rmvGDskVIzpZIs
X-Proofpoint-GUID: OJIrJ60dx9-k4b8P-5rmvGDskVIzpZIs
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-14_14,2023-03-14_02,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=644
 priorityscore=1501 suspectscore=0 clxscore=1015 mlxscore=0 malwarescore=0
 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 bulkscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2212070000 definitions=main-2303140168

In that unlikely case, when map_range() fails to do it's job,
domain memory mapping will be left in inconsistent state. As there is
no easy way to remove stale p2m mapping we need to crash domain, as
FIXME suggests.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

---

v3:
 - new patch
---
 xen/drivers/vpci/header.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index ec2e978a4e..8319fe4c1d 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -162,14 +162,11 @@ bool vpci_process_pending(struct vcpu *v)
         rangeset_destroy(v->vpci.mem);
         v->vpci.mem =3D NULL;
         if ( rc )
-            /*
-             * FIXME: in case of failure remove the device from the domain=
.
-             * Note that there might still be leftover mappings. While thi=
s 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_remove_device(v->vpci.pdev);
+            if ( !is_hardware_domain(v->domain) )
+                domain_crash(v->domain);
+        }
     }
=20
     return false;
--=20
2.39.2


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 20:57:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 20:57:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509830.786392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcBhJ-0001PU-5E; Tue, 14 Mar 2023 20:56:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509830.786392; Tue, 14 Mar 2023 20: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 1pcBhJ-0001PM-2K; Tue, 14 Mar 2023 20:56:41 +0000
Received: by outflank-mailman (input) for mailman id 509830;
 Tue, 14 Mar 2023 20: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=ugWp=7G=epam.com=prvs=7437a4d9da=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1pcBhH-0001PG-JM
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 20: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 b562f4ea-c2aa-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 21:56: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
 32EKchDn017378; Tue, 14 Mar 2023 20:56:34 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3pb0520156-4
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 14 Mar 2023 20:56:34 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by PAXPR03MB7967.eurprd03.prod.outlook.com (2603:10a6:102:21a::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 20:56:31 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e%4]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 20: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: b562f4ea-c2aa-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IUk7j6c2OI3hgPhgnXSR0ytuaFnhExLrKuxPX0pyr6GLtxm//1XFkITbunUKMrghmNd/x0sMYMwg5vG/U2Ab5uV1KepFA9syX4KXNPHN6XOidsVDtoJlPUESNEIn2c7e60AIRlFuqwoXil59+xXotWKjiHfAi/ZS9P9pPZvgSqUe13Nv97Tnj0LkCIXVORB/7M1ab+psB0rvr3tzd3eP+ZT8kPLzh4NGcqzRBXnpkL5ucewt7eCbIqJKeGdfkm5I8X7FsAzWu4bZQiWp53c2KpoEm5e2rwGLGETI4gAyjzVK41ierqWIHvHAjPuwiXIRmN/ibtcjtDkDz43NsFOnHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Qbz49nUoSSct90DRuc5faIaPrcHn0RvfZzcOrFLGObg=;
 b=CO6abEhEfnvaEBoIH2hOrG9qsGF/TW+utOQvrpg4iBaeVRVFPvtBW/s2OX9J9EBdmeNEgWj8NC2EChtJPomFW8BSEoyT9egN5L/Ia7TtdCh6oUKlA2+l9qtRrwaaHRnEjquti8UJ7vkXVuq4uKq7/iL7vWqfbnrmdwVC0B+JGePbo1pICp/zTkOK83hHNJCDxbqITbwhYqfI29sxMKHcT1dRnvS11+ywK9hwQ+Ce4+eL+bTlaak0UBNyPF8ly1xpulEol4CYGVNeHVyW8TBAEMc8o/UmJHUqyKr3cbkrq4zef/G5FEp0yLM+ZNaUYeqEvbPLOtoq3BdtePri7rb8xw==
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=Qbz49nUoSSct90DRuc5faIaPrcHn0RvfZzcOrFLGObg=;
 b=HOz9K0KP5kKC+l5/OL8LaS6lvVvP1CQ8eYfbCNvwB3xkTZPzS/k4DEAPhppjrYdO8SNGhpOVBfPKTux44kcYtdr29KPN/NPDXyGth00WM5XUT/avZE2kvOSlRbfkgIeccgsl39nG4qe+P8U/T1MRUItMt2PQFSiIyYZeamWGXW+3D480x98CjNLyYo6UINmu2JHr8fS3e0A7WAbUJTFBARF0a5abOW9Jgw2iS3rgi2K5kAGyV4PtAlc2YChy+4sA5TaYUTD35tofL+GfDIBHuGSLJnpWApWMYtb1CN6Wq5CEiCtLvlJjB3Ob1EdQhA1hCEhgL65G5MRopFBNJfiT7Q==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
Subject: [PATCH v3 4/6] vpci: restrict unhandled read/write operations for
 guests
Thread-Topic: [PATCH v3 4/6] vpci: restrict unhandled read/write operations
 for guests
Thread-Index: AQHZVrdz9O2stZ5aY0OrZqeMa7i3ng==
Date: Tue, 14 Mar 2023 20:56:30 +0000
Message-ID: <20230314205612.3703668-5-volodymyr_babchuk@epam.com>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230314205612.3703668-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.39.2
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|PAXPR03MB7967:EE_
x-ms-office365-filtering-correlation-id: c2c75151-9880-435d-73ee-08db24ce96c8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 wa4gmeoamBJ7kZQJtyqzNdldYAYGXkuFnGB0JtMBdWWknGT18z9mZxt/TvA/wCc4+pOtaRExJnIkofE/uYoo+12Lp2R9nYGV0ZEVIYsLFCCVI7b15GpjOpExw1BX11sJSEatn2SudglpRb39ZOteCkhu2VCidDaMI/Yz/a9/FicfCOZP6WY5KiF4gBf3+chtS4gIuBjx8Fd8d0IgP/mVX0XVCOYuw9UbR76YCvz6I5eBPAL57zpUduQbNDg3CCvTIsGHRKK2UUYlRSa9WqMj15kB9VXJ3C1uzQjo/gMkRnq5CyAanMmRO8+CfTkcI3DwcyOpfgv57JIiWQOzgTRo7FzzJndd2JJM5okxrn0tA3ECsmo2XKAGYphhTvoO907IAkv9BUvqfanlC3Zuc2q/eukHhDbUDXgCgKcBNtjm7aeCf5udh/qkmcQsb1ZlM9r1rez9j0XxrxW+pgyeRUsrzR33Yh2wPQX0LAdOwwnFVaMCMURJerVOuMea71OFTnkqvChCduh5eFtZbOPmNEyeoN043fRW8glKQ+SFGnBv0mVw8YB69v9CkEBe5C/cyWizTL4KJNe1nOsQFBvDGTd5gsFjuhtbBKcPDWlj46ARbgaYZyWIBeoh3JlnZZN/cNqhv7qkev8HNvr8LHzgTqhL7p896G8alPlEG7car4eaHDFWnkQ9OcCnzAFv38tZzLQYmWy8Xlki51DpN7Ch8atzMQ==
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:(13230025)(4636009)(376002)(346002)(136003)(366004)(396003)(39860400002)(451199018)(54906003)(316002)(86362001)(36756003)(38070700005)(38100700002)(478600001)(122000001)(55236004)(83380400001)(6512007)(6506007)(2616005)(1076003)(186003)(26005)(5660300002)(6486002)(91956017)(41300700001)(6916009)(71200400001)(76116006)(64756008)(8936002)(8676002)(2906002)(66556008)(66476007)(66946007)(66446008)(4326008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?NFREeDlZUGpOTEZMcEVCWjFTNG90cStSZ25ERFVtY2RyV2xZZktDQ2U3VUtr?=
 =?utf-8?B?WmxwY3pzZjBRVkJ0bXVRb0dIOHEwZFFSQm5aTGVKMWhxTEtWYzM2cHpRVjRQ?=
 =?utf-8?B?MlRUWjhkZE5QNXpCeTdsVGNZVFpzSmFIcmZrRzNXd092TjdPY0lEY25jUlow?=
 =?utf-8?B?NklxSXpGOWY4SmdaQzBoOHZaT1NyRm42Z0YrZDdZWFFDdVFzUzJiTy9sZVdE?=
 =?utf-8?B?Nm9UUjB2VzRISWRvTXRnWGJLSmh5UG1sakJDTGgwaE56WHUrUnFVaUR6K29i?=
 =?utf-8?B?QTVSc0Q0YTlsU1ZvYU9XdHk5WHB6ZEU3U0xmcTVmZUpqS1pyUEY4ckprU2Rx?=
 =?utf-8?B?VDY4TkZDNFR3OUV0QVVuU3lkdzRUOW0wdFVZUkxEd3VVUGNvZi91TnVTeURL?=
 =?utf-8?B?UFNQdlpmRkNGQm1YZEpqMzd1NDV0ZTFQUFozcTBTd3pzT21OSGRsYjhOU0JI?=
 =?utf-8?B?bVBNVzJGUnlPVHM1eGtBcFdXSXhoTEhzdUg1ZWlNaW5xMjlNcTJjM2RwTlF4?=
 =?utf-8?B?U3lLOUp2U1hDRHVwb3JIZGhxVGxXWDRXSmFMTW5hWVVGUVQ0RFdMQnF0N2Vm?=
 =?utf-8?B?clg1bUJQbDk2c3pDdGxpdHBvYW0vRUNUR0ZjSmkrZ3MxdmxGVWRIdmZpYTQv?=
 =?utf-8?B?NVBqU2lmQ0RrRlkvMy9wWW9USTc3ZFA4OHl4c2hFdHhLYy9sZms3NFpsQXRq?=
 =?utf-8?B?VCtTS05WZUF3VGlUb29VRzR0S0tQMkFkbEdVM25JMXd2Umw2WVAxS0VmaTRy?=
 =?utf-8?B?K2RsVEUvMVBLMmNkbExmeEk3b0Y0d1lhVFhpb29SS0cvWnRVZXBhY2x2UzNy?=
 =?utf-8?B?NU1aVGZQMHFNeVBKRmVnZjE5R3BFOXpZZ0RjT2V2M2hvNTBaTThub0VKRmts?=
 =?utf-8?B?dG15MW9SYnZWY1VueFVkNGF5ek82UTg3L2grRHYzQWl1bThacVpsN281eXN3?=
 =?utf-8?B?K3hYem40RlpNNmpkZmUzQW14MHNiMXN4ck95TWJXdm8vSlVyRlBlNlBkQlE2?=
 =?utf-8?B?b0o5UFVGRTJLVktWNTZLc2tuYUhLbkU1S05iZVhFV3YrcVRZeTZmc0JqSWV0?=
 =?utf-8?B?NGllT2J0by94STkwTlFIN3NEdkpWaWpSL0Z1cWo5c1VDK0VzZERER1NDQ2hi?=
 =?utf-8?B?dWExZzNoVUFlZms0ekdVYWpydnlEQmsxSWgwb0NEYUptc25sNnIvTTh5Ymc0?=
 =?utf-8?B?dHhiTkR6VDB4OVhrSHRzaHM2TnNlMisvZHFjaWpUcXpIYUdPdmYwSTkxVFEw?=
 =?utf-8?B?Y2l1T3pmTlZ0VnliZjhjYkpCdzJ0WDh0a2xETUxuQmNRN21EVDFkNUhqN2cx?=
 =?utf-8?B?S1ErVWl0QXZLMkQvSU9SQVBLeHFBNGhzQWtmRU1CNGRldGw1UUhCd3ROSmFK?=
 =?utf-8?B?Q1VpL1EwUlNZKzRsaElpdjFOZXFJU2JLVXNwd21ZSm9BNml1QUM5UUFrQ2p0?=
 =?utf-8?B?d2E2dmQzdk5HOTJjUGhwbjVZbENNM0grYm5kWFliTFhFMzVnejRNQ2VyRnp5?=
 =?utf-8?B?OFU5ZzdhSXR0U0V5dS9wa245NlpKN2Q5d3NiUU1tS0hOcnZVWFpWVGhkRVJH?=
 =?utf-8?B?dzZVYkRjTXh0dEFaUStyUUNtc0hrOTExUStRRmNvOTZ4dlhRR2tPVzNDNWdk?=
 =?utf-8?B?RmZ2cDFWbmE5SWtNQS9QL1dFYnNMN1ZIYTczVytkc3NIUTNQQUVxT0Y2NHQw?=
 =?utf-8?B?TGMwc1dLZGd3YVFwdmhpNzZzdHEyUVlzMWNMUWpDVW5KazAzU0YxdjJpR0dj?=
 =?utf-8?B?UDZNWXk0TUhqVDVRN013TXYrclk3bGhkVURrNklEdStaekJtQ1BjbkN1Mmxp?=
 =?utf-8?B?elNvTGhZa2tvVHNybXBuRFAxZUZnY1VIcU9VMldsbVFwVWdyYzhyR0tIekc0?=
 =?utf-8?B?dGtLMlprbjVpTDk2OU5hbmh1aksrL1cwVWhBd0xLYVF5ZkRYUG5Hc01VOWRp?=
 =?utf-8?B?YzZBZzY5SUErRWJwc3YwaENnckJUWmw1K24yOVVaNEI2Q1QzWVJEOXZZQ1Ra?=
 =?utf-8?B?b2N3ZCtyS0szQWhFdDlYVS9pbUo0TmZuempTaVJ4UUlWSXQ2R29HZFlTdjZW?=
 =?utf-8?B?QUZPbTNpT1Q5ZHYzVnNzSnRtblROb1pqc0oySmdFTmlreWt4YjVmNUJWZGp5?=
 =?utf-8?B?MEFKWkRiN3Q1L3NlU094SXZ1ZzFicnV3ZjhLNzdXK0hjeTQ2N0UvR2tPUzN4?=
 =?utf-8?B?dXc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <BDB06F930CDAEB4184CA8B83A06F40E4@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: c2c75151-9880-435d-73ee-08db24ce96c8
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2023 20:56:30.3233
 (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: BeVFOYNB++6ARqohR3O3rI9+aHy3QY0383f08DWTZgGCjG/QVv6mxEPV67ddYkN8Vnh+V67cigIFXCWt/61SbwN4ww8Na+sxMJbL4TgSNHo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7967
X-Proofpoint-ORIG-GUID: Aw_rLXq1YvBHF0Xoz0t-oX8wAnBrjMxz
X-Proofpoint-GUID: Aw_rLXq1YvBHF0Xoz0t-oX8wAnBrjMxz
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-14_14,2023-03-14_02,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999
 priorityscore=1501 suspectscore=0 clxscore=1015 mlxscore=0 malwarescore=0
 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 bulkscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2212070000 definitions=main-2303140168

RnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVw
YW0uY29tPg0KDQpBIGd1ZXN0IHdvdWxkIGJlIGFibGUgdG8gcmVhZCBhbmQgd3JpdGUgdGhvc2Ug
cmVnaXN0ZXJzIHdoaWNoIGFyZSBub3QNCmVtdWxhdGVkIGFuZCBoYXZlIG5vIHJlc3BlY3RpdmUg
dlBDSSBoYW5kbGVycywgc28gaXQgd2lsbCBiZSBwb3NzaWJsZQ0KZm9yIGl0IHRvIGFjY2VzcyB0
aGUgaGFyZHdhcmUgZGlyZWN0bHkuDQpJbiBvcmRlciB0byBwcmV2ZW50IGEgZ3Vlc3QgZnJvbSBy
ZWFkcyBhbmQgd3JpdGVzIGZyb20vdG8gdGhlIHVuaGFuZGxlZA0KcmVnaXN0ZXJzIG1ha2Ugc3Vy
ZSBvbmx5IGhhcmR3YXJlIGRvbWFpbiBjYW4gYWNjZXNzIHRoZSBoYXJkd2FyZSBkaXJlY3RseQ0K
YW5kIHJlc3RyaWN0IGd1ZXN0cyBmcm9tIGRvaW5nIHNvLg0KDQpTdWdnZXN0ZWQtYnk6IFJvZ2Vy
IFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KU2lnbmVkLW9mZi1ieTogT2xla3Nh
bmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVwYW0uY29tPg0KDQot
LS0NCg0KdjM6DQogLSBObyBjaGFuZ2VzDQoNCk9sZGVyIGNvbW1lbnRzIGZyb20gYW5vdGhlciBz
ZXJpZXM6DQoNClNpbmNlIHY2Og0KLSBkbyBub3QgdXNlIGlzX2h3ZG9tIHBhcmFtZXRlciBmb3Ig
dnBjaV97cmVhZHx3cml0ZX1faHcgYW5kIHVzZQ0KICBjdXJyZW50LT5kb21haW4gaW50ZXJuYWxs
eQ0KLSB1cGRhdGUgY29tbWl0IG1lc3NhZ2UNCk5ldyBpbiB2Ng0KTW92ZWQgaW50byBhbm90aGVy
IHNlcmllcw0KLS0tDQogeGVuL2RyaXZlcnMvdnBjaS92cGNpLmMgfCAxMiArKysrKysrKysrLS0N
CiAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkNCg0KZGlm
ZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jIGIveGVuL2RyaXZlcnMvdnBjaS92cGNp
LmMNCmluZGV4IDUyMzJmOTYwNWIuLjE5OWZmNTU2NzIgMTAwNjQ0DQotLS0gYS94ZW4vZHJpdmVy
cy92cGNpL3ZwY2kuYw0KKysrIGIveGVuL2RyaXZlcnMvdnBjaS92cGNpLmMNCkBAIC0yMjAsNiAr
MjIwLDEwIEBAIHN0YXRpYyB1aW50MzJfdCB2cGNpX3JlYWRfaHcocGNpX3NiZGZfdCBzYmRmLCB1
bnNpZ25lZCBpbnQgcmVnLA0KIHsNCiAgICAgdWludDMyX3QgZGF0YTsNCiANCisgICAgLyogR3Vl
c3QgZG9tYWlucyBhcmUgbm90IGFsbG93ZWQgdG8gcmVhZCByZWFsIGhhcmR3YXJlLiAqLw0KKyAg
ICBpZiAoICFpc19oYXJkd2FyZV9kb21haW4oY3VycmVudC0+ZG9tYWluKSApDQorICAgICAgICBy
ZXR1cm4gfih1aW50MzJfdCkwOw0KKw0KICAgICBzd2l0Y2ggKCBzaXplICkNCiAgICAgew0KICAg
ICBjYXNlIDQ6DQpAQCAtMjYwLDkgKzI2NCwxMyBAQCBzdGF0aWMgdWludDMyX3QgdnBjaV9yZWFk
X2h3KHBjaV9zYmRmX3Qgc2JkZiwgdW5zaWduZWQgaW50IHJlZywNCiAgICAgcmV0dXJuIGRhdGE7
DQogfQ0KIA0KLXN0YXRpYyB2b2lkIHZwY2lfd3JpdGVfaHcocGNpX3NiZGZfdCBzYmRmLCB1bnNp
Z25lZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgc2l6ZSwNCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgIHVpbnQzMl90IGRhdGEpDQorc3RhdGljIHZvaWQgdnBjaV93cml0ZV9odyhwY2lfc2JkZl90
IHNiZGYsIHVuc2lnbmVkIGludCByZWcsDQorICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNp
Z25lZCBpbnQgc2l6ZSwgdWludDMyX3QgZGF0YSkNCiB7DQorICAgIC8qIEd1ZXN0IGRvbWFpbnMg
YXJlIG5vdCBhbGxvd2VkIHRvIHdyaXRlIHJlYWwgaGFyZHdhcmUuICovDQorICAgIGlmICggIWlz
X2hhcmR3YXJlX2RvbWFpbihjdXJyZW50LT5kb21haW4pICkNCisgICAgICAgIHJldHVybjsNCisN
CiAgICAgc3dpdGNoICggc2l6ZSApDQogICAgIHsNCiAgICAgY2FzZSA0Og0KLS0gDQoyLjM5LjIN
Cg==


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 20:57:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 20:57:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509834.786432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcBhU-0002VP-9p; Tue, 14 Mar 2023 20:56:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509834.786432; Tue, 14 Mar 2023 20: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 1pcBhU-0002VI-5f; Tue, 14 Mar 2023 20:56:52 +0000
Received: by outflank-mailman (input) for mailman id 509834;
 Tue, 14 Mar 2023 20:56:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ugWp=7G=epam.com=prvs=7437a4d9da=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1pcBhT-0001PG-6N
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 20:56: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 bd6fe7e5-c2aa-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 21:56:50 +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
 32EKchDl017378; Tue, 14 Mar 2023 20:56:33 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3pb0520156-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 14 Mar 2023 20:56:33 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by PAXPR03MB7967.eurprd03.prod.outlook.com (2603:10a6:102:21a::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 20:56:30 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e%4]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 20:56: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: bd6fe7e5-c2aa-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lWePQK1s5qlonxJcwc17I5daPq2zcSJZH51nt3y3H71wY6gfOKLq7tv4+alx8YCU9eRVukXzgUfWlrteom+Z5z9rAoXjLU/PbrukZnE4wn9mlbavwNA5wOCe2uZQpWZ9yS8k6dTehGDe/mSGXmU85Xrf5V5hgou8Y99SedG1HXBbYnK0z40lwNfjeJo6QKguVUgtLAk6XxdiYNYHf8tz5xNcIvIy8qgHUl6FwQqmQ0ETO4LZmIXosY54SqYfSyk2QQg12UKMV8wQH++WrS4CydO60JynRW5LhBKCJWP6qoMbcf3xfT8D4xwpm7uNMxCu5OCEOKrdCIBMuPlrQoXAxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x7tBqA5OxDzYHo/yEP4dPIJSk0WzvlCUdOtG1wDrd3k=;
 b=ZDVRNx9HfV+K8gSoeggq42pNM5AnOZyktEKjGKd8DEL0wyB1wNjMPBZM79GQrmNnQ9TQxZ/9dtHNjLE//E8IYPPL54TJwBWo9Nhz4MgypPxMpEbRBKARjUUML2lFV51NPUZWdecn01+RFzMF1IoPW71irrJTPLzoUpBE8G+ioDkGfWDRUqUJKv5ANPRcfTYbfZacGRMmMbDZHN1Srgm2YeJLZOjpL33bKyAndufK3Lf5RwaJ7CtdiXtf+DlBTfVvSHdCvgJyFIptyTLoECrUUA9KtbYTlY4rNQXyLAcibqWb8zG9sNxdWR1UdFl/FEmLgZ2J5v51mDLhoaOMZEi9ug==
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=x7tBqA5OxDzYHo/yEP4dPIJSk0WzvlCUdOtG1wDrd3k=;
 b=Mwtf9yAUNxP8g5GXxvRmTAHeAYjlgxEDYluXBY6jA2+lM2Wi5D5CJZVlOPjcDsitQjYffAn7qoTIWYlJ18Ihc6KoFkdQHi7ghsQxsc4oD6Rwue1poums9Cd7OVAvB/qpVfmBbEu8EuJoZDccMz9V2GdGqnkRCkn8yCeXkM24bBlUUn25Q4Jtg1EelurOMoHOvQEH9FuTv+3pz+Gxuok2zFA0rxJrU8tAA8gkIoeAj3Rri551/qkxSiM/s7MKIOALbxqtC3j4TGwaupg2dQQTJsVrY6uJd9lEQGo+6+UjeK9GEvDNgh9BvJew3AwU9qay3BR8CG02iCkP3weSpPnG6Q==
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>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan
 Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
        Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [PATCH v3 1/6] xen: add reference counter support
Thread-Topic: [PATCH v3 1/6] xen: add reference counter support
Thread-Index: AQHZVrdyBx9pogLqRUq3RbhGdjZNSA==
Date: Tue, 14 Mar 2023 20:56:29 +0000
Message-ID: <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230314205612.3703668-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.39.2
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|PAXPR03MB7967:EE_
x-ms-office365-filtering-correlation-id: 42c5c5d9-763a-4a04-b8f4-08db24ce9628
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 7laLWOEeMp6OS8XO67yqPwy8RIZn2Ju6KYuewQZeqb1zVx1eCDv5+bJrP9nl1kccTS8xg1szfLiUT8w+U65p5wG4KTZFECbKL/C4tjaJZ85jVQfU1tgyyse385I4/9GINKN2G1aFch9nKt7A+DX44oPKhPF4WxRjonbBYvT3c6Al97BZ+z+X+3OJAipdtlFKCEpZG5sdTA2vHs0+BgeKUWCYyzFcP/FjdEpY4wNDVoz2srkDGeo/GykRJ3vrkPDD1DMzBFmG54G/3eKY+98QeEnZtfkC+7P4HGpR59plCuAUnjV5q7GwPMLFId81XjSzEXfPkW8A7FEj3nvqaSzPAaRHqcqhh0hdYNIWRUJg1ZSQrL6Xkr3e0DTHiY6983L+tYpu33nttZBXlILKpwTPh6Hw+9shGIwn3cR9Lh6teFbwHehTPtJ3AuLVDcyAMXTB2LO5eaTtxiNIPG9GenYPawZVi49kU/gvGY1ZeUaPBd1kEb0NvLNxDLMPbq4uHIFIBoU/WAtAqBjvgK+xuXKpcjd9Ez3RFvr9wgHjFtrikxO0GSBdDhx+qlg+Pahr9Wlx30In2MG8q0c54iXh54IhzLuydefbGqyHj6G0CgI4oW4lA/hiN+hbGlS57ePhKnA/33lf++p7jf4HD0TyOtHQQ22SbJ2iHxQoGfPPOk8aAY6jl15k8hbLgVvo3syTyDkHOTvrKmpve7Msx10gRP18HA==
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:(13230025)(4636009)(376002)(346002)(136003)(366004)(396003)(39860400002)(451199018)(54906003)(316002)(86362001)(36756003)(38070700005)(38100700002)(478600001)(122000001)(55236004)(83380400001)(6512007)(6506007)(2616005)(1076003)(186003)(26005)(5660300002)(6486002)(91956017)(41300700001)(6916009)(71200400001)(76116006)(64756008)(8936002)(8676002)(2906002)(66556008)(66476007)(66946007)(66446008)(4326008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?raZ1IChzFUgdvCWliX699AlFD+urI0p1BrQ9CX2Y954xB8tt3MCbSpmHGV?=
 =?iso-8859-1?Q?H5nj21bx3oawXXxN/9lmCr+mxYqdw+KQ/wM3AAeuEW7lctUp/sTnkRFaJP?=
 =?iso-8859-1?Q?O0Sj59WBUa+DjoB3UI2RtB42IXoukJSl3AtzDQ5CmobCiVw4lMwFCf4bzf?=
 =?iso-8859-1?Q?l+MoN7EujaYUlbWU088wY/Stn49lcprKfYLk6ZkUHtw07oq4NfR7xrKXLb?=
 =?iso-8859-1?Q?6lE8PECjiSuKTDmy+BX8ztJAVR/nOdjSUmJFD9heJKveC+YxJ8yrP7SyTZ?=
 =?iso-8859-1?Q?uPdsAoaeD+APq4Wb9Z/AIH+xE+Hp5wrOogi9Lb7WMSxAXqICAVMWJGcPQE?=
 =?iso-8859-1?Q?dNDUrSzyIcK6ALaTYou+0U4pUonc9VVoeg1DnedOuDA6IBTDcjMvJj0zK+?=
 =?iso-8859-1?Q?ckYbo9ypLfkDoWyb1MK+Q+hN/1z8BbH33okAOhZ0AjI83+ttSjGrqy+HmU?=
 =?iso-8859-1?Q?58k5DUjdO4DMEtBg+E0VgAb7nyO9bMh7+BlrAvR0NnDSKJhh1GyoUrPg0l?=
 =?iso-8859-1?Q?mGxPSzeMJvv6Ty4YZ2z3PUZNUZIH4MUMsXKKgDGWN3oG1pMvCtU0bCDqps?=
 =?iso-8859-1?Q?tj1+m2w1Viz4DBcrQUemcoCYJVlPR74G8/SexUW0N/JDzS6PpTUHpYuda+?=
 =?iso-8859-1?Q?RhRrR2nYunzbixe5b8gerG8/jykymXo1WxIf9Va+g7D3ZbDU9Y5CsNYm7Q?=
 =?iso-8859-1?Q?5hPspzeD3lOWMFHcpc/EzHIOmnJF499ujBZ57tKRRbK22Ji+Cp9ickeUBu?=
 =?iso-8859-1?Q?7s/oyB65fGW/ceTXl48Ob5Jd/FF2v1BBeQLPxCexvjN4Xyevv4qp2F5Z8J?=
 =?iso-8859-1?Q?tv0CxUNyJwpWUDUfI6j77sQieztRNLFsdbiu4ZpyYDLEFcaOjgFVKTsS4/?=
 =?iso-8859-1?Q?9Hzg4912sLIZ3EAyFBJ+Mox6lBxFjwzooC6WoBeCPhrmDkh346Mbpmn9Ch?=
 =?iso-8859-1?Q?THNIp/oNTv3x53XEUkj2KJK1O4kNqYgiWjTc6mZjh+MCMo9Wp3i5XsUYhz?=
 =?iso-8859-1?Q?OVspp0QEga7gZytM4VWvdjlNvJrUBOmzZwfZ7Nn3vJkvnhmR7J1/XZ2+Ka?=
 =?iso-8859-1?Q?ZDQ0W/U3yQw+S+ijLZc6UWTGIzqhjplgekNidE8aiz/6SBpHLksRGh+OeY?=
 =?iso-8859-1?Q?1eMi4RykH0FxnE/xQ7ZjI1hbAKxOJIG8EfbBt8zz74Zh2PHwd2tOIxLnl1?=
 =?iso-8859-1?Q?/zRW6lBW2r0nf1Wx9wQmOW9fPWrL62OaMrVVTNb3e9SM6QsvutJUTw2qLa?=
 =?iso-8859-1?Q?1Dhy3O23BxwyEfRdZENjWEtVHFIL9A8IVGZd9EHoSbZwmMas98T0TyPGvx?=
 =?iso-8859-1?Q?LmxP3HQBrzKimdFQ7aIPxX6Tur5vA1HC30vfHub9XMmbgb7pvBo5CewhEB?=
 =?iso-8859-1?Q?GIvDL3hO/bX58xy8aD+FqJyBivADbfnqBq2jCA3yblssZzC1hIATgWho3Q?=
 =?iso-8859-1?Q?VN0lfIV7yCrQ+BzgkYQzVr4HeKElcdtlHD8xleLmysCGubz53ljNoZ/31C?=
 =?iso-8859-1?Q?kBbqrbe/8gGeBh6fIETgpRVh2J8/Ih4EHwp2lsJuHcpKlvu07Qfc90rVvq?=
 =?iso-8859-1?Q?Zz/406njrUs3iAzL9zGjEFRzxsMdA1NJoYli+TAaEfXPF7N0jrQnkUHO/O?=
 =?iso-8859-1?Q?3D6im0ivQEVgpHVMxy3EntpZJKTW1guGSvyWOtgs5V6EBEAaeRiUC9tA?=
 =?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: 42c5c5d9-763a-4a04-b8f4-08db24ce9628
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2023 20:56:29.2765
 (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: KKEhdFqOaTIxpw2mLIPTMYtxooX0VFh7q44D1fg7urKY62wNvwxbxlMPTYkWkTViY/kNtj70qnwdEC87FHnVdE2YshXTA+KbiYQAobv1wBw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7967
X-Proofpoint-ORIG-GUID: 9LTZF6K_WfMc60YSOQ2b5VdYZIEbzilF
X-Proofpoint-GUID: 9LTZF6K_WfMc60YSOQ2b5VdYZIEbzilF
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-14_14,2023-03-14_02,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=587
 priorityscore=1501 suspectscore=0 clxscore=1015 mlxscore=0 malwarescore=0
 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 bulkscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2212070000 definitions=main-2303140168

We can use reference counter to ease up object lifetime management.
This patch adds very basic support for reference counters. refcnt
should be used in the following way:

1. Protected structure should have refcnt_t field

2. This field should be initialized with refcnt_init() during object
construction.

3. If code holds a valid pointer to a structure/object it can increase
refcount with refcnt_get(). No additional locking is required.

4. Code should call refcnt_put() before dropping pointer to a
protected structure. `destructor` is a call back function that should
destruct object and free all resources, including structure protected
itself. Destructor will be called if reference counter reaches zero.

5. If code does not hold a valid pointer to a protected structure it
should use other locking mechanism to obtain a pointer. For example,
it should lock a list that hold protected objects.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

---
v3:
  - moved in from another patch series
  - used structure to encapsulate refcnt_t
  - removed #ifndef NDEBUG in favor of just calling ASSERT
  - added assertion to refcnt_put
  - added saturation support: code catches overflow and underflow
  - added EMACS magic at end of the file
  - fixed formatting
---
 xen/include/xen/refcnt.h | 59 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100644 xen/include/xen/refcnt.h

diff --git a/xen/include/xen/refcnt.h b/xen/include/xen/refcnt.h
new file mode 100644
index 0000000000..1ac05d927c
--- /dev/null
+++ b/xen/include/xen/refcnt.h
@@ -0,0 +1,59 @@
+#ifndef __XEN_REFCNT_H__
+#define __XEN_REFCNT_H__
+
+#include <asm/atomic.h>
+#include <asm/bug.h>
+
+#define REFCNT_SATURATED (INT_MIN / 2)
+
+typedef struct {
+    atomic_t refcnt;
+} refcnt_t;
+
+static inline void refcnt_init(refcnt_t *refcnt)
+{
+    atomic_set(&refcnt->refcnt, 1);
+}
+
+static inline int refcnt_read(refcnt_t *refcnt)
+{
+    return atomic_read(&refcnt->refcnt);
+}
+
+static inline void refcnt_get(refcnt_t *refcnt)
+{
+    int old =3D atomic_add_unless(&refcnt->refcnt, 1, 0);
+
+    if ( unlikely(old < 0) || unlikely (old + 1 < 0) )
+    {
+        atomic_set(&refcnt->refcnt, REFCNT_SATURATED);
+        printk(XENLOG_ERR"refcnt saturation: old =3D %d\n", old);
+        WARN();
+    }
+}
+
+static inline void refcnt_put(refcnt_t *refcnt, void (*destructor)(refcnt_=
t *refcnt))
+{
+    int ret =3D atomic_dec_return(&refcnt->refcnt);
+
+    if ( ret =3D=3D 0 )
+        destructor(refcnt);
+
+    if ( unlikely(ret < 0))
+    {
+        atomic_set(&refcnt->refcnt, REFCNT_SATURATED);
+        printk(XENLOG_ERR"refcnt already hit 0: val =3D %d\n", ret);
+        WARN();
+    }
+}
+
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--=20
2.39.2


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 20:57:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 20:57:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509842.786441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcBhw-0003tI-MV; Tue, 14 Mar 2023 20:57:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509842.786441; Tue, 14 Mar 2023 20: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 1pcBhw-0003tB-Ja; Tue, 14 Mar 2023 20:57:20 +0000
Received: by outflank-mailman (input) for mailman id 509842;
 Tue, 14 Mar 2023 20:57: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=ugWp=7G=epam.com=prvs=7437a4d9da=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1pcBhu-0001PG-Vn
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 20:57:19 +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 ce07fcaa-c2aa-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 21:57:18 +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
 32EKchDk017378; Tue, 14 Mar 2023 20:56:33 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3pb0520156-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 14 Mar 2023 20:56:32 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by PAXPR03MB7967.eurprd03.prod.outlook.com (2603:10a6:102:21a::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 20:56:30 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e%4]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 20:56: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: ce07fcaa-c2aa-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KC+QS4Tfda97B5JX5EyOp/DUgDilagBhIOp5xaWdvjEVRg7xemXl3oNNm4hmu0io7UjGL6hwYKF+WmND86C4g2H8d9TGBkpJx1bjHTgDFCC+zWckTpqKbuvIXoCOhplU3FSy0KXoxg6D1CDFiB3PkWtrKbXXn0t57GKKEddq2Yb1emTY1rDiaPjW6MhWRNnNEYA4+zBo4+uhx4ziqiMEdufRkZtWidjC5Yhdxsw9Dxf4H95mYcefEP1nuRlE1ObWbhyFE0nH/bQLdUl8XbdtEAi86tRIhvgT57hHXjKjSprKGNINIv4Ob16aARFiAfEtNqn5ErIUP9U2cbPtyRB4ww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gCGo2K1yWc3whjLYAbvm4bc/nJTzqYRDNubeotfQN6s=;
 b=MI1rx/kclSuQB+UaRc5zLWXcXzjNvBEmoyXgEr0PeEC7g5hKHZbfiodoDHpieb+dSyVzZ6f6HdgNAuWyMyG4CT/sFXyxBKTF7Xr0lk0Fb2/s2EaZk9rOWUpwM1goBzcIbnsUIgK5p8ZmN5o5K4NYZMLENJwNhOI9Xga59polvluZIF+uVDMxG0XVjBEsczigp/BADEUV0l6vRDjd2nLmD9m0Ii2HES+a/alKXcgm4Uc8EoykOe6hIpUOf4Q2JvsG2iDED939DhbVNrJCln+rEWLuVCvR07DywzuZrkiEIfZAfSHnb8PSr6Iy3ETn5WIgYg9/1OytkZAICOT07af+YQ==
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=gCGo2K1yWc3whjLYAbvm4bc/nJTzqYRDNubeotfQN6s=;
 b=hWjPEDEQsz9ii/GhH+wpZq5pzG2701hsi6TzRswTwSGEzAfPNaOe/d+Jui108MjiX11pBEnFV8mda9iMzwPG+uDijjffQpeLFrwte3+98bBLIcowF9rs3mJg2Ue6mI7RKyku6QwwAyp2JLToji6VfApSg1RCFDr3yQhrkOcNsm+rf2aTaqmSpcMtkPkudXC9kY3PLoBCPjvKXJxUfNuhIM21m5uIQcTyfQy/uyPV/oeFj1/OuIJ1AJPjC6k+BxNh5gzRx/uE+yJyaJ0U+1y+qtVdORcuY9cqtMhCWFMnhyvto4r1ge6S3PqByKjcfozKRxNawLyBzp+QM0SksRjAYA==
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>,
        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?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
        Paul Durrant
	<paul@xen.org>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v3 0/6] vpci: first series in preparation for vpci on ARM
Thread-Topic: [PATCH v3 0/6] vpci: first series in preparation for vpci on ARM
Thread-Index: AQHZVrdy6rMOYMwx706MoeCGqRZxrA==
Date: Tue, 14 Mar 2023 20:56:28 +0000
Message-ID: <20230314205612.3703668-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.39.2
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|PAXPR03MB7967:EE_
x-ms-office365-filtering-correlation-id: b6afa6e5-5d50-4ef7-c676-08db24ce954f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 brxRUYPHkt48aBdvEtqOltztUmC5Pgz/QY8CriXE+BckuqYthMYcvmIOEqPXPwrs+eHzohkQYt44x/FojH/4hkaJM3soy1phpT+XfYYQxzBsGZlZNPsqwEy2LB6gCBTrh/UI4Aay9EoLh8xHFxZfl2QNd0hrBRWOw0hGB2IKKmQkI8nxJGbm0mxXZpBMVq/IqxNxI1PbqlWctTjrG5AdmF51QzNjvU7HJVzZm7fq3O43hd6yB+I1NBNew8OC6v9lgRpSRQ3BjOE3umwkNpe2iSUiGAclwx/QJTP31IkYdm1xcCtMvVrnd9LP53yNOHhZFRIsNXerS/IuwiA6Ae/ZwwOHfvA9L1nEX16fG3xzNk2xo22Ee9KK+uLpidWwhLX0OIHK08CW9r5y0N1ozWKB304m9FBWsusd1qGHgeDt0Ps2UOtndoo1dMW2qPeOaH8tj5n6D5gmkRh5vtHxrWkfIqeZ1nneIq7VnQRNXp63a5JWQkzQfHz/8JkLyt0OhPIMMgtpNgMyfHIW7hgFS4llWUgYeCmGVHATbPbVCD8XB8ZhQxbwJApARCRriAgD/4XAiG+R5shVym5Ehj/NHNWZCQDEfeqod3GpVR+tA0LSbndIDvh92CY+qUCVlQrpu69d4C5kxPklShZYYmYG9/Ilu4vibKCzSuKqyc6mDwelOhgYUVb05aZ7hbfSrVMPG5n8cm3eGHJYjWjdd/sqLftR3A==
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:(13230025)(4636009)(376002)(346002)(136003)(366004)(396003)(39860400002)(451199018)(54906003)(316002)(86362001)(36756003)(38070700005)(38100700002)(478600001)(122000001)(55236004)(83380400001)(6512007)(6506007)(2616005)(1076003)(186003)(26005)(7416002)(5660300002)(6486002)(91956017)(41300700001)(6916009)(71200400001)(76116006)(64756008)(8936002)(8676002)(2906002)(66556008)(66476007)(66946007)(66446008)(4326008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?UWxibFZ5d2VuYlN2eXB1YVB6YmNqTkZndVFCYk1zM3VVS25UN0NyeUhsSlJB?=
 =?utf-8?B?dDh2Vi9ieVVyNExIQnlpdGp2U1dqMUdwZFlTZlBsbHJlZEJTNWw4b3hMTGUv?=
 =?utf-8?B?cjl5by9aaTh1Qk93RDJMbkREK1dkMjhrNVhkaGJoajNnNi9wejB1cnFnd0xP?=
 =?utf-8?B?WUtrNWZHSStRT2xYaERBYko2SWtlWVZlK001VHhmVUJKeWNOL2U0dVVraHla?=
 =?utf-8?B?TVhIcWFpZXdKWG9xTEo3b0I1MlJNd2RrazJkc3kwNm81NDBwK05OQnN2dk4z?=
 =?utf-8?B?OWlFMkh4RWpwYnJuVkhzTnBUdy9abmFkOFBDejRTalNZUU5ObWIzVksyVVE2?=
 =?utf-8?B?L2RnVW9oWktjcG9nNVFvVnhDV0NYWVBXb2xWblR4bXZYSXpYTTdUMDl0YUJY?=
 =?utf-8?B?ZjdNMDg0S2RUeVJmRHNSSjNmR0tVK0hCYjRTc0lCdDk5ek5rNjlYdTVVTVJF?=
 =?utf-8?B?L0h6d2t6a01kckk2Mm9yenVwUDVUazJ5SENKMHpmVHlNM3JoZzcrMG8zNVdZ?=
 =?utf-8?B?VzE0LzBTVm9TendzSHV1ODRoSDUySVJrV0IwektldWtmVGt5dC8wcGozSmlT?=
 =?utf-8?B?UlNPby9YaHNBVTJmd1NpS1VzUm15WFlxd0YzK2ErOEZBWXVmOWJkUUNLQzMv?=
 =?utf-8?B?OTd5T2dhQ2RVWk0rVXM0S0s3VnZJb3BFRnQ5TWp3YUE2cWNDZk41eEZ4b3M2?=
 =?utf-8?B?RzZxSkx1Qm9PMnZ2UVZob0dESmlmOXh2N2JxMlJYU01QZTNIeitnTWx1cUU1?=
 =?utf-8?B?SXRFMlBWQVJqT2pDRVh0dXp3WnM2bnZwbGZ1TjY1V0c0L25zZDBmUFkvNlBY?=
 =?utf-8?B?YVRYa0NtYlg1UjdFaXZlNm5DV29FZGUyR2ZIRmdUbWp3a3lpVkxNNVhINGtK?=
 =?utf-8?B?V1AvOEtyWHNnVzR0d0V5cHJ0bFROMVNNRnFKWWpGaHd4Qm90SG1STkJ2K2pC?=
 =?utf-8?B?NlJIWkZZZXk0ekpENGg2ZFQ0U3ZMbkQxVXg3RFp6OGhnYzRsT1NFU3phMEhM?=
 =?utf-8?B?RFBVazA3WHJvRm1wU0lxaDlSMHhlTUtoU09taHluUDVlZHlyN0ErSGJYYjR1?=
 =?utf-8?B?cTYzemZJVWhBT0JmRUYwcFVyQ0hZRkJDZWJiY0dyRmNlcmo2dmlzWW53UlVU?=
 =?utf-8?B?b2tLYzFSRXVLYTVIN3YrM0pua1ErUWpaK1hiUlN3VkExeW0vSUxDTlN3YW1r?=
 =?utf-8?B?VE9neWJDU1dqNXFoTUZudklRei9aTHYwZWtNWUtoMEdBS3BxdUVhelNla3dw?=
 =?utf-8?B?c3JJYzhPb2Vsb1VOc3F0WjFFamRzRXBBYU1rYTZkcjB3c0ZtcDc1NjVrMGJY?=
 =?utf-8?B?K0xONjRIUnRTQkphT0oya1preGtZSGZ4enI2WkJOTFJYZlNsSTlGZUJlVklV?=
 =?utf-8?B?TW94a05WOWdQT3RMQ1pjYUovQkdJNFQzbTFkUDI2R3ovRU5Db1R5T2QrbE5t?=
 =?utf-8?B?Tnl2ZmEwOTBmdWQzcjAzcDBxTG1pVkMvM01FczNzNDU0OURKRTBIcnIyTUlx?=
 =?utf-8?B?SDRoV1h0dENvS2lYUTEwVDVySjUwRmFmVzNoaDNyZ0FiYURIWG0vdnU0Tjdw?=
 =?utf-8?B?aDVsRld3OTNQdEZNc0FPNXNDclk3Ukk5YkhLcFBMbHYvcGQvUnh1K29USmxP?=
 =?utf-8?B?bVc3dFl6NmMyaGJIRm9TVmJvTlVFMGtXZmRzdFluMmpkMGs4VWQ5Z1M1VTk2?=
 =?utf-8?B?OHUvakFJOGpjS0RxTGpGeXN6NlZFK09WdXBWRE51QXZtS09BaVVDZnNqMGcw?=
 =?utf-8?B?Q1piOVlPVkVLcWl3M1h1bEtDUTJtTUZoQjZnVUJzS3pjNm9mU3JGa1grQUIz?=
 =?utf-8?B?cU1KQVVqVjBhcFJrYkIvemREWGtKajNNMkN5OFQwNlNwVUw1RHVwampsY1JN?=
 =?utf-8?B?U1lUY1NSeWlDb0lLUWFpSnpISWpaeE1CbFp1Ni9zMm9TNzE3MDdqWW1ITjA2?=
 =?utf-8?B?dEdUT3ZQVUJyOUZRRHV5MFBoOEQyNUJyb01PMmpqUXdzM0lFZWhQWW1BWHdx?=
 =?utf-8?B?TElqSWROMVE0QWNlWnh3bFozMzVVSUlQZC9tL3RPT09XUTZBQUFzK1pFWjc5?=
 =?utf-8?B?M1pOWWdiR2E5ODMyU2x0UEYyWTFEZzBYWUNzV1dxQitYV2U5WVJaMUlrTVRN?=
 =?utf-8?B?QlB4dHMyWFhiaWVzcGlqeG03bFJiZGVDWmM5QW9VcnJ0Q0RJUjBOeUtBQ256?=
 =?utf-8?B?NEE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <1ABC6007A1120C41AAE42EC995A6DEDF@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: b6afa6e5-5d50-4ef7-c676-08db24ce954f
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2023 20:56:28.9640
 (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: o45o97pj783TykNVoDdyRyOZ85iS/7bPq8S/x4GWgBAswcZEAqlPwnH4PyY8kTg65crELVzZuBKmLeaFNEL8jSFutqGmveHZDxGkJZtTWJU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7967
X-Proofpoint-ORIG-GUID: nNE1jLtMnASfCT5Vw66q0yNeR9m3LNI_
X-Proofpoint-GUID: nNE1jLtMnASfCT5Vw66q0yNeR9m3LNI_
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-14_14,2023-03-14_02,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=385
 priorityscore=1501 suspectscore=0 clxscore=1015 mlxscore=0 malwarescore=0
 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 bulkscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2212070000 definitions=main-2303140168

VGhpcyBwYXRjaCBzZXQgaXMgc3Bpcml0dWFsIHN1Y2Nlc3NvciBvZiAiW1BBVENIIHYyIDAvNF0g
dnBjaTogZmlyc3QNCnNlcmllcyBpbiBwcmVwYXJhdGlvbiBmb3IgdnBjaSBvbiBBUk0iLiBCdXQg
bW9zdCBvZiB0aGUgY29udGVudHMgd2FzDQpyZXdvcmtlZC4gTWFpbiBhaW0gb2YgdGhvc2UgcGF0
Y2hlcyBpcyB0byBhbGxvdyB2UENJIE1NSU8gaGFuZGxlcnMgdG8NCndvcmsgd2l0aCBEb21Vcywg
bm90IG9ubHkgd2l0aCBEb20wLiBUbyBkbyB0aGlzLCB3ZSBuZWVkIHByb3RlY3QgcGRldg0KZnJv
bSBiZWluZyByZW1vdmVkIHdoaWxlIHN0aWxsIGluIHVzZS4NCg0KSmFuIHN1Z2dlc3RlZCB0byB1
c2UgcmVmZXJlbmNlIGNvdW50aW5nIGZvciB0aGlzLiBTbyB0aGlzIHNlcmllcw0KaW5jbHVkZSBw
YXRjaGVzIGZyb20gb3RoZXIgc2VyaWVzICgiW1JGQ10gUmV3b3JrIFBDSSBsb2NraW5nIikgdGhh
dA0KaW1wbGVtZW50IHJlZmVyZW5jZSBjb3VudGluZyBmb3IgcGRldnMuDQoNCldpdGggcmVmZXJl
bmNlIGNvdW50aW5nIGltcGxlbWVudGVkLCBpdCB3b3VsZCBiZSBwb3NzaWJsZSB0byBtYWtlDQpm
dXJ0aGVyIHJld29yayBvZiBQQ0kgbG9ja2luZy4NCg0KT2xla3NhbmRyIEFuZHJ1c2hjaGVua28g
KDEpOg0KICB2cGNpOiByZXN0cmljdCB1bmhhbmRsZWQgcmVhZC93cml0ZSBvcGVyYXRpb25zIGZv
ciBndWVzdHMNCg0KVm9sb2R5bXlyIEJhYmNodWsgKDUpOg0KICB4ZW46IGFkZCByZWZlcmVuY2Ug
Y291bnRlciBzdXBwb3J0DQogIHhlbjogcGNpOiBpbnRyb2R1Y2UgcmVmZXJlbmNlIGNvdW50aW5n
IGZvciBwZGV2DQogIHZwY2k6IGNyYXNoIGRvbWFpbiBpZiB3ZSB3YXNuJ3QgYWJsZSB0byAodW4p
IG1hcCB2UENJIHJlZ2lvbnMNCiAgdnBjaTogdXNlIHJlZmVyZW5jZSBjb3VudGVyIHRvIHByb3Rl
Y3QgdnBjaSBzdGF0ZQ0KICB4ZW46IHBjaTogcHJpbnQgcmVmZXJlbmNlIGNvdW50ZXIgd2hlbiBk
dW1waW5nIHBjaV9kZXZzDQoNCiB4ZW4vYXJjaC94ODYvaHZtL3Ztc2kuYyAgICAgICAgICAgICAg
ICAgIHwgICAyICstDQogeGVuL2FyY2gveDg2L2lycS5jICAgICAgICAgICAgICAgICAgICAgICB8
ICAgNCArDQogeGVuL2FyY2gveDg2L21zaS5jICAgICAgICAgICAgICAgICAgICAgICB8ICA0NCAr
KysrKystDQogeGVuL2FyY2gveDg2L3BjaS5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyAr
DQogeGVuL2FyY2gveDg2L3BoeXNkZXYuYyAgICAgICAgICAgICAgICAgICB8ICAxNyArKy0NCiB4
ZW4vY29tbW9uL3N5c2N0bC5jICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICstDQogeGVuL2Ry
aXZlcnMvcGFzc3Rocm91Z2gvYW1kL2lvbW11X2luaXQuYyB8ICAxMiArLQ0KIHhlbi9kcml2ZXJz
L3Bhc3N0aHJvdWdoL2FtZC9pb21tdV9tYXAuYyAgfCAgIDYgKy0NCiB4ZW4vZHJpdmVycy9wYXNz
dGhyb3VnaC9wY2kuYyAgICAgICAgICAgIHwgMTQxICsrKysrKysrKysrKysrKy0tLS0tLS0tDQog
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvdnRkL3F1aXJrcy5jICAgICB8ICAgMiArDQogeGVuL2Ry
aXZlcnMvdmlkZW8vdmdhLmMgICAgICAgICAgICAgICAgICB8ICAgNyArLQ0KIHhlbi9kcml2ZXJz
L3ZwY2kvaGVhZGVyLmMgICAgICAgICAgICAgICAgfCAgMTEgKy0NCiB4ZW4vZHJpdmVycy92cGNp
L3ZwY2kuYyAgICAgICAgICAgICAgICAgIHwgIDMxICsrKystDQogeGVuL2luY2x1ZGUveGVuL3Bj
aS5oICAgICAgICAgICAgICAgICAgICB8ICAxOCArKysNCiB4ZW4vaW5jbHVkZS94ZW4vcmVmY250
LmggICAgICAgICAgICAgICAgIHwgIDU5ICsrKysrKysrKysNCiAxNSBmaWxlcyBjaGFuZ2VkLCAy
OTMgaW5zZXJ0aW9ucygrKSwgNzEgZGVsZXRpb25zKC0pDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHhl
bi9pbmNsdWRlL3hlbi9yZWZjbnQuaA0KDQotLSANCjIuMzkuMg0K


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 20:57:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 20:57:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509845.786452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcBhy-0004DG-UA; Tue, 14 Mar 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 509845.786452; Tue, 14 Mar 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 1pcBhy-0004D7-Qh; Tue, 14 Mar 2023 20:57:22 +0000
Received: by outflank-mailman (input) for mailman id 509845;
 Tue, 14 Mar 2023 20:57: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=ugWp=7G=epam.com=prvs=7437a4d9da=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1pcBhw-0001PG-LY
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 20:57:20 +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 ce7c6aef-c2aa-11ed-87f5-c1b5be75604c;
 Tue, 14 Mar 2023 21:57:19 +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
 32EKchDo017378; Tue, 14 Mar 2023 20:56:35 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2175.outbound.protection.outlook.com [104.47.17.175])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3pb0520156-5
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 14 Mar 2023 20:56:35 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by PAXPR03MB7967.eurprd03.prod.outlook.com (2603:10a6:102:21a::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Tue, 14 Mar
 2023 20:56:30 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::967e:573a:15a9:176e%4]) with mapi id 15.20.6178.026; Tue, 14 Mar 2023
 20:56: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: ce7c6aef-c2aa-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jC4APIhGtIE2q2vnB7Xgyp88/Qoj80o1jW8ZVmEsR9vzsBK/K7E9TKVH0ws3gYP/YP+M9F8QOAmNkVDpTUaIEk3cckeJDUxhkALykktfOg+vAAmly5lTrhiLI6GjXa7FSZr/zEVrsOryvVRh0JyevefLJHLd0d83VEWpAvWLCf8mAU95pr01MZRFUYQlym+9wKdLgtBxsULI9maLAFf1pnd7kIBUzCqSXrkc04IYaCdWRlS3+sOvIsChltiDYq8cIK7X8zgwLxhDG0dtK3mK5DFcFPvfL5TJEZCYO19KIVSLtu3BCcV52Bpz5JaJoAO1TSbPJb83UyZ2gNnVg6ID1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x3giRBF2vC8XfohoRJp2TLUtqgs0zjuWEsEx8QPu5VA=;
 b=Tz/R6YZTMwc70J7ONg+kKpXLIbOTFUKWt/ae5r+pOO9D5VNXhFn6WhsVnCQdWjogdSv3XeT2XCcV5leL/fvTurxyRI7ZWz5Qz5AdHQfgeBeYm709FDveXJAGYyKjjKXZCKINQxroaWKAa54ad9Yp4QFJjYP/Dp8DQDZwKKepiLPlsFmHLrU0VKlg0unh+xHLHFxO8X6gLNzBUeRkX1xTehxHhMyyKac2nQekWI1bWlUGlnncA5euBRJUWu4/x52fznakBZsCJV31jGGoifpIy4jirsFf0Aa2ayzC6coDM6iqO4G7qy802N1Q9eMvOJnPS4qB5zs6OJEFTp0E3WaVxg==
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=x3giRBF2vC8XfohoRJp2TLUtqgs0zjuWEsEx8QPu5VA=;
 b=dAviOwHeIzoIc/A3gZX5H+T7Vx+QUEPdEpSBpecXfxfM7wxgv433I/1U4T0S8qHWKVjVQyFyxzaa41H8qw6iLgiP29L6YfKNjxq988Xx9WL+ynHoFKMTz4gZd/wJqu9mFOA/6+EOwpbrsjDS2Dl2Jzcd2QZCwE79dvg98xmg7ATGRhSSajPuyV0LLY/GghGTCMCjMTI/30eQlwFTtbHgPBD9NCEpS2gnABk5CCzMT/Uu//Iv56WMyNZ2gkgN+djQnzDrzvKKA6TYmIzXe7a4IIr88MGTrb/SpxndggQwA7bOoVe4ZrQ3d93Xf0fOCczOGjYRc/MMtvIl0ErE2eQwgg==
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>,
        Jan Beulich
	<jbeulich@suse.com>,
        Andrew Cooper <andrew.cooper3@citrix.com>,
        =?iso-8859-1?Q?Roger_Pau_Monn=E9?= <roger.pau@citrix.com>,
        Wei Liu
	<wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
        Julien Grall
	<julien@xen.org>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Paul Durrant
	<paul@xen.org>, Kevin Tian <kevin.tian@intel.com>
Subject: [PATCH v3 2/6] xen: pci: introduce reference counting for pdev
Thread-Topic: [PATCH v3 2/6] xen: pci: introduce reference counting for pdev
Thread-Index: AQHZVrdzsdckomMx4kauxHkZQ597Ig==
Date: Tue, 14 Mar 2023 20:56:29 +0000
Message-ID: <20230314205612.3703668-3-volodymyr_babchuk@epam.com>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20230314205612.3703668-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.39.2
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|PAXPR03MB7967:EE_
x-ms-office365-filtering-correlation-id: a0e2b907-4a39-4d48-f078-08db24ce9661
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 Omev8bapjhzUupelKf/ySvHHGmZkYH1Re53t7uAlTwmc/m/KG/eOq4gqhxL7eVvdhCXNvK4yKPg0KAXz/9q88PVRTVdf3TADh/awFMo/IFz4VUg9lSXIrHpw6IjJwbCdI9Q6BlC5bD3PW89hBQjDPlpw1y1GZWuYUgLyipLMxQABF4kLGtjKoE6V8JIDEY/Gzf0c9ZIfyJFM9l8v8C/vpH8Z6vR/uUSQYdx04474IeJYm0S11RrJJ+L2cUSkqIEWQ7gjWZ0v8yMUGivy+D+eNZCZMvL2ty/Bb8b3FPZBwU5NdF47vEBZdVmyjufBR0B3188dQQPU8wVROQgk3ooA9aEN08zgQghYsGVkkeznWfM1jb2wX2sm4wKWDZhQkRc5r7lCsQ2YIlgOPX8Ri5Xr34n3Jon6a+mzKH1GXS5dsz8z6UjpDnk4lIMj3gqGkry7LKaGsd4DlfeTTD8A+MKEZLDCenj8T7X/A/TR5ULMHnHuyV6To2Zz8X2Az+LMQBXu3XPNSFUPIcrj7Nze/8D0LF4+SeehmhYdiFPGClE62m4aygvkYhSoDYzJdRl10nTXfISll/YY51F3qOhgTmprsqQOJEPtEdKa3nyCrvMWqSQqk0F+Ig9XqvdfGFUr6nwheUso77l/0yoDDUCKigg2GXOD1BfOs72EMbKO97QTNhH6RmsHxR9iDd5hOWzsnTdTU4JLV9ew9KYQomEIbEM8q5Ei6PnUYN5y6FRcB8c5iZY=
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:(13230025)(4636009)(376002)(346002)(136003)(366004)(396003)(39860400002)(451199018)(54906003)(316002)(86362001)(36756003)(38070700005)(38100700002)(478600001)(122000001)(55236004)(83380400001)(6512007)(6506007)(2616005)(1076003)(186003)(26005)(7416002)(5660300002)(6486002)(91956017)(41300700001)(6916009)(71200400001)(76116006)(64756008)(30864003)(8936002)(8676002)(2906002)(66556008)(66476007)(66946007)(66446008)(4326008)(21314003)(579004)(559001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?gm1U33arFh8VzSF4/mkduebH4EX1NY93Wces6XjSzBQWrtE3m0ZoZY+b8z?=
 =?iso-8859-1?Q?7f+rx2rPiwNGA95AMl1gnD+iSvODvNldMLOuEQXxIIcHHh7bjcws0hG3hs?=
 =?iso-8859-1?Q?Eu5InVqT/R0bnXXvPqA6YMJshITJcyZ+g02D/dQVOHPJvIj4muQ1XFMbuc?=
 =?iso-8859-1?Q?VwQf2qTCL+ayfaIFQUCSNuy5RuNHo/jb+lUVUKrdYAEaFAOvgemTwXHgA2?=
 =?iso-8859-1?Q?bBQidbBLJ40Mj3l2QLuiF6Tn9xCyVURGkmjR6rHfzNLiDVNMszQVyvBKak?=
 =?iso-8859-1?Q?XUDzChl+fwX7vqFOsSv84AiEQKVKCVW55oPJpgVXSkr4IWMTWmkw5cNF/z?=
 =?iso-8859-1?Q?O85INObWmw+FhQ2q0PxgWhZYtbozMYjWA3pcvpF2PjJhoDFvMCVTgqilf3?=
 =?iso-8859-1?Q?oolEZiNau7hWDJEfeBx4bVvuuEJPPmW6TjJ9YzTOf6opbafCDxtPj7ZcV8?=
 =?iso-8859-1?Q?dAqtYsfMf0rZ8x8PGq5buf70JqxRPPtZzgS9GnHiaMkbcLeZss+q7KYcTj?=
 =?iso-8859-1?Q?6frdM0el4IUIGczR8IB/mmWC29w3kg4WS2mLVcCkY3dpcAJKuAvE0XYE2A?=
 =?iso-8859-1?Q?uVtu8o0bZgOlxgJQ3HMQEdefWGnLpDrcwNSNUEnc8/4i8uF3m4CeVbHmsK?=
 =?iso-8859-1?Q?gN2GXxD/u9N+wizoh3GOh9VPFY2WL4ambZMMyUmjUWEAxDes/+flRBnqyy?=
 =?iso-8859-1?Q?YaAGs5D5dxfHxoIhaC/IW6RCiEZkRPu5OKUZS66wgohwbx+l6q+y3n6Z8o?=
 =?iso-8859-1?Q?MIOkwxlGjUyz9XvrXDApMPN7mrbr/SLSPaMxNAd0fqnzj4UoEeCpM72Xzp?=
 =?iso-8859-1?Q?sIdqejcOTzABL/dILcEuoNZqHUzsy5kjpO59zadPQ3C3P/xfsEq8lzXSn1?=
 =?iso-8859-1?Q?WGPjJtizkQtP0ev0DcGWGEY7bioUZSZrtjflzEHarv2kcKU2unz/yTa96h?=
 =?iso-8859-1?Q?HuxNTaq9rqSEEM9w07UMMOqWxE3DdU5xXUpOyogvnwlf8DCbGDXH3PsWLg?=
 =?iso-8859-1?Q?592znEzZ/JEznvKygyNM+9kx1qGY9mSn8FmEDmdD8iDBcqjo37CJ9xy7ml?=
 =?iso-8859-1?Q?RZv/cTriCg3z+3FCGKUGYX8lkC1atpA1GELjlaJQzfYtXptrgn1TN8Dtf9?=
 =?iso-8859-1?Q?3ou6iOb5zQfznNPqWDo213/ezhElbSXYrXTGSHDNpbm5eMelhc+L9XVsE8?=
 =?iso-8859-1?Q?7KXBizKYwYQ1FXOkyV6ttLRB3SgKXSiLb2yzL6Ld//0xgzq3u2wRxYes7Y?=
 =?iso-8859-1?Q?nObzGtdmfkTjOBSC6UxmMZ93IUpWqvioqR6djfZjmEA2ceTGbz6NrCi4mq?=
 =?iso-8859-1?Q?2EUsGLGLmO7hM3vecXlrIGEk/vxr+CfrUTs5XTETg+BmQOGR818z7gKFr4?=
 =?iso-8859-1?Q?6T9/b95itC9CFEjX8SRlsiUZKgPGyzgyGPt39FYbmXe7AlyeDGuQFsb0d/?=
 =?iso-8859-1?Q?BhdiDFemDNTxjJKpeLCBSOof2TPZrLqFH8cPGwmhbIlGKS6pS31vO9uMzE?=
 =?iso-8859-1?Q?c1R/twBSe3i7hGY/d1/FBvmAyx35wfWzr0NOOxld4vx4uOPcUNaYoZLETD?=
 =?iso-8859-1?Q?+GE4fDU/U2IrBRZDkOapXfIVg5XMHhSiRneblI8eflETG8aecJCKLIeQ0o?=
 =?iso-8859-1?Q?WKuHs925av5vPw3Yu3e40KJoDLaj0ScnWBy64qQBGR2UrHArsoAqH4sw?=
 =?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: a0e2b907-4a39-4d48-f078-08db24ce9661
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Mar 2023 20:56:29.7296
 (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: 9m1ahttUilynrm5cSdiA2L7W44xc6n04nTe/wwHpmlbzRibjcyyH3z6G68VNOcwac1bzabl/8EerHr9hZUdNDKaLLNF3joahJIeQ9UgPGBc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7967
X-Proofpoint-ORIG-GUID: ZTGSVGK1gJqAvJXQjNTJFi0fYEwGzaEF
X-Proofpoint-GUID: ZTGSVGK1gJqAvJXQjNTJFi0fYEwGzaEF
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-14_14,2023-03-14_02,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999
 priorityscore=1501 suspectscore=0 clxscore=1015 mlxscore=0 malwarescore=0
 lowpriorityscore=0 impostorscore=0 adultscore=0 phishscore=0 bulkscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2212070000 definitions=main-2303140168

Prior to this change, lifetime of pci_dev objects was protected by global
pcidevs_lock(). Long-term plan is to remove this log, so we need some
other mechanism to ensure that those objects will not disappear under
feet of code that access them. Reference counting is a good choice as
it provides easy to comprehend way to control object lifetime.

This patch adds two new helper functions: pcidev_get() and
pcidev_put(). pcidev_get() will increase reference counter, while
pcidev_put() will decrease it, destroying object when counter reaches
zero.

pcidev_get() should be used only when you already have a valid pointer
to the object or you are holding lock that protects one of the
lists (domain, pseg or ats) that store pci_dev structs.

pcidev_get() is rarely used directly, because there already are
functions that will provide valid pointer to pci_dev struct:
pci_get_pdev(), pci_get_real_pdev(). They will lock appropriate list,
find needed object and increase its reference counter before returning
to the caller.

Naturally, pci_put() should be called after finishing working with a
received object. This is the reason why this patch have so many
pcidev_put()s and so little pcidev_get()s: existing calls to
pci_get_*() functions now will increase reference counter
automatically, we just need to decrease it back when we finished.

This patch removes "const" qualifier from some pdev pointers because
pcidev_put() technically alters the contents of pci_dev structure.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
Suggested-by: Jan Beulich <jbeulich@suse.com>

---

v3:
 - Moved in from another patch series
 - Fixed code formatting (tabs -> spaces)
 - Removed erroneous pcidev_put in vga.c
 - Added missing pcidev_put in couple of places
 - removed mention of pci_get_pdev_by_domain()
---
 xen/arch/x86/hvm/vmsi.c                  |   2 +-
 xen/arch/x86/irq.c                       |   4 +
 xen/arch/x86/msi.c                       |  44 +++++++-
 xen/arch/x86/pci.c                       |   3 +
 xen/arch/x86/physdev.c                   |  17 ++-
 xen/common/sysctl.c                      |   7 +-
 xen/drivers/passthrough/amd/iommu_init.c |  12 +-
 xen/drivers/passthrough/amd/iommu_map.c  |   6 +-
 xen/drivers/passthrough/pci.c            | 138 +++++++++++++++--------
 xen/drivers/passthrough/vtd/quirks.c     |   2 +
 xen/drivers/video/vga.c                  |   7 +-
 xen/drivers/vpci/vpci.c                  |  16 ++-
 xen/include/xen/pci.h                    |  18 +++
 13 files changed, 215 insertions(+), 61 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 3cd4923060..8c3d673872 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -914,7 +914,7 @@ int vpci_msix_arch_print(const struct vpci_msix *msix)
=20
             spin_unlock(&msix->pdev->vpci->lock);
             process_pending_softirqs();
-            /* NB: we assume that pdev cannot go away for an alive domain.=
 */
+
             if ( !pdev->vpci || !spin_trylock(&pdev->vpci->lock) )
                 return -EBUSY;
             if ( pdev->vpci->msix !=3D msix )
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index 20150b1c7f..87464d82c8 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -2175,6 +2175,7 @@ int map_domain_pirq(
                 msi->entry_nr =3D ret;
                 ret =3D -ENFILE;
             }
+            pcidev_put(pdev);
             goto done;
         }
=20
@@ -2189,6 +2190,7 @@ int map_domain_pirq(
             msi_desc->irq =3D -1;
             msi_free_irq(msi_desc);
             ret =3D -EBUSY;
+            pcidev_put(pdev);
             goto done;
         }
=20
@@ -2273,10 +2275,12 @@ int map_domain_pirq(
             }
             msi_desc->irq =3D -1;
             msi_free_irq(msi_desc);
+            pcidev_put(pdev);
             goto done;
         }
=20
         set_domain_irq_pirq(d, irq, info);
+        pcidev_put(pdev);
         spin_unlock_irqrestore(&desc->lock, flags);
     }
     else
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index d0bf63df1d..91926fce50 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -572,6 +572,10 @@ int msi_free_irq(struct msi_desc *entry)
                         virt_to_fix((unsigned long)entry->mask_base));
=20
     list_del(&entry->list);
+
+    /* Corresponds to pcidev_get() in msi[x]_capability_init()  */
+    pcidev_put(entry->dev);
+
     xfree(entry);
     return 0;
 }
@@ -644,6 +648,7 @@ static int msi_capability_init(struct pci_dev *dev,
             entry[i].msi.mpos =3D mpos;
         entry[i].msi.nvec =3D 0;
         entry[i].dev =3D dev;
+        pcidev_get(dev);
     }
     entry->msi.nvec =3D nvec;
     entry->irq =3D irq;
@@ -703,22 +708,36 @@ static u64 read_pci_mem_bar(u16 seg, u8 bus, u8 slot,=
 u8 func, u8 bir, int vf)
              !num_vf || !offset || (num_vf > 1 && !stride) ||
              bir >=3D PCI_SRIOV_NUM_BARS ||
              !pdev->vf_rlen[bir] )
+        {
+            if ( pdev )
+                pcidev_put(pdev);
             return 0;
+        }
         base =3D pos + PCI_SRIOV_BAR;
         vf -=3D PCI_BDF(bus, slot, func) + offset;
         if ( vf < 0 )
+        {
+            pcidev_put(pdev);
             return 0;
+        }
         if ( stride )
         {
             if ( vf % stride )
+            {
+                pcidev_put(pdev);
                 return 0;
+            }
             vf /=3D stride;
         }
         if ( vf >=3D num_vf )
+        {
+            pcidev_put(pdev);
             return 0;
+        }
         BUILD_BUG_ON(ARRAY_SIZE(pdev->vf_rlen) !=3D PCI_SRIOV_NUM_BARS);
         disp =3D vf * pdev->vf_rlen[bir];
         limit =3D PCI_SRIOV_NUM_BARS;
+        pcidev_put(pdev);
     }
     else switch ( pci_conf_read8(PCI_SBDF(seg, bus, slot, func),
                                  PCI_HEADER_TYPE) & 0x7f )
@@ -925,6 +944,8 @@ static int msix_capability_init(struct pci_dev *dev,
         entry->dev =3D dev;
         entry->mask_base =3D base;
=20
+        pcidev_get(dev);
+
         list_add_tail(&entry->list, &dev->msi_list);
         *desc =3D entry;
     }
@@ -999,6 +1020,7 @@ static int __pci_enable_msi(struct msi_info *msi, stru=
ct msi_desc **desc)
 {
     struct pci_dev *pdev;
     struct msi_desc *old_desc;
+    int ret;
=20
     ASSERT(pcidevs_locked());
     pdev =3D pci_get_pdev(NULL, msi->sbdf);
@@ -1010,6 +1032,7 @@ static int __pci_enable_msi(struct msi_info *msi, str=
uct msi_desc **desc)
     {
         printk(XENLOG_ERR "irq %d already mapped to MSI on %pp\n",
                msi->irq, &pdev->sbdf);
+        pcidev_put(pdev);
         return -EEXIST;
     }
=20
@@ -1020,7 +1043,10 @@ static int __pci_enable_msi(struct msi_info *msi, st=
ruct msi_desc **desc)
         __pci_disable_msix(old_desc);
     }
=20
-    return msi_capability_init(pdev, msi->irq, desc, msi->entry_nr);
+    ret =3D msi_capability_init(pdev, msi->irq, desc, msi->entry_nr);
+    pcidev_put(pdev);
+
+    return ret;
 }
=20
 static void __pci_disable_msi(struct msi_desc *entry)
@@ -1054,20 +1080,29 @@ static int __pci_enable_msix(struct msi_info *msi, =
struct msi_desc **desc)
 {
     struct pci_dev *pdev;
     struct msi_desc *old_desc;
+    int ret;
=20
     ASSERT(pcidevs_locked());
     pdev =3D pci_get_pdev(NULL, msi->sbdf);
     if ( !pdev || !pdev->msix )
+    {
+        if ( pdev )
+            pcidev_put(pdev);
         return -ENODEV;
+    }
=20
     if ( msi->entry_nr >=3D pdev->msix->nr_entries )
+    {
+        pcidev_put(pdev);
         return -EINVAL;
+    }
=20
     old_desc =3D find_msi_entry(pdev, msi->irq, PCI_CAP_ID_MSIX);
     if ( old_desc )
     {
         printk(XENLOG_ERR "irq %d already mapped to MSI-X on %pp\n",
                msi->irq, &pdev->sbdf);
+        pcidev_put(pdev);
         return -EEXIST;
     }
=20
@@ -1078,7 +1113,11 @@ static int __pci_enable_msix(struct msi_info *msi, s=
truct msi_desc **desc)
         __pci_disable_msi(old_desc);
     }
=20
-    return msix_capability_init(pdev, msi, desc);
+    ret =3D msix_capability_init(pdev, msi, desc);
+
+    pcidev_put(pdev);
+
+    return ret;
 }
=20
 static void _pci_cleanup_msix(struct arch_msix *msix)
@@ -1159,6 +1198,7 @@ int pci_prepare_msix(u16 seg, u8 bus, u8 devfn, bool =
off)
     }
     else
         rc =3D msix_capability_init(pdev, NULL, NULL);
+    pcidev_put(pdev);
     pcidevs_unlock();
=20
     return rc;
diff --git a/xen/arch/x86/pci.c b/xen/arch/x86/pci.c
index 97b792e578..c1fcdf08d6 100644
--- a/xen/arch/x86/pci.c
+++ b/xen/arch/x86/pci.c
@@ -92,7 +92,10 @@ int pci_conf_write_intercept(unsigned int seg, unsigned =
int bdf,
=20
     pdev =3D pci_get_pdev(NULL, PCI_SBDF(seg, bdf));
     if ( pdev )
+    {
         rc =3D pci_msi_conf_write_intercept(pdev, reg, size, data);
+        pcidev_put(pdev);
+    }
=20
     pcidevs_unlock();
=20
diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
index 2f1d955a96..96214a3d40 100644
--- a/xen/arch/x86/physdev.c
+++ b/xen/arch/x86/physdev.c
@@ -533,7 +533,14 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(vo=
id) arg)
         pcidevs_lock();
         pdev =3D pci_get_pdev(NULL,
                             PCI_SBDF(0, restore_msi.bus, restore_msi.devfn=
));
-        ret =3D pdev ? pci_restore_msi_state(pdev) : -ENODEV;
+        if ( pdev )
+        {
+            ret =3D pci_restore_msi_state(pdev);
+            pcidev_put(pdev);
+        }
+        else
+            ret =3D -ENODEV;
+
         pcidevs_unlock();
         break;
     }
@@ -548,7 +555,13 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(vo=
id) arg)
=20
         pcidevs_lock();
         pdev =3D pci_get_pdev(NULL, PCI_SBDF(dev.seg, dev.bus, dev.devfn))=
;
-        ret =3D pdev ? pci_restore_msi_state(pdev) : -ENODEV;
+        if ( pdev )
+        {
+            ret =3D  pci_restore_msi_state(pdev);
+            pcidev_put(pdev);
+        }
+        else
+            ret =3D -ENODEV;
         pcidevs_unlock();
         break;
     }
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index 02505ab044..9af07fa92a 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -438,7 +438,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_s=
ysctl)
         {
             physdev_pci_device_t dev;
             uint32_t node;
-            const struct pci_dev *pdev;
+            struct pci_dev *pdev;
=20
             if ( copy_from_guest_offset(&dev, ti->devs, i, 1) )
             {
@@ -454,8 +454,11 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_=
sysctl)
                 node =3D XEN_INVALID_NODE_ID;
             else
                 node =3D pdev->node;
-            pcidevs_unlock();
=20
+            if ( pdev )
+                pcidev_put(pdev);
+
+            pcidevs_unlock();
             if ( copy_to_guest_offset(ti->nodes, i, &node, 1) )
             {
                 ret =3D -EFAULT;
diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthr=
ough/amd/iommu_init.c
index 9773ccfcb4..f90b1c1e58 100644
--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -646,6 +646,7 @@ static void cf_check parse_ppr_log_entry(struct amd_iom=
mu *iommu, u32 entry[])
=20
     if ( pdev )
         guest_iommu_add_ppr_log(pdev->domain, entry);
+    pcidev_put(pdev);
 }
=20
 static void iommu_check_ppr_log(struct amd_iommu *iommu)
@@ -749,6 +750,11 @@ static bool_t __init set_iommu_interrupt_handler(struc=
t amd_iommu *iommu)
     }
=20
     pcidevs_lock();
+    /*
+     * XXX: it is unclear if this device can be removed. Right now
+     * there is no code that clears msi.dev, so no one will decrease
+     * refcount on it.
+     */
     iommu->msi.dev =3D pci_get_pdev(NULL, PCI_SBDF(iommu->seg, iommu->bdf)=
);
     pcidevs_unlock();
     if ( !iommu->msi.dev )
@@ -1274,7 +1280,7 @@ static int __init cf_check amd_iommu_setup_device_tab=
le(
     {
         if ( ivrs_mappings[bdf].valid )
         {
-            const struct pci_dev *pdev =3D NULL;
+            struct pci_dev *pdev =3D NULL;
=20
             /* add device table entry */
             iommu_dte_add_device_entry(&dt[bdf], &ivrs_mappings[bdf]);
@@ -1299,7 +1305,10 @@ static int __init cf_check amd_iommu_setup_device_ta=
ble(
                         pdev->msix ? pdev->msix->nr_entries
                                    : pdev->msi_maxvec);
                 if ( !ivrs_mappings[bdf].intremap_table )
+                {
+                    pcidev_put(pdev);
                     return -ENOMEM;
+                }
=20
                 if ( pdev->phantom_stride )
                 {
@@ -1317,6 +1326,7 @@ static int __init cf_check amd_iommu_setup_device_tab=
le(
                             ivrs_mappings[bdf].intremap_inuse;
                     }
                 }
+                pcidev_put(pdev);
             }
=20
             amd_iommu_set_intremap_table(
diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthro=
ugh/amd/iommu_map.c
index 993bac6f88..9d621e3d36 100644
--- a/xen/drivers/passthrough/amd/iommu_map.c
+++ b/xen/drivers/passthrough/amd/iommu_map.c
@@ -724,14 +724,18 @@ int cf_check amd_iommu_get_reserved_device_memory(
         if ( !iommu )
         {
             /* May need to trigger the workaround in find_iommu_for_device=
(). */
-            const struct pci_dev *pdev;
+            struct pci_dev *pdev;
=20
             pcidevs_lock();
             pdev =3D pci_get_pdev(NULL, sbdf);
             pcidevs_unlock();
=20
             if ( pdev )
+            {
                 iommu =3D find_iommu_for_device(seg, bdf);
+                /* XXX: Should we hold pdev reference till end of the loop=
? */
+                pcidev_put(pdev);
+            }
             if ( !iommu )
                 continue;
         }
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index b42acb8d7c..b32382aca0 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -328,6 +328,7 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg,=
 u8 bus, u8 devfn)
     *((u8*) &pdev->bus) =3D bus;
     *((u8*) &pdev->devfn) =3D devfn;
     pdev->domain =3D NULL;
+    refcnt_init(&pdev->refcnt);
=20
     arch_pci_init_pdev(pdev);
=20
@@ -422,33 +423,6 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg=
, u8 bus, u8 devfn)
     return pdev;
 }
=20
-static void free_pdev(struct pci_seg *pseg, struct pci_dev *pdev)
-{
-    /* update bus2bridge */
-    switch ( pdev->type )
-    {
-        unsigned int sec_bus, sub_bus;
-
-        case DEV_TYPE_PCIe2PCI_BRIDGE:
-        case DEV_TYPE_LEGACY_PCI_BRIDGE:
-            sec_bus =3D pci_conf_read8(pdev->sbdf, PCI_SECONDARY_BUS);
-            sub_bus =3D pci_conf_read8(pdev->sbdf, PCI_SUBORDINATE_BUS);
-
-            spin_lock(&pseg->bus2bridge_lock);
-            for ( ; sec_bus <=3D sub_bus; sec_bus++ )
-                pseg->bus2bridge[sec_bus] =3D pseg->bus2bridge[pdev->bus];
-            spin_unlock(&pseg->bus2bridge_lock);
-            break;
-
-        default:
-            break;
-    }
-
-    list_del(&pdev->alldevs_list);
-    pdev_msi_deinit(pdev);
-    xfree(pdev);
-}
-
 static void __init _pci_hide_device(struct pci_dev *pdev)
 {
     if ( pdev->domain )
@@ -517,10 +491,14 @@ struct pci_dev *pci_get_real_pdev(pci_sbdf_t sbdf)
     {
         if ( !(sbdf.devfn & stride) )
             continue;
+
         sbdf.devfn &=3D ~stride;
         pdev =3D pci_get_pdev(NULL, sbdf);
         if ( pdev && stride !=3D pdev->phantom_stride )
+        {
+            pcidev_put(pdev);
             pdev =3D NULL;
+        }
     }
=20
     return pdev;
@@ -548,13 +526,18 @@ struct pci_dev *pci_get_pdev(const struct domain *d, =
pci_sbdf_t sbdf)
         list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
             if ( pdev->sbdf.bdf =3D=3D sbdf.bdf &&
                  (!d || pdev->domain =3D=3D d) )
+            {
+                pcidev_get(pdev);
                 return pdev;
+            }
     }
     else
         list_for_each_entry ( pdev, &d->pdev_list, domain_list )
             if ( pdev->sbdf.bdf =3D=3D sbdf.bdf )
+            {
+                pcidev_get(pdev);
                 return pdev;
-
+            }
     return NULL;
 }
=20
@@ -663,7 +646,10 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
                             PCI_SBDF(seg, info->physfn.bus,
                                      info->physfn.devfn));
         if ( pdev )
+        {
             pf_is_extfn =3D pdev->info.is_extfn;
+            pcidev_put(pdev);
+        }
         pcidevs_unlock();
         if ( !pdev )
             pci_add_device(seg, info->physfn.bus, info->physfn.devfn,
@@ -818,7 +804,9 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
             if ( pdev->domain )
                 list_del(&pdev->domain_list);
             printk(XENLOG_DEBUG "PCI remove device %pp\n", &pdev->sbdf);
-            free_pdev(pseg, pdev);
+            list_del(&pdev->alldevs_list);
+            pdev_msi_deinit(pdev);
+            pcidev_put(pdev);
             break;
         }
=20
@@ -848,7 +836,7 @@ static int deassign_device(struct domain *d, uint16_t s=
eg, uint8_t bus,
     {
         ret =3D iommu_quarantine_dev_init(pci_to_dev(pdev));
         if ( ret )
-           return ret;
+            goto out;
=20
         target =3D dom_io;
     }
@@ -878,6 +866,7 @@ static int deassign_device(struct domain *d, uint16_t s=
eg, uint8_t bus,
     pdev->fault.count =3D 0;
=20
  out:
+    pcidev_put(pdev);
     if ( ret )
         printk(XENLOG_G_ERR "%pd: deassign (%pp) failed (%d)\n",
                d, &PCI_SBDF(seg, bus, devfn), ret);
@@ -1011,7 +1000,10 @@ void pci_check_disable_device(u16 seg, u8 bus, u8 de=
vfn)
             pdev->fault.count >>=3D 1;
         pdev->fault.time =3D now;
         if ( ++pdev->fault.count < PT_FAULT_THRESHOLD )
+        {
+            pcidev_put(pdev);
             pdev =3D NULL;
+        }
     }
     pcidevs_unlock();
=20
@@ -1022,6 +1014,8 @@ void pci_check_disable_device(u16 seg, u8 bus, u8 dev=
fn)
      * control it for us. */
     cword =3D pci_conf_read16(pdev->sbdf, PCI_COMMAND);
     pci_conf_write16(pdev->sbdf, PCI_COMMAND, cword & ~PCI_COMMAND_MASTER)=
;
+
+    pcidev_put(pdev);
 }
=20
 /*
@@ -1138,6 +1132,7 @@ static int __hwdom_init cf_check _setup_hwdom_pci_dev=
ices(
                 printk(XENLOG_WARNING "Dom%d owning %pp?\n",
                        pdev->domain->domain_id, &pdev->sbdf);
=20
+            pcidev_put(pdev);
             if ( iommu_verbose )
             {
                 pcidevs_unlock();
@@ -1385,33 +1380,28 @@ static int iommu_remove_device(struct pci_dev *pdev=
)
     return iommu_call(hd->platform_ops, remove_device, devfn, pci_to_dev(p=
dev));
 }
=20
-static int device_assigned(u16 seg, u8 bus, u8 devfn)
+static int device_assigned(struct pci_dev *pdev)
 {
-    struct pci_dev *pdev;
     int rc =3D 0;
=20
     ASSERT(pcidevs_locked());
-    pdev =3D pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
-
-    if ( !pdev )
-        rc =3D -ENODEV;
     /*
      * If the device exists and it is not owned by either the hardware
      * domain or dom_io then it must be assigned to a guest, or be
      * hidden (owned by dom_xen).
      */
-    else if ( pdev->domain !=3D hardware_domain &&
-              pdev->domain !=3D dom_io )
+    if ( pdev->domain !=3D hardware_domain &&
+         pdev->domain !=3D dom_io )
         rc =3D -EBUSY;
=20
     return rc;
 }
=20
 /* Caller should hold the pcidevs_lock */
-static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 =
flag)
+static int assign_device(struct domain *d, struct pci_dev *pdev, u32 flag)
 {
     const struct domain_iommu *hd =3D dom_iommu(d);
-    struct pci_dev *pdev;
+    uint8_t devfn;
     int rc =3D 0;
=20
     if ( !is_iommu_enabled(d) )
@@ -1422,10 +1412,11 @@ static int assign_device(struct domain *d, u16 seg,=
 u8 bus, u8 devfn, u32 flag)
=20
     /* device_assigned() should already have cleared the device for assign=
ment */
     ASSERT(pcidevs_locked());
-    pdev =3D pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
     ASSERT(pdev && (pdev->domain =3D=3D hardware_domain ||
                     pdev->domain =3D=3D dom_io));
=20
+    devfn =3D pdev->devfn;
+
     /* Do not allow broken devices to be assigned to guests. */
     rc =3D -EBADF;
     if ( pdev->broken && d !=3D hardware_domain && d !=3D dom_io )
@@ -1460,7 +1451,7 @@ static int assign_device(struct domain *d, u16 seg, u=
8 bus, u8 devfn, u32 flag)
  done:
     if ( rc )
         printk(XENLOG_G_WARNING "%pd: assign (%pp) failed (%d)\n",
-               d, &PCI_SBDF(seg, bus, devfn), rc);
+               d, &PCI_SBDF(pdev->seg, pdev->bus, devfn), rc);
     /* The device is assigned to dom_io so mark it as quarantined */
     else if ( d =3D=3D dom_io )
         pdev->quarantine =3D true;
@@ -1595,6 +1586,9 @@ int iommu_do_pci_domctl(
         ASSERT(d);
         /* fall through */
     case XEN_DOMCTL_test_assign_device:
+    {
+        struct pci_dev *pdev;
+
         /* Don't support self-assignment of devices. */
         if ( d =3D=3D current->domain )
         {
@@ -1622,26 +1616,36 @@ int iommu_do_pci_domctl(
         seg =3D machine_sbdf >> 16;
         bus =3D PCI_BUS(machine_sbdf);
         devfn =3D PCI_DEVFN(machine_sbdf);
-
         pcidevs_lock();
-        ret =3D device_assigned(seg, bus, devfn);
+        pdev =3D pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
+        if ( !pdev )
+        {
+            printk(XENLOG_G_INFO "%pp non-existent\n",
+                   &PCI_SBDF(seg, bus, devfn));
+            ret =3D -EINVAL;
+            break;
+        }
+
+        ret =3D device_assigned(pdev);
         if ( domctl->cmd =3D=3D XEN_DOMCTL_test_assign_device )
         {
             if ( ret )
             {
-                printk(XENLOG_G_INFO "%pp already assigned, or non-existen=
t\n",
+                printk(XENLOG_G_INFO "%pp already assigned\n",
                        &PCI_SBDF(seg, bus, devfn));
                 ret =3D -EINVAL;
             }
         }
         else if ( !ret )
-            ret =3D assign_device(d, seg, bus, devfn, flags);
+            ret =3D assign_device(d, pdev, flags);
+
+        pcidev_put(pdev);
         pcidevs_unlock();
         if ( ret =3D=3D -ERESTART )
             ret =3D hypercall_create_continuation(__HYPERVISOR_domctl,
                                                 "h", u_domctl);
         break;
-
+    }
     case XEN_DOMCTL_deassign_device:
         /* Don't support self-deassignment of devices. */
         if ( d =3D=3D current->domain )
@@ -1681,6 +1685,46 @@ int iommu_do_pci_domctl(
     return ret;
 }
=20
+static void release_pdev(refcnt_t *refcnt)
+{
+    struct pci_dev *pdev =3D container_of(refcnt, struct pci_dev, refcnt);
+    struct pci_seg *pseg =3D get_pseg(pdev->seg);
+
+    printk(XENLOG_DEBUG "PCI release device %pp\n", &pdev->sbdf);
+
+    /* update bus2bridge */
+    switch ( pdev->type )
+    {
+        unsigned int sec_bus, sub_bus;
+
+        case DEV_TYPE_PCIe2PCI_BRIDGE:
+        case DEV_TYPE_LEGACY_PCI_BRIDGE:
+            sec_bus =3D pci_conf_read8(pdev->sbdf, PCI_SECONDARY_BUS);
+            sub_bus =3D pci_conf_read8(pdev->sbdf, PCI_SUBORDINATE_BUS);
+
+            spin_lock(&pseg->bus2bridge_lock);
+            for ( ; sec_bus <=3D sub_bus; sec_bus++ )
+                pseg->bus2bridge[sec_bus] =3D pseg->bus2bridge[pdev->bus];
+            spin_unlock(&pseg->bus2bridge_lock);
+            break;
+
+        default:
+            break;
+    }
+
+    xfree(pdev);
+}
+
+void pcidev_get(struct pci_dev *pdev)
+{
+    refcnt_get(&pdev->refcnt);
+}
+
+void pcidev_put(struct pci_dev *pdev)
+{
+    refcnt_put(&pdev->refcnt, release_pdev);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/drivers/passthrough/vtd/quirks.c b/xen/drivers/passthrough=
/vtd/quirks.c
index fcc8f73e8b..d240da0416 100644
--- a/xen/drivers/passthrough/vtd/quirks.c
+++ b/xen/drivers/passthrough/vtd/quirks.c
@@ -429,6 +429,8 @@ static int __must_check map_me_phantom_function(struct =
domain *domain,
         rc =3D domain_context_unmap_one(domain, drhd->iommu, 0,
                                       PCI_DEVFN(dev, 7));
=20
+    pcidev_put(pdev);
+
     return rc;
 }
=20
diff --git a/xen/drivers/video/vga.c b/xen/drivers/video/vga.c
index 0a03508bee..1049d4da6d 100644
--- a/xen/drivers/video/vga.c
+++ b/xen/drivers/video/vga.c
@@ -114,7 +114,7 @@ void __init video_endboot(void)
         for ( bus =3D 0; bus < 256; ++bus )
             for ( devfn =3D 0; devfn < 256; ++devfn )
             {
-                const struct pci_dev *pdev;
+                struct pci_dev *pdev;
                 u8 b =3D bus, df =3D devfn, sb;
=20
                 pcidevs_lock();
@@ -126,7 +126,11 @@ void __init video_endboot(void)
                                      PCI_CLASS_DEVICE) !=3D 0x0300 ||
                      !(pci_conf_read16(PCI_SBDF(0, bus, devfn), PCI_COMMAN=
D) &
                        (PCI_COMMAND_IO | PCI_COMMAND_MEMORY)) )
+                {
+                    if ( pdev )
+                        pcidev_put(pdev);
                     continue;
+                }
=20
                 while ( b )
                 {
@@ -157,6 +161,7 @@ void __init video_endboot(void)
                            bus, PCI_SLOT(devfn), PCI_FUNC(devfn));
                     pci_hide_device(0, bus, devfn);
                 }
+                pcidev_put(pdev);
             }
     }
=20
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 6d48d496bb..5232f9605b 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -317,8 +317,8 @@ static uint32_t merge_result(uint32_t data, uint32_t ne=
w, unsigned int size,
=20
 uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
 {
-    const struct domain *d =3D current->domain;
-    const struct pci_dev *pdev;
+    struct domain *d =3D current->domain;
+    struct pci_dev *pdev;
     const struct vpci_register *r;
     unsigned int data_offset =3D 0;
     uint32_t data =3D ~(uint32_t)0;
@@ -332,7 +332,11 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, =
unsigned int size)
     /* Find the PCI dev matching the address. */
     pdev =3D pci_get_pdev(d, sbdf);
     if ( !pdev || !pdev->vpci )
+    {
+        if ( pdev )
+            pcidev_put(pdev);
         return vpci_read_hw(sbdf, reg, size);
+    }
=20
     spin_lock(&pdev->vpci->lock);
=20
@@ -378,6 +382,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, u=
nsigned int size)
         ASSERT(data_offset < size);
     }
     spin_unlock(&pdev->vpci->lock);
+    pcidev_put(pdev);
=20
     if ( data_offset < size )
     {
@@ -420,8 +425,8 @@ static void vpci_write_helper(const struct pci_dev *pde=
v,
 void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
                 uint32_t data)
 {
-    const struct domain *d =3D current->domain;
-    const struct pci_dev *pdev;
+    struct domain *d =3D current->domain;
+    struct pci_dev *pdev;
     const struct vpci_register *r;
     unsigned int data_offset =3D 0;
     const unsigned long *ro_map =3D pci_get_ro_map(sbdf.seg);
@@ -443,6 +448,8 @@ void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsi=
gned int size,
     pdev =3D pci_get_pdev(d, sbdf);
     if ( !pdev || !pdev->vpci )
     {
+        if ( pdev )
+            pcidev_put(pdev);
         vpci_write_hw(sbdf, reg, size, data);
         return;
     }
@@ -483,6 +490,7 @@ void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsi=
gned int size,
         ASSERT(data_offset < size);
     }
     spin_unlock(&pdev->vpci->lock);
+    pcidev_put(pdev);
=20
     if ( data_offset < size )
         /* Tailing gap, write the remaining. */
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index 5975ca2f30..6631643fb1 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -13,6 +13,7 @@
 #include <xen/irq.h>
 #include <xen/pci_regs.h>
 #include <xen/pfn.h>
+#include <xen/refcnt.h>
 #include <asm/device.h>
 #include <asm/numa.h>
=20
@@ -116,6 +117,9 @@ struct pci_dev {
     /* Device misbehaving, prevent assigning it to guests. */
     bool broken;
=20
+    /* Reference counter */
+    refcnt_t refcnt;
+
     enum pdev_type {
         DEV_TYPE_PCI_UNKNOWN,
         DEV_TYPE_PCIe_ENDPOINT,
@@ -160,6 +164,14 @@ void pcidevs_lock(void);
 void pcidevs_unlock(void);
 bool_t __must_check pcidevs_locked(void);
=20
+/*
+ * Acquire and release reference to the given device. Holding
+ * reference ensures that device will not disappear under feet, but
+ * does not guarantee that code has exclusive access to the device.
+ */
+void pcidev_get(struct pci_dev *pdev);
+void pcidev_put(struct pci_dev *pdev);
+
 bool_t pci_known_segment(u16 seg);
 bool_t pci_device_detect(u16 seg, u8 bus, u8 dev, u8 func);
 int scan_pci_devices(void);
@@ -177,8 +189,14 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
 int pci_remove_device(u16 seg, u8 bus, u8 devfn);
 int pci_ro_device(int seg, int bus, int devfn);
 int pci_hide_device(unsigned int seg, unsigned int bus, unsigned int devfn=
);
+
+/*
+ * Next two functions will find a requested device and acquire
+ * reference to it. Use pcidev_put() to release the reference.
+ */
 struct pci_dev *pci_get_pdev(const struct domain *d, pci_sbdf_t sbdf);
 struct pci_dev *pci_get_real_pdev(pci_sbdf_t sbdf);
+
 void pci_check_disable_device(u16 seg, u8 bus, u8 devfn);
=20
 uint8_t pci_conf_read8(pci_sbdf_t sbdf, unsigned int reg);
--=20
2.39.2


From xen-devel-bounces@lists.xenproject.org Tue Mar 14 21:14:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 21:14:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509851.786463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcByX-0007dg-Lh; Tue, 14 Mar 2023 21:14:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509851.786463; Tue, 14 Mar 2023 21: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 1pcByX-0007dZ-FP; Tue, 14 Mar 2023 21:14:29 +0000
Received: by outflank-mailman (input) for mailman id 509851;
 Tue, 14 Mar 2023 21:14: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 1pcByW-0007dP-QE; Tue, 14 Mar 2023 21:14: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 1pcByW-0008QW-NK; Tue, 14 Mar 2023 21:14: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 1pcByW-00087K-Cr; Tue, 14 Mar 2023 21:14:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcByW-000614-CM; Tue, 14 Mar 2023 21:14: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=sGOr+WFcRAC6zjIgU3ICgmVaYD8nO/BIzBkURjX8NjI=; b=JEbmoP7/V5OiS6s3G7jgDOrNgd
	do04EoVJd+OnnVKrcg6ODYtGo1RPTLaP1cImEU6Czotr+QJPyqu3JsnVsKmt08b1lOC1QXHYwJp5H
	0wOjQQqIxNa06ZgX7EdkMsnhjPFke+CNtgtQO7LMwq78qzrOodyFqF5i88sHNEHcbOpI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179621-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179621: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-amd64:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-pair:xen-install/src_host: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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-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-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-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: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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-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-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd: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:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=be62b1fc2aa7375d553603fca07299da765a89fe
X-Osstest-Versions-That:
    xen=be62b1fc2aa7375d553603fca07299da765a89fe
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Mar 2023 21:14:28 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail in 179604 pass in 179621
 test-amd64-i386-xl-qemut-debianhvm-amd64  7 xen-install    fail pass in 179604
 test-amd64-i386-libvirt-pair 10 xen-install/src_host       fail pass in 179604

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179604
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179604
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179604
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179604
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179604
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179604
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat    fail  like 179604
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179604
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179604
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179604
 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-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     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-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  be62b1fc2aa7375d553603fca07299da765a89fe
baseline version:
 xen                  be62b1fc2aa7375d553603fca07299da765a89fe

Last test of basis   179621  2023-03-14 08:11: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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 Mar 14 23:42:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Mar 2023 23:42:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509860.786477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcEHn-0007zE-6v; Tue, 14 Mar 2023 23:42:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509860.786477; Tue, 14 Mar 2023 23:42:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcEHn-0007z7-4H; Tue, 14 Mar 2023 23:42:31 +0000
Received: by outflank-mailman (input) for mailman id 509860;
 Tue, 14 Mar 2023 23:42: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=xhUS=7G=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcEHl-0007z1-Sw
 for xen-devel@lists.xenproject.org; Tue, 14 Mar 2023 23:42:30 +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 df8155ff-c2c1-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 00:42:26 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 66BA961A78;
 Tue, 14 Mar 2023 23:42:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 293D4C433D2;
 Tue, 14 Mar 2023 23:42: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: df8155ff-c2c1-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678837343;
	bh=8RokshSlerMaBbb48OF1+nFKF+sW54jjygpYtaH5iMI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=QLT8LXxaAIuDeRpJrq9mtgpwgSiE8MpCW5tvEvzJh2AXChznXOW6ATwT/ga8s4LgP
	 h1XkZHPsx7f6lr+Kllgqrfb5dmdlBO4kT+u9cOcfg1wzwnmbPR2SpOTf13s1yrFw72
	 VjuaNQYWwxP02REuz9qYmyOwfrZT0RiP4rgdD0vFolD0Z+Ivl86EHFdUcTseko5CLc
	 k3syLVtxv8fHrbjCsYNA+HMx35e2dQqPhhJCMpiAr/1LpbNGoy9NN7S/putognzPzs
	 +bE/5gI60jkJpAw6F0JjQypQkClvtr/pjz47yJ3U/vnIWKvlaEU/r7bAPQ92KaHFd+
	 ebRMFheIETEnA==
Date: Tue, 14 Mar 2023 16:42:20 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>
cc: Huang Rui <ray.huang@amd.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, 
    Alex Deucher <alexander.deucher@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
In-Reply-To: <e292ea24-606f-24c7-ee44-34d55f7147f9@amd.com>
Message-ID: <alpine.DEB.2.22.394.2303141639130.863724@ubuntu-linux-20-04-desktop>
References: <20230312075455.450187-1-ray.huang@amd.com> <20230312075455.450187-3-ray.huang@amd.com> <d0fb38b8-455e-1210-0f26-9ee7c4335e69@amd.com> <e292ea24-606f-24c7-ee44-34d55f7147f9@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-128641958-1678837343=:863724"

  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-128641958-1678837343=:863724
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 13 Mar 2023, Christian König wrote:
> Am 13.03.23 um 08:23 schrieb Christian König:
> > Am 12.03.23 um 08:54 schrieb Huang Rui:
> > > From: Chen Jiqian <Jiqian.Chen@amd.com>
> > > 
> > > When dom0 is PVH and we want to passthrough gpu to guest,
> > > we should allow BAR writes even through BAR is mapped. If
> > > not, the value of BARs are not initialized when guest firstly
> > > start.
> > > 
> > > Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> > > Signed-off-by: Huang Rui <ray.huang@amd.com>
> > > ---
> > >   xen/drivers/vpci/header.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> > > index ec2e978a4e..918d11fbce 100644
> > > --- a/xen/drivers/vpci/header.c
> > > +++ b/xen/drivers/vpci/header.c
> > > @@ -392,7 +392,7 @@ static void cf_check bar_write(
> > >        * Xen only cares whether the BAR is mapped into the p2m, so allow
> > > BAR
> > >        * writes as long as the BAR is not mapped into the p2m.
> > >        */
> > > -    if ( bar->enabled )
> > > +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
> > 
> > Checkpath.pl gives here:
> > 
> > ERROR: space prohibited after that open parenthesis '('
> > #115: FILE: xen/drivers/vpci/header.c:395:
> > +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
> 
> But I should probably mention that I'm not 100% sure if this code base uses
> kernel coding style!

Hi Christian,

Thanks for taking a look at these patches! For better or for worse Xen
follows a different coding style from the Linux kernel (see CODING_STYLE
under xen.git).  In Xen we use:

    if ( rc != 0 ) 
    {
        return rc;
    }
--8323329-128641958-1678837343=:863724--


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 00:53:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 00:53:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509864.786494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcFNh-0008QN-RC; Wed, 15 Mar 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 509864.786494; Wed, 15 Mar 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 1pcFNh-0008QG-OM; Wed, 15 Mar 2023 00:52:41 +0000
Received: by outflank-mailman (input) for mailman id 509864;
 Wed, 15 Mar 2023 00: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=keCs=7H=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcFNg-0008QA-BJ
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 00:52:40 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ada7aec2-c2cb-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 01:52:37 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 2A6B3B81C3C;
 Wed, 15 Mar 2023 00:52:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F320C4339E;
 Wed, 15 Mar 2023 00:52: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: ada7aec2-c2cb-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678841554;
	bh=Pj7Ygwt586tiLVuPtK5dRag7vRC7++AQFNCKq9Gy9z0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Et/kRuTBV+ZIKBtShCQa/at6oA3c4ZLqi1g7IHliizz5rWt5+NKQMh5QzCPLiv9D5
	 4cQbXNX+csNZ+4gxgcCffiOW6NNDaaN+9RNVXvhlH7QB1evk+KXR4L2V9yUkOKilKi
	 C5VTGk60gJqhqSqMYs6RQVZZjJ+wDiX/lJwOlj3ttkTkbSw8tP+BrTBXPgnKwVtQGw
	 OX9lFe8xKwfZU8ncSIlSVhsrAYYFEnB/i8LRjUJgbUfP9w2ZEEUSMzL8bYpePOpgVA
	 OhF72BjXyaZ9/dHjbY3SxG94as9Na2/0Nw6QFaRQGxCDBtg4fNVd1v9Lvg0MI9WS1z
	 HQuXNH2rqyyKA==
Date: Tue, 14 Mar 2023 17:52:30 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Huang Rui <ray.huang@amd.com>, Alex Deucher <alexander.deucher@amd.com>, 
    =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@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>, Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, 
    dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
In-Reply-To: <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com>
Message-ID: <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
References: <20230312120157.452859-1-ray.huang@amd.com> <20230312120157.452859-2-ray.huang@amd.com> <ea0e3852-87ba-984b-4010-5eeac3d6c507@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 Mar 2023, Jan Beulich wrote:
> On 12.03.2023 13:01, Huang Rui wrote:
> > Xen PVH is the paravirtualized mode and takes advantage of hardware
> > virtualization support when possible. It will using the hardware IOMMU
> > support instead of xen-swiotlb, so disable swiotlb if current domain is
> > Xen PVH.
> 
> But the kernel has no way (yet) to drive the IOMMU, so how can it get
> away without resorting to swiotlb in certain cases (like I/O to an
> address-restricted device)?

I think Ray meant that, thanks to the IOMMU setup by Xen, there is no
need for swiotlb-xen in Dom0. Address translations are done by the IOMMU
so we can use guest physical addresses instead of machine addresses for
DMA. This is a similar case to Dom0 on ARM when the IOMMU is available
(see include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect, the corresponding
case is XENFEAT_not_direct_mapped).

Jurgen, what do you think? Would you rather make xen_swiotlb_detect
common between ARM and x86?


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 02:02:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 02:02:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509869.786510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcGSS-0006uk-5i; Wed, 15 Mar 2023 02:01:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509869.786510; Wed, 15 Mar 2023 02:01: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 1pcGSR-0006uc-Vr; Wed, 15 Mar 2023 02:01:39 +0000
Received: by outflank-mailman (input) for mailman id 509869;
 Wed, 15 Mar 2023 02:01: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=P4g8=7H=cs.rochester.edu=ejohns48@srs-se1.protection.inumbo.net>)
 id 1pcGSQ-0006uW-FR
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 02:01:38 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20706.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::706])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4f0f708b-c2d5-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 03:01:34 +0100 (CET)
Received: from MN2PR07MB6045.namprd07.prod.outlook.com (2603:10b6:208:103::14)
 by DM6PR07MB6235.namprd07.prod.outlook.com (2603:10b6:5:158::25) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Wed, 15 Mar
 2023 02:01:30 +0000
Received: from MN2PR07MB6045.namprd07.prod.outlook.com
 ([fe80::615e:312b:3b80:5ac2]) by MN2PR07MB6045.namprd07.prod.outlook.com
 ([fe80::615e:312b:3b80:5ac2%4]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 02:01:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f0f708b-c2d5-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H83Rndx2svK0WRZCYlY4gSaWSzFcn1BHhMrTGEBncE+o9JPjivpwC4ReOlIuoHshkHnDB8hKJuy/OcNWggmE7tIk59DYb1qbK9RWiVEytV30lRe9VBzZ5EVVBeMTg2JX8XGA6D4gq+qIleBEGDBTBsvCCSVlEB8bBFMMYPaEk/F1inu49XsVm3Hib5MRhG0Q1QF2OgsB929Tj8+zPAXGTTq5juV/CRtVAblZislmc3LU7/StLR4pmGiwHPQHXBd4NAmFbUfIG3xbkG1KVWR7yRXsqdx8X5lNE5VqRbocemVsqspDviN8K2YQEbxxcAct+tDgJX0+yqmlOH7KOo8tsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7bS4bqKdaHpKCLCbXaeXVWQzqV3Jo/P6WhYxvLdZVUA=;
 b=HkBSQTVQJYtlm1C88rB26MKP6dmoIwTYgSgthcsCOkORZqqw7+FqoOSovIpP1qxjqHRySaTBx9AQupmaeCMFQEz/Y/H7IXo5CBBHG3WqAt+VloFQESzvfSBn90uAFXydj4nDZlClg08xGraWrcz6q8lmYhbTGrACLEJGWVtnFH5G3abME0fSnBiRudOVrqSGPb3gUEGitKA7JhjWNinlRlVUfdqzjz2KuhqiaDD6FOasBxO/IHEl2xgXti1Ki3woH4Sm5pvGNtRQQkEE3D/5ct0D+hPnjW1TAojkzD4z+SitWKdF2whHyAXqNN1kFHmpLX8UYA47zyjoy9szIC3RDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=cs.rochester.edu; dmarc=pass action=none
 header.from=cs.rochester.edu; dkim=pass header.d=cs.rochester.edu; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.rochester.edu;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7bS4bqKdaHpKCLCbXaeXVWQzqV3Jo/P6WhYxvLdZVUA=;
 b=lKjEH6v+3UfT+K7vAwTPu9RmRC1POIX7L2bYFXhurZDHO9DeuL/wSkSXMOSrOgdQ3lHpNd1tTiKUj1hx0yBwDNpX6tSEKlRgqV0iLz6mJ11Jx3jEhRNviB3B77ItUWEvVj09le9nBRxYFHelxtYd+NqgMGOyeKJT0peQ5Su1F4M=
From: "Johnson, Ethan" <ejohns48@cs.rochester.edu>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Best way to use altp2m to support VMFUNC EPT-switching?
Thread-Topic: Best way to use altp2m to support VMFUNC EPT-switching?
Thread-Index: AdlW4ZyKUvgJbymyR8ifY2W3pwWzBw==
Date: Wed, 15 Mar 2023 02:01:29 +0000
Message-ID:
 <MN2PR07MB6045100322F58085DD6B1488E4BF9@MN2PR07MB6045.namprd07.prod.outlook.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=cs.rochester.edu;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: MN2PR07MB6045:EE_|DM6PR07MB6235:EE_
x-ms-office365-filtering-correlation-id: 69f69339-3a93-45ff-187b-08db24f93118
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 4LF/6FyOxqvPgBgMnrAnNjHuZlGJkw8Y5MXuR+hoWbeCqu9bcX5eHInOXed2oAepbD2y9JIIIL+RfJzKWNOZ+0eQuVR1V8NMnUHRJU5csliCWcPYD48NoHT0FK0PScwJgmVgHWLQaz6O6sg3jCwivktHVHAR3N3VrxWD/9zYYjVX5Su40UbKJu1Dqcea5+qn2oVj6N2WLz4X2brn8oDczyfyvD/pMpeBZsMYT7KkxzQuGjFsomz/lKIeTe/p4yMvoZc3wmfjT3U5TcBNA92gjWY4UVqBuvyotGOpvcjU6/2x+fYu3RTaKmIb8RhM2mKMi/jlffUV0qK2FjIk/zhNsS11oTtGJQmOK9U8OvVuCl1EGW35JbhC3BXqzidKtILkHb+MX+sTwM9CKTPgQAybpfkFbmLnTbUAChT/1VYYzWBsuoS5arUgWo3nk8CTjmYq1fIMQCuzWKC4WS7hA+er6lrEiQIaZsOFBtZPFgxpcWMMLMY9ApaePlOLneGQMtAe5MA0hECdnzlnCmxoB59ETfVB9u8DC7zBPQ2C2nj+7p2hVKSKDexuFNmiEtrfg7UyCJXz9a1CJNS8Q5bmC06uMcRTpYK4ZsVek8R+iWEqM+GYtQEluQUIIp6ELgeYmNp0OkDy9y073gx7wKgURy6FelJGTujBNqW3BZ1qGeTLUf6YcSprkehGX1VWSdBzvCOSPQdOcNR6H7KVaSDbEDNSR+utxsByIpBGchKGtV5eDjg=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR07MB6045.namprd07.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(39860400002)(346002)(136003)(366004)(396003)(451199018)(6506007)(55016003)(316002)(786003)(41300700001)(66446008)(66556008)(8676002)(186003)(66899018)(66476007)(76116006)(64756008)(9686003)(6916009)(66946007)(83380400001)(478600001)(71200400001)(38070700005)(75432002)(7696005)(38100700002)(86362001)(2906002)(122000001)(8936002)(41320700001)(33656002)(52536014)(5660300002)(43043002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?us-ascii?Q?LSjd1Y9yZZaIW+ZT81lu07TdKxLUw7Ll3vMnOMl5aBgRxMHw+QZ4qSZZyqyO?=
 =?us-ascii?Q?1phgbUOnDtE7DlTpNoOh61U8R7eGqRL+HFuH4tYHlt4Z2wyX8y774T9AzbkX?=
 =?us-ascii?Q?RRS5KjUlBgXiUYLB4PzgfIa3pMWapgokffnP2xZ0TMKpTlP31mhMVnKNpR+y?=
 =?us-ascii?Q?DGEgwVn98PH+IMLmrA/WsrsWVkuII8S1IpQa2zfLfwnGLJ3/0fd+oNcsHC0R?=
 =?us-ascii?Q?I8PTOY9dU8g1Zk1dntNx9UBRp53f4eW3Ap6+zgFZVNJdqF1xPWm7A1uDzZdC?=
 =?us-ascii?Q?UVXcsTS2ONiG1V1ka6AbwQqc/8Rj4pENcOpMnjDUdmXuJLwuVDeLEsDIy+N7?=
 =?us-ascii?Q?T0w0ZmDyGcvBWhcygJIsIY4d1jkbMpG0BJZG+BQagCflON8eiFORsOBlgnQn?=
 =?us-ascii?Q?xdeRoGJN78gy56iICA7ouSgBDC7OiWTqHM592UfoQThY8uUIt9/qsYvsslac?=
 =?us-ascii?Q?bvix1eiWKh2nzk0d9TE8XDsk4nQLberHakfPgojblw/VO4qLRKME56b1AANp?=
 =?us-ascii?Q?JDkjLEUYYjOqzvI76jSzNig9jBVZfC9OG1RF5qnOwwPNU8w6zq7utIbLeCB6?=
 =?us-ascii?Q?F8TQBkqyAS3Yo8gGW9/qImyTNEOMkLpBPrLMplAa//H9iqIQ9JYrl+abSZ1A?=
 =?us-ascii?Q?C3llSjgtJhSp4P+l2chtzPHB5+VCEwF7aqXZrpClTb0WGcVLn5TqV3ADwNlO?=
 =?us-ascii?Q?Z6z1xXQEfowO/hniwGBMBDj1FXcAe/oIOblXOvEJanVVuiPDHehOGMzkwKVG?=
 =?us-ascii?Q?eb4niZ7CEultlfkiXgXHKdIMTLQByJdq+wz/Dft4HMfD/dwKlbnWw7m5/IVM?=
 =?us-ascii?Q?jRlEr6YnO6BR5PTp7H8/lsuB/CgdR0+67F1txeAqdo+Cdr+YsVfXG8Biq2CJ?=
 =?us-ascii?Q?vISYu+VyqKYvbQIzTYUNcab6r+UFV4qobBFDTDjai144Bt/AW99FrFuTr1qF?=
 =?us-ascii?Q?UQMImYKZ0IkcbXVpkzdj4hbxbtzA0CLp36emuTqsrY+CGf5bV0+Bmka7gNUk?=
 =?us-ascii?Q?TAt0CZ4b1q/RRUXLSvxmi5A3AilxcxDN+09DTgyLvJE4GuvHwwvQihrw4ll+?=
 =?us-ascii?Q?c/rR/6B//LlxYGEHbKCGsdnayHxSvW2dGNjbOvVrytjVcwK3kxevbL2ZXzMS?=
 =?us-ascii?Q?SY5aSYGyfnazbE8N1eVi1K9iUoiFMfv2qqqxypATEC6W8ObXjiFudyiSAvO6?=
 =?us-ascii?Q?+QxQgXh/L/aSQdQWgJnk4Za8AztSPtTkW1BvY2M3+h6WNw+KhBtPK0fYfobW?=
 =?us-ascii?Q?1TEFRfSmj1DBpd4o8xtDw/v2gw4JhVKllnRF/Oq4LCaaEwB3dfiY6bQdvec8?=
 =?us-ascii?Q?B5iIO5R9DDJGCavA09rsIDPYDdUJyVbvzd5eXCcerXbHecCxOJ/wxea8xyMM?=
 =?us-ascii?Q?x2cEuMrkPcGEwM9SeFVk0slB790vutxZPrFermPBNwXJY0zr1BbIe+e2m7SC?=
 =?us-ascii?Q?gAMiYoLCc09156oMMyKvIAQ9159sqA/yjxD8B1oirObiIcp/I18JHtzlCnc5?=
 =?us-ascii?Q?MLth5ejTZ/+8pKwdjmJYW7x3+KIBjcGalykM76CWAZ+Svpq89+hIrXKhpf/C?=
 =?us-ascii?Q?vxVOY4BGYlm9c/JVDF1b77NoEfvGsBiVy8I6iDkgkOBNTpi4n96RIMp/o/sY?=
 =?us-ascii?Q?m4oM3bOe3Tvq1pLha/qDNkoBbAcGYryhO8moWBAVg1ub?=
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: cs.rochester.edu
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MN2PR07MB6045.namprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 69f69339-3a93-45ff-187b-08db24f93118
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Mar 2023 02:01:29.1707
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 374e17f4-cf11-4ce2-b3ef-5de76bf4ce41
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: nk8rjZ+wPr/2eWI1Qbkv5yMDRXNz3ER+METztoX6BDQJec7te4lDsk3vOFd1Y/AhPYvk693UTcokj6AvMYT0JNxVzdL9c7QW8t0/EWGJG/c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR07MB6235

Hi all,

I'm looking for some pointers on how Xen's altp2m system works and how it's=
 meant to be used with Intel's VMFUNC EPT-switching for secure isolation wi=
thin an HVM/PVH guest's kernelspace.

Specifically, I am attempting to modify Xen to create (on request by an alr=
eady-booted, cooperative guest with a duly modified Linux kernel) a second =
set of extended page tables that have access to additional privileged regio=
ns of host-physical memory (specifically, a page or two to store some sensi=
tive data that we don't want the guest kernel to be able to overwrite, plus=
 some host-physical MMIO ranges, specifically the xAPIC region). The idea i=
s that the guest kernel will use VMFUNC to switch to the alternate EPTs and=
 call "secure functions" provided (by the hypervisor) as read-only code to =
be executed in non-root mode on the alternate EPT, allowing certain VM-exit=
 scenarios (namely, sending an IPI to another vCPU of the same domain) to b=
e handled without exiting non-root mode. Hence, these extra privileged page=
s should only be visible to the alternative p2m that the "secure realm" fun=
ctions live in. (Transitions between the secure- and insecure-realm EPTs wi=
ll be through special read-only "trampoline" code pages that ensure the unt=
rusted guest kernel can only enter the secure realm at designated entry poi=
nts.)

Looking at Xen's existing altp2m code, I get the sense that Xen is already =
designed to support something at least vaguely like this. I have not, howev=
er, been able to find much in the way of documentation on altp2m, so I am r=
eaching out to see if anyone can offer pointers on how to best use it.

What is the intended workflow (either in the toolstack or within the hyperv=
isor itself) for creating and configuring an altp2m that should have access=
 to additional host-physical frames that are not present in the guest's mai=
n p2m?

FWIW, once the altp2m has been set up in this fashion, we don't anticipate =
needing to fiddle with its mappings any further as long as the guest is run=
ning (so I'm thinking *maybe* the "external" altp2m mode will suffice for t=
his). In fact, we may not even need to have any "overlap" between the prima=
ry and alternative p2m except the trampoline pages themselves (although thi=
s aspect of our design is still somewhat in flux).

I've noticed a function, do_altp2m_op(), in the hypervisor (xen/arch/x86/hv=
m/hvm.c) that seems to implement a number of altp2m-related hypercalls inte=
nded to be called from the dom0. Do these hypercalls already provide a stra=
ightforward way to achieve my goals described above entirely via (a potenti=
ally modified version of) the dom0 toolstack? Or would I be better off crea=
ting and configuring the altp2m from within the hypervisor itself, since I =
want to map low-level stuff like xAPIC MMIO ranges into the altp2m?

Thank you in advance for your time and assistance!

Sincerely,

Ethan Johnson
Computer Science PhD candidate, Systems group, University of Rochester
mailto:ejohns48@cs.rochester.edu


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 02:38:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 02:38:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509871.786519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcH1w-0002Me-Vx; Wed, 15 Mar 2023 02:38:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509871.786519; Wed, 15 Mar 2023 02:38: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 1pcH1w-0002MX-TD; Wed, 15 Mar 2023 02:38:20 +0000
Received: by outflank-mailman (input) for mailman id 509871;
 Wed, 15 Mar 2023 02:38: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=LVlP=7H=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1pcH1u-0002MR-UZ
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 02:38:19 +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 70212844-c2da-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 03:38:16 +0100 (CET)
Received: from AS9PR06CA0164.eurprd06.prod.outlook.com (2603:10a6:20b:45c::15)
 by PAWPR08MB10134.eurprd08.prod.outlook.com (2603:10a6:102:35d::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Wed, 15 Mar
 2023 02:38:12 +0000
Received: from AM7EUR03FT025.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45c:cafe::8c) by AS9PR06CA0164.outlook.office365.com
 (2603:10a6:20b:45c::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29 via Frontend
 Transport; Wed, 15 Mar 2023 02:38:12 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT025.mail.protection.outlook.com (100.127.140.199) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6199.11 via Frontend Transport; Wed, 15 Mar 2023 02:38:11 +0000
Received: ("Tessian outbound fcd8b5fba459:v135");
 Wed, 15 Mar 2023 02:38:11 +0000
Received: from beb5372c9aa8.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6C5EC4CC-406E-4008-BAD6-27DD3488AF9C.1; 
 Wed, 15 Mar 2023 02:38:05 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id beb5372c9aa8.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 15 Mar 2023 02:38:05 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by VE1PR08MB5808.eurprd08.prod.outlook.com (2603:10a6:800:1a1::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 02:37:53 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03%4]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 02:37:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70212844-c2da-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bJP7X43HNn1jZpB6Y/TAvlGfOwNZ6sf84ereNuxkoWQ=;
 b=fR3HGfU4QaWBSaJM9PNEFGcQzrNI2YxKmka35yMckMqKhY2Od9LgOY9IYIk7SArBtEfmef8WilTMz2FFkwL+Iq3JujEwKT8Z4mlWgAxRwA6V3QFWhcR8csxj3F4B7otodQi3wEwhEtCHJ3UW1nM5F2i4UT84enDjWB+NIybIRBY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RCJJ3CoBIZDnVTnAxYcOisW1C2VKNuMMkdHG3vH09WWchiGArEpkcoHnQYt+ivh1TZV6gqtSw9Uvfqfa79zDT3GJyizNAwQzEKmU25SJIWZO0TicFhYSI+3q36Tkh8E3FsAk/Nn0tWoY3kOdBm9beLu6issbZ6dYgpsdhSczJC9DiXPQlvc9b+dH8Uuyhv1AYI5YjJNNTP0C2FkQvNZQo/eVV7xwLP9dMIvp8u+XJFVVUu8hFtQAx/argLS4pz+TOqMVRDnjsZrLyYe2kD6uhXF40yrSfpEQbKwoy91LX3ajWzaECNaWiSbWmATcTEL8CsvNr2b5YkEw3zxyYO9HmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bJP7X43HNn1jZpB6Y/TAvlGfOwNZ6sf84ereNuxkoWQ=;
 b=Hbs6dNtb6HB3b6oc3arrKCFj66D9cVjTMOXdczHHDX+w07JVyuhou3BSumqql9pheY6pH8UpIdgpVCGDDFGPRHx91UhidnvmDei4eZV0rjrXa0L018btmPGUJ4KPKL3312CLKnJZDnJrLjgDZBpILIctCubkDvNenF52B7G961HTLAXerJPDqMuv/UzBC3x2lWEvNXQ9mymRxbPXVN3wUqIgsOmzZbmutr4EQbJCxc3yYYd+SBOI8iUqujnv1z9wUslDPDw1UNbVpnzjhmoqw8+6En0OHrFKaj6eY8BdUWR0ySNWUjOp6W9LO8Les/MMw2r1oT7J8BBxVA4zlSoIkA==
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=bJP7X43HNn1jZpB6Y/TAvlGfOwNZ6sf84ereNuxkoWQ=;
 b=fR3HGfU4QaWBSaJM9PNEFGcQzrNI2YxKmka35yMckMqKhY2Od9LgOY9IYIk7SArBtEfmef8WilTMz2FFkwL+Iq3JujEwKT8Z4mlWgAxRwA6V3QFWhcR8csxj3F4B7otodQi3wEwhEtCHJ3UW1nM5F2i4UT84enDjWB+NIybIRBY=
From: Henry Wang <Henry.Wang@arm.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>,
	=?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, Bernhard Kaindl
	<bernhard.kaindl@citrix.com>, George Dunlap <George.Dunlap@eu.citrix.com>,
	Jan Beulich <JBeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, George Dunlap <george.dunlap@eu.citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
Subject: RE: [PATCH 0/7] tools: More Python 3 fixes (part 1 of N)
Thread-Topic: [PATCH 0/7] tools: More Python 3 fixes (part 1 of N)
Thread-Index: AQHZVn94bmlKOjNAyUuA0aR+vFdjl677IL/Q
Date: Wed, 15 Mar 2023 02:37:51 +0000
Message-ID:
 <AS8PR08MB799113346BAA19CAF5CE0BF292BF9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
In-Reply-To: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 892AD2A9D8D7584B966341338DEF9767.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|VE1PR08MB5808:EE_|AM7EUR03FT025:EE_|PAWPR08MB10134:EE_
X-MS-Office365-Filtering-Correlation-Id: 2527c37d-0457-4ba0-c0ee-08db24fe5203
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:
 HhcXxozZSSt/hzezzWVewDwbPs+1Hrl/lOn+UGvB0WsIelk4QSN+nudDWW3dp2WJH5YpfHrn8XfIkKLABH5LN8xK85dgcR3ca/gkZfL9rpgvDMOY0+rIT2MXyNyoyMgxTG+0lGGpC3WO0pM5EhFPuLcTIzB98wEYSx4QPHQiZMgrRJPppn05y0Gg2zHrDsP6cpkF++F2EzMMC1dY2NKwpcMSjo7vi/k6SD4ccnA6DydtHcJ10qF+KqFeAOdv5mxFOIRvQsACPcv+nO4+hvtpO0JNCYrMLCCHBgFoO8QH3aNdusF3G8Cpv+409MNLDe3W0oX1+RZsEcEEIOKa83VDv+Yr1q3LbHLIp6VApIDyVYiiB7H24LSxFwQchlpadrDpyLWg2f/YC7evEBSVT6Nz924HklvwhY+Iq5eMSVyG8pepikA2oXDuzTIUkUWzWsJTbd1V6LEdfsB0/kcqzd4t43Cw/KSwQU0FqyEo9pbJqXmE4wSIv+AOQad1zz3QTIjZhE4h3PRynm1hy/SwqTrQFvzl4ha5URpDDbfgLtezuMKvjiDN9WmFGRuD6AsW18+AO2II+ozOHVbF/W4gn1N5tZuwmYRn6r5WL0ZXfjUowgP1bnAKDJTrNOsa6pOWfKgBSnHY1Ndnc8ywd6Bi0p1LEy1P0cMLw7KJ0XsjWy4DlXRH02uzYMHp0JLdJTAdu6SDZWZuKzAtFBoY91+IDeIZyA==
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:(13230025)(4636009)(366004)(39860400002)(136003)(396003)(346002)(376002)(451199018)(4744005)(8936002)(5660300002)(7416002)(4326008)(41300700001)(8676002)(52536014)(38070700005)(86362001)(33656002)(55016003)(122000001)(2906002)(83380400001)(478600001)(6506007)(38100700002)(7696005)(71200400001)(66946007)(66556008)(316002)(76116006)(110136005)(66476007)(9686003)(64756008)(66446008)(26005)(186003)(54906003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5808
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:
 AM7EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cf55250d-2c1e-42dc-8bd7-08db24fe45e7
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	X/C1vPLk6dBjAL3jp7WHJuBfygziJU941fZ2715AAQK82AuBLBBwZ6WDqs1VAyFkIcjTODvt/5Zl0Vrm4QALQ48H2jcIdaeEzUX+WSIVKGIu8oxL9gYf20VXEtgQ/vEK9qISW6+NMDcObKR6Fd9rSps2ktZ7EXMPDc+i9hAN0ayA7xz/TxbNNbsnqMiTYzmMtwQ64JcPiH3LtlVzmjfbcGTGu1KQaNFEK+yua6w3BZCh2tGnJsPEKBqu2K75WR3tU5E66aqcSNztc8opD+QOrgg0t+NE3YicDYNiyJgbg/e2kBU74qaF1DPC2uqbEW90verJUC27AQlxvQQ1Ga1miA0GEJKkFIkaFNmLCjEQlyPrZ61U2ig8QBVMrUSM2/7ybcZpAgLiascPu66+YJrdhKHZMU7HQImMl0EwKa2lLNIVAjrAw3gsg3t3SdLwOyC0S9XWrBIk51793kVWv3ZujQUvRay9I02BMmCr2elorw51mNDHzOuuHbHkIwQu190XNW2v7ag7XAmMYv7Z2uwt5nVXDLpuef8O6J/EKt3siNnS94/fIvBKJWd7x48rO3gBdrioeA+HifzN9Bbp+Wt/r6ZvN5MeoGFEB6jKXYr8DMx9z67/YKbWHRDQJfvucpdPU2Wt+E0hTwSz0zj9gi3PWPu6d0N+4soidpoQjhS/kpwKvf/kgHZn7SuoCN/zZShkQZPq+FY7h4l4I6lzhA5SQw==
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:(13230025)(4636009)(396003)(39860400002)(136003)(376002)(346002)(451199018)(40470700004)(36840700001)(46966006)(4744005)(5660300002)(40460700003)(83380400001)(41300700001)(82310400005)(47076005)(7696005)(107886003)(478600001)(336012)(6506007)(186003)(26005)(4326008)(356005)(55016003)(8936002)(33656002)(70206006)(40480700001)(86362001)(52536014)(70586007)(54906003)(9686003)(8676002)(82740400003)(36860700001)(316002)(2906002)(110136005)(81166007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 02:38:11.8859
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2527c37d-0457-4ba0-c0ee-08db24fe5203
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:
	AM7EUR03FT025.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10134

SGkgQW5kcmV3LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJl
dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo+IFN1YmplY3Q6IFtQQVRDSCAw
LzddIHRvb2xzOiBNb3JlIFB5dGhvbiAzIGZpeGVzIChwYXJ0IDEgb2YgTikNCj4gDQo+IFJlbGF0
ZWRseSwgYW5kIGEgY3JpdGljYWwvYmxvY2tlciBmb3IgWGVuIDQuMTguICBQeXRob24gMy4xMiwg
d2hpY2ggd2lsbCBiZQ0KPiByZWxlYXNlZCBhaGVhZCBvZiB0aGUgWGVuIDQuMTggcmVsZWFzZSwg
aXMgZGVsZXRlaW5nIGRpc3R1dGlscyAocmVjb21tZW5kaW5nDQo+IHNldHVwdXRpbHMgYXMgdGhl
IHJlcGxhY2VtZW50KSwgc28gc29tZW9uZSBpcyBnb2luZyB0byBoYXZlIHRvIHJld29yayBhbGwg
b3VyDQo+IHNldHVwLnB5J3MgdG8gYmUgY29tcGF0aWJsZS4NCg0KVGhhbmtzIGZvciBub3Rpbmcg
dGhpcywgSSd2ZSB0YWtlbiBhIG5vdGUgb2YgdGhpcyBpc3N1ZSBpbiBteSA0LjE4IHJlbGVhc2Ug
YmxvY2tlciBsaXN0Lg0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeSANCg==


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 03:02:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 03:02:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509873.786530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcHOv-000687-Ts; Wed, 15 Mar 2023 03:02:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509873.786530; Wed, 15 Mar 2023 03:02:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcHOv-000680-QC; Wed, 15 Mar 2023 03:02:05 +0000
Received: by outflank-mailman (input) for mailman id 509873;
 Wed, 15 Mar 2023 03:02: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 1pcHOv-00067q-3D; Wed, 15 Mar 2023 03:02: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 1pcHOv-0007KG-1u; Wed, 15 Mar 2023 03:02: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 1pcHOu-0005xT-M6; Wed, 15 Mar 2023 03:02:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcHOu-0004Nt-Lj; Wed, 15 Mar 2023 03:02: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=cJKH11dTbOXabk4RCjDhP3ONas4Lk60Id1G3aLyEp+Q=; b=gHiNNccWh8N8+yOvKJKDTOgXlJ
	AMnn3ClYSjffe+uiOHar6LWqS+Uidgw4DC462DOaZhgT2fitNG+XwXYGyUP2wlD/QTacJPPgWRIC5
	iDz2E3SFu0UdUj1OhH3+k6MPw1pij8z2z15W11/g4DgS+1oFF9WAxwaZaM1QL4rc6fBw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179636-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179636: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=391f1e135fc121ce8cd5d864eb856988e1562e58
X-Osstest-Versions-That:
    xen=de819c96c863467b6e625cd7197d17682f6c6122
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Mar 2023 03:02:04 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  391f1e135fc121ce8cd5d864eb856988e1562e58
baseline version:
 xen                  de819c96c863467b6e625cd7197d17682f6c6122

Last test of basis   179624  2023-03-14 10:12:13 Z    0 days
Testing same since   179636  2023-03-15 01:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrei Cherechesu <andrei.cherechesu@nxp.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   de819c96c8..391f1e135f  391f1e135fc121ce8cd5d864eb856988e1562e58 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 04:15:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 04:15:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509882.786549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcIXX-0006LS-Ei; Wed, 15 Mar 2023 04:15:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509882.786549; Wed, 15 Mar 2023 04:15:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcIXX-0006LL-BS; Wed, 15 Mar 2023 04:15:03 +0000
Received: by outflank-mailman (input) for mailman id 509882;
 Wed, 15 Mar 2023 04:15:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QDsO=7H=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pcIXV-0006LD-TK
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 04:15:02 +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 f21e6193-c2e7-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 05:14:59 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 CH0PR12MB8507.namprd12.prod.outlook.com (2603:10b6:610:189::5) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.24; Wed, 15 Mar 2023 04:14:55 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.022; Wed, 15 Mar 2023
 04:14:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f21e6193-c2e7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mbg8AHOlwyOIGjr7pyLyH7230c2QrVyUh4aCgOcQHfGTy9O+M9SkpZl38Njcf7VQWA+X6mNMLqwqlAGfseSTyyvZ955Jy6nGkQwlzhGOgTNWR+8AM4Cr8aTWPVbX6VtZl5EjQjlUZO1MgNT+q7PqkYVA/tkusY9f6jUxHc1dg2HfRDe7Ge/CDfVTz/WPifYa5BTHlQ7wfyv67z+6IsQYiFAAQFUFiCoqwm0CrxYAruCB4x/KCCE15BRylgtu5Iu1rIWcQ5RCLG0zguL9fYGEJvni1J1zcC+pAJAY1LLfaEOklu0Z+6x6rTt7EunisE8IBZsvZKAVDGzkdbdKTFrd9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XBL5jDxTxT9M+2E4VZd/QbF/oEcq+3gCJZfcAsVMS0k=;
 b=PRvK3+QYCKQ0kUg141LjbjHpYWJSrM1JE404kS3LeB6ut3dcuUvWpG07Q+QkcuKowi6CJDdpvRMxqSXBK+mVspBx8yynFzuZ+esVANg6KxvOKJvE4ZwKU1exe6UGYn9xNfX316Fa17tjawPuCuFn4bm05cH2dq9f0kMmk8Wx6U4rT+/ACrfgEU9FMzR8bw2AFSqmIz2d2KSLw6BsVBROmkAbyIE2sugOLe4NzT24P/qkEtmJdDMf4+fTHY06xwZyM1BJmOdZ/tbBUUgiSv3GH7QkZumHqF1g/i+EvfW8BOa6TgSPuGqTjLyufbtEiGQ69AW9hwEEF+w7Y/wg8M79Eg==
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=XBL5jDxTxT9M+2E4VZd/QbF/oEcq+3gCJZfcAsVMS0k=;
 b=H6SXqlrK0nyV68EmwlXPc4I8WzCdAX48NYtVbd58vEPA9S4+4Mr7izVYQwL2FTLTtiC/BGzczMx+lnhohiJo4E9/bufGTjQd+CpaicSB9w7xspVCXw1fEtlwH5Lmdxyn6SGnV4XAUOjK7llGtMceGIMgkEbMKmziyjJbHkk5B1U=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Wed, 15 Mar 2023 12:14:29 +0800
From: Huang Rui <ray.huang@amd.com>
To: Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"Koenig, Christian" <Christian.Koenig@amd.com>
Cc: Juergen Gross <jgross@suse.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>,
	"dri-devel@lists.freedesktop.org" <dri-devel@lists.freedesktop.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	Roger Pau =?utf-8?B?TW9ubu+/vQ==?= <roger.pau@citrix.com>
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
Message-ID: <ZBFGJUE0ahA4R9gr@amd.com>
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-2-ray.huang@amd.com>
 <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com>
 <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
X-ClientProxiedBy: SG2PR03CA0127.apcprd03.prod.outlook.com
 (2603:1096:4:91::31) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|CH0PR12MB8507:EE_
X-MS-Office365-Filtering-Correlation-Id: 294de6ca-5332-4c24-7867-08db250bd4a4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GhpyozA3OI2h6uVXYpH65ljn44XngP4OkcMqRgxfLSZ0Z55crJYH+W6ffcmSX9jDZQ2WOTuQAVYL7TxXjKJaP8LFVgO8T6AqA3KRmgqMZj1qMHG7ZiDOwQzNh0j1R+E0OP5Lomia+o0Ga1WUmk5OEIZn2jxMq8+zoFEfHOMuhoE/ljaOXnVrG5/9jdoX+ZTLSRRKwAmeLjKkYpb9XvVVqlHJAXI6HAGTUns9wakBizqV2WH0FhIyCC1WddT0ENSrf+tdsUnVMAWvUYRjGMS+UMeKxYtGci6W/0YEDE6J4tT9mfA4HM+jZ++1APJJ1zcjiMNRJC52N398+rOLqVfmWIuwgWngV2x1Hf7O6kCllpz27NIGIyg/nYzjK46a65CcnjrpcBCKtH9hmATP3eO1nM+SZHuWYa/Q//nqGbL0yJuDIUYebZU7bZ1yANqFmXTuQUxbv6ug8YKTSxhb5mWj4FE2uDsC25geOxEzIGSnq4uMD7RoHdKqgdNIJuuqt7I/ZfwtQZSpEIfTjHaD59JqliUQ0ZNccPXgWjLZlRxjzTvYZL7efOXafLRLtarqBsCc6A6ckQhQ3/fcxz5TwXFekizZPooYWwlvQGRyL9ynssxC2crURckXGYqy3Hau8A7qsEM+b6OBAVXVihXa6IQ/aw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(376002)(346002)(39860400002)(136003)(396003)(451199018)(6636002)(110136005)(478600001)(41300700001)(8936002)(66476007)(66556008)(66946007)(4326008)(54906003)(8676002)(36756003)(86362001)(38100700002)(6666004)(6512007)(186003)(53546011)(26005)(6506007)(2906002)(5660300002)(316002)(83380400001)(6486002)(7416002)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?NifREuM7fqiWloKmSGHWuP1iOJZdSVHeOOeCP28pnosmFWeRWIgTyLJvqU0X?=
 =?us-ascii?Q?wufo7b/LpMKPoS+HsVw//uKLlqG/BZ59LRBGsIFk7dhgLDfjTJLH2EM1XUwj?=
 =?us-ascii?Q?D/gMMIFt5xWOD+Nv0LTJrUnTObbv7vMf9fI9oYCyUD7JXLE19fIhbBsmRlEB?=
 =?us-ascii?Q?nZcB/U7oelJ12tuAWkDEo3HuuXA6hRK0DXeu3CMPCwz/nBenmul+NLlPa2my?=
 =?us-ascii?Q?MAADW3LNPGhs37APrAO5sw2uWCRVXezd0ii5gQv2BZRIjijW5PI5+Gsgna+H?=
 =?us-ascii?Q?Z7kwRQ2+olq9TM89T9NBpheRZjibEF3ooehzZGrdIjvEUeFdKbOFKulkB7DQ?=
 =?us-ascii?Q?B3sUVyK2kFdvm71P1VyojF3gg+sBEukP5/bbDvbSuTGQAq9jMvduQV4XAoFF?=
 =?us-ascii?Q?Qkt+kf8nbC9N76w5s6NY0U45gPwFDQ/oY7nuoQIDeTPwXxSXC/PINyLGzBEC?=
 =?us-ascii?Q?Z7QVoDyU1kzs+/z2KhNxy1N7KHKwbhm+XISa50OWamKT2dwjEbz8dPtYnPaF?=
 =?us-ascii?Q?AEeRsGJgfBbWemm5B8lAglZZByYIltbNZDWvlVnx6b3Be4lnHnKUJYWDtnDU?=
 =?us-ascii?Q?s5U62dFFYWJxBs+5nuvm6Im3BCcf2iUGM9usXbH0pGx1N1jPy1dAXY9CWlGM?=
 =?us-ascii?Q?X/1g5otfo94h5GUGZw/V7Yj/RNeDrre9be7rwRVdB4QtHfHbN1lTZ/4qu9Yh?=
 =?us-ascii?Q?RxdSGF/x54gEUbEThDd8NcaK4xhYrcY6bs9/PH/w7vm5UBmF6fGWwGcBYvZN?=
 =?us-ascii?Q?u7F6WUFxXoVTCDBjks3KWn1nGYyTu1CTD8bIJ//GatqQBWvYJ9AOat5m+JiR?=
 =?us-ascii?Q?I1KlCF2BlNydps5M2/xLGEfn/aVnqmULOL3fAgvJ28ZwaBnL6C27B6MJlCKZ?=
 =?us-ascii?Q?QOAlvUAEUmQ++dggyRg4cqV2lq77wgsKToA4+UPnHhuXpJM2cZTbQ8mU3Tmw?=
 =?us-ascii?Q?mipsgp7HFFDtisUqVcKIKw5gbEhP3YDRg3YAgi/80JLhkDixAT5cBqPHonJO?=
 =?us-ascii?Q?OmgwUxs/jru0W8l7OtIN1+XW+Hk+M+dt3VSh0ZmNnfNBnqAU4qJA49EeCnNd?=
 =?us-ascii?Q?by5f7tmrMVALMTyczjhrdOz754fzeK2g7qa5IAnZy54s4+TpWvw329Phu7UN?=
 =?us-ascii?Q?7WBOhbNWsh/3NLg3rauOdilw/yESKoLj9PWsBzVdCZHjTV4kfzQVYedSkR2n?=
 =?us-ascii?Q?sIkoK2cN4L4AuUpOpOxPUSuXoS2uqSqmmWAH2SGMWIvuncQS51iVwr6oCKzm?=
 =?us-ascii?Q?L828kk4pvtK0rL+avU8lkdD/1ii8ww/iIQZsXZkuIdQrkPs1h1VHOGEo3V0I?=
 =?us-ascii?Q?9ssDYjLYZUig0CbFt6eTjuJba6X/Gnf34ESyD6+56L9FWTvcepAf76axYtj/?=
 =?us-ascii?Q?VMI1TdExH6Xr/fPd98P1Dj/7MtbrwuaedXNOmJEyp/thdGmR4OG6NajW05d7?=
 =?us-ascii?Q?CKBvsJsHac5mlSrpH6E9noIpgA0JcGKc5By11EDsEZevP8Gx4gMyd5BCb2wH?=
 =?us-ascii?Q?KsyYNXLyuHiwoKs9ok4ckR2et4c4+Gho/G+RyihhI4Ko0pHtkXG2FtvmUwSC?=
 =?us-ascii?Q?l19I1YblrWMWH6YRfXyYXRYL3jd+tv0vvaJN295w?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 294de6ca-5332-4c24-7867-08db250bd4a4
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 04:14:54.7661
 (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: BcQBx1bew9fj0EvUx0Vk6NtDjrBWYxVxqru6tvnOuDM/5YWEeVtKxeg3UXjcek1zVRGrYub+TnQoRVIG6bzT/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB8507

On Wed, Mar 15, 2023 at 08:52:30AM +0800, Stefano Stabellini wrote:
> On Mon, 13 Mar 2023, Jan Beulich wrote:
> > On 12.03.2023 13:01, Huang Rui wrote:
> > > Xen PVH is the paravirtualized mode and takes advantage of hardware
> > > virtualization support when possible. It will using the hardware IOMMU
> > > support instead of xen-swiotlb, so disable swiotlb if current domain is
> > > Xen PVH.
> > 
> > But the kernel has no way (yet) to drive the IOMMU, so how can it get
> > away without resorting to swiotlb in certain cases (like I/O to an
> > address-restricted device)?
> 
> I think Ray meant that, thanks to the IOMMU setup by Xen, there is no
> need for swiotlb-xen in Dom0. Address translations are done by the IOMMU
> so we can use guest physical addresses instead of machine addresses for
> DMA. This is a similar case to Dom0 on ARM when the IOMMU is available
> (see include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect, the corresponding
> case is XENFEAT_not_direct_mapped).

Hi Jan, sorry to late reply. We are using the native kernel amdgpu and ttm
driver on Dom0, amdgpu/ttm would like to use IOMMU to allocate coherent
buffers for userptr that map the user space memory to gpu access, however,
swiotlb doesn't support this. In other words, with swiotlb, we only can
handle the buffer page by page.

Thanks,
Ray

> 
> Jurgen, what do you think? Would you rather make xen_swiotlb_detect
> common between ARM and x86?


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 04:39:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 04:39:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509885.786562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcIug-0000rR-DY; Wed, 15 Mar 2023 04:38:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509885.786562; Wed, 15 Mar 2023 04: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 1pcIug-0000rK-Ap; Wed, 15 Mar 2023 04:38:58 +0000
Received: by outflank-mailman (input) for mailman id 509885;
 Wed, 15 Mar 2023 04: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 1pcIue-0000kV-SN; Wed, 15 Mar 2023 04: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 1pcIue-0001Bu-Pk; Wed, 15 Mar 2023 04: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 1pcIue-00087C-CJ; Wed, 15 Mar 2023 04:38:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcIue-0004Cs-Bs; Wed, 15 Mar 2023 04: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Jq729IfQbwOTCBu9Kj+PaCaVBJbBESMcASuail+7x/k=; b=WY0y+vz1j2J0+mM8J9ijHsM3Wa
	CY831lUZ3iR7N6K71C8wYcQPEdae8v6YGWUN9p1CKhMcQofom6pgQKEF49zI7VsoquToGMh9OQy7n
	Php9niecsukzDI229nRhXRtgpw8BNoMBYTHlTdNt2S0XCAwFpuikAilriBZS3Fd00ySM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179627-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179627: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:allowable
    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-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-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx: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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop: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-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-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=fc89d7fb499b0162e081f434d45e8d1b47e82ece
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Mar 2023 04:38:56 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-pair 26 guest-migrate/src_host/dst_host fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 26 guest-migrate/src_host/dst_host fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  17 guest-saverestore        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm     18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1 19 guest-saverestore.2 fail in 179607 REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10 fail in 179607 REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 19 guest-stop     fail in 179607 REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 16 guest-saverestore.2 fail in 179607 REGR. vs. 178042
 test-arm64-arm64-xl 18 guest-start/debian.repeat fail in 179607 REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 18 guest-start/debian.repeat fail in 179607 REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 179607 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-pair 25 guest-start/debian fail in 179607 pass in 179627
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 179607 pass in 179627
 test-arm64-arm64-xl-xsm      14 guest-start      fail in 179607 pass in 179627
 test-arm64-arm64-xl-credit1  14 guest-start      fail in 179607 pass in 179627
 test-arm64-arm64-xl-credit2  14 guest-start      fail in 179607 pass in 179627
 test-arm64-arm64-libvirt-xsm 14 guest-start      fail in 179607 pass in 179627
 test-amd64-amd64-xl-rtds     14 guest-start      fail in 179607 pass in 179627
 test-amd64-amd64-pair      25 guest-start/debian fail in 179607 pass in 179627
 test-amd64-amd64-xl-credit1  14 guest-start                fail pass in 179607
 test-amd64-amd64-libvirt-xsm 14 guest-start                fail pass in 179607
 test-arm64-arm64-xl-thunderx 14 guest-start                fail pass in 179607
 test-arm64-arm64-xl          14 guest-start                fail pass in 179607
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail pass in 179607
 test-amd64-amd64-xl-multivcpu 14 guest-start               fail pass in 179607
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 179607

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-xl-rtds    22 guest-start/debian.repeat fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check fail in 179607 never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail in 179607 never pass
 test-arm64-arm64-xl         15 migrate-support-check fail in 179607 never pass
 test-arm64-arm64-xl     16 saverestore-support-check fail in 179607 never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check fail in 179607 never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check fail in 179607 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                fc89d7fb499b0162e081f434d45e8d1b47e82ece
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   21 days
Failing since        178093  2023-02-22 05:02:47 Z   20 days   41 attempts
Testing same since   179607  2023-03-13 19:40:31 Z    1 days    2 attempts

------------------------------------------------------------
2122 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 05:14:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 05:14:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509892.786574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcJSb-000626-6B; Wed, 15 Mar 2023 05:14:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509892.786574; Wed, 15 Mar 2023 05: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 1pcJSb-00061z-3C; Wed, 15 Mar 2023 05:14:01 +0000
Received: by outflank-mailman (input) for mailman id 509892;
 Wed, 15 Mar 2023 05:14: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=unbF=7H=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pcJSZ-00061o-UW
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 05:14:00 +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 2f016344-c2f0-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 06:13:57 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic317.consmr.mail.gq1.yahoo.com with HTTP; Wed, 15 Mar 2023 05:13:54 +0000
Received: by hermes--production-ne1-759c9b8c64-f7wvp (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 96a4225277b909cacfff2106b7580bc2; 
 Wed, 15 Mar 2023 05:13: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: 2f016344-c2f0-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678857234; bh=F9KsY+/Y90uQDNeE4eLqItY5YwC2xDwyG1hbbTr85xo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=p9YN7VqyjmOukFXlxyruJtleNDUkqxs9Ql4dKEl/w3Xplp137dMgCEw4IuDDlmmSqK8emkSURKxPoEQtyqv0yOAaZF71IGcnOrjr4eAEcU4u4O2YuI9MFyHQ6wSTfDY0Y4Rt8zWYzl8T4vYmhifovZ6qZ4M9PUrwxnAYQe5a+ppWLspoOPebWEss3NTZP37t+7A8VIBR3gke7luGZoMmi5fqI8z2SgW5H9ILJR1eADiQbXfLfzAZUkmSBhaiaFMuWWE7GnjlA+b8nkcStgP8hk+9+NZLF+Ua9EUpJOSPPSMWIJVew9n5toBsgZogaTmTWCQFtyjeOVbq1hb7kmuIXg==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678857234; bh=r66pmpen/CDgyOZ0u5YeD2OIwCo+4rRYWxBwfRhi7/n=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=cDhoq4Wbjc/vkgk1EjUsQEAJ27X3kavm0dSdaHlun/2GuLeMizlDkvVz0Lc6gEEi+KtuwJ60j2K77Km/23gDgJlAVKTgcSF0rl8jqVvY+16ZeGgfy+ifvVl9CSV1E/87uIfGUx4Uqak7ZuevYvBmjYJx7T9L0HGsAZgPpLEQCoIzau/wXU0vqd8W9+iFUJfFtmhoSxOSZEkwb4NPa0jtd+jp0ucgORLIQIsEFnHHToahXR0CAnCELchpAFQda0+UXBc1HdmH3FGPD19+j+O3ohx7WxQXLTY+m+gFJusPAcnB4iVgiKD6EFTdPMfGckU9wJ0IiA2Xg7nUEfqCbJhyyw==
X-YMail-OSG: lIWPx_cVM1lwlWKEVRdW7zVGbIDet8pd3jLPX208cXjeuk3Anj7SHy.6mEfwHuo
 To.XPZeLR2_bXM_LSlJTOp9SKqsfti2mKeB32WFPvTNm5jo8oI_hCA0tiXzglGu4wqHofq9swbur
 7dbfjy2EFRST6ekk66HdYwBF_FruKszuj7ufQbwBayGAPg8BrCRulPRcPT.T4mF22kSdrn.1Bk.D
 2RNYj86Qt7dpzAXvR5HzbdXAxgcuKWoUzlikHGLw_0U73B_e2NCUDMGvPhRKGBBp2YhY9jhTWq68
 MsIZ0rJVFBhgpQcvTWztlt_NpakWngoPXoh1be3XY17qjlwigKv66HedvgABM5CbPz1X0xT5NQYY
 8oFDgqNuLJ9ZPDRrR5PyrLlDsuFv8T1Z60E8rfScw5NRyQScQUOHzCE_5NZc8Ik9ey9pMKjKEZrN
 4U37S79B4V_Tkq16FdEdCidc690y81FoZY3IltoKE3Qw8TIR4o7bXwArc5Lu0z3u9FY2wM5q4wBB
 MMy9pd3zPvn9fWSmSY0bDsymVZXwYnxxTTpxAMn28pKRxeOQqxYW9MpdEmMIJGyeXlu5GDNUy8LJ
 y9wg3eerF9.oT7AtSwl8nr76acm0.EoalFnt7zyLzu3DTy1YUJCZdWyLwXfFdK0HcraXkzY12R0B
 npLgUbAxWr0.nJqaTpuooCuoRe.TnrzjYT_SKRr0eat3w0sJm5XdHun887IDcUuZw35hgCTQkS_R
 7W9XiPBsQruCvzgMw9SWWJqMlYguuiKqagyQ3FcX0VcO8IzGt9GLxH0p1xPEWI0Ve6egW_kPiorK
 v5AH61CH1kvkT1_HaX27GUGu.OCcDB62EAJHd.dwhF2QpjSExm2E46QiKW0MXZzSdgP7cP9bevMo
 THyPe82juLEoaErUFH3I81RPIhNBCPkWolNdZp8cqi1KoV0v47WAWdCrV387PZFZHmiB0AQNQ95W
 NsHFWwOVY9Fq.N4Qz2bv5l9QXWjivXo6xvFna34Uas6QxyHesnEiytJFa6GpTVYECgQVbGfgR.fG
 SLAsRp0l99ggLT6wpVwht2P3vA9EwTZvl4XlkJtYL9GNfnY7G_DadRdWKZztJbVNKOjZ61srBn7t
 _ZYWK.Xer.g4elJagbXYMQgcyhnuzCZO4wmB.8XO..CcRV0BWJrFdKqbSsFBSKQq.fQqdS4RQfcw
 0XV6pK6Elh7IkIQQ_ysO8DkNVMN659Pe0VijUsLrBiTZBsGkE0ITdxPHnowcyuJBYfEYJJJQ6W.R
 5WGPnyn2KlU5RWCNTIBWDaHLWi.Pv77n4JuzozagXZ8u7S4B.ZjlnxqvqR6KGops6IQQ.9mO2Ljq
 Hh4fZBH7BasLoQ_rGGWEHfWas1x3xElg4_ZKtqCwZ0jixPh6Sfu3bQc4PYxCvlE2GBudxi3s6v7O
 eiwff8zXxXTuvVkx5_qj5g0rjE37vr9BGJSaY3Imp7ebYts.nhS39_uZb.RCXlejSTD6FdXh0FMH
 Xp6Nx2Y6RaUPtcTWENOu4uMBFcGOSoLYx2tR4hOvOjOK_8nRQbLiOdoyEEGepgfp7V60X3cjfbLA
 gZMAxeyArSPRqOzqTiGVDvvPM_JlzuI2jDjRsLhKy9NhPPJCQEavCJeZ0nzJccW6fXj1Cl3Rz339
 dfL8fP3ybyGwS6fCi3SgVMdxLiIlM9iDoBDqQ8j_.LfjRe_QrmycDspFAA1q9NLkoh2As6u3_zyz
 39i9COVZZxC0i.e_VVsopEPNVFejpLtbfX6JWYxdMwjqSwGMItEsw5M0noE48A_MyCV03TdrSOeH
 QXlJNNjxsqJVAOiiqjuXkZE.HV8oSJArMtWIww5G.KEleiqFuW9dVaxD64pNDbKJmXJj34bePwDH
 6rnO2NON3C0zWAwUW2DZNDGrzGftal42FFUE.LobDR14dT7xV0UVdyocB7H.IoWqdSDcKbPOrkEY
 vMsK6g9JLYC.A6c6BzNYtBwfst.C8Y0pKrX6U_EvLUK4q9c.teaDveYv9wsB1BQduH18VzPtd0Yi
 5L3vaqAIJaxohI9gKWSHYwlv7Fspz78j6KulLp0owLk_VVKCmSrx9l3o1g5ruG4STSfx08RqZDYB
 uPxD6T33NnJbFmNxEk.xKuY2JlCu33xjZ7OiH97Gv1ygY8vDyCMsXLPc5F0JInt4qrFPoARm9jWq
 iEgiuF7j8spVmHUjJsERwh7NFAewkbowpxLbLnPs5Nf3rK87wVandTFMSUn42xWy5EtqeRm.gAZm
 _
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: ed68d27d-d92f-4969-a28c-6b51268c4f58
From: Chuck Zmudzinski <brchuckz@aol.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 1/2] pci: avoid accessing slot_reserved_mask directly outside of pci.c
Date: Wed, 15 Mar 2023 01:13:41 -0400
Message-Id: <df167a18d1302d55d805ece9f24f59a72dfed95a.1678851637.git.brchuckz@aol.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678851637.git.brchuckz@aol.com>
References: <cover.1678851637.git.brchuckz@aol.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Length: 4963

This patch provides accessor functions as replacements for direct
access to slot_reserved_mask according to the comment at the top
of include/hw/pci/pci_bus.h which advises that data structures for
PCIBus should not be directly accessed but instead be accessed using
accessor functions in pci.h.

Three accessor functions can conveniently replace all direct accesses
of slot_reserved_mask. With this patch, the new accessor functions are
used in hw/sparc64/sun4u.c and hw/xen/xen_pt.c and pci_bus.h is removed
from the included header files of the same two files.

No functional change intended.

Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
---
Changelog

v3: This patch is unchanged since v2.

v2: This is the first version of this patch, it did not exist in v1.

 hw/pci/pci.c         | 15 +++++++++++++++
 hw/sparc64/sun4u.c   |  7 +++----
 hw/xen/xen_pt.c      |  7 +++----
 include/hw/pci/pci.h |  3 +++
 4 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index def5000e7b..8a87ccc8b0 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -1116,6 +1116,21 @@ static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
     return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
 }
 
+uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus)
+{
+    return bus->slot_reserved_mask;
+}
+
+void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask)
+{
+    bus->slot_reserved_mask |= mask;
+}
+
+void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask)
+{
+    bus->slot_reserved_mask &= ~mask;
+}
+
 /* -1 for devfn means auto assign */
 static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
                                          const char *name, int devfn,
diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index a25e951f9d..eae7589462 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -31,7 +31,6 @@
 #include "hw/irq.h"
 #include "hw/pci/pci.h"
 #include "hw/pci/pci_bridge.h"
-#include "hw/pci/pci_bus.h"
 #include "hw/pci/pci_host.h"
 #include "hw/qdev-properties.h"
 #include "hw/pci-host/sabre.h"
@@ -608,9 +607,9 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
     /* Only in-built Simba APBs can exist on the root bus, slot 0 on busA is
        reserved (leaving no slots free after on-board devices) however slots
        0-3 are free on busB */
-    pci_bus->slot_reserved_mask = 0xfffffffc;
-    pci_busA->slot_reserved_mask = 0xfffffff1;
-    pci_busB->slot_reserved_mask = 0xfffffff0;
+    pci_bus_set_slot_reserved_mask(pci_bus, 0xfffffffc);
+    pci_bus_set_slot_reserved_mask(pci_busA, 0xfffffff1);
+    pci_bus_set_slot_reserved_mask(pci_busB, 0xfffffff0);
 
     ebus = pci_new_multifunction(PCI_DEVFN(1, 0), true, TYPE_EBUS);
     qdev_prop_set_uint64(DEVICE(ebus), "console-serial-base",
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index 2d33d178ad..a540149639 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -57,7 +57,6 @@
 #include <sys/ioctl.h>
 
 #include "hw/pci/pci.h"
-#include "hw/pci/pci_bus.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
 #include "xen_pt.h"
@@ -951,7 +950,7 @@ void xen_igd_reserve_slot(PCIBus *pci_bus)
     }
 
     XEN_PT_LOG(0, "Reserving PCI slot 2 for IGD\n");
-    pci_bus->slot_reserved_mask |= XEN_PCI_IGD_SLOT_MASK;
+    pci_bus_set_slot_reserved_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
 }
 
 static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
@@ -971,7 +970,7 @@ static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
         return;
     }
 
-    if (!(pci_bus->slot_reserved_mask & XEN_PCI_IGD_SLOT_MASK)) {
+    if (!(pci_bus_get_slot_reserved_mask(pci_bus) & XEN_PCI_IGD_SLOT_MASK)) {
         xpdc->pci_qdev_realize(qdev, errp);
         return;
     }
@@ -982,7 +981,7 @@ static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
         s->real_device.dev == XEN_PCI_IGD_DEV &&
         s->real_device.func == XEN_PCI_IGD_FN &&
         s->real_device.vendor_id == PCI_VENDOR_ID_INTEL) {
-        pci_bus->slot_reserved_mask &= ~XEN_PCI_IGD_SLOT_MASK;
+        pci_bus_clear_slot_reserved_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
         XEN_PT_LOG(pci_dev, "Intel IGD found, using slot 2\n");
     }
     xpdc->pci_qdev_realize(qdev, errp);
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index d5a40cd058..935b4b91b4 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -287,6 +287,9 @@ void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
 void pci_bus_map_irqs(PCIBus *bus, pci_map_irq_fn map_irq);
 void pci_bus_irqs_cleanup(PCIBus *bus);
 int pci_bus_get_irq_level(PCIBus *bus, int irq_num);
+uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus);
+void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask);
+void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask);
 /* 0 <= pin <= 3 0 = INTA, 1 = INTB, 2 = INTC, 3 = INTD */
 static inline int pci_swizzle(int slot, int pin)
 {
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 05:14:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 05:14:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509894.786590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcJSc-0006KV-Pq; Wed, 15 Mar 2023 05:14:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509894.786590; Wed, 15 Mar 2023 05:14: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 1pcJSc-0006KG-KC; Wed, 15 Mar 2023 05:14:02 +0000
Received: by outflank-mailman (input) for mailman id 509894;
 Wed, 15 Mar 2023 05:14: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=unbF=7H=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pcJSb-00061o-Jm
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 05:14:01 +0000
Received: from sonic316-8.consmr.mail.gq1.yahoo.com
 (sonic316-8.consmr.mail.gq1.yahoo.com [98.137.69.32])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ffbba38-c2f0-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 06:13:58 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic316.consmr.mail.gq1.yahoo.com with HTTP; Wed, 15 Mar 2023 05:13:56 +0000
Received: by hermes--production-ne1-759c9b8c64-f7wvp (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 96a4225277b909cacfff2106b7580bc2; 
 Wed, 15 Mar 2023 05:13: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: 2ffbba38-c2f0-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678857236; bh=Q0XT1QQYOz5Utc07CCwIzZ4mh2OSgk2Itg/6nDFk02o=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=DBLkXR5qItNdj7IB5Mocib0e7lnRUTJV4h8pFUhfzy/PGBJVbbravppO8dWn0xAf8LI4SKP8GMbU9tCHlOHtrG57N/QnydzQpTnI1IHzKXOU+owmYfxhIIN9l/tr5YhwJ05SDs22tlHcAPMHjD2QxlBfV/B9zM4KZR4p4OFKO2cZzH4WfJnI3gOQAIB7koeby5UDTUNCDfjLcx/kGX0SKkJqFPedZU4JHPbwzGbYKnbnxiMhx60sD/GisOW5g4/4ozrvNky/d4wyh+nVDrtSn4PoUWwF14077b0gKq3JEnHbR6l2v/Aj6rUIOcUx2OSgWbC+uI6FhaHbIoQf7fiajQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678857236; bh=ShaupOz04ZK/Avyjra5SI9Y1u94kMyAAUosDFXRSnkh=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=r8SaCtP5TR1E7vT3HnwSi5f+K4DJkygL7N06d+BhNYnHVhbLHOGnn+Iep2Izw7CHCetm15K8K4nldqc00LltXz/hSgx7ybMW6kTfyu4LbV7T7QsbzSYOcjFGXX4n3kRjTbb+MVQXlL7qNLjmnl2Mb+3umG8k4re+0rqtWN2FSxMjolIQrJsbQAQItmzxVc0GNBafQtyBvPWKDBVatKAMOyJ26rz13r7O+H8ooJSiq+rITxMyo9+CCwbOj5gcmJCQhwy/Ldqr5IKRiqQuUOVHuocdCqfWrIbIVsnoQT4kQEzIQEluf7Fo8Hprh74l5ZNqx9ik7CkeKebVqlFCXyokqQ==
X-YMail-OSG: tt9De90VM1nUtWI7MldM0UB64dhKT41tuhOByewHdnowbRAJvnWEBQImhJesqqP
 MhtLE9jTK.8jLBWTbNKtQ0IOnB5Nh_Ku3ANawmC2lVFtw4BvVmbMrQ6fmum5g3NfhLSVlOs3DHpa
 1MaDpJdnCpdsMfg2bx6uc3F9zUOByVDxO6e9.DdY6lA0Z8yI9qBml2DX6wfLH4jfd6hsM1mx4klp
 _hPGPs.TvFxB4SjucORCM4ldt4VMD1CF81cDsyLSmxMpLlCnAa5awSxwoNSN1sChPNiagqFSvLjB
 4hHdw_JF7d.YTuOkhjHONUqqwLyry_t76fNYAsfminVbKIDZi3YeIMlkMlDEQL06XqGVjl1k.mP4
 KpfZgdzVIqd8l3ygrKWB.UrfBnc6dteDpj4XWwvEUL88ZRT52u5WouG6eiWD5A5pGYDk8UXmPYkJ
 N9.gIyYnq9j4Ez.cKicTuQBNYWO3V7qPfEp1GGSRR98RzkV66YYTMWHkqnyjcxxHTP8OtMTIdV1f
 qxTcCrPj.3hDnisJ2.GKb6R3MmHBe88llvpZV.vkzrswx_ldMcPb.fd8MvIRBDGVldfYJppvi9Qo
 oWqS1fso__RGuLvju.ccbhzPAVJqbV5oa7WOd1Yood6SqFZxj6r1uk.wtOJlwfwtaPn7GmhNM41G
 qO3FO9ESIN4F1bN6nl7dN1GtSYtlk3e0LnjMG2hKBmPFOcHr7Gw4YxyeET4nYQGsPqOsOsAUk5JA
 mdAIo6C5G.ZXDBbN9gCp9qL0vkElXHBp3jbkdpqHaioalfM7kQmyJqvmknBraTHzwnf7TxxbeE_H
 d4UYtqTI7z5wsEeOVSy396wahsLb5rSUcTchUbLtRLX8klaAegD2WfdQKT9PdR_oV3CfPy8Ywt97
 V0lxNOQsrRd8UuvPTPUlPRZCZlD7V_qb909lyE.wL6We4aazlglWpVM1Kr_4oOtTeuaFR0JxlYxo
 5xHJn.zocITBiSWjIWSSiZEWPCloQ8Ai1273fx3zYhtilvQoA9O986.mV5gAIT9mZn.ZGbIWo01M
 yAiJCq6zOk2zba7l6ScNyWSMA1cb4QExivWVp61vve99o961hVWoiO2CA6fIRKGoh71lMrZxRGK1
 iIMvVH6boObeIWU.diLBYHRLuPLv2fzVke1VQmwiIC4K4kcjyCGe82lRNQR_ue9CPjw1sdjAe_bm
 jNyJzCVnPephmcu.eBBr_nRUR6pGT1FoaimsfHLnHN2JZIUADjYSRNHk.rEsDpNt8lCgb7oKFlyp
 JxsZdEqJxm_qbHk_dRdeJStSUw1KUPFBJ95IcROrUJukGYtonoFkMz244uwmpcXPyXnKRGolt3uz
 nBGbUyDh6SiS_NPBPp1KTFtYYOelfq7jJp6pfPnEhnEDNenpLbCaXFjoYT0ix.VJu3U1dRGR6BKF
 rtzLx2jq8_8NOP3_pbGaWyvBjUtu1Vz7VKSRonPPAdyCx0.6vnzSbMN2UwLOJogorZomBzfdi1D7
 5Y5v0tHahTibUxugIkKCuTjnXCCL0cGhLXpRraB7ZTDvbZU21uhsuqN6ipPAvr..9axbURvk3uoO
 NSRbQZ1ExrV3phc8iwrKvEiE3pmhhztRonFDdAJiICrWH_ZU71r_UX11alQ3XATb1DRPgAtjM1.T
 NGWLRxtG4nGkUU3Fa5na.ENVfmpKkYSFTJqv0QxFIdPqTPrEq0SkgGc3GiA4gPugZi5fknpF8NQ9
 J5RxZOenAW_qFOFH1xZJC6R0x66MjIItavB864hw._E3Ioehg.S3Mo1xUt78cQtqNiWdtf8e24gX
 3rnUb.iCv9vpIECwatG.6lRy2rgwZVYGvpJvPnlsldtvPLjnx_W7zsM6djHBQnHa5LgR2hIhDNOO
 nlBi2oZxeeVE3qGusEaOx8mb5VtXP7hWYpYZV8S0W7zPHPeeqC1tRnoAMVDeDl5MjXVChhBrdUGy
 v.wN13JKJ2WEpjxPaooABi1m16Y.ni7HaUReVrfRvh_An0xT2OzG6xzYPJN2Cuul6xa0RFtF.75B
 26LXkjsrAcwf8fvj2.6yNs1kpowaUfP8AaK6nenscsZZLe5cpCMF5vEKTbVBHk_yN3DpbMswnPbg
 8mZIHmFhX.EG1Q1MRfEMpRf6PmTrBBiCsgL6UyvtlNX4Bg132WuNPagcvqF4ldYQOnEQPVAD1u60
 eP4vxb8Esa0A7sPlBH9UDN12BC9inlytBuwa4ZhNhdhlVJBFu9PKjmkdWRVcZ0HhQ6sYtLEQW8ZX
 uVjAufQ--
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 0cbd98fc-95bc-4a4a-85f8-c2c3b598fe02
From: Chuck Zmudzinski <brchuckz@aol.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 2/2] pci: introduce slot_reserved_auto_mask and slot_reserved_manual_mask
Date: Wed, 15 Mar 2023 01:13:42 -0400
Message-Id: <a98d9394aca40f4c47567169f1483ceb56cbaa0d.1678851637.git.brchuckz@aol.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678851637.git.brchuckz@aol.com>
References: <cover.1678851637.git.brchuckz@aol.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Length: 10650

Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
uses slot_reserved_mask to reserve slot 2 for the Intel igd for the
xenfv machine when the guest is configured for igd-passthru.

Prior to that commit, a single 32-bit mask was sufficient to meet the
needs of the only machine that used the 32-bit slot_reserved_mask, the
sun4u machine. However, the requirements of the xenfv machine with
igd-passthru is somewhat different from the requirements of the sun4u
machine.

First, the sun4u machine reserves slots in such a way that no device
can be assigned to a reserved slot, but the xenfv machine needs to
reserve a single slot that is reserved for a particular device, the
Intel igd. The necessary logic to ensure that the reserved slot is used
by the Intel igd was recently added by the aforementioned commit.

Second, it is useful to limit slot reservation in the case of the xenfv
machine with the Intel igd to devices configured for automatic slot
assignment so an administrator can assign a device to the reserved slot
by manually specifying the reserved slot address on the command line,
but the sun4u machine requires slot reservation for all devices, whether
or not the device is configured for automatic slot assignment or
configured manually by specifying a slot address on the command line. In
other words, for the sun4u machine, the required behavior is that an
attempt to assign a reserved slot to a device must always result in an
error, but it is useful to allow manual assignment of a reserved slot to
succeed for the xenfv machine with the Intel igd.

The necessary logic to implement the desired behavior of reserving one
or more slots only for the case of automatic slot allocation has not yet
been implemented, and that is the purpose of this patch.

The implementation is simple: the xenfv machine only sets
slot_reserved_auto_mask and the sun4u machine sets both
slot_reserved_manual_mask and slot_reserved_auto_mask. A single
"set" accessor function allows xenfv and sun4u machines to set the
value of the two masks appropriately for each use case.

Since the xenfv machine needs to implement additional logic to detect
the Intel igd and clear the bit in the mask to allow a particular device
to use the reserved slot, there is a need for a "get" and "clear" accessor
function for slot_reserved_auto_mask, but these accessor functions are
not needed for slot_reserved_manual_mask because the sun4u machine has
no need to get the value of the mask or clear bits in the mask.

Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
---
Changelog

v3: Change Subject of patch from
    "pci: allow slot_reserved_mask to be ignored with manual slot assignment" To
    "pci: introduce slot_reserved_auto_mask and slot_reserved_manual_mask"
    
    Substantially reword the commit message to clearly explain the reasons
    this patch is needed

    Apply changes in response to comments on v2:
       - slot_reserved_mask -> slot_reserved_auto_mask
       - remove enforce_slot_reserved_mask_manual
       - remove pci_bus_ignore_slot_reserved_mask_manual
       - add slot_reserved_manual_mask
       - pci_bus_devfn_reserved -> pci_bus_devfn_reserved_auto
       - change code in pci_bus_devfn_reserved_manual appropriately
       - pci_bus_set_slot_reserved_mask -> pci_bus_set_slot_reserved_masks
           - use renamed "set" function to set value of both masks for sun4u and xenfv cases
       - pci_bus_get_slot_reserved_mask -> pci_bus_get_slot_reserved_auto_mask
       - pci_bus_clear_slot_reserved_mask -> pci_bus_clear_slot_reserved_auto_mask

v2: Change Subject of patch from
    "pci: add enforce_slot_reserved_mask_manual property" To
    "pci: allow slot_reserved_mask to be ignored with manual slot assignment"

    Add pci_bus_ignore_slot_reserved_mask_manual function

    Call pci_bus_ignore_slot_reserved_mask_manual at appropriate place
    in hw/pci-host/i440fx.c

 hw/pci/pci.c             | 29 ++++++++++++++++++-----------
 hw/sparc64/sun4u.c       |  6 +++---
 hw/xen/xen_pt.c          |  6 +++---
 include/hw/pci/pci.h     |  6 +++---
 include/hw/pci/pci_bus.h |  3 ++-
 5 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 8a87ccc8b0..58a530a651 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -500,7 +500,8 @@ static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
 {
     assert(PCI_FUNC(devfn_min) == 0);
     bus->devfn_min = devfn_min;
-    bus->slot_reserved_mask = 0x0;
+    bus->slot_reserved_auto_mask = 0x0;
+    bus->slot_reserved_manual_mask = 0x0;
     bus->address_space_mem = address_space_mem;
     bus->address_space_io = address_space_io;
     bus->flags |= PCI_BUS_IS_ROOT;
@@ -1111,24 +1112,30 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
     return !(bus->devices[devfn]);
 }
 
-static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
+static bool pci_bus_devfn_reserved_auto(PCIBus *bus, int devfn)
 {
-    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
+    return bus->slot_reserved_auto_mask & (1UL << PCI_SLOT(devfn));
 }
 
-uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus)
+static bool pci_bus_devfn_reserved_manual(PCIBus *bus, int devfn)
 {
-    return bus->slot_reserved_mask;
+    return bus->slot_reserved_manual_mask & (1UL << PCI_SLOT(devfn));
 }
 
-void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask)
+void pci_bus_set_slot_reserved_masks(PCIBus *bus, uint32_t auto_mask, uint32_t manual_mask)
 {
-    bus->slot_reserved_mask |= mask;
+    bus->slot_reserved_auto_mask |= auto_mask;
+    bus->slot_reserved_manual_mask |= manual_mask;
 }
 
-void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask)
+void pci_bus_clear_slot_reserved_auto_mask(PCIBus *bus, uint32_t mask)
 {
-    bus->slot_reserved_mask &= ~mask;
+    bus->slot_reserved_auto_mask &= ~mask;
+}
+
+uint32_t pci_bus_get_slot_reserved_auto_mask(PCIBus *bus)
+{
+    return bus->slot_reserved_auto_mask;
 }
 
 /* -1 for devfn means auto assign */
@@ -1156,7 +1163,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
         for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
             devfn += PCI_FUNC_MAX) {
             if (pci_bus_devfn_available(bus, devfn) &&
-                   !pci_bus_devfn_reserved(bus, devfn)) {
+                   !pci_bus_devfn_reserved_auto(bus, devfn)) {
                 goto found;
             }
         }
@@ -1164,7 +1171,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
                    "or reserved", name);
         return NULL;
     found: ;
-    } else if (pci_bus_devfn_reserved(bus, devfn)) {
+    } else if (pci_bus_devfn_reserved_manual(bus, devfn)) {
         error_setg(errp, "PCI: slot %d function %d not available for %s,"
                    " reserved",
                    PCI_SLOT(devfn), PCI_FUNC(devfn), name);
diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index eae7589462..21ab12f6f7 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -607,9 +607,9 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
     /* Only in-built Simba APBs can exist on the root bus, slot 0 on busA is
        reserved (leaving no slots free after on-board devices) however slots
        0-3 are free on busB */
-    pci_bus_set_slot_reserved_mask(pci_bus, 0xfffffffc);
-    pci_bus_set_slot_reserved_mask(pci_busA, 0xfffffff1);
-    pci_bus_set_slot_reserved_mask(pci_busB, 0xfffffff0);
+    pci_bus_set_slot_reserved_masks(pci_bus, 0xfffffffc, 0xfffffffc);
+    pci_bus_set_slot_reserved_masks(pci_busA, 0xfffffff1, 0xfffffff1);
+    pci_bus_set_slot_reserved_masks(pci_busB, 0xfffffff0, 0xfffffff0);
 
     ebus = pci_new_multifunction(PCI_DEVFN(1, 0), true, TYPE_EBUS);
     qdev_prop_set_uint64(DEVICE(ebus), "console-serial-base",
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index a540149639..3d3290ec02 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -950,7 +950,7 @@ void xen_igd_reserve_slot(PCIBus *pci_bus)
     }
 
     XEN_PT_LOG(0, "Reserving PCI slot 2 for IGD\n");
-    pci_bus_set_slot_reserved_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
+    pci_bus_set_slot_reserved_masks(pci_bus, XEN_PCI_IGD_SLOT_MASK, 0x0);
 }
 
 static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
@@ -970,7 +970,7 @@ static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
         return;
     }
 
-    if (!(pci_bus_get_slot_reserved_mask(pci_bus) & XEN_PCI_IGD_SLOT_MASK)) {
+    if (!(pci_bus_get_slot_reserved_auto_mask(pci_bus) & XEN_PCI_IGD_SLOT_MASK)) {
         xpdc->pci_qdev_realize(qdev, errp);
         return;
     }
@@ -981,7 +981,7 @@ static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
         s->real_device.dev == XEN_PCI_IGD_DEV &&
         s->real_device.func == XEN_PCI_IGD_FN &&
         s->real_device.vendor_id == PCI_VENDOR_ID_INTEL) {
-        pci_bus_clear_slot_reserved_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
+        pci_bus_clear_slot_reserved_auto_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
         XEN_PT_LOG(pci_dev, "Intel IGD found, using slot 2\n");
     }
     xpdc->pci_qdev_realize(qdev, errp);
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index 935b4b91b4..7e941e1c87 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -287,9 +287,9 @@ void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
 void pci_bus_map_irqs(PCIBus *bus, pci_map_irq_fn map_irq);
 void pci_bus_irqs_cleanup(PCIBus *bus);
 int pci_bus_get_irq_level(PCIBus *bus, int irq_num);
-uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus);
-void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask);
-void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask);
+uint32_t pci_bus_get_slot_reserved_auto_mask(PCIBus *bus);
+void pci_bus_set_slot_reserved_masks(PCIBus *bus, uint32_t auto_mask, uint32_t manual_mask);
+void pci_bus_clear_slot_reserved_auto_mask(PCIBus *bus, uint32_t mask);
 /* 0 <= pin <= 3 0 = INTA, 1 = INTB, 2 = INTC, 3 = INTD */
 static inline int pci_swizzle(int slot, int pin)
 {
diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
index 5653175957..3c2b3b8e32 100644
--- a/include/hw/pci/pci_bus.h
+++ b/include/hw/pci/pci_bus.h
@@ -36,7 +36,8 @@ struct PCIBus {
     PCIIOMMUFunc iommu_fn;
     void *iommu_opaque;
     uint8_t devfn_min;
-    uint32_t slot_reserved_mask;
+    uint32_t slot_reserved_auto_mask;
+    uint32_t slot_reserved_manual_mask;
     pci_set_irq_fn set_irq;
     pci_map_irq_fn map_irq;
     pci_route_irq_fn route_intx_to_irq;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 05:14:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 05:14:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509893.786585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcJSc-0006Gx-Dj; Wed, 15 Mar 2023 05:14:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509893.786585; Wed, 15 Mar 2023 05:14: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 1pcJSc-0006Gq-AR; Wed, 15 Mar 2023 05:14:02 +0000
Received: by outflank-mailman (input) for mailman id 509893;
 Wed, 15 Mar 2023 05:14: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=unbF=7H=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pcJSa-00061o-Jm
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 05:14:00 +0000
Received: from sonic315-8.consmr.mail.gq1.yahoo.com
 (sonic315-8.consmr.mail.gq1.yahoo.com [98.137.65.32])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2f3cad0c-c2f0-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 06:13:58 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic315.consmr.mail.gq1.yahoo.com with HTTP; Wed, 15 Mar 2023 05:13:55 +0000
Received: by hermes--production-ne1-759c9b8c64-f7wvp (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 96a4225277b909cacfff2106b7580bc2; 
 Wed, 15 Mar 2023 05:13: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: 2f3cad0c-c2f0-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678857235; bh=Dvm0+j349dR++2RKACkaePAlEc9RP8c6kRaeARHbS0c=; h=From:To:Cc:Subject:Date:References:From:Subject:Reply-To; b=KtugQMHpl1GDXmWLhvIeiXStzBNKV07gFILGczba8cpuySr9DStKduPMQbgtTgmYi0ad6HrKgoGg72PLwyj9C6gjyI1lA64+T6J8bJqhvOIFtCYPa2fnHz+Y/JH/uD92wxu4cqj1uTx4+HBE0B7j974ScdP4IHQrZlOoWZv4sVQEU9RNMVYJ+HADi5f7X4qDFGPwbJWyLD0wj2onDNqis5e8PSw9Cc4YhOAi0SuhJEPfKX2FXpeM1vAuqsN+CYrmXqk2SHYJbzqVXVR2a8eZ7r5hxNjGKsw4C4O6Gb64MZcIvud6kQ5Bm4G7+V+J6qbz04LM+pjTSfT2QGr2JsTz0g==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678857235; bh=lakcgKceV7+sNyPhB709BIs8Fpptwv2jTTrLYiIaQj5=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=aKjVtvuFNnC7dZnMBWajr7pbanadmpFwSFIDaYbehtxX2+JCG9kLoPlmUMHtEGA7dyjOG7Dzb8T3AovemZaOtkL5L1LnawXYiAYVigBdszuShkeyhwcCVVl3/AmEu8b/IgZcVS2c0RbzjOmhGYT+oZ5D+bWownR3yWR/vwsnKWTXucpLbQlPKiMxrFJqJ/5il/jmp2O9JoEchVys4TBPQ/emAdCRnaxbQFsKtGiSUpBYK3xjjnSnd5HJLhKu8Z4lHmK8qrTZUUUwOnrTVvHfqefBrgJLXLKWT9L5dGWQ8j2FEhOpJN4ZpgYPOzHlIWJMxSN9IhzbtY1q+oMWmmY1uw==
X-YMail-OSG: zVdoTbMVM1loPPhTgc_WHr6exeMAHqDEUoYbqb.M6GCMd3DRTDwgGi5Y5I8IjP.
 5QA.Le_Ccvq8dAfMSxbdnFsZiPaKd2BwF929F1vnSukbFNAXvDjTNuUjxFFlKTIs_W.AlieqSjD9
 zOK8ZlNATBzPrcd.DJKu8Z_Y7.sXAiPQBTjhCHKBGct4p.3fpcfHAd_HblgQIgI.PKmr8Wy0V6k7
 CfAmeuywKvDKjwRf2M8KKt62Qg.ZfY1JdAJZ_kS74QD1ulm64kXIIxEIWMER9y_z64bFzZFP765p
 pSJtwiv.3HWGmZPPGUGO45KkFdkjua18Y6yHcU9ZEXkIcqSRJp5aR4Z0LNul.eLEaoUlo2Wy7ji9
 vOXgV312R35Bo4jBtO6sOfiSmcFtU7E2oGWbcWm.S3eEQhPu_vDcgw7de7tB3J9bbtXrPf6LjnZ8
 nv1KFVCG6Qi_5bLNqPMZhzr4P.pUtRFPcTAq.Ep9XtJOM93S5X2NvsB2k8CEHKF_CtdnwmKL3FPn
 9sIY6gWcPDNH5wRj73urAenpaZMJfTLma7ULZYnXvZsKllp_wRdTADK591sUknJz3lKV5jyGrqd6
 PmVlplUJrqMoGy99yaJvb7lIlnqYZ7h4OH9703q.enIF7IzJlsrFBl84DEB2aAVHZaAWxr.PXhTF
 X2UlyU5yJ6e_qt9IVSdZ0wzFtSjLe9cFaMG4NS22O7iSyFxF0N46rCazNHx5ic7N.vOkmi5jDNr1
 VBhhsm.fvjvWN4SXRXXKEb6u.zishr5EUAu8a3lyYOOvux5yqUlFw0MLZJgj3yZEQ5tgNF15tbSb
 1uHssjc8Hi6f28B00H5QpgGm0KA63SB2.asp0L4YvMikcJMHTXvvUpISaS7HsrG6EcYVW2WPYFNg
 66rEf_agmMWH_O7SyQxlC6_bPFK2ZI1k_5hJfNXtTvEFqqGlyWGrRaXOhQ47CbDtZdC4T_stQ6uo
 QU29LlHpsXeqwAMWZ5LpVFT3JDp95CZKcF9GixxX.wXmgrR5.KvXU1kr._1G63mGSQ60_Xv.RMt_
 hcA4zlZOTNtPZtSWt3ksGkN_x2WE1oy5dYBwkWHWwsYvss0hTT8JnLuyrQ9q5qta3DF.UJaOfQtw
 Jq0wO6sCly83fTpyIMUYonB2B6T1SjQZWrfnAuNdn36S3hJhPRBb5BkFtdaSs6eMm5M75mvcyC4B
 YQylVQ4O92lqbUbWJGscHgb0C4gZ0eA6ebVmaDx71XhrSppwcbsYYIJJ8Fg63eW7vhUeBY30ou1y
 Mpan63GOJmHGAl7nb5n68YYVzQMHZDU7Y5G9p1FOLce_USarP8jrfvCoTouBO4_4uJqnS0FEQEGC
 BI1xwAcbcKlaihOWkzXsnpOCbI2DQdxIeKQsFMlEVrovSUnCdDYPElVtazqRwRXf4d73sCxG6cbH
 dkeloA5huRJmLwFG_HV04kqp5918fd7p0PKBeAg0ipjUG5EgB_grJ9E7LJNToSy0EpK63jSjN6oE
 eE2Ze7sOmsnBeBTBcEnGC7EbB_.22IFwv8pS35AX2OmTN_h4QdfVXUDo1hx3iyan3Nup9An9eMeg
 _ERLtFapsFyPCiDOBtUFkm7Lq4_Dh1oDn7z29tg5a7hAsIcgiv1_zhUcAGoWfvL.Fi8l3Z5ZS2x1
 hkvnOG2uXQnb7G2aBDnINzQCOvkcg0keyXGD5JrtVCkUauhoAFhDZjwR2pBOYa5pyhPaA4FQ5fv7
 kxTUrrp7TNMr07YycoayYs03vnFo8L.s.igcWl6fGoJkLHNaJsdZQejZubKO7mvID6vxu3bMf71e
 EN7.UHmi98AtB0i7Fgyt2YbWXVgrOVJebMY5kNd2y7T3Vv7vlsVN6gjZdiDPALkFPRjNBWCl3ND7
 SQlBaHygn6C3BBo00LXEsNSQ75p9OxWoF_n7sKAM0fHBNOzQSQZowF.BPb5.TY4X_UrssKP.qnXE
 7hqfV95ln_1tCSKmNXawyZaoZtqLZaC1jZ72NAKPP5HCMGMQ57YD6R0sHN2lmw7zMbNAhYTKYGx8
 ZhrTAQM.5z7okRMdGGL.DRiQ3J3AmCjTOqup7x5l8PPOi3Hws77SFlEtaQtZpZ1muTH0XMtQ4jLP
 oZuh4u55fHTtFkYk3K7M2nkDYBzOEPcV.ZFEYzxhCqls5hVj1eKyQR6_s4biSIkkc.1TWQQ.Zb9.
 DDQbWH65WD9JngH_nnTce2drPfhFG9ZK8dK1M3lU.oVmoVMlj6zykfT7W2Ec3F0v1p96nGvGumK6
 E_g--
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 2256c2cf-d671-423c-bebb-9e20782933db
From: Chuck Zmudzinski <brchuckz@aol.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v3 0/2] pci: slot_reserved_mask improvements
Date: Wed, 15 Mar 2023 01:13:40 -0400
Message-Id: <cover.1678851637.git.brchuckz@aol.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
References: <cover.1678851637.git.brchuckz.ref@aol.com>
Content-Length: 1984

This patch series consists of two patches. The first provides accessor
functions in pci.h to avoid direct access of slot_reserved_mask
according to the comment at the top of include/hw/pci/pci_bus.h. No
functional change is intended with this patch.

The second patch replaces slot_reserved_mask with two new masks,
slot_reserved_auto_mask and slot_reserved_manual_mask so the current
behavior of reserving slot 2 for the Intel IGD for the xenfv machine
will be ignored if an administrator manually configures a device to use
the reserved slot.

The current behavior of always reserving slots in the sun4u machine is
preserved by this patch series; the patch series only changes how
slot_reserved_mask works in the xenfv machine. Although the patch
series can affect xenfv machines configured for igd-passthru if an
administrator assigns some of the pci slot addresses manually, it
does not affect the libxl default configuration for igd-passthru because
libxl uses automatic slot assignment by default.

Testing:
   - Tested xenfv/igd with both manual and auto slot allocation - behaves as expected
   - Verified that qemu-system-sparc64 still compiles with the patches to sun4u.c
   - xen4u machine not tested -- Mark, can you do this?

Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/

Chuck Zmudzinski (2):
  pci: avoid accessing slot_reserved_mask directly outside of pci.c
  pci: introduce slot_reserved_auto_mask and slot_reserved_manual_mask

Changelog

v3: Re-work second patch in response to comments/discussion of v2

v2: Add first patch and cover letter to make this a 2-patch series
    Make changes to the second patch (see second patch for changelog)

 hw/pci/pci.c             | 32 +++++++++++++++++++++++++++-----
 hw/sparc64/sun4u.c       |  7 +++----
 hw/xen/xen_pt.c          |  7 +++----
 include/hw/pci/pci.h     |  3 +++
 include/hw/pci/pci_bus.h |  3 ++-
 5 files changed, 38 insertions(+), 14 deletions(-)

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 05:18:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 05:18:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509900.786605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcJWW-0007mq-CR; Wed, 15 Mar 2023 05:18:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509900.786605; Wed, 15 Mar 2023 05: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 1pcJWW-0007mj-9H; Wed, 15 Mar 2023 05:18:04 +0000
Received: by outflank-mailman (input) for mailman id 509900;
 Wed, 15 Mar 2023 05: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=dncz=7H=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1pcJWU-0007md-Ko
 for xen-devel@lists.xen.org; Wed, 15 Mar 2023 05:18:02 +0000
Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com
 [2607:f8b0:4864:20::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be581796-c2f0-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 06:17:58 +0100 (CET)
Received: by mail-pl1-x62f.google.com with SMTP id ix20so12351625plb.3
 for <xen-devel@lists.xen.org>; Tue, 14 Mar 2023 22:17:56 -0700 (PDT)
Received: from localhost ([122.172.83.155]) by smtp.gmail.com with ESMTPSA id
 bn9-20020a056a00324900b0062578514d6fsm1856054pfb.58.2023.03.14.22.17.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Mar 2023 22:17: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: be581796-c2f0-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678857475;
        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=y8QmKYcJg57HlzpunFUH9MGPifRoNDq8hXq0hFkxBNA=;
        b=abtA9w7+N9PnFhqJMTS1vxekyB+/9TRZH757nvWjC02O4HuYQfEbGMmD6ICW7rMFjY
         /VmGD+DSb6byIkc6ilrxJg1Z62GJqLpixlq583fSkrd9N8zzlEq+PUYLqbCjGsD6pZzr
         lNMKud71kSuDbnS5pru+h7MQGeq3nXJGF1+5NYUsY0V54O243pKtc5WzZ0NVCCDd6+Rw
         3bhP/Nawtapv3spmtMwhDzE3512ZNUdt9CaHz4T4WJge5hudYtFOTxOrQLUGqX4uXum5
         MVBH2rVWKsGPVjryEipxT4zwgFRep8zhaSYlfOQGnMfpK3v0H9FUXboiFoC4LXZ5B6gr
         0UYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678857475;
        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=y8QmKYcJg57HlzpunFUH9MGPifRoNDq8hXq0hFkxBNA=;
        b=szIsT3n2C/JCn811+7gw/TL+lnQLxtbRy3gA9H7l+0tgkYZkrKMIYjg+6E74vqB/CQ
         uaWhNLyyQ1GemHkIlbfHcNhPyt90hzSVBDe/EY9bnC1pypD7QummsPu0LgJd7/DzQiXa
         5KmHlR846uuHM6Cq/kPh5AvHOm0lBCNMJ7MdLONCqcB2nouLZ3c2E3s+hVVMXQlu47MY
         lB8TGy5+DRL8bb/mpcFGgz3U5A29s5yU5OdWc1cBfdICMiuIJwGoPm1jh1Qu0IKLQp10
         9McmJz+AqCb32MWu0+6z9qqzIwAmOlG11UPcANe4hGnLJI5OeR1I3bZQOi4rAZtsDe0y
         zURw==
X-Gm-Message-State: AO0yUKVnyUe1CZxZHqbzeSZqHXJms936Ax2i+PzbZQD6QRw/Ny6+gF0C
	MxlAEA+5jBSnW97myWp6XG2MNQ==
X-Google-Smtp-Source: AK7set+v+08YLmgVZIkdUoqQNIHkvJTCWU5NZ9zfOm8OmZpJiNuz6CJzunAVmSRk/ShmWB32e+7zgw==
X-Received: by 2002:a05:6a20:7a1f:b0:d6:f0:85a with SMTP id t31-20020a056a207a1f00b000d600f0085amr1351227pzh.17.1678857475344;
        Tue, 14 Mar 2023 22:17:55 -0700 (PDT)
Date: Wed, 15 Mar 2023 10:47:52 +0530
From: Viresh Kumar <viresh.kumar@linaro.org>
To: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
	Stefan Hajnoczi <stefanha@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>
Cc: Vincent Guittot <vincent.guittot@linaro.org>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH V3 0/2] qemu: vhost-user: Support Xen memory mapping
 quirks
Message-ID: <20230315051752.2owlp26mq72dqel2@vireshk-i7>
References: <cover.1678351495.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <cover.1678351495.git.viresh.kumar@linaro.org>

On 09-03-23, 14:20, Viresh Kumar wrote:
> Hello,
> 
> This patchset tries to update the vhost-user protocol to make it support special
> memory mapping required in case of Xen hypervisor.
> 
> The first patch is mostly cleanup and second one introduces a new xen specific
> feature.
> 
> V2->V3:
> - Remove the extra message and instead update the memory regions to carry
>   additional data.
> 
> - Drop the one region one mmap relationship and allow back-end to map only parts
>   of a region at once, required for Xen grant mappings.
> 
> - Additional cleanup patch 1/2.

Stefan,

Does this version look better ?

-- 
viresh


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 06:50:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 06:50:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509906.786624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcKxb-0002LJ-0o; Wed, 15 Mar 2023 06:50:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509906.786624; Wed, 15 Mar 2023 06: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 1pcKxa-0002Ke-ST; Wed, 15 Mar 2023 06:50:06 +0000
Received: by outflank-mailman (input) for mailman id 509906;
 Wed, 15 Mar 2023 06: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=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcKxZ-0001yy-6h
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 06:50:05 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2062a.outbound.protection.outlook.com
 [2a01:111:f400:fe13::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b313796-c2fd-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 07:50:03 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBAPR04MB7445.eurprd04.prod.outlook.com (2603:10a6:10:1a7::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 06:49:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 06:49: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: 9b313796-c2fd-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TtnsFPvRI+ZCQTi6LDD1S9e0ihawTzV3SkGeWaXLE09RhbU4u1yw84di+bAAk8gy5ju0SbJuulFX4UeRYoEP480kmhyH7J7ClO/j9MT2Xs+CWbuKyawAhO5Ly7GDFU5+hVlEEEgSwDZDrq52vmzGaIY7nn7X3eXO/gboSL8HpZLLqD3DmXUlfaScuSrJUv6zsivuqArig/NymP0oKHD+4cFsAsWzyu8AIIgsjLG6rIE0w78G/8FOeR9IX+3Wh5zlIiIne6ENG11V+CZRyRfmMJkN7JD0emcF3e1e6bVqApvJCidDiW9HSPxLepnijj4XoY3yzpuNrP5g29Gg6Zvf/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=jzbVl/yx5DrEE6/AjikLXbhVVWbYOKgadlMTX5tIky0=;
 b=ksFv/4W6hERb6StSGK7bjp+4ECt4bhwxLvPegIouq6JVrQcjpmE20Zd0SKHMUkyc9/4IMcvkxOj6SK5N+xIxmoC02jnhhW1LYf1YYgkV+eZirTsahTz2UfIosCln5ssYvyKn9xZQ8/W1AORqzFP+OhtcnUfgr1YWiT/2SQQ7Rrk5AERetAziwS43UVucMsjdIB1VjP7uIq+qf/SJpCq+NA9t89X7tVAq58NVxX/dFUk3NvDg+b7kEIJoyqPfh4tNJFNEAr1q3vvJs35Dt/aWjbQd/lKXk8ShF1GmC2XMWJcfiue9IHcdWIN/1tAF7GLBHMzrBQwWfKgdKncdgyzZNw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jzbVl/yx5DrEE6/AjikLXbhVVWbYOKgadlMTX5tIky0=;
 b=LY6XifRS1dF1S/xHyDHLsrcgUEe0OV8C9+jnJq7jRDQAKgVd/a/Tyc0tZXDzH+hkwIaXUgWGrNJT2SR5sMT2rCT7JflEZE3YVtBipOCsENYMpao27U9Zy1Wn581OkW4HolIFc+KGxu1pduoHcwyFayNazQDKNxYi/wF0sI6OFwjQrhyBlUv7zso1ZsEg1q8jPObMY9zF5apLWxX1cKnnwDLkgg8fzsoMy6AsLxVbEm3VKCwVAVa4KfkkAPuEg/OtM/WIIN17xKU0u7soIv9Zmi6WSFcAHPATWJrscdjuo2tLhbHhb8TKidyQX/12wvJKoposUPqXLXiLBr3gH3fE6A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com>
Date: Wed, 15 Mar 2023 07:49:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Huang Rui <ray.huang@amd.com>, Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, Juergen Gross <jgross@suse.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-2-ray.huang@amd.com>
 <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com>
 <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0139.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBAPR04MB7445:EE_
X-MS-Office365-Filtering-Correlation-Id: 06617256-5f83-46a7-42fd-08db25217d90
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:
	IlAfPmXT9aa1mtt7WVL4rK5C5Wte7MHYwjaiMSgEceraEJEhBjT2p5G8jIzc+5alZiVt/D7+XFhH3sJf7r5odUEpwf5A9+k+dwaXDv/T/dJ/UZiyjqEWTIxgZ28P3VE+7zVKL2wO+cxQGm8+1cG2gJF8lZkiZm0VSx9gsxBOFdj2Wze0+n9wy2KwI+g88tRsUNCkMvXzA8rmTxxME/gpP9xKEXrQedoC//jWi2AONgo9kQ2T5SdzzqUooXg4xUqy/51SMeJ5FXsw7djEpcLTRKIEOlZzckBQYSsAUvleTuScQ0CWzSMjMVPrb/tnQvgms96W4N3FzxAeGEHeazLUyjPtKTz7Oqt9bNIRPF1o8VmU7tq9YBv4QtfsNEtTH15tZEjRKIZ43t9iQtL8vdV0aZlECvCmtodtzlFl1siAN/G/SGmzoYOXcQ4BZ25ko4/GzLq3qXa1FubSNsmMaKuZnrvIZYLqMQh3N26f1xFRo0gILcfBI++zt2ztd9zP05vyiPkp1gb1JsbTc0OpD+yidT39tR6+3J0QoOZYvWUz40Z9pQFrReRZSNSELLKtbeIvXQ0LNaVT8jjTsarfpiewtJ9WAkCzaMmZk6vnaoerrdb6EdRZuMg6v+awQtIlw9kJG76l/9jVcQv4JJwo1O6Ymzd17CzJh2MtpXDzmNyRfASLIyH859+c1fx2ilm/uyh6gUfCjl8S1Dv4li83T8/64Y0vfpzcx7RFzmtmhUw86AY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(376002)(346002)(366004)(39850400004)(136003)(451199018)(36756003)(7416002)(5660300002)(83380400001)(478600001)(6666004)(6486002)(6506007)(26005)(53546011)(6512007)(2616005)(186003)(66476007)(66556008)(66946007)(8676002)(6916009)(41300700001)(4326008)(8936002)(31696002)(86362001)(54906003)(316002)(38100700002)(2906002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MjN5ZDhJY0huRTNMeGxNbEV0anM4RitmUnNTc1hDajJMc0plZklDT1pUQWNR?=
 =?utf-8?B?cldvWlJqS3lLZ3JHdnhva2g4NEFPQjhZdURqVXM3Q1k2YW5PWS9YbGxOUzRt?=
 =?utf-8?B?OUxIdmpFaFQ4bEdwaVRQSTZqTUhGaEo0WW9sRzRnOTUwYkx1VlR3K2dTVWwr?=
 =?utf-8?B?YzNrVkd5OTcvMCtJRzBCckJENnpMS1NsMWo0UmZIL202NkMrQkl6V2lRb0Vj?=
 =?utf-8?B?ZXBFdFZETE05Yk43MTVEWStpc0tNS0tGOXgxRUVJQXpMSEt0eXFnUDhJVGRp?=
 =?utf-8?B?ZE0zYUliUzJSMEUzMk5UZHpTOE10dEhLR0l4YVJWTzBmNTBNY2NkcklMT0Ns?=
 =?utf-8?B?VVA5TEhmM3RKditYS3hPalJ5UC9tcDBTVFNGVkVPVzhZSzZLWVFOZVA1OWFC?=
 =?utf-8?B?L2ZDN1RkOXZ2K3NkRWdPeEVYWnAzUlJuSkVmQjdtNG1wSUlXeStsRGdTTkxj?=
 =?utf-8?B?OTBTSmU3VjJzRWdrTnZza0VORE1Zd0h6VzNiQkc4NW1ocW4xbVFWQk9leUNq?=
 =?utf-8?B?OXF6ejJGQW9kdUdnNGM2SjcwVzdzQkFHOCt6dm9JMnlFTG1PUzdxMzJ4SlF6?=
 =?utf-8?B?Tzl1NjAxckk2cDl1ZGd5VmpnVWM0SjRuUkZrc0s0TVhkelhFN3hBN1UxZWpV?=
 =?utf-8?B?RVVvN1V4ZzM3Rk5jczBLMTk1cXlXMWpQNEdOQlEwSVlObnc2MXNNMEhwRzVh?=
 =?utf-8?B?WEp4d3RDMVo2QXBlMkV0Ui96SWJwbjFTZTdnelhVOFQzUlF1VEFEZVdiMy9j?=
 =?utf-8?B?cm52czllN3M4amErck1MN2VOb09GNDhOVjh1anhTVnEzYXRibExUT05ZYkNP?=
 =?utf-8?B?UlhLQzBNcUoxNGFnU0xCZjRiNjlQVjVhWlBnTW9JNWhTMGFHdGY3U2hDWkx5?=
 =?utf-8?B?RTBnSXVmYXhRRGNzTEF3RlBYVU9WVmZBN1E1bjRTdG1DQmJXL0ZVNEdXS1hP?=
 =?utf-8?B?WTJ3SE5pREdGYWNpQllHT2hvSE5QZTNvM01UOHcySWNpcTVRMzZNVmRhVDlG?=
 =?utf-8?B?SlRBTW5PbGxvZ3F2cXZ0QVdObmY0dDZJa0E0cHVjeFh5enhqY254VFF3THF3?=
 =?utf-8?B?WkY1Y2tzTjRjQzR3UDRlUXIzc0hoNS9ua2UyZFZrNzRBNFM5Qk8yZ2VwRGFB?=
 =?utf-8?B?V1UxcENQNkdYbmJrRlozMHpnOXdrTXRWYVJNQk9JYUlkWlo4Q2RMTFgvOFFE?=
 =?utf-8?B?dmNzV2M5YTc2aC9GMWJQNVl5dDl0UmV4VklNc3R4VlNXYW15Mkd0ZGc3WExD?=
 =?utf-8?B?VDBEMms0WmpNVXczRlFJNnFLNjhBQVhtRVNrTGJ4RlRKOUNObG05WDdkeHBB?=
 =?utf-8?B?b28yV2pMck00WG9Dcms3Mzh5ck5VUmhPWS9PUWtaTVczS2oybUpidnh6U29E?=
 =?utf-8?B?bnAySlNxTkRBYVpBZHdpZ2U1M2JteWJRVTgyN2JoL0hVcmdWK08zMDYwVEF1?=
 =?utf-8?B?RGdESnErM0s0VDgxWXkxa0I3TkJCNzZrN3JvaFo3T3NZZ3NsQnJCZkFnSVlm?=
 =?utf-8?B?d1FWWUx3RXBZZ0FMaGRhQkF6UDN5dFJ1RVpPOU9lKzZsN3F0WTAybWI2SGVO?=
 =?utf-8?B?YlF6UldYN2laNTlUVU1iOW8xV2ZhTThPczNLNk01VU1KRnJERnk5Uk0yYnU1?=
 =?utf-8?B?YnQ3NlFQbHNZS0lpTGxpcWh1WFhUNVZUZTNta0lkZENzd2JKa0NKWTJwL1Jh?=
 =?utf-8?B?QktvQ3lKN2o3MVNVMzU1UVFZM2hwLzdxbzd5OGxyMG41ek1lQ2NYMW8rMldN?=
 =?utf-8?B?WjJQcXdrcmE3d0w1NDc3aElOeXBCVGYwQU42cjVUd3RoZ25HS2FQNE4yZkEz?=
 =?utf-8?B?dlZMajZQNXlWT2xmaC9rQUY1VlpydFJCT1kwdTcxcWx3anFud3dxNXQ0RFE5?=
 =?utf-8?B?VHVPSDUvbS9wcHNteGlsbVA0cTc1ayt2dTVSa1BGeVVHaXhUTGdWbXJEK3Y1?=
 =?utf-8?B?Z0I0cy9uK2NoaXBEdk5pN0t2ZTJyQm1weHVJU1IwczZIeE1YT2U2TUJoMGNa?=
 =?utf-8?B?cXBVbEQ2RXdlOXR6YzhSbmlmV2Q2KzhRWFZLdjN6V0VsYk1VRVhNVUUwN1ls?=
 =?utf-8?B?Z0grMTJzS0IzTTBEUGJWcmVJcE1VcUFFakllZHhuSFhEcm1DTlhHU0N4RElS?=
 =?utf-8?Q?RDC+kEvfm5GlxIdh/6CyiglsP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 06617256-5f83-46a7-42fd-08db25217d90
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 06:49:57.6936
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DnfelH2g0m+8jfsfZsnfdbaZEgAoSmTBn/mC+WznUvdWV9/BZovw7KTH+VGGL9SHdRx3YaWN8k/3I+gatVbDfg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7445

On 15.03.2023 01:52, Stefano Stabellini wrote:
> On Mon, 13 Mar 2023, Jan Beulich wrote:
>> On 12.03.2023 13:01, Huang Rui wrote:
>>> Xen PVH is the paravirtualized mode and takes advantage of hardware
>>> virtualization support when possible. It will using the hardware IOMMU
>>> support instead of xen-swiotlb, so disable swiotlb if current domain is
>>> Xen PVH.
>>
>> But the kernel has no way (yet) to drive the IOMMU, so how can it get
>> away without resorting to swiotlb in certain cases (like I/O to an
>> address-restricted device)?
> 
> I think Ray meant that, thanks to the IOMMU setup by Xen, there is no
> need for swiotlb-xen in Dom0. Address translations are done by the IOMMU
> so we can use guest physical addresses instead of machine addresses for
> DMA. This is a similar case to Dom0 on ARM when the IOMMU is available
> (see include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect, the corresponding
> case is XENFEAT_not_direct_mapped).

But how does Xen using an IOMMU help with, as said, address-restricted
devices? They may still need e.g. a 32-bit address to be programmed in,
and if the kernel has memory beyond the 4G boundary not all I/O buffers
may fulfill this requirement.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 06:52:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 06:52:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509908.786634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcKzr-0002xP-Cq; Wed, 15 Mar 2023 06:52:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509908.786634; Wed, 15 Mar 2023 06: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 1pcKzr-0002xI-97; Wed, 15 Mar 2023 06:52:27 +0000
Received: by outflank-mailman (input) for mailman id 509908;
 Wed, 15 Mar 2023 06: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=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcKzq-0002xC-9f
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 06:52:26 +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 f1783720-c2fd-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 07:52:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBAPR04MB7445.eurprd04.prod.outlook.com (2603:10a6:10:1a7::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 06:52:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 06: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: f1783720-c2fd-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HnIGa4bkFquuXCrxE9+j1anhsQC1T3IhzNm12CL1d/B/jHPSDI+WPapCM8BoUt6XoGKCKvzzfevryT28+RInI3rU5kF2qo04iCaoi+Hpvu8ulWCeTVts/wNRdCzQBLCMe54efLTI63QgMJQkD+qOWXQUg831yqxGZAAuARIsCmVfnpKSGt3WKzaZnwtlWp8qbF2rHWj4YCBmB20t4czlVX5XCLGB3H1C31U5kHn6iy3PgyV73gzurpqsQDnmlf00oDabSSoii3zIf3RKnf4Hk31N7BsMGVBU3QZZWPKOZKmqlpD5FrUq7u9xRV9TdLTPc9zNHLGtRhXAXf7Hw+6qmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CgJ/4y+3OdzOCLSAi9fZwcyeMn10s23vUP6pYpL7MAc=;
 b=ImUVv61nHY2pHMVtIhadU9+xT9XJCzt6HkHkDm9VQfslw/squVeUgfG1KePdO8LU+7w8DYhB+VMPjjXyy1zROv1bvf3iwK8iBmn+nn63DnckOnU0Qq+qGLRjP0KQDUleGpHPsWSNIWLBrHCPwN7i7BTrvYCY1tcv83W71Fs+K+x5bZ2vwOIKFPzUDGj49C6iZtcJtjSo5KJUVPu9fNvhm9atvQrNRve+QE+Da/YUdQPd4BQvJ4CuU8XUFPb8SjQcKrjyYDA4fxfkpy3bMRJpnrucbwiwnfzX4omUmDMj1rtPlku8Fyj47BLTHYvZU72Ch2t4RsaKfZkE5b4UWp5bPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CgJ/4y+3OdzOCLSAi9fZwcyeMn10s23vUP6pYpL7MAc=;
 b=qatN1BYY9FSGqHsaFx+s2cKIQxO7tp51yot3GrHfM4JB9AePCjdCHJqTrmc5o2qmQx07+q3178WL0FGkSB+GYYGK9RlUYk3/LgndaZphixx+BCcsIXh3+MMS3rM3I8Mj0bDql35rzzcq49dJiE1cdWFCpoxlY+8EeObAOJcj1fMJK8lh1q2j9ot14WHvP0xJN+CfieltFwT9Jexr6vAJvglzm+ycCAav7ABdns+lVilK2SCCnSAlOKjjDHUOiln37JjSrTpEKESPXfArwq2DMHebd98m/tGAasj78L1zAR93IECqziFXHano5HI28N2jzib56oq069acRXc4uStHtQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d7ce665c-8fd9-30b4-bf86-8d6907a2c17a@suse.com>
Date: Wed, 15 Mar 2023 07:52:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: Juergen Gross <jgross@suse.com>, "Huang, Honglei1"
 <Honglei1.Huang@amd.com>,
 "amd-gfx@lists.freedesktop.org" <amd-gfx@lists.freedesktop.org>,
 "dri-devel@lists.freedesktop.org" <dri-devel@lists.freedesktop.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 "Deucher, Alexander" <Alexander.Deucher@amd.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 "Zhang, Julia" <Julia.Zhang@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=ef=bf=bd?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 "Koenig, Christian" <Christian.Koenig@amd.com>
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-2-ray.huang@amd.com>
 <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com>
 <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
 <ZBFGJUE0ahA4R9gr@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBFGJUE0ahA4R9gr@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0082.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBAPR04MB7445:EE_
X-MS-Office365-Filtering-Correlation-Id: 5ab30859-5335-404a-e1e7-08db2521d48f
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:
	n+1ZWZD0Sb2Exclqn0QVvcLfOIxb2pLTBEeGlUnxDPzgdikS+yBII6WTM/0XRUPJc+gCShZDIo02xkeZEzANGOm1lo4beQRF821W98yKue1+mPl9y0bte97VCZrzs2tKaZgcXQV5Ztc3I8r5y4yVixPY7yCwn3lr5csiOifQ5RWohJFPByXO8HfqUJ7AAataIPP1nU1CF4hpauVs5c5GlY3+NdNBWhd0cOrXj7jt5vREkdKnbc1xgoknZrtAdha45foBZ2JsaqCqw6RSDvZmScmKZcY7UZ/cijivC2N+e4/2Lp/tDTHbBKkfubJtjxKA5rvwA9Gim8yHGHS7Y+v4h6ZyYngzexha5EdqbFNETd/I6hGxAohK2qB9jtz7xsTEYQugEaRcItkmYlUU3ETArWqWUT6NvyZ9+17fbGsfFEPnOXcR5YOTl1tvSYtQcYwRpivno+BQRmi9cqC1+gAHxMZzw/YKNJmmDWMh2mP/sss1a1uruFmYXDVW/1Nvivm9XP2yGzbiLxGkrN70THCr2muLwKwIoiKyuffKf1KfPOnaoUlf4mDeGBbJQm2e+F1ynyBy7mFtRDIlmUZkyr3TmBW12Sxg/fx4+jox15vM+x6AkiA9QxhkKT9YvRCT9loT7QMy9X6ldqOel1fS7s+lLV5xZjMUg4QOHGkfnwVwPNyyHax+90XDh8vdne/DQzhH2lDeQsjKv/D1cBnDzZzdzcVL755dV0pNsQiQTIHXg7Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(376002)(346002)(366004)(39850400004)(136003)(451199018)(36756003)(7416002)(5660300002)(83380400001)(478600001)(6486002)(6506007)(26005)(53546011)(6512007)(2616005)(186003)(66476007)(66556008)(66946007)(8676002)(6916009)(41300700001)(4326008)(8936002)(31696002)(86362001)(54906003)(316002)(38100700002)(2906002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UFZxOElXbFVHMU5FOWlIcVBmdWJBK2dSKzl0TisvdFhZS2dUVXZpRnlMSktt?=
 =?utf-8?B?ZXJYRlZQSUo5OWhBS0ExQysyaXkxdHdWZmFCT1MrRXNwdm5ydHRSU2lkSC9O?=
 =?utf-8?B?cGxwNUNPNHpDajY0a1UwcTlFWkRvWk9taE92RStzK1RYT2ZSVDBreVhNK3ZX?=
 =?utf-8?B?aW5XWTNQYmFFaWNLcmkreEE4OVoyMFA1MnMvMy9LNnkxOVBTWndFd2tHckxm?=
 =?utf-8?B?RDhYQ0lRejh6cjNXVjNOYTF2VUwrbGhxQXUzVWxsN1F6ZDYrcUJMWm5TMjdx?=
 =?utf-8?B?YUE3Wko5MU5LUHF6TEg1UkxRemVZRDYzM01wU09Dc3VsTVlJODM5dS9pQUp3?=
 =?utf-8?B?Q1FIQUoxRUFHR05yUmpIeFdVWDJSaFFpc3A2SlYxZXNOTS85VUV2RE1DRmpr?=
 =?utf-8?B?TlVDWS9wcXFFKy9FalhMMjI4dWpFOXJ5elpPaHg2NDJ5U1BpdURldWtSRmNV?=
 =?utf-8?B?cmNuUHpvOEtCWmd5WEN4WXNjT2hkVStKRGtIUTV5a0xnTVBsZVhKMVJVU3N0?=
 =?utf-8?B?bksySmpVU2YrSkJHSzdFQVJuTVc1RlJ6VmtHVXJLcFovbVdOaGgwbElhdzlz?=
 =?utf-8?B?RWFoeWVsZ0RkakVIcjNNQlp0bllOZHdIek1nZVVNK1NhZnlRMEwxZUlISEpy?=
 =?utf-8?B?OXBaYThJaFp1bnVJQitMaklEb0htRHQ3dHBlbXR1OXdsUGVEY1BQUkMrRGpt?=
 =?utf-8?B?cm8renJudU9oOUttWWd1ZkZDMUpmdC9OSThFSzJaaW40YTVRQ1lKdzhVbDFz?=
 =?utf-8?B?QlNNcWxEcXByejFEUGJGb0sweFBjL2pHWEtTTzFSU3VTa1Rlc1RrUTNUS0k2?=
 =?utf-8?B?dnRkdDBKM2svcE9ieHIzUlBqbFMwdXBHWUhkenc5R2tnL2NyT1FhODV4TVlU?=
 =?utf-8?B?UzgrZHhvSy9DOGhoR0U3aGI4VXpJSW53ZWVKazRYNC9mcjhsWHJuTXorNjAv?=
 =?utf-8?B?TC9ndW1hZktmRXVIMmp2R0FTbTRSUEF3M09pei9HeExQZ1IvUEVCdzhZTkxD?=
 =?utf-8?B?REQ1dzMwRy80M2RsSzFpcndwMlZqeW95VFlRNE9BL1Vmd1d0S0lNWGRLNExB?=
 =?utf-8?B?MndjN1FXS2hkS0pjL1VXUldWOEp6ZGY5UUxxQ2g1bGthcTFvanBNdmJTaG85?=
 =?utf-8?B?S0JBc1JGVG9IeGozQUlNNkxmSXpxbVJxRUt0VjZKV2hCdmJKd21vTUgxRTIz?=
 =?utf-8?B?VHFYckhLQ3RkT0ZKN3N1YVRvaEVCN3lNSVFJL1dnTHVlYnNDeWJPNVdFanRT?=
 =?utf-8?B?TmVuTGU4a0tycGNMSDdpZE9IMnBTWjhQZXNqOCs4OFlZWjFyUTJLWldPQVA5?=
 =?utf-8?B?QUpST3pQQWVXNDBiUlVKUGdBWHFKcHJ5VFZHWldqOFNXL3BNcUN6SkpMUW9V?=
 =?utf-8?B?bmc3UzBhNjI3UFpWYlVaK1IwRUJISzhYcld0SzBqcGZpdGNzeHVKQUVoMTJ0?=
 =?utf-8?B?d1hEYjByNmFoR2w4T2VxdDlJd1NITWNyZHFKL2lNMjFZNTU5eDR5eExGSDJE?=
 =?utf-8?B?bmc1R3lGdEdTSDl6OEgvdHVUT0NNVEpUNDlsRzk3VGoxbWdUeGhiS3RRZzVv?=
 =?utf-8?B?SnhReWxHbzdybFg4b3BPNG00Nk9wSmRqbWNHNW1DeGhmdjZ1NEpoaE82QVJj?=
 =?utf-8?B?UDkvRk5qcGRiS0ExY1laemJLYmlBcStaK01JNFdRSkdxYmVPWG00bEZqa2tp?=
 =?utf-8?B?ZC9kRTdoL1JXVUw5dHI2ZFQ4dGdLeFZTZzNBSVFrREFHbUlGTjQ0U3VoaktK?=
 =?utf-8?B?VFBwUEZ3d0tQYmJFSkZiZzkvVmxUamtQRVBmY3pJeHJ5YTk1cy82RWkxcm9W?=
 =?utf-8?B?b2gxeE5ad1d3RGdnUnc0YytEMDh3eFRTVG91ckpwRVdTZXVubkg1ZCtBVERT?=
 =?utf-8?B?bTNqTUdrTjNzTVM1UFZrV2hCZnlDSEorcHA4UFZDUjZDRGpQbHVZSFlMZ1NQ?=
 =?utf-8?B?WThkdFRYM09hTW1zYXhxWTdBZVNPcENKMDQ5cG1NbUJwa3VjeDJ5SG9DSFB6?=
 =?utf-8?B?a3ZPbEt4U0U0ejFtZ1BLckNqQWxyVk4zaU5wUCtrdDB3VHVudithQWFKS25T?=
 =?utf-8?B?dmhVejZQcDdxaEhOdjZUZlZGdkYwTG15S1RFVE9NNXJCYnBaVnh3OTk4emQ3?=
 =?utf-8?Q?P2WZO67KXr6oqNfqShydK7MC7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5ab30859-5335-404a-e1e7-08db2521d48f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 06:52:23.6373
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wr4FUz3W7QSC9tI9ic70Pzda7tkaVKP1LzrYWRXKqav1dVtehgFBqtJQDjjYRCAdjixh+btX8ceg8rXymBYJFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7445

On 15.03.2023 05:14, Huang Rui wrote:
> On Wed, Mar 15, 2023 at 08:52:30AM +0800, Stefano Stabellini wrote:
>> On Mon, 13 Mar 2023, Jan Beulich wrote:
>>> On 12.03.2023 13:01, Huang Rui wrote:
>>>> Xen PVH is the paravirtualized mode and takes advantage of hardware
>>>> virtualization support when possible. It will using the hardware IOMMU
>>>> support instead of xen-swiotlb, so disable swiotlb if current domain is
>>>> Xen PVH.
>>>
>>> But the kernel has no way (yet) to drive the IOMMU, so how can it get
>>> away without resorting to swiotlb in certain cases (like I/O to an
>>> address-restricted device)?
>>
>> I think Ray meant that, thanks to the IOMMU setup by Xen, there is no
>> need for swiotlb-xen in Dom0. Address translations are done by the IOMMU
>> so we can use guest physical addresses instead of machine addresses for
>> DMA. This is a similar case to Dom0 on ARM when the IOMMU is available
>> (see include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect, the corresponding
>> case is XENFEAT_not_direct_mapped).
> 
> Hi Jan, sorry to late reply. We are using the native kernel amdgpu and ttm
> driver on Dom0, amdgpu/ttm would like to use IOMMU to allocate coherent
> buffers for userptr that map the user space memory to gpu access, however,
> swiotlb doesn't support this. In other words, with swiotlb, we only can
> handle the buffer page by page.

But how does outright disabling swiotlb help with this? There still wouldn't
be an IOMMU that your kernel has control over. Looks like you want something
like pvIOMMU, but that work was never completed. And even then the swiotlb
may continue to be needed for other purposes.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 07:11:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 07:11:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509911.786643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcLIe-0005sG-VY; Wed, 15 Mar 2023 07:11:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509911.786643; Wed, 15 Mar 2023 07: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 1pcLIe-0005s9-Ss; Wed, 15 Mar 2023 07:11:52 +0000
Received: by outflank-mailman (input) for mailman id 509911;
 Wed, 15 Mar 2023 07:11: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=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcLId-0005s0-65
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 07:11:51 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20605.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6da52ae-c300-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 08:11:48 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.29; Wed, 15 Mar
 2023 07:11:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 07: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>
X-Inumbo-ID: a6da52ae-c300-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ESbbwOv/8r29tGecZZ4KukTJhXpZj+9ZjJwyKO6Y8wKOLBeYyRp2K0LqyZick19147Z+IMKoA09pxnLPw20Bmi1xksYHHrH7fg387cFUucf2jJPAUAqujcwi34MdPh0kNrLB1MGvSF7MRhok+eO3bNvheSNYPB81SqradnVzY5oATxSEDCSml9JgEAj6IrJAvO2uDpB1IkctYIKrKhjq9eRY1j5ziZTEas2NnEDW0AImgSnauuONcRZOg1JHZ6VVTGG9DTvdxMnIYHUp1XJT9fh3XAmiZ4pZ/Vk10GyOc6sebqNR+rBcRU4d1ZphdJaMNZlx8ne/cdXJIvWRBYWCVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=umWaP3yPo1uMFAh8XNCRfHSYwRs2jY9LURlRc5AENiY=;
 b=ZxU1Z2BNppJa667uXS29JppvgWsRMXW6trol3v+bE0TD3YTszVk6UNd2WZ1aOMGHg5fQxojoON/mVcKtB4A74znlhCwqSEO5yFRtD4yQA1FBSwtTej94X0U62PK78/g7cc2l2N6Bjpp+Y2p8ovzHi2c7yb/Ep9qQfaUaRKygD/7EDkZxx9lgfSNvCE4HRLu0emu5P6+UAyu1h6gifa/xF7XcMJD0w9KGkVvB3pNAgQhxgqP6FVRCWzfwSXYhxEY+Ht+WoRLmQu+i5kNsbblKoJaTnDZsxJDgysPXo3ozzalsIbpTXB+L6kuGsZtbSjP/t8gLfnZzAGaohW70MnY3jQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=umWaP3yPo1uMFAh8XNCRfHSYwRs2jY9LURlRc5AENiY=;
 b=mAmsign5a9PfUMt1uRfBhW37v2YPDMJW7zb8ndDLQZM2rRbbQ9wvNPZBzx2GB/odyMl0ipozzt2/FcpLJ31iPR8oZVc5loEyWrlBB9VgN8TwoilMmpFoaVuq/gVaUjwRgRF9UFwEOq8PTxa083S58+6LkR9DoEajgGOhG1PxfQmDgksU++RT747y7PnuXdvY1H7OZYBk7Ag/Ah+WrQ8heSuhFnN6oYShZJvPXUqUM/uebQ+okgCKvDCOqno6IOUrE6BcOq2NGhaEN0tws6seVxP7pZ0dFTYI0oUX1WCmR4y8rXHQoS2HVPYkSxg5KkG5F4ZBwP3mZ7CSmnRf8iwrxQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <62999301-ee27-67e8-2bf5-c02c19ea2d76@suse.com>
Date: Wed, 15 Mar 2023 08:11:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v7 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Jason Andryuk <jandryuk@gmail.com>, Julien Grall <julien@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678368234.git.oleksii.kurochko@gmail.com>
 <671cd744b92f14ddc0c47ca471e03e3229cb89ba.1678368234.git.oleksii.kurochko@gmail.com>
 <3df43c25-6c06-0cbb-5452-c989511a7e15@suse.com>
 <192fbcf22a6c6e16498cc208eeb37fc6e08ce56a.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <192fbcf22a6c6e16498cc208eeb37fc6e08ce56a.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0128.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU0PR04MB9586:EE_
X-MS-Office365-Filtering-Correlation-Id: 48ccb41f-3668-4566-524e-08db25248916
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rC/Qeg2LE4pViO+iPnlI/XNyy/3VAb/nIzCbnChQKU2rsF4z8w9SfbwsKnW81RVWRJnSAxmjlXi5mvSCcfBY/XJP5h/RTNnu8qduzxmMqngC3oZmzadQyLtJNZG1W6YabEgKKkNFav2VBSx5Cs/Yt+WR1mrYNPD20A8BiDjI+NVlJd8ogfxj6+ACCBX+UYaDYEu+4IQRpjFfT+USb28vLOGM5ggUZS9CBmE56NUsgjSHqYXjJMza/nUEdhj+bhFY6ZKeyxu1R2LrVjTWxF7iGLQ6wGGfpTtUOsOImFAd748SEQJwHvbK9hVUYELqsvO9k+p35dw/nHcYKAI1biGgh6PRopONMse3hEzGuaEKjujNCU6hnpgIBCt17le7hpZ78KQuhgPmytvsQTRPtdjUbxgyDAmg7yiC2dj1UzTtyR9VNH6nURVqgjz4kDOiPvQ/etCPE54hkqRHTdssT0mH+ZrTsOfMiGWjp2nOOo6YV6jsnmcKigCnMo4vw5yLuw98t22fSnAE+GGJJru3KlWvViYjRT/V9ex8icEx/cdwV9aPiAl9UhAIReQo426uT2PAj1Ny+b3zdu8+8N0S+X4GVQaRTQgotONT/c5T1487mECvVK2oLIMzHS7leEfZvDF4KnbMwEyGxFD0KFfQd/RTDgZozZBAFwXelYdXkbkGWAZ05thoZAr0IjVlBble3HPSYbdKtj8NKjnUMD0A3ka3Sq8ZQ3I7HZ7OvjZKXBJE+gj3LWB9jQ0U05l9P0FmVv2+
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(376002)(366004)(136003)(396003)(39860400002)(451199018)(8936002)(5660300002)(41300700001)(6916009)(4326008)(31696002)(86362001)(36756003)(38100700002)(2906002)(2616005)(31686004)(53546011)(478600001)(186003)(6486002)(83380400001)(26005)(6506007)(6512007)(8676002)(66946007)(66556008)(66476007)(316002)(54906003)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGtmNGpKTVNOSWxPZ21DMkxtS1dodWFEMFh5bldnaE1wYm15WnpCK040Z1Z1?=
 =?utf-8?B?ZWN0Wks0dW1iMWxkRWhSQTZEL0tJWDRwRVVwU0lqOHUwMHl5aVFpTjM0VllR?=
 =?utf-8?B?VTVPUjhTNFdCVWlPV0x6NEdVYUx5ZVkrVkE4SEpiQVJibW1aS3FzVE5QSjVa?=
 =?utf-8?B?cVl0aFkwaGFKVTBFQ3FGTFhBWXFKK1g2WGRkM2tHbXhwRFpFdUk3Ynk3R09R?=
 =?utf-8?B?ZmtCeWNVZVpuU3pJeTVoY0RLc2hqSjhDODJrZGlXODM1dEJZZHdTRVptem5v?=
 =?utf-8?B?L3M4aWdOYk1SVjdPMFBJTmIya0hobG51MklTWGpMSDV0WitzaW5nUFlZUUFE?=
 =?utf-8?B?T0tuU1QxQ1huQnZ6WTIrZ01icW56c2JNaE5zRmcyZnhiNnByNWpkUTdYRFR5?=
 =?utf-8?B?U1dQOGZraTA5clBiRVVLR3ZXZUNqamtGcyt6eUJLYmF4ckVPSmF0TW1yZDlB?=
 =?utf-8?B?Z1Z3OHdqVlZmakNoYjloYlRsQ0FKVVFzVlBRSlFYcmJaOVNNN3lpVkc4cHo3?=
 =?utf-8?B?ckpDcFdKd255clVhZVMxcU8ybW9WdVdqVEhHclM4MVZoMXV3aXNFZmFkYmhv?=
 =?utf-8?B?OEV0ZHU0QTR2VkVtOEs2aVZRVUFzczd1RWtvaTBIb3FSZkRoUkJXc3BOcThG?=
 =?utf-8?B?ZjhZOVRHNG1ZSkNwcXJrUGxsTTcwbzBxS3RrRWpwdjJ0WEJKbStqd0Yrb2Ro?=
 =?utf-8?B?UWZaOWVwRUE0YURkdVhYZWcrakdqYjdiNkdpTWxpaGFldG1ZWXMwRUpzREpQ?=
 =?utf-8?B?T1NiMThUY0hUdnFuSG0zMW5NVmVndFRKUSs3UFRoSVBVdWtNQnBEQmxEZXl1?=
 =?utf-8?B?RVN5NU42REhZdWx3ZHBERk16elVPVzJMZmxsSTVoNEJ0ZWxsV2lveWJWRnQv?=
 =?utf-8?B?YVdqdStPSXhackxHMkk5RVJzcXg1TmQvUjB3QThVbjlOV2lCS0pkWXg5bVlm?=
 =?utf-8?B?SDlFL2JOQnZONFJRWkQ5VTV0N2VoT0lQVklFUldERTl2SXhTRnBMR2tuY2J6?=
 =?utf-8?B?R0RqOGpiOGN6V0ZzZndNem0rSjV5cTdWZFpiSVRFUnNFUnZ3MGJNSy9HQnVN?=
 =?utf-8?B?cFJrOXRkcHRkUXMxYWl1cmZHL0pNdWtZaEIyaU9QdDUwOUppbGppNjNORnJT?=
 =?utf-8?B?NVhmcXNFKzVOTk5SVEp3NHA0VDI0WVNqeklMVkh5TVZiWUpPVmRydmlEUEJS?=
 =?utf-8?B?Tk8xUGhFYklJNTdZd3R3d3F4cmlxQ0djTXBaV0xoaW5tcHpSVUIyR0htb2U3?=
 =?utf-8?B?aHZSZWF2c0xhVktpVjhzbG0xcjdUdTdtRm9jcjBPWmllZ25XOCtTbXFTa1Vu?=
 =?utf-8?B?TEM3d2QwMm53Rmh0STFVV3dhOWZjZ2hsSStKWmRrZ1pRWGJQS0xubE1XTmRX?=
 =?utf-8?B?TzF2OEpJZ1FWRHpId0tlbVJBZGp0MUpQV2JWZ0p3QnZobUh1Y1I3VG5ZNHlT?=
 =?utf-8?B?TWRRajhvcmVkcTd4RG9CWVI3QjQ0MUluUDZiRSs4OHdQNURZRnRuWnE5R0My?=
 =?utf-8?B?ZSsyRWdmOVVqNUExejg2RWtINzc5NkcxQmRxM2RjY1pLNW9OY1BsV0xwN2dr?=
 =?utf-8?B?eGFGM1M0ZkpPSWE3dkZEcENaYWlmOS9wMVFQZ0FrZXk4NkFYODRzWFoyZHVa?=
 =?utf-8?B?QXg2U0FOMGcrcElxL0JJdFVZR2RNQjVrWjdLNlhHNjFNNlNtaUJyTFBTOFFn?=
 =?utf-8?B?bTBnd05HMHF3OTFLUmRYTGljbkVoc2tDcWNWcnNUclZqRFNDa3VlTE1wM2R3?=
 =?utf-8?B?MEFxRHRsdjdMYzk1VUxUbjIvZEhwMmZUOEVsQytlMjJ5UVgyM2taN3JnLzZw?=
 =?utf-8?B?azRKNjl6ZytrWE5FOVB3R3RSc29TakVsMkFLK0lVaW1BaUg2Z2RadUl5ZkQz?=
 =?utf-8?B?dXZZbjlXSUNOYU51UHZMK29MVjhTUzlmcEZNMk5pNXppNWcwUTdsR0NKQ0tk?=
 =?utf-8?B?Qk5HaEtyWU9VdDBEeE16ckt2bEFWZ2x6cHM2WCt1ZzRiajRPSjFiZEx0akNR?=
 =?utf-8?B?b3h5ajlOZ1lxU1Z5YlJWTkh0WXZaY2lSaUNEQVhPTVdVQitQei9aZFhpMW96?=
 =?utf-8?B?VkdCOXY2aFpJME10ajFrYlJQT2V0WVNDZEtiRnpMRVNuekZCTlFnVFZFRGVw?=
 =?utf-8?Q?z9DblkJYfS4s/FfK/wNb/HNdp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 48ccb41f-3668-4566-524e-08db25248916
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 07:11:45.4236
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: axwL8d6phj6gekVLQIBC7HNsNKmGHk9PpEsWwMWJOkSJ2p33GAQYOMyPvciBu9AmxgYBvStD3IGBHWXaO4lHcg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9586

On 14.03.2023 20:12, Oleksii wrote:
> On Mon, 2023-03-13 at 17:26 +0100, Jan Beulich wrote:
>> On 09.03.2023 14:33, Oleksii Kurochko wrote:
>>> --- /dev/null
>>> +++ b/xen/common/bug.c
>>> @@ -0,0 +1,107 @@
>>> +#include <xen/bug.h>
>>> +#include <xen/errno.h>
>>> +#include <xen/kernel.h>
>>> +#include <xen/livepatch.h>
>>> +#include <xen/string.h>
>>> +#include <xen/types.h>
>>> +#include <xen/virtual_region.h>
>>> +
>>> +#include <asm/processor.h>
>>> +
>>> +/*
>>> + * Returns a negative value in case of an error otherwise
>>> + * BUGFRAME_{run_fn, warn, bug, assert}
>>> + */
>>> +int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
>>> +{
>>> +    const struct bug_frame *bug = NULL;
>>> +    const struct virtual_region *region;
>>> +    const char *prefix = "", *filename, *predicate;
>>> +    unsigned long fixup;
>>> +    unsigned int id = BUGFRAME_NR, lineno;
>>
>> Unnecessary initializer; "id" is set ...
>>
>>> +    region = find_text_region(pc);
>>> +    if ( !region )
>>> +        return -EINVAL;
>>> +
>>> +    for ( id = 0; id < BUGFRAME_NR; id++ )
>>
>> ... unconditionally here.
>>
>>> --- /dev/null
>>> +++ b/xen/include/xen/bug.h
>>> @@ -0,0 +1,162 @@
>>> +#ifndef __XEN_BUG_H__
>>> +#define __XEN_BUG_H__
>>> +
>>> +#define BUGFRAME_run_fn 0
>>> +#define BUGFRAME_warn   1
>>> +#define BUGFRAME_bug    2
>>> +#define BUGFRAME_assert 3
>>> +
>>> +#define BUGFRAME_NR     4
>>> +
>>> +#define BUG_DISP_WIDTH    24
>>> +#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
>>> +#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
>>> +
>>> +#include <asm/bug.h>
>>> +
>>> +#ifndef __ASSEMBLY__
>>> +
>>> +#ifndef BUG_DEBUGGER_TRAP_FATAL
>>> +#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
>>> +#endif
>>> +
>>> +#include <xen/lib.h>
>>> +
>>> +#ifndef BUG_FRAME_STRUCT
>>> +
>>> +struct bug_frame {
>>> +    signed int loc_disp:BUG_DISP_WIDTH;
>>> +    unsigned int line_hi:BUG_LINE_HI_WIDTH;
>>> +    signed int ptr_disp:BUG_DISP_WIDTH;
>>> +    unsigned int line_lo:BUG_LINE_LO_WIDTH;
>>> +    signed int msg_disp[];
>>> +};
>>> +
>>> +#define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
>>> +
>>> +#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
>>> +
>>> +#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0))
>>> &                \
>>> +                       ((1 << BUG_LINE_HI_WIDTH) - 1))
>>> <<                    \
>>> +                      BUG_LINE_LO_WIDTH)
>>> +                                   \
>>> +                     (((b)->line_lo + ((b)->ptr_disp < 0))
>>> &                 \
>>> +                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
>>> +
>>> +#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
>>> +
>>> +#ifndef BUILD_BUG_ON_LINE_WIDTH
>>> +#define BUILD_BUG_ON_LINE_WIDTH(line) \
>>> +    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH +
>>> BUG_LINE_HI_WIDTH))
>>> +#endif
>>
>> I still don't see why you have #ifdef here. What I would expect is
>> (as
>> expressed before)
>>
>> #define BUILD_BUG_ON_LINE_WIDTH(line) \
>>     BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))
>>
>> #else  /* BUG_FRAME_STRUCT */
>>
>> #ifndef BUILD_BUG_ON_LINE_WIDTH
>> #define BUILD_BUG_ON_LINE_WIDTH(line) ((void)(line)
>> #endif
>>
>> (perhaps shortened to
>>
>> #elif !defined(BUILD_BUG_ON_LINE_WIDTH)
>> #define BUILD_BUG_ON_LINE_WIDTH(line) ((void)(line)
>>
>> )
>>
>>> +#endif /* BUG_FRAME_STRUCT */
>>
>> ... and then the separate conditional further down dropped. Have you
>> found anything speaking against this approach?
> Both options are fine from compilation point of view.
> 
> Lets change it to proposed by you option with '#elif !defined(...)...'
> 
> I'll prepare new patch series and sent it to the mailing list.
> 
> I would like to add the changes from the [PATCH] xen/cpufreq: Remove
> <asm/bug.h> by Jason Andryuk <jandryuk@gmail.com> but I don't know how
> correctly do that. I mean should I added one more Signed-off to the
> patch?

As said in my reply to Jason, I really view his patch as kind of an odd
way to comment on your patch. So no, I don't think you'd need another
S-o-b in this case.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 07:24:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 07:24:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509915.786654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcLUq-0007fv-6K; Wed, 15 Mar 2023 07:24:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509915.786654; Wed, 15 Mar 2023 07:24: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 1pcLUq-0007fo-3R; Wed, 15 Mar 2023 07:24:28 +0000
Received: by outflank-mailman (input) for mailman id 509915;
 Wed, 15 Mar 2023 07:24:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcLUo-0007fe-O8
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 07:24:26 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0610.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69ac9713-c302-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 08:24:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7573.eurprd04.prod.outlook.com (2603:10a6:20b:29e::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 07:24:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 07: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: 69ac9713-c302-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CNaNuoY4VM8ewDmseUKih7nXLwWLmmGS1BLb/6rL09JRY+OGWyXd/kVgoOwx5z0ABqYb7VgFXxu3c+eLxMfntZAbzsz0NwXg3XQtxr6/fbdtOBAiGFOE5LLJjRLi/YUmHXmwfZRTIdP7h5EUVSBq9U+Bzd1xy0m+gaYHWnevj1w8gBGe5WMrK/LJSYpjmesCULsEPex64ZgRJUWlE1y+JU9iHUY7cyZnfWnJw7fRTxZ/57V05Yfg/bnwpAUtudaM73/PoNxs1zvSJ0mlg/EeAtLw0Ld6Bv5eAzww8usmQY/eliXlLus/dZ+QETYmAjTugwEq6brFQuERMo5pvGn6dA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zy43YTDBLchV6lc1Ez9wzpmHlHRHzwz/MU0HLqd7/t4=;
 b=HNhrZ6F9+bYF7eITvxpawp8bYSmzrKj1YTOQS1LUZxlEgeoFvZGtaRejC6ssZlakvPL6TljwOHPDm0XFe+QTp+NT6z6vv/NuR/P2SvhrKhtMx5gazNVX/e+TCn0qqo6lT9YB4mOYpcO2m1KBddUnntZg9Fbk++SxQ3peg+p1zZr6TnSl8dfxRCXvl5zR/DEsNq21ph/r+fpm+oDplWqWWXGpSoM1UbvLhgvTppmy7RjOHxtRJfKOVxzjlpif7Sn6RW+/oSjXUdHd9W+IhT+iIQetU+xwyrhgwFPpSWuze3woCWFG6YnWCW1NasC6n/PzXJ/edKR/C/iCaoqDWUNaQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zy43YTDBLchV6lc1Ez9wzpmHlHRHzwz/MU0HLqd7/t4=;
 b=P3G9VoHWW2nSBubaySN+OeKiMne756Bnx5PzeYwMLcAPvVUEKxjvm3++QR6kE10a0qrEzdNSdLYN8tHvz82Du5Kql3y/ZUTjRKUeR78yFQG475mF/vwEJHJQVO+7UM5Xc69msaMSdDT6xx2gEt54kygQKr4ARK6C/JnQUq4G4xkGdA5f4QFLZMc4+c4JBD3fEkA7l0ExVNlAYYftojY5UJoIXLEFN0R0yCkVTXsbAiM0tn7W8cI7Gn944PZusI/tqw9keWGZ2rkDnLFcsEcOugaWFNxlGLOleKwcjYQrI31kwv/CgJ5+p/B0qkVZgo8GADdCDSaLVnYIgF6fb/Ohbg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c5aab97e-08d8-c5fb-0898-6f414fdd7a25@suse.com>
Date: Wed, 15 Mar 2023 08:24:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] console: use more appropriate domain RCU-locking function
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0145.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7573:EE_
X-MS-Office365-Filtering-Correlation-Id: dceabed2-55a0-4f4b-b3b9-08db25264cdc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	D0uaYYemXMCVOsaY2DQwlitx7oQJjUMKksS7oWBhhtGaue64spvJMPVuKgLRgletmcuaP0yMNeKovom2nSZANwRnNIi48pShF9FGrxbplgvOZpkNeRiv/yEP0xsVYAuBiPvloakCFdyiCIqT0/4c6VRxjsJz1TTXE6ZPFclzWcTuqXZ0IMajvgL2kESkiEoOgOcF1nHgk+wlW0EDDAqgRuhdwwh0t11HIIHdn1DRoCmZ3DQE0AB7RPgPtzfjsJQlHaxSJFSSrRjelZJS8DHwCNjCujRItNMR19gq0YLms6wnf1XkiG8NKwS2/iDkACdBogzpLql9Vpu54m1Es3bwtPuTLM0njCPdRqLLp0/K81w7FSnEMJQOcYHLhMbNqNuobZlCrMU7p2St4/hbEFLKwtNBYEDSUpnnESX44WX+kD0PT4UpXZ4SViVs4lMqYsSdBwYuwACLIeIuEQs3M8Ft/2VhYMzAtkj960kpTmzOcTg7DIDqp9y5LxOcnA+TdPtTDjp0UqDIU/fo9c6Mbp6qlsLUi4RNDckrza+vz/hTexm/vJ4CpNi+wAmE6g9dEsmsYQyDVoUNdqjGKzDINRZ1rhF07szhNHgh4IIuJXDIppD+rTc5TnX7u66fe/QZ9YSTkf0G5y6xjNaWr/iN2P2E8aGOmJhpAK/PnfDH9TnMYYp1oop0ydgfA9a6eRhoq6jBqCprp1oGxP97/7yHcFTurX7BMWgS4CfPC4ho/66epvk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(376002)(396003)(39860400002)(346002)(136003)(451199018)(36756003)(4744005)(5660300002)(83380400001)(478600001)(186003)(6506007)(6512007)(6486002)(26005)(2616005)(316002)(54906003)(66476007)(66556008)(6916009)(66946007)(8936002)(31696002)(4326008)(41300700001)(8676002)(38100700002)(86362001)(31686004)(2906002)(66899018)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Zzl1MzQrZ3hYS0lRRVZxSWlGVmxMRC9rc0lzazBGVmp0TjdRaGV0Mng3WGIx?=
 =?utf-8?B?cmtxdEwyMjVZQ3MyV1I2dlQ1NkdjZDZaM2w4OEFaYUo1K0lKSmhtRUJpblpI?=
 =?utf-8?B?RTRLZTd4d1BOZkY1a05TZmdrZU0vc3ByMTJRanJQN0xRRm9hVHdxRWRDalRK?=
 =?utf-8?B?ZEQ4WTBFeGJRUSt3eHA5TGFLYkpOaTB0Nm9seWdMbTR2Rk1YTFZoQ0pHRUwx?=
 =?utf-8?B?SEFpY0JneGcxWDlVamZLQ3VyNEZFTERGWlloTUxaODRJcXd2b1BIbjhCSEJD?=
 =?utf-8?B?ZkJYNldhNnFOR1Q2QlFzWHYvQlJ5U3JOM3RSSkdwaE01SWJLaUhPKzdncVhz?=
 =?utf-8?B?TmxBdWRXR2crV0Q5bzI0MnV4N0ZaVmU4VGRQWllQQzk2S1FEL1UxUjZQNUts?=
 =?utf-8?B?M0ZmcERIN1dpT1JHdC9JT0thTWFNWHdpRkN2ZGEybGM1T3IzVlZJZnZBRFhi?=
 =?utf-8?B?dkRLSG0xQjNmbFdNK2pYaGUzWTdOK3N2N3JsZG1hcHZQWmFUT2RnSFhyUStG?=
 =?utf-8?B?ZktaQlRoN1BhN0xQaGtIOXZxQVVZOTNWT3lIYlUxZlc5TjRaSDdyVi8wRGxu?=
 =?utf-8?B?YytsVUlTWU5vMUpMU0RlOVpwd01CMSs1YW5jNnRvZ2ZtVkttK21DK2w5SHZ2?=
 =?utf-8?B?NGFjeFZNOExDc1V2aFljUGVaRXg4VHM4elY4VXNRMHh5SmVVQ2xTVDhnSzRk?=
 =?utf-8?B?TCtDMnV3Znc0K3JSVnlBK1UxWmdxTG0zNFg1bjdPM0tONjlmMXpUMHdqaDBR?=
 =?utf-8?B?T1Nrd0NBVllGRHJGWVNmQWZFdGREMFFhWDd2aEhla2pZaFB6ajZZRmZNSUY5?=
 =?utf-8?B?enJHUlV6Kys4Y1J0eEhZU0lNeEQwWTBWdVhsc0pZRjFWaW5FOWt2VEJpYlcr?=
 =?utf-8?B?MG1tWXJSVUxkWjU5aElFUkdDNWU0VENkMk1IbFpaQmY2L2VpMXRCM1dqZXI0?=
 =?utf-8?B?SytsWEE4dVQzRUx2bWx4YWFZN3htcXBkTHFaeWxUVVBzY3dHZWgwa3Q5QXFO?=
 =?utf-8?B?Y3k5S1hvbjBiSWRPRlYxU000ZFdYcmRqQnRSU3JkN3loOW40UG52SnVjU3Nq?=
 =?utf-8?B?eVovMEVsUFNrZnk1ZENqbk0xeFRWc3NmMFBOSnh5dmEybkpXN2RtV2JoUlMv?=
 =?utf-8?B?R2xkUEdjSUxLRGFvUGRya1d6Um1vT3cybC9tanJSa2E0K3dNK042MmpJZFdM?=
 =?utf-8?B?ZWZ4MWFvN01kY0NhWU1XZ1kzQTkzeXFYaXlMb0VoTzk5RGtpUTRhOFNsRW9Y?=
 =?utf-8?B?STU2L1BUV2JveUpPanBDbGVGREl4Q3hTYkwvZlRLeGxXZHIrQThKdEZRSkFK?=
 =?utf-8?B?T2ZtdUpSRDlqYVlIQUxYSGZGTzVKaVhJbHNMSDBYNjNRb1h3TEpEKzNwSjBM?=
 =?utf-8?B?dFcvNERMOHJzWFoycDJjOFV3S2RDTGtoOFlJVmgyZFo5UERrNkJoQ1F2YmlE?=
 =?utf-8?B?VXdkWjhJaHg5c0VlTzdKSVhSRC8zSHhQVlBGOVNieDl6OFZQOTZiS3Bpdmg3?=
 =?utf-8?B?UWZpVmFFRW0vbWxFbFhzckFKYWhBdVNBaTlaa2VtRC93bEx1SmJPN205OGFP?=
 =?utf-8?B?T2F4YTNSSVRJVHY1QlZ1ZWRLM3duOVo4azBodDUvTzFURWNqTGpWMk9kbjdZ?=
 =?utf-8?B?c2ZjY1ZadENTRUVJNnBqSEVKcHMxeWZsVmo4QktvclpaWnVFMEFmWUFaQURI?=
 =?utf-8?B?ZEczOFpvMEFUa20relNrVUFaQ2pRTG5DZ0dlVEVNSUZ4MTFscTRqSDRYRFA2?=
 =?utf-8?B?RExYdzV4ZllWaHAydkNvQm9BQkp4SVRDaTNJaGFLSTVCRW1JYVhnR3ZIQjdY?=
 =?utf-8?B?N3B1NlpPeFJDNjhhZnIwOElWR28yOTVYaHhLeGcxQ0U0bU16Szl0RE0yVStI?=
 =?utf-8?B?Y25QaENJS3Z3Qk02RnE1dXZ5R3FrTlB5d2tDZW5MVUJtZllvYkRDRDdPWm8v?=
 =?utf-8?B?VDhUN0hiWXgvV3d2QTkwanJTTDYrY0c4VkdGdTNXLzJocFl0QnljRkZvcU11?=
 =?utf-8?B?QnFQanI1Nm5QdVl0RUF1clorUitIRzV5STNRWXRHRDZhNVU2eXpwWU1EbSt5?=
 =?utf-8?B?aEF5YTFodnVtZEdpVG9mRFk4dERPS3NycExWUFpoOWJuSElsVmdBV3RyMW9R?=
 =?utf-8?Q?t38S2p4harn0ozvMAYVCKMoRC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dceabed2-55a0-4f4b-b3b9-08db25264cdc
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 07:24:23.2824
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mahzIxcqnMqwYo3vF5vWWohDdRpWv+9aYkFc7IuzLjKSDFwUD4FFSg+aAhM7BXwCRy2DguFJP1w+ID2pyXEVtg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7573

While both 19afff14b4cb ("xen: support console_switching between Dom0
and DomUs on ARM") and 1ee1e4b0d1ff ("xen/arm: Allow vpl011 to be used
by DomU") were part of the same series (iirc), the latter correctly used
rcu_lock_domain_by_id() in console_input_domain(), whereas the former
for some reason used rcu_lock_domain_by_any_id() instead, despite that
code only kind of open-coding console_input_domain(). There's no point
here to deal with DOMID_SELF, which is the sole difference between the
two functions.

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

--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -525,7 +525,7 @@ static void __serial_rx(char c, struct c
 #ifdef CONFIG_SBSA_VUART_CONSOLE
     default:
     {
-        struct domain *d = rcu_lock_domain_by_any_id(console_rx - 1);
+        struct domain *d = rcu_lock_domain_by_id(console_rx - 1);
 
         /*
          * If we have a properly initialized vpl011 console for the


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 07:35:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 07:35:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509917.786664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcLfK-0000zC-7o; Wed, 15 Mar 2023 07:35:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509917.786664; Wed, 15 Mar 2023 07:35: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 1pcLfK-0000z5-4o; Wed, 15 Mar 2023 07:35:18 +0000
Received: by outflank-mailman (input) for mailman id 509917;
 Wed, 15 Mar 2023 07: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=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcLfJ-0000yz-0Q
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 07:35:17 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0629.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ed85df49-c303-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 08:35:16 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.29; Wed, 15 Mar
 2023 07:35:13 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 07: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
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed85df49-c303-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WxdsJIaA540hYQXOUBGA/U9q6g95bwyYHn9gnUvQCNL5PvkbaZw57ozi6c4BdmeK2Hzd5gVb0gqoeefHPM5PG7dZEqG59da7FqQWcs4ia2D1xIAs+CofNqTdOahOWCTCj5LRQyuwdiGz++fwwUh51P21KZ+jaxLqAsoXyCj14JngDhpNQhwji6hNmqrcjfarvzxmh1MktD3qkfYQv+YBtuWJXied71bBdvg/nzbi9UpTT58PH1k6yLs4NHDdr5wNtbJBTAxMzZ1AZquZoKu2xlVDQcHPB05Pu5yKXI9P2tdwbO62hWI0oBu5gzHqgjnjaHhNUVwNTAl3GnkEM1MjJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0hnuMzbqRd78MO1Ngzuc4RU7zLKlSx1G047bZaXZYsE=;
 b=TuHqWzFjUfMLso2v5MSe7IpVqchi4lnszGHDvGdqnW9mM7Xa0zmuVZBiek+2lxgRqj3avTjQsQ3KrB/HWy58cq4wEm4CdQC/9a6R3gWeDx/3RqeG6TfcJgc4SfX0w5gl7FS8tN7E4JYhI1CRQuPkpdykHRWYkSsY99NJAHSC+T+kNluLmRYIGQJxwA8mot+AH4v5mcNvuomGtnUJq3Vj7xZCg2bK6h+zVFUL2iI1KyPJngb40wyiWHAnESSiak6FVyPJf8AOCadTgCMbE/qg404Vm3Yt6bcYu2nbHHEXhUPsrvdn6kn0StEFQRJuAM5njZBIoLTzde2wXH9UjcZ8vA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0hnuMzbqRd78MO1Ngzuc4RU7zLKlSx1G047bZaXZYsE=;
 b=EmPjEAPq9s4Z3ZorUcHIIAbrs4cshYo8P4JiVhaqvXct7eriHMMm1faZxV8n9uHV012hVNFNwnuEYyGvSc0Kr4uthtrhHLkSkc+ps4cESKL9dZRAQ8U+s/FQpg39z7yl2fDXx5dd22Ua8LTtTJRufi7OHtjlI8dx1EtVz8B2Oi3DQXYvBkwlKfPgPGuNf2UNKlJtB5V9gcpnAZas3qpLOoG3Iljs7/ttIAFXxukgDN/kQOHbhZiBRFPmX8uBMMYhZO801tRafXDEQY2QjYSdILWoA+pvNjwZqefifxvaQXE14uYxOrgBMlA5WfpGBFn1iGWKdJcOK7BYcsjC/UbBzA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4a8d7292-38b3-1c32-4037-1c94b94b6f46@suse.com>
Date: Wed, 15 Mar 2023 08:35:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBAPR04MB7416:EE_
X-MS-Office365-Filtering-Correlation-Id: 7a39d38c-399a-49e9-fb0f-08db2527d052
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DYoQdqWqyJgrUL79qZkw+qzLRxSkwPBEyvM6mzgoILQsfcyPQTCC9A8TzDjoOyyc8s8mq9V7vwzXMgFsiK0EXj/v3gip1GCIwoJ1pA/4Cq/4Pm+AjprZ1W6gT+2DFiB4YLZbvO7RwR6EqkqcbzzQZXGiFMCuvWxHQhHnYGmVlBO2LQ3L2H+Pi1/r66m6mpv9AdGtXuy8YeTQ91sz19DkoEwhFD5xY/W26WfQeQz739HY6KnE4OvVezxUoHruYF8lolgaaPQ0vcbgaOrbnBu98+imB1PKLavD0/3cCrh1ohm/l45xpNROIKOWl2ufXwuuy3NN80fYMlM7EWN0xrPQmGVjMkWysLrlRVmESap007to4q2ODJmqERQeQ5DfVzFFhbwpah3/AbT93ZGKTge0133mvOn7w0zBJJFcJ22WInlJvNxBe9Wdu7hlskXXbvwqzu4t7R7m0neIEgD6qQQXXYaSktR/WNGYCFnz9pJIx/VugrlcpA5AaNroRCV9Eh1BLseWIbDDKQLIqmbAQymMuu35L2MnTXvyTIwJc5PwCTwoJXI4iuDqIVor8ghvBW27QJ0c1hd9OPs//yTz/n9tkmU1fEri8HXT2us91ZxbX7ERM3vixMh2I/wBh4aSZsu2KSRzNUwwLm1lo3dM7XwjLlcxL8B5Oqzns4p4I21Ba81Tlik9L9Cew1N3HXYP3QYqcTFSjJ63kMy/odhujBm3OWz4KQHWQKstDiKsAE/3J+o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(396003)(366004)(136003)(346002)(39850400004)(451199018)(5660300002)(36756003)(83380400001)(478600001)(53546011)(6512007)(6486002)(26005)(2616005)(6506007)(186003)(8676002)(31696002)(66946007)(6916009)(66556008)(66476007)(8936002)(4326008)(41300700001)(86362001)(54906003)(316002)(38100700002)(31686004)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UTV3WUVsNjNDMWVOYjV4aHE2bml4WjhFSWVZMVpNczlGVzJLSFRMTXhVSHFw?=
 =?utf-8?B?cW1HY3R4dEdCNFdqdDlHQ0dHNDlPOHRNb2VTUWdrR2wrR0ljSncwNTNrOThi?=
 =?utf-8?B?S1B1bDFKQ1dwZHFkSlphbjZWSXBGZkw5TkNIcXlFdFdnZjJxd0RsQTIxL3Iw?=
 =?utf-8?B?dVgrNEF2NHJzNEFIdU5sdnkrUG0zVkdYclFsNkRZVi9Ra24xM29mNEdJMVpQ?=
 =?utf-8?B?L2tsL29TWmpCTDZ2VnEveHk3YXVaWXgrWTlDN0RtZHU4aXA5YTlsWDVaVXh5?=
 =?utf-8?B?MFk0MjFYVWVmMENXSnNYNVV0b1JEME5nMTRUUnpDT3JFTXQrWnRIVmRubU9h?=
 =?utf-8?B?c0lYZitINGtYeFhpaUFjbzE2VGRaa3Nnby9McU54aVNtZjVpUkdOU1ZsOWl2?=
 =?utf-8?B?cWc2ZTZlWGVzemwya2N5RmZCbGJxUnRIQVNsN0xleFcrYWdOQTk0K0pQVjk0?=
 =?utf-8?B?WU0zNUZKSGVHdnk5UGhUQmxKYjVLaWlDNGtNN2JZdVRIek5lNXliUytTdW9T?=
 =?utf-8?B?SXVNWU9GN2hQS2Qxb0g3WHl5OENxY1R2ZlRoYmhVMjJxTVpRanBVZDNIMEpy?=
 =?utf-8?B?UlpOQ1BQdDVHMWQxb1BWYk81eGxOTFYzc2ZDL0JWSjBaSHRlWllOK2NIRUF6?=
 =?utf-8?B?dVdFQUxjU0E5SVJ3Ylg0TGdJM2pSRVpvQmhCYWh4bEtXZ0xOU2FIbENJY1ZP?=
 =?utf-8?B?dy9MOXVRUTFZS0pjaTBHRWNOWEJucTNsK2VxOXFUMFM0U0k2K3d4MjAxa052?=
 =?utf-8?B?U0Urc3pPd0RubEgyWVJETk4rc0RmcWdXdDNaUVdCU0RPdlhtSkFyMTZRVE1W?=
 =?utf-8?B?T3Q2VHR4V3p2T295MWc2akxEalk3KzlPWE1zYjl2cDZiTTlaVXExbEtudGs4?=
 =?utf-8?B?SG9CN1FZUHdXQUlmbEs5M3dnZlBxa1Y2ZUF1RExPNGZTMzljQVBZVUJsVnBQ?=
 =?utf-8?B?bysrS0xDQ0dGYmhZeE5LMUxGdWU1UUZwNWFQczRzVkZkZVpOb3N2ZE9xWGdQ?=
 =?utf-8?B?YTh3YS8rZm1aWmwrdDhMUFpHUWpDNVdjUW8rRU0xZHAzMUxGU04xSEIwWFpW?=
 =?utf-8?B?TzB5SkN1dVliQlQrOW04RCtrT3c1blU0eGlOVElRSHB2cnhWdDBuY29qNnhX?=
 =?utf-8?B?R3FiYzRqTzZxQndXQmxzdUlML0VnSEhLNVI4WnIwMWFMcGFvQ0NhRmVMNzd1?=
 =?utf-8?B?ZGJkcGVQMW1lY1VPN2RoUDVVZjNlUlpGK2x4L0pNWG9LK2F0TEpDWWI4N3o0?=
 =?utf-8?B?VHdYRUxrbFRwVXFKTW53Y0hQTE9uOWdQU0xLRVNwZzE3b0dITlA3VkxkWHAz?=
 =?utf-8?B?MmdKYXF3aVpEMzZ4cy8zaHZBZzRyaEhYRDdVeDZVVlBycjRwQ2ZZYmRycjRu?=
 =?utf-8?B?akU0NElpTWxLOFFCbks3OWt5azFaSXFOVHJRQ2crSkVJQTlJU2VqU2w0bmlV?=
 =?utf-8?B?a1ZNbTc2WVZDY2c0WnN5SjR0TFJpOVVobDVuTDZVYy9VSkhoUEdnUHJwTHZw?=
 =?utf-8?B?dHQ2UDZ0czM2NUplL0R0dGZWRnQxdHU5VUVtWCtEaTJ1Y2VPMXdFTEVvbi9n?=
 =?utf-8?B?ckdyRU9EOE5WZ3FrYkdxc2h2ZXhjMS8rM01mOHBtMVp2aGlTWlNsak83QUF2?=
 =?utf-8?B?d25jZVFKVTVIL21XQkFDYUFkNWhMdElJcnhaVHhOYXlCVXQ5aFRRRmhDM21N?=
 =?utf-8?B?TUFUbllQZytxZ2VFTEdmMkJFcmV6NkIzd3ZjL3o0L3V0T0ZSeUM0bGxnSkU4?=
 =?utf-8?B?Q3JLS0FZQXZHK1NaS3V1QXJJWEoyR1lPRXhCWFMrQitHL2d4azA3dWppejRM?=
 =?utf-8?B?U0Zmc0k3d1praVFVRVZJN3B3QkFFNXdGNWU0ZnBrSHoyM2xtbFZkOEs4bW04?=
 =?utf-8?B?UVhxN28vaGNXbWo2NU9wRWVpaEY4bE1SeU5hdUhWSXFTenJzbHZJT3ZBRS8r?=
 =?utf-8?B?b080ZDZQa002TzR0UnpPQzhLZXVucXFuM1U4UWJackhxVTRRZDg2SytiTzZN?=
 =?utf-8?B?cGVZV2xiNUMxMlg2bGh1QnUvS2x2MTJvT20zbzRlTGF3MzlyRlloOW9aYmg0?=
 =?utf-8?B?SVVrK01uNXh6ZU5WNUpSdVN1UGpZelR5eUJvd2s3bFJma1lOWFhMMURjcFht?=
 =?utf-8?Q?+3iNMHzn5/oLrol8Q6rHPSHl5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7a39d38c-399a-49e9-fb0f-08db2527d052
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 07:35:13.3827
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TZA1f5uU/lL6bmHzzWi2iaoAynVu0vLw7MuF826ocSfHAI6mIy3201gDSf3ZSK8mUF/p6tVeg57yl72K9nLJLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7416

On 14.03.2023 21:16, Oleksii wrote:
> On Tue, 2023-03-14 at 17:09 +0000, Andrew Cooper wrote:
>> On 14/03/2023 4:00 pm, Oleksii Kurochko wrote:
>>> The patch is needed to keep all addresses PC-relative.
>>>
>>> Pseudoinstruction 'la' can be transformed to 'auipc/addi' or
>>> 'auipc/l{w|d}'. It depends on the .option directive: nopic and pic.
>>>
>>> Right now, 'la' transforms to 'auipc/l{w|d}', which in case of
>>> cpu0_boot_stack[] will lead to the usage of _GLOBAL_OFFSET_TABLE_
>>> where all addresses will be without counting that it might happen
>>> that linker address != load address.
>>>
>>> To be sure that SP is loaded always PC-relative address
>>> 'la' should be changed to 'lla', which always transforms to
>>> 'auipc/addi'.
>>>
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> ---
>>>  xen/arch/riscv/riscv64/head.S | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/xen/arch/riscv/riscv64/head.S
>>> b/xen/arch/riscv/riscv64/head.S
>>> index 8887f0cbd4..e12d2a7cf3 100644
>>> --- a/xen/arch/riscv/riscv64/head.S
>>> +++ b/xen/arch/riscv/riscv64/head.S
>>> @@ -27,7 +27,7 @@ ENTRY(start)
>>>          add     t3, t3, __SIZEOF_POINTER__
>>>          bltu    t3, t4, .L_clear_bss
>>>  
>>> -        la      sp, cpu0_boot_stack
>>> +        lla     sp, cpu0_boot_stack
>>
>> I don't think this is the appropriate way forward.  It's very much
>> smells like duct tape hiding the real bug.
>>
> As an option, I thought to add in head.S '.option nopic' directive to
> make la translated to auipc/addi [1] pair.
> As an alternative option, adds to AFLAGS += -fno-PIC... but still...
> 
> I checked in Linux binary how 'la' instruction is transformed, and it
> looks like it is translated as I expect to auipc/addi pair:
> ffffffe000001066: 00027517 auipc a0,0x27
> ffffffe00000106a: f9a50513 addi a0,a0,-102 # ffffffe000028000
> <early_pg_dir>
> 
> I checked compiler flags between Xen and Linux. The difference is in-
> fno-PIE (Linux also adds -mabi and -march to AFLAGS):
> 
> 1. Linux build command of head.S: riscv64-linux-gnu-gcc -Wp,-
> MD,arch/riscv/kernel/.head.o.d -nostdinc -isystem /usr/lib/gcc-
> cross/riscv64-linux-gnu/9/include -I./arch/riscv/include -
> I./arch/riscv/include/generated -I./include -I./arch/riscv/include/uapi
> -I./arch/riscv/include/generated/uapi -I./include/uapi -
> I./include/generated/uapi -include ./include/linux/kconfig.h -
> D__KERNEL__ -D__ASSEMBLY__ -fno-PIE -mabi=lp64 -march=rv64imafdc -c -o
> arch/riscv/kernel/head.o arch/riscv/kernel/head.S
> 
> 2. Xen build command of head.S:riscv64-linux-gnu-gcc -MMD -MP -MF
> arch/riscv/riscv64/.head.o.d -D__ASSEMBLY__ -Wa,--noexecstack -
> DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -Wdeclaration-
> after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs
> -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -Werror
> -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include
> ./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=lp64 -
> I./include -I./arch/riscv/include -march=rv64gc -mstrict-align -
> mcmodel=medany - -c arch/riscv/riscv64/head.S -o
> arch/riscv/riscv64/head.o
> 
> So can we update AFLAGS in xen/arch/riscv/arch.mk with -fno-PIE or will
> it still be an incorrect fix?

Leaving aside the question of why you and I see different code being
generated, isn't it simply a matter of RISC-V, unlike Arm and x86,
not presently consuming EMBEDDED_EXTRA_CFLAGS in its arch.mk?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 07:51:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 07:51:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509919.786673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcLuZ-0003jF-Ij; Wed, 15 Mar 2023 07:51:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509919.786673; Wed, 15 Mar 2023 07: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 1pcLuZ-0003j8-Fm; Wed, 15 Mar 2023 07:51:03 +0000
Received: by outflank-mailman (input) for mailman id 509919;
 Wed, 15 Mar 2023 07:51: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 1pcLuX-0003iy-Od; Wed, 15 Mar 2023 07:51: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 1pcLuX-0006Fr-KO; Wed, 15 Mar 2023 07:51: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 1pcLuX-0006mK-6k; Wed, 15 Mar 2023 07:51:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcLuX-0001V4-6I; Wed, 15 Mar 2023 07:51: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=fVsKs0XnuOMVctCRTTkYl3AzpseajMEVqeyd00aOR6Y=; b=HOEy8CPgrO5I/0GqQXnrnYTu2z
	X/woMaCpersCW3gQjc27f1fP3cmZfyI9llRsLj43tSi95XgzB+7ZNzg7/Fq9wpiRDi0V5KlNwJ8UE
	cXPqBk3/MKNlVZtZC+jAaoAczZPkUqKOz4MlYtnYW+4wraR6ul4dF16GBSt2/dMuuudM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179628-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179628: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=27a03171d02ee0de8de4e2d3bed241795d672859
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Mar 2023 07:51:01 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                27a03171d02ee0de8de4e2d3bed241795d672859
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    5 days
Failing since        179526  2023-03-10 01:53:40 Z    5 days    9 attempts
Testing same since   179628  2023-03-14 14:38:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 07:59:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 07:59:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509925.786683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcM2e-0004bZ-Go; Wed, 15 Mar 2023 07:59:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509925.786683; Wed, 15 Mar 2023 07: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 1pcM2e-0004bS-EB; Wed, 15 Mar 2023 07:59:24 +0000
Received: by outflank-mailman (input) for mailman id 509925;
 Wed, 15 Mar 2023 07: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=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcM2c-0004bM-V3
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 07:59:23 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4a382bad-c307-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 08:59:20 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB9191.eurprd04.prod.outlook.com (2603:10a6:20b:44e::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 07:59:18 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 07: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: 4a382bad-c307-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dN4TmJFFhufDLXpM244jNcjYTKG0jfpa1Wt2AVJEW30fuOQYWABHlYfveLc/TwvJbpTgyaYePgdGNveutel+q4KxJfYzxoCKtI9+YdWujNW5D5W9aXPxlrlu5S8wZkwDdxF3Kwrmz93GiNUqGzaaQpa3vDz2VLkm+6mJmDhqZoZXDmwbVlRsRWv5gVXQtzxbgqdYwHdPtuRQLQw0Rr6BG1CoYrWqyUUMqUYUdAbi0JC9A3PSzPXDdHj71WgR1SNLETA3kHsN73Kp+pMrtJwtYIoy7Ffr800rCaV4w2f+Kbw8VN5ziqLhcCx9Ff3nLBAcl0vYftr7iXw/9ZW8fU4cXQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SohYZspYscigbG1Epvq4ssMMvrkYO5BVSX4PQ7Kzyio=;
 b=Jb/Vh4hxyfsUNdzCHfEKxz15aosNXMfqfuVHY2wyEJmlxJXBygJkEzv44tf2sXSB9vv+qCkBEAgmOZ1vru0fFt7QmATXCIwhQtmkD7z114LN1PfdzLeuF3YxAh4Wq9NA/xtgQuU65xGJslLyOyQyQL5XKofG2/Fs9El2S52UCtzpaMmCnn3+fljbVnrn7GsQ2Ute7zk5mEmQ646gcqo7uSyuEGmm5x361QlLEt1noQ2jooM063aMNF2O2Xrwgzx0z+3qjRxSviM+OGZtgKRKOhdJUA/39oD2bLEHrOxRX9RriCTsEydERqjD9vyBEL4RkhNItQ/zKys7awztbCmW5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SohYZspYscigbG1Epvq4ssMMvrkYO5BVSX4PQ7Kzyio=;
 b=ncwR3dKOavFn2VCjwocGappRp1a0cWvoy4GuCDWHuoVMMobDKbbFGm8m0viwhaoHwYcpTq39rMgU1GXReCpQ9hBMBY3eC6VautqqA+cD1Yyaoj/gnXFB26jG6t16WZQ7MOMgOtsynKi2rTFykmnbhXPFAvb6Kuw9+oJY8y8zclOsnEtXjwzDD94vAqnVaqBV4qN9Pb7g9JHZebp0yau6FfiePJq+hglQC/9YT3F1hBYdbI/jMInaVSg5mJ9hgC0LUS5yQ720uYisSoBpIH0Q9FmkLBreeqLVxT2zwUBpPU/fY+wqb6KEsX3kWLWXZGnW4F07mdEuyngNyzztpGg86g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <966c19e3-d255-db73-9bb4-7abe0a745396@suse.com>
Date: Wed, 15 Mar 2023 08:59:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0082.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB9191:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ae6314b-6fe7-4edb-cbb5-08db252b2d6a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eero34zl+eeIwhagSg510+0CHBQ4PiQ6ehxVe8OuIPer1u2JjtAUqTvz6qg5tv4hEy9u4CO8kBgylCxZf9ZkQN1GrrCjzixoFPDq3e28MEgBdwl/nBKEyIztK/4NJFCGglvLxVcA2glcX9Yk8FBEiADNOLsJWbbYyrbjHakqgN5fe9XeRSJf0vpX96kyPAjxc848dL4VcJ1DhTNWGs6si79wHHhwQT0BsUneBj9CGZ9FuBMQizsen9YUjQ4H+xDii9d9NuTiKDbx1QHy9P4ZfLJO9ekj4h0Vo+ScOkP5nUDXzglturtjsjFIUTQoJdS0/u+UqeTKpLnp6PJaV6/ib4BipQ2Ov7dQ5Jz3HNfQjiBj/I0ZvazdHSI2ZxggRTw6VQ/vEpP+mENYaR7ywTaZ/ficvNkrIVm7PBm0uPpwH1qitPNQqGC/+lM1VqbhA7Q0tGEI9HLDm4k4SI3GbmIuyE4M0vOmUcUWHAGBqmZDAfF8WBSlovu5lMJ8E0Mwyvg9U9iHPNam/6f5WQXiDyPEnisLqZF+GaG2/duetPAZb4MjbwgLj1/eza7MpTVSq+8+QMGtrHEyHAwigHlWpnKtYOFy3rKkJveoOvMsrs5MBtECr8ocqW1yTFlENUlavMgqlWXBm5KkVRIVIpf0fsGa2XtVsSa+7JvJ2ZaPsAwNlKivlzUi0b1/L6J+1hhNaFQ1+eWISB7hTuYRxAiwSPu5Xpm+OidOMICCRqraUFWfiQo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(396003)(346002)(376002)(136003)(366004)(451199018)(6506007)(36756003)(6512007)(26005)(6486002)(8936002)(38100700002)(6916009)(66556008)(8676002)(66946007)(478600001)(4326008)(66476007)(316002)(54906003)(186003)(5660300002)(2616005)(86362001)(31696002)(41300700001)(53546011)(2906002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ckdvdlhjYiswanFQckJVbnJMRjZid0kvK2Qvb0gxUVhKcTlzNUNXRGEvdURQ?=
 =?utf-8?B?MDQyOTg0SmhhRkpBblROaHl5WWlVS2NKYWtHMVZVVXkxVkZxRWRGbTRWWU5L?=
 =?utf-8?B?eHQxU2tQOUVWOWJjUmhiNDlWSnJKUVIvQWFyS2dqOTdKTWtWdXVTenA1bGhi?=
 =?utf-8?B?Z1ZoazdjajUzemtQLzVjMExaOXkyL3dqT2FtWm1UNG1Fd0Z4c3BWajRVVlZD?=
 =?utf-8?B?K1Q1ODZxR2JHcDZNNkZZRkN6S3NMU2I5d1lKVVRNYmxtd2E0Sk55dkZiMmM4?=
 =?utf-8?B?S1B6Wmg3N3psbUk2Y3VWT2FET3VHYy9Xc2VRVWpyTHNSNW4yald5L3dBa2Rq?=
 =?utf-8?B?WEh5N0lrZ0tJL0RtRlJGNzRxZ2JISFU0cmxOUkkycUdPSEdCY3hiZTBlTmVP?=
 =?utf-8?B?YWV4VFAyeUpKM3R2by9OMmR6UzZjQ0I1R1Bob2l6eW54RHgyUjFhSSt4UjQw?=
 =?utf-8?B?RHdYMGtvQVgvWk9RWENYdVFjQmVBSHZDNnRMQ05FMFdpQmRMY1I1dHdwQ0tX?=
 =?utf-8?B?NDZ0dk8rekZXWUNHT2JPMW04NmYyYjFZZEhhb2JkU2RNQ3BERVp1aEJKUEhU?=
 =?utf-8?B?TTMwRUxaVFZFN2lrbUlPVTBLem1nYldGL3NZN2VlaFFJanlub0pDM0tiYy8z?=
 =?utf-8?B?djAxdFBGVFVIMGV1NFEwSGRqaTFJcVdNSDdMY0ZZc3lUWCtiOTBVMkVscnVP?=
 =?utf-8?B?M2hXTWVVRUszN3Q2M3hyaGNYY0FUN2RCbUhwYXpiNjFhU0wybzlYUDBMQ0p4?=
 =?utf-8?B?WklTeTIySVBRYXdzc1ZGQXU2U09qcFQvMjlnQzZqd1BMVFE5QTRpNkswSHJ1?=
 =?utf-8?B?T0Y2Kzc3MzVHYXlMY3Z4Si92L0FycVRzNzFqd1Y3NjQ4VXkyR3RwUHF0eFdx?=
 =?utf-8?B?c21kMEw3YXlZdDBVRm04TGxBaE1MUWc5UGJlSXJVNmlGQTJUVnJ1clZ1Tk8x?=
 =?utf-8?B?Y2pyTUJVaWNwV2REa2hkdlh6UDRQVVd4aHUvRklMNVVPRWdSajBTejdRVkZj?=
 =?utf-8?B?MWlsZEUrR0hGWG1XS2NxVnFlVVRNbFo4YWJsWHQ4TElxd0NadHpqZitkYTNK?=
 =?utf-8?B?SUVpdnJwYkVwN3g3bHk4VGhtNWhmbUJWQlk2YnRjSVNxUzM2eGMrbm5hMW1w?=
 =?utf-8?B?ZXlkaGVNNURJUW5qOU8xNFRJQWp6U0RXMW9oWkI4Wlk5eE5HT0RUa1czNzJU?=
 =?utf-8?B?dmJuTnltTkhGSWxzRTlSZTNEeDZ3T3NNQzVUcXh0ekdyRjg5N1lqa3NMSDAw?=
 =?utf-8?B?N1M1OWJGbVNocjdSSjhmakx0amhHbVBEdUx6eHNJL0ZrYTdKV2o2b3IzTjJO?=
 =?utf-8?B?eTBoeVM0OElISjVDSlV0KzJVbXNMMnZia29GOEZ1M2RPcXZDZFZMdlhLVGcw?=
 =?utf-8?B?WGxRdHd2cEZ6eHNibVlEVitDMDk0SC93TmRCQ1dya05nNXFBTm02VVdvNkUw?=
 =?utf-8?B?ekdyaTJTbk40TzM3NUxYZklIbnR1NFRVWXdsSXZTTTFFOE9oLzA4VkRiS1Rp?=
 =?utf-8?B?UkluYzF3eVJXN1NVUnVadloxTUg2cE9ad0dsazZZOGRyQmhTT0VyTWNLdlVx?=
 =?utf-8?B?OEcyM1ppSXBxaHkvb0ZIYmc1RDduSDVPSlFGV0t4bkJTQnlsMnY1c3c2SXl6?=
 =?utf-8?B?MkhpZXpicTVvb2tMa3czWktCZU1pWHIwcWRMaXpCTlZjQ01DYXFVK0pKWldW?=
 =?utf-8?B?aVRLRTUwZDFFd2lNQUFqZlRpbHhwZGMrbi9qbjlzbVN0Tm55bllKNVFtREhQ?=
 =?utf-8?B?dGhjOCtxY1RtRTF5a3Q1ZlB2R2xndGkwR01WUDZsTmhuVW85TGR3UndmZzIv?=
 =?utf-8?B?OXIrZzdUQlJ2Z28rclB2VkxwRlp4bTdYYnp6Sy9BdU9YVkVoeE0wQ0UxNUps?=
 =?utf-8?B?c2dXMGdLS0ZCU1JkVWY0d0d5YlFzekVkeFAxaHVPM1p2RGlnWEZ2YnJidGFw?=
 =?utf-8?B?UjhEbXVlcHhCZjRNUjdmMlE5ZGlSSy9CMWRmTTJjanZGdTh5ejFkd21Gd2Y0?=
 =?utf-8?B?eVgvc0h6dDlUcVNJNDdJUVhROVJDbHdVOUhLUUhMUE1yT3pPYnFrUjNNL1Ax?=
 =?utf-8?B?WFJiVHRSOXR0amRWemUzZXlVZmQxOVYydTBTNG9TdXhMV04yZ1hhOFdzRnJp?=
 =?utf-8?Q?6yGGe7KxabWpBcFNclODIRTDS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ae6314b-6fe7-4edb-cbb5-08db252b2d6a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 07:59:18.0258
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LXRIemdcmyISEgbP3hVl2UZXswb1ozEm8UpUGTJY6Oh6fqQBFBF4rnCOP/8OVYmww4sZJ5nSShbczmc8+PfkZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9191

On 14.03.2023 21:16, Oleksii wrote:
> I checked in Linux binary how 'la' instruction is transformed, and it
> looks like it is translated as I expect to auipc/addi pair:
> ffffffe000001066: 00027517 auipc a0,0x27
> ffffffe00000106a: f9a50513 addi a0,a0,-102 # ffffffe000028000
> <early_pg_dir>
> 
> I checked compiler flags between Xen and Linux. The difference is in-
> fno-PIE (Linux also adds -mabi and -march to AFLAGS):
> 
> 1. Linux build command of head.S: riscv64-linux-gnu-gcc -Wp,-
> MD,arch/riscv/kernel/.head.o.d -nostdinc -isystem /usr/lib/gcc-
> cross/riscv64-linux-gnu/9/include -I./arch/riscv/include -
> I./arch/riscv/include/generated -I./include -I./arch/riscv/include/uapi
> -I./arch/riscv/include/generated/uapi -I./include/uapi -
> I./include/generated/uapi -include ./include/linux/kconfig.h -
> D__KERNEL__ -D__ASSEMBLY__ -fno-PIE -mabi=lp64 -march=rv64imafdc -c -o
> arch/riscv/kernel/head.o arch/riscv/kernel/head.S
> 
> 2. Xen build command of head.S:riscv64-linux-gnu-gcc -MMD -MP -MF
> arch/riscv/riscv64/.head.o.d -D__ASSEMBLY__ -Wa,--noexecstack -
> DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -Wdeclaration-
> after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs
> -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -Werror
> -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include
> ./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=lp64 -
> I./include -I./arch/riscv/include -march=rv64gc -mstrict-align -
> mcmodel=medany - -c arch/riscv/riscv64/head.S -o
> arch/riscv/riscv64/head.o

Looking into why you see different code generated than I: Nothing in
here directs gcc to pass -fpic to gas; in upstream gcc (consistent
from gcc7 through gcc12, which are the versions I've checked; the
actual range may be wider) there is

#define ASM_SPEC "\
%(subtarget_asm_debugging_spec) \
%{" FPIE_OR_FPIC_SPEC ":-fpic} \
...

Can you check whether your gcc passes -fpic to gas even when there's
no -fPIC / -fPIE (or alike) on the gcc command line? Or whether your
gas (unlike upstream's) defaults to PIC mode? (For .S files ASM_SPEC
is all that counts. For .c files gcc is redundantly passing -fpic
along with also emitting ".option pic" or, in the opposite case, it
is omitting -fpic along with emitting ".option nopic".)

You gcc may have been configured with --enable-default-pie, while I
know mine hasn't been (simply because that's the default).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 08:11:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 08:11:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509930.786693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcMET-0007dh-VK; Wed, 15 Mar 2023 08:11:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509930.786693; Wed, 15 Mar 2023 08:11: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 1pcMET-0007da-Sg; Wed, 15 Mar 2023 08:11:37 +0000
Received: by outflank-mailman (input) for mailman id 509930;
 Wed, 15 Mar 2023 08:11: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=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcMET-0007dU-76
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 08:11:37 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 00ecfc9d-c309-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 09:11:36 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7455.eurprd04.prod.outlook.com (2603:10a6:800:1a1::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 08:11:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 08: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: 00ecfc9d-c309-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KpQO1AmBSDetmXfFkQrwy0het9kE2eq2yJgOUcakKp7uL1VZJlgDDUnSBPFYWSC9pjwV7o4V6zZeMbPh8kLb3LkH1jEjuYki+ncGIjTutQ6RaKLcNHajRxMJvruzOconoTkTs5UPl6tP1+bFuys9KsnqTD07AvyrG8ca5n+L6dJGF3JP6jRUGeKuKOMiWfrZw5y4VOgOuD08oBn/911Yv5LpxxfNdfZUZp61N8ABOzfKo4W/de3kf1hQ5hhhQ60ljWuMOMPgS1Az0OaylSYV/y41nZKb/ta8m4MYCegKVRBeApBTiRQB4ImLxI4QW2A12FxCIfzbAYISN/SC1PxkVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9NQ1s6Vz6UyvbjRa9SUulgb5pGoJNY8djioTW0ji07g=;
 b=DjbekNmydAuD/WfHo5gVkWXIwJ3dadzIQ/6IkOIxjCP9e8t36aFDCMbwujQ12FTChFpWSp6qsjzTPYXdFIY0TGBNJZPKRW13P5z8S9GfhMWUol1VwNN325mtan3+5+qDQyiXVCFTKc9yV9UC+0wmr9KoXsgPoxHNlUu+Bum9WJItPc6VLAtYIGhLzZIJfd4jnt/y7eej3E8darZa4kry6dKHeX9dOYIM3Ve6TiJcWoGWrmN2Bb8n3a20hHvsxrOgl/fX31nInC5pWg9epP+YQlet2PPsPAUQCvVANxDt2VYXfiEKrAm06M7brJsJqRA2ucFjUQrF2FurZi4e0GOrHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9NQ1s6Vz6UyvbjRa9SUulgb5pGoJNY8djioTW0ji07g=;
 b=CmaFzPg8/OquwMRF6hcF1iZcDwgl2X5be3cAWX+xrj5BxtkXL5RxmXIz+CwLy5SKdjWHXKVXHEGYb6haoA6N6g+nNxTSAJAMOQuSz7dRqo8txIfg+q4kRp2NO3zlS4TG0dBY1gg0LmOU5/tSXYsiLugvV/POBsGMX+QvtZcYY+DLafXc0UioRldRtW11R10QlNzKL8b8qbbvgM2zJ26b17ng6MvS7B1foKEM9b3vygMhNW/IO56WSydGVi7PGc/VConOy0L672a9aaXE6/ekGj9YZOVvRkb63zvWYwYH9hm8+962St3y80uII2cIBIfsuAJrzjC1vZXV2yuUE3pInA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4413b647-2721-4b1d-2fa9-afbdc163abbf@suse.com>
Date: Wed, 15 Mar 2023 09:11:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: Aw: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from
 Xen 4.0.1
Content-Language: en-US
To: Denis <tachyon_gun@web.de>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
 <40da0146-21fa-d5a9-7ae1-4ed2cf4a5785@suse.com>
 <trinity-720cf1eb-48bc-4eba-9e14-e9eb570b1e7f-1678812331526@3c-app-webde-bap40>
 <805f8cbd-e6ce-85bb-7ad6-3c461fc41c07@suse.com>
 <trinity-4a07ad86-ea5d-415b-b8cc-e9f0289e1a10-1678820997547@3c-app-webde-bap40>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <trinity-4a07ad86-ea5d-415b-b8cc-e9f0289e1a10-1678820997547@3c-app-webde-bap40>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0065.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7455:EE_
X-MS-Office365-Filtering-Correlation-Id: 21b58004-bb14-4a5f-4af2-08db252ce302
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aFDCmVpHBTXB2PY9X/c3Rxs1TSKhxc8O/pxJn9fvKhCFZRxJC9aWM5NK70rPSecrSujoFowjiY01OEGKldXEqJTQUGcAuSQkvZghx98jzh716l5x5PRSNgvmO0yi26fUCnYJusex5dN6AR38/vvLVcPY4+m5jI4T0C/T2XRJbPaB7cwPaOkXf9a/hXn7nWSdrwanyMccCSnBSeVtbTfVhYXQn0naccJkEs+khEfYD3HkWELOXvUGRXHRw8zUGWMJ7DoESD5j3poiPOGHvC781hf47Vqcl2XTLZow7TF03BeiEBbX2juiMj6ZZACr3gs8WEdtwULdSsSa8MwVQHpNlFbw9E+pjiKGIo8oX+P4GL0rSaGZy8aAEH3BE4WHGSpqJ73f6D3m3b4cSmTLTOl+iwKDKNYdjwUbr6JtLSq/YL9RBQqrtniSoCvmQZmhVbkNpTkuUiyxTmFyxIqrm7BdkS6zCUeK0TBcdbVVrLn6wTugPPNa2M2EWT45w+AN4JpCgnsq8J8HE1b6M4Z1zFW4spBRODkvWvsjKKU2hyN5ejJscapxww420OlfEEqQ2VrrrRuMRbdHzRWAls42YBPIF8wMy54ebISopx+dSpfYOillFl+fgQzbSaShIL313kWjqXxpszIUCxg65pWDzJNg7All5Xtcl3g59EiXBHa0gndpgQQTh9Bl23VBITpIbU67TFEGjmS7Z85Wwxx+i9L7EiD3u5FPZoRwyIBw1tUAQsw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(39850400004)(366004)(136003)(346002)(396003)(451199018)(2906002)(83380400001)(31686004)(5660300002)(6486002)(6512007)(36756003)(26005)(6506007)(2616005)(53546011)(316002)(186003)(31696002)(86362001)(41300700001)(8936002)(54906003)(66556008)(66946007)(38100700002)(478600001)(4326008)(6916009)(66476007)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UFJrY0J1UWpObExSTU1tRUp6LytzM1JPUk1SU0FQNklXTlJXbHkwZmRGREpu?=
 =?utf-8?B?UXJKdi9KNkgydWF6UGMycFZyenEwRzdNZmZsdDZDeDliMm11T1Q4ZjkvTW0w?=
 =?utf-8?B?Z2dMQ1FkOHB5eWNxeGxUaXdzQmdVcWc4aHlQNHdxbWI3M09EVVNnaG9jM2ZL?=
 =?utf-8?B?a003UEdieG96ZnAwS2V1QXNwcmF0aktvOTRkYVZrUmxVT08zQk9YRGp2WFdP?=
 =?utf-8?B?WU83bXMzWmk3MnlMQVQ3Sms1cGxWUHN6VStiREVNTlFhMnhQamMrL2prQVln?=
 =?utf-8?B?dXZZTUpoTnFtWUp3TGFEQlFaTHZjZ1dBZVVGa29maU1ERnpDZ3BvcUhrK04y?=
 =?utf-8?B?VkhndjFVQm5KL21Gd1poaSt4MkdXSzJyVXJSZElQUnk0dTZ5S1l6dy9ad3Bn?=
 =?utf-8?B?TVJzV1pOcEh5VnIyTUQ2L0dzUkEwUTdvYmtVVWowTWF5dWFBdm8wekJ3eC9v?=
 =?utf-8?B?NlRXRlI4L2djUnNsbGhObjMxb3puUlRzYVEyT3lua2hkUTJPbmRncEphSUg1?=
 =?utf-8?B?bFpHWVI3eDlYVCt5cXNDUng0TjZicytSTU5sRVhKNDNTNHpZRkNnMGFnK3Fp?=
 =?utf-8?B?YWs4L3ZaTkhZNUxvNWJ3bFJtN2ZrNGtXenhySUZLdGhldkhhU3R1NWxwdkk3?=
 =?utf-8?B?dS9PWHU2T2tpTFB0RXFscEpodzQ1ZVE5bFRwY2dxcEtRU1dQN1RUdWxjMHVV?=
 =?utf-8?B?VG5tVCtjWXhLV2grYlZPS3dlQng5ZDNaWWNaTTBSVnNCUDBFVFpwemI5L1Ev?=
 =?utf-8?B?MlRseWpRRTZBc3ZheGI3bm5hWmdLWUFhb1J1d3F5RWl6RFNlbzVSZjFWS2Z5?=
 =?utf-8?B?U3d6b3NVS1F4RXF3WDBZRlE1N2d1b3VEbDFIQkFhUUtmVVFtL3R2REJXL0dU?=
 =?utf-8?B?ODBtSnQ5WlNwekp0eUFHUkg3bmV4RE1xZkFmNUR3MWg0NFV0RS92Sk9seDhj?=
 =?utf-8?B?SmRSNWpyRFgvZ0tPS3hDcnB2TFVseFl3TjRoNEhqNjRya3RWZWRLU2svZ3U4?=
 =?utf-8?B?OFluZGNEc1ZSd2VXbHRpWjk4Vkp1MUVUTk9DcDNUa0JJcFRsQWEvcEUzbWlR?=
 =?utf-8?B?RktRN2tXRGMySWFkOXNpVnVWcmtTdzFFVU02MVp1RVV0cms2Zms0WSs2a24z?=
 =?utf-8?B?ZjFvWmVtOXVwaW1SL255TkdFTmlNRzc3amZpNkowZFhHTjBMRW5JNUZRSVFr?=
 =?utf-8?B?cFdFamtTYnlHaFE1c1pkb2ZIYjU1bFVZR3RUZGxPZDA0UVNkS2l1WmE0QVEz?=
 =?utf-8?B?R1RpdUREaGg4T1Z3MWFZVHhtMlNLMjFTVU14U0I4ZU9IaFlGdVRaSjB0WjlC?=
 =?utf-8?B?cWl6RW9BaENkKzlDUGpRK3VGK29uS1Z3NTAvYnlLZFhCWElWTUtiVzN6bEkz?=
 =?utf-8?B?WGpnYlJaYTllZzFteWVDTlpmcjg5OGhXbU1SL0lTUXhJMFREdk1SdDV6YmNG?=
 =?utf-8?B?L1FFZFdJc05oOVNPdzBlSSs1Si9FWERyS0V5cU1SRWZRTXkybXhmWmc5MHM0?=
 =?utf-8?B?QmNMbG51S1hqS3JNOU9LSTdicVFORnJHN3BhclNWWkRWbG9qNW9SSy9kQnhl?=
 =?utf-8?B?cGYrcktad09CWENHS3BXbGNISjZSRnVGMHVYSmQzelFMU1RMdHE2dGFTbmxX?=
 =?utf-8?B?RndXQ0VlRm9sbTVzU3V1RnJpbXhWNys1c2hvc0xCdmQ3alhMQzN3dmR0YXhn?=
 =?utf-8?B?VDVGRWpRRXVBRVR3Uko3UW9nd3prWlJsQjQxcU9OYURKZTlRUzVFVG54UkIx?=
 =?utf-8?B?RUprc3lHN25iSDg3L3BrU3hYcXNkU3FOWmlwWUhGWTdhNTdyQ1hRQS9laFJx?=
 =?utf-8?B?V3pWNC84aS82eXo3SXd3Q2NaRnZ0YlJJRVIwUnozSnpjbks0c0NjendRek1K?=
 =?utf-8?B?Y1EzNTZRLzNCM202ZEtuTzJXb2w2bUFsd3FHckpOSVNLN0xvbkFrcGNOSjFM?=
 =?utf-8?B?Ym1ScXB0UWhteUVpUkJySitTSVBpRFVHM201WlF5b3BiOHVXR3FHd3YxTkI5?=
 =?utf-8?B?WmVocnpDcDFqQm0yS3Z3eWdIazZvNTR6dFpjTFNic0J5d2x4dVFiK1VpdDRX?=
 =?utf-8?B?QXlwQ2dmN1U0V0g1ck0yR0F1UXhvSURhWS8rbG9HRnhaWHFnVFoxM0ZLSG5R?=
 =?utf-8?Q?hA6bjcKyBj0bCwrtJtFHRTtZU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 21b58004-bb14-4a5f-4af2-08db252ce302
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 08:11:32.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: Cjc70G/eQJTsDhQ7vxeL2bOsRcp+OQxw6d1udn25n0pgDh3GoRnUWc7RDkWGv/6dqKkpRy/fpARwnUrBPPoCIw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7455

On 14.03.2023 20:09, Denis wrote:
> On 14.03.2023 17:59, Jan Beulich wrote:
>> On 14.03.2023 17:45, Denis wrote:
>>> On 14.03.2023 16:37, Jan Beulich wrote:
>>>> On 14.03.2023 15:53, Denis wrote:
>>>>> What tests could I do or what info should I provide to help?
>>>>
>>>> Boot plain Linux (no Xen underneath) and collect the full set of kernel
>>>> boot messages (some distros store this at /var/log/boot.msg); "full"
>>>> meaning we want to be able to see all output regardless of log-level.
>>>
>>> I'll attach some files from /var/log.
>>
>> Thanks, and there we go:
>>
>> [    0.121463] AMD-Vi: [Firmware Bug]: : No southbridge IOAPIC found
>> [    0.121495] AMD-Vi: Disabling interrupt remapping
>>
>> It's 5.10, so somewhat old already, but from looking at the code I wouldn't
>> expect anything else with a newer kernel.
> 
> So older versions (be it Kerenel or Xen) didn't look for a secondary Southbridge IOAPIC?
> If so, was that a change made due to the vulnerabilities in Xen due to passed-through
> devices?

No, both Xen's and Linux'es commits clearly say that one of the things
observed non-working in such cases was the timer interrupt (which in
turn would prevent Xen [or Linux] from booting successfully).

> Just asking because age-old distros worked as it seems...

Except on certain systems.

Jan



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:06:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:06:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509935.786707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcN5M-0005Kp-2I; Wed, 15 Mar 2023 09:06:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509935.786707; Wed, 15 Mar 2023 09: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 1pcN5L-0005Ki-Vm; Wed, 15 Mar 2023 09:06:15 +0000
Received: by outflank-mailman (input) for mailman id 509935;
 Wed, 15 Mar 2023 09:06:14 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UsHm=7H=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pcN5K-0005KS-Hu
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:06:14 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a13b9c08-c310-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 10:06: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 4B2694B3;
 Wed, 15 Mar 2023 02:06:54 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 7A9D43F8C6;
 Wed, 15 Mar 2023 02:06:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a13b9c08-c310-11ed-87f5-c1b5be75604c
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 01/10] xen/arm: enable SVE extension for Xen
Date: Wed, 15 Mar 2023 09:05:49 +0000
Message-Id: <20230315090558.731029-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230315090558.731029-1-luca.fancellu@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Enable Xen to handle the SVE extension, add code in cpufeature module
to handle ZCR SVE register, disable trapping SVE feature on system
boot only when SVE resources are accessed.
While there, correct coding style for the comment on coprocessor
trapping.

Now cptr_el2 is part of the domain context and it will be restored
on context switch, this is a preparation for saving the SVE context
which will be part of VFP operations, so restore it before the call
to save VFP registers.
To save an additional isb barrier, restore cptr_el2 before an
existing isb barrier and move the call for saving VFP context after
that barrier.

Change the KConfig entry to make ARM64_SVE symbol selectable, by
default it will be not selected.

Create sve module and sve_asm.S that contains assembly routines for
the SVE feature, this code is inspired from linux and it uses
instruction encoding to be compatible with compilers that does not
support SVE.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v1:
 - Add assert to vl_to_zcr, it is never called with vl==0, but just
   to be sure it won't in the future.
Changes from RFC:
 - Moved restoring of cptr before an existing barrier (Julien)
 - Marked the feature as unsupported for now (Julien)
 - Trap and un-trap only when using SVE resources in
   compute_max_zcr() (Julien)
---
 xen/arch/arm/Kconfig                     | 10 +++--
 xen/arch/arm/arm64/Makefile              |  1 +
 xen/arch/arm/arm64/cpufeature.c          |  7 ++--
 xen/arch/arm/arm64/sve.c                 | 50 ++++++++++++++++++++++++
 xen/arch/arm/arm64/sve_asm.S             | 48 +++++++++++++++++++++++
 xen/arch/arm/cpufeature.c                |  6 ++-
 xen/arch/arm/domain.c                    |  9 +++--
 xen/arch/arm/include/asm/arm64/sve.h     | 43 ++++++++++++++++++++
 xen/arch/arm/include/asm/arm64/sysregs.h |  1 +
 xen/arch/arm/include/asm/cpufeature.h    | 14 +++++++
 xen/arch/arm/include/asm/domain.h        |  1 +
 xen/arch/arm/include/asm/processor.h     |  2 +
 xen/arch/arm/setup.c                     |  5 ++-
 xen/arch/arm/traps.c                     | 28 +++++++------
 14 files changed, 201 insertions(+), 24 deletions(-)
 create mode 100644 xen/arch/arm/arm64/sve.c
 create mode 100644 xen/arch/arm/arm64/sve_asm.S
 create mode 100644 xen/arch/arm/include/asm/arm64/sve.h

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 239d3aed3c7f..41f45d8d1203 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -112,11 +112,15 @@ config ARM64_PTR_AUTH
 	  This feature is not supported in Xen.
 
 config ARM64_SVE
-	def_bool n
+	bool "Enable Scalar Vector Extension support (UNSUPPORTED)" if UNSUPPORTED
 	depends on ARM_64
 	help
-	  Scalar Vector Extension support.
-	  This feature is not supported in Xen.
+	  Scalar Vector Extension (SVE/SVE2) support for guests.
+
+	  Please be aware that currently, enabling this feature will add latency on
+	  VM context switch between SVE enabled guests, between not-enabled SVE
+	  guests and SVE enabled guests and viceversa, compared to the time
+	  required to switch between not-enabled SVE guests.
 
 config ARM64_MTE
 	def_bool n
diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index 6d507da0d44d..1d59c3b0ec89 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -12,6 +12,7 @@ obj-y += insn.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o
 obj-y += smc.o
 obj-y += smpboot.o
+obj-$(CONFIG_ARM64_SVE) += sve.o sve_asm.o
 obj-y += traps.o
 obj-y += vfp.o
 obj-y += vsysreg.o
diff --git a/xen/arch/arm/arm64/cpufeature.c b/xen/arch/arm/arm64/cpufeature.c
index d9039d37b2d1..b4656ff4d80f 100644
--- a/xen/arch/arm/arm64/cpufeature.c
+++ b/xen/arch/arm/arm64/cpufeature.c
@@ -455,15 +455,11 @@ static const struct arm64_ftr_bits ftr_id_dfr1[] = {
 	ARM64_FTR_END,
 };
 
-#if 0
-/* TODO: use this to sanitize SVE once we support it */
-
 static const struct arm64_ftr_bits ftr_zcr[] = {
 	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE,
 		ZCR_ELx_LEN_SHIFT, ZCR_ELx_LEN_SIZE, 0),	/* LEN */
 	ARM64_FTR_END,
 };
-#endif
 
 /*
  * Common ftr bits for a 32bit register with all hidden, strict
@@ -603,6 +599,9 @@ void update_system_features(const struct cpuinfo_arm *new)
 
 	SANITIZE_ID_REG(zfr64, 0, aa64zfr0);
 
+	if ( cpu_has_sve )
+		SANITIZE_REG(zcr64, 0, zcr);
+
 	/*
 	 * Comment from Linux:
 	 * Userspace may perform DC ZVA instructions. Mismatched block sizes
diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
new file mode 100644
index 000000000000..c466de61b47f
--- /dev/null
+++ b/xen/arch/arm/arm64/sve.c
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Arm SVE feature code
+ *
+ * Copyright (C) 2022 ARM Ltd.
+ */
+
+#include <xen/types.h>
+#include <asm/arm64/sve.h>
+#include <asm/arm64/sysregs.h>
+#include <asm/processor.h>
+#include <asm/system.h>
+
+extern unsigned int sve_get_hw_vl(void);
+
+register_t compute_max_zcr(void)
+{
+    register_t cptr_bits = get_default_cptr_flags();
+    register_t zcr = vl_to_zcr(SVE_VL_MAX_BITS);
+    unsigned int hw_vl;
+
+    /* Remove trap for SVE resources */
+    WRITE_SYSREG(cptr_bits & ~HCPTR_CP(8), CPTR_EL2);
+    isb();
+
+    /*
+     * Set the maximum SVE vector length, doing that we will know the VL
+     * supported by the platform, calling sve_get_hw_vl()
+     */
+    WRITE_SYSREG(zcr, ZCR_EL2);
+
+    /*
+     * Read the maximum VL, which could be lower than what we imposed before,
+     * hw_vl contains VL in bytes, multiply it by 8 to use vl_to_zcr() later
+     */
+    hw_vl = sve_get_hw_vl() * 8U;
+
+    /* Restore CPTR_EL2 */
+    WRITE_SYSREG(cptr_bits, CPTR_EL2);
+    isb();
+
+    return vl_to_zcr(hw_vl);
+}
+
+/* Takes a vector length in bits and returns the ZCR_ELx encoding */
+register_t vl_to_zcr(uint16_t vl)
+{
+    ASSERT(vl > 0);
+    return ((vl / SVE_VL_MULTIPLE_VAL) - 1U) & ZCR_ELx_LEN_MASK;
+}
diff --git a/xen/arch/arm/arm64/sve_asm.S b/xen/arch/arm/arm64/sve_asm.S
new file mode 100644
index 000000000000..4d1549344733
--- /dev/null
+++ b/xen/arch/arm/arm64/sve_asm.S
@@ -0,0 +1,48 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Arm SVE assembly routines
+ *
+ * Copyright (C) 2022 ARM Ltd.
+ *
+ * Some macros and instruction encoding in this file are taken from linux 6.1.1,
+ * file arch/arm64/include/asm/fpsimdmacros.h, some of them are a modified
+ * version.
+ */
+
+/* Sanity-check macros to help avoid encoding garbage instructions */
+
+.macro _check_general_reg nr
+    .if (\nr) < 0 || (\nr) > 30
+        .error "Bad register number \nr."
+    .endif
+.endm
+
+.macro _check_num n, min, max
+    .if (\n) < (\min) || (\n) > (\max)
+        .error "Number \n out of range [\min,\max]"
+    .endif
+.endm
+
+/* SVE instruction encodings for non-SVE-capable assemblers */
+/* (pre binutils 2.28, all kernel capable clang versions support SVE) */
+
+/* RDVL X\nx, #\imm */
+.macro _sve_rdvl nx, imm
+    _check_general_reg \nx
+    _check_num (\imm), -0x20, 0x1f
+    .inst 0x04bf5000                \
+        | (\nx)                     \
+        | (((\imm) & 0x3f) << 5)
+.endm
+
+/* Gets the current vector register size in bytes */
+GLOBAL(sve_get_hw_vl)
+    _sve_rdvl 0, 1
+    ret
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
index c4ec38bb2554..83b84368f6d5 100644
--- a/xen/arch/arm/cpufeature.c
+++ b/xen/arch/arm/cpufeature.c
@@ -9,6 +9,7 @@
 #include <xen/init.h>
 #include <xen/smp.h>
 #include <xen/stop_machine.h>
+#include <asm/arm64/sve.h>
 #include <asm/cpufeature.h>
 
 DECLARE_BITMAP(cpu_hwcaps, ARM_NCAPS);
@@ -143,6 +144,9 @@ void identify_cpu(struct cpuinfo_arm *c)
 
     c->zfr64.bits[0] = READ_SYSREG(ID_AA64ZFR0_EL1);
 
+    if ( cpu_has_sve )
+        c->zcr64.bits[0] = compute_max_zcr();
+
     c->dczid.bits[0] = READ_SYSREG(DCZID_EL0);
 
     c->ctr.bits[0] = READ_SYSREG(CTR_EL0);
@@ -199,7 +203,7 @@ static int __init create_guest_cpuinfo(void)
     guest_cpuinfo.pfr64.mpam = 0;
     guest_cpuinfo.pfr64.mpam_frac = 0;
 
-    /* Hide SVE as Xen does not support it */
+    /* Hide SVE by default to the guests */
     guest_cpuinfo.pfr64.sve = 0;
     guest_cpuinfo.zfr64.bits[0] = 0;
 
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 99577adb6c69..adb6ace2e24d 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -181,9 +181,6 @@ static void ctxt_switch_to(struct vcpu *n)
     /* VGIC */
     gic_restore_state(n);
 
-    /* VFP */
-    vfp_restore_state(n);
-
     /* XXX MPU */
 
     /* Fault Status */
@@ -234,6 +231,7 @@ static void ctxt_switch_to(struct vcpu *n)
     p2m_restore_state(n);
 
     /* Control Registers */
+    WRITE_SYSREG(n->arch.cptr_el2, CPTR_EL2);
     WRITE_SYSREG(n->arch.cpacr, CPACR_EL1);
 
     /*
@@ -258,6 +256,9 @@ static void ctxt_switch_to(struct vcpu *n)
 #endif
     isb();
 
+    /* VFP */
+    vfp_restore_state(n);
+
     /* CP 15 */
     WRITE_SYSREG(n->arch.csselr, CSSELR_EL1);
 
@@ -548,6 +549,8 @@ int arch_vcpu_create(struct vcpu *v)
 
     v->arch.vmpidr = MPIDR_SMP | vcpuid_to_vaffinity(v->vcpu_id);
 
+    v->arch.cptr_el2 = get_default_cptr_flags();
+
     v->arch.hcr_el2 = get_default_hcr_flags();
 
     v->arch.mdcr_el2 = HDCR_TDRA | HDCR_TDOSA | HDCR_TDA;
diff --git a/xen/arch/arm/include/asm/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
new file mode 100644
index 000000000000..bd56e2f24230
--- /dev/null
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -0,0 +1,43 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Arm SVE feature code
+ *
+ * Copyright (C) 2022 ARM Ltd.
+ */
+
+#ifndef _ARM_ARM64_SVE_H
+#define _ARM_ARM64_SVE_H
+
+#define SVE_VL_MAX_BITS (2048U)
+
+/* Vector length must be multiple of 128 */
+#define SVE_VL_MULTIPLE_VAL (128U)
+
+#ifdef CONFIG_ARM64_SVE
+
+register_t compute_max_zcr(void);
+register_t vl_to_zcr(uint16_t vl);
+
+#else /* !CONFIG_ARM64_SVE */
+
+static inline register_t compute_max_zcr(void)
+{
+    return 0;
+}
+
+static inline register_t vl_to_zcr(uint16_t vl)
+{
+    return 0;
+}
+
+#endif
+
+#endif /* _ARM_ARM64_SVE_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/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
index 463899951414..4cabb9eb4d5e 100644
--- a/xen/arch/arm/include/asm/arm64/sysregs.h
+++ b/xen/arch/arm/include/asm/arm64/sysregs.h
@@ -24,6 +24,7 @@
 #define ICH_EISR_EL2              S3_4_C12_C11_3
 #define ICH_ELSR_EL2              S3_4_C12_C11_5
 #define ICH_VMCR_EL2              S3_4_C12_C11_7
+#define ZCR_EL2                   S3_4_C1_C2_0
 
 #define __LR0_EL2(x)              S3_4_C12_C12_ ## x
 #define __LR8_EL2(x)              S3_4_C12_C13_ ## x
diff --git a/xen/arch/arm/include/asm/cpufeature.h b/xen/arch/arm/include/asm/cpufeature.h
index c62cf6293fd6..6d703e051906 100644
--- a/xen/arch/arm/include/asm/cpufeature.h
+++ b/xen/arch/arm/include/asm/cpufeature.h
@@ -32,6 +32,12 @@
 #define cpu_has_thumbee   (boot_cpu_feature32(thumbee) == 1)
 #define cpu_has_aarch32   (cpu_has_arm || cpu_has_thumb)
 
+#ifdef CONFIG_ARM64_SVE
+#define cpu_has_sve       (boot_cpu_feature64(sve) == 1)
+#else
+#define cpu_has_sve       (0)
+#endif
+
 #ifdef CONFIG_ARM_32
 #define cpu_has_gicv3     (boot_cpu_feature32(gic) >= 1)
 #define cpu_has_gentimer  (boot_cpu_feature32(gentimer) == 1)
@@ -323,6 +329,14 @@ struct cpuinfo_arm {
         };
     } isa64;
 
+    union {
+        register_t bits[1];
+        struct {
+            unsigned long len:4;
+            unsigned long __res0:60;
+        };
+    } zcr64;
+
     struct {
         register_t bits[1];
     } zfr64;
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 0e310601e846..42eb5df320a7 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -190,6 +190,7 @@ struct arch_vcpu
     register_t tpidrro_el0;
 
     /* HYP configuration */
+    register_t cptr_el2;
     register_t hcr_el2;
     register_t mdcr_el2;
 
diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
index 1dd81d7d528f..0e38926b94db 100644
--- a/xen/arch/arm/include/asm/processor.h
+++ b/xen/arch/arm/include/asm/processor.h
@@ -583,6 +583,8 @@ void do_trap_guest_serror(struct cpu_user_regs *regs);
 
 register_t get_default_hcr_flags(void);
 
+register_t get_default_cptr_flags(void);
+
 /*
  * Synchronize SError unless the feature is selected.
  * This is relying on the SErrors are currently unmasked.
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 1f26f67b90e3..5459cc4f5e62 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -135,10 +135,11 @@ static void __init processor_id(void)
            cpu_has_el2_32 ? "64+32" : cpu_has_el2_64 ? "64" : "No",
            cpu_has_el1_32 ? "64+32" : cpu_has_el1_64 ? "64" : "No",
            cpu_has_el0_32 ? "64+32" : cpu_has_el0_64 ? "64" : "No");
-    printk("    Extensions:%s%s%s\n",
+    printk("    Extensions:%s%s%s%s\n",
            cpu_has_fp ? " FloatingPoint" : "",
            cpu_has_simd ? " AdvancedSIMD" : "",
-           cpu_has_gicv3 ? " GICv3-SysReg" : "");
+           cpu_has_gicv3 ? " GICv3-SysReg" : "",
+           cpu_has_sve ? " SVE" : "");
 
     /* Warn user if we find unknown floating-point features */
     if ( cpu_has_fp && (boot_cpu_feature64(fp) >= 2) )
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 061c92acbd68..a78a99ddadd0 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -93,6 +93,21 @@ register_t get_default_hcr_flags(void)
              HCR_TID3|HCR_TSC|HCR_TAC|HCR_SWIO|HCR_TIDCP|HCR_FB|HCR_TSW);
 }
 
+register_t get_default_cptr_flags(void)
+{
+    /*
+     * Trap all coprocessor registers (0-13) except cp10 and
+     * cp11 for VFP.
+     *
+     * /!\ All coprocessors except cp10 and cp11 cannot be used in Xen.
+     *
+     * On ARM64 the TCPx bits which we set here (0..9,12,13) are all
+     * RES1, i.e. they would trap whether we did this write or not.
+     */
+    return  ((HCPTR_CP_MASK & ~(HCPTR_CP(10) | HCPTR_CP(11))) |
+             HCPTR_TTA | HCPTR_TAM);
+}
+
 static enum {
     SERRORS_DIVERSE,
     SERRORS_PANIC,
@@ -122,6 +137,7 @@ __initcall(update_serrors_cpu_caps);
 
 void init_traps(void)
 {
+    register_t cptr_bits = get_default_cptr_flags();
     /*
      * Setup Hyp vector base. Note they might get updated with the
      * branch predictor hardening.
@@ -135,17 +151,7 @@ void init_traps(void)
     /* Trap CP15 c15 used for implementation defined registers */
     WRITE_SYSREG(HSTR_T(15), HSTR_EL2);
 
-    /* Trap all coprocessor registers (0-13) except cp10 and
-     * cp11 for VFP.
-     *
-     * /!\ All coprocessors except cp10 and cp11 cannot be used in Xen.
-     *
-     * On ARM64 the TCPx bits which we set here (0..9,12,13) are all
-     * RES1, i.e. they would trap whether we did this write or not.
-     */
-    WRITE_SYSREG((HCPTR_CP_MASK & ~(HCPTR_CP(10) | HCPTR_CP(11))) |
-                 HCPTR_TTA | HCPTR_TAM,
-                 CPTR_EL2);
+    WRITE_SYSREG(cptr_bits, CPTR_EL2);
 
     /*
      * Configure HCR_EL2 with the bare minimum to run Xen until a guest
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:06:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:06:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509936.786712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcN5M-0005NX-Ae; Wed, 15 Mar 2023 09:06:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509936.786712; Wed, 15 Mar 2023 09: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 1pcN5M-0005Mh-6M; Wed, 15 Mar 2023 09:06:16 +0000
Received: by outflank-mailman (input) for mailman id 509936;
 Wed, 15 Mar 2023 09:06:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UsHm=7H=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pcN5K-0005KS-Vr
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:06:14 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a07a58eb-c310-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 10:06: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 E92852F4;
 Wed, 15 Mar 2023 02:06:52 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 09EA03F8C6;
 Wed, 15 Mar 2023 02:06:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a07a58eb-c310-11ed-87f5-c1b5be75604c
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v2 00/10] SVE feature for arm guests
Date: Wed, 15 Mar 2023 09:05:48 +0000
Message-Id: <20230315090558.731029-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie is introducing the possibility for Dom0 and DomU guests to use
sve/sve2 instructions.

SVE feature introduces new instruction and registers to improve performances on
floating point operations.

The SVE feature is advertised using the ID_AA64PFR0_EL1 register, SVE field, and
when available the ID_AA64ZFR0_EL1 register provides additional information
about the implemented version and other SVE feature.

New registers added by the SVE feature are Z0-Z31, P0-P15, FFR, ZCR_ELx.

Z0-Z31 are scalable vector register whose size is implementation defined and
goes from 128 bits to maximum 2048, the term vector length will be used to refer
to this quantity.
P0-P15 are predicate registers and the size is the vector length divided by 8,
same size is the FFR (First Fault Register).
ZCR_ELx is a register that can control and restrict the maximum vector length
used by the <x> exception level and all the lower exception levels, so for
example EL3 can restrict the vector length usable by EL3,2,1,0.

The platform has a maximum implemented vector length, so for every value
written in ZCR register, if this value is above the implemented length, then the
lower value will be used. The RDVL instruction can be used to check what vector
length is the HW using after setting ZCR.

For an SVE guest, the V0-V31 registers are part of the Z0-Z31, so there is no
need to save them separately, saving Z0-Z31 will save implicitly also V0-V31.

SVE usage can be trapped using a flag in CPTR_EL2, hence in this serie the
register is added to the domain state, to be able to trap only the guests that
are not allowed to use SVE.

This serie is introducing a command line parameter to enable Dom0 to use SVE and
to set its maximum vector length that by default is 0 which means the guest is
not allowed to use SVE. Values from 128 to 2048 mean the guest can use SVE with
the selected value used as maximum allowed vector length (which could be lower
if the implemented one is lower).
For DomUs, an XL parameter with the same way of use is introduced and a dom0less
DTB binding is created.

The context switch is the most critical part because there can be big registers
to be saved, in this serie an easy approach is used and the context is
saved/restored every time for the guests that are allowed to use SVE.

Luca Fancellu (10):
  xen/arm: enable SVE extension for Xen
  xen/arm: add sve_vl_bits field to domain
  xen/arm: Expose SVE feature to the guest
  xen/arm: add SVE exception class handling
  arm/sve: save/restore SVE context switch
  xen/arm: enable Dom0 to use SVE feature
  xen/physinfo: encode Arm SVE vector length in arch_capabilities
  tools: add physinfo arch_capabilities handling for Arm
  xen/tools: add sve parameter in XL configuration
  xen/arm: add sve property for dom0less domUs

 docs/man/xl.cfg.5.pod.in                 |  11 ++
 docs/misc/arm/device-tree/booting.txt    |   9 ++
 docs/misc/xen-command-line.pandoc        |  13 ++
 tools/golang/xenlight/helpers.gen.go     |   4 +
 tools/golang/xenlight/types.gen.go       |   2 +
 tools/include/arm_arch_capabilities.h    |  32 ++++
 tools/include/libxl.h                    |   5 +
 tools/libs/light/libxl.c                 |   1 +
 tools/libs/light/libxl_arm.c             |   2 +
 tools/libs/light/libxl_types.idl         |   2 +
 tools/ocaml/libs/xc/xenctrl.ml           |   4 +-
 tools/ocaml/libs/xc/xenctrl.mli          |   4 +-
 tools/ocaml/libs/xc/xenctrl_stubs.c      |   8 +-
 tools/python/xen/lowlevel/xc/xc.c        |   8 +-
 tools/xl/xl_info.c                       |   8 +
 tools/xl/xl_parse.c                      |  25 ++-
 xen/arch/arm/Kconfig                     |  10 +-
 xen/arch/arm/arm64/Makefile              |   1 +
 xen/arch/arm/arm64/cpufeature.c          |   7 +-
 xen/arch/arm/arm64/sve.c                 | 119 ++++++++++++++
 xen/arch/arm/arm64/sve_asm.S             | 189 +++++++++++++++++++++++
 xen/arch/arm/arm64/vfp.c                 |  79 ++++++----
 xen/arch/arm/arm64/vsysreg.c             |  39 ++++-
 xen/arch/arm/cpufeature.c                |   6 +-
 xen/arch/arm/domain.c                    |  48 +++++-
 xen/arch/arm/domain_build.c              |  11 ++
 xen/arch/arm/include/asm/arm64/sve.h     |  72 +++++++++
 xen/arch/arm/include/asm/arm64/sysregs.h |   4 +
 xen/arch/arm/include/asm/arm64/vfp.h     |  10 ++
 xen/arch/arm/include/asm/cpufeature.h    |  14 ++
 xen/arch/arm/include/asm/domain.h        |   8 +
 xen/arch/arm/include/asm/processor.h     |   3 +
 xen/arch/arm/setup.c                     |   5 +-
 xen/arch/arm/sysctl.c                    |  11 ++
 xen/arch/arm/traps.c                     |  40 +++--
 xen/include/public/arch-arm.h            |   3 +
 xen/include/public/domctl.h              |   2 +-
 xen/include/public/sysctl.h              |   3 +
 38 files changed, 748 insertions(+), 74 deletions(-)
 create mode 100644 tools/include/arm_arch_capabilities.h
 create mode 100644 xen/arch/arm/arm64/sve.c
 create mode 100644 xen/arch/arm/arm64/sve_asm.S
 create mode 100644 xen/arch/arm/include/asm/arm64/sve.h

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:06:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:06:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509941.786766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcN5R-0006nw-CX; Wed, 15 Mar 2023 09:06:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509941.786766; Wed, 15 Mar 2023 09:06:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcN5R-0006ml-6C; Wed, 15 Mar 2023 09:06:21 +0000
Received: by outflank-mailman (input) for mailman id 509941;
 Wed, 15 Mar 2023 09:06: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=UsHm=7H=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pcN5P-0005KS-CO
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:06:19 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a594bb2b-c310-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 10:06: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 8FF042F4;
 Wed, 15 Mar 2023 02:07:01 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 6552E3F8C6;
 Wed, 15 Mar 2023 02:06: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: a594bb2b-c310-11ed-87f5-c1b5be75604c
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 06/10] xen/arm: enable Dom0 to use SVE feature
Date: Wed, 15 Mar 2023 09:05:54 +0000
Message-Id: <20230315090558.731029-7-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230315090558.731029-1-luca.fancellu@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a command line parameter to allow Dom0 the use of SVE resources,
the command line parameter dom0_sve controls the feature on this
domain and sets the maximum SVE vector length for Dom0.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v1:
 - No changes
Changes from RFC:
 - Changed docs to explain that the domain won't be created if the
   requested vector length is above the supported one from the
   platform.
---
 docs/misc/xen-command-line.pandoc    | 13 +++++++++++++
 xen/arch/arm/arm64/sve.c             |  5 +++++
 xen/arch/arm/domain_build.c          |  4 ++++
 xen/arch/arm/include/asm/arm64/sve.h |  4 ++++
 4 files changed, 26 insertions(+)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index f68deaa6a97a..58d4bd7574a3 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1005,6 +1005,19 @@ restrictions set up here. Note that the values to be specified here are
 ACPI PXM ones, not Xen internal node numbers. `relaxed` sets up vCPU
 affinities to prefer but be not limited to the specified node(s).
 
+### dom0_sve (arm)
+> `= <integer>`
+
+> Default: `0`
+
+Enable arm SVE usage for Dom0 domain and sets the maximum SVE vector length.
+Values above 0 means feature is enabled for Dom0, otherwise feature is disabled.
+Possible values are from 0 to maximum 2048, being multiple of 128, that will be
+the maximum vector length.
+Please note that the platform can supports a lower value, if the requested value
+is above the supported one, the domain creation will fail and the system will
+stop.
+
 ### dom0_vcpus_pin
 > `= <boolean>`
 
diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
index 1b95a3cbadd1..6593b59b58e8 100644
--- a/xen/arch/arm/arm64/sve.c
+++ b/xen/arch/arm/arm64/sve.c
@@ -5,10 +5,15 @@
  * Copyright (C) 2022 ARM Ltd.
  */
 
+#include <xen/param.h>
 #include <xen/sched.h>
 #include <xen/sizes.h>
 #include <asm/arm64/sve.h>
 
+/* opt_dom0_sve: allow Dom0 to use SVE and set maximum vector length. */
+unsigned int __initdata opt_dom0_sve;
+integer_param("dom0_sve", opt_dom0_sve);
+
 extern unsigned int sve_get_hw_vl(void);
 extern void sve_save_ctx(uint64_t *sve_ctx, uint64_t *pregs, int save_ffr);
 extern void sve_load_ctx(uint64_t const *sve_ctx, uint64_t const *pregs,
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 9707eb7b1bb1..b46c30ab24b1 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -26,6 +26,7 @@
 #include <asm/platform.h>
 #include <asm/psci.h>
 #include <asm/setup.h>
+#include <asm/arm64/sve.h>
 #include <asm/cpufeature.h>
 #include <asm/domain_build.h>
 #include <xen/event.h>
@@ -4084,6 +4085,9 @@ void __init create_dom0(void)
     if ( iommu_enabled )
         dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
 
+    if ( opt_dom0_sve > 0 )
+        dom0_cfg.arch.sve_vl_bits = opt_dom0_sve;
+
     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/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
index 28c31b329233..dc6e747cec9e 100644
--- a/xen/arch/arm/include/asm/arm64/sve.h
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -21,6 +21,8 @@ static inline bool is_vl_valid(uint16_t vl)
 
 #ifdef CONFIG_ARM64_SVE
 
+extern unsigned int opt_dom0_sve;
+
 register_t compute_max_zcr(void);
 register_t vl_to_zcr(uint16_t vl);
 uint16_t get_sys_vl_len(void);
@@ -31,6 +33,8 @@ void sve_restore_state(struct vcpu *v);
 
 #else /* !CONFIG_ARM64_SVE */
 
+#define opt_dom0_sve (0)
+
 static inline register_t compute_max_zcr(void)
 {
     return 0;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:06:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:06:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509942.786777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcN5S-000797-PZ; Wed, 15 Mar 2023 09:06:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509942.786777; Wed, 15 Mar 2023 09:06: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 1pcN5S-00078K-Lq; Wed, 15 Mar 2023 09:06:22 +0000
Received: by outflank-mailman (input) for mailman id 509942;
 Wed, 15 Mar 2023 09:06: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=UsHm=7H=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pcN5R-0005Kr-Rm
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:06:21 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id a68d5f01-c310-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 10:06:20 +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 4C7D9165C;
 Wed, 15 Mar 2023 02:07:03 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 223873F8C6;
 Wed, 15 Mar 2023 02:06: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: a68d5f01-c310-11ed-b464-930f4c7d94ae
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	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 07/10] xen/physinfo: encode Arm SVE vector length in arch_capabilities
Date: Wed, 15 Mar 2023 09:05:55 +0000
Message-Id: <20230315090558.731029-8-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230315090558.731029-1-luca.fancellu@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When the arm platform supports SVE, advertise the feature in the
field arch_capabilities in struct xen_sysctl_physinfo by encoding
the SVE vector length in it.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v1:
 - Use only arch_capabilities and some defines to encode SVE VL
   (Bertrand, Stefano, Jan)
Changes from RFC:
 - new patch
---
 xen/arch/arm/sysctl.c       | 11 +++++++++++
 xen/include/public/sysctl.h |  3 +++
 2 files changed, 14 insertions(+)

diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index b0a78a8b10d0..075f52801453 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -11,11 +11,22 @@
 #include <xen/lib.h>
 #include <xen/errno.h>
 #include <xen/hypercall.h>
+#include <asm/arm64/sve.h>
 #include <public/sysctl.h>
 
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
+
+    if ( cpu_has_sve )
+    {
+        /* Vector length is divided by 128 to save some space */
+        uint32_t sve_vl = get_sys_vl_len() / SVE_VL_MULTIPLE_VAL;
+
+        sve_vl &= XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK;
+
+        pi->arch_capabilities |= sve_vl << XEN_SYSCTL_PHYSCAP_ARM_SVE_SHFT;
+    }
 }
 
 long arch_do_sysctl(struct xen_sysctl *sysctl,
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index e8dded9fb94a..ec15d8c5ab47 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -94,6 +94,9 @@ struct xen_sysctl_tbuf_op {
 /* Max XEN_SYSCTL_PHYSCAP_* constant.  Used for ABI checking. */
 #define XEN_SYSCTL_PHYSCAP_MAX XEN_SYSCTL_PHYSCAP_gnttab_v2
 
+#define XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK  (0x1FU)
+#define XEN_SYSCTL_PHYSCAP_ARM_SVE_SHFT  (0)
+
 struct xen_sysctl_physinfo {
     uint32_t threads_per_core;
     uint32_t cores_per_socket;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:06:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:06:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509937.786726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcN5N-0005oq-O9; Wed, 15 Mar 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 509937.786726; Wed, 15 Mar 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 1pcN5N-0005oj-Km; Wed, 15 Mar 2023 09:06:17 +0000
Received: by outflank-mailman (input) for mailman id 509937;
 Wed, 15 Mar 2023 09:06:15 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UsHm=7H=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pcN5L-0005KS-Oc
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:06:15 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a2f67564-c310-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 10:06: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 42AA8169C;
 Wed, 15 Mar 2023 02:06:57 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8F94A3F8C6;
 Wed, 15 Mar 2023 02:06:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a2f67564-c310-11ed-87f5-c1b5be75604c
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 03/10] xen/arm: Expose SVE feature to the guest
Date: Wed, 15 Mar 2023 09:05:51 +0000
Message-Id: <20230315090558.731029-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230315090558.731029-1-luca.fancellu@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When a guest is allowed to use SVE, expose the SVE features through
the identification registers.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v1:
 - No changes
Changes from RFC:
 - No changes
---
 xen/arch/arm/arm64/vsysreg.c | 39 ++++++++++++++++++++++++++++++++++--
 1 file changed, 37 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
index 758750983c11..10048bb4d221 100644
--- a/xen/arch/arm/arm64/vsysreg.c
+++ b/xen/arch/arm/arm64/vsysreg.c
@@ -18,6 +18,7 @@
 
 #include <xen/sched.h>
 
+#include <asm/arm64/cpufeature.h>
 #include <asm/current.h>
 #include <asm/regs.h>
 #include <asm/traps.h>
@@ -295,7 +296,28 @@ void do_sysreg(struct cpu_user_regs *regs,
     GENERATE_TID3_INFO(MVFR0_EL1, mvfr, 0)
     GENERATE_TID3_INFO(MVFR1_EL1, mvfr, 1)
     GENERATE_TID3_INFO(MVFR2_EL1, mvfr, 2)
-    GENERATE_TID3_INFO(ID_AA64PFR0_EL1, pfr64, 0)
+
+    case HSR_SYSREG_ID_AA64PFR0_EL1:
+    {
+        register_t guest_reg_value = guest_cpuinfo.pfr64.bits[0];
+
+        if ( is_sve_domain(v->domain) )
+        {
+            /* 4 is the SVE field width in id_aa64pfr0_el1 */
+            uint64_t mask = GENMASK(ID_AA64PFR0_SVE_SHIFT + 4 - 1,
+                                    ID_AA64PFR0_SVE_SHIFT);
+            /* sysval is the sve field on the system */
+            uint64_t sysval = cpuid_feature_extract_unsigned_field_width(
+                                system_cpuinfo.pfr64.bits[0],
+                                ID_AA64PFR0_SVE_SHIFT, 4);
+            guest_reg_value &= ~mask;
+            guest_reg_value |= (sysval << ID_AA64PFR0_SVE_SHIFT) & mask;
+        }
+
+        return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr, 1,
+                                  guest_reg_value);
+    }
+
     GENERATE_TID3_INFO(ID_AA64PFR1_EL1, pfr64, 1)
     GENERATE_TID3_INFO(ID_AA64DFR0_EL1, dbg64, 0)
     GENERATE_TID3_INFO(ID_AA64DFR1_EL1, dbg64, 1)
@@ -306,7 +328,20 @@ void do_sysreg(struct cpu_user_regs *regs,
     GENERATE_TID3_INFO(ID_AA64MMFR2_EL1, mm64, 2)
     GENERATE_TID3_INFO(ID_AA64AFR0_EL1, aux64, 0)
     GENERATE_TID3_INFO(ID_AA64AFR1_EL1, aux64, 1)
-    GENERATE_TID3_INFO(ID_AA64ZFR0_EL1, zfr64, 0)
+
+    case HSR_SYSREG_ID_AA64ZFR0_EL1:
+    {
+        /*
+         * When the guest has the SVE feature enabled, the whole id_aa64zfr0_el1
+         * needs to be exposed.
+         */
+        register_t guest_reg_value = guest_cpuinfo.zfr64.bits[0];
+        if ( is_sve_domain(v->domain) )
+            guest_reg_value = system_cpuinfo.zfr64.bits[0];
+
+        return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr, 1,
+                                  guest_reg_value);
+    }
 
     /*
      * Those cases are catching all Reserved registers trapped by TID3 which
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:06:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:06:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509938.786737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcN5O-000647-VF; Wed, 15 Mar 2023 09:06:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509938.786737; Wed, 15 Mar 2023 09: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 1pcN5O-00063y-S5; Wed, 15 Mar 2023 09:06:18 +0000
Received: by outflank-mailman (input) for mailman id 509938;
 Wed, 15 Mar 2023 09: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=UsHm=7H=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pcN5M-0005KS-Oh
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:06:16 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a3b8f276-c310-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 10:06: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 7B27B4B3;
 Wed, 15 Mar 2023 02:06:58 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C86B73F8C6;
 Wed, 15 Mar 2023 02:06:13 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3b8f276-c310-11ed-87f5-c1b5be75604c
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 04/10] xen/arm: add SVE exception class handling
Date: Wed, 15 Mar 2023 09:05:52 +0000
Message-Id: <20230315090558.731029-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230315090558.731029-1-luca.fancellu@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

SVE has a new exception class with code 0x19, introduce the new code
and handle the exception.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v1:
 - No changes
Changes from RFC:
 - No changes
---
 xen/arch/arm/include/asm/processor.h |  1 +
 xen/arch/arm/traps.c                 | 12 ++++++++++++
 2 files changed, 13 insertions(+)

diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
index 0e38926b94db..625c2bd0cd6c 100644
--- a/xen/arch/arm/include/asm/processor.h
+++ b/xen/arch/arm/include/asm/processor.h
@@ -426,6 +426,7 @@
 #define HSR_EC_HVC64                0x16
 #define HSR_EC_SMC64                0x17
 #define HSR_EC_SYSREG               0x18
+#define HSR_EC_SVE                  0x19
 #endif
 #define HSR_EC_INSTR_ABORT_LOWER_EL 0x20
 #define HSR_EC_INSTR_ABORT_CURR_EL  0x21
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index a78a99ddadd0..c2e30feafd5a 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -2160,6 +2160,13 @@ void do_trap_guest_sync(struct cpu_user_regs *regs)
         perfc_incr(trap_sysreg);
         do_sysreg(regs, hsr);
         break;
+    case HSR_EC_SVE:
+        GUEST_BUG_ON(regs_mode_is_32bit(regs));
+        gprintk(XENLOG_WARNING,
+                "Domain id %d tried to use SVE while not allowed\n",
+                current->domain->domain_id);
+        inject_undef_exception(regs, hsr);
+        break;
 #endif
 
     case HSR_EC_INSTR_ABORT_LOWER_EL:
@@ -2189,6 +2196,11 @@ void do_trap_hyp_sync(struct cpu_user_regs *regs)
     case HSR_EC_BRK:
         do_trap_brk(regs, hsr);
         break;
+    case HSR_EC_SVE:
+        /* An SVE exception is a bug somewhere in hypervisor code */
+        printk("SVE trap at EL2.\n");
+        do_unexpected_trap("Hypervisor", regs);
+        break;
 #endif
     case HSR_EC_DATA_ABORT_CURR_EL:
     case HSR_EC_INSTR_ABORT_CURR_EL:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:06:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:06:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509939.786743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcN5P-00067v-Ed; Wed, 15 Mar 2023 09:06:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509939.786743; Wed, 15 Mar 2023 09: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 1pcN5P-000670-4v; Wed, 15 Mar 2023 09:06:19 +0000
Received: by outflank-mailman (input) for mailman id 509939;
 Wed, 15 Mar 2023 09:06: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=UsHm=7H=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pcN5N-0005Kr-E5
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:06:17 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id a23e5413-c310-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 10:06:13 +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 0A137165C;
 Wed, 15 Mar 2023 02:06:56 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D226E3F8C6;
 Wed, 15 Mar 2023 02:06:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a23e5413-c310-11ed-b464-930f4c7d94ae
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	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 02/10] xen/arm: add sve_vl_bits field to domain
Date: Wed, 15 Mar 2023 09:05:50 +0000
Message-Id: <20230315090558.731029-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230315090558.731029-1-luca.fancellu@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add sve_vl_bits field to arch_domain and xen_arch_domainconfig
structure, to allow the domain to have an information about the
SVE feature and the number of SVE register bits that are allowed
for this domain.

The field is used also to allow or forbid a domain to use SVE,
because a value equal to zero means the guest is not allowed to
use the feature.

Check that the requested vector length is lower or equal to the
platform supported vector length, otherwise fail on domain
creation.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v1:
 - no changes
Changes from RFC:
 - restore zcr_el2 in sve_restore_state, that will be introduced
   later in this serie, so remove zcr_el2 related code from this
   patch and move everything to the later patch (Julien)
 - add explicit padding into struct xen_arch_domainconfig (Julien)
 - Don't lower down the vector length, just fail to create the
   domain. (Julien)
---
 xen/arch/arm/arm64/sve.c             |  9 ++++++++
 xen/arch/arm/domain.c                | 32 ++++++++++++++++++++++++++++
 xen/arch/arm/include/asm/arm64/sve.h | 12 +++++++++++
 xen/arch/arm/include/asm/domain.h    |  5 +++++
 xen/include/public/arch-arm.h        |  3 +++
 xen/include/public/domctl.h          |  2 +-
 6 files changed, 62 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
index c466de61b47f..4a4ff5dbef49 100644
--- a/xen/arch/arm/arm64/sve.c
+++ b/xen/arch/arm/arm64/sve.c
@@ -6,6 +6,7 @@
  */
 
 #include <xen/types.h>
+#include <asm/cpufeature.h>
 #include <asm/arm64/sve.h>
 #include <asm/arm64/sysregs.h>
 #include <asm/processor.h>
@@ -48,3 +49,11 @@ register_t vl_to_zcr(uint16_t vl)
     ASSERT(vl > 0);
     return ((vl / SVE_VL_MULTIPLE_VAL) - 1U) & ZCR_ELx_LEN_MASK;
 }
+
+/* Get the system sanitized value for VL in bits */
+uint16_t get_sys_vl_len(void)
+{
+    /* ZCR_ELx len field is ((len+1) * 128) = vector bits length */
+    return ((system_cpuinfo.zcr64.bits[0] & ZCR_ELx_LEN_MASK) + 1U) *
+            SVE_VL_MULTIPLE_VAL;
+}
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index adb6ace2e24d..8d64e3c08edf 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -13,6 +13,7 @@
 #include <xen/wait.h>
 
 #include <asm/alternative.h>
+#include <asm/arm64/sve.h>
 #include <asm/cpuerrata.h>
 #include <asm/cpufeature.h>
 #include <asm/current.h>
@@ -550,6 +551,8 @@ int arch_vcpu_create(struct vcpu *v)
     v->arch.vmpidr = MPIDR_SMP | vcpuid_to_vaffinity(v->vcpu_id);
 
     v->arch.cptr_el2 = get_default_cptr_flags();
+    if ( is_sve_domain(v->domain) )
+        v->arch.cptr_el2 &= ~HCPTR_CP(8);
 
     v->arch.hcr_el2 = get_default_hcr_flags();
 
@@ -594,6 +597,7 @@ 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 sve_vl_bits = config->arch.sve_vl_bits;
 
     if ( (config->flags & ~flags_optional) != flags_required )
     {
@@ -602,6 +606,31 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
         return -EINVAL;
     }
 
+    /* Check feature flags */
+    if ( sve_vl_bits > 0 ) {
+        unsigned int zcr_max_bits = get_sys_vl_len();
+
+        if ( !cpu_has_sve )
+        {
+            dprintk(XENLOG_INFO, "SVE is unsupported on this machine.\n");
+            return -EINVAL;
+        }
+        else if ( !is_vl_valid(sve_vl_bits) )
+        {
+            dprintk(XENLOG_INFO, "Unsupported SVE vector length (%u)\n",
+                    sve_vl_bits);
+            return -EINVAL;
+        }
+        else if ( sve_vl_bits > zcr_max_bits )
+        {
+            dprintk(XENLOG_INFO,
+                    "The requested SVE vector length (%u) must be lower or \n"
+                    "equal to the platform supported vector length (%u)\n",
+                    sve_vl_bits, zcr_max_bits);
+            return -EINVAL;
+        }
+    }
+
     /* The P2M table must always be shared between the CPU and the IOMMU */
     if ( config->iommu_opts & XEN_DOMCTL_IOMMU_no_sharept )
     {
@@ -744,6 +773,9 @@ int arch_domain_create(struct domain *d,
     if ( (rc = domain_vpci_init(d)) != 0 )
         goto fail;
 
+    /* Copy sve_vl_bits to the domain configuration */
+    d->arch.sve_vl_bits = config->arch.sve_vl_bits;
+
     return 0;
 
 fail:
diff --git a/xen/arch/arm/include/asm/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
index bd56e2f24230..f4a660e402ca 100644
--- a/xen/arch/arm/include/asm/arm64/sve.h
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -13,10 +13,17 @@
 /* Vector length must be multiple of 128 */
 #define SVE_VL_MULTIPLE_VAL (128U)
 
+static inline bool is_vl_valid(uint16_t vl)
+{
+    /* SVE vector length is multiple of 128 and maximum 2048 */
+    return ((vl % SVE_VL_MULTIPLE_VAL) == 0) && (vl <= SVE_VL_MAX_BITS);
+}
+
 #ifdef CONFIG_ARM64_SVE
 
 register_t compute_max_zcr(void);
 register_t vl_to_zcr(uint16_t vl);
+uint16_t get_sys_vl_len(void);
 
 #else /* !CONFIG_ARM64_SVE */
 
@@ -30,6 +37,11 @@ static inline register_t vl_to_zcr(uint16_t vl)
     return 0;
 }
 
+static inline uint16_t get_sys_vl_len(void)
+{
+    return 0;
+}
+
 #endif
 
 #endif /* _ARM_ARM64_SVE_H */
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 42eb5df320a7..1bd669e0a5c1 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 is_sve_domain(d) ((d)->arch.sve_vl_bits > 0)
+
 /*
  * Is the domain using the host memory layout?
  *
@@ -114,6 +116,9 @@ struct arch_domain
     void *tee;
 #endif
 
+    /* max SVE vector length in bits */
+    uint16_t sve_vl_bits;
+
 }  __cacheline_aligned;
 
 struct arch_vcpu
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 1528ced5097a..3094aeb57990 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -304,6 +304,9 @@ struct xen_arch_domainconfig {
     uint16_t tee_type;
     /* IN */
     uint32_t nr_spis;
+    /* IN */
+    uint16_t sve_vl_bits;
+    uint16_t _pad1;
     /*
      * OUT
      * Based on the property clock-frequency in the DT timer node.
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 51be28c3de7c..616d7a1c070d 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 0x00000015
+#define XEN_DOMCTL_INTERFACE_VERSION 0x00000016
 
 /*
  * NB. xen_domctl.domain is an IN/OUT parameter for this operation.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:06:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:06:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509940.786747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcN5P-0006DE-Nj; Wed, 15 Mar 2023 09:06:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509940.786747; Wed, 15 Mar 2023 09: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 1pcN5P-0006AT-En; Wed, 15 Mar 2023 09:06:19 +0000
Received: by outflank-mailman (input) for mailman id 509940;
 Wed, 15 Mar 2023 09: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=UsHm=7H=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pcN5N-0005KS-Vl
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:06:18 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id a481f899-c310-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 10:06:16 +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 D2CD4169C;
 Wed, 15 Mar 2023 02:06:59 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0D8793F8C6;
 Wed, 15 Mar 2023 02:06:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a481f899-c310-11ed-87f5-c1b5be75604c
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 05/10] arm/sve: save/restore SVE context switch
Date: Wed, 15 Mar 2023 09:05:53 +0000
Message-Id: <20230315090558.731029-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230315090558.731029-1-luca.fancellu@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Save/restore context switch for SVE, allocate memory to contain
the Z0-31 registers whose length is maximum 2048 bits each and
FFR who can be maximum 256 bits, the allocated memory depends on
how many bits is the vector length for the domain and how many bits
are supported by the platform.

Save P0-15 whose length is maximum 256 bits each, in this case the
memory used is from the fpregs field in struct vfp_state,
because V0-31 are part of Z0-31 and this space would have been
unused for SVE domain otherwise.

Create zcr_el{1,2} fields in arch_vcpu, initialise zcr_el2 on vcpu
creation given the requested vector length and restore it on
context switch, save/restore ZCR_EL1 value as well.

Remove headers from sve.c that are already included using
xen/sched.h.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v1:
 - No changes
Changes from RFC:
 - Moved zcr_el2 field introduction in this patch, restore its
   content inside sve_restore_state function. (Julien)
---
 xen/arch/arm/arm64/sve.c                 |  65 ++++++++++-
 xen/arch/arm/arm64/sve_asm.S             | 141 +++++++++++++++++++++++
 xen/arch/arm/arm64/vfp.c                 |  79 +++++++------
 xen/arch/arm/domain.c                    |   7 ++
 xen/arch/arm/include/asm/arm64/sve.h     |  13 +++
 xen/arch/arm/include/asm/arm64/sysregs.h |   3 +
 xen/arch/arm/include/asm/arm64/vfp.h     |  10 ++
 xen/arch/arm/include/asm/domain.h        |   2 +
 8 files changed, 281 insertions(+), 39 deletions(-)

diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
index 4a4ff5dbef49..1b95a3cbadd1 100644
--- a/xen/arch/arm/arm64/sve.c
+++ b/xen/arch/arm/arm64/sve.c
@@ -5,14 +5,29 @@
  * Copyright (C) 2022 ARM Ltd.
  */
 
-#include <xen/types.h>
-#include <asm/cpufeature.h>
+#include <xen/sched.h>
+#include <xen/sizes.h>
 #include <asm/arm64/sve.h>
-#include <asm/arm64/sysregs.h>
-#include <asm/processor.h>
-#include <asm/system.h>
 
 extern unsigned int sve_get_hw_vl(void);
+extern void sve_save_ctx(uint64_t *sve_ctx, uint64_t *pregs, int save_ffr);
+extern void sve_load_ctx(uint64_t const *sve_ctx, uint64_t const *pregs,
+                         int restore_ffr);
+
+static inline uint16_t sve_zreg_ctx_size(uint16_t vl)
+{
+    /*
+     * Z0-31 registers size in bytes is computed from VL that is in bits, so VL
+     * in bytes is VL/8.
+     */
+    return (vl / 8U) * 32U;
+}
+
+static inline uint16_t sve_ffrreg_ctx_size(uint16_t vl)
+{
+    /* FFR register size is VL/8, which is in bytes (VL/8)/8 */
+    return (vl / 64U);
+}
 
 register_t compute_max_zcr(void)
 {
@@ -57,3 +72,43 @@ uint16_t get_sys_vl_len(void)
     return ((system_cpuinfo.zcr64.bits[0] & ZCR_ELx_LEN_MASK) + 1U) *
             SVE_VL_MULTIPLE_VAL;
 }
+
+int sve_context_init(struct vcpu *v)
+{
+    uint64_t *ctx = _xzalloc(sve_zreg_ctx_size(v->domain->arch.sve_vl_bits) +
+                             sve_ffrreg_ctx_size(v->domain->arch.sve_vl_bits),
+                             L1_CACHE_BYTES);
+
+    if ( !ctx )
+        return -ENOMEM;
+
+    v->arch.vfp.sve_context = ctx;
+
+    return 0;
+}
+
+void sve_context_free(struct vcpu *v)
+{
+    xfree(v->arch.vfp.sve_context);
+}
+
+void sve_save_state(struct vcpu *v)
+{
+    uint64_t *sve_ctx_zreg_end = v->arch.vfp.sve_context +
+            (sve_zreg_ctx_size(v->domain->arch.sve_vl_bits) / sizeof(uint64_t));
+
+    v->arch.zcr_el1 = READ_SYSREG(ZCR_EL1);
+
+    sve_save_ctx(sve_ctx_zreg_end, v->arch.vfp.fpregs, 1);
+}
+
+void sve_restore_state(struct vcpu *v)
+{
+    uint64_t *sve_ctx_zreg_end = v->arch.vfp.sve_context +
+            (sve_zreg_ctx_size(v->domain->arch.sve_vl_bits) / sizeof(uint64_t));
+
+    WRITE_SYSREG(v->arch.zcr_el1, ZCR_EL1);
+    WRITE_SYSREG(v->arch.zcr_el2, ZCR_EL2);
+
+    sve_load_ctx(sve_ctx_zreg_end, v->arch.vfp.fpregs, 1);
+}
diff --git a/xen/arch/arm/arm64/sve_asm.S b/xen/arch/arm/arm64/sve_asm.S
index 4d1549344733..8c37d7bc95d5 100644
--- a/xen/arch/arm/arm64/sve_asm.S
+++ b/xen/arch/arm/arm64/sve_asm.S
@@ -17,6 +17,18 @@
     .endif
 .endm
 
+.macro _sve_check_zreg znr
+    .if (\znr) < 0 || (\znr) > 31
+        .error "Bad Scalable Vector Extension vector register number \znr."
+    .endif
+.endm
+
+.macro _sve_check_preg pnr
+    .if (\pnr) < 0 || (\pnr) > 15
+        .error "Bad Scalable Vector Extension predicate register number \pnr."
+    .endif
+.endm
+
 .macro _check_num n, min, max
     .if (\n) < (\min) || (\n) > (\max)
         .error "Number \n out of range [\min,\max]"
@@ -26,6 +38,54 @@
 /* SVE instruction encodings for non-SVE-capable assemblers */
 /* (pre binutils 2.28, all kernel capable clang versions support SVE) */
 
+/* STR (vector): STR Z\nz, [X\nxbase, #\offset, MUL VL] */
+.macro _sve_str_v nz, nxbase, offset=0
+    _sve_check_zreg \nz
+    _check_general_reg \nxbase
+    _check_num (\offset), -0x100, 0xff
+    .inst 0xe5804000                \
+        | (\nz)                     \
+        | ((\nxbase) << 5)          \
+        | (((\offset) & 7) << 10)   \
+        | (((\offset) & 0x1f8) << 13)
+.endm
+
+/* LDR (vector): LDR Z\nz, [X\nxbase, #\offset, MUL VL] */
+.macro _sve_ldr_v nz, nxbase, offset=0
+    _sve_check_zreg \nz
+    _check_general_reg \nxbase
+    _check_num (\offset), -0x100, 0xff
+    .inst 0x85804000                \
+        | (\nz)                     \
+        | ((\nxbase) << 5)          \
+        | (((\offset) & 7) << 10)   \
+        | (((\offset) & 0x1f8) << 13)
+.endm
+
+/* STR (predicate): STR P\np, [X\nxbase, #\offset, MUL VL] */
+.macro _sve_str_p np, nxbase, offset=0
+    _sve_check_preg \np
+    _check_general_reg \nxbase
+    _check_num (\offset), -0x100, 0xff
+    .inst 0xe5800000                \
+        | (\np)                     \
+        | ((\nxbase) << 5)          \
+        | (((\offset) & 7) << 10)   \
+        | (((\offset) & 0x1f8) << 13)
+.endm
+
+/* LDR (predicate): LDR P\np, [X\nxbase, #\offset, MUL VL] */
+.macro _sve_ldr_p np, nxbase, offset=0
+    _sve_check_preg \np
+    _check_general_reg \nxbase
+    _check_num (\offset), -0x100, 0xff
+    .inst 0x85800000                \
+        | (\np)                     \
+        | ((\nxbase) << 5)          \
+        | (((\offset) & 7) << 10)   \
+        | (((\offset) & 0x1f8) << 13)
+.endm
+
 /* RDVL X\nx, #\imm */
 .macro _sve_rdvl nx, imm
     _check_general_reg \nx
@@ -35,11 +95,92 @@
         | (((\imm) & 0x3f) << 5)
 .endm
 
+/* RDFFR (unpredicated): RDFFR P\np.B */
+.macro _sve_rdffr np
+    _sve_check_preg \np
+    .inst 0x2519f000                \
+        | (\np)
+.endm
+
+/* WRFFR P\np.B */
+.macro _sve_wrffr np
+    _sve_check_preg \np
+    .inst 0x25289000                \
+        | ((\np) << 5)
+.endm
+
+.macro __for from:req, to:req
+    .if (\from) == (\to)
+        _for__body %\from
+    .else
+        __for %\from, %((\from) + ((\to) - (\from)) / 2)
+        __for %((\from) + ((\to) - (\from)) / 2 + 1), %\to
+    .endif
+.endm
+
+.macro _for var:req, from:req, to:req, insn:vararg
+    .macro _for__body \var:req
+        .noaltmacro
+        \insn
+        .altmacro
+    .endm
+
+    .altmacro
+    __for \from, \to
+    .noaltmacro
+
+    .purgem _for__body
+.endm
+
+.macro sve_save nxzffrctx, nxpctx, save_ffr
+    _for n, 0, 31, _sve_str_v \n, \nxzffrctx, \n - 32
+    _for n, 0, 15, _sve_str_p \n, \nxpctx, \n
+        cbz \save_ffr, 1f
+        _sve_rdffr 0
+        _sve_str_p 0, \nxzffrctx
+        _sve_ldr_p 0, \nxpctx
+        b 2f
+1:
+        str xzr, [x\nxzffrctx]      // Zero out FFR
+2:
+.endm
+
+.macro sve_load nxzffrctx, nxpctx, restore_ffr
+    _for n, 0, 31, _sve_ldr_v \n, \nxzffrctx, \n - 32
+        cbz \restore_ffr, 1f
+        _sve_ldr_p 0, \nxzffrctx
+        _sve_wrffr 0
+1:
+    _for n, 0, 15, _sve_ldr_p \n, \nxpctx, \n
+.endm
+
 /* Gets the current vector register size in bytes */
 GLOBAL(sve_get_hw_vl)
     _sve_rdvl 0, 1
     ret
 
+/*
+ * Save the SVE context
+ *
+ * x0 - pointer to buffer for Z0-31 + FFR
+ * x1 - pointer to buffer for P0-15
+ * x2 - Save FFR if non-zero
+ */
+GLOBAL(sve_save_ctx)
+    sve_save 0, 1, x2
+    ret
+
+/*
+ * Load the SVE context
+ *
+ * x0 - pointer to buffer for Z0-31 + FFR
+ * x1 - pointer to buffer for P0-15
+ * x2 - Restore FFR if non-zero
+ */
+GLOBAL(sve_load_ctx)
+    sve_load 0, 1, x2
+    ret
+
 /*
  * Local variables:
  * mode: ASM
diff --git a/xen/arch/arm/arm64/vfp.c b/xen/arch/arm/arm64/vfp.c
index 47885e76baae..2d0d7c2e6ddb 100644
--- a/xen/arch/arm/arm64/vfp.c
+++ b/xen/arch/arm/arm64/vfp.c
@@ -2,29 +2,35 @@
 #include <asm/processor.h>
 #include <asm/cpufeature.h>
 #include <asm/vfp.h>
+#include <asm/arm64/sve.h>
 
 void vfp_save_state(struct vcpu *v)
 {
     if ( !cpu_has_fp )
         return;
 
-    asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
-                 "stp q2, q3, [%1, #16 * 2]\n\t"
-                 "stp q4, q5, [%1, #16 * 4]\n\t"
-                 "stp q6, q7, [%1, #16 * 6]\n\t"
-                 "stp q8, q9, [%1, #16 * 8]\n\t"
-                 "stp q10, q11, [%1, #16 * 10]\n\t"
-                 "stp q12, q13, [%1, #16 * 12]\n\t"
-                 "stp q14, q15, [%1, #16 * 14]\n\t"
-                 "stp q16, q17, [%1, #16 * 16]\n\t"
-                 "stp q18, q19, [%1, #16 * 18]\n\t"
-                 "stp q20, q21, [%1, #16 * 20]\n\t"
-                 "stp q22, q23, [%1, #16 * 22]\n\t"
-                 "stp q24, q25, [%1, #16 * 24]\n\t"
-                 "stp q26, q27, [%1, #16 * 26]\n\t"
-                 "stp q28, q29, [%1, #16 * 28]\n\t"
-                 "stp q30, q31, [%1, #16 * 30]\n\t"
-                 : "=Q" (*v->arch.vfp.fpregs) : "r" (v->arch.vfp.fpregs));
+    if ( is_sve_domain(v->domain) )
+        sve_save_state(v);
+    else
+    {
+        asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
+                     "stp q2, q3, [%1, #16 * 2]\n\t"
+                     "stp q4, q5, [%1, #16 * 4]\n\t"
+                     "stp q6, q7, [%1, #16 * 6]\n\t"
+                     "stp q8, q9, [%1, #16 * 8]\n\t"
+                     "stp q10, q11, [%1, #16 * 10]\n\t"
+                     "stp q12, q13, [%1, #16 * 12]\n\t"
+                     "stp q14, q15, [%1, #16 * 14]\n\t"
+                     "stp q16, q17, [%1, #16 * 16]\n\t"
+                     "stp q18, q19, [%1, #16 * 18]\n\t"
+                     "stp q20, q21, [%1, #16 * 20]\n\t"
+                     "stp q22, q23, [%1, #16 * 22]\n\t"
+                     "stp q24, q25, [%1, #16 * 24]\n\t"
+                     "stp q26, q27, [%1, #16 * 26]\n\t"
+                     "stp q28, q29, [%1, #16 * 28]\n\t"
+                     "stp q30, q31, [%1, #16 * 30]\n\t"
+                     : "=Q" (*v->arch.vfp.fpregs) : "r" (v->arch.vfp.fpregs));
+    }
 
     v->arch.vfp.fpsr = READ_SYSREG(FPSR);
     v->arch.vfp.fpcr = READ_SYSREG(FPCR);
@@ -37,23 +43,28 @@ void vfp_restore_state(struct vcpu *v)
     if ( !cpu_has_fp )
         return;
 
-    asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
-                 "ldp q2, q3, [%1, #16 * 2]\n\t"
-                 "ldp q4, q5, [%1, #16 * 4]\n\t"
-                 "ldp q6, q7, [%1, #16 * 6]\n\t"
-                 "ldp q8, q9, [%1, #16 * 8]\n\t"
-                 "ldp q10, q11, [%1, #16 * 10]\n\t"
-                 "ldp q12, q13, [%1, #16 * 12]\n\t"
-                 "ldp q14, q15, [%1, #16 * 14]\n\t"
-                 "ldp q16, q17, [%1, #16 * 16]\n\t"
-                 "ldp q18, q19, [%1, #16 * 18]\n\t"
-                 "ldp q20, q21, [%1, #16 * 20]\n\t"
-                 "ldp q22, q23, [%1, #16 * 22]\n\t"
-                 "ldp q24, q25, [%1, #16 * 24]\n\t"
-                 "ldp q26, q27, [%1, #16 * 26]\n\t"
-                 "ldp q28, q29, [%1, #16 * 28]\n\t"
-                 "ldp q30, q31, [%1, #16 * 30]\n\t"
-                 : : "Q" (*v->arch.vfp.fpregs), "r" (v->arch.vfp.fpregs));
+    if ( is_sve_domain(v->domain) )
+        sve_restore_state(v);
+    else
+    {
+        asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
+                     "ldp q2, q3, [%1, #16 * 2]\n\t"
+                     "ldp q4, q5, [%1, #16 * 4]\n\t"
+                     "ldp q6, q7, [%1, #16 * 6]\n\t"
+                     "ldp q8, q9, [%1, #16 * 8]\n\t"
+                     "ldp q10, q11, [%1, #16 * 10]\n\t"
+                     "ldp q12, q13, [%1, #16 * 12]\n\t"
+                     "ldp q14, q15, [%1, #16 * 14]\n\t"
+                     "ldp q16, q17, [%1, #16 * 16]\n\t"
+                     "ldp q18, q19, [%1, #16 * 18]\n\t"
+                     "ldp q20, q21, [%1, #16 * 20]\n\t"
+                     "ldp q22, q23, [%1, #16 * 22]\n\t"
+                     "ldp q24, q25, [%1, #16 * 24]\n\t"
+                     "ldp q26, q27, [%1, #16 * 26]\n\t"
+                     "ldp q28, q29, [%1, #16 * 28]\n\t"
+                     "ldp q30, q31, [%1, #16 * 30]\n\t"
+                     : : "Q" (*v->arch.vfp.fpregs), "r" (v->arch.vfp.fpregs));
+    }
 
     WRITE_SYSREG(v->arch.vfp.fpsr, FPSR);
     WRITE_SYSREG(v->arch.vfp.fpcr, FPCR);
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 8d64e3c08edf..4a9a19189dd2 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -552,7 +552,12 @@ int arch_vcpu_create(struct vcpu *v)
 
     v->arch.cptr_el2 = get_default_cptr_flags();
     if ( is_sve_domain(v->domain) )
+    {
+        if ( (rc = sve_context_init(v)) != 0 )
+            goto fail;
         v->arch.cptr_el2 &= ~HCPTR_CP(8);
+        v->arch.zcr_el2 = vl_to_zcr(v->domain->arch.sve_vl_bits);
+    }
 
     v->arch.hcr_el2 = get_default_hcr_flags();
 
@@ -582,6 +587,8 @@ fail:
 
 void arch_vcpu_destroy(struct vcpu *v)
 {
+    if ( is_sve_domain(v->domain) )
+        sve_context_free(v);
     vcpu_timer_destroy(v);
     vcpu_vgic_free(v);
     free_xenheap_pages(v->arch.stack, STACK_ORDER);
diff --git a/xen/arch/arm/include/asm/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
index f4a660e402ca..28c31b329233 100644
--- a/xen/arch/arm/include/asm/arm64/sve.h
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -24,6 +24,10 @@ static inline bool is_vl_valid(uint16_t vl)
 register_t compute_max_zcr(void);
 register_t vl_to_zcr(uint16_t vl);
 uint16_t get_sys_vl_len(void);
+int sve_context_init(struct vcpu *v);
+void sve_context_free(struct vcpu *v);
+void sve_save_state(struct vcpu *v);
+void sve_restore_state(struct vcpu *v);
 
 #else /* !CONFIG_ARM64_SVE */
 
@@ -42,6 +46,15 @@ static inline uint16_t get_sys_vl_len(void)
     return 0;
 }
 
+static inline int sve_context_init(struct vcpu *v)
+{
+    return 0;
+}
+
+static inline void sve_context_free(struct vcpu *v) {}
+static inline void sve_save_state(struct vcpu *v) {}
+static inline void sve_restore_state(struct vcpu *v) {}
+
 #endif
 
 #endif /* _ARM_ARM64_SVE_H */
diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
index 4cabb9eb4d5e..3fdeb9d8cdef 100644
--- a/xen/arch/arm/include/asm/arm64/sysregs.h
+++ b/xen/arch/arm/include/asm/arm64/sysregs.h
@@ -88,6 +88,9 @@
 #ifndef ID_AA64ISAR2_EL1
 #define ID_AA64ISAR2_EL1            S3_0_C0_C6_2
 #endif
+#ifndef ZCR_EL1
+#define ZCR_EL1                     S3_0_C1_C2_0
+#endif
 
 /* ID registers (imported from arm64/include/asm/sysreg.h in Linux) */
 
diff --git a/xen/arch/arm/include/asm/arm64/vfp.h b/xen/arch/arm/include/asm/arm64/vfp.h
index e6e8c363bc16..8af714cb8ecc 100644
--- a/xen/arch/arm/include/asm/arm64/vfp.h
+++ b/xen/arch/arm/include/asm/arm64/vfp.h
@@ -6,7 +6,17 @@
 
 struct vfp_state
 {
+    /*
+     * When SVE is enabled for the guest, fpregs memory will be used to
+     * save/restore P0-P15 registers, otherwise it will be used for the V0-V31
+     * registers.
+     */
     uint64_t fpregs[64] __vfp_aligned;
+    /*
+     * When SVE is enabled for the guest, sve_context contains memory to
+     * save/restore Z0-Z31 registers and FFR.
+     */
+    uint64_t *sve_context;
     register_t fpcr;
     register_t fpexc32_el2;
     register_t fpsr;
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 1bd669e0a5c1..4d1066750a9b 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -195,6 +195,8 @@ struct arch_vcpu
     register_t tpidrro_el0;
 
     /* HYP configuration */
+    register_t zcr_el1;
+    register_t zcr_el2;
     register_t cptr_el2;
     register_t hcr_el2;
     register_t mdcr_el2;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:06:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:06:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509943.786787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcN5W-0007XM-5I; Wed, 15 Mar 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 509943.786787; Wed, 15 Mar 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 1pcN5W-0007X7-1G; Wed, 15 Mar 2023 09:06:26 +0000
Received: by outflank-mailman (input) for mailman id 509943;
 Wed, 15 Mar 2023 09:06: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=UsHm=7H=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pcN5U-0005Kr-1J
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:06:24 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id a7abadfb-c310-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 10:06: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 280B12F4;
 Wed, 15 Mar 2023 02:07:05 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D3A653F8C6;
 Wed, 15 Mar 2023 02:06:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7abadfb-c310-11ed-b464-930f4c7d94ae
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v2 08/10] tools: add physinfo arch_capabilities handling for Arm
Date: Wed, 15 Mar 2023 09:05:56 +0000
Message-Id: <20230315090558.731029-9-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230315090558.731029-1-luca.fancellu@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

On Arm, the SVE vector length is encoded in arch_capabilities field
of struct xen_sysctl_physinfo, make use of this field in the tools
when building for arm.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v1:
 - now SVE VL is encoded in arch_capabilities on Arm
Changes from RFC:
 - new patch
---
 tools/golang/xenlight/helpers.gen.go  |  2 ++
 tools/golang/xenlight/types.gen.go    |  1 +
 tools/include/arm_arch_capabilities.h | 32 +++++++++++++++++++++++++++
 tools/libs/light/libxl.c              |  1 +
 tools/libs/light/libxl_types.idl      |  1 +
 tools/ocaml/libs/xc/xenctrl.ml        |  4 +---
 tools/ocaml/libs/xc/xenctrl.mli       |  4 +---
 tools/ocaml/libs/xc/xenctrl_stubs.c   |  8 ++++---
 tools/python/xen/lowlevel/xc/xc.c     |  8 +++++--
 tools/xl/xl_info.c                    |  8 +++++++
 10 files changed, 58 insertions(+), 11 deletions(-)
 create mode 100644 tools/include/arm_arch_capabilities.h

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index 3ac4938858f2..aad9645222a1 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -3455,6 +3455,7 @@ x.CapVmtrace = bool(xc.cap_vmtrace)
 x.CapVpmu = bool(xc.cap_vpmu)
 x.CapGnttabV1 = bool(xc.cap_gnttab_v1)
 x.CapGnttabV2 = bool(xc.cap_gnttab_v2)
+x.ArchCapabilities = uint32(xc.arch_capabilities)
 
  return nil}
 
@@ -3489,6 +3490,7 @@ xc.cap_vmtrace = C.bool(x.CapVmtrace)
 xc.cap_vpmu = C.bool(x.CapVpmu)
 xc.cap_gnttab_v1 = C.bool(x.CapGnttabV1)
 xc.cap_gnttab_v2 = C.bool(x.CapGnttabV2)
+xc.arch_capabilities = C.uint32_t(x.ArchCapabilities)
 
  return nil
  }
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index 16ce879e3fb7..88ec0260404f 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -1051,6 +1051,7 @@ CapVmtrace bool
 CapVpmu bool
 CapGnttabV1 bool
 CapGnttabV2 bool
+ArchCapabilities uint32
 }
 
 type Connectorinfo struct {
diff --git a/tools/include/arm_arch_capabilities.h b/tools/include/arm_arch_capabilities.h
new file mode 100644
index 000000000000..61918e9bb497
--- /dev/null
+++ b/tools/include/arm_arch_capabilities.h
@@ -0,0 +1,32 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2023 ARM Ltd.
+ */
+
+#ifndef ARM_ARCH_CAPABILITIES_H
+#define ARM_ARCH_CAPABILITIES_H
+
+/* Tell the Xen public headers we are a user-space tools build. */
+#ifndef __XEN_TOOLS__
+#define __XEN_TOOLS__ 1
+#endif
+
+#include <stdint.h>
+#include <xen/sysctl.h>
+
+static inline
+unsigned int arch_capabilities_arm_sve(unsigned int arch_capabilities)
+{
+#if defined(__aarch64__)
+    unsigned int sve_vl =
+        ((arch_capabilities >> XEN_SYSCTL_PHYSCAP_ARM_SVE_SHFT) &
+        XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
+
+    /* Vector length is divided by 128 before storing it in arch_capabilities */
+    return sve_vl * 128U;
+#else
+    return 0;
+#endif
+}
+
+#endif /* ARM_ARCH_CAPABILITIES_H */
diff --git a/tools/libs/light/libxl.c b/tools/libs/light/libxl.c
index a0bf7d186f69..175d6dde0b80 100644
--- a/tools/libs/light/libxl.c
+++ b/tools/libs/light/libxl.c
@@ -409,6 +409,7 @@ int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo)
         !!(xcphysinfo.capabilities & XEN_SYSCTL_PHYSCAP_gnttab_v1);
     physinfo->cap_gnttab_v2 =
         !!(xcphysinfo.capabilities & XEN_SYSCTL_PHYSCAP_gnttab_v2);
+    physinfo->arch_capabilities = xcphysinfo.arch_capabilities;
 
     GC_FREE;
     return 0;
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 0cfad8508dbd..0e90b6b408ec 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -1106,6 +1106,7 @@ libxl_physinfo = Struct("physinfo", [
     ("cap_vpmu", bool),
     ("cap_gnttab_v1", bool),
     ("cap_gnttab_v2", bool),
+    ("arch_capabilities", uint32),
     ], dir=DIR_OUT)
 
 libxl_connectorinfo = Struct("connectorinfo", [
diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index e4096bf92c1d..bf23ca50bb15 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -128,12 +128,10 @@ type physinfo_cap_flag =
   | CAP_Gnttab_v1
   | CAP_Gnttab_v2
 
-type arm_physinfo_cap_flag
-
 type x86_physinfo_cap_flag
 
 type arch_physinfo_cap_flags =
-  | ARM of arm_physinfo_cap_flag list
+  | ARM of int
   | X86 of x86_physinfo_cap_flag list
 
 type physinfo =
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
index ef2254537430..ed1e28ea30a0 100644
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -113,12 +113,10 @@ type physinfo_cap_flag =
   | CAP_Gnttab_v1
   | CAP_Gnttab_v2
 
-type arm_physinfo_cap_flag
-
 type x86_physinfo_cap_flag
 
 type arch_physinfo_cap_flags =
-  | ARM of arm_physinfo_cap_flag list
+  | ARM of int
   | X86 of x86_physinfo_cap_flag list
 
 type physinfo = {
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index ed1cbafdb488..2036fd290339 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -853,13 +853,15 @@ CAMLprim value stub_xc_physinfo(value xch_val)
 	arch_cap_list = Tag_cons;
 
 	arch_cap_flags_tag = 1; /* tag x86 */
-#else
-	caml_failwith("Unhandled architecture");
-#endif
 
 	arch_cap_flags = caml_alloc_small(1, arch_cap_flags_tag);
 	Store_field(arch_cap_flags, 0, arch_cap_list);
 	Store_field(physinfo, 10, arch_cap_flags);
+#elif defined(__aarch64__)
+	Store_field(physinfo, 10, Val_int(c_physinfo.arch_capabilities));
+#else
+	caml_failwith("Unhandled architecture");
+#endif
 
 	CAMLreturn(physinfo);
 }
diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c
index cfb2734a992b..281e3b198104 100644
--- a/tools/python/xen/lowlevel/xc/xc.c
+++ b/tools/python/xen/lowlevel/xc/xc.c
@@ -7,6 +7,7 @@
 #define PY_SSIZE_T_CLEAN
 #include <Python.h>
 #define XC_WANT_COMPAT_MAP_FOREIGN_API
+#include <arm_arch_capabilities.h>
 #include <xenctrl.h>
 #include <xenguest.h>
 #include <fcntl.h>
@@ -897,7 +898,7 @@ static PyObject *pyxc_physinfo(XcObject *self)
     if ( p != virt_caps )
       *(p-1) = '\0';
 
-    return Py_BuildValue("{s:i,s:i,s:i,s:i,s:l,s:l,s:l,s:i,s:s,s:s}",
+    return Py_BuildValue("{s:i,s:i,s:i,s:i,s:l,s:l,s:l,s:i,s:s,s:s,s:i}",
                             "nr_nodes",         pinfo.nr_nodes,
                             "threads_per_core", pinfo.threads_per_core,
                             "cores_per_socket", pinfo.cores_per_socket,
@@ -907,7 +908,10 @@ static PyObject *pyxc_physinfo(XcObject *self)
                             "scrub_memory",     pages_to_kib(pinfo.scrub_pages),
                             "cpu_khz",          pinfo.cpu_khz,
                             "hw_caps",          cpu_cap,
-                            "virt_caps",        virt_caps);
+                            "virt_caps",        virt_caps,
+                            "arm_sve_vl",
+                              arch_capabilities_arm_sve(pinfo.arch_capabilities)
+                        );
 }
 
 static PyObject *pyxc_getcpuinfo(XcObject *self, PyObject *args, PyObject *kwds)
diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index 712b7638b013..e161da7e8952 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -14,6 +14,7 @@
 
 #define _GNU_SOURCE
 
+#include <arm_arch_capabilities.h>
 #include <fcntl.h>
 #include <inttypes.h>
 #include <stdlib.h>
@@ -224,6 +225,13 @@ static void output_physinfo(void)
          info.cap_gnttab_v2 ? " gnttab-v2" : ""
         );
 
+    /* Print arm SVE vector length only on ARM platforms */
+#if defined(__aarch64__)
+    maybe_printf("arm_sve_vector_length  : %u\n",
+         arch_capabilities_arm_sve(info.arch_capabilities)
+        );
+#endif
+
     vinfo = libxl_get_version_info(ctx);
     if (vinfo) {
         i = (1 << 20) / vinfo->pagesize;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:06:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:06:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509944.786792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcN5W-0007bE-N1; Wed, 15 Mar 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 509944.786792; Wed, 15 Mar 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 1pcN5W-0007aV-E1; Wed, 15 Mar 2023 09:06:26 +0000
Received: by outflank-mailman (input) for mailman id 509944;
 Wed, 15 Mar 2023 09: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=UsHm=7H=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pcN5V-0005Kr-AM
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:06:25 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id a87b664b-c310-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 10:06:23 +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 9CFE84B3;
 Wed, 15 Mar 2023 02:07:06 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id AE36B3F8C6;
 Wed, 15 Mar 2023 02:06:21 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a87b664b-c310-11ed-b464-930f4c7d94ae
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 09/10] xen/tools: add sve parameter in XL configuration
Date: Wed, 15 Mar 2023 09:05:57 +0000
Message-Id: <20230315090558.731029-10-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230315090558.731029-1-luca.fancellu@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add sve parameter in XL configuration to allow guests to use
SVE feature.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v1:
 - updated to use arch_capabilities field for vector length
Changes from RFC:
 - changed libxl_types.idl sve field to uint16
 - now toolstack uses info from physinfo to check against the
   sve XL value
 - Changed documentation
---
 docs/man/xl.cfg.5.pod.in             | 11 +++++++++++
 tools/golang/xenlight/helpers.gen.go |  2 ++
 tools/golang/xenlight/types.gen.go   |  1 +
 tools/include/libxl.h                |  5 +++++
 tools/libs/light/libxl_arm.c         |  2 ++
 tools/libs/light/libxl_types.idl     |  1 +
 tools/xl/xl_parse.c                  | 25 +++++++++++++++++++++++--
 7 files changed, 45 insertions(+), 2 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 024bceeb61b2..bb138322e290 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2903,6 +2903,17 @@ Currently, only the "sbsa_uart" model is supported for ARM.
 
 =back
 
+=item B<sve="NUMBER">
+
+To enable SVE, user must specify a number different from zero, maximum 2048 and
+multiple of 128. That value will be the maximum number of SVE registers bits
+that the hypervisor will impose to this guest. If the platform has a lower
+supported bits value, then the domain creation will fail.
+A value equal to zero is the default and it means this guest is not allowed to
+use SVE.
+
+=back
+
 =head3 x86
 
 =over 4
diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index aad9645222a1..fb3b55e0cc36 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1117,6 +1117,7 @@ default:
 return fmt.Errorf("invalid union key '%v'", x.Type)}
 x.ArchArm.GicVersion = GicVersion(xc.arch_arm.gic_version)
 x.ArchArm.Vuart = VuartType(xc.arch_arm.vuart)
+x.ArchArm.Sve = uint16(xc.arch_arm.sve)
 if err := x.ArchX86.MsrRelaxed.fromC(&xc.arch_x86.msr_relaxed);err != nil {
 return fmt.Errorf("converting field ArchX86.MsrRelaxed: %v", err)
 }
@@ -1602,6 +1603,7 @@ default:
 return fmt.Errorf("invalid union key '%v'", x.Type)}
 xc.arch_arm.gic_version = C.libxl_gic_version(x.ArchArm.GicVersion)
 xc.arch_arm.vuart = C.libxl_vuart_type(x.ArchArm.Vuart)
+xc.arch_arm.sve = C.uint16_t(x.ArchArm.Sve)
 if err := x.ArchX86.MsrRelaxed.toC(&xc.arch_x86.msr_relaxed); err != nil {
 return fmt.Errorf("converting field ArchX86.MsrRelaxed: %v", err)
 }
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index 88ec0260404f..8fd0d9b668a7 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -537,6 +537,7 @@ TypeUnion DomainBuildInfoTypeUnion
 ArchArm struct {
 GicVersion GicVersion
 Vuart VuartType
+Sve uint16
 }
 ArchX86 struct {
 MsrRelaxed Defbool
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index d652895075a0..1057962e2e3f 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -278,6 +278,11 @@
  */
 #define LIBXL_HAVE_BUILDINFO_ARCH_ARM_TEE 1
 
+/*
+ * libxl_domain_build_info has the arch_arm.sve field.
+ */
+#define LIBXL_HAVE_BUILDINFO_ARCH_ARM_SVE 1
+
 /*
  * LIBXL_HAVE_SOFT_RESET indicates that libxl supports performing
  * 'soft reset' for domains and there is 'soft_reset' shutdown reason
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index ddc7b2a15975..31f30e054bf4 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -211,6 +211,8 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         return ERROR_FAIL;
     }
 
+    config->arch.sve_vl_bits = d_config->b_info.arch_arm.sve;
+
     return 0;
 }
 
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 0e90b6b408ec..ed21d32e703c 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -663,6 +663,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
 
     ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
                                ("vuart", libxl_vuart_type),
+                               ("sve", uint16),
                               ])),
     ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
                               ])),
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 853e9f357a1a..5574a91ce5a7 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -12,6 +12,7 @@
  * GNU Lesser General Public License for more details.
  */
 
+#include <arm_arch_capabilities.h>
 #include <ctype.h>
 #include <inttypes.h>
 #include <limits.h>
@@ -1316,8 +1317,6 @@ void parse_config_data(const char *config_source,
         exit(EXIT_FAILURE);
     }
 
-    libxl_physinfo_dispose(&physinfo);
-
     config= xlu_cfg_init(stderr, config_source);
     if (!config) {
         fprintf(stderr, "Failed to allocate for configuration\n");
@@ -2828,6 +2827,28 @@ skip_usbdev:
         }
     }
 
+    if (!xlu_cfg_get_long (config, "sve", &l, 0)) {
+        unsigned int arm_sve_vl =
+            arch_capabilities_arm_sve(physinfo.arch_capabilities);
+        if (!arm_sve_vl) {
+            fprintf(stderr, "SVE is not supported by the platform\n");
+            exit(-ERROR_FAIL);
+        } else if (((l % 128) != 0) || (l > 2048)) {
+            fprintf(stderr,
+                    "Invalid sve value: %ld. Needs to be <= 2048 and multiple"
+                    " of 128\n", l);
+            exit(-ERROR_FAIL);
+        } else if (l > arm_sve_vl) {
+            fprintf(stderr,
+                    "Invalid sve value: %ld. Platform supports up to %u bits\n",
+                    l, arm_sve_vl);
+            exit(-ERROR_FAIL);
+        }
+        b_info->arch_arm.sve = l;
+    }
+
+    libxl_physinfo_dispose(&physinfo);
+
     parse_vkb_list(config, d_config);
 
     d_config->virtios = NULL;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:06:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509945.786804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcN5X-00081b-VK; Wed, 15 Mar 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 509945.786804; Wed, 15 Mar 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 1pcN5X-000806-RK; Wed, 15 Mar 2023 09:06:27 +0000
Received: by outflank-mailman (input) for mailman id 509945;
 Wed, 15 Mar 2023 09: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=UsHm=7H=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pcN5W-0005Kr-As
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:06:26 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id a93dff47-c310-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 10:06:24 +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 D61D22F4;
 Wed, 15 Mar 2023 02:07:07 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2EA193F8C6;
 Wed, 15 Mar 2023 02:06:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a93dff47-c310-11ed-b464-930f4c7d94ae
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2 10/10] xen/arm: add sve property for dom0less domUs
Date: Wed, 15 Mar 2023 09:05:58 +0000
Message-Id: <20230315090558.731029-11-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230315090558.731029-1-luca.fancellu@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a device tree property in the dom0less domU configuration
to enable the guest to use SVE.

Update documentation.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v1:
 - No changes
Changes from RFC:
 - Changed documentation
---
 docs/misc/arm/device-tree/booting.txt | 9 +++++++++
 xen/arch/arm/domain_build.c           | 7 +++++++
 2 files changed, 16 insertions(+)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 3879340b5e0a..d74bf9ab1c8b 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -193,6 +193,15 @@ with the following properties:
     Optional. Handle to a xen,cpupool device tree node that identifies the
     cpupool where the guest will be started at boot.
 
+- sve
+
+    Optional. A number that, when above 0, enables SVE for this guest and sets
+    its maximum SVE vector length. The default value is 0, that means this
+    guest is not allowed to use SVE, the maximum value allowed is 2048, any
+    other value must be multiple of 128.
+    Please note that if the platform supports a lower value of bits, then the
+    domain creation will fail.
+
 - xen,enhanced
 
     A string property. Possible property values are:
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index b46c30ab24b1..437ae0bc26b9 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3964,6 +3964,13 @@ void __init create_domUs(void)
             d_cfg.max_maptrack_frames = val;
         }
 
+        if ( dt_property_read_u32(node, "sve", &val) )
+        {
+            if ( val > UINT16_MAX )
+                panic("sve property value (%"PRIu32") overflow\n", val);
+            d_cfg.arch.sve_vl_bits = val;
+        }
+
         /*
          * The variable max_init_domid is initialized with zero, so here it's
          * very important to use the pre-increment operator to call
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:13:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:13:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509986.786820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcNBj-0004Gr-4j; Wed, 15 Mar 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 509986.786820; Wed, 15 Mar 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 1pcNBj-0004Gk-1g; Wed, 15 Mar 2023 09:12:51 +0000
Received: by outflank-mailman (input) for mailman id 509986;
 Wed, 15 Mar 2023 09:12: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=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcNBi-0004Ge-8B
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:12:50 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062e.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e68e763-c311-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 10:12:49 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.26; Wed, 15 Mar
 2023 09:12:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 09:12: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: 8e68e763-c311-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JsP82frFvLzpJBkzbw3nI1yky3ia29kKRRcNq3jGEhlnDRWh5EFsMYLf9ygpIS9i8d7sB5j42Jp6LD34xkC/ZVHEXER74ucHvS3Hnim1KIsrHC5eYNLQsKL+1Pc54F92ydH8Z60ZkE71S9UhuPWI/D5YqAugFYPA6dBFBxO3hWEZH1P8jQGbOehoMwxgHlDYKGcgZm3gXvS3ra3Z2/L0tgrhRq5cuqnlSMvGgLAm+SjRi7ZLgzyGVUmhSXzoK/mgQHDQY3nqsChlHYBOl6nQNmJmWWTpQHZnCEcml0ETM6sChO1vtWZ/irSHt4a6Ol36diip0f7GYoKAsIT7V1nLEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QpsA/LeARYVPLGkv3RVN1hBvfrEtoMIo8vuvX6EqMG4=;
 b=VkKR8vSShoVhSML3rfXF8NmCX3M4zLe4FHctYf/e4vj4qxVNA02mncHq6uhCI1BqwcXhc8kY13P2/S/klAkFQADcHZoBjGzE0LrUGjzoTYPS/wkrawO/kH2EFD75mVnDFHt9or8DWFgO4ahmO+BvSSmokQ6XNFbB7ycqCcoZXhK2XDcOe0tZt/BQuEFqyIXHzpT6XXQn1IddygcWdue+XRp8fD0W3nxRIxjUh9D2SKam13FDZR7hDI+HVUS8jVI3Vo3ZhObGsVFcgq79HxUBmrBkMNT2DqJL6xB6sjbXBgBbQiO2cFdcl6RPeRKEtW9j2hsZYE5Ulq0/8jo1ucvQFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QpsA/LeARYVPLGkv3RVN1hBvfrEtoMIo8vuvX6EqMG4=;
 b=gxqJeR9DX7OLV8ijFcgiDJsxkRA+zbqlcruFR1K7f0N/QMC9rAwGhLlIp3kknxXJmXS6ckdX3Wy2PNdx/2NPA+AZwUrJ/b2+5alf3Zuk8mOHhyIYDzaCe5NSoFLydlkXNnOMxGg0aUsfvgVox5+keGr5ge28tHe2PsdHCt5oSO7lTAj2rhQ7lRJCDmVEp7DiE1FJAxJ7lrjTLk68VWM+AYTWPsZXE5XCSN/k4BapDyQC97u4c7O9puNjio7e7RTqTLZ//MqvuC/BuyHKt2l8OKtWBe0vPrI+T2vI9MiQmNbdJUmBhqtuOqtnRjbFxbE3PpJE2H9zbLF/FvjXp2zzdw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4e46a667-da69-9f25-387e-4dd45db10cda@suse.com>
Date: Wed, 15 Mar 2023 10:12:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] Call SetVirtualAddressMap() by default
Content-Language: en-US
To: George Dunlap <george.dunlap@cloud.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Demi Marie Obenour <demi@invisiblethingslab.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: <9a0e5021a612951c4174c45099edc8a4fb5bd3bb.1677091168.git.demi@invisiblethingslab.com>
 <dc46acc1-9eb9-8091-28df-405a66879a85@suse.com> <Y/dlPXeJlPRwEB1s@mail-itl>
 <49f35c93-2235-4223-89dd-3e6256a17369@suse.com> <Y/dwd5Gkv5Ps61eC@mail-itl>
 <400b11d9-7905-1cc5-2ab3-e77d3fbd9908@suse.com>
 <CA+zSX=bQVQq1+gOXdPFFwerK-0HBCtmBW0mn__LaF3DgVGAx1w@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CA+zSX=bQVQq1+gOXdPFFwerK-0HBCtmBW0mn__LaF3DgVGAx1w@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0156.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9258:EE_
X-MS-Office365-Filtering-Correlation-Id: b5c1d8ef-7d93-4eb5-c798-08db2535713a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9MBdy5fYLTL2FiOFGgf8qjTVWeCdMipDlN/y4k13hJEff52VCNw7HxdWoFFZQuUs6QA5DmAK8ehN/aZwct4wq9nTf5uKYk0uzn/rimlLSF9rCDTIKuPqfYRp7UDHJSi9G7DJ9r2mjPZlOP86NxiflMXsIag4B4wcgNhHeQN2MPpcdAcadrpS6ghkA/EqPFda4mNkFgjIdRw5KgH/Z1WHrt1FCzVvZrygoL6yy25Xp3k2KnZHuFPe+LfmuUkt0d3sQdZDTJ5LI8J8D2QRl4pG+bnhL1OZ+sr9kL7fwBrTusa2VGpoBs9DBnZE3ZwaL6oB4Y7lQYIKdtk5fnwU5OTV/edSFbvZyeAytTUjotHNjnIeCWng5zWcOIfIpzuExJj8OTSB7WKN/F+t4FjuyC/3sEOEw46pKPmW8lzahWJBgRhpeq3S0ka02NGD5FjvPuX6bflXsbVI8PMYBGA8TZJJkfXFG+iiHO6ceP60VB7NmQvNd160dAE6wVhOQU0Fe43L+QhaFJwtfMYA+zxKC0nkS4IAhu+3SClr+sTJXLf/2B2380V9b23keDmHcfrqY9wUbYiyADBIbxU5s8KTtsHXbw/vtfiojgX5Zncb+SlId30cPkVmAojLZQbbZrnY05s2Ux2ZapaVVdfCja6maItZidC6ELB8EgyATFFL8Spf7MIc8d/U7C+IPkzBwLsajKlSVjKnmHOfVgebmYblltt3rLyhGsJfqVWoGr+aqZUVsnA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(376002)(396003)(366004)(346002)(136003)(451199018)(478600001)(83380400001)(186003)(8676002)(66574015)(6486002)(45080400002)(6512007)(6506007)(2616005)(53546011)(54906003)(66946007)(316002)(31686004)(26005)(66476007)(66556008)(6916009)(4326008)(41300700001)(8936002)(5660300002)(38100700002)(2906002)(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?ejFvWFFvakk5dG9ZUVZRaFNweFcyRkZtOVhXLzR6eHVIbFNHWHljbzR6T2dv?=
 =?utf-8?B?N1dTUDc2QzE3amFoZllSdG1Wa3dNUG1tNWtwSXczWjZ3eURrQkhzSnJZTmJs?=
 =?utf-8?B?Q1EzUTUwYzNvRlA2UjlsWG5kR3kzUjU2WUpnNmRTYUlKYU5QZURlV1c1MlBW?=
 =?utf-8?B?cStFZk5iMFJxVk9QZFdZMGNpdkxnSWNjS2xKQ3BjaS94Z2laaU91WXpIVUJQ?=
 =?utf-8?B?K3RuMTNUNStRcTkzZmtDM1J4RGgwYW9SUTNJTi9neEl5ZlNieGVrK0l1cExD?=
 =?utf-8?B?VmVXZkVqOUc5RW5tSXN6L0ZZZTVhNFJFbHF6dkM2eGh6RisveHFoMzMwc2NU?=
 =?utf-8?B?cFFXcXRBbkVHWldXMnN1SmZDUjBpVEZuUzRtUkVLMzZwNmo1L2lkSnQ5M3FZ?=
 =?utf-8?B?dWNXVFpkeWR4SUhneThqWENjZWh5cFlCajNmN1ZLbk1USFkyTDhoV1MyRlhh?=
 =?utf-8?B?WGZXcU1KeStjM3ZNOFptamhYMWErNGdXUEp5R2RUTnlCcm1xWnpEWXM2c3lH?=
 =?utf-8?B?NGhDWE0rKzMxVDM1eWVNZHMxZWt3OFAyRWphR21jK3Z4YnNCdTM0Wld5M0xj?=
 =?utf-8?B?bFlKcHRQNjNxd0V2aFVKeTZYMUNMcXZHc2h0bC9hTktLb2NPV1RSZHdXNE5x?=
 =?utf-8?B?T01OVWRKYzc3emtzRUhPNEwrb09SelppS3lpMWhST1FCbUVJSGFLV2I1Yk9B?=
 =?utf-8?B?KytjRVdMQ2dKa2VBMXVOMFJGMlljZkFudXFXRklsZ214WWJlK0tvVmNzMGR2?=
 =?utf-8?B?SWMxSHNJY2FROXJxL1B0NjhOOFVvU1RwMUp4VjVlZWd6aDlUZi9TMDQxVUZl?=
 =?utf-8?B?MkhXRDUrajMwenRlb0JpczlCd0E1ZXkyYTB3eTZXRnA0R2hNMzZnMzJzRWJH?=
 =?utf-8?B?ck9JZUt2eXJVYlNkR0h5OHVmMW9LRXpQalArT1IySGNRTjZ6MURTQ1NpUDRy?=
 =?utf-8?B?bU8yT2NwaWYyaE1CV0JzS2IzR0UxUXF6N1hDaXY0NzcvU2FwV3dFVVVsM0t0?=
 =?utf-8?B?TUs5VldrUklYTTdrVUVYbmVscUViUEV0UUlRb0I5ZVlXcGlGc2F5S0haaVM4?=
 =?utf-8?B?N2Z5RDZ5YnFQVjZucTdtVGtURXNRdHlnMHh6MFpCQ08zVGcvYmEyNkJUalht?=
 =?utf-8?B?MlJWMm1Dd0FZMURkd2xibnZJSnZwWjdmdGRTaStDQ2xtdmhyNkVFMUZsYm5j?=
 =?utf-8?B?cU1FVzJKckJmSERxZFc5Ty96aXFiRXdtOUJjS2N1ekh2YjBUdElSM25DUTNr?=
 =?utf-8?B?TjEreVgrdmtrSThYTFQ1UUNUN1Uxc1ArWVg4VjdNTFgyVFZCV2lndkNJM1hs?=
 =?utf-8?B?NnYvOEFJbkVVQms5UUVMUnZoaGZHbU1FTmJuR0M0UkhyanFYMGxpN0JvQ2JW?=
 =?utf-8?B?OWtWQ1NSMVk1YUZzeGlVazRXSEZ4N08vMWQxT2N0MmIwbGp4Z2xTdGlZRGZV?=
 =?utf-8?B?dFdOUjRkZGtKdmxYN0FuRGtRV3RhdEdqcWplWDJvYXpFaTljaURUeU9tSERN?=
 =?utf-8?B?MlBBQzNIODdqQ1pGeFNlcHNoYUhDVEVwRDJBc3NSWlcydTlJWmJCYzhKNm1S?=
 =?utf-8?B?N0IyM3I5Tm9kbnpkbk9ldEtNTmcwRmtNd1lSL3VaRi9JNmtZLzJLUkVvaG5B?=
 =?utf-8?B?OEVyMkgwenV3djR6aGo1dkNwaStvcDE4cWFicHhBN3E2bVBmckZhNm0vVENO?=
 =?utf-8?B?TXdKQURnSk1tbnY1QnBzMUg4c2N0ZHBtcUg5V2FvZGoyeGxxNGs0L0haaGJi?=
 =?utf-8?B?M09TNWtMMVJhSW53dXd1WWkzNjk2dDBZYWozeHdZdGIyQ0ZQSW94QjA4MVVp?=
 =?utf-8?B?WmpFc0NkR3NXYWYreHF0UmJYZHUyZU1UcVJRdXB2cjJpQkwxZWFiQ0pKKzVP?=
 =?utf-8?B?ZHFKOHphQUFCVzBOSjlTTnJJUGcvcUNLUWU3NllSTGhCRndsM0VENVphbGNC?=
 =?utf-8?B?d0hCQ1pPczZSUjU0OGVIbkFsczlhZlhlc244MlBvOGZHQ3JMY0dwRmIzUGhK?=
 =?utf-8?B?M0JtcWtiazJvSDVQd3dnT3JlbEhxZDVxUU1qY2UxUDJWaGxjelcyaGI1VWdW?=
 =?utf-8?B?eXN4NUc1Z1RxWXhBaENzZTNtZXVHamcyRTcrWnJFeWZHS1VWbXBla0NYMGRW?=
 =?utf-8?Q?Yewa2ISLQ4xNplNzuxbBbcnVl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5c1d8ef-7d93-4eb5-c798-08db2535713a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 09:12:46.7791
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: z8NVpX60I9lpj0fCdOVoQ7uoSwqc7Dxk1DF+ya5NrPvqtzDSfuOANXDpG7wdmClnw392woIkRVieoYfck6dh7A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9258

On 10.03.2023 17:05, George Dunlap wrote:
> On Fri, Feb 24, 2023 at 8:20 AM Jan Beulich <jbeulich@suse.com> wrote:
>> On 23.02.2023 14:56, Marek Marczykowski-Górecki wrote:
>>> Yet, not calling SetVirtualAddressMap() leads to actual issues _right
>>> now_, not in some hypothetical undefined future.
>>
>> That's the way you, Andrew, and others like to put it. My view at this
>> is that it's not the lack of the call, but the improper implementation
>> of firmware which leads to an apparent need for this call. Like for all
>> other firmware bug workarounds, I'm happy to accept any proposals for
>> workarounds, as long as such workarounds either don't impact spec-
>> compliant systems, or as long as they're off by default.
> 
> 
> But it sounds (reading though this thread) like it doesn't impact any
> spec-compliant systems -- that is, not any *known* ones, but only
> hypothetical dom0's which are neither Linux (including kexec) nor NetBSD
> nor FreeBSD.

I can't say anything about the BSDs. Originally, when our EFI support was
first implemented, kexec would have been affected from all I know. The
way it works was changed meanwhile.

As to "known" affected systems: Elsewhere on this thread I pointed out
that I was happy that, at the time, I had an excuse not to worry about
getting our use of SetVirtualAddressMap() correct. Properly establishing
virtual addresses before making that call is still an open issue, for
which I do not yet see a good solution. Marek saying "It works just fine"
can only mean the limited set of systems that were tested. With more of
physical address space populated, said problem would arise. Can I point
at a particular system? No. But I do know that systems with "odd" memory
maps exist (that's what e.g. our PDX abstraction was introduced for),
and I anticipate problems there.

An intermediate approach might be to call SetVirtualAddressMap() on
systems where we can establish a complete virtual address map early
enough. (Saying that without looking at the code, so this may not be
viable in practice.) But I'm unsure this would improve the overall
situation: We'd then test one thing on typical systems and would end up
even less certain whether Xen also works on atypical ones.

> If we were Microsoft, we could afford to say "we don't support this
> hardware", and that would be enough to get the manufacturers to change
> their tune; but we're not.  Making it difficult for our users will not
> fundamentally make vendors write better code.

We can certainly agree on the goal of not making it more difficult than
necessary for users. Provided reasonable command line option documentation,
it shouldn't be overly difficult to establish which workarounds need
enabling for a given platform. For known problematic ones we could even
enable workarounds by default (just like we do in various cases when EFI
does not come into play; most of that was inherited from Linux and hence
is rather dated now, though).

> Particularly as my guess is that it's probably mainly a matter of testing:
> They only do testing on Windows (or maybe Linux if they're particularly
> keen), both of which seem to call SetVirtualAddressMap(); and so bits of
> the code accidentally come to rely on it being called.  Sure, in a perfect
> world, developers would read the spec, automatically follow it, and test on
> all possible hardware; but given how software actually works, it seems
> inevitable that we're going to have a never-ending stream of bugs because
> we're behaving differently.
> 
> So literally the only benefit of your policy is to accommodate hypothetical
> operating systems, who may need the functionality for unknown reasons.  And
> the cost is to have vanilla Xen not work on loads of real systems.  I don't
> think this is the right decision; and it seems like the sort of general
> higher-level principle that it would make sense to have a project-wide vote
> on if discussion failed to reach consensus.

Certainly. I'm pretty sure I would end up in a minority in such an event.
Yet if we started to enable random firmware workarounds by default which
can have an impact on spec-conforming systems, I guess I would have to
seriously consider to step down as the maintainer of our EFI code. But
maybe that's what's wanted by others anyway ...

> (Obviously if there are other technical issues, those would need to be
> addressed first.)
> 
> Supposing such a hypothetical operating system appears, is there any reason
> we can't figure out how to provide it what it needs at that time?

Well - about everything can be done in software. The question is how much
of the necessary road we've ended up closing by going the "account for
quirks by default" route, and hence how complicated things would end up
being.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:20:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:20:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509989.786830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcNJT-0005xb-1n; Wed, 15 Mar 2023 09:20:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509989.786830; Wed, 15 Mar 2023 09:20: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 1pcNJS-0005xU-VK; Wed, 15 Mar 2023 09:20:50 +0000
Received: by outflank-mailman (input) for mailman id 509989;
 Wed, 15 Mar 2023 09:20:49 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcNJR-0005xO-A2
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:20:49 +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 abad03f6-c312-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 10:20:48 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8308.eurprd04.prod.outlook.com (2603:10a6:20b:3e3::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 09:20:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 09:20: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: abad03f6-c312-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=URNNY+NSxLTPSIi6yFrtfKIb/VYXVxXhr5fi4+BGLC6M9IDbfYtQAZn0Qv2E2eO/vX7yWIbfLVB7uELU0zvyoTByRgZI2kqOVzmw8LvY32BbGRDFXilkQup9rqqFcU+kv4TSY1qWzpTwhA5KX/zRbJ3nimpmZya4Skp/elNNfQmesvrrwukYNvsCV73+GrU/B1Vux7pzGzqW4z7rWlE+/qhFlXcrA+lBJTZxIeA1MhPTgMkPZCgmBLzK0fuq3vAOhaM0arxzZ4/CV/I5fSPt/vpqGO0Ig4Iy0sWJpbM0JWXrNiKy/UkbeXSy3o8fJPbBiR4PanPLRhbkH4fbKjFGzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f7dbUSxHkY0cgDrV/Kwj+84iT+fsdI0HB6f/O2/Grx8=;
 b=eLIyBWOJ459xs2iMUVx8MA196kbKk3/CfTvmoLXwkPf6dGKO285AUkKNSR/Nm++1azgN0H4Lg4sROIhO8WRB5N/6aYw8Mpw0Ys2N/P45cuyRG5/0YLZjze/jgV64Y7Rduph9KBlMxhUmcVOXIawurKV8nO948F1+SA+54aVoj9ckBlLgfjbTCi8p+MfnJf3MbUuOi7cTcIiZ7DVUz9t7Qg7HqUYqLyzgPJWbrWSxKppoGWaoTjJIvV9E/lL0Gj3yE+2pTVMUwRqa4rPm35xnAxoBISq1cxzqgku12LZ6kVQDKHosxHfnpqv1RzSbGX04KZIQ5Ux+UA2RoVIkRvyH/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=f7dbUSxHkY0cgDrV/Kwj+84iT+fsdI0HB6f/O2/Grx8=;
 b=rsA60ucXBztdxkdJtxBorHAbSb05qfBxUKbBpQcCPp/ngknFVkEqEWGXfEyHlVy4sghd5Zc15R93pic/agzN81yquC5P6bOz1fZ5A7YnJ7gyOOsxzn3KnLbbV2sFGb8ftcELEpR3q2zJaW3ENUmHDDYlrhZoCiltz2np70y23nj58uHsNUpvsOlQ5LAOP5/RfEqvya0Dqi2ItTxsQe5XVxEWDwvzxifFI3SKRW/DCZjw67ueCk1XMvtAvhWccXq7hOqtodbBgnSQ+U2v0OyM/B69iNOQDagL2RCJ92NWvslGxseQn3j37tnMWQ6Yb/CSAXrNS6vd3b99GeWU6hwHWQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4e154f3c-1daf-1979-12f9-2baac097d292@suse.com>
Date: Wed, 15 Mar 2023 10:20:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 00/10] SVE feature for arm guests
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Nick Rosbrook <rosbrookn@gmail.com>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20230315090558.731029-1-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230315090558.731029-1-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0064.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8308:EE_
X-MS-Office365-Filtering-Correlation-Id: 4a2d6c10-1875-472f-65b8-08db25368e45
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:
	VrpdipJrnmsxpDt+cuaYQyu1BQu78NVEACcaD0MUBLTrdn7RqB0xw/rB9cCBx+T0Z6iy2/Nh60b5lxUiG5d7BoINSHaJdxt0x8/IQALk75o5fVwKjpRHCl9PcHJdAq+UqgJ72n2UWS315RJg3hk/QrWTKgflu7/poYr0pv7S6cBc2in+gIDxq/TvJw1siIm1LrsT9q3pMyDW4kq9fNKxje79NyPSeZ581wpnNaHH8ErC/r9IgAD+OrYFZbWbVn5HKh3OCM0N+BvUeGswBXwukZZt0BO/BHoDV8n+Xage/MzkoJ9tR1B6Uu8JBzXnQoUJsiqoNYCOSvapQ6iiICtnIInXAyXYcX8/Z6GUkkstmb5MLGk14N0n0fpnznsV/5qtEIUQSzJLCdyfVzmmAvt0jgmCnJAYXIAGCT+n/xr6qmRUFzJS23e94QIa+6yAEw6PxJYxuX3P8SIpdEJKIReBBmosBphx9e1JumJGbvfUuAJmRBEw6mJpcWpA76tVtPaXm/0+GTaaHXPbMyJ50bfaVSIv26bz6tj2TVL2T+XsK7uzeRaJGGff5hIwhiuqMLiSWHrdCf+lrbwCHLsGl3SjfSc9RH2UG9SKxCLCZ/1ieuEUeIm4OpTMx+EQ+GyP6qxAsRfMDK/lnUePBVN/Cfln8oaHcXtfPUQvLbbSR724vaVK1UkW4ScxsghcL83j3ihe+JYjiocqO1YyvmbogKETp/Ngu1SqB4WGczb6wIgExIY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199018)(86362001)(31696002)(38100700002)(36756003)(7416002)(41300700001)(8936002)(2906002)(5660300002)(4326008)(83380400001)(26005)(6916009)(316002)(186003)(6512007)(2616005)(53546011)(6506007)(54906003)(66946007)(66556008)(66476007)(6666004)(478600001)(6486002)(8676002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QXkrdSt2Vldwei9JT3J2MUFXOHlmd09KWnFFQXpvWW0ybjdsMDN4cVVncWRl?=
 =?utf-8?B?T1pFaFVLUENNQjJId1hkL01iNGlWR1BkMm16bENpZEM5K1lZc3Fsa00zZEV5?=
 =?utf-8?B?c0I0djl4bmZ2UjBzbzlUQ0F1aVZEK3ZMdTlEdnhRcFNIV09uWTdEUDhoSUZL?=
 =?utf-8?B?RlBibGJFSXUrN01XSTRKTmdSejRLS1JQc2pvQnRIdzFKSWJrTzVLS2tVaEsy?=
 =?utf-8?B?RDdoSmdqUTZ2aHdMUVlIK3d2OGZGb2hWcGRrZmpSRWVvVGhOdmR4cStnTklO?=
 =?utf-8?B?VTVmOGhuWWRWRGhQcVJZUHJYY2tacUlQR3BGQWFKK0hkd3dpNWlHN014eHd2?=
 =?utf-8?B?WDk0RloxYXhWU0RvUEgyaW5mTkx4ajlheHVtY1NacUpwajZHdW9oL2FNTTA2?=
 =?utf-8?B?bkczU1NKaENvUHkzSGdPMnBvSDdWZmI0Vk5XOTZjWjhXSFl5WjV5WHFISm9R?=
 =?utf-8?B?TW1SdGdlVmdyWjc0c1hrTlNkOUJ1Ymo5eWhGM0UvQWRpR3JjcnJjTDcrYXVQ?=
 =?utf-8?B?blEyVURnTHZsaERXZy9nSmpxS1gvaC9UbElsVGdYSjhUSEQ5aVgxR0JFRVQ3?=
 =?utf-8?B?Um45QWpDWDBkYlgvb0lrWEdLaE1UK3BIZkIxMWxIcjgzTnk5V294dEJQUjZw?=
 =?utf-8?B?dlRXdmV0c01vKzdTR2pkR1JGSkhmQ2JVc2lIcS9IbzZjK0RId3lsdkFiZzdy?=
 =?utf-8?B?MGw3dGo5QkY0SS9EOHV2Yy8rb0FybzZDZ0hMQzkxRFpCb1FlVVRsdjE1c2xv?=
 =?utf-8?B?MWkvbjh5Q3pvY3lRYk9uVE1uT0R4NlpVcWtYd0N4SHdYQk16dHFUMUFGV0o1?=
 =?utf-8?B?czVQVmdFeUpyUVBsMTBrdjFnKzAvRndGNG1DMGxkTHhQUFdRYUdvN05rOVd3?=
 =?utf-8?B?Rkk2ckRveVlNZDArd3ZPQXlGbVdlRTlJamhPeDBHdXRPRXB5VUZVWE5hTkIw?=
 =?utf-8?B?cHVpU01MOHRpTTlmTjI2bDhqd2drSVA3Y0RuTmhOR2txdXdMbzBNQmFJU2w0?=
 =?utf-8?B?Y0RUc3kwS1hkN1cvTDd6Ty9aWFQxOHd5RFVoN2lsOHVIb29HbWRVbEFFWXg3?=
 =?utf-8?B?NVpjVi95SzlwTW9ybVU2NTc3dE9hMytrM05tTVVWWllRVjFUcURYY1VrQk96?=
 =?utf-8?B?cUp3K2hzb1BzZDVmeGxWV2N5U2FoSzE1ZllaOXJtU3FHa0JwRzcxUmlnTnZi?=
 =?utf-8?B?TFBlcWplMUNkM1pqb3Uxc0J1K0NyN0wrZ2NwSE9CTVN3Rjdaby9TQm00b0R0?=
 =?utf-8?B?M3BqYyt2OHNxaWRyWCsrTUxHelgrRTlSeC9qRDdWTXo1Mlp4Z0hTejhMQ1Y5?=
 =?utf-8?B?UFlPcWNTKzRGTDVGVlc2QlFraG5peTM3TXRYbkFMelk4aERlNFpyU1JYVjNR?=
 =?utf-8?B?Y1NFbTNiRHZiNEJMaWE4ZmpmR3I0N2VIbVRxL1IyQlVMODdtRm1GUExQbnAw?=
 =?utf-8?B?NTg5VDN6aHJQS3k3Qm5lVWFkanY0SU5CSENRU1FjcmZ2SW1BVlRMOW9ISFF6?=
 =?utf-8?B?NEZ3VEZzZzlXYldXTVkzREpTWGdJR05hdFAyVVNZeVJRSmpuTE53TEdjZk81?=
 =?utf-8?B?cUUySy9nVTFlcExSSEFVSWRkS3Eyemo4R1dSL2JWeXA2VEhINWwvNEJEOTJ2?=
 =?utf-8?B?WDdsTDNWOHVmK0pYMHFsNUpVM0JVMDdwa1B1SHdqWmVXSjROSGpyY3A4bGQ4?=
 =?utf-8?B?VEkzTmUremNtSTUwcThOcThVTGYzY0VsbG9nWEh2TXMwRGt6aEN2eEhRcERk?=
 =?utf-8?B?RnNZeHFSMzJGMDhEYkJVMlI5MWhleVphOS80Y1VNQXFxUWsxSmNkeWJmNWlE?=
 =?utf-8?B?czd4VjNyREg5MThPZHprTjhKZ0l5Y2dxa0VISWRGaHRvNGx0QVFCOUlQblRo?=
 =?utf-8?B?M3AwVUZvdlJ2Z3dLa1pLMmxISkR5c2tOZE5jaS8rQ0ZqWVRIT0IwMHo5THRP?=
 =?utf-8?B?REpEcjVDeEFVQ0h1LzFyY080bEV4anI5N3FydW12YzF0QXJKc2p1czJwbkZU?=
 =?utf-8?B?bVJFR2R5L0xQNVdvMkF5QWpvaktwaHkxVUlJRis4SWZvdGdyeDZSOURUQXUx?=
 =?utf-8?B?K0xhRG9WS1ZwejFId05pK1JoRmRlSktodkdRRUpYV0FSRzdDVE5WNzVlZ0FN?=
 =?utf-8?Q?+x5cwColRtXO7HJdetB89F2g1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a2d6c10-1875-472f-65b8-08db25368e45
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 09:20:44.9993
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Vjp0W/JLsiDHd3dVa2ir21+EWcDHkN1ouBaBq5WmZ9ZlQM03bZK4diRXPjTWWGSD9Ba5M16xcf6atNL9n2YUiA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8308

On 15.03.2023 10:05, Luca Fancellu wrote:
> This serie is introducing the possibility for Dom0 and DomU guests to use
> sve/sve2 instructions.
> 
> SVE feature introduces new instruction and registers to improve performances on
> floating point operations.
> 
> The SVE feature is advertised using the ID_AA64PFR0_EL1 register, SVE field, and
> when available the ID_AA64ZFR0_EL1 register provides additional information
> about the implemented version and other SVE feature.
> 
> New registers added by the SVE feature are Z0-Z31, P0-P15, FFR, ZCR_ELx.
> 
> Z0-Z31 are scalable vector register whose size is implementation defined and
> goes from 128 bits to maximum 2048, the term vector length will be used to refer
> to this quantity.
> P0-P15 are predicate registers and the size is the vector length divided by 8,
> same size is the FFR (First Fault Register).
> ZCR_ELx is a register that can control and restrict the maximum vector length
> used by the <x> exception level and all the lower exception levels, so for
> example EL3 can restrict the vector length usable by EL3,2,1,0.
> 
> The platform has a maximum implemented vector length, so for every value
> written in ZCR register, if this value is above the implemented length, then the
> lower value will be used. The RDVL instruction can be used to check what vector
> length is the HW using after setting ZCR.
> 
> For an SVE guest, the V0-V31 registers are part of the Z0-Z31, so there is no
> need to save them separately, saving Z0-Z31 will save implicitly also V0-V31.
> 
> SVE usage can be trapped using a flag in CPTR_EL2, hence in this serie the
> register is added to the domain state, to be able to trap only the guests that
> are not allowed to use SVE.
> 
> This serie is introducing a command line parameter to enable Dom0 to use SVE and
> to set its maximum vector length that by default is 0 which means the guest is
> not allowed to use SVE. Values from 128 to 2048 mean the guest can use SVE with
> the selected value used as maximum allowed vector length (which could be lower
> if the implemented one is lower).
> For DomUs, an XL parameter with the same way of use is introduced and a dom0less
> DTB binding is created.
> 
> The context switch is the most critical part because there can be big registers
> to be saved, in this serie an easy approach is used and the context is
> saved/restored every time for the guests that are allowed to use SVE.
> 
> Luca Fancellu (10):
>   xen/arm: enable SVE extension for Xen
>   xen/arm: add sve_vl_bits field to domain
>   xen/arm: Expose SVE feature to the guest
>   xen/arm: add SVE exception class handling
>   arm/sve: save/restore SVE context switch
>   xen/arm: enable Dom0 to use SVE feature
>   xen/physinfo: encode Arm SVE vector length in arch_capabilities
>   tools: add physinfo arch_capabilities handling for Arm
>   xen/tools: add sve parameter in XL configuration
>   xen/arm: add sve property for dom0less domUs
> 
>  docs/man/xl.cfg.5.pod.in                 |  11 ++
>  docs/misc/arm/device-tree/booting.txt    |   9 ++
>  docs/misc/xen-command-line.pandoc        |  13 ++
>  tools/golang/xenlight/helpers.gen.go     |   4 +
>  tools/golang/xenlight/types.gen.go       |   2 +
>  tools/include/arm_arch_capabilities.h    |  32 ++++
>  tools/include/libxl.h                    |   5 +
>  tools/libs/light/libxl.c                 |   1 +
>  tools/libs/light/libxl_arm.c             |   2 +
>  tools/libs/light/libxl_types.idl         |   2 +
>  tools/ocaml/libs/xc/xenctrl.ml           |   4 +-
>  tools/ocaml/libs/xc/xenctrl.mli          |   4 +-
>  tools/ocaml/libs/xc/xenctrl_stubs.c      |   8 +-
>  tools/python/xen/lowlevel/xc/xc.c        |   8 +-
>  tools/xl/xl_info.c                       |   8 +
>  tools/xl/xl_parse.c                      |  25 ++-
>  xen/arch/arm/Kconfig                     |  10 +-
>  xen/arch/arm/arm64/Makefile              |   1 +
>  xen/arch/arm/arm64/cpufeature.c          |   7 +-
>  xen/arch/arm/arm64/sve.c                 | 119 ++++++++++++++
>  xen/arch/arm/arm64/sve_asm.S             | 189 +++++++++++++++++++++++
>  xen/arch/arm/arm64/vfp.c                 |  79 ++++++----
>  xen/arch/arm/arm64/vsysreg.c             |  39 ++++-
>  xen/arch/arm/cpufeature.c                |   6 +-
>  xen/arch/arm/domain.c                    |  48 +++++-
>  xen/arch/arm/domain_build.c              |  11 ++
>  xen/arch/arm/include/asm/arm64/sve.h     |  72 +++++++++
>  xen/arch/arm/include/asm/arm64/sysregs.h |   4 +
>  xen/arch/arm/include/asm/arm64/vfp.h     |  10 ++
>  xen/arch/arm/include/asm/cpufeature.h    |  14 ++
>  xen/arch/arm/include/asm/domain.h        |   8 +
>  xen/arch/arm/include/asm/processor.h     |   3 +
>  xen/arch/arm/setup.c                     |   5 +-
>  xen/arch/arm/sysctl.c                    |  11 ++
>  xen/arch/arm/traps.c                     |  40 +++--
>  xen/include/public/arch-arm.h            |   3 +
>  xen/include/public/domctl.h              |   2 +-
>  xen/include/public/sysctl.h              |   3 +
>  38 files changed, 748 insertions(+), 74 deletions(-)
>  create mode 100644 tools/include/arm_arch_capabilities.h
>  create mode 100644 xen/arch/arm/arm64/sve.c
>  create mode 100644 xen/arch/arm/arm64/sve_asm.S
>  create mode 100644 xen/arch/arm/include/asm/arm64/sve.h

I think I had asked for this before - can new files please use dashes
in preference to underscores in their names? Underscores really should
only be used when other possible separators aren't available because of
having other lexical meaning.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:22:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509993.786840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcNL8-0006YE-GO; Wed, 15 Mar 2023 09:22:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509993.786840; Wed, 15 Mar 2023 09:22: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 1pcNL8-0006Y7-DO; Wed, 15 Mar 2023 09:22:34 +0000
Received: by outflank-mailman (input) for mailman id 509993;
 Wed, 15 Mar 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=DN/u=7H=citrix.com=prvs=431ad58dd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pcNL6-0006PZ-FH
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:22:32 +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 e6f916d2-c312-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 10:22:29 +0100 (CET)
Received: from mail-sn1nam02lp2045.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 05:22:26 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ2PR03MB7140.namprd03.prod.outlook.com (2603:10b6:a03:4f2::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Wed, 15 Mar
 2023 09:22:24 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.029; Wed, 15 Mar 2023
 09: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: e6f916d2-c312-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678872149;
  h=message-id:date:subject:to:references:from:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=JAZCYEk/6QhRdJkgXCJO7QvbaxYyIjijeR24io91KZQ=;
  b=gyAvrdP/KvMK3rkb8qY/njlI9CeB+kjS226R4b1h/9ghYUx5W1R8uMDy
   ZD/qZi79nk57yWAUwdKP3oke/JvZEgqMffbmGY6y46nbTUIffLRZvyTHt
   5JoyTFNIbRLagr2YJlp4WLbsOlzM8jQiaCgNKFYf2XkqtbU+mBs6hMFNH
   g=;
X-IronPort-RemoteIP: 104.47.57.45
X-IronPort-MID: 101329577
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:t36Y/K6/AN/KxHIDzFkxAwxRtB7GchMFZxGqfqrLsTDasY5as4F+v
 mBMXm+OOvmIZzf3etwlbdm290IPsZOEmodjSQFu/Hw0Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS4QeH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5mz
 v0FeTxSdiG6neu9x5ygVsNl29skBZy+VG8fkikIITDxK98DGcqGeIOToNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Ok0otjdABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdpLT+fpq6E16LGV7kNMAh8Za2u1nf/6sEunBcphI
 k4ZpAN7+MDe82TuFLERRSaQrXyDvhgHB4p4GPZ88gaGyqfP/wuDQGUIU1ZpeNEg8cM7WzEu/
 luIhM/yQyxitqWPTnCQ/avSqim9URX5NkcHbC4ACBADut/qpdlpigqVFoo+VqmoktfyBDf8h
 SiQqzQzjKkSishN0Lin+VfAgHSnoZ2hohMJ2zg7l1mNtmtRDLNJraTygbQHxZ6s9Lqkc2Q=
IronPort-HdrOrdr: A9a23:Da47O63EAO0SClum4W51bwqjBAkkLtp133Aq2lEZdPWaSK2lfq
 eV7ZImPH7P+VEssRQb8+xoV5PsfZqxz/JICMwqTNSftOePghrVEGgg1/qe/9XYcxeOidK1rJ
 0QDZSWaueRMbEKt7ef3ODiKadY/DDvysnB7ts2jU0dLz2CDZsO0+4TMHf/LqQZfmd77LMCZe
 uhz/sCiTq8WGgdKv+2DmMCWIH41qf2vaOjTx4aJgItrDKDhzOw6LL8DnGjr2wjegIK77c+0H
 TP1zf07KW7s/2911v12mLJ445N8eGRuudrNYijitU1Nj6psAquaYh7MofyxAwInA==
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="101329577"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZJkUGCXgSqgB/1eaGGQeEMTUC9/n30AoFCeZi4aHzxHr2BbiBfL1T1cUJ7tGEn1ATlAc/2Rrq5con0fgepTZr0YgS5KXCzS3RUeE68Bk9sJKeQlZt5SrCc4764vTnevr+HTME6wn4/xHfP/Pj1HfynNeUIGvCZp5MK3EMbwgFQHQKE1cfIy8/aNVBk/bFpNtMcdX1BPWt1+oC6OqvtSfXyR6O3pqt/fmsW4qkqX9asxFDKDaoND9gxTiPV/OR/0BjHWupw+w2g7fxPoYrMxHiVbB2bB1kPNsYih+ccLZkWrBxeY/PwBChxwVgl9VGXdjaU4T51H72qdZTKkHLVTtXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JAZCYEk/6QhRdJkgXCJO7QvbaxYyIjijeR24io91KZQ=;
 b=FyMTaVomJGybj1E9pr2wS/BGZjRTg8syIgGWnEHc6stXSed0BrhuiRKQSXR8CqIjl8A1qlzOorcDxVfVAgo0cT6JAAZ7m73FYUD55l76omh0ntiu6IvIbSLAPX1hBtdmTovqtdb8rs/KVyNH/nktKfGkuMQciJSGGGrXMhzzPxw1+71GPIzlbno2Wtj+rGRrD/bh/ct8L8lC7wTzorWteLkrMLS2WGogdOU+MHz7ubwTwXpW/zEv7IyAR6CHoKKqh94ZX9USVLlAY/VzMYIL08NKTT+1dm5hZCaU2y4L7ZmFw4IlA+VQnYck8hfLKRAlgfHJvbQEOTKPm7d5U4WEZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JAZCYEk/6QhRdJkgXCJO7QvbaxYyIjijeR24io91KZQ=;
 b=L2V+g8xxrO6E3JfDe5JRkGSWx2DevE5NevBgjrlOQ8PErmr63Gb6bEs2SHQ1TBOluqrZ5TOcn+wGeMhgIgTayoVEWuTqU1ib+3MhgrruH9EiVLHdlp6CxkbGwjq59EN58/x+x2TYFDA6kQh4kfa7XOaV7USIFhj4RXc1uYkoBRw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c12ff321-e1ad-1377-2158-195594fdbe04@citrix.com>
Date: Wed, 15 Mar 2023 09:22:17 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: Best way to use altp2m to support VMFUNC EPT-switching?
Content-Language: en-GB
To: "Johnson, Ethan" <ejohns48@cs.rochester.edu>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <MN2PR07MB6045100322F58085DD6B1488E4BF9@MN2PR07MB6045.namprd07.prod.outlook.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <MN2PR07MB6045100322F58085DD6B1488E4BF9@MN2PR07MB6045.namprd07.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-ClientProxiedBy: LO4P265CA0202.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:318::8) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ2PR03MB7140:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b0365a8-097d-40a5-cddb-08db2536c8dc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sAie/MfXKCmbnRQCCClq5OkJa4qJtAS7P2yVltu+2wrzPn/J6r5LBwyG1fgDTblsck022VmJSs2veqJhsUATKGq2Qik6pQWcK9m/k82SQAqWolD5pECldxsqd21UM57l4b11kOFqoXwDdv8xjpzPuBuRE8R8iizD8hoNnGuqHnLxVefJKx+LpJQ1hsqjA3fVjJDirXEYLNuiuNmjf/yfBNLDW/gdw42oSgogCDXVcyNQyI0sSGoD71WQe1qcczgw45AUAUR0Nr5W995lM+BxDApzZrzkldMJR3dPbGRf9DOKZ3PAdsZhUMVtH6FNm3GEOz+FpjiJc3P5hhY8DE0gNEeSJJXgnmRm1QnOkbbvckV03jFzOn6pK/pB5AMP22Xqwmiw/zEU4dcArdOfWvTFW5TAfkFpgRwKZFAPqmOvVJGa2lGG58u8+M8QCr+IKEL/C2sAOyAnHrrV1CRvhp0P/KAX7qDN+tr8TGUhgiSYnNS4EezbyOhpB2ZLFlNl5dipEFZkLKoFgL21PbBsPMdlMFmI2SpDnOBvTCyAa1sc/uS0RmG6X8o1Y+JelyBwz9kBkOqiunj2Tq9N7koTH/Ri4MnlPWNBghrdyZiyzwAay6yCIpdPbYrStMlGIfcIbOX3At1WY8IykGlNLVodzAKxZbFZJiKx8v6BXVX9q1CuElE9/dcfAiC7Ve+kZ684lJ60ks4wkq+wTC7a7MQpR4y1g6jy4jowTqZ3xsS4rvytl/AHYFmWA2Whc1c6ZB4UmDH3
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(136003)(39860400002)(396003)(346002)(376002)(451199018)(31686004)(66899018)(82960400001)(38100700002)(2906002)(316002)(86362001)(478600001)(2616005)(296002)(6666004)(6506007)(110136005)(31696002)(53546011)(26005)(36756003)(66556008)(66476007)(6512007)(8676002)(66946007)(41300700001)(6486002)(8936002)(186003)(83380400001)(5660300002)(43043002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WjJITU1XWktBd1AxUHlrYUU0ZWRvRDlyUmlRTjAvckgrNUUvdW92UWtVTHNw?=
 =?utf-8?B?OVp6UzZVZTJpcksxckIycCtqY1ZwK2lYR1VyS25acG1xVk5EZ2MvT2RiT1FG?=
 =?utf-8?B?bWFyS1MrdnpCLzF1TEIyNzZmV3BzalNONUZxaVRaV2IyamVlNU1KWHNFWFRq?=
 =?utf-8?B?MmhUMEJZLy9kT1BKVythaWFJbWhvWTA2bm81WXl6OUpMT3ZEYTYxT0RVYXdX?=
 =?utf-8?B?QnBVVkxnVS9yajU2WmhkNXhQZ2JhT2gwZjBKVGRpb3E2YnJHclVkcS9nSTJk?=
 =?utf-8?B?UG1JeUNhclFYVEtGTnRuREpzZld5WEczOFU3YTBwVHJPQXUzVGRQU0FJeisz?=
 =?utf-8?B?dUZlQXdBcXE3c0NwWkg3ME9OSmJSVHRKNUh1ejB5U1U3d2JlaGs2QzhwZUZp?=
 =?utf-8?B?anRnZ1VmOHRBZi81cjErK3dFRkpTaTNYeFcweXhXREJidFNiUXpRdDR1aGQ3?=
 =?utf-8?B?a0hDRXlBVmluR3FReVpGK1VSaTdSWGw5bDNIVzQzYkdvczlFSEszaEFDZzNa?=
 =?utf-8?B?YXNQNUp6N0wxd3dtU3dFTGpPbExLUTExNDFlUEJoTzhCeFhqL3o4M2NsNnhP?=
 =?utf-8?B?eDdXdGt3dXhFZVdPWElSaWhnN1NObC9hM2kxT2lKaFNpTlcwakxXQXQ0aFFQ?=
 =?utf-8?B?S3gxcGJBZWtFWm9tMHFPaVNMcDNNTExqcThLLzE2UFBSZ3IzN1lWZ0NCcjdL?=
 =?utf-8?B?T1RHRHRHcWdOQm5yUi9xRVN0WmpGRE5ja2tnZHdTSHhiRVcwQTk2M0EvMFQw?=
 =?utf-8?B?QWh4MHFsL1NzWWxRK1pESjRjMkJVcUxKUGcvN2hvOXlFc1Z6UVJMb3daWU1z?=
 =?utf-8?B?MW5tdHlWUkJvSTI0TUIycEk2MUQ0djhWYVd1bkVaeGRNVkZlUXhsd2ZkTy8x?=
 =?utf-8?B?QjZvdlN3dnNHeFY0ME9iUFFiS2Y1b042QlFweHJKdVFvYzRRdjM2U3BSSWJJ?=
 =?utf-8?B?eCtOa0VxRHR2Nmt6WEVzVjdjSkRrRHpUdE45S0JoeEl1OEVIcWMxUUY5SHpi?=
 =?utf-8?B?bFN1TTIrTFJhbE4wakxJbWJuUGlWTTg5TXovSHJKRi9HbjBrWW5DVHl1UTZj?=
 =?utf-8?B?SDAvMlRPTjdkVlZaUU9xcVNXbjJZY2JXLzliNEtNeU5tZktGc0pKeThEZ3BI?=
 =?utf-8?B?WFJNWlB5aWJOZlhYc1RESzBtd0RIOExBTkt6SXd1ODVaMXpNNUFRZWpEQkdk?=
 =?utf-8?B?Mk4vWXJLNUlzZEo1YWJVMkROY2dyYnpWTUVBdkZXdDRRZk5ZK3BLOCtkRGVH?=
 =?utf-8?B?RlZubnloRWNaWFpWdm90NjRTVDBNMFNOWlNIQ05MazFqdEZXTCtwR3VrVE55?=
 =?utf-8?B?c0hwOUFRZXZpMk5PYlN0Rmg2eXhkZ2JQd3EvY1lJbno5QnZFSmtFR3B3Umh2?=
 =?utf-8?B?bXZudFZJelBtbklFZlNaanBLT1laNkhPbEhIN29lamwySlRabmhPaG0zbWtn?=
 =?utf-8?B?T2xuTUowc1A0SFErV1huV1phNVBZdkRIWndwSDU4WVM1WFErbGNBcC9hYzZG?=
 =?utf-8?B?aVVpY05OWGRuQXYvUHdsWFViMG96UFQ1NzFubTcrcEtuREk4UElZNjV4b3VQ?=
 =?utf-8?B?RFkrVHJBSmJGUUlkZmZGUUlRbTNYaXVZMDBVV0p2dEpTQlA4K1lyOWpxY3Ba?=
 =?utf-8?B?WUhTZER2Z0FyOEc0SVNxUkhTWlpGVDc0dHJHYlpnL1AzM1JCZFBnTDNBUXBG?=
 =?utf-8?B?ek5ZYzRIQnJyQ2xIcDZFcnBkYmR5RmVReUdJN2N4eVJTbS9aSFV5ZUQ1WG9h?=
 =?utf-8?B?WnV5MEFsZ3dpVEhuOVdsRDNYVTlWOHNYTWQ4VGxSempkTEhCZVpDc08xeVE1?=
 =?utf-8?B?VjhpeGUrdWxSVzNWdkVBaGp2SmtDMDhxQ1N1MjJ4cGdmVSt6R0xYVFE0OFJD?=
 =?utf-8?B?OTBUczhOTjU1STRxc0xIRnNJcHE1UTRnWlUxSGltRXB0QkREUFhiRGRTOW5W?=
 =?utf-8?B?amlRWVZBV2NtbDhxSzlkMkZjL1dyejNKaDdRaDNFWHUrMGVLSEFpMjFBTVFp?=
 =?utf-8?B?N3ZmUGFyUlh6d0lNWnRIT0RBeXd5TVdBdnNoL3dycy91MzR3RnJNbHArR08w?=
 =?utf-8?B?OW15N0Z1WmRsbGdCWnhmRjBUZi9WNWxaL3ltMXozVlMwb3E4UzhQWG5kUGIy?=
 =?utf-8?B?dE5ndkJENGFOZExmMkFYZEp2bU5rcUR0b2hkWFY1OE53elhUOTdBekphMllG?=
 =?utf-8?B?bFE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	PKSuDjMSBgLOqeP12QFHJnGsEVISWPrp8acNrQF70SNGrDAb6WUJt60S8bcezoG2IMizDw6Y20pUFEqZ2Gmw3Y9x8VOkELq3cXn8bGZKHbGQrqLaYBhzykVIG+lmM9BXcFAmSKdBZBQwI7Dz4BW1b19SBrenlz19AoGBCvNYQoxG0tEfRn0uMT1r/3naKb1rTYo11n6wublhpWwo7MT2lAJo+S1r/T7JFie9NdmCYwgRbD75Kkwgp/13Ts6kO3cSi3NR69GsKDN9TmBU4miuNI0hW/mpXSkY318qZiVNC3YqkRO8y5zEt2ykkasVzQZ3yZ9e0VAyrabdGkv8Wz43oeIMEWsQVmQ430xnaDMA0gLHDKrW3PCUDdfGCEEsFbzxcyEATC2+Ux7XvZr4KWp9buHZe3/jllUYF1Cxb6r82IPj3UgciAjeGd6VnNFenUUirnBnOMYTGvKeG8+Jbcb4Ko3iYRcvhULuwLfnBArp7FskMDPmGbsOHleTJHz62ww2j10kq8k18vfp8xWCNp8FwMuh2lDppxCnyrebp6xABQt8XTaf7p9O+S+b7thOIsw3tqBnwAJdpUC0b2DozeXFAs7edHQb6bLtZx43gkyl0ymox6exlliet5g1nYUucai8SNHpF7rF7Q5a78+4oPl/QnOeu7iOMHmMfYxdOk8h9e5nzl/Lvs8F+9BbaxQtUO+FSYO943ao5miUrLxhEttGEGMCL7nt7vDOfFwGtLG/qNrscrs2ffE0UE7oi4AAW6mh0bMUOwS3BKCPUEwwbvhmQ3dmLIiQuD3mxaRuf/fJwpmeB+itGJlHs3uwb2lZPn6M
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b0365a8-097d-40a5-cddb-08db2536c8dc
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 09:22:23.5494
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wd+LXUdISrXz0iOGWbJSqWEcg+hKtRDdOc3UZ/quLiQRVNFeCPctIkvTZncUN4NHBjSPwW3kzjhenJ+63yWR7TpW9NMaF7RTR95lWLUSTd0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7140

On 15/03/2023 2:01 am, Johnson, Ethan wrote:
> Hi all,
>
> I'm looking for some pointers on how Xen's altp2m system works and how it=
's meant to be used with Intel's VMFUNC EPT-switching for secure isolation =
within an HVM/PVH guest's kernelspace.
>
> Specifically, I am attempting to modify Xen to create (on request by an a=
lready-booted, cooperative guest with a duly modified Linux kernel) a secon=
d set of extended page tables that have access to additional privileged reg=
ions of host-physical memory (specifically, a page or two to store some sen=
sitive data that we don't want the guest kernel to be able to overwrite, pl=
us some host-physical MMIO ranges, specifically the xAPIC region). The idea=
 is that the guest kernel will use VMFUNC to switch to the alternate EPTs a=
nd call "secure functions" provided (by the hypervisor) as read-only code t=
o be executed in non-root mode on the alternate EPT, allowing certain VM-ex=
it scenarios (namely, sending an IPI to another vCPU of the same domain) to=
 be handled without exiting non-root mode. Hence, these extra privileged pa=
ges should only be visible to the alternative p2m that the "secure realm" f=
unctions live in. (Transitions between the secure- and insecure-realm EPTs =
will be through special read-only "trampoline" code pages that ensure the u=
ntrusted guest kernel can only enter the secure realm at designated entry p=
oints.)
>
> Looking at Xen's existing altp2m code, I get the sense that Xen is alread=
y designed to support something at least vaguely like this. I have not, how=
ever, been able to find much in the way of documentation on altp2m, so I am=
 reaching out to see if anyone can offer pointers on how to best use it.
>
> What is the intended workflow (either in the toolstack or within the hype=
rvisor itself) for creating and configuring an altp2m that should have acce=
ss to additional host-physical frames that are not present in the guest's m=
ain p2m?
>
> FWIW, once the altp2m has been set up in this fashion, we don't anticipat=
e needing to fiddle with its mappings any further as long as the guest is r=
unning (so I'm thinking *maybe* the "external" altp2m mode will suffice for=
 this). In fact, we may not even need to have any "overlap" between the pri=
mary and alternative p2m except the trampoline pages themselves (although t=
his aspect of our design is still somewhat in flux).
>
> I've noticed a function, do_altp2m_op(), in the hypervisor (xen/arch/x86/=
hvm/hvm.c) that seems to implement a number of altp2m-related hypercalls in=
tended to be called from the dom0. Do these hypercalls already provide a st=
raightforward way to achieve my goals described above entirely via (a poten=
tially modified version of) the dom0 toolstack? Or would I be better off cr=
eating and configuring the altp2m from within the hypervisor itself, since =
I want to map low-level stuff like xAPIC MMIO ranges into the altp2m?
>
> Thank you in advance for your time and assistance!

Hello,

There's a lot to unpack here, but before I do so, one question.=C2=A0 In yo=
ur
usecase, are you wanting to map any frames with reduced permissions
(i.e. such that you'd get a #VE exception), or are you just looking to
add new frames with RWX perms into an alternative view?

I suspect the latter, but it's not completely clear, and changes the answer=
.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:28:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:28:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509995.786850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcNQV-0007Cr-4X; Wed, 15 Mar 2023 09:28:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509995.786850; Wed, 15 Mar 2023 09:28:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcNQV-0007Ck-1Y; Wed, 15 Mar 2023 09:28:07 +0000
Received: by outflank-mailman (input) for mailman id 509995;
 Wed, 15 Mar 2023 09:28: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=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcNQT-0007Ce-Kn
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:28:05 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20611.outbound.protection.outlook.com
 [2a01:111:f400:7d00::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af50492c-c313-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 10:28:03 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8826.eurprd04.prod.outlook.com (2603:10a6:20b:409::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 09:28:01 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 09: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: af50492c-c313-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lirrlNmoCsQ2blAeGu8ioUg8dXe/c5qcok1VsTcAlpZYrmTq/hZg9/FMpHpFFu8bige6e5tsLt3xqFq6ILIdGUDxUt0LQxVn6euGsMCoG0ZVw4J6u6Dl3nkiglXkbxszEy6VzA9CRe4jooyCruao3fI8j4ix91bJyuRw1zSLvqtin0kb6e4daNQSNhBcB83r7wOdJrpvDE7sin2uOy+LWIWJVEdKdcZgaeUdTeVJYj0iJbQoSRVT6OsxFrbs4HFsRwBl0eoSbgHdMIBjQr4qybqJ3lcj8qhe06SYEyvyANgXTGY+CXYqXiB7+BJBLtdr31gH2qywQhRQOy8BbnSCoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u2Ucg/+mQcDQ4ZiVLFmbIT0n/29YpY/asPhDnanPAmc=;
 b=Ng2LhteRfp3JUERZVyZ75q0h28ElFbjg3oUXvtCyCtYmOOdAc62LLFSXIyYnoKQMlFTrpk1kwOlV4v5lHpgVf43x4lDZEfa0zNV0weKMfwRg73CT+3dItDabXEwgKvkio8OWdTF67vA1t2e+AILuZK+kzK3sLWznGlAq4kRbY7SvpcF02brE5SAv9FNqd0oiQvdZQv+Mou/d67DL8WLm/W6gZJoEqN47i7Aae6LWPW2TlzXqFx3H2XQjHGQEXc0qui3m6fBbP9mvmbF7lGfQYHokZntsAt2EcLMTjQRfE9GMkXBjPjIefr1Oxt89N+WQn4gpi4fGeE8o+3hft5WhIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=u2Ucg/+mQcDQ4ZiVLFmbIT0n/29YpY/asPhDnanPAmc=;
 b=WXJ56j1hu3zwQVUN8cyVuNFaY98Ah+qxM34HV0c7Hl73wJY7347ifveN6zHVe/eJ7YuTXQTTHOXbITzereKcGGVh7zFYXFybXOk66TCwyTs8H/EwlcmzgRlb8SkTzx8b5CuN4VLaUdOpgGJGupkxKxfRVilomVuWSJuxl+eDzMcXJhxLcnnwu1LqAtvvDNqUo0OYT9Xn6Ze7++yGEoPYAPkIRN0zlgAars//sWeTsqbVubR+cFnzjpKlZEttGYNr+vFGA73YYXevRvXj2GoqD1AInkJvCIbZlp7ma/NqxyptBmkF9Vpjj+8CihbC1F21juD2ZzXr6glpy5SMH9sDPg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a8dabea2-0903-6d3c-350f-127dd9f726ca@suse.com>
Date: Wed, 15 Mar 2023 10:27:58 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 02/10] xen/arm: add sve_vl_bits field to domain
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230315090558.731029-1-luca.fancellu@arm.com>
 <20230315090558.731029-3-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230315090558.731029-3-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0037.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8826:EE_
X-MS-Office365-Filtering-Correlation-Id: c328c8be-824d-4a7f-1b2e-08db25379270
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TRjOPASTaVvA8FghtpcZZi1U5h0AUsztGj0JtEAjExW8Mb1xwb+4GjMHt3oXX5r3kGeu2OyYgMwXKBKyW8gVOi74f5h0YH6I51NzohsqJvB84Yplv4BHWQ18eiaxTOtHHF6iSil3QYaIn6qRUrfwxUvOXQuz1/+kxoJ2vDIUu7oCbY4g7HDFQvMdsvF5oRIp5BKlNslNBk3l4X8QAaYZfkRsDuvICnTOe+JQgzgscHMGCnWt8OwXOka/iwqdRY5xCKSIhI46p9jUDp9N/1d+frr3t4WhCIO0tTpsZx2bFMEKxn78/4MZ6DTF7hKOETa2RQSBkJOASZtrN/CG3jnLPR6CteI37Uo9FBJ1Phbv8HvBsH2jj8dPDQ4/CTY/CEd/VmTIbp5SM3nC2U9DEdHkdEAXT4CY9AH+Co1XCadVzYvS0ePSrZYI6FypFswwi4cXDjZT2A6AXLkK7sKl6pe/HH3gd4BwQOEIc87ldKFxaW5x4s1YJ4CgP2C3wfWdwcVXtxHNIsFhU0y+zjoRRv7qllPS5yEzUXSr+0FH7zRn4Zz2bHnkji4neiEyWo4kf38JkXhhYCCJm/j3GI0/ftGl1ZQciVNggB6DtvAjtTmMFbVvQHSnumdSrB21g9oTmajmphvdElDH6qFfuz8Px9UaLOgZ2S+WnKIGDtgmAuo6KXAjqZe4KjQAq7+oIaR89lkdKF85i8xR+Dnd1KydhCZm/stM3w/FKfZ5KD3U4EhywBo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(366004)(39860400002)(136003)(396003)(376002)(451199018)(36756003)(316002)(54906003)(478600001)(6486002)(5660300002)(7416002)(2906002)(8936002)(66476007)(4744005)(4326008)(66946007)(6916009)(66556008)(8676002)(41300700001)(86362001)(31696002)(38100700002)(186003)(2616005)(6506007)(26005)(6512007)(53546011)(6666004)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YWxwZDZaalA5aHIvVVZtMFN1V3F5TEQvTUE4VkZybDBkSEtzT29Ec09tTkRH?=
 =?utf-8?B?TmZGSEc3ZG5keXpEYWdGbUhCU0psMHlDZU1pYXFUSmhvMlFZeGV3d0p6ZFV2?=
 =?utf-8?B?UGVUNFhNT0hYVFZqcnlaNDlBamNBVmh1dFBoc1Y0NTA3VVdlK0RCa2Z4RGlK?=
 =?utf-8?B?bGlKTnpvL0wxZXAycll6dSt2UW1udnRTVzlyZU92OCtOV3duQTBZNGlMOHoy?=
 =?utf-8?B?RjZBMWZvalVrVDhneXVTdlliSlNZWkNwc2FtdXNkcEo0a2ZGTnd3RGQrS1Bq?=
 =?utf-8?B?cStlODc2aVZVUW13Y1cwSDZpY0hXcVJWK2Z6MVUybUlRYVpzYTNwYXgzdCtz?=
 =?utf-8?B?OGU0RkVDaXlCTHJYNlNMSWR2djNvSDdsVjc4NVVHTHMzaytCa0RoOEdlOFVL?=
 =?utf-8?B?eWRkd2dJUVZzemNyYkxFd2RqTGtwR20rTnh4Z0h6UHZuNlFneitvcFZWTGl0?=
 =?utf-8?B?UXI1aElWclJEVXFDZFVZNUxuclQrVEd4QXpyWFR5RVB1ZDN6ZXhOaFRzTXlk?=
 =?utf-8?B?aitSN0l0M0FYYVNNVlJ1cU9nZ1ZTSHRRQVBadThhbWk4VjJUV2F6cXl6T1Fp?=
 =?utf-8?B?cENjN3JQTElIVDZuRXRLZnpQeGtycGk1bm1RK2lBYUNWL1FBN3pKUlFaT1hT?=
 =?utf-8?B?VE1LSEFMc0kzU2swK3F6bFRlUndCQ0Y3NHJ4NVZkNEF2ZEN1ajRFbEdtOFpj?=
 =?utf-8?B?YjhkOGxoMUs0Q0U3dWRCYUQ4QkVyY3hPa3I3NlJkT01ZN0RRUUpJSzlFTlEw?=
 =?utf-8?B?aXVwZXYwLzBMTmMrenlpdU9wSFBodGhQT0FUZHZKbTRCY0lkb1h5M1ZVbkxM?=
 =?utf-8?B?QWt6T2daM21TemJIRDhnNnZZb2lMelppbndtdjFQb3NpL2tJdDM5NXVMWkJr?=
 =?utf-8?B?MmxMbTdlSXEzdExGcGdQSEJjakRPVE9LZENzK05YYWFKaHk4UjUrVU04bVlt?=
 =?utf-8?B?Y0puelFRWDQ4M0plNDA0bTdOWkU2UWJUUWduRXFvNEp2dmVpb3BjOXVhZ1Fy?=
 =?utf-8?B?eTVIRXFnU09YRTVBOVhNcXM1UzArNHluZnVITWVWY3FRVjhFd3hza1RYclJj?=
 =?utf-8?B?bGZEV0FMa29yZWlPRjZ1d05uMDNWNnl3dXdnczRFbVJVQ0tCMG1WdHNBNU1k?=
 =?utf-8?B?SU8wdUtVVHEwOWRRd3ZGdVFCZlZPYXloU1h2ZmFlK2s2T2FwNE5qNndDY2k3?=
 =?utf-8?B?VDEvWkF2VGh2emhuSVlaYWdGajM3bjZSUlc5S1JOMzhmMnl1dkc4eXpxRjEy?=
 =?utf-8?B?ZnZqcENYcUlWdFQxWlZpdjlsR3h6SlRLdmdHQlBVL0ZTODkvMlRGWlB4bGhy?=
 =?utf-8?B?WTNjQzF0QW1ndGgrejNpMEtCUDNqcVBhSlkyN1JwNURVWGVzRTBhSURjYUYx?=
 =?utf-8?B?cU1DVDQzbS9LK1lSZkdQd3ZJRmkxRlM4MFhGdUkyNmlkcHd4d08xaEx1dEJ5?=
 =?utf-8?B?R1d4Sy9vdGJzQXRZYW1IblE3dy9GaGRkMEtWcEJ1NFdKaFNWOHJKTWU1WS9I?=
 =?utf-8?B?RXp6WkZFMExzM0xSQXF3QUJJbUVFNVZzWG1ubmdyS052ZXBNamYvV0JCNWJK?=
 =?utf-8?B?cXcxUnppOXdSWHduK0k2UUdjTlpDWlJoWlpzSUtHOVk5Ym4rU0hMZlpFWVF3?=
 =?utf-8?B?amVmTDJhbUJGd3lVQVJncTZKUkJDZVVqZG8vM1BnSUdIcDhEVENockc4UWo4?=
 =?utf-8?B?Sm9FNlZHZHpiQnZRTitkTlVnYVdDK2xuRGRReUxQUndlTzM3NXdzd1pyak9i?=
 =?utf-8?B?c09GM0hwZFc1cWFvZ0hpV1UxMFB0b0NYYmdjYkdzVHRuc3lkWXFhRS9VWWIx?=
 =?utf-8?B?NEdyaUtFcWVzTkxLUDBvZWpsdVJ5bGRQSWpRenIxS3ZpMDR2T05LZEhsWlNF?=
 =?utf-8?B?ajFUTnovREhTSk5wb01LaDV3b3hrWkNCRGdCYlc3eUVlNndsMFVSbFR5Umpu?=
 =?utf-8?B?Q3d3V2IxcUpqR3YzOUtSeVBPZEo2eXRENGx0N1Z1UlpFaUh0b09RVjRzVUZx?=
 =?utf-8?B?bDk2dmhNVWZkTTRLcDFTQytBcmd4NnFDck9OUGFVY1R4VC95TDRLMk5UZTRm?=
 =?utf-8?B?WitPc3NYdDhFNXRZS21hbHdYMm1hdkh3WlcrYnhVbUNBK2VjemZhRVdRQkJo?=
 =?utf-8?Q?svJTMjwSLGyN5T/Baqw1B4frC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c328c8be-824d-4a7f-1b2e-08db25379270
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 09:28:01.5181
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: phhtYcz12Ze6RLDaE1wJv7D0W3xWgS4GVLTPW4U7OxQdD5NedCrYRbpBE66YnbIgC5d1WF8uZkCAqKV+iLSrIA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8826

On 15.03.2023 10:05, Luca Fancellu wrote:
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -304,6 +304,9 @@ struct xen_arch_domainconfig {
>      uint16_t tee_type;
>      /* IN */
>      uint32_t nr_spis;
> +    /* IN */
> +    uint16_t sve_vl_bits;
> +    uint16_t _pad1;

Can register sizes be a non-power-of-2 in size? If not, by representing
the value here as log2(bits) the existing 8-bit padding field could be
used instead. Sadly, because of it not having been checked to be zero,
that wouldn't avoid ...

> --- 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 0x00000015
> +#define XEN_DOMCTL_INTERFACE_VERSION 0x00000016

... the need for the bump here. Yet you want to avoid repeating that
mistake and hence check that the new padding field you introduce (if
the value needs to remain 16 bits wide) is zero on input.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:31:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:31:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509997.786860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcNTw-0000Nq-KF; Wed, 15 Mar 2023 09:31:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509997.786860; Wed, 15 Mar 2023 09: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 1pcNTw-0000Nj-HC; Wed, 15 Mar 2023 09:31:40 +0000
Received: by outflank-mailman (input) for mailman id 509997;
 Wed, 15 Mar 2023 09:31: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=UsHm=7H=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1pcNTv-0000NN-CU
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:31:39 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2062a.outbound.protection.outlook.com
 [2a01:111:f400:fe16::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e89d5f4-c314-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 10:31:37 +0100 (CET)
Received: from DB6PR07CA0079.eurprd07.prod.outlook.com (2603:10a6:6:2b::17) by
 AS4PR08MB7686.eurprd08.prod.outlook.com (2603:10a6:20b:505::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.26; Wed, 15 Mar 2023 09:31:27 +0000
Received: from DBAEUR03FT055.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:6:2b:cafe::9a) by DB6PR07CA0079.outlook.office365.com
 (2603:10a6:6:2b::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.25 via Frontend
 Transport; Wed, 15 Mar 2023 09:31:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT055.mail.protection.outlook.com (100.127.142.171) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6199.11 via Frontend Transport; Wed, 15 Mar 2023 09:31:27 +0000
Received: ("Tessian outbound c2bcb4c18c29:v135");
 Wed, 15 Mar 2023 09:31:26 +0000
Received: from afa638ed6a2b.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 20FB736A-40C5-482F-B362-CF38757EC5C8.1; 
 Wed, 15 Mar 2023 09:31:15 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id afa638ed6a2b.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 15 Mar 2023 09:31:15 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DB4PR08MB10342.eurprd08.prod.outlook.com (2603:10a6:10:3fe::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Wed, 15 Mar
 2023 09:31:13 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 09: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>
X-Inumbo-ID: 2e89d5f4-c314-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RLNiiaJGGa7XLtFQIAVfeZLE6ISIuFFdYiDBo07evGc=;
 b=k9P8TQuNwksO48sJbtXWjliKDGz0i9KSvfuCDXkqa1wYalyMTktPxRACdaISL5RV9SfDHM56QvbvJNnLR22dpZLLkkYY0E9eJJ4K/Kvyu4P85l+3UlpFA3VWLL5YnNaBgD5cOQPwydpvD0thXOhDBSQ4BPqcJyaQzixt822AWq4=
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: 89a4c7f0ef60554e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EWpU+JVG1JT2pLX191lEbP0B763rtEI5F25oyyDGDCX7JQnGfEJIWc+OG+DEdVZtdutuQflZLTxTBeFLo//r8dQZcVi7TuI4pHjdHa+WwLgQjl6eitEtKpQttpNYDVfARXnxDQ9RoYmWyyuoQN49gh85WhJQ8YcWUP+hBKZ2HQyAaE/sH8YnuhCwsr95cLKL5P8BmfZ7QlGnW2Xgk5PCNweUBlUfM5hx0r1+f/CWMPT2IWPk6S9kNoA8KHcPAIwsq2XHYJvoYvqWDgOCsAkTg8W03oUGVMdbu55uFMsqogKNArFSb2wCvFV9X4ykL2KJKJfJUZbLCI5SMBshPV9bSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RLNiiaJGGa7XLtFQIAVfeZLE6ISIuFFdYiDBo07evGc=;
 b=AlS4rHP2C+jub16gg1KdcCdM9TyaPhiaH/LPpNZv9fiEdpN2gAbf/pkNASSjhwQtr9iIZVW/93H+gnYV1jXE0XfKGqLeNN6JhYHLRRlVbu259alOdjeOyQ4KCMs1U6yKC9BarzSNppQ0g1A13Jrhd2FtqgOEDOaunXwzdWbbOdpi3NepkDNRIaiC7eAwn4emCPbujVg4RW/YwrdIx8kHXtmSziMdu8s44OCy/wKSoUuWwRUoPUK8zWxFdCLLnBQqHvNhB5ZZT3sIoUvnALL5GwaD23yxXdWuMCWndGFDoZZI1khKb2dwVFJyLuwCiazpOmX3YJTffdqxv6KacWzByA==
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=RLNiiaJGGa7XLtFQIAVfeZLE6ISIuFFdYiDBo07evGc=;
 b=k9P8TQuNwksO48sJbtXWjliKDGz0i9KSvfuCDXkqa1wYalyMTktPxRACdaISL5RV9SfDHM56QvbvJNnLR22dpZLLkkYY0E9eJJ4K/Kvyu4P85l+3UlpFA3VWLL5YnNaBgD5cOQPwydpvD0thXOhDBSQ4BPqcJyaQzixt822AWq4=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, Nick Rosbrook <rosbrookn@gmail.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Christian
 Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>,
	=?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 00/10] SVE feature for arm guests
Thread-Topic: [PATCH v2 00/10] SVE feature for arm guests
Thread-Index: AQHZVx16irPEm0reLU+hpmaaPhWzXa77kJkAgAAC5IA=
Date: Wed, 15 Mar 2023 09:31:13 +0000
Message-ID: <F8CBCE6A-68F7-4A1F-85AC-3ED0659ED197@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
 <4e154f3c-1daf-1979-12f9-2baac097d292@suse.com>
In-Reply-To: <4e154f3c-1daf-1979-12f9-2baac097d292@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.3731.400.51.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_|DB4PR08MB10342:EE_|DBAEUR03FT055:EE_|AS4PR08MB7686:EE_
X-MS-Office365-Filtering-Correlation-Id: eaa4ad94-2993-4240-f2df-08db25380d0f
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:
 CdKwHvgkrSmJKxgDgkcBNOqNoqEIkszl8ylk4tKKWtfrt0t8j8vaoou5hmNSM1SgxqkF4UqQwyxxMdjY/MtF/+PBfZTqhMSGnYewM+HJ8m6sV1IAfrzMwZnWNaIfVUWmzjW/7hIFIzB9KKU2AXurhUi5IGxtlpKC+EE6yJXs/lDi/y3t0j7gjsxIBD+PFBLhirtSzADeoaXakTeXWBAJAYf/v/XwlRR0h91wOY4nTs+jyQwC5m1TRVR51r9iRL8PmjPTN30D2uFMOxAnl/E/hB86qownWOh0h0Aam26ufj83X9jwN5+TabxyPYAiEJiT0MVXMuMIN7uGoFAlrSn+HVM8FBzstXAA4ZsR7SaYqLvgU2dN3d6Z3YKsPcw/feULoyrDB/IooAUAWRi21N3uF8HIAtZbmybD05hSWAU7qYc+d0N67VnVkaMxPiHtZZ816aYIl44JzdCvosKRzTocgGUrDvzqIxPqrqBv79DyaB/fS0LW/RjIdST6qVa/EG4q3co+LzeXKyp7271sfW2XWpyHr7ek7DfZIyLMqKk5QqymeCs9Au8bQtw5ZfUhjAkhl5F23P0f55TF6R91TOWpB0y0NLZl6AgjctfTa9mBPhmdHV0l3N933rYTxW2rwDbbpEDevFUpz/Efj5y3Hy7LCU9VWLbtIYaf2SZhWywfi6PU+x8Ot36bVr5ugQDM8MVJcOSezHYTlJBbA0JZx8JLlPXGgofGq2nu/3xRFy8jBGM=
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:(13230025)(4636009)(396003)(366004)(346002)(376002)(39860400002)(136003)(451199018)(122000001)(2906002)(83380400001)(6916009)(5660300002)(36756003)(7416002)(8936002)(64756008)(66446008)(66476007)(41300700001)(66946007)(8676002)(76116006)(91956017)(4326008)(86362001)(38100700002)(33656002)(316002)(54906003)(478600001)(66556008)(38070700005)(186003)(53546011)(2616005)(6512007)(6506007)(26005)(71200400001)(6486002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <2753A5FB4A97BB4EB55F443C1D77C1AC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB10342
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:
 DBAEUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	570914cd-8a94-40dd-1d3c-08db253804f8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	H4QrgGdR+T90QaiMzt/k1uImtCT8uJ1R987rO0L6wCYSx5Ty39S3zPC7OS87xPGHWsVfiHEIsnwRWi33Gp94nlG4qeNSoudvAcX/RCXpU3FcqBZeB0tcXSBamSZTZqbQGp9Y30/ZnGvug/IxSx3+kGgFPS32bGjqxDbrv4TFpHme1Uc+Rg3gZOlG9KfsKvx+uNFrQ3/qKdiFTs42l0untRp5brdZwPDRxPL9lP2y6uy3VmktfP23Kt4xKdcPEltc1YR/2N2Nu84Svz6Q8d/zIvz21RYyemjAWBb9F2KB7iyPVcJy9iBvbvtu0r7PLPi3iQmcurUM0f5gNPE+XyPtYDHbGltPpqW427bMGCFccfX5Ot/qQEHlDX8ftEF+hMyzSp/CKKZJE/+GUKtz0/aqJkOhpf4R1GJ9eZWf8BkuLfmNUHj8Pqv4b8dRHof0eqoWW6ArL7mySkM0UTpADUvZ64DlPY6GXGUUDFYWKXRTI9ZncdX2zrtGSdyy6bjIJ3ZjcqN1/RT8tLQqb2i3tLwKRGP67AP7i3D/HVag1a3FydYx84UAFcgMCcIDEyjEtzww3A30wGgVb3tyVP3Gg+BcIazQuxOD+ws6VLyn2SZnioZQVg6vpEv8rJE5tuLmzSx7dOUnlZfZuHJjLOi6seL4Kliuxjv2gP9yT4GMeWIhTlALqFB1kp0fMXtRT+QA3jxR4KSi6gGn/8EOO4IKLk5D6A==
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:(13230025)(4636009)(39860400002)(376002)(346002)(136003)(396003)(451199018)(40470700004)(36840700001)(46966006)(47076005)(478600001)(26005)(186003)(336012)(83380400001)(6486002)(70206006)(70586007)(316002)(2616005)(6506007)(54906003)(6512007)(53546011)(8676002)(36860700001)(41300700001)(4326008)(8936002)(6862004)(5660300002)(81166007)(40460700003)(82740400003)(2906002)(356005)(82310400005)(36756003)(86362001)(33656002)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 09:31:27.0602
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eaa4ad94-2993-4240-f2df-08db25380d0f
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:
	DBAEUR03FT055.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7686

DQoNCj4gT24gMTUgTWFyIDIwMjMsIGF0IDA5OjIwLCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMTUuMDMuMjAyMyAxMDowNSwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+IFRoaXMgc2VyaWUgaXMgaW50cm9kdWNpbmcgdGhlIHBvc3NpYmlsaXR5IGZvciBE
b20wIGFuZCBEb21VIGd1ZXN0cyB0byB1c2UNCj4+IHN2ZS9zdmUyIGluc3RydWN0aW9ucy4NCj4+
IA0KPj4gU1ZFIGZlYXR1cmUgaW50cm9kdWNlcyBuZXcgaW5zdHJ1Y3Rpb24gYW5kIHJlZ2lzdGVy
cyB0byBpbXByb3ZlIHBlcmZvcm1hbmNlcyBvbg0KPj4gZmxvYXRpbmcgcG9pbnQgb3BlcmF0aW9u
cy4NCj4+IA0KPj4gVGhlIFNWRSBmZWF0dXJlIGlzIGFkdmVydGlzZWQgdXNpbmcgdGhlIElEX0FB
NjRQRlIwX0VMMSByZWdpc3RlciwgU1ZFIGZpZWxkLCBhbmQNCj4+IHdoZW4gYXZhaWxhYmxlIHRo
ZSBJRF9BQTY0WkZSMF9FTDEgcmVnaXN0ZXIgcHJvdmlkZXMgYWRkaXRpb25hbCBpbmZvcm1hdGlv
bg0KPj4gYWJvdXQgdGhlIGltcGxlbWVudGVkIHZlcnNpb24gYW5kIG90aGVyIFNWRSBmZWF0dXJl
Lg0KPj4gDQo+PiBOZXcgcmVnaXN0ZXJzIGFkZGVkIGJ5IHRoZSBTVkUgZmVhdHVyZSBhcmUgWjAt
WjMxLCBQMC1QMTUsIEZGUiwgWkNSX0VMeC4NCj4+IA0KPj4gWjAtWjMxIGFyZSBzY2FsYWJsZSB2
ZWN0b3IgcmVnaXN0ZXIgd2hvc2Ugc2l6ZSBpcyBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIGFuZA0K
Pj4gZ29lcyBmcm9tIDEyOCBiaXRzIHRvIG1heGltdW0gMjA0OCwgdGhlIHRlcm0gdmVjdG9yIGxl
bmd0aCB3aWxsIGJlIHVzZWQgdG8gcmVmZXINCj4+IHRvIHRoaXMgcXVhbnRpdHkuDQo+PiBQMC1Q
MTUgYXJlIHByZWRpY2F0ZSByZWdpc3RlcnMgYW5kIHRoZSBzaXplIGlzIHRoZSB2ZWN0b3IgbGVu
Z3RoIGRpdmlkZWQgYnkgOCwNCj4+IHNhbWUgc2l6ZSBpcyB0aGUgRkZSIChGaXJzdCBGYXVsdCBS
ZWdpc3RlcikuDQo+PiBaQ1JfRUx4IGlzIGEgcmVnaXN0ZXIgdGhhdCBjYW4gY29udHJvbCBhbmQg
cmVzdHJpY3QgdGhlIG1heGltdW0gdmVjdG9yIGxlbmd0aA0KPj4gdXNlZCBieSB0aGUgPHg+IGV4
Y2VwdGlvbiBsZXZlbCBhbmQgYWxsIHRoZSBsb3dlciBleGNlcHRpb24gbGV2ZWxzLCBzbyBmb3IN
Cj4+IGV4YW1wbGUgRUwzIGNhbiByZXN0cmljdCB0aGUgdmVjdG9yIGxlbmd0aCB1c2FibGUgYnkg
RUwzLDIsMSwwLg0KPj4gDQo+PiBUaGUgcGxhdGZvcm0gaGFzIGEgbWF4aW11bSBpbXBsZW1lbnRl
ZCB2ZWN0b3IgbGVuZ3RoLCBzbyBmb3IgZXZlcnkgdmFsdWUNCj4+IHdyaXR0ZW4gaW4gWkNSIHJl
Z2lzdGVyLCBpZiB0aGlzIHZhbHVlIGlzIGFib3ZlIHRoZSBpbXBsZW1lbnRlZCBsZW5ndGgsIHRo
ZW4gdGhlDQo+PiBsb3dlciB2YWx1ZSB3aWxsIGJlIHVzZWQuIFRoZSBSRFZMIGluc3RydWN0aW9u
IGNhbiBiZSB1c2VkIHRvIGNoZWNrIHdoYXQgdmVjdG9yDQo+PiBsZW5ndGggaXMgdGhlIEhXIHVz
aW5nIGFmdGVyIHNldHRpbmcgWkNSLg0KPj4gDQo+PiBGb3IgYW4gU1ZFIGd1ZXN0LCB0aGUgVjAt
VjMxIHJlZ2lzdGVycyBhcmUgcGFydCBvZiB0aGUgWjAtWjMxLCBzbyB0aGVyZSBpcyBubw0KPj4g
bmVlZCB0byBzYXZlIHRoZW0gc2VwYXJhdGVseSwgc2F2aW5nIFowLVozMSB3aWxsIHNhdmUgaW1w
bGljaXRseSBhbHNvIFYwLVYzMS4NCj4+IA0KPj4gU1ZFIHVzYWdlIGNhbiBiZSB0cmFwcGVkIHVz
aW5nIGEgZmxhZyBpbiBDUFRSX0VMMiwgaGVuY2UgaW4gdGhpcyBzZXJpZSB0aGUNCj4+IHJlZ2lz
dGVyIGlzIGFkZGVkIHRvIHRoZSBkb21haW4gc3RhdGUsIHRvIGJlIGFibGUgdG8gdHJhcCBvbmx5
IHRoZSBndWVzdHMgdGhhdA0KPj4gYXJlIG5vdCBhbGxvd2VkIHRvIHVzZSBTVkUuDQo+PiANCj4+
IFRoaXMgc2VyaWUgaXMgaW50cm9kdWNpbmcgYSBjb21tYW5kIGxpbmUgcGFyYW1ldGVyIHRvIGVu
YWJsZSBEb20wIHRvIHVzZSBTVkUgYW5kDQo+PiB0byBzZXQgaXRzIG1heGltdW0gdmVjdG9yIGxl
bmd0aCB0aGF0IGJ5IGRlZmF1bHQgaXMgMCB3aGljaCBtZWFucyB0aGUgZ3Vlc3QgaXMNCj4+IG5v
dCBhbGxvd2VkIHRvIHVzZSBTVkUuIFZhbHVlcyBmcm9tIDEyOCB0byAyMDQ4IG1lYW4gdGhlIGd1
ZXN0IGNhbiB1c2UgU1ZFIHdpdGgNCj4+IHRoZSBzZWxlY3RlZCB2YWx1ZSB1c2VkIGFzIG1heGlt
dW0gYWxsb3dlZCB2ZWN0b3IgbGVuZ3RoICh3aGljaCBjb3VsZCBiZSBsb3dlcg0KPj4gaWYgdGhl
IGltcGxlbWVudGVkIG9uZSBpcyBsb3dlcikuDQo+PiBGb3IgRG9tVXMsIGFuIFhMIHBhcmFtZXRl
ciB3aXRoIHRoZSBzYW1lIHdheSBvZiB1c2UgaXMgaW50cm9kdWNlZCBhbmQgYSBkb20wbGVzcw0K
Pj4gRFRCIGJpbmRpbmcgaXMgY3JlYXRlZC4NCj4+IA0KPj4gVGhlIGNvbnRleHQgc3dpdGNoIGlz
IHRoZSBtb3N0IGNyaXRpY2FsIHBhcnQgYmVjYXVzZSB0aGVyZSBjYW4gYmUgYmlnIHJlZ2lzdGVy
cw0KPj4gdG8gYmUgc2F2ZWQsIGluIHRoaXMgc2VyaWUgYW4gZWFzeSBhcHByb2FjaCBpcyB1c2Vk
IGFuZCB0aGUgY29udGV4dCBpcw0KPj4gc2F2ZWQvcmVzdG9yZWQgZXZlcnkgdGltZSBmb3IgdGhl
IGd1ZXN0cyB0aGF0IGFyZSBhbGxvd2VkIHRvIHVzZSBTVkUuDQo+PiANCj4+IEx1Y2EgRmFuY2Vs
bHUgKDEwKToNCj4+ICB4ZW4vYXJtOiBlbmFibGUgU1ZFIGV4dGVuc2lvbiBmb3IgWGVuDQo+PiAg
eGVuL2FybTogYWRkIHN2ZV92bF9iaXRzIGZpZWxkIHRvIGRvbWFpbg0KPj4gIHhlbi9hcm06IEV4
cG9zZSBTVkUgZmVhdHVyZSB0byB0aGUgZ3Vlc3QNCj4+ICB4ZW4vYXJtOiBhZGQgU1ZFIGV4Y2Vw
dGlvbiBjbGFzcyBoYW5kbGluZw0KPj4gIGFybS9zdmU6IHNhdmUvcmVzdG9yZSBTVkUgY29udGV4
dCBzd2l0Y2gNCj4+ICB4ZW4vYXJtOiBlbmFibGUgRG9tMCB0byB1c2UgU1ZFIGZlYXR1cmUNCj4+
ICB4ZW4vcGh5c2luZm86IGVuY29kZSBBcm0gU1ZFIHZlY3RvciBsZW5ndGggaW4gYXJjaF9jYXBh
YmlsaXRpZXMNCj4+ICB0b29sczogYWRkIHBoeXNpbmZvIGFyY2hfY2FwYWJpbGl0aWVzIGhhbmRs
aW5nIGZvciBBcm0NCj4+ICB4ZW4vdG9vbHM6IGFkZCBzdmUgcGFyYW1ldGVyIGluIFhMIGNvbmZp
Z3VyYXRpb24NCj4+ICB4ZW4vYXJtOiBhZGQgc3ZlIHByb3BlcnR5IGZvciBkb20wbGVzcyBkb21V
cw0KPj4gDQo+PiBkb2NzL21hbi94bC5jZmcuNS5wb2QuaW4gICAgICAgICAgICAgICAgIHwgIDEx
ICsrDQo+PiBkb2NzL21pc2MvYXJtL2RldmljZS10cmVlL2Jvb3RpbmcudHh0ICAgIHwgICA5ICsr
DQo+PiBkb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5wYW5kb2MgICAgICAgIHwgIDEzICsrDQo+
PiB0b29scy9nb2xhbmcveGVubGlnaHQvaGVscGVycy5nZW4uZ28gICAgIHwgICA0ICsNCj4+IHRv
b2xzL2dvbGFuZy94ZW5saWdodC90eXBlcy5nZW4uZ28gICAgICAgfCAgIDIgKw0KPj4gdG9vbHMv
aW5jbHVkZS9hcm1fYXJjaF9jYXBhYmlsaXRpZXMuaCAgICB8ICAzMiArKysrDQo+PiB0b29scy9p
bmNsdWRlL2xpYnhsLmggICAgICAgICAgICAgICAgICAgIHwgICA1ICsNCj4+IHRvb2xzL2xpYnMv
bGlnaHQvbGlieGwuYyAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPj4gdG9vbHMvbGlicy9saWdo
dC9saWJ4bF9hcm0uYyAgICAgICAgICAgICB8ICAgMiArDQo+PiB0b29scy9saWJzL2xpZ2h0L2xp
YnhsX3R5cGVzLmlkbCAgICAgICAgIHwgICAyICsNCj4+IHRvb2xzL29jYW1sL2xpYnMveGMveGVu
Y3RybC5tbCAgICAgICAgICAgfCAgIDQgKy0NCj4+IHRvb2xzL29jYW1sL2xpYnMveGMveGVuY3Ry
bC5tbGkgICAgICAgICAgfCAgIDQgKy0NCj4+IHRvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybF9z
dHVicy5jICAgICAgfCAgIDggKy0NCj4+IHRvb2xzL3B5dGhvbi94ZW4vbG93bGV2ZWwveGMveGMu
YyAgICAgICAgfCAgIDggKy0NCj4+IHRvb2xzL3hsL3hsX2luZm8uYyAgICAgICAgICAgICAgICAg
ICAgICAgfCAgIDggKw0KPj4gdG9vbHMveGwveGxfcGFyc2UuYyAgICAgICAgICAgICAgICAgICAg
ICB8ICAyNSArKy0NCj4+IHhlbi9hcmNoL2FybS9LY29uZmlnICAgICAgICAgICAgICAgICAgICAg
fCAgMTAgKy0NCj4+IHhlbi9hcmNoL2FybS9hcm02NC9NYWtlZmlsZSAgICAgICAgICAgICAgfCAg
IDEgKw0KPj4geGVuL2FyY2gvYXJtL2FybTY0L2NwdWZlYXR1cmUuYyAgICAgICAgICB8ICAgNyAr
LQ0KPj4geGVuL2FyY2gvYXJtL2FybTY0L3N2ZS5jICAgICAgICAgICAgICAgICB8IDExOSArKysr
KysrKysrKysrKw0KPj4geGVuL2FyY2gvYXJtL2FybTY0L3N2ZV9hc20uUyAgICAgICAgICAgICB8
IDE4OSArKysrKysrKysrKysrKysrKysrKysrKw0KPj4geGVuL2FyY2gvYXJtL2FybTY0L3ZmcC5j
ICAgICAgICAgICAgICAgICB8ICA3OSArKysrKystLS0tDQo+PiB4ZW4vYXJjaC9hcm0vYXJtNjQv
dnN5c3JlZy5jICAgICAgICAgICAgIHwgIDM5ICsrKystDQo+PiB4ZW4vYXJjaC9hcm0vY3B1ZmVh
dHVyZS5jICAgICAgICAgICAgICAgIHwgICA2ICstDQo+PiB4ZW4vYXJjaC9hcm0vZG9tYWluLmMg
ICAgICAgICAgICAgICAgICAgIHwgIDQ4ICsrKysrLQ0KPj4geGVuL2FyY2gvYXJtL2RvbWFpbl9i
dWlsZC5jICAgICAgICAgICAgICB8ICAxMSArKw0KPj4geGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNt
L2FybTY0L3N2ZS5oICAgICB8ICA3MiArKysrKysrKysNCj4+IHhlbi9hcmNoL2FybS9pbmNsdWRl
L2FzbS9hcm02NC9zeXNyZWdzLmggfCAgIDQgKw0KPj4geGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNt
L2FybTY0L3ZmcC5oICAgICB8ICAxMCArKw0KPj4geGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2Nw
dWZlYXR1cmUuaCAgICB8ICAxNCArKw0KPj4geGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2RvbWFp
bi5oICAgICAgICB8ICAgOCArDQo+PiB4ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vcHJvY2Vzc29y
LmggICAgIHwgICAzICsNCj4+IHhlbi9hcmNoL2FybS9zZXR1cC5jICAgICAgICAgICAgICAgICAg
ICAgfCAgIDUgKy0NCj4+IHhlbi9hcmNoL2FybS9zeXNjdGwuYyAgICAgICAgICAgICAgICAgICAg
fCAgMTEgKysNCj4+IHhlbi9hcmNoL2FybS90cmFwcy5jICAgICAgICAgICAgICAgICAgICAgfCAg
NDAgKysrLS0NCj4+IHhlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oICAgICAgICAgICAgfCAg
IDMgKw0KPj4geGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oICAgICAgICAgICAgICB8ICAgMiAr
LQ0KPj4geGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oICAgICAgICAgICAgICB8ICAgMyArDQo+
PiAzOCBmaWxlcyBjaGFuZ2VkLCA3NDggaW5zZXJ0aW9ucygrKSwgNzQgZGVsZXRpb25zKC0pDQo+
PiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvaW5jbHVkZS9hcm1fYXJjaF9jYXBhYmlsaXRpZXMu
aA0KPj4gY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL2FybS9hcm02NC9zdmUuYw0KPj4gY3Jl
YXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL2FybS9hcm02NC9zdmVfYXNtLlMNCj4+IGNyZWF0ZSBt
b2RlIDEwMDY0NCB4ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvc3ZlLmgNCj4gDQo+IEkg
dGhpbmsgSSBoYWQgYXNrZWQgZm9yIHRoaXMgYmVmb3JlIC0gY2FuIG5ldyBmaWxlcyBwbGVhc2Ug
dXNlIGRhc2hlcw0KPiBpbiBwcmVmZXJlbmNlIHRvIHVuZGVyc2NvcmVzIGluIHRoZWlyIG5hbWVz
PyBVbmRlcnNjb3JlcyByZWFsbHkgc2hvdWxkDQo+IG9ubHkgYmUgdXNlZCB3aGVuIG90aGVyIHBv
c3NpYmxlIHNlcGFyYXRvcnMgYXJlbid0IGF2YWlsYWJsZSBiZWNhdXNlIG9mDQo+IGhhdmluZyBv
dGhlciBsZXhpY2FsIG1lYW5pbmcuDQoNClllcywgc29ycnkgYWJvdXQgdGhhdCwgSeKAmWxsIHJl
bmFtZSB0aGF0IGZpbGUgdG8gYXJtLWFyY2gtY2FwYWJpbGl0aWVzLmggaW4gdGhlIG5leHQgdmVy
c2lvbg0KDQo+IA0KPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:41:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:41:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.509999.786870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcNdp-00024l-Mb; Wed, 15 Mar 2023 09:41:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 509999.786870; Wed, 15 Mar 2023 09:41: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 1pcNdp-00024e-Jh; Wed, 15 Mar 2023 09:41:53 +0000
Received: by outflank-mailman (input) for mailman id 509999;
 Wed, 15 Mar 2023 09:41:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcNdo-00024Y-0K
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:41:52 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2060e.outbound.protection.outlook.com
 [2a01:111:f400:fe12::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b92642d-c315-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 10:41:49 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB7063.eurprd04.prod.outlook.com (2603:10a6:20b:11e::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 09:41:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 09:41: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: 9b92642d-c315-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V68CyonK/zMf5bTOQk7cw5XWgLrFnZpqbBrnM3o7Xs9yPqLTcmlxMpkow0Lxbs+RwQ4GbSY0gkzSJLQoX5QPRzJi+/B1rdsKetCeaBHWbVi3zoJZRkYkIuDzEsABvK2BtT6vsvOgJPa1Y1ZBTN3ZTyTepVkctLvN13bB8oJp/+2bOumydiaTYbu7nmErpEgZJLg7CxCgQaUKmJ5EA4rj5DhlNd41jGGneG7le3od/9NrUJF9MD45qG3BBru/93vc+T86bbS6TgdrfFDq01DBMYgJUXbEIK9ZVTHUbOPBY/CXskOU6JhcSbAcJbcxqYih4iQuHpOeArRyS9PjsSWOFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TwzEvm9XOJIlS1DQsIx/e2DBLzmRCg1SiOgzZP7dD7s=;
 b=BcCt/b39fJDNndNJWNujcTE5Hfu5UyjhiqVgCTJuSGZRgwhvhGbdWIoWwrnM5J0B7ypHxTmQWxcVWEicRNUQ8iyK9GHh98qRFCKc/OhBjz1BkG0JGz5Xvu+x0qn5P8cpj6GXH5gBM8bR8BJvzllLcjRrSv2YykIR4AwqoDlIhJtndXJkP8FmUR1w/pGjZSoR3+VAd7IawWQq6wNGewjfA+3FJBIxjZSaY92IyAUCC01l2k8C/6MSI+IYdu0GRSQO1jAxOdmDWlRpR9fUptsFSY4OJouQfaYi6WVbG1cheHV9TVnLom7sQMsTQQPhukHrk1uOvfE9KTLD9+IdtEGldQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TwzEvm9XOJIlS1DQsIx/e2DBLzmRCg1SiOgzZP7dD7s=;
 b=fLKBdjPBpU5/OaWb0LzfMUqEUvDExym0XA27wAzeHD6YV1xy47EcWED0wjeh2rDIFgfgu/+gH8WWYuapXek0jlbQflu4qSgsDCwcKYqKGV/RS3/WvxeVPdT8Dsf4/o2UgOy9/sxf9vwk2qgt/ZD0PgtqEkbuUcTF/3S1ocnKSVu3RpB4ywCjBNM5t9Pms7HdR8u7P0PJCMuDS1vCVCRAcZ1zPUTRkV8iBB/f6pzD6flAk4QeMpOGmUhkO0hL0wGwf/aPrOvFQMp6abb9NE9eZmbXNYZzEsKhXlZHEJdf7vB/i4zOuKJn0Si5NWGj+tMz6eZrj8APe8IDnIap4xXd+Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <29cf7623-688a-4b88-c684-cf195d0626dd@suse.com>
Date: Wed, 15 Mar 2023 10:41:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 07/10] xen/physinfo: encode Arm SVE vector length in
 arch_capabilities
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230315090558.731029-1-luca.fancellu@arm.com>
 <20230315090558.731029-8-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230315090558.731029-8-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0136.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7063:EE_
X-MS-Office365-Filtering-Correlation-Id: a60e7a67-c1dd-4366-7026-08db25397e7d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5TW/XBx6U4bN7XgiB8nDeHLRHew6oD+jwyWIbB/nRIHnF6HhxxhqzkiNFTPetnmLvY4qSIdQqhiKXyfRUU3udhphUcxgv2/BV+YoakZfxMLqVgRyxeEtYtYpIVW70QepCWCJBLt3ifEg4cd8VNY9FKVxzE40m5LpIC9R3OyLX96U7pA5Cy07/Sb1168kaExHYK3fUVWU2c96X/RXoKXt6HspPvfqYB9s/JYJzPpy0wfowIvI/XIHuVicm89wt8hRMnrr0Q9ZBDZ6C7K6Ul/RoZCD75VI7RNg59PNBPG20qvjgEaPjlewnltJB86ljSLFZ0ZrGAka+/uPnQJeyPV9zRQ45IS/khhF6FxVeFdGkCxiRidK3ciZhQ5Kq1+CLleifSIRsO0QsGHnX2MU69QkRpSLXTqWfQMmieaoiALsPxTkT5FnBJG5qYdvsSOa05G2xomKwWNdVADtcpxOIiKCcnwFY353VaVDmG4FBniFXYRWw1BZ8qMiWdCx9WJ8Pue4oT3h7jyN9dTCPiZ1JfPd53+2o3XOjI5ZfoZuMHS1GY/xdLLIC5zbGuzzCQG+mjbNE+usaExVMNZOwV/K14IaQNMN352WcrZch1ok8hRJcT9nOsLNJ2L/oBAd7OdFFR7tUTtKwHxg0OVqeglOoGJ8lfAJpms15HvNWTu1WtH1kQyJNbgZMm4uUt4+Jw8rbmW6oWpIT1k8CzkMpSQb8YYKzl3pPV73PPU6U+9rDEHSUts=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(346002)(366004)(396003)(39860400002)(376002)(451199018)(36756003)(31696002)(86362001)(38100700002)(7416002)(41300700001)(8936002)(2906002)(5660300002)(4744005)(4326008)(186003)(6512007)(26005)(53546011)(2616005)(316002)(54906003)(478600001)(6506007)(66476007)(66556008)(66946007)(6916009)(6486002)(8676002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WTFRV2ZMQXJVOWtUZ0JhM1cvWXVmWmVrRXZjbTM2b0ZCU2hNVUxPZFYvOUJE?=
 =?utf-8?B?YytGYitBWFNGRGQrV3VUYW9NZnBLYll2QVc4VnlwRHNPaVYwNTFjL2FFT1Nz?=
 =?utf-8?B?Y3BncmI1R3hucnRYOHZIQUx0ZkdQM0hDK0k3c1ZwQ2lETGh4VjZ5WkpTd3Fj?=
 =?utf-8?B?eHpaVThJQjd2T2F6NzMyMnovTWNCd1NpaHZ6YVZ3NGZoWEVBdTBpR3NFTUZZ?=
 =?utf-8?B?VlpybURNS000Ym8vTURwOGh6M3Vqc1grS1VJUGVvcTBJMjJmM0poeTRPRkc5?=
 =?utf-8?B?M2d3NmJiR29rTjBkQkV2RERuOGRoWGhzU2M5YmJPU0s5YUtEendpekdZQjlz?=
 =?utf-8?B?eWR4M2xkRXpCd3EvT3NPaTVPTUw0dE9YdHY2dUl2bGpYWHJQdjB4WTZScHBr?=
 =?utf-8?B?MzUrM1VsQ25NSjNPNFFJbzEvTmVkUHJCdkxvWEJBOEw0cDliZmtWNXlENm5F?=
 =?utf-8?B?RnZXU0h0UFdxWmdLUlpwQ24xT0xha1dCaWluRktrcjNXbkNtTFdXeVdWQUVl?=
 =?utf-8?B?S2FoMWpKTHk4R3BpZXIwcDlsUGNPSFVwM05ySy9CaTgvbkNhejgrdGZPTjdX?=
 =?utf-8?B?am9sTGN3MW02azNBbUNJanlpaG5PNU9SUWV3eDl5emUxTUg5bkIxYVdITEQw?=
 =?utf-8?B?LzEzWlMxQU9Pc3laYk00bGMwZjBWczllNEdPcDNpdW41T0xua0ZwdXFSTlF3?=
 =?utf-8?B?QzZwVGYvRzFHV2VxRzVZUDBZQ1oycmNmcTZUcGNXTEtyNDdkUGQ3cERYdmYz?=
 =?utf-8?B?Q3BldElDSTMydGhsVjJhbnF0WGYwcXY3M01zYWFHSCtiMllWYzN3VTAycVVz?=
 =?utf-8?B?enh6Q3YzNSswTzVZQVhDcktTckRkcnJVb2J6YVpVZ2xGUEdiUHN5QWk5NDRR?=
 =?utf-8?B?YkpKTEZKWldCcDZvMHZSRXF2Vlg3OSs1UFhKbkE3K25BYnRPaUZBQlZiTmNI?=
 =?utf-8?B?cmw3MXFKTXdBZU9LWld1L2YwZTFack9rT1ZQWk96MUowcTVCd1R2UTRRYmlW?=
 =?utf-8?B?TGx1eVBNT0hSRCs4aGlLT2c0VHV3NUkyZzBpeDJSWTlSaGtFVmw5RWI5REVr?=
 =?utf-8?B?TUFXVVdNekRhSkdkVVBoS3BRTHo3K01IME0xYnJlTEJaUHdLWTNDV2VQcGsr?=
 =?utf-8?B?UVRGdTNhY0NlR29yalNzcFliUjZNT1lZVHJqUU1yWDJKVkVrRFVFM0YxdU5s?=
 =?utf-8?B?YjJrVSt1UXR2d1NJM0JCazR0M3hmK0s0Zlh6QkxkTDlqcGZmSFRWaHBpM2dY?=
 =?utf-8?B?Vm8zMEtlMXNkaURSZHJoVC96a29vbm9RRm9oUjFkWDlCKzF3azdNT0JqMG1F?=
 =?utf-8?B?YnlTL1I2eEFVVHRxQlIzS0VsekxGSGtxaFVIZUdlVVFQUi8zSC9EQ3FBZlUr?=
 =?utf-8?B?cTkrVUwrazIzM295eS8wcnJUTFFHQnlud1YxYzFJeWFOUk51NFRUdlBUSjhm?=
 =?utf-8?B?R0RYYllKV09ZOXhwYTJFYjNFbnN4YktENkZ4UUxXT01tbUp3eGFvYnBYWUNV?=
 =?utf-8?B?UUZvRUFmVExFTFVVM1RiZi9PNzhGVXZOS1ZHOGhmWTI4Q0lIdzFIOWtPWWNw?=
 =?utf-8?B?THRCRTdsRFlTWldrSXJhdUJsLy9OWTRVdXZDOE1UZENWR3RaV0s5Rmo2M0RR?=
 =?utf-8?B?K1pLZjk3UXBVMVBHVDdpTnVHOWxrbDE4KzFjaWgxaS9sdTJMRHdkWGt3bUtN?=
 =?utf-8?B?RFk4OTBaeVNob0ZUWUZML1pOa2dkOG1rNmk1WnBlQTFzSWZxeU5mbGIyNjZz?=
 =?utf-8?B?SGtDSlYvTWVVUGRRanErNWloRGlIYjZIMS9CNnZadjV3cExaZnpSb3BsUi9z?=
 =?utf-8?B?TkNBZ3EwekdWUEN6ZlNVRGNncmtTZWJHRTRNOXpUVTM2VWsreXhMNnZNaEd2?=
 =?utf-8?B?bExHSkpTT0h1d1VGVWRFTE85OFpWcDg1Y1ZlbTNpZkdyM1QrSTlFWENjc1dr?=
 =?utf-8?B?MkJTeWg2L3QrSkNpWHE2TXkzUGtRVFZ4Q2FtWDJlS25qQjRiWEdxdHNETytK?=
 =?utf-8?B?eUhpL0orUVVDN1ZJaGpKZlFjQUJ2R0FtOEt6M1FPdlBTMUxkbTR0UHlkUnZ0?=
 =?utf-8?B?U3BkN0RHT2ZCNFBHa0thdzdIL3BuZzJZOVR6YnRlZ2dUZnFSd2xpQmk0bmxW?=
 =?utf-8?Q?WIuJBEy2ItL4Sr4Y1GJ1KOyuz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a60e7a67-c1dd-4366-7026-08db25397e7d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 09:41:47.0133
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pBZDAYatB4mZq2bf5zL/BnUJx9mu2pKpenb8izYRGExIL6fujQVE7QxvoKeJthO29YQVOI5HY1nsp45fhsybNQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7063

On 15.03.2023 10:05, Luca Fancellu wrote:
> --- a/xen/include/public/sysctl.h
> +++ b/xen/include/public/sysctl.h
> @@ -94,6 +94,9 @@ struct xen_sysctl_tbuf_op {
>  /* Max XEN_SYSCTL_PHYSCAP_* constant.  Used for ABI checking. */
>  #define XEN_SYSCTL_PHYSCAP_MAX XEN_SYSCTL_PHYSCAP_gnttab_v2
>  
> +#define XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK  (0x1FU)
> +#define XEN_SYSCTL_PHYSCAP_ARM_SVE_SHFT  (0)

The second of these can be inferred from the first, so I'd like to ask
that redundant definitions be omitted from the public headers. For the
code using the constant we specifically have MASK_INSR().

Just like there already are x86-specific sections in this file, I think
the remaining single #define also wants enclosing in "#ifdef __aarch64__"
here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:45:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:45:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510001.786880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcNhA-0002fQ-6n; Wed, 15 Mar 2023 09:45:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510001.786880; Wed, 15 Mar 2023 09: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 1pcNhA-0002fJ-2b; Wed, 15 Mar 2023 09:45:20 +0000
Received: by outflank-mailman (input) for mailman id 510001;
 Wed, 15 Mar 2023 09: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=DN/u=7H=citrix.com=prvs=431ad58dd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pcNh8-0002f6-Jg
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:45:18 +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 1532999a-c316-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 10:45:15 +0100 (CET)
Received: from mail-dm3nam02lp2046.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.46])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 05:45:12 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DS7PR03MB5655.namprd03.prod.outlook.com (2603:10b6:5:2c6::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 09:45:08 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.029; Wed, 15 Mar 2023
 09:45: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: 1532999a-c316-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678873515;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=SBxIoWzt8NIVTLrvW4KLHqb/vkRmEjiCqV7Czk28Eqo=;
  b=X7g7YgW4kHWK/UU08IbfqF7+yfXpNng4CrkmegBZ5Wt5QNn9dY9Mjc4z
   xVUTTb5fqg3PyLrwBm2vdGDQqPvicOWKMsySt3eM4ov/q9cEwb1wmMea8
   5MzwD/UhZ+0GVBi36+SW1FYCx32P5DkJWurfsl1boIGK0baoxHnX/p7S4
   k=;
X-IronPort-RemoteIP: 104.47.56.46
X-IronPort-MID: 100926176
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:F3IHQaCJd3eSNRVW/+Piw5YqxClBgxIJ4kV8jS/XYbTApDgj0WAFz
 GRKCD/Qb67Zazf2Ld4lPIvgp0tSuMfWzYAyQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhB4wRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwvaFNOEhq1
 +4iMBsBZxOqm+CJzry3Y7w57igjBJGD0II3nFhFlWucIdN9BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI++xrvQA/zyQouFTpGPPTdsaHWoN+mUGAq
 3id12/4HgsbJJqUzj/tHneE37eXzHmlAd1MfFG+3sIy2nmvxF4MMjxMaHmQjf+UrnCbevsKf
 iT4/QJr98De7neDTNPwQhm5q36spQMHVpxbFOhSwBGAzO/Y7hiUAkAATyVdc5o2uckuXzso2
 1SV2dTzClRHsqCRSH+b3qeZq3W1Iyd9BXQZeSYOQA8B4t/iiII+lBTCSpBkCqHdpsLxMSH9x
 XaNtidWulkIpcsC1qH+8VWchTup/sLNVlRtuluRWX+55ARkYoLjf5av9VXQ8fdHKsCeU0WFu
 38H3cOZ6YjiEK2wqcBEe81VdJnB2hpPGGS0bYJHd3X5ywmQxg==
IronPort-HdrOrdr: A9a23:Kf+ita/GAxx4inV8ePFuk+DWI+orL9Y04lQ7vn2ZKCY4TiX8ra
 uTdZsguiMc5Ax+ZJhDo7C90di7IE80nKQdieN9AV7IZniEhILHFvAG0aLShxHmBi3i5qp8+M
 5bAsxD4QTLfDpHsfo=
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="100926176"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ix8RW+jBelINGae1odD5mUp7K5Y9Hq5dhTnMt66YiEwkzsfmrRKqn5UhDuj2N/qLNfiIGq+id3Fp5vUASm+i93JDSibpYOZoxf8fTOTjozQfPzoYOgVueGCth5AOur0B85JxFcqCiFMVJg3pAE2fyy524piKQrQkUPxlVdwEWQkpmEKcs3S3aWpAGs7EWYKqKrtXgyGsYnpSE78GIqmU/GOWLe5VDPH/IM2+JqrKdgJ4OFw9d12x724FI4zNMpzacgZsgzmSf8nzfkXsDqUqe1N5nuA7XT6h1gl2Tm71S2f0Z7i1h7spPoJtL+UFCllxNdwK41+WKoWpUEcJP32P7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SBxIoWzt8NIVTLrvW4KLHqb/vkRmEjiCqV7Czk28Eqo=;
 b=nCrCNqYpfkxMRV38kExFXRdQWQu4L0xS3qCZ2hHmuiM8MxJY7f92utbVaSHctN1qbL9Hp6X9WC0MBLNMZ3Q9yVjWcsHTqgQZtfIYNjm4U1lO871cLYOykjWz9zYYfbwsETEmxwiBoemN1DNOJa8xjL1gc/t+wzFDJjtz8Vm6yp+9AFeNFngQAHJzP03g/HrLwAVWr8vUiEfRotrCcrY/BFBgyA4TUOu438kLS5TKAgrvdPToktYBig9aCFo5vz66Pg/KOfEORXKlgwBNHI7GdcARWaPVTaneOYggQYITo3a2gttJOJzTxQNZI0QWytsDtZZbS+LdSqgSNd669Kp1Ag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SBxIoWzt8NIVTLrvW4KLHqb/vkRmEjiCqV7Czk28Eqo=;
 b=dzH4QpbohsHPSZghuf8QE6mEurhturgLfxpaHrco2m8RfEcvSJOZz9ORygTgFE8Zgam7NoNa6vQEvJ3LPynyH45xq/iHRW+/j33XGaHq1Tbt+fWzMeTIc9TFFT/NMYG5ddS21MJHpGxqRQcSsZYD8N0jEBylMvXo54MJR6ccU5w=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c1d4822d-ff74-e12b-82bb-13ffbe6a6122@citrix.com>
Date: Wed, 15 Mar 2023 09:45:02 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] console: use more appropriate domain RCU-locking function
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <c5aab97e-08d8-c5fb-0898-6f414fdd7a25@suse.com>
In-Reply-To: <c5aab97e-08d8-c5fb-0898-6f414fdd7a25@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO3P123CA0015.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:ba::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DS7PR03MB5655:EE_
X-MS-Office365-Filtering-Correlation-Id: 827a8de3-85ca-4e9b-929c-08db2539f671
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cK+jnXGlPvR8Iw4fix99DAi9V54QtVYSmc5VlybA6B8TW4B2F/h4EPaPGhDULMjkZb6saZhHMwEMBjdUZbUPMaMfQnqJVG+aErPKnXOrmaeCby9JANtvcHbzZtiWtpsCbIsSm5thh2xFCMKOdyBUgyT2gH1l+5re/+oDhsEmP/sEuPJhrBBCaMkRyul9BXPq2XQpnNTjcRoeffTwqtKRKm9QP6w19HwzN/fMStYLXrjgIbIPq9RRd7g01XtUeWSRFNBbOtREnCLChgACGd6rQ2gaM70HqHslvLA2wI9tZy3wNFKTdQT7j4K00Ra5tcVQ0uIVFI4J84gVG/DkHmhbbly6nChdDWwqHuAVVeju2GWYb0wDM6OfA0J2pfR+ByZStBXxH8Vc00MT0ez4NwPEmg0dPAs9M2HnoyHEENxMasVmb167qPdaSLF/ymU7Du90adzJ13VICNVun7IqxInkQOaQF5ev6rE7CljwVNWy/qUVQbcr60JGoncuQHIr42OnqYptvloQZl55dkhPBKJ58U6VXhjK2vfvo6cgxDBctDhxnMzbtSimuq8nI8m4UJvvvtCw1Luq843Tdv9MbTSJGO3Kr/CsUJ729j/zj6GHrDUPN8WLGNuGKbUXx6TguFCBjx4wqVHC44/FAcOm7XwE5g1ZgNiFN06323MWeh4KLrniQ8SWfQtS3lVJ7+uEFeX5WO77S4U4LSYYzs8ui5uWuz11zcGJjPs5iOrjbcnIUOk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(366004)(346002)(136003)(396003)(376002)(451199018)(478600001)(83380400001)(186003)(6666004)(6486002)(8676002)(2616005)(6512007)(6506007)(53546011)(110136005)(54906003)(66946007)(316002)(31686004)(26005)(66899018)(66476007)(66556008)(4326008)(41300700001)(8936002)(4744005)(5660300002)(38100700002)(82960400001)(2906002)(36756003)(31696002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YnB2SnBxeUpQZkdDbGRrWHNWTkxGWENTM2c1UmxxUnE5NGEycVNlYmVFWGMx?=
 =?utf-8?B?UUw0djdMcDJBM2E1dTYrUVVHQVJOY0NXbFF5VU8wUFpINFZ3T0lNYm1NSHY3?=
 =?utf-8?B?bkhGdHJTeG1ZTzRwd1lPVEdSMDRlY1VXajN6TnBsTFVJTUplMDVSdGZCWlBQ?=
 =?utf-8?B?MnlCVEg1WWhXT1BxUWlGV2I1VjFiK3ZHNDc4bElyWmxyNDMvOEhqaEJVQm00?=
 =?utf-8?B?NHlVV09HbUhGMXZmZzhMSUpjS1hVanlBSGFjaWw3UmF5aGtxNnRtMUthUWVS?=
 =?utf-8?B?dXk3YmgyV0hyc1dlYWFBTUFOcTliTHcwNndxRVA1R3NnOUNSMHJCbWJxOUlS?=
 =?utf-8?B?bTVVQk1WZWpwcGs2N0gwVnd3b2NGTWt0T2lYS2RWZzcyOFlFTW1FQS9tcmRt?=
 =?utf-8?B?RTd0VTNPMHFvZTJtNE9LZ3ZoK0hscGpVem5wOTBibGRab1lsQldBeXRaVm1O?=
 =?utf-8?B?NEplRkRBc0thclV1UTIwL2hzWFBRdmRVNG1SamhSdjdQQmxWeGFHb3k3NXBW?=
 =?utf-8?B?RzJFVlFZWC95c3NRZ0gzS0NCbHNrZ2tDVk0xM2c4bjBndERQU29PZjFQeFly?=
 =?utf-8?B?UGg4cm5iV2pzU0VRbUZwWmU5ck16MHF1NGF3Q2UvZTVaMlk4RGpqRzMyMjJO?=
 =?utf-8?B?SkJDZnVzWGV2UXY1cWptR0ZReS9DUmc0b2VZMElQd1BqVDF0eHhtQ3VwK2Er?=
 =?utf-8?B?azF2OGI3dzdrVmNmYVlMMHV2SVRjUmVjTVNBaXN3M2g4RWpCWk5SV3dNaW95?=
 =?utf-8?B?OFZrcGVDZDJhLy9ZZlpQU2xVVDZYM2hLMGdCYWlOUVVzRFZVM2hnc0FyZTJI?=
 =?utf-8?B?aXFoMFpNVXp2L1ZaSHFRaGE2R3E4dXIvQ2N0R3Mxd0xMRlFTaXpzL0V1Tm9O?=
 =?utf-8?B?SGR1T2l2RnMyMTFQbUc5cTdRR28xZHdpcWd1SEhZK01HYXBpUlFFVDR5MlZ0?=
 =?utf-8?B?aDRXTDdobnA4YjVEOTRhVWExLzNBdnB5WnhvY0dERUszenMwdFNrZXNZL25Y?=
 =?utf-8?B?UDFIYlRGWFAvY21scUI4aDlDdnBmS3lJSXcxeHJGcDYvdGVRaXhhMUhUd3JU?=
 =?utf-8?B?K2dxeElYcktaK0FHZGVSK2ZEdGZYaTcyWWFPaEFJdEd1NXhNSlFvZ1ZzTGhX?=
 =?utf-8?B?NmNJOE5oRmpWcVlGTnVzZ3ArNVdDTGNROXlERlZMRzZiT0JHOWtqWS93TUtv?=
 =?utf-8?B?aDc2SVlaNTJEQnhlc09YK2liY3RLNTJNWGNjSy9BcStld2RMdDlrSmdIUU5j?=
 =?utf-8?B?aXhtNHhMZXM2bUR5QUtuZWlGMlFtUlYybTEzcnZTbnZuMzYvdnpFL2JqSW5S?=
 =?utf-8?B?K1VNSlpJK1JOdUk2ajAwT0JaWHJMSSszVHVJTm93azhyaTF1emljcFVnZnVK?=
 =?utf-8?B?ZGJzUEJVWXdUQWpYRlFMR2NXbHN2U3BSdm5XODlrNGxidG5RL05IQmpkTEUz?=
 =?utf-8?B?ZGgveDdPY1o4STZJZXBsdWlaNlY5VmN0eW14MStoYVA0bW1MM3NFQnhleTY0?=
 =?utf-8?B?NjdJS3R0Sk55dTJIRzBaWEZiSGhaZllKeUJRaFVsRWlzZTh3SFhtL3VmdllI?=
 =?utf-8?B?d0YzamRKRXBOaDlYZmpULy9lUGU4T2hzQ1p2WkNPVk5aTW1NazZYQitEUUE0?=
 =?utf-8?B?cmxldnlveU0vN0RNSVZ4ZFZTS3F2MkduTHJwUUJCb1NwbWZCQ2Q4VjE4NkRk?=
 =?utf-8?B?bzVFRmJnRlFZN1ZaZ1I1N3dwcTIySXFzVi90TUcvSTEvVmZVcTJ3aVZVT1Vh?=
 =?utf-8?B?UFM1KzZKMGJmM1NOcm81dENjb2RDR25KQXF6Qy84VnlybjkvQUlma1hDRWFD?=
 =?utf-8?B?bXI4WU5HQVhqUDVlbHlKbENhTG11aGxmSUk2UDFOSzZUVmlsU1FhWVdNVUNE?=
 =?utf-8?B?MVAvMDdBMXpMZmRZMlRIbEFKSG83a2ZHVXZ5elZJd2txbnBBY2RNZ1hHeUpl?=
 =?utf-8?B?bVdHYWczcXp1dlZ1MkkybnpjUVhaTklnRW5FRmNBWS95L2hkdGhvRmJZQnNI?=
 =?utf-8?B?bWl5SlRnai8xT1A3RG1OU05aVWwwSmQ2QUVmUlQxRStUY215aDVGTW9kSFYr?=
 =?utf-8?B?WU51VUVBWWpKUTIxbFNYY0MxMG1IZFZGZWFNWHBVTXZTRGZiUm0vTkQvcDhR?=
 =?utf-8?B?NDRkbHk5WjFpZWxzcXNITGM3QldCTlIrekdjbkV0MVU3UlVibDlvSC95QjF4?=
 =?utf-8?B?MVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	N+NyhkJlIcoAI3fZQRsx9BzVcQQuUvSJHMDOpwAV6O5Zea4qL2hwy1OTuUTjrSdytDCHoor1v1kXSMcuJNkx8Hlp/I3obolqeHJXM5sxhVJcX4pGmylVBjvLA1XKEMmt4keqCA73Vkz9uBu2QYu2prfKgBNXhKdCHPI5iCCzY4E2UZPDXzwvkjJOQ0RcB71NVDFwlRFVBVQGIBs9wKpwCxb9muwMi8ha3KOgrroJLwlHVjb/xEWg/DlEjnFrThlBNFOdXLY8E6gxXjxXtZvAv5Y4anSAbW/QXp007SXe5rkXdy/G1ZRm3irjJH2UCsZ1KH10hOOOMvIdMAF/e5LjIqZGHPpNi9kg8bL5wKKMDhYQsdj21n2xBVA9JOgGG/SW6eyYzsa16Vz4jrb9ZhOWLELsZwBLo87hMHlAKI9udk5XYSl7HcIQbl8Xe+CEHAujDCJ0ODNCgizm+IH24YPdJLDXT9SHqS3ruprbMtrNUYVB95Ee+CWg9tgJKY5/RmMEmbZWrMrQXUv6I/XSF1GjD2YiBfaTSvms2WAGB+eoNXaK5ltdKLEMioWTClGDBGPFIbUEAAJd037B3IpO+JbXn8qTVGbpy5y5dRa9V+WLwxyeWuI7W0gT5QSqKd1Yn9tO5hSzr3eazQELIOkOdvyKISdUpdTKnV9DuAe4NdlZSd0oI/l4WIXNs/aML++w/xXBgroX6zq90JMuIfkdQEFxkVepOdU7OsG4EsveQvORIL6r2EKtSOUmDHGUZwpzNkMqwb3mMCRCfOpQv5Hcppmy1TXorSMD0q42wA31Tca96OZy3g8wMCXGZG/pI75l7BEBSDm3ZOTJuHa+63iTVNlEVngL1vbeaImHaCcgbQwgKKc=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 827a8de3-85ca-4e9b-929c-08db2539f671
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 09:45:08.3715
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QIYI+SVC/KKzUgW1val8JK+JGnTlBgTWcu/R42YzjtmTpehl9WSS31qkQLkd4fmhnkG0k40ki2+vWxBIYu579wib7HXEXwhkd8y3oiax8Ms=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5655

On 15/03/2023 7:24 am, Jan Beulich wrote:
> While both 19afff14b4cb ("xen: support console_switching between Dom0
> and DomUs on ARM") and 1ee1e4b0d1ff ("xen/arm: Allow vpl011 to be used
> by DomU") were part of the same series (iirc), the latter correctly used
> rcu_lock_domain_by_id() in console_input_domain(), whereas the former
> for some reason used rcu_lock_domain_by_any_id() instead, despite that
> code only kind of open-coding console_input_domain(). There's no point
> here to deal with DOMID_SELF, which is the sole difference between the
> two functions.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 09:50:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 09:50:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510003.786890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcNlu-0004HO-Nv; Wed, 15 Mar 2023 09:50:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510003.786890; Wed, 15 Mar 2023 09: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 1pcNlu-0004HH-L4; Wed, 15 Mar 2023 09:50:14 +0000
Received: by outflank-mailman (input) for mailman id 510003;
 Wed, 15 Mar 2023 09:50: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=/7Eb=7H=tibco.com=clindig@srs-se1.protection.inumbo.net>)
 id 1pcNls-0004FZ-Q5
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 09:50:12 +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 c677c60a-c316-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 10:50:10 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id l1so16685522wry.12
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 02:50:10 -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
 q22-20020a056000137600b002c71d206329sm4113010wrz.55.2023.03.15.02.50.09
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 15 Mar 2023 02:50:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c677c60a-c316-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1678873810;
        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=AJGSTPOHlznlTemasWJCSU2+RGH1E9MkIVTPeCqKgRU=;
        b=kvh7jrYmIznr191Wf1sx6B5hWVEf/XAS/itN0IQSFmp+8ZQqkS04INqOs1dy4UArzD
         QJU6XAB1KRgIkQXJSLC8HmBaQdXd9G2XBs2Vtxy/qwipaM4Nkun6imh8HfMTUJv4N+CD
         4k23yJsrKtooxQod4kO39oz6mjliUTmXgIraQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678873810;
        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=AJGSTPOHlznlTemasWJCSU2+RGH1E9MkIVTPeCqKgRU=;
        b=TJjUVBZhbGYNZIzWXJY+3PBLPDTmANQAiQkZDFHLUEEY4ZJhvyrTI+FduWqxEkIw/l
         bggBsWA5XDJO2iqc0vL4sY3hWboIreKpluCeWV8g/CgEHxsOdE5xncH9EvJt8RRa5hj7
         3W09UukyEGFlGcw8/+utBVfC4o1HYr2oaUVNt77imLtB5gj7dqDfY8Qi6br0RImQCB5j
         XXWPJyE3kHiaBI3bn+otSE3TZ6SwH3+zXYwZGRPH/xfYM3A/kP6f/9V/ClVBkrDOgjXS
         xSsR3ZciJdNSjJaBLSmCQ2qjYPGfIKQ+EyXb1pkOE0vfwpLv0EpkMyi8e4nNp5Jsqvm0
         Bm8g==
X-Gm-Message-State: AO0yUKXq3Vug4k2Q62I/Bx/Yx196NrwsImXGOXmrrErJJtCE2LjwDid/
	lf8+Ke/mURl0jQbjf+4yL0+CSQ==
X-Google-Smtp-Source: AK7set+g0W1hDmGbWKgkQPjPcLiVdX/ShaaOamAIw2w/KjS8eAHjobjs7sNdfL9HdUek15u46adoRA==
X-Received: by 2002:a5d:4ac4:0:b0:2d0:2d4:958d with SMTP id y4-20020a5d4ac4000000b002d002d4958dmr969831wrs.21.1678873810055;
        Wed, 15 Mar 2023 02:50:10 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
Subject: Re: [PATCH v2 08/10] tools: add physinfo arch_capabilities handling
 for Arm
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <20230315090558.731029-9-luca.fancellu@arm.com>
Date: Wed, 15 Mar 2023 09:50:08 +0000
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 wei.chen@arm.com,
 George Dunlap <george.dunlap@citrix.com>,
 Nick Rosbrook <rosbrookn@gmail.com>,
 Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 =?utf-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <5E2CADF7-E092-46F2-80A6-5EADBDB6817A@cloud.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
 <20230315090558.731029-9-luca.fancellu@arm.com>
To: Luca Fancellu <luca.fancellu@arm.com>,
 Edwin Torok <edvin.torok@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
X-Mailer: Apple Mail (2.3696.120.41.1.1)

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


> On 15 Mar 2023, at 09:05, Luca Fancellu <luca.fancellu@arm.com> wrote:
>=20
> type arch_physinfo_cap_flags =3D
> -  | ARM of arm_physinfo_cap_flag list
> +  | ARM of int
>   | X86 of x86_physinfo_cap_flag list
>=20

I notice that other capabilities are split into a list and not kept as a =
bit field. Is this not needed here or am I misunderstanding the =
representation?

=E2=80=94 C=


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 10:10:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 10:10:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510007.786900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcO5J-00078r-G7; Wed, 15 Mar 2023 10:10:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510007.786900; Wed, 15 Mar 2023 10:10: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 1pcO5J-00078k-D2; Wed, 15 Mar 2023 10:10:17 +0000
Received: by outflank-mailman (input) for mailman id 510007;
 Wed, 15 Mar 2023 10:10: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=UsHm=7H=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1pcO5I-00078e-NT
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 10:10:16 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91763cbc-c319-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 11:10:10 +0100 (CET)
Received: from DB7PR05CA0020.eurprd05.prod.outlook.com (2603:10a6:10:36::33)
 by AS8PR08MB6743.eurprd08.prod.outlook.com (2603:10a6:20b:399::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 10:10:07 +0000
Received: from DBAEUR03FT027.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:36:cafe::4b) by DB7PR05CA0020.outlook.office365.com
 (2603:10a6:10:36::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29 via Frontend
 Transport; Wed, 15 Mar 2023 10:10:07 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT027.mail.protection.outlook.com (100.127.142.237) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6199.16 via Frontend Transport; Wed, 15 Mar 2023 10:10:06 +0000
Received: ("Tessian outbound c2bcb4c18c29:v135");
 Wed, 15 Mar 2023 10:10:06 +0000
Received: from bfe09aa73a41.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 86E370D3-1F18-4448-B284-A29863388F7B.1; 
 Wed, 15 Mar 2023 10:09:59 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bfe09aa73a41.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 15 Mar 2023 10:09:59 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS8PR08MB5989.eurprd08.prod.outlook.com (2603:10a6:20b:297::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 10:09:57 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 10:09:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 91763cbc-c319-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RTcTviUQsmE5ow7vwaoTn7NXz4tA6GhwGMHQRYIaWOU=;
 b=HIjEGrKorHYEId0KzsjQ2sUijRYFBqNe3krUlfPrWaalj22+Em1/NpUGKnnaF+hooBCaB/QYSly+R97RRBlZZaTat1M5XbH36nkS7EVhiiLv7xlCHytWeISQv9ztjdbF4zfRUWmGNmmvnaiXRlKZlhoLMug77cp84XEfjp0Pwzg=
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: fac7e597c9abdc3b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GCTGZTdkF8l/hgVnHF5lK1gK8/5I1H2Hfqw7oSBOOQqJ18zYGmVW0P5gkIJ0JIXjBB//lnINGIfcLESk2tYdBuS2OTXGsHNUNo5bz8eeStr7UCwttZAUuP4R9HJgxL7CoWkVPZuZugsGY3LG3RfVDpQfMqIyDrlUYaNmsxgqS0vK2JaJkWnTlo9b7Cw47jPLmsP9LZwKKNDo2a+lFfNio9u6PrGZMhnHvAk7tac7E8C7Cjh8VAocmvzf/O1cPSXkGJ9rO5zU0HvEVYZtK2Hp+VOH0ojje18aZ5X1TSR4JMG9icSkNqtVlXVpO29jN4SaLquX5JC+jJxYWWp7cjcFPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RTcTviUQsmE5ow7vwaoTn7NXz4tA6GhwGMHQRYIaWOU=;
 b=Oq+CinB24yT4Ljv8TukN4nVp1gJ0Y8zBrLAX5s6g5vdx04ZUffCBCdsaJWMkedJleiNINnpKQ0rVV6FPwR9cZEidNAZkJp9WaLXSfXlgkWtOE/WylSgvK35L2cmV4ZUo7vljTIVe+8TojYFc+NrQVMHy3IPxv7aMr5nJ5ARt36cpfuPuJ97fQTNwa5LpGgdj0fd2+XT1+NtHJiJDR/GCfpEu3Xo/s5vviAnh818ZxvUJLWFrf58o3UEizPF2O3sFhUaIprfW8qYZsRN0gA9hhGibrCfUzWRoMT59+aRUQtiSRlUIADzqCDgcg6XQJ5407zM0lwAin+KdmjLe56HgwA==
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=RTcTviUQsmE5ow7vwaoTn7NXz4tA6GhwGMHQRYIaWOU=;
 b=HIjEGrKorHYEId0KzsjQ2sUijRYFBqNe3krUlfPrWaalj22+Em1/NpUGKnnaF+hooBCaB/QYSly+R97RRBlZZaTat1M5XbH36nkS7EVhiiLv7xlCHytWeISQv9ztjdbF4zfRUWmGNmmvnaiXRlKZlhoLMug77cp84XEfjp0Pwzg=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 02/10] xen/arm: add sve_vl_bits field to domain
Thread-Topic: [PATCH v2 02/10] xen/arm: add sve_vl_bits field to domain
Thread-Index: AQHZVx16ntfU6z6LhESDHGZZuH/Oa677kqEAgAALroA=
Date: Wed, 15 Mar 2023 10:09:57 +0000
Message-ID: <C0BF2738-9D1C-467F-A767-BEA4C914EC9D@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
 <20230315090558.731029-3-luca.fancellu@arm.com>
 <a8dabea2-0903-6d3c-350f-127dd9f726ca@suse.com>
In-Reply-To: <a8dabea2-0903-6d3c-350f-127dd9f726ca@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.3731.400.51.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_|AS8PR08MB5989:EE_|DBAEUR03FT027:EE_|AS8PR08MB6743:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ef10c5b-f0b3-4e03-a760-08db253d739a
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:
 SFNQ54abrdIysqxM+seaQw3kxe0jHoVeQmpQQGS3DxSypzHOolZv1OYo065hj9tcck74bDgI4WtGxDfFG7zK4W/CGm3v7Ig7GZqVmw/FYmB5lfpggrDF35uAlruagoR4KuhARacc3XCXIYlHBXYqRjsgp8j6saadhhnkW+fQmgxc3GQWEB7SWfMc/PzVQcytqJYDCbQjWmDge5ZkRrN8anowLuq64HCb1CL7zIHFkbhUHR+lFpOlugWkVR1MXOSu2WigJGzWxY6qBEk3CPWUpPQvvhL+36ihO0hjhMrdK20FDVjsXNOabfk6tUfY3DMwgvyH+1nemPqmCihy23NOn/v9oGgXck9goB3b99c84J4XMv9NfSdDv8/keIsz2accvXGibHIZBXfF1qc2anlyCK4zn1nghis/TOq/t0UlnCtSEZv8GRCwd9bAtfcow5AQ++5RbtgKaIwX4J91AU6OiKpEH5PoxKIOeBesG6h/GU0cyv8Ppy+rZl2m/ppldwY0lvimWE0qawwHlHRpo8TZq50ZjbLW0EDB8g7Xo1tq2bd3QzVcTnGI/i2QYfZQwIoOEXO0k40L5Ca40E2xF5BnroIcUn/S/SAh+0qPp0a8qKUlk/cnCnB9s8zUFXVAS8vvfjufU6ld+T34Edu+mYQ2MiuW/2HG0zZRYUQs6vD/Ge8xF8oyofGsWTP6+2wXYNRbNypXhHXhiu8aGiQYwPzwP6tniyGUb7895/fbazKOvB0=
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:(13230025)(4636009)(366004)(39860400002)(136003)(346002)(376002)(396003)(451199018)(316002)(33656002)(36756003)(54906003)(122000001)(38070700005)(38100700002)(186003)(26005)(53546011)(6512007)(2616005)(6506007)(86362001)(5660300002)(478600001)(6486002)(8676002)(71200400001)(66446008)(6916009)(41300700001)(76116006)(66476007)(8936002)(91956017)(64756008)(66946007)(66556008)(2906002)(4326008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <202412DF08E6304DB64EAE9541FBCC1C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB5989
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:
 DBAEUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9c012896-7f1c-4cee-114c-08db253d6e50
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	moUlc7jCp6gfetBcSeD5hSxH2FCO2XQWH6dnZOwPJw21+yAOkG3qrtv8xHzN1EhsewrBZILNVd17JjtFl0bzfZ5vTJXcQJZitXmvXeci3cq1zI/uLtOGk849nhHiU4szJu5XhxuOEdiP+Gy7zQMLgjlgUBCggqVmg5I30yCf339RanoGngZ+VGk7GszHKMpYApfQ4Q2Ai5TwdwkamioU9OPhOs3s6OPmPj7J3kF7EVNv6cbssusu+fGu5n3qHK8A837hEbKYDrtse8AtPiuI5km8XcG2NGaBID+u+3f+Onk5B/Jfjnp42Qls6dKJnqIgfaTCCBWKKbQTx8d+9FmNo2eQy5WyDZlI9U9TMfakV0RiWpP+bfFeCyUwSOB7uRYebX45jIP1iRbxNtnDLnV96cJT7K0oHD85WzyDzAp30rbJOKFy8zwzqTz68W7rYIPaZRgoe4lorQx3ZwmOpmp3wHqKXb5+7Ac/A0/5knd06JQz1R6DHHMfrCxl4EN28PuImRVpPISO+ObkHu3m9f7Wj5SXgMsmPY1c2iuWniFB0XJLO0zBCj3v7VElghRYJeAvfBuKNo+12uPoVCm6DEIQzRuZdj05IqGfAgdx1F26YGYT29qFZhHwb4GKY9amc1cFBbi8CpwMLMzNPPflM7l2KDjRGqNnIzQ3TF4zQEceCQJy72xlEHTC866tlCbrxi6Fmth6KrmTmoon6ONxQuo3MA==
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:(13230025)(4636009)(396003)(136003)(39860400002)(346002)(376002)(451199018)(40470700004)(46966006)(36840700001)(8936002)(36756003)(33656002)(478600001)(54906003)(316002)(70206006)(4326008)(8676002)(70586007)(41300700001)(2906002)(6862004)(5660300002)(40460700003)(86362001)(356005)(336012)(6486002)(53546011)(6506007)(81166007)(6512007)(26005)(82740400003)(40480700001)(186003)(2616005)(47076005)(82310400005)(36860700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 10:10:06.5648
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ef10c5b-f0b3-4e03-a760-08db253d739a
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:
	DBAEUR03FT027.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6743



> On 15 Mar 2023, at 09:27, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 15.03.2023 10:05, Luca Fancellu wrote:
>> --- a/xen/include/public/arch-arm.h
>> +++ b/xen/include/public/arch-arm.h
>> @@ -304,6 +304,9 @@ struct xen_arch_domainconfig {
>>     uint16_t tee_type;
>>     /* IN */
>>     uint32_t nr_spis;
>> +    /* IN */
>> +    uint16_t sve_vl_bits;
>> +    uint16_t _pad1;
>=20
> Can register sizes be a non-power-of-2 in size? If not, by representing
> the value here as log2(bits) the existing 8-bit padding field could be
> used instead. Sadly, because of it not having been checked to be zero,
> that wouldn't avoid ...
>=20
>> --- a/xen/include/public/domctl.h
>> +++ b/xen/include/public/domctl.h
>> @@ -21,7 +21,7 @@
>> #include "hvm/save.h"
>> #include "memory.h"
>>=20
>> -#define XEN_DOMCTL_INTERFACE_VERSION 0x00000015
>> +#define XEN_DOMCTL_INTERFACE_VERSION 0x00000016
>=20
> ... the need for the bump here. Yet you want to avoid repeating that
> mistake and hence check that the new padding field you introduce (if
> the value needs to remain 16 bits wide) is zero on input.

Hi Jan,

Thank you for your suggestion, just to be sure we are on the same page:

I can store the vector length as VL/128, doing that I can use just 8 bits, =
so
I can do this:

struct xen_arch_domainconfig {
/* IN/OUT */
uint8_t gic_version;
/* IN */
uint16_t tee_type;
/* IN */
uint8_t sve_vl_bits_enc;
/* IN */
uint32_t nr_spis;
[...]

To take advantage of the existing not explicit padding.

Is that what you meant?=20


>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 10:14:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 10:14:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510011.786910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcO8n-0007ks-3I; Wed, 15 Mar 2023 10:13:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510011.786910; Wed, 15 Mar 2023 10:13:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcO8n-0007kl-0I; Wed, 15 Mar 2023 10:13:53 +0000
Received: by outflank-mailman (input) for mailman id 510011;
 Wed, 15 Mar 2023 10:13: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=KrYV=7H=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pcO8l-0007kd-QQ
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 10:13:51 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 13a4766b-c31a-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 11:13:49 +0100 (CET)
Received: from AM5PR0602CA0015.eurprd06.prod.outlook.com
 (2603:10a6:203:a3::25) by GV2PR08MB8271.eurprd08.prod.outlook.com
 (2603:10a6:150:b8::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 10:13:43 +0000
Received: from AM7EUR03FT059.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:a3:cafe::18) by AM5PR0602CA0015.outlook.office365.com
 (2603:10a6:203:a3::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26 via Frontend
 Transport; Wed, 15 Mar 2023 10:13:42 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT059.mail.protection.outlook.com (100.127.140.215) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6199.11 via Frontend Transport; Wed, 15 Mar 2023 10:13:42 +0000
Received: ("Tessian outbound b29c0599cbc9:v135");
 Wed, 15 Mar 2023 10:13:42 +0000
Received: from 4764c5a28733.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4A78E429-E4F6-42FA-A634-F6FC4754B8C8.1; 
 Wed, 15 Mar 2023 10:13:32 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4764c5a28733.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 15 Mar 2023 10:13:32 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DU0PR08MB8277.eurprd08.prod.outlook.com (2603:10a6:10:40f::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Wed, 15 Mar
 2023 10:13:28 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6178.029; Wed, 15 Mar 2023
 10: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: 13a4766b-c31a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wRpgMmHtfGo21spIdbQY9oJWniVK1OXwObo8bi2zSJ4=;
 b=i+dW9Pqtd5nPKKDY8Wpo99WtXqRH1zyqhkWvcfYLFa44DHoebgfTKbz1CwGLarzxP2gbIsMoEA5MQyJj4240D6SXXwseI9ajIzASXpaNgEw5pKjPpZOBBK7rXnLCyxYMOhjIb7uX31opbroOOZl2T7TBIVx+y0RaWoJ/OaocG8c=
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: 84cea6ca90f92f50
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yn5mU3FHFw2VI+tIG/49ut1gRsfwfhK173FdzV48AcmyiNiS5Tp5R2Fc5+QvVCywBbd3vpvZKFM98bwm7QF9eh3tdsrsixnoKBISgBSL6Xq4hGLYnJCoJwDj76M7LJ6pUbGMfFWT6Xcs36sTuYmnrzLPtzgogMlHZGnAkUl/aPjP2qwndAlUwb2m5YWVuf6v4kAS/miPzhtJNnj6+LSpedtmkHi/3Al8KQw4ubRZScM6C34DL00Z6akK3NIEk6UIrFnDraZGwXbjx1hRqykb4illkKc6e+jpZhpfP1JT+eBhL2CdKXtiu4tAYg1YU/w+oB7lcJzTJ7MNgrIuWnzbhw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wRpgMmHtfGo21spIdbQY9oJWniVK1OXwObo8bi2zSJ4=;
 b=AaaH9Zdgn5aJKkJDptjLJlSXelAkF+IX9mkqMjr5lMG+iGRgY0oLu2RRSL6WBxHbRDy8q6DH7+M+4W2/0UaLecCeznBTyXbIOham4BTJEgxsUaJrOjy/U9I3KAwcye0dHO+xLOzWFIvv+j/9JMzX/ebA8w3HJSUAjuH1Ddy+1FkeOZjlEJgTQB5xvYRfQb1/PcD/abZpl+LgZ3dYX1rr14ggDxVRfG/JRCSO+Q0cmhPYHsX7URDFeYrJ/nmCzyjIjfwotbseQXUO3Dcc/TGvsp+qGRE4WzybwxYSsP49IvxTMGIj3CfbZA4LxXhxcAE9HN+tPP3dEi9b+C0RXpcQFA==
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=wRpgMmHtfGo21spIdbQY9oJWniVK1OXwObo8bi2zSJ4=;
 b=i+dW9Pqtd5nPKKDY8Wpo99WtXqRH1zyqhkWvcfYLFa44DHoebgfTKbz1CwGLarzxP2gbIsMoEA5MQyJj4240D6SXXwseI9ajIzASXpaNgEw5pKjPpZOBBK7rXnLCyxYMOhjIb7uX31opbroOOZl2T7TBIVx+y0RaWoJ/OaocG8c=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 20/20] xen/arm: ffa: support sharing large memory
 ranges
Thread-Topic: [XEN PATCH v7 20/20] xen/arm: ffa: support sharing large memory
 ranges
Thread-Index: AQHZRtMi7cJr1K8N4EOHc07/hf6cda77v+AA
Date: Wed, 15 Mar 2023 10:13:28 +0000
Message-ID: <D9FBF922-1941-401B-9794-45641A02FC19@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <5a48b7c7a56b83138932850eb7f94f90604168e4.1677079672.git.jens.wiklander@linaro.org>
In-Reply-To:
 <5a48b7c7a56b83138932850eb7f94f90604168e4.1677079672.git.jens.wiklander@linaro.org>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|DU0PR08MB8277:EE_|AM7EUR03FT059:EE_|GV2PR08MB8271:EE_
X-MS-Office365-Filtering-Correlation-Id: 41aed4b9-cbfd-4bd1-db1a-08db253df43e
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:
 +z65Mzw8bQXHF2IEQamya73RzRlfq+VO2rFNlnNm/dnQANUnWxnaLqjbHOSaIQkuWjbOjNM0S9U6WrYSu5nA8G6q4sJTnFllh4wjmifktLk7qY6OHRaSEg99pl9vAedO+tG8kTpDYc83i/JBc1xrvYqEGAsp6A2x2J4rq4MFilucY7/PGTFXH5cp2Eim1OSMjJRjwpkQq6kTQNnBO24kecpbJE1/1yr9F7WbBJI3yJxJ3JI7BXrBoryguBy0iHpQJWHUCsTL7Id8I116DLJw9302HGh37ek1l9d8dA9wN3Hr3s3kz20kp/eBAzQ4pxR4g32VieO0T5HxI4b9+6RMAKkvGo642I9xBj/QtLEobDS4yCv6x9OLVx4iYm31nGwRjK1TuMbH9kh9k/UKQvKfRkKarbW70Jw5ZH+kv2MU4ZkfEgwsUm/f9aF5bQIdJ7Y4vHgNAeiYTtPk+npwlalhlcjjoASwGrk/RttJotIWTk8sYhH1l5NIiMFG3syDyjhZbUdOPstWB9pd1szWAE/h8aWF9bLrIGDH/b8D1Rc/eMjPG8fKVekX0plHGELi8/EKt3QwwqfOKg1GbbFJ5qurBWzPkg1wI+9avZGPtodu96Fo/qx3jxLahJAl0tt5aip7BC2nJxY6AqXzeTM3j8elrSRP+YX5eNPF8PPjz0Y/LYEFgbZgNU8x6YlYGetdFTxYgbOsDhdOC7rz4CZJJwTynCmz7AjUuRKE7uQBSBnoB8g=
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:(13230025)(4636009)(346002)(376002)(396003)(39860400002)(136003)(366004)(451199018)(36756003)(33656002)(316002)(6916009)(4326008)(6512007)(6506007)(41300700001)(8936002)(186003)(5660300002)(53546011)(2616005)(86362001)(54906003)(71200400001)(478600001)(64756008)(38100700002)(66446008)(6486002)(66946007)(66476007)(122000001)(91956017)(38070700005)(76116006)(2906002)(30864003)(66556008)(8676002)(83380400001)(66899018)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <284E3F0E9E37EC499CCCFDB24497E7F9@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8277
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:
 AM7EUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	bf46a530-df0f-4429-e550-08db253dec25
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qeZet7Z7rfCeLpmdmvKcQ8RdvOTBgIt+GXQP1D6uKe0GenO5TSCPxPOtKu+ub86f+adimKFHgzD9xiM0quMO4HodFxG0RWmaXUtWtW3RXpo5nE3uhEeUufMANIQS6B9WnXpoQ9N6J6UkHRIzGGBXygkdSSv8uIJgA64ppN+MtHEwfihnygs1sYIDH4bwoXQd7S2ojrW7UUnIZXdDE6YKEy5jLY0BsHdU+BWEMQ03TMRoyWj1F73IRWcy0rNa/8A/vbfCJX3vrHvTJqbGrTLWy4yAYRwXavE+1ITSrkkqCscLUVTdMYe0+ptwVth8wds3YUbxqW5HsPQJK5pCjQPGh0N5Q0vDYpp03cFig/E8fd1UlxO/E9yBo/Uc2Tfxr2M+Bo5eAQy45TaQuMyDAfVMmm6nKI6VSK35IKKLCwKFCdfd4Lw/XsqMZ1RXYOgw/q7cihfiA4fcy7Vaj5VSpZVma2d1+PBMOcrfz6aD4XXcMFPISbAV9Ly+k67+Hmhl9ZUJ5EnhUNi8RbKevlQfBslOVOJxeg81Q09W66jakNc4n6/4vgmmSpyIZbr5ayhFxK1um2FPWwaBrRf/yMkPYv8S/O1zjWsMulzxlSYb3c3zIIFpQmifL7afvaMamS3pDJlCO+NPTTkh0BlMU10JfBfUP67g3vbaJSF6joS1SE9sXSoHhKFdv9ZaefatVq/enxaOJbxr6hcIp+Fk9431HNyAwg==
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:(13230025)(4636009)(136003)(396003)(376002)(39860400002)(346002)(451199018)(40470700004)(36840700001)(46966006)(6486002)(2906002)(66899018)(53546011)(6506007)(186003)(6512007)(26005)(82740400003)(2616005)(36756003)(83380400001)(82310400005)(30864003)(478600001)(5660300002)(40460700003)(86362001)(54906003)(316002)(356005)(8936002)(6862004)(36860700001)(81166007)(33656002)(4326008)(70206006)(47076005)(70586007)(336012)(8676002)(41300700001)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 10:13:42.3268
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 41aed4b9-cbfd-4bd1-db1a-08db253df43e
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:
	AM7EUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8271

Hi Jens,

> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wrot=
e:
>=20
> Adds support for sharing large memory ranges transmitted in fragments
> using FFA_MEM_FRAG_TX.
>=20
> The implementation is the bare minimum to be able to communicate with
> OP-TEE running as an SPMC at S-EL1.
>=20
> Adds a check that the SP supports the needed FF-A feature
> FFA_MEM_FRAG_TX.
>=20
> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> ---
> xen/arch/arm/tee/ffa.c | 254 ++++++++++++++++++++++++++++++++++++++---
> 1 file changed, 240 insertions(+), 14 deletions(-)
>=20
> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> index 3557edc455d0..72c0249d8cad 100644
> --- a/xen/arch/arm/tee/ffa.c
> +++ b/xen/arch/arm/tee/ffa.c
> @@ -326,6 +326,7 @@ struct ffa_ctx {
>     uint32_t guest_vers;
>     bool tx_is_mine;
>     bool interrupted;
> +    struct list_head frag_list;
>     struct list_head shm_list;
>     unsigned int shm_count;
>     spinlock_t lock;
> @@ -340,6 +341,18 @@ struct ffa_shm_mem {
>     struct page_info *pages[];
> };

We start to have a lot of fields here.
It might be useful to have some quick documentation
in comment here as some names are a bit generic.
For example "frag_list" does not say much.

>=20
> +struct mem_frag_state {
> +    struct list_head list;
> +    struct ffa_shm_mem *shm;
> +    uint32_t range_count;
> +    unsigned int current_page_idx;
> +    unsigned int frag_offset;
> +    unsigned int range_offset;
> +    const uint8_t *buf;
> +    unsigned int buf_size;
> +    struct ffa_address_range range;
> +};

same here, at a first glance it is not quite clear why
a fragment needs that much info. Some seem to only
be needed during the transaction but do not need to be saved.

> +
> /* Negotiated FF-A version to use with the SPMC */
> static uint32_t ffa_version __ro_after_init;
>=20
> @@ -512,6 +525,36 @@ static int32_t ffa_mem_share(uint32_t tot_len, uint3=
2_t frag_len,
>     }
> }
>=20
> +static int32_t ffa_mem_frag_tx(uint64_t handle, uint32_t frag_len,
> +                               uint16_t sender_id)
> +{
> +    struct arm_smccc_1_2_regs arg =3D {
> +        .a0 =3D FFA_MEM_FRAG_TX,
> +        .a1 =3D handle & UINT32_MAX,
> +        .a2 =3D handle >> 32,
> +        .a3 =3D frag_len,
> +        .a4 =3D (uint32_t)sender_id << 16,
> +    };
> +    struct arm_smccc_1_2_regs resp;
> +
> +    arm_smccc_1_2_smc(&arg, &resp);
> +
> +    switch ( resp.a0 )
> +    {
> +    case FFA_ERROR:
> +        if ( resp.a2 )
> +            return resp.a2;
> +        else
> +            return FFA_RET_NOT_SUPPORTED;
> +    case FFA_SUCCESS_32:
> +        return FFA_RET_OK;
> +    case FFA_MEM_FRAG_RX:
> +        return resp.a3;
> +    default:
> +            return FFA_RET_NOT_SUPPORTED;
> +    }
> +}
> +
> static int32_t ffa_mem_reclaim(uint32_t handle_lo, uint32_t handle_hi,
>                                uint32_t flags)
> {
> @@ -586,6 +629,14 @@ static void set_regs_success(struct cpu_user_regs *r=
egs, uint32_t w2,
>     set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, 0, 0, 0, 0);
> }
>=20
> +static void set_regs_frag_rx(struct cpu_user_regs *regs, uint32_t handle=
_lo,
> +                             uint32_t handle_hi, uint32_t frag_offset,
> +                             uint16_t sender_id)
> +{
> +    set_regs(regs, FFA_MEM_FRAG_RX, handle_lo, handle_hi, frag_offset,
> +             (uint32_t)sender_id << 16, 0, 0, 0);
> +}
> +
> static void handle_version(struct cpu_user_regs *regs)
> {
>     struct domain *d =3D current->domain;
> @@ -955,6 +1006,8 @@ static int share_shm(struct ffa_shm_mem *shm)
>     paddr_t last_pa;
>     unsigned int n;
>     paddr_t pa;
> +    bool first;
> +    int ret;
>=20
>     ASSERT(spin_is_locked(&ffa_tx_buffer_lock));
>     if ( !shm->page_count )
> @@ -994,13 +1047,23 @@ static int share_shm(struct ffa_shm_mem *shm)
>=20
>     tot_len =3D ADDR_RANGE_OFFSET(descr->mem_access_count, region_count,
>                                 region_descr->address_range_count);
> -    if ( tot_len > max_frag_len )
> -        return FFA_RET_NOT_SUPPORTED;
>=20
> +    /*
> +     * Sharing memory with secure world may have to be done with multipl=
e
> +     * calls depending on how many address ranges will be needed. If we'=
re
> +     * sharing physically contiguous memory we will only need one range =
but
> +     * we will also need to deal with the worst case where all physical
> +     * pages are non-contiguous. For the first batch of address ranges w=
e
> +     * call ffa_mem_share() and for all that follows ffa_mem_frag_tx().
> +     *
> +     * We use frag_len to keep track of how far into the transmit buffer=
 we
> +     * have gone.
> +     */
>     addr_range =3D region_descr->address_range_array;
>     frag_len =3D ADDR_RANGE_OFFSET(descr->mem_access_count, region_count,=
 1);
>     last_pa =3D page_to_maddr(shm->pages[0]);
>     init_range(addr_range, last_pa);
> +    first =3D true;
>     for ( n =3D 1; n < shm->page_count; last_pa =3D pa, n++ )
>     {
>         pa =3D page_to_maddr(shm->pages[n]);
> @@ -1010,12 +1073,34 @@ static int share_shm(struct ffa_shm_mem *shm)
>             continue;
>         }
>=20
> -        frag_len +=3D sizeof(*addr_range);
> -        addr_range++;
> +        if ( frag_len =3D=3D max_frag_len )
> +        {
> +            if ( first )
> +            {
> +                ret =3D ffa_mem_share(tot_len, frag_len, 0, 0, &shm->han=
dle);
> +                first =3D false;
> +            }
> +            else
> +            {
> +                ret =3D ffa_mem_frag_tx(shm->handle, frag_len, shm->send=
er_id);
> +            }
> +            if ( ret <=3D 0 )
> +                return ret;
> +            frag_len =3D sizeof(*addr_range);
> +            addr_range =3D buf;
> +        }
> +        else
> +        {
> +            frag_len +=3D sizeof(*addr_range);
> +            addr_range++;
> +        }
>         init_range(addr_range, pa);
>     }
>=20
> -    return ffa_mem_share(tot_len, frag_len, 0, 0, &shm->handle);
> +    if ( first )
> +        return ffa_mem_share(tot_len, frag_len, 0, 0, &shm->handle);
> +    else
> +        return ffa_mem_frag_tx(shm->handle, frag_len, shm->sender_id);
> }
>=20
> static int read_mem_transaction(uint32_t ffa_vers, const void *buf, size_=
t blen,
> @@ -1092,8 +1177,53 @@ static int read_mem_transaction(uint32_t ffa_vers,=
 const void *buf, size_t blen,
>     return 0;
> }
>=20
> +static int add_mem_share_frag(struct mem_frag_state *s, unsigned int off=
s,
> +                              unsigned int frag_len)
> +{
> +    struct domain *d =3D current->domain;
> +    unsigned int o =3D offs;
> +    unsigned int l;
> +    int ret;
> +
> +    if ( frag_len < o )
> +        return FFA_RET_INVALID_PARAMETERS;
> +
> +    /* Fill up the first struct ffa_address_range */
> +    l =3D min_t(unsigned int, frag_len - o, sizeof(s->range) - s->range_=
offset);
> +    memcpy((uint8_t *)&s->range + s->range_offset, s->buf + o, l);
> +    s->range_offset +=3D l;
> +    o +=3D l;
> +    if ( s->range_offset !=3D sizeof(s->range) )
> +        goto out;
> +    s->range_offset =3D 0;
> +
> +    while ( true )
> +    {
> +        ret =3D get_shm_pages(d, s->shm, &s->range, 1, s->current_page_i=
dx,
> +                            &s->current_page_idx);
> +        if ( ret )
> +            return ret;
> +        if ( s->range_count =3D=3D 1 )
> +            return 0;
> +        s->range_count--;
> +        if ( frag_len - o < sizeof(s->range) )
> +            break;
> +        memcpy(&s->range, s->buf + o, sizeof(s->range));
> +        o +=3D sizeof(s->range);
> +    }
> +
> +    /* Collect any remaining bytes for the next struct ffa_address_range=
 */
> +    s->range_offset =3D frag_len - o;
> +    memcpy(&s->range, s->buf + o, frag_len - o);
> +out:
> +    s->frag_offset +=3D frag_len;
> +
> +    return s->frag_offset;
> +}
> +
> static void handle_mem_share(struct cpu_user_regs *regs)
> {
> +    static uint64_t next_handle =3D FFA_HANDLE_HYP_FLAG;
>     uint32_t tot_len =3D get_user_reg(regs, 1);
>     uint32_t frag_len =3D get_user_reg(regs, 2);
>     uint64_t addr =3D get_user_reg(regs, 3);
> @@ -1128,13 +1258,6 @@ static void handle_mem_share(struct cpu_user_regs =
*regs)
>         goto out_set_ret;
>     }
>=20
> -    /* We currently only support a single fragment */
> -    if ( frag_len !=3D tot_len )
> -    {
> -        ret =3D FFA_RET_NOT_SUPPORTED;
> -        goto out_set_ret;
> -    }
> -
>     spin_lock(&ctx->lock);
>=20
>     if ( frag_len > ctx->page_count * FFA_PAGE_SIZE )
> @@ -1195,11 +1318,41 @@ static void handle_mem_share(struct cpu_user_regs=
 *regs)
>     if ( !shm )
>     {
>         ret =3D FFA_RET_NO_MEMORY;
> -        goto out_unlock;
> +        goto out;

Why is this changed ?
You still have no shm here so call free_sha_shm does not make sense

>     }
>     shm->sender_id =3D trans.sender_id;
>     shm->ep_id =3D read_atomic(&mem_access->access_perm.endpoint_id);
>=20
> +    if ( frag_len !=3D tot_len )
> +    {
> +        struct mem_frag_state *s =3D xzalloc(struct mem_frag_state);
> +
> +        if ( !s )
> +        {
> +            ret =3D FFA_RET_NO_MEMORY;
> +            goto out;
> +        }
> +        s->shm =3D shm;
> +        s->range_count =3D range_count;
> +        s->buf =3D ctx->tx;
> +        s->buf_size =3D ffa_page_count * FFA_PAGE_SIZE;
> +        ret =3D add_mem_share_frag(s, sizeof(*region_descr)  + region_of=
fs,
> +                                 frag_len);
> +        if ( ret <=3D 0 )
> +        {
> +            xfree(s);
> +            if ( ret < 0 )
> +                goto out;
> +        }
> +        else
> +        {
> +            shm->handle =3D next_handle++;
> +            uint64_to_regpair(&handle_hi, &handle_lo, shm->handle);
> +            list_add_tail(&s->list, &ctx->frag_list);
> +        }
> +        goto out_unlock;
> +    }
> +
>     /*
>      * Check that the Composite memory region descriptor fits.
>      */
> @@ -1238,7 +1391,75 @@ out_unlock:
>     spin_unlock(&ctx->lock);
>=20
> out_set_ret:
> -    if ( ret =3D=3D 0)
> +    if ( ret > 0 )
> +            set_regs_frag_rx(regs, handle_lo, handle_hi, ret, trans.send=
er_id);
> +    else if ( ret =3D=3D 0)
> +            set_regs_success(regs, handle_lo, handle_hi);
> +    else
> +            set_regs_error(regs, ret);
> +}
> +
> +static struct mem_frag_state *find_frag_state(struct ffa_ctx *ctx,
> +                                              uint64_t handle)
> +{
> +    struct mem_frag_state *s;
> +
> +    list_for_each_entry(s, &ctx->frag_list, list)
> +        if ( s->shm->handle =3D=3D handle )
> +            return s;
> +
> +    return NULL;
> +}
> +
> +static void handle_mem_frag_tx(struct cpu_user_regs *regs)
> +{
> +    struct domain *d =3D current->domain;
> +    struct ffa_ctx *ctx =3D d->arch.tee;
> +    uint32_t frag_len =3D get_user_reg(regs, 3);
> +    uint32_t handle_lo =3D get_user_reg(regs, 1);
> +    uint32_t handle_hi =3D get_user_reg(regs, 2);
> +    uint64_t handle =3D regpair_to_uint64(handle_hi, handle_lo);
> +    struct mem_frag_state *s;
> +    uint16_t sender_id =3D 0;
> +    int ret;
> +
> +    spin_lock(&ctx->lock);
> +    s =3D find_frag_state(ctx, handle);
> +    if ( !s )
> +    {
> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> +        goto out;
> +    }
> +    sender_id =3D s->shm->sender_id;
> +
> +    if ( frag_len > s->buf_size )
> +    {
> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> +        goto out;
> +    }
> +
> +    ret =3D add_mem_share_frag(s, 0, frag_len);
> +    if ( ret =3D=3D 0 )
> +    {
> +        /* Note that share_shm() uses our tx buffer */
> +        spin_lock(&ffa_tx_buffer_lock);
> +        ret =3D share_shm(s->shm);
> +        spin_unlock(&ffa_tx_buffer_lock);
> +        if ( ret =3D=3D 0 )
> +            list_add_tail(&s->shm->list, &ctx->shm_list);
> +        else
> +            free_ffa_shm_mem(ctx, s->shm);
> +    }
> +    else if ( ret < 0 )
> +        free_ffa_shm_mem(ctx, s->shm);


If there is not error the stuff allocated are kept but i do not see
where/when they would be freed or used.
Could you explain why we need to save all those ?

Cheers
Bertrand

> +    list_del(&s->list);
> +    xfree(s);
> +out:
> +    spin_unlock(&ctx->lock);
> +
> +    if ( ret > 0 )
> +            set_regs_frag_rx(regs, handle_lo, handle_hi, ret, sender_id)=
;
> +    else if ( ret =3D=3D 0)
>             set_regs_success(regs, handle_lo, handle_hi);
>     else
>             set_regs_error(regs, ret);
> @@ -1357,6 +1578,9 @@ static bool ffa_handle_call(struct cpu_user_regs *r=
egs)
>         else
>             set_regs_success(regs, 0, 0);
>         return true;
> +    case FFA_MEM_FRAG_TX:
> +        handle_mem_frag_tx(regs);
> +        return true;
>=20
>     default:
>         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> @@ -1396,6 +1620,7 @@ static int ffa_domain_init(struct domain *d)
>         }
>     }
>=20
> +    INIT_LIST_HEAD(&ctx->frag_list);
>     INIT_LIST_HEAD(&ctx->shm_list);
>=20
>     d->arch.tee =3D ctx;
> @@ -1560,6 +1785,7 @@ static bool ffa_probe(void)
> #endif
>          !check_mandatory_feature(FFA_RXTX_UNMAP) ||
>          !check_mandatory_feature(FFA_MEM_SHARE_32) ||
> +         !check_mandatory_feature(FFA_MEM_FRAG_TX) ||
>          !check_mandatory_feature(FFA_MEM_RECLAIM) ||
>          !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
>         return false;
> --=20
> 2.34.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 10:16:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 10:16:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510013.786919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcOB5-0008LG-Fb; Wed, 15 Mar 2023 10:16:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510013.786919; Wed, 15 Mar 2023 10: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 1pcOB5-0008L9-Cw; Wed, 15 Mar 2023 10:16:15 +0000
Received: by outflank-mailman (input) for mailman id 510013;
 Wed, 15 Mar 2023 10:16: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=UsHm=7H=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1pcOB3-0008Kx-HC
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 10:16:13 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20606.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 68d1d990-c31a-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 11:16:12 +0100 (CET)
Received: from AS9P250CA0021.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:532::19)
 by DB9PR08MB7469.eurprd08.prod.outlook.com (2603:10a6:10:36f::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 10:15:57 +0000
Received: from AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:532:cafe::96) by AS9P250CA0021.outlook.office365.com
 (2603:10a6:20b:532::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29 via Frontend
 Transport; Wed, 15 Mar 2023 10:15:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT017.mail.protection.outlook.com (100.127.140.184) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6199.11 via Frontend Transport; Wed, 15 Mar 2023 10:15:57 +0000
Received: ("Tessian outbound 2ba0ed2ebb9f:v135");
 Wed, 15 Mar 2023 10:15:56 +0000
Received: from 309443b7b54e.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A35A6138-3053-43AC-A1A0-DC1CBE2D0015.1; 
 Wed, 15 Mar 2023 10:15:45 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 309443b7b54e.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 15 Mar 2023 10:15:45 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB8471.eurprd08.prod.outlook.com (2603:10a6:10:405::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 10:15:42 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 10:15: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: 68d1d990-c31a-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M44KkEcudMsCmROre+b8V6tDscpGbXAchGDhT8JJA+A=;
 b=c7yOCo4Kh5v/MOCIWLj7jwo4/SUAEkXA+hm35njIxsO69hFqjGOqDtpJdi879dJSptcmIVwAtVxuA9PZFegqs5ZCigkrzjJ5mG/8sMoui/yyMabICesUVBMfBQq16a8tN7HUnkQNMeturEhgStXkJRXFZuT13bol/P0wHPBO7qw=
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: 4ca5f82133ebf3d9
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DbL8Qiqy21c78+QfHl0yGegRuVy5GX+9XVFZH+g2fZPEB59Y72wK/q8LRUFt/DYDnrBoLSzRClGf7xb/uLMFiDkWZkf+XA0HqoVfSiFWh4YkoOMyNvjmG2lMDlCYfU2WqBQgOO+sG9BLUi2/yDSRneSVVKfW9IvVPstBCSUDan/vT7YQ2Zjj8KjHU6s6dfAMHCGMuk636qBoEAM4iUdMAujkrViD54aicUWxb5ss+rxswchxdIf+7WVKF7khq5Mcggj0G8h8PPhTp9Tk28fLe9MmPYOT2RsXa+W0vjFR5sK0w/DzXqLlWcRe++Jr3MJQ7ZUtvRXPZB7KLAz3GRxN5w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M44KkEcudMsCmROre+b8V6tDscpGbXAchGDhT8JJA+A=;
 b=Iyo0ThSvuqgp7ROgu6/pGHsngYGsgavg5Hfq6JOuTDZ2DS6m2p7gZO5dNeZF2yxEUmhpYuYX6RFQc9iftEopssvrPDbRjC1YLgvOcFkGzbu31suQV1thQRIkZCWOa7rGytwx8qxCcNKZIov5ssobVQJLdEdDUsTPu50zuMxXSDKi1GvL/WkwT7VN0XKte4RKhAq2X0Uj7IbfQy0L5mhkPKTLNJ5CYcFr+qjqvzttuvTD+2TcZWppLpba3jMQ9oxexnkriQSa7jNgkFa/iT/0ooglygFfTqhCsaKp304IU/U6C0jCJ/S+vRj2NVq/X9pXfdkETnV3ccB5S1ebhRGjGg==
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=M44KkEcudMsCmROre+b8V6tDscpGbXAchGDhT8JJA+A=;
 b=c7yOCo4Kh5v/MOCIWLj7jwo4/SUAEkXA+hm35njIxsO69hFqjGOqDtpJdi879dJSptcmIVwAtVxuA9PZFegqs5ZCigkrzjJ5mG/8sMoui/yyMabICesUVBMfBQq16a8tN7HUnkQNMeturEhgStXkJRXFZuT13bol/P0wHPBO7qw=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Christian Lindig <christian.lindig@cloud.com>
CC: Edwin Torok <edvin.torok@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	George Dunlap <george.dunlap@citrix.com>, Nick Rosbrook
	<rosbrookn@gmail.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Christian
 Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>,
	=?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>
Subject: Re: [PATCH v2 08/10] tools: add physinfo arch_capabilities handling
 for Arm
Thread-Topic: [PATCH v2 08/10] tools: add physinfo arch_capabilities handling
 for Arm
Thread-Index: AQHZVx18izX66CL0tEu/wMOArdtab677mNIAgAAHGIA=
Date: Wed, 15 Mar 2023 10:15:42 +0000
Message-ID: <881F66CF-AE08-4C83-AD68-D6AE89BB5D5F@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
 <20230315090558.731029-9-luca.fancellu@arm.com>
 <5E2CADF7-E092-46F2-80A6-5EADBDB6817A@cloud.com>
In-Reply-To: <5E2CADF7-E092-46F2-80A6-5EADBDB6817A@cloud.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|DU0PR08MB8471:EE_|AM7EUR03FT017:EE_|DB9PR08MB7469:EE_
X-MS-Office365-Filtering-Correlation-Id: 65eb6e12-f5b4-41c8-b688-08db253e44a8
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:
 hmyU86obEBG5rQwb+ySm3IRNwCFuI4DHxFKpYQMm2vgWfG82xZiEiW9P2mBY0lgkfpCX6iGeYoiH0f5y8e2SuA2oIBr+U4NpKhMO3QDqPDg/u5sLoYZKdZWM6olVMxdfCKtmLj3rJyJP+qj6VyGd/A0/pUKO3JQ0c9oPjUjOZ5c+GGYhMLgV0+WR44DsGX5TI/TTnSALt5UYFdJwJU7pK6F82VTVoVC/q9tYCNnpFlRHrov+Lb111lnb03WeCXIDTuC03VBbANMH1ol8GVPw5EX+HTrkB1TwmBOBKymvRPWhq4bKaNocvaScb8vLDzo1bQyg4U2W0Mj391jADzBbavriB2lZc6eP8UEECmDHSkUZxfHm1s4uWA23fKR/FEdX9qqG+L72BWQ8iQ9kdbvVD4InpnSa7MhxZILfgXi+0/Lg+JuCVPHjLaBypMCu+CZYjqLW7UFZfisRNaFMCT+o6M0ugCTMt619yvS9AM9YEJAVDTrbnFVnnY9eU4Rkjoa+egtYnV0uk1RcHRfRM9LwjBniG5DEsA8To4VM24kuIcJG80f23cUS7XEwWWH3wBXuXBvW3c4DnBfw/V0wu1scqHtn+4raLLwaSRyVpQsapECKT/spkOO0tLaTI7YX67+UfCgOQZnulZWmq8/EPjrYBlTl4XT5SoJalSXDRwuKE1Mkv3ClTKu2BpNlcvQ/Tnzo3qaOOBRtIKeAfM0Bya72ItrFAgFlWaSHEcMIOBEQT9w=
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:(13230025)(4636009)(396003)(136003)(366004)(39860400002)(346002)(376002)(451199018)(6486002)(66946007)(66476007)(66446008)(76116006)(64756008)(66556008)(478600001)(33656002)(71200400001)(26005)(36756003)(6512007)(122000001)(6506007)(8936002)(38070700005)(41300700001)(2616005)(7416002)(316002)(5660300002)(91956017)(8676002)(4326008)(6916009)(53546011)(186003)(86362001)(83380400001)(54906003)(38100700002)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <8941441413F57F4DA927D264A8561460@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8471
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a02392cf-431e-4dac-7fc5-08db253e3bb3
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9UEIKW1nhf+NRGuioEaAS4eZhLo5W4QtmsPsINl3KVIJX/WqTFbXJeT5bO3zjVtuKJsZr2Inzop83gPkCAZ1/uio/SByUtsb5+f7eV7esTQOIm0O9g6edgWwqVGpqt79olJBvttmHUp8gvUEQ5C3EI7l2+1FAfaKn6a8fi/1uY43wVNaGKQam7puU5lQ2YK+J16Se5jcz5A2++2vVoa7OpJidv4ahxuLXhbZnmj0TVCW8EnURTHEtYQ2LIYHKZ+u25mhHJuNj2gMFG7DLkHmOEY62jrvXa8mHMUXyvevyHt0J+C5S0Cy9HKZmjpgEY7hWMPxtWVLBOH+0lJBkg3LYPa8xeysIOEv7zp14jeGfadsJifhTHU8bC7RwOt139kMm2JNsAbAPyXgV8gO6ZQC4Y911zE0nxuKEeetFfwSnuAWkUIuXY2N+egcBNZWsS0h/MLkNFre5TwAHNK8kwUQYUsKkwwLERQyihK1s7xycyeJNpRZSJTYYRf3v/BJ8YEGSKr0723aLV96INITXCbhadgDAcbBWiviS/uNigR6BTjRE8H/V3VUZTH7Phc1HL8iBE1a3sS5lE+AlYNcyzcJFzTL92N0hQbfb2/uTkFt6lAlz4aoOke+vECqv6MA0vsk1erBaZ0s8oZEtvdjlueG49spLsXdhU8/W0TWg81oqrKTGZDgvZRiOIsSzsTJcqA9zzL1Sk9bwFvZ1O2yGiwQkA==
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:(13230025)(4636009)(136003)(396003)(39860400002)(346002)(376002)(451199018)(36840700001)(40470700004)(46966006)(6486002)(2906002)(36860700001)(2616005)(107886003)(36756003)(26005)(40460700003)(6506007)(6512007)(478600001)(53546011)(8936002)(5660300002)(33656002)(6862004)(82310400005)(54906003)(186003)(316002)(40480700001)(41300700001)(336012)(86362001)(356005)(4326008)(47076005)(70586007)(83380400001)(70206006)(82740400003)(8676002)(81166007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 10:15:57.2539
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 65eb6e12-f5b4-41c8-b688-08db253e44a8
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:
	AM7EUR03FT017.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7469

DQoNCj4gT24gMTUgTWFyIDIwMjMsIGF0IDA5OjUwLCBDaHJpc3RpYW4gTGluZGlnIDxjaHJpc3Rp
YW4ubGluZGlnQGNsb3VkLmNvbT4gd3JvdGU6DQo+IA0KPiBBY2tlZC1ieTogQ2hyaXN0aWFuIExp
bmRpZyA8Y2hyaXN0aWFuLmxpbmRpZ0BjbG91ZC5jb20+DQoNClRoYW5rIHlvdSwgSSBtaWdodCBu
ZWVkIHRvIGRyb3AgdGhlIGFjayBpbiB0aGUgbmV4dCBzZXJpZSwgYmVjYXVzZSBJIG5lZWQgdG8g
cmVuYW1lDQphcm1fYXJjaF9jYXBhYmlsaXRpZXMuaCB0byBhcm0tYXJjaC1jYXBhYmlsaXRpZXMu
aCwgdW5sZXNzIGZvciB5b3UgaXMgb2sgdG8gcmV0YWluIGl0Lg0KDQo+IA0KPiANCj4+IE9uIDE1
IE1hciAyMDIzLCBhdCAwOTowNSwgTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0uY29t
PiB3cm90ZToNCj4+IA0KPj4gdHlwZSBhcmNoX3BoeXNpbmZvX2NhcF9mbGFncyA9DQo+PiAtICB8
IEFSTSBvZiBhcm1fcGh5c2luZm9fY2FwX2ZsYWcgbGlzdA0KPj4gKyAgfCBBUk0gb2YgaW50DQo+
PiAgfCBYODYgb2YgeDg2X3BoeXNpbmZvX2NhcF9mbGFnIGxpc3QNCj4+IA0KPiANCj4gSSBub3Rp
Y2UgdGhhdCBvdGhlciBjYXBhYmlsaXRpZXMgYXJlIHNwbGl0IGludG8gYSBsaXN0IGFuZCBub3Qg
a2VwdCBhcyBhIGJpdCBmaWVsZC4gSXMgdGhpcyBub3QgbmVlZGVkIGhlcmUgb3IgYW0gSSBtaXN1
bmRlcnN0YW5kaW5nIHRoZSByZXByZXNlbnRhdGlvbj8NCg0KSGVyZSBJIG1pZ2h0IG5lZWQgc29t
ZW9uZSB3aXRoIG9jYW1sIGtub3dsZWRnZSwgYmVjYXVzZSBvbiBhcm0gbm93IGFyY2hfY2FwYWJp
bGl0aWVzIGlzIG5vdCBhIGJpdGZpZWxkLCBJIGhhdmUgdXNlZCDigJxpbnTigJ0gaW5zdGVhZC4g
TXkgdW5kZXJzdGFuZGluZw0KaXMgdGhhdCB0byBnZW5lcmF0ZSBhIGxpc3QgdGhlcmUgbmVlZHMg
dG8gYmUgYml0cyBzZXQgaW4gdGhlIGZpZWxkIChJIG1pZ2h0IGJlIHdyb25nIHRob3VnaCkuDQoN
Ck1heWJlIEFuZHJldyBvciBBbnRob255IGNhbiBndWlkZSBtZSBiZXR0ZXI/DQpJIHVuZGVyc3Rh
bmQgdGhhdCBBbmRyZXcgaXMgbm90IHJlYWxseSBoYXBweSB3aXRoIHRoaXMgd2F5IHRvIGhhbmRs
ZSwgYnV0IHRoaXMgaXMgb25seSB1bnRpbCB3ZSBoYXZlIGEgcHJvcGVyIGZyYW1ld29yayBmb3Ig
dGhlIGNhcGFiaWxpdGllcy4NCg0KPiANCj4g4oCUIEMNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 10:40:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 10:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510018.786930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcOYB-0003oD-FT; Wed, 15 Mar 2023 10:40:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510018.786930; Wed, 15 Mar 2023 10: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 1pcOYB-0003o6-CX; Wed, 15 Mar 2023 10:40:07 +0000
Received: by outflank-mailman (input) for mailman id 510018;
 Wed, 15 Mar 2023 10:40: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=UsHm=7H=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1pcOY9-0003UB-32
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 10:40:05 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2062c.outbound.protection.outlook.com
 [2a01:111:f400:fe16::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd654344-c31d-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 11:40:02 +0100 (CET)
Received: from DUZPR01CA0073.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:3c2::11) by PAVPR08MB9697.eurprd08.prod.outlook.com
 (2603:10a6:102:31c::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 10:39:59 +0000
Received: from DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:3c2:cafe::74) by DUZPR01CA0073.outlook.office365.com
 (2603:10a6:10:3c2::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26 via Frontend
 Transport; Wed, 15 Mar 2023 10:39:59 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT037.mail.protection.outlook.com (100.127.142.208) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6199.16 via Frontend Transport; Wed, 15 Mar 2023 10:39:58 +0000
Received: ("Tessian outbound b29c0599cbc9:v135");
 Wed, 15 Mar 2023 10:39:58 +0000
Received: from 47482491de13.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4F4A9BC7-F21B-48AC-B959-A97710ACB618.1; 
 Wed, 15 Mar 2023 10:39:52 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 47482491de13.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 15 Mar 2023 10:39:52 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS2PR08MB9474.eurprd08.prod.outlook.com (2603:10a6:20b:5e9::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 10:39:50 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 10: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: bd654344-c31d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/lkQ7hzZ/m7eh9ldF7z3nmWlsm1gjaO5gj8a8zhvMkk=;
 b=tWlJvz4gjUEzNWi7sIwpDAUfxGiB81KZCRD0i5rzAkNSr+y91crCyDoY24or8slJR58lQBN/zOxxBU9HCbVhTvR7lZkai/rQExFRzEfZE2ppVdbHLK5p2nDaz2b5BT/DrDzrksG1TmGSYH2wtJyRjWcQ2LECb72uMjs9tbVNT/Q=
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: 25de4ae6de61e2d1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n74yPV9th+JcYktXLwz79TG0ZzrL4O305jgOe2EVygczJWVpXNApVjGPn8C+rlbLj6R/QVZFcGDNMdOb2rSdeXD6t+SjCBVUHoCUJ/2gUDwOzRU241Tl+qR8A7CD4GiPmnaVIns6fwL7GXLoZemsGk1Awx3dk0bR3/rInIMfKpeE1hoHhXaSdukWdqp0NjKpOsrmMvKoNIX+rG/GCi6k3BTjhK/N4shi7nH9VkKR9OJC9mcWBZ37aoQ1JLkfFz/AQWtYdbMeFNdxUBWFufxWjEBAeaWj+NRkQ41qsxtPESkthZNGHXe9PCaNnvJZC4HAi9U6515SIK3yipKq+bRKrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/lkQ7hzZ/m7eh9ldF7z3nmWlsm1gjaO5gj8a8zhvMkk=;
 b=D337B6/KljH8oxDaMOlIXoRMi6HUEakInzFv/0VgQhPTmQ4sEzH4tjXXCV9CszyznvtqngZJI8UKY5QkQe03lxQBdZeO8mQyot5oKMME959thWdHRg1d+0E2cydFgBA9YYAqBgmVpbF4toT5D1G9zitLcSY60IyUVLjS4dYwtB1koo7AAlmlmRUBk4qAmh9M+q/Smx6s6sLQ+d4Nq/6KVFPq5SBeHR0Y/NTtfRAPZTnjLlbpPXxGsc4+mF/96L/ITPH2q5sBc5Pgvmszxp6sewGzFeSujFKH1pP3KN4M05em4MPND9gOoQpJWP1PjbDojhem/4lbJjaRxhedCLVbfQ==
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=/lkQ7hzZ/m7eh9ldF7z3nmWlsm1gjaO5gj8a8zhvMkk=;
 b=tWlJvz4gjUEzNWi7sIwpDAUfxGiB81KZCRD0i5rzAkNSr+y91crCyDoY24or8slJR58lQBN/zOxxBU9HCbVhTvR7lZkai/rQExFRzEfZE2ppVdbHLK5p2nDaz2b5BT/DrDzrksG1TmGSYH2wtJyRjWcQ2LECb72uMjs9tbVNT/Q=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 07/10] xen/physinfo: encode Arm SVE vector length in
 arch_capabilities
Thread-Topic: [PATCH v2 07/10] xen/physinfo: encode Arm SVE vector length in
 arch_capabilities
Thread-Index: AQHZVx2Hf4sdBuYhokaIxQfgAUOzUa77lnqAgAAQLoA=
Date: Wed, 15 Mar 2023 10:39:50 +0000
Message-ID: <0796E8D4-A5A2-4319-942B-C25B54D054C6@arm.com>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
 <20230315090558.731029-8-luca.fancellu@arm.com>
 <29cf7623-688a-4b88-c684-cf195d0626dd@suse.com>
In-Reply-To: <29cf7623-688a-4b88-c684-cf195d0626dd@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.3731.400.51.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_|AS2PR08MB9474:EE_|DBAEUR03FT037:EE_|PAVPR08MB9697:EE_
X-MS-Office365-Filtering-Correlation-Id: 1596f424-75c8-49d8-3041-08db25419ff9
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:
 oVLR2OHKDP/qyUHk5t1XJAYv0FmFGoVSTB5MLqTyIWG5gecNCNUJIHSsdN9y0MgWyh/1PglscYfglqcot/8LGuqn1fqlEcubmWbM1OtS05xhnKxB4FvTfokuNSrcWRq+Gt9FLfn6I9uaV/LYab3eg+dq2JvFAXpfU9m/Z3XBvYyWH2Ax7NvDlwEKxOgb89/9eDoK2chHl7O/xYquBT6VXkwUt9tVH8hClSpj0NTfDFlVBSFFYMtUSuZkGt2Fm+2XOntTI2s//Kqnc4El3nrHhrhnoM4LNqy3/KlV9CNUCe/BPtAzeLpaH9XUq7moL+3OIPqXZOShR5MY/Sjiw3wyGu55S0xdJ6s7pkaOxv3b3SRpo7YPw3zPn8+p8NrvP8LfwVEPFjnJSkzoZVw9zFvJDdqWyzc9z9qWSfN6yK+sPo2Hs7KQObrbiqbrXeUyGdn+V17OIiH0/QoCFD2jt6noOu8O6c7HRzzVsYe293hsiBaFtfBZoSYZ89tL4Z0bPf5XAm2nqpAqFPEuHrO3wI0c1VFBv/0+5rSelR/Yz4a3SzpPqKNdVYZp1GWXusnPvJDR9yGyIzqrAxo/BslGspzB01y7Mcpn1EtqrqunXZNKlILj6zG7Hm5no9EPA0lqqY6ISGw0KmYU4qBN3tTACP6Qq5GMsNJ6+Y2np6DnCxKrp+fQEH+iEVNR5XqTdl6yHIMRWpVcgGs3PhzntoUi2hQH+EF1dWrTTUfRVWYYul5FRnY=
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:(13230025)(4636009)(396003)(39860400002)(366004)(346002)(376002)(136003)(451199018)(86362001)(36756003)(33656002)(38070700005)(4326008)(41300700001)(8936002)(6916009)(5660300002)(54906003)(66556008)(64756008)(478600001)(66946007)(91956017)(66476007)(76116006)(316002)(66446008)(8676002)(2906002)(83380400001)(38100700002)(122000001)(53546011)(6486002)(6506007)(6512007)(71200400001)(26005)(186003)(2616005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <D6D9EDC9C840924BBA5B341FC5E4799A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9474
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	736d8b1d-b8f3-4a26-e2e7-08db25419ad7
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1Vl2sli3d5zIuofiAP0V39FQR5Q3KgdWtj5f1+hk9yqPMSIne25CyNH2+hp0jnzC+JhyjjNJUbXkSQWB76LGuMArSi1wvLVm4WZRDmZb9uuv1j8r0KnufCgBP+XykRAfBtFvHQKpezecoGoPwLpevvBLLOonNqSYKFZEmpNNXegN6viRorBuRUfw6UwhbPsgRhF3gKceevkfoAa82vVQ+df7Bi18TQUfFgogcB5LfQMh6pj0fUIJ0QcYVh/7fUQ9S+M8ao5sAs7XeX2hfv0pQsLZteHR5MNU1b3K2/ZiIXNoTQOjE29fvDa+0G6qljI+8Xdx8FCgCW2y3Go2N7mPpYEq2LwIx2/X/CukECVioJ+Pr/JTKJe1dYQ68W2pxNrvVYiOho8eBCmYLohuB4SoV7ooytrIbGzcTeryKbCcCIiWn8ZBNhQWeKvNwuGXcXl592FETaWs2T9PuJjfTTl8yK7Rlr5xY5k6xf/shZArok9w9tiVAAMCxOLPbTlQfbhJ1d5gluhu2Fu20joWo6hqXazsCHWSgUu2Nr1nDSk3AtZIKLhtYVsi6kdk9maGzTIxJg0N+WTZvfoVySN4UrY8Y3eMMrDT/OPwKXCw7z6eUEnxLCGt2etidCbYH1y++JG2Q333rs1b5xDSUQKbgJOAWYSunV5rLYTL5ielHSUI0dGNbocnK87ol8BcgBysLzeJ2cgHYv6lg58MMIX5NdviMw==
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:(13230025)(4636009)(136003)(376002)(396003)(39860400002)(346002)(451199018)(40470700004)(46966006)(36840700001)(336012)(47076005)(54906003)(316002)(40460700003)(36756003)(33656002)(40480700001)(356005)(86362001)(82740400003)(81166007)(36860700001)(53546011)(83380400001)(82310400005)(186003)(6512007)(6506007)(26005)(2616005)(5660300002)(6486002)(478600001)(41300700001)(70206006)(2906002)(6862004)(8936002)(4326008)(8676002)(70586007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 10:39:58.9911
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1596f424-75c8-49d8-3041-08db25419ff9
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9697

DQoNCj4gT24gMTUgTWFyIDIwMjMsIGF0IDA5OjQxLCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMTUuMDMuMjAyMyAxMDowNSwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+IC0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaA0KPj4gKysrIGIveGVu
L2luY2x1ZGUvcHVibGljL3N5c2N0bC5oDQo+PiBAQCAtOTQsNiArOTQsOSBAQCBzdHJ1Y3QgeGVu
X3N5c2N0bF90YnVmX29wIHsNCj4+IC8qIE1heCBYRU5fU1lTQ1RMX1BIWVNDQVBfKiBjb25zdGFu
dC4gIFVzZWQgZm9yIEFCSSBjaGVja2luZy4gKi8NCj4+ICNkZWZpbmUgWEVOX1NZU0NUTF9QSFlT
Q0FQX01BWCBYRU5fU1lTQ1RMX1BIWVNDQVBfZ250dGFiX3YyDQo+PiANCj4+ICsjZGVmaW5lIFhF
Tl9TWVNDVExfUEhZU0NBUF9BUk1fU1ZFX01BU0sgICgweDFGVSkNCj4+ICsjZGVmaW5lIFhFTl9T
WVNDVExfUEhZU0NBUF9BUk1fU1ZFX1NIRlQgICgwKQ0KPiANCj4gVGhlIHNlY29uZCBvZiB0aGVz
ZSBjYW4gYmUgaW5mZXJyZWQgZnJvbSB0aGUgZmlyc3QsIHNvIEknZCBsaWtlIHRvIGFzaw0KPiB0
aGF0IHJlZHVuZGFudCBkZWZpbml0aW9ucyBiZSBvbWl0dGVkIGZyb20gdGhlIHB1YmxpYyBoZWFk
ZXJzLiBGb3IgdGhlDQo+IGNvZGUgdXNpbmcgdGhlIGNvbnN0YW50IHdlIHNwZWNpZmljYWxseSBo
YXZlIE1BU0tfSU5TUigpLg0KPiANCj4gSnVzdCBsaWtlIHRoZXJlIGFscmVhZHkgYXJlIHg4Ni1z
cGVjaWZpYyBzZWN0aW9ucyBpbiB0aGlzIGZpbGUsIEkgdGhpbmsNCj4gdGhlIHJlbWFpbmluZyBz
aW5nbGUgI2RlZmluZSBhbHNvIHdhbnRzIGVuY2xvc2luZyBpbiAiI2lmZGVmIF9fYWFyY2g2NF9f
Ig0KPiBoZXJlLg0KPiANCg0KVGhhbmsgeW91LCBJIHdhc27igJl0IGF3YXJlIG9mIHRoYXQgdXNl
ZnVsIG1hY3JvLCBJIHdpbGwgdXNlIGl0IGluIHRoZSBuZXh0IHZlcnNpb24gYW5kIEnigJlsbA0K
ZW5jbG9zZSB0aGUgbWFzayB1c2luZyBpZmRlZi4NCkFyZSB5b3Ugb2sgZm9yIHRoZSBwb3NpdGlv
biBvZiB0aGUgbWFzayBkZWZpbmUgb3Igc2hvdWxkIEkgZGVjbGFyZSBpdCBzb21ld2hlcmUgZWxz
ZT8NCg0KPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 11:39:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 11:39:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510024.786945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcPTZ-00022e-Ta; Wed, 15 Mar 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 510024.786945; Wed, 15 Mar 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 1pcPTZ-00022X-Qu; Wed, 15 Mar 2023 11:39:25 +0000
Received: by outflank-mailman (input) for mailman id 510024;
 Wed, 15 Mar 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=CVd2=7H=citrix.com=prvs=431d4e183=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcPTY-00022R-6k
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 11:39:24 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04e082d4-c326-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 12:39:19 +0100 (CET)
Received: from mail-dm6nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 07:39:14 -0400
Received: from PH0PR03MB6368.namprd03.prod.outlook.com (2603:10b6:510:aa::21)
 by SA0PR03MB5531.namprd03.prod.outlook.com (2603:10b6:806:bd::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 11:39:10 +0000
Received: from PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034]) by PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034%5]) with mapi id 15.20.6178.019; Wed, 15 Mar 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: 04e082d4-c326-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678880359;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=OnuYNNfduY96gaqGSwJ2LI+je9K+GJ9W5gDxCOSZzNI=;
  b=KaEuLh64pxojPHSqgsa8YucnRPghjV8L6h41SL5i7oaJBz91H+BDdkGI
   1layjWxIu+O+ANuV1fXq4wc0zWX8V4YRaMm9k5YeYZII4kLB9HC1BVNgN
   4J/hIcwXI02unxhER4toS0AWda9Wu79BJ476zZYaQjJ/fhmapNyIKwBdF
   w=;
X-IronPort-RemoteIP: 104.47.58.108
X-IronPort-MID: 99740067
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:RwstRaqAQ1miysA+MdYR6uHp6tVeBmLZZBIvgKrLsJaIsI4StFCzt
 garIBmBMv2MZjHxLd90PY2+8UhS68PQzYdnTAI4ris1Ei5BpJuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFziRNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAAINdiunqe+N+pDhT7A3otUjfO/UIJxK7xmMzRmBZRonabbqZvySoPN9gnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeiraYKFEjCJbZw9ckKwv
 GXJ8n6/GhgHHNee1SCE4jSngeqncSbTCdNNSOXgqKECbFu7mV1UFUIrTViBoLqJmny+ZOBcF
 h0Sw397xUQ13AnxJjXnZDW6p2WJsDYbV9dKF+Q85EeWx8L85wefG3hBTTNbbtEinNE5SCZs1
 VKTmd7tQzt1v9W9WX+bs7uZsz62ESwUNnMZIz8JSxMf5Nvuq511iQjAJv5zQPCdjdDvHzz0h
 TeQo0ADa647iMcK0+C3+A7Bijf1/pzRFFdttkPQQ36v6R5/aMi9fYu05FPH7PFGaoGEUl2Gu
 3tCkM+bhAwTMayweOW2aL1lNNmUCzytaVUwXXYH80EdygmQ
IronPort-HdrOrdr: A9a23:TdAvI6G/LQb6f2wppLqE18eALOsnbusQ8zAXPo5KOGVom62j5r
 iTdZEgvyMc5wxhPU3I9erwWpVoBEmslqKdgrNxAV7BZniDhILAFugLhrcKgQeBJ8SUzJ876U
 4PSdkZNDQyNzRHZATBjTVQ3+xO/DBPys6Vuds=
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="99740067"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AL+xvJYG8XlpoMpItKYBeQm4PC1Rku4TlZTVxi02igbO5uEV5WBGvR3C65f4jxjm45sbjbW4iuu+BpTtLmOxxaYbQuEc43238ktaTvkx6pxJija1q0C0dakHnkqbpJI0txF/eSR7uA9GZ3LcnMrSgr1d+xcHvd0QIBPY7om8tk0kjC83Yi5SZksJMVhD+VDF/oaZshumXOjSqERHEiS2uCGa7VFCz7f//xkFph8ci8HOqF6jAa2AGE0/9FwD5x3f2Zta6luyOZnKEnkdinzHU1lxIukL9UaiXVz7aJPKWBO6r5e/UJl9qJIDBsyJdl3RppXCGfYFQQH1cl8CYnGTnQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r4fRlybSR1bc+I+aNsH+5GVToMfjWaDm+E76t6s/sss=;
 b=P99/A/hyE3vh0WSXxF/ufeVGRP1R4QkDi48MTfuk4ObfUvzqmOLXe2UN8G18ugCTEwnmt3LKR0Vi0npUVeZLXAOIBp5dENNRH6Vn8xrmw80xXWnOK+tCcx/SZwmNp7mrUVN9kr/47n3NYW7rWXDv5EFgmjDmfke2VpDQzVy9ambObGXsXqzaRA9v6lBe6Wu6SlInxmlVfbf8kgFTqt7/zj0N4n/x3a6XvBCR2rtqhkJ+CPaA1CdZ4YLlpb38Tb7iuSaRgvFiMuuq2ORx7iNizmBxbZOiR2P/oJfjqeivCba3gIcZy5RJT6zqtkI1ZwzG/LhGdLsrRAs3hLpRgHH1sA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=r4fRlybSR1bc+I+aNsH+5GVToMfjWaDm+E76t6s/sss=;
 b=RIVJGRYX/fP6WIC4yXHe7JVfDqCfnFaoFJFqz/HSs6yxkozNDuCDorDTUHC/9EZsC2MQ1chzGiOWCY/MkYxhOq9JZrDXqf/hPNDsOoucMXny06bPjOxXFh9DhBI05yVg6ILeyiDGdDCF/DPP84H6iEy2kZOAq9ZY0BKyYBNKWLE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 15 Mar 2023 12:39:02 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Josef Johansson <josef@oderland.se>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: Re: [PATCH 3/3] xen/acpi: upload power and performance related data
 from a PVH dom0
Message-ID: <ZBGuVjyDpuUZ3MnZ@Air-de-Roger>
References: <20221121102113.41893-1-roger.pau@citrix.com>
 <20221121102113.41893-4-roger.pau@citrix.com>
 <407b7c10-ad1f-b6d2-2976-2b297755b2b3@oderland.se>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <407b7c10-ad1f-b6d2-2976-2b297755b2b3@oderland.se>
X-ClientProxiedBy: LO4P123CA0636.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:294::14) To PH0PR03MB6368.namprd03.prod.outlook.com
 (2603:10b6:510:aa::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR03MB6368:EE_|SA0PR03MB5531:EE_
X-MS-Office365-Filtering-Correlation-Id: 480ae2c7-80a1-44e2-7201-08db2549e401
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GI7F4OjBG7StcuNZK6lAHjUvz5lqU10jX/P3WuzVTGiThL8U9+ewi2FA4fay2dZB6NO0PyLYskJGoEA5RlRar1q+zo34g3ch4TVKgYCQQizs6N2waQJ7wZzdD+fx3DadVm8eIMXhPCk+1vhJ0JNmxIaVMYFUcCe/QPb1GXQ9LaZcvuDgKGqV4EF5pmKtupYuAIkg4ISUMdrb+3qEt9Pjo6rIfCUNQ/F5h9up2xQhixosTvEqJo8WHpyjZGoSDeWEB0HqPfZIHy1EY5Ob0vrAWAOw/Xh2w2QiINbxFAEg1O99oHN9Yyq4Oh9nrn+HQkk3KHneo68u3GA30NMwGwYrMndYVjvRBAjh1dN56IDvIpIzx9qPXC+KV/0cQSiOwRTfYD2bZO6ow9TqQy3l+7Q8h2vE+NcDF9xwfleA9TqSltTHOmW3o9z6m8JFppemAmk9msdp+c8zOm74mkTqvO+YexM8g9mDH2Sfr33diQpdQRTRS4bN/G7IT/DW4F1Aa2gRLetf1/IPHS/l3zXavw3uqrpi+XShDT0BH1v9Lv3uT21jqYETwkgize9dMxC80MPtKM9IFgKdwR9Ohr3DQvgo9vTRm27Jrdo4TDptIq1ZcJDjBx1urilKNZpC7ak4cIDp
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6368.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(346002)(39860400002)(366004)(396003)(136003)(376002)(451199018)(85182001)(6486002)(966005)(82960400001)(6506007)(6512007)(53546011)(186003)(9686003)(26005)(83380400001)(6666004)(8936002)(86362001)(4326008)(6916009)(5660300002)(41300700001)(8676002)(38100700002)(66946007)(66556008)(66476007)(478600001)(316002)(2906002)(33716001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c0FObm9DZ1EwaGJOM0I5Q2RXV25iNlRjTlcvM3puSWh2emNSNitCZ28vSXFZ?=
 =?utf-8?B?UVd2am5BWG44VUR5VUlMZ3NCcTFVY3dPSy9JeVowQ25QTkhySktCUnJhQkJI?=
 =?utf-8?B?d1Q4OWoraXo4MFlRQU1Ha0dJUEJOSk5YamFuQ1FzdjBsakZNV1ZNVU1Xclox?=
 =?utf-8?B?TGVXZzZ2Vms2TEhjWkNMcUhhSjRHNklHeHpsUEZMRFhQbDZVbVcvQjBKSVJs?=
 =?utf-8?B?akEzc2IwbjQySjdkNjFSai9SUEdVR2hUcGZwY3FXNFNuQTg2S083L2VUbWFI?=
 =?utf-8?B?YzZITFZxVWxMSWYwVzgwblFGMEg1dXNOWWIrTlYwSkhMQVVYQ2V2WU5yYVQw?=
 =?utf-8?B?Q2Fud2t6ck5QT2xPQ1htMkxqc1l4WU9qWGRXc1hLS3ZRNXdGcXRESzFZMkds?=
 =?utf-8?B?c3FtczZvQkkwNlZlalRwV3BvTzMrWFhjREFpaU5pS1JVdkZZOWo4ZHh0SVhn?=
 =?utf-8?B?dTBwMWwwWHZkVWNLeVU3YkJteGJYa2pBeWVEeWdpUDNKQnBGZXZWc2VmM3E3?=
 =?utf-8?B?KzhlT0ZRQUhHSU5pejFPeEgwTGoyaU5HRnE5dlU1VFkwR3N2dWxyLzNOSWtv?=
 =?utf-8?B?R0ZYS3p5TXcrWS8rV0dTSnh0NjhEWmJ3YTRLbTdhNThpa013VEVXcVdqNlVL?=
 =?utf-8?B?WmROUURraXA4Y0NZUlVjWjlkNWo0azB0R3VZeS9BRHMvb1RMSTZCUHBKb2k0?=
 =?utf-8?B?WkFXbXJBSTU0N2RxaWIxSkRlLzVrRTJ3dDlEc3VORUVXTDJKeVplcTNiVTRG?=
 =?utf-8?B?Q3hPVVExUTRpeERJUnZMc1RucmZBK2FuYUFUYXBuR2lLQlczYVNGYVlZOWVw?=
 =?utf-8?B?OVRYTzVNNHVQY2s4WTE2TnVLTUh3c0E1MHNEaVVjbHRJYU04NnNkUEhXNks5?=
 =?utf-8?B?UHhMYVlOQldDTTZOVUdwREtTWlpxaVdCNnFjMzgveStCSzZ5LzRBcUxyOWpY?=
 =?utf-8?B?VytiUWFsWTkxcUtUVWxId1YwckJaYmFENWNTNWRXZVdEbkdpcm5qdXNjbVZV?=
 =?utf-8?B?NUlGajVBcTkwYk1DT3BsRVpMb1RMQ00yR0gyK3Y3c1NsZmNkWEpSUFJVdmNt?=
 =?utf-8?B?Q05OcHlacll4b0t2MWp3WTJBSlFDUlVuMDZibFA4U0sxN1REdldCRUcwdU05?=
 =?utf-8?B?K2NIK084NzVtc2JQV05adHV5M08ydy9PZDBEYXMvRy93NnAvYzkxd01EVFJZ?=
 =?utf-8?B?cGdHYzNpNGk4NjZHaXpWWldiTDRNaVUwb1VOcGo1dE5CV1AvQ29TT2RhS3Zh?=
 =?utf-8?B?TFU1Kys4Si9HZncwM0loMFRKb2t2MzB0cXdaNmZLTlhjNmswZ0Z2V01nUm1L?=
 =?utf-8?B?bmRjTHZkc0ZwTkR2MnVUWDd1bkZmRXgvaUh6UWUrTlNDRzJkT3d6OUtKaHZU?=
 =?utf-8?B?NU4ySXBqMHFyN0xjejNjU2d0UkplUk9SOW9uSmwxaHVCZmh5RmNnL0ZUZVlB?=
 =?utf-8?B?NS9OYVNtc0tsZW1mQXhCMmVlWDlIRFZQcDJacUFsSUZ1OWwyN243Y3R6eS9B?=
 =?utf-8?B?OFh4REZwU0Z1MUZBUVhVSHFjWUhqamR2N2RhQ0I5UDlwZXI1TzdnV2l0aXN4?=
 =?utf-8?B?SXFCUWhsNUc3bEVEQU14MWlGTVREVFZTQTlDeXcvVFhMd0x0OWVBallMMVk1?=
 =?utf-8?B?ejNoZ3Fva2lZVU1jRDF1amdJdjU4cGllRy94VEJRdEoyamUwSy9sL0FuS1BM?=
 =?utf-8?B?ZWR1T0pEdzBCOG5MUXhKS3ZkRUV6VWt6VXpHcTUrUkJyV21ieURaWFB3eUNh?=
 =?utf-8?B?ZldMTk1uaUc4TDZFQVpNY3A4eis2L0l5NVRKemI5RGtGamkyMEx0Zmx5djU1?=
 =?utf-8?B?WENDaFUxOVREazJET2tJSWE4NFV6dU4xc2hKajBJSEtpWENyV21lSFVxankx?=
 =?utf-8?B?MmpaK1Q0UkRuc1NrTnBFQ1RHaTZ6ckJFZHY0Yk9KL3NDaWZpTFhLMmtNOWtu?=
 =?utf-8?B?bE9iNHQzMDF0alJwQ3VDYzRJTlgxQzBGQ01yRmdJTmxWWVo3RVAxZzJRb29W?=
 =?utf-8?B?UVZPUGpsblhFbzZQQ1Fja2dmZm5JS1BRS0F3cVB1U0R4Sm51MXJ5eHljNFFh?=
 =?utf-8?B?Ym1mWmtQdEpXemFDbjIzbVoybTBUV3kxU3BLSUU0NUt0RTNTOGQ1RjFIWTBE?=
 =?utf-8?B?dXlLMXU0M1BwWlI5WUx5M1dkaUFyWnZiTktDZWRBYmhwcllJYzBCOUZNSzd5?=
 =?utf-8?B?Ymc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	m3bnvX2+0KO1B2JxMjgoMu1sG9lur18OCewqffr8PWQyRYnAmYeSqe58P/XMfg0BVnMUFDdoB4m+S7zz1eo/U/NfmVIGAAFEV/EE7GTym+it90fxHooIEmPQfxP1MtOTT4xxiIjBQPuDszMfGesp2xNPejo/1lZij8IAqUFTpaAJOwrMKfyqHHs6iVJJiWS2pY7gcTZ3R3ucvGOoukFLsToruKL62LzdM7UnOn169bBc3DlcHvBcJUF/wMQ09SkCvbzfAV6SpbquiW2DTnOJ+UGm9IJL/hVUzF8cJ0IBqZPtpn231Q9J+4G1lxeNlxagTwMyhKl3p2zufkdKzs3QHIc1w9Q8IWeOq0mOP8SODn3y7iUT6YRyZwI9sWLwEyDZZ0VUYRz8XWo3W1NP/uzX8Z+m3HMPBtm2R76SpxqyRW1C00TLZcnNO6mwfXFgBZCJQXT4CTOI9QAcCJlXRDBaiOB9xqx50qogGR+koRy4qK+OCC8WpTEr59ysqEh0ICpsHOaYYpA9xm4IPz8Imzgj47yistoiijq+0Zhwyc4v7a4Cv9mrkx0CgBfHuFtPtqVRAerYDYkF2lnPTyaqxDnd43C6MOig9siNApqcyt2vAbGWQosIrlMdr/13DnDwsWBlgE41yeL+ZGqh4iSR4JCoPrHZz6W/DsrTvZtneVZX5e8LaLb4qhyr9XZbs4ebS4HqoP/beZN9nlahcmurofXk2uUmNb3stMtyaVc1FQnhHXXuJp88FV5ua0u2dSHaTcVlz77UyiAiwR+WVT/4osgnH8/rceHeAHCGfjStkFtzxUjQo7LlaX3QwzkEYGBtWcDKw1u4keUXnWJydM7xgLlPZGP3Hw+6uKE/DwAOkTRu8ZAiCYpZ3I5rxOBbSKD14fg/
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 480ae2c7-80a1-44e2-7201-08db2549e401
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6368.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 11:39:09.4479
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7u8/tnOpZzKOjNOc1MigJymw4emFsL96gEUQmG4II6lRNuoeutMxoPCH6du8ZQoT1HSMDdn/M55vFg68u0ZZyg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5531

On Mon, Jan 30, 2023 at 10:10:05AM +0100, Josef Johansson wrote:
> 
> On 11/21/22 11:21, Roger Pau Monne wrote:
> > When running as a PVH dom0 the ACPI MADT is crafted by Xen in order to
> > report the correct numbers of vCPUs that dom0 has, so the host MADT is
> > not provided to dom0.  This creates issues when parsing the power and
> > performance related data from ACPI dynamic tables, as the ACPI
> > Processor UIDs found on the dynamic code are likely to not match the
> > ones crafted by Xen in the dom0 MADT.
> > 
> > Xen would rely on Linux having filled at least the power and
> > performance related data of the vCPUs on the system, and would clone
> > that information in order to setup the remaining pCPUs on the system
> > if dom0 vCPUs < pCPUs.  However when running as PVH dom0 it's likely
> > that none of dom0 CPUs will have the power and performance data
> > filled, and hence the Xen ACPI Processor driver needs to fetch that
> > information by itself.
> > 
> > In order to do so correctly, introduce a new helper to fetch the _CST
> > data without taking into account the system capabilities from the
> > CPUID output, as the capabilities reported to dom0 in CPUID might be
> > different from the ones on the host.
> > 
> > 
> 
> Hi Roger,
> 
> First of all, thanks for doing the grunt work here to clear up the ACPI
> situation.
> 
> A bit of background, I'm trying to get an AMD APU (CPUID 0x17 (23)) to work
> properly
> under Xen. It works fine otherwise but something is amiss under Xen.

Hello,

Sorry for the delay, I've been on paternity leave and just caching up
on emails.

> Just to make sure that the patch is working as intended, what I found when
> trying it out
> is that the first 8 CPUs have C-States, but 0, 2, 4, 6, 8, 10, 12, 14 have
> P-States, out of
> 16 CPUs. Xen tells Linux that there are 8 CPUs since it's running with
> nosmt.
> 
> Regards
> - Josef
> 
> xen_acpi_processor: Max ACPI ID: 30
> xen_acpi_processor: Uploading Xen processor PM info
> xen_acpi_processor: ACPI CPU0 - C-states uploaded.
> xen_acpi_processor:      C1: ACPI HLT 1 uS
> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> xen_acpi_processor: ACPI CPU0 - P-states uploaded.
> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> xen_acpi_processor: ACPI CPU1 - C-states uploaded.
> xen_acpi_processor:      C1: ACPI HLT 1 uS
> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> xen_acpi_processor: ACPI CPU2 - C-states uploaded.
> xen_acpi_processor:      C1: ACPI HLT 1 uS
> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> xen_acpi_processor: ACPI CPU2 - P-states uploaded.
> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> xen_acpi_processor: ACPI CPU3 - C-states uploaded.
> xen_acpi_processor:      C1: ACPI HLT 1 uS
> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> xen_acpi_processor: ACPI CPU4 - C-states uploaded.
> xen_acpi_processor:      C1: ACPI HLT 1 uS
> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> xen_acpi_processor: ACPI CPU4 - P-states uploaded.
> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> xen_acpi_processor: ACPI CPU5 - C-states uploaded.
> xen_acpi_processor:      C1: ACPI HLT 1 uS
> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> xen_acpi_processor: ACPI CPU6 - C-states uploaded.
> xen_acpi_processor:      C1: ACPI HLT 1 uS
> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> xen_acpi_processor: ACPI CPU6 - P-states uploaded.
> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> xen_acpi_processor: ACPI CPU7 - C-states uploaded.
> xen_acpi_processor:      C1: ACPI HLT 1 uS
> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> xen_acpi_processor: ACPI CPU0 w/ PBLK:0x0
> xen_acpi_processor: ACPI CPU0 w/ PST:coord_type = 254 domain = 0
> xen_acpi_processor: CPU with ACPI ID 1 is unavailable

Hm, that's weird, do you think you could check why it reports the CPU
is unavailable?

Overall I don't like the situation of the ACPI handling when running
as dom0. It's fragile to rely on the data for dom0 CPUs to be
filled by the system (by adding some band aids here and there so that
the PV vCPUs are matched against the MADT objects) and then cloning
the data for any physical CPU exceeding the number of dom0 virtual
CPUs.

IMO it would be much better to just do the handling of ACPI processor
objects in a Xen specific driver (preventing the native driver from
attaching) in order to fetch the data and upload it to Xen.  This is
what I've attempted to do on FreeBSD, and resulted in a cleaner
implementation:

https://cgit.freebsd.org/src/tree/sys/dev/xen/cpu/xen_acpi_cpu.c

I however don't have time to do this right now for Linux.

> xen_acpi_processor: ACPI CPU2 w/ PBLK:0x0
> xen_acpi_processor: ACPI CPU2 w/ PST:coord_type = 254 domain = 1
> xen_acpi_processor: CPU with ACPI ID 3 is unavailable
> xen_acpi_processor: ACPI CPU4 w/ PBLK:0x0
> xen_acpi_processor: ACPI CPU4 w/ PST:coord_type = 254 domain = 2
> xen_acpi_processor: CPU with ACPI ID 5 is unavailable
> xen_acpi_processor: ACPI CPU6 w/ PBLK:0x0
> xen_acpi_processor: ACPI CPU6 w/ PST:coord_type = 254 domain = 3
> xen_acpi_processor: CPU with ACPI ID 7 is unavailable
> xen_acpi_processor: ACPI CPU8 w/ PBLK:0x0
> xen_acpi_processor: ACPI CPU8 w/ PST:coord_type = 254 domain = 4
> xen_acpi_processor: CPU with ACPI ID 9 is unavailable
> xen_acpi_processor: ACPI CPU10 w/ PBLK:0x0
> xen_acpi_processor: ACPI CPU10 w/ PST:coord_type = 254 domain = 5
> xen_acpi_processor: CPU with ACPI ID 11 is unavailable
> xen_acpi_processor: ACPI CPU12 w/ PBLK:0x0
> xen_acpi_processor: ACPI CPU12 w/ PST:coord_type = 254 domain = 6
> xen_acpi_processor: CPU with ACPI ID 13 is unavailable
> xen_acpi_processor: ACPI CPU14 w/ PBLK:0x0
> xen_acpi_processor: ACPI CPU14 w/ PST:coord_type = 254 domain = 7
> xen_acpi_processor: CPU with ACPI ID 15 is unavailable
> xen_acpi_processor: ACPI CPU8 - P-states uploaded.
> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> xen_acpi_processor: ACPI CPU10 - P-states uploaded.
> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> xen_acpi_processor: ACPI CPU12 - P-states uploaded.
> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> xen_acpi_processor: ACPI CPU14 - P-states uploaded.
> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> 
> As a bonus, here are the previous debug output on the same machine.

I think the output below is with dom0 running as plain PV rather than
PVH?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 11:47:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 11:47:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510029.786956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcPbP-0003by-Qw; Wed, 15 Mar 2023 11:47:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510029.786956; Wed, 15 Mar 2023 11:47: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 1pcPbP-0003br-NU; Wed, 15 Mar 2023 11:47:31 +0000
Received: by outflank-mailman (input) for mailman id 510029;
 Wed, 15 Mar 2023 11:47: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=sm4b=7H=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pcPbO-0003bl-Iq
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 11:47:30 +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 2977b077-c327-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 12:47:28 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 fm20-20020a05600c0c1400b003ead37e6588so887673wmb.5
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 04:47: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: 2977b077-c327-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678880848;
        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=jaMSQ4iMoTS8FR85L5MdSB+3rm+Ssv8YGed7FpyKj3o=;
        b=UnLWwJ41qgRlsM1Un9v4vR8/92wwDNetkAwXZTxx7+YsxYWKIFAdUErCBZcawccFSm
         qmzyzn2CpM0su1adfAgX1cUrHZmUQhBlV164SCGkRWOQKox2bDDkAsc2JvAEMD2nisAy
         JhLvOwKoBLG+Z6b+GnW60kkVCZ173waq1pQN+UfEITWWiFeXtSDKYaIHkLMdgMYUmANS
         IKIXDg85kgjC7JbZihRFaVPvTXzgj9v+RpcwWrTcTcowMrvfkaJQdp0N2g28mjw1/jYV
         Xg4bzUbo/Z/NynMdwE/zpGcwUgb0sBj2tOwTp4cAp9BKBcYTzY/UEE68zfv6zQOfxwvh
         3Qqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678880848;
        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=jaMSQ4iMoTS8FR85L5MdSB+3rm+Ssv8YGed7FpyKj3o=;
        b=yiFsmrlifk4F/YkgcbGlgln1IuOYVWm7xFE6KBpZBuT2DHUbb/p4X5ARhK8Qzpj0Dl
         5HUy6Oy83HaYcJyaaaO+t33jeY6SAAivLNipJ6A78LeDiJYdZZ+fswnP93LFhdnnnxU2
         o4ZMdXevLSEA88Eiot6I9groZNMDiS+OJUoG8pY6TlNI9P1iwGZRKdggGlbKj3obxSAS
         tA4kpNu/jDkWWVrPiShgv2SE4+7SHWkYhtIfgfbdeDoRtEr0yVs3NyB1gSf5Qyp7Q6+P
         mk4fTh8+snoKSWXC71aptIsBkJ/V5Ab7E3Z/XT8dcWFwjlgG7iu7txsMrV8U772u/23a
         ov2A==
X-Gm-Message-State: AO0yUKVAzp3aDoJIZ1p6LKGnAO8qHpDXV+pmO8PAd4KZ/evT6FDTWMNe
	Y3NWQKZuj7RoMxdfWT00+99vpWTfd1O0RMZEF3ml0A==
X-Google-Smtp-Source: AK7set940brpzCDhq14i+QhYfzax+p+jwu25P1yahl7eIrVJeNnaZkHUvQpZNTSJCQB8TjhHiaepryeWOrYlHI4sZ7I=
X-Received: by 2002:a05:600c:4fcb:b0:3df:97a1:75e2 with SMTP id
 o11-20020a05600c4fcb00b003df97a175e2mr5187573wmq.4.1678880848296; Wed, 15 Mar
 2023 04:47:28 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <5a48b7c7a56b83138932850eb7f94f90604168e4.1677079672.git.jens.wiklander@linaro.org>
 <D9FBF922-1941-401B-9794-45641A02FC19@arm.com>
In-Reply-To: <D9FBF922-1941-401B-9794-45641A02FC19@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 15 Mar 2023 12:47:17 +0100
Message-ID: <CAHUa44FUHKqzSY1V0WV7-=LQEJTUuBFt_hLGsMbtgRsCtPuQTA@mail.gmail.com>
Subject: Re: [XEN PATCH v7 20/20] xen/arm: ffa: support sharing large memory ranges
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Wed, Mar 15, 2023 at 11:13=E2=80=AFAM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Adds support for sharing large memory ranges transmitted in fragments
> > using FFA_MEM_FRAG_TX.
> >
> > The implementation is the bare minimum to be able to communicate with
> > OP-TEE running as an SPMC at S-EL1.
> >
> > Adds a check that the SP supports the needed FF-A feature
> > FFA_MEM_FRAG_TX.
> >
> > Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> > ---
> > xen/arch/arm/tee/ffa.c | 254 ++++++++++++++++++++++++++++++++++++++---
> > 1 file changed, 240 insertions(+), 14 deletions(-)
> >
> > diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> > index 3557edc455d0..72c0249d8cad 100644
> > --- a/xen/arch/arm/tee/ffa.c
> > +++ b/xen/arch/arm/tee/ffa.c
> > @@ -326,6 +326,7 @@ struct ffa_ctx {
> >     uint32_t guest_vers;
> >     bool tx_is_mine;
> >     bool interrupted;
> > +    struct list_head frag_list;
> >     struct list_head shm_list;
> >     unsigned int shm_count;
> >     spinlock_t lock;
> > @@ -340,6 +341,18 @@ struct ffa_shm_mem {
> >     struct page_info *pages[];
> > };
>
> We start to have a lot of fields here.
> It might be useful to have some quick documentation
> in comment here as some names are a bit generic.
> For example "frag_list" does not say much.

I'll add some comments.

>
> >
> > +struct mem_frag_state {
> > +    struct list_head list;
> > +    struct ffa_shm_mem *shm;
> > +    uint32_t range_count;
> > +    unsigned int current_page_idx;
> > +    unsigned int frag_offset;
> > +    unsigned int range_offset;
> > +    const uint8_t *buf;
> > +    unsigned int buf_size;
> > +    struct ffa_address_range range;
> > +};
>
> same here, at a first glance it is not quite clear why
> a fragment needs that much info. Some seem to only
> be needed during the transaction but do not need to be saved.

This struct is only used during the transaction, so this is freed once
the entire memory transaction descriptor has been processed.

>
> > +
> > /* Negotiated FF-A version to use with the SPMC */
> > static uint32_t ffa_version __ro_after_init;
> >
> > @@ -512,6 +525,36 @@ static int32_t ffa_mem_share(uint32_t tot_len, uin=
t32_t frag_len,
> >     }
> > }
> >
> > +static int32_t ffa_mem_frag_tx(uint64_t handle, uint32_t frag_len,
> > +                               uint16_t sender_id)
> > +{
> > +    struct arm_smccc_1_2_regs arg =3D {
> > +        .a0 =3D FFA_MEM_FRAG_TX,
> > +        .a1 =3D handle & UINT32_MAX,
> > +        .a2 =3D handle >> 32,
> > +        .a3 =3D frag_len,
> > +        .a4 =3D (uint32_t)sender_id << 16,
> > +    };
> > +    struct arm_smccc_1_2_regs resp;
> > +
> > +    arm_smccc_1_2_smc(&arg, &resp);
> > +
> > +    switch ( resp.a0 )
> > +    {
> > +    case FFA_ERROR:
> > +        if ( resp.a2 )
> > +            return resp.a2;
> > +        else
> > +            return FFA_RET_NOT_SUPPORTED;
> > +    case FFA_SUCCESS_32:
> > +        return FFA_RET_OK;
> > +    case FFA_MEM_FRAG_RX:
> > +        return resp.a3;
> > +    default:
> > +            return FFA_RET_NOT_SUPPORTED;
> > +    }
> > +}
> > +
> > static int32_t ffa_mem_reclaim(uint32_t handle_lo, uint32_t handle_hi,
> >                                uint32_t flags)
> > {
> > @@ -586,6 +629,14 @@ static void set_regs_success(struct cpu_user_regs =
*regs, uint32_t w2,
> >     set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, 0, 0, 0, 0);
> > }
> >
> > +static void set_regs_frag_rx(struct cpu_user_regs *regs, uint32_t hand=
le_lo,
> > +                             uint32_t handle_hi, uint32_t frag_offset,
> > +                             uint16_t sender_id)
> > +{
> > +    set_regs(regs, FFA_MEM_FRAG_RX, handle_lo, handle_hi, frag_offset,
> > +             (uint32_t)sender_id << 16, 0, 0, 0);
> > +}
> > +
> > static void handle_version(struct cpu_user_regs *regs)
> > {
> >     struct domain *d =3D current->domain;
> > @@ -955,6 +1006,8 @@ static int share_shm(struct ffa_shm_mem *shm)
> >     paddr_t last_pa;
> >     unsigned int n;
> >     paddr_t pa;
> > +    bool first;
> > +    int ret;
> >
> >     ASSERT(spin_is_locked(&ffa_tx_buffer_lock));
> >     if ( !shm->page_count )
> > @@ -994,13 +1047,23 @@ static int share_shm(struct ffa_shm_mem *shm)
> >
> >     tot_len =3D ADDR_RANGE_OFFSET(descr->mem_access_count, region_count=
,
> >                                 region_descr->address_range_count);
> > -    if ( tot_len > max_frag_len )
> > -        return FFA_RET_NOT_SUPPORTED;
> >
> > +    /*
> > +     * Sharing memory with secure world may have to be done with multi=
ple
> > +     * calls depending on how many address ranges will be needed. If w=
e're
> > +     * sharing physically contiguous memory we will only need one rang=
e but
> > +     * we will also need to deal with the worst case where all physica=
l
> > +     * pages are non-contiguous. For the first batch of address ranges=
 we
> > +     * call ffa_mem_share() and for all that follows ffa_mem_frag_tx()=
.
> > +     *
> > +     * We use frag_len to keep track of how far into the transmit buff=
er we
> > +     * have gone.
> > +     */
> >     addr_range =3D region_descr->address_range_array;
> >     frag_len =3D ADDR_RANGE_OFFSET(descr->mem_access_count, region_coun=
t, 1);
> >     last_pa =3D page_to_maddr(shm->pages[0]);
> >     init_range(addr_range, last_pa);
> > +    first =3D true;
> >     for ( n =3D 1; n < shm->page_count; last_pa =3D pa, n++ )
> >     {
> >         pa =3D page_to_maddr(shm->pages[n]);
> > @@ -1010,12 +1073,34 @@ static int share_shm(struct ffa_shm_mem *shm)
> >             continue;
> >         }
> >
> > -        frag_len +=3D sizeof(*addr_range);
> > -        addr_range++;
> > +        if ( frag_len =3D=3D max_frag_len )
> > +        {
> > +            if ( first )
> > +            {
> > +                ret =3D ffa_mem_share(tot_len, frag_len, 0, 0, &shm->h=
andle);
> > +                first =3D false;
> > +            }
> > +            else
> > +            {
> > +                ret =3D ffa_mem_frag_tx(shm->handle, frag_len, shm->se=
nder_id);
> > +            }
> > +            if ( ret <=3D 0 )
> > +                return ret;
> > +            frag_len =3D sizeof(*addr_range);
> > +            addr_range =3D buf;
> > +        }
> > +        else
> > +        {
> > +            frag_len +=3D sizeof(*addr_range);
> > +            addr_range++;
> > +        }
> >         init_range(addr_range, pa);
> >     }
> >
> > -    return ffa_mem_share(tot_len, frag_len, 0, 0, &shm->handle);
> > +    if ( first )
> > +        return ffa_mem_share(tot_len, frag_len, 0, 0, &shm->handle);
> > +    else
> > +        return ffa_mem_frag_tx(shm->handle, frag_len, shm->sender_id);
> > }
> >
> > static int read_mem_transaction(uint32_t ffa_vers, const void *buf, siz=
e_t blen,
> > @@ -1092,8 +1177,53 @@ static int read_mem_transaction(uint32_t ffa_ver=
s, const void *buf, size_t blen,
> >     return 0;
> > }
> >
> > +static int add_mem_share_frag(struct mem_frag_state *s, unsigned int o=
ffs,
> > +                              unsigned int frag_len)
> > +{
> > +    struct domain *d =3D current->domain;
> > +    unsigned int o =3D offs;
> > +    unsigned int l;
> > +    int ret;
> > +
> > +    if ( frag_len < o )
> > +        return FFA_RET_INVALID_PARAMETERS;
> > +
> > +    /* Fill up the first struct ffa_address_range */
> > +    l =3D min_t(unsigned int, frag_len - o, sizeof(s->range) - s->rang=
e_offset);
> > +    memcpy((uint8_t *)&s->range + s->range_offset, s->buf + o, l);
> > +    s->range_offset +=3D l;
> > +    o +=3D l;
> > +    if ( s->range_offset !=3D sizeof(s->range) )
> > +        goto out;
> > +    s->range_offset =3D 0;
> > +
> > +    while ( true )
> > +    {
> > +        ret =3D get_shm_pages(d, s->shm, &s->range, 1, s->current_page=
_idx,
> > +                            &s->current_page_idx);
> > +        if ( ret )
> > +            return ret;
> > +        if ( s->range_count =3D=3D 1 )
> > +            return 0;
> > +        s->range_count--;
> > +        if ( frag_len - o < sizeof(s->range) )
> > +            break;
> > +        memcpy(&s->range, s->buf + o, sizeof(s->range));
> > +        o +=3D sizeof(s->range);
> > +    }
> > +
> > +    /* Collect any remaining bytes for the next struct ffa_address_ran=
ge */
> > +    s->range_offset =3D frag_len - o;
> > +    memcpy(&s->range, s->buf + o, frag_len - o);
> > +out:
> > +    s->frag_offset +=3D frag_len;
> > +
> > +    return s->frag_offset;
> > +}
> > +
> > static void handle_mem_share(struct cpu_user_regs *regs)
> > {
> > +    static uint64_t next_handle =3D FFA_HANDLE_HYP_FLAG;
> >     uint32_t tot_len =3D get_user_reg(regs, 1);
> >     uint32_t frag_len =3D get_user_reg(regs, 2);
> >     uint64_t addr =3D get_user_reg(regs, 3);
> > @@ -1128,13 +1258,6 @@ static void handle_mem_share(struct cpu_user_reg=
s *regs)
> >         goto out_set_ret;
> >     }
> >
> > -    /* We currently only support a single fragment */
> > -    if ( frag_len !=3D tot_len )
> > -    {
> > -        ret =3D FFA_RET_NOT_SUPPORTED;
> > -        goto out_set_ret;
> > -    }
> > -
> >     spin_lock(&ctx->lock);
> >
> >     if ( frag_len > ctx->page_count * FFA_PAGE_SIZE )
> > @@ -1195,11 +1318,41 @@ static void handle_mem_share(struct cpu_user_re=
gs *regs)
> >     if ( !shm )
> >     {
> >         ret =3D FFA_RET_NO_MEMORY;
> > -        goto out_unlock;
> > +        goto out;
>
> Why is this changed ?
> You still have no shm here so call free_sha_shm does not make sense

Good catch, I'll fix it.

>
> >     }
> >     shm->sender_id =3D trans.sender_id;
> >     shm->ep_id =3D read_atomic(&mem_access->access_perm.endpoint_id);
> >
> > +    if ( frag_len !=3D tot_len )
> > +    {
> > +        struct mem_frag_state *s =3D xzalloc(struct mem_frag_state);
> > +
> > +        if ( !s )
> > +        {
> > +            ret =3D FFA_RET_NO_MEMORY;
> > +            goto out;
> > +        }
> > +        s->shm =3D shm;
> > +        s->range_count =3D range_count;
> > +        s->buf =3D ctx->tx;
> > +        s->buf_size =3D ffa_page_count * FFA_PAGE_SIZE;
> > +        ret =3D add_mem_share_frag(s, sizeof(*region_descr)  + region_=
offs,
> > +                                 frag_len);
> > +        if ( ret <=3D 0 )
> > +        {
> > +            xfree(s);
> > +            if ( ret < 0 )
> > +                goto out;
> > +        }
> > +        else
> > +        {
> > +            shm->handle =3D next_handle++;
> > +            uint64_to_regpair(&handle_hi, &handle_lo, shm->handle);
> > +            list_add_tail(&s->list, &ctx->frag_list);
> > +        }
> > +        goto out_unlock;
> > +    }
> > +
> >     /*
> >      * Check that the Composite memory region descriptor fits.
> >      */
> > @@ -1238,7 +1391,75 @@ out_unlock:
> >     spin_unlock(&ctx->lock);
> >
> > out_set_ret:
> > -    if ( ret =3D=3D 0)
> > +    if ( ret > 0 )
> > +            set_regs_frag_rx(regs, handle_lo, handle_hi, ret, trans.se=
nder_id);
> > +    else if ( ret =3D=3D 0)
> > +            set_regs_success(regs, handle_lo, handle_hi);
> > +    else
> > +            set_regs_error(regs, ret);
> > +}
> > +
> > +static struct mem_frag_state *find_frag_state(struct ffa_ctx *ctx,
> > +                                              uint64_t handle)
> > +{
> > +    struct mem_frag_state *s;
> > +
> > +    list_for_each_entry(s, &ctx->frag_list, list)
> > +        if ( s->shm->handle =3D=3D handle )
> > +            return s;
> > +
> > +    return NULL;
> > +}
> > +
> > +static void handle_mem_frag_tx(struct cpu_user_regs *regs)
> > +{
> > +    struct domain *d =3D current->domain;
> > +    struct ffa_ctx *ctx =3D d->arch.tee;
> > +    uint32_t frag_len =3D get_user_reg(regs, 3);
> > +    uint32_t handle_lo =3D get_user_reg(regs, 1);
> > +    uint32_t handle_hi =3D get_user_reg(regs, 2);
> > +    uint64_t handle =3D regpair_to_uint64(handle_hi, handle_lo);
> > +    struct mem_frag_state *s;
> > +    uint16_t sender_id =3D 0;
> > +    int ret;
> > +
> > +    spin_lock(&ctx->lock);
> > +    s =3D find_frag_state(ctx, handle);
> > +    if ( !s )
> > +    {
> > +        ret =3D FFA_RET_INVALID_PARAMETERS;
> > +        goto out;
> > +    }
> > +    sender_id =3D s->shm->sender_id;
> > +
> > +    if ( frag_len > s->buf_size )
> > +    {
> > +        ret =3D FFA_RET_INVALID_PARAMETERS;
> > +        goto out;
> > +    }
> > +
> > +    ret =3D add_mem_share_frag(s, 0, frag_len);
> > +    if ( ret =3D=3D 0 )
> > +    {
> > +        /* Note that share_shm() uses our tx buffer */
> > +        spin_lock(&ffa_tx_buffer_lock);
> > +        ret =3D share_shm(s->shm);
> > +        spin_unlock(&ffa_tx_buffer_lock);
> > +        if ( ret =3D=3D 0 )
> > +            list_add_tail(&s->shm->list, &ctx->shm_list);
> > +        else
> > +            free_ffa_shm_mem(ctx, s->shm);
> > +    }
> > +    else if ( ret < 0 )
> > +        free_ffa_shm_mem(ctx, s->shm);
>
>
> If there is not error the stuff allocated are kept but i do not see
> where/when they would be freed or used.
> Could you explain why we need to save all those ?

s->shm is the final shared memory object which is added to the list of
shared memory objects when the transaction is completed successfully.
The fragment state, s, is kept as long as the transaction is ongoing.
Once the transaction is completed successfully or due to a failure
it's freed.

The specification doesn't say what to do if an invalid frag_len is
detected, except that we should return FFA_RET_INVALID_PARAMETERS.
Currently, we just return an error, but keep the state. Another option
is to free the state instead since the caller might have lost track of
the state.

Thanks,
Jens

>
> Cheers
> Bertrand
>
> > +    list_del(&s->list);
> > +    xfree(s);
> > +out:
> > +    spin_unlock(&ctx->lock);
> > +
> > +    if ( ret > 0 )
> > +            set_regs_frag_rx(regs, handle_lo, handle_hi, ret, sender_i=
d);
> > +    else if ( ret =3D=3D 0)
> >             set_regs_success(regs, handle_lo, handle_hi);
> >     else
> >             set_regs_error(regs, ret);
> > @@ -1357,6 +1578,9 @@ static bool ffa_handle_call(struct cpu_user_regs =
*regs)
> >         else
> >             set_regs_success(regs, 0, 0);
> >         return true;
> > +    case FFA_MEM_FRAG_TX:
> > +        handle_mem_frag_tx(regs);
> > +        return true;
> >
> >     default:
> >         gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> > @@ -1396,6 +1620,7 @@ static int ffa_domain_init(struct domain *d)
> >         }
> >     }
> >
> > +    INIT_LIST_HEAD(&ctx->frag_list);
> >     INIT_LIST_HEAD(&ctx->shm_list);
> >
> >     d->arch.tee =3D ctx;
> > @@ -1560,6 +1785,7 @@ static bool ffa_probe(void)
> > #endif
> >          !check_mandatory_feature(FFA_RXTX_UNMAP) ||
> >          !check_mandatory_feature(FFA_MEM_SHARE_32) ||
> > +         !check_mandatory_feature(FFA_MEM_FRAG_TX) ||
> >          !check_mandatory_feature(FFA_MEM_RECLAIM) ||
> >          !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> >         return false;
> > --
> > 2.34.1
> >
>


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 12:11:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 12:11:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510033.786966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcPy9-0007XY-SZ; Wed, 15 Mar 2023 12:11:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510033.786966; Wed, 15 Mar 2023 12: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 1pcPy9-0007XR-Og; Wed, 15 Mar 2023 12:11:01 +0000
Received: by outflank-mailman (input) for mailman id 510033;
 Wed, 15 Mar 2023 12:11:01 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CVd2=7H=citrix.com=prvs=431d4e183=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcPy8-0007XL-SE
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 12:11:00 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 704932c0-c32a-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 13:10:58 +0100 (CET)
Received: from mail-dm6nam04lp2044.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 08:10:47 -0400
Received: from PH0PR03MB6368.namprd03.prod.outlook.com (2603:10b6:510:aa::21)
 by SJ0PR03MB6777.namprd03.prod.outlook.com (2603:10b6:a03:40c::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Wed, 15 Mar
 2023 12:10:40 +0000
Received: from PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034]) by PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034%5]) with mapi id 15.20.6178.019; Wed, 15 Mar 2023
 12:10: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: 704932c0-c32a-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678882258;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=aqkVxyu9mb2CIcFjBgNSXExcR5FLmw8gCXy/rXJj/54=;
  b=C8QW9wpX8Eq9EKlBx3hWgszUs/bvo6xqfjLuYQywiDm5WGpSkRZRq5sF
   VACXis9SVj9y+gO89Yp3ZK4Faiu5V3BUzueG7SjiZ72NDyzSUiwvVENzC
   12wp3jXDI7q6i41x4FKhvjjgl3mlniNezXN8YQALwTdu7TkbEfT5kYjA/
   8=;
X-IronPort-RemoteIP: 104.47.73.44
X-IronPort-MID: 99744542
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:JlXsDa1a+RGez1EQj/bD5fpxkn2cJEfYwER7XKvMYLTBsI5bpzEAn
 GMbDz/SP/mIYDOnft11YYnio0sAuMPcy9EyQFNppC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdnOKgS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfGl8J9
 P4nNRs0dgGAreauyr2HSrZKiZF2RCXrFNt3VnBI6xj8VapjbbWdBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxouC6PkGSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iP92bOTwH+hMG4UPOHkqtdN3Vec+i8WJAMUREGEgdOeqUHrDrqzL
 GRRoELCt5Ma8E2tU8m4XBCipnOAlgATVsAWEOAg7gyJjK3O7G6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnp+Woim1IjM9NnIZaGkPSg5ty9PkuoAoyBXUUsxkDrW2n/XyAzj7x
 z3Mpy87750Pgsob/6G6+03bmTWqp4iPQgNdzgDWWG2ixhl0aI6se8qj7l2zxfxYBI+dT1SH7
 D4IlqC24OkQANeNnSqWTeMlGLCv+ubDMTvAjFopFJ4knxy9qyCLfo1K5jx6YkBzPa4seSfgS
 F3CpQRLopRUOROCd6Z5ao+1I8cn167tEZLiTP+8Rt5DZJJZdwKd+ixqI0mK0AjFjkUqkqgjN
 IybN96lCXIbEa1rzRK3QfsQ1fkgwSVW7WrYRZHyyRuP0aLYb3mQIZ8BMV2TfqUw57uFiBva/
 swZNMaQzRhbFurkbUHqHZU7KFkLKT03AM7woskPKuqbeFI6RCcmFuPbxq4nd8p9haNJm+zU/
 3a7HEhF1F74gn6BIgKPApx+VI7SsV9EhSpTFUQR0ZyAgRDPva7HAH8jSqYK
IronPort-HdrOrdr: A9a23:gCa/ia5SxqiHt5l3wAPXwOXXdLJyesId70hD6qkRc20uTiX8ra
 vFoB1173PJYUkqKRQdcLy7VZVoOEmskaKduLNhWotKPzOWw1dAUrsN0WKK+VSJJ8SZzJ8k6U
 4JSdkGNDSaNzdHZKjBgTVRBL4bsbq6GdiT5ds2OE0dLz2DXctbnmFENjo=
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="99744542"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WT2h/FhWyybNcqT5n38ZNK+X/8EOSRJpyVN+Sqrmyqmn40X5kWkfgd7rBYrSuRQ44oNJrsG/yG2YYx8ybcalj2A6UXUB0XPD1R6j7eHYd89nofm/Q1oNnu815ZnzUil+Bhr/rFIGbgVwHPw+bXkBJDjkUZXt4HA8O3KE6wTm5+YUmI36g+/Tt51H7qQ8tykHu4LuCgstAxCN2pY03vDS9Bf4UnSPX4iLTjdPowiKhDXP4XizCtWyXcr7QuYg2BqOx4j3QjwXfUOwmlqrTMaV8hzq+ODDb0a0kRPt7YJ1V4BOYi7WFqd0iAl+VIp4UFLIxzjWRdcSfvpHSpp3lP1Q4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m5e4zN1sBKK/gJ5Rl1MgO3iQPc7bxKnquNyN2vp5zIs=;
 b=XhuPyu7FAUdzP2+cBZGPhodPBLPUfn7NzQBoWD7JCsnpG+VOdVwQxAYgIZitdWW7HPOF0HAuA4/UQtAKd1Q+P0Ok5ad6znsdLUnllYlWRvKOJ0YVraeFh7TLQu4j/F4Jw/LZU+Mod37lp2+dqpThG7FGp/iT4xGKw6JxpC9ni2tAyWEzo6lNUobtH6pXRA1PZ9ufUFNhuTbNArn1hgPwltxqqGDR5GccLXEsjXdwOtxfFdoquOc13eHFoh5EfKp+1Ish7W5f0xhmky84krIMRSP+/KK0OAP0hAtz4HGDv/WrlnRNHd80jFvL9ycw1VM05aQv7QkQKva+CCrjVXHs1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m5e4zN1sBKK/gJ5Rl1MgO3iQPc7bxKnquNyN2vp5zIs=;
 b=JZvcmDMbeAlSKkOv14IBID7RzSaBilGOSewnZDBC631ZI1NX1iO+xNY98w+jTUIHcT0Gzb8lrb8PNlZqnHQ9BoI7UKMYPqUAHEjtDQIsHE4KIu+XuHI8Hby6SdpHQBsuN/52bdAVuChPOou/3EbD3Xe3aKxhtvIFBscVtdONL8k=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.org,
	Roger Pau Monne <roger.pau@citrix.com>,
	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>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Alex Chiang <achiang@hp.com>,
	linux-acpi@vger.kernel.org
Subject: [PATCH v2] acpi/processor: fix evaluating _PDC method when running as Xen dom0
Date: Wed, 15 Mar 2023 13:10:30 +0100
Message-Id: <20230315121031.22450-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.39.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0564.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:33b::17) To PH0PR03MB6368.namprd03.prod.outlook.com
 (2603:10b6:510:aa::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR03MB6368:EE_|SJ0PR03MB6777:EE_
X-MS-Office365-Filtering-Correlation-Id: 0723d817-1ddf-4442-e3ca-08db254e4ac0
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	azroRDWnbs3O+AEmwVxmTzyMKKsSbUBV6omBTjpa3SVM6N5HrQCnp9KyR0JEi+U4XWBKZUoGZjO6xIoaoM4lAciNcu+WPx0mjWOJeafu378AaJOv3t55LJ/k5DF02HlEpwPkf/LnDzjgOqVvNfKKqR0k7DKOjQnLT2i8C79XYN+1Jzvc3gknjx/Atm9tDCDr0Usb6cXhZMaQ8MIvytb8ZWhR0uwUvJ/vyD0Stigb0lcpAGoarlDu3ji/OI6EOuG0tcd2qPi6kdTTsmeU8dKhOEQXKEj9qyjpnSfyesWRrMRhKmpBKj6ZUSzqlfOxXAipc/o4XbEGzskFQFusglNOYDiE/xvPVwbUwYEkS8d+MfGaglGqRklI1I5YoLeISvznUmV/Q8zj2T0N5SDk/W/k2NaNpsOtkn+VAk3Bf0Utf7sT8rvU4agKJbTdyeZoCWCkjn9ARMSDDpEbBs6wQ1SoD4GkO675otLrm0Km6/jHUnAlKgke3vVY1Qlg0+5RW39kf1ErrltGqwS+fbYfbF4ttox3z+R7tNzQ1Fo/0YAHabqoINdEe+Gm3TIdasU4z9pHdfNhz5OjhTTqzvowZVtmxfjppwN9LlL75nG6QAyfQlieFqPedVCbHQbEGvst7SXew7vkOZApthNerrruqiQXyw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6368.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(396003)(346002)(136003)(366004)(39860400002)(451199018)(36756003)(5660300002)(7416002)(83380400001)(66556008)(478600001)(26005)(1076003)(2616005)(6512007)(186003)(6666004)(6486002)(6506007)(4326008)(8676002)(6916009)(41300700001)(8936002)(66946007)(54906003)(86362001)(66476007)(316002)(38100700002)(82960400001)(2906002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NVRKYWYvMU84ay9HcklFTzlINyszUmF5NzdGRnRBNExudTNwMmZVWUpQdUxX?=
 =?utf-8?B?NXRGNFozOTJkL3RBa2pUdFVrZkk4N21NMHJXUFZqaG12MHBVOGt2VFJZaDl4?=
 =?utf-8?B?czZZODFIeW55cEFTemVLOGJ5WHRVQnpvQTEzMGY4emRlRXZtWDYwelczRHR2?=
 =?utf-8?B?UE5sa1N3a3NOdG9SZEx6NkZWbEpZdVI0VlhtNndFSUZFRDdYS1RiVFBiUmkw?=
 =?utf-8?B?cmVVOHNCSTQ5R2ZBNW9aRnFHV0RjMkVVeDd2RFUwRnZibFdyVCtXeVNvZTV3?=
 =?utf-8?B?aUlCSFNkSXNGTGQ1SFlHeFZlTDhpRWVBdEFxU093cXovS1loc1ZCVmc3OFpt?=
 =?utf-8?B?UWpuN3ZJb21iY0VuWkhIK1VMN0xvbk95M2o4NXd6VHltUzdTb1cxS3IzTllp?=
 =?utf-8?B?Y2RYeStQa1V2eVZPQnovWThLR1VxMmRCN1ZHQXRxU2FWNnU3Qm9QdjJ4ZUNR?=
 =?utf-8?B?M0FQQ1daOWdlRkUrWXFDcE9YSm9GSHUzL3ZlN0VDTC94UjRXcHZLbVpzM2h5?=
 =?utf-8?B?aDZjSFFycEpMUVp0aExGeml0aFd4TlF1bWk3bUJJOUJyODR4R3FiTDV0NWk0?=
 =?utf-8?B?bHZMdy85NFY4QjdFdHk3N1gwbXpIakR3QWhlcWtqTXBab2VUZ2ZDSU4rYTM4?=
 =?utf-8?B?YzNIOS9aTTJxcHhYd1c3Zjk1RHljeWVHVkhmc1NwZkc3T2dSVzRSU0xJV1gw?=
 =?utf-8?B?dGlxWGFjeVpqUHBESk1HVE1uN1JnOW82c0FqUmY0bXNZUGNpbko5aU1OTmFl?=
 =?utf-8?B?WDlVK1lVVTcxeXRHT2w4MVlveXl1YUxNTHlnMHN1dFI4RTZkQ2NRdExnaFd5?=
 =?utf-8?B?L3hRV24yYXZOa1Y3VUZBMExmcXplNnVoU0V2VmpRaXJoMEFuMjlnbFFhQUIy?=
 =?utf-8?B?K01oelUyUnZiMENmTWJ2U0xxWHcyMGE0Umx2eDdMR2pYQndsSUo1bE5hb3Vr?=
 =?utf-8?B?VzhkYW1pbmgybE5SQ1psTCttbDdzSlBjMVJLYnVmRzNlZ0d2OFJpbUlPL0Mw?=
 =?utf-8?B?YS80cnBjQ3lLNWlQRzJlSUtWb3dZNzJVajh3cERkckQ5WDRKNDd4eldFRnE2?=
 =?utf-8?B?VWhkaGI3Ykxsb1F4ME5hc1FZYkxPWjRONVV5NmwxV0hTQWRRTVZneEpEcHRo?=
 =?utf-8?B?NDZrZjcxTGFwbW1zMlRzKzVyT1FqMmQ0ZmtOWCtBbjB2N3YvajA3OXV4NjFC?=
 =?utf-8?B?UTNKaFlsa2labVVSU2kzSUZlN2x5NWRLTWZKTHVONXhIbVIrc1cwQlE2djls?=
 =?utf-8?B?dlZnU0dkaDBreGt5WWxINmhVa25xajZsWldGZDBKTjNxenRHTDRWZUV0bHRv?=
 =?utf-8?B?TzZaZGZZTy9kWUYzSFFRZi9jSFZBa1lhRzFBaEtUN1pGa09rQ1oyYnIyM0wv?=
 =?utf-8?B?WUx1T0VaSWJQb1FCSVNwazlFMXdXUCtuQWEvSW5vR08vajRBNlVOSW5CV1J6?=
 =?utf-8?B?a2tUak5ZQnVtV1g1ekN6dGJWdWs2RWJtRzYxWVk2UzFPZFcvRHNpOXY5cnQw?=
 =?utf-8?B?ZHFZdGRRNThURHhjcnZvRHlTY2k0dGt0aTNGd0IycGlscGJ4Y0hxclBsY09F?=
 =?utf-8?B?cHZiTm5QQS9FMi9SMmswT3JQMUE1Z1RjWjV6aThNTmZlanlIOGhpSmgwMUVB?=
 =?utf-8?B?SnVBQU82SnRiaHRSZFZNeHBDdUFIeDlUVnEySGF6dzFPYzVYQkJrWUYyazJB?=
 =?utf-8?B?WVBIT1hoMGloSFJXSC92MGpXU2VMREUwMkdBbGErRXU2K0xwMmI1RFFJZDhE?=
 =?utf-8?B?NWRqajFTekU0MHJheTJQTTI5bXExN2ZJc3p1WjRMNmpMQktCUjQzRktvNDU4?=
 =?utf-8?B?ZjFWenlBalN1RVI1amU3d3NxLzR0bzhyeGYzT0xqTEpIS3QxWFNIQ1ZoNDF3?=
 =?utf-8?B?empxOWlhOEY4R0lCNk00MjVNdEpKVXNXV2F2NlVnOFY4TlNoZTFnQ2p2VHBm?=
 =?utf-8?B?M2orVnBYR2dyL0NhV2d0c2ZpdURrTkpLS0NLMWNPVHMyRTlKUmNWTVhBQzdt?=
 =?utf-8?B?NDhRamRiVkxTMm5pWTNMQkN4OGRUckx4amdLT2tJVVA5VWZzS2hKTXZRWlIw?=
 =?utf-8?B?VDJKREIwQUZISXhzSCtvN3JubmNLNlBheW4vcTlTYjFQNEZ2K0Z4ems5ZHdr?=
 =?utf-8?B?VENucUI2ME5zYnQ3QS9FeDZpTC9Ka2RzSkRVWG4xV3l3Y01ObTZodXRlbEll?=
 =?utf-8?B?QWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?aTRIcDFYSmVrR2w5QXFnWFpzS0JTWVJDTllEQmJxTXg3LyswaWFqY2RnMFFr?=
 =?utf-8?B?anpyekIxMVdOTzVwbmRUOHN4OFIxcFQ0YUhaaUJON1VnN3hoMkgvUkJ5SjVs?=
 =?utf-8?B?dGhvbXdpK1ZLaGJMQkVqWktOUFYvVDRqN3hycUZUOE1NRENUT1Y0eVQzTW92?=
 =?utf-8?B?WXpZejVZMjlOa3U3WTMzMFlOMEVRY0pMdUFLc3VaQ2p3RlhWOUJiWG53VDh2?=
 =?utf-8?B?ekpGWmhscVlYVlVyRExucVRrMGFyS0RjZ1hTWHpxSG5sd2dTa2VxRENVTEtS?=
 =?utf-8?B?c0M4SWxuU0IwaW9PSHQ4SWhkaWZyeW51eFA0R25naDYvZnEwUktOaitPdm9F?=
 =?utf-8?B?cGhUd2JyQjUxZDVSemx4SzJEUGQyRnhXMDNKVnQ2Z3JlS3A5Y21sejJERzdM?=
 =?utf-8?B?RndodlFPNWR2R1VNZ1pCMUlJN2VXakcxaGRpMFdmNmlpRnU4bVJ6dFVPQlNT?=
 =?utf-8?B?VzFrbGxTY2RwZi9RSDQyZ0JEaVZjbHB0bitOY2xQT0xEblduakFEc2l5UzNa?=
 =?utf-8?B?MTNPdXowN2NFbWRudFFDem5YQXlFS0VUNHMxdHpEazVrR09jNEptWlBVb0VJ?=
 =?utf-8?B?bkZEUVpMWWpNVWIwaDFKU1pKdXVLWVpsenBleTB5cTI3UUR6UXFJT2I0bkIv?=
 =?utf-8?B?c1IzZGozUEhKcEdaKy9DRWxaaDdoNzZ3YnRiN3hRbUl1Z2JPSnVGcTdiSmVl?=
 =?utf-8?B?RlUzWnNnbFNXdnRKTkhKNzZPUEJSQWgzRTdBN3BNNmlvMFNKQ2dEOXNGL3Ex?=
 =?utf-8?B?QUJXdkV1eXhTVE5BM09LNExTaUdGcXJ1d2trZyt4ZytMc01XUG5QM1MwSk14?=
 =?utf-8?B?bDd6V3hwTzZYTHR5dWlJRVNhQm9iOW9zR25maUdhcG1TdkJ0Y3NvdVlIWmgx?=
 =?utf-8?B?YlFMeWo2TDlYRG9nRlNmNEhvTW05S2F3SktTNWhWSjFROUFoWHRlcmhXa3k1?=
 =?utf-8?B?eVRoTHFHZWk5WkRDRFE3TmZpUW85R2lsd2F1eHpuQ0dObStJb1lSWSs4QlR4?=
 =?utf-8?B?RzVFQjNzSlp6Q1F4K0szNGthY3IxUUxBV1JvN1FYemtaSTE4UU02VUZaU2JK?=
 =?utf-8?B?MUhMWnVVRnlkRkhOYjRSbHhqNjcvdFc5R3J0WklkMlJwZ2UyS205UkJscG1V?=
 =?utf-8?B?RDgyTlNNNVFMai94WG9ZMHJ6Kzdrc1kra0lhUThpRXRCeVBER3pBYmNlbUVG?=
 =?utf-8?B?eExQZmMzR2NnYUVMamlMTjAwWEV3V1lRZGR5d2xOZDFIYjNSK1ErblJvVk8v?=
 =?utf-8?B?blFiWFdOekpQaytaUWw5QmVPRG1SdjJZa3l0ZVlDQ1d6QjBMT2ZUUWx4UFNv?=
 =?utf-8?B?Zis3Q1VNUWhSQlBPcmVDbXBEajBXWElIYm5KUUdXV3dtc3I1K2YxUkpsa1gv?=
 =?utf-8?B?MW9OWU40WExHMXN5a3Y5YjBsM0U1WGR0MnVvcjZyaHh2RDR1bytsWEZyOVZ5?=
 =?utf-8?B?Um9yUHFtZUVMWEJLdEpwVDlGVkp0UnZaVStWMExoWExrc2NBQmpnWVF1Nzhu?=
 =?utf-8?Q?aOEHfc=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0723d817-1ddf-4442-e3ca-08db254e4ac0
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6368.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 12:10:39.7371
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4hHgAi1j4o6fzzbbBx9CY5v/J5IsRVEr8uKDT2t+dDld3d5nRsSJvbGS2qHNqzxlRWWDikNr2i6LRch4Gm+BbA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6777

In ACPI systems, the OS can direct power management, as opposed to the
firmware.  This OS-directed Power Management is called OSPM.  Part of
telling the firmware that the OS going to direct power management is
making ACPI "_PDC" (Processor Driver Capabilities) calls.  These _PDC
methods must be evaluated for every processor object.  If these _PDC
calls are not completed for every processor it can lead to
inconsistency and later failures in things like the CPU frequency
driver.

In a Xen system, the dom0 kernel is responsible for system-wide power
management.  The dom0 kernel is in charge of OSPM.  However, the
number of CPUs available to dom0 can be different than the number of
CPUs physically present on the system.

This leads to a problem: the dom0 kernel needs to evaluate _PDC for
all the processors, but it can't always see them.

In dom0 kernels, ignore the existing ACPI method for determining if a
processor is physically present because it might not be accurate.
Instead, ask the hypervisor for this information.

Fix this by introducing a custom function to use when running as Xen
dom0 in order to check whether a processor object matches a CPU that's
online.

This ensures that _PDC method gets evaluated for all physically online
CPUs, regardless of the number of CPUs made available to dom0.

Fixes: 5d554a7bb064 ('ACPI: processor: add internal processor_physically_present()')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Reword commit message.
---
 arch/x86/include/asm/xen/hypervisor.h | 10 ++++++++++
 arch/x86/xen/enlighten.c              | 27 +++++++++++++++++++++++++++
 drivers/acpi/processor_pdc.c          | 11 +++++++++++
 3 files changed, 48 insertions(+)

diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
index 5fc35f889cd1..f14e39bce2cb 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -63,4 +63,14 @@ void __init xen_pvh_init(struct boot_params *boot_params);
 void __init mem_map_via_hcall(struct boot_params *boot_params_p);
 #endif
 
+#ifdef CONFIG_XEN_DOM0
+bool __init xen_processor_present(uint32_t acpi_id);
+#else
+static inline bool xen_processor_present(uint32_t acpi_id)
+{
+	BUG();
+	return false;
+}
+#endif
+
 #endif /* _ASM_X86_XEN_HYPERVISOR_H */
diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index b8db2148c07d..d4c44361a26c 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -346,3 +346,30 @@ void xen_arch_unregister_cpu(int num)
 }
 EXPORT_SYMBOL(xen_arch_unregister_cpu);
 #endif
+
+#ifdef CONFIG_XEN_DOM0
+bool __init xen_processor_present(uint32_t acpi_id)
+{
+	unsigned int i, maxid;
+	struct xen_platform_op op = {
+		.cmd = XENPF_get_cpuinfo,
+		.interface_version = XENPF_INTERFACE_VERSION,
+	};
+	int ret = HYPERVISOR_platform_op(&op);
+
+	if (ret)
+		return false;
+
+	maxid = op.u.pcpu_info.max_present;
+	for (i = 0; i <= maxid; i++) {
+		op.u.pcpu_info.xen_cpuid = i;
+		ret = HYPERVISOR_platform_op(&op);
+		if (ret)
+			continue;
+		if (op.u.pcpu_info.acpi_id == acpi_id)
+			return op.u.pcpu_info.flags & XEN_PCPU_FLAGS_ONLINE;
+	}
+
+	return false;
+}
+#endif
diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c
index 8c3f82c9fff3..18fb04523f93 100644
--- a/drivers/acpi/processor_pdc.c
+++ b/drivers/acpi/processor_pdc.c
@@ -14,6 +14,8 @@
 #include <linux/acpi.h>
 #include <acpi/processor.h>
 
+#include <xen/xen.h>
+
 #include "internal.h"
 
 static bool __init processor_physically_present(acpi_handle handle)
@@ -47,6 +49,15 @@ static bool __init processor_physically_present(acpi_handle handle)
 		return false;
 	}
 
+	if (xen_initial_domain())
+		/*
+		 * When running as a Xen dom0 the number of processors Linux
+		 * sees can be different from the real number of processors on
+		 * the system, and we still need to execute _PDC for all of
+		 * them.
+		 */
+		return xen_processor_present(acpi_id);
+
 	type = (acpi_type == ACPI_TYPE_DEVICE) ? 1 : 0;
 	cpuid = acpi_get_cpuid(handle, type, acpi_id);
 
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 12:31:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 12:31:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510036.786976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcQI7-0001ua-Hc; Wed, 15 Mar 2023 12:31:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510036.786976; Wed, 15 Mar 2023 12:31: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 1pcQI7-0001uT-Eq; Wed, 15 Mar 2023 12:31:39 +0000
Received: by outflank-mailman (input) for mailman id 510036;
 Wed, 15 Mar 2023 12:31: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=CVd2=7H=citrix.com=prvs=431d4e183=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcQI5-0001uN-Uk
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 12:31:38 +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 52c40d58-c32d-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 13:31:36 +0100 (CET)
Received: from mail-bn8nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 08:31:22 -0400
Received: from PH0PR03MB6368.namprd03.prod.outlook.com (2603:10b6:510:aa::21)
 by DM6PR03MB5179.namprd03.prod.outlook.com (2603:10b6:5:24d::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.30; Wed, 15 Mar
 2023 12:31:20 +0000
Received: from PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034]) by PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034%5]) with mapi id 15.20.6178.019; Wed, 15 Mar 2023
 12:31: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: 52c40d58-c32d-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678883496;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=xNn+CBjtFTZl8nZrkL+kMKnI9y6k85qov/bywsyBJ9s=;
  b=WVHNvgimCe2KoE2j0KPhiGt7xdr8tXbDsp19+qkmSOWhWnyuQo8cKUFF
   3r211Em8I0jFfw513ZshkuEtzoFOwHGXzC40cO+Hg9F8QJIq6zNYLR9Az
   MjgLdsOX3i9voou20Ync7C1HU9wwqqZN0xroXRJbTHcyAeooNdzauezPM
   A=;
X-IronPort-RemoteIP: 104.47.55.174
X-IronPort-MID: 103360133
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:bHsJL6hUHwnHAJ1YtkuBzBsgX1615hAKZh0ujC45NGQN5FlHY01je
 htvWjiDb/uIYGKned1+a4jioUMDuJTXxtRgTwJk+3owQSgb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waDzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQFcTFXR0qG3duq3ZyHc+xzltYuJZf0adZ3VnFIlVk1DN4AaLWaGeDgw48d2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEsluGybLI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjA9lMTOTjrZaGhnXM6HIsGCwtUmCw//SrpE6BC41Cd
 FEbr39GQa8asRbDosPGdwexsTiEoxcaVPJZFuF84waIooLW7ByeHXMsVSNaZZots8pebScxy
 laDktftBDpumL6YU3SQ8vGTtzzaES8RIGwZbCkIVzwZ8sLjq4E+iBHIZtt7GavzhdrwcRn6x
 CqLt245nKkJitAQ1LST+krOiDah4JPOS2Yd9gjRG26o8A59TIqkfJCzr0jW6+5aK4SURUXHu
 2IL8+Ca7eYTHdSOmTaLTeElAr6k/bCGPSfajFopGIMunxyh4X/mcY1O7TVWIEZyLt1CdyXkb
 UPeogBN44cVO2GlBYd+Zo70BMo65azhDsj+EP7OY9dCb4NyaAifuiZ0aia41mTggEEqnawlf
 5uWbM2sAGwyAKFrijGxQo812r8xxzsixGrVA5P8whKm3pKXYXLTQrAAWHO1cu0m5bmY5iXU9
 9pSPdGDzRl3WejyJCLQ9OY7J00QP3E/ApzxtMV/eeuKIw4gE2YkY9fRxrUuf4FkxuJVi+7O8
 Vm0X0Mew1367VXFNAGLYzZxaLrpUr52qH59NispVX6K2mEiaIDpx6cScbM+eLVh/+tmpcOYV
 NEAcsSER/5JGjLO/m1HaYGn9dM+MhO2mQiJIiypJiAleIJtTBDI/dmieRbz8C4JDWy8ss5WT
 6Cc6z43iKErH2xKZPs6otrxp79tlRDxQN5PYnY=
IronPort-HdrOrdr: A9a23:nnaUGqiezvyqicBo7FPtLA9xFHBQXiwji2hC6mlwRA09TyX5ra
 2TdTogtSMc6QxhPk3I/OrrBEDuexzhHPJOj7X5eI3SPjUO21HYS72Kj7GSoAEIcheWnoJgPO
 VbAs1D4bXLZmSS5vyKhDVQfexA/DGGmprY+ts3zR1WPH9Xg3cL1XYJNu6ZeHcGNDWvHfACZe
 OhDlIsnUvcRZwQBP7LfkUtbqz4iPDgsonpWhICDw5P0njzsdv5gISKaCRxx30lIkly/Ys=
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="103360133"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KEaJSVVyfoM66MIFGWvvrmrX5Ds2Ej3qBabO18I7tNpWU8Pp4fGGkFXknxmwfZnEq8adMH+avKH3AYqhuWfYyleVM1b9T1wngOZEhMDKe+WDL9+XucBHK8EBIaCeJujEKKTgvnW/0IQ+2M9CuARVDHEyUD3TX9I/vfqJYiM3rMHPZ4hvn58jfpaQC9auKAP7fPT39whmIhJ5bicUiDhzUBGnEDO577RTnlEN8Al4cuno5pBuUPOO7v7BA8n/VxgAxEXNl4xqsFhSdWyMjDm3/GuDXPbDvJ+DeiT7keZKJYNsiPjuj7OnMnYGFBj+4smzmAvagTcYV30GyxZPG8l09Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mUFi3aCD1p4P3JI7yrknjj3N6t2foQ+yzm3wY06sJ3A=;
 b=YP7ALnOD8XDuYz+mpFoG9AHyBvniVg2h2WZ+gQW5f3yUS0xtfOYBYSOPW+eX45zLVtHQwKoyGHgTTwKp4JhM/XumM6lzXvvVzbX3Zj9fz/RW6OwT9fRWuzLr2x1e+sUKd+Kymkw+3kr+2Nlwlm6T2HMTP2nkh2kb8YumNaBoTiaywRAsnFThFoBzaw9VrK+7/xvr0Zo4W680OfxZ2VXXzCIRuFlKETYsbLsPkQKlOfcHO90GhfswMeG1ns/c3snvkx1oVJpXcLjgexFL8k+m6nC6GLY8gDl4pCzaFCNsVKFdxItQiwHj2Vu4CZ3pBj9o56OG6fYn9FPHZLoxeNDL4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mUFi3aCD1p4P3JI7yrknjj3N6t2foQ+yzm3wY06sJ3A=;
 b=s7ydqrD0bOXiKsbwuAoVCZUhU9rZyysXItadelf/NAYsMZJ9he3naSmUx4Vnke8YIO8TWvfVN/V5UY3PVj1U3+LiKLWlDakndJCEMt/IuktJLSTy5Rl9vkgsdTeLXVmuB8G2CEH0QrelsLy3aABLfXVsgAjomNcd4wzFyoKdruY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 15 Mar 2023 13:31:14 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Huang Rui <ray.huang@amd.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC PATCH 2/5] xen/grants: update initialization order of xen
 grant table
Message-ID: <ZBG6kthkEMo4qmo6@Air-de-Roger>
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-3-ray.huang@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230312120157.452859-3-ray.huang@amd.com>
X-ClientProxiedBy: LO4P265CA0241.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:350::15) To PH0PR03MB6368.namprd03.prod.outlook.com
 (2603:10b6:510:aa::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR03MB6368:EE_|DM6PR03MB5179:EE_
X-MS-Office365-Filtering-Correlation-Id: 274ca5cf-c941-447e-0e49-08db25512e06
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5OXo6s1EF8WLHCpo+ONQLc7kaXSHfPnWgKP88sYRJuY2E+BljQeToIAiSXXANOdI7d/zvTtIDU8jVVZz3zLe5QRbw9qrrKZdYKWE/0Lzd2pW4tZXnMKWohgR4b1SpqodR9FHpXff8UGmBF6cvNLzPIiIvbzdark95WmAvUUB9i9s6NMBCOqPwIhn0r/lj6SyAfdKrrFtVmG035kHH1zPqNIVqv9LGslFZ+Xp4CCTzx+02Sl7/G8xMlVZJLX7sW9nrTJbZL6CpgdTd1nmqS8MSJ7BRVuPJH5hmNy1W+yfQpW8KnAc38wYOZvnyY/AuzDMuE5plWM5ZFNgXMTmyB8hIJJAFtS1LSk042eLINvqIIFpSFLsHZO/CISwIOuKD9N9RRD06AD/LAOCRvXLTSxDLWQsvjGqAAYGa5ta+xCA2HHuQaw0qUfXf5ejmazsDys+MEMZj6XeuR/nJ2KDGELOuc+weyzVq58o+FUi1yK1Ez+yx2uDIfdGU3YPmmP67SjXRGnrKod2TGTIv4kE2qtNyJC7992ntVB3SUGDLmy5nsrVQ/CCDktZscse26SGR+tEcHiO4wYrxc7yeX37KHjyO9ypDywqVJcr1aaLmC+IRwhnxXpFnfFtV+Y654eYpBXQfqtTVCqytDGL6GYlwUqfWA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6368.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(396003)(366004)(39860400002)(376002)(346002)(136003)(451199018)(41300700001)(7416002)(8936002)(5660300002)(15650500001)(2906002)(38100700002)(85182001)(86362001)(82960400001)(478600001)(6916009)(66946007)(66476007)(8676002)(66556008)(6486002)(6666004)(33716001)(4326008)(83380400001)(54906003)(316002)(6506007)(9686003)(6512007)(186003)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TXovcTJ4TkJpbXJqOE94Sm9LcXU1c2IzLzFPdU42NXZKMFBCNlNvemdnUHc2?=
 =?utf-8?B?ZTg3TUpjemcxelZ5Vld2a3d0MDhUMlBDamc3emJLZmpUQkE1VzUzc281OHAw?=
 =?utf-8?B?Vm82V1Nra0V2L3RBcS9hUlhydG5xaDIxM3k3cHlSOXBQZHRXSHZDdnNKeWpm?=
 =?utf-8?B?UWdhbmdCQUpzdHNUWVQ3djc5Snl5OXFqa1VIQm5xYVdnNDdtQ1ZIc1ByS2Ro?=
 =?utf-8?B?MGRPdk5Kd0tnbDlhN1ltMlRkVEhqS0MvMVByYnBlcURlaUdVTmx0bzBBdlhp?=
 =?utf-8?B?OW80LytTcWloM3dHb0FSZS9xRWRQV09wMzAwdGZzVkhCTFJwZVphNUs3azFB?=
 =?utf-8?B?RDVIdExVcy9pLy8zcm9oeHo2aDFkKy9UTXZQYUdEc1ZMVDRvUVJkMWJTdDF1?=
 =?utf-8?B?bjBDcUUwcFR5ZWRmVm9rdnlaU3YxakR2blVIZjlMc25SaDRYSWtDeGZMZVF5?=
 =?utf-8?B?RHpnWlRYeDJmZU5MdkhIeFNKVEpDN3VLUTBzR2lUQWNmd1V0cldqZnNOTENM?=
 =?utf-8?B?ZDY2Tk0vSkZ1SzRhWGdVTndzby9Bb3g1L3NSNmNHUXpZcnA0dnNrOVVpSWRt?=
 =?utf-8?B?Z3lNaXNxd2JrbjhBRXJKMzU5SkpoVmp1UndKMGdRSVovQ0hJRGovcEY2K2ti?=
 =?utf-8?B?UVQwSXFuVDVxR01xVlBiSitic0p5a0VOMmk3d1QxRW9hVFYwaTgwZ2xTZm5S?=
 =?utf-8?B?YjF1QnJGVTNkVlJ3NVBIY1lzNm5MME1WanZFT1g5ZVlSS3hRQ0E4L3dWRHZF?=
 =?utf-8?B?ZFBCVGxJbmQwYVpVV1ljRHhHTFpCd1RRMEYvNU5EUXE4ajBJYnhyM0Q0OHRj?=
 =?utf-8?B?c2FDNmZzcFM2d2NtYjZXVXFTdjFzZlZIeHgyd09ud0VKY1dmaXdhb3hRQ0lL?=
 =?utf-8?B?N3ZiZksxazFGOVZUcmdjdXNrZlRsMlYxcDNJbEpLM05pUGVtVzVMRVZFcGFJ?=
 =?utf-8?B?REx5ZCtPWFNtOUQxS2xZamo4MEowUnBDWWNVRFRUMTM0R0haOGRTclByZ09x?=
 =?utf-8?B?WlI5L3pJblRSbmZlZ2VMZytGL3o5WVJkMG9yR3VTbWdEbnVpTXdJUTVTMEVv?=
 =?utf-8?B?S3VGQkxNSGNocEhMdDZjT3ArREN5WUdCV0ErWHd6L1IybXhzWkgvbVhoZnpH?=
 =?utf-8?B?Ukw1d2xkTmtDQXBVL1A0Vm1OT0I4Q2ZqNkVYNFFtUFp5ZFlOaVArWHF4c2JS?=
 =?utf-8?B?TFFUNW9qTmNtS21KZjhlM0lqMy92b1NuQ3d3QjRZVHcvTGFzYnc5OEhJNFNw?=
 =?utf-8?B?OEhTdXoraW1JNk5TaCt0UWc4cGJINDI5M2lyYW1vVEQ1OEJ1WFpVSEZZb2JC?=
 =?utf-8?B?WHdsVkRxMlZDQitWSzYrdU1vQ3QzWURqT3NjMmpxR3M3TjZHODdNVHZwTlR5?=
 =?utf-8?B?MjJvTWZnbW1rMm96WFl4SnJ2MUxWNVFvbVBxd2F4RFhYdzBFUlBSUDRlczNK?=
 =?utf-8?B?Qkp5dkthRXRZQ29EUkNjT0xHV3FRVmhzaGVBZk1RUTdEbHAzQ0dXaUhQVjF1?=
 =?utf-8?B?ZlRVODR0bmFKdkVzREVJY0hKQUNsNDhLMlY5OG5WVDIrNDQ2VHRwV1Q3eUVY?=
 =?utf-8?B?QVdYZlY1N3NIUEtRRHdNRWN1clVJVVdUNFloUmQ2TThoK0c2Q1dCSVhrTXpK?=
 =?utf-8?B?WEIzbllISnBQa1FJcVNlajFvNkVBR3JZMSthM21FYXZHSVRxYUhycXhlNFFU?=
 =?utf-8?B?RUhRYnlIOCtRdTVnbjAxTFFwZit1YTQ0NHQrM0JVRjlJQnoxUERsV1FzR3do?=
 =?utf-8?B?dk1JdjhNZzdzcnpBUUtvUmFSZCt6YThUYXdrZ2JiZm9aVUpaRzFVTElMQnha?=
 =?utf-8?B?dXc5eU9VUlVrRUJaOEZVY2syaElpWkZmSHNJL0EyRGNSbHZySDdVRW9XTllW?=
 =?utf-8?B?MWlnRnVYaDdOS0UrbW1MTzIvMWhWcXJObEoyS043UE9mQjBOV0FlUFRMd1Yx?=
 =?utf-8?B?TVpvSmlNeHdYYXJmYUd5WE9kSlFRZlQ3ekloQ0hqcTUwYXB0ZFFsTnU1Ymdt?=
 =?utf-8?B?Vy9zMzMzRnNrNTNOTnNkcldsek5XZDJiOTJBTlRqZlhIY3doQlZrWmtZblJu?=
 =?utf-8?B?RWhPK2p2cUhOODAwZERYdmFKQ2o4ZlNXRGgyNXpMeE12YTljMGxGMHEvWkJB?=
 =?utf-8?B?MjNGSE1FSjUyTGhWU00wTHBmWVNGOTRxUDBWb3Blc2orY0s3cHlJcVc1dFFq?=
 =?utf-8?B?Y0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?MVNUMTNLR3Rkc1NFVnpDNGdDSkovRjA0RDRXOTBGelAycnVOZElxT2lLTTJU?=
 =?utf-8?B?Z1JPdUJlcml5dENxQ2RVMHFpU2x4UzVnRUg2UUdGSU9McjRYeVBzeWpGNE9R?=
 =?utf-8?B?NkZsSkxOamhRYjBSSCtrbUJyQUxOZ1RBSWQvVUFGYlF1aXNsWWZITHZnSisy?=
 =?utf-8?B?MVhLRko2ZG9OeHhsMjFrRnBzNEJwcnVnZDBUSjZaazFDUTRkcG84WXFGdDcv?=
 =?utf-8?B?SjRyeTkzWTVwaFhqbDJ6Zm5TZFYvY0h6a2tnVVAwWWlzZkV2ZFJiMFdKTGIw?=
 =?utf-8?B?YlFlSlN2VklEQjNiZVJxaW5rK3hWMkU2blM3eXFpcGhicEhLVW1mN1VvL2VC?=
 =?utf-8?B?RFlZdWZDK0o0VldCaFNvRndMOTRJY3hmaVZyVXdwK3cyTmtMZmxjSHl5WWFM?=
 =?utf-8?B?NzRpL2R3cmc3ZWdiWlNtMElWQ1dWWGVpMzdMck5OK2NkZWEvMjRFV2p5c0VK?=
 =?utf-8?B?aHlWU25reEZrMG51ODM0MmZHQ21VMXpXMWQ0cmRYcG9NODFZeDdhUEtzWXZz?=
 =?utf-8?B?V1o1eEFvSDUwdVF4NlFibXpjNFcxbVhQUDRSZE9obHBBMjhhUHc5enRhWHlN?=
 =?utf-8?B?WTQzZ1daUStxS0ttck5wZmN0M3FXQWNVY0dodEh4UWRQZnRkUFdWaiszQ1VI?=
 =?utf-8?B?T1FFYVg4UzhXWEpMMXBuUzFXRFBDNnhwZjhqcC9rVnFNdWhqTEduU3FTeDFF?=
 =?utf-8?B?M2IvcDlJSUtlWEZodGFzWmcxK1pCRjVhNlZ4S1BndFNyd2k5MzFEMUp0Sitk?=
 =?utf-8?B?V3RnMEhSS0lqeldCWkdWVGR0YjVHd0ZiSGswMVpmeFNFZFF4WmEybWJXYUJs?=
 =?utf-8?B?UnBPbGhjSE5GS3pRalB1ZDk5Tld5TGlxSkhNT2JqV29sOUpWVUxvbDJIVEdy?=
 =?utf-8?B?alM2WVMrNkE5MWlrV2pwbnVFVllNR0ZQTW5rYk51Q1loQWhVRHNueU9lQXNH?=
 =?utf-8?B?bTZQeElSckZ4N0hxOWhsZW92cW5ZUXFqVzFHcDhjd1ljbkVBL0p1b1NnM0Zh?=
 =?utf-8?B?TGFzVTNob01zVkI1dGtUWDc2QjREbnQ0ODhhWmNwb0NqdEtleEdvVEsvSWp4?=
 =?utf-8?B?VXJGNDBQVUh3dWhpNk5tTkovRUNhbUExUm5LTmxjUlNWeE1xN2ZFSkFBRk5y?=
 =?utf-8?B?N25uei9zSHp6c2NlQnVJaXg2TEFXbndBVXZpNFQ2cVdnU0xTYkEyOFo5WE56?=
 =?utf-8?B?NFNZUVlITUQ5dVlEUlFtZmVtTWhEUVpmYWF6QVdCYlJMbXlvZmFSWUZxU2du?=
 =?utf-8?B?T1pHUlErU3Q5VUJXdjJ3WjZJc25nc0pSS1E3WUhGN202enpFYjJOV2NoMEtH?=
 =?utf-8?B?RGN1aXFFOXZWQnZtV0hidzM1Wk9tL1c5ZEJ2L2RJUGJBaWxkVXVuZUgxMk85?=
 =?utf-8?Q?fG9S66Y0f2E/NS5NghoYhT3ZaYSVxT3o=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 274ca5cf-c941-447e-0e49-08db25512e06
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6368.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 12:31:20.1065
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4brcGzUI8sO+8xnsAB0+NFYKwNKRERLDP4lq8Y/HVjwBtsZm4E1eYcIXfacZgCMi5+BohRyXrCijImkhLmcEtg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5179

On Sun, Mar 12, 2023 at 08:01:54PM +0800, Huang Rui wrote:
> The xen grant table will be initialied before parsing the PCI resources,
> so xen_alloc_unpopulated_pages() ends up using a range from the PCI
> window because Linux hasn't parsed the PCI information yet.
> 
> So modify the initialization order to make sure the real PCI resources
> are parsed before.

Has this been tested on a domU to make sure the late grant table init
doesn't interfere with PV devices getting setup?

> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
>  arch/x86/xen/grant-table.c | 2 +-
>  drivers/xen/grant-table.c  | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/xen/grant-table.c b/arch/x86/xen/grant-table.c
> index 1e681bf62561..64a04d1e70f5 100644
> --- a/arch/x86/xen/grant-table.c
> +++ b/arch/x86/xen/grant-table.c
> @@ -165,5 +165,5 @@ static int __init xen_pvh_gnttab_setup(void)
>  }
>  /* Call it _before_ __gnttab_init as we need to initialize the
>   * xen_auto_xlat_grant_frames first. */
> -core_initcall(xen_pvh_gnttab_setup);
> +fs_initcall_sync();
>  #endif
> diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
> index e1ec725c2819..6382112f3473 100644
> --- a/drivers/xen/grant-table.c
> +++ b/drivers/xen/grant-table.c
> @@ -1680,4 +1680,4 @@ static int __gnttab_init(void)
>  }
>  /* Starts after core_initcall so that xen_pvh_gnttab_setup can be called
>   * beforehand to initialize xen_auto_xlat_grant_frames. */

Comment need to be updated, but I was thinking whether it won't be
best to simply call xen_pvh_gnttab_setup() from __gnttab_init() itself
when running as a PVH guest?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 12:35:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 12:35:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510040.786986 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcQLV-0002Y2-57; Wed, 15 Mar 2023 12:35:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510040.786986; Wed, 15 Mar 2023 12:35: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 1pcQLV-0002Xv-1g; Wed, 15 Mar 2023 12:35:09 +0000
Received: by outflank-mailman (input) for mailman id 510040;
 Wed, 15 Mar 2023 12:35: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=Dk5j=7H=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pcQLT-0002Xl-7A
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 12:35:07 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ccc99421-c32d-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 13:35:00 +0100 (CET)
Received: from BN9PR03CA0205.namprd03.prod.outlook.com (2603:10b6:408:f9::30)
 by PH7PR12MB6906.namprd12.prod.outlook.com (2603:10b6:510:1b8::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Wed, 15 Mar
 2023 12:34:55 +0000
Received: from BN8NAM11FT112.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:f9:cafe::a2) by BN9PR03CA0205.outlook.office365.com
 (2603:10b6:408:f9::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29 via Frontend
 Transport; Wed, 15 Mar 2023 12:34:55 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT112.mail.protection.outlook.com (10.13.176.210) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6199.16 via Frontend Transport; Wed, 15 Mar 2023 12:34: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.2375.34; Wed, 15 Mar
 2023 07:34:55 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 15 Mar
 2023 05:34:54 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 15 Mar 2023 07:34:53 -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: ccc99421-c32d-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=emFssFQvSvobouRDCvmxqVSJvgtRPGtfZ5nANS4UjycoJ54+nKoqqhsIcbNMNRyMccFXCqOSL+0xFFB/cUCI3ne6kjPeeLaFcEv1bOboKipH3p0Mvql+JU71DmP7yIlpmGz6QxFPPTJZTFRdcYzroaAAOrXR8sd4JJeqvijcZaLjRLWyV1r4sK9IrR3JKnLzEdPxcRy3BVdVlGujwGl/FEaZg2kl4PQ56S8J/OLFDyTRymdANg0V4kx0/RL2kSZPXFhwvA2FjobS3eFzOu6zWNr2dYkUDAvHYr2gluVA5TEzgP3Oz5jpl2edglcNQ5c4XBtBycIbRkFwQI8Iq+eyww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AWyDf3XeV5M8MZyXqhVkQ2IQnVNiQblIkSMTMr/YS2o=;
 b=S9Zg54sM6dw7ZqHFyWQQPzlUPYmPNcbCs/Eld0NM5DTnvdIBItKykBgV8Q0GBMA5A9ErU2XZt5sP1z1pLMp+WNezT4ZTh1Yqynu6LrlHlN4CwSk+j+2tOWuev7ssEdJ/AZ8gGytjRs3Ksw9LLgyR+JqoiPdlzFCGQVoZ1WT5qcJGPZt2ySbKZ+XHDArv1364x3U/SOGAQp5oByhQBuqeORWe+PP1MtiYGZ00xZepaVEO5Tw8K00BPkUWbqjK6vRy3JKBl1V2zEmLw84gLI+64LFe+kK9T7k+bw5nZ8Q/65f/fqhyy0N3qALG3JFd4tOUd9u0vW36bMkiSw7zjClyTQ==
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
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=AWyDf3XeV5M8MZyXqhVkQ2IQnVNiQblIkSMTMr/YS2o=;
 b=qv4IFNV9d4ch9ZjoEYg3kRtmV5o3Z2oC1JFLywGEE/jsOhgX+e9zyoRi1saNvf65kBF7Zq5ZTGV/FlZvCL3wXGdLuwqYCdcQEuwfhCEq9YDXNJX2yYz1lZMuKpiLUcwBHVGIxzWd0Wo1WG54VPt8akH4iBR+Y/d0LZqucntLlXI=
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: <7676cba9-6f92-0c97-dac3-372ca47be34b@amd.com>
Date: Wed, 15 Mar 2023 13:34:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/console: Handle true dom0less case when switching
 serial input
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: <20230314142749.8845-1-michal.orzel@amd.com>
 <da7db77f-3ab8-edd1-bc69-460ca3e2ce25@suse.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <da7db77f-3ab8-edd1-bc69-460ca3e2ce25@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT112:EE_|PH7PR12MB6906:EE_
X-MS-Office365-Filtering-Correlation-Id: 4951030f-6810-4e78-b516-08db2551aea7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cHBYXAtq7Qs8hotpZ7px9OhLkRbBPh8nNtm4DsIVKBH6Y33XYHzKhxUsGAOndfBfeEiju05JBB386LOCtXNzFqyvM1/ZuvWzXS8BZyvU3yznG5nle8PaLaMlGvJ7AdFGQWkPOGrygDXB2TjaZidx6L60IGwbK3cwWMqJNm2XI575pktLs+E6BLWKyF/9S301+Jmw7eWf+GU1Jud72x9t8a0A39ptDS2rQQRSnoW6badl4+RbZT8XmducRyJJgnpgWKapuapqJV5KJb1X48c5urqzmk5rVcezhCG9XDV/IbEZazMYmILVixK14Tqc4WjRUaarmPwL8y+v8sIlNLmQOMiZg4HGhQ507OZZeGokLoRDl9SX2VH6pzp2GWEWCrlsp//mkTLuy9Ln/Oy9tcTh10heWE6ZvAvOrrAgfBSTifkajK6t5kzgWC55ZNB1AGf8KxYX+Wsv74hD/7h3VlgzLPr4rLuYgLJSq+g4XcyMUbjVsDaep1iq2Ldv8O3fJJURSbqCTkDgVh/9Kxag0cKmrjnqkE0fwQNoghFzCmUIncBEmV7GoWn7ESbgWsSFAjeHVa46debB6GLooq5xQemQ0sF41Apw9+V8RcLjGtZNwMnA3AkCAN4Sq3s6bU5qjWVCevLG59tS3T2E6QSoaxi72ZDX6erL9DhVfmYUYf1ZWonnb9IfefOfEwz+GRTDYv7UJfqF4X/MnZpeVfBK49C7yCqzqY63+mshxx1MQaTv92gWrtg1f6PHN3aksrISyxBMNQ+Cxbilo+7rgn7rvK5rzItNPKLawiZHANlh7DYVUdw=
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:(13230025)(4636009)(136003)(346002)(39860400002)(376002)(396003)(451199018)(46966006)(40470700004)(36840700001)(31686004)(41300700001)(2906002)(8936002)(44832011)(6916009)(70586007)(5660300002)(4326008)(8676002)(70206006)(36756003)(316002)(83380400001)(478600001)(16576012)(54906003)(53546011)(26005)(40460700003)(6666004)(186003)(86362001)(47076005)(336012)(426003)(2616005)(82310400005)(36860700001)(82740400003)(81166007)(31696002)(40480700001)(356005)(32563001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 12:34:55.5393
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4951030f-6810-4e78-b516-08db2551aea7
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:
	BN8NAM11FT112.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6906


On 14/03/2023 16:17, Jan Beulich wrote:
> 
> 
> On 14.03.2023 15:27, Michal Orzel wrote:
>> At the moment, we direct serial input to hardware domain by default.
>> This does not make any sense when running in true dom0less mode, since
>> such domain does not exist. As a result, users wishing to write to
>> an emulated UART of a domU are always forced to execute CTRL-AAA first.
>> The same issue is when rotating among serial inputs, where we always
>> have to go through hardware domain case.
>>
>> Modify switch_serial_input() so that, if there is no hardware domain
>> (i.e. true dom0less case) and console_rx is 1 (i.e. input to hwdom),
>> we skip it and move to the next serial input.
>>
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> 
> Makes sense, but I think there are more things to consider.
> 
>> --- a/xen/drivers/char/console.c
>> +++ b/xen/drivers/char/console.c
>> @@ -491,6 +491,14 @@ static void switch_serial_input(void)
>>      else
>>      {
>>          console_rx++;
>> +
>> +        /*
>> +         * Skip switching serial input to hardware domain if it does not exist
>> +         * (i.e. true dom0less mode).
>> +         */
>> +        if ( !hardware_domain && (console_rx == 1) )
>> +            console_rx++;
> 
> The consumers of this variable aren't really serialized with this
> updating. That's probably okay-ish prior to your change, but now
> there can be two updates in rapid succession. I think it would be
> better if the variable was written only once here.
ok, makes sense.

> 
>>          printk("*** Serial input to DOM%d", console_rx - 1);
> 
> When invoked from console_endboot() this will now switch to Dom1,
> i.e. that domain becomes kind of "preferred", which I think is
> wrong. Instead I think in such a case we should direct input to
> Xen by default.
Switching serial input to the first usable domain is the major motivation behind this patch.
The number of times I got pinged by users with *apparent* Xen issue on true dom0less
just because input was directed to dom0 which was not there (not everyone seems to read the
boot logs) forced me to create this patch and manifests that this is not the behavior user wants.
Switching to Xen console would not help at all. Also, we already have a way to set switch code to 'x'
to default serial input to Xen.
So I think what I did (switching to the first existing domain) should be the default behavior (just like it was done for dom0).

> 
> And then I have a question about Dom<N> lifetime in dom0less: Can
> such domains be short-lived? If yes, what you do here for Dom0
> would likely want generalizing, to skip any domain that doesn't
> exist (anymore).
I think there is nothing preventing such domains not to be short-lived and checking
for existence is a good idea. So all in all I would do the following modifications:

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index e8468c121ad0..d843b8baf162 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -490,7 +490,24 @@ static void switch_serial_input(void)
     }
     else
     {
-        console_rx++;
+        unsigned int next_rx = console_rx + 1;
+
+        /* Skip switching serial input to non existing domains */
+        while ( next_rx < max_init_domid + 1 )
+        {
+            struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
+
+            if ( d )
+            {
+                rcu_unlock_domain(d);
+                break;
+            }
+
+            next_rx++;
+        }
+
+        console_rx = next_rx;
+
         printk("*** Serial input to DOM%d", console_rx - 1);
     }


~Michal



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 12:38:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 12:38:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510042.786996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcQOf-00039e-Js; Wed, 15 Mar 2023 12:38:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510042.786996; Wed, 15 Mar 2023 12:38:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcQOf-00039X-GM; Wed, 15 Mar 2023 12:38:25 +0000
Received: by outflank-mailman (input) for mailman id 510042;
 Wed, 15 Mar 2023 12: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=eGcw=7H=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pcQOd-00039N-Co
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 12:38:23 +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 4417bd9a-c32e-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 13:38: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 568A9218FC;
 Wed, 15 Mar 2023 12:38: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 E1C9C13A00;
 Wed, 15 Mar 2023 12:38:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id BL+JNTq8EWRvDwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 15 Mar 2023 12:38:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4417bd9a-c32e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678883899; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=fz1UYNHzB0o6BXo5GffcomeCEXsJ+DMQo9fO9Q6cdIc=;
	b=qsUE1t8TiSjAdgzXhEM46HRYZzrxCp9OTGOxb3nFWun9nRqatd0hi3flsSWFq9XO8+aKTQ
	yUfHpiNqqlMuTvdoZFsmfIDt+hilwP4DfcvLV4t1x2PSZj9dDOJul+kKlB9G3RIgfjsBlh
	Q7ArBtnrKvTltt2wg17c5e8F3wbGyxk=
Message-ID: <c9eec213-3c93-62ba-1f46-1e502f121eac@suse.com>
Date: Wed, 15 Mar 2023 13:38:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>, linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.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>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>,
 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
 Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org
References: <20230315121031.22450-1-roger.pau@citrix.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20230315121031.22450-1-roger.pau@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------gWtvAgNznabXuhhlhnZWKwSs"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------gWtvAgNznabXuhhlhnZWKwSs
Content-Type: multipart/mixed; boundary="------------uYrqKpVGnLGwiBL102kr3Hq0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Roger Pau Monne <roger.pau@citrix.com>, linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.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>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>,
 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
 Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org
Message-ID: <c9eec213-3c93-62ba-1f46-1e502f121eac@suse.com>
Subject: Re: [PATCH v2] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
References: <20230315121031.22450-1-roger.pau@citrix.com>
In-Reply-To: <20230315121031.22450-1-roger.pau@citrix.com>

--------------uYrqKpVGnLGwiBL102kr3Hq0
Content-Type: multipart/mixed; boundary="------------teTPZZU0EqzfsCNfmTdsoPkW"

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

T24gMTUuMDMuMjMgMTM6MTAsIFJvZ2VyIFBhdSBNb25uZSB3cm90ZToNCj4gSW4gQUNQSSBz
eXN0ZW1zLCB0aGUgT1MgY2FuIGRpcmVjdCBwb3dlciBtYW5hZ2VtZW50LCBhcyBvcHBvc2Vk
IHRvIHRoZQ0KPiBmaXJtd2FyZS4gIFRoaXMgT1MtZGlyZWN0ZWQgUG93ZXIgTWFuYWdlbWVu
dCBpcyBjYWxsZWQgT1NQTS4gIFBhcnQgb2YNCj4gdGVsbGluZyB0aGUgZmlybXdhcmUgdGhh
dCB0aGUgT1MgZ29pbmcgdG8gZGlyZWN0IHBvd2VyIG1hbmFnZW1lbnQgaXMNCj4gbWFraW5n
IEFDUEkgIl9QREMiIChQcm9jZXNzb3IgRHJpdmVyIENhcGFiaWxpdGllcykgY2FsbHMuICBU
aGVzZSBfUERDDQo+IG1ldGhvZHMgbXVzdCBiZSBldmFsdWF0ZWQgZm9yIGV2ZXJ5IHByb2Nl
c3NvciBvYmplY3QuICBJZiB0aGVzZSBfUERDDQo+IGNhbGxzIGFyZSBub3QgY29tcGxldGVk
IGZvciBldmVyeSBwcm9jZXNzb3IgaXQgY2FuIGxlYWQgdG8NCj4gaW5jb25zaXN0ZW5jeSBh
bmQgbGF0ZXIgZmFpbHVyZXMgaW4gdGhpbmdzIGxpa2UgdGhlIENQVSBmcmVxdWVuY3kNCj4g
ZHJpdmVyLg0KPiANCj4gSW4gYSBYZW4gc3lzdGVtLCB0aGUgZG9tMCBrZXJuZWwgaXMgcmVz
cG9uc2libGUgZm9yIHN5c3RlbS13aWRlIHBvd2VyDQo+IG1hbmFnZW1lbnQuICBUaGUgZG9t
MCBrZXJuZWwgaXMgaW4gY2hhcmdlIG9mIE9TUE0uICBIb3dldmVyLCB0aGUNCj4gbnVtYmVy
IG9mIENQVXMgYXZhaWxhYmxlIHRvIGRvbTAgY2FuIGJlIGRpZmZlcmVudCB0aGFuIHRoZSBu
dW1iZXIgb2YNCj4gQ1BVcyBwaHlzaWNhbGx5IHByZXNlbnQgb24gdGhlIHN5c3RlbS4NCj4g
DQo+IFRoaXMgbGVhZHMgdG8gYSBwcm9ibGVtOiB0aGUgZG9tMCBrZXJuZWwgbmVlZHMgdG8g
ZXZhbHVhdGUgX1BEQyBmb3INCj4gYWxsIHRoZSBwcm9jZXNzb3JzLCBidXQgaXQgY2FuJ3Qg
YWx3YXlzIHNlZSB0aGVtLg0KPiANCj4gSW4gZG9tMCBrZXJuZWxzLCBpZ25vcmUgdGhlIGV4
aXN0aW5nIEFDUEkgbWV0aG9kIGZvciBkZXRlcm1pbmluZyBpZiBhDQo+IHByb2Nlc3NvciBp
cyBwaHlzaWNhbGx5IHByZXNlbnQgYmVjYXVzZSBpdCBtaWdodCBub3QgYmUgYWNjdXJhdGUu
DQo+IEluc3RlYWQsIGFzayB0aGUgaHlwZXJ2aXNvciBmb3IgdGhpcyBpbmZvcm1hdGlvbi4N
Cj4gDQo+IEZpeCB0aGlzIGJ5IGludHJvZHVjaW5nIGEgY3VzdG9tIGZ1bmN0aW9uIHRvIHVz
ZSB3aGVuIHJ1bm5pbmcgYXMgWGVuDQo+IGRvbTAgaW4gb3JkZXIgdG8gY2hlY2sgd2hldGhl
ciBhIHByb2Nlc3NvciBvYmplY3QgbWF0Y2hlcyBhIENQVSB0aGF0J3MNCj4gb25saW5lLg0K
PiANCj4gVGhpcyBlbnN1cmVzIHRoYXQgX1BEQyBtZXRob2QgZ2V0cyBldmFsdWF0ZWQgZm9y
IGFsbCBwaHlzaWNhbGx5IG9ubGluZQ0KPiBDUFVzLCByZWdhcmRsZXNzIG9mIHRoZSBudW1i
ZXIgb2YgQ1BVcyBtYWRlIGF2YWlsYWJsZSB0byBkb20wLg0KPiANCj4gRml4ZXM6IDVkNTU0
YTdiYjA2NCAoJ0FDUEk6IHByb2Nlc3NvcjogYWRkIGludGVybmFsIHByb2Nlc3Nvcl9waHlz
aWNhbGx5X3ByZXNlbnQoKScpDQo+IFNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kg
PHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPiAtLS0NCj4gQ2hhbmdlcyBzaW5jZSB2MToNCj4g
ICAtIFJld29yZCBjb21taXQgbWVzc2FnZS4NCj4gLS0tDQo+ICAgYXJjaC94ODYvaW5jbHVk
ZS9hc20veGVuL2h5cGVydmlzb3IuaCB8IDEwICsrKysrKysrKysNCj4gICBhcmNoL3g4Ni94
ZW4vZW5saWdodGVuLmMgICAgICAgICAgICAgIHwgMjcgKysrKysrKysrKysrKysrKysrKysr
KysrKysrDQo+ICAgZHJpdmVycy9hY3BpL3Byb2Nlc3Nvcl9wZGMuYyAgICAgICAgICB8IDEx
ICsrKysrKysrKysrDQo+ICAgMyBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspDQo+
IA0KPiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL2h5cGVydmlzb3Iu
aCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9oeXBlcnZpc29yLmgNCj4gaW5kZXggNWZj
MzVmODg5Y2QxLi5mMTRlMzliY2UyY2IgMTAwNjQ0DQo+IC0tLSBhL2FyY2gveDg2L2luY2x1
ZGUvYXNtL3hlbi9oeXBlcnZpc29yLmgNCj4gKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20v
eGVuL2h5cGVydmlzb3IuaA0KPiBAQCAtNjMsNCArNjMsMTQgQEAgdm9pZCBfX2luaXQgeGVu
X3B2aF9pbml0KHN0cnVjdCBib290X3BhcmFtcyAqYm9vdF9wYXJhbXMpOw0KPiAgIHZvaWQg
X19pbml0IG1lbV9tYXBfdmlhX2hjYWxsKHN0cnVjdCBib290X3BhcmFtcyAqYm9vdF9wYXJh
bXNfcCk7DQo+ICAgI2VuZGlmDQo+ICAgDQo+ICsjaWZkZWYgQ09ORklHX1hFTl9ET00wDQo+
ICtib29sIF9faW5pdCB4ZW5fcHJvY2Vzc29yX3ByZXNlbnQodWludDMyX3QgYWNwaV9pZCk7
DQo+ICsjZWxzZQ0KPiArc3RhdGljIGlubGluZSBib29sIHhlbl9wcm9jZXNzb3JfcHJlc2Vu
dCh1aW50MzJfdCBhY3BpX2lkKQ0KPiArew0KPiArCUJVRygpOw0KPiArCXJldHVybiBmYWxz
ZTsNCj4gK30NCj4gKyNlbmRpZg0KPiArDQo+ICAgI2VuZGlmIC8qIF9BU01fWDg2X1hFTl9I
WVBFUlZJU09SX0ggKi8NCj4gZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4u
YyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYw0KPiBpbmRleCBiOGRiMjE0OGMwN2QuLmQ0
YzQ0MzYxYTI2YyAxMDA2NDQNCj4gLS0tIGEvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jDQo+
ICsrKyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYw0KPiBAQCAtMzQ2LDMgKzM0NiwzMCBA
QCB2b2lkIHhlbl9hcmNoX3VucmVnaXN0ZXJfY3B1KGludCBudW0pDQo+ICAgfQ0KPiAgIEVY
UE9SVF9TWU1CT0woeGVuX2FyY2hfdW5yZWdpc3Rlcl9jcHUpOw0KPiAgICNlbmRpZg0KPiAr
DQo+ICsjaWZkZWYgQ09ORklHX1hFTl9ET00wDQo+ICtib29sIF9faW5pdCB4ZW5fcHJvY2Vz
c29yX3ByZXNlbnQodWludDMyX3QgYWNwaV9pZCkNCj4gK3sNCj4gKwl1bnNpZ25lZCBpbnQg
aSwgbWF4aWQ7DQo+ICsJc3RydWN0IHhlbl9wbGF0Zm9ybV9vcCBvcCA9IHsNCj4gKwkJLmNt
ZCA9IFhFTlBGX2dldF9jcHVpbmZvLA0KPiArCQkuaW50ZXJmYWNlX3ZlcnNpb24gPSBYRU5Q
Rl9JTlRFUkZBQ0VfVkVSU0lPTiwNCj4gKwl9Ow0KPiArCWludCByZXQgPSBIWVBFUlZJU09S
X3BsYXRmb3JtX29wKCZvcCk7DQo+ICsNCj4gKwlpZiAocmV0KQ0KPiArCQlyZXR1cm4gZmFs
c2U7DQo+ICsNCj4gKwltYXhpZCA9IG9wLnUucGNwdV9pbmZvLm1heF9wcmVzZW50Ow0KPiAr
CWZvciAoaSA9IDA7IGkgPD0gbWF4aWQ7IGkrKykgew0KPiArCQlvcC51LnBjcHVfaW5mby54
ZW5fY3B1aWQgPSBpOw0KPiArCQlyZXQgPSBIWVBFUlZJU09SX3BsYXRmb3JtX29wKCZvcCk7
DQo+ICsJCWlmIChyZXQpDQo+ICsJCQljb250aW51ZTsNCj4gKwkJaWYgKG9wLnUucGNwdV9p
bmZvLmFjcGlfaWQgPT0gYWNwaV9pZCkNCj4gKwkJCXJldHVybiBvcC51LnBjcHVfaW5mby5m
bGFncyAmIFhFTl9QQ1BVX0ZMQUdTX09OTElORTsNCj4gKwl9DQo+ICsNCj4gKwlyZXR1cm4g
ZmFsc2U7DQo+ICt9DQo+ICsjZW5kaWYNCg0KRGlkIHlvdSBjb25zaWRlciBub3QgdG8gZG8g
dGhlIGh5cGVyY2FsbCBhZ2FpbiBhbmQgYWdhaW4sIGJ1dCB0byByZXVzZSB0aGUNCnBjcHUg
bGlzdCBmcm9tIGRyaXZlcnMveGVuL3BjcHUuYyBpbnN0ZWFkPyBZb3UnZCBuZWVkIHRvIHN0
b3JlIHRoZSBhY3BpX2lkDQppbiB0aGlzIGxpc3QsIG9mIGNvdXJzZS4NCg0KDQpKdWVyZ2Vu
DQo=
--------------teTPZZU0EqzfsCNfmTdsoPkW
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-----

--------------teTPZZU0EqzfsCNfmTdsoPkW--

--------------uYrqKpVGnLGwiBL102kr3Hq0--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQRvDoFAwAAAAAACgkQsN6d1ii/Ey+H
eAf9F/IC8YDKBqY8EV61gkEqzpoZdao/jB/5rFKUHMJRV9VvvYn8sRHPnnCevJPl0G77QRK6uM5R
J9ZZ5jwTQzsymS1maQS/Vr58GFBWPBt8FquF18CAZrPoyPzsV6CP7zJvfgvCEgFflUr3+5iw1BWG
hf+MnyDc0h6XsWo+6g0YJfHji016AuGeQ8gBE55xWpzGEfdlgTkyh98U1blwEPHeo+0RZFxfn9M/
52fhyhTFN/pHNE+eUFv3iSIadmfcepWATPyv/nnVi6/JknUHENp0cwn1vNmgUVmc0VEhjc6RH0tv
d9ipryWfVN62skmBjLlOcxpIzg/fuPWBWT5Pzz/eUQ==
=xp4g
-----END PGP SIGNATURE-----

--------------gWtvAgNznabXuhhlhnZWKwSs--


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 12:43:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 12:43:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510044.787006 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcQT6-0004lV-41; Wed, 15 Mar 2023 12:43:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510044.787006; Wed, 15 Mar 2023 12: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 1pcQT6-0004lO-1I; Wed, 15 Mar 2023 12:43:00 +0000
Received: by outflank-mailman (input) for mailman id 510044;
 Wed, 15 Mar 2023 12:42: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=CVd2=7H=citrix.com=prvs=431d4e183=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcQT4-0004lI-W8
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 12:42:59 +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 e634ac2a-c32e-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 13:42:54 +0100 (CET)
Received: from mail-co1nam11lp2172.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 08:42:49 -0400
Received: from PH0PR03MB6368.namprd03.prod.outlook.com (2603:10b6:510:aa::21)
 by SJ0PR03MB6616.namprd03.prod.outlook.com (2603:10b6:a03:389::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Wed, 15 Mar
 2023 12:42:47 +0000
Received: from PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034]) by PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034%5]) with mapi id 15.20.6178.019; Wed, 15 Mar 2023
 12:42: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: e634ac2a-c32e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678884174;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=SgWabNV403GKwCxC710GewszksQx3xnMmj0w0mUWHP4=;
  b=Nd9yOfYiWkJ2Bq2Z7QUaQ7Y3BBx7cTyOCn/xETuHkMpL92+91m1+sFYp
   YXQ50/MJaxQHIyzMtN5cj2XF5g9Yz+wvrPHvlbgixmCNGZUEj9/c0hSXX
   aKztRiRyzSA8gyvlei+op/2gV29l53zVX8wvAGwdPTU9PlYV5X3S9OX+w
   w=;
X-IronPort-RemoteIP: 104.47.56.172
X-IronPort-MID: 101355401
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:4kEaNaw0id+n9QeKDJ16t+exxirEfRIJ4+MujC+fZmUNrF6WrkUEx
 2VKWzjTOPiKazP9fNp/YYjl9kkFv5TdxodlHAJorSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlPK0T5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KUZR/
 90KLWgJUj+8iOzv4aupR+h2uMt2eaEHPKtH0p1h5RfwKK9/BLvkGuDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjaVlVMruFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE37eWxn6mBNpLfFG+3vF1hV3J4mgaMjMpVQv4n/2hpkCbZvsKf
 iT4/QJr98De7neDVNDsGR2lqXiLlhcZV5xbFOhSwAOC0K3P+C6CG3MJCDVGbbQOr9QqTDYn0
 luImdLBBjF1trCRD3WH+d+8qje/OjMcK2MYUjMVVgsO49Tlo4YbgwrGS5BoF6vdptfyAzDrh
 TeRsDI5ma4QnOYMzayw+V2BiDWpzrDZQwhw6gjJU2aN6gJieJXjd4Gu8ULc7/tLMMCeVFbpl
 HwFndWOqeMDF5eAkASTT+gXWrKk/fCINHvbm1EHN5U79nGh9mCueahU4SpiPwFnKMsJdTLyY
 1PUoUVW/pA7FHKvYep4bZKZD8Ux0bOmG87oW/zZddlSZYA3cxWIlAlnYUOA1mbhnVJqnawiM
 peWa+6lCHpcAqNipBK9R/0cyqMqzyZ4xmTeQ5H05x2i3fyVY3v9YYwZPUSHdPx/zKKArAjf6
 d9ZO+ODzhkZW+r7CgHd7JQBJFQNIX8kDLj5rsVWcqiIJQ8OMGEmDfDVzLJ4PYx4lqJavu7N8
 je2XUow4FjigXzObxeKY3ZsQLrqUdB0qndTFQ4tJFeh3T4IYYupxK4ae908erxPyQB45ft9T
 v1AcMLZBP1KE23D425EMsO7q5F+fhO2gw7IJzCifDU0Y59nQUrO58PgeQzssiIJC0JbqPcDn
 lFp7SuDKbJreuioJJq+hC6Hp79pgUUgpQ==
IronPort-HdrOrdr: A9a23:L0/VnK01/0lPcFGh1E0tlQqjBIAkLtp133Aq2lEZdDV/eMbwrb
 HXoB17726MtN91YhsdcL+7Scy9qB/nhPxICMwqTNSftWrd2VdATrsSibcKqgeIc0bDH6xmtZ
 uIGJIOb+EYY2IK6/oSIzPVLz/j+rS6GWyT6ts2Bk0CcT1X
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="101355401"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gBCGIQcANLUpNBq4PHL3oJBLHKOnwArp9O2+KULSoPsC5J5JMtHapiulx69JRcIAkRnrgR3o6ZrMHf2qxrI6mVlIjsYIVQ9CdSbjhOcxi9cHQ5TfYvsagUGgyxapNMC7VkYbDh69UW71OyXPmc3DYehDjBukookW+mdjyNpGxM+1GRbsuJiJ47kzser2sln5YYOaq5wTMmokX71Vx/mgHBZZPNaxy7JAkvLJmd14ovcXMPZqV74XyDDzXP+wW5Suio+uIzhzDLIc6R2xYd+ZeH2F8vzjMThp+ggjuXcCi8FeTVaUz1342u5RI6YKEQWhJC1AkrdTeowUyAMylzcK1g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P0JonGJtgz9xQEQES5N8rGnMh0zqxpDv9QCoQI4OF1U=;
 b=YDZsUalQ3WbeBlK38IJIr3bYB2YtjAo8t8rzIj9K5xnxnSlXxj579sTfFT9DT1lhK4ij831vSHIdmt1I/hcNZtcbU84l75j8H57blQKtOqkPIjdG5ANVkl02y06yMDUAxErod6PkpUJebYPHkKAF6V8tw2nM7EUf5R8HnuucfQJQMF/g5se0lRZX8rBVW/UkKfjI104w3QZ+ZADXtx4sNqb65781uME2yLD1Ice00gg62nHWgvZk5m4vjuFhbgCKyERP45kQvOBI73qVRiTHfELAIj6pRajKOo1eJnis9pKg070Fm3njU2r7ZIzBZ29JRTTyl/TqUspTSj5XUZ9swg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=P0JonGJtgz9xQEQES5N8rGnMh0zqxpDv9QCoQI4OF1U=;
 b=BilK5KsjTDb/fZX9dgKl+Lw/nYK0toM8y8uUh1ltvRJu10NMBgYD0+IfAf39wpT1ty/FLzjzACc/dfQ7Rzb6RoCPzKhsGugq7Aw5KDr6sHkiie91EaQWLqpEoWxBd0/SK0egOOg5u0gmihgMyKEamzYQT5dOlroAA6IDj6zXJ+A=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 15 Mar 2023 13:42:42 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Huang Rui <ray.huang@amd.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC PATCH 3/5] drm/amdgpu: set passthrough mode for xen pvh/hvm
Message-ID: <ZBG9QklWHdt+ZX6U@Air-de-Roger>
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-4-ray.huang@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230312120157.452859-4-ray.huang@amd.com>
X-ClientProxiedBy: LO2P265CA0186.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a::30) To PH0PR03MB6368.namprd03.prod.outlook.com
 (2603:10b6:510:aa::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR03MB6368:EE_|SJ0PR03MB6616:EE_
X-MS-Office365-Filtering-Correlation-Id: 36c5212d-154f-4a40-e253-08db2552c7ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2cD2jZpacKT3F0veaFtMvKp5Kpq7c6S+8lDkeZoPV2Z823gW+2FFIQbRaHDP5qCyJvrFPjcUR5LKcnmM/5hbbxmkn0316C46UjP7LdqLlgugvMTmfoL/ZGYrJ6nb2OfkPLJWGhqH2ms0oZQHBmXXYK+TFwxR4jcVPrFXdl9h0bshbYKwGjNYQ3UntLWvdT/LNQuPDDoR5fb/+sPXg0LwVkPv8oSciYL7/WPIcCh9z2WCsdJHD+vtq/tjqRcgP+hpjp3cpzYlcJeo6joEDAoFxudxqinXCwIYFUx7QNdgzr8mQ0osQWOhaogkGu2oCSKefZ/QVh2uB9nY+4JmWLRYsNSP4eulvF5FSVKQo2aBIOJMQN3o3pOmjSiu4ZZrxnMPi5whJv8F1K+Qt1hmJXRBFOYrLYzgAngSmD1YMLCCKcB2qNQv3akOIi4YGmGS/XjofCBjhNx3kasK8V5hL/FMwwplXlicq3EoA9o4/PpnPYFeCCXdwdb2Gu5EwpMI9hpQzgcs/5S33Yu3m2Az/pqSoZdzjvZpnbfAPpcafn8hCegfAk8tkAABkwfJ6jiew+PBneIBuT2Kd+wmc7o8WlZ/qSBh4CQDgHGAAQ8ChqsoTBlWzAudWgmGjJJxasCsJHhpg0fc857ANAMqbiCYgF079B3pCl/FMZO2YurJBMFGyaP8lGDfLKQU4YUZUwElVXI7
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6368.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(39860400002)(396003)(376002)(346002)(136003)(366004)(451199018)(4744005)(66476007)(7416002)(8936002)(478600001)(6506007)(6486002)(2906002)(33716001)(41300700001)(54906003)(26005)(6666004)(5660300002)(6512007)(82960400001)(38100700002)(66946007)(86362001)(66556008)(316002)(6916009)(186003)(4326008)(9686003)(8676002)(85182001)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aHo4SVl3dUt1V0p1UXN2K01hQ0dMcHdub012RGE0dFZmbWhDL1JZcEd0NWoz?=
 =?utf-8?B?bmc1THNvU3NBOEV6K1I5cWtWRkQ5bzIrWldoelFubjlYM2JucGRZSjlTcVlq?=
 =?utf-8?B?ZkVWQ0tyQmp6NnZVQVhPR3Iwb09pdmtZZTY1SFRPY3I4VC9ya01BMDZnMEpm?=
 =?utf-8?B?R0gzUy9ackt0VUNmbWJIZTNiZlp6MysvNUJKQVJDUmIvd3hmWHFTMHhhSzhy?=
 =?utf-8?B?ZnM2OUErcFc0UTRlVk5SaU55ZVNZNXlBU2ZPTU00cFhjUFRCU0FySkxWYS96?=
 =?utf-8?B?dXAzRFRRRlhwa3Npd3VzTzl4dHN1ZHdVblBFUktCQ3o0eWJnVjdTeW5YeG5i?=
 =?utf-8?B?NHozZWpRSGE1VnYxU2xYR2wyZFB5ejg1bldTTElKSWY5aDAwUUkvR3hhc2NW?=
 =?utf-8?B?KzdSckZwVzM4V0ZCOVBjZWJvNHF1RWFlVFQrSDE3cEJBdjdjNWY1amFWN1lP?=
 =?utf-8?B?Yk9lZzJ1NERiamtyWUw2L01vc2hyaUhNTjFzNHBXcEt0MFJCS0xFWGprbEg2?=
 =?utf-8?B?L0c2WEZqbGNZMXBmcEE0RjdxWGI0QXo1ZkRsYkdjdlZWU3UwNHMyYmZua1JF?=
 =?utf-8?B?K0l1YnAzU08zc1JGdzBzRTdIVHlTK0Raa2FhcGlNWHorSzArQTI3QmRPTUUy?=
 =?utf-8?B?b0JTbU9ncVJuN3o0UFBBa2wvQ3dpOGJxMFhuNVJ6bnpWTjdScEFUSjhJSTFB?=
 =?utf-8?B?cktHR3g0M2RGTm9QMys5MHZJZ29Ib1VGUXBPbXhjb0psait0YXpBK01zenV2?=
 =?utf-8?B?dVYrWXVtQVFlcVFZU1dIM2JWaUdQR3NCZVlIeE93dnF4T3BRMkVsM09qRXA0?=
 =?utf-8?B?MS83RjZGQ1hLUmphNmg0VE1oN3g2alpCZENZNWU1ZmVwY2p0NHZuOEJuWC9M?=
 =?utf-8?B?MWFrajhNM3pzLzkvVElyVWNqRklabWlzT1c1NG0ydWxNQ3RZWUpBMVFZNVVi?=
 =?utf-8?B?anBKQnV3bUNJWTFDdTRpR05rTkdEMGhwNkIrOGFHcktBVzU2Znh3QktISGxv?=
 =?utf-8?B?U0tmcmFTcjZzQ0pUMnUyVjU2a1E4NFN0YkdNaXpTZjhxc0lWV0FCN3g3c2Fx?=
 =?utf-8?B?TFRKWjlMMks0ZDRtTGo5SnZ1dld6dFZVeFRtK09mcjYya2dLc1BsdkJFTEZq?=
 =?utf-8?B?Y1o3dTVMMFl6aWlFalkyODRwSEpXSXc2aTF6aVV4VmltcnN5V09TZnFDQWJZ?=
 =?utf-8?B?QlJJQUdmcG1NakRKRzNxckVoRng3OFdUbXRkR3FkeDVtM1d5b2VvYVUxMi9P?=
 =?utf-8?B?YWdIdFIvS2VaUXc1QkZQWTMrNXhmQ3dXVFpBTVVZUG45dEd5K2h1U2VKSE0z?=
 =?utf-8?B?WWo5SFg0MFNucGZGRUJ4N0s1cmpjVlRYWmJob0g3WERKd3A1LytiUlkzZzht?=
 =?utf-8?B?dldML0RqTHR0WmM5d2NOdzQ2STZ6MmJOaWhTcktZYmd5bncwNzlDUEVPV2M1?=
 =?utf-8?B?TmM3aW9xVndFYzkyeWgvTER5RTV3WFhwaFNvb3dFUGtQbDN3eWNvT3lyZ2xH?=
 =?utf-8?B?Z3gxMkFseHBZWlNqc0M4VzF3ODJlcEF0aVFhRGJpZVY1bTVkanJITHNubFMy?=
 =?utf-8?B?blJsRVB4T3ZVUmRla0VjeW5GdTBXR0xxRFFxNWJwMTB4aWZiK2h4ZDU1MGpF?=
 =?utf-8?B?dnBHQ3VaVFo5MzRsQTN3bDA3R001L0d0UG9Kcjk2elB6WVNvbUhrUS9DeFh2?=
 =?utf-8?B?STNtWStxSWVrNkpXNWpjYkVHTE9ja2tLYlllODFJY0hHMG1uazlLZGtKSjFL?=
 =?utf-8?B?WWtyN25vS0JaWVlYRTkzVHBFQm52aXI4U3I1dnNqMlM4VUdJYjU5VkFsRDRj?=
 =?utf-8?B?OEZDbVlNK1NIMHJmdnV1V2hKamY1cCtnZStwTnhGNTY5WTZGSmkrRFc0M0pr?=
 =?utf-8?B?bmVmcUsva3N2QTRXOFVmSzhtc05ibDFKUUxaWnhGQkYrUGgyaVRIME91TVMv?=
 =?utf-8?B?ZWNoazVGZU9uSXprd0NJeHNLaGJDSU94eDBoT25Nd01wKzk5WFh0NFdDZmlp?=
 =?utf-8?B?WWQ4S3pNSm81WUdqVW9CMVVRbndZeDBoWmY3c1ZKbDZocW9ER1Fwekgvc1o5?=
 =?utf-8?B?cXd3MmZaNUJuRnB2ZmVLOEU1NlpRM1RWNVBHQ1Nsd0hqNzhFdERYbWpaUVhF?=
 =?utf-8?B?RUJYWnJKVUpPUksrTTE3SXdPcEcydlc5SEpHeHNaQ3VwL3VhbUxLc3JmKzN4?=
 =?utf-8?B?bUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?ZlFaTzAwYXVsN1ZpcUdDbU5qdHpMeTUvcUZvV3FCUUx5S25qckVhRXBZMVZk?=
 =?utf-8?B?R1ZIV3J0ZUsvTFFPRTFZcGxRVTFHQXBSNG4rNUs2YkJxRmdpM20zMEt6WVU0?=
 =?utf-8?B?QnJ5QjJQejVwUUQvL2pIaFRVYU9OTU5FZVpqK0pCMTJFVEJUeVhWK3Q0Qk94?=
 =?utf-8?B?cG9uZHgrZG1qSHh1WDd6Y2dBSWNpd2MzSC9GSkF4UG0xb2FaN09YSmc0a29j?=
 =?utf-8?B?U1NyK2h5RS9KSDJ2UThJRmV2NkFnV3dHRnNyQk5QME81dEVBSDRLZU5xZStX?=
 =?utf-8?B?dlgxRkN3cFB5cnpRWWVMMHVwZEFaMHpJQlh0aEFMS2JadDIrT2hmaFdCQlZC?=
 =?utf-8?B?NEJLWFp6c1R6WEpGWEJ3Z2pBRGlXb0c3ZjhmYUx3S3VlOTZLZTVGQmE2eW4w?=
 =?utf-8?B?TGtXOUpTS3dPby9ndWhEbzZaNzZtSFpaY09jejh4WHIyWld1WGkrNHlNdE1X?=
 =?utf-8?B?dHpYK3RYWTIzaGc3N2JTcitjQnMyN2UyQ3RYTEZmTndqeGJNTWp1UitpVlRk?=
 =?utf-8?B?N3ZjM3kva2ljdTJNYkUvR0s1WEJOcnBSYkNWOXk2aE5GbE1BUkRNK2pUOVNF?=
 =?utf-8?B?R2x6ZlZaTXgxUlVHWUdLTytsVUJCY2J1TGlESmhuQnlXcTBxQ1ZKSWhITTV1?=
 =?utf-8?B?Z0hsSTY2UUhDeHpmRGJIY0plejBBZWIycE9NVHpkSnJGenJaY0krQXIySmVt?=
 =?utf-8?B?OE4va0FZYWJ5b3dBZ1hBcEpLUHF5cWx1dDh3bmphMWoxaGx6MFh6WE1DL1cy?=
 =?utf-8?B?RnI3MWF5NnRWdDRhYWFRSjUvRXZiM1N2eWlpdGxURU92WkNVNEFYSVpNbk44?=
 =?utf-8?B?eXVQNVJhSDdwOTdSV2NJdEVCQy9pTXdIWmdwaXFBUm9mMDJ0cEZwdGorRmlZ?=
 =?utf-8?B?blo5MTA2Q2NXeG9PWnFIam9vZzcvUXFIU2dqOHVMWlhQR1FtQnpBbmZEOE01?=
 =?utf-8?B?ZFE5L1haMWNBZC9LcWlBbS9ESFN2aWR6VkVkUzZhZDhOdk8xanVHL3B1QkZn?=
 =?utf-8?B?bVE1endpQTBPckpnMXVXZ2hxZHpwbkxtWjVTYUFYd1dTQms2c1ZWbithK2J6?=
 =?utf-8?B?clV3UHdnd2UzNnJ3UnpEaDRYUFlJSkRxb255Z0NKeExIR25PZFZ0Rmc1OEFJ?=
 =?utf-8?B?YThQSTlIbVcvUGFURHFaRVFIaW41b3Q4K1NkR2pBRjFXaWxXTTdqaHNLVTYy?=
 =?utf-8?B?cjFsZkdZcDVtWGV6dDZmZ2hka0JZZ3oySW1CbmhCYkhuT3lQdWx6dG11SGd5?=
 =?utf-8?B?K0pnOW5QdWJJaW9WUUpuUGMyc3V1ZW92U2R2Ui9vMkFpazd4b09Zd3ZFQ2R1?=
 =?utf-8?B?OWhxUkcxQjhLeGhrOTl5c3RiaGtLUUtqUVhCWUlnYjdQNzNkSHBYb3VER01P?=
 =?utf-8?Q?DVQv34xZXlvte+gnoJaFoSBYtUllLTK0=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 36c5212d-154f-4a40-e253-08db2552c7ac
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6368.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 12:42:47.2942
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pdAE5IIiugXuYaeEcXczlamejFMNP2ACJ2nHc2OwdduzuVC1Zt/OV0r3fhezaZ/PaqtqXmarHg8WujTYBRJMsw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6616

On Sun, Mar 12, 2023 at 08:01:55PM +0800, Huang Rui wrote:
> There is an second stage translation between the guest machine address
> and host machine address in Xen PVH/HVM. The PCI bar address in the xen
> guest kernel are not translated at the second stage on Xen PVH/HVM, so

I'm confused by the sentence above, do you think it could be reworded
or expanded to clarify?

PCI BAR addresses are not in the guest kernel, but rather in the
physical memory layout made available to the guest.

Also, I'm unsure why xen_initial_domain() needs to be used in the
conditional below: all PV domains handle addresses the same, so if
it's not needed for a PV dom0 it's likely not needed for a PV domU
either.  Albeit it would help to know more about what
AMDGPU_PASSTHROUGH_MODE implies.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 13:11:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 13:11:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510049.787019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcQuW-0000bs-Hj; Wed, 15 Mar 2023 13:11:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510049.787019; Wed, 15 Mar 2023 13: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 1pcQuW-0000bl-Ed; Wed, 15 Mar 2023 13:11:20 +0000
Received: by outflank-mailman (input) for mailman id 510049;
 Wed, 15 Mar 2023 13:11: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=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcQuU-0000bf-T1
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 13:11:18 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ddfe0eff-c332-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 14:11:16 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS1PR04MB9684.eurprd04.prod.outlook.com (2603:10a6:20b:474::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 13:11:14 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 13:11: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: ddfe0eff-c332-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OkZjILPDxqeBgn1FtCBvaYvVGvoLzWy0IZy6QWJ+I7yG5gYXCtHODc0Nl2Hmi1u++Umf2BhugAIjBPSPryAqvbQIYLsKfzvIrRwFP9wTJAHZr0mygQmnf9KXhPKIwHE8plA/ywlQsRrZzBIm/jG89G/kuTKDeRf8p4VwhzY8v1WINRsTTGiCLER1tqIGt/nRTzPO0HHoFPX3isP8w5KIcIZH12ISW87vHqDHgS6z25hrGQ8v8E7UQQCVp6Cx/sO2/WbfQ/royeZfevLjMjRJoj8XgRdj7YjWk2+Y6Wj26JlMW5iZFGH9wunmfwhfEM/fzcJ8N8aybAxMRq+9ae/cOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cBwXD6E2Z8R894di53fgXpLAR/qTALMxrCUPujuCOEE=;
 b=BU5RzcbhBvP7udjygEz2ZTBS9RYX561bg6mUWdc8e2Qz5zm9eIxCsZ/8qFwb3gWUGX1HU4VIS4pXd/qzyWaWMn6fJp8y4dJHtUrVdflp/M5BeHfdnrNSBsq2Yol296XUHhxqQDzlYcbFK3DtszV7a7Suj8Rs/HbAL8oPLGqd63XDCumhv3xOLTqNxMbweWVspLBchUqQ1+uvamUOIm78UjNR5lznT8LTO1FMUze3msqS5GAJ1G4Q188stcMWY7cWzyYmr8B5i33jmdaUE1EDdQnaLXzkXmXr0q9kbhZk0X8PhrgDw83Y8/Gp0lq+5YLnSelLgcnh4Y8XybixRt9EuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cBwXD6E2Z8R894di53fgXpLAR/qTALMxrCUPujuCOEE=;
 b=wD9EJ9s6DfRIkxKmEeRmzwzSLh/OPFl0eOCwOUwgj7pgb9+IXIw0NlGri5kyp4eg7ufbi/r3dCz88oK4nPfOVrt1dHqm8+3DP1Fkdk5k6mOol9WL2LQ5qb0UVVEH9eLVnjGweHnx61nE7ADIZlhbAo3klTX5Yg+5Q0dBvHy5pvZZYo5IoUjuKDuuvjLCc8AgxWqYD3OtdwCocIMn5K/0Z5wGK1WR1WewX93a4wmppRUkONIkBMvrAoSJiNt3kZcv7Dur2ScwTscyC0dg1xGB6Qwe/qXUP+UW/pHgtdCLbj5yfxa0/Xhgwk547bOyk3z+O1xUuHQ3lU+k7JLWYCsyxw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <737fec84-42da-3b9b-6cb5-d18406925403@suse.com>
Date: Wed, 15 Mar 2023 14:11:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/console: Handle true dom0less case when switching
 serial input
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.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: <20230314142749.8845-1-michal.orzel@amd.com>
 <da7db77f-3ab8-edd1-bc69-460ca3e2ce25@suse.com>
 <7676cba9-6f92-0c97-dac3-372ca47be34b@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7676cba9-6f92-0c97-dac3-372ca47be34b@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0012.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::22)
 To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS1PR04MB9684:EE_
X-MS-Office365-Filtering-Correlation-Id: 504dbe58-e293-4b19-da84-08db2556c0d3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TDPZvPnsJJ9g7jy0GWTLCCfL2FRgLZfrn7RUbgui+T98RO90DvYoYu92uleghFKM82mELIbeQNl2eXuv8u6/RmXH8y0o21mC6xliIhjEBAKXIqthzRvY3BzC861LBx7NayzXhR3F/LqXAQFC2/n/SV812OVlXfOCilZCG9oswe98ruw0e8hvTC2oCy/om0eHmrEskgFz1WdVcms18Yxze5PLnlvveNNquGt5ZlgoAhuoZaNvAm8eUxk6X49zcHMxu+rt4by/zq7vrBST1Ygp85cc5T6gvgiNn+ffyG4p16Rhh1477b2MWj9HMHzmmA7xp7mDY2QxYiW1vJAnvbo/EBCbaOSv5evB9vtBJExV8URxct84ecba5n2z5Vk60sCMbenObSDN6HDf+CRu9DlcEAgtEdP46Q5AoVPjIZ/2+Jt1elMgs6ZbMkzDVHF31giSXoycxcZ5ztjHezojgUOo635WtMw0k3NtigxzLfXO67BFRKY/YSn9zCa90agQNKqxtWQD733lwqFTIXl2rYV2MnemaXStlJnMm0NqfK9weW9+aLjQQKykNqghjZM9EB3JXcf+RPEvvP21MoQPm6uPUqL5of9oEQGJOoK2+Nd/qJXX1eu6OKNErKE1kDTDqS+XlypJ7oQeENj+SV1gk+aVsP+JKLNmeh4uCIYLuGfRXG87gV+FWB6Iz4ctHfP3sxmIMVxhH4E0qOCHeAUsdY6KQYhrEAKGZDTbg0g3fLiCvozSgI0b68KugdBvRB3eaIS/
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(376002)(396003)(39860400002)(346002)(451199018)(86362001)(2616005)(66476007)(6486002)(66556008)(66946007)(41300700001)(6916009)(316002)(26005)(8676002)(83380400001)(5660300002)(8936002)(186003)(54906003)(6512007)(478600001)(36756003)(4326008)(6506007)(38100700002)(53546011)(2906002)(31686004)(31696002)(32563001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eWUvYU92RWNKUmRwYktYK1RGVXZnekJMS3M3TEFsUkdvOENSVG5WUno5cDk0?=
 =?utf-8?B?TDJLMW1obzdRNG1SdjI5WTl4YTIzYzg4bkFBY0ZVN1pkelJUbFlzMEdKK3dZ?=
 =?utf-8?B?elFLWVk0VWRyd0ZKY1FrblZGcCtHMW9ub0sweGp3YTEvU0k3TW5MQmM0UGpP?=
 =?utf-8?B?U3lrNWFwWG9QaFU1ZWVSWXJQMlV0OE16ak1QL21HVUw3ZE8yTHMvZE1jL3Ey?=
 =?utf-8?B?Y1VEUnlHcDE3Zms0OGNlNHVLYnVzd1NXQ0w0azBNUmdBMVUrRXMweEREZEw5?=
 =?utf-8?B?ekxKcVlySHY5ODBkRGpvbVpjWDlibDM1YmlpZ1NhOXpQaTlHLzJ5WmQxUzdD?=
 =?utf-8?B?QVJ5blpOKys0SEN1QjlySTczU2YyUng5RlJVYXJidHB4cjdtNHhOMVRpbjMr?=
 =?utf-8?B?NUFremhuTTQ5YkprQ0JxYUtVaFJPdmY1K0tTT011c1l3Q212NWJQd1FLSFBh?=
 =?utf-8?B?YUp6M3MzSDBzQ05DVnlXVHB1T1dENEt6dGswMDd1SFRMbkxkSW1xZ1EyMWtU?=
 =?utf-8?B?N0taaGlrQzdoR1UzNzRNZlE2dUNrYUw4WW9IL0IxL01ub2NKbS9ocVgvb3Aw?=
 =?utf-8?B?eThLYnZ2NHV5bzlvY1dxcDc2ZVhtVDgrWnZNQ1k1NnBrRHZEMnZFcEZKZEgw?=
 =?utf-8?B?TFcwZnI0UjlodnlVMjBGYzN6VUZkWWdCbk9SRTFnazVtd0paUUROVC9xbnUx?=
 =?utf-8?B?cXpjeWNOM3l2MzdGeFp0aFgyN0NhUE84R1p3U3VlWkxFMWNzejJPQUt4Y3Fa?=
 =?utf-8?B?clJueURmYVZESU14UThrQ1FGSm5lYVRXd0craFBER2FBQ3MvQWxQczdEdkxO?=
 =?utf-8?B?NDF4a3ozY0V2Y3M5Q0FaVzBMSnJvMUhseVREbnBKNEpkNkt6a0h0NjVuVi90?=
 =?utf-8?B?R25NVDZnS0F4VUZDY0xKbUpOUCszT2hyYzJIZDZkWGhCOS9obk9vWUJsaGFm?=
 =?utf-8?B?WjdzV2hYbzlNMkNEQzVoMGYrSUpWbS9haG5TWStWVVBrMmtuR2ViWUIzRWIy?=
 =?utf-8?B?c3RYMGpPYjg0ZHhJTXg3MTA3TzgvMjlVRVU1bTNINEJwRTVrWVdId2Q0ZS8x?=
 =?utf-8?B?L25hbCtFVTdiUjdoa0V4TzhBT2U4L3lDeHRmMkZsb1dFTmFKTGF4SG05WW1F?=
 =?utf-8?B?UFZvd2x5a2I0aytuRys4NHo4b0J3UXByVGtuRkNOZnp6K0dCTjBnRmhOaXdY?=
 =?utf-8?B?aVBseWNUQU9OWGVpaWZWUXE1M3AySFpEZ2hPK1FVSGpkODI3R1kxN0tvR0hV?=
 =?utf-8?B?YjQzUlZaVFMvN1diSTNXT3NnTkFRelphaUp3elgzblNCZGcwUXBKZVRwNWlj?=
 =?utf-8?B?eE9ORVlEcTd1OFVuUW1rUGtjcXdLRDN4ZDg1aitrTW9hTGVBNWsvUUg2clpi?=
 =?utf-8?B?alViZEF5dDJRSnhPVDhoaE9NSVlaRHI3aENTd0YySWdlQXE2cjhGdDdUSUZs?=
 =?utf-8?B?a25OalB1Y0xlSzNraHZWY1lhL1kyVHFxNWoxQU1pcGVGWnRwbGkrRk9XZ053?=
 =?utf-8?B?STZtd3NjLzhGLytwSThUQ3RhVDArUFF2bmVrQ0lzMFhGSlk0d1R3VS96V2lT?=
 =?utf-8?B?NE5CeExHWHo3Q2xPa2FQeDNPME9jQU9ZSjhGTHZ6TDhyaVhkNnBhdm1zSHBl?=
 =?utf-8?B?N3pZelBPR29tbk9WZjVMYWpMQ0FsZFpwRG9lUGxYUHhXclhmTHY4UStBbGNC?=
 =?utf-8?B?R2EyNE9LZUc5UnFzSkVrQ0crTk1KK254RmR2a1VwcGw1V2ltWjh3NU5DeFdl?=
 =?utf-8?B?VnY3QXVRckdYWlQ3cExZQ0x1akY4WFpySUJFd3BWWDM5OUFDYzdaNWt5WTNC?=
 =?utf-8?B?eWs2L2hIYUF6VWZWMG0vdVhlajJLdkVzYXZVMFpQSWVGNE5Hbng3MnJwc3No?=
 =?utf-8?B?WVdMWUZXdzNXUDY5d2FReU5YVDd1aVpXVmJvcEtCNFA3NldaVEpqM3hPUnl0?=
 =?utf-8?B?aHA4OGRPaytSRzJRMDU1eWc1NTNLRUkzbzlsa05UenZZNGdXcjhzZC9PRnUx?=
 =?utf-8?B?Tnl6NFRHTVJhSEQ2ZGlSb2EvS3lIMC9Pa2E4QXpKMG9hU2dxTFh6YklQU0Vm?=
 =?utf-8?B?R3p0VWZpZmE0RGZaYlhobUR5UmR3cyswbFRNTVZLNWk2d2kwdENsQVB4ZGZK?=
 =?utf-8?Q?3gqEMinevqeGBVd9M3yYmN4uR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 504dbe58-e293-4b19-da84-08db2556c0d3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 13:11:13.7612
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: y3NITEUqkMQbJorwferltcwhmwNUcf6FmGxsGA9sbhGzOFcLlljsn7hACHr5kRG7SSLNIA3OINh0o6/ydMDH6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9684

On 15.03.2023 13:34, Michal Orzel wrote:
> On 14/03/2023 16:17, Jan Beulich wrote:
>> On 14.03.2023 15:27, Michal Orzel wrote:
>>> --- a/xen/drivers/char/console.c
>>> +++ b/xen/drivers/char/console.c
>>> @@ -491,6 +491,14 @@ static void switch_serial_input(void)
>>>      else
>>>      {
>>>          console_rx++;
>>> +
>>> +        /*
>>> +         * Skip switching serial input to hardware domain if it does not exist
>>> +         * (i.e. true dom0less mode).
>>> +         */
>>> +        if ( !hardware_domain && (console_rx == 1) )
>>> +            console_rx++;
>>
>> The consumers of this variable aren't really serialized with this
>> updating. That's probably okay-ish prior to your change, but now
>> there can be two updates in rapid succession. I think it would be
>> better if the variable was written only once here.
> ok, makes sense.
> 
>>
>>>          printk("*** Serial input to DOM%d", console_rx - 1);
>>
>> When invoked from console_endboot() this will now switch to Dom1,
>> i.e. that domain becomes kind of "preferred", which I think is
>> wrong. Instead I think in such a case we should direct input to
>> Xen by default.
> Switching serial input to the first usable domain is the major motivation behind this patch.
> The number of times I got pinged by users with *apparent* Xen issue on true dom0less
> just because input was directed to dom0 which was not there (not everyone seems to read the
> boot logs) forced me to create this patch and manifests that this is not the behavior user wants.
> Switching to Xen console would not help at all. Also, we already have a way to set switch code to 'x'
> to default serial input to Xen.
> So I think what I did (switching to the first existing domain) should be the default behavior (just like it was done for dom0).

Well, I'm not going to stand in the way, but if one of several supposedly
equal domains is to be "preferred" in some way, then I for one would
expect justification for doing so. If that's the route to go, then the
patch snippet you provided looks good to me.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 13:24:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 13:24:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510052.787031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcR7A-0002Kh-Oi; Wed, 15 Mar 2023 13:24:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510052.787031; Wed, 15 Mar 2023 13: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 1pcR7A-0002Ka-Lw; Wed, 15 Mar 2023 13:24:24 +0000
Received: by outflank-mailman (input) for mailman id 510052;
 Wed, 15 Mar 2023 13:24: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=KrYV=7H=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pcR78-0002KT-MO
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 13:24:23 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on060c.outbound.protection.outlook.com
 [2a01:111:f400:fe02::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b18362c1-c334-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 14:24:21 +0100 (CET)
Received: from AM6P195CA0066.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:87::43)
 by AM8PR08MB5841.eurprd08.prod.outlook.com (2603:10a6:20b:1db::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 13:24:17 +0000
Received: from AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:87:cafe::b8) by AM6P195CA0066.outlook.office365.com
 (2603:10a6:209:87::43) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26 via Frontend
 Transport; Wed, 15 Mar 2023 13:24:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT018.mail.protection.outlook.com (100.127.140.97) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6199.11 via Frontend Transport; Wed, 15 Mar 2023 13:24:16 +0000
Received: ("Tessian outbound 0df938784972:v135");
 Wed, 15 Mar 2023 13:24:16 +0000
Received: from 0c7246ec21fe.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B205CC26-577E-408C-9F14-0075D3B70F4A.1; 
 Wed, 15 Mar 2023 13:24:05 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0c7246ec21fe.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 15 Mar 2023 13:24:05 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DBAPR08MB5816.eurprd08.prod.outlook.com (2603:10a6:10:1b3::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 13:24:03 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6178.029; Wed, 15 Mar 2023
 13:24: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: b18362c1-c334-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eK1nl4e1U+mzBeiwkeFtLn+KNZwrTihxIoA8DvIfBNg=;
 b=6LgUrViMr8oCi9SbGwzumflJjsSRR2RRVC2dQ3cMb4KzQe63VgYJ/Zuoqfrydyco/YubAhp+gE4bcJAbKm7dOrRchBv5N+fHjih6GbWtArctipxY7Y0iS/nH4F7GTJz9fW75sr4lJaHt6AtEVaY63fZFkuUxpawZ5njEX4oiqyo=
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: 1fb84523e36739eb
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xkdusb76LBPkdaV/U+j92SmwRDUTG6pHUtIFILR3IdJiXmwd0AG5ZcIBE7kjeP9fiYoo5edKvpN4ZOtU1rbkxgUokXM4WnpoLRq1iNvhuNCzYS44pRYZbSwpKL2ihyNOpx1OWwGbW7nCZkGlSSx1DUiewl8Q0JWWZvNOkIGsjz4983RG45QKhhtfPANZU+7tlvEDDdl/5c+AX7ZYQVJVoWjBLXszZjg1tsp/kUs/E499JHL+/8307g0Y/9LaYi9TzV7S/7skpDekG0ODouJpgQYrfrEGWZIU+JmwLmaNbKwVG+sEPAdgq2gwc1Axd1NqQZ5yQG6NyVbyqASvDrJq+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=eK1nl4e1U+mzBeiwkeFtLn+KNZwrTihxIoA8DvIfBNg=;
 b=XLdcNIWKYd1wz5NhkQDuSXB7BcjlGe+WCszo3TMj6Whvfj3PW7kY6tZVUe8GzSQB8uXVz1NV+5H8sOeWNojOsJNaG/xtguBcItTIJqBvGII5nrGJgrkpiANkwK2p495Yu3fbX/DGA6EXjrwlpoSYVeKWDueYyC5I4jFBivfNSqGiSpx0qHwFrEa7x2LIhE77td1/34YwM4CX7zqC72LcVtY70hmLkTFOcDvD4KTE3abjXSjfOCYXi4DiG9jcw8jpxELv4nlkc7oBa8novFwalOIeAr6nfrcu+HrZkdMLgJgSUZCQSf6ICSy1hCQ5imy2tyi6o2BVH+1Np37wG7cNuQ==
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=eK1nl4e1U+mzBeiwkeFtLn+KNZwrTihxIoA8DvIfBNg=;
 b=6LgUrViMr8oCi9SbGwzumflJjsSRR2RRVC2dQ3cMb4KzQe63VgYJ/Zuoqfrydyco/YubAhp+gE4bcJAbKm7dOrRchBv5N+fHjih6GbWtArctipxY7Y0iS/nH4F7GTJz9fW75sr4lJaHt6AtEVaY63fZFkuUxpawZ5njEX4oiqyo=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 18/20] xen/arm: ffa: support sharing memory
Thread-Topic: [XEN PATCH v7 18/20] xen/arm: ffa: support sharing memory
Thread-Index: AQHZRtMh5yiB/qS3PEuFaSIvG3USOK74g6sAgAIrO4CAAUY4AA==
Date: Wed, 15 Mar 2023 13:24:02 +0000
Message-ID: <ABA67A6F-F0D4-413C-9FD1-C7E2FF8FAF16@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <fdca8effb1c2c209fd9d15c90360196fa67a845c.1677079672.git.jens.wiklander@linaro.org>
 <CC630914-0816-40F9-B33C-86EC4E3B4BE6@arm.com>
 <CAHUa44FHh1d4+6dc2CW0Zpu+7uBaK0i=DRENQbtZwGoOR50aDw@mail.gmail.com>
In-Reply-To:
 <CAHUa44FHh1d4+6dc2CW0Zpu+7uBaK0i=DRENQbtZwGoOR50aDw@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.3731.400.51.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_|DBAPR08MB5816:EE_|AM7EUR03FT018:EE_|AM8PR08MB5841:EE_
X-MS-Office365-Filtering-Correlation-Id: 8da84efc-7b43-443d-1d87-08db2558938f
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:
 5vxAjRa+ZoBdZl757MFPI1ZPOv9qgwAeEgLM57MXYXgiuCisCWqiVtIqf1BmJBv/MbASWGRaPPFAKnyMbM+mbwziIeOcNbCkHL8j9EKTx1N8KjJf1br0tvuC3x5jHrcT74WeZfthDBZH2gNqRWQoVTRjil12fPRRbHVxlOiAEPQUTVyWabIPKQIvxdZNIESFpIVa5/uKAmRhgnwtWIzxo9LKpUYf0jzjRvjzqBA4WBh6mo72zWZXv+qfRVqohIzx1PI0iInIQlpcj+UsPPJch8Udt6JcvLoo/lyssfZKqbbgIEFzvJPd+owy+OigZkX7KSHGUBBttBMoD1ixyt6HuQSpezyDkFYyMC9kLpRMXyoi6Bas2b/aW1AemwS82GkDwCcagLttsrLaMbe4rfIjVI671kxBJtf852tDRVeXL/3H/6bhL7464FDDDUEKNY/LeC7zrxgoGEUYkVgV3NR2Dy1BKU3wlSb82JszEua+5Zv8tDRA7x2nNL8SUvKWiZSo/e8PhsLzTHuoyaV4BSMn8QLwxraWMGTYfbGpSzqbD0fNfLTDsr449kNB4vRiHaHEp6XJsVZU05lVPNnJqhDYR9OAmPtwp9Kgdm3yi7MBuxLQ5Qbiqz+sVeGiCC9MCBFjbGyDjjOetjJ46f2dUVOFwoSWRF7RY63Dc9h1R0SnqS3BmNLnQT1Lfo4n48p7SA/l8Vp24uf9E3XfyVK1bEkzzE7Y8pE1gzgoSo4ithjbvh4=
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:(13230025)(4636009)(136003)(346002)(396003)(366004)(376002)(39860400002)(451199018)(8936002)(30864003)(5660300002)(41300700001)(4326008)(6916009)(8676002)(33656002)(86362001)(38070700005)(36756003)(122000001)(38100700002)(2906002)(478600001)(83380400001)(186003)(2616005)(71200400001)(6512007)(6506007)(53546011)(64756008)(91956017)(66446008)(66556008)(66946007)(76116006)(66476007)(316002)(966005)(6486002)(54906003)(45980500001)(559001)(579004);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <B6610B72990A5E46BDB697147B3B6FF2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5816
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d117e9e8-1041-4ef2-efd3-08db25588b73
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	27k+zuRvyEa/+HH2IPYCyILQ7fKwHnUo1W9UZn44Wce8g6RwAeyWvLpSQ6q1fwzTM3lUz/O4xIkm2xnrCkovbktcmRVk8J0k8/+WR2nEAHc5/c4sy3n2jRGaZDfNGqbSiwW00fITbIhsj90vneyRzFzl2vgX0BDUDC8nYfh4LdEFibMcXpHVBtDL3iUpOoh3UbHD5Rb4GWiQ6ntD3Rc8n6CcfV2KXeuq5bbLUCndIrNOOcvW9kTFxk3kQ2tQ2OCttQOopBTFB538pb6O7bxl1BTvw4AHsZ2hYnqzUAVjmR7JHCMvx2Ry1xrwW7RCFyn8O9/H+9vviK6zYCaWx8iWsG9dG0fRHgdAblPSlRQ7wKNSaEVj1w/1klY69omA0UH6Getz1FVzGtrTTFQxQbgKZxxsUxdzsiJht7DnYAqdUbsIeXxhIlXSfiqVvJ1+0tH2MD/+HVJhHWKhJtjsXhHrxrnFJIsy59uG7Vnb93x7CkJc2uZNMJRbtvyOsG74pWmcjDUY4zLa0cdT+2Ri3pBHtZm7e1NpUxNYcaePQQiHf/YxU+RD5qFK7CDx4UNkOpLSu42EBm/5JOYUl57ecvp4TAXk5sPAvmNVgPZ1MmEidjZrXed6D22O9Vv7zExCBJXMCEyKXLQRzjiDivfvQOJg6LR86lZdSSZjy1QftVuXvQ2WREmXln9ACrdLT+NhJFuh
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:(13230025)(4636009)(136003)(346002)(396003)(376002)(39860400002)(451199018)(36840700001)(40470700004)(46966006)(8936002)(6862004)(30864003)(5660300002)(41300700001)(36860700001)(4326008)(8676002)(356005)(40480700001)(33656002)(86362001)(36756003)(82310400005)(40460700003)(81166007)(82740400003)(2906002)(478600001)(83380400001)(186003)(2616005)(26005)(47076005)(6512007)(6506007)(53546011)(336012)(70206006)(316002)(966005)(6486002)(70586007)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 13:24:16.5099
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8da84efc-7b43-443d-1d87-08db2558938f
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT018.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5841

SGkgSmVucywNCg0KPiBPbiAxNCBNYXIgMjAyMywgYXQgMTg6NTYsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpIEJlcnRyYW5kLA0KPiAN
Cj4gT24gTW9uLCBNYXIgMTMsIDIwMjMgYXQgOTo0OeKAr0FNIEJlcnRyYW5kIE1hcnF1aXMNCj4g
PEJlcnRyYW5kLk1hcnF1aXNAYXJtLmNvbT4gd3JvdGU6DQo+PiANCj4+IEhpIEplbnMsDQo+PiAN
Cj4+PiBPbiAyMiBGZWIgMjAyMywgYXQgMTY6MzMsIEplbnMgV2lrbGFuZGVyIDxqZW5zLndpa2xh
bmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4+PiANCj4+PiBBZGRzIHN1cHBvcnQgZm9yIGEgZ3Vl
c3QgdG8gc2hhcmUgbWVtb3J5IHdpdGggYW4gU1AgdXNpbmcgRkZBX01FTV9TSEFSRQ0KPj4+IGFu
ZCBGRkFfTUVNX1JFQ0xBSU0uIE9ubHkgc21hbGwgbWVtb3J5IHJlZ2lvbnMgY2FuIGJlIHNoYXJl
ZCB1c2luZyBhDQo+Pj4gc2luZ2xlIGNhbGwgdG8gRkZBX01FTV9TSEFSRSBhcmUgc3VwcG9ydGVk
Lg0KPj4gDQo+PiBUaGlzIHNlbnRlbmNlIG5lZWRzIGEgYml0IG9mIHJlcGhyYXNpbmcgYW5kIHRv
IGFkZCBtb3JlIGRldGFpbHM6IHdoYXQgaXMgInNtYWxsIi4NCj4gDQo+IE9LLCBob3cgYWJvdXQg
Ik9ubHkgbWVtb3J5IHJlZ2lvbnMgc21hbGwgZW5vdWdoIHRvIGJlIHNoYXJlZCB3aXRoIGENCj4g
c2luZ2xlIGNhbGwuLi4iDQoNCk9rDQoNCj4gDQo+PiANCj4+PiANCj4+PiBBIG1lbW9yeSByZWdp
b24gdGhhdCBkb2Vzbid0IG5lZWQgdG8gYmUgc2hhcmVkIGFueSBsb25nZXIgY2FuIGJlDQo+Pj4g
cmVjbGFpbWVkIHdpdGggRkZBX01FTV9SRUNMQUlNIG9uY2UgdGhlIFNQIGRvZXNuJ3QgdXNlIGl0
IGFueSBsb25nZXIuDQo+Pj4gVGhpcyBpcyBjaGVja2VkIGJ5IHRoZSBTUE1DIGFuZCBub3QgaW4g
Y29udHJvbCBvZiB0aGUgbWVkaWF0b3IuDQo+PiANCj4+IFRoaXMgZXhwbGFuYXRpb24gd291bGQg
bWFrZSBtb3JlIHNlbnNlIGluIHRoZSBmb2xsb3dpbmcgcGF0Y2ggYWRkaW5nIHN1cHBvcnQNCj4+
IGZvciBSZWNsYWltLg0KPiANCj4gUXVpdGUgcmlnaHQsIEknbGwgbW92ZSBpdCB0byB0aGUgbmV4
dCBwYXRjaC4NCj4gDQo+PiANCj4+PiANCj4+PiBXaXRoIHRoaXMgY29tbWl0IHdlIGhhdmUgYSBG
Ri1BIHZlcnNpb24gMS4xIFsxXSBtZWRpYXRvciBhYmxlIHRvDQo+Pj4gY29tbXVuaWNhdGUgd2l0
aCBhIFNlY3VyZSBQYXJ0aXRpb24gaW4gc2VjdXJlIHdvcmxkIHVzaW5nIHNoYXJlZCBtZW1vcnku
DQo+Pj4gVGhlIHNlY3VyZSB3b3JsZCBtdXN0IHVzZSBGRi1BIHZlcnNpb24gMS4xLCBidXQgdGhl
IGd1ZXN0IGlzIGZyZWUgdG8gdXNlDQo+Pj4gdmVyc2lvbiAxLjAgb3IgdmVyc2lvbiAxLjEuDQo+
PiANCj4+IEkgZG8gbm90IHNlZSBhbnl0aGluZyBsaW1pdGluZyB0aGF0IGluIHRoZSBjb2RlLg0K
Pj4gRHVyaW5nIGluaXQgd2UgYWNjZXB0IDEuMCBvciAxLjEgdmVyc2lvbnMgb2YgdGhlIHNlY3Vy
ZSB3b3JsZC4NCj4gDQo+IEdvb2QgY2F0Y2gsIEknbGwgdXBkYXRlIHRvIG9ubHkgYWNjZXB0IHZl
cnNpb24gMS4xIGluIHRoZSBzZWN1cmUgd29ybGQuDQo+IA0KPj4gDQo+Pj4gDQo+Pj4gQWRkcyBh
IGNoZWNrIHRoYXQgdGhlIFNQIHN1cHBvcnRzIHRoZSBuZWVkZWQgRkYtQSBmZWF0dXJlcw0KPj4+
IEZGQV9NRU1fU0hBUkVfNjQgb3IgRkZBX01FTV9TSEFSRV8zMi4NCj4+PiANCj4+PiBbMV0gaHR0
cHM6Ly9kZXZlbG9wZXIuYXJtLmNvbS9kb2N1bWVudGF0aW9uL2RlbjAwNzcvbGF0ZXN0DQo+Pj4g
U2lnbmVkLW9mZi1ieTogSmVucyBXaWtsYW5kZXIgPGplbnMud2lrbGFuZGVyQGxpbmFyby5vcmc+
DQo+Pj4gLS0tDQo+Pj4geGVuL2FyY2gvYXJtL3RlZS9mZmEuYyB8IDQ5MSArKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4+IDEgZmlsZSBjaGFuZ2VkLCA0OTEgaW5z
ZXJ0aW9ucygrKQ0KPj4+IA0KPj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5j
IGIveGVuL2FyY2gvYXJtL3RlZS9mZmEuYw0KPj4+IGluZGV4IDk0YzkwYjI1MjQ1NC4uY2RjMjg2
Y2FmNjJjIDEwMDY0NA0KPj4+IC0tLSBhL3hlbi9hcmNoL2FybS90ZWUvZmZhLmMNCj4+PiArKysg
Yi94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jDQo+Pj4gQEAgLTI3MCw2ICsyNzAsMzggQEAgc3RydWN0
IGZmYV9tZW1fdHJhbnNhY3Rpb25fMV8xIHsNCj4+PiAgICB1aW50OF90IHJlc2VydmVkWzEyXTsN
Cj4+PiB9Ow0KPj4+IA0KPj4+ICsvKiBDYWxjdWxhdGUgb2Zmc2V0IG9mIHN0cnVjdCBmZmFfbWVt
X2FjY2VzcyBmcm9tIHN0YXJ0IG9mIGJ1ZmZlciAqLw0KPj4+ICsjZGVmaW5lIE1FTV9BQ0NFU1Nf
T0ZGU0VUKGFjY2Vzc19pZHgpIFwNCj4+PiArICAgICggc2l6ZW9mKHN0cnVjdCBmZmFfbWVtX3Ry
YW5zYWN0aW9uXzFfMSkgKyBcDQo+Pj4gKyAgICAgICggYWNjZXNzX2lkeCApICogc2l6ZW9mKHN0
cnVjdCBmZmFfbWVtX2FjY2VzcykgKQ0KPj4+ICsNCj4+PiArLyogQ2FsY3VsYXRlIG9mZnNldCBv
ZiBzdHJ1Y3QgZmZhX21lbV9yZWdpb24gZnJvbSBzdGFydCBvZiBidWZmZXIgKi8NCj4+PiArI2Rl
ZmluZSBSRUdJT05fT0ZGU0VUKGFjY2Vzc19jb3VudCwgcmVnaW9uX2lkeCkgXA0KPj4+ICsgICAg
KCBNRU1fQUNDRVNTX09GRlNFVChhY2Nlc3NfY291bnQpICsgXA0KPj4+ICsgICAgICAoIHJlZ2lv
bl9pZHggKSAqIHNpemVvZihzdHJ1Y3QgZmZhX21lbV9yZWdpb24pICkNCj4+PiArDQo+Pj4gKy8q
IENhbGN1bGF0ZSBvZmZzZXQgb2Ygc3RydWN0IGZmYV9hZGRyZXNzX3JhbmdlIGZyb20gc3RhcnQg
b2YgYnVmZmVyICovDQo+Pj4gKyNkZWZpbmUgQUREUl9SQU5HRV9PRkZTRVQoYWNjZXNzX2NvdW50
LCByZWdpb25fY291bnQsIHJhbmdlX2lkeCkgXA0KPj4+ICsgICAgKCBSRUdJT05fT0ZGU0VUKGFj
Y2Vzc19jb3VudCwgcmVnaW9uX2NvdW50KSArIFwNCj4+PiArICAgICAgKCByYW5nZV9pZHggKSAq
IHNpemVvZihzdHJ1Y3QgZmZhX2FkZHJlc3NfcmFuZ2UpICkNCj4+PiArDQo+Pj4gKy8qDQo+Pj4g
KyAqIFRoZSBwYXJ0cyBuZWVkZWQgZnJvbSBzdHJ1Y3QgZmZhX21lbV90cmFuc2FjdGlvbl8xXzAg
b3Igc3RydWN0DQo+Pj4gKyAqIGZmYV9tZW1fdHJhbnNhY3Rpb25fMV8xLCB1c2VkIHRvIHByb3Zp
ZGUgYW4gYWJzdHJhY3Rpb24gb2YgZGlmZmVyZW5jZSBpbg0KPj4+ICsgKiBkYXRhIHN0cnVjdHVy
ZXMgYmV0d2VlbiB2ZXJzaW9uIDEuMCBhbmQgMS4xLiBUaGlzIGlzIGp1c3QgYW4gaW50ZXJuYWwN
Cj4+PiArICogaW50ZXJmYWNlIGFuZCBjYW4gYmUgY2hhbmdlZCB3aXRob3V0IGNoYW5naW5nIGFu
eSBBQkkuDQo+Pj4gKyAqLw0KPj4+ICtzdHJ1Y3QgZmZhX21lbV90cmFuc2FjdGlvbl94IHsNCj4+
IA0KPj4gSSB3b3VsZCBzdWdnZXN0IHRvIHMvX3gvX2ludC8gaW4gdGhlIG5hbWUgaGVyZQ0KPiAN
Cj4gT0ssIEknbGwgdXBkYXRlDQo+IA0KPj4gDQo+Pj4gKyAgICB1aW50MTZfdCBzZW5kZXJfaWQ7
DQo+Pj4gKyAgICB1aW50OF90IG1lbV9yZWdfYXR0cjsNCj4+PiArICAgIHVpbnQ4X3QgZmxhZ3M7
DQo+Pj4gKyAgICB1aW50OF90IG1lbV9hY2Nlc3Nfc2l6ZTsNCj4+PiArICAgIHVpbnQ4X3QgbWVt
X2FjY2Vzc19jb3VudDsNCj4+PiArICAgIHVpbnQxNl90IG1lbV9hY2Nlc3Nfb2ZmczsNCj4+PiAr
ICAgIHVpbnQ2NF90IGdsb2JhbF9oYW5kbGU7DQo+Pj4gKyAgICB1aW50NjRfdCB0YWc7DQo+Pj4g
K307DQo+Pj4gKw0KPj4+IC8qIEVuZHBvaW50IFJYL1RYIGRlc2NyaXB0b3IgKi8NCj4+PiBzdHJ1
Y3QgZmZhX2VuZHBvaW50X3J4dHhfZGVzY3JpcHRvcl8xXzAgew0KPj4+ICAgIHVpbnQxNl90IHNl
bmRlcl9pZDsNCj4+PiBAQCAtMjk0LDggKzMyNiwyMCBAQCBzdHJ1Y3QgZmZhX2N0eCB7DQo+Pj4g
ICAgdWludDMyX3QgZ3Vlc3RfdmVyczsNCj4+PiAgICBib29sIHR4X2lzX21pbmU7DQo+Pj4gICAg
Ym9vbCBpbnRlcnJ1cHRlZDsNCj4+PiArICAgIHN0cnVjdCBsaXN0X2hlYWQgc2htX2xpc3Q7DQo+
Pj4gKyAgICB1bnNpZ25lZCBpbnQgc2htX2NvdW50Ow0KPj4+ICAgIHNwaW5sb2NrX3QgbG9jazsN
Cj4+PiB9Ow0KPj4+ICsNCj4+PiArc3RydWN0IGZmYV9zaG1fbWVtIHsNCj4+PiArICAgIHN0cnVj
dCBsaXN0X2hlYWQgbGlzdDsNCj4+PiArICAgIHVpbnQxNl90IHNlbmRlcl9pZDsNCj4+PiArICAg
IHVpbnQxNl90IGVwX2lkOyAgICAgLyogZW5kcG9pbnQsIHRoZSBvbmUgbGVuZGluZyAqLw0KPj4+
ICsgICAgdWludDY0X3QgaGFuZGxlOyAgICAvKiBGRkFfSEFORExFX0lOVkFMSUQgaWYgbm90IHNl
dCB5ZXQgKi8NCj4+PiArICAgIHVuc2lnbmVkIGludCBwYWdlX2NvdW50Ow0KPj4+ICsgICAgc3Ry
dWN0IHBhZ2VfaW5mbyAqcGFnZXNbXTsNCj4+PiArfTsNCj4+PiArDQo+Pj4gLyogTmVnb3RpYXRl
ZCBGRi1BIHZlcnNpb24gdG8gdXNlIHdpdGggdGhlIFNQTUMgKi8NCj4+PiBzdGF0aWMgdWludDMy
X3QgZmZhX3ZlcnNpb24gX19yb19hZnRlcl9pbml0Ow0KPj4+IA0KPj4+IEBAIC0zMTAsNiArMzU0
LDggQEAgc3RhdGljIHVuc2lnbmVkIGludCBzdWJzY3Jfdm1fZGVzdHJveWVkX2NvdW50IF9fcmVh
ZF9tb3N0bHk7DQo+Pj4gKg0KPj4+ICogZmZhX3BhZ2VfY291bnQgaXMgdGhlIG51bWJlciBvZiBw
YWdlcyB1c2VkIGluIGVhY2ggb2YgdGhlc2UgYnVmZmVycy4NCj4+PiAqDQo+Pj4gKyAqIFRoZSBU
WCBidWZmZXIgaXMgcHJvdGVjdGVkIGZyb20gY29uY3VycmVudCB1c2FnZSB3aXRoIGZmYV90eF9i
dWZmZXJfbG9jay4NCj4+PiArICoNCj4+PiAqIFRoZSBSWCBidWZmZXIgaXMgcHJvdGVjdGVkIGZy
b20gY29uY3VycmVudCB1c2FnZSB3aXRoIGZmYV9yeF9idWZmZXJfbG9jay4NCj4+PiAqIE5vdGUg
dGhhdCB0aGUgU1BNQyBpcyBhbHNvIHRyYWNraW5nIHRoZSBvd25lcnNoaXAgb2Ygb3VyIFJYIGJ1
ZmZlciBzbw0KPj4+ICogZm9yIGNhbGxzIHdoaWNoIHVzZXMgb3VyIFJYIGJ1ZmZlciB0byBkZWxp
dmVyIGEgcmVzdWx0IHdlIG11c3QgY2FsbA0KPj4+IEBAIC0zMTksNiArMzY1LDcgQEAgc3RhdGlj
IHZvaWQgKmZmYV9yeCBfX3JlYWRfbW9zdGx5Ow0KPj4+IHN0YXRpYyB2b2lkICpmZmFfdHggX19y
ZWFkX21vc3RseTsNCj4+PiBzdGF0aWMgdW5zaWduZWQgaW50IGZmYV9wYWdlX2NvdW50IF9fcmVh
ZF9tb3N0bHk7DQo+Pj4gc3RhdGljIERFRklORV9TUElOTE9DSyhmZmFfcnhfYnVmZmVyX2xvY2sp
Ow0KPj4+ICtzdGF0aWMgREVGSU5FX1NQSU5MT0NLKGZmYV90eF9idWZmZXJfbG9jayk7DQo+Pj4g
DQo+Pj4gc3RhdGljIGJvb2wgZmZhX2dldF92ZXJzaW9uKHVpbnQzMl90ICp2ZXJzKQ0KPj4+IHsN
Cj4+PiBAQCAtNDI5LDYgKzQ3Niw0MiBAQCBzdGF0aWMgaW50MzJfdCBmZmFfcnhfcmVsZWFzZSh2
b2lkKQ0KPj4+ICAgIHJldHVybiBmZmFfc2ltcGxlX2NhbGwoRkZBX1JYX1JFTEVBU0UsIDAsIDAs
IDAsIDApOw0KPj4+IH0NCj4+PiANCj4+PiArc3RhdGljIGludDMyX3QgZmZhX21lbV9zaGFyZSh1
aW50MzJfdCB0b3RfbGVuLCB1aW50MzJfdCBmcmFnX2xlbiwNCj4+PiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICByZWdpc3Rlcl90IGFkZHIsIHVpbnQzMl90IHBnX2NvdW50LA0KPj4+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpoYW5kbGUpDQo+Pj4gK3sNCj4+
PiArICAgIHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MgYXJnID0gew0KPj4+ICsgICAgICAgIC5h
MCA9IEZGQV9NRU1fU0hBUkVfMzIsDQo+Pj4gKyAgICAgICAgLmExID0gdG90X2xlbiwNCj4+PiAr
ICAgICAgICAuYTIgPSBmcmFnX2xlbiwNCj4+PiArICAgICAgICAuYTMgPSBhZGRyLA0KPj4+ICsg
ICAgICAgIC5hNCA9IHBnX2NvdW50LA0KPj4+ICsgICAgfTsNCj4+PiArICAgIHN0cnVjdCBhcm1f
c21jY2NfMV8yX3JlZ3MgcmVzcDsNCj4+PiArDQo+Pj4gKyAgICBpZiAoIElTX0VOQUJMRUQoQ09O
RklHX0FSTV82NCkgKQ0KPj4+ICsgICAgICAgIGFyZy5hMCA9IEZGQV9NRU1fU0hBUkVfNjQ7DQo+
Pj4gKw0KPj4+ICsgICAgYXJtX3NtY2NjXzFfMl9zbWMoJmFyZywgJnJlc3ApOw0KPj4+ICsNCj4+
PiArICAgIHN3aXRjaCAoIHJlc3AuYTAgKQ0KPj4+ICsgICAgew0KPj4+ICsgICAgY2FzZSBGRkFf
RVJST1I6DQo+Pj4gKyAgICAgICAgaWYgKCByZXNwLmEyICkNCj4+PiArICAgICAgICAgICAgcmV0
dXJuIHJlc3AuYTI7DQo+Pj4gKyAgICAgICAgZWxzZQ0KPj4+ICsgICAgICAgICAgICByZXR1cm4g
RkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+ICsgICAgY2FzZSBGRkFfU1VDQ0VTU18zMjoNCj4+
PiArICAgICAgICAqaGFuZGxlID0gcmVncGFpcl90b191aW50NjQocmVzcC5hMywgcmVzcC5hMik7
DQo+Pj4gKyAgICAgICAgcmV0dXJuIEZGQV9SRVRfT0s7DQo+Pj4gKyAgICBjYXNlIEZGQV9NRU1f
RlJBR19SWDoNCj4+PiArICAgICAgICAqaGFuZGxlID0gcmVncGFpcl90b191aW50NjQocmVzcC5h
MiwgcmVzcC5hMSk7DQo+Pj4gKyAgICAgICAgcmV0dXJuIHJlc3AuYTM7DQo+PiANCj4+IFlvdSBh
cmUgdXNpbmcgYW4gaW50MzJfdCB0eXBlIHRvIGNhc3Qgc29tZXRoaW5nIHRoYXQgaXMgdWludDMy
X3QgZnJvbSB0aGUgc3BlYw0KPj4gYW5kIGhlcmUgY291bGQgaW4gZmFjdCBiZSBhIHVpbnQ2NF90
Lg0KPiANCj4gSW4gcHJhY3RpY2Ugb25seSBtdWNoIHNtYWxsZXIgdmFsdWVzIGNhbiBiZSB2YWxp
ZCwgaG93ZXZlciwgSQ0KPiB1bmRlcnN0YW5kIHRoYXQgdGhhdCdzIG5vdCB5b3VyIHBvaW50LiBX
aGF0J3MgdGhlIGJlc3QgcmVjb3ZlcnkgaWYgdGhlDQo+IFNQTUMgZ2l2ZXMgYW4gaW52YWxpZCB2
YWx1ZSBmb3IgRkZBX01FTV9GUkFHX1JYPyBUaGUgU1BNQyBoYXMNCj4gYWxsb2NhdGVkIGEgbWVt
b3J5LXNoYXJpbmcgc3RhdGUgd2hlbiBpdCByZXR1cm5zIEZGQV9NRU1fRlJBR19SWC4gVGhlDQo+
IHNwZWNpZmljYXRpb24gZG9lc24ndCBzYXkgaG93IHRvIHJlbW92ZSB0aGF0IHN0YXRlIGFwYXJ0
IGZyb20gZWl0aGVyDQo+IGNvbXBsZXRpbmcgaXQgc3VjY2Vzc2Z1bGx5IG9yIGlmIGl0J3MgdGVy
bWluYXRlZCBlYXJsaWVyIGJ5IHRoZSBTUE1DLg0KPiBPbmUgb3B0aW9uIGlzIHRvIGRvIGEgRkZB
X01FTV9GUkFHX1RYIGNhbGwgd2l0aCBpbnZhbGlkIGFyZ3VtZW50cyBzbw0KPiB0aGF0IHRoZSBT
UE1DIGNhbiBmcmVlIHVwIHRoZSBtZW1vcnktc2hhcmluZyBzdGF0ZS4gVGhvdWdodHM/DQoNCkkg
ZG8gbm90IHRoaW5rIGl0IGlzIFhlbiByZXNwb25zYWJpbGl0eSB0byBmaXggU1BNQyBwcm9ibGVt
cyBoZXJlLg0KSWYgd2UgZGV0ZWN0IHNvbWV0aGluZyBvZiBhbiBlcnJvciB3ZSBzaG91bGQganVz
dCByZXR1cm4gYmFjayBhbiBlcnJvciB0byB0aGUgY2xpZW50Lg0KDQpJZiB0aGUgU1BNQyBpcyBy
ZXR1cm5pbmcgYW4gaW52YWxpZCB2YWx1ZSwgd2UgY2Fubm90IHJlYWxseSBtYWtlIG11Y2ggYXNz
dW1wdGlvbnMuDQoNCkFuIG90aGVyIHNvbHV0aW9uIGhlcmUgd291bGQganVzdCBiZSB0byBtYXNr
IG91dCB0byBwcmV2ZW50IHRoZSBpbXBsaWNpdCBjYXN0Lg0KDQo+IA0KPj4gDQo+PiANCj4+PiAr
ICAgIGRlZmF1bHQ6DQo+Pj4gKyAgICAgICAgcmV0dXJuIEZGQV9SRVRfTk9UX1NVUFBPUlRFRDsN
Cj4+PiArICAgIH0NCj4+PiArfQ0KPj4+ICsNCj4+PiBzdGF0aWMgaW50MzJfdCBmZmFfZGlyZWN0
X3JlcV9zZW5kX3ZtKHVpbnQxNl90IHNwX2lkLCB1aW50MTZfdCB2bV9pZCwNCj4+PiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBtc2cpDQo+Pj4gew0KPj4+IEBA
IC03NTcsNiArODQwLDQwNCBAQCBvdXQ6DQo+Pj4gICAgICAgICAgICAgcmVzcC5hNCAmIG1hc2ss
IHJlc3AuYTUgJiBtYXNrLCByZXNwLmE2ICYgbWFzaywgcmVzcC5hNyAmIG1hc2spOw0KPj4+IH0N
Cj4+PiANCj4+PiArLyoNCj4+PiArICogR2V0cyBhbGwgcGFnZSBhbmQgYXNzaWducyB0aGVtIHRv
IHRoZSBzdXBwbGllZCBzaGFyZWQgbWVtb3J5IG9iamVjdC4gSWYNCj4+PiArICogdGhpcyBmdW5j
dGlvbiBmYWlscyB0aGVuIHRoZSBjYWxsZXIgaXMgc3RpbGwgZXhwZWN0ZWQgdG8gY2FsbA0KPj4+
ICsgKiBwdXRfc2htX3BhZ2VzKCkgYXMgYSBjbGVhbnVwLg0KPj4+ICsgKi8NCj4+PiArc3RhdGlj
IGludCBnZXRfc2htX3BhZ2VzKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCBmZmFfc2htX21lbSAq
c2htLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGZmYV9hZGRy
ZXNzX3JhbmdlICpyYW5nZSwNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90
IHJhbmdlX2NvdW50LCB1bnNpZ25lZCBpbnQgc3RhcnRfcGFnZV9pZHgsDQo+Pj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKmxhc3RfcGFnZV9pZHgpDQo+Pj4gK3sNCj4+
PiArICAgIHVuc2lnbmVkIGludCBwZ19pZHggPSBzdGFydF9wYWdlX2lkeDsNCj4+PiArICAgIGdm
bl90IGdmbjsNCj4+PiArICAgIHVuc2lnbmVkIGludCBuOw0KPj4+ICsgICAgdW5zaWduZWQgaW50
IG07DQo+Pj4gKyAgICBwMm1fdHlwZV90IHQ7DQo+Pj4gKyAgICB1aW50NjRfdCBhZGRyOw0KPj4+
ICsNCj4+PiArICAgIGZvciAoIG4gPSAwOyBuIDwgcmFuZ2VfY291bnQ7IG4rKyApDQo+Pj4gKyAg
ICB7DQo+Pj4gKyAgICAgICAgZm9yICggbSA9IDA7IG0gPCByYW5nZVtuXS5wYWdlX2NvdW50OyBt
KysgKQ0KPj4+ICsgICAgICAgIHsNCj4+PiArICAgICAgICAgICAgaWYgKCBwZ19pZHggPj0gc2ht
LT5wYWdlX2NvdW50ICkNCj4+PiArICAgICAgICAgICAgICAgIHJldHVybiBGRkFfUkVUX0lOVkFM
SURfUEFSQU1FVEVSUzsNCj4+PiArDQo+Pj4gKyAgICAgICAgICAgIGFkZHIgPSByZWFkX2F0b21p
YygmcmFuZ2Vbbl0uYWRkcmVzcyk7DQo+Pj4gKyAgICAgICAgICAgIGdmbiA9IGdhZGRyX3RvX2dm
bihhZGRyICsgbSAqIEZGQV9QQUdFX1NJWkUpOw0KPj4+ICsgICAgICAgICAgICBzaG0tPnBhZ2Vz
W3BnX2lkeF0gPSBnZXRfcGFnZV9mcm9tX2dmbihkLCBnZm5feChnZm4pLCAmdCwNCj4+PiArICAg
UDJNX0FMTE9DKTsNCj4+PiArICAgICAgICAgICAgaWYgKCAhc2htLT5wYWdlc1twZ19pZHhdICkN
Cj4+PiArICAgICAgICAgICAgICAgIHJldHVybiBGRkFfUkVUX0RFTklFRDsNCj4+PiArICAgICAg
ICAgICAgcGdfaWR4Kys7DQo+PiANCj4+IFRoaXMgaW5jcmVtZW50IGNvdWxkIGJlIGRvbmUgYXQg
dGhlIGVuZCwgd2h5IGhlcmUgPw0KPiANCj4gRG8geW91IG1lYW4gYWZ0ZXIgdGhlIHAybV9pc19y
YW0oKSBjaGVjaz8gSSdsbCBtb3ZlIGl0IHRoZXJlLg0KDQp5ZXMgdGhhdCB3b3VsZCBiZSBtb3Jl
IG5hdHVyYWwgaSB0aGluay4NCg0KPiANCj4+IA0KPj4+ICsgICAgICAgICAgICAvKiBPbmx5IG5v
cm1hbCBSQU0gZm9yIG5vdyAqLw0KPj4+ICsgICAgICAgICAgICBpZiAoICFwMm1faXNfcmFtKHQp
ICkNCj4+PiArICAgICAgICAgICAgICAgIHJldHVybiBGRkFfUkVUX0RFTklFRDsNCj4+PiArICAg
ICAgICB9DQo+Pj4gKyAgICB9DQo+Pj4gKw0KPj4+ICsgICAgKmxhc3RfcGFnZV9pZHggPSBwZ19p
ZHg7DQo+Pj4gKw0KPj4+ICsgICAgcmV0dXJuIEZGQV9SRVRfT0s7DQo+Pj4gK30NCj4+PiArDQo+
Pj4gK3N0YXRpYyB2b2lkIHB1dF9zaG1fcGFnZXMoc3RydWN0IGZmYV9zaG1fbWVtICpzaG0pDQo+
Pj4gK3sNCj4+PiArICAgIHVuc2lnbmVkIGludCBuOw0KPj4+ICsNCj4+PiArICAgIGZvciAoIG4g
PSAwOyBuIDwgc2htLT5wYWdlX2NvdW50ICYmIHNobS0+cGFnZXNbbl07IG4rKyApDQo+Pj4gKyAg
ICB7DQo+Pj4gKyAgICAgICAgcHV0X3BhZ2Uoc2htLT5wYWdlc1tuXSk7DQo+Pj4gKyAgICAgICAg
c2htLT5wYWdlc1tuXSA9IE5VTEw7DQo+PiANCj4+IElmIGFuIGVycm9yIG9jY3VyZWQgZHVyaW5n
IHRoZSBnZW5lcmF0aW9uIHlvdSBtaWdodCBoYXZlIHBhcnQNCj4+IG9mIHRoZSBwYWdlcyB3aGlj
aCBhcmUgTlVMTCBhbHJlYWR5Lg0KPj4gDQo+PiBTbyB5b3Ugc2hvdWxkIGRvIGEgaWYgKHBhZ2Vz
W25dICE9IE5VTEwpIGhlcmUNCj4gDQo+IEknbSBkb2luZyB0aGF0IGFib3ZlIGluIHRoZSBoZWFk
IG9mIHRoZSBsb29wLCB0aGUgbG9vcCBpcyB0ZXJtaW5hdGVkDQo+IGF0IHRoZSBmaXJzdCBwYWdl
c1tuXSA9PSBOVUxMLg0KDQpSaWdodCwgc29ycnkgaSBtaXNzZWQgdGhhdC4NCg0KPiANCj4+IA0K
Pj4+ICsgICAgfQ0KPj4+ICt9DQo+Pj4gKw0KPj4+ICtzdGF0aWMgc3RydWN0IGZmYV9zaG1fbWVt
ICphbGxvY19mZmFfc2htX21lbShzdHJ1Y3QgZmZhX2N0eCAqY3R4LA0KPj4+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGFnZV9jb3Vu
dCkNCj4+PiArew0KPj4+ICsgICAgc3RydWN0IGZmYV9zaG1fbWVtICpzaG07DQo+Pj4gKw0KPj4+
ICsgICAgaWYgKCBwYWdlX2NvdW50ID49IEZGQV9NQVhfU0hNX1BBR0VfQ09VTlQgfHwNCj4+PiAr
ICAgICAgICAgY3R4LT5zaG1fY291bnQgPj0gRkZBX01BWF9TSE1fQ09VTlQgKQ0KPj4+ICsgICAg
ICAgIHJldHVybiBOVUxMOw0KPj4gDQo+PiBTaG91bGRuJ3QgeW91IGFsc28gZmlsdGVyIG91dCBm
b3IgcGFnZV9jb3VudCA9IDAgPw0KPiANCj4gU3VyZSwgMCBkb2Vzbid0IG1ha2Ugc2Vuc2UuIEJ1
dCBJIHNob3VsZCBwcm9iYWJseSBkbyBpdCBiZWZvcmUgdGhpcw0KPiBmdW5jdGlvbiBpcyBjYWxs
ZWQgc2luY2UgSSBzdXBwb3NlIHdlJ2QgbGlrZSB0byByZXR1cm4gc29tZXRoaW5nDQo+IGRpZmZl
cmVudCBmcm9tIEZGQV9SRVRfTk9fTUVNT1JZLg0KDQpWZXJ5IHRydWUuDQoNCj4gDQo+PiANCj4+
PiArDQo+Pj4gKyAgICBzaG0gPSB4emFsbG9jX2ZsZXhfc3RydWN0KHN0cnVjdCBmZmFfc2htX21l
bSwgcGFnZXMsIHBhZ2VfY291bnQpOw0KPj4+ICsgICAgaWYgKCBzaG0gKQ0KPj4+ICsgICAgew0K
Pj4+ICsgICAgICAgIGN0eC0+c2htX2NvdW50Kys7DQo+Pj4gKyAgICAgICAgc2htLT5wYWdlX2Nv
dW50ID0gcGFnZV9jb3VudDsNCj4+PiArICAgIH0NCj4+PiArDQo+Pj4gKyAgICByZXR1cm4gc2ht
Ow0KPj4+ICt9DQo+Pj4gKw0KPj4+ICtzdGF0aWMgdm9pZCBmcmVlX2ZmYV9zaG1fbWVtKHN0cnVj
dCBmZmFfY3R4ICpjdHgsIHN0cnVjdCBmZmFfc2htX21lbSAqc2htKQ0KPj4+ICt7DQo+Pj4gKyAg
ICBpZiAoIHNobSApIHsNCj4+PiArICAgICAgICBBU1NFUlQoY3R4LT5zaG1fY291bnQgPiAwKTsN
Cj4+PiArICAgICAgICBjdHgtPnNobV9jb3VudC0tOw0KPj4+ICsgICAgICAgIHB1dF9zaG1fcGFn
ZXMoc2htKTsNCj4+PiArICAgICAgICB4ZnJlZShzaG0pOw0KPj4+ICsgICAgfQ0KPj4+ICt9DQo+
Pj4gKw0KPj4+ICtzdGF0aWMgdm9pZCBpbml0X3JhbmdlKHN0cnVjdCBmZmFfYWRkcmVzc19yYW5n
ZSAqYWRkcl9yYW5nZSwNCj4+PiArICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHBhKQ0K
Pj4+ICt7DQo+Pj4gKyAgICBtZW1zZXQoYWRkcl9yYW5nZSwgMCwgc2l6ZW9mKCphZGRyX3Jhbmdl
KSk7DQo+Pj4gKyAgICBhZGRyX3JhbmdlLT5hZGRyZXNzID0gcGE7DQo+Pj4gKyAgICBhZGRyX3Jh
bmdlLT5wYWdlX2NvdW50ID0gMTsNCj4+PiArfQ0KPj4+ICsNCj4+PiArLyoNCj4+PiArICogVGhp
cyBmdW5jdGlvbiB1c2VzIHRoZSBmZmFfdHggYnVmZmVyIHRvIHRyYW5zbWl0IHRoZSBtZW1vcnkg
dHJhbnNhY3Rpb24NCj4+PiArICogZGVzY3JpcHRvci4gVGhlIGZ1bmN0aW9uIGRlcGVuZHMgZmZh
X3R4X2J1ZmZlcl9sb2NrIHRvIGJlIHVzZWQgdG8gZ3VhcmQNCj4+PiArICogdGhlIGJ1ZmZlciBm
cm9tIGNvbmN1cnJlbnQgdXNlLg0KPj4+ICsgKi8NCj4+PiArc3RhdGljIGludCBzaGFyZV9zaG0o
c3RydWN0IGZmYV9zaG1fbWVtICpzaG0pDQo+Pj4gK3sNCj4+PiArICAgIGNvbnN0IHVpbnQzMl90
IG1heF9mcmFnX2xlbiA9IGZmYV9wYWdlX2NvdW50ICogRkZBX1BBR0VfU0laRTsNCj4+PiArICAg
IHN0cnVjdCBmZmFfbWVtX2FjY2VzcyAqbWVtX2FjY2Vzc19hcnJheTsNCj4+PiArICAgIHN0cnVj
dCBmZmFfbWVtX3RyYW5zYWN0aW9uXzFfMSAqZGVzY3I7DQo+Pj4gKyAgICBzdHJ1Y3QgZmZhX2Fk
ZHJlc3NfcmFuZ2UgKmFkZHJfcmFuZ2U7DQo+Pj4gKyAgICBzdHJ1Y3QgZmZhX21lbV9yZWdpb24g
KnJlZ2lvbl9kZXNjcjsNCj4+PiArICAgIGNvbnN0IHVuc2lnbmVkIGludCByZWdpb25fY291bnQg
PSAxOw0KPj4+ICsgICAgdm9pZCAqYnVmID0gZmZhX3R4Ow0KPj4+ICsgICAgdWludDMyX3QgZnJh
Z19sZW47DQo+Pj4gKyAgICB1aW50MzJfdCB0b3RfbGVuOw0KPj4+ICsgICAgcGFkZHJfdCBsYXN0
X3BhOw0KPj4+ICsgICAgdW5zaWduZWQgaW50IG47DQo+Pj4gKyAgICBwYWRkcl90IHBhOw0KPj4+
ICsNCj4+PiArICAgIEFTU0VSVChzcGluX2lzX2xvY2tlZCgmZmZhX3R4X2J1ZmZlcl9sb2NrKSk7
DQo+Pj4gKyAgICBpZiAoICFzaG0tPnBhZ2VfY291bnQgKQ0KPj4+ICsgICAgew0KPj4+ICsgICAg
ICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOw0KPj4+ICsgICAgICAgIHJldHVybiBGRkFfUkVUX0lO
VkFMSURfUEFSQU1FVEVSUzsNCj4+IA0KPj4gcGFnZV9jb3VudCA9IDAgc2hvdWxkIGJlIGZpbHRl
cmVkIG91dCBiZWZvcmUgcmVhY2hpbmcgdGhpcyBhbmQgdGhpcyBzaG91bGQNCj4+IG9ubHkgYmUg
YW4gYXNzZXJ0IGlmIHlvdSB3YW50IGJ1dCBubyB1bnJlYWNoYWJsZSB3aXRoIGEgcmV0dXJuLg0K
PiANCj4gSSdtIGFkZGluZyBjb2RlIHRvIGZpbHRlciBvdXQgcGFnZV9jb3VudCA9IDAuIEknbSBu
b3Qgc3VyZSB3aGF0IHlvdQ0KPiBleHBlY3QgaGVyZSwgc2hvdWxkIEkgcmVtb3ZlIHRoZSBlbnRp
cmUgY2hlY2sgaGVyZSBvciB3aGF0IGRvIHlvdQ0KPiB3YW50Pw0KDQpBcyB0aGlzIGlzIGNoZWNr
ZWQgYmVmb3JlLCB0aGlzIGNvdWxkIGp1c3QgYmUgYW4gYXNzZXJ0IGFuZCBub3Qgc29tZXRoaW5n
IHdpdGggYSByZXR1cm4uDQoNCj4gDQo+PiANCj4+PiArICAgIH0NCj4+PiArDQo+Pj4gKyAgICBk
ZXNjciA9IGJ1ZjsNCj4+PiArICAgIG1lbXNldChkZXNjciwgMCwgc2l6ZW9mKCpkZXNjcikpOw0K
Pj4+ICsgICAgZGVzY3ItPnNlbmRlcl9pZCA9IHNobS0+c2VuZGVyX2lkOw0KPj4+ICsgICAgZGVz
Y3ItPmdsb2JhbF9oYW5kbGUgPSBzaG0tPmhhbmRsZTsNCj4+PiArICAgIGRlc2NyLT5tZW1fcmVn
X2F0dHIgPSBGRkFfTk9STUFMX01FTV9SRUdfQVRUUjsNCj4+PiArICAgIGRlc2NyLT5tZW1fYWNj
ZXNzX2NvdW50ID0gMTsNCj4+PiArICAgIGRlc2NyLT5tZW1fYWNjZXNzX3NpemUgPSBzaXplb2Yo
Km1lbV9hY2Nlc3NfYXJyYXkpOw0KPj4+ICsgICAgZGVzY3ItPm1lbV9hY2Nlc3Nfb2ZmcyA9IE1F
TV9BQ0NFU1NfT0ZGU0VUKDApOw0KPj4+ICsNCj4+PiArICAgIG1lbV9hY2Nlc3NfYXJyYXkgPSBi
dWYgKyBkZXNjci0+bWVtX2FjY2Vzc19vZmZzOw0KPj4+ICsgICAgbWVtc2V0KG1lbV9hY2Nlc3Nf
YXJyYXksIDAsIHNpemVvZigqbWVtX2FjY2Vzc19hcnJheSkpOw0KPj4+ICsgICAgbWVtX2FjY2Vz
c19hcnJheVswXS5hY2Nlc3NfcGVybS5lbmRwb2ludF9pZCA9IHNobS0+ZXBfaWQ7DQo+Pj4gKyAg
ICBtZW1fYWNjZXNzX2FycmF5WzBdLmFjY2Vzc19wZXJtLnBlcm0gPSBGRkFfTUVNX0FDQ19SVzsN
Cj4+PiArICAgIG1lbV9hY2Nlc3NfYXJyYXlbMF0ucmVnaW9uX29mZnMgPSBSRUdJT05fT0ZGU0VU
KGRlc2NyLT5tZW1fYWNjZXNzX2NvdW50LCAwKTsNCj4+PiArDQo+Pj4gKyAgICByZWdpb25fZGVz
Y3IgPSBidWYgKyBtZW1fYWNjZXNzX2FycmF5WzBdLnJlZ2lvbl9vZmZzOw0KPj4+ICsgICAgbWVt
c2V0KHJlZ2lvbl9kZXNjciwgMCwgc2l6ZW9mKCpyZWdpb25fZGVzY3IpKTsNCj4+PiArICAgIHJl
Z2lvbl9kZXNjci0+dG90YWxfcGFnZV9jb3VudCA9IHNobS0+cGFnZV9jb3VudDsNCj4+PiArDQo+
Pj4gKyAgICByZWdpb25fZGVzY3ItPmFkZHJlc3NfcmFuZ2VfY291bnQgPSAxOw0KPj4+ICsgICAg
bGFzdF9wYSA9IHBhZ2VfdG9fbWFkZHIoc2htLT5wYWdlc1swXSk7DQo+Pj4gKyAgICBmb3IgKCBu
ID0gMTsgbiA8IHNobS0+cGFnZV9jb3VudDsgbGFzdF9wYSA9IHBhLCBuKysgKQ0KPj4+ICsgICAg
ew0KPj4+ICsgICAgICAgIHBhID0gcGFnZV90b19tYWRkcihzaG0tPnBhZ2VzW25dKTsNCj4+PiAr
ICAgICAgICBpZiAoIGxhc3RfcGEgKyBGRkFfUEFHRV9TSVpFID09IHBhICkNCj4+PiArICAgICAg
ICAgICAgY29udGludWU7DQo+Pj4gKyAgICAgICAgcmVnaW9uX2Rlc2NyLT5hZGRyZXNzX3Jhbmdl
X2NvdW50Kys7DQo+Pj4gKyAgICB9DQo+Pj4gKw0KPj4+ICsgICAgdG90X2xlbiA9IEFERFJfUkFO
R0VfT0ZGU0VUKGRlc2NyLT5tZW1fYWNjZXNzX2NvdW50LCByZWdpb25fY291bnQsDQo+Pj4gKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVnaW9uX2Rlc2NyLT5hZGRyZXNzX3Jhbmdl
X2NvdW50KTsNCj4+PiArICAgIGlmICggdG90X2xlbiA+IG1heF9mcmFnX2xlbiApDQo+Pj4gKyAg
ICAgICAgcmV0dXJuIEZGQV9SRVRfTk9UX1NVUFBPUlRFRDsNCj4+PiArDQo+Pj4gKyAgICBhZGRy
X3JhbmdlID0gcmVnaW9uX2Rlc2NyLT5hZGRyZXNzX3JhbmdlX2FycmF5Ow0KPj4+ICsgICAgZnJh
Z19sZW4gPSBBRERSX1JBTkdFX09GRlNFVChkZXNjci0+bWVtX2FjY2Vzc19jb3VudCwgcmVnaW9u
X2NvdW50LCAxKTsNCj4+PiArICAgIGxhc3RfcGEgPSBwYWdlX3RvX21hZGRyKHNobS0+cGFnZXNb
MF0pOw0KPj4+ICsgICAgaW5pdF9yYW5nZShhZGRyX3JhbmdlLCBsYXN0X3BhKTsNCj4+PiArICAg
IGZvciAoIG4gPSAxOyBuIDwgc2htLT5wYWdlX2NvdW50OyBsYXN0X3BhID0gcGEsIG4rKyApDQo+
Pj4gKyAgICB7DQo+Pj4gKyAgICAgICAgcGEgPSBwYWdlX3RvX21hZGRyKHNobS0+cGFnZXNbbl0p
Ow0KPj4+ICsgICAgICAgIGlmICggbGFzdF9wYSArIEZGQV9QQUdFX1NJWkUgPT0gcGEgKQ0KPj4+
ICsgICAgICAgIHsNCj4+PiArICAgICAgICAgICAgYWRkcl9yYW5nZS0+cGFnZV9jb3VudCsrOw0K
Pj4+ICsgICAgICAgICAgICBjb250aW51ZTsNCj4+PiArICAgICAgICB9DQo+Pj4gKw0KPj4+ICsg
ICAgICAgIGZyYWdfbGVuICs9IHNpemVvZigqYWRkcl9yYW5nZSk7DQo+Pj4gKyAgICAgICAgYWRk
cl9yYW5nZSsrOw0KPj4+ICsgICAgICAgIGluaXRfcmFuZ2UoYWRkcl9yYW5nZSwgcGEpOw0KPj4+
ICsgICAgfQ0KPj4+ICsNCj4+PiArICAgIHJldHVybiBmZmFfbWVtX3NoYXJlKHRvdF9sZW4sIGZy
YWdfbGVuLCAwLCAwLCAmc2htLT5oYW5kbGUpOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICtzdGF0aWMg
aW50IHJlYWRfbWVtX3RyYW5zYWN0aW9uKHVpbnQzMl90IGZmYV92ZXJzLCBjb25zdCB2b2lkICpi
dWYsIHNpemVfdCBibGVuLA0KPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0
cnVjdCBmZmFfbWVtX3RyYW5zYWN0aW9uX3ggKnRyYW5zKQ0KPj4+ICt7DQo+Pj4gKyAgICB1aW50
MTZfdCBtZW1fcmVnX2F0dHI7DQo+Pj4gKyAgICB1aW50MzJfdCBmbGFnczsNCj4+PiArICAgIHVp
bnQzMl90IGNvdW50Ow0KPj4+ICsgICAgdWludDMyX3Qgb2ZmczsNCj4+PiArICAgIHVpbnQzMl90
IHNpemU7DQo+Pj4gKw0KPj4+ICsgICAgaWYgKCBmZmFfdmVycyA+PSBGRkFfVkVSU0lPTl8xXzEg
KQ0KPj4+ICsgICAgew0KPj4+ICsgICAgICAgIGNvbnN0IHN0cnVjdCBmZmFfbWVtX3RyYW5zYWN0
aW9uXzFfMSAqZGVzY3I7DQo+Pj4gKw0KPj4+ICsgICAgICAgIGlmICggYmxlbiA8IHNpemVvZigq
ZGVzY3IpICkNCj4+PiArICAgICAgICAgICAgcmV0dXJuIEZGQV9SRVRfSU5WQUxJRF9QQVJBTUVU
RVJTOw0KPj4+ICsNCj4+PiArICAgICAgICBkZXNjciA9IGJ1ZjsNCj4+PiArICAgICAgICB0cmFu
cy0+c2VuZGVyX2lkID0gZGVzY3ItPnNlbmRlcl9pZDsNCj4+PiArICAgICAgICBtZW1fcmVnX2F0
dHIgPSBkZXNjci0+bWVtX3JlZ19hdHRyOw0KPj4+ICsgICAgICAgIGZsYWdzID0gZGVzY3ItPmZs
YWdzOw0KPj4+ICsgICAgICAgIHRyYW5zLT5nbG9iYWxfaGFuZGxlID0gZGVzY3ItPmdsb2JhbF9o
YW5kbGU7DQo+Pj4gKyAgICAgICAgdHJhbnMtPnRhZyA9IGRlc2NyLT50YWc7DQo+Pj4gKw0KPj4+
ICsgICAgICAgIGNvdW50ID0gZGVzY3ItPm1lbV9hY2Nlc3NfY291bnQ7DQo+Pj4gKyAgICAgICAg
c2l6ZSA9IGRlc2NyLT5tZW1fYWNjZXNzX3NpemU7DQo+Pj4gKyAgICAgICAgb2ZmcyA9IGRlc2Ny
LT5tZW1fYWNjZXNzX29mZnM7DQo+Pj4gKyAgICB9DQo+Pj4gKyAgICBlbHNlDQo+Pj4gKyAgICB7
DQo+Pj4gKyAgICAgICAgY29uc3Qgc3RydWN0IGZmYV9tZW1fdHJhbnNhY3Rpb25fMV8wICpkZXNj
cjsNCj4+PiArDQo+Pj4gKyAgICAgICAgaWYgKCBibGVuIDwgc2l6ZW9mKCpkZXNjcikgKQ0KPj4+
ICsgICAgICAgICAgICByZXR1cm4gRkZBX1JFVF9JTlZBTElEX1BBUkFNRVRFUlM7DQo+Pj4gKw0K
Pj4+ICsgICAgICAgIGRlc2NyID0gYnVmOw0KPj4+ICsgICAgICAgIHRyYW5zLT5zZW5kZXJfaWQg
PSBkZXNjci0+c2VuZGVyX2lkOw0KPj4+ICsgICAgICAgIG1lbV9yZWdfYXR0ciA9IGRlc2NyLT5t
ZW1fcmVnX2F0dHI7DQo+Pj4gKyAgICAgICAgZmxhZ3MgPSBkZXNjci0+ZmxhZ3M7DQo+Pj4gKyAg
ICAgICAgdHJhbnMtPmdsb2JhbF9oYW5kbGUgPSBkZXNjci0+Z2xvYmFsX2hhbmRsZTsNCj4+PiAr
ICAgICAgICB0cmFucy0+dGFnID0gZGVzY3ItPnRhZzsNCj4+PiArDQo+Pj4gKyAgICAgICAgY291
bnQgPSBkZXNjci0+bWVtX2FjY2Vzc19jb3VudDsNCj4+PiArICAgICAgICBzaXplID0gc2l6ZW9m
KHN0cnVjdCBmZmFfbWVtX2FjY2Vzcyk7DQo+Pj4gKyAgICAgICAgb2ZmcyA9IG9mZnNldG9mKHN0
cnVjdCBmZmFfbWVtX3RyYW5zYWN0aW9uXzFfMCwgbWVtX2FjY2Vzc19hcnJheSk7DQo+Pj4gKyAg
ICB9DQo+Pj4gKyAgICAvKg0KPj4+ICsgICAgICogTWFrZSBzdXJlIHRoYXQgImRlc2NyIiB3aGlj
aCBpcyBzaGFyZWQgd2l0aCB0aGUgZ3Vlc3QgaXNuJ3QgYWNjZXNzZWQNCj4+PiArICAgICAqIGFn
YWluIGFmdGVyIHRoaXMgcG9pbnQuDQo+Pj4gKyAgICAgKi8NCj4+PiArICAgIGJhcnJpZXIoKTsN
Cj4+IA0KPj4gSSBhbSBub3QgcmVhbGx5IGZvbGxvd2luZyB0aGUgY29tbWVudCBoZXJlLiBZb3Ug
YWNjZXNzZWQgdGhlIGNvbnRlbnQgb2YgZGVzY3INCj4+IGJlZm9yZSBhbmQgaXQgaXMgaW4gdGhl
IHJ4dHggYnVmZmVyIHNvIHdoeSBpcyB0aGlzIG5lZWRlZCA/DQo+IA0KPiBJJ20gbWFraW5nIHN1
cmUgdGhhdCB0aGUgY29tcGlsZXIgZG9lc24ndCBvcHRpbWl6ZSBhbmQgcmVvcmRlcnMgdGhlDQo+
IHJlYWRzIGZyb20gbWVtb3J5IGluIGZ1bm55IHdheXMsIGZvciBpbnN0YW5jZSwgcmVhZGluZyBh
Z2FpbiBhZnRlciB0aGUNCj4gaWZzIGp1c3QgYmVsb3cuIFRoZSBSWFRYIGJ1ZmZlciBpcyBzaGFy
ZWQgd2l0aCB0aGUgZ3Vlc3Qgc28gaXQgY2FuDQo+IHBvdGVudGlhbGx5IGJlIHVwZGF0ZWQgY29u
Y3VycmVudGx5IGJ5IGFub3RoZXIgQ1BVLg0KDQpUaGUgY2xpZW50IGlzIG5vdCBzdXBwb3NlIHRv
IG1vZGlmeSB0aGUgYnVmZmVyIGR1cmluZyB0aGUgY2FsbCwgdXNpbmcgYXRvbWljDQpvcGVyYXRp
b25zIGhlcmUgaXMgbm90IHJlYWxseSBzb2x2aW5nIGFueSBpc3N1ZSBpZiB0aGlzIGlzIG1vZGlm
aWVkIHdoaWxlIHdlIHVzZSBpdCByaWdodCA/DQoNCj4gDQo+PiANCj4+PiArDQo+Pj4gKyAgICAv
Kg0KPj4+ICsgICAgICogV2UncmUgZG9pbmcgYSByb3VnaCBjaGVjayB0byBzZWUgdGhhdCBubyBp
bmZvcm1hdGlvbiBpcyBsb3N0IHdoZW4NCj4+PiArICAgICAqIHRyYW5mZXJpbmcgdGhlIHZhbHVl
cyBpbnRvIGEgc3RydWN0IGZmYV9tZW1fdHJhbnNhY3Rpb25feCBiZWxvdy4gVGhlDQo+Pj4gKyAg
ICAgKiBmaWVsZHMgaW4gc3RydWN0IGZmYV9tZW1fdHJhbnNhY3Rpb25feCBhcmUgd2lkZSBlbm91
Z2ggdG8gaG9sZCBhbnkNCj4+PiArICAgICAqIHZhbGlkIHZhbHVlIHNvIGJlaW5nIG91dCBvZiBy
YW5nZSBtZWFucyB0aGF0IHNvbWV0aGluZyBpcyB3cm9uZy4NCj4+PiArICAgICAqLw0KPj4+ICsg
ICAgaWYgKCBtZW1fcmVnX2F0dHIgPiBVSU5UOF9NQVggfHwgZmxhZ3MgPiBVSU5UOF9NQVggfHwg
c2l6ZSA+IFVJTlQ4X01BWCB8fA0KPj4+ICsgICAgICAgIGNvdW50ID4gVUlOVDhfTUFYIHx8IG9m
ZnMgPiBVSU5UMTZfTUFYICkNCj4+PiArICAgICAgICByZXR1cm4gRkZBX1JFVF9JTlZBTElEX1BB
UkFNRVRFUlM7DQo+Pj4gKw0KPj4+ICsgICAgLyogQ2hlY2sgdGhhdCB0aGUgZW5kcG9pbnQgbWVt
b3J5IGFjY2VzcyBkZXNjcmlwdG9yIGFycmF5IGZpdHMgKi8NCj4+PiArICAgIGlmICggc2l6ZSAq
IGNvdW50ICsgb2ZmcyA+IGJsZW4gKQ0KPj4+ICsgICAgICAgIHJldHVybiBGRkFfUkVUX0lOVkFM
SURfUEFSQU1FVEVSUzsNCj4+PiArDQo+Pj4gKyAgICB0cmFucy0+bWVtX3JlZ19hdHRyID0gbWVt
X3JlZ19hdHRyOw0KPj4+ICsgICAgdHJhbnMtPmZsYWdzID0gZmxhZ3M7DQo+Pj4gKyAgICB0cmFu
cy0+bWVtX2FjY2Vzc19zaXplID0gc2l6ZTsNCj4+PiArICAgIHRyYW5zLT5tZW1fYWNjZXNzX2Nv
dW50ID0gY291bnQ7DQo+Pj4gKyAgICB0cmFucy0+bWVtX2FjY2Vzc19vZmZzID0gb2ZmczsNCj4+
PiArDQo+Pj4gKyAgICByZXR1cm4gMDsNCj4+PiArfQ0KPj4+ICsNCj4+PiArc3RhdGljIHZvaWQg
aGFuZGxlX21lbV9zaGFyZShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykNCj4+PiArew0KPj4+
ICsgICAgdWludDMyX3QgdG90X2xlbiA9IGdldF91c2VyX3JlZyhyZWdzLCAxKTsNCj4+PiArICAg
IHVpbnQzMl90IGZyYWdfbGVuID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDIpOw0KPj4+ICsgICAgdWlu
dDY0X3QgYWRkciA9IGdldF91c2VyX3JlZyhyZWdzLCAzKTsNCj4+PiArICAgIHVpbnQzMl90IHBh
Z2VfY291bnQgPSBnZXRfdXNlcl9yZWcocmVncywgNCk7DQo+Pj4gKyAgICBjb25zdCBzdHJ1Y3Qg
ZmZhX21lbV9yZWdpb24gKnJlZ2lvbl9kZXNjcjsNCj4+PiArICAgIGNvbnN0IHN0cnVjdCBmZmFf
bWVtX2FjY2VzcyAqbWVtX2FjY2VzczsNCj4+PiArICAgIHN0cnVjdCBmZmFfbWVtX3RyYW5zYWN0
aW9uX3ggdHJhbnM7DQo+Pj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gY3VycmVudC0+ZG9tYWlu
Ow0KPj4+ICsgICAgc3RydWN0IGZmYV9jdHggKmN0eCA9IGQtPmFyY2gudGVlOw0KPj4+ICsgICAg
c3RydWN0IGZmYV9zaG1fbWVtICpzaG0gPSBOVUxMOw0KPj4+ICsgICAgdW5zaWduZWQgaW50IGxh
c3RfcGFnZV9pZHggPSAwOw0KPj4+ICsgICAgcmVnaXN0ZXJfdCBoYW5kbGVfaGkgPSAwOw0KPj4+
ICsgICAgcmVnaXN0ZXJfdCBoYW5kbGVfbG8gPSAwOw0KPj4+ICsgICAgaW50IHJldCA9IEZGQV9S
RVRfREVOSUVEOw0KPj4+ICsgICAgdWludDMyX3QgcmFuZ2VfY291bnQ7DQo+Pj4gKyAgICB1aW50
MzJfdCByZWdpb25fb2ZmczsNCj4+PiArDQo+Pj4gKyAgICAvKg0KPj4+ICsgICAgICogV2UncmUg
b25seSBhY2NlcHRpbmcgbWVtb3J5IHRyYW5zYWN0aW9uIGRlc2NyaXB0b3JzIHZpYSB0aGUgcngv
dHgNCj4+PiArICAgICAqIGJ1ZmZlci4NCj4+IA0KPj4gSXMgdGhpcyBhIGxpbWl0YXRpb24gY29t
aW5nIGZvbXIgdGhlIHNwZWMgb3IgZnJvbSB0aGUgaW1wbGVtZW50YXRpb24gPw0KPiANCj4gVGhp
cyBpcyBqdXN0IGEgbGltaXRhdGlvbiBpbiB0aGUgaW1wbGVtZW50YXRpb24uDQo+IA0KPj4gDQo+
Pj4gKyAgICAgKi8NCj4+PiArICAgIGlmICggYWRkciApDQo+Pj4gKyAgICB7DQo+Pj4gKyAgICAg
ICAgcmV0ID0gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+ICsgICAgICAgIGdvdG8gb3V0X3Nl
dF9yZXQ7DQo+Pj4gKyAgICB9DQo+Pj4gKw0KPj4+ICsgICAgLyogQ2hlY2sgdGhhdCBmcmFnbWVu
dCBsZW5ndGggZG9lc24ndCBleGNlZWQgdG90YWwgbGVuZ3RoICovDQo+Pj4gKyAgICBpZiAoIGZy
YWdfbGVuID4gdG90X2xlbiApDQo+Pj4gKyAgICB7DQo+Pj4gKyAgICAgICAgcmV0ID0gRkZBX1JF
VF9JTlZBTElEX1BBUkFNRVRFUlM7DQo+Pj4gKyAgICAgICAgZ290byBvdXRfc2V0X3JldDsNCj4+
PiArICAgIH0NCj4+PiArDQo+Pj4gKyAgICAvKiBXZSBjdXJyZW50bHkgb25seSBzdXBwb3J0IGEg
c2luZ2xlIGZyYWdtZW50ICovDQo+PiANCj4+IEl0IHdvdWxkIG1ha2Ugc2Vuc2UgdG8gYWRkIHNv
bWUgdGV4dCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBmaWxlcyBsaXN0aW5nDQo+PiB0aGUgY3Vy
cmVudCBsaW1pdGF0aW9ucyBvZiB0aGUgaW1wbGVtZW50YXRpb24uDQo+IA0KPiBUaGF0J3MgcXVp
dGUgYSBiaXQgdG8ga2VlcCB0cmFjayBvZiwgZXNwZWNpYWxseSBzaW5jZSBpdCB3aWxsIGNoYW5n
ZQ0KPiB3aXRoIGVhY2ggcGF0Y2guIElmIGl0J3MgaW1wb3J0YW50IHBlcmhhcHMgd2UgY2FuIHN1
bW1hcml6ZSB0aGF0IGluIGENCj4gZmluYWwgY29tbWl0IGluc3RlYWQuIEJ5IHRoZSB3YXksIHRo
aXMgcGFydGljdWxhciBsaW1pdGF0aW9uIGlzDQo+IHJlbW92ZWQgaW4gYSBsYXRlciBwYXRjaC4N
Cg0KSSBhbSBtb3JlIHRoaW5raW5nIGF0IHRoZSBlbmQgb2YgdGhlIHNlcmllIHRvIGhhdmUgb25l
IHBsYWNlIHdpdGggdGhlIGN1cnJlbnQNCnN0YXRlIGFuZCBsaW1pdGF0aW9ucyBvZiB0aGUgaW1w
bGVtZW50YXRpb24uDQoNCldlIGNhbm5vdCByZWFsbHkgZXhwZWN0IHNvbWVvbmUgdG8gYnJvd3Nl
IGFsbCBjb21tZW50cyB0byBnZXQgd2hhdCBpcw0KIHN1cHBvcnRlZCBvciBub3QuDQoNCj4gDQo+
PiANCj4+PiArICAgIGlmICggZnJhZ19sZW4gIT0gdG90X2xlbiApDQo+Pj4gKyAgICB7DQo+Pj4g
KyAgICAgICAgcmV0ID0gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+ICsgICAgICAgIGdvdG8g
b3V0X3NldF9yZXQ7DQo+Pj4gKyAgICB9DQo+Pj4gKw0KPj4+ICsgICAgc3Bpbl9sb2NrKCZjdHgt
PmxvY2spOw0KPj4+ICsNCj4+PiArICAgIGlmICggZnJhZ19sZW4gPiBjdHgtPnBhZ2VfY291bnQg
KiBGRkFfUEFHRV9TSVpFICkNCj4+PiArICAgICAgICBnb3RvIG91dF91bmxvY2s7DQo+Pj4gKw0K
Pj4+ICsgICAgaWYgKCAhZmZhX3BhZ2VfY291bnQgKQ0KPj4+ICsgICAgew0KPj4+ICsgICAgICAg
IHJldCA9IEZGQV9SRVRfTk9fTUVNT1JZOw0KPj4+ICsgICAgICAgIGdvdG8gb3V0X3VubG9jazsN
Cj4+PiArICAgIH0NCj4+PiArDQo+Pj4gKyAgICByZXQgPSByZWFkX21lbV90cmFuc2FjdGlvbihj
dHgtPmd1ZXN0X3ZlcnMsIGN0eC0+dHgsIGZyYWdfbGVuLCAmdHJhbnMpOw0KPj4+ICsgICAgaWYg
KCByZXQgKQ0KPj4+ICsgICAgICAgIGdvdG8gb3V0X3VubG9jazsNCj4+PiArDQo+Pj4gKyAgICBp
ZiAoIHRyYW5zLm1lbV9yZWdfYXR0ciAhPSBGRkFfTk9STUFMX01FTV9SRUdfQVRUUiApDQo+Pj4g
KyAgICB7DQo+Pj4gKyAgICAgICAgcmV0ID0gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+ICsg
ICAgICAgIGdvdG8gb3V0X3VubG9jazsNCj4+PiArICAgIH0NCj4+PiArDQo+Pj4gKyAgICAvKiBP
bmx5IHN1cHBvcnRzIHNoYXJpbmcgaXQgd2l0aCBvbmUgU1AgZm9yIG5vdyAqLw0KPj4gDQo+PiBB
bHNvIGEgbGltaXRhdGlvbiB0byBsaXN0Lg0KPiANCj4gT0sNCj4gDQo+PiANCj4+PiArICAgIGlm
ICggdHJhbnMubWVtX2FjY2Vzc19jb3VudCAhPSAxICkNCj4+PiArICAgIHsNCj4+PiArICAgICAg
ICByZXQgPSBGRkFfUkVUX05PVF9TVVBQT1JURUQ7DQo+Pj4gKyAgICAgICAgZ290byBvdXRfdW5s
b2NrOw0KPj4+ICsgICAgfQ0KPj4+ICsNCj4+PiArICAgIGlmICggdHJhbnMuc2VuZGVyX2lkICE9
IGdldF92bV9pZChkKSApDQo+Pj4gKyAgICB7DQo+Pj4gKyAgICAgICAgcmV0ID0gRkZBX1JFVF9J
TlZBTElEX1BBUkFNRVRFUlM7DQo+Pj4gKyAgICAgICAgZ290byBvdXRfdW5sb2NrOw0KPj4+ICsg
ICAgfQ0KPj4+ICsNCj4+PiArICAgIC8qIENoZWNrIHRoYXQgaXQgZml0cyBpbiB0aGUgc3VwcGxp
ZWQgZGF0YSAqLw0KPj4+ICsgICAgaWYgKCB0cmFucy5tZW1fYWNjZXNzX29mZnMgKyB0cmFucy5t
ZW1fYWNjZXNzX3NpemUgPiBmcmFnX2xlbiApDQo+Pj4gKyAgICAgICAgZ290byBvdXRfdW5sb2Nr
Ow0KPj4+ICsNCj4+IA0KPj4gV2h5IGFyZSB5b3UgdXNpbmcgYXRvbWljIG9wZXJhdGlvbnMgdG8g
YWNjZXNzIHJ4dHggYnVmZmVyIGFmdGVyIGhlcmUgPw0KPiANCj4gVG8gbGltaXQgaG93IHRoZSBj
b21waWxlciBjYW4gcmVvcmRlciB0aGUgcmVhZHMgZnJvbSBtZW1vcnkuDQoNCkFzIHN0YXRlZCBi
ZWZvcmUsIGRvbid0IHdlIGFzc3VtZSB0aGF0IHRoZSBidWZmZXIgaXMgbm90IG1vZGlmaWVkIGJ5
IHRoZSBjbGllbnQNCiB3aGlsZSB3ZSB1c2UgaXQgPw0KDQo+IA0KPj4gDQo+Pj4gKyAgICBtZW1f
YWNjZXNzID0gY3R4LT50eCArIHRyYW5zLm1lbV9hY2Nlc3Nfb2ZmczsNCj4+PiArICAgIGlmICgg
cmVhZF9hdG9taWMoJm1lbV9hY2Nlc3MtPmFjY2Vzc19wZXJtLnBlcm0pICE9IEZGQV9NRU1fQUND
X1JXICkNCj4+IA0KPj4gQWxzbyBhIGxpbWl0YXRpb24gdG8gbGlzdC4NCj4gDQo+IE9LDQoNCkNo
ZWVycw0KQmVydHJhbmQNCg0KPiANCj4gVGhhbmtzLA0KPiBKZW5zDQo+IA0KPj4gDQo+Pj4gKyAg
ICB7DQo+Pj4gKyAgICAgICAgcmV0ID0gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0KPj4+ICsgICAg
ICAgIGdvdG8gb3V0X3VubG9jazsNCj4+PiArICAgIH0NCj4+PiArDQo+Pj4gKyAgICByZWdpb25f
b2ZmcyA9IHJlYWRfYXRvbWljKCZtZW1fYWNjZXNzLT5yZWdpb25fb2Zmcyk7DQo+Pj4gKyAgICBp
ZiAoIHNpemVvZigqcmVnaW9uX2Rlc2NyKSArIHJlZ2lvbl9vZmZzID4gZnJhZ19sZW4gKQ0KPj4+
ICsgICAgew0KPj4+ICsgICAgICAgIHJldCA9IEZGQV9SRVRfTk9UX1NVUFBPUlRFRDsNCj4+PiAr
ICAgICAgICBnb3RvIG91dF91bmxvY2s7DQo+Pj4gKyAgICB9DQo+Pj4gKw0KPj4+ICsgICAgcmVn
aW9uX2Rlc2NyID0gY3R4LT50eCArIHJlZ2lvbl9vZmZzOw0KPj4+ICsgICAgcmFuZ2VfY291bnQg
PSByZWFkX2F0b21pYygmcmVnaW9uX2Rlc2NyLT5hZGRyZXNzX3JhbmdlX2NvdW50KTsNCj4+PiAr
ICAgIHBhZ2VfY291bnQgPSByZWFkX2F0b21pYygmcmVnaW9uX2Rlc2NyLT50b3RhbF9wYWdlX2Nv
dW50KTsNCj4+PiArDQo+Pj4gKyAgICBzaG0gPSBhbGxvY19mZmFfc2htX21lbShjdHgsIHBhZ2Vf
Y291bnQpOw0KPj4+ICsgICAgaWYgKCAhc2htICkNCj4+PiArICAgIHsNCj4+PiArICAgICAgICBy
ZXQgPSBGRkFfUkVUX05PX01FTU9SWTsNCj4+PiArICAgICAgICBnb3RvIG91dF91bmxvY2s7DQo+
Pj4gKyAgICB9DQo+Pj4gKyAgICBzaG0tPnNlbmRlcl9pZCA9IHRyYW5zLnNlbmRlcl9pZDsNCj4+
PiArICAgIHNobS0+ZXBfaWQgPSByZWFkX2F0b21pYygmbWVtX2FjY2Vzcy0+YWNjZXNzX3Blcm0u
ZW5kcG9pbnRfaWQpOw0KPj4+ICsNCj4+PiArICAgIC8qDQo+Pj4gKyAgICAgKiBDaGVjayB0aGF0
IHRoZSBDb21wb3NpdGUgbWVtb3J5IHJlZ2lvbiBkZXNjcmlwdG9yIGZpdHMuDQo+Pj4gKyAgICAg
Ki8NCj4+PiArICAgIGlmICggc2l6ZW9mKCpyZWdpb25fZGVzY3IpICsgcmVnaW9uX29mZnMgKw0K
Pj4+ICsgICAgICAgICByYW5nZV9jb3VudCAqIHNpemVvZihzdHJ1Y3QgZmZhX2FkZHJlc3NfcmFu
Z2UpID4gZnJhZ19sZW4gKQ0KPj4+ICsgICAgew0KPj4+ICsgICAgICAgIHJldCA9IEZGQV9SRVRf
SU5WQUxJRF9QQVJBTUVURVJTOw0KPj4+ICsgICAgICAgIGdvdG8gb3V0Ow0KPj4+ICsgICAgfQ0K
Pj4+ICsNCj4+PiArICAgIHJldCA9IGdldF9zaG1fcGFnZXMoZCwgc2htLCByZWdpb25fZGVzY3It
PmFkZHJlc3NfcmFuZ2VfYXJyYXksIHJhbmdlX2NvdW50LA0KPj4+ICsgICAgICAgICAgICAgICAg
ICAgICAgICAwLCAmbGFzdF9wYWdlX2lkeCk7DQo+Pj4gKyAgICBpZiAoIHJldCApDQo+Pj4gKyAg
ICAgICAgZ290byBvdXQ7DQo+Pj4gKyAgICBpZiAoIGxhc3RfcGFnZV9pZHggIT0gc2htLT5wYWdl
X2NvdW50ICkNCj4+PiArICAgIHsNCj4+PiArICAgICAgICByZXQgPSBGRkFfUkVUX0lOVkFMSURf
UEFSQU1FVEVSUzsNCj4+PiArICAgICAgICBnb3RvIG91dDsNCj4+PiArICAgIH0NCj4+PiArDQo+
Pj4gKyAgICAvKiBOb3RlIHRoYXQgc2hhcmVfc2htKCkgdXNlcyBvdXIgdHggYnVmZmVyICovDQo+
Pj4gKyAgICBzcGluX2xvY2soJmZmYV90eF9idWZmZXJfbG9jayk7DQo+Pj4gKyAgICByZXQgPSBz
aGFyZV9zaG0oc2htKTsNCj4+PiArICAgIHNwaW5fdW5sb2NrKCZmZmFfdHhfYnVmZmVyX2xvY2sp
Ow0KPj4+ICsgICAgaWYgKCByZXQgKQ0KPj4+ICsgICAgICAgIGdvdG8gb3V0Ow0KPj4+ICsNCj4+
PiArICAgIGxpc3RfYWRkX3RhaWwoJnNobS0+bGlzdCwgJmN0eC0+c2htX2xpc3QpOw0KPj4+ICsN
Cj4+PiArICAgIHVpbnQ2NF90b19yZWdwYWlyKCZoYW5kbGVfaGksICZoYW5kbGVfbG8sIHNobS0+
aGFuZGxlKTsNCj4+PiArDQo+Pj4gK291dDoNCj4+PiArICAgIGlmICggcmV0ICkNCj4+PiArICAg
ICAgICBmcmVlX2ZmYV9zaG1fbWVtKGN0eCwgc2htKTsNCj4+PiArb3V0X3VubG9jazoNCj4+PiAr
ICAgIHNwaW5fdW5sb2NrKCZjdHgtPmxvY2spOw0KPj4+ICsNCj4+PiArb3V0X3NldF9yZXQ6DQo+
Pj4gKyAgICBpZiAoIHJldCA9PSAwKQ0KPj4+ICsgICAgICAgICAgICBzZXRfcmVnc19zdWNjZXNz
KHJlZ3MsIGhhbmRsZV9sbywgaGFuZGxlX2hpKTsNCj4+PiArICAgIGVsc2UNCj4+PiArICAgICAg
ICAgICAgc2V0X3JlZ3NfZXJyb3IocmVncywgcmV0KTsNCj4+PiArfQ0KPj4+ICsNCj4+PiBzdGF0
aWMgYm9vbCBmZmFfaGFuZGxlX2NhbGwoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+Pj4g
ew0KPj4+ICAgIHVpbnQzMl90IGZpZCA9IGdldF91c2VyX3JlZyhyZWdzLCAwKTsNCj4+PiBAQCAt
ODE4LDYgKzEyOTksMTIgQEAgc3RhdGljIGJvb2wgZmZhX2hhbmRsZV9jYWxsKHN0cnVjdCBjcHVf
dXNlcl9yZWdzICpyZWdzKQ0KPj4+ICNlbmRpZg0KPj4+ICAgICAgICBoYW5kbGVfbXNnX3NlbmRf
ZGlyZWN0X3JlcShyZWdzLCBmaWQpOw0KPj4+ICAgICAgICByZXR1cm4gdHJ1ZTsNCj4+PiArICAg
IGNhc2UgRkZBX01FTV9TSEFSRV8zMjoNCj4+PiArI2lmZGVmIENPTkZJR19BUk1fNjQNCj4+PiAr
ICAgIGNhc2UgRkZBX01FTV9TSEFSRV82NDoNCj4+PiArI2VuZGlmDQo+Pj4gKyAgICAgICAgaGFu
ZGxlX21lbV9zaGFyZShyZWdzKTsNCj4+PiArICAgICAgICByZXR1cm4gdHJ1ZTsNCj4+PiANCj4+
PiAgICBkZWZhdWx0Og0KPj4+ICAgICAgICBncHJpbnRrKFhFTkxPR19FUlIsICJmZmE6IHVuaGFu
ZGxlZCBmaWQgMHgleFxuIiwgZmlkKTsNCj4+PiBAQCAtODU3LDYgKzEzNDQsOCBAQCBzdGF0aWMg
aW50IGZmYV9kb21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKQ0KPj4+ICAgICAgICB9DQo+Pj4g
ICAgfQ0KPj4+IA0KPj4+ICsgICAgSU5JVF9MSVNUX0hFQUQoJmN0eC0+c2htX2xpc3QpOw0KPj4+
ICsNCj4+PiAgICBkLT5hcmNoLnRlZSA9IGN0eDsNCj4+PiANCj4+PiAgICByZXR1cm4gMDsNCj4+
PiBAQCAtMTAxMiwxMSArMTUwMSwxMyBAQCBzdGF0aWMgYm9vbCBmZmFfcHJvYmUodm9pZCkNCj4+
PiAgICAgICAgICFjaGVja19tYW5kYXRvcnlfZmVhdHVyZShGRkFfUlhfUkVMRUFTRSkgfHwNCj4+
PiAjaWZkZWYgQ09ORklHX0FSTV82NA0KPj4+ICAgICAgICAgIWNoZWNrX21hbmRhdG9yeV9mZWF0
dXJlKEZGQV9SWFRYX01BUF82NCkgfHwNCj4+PiArICAgICAgICAgIWNoZWNrX21hbmRhdG9yeV9m
ZWF0dXJlKEZGQV9NRU1fU0hBUkVfNjQpIHx8DQo+Pj4gI2VuZGlmDQo+Pj4gI2lmZGVmIENPTkZJ
R19BUk1fMzINCj4+PiAgICAgICAgICFjaGVja19tYW5kYXRvcnlfZmVhdHVyZShGRkFfUlhUWF9N
QVBfMzIpIHx8DQo+Pj4gI2VuZGlmDQo+Pj4gICAgICAgICAhY2hlY2tfbWFuZGF0b3J5X2ZlYXR1
cmUoRkZBX1JYVFhfVU5NQVApIHx8DQo+Pj4gKyAgICAgICAgICFjaGVja19tYW5kYXRvcnlfZmVh
dHVyZShGRkFfTUVNX1NIQVJFXzMyKSB8fA0KPj4+ICAgICAgICAgIWNoZWNrX21hbmRhdG9yeV9m
ZWF0dXJlKEZGQV9NU0dfU0VORF9ESVJFQ1RfUkVRXzMyKSApDQo+Pj4gICAgICAgIHJldHVybiBm
YWxzZTsNCj4+PiANCj4+PiAtLQ0KPj4+IDIuMzQuMQ0KPj4gDQo+PiANCj4+IENoZWVycw0KPj4g
QmVydHJhbmQNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 13:27:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 13:27:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510056.787042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcRA2-0002yL-CL; Wed, 15 Mar 2023 13:27:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510056.787042; Wed, 15 Mar 2023 13:27: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 1pcRA2-0002yE-8s; Wed, 15 Mar 2023 13:27:22 +0000
Received: by outflank-mailman (input) for mailman id 510056;
 Wed, 15 Mar 2023 13:27: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 1pcRA1-0002y4-6J; Wed, 15 Mar 2023 13:27: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 1pcRA1-0006Be-2F; Wed, 15 Mar 2023 13:27: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 1pcRA0-0001c3-It; Wed, 15 Mar 2023 13:27:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcRA0-0002Vu-IL; Wed, 15 Mar 2023 13:27: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=D229MfGWkOuZaCIljzu+tSzo9pSOaw3q3PGoK5uJVJk=; b=Ngk1osutpohaTdqSExuj+caM3d
	C1zDKeMrQW9vSpEzdMdx22JkphOJC01Q4zL/dSZPabQPVPeeCwRLJznU+Jw9LOW2LKsNoFyMVUEBR
	QXAD6bmbT9NmGE1OLvrg5LutL74cJARWKqkuzhei39DbL5CXQSSrzw37wWYTe8NFBdzY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179633-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179633: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-pair:xen-install/dst_host:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-i386-libvirt-pair:xen-install/src_host: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-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-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd: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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=de819c96c863467b6e625cd7197d17682f6c6122
X-Osstest-Versions-That:
    xen=be62b1fc2aa7375d553603fca07299da765a89fe
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Mar 2023 13:27:20 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-pair 11 xen-install/dst_host fail pass in 179647-retest
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 179647-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-pair 10 xen-install/src_host fail in 179647 like 179621
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179621
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179621
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179621
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179621
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179621
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179621
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179621
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179621
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179621
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-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-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  de819c96c863467b6e625cd7197d17682f6c6122
baseline version:
 xen                  be62b1fc2aa7375d553603fca07299da765a89fe

Last test of basis   179621  2023-03-14 08:11:42 Z    1 days
Testing same since   179633  2023-03-14 21:38:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>
  Michal Orzel <michal.orzel@amd.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   be62b1fc2a..de819c96c8  de819c96c863467b6e625cd7197d17682f6c6122 -> master


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 13:33:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 13:33:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510060.787052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcRFN-0004bO-1D; Wed, 15 Mar 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 510060.787052; Wed, 15 Mar 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 1pcRFM-0004bH-Uc; Wed, 15 Mar 2023 13:32:52 +0000
Received: by outflank-mailman (input) for mailman id 510060;
 Wed, 15 Mar 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=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcRFM-0004bB-31
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 13:32:52 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20617.outbound.protection.outlook.com
 [2a01:111:f400:7d00::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e10bd8e8-c335-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 14:32:49 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8802.eurprd04.prod.outlook.com (2603:10a6:20b:42d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 13:32:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 13:32:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e10bd8e8-c335-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n08l1mHMuLyCPglz2fuemHRtZFgKDdzAjsqVe36fL3D7mDqzP3QFY+jO9tzPs7xp1VUISrSKrYoWT2JwbQxl9V4gHGSqBuGS7Hb9wBg7/pbzQMyKHxbq4+cvywKBJLF3Z4SMdac+ZwbQ05MOYSoacKxf6jzHmT4LLNHdy11jZz7wPSgYlbUGIxfZ9r2q0xkDFSeYeKHLYaFO7TP7phbGrzVVRFZHH0YiyCQTPPzx+Za8S7BNrE3HtFc91GimZsnrS6Hhb2luXukLjwxzcwc9FP50puuv18jExDuj53/hat3DCRkx4u/fm+5dAwmwLpqwIXMvZrPz6T1gAjDWCkuJVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bAclPMKtriJj7HeddeDmW/AaZLDrldwXJXHTtf3cXVY=;
 b=PSmQSGNbjl/BjX/KjD0yNcb6PVz4EGYjRr/8ST3xr1PQ4DyZGjiWdsJBrWPODelI5QyFshbKyd7tJf7V7s6uWoK+UDRWIK5+YaNVhYAKM92liG/zctWRyJEpyqLG2uvTBrjSJuLzWbMVfvuHcVt78t4wteE9rdmdmiTT2tH712cwAlC+dd68Yi0li8hnfSAgrTRjUZk+2ssVrC6BIo0uU4By7LQa0CwwHae04lSCD6KF1aXxuHjHuMXNv8EW84VhYdOHy3MfsIDgvuD5HFftwPWlQ36zKM9GgOAuf6B+NvMvaLcxN6DVhseg4LP9003INhc6T2l+tntx8wMgdDYcgg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bAclPMKtriJj7HeddeDmW/AaZLDrldwXJXHTtf3cXVY=;
 b=cYHtv/Ynq0AdYgOXqrXXCLV2aEV0UItMz4273+MA+a+VnPqjlRffmO2NTu3+1sgyBoP5hYkW92rDorlX5s8HixxEU1zTmYvo4FXMN8P4u6aL6EGSSeOr28LQObftS2CHhHc0K+UzjmjVZTaJmNqjS2vFnCAzQHKkjBc1xmmPd4lUfal3BSJIJiY6kf4PvwiU4xGWrqkpA+hvxMYZW5OjqLUC0xwWHxNYSPwNrVHP3HOFdHSu+PV66SB98DcjC5L1UZt7qBXlAKVI+70odvFR2fvb70rKdxf/Dh5sTsetoQoXDhC746kpEFYgkEHvboLEoB36vGJ3EyAY7+IaIXqHQQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <84cbf717-dc43-e2d8-ffc9-1f494b17b6ee@suse.com>
Date: Wed, 15 Mar 2023 14:32:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 02/10] xen/arm: add sve_vl_bits field to domain
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
 <20230315090558.731029-3-luca.fancellu@arm.com>
 <a8dabea2-0903-6d3c-350f-127dd9f726ca@suse.com>
 <C0BF2738-9D1C-467F-A767-BEA4C914EC9D@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <C0BF2738-9D1C-467F-A767-BEA4C914EC9D@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0139.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8802:EE_
X-MS-Office365-Filtering-Correlation-Id: f329ae4e-45f9-4a65-da93-08db2559c3e9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/hcYSV7i1Lt1ICjiZ0bmMPgwxEHUfSLsQxraPqxlAUoOUaQX3T0Fb4Zkur1ALtS/M4lbQZED5dbOwSMVN1jTMBhlaVnn0dKyaPVVb3RMG4BpY8z7JiMhiUh7CPRqUa4A8tjEu4Q+3TJdTphsSmkhZY9TN8kalWXwVqQR/TtRnvOY6G2mc0idgFnoUajMpC/6xkOL7SMGX8cn5QbDHUzD9X/ZNR0VlTB+PIksobgpdycz1oPtgyo2L55Zvjy0FAFwOVc9FIrJIe7bsTv5LDZA8LzljTce/pU4a1dtXQTcSDeKUDrwKD7eC5Q4y4gyn5t9MvHypvCNUhXxbwnBO2B+HNubNyjxnFvcHJSNcxrEMk5l5/Jo1xJnxtIuplncoWyKMynIsO881duKGgGLhSlsr96jnwZHYylqvK2773HwzCZO6AUwXxp/O3b6MqcttxP1TWA9NLtkhyJ50GD/eWeaGoQcOxdwy4GbS9Bfa/zsQqFvt86aCnqd2Z9YRdKF4CR16WVfkefC+/XdJ4nKctHt3Sq8dC4N9oFyCDpnWouONioLgVBAH7Alb7hj0VLHCkWcaSoUACQ9si4GRaztpgqcKB4jjjbPXUtlFgDO+GkVkW51nH4/2BgdVcT0PqEVI21+y3z5pw1/+P98o59K140hN29dMdWtEv+86da2QJEU6JmiBxYPDx78nTnp8zHoGn/c6bDm42SL/W2hPISRXUZ8BA7dSwTUqd2xBLX05rQBJ1E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(396003)(136003)(376002)(346002)(451199018)(7416002)(38100700002)(4326008)(316002)(86362001)(54906003)(31696002)(8936002)(6916009)(8676002)(41300700001)(66946007)(66476007)(66556008)(36756003)(2616005)(478600001)(5660300002)(2906002)(6486002)(31686004)(6506007)(186003)(6512007)(26005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dUhwRmY1M0t3TEVOM3VCcnBBcnF0b1JNU3JzSDJsdUliSHNoOWYwYU11VVBr?=
 =?utf-8?B?ZDR6TnNwcmZxam8xL1YyY3E1bUpjRElaaXpYOW91YXNHOWxnRG10aEcybzBL?=
 =?utf-8?B?YVJmb0Zlakl2WUU2YUlFdmF1NkgxRVg1TGFDa3Mvd25xR0Z0TnBmT28zeitz?=
 =?utf-8?B?eW9OeEh3bXdDcStPOTNJVm1IYWVESjN4ZkhzbGRCYjNFWWpGWDU2a0dRcjBo?=
 =?utf-8?B?V09rVlpLOXRrblNTVE0wTVJ5MFQ2MTFMWVRNVmpzV2Z0RWpTYTRYeVRsVGxF?=
 =?utf-8?B?MUQwZ1BJRVZxaVFCNjAyT1BCL09CV0ZPQ2hYeUswRnQwbVVMeVByS1BaTm9p?=
 =?utf-8?B?WVdNbmJsSGFpekFZWElNdVV0ZmdkejFpSU13ZnFzUlJjc0JWWU5LZmFQYjFT?=
 =?utf-8?B?V3N5OGV2Q29uZ2pyT0hpdTJ4aXVuOWEwQUYzSkVWaGNwekhZbEtza3hQdTFE?=
 =?utf-8?B?SEo2eWluZ0QrTUFxNnRKTTRINHMzdE1OZUMxRExhUnhTWjNMZWRXNis0cTMy?=
 =?utf-8?B?RUR4SDdWRC9xL016MEJxTDBpaFRMZGJBQWRpVjZDOTJaNlVUVysraEQrTGdI?=
 =?utf-8?B?TkFzcWhCYlIzNVVSMlJpT3A1VEZvWFhjWXpxYU1JWEUzYzd4b0s1Wlo4Wmcv?=
 =?utf-8?B?Z0hUZUh6RGI1MTRJOEhtWWowd2dYNTl5ZlRVTTZWTDhLME0vaHdBejBaT29u?=
 =?utf-8?B?WjBZRVJJKzgxbjV0TDdoZEVDWDV5T0ZXT0gvWS9uNXJlMjEvNHhFYm1zQ0I0?=
 =?utf-8?B?bGZQci9zQ1gxaVRBOVRVcVFIUkZLRmdGTFhIbjdKSGw0a2Qrb2ZNNzdjZm5s?=
 =?utf-8?B?a3lzRnV6Y2xEWW4wVm83MTIwVjlCSGlIYWVIS2FiT3FDdU5zWjVLbHNYenQy?=
 =?utf-8?B?QktEUW5iYnNUZm9ORkJRUUJ4eFgyRTN3VStuelJNR0xURThQWTBZeUpOZVpM?=
 =?utf-8?B?SDI4YUdDQ2tpRTNsc1hwVVpuNFZuY2M1SGRNdmFjZllyRU4xWnJidXQ3aFVx?=
 =?utf-8?B?bW93N2U1M1NTWmd2MDdTVmpoS3NqVjM5dFhtMGVPQUR3dS84OSs1V3V4Y0Ju?=
 =?utf-8?B?TkQ1cUtGNDRIck9QUmd5TTJRUUNkSzE5MWg2OHBUMUtERG1EcGtHQ1hidFlq?=
 =?utf-8?B?QmMxSHpKMktSak1lcEZkYllVQ3p4VUpwRWVONGtqVzF5YkhvRVBERkw3UFk2?=
 =?utf-8?B?dFo0YzRGaVdYeW9zaHBMdVk1bS9kTzgxMXpPWk9PNWd4TGNic05oNnppa1Bq?=
 =?utf-8?B?clljeEdaZjErenZsYksvVlRxRkVSWm5wVkxDZ0dVYk5ZNXNOMm5OdU9mR1hr?=
 =?utf-8?B?OHV0dU5jYU9qZHZVT2pUVzNQNEFmc3cxUSt6OWR5MkFIeHp6Y0xyNnJaUmNa?=
 =?utf-8?B?dW9tQTZscG9Sdm1aQ0t1Z0lXSTF0cTdlbjBOeDV2ZElvMkw1eldFL0wwM2VV?=
 =?utf-8?B?NkVMRzNSV0ErYTZXQ05kUnpKZmFqL3hDTE1NYWRVN2haUlNJOVlMY0FqUnJ3?=
 =?utf-8?B?b0g4RU5YZGFpVFZ6cGR1akQvUG40dEd4SUEvSWJuMFFBUEdkNDkyMUhSQlZk?=
 =?utf-8?B?eXF1RW4wa1hJd1JxNTFvQVBQRDdnbnJ4NjBOc0pJM2pLMEtsV3NOTXFhTkhx?=
 =?utf-8?B?MkM4ZVhlMk9SRnlaQ2N5c3prYUlaN1NGQ0Y2ZkszbE42NFovMHpCYVNrcEFY?=
 =?utf-8?B?Q2F1K3BWekE4SndEZXZHZjlzQVg0TER6TUV2ejE2RXNYdnIyWTBaODEyTWlI?=
 =?utf-8?B?bmtNb2RzVHNZYUFmM2RleGdkeEIwR3hvcFFsL0g5WUhqUFluUGVHVEJxZEtx?=
 =?utf-8?B?Nkhldk9mWDFPaUdCZW1yTDMxQmZrVTV4Z3plNGozTDNoTmFtcnFuNm5GdGhX?=
 =?utf-8?B?WjU3dEdVWW1DMGg3S3hnNjd1ZHVHVkJGcVh0MHNZZTFHZ2l3bXFOcUEyaStE?=
 =?utf-8?B?VG0yTWFieFhnNTNJY25zNzJjckxGeXJTa3djS3Vwd0lnYUpPcFkyaVZ2bkdO?=
 =?utf-8?B?TVhHdUp6SUx6Q2RhUXpXNG03ZDNHTEJDaTF6YXY0TVNNRWkya0tmTWtIN09L?=
 =?utf-8?B?bHVmL1VBUTJ6ck5mTVcyQlllRmdWOGxZbjhzRjd2bWt6d0tQemVDcVlnNlpG?=
 =?utf-8?Q?gbUzWiA6uj6hRoU8hEiW2f/92?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f329ae4e-45f9-4a65-da93-08db2559c3e9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 13:32:47.3819
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cFCm7OiXia5LYzVLk8I+YoLU17yMaS4pUwjqvoScHJIUBmBgABZVhpIN+GXlaj063YpQCu6hQzp3dsiwiVTAfw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8802

On 15.03.2023 11:09, Luca Fancellu wrote:
>> On 15 Mar 2023, at 09:27, Jan Beulich <jbeulich@suse.com> wrote:
>> On 15.03.2023 10:05, Luca Fancellu wrote:
>>> --- a/xen/include/public/arch-arm.h
>>> +++ b/xen/include/public/arch-arm.h
>>> @@ -304,6 +304,9 @@ struct xen_arch_domainconfig {
>>>     uint16_t tee_type;
>>>     /* IN */
>>>     uint32_t nr_spis;
>>> +    /* IN */
>>> +    uint16_t sve_vl_bits;
>>> +    uint16_t _pad1;
>>
>> Can register sizes be a non-power-of-2 in size?

>From logic in later patches I infer the answer is "yes" here.

>> If not, by representing
>> the value here as log2(bits) the existing 8-bit padding field could be
>> used instead. Sadly, because of it not having been checked to be zero,
>> that wouldn't avoid ...
>>
>>> --- 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 0x00000015
>>> +#define XEN_DOMCTL_INTERFACE_VERSION 0x00000016
>>
>> ... the need for the bump here. Yet you want to avoid repeating that
>> mistake and hence check that the new padding field you introduce (if
>> the value needs to remain 16 bits wide) is zero on input.
> 
> Hi Jan,
> 
> Thank you for your suggestion, just to be sure we are on the same page:
> 
> I can store the vector length as VL/128, doing that I can use just 8 bits, so
> I can do this:
> 
> struct xen_arch_domainconfig {
> /* IN/OUT */
> uint8_t gic_version;
> /* IN */
> uint16_t tee_type;
> /* IN */
> uint8_t sve_vl_bits_enc;
> /* IN */
> uint32_t nr_spis;
> [...]
> 
> To take advantage of the existing not explicit padding.
> 
> Is that what you meant? 

Almost:

struct xen_arch_domainconfig {
/* IN/OUT */
uint8_t gic_version;
/* IN */
uint8_t sve_vl_bits_enc;
/* IN */
uint16_t tee_type;
/* IN */
uint32_t nr_spis;
[...]

I'm inclined to suggest to name the new field "sve_vl" only, with the
comment extended to clarify in what units the value is.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 13:35:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 13:35:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510070.787083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcRHp-0005SB-Qi; Wed, 15 Mar 2023 13:35:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510070.787083; Wed, 15 Mar 2023 13:35: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 1pcRHp-0005S4-L8; Wed, 15 Mar 2023 13:35:25 +0000
Received: by outflank-mailman (input) for mailman id 510070;
 Wed, 15 Mar 2023 13:35: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=KrYV=7H=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1pcRHo-0005Ry-1x
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 13:35:24 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c773d94-c336-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 14:35:23 +0100 (CET)
Received: from AS8P250CA0002.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:330::7)
 by AS8PR08MB6151.eurprd08.prod.outlook.com (2603:10a6:20b:290::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 13:35:20 +0000
Received: from AM7EUR03FT064.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:330:cafe::8c) by AS8P250CA0002.outlook.office365.com
 (2603:10a6:20b:330::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29 via Frontend
 Transport; Wed, 15 Mar 2023 13:35:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT064.mail.protection.outlook.com (100.127.140.127) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6199.16 via Frontend Transport; Wed, 15 Mar 2023 13:35:20 +0000
Received: ("Tessian outbound cfb430c87a1e:v135");
 Wed, 15 Mar 2023 13:35:20 +0000
Received: from 45d86a252c31.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8D9EFAF0-7F10-4B23-8047-DE3DAC5434DF.1; 
 Wed, 15 Mar 2023 13:35:13 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 45d86a252c31.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 15 Mar 2023 13:35:13 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by DB9PR08MB7698.eurprd08.prod.outlook.com (2603:10a6:10:391::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 13:35:09 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::806c:fd65:92cf:7b7a%7]) with mapi id 15.20.6178.029; Wed, 15 Mar 2023
 13: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: 3c773d94-c336-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ig39s/5VCvRhs9Cl9UaDEJJ+PLFNJ3a8bhlm1OziBdk=;
 b=Qv6Dv3ccxlwt1dcAdXBeTlhfe7FR084nOT4o425jhPoMDBhMQbTSqviX1kmHi8Mexh1UqK3CvKnynEShbbR1hz/6lh+G6rajVKWUlGV3i6Gs+CaEUzhI5iq9uShpnze9dkOKGR0zcmZmzA0wS6yVvlJcohOFeAZcZ6hgEo4mcVo=
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: 1438832be683daa9
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O0pDNjtj2V6jQfAa33qzptcCAtBcdMCR5gH1ANGH3hSPWngJnBm4o0HGvMo261PsMlF8SDJsyDfhWhV39GcXd6dK3TKsI3NSF2mZH5ZmJ6maqV0GGaNUss/5wl1K9Mv9CX2HqzHTNJ4oeVFF+MA7F8cHvSTgljriz57utsTFbAoLQ42E8feGrhX6G8stSRsT3nMFbJNNx8etVx9V4QfE4UG2COgeINk5e2e8k9Gw1MWlXIxfrWtnXTppR6wi37SHwqrOQcn08wsh5s66X76b7usu50Jli0+tDwaiGbgUxmHLj2w6wJ1MefyOTsXkwB5zOptbBwK7Bu7PWAt/Jr1M4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ig39s/5VCvRhs9Cl9UaDEJJ+PLFNJ3a8bhlm1OziBdk=;
 b=SLF7cnDg7lODUFpaLkpaS7bOi4mDz3zWw7GW0s59LkgvkcLeK+R+AyTYW8ZMACcfl0pxgdRD4W+Z37RS6yJk/mVrZ09prq+uEbO3DtZjcfwKwm8JjR+yJ93ENyXZvSXfoPgEv4FGRsuYGRMA8JAXp7azn+/IRsyfIqQZ9HKvtvrPHhO4h6rq7VdFXrVelfEgXBu7ZcIMeI9Qocj+dzvYIfJn1Lr+3gT+ZZXxe1DV8SEYSro4HflNqvlIAs3UAWMmJAcZ4QwdQf41yrGFo7nPZssynU8jItqcou3oG6mUgfGaW3QBlBrTWN8GpATr2RXzqNX7qaUkd6AezjGzqhmBCg==
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=ig39s/5VCvRhs9Cl9UaDEJJ+PLFNJ3a8bhlm1OziBdk=;
 b=Qv6Dv3ccxlwt1dcAdXBeTlhfe7FR084nOT4o425jhPoMDBhMQbTSqviX1kmHi8Mexh1UqK3CvKnynEShbbR1hz/6lh+G6rajVKWUlGV3i6Gs+CaEUzhI5iq9uShpnze9dkOKGR0zcmZmzA0wS6yVvlJcohOFeAZcZ6hgEo4mcVo=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Jens Wiklander <jens.wiklander@linaro.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici
	<Marc.Bonnici@arm.com>, Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk
	<volodymyr_babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v7 20/20] xen/arm: ffa: support sharing large memory
 ranges
Thread-Topic: [XEN PATCH v7 20/20] xen/arm: ffa: support sharing large memory
 ranges
Thread-Index: AQHZRtMi7cJr1K8N4EOHc07/hf6cda77v+AAgAAaQoCAAB4WAA==
Date: Wed, 15 Mar 2023 13:35:09 +0000
Message-ID: <333E414C-CC5C-4217-B04F-D65A164D6802@arm.com>
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <5a48b7c7a56b83138932850eb7f94f90604168e4.1677079672.git.jens.wiklander@linaro.org>
 <D9FBF922-1941-401B-9794-45641A02FC19@arm.com>
 <CAHUa44FUHKqzSY1V0WV7-=LQEJTUuBFt_hLGsMbtgRsCtPuQTA@mail.gmail.com>
In-Reply-To:
 <CAHUa44FUHKqzSY1V0WV7-=LQEJTUuBFt_hLGsMbtgRsCtPuQTA@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.3731.400.51.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_|DB9PR08MB7698:EE_|AM7EUR03FT064:EE_|AS8PR08MB6151:EE_
X-MS-Office365-Filtering-Correlation-Id: cd310684-1cc5-4de3-c01c-08db255a1f2e
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:
 j86/7ojEfBJ18LHKsEuk2dwFEqiZXo7Kxb2STwVccVqTFHvjzLF6N7zhlmSfgmBMqa7yDlx8OSBTPY0LZxwkaAl6jiqocy5wNHbSD7WfaoGBVf3ssO/PmksSsZOtvuxmltbf/TMTUoCliDCVwW3rg9Lp4ISTIHcVRDBvFwC1jNm+MB6Vwy+iAbd7gM/27Rwp8sCk4cHfDPt8NQ4uzbDFLDdP2Fi8U0xhiTxJgBbYDFNIrYSvfVgzvObnctiGXkaPYqblCqW2u3Tus0WP9JzeCh6BS6lOJf3Ii2oNUvZN9x1aIJsOcZ/WbU71b1Ol5q5+XYcdVvw/IbyJGbZCQ40AaEM75CBesue1X7SUZ4eyMC2HX8FD16ctY0dHBGHGADYZwwrpSJ2+1ppQYID14OB0J+KADW3QdPqC5rD9ncjQwPi6ojNqtnW1RsvjWIuIgMLiaQmGOCAhKM8FBxkleDL9yoU5RTVHWUSta5KuJd8vFXqWPGy6R95t1WM3AvFuWzPd2eWrVHuom2Iwb86Ysa5lySDanV0Hozdw5cHFR6R4OAomh1EK1Hx5PJ2EAFtPH+X5cxUhPVYXI07U0OXSECf0u9f5Kkoyh6jMYdol1zxud6NXvQKycwuGiPZIPxVyUTpv6qcQH085KkLs98dOcj4Y2neh/vKAZWCeZZPuT0V5o+OC5ru6tVjJlGoQPnTc9BnoV2F25RY8lU8WKLi/zrxwvcITCrczzCiRb7ZgPyB+OcQ=
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:(13230025)(4636009)(346002)(366004)(39860400002)(376002)(396003)(136003)(451199018)(66446008)(478600001)(91956017)(66476007)(64756008)(76116006)(8676002)(66946007)(6916009)(66556008)(4326008)(30864003)(122000001)(36756003)(38070700005)(38100700002)(86362001)(8936002)(5660300002)(33656002)(41300700001)(316002)(54906003)(6512007)(6506007)(71200400001)(186003)(53546011)(6486002)(83380400001)(2616005)(66899018)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <DAB11EA0931CFE43B5E862A40AD1C8D3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7698
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:
 AM7EUR03FT064.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fd6b8cf3-fe8c-4bbb-c8fb-08db255a1887
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ggB98UaWkYdJz+Tr7G/C3jp0BmRLKnS81MFM4qUW9SYVpVYX7nsuwTyb32nvRA+mgEuJ7kw/Ar8NyiHHbDCuuzq07AZd2KtTg315inZeZ1gyzPcZEd35kmeMqpIGMCOHtD5Uh6zpDvHw+Kkc5hbZOFyz5M+WJ82r07SYS1CXV98WqngoGdN/8jsDcsOVkU7HYqADUHgaW90PFvpQVsqjrInJ+UzS3iHdguDUySauPwo62gBoGeibGlbqMVAMk8BN9w8qmEeiET8Oa9qXQ1CqWwdPxKbgX/QEEjP9VBh1U/xk69Hp70RGAYfGuQ0YveBXXag2B+0QhrPIgTmB6hyu6TDLkf4KQqsA4tunVRy9NkVMt10vkiPbZDEVtdGxYspSQZkwylCED093honmZdkvxVBUuf9oJRhWE7ZqGUQS++VkHOGyduyDkqvObcOvHtBLOzvo953GCti/VoAFj6/STCtu38jG8RhYb1ILN0FAUNdzUhRvElRRMnfcmtwIl8Z/pEzkrc7VAuS4LOEGbXpniL0HfU3vjeIEOG1S3D6uC2bdW0k/mBgnUmYGpVL4Hs9iyIUDcZFd0LedTEhsUjlpXNmt8LECSeTveRhNfC0KLq+Mdy2pVnYO59G+hvKBmUa8E4AkbfrUVnJMywe7JflKDlXQCFjDwkiF2gk0HzJL4lpfUP/awjeHDY0S/Ak7bqCIk+/7ljGlITtWz+tIhc19Pg==
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:(13230025)(4636009)(376002)(346002)(136003)(39860400002)(396003)(451199018)(36840700001)(40470700004)(46966006)(82740400003)(356005)(30864003)(186003)(8936002)(6862004)(2906002)(36860700001)(2616005)(86362001)(5660300002)(53546011)(66899018)(81166007)(6506007)(26005)(41300700001)(6512007)(82310400005)(70206006)(70586007)(33656002)(316002)(54906003)(4326008)(8676002)(478600001)(83380400001)(336012)(47076005)(36756003)(40480700001)(40460700003)(6486002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 13:35:20.2249
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cd310684-1cc5-4de3-c01c-08db255a1f2e
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:
	AM7EUR03FT064.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6151

SGkgSmVucywNCg0KPiBPbiAxNSBNYXIgMjAyMywgYXQgMTI6NDcsIEplbnMgV2lrbGFuZGVyIDxq
ZW5zLndpa2xhbmRlckBsaW5hcm8ub3JnPiB3cm90ZToNCj4gDQo+IEhpIEJlcnRyYW5kLA0KPiAN
Cj4gT24gV2VkLCBNYXIgMTUsIDIwMjMgYXQgMTE6MTPigK9BTSBCZXJ0cmFuZCBNYXJxdWlzDQo+
IDxCZXJ0cmFuZC5NYXJxdWlzQGFybS5jb20+IHdyb3RlOg0KPj4gDQo+PiBIaSBKZW5zLA0KPj4g
DQo+Pj4gT24gMjIgRmViIDIwMjMsIGF0IDE2OjMzLCBKZW5zIFdpa2xhbmRlciA8amVucy53aWts
YW5kZXJAbGluYXJvLm9yZz4gd3JvdGU6DQo+Pj4gDQo+Pj4gQWRkcyBzdXBwb3J0IGZvciBzaGFy
aW5nIGxhcmdlIG1lbW9yeSByYW5nZXMgdHJhbnNtaXR0ZWQgaW4gZnJhZ21lbnRzDQo+Pj4gdXNp
bmcgRkZBX01FTV9GUkFHX1RYLg0KPj4+IA0KPj4+IFRoZSBpbXBsZW1lbnRhdGlvbiBpcyB0aGUg
YmFyZSBtaW5pbXVtIHRvIGJlIGFibGUgdG8gY29tbXVuaWNhdGUgd2l0aA0KPj4+IE9QLVRFRSBy
dW5uaW5nIGFzIGFuIFNQTUMgYXQgUy1FTDEuDQo+Pj4gDQo+Pj4gQWRkcyBhIGNoZWNrIHRoYXQg
dGhlIFNQIHN1cHBvcnRzIHRoZSBuZWVkZWQgRkYtQSBmZWF0dXJlDQo+Pj4gRkZBX01FTV9GUkFH
X1RYLg0KPj4+IA0KPj4+IFNpZ25lZC1vZmYtYnk6IEplbnMgV2lrbGFuZGVyIDxqZW5zLndpa2xh
bmRlckBsaW5hcm8ub3JnPg0KPj4+IC0tLQ0KPj4+IHhlbi9hcmNoL2FybS90ZWUvZmZhLmMgfCAy
NTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0NCj4+PiAxIGZpbGUg
Y2hhbmdlZCwgMjQwIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQ0KPj4+IA0KPj4+IGRp
ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5jIGIveGVuL2FyY2gvYXJtL3RlZS9mZmEu
Yw0KPj4+IGluZGV4IDM1NTdlZGM0NTVkMC4uNzJjMDI0OWQ4Y2FkIDEwMDY0NA0KPj4+IC0tLSBh
L3hlbi9hcmNoL2FybS90ZWUvZmZhLmMNCj4+PiArKysgYi94ZW4vYXJjaC9hcm0vdGVlL2ZmYS5j
DQo+Pj4gQEAgLTMyNiw2ICszMjYsNyBAQCBzdHJ1Y3QgZmZhX2N0eCB7DQo+Pj4gICAgdWludDMy
X3QgZ3Vlc3RfdmVyczsNCj4+PiAgICBib29sIHR4X2lzX21pbmU7DQo+Pj4gICAgYm9vbCBpbnRl
cnJ1cHRlZDsNCj4+PiArICAgIHN0cnVjdCBsaXN0X2hlYWQgZnJhZ19saXN0Ow0KPj4+ICAgIHN0
cnVjdCBsaXN0X2hlYWQgc2htX2xpc3Q7DQo+Pj4gICAgdW5zaWduZWQgaW50IHNobV9jb3VudDsN
Cj4+PiAgICBzcGlubG9ja190IGxvY2s7DQo+Pj4gQEAgLTM0MCw2ICszNDEsMTggQEAgc3RydWN0
IGZmYV9zaG1fbWVtIHsNCj4+PiAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlc1tdOw0KPj4+IH07
DQo+PiANCj4+IFdlIHN0YXJ0IHRvIGhhdmUgYSBsb3Qgb2YgZmllbGRzIGhlcmUuDQo+PiBJdCBt
aWdodCBiZSB1c2VmdWwgdG8gaGF2ZSBzb21lIHF1aWNrIGRvY3VtZW50YXRpb24NCj4+IGluIGNv
bW1lbnQgaGVyZSBhcyBzb21lIG5hbWVzIGFyZSBhIGJpdCBnZW5lcmljLg0KPj4gRm9yIGV4YW1w
bGUgImZyYWdfbGlzdCIgZG9lcyBub3Qgc2F5IG11Y2guDQo+IA0KPiBJJ2xsIGFkZCBzb21lIGNv
bW1lbnRzLg0KPiANCj4+IA0KPj4+IA0KPj4+ICtzdHJ1Y3QgbWVtX2ZyYWdfc3RhdGUgew0KPj4+
ICsgICAgc3RydWN0IGxpc3RfaGVhZCBsaXN0Ow0KPj4+ICsgICAgc3RydWN0IGZmYV9zaG1fbWVt
ICpzaG07DQo+Pj4gKyAgICB1aW50MzJfdCByYW5nZV9jb3VudDsNCj4+PiArICAgIHVuc2lnbmVk
IGludCBjdXJyZW50X3BhZ2VfaWR4Ow0KPj4+ICsgICAgdW5zaWduZWQgaW50IGZyYWdfb2Zmc2V0
Ow0KPj4+ICsgICAgdW5zaWduZWQgaW50IHJhbmdlX29mZnNldDsNCj4+PiArICAgIGNvbnN0IHVp
bnQ4X3QgKmJ1ZjsNCj4+PiArICAgIHVuc2lnbmVkIGludCBidWZfc2l6ZTsNCj4+PiArICAgIHN0
cnVjdCBmZmFfYWRkcmVzc19yYW5nZSByYW5nZTsNCj4+PiArfTsNCj4+IA0KPj4gc2FtZSBoZXJl
LCBhdCBhIGZpcnN0IGdsYW5jZSBpdCBpcyBub3QgcXVpdGUgY2xlYXIgd2h5DQo+PiBhIGZyYWdt
ZW50IG5lZWRzIHRoYXQgbXVjaCBpbmZvLiBTb21lIHNlZW0gdG8gb25seQ0KPj4gYmUgbmVlZGVk
IGR1cmluZyB0aGUgdHJhbnNhY3Rpb24gYnV0IGRvIG5vdCBuZWVkIHRvIGJlIHNhdmVkLg0KPiAN
Cj4gVGhpcyBzdHJ1Y3QgaXMgb25seSB1c2VkIGR1cmluZyB0aGUgdHJhbnNhY3Rpb24sIHNvIHRo
aXMgaXMgZnJlZWQgb25jZQ0KPiB0aGUgZW50aXJlIG1lbW9yeSB0cmFuc2FjdGlvbiBkZXNjcmlw
dG9yIGhhcyBiZWVuIHByb2Nlc3NlZC4NCj4gDQo+PiANCj4+PiArDQo+Pj4gLyogTmVnb3RpYXRl
ZCBGRi1BIHZlcnNpb24gdG8gdXNlIHdpdGggdGhlIFNQTUMgKi8NCj4+PiBzdGF0aWMgdWludDMy
X3QgZmZhX3ZlcnNpb24gX19yb19hZnRlcl9pbml0Ow0KPj4+IA0KPj4+IEBAIC01MTIsNiArNTI1
LDM2IEBAIHN0YXRpYyBpbnQzMl90IGZmYV9tZW1fc2hhcmUodWludDMyX3QgdG90X2xlbiwgdWlu
dDMyX3QgZnJhZ19sZW4sDQo+Pj4gICAgfQ0KPj4+IH0NCj4+PiANCj4+PiArc3RhdGljIGludDMy
X3QgZmZhX21lbV9mcmFnX3R4KHVpbnQ2NF90IGhhbmRsZSwgdWludDMyX3QgZnJhZ19sZW4sDQo+
Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MTZfdCBzZW5kZXJfaWQpDQo+
Pj4gK3sNCj4+PiArICAgIHN0cnVjdCBhcm1fc21jY2NfMV8yX3JlZ3MgYXJnID0gew0KPj4+ICsg
ICAgICAgIC5hMCA9IEZGQV9NRU1fRlJBR19UWCwNCj4+PiArICAgICAgICAuYTEgPSBoYW5kbGUg
JiBVSU5UMzJfTUFYLA0KPj4+ICsgICAgICAgIC5hMiA9IGhhbmRsZSA+PiAzMiwNCj4+PiArICAg
ICAgICAuYTMgPSBmcmFnX2xlbiwNCj4+PiArICAgICAgICAuYTQgPSAodWludDMyX3Qpc2VuZGVy
X2lkIDw8IDE2LA0KPj4+ICsgICAgfTsNCj4+PiArICAgIHN0cnVjdCBhcm1fc21jY2NfMV8yX3Jl
Z3MgcmVzcDsNCj4+PiArDQo+Pj4gKyAgICBhcm1fc21jY2NfMV8yX3NtYygmYXJnLCAmcmVzcCk7
DQo+Pj4gKw0KPj4+ICsgICAgc3dpdGNoICggcmVzcC5hMCApDQo+Pj4gKyAgICB7DQo+Pj4gKyAg
ICBjYXNlIEZGQV9FUlJPUjoNCj4+PiArICAgICAgICBpZiAoIHJlc3AuYTIgKQ0KPj4+ICsgICAg
ICAgICAgICByZXR1cm4gcmVzcC5hMjsNCj4+PiArICAgICAgICBlbHNlDQo+Pj4gKyAgICAgICAg
ICAgIHJldHVybiBGRkFfUkVUX05PVF9TVVBQT1JURUQ7DQo+Pj4gKyAgICBjYXNlIEZGQV9TVUND
RVNTXzMyOg0KPj4+ICsgICAgICAgIHJldHVybiBGRkFfUkVUX09LOw0KPj4+ICsgICAgY2FzZSBG
RkFfTUVNX0ZSQUdfUlg6DQo+Pj4gKyAgICAgICAgcmV0dXJuIHJlc3AuYTM7DQo+Pj4gKyAgICBk
ZWZhdWx0Og0KPj4+ICsgICAgICAgICAgICByZXR1cm4gRkZBX1JFVF9OT1RfU1VQUE9SVEVEOw0K
Pj4+ICsgICAgfQ0KPj4+ICt9DQo+Pj4gKw0KPj4+IHN0YXRpYyBpbnQzMl90IGZmYV9tZW1fcmVj
bGFpbSh1aW50MzJfdCBoYW5kbGVfbG8sIHVpbnQzMl90IGhhbmRsZV9oaSwNCj4+PiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBmbGFncykNCj4+PiB7DQo+Pj4gQEAgLTU4
Niw2ICs2MjksMTQgQEAgc3RhdGljIHZvaWQgc2V0X3JlZ3Nfc3VjY2VzcyhzdHJ1Y3QgY3B1X3Vz
ZXJfcmVncyAqcmVncywgdWludDMyX3QgdzIsDQo+Pj4gICAgc2V0X3JlZ3MocmVncywgRkZBX1NV
Q0NFU1NfMzIsIDAsIHcyLCB3MywgMCwgMCwgMCwgMCk7DQo+Pj4gfQ0KPj4+IA0KPj4+ICtzdGF0
aWMgdm9pZCBzZXRfcmVnc19mcmFnX3J4KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzLCB1aW50
MzJfdCBoYW5kbGVfbG8sDQo+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy
X3QgaGFuZGxlX2hpLCB1aW50MzJfdCBmcmFnX29mZnNldCwNCj4+PiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB1aW50MTZfdCBzZW5kZXJfaWQpDQo+Pj4gK3sNCj4+PiArICAgIHNldF9y
ZWdzKHJlZ3MsIEZGQV9NRU1fRlJBR19SWCwgaGFuZGxlX2xvLCBoYW5kbGVfaGksIGZyYWdfb2Zm
c2V0LA0KPj4+ICsgICAgICAgICAgICAgKHVpbnQzMl90KXNlbmRlcl9pZCA8PCAxNiwgMCwgMCwg
MCk7DQo+Pj4gK30NCj4+PiArDQo+Pj4gc3RhdGljIHZvaWQgaGFuZGxlX3ZlcnNpb24oc3RydWN0
IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+Pj4gew0KPj4+ICAgIHN0cnVjdCBkb21haW4gKmQgPSBj
dXJyZW50LT5kb21haW47DQo+Pj4gQEAgLTk1NSw2ICsxMDA2LDggQEAgc3RhdGljIGludCBzaGFy
ZV9zaG0oc3RydWN0IGZmYV9zaG1fbWVtICpzaG0pDQo+Pj4gICAgcGFkZHJfdCBsYXN0X3BhOw0K
Pj4+ICAgIHVuc2lnbmVkIGludCBuOw0KPj4+ICAgIHBhZGRyX3QgcGE7DQo+Pj4gKyAgICBib29s
IGZpcnN0Ow0KPj4+ICsgICAgaW50IHJldDsNCj4+PiANCj4+PiAgICBBU1NFUlQoc3Bpbl9pc19s
b2NrZWQoJmZmYV90eF9idWZmZXJfbG9jaykpOw0KPj4+ICAgIGlmICggIXNobS0+cGFnZV9jb3Vu
dCApDQo+Pj4gQEAgLTk5NCwxMyArMTA0NywyMyBAQCBzdGF0aWMgaW50IHNoYXJlX3NobShzdHJ1
Y3QgZmZhX3NobV9tZW0gKnNobSkNCj4+PiANCj4+PiAgICB0b3RfbGVuID0gQUREUl9SQU5HRV9P
RkZTRVQoZGVzY3ItPm1lbV9hY2Nlc3NfY291bnQsIHJlZ2lvbl9jb3VudCwNCj4+PiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgcmVnaW9uX2Rlc2NyLT5hZGRyZXNzX3JhbmdlX2NvdW50
KTsNCj4+PiAtICAgIGlmICggdG90X2xlbiA+IG1heF9mcmFnX2xlbiApDQo+Pj4gLSAgICAgICAg
cmV0dXJuIEZGQV9SRVRfTk9UX1NVUFBPUlRFRDsNCj4+PiANCj4+PiArICAgIC8qDQo+Pj4gKyAg
ICAgKiBTaGFyaW5nIG1lbW9yeSB3aXRoIHNlY3VyZSB3b3JsZCBtYXkgaGF2ZSB0byBiZSBkb25l
IHdpdGggbXVsdGlwbGUNCj4+PiArICAgICAqIGNhbGxzIGRlcGVuZGluZyBvbiBob3cgbWFueSBh
ZGRyZXNzIHJhbmdlcyB3aWxsIGJlIG5lZWRlZC4gSWYgd2UncmUNCj4+PiArICAgICAqIHNoYXJp
bmcgcGh5c2ljYWxseSBjb250aWd1b3VzIG1lbW9yeSB3ZSB3aWxsIG9ubHkgbmVlZCBvbmUgcmFu
Z2UgYnV0DQo+Pj4gKyAgICAgKiB3ZSB3aWxsIGFsc28gbmVlZCB0byBkZWFsIHdpdGggdGhlIHdv
cnN0IGNhc2Ugd2hlcmUgYWxsIHBoeXNpY2FsDQo+Pj4gKyAgICAgKiBwYWdlcyBhcmUgbm9uLWNv
bnRpZ3VvdXMuIEZvciB0aGUgZmlyc3QgYmF0Y2ggb2YgYWRkcmVzcyByYW5nZXMgd2UNCj4+PiAr
ICAgICAqIGNhbGwgZmZhX21lbV9zaGFyZSgpIGFuZCBmb3IgYWxsIHRoYXQgZm9sbG93cyBmZmFf
bWVtX2ZyYWdfdHgoKS4NCj4+PiArICAgICAqDQo+Pj4gKyAgICAgKiBXZSB1c2UgZnJhZ19sZW4g
dG8ga2VlcCB0cmFjayBvZiBob3cgZmFyIGludG8gdGhlIHRyYW5zbWl0IGJ1ZmZlciB3ZQ0KPj4+
ICsgICAgICogaGF2ZSBnb25lLg0KPj4+ICsgICAgICovDQo+Pj4gICAgYWRkcl9yYW5nZSA9IHJl
Z2lvbl9kZXNjci0+YWRkcmVzc19yYW5nZV9hcnJheTsNCj4+PiAgICBmcmFnX2xlbiA9IEFERFJf
UkFOR0VfT0ZGU0VUKGRlc2NyLT5tZW1fYWNjZXNzX2NvdW50LCByZWdpb25fY291bnQsIDEpOw0K
Pj4+ICAgIGxhc3RfcGEgPSBwYWdlX3RvX21hZGRyKHNobS0+cGFnZXNbMF0pOw0KPj4+ICAgIGlu
aXRfcmFuZ2UoYWRkcl9yYW5nZSwgbGFzdF9wYSk7DQo+Pj4gKyAgICBmaXJzdCA9IHRydWU7DQo+
Pj4gICAgZm9yICggbiA9IDE7IG4gPCBzaG0tPnBhZ2VfY291bnQ7IGxhc3RfcGEgPSBwYSwgbisr
ICkNCj4+PiAgICB7DQo+Pj4gICAgICAgIHBhID0gcGFnZV90b19tYWRkcihzaG0tPnBhZ2VzW25d
KTsNCj4+PiBAQCAtMTAxMCwxMiArMTA3MywzNCBAQCBzdGF0aWMgaW50IHNoYXJlX3NobShzdHJ1
Y3QgZmZhX3NobV9tZW0gKnNobSkNCj4+PiAgICAgICAgICAgIGNvbnRpbnVlOw0KPj4+ICAgICAg
ICB9DQo+Pj4gDQo+Pj4gLSAgICAgICAgZnJhZ19sZW4gKz0gc2l6ZW9mKCphZGRyX3JhbmdlKTsN
Cj4+PiAtICAgICAgICBhZGRyX3JhbmdlKys7DQo+Pj4gKyAgICAgICAgaWYgKCBmcmFnX2xlbiA9
PSBtYXhfZnJhZ19sZW4gKQ0KPj4+ICsgICAgICAgIHsNCj4+PiArICAgICAgICAgICAgaWYgKCBm
aXJzdCApDQo+Pj4gKyAgICAgICAgICAgIHsNCj4+PiArICAgICAgICAgICAgICAgIHJldCA9IGZm
YV9tZW1fc2hhcmUodG90X2xlbiwgZnJhZ19sZW4sIDAsIDAsICZzaG0tPmhhbmRsZSk7DQo+Pj4g
KyAgICAgICAgICAgICAgICBmaXJzdCA9IGZhbHNlOw0KPj4+ICsgICAgICAgICAgICB9DQo+Pj4g
KyAgICAgICAgICAgIGVsc2UNCj4+PiArICAgICAgICAgICAgew0KPj4+ICsgICAgICAgICAgICAg
ICAgcmV0ID0gZmZhX21lbV9mcmFnX3R4KHNobS0+aGFuZGxlLCBmcmFnX2xlbiwgc2htLT5zZW5k
ZXJfaWQpOw0KPj4+ICsgICAgICAgICAgICB9DQo+Pj4gKyAgICAgICAgICAgIGlmICggcmV0IDw9
IDAgKQ0KPj4+ICsgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4+PiArICAgICAgICAgICAg
ZnJhZ19sZW4gPSBzaXplb2YoKmFkZHJfcmFuZ2UpOw0KPj4+ICsgICAgICAgICAgICBhZGRyX3Jh
bmdlID0gYnVmOw0KPj4+ICsgICAgICAgIH0NCj4+PiArICAgICAgICBlbHNlDQo+Pj4gKyAgICAg
ICAgew0KPj4+ICsgICAgICAgICAgICBmcmFnX2xlbiArPSBzaXplb2YoKmFkZHJfcmFuZ2UpOw0K
Pj4+ICsgICAgICAgICAgICBhZGRyX3JhbmdlKys7DQo+Pj4gKyAgICAgICAgfQ0KPj4+ICAgICAg
ICBpbml0X3JhbmdlKGFkZHJfcmFuZ2UsIHBhKTsNCj4+PiAgICB9DQo+Pj4gDQo+Pj4gLSAgICBy
ZXR1cm4gZmZhX21lbV9zaGFyZSh0b3RfbGVuLCBmcmFnX2xlbiwgMCwgMCwgJnNobS0+aGFuZGxl
KTsNCj4+PiArICAgIGlmICggZmlyc3QgKQ0KPj4+ICsgICAgICAgIHJldHVybiBmZmFfbWVtX3No
YXJlKHRvdF9sZW4sIGZyYWdfbGVuLCAwLCAwLCAmc2htLT5oYW5kbGUpOw0KPj4+ICsgICAgZWxz
ZQ0KPj4+ICsgICAgICAgIHJldHVybiBmZmFfbWVtX2ZyYWdfdHgoc2htLT5oYW5kbGUsIGZyYWdf
bGVuLCBzaG0tPnNlbmRlcl9pZCk7DQo+Pj4gfQ0KPj4+IA0KPj4+IHN0YXRpYyBpbnQgcmVhZF9t
ZW1fdHJhbnNhY3Rpb24odWludDMyX3QgZmZhX3ZlcnMsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90
IGJsZW4sDQo+Pj4gQEAgLTEwOTIsOCArMTE3Nyw1MyBAQCBzdGF0aWMgaW50IHJlYWRfbWVtX3Ry
YW5zYWN0aW9uKHVpbnQzMl90IGZmYV92ZXJzLCBjb25zdCB2b2lkICpidWYsIHNpemVfdCBibGVu
LA0KPj4+ICAgIHJldHVybiAwOw0KPj4+IH0NCj4+PiANCj4+PiArc3RhdGljIGludCBhZGRfbWVt
X3NoYXJlX2ZyYWcoc3RydWN0IG1lbV9mcmFnX3N0YXRlICpzLCB1bnNpZ25lZCBpbnQgb2ZmcywN
Cj4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGZyYWdfbGVu
KQ0KPj4+ICt7DQo+Pj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gY3VycmVudC0+ZG9tYWluOw0K
Pj4+ICsgICAgdW5zaWduZWQgaW50IG8gPSBvZmZzOw0KPj4+ICsgICAgdW5zaWduZWQgaW50IGw7
DQo+Pj4gKyAgICBpbnQgcmV0Ow0KPj4+ICsNCj4+PiArICAgIGlmICggZnJhZ19sZW4gPCBvICkN
Cj4+PiArICAgICAgICByZXR1cm4gRkZBX1JFVF9JTlZBTElEX1BBUkFNRVRFUlM7DQo+Pj4gKw0K
Pj4+ICsgICAgLyogRmlsbCB1cCB0aGUgZmlyc3Qgc3RydWN0IGZmYV9hZGRyZXNzX3JhbmdlICov
DQo+Pj4gKyAgICBsID0gbWluX3QodW5zaWduZWQgaW50LCBmcmFnX2xlbiAtIG8sIHNpemVvZihz
LT5yYW5nZSkgLSBzLT5yYW5nZV9vZmZzZXQpOw0KPj4+ICsgICAgbWVtY3B5KCh1aW50OF90ICop
JnMtPnJhbmdlICsgcy0+cmFuZ2Vfb2Zmc2V0LCBzLT5idWYgKyBvLCBsKTsNCj4+PiArICAgIHMt
PnJhbmdlX29mZnNldCArPSBsOw0KPj4+ICsgICAgbyArPSBsOw0KPj4+ICsgICAgaWYgKCBzLT5y
YW5nZV9vZmZzZXQgIT0gc2l6ZW9mKHMtPnJhbmdlKSApDQo+Pj4gKyAgICAgICAgZ290byBvdXQ7
DQo+Pj4gKyAgICBzLT5yYW5nZV9vZmZzZXQgPSAwOw0KPj4+ICsNCj4+PiArICAgIHdoaWxlICgg
dHJ1ZSApDQo+Pj4gKyAgICB7DQo+Pj4gKyAgICAgICAgcmV0ID0gZ2V0X3NobV9wYWdlcyhkLCBz
LT5zaG0sICZzLT5yYW5nZSwgMSwgcy0+Y3VycmVudF9wYWdlX2lkeCwNCj4+PiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICZzLT5jdXJyZW50X3BhZ2VfaWR4KTsNCj4+PiArICAgICAgICBp
ZiAoIHJldCApDQo+Pj4gKyAgICAgICAgICAgIHJldHVybiByZXQ7DQo+Pj4gKyAgICAgICAgaWYg
KCBzLT5yYW5nZV9jb3VudCA9PSAxICkNCj4+PiArICAgICAgICAgICAgcmV0dXJuIDA7DQo+Pj4g
KyAgICAgICAgcy0+cmFuZ2VfY291bnQtLTsNCj4+PiArICAgICAgICBpZiAoIGZyYWdfbGVuIC0g
byA8IHNpemVvZihzLT5yYW5nZSkgKQ0KPj4+ICsgICAgICAgICAgICBicmVhazsNCj4+PiArICAg
ICAgICBtZW1jcHkoJnMtPnJhbmdlLCBzLT5idWYgKyBvLCBzaXplb2Yocy0+cmFuZ2UpKTsNCj4+
PiArICAgICAgICBvICs9IHNpemVvZihzLT5yYW5nZSk7DQo+Pj4gKyAgICB9DQo+Pj4gKw0KPj4+
ICsgICAgLyogQ29sbGVjdCBhbnkgcmVtYWluaW5nIGJ5dGVzIGZvciB0aGUgbmV4dCBzdHJ1Y3Qg
ZmZhX2FkZHJlc3NfcmFuZ2UgKi8NCj4+PiArICAgIHMtPnJhbmdlX29mZnNldCA9IGZyYWdfbGVu
IC0gbzsNCj4+PiArICAgIG1lbWNweSgmcy0+cmFuZ2UsIHMtPmJ1ZiArIG8sIGZyYWdfbGVuIC0g
byk7DQo+Pj4gK291dDoNCj4+PiArICAgIHMtPmZyYWdfb2Zmc2V0ICs9IGZyYWdfbGVuOw0KPj4+
ICsNCj4+PiArICAgIHJldHVybiBzLT5mcmFnX29mZnNldDsNCj4+PiArfQ0KPj4+ICsNCj4+PiBz
dGF0aWMgdm9pZCBoYW5kbGVfbWVtX3NoYXJlKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0K
Pj4+IHsNCj4+PiArICAgIHN0YXRpYyB1aW50NjRfdCBuZXh0X2hhbmRsZSA9IEZGQV9IQU5ETEVf
SFlQX0ZMQUc7DQo+Pj4gICAgdWludDMyX3QgdG90X2xlbiA9IGdldF91c2VyX3JlZyhyZWdzLCAx
KTsNCj4+PiAgICB1aW50MzJfdCBmcmFnX2xlbiA9IGdldF91c2VyX3JlZyhyZWdzLCAyKTsNCj4+
PiAgICB1aW50NjRfdCBhZGRyID0gZ2V0X3VzZXJfcmVnKHJlZ3MsIDMpOw0KPj4+IEBAIC0xMTI4
LDEzICsxMjU4LDYgQEAgc3RhdGljIHZvaWQgaGFuZGxlX21lbV9zaGFyZShzdHJ1Y3QgY3B1X3Vz
ZXJfcmVncyAqcmVncykNCj4+PiAgICAgICAgZ290byBvdXRfc2V0X3JldDsNCj4+PiAgICB9DQo+
Pj4gDQo+Pj4gLSAgICAvKiBXZSBjdXJyZW50bHkgb25seSBzdXBwb3J0IGEgc2luZ2xlIGZyYWdt
ZW50ICovDQo+Pj4gLSAgICBpZiAoIGZyYWdfbGVuICE9IHRvdF9sZW4gKQ0KPj4+IC0gICAgew0K
Pj4+IC0gICAgICAgIHJldCA9IEZGQV9SRVRfTk9UX1NVUFBPUlRFRDsNCj4+PiAtICAgICAgICBn
b3RvIG91dF9zZXRfcmV0Ow0KPj4+IC0gICAgfQ0KPj4+IC0NCj4+PiAgICBzcGluX2xvY2soJmN0
eC0+bG9jayk7DQo+Pj4gDQo+Pj4gICAgaWYgKCBmcmFnX2xlbiA+IGN0eC0+cGFnZV9jb3VudCAq
IEZGQV9QQUdFX1NJWkUgKQ0KPj4+IEBAIC0xMTk1LDExICsxMzE4LDQxIEBAIHN0YXRpYyB2b2lk
IGhhbmRsZV9tZW1fc2hhcmUoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+Pj4gICAgaWYg
KCAhc2htICkNCj4+PiAgICB7DQo+Pj4gICAgICAgIHJldCA9IEZGQV9SRVRfTk9fTUVNT1JZOw0K
Pj4+IC0gICAgICAgIGdvdG8gb3V0X3VubG9jazsNCj4+PiArICAgICAgICBnb3RvIG91dDsNCj4+
IA0KPj4gV2h5IGlzIHRoaXMgY2hhbmdlZCA/DQo+PiBZb3Ugc3RpbGwgaGF2ZSBubyBzaG0gaGVy
ZSBzbyBjYWxsIGZyZWVfc2hhX3NobSBkb2VzIG5vdCBtYWtlIHNlbnNlDQo+IA0KPiBHb29kIGNh
dGNoLCBJJ2xsIGZpeCBpdC4NCj4gDQo+PiANCj4+PiAgICB9DQo+Pj4gICAgc2htLT5zZW5kZXJf
aWQgPSB0cmFucy5zZW5kZXJfaWQ7DQo+Pj4gICAgc2htLT5lcF9pZCA9IHJlYWRfYXRvbWljKCZt
ZW1fYWNjZXNzLT5hY2Nlc3NfcGVybS5lbmRwb2ludF9pZCk7DQo+Pj4gDQo+Pj4gKyAgICBpZiAo
IGZyYWdfbGVuICE9IHRvdF9sZW4gKQ0KPj4+ICsgICAgew0KPj4+ICsgICAgICAgIHN0cnVjdCBt
ZW1fZnJhZ19zdGF0ZSAqcyA9IHh6YWxsb2Moc3RydWN0IG1lbV9mcmFnX3N0YXRlKTsNCj4+PiAr
DQo+Pj4gKyAgICAgICAgaWYgKCAhcyApDQo+Pj4gKyAgICAgICAgew0KPj4+ICsgICAgICAgICAg
ICByZXQgPSBGRkFfUkVUX05PX01FTU9SWTsNCj4+PiArICAgICAgICAgICAgZ290byBvdXQ7DQo+
Pj4gKyAgICAgICAgfQ0KPj4+ICsgICAgICAgIHMtPnNobSA9IHNobTsNCj4+PiArICAgICAgICBz
LT5yYW5nZV9jb3VudCA9IHJhbmdlX2NvdW50Ow0KPj4+ICsgICAgICAgIHMtPmJ1ZiA9IGN0eC0+
dHg7DQo+Pj4gKyAgICAgICAgcy0+YnVmX3NpemUgPSBmZmFfcGFnZV9jb3VudCAqIEZGQV9QQUdF
X1NJWkU7DQo+Pj4gKyAgICAgICAgcmV0ID0gYWRkX21lbV9zaGFyZV9mcmFnKHMsIHNpemVvZigq
cmVnaW9uX2Rlc2NyKSAgKyByZWdpb25fb2ZmcywNCj4+PiArICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZnJhZ19sZW4pOw0KPj4+ICsgICAgICAgIGlmICggcmV0IDw9IDAgKQ0KPj4+
ICsgICAgICAgIHsNCj4+PiArICAgICAgICAgICAgeGZyZWUocyk7DQo+Pj4gKyAgICAgICAgICAg
IGlmICggcmV0IDwgMCApDQo+Pj4gKyAgICAgICAgICAgICAgICBnb3RvIG91dDsNCj4+PiArICAg
ICAgICB9DQo+Pj4gKyAgICAgICAgZWxzZQ0KPj4+ICsgICAgICAgIHsNCj4+PiArICAgICAgICAg
ICAgc2htLT5oYW5kbGUgPSBuZXh0X2hhbmRsZSsrOw0KPj4+ICsgICAgICAgICAgICB1aW50NjRf
dG9fcmVncGFpcigmaGFuZGxlX2hpLCAmaGFuZGxlX2xvLCBzaG0tPmhhbmRsZSk7DQo+Pj4gKyAg
ICAgICAgICAgIGxpc3RfYWRkX3RhaWwoJnMtPmxpc3QsICZjdHgtPmZyYWdfbGlzdCk7DQo+Pj4g
KyAgICAgICAgfQ0KPj4+ICsgICAgICAgIGdvdG8gb3V0X3VubG9jazsNCj4+PiArICAgIH0NCj4+
PiArDQo+Pj4gICAgLyoNCj4+PiAgICAgKiBDaGVjayB0aGF0IHRoZSBDb21wb3NpdGUgbWVtb3J5
IHJlZ2lvbiBkZXNjcmlwdG9yIGZpdHMuDQo+Pj4gICAgICovDQo+Pj4gQEAgLTEyMzgsNyArMTM5
MSw3NSBAQCBvdXRfdW5sb2NrOg0KPj4+ICAgIHNwaW5fdW5sb2NrKCZjdHgtPmxvY2spOw0KPj4+
IA0KPj4+IG91dF9zZXRfcmV0Og0KPj4+IC0gICAgaWYgKCByZXQgPT0gMCkNCj4+PiArICAgIGlm
ICggcmV0ID4gMCApDQo+Pj4gKyAgICAgICAgICAgIHNldF9yZWdzX2ZyYWdfcngocmVncywgaGFu
ZGxlX2xvLCBoYW5kbGVfaGksIHJldCwgdHJhbnMuc2VuZGVyX2lkKTsNCj4+PiArICAgIGVsc2Ug
aWYgKCByZXQgPT0gMCkNCj4+PiArICAgICAgICAgICAgc2V0X3JlZ3Nfc3VjY2VzcyhyZWdzLCBo
YW5kbGVfbG8sIGhhbmRsZV9oaSk7DQo+Pj4gKyAgICBlbHNlDQo+Pj4gKyAgICAgICAgICAgIHNl
dF9yZWdzX2Vycm9yKHJlZ3MsIHJldCk7DQo+Pj4gK30NCj4+PiArDQo+Pj4gK3N0YXRpYyBzdHJ1
Y3QgbWVtX2ZyYWdfc3RhdGUgKmZpbmRfZnJhZ19zdGF0ZShzdHJ1Y3QgZmZhX2N0eCAqY3R4LA0K
Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0
X3QgaGFuZGxlKQ0KPj4+ICt7DQo+Pj4gKyAgICBzdHJ1Y3QgbWVtX2ZyYWdfc3RhdGUgKnM7DQo+
Pj4gKw0KPj4+ICsgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShzLCAmY3R4LT5mcmFnX2xpc3QsIGxp
c3QpDQo+Pj4gKyAgICAgICAgaWYgKCBzLT5zaG0tPmhhbmRsZSA9PSBoYW5kbGUgKQ0KPj4+ICsg
ICAgICAgICAgICByZXR1cm4gczsNCj4+PiArDQo+Pj4gKyAgICByZXR1cm4gTlVMTDsNCj4+PiAr
fQ0KPj4+ICsNCj4+PiArc3RhdGljIHZvaWQgaGFuZGxlX21lbV9mcmFnX3R4KHN0cnVjdCBjcHVf
dXNlcl9yZWdzICpyZWdzKQ0KPj4+ICt7DQo+Pj4gKyAgICBzdHJ1Y3QgZG9tYWluICpkID0gY3Vy
cmVudC0+ZG9tYWluOw0KPj4+ICsgICAgc3RydWN0IGZmYV9jdHggKmN0eCA9IGQtPmFyY2gudGVl
Ow0KPj4+ICsgICAgdWludDMyX3QgZnJhZ19sZW4gPSBnZXRfdXNlcl9yZWcocmVncywgMyk7DQo+
Pj4gKyAgICB1aW50MzJfdCBoYW5kbGVfbG8gPSBnZXRfdXNlcl9yZWcocmVncywgMSk7DQo+Pj4g
KyAgICB1aW50MzJfdCBoYW5kbGVfaGkgPSBnZXRfdXNlcl9yZWcocmVncywgMik7DQo+Pj4gKyAg
ICB1aW50NjRfdCBoYW5kbGUgPSByZWdwYWlyX3RvX3VpbnQ2NChoYW5kbGVfaGksIGhhbmRsZV9s
byk7DQo+Pj4gKyAgICBzdHJ1Y3QgbWVtX2ZyYWdfc3RhdGUgKnM7DQo+Pj4gKyAgICB1aW50MTZf
dCBzZW5kZXJfaWQgPSAwOw0KPj4+ICsgICAgaW50IHJldDsNCj4+PiArDQo+Pj4gKyAgICBzcGlu
X2xvY2soJmN0eC0+bG9jayk7DQo+Pj4gKyAgICBzID0gZmluZF9mcmFnX3N0YXRlKGN0eCwgaGFu
ZGxlKTsNCj4+PiArICAgIGlmICggIXMgKQ0KPj4+ICsgICAgew0KPj4+ICsgICAgICAgIHJldCA9
IEZGQV9SRVRfSU5WQUxJRF9QQVJBTUVURVJTOw0KPj4+ICsgICAgICAgIGdvdG8gb3V0Ow0KPj4+
ICsgICAgfQ0KPj4+ICsgICAgc2VuZGVyX2lkID0gcy0+c2htLT5zZW5kZXJfaWQ7DQo+Pj4gKw0K
Pj4+ICsgICAgaWYgKCBmcmFnX2xlbiA+IHMtPmJ1Zl9zaXplICkNCj4+PiArICAgIHsNCj4+PiAr
ICAgICAgICByZXQgPSBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUzsNCj4+PiArICAgICAgICBn
b3RvIG91dDsNCj4+PiArICAgIH0NCj4+PiArDQo+Pj4gKyAgICByZXQgPSBhZGRfbWVtX3NoYXJl
X2ZyYWcocywgMCwgZnJhZ19sZW4pOw0KPj4+ICsgICAgaWYgKCByZXQgPT0gMCApDQo+Pj4gKyAg
ICB7DQo+Pj4gKyAgICAgICAgLyogTm90ZSB0aGF0IHNoYXJlX3NobSgpIHVzZXMgb3VyIHR4IGJ1
ZmZlciAqLw0KPj4+ICsgICAgICAgIHNwaW5fbG9jaygmZmZhX3R4X2J1ZmZlcl9sb2NrKTsNCj4+
PiArICAgICAgICByZXQgPSBzaGFyZV9zaG0ocy0+c2htKTsNCj4+PiArICAgICAgICBzcGluX3Vu
bG9jaygmZmZhX3R4X2J1ZmZlcl9sb2NrKTsNCj4+PiArICAgICAgICBpZiAoIHJldCA9PSAwICkN
Cj4+PiArICAgICAgICAgICAgbGlzdF9hZGRfdGFpbCgmcy0+c2htLT5saXN0LCAmY3R4LT5zaG1f
bGlzdCk7DQo+Pj4gKyAgICAgICAgZWxzZQ0KPj4+ICsgICAgICAgICAgICBmcmVlX2ZmYV9zaG1f
bWVtKGN0eCwgcy0+c2htKTsNCj4+PiArICAgIH0NCj4+PiArICAgIGVsc2UgaWYgKCByZXQgPCAw
ICkNCj4+PiArICAgICAgICBmcmVlX2ZmYV9zaG1fbWVtKGN0eCwgcy0+c2htKTsNCj4+IA0KPj4g
DQo+PiBJZiB0aGVyZSBpcyBub3QgZXJyb3IgdGhlIHN0dWZmIGFsbG9jYXRlZCBhcmUga2VwdCBi
dXQgaSBkbyBub3Qgc2VlDQo+PiB3aGVyZS93aGVuIHRoZXkgd291bGQgYmUgZnJlZWQgb3IgdXNl
ZC4NCj4+IENvdWxkIHlvdSBleHBsYWluIHdoeSB3ZSBuZWVkIHRvIHNhdmUgYWxsIHRob3NlID8N
Cj4gDQo+IHMtPnNobSBpcyB0aGUgZmluYWwgc2hhcmVkIG1lbW9yeSBvYmplY3Qgd2hpY2ggaXMg
YWRkZWQgdG8gdGhlIGxpc3Qgb2YNCj4gc2hhcmVkIG1lbW9yeSBvYmplY3RzIHdoZW4gdGhlIHRy
YW5zYWN0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuDQo+IFRoZSBmcmFnbWVudCBzdGF0
ZSwgcywgaXMga2VwdCBhcyBsb25nIGFzIHRoZSB0cmFuc2FjdGlvbiBpcyBvbmdvaW5nLg0KPiBP
bmNlIHRoZSB0cmFuc2FjdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5IG9yIGR1ZSB0byBh
IGZhaWx1cmUNCj4gaXQncyBmcmVlZC4NCj4gDQo+IFRoZSBzcGVjaWZpY2F0aW9uIGRvZXNuJ3Qg
c2F5IHdoYXQgdG8gZG8gaWYgYW4gaW52YWxpZCBmcmFnX2xlbiBpcw0KPiBkZXRlY3RlZCwgZXhj
ZXB0IHRoYXQgd2Ugc2hvdWxkIHJldHVybiBGRkFfUkVUX0lOVkFMSURfUEFSQU1FVEVSUy4NCj4g
Q3VycmVudGx5LCB3ZSBqdXN0IHJldHVybiBhbiBlcnJvciwgYnV0IGtlZXAgdGhlIHN0YXRlLiBB
bm90aGVyIG9wdGlvbg0KPiBpcyB0byBmcmVlIHRoZSBzdGF0ZSBpbnN0ZWFkIHNpbmNlIHRoZSBj
YWxsZXIgbWlnaHQgaGF2ZSBsb3N0IHRyYWNrIG9mDQo+IHRoZSBzdGF0ZS4NCg0KVGhlcmUgaXMg
bm8gc29sdXRpb24gZm9yIHRoZSBjbGllbnQgdG8gImNvbnRpbnVlIiBhbnl3YXkgc28gSSB0aGlu
ayB3ZSBzaG91bGQNCnByb3Blcmx5IGNsZWFudXAgaW4gYWxsIGV4aXQgY29uZGl0aW9ucy4NCg0K
Q2hlZXJzDQpCZXJ0cmFuZA0KDQo+IA0KPiBUaGFua3MsDQo+IEplbnMNCj4gDQo+PiANCj4+IENo
ZWVycw0KPj4gQmVydHJhbmQNCj4+IA0KPj4+ICsgICAgbGlzdF9kZWwoJnMtPmxpc3QpOw0KPj4+
ICsgICAgeGZyZWUocyk7DQo+Pj4gK291dDoNCj4+PiArICAgIHNwaW5fdW5sb2NrKCZjdHgtPmxv
Y2spOw0KPj4+ICsNCj4+PiArICAgIGlmICggcmV0ID4gMCApDQo+Pj4gKyAgICAgICAgICAgIHNl
dF9yZWdzX2ZyYWdfcngocmVncywgaGFuZGxlX2xvLCBoYW5kbGVfaGksIHJldCwgc2VuZGVyX2lk
KTsNCj4+PiArICAgIGVsc2UgaWYgKCByZXQgPT0gMCkNCj4+PiAgICAgICAgICAgIHNldF9yZWdz
X3N1Y2Nlc3MocmVncywgaGFuZGxlX2xvLCBoYW5kbGVfaGkpOw0KPj4+ICAgIGVsc2UNCj4+PiAg
ICAgICAgICAgIHNldF9yZWdzX2Vycm9yKHJlZ3MsIHJldCk7DQo+Pj4gQEAgLTEzNTcsNiArMTU3
OCw5IEBAIHN0YXRpYyBib29sIGZmYV9oYW5kbGVfY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAq
cmVncykNCj4+PiAgICAgICAgZWxzZQ0KPj4+ICAgICAgICAgICAgc2V0X3JlZ3Nfc3VjY2Vzcyhy
ZWdzLCAwLCAwKTsNCj4+PiAgICAgICAgcmV0dXJuIHRydWU7DQo+Pj4gKyAgICBjYXNlIEZGQV9N
RU1fRlJBR19UWDoNCj4+PiArICAgICAgICBoYW5kbGVfbWVtX2ZyYWdfdHgocmVncyk7DQo+Pj4g
KyAgICAgICAgcmV0dXJuIHRydWU7DQo+Pj4gDQo+Pj4gICAgZGVmYXVsdDoNCj4+PiAgICAgICAg
Z3ByaW50ayhYRU5MT0dfRVJSLCAiZmZhOiB1bmhhbmRsZWQgZmlkIDB4JXhcbiIsIGZpZCk7DQo+
Pj4gQEAgLTEzOTYsNiArMTYyMCw3IEBAIHN0YXRpYyBpbnQgZmZhX2RvbWFpbl9pbml0KHN0cnVj
dCBkb21haW4gKmQpDQo+Pj4gICAgICAgIH0NCj4+PiAgICB9DQo+Pj4gDQo+Pj4gKyAgICBJTklU
X0xJU1RfSEVBRCgmY3R4LT5mcmFnX2xpc3QpOw0KPj4+ICAgIElOSVRfTElTVF9IRUFEKCZjdHgt
PnNobV9saXN0KTsNCj4+PiANCj4+PiAgICBkLT5hcmNoLnRlZSA9IGN0eDsNCj4+PiBAQCAtMTU2
MCw2ICsxNzg1LDcgQEAgc3RhdGljIGJvb2wgZmZhX3Byb2JlKHZvaWQpDQo+Pj4gI2VuZGlmDQo+
Pj4gICAgICAgICAhY2hlY2tfbWFuZGF0b3J5X2ZlYXR1cmUoRkZBX1JYVFhfVU5NQVApIHx8DQo+
Pj4gICAgICAgICAhY2hlY2tfbWFuZGF0b3J5X2ZlYXR1cmUoRkZBX01FTV9TSEFSRV8zMikgfHwN
Cj4+PiArICAgICAgICAgIWNoZWNrX21hbmRhdG9yeV9mZWF0dXJlKEZGQV9NRU1fRlJBR19UWCkg
fHwNCj4+PiAgICAgICAgICFjaGVja19tYW5kYXRvcnlfZmVhdHVyZShGRkFfTUVNX1JFQ0xBSU0p
IHx8DQo+Pj4gICAgICAgICAhY2hlY2tfbWFuZGF0b3J5X2ZlYXR1cmUoRkZBX01TR19TRU5EX0RJ
UkVDVF9SRVFfMzIpICkNCj4+PiAgICAgICAgcmV0dXJuIGZhbHNlOw0KPj4+IC0tDQo+Pj4gMi4z
NC4xDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 13:35:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 13:35:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510072.787092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcRII-0005tp-4C; Wed, 15 Mar 2023 13:35:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510072.787092; Wed, 15 Mar 2023 13:35:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcRII-0005ti-1R; Wed, 15 Mar 2023 13:35:54 +0000
Received: by outflank-mailman (input) for mailman id 510072;
 Wed, 15 Mar 2023 13:35: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=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcRIG-0005rO-2L
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 13:35:52 +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 4cb42702-c336-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 14:35:50 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.24; Wed, 15 Mar
 2023 13:35:48 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 13:35:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cb42702-c336-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UqyIhql0jYSVIAOKCcRoYAgpqk49KA4FfcJLJnJEjQYlqiOtEXmVdlI2BMYPYbycF9ln5pdujd1DugM45sthmJM4sq+A027tYGJiPL7yd37W9UZO+z/qKmQUXuqW0lcwYqhwjKQr5bmwAnX7k222YdADxe1x+tNdhGDy8GtY0hnYjO7VUW5KXWFmpwTnfqo0gsg8G5DgvgyeajiF5ejRaUFw37pj/SFesCxgzJJqhPpv+1fCCLt26+VLSDA4TOjmmnMJpo9dZKzwFvc8vUO5XAdeA1FOpmgQfqiThQEGSd/5H/VwAIhN6s7WrakJDnAdKlF3hWqD0e8M2768sAm7Cw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ge57tYwOKuVOWCSoR7DRduaQM4y2MKQzAlzX9MKjVC0=;
 b=H6UJxjdmfv0JQUtNX9o9g6b1u//pPTqdniXmgX2gGwObfzRm7EGYaUSgHaeuXpFL4DR0z3iMw9oCT0pDkUxqDldsSzsYJdb0eHoUeU1FnXpPxSBrJE/HRmsJ3Qn8c0Sz3t7u1oWqWkSNeJBG6qTvGHb4Dx3TELGIPTbltn6PqzMvcbphSaDdEr9sQi7OdnKGgFcdByObw/MVc8uyOClKxm64IcqWbhKXxOoRVaPpTVu1/wg0Hpa8KqtExxPU0OTFdTsEY6oglYt60gWGOATEKmAvCBSruoy2wMpLD2UzI3F2NUAuZHulqKRQezoV3vtJmqKSTrHk9yxcH8bTNeC/UQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ge57tYwOKuVOWCSoR7DRduaQM4y2MKQzAlzX9MKjVC0=;
 b=KfVU4uN1wgeUWv7ABIsp8Ts7EE4UxXjUg5IpFROMf85x1uaGy1+F7o2Xg2K3XtsehxDE+qAUuGSdrt8VCUeGaBNoy11Hs9FGn6Zq1Q9H3bzeyOKWCkas+QxttOFCepBs+K02jAR/Pho7dvuTyP1K3Ew52+JY+82wTe589+idWUq/VMY3z+qf4mndL7/6q6VWEB2rumHrR2CCx58iYtsCc5CyQr3BOQ+I8xlyUC22LlRmHhZw47WChcHrP6CsTjJQXSzQMUEyClsZWWwJcuhfjBB3P6nfFnp6JQLx0LU7qZORvkN81lXyO57B6GltOuz8BVREqQ1vKRXq2rAljzSwCQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1c2c50cf-427f-6f13-514c-62135ce04dd0@suse.com>
Date: Wed, 15 Mar 2023 14:35:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 07/10] xen/physinfo: encode Arm SVE vector length in
 arch_capabilities
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230315090558.731029-1-luca.fancellu@arm.com>
 <20230315090558.731029-8-luca.fancellu@arm.com>
 <29cf7623-688a-4b88-c684-cf195d0626dd@suse.com>
 <0796E8D4-A5A2-4319-942B-C25B54D054C6@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0796E8D4-A5A2-4319-942B-C25B54D054C6@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0155.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9705:EE_
X-MS-Office365-Filtering-Correlation-Id: bc82d2f7-8686-4aa7-8c73-08db255a2ffc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XDBg+rBl3fbSRXSxEXwUTqx8vgSEaO5i8LXeZUYypLksWJighN8F1jVmUmk4iRAWGXtag/Wid2xuceMSYJZzXi39iVy55GL96ern1RKTlbg8GmKb4ZoCssPl0TO4IbamuBaLrFSe+K1VQo0sKjPDGY8GfqcpJ3wcw8j9g7L0emJFtfgTJxQwZuPkvN7YK42Y3NXbYRQY1mBd4DhzkHqjaBbJiSoNMidz6u8/ZD2yA2iTDwmG1DaYFiV03xVdD6C792yYC7dNdTH4Ao8B6g+pIaoqEnu9ffMNNcwO2U3zaXIXz4iNviP+AKIRwUnalw3kgw98B61xcOW+D002uiOtPeNsehigYw2LFzacbsMVr5T78/0Ayd9KYu3KLo7LFQXSJap83K/RnrnDjkjj75jzZbPBIWXhaKz0j5GDI//Es+P7ygkV8FWqsTux/0eOG9ijzUgZ6qJu8gC3XIvpXlUqtqPtqoikWBQt7oyz+LlsPxD67U1xOW/IRuf3CfMZ5fzG6fC+O6/ErvE8gayeRPA56QmyKOuxURIMeq9Bk+1p9NwNmIp26J0HhTGqtDTdsKJQstSQNqnq0yo7Exuh/M9XJm7Faz0POWa68M7/x2m7JjGJQIbQNUk+MJGyiTvL7OmbLVv6MNjrfYxvo8gJ6U9FPvPaA8y/HcnEe/jZjpXc4IMK6nfmCyvbqrXwnbrqI9uMOJpXYmONdXwybjhsembctVocozYxHuXy98haSjP9wlkaSxG+ui0+m3uAtwqZeBDVXB9W4p64HppuJ+E+EzVWi995hx3Ggr48QWQiCJ+Nf2Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(346002)(366004)(396003)(136003)(39860400002)(451199018)(2906002)(31686004)(41300700001)(83380400001)(186003)(36756003)(5660300002)(7416002)(66476007)(8936002)(66946007)(6916009)(86362001)(31696002)(316002)(38100700002)(4326008)(54906003)(478600001)(26005)(8676002)(66556008)(6512007)(53546011)(2616005)(6486002)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K0ZVdWVBSGVLN1BERU5IbE9mWEZNbktyNnMvd0ZxM0RCdlpJQ2hENnIwYmR6?=
 =?utf-8?B?ZmZqVlFMYzIvSE56TElQSWFGcEhuQVYzOWlXbVlsVEVmVEJMcERXQ2grQjdL?=
 =?utf-8?B?NzdCQ1l6Qk9LQThYNlhVemVFM1BoVXpVVEVsODNubVREUFdoOWtrdjJLd3Jj?=
 =?utf-8?B?anpESk9sUEk5NEg1aXVNZ2F6a1dCYzFCWklHdG0xMVZVbHJ2Z0VoZFA4YjJK?=
 =?utf-8?B?ZXR5cForRms1QUZUVWFlY2lIY3FuR2ZYdVNWcmdsMlRxdm1MYi9wRzkxQ2w5?=
 =?utf-8?B?ZEhjTU9rblhMOFErR3R1WUJueW5lQXJWKytLRHFuQ2xPWjJzL05UN0hYYmdT?=
 =?utf-8?B?UDhTQWhqdm9FU0g4YnIzM1N1T2FpOXpIcmtjeERZenV1bE1VUGVmVnpIcFdp?=
 =?utf-8?B?eUdZdjN1SHlLVlIwYzZqWFh6VmdvdW04d3F0T0RncjNBVStkRlk5WE5vNG5U?=
 =?utf-8?B?ejNHWVpsMk1DNmQvMWtRblpLdDFMbE9YR1YrZ2dUaVN4Y0hORUZWRWgzOWhr?=
 =?utf-8?B?dmE3LzdwY0E3SGpQZlF1OXRwcWhKd0ZpdXV3V01PTE9nSzZvbVExWmJnL0RJ?=
 =?utf-8?B?dmhWa0x2SmZ1RFNaT09BVUhuVTdqZnhHMTc3MndreElqbDJYb0xLUUVZeE10?=
 =?utf-8?B?ZHBRL01EK2tQWERBN2s3cUgrM3F2c1Vod0l0K3FCWUpLSUphU1haeUJZOGxY?=
 =?utf-8?B?Nnl5eG13SHdCWEdEdTFjOHNZa05Ob1c0T05WMThKU1N3NlVJU0E5WmVqZEFw?=
 =?utf-8?B?ZWRPR3pmVUlxbU10U2JYMVVBUXc2Y3RkOGJuK3E1TWpMZWV3R1hwZ3N4bWsx?=
 =?utf-8?B?R2JHblFyUS9tR0ptd2g1OU9WUG9NaUJzTDBmZEtLS21ycHhrUlhmR3JnWUFI?=
 =?utf-8?B?VHIxV3FYSStaZU9ScTlOWUdtMkJiVUFlMm54aTBIZnAyb3NiVjZETWZFSjA0?=
 =?utf-8?B?WGhjVVZiMzBvVEtpajJvOVNQbVN6YUcvelV5MmljRXNyRVZiTGtpbDJGa2pl?=
 =?utf-8?B?NWdFcSs5ajllMjFJTmI3ZittTUc2Y1dGVkxRak1yc2JMc0VBUnRmQ2hPRXlN?=
 =?utf-8?B?VnhUSDNhNWZlT2NTdHVqQ3A5aUZJTG9Zd1dKYUVTdnpFMjlCaHZhUURxTHdV?=
 =?utf-8?B?b21nL29FcUp1Y3FyeFE0VjVZZ2tmUmY2RkdoSVdnNkNham1GSEFNckNqUVZa?=
 =?utf-8?B?dkhrcnFBKzYvMUdCNUlRMk0yVnBhU0dKcUY5L2o1eS8vcXlHY0hhbjQwUitw?=
 =?utf-8?B?Qm1FemNBdlczL3dmY1lWRDdHdEZ3ZTZwZHJVTGpuYkg3T1dycHkwcjR2bTVS?=
 =?utf-8?B?blU0SzhzR1haYXdLQmJNK2dWbDBCTWpqaEtjcmtMWDdKSkNWRmZqZTR5M3JR?=
 =?utf-8?B?WDlnMmRXeVFSWEVTUDYrM0RrVi96ZEF1MFdERSswQ29qb05WY2tzRjViTTdE?=
 =?utf-8?B?dzFKaEJWUTFtSFZvbFpZWTBrbUsxeTNjRU1vTHVUZDJrRVQ1bGpsMWRobWlR?=
 =?utf-8?B?cGI0V25QU0JOdTEyYVhnL1NmRFVuR1oyRzFBUlllQVZhdTA1dTZWR0lRbGEz?=
 =?utf-8?B?aE1zSThuaDdZMVMvejJqMXRNaWIzcjBDeUNybHdIVjFCWHdLcS85RHJ5SEpJ?=
 =?utf-8?B?bEVpZkNxSWJtSVdpbWorM3dJSWRka0MxMkdSajJMOWhXR0VOc2ErUkpnM3ZT?=
 =?utf-8?B?N0NaTGpkMDF3VEVJRzdFYjU5aW5hVmJKcnNyTSttY1Q5SWFFdm5vVzhrVjRX?=
 =?utf-8?B?UEhZSXJYd1lNZ1hKeGVDRllueFc5eHZaazZ0ZXEzemlZL0NJZWFVWFd1R1dZ?=
 =?utf-8?B?UGt3T2l4SlU3Slp5UlBhQno1aGtuZGk0STliMXNSaGYxdXlGZGRBTStiNXlR?=
 =?utf-8?B?N0dsam9aT1FlMkwzU2JiTDYveHhETjlqVXZ1U21JUWhpR2txek1CcXhGOVBq?=
 =?utf-8?B?djJEL0NXUTNmeklLRXgzUlpUcVNGcFVIR0MyVGIvQVRFRDd2VFYxSFcya2lj?=
 =?utf-8?B?Z3JlNWhLci9sNWlFb3I4MFNybC9jV3B6RXRMYWI5alBkaFNoQmN3VVpnMXhr?=
 =?utf-8?B?T3Y0ZTRNa0RmTGV2aVlHV2xJOVpETlJCVXVZQU54UTNjS0o4RkNUa2JUKzBS?=
 =?utf-8?Q?XVXbDwX4BuxCkTMsRnk28Hfml?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bc82d2f7-8686-4aa7-8c73-08db255a2ffc
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 13:35:48.7765
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 85jNwtLVlQxWadbNaT3YfvoIBa5ar7tzWhmPXDvErlzk03eOV/aoxzYGWD2276LjEkVHzxQxXI/rzr/jo9YjIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9705

On 15.03.2023 11:39, Luca Fancellu wrote:
>> On 15 Mar 2023, at 09:41, Jan Beulich <jbeulich@suse.com> wrote:
>> On 15.03.2023 10:05, Luca Fancellu wrote:
>>> --- a/xen/include/public/sysctl.h
>>> +++ b/xen/include/public/sysctl.h
>>> @@ -94,6 +94,9 @@ struct xen_sysctl_tbuf_op {
>>> /* Max XEN_SYSCTL_PHYSCAP_* constant.  Used for ABI checking. */
>>> #define XEN_SYSCTL_PHYSCAP_MAX XEN_SYSCTL_PHYSCAP_gnttab_v2
>>>
>>> +#define XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK  (0x1FU)
>>> +#define XEN_SYSCTL_PHYSCAP_ARM_SVE_SHFT  (0)
>>
>> The second of these can be inferred from the first, so I'd like to ask
>> that redundant definitions be omitted from the public headers. For the
>> code using the constant we specifically have MASK_INSR().
>>
>> Just like there already are x86-specific sections in this file, I think
>> the remaining single #define also wants enclosing in "#ifdef __aarch64__"
>> here.
> 
> Thank you, I wasn’t aware of that useful macro, I will use it in the next version and I’ll
> enclose the mask using ifdef.
> Are you ok for the position of the mask define or should I declare it somewhere else?

The placement looks reasonable to me.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 14:01:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 14:01:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510076.787102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcRgq-0001aq-5j; Wed, 15 Mar 2023 14:01:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510076.787102; Wed, 15 Mar 2023 14:01:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcRgq-0001aj-2y; Wed, 15 Mar 2023 14:01:16 +0000
Received: by outflank-mailman (input) for mailman id 510076;
 Wed, 15 Mar 2023 14:01: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=CVd2=7H=citrix.com=prvs=431d4e183=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcRgp-0001ad-0Z
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 14:01:15 +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 d17accac-c339-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 15:01:04 +0100 (CET)
Received: from mail-bn7nam10lp2100.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.100])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 10:00:49 -0400
Received: from PH0PR03MB6368.namprd03.prod.outlook.com (2603:10b6:510:aa::21)
 by BY1PR03MB7240.namprd03.prod.outlook.com (2603:10b6:a03:52b::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 14:00:45 +0000
Received: from PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034]) by PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034%5]) with mapi id 15.20.6178.019; Wed, 15 Mar 2023
 14:00: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: d17accac-c339-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678888864;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=CHY5qF9wAd1Nof3dn16aVCMDWRiQOvidYcTH2ZiNEMY=;
  b=HikW/gK28za6dxAdMV4gO4uxhcJmUu3ZhCRx06bTJO86Cb1PbVKPO2EO
   p5idS9TqqvOwihbPnPgqtXE69Qmc9thUcf8N6zofB6cCEUPB/RMQLTK8Q
   bpUCDo8WH6RmiqcjwruOtuhI1rCKLFOF+ht6tZHHp0pKdhXvQKVmUDZpg
   M=;
X-IronPort-RemoteIP: 104.47.70.100
X-IronPort-MID: 99761977
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ZvBX0azWg5TuoBAyrHl6t+ewxirEfRIJ4+MujC+fZmUNrF6WrkUFy
 jAcCjrXbq2DNmGhKNt1b4/i90NTuZXSzoJnQQNsqyAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlPK0T5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KUxx0
 aEpK24SUi6ojtC52KOUFepu39t2eaEHPKtH0p1h5RfwKK9+BLrlHODN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvDCVlVQpuFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE176Qw3qqB916+LuQ2vBlrli462opEQAXDULh/dqTlx+SRIcKQ
 6AT0m90xUQoz2SxR8i7XwCxpnGstxsQHdFXFoUS6g6XzbHPyx2EHWVCRTlEAPQ9r9M/TzEu0
 l6PnvvqCCZpvbnTTmiSnp+TqT6xIiETIXU1eT4fTQAF7t/gp6k+lhvKCN1kFcadhNrvGCq2x
 CuWti8gnLYCpckR3q6/8BbMhDfEjojESEs56xvaWkqh7xhlf8i1aoqw81/Z4P1caoGDQTGpu
 HkChtjb7+0UC5yJvDKCTf9LH7yz4fuBdjrGjjZHE4Mgsjig5XOnVYRR+y1lYklzP8sIdCTqf
 EjL/wRL6/d7NX6mKKB5c6q1Ct821u7uD9noWv3PbcZJet52bgDv1ChqaF6Z2Wzgig4gnLw0O
 ZqBWc+pATARDqEP5DG2XeYGzb4iwGY9wm7VRJ/TxhGrl7GZYRa9cqsIL1KUcqYZ7aeIrQ/P+
 tBTH8KPx1NUV+iWSiPK65waKVcGKmcyLZ/zos1TMOWEJ2JOGGYnBPvcwOpne5Fsmat9n+LEu
 Hq6Xydwykf7hHSBOwWDbH9LYbbjG514qBoTHy01PF+unVMjbICH5aITMZAweNEaGPdLyPd1S
 7wPfZqGC/EWEjDfoW1FNd/6sZBocwmtiUSWJS25bTMjfplmAQvU5tvjeQip/y4LZsaqifYDT
 3Sb/luzafI+q85KXK46tNrHI4uNgEUg
IronPort-HdrOrdr: A9a23:Y50EFK14LOUCxQX5W66icAqjBJckLtp133Aq2lEZdPU1SKylfq
 WV98jzuiWbtN98YgBEpTniAsa9qBHnlKKdiLN5Vd3OMDUO3lHYVb2KhbGSpAEINBeOlNK1vp
 0QF5SWZueAd2RSvILX5xS5DsZl4PTvytHUuQ+Up00dKz2CEJsQjDuR0zzranGekjM2fqYEKA
 ==
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="99761977"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TzpeOmBgt7g0wCxIsjTciNZM2QeO0vynpj9RQj9PA/fJuyhKCQr75dwVcZGRuEYl5QLJGk2lZLE6H3UWvUhwJERoKolktNfjUBZsMH4NxUONLPlMWO5LuTUCSrE3JNVVArelAgm16v3GUyduC4jHviWideZaMUJ0BPwihIsMxq+d29rEmhRahN7Fco+Bc1By8mZCJR30o83vR60g13H7lm/PS/BEP0TfTAu6kPW6ZLTlcrGtW2HLA1aUfAyd8p8W0LZhPRXzEw/OFl5L8y43jJ9BjVDSdFbjwCaacJkt4SRIPHTAKzgeX/PfcR7bujWYSkMnKo0Z8K/o0I1/KZ6zEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uOFoSjsc7ejNROHwp3UOXc9UCLRpiccauiYtgZGAyGA=;
 b=huxa02xbA4GJf0OdJ7uOXbC7kn4Op0ieLjjXVLQPHU9ReUnLrk8jDTtwcsnLVLPswRk1wl66wqa5V8F/Mo+lKrq52+cC7hNxhlzXjoKB9fCyVANiTHB+3g1v/jgtiPe3EUq7+qJsZTP7f6cAHdYWBa4HRW+Xpyf0PVZ7uNnfnkrBH52404Hb8MPPGZaMP+UAf1i3j4p7gaSyKzQ1+aQGxiHL+hf46Im6DZVHMfTniQnaozHS/qEeZ4/2lLXRpsOIIePqILF0OCcFC3FFQmzUNF6Inqru5Zg2D7u4+PE+vmD+TktMuBUG79kefc+iBDqlW0I/b9EKE1spmobjjVso/A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uOFoSjsc7ejNROHwp3UOXc9UCLRpiccauiYtgZGAyGA=;
 b=w1WCT3N4d1e11AZq4B6twq88nsk1Jj5GR87Dvsqh83jOyF1H3JUl/wMbyCTsehyi3DlPv5L++aqAAS9B9wvWSNDBqq03xxTBnBwAkgrruazg1CIcHEYrU9fThjuoJg0UsH7d8KhLeZjrqO9TdzYEl+ZtvedDunAPOgjneDWaJt4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 15 Mar 2023 15:00:38 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Huang Rui <ray.huang@amd.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC PATCH 4/5] x86/xen: acpi registers gsi for xen pvh
Message-ID: <ZBHPhq/TxEx+Lxsg@Air-de-Roger>
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-5-ray.huang@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230312120157.452859-5-ray.huang@amd.com>
X-ClientProxiedBy: LO2P265CA0174.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a::18) To PH0PR03MB6368.namprd03.prod.outlook.com
 (2603:10b6:510:aa::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR03MB6368:EE_|BY1PR03MB7240:EE_
X-MS-Office365-Filtering-Correlation-Id: e80ad24e-e139-4952-ec6d-08db255daba2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JjRS3E4SWHTo+tiGyOpSi034MloYJRuqAahNAYbBRmFPamVmViQq7fzqgxlo/pyYUJJ7LFxXVO00tgxZ57K4bIvqxuo1z/US/d27gZle12OMvNvuLV6uLM2N4KGiFYdj9i4kVOudwydWikPEG7mMc4OVyTOq7bQmPKJa3V3wGxV51Za8eXtOZgUfLmaAB8buwGQ5KBfuEBHQ8RwlPgYGqMOfI4Xvv+NKSTq2IordnXe1B3bhT8pdECwnGZXct+GoqiCIT/Z7MrtIlurw2t/G47NFVtbo0uWitVHjEX1CWWpdVvfNceczvRxSTJSakadVXY5gzj2Q/bhgRNQfV0AAtWaKHzDgGWXbGlnnufJLyAOwD9Gq0A3o7oXJgaDKCkhhGq+tJ+mYqwY+dXRifgodrLKck/mZ3Ge6tWRLCTLd2vWL3DBRHPqCD1fW7bKD2R2fM16WkX9P/dDb0dEITf139v8FhWyphCLGQa7Q/zXE/YqH/3Dsa10wwgEUiKuzT7hqF9ZPyg+Emo0t3GS/uCe9jILFWCWDsR3xH+xgKIpBVflSXbR6qBe/9lg9eTKDzT7DaTMaQIS1R3PYcObWWHVkAqKvIaM3YlUOGYpW6BKNP3NZpKMYTsg69fW2hSSOJxpZ0GeQfek3cTKQY4KD7U5yxw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6368.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(366004)(376002)(396003)(39860400002)(346002)(136003)(451199018)(85182001)(7416002)(5660300002)(41300700001)(8936002)(2906002)(38100700002)(86362001)(82960400001)(478600001)(66946007)(8676002)(66476007)(6486002)(6666004)(66556008)(6916009)(4326008)(33716001)(54906003)(316002)(186003)(9686003)(26005)(6506007)(6512007)(83380400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SUxvdE43WnZOdzZDTlRvTEh6RVJrcXVWN3pqSVE1NjMyd3ZMRWtIdEFtZ2pZ?=
 =?utf-8?B?Z0pnWm80VE9JaGdwYURxNWcyM243THpxRTFxN3o1V3g0SlV5cVNZK0xGM0Qw?=
 =?utf-8?B?cFVoaCs0NHMycG9LZnFwaEJwQXBBWjR2MVNnTjczeGpxdlYyWXdSK04xcEpp?=
 =?utf-8?B?ejhWTzZUQVV2WXZiOGRsOGpVRWVpRVhzTmVmT1ozaWZMNzBVeW9iTTVFQVlp?=
 =?utf-8?B?K29qeGdjWDltcXJWNXVrYVZxODRIRndpNGV3ZSt1NHNpeWJPdlBpbXlVNml4?=
 =?utf-8?B?dWtlVkdjeGZkMTJydmJ0Zm5lNHI3OHNCVGw3Vmh6ZWN2UXNrTWl3VVRRWnVq?=
 =?utf-8?B?L3g3UzY3WTFNUXhkTDFoMWhiVnZBUFBSeFJFY2JFNEJOS2JoWDFIeExmcE8v?=
 =?utf-8?B?UXF6ejR6QnRLcW9EYTRNL2NHRzlqVnNwTm1PeE8xZTZVRjA4RmptMnhSQ2xr?=
 =?utf-8?B?dTVJR2owc2Q2ODd4K2E2SyszRUdra25leFRhd091MHpza1VobHN0VFRLRjAr?=
 =?utf-8?B?S002ckhNL2hvbzBhcythbXFseHNXb0x2cWRYaVkyclllSnh2enBYMlgxQkRx?=
 =?utf-8?B?ZTg3YllsTXNTYkdsQVhiT0pCQysrclYvVkE4Z2RvUSs3azJOZUJxMDllL0JY?=
 =?utf-8?B?a3dyUHZ4TXplZlpzeW8vMUhjNWVxUlQ5ckozVld3NkE2ZTVWcE9ZWVhTOEtW?=
 =?utf-8?B?NExjMzNyTHZTN1JKWExXOEJNYWlPRUpSZDVXNmxGYkZMWnkxV2lyY3RmdVo5?=
 =?utf-8?B?cEFnQ25mUmFhTzZiZERnY2R2YkdxVkIvcVNHZ1c2MnBIUUZqZ1kzdHV4R091?=
 =?utf-8?B?R3FOdUhkQVo5VklZK3hadGdxNzJ5SGdTNDR6ZDVYeVgzNU1CVXNZTVhIcnBj?=
 =?utf-8?B?cU11cG15ZXJweUJvaHE0UGNSUUlIUm9PYjkvakZYbzU3NHgyc2hmNk5ZUTFQ?=
 =?utf-8?B?VG5aME42OXRBVTF5M2NiQk9lYjNKazJYL3J6QzJHSldWMlhzRHpWTGJuYkN1?=
 =?utf-8?B?M0g0elkrUHZRWU8rWGU0NzhqL3dEVXorVjlsY0VuQ0ZGWHhSS1RTRUs0eWw3?=
 =?utf-8?B?ODVSRUhSUllFRlNLSy9XbFY2ckRYTHlxRHg4aU9NL2RkMHlMMXJYeVJBUGEy?=
 =?utf-8?B?bWFTYXhxWFJRNnd6dGNQVkZSL21JUUltS2dkVUJJTlVLTnZrTGZmM3RoUy8x?=
 =?utf-8?B?UTBpcjBNSTJSTERNL0FxV0s1aWtmUUNKZEdEc1diR21DeitxZDMzODd0ZWV5?=
 =?utf-8?B?Q0gzWDNrSkwyWjJWU2N1ZFpuSXVjaWZiaXBCTnFhWnlESitxREtPSU9TR2l1?=
 =?utf-8?B?VlRPdFcvUW90cmd5UGNjWTQrSW9PZWVCMmN2eHpxRkRCTHYycWF0MU5iT0Iy?=
 =?utf-8?B?bDIwL2RLM2grcS95TlNPblAveERicnlUdjlaclpyTURjYmZzN2lUd2RLM1Nt?=
 =?utf-8?B?ZTB4VFM2Q3BTOVZmRjFnQ2llWXdjYzZGRURWRDR2cm1melRiOEgzWDdCRm1h?=
 =?utf-8?B?aEFuYjhVTFBBVVZqeUEzMmtEQVRKekI1dUhqUmREOU5jOTNFYlhTZjJBREhk?=
 =?utf-8?B?eXh3T0V6NTYvOTl2OUJQbFJ0YjRMdnJWZHNsaFA2VkViOVI4M29YdWNHWVlT?=
 =?utf-8?B?NEgxQ1ZhQzFwK1JCV1VxdkdMMFZKWUUyVDJmVXd6QktUaElZWWJLb3FMTkF6?=
 =?utf-8?B?ZUtSejg4TGRhMWovRW8zZ2Z5d0NCUWlRNFZSUUlLTWQ3Zm0wR0xtNGhIVHI1?=
 =?utf-8?B?TEtmWVM1dXI5RHNFcmEwYjhwTU0vUFJscDFNUkR2eWMyc1hPTW10bFRLOVp5?=
 =?utf-8?B?Q3o2NU5lZXlIS2tmaWZsSGhlZjJLT0hOYk5FTjVyZXNxZFB4NjROaVFRWnhn?=
 =?utf-8?B?ZGlzMDlUc2psaXdGQXZYeEhRVlhkd21hUVBETDRVWlBmZjMvaEFrNk9xaG1R?=
 =?utf-8?B?Ry9MeU85MFBORDZ4QjBLWjVZZC9pL3NaRHlGeHFHUVpzMlhvTHVhQ0pzcGFZ?=
 =?utf-8?B?WnRwSkJmOWQ3NWdWc3kvWWpsQWJuc0pmeWpHYlJ3U1hMeGtLUi93ZHJmOE53?=
 =?utf-8?B?ZnBCdUJ5UEdKMUZ1eEhwcGszSy9LeTdHc0tEbDJtcVNwSGs2cTdWYjI5a0J0?=
 =?utf-8?B?RGpnT2ZtVVZrU1h3ZE5qdW15dnAxTXZhMFEyYXVLRVZ6dWNaQ3dUVHhSUVhs?=
 =?utf-8?B?MGc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?a2xjSkRXRkRZY2xkeEMxYmhvckx5UFN5eXhxcWlEKy9aZjgvWVQ1VUhpUHpJ?=
 =?utf-8?B?NW1oRk9VMzFFa0JaK3M0OVdLbXljR3lpaHlSNTdUekVmKzFiS2U1MzZ3dHJi?=
 =?utf-8?B?bmNxTDZYcUpXUHVlRG1TMXcrZ3JIYk5GUmIxVmhkMHdGdkpmcnZjWkpyWEhC?=
 =?utf-8?B?WFh0cFVtZE8yMTg0N1lsdktUSGpJeGpKYzl1VCtXUWx1cWpZa3l1NURQaU9N?=
 =?utf-8?B?SnFkYW5STTg2L1owNURjN0s0SXpnUEU5bnFpK2N1VTViQU9tUndBVldMS3RL?=
 =?utf-8?B?eUV1THBHaVdGeEZLMFNJWGx1RjdWN0pXVjhxUXBtb0lxNkIzUHBiQWxmdnc5?=
 =?utf-8?B?cng0Z29UTUs3SjFuSE04SCtsNGxnelF4UGJ0RSthWE1za0RYbDIrelFmdkpu?=
 =?utf-8?B?U2FndUpEL3U1bFdRelFxRmpxOURIM29CQVBYeGxPVFFwT0dYU0dabWw5cUdi?=
 =?utf-8?B?Z21NWE5rZ29yL3B0UkpyOHpKQUdQTHEwWjhLWDByMXZFclRWaHdVSWVEQ2pW?=
 =?utf-8?B?Q1A1Ly9EdUpzd2dkZ3RBdlRsMjhocCtwWWJPdHdhZVBEWUMxbmFWSEVoS01K?=
 =?utf-8?B?blhHSEFwUlUvV0V2UWNlRk5XREJHbkgxeEhEazBDa0RGeGYwNlJNUTdKNEND?=
 =?utf-8?B?K0NiVjl6ZS94SnZoQTBVNVlqWk5aeGtERE10R2tyYzFyQUpTNVhQTWNWZGdu?=
 =?utf-8?B?MnhIbWtHSHA0TTRhaTFDRm9rQkg5SlZ3L2JuOTNVaDkyYUFWNVhKSDQ4Nldx?=
 =?utf-8?B?L0NqM1duUEd5RWVSdnd0VlEwbkkwYzhNRDNGSFA4MStnbUp6LzlkNFZTaWsr?=
 =?utf-8?B?TWZDUWVVbTBpLzRkcmRmWUFQR0I1Smp6bzBWU2pTQjVoWExNT29rTXdhbmI4?=
 =?utf-8?B?LzAvUndVMDVzdEtGTzMxVDNBd0FXQThnZDFpK1hMOGhId21nQ1NUMU5jOUJ1?=
 =?utf-8?B?WWR4Mld3bzAybFBYWVpKaHc1ZVlqN0NaMkl1T2c5ODJnbUtnYlpPNG1GVzdO?=
 =?utf-8?B?U1haUEhGR09PZUUwT2FNT0VFaGJnZDdpaTZZMFQ5ZTBkT2kxK2ZmMU5WdWJW?=
 =?utf-8?B?ZlpuLzYxaTZiQ3pqWXlZSWRpZ2MyY3Zkc21WUVBaU0ZIaC8yU0Z6MWxFVWxT?=
 =?utf-8?B?ZXhJcHZNQkJZSTQvYitaWlZlUWhzekxXdTduaFNJUndGbmRBOWEzNlk0cmZk?=
 =?utf-8?B?dTBUbmNmK0d5L0pVSmFTRy95TThXMWhITWdrSi9rVHVBOEVnTnNtUHgyQ2hB?=
 =?utf-8?B?ZkhFQWsxK1c0TXRUbWhTK1ZBRDJJTkNlZzVXTXQ1enFoUU9hM1k3aHJmNGdJ?=
 =?utf-8?B?aTdmMHJqTFhyV2cybU1IbnJFM3VLdW8xLzlKMDNnMDQvUVc3bVZhUjdsNSt0?=
 =?utf-8?B?K3JtOWZRSm90VVE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e80ad24e-e139-4952-ec6d-08db255daba2
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6368.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 14:00:44.7792
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kxRhoNKTd/MTBRrsxFuUMGhXYKDLVjO2OKe0is7cAZjLQswbG4//084MrqPsRz/y3oJfrpoZTv6pJe5oEY1/fA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB7240

On Sun, Mar 12, 2023 at 08:01:56PM +0800, Huang Rui wrote:
> From: Chen Jiqian <Jiqian.Chen@amd.com>
> 
> Add acpi_register_gsi_xen_pvh() to register gsi for PVH mode.
> In addition to call acpi_register_gsi_ioapic(), it also setup
> a map between gsi and vector in hypervisor side. So that,
> when dgpu create an interrupt, hypervisor can correctly find
> which guest domain to process interrupt by vector.

The term 'dgpu' needs clarifying or replacing by a more generic
naming.

Also, I would like to be able to get away from requiring dom0 to
register the GSIs in this way.  If you take a look at Xen, there's
code in the emulated IO-APIC available to dom0 that already does this
registering (see vioapic_hwdom_map_gsi() in Xen).

I think the problem here is that the GSI used by the device you want
to passthrough has never had it's pin unmasked in the IO-APIC, and
hence hasn't been registered.

It would be helpful if you could state in the commit message what
issue you are trying to solve by doing this registering here, I assume
it is done in order to map the IRQ to a PIRQ, so later calls by the
toolstack to bind it succeed.

Would it be possible instead to perform the call to PHYSDEVOP_map_pirq
in the toolstack itself if the PIRQ cannot be found?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 14:26:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 14:26:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510081.787117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcS5M-0004Wm-8m; Wed, 15 Mar 2023 14:26:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510081.787117; Wed, 15 Mar 2023 14:26: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 1pcS5M-0004Wf-66; Wed, 15 Mar 2023 14:26:36 +0000
Received: by outflank-mailman (input) for mailman id 510081;
 Wed, 15 Mar 2023 14:26: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=CVd2=7H=citrix.com=prvs=431d4e183=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcS5K-0004WZ-Ov
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 14:26:34 +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 5fe2d851-c33d-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 15:26:31 +0100 (CET)
Received: from mail-bn1nam02lp2045.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 10:26:25 -0400
Received: from PH0PR03MB6368.namprd03.prod.outlook.com (2603:10b6:510:aa::21)
 by BY5PR03MB5347.namprd03.prod.outlook.com (2603:10b6:a03:218::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 14:26:23 +0000
Received: from PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034]) by PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034%5]) with mapi id 15.20.6178.019; Wed, 15 Mar 2023
 14: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: 5fe2d851-c33d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678890390;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=uYfh3HXehtB2f3KZTPWFqYe7WKOChOOqBjMtMlB8WWE=;
  b=Y3FR+HRWDiXpX9Pg3RohIhalRMjCBw9C2ia88H5JNCwQhuHzgPjkqjFy
   h3Hb8qk6xF4hYncO7FvwjoHyjMwx7suIcBraf8StnUZ10mN4UdC+3qMOK
   jCEhHxyoZ0kWfGVU7RA/PV3OuGYnIS5KDANbSKrSuAZhrn0UkSQs0hj0o
   8=;
X-IronPort-RemoteIP: 104.47.51.45
X-IronPort-MID: 101373556
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:FSuMA6hkoJHLmbrR62vZfR1mX1615xAKZh0ujC45NGQN5FlHY01je
 htvDD+GPfbfYmXzfY92b9vkpBwAu5eDzdNqT1Y9pS9gFSsb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waDzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQWOSwhNg+nit6owbn4WvlD2+UJApnCadZ3VnFIlVk1DN4AaLWbGeDgw4Yd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEoluSwWDbWUoXiqcF9hEGXq
 3iA523kKhobKMae2XyO9XfEaurnxHuiA91JSeDmnhJsqFqaykgPFUwRaWe6j8KH1HCxS9ROM
 VNBr0LCqoB3riRHVOLVRRSp5n6ZtxgTc9NVH6sx7wTl4qjb+QGCHUAfUyVMLtchsaceXic23
 1WEm9foAz1Hs7CPT3+ZsLCOoluaPiwYLnQLYyMeehcU+NnooIw1jRXnQ85qFei+ididMTv32
 TGR6i8lm68Uk9UIxo2851nMhz/qrZ/MJiYl6wOSUm+74wdRYI++e5fu+VXd9exHLouSUh+Gp
 ndss8yf6v0eSJKAjiqARM0TE7yzofWIKjvRhRhoBZZJ3zi3+juvcJ5d5Bl6JVx1KYAKYzLkb
 ELIuh9W/NlUJnTCRaZyb8e+BdQCyan7Cc+jWOrZY9ZDeZttcxfB+zthDWaZ2239mU4gnLt5N
 ZqGesahF14TDKghxz2zL88W0aUq3Tw/zGWVRpf2yRWo+bObaDieTrJtGGCSY/8w9r/CgATR/
 9tVLcKMxz1WVeG4aS7SmaYZMEoYJHw8CZfpouRYc+eCJkxtH2RJI//Wx7wldo082aRIn+HH1
 ni4VglTz1+XrX/aLQSDLGJjYbXgdZ96oTQwOilEFXSpwnkqZ8CE7KoZX5Iycf8s8+kL8BJvZ
 /wMesHFCPIWTD3Co24ZdcOl8NEkcwm3jwWTOSbjeCI4Y5NrWw3O/JnjYxfr8y4NSCGwsKPSv
 oGd6+8SerJbLywKMSocQKvHI4+Z1ZTFpN9PYg==
IronPort-HdrOrdr: A9a23:tpCXe6lS4hXiihABYl8qh/vlo4TpDfIE3DAbv31ZSRFFG/GwvM
 ql9c5rriMcRgxhIU3I+OrwQJVoJEm3yXcb2/h1AV7PZniFhILsFvAA0WKA+Vzd8k/Fh4pgPM
 5bGsAUNDSzNzhHZK3BkW6F+rgbsb+6GWOT6ds2DU0BceinUc5dBs5CZDqmLg==
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="101373556"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A553x65u8wykC4HFnZ6lRzqBSb7gBu9Y2AFLco26gSbof+fKT+2J8kEAKPLQkt9dddgPsxjNMkhq968oFwM4P25HTN/U6Ne8C08WZGg3sOwYmpEZMgYUuoBDX8qKzFo2ZGJa60D9ChM1jgqK2dZpw9j2Ztp3kF/8vCDdd+jhLeCZWTtImYSKllR3ttmjagI2JHQehbqaoPZpDH7DhcdohpfrVHm4lUgg6EGONaNREv7y/mtLuo7LbbK4/Fd0naA2XumXyIArFq6MhN0OwV7tc9gYLLit3VPgPEd7GpXLLY5Y6r/VnSojpDKJopNs3pGJM1LGEXldTp9Heq7sIPezsw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P8Ln+wRfhrINjyA6imnJhPYRQ4u9OKDbnJqG04xkOiQ=;
 b=YPM87aSrq1bETSWxeniwjt2SEhboXh9/GGIfxFn3IKP7z4U36C53pBwOCcfIR9J6onPmRhbvzGl1oyQEFo6lvnQlUoyD1Nt0hzcgsyGptl5SpQGCxiLgq6t0+VrV4faj+DkzMlrdZQ55jWHzvQggqGoGZL49kCwrEgldX73eWmISvfz1R9m6MtaaboItmcKIvK4SI1jdlS/xMLNxu6k9ux8nMc/CzHCM9RcUR+G9gSVNjBODKYRLrQ8Prceod9UO0L1MpoGcktaW2e0FAyG/wpVYxGI6B68St/mGaqhedLmSB0FXOYQI2mDRxKS746ZVShaCSc9jcPDaifah2bTU2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=P8Ln+wRfhrINjyA6imnJhPYRQ4u9OKDbnJqG04xkOiQ=;
 b=lIuDxiGlh5xktOujjiINMVa/gRmPkFO8oog/tcfwSXflCdAWAADhlLW0byMpZOakI9kNxjdoNzq99VJLGShto9joiaeB2BYXFle/9VE+19vLnG0hHJ6ZKDafWi3fMnHvkZCl5uwhVz9hAbucFbWd+l/92VeeQ+TLmUc/T03Vrb0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 15 Mar 2023 15:26:17 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Huang Rui <ray.huang@amd.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC PATCH 5/5] xen/privcmd: add IOCTL_PRIVCMD_GSI_FROM_IRQ
Message-ID: <ZBHViestgDwWYqjl@Air-de-Roger>
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-6-ray.huang@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230312120157.452859-6-ray.huang@amd.com>
X-ClientProxiedBy: LO4P265CA0157.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c7::14) To PH0PR03MB6368.namprd03.prod.outlook.com
 (2603:10b6:510:aa::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR03MB6368:EE_|BY5PR03MB5347:EE_
X-MS-Office365-Filtering-Correlation-Id: 87f194db-e38a-4d85-e00d-08db25614069
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FmtfcCz2C+GRlQ47WDGl4/ScLnbjbRs7END4xiQcjhHLDN1ovgt7TH6rGFhNHGsEBLJ/bMFN/b34xEY6Wjjiq3zVe3sGpEIf8UlBxse/StmOVH5onapX67mgcR1fRIFVXWD6F7pKdJgY6DGbZ+NQ2OGVQHiOObeKOVX37WmS9TtVlvjaTC9DhMZ529Si3haArCnf1nAIQk7AidE/gds7WQdai7lWI9/6cqQVrsSp1sKgyTWVUMOZeWipn9ng6dXD0fi2mFH5RZ8vlM8kjX/9A4604PpenJQ3FQvflaX44W6eVKoGaQuDp8oGP0lwF/F4nKPx4q9BAiX7obaM75nBZqGPYVHbf7SZ3wmhmqd9K20R/pwCoFFxy/1zqeSy5AZe0OAz9KxYC+gyq6qWdDAc6eRx/QRMp9ZEw7g6eYMM4XoD5b/Azkbfper0hprwUNwEzDFidFplC6rvqJVZpnqd8qW3BpiweOVI++uWXM7tOSQmKFds/RKn3XC1+S77hLEgrQNLsngx1S72vVoicsqhwp/zuPit21v+nuWtuCvl3FwO6QSmBEigEVq3wRH7Z4u3vLohFelB46i7Va4udejIO2e1OoLZ7t66giSkQZrueSbo97K2NKlnXdGofNKkiNEFMf5Llmjp1j6Gy9pM3oqoIQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6368.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(39860400002)(136003)(376002)(366004)(396003)(346002)(451199018)(66899018)(85182001)(4326008)(7416002)(8936002)(41300700001)(5660300002)(2906002)(4744005)(38100700002)(86362001)(82960400001)(478600001)(66476007)(8676002)(66556008)(6486002)(6666004)(66946007)(6916009)(33716001)(6506007)(54906003)(316002)(9686003)(6512007)(186003)(26005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bUZNQjdtUkdlbStxUlJlNTRZYzN5ZklLNkFRTnFPS09RVzFpbjNWOEZDUW9I?=
 =?utf-8?B?SnNTRXpJTjJZdjVlSWtjcnFZR3FhZ3hhaHFRdDc4U2ZZRWRwK0czTVQxU0Fp?=
 =?utf-8?B?RHJmQzFyanZXWG5hTnRIM2pld3FVOFhJYTlVVWQwaFhWR3U4YVBoemFrQTUw?=
 =?utf-8?B?OXdKSW5mRWJiT2dQVUhuR2txdGpWcGxMVnFIZ1piT3c2T2lZNnpCa2NIV2Na?=
 =?utf-8?B?b1g5ckp6WEh6a3FhRnRXUnVwUEtrT2JSK0R2REZNdmU1Q0pzR2xQUE5Ib2da?=
 =?utf-8?B?TzZQQWVMVFI1YUtPd2ZlYmprSS9YdmhiTXByOU1UQU5ydlpjTVozWGZ1dmdo?=
 =?utf-8?B?b3EwcTdKUTduNm81YWo0REYvR3NhMDY0bEgzTVhMV0V3bVFNSWNOV1piYjR0?=
 =?utf-8?B?REpRaTR3b1F4N25ObEZtNzhEMHlyTFF3dmFVWkR2NlhlcDFRMGdEUElRNlNu?=
 =?utf-8?B?OU1nMytSVFI0aWNOSHNCT3pHUE4rMTVtQzZiRTJsK09kTVlRSUU0aDBYek0y?=
 =?utf-8?B?M3R0UFR1UlI1QzR4ZHNDYTMyR3dCUmFpZVFJWGpmVUhZY2hCWVY1VVNhQ01s?=
 =?utf-8?B?cmd4WlZKNTlkQlRFODBKWWlTeEx5Um5oUGkreWpLeTVWSm5tSTdPNi94SjZ5?=
 =?utf-8?B?bVpsdDY2NjRjV1NvU3ErTHNvdE9BaGJYblh3MWlEVURDd1lRenlZeEVBYkhW?=
 =?utf-8?B?ZFUvYzhNOHV6aE1vUHZBOVVQb1h6QWx4WmkxRDI4dmkyZVVDU0JSajBRcmxE?=
 =?utf-8?B?bkwxWWlSQXN5M3k4UHFKaVQwdHJQLzIxVGxJQzZuSGtBeGVRZUVDSko3S3Ur?=
 =?utf-8?B?ZFlXd01GUml5d3Zsa2RIRng2eURwNnU4NHRpQTYxYWNYdWVvRWFOZElQMWNB?=
 =?utf-8?B?YUoxcUduazM4YUtkVk1hQ0w2Sk1JR2NQaFVDNFVxYWRiVWNTOGdRTjFMcWI2?=
 =?utf-8?B?R01XVldCZENlZCs5bGJ3akEwaEFkTFNIdi9sak5jaVJUd3AraTNrekludWxB?=
 =?utf-8?B?dXJEUXVRYWZMeFJvSnkvcVRxRzlxeHRPOUlkaThBZzcxcDgyQm1sTzlMdkFI?=
 =?utf-8?B?b3Q3Y1NZVzkxNkhCK1BFb292VTh5Wm1PZVp2YTVsTXppOU5TSlpJbFF6a2lW?=
 =?utf-8?B?djFEZDNPUDduUk5zT2E4WE1LSGpKZWMreExEdXFEOWNlYmxzVHFhd1pCQ1JF?=
 =?utf-8?B?Rm9jOEdQWkZlTnJtNUVLR1BKUHpKNzNlbUF6QmNGK2NCRkZ5NVF2Ymg4T0FU?=
 =?utf-8?B?bHkzWnhaM0lXazhnWGQ5WkdsMWNRVWlGZ2k3Y25NRzdxZ3g4M3kxRG5PZ3BG?=
 =?utf-8?B?RkthU29OU0VLQStjbC91cEFOWkR1c1dqSnlOL1pSdm9WKzdwWThoS0lOK0ti?=
 =?utf-8?B?bE5rYm9EYzJoR3JrUnd3THF3SlVqandkdFd0QkVSYVdvSEhEVERkUEY5bHhG?=
 =?utf-8?B?b09LR2tTc21QelVJcG1kWmkrcHRheUk5MC9zaTB3cEpiL3V6QVNrYi83THpk?=
 =?utf-8?B?d3dFZnU5K1d5NUdOL09oOVVmU21FMFg1NlZxemxxaU1OL0tzM1grNlZVOW9C?=
 =?utf-8?B?Skp3Q1IwUllpSnJDY1ZnUkVZNWVxR0dXS1pMVjJQK24xZHU5WnhlelJTdnZ5?=
 =?utf-8?B?RFhiejl1bFY3S2VCUXNLbUY1UFFIaG9ZMnk0ZmY1OEV4aGRpQ2o3VklGUDlX?=
 =?utf-8?B?aDhSa2pMUUhOSFViSUFhNXFhdW5tYUVJUng2VDBpemF2eU9yNjBWNWxoWlk0?=
 =?utf-8?B?d3kyVjhLYWtIUmk5Q0pYOVAyZENxNUx4Ui95UUlhU0YvT2d2bDIwV3d4SVFr?=
 =?utf-8?B?a25HZWxXb3FwMXFwZHNIWHBSNTNFSDNMZWdwWkJvSHZOSmNTb2hVM2hTbS9s?=
 =?utf-8?B?ajZ2SVI4OExzT2VFSDBzbDZHcXV3RFdyYUdaV0lXWkN3YXlRb1pDTFhhWUR2?=
 =?utf-8?B?Y2tlOHEvSWUyRnlrbVJDN1QwcHo5eW10Z0lZTk0xQXk3STlranlpdlQ1NW9t?=
 =?utf-8?B?Q3BTSVhGS3M4TmxnZlRtZFF4K0VHaWpqa09iSUVFZHRTYkgydGM0cW1ldzRU?=
 =?utf-8?B?cXh1VUNMY3Fta3lIR2R4Q2swRllBb0tTbXk5QndCNFpRUEZvcEsyczVDYXIy?=
 =?utf-8?B?MXp3YVpvc1Q1a2ptUmZYR3Z4dmhYSnQzd1M2anFTRk1wbjlDTFBBeXhDUVFh?=
 =?utf-8?B?c0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?ZHhFY3pCZlVscEh1NmJVV0VPS2hKYVZOS09FUVpWRzlQVWhTVjJiMWo0WUp3?=
 =?utf-8?B?SUczczlHWVBBektScTI2OTJoSGtzTVJyVVJWSkV0MXdwd0pZYXpxUlNVMUJO?=
 =?utf-8?B?QzYrZHRFVmhwWGxSVis3QU9VL2NYZUhHWkl2bEQ4ZVI4K3RaN2dtNUQ0STdw?=
 =?utf-8?B?K2dINEJTbTNwL3Y0a29rSG9BOW9VcVVZUGpGU0ovejhScnZQbWpjaCtLVjVo?=
 =?utf-8?B?QkJrNFA5MktQOW1aUHliNUtmd045RXE4L2Q1OFArSWdZYkIxYUREYzlIQ2dQ?=
 =?utf-8?B?SDVhYktZWlMzWmp0L01DWnVtbW50bWU0WGdFcnlEcHFaVHNqVjhrc3lkVTZJ?=
 =?utf-8?B?dk94MWo0VjA1d2ptOVJrK2U3dm1KMXZESGNtSU9EZWkra2s3TDIrVG80QlNX?=
 =?utf-8?B?d3owQThkL2xWdG9jSENOMGhCSldNbnhnOG0rUnVha2l4ZGtWcVBDZGQzOUJq?=
 =?utf-8?B?R3QxNjExRDdnN0dJcncyYk5MdU8zT1ZZT25yY1dBTU1qc2xLN1psemx6ZStI?=
 =?utf-8?B?OVZWR0RXMWIrUGRydU96aWpxT25aNG9SZXcrYVRNL0lzQ2VWZ080NWFDeFpH?=
 =?utf-8?B?dXF2TER1MlVRQXd6L0xKbGlZQStXa01iaFY1dGJKYlhRZ1dpbGlRcVEvZm1O?=
 =?utf-8?B?TVFqRWVqeWxmN1VnbXhqREhIeGkzVHYwUlVaazQ4YVVHWStXbnFYTnI2TlZF?=
 =?utf-8?B?b2ZVeENvTnZqd2hrVmJvZU1PZ3pFSGF6YzZSZVRNdERJK1AyM28zSE1aY0dn?=
 =?utf-8?B?M0ZHeHJwRDhWUGVXVVJzd2dDQVI3VE0rc01KTUlWZ2k5SzRDY0p5d0xicFRG?=
 =?utf-8?B?MnBqdEkzNkRndG8zbG1aZEJRSktOd2VROENuQ0JFeXU3cGJvc04yVTBuVE1o?=
 =?utf-8?B?ejlyQ1lNRytwNEhsSlZBRXlhWXRjL1ZMbGRQQkFBT1lMa09vZitNc3YwVzZa?=
 =?utf-8?B?SDg3VHJzeWRzUkR1UDZpS0w1RS9KL2U3SDlBUlhQK3lXM0ZlaElSa1V6ZlRs?=
 =?utf-8?B?RWE2cWZzcWdQN2dvdksyRFBGWUMrVG5OdTh1SkUzRGtTMzJsdFZMRkpPZDBu?=
 =?utf-8?B?SkpJd2hpcTZnaW5tSXRqSDhIQ3VNTEIrNUFtcGRlZ1dSWk41citoM1RibWtX?=
 =?utf-8?B?cUY2RktCVXZjNURPQjhiMEVTZGZ0c2lMdDNoRGM1VWxqWnM2cTJsdkowUWRK?=
 =?utf-8?B?L1BpbHpnTXJkdmJ0VnV0bEFyWmNGbXR6WnJObDdISXR5bVNvcXd2elhzUERR?=
 =?utf-8?B?aGFjZG4wUjlwU21yRXlQMnZiVW1NZEtibWVmbDkzNEpXa2p4cCtmVFMxRGtp?=
 =?utf-8?B?cHJoZElKRmdYeExWb0ZTYlNlcFE2R0djMmNra0hHSk0vZWdscEVoRmZpeG05?=
 =?utf-8?B?ZTNkWHRiYnVUNVE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 87f194db-e38a-4d85-e00d-08db25614069
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6368.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 14:26:22.9299
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MSTQFllw7C19eOtuulJrUAtQ9vtag3muH/BQBXeVlqnWeB+s9OOSP/MfGf0xJVN9mjaOlrOCqpjcg6/zyedMFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5347

On Sun, Mar 12, 2023 at 08:01:57PM +0800, Huang Rui wrote:
> From: Chen Jiqian <Jiqian.Chen@amd.com>
> 
> When hypervisor get an interrupt, it needs interrupt's
> gsi number instead of irq number. Gsi number is unique
> in xen, but irq number is only unique in one domain.
> So, we need to record the relationship between irq and
> gsi when dom0 initialized pci devices, and provide syscall
> IOCTL_PRIVCMD_GSI_FROM_IRQ to translate irq to gsi. So
> that, we can map pirq successfully in hypervisor side.

GSI is not only unique in Xen, it's an ACPI provided value that's
unique in the platform.  The text above make it look like GSI is some
kind of internal Xen reference to an interrupt, but it's not.

How does a PV domain deal with this? I would assume there Linux will
also end up with IRQ != GSI, and hence will need some kind of
translation?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 14:26:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 14:26:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510082.787128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcS5V-0004oS-J2; Wed, 15 Mar 2023 14:26:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510082.787128; Wed, 15 Mar 2023 14:26: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 1pcS5V-0004oJ-Fv; Wed, 15 Mar 2023 14:26:45 +0000
Received: by outflank-mailman (input) for mailman id 510082;
 Wed, 15 Mar 2023 14:26: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=unbF=7H=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pcS5T-0004WZ-RF
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 14:26:44 +0000
Received: from sonic314-19.consmr.mail.gq1.yahoo.com
 (sonic314-19.consmr.mail.gq1.yahoo.com [98.137.69.82])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 66a11271-c33d-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 15:26:41 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic314.consmr.mail.gq1.yahoo.com with HTTP; Wed, 15 Mar 2023 14:26:39 +0000
Received: by hermes--production-bf1-777648578f-gg2qh (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 60044a03c62ff9d9db8c181d26f4f55f; 
 Wed, 15 Mar 2023 14: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: 66a11271-c33d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678890399; bh=rfRiZAw2pRW0nOWkSbfSm2BhVaykTTOOFvFPq5zktwY=; h=From:To:Cc:Subject:Date:References:From:Subject:Reply-To; b=q71rQ/cXFgxo8RHPpZcjb1grtVZq/BOTDsh/mxtjlopZ6HV6M0HoKRVHq6Mydt+lPvBDcPDyLr7sffW/wwkX13EpyHHsLbmVV7j4u1+bD4qgnljxvDIQAyAdbBxg26M4S9xfU+qCyO1t2/IXlDGRB4yjdHVAes5+79Ct4GOgfoTqxoabaXD66WxVQp7sVm8cVp0Tf3y8vBAayZYELmqbWRR/3NDVltC82T8a72s7xioT9f9Xdg28kYJoG68Zuuq2jRYZNckjN7rhHmAoiL6JBnat9W1p3J9lfmLop9AU+rwqk39UKFOJ2XbU+pSna5WtjtSwmHnI0jAG/yE02iG8GQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678890399; bh=vmQ63dyO6yV8ovfwCz9Hvkrh1YckA6rkFM3OUKx63tS=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=tLxyumA7OgEUF4nm6mvPIlyiOL9R9dtmZTUuHCxjX2QfqXgXdNavGYHuTb8+UccSYBS5uJBLRLgQooatmoMso7kM8D3NY8WBRSv/PkWn3dp3oOj8qxOkD73WIzzt5kzejqSIqOHd+Twp+yoOboiGgczf46XnliL5XrLmrb0oq8KflWBhOgMonnKzEy8npLvLxvgDHwWN3GnCQY4uBzibJBfhY1JZJ4awwhRtw96nukGcfP2jZNYPLaWkwO1wJvBaPF/BzCghRA55OMbBLhSBWaL1fh3H2IJaqWgoMyGMOaZ+NbVEgyDMjpPGxmjUc+NOXn8ec9FucaMP6qknXeu7gA==
X-YMail-OSG: H9HTV68VM1mWHDuOva5.E_PiS7OhkBk8HFQjAyt2FqF_JpGkKpKxgBHrK8wA3gE
 NDeLbpyEpHdesuIjcICv7yiaC0IXnfmm0K9Fa6J380VJyWW95OxgEXOqbp4rkcdl9eyxS5uc4IbI
 wN4qAnvAleAAQ4eU_TeFr_AtbOW2deHZcU62sostAm7ygLsi8USWeMnRcT8lehF.g.YWAHheNY60
 7fDCqV99v4BHhr0AoFH7Tab9swPj8qs4ApLkg07I4Mhvfkb1mLmsniMp6_apBk1SCALP.RCOytVC
 9sm_pj7B6z86nfFzdOsoEZX_5kdqo5c3cNtndSWZRtTA_.YXQH8LZ7Vs365zQTKZxZaElZN0XJOF
 bgnVlCY3tyahVrx5uWRkWZopkpWgZvJ6rC6HhJTtgc_G7RCj5GsKamXYis0GU824ll2DjJo8_Dip
 UJ9DjM739Jscu1sUJ4QjMYMiuWn4Ww7BLbIL_xwJL0vcxzPN8yVd6Y8Wn0lS6pg5EwAVCaUz4k6F
 2ve.0SUaOl_MxN4_dFeLI6sFBd3n5Bc8u015wpy0dXm8CcUQJSz_9tiWw73xiBUE6dNP91K.yZ2X
 OqPivY2XNhPP1ZWX5UgeeEHvz7AQOmeJ_7ay_LovtTKgMZwMv_kAnCNb.Su0_l0w6dPFIwVmDSgt
 yVbYdROTYOsQc._hrVkjkt8gAbD5rH.KXly5Tw1LTX8kXyXmxsVMBRSiftbJy1L6u1wjX._g1xlR
 WQUK7VkKSrqzo2NnbSZKlSBtQf_SibYHFUVh0g7djZngH3NEHIYi9XOdgSiD6OLircoScBR11VZh
 ywrSO1QddLgyYhhR1pugUquIOFyuMWhbMGBmdWmL47nuh.AbOYDgg1fNXSMP8.ugkiMP1RsOumv5
 kxKh277ME1ypp3.pFGLBfrK_RAU6bulOzq3B24zzeA5s_eRgkPICf49PiNOulrfk1QhjWjGPZlpY
 13cWsVeHXvAGhVzGgRMUHW3fwCOukU5t9W322QYc7I93UnXMoys0FS9_VhN2E2Vnv.sbHyOymZNW
 ulVGvXdmUFh50EKyjet3fL47l.99V3d3Qd3qKCUlHkCvDYfp5LQEzzN_nEAHgXJQR80eGPw1Wh_C
 JmOsJRwl42WdS22lx_b4nEOYzuTrqns6qSULa9GLPg1H8W8B9c67L8DAHZHY3mEAAnoo53AelkKy
 Mdocv5aHxjjFtpWw5.IKpKP5B0ZWZ.c_EPAdL9NzjlwsDghaU5blw6ES3tgyQzyMa5A4BJRw_6xv
 yB0YGl1ELtvttAFJXCAYTlAjrEncFc6MZj0JAlmvkLXwKInafgpSbJaqqzcCLZquwhFYDlAewuUc
 Sn5Pzjusoyy0YeXbCc3NhHZQCLQARy.k9B97XQ_O_jHMhog0z8IH8afNEIoxvjFchkgpm4jO_Tlt
 Iyg0njsHtoD08n.VRTg0LRNUtIqR54j21BvjbaA5aJARZoA.OyN08Yp4P5R_jC1yZdW7poPHx5By
 RV5eSI9yU.HionhV6cP6.3B2v0hE3uY2QlGM.wQb473BqeCLYQkXowotu6OLuNI.LEMy.WyKQwHp
 mrlyxzb44ma3sOtRQc7N3lzC9vAy.WqG.TSiB7a1mcWFnk5LLOIVyF6c1ZagZRWBMA0JPg5Ywm2u
 2RGuRTAZ3fd2NAQ_iqT1NnRza6yz51mKR1i1dJHOdhkwpshKnO2h52gNMmSAPjAt8ZbDqC_a9G7j
 HcZ0_4joEL5TbuYkKWONv5AfkubPlx0T2O_MsYBEMnKZ0d9lPwGiRx0Qi8NmL6117_2mUOUyT6pj
 kEdZE5keU0enrx00bxq3qF5AizXF6IH44_WpiC8anqCNEFILL9V19gUZ__jQ1WrLswAS_5e9AzvL
 wNZbxFZ89e8NvfSSfgwf8wvsWv.Q0fYvsOXo9Fd5t5Orl17nsBn0u3r3ED0ilsAtMp2WWZyv2Vv2
 a.0Vsphfg1A4WHfrfppE7qZU3xHjCiG4XwgAFCFRotkHZtcG4nnQ0LzVx1tXPJ5eO_XfkcqVfLaA
 MXE6.xH5NJ0uVSmG0mEjloRTLiLGIjIdBfncmqMm1BM45xVJ62BQyyO1oAXqF0XbVKXqOWTpdduN
 zYrOV3BQhJavSgtGaWnugoiABW9LwxyDr2e9UUq50XyspsEoxhrLF2B8Q.EbjRiK4LaiKfPBqyCp
 P8eyqKv1fh75.cwl7.UUwKcxveQoZZQDLQGbPlW8bsmdGXT3D0Qh4dH5F4QQGfPwvaXcllxFwETW
 ybXPG
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 2f7900fe-8c1b-4398-9021-e97f795513b0
From: Chuck Zmudzinski <brchuckz@aol.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 0/2] pci: slot_reserved_mask improvements
Date: Wed, 15 Mar 2023 10:26:18 -0400
Message-Id: <cover.1678888385.git.brchuckz@aol.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
References: <cover.1678888385.git.brchuckz.ref@aol.com>
Content-Length: 2197

This patch series consists of two patches. The first provides accessor
functions in pci.h to avoid direct access of slot_reserved_mask
according to the comment at the top of include/hw/pci/pci_bus.h. No
functional change is intended with this patch.

The second patch replaces slot_reserved_mask with two new masks,
slot_reserved_auto_mask and slot_reserved_manual_mask so the current
behavior of reserving slot 2 for the Intel IGD for the xenfv machine
will be ignored if an administrator manually configures a device to use
the reserved slot.

The current behavior of always reserving slots in the sun4u machine is
preserved by this patch series; the patch series only changes how
slot_reserved_mask works in the xenfv machine. Although the patch
series can affect xenfv machines configured for igd-passthru if an
administrator assigns some of the pci slot addresses manually, it
does not affect the libxl default configuration for igd-passthru because
libxl uses automatic slot assignment by default.

Testing:
   - Tested xenfv/igd with both manual and auto slot allocation - behaves as expected
   - Verified that qemu-system-sparc64 still compiles with the patches to sun4u.c
   - xen4u machine not tested -- Mark, can you do this?

Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/

Chuck Zmudzinski (2):
  pci: avoid accessing slot_reserved_mask directly outside of pci.c
  pci: introduce slot_reserved_auto_mask and slot_reserved_manual_mask

Changelog

v4: I forgot to check the patches in v3 for style corrections (sorry about
    that), and the second patch had three lines that were too long. Other
    than correcting the style problems, no changes since v3.

v3: Re-work second patch in response to comments/discussion of v2

v2: Add first patch and cover letter to make this a 2-patch series
    Make changes to the second patch (see second patch for changelog)

 hw/pci/pci.c             | 33 ++++++++++++++++++++++++++++-----
 hw/sparc64/sun4u.c       |  7 +++----
 hw/xen/xen_pt.c          |  8 ++++----
 include/hw/pci/pci.h     |  3 +++
 include/hw/pci/pci_bus.h |  3 ++-
 5 files changed, 40 insertions(+), 14 deletions(-)

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 14:26:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 14:26:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510083.787138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcS5X-00054s-RA; Wed, 15 Mar 2023 14:26:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510083.787138; Wed, 15 Mar 2023 14: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 1pcS5X-00054f-N9; Wed, 15 Mar 2023 14:26:47 +0000
Received: by outflank-mailman (input) for mailman id 510083;
 Wed, 15 Mar 2023 14:26: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=unbF=7H=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pcS5V-0004WZ-Pf
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 14:26:45 +0000
Received: from sonic304-24.consmr.mail.gq1.yahoo.com
 (sonic304-24.consmr.mail.gq1.yahoo.com [98.137.68.205])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 66e99460-c33d-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 15:26:43 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic304.consmr.mail.gq1.yahoo.com with HTTP; Wed, 15 Mar 2023 14:26:39 +0000
Received: by hermes--production-bf1-777648578f-gg2qh (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 60044a03c62ff9d9db8c181d26f4f55f; 
 Wed, 15 Mar 2023 14:26: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: 66e99460-c33d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678890399; bh=fIhIn9uQIrD1yl4JUmBOZpSdzRAzN+PjSPUPPg3S4P4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=IFaS+TUJBO4a9swCw7t296GVQal0IRousVosgyYjyEnYvYC9n6E8Vx9doqQfty+mZgsapuQKf1ejCVeQYfBmlzstrO0iznJynX7HhNwItEJwLBGcrQ5ac4hpl53dv6YCewhrGegclWkccZmsIPSfa7hSP+FM7kbNejpmrzxBKUYNL6aGUoT/hmDVMR4i+rte+BswHWs+Uy5GpTKn77AUkuqZzehAhoHLy6RH3bIMZ/Z+Zqxgzjunz9uAtEfpVopttdm8ki4VoD8Js8S2PX2L9UsYRHlM9qsCgnh9/gL4x9RMLX6FvBYwTOJsEZdsEQ1w7XX6shF2Emx+dMGScQUjpg==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678890399; bh=n6stniTtUYkGL8VGERtQx6sX0mKs1g7kvoBUxxiIKGc=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=hnoQ+7baGI24XWnf1FHrnxYeRspBa9Z40+BVa95q3Fum7PowAAFfScrY1EKGoaC0euh7IqqwkaO/E91V5+33VHWHK/kVNCWP9nWwooK4j7eZ8qBZ/d0T3C6ieqLmNnfFwlYG3CVLN8Sbq5oSXzv1X6yxb7w/chPL3WSQDoBHlY8A5PJzrixKDYvZe9JxGoarWVx8Mhr/e0i4Uql/Vm8RkY6snS9kLH749aF1Yq3HPnrM1IkZ+nxEA4xhgADAyBSW4HjNmAbIL55lKzJBwoSNCKaLMrp+xcqizB62Eg64SzV+0fyNwuNYs9bc6RnaECd8PYIF0V7nxEDzwmAULKol/g==
X-YMail-OSG: VFrfZgsVM1mlYTeVv2MNOgIQsJ5hQ2HZyDFFVL6rZfqaObiEszmiCdaaP.5b9Y3
 0eEg1ve.CH4YUS3BSFc_JoTXGZfkTogL.0h.OE_cydmeXY9PXyBKUxuW4AwDbk5HxZwrPpMjazIb
 m5cB_NSfKdrOXpEt_kppD3ErndiSlTjXpwNSrw_TIyI0Nc9FXneaQk8nBNEpZClbtl3IrGGbZE0Y
 __6xEO7Os5CR6wdZjB.HuUuVmhUKkM02GSqb6PGMLZU3twysiORiNQdet4n_Fizh0Ef229sG6fIT
 _MpDX1d5jhQ3B2dNFL4KnPWtRklbQlcgdSMQiVU5BCRo6yGlfbwsVHyf8YtVWmMmozy1NzDf3nuS
 4eExA9NZNDFNk3sZdRxscTR0fLpWdP80F2wkcUWePsGWWZL2r_tO34ZAYTq.gI14DX8UHmsqbL01
 tTQK54M4sjRU4oWNI1SzCUcr2KHcLdE4JWRLA.1eQrVBFRINopaZp4zO37XNdksWV3TdRS1sX6GI
 jKoRrFp5Z9LvP84yxiN2cU0Zk.3D8Vc3.SnRDfCeS9IaoVznuqQALQTkuU1CWwH78WGNAFMDXzuT
 3RMUGLMC96y3epjwTP2Bi.ZPGIsRyS8GU9Ny67Z5Gm.fAr5a5m8gPNhdPEcC0x_IjlKat1l3hPey
 JInLGsyo0NPG_uSDJm0WP3itaBTEf1HeDE5VDptm8r9NJZKimr0g3vikp3E7o2O8gwh7bFEApHxE
 D48nZz_AKkprp7siaRSTCkdO_ApsRzdSEPR9ARNEQ_OZIQU8Bo90fTPhHirEHS8QWjSoYDsMad9Z
 7mU9GX1HriV2AmURGXcKTYtWQ6a_y2ol2lYOwCMM4WIRA6D1M.kzEAg.vKbMKG387SuBpdbSlGlU
 RXFwAslJlV0ZrSo8WFRnQeX8wsTW5owEtkwYi22tj_FS75ssmFiGDeksOwPUkNqi4_hdOyuhXVbh
 K0dqIHH6Gal2q8NhVj.PaXGhKqtjnnJjwNINVwoeq7AfRzYdMLvOxGCISzhCgp2x5dUPN18sqmkY
 b4sI2TJjGxbmUZ9pI_rbPEe_JAeb8x9ScPxpVcmykXehiiqX.FU92aQrL7oXHqiCjLr4Er26sruU
 5mIpueeSUqQk7ePnSpJj.qUpsQVH2s0VTs2uWDRk6JyYSCnvOcRB2EXnxnfifca0pL6o0EY9slBW
 AmQgK9zvThReEPgFzgLPtvvweIg5Hw_RRm4C_pyqEc_vf64o2WqPCgpjczQY_MgUhy5USzoggREX
 OPdwbxKP1q5IbVDPtEMBghk8Os9FjY_DmK2FSKVRQExfTTfqE_1mZrSSC_cMfWHDtxbRgWnkmSNc
 oW6x5hZeLd7lehMqqht8XHDqAy269QpD_SH1wg_yiRTr2THmHmvTOrRsX9W1WQ_xTyjdtvfdcsVC
 uDVxi3ozfuW6EiKrDfkcSjCFzE8r0SH8PoaFTOJQ0NvZKsmDcNjuvjqmfykLO_DNDInBQj458PNk
 AEkjxQAk0BogF_HIpCFxTI.jyDyzbu3hDcb0mowHGGO2NRGyggfZNgNL72QDGq09K5PSHAOd8OzE
 AqS3i10EOcu.UFtX124oSD4nz7Wk2tinQgjNiBqhxj77RkJBL0NheqC9rWlxh_wr.3WXPtw7MLM7
 l7GhTW0np9v9qkaqfMjZryz9sxLqlCKnhEnGd_KsoICF1oQ7QqVjrfKzypTAMNcv.ALY.ZmlNZhU
 uttoDNmFQmwCTm.hYFSek6AihQMVCSjngQsBdQEj4gRucir4B8s1GtZmCKLViN25eYWD3aj3Kojy
 J2ULzPc2C5LCF6NLhbUKoRpw42YjSybygWBVMGExISIiop762YTPvXxU1iQgkjMDvzayKa6B23sw
 VR1XFbWGP77Pb.sBM6o8dhKiK2qNiv8AyP8lCbGii1xwNQlvf01MhWQH3RuKGuV.WOnLhX45_u_c
 UOA47tpfJfh3QjnX1Si0r8SXeaJsenbbUk7k_HZV3fUta1oUnu6Qr_7sNP7mu2rdvmVRAkGH8UWe
 2Z8jCIVUuu43Y0oEzVNnrT_GJRku7m.jQmzlazKymGSt0Z8sEBjA.xoprninPRO27KT1LF_LftPT
 QBUk9r83pD9z.m_1THxWlaAAIZuNRnJGWxhN32aDF6XsXb0fzyCVeThW00LDKY3AOhl0H.5hO.BR
 U7EjATWGKGbDvvnmc3jbgCIvchOWhnnZwnwFFaMaqUss23Mk2h_6QPPTLSsp2UcMVvxjlRur7ocC
 7uEw-
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 40f55634-955b-48f1-969e-f546ec2c1cbc
From: Chuck Zmudzinski <brchuckz@aol.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 1/2] pci: avoid accessing slot_reserved_mask directly outside of pci.c
Date: Wed, 15 Mar 2023 10:26:19 -0400
Message-Id: <b1b7f134883cbc83e455abbe5ee225c71aa0e8d0.1678888385.git.brchuckz@aol.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678888385.git.brchuckz@aol.com>
References: <cover.1678888385.git.brchuckz@aol.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Length: 5003

This patch provides accessor functions as replacements for direct
access to slot_reserved_mask according to the comment at the top
of include/hw/pci/pci_bus.h which advises that data structures for
PCIBus should not be directly accessed but instead be accessed using
accessor functions in pci.h.

Three accessor functions can conveniently replace all direct accesses
of slot_reserved_mask. With this patch, the new accessor functions are
used in hw/sparc64/sun4u.c and hw/xen/xen_pt.c and pci_bus.h is removed
from the included header files of the same two files.

No functional change intended.

Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
---
Changelog

v4: This patch is unchanged since v2.

v3: This patch is unchanged since v2.

v2: This is the first version of this patch, it did not exist in v1.


 hw/pci/pci.c         | 15 +++++++++++++++
 hw/sparc64/sun4u.c   |  7 +++----
 hw/xen/xen_pt.c      |  7 +++----
 include/hw/pci/pci.h |  3 +++
 4 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index def5000e7b..8a87ccc8b0 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -1116,6 +1116,21 @@ static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
     return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
 }
 
+uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus)
+{
+    return bus->slot_reserved_mask;
+}
+
+void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask)
+{
+    bus->slot_reserved_mask |= mask;
+}
+
+void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask)
+{
+    bus->slot_reserved_mask &= ~mask;
+}
+
 /* -1 for devfn means auto assign */
 static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
                                          const char *name, int devfn,
diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index a25e951f9d..eae7589462 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -31,7 +31,6 @@
 #include "hw/irq.h"
 #include "hw/pci/pci.h"
 #include "hw/pci/pci_bridge.h"
-#include "hw/pci/pci_bus.h"
 #include "hw/pci/pci_host.h"
 #include "hw/qdev-properties.h"
 #include "hw/pci-host/sabre.h"
@@ -608,9 +607,9 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
     /* Only in-built Simba APBs can exist on the root bus, slot 0 on busA is
        reserved (leaving no slots free after on-board devices) however slots
        0-3 are free on busB */
-    pci_bus->slot_reserved_mask = 0xfffffffc;
-    pci_busA->slot_reserved_mask = 0xfffffff1;
-    pci_busB->slot_reserved_mask = 0xfffffff0;
+    pci_bus_set_slot_reserved_mask(pci_bus, 0xfffffffc);
+    pci_bus_set_slot_reserved_mask(pci_busA, 0xfffffff1);
+    pci_bus_set_slot_reserved_mask(pci_busB, 0xfffffff0);
 
     ebus = pci_new_multifunction(PCI_DEVFN(1, 0), true, TYPE_EBUS);
     qdev_prop_set_uint64(DEVICE(ebus), "console-serial-base",
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index 2d33d178ad..a540149639 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -57,7 +57,6 @@
 #include <sys/ioctl.h>
 
 #include "hw/pci/pci.h"
-#include "hw/pci/pci_bus.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
 #include "xen_pt.h"
@@ -951,7 +950,7 @@ void xen_igd_reserve_slot(PCIBus *pci_bus)
     }
 
     XEN_PT_LOG(0, "Reserving PCI slot 2 for IGD\n");
-    pci_bus->slot_reserved_mask |= XEN_PCI_IGD_SLOT_MASK;
+    pci_bus_set_slot_reserved_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
 }
 
 static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
@@ -971,7 +970,7 @@ static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
         return;
     }
 
-    if (!(pci_bus->slot_reserved_mask & XEN_PCI_IGD_SLOT_MASK)) {
+    if (!(pci_bus_get_slot_reserved_mask(pci_bus) & XEN_PCI_IGD_SLOT_MASK)) {
         xpdc->pci_qdev_realize(qdev, errp);
         return;
     }
@@ -982,7 +981,7 @@ static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
         s->real_device.dev == XEN_PCI_IGD_DEV &&
         s->real_device.func == XEN_PCI_IGD_FN &&
         s->real_device.vendor_id == PCI_VENDOR_ID_INTEL) {
-        pci_bus->slot_reserved_mask &= ~XEN_PCI_IGD_SLOT_MASK;
+        pci_bus_clear_slot_reserved_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
         XEN_PT_LOG(pci_dev, "Intel IGD found, using slot 2\n");
     }
     xpdc->pci_qdev_realize(qdev, errp);
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index d5a40cd058..935b4b91b4 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -287,6 +287,9 @@ void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
 void pci_bus_map_irqs(PCIBus *bus, pci_map_irq_fn map_irq);
 void pci_bus_irqs_cleanup(PCIBus *bus);
 int pci_bus_get_irq_level(PCIBus *bus, int irq_num);
+uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus);
+void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask);
+void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask);
 /* 0 <= pin <= 3 0 = INTA, 1 = INTB, 2 = INTC, 3 = INTD */
 static inline int pci_swizzle(int slot, int pin)
 {
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 14:26:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 14:26:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510084.787148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcS5a-0005MO-2j; Wed, 15 Mar 2023 14:26:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510084.787148; Wed, 15 Mar 2023 14: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 1pcS5Z-0005MF-VM; Wed, 15 Mar 2023 14:26:49 +0000
Received: by outflank-mailman (input) for mailman id 510084;
 Wed, 15 Mar 2023 14: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=unbF=7H=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1pcS5Y-0004WZ-JU
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 14:26:48 +0000
Received: from sonic314-19.consmr.mail.gq1.yahoo.com
 (sonic314-19.consmr.mail.gq1.yahoo.com [98.137.69.82])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6969c0bd-c33d-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 15:26:46 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic314.consmr.mail.gq1.yahoo.com with HTTP; Wed, 15 Mar 2023 14:26:44 +0000
Received: by hermes--production-bf1-777648578f-gg2qh (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 60044a03c62ff9d9db8c181d26f4f55f; 
 Wed, 15 Mar 2023 14: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: 6969c0bd-c33d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1678890404; bh=Ca+KKFwJ0KdgZWsUXX/B0MDs5o4euAP6c75jaBfjDug=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=fPJoGa8rwvuRLtguFIDgH52v2n3xQVZyLN1+jEBNe96PlRJ7Ts5FJrDimJvpMrkAeCusnpEwP4YE4svXTAkvkPs+C3iCALBfE4QZFzy40YTxhqkMiYtgy/VHY6V+rukmMuPdwvl3IbChMIdGZFFXf8AFLkn+ZLgBhH134cBksd2U0iXUw+Er44JUAHsT0ZzTIfAUyEkFWu+1S2j4K0CF8e9V03gasoi5f0qKb2RbpArL3JCEgqbmEwF0lulzmQZKOd+saGOI8c/KaeH1RJ39on4KYF+LbsOI56Tauca6H/e5WAmzF6s+OWIY8SFNjSCCEDSuKNTLzo5kT4kR6WzxVQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1678890404; bh=/gC+Bih04/ukPqCG4N79CLQAsu8eUfDR2HTQLVkxP5j=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=KtCY/TEii8vRgNj6VKVc4DMq+/FqR6gpEF9OPNq8bBo00zcnSQtXP0W5fqEsEOmmse+kZmwxZZ18HYeiZ8Hp6h5cTjU1gp9s+ED5Z1N2EDeJPGkn2fHkOV60QivOG03XykoqxRKDFjNTLDD5f0KKwAGUT7+JLvrniFO6yOF9487lRMf06O/mlUC5LX64c4idW3RtCVLpFfVoILrA9kQi2KEomBcoMOn2mKUtO8/S+pEMRUR7WzXwG59sF+evubYPQtjRiXnGqpiJBx+X18gys8DsAFpWEVKZ5VEikH4iz+0XQgTbzSIIaJsLhfu44SSwNcRxjD0tqQrmnF9QhufGvQ==
X-YMail-OSG: av6waTEVM1mM7u3FHKOq7bvHfs1oIFwOve.U2Om83wqFoIOfOyKSqPdXIRjAEZ8
 mJHqh8JblRTRbu9GnrmU1PZ2uli.MYwkz7Su.F3lmNrlti1ABr520.A72uuD9pq4Kd.R1R5VRTOX
 8_IIzen3n7fy6tsM7QbUs9dqyJl089C753BJMPNo5S_xUEqTz..EE0ctmjMvPMCkED_1YisRQFSm
 usnVCU4R.7GkT4DjoWeokZYRDcysVeudlaPK7tjRUE0fV7bgs_2VuvCAnBlCJA0KFEhs9_JqC9NL
 u8AjJYX_dAfGC93jyh7nhrg3j6yNkR6f8S.0plEIPVWxz1QVQC5OUfhfknWVUABS6bZqsaXewcL3
 nFJ08_be9sKdzMP2Q6P5x80ucsYcl.kgNBYZAnlrWo1.8u2qWoQzJOvk9Yt85kEsdQ92eAhXd8cq
 .6mnbwwvwcoQucQydEUpv09jXqDwsKNV_GOm_XQq92BUi.N63XE1rPuX_ke3S3tX9agAmJH28HmC
 YVhGTiMhw06BE5cYX4er8Q77Bex2caPY9cI4Vjw0Vo2ae5QhY2LGt6x96mKJFpDSe3lyoJsldyRf
 aIBywhRlGYzFSS0dT5rJET1Xh5ykod5fkUs5KZX9HKHGMmcMxXj2Lq8gYSVNPDbUKxWEeNf7oNG1
 wcFNqW9QMhbAjhF64ZCCMU2m1iA3qrD4vZHCyt8zs2SYRME3UAdf9udvDrk4Tr..MQbQmiuKFtjo
 FQhFWF5R_HOMHahIeLxaNktwbNLbPhm0vbfrbQDY9ukV_C6YVvGIVrHZ.fB6k9jgVduCjcyI.iH.
 xhZeAWiI_mE7ARIBGMIficU0m3b1ov2_3t3L3tlxuB8gfgfpNHhXE1O4zpZGCqJu5Lv.McCfRVG2
 lu6uZTt2IlD0k9b5Pew8pwQN5Vu27T2Z7jE59JunXcClYu9GoGkPBhOh2zojRrfP_ysWz5Xwr2Vm
 GigXBi7gAr8JEM2ZBaI_4YX0Lbl3iZaLMBCGZqX.8m_a410YAWkeAM1f1bqxcHBloCGN3cziDj3r
 lvB6p0Lbu9QBwfLCBznS_wMM3DoH59.0NjCzn.LI7b8xG68ceu0i7Qj5jj.tSRKCpLVOWPNdtsb1
 x0KoA6Gz.KpZVt2dE2t0UnHQRJDuQslas8mBGwD4xWdVRvHdGug6DFmD26LvZBPMKBDShwDwGI4e
 MJiIyo.DdOeXrt7NT_dVYIVtjwZFoZTDMsTC9SCchkPNZxHoHm8S8zOjgf6MgGIsO8VbC.c7MPGl
 l8zd5h_0PGxUBYr4Lu.BPDisQEdQpVAaUS8WUpK8gr.zuGV68K7vDtpNz6V3d5t4bGellu7.CNve
 HN7gndbfnjE6uIMLAIXt1JrYaPc12eWF0XfiGK8cLDqPcPOCF41vHnjaItc935wLvfk63xX115a4
 1jcXk13N9iHd7Lx2I7jj.iJh3mBnlkAs5kURe5.GVXBt5otjUBV5JFAeqaYUU4HFrk4x6MvH92eu
 Mm52LQ35dGTb2E98VorpcVCgpkcxIJ3jpx_wHTpTkpKBhE6eOqZMDzXQDVmZhfJpswUHZykxe2iP
 MLOOjp0vohBw_WlYCrS6ekdD5QU0AC0WITj22e971cU7Et1mo_p3OGuEipUdMkq40n5M_vw1JSIq
 236bWq9cWgBhCE1K.N5p0K5HFo4FIGNJ9mSbRcVNja47jS1GCSRDLg2CUBdPnHwE4YRuhQIwWDwt
 d2EexOOC_30YO8e2vaZdND7obny1fz2uUlLmeIGNU8gxHM1xMDIfDvFjcxjEGZM_li8hdEI9.g_8
 mR14lkYdKWfT0gEvUGgcnH0dsefd08yDlQHL_0Xx7K8h3y9nRMM81QFtGIB8BnrX0hHSEL7EHhmL
 0CYVfWyvj0ishPUsqM8UqiT575xBVKVyBN41r5SKKbfdUNCarZIsDam1kbI0t2jnIyEBkP.K05hz
 xxQeCGvYVFi6gbJub3FGPPGR_Zp9iJn9OnB5nelC6ul1AUbfwqIi_M7k7SbnsZmYLOWJNw0baUml
 hYmZJgYj2whhzvU1_ZYL8oP9P8mqbG4.DeimnVbexBXPb3wyKNQ576A82RwFIANk0caR3vOHJWEJ
 YgYEBCJIB.tLb162LBX5lNisv.bnPXRBP9qeP701hDUpa8.2_j6IyIpAF5QIJ8zXe8WdY__bMoIK
 76gUdCHHoGhG1rvCrdl1b5Uqd2Px_7HddJ5kJEkr2cSAWhwUG.WgLDlp3kWeMcDuhPG3HLnweU1M
 iln37MWw-
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 747eaab4-cd4e-430a-955a-e1359176afc9
From: Chuck Zmudzinski <brchuckz@aol.com>
To: qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4 2/2] pci: introduce slot_reserved_auto_mask and slot_reserved_manual_mask
Date: Wed, 15 Mar 2023 10:26:20 -0400
Message-Id: <c35f865c9bec15ad9da65c97696a7cc5a2949d99.1678888385.git.brchuckz@aol.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678888385.git.brchuckz@aol.com>
References: <cover.1678888385.git.brchuckz@aol.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Length: 11461

Commit 4f67543bb8c5 ("xen/pt: reserve PCI slot 2 for Intel igd-passthru")
uses slot_reserved_mask to reserve slot 2 for the Intel igd for the
xenfv machine when the guest is configured for igd-passthru.

Prior to that commit, a single 32-bit mask was sufficient to meet the
needs of the only machine that used the 32-bit slot_reserved_mask, the
sun4u machine. However, the requirements of the xenfv machine with
igd-passthru is somewhat different from the requirements of the sun4u
machine.

First, the sun4u machine reserves slots in such a way that no device
can be assigned to a reserved slot, but the xenfv machine needs to
reserve a single slot that is reserved for a particular device, the
Intel igd. The necessary logic to ensure that the reserved slot is used
by the Intel igd was recently added by the aforementioned commit.

Second, it is useful to limit slot reservation in the case of the xenfv
machine with the Intel igd to devices configured for automatic slot
assignment so an administrator can assign a device to the reserved slot
by manually specifying the reserved slot address on the command line,
but the sun4u machine requires slot reservation for all devices, whether
or not the device is configured for automatic slot assignment or
configured manually by specifying a slot address on the command line. In
other words, for the sun4u machine, the required behavior is that an
attempt to assign a reserved slot to a device must always result in an
error, but it is useful to allow manual assignment of a reserved slot to
succeed for the xenfv machine with the Intel igd.

The necessary logic to implement the desired behavior of reserving one
or more slots only for the case of automatic slot allocation has not yet
been implemented, and that is the purpose of this patch.

The implementation is simple: the xenfv machine only sets
slot_reserved_auto_mask and the sun4u machine sets both
slot_reserved_manual_mask and slot_reserved_auto_mask. A single
"set" accessor function allows xenfv and sun4u machines to set the
value of the two masks appropriately for each use case.

Since the xenfv machine needs to implement additional logic to detect
the Intel igd and clear the bit in the mask to allow a particular device
to use the reserved slot, there is a need for a "get" and "clear" accessor
function for slot_reserved_auto_mask, but these accessor functions are
not needed for slot_reserved_manual_mask because the sun4u machine has
no need to get the value of the mask or clear bits in the mask.

Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
---
Changelog

v4: Style corrections, 3 lines in v3 were too long:

    1. In hw/pci/pci.c:

void pci_bus_set_slot_reserved_masks(PCIBus *bus, uint32_t auto_mask, uint32_t manual_mask)

is changed to

void pci_bus_set_slot_reserved_masks(PCIBus *bus, uint32_t auto_mask,
                                     uint32_t manual_mask)
...
    2. In hw/xen/xen_pt.c:

    if (!(pci_bus_get_slot_reserved_auto_mask(pci_bus) & XEN_PCI_IGD_SLOT_MASK)) {

is changed to

    if (!(pci_bus_get_slot_reserved_auto_mask(pci_bus) &
          XEN_PCI_IGD_SLOT_MASK)) {
...
    3. In include/hw/pci/pci.h:

void pci_bus_set_slot_reserved_masks(PCIBus *bus, uint32_t auto_mask, uint32_t manual_mask);

is changed to

void pci_bus_set_slot_reserved_masks(PCIBus *, uint32_t, uint32_t);

    No other changes since v3

v3: Change Subject of patch from
    "pci: allow slot_reserved_mask to be ignored with manual slot assignment" To
    "pci: introduce slot_reserved_auto_mask and slot_reserved_manual_mask"
    
    Substantially reword the commit message to clearly explain the reasons
    this patch is needed

    Apply changes in response to comments on v2:
       - slot_reserved_mask -> slot_reserved_auto_mask
       - remove enforce_slot_reserved_mask_manual
       - remove pci_bus_ignore_slot_reserved_mask_manual
       - add slot_reserved_manual_mask
       - pci_bus_devfn_reserved -> pci_bus_devfn_reserved_auto
       - change code in pci_bus_devfn_reserved_manual appropriately
       - pci_bus_set_slot_reserved_mask -> pci_bus_set_slot_reserved_masks
           - use renamed "set" function to set value of both masks for sun4u and xenfv cases
       - pci_bus_get_slot_reserved_mask -> pci_bus_get_slot_reserved_auto_mask
       - pci_bus_clear_slot_reserved_mask -> pci_bus_clear_slot_reserved_auto_mask

v2: Change Subject of patch from
    "pci: add enforce_slot_reserved_mask_manual property" To
    "pci: allow slot_reserved_mask to be ignored with manual slot assignment"

    Add pci_bus_ignore_slot_reserved_mask_manual function

    Call pci_bus_ignore_slot_reserved_mask_manual at appropriate place
    in hw/pci-host/i440fx.c

 hw/pci/pci.c             | 30 +++++++++++++++++++-----------
 hw/sparc64/sun4u.c       |  6 +++---
 hw/xen/xen_pt.c          |  7 ++++---
 include/hw/pci/pci.h     |  6 +++---
 include/hw/pci/pci_bus.h |  3 ++-
 5 files changed, 31 insertions(+), 21 deletions(-)

diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 8a87ccc8b0..606adda9da 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -500,7 +500,8 @@ static void pci_root_bus_internal_init(PCIBus *bus, DeviceState *parent,
 {
     assert(PCI_FUNC(devfn_min) == 0);
     bus->devfn_min = devfn_min;
-    bus->slot_reserved_mask = 0x0;
+    bus->slot_reserved_auto_mask = 0x0;
+    bus->slot_reserved_manual_mask = 0x0;
     bus->address_space_mem = address_space_mem;
     bus->address_space_io = address_space_io;
     bus->flags |= PCI_BUS_IS_ROOT;
@@ -1111,24 +1112,31 @@ static bool pci_bus_devfn_available(PCIBus *bus, int devfn)
     return !(bus->devices[devfn]);
 }
 
-static bool pci_bus_devfn_reserved(PCIBus *bus, int devfn)
+static bool pci_bus_devfn_reserved_auto(PCIBus *bus, int devfn)
 {
-    return bus->slot_reserved_mask & (1UL << PCI_SLOT(devfn));
+    return bus->slot_reserved_auto_mask & (1UL << PCI_SLOT(devfn));
 }
 
-uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus)
+static bool pci_bus_devfn_reserved_manual(PCIBus *bus, int devfn)
 {
-    return bus->slot_reserved_mask;
+    return bus->slot_reserved_manual_mask & (1UL << PCI_SLOT(devfn));
 }
 
-void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask)
+void pci_bus_set_slot_reserved_masks(PCIBus *bus, uint32_t auto_mask,
+                                     uint32_t manual_mask)
 {
-    bus->slot_reserved_mask |= mask;
+    bus->slot_reserved_auto_mask |= auto_mask;
+    bus->slot_reserved_manual_mask |= manual_mask;
 }
 
-void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask)
+void pci_bus_clear_slot_reserved_auto_mask(PCIBus *bus, uint32_t mask)
 {
-    bus->slot_reserved_mask &= ~mask;
+    bus->slot_reserved_auto_mask &= ~mask;
+}
+
+uint32_t pci_bus_get_slot_reserved_auto_mask(PCIBus *bus)
+{
+    return bus->slot_reserved_auto_mask;
 }
 
 /* -1 for devfn means auto assign */
@@ -1156,7 +1164,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
         for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices);
             devfn += PCI_FUNC_MAX) {
             if (pci_bus_devfn_available(bus, devfn) &&
-                   !pci_bus_devfn_reserved(bus, devfn)) {
+                   !pci_bus_devfn_reserved_auto(bus, devfn)) {
                 goto found;
             }
         }
@@ -1164,7 +1172,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev,
                    "or reserved", name);
         return NULL;
     found: ;
-    } else if (pci_bus_devfn_reserved(bus, devfn)) {
+    } else if (pci_bus_devfn_reserved_manual(bus, devfn)) {
         error_setg(errp, "PCI: slot %d function %d not available for %s,"
                    " reserved",
                    PCI_SLOT(devfn), PCI_FUNC(devfn), name);
diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index eae7589462..21ab12f6f7 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -607,9 +607,9 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
     /* Only in-built Simba APBs can exist on the root bus, slot 0 on busA is
        reserved (leaving no slots free after on-board devices) however slots
        0-3 are free on busB */
-    pci_bus_set_slot_reserved_mask(pci_bus, 0xfffffffc);
-    pci_bus_set_slot_reserved_mask(pci_busA, 0xfffffff1);
-    pci_bus_set_slot_reserved_mask(pci_busB, 0xfffffff0);
+    pci_bus_set_slot_reserved_masks(pci_bus, 0xfffffffc, 0xfffffffc);
+    pci_bus_set_slot_reserved_masks(pci_busA, 0xfffffff1, 0xfffffff1);
+    pci_bus_set_slot_reserved_masks(pci_busB, 0xfffffff0, 0xfffffff0);
 
     ebus = pci_new_multifunction(PCI_DEVFN(1, 0), true, TYPE_EBUS);
     qdev_prop_set_uint64(DEVICE(ebus), "console-serial-base",
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index a540149639..106972647d 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -950,7 +950,7 @@ void xen_igd_reserve_slot(PCIBus *pci_bus)
     }
 
     XEN_PT_LOG(0, "Reserving PCI slot 2 for IGD\n");
-    pci_bus_set_slot_reserved_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
+    pci_bus_set_slot_reserved_masks(pci_bus, XEN_PCI_IGD_SLOT_MASK, 0x0);
 }
 
 static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
@@ -970,7 +970,8 @@ static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
         return;
     }
 
-    if (!(pci_bus_get_slot_reserved_mask(pci_bus) & XEN_PCI_IGD_SLOT_MASK)) {
+    if (!(pci_bus_get_slot_reserved_auto_mask(pci_bus) &
+          XEN_PCI_IGD_SLOT_MASK)) {
         xpdc->pci_qdev_realize(qdev, errp);
         return;
     }
@@ -981,7 +982,7 @@ static void xen_igd_clear_slot(DeviceState *qdev, Error **errp)
         s->real_device.dev == XEN_PCI_IGD_DEV &&
         s->real_device.func == XEN_PCI_IGD_FN &&
         s->real_device.vendor_id == PCI_VENDOR_ID_INTEL) {
-        pci_bus_clear_slot_reserved_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
+        pci_bus_clear_slot_reserved_auto_mask(pci_bus, XEN_PCI_IGD_SLOT_MASK);
         XEN_PT_LOG(pci_dev, "Intel IGD found, using slot 2\n");
     }
     xpdc->pci_qdev_realize(qdev, errp);
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index 935b4b91b4..226007407c 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -287,9 +287,9 @@ void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
 void pci_bus_map_irqs(PCIBus *bus, pci_map_irq_fn map_irq);
 void pci_bus_irqs_cleanup(PCIBus *bus);
 int pci_bus_get_irq_level(PCIBus *bus, int irq_num);
-uint32_t pci_bus_get_slot_reserved_mask(PCIBus *bus);
-void pci_bus_set_slot_reserved_mask(PCIBus *bus, uint32_t mask);
-void pci_bus_clear_slot_reserved_mask(PCIBus *bus, uint32_t mask);
+uint32_t pci_bus_get_slot_reserved_auto_mask(PCIBus *bus);
+void pci_bus_set_slot_reserved_masks(PCIBus *, uint32_t, uint32_t);
+void pci_bus_clear_slot_reserved_auto_mask(PCIBus *bus, uint32_t mask);
 /* 0 <= pin <= 3 0 = INTA, 1 = INTB, 2 = INTC, 3 = INTD */
 static inline int pci_swizzle(int slot, int pin)
 {
diff --git a/include/hw/pci/pci_bus.h b/include/hw/pci/pci_bus.h
index 5653175957..3c2b3b8e32 100644
--- a/include/hw/pci/pci_bus.h
+++ b/include/hw/pci/pci_bus.h
@@ -36,7 +36,8 @@ struct PCIBus {
     PCIIOMMUFunc iommu_fn;
     void *iommu_opaque;
     uint8_t devfn_min;
-    uint32_t slot_reserved_mask;
+    uint32_t slot_reserved_auto_mask;
+    uint32_t slot_reserved_manual_mask;
     pci_set_irq_fn set_irq;
     pci_map_irq_fn map_irq;
     pci_route_irq_fn route_intx_to_irq;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 14:33:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 14:33:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510093.787158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcSBz-0007uh-T3; Wed, 15 Mar 2023 14:33:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510093.787158; Wed, 15 Mar 2023 14: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 1pcSBz-0007ua-QB; Wed, 15 Mar 2023 14:33:27 +0000
Received: by outflank-mailman (input) for mailman id 510093;
 Wed, 15 Mar 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=sm4b=7H=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pcSBy-0007uT-3j
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 14:33: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 561230dd-c33e-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 15:33:22 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 m18-20020a05600c3b1200b003ed2a3d635eso1377976wms.4
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 07:33:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 561230dd-c33e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678890801;
        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=mmjMcqgn3FYCAoeZ6lrz6/YNjPZkX/WYGTVNpDqi4Lk=;
        b=iSKZSIQs3Tq5rpB2BszMm/bxxA1MuUMNRuiDLfIO0FeUmM3n7s1xmw5TOj7r8P6eVP
         O7gSZ2xhSMMZ7nNA+yxZOYQlLbM/MwVAld4cPtfLTR8fbPdhcybN56cy5R82nFYldoHv
         pF/IDEQN0lzcXCo6pWKBGNNYLws/xzYSeiAhdkfrH6lJBNkcSW8IYuBMP5tqfwmsZr/Q
         PFdGlisrJRVYodMAtPz2gskDdtuobps3oWKugR+r88orUMhff/IabGPzhg99fscdEXXU
         pjxSIvFtcwwSWoumiAJcdT/SYAzkg8OkH5MWe4tTEm8O8byCSt6R4wBJh0IlCiv6XUf0
         9GLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678890801;
        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=mmjMcqgn3FYCAoeZ6lrz6/YNjPZkX/WYGTVNpDqi4Lk=;
        b=ugDdyZlD744bo+avyRYm0LBnSMf58SkAYCELmiuP5UJfmgCad2RPeMmGJC9DzYNrE3
         JX0+SSUhivzg2BqDyMq9DmqrBz/5QuT0qcpqsBY3tVshPgn0MK+f0vjIoBFvJde02kWd
         ucKxTBeEY9TxCIYnolbzT2Ne/W5/Hs2HkYeXFWx/r+ux7/l6r6hOoJeDpWBU8Y7J1s/G
         kZBl56MQz4A4tRhcmwwFiuCrDdOsvm+oirGlGKuO08+lr0tmGw6bUl/nFkkcXK9qr8C1
         Osvmlin4Dgm08Hl2lc3DRhKeFXTSE//DY5QRFMZQyAc1/Ce47OBe9tItDDu1dD6V0wWa
         3vaA==
X-Gm-Message-State: AO0yUKUeuhQM5EOJqWnJb7lRPJa+sQjqGbJ6kCrwQOTqeQYIoItQKUE2
	HXZwaEW5XrzW16tozdfoplcgZMad15462NGDlRZZSg==
X-Google-Smtp-Source: AK7set/EIjff+tV12+ujW+dgARTgV2Zmx/NtYhKjDtF5z2w+kHGjKacUgd0pNhH+9HFQRk+E/1SDmmYNjs+IkL9vMZ8=
X-Received: by 2002:a05:600c:512a:b0:3ed:26fa:6ee5 with SMTP id
 o42-20020a05600c512a00b003ed26fa6ee5mr2844775wms.4.1678890801259; Wed, 15 Mar
 2023 07:33:21 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <fdca8effb1c2c209fd9d15c90360196fa67a845c.1677079672.git.jens.wiklander@linaro.org>
 <CC630914-0816-40F9-B33C-86EC4E3B4BE6@arm.com> <CAHUa44FHh1d4+6dc2CW0Zpu+7uBaK0i=DRENQbtZwGoOR50aDw@mail.gmail.com>
 <ABA67A6F-F0D4-413C-9FD1-C7E2FF8FAF16@arm.com>
In-Reply-To: <ABA67A6F-F0D4-413C-9FD1-C7E2FF8FAF16@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 15 Mar 2023 15:33:09 +0100
Message-ID: <CAHUa44Fu6G-xKesrXn8uWaOTW4ujf=S0XtOgPcnGvwHdZxLTJA@mail.gmail.com>
Subject: Re: [XEN PATCH v7 18/20] xen/arm: ffa: support sharing memory
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Wed, Mar 15, 2023 at 2:24=E2=80=AFPM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 14 Mar 2023, at 18:56, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Hi Bertrand,
> >
> > On Mon, Mar 13, 2023 at 9:49=E2=80=AFAM Bertrand Marquis
> > <Bertrand.Marquis@arm.com> wrote:
> >>
> >> Hi Jens,
> >>
> >>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> =
wrote:
> >>>
> >>> Adds support for a guest to share memory with an SP using FFA_MEM_SHA=
RE
> >>> and FFA_MEM_RECLAIM. Only small memory regions can be shared using a
> >>> single call to FFA_MEM_SHARE are supported.
> >>
> >> This sentence needs a bit of rephrasing and to add more details: what =
is "small".
> >
> > OK, how about "Only memory regions small enough to be shared with a
> > single call..."
>
> Ok
>
> >
> >>
> >>>
> >>> A memory region that doesn't need to be shared any longer can be
> >>> reclaimed with FFA_MEM_RECLAIM once the SP doesn't use it any longer.
> >>> This is checked by the SPMC and not in control of the mediator.
> >>
> >> This explanation would make more sense in the following patch adding s=
upport
> >> for Reclaim.
> >
> > Quite right, I'll move it to the next patch.
> >
> >>
> >>>
> >>> With this commit we have a FF-A version 1.1 [1] mediator able to
> >>> communicate with a Secure Partition in secure world using shared memo=
ry.
> >>> The secure world must use FF-A version 1.1, but the guest is free to =
use
> >>> version 1.0 or version 1.1.
> >>
> >> I do not see anything limiting that in the code.
> >> During init we accept 1.0 or 1.1 versions of the secure world.
> >
> > Good catch, I'll update to only accept version 1.1 in the secure world.
> >
> >>
> >>>
> >>> Adds a check that the SP supports the needed FF-A features
> >>> FFA_MEM_SHARE_64 or FFA_MEM_SHARE_32.
> >>>
> >>> [1] https://developer.arm.com/documentation/den0077/latest
> >>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> >>> ---
> >>> xen/arch/arm/tee/ffa.c | 491 ++++++++++++++++++++++++++++++++++++++++=
+
> >>> 1 file changed, 491 insertions(+)
> >>>
> >>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> >>> index 94c90b252454..cdc286caf62c 100644
> >>> --- a/xen/arch/arm/tee/ffa.c
> >>> +++ b/xen/arch/arm/tee/ffa.c
> >>> @@ -270,6 +270,38 @@ struct ffa_mem_transaction_1_1 {
> >>>    uint8_t reserved[12];
> >>> };
> >>>
> >>> +/* Calculate offset of struct ffa_mem_access from start of buffer */
> >>> +#define MEM_ACCESS_OFFSET(access_idx) \
> >>> +    ( sizeof(struct ffa_mem_transaction_1_1) + \
> >>> +      ( access_idx ) * sizeof(struct ffa_mem_access) )
> >>> +
> >>> +/* Calculate offset of struct ffa_mem_region from start of buffer */
> >>> +#define REGION_OFFSET(access_count, region_idx) \
> >>> +    ( MEM_ACCESS_OFFSET(access_count) + \
> >>> +      ( region_idx ) * sizeof(struct ffa_mem_region) )
> >>> +
> >>> +/* Calculate offset of struct ffa_address_range from start of buffer=
 */
> >>> +#define ADDR_RANGE_OFFSET(access_count, region_count, range_idx) \
> >>> +    ( REGION_OFFSET(access_count, region_count) + \
> >>> +      ( range_idx ) * sizeof(struct ffa_address_range) )
> >>> +
> >>> +/*
> >>> + * The parts needed from struct ffa_mem_transaction_1_0 or struct
> >>> + * ffa_mem_transaction_1_1, used to provide an abstraction of differ=
ence in
> >>> + * data structures between version 1.0 and 1.1. This is just an inte=
rnal
> >>> + * interface and can be changed without changing any ABI.
> >>> + */
> >>> +struct ffa_mem_transaction_x {
> >>
> >> I would suggest to s/_x/_int/ in the name here
> >
> > OK, I'll update
> >
> >>
> >>> +    uint16_t sender_id;
> >>> +    uint8_t mem_reg_attr;
> >>> +    uint8_t flags;
> >>> +    uint8_t mem_access_size;
> >>> +    uint8_t mem_access_count;
> >>> +    uint16_t mem_access_offs;
> >>> +    uint64_t global_handle;
> >>> +    uint64_t tag;
> >>> +};
> >>> +
> >>> /* Endpoint RX/TX descriptor */
> >>> struct ffa_endpoint_rxtx_descriptor_1_0 {
> >>>    uint16_t sender_id;
> >>> @@ -294,8 +326,20 @@ struct ffa_ctx {
> >>>    uint32_t guest_vers;
> >>>    bool tx_is_mine;
> >>>    bool interrupted;
> >>> +    struct list_head shm_list;
> >>> +    unsigned int shm_count;
> >>>    spinlock_t lock;
> >>> };
> >>> +
> >>> +struct ffa_shm_mem {
> >>> +    struct list_head list;
> >>> +    uint16_t sender_id;
> >>> +    uint16_t ep_id;     /* endpoint, the one lending */
> >>> +    uint64_t handle;    /* FFA_HANDLE_INVALID if not set yet */
> >>> +    unsigned int page_count;
> >>> +    struct page_info *pages[];
> >>> +};
> >>> +
> >>> /* Negotiated FF-A version to use with the SPMC */
> >>> static uint32_t ffa_version __ro_after_init;
> >>>
> >>> @@ -310,6 +354,8 @@ static unsigned int subscr_vm_destroyed_count __r=
ead_mostly;
> >>> *
> >>> * ffa_page_count is the number of pages used in each of these buffers=
.
> >>> *
> >>> + * The TX buffer is protected from concurrent usage with ffa_tx_buff=
er_lock.
> >>> + *
> >>> * The RX buffer is protected from concurrent usage with ffa_rx_buffer=
_lock.
> >>> * Note that the SPMC is also tracking the ownership of our RX buffer =
so
> >>> * for calls which uses our RX buffer to deliver a result we must call
> >>> @@ -319,6 +365,7 @@ static void *ffa_rx __read_mostly;
> >>> static void *ffa_tx __read_mostly;
> >>> static unsigned int ffa_page_count __read_mostly;
> >>> static DEFINE_SPINLOCK(ffa_rx_buffer_lock);
> >>> +static DEFINE_SPINLOCK(ffa_tx_buffer_lock);
> >>>
> >>> static bool ffa_get_version(uint32_t *vers)
> >>> {
> >>> @@ -429,6 +476,42 @@ static int32_t ffa_rx_release(void)
> >>>    return ffa_simple_call(FFA_RX_RELEASE, 0, 0, 0, 0);
> >>> }
> >>>
> >>> +static int32_t ffa_mem_share(uint32_t tot_len, uint32_t frag_len,
> >>> +                             register_t addr, uint32_t pg_count,
> >>> +                             uint64_t *handle)
> >>> +{
> >>> +    struct arm_smccc_1_2_regs arg =3D {
> >>> +        .a0 =3D FFA_MEM_SHARE_32,
> >>> +        .a1 =3D tot_len,
> >>> +        .a2 =3D frag_len,
> >>> +        .a3 =3D addr,
> >>> +        .a4 =3D pg_count,
> >>> +    };
> >>> +    struct arm_smccc_1_2_regs resp;
> >>> +
> >>> +    if ( IS_ENABLED(CONFIG_ARM_64) )
> >>> +        arg.a0 =3D FFA_MEM_SHARE_64;
> >>> +
> >>> +    arm_smccc_1_2_smc(&arg, &resp);
> >>> +
> >>> +    switch ( resp.a0 )
> >>> +    {
> >>> +    case FFA_ERROR:
> >>> +        if ( resp.a2 )
> >>> +            return resp.a2;
> >>> +        else
> >>> +            return FFA_RET_NOT_SUPPORTED;
> >>> +    case FFA_SUCCESS_32:
> >>> +        *handle =3D regpair_to_uint64(resp.a3, resp.a2);
> >>> +        return FFA_RET_OK;
> >>> +    case FFA_MEM_FRAG_RX:
> >>> +        *handle =3D regpair_to_uint64(resp.a2, resp.a1);
> >>> +        return resp.a3;
> >>
> >> You are using an int32_t type to cast something that is uint32_t from =
the spec
> >> and here could in fact be a uint64_t.
> >
> > In practice only much smaller values can be valid, however, I
> > understand that that's not your point. What's the best recovery if the
> > SPMC gives an invalid value for FFA_MEM_FRAG_RX? The SPMC has
> > allocated a memory-sharing state when it returns FFA_MEM_FRAG_RX. The
> > specification doesn't say how to remove that state apart from either
> > completing it successfully or if it's terminated earlier by the SPMC.
> > One option is to do a FFA_MEM_FRAG_TX call with invalid arguments so
> > that the SPMC can free up the memory-sharing state. Thoughts?
>
> I do not think it is Xen responsability to fix SPMC problems here.
> If we detect something of an error we should just return back an error to=
 the client.
>
> If the SPMC is returning an invalid value, we cannot really make much ass=
umptions.
>
> An other solution here would just be to mask out to prevent the implicit =
cast.

OK, I'll do that.

>
> >
> >>
> >>
> >>> +    default:
> >>> +        return FFA_RET_NOT_SUPPORTED;
> >>> +    }
> >>> +}
> >>> +
> >>> static int32_t ffa_direct_req_send_vm(uint16_t sp_id, uint16_t vm_id,
> >>>                                      uint8_t msg)
> >>> {
> >>> @@ -757,6 +840,404 @@ out:
> >>>             resp.a4 & mask, resp.a5 & mask, resp.a6 & mask, resp.a7 &=
 mask);
> >>> }
> >>>
> >>> +/*
> >>> + * Gets all page and assigns them to the supplied shared memory obje=
ct. If
> >>> + * this function fails then the caller is still expected to call
> >>> + * put_shm_pages() as a cleanup.
> >>> + */
> >>> +static int get_shm_pages(struct domain *d, struct ffa_shm_mem *shm,
> >>> +                         const struct ffa_address_range *range,
> >>> +                         uint32_t range_count, unsigned int start_pa=
ge_idx,
> >>> +                         unsigned int *last_page_idx)
> >>> +{
> >>> +    unsigned int pg_idx =3D start_page_idx;
> >>> +    gfn_t gfn;
> >>> +    unsigned int n;
> >>> +    unsigned int m;
> >>> +    p2m_type_t t;
> >>> +    uint64_t addr;
> >>> +
> >>> +    for ( n =3D 0; n < range_count; n++ )
> >>> +    {
> >>> +        for ( m =3D 0; m < range[n].page_count; m++ )
> >>> +        {
> >>> +            if ( pg_idx >=3D shm->page_count )
> >>> +                return FFA_RET_INVALID_PARAMETERS;
> >>> +
> >>> +            addr =3D read_atomic(&range[n].address);
> >>> +            gfn =3D gaddr_to_gfn(addr + m * FFA_PAGE_SIZE);
> >>> +            shm->pages[pg_idx] =3D get_page_from_gfn(d, gfn_x(gfn), =
&t,
> >>> +   P2M_ALLOC);
> >>> +            if ( !shm->pages[pg_idx] )
> >>> +                return FFA_RET_DENIED;
> >>> +            pg_idx++;
> >>
> >> This increment could be done at the end, why here ?
> >
> > Do you mean after the p2m_is_ram() check? I'll move it there.
>
> yes that would be more natural i think.
>
> >
> >>
> >>> +            /* Only normal RAM for now */
> >>> +            if ( !p2m_is_ram(t) )
> >>> +                return FFA_RET_DENIED;
> >>> +        }
> >>> +    }
> >>> +
> >>> +    *last_page_idx =3D pg_idx;
> >>> +
> >>> +    return FFA_RET_OK;
> >>> +}
> >>> +
> >>> +static void put_shm_pages(struct ffa_shm_mem *shm)
> >>> +{
> >>> +    unsigned int n;
> >>> +
> >>> +    for ( n =3D 0; n < shm->page_count && shm->pages[n]; n++ )
> >>> +    {
> >>> +        put_page(shm->pages[n]);
> >>> +        shm->pages[n] =3D NULL;
> >>
> >> If an error occured during the generation you might have part
> >> of the pages which are NULL already.
> >>
> >> So you should do a if (pages[n] !=3D NULL) here
> >
> > I'm doing that above in the head of the loop, the loop is terminated
> > at the first pages[n] =3D=3D NULL.
>
> Right, sorry i missed that.
>
> >
> >>
> >>> +    }
> >>> +}
> >>> +
> >>> +static struct ffa_shm_mem *alloc_ffa_shm_mem(struct ffa_ctx *ctx,
> >>> +                                             unsigned int page_count=
)
> >>> +{
> >>> +    struct ffa_shm_mem *shm;
> >>> +
> >>> +    if ( page_count >=3D FFA_MAX_SHM_PAGE_COUNT ||
> >>> +         ctx->shm_count >=3D FFA_MAX_SHM_COUNT )
> >>> +        return NULL;
> >>
> >> Shouldn't you also filter out for page_count =3D 0 ?
> >
> > Sure, 0 doesn't make sense. But I should probably do it before this
> > function is called since I suppose we'd like to return something
> > different from FFA_RET_NO_MEMORY.
>
> Very true.
>
> >
> >>
> >>> +
> >>> +    shm =3D xzalloc_flex_struct(struct ffa_shm_mem, pages, page_coun=
t);
> >>> +    if ( shm )
> >>> +    {
> >>> +        ctx->shm_count++;
> >>> +        shm->page_count =3D page_count;
> >>> +    }
> >>> +
> >>> +    return shm;
> >>> +}
> >>> +
> >>> +static void free_ffa_shm_mem(struct ffa_ctx *ctx, struct ffa_shm_mem=
 *shm)
> >>> +{
> >>> +    if ( shm ) {
> >>> +        ASSERT(ctx->shm_count > 0);
> >>> +        ctx->shm_count--;
> >>> +        put_shm_pages(shm);
> >>> +        xfree(shm);
> >>> +    }
> >>> +}
> >>> +
> >>> +static void init_range(struct ffa_address_range *addr_range,
> >>> +                       paddr_t pa)
> >>> +{
> >>> +    memset(addr_range, 0, sizeof(*addr_range));
> >>> +    addr_range->address =3D pa;
> >>> +    addr_range->page_count =3D 1;
> >>> +}
> >>> +
> >>> +/*
> >>> + * This function uses the ffa_tx buffer to transmit the memory trans=
action
> >>> + * descriptor. The function depends ffa_tx_buffer_lock to be used to=
 guard
> >>> + * the buffer from concurrent use.
> >>> + */
> >>> +static int share_shm(struct ffa_shm_mem *shm)
> >>> +{
> >>> +    const uint32_t max_frag_len =3D ffa_page_count * FFA_PAGE_SIZE;
> >>> +    struct ffa_mem_access *mem_access_array;
> >>> +    struct ffa_mem_transaction_1_1 *descr;
> >>> +    struct ffa_address_range *addr_range;
> >>> +    struct ffa_mem_region *region_descr;
> >>> +    const unsigned int region_count =3D 1;
> >>> +    void *buf =3D ffa_tx;
> >>> +    uint32_t frag_len;
> >>> +    uint32_t tot_len;
> >>> +    paddr_t last_pa;
> >>> +    unsigned int n;
> >>> +    paddr_t pa;
> >>> +
> >>> +    ASSERT(spin_is_locked(&ffa_tx_buffer_lock));
> >>> +    if ( !shm->page_count )
> >>> +    {
> >>> +        ASSERT_UNREACHABLE();
> >>> +        return FFA_RET_INVALID_PARAMETERS;
> >>
> >> page_count =3D 0 should be filtered out before reaching this and this =
should
> >> only be an assert if you want but no unreachable with a return.
> >
> > I'm adding code to filter out page_count =3D 0. I'm not sure what you
> > expect here, should I remove the entire check here or what do you
> > want?
>
> As this is checked before, this could just be an assert and not something=
 with a return.

OK, I'll do that.

>
> >
> >>
> >>> +    }
> >>> +
> >>> +    descr =3D buf;
> >>> +    memset(descr, 0, sizeof(*descr));
> >>> +    descr->sender_id =3D shm->sender_id;
> >>> +    descr->global_handle =3D shm->handle;
> >>> +    descr->mem_reg_attr =3D FFA_NORMAL_MEM_REG_ATTR;
> >>> +    descr->mem_access_count =3D 1;
> >>> +    descr->mem_access_size =3D sizeof(*mem_access_array);
> >>> +    descr->mem_access_offs =3D MEM_ACCESS_OFFSET(0);
> >>> +
> >>> +    mem_access_array =3D buf + descr->mem_access_offs;
> >>> +    memset(mem_access_array, 0, sizeof(*mem_access_array));
> >>> +    mem_access_array[0].access_perm.endpoint_id =3D shm->ep_id;
> >>> +    mem_access_array[0].access_perm.perm =3D FFA_MEM_ACC_RW;
> >>> +    mem_access_array[0].region_offs =3D REGION_OFFSET(descr->mem_acc=
ess_count, 0);
> >>> +
> >>> +    region_descr =3D buf + mem_access_array[0].region_offs;
> >>> +    memset(region_descr, 0, sizeof(*region_descr));
> >>> +    region_descr->total_page_count =3D shm->page_count;
> >>> +
> >>> +    region_descr->address_range_count =3D 1;
> >>> +    last_pa =3D page_to_maddr(shm->pages[0]);
> >>> +    for ( n =3D 1; n < shm->page_count; last_pa =3D pa, n++ )
> >>> +    {
> >>> +        pa =3D page_to_maddr(shm->pages[n]);
> >>> +        if ( last_pa + FFA_PAGE_SIZE =3D=3D pa )
> >>> +            continue;
> >>> +        region_descr->address_range_count++;
> >>> +    }
> >>> +
> >>> +    tot_len =3D ADDR_RANGE_OFFSET(descr->mem_access_count, region_co=
unt,
> >>> +                                region_descr->address_range_count);
> >>> +    if ( tot_len > max_frag_len )
> >>> +        return FFA_RET_NOT_SUPPORTED;
> >>> +
> >>> +    addr_range =3D region_descr->address_range_array;
> >>> +    frag_len =3D ADDR_RANGE_OFFSET(descr->mem_access_count, region_c=
ount, 1);
> >>> +    last_pa =3D page_to_maddr(shm->pages[0]);
> >>> +    init_range(addr_range, last_pa);
> >>> +    for ( n =3D 1; n < shm->page_count; last_pa =3D pa, n++ )
> >>> +    {
> >>> +        pa =3D page_to_maddr(shm->pages[n]);
> >>> +        if ( last_pa + FFA_PAGE_SIZE =3D=3D pa )
> >>> +        {
> >>> +            addr_range->page_count++;
> >>> +            continue;
> >>> +        }
> >>> +
> >>> +        frag_len +=3D sizeof(*addr_range);
> >>> +        addr_range++;
> >>> +        init_range(addr_range, pa);
> >>> +    }
> >>> +
> >>> +    return ffa_mem_share(tot_len, frag_len, 0, 0, &shm->handle);
> >>> +}
> >>> +
> >>> +static int read_mem_transaction(uint32_t ffa_vers, const void *buf, =
size_t blen,
> >>> +                                struct ffa_mem_transaction_x *trans)
> >>> +{
> >>> +    uint16_t mem_reg_attr;
> >>> +    uint32_t flags;
> >>> +    uint32_t count;
> >>> +    uint32_t offs;
> >>> +    uint32_t size;
> >>> +
> >>> +    if ( ffa_vers >=3D FFA_VERSION_1_1 )
> >>> +    {
> >>> +        const struct ffa_mem_transaction_1_1 *descr;
> >>> +
> >>> +        if ( blen < sizeof(*descr) )
> >>> +            return FFA_RET_INVALID_PARAMETERS;
> >>> +
> >>> +        descr =3D buf;
> >>> +        trans->sender_id =3D descr->sender_id;
> >>> +        mem_reg_attr =3D descr->mem_reg_attr;
> >>> +        flags =3D descr->flags;
> >>> +        trans->global_handle =3D descr->global_handle;
> >>> +        trans->tag =3D descr->tag;
> >>> +
> >>> +        count =3D descr->mem_access_count;
> >>> +        size =3D descr->mem_access_size;
> >>> +        offs =3D descr->mem_access_offs;
> >>> +    }
> >>> +    else
> >>> +    {
> >>> +        const struct ffa_mem_transaction_1_0 *descr;
> >>> +
> >>> +        if ( blen < sizeof(*descr) )
> >>> +            return FFA_RET_INVALID_PARAMETERS;
> >>> +
> >>> +        descr =3D buf;
> >>> +        trans->sender_id =3D descr->sender_id;
> >>> +        mem_reg_attr =3D descr->mem_reg_attr;
> >>> +        flags =3D descr->flags;
> >>> +        trans->global_handle =3D descr->global_handle;
> >>> +        trans->tag =3D descr->tag;
> >>> +
> >>> +        count =3D descr->mem_access_count;
> >>> +        size =3D sizeof(struct ffa_mem_access);
> >>> +        offs =3D offsetof(struct ffa_mem_transaction_1_0, mem_access=
_array);
> >>> +    }
> >>> +    /*
> >>> +     * Make sure that "descr" which is shared with the guest isn't a=
ccessed
> >>> +     * again after this point.
> >>> +     */
> >>> +    barrier();
> >>
> >> I am not really following the comment here. You accessed the content o=
f descr
> >> before and it is in the rxtx buffer so why is this needed ?
> >
> > I'm making sure that the compiler doesn't optimize and reorders the
> > reads from memory in funny ways, for instance, reading again after the
> > ifs just below. The RXTX buffer is shared with the guest so it can
> > potentially be updated concurrently by another CPU.
>
> The client is not suppose to modify the buffer during the call, using ato=
mic
> operations here is not really solving any issue if this is modified while=
 we use it right ?

We are guarding against a TOCTOU (time-of-check to time-of-use) type
of attack or bug.

>
> >
> >>
> >>> +
> >>> +    /*
> >>> +     * We're doing a rough check to see that no information is lost =
when
> >>> +     * tranfering the values into a struct ffa_mem_transaction_x bel=
ow. The
> >>> +     * fields in struct ffa_mem_transaction_x are wide enough to hol=
d any
> >>> +     * valid value so being out of range means that something is wro=
ng.
> >>> +     */
> >>> +    if ( mem_reg_attr > UINT8_MAX || flags > UINT8_MAX || size > UIN=
T8_MAX ||
> >>> +        count > UINT8_MAX || offs > UINT16_MAX )
> >>> +        return FFA_RET_INVALID_PARAMETERS;
> >>> +
> >>> +    /* Check that the endpoint memory access descriptor array fits *=
/
> >>> +    if ( size * count + offs > blen )
> >>> +        return FFA_RET_INVALID_PARAMETERS;
> >>> +
> >>> +    trans->mem_reg_attr =3D mem_reg_attr;
> >>> +    trans->flags =3D flags;
> >>> +    trans->mem_access_size =3D size;
> >>> +    trans->mem_access_count =3D count;
> >>> +    trans->mem_access_offs =3D offs;
> >>> +
> >>> +    return 0;
> >>> +}
> >>> +
> >>> +static void handle_mem_share(struct cpu_user_regs *regs)
> >>> +{
> >>> +    uint32_t tot_len =3D get_user_reg(regs, 1);
> >>> +    uint32_t frag_len =3D get_user_reg(regs, 2);
> >>> +    uint64_t addr =3D get_user_reg(regs, 3);
> >>> +    uint32_t page_count =3D get_user_reg(regs, 4);
> >>> +    const struct ffa_mem_region *region_descr;
> >>> +    const struct ffa_mem_access *mem_access;
> >>> +    struct ffa_mem_transaction_x trans;
> >>> +    struct domain *d =3D current->domain;
> >>> +    struct ffa_ctx *ctx =3D d->arch.tee;
> >>> +    struct ffa_shm_mem *shm =3D NULL;
> >>> +    unsigned int last_page_idx =3D 0;
> >>> +    register_t handle_hi =3D 0;
> >>> +    register_t handle_lo =3D 0;
> >>> +    int ret =3D FFA_RET_DENIED;
> >>> +    uint32_t range_count;
> >>> +    uint32_t region_offs;
> >>> +
> >>> +    /*
> >>> +     * We're only accepting memory transaction descriptors via the r=
x/tx
> >>> +     * buffer.
> >>
> >> Is this a limitation coming fomr the spec or from the implementation ?
> >
> > This is just a limitation in the implementation.
> >
> >>
> >>> +     */
> >>> +    if ( addr )
> >>> +    {
> >>> +        ret =3D FFA_RET_NOT_SUPPORTED;
> >>> +        goto out_set_ret;
> >>> +    }
> >>> +
> >>> +    /* Check that fragment length doesn't exceed total length */
> >>> +    if ( frag_len > tot_len )
> >>> +    {
> >>> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> >>> +        goto out_set_ret;
> >>> +    }
> >>> +
> >>> +    /* We currently only support a single fragment */
> >>
> >> It would make sense to add some text at the beginning of the files lis=
ting
> >> the current limitations of the implementation.
> >
> > That's quite a bit to keep track of, especially since it will change
> > with each patch. If it's important perhaps we can summarize that in a
> > final commit instead. By the way, this particular limitation is
> > removed in a later patch.
>
> I am more thinking at the end of the serie to have one place with the cur=
rent
> state and limitations of the implementation.
>
> We cannot really expect someone to browse all comments to get what is
>  supported or not.

OK

>
> >
> >>
> >>> +    if ( frag_len !=3D tot_len )
> >>> +    {
> >>> +        ret =3D FFA_RET_NOT_SUPPORTED;
> >>> +        goto out_set_ret;
> >>> +    }
> >>> +
> >>> +    spin_lock(&ctx->lock);
> >>> +
> >>> +    if ( frag_len > ctx->page_count * FFA_PAGE_SIZE )
> >>> +        goto out_unlock;
> >>> +
> >>> +    if ( !ffa_page_count )
> >>> +    {
> >>> +        ret =3D FFA_RET_NO_MEMORY;
> >>> +        goto out_unlock;
> >>> +    }
> >>> +
> >>> +    ret =3D read_mem_transaction(ctx->guest_vers, ctx->tx, frag_len,=
 &trans);
> >>> +    if ( ret )
> >>> +        goto out_unlock;
> >>> +
> >>> +    if ( trans.mem_reg_attr !=3D FFA_NORMAL_MEM_REG_ATTR )
> >>> +    {
> >>> +        ret =3D FFA_RET_NOT_SUPPORTED;
> >>> +        goto out_unlock;
> >>> +    }
> >>> +
> >>> +    /* Only supports sharing it with one SP for now */
> >>
> >> Also a limitation to list.
> >
> > OK
> >
> >>
> >>> +    if ( trans.mem_access_count !=3D 1 )
> >>> +    {
> >>> +        ret =3D FFA_RET_NOT_SUPPORTED;
> >>> +        goto out_unlock;
> >>> +    }
> >>> +
> >>> +    if ( trans.sender_id !=3D get_vm_id(d) )
> >>> +    {
> >>> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> >>> +        goto out_unlock;
> >>> +    }
> >>> +
> >>> +    /* Check that it fits in the supplied data */
> >>> +    if ( trans.mem_access_offs + trans.mem_access_size > frag_len )
> >>> +        goto out_unlock;
> >>> +
> >>
> >> Why are you using atomic operations to access rxtx buffer after here ?
> >
> > To limit how the compiler can reorder the reads from memory.
>
> As stated before, don't we assume that the buffer is not modified by the =
client
>  while we use it ?

No, as I'm saying above we're guarding against it.

Thanks,
Jens

>
> >
> >>
> >>> +    mem_access =3D ctx->tx + trans.mem_access_offs;
> >>> +    if ( read_atomic(&mem_access->access_perm.perm) !=3D FFA_MEM_ACC=
_RW )
> >>
> >> Also a limitation to list.
> >
> > OK
>
> Cheers
> Bertrand
>
> >
> > Thanks,
> > Jens
> >
> >>
> >>> +    {
> >>> +        ret =3D FFA_RET_NOT_SUPPORTED;
> >>> +        goto out_unlock;
> >>> +    }
> >>> +
> >>> +    region_offs =3D read_atomic(&mem_access->region_offs);
> >>> +    if ( sizeof(*region_descr) + region_offs > frag_len )
> >>> +    {
> >>> +        ret =3D FFA_RET_NOT_SUPPORTED;
> >>> +        goto out_unlock;
> >>> +    }
> >>> +
> >>> +    region_descr =3D ctx->tx + region_offs;
> >>> +    range_count =3D read_atomic(&region_descr->address_range_count);
> >>> +    page_count =3D read_atomic(&region_descr->total_page_count);
> >>> +
> >>> +    shm =3D alloc_ffa_shm_mem(ctx, page_count);
> >>> +    if ( !shm )
> >>> +    {
> >>> +        ret =3D FFA_RET_NO_MEMORY;
> >>> +        goto out_unlock;
> >>> +    }
> >>> +    shm->sender_id =3D trans.sender_id;
> >>> +    shm->ep_id =3D read_atomic(&mem_access->access_perm.endpoint_id)=
;
> >>> +
> >>> +    /*
> >>> +     * Check that the Composite memory region descriptor fits.
> >>> +     */
> >>> +    if ( sizeof(*region_descr) + region_offs +
> >>> +         range_count * sizeof(struct ffa_address_range) > frag_len )
> >>> +    {
> >>> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> >>> +        goto out;
> >>> +    }
> >>> +
> >>> +    ret =3D get_shm_pages(d, shm, region_descr->address_range_array,=
 range_count,
> >>> +                        0, &last_page_idx);
> >>> +    if ( ret )
> >>> +        goto out;
> >>> +    if ( last_page_idx !=3D shm->page_count )
> >>> +    {
> >>> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> >>> +        goto out;
> >>> +    }
> >>> +
> >>> +    /* Note that share_shm() uses our tx buffer */
> >>> +    spin_lock(&ffa_tx_buffer_lock);
> >>> +    ret =3D share_shm(shm);
> >>> +    spin_unlock(&ffa_tx_buffer_lock);
> >>> +    if ( ret )
> >>> +        goto out;
> >>> +
> >>> +    list_add_tail(&shm->list, &ctx->shm_list);
> >>> +
> >>> +    uint64_to_regpair(&handle_hi, &handle_lo, shm->handle);
> >>> +
> >>> +out:
> >>> +    if ( ret )
> >>> +        free_ffa_shm_mem(ctx, shm);
> >>> +out_unlock:
> >>> +    spin_unlock(&ctx->lock);
> >>> +
> >>> +out_set_ret:
> >>> +    if ( ret =3D=3D 0)
> >>> +            set_regs_success(regs, handle_lo, handle_hi);
> >>> +    else
> >>> +            set_regs_error(regs, ret);
> >>> +}
> >>> +
> >>> static bool ffa_handle_call(struct cpu_user_regs *regs)
> >>> {
> >>>    uint32_t fid =3D get_user_reg(regs, 0);
> >>> @@ -818,6 +1299,12 @@ static bool ffa_handle_call(struct cpu_user_reg=
s *regs)
> >>> #endif
> >>>        handle_msg_send_direct_req(regs, fid);
> >>>        return true;
> >>> +    case FFA_MEM_SHARE_32:
> >>> +#ifdef CONFIG_ARM_64
> >>> +    case FFA_MEM_SHARE_64:
> >>> +#endif
> >>> +        handle_mem_share(regs);
> >>> +        return true;
> >>>
> >>>    default:
> >>>        gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> >>> @@ -857,6 +1344,8 @@ static int ffa_domain_init(struct domain *d)
> >>>        }
> >>>    }
> >>>
> >>> +    INIT_LIST_HEAD(&ctx->shm_list);
> >>> +
> >>>    d->arch.tee =3D ctx;
> >>>
> >>>    return 0;
> >>> @@ -1012,11 +1501,13 @@ static bool ffa_probe(void)
> >>>         !check_mandatory_feature(FFA_RX_RELEASE) ||
> >>> #ifdef CONFIG_ARM_64
> >>>         !check_mandatory_feature(FFA_RXTX_MAP_64) ||
> >>> +         !check_mandatory_feature(FFA_MEM_SHARE_64) ||
> >>> #endif
> >>> #ifdef CONFIG_ARM_32
> >>>         !check_mandatory_feature(FFA_RXTX_MAP_32) ||
> >>> #endif
> >>>         !check_mandatory_feature(FFA_RXTX_UNMAP) ||
> >>> +         !check_mandatory_feature(FFA_MEM_SHARE_32) ||
> >>>         !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> >>>        return false;
> >>>
> >>> --
> >>> 2.34.1
> >>
> >>
> >> Cheers
> >> Bertrand
>
>


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 14:34:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 14:34:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510095.787168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcSCP-0008NN-8t; Wed, 15 Mar 2023 14:33:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510095.787168; Wed, 15 Mar 2023 14: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 1pcSCP-0008N5-59; Wed, 15 Mar 2023 14:33:53 +0000
Received: by outflank-mailman (input) for mailman id 510095;
 Wed, 15 Mar 2023 14:33: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=CVd2=7H=citrix.com=prvs=431d4e183=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcSCN-0007uT-H6
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 14:33:51 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 64043062-c33e-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 15:33:48 +0100 (CET)
Received: from mail-dm6nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 10:33:35 -0400
Received: from PH0PR03MB6368.namprd03.prod.outlook.com (2603:10b6:510:aa::21)
 by SA0PR03MB5644.namprd03.prod.outlook.com (2603:10b6:806:b7::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 14:33:33 +0000
Received: from PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034]) by PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034%5]) with mapi id 15.20.6178.019; Wed, 15 Mar 2023
 14:33: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: 64043062-c33e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678890828;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=EBbTrYjhN2Kr5AVtPGXMgm/fUG61JwkEEbYsSKN7wlY=;
  b=Mc81iFME/ZkyjN05GFErlJami4UIz8C7+0zImgsTxaucy/zvUlcCE8fn
   gZi1dz2YvQp67oMi87Wml+lANKNOItCtJIJc9CUanaQXVkpJtCoebUeZV
   uvs66MEVJ9FdYA6NOh7Z+pCbryVoixPIUbaqZAkIyV7i61C3LBfgiFb0p
   M=;
X-IronPort-RemoteIP: 104.47.57.168
X-IronPort-MID: 103382471
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:wnQHUajdrD9GjbBcu73xUS7NX161SxAKZh0ujC45NGQN5FlHY01je
 htvDGmEPa6Namr1eY12bozg8UlTscODydcxGVQ4pCAxRHkb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waDzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tRDeBNSMQqqutmT6++HcONmieEnB8b0adZ3VnFIlVk1DN4AaLWaGuDmwIEd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEuluGzYLI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjA9lCTuHnr5aGhnWd/VwqLEYQf2eJsNO9s3+DV+xCN
 Wgbr39GQa8asRbDosPGdx+3unmfpTYHRsFdVeY97WmlzqvS/hbcBWUeSDNFQMIpudVwRjEw0
 FKN2dTzClRHoLCTDH6Q6LqQhTezIjQOa38PYzceSgkI6MWlp5s85jrFScxiC+iylcHvHi/rw
 CGiqzI3jLEey8UM0s2T4V/Dkxqop57UUhQy4ATHGG6ohit8ZYiqYKSy5FTb5OoGJ4GcJnGLp
 FANn8mT6rBIAZzlvCCEXuhLHLiv/PuDGDndh0N/WZgn6zmpvXWkeOh48GEgDERkKMAJfXnue
 kC7kQNJ7bdBLWetd+l8ZIfZI94jw6HtEfzmW+rSY94IZYJ+HCeD8SdkTU2dxWbglA4ri65XE
 YmWd8WlEXsBCeJ/xT6yRv8U3b4DxyYiyGeVTpf+pzyu2rqfbXiaYbcddlCJa4gR6KKCvRWQ+
 t1HNuOUxBhFFu7zeC/a9cgUN19iEJQgLZX/qsgSeuvdJANjQTglE6WIn+NnfJF5laNIkOuO5
 mu6RkJT1Fv4gzvANBmObXdgLrjoWP6TsE4GAMDlBn7ws1BLXGplxPx3m0cfFVX/yNFe8A==
IronPort-HdrOrdr: A9a23:5DBA1q4nmB6GjwJCSwPXwAzXdLJyesId70hD6qkQc3Fom62j5q
 WTdZEgvyMc5wx/ZJhNo7690cq7MBHhHPxOgbX5VI3KNGXbUQOTR72KhrGSoAEIdReeygZcv5
 0QCZSXCrfLfCVHZRCR2njFLz4iquP3j5xBnY3lvhNQpZkBUdAZ0+9+YDzrdXFedU19KrcSMo
 GT3cZDryrIQwVtUizqbkN1OdQqvrfw5evbXSI=
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="103382471"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bPtVbLfOXl8NLL5Yt6flw/lBKLWcwR9sOAAZfYOB29ZtjoBl7pS6Nc9ENQNQ8ucqgkPH6wHo7jZ/wzcTMdU6SdKfcRgm9t6Zw3xcuoBHuOYncdJGYWkGL3eI4M/Jnu+WD6tYLsMVWf9SXRaUZnDcS3ss4MbOw4Bfy7SSkCLX49RhyNAd+wn2tqZn1me6++ZrfIxvfxDstRI97nWOxrfuw3Md469ijPKLK+yr+DBc6gO9Nx3/72WSP73NuVQLsg27A1VzqDEdXDmC9CUI5MZ+id4Ud/BMB6zjIdTLiEpScrJtAH08DJidyRYM9/e0XsUfnpZFEInOCrMVQozQKri2ew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rPb1dFw727l7l7t5cvQNUTxsDNS6+upcubb7EeQzli8=;
 b=hJlcBrCFW/JFLBRRru7WWfLYBwFqYN+Ttl7M358vmAciGCay/E5134lGmkd3P9tsYr0wfuGU4V1WeHJ0pW+0drbdG4XfaNLr4fMVL9fwA6Pmfa7dPFgwj9RiHzrzHXp7senxtD9Cy6nAWNXh1octsNHYKuQBADUBxVGq+kxKAHsQmawP8kc33GDns1jcbTDAS0+TyvViL/EYhl5xAOftOHlOjFYpaC8YKM+JcZ62iikPtQM3Pwxz6rzeEzkESoG9YbKPuTWPnT+zc2xd8ci4gH8Ehrvo/DsEWrx2qAyIuDZZYjcbkyBb9MU4GJE7MC6gEqwZFPISgLegJeZODaYBmg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rPb1dFw727l7l7t5cvQNUTxsDNS6+upcubb7EeQzli8=;
 b=cKiyhAwklq5RVJRKTVbHaPgBNEaxwkT9JzHiOF6fm/bK2UvQ74XVpwXG8eMlOc0D1uGjq6U+8r6/UC+izUAF1iIN8wthPTYtG5vv+wMzw8qeJo1EI0zhtwOgcJgM1srgLpLNOpDc2wyaASJCZP4gmIhSXYkSKF8NJ4lb0/LWSTY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 15 Mar 2023 15:33:27 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.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>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org
Subject: Re: [PATCH v2] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
Message-ID: <ZBHXN/tgrQFghG4O@Air-de-Roger>
References: <20230315121031.22450-1-roger.pau@citrix.com>
 <c9eec213-3c93-62ba-1f46-1e502f121eac@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c9eec213-3c93-62ba-1f46-1e502f121eac@suse.com>
X-ClientProxiedBy: LO4P265CA0273.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:37a::10) To PH0PR03MB6368.namprd03.prod.outlook.com
 (2603:10b6:510:aa::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR03MB6368:EE_|SA0PR03MB5644:EE_
X-MS-Office365-Filtering-Correlation-Id: cda26bdb-f20a-4ea9-b118-08db25624103
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6dCrtoh8YBSoL2vpROJGDIgQkbQD6zbULIUt+bExIni/Dv0A51IwnVnb9sK1HPgABO2YIUNtcYFxrrDrGxRIUqJy+LPSPR+73VZG/2NNqsSRM7LiHKtlChFHRtq8XFfpUXyD0IhnU+N0iFAP2kd4KAYVkvkgi4KlU4cyev8vAhy+DYkbcD5q5Yqe72Xig7psoCqo5pJbUijY0sbkbg4mZOPuju+jf6Q2KTmIs4/giuL6BDXYGspn33723vXDtl2IWy1jBsm2ZhPhqjNMaIyHL2cHGp6uYAkH84R6n2lrB9FXdYnjpF/qvdLHlGrxz6qDP9QCmWTv2usayu+OfH4ngnkkryTlPuWAZR/zp+iF+UJW7x0Zz+RsDZp15xghnltpNokC9SEo/mIRIXWtQeM7rIOFSTErMFypE0ubba+i/iSXPzVK7CNqWcQQldOlW8Ta6Ic8UOBWu8BFPhpB9T7FCDUJN94O4/k1L/cxaUeYjuClmmIQX5PxE8mO9ByR0M6+b6J8wQVY2DLaNY5q8M8ckqc/M6mCPdz05y8OUps4VhQpU/KmjSCleQlB6y+GQn2PGp41vq0V4RLQXx6jw9mZDtkSJPB3mYrhBXYE1lqliiGeSFn/MNIHsUdAKCgggeuWYMXWW4Q7Cq1SeBHo5u30GA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6368.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(346002)(39860400002)(366004)(396003)(376002)(136003)(451199018)(478600001)(66476007)(66946007)(316002)(66556008)(8676002)(5660300002)(41300700001)(4326008)(7416002)(6916009)(8936002)(85182001)(86362001)(54906003)(6486002)(6506007)(6512007)(2906002)(82960400001)(53546011)(6666004)(186003)(26005)(9686003)(33716001)(38100700002)(83380400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UDB6YWlVU2NGTTc1UndlSG9jczkxREUzL1p5QXkzS0tiMVowYkdBYUhPejhR?=
 =?utf-8?B?bi8vV1JRWGpVNnNST1pEUkRJS0dzRkNMSStvZVd5cmd4bmprbUpNZ1dnY24v?=
 =?utf-8?B?eTlJQ2sza2tBd3VyMk1kTWVyaWZlaGh3Q1JsTXFRWUVkbWlZcWtYWWgvOUJG?=
 =?utf-8?B?TEpodVBDVHpUdDFHRGhuWUR2VVVDVGc1akgvN0lIUEloYnlnZ0l2SERrcFRI?=
 =?utf-8?B?MnFaQ2JralFKQ2FtUFBReVdLclZLaUZwR2VzRitsaFl6V29ESjltandHOEJz?=
 =?utf-8?B?dmJSTDh4MzBWbmdLSDl0Vm0zdFkxd3hLV2F1SE9DNUtibkw3NGhYT0ttNEF1?=
 =?utf-8?B?TmQrbGV0bVJhMFNka3BRUWtlSjFwVkRjVnpwTFVUSWhXbHYvK1labVE4a0lU?=
 =?utf-8?B?bkxhNE9EK01nTlgrQXBleDBZWVhuQWluVEtoVVYwR2U2eTNES3VpU1JTdTZx?=
 =?utf-8?B?bmN3Tk9CMndHTmxDeFkrT1VwbWkxODdrZll0NXFUTDBMZUduUy92UzI1QjFk?=
 =?utf-8?B?S0ZkcmVVU2s2cjFNai9zYnA3VkZERHBscy9kMGpZaW4wN2NxbUhOT0pLalJ5?=
 =?utf-8?B?R1NSaEUwdTdoQmtndUZ5VlNxMnFkcjk5a1BwdThNcHcvdHZzdWo1ZmdUdE9h?=
 =?utf-8?B?anl5eDEyeURoYzFxY0kyWWV4YVdzUVFaR3pxSnRZcHJMWHZ6Wjl0REVrMXdQ?=
 =?utf-8?B?Z2I2bmhIMmRRQjZoaGxDL3VUTnFHbUpESWd6c1BGNThpcVcxdlhJYmlzTXRv?=
 =?utf-8?B?M3dGN1lmQmtNdWhpMXJKVkpNeWlkcnVucytwNlZHdTNTd2NXcXJGa2dFZzJR?=
 =?utf-8?B?WDEyQ1doalMzVFhpcGU3MzFMLzYvYjFMMklUQ1dFT013WEFXckJERWtXTHJz?=
 =?utf-8?B?WDJaZFdwOTBUazkvWmpCdG1GWEEwVDFYZXVtN296V0VxYWRncG5SM0hDTGdR?=
 =?utf-8?B?ZG85MHJqYVl0akt4REtXeHhnRVhwUzRKZUpqOURrNXpKMHVaS1d1bWpEY25n?=
 =?utf-8?B?RUtaekNGbjdoZDB0QjlHa2ovV21yNlhlQnBENHpEd1ROdzBTZDN6QkxUUytt?=
 =?utf-8?B?SERWRmx6azVaaGIxRXZFMG5XbDNIRkJKSGQxZ3hHNFFoSjVQWlB3QTR1L2I2?=
 =?utf-8?B?aFYySlF0b2NlaUNtTWF4V3VVSUtiRXVRb3k0S1d6YU9FT3M0OGk0TGRYa09w?=
 =?utf-8?B?MkpCOHBWNjl1SlFJcFFMNS8rVnlzclQyZkdhUnV1VGsyVzFhd1FUdFg1RkVJ?=
 =?utf-8?B?OXRxTGhnOXBpK1JmMVE3SWxIMGphTDFVY1pkZjVrRHZQTkFpYlJIaGxQRXcw?=
 =?utf-8?B?b3RNazlMUElDODBFVk9pRS82bldYUkdOZkJEU2pwZWRVMHNYeXUwbDlWc1hw?=
 =?utf-8?B?TGRiQ0hIUXVqVGt3NnM5M0t2bmdEM1p0ako1V1hoNTlsNE93U3lLKzY2ZW80?=
 =?utf-8?B?WDBYMUpYUERXM1RvTHZJQ3JNOFFyRXl0VHhmNUJIWWZUT3c3WjRNNGN0TUVq?=
 =?utf-8?B?VitrWGZEWk1scVN4RjNHMkFTQ2VhTWNCNGJxa3hnVWoreXZmcCtzb2xFeTZk?=
 =?utf-8?B?bGFESEZMTzg0dGxrR2Y5RUM5WTN6OHB2RnozYUNGWnNKZ0FLdGtsNzQ2ZzNG?=
 =?utf-8?B?UXlQTFpwV2xWTXVMTTZnT3d5ZVBUNXpqT3k5Rm12UUwwbW1wbTBDQWZUOGFJ?=
 =?utf-8?B?dGFBbytxVVNPRWlpcFRzWFhHRVBqczNsUTd0ZnZMc2kyZ29iQ2U0SXRTWGt3?=
 =?utf-8?B?ek9YelRXU1NEenZkVEJ1MlQ2UlgyWnhxSWVGSDRxK3ZIdUI5UkpvYXFxVER0?=
 =?utf-8?B?KzZyS2lmc1JTQ0RpL1ZQU0JHVXNKZUUvUy9lcGc5b2krT0IvSWtUazJDYndV?=
 =?utf-8?B?eUJ6U1RRdUNZb1JESlo1US9YVUt3ZndNc0pYS1d3ZjJDcjc4a29nMkorYmRx?=
 =?utf-8?B?c2lVU0l3UEFCSkF2bS9qNjdRSW1XTE56Rno1dk0xNzExVlJUQmxlSXQ4U2hG?=
 =?utf-8?B?SFpkTUdWSHowWDd5MnJkN0pIa3F6amdQcFR2bHhrZGdQamMybDU0cmpMSHBH?=
 =?utf-8?B?SVE5VW5LS0U0Q0E2VlVlOXVacWJxL21MUDZJb1ZEcWFZRWJ3R2NtaGV3TGIx?=
 =?utf-8?B?M0ZDeTFhNEtXYnBzZkNUaTRMQUVvVjIyR2toWDhCSWNETzJYYUtkTzNyenNi?=
 =?utf-8?B?Zmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?eU51M0VYSDZ0R0VJcFhjSi90ZmRiSDQrZDdaWmdjeE5vOFI1dWVUS2R3T0xY?=
 =?utf-8?B?WkFIcHdTalVMVHA1R0tDMG9Ec2FkU0tiUnkvR3JFNnZsdldWaENiQVdWNnZT?=
 =?utf-8?B?eXhrVEdWMDVEN3BYUDhvVkp1b1pjRlk2ZU5jcGdBRXJ0MDIwNDU1dThNbmkr?=
 =?utf-8?B?VVRHR0FkSTY1NngwL0pvNTh1Qzh1YUZFWVNROFNISzFnRE4raUFNZy9kVmJr?=
 =?utf-8?B?TzdjclJVTzA0N2lBOThtc0Z2c2NWZkVZTkpWS0lGNko2V3JqeHBrTUlBeHFT?=
 =?utf-8?B?UTVsR1hvZi9ONjJ0Z1ltc20vd3hOQ3g4YldZUWJkRUY4ZnA1UG9RTHBVVUtB?=
 =?utf-8?B?MFdBRENQWVVxU081bmg4cktGQ3Yvb28zU3RKYmQrcmZiMkxzbmNZanlUeW1G?=
 =?utf-8?B?bFFlb1FkOWZzT0ZVM2Q1NlpKb3NIaFZVaEYzMk0ycGlDLzVSZHNOTnJtaDAx?=
 =?utf-8?B?RHFWenZOMzJoTVFEWHVESkJqY1p4eUxxR2x1ZkFWY3lQNmZ1MWZBT2FLY3c3?=
 =?utf-8?B?d1p2RDgrdVBCR0NMcGREeXBGS255Y3RoSWp6eExHUGp2K2hHMDEwY0NqcUxT?=
 =?utf-8?B?Ym1HcWloU3c4VmhzblNZZ3hxUi85ZmJNNFlvUktObCtJQmdpd1U0aDBwUGU3?=
 =?utf-8?B?RUhFU0hCSHgrUDdpcVJ5K0Q2SVVPWXMySFNKa2pxQ3RkNkJGb0lFc1YxRG91?=
 =?utf-8?B?VWowWVRuZXVEd0xNZDFjZHNwYjc2azBtVHJsQ1JqODVqaHZWQUNsWHR6NmVr?=
 =?utf-8?B?L1ZOOE9GRlgwdzVqeVJMQmt0VlBYVjd3NlU5ZTlpSFF6ZG9ybk9zbHZDU3dO?=
 =?utf-8?B?L0lDMi9kTFVTZHJ5emtkall6WU9uQlZsaVBTQ2ZrQlNGbUR6VTlwMENVc1RX?=
 =?utf-8?B?czllRWN6eERnMmZkWEM1ZXJqZThnallFeXBFREU4QXpickcxenErTXRpbDdz?=
 =?utf-8?B?U0J6YTZFTktSU3FHRDBZcUZIQjdJV3lDN3ZzY01yakJlQjJxQXh6TVNJU3F0?=
 =?utf-8?B?NExmRmhSTGpnZkdEWWFCZG1wbWtWVFQ5MTk1eGFZWXJzWmVzK1pSUHJzTkhu?=
 =?utf-8?B?anBCaVJ5NXV1aGxDcTFCVVgxck0xQzFDQXBvMmJsNDZxM1FYQ3V6cGpxSDZ3?=
 =?utf-8?B?QTcrcFlHdkIxcHpFWVRmVTMzZVFHbTU3b2tORWg0eWpIWndaT29qOWxIOHlF?=
 =?utf-8?B?OHN4WU1FdTVQbmpSNlRVVkpnUzFVbnVpb2JTZkwvMVZvWVR4VERDMWxGaTJJ?=
 =?utf-8?B?MnpCTnh6QW52QkwzelZucSt1ZS92TVdUK0VaQUIvbEJkTy82dENIK3JNUFAy?=
 =?utf-8?B?UUVHbXY3NjllNk9XWlhDVUtUQzN3WU41eElDUzlTVENTeU5Md2lDOVBPYmNX?=
 =?utf-8?B?MkdheDk3c2xNbFlkK2tiY050M2ZVZ0xzazVudmxrVFg5aHY4UVFhSnoybXNP?=
 =?utf-8?B?S3ArMEFrS1VyQVRiNGZHakpSWEpvL3gwZXF4TjlZcm54SldCTHhpYkdzeDYz?=
 =?utf-8?Q?tdzvdA=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cda26bdb-f20a-4ea9-b118-08db25624103
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6368.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 14:33:33.3809
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: o6wFZglq4zZuUHKDsUONYhVyH/qz+zLKENV2hu25mXwHdy8bsZqIZJJzL5LWV5JFkMPzeO4oqSe8OAfDqNB0fA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5644

On Wed, Mar 15, 2023 at 01:38:18PM +0100, Juergen Gross wrote:
> On 15.03.23 13:10, Roger Pau Monne wrote:
> > In ACPI systems, the OS can direct power management, as opposed to the
> > firmware.  This OS-directed Power Management is called OSPM.  Part of
> > telling the firmware that the OS going to direct power management is
> > making ACPI "_PDC" (Processor Driver Capabilities) calls.  These _PDC
> > methods must be evaluated for every processor object.  If these _PDC
> > calls are not completed for every processor it can lead to
> > inconsistency and later failures in things like the CPU frequency
> > driver.
> > 
> > In a Xen system, the dom0 kernel is responsible for system-wide power
> > management.  The dom0 kernel is in charge of OSPM.  However, the
> > number of CPUs available to dom0 can be different than the number of
> > CPUs physically present on the system.
> > 
> > This leads to a problem: the dom0 kernel needs to evaluate _PDC for
> > all the processors, but it can't always see them.
> > 
> > In dom0 kernels, ignore the existing ACPI method for determining if a
> > processor is physically present because it might not be accurate.
> > Instead, ask the hypervisor for this information.
> > 
> > Fix this by introducing a custom function to use when running as Xen
> > dom0 in order to check whether a processor object matches a CPU that's
> > online.
> > 
> > This ensures that _PDC method gets evaluated for all physically online
> > CPUs, regardless of the number of CPUs made available to dom0.
> > 
> > Fixes: 5d554a7bb064 ('ACPI: processor: add internal processor_physically_present()')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> > Changes since v1:
> >   - Reword commit message.
> > ---
> >   arch/x86/include/asm/xen/hypervisor.h | 10 ++++++++++
> >   arch/x86/xen/enlighten.c              | 27 +++++++++++++++++++++++++++
> >   drivers/acpi/processor_pdc.c          | 11 +++++++++++
> >   3 files changed, 48 insertions(+)
> > 
> > diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
> > index 5fc35f889cd1..f14e39bce2cb 100644
> > --- a/arch/x86/include/asm/xen/hypervisor.h
> > +++ b/arch/x86/include/asm/xen/hypervisor.h
> > @@ -63,4 +63,14 @@ void __init xen_pvh_init(struct boot_params *boot_params);
> >   void __init mem_map_via_hcall(struct boot_params *boot_params_p);
> >   #endif
> > +#ifdef CONFIG_XEN_DOM0
> > +bool __init xen_processor_present(uint32_t acpi_id);
> > +#else
> > +static inline bool xen_processor_present(uint32_t acpi_id)
> > +{
> > +	BUG();
> > +	return false;
> > +}
> > +#endif
> > +
> >   #endif /* _ASM_X86_XEN_HYPERVISOR_H */
> > diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
> > index b8db2148c07d..d4c44361a26c 100644
> > --- a/arch/x86/xen/enlighten.c
> > +++ b/arch/x86/xen/enlighten.c
> > @@ -346,3 +346,30 @@ void xen_arch_unregister_cpu(int num)
> >   }
> >   EXPORT_SYMBOL(xen_arch_unregister_cpu);
> >   #endif
> > +
> > +#ifdef CONFIG_XEN_DOM0
> > +bool __init xen_processor_present(uint32_t acpi_id)
> > +{
> > +	unsigned int i, maxid;
> > +	struct xen_platform_op op = {
> > +		.cmd = XENPF_get_cpuinfo,
> > +		.interface_version = XENPF_INTERFACE_VERSION,
> > +	};
> > +	int ret = HYPERVISOR_platform_op(&op);
> > +
> > +	if (ret)
> > +		return false;
> > +
> > +	maxid = op.u.pcpu_info.max_present;
> > +	for (i = 0; i <= maxid; i++) {
> > +		op.u.pcpu_info.xen_cpuid = i;
> > +		ret = HYPERVISOR_platform_op(&op);
> > +		if (ret)
> > +			continue;
> > +		if (op.u.pcpu_info.acpi_id == acpi_id)
> > +			return op.u.pcpu_info.flags & XEN_PCPU_FLAGS_ONLINE;
> > +	}
> > +
> > +	return false;
> > +}
> > +#endif
> 
> Did you consider not to do the hypercall again and again, but to reuse the
> pcpu list from drivers/xen/pcpu.c instead? You'd need to store the acpi_id
> in this list, of course.

Oh, didn't know this was available.  Seems to be initialized before
the _PDC evaluation, so I can give it a try.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 14:38:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 14:38:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510100.787178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcSGO-0000kV-Qi; Wed, 15 Mar 2023 14:38:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510100.787178; Wed, 15 Mar 2023 14: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 1pcSGO-0000kO-N0; Wed, 15 Mar 2023 14:38:00 +0000
Received: by outflank-mailman (input) for mailman id 510100;
 Wed, 15 Mar 2023 14:37: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=sm4b=7H=linaro.org=jens.wiklander@srs-se1.protection.inumbo.net>)
 id 1pcSGN-0000kI-MM
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 14:37:59 +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 fab3e202-c33e-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 15:37:58 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id t15so17524670wrz.7
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 07:37: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: fab3e202-c33e-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1678891077;
        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=oHG1VDbNRy1U8AaIRsgEXJmXqErIvzTIkCs3Dr5XmGQ=;
        b=SHDN9/AgmN50JtA7fMVkJidWA0LqLNb5ddCoMAbrg7TyRje6jf8vUU3Th3BXBvTq1f
         sG5nHlIx2CPbpnBNm6upVXBUOKuyiCOTLhNoieIKHM5G0JV7E/zl9UKq6iwmVncBq5fz
         P91uZp/zdOUutyAySIlk/aY7d8B+UzJWiOmxDwKzFvxalkdXKR4fXC7U5y7RlTTdTysk
         afVRsMQndcGmgqMYgEHViF/Q1FoI2DlftI1crd+fRS5QKnxpw8+Ju9PpbsdQiz6rwIuk
         jkwRhEZmj4rMg9ubdjs4pawC0QFNCSyzCC2+RmmEfzRTwyqSLHmZYqqmqreluLumRv41
         in6g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678891077;
        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=oHG1VDbNRy1U8AaIRsgEXJmXqErIvzTIkCs3Dr5XmGQ=;
        b=mGhflK9Fc5NsDuOrakL9d9HVbJ+B4rhyRJAm+aX3Fb2Ji7J4LcuFCJQ8TYG+p0pUGV
         j9277sxQc/XncWFKTfyz2DYC8HlGlYwFMUU6Dq6eI40m9EWgnJAs0V3IECkCGgpSLutt
         /Em3b+3GyrqjmygX6HS7RhJcG9BZHrOwBaKSZ/MZHlSbgYOdxdLxSVtNMw2xC0C3cVh8
         whDnlXPuRrf7YYWxwQ3jqOGy8QwbepDXSIpQneEh9fOCX9jDHc8/pBWWNAOyZp+/DedK
         gAzS/wm8HhZwQDBRGkTST4XGIcqZ9EevZgoD7SWbxUPJRSlOBOXFot8Y4L100dVCo9Dc
         sIKw==
X-Gm-Message-State: AO0yUKWJkKjMAzXogg7u20rHocjRA+PKyRSxWVwUsIWaHYhCxMTIAagj
	jisPpl8daNERrIntjqauLbeT3MLFOkRstXGIO1kD2w==
X-Google-Smtp-Source: AK7set83Kmb1dg+r7Nuby2D/8Hq6Us7TjdgxmgrB1CqcjEZtMwArg//Zrx2wwEDReLYRajQUFWSKkgI2Rwmc/NScdl4=
X-Received: by 2002:a5d:5886:0:b0:2cf:e75a:eaf0 with SMTP id
 n6-20020a5d5886000000b002cfe75aeaf0mr822729wrf.0.1678891077543; Wed, 15 Mar
 2023 07:37:57 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1677079671.git.jens.wiklander@linaro.org>
 <5a48b7c7a56b83138932850eb7f94f90604168e4.1677079672.git.jens.wiklander@linaro.org>
 <D9FBF922-1941-401B-9794-45641A02FC19@arm.com> <CAHUa44FUHKqzSY1V0WV7-=LQEJTUuBFt_hLGsMbtgRsCtPuQTA@mail.gmail.com>
 <333E414C-CC5C-4217-B04F-D65A164D6802@arm.com>
In-Reply-To: <333E414C-CC5C-4217-B04F-D65A164D6802@arm.com>
From: Jens Wiklander <jens.wiklander@linaro.org>
Date: Wed, 15 Mar 2023 15:37:46 +0100
Message-ID: <CAHUa44HETt=Xt8eVYdWKdL5ZG3mqGqyEQ-v3xrV-2YjRFkaPgQ@mail.gmail.com>
Subject: Re: [XEN PATCH v7 20/20] xen/arm: ffa: support sharing large memory ranges
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Marc Bonnici <Marc.Bonnici@arm.com>, 
	Achin Gupta <Achin.Gupta@arm.com>, Volodymyr Babchuk <volodymyr_babchuk@epam.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Bertrand,

On Wed, Mar 15, 2023 at 2:35=E2=80=AFPM Bertrand Marquis
<Bertrand.Marquis@arm.com> wrote:
>
> Hi Jens,
>
> > On 15 Mar 2023, at 12:47, Jens Wiklander <jens.wiklander@linaro.org> wr=
ote:
> >
> > Hi Bertrand,
> >
> > On Wed, Mar 15, 2023 at 11:13=E2=80=AFAM Bertrand Marquis
> > <Bertrand.Marquis@arm.com> wrote:
> >>
> >> Hi Jens,
> >>
> >>> On 22 Feb 2023, at 16:33, Jens Wiklander <jens.wiklander@linaro.org> =
wrote:
> >>>
> >>> Adds support for sharing large memory ranges transmitted in fragments
> >>> using FFA_MEM_FRAG_TX.
> >>>
> >>> The implementation is the bare minimum to be able to communicate with
> >>> OP-TEE running as an SPMC at S-EL1.
> >>>
> >>> Adds a check that the SP supports the needed FF-A feature
> >>> FFA_MEM_FRAG_TX.
> >>>
> >>> Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
> >>> ---
> >>> xen/arch/arm/tee/ffa.c | 254 ++++++++++++++++++++++++++++++++++++++--=
-
> >>> 1 file changed, 240 insertions(+), 14 deletions(-)
> >>>
> >>> diff --git a/xen/arch/arm/tee/ffa.c b/xen/arch/arm/tee/ffa.c
> >>> index 3557edc455d0..72c0249d8cad 100644
> >>> --- a/xen/arch/arm/tee/ffa.c
> >>> +++ b/xen/arch/arm/tee/ffa.c
> >>> @@ -326,6 +326,7 @@ struct ffa_ctx {
> >>>    uint32_t guest_vers;
> >>>    bool tx_is_mine;
> >>>    bool interrupted;
> >>> +    struct list_head frag_list;
> >>>    struct list_head shm_list;
> >>>    unsigned int shm_count;
> >>>    spinlock_t lock;
> >>> @@ -340,6 +341,18 @@ struct ffa_shm_mem {
> >>>    struct page_info *pages[];
> >>> };
> >>
> >> We start to have a lot of fields here.
> >> It might be useful to have some quick documentation
> >> in comment here as some names are a bit generic.
> >> For example "frag_list" does not say much.
> >
> > I'll add some comments.
> >
> >>
> >>>
> >>> +struct mem_frag_state {
> >>> +    struct list_head list;
> >>> +    struct ffa_shm_mem *shm;
> >>> +    uint32_t range_count;
> >>> +    unsigned int current_page_idx;
> >>> +    unsigned int frag_offset;
> >>> +    unsigned int range_offset;
> >>> +    const uint8_t *buf;
> >>> +    unsigned int buf_size;
> >>> +    struct ffa_address_range range;
> >>> +};
> >>
> >> same here, at a first glance it is not quite clear why
> >> a fragment needs that much info. Some seem to only
> >> be needed during the transaction but do not need to be saved.
> >
> > This struct is only used during the transaction, so this is freed once
> > the entire memory transaction descriptor has been processed.
> >
> >>
> >>> +
> >>> /* Negotiated FF-A version to use with the SPMC */
> >>> static uint32_t ffa_version __ro_after_init;
> >>>
> >>> @@ -512,6 +525,36 @@ static int32_t ffa_mem_share(uint32_t tot_len, u=
int32_t frag_len,
> >>>    }
> >>> }
> >>>
> >>> +static int32_t ffa_mem_frag_tx(uint64_t handle, uint32_t frag_len,
> >>> +                               uint16_t sender_id)
> >>> +{
> >>> +    struct arm_smccc_1_2_regs arg =3D {
> >>> +        .a0 =3D FFA_MEM_FRAG_TX,
> >>> +        .a1 =3D handle & UINT32_MAX,
> >>> +        .a2 =3D handle >> 32,
> >>> +        .a3 =3D frag_len,
> >>> +        .a4 =3D (uint32_t)sender_id << 16,
> >>> +    };
> >>> +    struct arm_smccc_1_2_regs resp;
> >>> +
> >>> +    arm_smccc_1_2_smc(&arg, &resp);
> >>> +
> >>> +    switch ( resp.a0 )
> >>> +    {
> >>> +    case FFA_ERROR:
> >>> +        if ( resp.a2 )
> >>> +            return resp.a2;
> >>> +        else
> >>> +            return FFA_RET_NOT_SUPPORTED;
> >>> +    case FFA_SUCCESS_32:
> >>> +        return FFA_RET_OK;
> >>> +    case FFA_MEM_FRAG_RX:
> >>> +        return resp.a3;
> >>> +    default:
> >>> +            return FFA_RET_NOT_SUPPORTED;
> >>> +    }
> >>> +}
> >>> +
> >>> static int32_t ffa_mem_reclaim(uint32_t handle_lo, uint32_t handle_hi=
,
> >>>                               uint32_t flags)
> >>> {
> >>> @@ -586,6 +629,14 @@ static void set_regs_success(struct cpu_user_reg=
s *regs, uint32_t w2,
> >>>    set_regs(regs, FFA_SUCCESS_32, 0, w2, w3, 0, 0, 0, 0);
> >>> }
> >>>
> >>> +static void set_regs_frag_rx(struct cpu_user_regs *regs, uint32_t ha=
ndle_lo,
> >>> +                             uint32_t handle_hi, uint32_t frag_offse=
t,
> >>> +                             uint16_t sender_id)
> >>> +{
> >>> +    set_regs(regs, FFA_MEM_FRAG_RX, handle_lo, handle_hi, frag_offse=
t,
> >>> +             (uint32_t)sender_id << 16, 0, 0, 0);
> >>> +}
> >>> +
> >>> static void handle_version(struct cpu_user_regs *regs)
> >>> {
> >>>    struct domain *d =3D current->domain;
> >>> @@ -955,6 +1006,8 @@ static int share_shm(struct ffa_shm_mem *shm)
> >>>    paddr_t last_pa;
> >>>    unsigned int n;
> >>>    paddr_t pa;
> >>> +    bool first;
> >>> +    int ret;
> >>>
> >>>    ASSERT(spin_is_locked(&ffa_tx_buffer_lock));
> >>>    if ( !shm->page_count )
> >>> @@ -994,13 +1047,23 @@ static int share_shm(struct ffa_shm_mem *shm)
> >>>
> >>>    tot_len =3D ADDR_RANGE_OFFSET(descr->mem_access_count, region_coun=
t,
> >>>                                region_descr->address_range_count);
> >>> -    if ( tot_len > max_frag_len )
> >>> -        return FFA_RET_NOT_SUPPORTED;
> >>>
> >>> +    /*
> >>> +     * Sharing memory with secure world may have to be done with mul=
tiple
> >>> +     * calls depending on how many address ranges will be needed. If=
 we're
> >>> +     * sharing physically contiguous memory we will only need one ra=
nge but
> >>> +     * we will also need to deal with the worst case where all physi=
cal
> >>> +     * pages are non-contiguous. For the first batch of address rang=
es we
> >>> +     * call ffa_mem_share() and for all that follows ffa_mem_frag_tx=
().
> >>> +     *
> >>> +     * We use frag_len to keep track of how far into the transmit bu=
ffer we
> >>> +     * have gone.
> >>> +     */
> >>>    addr_range =3D region_descr->address_range_array;
> >>>    frag_len =3D ADDR_RANGE_OFFSET(descr->mem_access_count, region_cou=
nt, 1);
> >>>    last_pa =3D page_to_maddr(shm->pages[0]);
> >>>    init_range(addr_range, last_pa);
> >>> +    first =3D true;
> >>>    for ( n =3D 1; n < shm->page_count; last_pa =3D pa, n++ )
> >>>    {
> >>>        pa =3D page_to_maddr(shm->pages[n]);
> >>> @@ -1010,12 +1073,34 @@ static int share_shm(struct ffa_shm_mem *shm)
> >>>            continue;
> >>>        }
> >>>
> >>> -        frag_len +=3D sizeof(*addr_range);
> >>> -        addr_range++;
> >>> +        if ( frag_len =3D=3D max_frag_len )
> >>> +        {
> >>> +            if ( first )
> >>> +            {
> >>> +                ret =3D ffa_mem_share(tot_len, frag_len, 0, 0, &shm-=
>handle);
> >>> +                first =3D false;
> >>> +            }
> >>> +            else
> >>> +            {
> >>> +                ret =3D ffa_mem_frag_tx(shm->handle, frag_len, shm->=
sender_id);
> >>> +            }
> >>> +            if ( ret <=3D 0 )
> >>> +                return ret;
> >>> +            frag_len =3D sizeof(*addr_range);
> >>> +            addr_range =3D buf;
> >>> +        }
> >>> +        else
> >>> +        {
> >>> +            frag_len +=3D sizeof(*addr_range);
> >>> +            addr_range++;
> >>> +        }
> >>>        init_range(addr_range, pa);
> >>>    }
> >>>
> >>> -    return ffa_mem_share(tot_len, frag_len, 0, 0, &shm->handle);
> >>> +    if ( first )
> >>> +        return ffa_mem_share(tot_len, frag_len, 0, 0, &shm->handle);
> >>> +    else
> >>> +        return ffa_mem_frag_tx(shm->handle, frag_len, shm->sender_id=
);
> >>> }
> >>>
> >>> static int read_mem_transaction(uint32_t ffa_vers, const void *buf, s=
ize_t blen,
> >>> @@ -1092,8 +1177,53 @@ static int read_mem_transaction(uint32_t ffa_v=
ers, const void *buf, size_t blen,
> >>>    return 0;
> >>> }
> >>>
> >>> +static int add_mem_share_frag(struct mem_frag_state *s, unsigned int=
 offs,
> >>> +                              unsigned int frag_len)
> >>> +{
> >>> +    struct domain *d =3D current->domain;
> >>> +    unsigned int o =3D offs;
> >>> +    unsigned int l;
> >>> +    int ret;
> >>> +
> >>> +    if ( frag_len < o )
> >>> +        return FFA_RET_INVALID_PARAMETERS;
> >>> +
> >>> +    /* Fill up the first struct ffa_address_range */
> >>> +    l =3D min_t(unsigned int, frag_len - o, sizeof(s->range) - s->ra=
nge_offset);
> >>> +    memcpy((uint8_t *)&s->range + s->range_offset, s->buf + o, l);
> >>> +    s->range_offset +=3D l;
> >>> +    o +=3D l;
> >>> +    if ( s->range_offset !=3D sizeof(s->range) )
> >>> +        goto out;
> >>> +    s->range_offset =3D 0;
> >>> +
> >>> +    while ( true )
> >>> +    {
> >>> +        ret =3D get_shm_pages(d, s->shm, &s->range, 1, s->current_pa=
ge_idx,
> >>> +                            &s->current_page_idx);
> >>> +        if ( ret )
> >>> +            return ret;
> >>> +        if ( s->range_count =3D=3D 1 )
> >>> +            return 0;
> >>> +        s->range_count--;
> >>> +        if ( frag_len - o < sizeof(s->range) )
> >>> +            break;
> >>> +        memcpy(&s->range, s->buf + o, sizeof(s->range));
> >>> +        o +=3D sizeof(s->range);
> >>> +    }
> >>> +
> >>> +    /* Collect any remaining bytes for the next struct ffa_address_r=
ange */
> >>> +    s->range_offset =3D frag_len - o;
> >>> +    memcpy(&s->range, s->buf + o, frag_len - o);
> >>> +out:
> >>> +    s->frag_offset +=3D frag_len;
> >>> +
> >>> +    return s->frag_offset;
> >>> +}
> >>> +
> >>> static void handle_mem_share(struct cpu_user_regs *regs)
> >>> {
> >>> +    static uint64_t next_handle =3D FFA_HANDLE_HYP_FLAG;
> >>>    uint32_t tot_len =3D get_user_reg(regs, 1);
> >>>    uint32_t frag_len =3D get_user_reg(regs, 2);
> >>>    uint64_t addr =3D get_user_reg(regs, 3);
> >>> @@ -1128,13 +1258,6 @@ static void handle_mem_share(struct cpu_user_r=
egs *regs)
> >>>        goto out_set_ret;
> >>>    }
> >>>
> >>> -    /* We currently only support a single fragment */
> >>> -    if ( frag_len !=3D tot_len )
> >>> -    {
> >>> -        ret =3D FFA_RET_NOT_SUPPORTED;
> >>> -        goto out_set_ret;
> >>> -    }
> >>> -
> >>>    spin_lock(&ctx->lock);
> >>>
> >>>    if ( frag_len > ctx->page_count * FFA_PAGE_SIZE )
> >>> @@ -1195,11 +1318,41 @@ static void handle_mem_share(struct cpu_user_=
regs *regs)
> >>>    if ( !shm )
> >>>    {
> >>>        ret =3D FFA_RET_NO_MEMORY;
> >>> -        goto out_unlock;
> >>> +        goto out;
> >>
> >> Why is this changed ?
> >> You still have no shm here so call free_sha_shm does not make sense
> >
> > Good catch, I'll fix it.
> >
> >>
> >>>    }
> >>>    shm->sender_id =3D trans.sender_id;
> >>>    shm->ep_id =3D read_atomic(&mem_access->access_perm.endpoint_id);
> >>>
> >>> +    if ( frag_len !=3D tot_len )
> >>> +    {
> >>> +        struct mem_frag_state *s =3D xzalloc(struct mem_frag_state);
> >>> +
> >>> +        if ( !s )
> >>> +        {
> >>> +            ret =3D FFA_RET_NO_MEMORY;
> >>> +            goto out;
> >>> +        }
> >>> +        s->shm =3D shm;
> >>> +        s->range_count =3D range_count;
> >>> +        s->buf =3D ctx->tx;
> >>> +        s->buf_size =3D ffa_page_count * FFA_PAGE_SIZE;
> >>> +        ret =3D add_mem_share_frag(s, sizeof(*region_descr)  + regio=
n_offs,
> >>> +                                 frag_len);
> >>> +        if ( ret <=3D 0 )
> >>> +        {
> >>> +            xfree(s);
> >>> +            if ( ret < 0 )
> >>> +                goto out;
> >>> +        }
> >>> +        else
> >>> +        {
> >>> +            shm->handle =3D next_handle++;
> >>> +            uint64_to_regpair(&handle_hi, &handle_lo, shm->handle);
> >>> +            list_add_tail(&s->list, &ctx->frag_list);
> >>> +        }
> >>> +        goto out_unlock;
> >>> +    }
> >>> +
> >>>    /*
> >>>     * Check that the Composite memory region descriptor fits.
> >>>     */
> >>> @@ -1238,7 +1391,75 @@ out_unlock:
> >>>    spin_unlock(&ctx->lock);
> >>>
> >>> out_set_ret:
> >>> -    if ( ret =3D=3D 0)
> >>> +    if ( ret > 0 )
> >>> +            set_regs_frag_rx(regs, handle_lo, handle_hi, ret, trans.=
sender_id);
> >>> +    else if ( ret =3D=3D 0)
> >>> +            set_regs_success(regs, handle_lo, handle_hi);
> >>> +    else
> >>> +            set_regs_error(regs, ret);
> >>> +}
> >>> +
> >>> +static struct mem_frag_state *find_frag_state(struct ffa_ctx *ctx,
> >>> +                                              uint64_t handle)
> >>> +{
> >>> +    struct mem_frag_state *s;
> >>> +
> >>> +    list_for_each_entry(s, &ctx->frag_list, list)
> >>> +        if ( s->shm->handle =3D=3D handle )
> >>> +            return s;
> >>> +
> >>> +    return NULL;
> >>> +}
> >>> +
> >>> +static void handle_mem_frag_tx(struct cpu_user_regs *regs)
> >>> +{
> >>> +    struct domain *d =3D current->domain;
> >>> +    struct ffa_ctx *ctx =3D d->arch.tee;
> >>> +    uint32_t frag_len =3D get_user_reg(regs, 3);
> >>> +    uint32_t handle_lo =3D get_user_reg(regs, 1);
> >>> +    uint32_t handle_hi =3D get_user_reg(regs, 2);
> >>> +    uint64_t handle =3D regpair_to_uint64(handle_hi, handle_lo);
> >>> +    struct mem_frag_state *s;
> >>> +    uint16_t sender_id =3D 0;
> >>> +    int ret;
> >>> +
> >>> +    spin_lock(&ctx->lock);
> >>> +    s =3D find_frag_state(ctx, handle);
> >>> +    if ( !s )
> >>> +    {
> >>> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> >>> +        goto out;
> >>> +    }
> >>> +    sender_id =3D s->shm->sender_id;
> >>> +
> >>> +    if ( frag_len > s->buf_size )
> >>> +    {
> >>> +        ret =3D FFA_RET_INVALID_PARAMETERS;
> >>> +        goto out;
> >>> +    }
> >>> +
> >>> +    ret =3D add_mem_share_frag(s, 0, frag_len);
> >>> +    if ( ret =3D=3D 0 )
> >>> +    {
> >>> +        /* Note that share_shm() uses our tx buffer */
> >>> +        spin_lock(&ffa_tx_buffer_lock);
> >>> +        ret =3D share_shm(s->shm);
> >>> +        spin_unlock(&ffa_tx_buffer_lock);
> >>> +        if ( ret =3D=3D 0 )
> >>> +            list_add_tail(&s->shm->list, &ctx->shm_list);
> >>> +        else
> >>> +            free_ffa_shm_mem(ctx, s->shm);
> >>> +    }
> >>> +    else if ( ret < 0 )
> >>> +        free_ffa_shm_mem(ctx, s->shm);
> >>
> >>
> >> If there is not error the stuff allocated are kept but i do not see
> >> where/when they would be freed or used.
> >> Could you explain why we need to save all those ?
> >
> > s->shm is the final shared memory object which is added to the list of
> > shared memory objects when the transaction is completed successfully.
> > The fragment state, s, is kept as long as the transaction is ongoing.
> > Once the transaction is completed successfully or due to a failure
> > it's freed.
> >
> > The specification doesn't say what to do if an invalid frag_len is
> > detected, except that we should return FFA_RET_INVALID_PARAMETERS.
> > Currently, we just return an error, but keep the state. Another option
> > is to free the state instead since the caller might have lost track of
> > the state.
>
> There is no solution for the client to "continue" anyway so I think we sh=
ould
> properly cleanup in all exit conditions.

OK, I'll do that.

Thanks,
Jens

>
> Cheers
> Bertrand
>
> >
> > Thanks,
> > Jens
> >
> >>
> >> Cheers
> >> Bertrand
> >>
> >>> +    list_del(&s->list);
> >>> +    xfree(s);
> >>> +out:
> >>> +    spin_unlock(&ctx->lock);
> >>> +
> >>> +    if ( ret > 0 )
> >>> +            set_regs_frag_rx(regs, handle_lo, handle_hi, ret, sender=
_id);
> >>> +    else if ( ret =3D=3D 0)
> >>>            set_regs_success(regs, handle_lo, handle_hi);
> >>>    else
> >>>            set_regs_error(regs, ret);
> >>> @@ -1357,6 +1578,9 @@ static bool ffa_handle_call(struct cpu_user_reg=
s *regs)
> >>>        else
> >>>            set_regs_success(regs, 0, 0);
> >>>        return true;
> >>> +    case FFA_MEM_FRAG_TX:
> >>> +        handle_mem_frag_tx(regs);
> >>> +        return true;
> >>>
> >>>    default:
> >>>        gprintk(XENLOG_ERR, "ffa: unhandled fid 0x%x\n", fid);
> >>> @@ -1396,6 +1620,7 @@ static int ffa_domain_init(struct domain *d)
> >>>        }
> >>>    }
> >>>
> >>> +    INIT_LIST_HEAD(&ctx->frag_list);
> >>>    INIT_LIST_HEAD(&ctx->shm_list);
> >>>
> >>>    d->arch.tee =3D ctx;
> >>> @@ -1560,6 +1785,7 @@ static bool ffa_probe(void)
> >>> #endif
> >>>         !check_mandatory_feature(FFA_RXTX_UNMAP) ||
> >>>         !check_mandatory_feature(FFA_MEM_SHARE_32) ||
> >>> +         !check_mandatory_feature(FFA_MEM_FRAG_TX) ||
> >>>         !check_mandatory_feature(FFA_MEM_RECLAIM) ||
> >>>         !check_mandatory_feature(FFA_MSG_SEND_DIRECT_REQ_32) )
> >>>        return false;
> >>> --
> >>> 2.34.1
>
>


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 14:56:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 14:56:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510104.787188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcSYI-0003d1-Dv; Wed, 15 Mar 2023 14:56:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510104.787188; Wed, 15 Mar 2023 14: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 1pcSYI-0003cu-BC; Wed, 15 Mar 2023 14:56:30 +0000
Received: by outflank-mailman (input) for mailman id 510104;
 Wed, 15 Mar 2023 14: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=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcSYG-0003co-Ux
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 14:56:29 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0610.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ec4ef8b-c341-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 15:56:26 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8387.eurprd04.prod.outlook.com (2603:10a6:20b:3f7::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 14:56:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 14: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: 8ec4ef8b-c341-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Bb02jUtaHDrvuXBagkL4IiO6QocBiolOEziSzvdxAjQGvSOuESbaLjoJGIkl/hYlT9dTG0lTDqKvrmo5mtOzIQWzIfGqR1fueFl6xXSVfSJVhqL+N1NOyUJ4lVxUFF6jxj3/nHqEeOfL0d5bMQOXGQGRA9b6Letj9BU1VYsa6I/FUJqimjlj4EvQSRiPOxP0PxfoWav3eaSI3EwtXhkk8IZz+FgwXEB9t2ryLJZotMFI0yF2kb5aCLQs/6H3W3NL5s9IvLIgN4iYv2CgBODSNSRvSQp3219Gx/BI5t43OHqFcxlZ79caqC5NUG1M/J+fLJ4zeiwGUvc5ksNjcDezAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KDPy47sNC5VH+IRcfbbFuhuXJwhwTiwBQolUW2VF7I8=;
 b=ZjMs4ApRqjC7kj0eTyVdA1B5/zObpX20xztCbIqQg1KBZlbYkrgaAxjIRbttK+MH0GfIAho6Q+J8P9bfQpcw0M+9sF7c9GNXb2IkhtOGDX2FIzb3AZGxO+zLTVARVC4TVjdOdaxe4HuaSh9UhcWA2xP0e9C9xayPIZntvJ3Aj+39Lq3r9jAj653k62Q3sT49EFe+LLcy9wYfyWSM1Eqv/pnraraYbNyloSkrYAtjs+jfub4zJ3VC+/g7pQVKVWLbvwzRPKLyaC+PHbEVD94acAfIgxD29V+IHnP3XRWwVf3S0uBgg19A+yw6q7Y0iGPPUo7YCRLdwta9hQz/PgsemQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KDPy47sNC5VH+IRcfbbFuhuXJwhwTiwBQolUW2VF7I8=;
 b=we6jm8bLnN/vJ6l5YgdcrOXQ7CprUF9PeEP84d7iuSs8/3VsKkqm6QRUkd4YgqBH5kRxXqMPJQ618Lbq1lhwAbahnFG/cbZvPb5nvueDhNBhoXkJom4h1/5+cCD4jbIlBvrhihq/Zq8gD7u8a4hi/bTzilZ4bQsU3/I48ixoCzZK5YJhfdpm2JQGykfkPDRxlrtI8KmOYNBL+OWWnHoLQtRvH1iFhucAde0vl+iyS2AsiyR6ZeYhY0o6wM1MuJP1WfpPWLUqxj1/OQN2++TKXjkOXai0ad9neJzYa6ugfLTvA88/v9tJBgCaunBtgUFScZ8ZDTWyVwkOc5l+WQpW3Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ca9930ee-e6bf-3cf3-633c-02d5f21760f5@suse.com>
Date: Wed, 15 Mar 2023 15:56:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] build: omit "source" symlink when building hypervisor in-tree
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0146.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8387:EE_
X-MS-Office365-Filtering-Correlation-Id: b7f17a94-6724-4744-09f1-08db25657212
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Tarx3vht+jLZkVaR8QQ0YdICOip6Uy1e5iKWuY7rx8Kg3yEuljuZzrOQfAB6xMQPCe99VlzYi1lJ0pM7RyMIR8XKp8+36vd/MZu4wk373xDzvt1lKiEwQp4PnsdcPDTNYWcYlLFhdBTYoVW8ydM66QfhVWfWc9ZMXT0C1w5SSEZ+TMLPkwwJFvmi1qWvEn7EhewTp3aKWqb+Q7wWupCJswQOmW/gLGkQKmg9tPDbBSHKOVYaLQf3d6Ma5ww9nxVLdtmkYhiVn4EC41n1fm0sG4TxJSWCcwNiDXtEdNOgz2wWr56QXliT/C6lroYL8VgfmwtXdvc8NHH7NylT/71CttsnzECT9OBjKEJz+fURCC88X3f+0DXW4/xcShCen+LeLfao1//SgqIedEvXPhj64TQxUhOUgh8WbrO+WWKVI3lJsBjMVqHhAESBKw+Eg5MJi/+NVhGi6qn/kQLjbXd8WUpZL7ZofWjXJfJP5iTlB2gKgQrtHkyBS89EzHD8cx16mA7OlLenmzTiOMk0ig6LfK+EfBgahhii0kx/G0cAPLWydnvOpmW2izUo1S/l4FFEXX+9ajCdEd0ZlrmGeRCcy1khz6R30BtjGAlaQOsJwlwDo/eQZi+LCD+6D+sw25XRRhFi9kM5Rkpj+DfQJF3Vq2DsTOLvtNqobHxeLGsEoaIaOu4biNL4pf0vfBUO/av7zZP37xHAItfyAQxrw8B8I1Y3CYDSVCdOEupGnhmiOVw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(396003)(376002)(39860400002)(346002)(451199018)(31686004)(8936002)(36756003)(41300700001)(5660300002)(4326008)(2906002)(31696002)(86362001)(38100700002)(6666004)(66476007)(66556008)(8676002)(6486002)(478600001)(66946007)(6916009)(316002)(54906003)(2616005)(6512007)(26005)(186003)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WEt3UFIwczFPa1ZqWGdMblJnWWkyemhwNmdzczB5NGVyY005WXpuK0VwNXpE?=
 =?utf-8?B?RWlzYlZ6dDdUbS9LQitFOUNjS2cwWFBYc2tRSGRvMjMwUXJIMllVUVlOM095?=
 =?utf-8?B?M3RSc3FuMXBiNDlqNlc5TENJZUlVZGlWRU1xcE9vRlJLMm5IeVRid2h2MSty?=
 =?utf-8?B?L21vcmxGWEY0eW5xdnFZWmtldDhSZXIwYS9wWDQ3ZUkzbEZRZ3JwOTNldnZ5?=
 =?utf-8?B?WnpGQ254NWptUERnRnM2NG0zTGhNMTArdjRlelBMcEV0Tit2MFpORlB6ai9i?=
 =?utf-8?B?czVWTmZLanIvZTFneGVrczV2NnNMTzZKZUZGRjZ4aWxjMWxwc3RtVzQzeXl6?=
 =?utf-8?B?QjlkRDdrMlJKVlRZL0djUEhpdWZhQjUzU2Y1cFJQcXFkRTlud1dRa25MSjhh?=
 =?utf-8?B?blFzSDRiODBxY09yVzV2aElNbmxHM2ZxRHcyVnkwZGRXaHlYSHRsVCtMUWp5?=
 =?utf-8?B?NXduVjgyZXgvT0RlMmcyQm05SkF6RnZVdmhSTkZkUi92SCtOSGRQaEhrbGZw?=
 =?utf-8?B?RUhLQ1oxT3FxRC9pNVBDSUpnQ0U5cHR0MjZ5KzgvMWhSYWRjVEtZSW1iVitS?=
 =?utf-8?B?WkRwZlBTdDdHang2MnBkd0E3dWhhc2dKcUFWdUtQYW9HUjhUOFBWRDZEbkVU?=
 =?utf-8?B?TXF3dEtieXFONXVCRmVwdWxESjNRSmx5dnBhSmpWV3RYUkg4SkdyWlRhcDYw?=
 =?utf-8?B?NUlEWDJvbkJWMUxjZU96TTVMZnVaTnY1K0NaR3lDQ1h0ZkR6TUJQbGNvRGx2?=
 =?utf-8?B?QmxDTjhnbUdvQjJhamRVdFY2Q25xY04yVXNORHdjUm1IRzVSU2ovUlNrd2NW?=
 =?utf-8?B?NXNOWGZHbDM0dytNUStLRjhGcVRiazMvYkdOUzZOdzdsbFo3dkZJQWFIbnQ3?=
 =?utf-8?B?U2ZuU1pCMllaOFk0bjRFM1J2TlRqbXBpallnQTBibHpIOUF6Y0hzSzBMSlB6?=
 =?utf-8?B?MHdVMmVVWUs5TmhxZHZYd245SHJnK1JXcDVhSWhsQXVFS2xhMWcxV3JVbUZT?=
 =?utf-8?B?dFBmKzJvWTRCNDYrbTJuNnBQZkV4OXdwUTBhWlkwM0YvOW1PKzk1ZG1kbVlv?=
 =?utf-8?B?UitGZUNxeGR5bW5Ib2xwdVNlUS9TUDhNTXFjNEZHSjFId0VRMmNrV3pnWTdw?=
 =?utf-8?B?ZHg2ajMva20vQU1NTngwTE1neWg5S3UzckRUNWloUGEyT2o2dmJrWFBZb3Mz?=
 =?utf-8?B?OGUvUlRQOXdVRDZPbEN1NlFyUWowMklnWnQzMUM1WjJMY1lVeHppbmd0SFBE?=
 =?utf-8?B?STk3RXJPS1l6cjZaOUVNQk5FVC9SSDdZVTVVOG9nRDk2QWZ0TExyTkNVd1RQ?=
 =?utf-8?B?ZHFxSTVaL0hMM2t6YmVYSFJMQjN0SHNjcjVwY2JCUmFlL1Y0QTZzemtRQktJ?=
 =?utf-8?B?OVNLczFtN2N5YTlPbnZjRkkwSU1JRm9iWSsvMWd0QzFKanFITzkyODBLVlVY?=
 =?utf-8?B?amh5RGhld0IyeS9oWUIxN0J6WncxZXhZdkw1RUU0akhLbWVoaElkTjFhR2ln?=
 =?utf-8?B?ajBSVmRNZ2FPV3V3VVZKYnNxdjlDRG9zMWk2dDAwcW5FLzhKclBWb0V2U0xU?=
 =?utf-8?B?eDVFb2NTTzI5K0RUNWFnTVNnQUFXWUhVNWc5WEVIZXB0Mk8rVkwvL2p1ci9Y?=
 =?utf-8?B?T2ZDWWMxWjdhNnc1VVhJamxiUmpZcHQ2OU1XN0NDVDBmSXB3R0xMNW94UmRB?=
 =?utf-8?B?b3N3cVR0cENYLzFWRFBSZEJENTNQYkFpcGE0d0VRaGdwbkxtamFlazVpV3cy?=
 =?utf-8?B?Y1haeUExYUpOYW55bVF6UmZ6QXRBSk1KUjFlS1Z6UnZJSkRZaWFNakl5azJv?=
 =?utf-8?B?anExL3JGK2d2U1Yrb1U0NlE4QXpTdEhENUpldDVHSUNXYXpCeVlQZFBFMXJR?=
 =?utf-8?B?WTRwTnZEc3FXU1FFdlBDeXNrV2FFcUFSTUc0Mm5HZ2JFYThCS1RNUFpsWUNv?=
 =?utf-8?B?KzFUcnErc2xxK0pvRUpQZlFWT3BINEh1YnZaVXJyTDcwODVhUWxUUFNVM21q?=
 =?utf-8?B?Y09tQVIrTGdLM3U1SVg3ZlpUVEVjZkFYemFVTzlMNVdOODZiSU5SZkNjRyt3?=
 =?utf-8?B?YmQrVW15Nkt1ZmwzNVd6N3I3ZVRnazNnZVhXdlJybkQ3RUdjSmVOWjV5MEts?=
 =?utf-8?Q?10+Co8qlTVOaegCHFmdFiLMcg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b7f17a94-6724-4744-09f1-08db25657212
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 14:56:24.0172
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hFE5tivNcqH6ny34gPtqzNUQ866KIdKuHaJTZR/VabpI41iUvPfivgA1nGABAFXsM2eExqEKkuOAlFbGDi0rPA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8387

This symlink is getting in the way of using e.g. "find" on the xen/
subtree, and it isn't really needed when not building out-of-tree:
the one use that there was can easily be avoided.

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

--- a/.gitignore
+++ b/.gitignore
@@ -295,7 +295,6 @@ xen/include/xen/*.new
 xen/include/xen/compile.h
 xen/include/xen/hypercall-defs.h
 xen/include/xen/lib/x86/cpuid-autogen.h
-xen/source
 xen/test/livepatch/config.h
 xen/test/livepatch/expect_config.h
 xen/test/livepatch/*.livepatch
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -310,7 +310,6 @@ cmd_makefile = { \
     } > Makefile
 
 outputmakefile:
-	$(Q)ln -fsn $(srctree) source
 ifdef building_out_of_srctree
 	$(Q)if [ -f $(srctree)/.config -o \
 		 -d $(srctree)/include/config -o \
@@ -321,6 +320,7 @@ ifdef building_out_of_srctree
 		echo >&2 "***"; \
 		false; \
 	fi
+	$(Q)ln -fsn $(srctree) source
 	$(call cmd,makefile)
 	$(Q)test -e .gitignore || \
 	{ echo "# this is build directory, ignore it"; echo "*"; } > .gitignore
--- a/xen/common/efi/efi-common.mk
+++ b/xen/common/efi/efi-common.mk
@@ -5,11 +5,16 @@ CFLAGS-y += -fshort-wchar
 CFLAGS-y += -iquote $(srctree)/common/efi
 CFLAGS-y += -iquote $(srcdir)
 
+source :=
+ifneq ($(abs_objtree),$(abs_srctree))
+source := source/
+endif
+
 # Part of the command line transforms $(obj)
 # e.g.: It transforms "dir/foo/bar" into successively
 #       "dir foo bar", ".. .. ..", "../../.."
 $(obj)/%.c: $(srctree)/common/efi/%.c FORCE
-	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
+	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/$(source)common/efi/$(<F) $@
 
 clean-files += $(patsubst %.o, %.c, $(EFIOBJ-y:.init.o=.o) $(EFIOBJ-))
 clean-files += common-stub.c


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 14:59:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 14:59:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510106.787198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcSao-0004Ks-Rq; Wed, 15 Mar 2023 14:59:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510106.787198; Wed, 15 Mar 2023 14: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 1pcSao-0004Kl-Ou; Wed, 15 Mar 2023 14:59:06 +0000
Received: by outflank-mailman (input) for mailman id 510106;
 Wed, 15 Mar 2023 14:59: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=MLe6=7H=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcSan-0004JB-6v
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 14:59:05 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20608.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec99edd2-c341-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 15:59:03 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.26; Wed, 15 Mar
 2023 14:59:01 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 14: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: ec99edd2-c341-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EMcq/o5oBfI5ymJlqCKKjitOpknzMHffHsk+A1o4dRAOhntSEP345mv+XSgQrdSCgxcafT/WlFUWQIFHKQ81MmLWGpoYw09XXUtKS/x6k/GJFElZG0uSmEx93+M0nYeZulAmGTHNiYoYIwzEFGs84GeVGsbXg25NTuRoJO8lwBQV2oSrkWMPHy5Ujc7qviS7FCiUpr0m7vKRDvBYgYsXJHfpDt9LSlUF81YRXvwwGCCsrUFlg+1R+SfdvKv/tW5VHkOSNPu9+pVXPWPPI+Jw0hEw7Van6F2hfdk+PopGtXRclCPXVCFblVz6BJMUUETdNn6R6eh9/KgYOEc038UqBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hoaYAksnZO1rpp8iYxRaYazVGMnUS82MF98FgInLRWg=;
 b=K7esE0PkY8mwnRshRizzCVoYCu6QgnXyNd0IgwykXxPXQj16UcV59sESk+srJsNX4hRrUKfQtRX5XsLQvT1M6RsYVgSGKUldc7rgVbtcZypCSN3na5wmpPsUL+iFeHThglfXKqZIlO6X+qbZgHHda/GCTXKXFOtLXgB/DgBhG3dozMLN1jBTsVyZZtVzmQRQI9tbTLuzPi58ZZ0OmJpyzW0CKgvkgxIc6brryOV6wkTYd6O9PbWr4S19w3xKNfLQw1Ccr4Dz6g5HoNvdvavRHVoNtUosE/r+7H/HpqE91bJoptNELKwrFvqc6W925ZGemE5WIxelIBgYY5dXbgQyUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hoaYAksnZO1rpp8iYxRaYazVGMnUS82MF98FgInLRWg=;
 b=hcB5Vbgmmatb7/vlmRYvDwaHLntFTmN6blfrYXTnCHq95KNJUPLt+Ne/3lQrHzgHgYVhyoT+wIYVc1nzgMU+22eu3c0zt16lWaqA1txnNMFc42Ge70tMFWssPZbkhd+k55vpsbhlLtXsluJs7XGy+GOx2kiz+PIGsjU6PHwgp4Ivl8lLKjUqcP+px7VmlJGEJT9xRQDXTcUw0cMj8UVeiha6N0RdfyxSYuEvRb9cEq/ZZSs79dtRHclWGs7VA1F8qRv3aV9Dho/afsIDnvqLFPg5p5tIvcZWQrUvJVvEPB4wEOxCY+z0CGm+ruUdNtO3MQ4z7puVyXL77muL5iXkuA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <beace0ce-e90b-eb79-4419-03de45ea7360@suse.com>
Date: Wed, 15 Mar 2023 15:58:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH RFC] build: respect top-level .config also for out-of-tree
 hypervisor builds
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0051.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7079:EE_
X-MS-Office365-Filtering-Correlation-Id: 281a08e7-ea1e-414d-c295-08db2565cfee
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TkW5cfqVni3aKLWp8xTLgBpbYDL6WhC3O0Y/U7caKL+dVsqZ0c4WnfYfjHjM01WoObc26kmkNFpZrDdcSocHJvk/Z4hfYKI96HgAwIM0dTi3XkR+79ztfQ0Bt1nSuhA8Fx+OjIH1zBsvB+34fx/XYJeLz1DYrnsrWgM8AcAHvqw9fR7Ci3PL/mwqh+/pGZiTGpa8zM9Y/lIHggU30Z28f2g8cX9fP6pnLGZs8+7OCLTS0Ul8DgfOiJIdIXVAml2zciH14GWj/FwL+lHVaAU9M2u92Z7YS8maYeKNe5hf1CwkYOhbBjGMjRnNj8c6l0uoWJt8KJHLvEXCaerLZHNZDEQJIOJinroUsFSqHC+8qkreAnOwvkOB9PB/LK8fx+SoV2P5xKETqXrS0OSGpgFV/wZjTYTc89ZnqpUF0n9iNhe2GKZynZyLRY5ECdVeEKBOacTHEZFI8jKzNO3xT2DcOBYwj5/W1P7wHmqirf6th4ANaI06emwmseBEgtsKMyr63D3GCx7PAKsGamSv9sqeliBbAJrlApcZ0RNcRPSlM2qSyyelM6ps7d4IixDM/C4/wyzvMz9k1jHqk1AxTZBUfOZTAjnm/HqZnLfx+DjXAqnXgd0wLvlcFDM8cSI61+wV+b6ojtIPCbAsSLmNHBxqqvJ0Y4PsVRgFFXCwa5+HLAGzUoM2/D6BD6oT7SHbtfzO7DyzrfJ09B8zcwQSkwyR9TVVEucfF4zsEvAOByyMK3aIpPIghrb64CJ7VFQ1vbnHMyCMorZ1PyaqmDK1fVov3g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(366004)(346002)(136003)(39850400004)(396003)(451199018)(31686004)(41300700001)(36756003)(478600001)(8936002)(5660300002)(2906002)(86362001)(31696002)(38100700002)(8676002)(66946007)(66556008)(66476007)(6486002)(4326008)(54906003)(316002)(6916009)(26005)(6512007)(2616005)(186003)(6506007)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ei9VZ1BlVWo4bFVRN29uRTdtVzVaTmpnaG1iZ1h1dDJ4c1FsQlUwUlNQVWN6?=
 =?utf-8?B?QmpIM2ZwWkROeFUyc2MyeFVkYU5LaWtpQzFKYUQ0V2JLdzkzRVZwKzJOOFVx?=
 =?utf-8?B?MVd2MVVwUDRQKytBUXQwMW4rbGk1MEd4bGpIblN2VzVMRTdvMW9TZC9hK0l5?=
 =?utf-8?B?ajdSeE5zaU1tNzhzeElaMmx5clZ4ZmxsYjA1bkNSaWhtMXJJTlBEdDlnYXk4?=
 =?utf-8?B?ZlZ2TmtsTVdMZVJVdEhXNHF5SE9ia05ycVdKbnJyUnQxbnY0bjErMUc4cCtr?=
 =?utf-8?B?V3lrVG0vQUg0M1FscG4zdXdIVloyTnBOZ21FMS8xMVk1TW9ibVhrVGE4VWdJ?=
 =?utf-8?B?R3lqRFZCVUdKMTBrQWc0U2dWbzdkRjRWbmFGUy8yNzdyZEZaMjFzeUJxRHMy?=
 =?utf-8?B?ei9nYkFkSVZaOEtnVFlJd0FISU5xMDluVUxkVmFlazRSYUVCV1RtZkZGVXFQ?=
 =?utf-8?B?YTJDRlZkQmFqTVJmQXNidFhHWXRXK1VuQkJUUHBxUEliVElobldnY0ZzK2Va?=
 =?utf-8?B?c0xQOFBObmR4eFV4ckFzbjlCMW0vcWt2c2RSRjRPZTFJZGFUN0IvNXE5c2J5?=
 =?utf-8?B?aGZ3dmM4T2QrempOUXpySEVXdTRWS1VsUHhzK0pROUZmVHdtMkVWYnhCR3c2?=
 =?utf-8?B?UDgyY2xRcjUvSTg5NnFtcVhadG1YWkRxNVFycFNVRkYyZzIxSjlUN3psMVRr?=
 =?utf-8?B?TWVoS1ZaL0M3ZitnRDJPczBoZkZXRmJFMDBhRVRHYXJ4TXNHd0pSbnNyUjRt?=
 =?utf-8?B?Z1J2WEpDblBLNWd3VjJGL2NHYmY4TFRoYUJOZTluTE90YVpBNVpqWUtBT0N3?=
 =?utf-8?B?dmRXTTRKT05ibmFCMjBnV1JqendqRW1KMlBpSmsrcmZEWVRuS1V5MDRSaXh2?=
 =?utf-8?B?RStDQVZNRmFmcDVrYzNoMWRqSi9YMDVyY3hCRURyUmF5Q2ZuZlRvb0xmY1dB?=
 =?utf-8?B?UUVoWXZVY092ZEtrNVZqNnN0VjhRd2NQTzU5VDgzaEJPWWR4Mko2dlFZazUr?=
 =?utf-8?B?MysxUk8xS1AweFhtWG5ycnkrcnB2MXRPKzl0SmtMNVB0WmZaNVd4dXVvMXNw?=
 =?utf-8?B?ZmRsbUo1RmdEQ2FBckZrYWpOUDN3dG9RcURLYzhnNHlNckhEeTVEQkhvckFM?=
 =?utf-8?B?c1FyeWp5cWtkYmJFOGY4aFpzNnJwWVRzKzR5UlFqQXJUZXZ0d29vUFREMzdj?=
 =?utf-8?B?VlpSWVhHS2VLTlpZcHRmS29EUmZBcytFYlRHNHU3U21EUGJZOC9uTmpnOHBz?=
 =?utf-8?B?TDlma0lXYkhSbEVYOHJRVXVzRGQ5akRWSkp4WTE3Y1pRZTBoTFA4aVkxTjN1?=
 =?utf-8?B?Wk12MkJDQTRHaU5UaGw5bVdOdDhBMWwwSVV6eXFvTVMveUFCeS9RaXNzOUdB?=
 =?utf-8?B?Sm44TjFFUXJWM3d5cGZZdHNXVlYxRTVwQ0xpaVB0SlpwTm53em95S253K2FU?=
 =?utf-8?B?UkllZlVjWG1NaGxZSWlYMzAveWVqR05kTUNlM0lwY2R5OHV2QmdIZVcvLzI2?=
 =?utf-8?B?SWpGa09rMmNpQ1Q5RDhGMjZ1WmFjNWtTakVEaDFCcm1GYVAvdVlYeXNoR3Ro?=
 =?utf-8?B?VzBxWllHLzh0MWxxWkJKcXQwR2g2YlJNTUVwUjZ3ZkJUSDVIRi9kZk9DYjZ4?=
 =?utf-8?B?RmdLV29TbVp4MElnM0VpOUhiN0U4cjd2U1M1ODNqUHRCRWY3NjNNaE96QjZp?=
 =?utf-8?B?Vmg3L21JUkdvbmUzRy80ZVMxeVFyK3NIWUZlbFRxTGJPVXhJTUNUOUNnOHpF?=
 =?utf-8?B?bFdzS2YxK0xXS09xZGcySGxQbnd6WFBvNnh1Nno2TFlVeDR5YkNzcUNKMXho?=
 =?utf-8?B?L2twNFh6YXFnL01zSXRMMmg3VGFuNkFlYURpMEpqai95UTYvT2tkUU4xTzZv?=
 =?utf-8?B?MTUyWWw5NUZ1ZDY3dXJrWFFIMlJhc1hyNXBsVTJ3MWkyRVFrbFk0MUVQc2dy?=
 =?utf-8?B?RGFxcHBnQ0RLblNGMXdmQkpqRWVVMUFHYWRGUFVSOG05Wm5XZ1luMCsvSkZa?=
 =?utf-8?B?WlpRTzNlL25GSGJOaHorTkdqMzVQU01QdEZWQnlyaytyL1RWQnF4dTdEdWRH?=
 =?utf-8?B?Q055RkRUT2NOUXJOdXNXSnhSUEhabUJUTG9MTWdNenpQNHlRMCtJZmJ4aHRQ?=
 =?utf-8?Q?O4pAaICkQzrffLieLRx2jZeNP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 281a08e7-ea1e-414d-c295-08db2565cfee
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 14:59:01.4606
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LRfJ7c7rVtxGq6lFMGrSt1hz4P5oX4YFRKLoKc2fDlA/hlZOz5aE5IHdI2XX3QrUwX9fWwVSzteW9hv3ZxXjfQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7079

With in-tree builds Config.mk includes a .config file (if present) from
the top-level directory. Similar functionality is wanted with out-of-
tree builds. Yet the concept of "top-level directory" becomes fuzzy in
that case, because there is not really a requirement to have identical
top-level directory structure in the output tree; in fact there's no
need for anything top-level-ish there. Look for such a .config, but only
if the tree layout matches (read: if the directory we're building in is
named "xen").

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: The directory name based heuristic of course isn't nice. But I
     couldn't think of anything better. Suggestions?

RFC: There also being a .config in the top-level source dir would be a
     little problematic: It would be included _after_ the one in the
     object tree. Yet if such a scenario is to be expected/supported at
     all, it makes more sense the other way around.

--- a/xen/Makefile
+++ b/xen/Makefile
@@ -236,8 +236,17 @@ endif
 
 include scripts/Kbuild.include
 
-# Don't break if the build process wasn't called from the top level
-# we need XEN_TARGET_ARCH to generate the proper config
+# Don't break if the build process wasn't called from the top level.  We need
+# XEN_TARGET_ARCH to generate the proper config.  If building outside of the
+# source tree also check whether we need to include a "top-level" .config:
+# Config.mk, using $(XEN_ROOT)/.config, would look only in the source tree.
+ifeq ($(building_out_of_srctree),1)
+# Try to avoid including a random unrelated .config: Assume our parent dir
+# is a "top-level" one only when the objtree is .../xen.
+ifeq ($(patsubst %/xen,,$(abs_objtree)),)
+-include ../.config
+endif
+endif
 include $(XEN_ROOT)/Config.mk
 
 # Set ARCH/SUBARCH appropriately.
--- a/xen/Rules.mk
+++ b/xen/Rules.mk
@@ -17,6 +17,13 @@ __build:
 
 -include $(objtree)/include/config/auto.conf
 
+# See commentary around the similar contruct in Makefile.
+ifneq ($(abs_objtree),$(abs_srctree))
+ifeq ($(patsubst %/xen,,$(abs_objtree)),)
+../.config: ;
+-include ../.config
+endif
+endif
 include $(XEN_ROOT)/Config.mk
 include $(srctree)/scripts/Kbuild.include
 


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 15:20:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 15:20:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510110.787208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcSuq-0007Fx-Fn; Wed, 15 Mar 2023 15:19:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510110.787208; Wed, 15 Mar 2023 15:19: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 1pcSuq-0007Fq-D0; Wed, 15 Mar 2023 15:19:48 +0000
Received: by outflank-mailman (input) for mailman id 510110;
 Wed, 15 Mar 2023 15: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=szRX=7H=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1pcSuo-0007Fk-7B
 for xen-devel@lists.xen.org; Wed, 15 Mar 2023 15:19:46 +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 cf54e288-c344-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 16:19: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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-274-Y1iB8-ULMEmIOBRp7xXAWQ-1; Wed, 15 Mar 2023 11:19:31 -0400
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id D7AD88028B3;
 Wed, 15 Mar 2023 15:19:29 +0000 (UTC)
Received: from localhost (unknown [10.39.194.57])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 7B1CA140E95F;
 Wed, 15 Mar 2023 15:19: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: cf54e288-c344-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678893582;
	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=mcTfM44RSuru962OZIvDWU0ncftfq86SRtNTtDSqztY=;
	b=OXl+QaTvFoU//CBE4XWfGushgbVrkWxxv4CNvugJgC3VcTxS7M6k0vZW/U5vcNICkItetI
	Qnu5aIjYxNnHbxlCvkPsEsboNf6KwdTaeDsPBg6GyDtvrdniJCrnYxwjl5kJifwTCOBI4B
	ERgGgusOPTus8ZtRdxnjJ5vNWjmw498=
X-MC-Unique: Y1iB8-ULMEmIOBRp7xXAWQ-1
Date: Wed, 15 Mar 2023 11:19:26 -0400
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH V3 1/2] docs: vhost-user: Define memory region separately
Message-ID: <20230315151926.GA16636@fedora>
References: <cover.1678351495.git.viresh.kumar@linaro.org>
 <7c3718e5eb99178b22696682ae73aca6df1899c7.1678351495.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="O6Z1j1jWA1rh9Wk0"
Content-Disposition: inline
In-Reply-To: <7c3718e5eb99178b22696682ae73aca6df1899c7.1678351495.git.viresh.kumar@linaro.org>
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.7


--O6Z1j1jWA1rh9Wk0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 09, 2023 at 02:21:00PM +0530, Viresh Kumar wrote:
> The same layout is defined twice, once in "single memory region
> description" and then in "memory regions description".
>=20
> Separate out details of memory region from these two and reuse the same
> definition later on.
>=20
> While at it, also rename "memory regions description" to "multiple
> memory regions description", to avoid potential confusion around similar
> names. And define single region before multiple ones.
>=20
> This is just a documentation optimization, the protocol remains the same.
>=20
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  docs/interop/vhost-user.rst | 39 +++++++++++++++++--------------------
>  1 file changed, 18 insertions(+), 21 deletions(-)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

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

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmQR4f4ACgkQnKSrs4Gr
c8hxuAgAp4tv1RvL4VEQf8h2eNofdFyh5KtzUUn3Q8+eRtHJ3diMD9MshFHl+4JC
5M+4rQoODTICf0bgn659wYs5D2fF0cSYSAsqJx0594lLJknX0LX+YvRGWycVz/8l
81+iNJPaGsPU5k32TGorK5F3ZoxrnzgH6f8BPnVkACmABhyOZcVd+ZLHZZdatiLr
4En+5Ngv9Fd7eq66UO3JilZJZTTai0zWGU+enR8CmTGoD8olqx9gJvUOJjpEPkcK
3Muq52sLH3DaiK1/KUaz9g6j0TYlHwu+65YGRXE4vNM4Po8bY8GeRZRrnBZFcLmA
OPu6eaIIlskeujoEmUZ0StMCy0BT4w==
=GWpD
-----END PGP SIGNATURE-----

--O6Z1j1jWA1rh9Wk0--



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 15:21:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 15:21:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510112.787218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcSvv-00008x-Ph; Wed, 15 Mar 2023 15:20:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510112.787218; Wed, 15 Mar 2023 15: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 1pcSvv-00008q-Ms; Wed, 15 Mar 2023 15:20:55 +0000
Received: by outflank-mailman (input) for mailman id 510112;
 Wed, 15 Mar 2023 15: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=hb+5=7H=citrix.com=prvs=431796acb=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pcSvv-00008i-2P
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 15:20:55 +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 f6e987d8-c344-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 16:20: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: f6e987d8-c344-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678893651;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=B7Kgtocu5DyEdILv2TA0t2HRGSBeMTxd291Z1/Z9yOw=;
  b=U1IV0k8ABLczrH5f9kirBfEsiQISsmVu1SHMWTt8OUjS55BX2rOQW6vQ
   +1+Ns2Y39tLycL8cg2u0p3d+jve/HZMJLbyQMfhL3kGHlQNbJ8Qug4+ND
   TgzJRFv1MyX0iPpVx46Yza26f+RMcDYr3Dg+auBq1/oM1AWRe44myqAz1
   k=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100977448
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:xjAsSKIIAeGXmmGuFE+RHJUlxSXFcZb7ZxGr2PjKsXjdYENShjxUy
 jEeW2uOOv2LYWWmKd4nbt++o09Uv8CHndE3SwplqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QVjPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5mGkZe/
 NsjFAsNbzmNrOOskK6bdMtV05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWleG0hn75YntApUicv6Yf6GnP1g1hlrPqNbI5f/TTHZ0EwRnE+
 jKuE2LRBywDEt+ujhu8+CyWgcrvzQPWVJ0tPejtnhJtqALKnTFCYPEMbnO5q/Skjk+1W/pEN
 lcZvCEpqMAa5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWbkAGUzpAZdoOpMIwAzsw2
 TehhMj1DDZitLmUT3O19bqOqz62fy8PIgcqeissXQYDpd75r+kbhwrCVN95HIapj9f+Hnf7x
 DXikcQlr+xN14hRjfz9pA2ZxWv2/fAlUzLZ+C3GRUW15yRCWLWlZqWmwlnBvepgEqSgGwzpU
 Gc/p+CS6+UHDJeonSOLQfkQELzB28tpIAEwknY0QcB/qm3FF2qLONkJvWogfBsB3tMsI2eBX
 aPFhe9GCHa/1lOOZLQ/XY++At9CIUPIRYW8DaC8gjajj/FMmO67EMNGPxL4M4PFyhJEfUQD1
 XCzIK6R4Y4yU/gP8dZPb751PUUX7i4/33jPYpvw0g6q17GTDFbMF+hVYALfN7lhtPzeyOkwz
 zq4H5ri9vmieLemPnm/HXA7dDjm0kTX9bip8pcKJ4Zv0yJtGX07Cu+5/I7Nj7dNxvwP/s+Rp
 yHVZ6Ot4Aan7ZExAVnQOy8LhXKGdcoXkE/XygR1Zwf5gidzPdzzhErdHrNuFYQaGCVY5aYcZ
 5E4lw+oWZyjlhyvF+whUKTA
IronPort-HdrOrdr: A9a23:ralXgqsEOJ35lj08yHcQwOGI7skDSdV00zEX/kB9WHVpmwKj5r
 mTdZUgpGfJYVMqMk3I9urwXZVoLUmsl6KdpLNhXotKPzOGhILLFvAH0WKK+VSJcBEWtNQ86U
 4KSdkYNDSfNykdsS842mWF+hQbreVvPJrGuQ4W9RlQcT0=
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="100977448"
Date: Wed, 15 Mar 2023 15:20:43 +0000
From: Anthony PERARD <anthony.perard@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>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] build: omit "source" symlink when building hypervisor
 in-tree
Message-ID: <6880d302-cc8d-4719-be15-5a0c6bf4c847@perard>
References: <ca9930ee-e6bf-3cf3-633c-02d5f21760f5@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <ca9930ee-e6bf-3cf3-633c-02d5f21760f5@suse.com>

On Wed, Mar 15, 2023 at 03:56:21PM +0100, Jan Beulich wrote:
> This symlink is getting in the way of using e.g. "find" on the xen/
> subtree, and it isn't really needed when not building out-of-tree:
> the one use that there was can easily be avoided.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/common/efi/efi-common.mk
> +++ b/xen/common/efi/efi-common.mk
> @@ -5,11 +5,16 @@ CFLAGS-y += -fshort-wchar
>  CFLAGS-y += -iquote $(srctree)/common/efi
>  CFLAGS-y += -iquote $(srcdir)
>  
> +source :=
> +ifneq ($(abs_objtree),$(abs_srctree))

Could you use "ifdef building_out_of_srctree" instead, or at least use
the variable $(building_out_of_srctree)? At least that mean there's a
single way in the tree to differentiate between both kind of build.

> +source := source/
> +endif
> +
>  # Part of the command line transforms $(obj)
>  # e.g.: It transforms "dir/foo/bar" into successively
>  #       "dir foo bar", ".. .. ..", "../../.."
>  $(obj)/%.c: $(srctree)/common/efi/%.c FORCE
> -	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
> +	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/$(source)common/efi/$(<F) $@

Instead of $(source), I did proposed initially
"$(if $(building_out_of_srctree),source/)" for here, or it that making
the command line too long?
https://lore.kernel.org/xen-devel/YebpHJk1JIArcdvW@perard/t/#u

Having "source := $(if $(building_out_of_srctree),source/)" might be an
ok alternative in place of the use if "ifneq/endif" which take 4 lines?


Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 15:24:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 15:24:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510116.787227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcSyu-0000qG-BS; Wed, 15 Mar 2023 15:24:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510116.787227; Wed, 15 Mar 2023 15: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 1pcSyu-0000q9-8C; Wed, 15 Mar 2023 15:24:00 +0000
Received: by outflank-mailman (input) for mailman id 510116;
 Wed, 15 Mar 2023 15:23: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=szRX=7H=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1pcSys-0000q1-Nb
 for xen-devel@lists.xen.org; Wed, 15 Mar 2023 15:23:58 +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 66f73eb8-c345-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 16:23:57 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-445-em-7fTesP0K7Dia1OiuQ0g-1; Wed, 15 Mar 2023 11:23:49 -0400
Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com
 [10.11.54.10])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id BD832801206;
 Wed, 15 Mar 2023 15:23:48 +0000 (UTC)
Received: from localhost (unknown [10.39.194.57])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 32CEF400F5D;
 Wed, 15 Mar 2023 15:23: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: 66f73eb8-c345-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678893836;
	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=jTxjUwaGNrU997YXmd1Gd07OQ6YXEnGZ+ubJOcPfNTY=;
	b=P7ruHrbm681cjZ6ufsJD1l9DijICSkhq522buP4vgl4Uomr209BhmA+3/pxgS1LP2a/yLu
	ytTjCc89gC4jYTU6f2xZcQnS+GISTzXQumlj9yjiAn5Ue1tflC6fhyDXbKyLeUapbt1/8w
	DM4tsaOdbXV2HriHyWVX7X3U4p8GCTY=
X-MC-Unique: em-7fTesP0K7Dia1OiuQ0g-1
Date: Wed, 15 Mar 2023 11:23:46 -0400
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH V3 2/2] docs: vhost-user: Add Xen specific memory mapping
 support
Message-ID: <20230315152346.GB16636@fedora>
References: <cover.1678351495.git.viresh.kumar@linaro.org>
 <6d0bd7f0e1aeec3ddb603ae4ff334c75c7d0d7b3.1678351495.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="P0+YC7C2o+OYytsg"
Content-Disposition: inline
In-Reply-To: <6d0bd7f0e1aeec3ddb603ae4ff334c75c7d0d7b3.1678351495.git.viresh.kumar@linaro.org>
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10


--P0+YC7C2o+OYytsg
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 09, 2023 at 02:21:01PM +0530, Viresh Kumar wrote:
> The current model of memory mapping at the back-end works fine where a
> standard call to mmap() (for the respective file descriptor) is enough
> before the front-end can start accessing the guest memory.
>=20
> There are other complex cases though where the back-end needs more
> information and simple mmap() isn't enough. For example Xen, a type-1
> hypervisor, currently supports memory mapping via two different methods,
> foreign-mapping (via /dev/privcmd) and grant-dev (via /dev/gntdev). In
> both these cases, the back-end needs to call mmap() and ioctl(), with
> extra information like the Xen domain-id of the guest whose memory we
> are trying to map.
>=20
> Add a new protocol feature, 'VHOST_USER_PROTOCOL_F_XEN_MMAP', which lets
> the back-end know about the additional memory mapping requirements.
> When this feature is negotiated, the front-end will send the additional
> information within the memory regions themselves.
>=20
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  docs/interop/vhost-user.rst | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)

Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>

--P0+YC7C2o+OYytsg
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmQR4wIACgkQnKSrs4Gr
c8ijJQf/ROItbOzK05kO+CNPMWwO1kNa7SCAoOi6cgj452PZmF2b9cMDlBDfbsL6
jliMKUFGBKkpKxBUD8JcxGlRwcJQT8AwG0KFjCWLwkzNx7BxnrDaXf0I2UgR5E/6
nwHD2R+3K4Ay9QCyIUVrOWmId37SHX2e04d+1+iy7lWdQ1FM5/wc43Bt8aq80oYK
YSuDIuFRXxJdr2Uxr8J9tKgukl3AkoKP8wzFUilzBN9GIMe9wPet8WF7sPwCi5+s
QiQ9CVojLmqiXSDYUrAa2/Y8SypGimyvuy1C3kbNl7i2ow9r7vMr9Vw+/X0uhXb9
Klhmo2NzmGmYT3bQ8RzENH0DYPwCNQ==
=4b2c
-----END PGP SIGNATURE-----

--P0+YC7C2o+OYytsg--



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 15:25:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 15:25:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510118.787238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcT09-0001PR-MV; Wed, 15 Mar 2023 15:25:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510118.787238; Wed, 15 Mar 2023 15: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 1pcT09-0001PK-IW; Wed, 15 Mar 2023 15:25:17 +0000
Received: by outflank-mailman (input) for mailman id 510118;
 Wed, 15 Mar 2023 15: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=szRX=7H=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1pcT08-0001PE-GD
 for xen-devel@lists.xen.org; Wed, 15 Mar 2023 15:25:16 +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 94142081-c345-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 16:25:13 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com
 [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-571-nlHLXK6FOqadA5943BuqQA-1; Wed, 15 Mar 2023 11:25:07 -0400
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com
 [10.11.54.8])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 383AA280A322;
 Wed, 15 Mar 2023 15:25:06 +0000 (UTC)
Received: from localhost (unknown [10.39.194.57])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 60E49C164E7;
 Wed, 15 Mar 2023 15:25: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: 94142081-c345-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678893912;
	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=ZmsDWDJ1wYkb1pq/w2HSM4F9if02u6jamfytLtq8BF8=;
	b=QdWRmK11CNDsTlVdyi749ESSKHpWhkaAJjUuy1l1hj/gzXhk0yPGBZoy8wOZW4D3FbffJU
	XaZF8Jpkm5LRlWY4uiOqUDWPYGbP+llMUSNx7dTQmv4TnV+5/DklrzlyohUSgBXopN0LFe
	20K1qSj2qMF4avGrCsWjklAyAc3RGO4=
X-MC-Unique: nlHLXK6FOqadA5943BuqQA-1
Date: Wed, 15 Mar 2023 11:25:03 -0400
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sebastien Boeuf <sebastien.boeuf@intel.com>,
	Liu Jiang <gerry@linux.alibaba.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH V3 0/2] qemu: vhost-user: Support Xen memory mapping
 quirks
Message-ID: <20230315152503.GC16636@fedora>
References: <cover.1678351495.git.viresh.kumar@linaro.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="OCgU33HjGcfce1Ev"
Content-Disposition: inline
In-Reply-To: <cover.1678351495.git.viresh.kumar@linaro.org>
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8


--OCgU33HjGcfce1Ev
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 09, 2023 at 02:20:59PM +0530, Viresh Kumar wrote:
> Hello,
>=20
> This patchset tries to update the vhost-user protocol to make it support =
special
> memory mapping required in case of Xen hypervisor.
>=20
> The first patch is mostly cleanup and second one introduces a new xen spe=
cific
> feature.
>=20
> V2->V3:
> - Remove the extra message and instead update the memory regions to carry
>   additional data.
>=20
> - Drop the one region one mmap relationship and allow back-end to map onl=
y parts
>   of a region at once, required for Xen grant mappings.
>=20
> - Additional cleanup patch 1/2.
>=20
> V1->V2:
> - Make the custom mmap feature Xen specific, instead of being generic.
> - Clearly define which memory regions are impacted by this change.
> - Allow VHOST_USER_SET_XEN_MMAP to be called multiple times.
> - Additional Bit(2) property in flags.

Looks good, thanks!

Michael is the maintainer and this patch series will go through his tree.

Stefan

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

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmQR408ACgkQnKSrs4Gr
c8gHnQf/QCidE8WSy1ka0dk9J5LPoXLVAWi2jeZa8dQXbtfkfPLQVuMD94klQw0p
ttlBsAdsyw5lvbC0fdSClu12bCgKzMDVNH/vXFNkSkDWYFX4gIgx0jtDfeYbtW75
YmWbol1fw+CM/RWkUWKm+FsyyGge8iNDf7HfM4BvpzfvdZh+4YSOEj+xBmYaq9VT
NGM5DzCy5N8LpC/oHv3sxnKLXUqML6+rdlHvcAZpDlos4UzcobtHAh7YOhumhBuw
qfCXVKjSQ7hglcFaZRTUtoPOWZR+a3GpRAhS3V6sTryjmal/wuOrKe8SAYXD9ba1
dPqU2PNw8Qq3755oaw/Haw+2cO9JXw==
=BraW
-----END PGP SIGNATURE-----

--OCgU33HjGcfce1Ev--



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 15:42:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 15:42:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510124.787256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcTGs-0004UA-61; Wed, 15 Mar 2023 15:42:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510124.787256; Wed, 15 Mar 2023 15: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 1pcTGs-0004U3-3H; Wed, 15 Mar 2023 15:42:34 +0000
Received: by outflank-mailman (input) for mailman id 510124;
 Wed, 15 Mar 2023 15:42: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=eGcw=7H=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pcTGp-0004Tv-WE
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 15:42:32 +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 fe50a1c7-c347-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 16:42: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 35E2A219CE;
 Wed, 15 Mar 2023 15:42: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 133A313A2F;
 Wed, 15 Mar 2023 15:42:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id w5dqA2XnEWSqcQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 15 Mar 2023 15:42: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: fe50a1c7-c347-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678894949; 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=Gfolxv7kP8B5XLDmdwbOPUtFO3kL0eTn8HB++NhwomM=;
	b=gfBk/wKOx4BTWXtRPkS6iH+QhBV7P9uNaskfcclreUz6S4+oB9jeYLa0QvaBTvJpJw8iVh
	/mBuN/2fIXWEbDOBMo8oewH8MuGZDxD+pPgr66MaDBtLNSwMZbrDKrps1K3fUUZevew5kQ
	3L8iYynLKzrfNmimes6t1nDAH4gRa4o=
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] tools: use libxenlight for writing xenstore-stubdom console nodes
Date: Wed, 15 Mar 2023 16:42:26 +0100
Message-Id: <20230315154226.4238-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of duplicating libxl__device_console_add() work in
init-xenstore-domain.c, just use libxenlight.

This requires to add a small wrapper function to libxenlight, as
libxl__device_console_add() is an internal function.

This at once removes a theoretical race between starting xenconsoled
and xenstore-stubdom, as the old code wasn't using a single
transaction for writing all the entries, leading to the possibility
that xenconsoled would see only some of the entries being written.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/helpers/init-xenstore-domain.c | 41 ++++++++--------------------
 tools/include/libxl.h                | 12 ++++++++
 tools/libs/light/libxl_console.c     | 20 ++++++++++++++
 3 files changed, 44 insertions(+), 29 deletions(-)

diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
index 85cc9e8381..5ac4212216 100644
--- a/tools/helpers/init-xenstore-domain.c
+++ b/tools/helpers/init-xenstore-domain.c
@@ -11,6 +11,7 @@
 #include <xenguest.h>
 #include <xenstore.h>
 #include <xentoollog.h>
+#include <libxl.h>
 #include <xen/sys/xenbus_dev.h>
 #include <xen-xsm/flask/flask.h>
 #include <xen/io/xenbus.h>
@@ -403,15 +404,6 @@ static void do_xs_write(struct xs_handle *xsh, char *path, char *val)
         fprintf(stderr, "writing %s to xenstore failed.\n", path);
 }
 
-static void do_xs_write_dir_node(struct xs_handle *xsh, char *dir, char *node,
-                                 char *val)
-{
-    char full_path[100];
-
-    snprintf(full_path, 100, "%s/%s", dir, node);
-    do_xs_write(xsh, full_path, val);
-}
-
 static void do_xs_write_dom(struct xs_handle *xsh, char *path, char *val)
 {
     char full_path[64];
@@ -425,9 +417,10 @@ int main(int argc, char** argv)
     int opt;
     xc_interface *xch;
     struct xs_handle *xsh;
-    char buf[16], be_path[64], fe_path[64];
+    char buf[16];
     int rv, fd;
     char *maxmem_str = NULL;
+    libxl_ctx *ctx;
 
     while ( (opt = getopt_long(argc, argv, "v", options, NULL)) != -1 )
     {
@@ -528,27 +521,17 @@ int main(int argc, char** argv)
     if (maxmem)
         snprintf(buf, 16, "%d", maxmem * 1024);
     do_xs_write_dom(xsh, "memory/static-max", buf);
-    snprintf(be_path, 64, "/local/domain/0/backend/console/%d/0", domid);
-    snprintf(fe_path, 64, "/local/domain/%d/console", domid);
-    snprintf(buf, 16, "%d", domid);
-    do_xs_write_dir_node(xsh, be_path, "frontend-id", buf);
-    do_xs_write_dir_node(xsh, be_path, "frontend", fe_path);
-    do_xs_write_dir_node(xsh, be_path, "online", "1");
-    snprintf(buf, 16, "%d", XenbusStateInitialising);
-    do_xs_write_dir_node(xsh, be_path, "state", buf);
-    do_xs_write_dir_node(xsh, be_path, "protocol", "vt100");
-    do_xs_write_dir_node(xsh, fe_path, "backend", be_path);
-    do_xs_write_dir_node(xsh, fe_path, "backend-id", "0");
-    do_xs_write_dir_node(xsh, fe_path, "limit", "1048576");
-    do_xs_write_dir_node(xsh, fe_path, "type", "xenconsoled");
-    do_xs_write_dir_node(xsh, fe_path, "output", "pty");
-    do_xs_write_dir_node(xsh, fe_path, "tty", "");
-    snprintf(buf, 16, "%d", console_evtchn);
-    do_xs_write_dir_node(xsh, fe_path, "port", buf);
-    snprintf(buf, 16, "%ld", console_gfn);
-    do_xs_write_dir_node(xsh, fe_path, "ring-ref", buf);
     xs_close(xsh);
 
+    if ( libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, logger))
+    {
+        fprintf(stderr, "libxl_ctx_alloc() failed.\n");
+        rv = 3;
+        goto out;
+    }
+    libxl_console_add_xenstore(ctx, domid, 0, console_evtchn, console_gfn);
+    libxl_ctx_free(ctx);
+
     fd = creat(XEN_RUN_DIR "/xenstored.pid", 0666);
     if ( fd < 0 )
     {
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index d652895075..e54122991b 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -542,6 +542,11 @@
  */
 #define LIBXL_HAVE_DEVICE_DISK_SPECIFICATION 1
 
+/*
+ * LIBXL_HAVE_CONSOLE_ADD_XENSTORE indicates presence of the function
+ * libxl_console_add_xenstore() in libxl.
+ */
+#define LIBXL_HAVE_CONSOLE_ADD_XENSTORE 1
 /*
  * libxl ABI compatibility
  *
@@ -1982,6 +1987,13 @@ int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num,
  */
 int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path);
 
+/* libxl_console_add_xenstore writes the Xenstore entries for a domain's
+ * primary console based on domid, event channel port and the guest frame
+ * number of the PV console's ring page.
+ */
+int libxl_console_add_xenstore(libxl_ctx *ctx, uint32_t domid, uint32_t backend,
+                               int evtch, uint64_t gfn);
+
 /* 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_console.c b/tools/libs/light/libxl_console.c
index d8b2bc5465..ce3de100cc 100644
--- a/tools/libs/light/libxl_console.c
+++ b/tools/libs/light/libxl_console.c
@@ -346,6 +346,26 @@ out:
     return rc;
 }
 
+int libxl_console_add_xenstore(libxl_ctx *ctx, uint32_t domid, uint32_t backend,
+                               int evtch, uint64_t gfn)
+{
+    GC_INIT(ctx);
+    int rc;
+    libxl__device_console console = { .backend_domid = backend,
+                                      .output = "pty",
+                                      .consback = LIBXL__CONSOLE_BACKEND_XENCONSOLED,
+                                    };
+    libxl__domain_build_state state = { .console_port = evtch,
+                                        .console_mfn = gfn,
+                                      };
+    libxl__device device = { };
+
+    rc = libxl__device_console_add(gc, domid, &console, &state, &device);
+
+    GC_FREE;
+    return rc;
+}
+
 int libxl__device_vuart_add(libxl__gc *gc, uint32_t domid,
                             libxl__device_console *console,
                             libxl__domain_build_state *state)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 15:51:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 15:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510127.787269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcTPa-0006CX-4A; Wed, 15 Mar 2023 15:51:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510127.787269; Wed, 15 Mar 2023 15:51:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcTPa-0006CQ-0b; Wed, 15 Mar 2023 15:51:34 +0000
Received: by outflank-mailman (input) for mailman id 510127;
 Wed, 15 Mar 2023 15: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=hb+5=7H=citrix.com=prvs=431796acb=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pcTPZ-0006CK-3y
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 15:51:33 +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 3e97d4cc-c349-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 16:51: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: 3e97d4cc-c349-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678895489;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=+7mf745Mt5OE/+4LEaU0+9ckHaAfF/JS31BvnD2y0Xc=;
  b=TZOaQ1z+FOyJCCPfgrNnbooz8ggrucLv/O1DDutvgtazRGYk8gibZTbS
   VqaplkufDdKL4fPILqEFO17vGjrWLVMzi0ptnGkRwh52hbGLYYyiWPDUn
   IJy2eNi4mOxEnIZ+xYDfE4CZ3ZdqEAfrMAO5dRR4Zz8TN4n8UvDSI20Ii
   o=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100345358
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:0Y97HaD8iHMXhhVW/+vjw5YqxClBgxIJ4kV8jS/XYbTApDIjhDIAx
 zdMUDjSb/eCYmOmctogaoS39UpT6MXWyIRhQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhB4wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw3ftcCmBV+
 78kFBtRbiin2vOIzJSbVbw57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTIJs4gOevgGi5azBCoUiZjaE2/3LS3Ep6172F3N/9I4TSHpkIxRvIz
 o7A12+mWzMBK+Sg9TOM/S7w3+7jnDzccqtHQdVU8dY12QbOlwT/EiY+V1K9reOol02WVNdWK
 khS8S0rxYAi+UruQtTjUhmQpH+fogVaS9dWC/c96gyG1uzT+QnxLncAZi5MbpohrsBebSYtz
 VWTmNTqAxRgtbSUTTSW8bL8hTG9Iy8ONkcZeDQJCwAC5rHLqZk+lBvVQv5/EaS+iZv+HjSY/
 tyRhHFg3fNJ15dNjvjluwmd2FpAu6QlUCYS+y7cX3mrrT9FT9KlX6j1+GbXy9ZfedPxoka6g
 FAInM2X7eYrBJ6LlTCQTOhlIIxF98ppIxWH3wcxQsBJGyCFvif6INsOuG0WyFJBaJ5sRNP/X
 KPEVeq9Drd3NWDiU6J4apnZ5y8Cnfm5ToSNuhw5g7NzjnlNmO2vpn0Gia24hTqFfK0QfUYXa
 P+mnT6EVypyNEie5GPeqx0h+bEq3Dsi4mjYWIr2yR+quZLHOiHFGe5UaQLWNr9jhE9hnOky2
 4c3Cid3408HDL2Wjtf/qOb/0mzm3VBkXMur+qS7h8aIIxZ8GXFJNsI9NYgJItQ/94wMz7egw
 51IchMAoLYJrSGdeFrih7EKQO+HYKuTWlpiZ319ZAn4hyJ/CWtthY9GH6YKkXAc3LQL5ZZJo
 zMtJa1s3twnpuz7xgkg
IronPort-HdrOrdr: A9a23:/kU/MK+pi9OY7076YzVuk+ABI+orL9Y04lQ7vn2ZKCYlD/Bw8v
 rEoB11737JYUkqKRcdcLy7VJVoAkmsjKKdmLNhRotKBTOWwldAT7sSkbcKoQeBJ8SWzIc0v5
 uIFZIQNDSaNzVHZKjBjjVRbr4bsaG6GXST9IXjJwsEd3AMV0gZ1XYbNu9tKDwTeODuP+tdKK
 ah
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="100345358"
Date: Wed, 15 Mar 2023 15:51:15 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, George Dunlap
	<george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, "Juergen
 Gross" <jgross@suse.com>
Subject: Re: [PATCH v4 2/3] xl/libxl: Add ability to specify SMBIOS strings
Message-ID: <0b4790f8-4275-424c-bba9-e2a1fe82eeda@perard>
References: <20230306204024.124882-1-jandryuk@gmail.com>
 <20230306204024.124882-3-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230306204024.124882-3-jandryuk@gmail.com>

On Mon, Mar 06, 2023 at 03:40:23PM -0500, Jason Andryuk wrote:
> hvm_xs_strings.h specifies xenstore entries which can be used to set or
> override smbios strings.  hvmloader has support for reading them, but
> xl/libxl support is not wired up.
> 
> Allow specifying the strings with the new xl.cfg option:
> smbios=["bios_vendor=Xen Project","system_version=1.0"]
> 
> In terms of strings, the SMBIOS specification 3.5 says:
> https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.5.0.pdf
> """
> Strings must be encoded as UTF-8 with no byte order mark (BOM). For
> compatibility with older SMBIOS parsers, US-ASCII characters should be
> used.  NOTE There is no limit on the length of each individual text
> string. However, the length of the entire structure table (including all
> strings) must be reported in the Structure Table Length field of the
> 32-bit Structure Table Entry Point (see 5.2.1) and/or the Structure
> Table Maximum Size field of the 64-bit Structure Table Entry Point (see
> 5.2.2).
> """
> 
> The strings aren't checked for utf-8 or length.  hvmloader has a sanity
> check on the overall length.
> 
> The libxl_smbios_type enum starts at 1 since otherwise the 0th key is
> not printed in the json output.
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 15:51:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 15:51:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510128.787278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcTPz-0006a2-Ag; Wed, 15 Mar 2023 15:51:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510128.787278; Wed, 15 Mar 2023 15:51: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 1pcTPz-0006Zv-8C; Wed, 15 Mar 2023 15:51:59 +0000
Received: by outflank-mailman (input) for mailman id 510128;
 Wed, 15 Mar 2023 15:51: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=hb+5=7H=citrix.com=prvs=431796acb=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pcTPy-0006ZZ-Jf
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 15:51:58 +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 4f13c89e-c349-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 16:51: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: 4f13c89e-c349-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678895516;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=qE09X+ER0eftRYoGG/u9ru4iVCsqt7cR4sWgx61XyUM=;
  b=FMSXvtlssepEV0kriEnguL5tsXWJekSGxHTXjf50L/eQjN6wb/q61jQX
   cvsHYozJQtynxtmxj0835CejNh6B/2zkLFydTEdjUCIogmFGiy+fvAmik
   9dTERtdwSG/ndz4gzQBNtTthP+6FV37PS6MBDD7u1F216oGX8JTVj40GC
   E=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100887343
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:OBSKK6DX58mhzBVW/+Tjw5YqxClBgxIJ4kV8jS/XYbTApDIi0TZWz
 TNJCmjXOP6CM2emLY11YIm+pkNTsZTWmoA3QQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhB4wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw4uRxK0NP6
 OIkKy0KbUmG3u+3+uOEVbw57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTIJs4gOevgGi5azBCoUiZjaE2/3LS3Ep6172F3N/9I4TSFZUKxRrDz
 o7A117iBxQLJObc8yCuy1z0gcLIvgHCBp1HQdVU8dY12QbOlwT/EiY+V1K9reOol02WVNdWK
 khS8S0rxYAi+UruQtTjUhmQpH+fogVaS9dWC/c96gyG1uzT+QnxLncAZi5MbpohrsBebSYtz
 VWTmNTqAxRgtbSUTTSW8bL8hTG9Iy8ONkcZeDQJCwAC5rHLqZk+lBvVQv5/EaS+iZv+HjSY/
 tyRhHFg3fNJ15dNjvjluwmd2FpAu6QlUCYt5AP9fGO48D96eYmmPonx5FnhvMlfedPxoka6g
 FAInM2X7eYrBJ6LlTCQTOhlIIxF98ppIxWH3wcxQsBJGyCFvif6INsOuG0WyFJBaJ5sRNP/X
 KPEVeq9Drd3NWDiU6J4apnZ5y8Cnfm5ToSNuhw5g7NzjnlNmO2vpn0Gia24hTqFfK0QfUYXa
 P+mnT6EVypyNEie5GPeqx0h+bEq3Dsi4mjYWIr2yR+quZLHOiHFGe5UaQLWNr9jhE9hnOky2
 4c3Cid3408HDL2Wjtf/qOb/0mzm3VBkXMur+qS7h8aIIxZ8GXFJNsI9NYgJItQ/94wMz7egw
 51IchMAoLYJrSGdeFrih7EKQO+HYKuTWlpiZ319ZAn4hyJ/CWtthY9GH6YKkXAc3LQL5ZZJo
 zMtIpTo7ihnItgfxwkgUA==
IronPort-HdrOrdr: A9a23:N/1VBaMrU+CTJ8BcThijsMiBIKoaSvp037BL7TENdfUxSKelfq
 +V/cjzqiWE7gr5NEtNpTnCAtj4fZqkz+8P3WBJB8bZYOCEghrVEGgB1+vfKlTbckWVygc678
 hdmsNFZeEYY2IVsS6GiDPIa+rIFOP3kpxB+Y/lvhBQpHlRGsJdBvBCe2Km++RNNWx7OaY=
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="100887343"
Date: Wed, 15 Mar 2023 15:51:42 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, George Dunlap
	<george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, "Juergen
 Gross" <jgross@suse.com>
Subject: Re: [PATCH v4 3/3] xl/libxl: Add OEM string support to smbios
Message-ID: <a6ed3e3d-a826-4114-ba26-7e72133d70be@perard>
References: <20230306204024.124882-1-jandryuk@gmail.com>
 <20230306204024.124882-4-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230306204024.124882-4-jandryuk@gmail.com>

On Mon, Mar 06, 2023 at 03:40:24PM -0500, Jason Andryuk wrote:
> Add support for OEM strings in the SMBIOS type 11.
> 
> hvmloader checks them sequentially, so hide the implementation detail.
> Allow multiple plain oem= items and assign the numeric values
> internally.
> 
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 15:58:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 15:58:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510133.787288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcTVq-0007Rx-24; Wed, 15 Mar 2023 15:58:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510133.787288; Wed, 15 Mar 2023 15: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 1pcTVp-0007Rq-VY; Wed, 15 Mar 2023 15:58:01 +0000
Received: by outflank-mailman (input) for mailman id 510133;
 Wed, 15 Mar 2023 15:58: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=CVd2=7H=citrix.com=prvs=431d4e183=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcTVo-0007Rg-5A
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 15:58:00 +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 26993273-c34a-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 16:57:57 +0100 (CET)
Received: from mail-sn1nam02lp2045.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 11:57:54 -0400
Received: from PH0PR03MB6368.namprd03.prod.outlook.com (2603:10b6:510:aa::21)
 by MW4PR03MB6601.namprd03.prod.outlook.com (2603:10b6:303:128::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 15:57:51 +0000
Received: from PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034]) by PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034%5]) with mapi id 15.20.6178.019; Wed, 15 Mar 2023
 15:57: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: 26993273-c34a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678895877;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=OwhCYK1gRrzn2CuBP66qU82Zzcyy22zWYYalHCPNlnY=;
  b=cZdF+YQ2ymCO2a/bOQnf/EOHpT8aklF8hQIOIggTEfrRFx7lYjo0ECjr
   ypZ2X0vgUTHm6JLbZ3J0fDz8XTrTUa6lCIo/sEzL9o62w26HbaKaRqngb
   rBdIFzmjn42mizo7xPT7tMJBtv0LwJwljEXcuJemyJjLNaWtLf0trXPM4
   g=;
X-IronPort-RemoteIP: 104.47.57.45
X-IronPort-MID: 100982988
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:JgbQi6+tNs7WmaWhUsqeDrUD7n6TJUtcMsCJ2f8bNWPcYEJGY0x3y
 WceDGGPOfffNzemKtojboqw9EpTvpOEyYQxT1RqqCA8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkW5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklc/
 NkAJgoycCu9oMe34u2gQdZpu8E8eZyD0IM34hmMzBn/JNN+G9X4ZfyP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWMilAsuFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE37eXzHOhCdJCfFG+3sU13EKDnHIQMk09b0aQ/7qL1Re7Yt0Kf
 iT4/QJr98De7neDVNDsGR2lqXiLlhcZV5xbFOhSwAOHx7fQ4g2ZLnMZVTMHY9sj3OctXiAj3
 FKNm9LvBBRsvaeTRHbb8a2bxRuiNC5QIWIcaCssSQoe/8KlsIw1lgjITNtoDOiylNKdMTj0z
 iCDqiQznfMfgNMA16ih1VnCj3SnoZ2hZgU1/ATMQmOs6EV6Y4OjZoOA4F3Xq/1HKe6xdUWMo
 3Eeh46+7eQCAJuXnSqBaOwIEPei4PPtGDfBm0xmG54t8Cuk03GmdIFUpjp5IS9BMsECdjvkY
 RaVuR5Y4pB7NX6mK6RwZuqZCdkuzKGmB9TsUP/8Z99CJJN2cWev3iB3ZEeWmUvtnU4EmKQzf
 5ycdK6R4W0yDK1myH+tQb4b2LpznCQmnzuPGNb80git1qeYaDiNU7AZPVCSb+c/qqSZvAHS9
 NUZPMyPo/lCbNDDjuDs2dZ7BTg3wbITXPgad+Q/mja/Hzdb
IronPort-HdrOrdr: A9a23:H0FJlqhRgTtDEcxtAeeaLcvTYnBQXiwji2hC6mlwRA09TyX5ra
 2TdTogtSMc6QxhPk3I/OrrBEDuexzhHPJOj7X5eI3SPjUO21HYS72Kj7GSoAEIcheWnoJgPO
 VbAs1D4bXLZmSS5vyKhDVQfexA/DGGmprY+ts3zR1WPH9Xg3cL1XYJNu6ZeHcGNDWvHfACZe
 OhDlIsnUvcRZwQBP7LfkUtbqz4iPDgsonpWhICDw5P0njzsdv5gISKaCRxx30lIkly/Ys=
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="100982988"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Lt1G0FAccYGZlCM4odROC8SR0aSErAcu/AcFlm4QHdFi7lgiEleHkUQmJTvq2RSiHpJg5Gcu2ckyyHYOL0PnBPxLvH35ORAduVcfRxwTjdKGjrHM5a/pcFc63issf8Mzmr4xqw5bdpkwUWA3Qlhelj4EKF47xF4Dss8ltPdNd7oB6RDSFpjdlouUATN0qblE0DMlAxGwVLD2lEI3b67BnoS6psHOUHOEXCqGqUN2d3tvgNfeKYl/DsbH+xYqcQWXmQj9JY2g8zxK4yxWw4XFAQsfU7xg84RyPIzvcqQFYzgH5sZ3E+2++4eYU2Mc2grnAP0s8tnpMnhe0p78QK4DDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XsYSFHUasSuNuC26UpMbcWO9DLN9A8a3twVVvPb95Ks=;
 b=PWBldA1kcwOHQAjEPIL3UFEgI6n/LPazVP9JWFZU3CGUchC28oNSankcp5m0LPEKPjQc+KBQ9d3/JLKsjLR9a8588ViApL7Vqo4PLvvYHliveUJ4K5iekI7Vpr1Gg2LFDI5YFrqBukp1wflsG7WtNncDxG5Il9nLPkV/pPMxu5AVR9a/69awPeb02i0aagTj/fg8qvwY/2DGcoZGmbBrpUvw0RgwxkYRGOHoz7bl+b4dSR8hJMcI1svwJ6ilHWpCyXiq9CA0ni8BlQfQ37BMfH+wIQvHmWgSkoCsfTbHNGXs4EVdIRORTZJYln3QFmStpscAexDB0gL1oxZK6LY/OA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XsYSFHUasSuNuC26UpMbcWO9DLN9A8a3twVVvPb95Ks=;
 b=BhuI0nd2XpcxSQM/nDvlycZg/8QuFNHdE7UGCpVZYEUlq1HyTX4duwbz7SJt6RTh1iG1FBN56X1pthDKF0HhpQsKjqw3jHiFXxt8DHk/97QEHMsshpg/aYsOpcVrPpbaNf8GApi62EhnIi2kcqVQYBZ/yJ/jZEZvOD41h/1RDX0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 15 Mar 2023 16:57:45 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Huang Rui <ray.huang@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC XEN PATCH 3/6] x86/pvh: shouldn't check pirq flag when map
 pirq in PVH
Message-ID: <ZBHq+UeK/lBj3s8l@Air-de-Roger>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-4-ray.huang@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230312075455.450187-4-ray.huang@amd.com>
X-ClientProxiedBy: LO4P302CA0031.GBRP302.PROD.OUTLOOK.COM
 (2603:10a6:600:317::18) To PH0PR03MB6368.namprd03.prod.outlook.com
 (2603:10b6:510:aa::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR03MB6368:EE_|MW4PR03MB6601:EE_
X-MS-Office365-Filtering-Correlation-Id: ac4ebd28-f068-4f77-36ea-08db256e07d7
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	N+n4UHsbROHFufmqjVnhmSp8a7j1wjdd//a3/BXdkyvJoj1+TAeT0T8ItxoBVwZQYCLEgVaBznidzNkJxpJLL1Af7JDZYNqxY6VUe2a2OqTGRtsHYTrJkqpYUZeobvQ/may+UPkvKrzjiQc8LhwooCJ+9HcB1uFmAkxW5Qrlql1XVLmV8bvKeytQoUfI2/c90haY2lMvDgsC2eYdhhoduut7mugd1os7g190AE+zqtfskD9oEbnNG141RiUzNCPM5TQpguSpDEfzaQ/UD5gG8v7wOU4XZ3Q5fi/wLwD9aapM9EP5PmA3YfhcyyWPD4UJASOkkA8stYYvk9bgHFeg5UvITLkZH0VXlqHntBoW4JL/cHxkKJRQ1H2aP+GOQqjyDnzldL7zKDOFce//7gWr6KVLjzmDdwhvFjWWhwLLjOZ2/b+HVT0VkiXXK8ABfovPNO5DestHvY7VozONbxxRiVvAfuy4xOzHANVNOwC+KQ6haPgGNzIj2bCN368xL118V6l/Tzs4kDvWkZjP5L9rNhi2nN0nVyrpqoYhr7HTra6kNgfJRo4bdnj5d8+yPJ8Obb4blIMldyVOhn2275QGCjnpgeMGULQoGfyi4z91lVzbuPVx9fsfYiT6r/nviUJHTTNT8ZI/JP5YlLkJZglCow==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6368.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(136003)(376002)(39860400002)(346002)(396003)(366004)(451199018)(82960400001)(38100700002)(86362001)(41300700001)(85182001)(5660300002)(2906002)(7416002)(8936002)(4326008)(6512007)(6666004)(33716001)(26005)(186003)(316002)(83380400001)(6506007)(9686003)(54906003)(66946007)(66556008)(8676002)(6916009)(478600001)(66476007)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eHByTnEyMjFzOVhnT0h1Rmd2THh4d3dSaXNsRUJhbnBUSVplMFV1dXJTdjkv?=
 =?utf-8?B?dXpQRWNtNDdSMDFWQ3FyL2FOMml6WUxMSUhsQlZGWG16d2hKUnVhYUtFeGFN?=
 =?utf-8?B?bEF3elJ5RGZUZGFWQWVZTmxGeGc4d1dObVlERWRYZUJGOWk3TmN1THB6OXhi?=
 =?utf-8?B?bnNLd1A3R04xbU1kaTdSNTBKZ3VRa1kwODM3TGFhZnJWZHpITU83V00rRmVJ?=
 =?utf-8?B?U1c2VzdXM2o5aWpGTmNOTjRYU2VZd3BiTlZtK0ZsNW5sZG9rWERnaysvNHp6?=
 =?utf-8?B?cHEyOGNvNzd3VXlnSjZNSll2WXdid3dyZ1pqd0tGM1lmRFIybENyUTV4cFNP?=
 =?utf-8?B?amtuR1lQQ0ROYldEa1RoNFRqSjVCbnVuRDNNaXdGMmtBYlZEd3VGMkMyTzl2?=
 =?utf-8?B?ZjdPQjBlMjJPZ2NUU3NXSCtDTWdYVUE2RVNFZjFOWUhITW5sT2FQWUhZUkVl?=
 =?utf-8?B?bHBUemxlVWttY1NBWm9UYWcvNFZmRDNqTml5UTBqZ1BHUmVraWRhZmFYVWZS?=
 =?utf-8?B?RXE4TTJLNHRnZzRwV0g1dkNCaG1UdWVNQ2tzZ0M5Vjh5UkZCdlQyclR5bmRL?=
 =?utf-8?B?MkhYUDBDMUg4ck52VkNaa0dPMHpCYmZRMkVOMXNUWVc1OXIwa3lHSVJ3Q2Rx?=
 =?utf-8?B?T1ZhVmc5M296OVhJZ1JPbUxZK1FnTTNNN2NDWTdhd0NFQ2hkVnJXZFZ0N3cr?=
 =?utf-8?B?aE9xWHp6eEx2ZGJMMzNNOWE2MDBLZzBlQjAwQnFTeStrcEQ1eGZod0Exc2tj?=
 =?utf-8?B?ZG9LTnQrcldHa3BncjIwcXFGUnphZ1JCQkNxRWpoRHlrTGlGZTFoZ1ZYS1J4?=
 =?utf-8?B?S05mNmJ4WHpQeEVhbUR2d2RPeGRLUHJyTys3TGhwbUYyZ3lVbXQzWU0zSFN0?=
 =?utf-8?B?dDVzK1htaEFEMitZaW5JdHRrZmEzYmNBamw2M09JSWhmeExDbTJzWHZocXJR?=
 =?utf-8?B?MTc0K0s1dUdrLzhycnJ5L3VTeHhPNnoxTnJmOEF1N3pyYWYxODcwS3JxUkZm?=
 =?utf-8?B?ZWkvdHlqY3ZuMzlBMXV1amxHd0N6YnZwU0MzYjRudlpLbjlxeWdkbU14ZWRR?=
 =?utf-8?B?azVLUXJHM3kzVG9GcERJNEgySG5OaG9SQW9vaGFCRmhkWUxXYnRBRENWOTZS?=
 =?utf-8?B?cG9nY0dxZmpCbmZVTGZoNk95cFpVTFZDaHRwL3lNRk9Jd2Y3alhQN3MrMEJx?=
 =?utf-8?B?OXMxSUwyajkrbE9idDh2TnZ4MWRmbWUrb0Fqbm5XUzJLQ2RIclFhRnJUZjVp?=
 =?utf-8?B?aklFcGRvN2Z4a3dnYmY0WW94UFFTYUlHZXNNSFZoZ0dGTnZGRjA4bDlRN2pz?=
 =?utf-8?B?UEVMTGh4UldoWnZUNGxVTDVIVEtQcktjT0xJQWl0bExjN0JKZHZHSkYvWG82?=
 =?utf-8?B?T0RucXROa0Q1ZHM5TEJGdFI1NFE0K0xDQmswWFJuQUUyTS9mYzRIancxSUVq?=
 =?utf-8?B?bzIvY2w2bmQvdzEzTFBkOUN4NjhCQzdEdlM0U2Fkc2hFTzg3RTNsbG4wZlN4?=
 =?utf-8?B?bnFpY0tMZ2xneGZjeWRuY2cvb3U3UFlxcHJUMmZFeFIrWmJQZGtZSFk4SmF2?=
 =?utf-8?B?WSs0TWpOUFBpZmo4VmVGYTlud1RjcWM4MkMyMjRvZVhzcWxYc3JwSkFpQnIx?=
 =?utf-8?B?RVNiU1AvelhNR2dvZ3E3dGhKdG9lRzdiOUsvd0tQbmpDOWE5WDBrWFZubStD?=
 =?utf-8?B?R3ZRaUhHRG9NZWc3NDVkNEZHZGJScjRzN08yblc4ODVoenBWOXNFblBFMGZV?=
 =?utf-8?B?WW1xQU5iYzFrUFBCbzdWUXRhMjJzdTFYZWd3QlRkZkYzYVA2TktseEt4S2ZV?=
 =?utf-8?B?MnpRY2d2OE1VTGsrUHJkclE5eHBjOEh4UHlJM0RuUmRVTjBNRTl2MDNsendM?=
 =?utf-8?B?Vk5YS1dNTHBQUGlCWUZKbDBEQnZyNHprKzdsQVZycVhZWFVyNEoyRlk0TDFi?=
 =?utf-8?B?ZGFGNlo3TUVoUUlheEVnWERyU0lmdlBjNm5xNFZGbk1xcXNWQWZTZUZLZUxz?=
 =?utf-8?B?clZ5OXlxZGFTMHZ3aGhiczNkYlIxVnVBSVpKZlBaOHIwOVQycWFkd2RTaWxK?=
 =?utf-8?B?eHZBSEdmK2cxVWxHNWhLMW9lczR0RWYweVZ5Mm8yMVNLbm9UR2hwU1B4YlZh?=
 =?utf-8?B?d2RCVXJjbzVxZ3dvU09TeDFVckNOaXhMTjJ0Szl5dFJHa05Fa2V1WnlnbTBS?=
 =?utf-8?B?K3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	+07iL829Pb4DjnO0iXYrQPo0svkGSVYZcz6O9Bh/V12Qm7RQgnmsqnneTQcEPs5n0LMubJDMZ9lH3hh+vuLwxWWvWT7akAbtIuHbLs790aCyCDoVrbjByY3FhlJFWYFKbVYD+lzyv35svigT3sc3miktVEzI4c4+sqcnlqb7eoUUYoH2tQQ1DZxSemBUZR/F041F7nxh4ifaZkgZqZzzB+12wgi9IFlLRaEwMKZaQS1cE42Syod2C8VDI94TnkJY2ZkJG7XAaW0Xl4iVQlJ8EgN+kZzqt76pwPa3Ed/oXhfAIhMvCbHbn2trym/7aWCL0zfYTm88GMrZHWUfX+NbPjy2uDGIgzR4/nHlfoZBa2suj6MfVs5zgYt9AuW+LxJh8fENq4mLZdEIsKxyxDsDfCxngWh4DrryoY/H/dBfAHkE8W3AcVBXusEaB8pdcmNw8DkuMiV+Z3Kf+Xf4Eqx0zEJdUGdZhHd3A+7oHpr5pxuvrY/fHS7FDRyACkJoiRgmutly8UUskzi7xtfTbVG7RWWfbxwq8Es4dZlB/XpIpIahiZojJ5BS7YjmrBqQGmanQ593WVu1W9vuqX2xDAQzJmg8J2fIUE5xp/5JfBI9VLzgMB5y2ybsMSJuiNvRuukoJPm0ICDK749fhOwSDil4VKwSkvwR2h2a8k7ymPa3dkKpmSLNx+FMvn9vM1IUrUdOKibxvrqQhUcanP4LV5Uaz1+76Ku7XGfebdpuBleZgOallweNXXBtW7R0+NWBVynvclOp8j2gj8SUBKpq5d+Lt7NxTYxg5pXMl3z0fS69bZj7H3vfCit85GSmArOQO+bqvxcILNFOPLlDxDM8Uzx4jtFbhWF4R0x9U8PuJWCnR7En+enoWvBE+enc2awnZBzc
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ac4ebd28-f068-4f77-36ea-08db256e07d7
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6368.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 15:57:51.4356
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wiVfAdPW7jVPScTKrWQg25c1+3rdon5TKk3ygGT8EnsQ8T+iNy4XKn10B+ErgYTRmkGXtjq2E8SG8ViAv4uY9A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6601

On Sun, Mar 12, 2023 at 03:54:52PM +0800, Huang Rui wrote:
> From: Chen Jiqian <Jiqian.Chen@amd.com>
> 
> PVH is also hvm type domain, but PVH hasn't X86_EMU_USE_PIRQ
> flag. So, when dom0 is PVH and call PHYSDEVOP_map_pirq, it
> will fail at check has_pirq();
> 
> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
>  xen/arch/x86/hvm/hypercall.c | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
> index 405d0a95af..16a2f5c0b3 100644
> --- a/xen/arch/x86/hvm/hypercall.c
> +++ b/xen/arch/x86/hvm/hypercall.c
> @@ -89,8 +89,6 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>      case PHYSDEVOP_eoi:
>      case PHYSDEVOP_irq_status_query:
>      case PHYSDEVOP_get_free_pirq:
> -        if ( !has_pirq(currd) )
> -            return -ENOSYS;

Since I've taken a look at the Linux side of this, it seems like you
need PHYSDEVOP_map_pirq and PHYSDEVOP_setup_gsi, but the later is not
in this list because has never been available to HVM type guests.

I would like to better understand the usage by PVH dom0 for GSI
passthrough before deciding on what to do here.  IIRC QEMU also uses
PHYSDEVOP_{un,}map_pirq in order to allocate MSI(-X) interrupts.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 16:21:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 16:21:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510135.787299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcTsb-0003W1-VF; Wed, 15 Mar 2023 16:21:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510135.787299; Wed, 15 Mar 2023 16:21:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcTsb-0003Vu-SE; Wed, 15 Mar 2023 16:21:33 +0000
Received: by outflank-mailman (input) for mailman id 510135;
 Wed, 15 Mar 2023 16: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=Dk5j=7H=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pcTsa-0003Vo-5g
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 16:21:32 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6cc32545-c34d-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 17:21:23 +0100 (CET)
Received: from BL1PR13CA0142.namprd13.prod.outlook.com (2603:10b6:208:2bb::27)
 by CY8PR12MB7219.namprd12.prod.outlook.com (2603:10b6:930:59::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 16:21:20 +0000
Received: from BL02EPF0000EE3E.namprd05.prod.outlook.com
 (2603:10b6:208:2bb:cafe::9a) by BL1PR13CA0142.outlook.office365.com
 (2603:10b6:208:2bb::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.30 via Frontend
 Transport; Wed, 15 Mar 2023 16:21:19 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0000EE3E.mail.protection.outlook.com (10.167.241.135) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.13 via Frontend Transport; Wed, 15 Mar 2023 16:21:18 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 15 Mar
 2023 11:21:18 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 15 Mar
 2023 11:21:17 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 15 Mar 2023 11:21:16 -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: 6cc32545-c34d-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L4L82s1B8kmSvENFxrrlAQI4ft5Kn8oA+V211Qds8ni/wbrR9vPtKvd1twj++2TX4z24A2gOaenLrObVKTzF6JQPO6S8i07s0ZoY9ViJpUKnlod86JhbZXqd7hzL5o6WILzBHXEpFkhL3P3QUExOVOTHBUNsmtaxj1lPOMozuRxoQDOazpAy1SZaOZ4bS98YHRFgH9zp65WVs5DLzQVWK7oAlZoM1dqsDYfFtWODCMRnAo36yS/ZUwjue1Fcrz0iYdZrpUma2hO0JUfHWhlE+ef6SUYDAyKVk5Mijm935GvnG1C/hvG3rK9BJ5NN9bx1HIFdpZ5lSzfw/73tJHo53Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/QrbP2liJ2XcJvOBV5TScBRXVetUXED9GV1H2KPipkA=;
 b=ik6DAPa1O1tl/OlY8C+AOnVinW5x4lRSVId5Mg1L7zSFI8iab9C2SSxb5ofMvawpECYGkwYRz+VYCsE94B6R0QbtxR+UUxpXSRdYgFzO1tadETR2cxCiOaCNpdFFg9EEif98IRvzmp0m42KZB0ZUsGz5nscewDKNV6TMD9WhjRjBwyos9Fme8XH+PqQmc418qWYZxc8kugKySLsTlxn/WgXyIA3w2889QVrUpX36cMc/XenD0v6n6ZCAgMr2/Pm2c0LACsIhPr8hj4loLFYgG5ubheb6bod1MAPpPmCzGLtcqCL1rThf/YnEIK3fcZiNRCFhr2nTyWyOy8cWrS2VQQ==
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
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=/QrbP2liJ2XcJvOBV5TScBRXVetUXED9GV1H2KPipkA=;
 b=fhmSwASUxCdlYg9kaTQB9c9kL+YGjzvBcEfvKR9jeJiYzSDgxCVwWw8wXun+Zumx1h/OT3lY0VHOsbI4aMRn8DWXH/PCS3EQDo1yfTPBr1g3ddTb9gvZ56NK6e3HKDQeZUrbS+tCJHBjxotzqIv6y6fuALh9TG3SCVLJPAOKmrw=
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: <d67aeb95-1631-74c0-cefa-a0cc88512b84@amd.com>
Date: Wed, 15 Mar 2023 17:21:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/console: Handle true dom0less case when switching
 serial input
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: <20230314142749.8845-1-michal.orzel@amd.com>
 <da7db77f-3ab8-edd1-bc69-460ca3e2ce25@suse.com>
 <7676cba9-6f92-0c97-dac3-372ca47be34b@amd.com>
 <737fec84-42da-3b9b-6cb5-d18406925403@suse.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <737fec84-42da-3b9b-6cb5-d18406925403@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0000EE3E:EE_|CY8PR12MB7219:EE_
X-MS-Office365-Filtering-Correlation-Id: d1188f6f-787f-4e8a-1719-08db25714ea9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	p0RJcI7naWjshNePPHiPMCPM5LskAN9huEtR+9W2bVFNTBhfqMqSyOexfjIDhBG45YmffxwBnVTxR1mw8GtVc6TufqMPSzn/oyLjAl4uYnnCGLO5t+KNO3v3c7biNPH9ENkFVqAfXSh0EpFpDToYIVjy16AbuQZtBjPw1/FuaKDvWVvWBG/UUR6REYQ1e3J/ApZ6pPUefo2Ux8jTJzg3Gf9rvyv7dTMA8VJE1SaLP0T/bTJG9JPHBBjJyKmASgMdq0sHSGTrlJ46ko84/RShbZjk0AOlWP+brdAGhpmhif4Verj23FCQSOdpciqwCxE6atbK5nBuWEwDTEN9pfDz4mbxKdoQPiPTfsQf4DYYveETBVqbdejDc/R/SedDsxCOU2Ygw4h64DwbDloeUCDC1lWGG6F1WUDj/vWOPWiPt4BfssAXZ34WvxBNAkzCLmkuI9cjVLLUR26UxqALwRcJC/HzCDSfdv36djOmqL14Ff1Ft+yFSvuDm3PL3OIvYfQ0ASX9dPMggF+fr433NJTrzEptHV6gM/TL2YLIQhXgJH0E32M84uZ7qIuHDMSIQXLsC2YBdNysiQfsjtiRY+FLXkcWyplvLFU4zxOjkSIkuRJZbTIDUW5IasKr+zN2Hlu0awA6O6D+UsUFFDMsT2BI/F98rmV/rZZ3h5PQ6G2UXA7km37fI0ZROMZmpAhSusytLH16InXBIaUQhmII8ELrJzscSSslwoar/o2wl53naJoYIH0zoGqdTbN9BCcx5ayI9aHWRQq2RPrujcVjfXxK1a+d3bcqu6ssLwC7Be/gvbU=
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:(13230025)(4636009)(39860400002)(346002)(136003)(396003)(376002)(451199018)(40470700004)(46966006)(36840700001)(31686004)(36756003)(8936002)(5660300002)(41300700001)(356005)(2906002)(86362001)(31696002)(36860700001)(81166007)(82740400003)(70586007)(478600001)(70206006)(44832011)(8676002)(6916009)(53546011)(4326008)(82310400005)(40460700003)(40480700001)(54906003)(426003)(16576012)(316002)(336012)(26005)(186003)(47076005)(2616005)(83380400001)(32563001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 16:21:18.3825
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d1188f6f-787f-4e8a-1719-08db25714ea9
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:
	BL02EPF0000EE3E.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7219



On 15/03/2023 14:11, Jan Beulich wrote:
> 
> 
> On 15.03.2023 13:34, Michal Orzel wrote:
>> On 14/03/2023 16:17, Jan Beulich wrote:
>>> On 14.03.2023 15:27, Michal Orzel wrote:
>>>> --- a/xen/drivers/char/console.c
>>>> +++ b/xen/drivers/char/console.c
>>>> @@ -491,6 +491,14 @@ static void switch_serial_input(void)
>>>>      else
>>>>      {
>>>>          console_rx++;
>>>> +
>>>> +        /*
>>>> +         * Skip switching serial input to hardware domain if it does not exist
>>>> +         * (i.e. true dom0less mode).
>>>> +         */
>>>> +        if ( !hardware_domain && (console_rx == 1) )
>>>> +            console_rx++;
>>>
>>> The consumers of this variable aren't really serialized with this
>>> updating. That's probably okay-ish prior to your change, but now
>>> there can be two updates in rapid succession. I think it would be
>>> better if the variable was written only once here.
>> ok, makes sense.
>>
>>>
>>>>          printk("*** Serial input to DOM%d", console_rx - 1);
>>>
>>> When invoked from console_endboot() this will now switch to Dom1,
>>> i.e. that domain becomes kind of "preferred", which I think is
>>> wrong. Instead I think in such a case we should direct input to
>>> Xen by default.
>> Switching serial input to the first usable domain is the major motivation behind this patch.
>> The number of times I got pinged by users with *apparent* Xen issue on true dom0less
>> just because input was directed to dom0 which was not there (not everyone seems to read the
>> boot logs) forced me to create this patch and manifests that this is not the behavior user wants.
>> Switching to Xen console would not help at all. Also, we already have a way to set switch code to 'x'
>> to default serial input to Xen.
>> So I think what I did (switching to the first existing domain) should be the default behavior (just like it was done for dom0).
> 
> Well, I'm not going to stand in the way, but if one of several supposedly
> equal domains is to be "preferred" in some way, then I for one would
> expect justification for doing so. If that's the route to go, then the
> patch snippet you provided looks good to me.
Well, the explanation is that we are directing input to the first existing domain
which also is the first domain created (this is what users expect at least by default).
This for now creates simplest/cleanest solution that matches the current behavior
with dom0 and solves the users inconveniences I mentioned earlier.
There is no other real preference apart from being first domain created and to help keep the order simple.

In the future, we are going to allow specifying which domain to direct serial input to if users
want to modify the default behavior. This way, we will have all the flexibility needed:
-default -> first created
-conswitch=ax -> Xen
-dt property -> dom<N>

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 16:32:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 16:32:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510137.787308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcU3G-0005Dm-Vl; Wed, 15 Mar 2023 16:32:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510137.787308; Wed, 15 Mar 2023 16:32:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcU3G-0005Df-T4; Wed, 15 Mar 2023 16:32:34 +0000
Received: by outflank-mailman (input) for mailman id 510137;
 Wed, 15 Mar 2023 16:32:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pcU3E-0005DV-V4; Wed, 15 Mar 2023 16:32: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 1pcU3E-0002Wz-QJ; Wed, 15 Mar 2023 16:32: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 1pcU3E-0007p7-FN; Wed, 15 Mar 2023 16:32:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcU3E-00036h-Et; Wed, 15 Mar 2023 16:32:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LbJx7UsxxBDGjL4ZFA0qhOTKO1LJDLINc+utdJFSPks=; b=Cu5M5fXA2+swe9MuviD5rHQOz+
	aZcRfqiC3BS0ehribbi/pH70B1abBCpN/tuHfZbWFf9Fc0mgmEEFHD8i8lLLRNW26cz34eUCiBDbK
	1g9HwBlTxpV8bEW4H2tENnR7SrsRDJQNoIBBiz7fsYoIjz/drl5eKsjwUdeOwKbCh8y8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179640-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179640: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-vhd:guest-start.2:fail:heisenbug
    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-i386-libvirt-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=8386242bd0f6c1cb242f9c711e2ef864bf114d0d
X-Osstest-Versions-That:
    libvirt=c434a7e48faff075ef9e40b483519910c4ee360c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Mar 2023 16:32:32 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-vhd 20 guest-start.2       fail pass in 179651-retest

Tests which did not succeed, but are not blocking:
 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-i386-libvirt-xsm  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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              8386242bd0f6c1cb242f9c711e2ef864bf114d0d
baseline version:
 libvirt              c434a7e48faff075ef9e40b483519910c4ee360c

Last test of basis   179616  2023-03-14 04:18:50 Z    1 days
Testing same since   179640  2023-03-15 04:19:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Jim Fehlig <jfehlig@suse.com>
  Ján Tomko <jtomko@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 fail    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/libvirt.git
   c434a7e48f..8386242bd0  8386242bd0f6c1cb242f9c711e2ef864bf114d0d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 16:36:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 16:36:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510143.787318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcU7D-0005tC-K6; Wed, 15 Mar 2023 16:36:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510143.787318; Wed, 15 Mar 2023 16: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 1pcU7D-0005t5-HS; Wed, 15 Mar 2023 16:36:39 +0000
Received: by outflank-mailman (input) for mailman id 510143;
 Wed, 15 Mar 2023 16:36: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=CVd2=7H=citrix.com=prvs=431d4e183=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcU7D-0005sx-4z
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 16:36:39 +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 88455304-c34f-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 17:36:36 +0100 (CET)
Received: from mail-bn7nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 12:36:02 -0400
Received: from PH0PR03MB6368.namprd03.prod.outlook.com (2603:10b6:510:aa::21)
 by BL1PR03MB6181.namprd03.prod.outlook.com (2603:10b6:208:30b::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.30; Wed, 15 Mar
 2023 16:36:00 +0000
Received: from PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034]) by PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034%5]) with mapi id 15.20.6178.019; Wed, 15 Mar 2023
 16: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: 88455304-c34f-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678898196;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=4x4DgfYJIVPt5VoKMs0GQUY/aHSAZzKA7Dc307Y9wqo=;
  b=WasZjIsfEJQK2XsCT267wwy6HYFM+xV1tBpJOO2v0DtD8cSi3hSNebVB
   uDxmtkw/qp8EjvpSFSanPkozuGTd+PDanY1Cd78vzg3q5MHMcB9kFHwJQ
   hvQA5BH3/7sqjQTbyF1wKEroe7Y6YI4KUagKZ+MoiVGdNX2Xiptg3iVSt
   Y=;
X-IronPort-RemoteIP: 104.47.70.105
X-IronPort-MID: 101397520
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:NWu6bKir4EVzdcsfvYprIeG2X161CBAKZh0ujC45NGQN5FlHY01je
 htvWG2EOv/YMTfzfYx/a43j8R9UuZeAx4NhSAJkqiw2FHsb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waDzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tRfKSAsPhOYv9uP65KkT+tOrJsBC5bkadZ3VnFIlVk1DN4AaLWaG+Dgw4Ad2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilMpluG1bbI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjAdlDS+DirpaGhnWLgUEqMEcoC2G9vP+XpWCxRYtjI
 kktr39GQa8asRbDosPGdwexsTiEoxcaVPJZFuF84waIooLW6QuEAmkPThZadccr8sQxQFQCz
 USVltnkAThutry9Sn+H8LqQ6zSoNkA9PWIEICMJUwYBy93iu50oyALCSM55F6y4hcGzHiv/q
 xiDqCUujrMfgNRN26im9lDKmRqlo5SPRQkwji3cXnik9R94bYjjZIul71nUxf9FIMCSSVzpl
 EMYlteX9vxILZCJmCGHWuwLEJmg4vrDOzrZ6XZlAoMz/jCq93m8dKhf5Th/IAFiNcNsUT/uZ
 kDXtAIIop9ONX2lRaZyb8S6DMFC5ar9EdXsEOLUZ9xBSpF0eEmM+yQGTWyRxmHklg4Hkaw5E
 Z6efYCnCnNyNEh85D+/RuNY27l0wCk7nDvXXcqil0nh1qeCbnmIT7tDKEGJcu0y8KKDpkPS7
 spbMMyJjR5YVYUSfxXqzGLaFnhSRVBTOHw8g5MPHgJfCmKKwF0cNsI=
IronPort-HdrOrdr: A9a23:cjc+MalnD8jISCinCjVQQqBmIxzpDfLo3DAbv31ZSRFFG/Fw9/
 rCoB17726QtN91YhsdcL+7V5VoLUmzyXcX2/hyAV7BZmnbUQKTRekP0WKL+Vbd8kbFh41gPM
 lbEpSXCLfLfCJHZcSR2njELz73quP3jJxBho3lvghQpRkBUdAF0+/gYDzranGfQmN9dP0EPa
 vZ3OVrjRy6d08aa8yqb0N1JNQq97Xw5fTbiQdtPW9f1DWz
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="101397520"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RVa7FFqU1b+tD3T+S+fUbe6IBiXuB5CWbb7/jaKzIKDvsaU9tAxF7C/NxIKXsLstZFUS+FgxV9cGC2WD/58Fk0dOi+vvoBlTspZFB0TkEULu/iD1X2pv0ugJ7lpAp63bQ0XqU6+Mb7TTKXw402hMVd1IurXabwpU+SRpIHTgW8O62IG/8QK/pcDFAcDo/Y74ENpdK03D6PZYF4JG6uHKdNI8XDqcxweVHDGp2jZZMl7iKMUgI44pWY9y14zJjI3vN5iwOLMEz6e0eZCaSobitK6asyQZrS8th4udxNuOWp/Ale9cMDPuapJkWnTZvayeONxWv4emcs5u3we2FgyU3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+7PFXXZInkYNt0+FeBk+Da9MFGAphwlmvDAKkgx+XhA=;
 b=R4gsJw3/eKzu8vTskiNwkZwEaXqvrMXg98hqfBZty+h0hky7KlT78cZZ/e5Y3H/jcvui+FFDVLb8Ad6VdNUlTSlNzRw0w9AZH9lS6Rq7RXMo+GElD5A7WQ9WtvSKmHag5uV5aqpFzDmmf76QK8jxKX6L0E5B8xI4UPlKCxZyewtEPmuULur4t9I6SAft1wE2NUwEpINpfSxSD4OpPcakyeuYqRb9mvpl3DKwbKVNxOeQz72+qWgR1CVdJiD3Af8mrxNPX6tXRC/gzOJxJy7W6/RXBpndIdoCozqxytNH4U5wOXxWM3ZgTRlK9o9wGSBob6zeDODesmybJcBHCQOMRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+7PFXXZInkYNt0+FeBk+Da9MFGAphwlmvDAKkgx+XhA=;
 b=GPJNk0cHYwL3MFMneJsKTFKWiEWYoe0uLVFE22Fj3IBky2+fGX/jax8nrcIfhMn4g/AwZrX80tbJqcipBZ2Viw1+mjq0frFQhSCnOxER++6Ej/aCq0xiEcPR5WXg55yonmCQCwLvrYi2kc7jDZu10fsl44Yw9gx2ddd6XnnU1tg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 15 Mar 2023 17:35:56 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Huang Rui <ray.huang@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Message-ID: <ZBHz7PpUbKM69Xxe@Air-de-Roger>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-7-ray.huang@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230312075455.450187-7-ray.huang@amd.com>
X-ClientProxiedBy: BN9PR03CA0246.namprd03.prod.outlook.com
 (2603:10b6:408:ff::11) To PH0PR03MB6368.namprd03.prod.outlook.com
 (2603:10b6:510:aa::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR03MB6368:EE_|BL1PR03MB6181:EE_
X-MS-Office365-Filtering-Correlation-Id: d87e7249-119d-42e8-cd64-08db25735bcf
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Dh3AgbMhmC41rAKhjnF5zBfV5ifJWq1iqk0AdVDnrRGpB3uq3rlOwwO6xoGDykfuVYNXkgJ6wGiFfJ2ECkW6pZ5Ge4C0Z1XnFvzrmLF4ETofa5zO30rPtEf84x+9BRuX9EuTFEe7AQwZrpNOcQnPbuH5aHA26nvxVHhovRzlOcQxGVOZptdzvIymczxYuGYGIubwLXW2h5hXgQHyz9WQxxhRsVer7RVAuUCHAUbNdxJ8/ykkLYWhubfhqkYekVO/91NjUoGjQHjBVkV8lkJRsS6Z7PTjorSiCyjhOqS17BVeyKbLrFHkzOxA2LWdfLDgvqEGHTYbVaoemISvwpGnTHVP9QvNx/FMGSeocaZvugzOUxTwWFrQSoQtyDgP3rTQH/mJn22RPq8xfWXClkwogdYH1pPW3FRaMx991lLcId28XYG8xPlU7dvYsRWXSvm4gW5Ur9VfQkVaDYYncRwnA94Ji8emRkxOc44iTScp2yAg6uYuejr3MrLcIfObYwqqqKr/HJU3RND0QydI/rFHw6YB9QgAWgsjgwyueeHDHxlPikzaURBk0Xid0nYW/EFdc5+9j80gN/TDM3URQ7KSliwRZ4YGs1oFoee+IarpC0GpgVFvnfH2LfLe1r9i4+zb4hvnviwrp4Wx23euj27mKg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6368.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(346002)(376002)(136003)(39860400002)(396003)(366004)(451199018)(478600001)(186003)(6666004)(8676002)(6486002)(6512007)(6506007)(9686003)(66946007)(316002)(66476007)(54906003)(66556008)(26005)(6916009)(4326008)(41300700001)(8936002)(5660300002)(7416002)(38100700002)(82960400001)(2906002)(85182001)(33716001)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NnZpaHZCMi92RDBxaERUcWhwUUhibjdRZ2lHKzhnVTJtd2JrVEMyUml1OWpH?=
 =?utf-8?B?V3lrdHVGcFpxOGJudUJQbFBNNDhnUjdMclBoSTRaZFc4STNTUVNNbXo1dkF1?=
 =?utf-8?B?RDZDMldKdDJ5eTBkMEZldWx6UXFnZ2JEWlhyNmJCc016WEU2V3M4ZEs5eGky?=
 =?utf-8?B?dEN3QVp3UVEvRWV0MVB4WU81Q09MUS9VcGRQdFBEeTZyenhlaFdLRXZ2dmtT?=
 =?utf-8?B?WlpELy9sbGhpS3FiWnoxYUQyc2NUelZaQllBWlRlUUFFME52bExPODlCVG1K?=
 =?utf-8?B?V09hN3VPbTdXenhmMW5SekF4RlBRSExuWUlmNlBjdTJtUXo2WEpidmlKSW4y?=
 =?utf-8?B?TjF4bE5xSTVpMkwyMVNiTEVFRWVNYU1jUDF5cERrZXAraXI3V0dlajdQaFZP?=
 =?utf-8?B?TndsVE91MDJqMzJEcTR2Q1MrbjEvZVg2UHV5RlZHa2JhaDdBT1lQZXg0dDFN?=
 =?utf-8?B?blpSQVFXSVZjUmQxcHFxRHlzUWoycTdIVG9GWEFDNkxEb3F3VXViVnR4V1dW?=
 =?utf-8?B?Q3RGRE8ySlNCdEhJWmpFZDZldlkrTGt4cGE1bDFwb0hkdWxjbGpxL0xxSU0r?=
 =?utf-8?B?dFRSTWprVEp1ZkZnMWlwSSszbjlCQXc3a0Fsd01RVnplZ2xXUkMvOWFOYkxk?=
 =?utf-8?B?R00wbFlpdEIyNnJJa1JjMWJZYXg1bVQ3Mng5WFpZU3dVMUVybjN3UnBHSXpr?=
 =?utf-8?B?UWZ2SmdWNmRQR1ZNZmJLZUp0STcrVE9XZk56dTE4ZlRJL1RpLzRlNjh4bWFp?=
 =?utf-8?B?N0kwUTh5Zng0d0ViR05aQzBsT2g2aE9zdUo3S1lhMUpuYVlQNjJ4TWJuNUpX?=
 =?utf-8?B?SFRHRHBUMjg1SnFid2g0TFAyQUwxaVlzTlg0dmVpaWVZK1A5TXV1WDRvTE8v?=
 =?utf-8?B?R0xBbkxHeWhZYjRsZWIzQWovMlpteFBIY3FZYkJNQ0pTZzI2MS9tMU5pcmt0?=
 =?utf-8?B?RWhwTEZkQzRSL3ZaTVBJYWNjaWlqQnhuaVBZUGI0UEFhZnFibVREc0J1S1Jt?=
 =?utf-8?B?dEdZbm9vWVhjTUZucWQxcFMvVXVRTmk0RmlVUWZvTzBBaUpkRGFkUGxTQ2hJ?=
 =?utf-8?B?SDlDclV2MnN3REhCN2Z0SXBSUHVkRFIwT21iUHcrRGk1c1ovM2tXNm9STDBY?=
 =?utf-8?B?VmtLTDhjZDJEUlVUR21wYlRXNDgzTEtwYm1qbXRxM0N2NExYcmNPanBqRW90?=
 =?utf-8?B?KzIvWG8wWVljNTlBVUhOVU40T21kbUdjb2pFL3NPVExZNWdoaUM3L2tvRnlQ?=
 =?utf-8?B?Qy9UVHVRd1hTck9rU3VHNUZrSzlkVFRVaEk0WFR2NGpIRWNKWlpiaS9XSGJm?=
 =?utf-8?B?c3QyU3g3Mkd1ZkI2UWl6ZGRkSUUxRGRBRWFzd0NTYjRLa3VGQ05OM0EyRzNI?=
 =?utf-8?B?K0tVRlRhd1ZxbXFiU1lYczVRY1BrSFpPSDZ2MUdJSG1GYktMM1puVDBtcEdO?=
 =?utf-8?B?b3VyOGwxQkM0YTF0a29HR1pDNkpka2prV011c3BIVFpPM1dCWkxtdDBXcUtp?=
 =?utf-8?B?ZThvcmoyNFFMSTYvcU40MU9IRHRlV2xTaHdZY005OXRsUFA2UlkzdSsreUJi?=
 =?utf-8?B?MVFIMkFtQk1MRWpITXhZTysya05KVDA4USs3VDdibXA4RjIvK2dhOHE1YUda?=
 =?utf-8?B?WHFCTlFhTVF1YjRXcGc0bWc4UkRhditPUm9mYXh1d01Ta3lZRmhZaG5TbWxL?=
 =?utf-8?B?Y0tmRkJac2NHNnZxd0g4UmNWZUpONnNmblp4YzR5bmJrT0wzYkRJWTFXbVIv?=
 =?utf-8?B?OU1ZSGdEMmY2NmM5aGw3UVk5MER0L1l0ditkNkdmd0hYbWptZ0FONG1KdXBR?=
 =?utf-8?B?NlpUZHorZjFBSlRDV2xtN2NZTVhlOTduaDg4QnEzS1hNaGprM1JDMW0reDRG?=
 =?utf-8?B?RjAyK1BTRmZuVkt1bU9HZUFsOXFSMVN4MjR6U1g2QlNCMjZNWndZWHh6d3hQ?=
 =?utf-8?B?bXdUTEMvSEcyOU5YSXRFVjZXRG92RS84TWxqM29XUUpWazJ3YStiWFlFRGJQ?=
 =?utf-8?B?NFBkeG5zSjFHc0tFb2ZUZ0JmaHhpeDdod3ZCWCtJT01CSHNWaDRvS05qNjJG?=
 =?utf-8?B?MUIxRStrcUFwWU1PRXozZXJ0V2lWQmV3cnRlMXBNTzJjRjJnSDJDeFQ0YW1Z?=
 =?utf-8?B?RDVpZWI1OHRFMlRUMk1RRXFKTktxYkd3L0Fva2pKU0NQbzQ5Q2k1QUdEcWhQ?=
 =?utf-8?B?VWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Y0t6bBOKJjMSNA3acleU6o3y7CNiaZjbmTpGpupHV7IEbC4ZFJqpzXnEvaXrWXw/9JXfhiRxXugMhxX3U0X2Wq3WdLTTQaS8e0gCnuFvApx6DDauj3S/pVzgK8XoMoGAnGCoF/69/96lhuzMeXfbu5c1YuvZ9Oos7zitb0Y6f4ymF46V8/LBOhmuJE0NlNp+pE2yajaov7teaRngqkZ4DSXNcanuNyfs6x6ZmUQIgFU7MXqnjZC6qORXt+DKpHAVkReVEhKicsIafr2UIHfbitx8NchbHpEpgKN2k8g9yLZ4sEIwVZ+ZAQLvDWhjQM+nfCgtuyAdfPLVLC8wv3/wHPQZAm+s7qi5zwPVE1jrHlIlHEPsd2ggm91nl9r83ntPs7c77ZTnj5yTtpu5yKiqHdBSkKv3SYqBgXrlWs05wzMzUxFMxbho7DGAGdkAOm5j1HtN0SdYnoHfvWS3UPpxUf3G6sq6cRuJS/Qcs2Qz4V9lWX/+H6vOpfM3uqx0+b99N8VPKxEOnzg0zlvs24+S1VzrPubjAcuKJDwA2gc0iEUE7z3Sf1QJakq6RVdYpoYinwwSXKZETPU1TtsJdI8SW144o6hXnac2x2D5vt9QawFciyovpJ9mljLPfB6owM1yE8aTbzgkSD7eweEFXgGfGUqgpG7LKdsk5hjVwPu01tpctERAtlTRvXAIBBjjvl++hur5d7zbsibpbEzgKjiP0FOOmEcOFo4JQFnTAtgvkUxi9iJhRAheWq2in8giLasj01uB3n2B66PIxC0Mqo3u0bIuScKCVP2M0/ku8BnhgMzpZXH/5AQvh81gA0STmJOwPIDB0S5LjcMJ2Q6wAHefG/LvqBhBWZI5puERe7ySX0j8ZGLZOqc8aFpigIa6BpWa
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d87e7249-119d-42e8-cd64-08db25735bcf
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6368.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 16:35:59.7368
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LmShGX8SmH9P+lHYCPP3ZR2TQGz/BUJF1VmLk2HToGBPlQdgs+j7nwcrpq5wafMA8AxFbutqIEhXQ1X9pJyVGg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6181

On Sun, Mar 12, 2023 at 03:54:55PM +0800, Huang Rui wrote:
> From: Chen Jiqian <Jiqian.Chen@amd.com>
> 
> Use new xc_physdev_gsi_from_irq to get the GSI number
> 
> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
>  tools/libs/light/libxl_pci.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> index f4c4f17545..47cf2799bf 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);

This is just a shot in the dark, because I don't really have enough
context to understand what's going on here, but see below.

I've taken a look at this on my box, and it seems like on
dom0 the value returned by /sys/bus/pci/devices/SBDF/irq is not
very consistent.

If devices are in use by a driver the irq sysfs node reports either
the GSI irq or the MSI IRQ (in case a single MSI interrupt is
setup).

It seems like pciback in Linux does something to report the correct
value:

root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
74
root@lcy2-dt107:~# xl pci-assignable-add 00:14.0
root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
16

As you can see, making the device assignable changed the value
reported by the irq node to be the GSI instead of the MSI IRQ, I would
think you are missing something similar in the PVH setup (some pciback
magic)?

Albeit I have no idea why you would need to translate from IRQ to GSI
in the way you do in this and related patches, because I'm missing the
context.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 17:02:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 17:02:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510145.787329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcUVy-0001Py-LU; Wed, 15 Mar 2023 17:02:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510145.787329; Wed, 15 Mar 2023 17:02: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 1pcUVy-0001Pr-HD; Wed, 15 Mar 2023 17:02:14 +0000
Received: by outflank-mailman (input) for mailman id 510145;
 Wed, 15 Mar 2023 17: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=DN/u=7H=citrix.com=prvs=431ad58dd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pcUVx-0001Pl-MO
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 17:02:13 +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 1e6a2c8f-c353-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 18:02:11 +0100 (CET)
Received: from mail-mw2nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 13:02:05 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB5894.namprd03.prod.outlook.com (2603:10b6:510:31::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.23; Wed, 15 Mar
 2023 17:02:00 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.029; Wed, 15 Mar 2023
 17: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>
X-Inumbo-ID: 1e6a2c8f-c353-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678899731;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=bRStwQmr7cCA8/bDDT6jRWnhNxuopOkWIaWXEhSIIMc=;
  b=gJVi6Zbh57V2VmrFxC3VV2D4re5s2qE80Y+YRjgqn5ZQGF031NeK4opb
   q0ScR5D3SIpCYclN7W1xJ36BdyyOdLYyV1kzfVopllwWDiHWvIyElC2wM
   SHKGs56EW3MUpC2wrLcHY62Eh3/NnGund55P3Mns2grwFnhCk+XyAcL1m
   o=;
X-IronPort-RemoteIP: 104.47.55.104
X-IronPort-MID: 100900369
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:jbHATKodq85z/uYn2Bnw5NzkVKBeBmJsZRIvgKrLsJaIsI4StFCzt
 garIBmGPvjYamr2ed8gaI2zoEsDv5/dyYBhHQBtqy42Fy4V8ZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFziRNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXABEuZBvape3t+4KcQc08hcAZNOXRNpxK7xmMzRmBZRonabbqZvySoPpnhnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeWraYKJEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhrqY72AXImD175Bs+CBibnsGjjwmHQMNhA
 WsfuSA0s4JvzRn+JjX6d1jiyJKehTYeUddNF+wx6CmW17HZpQ2eAwAsVDdQLtw7vck5bTUv2
 hmCmNaBLTVrva2cT36Q7PGYoC65OSUPBWYHaWkPSg5ty9LjuoAokhPGSJBgF6Ozj9LdEDT8h
 TuNqUAWvKkekscRy+Ob/FTLjji2r57FZgcw6kPcWWfNxglkfpysY4uk7kfSxflFJYedCFKGu
 RAsm8+Y4+QDDMjLlDGERuolFbSlof2CNVX0g0NrHpBn5TSk/XGLdIVcpjp5IS9BEMcdeDbvJ
 mTTtAV57ZpfenCtaMdfeJmtAs4nyazhE9XNVf3OaNdKJJ9re2ev7CxoIEKdwW3puEwtir0kf
 4eWd962CnQXArghyyC5L9rxypcuzyE6gGbMH5byyk3/1aLEPSbJD7AYLFGJc+Y1qruepxnY+
 MpeMM3MzAhDVOr5YW/c9ot7wU02EEXXzKve86R/HtNv6CI7cI39I5c9GY8cRrE=
IronPort-HdrOrdr: A9a23:w4LBgaCT6BRZsUDlHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="100900369"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SpwLGJ4z4t/P8M/Ju3sx7nat3+fHei7oFNrCaXxvJQhpPupI/s2JIzni9B40qUrx6MK/vZI7t6FFCLpe8+A6UAkcLytcf8FoExWKLbPYNBgpXcL8rBbqP+s4LtVCUC7gKVibIBir6DhoCZB66knCwZ1OX2woxzwJwLfrxKQqYjx/STOu+F5/XxBtq1ydVbwD9UnY4YdoZmUKjrPnZbZKrsBm53D16jdoFqR92ey87RZNDk3HL4gZOiD4xXjTjKe9J6EhjTt2LRWfznsSUfPmYITvj5ig8hrvsuAhD0GyysqhDZW3hwDvtKTeRoTkSlUasY3I0RQqaEfGMEuMmF5HjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bRStwQmr7cCA8/bDDT6jRWnhNxuopOkWIaWXEhSIIMc=;
 b=LRdIM9+it3p8IGKjuT1T/RWL1bpBS12t3XUxh7eh/JIvhX0l9IO2b8L0jdci+EkpFyk6e45SJoHkrySMzQEwo7xHRGQu5/vo2XP3zEgpNdrA8Dq7gaoJ6V+ltnCBSaJ91kCPk5jh4NOLCo5m+yLGQSrAbrztLa4DYbKo3p/RtNI5qjnpDY6CL1WyI6EB+n7noftJtZ/1OwC3CAS/ULJMErFFvTTTVLw0LsnuN2S5ljfswpUbWDIsZgWQ/nHQu/DGiZo3UMU4SneCgAyAOHqf59U9TBaVxhpMhpQ5TLtT5ek66RV/p8dwHJ95lKxJmAc07SYfC2NAC0uLNRuzIpx35Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bRStwQmr7cCA8/bDDT6jRWnhNxuopOkWIaWXEhSIIMc=;
 b=qJ5EuGCNU28dNt5WtPcbSg5PYu/sJvWdRW88Dn4sZZt3LXdGAmR7I+QPDpxd8m2Iy1cjvDHLM8zdBvxla9VUjVb7HViPM722uxp3JKhJcTFj3qHQRgfjnTeSeWeCIRAgNH/8ZFIq7f4HvkBz9tizYF6HrLUVaiwnLGLvGfLxGGU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <521ccacd-a45a-f55a-72ed-de6b64bca050@citrix.com>
Date: Wed, 15 Mar 2023 17:01:52 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 4/6] x86/pvh: PVH dom0 also need
 PHYSDEVOP_setup_gsi call
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Huang Rui <ray.huang@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-5-ray.huang@amd.com>
 <c51bcc5b-4f90-5651-de3d-df47bdf4a04a@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <c51bcc5b-4f90-5651-de3d-df47bdf4a04a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0351.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18d::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB5894:EE_
X-MS-Office365-Filtering-Correlation-Id: 8f6c4c3e-6676-4d69-5002-08db2576fd72
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ITs/iIs5xNQN56938Dj9AONzpXrILHeXZGhIyecWifLVz457r4RKgQZZo/6qGQlucsIpQVuZbTt/Uds2mRwOk02ji51cdTKpxSRShnA4PX9pVmzjaZuPQ8gnb5suGlJ74O3nvgRKzCcldM/WWid9bwLxM6s03faqK5/oJ7viD2juOZsFj2kC+6yo/ekOrE1NYDSvCmeCpI93N2vGVOLXOV5WvdboNwtVGQ7i3kjYdrJ8lTYOYuMjTN1OfCIGNrNiZigvOtJnIznSBELl5m7lpiJR+wTq8T4D+rXw/1PJnRfHkk8mvErpkgRSE/IcRzRSDvs44rzyq8K/cackTsxxjpCqLDTmZ5g+NrDuVWiv/uvJmjN2ul1w6xwz0M37DIHIfhENyZyftSwnPXhaZyCCDm66qfjDNZI+nD6aKd0Zvl2o22ha1fZhtROGLYLow1eFxQZ35JKRp/dz4jrW4rW/jae5vhX9a1qtHPBEvE4laxYLwhUcy6ouqS3dOLOaGzEpxnY80A9dLRSc/sYZwtufA3V1HWDBfcy5I9eGq0TQQyZYXfTxOBxLRv5Vk5fraM8qiQhAjQfc/9O224E7RlQIGjR6CqIk4HjCQ4eoGBuTlYU3u7JTaJDsZb8DNiTdYI2xKicVHMFeY1iuUVSeaAksbWA5KJgWLRXH1vFqUuvBN9QPmRgjO45PTEF7up8ZKJnIRbRkcNoi6mH89sg6PpUM83kVqfDelM3zD8Um6dYNx3g=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(396003)(376002)(346002)(366004)(136003)(451199018)(4744005)(7416002)(5660300002)(4326008)(41300700001)(8936002)(2906002)(36756003)(86362001)(31696002)(82960400001)(6486002)(38100700002)(6666004)(478600001)(186003)(2616005)(26005)(53546011)(6512007)(54906003)(6506007)(31686004)(66476007)(8676002)(316002)(66946007)(66556008)(110136005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ekxmOXR3QlpGNHRHMERiRThaTFJOQ3JPSm83OXZWSmhiM2NGNjlQUnlBbHVE?=
 =?utf-8?B?VHkzMEZqME94UHlVNFZINXEwWENjZEFESDVMNWdMdGVFVktZL0hHd3J4YmFz?=
 =?utf-8?B?QTAybHpFb2gzWFdyRlJXaURCWkdhdDFlcnd5WDdsZHlwSHY0SXVRalJKRHdI?=
 =?utf-8?B?RVR6bVY5bXJXa3FpYW40d3gvdnpyRkFQMGt5ZCtSOTBiV2RHR0pZc2x3dDZH?=
 =?utf-8?B?SDRqcW03REVBVHlYSWN3M0NPaThKTUtIMk0vVkFkSmpOL201L25EMXdrc1hu?=
 =?utf-8?B?ckhUN05Ibm5vaGZTTm0vbUpwM0I1eWFSWS81WE5JcFcxU0xQc3hOVE1kTENZ?=
 =?utf-8?B?VGxOTTdLTjdVc3dEcklZd3lZZ3RmY2pKR1FvclBTcys5MUttaXlrckZocjIz?=
 =?utf-8?B?M2tRMk1XUGo1bk1nSzVnaEp6cHRSc25OSzZTNEFmRXB4OU1jNlpLUHlzR1Y0?=
 =?utf-8?B?Q0xyVkJORUplejl0cmFUVTBlT3lUQVVaSUlrZXFMSUNnN2poUTBjR1p6NHJl?=
 =?utf-8?B?V0doNlI0eElITUEyTUpzMVN0ZzBNSlFRUGJpSTB5RWd0bGxHeVlpbklRUXlB?=
 =?utf-8?B?cjE4Ny81dS9maldDTlpLbWFqYW5xdzlseENrOUIxVFF0Q2JBRGZ3c3d2azI4?=
 =?utf-8?B?bStkN1hITG4vT2tiM3ZweFJRSm5ibmRBOG1wc0pvaXZKeGZoY0U4b0tJbTdy?=
 =?utf-8?B?NU9yVTNaeXQzbGpqZk1yUW5pZkkzMWFnQ3BCa3NzUWIxN24zZm9uRXpmcW9X?=
 =?utf-8?B?OGcvVDNxaUExakxPUkZ2bnpkWVdKdjJJOXlNWUpNWDM4a2JwT1M5YWVkblRC?=
 =?utf-8?B?VFJVL3JNeFJPNFlOVUlIbHJUa0ZyQmRXNnJEQnRKR3ZETXEwOVZQTzhTWk5i?=
 =?utf-8?B?aUVyb3lhSXAzN0MxWEJTU3l3SE1rZjVYb1lpL3V6aWdES3dZbE1oc1cvLy9j?=
 =?utf-8?B?WWFLWUxxOEZFR2R2YjJ5ZzZhbnE3OE1qY1JuK0dPTzc0YzR5MEJNVTB2UUlU?=
 =?utf-8?B?cnA1YWlXaTRHWHQwaGE1ckJoOEJkSXVDUzlLOHRHK0dWM3d3LzlQQnRaTmZO?=
 =?utf-8?B?Nlhqdkg0TENEcmdOS1lwWEY4LzczWURSMmxMZHhoVjh3empKS01ySmQ5TzFK?=
 =?utf-8?B?WnE1MHhCWXhia0RlTEV0Z0lhR0hYNkQ1UlJEbFFZS0tlYnIwUGkzRHJaVnEr?=
 =?utf-8?B?WWF3VEQ3RS9xNmpwYmdRN21GUmFTTDFWcXdjMDBSam5EdHJaZXh5ZHNmVzdz?=
 =?utf-8?B?b3hJaEZ1VHQzMzFGVklSZkNvUXU3ckpiMEc5NVBaSXhtcGJGNDNSTUNmSHY0?=
 =?utf-8?B?M3VrVE1sTS9SeGw0MlJBM2tidUpRVjR4dWRJVS9UdzBTUytNbjU2VldUcDhu?=
 =?utf-8?B?UVBRTE5FYTVpT0xUc25LcWZjTFZuYjhBbExuMFhaYjB5KzdPRVhyc1FKQkNm?=
 =?utf-8?B?TEZ5akRXZXZsenNwd01QdkZQcmVUeDFIeWIrMUNDTWFaMGNlV2ZHWDdCeG9u?=
 =?utf-8?B?dldBWEFUUVRBK3I3MkNTTnREVFRqa21zMDRFdUs3Ymw3Zi9QZWlpbkNiV0c0?=
 =?utf-8?B?UlJoTkxIaXljdUlIN2lpdUxiem0vR3dpV3Z2U2d4UHY3QjZZVWxKSmxPOHJl?=
 =?utf-8?B?UHZCT1ErOTR3ck9CcEtIdkRTTnhBcFBLK1hITlBFdS9wcDl0NkVVYnVvNGpq?=
 =?utf-8?B?R3AvR2NNRnMzejg5RHg0K3lJd3pMdThZTFBMMGlESWZZbHZZUnFMOS8rdkgv?=
 =?utf-8?B?UGhkdFc3YVBMTU5xMDh5Q1hNNU1Pd3BzTmNsN1JkLzc2bkFSZnRZbVlmL0Js?=
 =?utf-8?B?V2tpZWpnMmdGczllczNEaXZGTmNycjkvN2tBZzlYRjAyM2ZtYlpjMzB1aWow?=
 =?utf-8?B?YTBjQnZja2V1UCtqd2RoblNzNmhhUGFDd25YWnltZGRFZUpwRk5kaGFtc05F?=
 =?utf-8?B?endVZ3hUM2tVd2lkSXRhY2xWWEVWUEdCUkRXeWZNaFBtaFhEdEJFbkFEWnY2?=
 =?utf-8?B?aTIrVzRLb3ZXYytOekd3TVd1YTJCTWVzZUxwdEI2b3QrVUcwYlUwa204eEh5?=
 =?utf-8?B?azFDRkdtMlF4Q3hGa01rcTB3UDNCSUtHUWdzdU5vTTVSa2VScEJnb1FwNnBl?=
 =?utf-8?B?aUxqUmlPaDV0VGU3SDlvU1pBQlFaSjRDRzhLbEVDZjhuSTdRcmt1Tkg0VjZZ?=
 =?utf-8?B?Ync9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	bHWVGo5kDjopBxt+29zTdAp51FAZVa0h68GZNSnO0r9GPk7I8SEcN54p9bK9uT8TzLdytZDtETRsdklmG8zaG8gF89/MleKD8H0FmSjPX+Kr8PAr1rR8nUorRR9W/z3Yxph3+7KTT9GE63847mCPfnbXAJIdrPjA+coFLsVK/QxEYiqEllH39ObcVFv0ZAFDNx4ttIH/0MSbXcgdY5uRdA2QDVLnnIbnvK0Cb69BsGtTn6IUm4GZCQfuOeLA4+u0Emvkr2IcxQ+QnZcvaJs/NFx/+Sk+XyfEzkQYOWqpJOamWT1W392FRhIarg8iGgfQUZMYlY8+4rQBc+fNkR0AndaJX2lu8SSHdqpTN8Yrxu3t4oWwrTx0KFSHwia0ayYAzTc2/DwT5SGnTZ6Okwz850xlTcMyiMiLOwf6b2KxI9a4dlBQ9Ui31qvrNBZ4UgOrxPGi/ojh2XnFd7nluHGwemwvrNx1zzdrbRTwZSRocUzbm7UIvbKDXb+4a1rnsoy3o8dxNoI71l1Yo4VGMP7BiEzU5quiy3cO12gIYeqUVdVLoVasNc9jGA5SpxgtCmH5BG8Av96qdnRoxMzoYRFBQPgIuVtjqHNr2vqg3en7EyMS49QjWWkaoIqwI86wpQe3nLHWv25Tk+8Y0EpHhHsH0jHWAca9eW6Pe5PdudyYnc/CtdR5OVAAVqI42PeyCDbvShon9LAC7xz65mNTV9fddsuzlLq5rI/7372dvOMtLATf0maumbCu5Yvc2KMONpSsnXWwf3rIvmnBWLipLKYr+N1GXe9aglrZXgQtfFRv3wdGf8qKmlC80hLRN5wRx4VLyW/UYZxhZzgpm33SDPZqsXa5SzWidt4GNY5/YJfWoBG/WvNqL7MuSTWSoMqj5Jdj
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f6c4c3e-6676-4d69-5002-08db2576fd72
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 17:01:59.4834
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nPIEbgIFBC3CJyob0u85RPHJtHUGPTm3vEFAvojqlS1AzdIft67w7nzv1SmmqUGQjLYNDa+XhkAFqVNKX0wNb6u6a762rZWB/VIpx0KdYXw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5894

On 14/03/2023 4:30 pm, Jan Beulich wrote:
> On 12.03.2023 08:54, Huang Rui wrote:
>> From: Chen Jiqian <Jiqian.Chen@amd.com>
> An empty description won't do here. First of all you need to address the Why?
> As already hinted at in the reply to the earlier patch, it looks like you're
> breaking the intended IRQ model for PVH.

I think this is rather unfair.

Until you can point to the document which describes how IRQs are
intended to work in PVH, I'd say this series is pretty damn good attempt
to make something that functions, in the absence of any guidance.

~Andrew

P.S. If it isn't obvious, this is a giant hint that something should be
written down...


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 17:08:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 17:08:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510147.787339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcUba-00022G-9o; Wed, 15 Mar 2023 17:08:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510147.787339; Wed, 15 Mar 2023 17:08: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 1pcUba-000229-5M; Wed, 15 Mar 2023 17:08:02 +0000
Received: by outflank-mailman (input) for mailman id 510147;
 Wed, 15 Mar 2023 17:08: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=xmeT=7H=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1pcUbY-000223-W6
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 17:08:01 +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 eea0c342-c353-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 18:07:57 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id f18so25194594lfa.3
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 10:07: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: eea0c342-c353-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1678900077;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=82bf4OTlxoiPDUb/FMPDY4R5Ptwkv1SXhg1Gpvbt0ZM=;
        b=OxXveYeAu1sX7EjOn1jgmWWBLDzrNtXuRi/d/BwrMKlhKrPR29qEUUMJkEMrd4fJ9g
         uvr53FZMcn6D5Qgq+3vovGUUXQQazLxIAgQBKDvmEZynmoReO6L5O9GDLlJSxqxqaj6v
         Jz+lRmS/pIPBPU6vtYnNmza2AWcTS9WilkfsA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678900077;
        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=82bf4OTlxoiPDUb/FMPDY4R5Ptwkv1SXhg1Gpvbt0ZM=;
        b=Yxb2+VKRK//szcEJ1lfpqKDRpph9u1JxsJNGOX2UtUM83mKrwpUIUjy6lZuB3pGXQM
         tJ6o3PUY8A+PlhPUy/x6IAXvbaEWb6I2yEkTTgy82CjwD2lXawXgFdhxqrno5mCmnRzS
         dVMpKZHRLSigDsjZfkgTgG5pavOF3EguxGIFu35MpHGnik3x+ojz6rICKkmk+2gehNOK
         KtOFlnYUM2GwI5ajhWnhgPIKPOEqHXwTxb8Hyqyt/XgHGV8B2127bwrCcEO8+FexBAse
         mwvjh0GvfW8vdno9K8xPsglbGjF7m2LIU8xO8q23jbAR+JFja1qXtKsS4sdKUjSRTp3J
         0PEQ==
X-Gm-Message-State: AO0yUKU7MCBm8Xm6i1IzPJ8L5Arm4dqUDVd3qO9jU/NKVGS9QeTBxmBL
	9tKReu9ohW5tyY0sZ3drv8KWOsipMp5IFh0BbtxYOQ==
X-Google-Smtp-Source: AK7set96McqJA6QKjsc5k6J2dNPd7jlNrDjATfqvEgBhPpjonsfYcxdXFPxnEQpVon/tZttceFz5gr8WR2Mzty9sxAw=
X-Received: by 2002:ac2:4c08:0:b0:4db:266c:4337 with SMTP id
 t8-20020ac24c08000000b004db266c4337mr2231682lfq.1.1678900076793; Wed, 15 Mar
 2023 10:07:56 -0700 (PDT)
MIME-Version: 1.0
References: <20230315090558.731029-1-luca.fancellu@arm.com> <20230315090558.731029-10-luca.fancellu@arm.com>
In-Reply-To: <20230315090558.731029-10-luca.fancellu@arm.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Wed, 15 Mar 2023 17:07:45 +0000
Message-ID: <CA+zSX=aMHBkj=AKRjcLjVehPho3cBEoMnntGG32=CDQBu35WdA@mail.gmail.com>
Subject: Re: [PATCH v2 09/10] xen/tools: add sve parameter in XL configuration
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: xen-devel@lists.xenproject.org, bertrand.marquis@arm.com, wei.chen@arm.com, 
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, 
	George Dunlap <george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, 
	Juergen Gross <jgross@suse.com>
Content-Type: multipart/alternative; boundary="000000000000b0eab205f6f36256"

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

On Wed, Mar 15, 2023 at 9:06=E2=80=AFAM Luca Fancellu <luca.fancellu@arm.co=
m> wrote:

> Add sve parameter in XL configuration to allow guests to use
> SVE feature.
>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>

Golang bits:

Acked-by: George Dunlap <george.dunlap@cloud.com>

And you can retain the ack as long as nothing dramatic changes.

>
>

--000000000000b0eab205f6f36256
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Wed, Mar 15, 2023 at 9:06=E2=80=AF=
AM Luca Fancellu &lt;<a href=3D"mailto:luca.fancellu@arm.com">luca.fancellu=
@arm.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D=
"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-le=
ft:1ex">Add sve parameter in XL configuration to allow guests to use<br>
SVE feature.<br>
<br>
Signed-off-by: Luca Fancellu &lt;<a href=3D"mailto:luca.fancellu@arm.com" t=
arget=3D"_blank">luca.fancellu@arm.com</a>&gt;<br></blockquote><div><br></d=
iv><div>Golang bits:</div><div><br></div><div>Acked-by: George Dunlap &lt;<=
a href=3D"mailto:george.dunlap@cloud.com">george.dunlap@cloud.com</a>&gt;</=
div><div><br></div><div>And you can retain the ack as long as nothing drama=
tic changes.</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>
</blockquote></div></div>

--000000000000b0eab205f6f36256--


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 17:22:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 17:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510152.787354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcUp1-0004wV-W8; Wed, 15 Mar 2023 17:21:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510152.787354; Wed, 15 Mar 2023 17: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 1pcUp1-0004wK-RB; Wed, 15 Mar 2023 17:21:55 +0000
Received: by outflank-mailman (input) for mailman id 510152;
 Wed, 15 Mar 2023 17:21: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=Ux93=7H=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcUp0-0004sk-Rh
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 17:21:55 +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 e138a565-c355-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 18:21:53 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id ek18so47266261edb.6
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 10:21:53 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 d20-20020a50cd54000000b004fd1ee3f723sm2736315edj.67.2023.03.15.10.21.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Mar 2023 10:21: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: e138a565-c355-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678900913;
        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=zY/rGMwCtIBPoX0Oz9SrutBs++A2oQlvoMf2SLu4vh0=;
        b=Ef8TkJ1xmmB9HfkscdNVfvxkN6QEIdHR9I/PAriCqxzKGr82CXrBYaHC2jEvNa08aG
         +5tiCOuzgwBs2XUUGFzM369wtBeAEIddzLYAJANxEH21RBatkCJomChQiO9mz8A4YxOP
         QTdJoAXMvRmN16DiMRqn/+sQ8Ug0QB5EhSi3VbOQuNuawXF6NwLI/SwLQ11xfbxZkJqO
         WOJLUNfCaN0bD4m4cRXaEJWbP+2YU8XKr6xTq78FgbotnTUbl6zAmND6d7nA/vnRBPyQ
         zRKLyTTUvGB6RP4rk3n6B8IIBzcoH8Zkwl2h6v+IT1NyL+e8MHyKWWwIIKa9XWwrshMr
         kxgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678900913;
        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=zY/rGMwCtIBPoX0Oz9SrutBs++A2oQlvoMf2SLu4vh0=;
        b=RZB6fC2qZBA+ftz+BFF6w24Ytv1EGVhJUlmpU0ApZyzz8Gk7dDaerT9beuGvGedzx2
         FjFl8Cyle0qIuDNWRUhL4RAhhI11ZyqqmiH89yvflnW+StmCgq1eROoV3hqxjxiDb+mS
         v0mfw6szojCdia5N9BgbpnXqDR9UjjpEyz1soN/NnB6MZ1t3kn74zrRgq7G3dykCXLcV
         Ib0N1oLSZxmRdpAGcCpsGKnLy9wZAr1Tt9KrwWtkeWdE/4OnFKwQtOhMWahtr9JPeamL
         nBw2IOvx82UCTAJqxQDBcrEAWsHGHVlsTWcp0MuuEVE9fUF/yuRGxniZ/WLykvEkZ2+7
         ordg==
X-Gm-Message-State: AO0yUKWHsBrhJweYrvXWENO2ZONOOFyX8tuIjmjdyvaTRKIW4oRSSaZW
	q22WsIA5rTgQ7iKsWeHqxinhf7SifVg=
X-Google-Smtp-Source: AK7set/6l+lkfXvwSHFhXv+BUJE/CUAQXpabUPuGbTVNm4T/1bckvE+nkYPL0Z8BHSJDV5ChopCu5w==
X-Received: by 2002:a17:906:e206:b0:8b1:bab0:aa3d with SMTP id gf6-20020a170906e20600b008b1bab0aa3dmr7283987ejb.8.1678900913055;
        Wed, 15 Mar 2023 10:21:53 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v8 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
Date: Wed, 15 Mar 2023 19:21:43 +0200
Message-Id: <2afad972cd8da98dcb0ba509ba29ff239dc47cd0.1678900513.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678900513.git.oleksii.kurochko@gmail.com>
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A large part of the content of the bug.h is repeated among all
architectures, so it was decided to create a new config
CONFIG_GENERIC_BUG_FRAME.

The version of <bug.h> from x86 was taken as the base version.

The patch introduces the following stuff:
  * common bug.h header
  * generic implementation of do_bug_frame
  * new config CONFIG_GENERIC_BUG_FRAME

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V8:
 * move  BUILD_BUG_ON_LINE_WIDTH(line) to "ifndef BUG_FRAME_STRUCT" and add #elif for
   "ifndef BUG_FRAME_STRUCT" to define stub for BUILD_BUG_ON_LINE_WIDTH.
 * move <xen/debuger.h> from <asm/bug.h> to <common/bug.c> to fix compilation issue
   ( more details in the changes to the patch [xen/x86: switch x86 to use generic
     implemetation of bug.h] ).
---
Changes in V7:
 * fix code style.
 * Remove '#include <xen/debugger.h>' from bug.c. it should be a part
   of <asm/bug.h>.
 * move BUILD_BUG_ON_LINE_WIDTH to '#ifndef BUG_FRAME_STRUCT' and define
   dummy BUILD_BUG_ON_LINE_WIDTH when BUG_FRAME_STRUCT is defined.
 * remove update prototype of 'void (*fn)(const struct cpu_user_regs *)' to
	 'void (*fn)(struct cpu_user_regs *)'.
 * add code to to make sure the type used in run_in_exception_handler()
	 matches the one used here.
---
Changes in V6:
 * fix code style.
 * change -EINVAL to -ENOENT in case when bug_frame wasn't found in
   generic do_bug_frame()
 * change all 'return id' to 'break' inside switch/case of generic do_bug_frame()
 * move up "#ifndef __ASSEMBLY__" to include BUG_DEBUGGER_TRAP_FATAL
 * update the comment of BUG_ASM_CONST
 * make the line with 'BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))' in
	 BUG_FRAME macros more abstract
 * remove #ifndef BUG_FRAME_STRUCT around BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH as it is
	 required to be defined before <asm/bug.h> as it is used by x86's <asm/bug.h> when
	 the header is included in assembly code.
---
Changes in V5:
 * Remove "#ifdef BUG_FN_REG..." from generic do_bug_frame() as ARM will
   use generic implementation fully.
---
Changes in V4:
 * common/bug.c:
		- Use BUG_DEBUGGER_TRAP_FATAL(regs) mnacros instead of debugger_trap_fatal(TRAP_invalid_op, regs)
		  in <common/bug.c> as TRAP_invalid_op is x86-specific thereby BUG_DEBUGGER_TRAP_FATAL should
		  be defined for each architecture.
		- add information about what do_bug_frame() returns.
		- invert the condition 'if ( region )' in do_bug_frame() to reduce the indention.
		- change type of variable i from 'unsigned int' to 'size_t' as it  is compared with
		  n_bugs which has type 'size_t'

 * xen/bug.h:
		- Introduce generic BUG_DEBUGGER_TRAP_FATAL(regs) mnacros which is used to deal with 
		  debugger_trap_fatal(TRAP_invalid_op, regs) where TRAP_invalid_op is x86-specific
		- remove '#include <xen/stringify.h>' as it doesn't need any more after switch to
		  x86 implementation.
		- remove '#include <xen/errno.h>' as it isn't needed any more
		- move bug_*() macros inside '#ifndef BUG_FRAME_STRUCT'
		- add <xen/lib.h> to fix compile issue with BUILD_ON()...
		- Add documentation for BUG_ASM_CONST.
 * Update the commit message
---
Changes in V3:
 * Add debugger_trap_fatal() to do_bug_frame(). It simplifies usage of
   do_bug_frame() for x86 so making handle_bug_frame() and find_bug_frame()
   not needed anymore.
 * Update do_bug_frame() to return -EINVAL if something goes wrong; otherwise
   id of bug_frame
 * Update _ASM_BUGFRAME_TEXT to make it more portable.
 * Drop unnecessary comments.
 * define stub value for TRAP_invalid_op in case if wasn't defined in
   arch-specific folders.
---
Changes in V2:
  - Switch to x86 implementation as generic as it is more compact
    ( at least from the point of view of bug frame structure ).
  - Rename CONFIG_GENERIC_DO_BUG_FRAME to CONFIG_GENERIC_BUG_FRAME.
  - Change the macro bug_loc(b) to avoid the need for a cast:
    #define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
  - Rename BUG_FRAME_STUFF to BUG_FRAME_STRUCT
  - Make macros related to bug frame structure more generic.
  - Introduce BUG_INSTR and MODIFIER to make _ASM_BUGFRAME_TEXT reusable
    between x86 and RISC-V.
  - Rework do_bug_frame() and introduce find_bug_frame() and handle_bug_frame()
    functions to make it reusable by x86.
  - code style fixes
---
 xen/common/Kconfig    |   3 +
 xen/common/Makefile   |   1 +
 xen/common/bug.c      | 108 ++++++++++++++++++++++++++++
 xen/include/xen/bug.h | 161 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 273 insertions(+)
 create mode 100644 xen/common/bug.c
 create mode 100644 xen/include/xen/bug.h

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 855c843113..3d2123a783 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -29,6 +29,9 @@ config ALTERNATIVE_CALL
 config ARCH_MAP_DOMAIN_PAGE
 	bool
 
+config GENERIC_BUG_FRAME
+	bool
+
 config HAS_ALTERNATIVE
 	bool
 
diff --git a/xen/common/Makefile b/xen/common/Makefile
index bbd75b4be6..46049eac35 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -1,5 +1,6 @@
 obj-$(CONFIG_ARGO) += argo.o
 obj-y += bitmap.o
+obj-$(CONFIG_GENERIC_BUG_FRAME) += bug.o
 obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
 obj-$(CONFIG_CORE_PARKING) += core_parking.o
 obj-y += cpu.o
diff --git a/xen/common/bug.c b/xen/common/bug.c
new file mode 100644
index 0000000000..e86fba7713
--- /dev/null
+++ b/xen/common/bug.c
@@ -0,0 +1,108 @@
+#include <xen/bug.h>
+#include <xen/debugger.h>
+#include <xen/errno.h>
+#include <xen/kernel.h>
+#include <xen/livepatch.h>
+#include <xen/string.h>
+#include <xen/types.h>
+#include <xen/virtual_region.h>
+
+#include <asm/processor.h>
+
+/*
+ * Returns a negative value in case of an error otherwise
+ * BUGFRAME_{run_fn, warn, bug, assert}
+ */
+int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
+{
+    const struct bug_frame *bug = NULL;
+    const struct virtual_region *region;
+    const char *prefix = "", *filename, *predicate;
+    unsigned long fixup;
+    unsigned int id, lineno;
+
+    region = find_text_region(pc);
+    if ( !region )
+        return -EINVAL;
+
+    for ( id = 0; id < BUGFRAME_NR; id++ )
+    {
+        const struct bug_frame *b;
+        size_t i;
+
+        for ( i = 0, b = region->frame[id].bugs;
+              i < region->frame[id].n_bugs; b++, i++ )
+        {
+            if ( bug_loc(b) == pc )
+            {
+                bug = b;
+                goto found;
+            }
+        }
+    }
+
+ found:
+    if ( !bug )
+        return -ENOENT;
+
+    if ( id == BUGFRAME_run_fn )
+    {
+        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
+
+        fn(regs);
+
+        /* Re-enforce consistent types, because of the casts involved. */
+        if ( false )
+            run_in_exception_handler(fn);
+
+        return id;
+    }
+
+    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
+    filename = bug_ptr(bug);
+    if ( !is_kernel(filename) && !is_patch(filename) )
+        return -EINVAL;
+    fixup = strlen(filename);
+    if ( fixup > 50 )
+    {
+        filename += fixup - 47;
+        prefix = "...";
+    }
+    lineno = bug_line(bug);
+
+    switch ( id )
+    {
+    case BUGFRAME_warn:
+        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
+        show_execution_state(regs);
+
+        break;
+
+    case BUGFRAME_bug:
+        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
+
+        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
+            break;
+
+        show_execution_state(regs);
+        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
+
+    case BUGFRAME_assert:
+        /* ASSERT: decode the predicate string pointer. */
+        predicate = bug_msg(bug);
+        if ( !is_kernel(predicate) && !is_patch(predicate) )
+            predicate = "<unknown>";
+
+        printk("Assertion '%s' failed at %s%s:%d\n",
+               predicate, prefix, filename, lineno);
+
+        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
+            break;
+
+        show_execution_state(regs);
+        panic("Assertion '%s' failed at %s%s:%d\n",
+              predicate, prefix, filename, lineno);
+    }
+
+    return id;
+}
diff --git a/xen/include/xen/bug.h b/xen/include/xen/bug.h
new file mode 100644
index 0000000000..3409752342
--- /dev/null
+++ b/xen/include/xen/bug.h
@@ -0,0 +1,161 @@
+#ifndef __XEN_BUG_H__
+#define __XEN_BUG_H__
+
+#define BUGFRAME_run_fn 0
+#define BUGFRAME_warn   1
+#define BUGFRAME_bug    2
+#define BUGFRAME_assert 3
+
+#define BUGFRAME_NR     4
+
+#define BUG_DISP_WIDTH    24
+#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
+#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
+
+#include <asm/bug.h>
+
+#ifndef __ASSEMBLY__
+
+#ifndef BUG_DEBUGGER_TRAP_FATAL
+#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
+#endif
+
+#include <xen/lib.h>
+
+#ifndef BUG_FRAME_STRUCT
+
+struct bug_frame {
+    signed int loc_disp:BUG_DISP_WIDTH;
+    unsigned int line_hi:BUG_LINE_HI_WIDTH;
+    signed int ptr_disp:BUG_DISP_WIDTH;
+    unsigned int line_lo:BUG_LINE_LO_WIDTH;
+    signed int msg_disp[];
+};
+
+#define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
+
+#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
+
+#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
+                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
+                      BUG_LINE_LO_WIDTH) +                                   \
+                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
+                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
+
+#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
+
+#define BUILD_BUG_ON_LINE_WIDTH(line) \
+    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))
+
+#elif !defined(BUILD_BUG_ON_LINE_WIDTH)
+
+#define BUILD_BUG_ON_LINE_WIDTH(line) ((void)(line)
+
+#endif /* BUG_FRAME_STRUCT */
+
+
+/*
+ * Some architectures mark immediate instruction operands in a special way.
+ * In such cases the special marking may need omitting when specifying
+ * directive operands. Allow architectures to specify a suitable
+ * modifier.
+ */
+#ifndef BUG_ASM_CONST
+#define BUG_ASM_CONST ""
+#endif
+
+#ifndef _ASM_BUGFRAME_TEXT
+
+#define _ASM_BUGFRAME_TEXT(second_frame)                                            \
+    ".Lbug%=:"BUG_INSTR"\n"                                                         \
+    "   .pushsection .bug_frames.%"BUG_ASM_CONST"[bf_type], \"a\", %%progbits\n"    \
+    "   .p2align 2\n"                                                               \
+    ".Lfrm%=:\n"                                                                    \
+    "   .long (.Lbug%= - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_hi]\n"                 \
+    "   .long (%"BUG_ASM_CONST"[bf_ptr] - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_lo]\n"\
+    "   .if " #second_frame "\n"                                                    \
+    "   .long 0, %"BUG_ASM_CONST"[bf_msg] - .Lfrm%=\n"                              \
+    "   .endif\n"                                                                   \
+    "   .popsection\n"
+
+#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
+    [bf_type]    "i" (type),                                                 \
+    [bf_ptr]     "i" (ptr),                                                  \
+    [bf_msg]     "i" (msg),                                                  \
+    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
+                      << BUG_DISP_WIDTH),                                    \
+    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
+
+#endif /* _ASM_BUGFRAME_TEXT */
+
+#ifndef BUG_FRAME
+
+#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
+    BUILD_BUG_ON_LINE_WIDTH(line);                                           \
+    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
+    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
+                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
+} while ( false )
+
+#endif
+
+#ifndef run_in_exception_handler
+
+/*
+ * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
+ * and use a real static inline here to get proper type checking of fn().
+ */
+#define run_in_exception_handler(fn) do {                   \
+    (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
+    BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);             \
+} while ( false )
+
+#endif /* run_in_exception_handler */
+
+#ifndef WARN
+#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, NULL)
+#endif
+
+#ifndef BUG
+#define BUG() do {                                              \
+    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, NULL);      \
+    unreachable();                                              \
+} while ( false )
+#endif
+
+#ifndef assert_failed
+#define assert_failed(msg) do {                                 \
+    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
+    unreachable();                                              \
+} while ( false )
+#endif
+
+#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}
+ */
+int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc);
+
+#endif /* CONFIG_GENERIC_BUG_FRAME */
+
+extern const struct bug_frame __start_bug_frames[],
+                              __stop_bug_frames_0[],
+                              __stop_bug_frames_1[],
+                              __stop_bug_frames_2[],
+                              __stop_bug_frames_3[];
+
+#endif /* !__ASSEMBLY__ */
+
+#endif /* __XEN_BUG_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 17:22:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 17:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510155.787389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcUp7-0005v1-Rg; Wed, 15 Mar 2023 17:22:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510155.787389; Wed, 15 Mar 2023 17: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 1pcUp7-0005us-OH; Wed, 15 Mar 2023 17:22:01 +0000
Received: by outflank-mailman (input) for mailman id 510155;
 Wed, 15 Mar 2023 17:22: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=Ux93=7H=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcUp5-0004sk-S5
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 17:22:00 +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 e46b7231-c355-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 18:21:59 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id w9so7611491edc.3
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 10:21:58 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 d20-20020a50cd54000000b004fd1ee3f723sm2736315edj.67.2023.03.15.10.21.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Mar 2023 10:21: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: e46b7231-c355-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678900918;
        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=aXKnQN6p/wCA499FTG6M6JLdxKLyY0o2iW+vKrsj26s=;
        b=eqbb4srJXKjoQdGLfDke5Othcfou7UGoc6k6rUoppGnWbYUDQkbh7l7SQJvaDigD/f
         Be0RWnrrqWxJDqg1+hcnVIrjSfzFr5oxNBmIc+RB83tzC/fU9IQcQBsyM3eCyfC/1IOH
         t/y1t0l2NSIyXH77CTRaQPHx6YxjPnH0Zfel+Nv9z05bIpONrqnb8D4cBpV1sle2j/H5
         Q7YydOrw8iDsU+/ZPog5XbjjEtyVlTm52pHr+Ce39auy4zovOh9qUO5oBa8dNWokTYLg
         FWAScRt5PL2zilqme5Qvipi1jqofZJSWp0UeMI15t3PLqPugNPdXVEBSeIK8HKrfs/z2
         L/Mw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678900918;
        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=aXKnQN6p/wCA499FTG6M6JLdxKLyY0o2iW+vKrsj26s=;
        b=G7sIwkDoS96IOgibl929GjdsoL4J3oXLRP7VzwbIWXHhmpUxNzr8EppZKXLU+eiDgl
         eTyWwsDpGfqISo7aRnJeZmxdQAonthnmyTMIyTYNcKuKCtV4mmt3owFKjOOrRzAtpVfb
         kYBOUVS+RfX/nftBQr1nbnul/E7YxRJ9H9CSHLJQTENYGYwtS32H7kBnRr0pSZTBiY/j
         Vm11o0YvEjSdFzrfGz9Y8xqep5196V5qU05gaX3n1ZvfFituUf+b8ze5LVl4w5tW9J8s
         NFjxd5wVLhOjI4ZnmUGWgZu+L0v6ZM+pXiOALLU6jR5rPc+EMe9++qFb+wQBldPp4d9V
         egHA==
X-Gm-Message-State: AO0yUKV5oRLzpH/4gEB/fqDie9dNCLbH8LV1SVpE3mDkduElOqEyAONK
	hWMs+M8ZaojFGmCqEU9AYOtOMfOdJuA=
X-Google-Smtp-Source: AK7set/zKRFu2YaIbNdlpFOh2yc08FAPZIjWSjEAWqcRuMQwGTBs5Cb0ho1SrOSbM8SaeouD2htyHQ==
X-Received: by 2002:aa7:c7d7:0:b0:4ac:b431:4762 with SMTP id o23-20020aa7c7d7000000b004acb4314762mr3290171eds.23.1678900918386;
        Wed, 15 Mar 2023 10:21:58 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v8 4/5] xen/arm: switch ARM to use generic implementation of bug.h
Date: Wed, 15 Mar 2023 19:21:46 +0200
Message-Id: <e769c22f25bab7214b9e43ece2e03d9b4fb524cb.1678900513.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678900513.git.oleksii.kurochko@gmail.com>
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following changes were made:
* make GENERIC_BUG_FRAME mandatory for ARM
* As do_bug_frame() returns -EINVAL in case something goes wrong
  otherwise id of bug frame. Thereby 'if' cases where do_bug_frame() was
  updated to check if the returned value is less than 0
* Switch ARM's implementation of bug.h macros to generic one

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V8:
 * Nothing changed.
---
Changes in V7:
 * Rebase the patch.
---
Changes in V6:
 * Update the "changes in v5"
 * Rebase on top of the patch [xen: introduce CONFIG_GENERIC_BUG_FRAME] as
   there were minor changes.
---
Changes in V5:
 * common/bug.c changes were removed after rebase
   (the patch [xen: introduce CONFIG_GENERIC_BUG_FRAME] was reworked to make
    ARM implementation to use generic do_bug_frame())
---
Changes in V4:
 * Switch ARM implementation to generic one
 * Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed after switch to generic implementation
 * Update commit message
---
Changes in V3:
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
---
Changes in V2:
 * Rename bug_file() in ARM implementation to bug_ptr() as
   generic do_bug_frame() uses bug_ptr().
 * Remove generic parts from bug.h
 * Remove declaration of 'int do_bug_frame(...)'
   from <asm/traps.h> as it was introduced in <xen/bug.h>
---
 xen/arch/arm/Kconfig                 |  1 +
 xen/arch/arm/arm32/traps.c           |  2 +-
 xen/arch/arm/include/asm/arm32/bug.h |  2 -
 xen/arch/arm/include/asm/arm64/bug.h |  2 -
 xen/arch/arm/include/asm/bug.h       | 71 +-----------------------
 xen/arch/arm/include/asm/traps.h     |  2 -
 xen/arch/arm/traps.c                 | 81 +---------------------------
 7 files changed, 4 insertions(+), 157 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 239d3aed3c..aad6644a7b 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -12,6 +12,7 @@ config ARM_64
 
 config ARM
 	def_bool y
+	select GENERIC_BUG_FRAME
 	select HAS_ALTERNATIVE
 	select HAS_DEVICE_TREE
 	select HAS_PASSTHROUGH
diff --git a/xen/arch/arm/arm32/traps.c b/xen/arch/arm/arm32/traps.c
index a2fc1c22cb..61c61132c7 100644
--- a/xen/arch/arm/arm32/traps.c
+++ b/xen/arch/arm/arm32/traps.c
@@ -48,7 +48,7 @@ void do_trap_undefined_instruction(struct cpu_user_regs *regs)
     if ( instr != BUG_OPCODE )
         goto die;
 
-    if ( do_bug_frame(regs, pc) )
+    if ( do_bug_frame(regs, pc) < 0 )
         goto die;
 
     regs->pc += 4;
diff --git a/xen/arch/arm/include/asm/arm32/bug.h b/xen/arch/arm/include/asm/arm32/bug.h
index 25cce151dc..3e66f35969 100644
--- a/xen/arch/arm/include/asm/arm32/bug.h
+++ b/xen/arch/arm/include/asm/arm32/bug.h
@@ -10,6 +10,4 @@
 
 #define BUG_INSTR ".word " __stringify(BUG_OPCODE)
 
-#define BUG_FN_REG r0
-
 #endif /* __ARM_ARM32_BUG_H__ */
diff --git a/xen/arch/arm/include/asm/arm64/bug.h b/xen/arch/arm/include/asm/arm64/bug.h
index 5e11c0dfd5..59f664d7de 100644
--- a/xen/arch/arm/include/asm/arm64/bug.h
+++ b/xen/arch/arm/include/asm/arm64/bug.h
@@ -6,6 +6,4 @@
 
 #define BUG_INSTR "brk " __stringify(BRK_BUG_FRAME_IMM)
 
-#define BUG_FN_REG x0
-
 #endif /* __ARM_ARM64_BUG_H__ */
diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index cacaf014ab..1d87533044 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -11,76 +11,7 @@
 # error "unknown ARM variant"
 #endif
 
-#define BUG_FRAME_STRUCT
-
-struct bug_frame {
-    signed int loc_disp;    /* Relative address to the bug address */
-    signed int file_disp;   /* Relative address to the filename */
-    signed int msg_disp;    /* Relative address to the predicate (for ASSERT) */
-    uint16_t line;          /* Line number */
-    uint32_t pad0:16;       /* Padding for 8-bytes align */
-};
-
-#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
-#define bug_file(b) ((const void *)(b) + (b)->file_disp);
-#define bug_line(b) ((b)->line)
-#define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
-
-/* Many versions of GCC doesn't support the asm %c parameter which would
- * be preferable to this unpleasantness. We use mergeable string
- * sections to avoid multiple copies of the string appearing in the
- * Xen image. BUGFRAME_run_fn needs to be handled separately.
- */
-#define BUG_FRAME(type, line, file, has_msg, msg) do {                      \
-    BUILD_BUG_ON((line) >> 16);                                             \
-    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                    \
-    asm ("1:"BUG_INSTR"\n"                                                  \
-         ".pushsection .rodata.str, \"aMS\", %progbits, 1\n"                \
-         "2:\t.asciz " __stringify(file) "\n"                               \
-         "3:\n"                                                             \
-         ".if " #has_msg "\n"                                               \
-         "\t.asciz " #msg "\n"                                              \
-         ".endif\n"                                                         \
-         ".popsection\n"                                                    \
-         ".pushsection .bug_frames." __stringify(type) ", \"a\", %progbits\n"\
-         "4:\n"                                                             \
-         ".p2align 2\n"                                                     \
-         ".long (1b - 4b)\n"                                                \
-         ".long (2b - 4b)\n"                                                \
-         ".long (3b - 4b)\n"                                                \
-         ".hword " __stringify(line) ", 0\n"                                \
-         ".popsection");                                                    \
-} while (0)
-
-/*
- * GCC will not allow to use "i"  when PIE is enabled (Xen doesn't set the
- * flag but instead rely on the default value from the compiler). So the
- * easiest way to implement run_in_exception_handler() is to pass the to
- * be called function in a fixed register.
- */
-#define  run_in_exception_handler(fn) do {                                  \
-    asm ("mov " __stringify(BUG_FN_REG) ", %0\n"                            \
-         "1:"BUG_INSTR"\n"                                                  \
-         ".pushsection .bug_frames." __stringify(BUGFRAME_run_fn) ","       \
-         "             \"a\", %%progbits\n"                                 \
-         "2:\n"                                                             \
-         ".p2align 2\n"                                                     \
-         ".long (1b - 2b)\n"                                                \
-         ".long 0, 0, 0\n"                                                  \
-         ".popsection" :: "r" (fn) : __stringify(BUG_FN_REG) );             \
-} while (0)
-
-#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, "")
-
-#define BUG() do {                                              \
-    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, "");        \
-    unreachable();                                              \
-} while (0)
-
-#define assert_failed(msg) do {                                 \
-    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
-    unreachable();                                              \
-} while (0)
+#define BUG_ASM_CONST   "c"
 
 #endif /* __ARM_BUG_H__ */
 /*
diff --git a/xen/arch/arm/include/asm/traps.h b/xen/arch/arm/include/asm/traps.h
index 883dae368e..c6518008ec 100644
--- a/xen/arch/arm/include/asm/traps.h
+++ b/xen/arch/arm/include/asm/traps.h
@@ -69,8 +69,6 @@ void do_cp(struct cpu_user_regs *regs, const union hsr hsr);
 void do_trap_smc(struct cpu_user_regs *regs, const union hsr hsr);
 void do_trap_hvc_smccc(struct cpu_user_regs *regs);
 
-int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc);
-
 void noreturn do_unexpected_trap(const char *msg,
                                  const struct cpu_user_regs *regs);
 void do_trap_hyp_sync(struct cpu_user_regs *regs);
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 061c92acbd..9c6eb66422 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1197,85 +1197,6 @@ void do_unexpected_trap(const char *msg, const struct cpu_user_regs *regs)
     panic("CPU%d: Unexpected Trap: %s\n", smp_processor_id(), msg);
 }
 
-int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
-{
-    const struct bug_frame *bug = NULL;
-    const char *prefix = "", *filename, *predicate;
-    unsigned long fixup;
-    int id = -1, lineno;
-    const struct virtual_region *region;
-
-    region = find_text_region(pc);
-    if ( region )
-    {
-        for ( id = 0; id < BUGFRAME_NR; id++ )
-        {
-            const struct bug_frame *b;
-            unsigned int i;
-
-            for ( i = 0, b = region->frame[id].bugs;
-                  i < region->frame[id].n_bugs; b++, i++ )
-            {
-                if ( ((vaddr_t)bug_loc(b)) == pc )
-                {
-                    bug = b;
-                    goto found;
-                }
-            }
-        }
-    }
- found:
-    if ( !bug )
-        return -ENOENT;
-
-    if ( id == BUGFRAME_run_fn )
-    {
-        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
-
-        fn(regs);
-        return 0;
-    }
-
-    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = bug_file(bug);
-    if ( !is_kernel(filename) )
-        return -EINVAL;
-    fixup = strlen(filename);
-    if ( fixup > 50 )
-    {
-        filename += fixup - 47;
-        prefix = "...";
-    }
-    lineno = bug_line(bug);
-
-    switch ( id )
-    {
-    case BUGFRAME_warn:
-        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
-        return 0;
-
-    case BUGFRAME_bug:
-        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
-        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-    case BUGFRAME_assert:
-        /* ASSERT: decode the predicate string pointer. */
-        predicate = bug_msg(bug);
-        if ( !is_kernel(predicate) )
-            predicate = "<unknown>";
-
-        printk("Assertion '%s' failed at %s%s:%d\n",
-               predicate, prefix, filename, lineno);
-        show_execution_state(regs);
-        panic("Assertion '%s' failed at %s%s:%d\n",
-              predicate, prefix, filename, lineno);
-    }
-
-    return -EINVAL;
-}
-
 #ifdef CONFIG_ARM_64
 static void do_trap_brk(struct cpu_user_regs *regs, const union hsr hsr)
 {
@@ -1292,7 +1213,7 @@ static void do_trap_brk(struct cpu_user_regs *regs, const union hsr hsr)
     switch ( hsr.brk.comment )
     {
     case BRK_BUG_FRAME_IMM:
-        if ( do_bug_frame(regs, regs->pc) )
+        if ( do_bug_frame(regs, regs->pc) < 0 )
             goto die;
 
         regs->pc += 4;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 17:22:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 17:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510151.787349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcUp1-0004t2-M3; Wed, 15 Mar 2023 17:21:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510151.787349; Wed, 15 Mar 2023 17: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 1pcUp1-0004sv-Ii; Wed, 15 Mar 2023 17:21:55 +0000
Received: by outflank-mailman (input) for mailman id 510151;
 Wed, 15 Mar 2023 17: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=Ux93=7H=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcUp0-0004sk-4F
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 17:21:54 +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 e091bba2-c355-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 18:21:52 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id w9so7610264edc.3
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 10:21:52 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 d20-20020a50cd54000000b004fd1ee3f723sm2736315edj.67.2023.03.15.10.21.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Mar 2023 10:21: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: e091bba2-c355-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678900912;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=DWZ9HzxY+mvUoIfZ7y1hWxMaSr9d5d0I8xwdOw7t7yY=;
        b=Zs3OPi0o6KtUUpScvIXhlVCqx5O+ENhKsiVWjmWEN7hAlzakoJQmCxV5wrkN7ibJT9
         rFLNUHwBc1berdyY4Zm4FssTEDT3lN01bQ6HdruIKB0Of42O94udpy3FyfgPQvwZc0as
         2T/hT7Z0pHzpyinw3wt18/txH7B+gobbawGExvKe+cXZyoObCGc5aF6VyssjaTmVTOQ0
         cteeiPGvjdzUkPExUP1Mf5H0xu2K6YTVyhIqyopW/VetDwsnuSgc35c8HYM2+QsPHFXe
         ThZOgCcBTiwgJHeZBi61PwsDkHXm5CVEPjhkLcYbR9KxPFDGZbPnhjHyEeRGOEzCD0Fw
         i8AA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678900912;
        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=DWZ9HzxY+mvUoIfZ7y1hWxMaSr9d5d0I8xwdOw7t7yY=;
        b=iOyYVNKeWh+XX0tWGMdIEf9CZT7HMNyphp0j5igb51/x39x0NT2jJ45qEpdjPiUiXq
         QYKDbXOej9NIi7mmwL092EINZ9Kwr92/bO/wITc1A6rzgV4nhnU3VlljHZHfhHH3pZre
         TJ0GdECYWYzJJ8zDqW9P7GgZLreUifL8Dh+QUp0X9zjR3lXxwZd6lOIXmtBXhVSpfJUZ
         Z/0YRendT6vE9VUOqJtmBgKGS2OHfIfLSchrge2TJ9R/0+KdyqIOjlSuSxn6pgLgOnqs
         AQnTsycKsPcy3Y0uhAaNAn96RHhcaxMVKu10jeG7EXjdJ4RJ/Ew4VSPsnNrxCm5GcK6n
         YUBA==
X-Gm-Message-State: AO0yUKVwUbw8tQwzg62ne/KY2NbwvLQ1/IaQbz4LZ5aUEElMqwTSSCyf
	cAy8hlYuDTRpFAxasuvTnBfdLZhX7x4=
X-Google-Smtp-Source: AK7set/pFSYmKuwIdt1gxd/QE8PPD/KwP7rMg5mHyKgluw9YD5f5UILsmHsPlilTIChmgDgdOJwwpA==
X-Received: by 2002:aa7:c052:0:b0:4fd:29e6:701b with SMTP id k18-20020aa7c052000000b004fd29e6701bmr3217773edo.38.1678900911822;
        Wed, 15 Mar 2023 10:21:51 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v8 0/5] introduce generic implementation of macros from bug.h
Date: Wed, 15 Mar 2023 19:21:42 +0200
Message-Id: <cover.1678900513.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A large part of the content of the bug.h is repeated among all
architectures (especially x86 and RISCV have the same implementation), so it
was created a new config CONFIG_GENERIC_BUG_FRAME which is used to
introduce generic implementation of do_bug_frame() and move x86's <asm/bug.h>
to <xen/common/...> with the following changes:
  * Add inclusion of arch-specific header <asm/bug.h>
  * Rename the guard and remove x86 specific changes
  * Wrap macros BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed/etc
    into #ifndef "BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed/etc"
    thereby each architecture can override the generic implementation of macros.
  * Add #if{n}def __ASSEMBLY__ ... #endif
  * Introduce BUG_FRAME_STRUCTURE define to be able to change the structure of bug
    frame
  * Introduce BUG_INSTR and BUG_ASM_CONST to make _ASM_BUGFRAME_TEXT reusable between
    architectures
  * Introduce BUG_DEBUGGER_TRAP_FATAL to hide details about TRAP_invalid_op for specific
    architecture
  * Introduce BUILD_BUG_ON_LINE_WIDTH(line) to make more generic BUG_FRAME macros
  * Make macros related to bug frame structure more generic.

RISC-V will be switched to use <xen/bug.h> and in the future, it will use common
the version of do_bug_frame() when xen/common will work for RISC-V.

---
Changes in V8:
 * move  BUILD_BUG_ON_LINE_WIDTH(line) to "ifndef BUG_FRAME_STRUCT" and add #elif for
   "ifndef BUG_FRAME_STRUCT" to define stub for BUILD_BUG_ON_LINE_WIDTH.
 * move <xen/debuger.h> from <asm/bug.h> to <common/bug.c> to fix compilation issue
   ( more details in the changes to the patch [xen/x86: switch x86 to use generic
     implemetation of bug.h] ).
 * remove <asm/bug.h> from <x86/acpi/cpufreq/cpufreq.c> and
   <drivers/cpufreq/cpufreq.c> as nothing from <xen/bug.h> are used in
   <*/cpufreq.c>
 * Rebase the patch series on the top of the latest staging: it was a merge conflict
   inisde x86/Kconfig.
---
Changes in V7:
 * Introduce new patch to clean up ARM's <asm/bug.h> from unused defines: 
   BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH
 * fix addressed code style.
 * Remove '#include <xen/debugger.h>' from bug.c. it should be a part
	 of <asm/bug.h>.
 * move BUILD_BUG_ON_LINE_WIDTH to '#ifndef BUG_FRAME_STRUCT' and define
	 dummy BUILD_BUG_ON_LINE_WIDTH when BUG_FRAME_STRUCT is defined.
 * remove update prototype of 'void (*fn)(const struct cpu_user_regs *)' to
	 'void (*fn)(struct cpu_user_regs *)'.
 * add code to to make sure the type used in run_in_exception_handler()
	 matches the one used here.
 * Remove #undef {BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH} from
	 ARM and x86:
	 - for ARM was created separate patch where the defines are removed as
	   unused.
	 - for x86, the defines were removed now not to produce #undef of them to remove
     them again in the following-up patch
 * make eip 'const void *' in x86's do_invalid_op() 
 * change [eip = (unsigned char *)eip + sizeof(bug_insn);] to [eip += sizeof(bug_insn);]
 * add '#include <xen/debugger.h>' to x86's <asm/bug.h>
---
Changes in V6:
 * Update the cover letter message: add information that BUG_DEBUGGER_TRAP_FATAL() and
   BUILD_BUG_ON_LINE_WIDTH().
 * Introduce BUILD_BUG_ON_LINE_WIDTH(line) to make more generic BUG_FRAME macros.
 * fix addressed code style
 * change -EINVAL to -ENOENT in case when bug_frame wasn't found in generic do_bug_frame().
 * change all 'return id' to 'break' inside switch/case of do_bug_frame().
 * move up "#ifndef __ASSEMBLY__" to include BUG_DEBUGGER_TRAP_FATAL.
 * update the comment of BUG_ASM_CONST.
 * Introduce BUILD_BUG_ON_LINE_WIDTH(line) to make more generic BUG_FRAME macros
 * remove #ifndef BUG_FRAME_STRUCT around BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH as it is
   required to be defined before <asm/bug.h> as it is used by x86's <asm/bug.h> when
   the header is included in assembly code.
 * add undef of BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH for ARM & x86
   as they were introduced unconditionally in <xen/bug.h>.
 * update the type of eip to 'void *' in do_invalid_op() for x86
 * fix the logic of do_invalid_op() for x86
 * move macros BUG_DEBUGGER_TRAP_FATAL under #ifndef __ASSEMBLY__ as
	 it is not necessary to be in assembly code for x86.

---
Changes in V5:
 * Update the cover letter message as the patch, on which the patch series
   is based, has been merged to staging.
 * Remove "#ifdef BUG_FN_REG..." from generic do_bug_frame() as ARM will
   use generic implementation fully.
---
Changes in V4:
 * Introduce and use generic BUG_DEBUGGER_TRAP_FATAL(regs) mnacros which is used to deal with
   debugger_trap_fatal(TRAP_invalid_op, regs) where TRAP_invalid_op is x86-specific.
 * Add comment what do_bug_frame() returns.
 * Do refactoring of do_bug_frame():
     * invert the condition 'if ( region )' in do_bug_frame() to reduce the indention.
		 * change type of variable i from 'unsigned int' to 'size_t' as it  is compared with
		   n_bugs which has type 'size_t'
 * Remove '#include <xen/stringify.h>' from <xen/bug.h> as it doesn't need any more after switch to
   x86 implementation.
 * Remove '#include <xen/errno.h>' as it isn't needed any more
 * Move bug_*() macros inside '#ifndef BUG_FRAME_STRUCT'
 * Add <xen/lib.h> to fix compile issue with BUILD_ON()...
 * Add documentation for BUG_ASM_CONST.
 * Defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH were moved into
   "ifndef BUG_FRAME_STRUCT" in <xen/bug.h> as they are specific for 'struct bug_frame' and so should
   co-exist together. So the defines were back to <asm/bug.h> until BUG_FRAME_STRUCT will be defined in
	 <asm/bug.h>.
 * Switch ARM implementation to generic one
 * Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed after switch to generic implementation
 * Back comment /* !__ASSEMBLY__ */ for #else case in <asm/bug.h>
 * Remove changes related to x86/.../asm/debuger.h as do_bug_frame() prototype was updated and cpu_user_regs
	 isn't const any more.

---
Changes in V3:
 * Nothing was done with the comment in <xen/bug.h> before run_in_exception_handler
   but I think it can be changed during the merge.
 * Add debugger_trap_fatal() to do_bug_frame(). It simplifies usage of
   do_bug_frame() for x86 so making handle_bug_frame() and find_bug_frame()
   not needed anymore.
 * Update do_bug_frame() to return -EINVAL if something goes wrong; otherwise
   id of bug_frame
 * Update _ASM_BUGFRAME_TEXT to make it more portable.
 * Drop unnecessary comments.
 * Update patch 2 not to break compilation: move some parts from patches 3 and 4
   to patch 2
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
 * Change debugger_trap_fatal() prototype for x86 to align with prototype in
   <xen/debugger.h>
---
Changes in V2:
  * Update cover letter.
  * Switch to x86 implementation as generic as it is more compact ( at least from the point of view of bug frame structure).
  * Put [PATCH v1 4/4] xen: change <asm/bug.h> to <xen/bug.h> as second patch,
    update the patch to change all <asm/bug.h> to <xen/bug.h> among the whole project
    to not break compilation.
  * Rename CONFIG_GENERIC_DO_BUG_FRAME to CONFIG_GENERIC_BUG_FRAME.
  * Change the macro bug_loc(b) to avoid the need for a cast:
    #define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
  * Rename BUG_FRAME_STUFF to BUG_FRAME_STRUCT
  * Make macros related to bug frame structure more generic.
  * Rename bug_file() in ARM implementation to bug_ptr() as generic do_bug_frame() uses
    bug_ptr().
  * Introduce BUG_INSTR and MODIFIER to make _ASM_BUGFRAME_TEXT reusable between x86 and
    RISC-V.
  * Rework do_invalid_op() in x86 ( re-use handle_bug_frame() and find_bug_frame() )
---

Oleksii Kurochko (5):
  xen: introduce CONFIG_GENERIC_BUG_FRAME
  xen/arm: remove unused defines in <asm/bug.h>
  xen: change <asm/bug.h> to <xen/bug.h>
  xen/arm: switch ARM to use generic implementation of bug.h
  xen/x86: switch x86 to use generic implemetation of bug.h

 xen/arch/arm/Kconfig                 |   1 +
 xen/arch/arm/arm32/traps.c           |   2 +-
 xen/arch/arm/include/asm/arm32/bug.h |   2 -
 xen/arch/arm/include/asm/arm64/bug.h |   2 -
 xen/arch/arm/include/asm/bug.h       |  88 +--------------
 xen/arch/arm/include/asm/div64.h     |   2 +-
 xen/arch/arm/include/asm/traps.h     |   2 -
 xen/arch/arm/traps.c                 |  81 +-------------
 xen/arch/arm/vgic/vgic-v2.c          |   2 +-
 xen/arch/arm/vgic/vgic.c             |   2 +-
 xen/arch/x86/Kconfig                 |   1 +
 xen/arch/x86/acpi/cpufreq/cpufreq.c  |   1 -
 xen/arch/x86/include/asm/asm_defns.h |   2 +-
 xen/arch/x86/include/asm/bug.h       |  84 +-------------
 xen/arch/x86/traps.c                 |  81 ++------------
 xen/common/Kconfig                   |   3 +
 xen/common/Makefile                  |   1 +
 xen/common/bug.c                     | 108 ++++++++++++++++++
 xen/drivers/cpufreq/cpufreq.c        |   1 -
 xen/include/xen/bug.h                | 161 +++++++++++++++++++++++++++
 xen/include/xen/lib.h                |   2 +-
 21 files changed, 296 insertions(+), 333 deletions(-)
 create mode 100644 xen/common/bug.c
 create mode 100644 xen/include/xen/bug.h

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 17:22:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 17:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510154.787379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcUp5-0005d8-JI; Wed, 15 Mar 2023 17:21:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510154.787379; Wed, 15 Mar 2023 17: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 1pcUp5-0005d1-Fo; Wed, 15 Mar 2023 17:21:59 +0000
Received: by outflank-mailman (input) for mailman id 510154;
 Wed, 15 Mar 2023 17: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=Ux93=7H=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcUp3-0004sk-TI
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 17:21:58 +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 e32ba83b-c355-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 18:21:57 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id fd5so44520765edb.7
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 10:21:57 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 d20-20020a50cd54000000b004fd1ee3f723sm2736315edj.67.2023.03.15.10.21.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Mar 2023 10:21:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e32ba83b-c355-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678900916;
        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=o+PmMlnEPdzmGx7OHR5mV8XdW/MmTlCLg2ne1c+/IvU=;
        b=k7roXrRcX6Bpk78RNjcXB3b2Bfcqfu5Di4UxnmoDdElh4VwNxPAn/JyGRR8Ix05U+I
         w8c4oCx+ktpySDo05EA7kqmfzEYlCgOUGveBITAKZktaPU+YfviiKBMQGCPI6hDNUKya
         NANaBEWdDMc6EJWi/eg7JlvoPF9cJO4wxSLBqVrnf+Q1rqxNGVOZhZRY4x5YWY3Q22XS
         hVZoZMemQbYdxhpu2UFFMZQyaPONW8Gv/ZqZNiagLuVmZ+LgGwpAsJ0FFTmfx+OYdTaQ
         rYmQTYX2FF7RV0hBeTUt91VZzjlXNUcF0Q3NE9y0pwUWLFFj4pnOV/R6Y6SQDBzWsm8A
         sS3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678900916;
        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=o+PmMlnEPdzmGx7OHR5mV8XdW/MmTlCLg2ne1c+/IvU=;
        b=kEi+zKzQQlky76kwLjGbwYpwVm2oNVwijNQuu11KOp39rGIGFEtkWiQPZML9sMb0VH
         KWuRNKBOFa78Alw0YRqSslfAGf0oBXmUb938527AfHH0sN2flZ09uWccUem+09XOGx9W
         tPoUsbSAV55Rys2jwSyyPj8V35ILyqYUsKD+1NbgFs2usxd8VGFHU//lbyy8BzzAUGQM
         bsxlKv0/5LWwk3qxX/IOUQwjWVR1Y6uUk2W63KOUnWwjfW6XGeyMzJnO3YtP8wgvYYoz
         nrbDL2tiYJIM4BLIoRVlXoFP7W9TIkl+WZZdhA+kZpk51pAxFcG5RrvcM0ZIsdIPOKkX
         3F/Q==
X-Gm-Message-State: AO0yUKX1kin1ag6Z8D+gYeE06eBctCKCC+B8nKkm4Dj3uitiGz7o30zU
	fqV//JF/+WcFVkEWHO75MoMnH9kriNE=
X-Google-Smtp-Source: AK7set+m+ig9UuFSBij8snfu9amN9IICs8s52DRunUmPOfjXrZudNPhvqtm4JSdn6gJEQLB7ilGKjA==
X-Received: by 2002:a17:906:b7d8:b0:927:d9ad:804d with SMTP id fy24-20020a170906b7d800b00927d9ad804dmr7402772ejb.7.1678900916167;
        Wed, 15 Mar 2023 10:21:56 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v8 3/5] xen: change <asm/bug.h> to <xen/bug.h>
Date: Wed, 15 Mar 2023 19:21:45 +0200
Message-Id: <ab7e8ffada67a973e58a8b76dc39d4cc6f8b9fa2.1678900513.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678900513.git.oleksii.kurochko@gmail.com>
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The idea of the patch is to change all <asm/bug.h> to <xen/bug.h> and
keep Xen compilable with adding only minimal amount of changes:
1. It was added "#include <xen/types.h>" to ARM's "<asm/bug.h>" as it
  uses uint_{16,32}t in 'struct bug_frame'.
2. It was added '#define BUG_FRAME_STRUCT' which means that ARM hasn't
  been switched to generic implementation yet.
3. It was added '#define BUG_FRAME_STRUCT' which means that x86 hasn't
  been switched to generic implementation yet.
4. BUGFRAME_* and _start_bug_frame[], _stop_bug_frame_*[] were removed
  for ARM & x86 to deal with compilation errors such as:
      redundant redeclaration of ...
5. Remove BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH from
  x86's <asm.bug.h> to not to produce #undef for them and #define again
  with the same values as in <xen/bug.h>. These #undef and #define will
  be anyway removed in the patch [2]
6. Remove <asm/bug.h> from <x86/acpi/cpufreq/cpufreq.c> and
  <drivers/cpufreq/cpufreq.c> as nothing from <xen/bug.h> are used in
  <*/cpufreq.c>

In the following two patches x86 and ARM archictectures will be
switched fully:
[1] xen/arm: switch ARM to use generic implementation of bug.h
[2] xen/x86: switch x86 to use generic implemetation of bug.h

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V8:
 * remove <asm/bug.h> from <x86/acpi/cpufreq/cpufreq.c> and
   <drivers/cpufreq/cpufreq.c> as nothing from <xen/bug.h> are used in
   <*/cpufreq.c>
 * update the commit message
---
Changes in V7:
 * Remove #undef {BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH} from
   ARM and x86:
   * for ARM was created separate patch where the defines are removed as
     unused.
   * for x86, the defines were removed now not to produce #undef of them to remove
            them again in the following-up patch
 * Update commit message
 * Add Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V6:
	- change the inclusion order of <xen/bug.h>.
	- add #undef of BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH for ARM & x86
	  as they were introduced unconditionally in <xen/bug.h>.
	- update the commit message
---
Changes in V5:
 - Nothing changed
---
Changes in V4:
	- defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH were moved into
	  "ifndef BUG_FRAME_STRUCT" in <xen/bug.h> as they are specific for 'struct bug_frame' and so should
	  co-exist together. So the defines were back to <asm/bug.h> until BUG_FRAME_STRUCT will be defined in
	  <asm/bug.h>.
	- Update the comment message.
---
Changes in V3:
 * Update patch 2 not to break compilation: move some parts from patches 3 and 4
   to patch 2:
   * move some generic parts from <asm/bug.h> to <xen/bug.h>
   * add define BUG_FRAME_STRUCT in ARM's <asm/bug.h>
---
Changes in V2:
 * Put [PATCH v1 4/4] xen: change <asm/bug.h> to <xen/bug.h> as second patch,
   update the patch to change all <asm/bug.h> to <xen/bug.h> among the whole project
   to not break build.
 * Update the commit message.
---
 xen/arch/arm/include/asm/bug.h       | 17 ++++-------------
 xen/arch/arm/include/asm/div64.h     |  2 +-
 xen/arch/arm/vgic/vgic-v2.c          |  2 +-
 xen/arch/arm/vgic/vgic.c             |  2 +-
 xen/arch/x86/acpi/cpufreq/cpufreq.c  |  1 -
 xen/arch/x86/include/asm/asm_defns.h |  2 +-
 xen/arch/x86/include/asm/bug.h       | 19 ++-----------------
 xen/drivers/cpufreq/cpufreq.c        |  1 -
 xen/include/xen/lib.h                |  2 +-
 9 files changed, 11 insertions(+), 37 deletions(-)

diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index d6c98505bf..cacaf014ab 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -1,6 +1,8 @@
 #ifndef __ARM_BUG_H__
 #define __ARM_BUG_H__
 
+#include <xen/types.h>
+
 #if defined(CONFIG_ARM_32)
 # include <asm/arm32/bug.h>
 #elif defined(CONFIG_ARM_64)
@@ -9,6 +11,8 @@
 # error "unknown ARM variant"
 #endif
 
+#define BUG_FRAME_STRUCT
+
 struct bug_frame {
     signed int loc_disp;    /* Relative address to the bug address */
     signed int file_disp;   /* Relative address to the filename */
@@ -22,13 +26,6 @@ struct bug_frame {
 #define bug_line(b) ((b)->line)
 #define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
 
-#define BUGFRAME_run_fn 0
-#define BUGFRAME_warn   1
-#define BUGFRAME_bug    2
-#define BUGFRAME_assert 3
-
-#define BUGFRAME_NR     4
-
 /* Many versions of GCC doesn't support the asm %c parameter which would
  * be preferable to this unpleasantness. We use mergeable string
  * sections to avoid multiple copies of the string appearing in the
@@ -85,12 +82,6 @@ struct bug_frame {
     unreachable();                                              \
 } while (0)
 
-extern const struct bug_frame __start_bug_frames[],
-                              __stop_bug_frames_0[],
-                              __stop_bug_frames_1[],
-                              __stop_bug_frames_2[],
-                              __stop_bug_frames_3[];
-
 #endif /* __ARM_BUG_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/arm/include/asm/div64.h b/xen/arch/arm/include/asm/div64.h
index 1cd58bc51a..fc667a80f9 100644
--- a/xen/arch/arm/include/asm/div64.h
+++ b/xen/arch/arm/include/asm/div64.h
@@ -74,7 +74,7 @@
 
 #elif __GNUC__ >= 4
 
-#include <asm/bug.h>
+#include <xen/bug.h>
 
 /*
  * If the divisor happens to be constant, we determine the appropriate
diff --git a/xen/arch/arm/vgic/vgic-v2.c b/xen/arch/arm/vgic/vgic-v2.c
index 1a99d3a8b4..c90e88fddb 100644
--- a/xen/arch/arm/vgic/vgic-v2.c
+++ b/xen/arch/arm/vgic/vgic-v2.c
@@ -16,8 +16,8 @@
  */
 
 #include <asm/new_vgic.h>
-#include <asm/bug.h>
 #include <asm/gic.h>
+#include <xen/bug.h>
 #include <xen/sched.h>
 #include <xen/sizes.h>
 
diff --git a/xen/arch/arm/vgic/vgic.c b/xen/arch/arm/vgic/vgic.c
index f0f2ea5021..b9463a5f27 100644
--- a/xen/arch/arm/vgic/vgic.c
+++ b/xen/arch/arm/vgic/vgic.c
@@ -15,9 +15,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <xen/bug.h>
 #include <xen/list_sort.h>
 #include <xen/sched.h>
-#include <asm/bug.h>
 #include <asm/event.h>
 #include <asm/new_vgic.h>
 
diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index c27cbb2304..2e0067fbe5 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -35,7 +35,6 @@
 #include <xen/sched.h>
 #include <xen/timer.h>
 #include <xen/xmalloc.h>
-#include <asm/bug.h>
 #include <asm/msr.h>
 #include <asm/io.h>
 #include <asm/processor.h>
diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
index d9431180cf..baaaccb26e 100644
--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -6,8 +6,8 @@
 /* NB. Auto-generated from arch/.../asm-offsets.c */
 #include <asm/asm-offsets.h>
 #endif
-#include <asm/bug.h>
 #include <asm/x86-defns.h>
+#include <xen/bug.h>
 #include <xen/stringify.h>
 #include <asm/cpufeature.h>
 #include <asm/alternative.h>
diff --git a/xen/arch/x86/include/asm/bug.h b/xen/arch/x86/include/asm/bug.h
index b7265bdfbe..4b3e7b019d 100644
--- a/xen/arch/x86/include/asm/bug.h
+++ b/xen/arch/x86/include/asm/bug.h
@@ -1,19 +1,10 @@
 #ifndef __X86_BUG_H__
 #define __X86_BUG_H__
 
-#define BUG_DISP_WIDTH    24
-#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
-#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
-
-#define BUGFRAME_run_fn 0
-#define BUGFRAME_warn   1
-#define BUGFRAME_bug    2
-#define BUGFRAME_assert 3
-
-#define BUGFRAME_NR     4
-
 #ifndef __ASSEMBLY__
 
+#define BUG_FRAME_STRUCT
+
 struct bug_frame {
     signed int loc_disp:BUG_DISP_WIDTH;
     unsigned int line_hi:BUG_LINE_HI_WIDTH;
@@ -80,12 +71,6 @@ struct bug_frame {
     unreachable();                                              \
 } while (0)
 
-extern const struct bug_frame __start_bug_frames[],
-                              __stop_bug_frames_0[],
-                              __stop_bug_frames_1[],
-                              __stop_bug_frames_2[],
-                              __stop_bug_frames_3[];
-
 #else  /* !__ASSEMBLY__ */
 
 /*
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index a94520ee57..2321c7dd07 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -39,7 +39,6 @@
 #include <xen/guest_access.h>
 #include <xen/domain.h>
 #include <xen/cpu.h>
-#include <asm/bug.h>
 #include <asm/io.h>
 #include <asm/processor.h>
 
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 05ee1e18af..e914ccade0 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -24,12 +24,12 @@
 
 #ifndef __ASSEMBLY__
 
+#include <xen/bug.h>
 #include <xen/inttypes.h>
 #include <xen/stdarg.h>
 #include <xen/types.h>
 #include <xen/xmalloc.h>
 #include <xen/string.h>
-#include <asm/bug.h>
 
 #define BUG_ON(p)  do { if (unlikely(p)) BUG();  } while (0)
 #define WARN_ON(p)  ({                  \
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 17:22:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 17:22:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510153.787369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcUp3-0005Mo-Au; Wed, 15 Mar 2023 17:21:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510153.787369; Wed, 15 Mar 2023 17: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 1pcUp3-0005Mh-7f; Wed, 15 Mar 2023 17:21:57 +0000
Received: by outflank-mailman (input) for mailman id 510153;
 Wed, 15 Mar 2023 17:21: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=Ux93=7H=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcUp1-0004sk-OA
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 17:21:55 +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 e1f2544e-c355-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 18:21:54 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id w9so7610686edc.3
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 10:21:54 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 d20-20020a50cd54000000b004fd1ee3f723sm2736315edj.67.2023.03.15.10.21.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Mar 2023 10:21: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: e1f2544e-c355-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678900914;
        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=WC6E7SasOar4lE8BhKkBYbyPqiR5X0PW7WQ9O6r1Ljc=;
        b=LHyrFKjWXK4MaJ31pF6YPL9VA5V8tn+jwVfDd2/ep/Ved1WfP2CcLvh1n8z4vpTTUF
         3K3ghpyh7vyJkjC9/nyRSwIzsVJuS7rL1um9LuhOrcCyjgafiZHzyFF9dMDtVR7Cwp7t
         V3QyuFE7zc+NtVqyTcIL1wuYA9d7mr3/ceUVVkdJd6fcmLb+JnJtKiJqmCL+PVhrJ5P1
         4NDWrXsYEfrT2LsipvfEE3TafI/49NmH0RgFV6G7mF42KKEi4J4LE/Tf9hGThg1xAAGL
         wmGcX5+loPq3jdXSLZNlK2GHNZL2/DdG/6E4AMnoYIt2mMLcMhNsx9mxhUIPspYma0fV
         ND1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678900914;
        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=WC6E7SasOar4lE8BhKkBYbyPqiR5X0PW7WQ9O6r1Ljc=;
        b=7J6UId6Go9fscZTa7fYaXsFQCEs12xLQ1hTUO8n552bNL99vBWfhx5jUK1e8/EeALr
         Y+3+VIBSE+dm60r+KaBzQzYWDZ4PBTZXvZYJOYjRWLxFOMOMiVf/e+3p/61K5K8cOH9z
         sND9PUcVDdZZ2N39VySVefugSSr7RDy6sb3DKbDjg8zIzwB+NhsE0piztR7I2qmCEyk8
         V8NFX2eYGjGPhlOkoAHNO6o4LJV9sIYItitbaBgDuCLp4qpGJibPWDlFrPCHx/4UhqNV
         WHa7cNFbpFvLdeIQYQINkkKwQwm9i5J4w/fZlIAhHphk7lT+j0s8S9igPtDYADdWHWA9
         01Yw==
X-Gm-Message-State: AO0yUKWsK909zZTazVH09RjXacD3qq6ShYyEoJxiomcw48Yh5IsYTR1F
	WRWHcKaIwMSmBtJaMghtxNwpgGl/ghk=
X-Google-Smtp-Source: AK7set9eRnkC+n/SqCo+CPk+xf/Sl2KPM+XpMuXT6aG3kRzVav03I+Wf494+u9rrgcS7XklbE0l3ug==
X-Received: by 2002:a50:ee1a:0:b0:4fe:9555:3a57 with SMTP id g26-20020a50ee1a000000b004fe95553a57mr3474467eds.16.1678900914287;
        Wed, 15 Mar 2023 10:21:54 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v8 2/5] xen/arm: remove unused defines in <asm/bug.h>
Date: Wed, 15 Mar 2023 19:21:44 +0200
Message-Id: <2f44d41ac31d71c150cd9170e62750a387ae48d4.1678900513.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678900513.git.oleksii.kurochko@gmail.com>
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH,
BUG_LINE_HI_WIDTH aren't used in ARM so could be purged
as unused.

Requested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V8:
 * Update the commit message with Requested-by and Reviewed-by
---
 xen/arch/arm/include/asm/bug.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index f4088d0913..d6c98505bf 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -9,10 +9,6 @@
 # error "unknown ARM variant"
 #endif
 
-#define BUG_DISP_WIDTH    24
-#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
-#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
-
 struct bug_frame {
     signed int loc_disp;    /* Relative address to the bug address */
     signed int file_disp;   /* Relative address to the filename */
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 17:22:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 17:22:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510156.787399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcUpA-0006Dg-BJ; Wed, 15 Mar 2023 17:22:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510156.787399; Wed, 15 Mar 2023 17: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 1pcUpA-0006DZ-70; Wed, 15 Mar 2023 17:22:04 +0000
Received: by outflank-mailman (input) for mailman id 510156;
 Wed, 15 Mar 2023 17:22: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=Ux93=7H=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcUp8-0004sk-GB
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 17:22:02 +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 e5df2c88-c355-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 18:22:01 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id z21so13076044edb.4
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 10:22:01 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 d20-20020a50cd54000000b004fd1ee3f723sm2736315edj.67.2023.03.15.10.21.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Mar 2023 10:22: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: e5df2c88-c355-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678900921;
        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=UTxWYaZ2frOrsHQfZxZgybwYZqZzEeFQvzL+aan7ZLk=;
        b=pK51OAl0zCAfWlJ0KoGa3Dj7ksaEXZaKkSfHWwH6a7vE5kjXgoVoRpGyhqtfAmXobO
         3TJSjUU9bnwl8wJvs7wuxYHBSU43RPNRGAt8Z4/vJbYQouiy76y437giP7zx3Ivt0Dda
         5Vx17IRxwbPDRlhd2+YJS4cqVQObUIY7gONRGqoakwAz48pjn7JvSNSE1Wp0q9uOvvJD
         2w2wPM78Eqsix71c6n7ohT8X4KnFxsTGK+ditrTa8XshFBJp7pBlob0fn92ToLCVv7va
         z5Arit2x0TMLjyalEAJVgqgmxv0To4w1csQs+kVVqV3izpHTCnLTDwuEOb0jnzXth7Ph
         EgkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678900921;
        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=UTxWYaZ2frOrsHQfZxZgybwYZqZzEeFQvzL+aan7ZLk=;
        b=yHZel6QMqkFaz2LPCBCIehBPUuUufe2/Pszr3P8uZqxWxzOWpHCh/aPYzJH2rncePI
         HJA6qCUMrZf77Nl3yPeRfNP8vJwI9qdTYwGcKjwqzxrO7PVl5Sn6SBRrQN+fAyZegXbj
         WO/5IgolvkWx7wNhpJdkxTK6V7cO7NJMeF/GZLGBAnlp9u6smCN0dHJ4PHeSTaU/mXmT
         4osXsX7bEMA/U0tAzx1iRq/oHCpz5Dg6JomWyliwl344j5oOKk34p+eb0EtH26ro5GF3
         iqVlpz4DPzrZ+cv9aDZbTdI9MsIvHVfn+rrnZMJkednOBIV2GJ85aysSl6TIK7/CSFrD
         SQvw==
X-Gm-Message-State: AO0yUKXTwQVgETRYFGVoQ4cTjPga5pQhv9r3bS/cecL/55v3Z5ntJFOz
	aOO9+kQlOgY1J2pDXlUquz1pCMv7IOw=
X-Google-Smtp-Source: AK7set9uxGLlfOEIIFcEuL+v60xGzR/kAPLF0oxi0sVmzIJHNMqjJ8obC4RfCmEfVBGVpOTQIZVQVQ==
X-Received: by 2002:a05:6402:4d1:b0:4fa:ba60:8188 with SMTP id n17-20020a05640204d100b004faba608188mr3839986edw.8.1678900920756;
        Wed, 15 Mar 2023 10:22:00 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v8 5/5] xen/x86: switch x86 to use generic implemetation of bug.h
Date: Wed, 15 Mar 2023 19:21:47 +0200
Message-Id: <5e252e8dacea5c4f2fdbb4f7970e34a862987639.1678900513.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678900513.git.oleksii.kurochko@gmail.com>
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following changes were made:
* Make GENERIC_BUG_FRAME mandatory for X86
* Update asm/bug.h using generic implementation in <xen/bug.h>
* Update do_invalid_op using generic do_bug_frame()
* Define BUG_DEBUGGER_TRAP_FATAL to debugger_trap_fatal(X86_EXC_GP,regs)
* type of eip variable was changed to 'const void *'
* add '#include <xen/debugger.h>'

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V8:
 * move <xen/debuger.h> from <asm/bug.h> to <common/bug.c> to fix compilation issue.
   The following compilation issue occurs:
     In file included from ./arch/x86/include/asm/smp.h:10,
                 from ./include/xen/smp.h:4,
                 from ./arch/x86/include/asm/processor.h:10,
                 from ./arch/x86/include/asm/system.h:6,
                 from ./arch/x86/include/asm/atomic.h:5,
                 from ./include/xen/gdbstub.h:24,
                 from ./arch/x86/include/asm/debugger.h:10,
                 from ./include/xen/debugger.h:24,
                 from ./arch/x86/include/asm/bug.h:7,
                 from ./include/xen/bug.h:15,
                 from ./include/xen/lib.h:27,
                 from ./include/xen/perfc.h:6,
                 from arch/x86/x86_64/asm-offsets.c:9:
     ./include/xen/cpumask.h: In function 'cpumask_check':
     ./include/xen/cpumask.h:84:9: error: implicit declaration of function 'ASSERT' [-Werror=implicit-function-declaration]
                    84 |         ASSERT(cpu < nr_cpu_ids);

   It happens in case when CONFIG_CRASH_DEBUG is enabled and the reason for that is when
   <xen/lib.h> is included in <x86_64/asm-offsets.c>:9 the "layout" of <xen/lib.h> would be
   the following:
     #include <xen/bug.h>:
     #include <asm/bug.h>:
     #include <xen/debugger.h>:
         ....
              cpumask.h:
                     ....
                    ASSERT(cpu < nr_cpu_ids);
	            return cpu;
                     .... 
     ....
     #define ASSERT ...
     ....
   Thereby ASSERT is defined after it was used in <xen/cpumask.h>.

 * Rebase the patch series on the top of the latest staging: it was a merge conflict
   inisde x86/Kconfig.
---
Changes in V7:
 * update the commit message
 * make eip 'const void *'
 * change [eip = (unsigned char *)eip + sizeof(bug_insn);] to [eip += sizeof(bug_insn);]
 * add '#include <xen/debugger.h>' to <asm/bug.h>
 * add Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V6:
 * update the commit message
 * update the type of eip to 'void *' in do_invalid_op()
 * fix the logic of do_invalid_op()
 * move macros BUG_DEBUGGER_TRAP_FATAL under #ifndef __ASSEMBLY__ as
   it is not necessary to be in assembly code.
---
Changes in V5:
 * Nothing changed
---
Changes in V4:
 * Back comment /* !__ASSEMBLY__ */ for #else case in <asm/bug.h>
 * Remove changes related to x86/.../asm/debuger.h as do_bug_frame() prototype
   was updated and cpu_user_regs isn't const any more.
---
Changes in V3:
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
 * MODIFIER was change to BUG_ASM_CONST to align with generic implementation
---
Changes in V2:
  * Remove all unnecessary things from <asm/bug.h> as they were introduced in
    <xen/bug.h>.
  * Define BUG_INSTR = 'ud2' and MODIFIER = 'c' ( it is needed to skip '$'
    when use an imidiate in x86 assembly )
  * Update do_invalid_op() to re-use handle_bug_frame() and find_bug_frame()
    from generic implemetation of CONFIG_GENERIC_BUG_FRAME
  * Code style fixes.
---
 xen/arch/x86/Kconfig           |  1 +
 xen/arch/x86/include/asm/bug.h | 69 ++---------------------------
 xen/arch/x86/traps.c           | 81 ++++------------------------------
 3 files changed, 12 insertions(+), 139 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 2a5c3304e2..406445a358 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -11,6 +11,7 @@ config X86
 	select ARCH_MAP_DOMAIN_PAGE
 	select ARCH_SUPPORTS_INT128
 	imply CORE_PARKING
+	select GENERIC_BUG_FRAME
 	select HAS_ALTERNATIVE
 	select HAS_COMPAT
 	select HAS_CPUFREQ
diff --git a/xen/arch/x86/include/asm/bug.h b/xen/arch/x86/include/asm/bug.h
index 4b3e7b019d..f852cd0ee9 100644
--- a/xen/arch/x86/include/asm/bug.h
+++ b/xen/arch/x86/include/asm/bug.h
@@ -3,73 +3,10 @@
 
 #ifndef __ASSEMBLY__
 
-#define BUG_FRAME_STRUCT
+#define BUG_DEBUGGER_TRAP_FATAL(regs) debugger_trap_fatal(X86_EXC_GP,regs)
 
-struct bug_frame {
-    signed int loc_disp:BUG_DISP_WIDTH;
-    unsigned int line_hi:BUG_LINE_HI_WIDTH;
-    signed int ptr_disp:BUG_DISP_WIDTH;
-    unsigned int line_lo:BUG_LINE_LO_WIDTH;
-    signed int msg_disp[];
-};
-
-#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
-#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
-#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
-                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
-                      BUG_LINE_LO_WIDTH) +                                   \
-                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
-                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
-#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
-
-#define _ASM_BUGFRAME_TEXT(second_frame)                                     \
-    ".Lbug%=: ud2\n"                                                         \
-    ".pushsection .bug_frames.%c[bf_type], \"a\", @progbits\n"               \
-    ".p2align 2\n"                                                           \
-    ".Lfrm%=:\n"                                                             \
-    ".long (.Lbug%= - .Lfrm%=) + %c[bf_line_hi]\n"                           \
-    ".long (%c[bf_ptr] - .Lfrm%=) + %c[bf_line_lo]\n"                        \
-    ".if " #second_frame "\n"                                                \
-    ".long 0, %c[bf_msg] - .Lfrm%=\n"                                        \
-    ".endif\n"                                                               \
-    ".popsection\n"                                                          \
-
-#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
-    [bf_type]    "i" (type),                                                 \
-    [bf_ptr]     "i" (ptr),                                                  \
-    [bf_msg]     "i" (msg),                                                  \
-    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
-                      << BUG_DISP_WIDTH),                                    \
-    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
-
-#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
-    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH));         \
-    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
-    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
-                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
-} while (0)
-
-
-#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, NULL)
-#define BUG() do {                                              \
-    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, NULL);      \
-    unreachable();                                              \
-} while (0)
-
-/*
- * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
- * and use a real static inline here to get proper type checking of fn().
- */
-#define run_in_exception_handler(fn)                            \
-    do {                                                        \
-        (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
-        BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);             \
-    } while ( 0 )
-
-#define assert_failed(msg) do {                                 \
-    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
-    unreachable();                                              \
-} while (0)
+#define BUG_INSTR       "ud2"
+#define BUG_ASM_CONST   "c"
 
 #else  /* !__ASSEMBLY__ */
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index cade9e12f8..c36e3f855b 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -24,6 +24,7 @@
  * Gareth Hughes <gareth@valinux.com>, May 2000
  */
 
+#include <xen/bug.h>
 #include <xen/init.h>
 #include <xen/sched.h>
 #include <xen/lib.h>
@@ -1166,12 +1167,9 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
 
 void do_invalid_op(struct cpu_user_regs *regs)
 {
-    const struct bug_frame *bug = NULL;
     u8 bug_insn[2];
-    const char *prefix = "", *filename, *predicate, *eip = (char *)regs->rip;
-    unsigned long fixup;
-    int id = -1, lineno;
-    const struct virtual_region *region;
+    const void *eip = (const void *)regs->rip;
+    int id;
 
     if ( likely(guest_mode(regs)) )
     {
@@ -1185,83 +1183,20 @@ void do_invalid_op(struct cpu_user_regs *regs)
          memcmp(bug_insn, "\xf\xb", sizeof(bug_insn)) )
         goto die;
 
-    region = find_text_region(regs->rip);
-    if ( region )
-    {
-        for ( id = 0; id < BUGFRAME_NR; id++ )
-        {
-            const struct bug_frame *b;
-            unsigned int i;
-
-            for ( i = 0, b = region->frame[id].bugs;
-                  i < region->frame[id].n_bugs; b++, i++ )
-            {
-                if ( bug_loc(b) == eip )
-                {
-                    bug = b;
-                    goto found;
-                }
-            }
-        }
-    }
-
- found:
-    if ( !bug )
+    id = do_bug_frame(regs, regs->rip);
+    if ( id < 0 )
         goto die;
-    eip += sizeof(bug_insn);
-    if ( id == BUGFRAME_run_fn )
-    {
-        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
-
-        fn(regs);
-        fixup_exception_return(regs, (unsigned long)eip);
-        return;
-    }
 
-    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = bug_ptr(bug);
-    if ( !is_kernel(filename) && !is_patch(filename) )
-        goto die;
-    fixup = strlen(filename);
-    if ( fixup > 50 )
-    {
-        filename += fixup - 47;
-        prefix = "...";
-    }
-    lineno = bug_line(bug);
+    eip += sizeof(bug_insn);
 
     switch ( id )
     {
+    case BUGFRAME_run_fn:
     case BUGFRAME_warn:
-        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
         fixup_exception_return(regs, (unsigned long)eip);
-        return;
-
     case BUGFRAME_bug:
-        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return;
-
-        show_execution_state(regs);
-        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
     case BUGFRAME_assert:
-        /* ASSERT: decode the predicate string pointer. */
-        predicate = bug_msg(bug);
-        if ( !is_kernel(predicate) && !is_patch(predicate) )
-            predicate = "<unknown>";
-
-        printk("Assertion '%s' failed at %s%s:%d\n",
-               predicate, prefix, filename, lineno);
-
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return;
-
-        show_execution_state(regs);
-        panic("Assertion '%s' failed at %s%s:%d\n",
-              predicate, prefix, filename, lineno);
+        return;
     }
 
  die:
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 17:33:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 17:33:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510167.787409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcV0b-00012l-Cz; Wed, 15 Mar 2023 17:33:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510167.787409; Wed, 15 Mar 2023 17: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 1pcV0b-00012e-AG; Wed, 15 Mar 2023 17:33:53 +0000
Received: by outflank-mailman (input) for mailman id 510167;
 Wed, 15 Mar 2023 17:33:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hb+5=7H=citrix.com=prvs=431796acb=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pcV0a-00012Y-4E
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 17:33:52 +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 8abd92a5-c357-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 18: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: 8abd92a5-c357-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678901629;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=S+9AoZtjBs9mdfdZCkDKido9mDt9LmcGV0qZ/71ZwSg=;
  b=IwYW2vXnvxPcamhVyyHeGMVeGA7jw9XrLesuNBv7KwkqO82buVkHdu2F
   LgpHRI1SJOKSCN9Ap8gsRpc17hcc8QIrvHqROlKLC9buKBui0Q6TCbmal
   BB16Ue0pzTxHeWXjRAwCR9YUc8WeXpmOK3OeLqBYGMU/IYP+3CYHpnDDz
   4=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 101407120
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:8CJRlaNgMoVLI7DvrR2Sl8FynXyQoLVcMsEvi/4bfWQNrUpx0TECy
 WJOWG2Oaf+PMGr2c48kO4m39UIAv5/cnIdrGgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5wFmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0vZeGFxCy
 uZCEm8cRUm7tseO+5SVFMA506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w2Nk+ojx5nYz/7DLo3mvuogX/uNSVVsluPqYI84nTJzRw327/oWDbQUoXSHJkNwR/C/
 goq+Uz7CCk7Luay7Qba63+ziOqTv2DaaqQNQejQGvlC3wTImz175ActfVm0u/6ikWalRslSb
 UcT/0IGr6E0+Fa6U9rVUBixoXrCtRkZM/JAHut/5AyTx6785weCGnNCXjNHcMYhtsI9WXotz
 FDht8ztLSxitvuSU3313r6MoCm7IyQ9MW4IbihCRgwAi+QPu6lq0EiJFIw6Vvfo0JusQ2qYL
 y22QDYWl5wKsMI0zf+BokHs2gqdg6DyaCBrz1CCNo661T9RaImgbo2uzFHU6/dcMYqUJmW8U
 Gg4d9u2t75XU8zU/MCZaKBURezyua7ZWNHJqQQ3d6TN4QhB7JJKkWp4xDhlbHlkPc8fEdMCS
 B+C4FgBjHO/0ZbDUEOWX25TI552pUQDPY6/PhwxUjapSskZSeN/1HsyDXN8Jki0+KTWrYkxO
 I2AbeGnBmsABKJswVKeHrlCge9yl3lnnTuMH/gXKihLNpLPDEN5tJ9faAfeBgzHxPrsTPrpH
 yZ3aJLRlkQ3vBzWaSjL648DRW03wYwALcmu8aR/L7fTSjeK7Ul9U5c9N5t9Id0690mU/8+Ul
 kyAtrhwkgCm3CeXclvSMhiOqtrHBP5CkJ7yBgR0VX7A5pTpSd3HAHs3H3fvQYQayQ==
IronPort-HdrOrdr: A9a23:X14NOa7EYLK7JTFkEwPXwAzXdLJyesId70hD6qkQc3Fom62j5q
 WTdZEgvyMc5wx/ZJhNo7690cq7MBHhHPxOgbX5VI3KNGXbUQOTR72KhrGSoAEIdReeygZcv5
 0QCZSXCrfLfCVHZRCR2njFLz4iquP3j5xBnY3lvhNQpZkBUdAZ0+9+YDzrdXFedU19KrcSMo
 GT3cZDryrIQwVtUizqbkN1OdQqvrfw5evbXSI=
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="101407120"
Date: Wed, 15 Mar 2023 17:33:41 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: Jason Andryuk <jandryuk@gmail.com>, <xen-devel@lists.xenproject.org>, Wei
 Liu <wl@xen.org>
Subject: Re: [PATCH] libxl: Fix libxl__device_pci_reset error messages
Message-ID: <33249448-f7d3-431a-91a8-5bc0657f0285@perard>
References: <20230313195755.35949-1-jandryuk@gmail.com>
 <f867a789-7559-3a93-08fe-56b59432140d@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <f867a789-7559-3a93-08fe-56b59432140d@suse.com>

On Tue, Mar 14, 2023 at 04:12:03PM +0100, Juergen Gross wrote:
> On 13.03.23 20:57, Jason Andryuk wrote:
> > Don't use the LOG*D macros.  They expect a domid, but "domain" here is
> > the PCI domain.  Hence it is inappropriate for this use.
> > 
> > Make the write error messages uniform with LOGE.  errno has the
> > interesting information while rc is just -1.  Drop printing rc and use
> > LOGE to print errno as text.
> > 
> > The interesting part of a failed write to do_flr is that PCI BDF, so
> > print that.
> > 
> > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> 
> Reviewed-by: Juergen Gross <jgross@suse.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 18:23:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 18:23:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510170.787422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcVme-0007SX-3e; Wed, 15 Mar 2023 18:23:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510170.787422; Wed, 15 Mar 2023 18:23:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcVmd-0007SQ-W1; Wed, 15 Mar 2023 18:23:31 +0000
Received: by outflank-mailman (input) for mailman id 510170;
 Wed, 15 Mar 2023 18:23: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=Ux93=7H=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcVmc-0007SK-Dq
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 18:23:30 +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 79bb67a0-c35e-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 19:23:26 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id h8so35274403ede.8
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 11:23:25 -0700 (PDT)
Received: from [192.168.8.114] (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 kk1-20020a170907766100b0092b8c1f41ebsm2827543ejc.24.2023.03.15.11.23.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Mar 2023 11:23: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: 79bb67a0-c35e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678904605;
        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=FdfnZppe0CIozqZQsvk6mx6ROijCjVTsdoIh6BbMsRc=;
        b=HCY96oS06l4iCC+A68KE5L8ufz/bkvlF3azySSb6UEWgh8KZP+Om+WocQxjOYtuIeh
         dBUQ2T7diEj+fre8n6MW4s9tsvcBcUnf3Fxk+pH85MafrY42UTv0eOYlIZpJXcJcxtNn
         pW8SrroS0XzBSAxS0jPysHBcLZVxW7dhMJAG7vjTkcp6h5Lml/B9tciw0UIvm08jUnDI
         TOmF3vAYtf0Ug9o3jci22JdRlnADlffDOAg8446y3AJKGBPwK/gjdqU0jWZgvMwwDbkO
         Zzp3hfGRk1IlZcReQm95yqTSdV/N6Li8XG1nsECi4GpDrLNbma57DFYFOgvf0whwlbyt
         J53A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678904605;
        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=FdfnZppe0CIozqZQsvk6mx6ROijCjVTsdoIh6BbMsRc=;
        b=ZcUohSCG/SNMGRo5qptmhn3uvXfT6HFPQpH7/T04B2inkmnRWLxSjG12zVfrXCNM4M
         aPunLqea2xoPJWQ3h5z+tfYTXPab9sF3ImYf45hsvVrr6NpJRyfgT83/TjjPzEEJc0hO
         +7RiiY+7jmtE2cjLtmCddxF/8mX0EX6eZwbWzMd9DYqo/xKHocPyTRNisaZw4XGUnbyO
         5vKWpV7jJ/pQ4GZpfkEfC0uqZ6yNyw5AW7GLdl3qcjddhKmsgebll0bR5GrX4zsYm3sD
         +7e4JmNkKXua1EDDZPL8QobcZsBqh/DUxesMV8SJ1YvmFIGYESRbjn0xurZRFhsGW+Ko
         qfIA==
X-Gm-Message-State: AO0yUKVX9USBFUz2d+j3Fr2kjgAR9lDNhNF113NbJ7ywDMqj7GbL0a0y
	xxnEGcWrpSpp6wQ+HqISY0Y=
X-Google-Smtp-Source: AK7set9OWB0GuCGdT1RaiQ0XE/g2yToPhFa9PKD6vGu0/eVPm8bTJXNK2NP0sfQIGSA2H2tUBjrxSg==
X-Received: by 2002:aa7:d943:0:b0:4ac:bd84:43d9 with SMTP id l3-20020aa7d943000000b004acbd8443d9mr3803723eds.2.1678904605091;
        Wed, 15 Mar 2023 11:23:25 -0700 (PDT)
Message-ID: <b81cddfce06628dc1e0cf373c323c74d1b256313.camel@gmail.com>
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
 <gianluca@rivosinc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Alistair
 Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Date: Wed, 15 Mar 2023 20:23:23 +0200
In-Reply-To: <966c19e3-d255-db73-9bb4-7abe0a745396@suse.com>
References: 
	<ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
	 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
	 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
	 <966c19e3-d255-db73-9bb4-7abe0a745396@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-15 at 08:59 +0100, Jan Beulich wrote:
> On 14.03.2023 21:16, Oleksii wrote:
> > I checked in Linux binary how 'la' instruction is transformed, and
> > it
> > looks like it is translated as I expect to auipc/addi pair:
> > ffffffe000001066: 00027517 auipc a0,0x27
> > ffffffe00000106a: f9a50513 addi a0,a0,-102 # ffffffe000028000
> > <early_pg_dir>
> >=20
> > I checked compiler flags between Xen and Linux. The difference is
> > in-
> > fno-PIE (Linux also adds -mabi and -march to AFLAGS):
> >=20
> > 1. Linux build command of head.S: riscv64-linux-gnu-gcc -Wp,-
> > MD,arch/riscv/kernel/.head.o.d -nostdinc -isystem /usr/lib/gcc-
> > cross/riscv64-linux-gnu/9/include -I./arch/riscv/include -
> > I./arch/riscv/include/generated -I./include -
> > I./arch/riscv/include/uapi
> > -I./arch/riscv/include/generated/uapi -I./include/uapi -
> > I./include/generated/uapi -include ./include/linux/kconfig.h -
> > D__KERNEL__ -D__ASSEMBLY__ -fno-PIE -mabi=3Dlp64 -march=3Drv64imafdc -c
> > -o
> > arch/riscv/kernel/head.o arch/riscv/kernel/head.S
> >=20
> > 2. Xen build command of head.S:riscv64-linux-gnu-gcc -MMD -MP -MF
> > arch/riscv/riscv64/.head.o.d -D__ASSEMBLY__ -Wa,--noexecstack -
> > DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -
> > Wdeclaration-
> > after-statement -Wno-unused-but-set-variable -Wno-unused-local-
> > typedefs
> > -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -
> > Werror
> > -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include
> > ./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=3Dlp64 -
> > I./include -I./arch/riscv/include -march=3Drv64gc -mstrict-align -
> > mcmodel=3Dmedany - -c arch/riscv/riscv64/head.S -o
> > arch/riscv/riscv64/head.o
>=20
> Looking into why you see different code generated than I: Nothing in
> here directs gcc to pass -fpic to gas; in upstream gcc (consistent
> from gcc7 through gcc12, which are the versions I've checked; the
> actual range may be wider) there is
>=20
> #define ASM_SPEC "\
> %(subtarget_asm_debugging_spec) \
> %{" FPIE_OR_FPIC_SPEC ":-fpic} \
> ...
>=20
> Can you check whether your gcc passes -fpic to gas even when there's
> no -fPIC / -fPIE (or alike) on the gcc command line?
I am not sure that I know how to check specifically if -fpic flag
passes to gas.
Could you please tell me?

>  Or whether your
> gas (unlike upstream's) defaults to PIC mode? (For .S files ASM_SPEC
> is all that counts. For .c files gcc is redundantly passing -fpic
> along with also emitting ".option pic" or, in the opposite case, it
> is omitting -fpic along with emitting ".option nopic".)
it looks like it should be by default -fpic because if look at gcc spec
file for the RISC-V architecture:

[user@49295ae49cbe build]$ riscv64-linux-gnu-gcc -dumpspecs | grep -i
pic
--traditional-format %(subtarget_asm_debugging_spec) %{fno-pie|fno-
PIE|fno-pic|fno-PIC:;:-fpic} %{march=3D*} %{mabi=3D*} %{mno-relax} %{mbig-
endian} %{mlittle-endian} %(subtarget_asm_spec)%{misa-spec=3D*}

which means that -fpic is enabled if none of the following options are
present on the command line:
    -fno-pie
    -fno-PIE
    -fno-pic
    -fno-PIC

>=20
> You gcc may have been configured with --enable-default-pie, while I
> know mine hasn't been (simply because that's the default).
You are right my gcc is configured with --enable-default-pie:

[user@49295ae49cbe build]$ riscv64-linux-gnu-gcc -v=20
Using built-in specs.
COLLECT_GCC=3Driscv64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=3D/usr/lib/gcc/riscv64-linux-gnu/12.2.0/lto-wrapper
Target: riscv64-linux-gnu
Configured with: /build/riscv64-linux-gnu-gcc/src/gcc-12.2.0/configure
--prefix=3D/usr --program-prefix=3Driscv64-linux-gnu- --with-local-
prefix=3D/usr/riscv64-linux-gnu --with-sysroot=3D/usr/riscv64-linux-gnu --
with-build-sysroot=3D/usr/riscv64-linux-gnu --libdir=3D/usr/lib --
libexecdir=3D/usr/lib --target=3Driscv64-linux-gnu --host=3Dx86_64-pc-linux=
-
gnu --build=3Dx86_64-pc-linux-gnu --with-system-zlib --with-isl --with-
linker-hash-style=3Dgnu --disable-nls --disable-libunwind-exceptions --
disable-libstdcxx-pch --disable-libssp --disable-multilib --disable-
werror --enable-languages=3Dc,c++ --enable-shared --enable-threads=3Dposix
--enable-__cxa_atexit --enable-clocale=3Dgnu --enable-gnu-unique-object -
-enable-linker-build-id --enable-lto --enable-plugin --enable-install-
libiberty --enable-gnu-indirect-function --enable-default-pie --enable-
checking=3Drelease
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.2.0 (GCC)

So should we pass to CFLAGS and AFLAGS at least for RISC-V -fno-PIE?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 18:25:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 18:25:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510172.787432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcVon-00081n-FF; Wed, 15 Mar 2023 18:25:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510172.787432; Wed, 15 Mar 2023 18: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 1pcVon-00081g-CJ; Wed, 15 Mar 2023 18:25:45 +0000
Received: by outflank-mailman (input) for mailman id 510172;
 Wed, 15 Mar 2023 18: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=Ux93=7H=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcVom-00081K-Dv
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 18:25:44 +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 cba8e139-c35e-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 19:25:43 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id x13so31746399edd.1
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 11:25:43 -0700 (PDT)
Received: from [192.168.8.114] (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 zk6-20020a17090733c600b00927e0fb3e50sm2847209ejb.100.2023.03.15.11.25.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Mar 2023 11:25: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: cba8e139-c35e-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678904742;
        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=EsfNJzGXFo+wfWbp9Tuz/H0Bn24OppdY5vSVwfN72E4=;
        b=E/vZ25uC+ptFzWNFBxsDe7QqCROMthI/kn3jMx7wH+Qqi/8y2bgQqA4X9EhDAtkNnF
         +dlEuRGvp/rbBfIIVCu/6c50pQBJ87mUDB2svzQHSWxyfQU4nSKSnIv1CaqMljGGMENh
         KrCnAxQW0INV/z/iGTnVsIgpMEyrQ0r5jqW4gKT2mF4QECIhhzPTn4T579pZmZupWQke
         JOXeurtaqEWLX6+vPPX+ZwkVLQ2c595J+7KdpFTbSJmegupnGfmhHfx/0uCl4vOqLQq9
         V+19AKlSrrA4aNgQwjOpFLFNryDYKafeBF6qMIIXt+JEeJ0fo/MOGErK3qgeAQnO60Xh
         vrCw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678904742;
        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=EsfNJzGXFo+wfWbp9Tuz/H0Bn24OppdY5vSVwfN72E4=;
        b=a8XHQeENdTgphl+c8i7xZ/JUXt3dVSdwOR4OaQUaGLq4Ie1oee1bgybjgJA+4lr2yU
         1ln6PoqN9I84LG/nv5On6ikcSIueMRIZTHYVArcjlzMSZ15stecq3sUuXcLmGZygax04
         fWV9kiQm4FdYTq2BjFc2uzIfH9ZAfloLkKhujkAHgDKwhaBu+/C7TosHKIMt92FDehBk
         L/N71Mm8VaSzjzVdVXfH3DDtlvOPBI5v6FnQYkfzg8SXHY9b0b1EUtUnAthwqsZHIQ0y
         sCp20sT1QDoxaA0wWWgYgCNUqRYqZbLzNWc4NY/dhwn9uf7AcGZChRWusgzvYQd8+rCr
         nDBQ==
X-Gm-Message-State: AO0yUKV0gqsU/R+IDcPvFNq/oNkJOLuS2jx/IIavQ5owrF15rrZSMErY
	Pf6EUh/hyjIInJTJhtGxov8=
X-Google-Smtp-Source: AK7set8GP727gEUbidUkB7iEgmVpmAp8iIhnMb4RbCWEPhVkqYYPSu0Jt2GF5D0Kenbu1PkF0aOHyQ==
X-Received: by 2002:a17:906:743:b0:92b:4f8e:dddb with SMTP id z3-20020a170906074300b0092b4f8edddbmr8981648ejb.34.1678904742485;
        Wed, 15 Mar 2023 11:25:42 -0700 (PDT)
Message-ID: <2a7fbb0495833ad686f260091024966f8b003dcb.camel@gmail.com>
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
 <gianluca@rivosinc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Alistair
 Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Date: Wed, 15 Mar 2023 20:25:40 +0200
In-Reply-To: <4a8d7292-38b3-1c32-4037-1c94b94b6f46@suse.com>
References: 
	<ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
	 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
	 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
	 <4a8d7292-38b3-1c32-4037-1c94b94b6f46@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-15 at 08:35 +0100, Jan Beulich wrote:
> On 14.03.2023 21:16, Oleksii wrote:
> > On Tue, 2023-03-14 at 17:09 +0000, Andrew Cooper wrote:
> > > On 14/03/2023 4:00 pm, Oleksii Kurochko wrote:
> > > > The patch is needed to keep all addresses PC-relative.
> > > >=20
> > > > Pseudoinstruction 'la' can be transformed to 'auipc/addi' or
> > > > 'auipc/l{w|d}'. It depends on the .option directive: nopic and
> > > > pic.
> > > >=20
> > > > Right now, 'la' transforms to 'auipc/l{w|d}', which in case of
> > > > cpu0_boot_stack[] will lead to the usage of
> > > > _GLOBAL_OFFSET_TABLE_
> > > > where all addresses will be without counting that it might
> > > > happen
> > > > that linker address !=3D load address.
> > > >=20
> > > > To be sure that SP is loaded always PC-relative address
> > > > 'la' should be changed to 'lla', which always transforms to
> > > > 'auipc/addi'.
> > > >=20
> > > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > > > ---
> > > > =C2=A0xen/arch/riscv/riscv64/head.S | 2 +-
> > > > =C2=A01 file changed, 1 insertion(+), 1 deletion(-)
> > > >=20
> > > > diff --git a/xen/arch/riscv/riscv64/head.S
> > > > b/xen/arch/riscv/riscv64/head.S
> > > > index 8887f0cbd4..e12d2a7cf3 100644
> > > > --- a/xen/arch/riscv/riscv64/head.S
> > > > +++ b/xen/arch/riscv/riscv64/head.S
> > > > @@ -27,7 +27,7 @@ ENTRY(start)
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=
=A0=C2=A0 t3, t3, __SIZEOF_POINTER__
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bltu=C2=A0=C2=A0=
=C2=A0 t3, t4, .L_clear_bss
> > > > =C2=A0
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 sp, cpu0_boot_stack
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lla=C2=A0=C2=A0=C2=A0=
=C2=A0 sp, cpu0_boot_stack
> > >=20
> > > I don't think this is the appropriate way forward.=C2=A0 It's very
> > > much
> > > smells like duct tape hiding the real bug.
> > >=20
> > As an option, I thought to add in head.S '.option nopic' directive
> > to
> > make la translated to auipc/addi [1] pair.
> > As an alternative option, adds to AFLAGS +=3D -fno-PIC... but
> > still...
> >=20
> > I checked in Linux binary how 'la' instruction is transformed, and
> > it
> > looks like it is translated as I expect to auipc/addi pair:
> > ffffffe000001066: 00027517 auipc a0,0x27
> > ffffffe00000106a: f9a50513 addi a0,a0,-102 # ffffffe000028000
> > <early_pg_dir>
> >=20
> > I checked compiler flags between Xen and Linux. The difference is
> > in-
> > fno-PIE (Linux also adds -mabi and -march to AFLAGS):
> >=20
> > 1. Linux build command of head.S: riscv64-linux-gnu-gcc -Wp,-
> > MD,arch/riscv/kernel/.head.o.d -nostdinc -isystem /usr/lib/gcc-
> > cross/riscv64-linux-gnu/9/include -I./arch/riscv/include -
> > I./arch/riscv/include/generated -I./include -
> > I./arch/riscv/include/uapi
> > -I./arch/riscv/include/generated/uapi -I./include/uapi -
> > I./include/generated/uapi -include ./include/linux/kconfig.h -
> > D__KERNEL__ -D__ASSEMBLY__ -fno-PIE -mabi=3Dlp64 -march=3Drv64imafdc -c
> > -o
> > arch/riscv/kernel/head.o arch/riscv/kernel/head.S
> >=20
> > 2. Xen build command of head.S:riscv64-linux-gnu-gcc -MMD -MP -MF
> > arch/riscv/riscv64/.head.o.d -D__ASSEMBLY__ -Wa,--noexecstack -
> > DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -
> > Wdeclaration-
> > after-statement -Wno-unused-but-set-variable -Wno-unused-local-
> > typedefs
> > -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -
> > Werror
> > -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include
> > ./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=3Dlp64 -
> > I./include -I./arch/riscv/include -march=3Drv64gc -mstrict-align -
> > mcmodel=3Dmedany - -c arch/riscv/riscv64/head.S -o
> > arch/riscv/riscv64/head.o
> >=20
> > So can we update AFLAGS in xen/arch/riscv/arch.mk with -fno-PIE or
> > will
> > it still be an incorrect fix?
>=20
> Leaving aside the question of why you and I see different code being
> generated, isn't it simply a matter of RISC-V, unlike Arm and x86,
> not presently consuming EMBEDDED_EXTRA_CFLAGS in its arch.mk?
Why don't we should see different code?

Do you use CONTAINER=3Driscv64 to build RISC-V Xen?
If yes, probably, we see different code because you have more up-to-
date CONTAINER. I am using CONTAINER_NO_PULL=3D1 for a long time so it
might happen that we have different gcc version.


~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 18:33:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 18:33:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510177.787444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcVw5-0001Lb-CR; Wed, 15 Mar 2023 18:33:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510177.787444; Wed, 15 Mar 2023 18:33: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 1pcVw5-0001LU-9j; Wed, 15 Mar 2023 18:33:17 +0000
Received: by outflank-mailman (input) for mailman id 510177;
 Wed, 15 Mar 2023 18:33: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=Ux93=7H=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcVw4-0001LO-F6
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 18:33:16 +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 d8a225b8-c35f-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 19:33:14 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id eg48so19933718edb.13
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 11:33:14 -0700 (PDT)
Received: from [192.168.8.114] (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 ja19-20020a170907989300b008cf8c6f5c43sm2832659ejc.83.2023.03.15.11.33.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Mar 2023 11:33: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: d8a225b8-c35f-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678905194;
        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=zfxFJ6dZWvXaXmRqKhnE6CK1wnsP+2gVVJCnEq3zeq0=;
        b=phnGZaqw0cmvTdktl11lqCpPQCK1HhYgZyZaaWNp9eFpTVQGdDJ8vV+xC8aZN7vrUo
         sZz02wzgOcA3zA7QiSb+RbYofbl5oRWtPcFixlcKTRiAqIw+z3iXscKqpq/SGVUFyOBM
         TRYEtZbJ7Pr8/gQEEwhOAgzfvCiKj7g/TYRB0HDhgRhN6GQKtKLYUuEl7PjzyOrl04KD
         /LOl1PH4GtxfQ7VCq6hwvlfwc4CGcQ1VbfW3YTjtHapVfMX2itqld20UZVw1Ie9KThEt
         Ir8f2X8U0FEeKb6Cp4J99ScecvY+oHtXAdCqVwQXjFX2uMHFa/Hu/RR50Nhp4vcd+yY2
         rcNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678905194;
        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=zfxFJ6dZWvXaXmRqKhnE6CK1wnsP+2gVVJCnEq3zeq0=;
        b=bNsZGEYXJ/ljZUTmcOYr3DyLzI3qFau9wLKFQ31eyLlnV9uYcPh1DfqwjLhRSfhtlc
         FI5jlBoJH41S/L/jIKFlDJ0aVb6GRRDv5FnLiFraUkUVje5ChKUYiFwxidHKW1iH2HEJ
         JkRnVzB8afTM+um44ZU7zlA2zWzvFzxyGsj1KrYTsG0QBCsog9hpF3UbD7f4n7NqHpHB
         4lPppKyRmSzvk6VYabUQSxtPX/oCd1CEkbvbyWxLMr5HWp6bt1kpELIBNDPI4fkROuzO
         XuaMqZfAvu9kYuapDS31vjwcjjCLrHK+LutTtaH3/OHNBaNtxRLQEpVY+6moNofZ66aS
         bmXQ==
X-Gm-Message-State: AO0yUKXNVB6xBJCptdPYpCKpW6Fr9xGiIAuLo2RZQgXZFCi5zGsFUwJf
	pSY87y0h32PASSqzWvFQxu4=
X-Google-Smtp-Source: AK7set/bfnSrJhBwV0Gn10XKGbJC+hGL6zNgSIJjx5PjI+PKUdDQkMVGCl5Q3oDzwJo8yDth1oJ0lw==
X-Received: by 2002:a17:906:2e89:b0:91e:7063:f558 with SMTP id o9-20020a1709062e8900b0091e7063f558mr7315282eji.37.1678905193769;
        Wed, 15 Mar 2023 11:33:13 -0700 (PDT)
Message-ID: <009b20a71738e8a33fe4044be10a456c4fd37b68.camel@gmail.com>
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
 <gianluca@rivosinc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Alistair
 Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Date: Wed, 15 Mar 2023 20:33:11 +0200
In-Reply-To: <4a8d7292-38b3-1c32-4037-1c94b94b6f46@suse.com>
References: 
	<ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
	 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
	 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
	 <4a8d7292-38b3-1c32-4037-1c94b94b6f46@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-15 at 08:35 +0100, Jan Beulich wrote:
> On 14.03.2023 21:16, Oleksii wrote:
> > On Tue, 2023-03-14 at 17:09 +0000, Andrew Cooper wrote:
> > > On 14/03/2023 4:00 pm, Oleksii Kurochko wrote:
> > > > The patch is needed to keep all addresses PC-relative.
> > > >=20
> > > > Pseudoinstruction 'la' can be transformed to 'auipc/addi' or
> > > > 'auipc/l{w|d}'. It depends on the .option directive: nopic and
> > > > pic.
> > > >=20
> > > > Right now, 'la' transforms to 'auipc/l{w|d}', which in case of
> > > > cpu0_boot_stack[] will lead to the usage of
> > > > _GLOBAL_OFFSET_TABLE_
> > > > where all addresses will be without counting that it might
> > > > happen
> > > > that linker address !=3D load address.
> > > >=20
> > > > To be sure that SP is loaded always PC-relative address
> > > > 'la' should be changed to 'lla', which always transforms to
> > > > 'auipc/addi'.
> > > >=20
> > > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > > > ---
> > > > =C2=A0xen/arch/riscv/riscv64/head.S | 2 +-
> > > > =C2=A01 file changed, 1 insertion(+), 1 deletion(-)
> > > >=20
> > > > diff --git a/xen/arch/riscv/riscv64/head.S
> > > > b/xen/arch/riscv/riscv64/head.S
> > > > index 8887f0cbd4..e12d2a7cf3 100644
> > > > --- a/xen/arch/riscv/riscv64/head.S
> > > > +++ b/xen/arch/riscv/riscv64/head.S
> > > > @@ -27,7 +27,7 @@ ENTRY(start)
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=
=A0=C2=A0 t3, t3, __SIZEOF_POINTER__
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bltu=C2=A0=C2=A0=
=C2=A0 t3, t4, .L_clear_bss
> > > > =C2=A0
> > > > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 sp, cpu0_boot_stack
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lla=C2=A0=C2=A0=C2=A0=
=C2=A0 sp, cpu0_boot_stack
> > >=20
> > > I don't think this is the appropriate way forward.=C2=A0 It's very
> > > much
> > > smells like duct tape hiding the real bug.
> > >=20
> > As an option, I thought to add in head.S '.option nopic' directive
> > to
> > make la translated to auipc/addi [1] pair.
> > As an alternative option, adds to AFLAGS +=3D -fno-PIC... but
> > still...
> >=20
> > I checked in Linux binary how 'la' instruction is transformed, and
> > it
> > looks like it is translated as I expect to auipc/addi pair:
> > ffffffe000001066: 00027517 auipc a0,0x27
> > ffffffe00000106a: f9a50513 addi a0,a0,-102 # ffffffe000028000
> > <early_pg_dir>
> >=20
> > I checked compiler flags between Xen and Linux. The difference is
> > in-
> > fno-PIE (Linux also adds -mabi and -march to AFLAGS):
> >=20
> > 1. Linux build command of head.S: riscv64-linux-gnu-gcc -Wp,-
> > MD,arch/riscv/kernel/.head.o.d -nostdinc -isystem /usr/lib/gcc-
> > cross/riscv64-linux-gnu/9/include -I./arch/riscv/include -
> > I./arch/riscv/include/generated -I./include -
> > I./arch/riscv/include/uapi
> > -I./arch/riscv/include/generated/uapi -I./include/uapi -
> > I./include/generated/uapi -include ./include/linux/kconfig.h -
> > D__KERNEL__ -D__ASSEMBLY__ -fno-PIE -mabi=3Dlp64 -march=3Drv64imafdc -c
> > -o
> > arch/riscv/kernel/head.o arch/riscv/kernel/head.S
> >=20
> > 2. Xen build command of head.S:riscv64-linux-gnu-gcc -MMD -MP -MF
> > arch/riscv/riscv64/.head.o.d -D__ASSEMBLY__ -Wa,--noexecstack -
> > DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -
> > Wdeclaration-
> > after-statement -Wno-unused-but-set-variable -Wno-unused-local-
> > typedefs
> > -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -
> > Werror
> > -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include
> > ./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=3Dlp64 -
> > I./include -I./arch/riscv/include -march=3Drv64gc -mstrict-align -
> > mcmodel=3Dmedany - -c arch/riscv/riscv64/head.S -o
> > arch/riscv/riscv64/head.o
> >=20
> > So can we update AFLAGS in xen/arch/riscv/arch.mk with -fno-PIE or
> > will
> > it still be an incorrect fix?
>=20
> Leaving aside the question of why you and I see different code being
> generated, isn't it simply a matter of RISC-V, unlike Arm and x86,
> not presently consuming EMBEDDED_EXTRA_CFLAGS in its arch.mk?
No, it doesn't.

Could we consider cosuming EMBEDDED_EXTRA_CFALGS as a solution?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 18:41:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 18:41:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510179.787455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcW3t-00032Y-4u; Wed, 15 Mar 2023 18:41:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510179.787455; Wed, 15 Mar 2023 18: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 1pcW3t-00032R-26; Wed, 15 Mar 2023 18:41:21 +0000
Received: by outflank-mailman (input) for mailman id 510179;
 Wed, 15 Mar 2023 18:41:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DN/u=7H=citrix.com=prvs=431ad58dd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pcW3r-00032L-JH
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 18:41:19 +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 f66218b9-c360-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 19:41:15 +0100 (CET)
Received: from mail-bn8nam04lp2044.outbound.protection.outlook.com (HELO
 NAM04-BN8-obe.outbound.protection.outlook.com) ([104.47.74.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 14:41:07 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BL1PR03MB6070.namprd03.prod.outlook.com (2603:10b6:208:312::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Wed, 15 Mar
 2023 18:41:04 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.029; Wed, 15 Mar 2023
 18:41:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f66218b9-c360-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678905675;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=00Rg361BpeiXLQpXPiAiJlP7aID/29YHtKEL+ydg9Tc=;
  b=NLYbycpACAlx+VHg0/BMZO5Lc4ixSd7F/NmkWtFTbdedQtjQcIN9R5j4
   WYMVrwKXfRClIxfefpDF2PASEb75Imk7i/OPIeVdmHhvj9T0+110uKvlb
   wdfnhUwSsKpMk3wSQEoyAps71ZSs/KNepqyDniNQpLXOVZj1PUFBBAad3
   c=;
X-IronPort-RemoteIP: 104.47.74.44
X-IronPort-MID: 100372384
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:cZNPrKsrjZUpzJNmYWvmpPYIsOfnVJxfMUV32f8akzHdYApBsoF/q
 tZmKTjQbP6MY2b3KdAnad7l/U4HvsXWnIVhTwY9pX83FiND+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASHyiFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwNRRVMB7cqsKK7ejmUspymPUFM9LyM9ZK0p1g5Wmx4fcOZ7nmG/mPz/kImTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0oujP6xbLI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6TeXgraEw2w3ProAVIBMpC3qCm6aasUOzevB0L
 koJ+RgTqLdnoSRHSfG4BXVUukWsvBQRRt5RGO0S8xyWx+zf5APxLmoZSj9MbvQ2uclwQiYlv
 neShM/gDzFrtLyTSFqe+62SoDf0PjIaRUcdYQcUQA1D5MPsyKkjgxSKQtt9HaqditzuBSq20
 z2MtDI5hbgYkYgMzarTwLzcqzelp5yMRAhl4AzSBj6h9lkhONLjYJG041/G6/oGNJyeUlSKo
 HkDnY6Z8fwKCpaO0ieKRY3hAY2U2hpMCxWE6XYHInXr327FF6KLFWyI3AxDGQ==
IronPort-HdrOrdr: A9a23:r3qLzal2nvD9e1vKMlLnkyJLhTbpDfIG3DAbv31ZSRFFG/Fw9v
 re58jzsCWe5Qr5N0tQ4OxoR5PwJk80maQY3WBzB8bbYOCZghrPEGgK1+KLqVPd8kvFl9K1vp
 0OT0ERMr3N5RkRt7ef3CCIV/Ep3dmZ/OSFgu3ZwnthJDsaCJ2IGD0JaHf/LnFL
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="100372384"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bgUxwsJQ1+6oK4UTh3gdzbiHr2MhkwclTb/x5Ys2eYvvqvg+lZMX5yjMl+36WYivUMZa5YZcCQnCl2Ii5y0MzF8f/JXC9zzhMjFFYKvEyaIijY4q+S566+hg0UOWyDinvoZZuhawnkbM7I5Jq0Gz00MLviz16WQDF/4EWR0pDBb1q9MwDWC55Jf+TAbrmI9xvhCdsIJShUw2dXDiO57nvG8trM63Wfa5660mz8s7JoIqjg7fXg9ZwH5ONqGUHrqaBM4GyuNWIfbGEGrYP4TgcoILmZHd6lC6zEiQQtzknwGPIgrKQFsgTUamCD/N3tLC5l9eTdUHyj1ioJS4YHnffw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tlixwiDJyXjY137k/WVjRo3z4/rUDmXUeHkqUU+U1f8=;
 b=WO41YRclB+AJQlU6FkeXj4fGjtTqJzsGD7yYrD9cwpFSa/K95+DRS5aQ2/ePM6UK4toWzx/tz2jG5f2NyF7pZozc6lSJBNIHeQ8StuDof+b5V7VrGvnyeUGTYnPoY/3qBjmpLT1iob5Q/emhG2Jvk3t7IZew4G2IgHwtnllu/7RVfAab2J95jBgGAor9VM3oCJQGqJ1EhBUBaLAE7Elis/DdHCvdsnMNa1+JAYZ6ELMSYlizv07lLcHc5fw18rf63+6CPVXWGSWoYot2IKbRIyWxmBFeVBZ84bv3MUfSJ/bhJ1uiGCochC0m7M0seOn42/aRwPNDZ6ra00QcaO6vGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tlixwiDJyXjY137k/WVjRo3z4/rUDmXUeHkqUU+U1f8=;
 b=haX76pP8LRQe0mo0OfJin7F5N+kLN8vEnHfyPOz3xCpak0KCAvyke2ahm9dcVkQeZQETaZ11CIFQwha7c747xuhgiH08AD0gvjOdKsUkkpM1jjbcsmBj6/B6G9djYy1zI/uiL5oF5L4RCkcYmOowLubp/LPMC1EDkaioeG4GIsM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <68302943-4d12-ff48-bc60-2c63781f67d9@citrix.com>
Date: Wed, 15 Mar 2023 18:40:57 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2] xen/grants: repurpose command line max options
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230314144553.8248-1-roger.pau@citrix.com>
 <7db90f7f-3344-75bf-120e-2113908adfb4@suse.com>
 <ZBCV4Y6Cz91eypUN@Air-de-Roger>
In-Reply-To: <ZBCV4Y6Cz91eypUN@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0487.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:13a::12) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BL1PR03MB6070:EE_
X-MS-Office365-Filtering-Correlation-Id: 36a9446b-af8a-4b4c-9d62-08db2584d4af
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3kvXcA/885xw7xtBDPwMZ1hWz0m1tuCIFZqgMFRshuVD6PFSIcE55YU00G6+locZKJvpyyet1u+hmvjmhPFo7yAKuEgBJykbusA/Z4MtRaAJJm1H86g6QtKXT19z1pO2vJkMZGYJXmzNeBBhoxF0QGKeKieA2F44ckxy6IVAsO8mQQBfFYFaFgbDZ/gDUU7Xhrl9YGK35J6qCk6iJtuoY4EI69D2GNBPEkyKXIRAHQ32fdfPwkK461rjZu0T4yyd2Kv5HyMeYYlfd1IaVZSUBMbciFlMyXf8+3VKdNSrh2oCCZec1ILLMuRTK+OEGcfcAN3oSNrqC8oiynucYyJYBw1VcduMYy3x3tvwG7qfV2hqtp02cG+ZdGskI22iC7feEWOWxwsZhTOyvdP1RbV5HZ0RW+8KkkMKmHViU8pwGFjdbXMcc2zgS71Cdc6gbQ/rLdB+bjJ+wYMohcczF3TlRAj1Cr/Bu0EEYQqp+UHhy6n5RFWSTLeLupAdeUyqDBsPoPosRPqsIyTxuhkFoVqhmoapAgBahpSCg5Bb9ug0MsJkKBGEkKQ2AmjkPDVdSvtF6cEeIj4IptHoQjlKIyrVu2sbyyCxOq1czBUWgSyQsKClPATOC+rKqRzVtdlkWm+4I8OFYSmfgE1ODYTICJW6F+8lcD1sMc6uY/YxdWReZqa+PzBgNVUl4MxaJO3ZJxKxKkvqrTv8mv5bsEs1KAIA/L68miPXc1sngAJ6ePt+wa8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(39860400002)(136003)(376002)(366004)(346002)(451199018)(6486002)(83380400001)(186003)(6666004)(26005)(478600001)(2616005)(31686004)(53546011)(316002)(66476007)(8676002)(66946007)(66556008)(54906003)(110136005)(6512007)(6506007)(4326008)(41300700001)(8936002)(5660300002)(38100700002)(2906002)(82960400001)(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?dDczY3Z0SlhONGZpU3U5MG13SGJMdEhLbjRYRlpsbTU1cTNzZkcwZUJjZ0Vj?=
 =?utf-8?B?VENiK09WNndYWU15aEYrZUFvTGVJTTRLc2lKQWZxUmRZMVQ5V0ZFUFBNejRh?=
 =?utf-8?B?Lzh1N3llK0wrRVlKRkVTK3VibFBmQ3RtUDdRdlVFd0RTMjgzUEhOU3NLUzJU?=
 =?utf-8?B?bkZ3MW5jbTdCOG5qQlNVamxxbVZPMjhUV09lb0ZSa3ROdDhUSFZFSlFnZFdD?=
 =?utf-8?B?VmJmYW5QSDNYWXJFWEJUMmdPamxWQ05HZlZwb1BkS3dYVHo1T1N4aWtlelUr?=
 =?utf-8?B?WktBMnNpV3RaRWJkQzlvVUtlTFpGTnZPWGRXWGMvZVZkdDZKM05hVmxYNnVs?=
 =?utf-8?B?UmIxUlpPaENUTVpPOHhUbkFySXdkU2J6NXgvR0NFS1ArSVJIR3FUMFhwT2N0?=
 =?utf-8?B?T1ozaDFFL25nekwwbkdLaUlNbENlME5ONURQUk5YWWswSWlHYzRFNXVkQlQ4?=
 =?utf-8?B?VTBDanh3Z0k2QVVBb2pVUCs0MDB3TzVyVHdzSjRSSXVXM254Y1dlb1lxUEcy?=
 =?utf-8?B?cDFEL2cvKzFCenpFZ2VHU3RKdkFvYjRTeU16alE3YnZZS3lCRll5MG04dC9K?=
 =?utf-8?B?NG5nMUp4SnZadUZ0OEd1azFHWE1UMUxyVDZ0MWM2SHNpWWNxSEplYllvK1BD?=
 =?utf-8?B?K1dwQlFiNmIwazYzL0thaFZ4dEVyTXRqWEFSbC80L1NSTkdONng0dXl4Q0Nq?=
 =?utf-8?B?VzcxNWkzTmV2VEM2NWFmR05HQ2dRdVUyeEE3amFzR3NyTEZ6Rzh4eHBnR25N?=
 =?utf-8?B?TThkcytRaEMwZk1kNW5QRUdoWlYvSFJtbmNZR0ZleXhuMFdENVRRVURuc0JG?=
 =?utf-8?B?UCtnNU43UXVtTUNEeHZNRlJZRUxWSy81SVI0bm5IQ1FTK1hZR3dPbWJ2MVBX?=
 =?utf-8?B?UHlMSmc0V2pTcGt4TEJEZE5WL3BZWndnNEprWjRkUUI4dTdaYVUvUTJweSsx?=
 =?utf-8?B?aVFRaWd2N1FEYy9MWGM2V1pDcVlEMCt1TjVtWEw3bzZSZnhqUkdyNlpZeVgy?=
 =?utf-8?B?cFZBMWhFMHNLVlp4T3RreUlZY1pQcHprUGJSckFYS2RMZXB4dmMwUHBwRDVC?=
 =?utf-8?B?aUYwU2hKZkZ0b3lTdkZxOGNLQ3ZtRThiNFZqMzJIRjlkalc3T3J2NVRqVGtN?=
 =?utf-8?B?c1Y4L1owTHRIUTBJeUlCcHRna1pCbFBzQWsvcWozWnkwS0hCOGwwaGZFYWJH?=
 =?utf-8?B?eVBpZzY2dUEwUHJubnd1ZC9UZ0lrU29aV2h0WC9uL1FCSnRYbUsvTlFtTkR3?=
 =?utf-8?B?MmlSSkJuazZMZXZKSnNQRDJFQlJqbzhHVkFCdlFuTTN1YnJRMWlDWFdRZmNO?=
 =?utf-8?B?R2JHeEF1SWJzQTI2ZlJVZEIyOStZSEY3eDRGSWJaWTdERkVYdnF5K3dBbW12?=
 =?utf-8?B?YXp3a2FJd2ZSbkFBNkRPc1FxK1J1MTBsOE5mN3JWdGlkTzVhRE5iVWFjaWd6?=
 =?utf-8?B?a3U4cTlCWks4c3J2Y2pKQ2dvOUI5VXg4Z0JLL3RjV0hGZnFuNm96bnpTaW5J?=
 =?utf-8?B?ZXNGWU00TnZkNXdMcCtXMkpyY3NveEhReWJ2Mzh2TU42SUFEL2lXUFdXcUVw?=
 =?utf-8?B?d3hjNllCQWpseldLcmE4ckwzQnpRaUpqMTBsdDNyakVMNDd4QzIwSDFMWFBN?=
 =?utf-8?B?YlBQWXk0RkdsdnFQRzkvYWh1OUl0K2toSU9uNy8waXNKOHVzUEpwL1JZbUNR?=
 =?utf-8?B?QWx6VENsZkFwTEMrcDJIb2dxZmtXZ0FMbm5nZVQwNVRURGJQdEpLQmdWSWMy?=
 =?utf-8?B?bTY4N1BqNTNGalJ1VmxtSzE0RGFjWklmeDFFcFlFYXBQRklBMXM2RUxZVHll?=
 =?utf-8?B?bCtNL2ExaHRyNEYzczdPdlV0NlN6MW12TkZObUIzWEJGbThSRC9DRWY0ZzRF?=
 =?utf-8?B?ejJQMFlyMGwwNUZnVFM5MEFjMXdvNGc2NW5iSEJVZlp2cVl1Wk9SUDBKL2NF?=
 =?utf-8?B?Y2RGc3hKNVloTU0wVm80aG5ITW94b2hUVG1XczlNbi9MMnFBZ1NzODYwaTMy?=
 =?utf-8?B?L0o3eEFCdGppNFNWemtNQklwK2xQbVpTRjJrVW9aNmx5QzdTZVFOQ0RBUmpY?=
 =?utf-8?B?MVRNMmZqRjk1MlMydy94RWJSYlU4RjcxZms3SHFvZnU0K3JBYzZUbTZCcHg0?=
 =?utf-8?B?a3ZDRCt2U056d0IxTzZ0ZGhWZTlRZXdOeXpEaU1teG5nbEdwTjA3R0plQ3hH?=
 =?utf-8?B?Rnc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	IBc/+cHdwsHVZSJSrDpy56f8svsXV0pdn7ZcH/a9mKJfk0SY8LCtYouQca1e6DDBowGj91so1pIDnItvXDnhvOAAl1ZYct9f2yyWZPlu0W28cWY8JYHLbrZ8lvvYMpHWV9verLd0JEdH7/A+nnRkSshP0DmzZ02STvJv9pE3H7OdHbyG8fe1bOLrIm1+H+28qk8+75cOpYO3By84OEJ7lCr11Y1pQlXTZW+iW5LcXOiiOtTAhpWnR8gUxtBI4ghfATH/Q8C0oSmSTX7+bJgXLBH4mEh0aqQPTlMsbNFGJ7dQ2NLPal3/Fv5yn/Al5J4YHyA3kmELxu3jEl+T3TA6gvrm9vIkbdHGT7/P+ggsVOApqE8G4/ntnVni6Lsm830A6j1yCY8k41zmMfHDP/hsgnOOga9mRVfkgbGirx145p3+ICIZs5OMzs+6z9MoLRms2rpe6kADPrJreWSehfU6Th0AcnRNWWiRXjD33Dw4PoSsBhtcb7vUw/PrJ2chqvxSCdQeDHCoDl58rLwPLO92ChRKy+XRVrEP+ctt+kNzMmjchzCxeVVh858LQJDsb2ydjp1DP9yjJWhuwkdXWGXO0kY0f6WF9miMCqqrQLQhmFEGMc4xYLk3vfZf5uXczqvMbL71qpgtPh7WLjAnNTuDCT+9uDuTyu0DMOFOdqpx8llXK1MDcqXVTqKJQKhQmYe12wh9qg0wLyKGunpvvfYzCcT9hRzNQmbjb7HA6kRyzC0JZDR2F68t8U2ghrqS/CbAzUxvmO4wm4Mr8KawD4Tbx6ztzg1gwRi1/L7TeUNsWpZhyQoVSNBuHED5+hTfWShuLWCioWyyBVECa2w+WqVHNEvlWl0hSXboYlPxbojXjAE=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 36a9446b-af8a-4b4c-9d62-08db2584d4af
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 18:41:04.0840
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: stAk0oJp7ITPvi4PC4KooZfLEmKRJ5gdCXQLU7IC4fbkFMwCRjhNhVzR9lMbd0GgZByaexNPMSA7akuxOcm4uKwvw8lJrzEDNK+1FPh/0sk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6070

On 14/03/2023 3:42 pm, Roger Pau Monné wrote:
> On Tue, Mar 14, 2023 at 03:59:22PM +0100, Jan Beulich wrote:
>> On 14.03.2023 15:45, Roger Pau Monne wrote:
>>> Slightly change the meaning of the command line
>>> gnttab_max_{maptrack_,}frames: do not use them as upper bounds for the
>>> passed values at domain creation, instead just use them as defaults
>>> in the absence of any provided value.
>>>
>>> It's not very useful for the options to be used both as defaults and
>>> as capping values for domain creation inputs.  The defaults passed on
>>> the command line are used by dom0 which has a very different grant
>>> requirements than a regular domU.  dom0 usually needs a bigger
>>> maptrack array, while domU usually require a bigger number of grant
>>> frames.
>>>
>>> The relaxation in the logic for the maximum size of the grant and
>>> maptrack table sizes doesn't change the fact that domain creation
>>> hypercall can cause resource exhausting, so disaggregated setups
>>> should take it into account.
>>>
>>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> albeit perhaps with yet one more wording change (which I'd be happy to
>> make while committing, provided you agree):
>>
>>> --- a/docs/misc/xen-command-line.pandoc
>>> +++ b/docs/misc/xen-command-line.pandoc
>>> @@ -1232,11 +1232,11 @@ The usage of gnttab v2 is not security supported on ARM platforms.
>>>  
>>>  > Can be modified at runtime
>>>  
>>> -Specify the maximum number of frames which any domain may use as part
>>> -of its grant table. This value is an upper boundary of the per-domain
>>> -value settable via Xen tools.
>>> +Specify the default upper bound on the number of frames which any domain may
>>> +use as part of its grant table unless a different value is specified at domain
>>> +creation.
>>>  
>>> -Dom0 is using this value for sizing its grant table.
>>> +Note this value is the effective upper bound for dom0.
>> DomU-s created during Xen boot are equally taking this as their effective
>> value, aiui. So I'd be inclined to amend this: "... for dom0, and for
>> any domU created in the course of Xen booting".
> Not really for domUs, as there's a way to pass a different value for
> both options in the dt, see create_domUs().

Correct.  On the ARM side, this is configurable in the for all dom0less
VMs in the device tree.

I've committed the patch as is, seeing as it's fixing a real bug we
currently have.


But, I'd like to point out that there are still some issues which want
fixing.

The /* Apply defaults if no value was specified */ section is pointless
complication.  All callers pass a real number of frames, except for the
dom0 construction paths which pass in -1.

The logic gets smaller and easier to follow if each of the dom0's
dom_cfg's default to the appropriate opt_* value.  Userspace which
really asks for -1 gets a large domain that actually honours the
uint32_t ABI presented.

With that, the writeable hypfs nodes become useless, and can be dropped,
and the opt_* variables become __initdata.


Next, we need to do something about the fact that the number of maptrack
frames has no relationship to the number of entries.  I don't know what,
but the status quo needs changing.

Next we need to confirm that running guests with no maptrack is safe and
security supportable option.  XSM_SILO + 0 maptrack blocks most of the
grant related XSAs we've had.

And in some copious free time, we still need to get to a point where we
can construct a VM without a grant table at all (but this still looks
like a lot of work).

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 18:51:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 18:51:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510181.787465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcWE1-0004kN-3l; Wed, 15 Mar 2023 18:51:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510181.787465; Wed, 15 Mar 2023 18: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 1pcWE1-0004kG-18; Wed, 15 Mar 2023 18:51:49 +0000
Received: by outflank-mailman (input) for mailman id 510181;
 Wed, 15 Mar 2023 18:51:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=DN/u=7H=citrix.com=prvs=431ad58dd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pcWDz-0004kA-3L
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 18:51:47 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6d0d77ee-c362-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 19: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: 6d0d77ee-c362-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678906304;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=MgtwZSSEuFo5S2LwKAm5oTAQpnpB+zwGo/RrTXBCARE=;
  b=NeS4vkhAE6XeX8i8nUx5BOMIx7e7Exj2icKABFSsP+g7lTN2OyrGMDnn
   DchGgxbzsHB7XLlPCUEJrknEb4QYiMwIhXHwMATIpWRFvnIETAe3Tfr3O
   fsLCFzxkLCvb0ET2juvvZ9BR+ghvj0Jt4kV/+Hfu9hHLmDzfeejTGsfl4
   A=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 99809356
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:FF28qq64b1ww2hM4CFrUtAxRtArHchMFZxGqfqrLsTDasY5as4F+v
 mEWXWHVaayONzP9KIogaITnoUwHvcXRztE1QQE/pX82Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS4QeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m+
 aYRAS89Sw64uLiVg4yWSs1jqsAzI5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrlD5fydVtxS+oq0v7nKI5AdwzKLsIJzefdniqcB9zxfI/
 jOdojqR7hcyOe278Bik6ECXlPL1hhvEfcU3D7C236s/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c9NUEvYm4QCXjKTO6gCSB3MsUTJKLtchsaceTzsg3
 E6EhNPtCDlmtpWaTHuc8vGfqjbaESMSK2kFZyMNUwoey9bmqYA3yBnIS75e/LWd14OvX2uqm
 nbT8XZ43u9I5SIW60ml1Vydihuzlr3XdTFvxUbpc2KB4S99dIHwMuRE9mPnxfpHKY+YSHyIs
 34Fh9WS4YgyMH2dqMCeaL5TRe/0vp5pJBWZ2AcyRMd5q1xB7lb5JehtDCdCyFCF2yruURvge
 wfttAxY//e/11P6PPYsM+pd5ynHpJUM9OgJtNiOMrKigbArLmdrGR2CgmbBt10BaGB2zckC1
 W6zKK5A90oyB6V91yaRTOwAy7ItzS1W7TqNGsCrlkX+iOLGOyT9pVI53LymP4gEAF6s+l2Jo
 76zyePTo/mgbAEOSnaOqtNCRbz7BXM6GYr3u6RqSwJ3GSI/QDtJI6aIkdscl3lNw/w9ehHgo
 ivsBSe1CTPX2RX6FOl9Qio5Meq1Dc0h9SpT0O5FFQ/A5kXPqL2HtM83H6bbt5F9nAC/5ZaYl
 8U4Rvg=
IronPort-HdrOrdr: A9a23:0sIzwaCGH78GhSflHelc55DYdb4zR+YMi2TDt3oddfU1SL3+qy
 nKpp4mPHDP5wr5NEtPpTnEAtjifZq+z+8Q3WByB9eftWDd0QPFEGgh1/qB/9SJIUbDH4VmpM
 JdmsZFaeEZDTJB/LrHCAvTKade/DFQmprY+9s3zB1WPHBXg7kL1XYeNu4CeHcGPjWvA/ACZe
 Ohz/sCnRWMU1INYP+2A3EUNtKz2uEixPrdEGY77wdM0nj0sQ+V
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="99809356"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Bob Eshleman
	<bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH] xen/riscv: Fix build with GCC 10
Date: Wed, 15 Mar 2023 18:51:21 +0000
Message-ID: <20230315185121.665635-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

  riscv64-linux-gnu-gcc -MMD -MP -MF arch/riscv/.early_printk.o.d -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs   -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -Werror -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include ./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=lp64  -I./include -I./arch/riscv/include -march=rv64gc -mstrict-align -mcmodel=medany   -c arch/riscv/early_printk.c -o arch/riscv/early_printk.o
  arch/riscv/early_printk.c:18:2: error: #error "early_*() can be called from head.S with MMU-off"
     18 | #error "early_*() can be called from head.S with MMU-off"
        |  ^~~~~

  $ riscv64-linux-gnu-gcc --version
  riscv64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110

The binary is otherwise correct, so remove the incorrect check.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Bob Eshleman <bobbyeshleman@gmail.com>
CC: Alistair Francis <alistair.francis@wdc.com>
CC: Connor Davis <connojdavis@gmail.com>

I was honestly hoping to leave this to some poor sole in the future.

But the irony of this check, after all the argument it caused, breaking the
very case it was trying to enforce, speaks volumes.
---
 xen/arch/riscv/early_printk.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/xen/arch/riscv/early_printk.c b/xen/arch/riscv/early_printk.c
index dfe4ad77e25d..b66a11f1bc1a 100644
--- a/xen/arch/riscv/early_printk.c
+++ b/xen/arch/riscv/early_printk.c
@@ -7,17 +7,6 @@
 #include <asm/early_printk.h>
 #include <asm/sbi.h>
 
-/*
- * When the MMU is off during early boot, any C function called has to
- * use PC-relative rather than absolute address because the physical address
- * may not match the virtual address.
- *
- * To guarantee PC-relative address cmodel=medany should be used
- */
-#ifndef __riscv_cmodel_medany
-#error "early_*() can be called from head.S with MMU-off"
-#endif
-
 /*
  * TODO:
  *   sbi_console_putchar is already planned for deprecation
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 18:55:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 18:55:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510186.787475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcWHD-0005N8-LQ; Wed, 15 Mar 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 510186.787475; Wed, 15 Mar 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 1pcWHD-0005N1-Iq; Wed, 15 Mar 2023 18:55:07 +0000
Received: by outflank-mailman (input) for mailman id 510186;
 Wed, 15 Mar 2023 18: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=r4wR=7H=yandex.ru=isaikin-dmitry@srs-se1.protection.inumbo.net>)
 id 1pcWHC-0005Mt-DS
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 18:55:07 +0000
Received: from forward200c.mail.yandex.net (forward200c.mail.yandex.net
 [178.154.239.221]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e54c993c-c362-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 19:55:04 +0100 (CET)
Received: from sas2-dd6f205a74fe.qloud-c.yandex.net
 (sas2-dd6f205a74fe.qloud-c.yandex.net
 [IPv6:2a02:6b8:c08:bc8b:0:640:dd6f:205a])
 by forward200c.mail.yandex.net (Yandex) with ESMTP id B7B44600C0;
 Wed, 15 Mar 2023 21:55:01 +0300 (MSK)
Received: by sas2-dd6f205a74fe.qloud-c.yandex.net (smtp/Yandex) with ESMTPSA
 id vsoP1mNcXiE1-APrTxy8t; Wed, 15 Mar 2023 21:55:00 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e54c993c-c362-11ed-87f5-c1b5be75604c
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1678906500;
	bh=OpbQt9Za9z5rMQkiswJ54XOXHpD2LGZVIvqaU+ccqLY=;
	h=Message-Id:Date:Cc:Subject:To:From;
	b=QEqfgLmdU/91MfPzaQMRGvJcV4lMwM6+RyfTmP+e8LR2AV9bHThttPOzbXvuh5MwH
	 VKLZ/D1G+ZzV3TVqW7G/8bu16a34/nfG+WeQrDbWioK30GuRjZ4bs7QKW/qLyeS+1G
	 D5rGhUeRnAfsl4tCGAu1auKjv+IDK3rahjysK8os=
Authentication-Results: sas2-dd6f205a74fe.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru
From: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
To: xen-devel@lists.xenproject.org
Cc: Dmitry Isaykin <isaikin-dmitry@yandex.ru>,
	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>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Anton Belousov <abelousov@ptsecurity.com>
Subject: [XEN PATCH v2] x86/monitor: Add new monitor event to catch I/O instructions
Date: Wed, 15 Mar 2023 21:54:54 +0300
Message-Id: <aab9c8ae059d5f584516d0b6466e57ce0981dadc.1678904818.git.isaikin-dmitry@yandex.ru>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Adds monitor support for I/O instructions.

Signed-off-by: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
Signed-off-by: Anton Belousov <abelousov@ptsecurity.com>
---
Changes in v2:
 * Handled INS and OUTS instructions too
 * Added I/O monitoring support for AMD
 * Rename functions and structures (remove "_instruction" part)
 * Reorder parameters of hvm_monitor_io to match handle_pio's order
 * Change type of string_ins parameter to bool
 * Change vm_event_io structure
 * Handle monitor_traps's return status
---
 tools/include/xenctrl.h                |  1 +
 tools/libs/ctrl/xc_monitor.c           | 13 ++++++++
 xen/arch/x86/hvm/monitor.c             | 21 +++++++++++++
 xen/arch/x86/hvm/svm/svm.c             | 25 +++++++++++-----
 xen/arch/x86/hvm/vmx/vmx.c             | 41 ++++++++++++++++++--------
 xen/arch/x86/include/asm/domain.h      |  1 +
 xen/arch/x86/include/asm/hvm/monitor.h |  3 ++
 xen/arch/x86/include/asm/monitor.h     |  3 +-
 xen/arch/x86/monitor.c                 | 13 ++++++++
 xen/include/public/domctl.h            |  1 +
 xen/include/public/vm_event.h          | 10 +++++++
 11 files changed, 110 insertions(+), 22 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 23037874d3..05967ecc92 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2102,6 +2102,7 @@ int xc_monitor_emul_unimplemented(xc_interface *xch, uint32_t domain_id,
                                   bool enable);
 int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
                       bool sync);
+int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable);
 /**
  * This function enables / disables emulation for each REP for a
  * REP-compatible instruction.
diff --git a/tools/libs/ctrl/xc_monitor.c b/tools/libs/ctrl/xc_monitor.c
index c5fa62ff30..3cb96f444f 100644
--- a/tools/libs/ctrl/xc_monitor.c
+++ b/tools/libs/ctrl/xc_monitor.c
@@ -261,6 +261,19 @@ int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
     return do_domctl(xch, &domctl);
 }
 
+int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable)
+{
+    DECLARE_DOMCTL;
+
+    domctl.cmd = XEN_DOMCTL_monitor_op;
+    domctl.domain = domain_id;
+    domctl.u.monitor_op.op = enable ? XEN_DOMCTL_MONITOR_OP_ENABLE
+                                    : XEN_DOMCTL_MONITOR_OP_DISABLE;
+    domctl.u.monitor_op.event = XEN_DOMCTL_MONITOR_EVENT_IO;
+
+    return do_domctl(xch, &domctl);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/hvm/monitor.c b/xen/arch/x86/hvm/monitor.c
index a11cd76f4d..ff958b6c05 100644
--- a/xen/arch/x86/hvm/monitor.c
+++ b/xen/arch/x86/hvm/monitor.c
@@ -346,6 +346,27 @@ int hvm_monitor_vmexit(unsigned long exit_reason,
     return monitor_traps(curr, ad->monitor.vmexit_sync, &req);
 }
 
+int hvm_monitor_io(uint16_t port, unsigned int bytes,
+                   int dir, bool string_ins)
+{
+    struct vcpu *curr = current;
+    struct arch_domain *ad = &curr->domain->arch;
+    vm_event_request_t req = {};
+
+    if ( !ad->monitor.io_enabled )
+        return 0;
+
+    req.reason = VM_EVENT_REASON_IO_INSTRUCTION;
+    req.u.io.data_size = bytes;
+    req.u.io.port = port;
+    req.u.io.dir = dir;
+    req.u.io.string_ins = string_ins;
+
+    set_npt_base(curr, &req);
+
+    return monitor_traps(curr, true, &req);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index a43bcf2e92..49225f48a7 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2939,17 +2939,26 @@ void svm_vmexit_handler(void)
         break;
 
     case VMEXIT_IOIO:
-        if ( (vmcb->exitinfo1 & (1u<<2)) == 0 )
+     {
+        uint16_t port = (vmcb->exitinfo1 >> 16) & 0xFFFF;
+        int bytes = ((vmcb->exitinfo1 >> 4) & 0x07);
+        int dir = (vmcb->exitinfo1 & 1) ? IOREQ_READ : IOREQ_WRITE;
+        bool string_ins = (vmcb->exitinfo1 & (1u<<2));
+        int rc = hvm_monitor_io(port, bytes, dir, string_ins);
+        if ( rc < 0 )
+            goto unexpected_exit_type;
+        if ( !rc )
         {
-            uint16_t port = (vmcb->exitinfo1 >> 16) & 0xFFFF;
-            int bytes = ((vmcb->exitinfo1 >> 4) & 0x07);
-            int dir = (vmcb->exitinfo1 & 1) ? IOREQ_READ : IOREQ_WRITE;
-            if ( handle_pio(port, bytes, dir) )
-                __update_guest_eip(regs, vmcb->exitinfo2 - vmcb->rip);
+            if ( !string_ins )
+            {
+                if ( handle_pio(port, bytes, dir) )
+                    __update_guest_eip(regs, vmcb->exitinfo2 - vmcb->rip);
+            }
+            else if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
+                hvm_inject_hw_exception(TRAP_gp_fault, 0);
         }
-        else if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
-            hvm_inject_hw_exception(TRAP_gp_fault, 0);
         break;
+    }
 
     case VMEXIT_CR0_READ ... VMEXIT_CR15_READ:
     case VMEXIT_CR0_WRITE ... VMEXIT_CR15_WRITE:
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 278b829f73..a7d7f288fb 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4566,23 +4566,38 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         break;
 
     case EXIT_REASON_IO_INSTRUCTION:
+    {
+        uint16_t port;
+        int bytes, dir;
+        bool string_ins;
+        int rc;
+
         __vmread(EXIT_QUALIFICATION, &exit_qualification);
-        if ( exit_qualification & 0x10 )
-        {
-            /* INS, OUTS */
-            if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
-                hvm_inject_hw_exception(TRAP_gp_fault, 0);
-        }
-        else
+
+        port = (exit_qualification >> 16) & 0xFFFF;
+        bytes = (exit_qualification & 0x07) + 1;
+        dir = (exit_qualification & 0x08) ? IOREQ_READ : IOREQ_WRITE;
+        string_ins = (exit_qualification & 0x10);
+        rc = hvm_monitor_io(port, bytes, dir, string_ins);
+        if ( rc < 0 )
+            goto exit_and_crash;
+        if ( !rc )
         {
-            /* IN, OUT */
-            uint16_t port = (exit_qualification >> 16) & 0xFFFF;
-            int bytes = (exit_qualification & 0x07) + 1;
-            int dir = (exit_qualification & 0x08) ? IOREQ_READ : IOREQ_WRITE;
-            if ( handle_pio(port, bytes, dir) )
-                update_guest_eip(); /* Safe: IN, OUT */
+            if ( exit_qualification & 0x10 )
+            {
+                /* INS, OUTS */
+                if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
+                    hvm_inject_hw_exception(TRAP_gp_fault, 0);
+            }
+            else
+            {
+                /* IN, OUT */
+                if ( handle_pio(port, bytes, dir) )
+                    update_guest_eip(); /* Safe: IN, OUT */
+            }
         }
         break;
+    }
 
     case EXIT_REASON_INVD:
     case EXIT_REASON_WBINVD:
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index b5354c3677..86bd3493e6 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -428,6 +428,7 @@ struct arch_domain
         unsigned int descriptor_access_enabled                             : 1;
         unsigned int guest_request_userspace_enabled                       : 1;
         unsigned int emul_unimplemented_enabled                            : 1;
+        unsigned int io_enabled                                            : 1;
         /*
          * By default all events are sent.
          * This is used to filter out pagefaults.
diff --git a/xen/arch/x86/include/asm/hvm/monitor.h b/xen/arch/x86/include/asm/hvm/monitor.h
index 639f6dfa37..fc35490a8d 100644
--- a/xen/arch/x86/include/asm/hvm/monitor.h
+++ b/xen/arch/x86/include/asm/hvm/monitor.h
@@ -54,6 +54,9 @@ bool hvm_monitor_check_p2m(unsigned long gla, gfn_t gfn, uint32_t pfec,
 int hvm_monitor_vmexit(unsigned long exit_reason,
                        unsigned long exit_qualification);
 
+int hvm_monitor_io(uint16_t port, unsigned int bytes,
+                   int dir, bool string_ins);
+
 #endif /* __ASM_X86_HVM_MONITOR_H__ */
 
 /*
diff --git a/xen/arch/x86/include/asm/monitor.h b/xen/arch/x86/include/asm/monitor.h
index d8d54c5f23..96e6a9d0d8 100644
--- a/xen/arch/x86/include/asm/monitor.h
+++ b/xen/arch/x86/include/asm/monitor.h
@@ -90,7 +90,8 @@ static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
                     (1U << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) |
                     (1U << XEN_DOMCTL_MONITOR_EVENT_EMUL_UNIMPLEMENTED) |
                     (1U << XEN_DOMCTL_MONITOR_EVENT_INGUEST_PAGEFAULT) |
-                    (1U << XEN_DOMCTL_MONITOR_EVENT_VMEXIT));
+                    (1U << XEN_DOMCTL_MONITOR_EVENT_VMEXIT) |
+                    (1U << XEN_DOMCTL_MONITOR_EVENT_IO));
 
     if ( hvm_is_singlestep_supported() )
         capabilities |= (1U << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP);
diff --git a/xen/arch/x86/monitor.c b/xen/arch/x86/monitor.c
index 30ca71432c..d4857faf8a 100644
--- a/xen/arch/x86/monitor.c
+++ b/xen/arch/x86/monitor.c
@@ -346,6 +346,19 @@ int arch_monitor_domctl_event(struct domain *d,
         break;
     }
 
+    case XEN_DOMCTL_MONITOR_EVENT_IO:
+    {
+        bool old_status = ad->monitor.io_enabled;
+
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
+
+        domain_pause(d);
+        ad->monitor.io_enabled = requested_status;
+        domain_unpause(d);
+        break;
+    }
+
     default:
         /*
          * Should not be reached unless arch_monitor_get_capabilities() is
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 51be28c3de..7280e9f968 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -1063,6 +1063,7 @@ struct xen_domctl_psr_cmt_op {
 /* Enabled by default */
 #define XEN_DOMCTL_MONITOR_EVENT_INGUEST_PAGEFAULT     11
 #define XEN_DOMCTL_MONITOR_EVENT_VMEXIT                12
+#define XEN_DOMCTL_MONITOR_EVENT_IO                    13
 
 struct xen_domctl_monitor_op {
     uint32_t op; /* XEN_DOMCTL_MONITOR_OP_* */
diff --git a/xen/include/public/vm_event.h b/xen/include/public/vm_event.h
index 0035c26e12..1e4b6063f5 100644
--- a/xen/include/public/vm_event.h
+++ b/xen/include/public/vm_event.h
@@ -160,6 +160,8 @@
 #define VM_EVENT_REASON_EMUL_UNIMPLEMENTED      14
 /* VMEXIT */
 #define VM_EVENT_REASON_VMEXIT                  15
+/* IN/OUT Instruction executed */
+#define VM_EVENT_REASON_IO_INSTRUCTION          16
 
 /* Supported values for the vm_event_write_ctrlreg index. */
 #define VM_EVENT_X86_CR0    0
@@ -388,6 +390,13 @@ struct vm_event_vmexit {
     } arch;
 };
 
+struct vm_event_io {
+    uint32_t data_size;
+    uint16_t port;
+    uint8_t  dir; /* IOREQ_READ or IOREQ_WRITE */
+    uint8_t  string_ins;
+};
+
 typedef struct vm_event_st {
     uint32_t version;   /* VM_EVENT_INTERFACE_VERSION */
     uint32_t flags;     /* VM_EVENT_FLAG_* */
@@ -409,6 +418,7 @@ typedef struct vm_event_st {
         struct vm_event_debug                 debug_exception;
         struct vm_event_cpuid                 cpuid;
         struct vm_event_vmexit                vmexit;
+        struct vm_event_io                    io;
         union {
             struct vm_event_interrupt_x86     x86;
         } interrupt;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 19:03:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 19:03:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510188.787485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcWPV-00075E-Hj; Wed, 15 Mar 2023 19:03:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510188.787485; Wed, 15 Mar 2023 19:03: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 1pcWPV-000757-Df; Wed, 15 Mar 2023 19:03:41 +0000
Received: by outflank-mailman (input) for mailman id 510188;
 Wed, 15 Mar 2023 19: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=DN/u=7H=citrix.com=prvs=431ad58dd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pcWPT-000751-Ss
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 19:03:39 +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 1580da0f-c364-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 20:03: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: 1580da0f-c364-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678907016;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=RrJYsIFKDjR0M/7xogCc2jHl0xDaQZoIYGx92W0ZYMA=;
  b=IpcBpeVMjhvYO00aTWEE5JmcWySGHxwRG3zeoncWNPSltAIvA9v84SiC
   3bstpuwHktKXtf0p7YAS3WbdOXqeLH6LhEC+rXYzrRZixnkEB0tsg9hp5
   4w2f0+fJJcdaZuuS0xY+xCgHXRu/O+AsX7lCuQbhXxxpG8sR/+DF5Wn9j
   g=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100916106
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:NM5s0aCqVEN/gRVW/xTjw5YqxClBgxIJ4kV8jS/XYbTApDoq1WcGz
 jMYW2GHOKzYYWOhf91ybNnnoUIG6JaBytZlQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhB4wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw9Nx+AGhSr
 PEiM3MVdDvbnfmv27P8Rbw57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9I4TSFJwLxx7Gz
 o7A12b3ISg8Dc6D9RWI1mz918TJsT/DdY1HQdVU8dY12QbOlwT/EiY+X1yxq+i0kU66VtdWL
 WQb/yMvqe4580nDZtL6WRu/onKNoB8Hc9VVGuw+rgqKz8L86gKYHXQNTyQHZsYvssQ3XhQ12
 lTPlNTsbRR/vbvQRX+D+7O8qTKpJTNTPWIEfTUDTwYO/5/kuo5bs/7UZo89Sujv1ISzQGyuh
 WnQ90DSmon/k+YF7ay69Eyejgi35YDTZVYv/RzMXyWqu1YRiJGeW6Sk7l3S7PBlJYmfT0Wcs
 HVsp/Vy/NziHrnWynXTHbxl8KWBoq/cbWaC2QIH84wJrWzFxpK1QWxHDNiSzm9NO91MRzLma
 VS7Veh5tM4KZyvCgUOajuuM5yUWIUrIT4iNuhP8NIAmjn1NmOivrUlTiba4hTyFraTVufhX1
 W2nWcitF20GLq9s0SC7QewQuZdymH9ulTqCHMmjl0v9uVZ7WJJyYeZtDbdzRrphsPPsTPv9q
 r6zyPdmOz0ACbajM0E7AKYYLEwQLGhTOK0aX/d/L7bZSiI/QTFJNhMk6e95E2CTt/gPx7igE
 7DUchMw9WcTclWceVnWNCk9Neu1NXu9xFpiVRER0Z+T8yBLSe6SAG03LvPboZFPGDRf8MNJ
IronPort-HdrOrdr: A9a23:08bH2KvLDzRjNUUZQHrKHeD27skDeNV00zEX/kB9WHVpm62j+/
 xG+c5x6faaslkssR0b9+xoWpPhfZqsz/9ICOAqVN/JMTUO01HYT72Kg7GSpgHIKmnT8fNcyL
 clU4UWMqyVMbGit7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="100916106"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Bob Eshleman
	<bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH] xen/riscv: Fix early_puts() newline handling
Date: Wed, 15 Mar 2023 19:03:25 +0000
Message-ID: <20230315190325.668853-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

OpenSBI already expands \n to \r\n.  Don't repeat the expansion, as it doubles
the size of the resulting log with every other line being blank.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Bob Eshleman <bobbyeshleman@gmail.com>
CC: Alistair Francis <alistair.francis@wdc.com>
CC: Connor Davis <connojdavis@gmail.com>
---
 xen/arch/riscv/early_printk.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/xen/arch/riscv/early_printk.c b/xen/arch/riscv/early_printk.c
index b66a11f1bc1a..97a94885773b 100644
--- a/xen/arch/riscv/early_printk.c
+++ b/xen/arch/riscv/early_printk.c
@@ -16,8 +16,6 @@ void early_puts(const char *s, size_t nr)
 {
     while ( nr-- > 0 )
     {
-        if ( *s == '\n' )
-            sbi_console_putchar('\r');
         sbi_console_putchar(*s);
         s++;
     }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 19:16:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 19:16:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510190.787495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcWbh-0000O4-K9; Wed, 15 Mar 2023 19:16:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510190.787495; Wed, 15 Mar 2023 19:16:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcWbh-0000Nx-HM; Wed, 15 Mar 2023 19:16:17 +0000
Received: by outflank-mailman (input) for mailman id 510190;
 Wed, 15 Mar 2023 19:16: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 1pcWbg-0000Nm-JH; Wed, 15 Mar 2023 19:16: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 1pcWbg-0006Y7-EX; Wed, 15 Mar 2023 19:16: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 1pcWbf-0007YT-VG; Wed, 15 Mar 2023 19:16:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcWbf-0007zg-Un; Wed, 15 Mar 2023 19:16:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qWsOMDHNIQZ8+KxdcesGhCmWAMfkhHy5Fg/8cdQ0zR8=; b=66JoftXsaPp7ieLsf14JeO9Syj
	/eRSYs0pYFbLRJ6LIpn94G1LB3uzdZkNeNGs2/zNTjip8J36XoJ17HjC0M2sxSrZNhTxnnMJ72HfX
	CcLcZnmZIT70voDkql5IRKyqS5irfkvcBaltCC1404Xf5AFnhASu8WuZ32VGfxXmiGqg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179641-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179641: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-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-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=6015b1aca1a233379625385feb01dd014aca60b5
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Mar 2023 19:16:15 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 19 guest-stop               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 27 guest-migrate/dst_host/src_host fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 19 guest-saverestore.2     fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 17 guest-saverestore.2 fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 18 guest-localmigrate      fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

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

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                6015b1aca1a233379625385feb01dd014aca60b5
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   22 days
Failing since        178093  2023-02-22 05:02:47 Z   21 days   42 attempts
Testing same since   179641  2023-03-15 04:42:07 Z    0 days    1 attempts

------------------------------------------------------------
2126 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 21:01:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 21:01:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510223.787527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcYFQ-0006Wo-Qm; Wed, 15 Mar 2023 21:01:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510223.787527; Wed, 15 Mar 2023 21: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 1pcYFQ-0006Wh-OC; Wed, 15 Mar 2023 21:01:24 +0000
Received: by outflank-mailman (input) for mailman id 510223;
 Wed, 15 Mar 2023 21:01: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 1pcYFP-0006WX-F6; Wed, 15 Mar 2023 21:01: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 1pcYFP-0000jf-9s; Wed, 15 Mar 2023 21:01: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 1pcYFO-0003qx-VW; Wed, 15 Mar 2023 21:01:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcYFG-00059n-1u; Wed, 15 Mar 2023 21:01: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=pY1NNT2drse9Dk4QJ6YtsbFqOAAOs0nRCBTsotitGcg=; b=vNvE5+BsUaMbHvxT1LyQ4slaxy
	nY+Jgl44+Xgp4qrDy+N6TkGzr3O+cSA8W125D9sgWvye81QHaOB3Vj0LLXnTKBuUFhYVjuj5ytiLv
	O+e6Qpu6l52nufVCzLswssXp+AyK89Sf7z8MViM5loVmg0irlH/SK4QcZKZNz2w6SP4o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179644-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179644: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start.2:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=652737c8090eb3792f8b4c4b22ab12d7cc32073f
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Mar 2023 21:01:14 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-qemuu-freebsd12-amd64 22 guest-start.2  fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                652737c8090eb3792f8b4c4b22ab12d7cc32073f
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    6 days
Failing since        179526  2023-03-10 01:53:40 Z    5 days   10 attempts
Testing same since   179644  2023-03-15 07:53:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 21:13:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 21:13:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510227.787538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcYQn-0008Ey-R1; Wed, 15 Mar 2023 21:13:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510227.787538; Wed, 15 Mar 2023 21: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 1pcYQn-0008Er-OL; Wed, 15 Mar 2023 21:13:09 +0000
Received: by outflank-mailman (input) for mailman id 510227;
 Wed, 15 Mar 2023 21:13: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=DN/u=7H=citrix.com=prvs=431ad58dd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pcYQm-0008El-T1
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 21:13:09 +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 2d10d864-c376-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 22:13:06 +0100 (CET)
Received: from mail-mw2nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 17:13:01 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA2PR03MB5850.namprd03.prod.outlook.com (2603:10b6:806:118::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 21:12:59 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.029; Wed, 15 Mar 2023
 21:12:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d10d864-c376-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678914786;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=HJ2+jdfdbk0dsdjbDZzDJYagxTg2K7zg8bfeBXb6NFk=;
  b=IP78+XU+cvjW7SvJBgIk65nq97S2Tb2ceevnd7WbzN/ADJTwwNpk5y/o
   DIKElh9CrZjQzplFJt0KbRk7SYQa2yGSLR9AkRtS77j8x49XJ8Wr65wj0
   46Y2p4IcXwcFTNpBm5uCYIAKa2w3OvU+FfZS4Z9xL7qKc7lIVX7wTua8f
   k=;
X-IronPort-RemoteIP: 104.47.55.104
X-IronPort-MID: 101431731
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:aqhSjq7i5Qb91/buAmoNdQxRtIzGchMFZxGqfqrLsTDasY5as4F+v
 jQcW2yPbKuDMzbxfo9+Pd++oRgCvsXSxt9nSQdpqSpjHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS4QeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m8
 vkSczlWZy65wM2ux7ahFONHvt0JM5y+VG8fkikIITDxK98DGMiGZpqQoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUooiOSF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtKTeHjr6Ex2TV/wERULgYsT1+npcWmm2+4ft52M
 kMf8Xoh+P1aGEuDC4OVsweDiHyOswMYWtFQO/Yn8wzLwa3Riy6eAmUHVT9ALt87rsg9RT8t/
 lCMltLtQzdotdW9UmmB/72ZqTezPyk9LmIYYyIACwwf7LHLr4A6iBbSRd9LCq+ricb0Hzq2y
 DePxAA0gL8ZnMMQ16G2+FnBqz2pr5nNCAUy423/V2ak9R9wZZTjaZah71Pa9t5fII3fRV6E1
 FAPnM6Y6+ICBI+MjwSCRewMGPei4PPtGC3RhxtjEocs8xyp+mW/ZsZA7TdmPkBrP80YPzjzb
 yfuVRh54ZZSOD6vcvVxaofoU8Ayl/G4SZLiS+zeacdIbt5pbgib8SpyZEmWmWfwjEwrlqJ5M
 pCeGSqxMUsn5W1c5GLeb48gPXUDnEjSGUu7qUjH8ima
IronPort-HdrOrdr: A9a23:fEIqKq2ak8zuBC5qUPtXqgqjBJ8kLtp133Aq2lEZdPU1SL3kqy
 nKpp4mPHDP+VIssR0b6LO90ey7MBXhHP1OkPMs1MmZLW7bUQKTRekIjbcKgQeQYhEWkNQtrZ
 uIG5IeNDSaNykesS+V2njbLz9t+qj9zElqv4vjJrVWID2Cp5sO0+6xMGimLnE=
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="101431731"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ES5jtogeCKgB19iY0naByfyBfpvHQjJ33zwp/OBMkqIT8Rmxd98hvP2Xb+LBQ9g6OzJSGvRIMpasyZfBjFXdWBIT//mbdOB+3jk/UUfRi5D6vm4C6dCvlJwrFUacX6uW5GjWJRPJCHAZxbhlAht3bPOPOrvH8OdbOarufUfiXbVXOkvl3MhKzqcPrItGj0IXhJ3jNtdQc+NJrgRDLnJ4I55sjFvPfmJb8aCaTF8Pb2+dJwa0Zad6EiIJ5oBqXq0/zHWWKxm1khu4ze9AF9wajVttYzQwzOaZzklMOIKXMOd7RZGbvXd2oEOqwiVy6EpCV1UtGPZ2mdojGXxcxMRTQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HJ2+jdfdbk0dsdjbDZzDJYagxTg2K7zg8bfeBXb6NFk=;
 b=HrdN6rNAdWvXHAxPnRNDkyvt4+kokJkk5Jhy0pxxGNJZlrbwmHUPaoZslczWUgiRprq90UnmKcGhSgPHLz9i2szFILe/1SquERWF6s7barG1vHvgvvawdUFPbt8132d+naWQ298OBWOssarAu15+53QiUz/U/JlhpgFrrqF+JRAAuKSoeCbIXqGwuoAS2Nn+X8AxKQKQA8tIEIV4TPrphFEBcGchvOLo9vUjv1RgbTmnB2aVGsGa30AudeFgoSfTB7b55iS6sjxyRt2Si2GHRXnV9vNPtEgWejFXXipmUBD5YfDDtcVYetHURxHUbUFRDWgj9FRi1RQmt/gzPoyhlg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HJ2+jdfdbk0dsdjbDZzDJYagxTg2K7zg8bfeBXb6NFk=;
 b=ttdeavhLl/HWrwmI1h2TxDrldceuw59xmczpVpo/KpmdnKcb/QXibHH4EnPcVO834iaheI6CjZOvOCltjS6zoAnwroUtGnt8mCmGpM5leapbnVJRwDu4RunWKgeaxoCjlqrsfWzukoCje4Xol4M8DxtY6sfmNVijLTn6dKIiOUw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <ac357f76-653f-9dbd-dc54-6e31db28de9b@citrix.com>
Date: Wed, 15 Mar 2023 21:12:52 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
 <966c19e3-d255-db73-9bb4-7abe0a745396@suse.com>
In-Reply-To: <966c19e3-d255-db73-9bb4-7abe0a745396@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0279.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:195::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA2PR03MB5850:EE_
X-MS-Office365-Filtering-Correlation-Id: 952f1250-a947-4f75-28ae-08db259a0d90
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Wt+H/aUXSuVnpoYTDUhnOBqNuGAHuCh1Ii7k7zM9gHpkIyc1ymAHP6gCpIRojpVYFXJS+o5UVFosDaz4+RksqPnA3XP1b0PJ49/f7hYTIjKqBy0MfZqGipZOYggDT1sdbEuNbTTD2g1GzYja7BbWEBmE0Yp3pC69SNb4sIBceodx9nb1Fpcl493qMaDITzKEWjVRz9hJSDLAyniYZM3aBWlR5Y8BAIej7uB85zy7a6tfeBHO4NXNuOt3SbH5anQalsFn9Ee9yX0eLLqfqVheS7B/WQ4J9PxP6CLa3Dn1kU5x4EKo4biGg2Ze0tjiLJunsGNg3+YNvqyVfUBzHUuCNbQyQtsRBcaLK7qUcbG5UeP8ZdC2nYhJ3DwG6w+dxezaDIRjE7DVHER2LEfq8nkfXjG4R1k10fR9TXO59TU9T03x1L2H9Y09cyMJOWE+luWvf8fWOi9TILyq3iV5oGJW+puTLuKo61lY+zQH/bAD3YdGQwAQGKXUP9IGZXXeumfG/lgLTL+w/wZrlJzcJheKkivLa72uu3V1wueI0ottm2sljZh4dQfZRLH9TBLQajCNMEvVoKV4tVWZpLsX6GgyBD2fjniadGBVSmiVaSvGFJ5RrMYDNzfTiU9hAoYTV/MlNLfpBsEMPYkNJxhjmPrQLetA/o/bDqbsATV+NWO2L5UZLVn1TTBox70aVrTIrws0uS6Wv+Ut3Tw/rCG9n+cBgdZY6z7K7QVb4NNKtq2RyD0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(396003)(346002)(376002)(366004)(136003)(451199018)(6666004)(36756003)(26005)(6506007)(6512007)(6486002)(8936002)(82960400001)(38100700002)(66556008)(66946007)(66476007)(110136005)(4326008)(478600001)(8676002)(316002)(54906003)(186003)(2616005)(5660300002)(31696002)(86362001)(41300700001)(31686004)(53546011)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dHljd1BQUG5hUUdZMkZ4TWZuSTJHZ0ZBUllzd2g1emJmWS9uTzVwQ3d6Wm93?=
 =?utf-8?B?MHZoSGJaRDdwa05KZGJHTEtRdUVqNUQvVWZLV2VpeXBlWlJaZG8zVVFJaWE5?=
 =?utf-8?B?NVVISm8rdmE5RkJYQVhlM1R6KzkrdTErVkhJKytGSFg0N2lRTitDUDBLZXRG?=
 =?utf-8?B?eGltOExwZnRIUldjZUREandvcjh1QklsYU1MQWpwWVFMQ2tQMmhBdmx3cGha?=
 =?utf-8?B?WlovbTZmbFQ4RVlVZXNmTmIwOWZNMFd2ZThXZ1JHb21qa1I5UXNmZk4wUVor?=
 =?utf-8?B?SW04UWJsWHg0L2xZYlpjUm1UcEZabk52NG5MK25EWEdlWWVPOUxKUE94NmJs?=
 =?utf-8?B?WlF2S1VLeVlIaU9VdFg4bnpQRTVnZ2F5NHZpRDhNTTVtZ3AyU0UyYXJlMW9I?=
 =?utf-8?B?K3hlRStVRUV1WUFuKzM4WTczcEo5b29HMUNab3VZaFdicWkwSUoyS045M1hh?=
 =?utf-8?B?WWNNTlN6WHZ3dkRpZ0xGelJLbEZhV3poNExCdmhoUjRUenZzY1FxaThPVkZq?=
 =?utf-8?B?ODgyZEx1NklIL1RyTTJYaFAzRFJyTXBkbDNYRXZVK1ZSVENGODJmbkRZbE1Z?=
 =?utf-8?B?b1FyN0xHdkFLdUYvMjczU3FWTUQ1MmFMSzlrZFNPZzFPZTVzVjdXK2xKWjd1?=
 =?utf-8?B?UEUwQVY3NXdhRDNaRzE0dVdyZ3FOYTFHRlZnNU9KZkNZbnhHSG1YbXV5QzN5?=
 =?utf-8?B?VVhzTllMUFZEZW5sbzRoUGJJek12dGFqUlJ0dXRvTXFNeDdNTUthWmpqSzNV?=
 =?utf-8?B?WVk1V2JQZHZ3aDl4Wm9hbmJzdi9PSGdtVlhXVTlpOXdPcEx1aklsWEhhYjQ0?=
 =?utf-8?B?NkZzMjBwRWdvcXZjakRpWUQ4cDVlSk5iZ1FET0VrajhvQmRYQ1N2MXZ4cGVm?=
 =?utf-8?B?UXg4c21CRHJodXVLUWdoR3BHYndEeUt5N3FYSDZ4Y1RUcGxhZ2VDZnFpQ2dz?=
 =?utf-8?B?VTEwYTlQM3A1MThFOGZWTTNnaTdCSHJmU291enBMNnBhV2xWRmVscWJlRk5j?=
 =?utf-8?B?SVk5cVpZUGdkRXVpaExPS2dQalJoeTR0SlFHUGFhbmlMZFkyc0pvMURveUIw?=
 =?utf-8?B?ckJFS05LMTkvNU5TQjYyL29lTU1YdEdXd3hOL1U3bkFpcHF3MXB4bmVDaEk3?=
 =?utf-8?B?d2w5NWpRRWFyajdaZkhuem9XWlB0WlBWRnRqcDBuaEpRRTdxcHcybHk3TEo5?=
 =?utf-8?B?d2tTdEkzUE11ZlU3QVFDcmF6WWtGTXFTcC8rTWcyUnhQZFVZUDZtVEVnb1U3?=
 =?utf-8?B?S0JRQjRMSlFXNVBXaWlDQmtLb0FNTTJGYjZZekpZRi8yVytQU1pDdlgvMmpj?=
 =?utf-8?B?ejdzeVg4NytrMUEvQURVeFpPZUpTUWdFS01yeWQvNWlocDhIQmlSVGF3aFhj?=
 =?utf-8?B?eTF6aEpLNHJ6TFd1OTlyYUI3ZXR1ZmJQSTBpc2lYeEtDbHpBaS9iaUJOMWpj?=
 =?utf-8?B?VG1ZbUo4c2YwQlRCRXhUTVhhdWdnSFQzWXNrU1ZvekJZeGJNNlc2Y3UwT0pE?=
 =?utf-8?B?RmRRK2lORjdrY1d4S0d4Tm1ZWTEwVSsvZVBndGpINy8vU0ZncENJOHY4K3NC?=
 =?utf-8?B?TDhFN0hlR09ucHEyenQzdVhqaU95b1Z5QnhNRVZIRExBb1NaTG55UFJjQTlj?=
 =?utf-8?B?Q29jUlZDTWJWZnVuUUFjbGdMS1FDcXpXeXIvRlF3WWw2bEFCYm43c3dUclhP?=
 =?utf-8?B?NFpRYzlOU1hKUTY4dlczdUZjc0RIMUJqSUZjR1RZaGFxRHZzZkpqcDlhM1Rq?=
 =?utf-8?B?azJ2NVpWQkFKV1JFZFpkME5ZMkRROTloUmtZcUpxTlFoRHBiRm5IMmpQRTJv?=
 =?utf-8?B?dEJ2ZCs5cUZaaVRnVnMyY1ErQkY4SmR1RSt2WnZxNVdYdko3aEdSK2x6SVlu?=
 =?utf-8?B?Nkxmald4anI3OENNZWMvdUJiY3BBb0FvQStYbVUvOEdpbzFkY0pKT3h3VE42?=
 =?utf-8?B?c1RSbTFzN3B5OVl0MFQ2YXV4UTZqbEpqUVc4TkE2UWJqTkRTcXZRQXY4NDN2?=
 =?utf-8?B?V2QveUhHbXR2TVVuTklwcS9qQlgrNkJjQXRINHZENU0xZjlqS2k3aHp0QkVN?=
 =?utf-8?B?YzE2NzEvTm5XaFhGcFJ4Z283b3crSWg0Q3lEeUExOERtSys4eHBRUElJTEpN?=
 =?utf-8?B?c29QTDg3Ylo2V25YVUx6SkNuNUZnMnZ6Z2ZGZVNYM1lIYXQ3dG1aYmZndGQ3?=
 =?utf-8?B?Q1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Kob1LiTnMhJ97NWU618Y+LjibY0sxaNMVWhDXnXci384vtNzFSLWBVXOcMOBuMGasvIeoy+CrWMrjj/T85J4Qq41K/vnkKFBffaEQwXVEqz9nb9G69gTRDjPBoSBvjr1XNk+le+XDeo5rEg53zy99uhAMpD3rTlNpCVjCIu9OUb/uYLoI9g24H8DjO3trtcq5eGFmHSgcgA9OPbMJ/FT/Y/OFLbvd/vphlnwDOZhHVetXB+T1Z6qJmMYjBBXdzEd3rllNAgvq9IaLyfFMH3jeZUDUrI/DQmpSvc7fb+xwvl9w8rQhaCq+SbiNFqRJz/xc5rXBF19gHKmbGd12L/+1Eyz6Wj4jIrQeDEk8xxs5C7/eelhZS042e2IVqX6hfKkBq2k6AHF4nVbGeJ8Ps7YdlVGcwFmsG4v4kOkG4CwVomx3c1rjuGhxDOt18blvqAIyxEGy1pYRNlF+BEuQzdqXKDtwetyUTlA4ryE+vtD8kQIsxcPlR7rn9SrJlNOyJ+8V6RdbaKGE5gRsegQuFQdaU5PXL+vjGSqVyryqdbh1Xnqh5cU4J/5rvtOo1QZiyVjVPXPexymcO3ONM/v7jOxL1NI4EmbE1LnIUcfillyqwHGZ0DvOfEeiik0E1JBKqSXx0jFm2v7o66Km63TFU6CKaRtvo9+7/4YhZp4TN8T5eMnfNZIPe6ZqzL6d4oUEdZ6bBxbsFvRcsxp2+w3CL6J7Gx2ST96zZmmvfu4CZ9r3QSjCxHAaHS21A9njnW4vbsFUW+SNrpuEndkW6X2ZeGnizpLj7n3RBCV8UXuVnRvMk7DtSD3jeGXLGHXwWhyI3Z0bs5HMU2189eqd5RjRv4uQDXd+VHT6Rmgo9/7iAGr/izwsOaKhRyk3t+keObBG081T7tfjntxvdtL/W5XXTQ967OqVVyGMCk8ujRwrt4PBTw=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 952f1250-a947-4f75-28ae-08db259a0d90
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Mar 2023 21:12:58.9862
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mbRqSxD/noFpRlRrbV62uVZGHOVNgZMxIqjOE3ufIWDcFj51wMdfap1mRpgjs6N+ho4YkGABQzdYliwl+sLEzgUFvcaZy+tivkME8usqcVc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5850

On 15/03/2023 7:59 am, Jan Beulich wrote:
> On 14.03.2023 21:16, Oleksii wrote:
>> I checked in Linux binary how 'la' instruction is transformed, and it
>> looks like it is translated as I expect to auipc/addi pair:
>> ffffffe000001066: 00027517 auipc a0,0x27
>> ffffffe00000106a: f9a50513 addi a0,a0,-102 # ffffffe000028000
>> <early_pg_dir>
>>
>> I checked compiler flags between Xen and Linux. The difference is in-
>> fno-PIE (Linux also adds -mabi and -march to AFLAGS):
>>
>> 1. Linux build command of head.S: riscv64-linux-gnu-gcc -Wp,-
>> MD,arch/riscv/kernel/.head.o.d -nostdinc -isystem /usr/lib/gcc-
>> cross/riscv64-linux-gnu/9/include -I./arch/riscv/include -
>> I./arch/riscv/include/generated -I./include -I./arch/riscv/include/uapi
>> -I./arch/riscv/include/generated/uapi -I./include/uapi -
>> I./include/generated/uapi -include ./include/linux/kconfig.h -
>> D__KERNEL__ -D__ASSEMBLY__ -fno-PIE -mabi=lp64 -march=rv64imafdc -c -o
>> arch/riscv/kernel/head.o arch/riscv/kernel/head.S
>>
>> 2. Xen build command of head.S:riscv64-linux-gnu-gcc -MMD -MP -MF
>> arch/riscv/riscv64/.head.o.d -D__ASSEMBLY__ -Wa,--noexecstack -
>> DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -Wdeclaration-
>> after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs
>> -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -Werror
>> -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include
>> ./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=lp64 -
>> I./include -I./arch/riscv/include -march=rv64gc -mstrict-align -
>> mcmodel=medany - -c arch/riscv/riscv64/head.S -o
>> arch/riscv/riscv64/head.o
> Looking into why you see different code generated than I: Nothing in
> here directs gcc to pass -fpic to gas; in upstream gcc (consistent
> from gcc7 through gcc12, which are the versions I've checked; the
> actual range may be wider) there is
>
> #define ASM_SPEC "\
> %(subtarget_asm_debugging_spec) \
> %{" FPIE_OR_FPIC_SPEC ":-fpic} \
> ...
>
> Can you check whether your gcc passes -fpic to gas even when there's
> no -fPIC / -fPIE (or alike) on the gcc command line? Or whether your
> gas (unlike upstream's) defaults to PIC mode? (For .S files ASM_SPEC
> is all that counts. For .c files gcc is redundantly passing -fpic
> along with also emitting ".option pic" or, in the opposite case, it
> is omitting -fpic along with emitting ".option nopic".)
>
> You gcc may have been configured with --enable-default-pie, while I
> know mine hasn't been (simply because that's the default).

>From the thread, the difference is clearly around the pie option, but I
have to admit that I'm confused.

With GCC 10 from Debian repos and current staging (modulo the build
fix), we end up with:

0000000080200000 <_start>:
    80200000:   10401073                csrw    sie,zero
    80200004:   00002117                auipc   sp,0x2
    80200008:   00413103                ld      sp,4(sp) # 80202008
<_GLOBAL_OFFSET_TABLE_+0x8>
    8020000c:   6285                    lui     t0,0x1
    8020000e:   9116                    add     sp,sp,t0
    80200010:   7f10206f                j       80203000 <start_xen>

In this case, the auipc/ld pair makes a PC-relative reference into the
GOT, but the pointer spilled into the GOT is the link time address of
cpu0_boot_stack.

For the executable as a whole, we've got:

[ 6] .got              PROGBITS        0000000080202000 003000 000010
08  WA  0   0  8
[ 7] .got.plt          PROGBITS        0000000080202010 003010 000010
08  WA  0   0  8

i.e. both nonzero in size, so presumably with expectations of something
else to fix up the references.

I suspect we want to extend the x86 section asserts into the other
architectures too, alongside figuring out how exactly to disable code
generation of this form.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 21:41:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 21:41:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510253.787565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcYsb-0004sV-He; Wed, 15 Mar 2023 21:41:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510253.787565; Wed, 15 Mar 2023 21:41: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 1pcYsb-0004sO-Ea; Wed, 15 Mar 2023 21:41:53 +0000
Received: by outflank-mailman (input) for mailman id 510253;
 Wed, 15 Mar 2023 21:41: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=P4g8=7H=cs.rochester.edu=ejohns48@srs-se1.protection.inumbo.net>)
 id 1pcYsZ-0004sI-9w
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 21:41:51 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20722.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::722])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ee69ba1-c37a-11ed-b464-930f4c7d94ae;
 Wed, 15 Mar 2023 22:41:47 +0100 (CET)
Received: from MN2PR07MB6045.namprd07.prod.outlook.com (2603:10b6:208:103::14)
 by SJ0PR07MB9275.namprd07.prod.outlook.com (2603:10b6:a03:40a::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Wed, 15 Mar
 2023 21:41:43 +0000
Received: from MN2PR07MB6045.namprd07.prod.outlook.com
 ([fe80::615e:312b:3b80:5ac2]) by MN2PR07MB6045.namprd07.prod.outlook.com
 ([fe80::615e:312b:3b80:5ac2%4]) with mapi id 15.20.6178.026; Wed, 15 Mar 2023
 21:41: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: 2ee69ba1-c37a-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ft3OSj55p7KWr8NmbNQZZUXkJwuxmZYMELZBeD9po0YI0vrcOskl05rpt7TEvYmnZJFG3MY7NT9Bhie/qR62ulVfhAsCcAuGwXZLBUc/m0Ddoy1o/Sh1gFoEL6qUpSi13NQGoJINBjkA19vVKzvMsBdL1hUQWyVXYG2OHtZDoRwqeize0zEf3exyRQRfiWl0jNt20UoPMkLQkeiPU4aHatWsKDisnIjVGWf1m6OiMD3/xIb1GiSMOyQRRCKIDo5tQGaUvCA3guK3Jbkcgd6a4rU8p5/3KJCo/EtnTI7YP5GyJJxlwdvhIHfoNoCxyjYN5aNQZfcRfrm0l/9kyHaHMg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DwUj+B2uDn7ybrWDZp9zZgaiP/nJ+1VPLzdKoXzIFfc=;
 b=VLX6lLRWkXhELc23k6fTI2FS4O6NydM+NgNfOEdPQxVeOO1X7poTZobWQL9jCldIyW8hC1j4gB26Uq18B/P9zC/0jzkk+tyTap07X7S7oDvkm4eDd5NCY5js2TsePytuPOPaRSTcJd9xskBhD+Yhpa9mQ5RVFewdyZRFtQQHzsmxR81YSirCXNsGbRMsn4nCSBm3tNRjbue13mPX9m8i8l/c+71dnTsJKVvZ0qNEeASebKDu8lCplAJwlLby2RR3TlpTmCeBXUrIMQtY/ZSNCYl+7/cWUraoPlQXXAYnRSPJjLfWUBY5H/3ohVnA1ugigel43e8Vj7N86SVbVDYDRw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=cs.rochester.edu; dmarc=pass action=none
 header.from=cs.rochester.edu; dkim=pass header.d=cs.rochester.edu; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.rochester.edu;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DwUj+B2uDn7ybrWDZp9zZgaiP/nJ+1VPLzdKoXzIFfc=;
 b=UiSeCmjwdRVfNziKBY61jJIgsW/e2yd0JlScjH+hlRAqrcdWxT0IqgCFbYIQJT6x7zhJvUA5veLwb6Kcd8buTFCjpKQlJjswNcLVcCbjR54GbkYj4hq46mX6kbklWHGlHE73CbUdjrjb2O1MJLJtmnLCkreDbyi5a91vtSRbJdk=
From: "Johnson, Ethan" <ejohns48@cs.rochester.edu>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: Best way to use altp2m to support VMFUNC EPT-switching?
Thread-Topic: Best way to use altp2m to support VMFUNC EPT-switching?
Thread-Index: AQHZV4bvojgkCOLOvE2fIxIuAOXfrw==
Date: Wed, 15 Mar 2023 21:41:43 +0000
Message-ID:
 <MN2PR07MB6045B965DD2DA308C55905F9E4BF9@MN2PR07MB6045.namprd07.prod.outlook.com>
References:
 <MN2PR07MB6045100322F58085DD6B1488E4BF9@MN2PR07MB6045.namprd07.prod.outlook.com>
 <c12ff321-e1ad-1377-2158-195594fdbe04@citrix.com>
In-Reply-To: <c12ff321-e1ad-1377-2158-195594fdbe04@citrix.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=cs.rochester.edu;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: MN2PR07MB6045:EE_|SJ0PR07MB9275:EE_
x-ms-office365-filtering-correlation-id: afd35ab7-9cf2-4860-eb4e-08db259e11c8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 VeJofWFgoofSYMb1d0dVfQTzs2txx9hzjExHq6KPQY/2Dc7cqQjXwYc2MHDz0KjyvkxqcG+uU9GwzxYAJ6WGvpxowKjkPu+5AO7s4y0Yi/Pa+AOMVIlt9khOec82w7kPhkIr4nVYvlO5+JE6IvE1dvVqbB3LZZ692qyM8QRNK26QrW5NOQtilT3bVZiJ/6P6mqnLt8WmV7ngvqKT01wleywxE7zKuSlsrtmwzX44bq2HdMK0WOsUFcTlixTvZWavltnmPhEMYhFvtgAe707XgU3XGtZuoleEOxIalzXiQWSApRPe9oTOf/9UMC20/lSSOLD+SmYmUg+XMDgWzPFxE7WCRt+cIWFAjqKrFRUJ3mLoq3x9YukAwU0NhTMz+QBsrNDEKBEOwAReyaOM73qZWb54beDnb8ksFqVuLiTNxDlAJj2j4laT/Mqkn2Kp7Xq7Z0cJPjFdTx916ArPHv8AIxq6Z6bR57u/tND0vfcuLKtw1jG3KZZB2KJQCuiY6nqROihHRiN8POck+sHott7KeBlaWTAY8zy85J9Emmh23pTE5VnaBJfQHdVDfQoHDTGJNErzxSv35eQNVqOc70wfHd3BTYuOvnVnhFb8ZkEdffrOfG87wyLVMOGFnWgmcoOrNdIMiJqdf+iArjh7/l0YlXCVOZnT97VCrl5ZJXQ62ybxQygCvCtSPhi+JF/wHLQIe5fNOf1j4qvHF2jF9oBlijcNY/JTa3prcSrDbrLWKL8=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR07MB6045.namprd07.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(396003)(346002)(366004)(136003)(376002)(451199018)(66899018)(71200400001)(5660300002)(52536014)(8936002)(41300700001)(2906002)(33656002)(38100700002)(38070700005)(86362001)(122000001)(7696005)(478600001)(76116006)(66946007)(66476007)(8676002)(66446008)(66556008)(64756008)(55016003)(110136005)(75432002)(41320700001)(9686003)(83380400001)(786003)(316002)(6506007)(186003)(53546011)(43043002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Mmc4RFRnT1hjaVhwRUN2SHAyOHJaYUd5Q0dwZTBDSGVoS3JLdzdVekIvMUN2?=
 =?utf-8?B?WTRTWjBjYkNpaDRVTzNBYmhGc1hROUJidXNVdlJKQ1U1Q2RmeURrZkMrWnln?=
 =?utf-8?B?YVBsVFlCUm8yVGNsSytjSTRPNlkyOVA5YzJGc1hjTy8wejFXK2MzbjBXWHhL?=
 =?utf-8?B?dzA5K1daODhjTDRmalNLRnBGY2R0S2lrbXNTbjVFM0duY1djY05RcGtieWt5?=
 =?utf-8?B?MnR2STdRaVNtaHZRekZBSUNINWhZZVdCTUlRR3dyZ0ZXL1pqTkJOZkpjWmd6?=
 =?utf-8?B?Tmw0VXpFVUJUVndHZEZYTkFPai9peWtNM09ZQ0IwdzArcGNTbTVlRTE0T3p6?=
 =?utf-8?B?MnB5ZEhkOVFrNWN6TUVScVZybi9KOWZwd295aUpBNnBDUDlocjhFL3I1TjMx?=
 =?utf-8?B?a05NTk5rRm41UyswOTQ1UVhIQ0Z3MWpiTUNDRlBWNkdOTlA5MS9qUis4OXBs?=
 =?utf-8?B?YXhUUnI2bGc0NFRJNXZicjFrek9jbERaNEdhRUhXOSt0d1J4Ync0bGZnMjVQ?=
 =?utf-8?B?OVZtU0N4K1cyQTYzSUFXUEQ2T1hsY21HTjg1b2JPaDQyeURnd3pyZi9pWkJS?=
 =?utf-8?B?Zk1jRFJ1WElyTW9vODdUVjJVUkhhcjd4ajRxM2ViZUVoYk1WNGNUOFdFaDg4?=
 =?utf-8?B?RDB2aVNYVDZOdWVPb2ZjUlU0Zy9WVEdFbmFDaVMyTmo4OE5aMWJLZWZneVNr?=
 =?utf-8?B?dm90bXY1MVRMMVp0SS9qLytENHpOelhuZDZzT1RvbTZmbURkZ05ObkIxNGF2?=
 =?utf-8?B?YmhJQndqZ1d4TnoxQ25ZRk9JdVJaYmN6eU1VMTVuRjRYaHAzZE94dkNKZXBa?=
 =?utf-8?B?NXpBVUg4SG1Oc1Zqb2FRUExCU1A0bzJ4b2VPV0M1c21aNWpOVC9LQVlBd0Ni?=
 =?utf-8?B?MERYOWZKdFdXQkYwQ0FVbDkwWGtYSTlKWmFkUjZnVXNiWEFvMnZGWEpsK0c4?=
 =?utf-8?B?ejBMVTdKS1FYQ3M0UTVQZm1laERHZGlPaXpCcVlTUzRNYmtWazhrSXBTN00z?=
 =?utf-8?B?U3FFWjV0dG4vU09Kb3pVVmJvZzJBS25ja3B2TWxNRTZ4bVphZUJGMjJjeUtF?=
 =?utf-8?B?ZW1kMXllWUFGWjRLdXJZRzFpUlQ2dmtMazRGOUlBWWdBVXBlY0FpMElvY3l5?=
 =?utf-8?B?MTFFcEhaYlBUS3YwZnRFT2NhbG9FN04wQkoyYXFlejhrNFJ6VWJ2MjF0a1dO?=
 =?utf-8?B?MEUzRnBtSDVDc2oxNnVKVjF2TVVZdncvZjgzSGRxRFJPZG5pQTltVkVWK0Zo?=
 =?utf-8?B?TU1sRmVmY09Pb3FsM3VLUC9LMEkwNCtCMy8wa2tyKzljWFg5Zmg4cHlFUWhY?=
 =?utf-8?B?cncxZmlaWW96M2FRWHJRWWxValhMU3UrSDh6QUVESVV2RThOYVpXV05zY2d6?=
 =?utf-8?B?QmNtN3lwSlRmdEtiN1ZFN0RESzY0VDdYS3Qzcm5qN2ppL0ZRcWZVUC9FZ0ZT?=
 =?utf-8?B?dDNwUEdXU2tSM21rKzlRa0RIYXh3SzQzeklONUFHUkJRMzNZS3YrZHZLTmUx?=
 =?utf-8?B?bU4wR0NtYmxkcjRsSnJwazk4MHZudEFQMmVzMkd0c0lZRUZKMGNFeGNPUEd3?=
 =?utf-8?B?NWNvTmlCQXlYc2tSSnJSekdiVWdHMElXZ1pXWk5FQThJOTZXSWNIbXU5N3lW?=
 =?utf-8?B?RGpPSTA2SjJycjZDUWdEdHJaTmhhNEwrUWF3ZUNMM09BM1JNRlphdUZVQ01T?=
 =?utf-8?B?Y0dGdGd6bTFSMUkzOGFyODcrb3RLdjVRSHI4ZnF4Tlhaa3RLL0FRaFIyd2t0?=
 =?utf-8?B?aDhTNTBaZ04xNU1QUm1uRm9sUjdHUkxpQWpYL25NZkdVSndlSzdOK2RaZHM2?=
 =?utf-8?B?bFNxbWZiM05xYW5GQVovSDlaNVRPSFRjdk9Ma0V2RjVrQktDaFFHS3NBNzFT?=
 =?utf-8?B?emZra2Y2OG1OdkRCVmF3SVd0Rzk5NEEvdmJwTjlsK0F5MHlBU3B4cVQ0OCtC?=
 =?utf-8?B?VklUSi9QeUxhUWYxcDBMZWVXNGQwVzJPM1cyWmlLQUdFTTZZZE5uYktlaEtF?=
 =?utf-8?B?eEFNSmY0c3luYXVMdUpuTjd0cllFNjlFTlR2T0RUdDZSRkd2OS92aWRlbi9B?=
 =?utf-8?B?ZExReVhQSy8wYmZoWUdnbzhCVnhuNElCUzcvNGh0dzEzQUdNRDloUVk3elpJ?=
 =?utf-8?B?cDhRa2pPcXBvVUw1TjU4WURZSklwUGxEdGpWWlJ0RmFpZXNnMnUwRHBvYU5s?=
 =?utf-8?Q?zGLuMJPlJTUl4iBYb2s3x7in5/JNgRXFGHWhhJhM6dGJ?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: cs.rochester.edu
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MN2PR07MB6045.namprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: afd35ab7-9cf2-4860-eb4e-08db259e11c8
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Mar 2023 21:41:43.6185
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 374e17f4-cf11-4ce2-b3ef-5de76bf4ce41
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: VgzUANatukEI6Z78eMyPTmVXUPb2nFGlvbJHM7FcUK1jSYBIrf/XyaZR9ADrIEJWF0QcPvhwsaD56GBLQwwJPvS+ypzu9XDzyZV1WdwcZ7Y=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR07MB9275

LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEFuZHJldyBDb29wZXIgPGFuZHJldy5j
b29wZXIzQGNpdHJpeC5jb20+IA0KU2VudDogV2VkbmVzZGF5LCBNYXJjaCAxNSwgMjAyMyA1OjIy
IEFNDQpUbzogSm9obnNvbiwgRXRoYW4gPGVqb2huczQ4QGNzLnJvY2hlc3Rlci5lZHU+Ow0KeGVu
LWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnDQpTdWJqZWN0OiBbRVhUXSBSZTogQmVzdCB3YXkg
dG8gdXNlIGFsdHAybSB0byBzdXBwb3J0IFZNRlVOQyBFUFQtc3dpdGNoaW5nPw0KDQo+IE9uIDE1
LzAzLzIwMjMgMjowMSBhbSwgSm9obnNvbiwgRXRoYW4gd3JvdGU6DQo+PiBIaSBhbGwsDQo+Pg0K
Pj4gSSdtIGxvb2tpbmcgZm9yIHNvbWUgcG9pbnRlcnMgb24gaG93IFhlbidzIGFsdHAybSBzeXN0
ZW0gd29ya3MgYW5kIGhvdyBpdCdzDQo+PiBtZWFudCB0byBiZSB1c2VkIHdpdGggSW50ZWwncyBW
TUZVTkMgRVBULXN3aXRjaGluZyBmb3Igc2VjdXJlIGlzb2xhdGlvbg0KPj4gd2l0aGluIGFuIEhW
TS9QVkggZ3Vlc3QncyBrZXJuZWxzcGFjZS4NCj4+DQo+PiBTcGVjaWZpY2FsbHksIEkgYW0gYXR0
ZW1wdGluZyB0byBtb2RpZnkgWGVuIHRvIGNyZWF0ZSAob24gcmVxdWVzdCBieSBhbg0KPj4gYWxy
ZWFkeS1ib290ZWQsIGNvb3BlcmF0aXZlIGd1ZXN0IHdpdGggYSBkdWx5IG1vZGlmaWVkIExpbnV4
IGtlcm5lbCkgYQ0KPj4gc2Vjb25kIHNldCBvZiBleHRlbmRlZCBwYWdlIHRhYmxlcyB0aGF0IGhh
dmUgYWNjZXNzIHRvIGFkZGl0aW9uYWwNCj4+IHByaXZpbGVnZWQgcmVnaW9ucyBvZiBob3N0LXBo
eXNpY2FsIG1lbW9yeSAoc3BlY2lmaWNhbGx5LCBhIHBhZ2Ugb3IgdHdvIHRvDQo+PiBzdG9yZSBz
b21lIHNlbnNpdGl2ZSBkYXRhIHRoYXQgd2UgZG9uJ3Qgd2FudCB0aGUgZ3Vlc3Qga2VybmVsIHRv
IGJlIGFibGUgdG8NCj4+IG92ZXJ3cml0ZSwgcGx1cyBzb21lIGhvc3QtcGh5c2ljYWwgTU1JTyBy
YW5nZXMsIHNwZWNpZmljYWxseSB0aGUgeEFQSUMNCj4+IHJlZ2lvbikuIFRoZSBpZGVhIGlzIHRo
YXQgdGhlIGd1ZXN0IGtlcm5lbCB3aWxsIHVzZSBWTUZVTkMgdG8gc3dpdGNoIHRvIHRoZQ0KPj4g
YWx0ZXJuYXRlIEVQVHMgYW5kIGNhbGwgInNlY3VyZSBmdW5jdGlvbnMiIHByb3ZpZGVkIChieSB0
aGUgaHlwZXJ2aXNvcikgYXMNCj4+IHJlYWQtb25seSBjb2RlIHRvIGJlIGV4ZWN1dGVkIGluIG5v
bi1yb290IG1vZGUgb24gdGhlIGFsdGVybmF0ZSBFUFQsDQo+PiBhbGxvd2luZyBjZXJ0YWluIFZN
LWV4aXQgc2NlbmFyaW9zIChuYW1lbHksIHNlbmRpbmcgYW4gSVBJIHRvIGFub3RoZXIgdkNQVQ0K
Pj4gb2YgdGhlIHNhbWUgZG9tYWluKSB0byBiZSBoYW5kbGVkIHdpdGhvdXQgZXhpdGluZyBub24t
cm9vdCBtb2RlLiBIZW5jZSwNCj4+IHRoZXNlIGV4dHJhIHByaXZpbGVnZWQgcGFnZXMgc2hvdWxk
IG9ubHkgYmUgdmlzaWJsZSB0byB0aGUgYWx0ZXJuYXRpdmUgcDJtDQo+PiB0aGF0IHRoZSAic2Vj
dXJlIHJlYWxtIiBmdW5jdGlvbnMgbGl2ZSBpbi4gKFRyYW5zaXRpb25zIGJldHdlZW4gdGhlIHNl
Y3VyZS0NCj4+IGFuZCBpbnNlY3VyZS1yZWFsbSBFUFRzIHdpbGwgYmUgdGhyb3VnaCBzcGVjaWFs
IHJlYWQtb25seSAidHJhbXBvbGluZSIgY29kZQ0KPj4gcGFnZXMgdGhhdCBlbnN1cmUgdGhlIHVu
dHJ1c3RlZCBndWVzdCBrZXJuZWwgY2FuIG9ubHkgZW50ZXIgdGhlIHNlY3VyZQ0KPj4gcmVhbG0g
YXQgZGVzaWduYXRlZCBlbnRyeSBwb2ludHMuKQ0KPj4NCj4+IExvb2tpbmcgYXQgWGVuJ3MgZXhp
c3RpbmcgYWx0cDJtIGNvZGUsIEkgZ2V0IHRoZSBzZW5zZSB0aGF0IFhlbiBpcyBhbHJlYWR5DQo+
PiBkZXNpZ25lZCB0byBzdXBwb3J0IHNvbWV0aGluZyBhdCBsZWFzdCB2YWd1ZWx5IGxpa2UgdGhp
cy4gSSBoYXZlIG5vdCwNCj4+IGhvd2V2ZXIsIGJlZW4gYWJsZSB0byBmaW5kIG11Y2ggaW4gdGhl
IHdheSBvZiBkb2N1bWVudGF0aW9uIG9uIGFsdHAybSwgc28gSQ0KPj4gYW0gcmVhY2hpbmcgb3V0
IHRvIHNlZSBpZiBhbnlvbmUgY2FuIG9mZmVyIHBvaW50ZXJzIG9uIGhvdyB0byBiZXN0IHVzZSBp
dC4NCj4+DQo+PiBXaGF0IGlzIHRoZSBpbnRlbmRlZCB3b3JrZmxvdyAoZWl0aGVyIGluIHRoZSB0
b29sc3RhY2sgb3Igd2l0aGluIHRoZQ0KPj4gaHlwZXJ2aXNvciBpdHNlbGYpIGZvciBjcmVhdGlu
ZyBhbmQgY29uZmlndXJpbmcgYW4gYWx0cDJtIHRoYXQgc2hvdWxkIGhhdmUNCj4+IGFjY2VzcyB0
byBhZGRpdGlvbmFsIGhvc3QtcGh5c2ljYWwgZnJhbWVzIHRoYXQgYXJlIG5vdCBwcmVzZW50IGlu
IHRoZQ0KPj4gZ3Vlc3QncyBtYWluIHAybT8NCj4+DQo+PiBGV0lXLCBvbmNlIHRoZSBhbHRwMm0g
aGFzIGJlZW4gc2V0IHVwIGluIHRoaXMgZmFzaGlvbiwgd2UgZG9uJ3QgYW50aWNpcGF0ZQ0KPj4g
bmVlZGluZyB0byBmaWRkbGUgd2l0aCBpdHMgbWFwcGluZ3MgYW55IGZ1cnRoZXIgYXMgbG9uZyBh
cyB0aGUgZ3Vlc3QgaXMNCj4+IHJ1bm5pbmcgKHNvIEknbSB0aGlua2luZyAqbWF5YmUqIHRoZSAi
ZXh0ZXJuYWwiIGFsdHAybSBtb2RlIHdpbGwgc3VmZmljZQ0KPj4gZm9yIHRoaXMpLiBJbiBmYWN0
LCB3ZSBtYXkgbm90IGV2ZW4gbmVlZCB0byBoYXZlIGFueSAib3ZlcmxhcCIgYmV0d2VlbiB0aGUN
Cj4+IHByaW1hcnkgYW5kIGFsdGVybmF0aXZlIHAybSBleGNlcHQgdGhlIHRyYW1wb2xpbmUgcGFn
ZXMgdGhlbXNlbHZlcw0KPj4gKGFsdGhvdWdoIHRoaXMgYXNwZWN0IG9mIG91ciBkZXNpZ24gaXMg
c3RpbGwgc29tZXdoYXQgaW4gZmx1eCkuDQo+Pg0KPj4gSSd2ZSBub3RpY2VkIGEgZnVuY3Rpb24s
IGRvX2FsdHAybV9vcCgpLCBpbiB0aGUgaHlwZXJ2aXNvcg0KPj4gKHhlbi9hcmNoL3g4Ni9odm0v
aHZtLmMpIHRoYXQgc2VlbXMgdG8gaW1wbGVtZW50IGEgbnVtYmVyIG9mIGFsdHAybS1yZWxhdGVk
DQo+PiBoeXBlcmNhbGxzIGludGVuZGVkIHRvIGJlIGNhbGxlZCBmcm9tIHRoZSBkb20wLiBEbyB0
aGVzZSBoeXBlcmNhbGxzIGFscmVhZHkNCj4+IHByb3ZpZGUgYSBzdHJhaWdodGZvcndhcmQgd2F5
IHRvIGFjaGlldmUgbXkgZ29hbHMgZGVzY3JpYmVkIGFib3ZlIGVudGlyZWx5DQo+PiB2aWEgKGEg
cG90ZW50aWFsbHkgbW9kaWZpZWQgdmVyc2lvbiBvZikgdGhlIGRvbTAgdG9vbHN0YWNrPyBPciB3
b3VsZCBJIGJlDQo+PiBiZXR0ZXIgb2ZmIGNyZWF0aW5nIGFuZCBjb25maWd1cmluZyB0aGUgYWx0
cDJtIGZyb20gd2l0aGluIHRoZSBoeXBlcnZpc29yDQo+PiBpdHNlbGYsIHNpbmNlIEkgd2FudCB0
byBtYXAgbG93LWxldmVsIHN0dWZmIGxpa2UgeEFQSUMgTU1JTyByYW5nZXMgaW50byB0aGUNCj4+
IGFsdHAybT8NCj4+DQo+PiBUaGFuayB5b3UgaW4gYWR2YW5jZSBmb3IgeW91ciB0aW1lIGFuZCBh
c3Npc3RhbmNlIQ0KPg0KPiBIZWxsbywNCj4gDQo+IFRoZXJlJ3MgYSBsb3QgdG8gdW5wYWNrIGhl
cmUsIGJ1dCBiZWZvcmUgSSBkbyBzbywgb25lIHF1ZXN0aW9uLiAgSW4geW91cg0KPiB1c2VjYXNl
LCBhcmUgeW91IHdhbnRpbmcgdG8gbWFwIGFueSBmcmFtZXMgd2l0aCByZWR1Y2VkIHBlcm1pc3Np
b25zDQo+IChpLmUuIHN1Y2ggdGhhdCB5b3UnZCBnZXQgYSAjVkUgZXhjZXB0aW9uKSwgb3IgYXJl
IHlvdSBqdXN0IGxvb2tpbmcgdG8NCj4gYWRkIG5ldyBmcmFtZXMgd2l0aCBSV1ggcGVybXMgaW50
byBhbiBhbHRlcm5hdGl2ZSB2aWV3Pw0KPiANCj4gSSBzdXNwZWN0IHRoZSBsYXR0ZXIsIGJ1dCBp
dCdzIG5vdCBjb21wbGV0ZWx5IGNsZWFyLCBhbmQgY2hhbmdlcyB0aGUgYW5zd2VyLg0KPiANCj4g
fkFuZHJldw0KDQpZZXMsIHRoZSBsYXR0ZXIgaXMgY29ycmVjdDogSSBhbSBsb29raW5nIHRvIGFk
ZCBuZXcgZnJhbWVzIHdpdGggUldYIHBlcm1zDQppbnRvIGFuIGFsdGVybmF0aXZlIHZpZXcuIEkg
ZG9uJ3QgY3VycmVudGx5IGVudmlzaW9uIG5lZWRpbmcgI1ZFIGluIGFueSBmb3JtDQpmb3IgdGhp
cyB3b3JrLg0KDQooV2UncmUgdXNpbmcgYSBtb2RpZmllZCBQVkggTGludXggZ3Vlc3QgZm9yIHRo
aXMsIHNvIHJhdGhlciB0aGFuIG5lZWRpbmcgdG8NCmludGVyY2VwdCBhbmQgcmVhY3QgdG8gRVBU
IGZhdWx0cyB2aWEgI1ZFLCB3ZSBjYW4gZXhwZWN0IHRoZSBndWVzdCBrZXJuZWwgdG8NCmV4cGxp
Y2l0bHkgY2FsbCBvdXIgc2VjdXJlLXJlYWxtIGZ1bmN0aW9ucyB2aWEgVk1GVU5DLCByZXBsYWNp
bmcgd2hhdCB3b3VsZA0Kb3RoZXJ3aXNlIGJlIHNvbWUgaHlwZXJjYWxscyBvdXQgdG8gWGVuIGlu
IHJvb3QgbW9kZS4gSSBzdXBwb3NlIHN1cHBvcnRpbmcNCnVubW9kaWZpZWQga2VybmVscyBieSBp
bnRlcmNlcHRpbmcgI1ZFIGNvdWxkIGJlIGFuIGludGVyZXN0aW5nIGVuaGFuY2VtZW50DQpmb3Ig
ZnV0dXJlIHdvcmssIGJ1dCBmb3Igbm93IHdlJ3JlIGNvbnRlbnQgdG8gd29yayB3aXRoIGEgY29v
cGVyYXRpdmUNCm1vZGlmaWVkIFBWSCBndWVzdCBhcyBhIHByb29mIG9mIGNvbmNlcHQuIDotKSkN
Cg0KQmFzaWNhbGx5LCB0aGUgcHJpbWFyeSBwMm0gd2lsbCBiZSAobGFyZ2VseSkgYXMgaXQgaXMg
bm9ybWFsbHksIGFuZCB0aGUNCnVudHJ1c3RlZCBndWVzdCBrZXJuZWwgYW5kIHVzZXJzcGFjZSB3
aWxsIHJ1biBvbiBpdCBhcyBhbiBIVk0vUFZIIGd1ZXN0DQpub3JtYWxseSB3b3VsZC4gVGhlIGFs
dGVybmF0ZSBwMm0gd2lsbCBoYXZlIHNvbWUgYWRkaXRpb25hbCBwcml2YXRlIGNvZGUgYW5kDQpk
YXRhIHBhZ2VzIG1hcHBlZCBpbiAoUldYIGluIHRoZSBhbHRwMm0sIGJ1dCBlaXRoZXIgcmVhZC1v
bmx5IG9yIGNvbXBsZXRlbHkNCnVubWFwcGVkIGluIHRoZSBwcmltYXJ5IHAybSksIGFzIHdlbGwg
YXMgdGhlIGhvc3QncyB4QVBJQyBNTUlPIHJhbmdlIHNvIGl0DQpjYW4gc2VuZCBJUElzIHRvIG90
aGVyIHZDUFVzIHdpdGhvdXQgaGF2aW5nIHRvIFZNLWV4aXQuIFRvIGZhY2lsaXRhdGUgc2FmZQ0K
dHJhbnNpdGlvbnMgYmV0d2VlbiB0aGVzZSB0d28gInJlYWxtcyIsIHdlJ2xsIGJlIGFkZGluZyBh
IGNvdXBsZSBvZg0KUi9YLXBlcm1pc3Npb25lZCAidHJhbXBvbGluZSBwYWdlcyIgdGhhdCB3aWxs
IGNvbnRhaW4gdGhlIFZNRlVOQyBpbnN0cnVjdGlvbnMNCnRoZW1zZWx2ZXMgYW5kIHdpbGwgYmUg
cHJlc2VudCBpbiBib3RoIHAybXMuDQoNClRoYW5rcywNCg0KRXRoYW4gSm9obnNvbg0KQ29tcHV0
ZXIgU2NpZW5jZSBQaEQgY2FuZGlkYXRlLCBTeXN0ZW1zIGdyb3VwLCBVbml2ZXJzaXR5IG9mIFJv
Y2hlc3Rlcg0KZWpvaG5zNDhAY3Mucm9jaGVzdGVyLmVkdQ0K


From xen-devel-bounces@lists.xenproject.org Wed Mar 15 22:10:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 22:10:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510258.787578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcZKA-0000UT-Rf; Wed, 15 Mar 2023 22:10:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510258.787578; Wed, 15 Mar 2023 22: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 1pcZKA-0000UM-Ot; Wed, 15 Mar 2023 22:10:22 +0000
Received: by outflank-mailman (input) for mailman id 510258;
 Wed, 15 Mar 2023 22:10: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=DN/u=7H=citrix.com=prvs=431ad58dd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pcZKA-0000UG-46
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 22:10:22 +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 2b83b127-c37e-11ed-87f5-c1b5be75604c;
 Wed, 15 Mar 2023 23:10: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: 2b83b127-c37e-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678918220;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=AoxV7CO1KLe3TIVgZq2lth+0MW0vNKxwSIMoAHfudKU=;
  b=QJP13QQbNe6x/cpKexEYqZSaJuGfO9LI2zCnD5bCOCwQsH8iJRNCxVXE
   dwqsxtM/Eu4edXd0ZYeeMbVxtO13qJvy8dEXH1UDcG4U6J+LGDWIqYTW1
   7mL79LP58dSl7cC4jxfbz2SMOZ5rYaI511PFIkAORCQdyp3ptkAfJ0muT
   I=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100394084
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:Ibnoy63LataE6TTXEvbD5dpxkn2cJEfYwER7XKvMYLTBsI5bp2FVm
 2McWTvXafiIajb1LookPoXk8B4F6p/czN5nHVc9pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdnOKgR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfGXlDx
 Pk2cwk3URWjlszp7/G4UtZMiZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKk2aOHWjOX9OYH46tM6uimPybHtzr1WNqLBsy2PS0BZwwP7mN9+9ltmiHJ0NxRfE/
 jKal4j/KklGH+aEwzTYyCi9hb7rmB/RBZpVPbLto5aGh3XMnzdOWXX6T2CTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jY+cddNF+wx6CmW17HZpQ2eAwAsUTppeNEg8sgsSlQXO
 kShxo2zQ2Y16fvMFCzbr+3Pxd+vBcQLBXcaaB4BY1A82ebmgJAd0T2MTc5cMKHg27UZBgrM6
 zyNqSE/gZAagsgKy7i38Dj7vt68mnTaZlVrv1uKBwpJ+is8Pdf4PNLwtTA3+N4adO6kok+9U
 G/ociR0xMQHFtmzmSOEW43h95n5tq/eYFUwbbOCdqTNFghBGVb5IOi8Axkkfi+F1/ronhe4C
 HI/QSsLuPdu0IKCNMebmb6ZBcUw1rTHHt/4TP3SZdcmSsEvK1/WpHwzPB/Ngj6FfK0QfUYXa
 P+mnTuEVy5GWcyLMhLvLwvi7VPb7n9nnj6CLXwK5x+mzaCfdBaodFvxC3PXNrpRxPrd8G3oH
 yN3a5PiJ+N3DLevPUE6MOc7cTg3EJTMLcym85ELK7XYfmKL2ggJUpfs/F/oQKQ994w9qwsC1
 i3VtpNwoLYnuUD6FA==
IronPort-HdrOrdr: A9a23:FIcufK2qzSK/YjhvOj2chQqjBfdyeYIsimQD101hICG9E/bo4v
 xG+c5xuyMc5wxwZJheo6H9BEDtexLhHP1OkPos1MmZLWvbUQKTRekJ0WKI+UyCJ8SRzJ856U
 9qG5IOd+EZZTJB4foTi2ODfOrJD7O8nZyAtKPm6zNIcCkvUqdn6m5Ce3Sm+o8dfng5OXL8fq
 DslvauYlCbCAUqh7+Adx04dtmGncTPiJXlJTYeHnccmXCzpALt0qf+Dx+bmjwDUzZDqI1SjF
 TtokjC/6C+tPP+7RfZ2wbonvNrseqk8MJHGMuPzu4KLTn24zzYArhJavm5pTUop+Pq0nYG+e
 O82ysIDoBI8nbMeWPwmxf3xAX69z4r5xbZuCSlqEqmm9X9WDU5T/VMnphYdByx0TtbgO1B
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="100394084"
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/svm: Provide EXITINFO decodes for IO intercetps
Date: Wed, 15 Mar 2023 22:10:03 +0000
Message-ID: <20230315221003.733913-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 removes raw number manipulation, and makes the logic easier to follow.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 xen/arch/x86/hvm/svm/svm.c              | 11 +++++------
 xen/arch/x86/include/asm/hvm/svm/vmcb.h | 14 ++++++++++++++
 2 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index a43bcf2e92f0..bfe03316def6 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2939,13 +2939,12 @@ void svm_vmexit_handler(void)
         break;
 
     case VMEXIT_IOIO:
-        if ( (vmcb->exitinfo1 & (1u<<2)) == 0 )
+        if ( !vmcb->ei.io.str )
         {
-            uint16_t port = (vmcb->exitinfo1 >> 16) & 0xFFFF;
-            int bytes = ((vmcb->exitinfo1 >> 4) & 0x07);
-            int dir = (vmcb->exitinfo1 & 1) ? IOREQ_READ : IOREQ_WRITE;
-            if ( handle_pio(port, bytes, dir) )
-                __update_guest_eip(regs, vmcb->exitinfo2 - vmcb->rip);
+            if ( handle_pio(vmcb->ei.io.port,
+                            vmcb->ei.io.bytes,
+                            vmcb->ei.io.in ? IOREQ_READ : IOREQ_WRITE) )
+                __update_guest_eip(regs, vmcb->ei.io.nrip - vmcb->rip);
         }
         else if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
             hvm_inject_hw_exception(TRAP_gp_fault, 0);
diff --git a/xen/arch/x86/include/asm/hvm/svm/vmcb.h b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
index e87728fa81cd..2981a303746a 100644
--- a/xen/arch/x86/include/asm/hvm/svm/vmcb.h
+++ b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
@@ -436,6 +436,20 @@ struct vmcb_struct {
             uint64_t exitinfo2; /* offset 0x80 */
         };
         union {
+            struct {
+                bool     in:1;
+                bool     :1;
+                bool     str:1;
+                bool     /* rep */:1;
+                uint16_t bytes:3;
+                uint16_t /* asz */:3;
+                uint16_t /* seg */:3;
+                uint16_t :3;
+                uint16_t port;
+                uint32_t :32;
+
+                uint64_t nrip;
+            } io;
             struct {
                 uint16_t sel;
                 uint64_t :48;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 23:15:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 23:15:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510264.787597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcaKf-0008Il-Is; Wed, 15 Mar 2023 23:14:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510264.787597; Wed, 15 Mar 2023 23:14:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcaKf-0008Ie-Fl; Wed, 15 Mar 2023 23:14:57 +0000
Received: by outflank-mailman (input) for mailman id 510264;
 Wed, 15 Mar 2023 23:14: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=Owab=7H=collabora.com=dmitry.osipenko@srs-se1.protection.inumbo.net>)
 id 1pcaKd-0008IW-SY
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 23:14:56 +0000
Received: from madras.collabora.co.uk (madras.collabora.co.uk
 [2a00:1098:0:82:1000:25:2eeb:e5ab])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3072932b-c387-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 00:14:53 +0100 (CET)
Received: from [192.168.2.157] (109-252-120-116.nat.spd-mgts.ru
 [109.252.120.116])
 (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 (Authenticated sender: dmitry.osipenko)
 by madras.collabora.co.uk (Postfix) with ESMTPSA id 6C7566602097;
 Wed, 15 Mar 2023 23:14:50 +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: 3072932b-c387-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com;
	s=mail; t=1678922091;
	bh=kfbQvx/fSEJBURTbw+/HXV8hkAheOenZMDFc7GsHgaA=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=TAsmnXa90YaFQQOG4k9koeZ3LR5Ie8vvLmANBMhpXuM5wFSm6KGVPa9zHNsMQio5n
	 2LEwXOACKu0vD0XTtAQO6eoQtlNKJRfhDF55FomfLvig1hogjFctUD6zx2C2uFTZB2
	 gvbJx0psCt0B90Hc3ndt3flaGdSuArzw3zHap1uh68BuOi1hv6sQNaF1B/a3liZlJN
	 EBgG2wI2C0XhYJF6Yru7DMurnjQGGyk6lwrFAMXEZhbI0euGu4GCdTOHrlT65p7ODh
	 FMk1ayFUiLtKkwepYML19bsKMB3qJM+qGMYBSJITCA+LrFvkaJYecxmBC3fJ/sHjdp
	 0IaLGcZuFqWmg==
Message-ID: <53c25304-bc30-b5af-846e-b247aab67be9@collabora.com>
Date: Thu, 16 Mar 2023 02:14:47 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC QEMU PATCH 08/18] virtio-gpu: Initialize Venus
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin"
 <mst@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Robert Beckett <bob.beckett@collabora.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Deucher, Alexander" <Alexander.Deucher@amd.com>,
 "Koenig, Christian" <Christian.Koenig@amd.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 "Huang, Honglei1" <Honglei1.Huang@amd.com>,
 "Zhang, Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
References: <20230312092244.451465-1-ray.huang@amd.com>
 <20230312092244.451465-9-ray.huang@amd.com>
 <68195782-0309-2f81-7f1f-84a7fe7bb05c@collabora.com>
 <ZA9HWRYxPUk1OeGe@amd.com>
From: Dmitry Osipenko <dmitry.osipenko@collabora.com>
In-Reply-To: <ZA9HWRYxPUk1OeGe@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 3/13/23 18:55, Huang Rui wrote:
> On Mon, Mar 13, 2023 at 01:51:03AM +0800, Dmitry Osipenko wrote:
>> On 3/12/23 12:22, Huang Rui wrote:
>>> From: Antonio Caggiano <antonio.caggiano@collabora.com>
>>>
>>> Request Venus when initializing VirGL.
>>>
>>> Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
>>> ---
>>>  hw/display/virtio-gpu-virgl.c | 4 ++++
>>>  1 file changed, 4 insertions(+)
>>>
>>> diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
>>> index fe03dc916f..f5ce206b93 100644
>>> --- a/hw/display/virtio-gpu-virgl.c
>>> +++ b/hw/display/virtio-gpu-virgl.c
>>> @@ -803,7 +803,11 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
>>>  {
>>>      int ret;
>>>  
>>> +#ifdef VIRGL_RENDERER_VENUS
>>> +    ret = virgl_renderer_init(g, VIRGL_RENDERER_VENUS, &virtio_gpu_3d_cbs);
>>> +#else
>>>      ret = virgl_renderer_init(g, 0, &virtio_gpu_3d_cbs);
>>> +#endif
>>
>> Note that Venus now requires VIRGL_RENDERER_RENDER_SERVER flag to be
>> set. Please test the patches with the latest virglrenderer and etc.
>>
>> The #ifdef also doesn't allow adding new flags, it should look like:
>>
>> #ifdef VIRGL_RENDERER_VENUS
>>     flags |= VIRGL_RENDERER_RENDER_SERVER;
>> #endif
>>
>>     ret = virgl_renderer_init(g, flags, &virtio_gpu_3d_cbs);
> 
> In fact, we have rebased to the latest virglrenderer:
> 
> We check both VIRGL_RENDERER_RENDER_SERVER or VIRGL_RENDERER_VENUS in
> virglrenderer, alternative of them works.
> 
> https://gitlab.freedesktop.org/rui/virglrenderer/-/commit/c1322a8a84379b1ef7939f56c6761b0114716f45

All the extra changes you made to virglrenderer that Qemu depends on
need to go upstream. Please open all the relevant merge requests. Thanks!

-- 
Best regards,
Dmitry



From xen-devel-bounces@lists.xenproject.org Wed Mar 15 23:25:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Mar 2023 23:25:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510266.787607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcaUh-0001cm-Gz; Wed, 15 Mar 2023 23:25:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510266.787607; Wed, 15 Mar 2023 23: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 1pcaUh-0001cf-Db; Wed, 15 Mar 2023 23:25:19 +0000
Received: by outflank-mailman (input) for mailman id 510266;
 Wed, 15 Mar 2023 23: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=keCs=7H=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcaUg-0001cT-3k
 for xen-devel@lists.xenproject.org; Wed, 15 Mar 2023 23:25:18 +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 a3f7a091-c388-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 00:25:15 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id C9A69B81F69;
 Wed, 15 Mar 2023 23:25:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 13837C4339B;
 Wed, 15 Mar 2023 23:25: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: a3f7a091-c388-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678922713;
	bh=jc1Gbldgu0s3c1IL4ZwUV75CvRBN1rI1hujAlbgRO+M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=NnDonRvDGOEUa1gqnkXP4Rh19Niwv9n0KsLi7zCRaxG2und0Dk6en63v1orrj6ZGw
	 lozAuqt876/Db9pEtvAZt2dR5InwzKUlbBdsfnujEuG5F/cujBwEY5jHoe1VE7OuS9
	 3LMXbUq59uW8YMc83N0zrUSpADe/oEKUGVmV1RIIA0/yveyALHfvtJ9S6+RJLXwKKs
	 povEA3lU9rUCt++t5O3sgG1gRk3tAhaQsgKZNbl5UdljiPuS3lZG7lIaPIlD8OgIq0
	 dk3NgWu2z0h5LVZyBMVvG/QWHp7XM3OFPKp0tTwY2yrLMOUsaePm7IewZlpl6eDagG
	 NfFs5aff/mgCQ==
Date: Wed, 15 Mar 2023 16:25:06 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, Huang Rui <ray.huang@amd.com>, 
    Alex Deucher <alexander.deucher@amd.com>, 
    =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@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>, Juergen Gross <jgross@suse.com>, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, 
    dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
In-Reply-To: <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com>
Message-ID: <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop>
References: <20230312120157.452859-1-ray.huang@amd.com> <20230312120157.452859-2-ray.huang@amd.com> <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com> <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
 <f5e03f2a-8176-528f-e885-9a97940367c0@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 Mar 2023, Jan Beulich wrote:
> On 15.03.2023 01:52, Stefano Stabellini wrote:
> > On Mon, 13 Mar 2023, Jan Beulich wrote:
> >> On 12.03.2023 13:01, Huang Rui wrote:
> >>> Xen PVH is the paravirtualized mode and takes advantage of hardware
> >>> virtualization support when possible. It will using the hardware IOMMU
> >>> support instead of xen-swiotlb, so disable swiotlb if current domain is
> >>> Xen PVH.
> >>
> >> But the kernel has no way (yet) to drive the IOMMU, so how can it get
> >> away without resorting to swiotlb in certain cases (like I/O to an
> >> address-restricted device)?
> > 
> > I think Ray meant that, thanks to the IOMMU setup by Xen, there is no
> > need for swiotlb-xen in Dom0. Address translations are done by the IOMMU
> > so we can use guest physical addresses instead of machine addresses for
> > DMA. This is a similar case to Dom0 on ARM when the IOMMU is available
> > (see include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect, the corresponding
> > case is XENFEAT_not_direct_mapped).
> 
> But how does Xen using an IOMMU help with, as said, address-restricted
> devices? They may still need e.g. a 32-bit address to be programmed in,
> and if the kernel has memory beyond the 4G boundary not all I/O buffers
> may fulfill this requirement.

In short, it is going to work as long as Linux has guest physical
addresses (not machine addresses, those could be anything) lower than
4GB.

If the address-restricted device does DMA via an IOMMU, then the device
gets programmed by Linux using its guest physical addresses (not machine
addresses).

The 32-bit restriction would be applied by Linux to its choice of guest
physical address to use to program the device, the same way it does on
native. The device would be fine as it always uses Linux-provided <4GB
addresses. After the IOMMU translation (pagetable setup by Xen), we
could get any address, including >4GB addresses, and that is expected to
work.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 00:23:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 00:23:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510270.787616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcbOa-0001GC-12; Thu, 16 Mar 2023 00:23:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510270.787616; Thu, 16 Mar 2023 00: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 1pcbOZ-0001G5-UD; Thu, 16 Mar 2023 00:23:03 +0000
Received: by outflank-mailman (input) for mailman id 510270;
 Thu, 16 Mar 2023 00:23: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=oCnM=7I=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcbOY-0001Fz-Eu
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 00:23: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 b3f1e53d-c390-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 01:22:59 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 475B461EDB;
 Thu, 16 Mar 2023 00:22:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CCB36C433D2;
 Thu, 16 Mar 2023 00: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: b3f1e53d-c390-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678926176;
	bh=mdjnrNokCY8JtbyIxzs9EgXqv3UGeewhbf2Za9U5xGc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=iXc7Bb5M9S5+Ha8NDe7Df9+IO3eeECcO6ZiL/XtlUq3yBDs1URE0CJEJduq2uqemt
	 zKb3DgenHrXgzTqE1pCPt7mnY6bgJ0v4qRR4maxYxltLO0vz698EATyCeoY309W92I
	 2ZFtMYRrbt0RScUWUlYbAiZz9ZjHBiz2AL9VxtusiWLqc4UrYSLBJ8TU6jBn0HBt/F
	 e/K7e8a+QsiIu+lwifPSTxIHkRNrYdaVsHFMqrpbHVE5aQMgbANNqNRVn7lFGH5VkX
	 NxQINpM/YVLg8xHUREjA8ikFeX0ip62dupebJPLmuDz/pTWabp2V+ruRkhkQLRX5zC
	 7ygH6hqr+9Jag==
Date: Wed, 15 Mar 2023 17:22:53 -0700 (PDT)
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: Huang Rui <ray.huang@amd.com>, Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, 
    Alex Deucher <alexander.deucher@amd.com>, 
    =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC XEN PATCH 3/6] x86/pvh: shouldn't check pirq flag when map
 pirq in PVH
In-Reply-To: <ZBHq+UeK/lBj3s8l@Air-de-Roger>
Message-ID: <alpine.DEB.2.22.394.2303151722040.3462@ubuntu-linux-20-04-desktop>
References: <20230312075455.450187-1-ray.huang@amd.com> <20230312075455.450187-4-ray.huang@amd.com> <ZBHq+UeK/lBj3s8l@Air-de-Roger>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-589186721-1678926176=:3462"

  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-589186721-1678926176=:3462
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 15 Mar 2023, Roger Pau Monné wrote:
> On Sun, Mar 12, 2023 at 03:54:52PM +0800, Huang Rui wrote:
> > From: Chen Jiqian <Jiqian.Chen@amd.com>
> > 
> > PVH is also hvm type domain, but PVH hasn't X86_EMU_USE_PIRQ
> > flag. So, when dom0 is PVH and call PHYSDEVOP_map_pirq, it
> > will fail at check has_pirq();
> > 
> > Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> > Signed-off-by: Huang Rui <ray.huang@amd.com>
> > ---
> >  xen/arch/x86/hvm/hypercall.c | 2 --
> >  1 file changed, 2 deletions(-)
> > 
> > diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
> > index 405d0a95af..16a2f5c0b3 100644
> > --- a/xen/arch/x86/hvm/hypercall.c
> > +++ b/xen/arch/x86/hvm/hypercall.c
> > @@ -89,8 +89,6 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> >      case PHYSDEVOP_eoi:
> >      case PHYSDEVOP_irq_status_query:
> >      case PHYSDEVOP_get_free_pirq:
> > -        if ( !has_pirq(currd) )
> > -            return -ENOSYS;
> 
> Since I've taken a look at the Linux side of this, it seems like you
> need PHYSDEVOP_map_pirq and PHYSDEVOP_setup_gsi, but the later is not
> in this list because has never been available to HVM type guests.
> 
> I would like to better understand the usage by PVH dom0 for GSI
> passthrough before deciding on what to do here.  IIRC QEMU also uses
> PHYSDEVOP_{un,}map_pirq in order to allocate MSI(-X) interrupts.

I'll let Ray reply here, but I think you are right:
HYSDEVOP_{un,}map_pirq are needed so that QEMU can run in PVH Dom0 to
support HVM guests.
--8323329-589186721-1678926176=:3462--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 00:26:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 00:26:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510272.787626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcbS0-0001qF-FX; Thu, 16 Mar 2023 00:26:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510272.787626; Thu, 16 Mar 2023 00:26: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 1pcbS0-0001q8-Cu; Thu, 16 Mar 2023 00:26:36 +0000
Received: by outflank-mailman (input) for mailman id 510272;
 Thu, 16 Mar 2023 00: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=oCnM=7I=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcbRz-0001q2-V4
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 00:26:35 +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 339d3172-c391-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 01:26:33 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D234961ECD;
 Thu, 16 Mar 2023 00:26:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 40167C433D2;
 Thu, 16 Mar 2023 00:26: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: 339d3172-c391-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678926391;
	bh=F3MVPAsyb9tcMQwtfiYeo9NnzGay0xIBRkQnoKDogEY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=LqWYyZ/aNtPS0UvSxbeHqqtZz+RHpsH1QCg3HkhSr3ZYAPZfNzvRhniTx8ttCTktc
	 AtbwijLdvrl26A7R8MEcgen83Hwvd+cxRkrSjrs1P8dSaeU/JI/OrVf3Yc86qYGRH2
	 kGgBR0cfvgGERzsx+IvnY8ywTSnFLlLaHuDeSUx2zfqq2wcrdmIZeqHnMCqfSoAH4l
	 qaONEqA4x6pAyVx0M7ANiLOWtyHdA4e5O514lJibVleeNdQ0S7GAbTX+UMT1cNyqXM
	 oBpSboAuKvUQt7KfrnWRkuNt9u7DltKwFBa+JyQlCBw413EHgJUFppnJbV1yC3kosk
	 SssaZfPbvP2ZA==
Date: Wed, 15 Mar 2023 17:26:27 -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: Jan Beulich <jbeulich@suse.com>, Huang Rui <ray.huang@amd.com>, 
    Alex Deucher <alexander.deucher@amd.com>, 
    =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [RFC XEN PATCH 4/6] x86/pvh: PVH dom0 also need PHYSDEVOP_setup_gsi
 call
In-Reply-To: <521ccacd-a45a-f55a-72ed-de6b64bca050@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2303151723190.3462@ubuntu-linux-20-04-desktop>
References: <20230312075455.450187-1-ray.huang@amd.com> <20230312075455.450187-5-ray.huang@amd.com> <c51bcc5b-4f90-5651-de3d-df47bdf4a04a@suse.com> <521ccacd-a45a-f55a-72ed-de6b64bca050@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, 15 Mar 2023, Andrew Cooper wrote:
> On 14/03/2023 4:30 pm, Jan Beulich wrote:
> > On 12.03.2023 08:54, Huang Rui wrote:
> >> From: Chen Jiqian <Jiqian.Chen@amd.com>
> > An empty description won't do here. First of all you need to address the Why?
> > As already hinted at in the reply to the earlier patch, it looks like you're
> > breaking the intended IRQ model for PVH.
> 
> I think this is rather unfair.
> 
> Until you can point to the document which describes how IRQs are
> intended to work in PVH, I'd say this series is pretty damn good attempt
> to make something that functions, in the absence of any guidance.

And to make things more confusing those calls are not needed for PVH
itself, those calls are needed so that we can run QEMU to support
regular HVM guests on PVH Dom0 (I'll let Ray confirm.)

So technically, this is not breaking the PVH IRQ model.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 00:35:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 00:35:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510274.787636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcbaQ-0003YA-Ar; Thu, 16 Mar 2023 00:35:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510274.787636; Thu, 16 Mar 2023 00:35: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 1pcbaQ-0003Y3-84; Thu, 16 Mar 2023 00:35:18 +0000
Received: by outflank-mailman (input) for mailman id 510274;
 Thu, 16 Mar 2023 00:35: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=s7gr=7I=gmail.com=alistair23@srs-se1.protection.inumbo.net>)
 id 1pcbaO-0003Xx-Uq
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 00:35:17 +0000
Received: from mail-vs1-xe32.google.com (mail-vs1-xe32.google.com
 [2607:f8b0:4864:20::e32])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6aa1ff88-c392-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 01:35:14 +0100 (CET)
Received: by mail-vs1-xe32.google.com with SMTP id t4so137532vsq.1
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 17:35:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6aa1ff88-c392-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678926913;
        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=YaZKm1ITKbU0wA0oElwkn4BzzZNLe1itiUvf9UX6QiQ=;
        b=JDce7IGMzJEcC/h91n1LX+Eq273aWGboAioeC3WLlI4HxJNqv/QGCww98ompWxiOTF
         ChzEFpRykqeLTFNoNysE4IT9lDU/+B1Kd2hA0hjxggKmKj6O6BWsk2CwYCBvYs910Ao9
         O+RRf5epbVDADXtd/6f/g0PL3vQ90K8Rb97uWNyGuQ5+q3idv9wAZ5jHh/ZyRnHuEcHD
         81f9mdpVtRkaSWsMjDcxzj/rdxbCCUXF1fgKFQKkDMdgP79RGi7OfJyWfl2nlqD835s8
         4aN0ZE7jSd4mBYdCd4bPwrDgwQTrclXwPhdc1fLewnBUWlikhTm2tX9HObGjvrnTlSq8
         fCMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678926913;
        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=YaZKm1ITKbU0wA0oElwkn4BzzZNLe1itiUvf9UX6QiQ=;
        b=5zqeRrovVulpSQ7ricRlQGzdZWOGMUyHrDR0GKO8/RRPI10jCkB9DGcXfUFj7HwOWn
         yJRtthXC2gVWwFcqEzu74jZmr5MOGNzqWihxsdxVkO8Ox8XDuwuHOoLl46T40OwJRHJD
         Bp37iBtbqUjycIfYg76wxkCA0pfZBk2Ioxw9O2nGWz/8ibHBNSprhHPRPKp98Tvgyiva
         ievmRfvKm/7bOq0ha6lCtWNKkpsp44+7Uz4aJnjwRHUjWKqpRbfgct56AITlPK8dQmeO
         yaz0iI4duUvolYab1tYamvp5YWgRYJ4+8OfJw5qNDAARSuYA4TAtMJe9B+RDZ7cg3r8A
         aGOw==
X-Gm-Message-State: AO0yUKUA+/EpevtY7eGguIQ8oIqqc1zEUIyAGkz5hDGnEl87BFPRsU2w
	6zc/M2KHRMEgEpZGj+5JrcTm5hyD0ZzDPpnZQpk=
X-Google-Smtp-Source: AK7set+RLtxLe1erygxVE2B4RLWx61aLusiOORHuY9TH5Ai9MZM/9tXLiBG3el276Kb3YI7CjACm2pdZOu16lbYoTDg=
X-Received: by 2002:a67:eb86:0:b0:422:1654:7737 with SMTP id
 e6-20020a67eb86000000b0042216547737mr16307831vso.3.1678926913489; Wed, 15 Mar
 2023 17:35:13 -0700 (PDT)
MIME-Version: 1.0
References: <20230315190325.668853-1-andrew.cooper3@citrix.com>
In-Reply-To: <20230315190325.668853-1-andrew.cooper3@citrix.com>
From: Alistair Francis <alistair23@gmail.com>
Date: Thu, 16 Mar 2023 10:34:47 +1000
Message-ID: <CAKmqyKOSCn6=R3Tdj=FPoKZ-RcE3CGFKFDJC4vyx_2GqLmtAww@mail.gmail.com>
Subject: Re: [PATCH] xen/riscv: Fix early_puts() newline handling
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Bob Eshleman <bobbyeshleman@gmail.com>, 
	Alistair Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 16, 2023 at 5:03=E2=80=AFAM Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:
>
> OpenSBI already expands \n to \r\n.  Don't repeat the expansion, as it do=
ubles
> the size of the resulting log with every other line being blank.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
> CC: Bob Eshleman <bobbyeshleman@gmail.com>
> CC: Alistair Francis <alistair.francis@wdc.com>
> CC: Connor Davis <connojdavis@gmail.com>
> ---
>  xen/arch/riscv/early_printk.c | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/xen/arch/riscv/early_printk.c b/xen/arch/riscv/early_printk.=
c
> index b66a11f1bc1a..97a94885773b 100644
> --- a/xen/arch/riscv/early_printk.c
> +++ b/xen/arch/riscv/early_printk.c
> @@ -16,8 +16,6 @@ void early_puts(const char *s, size_t nr)
>  {
>      while ( nr-- > 0 )
>      {
> -        if ( *s =3D=3D '\n' )
> -            sbi_console_putchar('\r');
>          sbi_console_putchar(*s);
>          s++;
>      }
> --
> 2.30.2
>
>


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 00:37:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 00:37:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510276.787647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcbcZ-00045p-N5; Thu, 16 Mar 2023 00:37:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510276.787647; Thu, 16 Mar 2023 00:37: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 1pcbcZ-00045i-KG; Thu, 16 Mar 2023 00:37:31 +0000
Received: by outflank-mailman (input) for mailman id 510276;
 Thu, 16 Mar 2023 00:37: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=lZp/=7I=citrix.com=prvs=432965e83=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pcbcY-00045a-Dj
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 00:37:30 +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 b9ee1e9f-c392-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 01:37:28 +0100 (CET)
Received: from mail-mw2nam10lp2102.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.102])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 20:37:21 -0400
Received: from BN7PR03MB3618.namprd03.prod.outlook.com (2603:10b6:406:c3::27)
 by DS7PR03MB5639.namprd03.prod.outlook.com (2603:10b6:5:2c6::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Thu, 16 Mar
 2023 00:37:20 +0000
Received: from BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::5655:5504:ff73:814]) by BN7PR03MB3618.namprd03.prod.outlook.com
 ([fe80::5655:5504:ff73:814%3]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 00:37: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: b9ee1e9f-c392-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678927048;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=IdIBInz1m2QTYlk6DrxxuObPcjDGJc34lmvC/ufwO9U=;
  b=SvPH9pXHv64b8z8bAjoYhUka4CWde5vCsM1yGPjEw/TYVuRnQb5w/XR5
   K3U1jUtp1OUILOs4Vfpx2kF2kS/zCuzmp4LAIElgaL4ThBLyB/jDq2URn
   jAIxg4LG/5TBcsEVWwsN8xSf6K+AOUzq8nzwEfvhDfCGtfBxxr1L7hzAY
   k=;
X-IronPort-RemoteIP: 104.47.55.102
X-IronPort-MID: 99842122
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:hKtjLqOmwqV/A3nvrR0RlsFynXyQoLVcMsEvi/4bfWQNrUp21zYPm
 GEWXmCHP6vea2ehf4wgOovk90hS78LcnYRnHQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5wFmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0uNUK39qq
 uMgEREcdADc2P/n7YOjTvY506zPLOGzVG8ekldJ6GiBSNMZG9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PdxujCJpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8eezHOnAttITtVU8NZongLJhUoKJycEclWrncC/l2W8Z9dQf
 hl8Fi0G6PJaGFaQZtP6VRep5nOfvhoRXtNWO+I/4QCJjKHT5m6xAWwJTSVAaZolqdUxTjwp0
 XeGmtroAXpkt7j9YXuZ96yIpDKofyYPJGkJZDQsUgcOpdLkpekbhRXJSNFhHKerj8bdFjT5w
 jTMpy87750cjMcN07iw9HjdgiyrvZnPRUg+4QC/dmCv4x59ZYWlT5e18lWd5vFFRK6CVUWIt
 nUAn8mY7cgNAIuLmSjLR/8CdJm56vDAPDDCjFpHG5g66y/r63OlZZpX4jx1OAFuKMlsRNPyS
 ErauAcU4YAJOnKvNPdze9joU55syrX8H9P4UPySdsBJfpV6aA6A+mdpeFKU2Gfu1kMrlMnTJ
 KumTCplNl5CYYwP8dZ8b711PWMDrszm+V7ueA==
IronPort-HdrOrdr: A9a23:H+jfyauRyKstbBK2DhuO4Cg67skCEIAji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJhBo7+90We7MArhHO1OkO4s1NCZLXTbUQqTXftfBO7ZrwEIdBeOldK1uZ
 0QFpSWTeeAdmSS7vyKnjVQcexB/DDvysnB64bjJjVWPHlXgslbnnhE422gYylLrWd9dPwE/d
 anl6h6T23KQwVqUi33PAhNY8Hz4/nw0L72ax8PABAqrCGIkDOT8bb/VzSIwxsEVDtL4LE6tU
 zIiRbw6KmPu+yyjka07R6f071m3P/ajvdTDs2FjcYYbh3qlwaTfYxkH5GSoTwvp+mryVAy1P
 3BuQ0pMchf427YOku1vRzu8Q/91ytG0Q6p9XaoxV/Y5eDpTjMzDMRMwapfbxvi8kIl+PVxyr
 hC0W61v4deSUqoplW32/H4EzVR0makq3srluAey1RZTIslcbdU6agS5llcHpssFD/zrKonDO
 5tJsfB4+s+SyLTU1np+k1UhPC8VHU6GRmLBmAEp8yuyjBT2Et0ykMJrfZv6ksoxdYYcd1p9u
 7EOqNnmPVlVckNd59wA+8HXI+eFnHNaQikChPSHX3XUIU8f17doZ/+57s4oMuwfoYT8Zc0kJ
 PdFHtFqG8JfV70A8Hm5uwEzvn0ehT/Yd3R8LAd23Ag0YeMAYYDcBfzB2zGqvHQ48n2WabgKr
 KO0JE/OY6XEYKhI/cP4+TEYeggFZAvarxlhj8FYSP/nivqEPycigWJSoekGJPdVRAZZ0jYPl
 wvGBDOGeQo1DHYZpa/ummcZ0/Q
X-IronPort-AV: E=Sophos;i="5.98,262,1673931600"; 
   d="scan'208";a="99842122"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z2dd4tKgMfRbYE2ulm7fv70JeFRXkIzBF7BS+4qflWwQ3rrFFwNeSTO9EVNwwSqGRW5IPEFRjceD0w5IWWlvyAOtqytseHbgb/LV0pJaF9YQvaEgO4wLe2PtBG+jimb39a64+wWcVIBXHho8gRug6j2zSQotk8Bevy0pBP2SJBC/gc+WxQ4s7ZDo8oesLMR8f7B8YJLirCssPaJH/RIdB3QLawa3xXpNmEWj4K7MTYUscFRirwCyIEaCfQjV9AKa0wI1cpjEKBFeH1tesoBTlmxgHgUcH864r3QFLSCDT/WCYOXaFqbm6QkQUdL85MeW/s5dKA+yNMj4qukU2HulZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IdIBInz1m2QTYlk6DrxxuObPcjDGJc34lmvC/ufwO9U=;
 b=mUWFv+MeY/4Lc1ZZWkgj4ymcYgXRlEnfF0/rGtZA72ZCaekUS/z2TIHi1b97y9j7NBtCw3oemrju9YppZKlghEliI7xHknGtWNIooyApdzjGldzpwB3ZPjw8poeNQehd0agcAk5W5SjhkPa55O9v4jMbYeoVyE6/hEgvsEAy/cDk0CQ09R52KLMKYgqvyygoZtPwNi/kxVh1tIuErZfGYlISGmMI8+23CcUiSunZwlBxAr11WLFWDB7qbPWBIpjkoOpO8ZvbAXL9cMWyKwmRvuaLCPIznNq6ap32kk8q40FTlAZJB8ySi36ntf6GU7RRQmDQ8vZyjO9qpdtkAtmpkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IdIBInz1m2QTYlk6DrxxuObPcjDGJc34lmvC/ufwO9U=;
 b=nhzRU3rFg8fGYir0y1Rup583soKEYajPjZf2YrAG7Bd78qhCVPpr3cWsljtvzIH9kvcFMtgEqLoTu5wTbh9tZpJPzxzNyWVOo9Ochkmxbag0jMEsXiLDKyEeMHVGuQFGE/cB4Ocm6MbMZnB2TEtq8CXmdjNPxJWpyIxnz8ZLIOU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <1a970dcd-2c0e-d938-b0e2-67d2455a8592@citrix.com>
Date: Thu, 16 Mar 2023 00:37:13 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 0/3] Do basic initialization things
Content-Language: en-GB
To: Bobby Eshleman <bobby.eshleman@gmail.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, Gianluca Guida
 <gianluca@rivosinc.com>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
 <CAKB00G2=MSXrLyczXUEm+OzBj=an6CsjUrRfDhLELupTyAGd2w@mail.gmail.com>
In-Reply-To: <CAKB00G2=MSXrLyczXUEm+OzBj=an6CsjUrRfDhLELupTyAGd2w@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0656.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:316::12) To BN7PR03MB3618.namprd03.prod.outlook.com
 (2603:10b6:406:c3::27)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN7PR03MB3618:EE_|DS7PR03MB5639:EE_
X-MS-Office365-Filtering-Correlation-Id: 84f658c9-f35d-4757-b0db-08db25b6995a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tfkZcPksRqhEax15KzTw8vZHvXbYu2DfFj6pDduvKb1wu06SyKjzoZ5tkk84s+M9r6BJ5PBVTZLgvZiYIdSJIgDSCkHdF56kRCUL1dcvOYciQP/kCJ006OiN9GkL/NLCwmSNFidi1RIKcUtPV7cneiLhOIkNBmMS7cOEIrTvNtttqFRKtPo/u4FnTGzTWQ4Zwy85Xt138urhR4WHk/YDX8s4/dES7k8EtAvWgO0tyS36LsEk8B1bSE8OlcmzYZb/bmbpK48tyQDmNxTx4jnKGYyMkg1OUsZjNX7lFvHHl15t+fi0GUYUcEDf1ob4YyLKFFj2B7OTNNszzdi/8A9WEPcokUcP1BYl7HO7BhLklPSerL/SJTW5gyrp2Y1sHZn173BLA0haBx7Zo6iVvH264GkJ9q9zXQRJ9QWRRWnagjszF4d998v5g15QIOt9efIdLckrMuRXhJu0lNakubHn15CykWbyZ47E/rEQa6on/QT5byPUZZMzXBecUrAvGdsexxZVVLI2an08tAvUPp3Xy1eh2gp8mXuT+zPiN8J++y/v0YUUUNAW7J99c7orZkHy9zdh54eJviT6yJH5IMCnalvvUCCyG6+V/jhR6sWNFexTxIHUVTqP6q/PRKwYUoLUVuRNjQYVcyg6LnGalFhG1PNJeb0bygzWUh10v9BOVhWVN/CG75buEHCTBauwVy7Ibw5CdWXkeW6EO4qyMj6CAHg2CSNSjQuHF382sy9Z2Eo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN7PR03MB3618.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(376002)(136003)(39860400002)(396003)(346002)(451199018)(2906002)(82960400001)(31686004)(83380400001)(5660300002)(36756003)(66476007)(66556008)(41300700001)(8936002)(4326008)(31696002)(558084003)(38100700002)(54906003)(86362001)(110136005)(316002)(66946007)(478600001)(8676002)(2616005)(186003)(26005)(6512007)(6666004)(53546011)(6486002)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UDNWbXQzbUJrd1pyTVN4a1RtQlhNRE1YTjdDZDh3VyswaEpXMXhEdTN0byt3?=
 =?utf-8?B?REd4Q3g0b3ZTSzRXeUVJSUZYc0dpei9UQWUzWTVZRS95dmtuR3hTZlUzRURv?=
 =?utf-8?B?dGtLaFd6cEpUVEJYM1hBMDk0U0NaZnNVM3RZZUxjK3A5NXh3K0hBcVVxbm96?=
 =?utf-8?B?Yjd3bUxRMkRRRENvK2ZWMzJJUXl2RGoxc0hPMHh2N09RZ09JY3E1MFZ2clgx?=
 =?utf-8?B?ZG9zRnNuQ2RWVVliQS92V1c2L01zQ1JlRno3TUltU0I5RkxuQW5iNnJXNDlR?=
 =?utf-8?B?eHV3S2JqT1Y1dG1tTDBYWTcxUXg1UEJEaE55WitUL3dBYnY5c3REM3dYT09W?=
 =?utf-8?B?U1BhYkk3NG84R3dKWldFSnlEbFZGY3FUd0s3Q3dmZlpjVEdWR1RGUjUydmd0?=
 =?utf-8?B?citZcmxKVmF3QnlybTI2dDBXd1ZuTVVsblhTVWg1ZWNYQWFIOTNsR1BpWWRO?=
 =?utf-8?B?dlVJMXFhb2FFQVhzR21RdjN6c2xtZldlL2t1OTIrVGc2TUVGb1E0dFdTSGlX?=
 =?utf-8?B?VllpQUwxbzNIMGVkbDJtUXl2QmdGMm4rMmZOWURDWTEyMk8wbFppYmQ0a1lz?=
 =?utf-8?B?czlBaWRhNGNTK0UwaWFXaC9LQndpWTlyQ1czV3MyNDVRbU15L1J3VXRTNUFQ?=
 =?utf-8?B?UVV0d1ZLc25hZWMwTVpkd1R5K3JQaWNSSzhHTENqOHhndlpMdlJUMU1QdUJ1?=
 =?utf-8?B?aUZsQnpJUXFTV1RhbkFJZW1RcWhsRG54R1hVVWRyQjlWZGg0eVBXVHR2NHVY?=
 =?utf-8?B?WVZSaG1TRVNBRmpqYnBHODN2ZllrS3d5elpxcndyUzZ2Y2toSFpOUHdRZnBx?=
 =?utf-8?B?cDdVWVloamJVak5YNDlkVG4yOGdWRnhkV0V6dlFXYWV6cnFjeVA5WW9Ialpt?=
 =?utf-8?B?dnljenMvWS95WW5RS2ZsMTVBajExYTR3WlltRTNvQXJ6cTdEVmtOLzNVYkp1?=
 =?utf-8?B?eEhaUGF0OUFNQ1JCSmpTK0pyR0o4MzI2L2NFblZaQlRrc3psaUZ2OTVkSkV0?=
 =?utf-8?B?eWd3S2dudXI4Uy9SZGNGSjZCOVFJQzdENkxoWm1rWWNQMkl6R0RTMkp6eUdF?=
 =?utf-8?B?TnpLaXdUNjhrWlUrZENnc2RVM2dHbnhJNVV2VU4zaXNoaFVRdXFlZVBOdXpz?=
 =?utf-8?B?dFBPV0tkN054V1JmbmVRbDlYWUlaMklPR1BqRC80T0RmL3huZlRzMnlZUVRh?=
 =?utf-8?B?aVplTSt3TTV3SXZkRnJ6eEJhNXdOOVBuUmJORXF4djhZWkRqY0FMVkNSWFcw?=
 =?utf-8?B?M0xIR1A5M1RBMDQvQkwrblN1Nmxxaytia0ROTDRpd1ZVQlhoS1ZPeitjaFN1?=
 =?utf-8?B?aUk3cXRQbEt5cVRQTjBZNmtLVGJZaVROdTF6bHNJV3BRRUpUZi9TNGJmMUp6?=
 =?utf-8?B?NEdTT2Z2L2dwcXZsQ0ZBM2RydjVOWUd1ZkdPVDRTWEsxRi9yZENxMThNWUtu?=
 =?utf-8?B?a3V1UUVIa1J6dWg4czRUeCtNc2c5Vk1GbHowMEVDbjFtekJYc1d5YWI0NTkx?=
 =?utf-8?B?QzJsOXdVcWo1NXFrQ0s0SFA5bkNCSzZZTjVIajYwaCtodEtLTVlPc3BMUjda?=
 =?utf-8?B?dDE0Wm5tY2RTVGFVWmVBc1dnMTI2b2taOVdJZGFndXk5bVlLS0NtOVdnQXRr?=
 =?utf-8?B?Z2dLUElENjVTVFZFcWhLVUtZdlNpc0ptbVhDT2VpVVF3d3dkeUExZUh6bG1t?=
 =?utf-8?B?VUc0UC9FSEg0RUd0dzRxeXJwRk1IQWFJQkh0VlRZcmhLQk9SRTRQeEZiWit1?=
 =?utf-8?B?MTlwT0Z6QkJJdHhLUklIZDBaM3VQOXA3YnZvNStQLzRoc0llVVBUQklaZGow?=
 =?utf-8?B?K1NoekZTa2FxOEwvYkZHZklhelFZdHM1UXJRdlJZYTB2V3l2RnRNdEVWdms3?=
 =?utf-8?B?WFMwUUpURGhLVXhlY1lsV2NsRm5EN1hVT0t3amNVT3lUMmJGNkhFSHhseWxm?=
 =?utf-8?B?Tk0wNC9jekZOWlhhVnI0M0pXUzFvdjFyaHoxTkVrU0YrS3R6dmljRVM2ZnB4?=
 =?utf-8?B?RVQrcFNsU3BuOFFoVGYwblp0SnoyVHVlZ1JFSElJVXhDOTZOZFFSdml5Zi9M?=
 =?utf-8?B?RGJIUE4zeGw0ZEVnSFFtaURNanNIWnhHL2QvcWlyM0FMb3hrM290K0FlME5z?=
 =?utf-8?B?bGdjZkpCL0NXM0xSMThXdkJKRGszOElMcktMaHdBbS9YLytrbHkxcVNlMk9j?=
 =?utf-8?B?WXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	7DkIjeEF+/SFUEs5qPonEODRsxQXukRVTffxCzJ+3o9jBWsQGrgs6+SzuBp5w3U+16/lgM/zylA/aecxU3RjK+iuKT1uGvNbnoz2BF805U25vNvSVou3f58uICuQ/TpFxIXqvM2AVejV4vsQC9cr7faKJpJ+G1Mh+0RmCfZOiEVeBHuwGgmnc9SEjuva32zHTEIGdldP8fy8RtDo2pu7eAEe7uXRDNi1vxez/tKIP67ZWff0tWxhfuXPdCGQ2lAlZs20SNnzyvdZ1iwKQ6gmdBIe0W9F08jCVNB1dg6FgPRqOhmQtRpcbXi2IGaIfx8z83g51K7Cyaq2DWGIBr2MS7Ka7HZNeEHuQa8qlT/SANV8LF0jryL/tOPLLYpdEknFj1IFSvDAltad2eP5V3qb5MlUMyLx14E57mc0Fyf67svoIg1mUpIQP7EYrphdlHDFCXPFnYWv0kby81BTArPIxVo3gEW30StUYcR2vyfPveaph+Fs44QzdVLdNstf85i8QO7DWMyRccSI6epUNiFl6XliBQFsonpzc8iPXlcSFUJWoOHgmrn6sIqATGAs6MaHO+8udaNkzbJU8Aqe6nHClRiFyW5iwEg+pzK0/yFOKsfFPyWIrPjgK5fst9Bi3zKQnya7Eyav3zqz7fxcAe3bacFyldrzGKOHwceFH0kz9DKBLVqkbzR+qssCFEKF1MLJirAe9ifl6rvIwCrEdIbtMSc93d4Er6gWHrO2+0amH4r3wj2J3j+a9iLbQnXVwzEvl3VRaqWTQpqKl6+Nd9ITavcXz2bSORp+/3AjZnmjK6HG7uxJX89G4mpVwTT5t7qls1eP55jlrxrG1TopEbr8guwXxAjedZNJ1BxBjpHtU+/Q1F5o/5yybUpAQ7zraBwIT4tjKu+d7CBSTAhazU15po2VHzIZONSiw4/so1ybzfY=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84f658c9-f35d-4757-b0db-08db25b6995a
X-MS-Exchange-CrossTenant-AuthSource: BN7PR03MB3618.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 00:37:19.3158
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Yoh+iTtUligqf9BVELe1pS4CThcU+TiHMntfjQitD86d4g0clpGuoT2Z/UmOH01mQDqNDUobXHb/SXsLKPnRqUqczw3ZBKNNxXeprBLnyOk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5639

On 05/03/2023 7:06 am, Bobby Eshleman wrote:
> I just wanted to let you know I have this queued up to review, I’ve
> just been very overloaded. I’ll give these a review in the coming week.

Any update on this?

FWIW, all 3 look ready to go in to me, so hopefully its very easy.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 00:39:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 00:39:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510278.787657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcbeb-0004s3-3r; Thu, 16 Mar 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 510278.787657; Thu, 16 Mar 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 1pcbeb-0004rw-0b; Thu, 16 Mar 2023 00:39:37 +0000
Received: by outflank-mailman (input) for mailman id 510278;
 Thu, 16 Mar 2023 00:39: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=oCnM=7I=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcbeZ-0004rq-T8
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 00:39: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 03dcae0f-c393-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 01:39:31 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 89A54B81F9A;
 Thu, 16 Mar 2023 00:39:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 427E4C433EF;
 Thu, 16 Mar 2023 00:39:27 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03dcae0f-c393-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678927169;
	bh=+z7iXm8M00j92yMchJ73P7cbvZLqxnT0O0mqa98ex+E=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kr9rPkvaI87hYCMrFwB7XR59/z2zBgudu9uYWWIhutHNFYNfpPEfp+sqQMpKyiNZs
	 GadS3OXYxZ4eUNeBh8iIRqSE6jRJxASSjvJEJnVs5rp6ZOd+nD9G5HdoswK/YUXsEU
	 Nv65XBfbtPFDG5ntV26SfWKgrQR//QrDzEYKU7YHi77Ny0go6FgWlZeFE/PKWsvBDq
	 7JE/2JRU+t7Ui9kATWntj0D7Kvk9mqqGAF7MWDfe6cc5DAEe77ghwOIeABig7fjbYm
	 AHi6wpuhAwRK04NinFKzh6Pr8+0twQCy7BeBvke5td+bg9b6m9aSO9sYWcQYD76tw+
	 4P14AAApscDPg==
Date: Wed, 15 Mar 2023 17:39:25 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Huang Rui <ray.huang@amd.com>, Alex Deucher <alexander.deucher@amd.com>, 
    =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [RFC XEN PATCH 4/6] x86/pvh: PVH dom0 also need PHYSDEVOP_setup_gsi
 call
In-Reply-To: <alpine.DEB.2.22.394.2303151723190.3462@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2303151737380.3462@ubuntu-linux-20-04-desktop>
References: <20230312075455.450187-1-ray.huang@amd.com> <20230312075455.450187-5-ray.huang@amd.com> <c51bcc5b-4f90-5651-de3d-df47bdf4a04a@suse.com> <521ccacd-a45a-f55a-72ed-de6b64bca050@citrix.com>
 <alpine.DEB.2.22.394.2303151723190.3462@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 Wed, 15 Mar 2023, Stefano Stabellini wrote:
> On Wed, 15 Mar 2023, Andrew Cooper wrote:
> > On 14/03/2023 4:30 pm, Jan Beulich wrote:
> > > On 12.03.2023 08:54, Huang Rui wrote:
> > >> From: Chen Jiqian <Jiqian.Chen@amd.com>
> > > An empty description won't do here. First of all you need to address the Why?
> > > As already hinted at in the reply to the earlier patch, it looks like you're
> > > breaking the intended IRQ model for PVH.
> > 
> > I think this is rather unfair.
> > 
> > Until you can point to the document which describes how IRQs are
> > intended to work in PVH, I'd say this series is pretty damn good attempt
> > to make something that functions, in the absence of any guidance.
> 
> And to make things more confusing those calls are not needed for PVH
> itself, those calls are needed so that we can run QEMU to support
> regular HVM guests on PVH Dom0 (I'll let Ray confirm.)
> 
> So technically, this is not breaking the PVH IRQ model.

To add more info:

QEMU (hw/xen/xen_pt.c) calls xc_physdev_map_pirq and
xc_domain_bind_pt_pci_irq. Note that xc_domain_bind_pt_pci_irq is the
key hypercall here and it takes a pirq as parameter.

That is why QEMU calls xc_physdev_map_pirq, so that we can get the pirq
and use the pirq as parameter for xc_domain_bind_pt_pci_irq.

We need to get the above to work also with Dom0 PVH.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 00:44:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 00:44:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510282.787667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcbjA-0006MP-PC; Thu, 16 Mar 2023 00:44:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510282.787667; Thu, 16 Mar 2023 00: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 1pcbjA-0006MI-MW; Thu, 16 Mar 2023 00:44:20 +0000
Received: by outflank-mailman (input) for mailman id 510282;
 Thu, 16 Mar 2023 00:44:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oCnM=7I=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcbjA-0006MC-3D
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 00:44:20 +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 ae6a250d-c393-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 01:44:18 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A76F361ECC;
 Thu, 16 Mar 2023 00:44:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 35909C433D2;
 Thu, 16 Mar 2023 00:44:14 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ae6a250d-c393-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678927456;
	bh=XTM4UddlIKsD1aJiVMuVl16OwUKw+GT8fnMZjNm0OYo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=b3kTDFZ6mLP6O2/7JrF7EZAlqjLBfRQZ2VevpUT/INbI15RDr5Mpt8SjzPv8afh6o
	 QZid2tOiGykioeBbOt5Mj4zn9SfzJe18A0UBMG7qC/fsem6zKga3vHrzstYqOGB0mn
	 U+3GXa3ZdUO4Y9KJrNkS91JOVuaO+0gGFN8skRS3V0dn+/XBR9oIpWQB+/BEi7FZ7b
	 ngCQQQAlu763ldOuHd+nDySfPURd/kKxzLbXoxVe5Jk52U4CYufe5eZokAGL1501aq
	 2kNz/61DI7ozd2BIZyOTgDd9TUS2bJRjyo6g2BF1qa+38KUAANxiZ2WwGIVLmGxpGG
	 M2+wIPGdM0wzA==
Date: Wed, 15 Mar 2023 17:44:12 -0700 (PDT)
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: Huang Rui <ray.huang@amd.com>, Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, 
    Alex Deucher <alexander.deucher@amd.com>, 
    =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to
 gsi
In-Reply-To: <ZBHz7PpUbKM69Xxe@Air-de-Roger>
Message-ID: <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop>
References: <20230312075455.450187-1-ray.huang@amd.com> <20230312075455.450187-7-ray.huang@amd.com> <ZBHz7PpUbKM69Xxe@Air-de-Roger>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-986031305-1678926871=:3462"
Content-ID: <alpine.DEB.2.22.394.2303151735591.3462@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-986031305-1678926871=:3462
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2303151735592.3462@ubuntu-linux-20-04-desktop>

On Wed, 15 Mar 2023, Roger Pau Monné wrote:
> On Sun, Mar 12, 2023 at 03:54:55PM +0800, Huang Rui wrote:
> > From: Chen Jiqian <Jiqian.Chen@amd.com>
> > 
> > Use new xc_physdev_gsi_from_irq to get the GSI number
> > 
> > Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> > Signed-off-by: Huang Rui <ray.huang@amd.com>
> > ---
> >  tools/libs/light/libxl_pci.c | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> > index f4c4f17545..47cf2799bf 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);
> 
> This is just a shot in the dark, because I don't really have enough
> context to understand what's going on here, but see below.
> 
> I've taken a look at this on my box, and it seems like on
> dom0 the value returned by /sys/bus/pci/devices/SBDF/irq is not
> very consistent.
> 
> If devices are in use by a driver the irq sysfs node reports either
> the GSI irq or the MSI IRQ (in case a single MSI interrupt is
> setup).
> 
> It seems like pciback in Linux does something to report the correct
> value:
> 
> root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
> 74
> root@lcy2-dt107:~# xl pci-assignable-add 00:14.0
> root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
> 16
> 
> As you can see, making the device assignable changed the value
> reported by the irq node to be the GSI instead of the MSI IRQ, I would
> think you are missing something similar in the PVH setup (some pciback
> magic)?
> 
> Albeit I have no idea why you would need to translate from IRQ to GSI
> in the way you do in this and related patches, because I'm missing the
> context.

As I mention in another email, also keep in mind that we need QEMU to
work and QEMU calls:
1) xc_physdev_map_pirq (this is also called from libxl)
2) xc_domain_bind_pt_pci_irq


In this case IRQ != GSI (IRQ == 112, GSI == 28). Sysfs returns the IRQ
in Linux (112), but actually xc_physdev_map_pirq expects the GSI, not
the IRQ. If you look at the implementation of xc_physdev_map_pirq,
you'll the type is "MAP_PIRQ_TYPE_GSI" and also see the check in Xen
xen/arch/x86/irq.c:allocate_and_map_gsi_pirq:

    if ( index < 0 || index >= nr_irqs_gsi )
    {
        dprintk(XENLOG_G_ERR, "dom%d: map invalid irq %d\n", d->domain_id,
                index);
        return -EINVAL;
    }

nr_irqs_gsi < 112, and the check will fail.

So we need to pass the GSI to xc_physdev_map_pirq. To do that, we need
to discover the GSI number corresponding to the IRQ number.
--8323329-986031305-1678926871=:3462--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 01:49:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 01:49:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510286.787682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcck1-00042d-Mp; Thu, 16 Mar 2023 01:49:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510286.787682; Thu, 16 Mar 2023 01:49: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 1pcck1-00042W-Jm; Thu, 16 Mar 2023 01:49:17 +0000
Received: by outflank-mailman (input) for mailman id 510286;
 Thu, 16 Mar 2023 01:49: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=oCnM=7I=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pccjz-00041P-IY
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 01:49:15 +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 bf9cae91-c39c-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 02:49:12 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 267A2B81F7B;
 Thu, 16 Mar 2023 01:49:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9D5A4C433EF;
 Thu, 16 Mar 2023 01:49: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: bf9cae91-c39c-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1678931349;
	bh=6WZ2+Jx6ApZL93kB/9ORUNeO2n+00wuQmvZMq/TQzNc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=g276YkEjIv3hU7AU+jGsLWqkU4Bij38OJZCv4gwGAHWviKQlT+fTYWMoZhmAJhOyH
	 l+GG9JRJBFUEbmFLMN5tmE1BNclZhpJlRPJt+uW1k80kIXLTcfIOv697Z0tvMi0iGQ
	 fYgoV7IThxZ38/m+q+3ALKv7mJYoyHRE3vPC1bhrsTuGtxicW2H/N/KDIsxYSxutkw
	 SsNccGzW3mPp+LJVTSoFA9ItW0rGYmuwk/1pRhgTGsw3cnDe6LkWcI/ekZqpCNFTsE
	 6UVX0tErfq2AXJayDa6avxRfN4X/xoXlRjOyo2Yh8oiw1tYZdMv5orsceeU9MzILo3
	 hm1V0C27z8UhQ==
Date: Wed, 15 Mar 2023 18:49:06 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: 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>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] xen/console: Handle true dom0less case when switching
 serial input
In-Reply-To: <d67aeb95-1631-74c0-cefa-a0cc88512b84@amd.com>
Message-ID: <alpine.DEB.2.22.394.2303151844530.3462@ubuntu-linux-20-04-desktop>
References: <20230314142749.8845-1-michal.orzel@amd.com> <da7db77f-3ab8-edd1-bc69-460ca3e2ce25@suse.com> <7676cba9-6f92-0c97-dac3-372ca47be34b@amd.com> <737fec84-42da-3b9b-6cb5-d18406925403@suse.com> <d67aeb95-1631-74c0-cefa-a0cc88512b84@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, 15 Mar 2023, Michal Orzel wrote:
> On 15/03/2023 14:11, Jan Beulich wrote:
> > On 15.03.2023 13:34, Michal Orzel wrote:
> >> On 14/03/2023 16:17, Jan Beulich wrote:
> >>> On 14.03.2023 15:27, Michal Orzel wrote:
> >>>> --- a/xen/drivers/char/console.c
> >>>> +++ b/xen/drivers/char/console.c
> >>>> @@ -491,6 +491,14 @@ static void switch_serial_input(void)
> >>>>      else
> >>>>      {
> >>>>          console_rx++;
> >>>> +
> >>>> +        /*
> >>>> +         * Skip switching serial input to hardware domain if it does not exist
> >>>> +         * (i.e. true dom0less mode).
> >>>> +         */
> >>>> +        if ( !hardware_domain && (console_rx == 1) )
> >>>> +            console_rx++;
> >>>
> >>> The consumers of this variable aren't really serialized with this
> >>> updating. That's probably okay-ish prior to your change, but now
> >>> there can be two updates in rapid succession. I think it would be
> >>> better if the variable was written only once here.
> >> ok, makes sense.
> >>
> >>>
> >>>>          printk("*** Serial input to DOM%d", console_rx - 1);
> >>>
> >>> When invoked from console_endboot() this will now switch to Dom1,
> >>> i.e. that domain becomes kind of "preferred", which I think is
> >>> wrong. Instead I think in such a case we should direct input to
> >>> Xen by default.
> >> Switching serial input to the first usable domain is the major motivation behind this patch.
> >> The number of times I got pinged by users with *apparent* Xen issue on true dom0less
> >> just because input was directed to dom0 which was not there (not everyone seems to read the
> >> boot logs) forced me to create this patch and manifests that this is not the behavior user wants.
> >> Switching to Xen console would not help at all. Also, we already have a way to set switch code to 'x'
> >> to default serial input to Xen.
> >> So I think what I did (switching to the first existing domain) should be the default behavior (just like it was done for dom0).
> > 
> > Well, I'm not going to stand in the way, but if one of several supposedly
> > equal domains is to be "preferred" in some way, then I for one would
> > expect justification for doing so. If that's the route to go, then the
> > patch snippet you provided looks good to me.
> Well, the explanation is that we are directing input to the first existing domain
> which also is the first domain created (this is what users expect at least by default).
> This for now creates simplest/cleanest solution that matches the current behavior
> with dom0 and solves the users inconveniences I mentioned earlier.
> There is no other real preference apart from being first domain created and to help keep the order simple.

My two cents. Given the feedback we are getting from users, I think it
is important that the input goes to a real valid domain (not Xen, not
Dom0 that doesn't exist). "Which dom0less domain?" is a valid question,
and I don't know what would be the best answer. But any of those domains
would be better than what we have today.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 02:04:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 02:04:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510289.787694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pccyD-000703-0D; Thu, 16 Mar 2023 02:03:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510289.787694; Thu, 16 Mar 2023 02:03: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 1pccyC-0006zw-R1; Thu, 16 Mar 2023 02:03:56 +0000
Received: by outflank-mailman (input) for mailman id 510289;
 Thu, 16 Mar 2023 02:03: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 1pccyB-0006zm-LS; Thu, 16 Mar 2023 02:03: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 1pccyB-00077v-J6; Thu, 16 Mar 2023 02:03: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 1pccyB-0002yB-6Y; Thu, 16 Mar 2023 02:03:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pccyB-0000oo-5F; Thu, 16 Mar 2023 02:03:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=g2f4KWqiC5+pSp1OQ8iv5j45qIJv08owlkEKxVX2jic=; b=bDsy/VgsWMgP5mWGiR9mm8s3KT
	NXy8vvWAc1YWVh+uXXXLDV67TuIUyYOyXmgV0pungUsq+004YRsbtBFMdGB7rvbKgfb4P0XQqVO+m
	xt55GzJZGHMSpwBLtrbOsZ4uAlIzZ2kPECqh5mgBQ2oZZgcFnH/fm9yzBlEWo6qdk434=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179660-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179660: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b2ea81d2b935474cf27a76b4aa143ae897e82457
X-Osstest-Versions-That:
    xen=391f1e135fc121ce8cd5d864eb856988e1562e58
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Mar 2023 02:03:55 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b2ea81d2b935474cf27a76b4aa143ae897e82457
baseline version:
 xen                  391f1e135fc121ce8cd5d864eb856988e1562e58

Last test of basis   179636  2023-03-15 01:00:26 Z    1 days
Testing same since   179660  2023-03-16 00:02:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  George Dunlap <george.dunlap@citrix.com>
  Jason Andryuk <jandryuk@gmail.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                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   391f1e135f..b2ea81d2b9  b2ea81d2b935474cf27a76b4aa143ae897e82457 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 02:15:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 02:15:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510293.787703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcd8p-0000GX-TW; Thu, 16 Mar 2023 02:14:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510293.787703; Thu, 16 Mar 2023 02: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 1pcd8p-0000GQ-Qj; Thu, 16 Mar 2023 02:14:55 +0000
Received: by outflank-mailman (input) for mailman id 510293;
 Thu, 16 Mar 2023 02:14: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=lZp/=7I=citrix.com=prvs=432965e83=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pcd8o-0000GK-4s
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 02:14:54 +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 529820b5-c3a0-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 03:14:48 +0100 (CET)
Received: from mail-bn8nam12lp2177.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 15 Mar 2023 22:14:27 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SN4PR03MB6799.namprd03.prod.outlook.com (2603:10b6:806:217::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Thu, 16 Mar
 2023 02:14:24 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 02: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: 529820b5-c3a0-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678932888;
  h=message-id:date:from:subject:to:references:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=SGz9sDxPwn4WJtbyTJw9Xkod4mr9I7KKp/WsQcQhP1M=;
  b=NNeTfGZhtlvk9hd+6VuGrglPc3FLeWAnGHj/MWarEmCXpNDKD/OIHSX+
   VUFN4yKOyLFpX7L7MBnK5HmWwVr04UZXYpo6Z8dPeLj9PlIs3oBb/xqlv
   pep6C/4+y3bgzYBvMU9dERlQdiT1W0hjRwkGa5tXmLXOKDAryKGGbZxq6
   o=;
X-IronPort-RemoteIP: 104.47.55.177
X-IronPort-MID: 101047866
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:jaH4Oq5JiaSt8UQ77EyoFwxRtBnGchMFZxGqfqrLsTDasY5as4F+v
 jQfUWyBb//YZTTyfN5xboW09UwEvZLcztBhSwZlr31kHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS4geD/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m6
 dgbAihVPz+6vdm80bDqa8hmhf8aM5y+VG8fkikIITDxK98DGMqGaYOaoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUooj+eF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtKTeXkqa403jV/wEQ2EDAKD2Gru8O2yXKTaYhUc
 10t+gwx+P1aGEuDC4OVsweDiHOGuR4aQIYAO+YhrhuKwarZ+BqUHC4JQiMpQMwrsoo6SCIn0
 neNnsj1Hnp/vbuNU3Wf+7yI6zSoNkAowXQqYCYFSU4P5YnlqYRq1BbXFI88T+iyk8H/Hiz2z
 3aSti8iir4PjMkNkaKm4VTAhDHqrZ/MJuIo2jjqsquexlsRTOaYi0aAszA3Md4owF6lc2S8
IronPort-HdrOrdr: A9a23:JLUlyqO+BnBZfMBcT6H255DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jztSWatN9jYgBGpTnmAtj7fZq8z+8P3WB1B9uftWbdyQiVxe1ZnO7fKnjbalXDH41mpN
 hdmspFaOEYZGIS5aia3OD7KadY/DDuytHVuQ609QYIcegFUdAH0+40MHf4LqUgLzM2eKbRWa
 DskPZvln6FQzA6f867Dn4KU6zqoMDKrovvZVorFgMq8w6HiBKv8frfHwKD1hkTfjtTyfN6mF
 K12TDR1+GGibWW2xXc32jc49B/n8bg8MJKAIihm9UYMTLljyevfcBEV6eZtD44jemz4BIBkc
 XKoT0nI8NvgkmhNV2dkF/I4U3NwTwu43jtxRuxhmbim9XwQHYfB9BajYxUXxPF4w541esMmJ
 5j7ia8jd56HBnAlCPy65zhUAxrrFO9pT4HnfQIh3JSfIMCYPt6rJAZ/mlSDJAcdRiKobwPIa
 1LNoXx9fxWeVSVYzTwuXRu+sWlWjAJEhKPUiE5y7mo+gkTuEo841oTxcQZkHtF3ok6UYN46+
 PNNbktvK1ST+cNBJgNStspcI+SMCjgUBjMOGWdLRDMD6ccIU/ArJbx/fEc+PyqQpoV15E/8a
 6xH2+wjVRCO34GNPf+n6Giqnv2MSeAtHXWu41jDqFCy/zBrOGBC1zHdLgs+/HQ0cn3TPerH8
 pbA6gmc8MLHVGeZ7qh4DeOKqW6CUNuJPH96exLLG6mk4bsFrDAkND9XbL6GIfNeAxUKV8XRE
 FzEQTOGA==
X-IronPort-AV: E=Sophos;i="5.98,264,1673931600"; 
   d="scan'208";a="101047866"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LPDB8wnx5nfoTF6CrRw0if8ag3pWsJDZjurTI2wehUPz+Y+IgcjSQXGNz753L01aSx8HDmbaeZ/XME5SGA6Szyy4I9PgHT2xq+bMUFefppEswGWeeo2Xg0ltQWUeo/jQKWhefaZzwNUyiN80f5KBo9c21ZUZYnmyCDxaYt5D+EZvdWW2ohcnolZq7bWCjgMY8HV2XKG5AKrh2UrPP/yca+98leljHueNcDTHgez6C145ErqAPjntpLdwL8XbU29qL48AHxDi6kJiWKdM/OqSlV6BDlwJ3RYYpMIl41s27u9Wog4FRLmjOHVnO5bTrQcY0/T/gTQzx2oD0H5eNVqogg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QP0VdVBVqws/+eJbfob7qVU0nZJWMshbnqGKQ3VBgOg=;
 b=iMdbROa91kTREG7Oef0QfMDeLckeaA+zpP5PgpiGCo84py9sz8avI2jrBGZGbmD3AV+4iMKA4N8Bb2oqeKliSwApvTPsB+10IardsrrQ4V0iUJswqIy9CkM0pJvr8tG+sMfF3mPUtR30jh2iUBzDWYiLjMN2MwViJcSg7aG8/YyXt24TgYImAmL9OtqxuOUc2JgprpYmQJ+25jT1IW+7+v/5woYvyYciQc4WPzon4wsm5e6ZekqOfUO0dPhm/Kj8TVEMFYESLR4Irx2HwNhLJJNeAcMXm7Oy6VxdPYm3uymnBKoys7lJ+v9TDT0NK7arAcndhYTav7NlrkwWqTCmbg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QP0VdVBVqws/+eJbfob7qVU0nZJWMshbnqGKQ3VBgOg=;
 b=wMK6cYS+ZtG32zUM1IfFaK9qHRcGeDdkYbi6L50/8URua5shII3eI5azG0ZmvPGsf6Cc2CTE+EQWPdIQ1uBeU7/Wjsa3fvi2cu5xAnXKPaIM3wH/5PCDLnR2U/f6TAVFrhsnZI1pi/pW18MfeCVaHhk7YgSX2zukeEsAfv4mves=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <a1a814cd-9a76-9828-ffab-5590fcd5925f@citrix.com>
Date: Thu, 16 Mar 2023 02:14:18 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: Best way to use altp2m to support VMFUNC EPT-switching?
Content-Language: en-GB
To: "Johnson, Ethan" <ejohns48@cs.rochester.edu>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <MN2PR07MB6045100322F58085DD6B1488E4BF9@MN2PR07MB6045.namprd07.prod.outlook.com>
 <c12ff321-e1ad-1377-2158-195594fdbe04@citrix.com>
 <MN2PR07MB6045B965DD2DA308C55905F9E4BF9@MN2PR07MB6045.namprd07.prod.outlook.com>
In-Reply-To: <MN2PR07MB6045B965DD2DA308C55905F9E4BF9@MN2PR07MB6045.namprd07.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0234.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:b::30) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SN4PR03MB6799:EE_
X-MS-Office365-Filtering-Correlation-Id: 5433289a-66ca-4e15-d6da-08db25c42965
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rsC8Rv1Nne4eA//yDICrpgOAnrBjMgJ6oEpGg18xqCCcm/JaS+APLmVJecy544J9gF3Ic/HMfI4e/E88kQ3U8X8DwT9ZjNHWrP+K+ag9Q+4QVgbsn6AcRiCt+Kkhcjjk3pUsTe2IxglzpbeP8OMYJEkfIG+KjX/Gj4v60nl1THVMfBPgE0CCpcJd4T3YRj0/YrVqR5R2Yk98elP+k9rtdedBMJY1kEjAwHR9o+ntnTkLDJ9NmT2j1jevGzOzzDy2mTwq6w8m+X7aZetO2LzVDO6F6pOeylAiFFjhajsEd0Tie0lFFuOLd8a1E81TTjLWpN1bDemS3pgy0Q4hkkagS8LhAACTaN4f7xjF8ENTdwFYRXwcodUcjvkRVvpQ1ulRSKp11heo80bwR5FyIMa3+Os+jmKwcHca4yDbmeS7CCCHBTTbbOmIn0kDXnhciYR4duEIF2/0SnsuPTZK8jl87NIDmpcAoSKNMXIK4g7inJcdTIJHS+s0+6ycsVuah46p4HYSydrf0GSSU2/3hrpFQEgbs+fYFY9zgv4nr1VSfzuwAX5tW+iHEydw3SmevweSDNxHmR9JND1NuerWi47csJXEoXmGNUgvy2UaU5rksmGO/enMXbNGVcyxBgxTe53j76EgY75UnEfD9gvTm6+24nx1Phh1uWhI0bwXnEyxbLMhAQwub859+DyDg9wk6RVGos+GblY28SxPVv2YONR+1xUv8kNuLzdH8jRVUudU5Rx5N76ZCMPcMCtEh9Ihouhn
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(39860400002)(376002)(396003)(346002)(366004)(451199018)(86362001)(316002)(36756003)(82960400001)(38100700002)(66476007)(66946007)(110136005)(41300700001)(66556008)(8936002)(478600001)(8676002)(2906002)(296002)(66574015)(31696002)(2616005)(30864003)(83380400001)(5660300002)(966005)(186003)(6666004)(6486002)(6512007)(26005)(6506007)(53546011)(66899018)(31686004)(43043002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VFlERkp2UlJtV1owM05kN0tkd3ZFQ28rY2hpaG5FbE51NUV6bzA0WnltTVh2?=
 =?utf-8?B?dEh3ZU5PeCtLb3Fhdm45VlZ3U3ZXajVmeGFnUUlBUHpCSE1WYlpOVk5EVEFD?=
 =?utf-8?B?VjUrZUM5Q3ZXcy9BR1ZWc3NUTFJqZkFMSzRhV1VHc1pORTRQUlNxbDN5YmFG?=
 =?utf-8?B?T3lWMjdyMk4ySzJTWUxiWXU0Q0FjdEx4WHF4YTRVYk8vN3l0U3gyekh4Szc0?=
 =?utf-8?B?VzhmNnZ5RU9vNzN1OUFTSEFjc1dMOU4yY2VUNDZwWk52R2psOHdnRzJjNTg3?=
 =?utf-8?B?TE9zYUNUaC9ybzNxTFpEQlFQVFZpSC9HUXY4bWdMVlBTTVpmTWJmTjJQcm9y?=
 =?utf-8?B?SU5NdFVTWnl5UHFLT1RQN0lZQnJweWRDMDhwNEhWR2VVdUtqL0pSOWgxc3Zu?=
 =?utf-8?B?NklnUDI4dTBoSDBxTm1jV2MwNzZyS1hTTWU5TVFmV3RXK0ZwaWFzY0psSVY0?=
 =?utf-8?B?elBxSDJrTm5EdnBKM3kyc2d0VkE0ejlORVhEYWEvTHNDR01nOGJDRUExMUgw?=
 =?utf-8?B?RjlqQXBCZDJLTWNYaHFwQng0d0hWWGpScmZVR1FRRzRTV2hDVDJhWlV2SytC?=
 =?utf-8?B?cVpFeEVzUHFtMG9aVFNTUnV5bXVvNjRjYmJaQ0dRZzdIbG81Q1ErNFBpaDRD?=
 =?utf-8?B?LzRYSXlCTFJLdXp0ZDczRThoak0ySXBQRUFIcmcxNEwvcmo3Rlh1TFM3SUpZ?=
 =?utf-8?B?eTFDVlFDbndJWVhkc2hWNEVmbXJ6UXRGS09XS1Y4NnEzbitCWmRMT1pBc01H?=
 =?utf-8?B?Tjk4UjZFRGV0SXdOUDBhZHRXR2VXb0N2Uk5TY2xZL3RUKzN3ekR5Zi9DR0Y5?=
 =?utf-8?B?OTlLOXdKNXFWWksrTC9mY3NlbkdiTlBFN0pFUFJtOS9XbE9vRTAzczJwaG5q?=
 =?utf-8?B?SDdjODhKUzlQcWpwRDRJLytHaEQrOHZQNDBKNENEMTFJNlFYRjB5MzFsZjEy?=
 =?utf-8?B?VmluR2I4Sk1ROEVMdURrR3BSMU1rKy9PSExEZXh0NVNNWWdEQkF1b0hMR1Bt?=
 =?utf-8?B?OWtKdEZUdktIdW1ZTTdkaElQYUZpQW13YllMM0grVStNWWpNOG1RL3ZlS2l6?=
 =?utf-8?B?cm55all3ejB1OUIvbFpNZ29mYWo2Vy96czlJM3FhR3pXZnRWUXl6UXRCNytD?=
 =?utf-8?B?Tng3SDVBd0x4elEyS0x4cGZPR0xNWDdyQTI5NzdwQlFybWg2U2MyQ00zUkVw?=
 =?utf-8?B?RjBOK0xKcWpRdWRxU2dWZnVUVWw4YnZpeFVKdVNLa3NUSTBES1RldWFnYXFs?=
 =?utf-8?B?bGJla1Fld09VSEVwSS8vSUlsL05DZGVqMjQzWlk2Wm0wMVQvN0RpRi9Mamlj?=
 =?utf-8?B?ZUtmdDVYU2psRmsrM1NhOUhGV2tKV3FQWnBUVWF1aTRWUjFpcEJMRjlBU2Ez?=
 =?utf-8?B?elliRnM5Uld2Q295bklCV2lXT0Y3MXB3T2djU2lXNzdVWUk3b1hLMHRHcDUr?=
 =?utf-8?B?dTVjOGdVc0haeEhhbU04Y2kwTmFuV3htNnpUcEJacXJGVElITWUzRU1jaU03?=
 =?utf-8?B?Z0ptRWRFWDNwZzlqYnBEd0hQczR6UHZMcEk1QkdBY0gvbm9DSUxLdmRLN3FV?=
 =?utf-8?B?MFhVd1hhelZPZ0tYckEvY1ZaOEtiNWxZMG1RbmZQMS9Rd0UzMkJNS2FUVjZ2?=
 =?utf-8?B?d0d5LzJBMlRITXhOOU9mQ2Zyd1pDR2MwSFZOaGpDOHJvajkzQkl6Q1AyenF0?=
 =?utf-8?B?eVg3bTJoNkxSZjZwVjdjSFdta3hMZCtFZ2M5c1paQlFZZnZ4amZQUEFkNTM0?=
 =?utf-8?B?VzlSNTJtNXVrMmpBL25aazdaaUFva2JVNXlRSVlETmRtVVlkL0tRQW5mQkNl?=
 =?utf-8?B?b09ycFJJWG5mUWhBeHdwRkZ0QTRhYTE4NjNaTEpYS3YyWnNoYUNDNkdlbzN5?=
 =?utf-8?B?ckZZSW43S1lzV2h2Z1czcjBqaGJBZFVjSlhWcXdUVzNwQjRxWTd0NGNWdjM0?=
 =?utf-8?B?ZDJXWC96bS9IZCt0T01RaGtRdGpkTTFvK0QvZEd5SFpHZ1RxcS92UUFqSzV3?=
 =?utf-8?B?OXNCWURGazRWNlNqQklyOW5IbG5oZllwK01uZlg5UHF0RDVDT0xOb3NGdlo5?=
 =?utf-8?B?N1FCWmJ0WEJCMTRHSXpvVEdIeUV3VkxHZm5IM3NNUHUxRC82LzhQNjQ4S2xq?=
 =?utf-8?B?NEVKMmNpVnNWdTB0NkExa3RqaklyZDZ1aUtkYVhydlFvNEhyQkVJY1BMbnM4?=
 =?utf-8?B?VEE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	a0r81SUCwtmDEjwPcUesPwGF4j5i+UA2sHlW1qj2Keu362gOSm7SwkuckvBbcuFn6njUYJmC4PjeOzG6GFQbM9G/ciN8lv+D/43TyRrVtp5zgWoJLHdhwnMB27PGBrZZqEko8kG3wpXvWVxjVY4qqeQvpBjTMMVJl8C7SFiXwjlZ4HnZTRX25qOndbIg4CJANHwNjfvwDRoeYZekBQKrfnghEFtqP6tOwOQPbPiMQivg2HrWUfOGr4iIY7igWfG/KjcVmz2qXDZ4fMWAmZSqhYWt35ifL+wrTgHdOSiFEeIeyLv8K1H9/ucAPnJblkvUyVJ4Ob2zBBQWtyVR+4REeEE4upo3g96/AdPp4+wSd+iRyEVN4Ioh/SZeW0KHMdAuJgckQbXuHejwd/GL3ZuWMrTTF6NBIaSp2LPKCnwxurVDPSOH0B4ZknGVURBYLiDWS40vJpluQztByA2Sm09+LR7PcJtEH66LSpVlhhr8Ics10NWkJ2AhuP6E5HSMyw6rL3/DA/LMZEf+S42Rm42nuODu3qUnsz9fM8q9t5MJ1UMyQa5TqQkhW3JcxmDopX+30LMH/TmmcSwb9BgdS+o+ZfGOB92Vt4G4Ame04pyajk83VTCBzoMr2OU6E1iLWkia/lMd+iSJH8TAdj2aOMq2uJqtfkY6RihuHtAtIu9RUA8IMLRCVg9EEK2eA7gvlfGPHRVEHzQuT+gvliG/qy32FaUyEN4+aU7HurLLZjryVZQ5u0g8MeHCwKXkANCi66uH1DQsrsZOdIkZpgHSA2ar9Bf2r7sxqPP8er6/r128C71dBMWP8ZLRiO3gkHCYHD1r
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5433289a-66ca-4e15-d6da-08db25c42965
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 02:14:24.4539
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: i979m5poXe+s3YFEvTrIrSp4l6+R5YdXZJMcsG5GSf44ghrxsPAzNi3mO97aZc+PubvJTJChEQKGDCIb3GdrhHPZ7bqBys6kkDkBGp0xfkg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR03MB6799

On 15/03/2023 9:41 pm, Johnson, Ethan wrote:
>> On 15/03/2023 2:01 am, Johnson, Ethan wrote:
>>> Hi all,
>>>
>>> I'm looking for some pointers on how Xen's altp2m system works and how it's
>>> meant to be used with Intel's VMFUNC EPT-switching for secure isolation
>>> within an HVM/PVH guest's kernelspace.
>>>
>>> Specifically, I am attempting to modify Xen to create (on request by an
>>> already-booted, cooperative guest with a duly modified Linux kernel) a
>>> second set of extended page tables that have access to additional
>>> privileged regions of host-physical memory (specifically, a page or two to
>>> store some sensitive data that we don't want the guest kernel to be able to
>>> overwrite, plus some host-physical MMIO ranges, specifically the xAPIC
>>> region). The idea is that the guest kernel will use VMFUNC to switch to the
>>> alternate EPTs and call "secure functions" provided (by the hypervisor) as
>>> read-only code to be executed in non-root mode on the alternate EPT,
>>> allowing certain VM-exit scenarios (namely, sending an IPI to another vCPU
>>> of the same domain) to be handled without exiting non-root mode. Hence,
>>> these extra privileged pages should only be visible to the alternative p2m
>>> that the "secure realm" functions live in. (Transitions between the secure-
>>> and insecure-realm EPTs will be through special read-only "trampoline" code
>>> pages that ensure the untrusted guest kernel can only enter the secure
>>> realm at designated entry points.)
>>>
>>> Looking at Xen's existing altp2m code, I get the sense that Xen is already
>>> designed to support something at least vaguely like this. I have not,
>>> however, been able to find much in the way of documentation on altp2m, so I
>>> am reaching out to see if anyone can offer pointers on how to best use it.
>>>
>>> What is the intended workflow (either in the toolstack or within the
>>> hypervisor itself) for creating and configuring an altp2m that should have
>>> access to additional host-physical frames that are not present in the
>>> guest's main p2m?
>>>
>>> FWIW, once the altp2m has been set up in this fashion, we don't anticipate
>>> needing to fiddle with its mappings any further as long as the guest is
>>> running (so I'm thinking *maybe* the "external" altp2m mode will suffice
>>> for this). In fact, we may not even need to have any "overlap" between the
>>> primary and alternative p2m except the trampoline pages themselves
>>> (although this aspect of our design is still somewhat in flux).
>>>
>>> I've noticed a function, do_altp2m_op(), in the hypervisor
>>> (xen/arch/x86/hvm/hvm.c) that seems to implement a number of altp2m-related
>>> hypercalls intended to be called from the dom0. Do these hypercalls already
>>> provide a straightforward way to achieve my goals described above entirely
>>> via (a potentially modified version of) the dom0 toolstack? Or would I be
>>> better off creating and configuring the altp2m from within the hypervisor
>>> itself, since I want to map low-level stuff like xAPIC MMIO ranges into the
>>> altp2m?
>>>
>>> Thank you in advance for your time and assistance!
>> Hello,
>>
>> There's a lot to unpack here, but before I do so, one question.  In your
>> usecase, are you wanting to map any frames with reduced permissions
>> (i.e. such that you'd get a #VE exception), or are you just looking to
>> add new frames with RWX perms into an alternative view?
>>
>> I suspect the latter, but it's not completely clear, and changes the answer.
>>
>> ~Andrew
> Yes, the latter is correct: I am looking to add new frames with RWX perms
> into an alternative view. I don't currently envision needing #VE in any form
> for this work.
>
> (We're using a modified PVH Linux guest for this, so rather than needing to
> intercept and react to EPT faults via #VE, we can expect the guest kernel to
> explicitly call our secure-realm functions via VMFUNC, replacing what would
> otherwise be some hypercalls out to Xen in root mode. I suppose supporting
> unmodified kernels by intercepting #VE could be an interesting enhancement
> for future work, but for now we're content to work with a cooperative
> modified PVH guest as a proof of concept. :-))
>
> Basically, the primary p2m will be (largely) as it is normally, and the
> untrusted guest kernel and userspace will run on it as an HVM/PVH guest
> normally would. The alternate p2m will have some additional private code and
> data pages mapped in (RWX in the altp2m, but either read-only or completely
> unmapped in the primary p2m), as well as the host's xAPIC MMIO range so it
> can send IPIs to other vCPUs without having to VM-exit. To facilitate safe
> transitions between these two "realms", we'll be adding a couple of
> R/X-permissioned "trampoline pages" that will contain the VMFUNC instructions
> themselves and will be present in both p2ms.
>
> Thanks,

Ok, so there is a lot here.  Apologies in advance for the overly long
answer.

First, while altp2m was developed in parallel with EPTP-switching, we
took care to split the vendor neutral parts from the vendor specific
bits.  So while we do have VMFUNC support, that's considered "just" a
hardware optimisation to speed up the HVMOP_altp2m_switch_p2m hypercall.

But before you start, it is important to understand your security
boundaries.  You've found external mode, and this is all about
controlling which aspects of altp2m the guest can invoke itself, and
modes other than external let the guest issue HVMOP_altp2m ops itself.

If you permit the guest to change views itself, either with VMFUNC, or
HVMOP_altp2m_switch_p2m, you have to realise that these are just
"regular" CPL0 actions, and can be invoked by any kernel code, not just
your driver.  i.e. the union of all primary and alternative views is one
single security domain.

For some usecases this is fine, but yours doesn't look like it fits in
this category.  In particular, no amount of protection on the trampoline
pages stops someone writing a VMFUNC instruction elsewhere in kernel
space and executing it.

(I have seen plenty of research papers try to construct a security
boundary around VMFUNC.  I have yet see one that does so robustly, but I
do enjoy being surprised on occasion...)

The first production use this technology I'm aware of was Bitdefender's
HVMI, where the guest had no control at all, and was subject to the
permission restrictions imposed on it by the agent in dom0.  The agent
trapped everything it considered sensitive, including writes to
sensitive areas of memory using reduced EPT permissions, and either
permitted execution to continue, or took other preventative action.

This highlights another key point.  Some entity in the system needs to
deal with faults that occur when the guest accidentally (or otherwise)
violates the reduced EPT permissions.  #VE is, again, an optimisation to
let violations be handled in guest context, rather than taking a VMExit,
but even with #VE the complicated corner cases are left to the external
agent.

With HVMI, #VE (but not VMFUNC IIRC) did get used as an optimisation to
mitigate the perf hit from Window's Meltdown mitigation electing to use
LOCK'd BTS/BTC operations on pagetables (which were write protected
behind the scenes), but I'm reliably informed that the hoops required to
jump through to make that work, and in particular avoid the notice of
PatchGuard, were substantial.

Perhaps a more accessible example is
https://github.com/intel/kernel-fuzzer-for-xen-project and the
underlying libvmi.  There is also a very basic example in
tools/misc/xen-access.c in the Xen tree.

For your question specifically about mapping other frames, we do have
hypercalls to map other frames (its necessary for e.g. mapping BARs of
passed-through PCI devices), but for obvious reasons, it's restricted to
control software (Qemu) in dom0.  I suspect we don't actually have a
hypercall to map MMIO into an alternative view, but it shouldn't be hard
to add (if you still decide you want it by the end of this email).


But on to the specifics of mapping the xAPIC page.  Sorry, but
irrespective of altp2m, that is a non-starter, for reasons that date
back to ~1997 or thereabouts.

It's worth saying that AMD can fully virtualise IPI delivery from one
vCPU to another without either taking a VMExit in the common case, since
Zen1 (IIRC).  Intel has a similar capability since Sapphire Rapids
(IIRC).  Xen doesn't support either yet, because there are only so many
hours in the day...

It is technically possible to map the xAPIC window into a guest, and
such a guest could interact the real interrupt controller.  But now
you've got the problem that two bits of software (Xen, and your magic
piece of guest kernel) are trying to driver the same single interrupt
controller.

Even if you were to say that the guest would only use ICR to send
interrupts, that still doesn't work.  In xAPIC, ICR is formed of two
half registers, as it dates from the days of 32bit processors, with a
large stride between the two half registers.

Therefore, it is a minimum of two separate instructions (set destination
in ICR_HI, set type/mode/etc in ICR_LO) to send an interrupt.

A common bug in kernels is to try and send IPIs when interrupts are
enabled, or in NMI context, both of which could interrupt an IPI
sequence.  This results in a sequence of writes (from the LAPIC's point
of view) of ICR_HI, ICR_HI, ICR_LO, ICR_LO, which causes the outer IPI
to be sent with the wrong destination.

Guests always execute with IRQs enabled, but can take a VMExit on any
arbitrary instruction boundary for other reasons, so the guest kernel
can never be sure that ICR_HI hasn't been modified by Xen in the
background, even if it used two adjacent instructions to send the IPI.

Now, if you were to swap xAPIC for x2APIC, one of the bigger changes was
making ICR a single register, so it could be written atomically.  But
now you have an MSR based interface, not an MMIO based interface.

It's also worth noting that any system with >254 CPUs is necessarily
operating in x2APIC mode (so there isn't an xAPIC window to map, even if
you wanted to try), and because of the ÆPIC Leak vulnerability, IceLake
and later CPUs are locked into x2APIC mode by firmware, with no option
to revert back into xAPIC mode even on smaller systems.

On top of that, you've still got the problem of determining the
destination.  Even if the guest could send an IPI, it still has to know
the physical APIC ID of the CPU the target vCPU is currently scheduled
on.  And you'd have to ignore things like the logical mode or
destination shorthands, because multi/broadcast IPIs will hit incorrect
targets.

On top of that, even if you can determine the right destination, how
does the target receive the interrupt?  There can only be one entity in
the system receiving INTR, and that's Xen.  So you've got to pick some
vector that Xen knows what to do with, but isn't otherwise using.

Not to mention there's a(nother) giant security hole... A guest able to
issue interrupts could just send INIT-SIPI-SIPI and reset the target CPU
back into real mode behind Xen's back.  Xen will not take kindly to this.


So while I expect there's plenty of room to innovate on the realm switch
aspect of EPTP-switching, trying to send IPIs from within guest context
is something that I will firmly suggest you avoid.  There are good
reasons why it is so complicated to get VMExit-less guest IPIs working.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 03:44:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 03:44:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510301.787725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pceX4-0002tj-Mj; Thu, 16 Mar 2023 03:44:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510301.787725; Thu, 16 Mar 2023 03:44: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 1pceX4-0002tc-Jw; Thu, 16 Mar 2023 03:44:02 +0000
Received: by outflank-mailman (input) for mailman id 510301;
 Thu, 16 Mar 2023 03:44: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=ZFGE=7I=gmail.com=julien.grall.oss@srs-se1.protection.inumbo.net>)
 id 1pceX3-0002tW-8K
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 03:44:01 +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 c87dd470-c3ac-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 04:43:58 +0100 (CET)
Received: by mail-lj1-x233.google.com with SMTP id z42so278289ljq.13
 for <xen-devel@lists.xenproject.org>; Wed, 15 Mar 2023 20:43: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: c87dd470-c3ac-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678938238;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=fRYWT6d7bt8Rna5CuthzM+zPUR5GgojER/C/3hTIBDM=;
        b=dNatpFOr7+Xq+r+jwerMeZIj6+y9FRXZjPK5MI4ohQmkZZhJbxnIPmNgezG212Qzsf
         RqqeyqoQ9gAplE3j9KR9SDyphFEph36esibzS5pubaefpvSlXlcYDoFX69twU70F7xYx
         /cb/xz9KNN1iu0lQsLQgAlzF7XT5FCcrUkjdjpAdGqsPe/MWQxjWqmhKcHYEyjoFdYm9
         JPYd59ITRQqlXoPAhD60Dofh5eDoOy7ekzp4WYXjT3+cN7TUQ+SMZYpwc3nbPcqzXQEN
         G+UE4OP5NTI64ytMOT7Fr8Z55mSS+Iye/Z5iIHXMjXCdrWMNilJAjC6E4kIzBzvxOBMb
         L+Tg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678938238;
        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=fRYWT6d7bt8Rna5CuthzM+zPUR5GgojER/C/3hTIBDM=;
        b=MZvggJr3JneZQCkZTvXIwWQ9UiCcH1tH1MZef84eKoA1cqDxUi42exsgBOLAqK37/9
         caFxhCxl5ZjD5A7GdahHggyxWY4bLitVr2NiNMjqtXWGHGHf08IFxlw+UktQ5hVmoxwO
         XNAP6fVcPjX49ENiLErFQNXS5jJAOxHGvgULRR7KVai6XrB2tdVP4bfkQWFrFoJi2mYE
         pzB9u/ClyUQgo7Xw3pyP5+bbesVJGkg9GI1PE9qNOrDBFuoF2oAjiZr80+4USfE1awMD
         GiqZuRnKKx5jSQV/NR24dqls1+cEITxLEecmqOppJzVcWII5dRXp7KWYQhYdyAJt7VpQ
         ZR9w==
X-Gm-Message-State: AO0yUKV7PSNFdTR4Ienzi2DEERqTgxIBGbfb2Yykqz4cBpl7F7sasxkz
	J25kxLD2raxMjC28KNllmOhrXVzM5PXFa3ytTrE=
X-Google-Smtp-Source: AK7set9AG9XUfqHapwPU1YDnL3AklIF/rrVhA+Zs8mj60a5XdsVMwm7p1Vs4Nfnxv33JJNb6hnek384jk4ly0IdRTPk=
X-Received: by 2002:a2e:b5d8:0:b0:295:bb34:9c2 with SMTP id
 g24-20020a2eb5d8000000b00295bb3409c2mr1594511ljn.10.1678938237777; Wed, 15
 Mar 2023 20:43:57 -0700 (PDT)
MIME-Version: 1.0
References: <20230315185121.665635-1-andrew.cooper3@citrix.com>
In-Reply-To: <20230315185121.665635-1-andrew.cooper3@citrix.com>
From: Julien Grall <julien.grall.oss@gmail.com>
Date: Wed, 15 Mar 2023 20:43:46 -0700
Message-ID: <CAJ=z9a0QHMhg7K+8Yz=Oq2CSEHc_w1BMrkXKhi-LtbQnTrvBrQ@mail.gmail.com>
Subject: Re: [PATCH] xen/riscv: Fix build with GCC 10
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Alistair Francis <alistair.francis@wdc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, 
	Connor Davis <connojdavis@gmail.com>, Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="0000000000004339ff05f6fc456d"

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

On Wed, 15 Mar 2023 at 11:52, Andrew Cooper <andrew.cooper3@citrix.com>
wrote:

>   riscv64-linux-gnu-gcc -MMD -MP -MF arch/riscv/.early_printk.o.d
> -DBUILD_ID -fno-strict-aliasing -std=3Dgnu99 -Wall -Wstrict-prototypes
> -Wdeclaration-after-statement -Wno-unused-but-set-variable
> -Wno-unused-local-typedefs   -O1 -fno-omit-frame-pointer -nostdinc
> -fno-builtin -fno-common -Werror -Wredundant-decls -Wno-pointer-arith -Wv=
la
> -pipe -D__XEN__ -include ./include/xen/config.h -Wa,--strip-local-absolut=
e
> -g -mabi=3Dlp64  -I./include -I./arch/riscv/include -march=3Drv64gc
> -mstrict-align -mcmodel=3Dmedany   -c arch/riscv/early_printk.c -o
> arch/riscv/early_printk.o
>   arch/riscv/early_printk.c:18:2: error: #error "early_*() can be called
> from head.S with MMU-off"
>      18 | #error "early_*() can be called from head.S with MMU-off"
>         |  ^~~~~
>
>   $ riscv64-linux-gnu-gcc --version
>   riscv64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110
>
> The binary is otherwise correct, so remove the incorrect check.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Bob Eshleman <bobbyeshleman@gmail.com>
> CC: Alistair Francis <alistair.francis@wdc.com>
> CC: Connor Davis <connojdavis@gmail.com>
>
> I was honestly hoping to leave this to some poor sole in the future.
>
> But the irony of this check, after all the argument it caused, breaking t=
he
> very case it was trying to enforce, speaks volumes.


I appreciate you dislike this check. But I think the fact it gets triggered
proved its effectiveness rather than the other way around.

>From a brief look online, the define is meant to be present with medany. So
I think some digging would be worth here as this may indicate another
latent issue either on the command line or the compiler.

(I would like to point out that Linux has the exact same check. So why
would it work there but not in Xen?)

Cheers,




> =E2=80=94=E2=80=94
>  xen/arch/riscv/early_printk.c | 11 -----------
>  1 file changed, 11 deletions(-)
>
> diff --git a/xen/arch/riscv/early_printk.c b/xen/arch/riscv/early_printk.=
c
> index dfe4ad77e25d..b66a11f1bc1a 100644
> --- a/xen/arch/riscv/early_printk.c
> +++ b/xen/arch/riscv/early_printk.c
> @@ -7,17 +7,6 @@
>  #include <asm/early_printk.h>
>  #include <asm/sbi.h>
>
> -/*
> - * When the MMU is off during early boot, any C function called has to
> - * use PC-relative rather than absolute address because the physical
> address
> - * may not match the virtual address.
> - *
> - * To guarantee PC-relative address cmodel=3Dmedany should be used
> - */
> -#ifndef __riscv_cmodel_medany
> -#error "early_*() can be called from head.S with MMU-off"
> -#endif
> -
>  /*
>   * TODO:
>   *   sbi_console_putchar is already planned for deprecation
> --
> 2.30.2
>
>
>

--0000000000004339ff05f6fc456d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div><br></div><div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=
=3D"gmail_attr">On Wed, 15 Mar 2023 at 11:52, Andrew Cooper &lt;<a href=3D"=
mailto:andrew.cooper3@citrix.com">andrew.cooper3@citrix.com</a>&gt; wrote:<=
br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-lef=
t-color:rgb(204,204,204)">=C2=A0 riscv64-linux-gnu-gcc -MMD -MP -MF arch/ri=
scv/.early_printk.o.d -DBUILD_ID -fno-strict-aliasing -std=3Dgnu99 -Wall -W=
strict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variabl=
e -Wno-unused-local-typedefs=C2=A0 =C2=A0-O1 -fno-omit-frame-pointer -nostd=
inc -fno-builtin -fno-common -Werror -Wredundant-decls -Wno-pointer-arith -=
Wvla -pipe -D__XEN__ -include ./include/xen/config.h -Wa,--strip-local-abso=
lute -g -mabi=3Dlp64=C2=A0 -I./include -I./arch/riscv/include -march=3Drv64=
gc -mstrict-align -mcmodel=3Dmedany=C2=A0 =C2=A0-c arch/riscv/early_printk.=
c -o arch/riscv/early_printk.o<br>
=C2=A0 arch/riscv/early_printk.c:18:2: error: #error &quot;early_*() can be=
 called from head.S with MMU-off&quot;<br>
=C2=A0 =C2=A0 =C2=A018 | #error &quot;early_*() can be called from head.S w=
ith MMU-off&quot;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 ^~~~~<br>
<br>
=C2=A0 $ riscv64-linux-gnu-gcc --version<br>
=C2=A0 riscv64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110<br>
<br>
The binary is otherwise correct, so remove the incorrect check.<br>
<br>
Signed-off-by: Andrew Cooper &lt;<a href=3D"mailto:andrew.cooper3@citrix.co=
m" target=3D"_blank">andrew.cooper3@citrix.com</a>&gt;<br>
---<br>
CC: Bob Eshleman &lt;<a href=3D"mailto:bobbyeshleman@gmail.com" target=3D"_=
blank">bobbyeshleman@gmail.com</a>&gt;<br>
CC: Alistair Francis &lt;<a href=3D"mailto:alistair.francis@wdc.com" target=
=3D"_blank">alistair.francis@wdc.com</a>&gt;<br>
CC: Connor Davis &lt;<a href=3D"mailto:connojdavis@gmail.com" target=3D"_bl=
ank">connojdavis@gmail.com</a>&gt;<br>
<br>
I was honestly hoping to leave this to some poor sole in the future.<br>
<br>
But the irony of this check, after all the argument it caused, breaking the=
<br>
very case it was trying to enforce, speaks volumes.</blockquote><div dir=3D=
"auto"><br></div><div dir=3D"auto">I appreciate you dislike this check. But=
 I think the fact it gets triggered proved its effectiveness rather than th=
e other way around.</div><div dir=3D"auto"><br></div><div dir=3D"auto">From=
 a brief look online, the define is meant to be present with medany. So I t=
hink some digging would be worth here as this may indicate another latent i=
ssue either on the command line or the compiler.</div><div dir=3D"auto"><br=
></div><div dir=3D"auto">(I would like to point out that Linux has the exac=
t same check. So why would it work there but not in Xen?)</div><div dir=3D"=
auto"><br></div><div dir=3D"auto">Cheers,</div><div dir=3D"auto"><br></div>=
<div dir=3D"auto"><br></div><div dir=3D"auto"><br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;bo=
rder-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)" =
dir=3D"auto"><br>=E2=80=94=E2=80=94<br>
=C2=A0xen/arch/riscv/early_printk.c | 11 -----------<br>
=C2=A01 file changed, 11 deletions(-)<br>
<br>
diff --git a/xen/arch/riscv/early_printk.c b/xen/arch/riscv/early_printk.c<=
br>
index dfe4ad77e25d..b66a11f1bc1a 100644<br>
--- a/xen/arch/riscv/early_printk.c<br>
+++ b/xen/arch/riscv/early_printk.c<br>
@@ -7,17 +7,6 @@<br>
=C2=A0#include &lt;asm/early_printk.h&gt;<br>
=C2=A0#include &lt;asm/sbi.h&gt;<br>
<br>
-/*<br>
- * When the MMU is off during early boot, any C function called has to<br>
- * use PC-relative rather than absolute address because the physical addre=
ss<br>
- * may not match the virtual address.<br>
- *<br>
- * To guarantee PC-relative address cmodel=3Dmedany should be used<br>
- */<br>
-#ifndef __riscv_cmodel_medany<br>
-#error &quot;early_*() can be called from head.S with MMU-off&quot;<br>
-#endif<br>
-<br>
=C2=A0/*<br>
=C2=A0 * TODO:<br>
=C2=A0 *=C2=A0 =C2=A0sbi_console_putchar is already planned for deprecation=
<br>
-- <br>
2.30.2<br>
<br>
<br>
</blockquote></div></div>

--0000000000004339ff05f6fc456d--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 05:21:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 05:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510304.787735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcg3I-0007Ad-Pi; Thu, 16 Mar 2023 05:21:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510304.787735; Thu, 16 Mar 2023 05: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 1pcg3I-0007AW-MN; Thu, 16 Mar 2023 05:21:24 +0000
Received: by outflank-mailman (input) for mailman id 510304;
 Thu, 16 Mar 2023 05:21: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 1pcg3G-0007AM-Ui; Thu, 16 Mar 2023 05:21: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 1pcg3G-000459-QQ; Thu, 16 Mar 2023 05:21: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 1pcg3G-0000TL-AV; Thu, 16 Mar 2023 05:21:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcg3G-0000NS-9x; Thu, 16 Mar 2023 05:21: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:Message-Id:Subject:To;
	bh=i21yezd14GvBsJkO8NzCa1bLrtuhuMuD8EnRsgsmZOI=; b=s21eIOL+FK7qqbpR9mr2vHadZt
	8k1nsJ+4DnOpc/p6i1fQgfWtPRbXmECayMvDU2yXIUxPcgyVE0NL8M+/5nUeGyBEXmrCrWYgTu+XC
	ptDIZ1xGlnNl1/K++m2uo3FBoB0NoSMtp5wcRmxjgUufPHH3dbmCxMPRLT3E2HRX599s=;
To: xen-devel@lists.xenproject.org
Subject: [qemu-mainline bisection] complete test-amd64-i386-libvirt-xsm
Message-Id: <E1pcg3G-0000NS-9x@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Mar 2023 05:21:22 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-i386-libvirt-xsm
testid guest-start

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu https://gitlab.com/qemu-project/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  qemuu https://gitlab.com/qemu-project/qemu.git
  Bug introduced:  b6cacfea0b38300e3ea5fd6d486d5085122554eb
  Bug not present: 831b0db8abda1d837a299893c4e3027942c8ac49
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/179663/


  commit b6cacfea0b38300e3ea5fd6d486d5085122554eb
  Author: David Woodhouse <dwmw@amazon.co.uk>
  Date:   Sun Jan 1 17:54:41 2023 +0000
  
      hw/xen: Add evtchn operations to allow redirection to internal emulation
      
      The existing implementation calling into the real libxenevtchn moves to
      a new file hw/xen/xen-operations.c, and is called via a function table
      which in a subsequent commit will also be able to invoke the emulated
      event channel support.
      
      Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
      Reviewed-by: Paul Durrant <paul@xen.org>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/qemu-mainline/test-amd64-i386-libvirt-xsm.guest-start.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/qemu-mainline/test-amd64-i386-libvirt-xsm.guest-start --summary-out=tmp/179663.bisection-summary --basis-template=179518 --blessings=real,real-bisect,real-retry qemu-mainline test-amd64-i386-libvirt-xsm guest-start
Searching for failure / basis pass:
 179644 fail [host=fiano1] / 179518 [host=albana1] 179501 [host=albana0] 179497 [host=italia0] 179449 [host=pinot1] 176449 [host=elbling1] 176423 [host=pinot0] 176407 [host=nobling1] 176392 [host=nobling0] 176367 [host=italia1] 176352 [host=huxelrebe1] 176342 [host=debina1] 176096 [host=huxelrebe0] 176080 [host=debina0] 176069 [host=italia0] 176022 [host=pinot1] 176008 [host=albana0] 175998 [host=fiano0] 175991 [host=italia1] 175977 [host=nobling1] 175962 [host=pinot0] 175743 [host=debina1] 1757\
 35 [host=albana1] 175637 [host=huxelrebe0] 175627 [host=elbling1] 175623 [host=debina0] 175619 [host=nocera1] 175614 [host=debina1] 175603 ok.
Failure / basis pass flights: 179644 / 175603
(tree with no url: minios)
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu https://gitlab.com/qemu-project/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c434a7e48faff075ef9e40b483519910c4ee360c 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 961792c9d61f7e03e0c1b6b9f93b8b306df94bf9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 652737c8090eb3792f8b4c4b22ab12d7cc32073f ea1b7a0733906b8425d948ae94fba63c32b1d425 be62b1fc2aa7375d553603fca07299da765a89fe
Basis pass 6cd2b4e101cc0b60c6db83f763a08daea67ad6eb 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8c2357809e2c352c8ba7c35ab50f49deefd3d39e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d365cb0b9d14eb562ce85d3acfe36e8aad13df3f 645a64b4911d7cadf5749d7375544fc2384e70ba 671f50ffab3329c5497208da89620322b9721a77
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#6cd2b4e101cc0b60c6db83f763a08daea67ad6eb-c434a7e48faff075ef9e40b483519910c4ee360c https://gitlab.com/keycodemap/keycodemapdb.git#57ba70da5312170883a3d622cd2aa3fd0e2ec7ae-57ba70da5312170883a3d622cd2aa3fd0e2ec7ae git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-c3038e718a19fc596f7b1baba0f83d5146dc7784 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0\
 dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#8c2357809e2c352c8ba7c35ab50f49deefd3d39e-961792c9d61f7e03e0c1b6b9f93b8b306df94bf9 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 https://gitlab.com/qemu-project/qemu.git#d365cb0b9d14eb562ce85d3acfe36e8aad13df3f-652737c8090eb3792f8b4c4b22ab12d7cc32073f git://xenbits.xen.org/osstest/seabios.git#645a64b4911d7cadf5749d7375544fc2384\
 e70ba-ea1b7a0733906b8425d948ae94fba63c32b1d425 git://xenbits.xen.org/xen.git#671f50ffab3329c5497208da89620322b9721a77-be62b1fc2aa7375d553603fca07299da765a89fe
>From git://cache:9419/git://xenbits.xen.org/libvirt
 - [deleted]               (none)     -> origin/master
 - [deleted]               (none)     -> origin/v0.10.2-maint
 - [deleted]               (none)     -> origin/v0.8.3-maint
 - [deleted]               (none)     -> origin/v0.9.11-maint
 - [deleted]               (none)     -> origin/v0.9.12-maint
 - [deleted]               (none)     -> origin/v0.9.6-maint
 - [deleted]               (none)     -> origin/v1.0.0-maint
 - [deleted]               (none)     -> origin/v1.0.1-maint
 - [deleted]               (none)     -> origin/v1.0.2-maint
 - [deleted]               (none)     -> origin/v1.0.3-maint
 - [deleted]               (none)     -> origin/v1.0.4-maint
 - [deleted]               (none)     -> origin/v1.0.5-maint
 - [deleted]               (none)     -> origin/v1.0.6-maint
 - [deleted]               (none)     -> origin/v1.1.0-maint
 - [deleted]               (none)     -> origin/v1.1.1-maint
 - [deleted]               (none)     -> origin/v1.1.2-maint
 - [deleted]               (none)     -> origin/v1.1.3-maint
 - [deleted]               (none)     -> origin/v1.1.4-maint
 - [deleted]               (none)     -> origin/v1.2.0-maint
 - [deleted]               (none)     -> origin/v1.2.1-maint
 - [deleted]               (none)     -> origin/v1.2.10-maint
 - [deleted]               (none)     -> origin/v1.2.11-maint
 - [deleted]               (none)     -> origin/v1.2.12-maint
 - [deleted]               (none)     -> origin/v1.2.13-maint
 - [deleted]               (none)     -> origin/v1.2.14-maint
 - [deleted]               (none)     -> origin/v1.2.15-maint
 - [deleted]               (none)     -> origin/v1.2.16-maint
 - [deleted]               (none)     -> origin/v1.2.17-maint
 - [deleted]               (none)     -> origin/v1.2.18-maint
 - [deleted]               (none)     -> origin/v1.2.19-maint
 - [deleted]               (none)     -> origin/v1.2.2-maint
 - [deleted]               (none)     -> origin/v1.2.20-maint
 - [deleted]               (none)     -> origin/v1.2.21-maint
 - [deleted]               (none)     -> origin/v1.2.3-maint
 - [deleted]               (none)     -> origin/v1.2.4-maint
 - [deleted]               (none)     -> origin/v1.2.5-maint
 - [deleted]               (none)     -> origin/v1.2.6-maint
 - [deleted]               (none)     -> origin/v1.2.7-maint
 - [deleted]               (none)     -> origin/v1.2.8-maint
 - [deleted]               (none)     -> origin/v1.2.9-maint
 - [deleted]               (none)     -> origin/v1.3.0-maint
 - [deleted]               (none)     -> origin/v1.3.1-maint
 - [deleted]               (none)     -> origin/v1.3.2-maint
 - [deleted]               (none)     -> origin/v1.3.3-maint
 - [deleted]               (none)     -> origin/v1.3.4-maint
 - [deleted]               (none)     -> origin/v1.3.5-maint
 - [deleted]               (none)     -> origin/v2.0-maint
 - [deleted]               (none)     -> origin/v2.1-maint
 - [deleted]               (none)     -> origin/v2.2-maint
 - [deleted]               (none)     -> origin/v3.0-maint
 - [deleted]               (none)     -> origin/v3.2-maint
 - [deleted]               (none)     -> origin/v3.7-maint
 - [deleted]               (none)     -> origin/v4.1-maint
 - [deleted]               (none)     -> origin/v4.10-maint
 - [deleted]               (none)     -> origin/v4.2-maint
 - [deleted]               (none)     -> origin/v4.3-maint
 - [deleted]               (none)     -> origin/v4.4-maint
 - [deleted]               (none)     -> origin/v4.5-maint
 - [deleted]               (none)     -> origin/v4.6-maint
 - [deleted]               (none)     -> origin/v4.7-maint
 - [deleted]               (none)     -> origin/v4.8-maint
 - [deleted]               (none)     -> origin/v4.9-maint
 - [deleted]               (none)     -> origin/v5.0-maint
 - [deleted]               (none)     -> origin/v5.1-maint
 - [deleted]               (none)     -> origin/v5.1.0-maint
 - [deleted]               (none)     -> origin/v5.2-maint
 - [deleted]               (none)     -> origin/v5.3-maint
 * [new branch]            osstest/frozen/xen-4.0-testing -> origin/osstest/frozen/xen-4.0-testing
 * [new branch]            osstest/frozen/xen-4.1-testing -> origin/osstest/frozen/xen-4.1-testing
 * [new branch]            osstest/frozen/xen-4.10-testing -> origin/osstest/frozen/xen-4.10-testing
 * [new branch]            osstest/frozen/xen-4.11-testing -> origin/osstest/frozen/xen-4.11-testing
 * [new branch]            osstest/frozen/xen-4.12-testing -> origin/osstest/frozen/xen-4.12-testing
 * [new branch]            osstest/frozen/xen-4.13-testing -> origin/osstest/frozen/xen-4.13-testing
 * [new branch]            osstest/frozen/xen-4.14-testing -> origin/osstest/frozen/xen-4.14-testing
 * [new branch]            osstest/frozen/xen-4.15-testing -> origin/osstest/frozen/xen-4.15-testing
 * [new branch]            osstest/frozen/xen-4.16-testing -> origin/osstest/frozen/xen-4.16-testing
 * [new branch]            osstest/frozen/xen-4.17-testing -> origin/osstest/frozen/xen-4.17-testing
 * [new branch]            osstest/frozen/xen-4.2-testing -> origin/osstest/frozen/xen-4.2-testing
 * [new branch]            osstest/frozen/xen-4.3-testing -> origin/osstest/frozen/xen-4.3-testing
 * [new branch]            osstest/frozen/xen-4.4-testing -> origin/osstest/frozen/xen-4.4-testing
 * [new branch]            osstest/frozen/xen-4.5-testing -> origin/osstest/frozen/xen-4.5-testing
 * [new branch]            osstest/frozen/xen-4.6-testing -> origin/osstest/frozen/xen-4.6-testing
 * [new branch]            osstest/frozen/xen-4.7-testing -> origin/osstest/frozen/xen-4.7-testing
 * [new branch]            osstest/frozen/xen-4.8-testing -> origin/osstest/frozen/xen-4.8-testing
 * [new branch]            osstest/frozen/xen-4.9-testing -> origin/osstest/frozen/xen-4.9-testing
 * [new branch]            xen-tested-master -> origin/xen-tested-master
Loaded 99743 nodes in revision graph
Searching for test results:
 175603 pass 6cd2b4e101cc0b60c6db83f763a08daea67ad6eb 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8c2357809e2c352c8ba7c35ab50f49deefd3d39e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d365cb0b9d14eb562ce85d3acfe36e8aad13df3f 645a64b4911d7cadf5749d7375544fc2384e70ba 671f50ffab3329c5497208da89620322b9721a77
 175614 [host=debina1]
 175619 [host=nocera1]
 175623 [host=debina0]
 175627 [host=elbling1]
 175637 [host=huxelrebe0]
 175643 []
 175647 []
 175654 []
 175664 []
 175672 []
 175681 []
 175691 []
 175703 []
 175709 []
 175716 []
 175719 []
 175722 []
 175725 []
 175727 []
 175729 []
 175733 []
 175735 [host=albana1]
 175743 [host=debina1]
 175750 []
 175835 []
 175858 []
 175911 []
 175908 []
 175952 []
 175962 [host=pinot0]
 175977 [host=nobling1]
 175991 [host=italia1]
 175998 [host=fiano0]
 176008 [host=albana0]
 176022 [host=pinot1]
 176069 [host=italia0]
 176080 [host=debina0]
 176096 [host=huxelrebe0]
 176342 [host=debina1]
 176352 [host=huxelrebe1]
 176367 [host=italia1]
 176392 [host=nobling0]
 176407 [host=nobling1]
 176423 [host=pinot0]
 176449 [host=elbling1]
 179449 [host=pinot1]
 179497 [host=italia0]
 179501 [host=albana0]
 179518 [host=albana1]
 179526 fail irrelevant
 179533 pass 6cd2b4e101cc0b60c6db83f763a08daea67ad6eb 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8c2357809e2c352c8ba7c35ab50f49deefd3d39e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d365cb0b9d14eb562ce85d3acfe36e8aad13df3f 645a64b4911d7cadf5749d7375544fc2384e70ba 671f50ffab3329c5497208da89620322b9721a77
 179535 fail irrelevant
 179534 fail irrelevant
 179538 pass irrelevant
 179539 fail irrelevant
 179540 pass 9fecdaf1c80f8fb4390c77b4d353ad07ba77c87a 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c7c25997595aa34ce0a7a21ca2e1fc5b0f9b38a6 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 67128074c9bd39f607548b27d2d51c3f0ca9d35e ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179541 pass 9fecdaf1c80f8fb4390c77b4d353ad07ba77c87a 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c7c25997595aa34ce0a7a21ca2e1fc5b0f9b38a6 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2ddc45954f97cd1d7ee5cbca0def05e980d1da9f ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179542 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6611d8d5c265c138a4a0cc36a2c02d84a768976 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179543 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa1cd447b346e8cc8141df2fe2d321b032c08acb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 47fc340010335bc2549bc1f07e5fd85d86a2b9f9 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179544 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 43b79f3b86c343a8973dc98278ad7f7921bf248d ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179547 pass cf01bbb9926a3289e75d8c59dac24d091f85ab06 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 37151032989ecf6e7ce8b65bc7bcb400d0318b2c ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179550 pass 6cd2b4e101cc0b60c6db83f763a08daea67ad6eb 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8c2357809e2c352c8ba7c35ab50f49deefd3d39e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d365cb0b9d14eb562ce85d3acfe36e8aad13df3f 645a64b4911d7cadf5749d7375544fc2384e70ba 671f50ffab3329c5497208da89620322b9721a77
 179551 fail irrelevant
 179553 pass 3138e204b2e3f4d765af66faf1fc9b566de370dd 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a0f9628705e35c981ae95376f9ebedf877d09111 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ba44caac0741482d2c1921f7f974c205d2d4222b ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179555 fail irrelevant
 179556 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 76116e28e1491a06966fd594fefdaacb084ada10 ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179557 pass 6ecd2181097d2614f5c7ee202ac16db6034b37ae 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0ccf919d742e387a6e533cf41d422a26d89f0d99 ea1b7a0733906b8425d948ae94fba63c32b1d425 b84fdf521b306cce64388fe57ee6c7c00f9d3e76
 179548 fail irrelevant
 179559 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b22a2d409b1acfdf0d63d1bb3595194ceb3d94da ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179560 fail irrelevant
 179562 fail 61d51c9c418dd3c77794519a5f66a02118b11326 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a0f9628705e35c981ae95376f9ebedf877d09111 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b1224d8395de9be79c8cddbc2f60d29d9f1c10fe ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179563 fail bc77182ea40457381222f472a37c2a2f38991de0 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a0f9628705e35c981ae95376f9ebedf877d09111 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 15002921e878e6cf485f655d580733b5319ea015 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179564 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ddf0676f1ade90026483a91823d86db4096a40ef ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179566 pass f5966651e7c37f5501de29303a6defb13efdbed9 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e1f9f73ba15e0356ce1aa3317d7bd294f587ab58 ea1b7a0733906b8425d948ae94fba63c32b1d425 49b1cb27413034c81023d1faf7af43690e87291a
 179569 pass e66469095d4a6dafc7e482894321e1e10c734e54 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 3f21065f0983d37c5d4a11a3c59bab5201a9f499 ea1b7a0733906b8425d948ae94fba63c32b1d425 91d4d9506a4e8906253d1280bd5a1f39668fad64
 179561 fail irrelevant
 179572 pass e66469095d4a6dafc7e482894321e1e10c734e54 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 569346ad0a85b370fe28282656da18bddd291ed6 ea1b7a0733906b8425d948ae94fba63c32b1d425 91d4d9506a4e8906253d1280bd5a1f39668fad64
 179576 pass e66469095d4a6dafc7e482894321e1e10c734e54 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0f385a2420d2c3f8ae7ed65fbe2712027664059e ea1b7a0733906b8425d948ae94fba63c32b1d425 91d4d9506a4e8906253d1280bd5a1f39668fad64
 179578 pass 91431db94b126cbb9dc3276da6a8fd0216008298 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2d89cb1fe5c778f51b5fdc6878adacdb0d908949 ea1b7a0733906b8425d948ae94fba63c32b1d425 406cea1970535cd7b9d6bcf09bc164ef9bb64bac
 179580 pass da6277d8e9ef64f4a033b1bfb6dd43ccdd9e59b6 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 9b0699ab801405fe5bdf1adea83bceac9ec62f97 ea1b7a0733906b8425d948ae94fba63c32b1d425 a90a0018f605e3bb0588816e5a1f957d6e4562eb
 179581 pass da6277d8e9ef64f4a033b1bfb6dd43ccdd9e59b6 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 4919d0c44afd58e16a8a369ca359de7f0114e04c ea1b7a0733906b8425d948ae94fba63c32b1d425 a90a0018f605e3bb0588816e5a1f957d6e4562eb
 179582 pass 598a73335d70b4ef70b84f9730d708c116f88b15 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 38da9606f77842cdcdc231210c0369a6180c51a0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 36debafddd788066be10b33c5f11b984a08e5c85 ea1b7a0733906b8425d948ae94fba63c32b1d425 5b9bb91abba7c983def3b4bef71ab08ad360a242
 179584 pass 15e5eb8a7684992d1a885038d28781462a727bf2 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5c551d6d912967ada3084033acea8acf37256043 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0dd47dc5470629ae3ad8830a0b44aea82a6dd8ae ea1b7a0733906b8425d948ae94fba63c32b1d425 2e52dcc853a7183784cd9bdfb1e78ff366035209
 179585 pass b61c66d1dea2525290b7fa1f41ba6958bc39d63c 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 540522fec06b87bf11ad5624abe23b515f282d60 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b1d1d468cabfa800950e1ecb6006df619687c269 ea1b7a0733906b8425d948ae94fba63c32b1d425 9b70bc6d9678142a40e6c1c6934a32c7a0966e38
 179586 pass 3820a0ce41694eb8b8ae62cfdfd08eb06fb352d4 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 93a21b465bda44cecdd6347ad481ca6f55286547 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7b548761e5d084f2fc0fc4badebab227b51a8a84 ea1b7a0733906b8425d948ae94fba63c32b1d425 f4f498d08d50259b9f25c274fd7b1e8ccf5693af
 179574 fail 8419dd3b69cfada783a2e6df315e45dd294b0d18 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 674acdd17808052519aafcbee1583ad89b66181a ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179587 pass 6cd2b4e101cc0b60c6db83f763a08daea67ad6eb 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8c2357809e2c352c8ba7c35ab50f49deefd3d39e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d365cb0b9d14eb562ce85d3acfe36e8aad13df3f 645a64b4911d7cadf5749d7375544fc2384e70ba 671f50ffab3329c5497208da89620322b9721a77
 179589 fail 8419dd3b69cfada783a2e6df315e45dd294b0d18 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 674acdd17808052519aafcbee1583ad89b66181a ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179590 pass 15e5eb8a7684992d1a885038d28781462a727bf2 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5c551d6d912967ada3084033acea8acf37256043 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 003ba52a8b327180e284630b289c6ece5a3e08b9 ea1b7a0733906b8425d948ae94fba63c32b1d425 2e52dcc853a7183784cd9bdfb1e78ff366035209
 179592 pass 0c4e716835eaf2a575bd063fde074c0fc7c4e4d4 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f6ce1a5cd8932844ec24701d158254ccf75b6159 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 acbc8aee5b09222dc6a5cb88306b67bcbe37e30b ea1b7a0733906b8425d948ae94fba63c32b1d425 4e0b4ccfc504f26187939068796295340ffd0e2f
 179594 pass 5155ab4b2a704285505dfea6ffee8b980fdaa29e 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5db84c85c3544b92fa236c4d169440d523712ae0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6b433719eabf0abc74cff0cfd5687f0137c4198a ea1b7a0733906b8425d948ae94fba63c32b1d425 b9adcb5ab910b61e5332728bd248906e68a45900
 179588 fail 8419dd3b69cfada783a2e6df315e45dd294b0d18 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179595 pass 5155ab4b2a704285505dfea6ffee8b980fdaa29e 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5db84c85c3544b92fa236c4d169440d523712ae0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ae2b5d8381a73b27f35f19c988d45c78bb4d5768 ea1b7a0733906b8425d948ae94fba63c32b1d425 b9adcb5ab910b61e5332728bd248906e68a45900
 179597 pass 6cd2b4e101cc0b60c6db83f763a08daea67ad6eb 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8c2357809e2c352c8ba7c35ab50f49deefd3d39e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d365cb0b9d14eb562ce85d3acfe36e8aad13df3f 645a64b4911d7cadf5749d7375544fc2384e70ba 671f50ffab3329c5497208da89620322b9721a77
 179599 fail 8419dd3b69cfada783a2e6df315e45dd294b0d18 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179600 pass 5c4007ddc6c29632b5cc96ab4ef81ebb7797d1bb 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5db84c85c3544b92fa236c4d169440d523712ae0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 285ee77f5b58237c972bbe82aa0e1dc489c147d6 ea1b7a0733906b8425d948ae94fba63c32b1d425 c0e202194bfcb413d7cf662b333550ed444c469b
 179602 pass 5c4007ddc6c29632b5cc96ab4ef81ebb7797d1bb 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5db84c85c3544b92fa236c4d169440d523712ae0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 5474aa4f3e0a3e9c171db7c55b5baf15f2e2778c ea1b7a0733906b8425d948ae94fba63c32b1d425 c0e202194bfcb413d7cf662b333550ed444c469b
 179603 pass c3f16cea3bef578c498c720aa90c677ee9511e2f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5db84c85c3544b92fa236c4d169440d523712ae0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 5c71a911267f742a71e2c7725dd3164347c61738 ea1b7a0733906b8425d948ae94fba63c32b1d425 c0e202194bfcb413d7cf662b333550ed444c469b
 179605 pass 0f350a4d070e952b0ecc7631708478ddfd43ba3f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 9d669016d968b0f3e17ce7df16ae51d85b0adfcf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ceabf6e500570ecfb311d8896c4ba9da8cf21f2a ea1b7a0733906b8425d948ae94fba63c32b1d425 a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e
 179606 pass f2d379e7cb802f922409c35e4831ee52a2162486 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 13b97736c876919b9786055829caaa4fa46984b7 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 5736527050cfcc5b92521d79fe87b4883059d864 ea1b7a0733906b8425d948ae94fba63c32b1d425 a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e
 179596 fail 8419dd3b69cfada783a2e6df315e45dd294b0d18 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179608 pass f2d379e7cb802f922409c35e4831ee52a2162486 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ae6e470252d9312dce20d0b21e7f622c4ca9ad0a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 387b2b52558bbb44ad74634415e1ab488d3c62a7 ea1b7a0733906b8425d948ae94fba63c32b1d425 78e93e6e57c218eead498a664785f414bcb12460
 179611 pass 4ad60f9b29b9548e1c65cd63a699e5f00eaaf6b1 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ae6e470252d9312dce20d0b21e7f622c4ca9ad0a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 026817fb69414c9d3909d8b1a209f90180d777d6 ea1b7a0733906b8425d948ae94fba63c32b1d425 78e93e6e57c218eead498a664785f414bcb12460
 179614 pass 2a690fc1729242a749c50b29ad804b51f5ffa5a3 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 37d3eb026a766b2405daae47e02094c2ec248646 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 4f01a9bb0461e8c11ee0c94d90a504cb7d580a85 645a64b4911d7cadf5749d7375544fc2384e70ba d60324d8af9404014cfcc37bba09e9facfd02fcf
 179615 pass 0f350a4d070e952b0ecc7631708478ddfd43ba3f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4d37059d8e1eeda124270a158416795605327cbd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0730eab4d38f74589da4a7d55814773260491f89 ea1b7a0733906b8425d948ae94fba63c32b1d425 a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e
 179617 pass 1c7476c8797b7f0d6e8d607f6a42c5bf43441677 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 37d3eb026a766b2405daae47e02094c2ec248646 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 3b07a936d3bfe97b07ddffcfbb532985a88033dd 645a64b4911d7cadf5749d7375544fc2384e70ba 1d60c20260c7e82fe5344d06c20d718e0cc03b8b
 179618 pass 16bfbc8cd2b4a039d3e846dceca807a9cc15849b 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 51411435d559c55eaf38c02baf5d76da78bb658d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 70d17c3eedefe36b0f423575b57dc9708c4a9d57 645a64b4911d7cadf5749d7375544fc2384e70ba 89cc5d96a9d1fce81cf58b6814dac62a9e07fbee
 179620 blocked 16bfbc8cd2b4a039d3e846dceca807a9cc15849b 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 51411435d559c55eaf38c02baf5d76da78bb658d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 701ed34833f53880ba38bde09b0846d01fc16d66 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 179622 pass 16bfbc8cd2b4a039d3e846dceca807a9cc15849b 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bf5678b5802685e07583e3c7ec56d883cbdd5da3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b748352c555b42d497fe8ee00ee2e44eb8627660 645a64b4911d7cadf5749d7375544fc2384e70ba 93017efd7c441420318e46443a06e40fa6f1b6d4
 179623 pass ead6e1b00285cbd98e0f0727efb8adcb29ebc1ba 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d05739a3ff88457ae3ce90db3e91e9d2a11949c8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2f8d6a88e44928e1afaab5fd37fafefc94bf395c 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 179609 fail irrelevant
 179626 pass ead6e1b00285cbd98e0f0727efb8adcb29ebc1ba 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a107ad0f623669c72997443dc0431eeb732f81a0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7c9236d6d61f30583d5d860097d88dbf0fe487bf 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 179629 pass 6cd2b4e101cc0b60c6db83f763a08daea67ad6eb 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8c2357809e2c352c8ba7c35ab50f49deefd3d39e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d365cb0b9d14eb562ce85d3acfe36e8aad13df3f 645a64b4911d7cadf5749d7375544fc2384e70ba 671f50ffab3329c5497208da89620322b9721a77
 179630 fail irrelevant
 179631 pass 666bc8ee4fc2287732be9f90b33895d96f821b38 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 47ab397011b6d1ce4d5805117dc87d9e35f378db 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 886fb67020e32ce6a2cf7049c6f017acf1f0d69a 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 179632 pass 46aee2a9255adf842ab44a9292acb46189a726f7 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ba08910df1071bf5ade987529d9becb38d14a14a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6ba97c48a64d059ddfa5400330dfaf5982f5f2c8 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 179634 pass 03f76e577d66f8eea6aa7cc513e75026527b4cda 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 93a21b465bda44cecdd6347ad481ca6f55286547 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 3b33ae48ec28e1e0d1bc28a85c7423724bcb1a2c ea1b7a0733906b8425d948ae94fba63c32b1d425 01e7477d1b081cff4288ff9f51ec59ee94c03ee0
 179635 pass f5966651e7c37f5501de29303a6defb13efdbed9 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 33dc95d032a86dd007073d72cf006f663c614de2 ea1b7a0733906b8425d948ae94fba63c32b1d425 976ae57b30d0e9432b51ca2ff408d8e52f40f280
 179637 pass 1a6469e81fd0ece5447ecb7db89667e6220fd1c6 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0d588c4f999699a430b32c563fe9ccc1710b8fd7 ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179638 pass f7fa1d4e11cbc7358c7023438bcfa53354544a7a 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 73064edfb864743cde2c08f319609344af02aeb3 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179639 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6cacfea0b38300e3ea5fd6d486d5085122554eb ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179642 pass 9fecdaf1c80f8fb4390c77b4d353ad07ba77c87a 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa1cd447b346e8cc8141df2fe2d321b032c08acb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c29a2f40cd5d1fdad4632b48343cd968db041a44 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179628 fail irrelevant
 179643 pass e30387b3408e8e75ac4326238bfda619ed69aec0 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa1cd447b346e8cc8141df2fe2d321b032c08acb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c29a2f40cd5d1fdad4632b48343cd968db041a44 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179645 fail irrelevant
 179646 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 3ef7ff83caa27d8b3bfc76805cd47bc97d23b7d7 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179648 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7cabbdb70df64fc7b0ed05f3e6aa4e1990eadc77 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179650 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 766804b101d7e452ad85995c231a5c3454f4e25b ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179652 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 831b0db8abda1d837a299893c4e3027942c8ac49 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179654 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6cacfea0b38300e3ea5fd6d486d5085122554eb ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179644 fail c434a7e48faff075ef9e40b483519910c4ee360c 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 961792c9d61f7e03e0c1b6b9f93b8b306df94bf9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 652737c8090eb3792f8b4c4b22ab12d7cc32073f ea1b7a0733906b8425d948ae94fba63c32b1d425 be62b1fc2aa7375d553603fca07299da765a89fe
 179655 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 831b0db8abda1d837a299893c4e3027942c8ac49 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179658 pass 6cd2b4e101cc0b60c6db83f763a08daea67ad6eb 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8c2357809e2c352c8ba7c35ab50f49deefd3d39e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d365cb0b9d14eb562ce85d3acfe36e8aad13df3f 645a64b4911d7cadf5749d7375544fc2384e70ba 671f50ffab3329c5497208da89620322b9721a77
 179659 fail c434a7e48faff075ef9e40b483519910c4ee360c 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 961792c9d61f7e03e0c1b6b9f93b8b306df94bf9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 652737c8090eb3792f8b4c4b22ab12d7cc32073f ea1b7a0733906b8425d948ae94fba63c32b1d425 be62b1fc2aa7375d553603fca07299da765a89fe
 179661 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6cacfea0b38300e3ea5fd6d486d5085122554eb ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179662 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 831b0db8abda1d837a299893c4e3027942c8ac49 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179663 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6cacfea0b38300e3ea5fd6d486d5085122554eb ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
Searching for interesting versions
 Result found: flight 175603 (pass), for basis pass
 Result found: flight 179644 (fail), for basis failure (at ancestor ~1)
 Repro found: flight 179658 (pass), for basis pass
 Repro found: flight 179659 (fail), for basis failure
 0 revisions at c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 831b0db8abda1d837a299893c4e3027942c8ac49 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
No revisions left to test, checking graph state.
 Result found: flight 179652 (pass), for last pass
 Result found: flight 179654 (fail), for first failure
 Repro found: flight 179655 (pass), for last pass
 Repro found: flight 179661 (fail), for first failure
 Repro found: flight 179662 (pass), for last pass
 Repro found: flight 179663 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  qemuu https://gitlab.com/qemu-project/qemu.git
  Bug introduced:  b6cacfea0b38300e3ea5fd6d486d5085122554eb
  Bug not present: 831b0db8abda1d837a299893c4e3027942c8ac49
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/179663/


  commit b6cacfea0b38300e3ea5fd6d486d5085122554eb
  Author: David Woodhouse <dwmw@amazon.co.uk>
  Date:   Sun Jan 1 17:54:41 2023 +0000
  
      hw/xen: Add evtchn operations to allow redirection to internal emulation
      
      The existing implementation calling into the real libxenevtchn moves to
      a new file hw/xen/xen-operations.c, and is called via a function table
      which in a subsequent commit will also be able to invoke the emulated
      event channel support.
      
      Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
      Reviewed-by: Paul Durrant <paul@xen.org>

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.258758 to fit
pnmtopng: 203 colors found
Revision graph left in /home/logs/results/bisect/qemu-mainline/test-amd64-i386-libvirt-xsm.guest-start.{dot,ps,png,html,svg}.
----------------------------------------
179663: tolerable FAIL

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

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-i386-libvirt-xsm  14 guest-start             fail baseline untested


jobs:
 build-i386-libvirt                                           pass    
 test-amd64-i386-libvirt-xsm                                  fail    


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

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

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

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



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 06:28:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 06:28:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510311.787748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pch6L-0006TK-UK; Thu, 16 Mar 2023 06:28:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510311.787748; Thu, 16 Mar 2023 06: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 1pch6L-0006TD-Q3; Thu, 16 Mar 2023 06:28:37 +0000
Received: by outflank-mailman (input) for mailman id 510311;
 Thu, 16 Mar 2023 06:28: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 1pch6L-0006T3-6M; Thu, 16 Mar 2023 06:28: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 1pch6L-0005lw-2E; Thu, 16 Mar 2023 06:28: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 1pch6K-0002EZ-AH; Thu, 16 Mar 2023 06:28:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pch6K-00085f-9X; Thu, 16 Mar 2023 06:28: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=460fD4ZfgzGD32XOmf5E3nmRvQnwsTq9urSeVYqNEi8=; b=f6c8YPZbUc2e7S7RyvaW5aXWCu
	gGGM0AnbY1YESsDSM9qO5oo57Vhok/RkC9PbrmIvw1f6PkhLBS8btAHknf3BFJt5ggOcqm8aPqZDS
	FEzL0kt02srEcMtwlIbQ9kh9lMLmvDIvRq1kvPE9CODx9gS84Iidn5OUTOOOY5emexbo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179649-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179649: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    xen-unstable:test-amd64-i386-xl-vhd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-pair:xen-install/dst_host: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-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-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-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd: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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=391f1e135fc121ce8cd5d864eb856988e1562e58
X-Osstest-Versions-That:
    xen=de819c96c863467b6e625cd7197d17682f6c6122
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Mar 2023 06:28:36 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 179633

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-vhd        7 xen-install         fail pass in 179664-retest
 test-amd64-i386-pair        11 xen-install/dst_host fail pass in 179664-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179633
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179633
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179633
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179633
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179633
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179633
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179633
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179633
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179633
 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-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  391f1e135fc121ce8cd5d864eb856988e1562e58
baseline version:
 xen                  de819c96c863467b6e625cd7197d17682f6c6122

Last test of basis   179633  2023-03-14 21:38:53 Z    1 days
Testing same since   179649  2023-03-15 13:29:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrei Cherechesu <andrei.cherechesu@nxp.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

------------------------------------------------------------
commit 391f1e135fc121ce8cd5d864eb856988e1562e58
Author: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Date:   Mon Mar 13 15:08:03 2023 +0200

    arch/arm: time: Add support for parsing interrupts by names
    
    Added support for parsing the ARM generic timer interrupts DT
    node by the "interrupt-names" property, if it is available.
    
    If not available, the usual parsing based on the expected
    IRQ order is performed.
    
    Also treated returning 0 as an error case for the
    platform_get_irq() calls, since it is not a valid PPI ID and
    treating it as a valid case would only cause Xen to BUG() later,
    when trying to reserve vIRQ being SGI.
    
    Added the "hyp-virt" PPI to the timer PPI list, even
    though it's currently not in use. If the "hyp-virt" PPI is
    not found, the hypervisor won't panic.
    
    Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
    Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
    Reviewed-by: Michal Orzel <michal.orzel@amd.com>

commit 91cecd4efcdbce70d6f207b6850eccbd1a171c1d
Author: Andrei Cherechesu <andrei.cherechesu@nxp.com>
Date:   Mon Mar 13 15:08:02 2023 +0200

    arch/arm: irq: Add platform_get_irq_byname() implementation
    
    Moved implementation for the function which parses the IRQs of a DT
    node by the "interrupt-names" property from the SMMU-v3 driver
    to the IRQ core code and made it non-static to be used as helper.
    
    Also changed it to receive a "struct dt_device_node*" as parameter,
    like its counterpart, platform_get_irq(). Updated its usage inside
    the SMMU-v3 driver accordingly.
    
    Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
    Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 07:05:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 07:05:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510318.787767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pchft-0003Hr-TA; Thu, 16 Mar 2023 07:05:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510318.787767; Thu, 16 Mar 2023 07:05: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 1pchft-0003Hk-Ov; Thu, 16 Mar 2023 07:05:21 +0000
Received: by outflank-mailman (input) for mailman id 510318;
 Thu, 16 Mar 2023 07:05: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pchfs-0003Hc-As
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 07:05:20 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0621.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e810a3bd-c3c8-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 08:05:18 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DUZPR04MB9871.eurprd04.prod.outlook.com (2603:10a6:10:4b1::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Thu, 16 Mar
 2023 07:05:14 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 07:05: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: e810a3bd-c3c8-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UgliI9d15DgojbcBlrGzTjCLP6fhShFibsafj7+esIt07I6XVjXMo2uLacBOWTggvaTvnQdRf5K2KejIad1Wi+9EKZ8wKu9fAtFXk3VROBdT+KwPt3KDfYRTWR0QwjHUgap5yaCXWCZBfhrXIKaYZM3dcKl6dN5q4a0E5eliqFGDTIk3SUzdTatPUhk5BCbfXKAiwcPiVJ3ZMp1kvxlQjaUuw7nwA0Ww/QrsoTZHMgDY/adHKghF3m5L45l8EgOVWZqH5wFVLwoVwIZi5omQIsr8EE218EudYguy2KZAFSUJk7FdgP4wKmSgpGqaZQveqTZbTr2YZnZScpoGPaVrOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Pi2kHMkPYV3nxr2IOWClX+KB5TfpBTF746lgJCCTi5E=;
 b=IN1g9i3Bb2VFNQok65mGqIqpj16GCA+8lmOWB+hDd1Lo3CB53jil3bNUlqm1ofIGaWSZ+oV7A9cvBo+cgIvaRtlVkrmdZs7xgbHjsB//FWNaRme0Mro1AJA5HuCzDicHAccuY38TMlgBo44KHZh5PwQpX5mVEe1VVzOOdjwylW24RNv3CZ+LHp647cOrYX0XMkMaZzMgCo/bv46uKcEHc2/OgcnrKFjUTRmdqqot3AkQM4VTsQKv4M+jE7DamEzSNODDetIw/Q0F3Wnysxg4RvVChia1NlHQ64cJxt0DEyKnaV3hkrg0jThI68iydRBtfB+Wl+9SsJafmjeVO2YxEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Pi2kHMkPYV3nxr2IOWClX+KB5TfpBTF746lgJCCTi5E=;
 b=tANmNbV9Jwpggh0nP7flTg1wwUT/gIWcILgZrebjWIIJtEoM7S/JBnjzjFUMYjnizikdi1eKPInieGMG7GdjkW3Q1HF+4hHCDCTCjKbnFw1MemcZvoRAdoIoZ2La4Myc4bA55z5NuyM9yJZFXOYalhw84h75kFK9LiendqxqJXBj8w36ChGKfO4B1HAuTUhhLVR/mGQW434ZYqKLhTC4Fw0TeLH0FR9tdYMyObzNcZCRzpi/cmtHoNsRyUoAg2r2MZEL7oWzn/fUWA2eRlceeOHlr1AyJm3lUAU5K1EcCVY1aQ4HazyH7Zn6vckE9uWiLG8syveRFLESEEGQ8FH/KA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <01fced19-dfbf-c23a-ec5c-4487737543b8@suse.com>
Date: Thu, 16 Mar 2023 08:05:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 4/6] x86/pvh: PVH dom0 also need
 PHYSDEVOP_setup_gsi call
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Huang Rui <ray.huang@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-5-ray.huang@amd.com>
 <c51bcc5b-4f90-5651-de3d-df47bdf4a04a@suse.com>
 <521ccacd-a45a-f55a-72ed-de6b64bca050@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <521ccacd-a45a-f55a-72ed-de6b64bca050@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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DUZPR04MB9871:EE_
X-MS-Office365-Filtering-Correlation-Id: a309d7ed-182b-4429-d5a7-08db25ecca4d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7mYzwzIntBow+ym2lKVTQJ63ypCeTYMxzNbDwmUpWDG44YoduGd5iWhejlS8aPQY6fi432YRMax2CTL47w+RzJKsYA+qLe4i8QE2iVzyWodW7jlgNfJ4cM5MC4T5fcabO5P9aQVa6dcrHuwc+od4il3wFTRvDIz/qdnGYwBphD+Fonm2kc0vVCGtU1WcTjigXQ7S4Vv5Pj7t+JRJekKIpW2sFemOwOnslUt/kapTSMJFyuGHvFcZ7zNEaf758OmoW+ZmcJcJiZ7sPuW1mXPILw1T3gS9BVOKcJsK21cC9LimBAQ2XMlnL0MqfUXkqDnRLwybo9Ie/TkPcfy1cFrSkW0Y5taqbRc2DMBZnWD2Hg4RyIDCpqANSwtUuRTGQyLE9cZx2LnhKudQISP31DKvRbsj6HLYI6v0JBnk62hQKs3kZmhWzSvuWm3wMx7Xgst7cpgBJLEWFg3ZSWsdyPqGX7OyKrk+j57FAKcbJQIIjNFT4aBpObbsC66RKFuSMN+i9Tym+xNKLp+t//np9yL6X+Vl7BnTY66eiNTxx2kNT3+RbluAGRLS0qlbwjmkDhEHgZwOmNpPikQtE+J4vS4nZk7+6TMo7PchC5s//Empnd5wpy5s8jxhMpb4F5cXII9ozWvJdvhkxM5lO0LklNTfhlZ78ii/6vgSBH/pWyZ/smuYyksno26fYiftZ+13H1cTfpLQJ0tpDSltOIA2MgTS0P5cUF4iKOg6AlBGh2kolfQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(346002)(39860400002)(136003)(366004)(396003)(451199018)(6666004)(8676002)(8936002)(31696002)(66946007)(36756003)(5660300002)(7416002)(86362001)(478600001)(66476007)(66556008)(4326008)(6916009)(316002)(41300700001)(54906003)(186003)(6486002)(26005)(2616005)(38100700002)(31686004)(2906002)(6506007)(6512007)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VnFEb09QaXoxVktIaTNDdk9jSWxTYTNTaVJqcjhrSXNWYXl4dW5hMlpJSmIr?=
 =?utf-8?B?b2JFTUdNRTkwVitYREJBcEhqYlNMbVNYNkpickZQR3pUYkR0Y0RPZTdNUDJy?=
 =?utf-8?B?aTNIaVVwb0xkeGNsUHNwLythcy93TjlET0tzNVNQM0hDYzVrTjFHeDlRM3ox?=
 =?utf-8?B?U3ZrUDliRWUzcWU0UkZhNEZuQlYxQmNPajQ3WWNXOW02VjR5c2sxYjFVQVN2?=
 =?utf-8?B?NHJEUHhlcDJWVldIdjl4VlFObHdzV1E2Yk5ScEc0dGdEVVN2dTJQSUtEc082?=
 =?utf-8?B?cGt3TkRrRkxaVGxGWXluOFRUUFlITlBDOUxic3RUTmhQQUVybWJ6ZENQVThj?=
 =?utf-8?B?V244Nk9aWU96VWp2OEhhTGVScVBEWkFmbTRyczVoUnBseGdjTW50ZHlMbEl0?=
 =?utf-8?B?dFRYSnM4SDBYWGJEM3k1a2FCKzNxdjZ4d3JQTi8vUlFkOEQxaVhjM2VvR0ZG?=
 =?utf-8?B?dzh4Z1NrZCs1TFpmUW1hN2Q0eWJqSVh4Y1JCNFFWeW5paUpPRmdtZ1ZBUkVR?=
 =?utf-8?B?MHJTWmc2b3pqMlowb2w5TGxtZ0VCN0JQU250bWdJeHZMVEZ6Q1pnQk5vUFpC?=
 =?utf-8?B?ZjVqalo1OXNDeFo0c2VpbmJMV0Jpem5TcWppNUVkTDFVOWJiU01vaU9aMFdD?=
 =?utf-8?B?Z1pDMytMODNtc0JjZkQyMmJIek5BTkJXZDNSeUlwNU9NN29wNjZyVVVxMTA2?=
 =?utf-8?B?aFBlamRyTXRuaHhWWGJTeCsyVjhIRjJWbFNCeHl2dEpnb2pUQmIrZlJRbzVH?=
 =?utf-8?B?M2d2Nkt4UGZVbGZzUFh4WWxRWWNsRkowK2pFaURLdFBIL3gwRDdtTmdnblRa?=
 =?utf-8?B?UHZyT1E2dnJqSlNWRjhjdGtMZmtSa0NWS3ZuTWVORWtMMHdpY0JlYXdQc2FM?=
 =?utf-8?B?Um5YVHVwSXBNMkRNZmhJZlR0OWN6ZVluRFo0bTJnUzBGY2dQbW4wMWptdWRO?=
 =?utf-8?B?VTMzNGZFVmRYUE4vNmMxWnVLRlVLckp6alJzZHBzZWRwVHllNUpSNm0wVThq?=
 =?utf-8?B?clNQamFlVG1HYnFoK0oyUSt0WEpYUnFDQnI4Q3ZmcWRUN2J2SW9Rb2hDUGwz?=
 =?utf-8?B?M2lCRzUvcHdIYzM0a2tocnhmRVVoNmttQ0RyT3c2QW96YkFkQTJrRVBPd29p?=
 =?utf-8?B?eXp0R1NiZy9wVnVlZTVlTmdabHgrQ01kU1pJb0Q3OWFrWFJqV3kwLzg4bHk2?=
 =?utf-8?B?MFU3Zmp1aE5vaFF4NlFwQVVwM0xWWlc4RE8yNlJqVENXYnFqaSs2R1FzbHBo?=
 =?utf-8?B?VlZ3bjVjYnBGWDhaNGswdW1FNVBUZXE0KysxNDlDN1grK200S3d6ZUgraGJh?=
 =?utf-8?B?RjR2d1FtcWNVUEFtbHhkZStiL3N2V1VvdHd2V2MrTjltMFlnS0FlWElMalRs?=
 =?utf-8?B?T3VVSm1FeENGNkR2OURpU2c1QTF3cXBpdlpXN0NxTHBOcGJoSEw0QVdFUldQ?=
 =?utf-8?B?WUVISHJJL091am1yelRMQTBHYmNha2VsblA2SlV2bG1tQ0hyVUFCTDBpQXF2?=
 =?utf-8?B?STFsRE9WWDg1MjdTVUhzbjNwUXloOEcwRGhaMGx4UW1LY2xnU1BUaGNJNTBk?=
 =?utf-8?B?cUxobWUxellNZy9aRU9YSkRFMHlialdqR3NoUjF3cHlmNnBxbHdKMUwzWlZ1?=
 =?utf-8?B?RjZZdVlKMzYxYzNBaEdDSlhQRHlQaVZKdDcyNnVkUG9CSnhMakwrbWlKQkk3?=
 =?utf-8?B?MHh4c0loSXZ2YUNoaTd1MTRkL0ZLNDVMdXhLRFcwNkZmb2w4UDFGTjFBM2xK?=
 =?utf-8?B?OG5QSU9UQ2xkdE5rUkdVbE82K1U5d3JLdEQyVFdPM2JDbUNNajF2RmtKUFl3?=
 =?utf-8?B?REdOa3RyNXd3aEJHdW5Na0pVVVZwdEVBc000SGQ1cHNkK0hQcmhjaUNFRjFM?=
 =?utf-8?B?VkNLZmxQK05JaEpSNlloL0FvRzMxSnZPVU1NbENTT3hYcE1GTGYzRFZCRHRZ?=
 =?utf-8?B?eWs2TExzK0FXVmhVTDFBQ3RLOE1kc0NHT0RLS09JeTBiNWdNWFJCMksxRzcz?=
 =?utf-8?B?bFNRN25SZ051cENxQ1hjK2lzT0ltK1pnRUtFNjZCYmx5YUM1endwd1VzY0FG?=
 =?utf-8?B?NUFBd3BFSmlwbXh3OUJDVHdkVlNNaWxtYU9qdUJReDUySWVIYXFMeHQ3ZmRQ?=
 =?utf-8?Q?eaZThHL4OmE1HIf/bwqOQrWC8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a309d7ed-182b-4429-d5a7-08db25ecca4d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 07:05:14.4040
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RflJutYR1AIzvpTYLvLUyzK0g5zjOQ7/u0Ognh4KlA9OcknpZ5kYNGJXvZJjbnNN7Dq3BYSwCknqYDJW8K2IjQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9871

On 15.03.2023 18:01, Andrew Cooper wrote:
> On 14/03/2023 4:30 pm, Jan Beulich wrote:
>> On 12.03.2023 08:54, Huang Rui wrote:
>>> From: Chen Jiqian <Jiqian.Chen@amd.com>
>> An empty description won't do here. First of all you need to address the Why?
>> As already hinted at in the reply to the earlier patch, it looks like you're
>> breaking the intended IRQ model for PVH.
> 
> I think this is rather unfair.
> 
> Until you can point to the document which describes how IRQs are
> intended to work in PVH, I'd say this series is pretty damn good attempt
> to make something that functions, in the absence of any guidance.

Are you advocating for patches which don't explain why they make a certain
change? Even in the absence of any documentation, the code itself can be
taken as reference, and hence it can be pointed out that either something
was wrong before, or something needs extending in a certain way to make
some use case work which can't be mode work by other means. In the case of
this series, without knowing the "Why?" for the various changes, it is
also impossible to suggest alternative approaches.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 07:21:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 07:21:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510322.787777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pchvd-0006El-BN; Thu, 16 Mar 2023 07:21:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510322.787777; Thu, 16 Mar 2023 07:21: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 1pchvd-0006Ee-7x; Thu, 16 Mar 2023 07:21:37 +0000
Received: by outflank-mailman (input) for mailman id 510322;
 Thu, 16 Mar 2023 07:21: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pchvc-0006EY-5X
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 07:21:36 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0626.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2ebe5b69-c3cb-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 08:21:34 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.31; Thu, 16 Mar
 2023 07:21:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 07:21:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ebe5b69-c3cb-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jqFqhSCegkfNWbUIfFo54BVRuAxGo194wiboRzs0w/ZGhvS2lQIDaYq1idY44i+olIcPeMFF5YdjtwzDS0EJ57TSus0coua+jtI7hUvxyUUv6iqBmnS8FJlh+A8k/vQv4RWllGppIyxDeOaq+IiOAvH52JqyGRAvVONCvWz3QIxtxYZqYrLEsmWT1wyqLe/qmFy38eH3whoSr+/ghlQME2mCwrhoXeMvhCvE5q0Xbx6AmY2umGOocZB27aHVUOt8l9R6L4/1Bzz3eDLjMTWB0UBmfVhf7v3k8ElObiDep89+1hPnR+akeIwRuSpdIWP8yS6Cps/EqN9PxzZjEdtWPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3Ra9nsZr7hsuaRVdoh/9C9JwzoJ5b3wRRX6LQU36pf4=;
 b=S+cg6XddlNjFiTgOkJWKjrub7rRM760AN9MtKmz3POJn3cG1YJT2+h83iqsHT1+Cp4m/VV+TlgP1fWADaBUgpiGI15Nb4JnuCHM9fOzocXkcHdpUFESN+TjL4KodKX0wQp6eF6abE0MhsWXARJpLfvhH9uMnLlGOPbrIFBRN55pePYC/RPyMvVmc+2iTEplF/t4QWvLnSn2b1tRLbCyy7yI5lYnfGjiwCwt0KEWIZJYVkwdZTv30eNzPpjmikaH7g+bGecS5PdfGAzMDcqq3kAiKkGJuX/rWz3g5t3gawuWa6vA0Y4A5GofM3AzgZQ7GPC3Pgty/eH6rDByIOc5KfQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3Ra9nsZr7hsuaRVdoh/9C9JwzoJ5b3wRRX6LQU36pf4=;
 b=nbjFWbzQi9fWsuTibU1mRM8jB97iMsD8bjPcxOzGrlr82YK3lpCaxvcZGQE11PDHY5XWaSInKf5mMLTDdZlg/SODuMnUmGoV2PRSpBKVUZRjzILNaRgF7YsM9sV3MAYOKa7sY7aItqt+lEnEPj7Y9dr1l39VcVDt3bXhl2+FNMh1VW7jGnYqqUs48mbJhF1iKqAlujV8tKqsiig0gXmRdTQLnYtS1GvIeBnkX9c13cHibvoriAh+vKegULpCParELng+d12M0fnaI/f1lIh54Sqf1xtGPwttLdx5d06e62vNQehVqxn86rF/695BJNZLkkyr69DS9oYU1joWTgBNbg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4b50bbf0-96f7-c0ad-2bd4-cb204e8daef1@suse.com>
Date: Thu, 16 Mar 2023 08:21:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/riscv: Fix build with GCC 10
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230315185121.665635-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230315185121.665635-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0103.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8156:EE_
X-MS-Office365-Filtering-Correlation-Id: fb1cb980-f187-43d3-1831-08db25ef1138
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BNA2M6Z1LsEQF8AYVmo1hgKU8uXthnuUKZL+T30sMYAn1oG0NSxlMOj7zLds6pXIc37Jv0VIYXUXd+HBtbzOPVNoCYE8P0U9tZNbITQVEJh1en9Vmeb4SDhG+XRT7jQmPxR7MeKCZiiImZ9eaC+IOQJfynHxIrDUCeGUAWhoPr+ExlTqA+utMGbtvWirb3cyX9gvZtuV9Xq1o4JVBc+u7KsxWn5Gf9LNfsFetP9RsDqrhmegxzHHrDAfWm1fFip4PgVvy1mttEKQrO8Gjt9IB4jFP97iBBvwG6GY/GAIzVxPWt9NZgFkOfylqWKZsmojjAWYHoTQ6X0FKtDumvXfgi7s27qdIN8GQmTLFtlvJAHN6AwffcJJggEVxAIihUIxTUg/Jkc7YNBMGXyN7caX6evTkokPp7jucPeZ15NE97oj5PRuao2gIDSqkKG1CFui/fcCJxCfquj6G4WOupQh34Qbmm0jhTJcgJWOPjhRoEIw1jUnoUEUAvTbPuILk/kVxHkIRELt2PUrMeJvQjwGPuinSTnokzVeTKfvJW40jlXoeySYqcq9ZEvPQEOvfVuJ8CskZkR0kcVfLk1pS9tD/Z9HenGjj4/ETpf6kBimE98Tei3mbM5f9tvYoeWaa86YNSZh3Xgk8KG6wLNovnWNZmNLINpXUdVeZJ1jHLAlpoL+b3L3uytyvpnjYqeQUhIL3CJDHd4T2sgVRXeN8FOHrfymE0dTOAZb3WpMwTnsj/s=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(376002)(39860400002)(396003)(346002)(451199018)(36756003)(86362001)(31696002)(38100700002)(2906002)(41300700001)(5660300002)(8936002)(4326008)(2616005)(26005)(6512007)(6506007)(186003)(53546011)(316002)(54906003)(8676002)(6916009)(66946007)(66476007)(6486002)(478600001)(66556008)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cDlBRVJJb0duOG0vVDV5UGV5RnJVZVd3cjc4QVp1a2draWt3ZlU1NHVFOURT?=
 =?utf-8?B?WGlLSGorQThWQ2NvZWlmaytFcGNINWZDUkxlcDZnajNCUklOUm91UlZ4MUJT?=
 =?utf-8?B?OTI2bVN6d25oQ3Q2Z2w3Z3ljazhZYnBhRDBaQ1VkeW1uV080Q0hKcTlCR1g5?=
 =?utf-8?B?djQxK2VTSmJnK3c5V1Q2TmlxeGwyY3Y3MFBROGhuVkJIWHNzaVAvUEc5RjFs?=
 =?utf-8?B?SG5WSy94WEZZck15Nk1JRlpEaWlzK0FUampSYlBBdHBtdmR0VnYrek83czdn?=
 =?utf-8?B?T1o5MkRtNFdIazZ2KzczUWdTSWJqSHA5V0VuM0REMEpNMmUzaVBXZWxyWjRB?=
 =?utf-8?B?a25PZ1ZnaWlyeG5BTXd5RHpmM2FtVTZnVjdxOFdRV1I2T2xOajBTc09UUm53?=
 =?utf-8?B?MkNSVktBZzJ0cVFKM1N1Z2l4TzVwSCs4QStlOTdhYUx4QkZMa0FNd09Dc3pv?=
 =?utf-8?B?eC8rUWFIK3k2WEJUcjNyWXVQd015L0VuNkQ1ampXbFlqQWxoYzBaanJvaENX?=
 =?utf-8?B?RVJlUEF0eVM5L0dOUEZqcmhpV3ozbC9HUnZTT3BYU1VjbWZnWmE5cmJ1Y0Nn?=
 =?utf-8?B?YXNySXloa09Jdm1HOVQrb2hHK1pPeTdmS3J6YU1CNjNKVDRaRnc2OEVUY3JD?=
 =?utf-8?B?RE5HUkgyZEN5SHI1NmV1RW45OEc5SUwvQnN1dUx3c2JLNWExcnd3WmFQVU5v?=
 =?utf-8?B?d3pZVDdWbDZXTWZndXNISzB6MEUvWTlsOFFYK1JEVG8vWnRZQ002QmFDSWxF?=
 =?utf-8?B?T2NVSEtJVm9HSjg0YmpMeWJRRTE3T0MwRWk3cm9xeVZIYmJsSkR2QkRlWlpZ?=
 =?utf-8?B?UmU5WDdjdGdza0I0T1RERlJVWXJuNW04Mmkzc0YydlI2WmtBUFhyblBYZkxj?=
 =?utf-8?B?bUM1M3JBZnFwWGczTzdiTE00cTNyVG93WXdzdWd2bUJnUnJzNFhEY3RBLzIr?=
 =?utf-8?B?SmRLYWNjRkZCWFN0d2FPL3NqcVgreHZRbmtRWkljc1AzZXBqNWYzVytxWVBP?=
 =?utf-8?B?SE1XbmRBbG9WdERrQnovVTZjTTA2TUhQUWZYTUdTbnRDMmxuVFZSTCsxV0N0?=
 =?utf-8?B?V0dmMTlXVlYwWHN6VUFhdXBhK3VDN20wblgxeEx1N2U2R0RJVWxrd1hRV1dH?=
 =?utf-8?B?SGVxd3VNN0NNM3JraGQxNEdHZzMvakxvS0ttVlVHMEV6ZUJ2ZmRsVE4yN2lx?=
 =?utf-8?B?T0Z5SmlYMWd3cVhzTk14S2xCeEFqZG1EVHE1dFZaU1ppdkJxRC82YnVXYnYv?=
 =?utf-8?B?bVZUQ0NoZDBwM09XSHYxYXlLSTN1T1Nrd0tQVEQybERId1VhMHJ2SGNrUTJF?=
 =?utf-8?B?SDJENDE0YlVCdzJlSTVSSVgrcU5oR3lybnNGU2VIVms2NjFLZGFSZWxSQjls?=
 =?utf-8?B?bUFOMDAxTnNyNzExTzNoQkRNaE5IQ1RlRVUvVlBxUDZET0ZXZ1V5Q2pFNlMy?=
 =?utf-8?B?SUgxNnpWckJjU0tXTExMLzY1Z2RpcVJyUDh6cU8rNjljVisrSDNoUlpTWFdZ?=
 =?utf-8?B?enU4RkpBMjJGTlRrMEFZTWJyQ0hiTC9vY0tFYU1zcFhIS0FCU2VmdXlvTjNO?=
 =?utf-8?B?Qmd5ZDJXVDBkSjJjSjIxVVcyT0R0Y1hPMUNyNmQyL2grZTVoVmk2R2J5aDUx?=
 =?utf-8?B?UVgrTTJ1allpQjVGNkRmRWlWQkM2ZzJRUGtXeE5aL0ZZTVFGSDBibEJ3RXFm?=
 =?utf-8?B?M2s4RUF4UlVuL3ZTZEFUL2NaYmZFeWx3dDQwdmJib3pZY0MyRUV2NDRMT0lB?=
 =?utf-8?B?ZUUycVNDUytJRHQxY05LSkdreHZaTXVvRExVS0tYVkRlQkdSQThyVC9lNTR6?=
 =?utf-8?B?TTQwZk52NW82ZUdDN3d3TmVrcmdtMWJweFl1VUFjTFg1OU5uaDJiMGk2cDNM?=
 =?utf-8?B?M0d3OTc4MjVOcGNQR1F1ZkZrTWt0dUdTREFmek8ycWppalJvWGNGWit6UThj?=
 =?utf-8?B?SDVzQjJOVFdqU054dWlPUGpjN2hZTEZ2dWVzUzFiUWE2ZU5TYkF2S0xHSHA4?=
 =?utf-8?B?QUU2UDk1RUtueFRGMjY4QTliV0oyTWw2ZmZIS1FET05pYkxCTnk0L0tVWCt0?=
 =?utf-8?B?c1JBNzFqTDhPTEttK1A2RG1CVUdjZ3VsZGRucDRwcHBqbk82ak1LeTBrL1VS?=
 =?utf-8?Q?mdREuLbQA2aCIlupLjcXeTGuV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb1cb980-f187-43d3-1831-08db25ef1138
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 07:21:32.1388
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xwqt/VtIDyvmf0MAU0QxwZpsT0Ba1cNWUfCisJR/5yAYVUvDNp/IeaJpDLDaXtMGUXmWTI5wAKhYmYZdZZdSrQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8156

On 15.03.2023 19:51, Andrew Cooper wrote:
>   riscv64-linux-gnu-gcc -MMD -MP -MF arch/riscv/.early_printk.o.d -DBUILD_ID -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs   -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -Werror -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include ./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=lp64  -I./include -I./arch/riscv/include -march=rv64gc -mstrict-align -mcmodel=medany   -c arch/riscv/early_printk.c -o arch/riscv/early_printk.o
>   arch/riscv/early_printk.c:18:2: error: #error "early_*() can be called from head.S with MMU-off"
>      18 | #error "early_*() can be called from head.S with MMU-off"
>         |  ^~~~~
> 
>   $ riscv64-linux-gnu-gcc --version
>   riscv64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110
> 
> The binary is otherwise correct, so remove the incorrect check.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

I'm with Julien here - this needs further explaining: The compiler (even 8.2)
clearly provides this definition with the given set of command line options,
as supported by trying it out om godbolt. So there must be more to this -
could be a bad patch in Debian's build, could be some odd interaction of
command line options which for whatever reason only triggers with certain
builds, or about anything else.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 07:24:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 07:24:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510324.787786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pchy9-0006oM-N6; Thu, 16 Mar 2023 07:24:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510324.787786; Thu, 16 Mar 2023 07:24:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pchy9-0006oF-KR; Thu, 16 Mar 2023 07:24:13 +0000
Received: by outflank-mailman (input) for mailman id 510324;
 Thu, 16 Mar 2023 07:24: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pchy8-0006o7-Bh
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 07:24:12 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8bd2913b-c3cb-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 08:24:11 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.31; Thu, 16 Mar
 2023 07:24:09 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 07:24: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: 8bd2913b-c3cb-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D8gCHDbL9kYQiafsrCZQVyyRcpoZfK0KINEcSKKDktn2JidxQ67ZD+I7De8mfrg3K9PRPb1jRGq/r8GB8rp59w2H0FC1BGApzZrLGCtUMsSUUjYW9Wg+L2wSwd6AdF/1aLFllAj7Tb8Reapu+++pXpM5C9fK++trLTKqbW7JeMXzxrdKlgx4qwYG6l1hzz+/nHIjQsJJTDmFO6QmVW2MFrzeOqGO4kIEwMY4+ZeWfECCnKiNh95KtnRcQQuvhT2maj01JNGMPMPntJ2F4EPctuhi5esN6dFG9YCgP95CP2PutxirYz5/HMfYxkaDDdtJO5ewVNBiCYWK3iLFF3hIbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Njzcm8gby7pm4KQp4Ucp9K0Nq613zsr6lw6RO9A/4uo=;
 b=VtdGNF4OYizk0I7e8aTEZci9K8/mapngxqhCCGYeYCQ6IDD6LEor9VmE1I5jDdnDa/Ywyw+HoEKAWR+VqHq3uJsPWpMBo1oq0uxFD6o+B4z2OGnqoxgpBlZTQsgS5TuBKrippSCEQ4mudlBrWJqxZ+Y4bP7tDi4kcdgehJ+KLwE633EMvoJWadgI/FF0AvBOWkQk/VR2WnLApMsSPHBVkTEz2+hjUXWteL6iXrrG860RdQqzcBSYBse3a2hPrlUXax6CvFdKV2Pwz/rcdhqMf/EdkcgH+XzVQ6E2cPsQg4WBs1WI3j9MPPyWWC1RaQsJB8kwpcd0m3PeZnIiLognvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Njzcm8gby7pm4KQp4Ucp9K0Nq613zsr6lw6RO9A/4uo=;
 b=1Ibc/AX1SNNuz0JUAAevkFPlAoWmDmUOaZF/XpMcd7nXJE6NKequktzIhCR+fLw4FZXaBiyJz76ffKsiwXdc/eysBikn16qiy3vqHMMuWRyA9dJuo5dUX6kYHHlnnWwoKULKvgSvfnYN2QTvMZtJcM9qAm/+GgL5fZ3BUbUGxJK5p3DKY/UtAPc/T4FqPYIkkFoX+2O7EYReBhYdDjii1sqgkWpYk3Kx0XHXEqAPr4EsDWJlM9pOGk3/M6o0+vCD2I9ihnATDvPUhYIGyEs1PPu25BmObwgDtpk/Ei7bb9/CqzhNejt/RE6tlKLSiKWbprovheTr1I9l9Z+rzoceVw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1c174a17-0860-358b-5593-a7d45cdad00f@suse.com>
Date: Thu, 16 Mar 2023 08:24:06 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/console: Handle true dom0less case when switching
 serial input
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: 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,
 Michal Orzel <michal.orzel@amd.com>
References: <20230314142749.8845-1-michal.orzel@amd.com>
 <da7db77f-3ab8-edd1-bc69-460ca3e2ce25@suse.com>
 <7676cba9-6f92-0c97-dac3-372ca47be34b@amd.com>
 <737fec84-42da-3b9b-6cb5-d18406925403@suse.com>
 <d67aeb95-1631-74c0-cefa-a0cc88512b84@amd.com>
 <alpine.DEB.2.22.394.2303151844530.3462@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2303151844530.3462@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0115.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8156:EE_
X-MS-Office365-Filtering-Correlation-Id: 36da6cb4-10e7-42a7-f6ff-08db25ef6e9f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mZS5A42Ml2mR7jxBjekbV1E/aGLjuiV1UUex8tozbgX7TIFPX3KWOJU0G2dOX3rQlwMzXPEWlTajImeThhtQN8BnKif/6RwkDjEeLeRQh3R24Wtu3qjFXjStxcc8bYTKiFl8+iUUR+94M1yycADoW0UHTV5lstN2Z3DZaSxku12Va9oQGiGHhO8llJcAqFozCR1WqZLl1euL0rXpCEawP4iV5qNWulpxRk7njlzzN6g8AOUqYJXNnHraTtOTQ0POSlCTSx1e0koCrOIg2+QayPtmL4DGZ23YZd0c/PhhSqDc9Qfh6gwIqF/M6lPP8CXUYMoGu7ac4G9YEbI7DjeypPyJnLXTmAg2x2O5JoHMYFqFS1G8oSWD/PAsWZ1WFyADxIUCtUodtL5ea1k1b53i8oVplbHitGljmXJI2spcOEXGYYwQB1bJSSlabpXdfSnglchluEvlPo/lK5HA1H8ZJHSaS+Z+qUg8RdvwIjVjZ78o0FzrEPeXMXb0M2nGHsMxmAR6ZdJkp7RQ/nHenz9CrkS7s9Hmuv3QemkST9yxFspHovM/kUlsR5UE8MhKOR0yxLKd2hSvWAn7+pIST9WVVFnVLPkYGyuvHRJtQ14+QbTcAkCbmxGHwLyVM2BC4QjbyBfXR+8OPzVBPsPtdbnL8gT5WXSM2OyU7gyLR8r+c1Hbaidp7HJGtSEMhZMBKzlWug2E8ks1Vx2NXn5T478QMndSxcR7QSEnoUMIIlke85qrO9d4mmZHugL46z/AYhH5
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(376002)(39860400002)(396003)(346002)(451199018)(36756003)(86362001)(31696002)(38100700002)(2906002)(41300700001)(5660300002)(8936002)(4326008)(2616005)(26005)(6512007)(6506007)(186003)(53546011)(83380400001)(316002)(54906003)(8676002)(6916009)(66946007)(66476007)(6486002)(6666004)(478600001)(66556008)(31686004)(32563001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VXphWlBBYVFSMThUamtCSFJBQVlITVJZWTVzSlFobHczYWFHV0wydkFUYldO?=
 =?utf-8?B?RmFFVitPd29VZkMybmpwRWxVN1lMN09UWm9TdkQ4V2dqREdPcW5NeFVKN01M?=
 =?utf-8?B?OUh3TU1abDRSZzA5UnM0dDFwLzRpSi93dnRmd3NGZHl3Qm1hYzRXc00zMUx6?=
 =?utf-8?B?QXlYaE1BRGR0aW5HUUhqUVk5N1c2bWY5eWlpY3BKUko0alJqSlRYK1U5b2tI?=
 =?utf-8?B?ckQvQWNKLzFRSWo0YSt1azl2YmE1TnBHdFZZTHRjeWpmZ1lDWXZRZG44TWJk?=
 =?utf-8?B?VVZzTGxBRVRtTHdOa1lwYm9sZDU2YTQrY3pLdVpLV3k5Q0dDcS9mNDZ5dFFy?=
 =?utf-8?B?d2F3OXIvbjl2SUxXWlMxRFhKcTRHRHoydVFBTEdhZ2d2SkFTSm5Ucy9oVmdC?=
 =?utf-8?B?VzJBeTBKTWVjS0lyN200RzQxS003T3dtVHZGUHVEUU1SV1VkTnRyM2I4cjVJ?=
 =?utf-8?B?bnRUZzJWNTM1UWxPTXY5YXpCV1hBbk42dnZ0NlI4MlpDTHkwbUtzaGVpYy9s?=
 =?utf-8?B?WkxxMERpenBuZDNtdkFBY2ZGTVhQTHVUK0YxNVBIeWtoNDQwR0JLOFI5bHlC?=
 =?utf-8?B?a2pudC92TEFiQU5TcnRSN0w4SFlFWUZra3FnNDE2SE4ycFRnT051MlhrRUQ3?=
 =?utf-8?B?T0FvSGIwck54cm9rWDRmSTJkM2t4QkJzbjA5TUtvOUtvU2dzV0dtemJEaEhv?=
 =?utf-8?B?WVFDdWZicEltVkd3bGg3Zkt3M0NVSURYb2hJZit3L2xtUStQcmsrZk1NcWdP?=
 =?utf-8?B?NWhieDBzMG5FSEgySnNUc1A2YmVGWEl4b1kydms3T25NMW9NWXpmNDFETzNI?=
 =?utf-8?B?R2lONldoN2N1dnVjakVpbC9xYXpHTUY5d1hGdS9MMDFPbWZSdlBxcUtUbE5H?=
 =?utf-8?B?cHFPdk5VckxQeGZIOG9iZmZObWhVWjZXRzlaOWRBRllWRk1wc1FSZHIyaVBM?=
 =?utf-8?B?MVgweDd2b2JTbVVqdnJXajQzcVBqZUFKOWxaM1cxd1RjMTl4TnFoanJ0b3Y5?=
 =?utf-8?B?L2p6azhaQWxXWXUzdEw5a3ZnZFV5UVp2MGVaU3RNRTVSSTYyRnFHOXd2QzJU?=
 =?utf-8?B?V1AzTkhTOE5Vc25yMG4rdmYrQi9jVnFuSzJNNUxZZzY4dVBKWGpidlVjYVlO?=
 =?utf-8?B?cXk4TzBkc3FGc1VobGd6bVduckZ1czBWTFZ5MkF4NWt5dGdOM1dOQ3Vzd2VY?=
 =?utf-8?B?akl4OWJ5MElTWHl2VVVyMlY4Rm1nM1E0Nlg0aVBHcXJweW1GUk9zMmN3TGJw?=
 =?utf-8?B?cU5TdmlHdURWTW05anRPdE9xclA2L09TTkRyTzdGZ2Vtckd4M3kxWFRpZDJS?=
 =?utf-8?B?aG5MbVlOSlovU0NtMHYyRDY0M3d3UnVVWHA4L2p0SnRhUk9NVmorMy9odkE5?=
 =?utf-8?B?S0cvNzRUaEJRNkR5T3l2eTVCZU5lK1VXTGhwVXZtT0Ric1NsK1FQUm94VElO?=
 =?utf-8?B?VkVSeE9MdGhLVTRHMXk5YWVuTnR3V2dFZHRMcW5nNUxCSnNUa1hMN0lYbEEw?=
 =?utf-8?B?bGFneXhya00zSnB6eDZLRlkvL0dkelZJVWtjRGNnL3UrQjBoTTdCL1BWVis3?=
 =?utf-8?B?d05MZDFzc1kwbTVSV1V5OU5CTHVwWmJ4VVhkZTdVTUZENng1SXd2dXVqOW1t?=
 =?utf-8?B?a0JraGtkMDBXdHBoM1luc3gvSHFFWXIrQWQ5cEZDL3FUT21YL1FKa3VCanV6?=
 =?utf-8?B?aUU2bG0yOTczUDNFazRrSTdPQU1FaDl0U0RYbmF3UVdjemkySXNRZ0JhVmgr?=
 =?utf-8?B?Z3RrVGlNS1h1SUM0MjB1bm1ObU5IejBmRE9YR2JLQmE3Mm5CTGpFZGxkSnlM?=
 =?utf-8?B?TUJxWnlJZ2lrdy83dTh2aVU4RVJ3cVZYTDVJMmhTSlZ6Qk9uVm5WQmZUTHB4?=
 =?utf-8?B?RWp4RytFWDNrdG5xYlBybCtVOXBKSE1GcHRabXk5Vzh4NUlvdFFCK0ZjU05k?=
 =?utf-8?B?Tko5QlhxYi94V3hFZGI5WVNocTExck5zZnZvbkQ1b1IyVURma1JicVB3ZVZB?=
 =?utf-8?B?N0tZb25XZ1JCTkFMZkJHT0JIbEpGdmVieXQ5Y2JuSGpNbm9xc0R0ZHVnaWti?=
 =?utf-8?B?RG1FbkU1YjJKdnAwNzZpK0NKNXg3eStiRnZnTnRVRms2a3NwS3ozUFJGQXJY?=
 =?utf-8?Q?ipWY2EOKWb/KI/1d+ylG44Fv8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 36da6cb4-10e7-42a7-f6ff-08db25ef6e9f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 07:24:08.9570
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: g5C0zsQiNFDwakOPnFd3svux5F/59JGpGspFvRIjvvRv/+TWfwHRmB9+tKAPzW3IFoIa95jsg+Rbl5aor8OtnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8156

On 16.03.2023 02:49, Stefano Stabellini wrote:
> On Wed, 15 Mar 2023, Michal Orzel wrote:
>> On 15/03/2023 14:11, Jan Beulich wrote:
>>> On 15.03.2023 13:34, Michal Orzel wrote:
>>>> On 14/03/2023 16:17, Jan Beulich wrote:
>>>>> On 14.03.2023 15:27, Michal Orzel wrote:
>>>>>> --- a/xen/drivers/char/console.c
>>>>>> +++ b/xen/drivers/char/console.c
>>>>>> @@ -491,6 +491,14 @@ static void switch_serial_input(void)
>>>>>>      else
>>>>>>      {
>>>>>>          console_rx++;
>>>>>> +
>>>>>> +        /*
>>>>>> +         * Skip switching serial input to hardware domain if it does not exist
>>>>>> +         * (i.e. true dom0less mode).
>>>>>> +         */
>>>>>> +        if ( !hardware_domain && (console_rx == 1) )
>>>>>> +            console_rx++;
>>>>>
>>>>> The consumers of this variable aren't really serialized with this
>>>>> updating. That's probably okay-ish prior to your change, but now
>>>>> there can be two updates in rapid succession. I think it would be
>>>>> better if the variable was written only once here.
>>>> ok, makes sense.
>>>>
>>>>>
>>>>>>          printk("*** Serial input to DOM%d", console_rx - 1);
>>>>>
>>>>> When invoked from console_endboot() this will now switch to Dom1,
>>>>> i.e. that domain becomes kind of "preferred", which I think is
>>>>> wrong. Instead I think in such a case we should direct input to
>>>>> Xen by default.
>>>> Switching serial input to the first usable domain is the major motivation behind this patch.
>>>> The number of times I got pinged by users with *apparent* Xen issue on true dom0less
>>>> just because input was directed to dom0 which was not there (not everyone seems to read the
>>>> boot logs) forced me to create this patch and manifests that this is not the behavior user wants.
>>>> Switching to Xen console would not help at all. Also, we already have a way to set switch code to 'x'
>>>> to default serial input to Xen.
>>>> So I think what I did (switching to the first existing domain) should be the default behavior (just like it was done for dom0).
>>>
>>> Well, I'm not going to stand in the way, but if one of several supposedly
>>> equal domains is to be "preferred" in some way, then I for one would
>>> expect justification for doing so. If that's the route to go, then the
>>> patch snippet you provided looks good to me.
>> Well, the explanation is that we are directing input to the first existing domain
>> which also is the first domain created (this is what users expect at least by default).
>> This for now creates simplest/cleanest solution that matches the current behavior
>> with dom0 and solves the users inconveniences I mentioned earlier.
>> There is no other real preference apart from being first domain created and to help keep the order simple.
> 
> My two cents. Given the feedback we are getting from users, I think it
> is important that the input goes to a real valid domain (not Xen, not
> Dom0 that doesn't exist). "Which dom0less domain?" is a valid question,
> and I don't know what would be the best answer. But any of those domains
> would be better than what we have today.

Could boot time configuration perhaps indicate which domain to "prefer"?
Otherwise I'm pretty inclined to suggest to make it actually random ...

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 07:42:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 07:42:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510327.787799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pciFZ-0001Kj-7q; Thu, 16 Mar 2023 07:42:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510327.787799; Thu, 16 Mar 2023 07: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 1pciFZ-0001Kc-52; Thu, 16 Mar 2023 07:42:13 +0000
Received: by outflank-mailman (input) for mailman id 510327;
 Thu, 16 Mar 2023 07: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pciFY-0001KT-7S
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 07:42:12 +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 0eec087d-c3ce-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 08:42:10 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id eh3so3871801edb.11
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 00:42:10 -0700 (PDT)
Received: from [192.168.8.114] (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 v1-20020a170906488100b008d8f1b238fdsm3485397ejq.149.2023.03.16.00.42.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 00:42:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0eec087d-c3ce-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678952529;
        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=MrlBBYukRr3Nu/f0mpSH6rFGy6cqWFTE2hcrBiLlips=;
        b=EdsohTY0FzXf70GRmUGqUiwDBtyA/BgBmTOn08BPWMZzqYMt5hUiqE+JnJt15AEIkR
         oSVW+CnRA18DGVfEKvNRFoOIzymoXOWsFtBllTyO4ZzpcO7j7teF1NEtfu8/m8eTdIu2
         zGik+UZY+EM+9dAUrfXP4UIyp57k9oLXlFCBWVTNUQJlH0AuKE9tPh+/fI/CsW4ktaaI
         YUE0WgsOa3JILdbVJJmYcIt3/Jcf/BuZcg+Dxf8S8rZjJL/L96EZdRdxn5LVenVbOQ5/
         LE5Z7KJ8UpTQWceFVroenstzfT1ZzL9MemoQGfgeVhslRdwoKXKSeF9t9BGdtrx1Hdt8
         qu5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678952529;
        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=MrlBBYukRr3Nu/f0mpSH6rFGy6cqWFTE2hcrBiLlips=;
        b=HSohxyMFtya1akKIHgvwJh22SAmketeEYD3Q89+R11nmdlyJPHp6xYtP19fUlCAVLw
         RVJF6G0J/Gisvki0PWZ0euGdFQML+66m2FkjiQhoOVzweRo6hD5kREpm5AAZ3OFricCr
         0hj/noyRs9/4s/yHL+l2i+wryX+hYjoWX3m1t/NeegfcaTBIDSgZPGS+q2UBqyorytjU
         zGiMFG1OODMna86qdqUIYVcCzxH/WuRad92RRf98TV7DcGnkw42VgcNp+SLSStzYzt2q
         jxWat/6Cncw8RkmVG5hNv5+d8JnsIhTtIkQ/nHfoO+zv6w9+I7ANyJsWp39ZtR0tbOxD
         EZPg==
X-Gm-Message-State: AO0yUKVW//pQNbEx0OyIQTmRPytKK7OzZCRTKHkg7lO1sl9dB1CiePGL
	+6KLxC0APD1OrYvxmUbyXDE=
X-Google-Smtp-Source: AK7set8sfEEOGynDz000LF95F/z/5EurZW+Ffa4400f2BRuX0ZE6BICZYLy1fRtMhv8mt3qPSG4cuA==
X-Received: by 2002:a17:906:f914:b0:88c:6345:d0e7 with SMTP id lc20-20020a170906f91400b0088c6345d0e7mr8767790ejb.36.1678952529413;
        Thu, 16 Mar 2023 00:42:09 -0700 (PDT)
Message-ID: <00fc9016252e656be257671aa5c2c4e102df240a.camel@gmail.com>
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
	 <gianluca@rivosinc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Alistair
	Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>, 
	xen-devel@lists.xenproject.org
Date: Thu, 16 Mar 2023 09:42:07 +0200
In-Reply-To: <ac357f76-653f-9dbd-dc54-6e31db28de9b@citrix.com>
References: 
	<ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
	 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
	 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
	 <966c19e3-d255-db73-9bb4-7abe0a745396@suse.com>
	 <ac357f76-653f-9dbd-dc54-6e31db28de9b@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-15 at 21:12 +0000, Andrew Cooper wrote:
> On 15/03/2023 7:59 am, Jan Beulich wrote:
> > On 14.03.2023 21:16, Oleksii wrote:
> > > I checked in Linux binary how 'la' instruction is transformed,
> > > and it
> > > looks like it is translated as I expect to auipc/addi pair:
> > > ffffffe000001066: 00027517 auipc a0,0x27
> > > ffffffe00000106a: f9a50513 addi a0,a0,-102 # ffffffe000028000
> > > <early_pg_dir>
> > >=20
> > > I checked compiler flags between Xen and Linux. The difference is
> > > in-
> > > fno-PIE (Linux also adds -mabi and -march to AFLAGS):
> > >=20
> > > 1. Linux build command of head.S: riscv64-linux-gnu-gcc -Wp,-
> > > MD,arch/riscv/kernel/.head.o.d -nostdinc -isystem /usr/lib/gcc-
> > > cross/riscv64-linux-gnu/9/include -I./arch/riscv/include -
> > > I./arch/riscv/include/generated -I./include -
> > > I./arch/riscv/include/uapi
> > > -I./arch/riscv/include/generated/uapi -I./include/uapi -
> > > I./include/generated/uapi -include ./include/linux/kconfig.h -
> > > D__KERNEL__ -D__ASSEMBLY__ -fno-PIE -mabi=3Dlp64 -march=3Drv64imafdc
> > > -c -o
> > > arch/riscv/kernel/head.o arch/riscv/kernel/head.S
> > >=20
> > > 2. Xen build command of head.S:riscv64-linux-gnu-gcc -MMD -MP -MF
> > > arch/riscv/riscv64/.head.o.d -D__ASSEMBLY__ -Wa,--noexecstack -
> > > DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -
> > > Wdeclaration-
> > > after-statement -Wno-unused-but-set-variable -Wno-unused-local-
> > > typedefs
> > > -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -
> > > Werror
> > > -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -
> > > include
> > > ./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=3Dlp64 -
> > > I./include -I./arch/riscv/include -march=3Drv64gc -mstrict-align -
> > > mcmodel=3Dmedany - -c arch/riscv/riscv64/head.S -o
> > > arch/riscv/riscv64/head.o
> > Looking into why you see different code generated than I: Nothing
> > in
> > here directs gcc to pass -fpic to gas; in upstream gcc (consistent
> > from gcc7 through gcc12, which are the versions I've checked; the
> > actual range may be wider) there is
> >=20
> > #define ASM_SPEC "\
> > %(subtarget_asm_debugging_spec) \
> > %{" FPIE_OR_FPIC_SPEC ":-fpic} \
> > ...
> >=20
> > Can you check whether your gcc passes -fpic to gas even when
> > there's
> > no -fPIC / -fPIE (or alike) on the gcc command line? Or whether
> > your
> > gas (unlike upstream's) defaults to PIC mode? (For .S files
> > ASM_SPEC
> > is all that counts. For .c files gcc is redundantly passing -fpic
> > along with also emitting ".option pic" or, in the opposite case, it
> > is omitting -fpic along with emitting ".option nopic".)
> >=20
> > You gcc may have been configured with --enable-default-pie, while I
> > know mine hasn't been (simply because that's the default).
>=20
> From the thread, the difference is clearly around the pie option, but
> I
> have to admit that I'm confused.
>=20
> With GCC 10 from Debian repos and current staging (modulo the build
> fix), we end up with:
>=20
> 0000000080200000 <_start>:
> =C2=A0=C2=A0=C2=A0 80200000:=C2=A0=C2=A0 10401073=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 csrw=C2=
=A0=C2=A0=C2=A0 sie,zero
> =C2=A0=C2=A0=C2=A0 80200004:=C2=A0=C2=A0 00002117=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 auipc=C2=
=A0=C2=A0 sp,0x2
> =C2=A0=C2=A0=C2=A0 80200008:=C2=A0=C2=A0 00413103=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ld=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 sp,4(sp) # 80202008
> <_GLOBAL_OFFSET_TABLE_+0x8>
> =C2=A0=C2=A0=C2=A0 8020000c:=C2=A0=C2=A0 6285=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 lui=C2=A0=C2=A0=C2=A0=C2=A0 t0,0x1
> =C2=A0=C2=A0=C2=A0 8020000e:=C2=A0=C2=A0 9116=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=C2=A0 sp,sp,t0
> =C2=A0=C2=A0=C2=A0 80200010:=C2=A0=C2=A0 7f10206f=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 j=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 80203000 <start_xen>
>=20
> In this case, the auipc/ld pair makes a PC-relative reference into
> the
> GOT, but the pointer spilled into the GOT is the link time address of
> cpu0_boot_stack.
>=20
> For the executable as a whole, we've got:
>=20
> [ 6] .got=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 PROGBITS=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 00000000=
80202000 003000 000010
> 08=C2=A0 WA=C2=A0 0=C2=A0=C2=A0 0=C2=A0 8
> [ 7] .got.plt=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 PROGB=
ITS=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0000000080202010 003010 00001=
0
> 08=C2=A0 WA=C2=A0 0=C2=A0=C2=A0 0=C2=A0 8
>=20
> i.e. both nonzero in size, so presumably with expectations of
> something
> else to fix up the references.
>=20
> I suspect we want to extend the x86 section asserts into the other
> architectures too, alongside figuring out how exactly to disable code
> generation of this form.
>=20
But AFAIU it is expected that it will use GOT sections with the link
time address of cpu0_boot_stack inside them because of pie option.

If we need to work with pie option that we can fix all address in
.got{.plt} somewhere at the start of head.S but why we can't go with -
fno-pie as it is done for other architectures:
Config.mk:
	EMBEDDED_EXTRA_CFLAGS :=3D -fno-pie -fno-stack-protector -fno-
stack-protector-all
EMBEDDED_EXTRA_CFLAGS +=3D -fno-exceptions -fno-asynchronous-unwind-
tables

arch.mk:
    $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))


Could you please explain what is x86 section asserts?

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 07:50:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 07:50:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510332.787813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pciNQ-00036m-4c; Thu, 16 Mar 2023 07:50:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510332.787813; Thu, 16 Mar 2023 07: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 1pciNQ-00036f-1R; Thu, 16 Mar 2023 07:50:20 +0000
Received: by outflank-mailman (input) for mailman id 510332;
 Thu, 16 Mar 2023 07: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pciNP-00036X-63
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 07:50:19 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20625.outbound.protection.outlook.com
 [2a01:111:f400:fe13::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 30ee953d-c3cf-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 08:50:16 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8341.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Thu, 16 Mar
 2023 07:50:13 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 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: 30ee953d-c3cf-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P7lLmvfD+dkWTLrOG1FSTHpOvx/R7v2ObuqOCx+Ckdhx8vIcYs1EKbo1ZQY+1ORFB0X+kzI0JaeMGjoXlUkBOs6TGAi/9W6Nf6Q0wDlWIMr87dHLW7VXe4PpeOCbCXOkEIf0cRJhxeZSGKpLZ+qfDlfyln3ob4CmbdzgfvsamnIWuEF5wDAzzdHj1CsMllW7kFTSboKah5xQNLzAMU6mMvubb8jJJni9lMGpnLRDEBMy7R9Ae9BCxU1mmZqZ8S5wxH8UrJ4vi1wSEiSfiF4C1ii3PHP+0JyJ0pWmoZMn/YvfGv/PnOWdQMosKQTPwhqEKvcuQRFNzjRjATZfNtaQ9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Og14EUITHXvbPrh4W/a1B77ZpP0NHk0P5pkLDv47/BY=;
 b=WemiUV/ASNXTQgM2DMyifiJ53+ZwsXKErqTGFWlc3gV1r5amZSjq9yjesZIW5DNiP90JfO0n3Fkqnr0nPnskMkp+J5ok6wYIkuIBohErfGPWbfcoBhaQfyvRH8Kl1VZM8YMQwdF5stVnA4yzoZnS2PSWxJa5apfT2R9/tljvUh7ebdqOFWDFkY6c37aQABDfJblqg5U6WHHNIv7VY8aau8WucS13KOy9PwRxaQ+3yE2ZxJF4WdXypqZwU5xOHbBGabxU7m/9ILVpsNE0fWd46rzCJ3MQb6UOn6cMw2y+g8rcjIraXm8iVhVYH70yowt7Epn04V/0PjVRuBkG+8q7yg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Og14EUITHXvbPrh4W/a1B77ZpP0NHk0P5pkLDv47/BY=;
 b=3sQF2tqUficQITP/yFXRgPsPiJJXg965Nf28nfav4KFPEkPi4w2Qb5SE0sAQlNlBRNg83LgFZWsVOsRkSCf4hDQJB0viK8gLAKjmNJFu82WVmm9Cu3+UYlMlxhl0UOCUZJztlFjGfyaB8i7BM8ottkZHPXrxFtj0+EiNPfMAEgTJFfiRZbtvcfesPAAv+gz6X7+evMYl0Q4hbZw8K5oYTczaygrnIuaOKG8LTzjnle9XYQXzj8KSvLy68gKcoK4Kr1beW43c7KhG7cwEDcPmBCKyLd5mBdVhNAZoST+IycYEA0QQYjF4EjQja6zLj2VkaO/2y3gfoYe+SgRnpenuoQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5e22a45d-6f12-da9b-94f6-3112a30e8574@suse.com>
Date: Thu, 16 Mar 2023 08:50:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Huang Rui <ray.huang@amd.com>, Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, Juergen Gross <jgross@suse.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-2-ray.huang@amd.com>
 <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com>
 <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
 <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com>
 <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0075.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8341:EE_
X-MS-Office365-Filtering-Correlation-Id: c70dcd48-1648-4c1e-196f-08db25f3135c
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:
	j//oK4L/bXGLAW5r5/FunPeuYcAT234CNuzAxmTk5w4e50Klsj2o/FABu/yhjw7kNIy1xRtSQ6tfmqCVwGmdicdjt6c8OkuUdC5kkgsporvDuMrsG9NRENH6q/qSx0XrGLx87kHMFzM/IC58aNBjVLg1c5Kh1hjnJk13bo1gFZWRhh/syATra6QC+KtafGZ46Xsxez5I+huwVdK/noiycVRlCcCSn3cE0T9hKg/k4ye1TPFG4n7Wqj6hKYJzwbFoO1KQRiCILh6GNAm6SpxawZRtHYJPC3Xpu8AZ8+pPjsuPw2Y8IhBhFc4H1vhc38lTBeBAwhkepSmt3cs/93IMhRcydH3JIvmcsDGZrvbkVGS0FwMAbsWqgZfDdYTDj2nI49OGAUgyYGraS+a1K2EpqqVToIr04LQWc1h/pnsm6FvDEZQoJ/+JlNNa1RtP3MilAqMpdDsKclFLw6POA4HWeK+25/9/HuNMBgbN8Gv1KF4Bam+I8aPSrSxO0Dml3YUs69xGci+qXcR5Aqyg/E5HMokh7e9hMpQTcCTgcm/b5gnVY+4HR3MqEhYZkZfun4J9qxHa7yT8Q55nNSKwNwMxQmh9j+9WHNePdj9D2XVfqdUoUr+d+FMRhF26B1Mo1smXvlfIlB6v0rHpq6ZuiNWhQkyXisbES8g4VQZHtWrgEgJdtF+nw5o1bXnKW8hxgOjLE5zYNDMSjBscuKTa/Qufw9hSPYtbi1hzz9acT/mlQlc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(396003)(39860400002)(366004)(346002)(136003)(451199018)(6486002)(83380400001)(478600001)(2616005)(186003)(53546011)(6512007)(6506007)(31686004)(66556008)(66946007)(54906003)(66476007)(316002)(26005)(4326008)(8676002)(41300700001)(6916009)(8936002)(5660300002)(7416002)(38100700002)(2906002)(31696002)(36756003)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a2VQMEF6WFppZDJKL3Y4MEtMdzFFNys3MjlzRVVQU1lzSTBISWFtR290RmtC?=
 =?utf-8?B?RkZZMUxFa2hOcWhza0NpQ2NKREhKTzlLOU1nTFFuTCtaWHVyYTZTbldEOTk4?=
 =?utf-8?B?YzZYWDNncWl4UXR2alVMZ0J4b3pSUWttbUU3UmRqMVJoemJkRVovcWJuVCtz?=
 =?utf-8?B?eVVVejM2MVdKYmUvK2xRcHNpUmw2clhhTWtsQVdHTlIwNURNV1Rqd3cvL2Z0?=
 =?utf-8?B?V2hNdVJzWGdTdEZUa3VPZnYvaVlJaFdJaThVaGkwbnM4SXgvQVdUdE0zeVVr?=
 =?utf-8?B?YXRrcFRuQTFrMDcrTDhiUzY5a0FORFZFWlVWNDhYOWdpNGVsWWdVUDFDRXVa?=
 =?utf-8?B?K2ZXSDVxMGRZUjVCZXBtTC9LSXJDeVFsZmxUV0lVSE1ZTVdlYXBHR1ZhSUYx?=
 =?utf-8?B?bXlWTGU2UWJXSFprYVMvSTNWQXBQbFgzL0o4Q2F4K0x1V0lFdis5bG16VTly?=
 =?utf-8?B?L1QwOHBYRFFQMG1VSTh6NE1Zby9va0VJME5ONEJZcjZLQVQwQytjY0NrejRi?=
 =?utf-8?B?emFSZVNmbHN5d1p4QldOWkxLOU1mdXJnVVo3bDhlaGJ3TnpUWFQySDRPOUtS?=
 =?utf-8?B?S0Rtb2xrK2tCYis0TDR5cDBXSVNua2Zwd0V0OUUwaytOdVlpMlpqMEFYSlNR?=
 =?utf-8?B?RVNidXl6aUVpeFF0SWkxM1VreEE4QkQ1dnBoZVJLVjBrV3FQd3grRFZNaUUv?=
 =?utf-8?B?VzBxZ0JGM05heFZhanBLU2l4VHF0YUovS1BONTVNbVJNOVdpbU5WN3F1bklI?=
 =?utf-8?B?c0FSRWd4NWRiZGRBNnY4KzBtVzIvZVBPUUd6NnRsaEd4emQ0VVI0bS9pQ3JL?=
 =?utf-8?B?Q0dUVXd1dnBMaUxjRWtyR0ovci94MTNoMVpWYTNxdWpHRCt0amRxV2IwSXZ5?=
 =?utf-8?B?MFl2VjduVzA1NUtIbS9hWUFxdVk1OWNuK0xkdDd2TWQ0MEZEeVRMdmFSNk1D?=
 =?utf-8?B?ck04Mk5ubHVET05BRjNwU25TRVJES1dyazFVZTFoR1F4cVBIZjF4cEFPbW5P?=
 =?utf-8?B?c3NVT3FUYndMUGIwZWFiWXVERzVCQWJLeU9pSm5zSXJ4VHN1NFo0Qmp5OWNP?=
 =?utf-8?B?V3lNRzg3NmUxRU9sc0xBc3lLa0ZITXdzY0FmY3NIc2J2emZzSi8reHc3Uzcx?=
 =?utf-8?B?aXA1VFNLM2R5UTJ5eVlJMTc3NWVPZmMraUx3dG1xWHd1Snp1Q2VOTTYxaHhX?=
 =?utf-8?B?UnJiV29XVlhNTUprWklPbWo4Wm5FZmdKR092S094aS9QRVh3QWY1ODRCTWc1?=
 =?utf-8?B?N0pFM3hTMzRlVHhVRlZYRC9IYVVlV0lYdkpoUDhEeTkwRE9ZellMNERGOWhY?=
 =?utf-8?B?SzNCb1R0emxWeDlLQjVQajc2bW5lTExmOEhyS29aS2htOFZGYjN5b1EwV2Jw?=
 =?utf-8?B?cmZ0OVR0cFRzR3JwY3JsQ1h0QWdDQTl3RXdaZlNxa1gvM3ZRb0VlWVByWjNZ?=
 =?utf-8?B?aWxGWWV3UnVhSnhhVXc1ZDBBekpXaXlORDBWRjQxcVEzQk5KRmtoWmYwMkc2?=
 =?utf-8?B?ZytXVXh3N01hNmhXdnYxV0JPQ01mZ25kbDlwRFNzOWpkVkt5Tnp3Q2doZGZ3?=
 =?utf-8?B?MjIxK1R2b2hKdnNZL3BRVHQ2eXpYWnRWSGtMamp3SElHM29TdXFEWFpLbE9J?=
 =?utf-8?B?aVRsV2gwTXZKWklYam9NUnhPZTVTcU9rMHovQlA3Sks0SVZnVG85MDgrdWtX?=
 =?utf-8?B?cUxJNFNNa3hHY0pVV2lac3IvYy9na2ZWMUN6RC9UWm41YUxJNzhtenhSSEY4?=
 =?utf-8?B?bHV2a2JzN1EzTDhoRUxuQ216ckJqd1V5RE40bC90K3ErY241NG1nY2t5Q01H?=
 =?utf-8?B?RFBmdkltN0ZXaWYyYjIyZlhuZkpJakU0WmNlSVlQVGNwU0xvenhXbXFzdWlU?=
 =?utf-8?B?Rm9pM0oxeHkxRjdIRWhGamdTQTl2VEF3TlJZU1RGcUozYTh3aEpXQ3p4ZUp4?=
 =?utf-8?B?Y0huN25qRlVnSWdSa04wLzhYOE1VOXEwK2JOUG9XOU1WR2dmdkJwc3lYMU9s?=
 =?utf-8?B?QmdnZ1lBN0hUakJFYUhXODkzY0FHR0FOZTF4dXFLai9BamROWmV0aVpCbE1U?=
 =?utf-8?B?MW9SbFVPMnRKeXU0SEdTOS9LZGdCUkhyWjcxNE5Pck1OWHFINyt2ZjVMOVRy?=
 =?utf-8?Q?mf/cSfr6cC6h35ttcyEv6+UNO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c70dcd48-1648-4c1e-196f-08db25f3135c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 07:50:13.7015
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kVzglH9PIFd0ZVz/JCljg7wZ45aIbpShfJ4hjz534e3JtfFrgVmEs9l0sorxHf9GQ0NuMbkMUejzZ56aQ/RBlw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8341

On 16.03.2023 00:25, Stefano Stabellini wrote:
> On Wed, 15 Mar 2023, Jan Beulich wrote:
>> On 15.03.2023 01:52, Stefano Stabellini wrote:
>>> On Mon, 13 Mar 2023, Jan Beulich wrote:
>>>> On 12.03.2023 13:01, Huang Rui wrote:
>>>>> Xen PVH is the paravirtualized mode and takes advantage of hardware
>>>>> virtualization support when possible. It will using the hardware IOMMU
>>>>> support instead of xen-swiotlb, so disable swiotlb if current domain is
>>>>> Xen PVH.
>>>>
>>>> But the kernel has no way (yet) to drive the IOMMU, so how can it get
>>>> away without resorting to swiotlb in certain cases (like I/O to an
>>>> address-restricted device)?
>>>
>>> I think Ray meant that, thanks to the IOMMU setup by Xen, there is no
>>> need for swiotlb-xen in Dom0. Address translations are done by the IOMMU
>>> so we can use guest physical addresses instead of machine addresses for
>>> DMA. This is a similar case to Dom0 on ARM when the IOMMU is available
>>> (see include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect, the corresponding
>>> case is XENFEAT_not_direct_mapped).
>>
>> But how does Xen using an IOMMU help with, as said, address-restricted
>> devices? They may still need e.g. a 32-bit address to be programmed in,
>> and if the kernel has memory beyond the 4G boundary not all I/O buffers
>> may fulfill this requirement.
> 
> In short, it is going to work as long as Linux has guest physical
> addresses (not machine addresses, those could be anything) lower than
> 4GB.
> 
> If the address-restricted device does DMA via an IOMMU, then the device
> gets programmed by Linux using its guest physical addresses (not machine
> addresses).
> 
> The 32-bit restriction would be applied by Linux to its choice of guest
> physical address to use to program the device, the same way it does on
> native. The device would be fine as it always uses Linux-provided <4GB
> addresses. After the IOMMU translation (pagetable setup by Xen), we
> could get any address, including >4GB addresses, and that is expected to
> work.

I understand that's the "normal" way of working. But whatever the swiotlb
is used for in baremetal Linux, that would similarly require its use in
PVH (or HVM) aiui. So unconditionally disabling it in PVH would look to
me like an incomplete attempt to disable its use altogether on x86. What
difference of PVH vs baremetal am I missing here?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 07:51:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 07:51:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510334.787822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pciOy-0003e8-F0; Thu, 16 Mar 2023 07:51:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510334.787822; Thu, 16 Mar 2023 07: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 1pciOy-0003e1-CK; Thu, 16 Mar 2023 07:51:56 +0000
Received: by outflank-mailman (input) for mailman id 510334;
 Thu, 16 Mar 2023 07: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=zev1=7I=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pciOw-0003dv-NW
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 07:51:54 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e88::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 69bc70b8-c3cf-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 08:51:53 +0100 (CET)
Received: from BN9PR03CA0263.namprd03.prod.outlook.com (2603:10b6:408:ff::28)
 by MN2PR12MB4093.namprd12.prod.outlook.com (2603:10b6:208:198::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Thu, 16 Mar
 2023 07:51:47 +0000
Received: from BN8NAM11FT073.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:ff:cafe::16) by BN9PR03CA0263.outlook.office365.com
 (2603:10b6:408:ff::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29 via Frontend
 Transport; Thu, 16 Mar 2023 07:51:47 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT073.mail.protection.outlook.com (10.13.177.231) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6199.18 via Frontend Transport; Thu, 16 Mar 2023 07:51:47 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 16 Mar
 2023 02:51:47 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 16 Mar 2023 02:51: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: 69bc70b8-c3cf-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jeXE/9RZcRWwv/A9fMaWzE7tfz1LroFx4AKfjhvFzrYrCztdSLbzCNzxRQizj7CnVwx11Ir2r+FNYyW145G79C1DodhKynzQjsy269nH7L2tIQ6QyRchyCqkevDoAHQNNcePhKhOJ2uhRxL98gNcWzqfyQgNVuZhdpOvY7JSwClWDjFrut2lSkprK5hFC9s/99LNft/ipEoGYCbIyG4OXWNkXmj9+ae2A0BD0xAOuVKcCNr/64hSjuXlT6gLdPyvVBMsi2AVV1ZLMba1J+aIrCJkx7L9hjd0K83K7nVF4G8tSeLpa431zE5FOeeMohW14c5pxy7yGEHix1k/+oWS/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=ELscufVM9EW8QoBfrem0tErjpF/1oTjJ1GMk0fdLGsU=;
 b=ZuKiJxgaoWLPPBL2YBIa0IJFvuMQuA6RrodjYBOhsV2+xWSAHNbGPOTIlOMwjqW4kOukY04M9B3kOF69nIh0+wGNHwBT2zZMEZ69q7GXBKQT4/vQzPMD1m+2fc6CjRajcw3mbc5gyACBBT3f0P++YH7TNTbjC5g6f1LqnuUnPRy7shZ/ZMef99OfNvPJEGeVRJcB3e+6YlxKBhaZP8XxfVZzWCpN2bt3xGfbFrI9rQLZ8XLZu3hS5eYr7d8JSd8Dpe5N3VVwYdmOPy/Tt5KaYTJYEL7RJe6oz30S0GLsfCyJflabEH0sgtUxyGWnxcBqtye2OHz9KJjinq0U56z2Pg==
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
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=ELscufVM9EW8QoBfrem0tErjpF/1oTjJ1GMk0fdLGsU=;
 b=VMdqV22n/MVsSpHwTOepv9iS7WT1AfUQz6sDA11Wf/SnLzGL8aAafau2jeQ5JmOMFLpqmX5P8oFc+S5nJpAZDiydD6oqA6qLZximCrk1o+1uJV7pgemOBK3BksY0pDjBOZ9Ju2+t13+1WfejrQ+aFQh8qJKt7PboBuHwAh2GhaI=
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: <848813fc-636f-ea9c-00a6-6b8b049f92d8@amd.com>
Date: Thu, 16 Mar 2023 08:51:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/console: Handle true dom0less case when switching
 serial input
To: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: 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: <20230314142749.8845-1-michal.orzel@amd.com>
 <da7db77f-3ab8-edd1-bc69-460ca3e2ce25@suse.com>
 <7676cba9-6f92-0c97-dac3-372ca47be34b@amd.com>
 <737fec84-42da-3b9b-6cb5-d18406925403@suse.com>
 <d67aeb95-1631-74c0-cefa-a0cc88512b84@amd.com>
 <alpine.DEB.2.22.394.2303151844530.3462@ubuntu-linux-20-04-desktop>
 <1c174a17-0860-358b-5593-a7d45cdad00f@suse.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <1c174a17-0860-358b-5593-a7d45cdad00f@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT073:EE_|MN2PR12MB4093:EE_
X-MS-Office365-Filtering-Correlation-Id: 1972e59b-1694-4854-54cb-08db25f34b5c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fT6RpoBYabcDyJsOaWPTm0W2LAmw5HPQuplaOpmZL5x7TXM8UWPqorn3IUbXkBS2zDF278ZLlz10d7OX3ISxzShZfFHWBenIxO/itVAc2rJ285EqNLIZrgz1Egvj90L4JRpgl4xWf2TDQ9HH93kD6Icpz2d6hcFCgY565sdtv6BiQlvfmtTFHLyFikTiTdtIRcbUF43rS3HUZfq/mta2iamJhMX4SXOk2pEaBi9y5dqaFWhCvJ1CT9XZCmlUimOF0rDrfmd+qmAfzZe3CE9n94fLNNJWriq3ZsLlZGY2lcyxotXw9z6Tukh/3u6b0vLnVmAybkLyIRwl1ki8dNvkXQ6rtsiwJxUUmYsinPz0wCUHL0T3X8MDoVUGHkYnx3Rc7UgKnk2OiQfunAQjenSyvNAD+W/dtRueh8fe0ukLTDFy1vuwt8eYsDg1vdvde+VM7rZwfJeF4YhlhRWe3faoyrs9/3Flo+8Wi2MRZV/HfQdna7WG/z9e/7/aCtVRta62CfMLJQunDPn90O4KecxiRQHMxj4/8gC1GEe/L1y0jYYqyhYm00kPksNxHGn+c8SQhrbPBmC4zCOzBB8cayPqHpaRR5rAMqRleptR9so7fSjwEam2HIyRPRv8WnI4bp5g5DHo7QscqrdSlfRELq2nkx8QAvZh87/dMOlFeVbtcWI/G+02sSMpqpX0/zrk1ngMBlCT5OQfK9u9zTMWLpwIr60h5ZVydp+ZvhDeakA8gZ6uIr1AznLvP++AbCtaVxI1Rulx7dAkmXDMtt53tuexsB8Q7jIY+66NQ7v76V0a86Q=
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:(13230025)(4636009)(346002)(39860400002)(396003)(136003)(376002)(451199018)(40470700004)(46966006)(36840700001)(2906002)(53546011)(31686004)(356005)(83380400001)(26005)(426003)(47076005)(44832011)(41300700001)(40480700001)(40460700003)(5660300002)(8936002)(86362001)(8676002)(336012)(31696002)(2616005)(70206006)(70586007)(4326008)(186003)(54906003)(478600001)(110136005)(36756003)(316002)(16576012)(82740400003)(81166007)(36860700001)(82310400005)(32563001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 07:51:47.4211
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1972e59b-1694-4854-54cb-08db25f34b5c
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:
	BN8NAM11FT073.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4093



On 16/03/2023 08:24, Jan Beulich wrote:
> 
> 
> On 16.03.2023 02:49, Stefano Stabellini wrote:
>> On Wed, 15 Mar 2023, Michal Orzel wrote:
>>> On 15/03/2023 14:11, Jan Beulich wrote:
>>>> On 15.03.2023 13:34, Michal Orzel wrote:
>>>>> On 14/03/2023 16:17, Jan Beulich wrote:
>>>>>> On 14.03.2023 15:27, Michal Orzel wrote:
>>>>>>> --- a/xen/drivers/char/console.c
>>>>>>> +++ b/xen/drivers/char/console.c
>>>>>>> @@ -491,6 +491,14 @@ static void switch_serial_input(void)
>>>>>>>      else
>>>>>>>      {
>>>>>>>          console_rx++;
>>>>>>> +
>>>>>>> +        /*
>>>>>>> +         * Skip switching serial input to hardware domain if it does not exist
>>>>>>> +         * (i.e. true dom0less mode).
>>>>>>> +         */
>>>>>>> +        if ( !hardware_domain && (console_rx == 1) )
>>>>>>> +            console_rx++;
>>>>>>
>>>>>> The consumers of this variable aren't really serialized with this
>>>>>> updating. That's probably okay-ish prior to your change, but now
>>>>>> there can be two updates in rapid succession. I think it would be
>>>>>> better if the variable was written only once here.
>>>>> ok, makes sense.
>>>>>
>>>>>>
>>>>>>>          printk("*** Serial input to DOM%d", console_rx - 1);
>>>>>>
>>>>>> When invoked from console_endboot() this will now switch to Dom1,
>>>>>> i.e. that domain becomes kind of "preferred", which I think is
>>>>>> wrong. Instead I think in such a case we should direct input to
>>>>>> Xen by default.
>>>>> Switching serial input to the first usable domain is the major motivation behind this patch.
>>>>> The number of times I got pinged by users with *apparent* Xen issue on true dom0less
>>>>> just because input was directed to dom0 which was not there (not everyone seems to read the
>>>>> boot logs) forced me to create this patch and manifests that this is not the behavior user wants.
>>>>> Switching to Xen console would not help at all. Also, we already have a way to set switch code to 'x'
>>>>> to default serial input to Xen.
>>>>> So I think what I did (switching to the first existing domain) should be the default behavior (just like it was done for dom0).
>>>>
>>>> Well, I'm not going to stand in the way, but if one of several supposedly
>>>> equal domains is to be "preferred" in some way, then I for one would
>>>> expect justification for doing so. If that's the route to go, then the
>>>> patch snippet you provided looks good to me.
>>> Well, the explanation is that we are directing input to the first existing domain
>>> which also is the first domain created (this is what users expect at least by default).
>>> This for now creates simplest/cleanest solution that matches the current behavior
>>> with dom0 and solves the users inconveniences I mentioned earlier.
>>> There is no other real preference apart from being first domain created and to help keep the order simple.
>>
>> My two cents. Given the feedback we are getting from users, I think it
>> is important that the input goes to a real valid domain (not Xen, not
>> Dom0 that doesn't exist). "Which dom0less domain?" is a valid question,
>> and I don't know what would be the best answer. But any of those domains
>> would be better than what we have today.
> 
> Could boot time configuration perhaps indicate which domain to "prefer"?
> Otherwise I'm pretty inclined to suggest to make it actually random ...
Random is not great because in a system with e.g. 20 domUs and directing to e.g. 10th domU
user would have to go through a lot of domains executing CTRL-AAA several times. Also, for me
it would be difficult to reason about as such approach is definitely not something users expect.

May I ask so that we proceed with a patch I proposed to start from the first usable domain
to match the current behavior and to help users?. In the meantime I will start working on
a support for indicating which domain to prefer.
All in all, the new patch would touch console_endboot() and not switch_serial_input().

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 07:53:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 07:53:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510337.787835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pciQW-0004D2-Rp; Thu, 16 Mar 2023 07:53:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510337.787835; Thu, 16 Mar 2023 07: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 1pciQW-0004Cv-P0; Thu, 16 Mar 2023 07:53:32 +0000
Received: by outflank-mailman (input) for mailman id 510337;
 Thu, 16 Mar 2023 07:53: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pciQV-0004Cp-8k
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 07:53:31 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0620.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a38ee86a-c3cf-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 08:53:29 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8087.eurprd04.prod.outlook.com (2603:10a6:20b:3fb::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 07:53:26 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 07:53: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: a38ee86a-c3cf-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KcVJXrOij27CRM1Ma1ByYVdphZWiYuDZfmnTFlfT32vrTkS2Ttu5QJi8pQOQAj3jesZ77LzmGRUJISJl47BUzs53ipD14xPOuuIC4ved+2orrg9BOC7SLsuiUm28mW0fL/y7gvDKK/lmmBD+uHDR8Yw+EouVb56Paq3+CkEijgD1tztVA5kZC5/lfj31DVZ4hcyz4qQaUT443xiP2Ott6O9Whxe6VHELFCYPJP0gtShOIumxDdge2POE3p60roD7ux87lO3ZFQi340sz0hacZinrc0Z+YkzDnqy4bfcO8WcbD2qQRWAnSNCKY5ec17rhHh/0b75FuwedYo97kEYpsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QgnTS2V/cnHcRV9gjGbY9SvpHC/75SaEU0mGvl3YWTk=;
 b=FL1h7JwuQaUBVAZpwVWjqkRGzgkdbbsfws0pywCt/InkiadBFX96+pqzslAhylTnjHMBGLPRUxbR8EYGCeuBwv/5dsSRcyX7xuZw2rbWwb3nkDfnd6rXRLgxbiS1c8hijofRj5tosGGuE4G47nQFfZfzQkY068RSsKejRrbZfD98sHq40s7Sd3erSgfaVrS2sgD2xARrUdAsr2pB8AZbMl7m8wGXBU7xUgjmniNeW91Fg9nJb2DcTQO+Ve2ANLFGUJXcFMpXuX7B+9JHjlVW8G5XjX/VyOAWV7IZGovYk9ZSkdozWQ/vDTf6A0UuEt+MRVftJypGL4qqgWyZSxnbBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QgnTS2V/cnHcRV9gjGbY9SvpHC/75SaEU0mGvl3YWTk=;
 b=mg/qQbVgRqtyTgITJYAjrlQljMQ41ZWEPVVWxIXwA2e0Qgx8lYXnp61jvA5NSIwhFirSMWb5JqZ+qWsZtvPs1A8MqqzXF7g/YpBZhACEFcv3pVMsEzflAj1Yr/ORd/QQ0n+qnr+mAXsIhKuFWH3lal3L0pjZK9C0TqrYV4m9+UdJYsCc47AkGooBtKlLmaFOKtJ1B+O/SdZ2RDv5HBGsjQ3KXcp2QKao69/csTkzgeaNL5YNu8Ba2z5bSWufCF0Ltkb7GtSkJZt+A58Fw76NMaXTpV4gjrh8f17hIgmozxjpFa35pUU2uXsKIWvygyeGZkfAqCos/De+zuWHUoK9Lg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d3da0ece-a65a-89f7-85ba-5de31472bdcc@suse.com>
Date: Thu, 16 Mar 2023 08:53:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4 0/3] libxl smbios support
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>, Henry Wang <Henry.Wang@arm.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <20230306204024.124882-1-jandryuk@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230306204024.124882-1-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0009.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8087:EE_
X-MS-Office365-Filtering-Correlation-Id: 79cb8eef-e83b-440f-1581-08db25f38647
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:
	FWOyA/K6cEKiQElo51pbqUdTLad82W3E6ZW2N4BnQ1YI6i2Ib5T+B+TBKKJRoTyndjRJb6SBpvZuKFiw7c9FP4QIcLULaeTTDuO+l4U8O+Sb2pPuLRdyLJPg7xiK1Q++LvIoSVsXlj1iIGrEvWT6i+qZXELr7VmtxcnqtanMUXBM9BMqtwN6OQhCNvsnbkLPW5dO7+dFzOYQ0Ez/Kuq+fWkbXeC9skk71UehOT2E3WcHX0gzoCFn+JrSZt36Ng4dtC9P7uobhbSr/wJzHsm/c2Tv0T7GTZHrvQBXu23NGCw4xWw5awem5///7dHz82tvOdyMeV9NX3a+EqpJtaycT9zlaY2fedtHGadDDmElsOGiX4BhmlIBdOcKSrpXodtan9xdnNLkLjhIaLeToNU9m4ev2QnG0YsBurDNUGmKuNFB3WNbIa48f/dIoHhG6DaQ8Iua7qHh6TbkDvjggRroga2s9zsIFm5Qvk0OTFl2Lao4qbFTXbxeY+w4pQN52+TDCfrQ59qyYb8JVQH/shuLZO9QYgs8YewS2qq+IlKsyHwJxkTUBgEbHPJlgd0xw5QTByufGTVR0PpJFjDN4UzZqqU3smy3j/PjsknZVXWI4POcCRvQPnhBB5IpcA8q83MUNbea98ty4afhjyxhzrEcagCc6Gp2yxCna8eUwj2e5fT5bYPBa+TM73H6luqfqrrXvnQOjKc5ScRLcCLk22wo+WlRyszQXFBKEWVwbrAaESQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(136003)(346002)(396003)(366004)(376002)(451199018)(86362001)(38100700002)(31696002)(36756003)(2906002)(41300700001)(5660300002)(8936002)(4326008)(6512007)(6506007)(2616005)(26005)(186003)(53546011)(83380400001)(316002)(54906003)(110136005)(66556008)(66476007)(478600001)(6486002)(66946007)(8676002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MDFYMWxaWWp5RHNDeno4WXRxbno4QlM0aS9zcGpOMk4xVWFHMHozbGJzcDNj?=
 =?utf-8?B?R0JRSnJoMUNrOGQyUWF4S3A0NTRCMEVqendRTWRlUmFjOUErOHlkNldobVVk?=
 =?utf-8?B?TUd0RTNIZFVyVGpHTEtvYkpXWUhzclBNaEtCUE5hTjlIMlZlV2l2OTRrYmVW?=
 =?utf-8?B?bThqdmdNd1dqSHY2Si9DUUVxMjVBYXJvZFRqR0p6WWt0SmYvSlowMFNJUUVO?=
 =?utf-8?B?TWNPMTFpUVZuMzk3VEZSSU5LSWYxN2ZLV1hXa1ZYcVNKSytyc2Vad3UxNWlG?=
 =?utf-8?B?dE1NQlpsSS9UVGZ2TkZ0dWh3dktrL1ZIbHRTdU1EdC9WcFFYZ1lxMktvQkVH?=
 =?utf-8?B?citScmJ6eXlpaFlqaGpROHVZK25iZTJXTlN2RlpPWXlUUE5yajJESklzQXZO?=
 =?utf-8?B?OWczQmlCMy83cHJiYXhGbUhUNUcvUVBtWkdISmN3aW94K0NoT0VHN0ZoVSsw?=
 =?utf-8?B?RTVVQzlTWHhRWlJ3ZDAvTlRrRmVzMmZsNVpoNG1qTmo4YlgzY1B6VmVKa2xD?=
 =?utf-8?B?bGJka25kajdCV1VNTkFxN1Q3dXIrZVBjWkFtalJYbGY3L2lLVWZhS01KSWpD?=
 =?utf-8?B?dTFGcW9GeTZVT3h6YjJYWnFhZk8vR3cwTVN4WktQeVI4aEt0RkFnNVBGNW1u?=
 =?utf-8?B?MEY0TG1PNWsydzNRbG9GNVdEWWxrREw1ZkFFaEdoZFFlQTNFTkprVU5SRHZG?=
 =?utf-8?B?cjJ0TDdJSTJIU0NKcElPMFB3NVVUSUNwTk82bHhzeXhBUEJmOHNqdG9pSnZ5?=
 =?utf-8?B?VkhrNjlYSkNHZVdSZ2x5U0EzYlpKZkx6MjVxTk14OUNpa1RJUW84cmljd2ZK?=
 =?utf-8?B?dlBxK3IybGpscVVjT1VFTVZkSm1aejZKczdPU3lPRDdRTFhhNHV2ekIzcVNz?=
 =?utf-8?B?anJkbkYxV2w4VHAyaFErN1ZsNUZIeFZGdXhJcGd6RHlQZ3g3eEdVQ0I1RHRJ?=
 =?utf-8?B?MUhyVXJ4Nk15WTVrVnYwUUNsY0hGc2FDcGdNalFxMjhUc0ZsaHVrRWx0RjhV?=
 =?utf-8?B?bUowdklUa3lZakZ6eXQxR2tlS1lMY0d4NW00a1Nsangzck5LUzA0Rmt3SFhq?=
 =?utf-8?B?aG5JQmh6OU9GMzd2cGllZWVZUnpRYVMrcFhyR05nbWJtbzFtK1hJeWF3M2tY?=
 =?utf-8?B?T3gxTmdlbmIxcGNETUxvdG1LWS9QVTQ0ZTJ1cVJieHhBTmVySUwveGwydXdK?=
 =?utf-8?B?N1hVL2ZXL0dXTkVvSHg3THptVzBqcGlLS0R1U3Nmc0JwWVlTdzVIM1JuaUtp?=
 =?utf-8?B?cXhnM1RGYTVxTmMrRnIvbTV2WFN0Z3RWaGtKaVoyOU1JdFBDcEQyWEhsbmdh?=
 =?utf-8?B?dGdvZlZicTFHaHJKRmhOUnIvQXBKK05tZ1p3R1JpVys3MUxpaFJsbmZuRTdl?=
 =?utf-8?B?TnE0RENyRWJIS2ljMm8xR2NaNThCZ0FvWEdEdXdkNnA2azBNa3d3Y0kzTGpK?=
 =?utf-8?B?V1FIVmNDdThCTXpWM3JyU3JsTzRwenlYV2JjL1B4MTdFb3RwQkc2ZWx4MHJL?=
 =?utf-8?B?T3dTcERmWnFhSk52WmJqUXlGWEtwWTgvSjBqL2w3dXNXWGNsbStpQjJZTjhQ?=
 =?utf-8?B?VWorbm1xR3c4VnJ0R3NBYUJVYkJrMGVrMlRRbnlYMEJrVUorQkluamRmQTRm?=
 =?utf-8?B?N1MyQmVUTGVQVUZydUJselRhS0pmWU82M09iUDR3VmFVaFNMTjFOS0tTVFJw?=
 =?utf-8?B?U2pQWnJZTEtWVkthOVZjK0VkREhBVDdSYVlsUHFuTERWVUtYWFIyNi9McTRK?=
 =?utf-8?B?RHhkSXM1SHF0SlUrZnJLMURwc1J0VE5WRWpVdERvRm9DRXFyOWs1NDhTNElN?=
 =?utf-8?B?alpNR2FKc3N5cEEzdW5iWjlkeDlpdW1Rb0Zod05sS0MwdDBWR1pJbkw4a1VP?=
 =?utf-8?B?WHp2enhYYXVRSUx1NnZPTVVwZDk4Z3pQN0dQaWJ4eENXK2pNS1Joa3NtR3Bw?=
 =?utf-8?B?dndBaWE2d3FXNlpxV0dKaUtiSzd5RWNvUExORkxCT3VnTEZQQXE1Y0Jwa0Qw?=
 =?utf-8?B?SC82eklzZzJXQWtPOTE2ZE5BNjdJS1U0V0dJZnBtNHRXcjE0QnFLNUhOVmdo?=
 =?utf-8?B?NE9YVnJKa3RPUDQzUm4rbXFGb2lkVlNueWxCaW9zMGtBZGpxTWFwV1JwRWxj?=
 =?utf-8?Q?3QZg6ZG/CP2U/vRhdoSoMKrc4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79cb8eef-e83b-440f-1581-08db25f38647
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 07:53:26.5330
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BhLc6Iu1uPtI+hMxew+GIc3kd8gKvLhMCC4EsI78fGWjOf0Hq8KgIbO/H0BmYzsilvfr2SsX3lwg7/8GPQFAmg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8087

On 06.03.2023 21:40, Jason Andryuk wrote:
> hvm_xs_strings.h specifies xenstore entries which can be used to set or
> override smbios strings.  hvmloader has support for reading them, but
> xl/libxl support is not wired up.  This patches adds a new xl.cfg option
> and libxl support to write the xenstore strings.
> 
> The xl syntax looks like:
> smbios=["bios_vendor=Xen Project","system_version=1.0"]
> 
> The Go binding generation needed extending to support Arrays inside a
> KeyedUnion, which is what the first patch does.  The generated go code
> builds, but it is otherwise untested.
> 
> There are also oem strings, oem-1..oem-99, that HVM loader supports.
> xl parse multiple oem strings like smbios=["oem=A,oem=B"], libxl then
> iterates over them and assigned to the oem-%d entries.  Both xl and
> libxl check that the 99 string limit isn't exceeded.
> 
> The rendered man page and html don't have a newline at the end of the
> new section after patch 2.
> """
>            battery_device_name=STRING
>        ms_vm_genid="OPTION"
> """
> 
> however the txt format is correct:
> """
>         battery_device_name=STRING
> 
>     ms_vm_genid="OPTION"
> """
> 
> It goes away after patch 3 is applied since it adds text about the "oem"
> option in between the two lines above.  I'm at a loss as to why this is
> happening.
> 
> v4 is a rebase and resend of v3.
> 
> Jason Andryuk (3):
>   golang/xenlight: Extend KeyedUnion to support Arrays
>   xl/libxl: Add ability to specify SMBIOS strings
>   xl/libxl: Add OEM string support to smbios
> 
>  docs/man/xl.cfg.5.pod.in             | 49 +++++++++++++++++++
>  tools/golang/xenlight/gengotypes.py  | 41 +++++++++-------
>  tools/golang/xenlight/helpers.gen.go | 51 ++++++++++++++++++++
>  tools/golang/xenlight/types.gen.go   | 28 +++++++++++
>  tools/include/libxl.h                |  5 ++
>  tools/libs/light/libxl_dom.c         | 33 +++++++++++++
>  tools/libs/light/libxl_types.idl     | 27 +++++++++++
>  tools/xl/xl_parse.c                  | 71 +++++++++++++++++++++++++++-
>  8 files changed, 288 insertions(+), 17 deletions(-)

Is this work something that's worth mentioning in CHANGELOG.md?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 07:55:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 07:55:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510341.787846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pciRz-0004pe-Ad; Thu, 16 Mar 2023 07:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510341.787846; Thu, 16 Mar 2023 07: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 1pciRz-0004pX-7P; Thu, 16 Mar 2023 07:55:03 +0000
Received: by outflank-mailman (input) for mailman id 510341;
 Thu, 16 Mar 2023 07:55: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=saQ2=7I=oderland.se=josef@srs-se1.protection.inumbo.net>)
 id 1pciRx-0004pL-OL
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 07:55:02 +0000
Received: from vsp02-out.oderland.com (vsp02-out.oderland.com
 [2a02:28f0::26:1]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da3952e0-c3cf-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 08:55:00 +0100 (CET)
Received: from office.oderland.com (office.oderland.com [91.201.60.5])
 by vsp-out.oderland.com (Halon) with ESMTPSA
 id d930500f-c3cf-11ed-b0b1-953cc26b59f3;
 Thu, 16 Mar 2023 08:54:58 +0100 (CET)
Received: from 160.193-180-18.r.oderland.com ([193.180.18.160]:37640
 helo=[10.137.0.14])
 by office.oderland.com with esmtpsa  (TLS1.3) tls TLS_AES_128_GCM_SHA256
 (Exim 4.95) (envelope-from <josef@oderland.se>) id 1pciRx-000a00-9K;
 Thu, 16 Mar 2023 08:54: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: da3952e0-c3cf-11ed-87f5-c1b5be75604c
X-Scanned-Cookie: 0162612eaad5b0a05cb4a8d9b4dce14a4c5e9ffb
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=oderland.se
	; s=default; h=Content-Transfer-Encoding:Content-Type:In-Reply-To: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=4sDqyLsKGwu6VCvEwuakJHaAxdK3Nq6qCvs+CWZkkiA=; b=rUwenm56+KATrWTxLJMffhz5rS
	PnU8wnTUchVbcSNsKMDRjS/k7aBfbNegD5/Dk42mkk4TLFxMcgJD80XCScjZbM7nYMcBKDcBeeAVD
	x9j28sY9BoUGw4F7En3mSilCjeS3QZYWnMl8brb+2kr6TFVovVyibHtjm7ohuKirmeCxov+joJgtM
	35UKXqo6uPIxRSlifyhFbHAORtBMr3g9BJetgVqwtu+s/8KMJIgb2/1yjSWPWM/9X3a6IaSd+v/fM
	Y5QpucKCAwJbNDw21EeAO8U8g1UJ1/e7rElUJEhefRifRQVxTsuCG0vF65hw4YzrXlOCcCqUk77Az
	3U8fY/fw==;
Message-ID: <2754848f-6c3c-5479-ea6f-1946c93f868e@oderland.se>
Date: Thu, 16 Mar 2023 08:54:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:111.0) Gecko/20100101
 Thunderbird/111.0
Subject: Re: [PATCH 3/3] xen/acpi: upload power and performance related data
 from a PVH dom0
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 x86@kernel.org
References: <20221121102113.41893-1-roger.pau@citrix.com>
 <20221121102113.41893-4-roger.pau@citrix.com>
 <407b7c10-ad1f-b6d2-2976-2b297755b2b3@oderland.se>
 <ZBGuVjyDpuUZ3MnZ@Air-de-Roger>
From: Josef Johansson <josef@oderland.se>
In-Reply-To: <ZBGuVjyDpuUZ3MnZ@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
x-oderland-domain-valid: yes

On 3/15/23 12:39, Roger Pau Monné wrote:
> On Mon, Jan 30, 2023 at 10:10:05AM +0100, Josef Johansson wrote:
>> On 11/21/22 11:21, Roger Pau Monne wrote:
>>> When running as a PVH dom0 the ACPI MADT is crafted by Xen in order to
>>> report the correct numbers of vCPUs that dom0 has, so the host MADT is
>>> not provided to dom0.  This creates issues when parsing the power and
>>> performance related data from ACPI dynamic tables, as the ACPI
>>> Processor UIDs found on the dynamic code are likely to not match the
>>> ones crafted by Xen in the dom0 MADT.
>>>
>>> Xen would rely on Linux having filled at least the power and
>>> performance related data of the vCPUs on the system, and would clone
>>> that information in order to setup the remaining pCPUs on the system
>>> if dom0 vCPUs < pCPUs.  However when running as PVH dom0 it's likely
>>> that none of dom0 CPUs will have the power and performance data
>>> filled, and hence the Xen ACPI Processor driver needs to fetch that
>>> information by itself.
>>>
>>> In order to do so correctly, introduce a new helper to fetch the _CST
>>> data without taking into account the system capabilities from the
>>> CPUID output, as the capabilities reported to dom0 in CPUID might be
>>> different from the ones on the host.
>>>
>>>
>> Hi Roger,
>>
>> First of all, thanks for doing the grunt work here to clear up the ACPI
>> situation.
>>
>> A bit of background, I'm trying to get an AMD APU (CPUID 0x17 (23)) to work
>> properly
>> under Xen. It works fine otherwise but something is amiss under Xen.
> Hello,
>
> Sorry for the delay, I've been on paternity leave and just caching up
> on emails.
Hi Roger,

Congratulations! I hope you had time to really connect. It's the most 
important thing we can do here in life.

I came into this to understand each and every error in my boot-log, it 
turns out that the latest
kernel+xen+firmware fixes suspend/resume for me, thus is this not 
related. But as I pointed out,
the output does not make any sense (nor yours nor the upstream). I 
should check the debug
output with suspend working fine now to see if there are any changes, 
that would be quite
interesting.

Also, I should mention that your patch broke some things on my system 
and made it
unstable. I don't remember exactly and I know you said that this is more 
of a PoC. Just a
heads up.
>> Just to make sure that the patch is working as intended, what I found when
>> trying it out
>> is that the first 8 CPUs have C-States, but 0, 2, 4, 6, 8, 10, 12, 14 have
>> P-States, out of
>> 16 CPUs. Xen tells Linux that there are 8 CPUs since it's running with
>> nosmt.
>>
>> Regards
>> - Josef
>>
>> xen_acpi_processor: Max ACPI ID: 30
>> xen_acpi_processor: Uploading Xen processor PM info
>> xen_acpi_processor: ACPI CPU0 - C-states uploaded.
>> xen_acpi_processor:      C1: ACPI HLT 1 uS
>> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
>> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
>> xen_acpi_processor: ACPI CPU0 - P-states uploaded.
>> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
>> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
>> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
>> xen_acpi_processor: ACPI CPU1 - C-states uploaded.
>> xen_acpi_processor:      C1: ACPI HLT 1 uS
>> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
>> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
>> xen_acpi_processor: ACPI CPU2 - C-states uploaded.
>> xen_acpi_processor:      C1: ACPI HLT 1 uS
>> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
>> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
>> xen_acpi_processor: ACPI CPU2 - P-states uploaded.
>> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
>> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
>> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
>> xen_acpi_processor: ACPI CPU3 - C-states uploaded.
>> xen_acpi_processor:      C1: ACPI HLT 1 uS
>> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
>> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
>> xen_acpi_processor: ACPI CPU4 - C-states uploaded.
>> xen_acpi_processor:      C1: ACPI HLT 1 uS
>> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
>> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
>> xen_acpi_processor: ACPI CPU4 - P-states uploaded.
>> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
>> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
>> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
>> xen_acpi_processor: ACPI CPU5 - C-states uploaded.
>> xen_acpi_processor:      C1: ACPI HLT 1 uS
>> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
>> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
>> xen_acpi_processor: ACPI CPU6 - C-states uploaded.
>> xen_acpi_processor:      C1: ACPI HLT 1 uS
>> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
>> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
>> xen_acpi_processor: ACPI CPU6 - P-states uploaded.
>> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
>> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
>> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
>> xen_acpi_processor: ACPI CPU7 - C-states uploaded.
>> xen_acpi_processor:      C1: ACPI HLT 1 uS
>> xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
>> xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
>> xen_acpi_processor: ACPI CPU0 w/ PBLK:0x0
>> xen_acpi_processor: ACPI CPU0 w/ PST:coord_type = 254 domain = 0
>> xen_acpi_processor: CPU with ACPI ID 1 is unavailable
> Hm, that's weird, do you think you could check why it reports the CPU
> is unavailable?
If you would give me a hint at how I could check?
Right now my guess is that C state and P state is not in sync, thus P 
state are for every other
CPU and C state is for the first 8. AFAIK AMD only have 
performance-cores (unlike Intel).
>
> Overall I don't like the situation of the ACPI handling when running
> as dom0. It's fragile to rely on the data for dom0 CPUs to be
> filled by the system (by adding some band aids here and there so that
> the PV vCPUs are matched against the MADT objects) and then cloning
> the data for any physical CPU exceeding the number of dom0 virtual
> CPUs.
That's my understanding from earlier implementation as well, nobody 
actually like it,
But the current solution is something working in a bad environment.
>
> IMO it would be much better to just do the handling of ACPI processor
> objects in a Xen specific driver (preventing the native driver from
> attaching) in order to fetch the data and upload it to Xen.  This is
> what I've attempted to do on FreeBSD, and resulted in a cleaner
> implementation:
>
> <link>
>
> I however don't have time to do this right now for Linux.

Maybe I can take a stab, I very much like the climate of the kernel but 
everything
seem so scary :) I've been trying to understand things better, how 
they're all
connected.
>
>> xen_acpi_processor: ACPI CPU2 w/ PBLK:0x0
>> xen_acpi_processor: ACPI CPU2 w/ PST:coord_type = 254 domain = 1
>> xen_acpi_processor: CPU with ACPI ID 3 is unavailable
>> xen_acpi_processor: ACPI CPU4 w/ PBLK:0x0
>> xen_acpi_processor: ACPI CPU4 w/ PST:coord_type = 254 domain = 2
>> xen_acpi_processor: CPU with ACPI ID 5 is unavailable
>> xen_acpi_processor: ACPI CPU6 w/ PBLK:0x0
>> xen_acpi_processor: ACPI CPU6 w/ PST:coord_type = 254 domain = 3
>> xen_acpi_processor: CPU with ACPI ID 7 is unavailable
>> xen_acpi_processor: ACPI CPU8 w/ PBLK:0x0
>> xen_acpi_processor: ACPI CPU8 w/ PST:coord_type = 254 domain = 4
>> xen_acpi_processor: CPU with ACPI ID 9 is unavailable
>> xen_acpi_processor: ACPI CPU10 w/ PBLK:0x0
>> xen_acpi_processor: ACPI CPU10 w/ PST:coord_type = 254 domain = 5
>> xen_acpi_processor: CPU with ACPI ID 11 is unavailable
>> xen_acpi_processor: ACPI CPU12 w/ PBLK:0x0
>> xen_acpi_processor: ACPI CPU12 w/ PST:coord_type = 254 domain = 6
>> xen_acpi_processor: CPU with ACPI ID 13 is unavailable
>> xen_acpi_processor: ACPI CPU14 w/ PBLK:0x0
>> xen_acpi_processor: ACPI CPU14 w/ PST:coord_type = 254 domain = 7
>> xen_acpi_processor: CPU with ACPI ID 15 is unavailable
>> xen_acpi_processor: ACPI CPU8 - P-states uploaded.
>> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
>> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
>> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
>> xen_acpi_processor: ACPI CPU10 - P-states uploaded.
>> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
>> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
>> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
>> xen_acpi_processor: ACPI CPU12 - P-states uploaded.
>> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
>> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
>> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
>> xen_acpi_processor: ACPI CPU14 - P-states uploaded.
>> xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
>> xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
>> xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
>>
>> As a bonus, here are the previous debug output on the same machine.
> I think the output below is with dom0 running as plain PV rather than
> PVH?
This is the upstream ACPI implementation vs yours. What would plain PV 
vs PVH be in dom0?

Regards
- Josef
> Thanks, Roger.



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 07:56:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 07:56:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510353.787856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pciTT-0005QR-LC; Thu, 16 Mar 2023 07:56:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510353.787856; Thu, 16 Mar 2023 07:56: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 1pciTT-0005QK-I8; Thu, 16 Mar 2023 07:56:35 +0000
Received: by outflank-mailman (input) for mailman id 510353;
 Thu, 16 Mar 2023 07: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pciTR-0005QC-UC
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 07:56:33 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on0609.outbound.protection.outlook.com
 [2a01:111:f400:fe1e::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 106b6d44-c3d0-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 08:56:31 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8087.eurprd04.prod.outlook.com (2603:10a6:20b:3fb::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 07:56:30 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 07:56: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: 106b6d44-c3d0-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y45Mjyu7/MttK4wJFsStn8dLQcuPxMEgUipTAh8Qb0KQehTBKl7MyXTja4grLRSitIbrbwzL1OZPyxxSXA/FW7p0lAMCuHto+M4YIngFqT2WeQHw/1Igo9Y28hKyHiyn4Tv7YTZVXrTlcJDK0EdwUl9KgVL1Gtm2mx6bQNf2AUwW6Hn5JMb2vMgF+d/QvFLRqSbBfDy/XoFwkz01YvFV7KgV2RGB0/XPiMtAshPQXaGqzRolnt8LatpVIwFnXaFUFSitV0NhSysmCOg3U12Ll72dLZxR9lrEz9WKSUcqk/csssTmYOYbMI2DoLD80iiwGYC2QO/Hn16pGrZ/yGwYwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lrN16zHUp/ca8TcEfY5cP+meQmD3ID3XGsOPU5W0AkY=;
 b=U07R/JrD5waHBuNQBRHJjdesDdS9ZyGnyKHp+R+qrfcZQabwqw+XcQ5XWLtwUVwq493NriFXei8TtqVVaTGIqiuT5NYtJelpahczy8LiMbO5dJe9KM0F71gZACS+iDJqRTBf16rjInFIQEGJOPLFFn+GDgcO95QM566EQ/DIh7jjnz93jsO8NG4gL+BXBW4IMboDcOmc0yBBzbgQ5Meelivh8w55Czbas/+7vgsZXQPokWUe0hP7zmkSjNi0JlbXNEY+yrr1cYbIKLqtbcjFkw0DyU7X1WxcIMw6ULjpTr1A7sUXT7u6bJz/7GKDNfUUuwLM/ZiG/8uNjk62E7dDTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lrN16zHUp/ca8TcEfY5cP+meQmD3ID3XGsOPU5W0AkY=;
 b=HsZVagiBaSk+Eq7Aw9HeA6cWjbqBoXT6S8YIaCctMcE+SfCiZd9vv6wjMkt5UqkabxWah02o9/nDWG8dP3yFkrcT2hPQ+DY9ppTYwFQhrywCh8/SSQutWXpNisR0Boqg3G+nL2s2yTcb8nInA+dyA/JizX3lHPHBf8OQrm3W0KrMIF2gAJCTK6LlCFo8yrf+SPUHXBApxlK/U6QFYcLj6hbMVu4avnSdoG7KwVKAIw2ZiJGdSJ8PuADT3xVb0kTlN79XKkT3LYyCHly+K2YVFUdQDtjHSULmJ5eo0R/S43Il+2feodl7HY7kTjPXx8bojEcv3mkTJmVP9+PQ+I97Pg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <429cbb0c-64a3-aee9-9693-0d6ed4990601@suse.com>
Date: Thu, 16 Mar 2023 08:56:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/console: Handle true dom0less case when switching
 serial input
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: 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: <20230314142749.8845-1-michal.orzel@amd.com>
 <da7db77f-3ab8-edd1-bc69-460ca3e2ce25@suse.com>
 <7676cba9-6f92-0c97-dac3-372ca47be34b@amd.com>
 <737fec84-42da-3b9b-6cb5-d18406925403@suse.com>
 <d67aeb95-1631-74c0-cefa-a0cc88512b84@amd.com>
 <alpine.DEB.2.22.394.2303151844530.3462@ubuntu-linux-20-04-desktop>
 <1c174a17-0860-358b-5593-a7d45cdad00f@suse.com>
 <848813fc-636f-ea9c-00a6-6b8b049f92d8@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <848813fc-636f-ea9c-00a6-6b8b049f92d8@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0092.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8087:EE_
X-MS-Office365-Filtering-Correlation-Id: 92ca788d-d8b1-4fad-dc6b-08db25f3f3d4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3CLSUEa9ayYwiTFy1rvHDS9iWTiFk2Jz8KT/XZJ+YYKSc5YiJ+Oh0OwDGhFkmivOgmq9b8gtXLa7hYY9mJseh2oN9v07GQVqHUFAldkyQZrBUmb/K/Eq2eWVZkkxF9Wa5Jdt1QlsnZN3T/IXhVsgk3jBZPJt8V+RcYZVbsnnSjYsC7wsqydk+6263bJW6fUr9uu5OcqT3wEXlkXKk35k7LJS5am9vdpCGcHR55s+G8GFunGftHVeKt/ro3L/0R+qSQrbKZ5yHq+vgxGip+UFCxnZAAInW07aBujSPYcLQ08OaTCuqoQRmS1SFZAmvLpjxf8Sx+LC/hzfudLvvFymCNE5StYoflYpCLz4TMaY3XfjVWfuEK3hLtFzJA9VCeBsgHjPay/HW0tCX1kWmHZ/kOHyorklQkzOi3i+j9NkZ9plrOi+StCiR9e1lgjlPFBq9XDw+5O+LLCOPiOfrzEI5vrB/UC28/g09efxdLiY8+n1Cx4uRs8KM5jRrgKhmZ+eg9HHdTZI12riFq2qqsR6k+R4ZRDbGfzfp9I0sxA+LtebY7a3dco/FNf1p1AjJ51z05D/kXiULIX5Ba8ASAY9Qi2KBhAeNXNlH/66wnD0iJcs2/P6KBwor2vdUxiiRsqTJC6xfNDJLYWGLpqxKhFxSzUzIYOJKD3TnCYzmhfNiw0arUtbdX3vg6rhoUeOajpeY3kr3r05bGn84kxn74OpjqNIT/f4HO5yocm2YOnGTlmOhnc+d3z0vtZdeYdELC3b
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(136003)(346002)(396003)(366004)(376002)(451199018)(86362001)(38100700002)(31696002)(36756003)(2906002)(41300700001)(5660300002)(8936002)(4326008)(6512007)(6506007)(2616005)(26005)(186003)(53546011)(83380400001)(316002)(54906003)(110136005)(66556008)(66476007)(478600001)(6486002)(66946007)(8676002)(31686004)(32563001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MFZnUmNLLzNxWDBEUjZ1QmxsdHhxa3N1dU5qMllaWGU5WXNGZ1hPSkx0elNN?=
 =?utf-8?B?aldnTEh1bDNrZWpFMHJJc1d0QkNnY1lud0FGa2RUcHQvZU9CN1RhU0JXaXhO?=
 =?utf-8?B?SUcrdXRTREtGUnB6aStQYlR1Ymt1NlJHdWpvdndrMmFUdG1BcXpPSmJETVBJ?=
 =?utf-8?B?VFA3MkhjajZuenJPVWY2dVN1U0k3c2FqSkhVK2dxOUk2OXFGQUVOc3hqOWd1?=
 =?utf-8?B?OGltV3pyTVg2bU5wSUx6aTFVeGEzUW8xanJwWlpUSGFEUVZQSWNnVlhkUTA3?=
 =?utf-8?B?RUNDa3E5S0xGcGlMd0hodXlXcDJNNXJKVXdUSHZWRE5hWEhYRWozNFFuSzhJ?=
 =?utf-8?B?MWdWWXgxTGUxaCtSRE44akZFR3FwZytlbnc2aHYrOG91b054NmtBTldyemIr?=
 =?utf-8?B?cHFNMU8rclRBZUVQMVF6RGYyOEpUbVpCbzRUM2RLdlp3OGg4RGJoMW1LbXVQ?=
 =?utf-8?B?a0VTZVBqQkdyallXZDBqRjYwODRPbXE3ZnZONWQzVy9janM2enhEUEYwWEJO?=
 =?utf-8?B?QlVnSmRBTGdWSFB0aUVSRWxzbWlpSGdqeE5XcUlmeUtDYWxkaS8wbXk3UStG?=
 =?utf-8?B?QXJPWWtZeER1S0JsWEVGZ1RTWDl3Q0FDcXhxNnBMay9EZUtMMnF6c0t1YkVK?=
 =?utf-8?B?bEFselBSRjkwT1E5UkFKMFF0SEJNTkZ1djZSY1BRYWM0dDRmQTJOU0NrV2pV?=
 =?utf-8?B?L2Zmd2VrL3VGSmV6SVdwdjQxdTQ1dlVmbks5WmpvYzRWQlFtZkxGZjFZRGs4?=
 =?utf-8?B?ZmJiRFQ0SGUxQUZiTzFZdDNWSHdWdU00ZS9xREJ6UlFzQVhDdVhucDEzZkIx?=
 =?utf-8?B?a21CWklTYjRhVVIvSzRzS1F5RkdxVTFZeGs0VGV2dWNlc0d5b2JwWDQ5UjRT?=
 =?utf-8?B?ZVM3SGpWTnpSTlBjcGs4cUVyRWVXN3ByQ3RYbGhGaWRsMjRZajZaZ3d5ZHhW?=
 =?utf-8?B?Y1o3UUJnaWhJdWFqbkFsYjNIa3loajRtRFVoVVFTOVdKSkN0ek1FcTV1T1lS?=
 =?utf-8?B?VDYzaFNLWkZUTVNUeTMyVkVPc2NKbGR0bFMrRkJ0K3NDaVRaY1c1cDdoUXJH?=
 =?utf-8?B?RkZ6dEtnc04reUNNWmpEWEt3RFpxcVhtY3ozL0JWaUVPOGs5NzlITTBUNlNQ?=
 =?utf-8?B?OWlHdnh5T0d6bHVUemVXQ3VTdkVQMW1YMGtGUlIrUjdpWWNaSXQydTFiU1dL?=
 =?utf-8?B?MzBwMXFXMjEraDRqSFNjeXVSV3k4aDFaajYyL2c3TzFwY1hlb1lWalVyVUhh?=
 =?utf-8?B?UWJ4RzBjazFQekpXdi9DYkFCLy9sb21NN29pZGV1YXB6WlBKVUk5WlJoRU52?=
 =?utf-8?B?cVRmTHFpRnBWSjlHYTR3OTRRTFJUNG40UWhXZjZVVHhOdTlGWFc1Z0M0VGxk?=
 =?utf-8?B?RUZBTk5DMjlCT1dZanRFNEhTTDJPVTB5UFJ2WUs1eElwTmdwM21HS2h3K1px?=
 =?utf-8?B?Q3hJOC8xWW1PdFg0TGMwcndjTHdUb3ZCdTJ2bHRHR1ljejJmSXpPL3oyY1dh?=
 =?utf-8?B?UHNlcjVsVStKTFRkaktwckJYaHFvdVcrWXdCb2pHR2RiOEtSVW4xK0hlODZV?=
 =?utf-8?B?Nk5kL0xneHQ4NkFXTmNWYXl3ZnJaQnNqQU9LSW95bDVRSm45VSs2N1g3SXNJ?=
 =?utf-8?B?RnN0b1ptekg2L1M5bkdzOHFXRkgxc0luZXhqRU9uOHhrdnhsNUM1TWJ5ckxh?=
 =?utf-8?B?TXlzd0c0MWZHb1haRElRQlJ0bjFpNUNxWVMyNHUwMEQrVDBZZE9mN1d2RDl4?=
 =?utf-8?B?NDdJRnE2MFc5N09LWkJQZWVvOE5WVFgwaG1FL00rdStJa08ydnlPNFBlMWFV?=
 =?utf-8?B?RnJ4WmRrMUpkNXBaU2gxaHJUdUVKUDJCWjhIZDJxWm5NU29oWEU5YVVGSEdy?=
 =?utf-8?B?aDRXWll3dm5EQ21ZRkxMVDRrL0J3cXRla1FuaFNjcm93c2FJREFqNnNCYXlM?=
 =?utf-8?B?RWpiaFVBbmRHNjR6aXRRTUpIN2owNjd3TWdVbmN5ZEdIcCtXSUMraHNyQUZz?=
 =?utf-8?B?RXp3bFBkcnBGcDdSUlBFTktLcGk1a0VpYU5sb0FmNXRqN1M3RXMwSUlldUY3?=
 =?utf-8?B?Mnp2ZTJEbFNzR2xkcGVLWGozUExRTWM1dlFQTnY4b0YxejdhVFE3bDdoaXk5?=
 =?utf-8?Q?vY0LgMvY/Nxeh+TdNTFPsB0ri?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 92ca788d-d8b1-4fad-dc6b-08db25f3f3d4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 07:56:30.2401
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HMmxSCdwkv9bdVJ+FOfZFJJGcw3tiRGHi06CUNbf6aOL+NGQITybjlztOaBwOv+sP6TilIacgUa4EmFEJhilTQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8087

On 16.03.2023 08:51, Michal Orzel wrote:
> On 16/03/2023 08:24, Jan Beulich wrote:
>> On 16.03.2023 02:49, Stefano Stabellini wrote:
>>> On Wed, 15 Mar 2023, Michal Orzel wrote:
>>>> On 15/03/2023 14:11, Jan Beulich wrote:
>>>>> On 15.03.2023 13:34, Michal Orzel wrote:
>>>>>> On 14/03/2023 16:17, Jan Beulich wrote:
>>>>>>> On 14.03.2023 15:27, Michal Orzel wrote:
>>>>>>>> --- a/xen/drivers/char/console.c
>>>>>>>> +++ b/xen/drivers/char/console.c
>>>>>>>> @@ -491,6 +491,14 @@ static void switch_serial_input(void)
>>>>>>>>      else
>>>>>>>>      {
>>>>>>>>          console_rx++;
>>>>>>>> +
>>>>>>>> +        /*
>>>>>>>> +         * Skip switching serial input to hardware domain if it does not exist
>>>>>>>> +         * (i.e. true dom0less mode).
>>>>>>>> +         */
>>>>>>>> +        if ( !hardware_domain && (console_rx == 1) )
>>>>>>>> +            console_rx++;
>>>>>>>
>>>>>>> The consumers of this variable aren't really serialized with this
>>>>>>> updating. That's probably okay-ish prior to your change, but now
>>>>>>> there can be two updates in rapid succession. I think it would be
>>>>>>> better if the variable was written only once here.
>>>>>> ok, makes sense.
>>>>>>
>>>>>>>
>>>>>>>>          printk("*** Serial input to DOM%d", console_rx - 1);
>>>>>>>
>>>>>>> When invoked from console_endboot() this will now switch to Dom1,
>>>>>>> i.e. that domain becomes kind of "preferred", which I think is
>>>>>>> wrong. Instead I think in such a case we should direct input to
>>>>>>> Xen by default.
>>>>>> Switching serial input to the first usable domain is the major motivation behind this patch.
>>>>>> The number of times I got pinged by users with *apparent* Xen issue on true dom0less
>>>>>> just because input was directed to dom0 which was not there (not everyone seems to read the
>>>>>> boot logs) forced me to create this patch and manifests that this is not the behavior user wants.
>>>>>> Switching to Xen console would not help at all. Also, we already have a way to set switch code to 'x'
>>>>>> to default serial input to Xen.
>>>>>> So I think what I did (switching to the first existing domain) should be the default behavior (just like it was done for dom0).
>>>>>
>>>>> Well, I'm not going to stand in the way, but if one of several supposedly
>>>>> equal domains is to be "preferred" in some way, then I for one would
>>>>> expect justification for doing so. If that's the route to go, then the
>>>>> patch snippet you provided looks good to me.
>>>> Well, the explanation is that we are directing input to the first existing domain
>>>> which also is the first domain created (this is what users expect at least by default).
>>>> This for now creates simplest/cleanest solution that matches the current behavior
>>>> with dom0 and solves the users inconveniences I mentioned earlier.
>>>> There is no other real preference apart from being first domain created and to help keep the order simple.
>>>
>>> My two cents. Given the feedback we are getting from users, I think it
>>> is important that the input goes to a real valid domain (not Xen, not
>>> Dom0 that doesn't exist). "Which dom0less domain?" is a valid question,
>>> and I don't know what would be the best answer. But any of those domains
>>> would be better than what we have today.
>>
>> Could boot time configuration perhaps indicate which domain to "prefer"?
>> Otherwise I'm pretty inclined to suggest to make it actually random ...
> Random is not great because in a system with e.g. 20 domUs and directing to e.g. 10th domU
> user would have to go through a lot of domains executing CTRL-AAA several times. Also, for me
> it would be difficult to reason about as such approach is definitely not something users expect.
> 
> May I ask so that we proceed with a patch I proposed to start from the first usable domain
> to match the current behavior and to help users?. In the meantime I will start working on
> a support for indicating which domain to prefer.

So long as the description states clearly that the choice is arbitrary, I
wouldn't (further) object to such a change.

> All in all, the new patch would touch console_endboot() and not switch_serial_input().

Of course.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 08:25:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 08:25:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510365.787872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcivj-0001er-7e; Thu, 16 Mar 2023 08:25:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510365.787872; Thu, 16 Mar 2023 08: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 1pcivj-0001ek-4g; Thu, 16 Mar 2023 08:25:47 +0000
Received: by outflank-mailman (input) for mailman id 510365;
 Thu, 16 Mar 2023 08: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcivh-0001ed-K4
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 08:25:45 +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 231afaae-c3d4-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 09:25:43 +0100 (CET)
Received: from mail-dm6nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 04:25:39 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH7PR03MB7091.namprd03.prod.outlook.com (2603:10b6:510:2a4::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Thu, 16 Mar
 2023 08:25:37 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 08:25:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 231afaae-c3d4-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678955143;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=OMLZkr4T5e5p4/CSjWY3EkPuWyKiWklxU/Cbpl9sYOI=;
  b=ElCvVgLfF2dhko8N13Rg4ETAWEpz15eXs/Ppu+YdmNkshN4NR1OjTQTQ
   4TIqyygD9ltSkVg7Tamgfu+k7pTgFGQfgPCG4YuicShawziRhgHLvGYGW
   YMTYzlNDZDbjm9PkgOu7Jmcs/46KFt52+87KDZ9bvG4wwfb/2DFxACM1u
   c=;
X-IronPort-RemoteIP: 104.47.58.108
X-IronPort-MID: 101488429
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:+KvLZKKhzhhNrEUnFE+RH5QlxSXFcZb7ZxGr2PjKsXjdYENShmBRz
 WAZXTuHPayOYTfzKotybYm09E0F6sDcn9M2SlZlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QVgPa4jUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4mOkVi8
 /07awkRVTGmhMmu/LGESsxV05FLwMnDZOvzu1lG5BSAVbMKZM6GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dnpTGLnGSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv037OfzX+hCer+EpWf0fpDh1u1xlYdGUdHEmCjuv+HoUGxDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8U49QWMx6z88wufQG8eQVZpc8c6vcU7QTgr0
 F6hnN7zAzFr9rqPRhq16bO8vT60fy8PIgcqdSICCAcI/dTniIUylQ7UCMZuFravid/4Ei22x
 CqFxBXSnJ0WhM8Pkqm+o1bOhmv0ooCTF1ZloALKQmii8wV1Ipa/YJCl4kTa6vAGK5uFSl6Gv
 z4PnM32AP0yMKxhXRelGI0ldIxFLd7fWNEAqTaDx6Ucygk=
IronPort-HdrOrdr: A9a23:MK12sKponEeWe/p7O7cgMu8aV5o6eYIsimQD101hICG9E/b0qy
 nKpp9w6faaskdzZJheo6HjBEDtex3hHP1OjbX5X43DYOCOggLBEGgI1+TfKlPbehEW/9QtsJ
 tdTw==
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101488429"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Tyk92O1DG4D9hPgQV9toVREOLuczWhfC1gZ0/zgWwvFN+RnPGO9eYpdnQBeR9mDXn+QM/sTuFWwltI0R0vsFinz1+buFs3nn150fnQo+S7vII5dm/5Rszul5Y/jnRtDYGrf0Y+TbCf98PzjMnjEq+DcTrKH8+Rm361q/jBl+FZ/chA+HAxAz826st08Zc+Uao1gnQIn/QuHProDPQBhGYyjG1WpkzJJBY0/R8zOwlRMsztNiNYKnstKH747Nh+JOltdsgfhWuyOyfiK3useQ6WnV1W0HFf1RAgZNlTamPFdgbpktb9Xr3a4ykYESd7Y2nrhhMJtdlcujoyNfRhSkRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Owxe1oMilNs25RrdMGTZ/EyqJtyt34d2tICWpI/7uj0=;
 b=UCZfb+jbkuvBuqzbjNVT0ttmoFib+PWI3haMtiera5iblE4DxRDkY3do1aiY42WncRWo5BOFfilKDUVqiST7TsDDbsjbK3UYSaxYARBVt4yO5Lw1+PB0hV5c3z+ThNfk6DgRZNfMqu61kkXPlbayuAp0B9hHEB+GF7HZpFEACxDMqXwlTizOI5ichMwICWDU6ISWCiZcli+4KAmoXiW4Bp02jXDosDi0WEwHNrfbuutp7Nt0/2ZcagOwJMyX4Zs11in4xPZ8y06NjW7EwW8drabNd18uDerhHv7bWq6lWyba5zMg0W9hE+09icFfbK1vRXTe3UNGZXXkdQhZyLvAwQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Owxe1oMilNs25RrdMGTZ/EyqJtyt34d2tICWpI/7uj0=;
 b=B03PQzEF440JIT33kjsDb/8v44DKHp1z4zmW6dwYd7jNZNhGBMGSH/JqFFjSjQ0oGTiZdKkiVyg0cADlG1D+/1mWQOcfeZMLk2qoAHJpHWEbaxU91zUVI3wOisjyFx9TQNhkhMJ7q5jTtLqSiaR/MOhTl2vubw+vH6Gvj4m8g6c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 09:25:30 +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>,
	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] xen/grants: repurpose command line max options
Message-ID: <ZBLSenQQGP9LlU+P@Air-de-Roger>
References: <20230314144553.8248-1-roger.pau@citrix.com>
 <7db90f7f-3344-75bf-120e-2113908adfb4@suse.com>
 <ZBCV4Y6Cz91eypUN@Air-de-Roger>
 <68302943-4d12-ff48-bc60-2c63781f67d9@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <68302943-4d12-ff48-bc60-2c63781f67d9@citrix.com>
X-ClientProxiedBy: LO4P123CA0368.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18e::13) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH7PR03MB7091:EE_
X-MS-Office365-Filtering-Correlation-Id: c33358ca-6c14-4e5a-bb52-08db25f804c3
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5hJCZMNoa01XSDjHPUnQCjDovcydqi1iBzGngpkr5z3SVjuVCYMzT4Yw7Oc3pKor7kKNOyEtB7KqBfRvWeGT/zxMiv1ozK8eRPeOHH3c3sWxUA94TNrLqm2hWVDSFRn273tyGFaPqTj5yHpNN1CEP8LW0zjZCzu+qUM1NYgez9r0n1KdGXnGc4EvcBBEUQy4pByPtJ7zS1IrdHb4VSVacNw726KbODU9NCqOGuMqOacTgPU6GZUioDrTZXGUFwY68RneAlr/ie3XDzCM1ZZ/cObNgMCd83BmWAChxLlv6vH8aYL/5g8Ym8IMYLprHZKb58w3qiU+4g3oGzG1/8Jlme4qLC7vF2Wx5WgCVaIUm025EK8gV4RZ1szvKJQ+T3AL9KGMGIxNrkpQjO85AdceyAR8kWuwdvJB9eT6OwPVQVKtONHTKak9Qggo4Y08ZcS3l70Sx+Gu+25KWbBFVmeQ6cMet+FhOaFBft//FMiBz3BbaWSyNEYzPTvsb7nWB5le0Jlv9Qyltdkcck/EO8abeBd3vOc4YZlE1vDcaWj4SYTM1/dZJJT482gK7R3kj82mQCpHfow6hOoMNb1WpBgcvOykz4ABbglf4Co3qbKthvZgkg8X3yfpc5WmzvDLwwiLzglFbUFsGPsaR2sYNEjv/INZJM/zGkUA2S4PiRpXmYrFdEFTBx22EJhF/qR2JhI5
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(396003)(376002)(346002)(39860400002)(366004)(136003)(451199018)(33716001)(2906002)(6486002)(26005)(83380400001)(6666004)(85182001)(82960400001)(53546011)(4326008)(8936002)(66556008)(86362001)(8676002)(6512007)(41300700001)(66476007)(186003)(66946007)(6862004)(5660300002)(9686003)(316002)(6506007)(38100700002)(6636002)(54906003)(478600001)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OXh6T3RYUlhHa0xvWnR3eXh6SllJeU9kbm1VTUNmNUdjT3lIMXYycmlNMkVk?=
 =?utf-8?B?Tld4RFVob0hxWWpsWnRsbVkveFRaTDNOZEFXY2lVRUVEY1o1MmNGbHFBN3Nx?=
 =?utf-8?B?eVhDYkgxa3NGK3pWQ25qc3JOQnhqSWJaV2pHOWtGSzFFSjh0dDhFcmRBS0oz?=
 =?utf-8?B?ODBuYUVxaXpoRUZYZnJTZkpqNzR5UGZycmhrRTZYdUVBcVowR1Q1aXZzdHR4?=
 =?utf-8?B?cXdBTjhKZ0I0enMyMWtHMjlkNG9GT0lXRnBzazNoTldyb3hDTGVuMjg0Sml3?=
 =?utf-8?B?Q3ZKQ202WXF6NU5vcHZXMXcwUmdsTTJpZ3B2QnBWZHZpL0k5QUlBTXNWV3ZT?=
 =?utf-8?B?L0gyS05oaFpPZFNMUzB0VFZ1dDdMRHBsM1R1T01udHFyRkFXNTJQUWdGc1pv?=
 =?utf-8?B?cHR5bGNRaVVBWnI4cjZLQzNvUldEL1RUQ3MvK3FodG8xSnROcHlNYjZKSzJZ?=
 =?utf-8?B?VE1rQXgvQitkOU1zK2tTaHRxN2RqK0QxQmszcERhMWY0QTIxczdKQ0QwWXd2?=
 =?utf-8?B?WjNMUnFPaE1ZWkQ5WlVaeTJVb2Q5V1o5aFZ3aUJqRHhzQnZpVFVxVEw2OTBI?=
 =?utf-8?B?UFhNRVRJamFlLzMyK2VDQXdiTEx3cDhNb2VkVU8wYU0wWG80WUtRRnZuYUVk?=
 =?utf-8?B?azdPazNWOHpzRTJSVGVUeFlSVmJNV2tLbXFUWnQzZ0prRGIxeWMzc0RYN2Y0?=
 =?utf-8?B?UG1CS0UxUnU5bTFTYjJsOEZLK0xwWEJCRjBhVVFOV0Y1aXlBbEpyRkloaUdS?=
 =?utf-8?B?NUhMelBpeGlaVXJCU3JWb25iYjJHQWtSbUNWWFV4MGx5RVlNcy9oQ0wzWHdM?=
 =?utf-8?B?QmU1c2tsNklKLzRsUk1nODdOQlNQbk5vcWNFR0pKb2lIQ0lURXFtaE0rREEw?=
 =?utf-8?B?YTlGUDFrQ0FFSmw2S1FsOHY4R0hXS0JzNTFXTlhHS1hsQkI1OTExU290L21x?=
 =?utf-8?B?Y0lSeFdNb0IrUmo2aTNqbnRLRVNDdGZhY2lLSzFPdnQ4OHhDVVlGTGVVM3ZG?=
 =?utf-8?B?ejdlOFduT0Q4S3kyMng0d0NNVHk1WjJCSnJBb0FOcWNRQW56SGs0WEkzV2xW?=
 =?utf-8?B?OXNWTW1CT1BnTENOamJkMGZLOG0vUFBYNzdlTUcrY2NWSkoyc21VaDQyL2xk?=
 =?utf-8?B?ZGZ6VkNxZGx4RW9UV3RsNFdzS3BJMHRvZ2FYZm1LVTVBaGRkeUkyWkdiZWNh?=
 =?utf-8?B?VVpxZ0lJYWNYYzR6TVN1NmJKSGk3cC9hMUxEQXg1NTdYWWhYR0xXR2VSUGhZ?=
 =?utf-8?B?c2p3YWE4TjZUQ1VWMGtIcm1mVG55cjRaQ2xqSXBKNlVRR2ZqdEl3aHhIcWNs?=
 =?utf-8?B?Z3VyTHRHYXBRSVJkMktwc0hxb2Q1MDlOVDJoZnB6aUdpSnZUNGphTi96VlM4?=
 =?utf-8?B?M1JHZHFpcHJydkFVMDdrRStwMFAyWVFtT3NQMjUxTmtOTFZCN0xOOE1ObzYx?=
 =?utf-8?B?dlpiYzhPWnppc25RSU9xc0lyTzhIS2xzZ2VzbWt6RGVyOUlWMElKUkZaNnFL?=
 =?utf-8?B?Rk1QNjdDNWVkQ2FKYnRzM2w1WDdnRThFWE1OZSt6VlFWcmdsTnNvMmdzYjRR?=
 =?utf-8?B?YzRkbW5BWGVWc29sZ3l4c3hFaktCQWFUS01KQytCTTF0bWpENTVlZWcvOUpu?=
 =?utf-8?B?cVN0Z2VzZGptRkI0dHFxTlZweDNkbmUwYThnL0hXT2FOVnpiNFRPQ2J6SWZr?=
 =?utf-8?B?aHd5NGk3bHlrMFZ2SUo5bGVVdU1LRWEzdzdzTTFtaS8zQ2J2cm9aWGdFaEc5?=
 =?utf-8?B?TUMvNVYwc1RTT2dYYnlWR3grSVRSTDFYVllQYmRsNE50RHdJWDNyQ1NCcVEz?=
 =?utf-8?B?dmo5ZmJvTG1EWGw4blBSTDNvc1JTQ2NpUFNRb0plK0tHUzA0WHdEL0RSb1dm?=
 =?utf-8?B?WW5FT3UrNk9GUElNTytWTmpkcDdXYmQrbTIrNC9rREk5NnJ5UG5HWVVXcndY?=
 =?utf-8?B?Z25QN1JaK3lTeDNTZEN3WkU5c1pZc1luVEk4NnRnSDlrbnU2ZjI2OFRsZ2xu?=
 =?utf-8?B?SU9ZNjcxSXFsMHlHbVhqaWNkeTREUE1tZzZYcm15am9IRVJBWkdBcEVVTUp4?=
 =?utf-8?B?UEFiT1lDai9JL2hBQ2svWXNsNzVaQXBLWXdBQlNUM1hlWlJMdU5ZaGpkWHpw?=
 =?utf-8?B?NUlCNEMweTNmbU5rcGpQbm8wQnNVQ0dMVjQ0TkZBRVkzRGlkT0FNaElkdUpo?=
 =?utf-8?B?Q2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	WstshOfbA8f/+lDwYkWbgNKSlRYD4f7sTV8f9WqupYhy4qesGCYbSnvboJ5/uLAippgEpl1YPhhtesYwZddk0FEY2OYLtJ3ou8Zvgt04o2UgNfjG0Ho02Ni/GEfylM+0cL02QHrMPQiyZBvORIs9dCpzyUUXHYmNOZA3s5+JPkpPusDoQjetJTgDmpOU4zgxo5AUVehq94o8y187WBY+RA9n32ni7bZ4dgX1x3pZjMYsIfKwAQeE7tft1g1Ky0AV2vhiSbEhHl8KajDDlncqTqTURiJNDdMhoO7+jiIBZQrz/eci8SHeNBQIk4+sKPEJ1PWYkfPK1LRyVBVP3EJOCeayndXB4wsgFhIpR/hzXDBLqjaZw+wQUiMJLhC51ED1sRh7tAK+Tyl2vIBNnv7eDFJ9u8ctvvA3kF42ulhSmnpOH/21Tvz1dpxtprrEu2MDN1+ADW5Lwvrd+hDVanNvzfmfI+SDDrytsY/+MLCSb+m8BEuqHHzxyaXQmB+L15xleWn4qJz7szItMI2OF30y8X/QIK/xXMHYXLjrpJExQA7TDjsUYALb6QaftOn74SDnUGGl232kieH7Xp9BQ5vIg2rLuv/2H9O6YpBI3doA5px1Iu2r3UyS4v6dF2jHGi8MaeDGLZ3kzq7tSxUmHaD3iQObDvMqnycLhMnq5U1fNgSYUaTjzvs9d1ESDiWek1qGCn029Vq5hDVx98uhE1U0EVaIqahlrmDVz1UCxEwsHo2k05988DbRtwBeCJ6hCP9L44byfa+VX9mYyT6ZW5V3cybtvorTRSEP8aK/4yqNtwi0VvOUBXLc2tkQ5CbeVwlCh1rzlNHXuUiVSjfhSN0MHZUU3iz1JtUyTeqKObVdJjU=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c33358ca-6c14-4e5a-bb52-08db25f804c3
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 08:25:36.8547
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XAzoPR5/mzaVxtXv4+h3Qy1FuCNi0qiIbIH1RpHlnUfSY0/hQ3NBDP8giQVn4/ZqkHyG6K2jJsouBt5qe9wlGg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7091

On Wed, Mar 15, 2023 at 06:40:57PM +0000, Andrew Cooper wrote:
> On 14/03/2023 3:42 pm, Roger Pau Monné wrote:
> > On Tue, Mar 14, 2023 at 03:59:22PM +0100, Jan Beulich wrote:
> >> On 14.03.2023 15:45, Roger Pau Monne wrote:
> >>> Slightly change the meaning of the command line
> >>> gnttab_max_{maptrack_,}frames: do not use them as upper bounds for the
> >>> passed values at domain creation, instead just use them as defaults
> >>> in the absence of any provided value.
> >>>
> >>> It's not very useful for the options to be used both as defaults and
> >>> as capping values for domain creation inputs.  The defaults passed on
> >>> the command line are used by dom0 which has a very different grant
> >>> requirements than a regular domU.  dom0 usually needs a bigger
> >>> maptrack array, while domU usually require a bigger number of grant
> >>> frames.
> >>>
> >>> The relaxation in the logic for the maximum size of the grant and
> >>> maptrack table sizes doesn't change the fact that domain creation
> >>> hypercall can cause resource exhausting, so disaggregated setups
> >>> should take it into account.
> >>>
> >>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> >> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> >> albeit perhaps with yet one more wording change (which I'd be happy to
> >> make while committing, provided you agree):
> >>
> >>> --- a/docs/misc/xen-command-line.pandoc
> >>> +++ b/docs/misc/xen-command-line.pandoc
> >>> @@ -1232,11 +1232,11 @@ The usage of gnttab v2 is not security supported on ARM platforms.
> >>>  
> >>>  > Can be modified at runtime
> >>>  
> >>> -Specify the maximum number of frames which any domain may use as part
> >>> -of its grant table. This value is an upper boundary of the per-domain
> >>> -value settable via Xen tools.
> >>> +Specify the default upper bound on the number of frames which any domain may
> >>> +use as part of its grant table unless a different value is specified at domain
> >>> +creation.
> >>>  
> >>> -Dom0 is using this value for sizing its grant table.
> >>> +Note this value is the effective upper bound for dom0.
> >> DomU-s created during Xen boot are equally taking this as their effective
> >> value, aiui. So I'd be inclined to amend this: "... for dom0, and for
> >> any domU created in the course of Xen booting".
> > Not really for domUs, as there's a way to pass a different value for
> > both options in the dt, see create_domUs().
> 
> Correct.  On the ARM side, this is configurable in the for all dom0less
> VMs in the device tree.
> 
> I've committed the patch as is, seeing as it's fixing a real bug we
> currently have.
> 
> 
> But, I'd like to point out that there are still some issues which want
> fixing.
> 
> The /* Apply defaults if no value was specified */ section is pointless
> complication.  All callers pass a real number of frames, except for the
> dom0 construction paths which pass in -1.

I'm afraid that's not accurate, xl still passes -1 if no value has been
provided in the guest config file.  And the python bindings
(pyxc_domain_create()) do seem to also hardcode -1.

Which is not to say it can't be done, but we would need to move the
default from being a command line option to a toolstack option (an
additional patch).

> The logic gets smaller and easier to follow if each of the dom0's
> dom_cfg's default to the appropriate opt_* value.  Userspace which
> really asks for -1 gets a large domain that actually honours the
> uint32_t ABI presented.
> 
> With that, the writeable hypfs nodes become useless, and can be dropped,
> and the opt_* variables become __initdata.
> 
> 
> Next, we need to do something about the fact that the number of maptrack
> frames has no relationship to the number of entries.  I don't know what,
> but the status quo needs changing.
> 
> Next we need to confirm that running guests with no maptrack is safe and
> security supportable option.  XSM_SILO + 0 maptrack blocks most of the
> grant related XSAs we've had.

I've given this a quick try and it seemed to at least boot fine, but
haven't done any in depth audit.

> And in some copious free time, we still need to get to a point where we
> can construct a VM without a grant table at all (but this still looks
> like a lot of work).

Yes, that's likely more work.  I did an attempt in the past by
allowing to set grant table version = 0 (patch on the list somewhere).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 08:34:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 08:34:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510369.787882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcj49-0003P2-6G; Thu, 16 Mar 2023 08:34:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510369.787882; Thu, 16 Mar 2023 08: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 1pcj49-0003Ov-3V; Thu, 16 Mar 2023 08:34:29 +0000
Received: by outflank-mailman (input) for mailman id 510369;
 Thu, 16 Mar 2023 08: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcj48-0003Ol-7m
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 08:34:28 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20619.outbound.protection.outlook.com
 [2a01:111:f400:fe13::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c13ab16-c3d5-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 09:34:26 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8966.eurprd04.prod.outlook.com (2603:10a6:10:2e1::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 08:34:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 08: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: 5c13ab16-c3d5-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U4UdGw++7KBdLMAlMud12utVsUi9mQD4v/JNvNtHnDtK7eTh5YzQNRCe8NmBrS4WE49befyBKPJDMDllhIE2eLfPJ7QTnHo/Hnl4ejCG18wV+nWEsOnfQNoyLxt8dNGCYSvwBJ7/FRwoaIPRluU3tRw1AQhf169oceH6bhGNZyjJccIXF6brvPd4z0Mi8JXkz7gSDd2d0zRBsDIfpnMWEKGqUlnICNMRCMDfZgAM+/1pvdKzgHnrOwD1o5UUYEx/9V49wQ0z+9QyOQXSpHG4SU5SLlaUDxxqtcjsVBdySE0cYzmL0TJaYT69qQSUqTcTY07qpthVqatlcScIktWJ9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1c5FVRhNzAiNy4LVaNatua8+smXZRblsdmTxCuZOdiQ=;
 b=FJlYL8o3ixqc243nit8R7atTSNUJnRwu7m6YR7fudy4pzshl/i10m+hsVmmHDDGTd/mmgbThgX3AjB9HypdvM+UQWcmjc2/2ok+vgwy07PmJjMGR8Dkc8/8hTVbzrnDuacbZ75ea4T3+Xq2vrv4mdUZ1NzNZZpH7lexhmlFq9cBPDXoYf4v54DsAHL+Gep8zF7yF5UVOli0136/E74UQRS3faNqFe9BQX/f+modY7ys4tydyJvgGs+159GdHWDrA5z4vpK9tqgm7fE3KTfSJYrlHJBlZ/y8qGhmIC31HJfpQRAF9QuOwBUdsfxhx3iJfptj9IDXDFNdcD+YoWzF26Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1c5FVRhNzAiNy4LVaNatua8+smXZRblsdmTxCuZOdiQ=;
 b=a9kDft83HZX6pyxgWW50VbB67rcM0GeWMOwLTjtNwyBJYP4afmMMSnXHOkL9zErWCTzLx9nIBKADFMaOd76NPRD1p8DSIZrwvAcyFPpDqvU0jWGu7MpdlIpigaYI3hkrjeyvxy4A1ITFqtaTKUbgRSzo4BN08rX9wH00l1T72qT67yoDInPysq8d0FuWE0TEurn5Ht+iWOZRlwPDFptDuJIIwCIYlwDULJGTd7R3NDR6kifXQXOFhBQ8536Qb5XX581x0vSNVD3bompraq/lFYGnMHkpP1k+Qvnygs61tDNZr6E0arPKTR2g5SjVEXxrinsNWQs9fv77aSn9jtG1Rg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8c4fc31e-43ff-7d17-5d7d-33753e83c1ce@suse.com>
Date: Thu, 16 Mar 2023 09:34:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
 <966c19e3-d255-db73-9bb4-7abe0a745396@suse.com>
 <b81cddfce06628dc1e0cf373c323c74d1b256313.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b81cddfce06628dc1e0cf373c323c74d1b256313.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0092.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8966:EE_
X-MS-Office365-Filtering-Correlation-Id: 1051f314-0088-45ee-5e5f-08db25f93f44
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hbYWEN4lXT4ThrtMnUM42EBtOQI9D2cUe+Ql4vo7p6Aj4NvxZnJGLWrWMwacLSo6MtP8Usk65bUtUEOOaIAR5hyD3oQILU/KSeZ2C4OeLMoanIxTDj61+lQtbRvcSIxPNCvYhli6BV6V7BV4UWfcq/IpFmm+PQ5CW38ULDIHbq7P0Fj+TVb/k55LNXSW17htzLuAD2GpbIl7BCww6vOSvfVrhXP8wpP5gjlAf6A0B3fWgo0i+86xMJGDJnh1RyWdjRzP5OnLwjbjvP4FR6YAcli1q2cNt9azL/Gmi1r0VQLAmp3KTWAtrZqbQAFcZihur9quk8wZ4togaa64N6kXd5cpuK7O9gVwy0Pt84nZGM2q05wRnSIsrt+JgokdBDNQzxzUR2JhfKwPUq8Ksm4FAWVd9oo5sEPa92a4yUukbFpmGKiM1xri5rmkzxQF9tEGtzaakYiiy7tYajJPcZmgacI/oba+TROlR1uG4KXTgHkH6I40O/ScWwmX5SzAmKQ8KVCh/BIdZkP1F98n2OVV/o1qgg4Oe+dWOXala1DC7GRY4hE8b4vdtlGQGH+54okp6BlAOs0Ao8du1Orv0ikF/up+MQ4zfnFFoPIHgwgnx8hgelIpaM9jAp6ZzSmgJuFAXXg+CifAUy/m2svRwkAdp4FCTTaRbsJ2yN6oWOtxDKJqAhsl2qJa90jnSCQ4kQlckmU4jRr1I6H+KsrJFln6IqVMHJrtc7DC0SSQ6jP+Htk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(346002)(39860400002)(376002)(366004)(396003)(451199018)(31686004)(36756003)(5660300002)(41300700001)(8936002)(2906002)(31696002)(38100700002)(86362001)(478600001)(6486002)(66556008)(66476007)(6916009)(8676002)(66946007)(4326008)(6506007)(6666004)(2616005)(54906003)(316002)(186003)(6512007)(26005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aGkvdGN2aFlKMVNsaHFuU1Q4emk2V25Bb2lCaTBkNC9jSVdsODA3ZkhmMndo?=
 =?utf-8?B?djBLY0J4Z2FRNXVBajhYdkh4eHZOWnQwMFlNOGJKekg5cGdEUThpTEJ1SS9Y?=
 =?utf-8?B?dU1sNEVqNWxDV0dUQ3RHcGpZdDFCZm9zQmNpRmZ0QWt3Wm5hL20rSWNpY3VY?=
 =?utf-8?B?NVl0Z3hTalhBb1d1bkswNFpGQk5lYTdPcVI0ckpuaFYrVjk5dXYxUW9FSkRV?=
 =?utf-8?B?aGExTGFXQ3dJY1pFU0RmU3ZQQXdjeDA2M3Z5dHhzYUNyamlab0cyNEQwTmVR?=
 =?utf-8?B?MDJCRmorcEhhNjBKOEpxMjRLd2NNeVRqT3RFRldIMllOcW5UY0F5NURoQm4r?=
 =?utf-8?B?RjhWdW1iRkVVNVFaYjZRSUIwN2pST1h6S0VTWDBvNGY0R0tLU3ZydzVVMXpt?=
 =?utf-8?B?MFd6RUJFSXByems5YmpXbU1xUVNJb0M0R1lCemdRcmRRcDVyaUZqUW5aUkpR?=
 =?utf-8?B?VzNYQStia0RKcjh2NHJWdGtLd3FIb0Yzc2lmaDBXOXU1Sk9neXcrUDhOaEx3?=
 =?utf-8?B?NG1HQ1NzVDNMS3lwYVE1VlNWM3hWQVZtbHZsdjhSYjhTdXNGYkxHUGxSSVlk?=
 =?utf-8?B?aHBUNTF2SldnTEFaSlhLRjhqLzBWSlpjK0xqbzQ5VVZhOWVSVGJwNE9JNzdS?=
 =?utf-8?B?OXQycVFHaStqYVBROHlDQW1UcldrZnJ5eUFyazYvQlZkNUZPNXFUMTdPTnpn?=
 =?utf-8?B?OWNtQkdncU9LdzNaSU5kdTZybjQxRjFWY1R4aEIwZE9xa085MTBjcDhNOXJC?=
 =?utf-8?B?ZHowbUt0TlJYRUM0VjFCUHF2UnFEN3FwMVBDSm8zWWxkcE9mSVVwZ091VUxX?=
 =?utf-8?B?Z1ZlVDg3TFdDVXlKRjMvNmxMWFVWRm1oMHpLSWhFVDJ2U2VRVVJ6UlJnYU9t?=
 =?utf-8?B?ZGNQYjRKKzlOR2UzRVoyODd1M0pOVStqZEFTbkJ2UXFoZkI0L0ltUjBiTVQv?=
 =?utf-8?B?ZHJFMlZLdW81VEk0NmFSSGk0UHY2amlBSDR6cUZaS1RhMWNWM2tWc0xVcWM4?=
 =?utf-8?B?NFJtVGZFNWRhbnFxUThZeHl1UWlBWllQTlVFTUZpMjFUczVMenUrRE9wcjAw?=
 =?utf-8?B?VjNWYlNjUlRPc0hFWi9odTBzQUFFcXFGWE9NejdiVWUyUFJlUCsyeVEyWlly?=
 =?utf-8?B?SXpOTDg0WFh0K1d4NTBURERQMXRZSTBOeGdyTERaUlpoeTR0ZU5QM1BUZ29l?=
 =?utf-8?B?dUtYQnN0b1FBUFlKMW1nSHY5R2d2REZSR2dBSVR1NkxMa3h2T0hwRFlsT21n?=
 =?utf-8?B?NU5Hb1VNeHFDTUJydzRVcmFBYWxUdDdSTUcrNk1VSWRYTlpwSGdCb2VrbnRn?=
 =?utf-8?B?dXF6Wjg5YlkzNHl4SWg2OEQ1a1o4a3NkSllKNnVab3BFdTVnaHpUYjJLbFdi?=
 =?utf-8?B?dWJWelNnczlxN1BhTU9jWWU3Mk1RM1czSU9ZYVNuZUo1QVNYSnRWQmoxRHdz?=
 =?utf-8?B?ZkRSaTBjU3lCVFc4QURXck82ckdvcWlCc25WamNzZm9RdkllVUY3bjNnTkNu?=
 =?utf-8?B?L3lycE01QXBsaWkzOXNNSzVGeEh3NkVQR3A0dDJuY1kxSHY4TGtydDk1M2N6?=
 =?utf-8?B?Y1JSZWxBcWVaMDlPS1dTY0JCNGwwVE9KeFM0bmk1NlIrT2QvbHJPcE8xVmtN?=
 =?utf-8?B?TGVuR2pObWsxMEdNM3duaEtQZThZc0RmQUVPcFFEQ25BMHdKb1RhUnYvVEti?=
 =?utf-8?B?NTNBZndHVzNUMnR2VitUTU8rUHpVMU9pQlNkU3NIU3h1UVNCeFJSNm5XQTU0?=
 =?utf-8?B?Qjd6bDNEbkZTVEJackJWMUtDb3JlMTlmU1E1emtyU2hjZ2ZRUzdJcWI3cG1S?=
 =?utf-8?B?ZlMyS2FFU3VDYkNaZFRIcGErVWNvUDNSTUJ6V2VvZlk5WDNLQndLa3ZINnQ3?=
 =?utf-8?B?RFovTGg0SDJWSDRtM1ZKZmVsQWFZQTlVdkYwWGtwR0Q0MU5yR2kyUjd2cHRZ?=
 =?utf-8?B?T3I5dlRkR1Bmb3VvRS9YQUxQL3M5L2dqVzFzRFArUFVnVURvRUpBejdmbGxU?=
 =?utf-8?B?bHltdW9nZzRhWDZmSkFYQTNJRGRuTXZXc1cyeVArQzl6TEFvMnRMaWtQb29u?=
 =?utf-8?B?YW96VC9mWUFhU3RiK0Y4dGpQZzBqNFlRRlJIVy8wbTQwdEg4TUsrUUVSTzRB?=
 =?utf-8?Q?T0RVshKitQlR3JpdyYwfjeyzp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1051f314-0088-45ee-5e5f-08db25f93f44
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 08:34:24.3774
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: avlXHlBpCexdHbheWXyASWRWLbB4MFsqeuqlgzHT7EOPFnGg7GbzSZ0+tqSzOdz+gS+qiQ7ivnYZS0VGIlRrDQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8966

On 15.03.2023 19:23, Oleksii wrote:
> On Wed, 2023-03-15 at 08:59 +0100, Jan Beulich wrote:
>> On 14.03.2023 21:16, Oleksii wrote:
>>> I checked in Linux binary how 'la' instruction is transformed, and
>>> it
>>> looks like it is translated as I expect to auipc/addi pair:
>>> ffffffe000001066: 00027517 auipc a0,0x27
>>> ffffffe00000106a: f9a50513 addi a0,a0,-102 # ffffffe000028000
>>> <early_pg_dir>
>>>
>>> I checked compiler flags between Xen and Linux. The difference is
>>> in-
>>> fno-PIE (Linux also adds -mabi and -march to AFLAGS):
>>>
>>> 1. Linux build command of head.S: riscv64-linux-gnu-gcc -Wp,-
>>> MD,arch/riscv/kernel/.head.o.d -nostdinc -isystem /usr/lib/gcc-
>>> cross/riscv64-linux-gnu/9/include -I./arch/riscv/include -
>>> I./arch/riscv/include/generated -I./include -
>>> I./arch/riscv/include/uapi
>>> -I./arch/riscv/include/generated/uapi -I./include/uapi -
>>> I./include/generated/uapi -include ./include/linux/kconfig.h -
>>> D__KERNEL__ -D__ASSEMBLY__ -fno-PIE -mabi=lp64 -march=rv64imafdc -c
>>> -o
>>> arch/riscv/kernel/head.o arch/riscv/kernel/head.S
>>>
>>> 2. Xen build command of head.S:riscv64-linux-gnu-gcc -MMD -MP -MF
>>> arch/riscv/riscv64/.head.o.d -D__ASSEMBLY__ -Wa,--noexecstack -
>>> DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -
>>> Wdeclaration-
>>> after-statement -Wno-unused-but-set-variable -Wno-unused-local-
>>> typedefs
>>> -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -
>>> Werror
>>> -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include
>>> ./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=lp64 -
>>> I./include -I./arch/riscv/include -march=rv64gc -mstrict-align -
>>> mcmodel=medany - -c arch/riscv/riscv64/head.S -o
>>> arch/riscv/riscv64/head.o
>>
>> Looking into why you see different code generated than I: Nothing in
>> here directs gcc to pass -fpic to gas; in upstream gcc (consistent
>> from gcc7 through gcc12, which are the versions I've checked; the
>> actual range may be wider) there is
>>
>> #define ASM_SPEC "\
>> %(subtarget_asm_debugging_spec) \
>> %{" FPIE_OR_FPIC_SPEC ":-fpic} \
>> ...
>>
>> Can you check whether your gcc passes -fpic to gas even when there's
>> no -fPIC / -fPIE (or alike) on the gcc command line?
> I am not sure that I know how to check specifically if -fpic flag
> passes to gas.
> Could you please tell me?

Just to answer this question here (the other aspect fit better elsewhere):
You can pass -v to gcc to make it report what options it invokes other
tools (including gas) with.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 08:37:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 08:37:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510371.787892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcj6b-0003yx-KT; Thu, 16 Mar 2023 08:37:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510371.787892; Thu, 16 Mar 2023 08: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 1pcj6b-0003yq-Fs; Thu, 16 Mar 2023 08:37:01 +0000
Received: by outflank-mailman (input) for mailman id 510371;
 Thu, 16 Mar 2023 08:37: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcj6a-0003yk-IR
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 08:37:00 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0626.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7757a4d-c3d5-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 09:36:59 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9386.eurprd04.prod.outlook.com (2603:10a6:20b:4e9::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 08:36:57 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 08:36:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7757a4d-c3d5-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=njYJCMBi490ZV2osStfMA8tZtKv7io0IyWq0xhDp9zXyIN+fLxY7AvvdXZgTiEJKLaHj4dbKLqoPV/9Frtc8fjnNk6WKDzeDFLvOuP38yK/R2GYPgXXPjxlJaUjFl3/Ayr2pK1Q/NCcpHjHWLUZ4fKbgFWa3zyGNKP5EO5iLHbcxuoNqWu+WR2xOPbDApYIhMNYr/W7hH0YYRMAxRi7feaYgrK0hTcdXTA5LNsuc8mFOEi0+hfE15mJPISZl4GOeeisKLvNcdX8QnnWwLyMtc9oytkkqIgsgzyrqxCKOMetDkucit9pIqfDGgoO1htucs2jL0ZCShY1VKTktCIE5/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=MZyGCdkYYqfmPTo0V1A34d4tmy60vmrNocI3W9rwGIU=;
 b=Azjn9TgH27zRs5wS1GGSqIO5XVM0ypwR4cPn6Gh1K47f4eoFYQ4Je/B3cxieM8Wg07u7IRFqdI5LemVzvQwhVp2je7f5TE9klyWr2nXi9yvJ0IVv7Wc2GH7FJK0zOxG9GY62rbr29y/XsdcrbACMMBE7VcmNwx2KTweXlEWOAMtLqAPYJ8kHHKSMEPrTVUEXTFOGgg0FK7BWtMHI11KMVgjHxQDXVhtkx9Vs6JvxcXCJsBl4qPIq5qOjnCDTqj3rfgZ2LGuyLq0pZV+T5Zj1l6e/27CB3usi0VnMn6vj6fX8waAM14u/K+2iXf1oGmTLS9zvy8MPal7pBbwYVU7AlA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MZyGCdkYYqfmPTo0V1A34d4tmy60vmrNocI3W9rwGIU=;
 b=DnIRHFcuV54BCEq5p+z034/fVEcigUbyCgbG1swuUjDBcLQZEEIphajp7y1NhA+gc05nt1LuVjzqthCUj/pGQ3gkWYFI8zfGgTbtGDSNJ1caSQf3Bj2XT7LNmybr8dQynS3onoSwnGQVtEyrTaHlh4k9ElX8tprH7yCst8Ucm4Grz1T6yiic0bCtaylUMwitU5ubNEEkHWfOgt2fdPwFxKCcOkWvEUdnJpwpRh6X6wGnvVs5lnyexOJEAluvdFHg9KgBL/kRXv19WuiTmahszQiRlksPLoysk5E4HV77O6PzUwPTvKREBAUfWTOXeWEBuwUjz7n1+lOWiNvq+NP9/w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cd448a01-3701-2d9d-9476-f0e92794b6cf@suse.com>
Date: Thu, 16 Mar 2023 09:36:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
 <4a8d7292-38b3-1c32-4037-1c94b94b6f46@suse.com>
 <009b20a71738e8a33fe4044be10a456c4fd37b68.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <009b20a71738e8a33fe4044be10a456c4fd37b68.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0184.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS4PR04MB9386:EE_
X-MS-Office365-Filtering-Correlation-Id: bbbdb20a-d46c-4c31-c3b5-08db25f99a80
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QooRpWAYaB3kAjY2MBHGPMPHVKFFxPAtJp7ojmxGs2zmm+rmp2p4E9Q3xeaJDkF7UdqxdfUPQ2LbTkuAMdW1aLE9Mw1MMn35ht9KwpNouWG2OXKqe9aK8A+VVEwlsqmJ4kIfB8lyCflxXyJA4HSizSQJgI5rJ1Q4gCVQ5oo002vBG2AwOanlxeficivEzzUZl1BtQMHf1DLCGcGfq8Zweobn3Tfo8zLVGUuo6yqpdZ9q4FLCYRV6ofv18VR6Ll6CRUog62KzAiBqi5zj5cC15NLByY8wxJQOr2BoUDbMrO1i3MjN3fsXx3xyRi7vtzXJ0+j2lLdBQWXKR0t1p2qMeo4tqEoMmTV+Ban8vCKiQKRbhpRQiuXLR1KPzRpuS5wuI+7uBlcY61EJ+JhU+9VVyZ1rBLKX1m6Rr1wpvLDo8OKyA37umZO8DiAxi6b2nJcdevkNaf2wgR8ptz2B0oZLO4MxUlYSJAjo5bAb2Or7eJKlss3eT5rj6H7H+8zkF2P7p27o6E5MJtldECC89OmhkN+xN1HTkPgIWRGzeOoyo+xV4ie8Wv2GH407Ig0wZ0SYKc3a3CQ7AlOUAYXfC0Spwooalbcy+J+UZD44Fbhlw4bSJUiNtj9j3tKQJHuurMgoAaY0QPHYBNjGnmNZQ3zZkBounGeWQax1dBqLmzFFz/7Lz/wlRe3+m+0gT0IDOphDemsHQYQyM5Ezl+kLx0sRjtWlRbUXvv0V0c/rpG94KJ8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(346002)(39860400002)(366004)(136003)(396003)(451199018)(31696002)(86362001)(38100700002)(36756003)(2906002)(41300700001)(4326008)(5660300002)(8936002)(6916009)(2616005)(6512007)(53546011)(6506007)(26005)(186003)(83380400001)(54906003)(316002)(66946007)(66476007)(66556008)(8676002)(478600001)(6486002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UDRjNWVzdUFKV1JGOEZLRzZkbGhsRmVMYlBYbndkNUZ5ak5xbENaamo3SjUw?=
 =?utf-8?B?K1hVQ1BhbW44ek5peDhmREd1RFc1RFpZQmt2a1FmWnN6R1BhNXNkR09oSllG?=
 =?utf-8?B?RUNZZU9IbFZiZ2J0WFdDdGhmWHhhMlp6RFlFYllzUDR5TlpRcFRHaEk4T1or?=
 =?utf-8?B?L29NVFNLZHdUcHA4R0srMldOWHo1Qm9wR2VVZXhtZ0k5T3lURnlHREZBNGhk?=
 =?utf-8?B?L2xNZlZYODRaZk44UVR5WjErRWpheVJERHQxMEQzZGNRNHZzZFdHWW9yWmRr?=
 =?utf-8?B?end2NXdIYnBtR0loYlg3OWtQS1lFV2hYYVZJV2JaRkZDWDRSQitmSFhnNitl?=
 =?utf-8?B?QXNFQmtKUlVHYkFNc1ZScU1WUmVZTW5mcGVYUFNkbmxHTTRCODJ2d1ZmWVB5?=
 =?utf-8?B?MXhqbnlOSkRFeVJvdnh3MVNpdldPYnd2dGVCZWc3MG5jQ21QdXkrdExXK2JF?=
 =?utf-8?B?dE9DbnVsSWxES254RTJtOW9kN0loNjJJMmVQbzlpS3pUTlExYTJJNTI4Qkll?=
 =?utf-8?B?aGZvUFlYRjlqcDMwaTVJSXhYKzJuN1liUXc3Q3hBWDJITGM5Y1RLQnhXQ0ov?=
 =?utf-8?B?eHdTYStneXJ2c3hwbFFLby9hSHg0N21BNXVMWTlHT0ZINDFHL1V5aEM3N2Rk?=
 =?utf-8?B?VlRDRnNRdWFwK0gvWXZGNUYzRE5ranNmdmZMNVgwaHBOZGlGSVhBVU96d1hB?=
 =?utf-8?B?Y0ZsYmpGSHIyeDBsc0ErNHBQcTFoNTZSQ0V2ZWxDekVFaTg5OG83Wm1mVmQv?=
 =?utf-8?B?RGJDbEk5QzZoNzZScDlYQXo1ekd1a0FVdEJuSnlnRzY5ditRR3BxdmxkMjdU?=
 =?utf-8?B?QlE5QjlKbVArT3Q3MVhUeWRrRXYzYjlDOXA2VlJlRkRiWXJVQ3FEOGEyalRa?=
 =?utf-8?B?dWZLaTdVSCtBb2RXOGdiYUJCTEtZV0ZITjlHUWZXaFpsU3hJWWRIMGRGVWFa?=
 =?utf-8?B?RWVhbVcwNXk1VkxzMnlFeWg1SEZQWjhtMlUxK2tnS2twYjUzTmVsNjdZV0Fz?=
 =?utf-8?B?T3JKc2RyUndZOHRwczdwSDNaNlhhL1M2OW1oVVdTUHBIVTZOTkQvbXJxdVV1?=
 =?utf-8?B?dHVCYTQwdURFblpra1RGRUFadEpnN3JTdkxKQ1hkVndHZGlVYytySTR5S29E?=
 =?utf-8?B?dWRwNzhDbFplKzkwM0pvUlpML2F2cHIvTnM1a1BQQXBzT3R1MllKYXM4eTg0?=
 =?utf-8?B?b3pnbWRBZnZFUWlNaUNuTzBQOTR0K0RVY0N0TWVkZW9JeWprenNiRDdQWmQy?=
 =?utf-8?B?eHdOZkdMUlZiMm9ONjdyNFN0am5HV3VEZ08yUnlueU1EWFZYMzU1WCtYY1U3?=
 =?utf-8?B?eVJLRHpwQUhrNlBWT3E4UlVHQzZZeUYwUWJTVmdrR2l0cXFGKzlpSnpMdy9H?=
 =?utf-8?B?bVhybGI5ZVNlK1pnZjhJVUV6eEFlanVuVlJmUEdPVStZY2ZkeGdiMTdSQTBW?=
 =?utf-8?B?Y1pYOCtZUkxPdUQ1V241Ly9YSEpyTmF4NkVqcU1pdTg5aGhna1JnN2tzaU03?=
 =?utf-8?B?c3MrQXJJZ2NhY2ppMjNhMlY4djNKYTBjVnA5RGlTNk4yeFlTb0ZVTUd4WTl5?=
 =?utf-8?B?VEUvN0kvQUtrUVd3SnpFVFdlK2JDbVdJdUNQZ29XMXpvT1RRZ2ZEdkF2NEFY?=
 =?utf-8?B?L21sMXpyMmZwSzVTMSs0Yll2b1lyaFVWMUlEZ0taQ3pSWWZ5MGpLdVQ1aENj?=
 =?utf-8?B?YjJnLzlKT2tBOVN1cjVSTGk2VHUvVkFtdDBuWXRRS2NLelZKdnhuSmNudFQ5?=
 =?utf-8?B?UWN4ZG45YVdLYkkrWlJQZ21YZVh0eHI4WmVRZ2ZOZkFwZDN2ajJDQWdTZzhm?=
 =?utf-8?B?VCtVa1RDbWNwazJzY2ZLMjhzQk5LMFp6MSsrS25wUjF3RHJBT0JTN2h3YzZH?=
 =?utf-8?B?Um5DWTN5eDlsWE1QdWtHZmNWUzJDZXo3MFpSWlh3VkthT085TkljQjNxUjht?=
 =?utf-8?B?SWFCanU4VUJrcFlZMmk3em80Y3k4bG5HZnBZbHF2Y2REVzZwTnI3a0JkdWJL?=
 =?utf-8?B?SmN0K29pK2VpRnlUZkpsazJWUlI4bTV2L0I1R09ZNjZ6VVU1SHpzMXZaSXhp?=
 =?utf-8?B?emxiam5DUWxtOS9LbHBvNGlLeURrZWc0dmUzYXdXNHJFVzhIbE9nTStIYkZV?=
 =?utf-8?Q?b3okV4gJHg9uOPyk81J70785W?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bbbdb20a-d46c-4c31-c3b5-08db25f99a80
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 08:36:57.3677
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6mxss7e/SvtoXGzp5MP/5PYslJr3k3mFOJiV1ZzXFm9+4JVnCfYk7+yROZH4wGdzkLZ/6sf99GYVurx3OpxT/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9386

On 15.03.2023 19:33, Oleksii wrote:
> On Wed, 2023-03-15 at 08:35 +0100, Jan Beulich wrote:
>> On 14.03.2023 21:16, Oleksii wrote:
>>> On Tue, 2023-03-14 at 17:09 +0000, Andrew Cooper wrote:
>>>> On 14/03/2023 4:00 pm, Oleksii Kurochko wrote:
>>>>> The patch is needed to keep all addresses PC-relative.
>>>>>
>>>>> Pseudoinstruction 'la' can be transformed to 'auipc/addi' or
>>>>> 'auipc/l{w|d}'. It depends on the .option directive: nopic and
>>>>> pic.
>>>>>
>>>>> Right now, 'la' transforms to 'auipc/l{w|d}', which in case of
>>>>> cpu0_boot_stack[] will lead to the usage of
>>>>> _GLOBAL_OFFSET_TABLE_
>>>>> where all addresses will be without counting that it might
>>>>> happen
>>>>> that linker address != load address.
>>>>>
>>>>> To be sure that SP is loaded always PC-relative address
>>>>> 'la' should be changed to 'lla', which always transforms to
>>>>> 'auipc/addi'.
>>>>>
>>>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>>> ---
>>>>>  xen/arch/riscv/riscv64/head.S | 2 +-
>>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/xen/arch/riscv/riscv64/head.S
>>>>> b/xen/arch/riscv/riscv64/head.S
>>>>> index 8887f0cbd4..e12d2a7cf3 100644
>>>>> --- a/xen/arch/riscv/riscv64/head.S
>>>>> +++ b/xen/arch/riscv/riscv64/head.S
>>>>> @@ -27,7 +27,7 @@ ENTRY(start)
>>>>>          add     t3, t3, __SIZEOF_POINTER__
>>>>>          bltu    t3, t4, .L_clear_bss
>>>>>  
>>>>> -        la      sp, cpu0_boot_stack
>>>>> +        lla     sp, cpu0_boot_stack
>>>>
>>>> I don't think this is the appropriate way forward.  It's very
>>>> much
>>>> smells like duct tape hiding the real bug.
>>>>
>>> As an option, I thought to add in head.S '.option nopic' directive
>>> to
>>> make la translated to auipc/addi [1] pair.
>>> As an alternative option, adds to AFLAGS += -fno-PIC... but
>>> still...
>>>
>>> I checked in Linux binary how 'la' instruction is transformed, and
>>> it
>>> looks like it is translated as I expect to auipc/addi pair:
>>> ffffffe000001066: 00027517 auipc a0,0x27
>>> ffffffe00000106a: f9a50513 addi a0,a0,-102 # ffffffe000028000
>>> <early_pg_dir>
>>>
>>> I checked compiler flags between Xen and Linux. The difference is
>>> in-
>>> fno-PIE (Linux also adds -mabi and -march to AFLAGS):
>>>
>>> 1. Linux build command of head.S: riscv64-linux-gnu-gcc -Wp,-
>>> MD,arch/riscv/kernel/.head.o.d -nostdinc -isystem /usr/lib/gcc-
>>> cross/riscv64-linux-gnu/9/include -I./arch/riscv/include -
>>> I./arch/riscv/include/generated -I./include -
>>> I./arch/riscv/include/uapi
>>> -I./arch/riscv/include/generated/uapi -I./include/uapi -
>>> I./include/generated/uapi -include ./include/linux/kconfig.h -
>>> D__KERNEL__ -D__ASSEMBLY__ -fno-PIE -mabi=lp64 -march=rv64imafdc -c
>>> -o
>>> arch/riscv/kernel/head.o arch/riscv/kernel/head.S
>>>
>>> 2. Xen build command of head.S:riscv64-linux-gnu-gcc -MMD -MP -MF
>>> arch/riscv/riscv64/.head.o.d -D__ASSEMBLY__ -Wa,--noexecstack -
>>> DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -
>>> Wdeclaration-
>>> after-statement -Wno-unused-but-set-variable -Wno-unused-local-
>>> typedefs
>>> -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -
>>> Werror
>>> -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include
>>> ./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=lp64 -
>>> I./include -I./arch/riscv/include -march=rv64gc -mstrict-align -
>>> mcmodel=medany - -c arch/riscv/riscv64/head.S -o
>>> arch/riscv/riscv64/head.o
>>>
>>> So can we update AFLAGS in xen/arch/riscv/arch.mk with -fno-PIE or
>>> will
>>> it still be an incorrect fix?
>>
>> Leaving aside the question of why you and I see different code being
>> generated, isn't it simply a matter of RISC-V, unlike Arm and x86,
>> not presently consuming EMBEDDED_EXTRA_CFLAGS in its arch.mk?
> No, it doesn't.
> 
> Could we consider cosuming EMBEDDED_EXTRA_CFALGS as a solution?

Well, that what I did suggest. Unless there are RISC-V-specific reasons
not to. (I have to admit that I don't really see why we leave this to
every arch, instead of doing this somewhere in a common makefile. Same
for the passing of -Wnested-externs.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 08:40:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 08:40:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510373.787902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcj9I-0004nY-1y; Thu, 16 Mar 2023 08:39:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510373.787902; Thu, 16 Mar 2023 08: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 1pcj9H-0004nR-VW; Thu, 16 Mar 2023 08:39:47 +0000
Received: by outflank-mailman (input) for mailman id 510373;
 Thu, 16 Mar 2023 08: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcj9G-0004nJ-SR
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 08:39:46 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20609.outbound.protection.outlook.com
 [2a01:111:f400:7d00::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ab4aa94-c3d6-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 09:39:46 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8782.eurprd04.prod.outlook.com (2603:10a6:102:20d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Thu, 16 Mar
 2023 08:39:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 08: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: 1ab4aa94-c3d6-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IdKVhxrOiWg1hsH7hGBiKtvn3mSZBbMxL+7JripWShZfza4WI/YybtOi6SYOXELgt/ihshJOALabdPEJazCDgfpMNbqnZbOnCBuVHLzgbS5VY3u4kAXESy1/XNYQ9SiKc/1DO1+suciMvVZRnGb07FIT5WKmowvxfmklnEmEBj6e0rRQVu5Bzi6aRlzvnNbwszNDDakQmeGRTk4gxgHUDLiH6eTKDADUhxwgv+4vacW2d2B3OFfrThY8E3vHf60p5zKp3uOPfMzdLWsEg3jC0V+tpQCzEM6bvH7R0NcWMjdsctU3bndVMytFuwu5XUIJX6CKKDlM/vLG+lgoE95kBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=26VMdxx22eRBC6hpz2cCCbozfAW9XKw5RMXnOcLUZxw=;
 b=dlQcnNiyGBL7NmLmQHuHYhSWPLwtCgfIetZvZFQ2aH0t9NVMQQqVcolm6sPLeXkhI9BRFYzZIF05/fPSUb7umw5Cldj6Q/yBjbGwMKU2Zhyc0ZZQDb/ISiWDOKjY/Fh085SC987EqNKiwOm2fjWqmG6hPVuqlrZZfXT0kPNEzHExkHLEO1Ts7+dbB5sml6G9CizL7OIRFKfz09xreYBH+Z0FaNnHzct6IZ19M3cvm7+7MzFULu7xSD695jlwvmTM8xn2PV+5UklqnWR8KfIIYFxjQ2nycYN1py1B+Mib4bDTjhH4I/ceyqrVDmAMSir9HkRLTgoZ0FxbdE6DwVu7Mw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=26VMdxx22eRBC6hpz2cCCbozfAW9XKw5RMXnOcLUZxw=;
 b=RI5Lgo/B9QviH8NFYOdkl6QiPyqtlLVnhIo6SG1svnH42zzm1fP0kWVmF1eggU3nkJHCZ0p+/0IN/GurUdrIegNsB7QORJ1xoNthK1Z3dHP09bdJEYs20kWa7lmQ8nrlgjDhEO114O2JagJjS3pq+3JPgELU/izBWtnTUd2K3h7m/44sPRivofa8BrZRKJSodNvzDQHLCez56ufmn6Onw6EqwHcmyJ5UDdUGNyVEmEhTqbtUG/pMKvSOK2Xr9TqxzI4gZdWIeGL9hIyHYlrH/cchDYjQ7A3/BhNEfq7o0OKXSatDJ8N8QMk1sgw5YmzYl0bUHQozXFqs8SC4iuIaoA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5f3bbaab-d936-31c7-a3d4-07da1e45211d@suse.com>
Date: Thu, 16 Mar 2023 09:39:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
 <4a8d7292-38b3-1c32-4037-1c94b94b6f46@suse.com>
 <2a7fbb0495833ad686f260091024966f8b003dcb.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2a7fbb0495833ad686f260091024966f8b003dcb.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0154.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8782:EE_
X-MS-Office365-Filtering-Correlation-Id: 805aec8c-ae18-45ac-09f8-08db25f9fdbd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u4EHCAzfVi+cXSZa3AKROHxjHvAAew+DLBAwVDjQF7ynobtvVbKHbdSkn86lzM/0wTFLWbbKhzbPAAMrWACSv845RT1L68Ko/Y1Ixbjb9Qr313+z9RZjSl1wJJ2PiSCvTxmuGhKyHyFRej7FysXwxyuiF0NwWw5fdAqbwSwYTuuAdBZ59l06MihR0uF2VGAiAZE/+fi0XTiN7dXeXPbxbSlogcQVkuxMOxeFkwZGqtc+rIeyVD1U90fMiMvAn4OgNyTW20f4j3RfUWwsv80OOzh8TooCreBl8t+QV0p9RJ8cl9xGgdp6fOHgguljOEdKIzvH2v9HYA8sbHJPQs32RVNusJQW3QViqdcs7Mi091Ot57j9Mvp7teiRNwnebqmngdsIqg88zD+GRZERscVr5LDILiQDMdcbS1Gj1zZnz16AyPIAv+zTYiJKVmuDHAwipOufaL2iX5ZOeFg6tHPkM6hDQ9XciIBQZq/7uCsgMsOSPgxSPLY9KsoiVuRo8xqf2PjHiwX1ePdwn6UnNQu4szD4qqDfhL2434LiBCquDSfHX8fz4mIdryFWZ+It5SaIelREkk81orrKEVepHTXQJXTRezFbWhGGPp9fZaSA1szy+oKvmqAjX9gIrvjGTHg4la7trCvkz59lrqKxEhPLtAbWBovk14vb3shozObL7qX3c9DHZPV4J8gDMdkk4TKpe+8vBzjideDD5XxlWaHZZ0gy8Wn49XmdxZxB+GHDKek4PA+4ueKuVq2ib6FZIGvJfDODGIzIlou7Na4PuUphCg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(396003)(39860400002)(366004)(346002)(136003)(451199018)(31686004)(6486002)(2906002)(478600001)(8936002)(4326008)(6666004)(6506007)(26005)(54906003)(36756003)(53546011)(186003)(5660300002)(6512007)(316002)(86362001)(66556008)(41300700001)(31696002)(8676002)(83380400001)(6916009)(38100700002)(66946007)(66476007)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TmdNbHU1Y1BYOGR6T3pSa1FDaGhiZGtDUTZpc3Y5K2llOFRGL2hNZ0hDK3Rq?=
 =?utf-8?B?bUFVc1FUdmIyVURZVnZFd2Z4dGVjU1c1aDFNVFo0allVV0tUeFJqc0t2MHJh?=
 =?utf-8?B?aTExc0RMTC85SW0veGdHcllWeVRTMkpGMzlTTTByMjRyZEFXTWkrd0IzeDFl?=
 =?utf-8?B?dkJKRHRFbEVWTHc5NDQrTmgyUG5nR1RkTzY4dVZuR2VNODFqVWNrTEhMUFdj?=
 =?utf-8?B?QmxydDd1V0hGSm45a240TzVwRnFuL2hVaE5yeHBvZW1kV2doV2FzRGhQTzJP?=
 =?utf-8?B?YU9iY1NnZ2R1dWgwWXJXTXBxMDZhcjBjeXB0cUoxU3dVcFIxZTA4OVFBVlZJ?=
 =?utf-8?B?ay9KYVM2WmM2eXYxZHpRaUhUT21PWG5hYitLUlFMNUxZUGhOQ25wWFdOTmtQ?=
 =?utf-8?B?SENzMDNjS2I4RFArNGFsRHJrM1J4bnkwbjkzeXMwZExyWVoxL2tGUlNjb0hx?=
 =?utf-8?B?NXdKdTdiY3h3SjZpejU3dndxRXVSRHlsNHFscGJkdjRjWC85cWc3ZDZ2KzR4?=
 =?utf-8?B?Um5oV21XdGFPdjBNVjVTd1pZRWFTOVc2L0tWZTZLaC9FMjVaRGRGd1VOVFBw?=
 =?utf-8?B?RHFHQ3JjbGwxWXM1aExuMlJJangyQm5ocmxhYnhRVnhRMzd5M0plODZ0UTJF?=
 =?utf-8?B?RnQzQ2RiSkNSayszUk1JYlRGNjVad3ExMWcxOHFKbytXdzR2R0xVUHQ4V1R3?=
 =?utf-8?B?dGJLdnFWbGdLRU8zZXN0TDRHK2RDTUF2bTcvd2lsc2g5RWJRTEZ1aFBRc3Q1?=
 =?utf-8?B?TXA2KzZWdWQzTkVqNWl0NjQrVkp5TnErc1ZSTDc0bFRZL2hKWTZ0RTBsWnRm?=
 =?utf-8?B?cEFrMUZMSHByYmdGM2tIUC9MWUNjSG5EazJidWlReE5JMHJRMmx2d094TnJV?=
 =?utf-8?B?WHJ0WTBObkFzMTNXdjFFdXNVcjRvQ2c0TWFXbUlqOWlFNjR1cHNEU1I1c3JR?=
 =?utf-8?B?RmNCKzRNemtzOXdKZVpFVC8vK3cyZFpZRG5Pa1o5OXl2R1Z6a3ZCZzIxaUFM?=
 =?utf-8?B?TGxOYm5BTEhRZmhVbTN5RlJmQ3Jmc01tbnd0MFdhNXVBd3lOekZVY3MvY3I5?=
 =?utf-8?B?NWREM2Z0Mm83TFI1OGdHeXVPdFd2eTlPUXNJb29hM1pDcitPbTdjQ1NtQ0x2?=
 =?utf-8?B?Qm5xdm91OWw5RXh4NjVSU0dXWEJEQmtycmxLMzA2bTJ1aFU4Z1FNUFM2N2pK?=
 =?utf-8?B?N1RlejBhcjY5R1lqc2l5K0FxZTh4QXdGckF5VENwQ3dkWGh2MVc1WFloZ1lJ?=
 =?utf-8?B?TldIYlJBRmdrMnowcUNTSkJUZ1hGaHFJaTJLMGs1M1BOYWF6NmJLUVdycDBL?=
 =?utf-8?B?amJ5V1luN25aWTZXUVhtZ3VQMHZieDVYdWdrRnZHam1RbTQ3S1lWTFl5STc3?=
 =?utf-8?B?a05GVGI4VGtLR1BGTlJZSDR6SCtTbFhoKzhpdUdMVTlHUW5rWkFacW11R0Y3?=
 =?utf-8?B?NnQzQ1JId0dqZWFXRmtKeDBUbzNFVytmZHNjVldaYnFaTWE0bUFSWnVZMjRt?=
 =?utf-8?B?STZDZnl4djIveDVlL3ZvVnU5TlFmQk8wUlk1bzhzZnU2dUxPc2c1azlxV3hK?=
 =?utf-8?B?M2tTQkJzLy93aWdEdUQrc2F1dEZENXpMZ1RsVUVCbFU3TzgrazBvNUd5d0FR?=
 =?utf-8?B?by9DZ1B0WjF6VmtVaXRPUGFjQU1zMWMwRHlHeU9Ya09UWXFSbktGWC93TmxZ?=
 =?utf-8?B?aFZaeDAvbnVjUVRRdjlHQ1dNUHd5SWhkM0FmWStLeFV3bDlVSzlOZzNWNTBQ?=
 =?utf-8?B?YWp4ay9laVFtVE4vY1BPMTUxeXlHTDYzK1FrZXNKbDF3RmdGaVVVZEJJL016?=
 =?utf-8?B?R1hibVNrcUE0UDV2ZlZFeFh2QVRvZXkwSysxd2crSzNaajlQeUVDeEtxZFlX?=
 =?utf-8?B?ckhQVk9qMFllUFBBMkNmSXBRUFYyUGtvZnpaVWhWZHdMUTJjQWlkbzFoV0RH?=
 =?utf-8?B?MkJFWXpKY09iSWZaeHkzS1czY3ZXUG5CMzk0VmVsSldmQTM4ZmpZRGZjWjAr?=
 =?utf-8?B?aEgzZUpidkxiUCtTcWJ1MjhNSGxydWRtOVAwSHJ6T21iWFBVbFFwMVZpMk13?=
 =?utf-8?B?VSsxY2JmdGxVVmtnWGFQWDdubkhmcDhhSW9FcDBmQ1RMb1QyR1NPZmlzNW1r?=
 =?utf-8?Q?ZW0LvGfeEqDwgWTsczSMtXuQb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 805aec8c-ae18-45ac-09f8-08db25f9fdbd
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 08:39:43.9197
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MftNNPM+Tpt9zFFk9C8AwEppVj7dUU37WFCrKq8myXx8j69WBg2tl7b1aGNBykniI18KhwGZ2cl/Ai7KO52hsA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8782

On 15.03.2023 19:25, Oleksii wrote:
> On Wed, 2023-03-15 at 08:35 +0100, Jan Beulich wrote:
>> On 14.03.2023 21:16, Oleksii wrote:
>>> On Tue, 2023-03-14 at 17:09 +0000, Andrew Cooper wrote:
>>>> On 14/03/2023 4:00 pm, Oleksii Kurochko wrote:
>>>>> The patch is needed to keep all addresses PC-relative.
>>>>>
>>>>> Pseudoinstruction 'la' can be transformed to 'auipc/addi' or
>>>>> 'auipc/l{w|d}'. It depends on the .option directive: nopic and
>>>>> pic.
>>>>>
>>>>> Right now, 'la' transforms to 'auipc/l{w|d}', which in case of
>>>>> cpu0_boot_stack[] will lead to the usage of
>>>>> _GLOBAL_OFFSET_TABLE_
>>>>> where all addresses will be without counting that it might
>>>>> happen
>>>>> that linker address != load address.
>>>>>
>>>>> To be sure that SP is loaded always PC-relative address
>>>>> 'la' should be changed to 'lla', which always transforms to
>>>>> 'auipc/addi'.
>>>>>
>>>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>>> ---
>>>>>  xen/arch/riscv/riscv64/head.S | 2 +-
>>>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/xen/arch/riscv/riscv64/head.S
>>>>> b/xen/arch/riscv/riscv64/head.S
>>>>> index 8887f0cbd4..e12d2a7cf3 100644
>>>>> --- a/xen/arch/riscv/riscv64/head.S
>>>>> +++ b/xen/arch/riscv/riscv64/head.S
>>>>> @@ -27,7 +27,7 @@ ENTRY(start)
>>>>>          add     t3, t3, __SIZEOF_POINTER__
>>>>>          bltu    t3, t4, .L_clear_bss
>>>>>  
>>>>> -        la      sp, cpu0_boot_stack
>>>>> +        lla     sp, cpu0_boot_stack
>>>>
>>>> I don't think this is the appropriate way forward.  It's very
>>>> much
>>>> smells like duct tape hiding the real bug.
>>>>
>>> As an option, I thought to add in head.S '.option nopic' directive
>>> to
>>> make la translated to auipc/addi [1] pair.
>>> As an alternative option, adds to AFLAGS += -fno-PIC... but
>>> still...
>>>
>>> I checked in Linux binary how 'la' instruction is transformed, and
>>> it
>>> looks like it is translated as I expect to auipc/addi pair:
>>> ffffffe000001066: 00027517 auipc a0,0x27
>>> ffffffe00000106a: f9a50513 addi a0,a0,-102 # ffffffe000028000
>>> <early_pg_dir>
>>>
>>> I checked compiler flags between Xen and Linux. The difference is
>>> in-
>>> fno-PIE (Linux also adds -mabi and -march to AFLAGS):
>>>
>>> 1. Linux build command of head.S: riscv64-linux-gnu-gcc -Wp,-
>>> MD,arch/riscv/kernel/.head.o.d -nostdinc -isystem /usr/lib/gcc-
>>> cross/riscv64-linux-gnu/9/include -I./arch/riscv/include -
>>> I./arch/riscv/include/generated -I./include -
>>> I./arch/riscv/include/uapi
>>> -I./arch/riscv/include/generated/uapi -I./include/uapi -
>>> I./include/generated/uapi -include ./include/linux/kconfig.h -
>>> D__KERNEL__ -D__ASSEMBLY__ -fno-PIE -mabi=lp64 -march=rv64imafdc -c
>>> -o
>>> arch/riscv/kernel/head.o arch/riscv/kernel/head.S
>>>
>>> 2. Xen build command of head.S:riscv64-linux-gnu-gcc -MMD -MP -MF
>>> arch/riscv/riscv64/.head.o.d -D__ASSEMBLY__ -Wa,--noexecstack -
>>> DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -
>>> Wdeclaration-
>>> after-statement -Wno-unused-but-set-variable -Wno-unused-local-
>>> typedefs
>>> -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -
>>> Werror
>>> -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -include
>>> ./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=lp64 -
>>> I./include -I./arch/riscv/include -march=rv64gc -mstrict-align -
>>> mcmodel=medany - -c arch/riscv/riscv64/head.S -o
>>> arch/riscv/riscv64/head.o
>>>
>>> So can we update AFLAGS in xen/arch/riscv/arch.mk with -fno-PIE or
>>> will
>>> it still be an incorrect fix?
>>
>> Leaving aside the question of why you and I see different code being
>> generated, isn't it simply a matter of RISC-V, unlike Arm and x86,
>> not presently consuming EMBEDDED_EXTRA_CFLAGS in its arch.mk?
> Why don't we should see different code?

I consider it an indication of a problem if assembly code like this
differs depending on the tool chain used. It suggests (and as we can
see this is indeed the case here) that we're depending on some
defaults that we better wouldn't depend on.

> Do you use CONTAINER=riscv64 to build RISC-V Xen?
> If yes, probably, we see different code because you have more up-to-
> date CONTAINER. I am using CONTAINER_NO_PULL=1 for a long time so it
> might happen that we have different gcc version.

Just to clarify: I'm using a compiler I built myself, and I'm doing the
builds locally, without involving any containers.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 08:42:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 08:42:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510377.787911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjCA-0006Gj-LQ; Thu, 16 Mar 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 510377.787911; Thu, 16 Mar 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 1pcjCA-0006Gc-Ip; Thu, 16 Mar 2023 08:42:46 +0000
Received: by outflank-mailman (input) for mailman id 510377;
 Thu, 16 Mar 2023 08:40:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=zXAR=7I=nfschina.com=yuzhe@srs-se1.protection.inumbo.net>)
 id 1pcjAQ-0006EC-70
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 08:40:58 +0000
Received: from mail.nfschina.com (unknown [42.101.60.237])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 427dd150-c3d6-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 09:40:54 +0100 (CET)
Received: from localhost (unknown [127.0.0.1])
 by mail.nfschina.com (Postfix) with ESMTP id D56C51A00AAA;
 Thu, 16 Mar 2023 16:40:43 +0800 (CST)
Received: from mail.nfschina.com ([127.0.0.1])
 by localhost (localhost.localdomain [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id rtsi9PHcep3B; Thu, 16 Mar 2023 16:40:43 +0800 (CST)
Received: from localhost.localdomain (unknown [180.167.10.98])
 (Authenticated sender: yuzhe@nfschina.com)
 by mail.nfschina.com (Postfix) with ESMTPA id 6DF971A0079E;
 Thu, 16 Mar 2023 16:40: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: 427dd150-c3d6-11ed-b464-930f4c7d94ae
X-Virus-Scanned: amavisd-new at nfschina.com
From: Yu Zhe <yuzhe@nfschina.com>
To: jgross@suse.com,
	sstabellini@kernel.org,
	oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org,
	linux-kernel@vger.kernel.org,
	kernel-janitors@vger.kernel.org,
	liqiong@nfschina.com,
	Yu Zhe <yuzhe@nfschina.com>
Subject: [PATCH] xen: remove unnecessary (void*) conversions
Date: Thu, 16 Mar 2023 16:39:54 +0800
Message-Id: <20230316083954.4223-1-yuzhe@nfschina.com>
X-Mailer: git-send-email 2.11.0

Pointer variables of void * type do not require type cast.

Signed-off-by: Yu Zhe <yuzhe@nfschina.com>
---
 drivers/xen/xenfs/xensyms.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/xen/xenfs/xensyms.c b/drivers/xen/xenfs/xensyms.c
index c6c73a33c44d..b799bc759c15 100644
--- a/drivers/xen/xenfs/xensyms.c
+++ b/drivers/xen/xenfs/xensyms.c
@@ -64,7 +64,7 @@ static int xensyms_next_sym(struct xensyms *xs)
 
 static void *xensyms_start(struct seq_file *m, loff_t *pos)
 {
-	struct xensyms *xs = (struct xensyms *)m->private;
+	struct xensyms *xs = m->private;
 
 	xs->op.u.symdata.symnum = *pos;
 
@@ -76,7 +76,7 @@ static void *xensyms_start(struct seq_file *m, loff_t *pos)
 
 static void *xensyms_next(struct seq_file *m, void *p, loff_t *pos)
 {
-	struct xensyms *xs = (struct xensyms *)m->private;
+	struct xensyms *xs = m->private;
 
 	xs->op.u.symdata.symnum = ++(*pos);
 
@@ -88,7 +88,7 @@ static void *xensyms_next(struct seq_file *m, void *p, loff_t *pos)
 
 static int xensyms_show(struct seq_file *m, void *p)
 {
-	struct xensyms *xs = (struct xensyms *)m->private;
+	struct xensyms *xs = m->private;
 	struct xenpf_symdata *symdata = &xs->op.u.symdata;
 
 	seq_printf(m, "%016llx %c %s\n", symdata->address,
@@ -120,7 +120,7 @@ static int xensyms_open(struct inode *inode, struct file *file)
 		return ret;
 
 	m = file->private_data;
-	xs = (struct xensyms *)m->private;
+	xs = m->private;
 
 	xs->namelen = XEN_KSYM_NAME_LEN + 1;
 	xs->name = kzalloc(xs->namelen, GFP_KERNEL);
@@ -138,7 +138,7 @@ static int xensyms_open(struct inode *inode, struct file *file)
 static int xensyms_release(struct inode *inode, struct file *file)
 {
 	struct seq_file *m = file->private_data;
-	struct xensyms *xs = (struct xensyms *)m->private;
+	struct xensyms *xs = m->private;
 
 	kfree(xs->name);
 	return seq_release_private(inode, file);
-- 
2.11.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 08:45:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 08:45:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510381.787922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjEv-0006rU-45; Thu, 16 Mar 2023 08:45:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510381.787922; Thu, 16 Mar 2023 08: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 1pcjEv-0006rN-1I; Thu, 16 Mar 2023 08:45:37 +0000
Received: by outflank-mailman (input) for mailman id 510381;
 Thu, 16 Mar 2023 08: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcjEu-0006rF-1l
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 08:45:36 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20630.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea0f1d38-c3d6-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 09:45:33 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAWPR04MB9839.eurprd04.prod.outlook.com (2603:10a6:102:38b::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.30; Thu, 16 Mar
 2023 08:45:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 08:45: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: ea0f1d38-c3d6-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eVsPdhId7SRywlSJq5GQpwTZZsiFjB61YUrMuhRPU8yp1RC0Kt6GxwqJkunCMcd5P1tNp+4mdC3eolpz2pdute86H+xvYLCDYSa2TbBP0f8PNeEKNnlZG3ngcraKg6jF0SsTXxZQ0cBWdxfLYiJZHSlOVwZ4SYzZWcTlqh4qzI3D8hS1NddJ0fbDaOmOAwGHg9Q62DlMBBO0pLE/Ux30PqBLbbKsBCb7YaEF/nUHbinoZBAD/JAX4TWTWdozuLCLxl/BHgOrRvB0JmqqR3cAqcI+wfnnYUFUlc6aVf89CF2sDIWMWX07X7l0DRFq5sND7NvUvobXSac9wH2+Pyj3Nw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kincf96ugAShNfufISnEk5Num1QIJTnn1kALguXkOEY=;
 b=QhLncGioD8tRlcADpDoev+jdQ/DiTFTr5XjZIbNwrs8Hw5i7NrXhjxt03PWgeB6jrq7DqD1aoQJX7nhvy9xeOWT7PIJIqbb7J2kEmdvZUOVGfw4W8d9F/TG6SWJsrVixkN0XWG+O/vmTJnGB+zsui6Ovd68T8zPrfNi5Y43jtv6qXd0OEJ9+4oGKG1Y1oRK7salE80n3USaqXVIlVNI6BOnc+2JoD2142aVqBt4JZ3Nq34woFJmfH171fUA2W1H8capSzIdm533uUWO2kewFwfsIAGO2Y/dvhqw1WRPPBJv+jCqy0gShTChoz8R7MidmU8ul/qpVhMedycp9uJf6ow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kincf96ugAShNfufISnEk5Num1QIJTnn1kALguXkOEY=;
 b=aaKR/qcgGMm1zrkB8i11kpknbMw8w95hueBjmrNyDLj9eugKIgF6D+g32mboXzjYhGdaKC57AU5acyDVCE4Zkp26/gtSu3JdSOGwT3YqwxBmDC6WVXxnPVDHWexvIk6CczVpDn1lF/w1eTB6FEgFcnQc/W3Mww+ar0Mf9TYsIkItX8dDk/efTlGtYhvEUSNqzvFeYqP/Qnx8l964OSeaTYITVFuVvN9ju3GUCohM/6vdLxYJ93JcpQizgyZ0u0Jwjm2WmzzYSEt602HJfz13YY4YJ8sP04SU70Qtt7Duv04DEpuq/n7YNk8khxcjD6CS8hnHLXQBAEt8FGEapTqNQg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4cee4508-7250-9a27-a186-8cc2000dc3ce@suse.com>
Date: Thu, 16 Mar 2023 09:45:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
 <966c19e3-d255-db73-9bb4-7abe0a745396@suse.com>
 <ac357f76-653f-9dbd-dc54-6e31db28de9b@citrix.com>
 <00fc9016252e656be257671aa5c2c4e102df240a.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <00fc9016252e656be257671aa5c2c4e102df240a.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0083.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAWPR04MB9839:EE_
X-MS-Office365-Filtering-Correlation-Id: 0f060b3a-c4a9-44de-2d23-08db25facd13
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JP9DsTVfRS26S/X0Jh2+gFPy5Sep0gRPERq1hK1/9m+bT2WbTFK23fGSNJq4fXu7rUNP2H/Lm5Ntrg/Ti8sihiVaw9fl4bY3iYIKR3H9k0Di+uEuRnc/4DhoYKysfi48D2o1JIy4Z78X6w+v86pN4MEFqGScjdujW+ESsW3QRWbVvdlwSXBq+xskxPb4Zyl1cZlqbUG/pyFhhVcOH7fTuXHH+oElbsMB38naeASEWcXcv9eg9YC/G9J7eVyBcSpWyozc4UBNmQsMi+2XXFP4zf0CUGDQ6EaTayRzM2Zrr3dbCHCWN9FZwhaJvwV1RzTBBe9WhBLsnIwrqybBu+PMAyVLSj7HP2JaAQ9snQJt86x1NxsNEoA4iqEIulv0vnKVM/GFV9OojekS+EOOtUQnq0yNzB/KR5BjcHSpImn6NtQkIa2TCkyjClM4QULppFc9DCgqOzcpd9W8pLcr/BwS9ozXcVe07vi10jNom1Evu3UnD6DlnUdhFjWkJluPRINY9luBfW4BmyYgrh6JEG+wvmcosuvsdoODOFqN4mSQ1xEQyq1bbv+kQuiROB/F5KzyDn65d2kC0JM22+A2HiG8Li0WfcS7rqysNjm6yCAFZbD4KE+TCK6QQEas/CG9ePzARUkIMwd+7577O/h+Rzdfv8CZL6WTjfQP/gY2r34XVcfYXyrEyVfZU2ECBdnpBhXdUFexhyTa9oIVPi6Ojb0VEAmBqwKcqvfdvnQqikc4y9c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(396003)(366004)(39860400002)(346002)(376002)(451199018)(36756003)(6486002)(478600001)(2906002)(41300700001)(5660300002)(8936002)(66476007)(316002)(66556008)(54906003)(66946007)(6916009)(4326008)(8676002)(86362001)(38100700002)(2616005)(31696002)(26005)(6506007)(53546011)(186003)(6512007)(31686004)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y1VDbnVWRWFranNPTm5aN29JTFkrQjZjclNibWIzQ21IbHJkbktaa290QUpp?=
 =?utf-8?B?MHFsZHdXY2x0UmV3dy8vWktWekRTeGVvZ3NERzVnZ3dnT3lNY0pqRnEwek5I?=
 =?utf-8?B?RTdzM0ZsY1NXMVR6VHJaa1hUOHBVREgxZ2pxL3F1YmVjR0FkTzJRakhQT3Vp?=
 =?utf-8?B?RFZGRjNrVUl6LzhvRzdNQUhkZXRaMlhmak1PRXFyTWJtZWVLYVRhdGtzNTFK?=
 =?utf-8?B?cUNCUWVaSG1mV2hZa0g1QlNLS2x5VnE2TlBya2hNcHVaNkpGcEgwdUhZWUZQ?=
 =?utf-8?B?UlZxY0JCMTdreUlKOU81U0VJSjMyK1U2WEg5NmVnZHFZekdSNWtzMHdRWjN0?=
 =?utf-8?B?YVNSQWZoejVtRS9hd3EvZll4ZFNPR0dndmZvbFpUa3B1Q2NFVEFZYU9Gb2l2?=
 =?utf-8?B?dXlYbGpoMmFZMU5KTW9QTmlCTmFGUS9MWTlHbG5rK2FCQi81V3pORFRGRnJO?=
 =?utf-8?B?WVpTWXh1M1V3ZlcySi9abHR3SFJEc3pmMkIwTG5EWnlTVHhSS3V4aFFkZ0ov?=
 =?utf-8?B?YWt3RnVrd0x2akhrNGMyNEVJRk02TXF1RXc1Z01aUWV0Y3BKQmZOS2FiWjlR?=
 =?utf-8?B?QmMxWG9IVytaVnJUZGVGT1EwQWJYUHYyRDYreWoweHJWWENPSlJ6dThqTEZF?=
 =?utf-8?B?ZG5qWmc5NFJZU29SaXpLYUFCdnFSZzRzNUdnbGdDUks4SStvTEJDelkzT2pN?=
 =?utf-8?B?a0RmSWxMSHhzd0xidHpBOWMycVE3YUZtRlp0Q2xBbzdDbll1dTh5aGpRYm12?=
 =?utf-8?B?bzZ5UU02cGFtc1hqRlNBSUdHeTBHbEZlT3ZIREltanVzM3ZDdFM1QmJaa2Fj?=
 =?utf-8?B?cXNUc2JjZUVXeUZSakdsS0ZoZlRmait2VVZOalFEdU1QWkt3S0JMcFZibmk0?=
 =?utf-8?B?WkVDRzZXZFpmNzlpRmVuckV6WVRacUVBZ0pSMnptWFlmMU0rWElVUCtqS2dh?=
 =?utf-8?B?TEU1aUlDK21QRThSMWliRHloTFZVR2syQ3kyY29DbWo0VlZaQjlWNGJUK1Vy?=
 =?utf-8?B?U01BVkpnZXFKQkx5V3dIa2pDWUxldEllNm0vNVJ2bVlYN01aNDRYL3dFYTdj?=
 =?utf-8?B?TG5TT1JqY1lnaSt1bWlQdjN4Uk5JNjgyaWFvaXNFdUdhYWZTQWtyVmxsbEhQ?=
 =?utf-8?B?VmdzZzZYUGsxdUVCVXFxVUtpaDFSbGdMTVl1UmlTdVk2VERaR0EyZnJuVnlo?=
 =?utf-8?B?M1RiWHFtbDJ0UjdCcHZFbnpHVmRRTlo3T3VvOE9NZDBVN2NhYU5maW1iNkZk?=
 =?utf-8?B?SWtVbDZ4eEtxY2tDUnF2TmdNRUE1NERLOG1jYWNZbjVkZXBTMFNEVnZCQU96?=
 =?utf-8?B?RzlpdENJZFBUSG1qbE1UVmtNZlByZnBET1c4UGRpSGd0MzhaY3ZjN004Z3Zx?=
 =?utf-8?B?RmlCeXFxQTRaazhSM25lSHRlcXczcFR4cUVFVlBvM2JJUlVPVXU1QkYyalZF?=
 =?utf-8?B?WE5lQmo5aGFONGtkN2wvOGNrbUYzaXBNT0pQRGY1c2cvQTRjOWtUWUlMWjc3?=
 =?utf-8?B?OGVyWWFJNHZSZnJDc1dLOW43OGJZekpzYVRRd2ZMaXRhSXBEUklmR2k3Mk1G?=
 =?utf-8?B?VnN6Z3FGam9XM0xUZGZPZ20vc1dGanA1RHBsT2pXc1pFNzI5RmFNVE4zN01v?=
 =?utf-8?B?d3ROUUNXTzUwMUY1SzZ6ejVFcTN1ck1sQ0VPcGlOb1JqNXpGcmkzRmE5SldM?=
 =?utf-8?B?WTcvdXhzbzdEY2QyVnk3T1VOL0lCTkttVSs1c0xyVHl5L2tpeUdEMW5sZTQ3?=
 =?utf-8?B?TWNBUHRJek50V3dNNExFaXk5dVZiZHd5YlFPUDg0UlordHBKVG9HUTIzZ3NZ?=
 =?utf-8?B?SE1mUzh2b0dCazJIOFkrSXEwRmRUd3NOQlR3TkYrMFd3YkVJQVV4RVJpblAx?=
 =?utf-8?B?aFErdW1SbnZ3SHBKZkZWTXNYMElSNjA3WUZFQjhkQ3pIb1cra0M1ZEhFbnli?=
 =?utf-8?B?dVBsaTlGOG5hM2xhTEpoK2NCNzhVWjJDMEQzSkNPQjk5SDh1aE5BMGJEMXY5?=
 =?utf-8?B?QWZLSFFhc3hrSVkvTCtYZGkrc01LNHMwcU9yVjF1eDQ1SkVnazJORmdHUndk?=
 =?utf-8?B?ODRHOXgvSk93Wmd5VHFzek9adVRBdVFIT0RZaG9sdGpKR0tka3BEdXkveURW?=
 =?utf-8?Q?ky5GRGUgf+BdJ6PkZrO18nuJp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f060b3a-c4a9-44de-2d23-08db25facd13
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 08:45:31.8350
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zhLGzo0VQfN0wwQqETbql0GU+fu6mNi2kZAbDcqKpMY4P/SjThWjU4B/84BaSdQBxuaBzj463m1cTVYWG6m3Jw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9839

On 16.03.2023 08:42, Oleksii wrote:
> On Wed, 2023-03-15 at 21:12 +0000, Andrew Cooper wrote:
>> On 15/03/2023 7:59 am, Jan Beulich wrote:
>>> On 14.03.2023 21:16, Oleksii wrote:
>>>> I checked in Linux binary how 'la' instruction is transformed,
>>>> and it
>>>> looks like it is translated as I expect to auipc/addi pair:
>>>> ffffffe000001066: 00027517 auipc a0,0x27
>>>> ffffffe00000106a: f9a50513 addi a0,a0,-102 # ffffffe000028000
>>>> <early_pg_dir>
>>>>
>>>> I checked compiler flags between Xen and Linux. The difference is
>>>> in-
>>>> fno-PIE (Linux also adds -mabi and -march to AFLAGS):
>>>>
>>>> 1. Linux build command of head.S: riscv64-linux-gnu-gcc -Wp,-
>>>> MD,arch/riscv/kernel/.head.o.d -nostdinc -isystem /usr/lib/gcc-
>>>> cross/riscv64-linux-gnu/9/include -I./arch/riscv/include -
>>>> I./arch/riscv/include/generated -I./include -
>>>> I./arch/riscv/include/uapi
>>>> -I./arch/riscv/include/generated/uapi -I./include/uapi -
>>>> I./include/generated/uapi -include ./include/linux/kconfig.h -
>>>> D__KERNEL__ -D__ASSEMBLY__ -fno-PIE -mabi=lp64 -march=rv64imafdc
>>>> -c -o
>>>> arch/riscv/kernel/head.o arch/riscv/kernel/head.S
>>>>
>>>> 2. Xen build command of head.S:riscv64-linux-gnu-gcc -MMD -MP -MF
>>>> arch/riscv/riscv64/.head.o.d -D__ASSEMBLY__ -Wa,--noexecstack -
>>>> DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -
>>>> Wdeclaration-
>>>> after-statement -Wno-unused-but-set-variable -Wno-unused-local-
>>>> typedefs
>>>> -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-common -
>>>> Werror
>>>> -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -
>>>> include
>>>> ./include/xen/config.h -Wa,--strip-local-absolute -g -mabi=lp64 -
>>>> I./include -I./arch/riscv/include -march=rv64gc -mstrict-align -
>>>> mcmodel=medany - -c arch/riscv/riscv64/head.S -o
>>>> arch/riscv/riscv64/head.o
>>> Looking into why you see different code generated than I: Nothing
>>> in
>>> here directs gcc to pass -fpic to gas; in upstream gcc (consistent
>>> from gcc7 through gcc12, which are the versions I've checked; the
>>> actual range may be wider) there is
>>>
>>> #define ASM_SPEC "\
>>> %(subtarget_asm_debugging_spec) \
>>> %{" FPIE_OR_FPIC_SPEC ":-fpic} \
>>> ...
>>>
>>> Can you check whether your gcc passes -fpic to gas even when
>>> there's
>>> no -fPIC / -fPIE (or alike) on the gcc command line? Or whether
>>> your
>>> gas (unlike upstream's) defaults to PIC mode? (For .S files
>>> ASM_SPEC
>>> is all that counts. For .c files gcc is redundantly passing -fpic
>>> along with also emitting ".option pic" or, in the opposite case, it
>>> is omitting -fpic along with emitting ".option nopic".)
>>>
>>> You gcc may have been configured with --enable-default-pie, while I
>>> know mine hasn't been (simply because that's the default).
>>
>> From the thread, the difference is clearly around the pie option, but
>> I
>> have to admit that I'm confused.
>>
>> With GCC 10 from Debian repos and current staging (modulo the build
>> fix), we end up with:
>>
>> 0000000080200000 <_start>:
>>     80200000:   10401073                csrw    sie,zero
>>     80200004:   00002117                auipc   sp,0x2
>>     80200008:   00413103                ld      sp,4(sp) # 80202008
>> <_GLOBAL_OFFSET_TABLE_+0x8>
>>     8020000c:   6285                    lui     t0,0x1
>>     8020000e:   9116                    add     sp,sp,t0
>>     80200010:   7f10206f                j       80203000 <start_xen>
>>
>> In this case, the auipc/ld pair makes a PC-relative reference into
>> the
>> GOT, but the pointer spilled into the GOT is the link time address of
>> cpu0_boot_stack.
>>
>> For the executable as a whole, we've got:
>>
>> [ 6] .got              PROGBITS        0000000080202000 003000 000010
>> 08  WA  0   0  8
>> [ 7] .got.plt          PROGBITS        0000000080202010 003010 000010
>> 08  WA  0   0  8
>>
>> i.e. both nonzero in size, so presumably with expectations of
>> something
>> else to fix up the references.
>>
>> I suspect we want to extend the x86 section asserts into the other
>> architectures too, alongside figuring out how exactly to disable code
>> generation of this form.
>>
> But AFAIU it is expected that it will use GOT sections with the link
> time address of cpu0_boot_stack inside them because of pie option.
> 
> If we need to work with pie option that we can fix all address in
> .got{.plt} somewhere at the start of head.S

While .got is very sensible in "normal" binaries, I think its use should
be avoided in kernels and alike.

> but why we can't go with -
> fno-pie as it is done for other architectures:

Why do you ask this repeatedly when the suggestion was to actually
use EMBEDDED_EXTRA_CFLAGS?

> Config.mk:
> 	EMBEDDED_EXTRA_CFLAGS := -fno-pie -fno-stack-protector -fno-
> stack-protector-all
> EMBEDDED_EXTRA_CFLAGS += -fno-exceptions -fno-asynchronous-unwind-
> tables
> 
> arch.mk:
>     $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
> 
> 
> Could you please explain what is x86 section asserts?

If you look at the bottom of x86's xen.lds.S you'll find a number of
assertions, among them one towards .got being empty. Some of the
sections checked there may indeed not be applicable on arbitrary
architectures, but I think .got is sufficiently universal. So I agree
with Andrew that it may be worthwhile making some of this generic.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 08:49:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 08:49:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510383.787932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjIa-0007gg-KW; Thu, 16 Mar 2023 08:49:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510383.787932; Thu, 16 Mar 2023 08: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 1pcjIa-0007gG-HX; Thu, 16 Mar 2023 08:49:24 +0000
Received: by outflank-mailman (input) for mailman id 510383;
 Thu, 16 Mar 2023 08:49:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=3e+z=7I=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pcjIZ-0007fv-3K
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 08:49:23 +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 7152eac2-c3d7-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 09:49: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 2A31A21A22;
 Thu, 16 Mar 2023 08:49: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 E50AF13A2F;
 Thu, 16 Mar 2023 08:49:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wAuMNg/YEmRMLQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 16 Mar 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: 7152eac2-c3d7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678956560; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=LsnTAWqJOWRNOseuHzzO1gVL47/3J60Y+FhPk1kbiFI=;
	b=e40MrNFDHKhznFiHl82x2dI56LnH6n7moyN9mcdE12eJgMdojOMSl9k4xvGWV/COSojZUe
	Ps199FbwgMwBEpA/RO1x7IJcAZlwaWv2rMmXpXw6jvgVklxk/qCUHyhHWYEFNpImeD14MH
	1kfKOgNfRnTpa1Mppl7dgt33OO2v8SQ=
Message-ID: <5e638be3-6195-1ff5-d767-e0f224befd8d@suse.com>
Date: Thu, 16 Mar 2023 09:49:19 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen: remove unnecessary (void*) conversions
Content-Language: en-US
To: Yu Zhe <yuzhe@nfschina.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 kernel-janitors@vger.kernel.org, liqiong@nfschina.com
References: <20230316083954.4223-1-yuzhe@nfschina.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20230316083954.4223-1-yuzhe@nfschina.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------lW2n9lsE8l5RcBGzlXoysCpB"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------lW2n9lsE8l5RcBGzlXoysCpB
Content-Type: multipart/mixed; boundary="------------TuxkOGmzhcB7i5SD1HM9zLls";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Yu Zhe <yuzhe@nfschina.com>, sstabellini@kernel.org,
 oleksandr_tyshchenko@epam.com
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 kernel-janitors@vger.kernel.org, liqiong@nfschina.com
Message-ID: <5e638be3-6195-1ff5-d767-e0f224befd8d@suse.com>
Subject: Re: [PATCH] xen: remove unnecessary (void*) conversions
References: <20230316083954.4223-1-yuzhe@nfschina.com>
In-Reply-To: <20230316083954.4223-1-yuzhe@nfschina.com>

--------------TuxkOGmzhcB7i5SD1HM9zLls
Content-Type: multipart/mixed; boundary="------------2BhFTSZXNpNt6futtoPVSXhg"

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

T24gMTYuMDMuMjMgMDk6MzksIFl1IFpoZSB3cm90ZToNCj4gUG9pbnRlciB2YXJpYWJsZXMg
b2Ygdm9pZCAqIHR5cGUgZG8gbm90IHJlcXVpcmUgdHlwZSBjYXN0Lg0KPiANCj4gU2lnbmVk
LW9mZi1ieTogWXUgWmhlIDx5dXpoZUBuZnNjaGluYS5jb20+DQoNClJldmlld2VkLWJ5OiBK
dWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0KDQo=
--------------2BhFTSZXNpNt6futtoPVSXhg
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-----

--------------2BhFTSZXNpNt6futtoPVSXhg--

--------------TuxkOGmzhcB7i5SD1HM9zLls--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQS2A8FAwAAAAAACgkQsN6d1ii/Ey+e
fgf+Mzh7p8kg1gm1OzIls1Rc62M5MlAfz599Gr4egjVsub8gv3uWrFN4Pe4Jp/j5RmF660/+ElSx
mWpmX+alDmm6+cvuYOyv7IjXpJrnsqZ1iNRtoXcIKjeRw5JH81HWbtS3dUHA/31Agn6dhPd/Zu/f
VrVm9yU2C5ZdUFCwq1JIdh0+ii9M+yeimto5FEBNg2oleGzDsyfrY+ed5IldorXbLm/mIi+K9aXA
M+KsjkL99TGWUubjef7oO4mJyX8wXTU4WdUY2F2TDTKNwxwGOgwxEepm+HHyQcya8zqSlhMo3nSB
FP82SLnIL9e7IUteHi2uXh7ehNMV1wKrICxnqdGjPw==
=mhOI
-----END PGP SIGNATURE-----

--------------lW2n9lsE8l5RcBGzlXoysCpB--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 08:51:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 08:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510385.787941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjKa-0000eH-0D; Thu, 16 Mar 2023 08:51:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510385.787941; Thu, 16 Mar 2023 08: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 1pcjKZ-0000eA-Tf; Thu, 16 Mar 2023 08:51:27 +0000
Received: by outflank-mailman (input) for mailman id 510385;
 Thu, 16 Mar 2023 08: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcjKY-0000e1-Qv
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 08:51:26 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062a.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb9bf7f8-c3d7-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 09:51:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.31; Thu, 16 Mar
 2023 08:51:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 08:51: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: bb9bf7f8-c3d7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IgZnhibQxfJ9YrpJWORFG3buO96NsYMF988cDWZUl8bzsTGta8aAoFw0CLt71BmlbPguK0x3hfr81ucUC0/eraQMnaJ0aj20d/6l1UbqPUE8r1nyrbVZrZBAunO5/F8/SaxQz8FfmoIwDV6ZNEWKBHhbBviNECQ2g4kH0WK+maiuXPEGpIgolgAB6DJz3itF+ZlC+IVnQdXvYQnBylagoj9FieKz7xj0Pr+3NpWvAhWXnbNd0q4OzPYFrcCb9my9ZeXlK+/vQdZVfA0yuoYU4jN+vlIu6kSadRe5Oc/14XtLl4GFulbdcu+Z0B0eObxMVArKNRv96+/epjTnZIA4EA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4bMf0nSAryeiy40tM2oOV5O3DbwL13Jwkscwmpft8J8=;
 b=Dx2pYn0Pe1gAbS+xt/GFpQMDlQqOi33q7Kf5j2cVoLGsVUQRNcyHU+F1NhaZ6SkXcD16TD1PHLS0jEmRIHYy37BVpmYbKviT0Kd3F1RyhjKOQidFdZnkBq9pqEKtfHpgY01oyi8hHzlGCTPYx+qDa4dYvivOasH9T/YAs2CuB4U+joZdR+pGwZ5m5jYTx8SaN+atunx+2f4byc8wgq3D1d4HBjfQCBCWMeaCGUmMNAJhZ/yU0eDyiNHm+UfKGBRZ32ASIX8ZAJbInnGmGVXtw44MjnSyEiH05QMxz0hQRFykbhKmAUrQuBO8mQkLQ2BFY7FPE2h28Hg5PHi7StLPsw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4bMf0nSAryeiy40tM2oOV5O3DbwL13Jwkscwmpft8J8=;
 b=tHbPrO35tOKTCNLA3xZbtfajjtMIgt34i7lQcxE5BWCF0xYQOEfwKlrfwuy2yLj/UDhlAPR0CYIAYJvUCMD2QIdvz4WwEmoj/go4n9toqIjYYpPgZPJ4ujo4/2DkIdfQwaRe1bgHMJ82vwO8/YGDoPB8kjgjtzfnPNVbgeLDeV8PEIN4zwplYGXj2WOQCzkvhBec+mVXeHnkkmxROg5HAal5H5QzUIM6r1Nyb6RTM2n5K+o8TSLN2lXaeZIUmDYM+Bj3q2xx6IKiui6dXx7sHBtSwimVa0xWuRNywLLUPjIxTbapYKvG9L5CP62Gatu7AYx67HNaPzB37G2tp40i6g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9e493e2e-8cca-2b7e-e6b5-d4413c54a866@suse.com>
Date: Thu, 16 Mar 2023 09:51:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 4/6] x86/pvh: PVH dom0 also need
 PHYSDEVOP_setup_gsi call
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Huang Rui <ray.huang@amd.com>, Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-5-ray.huang@amd.com>
 <c51bcc5b-4f90-5651-de3d-df47bdf4a04a@suse.com>
 <521ccacd-a45a-f55a-72ed-de6b64bca050@citrix.com>
 <alpine.DEB.2.22.394.2303151723190.3462@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2303151723190.3462@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0108.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBAPR04MB7416:EE_
X-MS-Office365-Filtering-Correlation-Id: b35d3a52-73da-482a-8246-08db25fb9ec4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	msfJenPv39xa/j2z33WofvWyXVu/8TZ9jajTqdXuhED272aaEtpIXHSuKIE+prG5MeyoBDyCTnZz/z7AeFCM1SDA08DBEcrA3nVfGOPbqmwFPEoNmhTV4aK9O6aTiumcofcDyfmlYxtnJgjnySLjkJTHK9XQ+gOxnkBiveiYbG3J/KECpk9JCnWmY2J5Y3m7qO8F/ToJzdHiBgiKxs53zcyYnYQ8xD4kPdgh7RoLLrBvwDI0WwsDZFLPH6RyX21sKV9PTtyQ1GxunA617wggyZ+IbpLx7JYH74NGM2p3Ek+XAoeC6jpYeomJnxkg55uS9elpeBbtmQZ2LtU9St6xoeys3BF7IAdviT+Gdpfvz44NW7pUXOc8BLFuJ+cs3orjCIMDZqJJfDFwXax0SQB1P7qEKs9hSJ3Wm4LvDw/0HyYZnbIxLtBWFvwcnhbMUulsatfcn/3mKe+vzZ5spYZXTIQPetWRZi01YwMw7rOpCbiGMDaWop/m0ywPe8uhVJHBmh4ZJX5kH2Rur9aoHsNDwaLgFb9DzmjdmqUxm87HvUgziWnkZKDNqxaLGlW0mxkN2T9PqbB1tqW9DmQ+q4T4QRJpWoI8jwFMr4WlOsYmx8mBRZJXjqX/pzHkVV5pOq88I1EYFoRbXc1g7YQrnsYtYPOla22M8D74jHPe8k34khOBW+8LGJzyh1Exmltp38r36GUkdezy584y23K0GkOX58bxO7nm5RKIagOwoR/sslU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(346002)(136003)(376002)(39850400004)(451199018)(83380400001)(31686004)(2616005)(186003)(7416002)(5660300002)(66946007)(8676002)(66556008)(66476007)(41300700001)(2906002)(38100700002)(36756003)(53546011)(6506007)(6512007)(26005)(8936002)(6916009)(478600001)(31696002)(4326008)(54906003)(6486002)(86362001)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RG9LWjRlZXNKQUpQcStQaDZtVTR0M1BuN2RoWmFEUlJwSlRZaXIzL1lyMURq?=
 =?utf-8?B?QU1ReVo3QVg1VmJqdkxMUFhFTWxuL21TZXJmZ2xVblJoODYzV0xkSVZ5MFFY?=
 =?utf-8?B?RXdSMmFrRUV2dDFIWlViYkRjQzVnVENJNHBOZmdnRml6WlRmbmJ4RjJYYkFM?=
 =?utf-8?B?Mk1GQ25EWnpCZzkxUGpQWVlMaUFJTm02Rjl2dlFzQ3JKQmxuT3FjRFlKYmRQ?=
 =?utf-8?B?dXlGcStpN3lRcmFzaDhXaUxyVzZFVzZRc3pEeEtSMFNtM25aRFljZ08veS9z?=
 =?utf-8?B?SGdDZkVTNVRjdElkRCt2b2JVNTdzU3NzQXVDeXlNdkR5M1hacUlhUTVsOHRr?=
 =?utf-8?B?ZW9XZGJkWURhRVZ6MFhtTlRLR2RKVUpmWDg4SUpHc3plbUMwQlBoZWRPSERD?=
 =?utf-8?B?Mlc5R21zVFZVWmZ0RVJaK29temljZ2kwTThOUWQrZnp6WEpGblF3M3FtMFkv?=
 =?utf-8?B?RVFqbFVBS0dzRUxIcllTdy9hVmZIK3R1dVlObDE1bm96anNiSzJRMmtBMnYv?=
 =?utf-8?B?dGk3TU5XdzF1blcrUHR0QXNid1dSbWZRUHVwUmNmKytGTzBzcytHd2MwZFBZ?=
 =?utf-8?B?d2J3aGRWT1p1Z1poSlFKWDNiWnZwc1NReEpsMXljNE12UFNPOHBRWTZiK0Zv?=
 =?utf-8?B?amVzdUpmejg4QWNMbFU3QXNyd1F6RzltY1hoS2FXd25VSERvS2xyZGhrajhE?=
 =?utf-8?B?NFFVTitBUTljN2hYQ0o3aGY4WVRIQ3BsV3Fsb1hrVFY1NHROZHlUQXRmODJx?=
 =?utf-8?B?RjJwczJYVmZoU3h1cGZoSWZLTjZ6TXhKZXhWZFdjRkJUQ2hvMmRqZzZRYlB5?=
 =?utf-8?B?eW5ZZSt2bmMwUDBzRngyNEJwZTF0RXEydHpaT2R0eVNzSjZoQ1psckVsQmlM?=
 =?utf-8?B?NTVQdTlUTnJ4cDc5RXhYZUJCRHJPcWoyOU10ditDRUVkNDV5enIwTDgvTUZa?=
 =?utf-8?B?MjUxTEJYSStXcVVWUmN1K1lCNHFXMW90TnhBeko2MXU4MS95S0tFNnhYUEJI?=
 =?utf-8?B?K29EU0FKZVd5M281N1BaV0xJbWxTdWYzbjZsOEc2TTBMTHNSZGNQSmJCK0Zp?=
 =?utf-8?B?bUFKQ0MrQUE5bjA0QTBPWlZLSjRicERzWlQvdUREMndDTjJ5MlkyN0J0anRs?=
 =?utf-8?B?Yk9Nby9zZzBnT05KMkxjV1Jib0RlVnZHWTQxaU1yQmJ5cDd1L0dXRk9ONlc0?=
 =?utf-8?B?VUZ6ZlhEeHA2bDRzR3lJeVVyd3hBSThnRjBtd1ZvRkdMWEpZeWEzZWl4ZkN4?=
 =?utf-8?B?VzNrdnJpZGtRTENaTzUyemxSRXJHMXIwYmh2NlhmU0dMSXdwZnlrcVlGeGNL?=
 =?utf-8?B?OFVabnR1REVKTGJXd09rOVlpRDhGUzNmaW9lVlhuK2ZhRmlGQk5FeEZDeXpK?=
 =?utf-8?B?NmU2QjJhd1lIYzIvRHpSMHpvTHRSUzUvazRRZ1hvVlpWNjEzRExaQlRZR2Zi?=
 =?utf-8?B?dU51UGpEdGZIY2E5RjBWakM5QXVXais2clV3Qlo0L3J3OTFoWHNxanVZdHlh?=
 =?utf-8?B?d2JhemlMN3BuM0loN0lKSlk3UVJFaUNjRUJGTW0zY2NKMXp6YTFvclBIWWI2?=
 =?utf-8?B?UVFaRlBLQm1EREdja040VXpqZ1ZRVy9PSkVxd0Z2Yzh1aWdvdHlIemVta1lQ?=
 =?utf-8?B?bmx5Z3dvamRmNTJDUjk5ck0rNkg2Yk5jOWpkK3J6cjNsSEk4bGMvbndUVFJ0?=
 =?utf-8?B?cmJxMUsrMEd6SXc1UUpwVGFUSTQzWVcrMktoOUxaU1Q3TjVNQUNtTzVMMU1Y?=
 =?utf-8?B?WVhCT0k0UTVDYThGYW82OHdFVUR0WThkSDNCTFZOeFdlSFB0aTljT05hdkwy?=
 =?utf-8?B?eFlUVmJQVzY2RzB1NGlCZm14YmltTFB0SDI3YnByS3ZUMTcza1FkemlzU1Er?=
 =?utf-8?B?MVRyc2NDcDNqc05lQzRRbGRSTlRSVnBOQkxzVjlreEI0eG5wRmUyaFRUdkth?=
 =?utf-8?B?OTloU1JxWFhLcktydU15bmxhdWVmRUkyRTZ3MDFKbi8reTRDcXBhd29tNHFs?=
 =?utf-8?B?MG50aWtSQUc4YjRJWVA5aE9vazN6WjA5M3dkSy9PRTJyNVhvSjNGQ1Y3dXBW?=
 =?utf-8?B?cG5TSTJUbE0yUml4RERsQ0xiLzFWVEQzdlJSRGJtMzI5U3dWMjFkc2VtOUVS?=
 =?utf-8?Q?OjpThwlSybQw8BkUBp6Ymp6e4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b35d3a52-73da-482a-8246-08db25fb9ec4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 08:51:23.6098
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: b+hmYaXk02nx283eZGqcBddZ0/hrmmkxyyp0FnIbQP9uMyjL8uf5/HO/MI+zTvY7ZLMY1XTx7kDFSKX6DDGvmg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7416

On 16.03.2023 01:26, Stefano Stabellini wrote:
> On Wed, 15 Mar 2023, Andrew Cooper wrote:
>> On 14/03/2023 4:30 pm, Jan Beulich wrote:
>>> On 12.03.2023 08:54, Huang Rui wrote:
>>>> From: Chen Jiqian <Jiqian.Chen@amd.com>
>>> An empty description won't do here. First of all you need to address the Why?
>>> As already hinted at in the reply to the earlier patch, it looks like you're
>>> breaking the intended IRQ model for PVH.
>>
>> I think this is rather unfair.
>>
>> Until you can point to the document which describes how IRQs are
>> intended to work in PVH, I'd say this series is pretty damn good attempt
>> to make something that functions, in the absence of any guidance.
> 
> And to make things more confusing those calls are not needed for PVH
> itself, those calls are needed so that we can run QEMU to support
> regular HVM guests on PVH Dom0 (I'll let Ray confirm.)

Ah, but that wasn't said anywhere, was it? In which case ...

> So technically, this is not breaking the PVH IRQ model.

... I of course agree here. But then I guess we may want to reject
attempts for a domain to do any of this to itself.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 08:55:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 08:55:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510389.787951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjNs-0001JF-Ik; Thu, 16 Mar 2023 08:54:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510389.787951; Thu, 16 Mar 2023 08:54: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 1pcjNs-0001J8-FV; Thu, 16 Mar 2023 08:54:52 +0000
Received: by outflank-mailman (input) for mailman id 510389;
 Thu, 16 Mar 2023 08:54: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcjNq-0001J2-UK
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 08:54:51 +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 32d7a7fc-c3d8-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 09:54:47 +0100 (CET)
Received: from mail-dm6nam04lp2044.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 04:54:43 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB5861.namprd03.prod.outlook.com (2603:10b6:510:3a::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 08:54:37 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 08:54:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 32d7a7fc-c3d8-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678956887;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=0/P2v3d8BMk7UXVCr6QZrcZrJf0h0xZGuyiIBOCWAJ4=;
  b=GB9SL2Bln555B7JUKp306x6US3StMBJcVZ10XmYPGYJ57575PM+qJMiu
   F0u2WyIv3ToV0kW2A1X31GOl76vvjsBS4J8XxhJBnFeaNwg1qXYkL70iI
   YZejlg5OvQtA8ehVMd8n0UkxNpj+G6+MfEYOxrPZWNTbGEa6Mpyv7Wi3X
   M=;
X-IronPort-RemoteIP: 104.47.73.44
X-IronPort-MID: 100989999
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:1VVcE69BkLVgz2wiSPBRDrUD7n6TJUtcMsCJ2f8bNWPcYEJGY0x3z
 2EbXGiGa/mOZWT0et91b9nn/EpQ6pTXmNZnQVZppX88E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkV5AG2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklI8
 schOAISUSuBmr7n4Iy0Ycd9gt4KeZyD0IM34hmMzBn/JNN+HdXvZvuP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTeIilAtuFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE37eXzHOqCdNDfFG+3t5qgliomnVLMUUTZVe5gvuJqWqVYc0Kf
 iT4/QJr98De7neDVcLhVhe1pHqFuB80WNdKFeA+rgaXxcL8+Q+IQGgZRzhOQNUjuIk9QjlC/
 l2Dks7tBDdvmKaIUn/b/bCRxRuiNC5QIWIcaCssSQoe/8KlsIw1lgjITNtoDOiylNKdMTj0z
 iCDqiQznfMfgNMA16ih1VnCj3SnoZ2hZgU1/ATMQmOs6EV6Y4OjZoOA4F3Xq/1HKe6xdUWMo
 3Eeh46+7eQCAJuXnSqBaOwIEPei4PPtGDfBm0xmG54t8Cuk03GmdIFUpjp5IS9BMsECdjvkY
 RaVuR5Y4pB7NX6mK6RwZuqZCdkuzKGmB9TsUP/8Z99CJJN2cWev3iB3ZEeWmUvtnU4EmKQzf
 5ycdK6R4W0yDK1myH+6Qrkb2LpzmiQmnzuPGdb80git1qeYaDiNU7AZPVCSb+c/qqSZvAHS9
 NUZPMyPo/lCbNDDjuDs2dZ7BTg3wbITXPgad+Q/mja/Hzdb
IronPort-HdrOrdr: A9a23:3QozEKE9RNosB7hipLqE7MeALOsnbusQ8zAXPhZKOHhom62j9/
 xG885x6faZslwssRIb+OxoWpPufZqGz+8R3WB5B97LYOCBggaVxepZg7cKrQeNJ8VQnNQtsp
 uJ38JFeb7N5fkRt7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="100989999"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IfAwYqhtzVL0mCKu0d4xXjIcjYB8AF9iMYSm7jCEf1G0JV/V1A+62o4m/jKn6F3uPYYbvZj/29obAwGLolG7aNrqD9MeUrZSiBcr4kwNrSYJLt6xITmgX0dveaLjY2MiRKAZcnknpF+B40HMKqePj9nzZHBr0G86Lv2GElv1XNoQFXaGNcTtDE65D6ifDfQK93sPPixLrRWqGwxsUsoS2CYpxOSqeZCFaNPYG/ufX7YxMUrpeTAkXURP4Y5DlxSpjMq61xJMZhDXNGxD2qPyRKd6Q6R5gZH3lC0grY0rOQ4AmSK/CigS7Zhxw7b4vVLHzq6YQ3b/yLUL6120PjprQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QaYPxTxhzS68gjrMW2jNThGV0qPmZ6WiN4tI6D72svk=;
 b=cCcTMTsSrbCBcdFVmv4h00rWchWAdq2JIr0FWX2Xiu5JIl0krL4eQetZA0S5lxTQadFGkVA82oWlR/Z6ovlDXFoxQEqJ7BLa6Y1++zx1VbfpT6fNh/11lm/nm2ahYlqOZRlft4ZEeFYjSGCdOlGDi6f4Y1zaoFFA6+hwGA80v9NE8swj8UDfdjQGNUHQ9MFn6BX9c0VkJotbkVBl0gSQu4ZMmjcFQJWRBEURktz4mrJm/3PDUiOCmU7EfIdWbaYVCDgOV512zgT6741v+jVwsSYova3cewiEEvbwzY2ce0axYg+Ctk+Yk9RDlvDiBcEkVrahcApqyfBph26mlzAWXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QaYPxTxhzS68gjrMW2jNThGV0qPmZ6WiN4tI6D72svk=;
 b=p2M4A293QZKSfDh4Fr4udUI+fHBau6i0ys/sTCKjEmLCZsV7a6twZEHKeXhVEMD/0iMAQMsCYdyYnR3G6pm4NIYjcuOl6tTw4+bwC1HAdzjJ0qp+DjoiEIw0kq5WeM4aWCgC+CU/cToGch7NJodUBTyFv4bs1UoGHv5W/YgCJHI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 09:54:32 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Huang Rui <ray.huang@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Message-ID: <ZBLZSEc17HjCmOu/@Air-de-Roger>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-7-ray.huang@amd.com>
 <ZBHz7PpUbKM69Xxe@Air-de-Roger>
 <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop>
X-ClientProxiedBy: LO6P123CA0036.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:2fe::10) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB5861:EE_
X-MS-Office365-Filtering-Correlation-Id: 880eb98d-6f89-4e80-d0c3-08db25fc1268
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nH64tLGYad7ONOaC63xEmJNVFApJy5DTvdX/ZLyAWmAMDaTYBWB6zly+gX2M4Oi3RWAlxpBcd/D2/FSgCDnj+ryBEAyfgTiWz6McpwG+QcBaAHpEpUK3jakHutV86GfuisSwA470rAfksY/2fkJvTs8YN+BZmQ/IF5fGj1Ars5sIVCjDzr62P1xr2EFWgSEY7Xz5W5xI42NzQuVYSP5yUIzGsMa2dOPJ6si6y2tTctpbgIWKG/RNg7CokhmSgWDF5mCXUQd9sy2G4DCJmRXKFp3PVQcLh7aZa0jlkj933ZvdfNC3bKAwv99V9gt7irIshC0+5XZbTuDNVLjKXwISs99dElliDr1+XDyx8vcurZ11sbaoDx+Co7hjoIK3HOVlZTDBIx1aMD1BIarCzuyYsFMI8JizXIoMAhsAksrR/VI20cU8IsCQY+vmXGfFNlqdQTQFD6sqbEYhWLexDIKsSCR35cvnv67adSoaaLWxPCFoyuZx+1TfKkZJfKKFhIqwjhrnJXlsBYh1581Xq1l0DMZvBVYJ5+f8bjJ7NQNw9jepDokiQd3GykHFp4tC5xSQbrDla7IknhCD8LrshUNKXufCNYBlprMQqetGcyGzSIT9VKQjPhaCxd/ESo5qrLx2SyveECRZLJGq9vP4JmBZkw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(376002)(39860400002)(346002)(136003)(396003)(366004)(451199018)(33716001)(85182001)(9686003)(186003)(26005)(66946007)(66556008)(4326008)(66476007)(6916009)(8676002)(41300700001)(316002)(6486002)(478600001)(54906003)(6512007)(6506007)(6666004)(2906002)(38100700002)(86362001)(7416002)(5660300002)(8936002)(82960400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UFBpRm5vN1orbDE0eU5KZkhHMWhocVdSNXdMdTdTYmQ5RjdBT3VPQ2RZT25V?=
 =?utf-8?B?TzZPanpmTkNhL05aYTM5THhtRU9lbGFYbEFxZUQyNGRrYW1RcVVNU0FnaDdS?=
 =?utf-8?B?QzZuMVhYemQ4TkNnU2dQWEVwcGd1eStobWt5VFpQMDhhUDVZeC9rK1JmMTlN?=
 =?utf-8?B?dkNTTjhiV0dTWHRRQk5PYkk0Nmt6RHpVdCtkKyszQkxLeStqZVo4LzREcTNG?=
 =?utf-8?B?Q05VTytmTUdWZTR0RmhYclR3TlZyMGl3YmdsUGd4VVlaM0tjUUMxMVV6TGNv?=
 =?utf-8?B?NnRJd2FucHhwbENIN29qSndhdnNrUVRpRFl1UWhmQWxDS2ZnV09wdXU2TnN4?=
 =?utf-8?B?Skt2MjdjNDlVcU9CcmI3QTd1R3hiK2ZJd0xnV09wNDVwSTJmUWpyWWZHaWJU?=
 =?utf-8?B?dmNKN3ZXNS9tekd2UWVneVFrMUNqekZ1NDlaWG9lbGZ6cTJiaVQvMXZId1pR?=
 =?utf-8?B?YmtDTmxrMStHd2hHa3Iwc090MVZyQlNmejhERTF1eks4Z3lRd2t6aDBLd1RB?=
 =?utf-8?B?Z1RpNGwwRDJSU0c4SmhWZWRYUDVjQ3ljbzFlL0RGa0ozSENIV3VhbzdBVU9V?=
 =?utf-8?B?TWVVYlh0MW1pOTV1RFQ5QnU2Q1JjQU1RNEIrOWozbU8rVU0vc0NYRTFLc0xE?=
 =?utf-8?B?UTBwRDl3cVN3eXVCeWpsallNa2wzeUdjSlRSSjJvTnIxeUtJK2Zzcmk1ZXdJ?=
 =?utf-8?B?NEpsM29QenZMYWhvaWRLbVA4NDNDN0s0MXdGMER5UmRmTm1PckZXUGNzV1FL?=
 =?utf-8?B?L1N4SmJob3pja0ZRdVUzR3hlUmYyZUlqbmgwYWVxSWNRemhnQ2lQcU9FRzZJ?=
 =?utf-8?B?SkF0WGU1NVhnUC9hcEZUa3JDeG0xSHFCZVNhQ05odUFrREE1aml4TGRXVWVi?=
 =?utf-8?B?SHNiV2pzUGlmTVlIQ0VxdnRZNUVUUGZvVFFOTEZLSEN5cFJhYW1HZmdPeEVp?=
 =?utf-8?B?U1FoNitKa01PQnIzNE9VM1pKdXdQeUxDNkV4azJjV1JzVnRYRTJvWHBIckhn?=
 =?utf-8?B?MkdRaFMxd3owNkFxTG05dFhKMXlOb2pBK3ZiZmhka1VUT1pYTDdycXYzWVJS?=
 =?utf-8?B?WE91ZTJBM21mSUZNSmQ5dXhTZTNkazhqem1xU3pUb2xsYVJieG9XZlF1endM?=
 =?utf-8?B?aDZnM25NbWlkWVQ2NUJOREh4WmJ5OFZMeUVDT0RlVEFSQkRRZ013THJsWElW?=
 =?utf-8?B?cCtIUXA2Ty9OUWxCbUFGdHo3NkNDL2psTFcxeVlhR2hxcjdiZ09CWXRrWGFl?=
 =?utf-8?B?Z01XajBTcVBVbDNRUnZnbU5nRjYwNFk3Nm5NUWNjWWFMNkxrRkhXeHRsUUNV?=
 =?utf-8?B?V3VtaGlKeEMxWHNTbXpkNzJvQm5YSFM0OWh2VkptcFc3VjdsVnRTSjdNMStk?=
 =?utf-8?B?RHJYMUoyaTZUREw1VTdiczFtNlZDcVpveGtpWVdJbm9nWlVMbmRZWnhZTE04?=
 =?utf-8?B?Z055Z0VrTStJWGV4RXlVTCtkUzBQZWNqNWw4Vmtwb1AydDl3ZFdDWTFBZ3dD?=
 =?utf-8?B?RUd3cFBNRzM2bUxSQUM4M1pTbHY4dnhDWFc5Wk15L21IRGVhL1liN2RDTzRS?=
 =?utf-8?B?S2pCQ0E5aEVzaC9nUE05ZUpvRFhrS0VJaFRXNjhmYzU5UEFJTEp2WDFYSnFl?=
 =?utf-8?B?UVFTYWd4YmtHY21rcEx0Z1pkY0N0VnpSOGRaOEFWUEliZzZoQjVkSEc0dUdJ?=
 =?utf-8?B?NmM5QXBzMkI1c0lBcFFLWkcwaU1uck40S1Zlb1hEazIxRjB0dEFCUkZRV3U1?=
 =?utf-8?B?czM4Q3BuUloxQUdwenVucE5LS1VyM2F5VTRyL3EzUUhBMC84bmdKTHVUS005?=
 =?utf-8?B?aFd2ZjkrY1daVUpWNGZneitNTjdWWTZsZE9FSTZCRml2b055cG5TWDF3SU0x?=
 =?utf-8?B?aW1PYjFCMUIxaitQZERsbDJUYWhpVHp1dElQRThoQ2lxTW1KMkp6ZGFvc3ZE?=
 =?utf-8?B?QU95VU9WUTlrOEFWODRyQ3J2c0x3M2FPTm4xRHJNZ2g2ejB5Ymh3RVcxUy9u?=
 =?utf-8?B?SGduTktXUmJpQk9vUGROZ0hidmpON2pyRzBubXhqZGdlbE1wSlN4V2Y2cnFO?=
 =?utf-8?B?Wnp0NW5GR09ZSkd6elFqL0RPTk5DaWRZY3FycVNhNDBHN3puYUk2U2dhemho?=
 =?utf-8?B?MlpjbS9tU1VmUjNkSGtjMjhlODJEN3ozNGVCUUZsRks0WnRocWx6cjVrMjlB?=
 =?utf-8?B?UVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	2a7U8fkeye43ESf3Kk5ApGpiMJbY3NQb1858PXFQC5MYmNAJlKX+00MxG6ieg+8mN+6txmjBXj6HSTPtTpeUzfnhBxdLNsiK7C2cJPe5iLySx1efIr4ZeWI7mgHADvgXMgMQd9GW4ICBsaOv0l9e4DZD9SnsNYwnZkqxNxcKla5MTbwpqaj1+75KhGbFG3oH21rEH9a96pwXIcPsY2EEMvQ1FND6H+kqSaU7n0TF6Ub8S1G6l8dFIir1tUVFIzPOSwJgU0h2fHGARc8VbS29BRNQuZ+T5fqKo2ZqqGyhVSsdXESUAXhtrtRhAnJBgI12IxEkZp76GWHjpsPZwxENxKyuFwOEICvp3OjKkdpQbmPX/hKq8VpurqLQ66QREFXrzHO2irBop94P4mSy1h0MG+GtTWUzFQYHLEM536bBkw6hpHAAre7Bwx2Uz+bnwcLmAS5C0NcARtIMMzW3+69pCSbDqCzkwqbN0RvntzWx1ox/MykNx7uVJHyXAa1ShegfQppEaUIHrddYrdlyv0SU30amQqXQRNorxK4ha4YQwBndX+txxUpbUUFyb7IZfeWnjlr4wawSvtfahaanFuNN9zlZVZvLbRqWHZNv5kPatSkzuOIds6F5UDAsfChQYiK6szPAMJtlZeFlICO6XUdJNJMBgh0f+VDccScLCWOo5yJNxw5kHYczg39BN9VyRPQTkN1Z6UPXNlNh8ROmHJsnvbaV+u0oR7j5Xz09aOjpEeuCxiGE8RX1cqqt56GKdUYyUVtkZnqLqLJag/oPTqDE28EU6wA6B0UxeyxeyIi6b16HSHKOlVdbRDhmsfsx/2PZHxAI4EfepBR7VRuEQ+VJdJ9LI//9IkTGQA5oyy5tRpaTIjehFlXquCF+y12MjvWY
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 880eb98d-6f89-4e80-d0c3-08db25fc1268
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 08:54:37.6382
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eLQtkJBPtEX5n2hBkoR0uFLXEuCAt0BPYwUsHIiZ/AU9+ZvaoDHv6Lhq9uK/YwDotR+UKinb2EhtmRZhHgFTgg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5861

On Wed, Mar 15, 2023 at 05:44:12PM -0700, Stefano Stabellini wrote:
> On Wed, 15 Mar 2023, Roger Pau Monné wrote:
> > On Sun, Mar 12, 2023 at 03:54:55PM +0800, Huang Rui wrote:
> > > From: Chen Jiqian <Jiqian.Chen@amd.com>
> > > 
> > > Use new xc_physdev_gsi_from_irq to get the GSI number
> > > 
> > > Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> > > Signed-off-by: Huang Rui <ray.huang@amd.com>
> > > ---
> > >  tools/libs/light/libxl_pci.c | 1 +
> > >  1 file changed, 1 insertion(+)
> > > 
> > > diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> > > index f4c4f17545..47cf2799bf 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);
> > 
> > This is just a shot in the dark, because I don't really have enough
> > context to understand what's going on here, but see below.
> > 
> > I've taken a look at this on my box, and it seems like on
> > dom0 the value returned by /sys/bus/pci/devices/SBDF/irq is not
> > very consistent.
> > 
> > If devices are in use by a driver the irq sysfs node reports either
> > the GSI irq or the MSI IRQ (in case a single MSI interrupt is
> > setup).
> > 
> > It seems like pciback in Linux does something to report the correct
> > value:
> > 
> > root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
> > 74
> > root@lcy2-dt107:~# xl pci-assignable-add 00:14.0
> > root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
> > 16
> > 
> > As you can see, making the device assignable changed the value
> > reported by the irq node to be the GSI instead of the MSI IRQ, I would
> > think you are missing something similar in the PVH setup (some pciback
> > magic)?
> > 
> > Albeit I have no idea why you would need to translate from IRQ to GSI
> > in the way you do in this and related patches, because I'm missing the
> > context.
> 
> As I mention in another email, also keep in mind that we need QEMU to
> work and QEMU calls:
> 1) xc_physdev_map_pirq (this is also called from libxl)
> 2) xc_domain_bind_pt_pci_irq

Those would be fine, and don't need any translation since it's QEMU
the one that creates and maps the MSI(-X) interrupts, so it knows the
PIRQ without requiring any translation because it has been allocated
by QEMU itself.

GSI is kind of special because it's a fixed (legacy) interrupt mapped
to an IO-APIC pin and assigned to the device by the firmware.  The
setup in that case gets done by the toolstack (libxl) because the
mapping is immutable for the lifetime of the domain.

> In this case IRQ != GSI (IRQ == 112, GSI == 28). Sysfs returns the IRQ
> in Linux (112), but actually xc_physdev_map_pirq expects the GSI, not
> the IRQ.

I think the real question here is why on this scenario IRQ != GSI for
GSI interrupts.  On one of my systems when booted as PVH dom0 with
pci=nomsi I get from /proc/interrupt:

  8:          0          0          0          0          0          0          0   IO-APIC   8-edge      rtc0
  9:          1          0          0          0          0          0          0   IO-APIC   9-fasteoi   acpi
 16:          0          0       8373          0          0          0          0   IO-APIC  16-fasteoi   i801_smbus, xhci-hcd:usb1, ahci[0000:00:17.0]
 17:          0          0          0        542          0          0          0   IO-APIC  17-fasteoi   eth0
 24:       4112          0          0          0          0          0          0  xen-percpu    -virq      timer0
 25:        352          0          0          0          0          0          0  xen-percpu    -ipi       resched0
 26:       6635          0          0          0          0          0          0  xen-percpu    -ipi       callfunc0

So GSI == IRQ, and non GSI interrupts start past the last GSI, which
is 23 on this system because it has a single IO-APIC with 24 pins.

We need to figure out what causes GSIs to be mapped to IRQs != GSI on
your system, and then we can decide how to fix this.  I would expect
it could be fixed so that IRQ == GSI (like it's on PV dom0), and none
of this translation to be necessary.

Can you paste the output of /proc/interrupts on that system that has a
GSI not identity mapped to an IRQ?

> If you look at the implementation of xc_physdev_map_pirq,
> you'll the type is "MAP_PIRQ_TYPE_GSI" and also see the check in Xen
> xen/arch/x86/irq.c:allocate_and_map_gsi_pirq:
> 
>     if ( index < 0 || index >= nr_irqs_gsi )
>     {
>         dprintk(XENLOG_G_ERR, "dom%d: map invalid irq %d\n", d->domain_id,
>                 index);
>         return -EINVAL;
>     }
> 
> nr_irqs_gsi < 112, and the check will fail.
> 
> So we need to pass the GSI to xc_physdev_map_pirq. To do that, we need
> to discover the GSI number corresponding to the IRQ number.

Right, see above, I think the real problem is that IRQ != GSI on your
Linux dom0 for some reason.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 08:55:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 08:55:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510390.787962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjOB-0001ey-SP; Thu, 16 Mar 2023 08:55:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510390.787962; Thu, 16 Mar 2023 08:55: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 1pcjOB-0001em-PI; Thu, 16 Mar 2023 08:55:11 +0000
Received: by outflank-mailman (input) for mailman id 510390;
 Thu, 16 Mar 2023 08:55: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcjOA-0001J2-DX
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 08:55:10 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0616.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 406b8827-c3d8-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 09:55:08 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB9710.eurprd04.prod.outlook.com (2603:10a6:102:26c::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 08:55:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 08: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: 406b8827-c3d8-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JVNqRag2m9IvOk4nBQX16nNS0LjKtp7vuFZReQyMxEllsuMELYICdZ25/hxOB/s9VZyolBCNdYn7xgHIepirCH3ANMQ3IeZXFn8vmFfgc1AfQXXbewhE0dSG/1YIeKdGDwh0XERJ643D65HzmLXGPU5MxV3YcnKoic+FuJC7K6hbC70Rw88CjFrHMnABk1EXTwfVwjcjqwuUgIlrsT+BHvltbBBaYZg2HO14BazVlHmw2tcT3ddUXR7pi0P/+kJ1kkQ4IApn6QbW1LYxhDgv+f36vDjQe8+QqFVSidIIiSjyH+KLs2c7E0zajc2ml4IKEE2zPql4nzDGaj9VWiGUNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EnP6f4qBLSoWCMI3Gggld4XuqTz6qErZ7w6G3c++lj0=;
 b=bnKGVSHmT0d2vvGLevQ2LRc0Jhea0ppDvJqt6J5TEhE8bDjfuNDzAhgxuxtXwvMUhqn2/RRMABk9BRM0gA63iIRv3Qd7a20k8JQ5BuYx0/KzVclrWfwsD02fbX/+YGd/UmE215QbYSWReAU+dEM/NLwWqVr04Ii4SLR2jH29QBMfRvTqEtLgiSo4zJI2PLBb7w3gJQ9lVuapVMw8Ec+SyTMD9tSbja6V2UbbQXhgcadGZC/7IwpgAOrC1FzT69D5hz7hNJjHywqONB5g2gfucbJHrb4Jkqh2mRFkdYabbQCTpoTtBbBv+n71zTEBch3i4/7nMeTuYeIKYQnpa2Xyiw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EnP6f4qBLSoWCMI3Gggld4XuqTz6qErZ7w6G3c++lj0=;
 b=4kYEa5v8COAUZ/B27fLAXUlHYeRSMOE2dSCVw6qxAVS2NL5tcBLTMOBHZ0P1NjtYC47K4MZWZeSrBGEEQtZiS57FsnY4RL0fd1x2yfANFEzjHj9cK3ezz+EKrcwV0tLT3riJStwcsV0AR2/KYuKSheZcBGvVSJRNAqeLajkZfF7qfW4U/1xxCqu54bqTp9Avt7Hdg0/HzYbLwdQHvG6sbr03fYR6A/JCxecNOYjJmsnv04cXGSbC0ix2t6/1tDD4xlTwu+Vr2x/7PMBe2Lo2kjNg3s8zZ3hRKYftuY/jK6pD8SOS+hZxE+HmH8hr42MtiSIBCl0PPxzLTI9OXUKrig==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com>
Date: Thu, 16 Mar 2023 09:55:03 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Huang Rui <ray.huang@amd.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-7-ray.huang@amd.com> <ZBHz7PpUbKM69Xxe@Air-de-Roger>
 <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0132.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB9710:EE_
X-MS-Office365-Filtering-Correlation-Id: 6df0511d-74e0-498f-a3c5-08db25fc2338
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yxWsC6ccVY3Oqq1L6dju4AGQMKqCkSilyugJWnAqIBc7g8Xd5X+rocS44js5hX50JYvpGEnOe9PbMxTOTL4ksMdTcTWRN47d9rarTPCRZNBez9MfcYhKYOWUy6jV/Tbqwq1+xsUBVoiuKzryzT4DqvXGL1oiV+OHt0CLhRFgVAxmTRvbDJZ22tcFarQPVUSx2PSu84mdfBiiu7AOdWNaPBXn05fHgy1vdZqqFqwkAAFIN5o2DNHcxNxbe8K1zv3CPXDC15bFd4Dq79jpFD+itD0BLFA9y2EKyUszye76lEhxpbaTbf30zLa/knYPhubKeqW+Eich7+SWxFHPcpJe20d6vWJYdL/n+VZUu0Kvv7jICy9FrXaj7gwulFJe9/5z7mc+4IjxfiPzb2GONKo89owkCrn6bUpDKf4+jUwclJmrhV6bvK+RXn9n8o19GD5/TAKXoaCBOVNuSDEBoEeqlphdnfejFwciGN0TjozueWpkIhBTsFVc2qG9UDl1eNuBZRehboSvTBf85+rRn9zCklsxhBe/xQYLbjbrVyg081YfQWzIUi0dlMDp7D5lWuM/CFkGtkgUGz9OqFGO3lmHJo4RSx/M839zXlh0Z+nyILvGZNALf2jIg8itps0vrwTWCrziLD6wKUvrIY2zPreC8WCOx5q5UxmpDeJ/rEdKmQc1O2LD90VJmc2FzcID09Gz5Ic83kbxYDbQkVPAbYIPvFVyJf74C06jxNKFAMajQNE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(376002)(39860400002)(136003)(346002)(366004)(451199018)(31686004)(36756003)(4326008)(7416002)(8936002)(41300700001)(5660300002)(2906002)(38100700002)(31696002)(86362001)(478600001)(66946007)(66476007)(66556008)(8676002)(6486002)(110136005)(54906003)(316002)(6506007)(186003)(53546011)(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?QkFYZk9BRnpLOFBaTXFVdW8zVUgzZUZueHZDYUxHYjBUOHh1SnJMZDJ2eEtJ?=
 =?utf-8?B?Wjc0UlJQTzY0dXNJQzM2czJzRmk3UTBhLy9wWHdMVWNVcVpRVWxOeDdSYjNX?=
 =?utf-8?B?bW12Z2w3dXl1UXQ1NVcrNEsxUGk1L1lwc2RxQWdXZUR4OUMxdWZrSFVYakpw?=
 =?utf-8?B?R09NOU91UGUySEh4Yk5ER3V0M2t2Y2tpNDYvTVI2MDQxS0tPcXJXQm9VVzVi?=
 =?utf-8?B?MkxneTZOZmRoT1FaNXU3UVVuRXdQTys4d0Y5emVubHovVWJBM2Rjc1czK0tZ?=
 =?utf-8?B?SlVoNHp2ZTl2OTdyU081YVhiSVdHakFUOGJ3ZUtGN2JlN3cvdUNxQXc5L29a?=
 =?utf-8?B?T0J5WDlZWi81Ny9kRTlQKyt2eW5mTlhjdEoyQnZsZVNqMDRwRUNyUklZYlBD?=
 =?utf-8?B?Q0tTYUVlVzN0VE9QWXZwTFM1bHVNdThLdTJhWGFJUHVsdXU3ZHJrTDNXMXRK?=
 =?utf-8?B?aW1Qa1RQZVRIenhsK0NxVitmeC9IeUUyRnorL09TVkZIMkZpWTRWMys0NUdX?=
 =?utf-8?B?SWczZStUWkp5OGUySWxQRm9pclA5dEc1NWhXYnN4cEEyaGF0akh2Sno3b0R2?=
 =?utf-8?B?cjUvUkc0RUlJT2Rqa3pVUHNEY2VUaGVwY0ZQY0FETlhXdm9RZkx1VldkZHZX?=
 =?utf-8?B?a01lUEFvVkRLSnpLbXBjN1BQcTY2cVRBTCtudHFUcE9KYXFHU3FtNFFBUk05?=
 =?utf-8?B?Q2VQdVFVUXl1RTUvNXY4d0lhR3Y5Y2c2VXJ0YklwbTlnODZpaDJLdEVHNEg4?=
 =?utf-8?B?UFVGUElveVBxZ1ZETTNkOVFleEN6SGFhVjFMVTNxYkQ1Q20vZlkvcFFsZ1VY?=
 =?utf-8?B?Nk91MWhJV2ZoMkh5VmJscU1YNlFJT2FsUkU2eUxNczRoVDBaRUNEQlUxdi8w?=
 =?utf-8?B?R2ViOXVzMmlxMDkzVjgzaDBJVE9JcDV3ODQyRDhIeGZGUjFPbnZ5Mkt6SW5u?=
 =?utf-8?B?Ry96Q0FHZkhjN21MKzRFeWgxakZieFpjZWdFOWFvMWhRS2hDN0swMHRUVEpp?=
 =?utf-8?B?SmliM3ROdDdUaUhkbUZtTkxoY1FFTXY3ZjVNY2hYc3RJZE0zKzlFdzJ2L2Y0?=
 =?utf-8?B?U1NYOXdkam0zL25TdFR5MjdsVjllOGk5aEtHZEhaQWJ4elVMRUlnS0xQVjVz?=
 =?utf-8?B?SmsyVW1ZTzZJd0VOZWJKNDdWVnBZbkZZUnZtcFRjZHZMckdFVS9iNEZ4WU11?=
 =?utf-8?B?cnhNa3pkQTl4TE05NnM5dTRKcUIwbUFGdi9JTkNkcktSNE5vRkpDWit2TzhH?=
 =?utf-8?B?a0dXMU9QSkNZMkMyakFpOVNOZnNyQ1YyNEk4cisrZUdoREcxckdWd1BpTWJG?=
 =?utf-8?B?dE5Qa3k3d0NndXZYWEZKZ2Era283SWJLYmVFUXpIVWs1Y1VzV1BqL09mUWNF?=
 =?utf-8?B?QTF0SjZ5Mm9XOGx5d242YnUvSnFIYkNqRlFxcFhkVWo5S1EzVHdXK2hHczNm?=
 =?utf-8?B?QlU2VDVyTlJDVVdLU1VEZHkxRGlISHZnVk1EUWVXdUJhK3lZM0NvVkl5Y2pH?=
 =?utf-8?B?YzdyRzZIT2NZY3JGTTlvSTl4V0JFaHM4ZnF3K0FBUCtscktMS1FESHZEYWVk?=
 =?utf-8?B?a0dXZVIzRTE1Z3NmK1U3WUFTcXFUMWo3a0VuWml6QUdLN1h2Wm9DOVh1SWk0?=
 =?utf-8?B?K2ZDTXRNbDBjZW0vTjJJajJ2SkdEZUc2Qmo1d05rdk55YytVNUkybGEvRkRJ?=
 =?utf-8?B?eUFoOHJucXI3MzNQVEYraHJvaUJVakNDaGZNcmNVMUZLY294RStwbUJySVpj?=
 =?utf-8?B?M3I2cFpnYUtsSVVlM2wzUVVYOFpuZ09aVERaZWJwUXdsNlBveFhaV0xwTktS?=
 =?utf-8?B?YSt2R2M1cWVBaTBSVTl0bTBRaHkrdVQyZDZ2MTR0dGtLZ1FDa0ZOVnp1WWh3?=
 =?utf-8?B?UEhONks2MG42Q25mSTlBekQ5UmtySHVLQ25WbWNOdjlTMi9LU3RIejd1b0d5?=
 =?utf-8?B?OW14aU5VY0dML2dxNHRHekYzUE5UOUNTK29PcTU0VVhFWFU1KzRXTU40aFNi?=
 =?utf-8?B?ck5qY3JiNktRSDIzTHYzNzdGVEhMcHBoL1RZWHJJbXdSVWJUT3FHeFgwNTRT?=
 =?utf-8?B?bE1RQWRhYkZvM3RTNG1mbVFBT0pMaUozSmp3cjVRMHFyNUI5SHF3VUZrcjdC?=
 =?utf-8?Q?ngpdTpRwAxWngtp/2JKuNFN2P?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6df0511d-74e0-498f-a3c5-08db25fc2338
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 08:55:05.7364
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TfLNmGy0kAK8XtcivhW/yOrqwTdr3jrv3rDoPpiqKu3LCTbo0I3EzNEzX7JPnUObt51OjUe7yTGBWxu6a/WepA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9710

On 16.03.2023 01:44, Stefano Stabellini wrote:
> On Wed, 15 Mar 2023, Roger Pau Monné wrote:
>> On Sun, Mar 12, 2023 at 03:54:55PM +0800, Huang Rui wrote:
>>> From: Chen Jiqian <Jiqian.Chen@amd.com>
>>>
>>> Use new xc_physdev_gsi_from_irq to get the GSI number
>>>
>>> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
>>> Signed-off-by: Huang Rui <ray.huang@amd.com>
>>> ---
>>>  tools/libs/light/libxl_pci.c | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
>>> index f4c4f17545..47cf2799bf 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);
>>
>> This is just a shot in the dark, because I don't really have enough
>> context to understand what's going on here, but see below.
>>
>> I've taken a look at this on my box, and it seems like on
>> dom0 the value returned by /sys/bus/pci/devices/SBDF/irq is not
>> very consistent.
>>
>> If devices are in use by a driver the irq sysfs node reports either
>> the GSI irq or the MSI IRQ (in case a single MSI interrupt is
>> setup).
>>
>> It seems like pciback in Linux does something to report the correct
>> value:
>>
>> root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
>> 74
>> root@lcy2-dt107:~# xl pci-assignable-add 00:14.0
>> root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
>> 16
>>
>> As you can see, making the device assignable changed the value
>> reported by the irq node to be the GSI instead of the MSI IRQ, I would
>> think you are missing something similar in the PVH setup (some pciback
>> magic)?
>>
>> Albeit I have no idea why you would need to translate from IRQ to GSI
>> in the way you do in this and related patches, because I'm missing the
>> context.
> 
> As I mention in another email, also keep in mind that we need QEMU to
> work and QEMU calls:
> 1) xc_physdev_map_pirq (this is also called from libxl)
> 2) xc_domain_bind_pt_pci_irq
> 
> 
> In this case IRQ != GSI (IRQ == 112, GSI == 28). Sysfs returns the IRQ
> in Linux (112), but actually xc_physdev_map_pirq expects the GSI, not
> the IRQ. If you look at the implementation of xc_physdev_map_pirq,
> you'll the type is "MAP_PIRQ_TYPE_GSI" and also see the check in Xen
> xen/arch/x86/irq.c:allocate_and_map_gsi_pirq:
> 
>     if ( index < 0 || index >= nr_irqs_gsi )
>     {
>         dprintk(XENLOG_G_ERR, "dom%d: map invalid irq %d\n", d->domain_id,
>                 index);
>         return -EINVAL;
>     }
> 
> nr_irqs_gsi < 112, and the check will fail.
> 
> So we need to pass the GSI to xc_physdev_map_pirq. To do that, we need
> to discover the GSI number corresponding to the IRQ number.

That's one possible approach. Another could be (making a lot of assumptions)
that a PVH Dom0 would pass in the IRQ it knows for this interrupt and Xen
then translates that to GSI, knowing that PVH doesn't have (host) GSIs
exposed to it.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:04:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:04:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510395.787971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjWl-0003eU-Sl; Thu, 16 Mar 2023 09:04:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510395.787971; Thu, 16 Mar 2023 09:04: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 1pcjWl-0003eN-Pg; Thu, 16 Mar 2023 09:04:03 +0000
Received: by outflank-mailman (input) for mailman id 510395;
 Thu, 16 Mar 2023 09:04: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcjWk-0003eH-Hl
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:04:02 +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 7d4f9de3-c3d9-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 10:03:59 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id x13so4763469edd.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 02:03:59 -0700 (PDT)
Received: from [192.168.8.114] (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 a28-20020a50c31c000000b004af6c5f1805sm3537785edb.52.2023.03.16.02.03.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 02:03: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: 7d4f9de3-c3d9-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678957439;
        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=hauFOO9sAmamPCKucwYf2lzt8zo4QOFnBbxSv2d050U=;
        b=TaMMXu57Sb1McQ3oC422gNTmizbd/0Lt9NI4FzX3zENff7cvYH6hJDY4ijhmFdpqBl
         X38iKrUdSsJXYUJdNxRbAz7g6BW1Fhpp11Hlf65S+QP+pkAla6lUh4ac732nEx3RCS59
         x6HxLZWWJFaa/cRTlW55UEjqPp0br3sByhcMSCk3FDkaQqdq9H5+lx0gFL6WU5mq+TSu
         IqKr7Tr6Aixh/cO6oGmq2Ds1INnH7CGwmjhR5UzvChB3AELz9fq/j8a2yaw8Qv6Z96I1
         t6dV+nFSFMd5AZOTRMaCUvKCoHA/heyg1jk9cDlCN9TzNM11mjHO7buImU0/rGmm5m2S
         T9fQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678957439;
        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=hauFOO9sAmamPCKucwYf2lzt8zo4QOFnBbxSv2d050U=;
        b=YybqPSAa1JZvuYPIXrO7pF+OqEDzwMy7LCrj/Arj5e3U8IqO8ZMeW3/aeMcW2VScED
         6BX4JgPpPC8DBXrua+asyJIwSpTVzHNYjr7vkirOtBSl8TDZzY2KbKHNHrnXkl8cNHyB
         4+TLUOE1BXCSBaL5pzBjb+Llfm2dWE1ORariZ3jZK6Vgo9FEgk+CcyLFZEDq827xQ88L
         VRbFFwJvwsEUu7tRZ6yzoQQmpXJeinh3090aWu4TUXl+a96hsVqoBn9RGSzcSZLuIPo1
         EREVbfPsV5vc6QJplA0GQUrTKFlIsND3RdHUSb8y5EiwhOU7RzgZws1pAPDo1hP3pjKX
         GdFA==
X-Gm-Message-State: AO0yUKVeaoxchp5pZ9n9+nj6djO3Tw7h0MbTJjdS6lGWOjqJsvCG9ncl
	+5n5ro+7DqY0JQulRDGbBWA=
X-Google-Smtp-Source: AK7set9dE3zKjIIwJ+q+iu5QPLd9nE0ykfU3h9doXN/7bZaJD4uIE1QzLc7mhrpIWf7vaiAsZEruSg==
X-Received: by 2002:a17:906:6816:b0:930:1914:88fe with SMTP id k22-20020a170906681600b00930191488femr2285543ejr.68.1678957439150;
        Thu, 16 Mar 2023 02:03:59 -0700 (PDT)
Message-ID: <dc4845a3c78c6eb3787db73daf0ade40cd1433d1.camel@gmail.com>
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
	 <gianluca@rivosinc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Alistair
	Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>, 
	xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Date: Thu, 16 Mar 2023 11:03:57 +0200
In-Reply-To: <4cee4508-7250-9a27-a186-8cc2000dc3ce@suse.com>
References: 
	<ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
	 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
	 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
	 <966c19e3-d255-db73-9bb4-7abe0a745396@suse.com>
	 <ac357f76-653f-9dbd-dc54-6e31db28de9b@citrix.com>
	 <00fc9016252e656be257671aa5c2c4e102df240a.camel@gmail.com>
	 <4cee4508-7250-9a27-a186-8cc2000dc3ce@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Thu, 2023-03-16 at 09:45 +0100, Jan Beulich wrote:
> On 16.03.2023 08:42, Oleksii wrote:
> > On Wed, 2023-03-15 at 21:12 +0000, Andrew Cooper wrote:
> > > On 15/03/2023 7:59 am, Jan Beulich wrote:
> > > > On 14.03.2023 21:16, Oleksii wrote:
> > > > > I checked in Linux binary how 'la' instruction is
> > > > > transformed,
> > > > > and it
> > > > > looks like it is translated as I expect to auipc/addi pair:
> > > > > ffffffe000001066: 00027517 auipc a0,0x27
> > > > > ffffffe00000106a: f9a50513 addi a0,a0,-102 # ffffffe000028000
> > > > > <early_pg_dir>
> > > > >=20
> > > > > I checked compiler flags between Xen and Linux. The
> > > > > difference is
> > > > > in-
> > > > > fno-PIE (Linux also adds -mabi and -march to AFLAGS):
> > > > >=20
> > > > > 1. Linux build command of head.S: riscv64-linux-gnu-gcc -Wp,-
> > > > > MD,arch/riscv/kernel/.head.o.d -nostdinc -isystem
> > > > > /usr/lib/gcc-
> > > > > cross/riscv64-linux-gnu/9/include -I./arch/riscv/include -
> > > > > I./arch/riscv/include/generated -I./include -
> > > > > I./arch/riscv/include/uapi
> > > > > -I./arch/riscv/include/generated/uapi -I./include/uapi -
> > > > > I./include/generated/uapi -include ./include/linux/kconfig.h
> > > > > -
> > > > > D__KERNEL__ -D__ASSEMBLY__ -fno-PIE -mabi=3Dlp64 -
> > > > > march=3Drv64imafdc
> > > > > -c -o
> > > > > arch/riscv/kernel/head.o arch/riscv/kernel/head.S
> > > > >=20
> > > > > 2. Xen build command of head.S:riscv64-linux-gnu-gcc -MMD -MP
> > > > > -MF
> > > > > arch/riscv/riscv64/.head.o.d -D__ASSEMBLY__ -Wa,--noexecstack
> > > > > -
> > > > > DBUILD_ID -fno-strict-aliasing -Wall -Wstrict-prototypes -
> > > > > Wdeclaration-
> > > > > after-statement -Wno-unused-but-set-variable -Wno-unused-
> > > > > local-
> > > > > typedefs
> > > > > -O1 -fno-omit-frame-pointer -nostdinc -fno-builtin -fno-
> > > > > common -
> > > > > Werror
> > > > > -Wredundant-decls -Wno-pointer-arith -Wvla -pipe -D__XEN__ -
> > > > > include
> > > > > ./include/xen/config.h -Wa,--strip-local-absolute -g -
> > > > > mabi=3Dlp64 -
> > > > > I./include -I./arch/riscv/include -march=3Drv64gc -mstrict-
> > > > > align -
> > > > > mcmodel=3Dmedany - -c arch/riscv/riscv64/head.S -o
> > > > > arch/riscv/riscv64/head.o
> > > > Looking into why you see different code generated than I:
> > > > Nothing
> > > > in
> > > > here directs gcc to pass -fpic to gas; in upstream gcc
> > > > (consistent
> > > > from gcc7 through gcc12, which are the versions I've checked;
> > > > the
> > > > actual range may be wider) there is
> > > >=20
> > > > #define ASM_SPEC "\
> > > > %(subtarget_asm_debugging_spec) \
> > > > %{" FPIE_OR_FPIC_SPEC ":-fpic} \
> > > > ...
> > > >=20
> > > > Can you check whether your gcc passes -fpic to gas even when
> > > > there's
> > > > no -fPIC / -fPIE (or alike) on the gcc command line? Or whether
> > > > your
> > > > gas (unlike upstream's) defaults to PIC mode? (For .S files
> > > > ASM_SPEC
> > > > is all that counts. For .c files gcc is redundantly passing -
> > > > fpic
> > > > along with also emitting ".option pic" or, in the opposite
> > > > case, it
> > > > is omitting -fpic along with emitting ".option nopic".)
> > > >=20
> > > > You gcc may have been configured with --enable-default-pie,
> > > > while I
> > > > know mine hasn't been (simply because that's the default).
> > >=20
> > > From the thread, the difference is clearly around the pie option,
> > > but
> > > I
> > > have to admit that I'm confused.
> > >=20
> > > With GCC 10 from Debian repos and current staging (modulo the
> > > build
> > > fix), we end up with:
> > >=20
> > > 0000000080200000 <_start>:
> > > =C2=A0=C2=A0=C2=A0 80200000:=C2=A0=C2=A0 10401073=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 cs=
rw=C2=A0=C2=A0=C2=A0 sie,zero
> > > =C2=A0=C2=A0=C2=A0 80200004:=C2=A0=C2=A0 00002117=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 au=
ipc=C2=A0=C2=A0 sp,0x2
> > > =C2=A0=C2=A0=C2=A0 80200008:=C2=A0=C2=A0 00413103=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ld=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sp,4(sp) #
> > > 80202008
> > > <_GLOBAL_OFFSET_TABLE_+0x8>
> > > =C2=A0=C2=A0=C2=A0 8020000c:=C2=A0=C2=A0 6285=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 lui=C2=A0=C2=A0=C2=A0=C2=A0 t0,0x1
> > > =C2=A0=C2=A0=C2=A0 8020000e:=C2=A0=C2=A0 9116=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=C2=A0 sp,sp,t0
> > > =C2=A0=C2=A0=C2=A0 80200010:=C2=A0=C2=A0 7f10206f=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 j=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 80203000
> > > <start_xen>
> > >=20
> > > In this case, the auipc/ld pair makes a PC-relative reference
> > > into
> > > the
> > > GOT, but the pointer spilled into the GOT is the link time
> > > address of
> > > cpu0_boot_stack.
> > >=20
> > > For the executable as a whole, we've got:
> > >=20
> > > [ 6] .got=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 PROGBITS=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 00000=
00080202000 003000
> > > 000010
> > > 08=C2=A0 WA=C2=A0 0=C2=A0=C2=A0 0=C2=A0 8
> > > [ 7] .got.plt=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 P=
ROGBITS=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0000000080202010 003010
> > > 000010
> > > 08=C2=A0 WA=C2=A0 0=C2=A0=C2=A0 0=C2=A0 8
> > >=20
> > > i.e. both nonzero in size, so presumably with expectations of
> > > something
> > > else to fix up the references.
> > >=20
> > > I suspect we want to extend the x86 section asserts into the
> > > other
> > > architectures too, alongside figuring out how exactly to disable
> > > code
> > > generation of this form.
> > >=20
> > But AFAIU it is expected that it will use GOT sections with the
> > link
> > time address of cpu0_boot_stack inside them because of pie option.
> >=20
> > If we need to work with pie option that we can fix all address in
> > .got{.plt} somewhere at the start of head.S
>=20
> While .got is very sensible in "normal" binaries, I think its use
> should
> be avoided in kernels and alike.
>=20
> > but why we can't go with -
> > fno-pie as it is done for other architectures:
>=20
> Why do you ask this repeatedly when the suggestion was to actually
> use EMBEDDED_EXTRA_CFLAGS?
Sorry for that.
I will update the current one patch with EMBEDDED_EXTRA_CFLAGS and back
'lla' to 'la'.
>=20
> > Config.mk:
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0EMBEDDED_EXTRA_CFLAGS :=
=3D -fno-pie -fno-stack-protector -
> > fno-
> > stack-protector-all
> > EMBEDDED_EXTRA_CFLAGS +=3D -fno-exceptions -fno-asynchronous-unwind-
> > tables
> >=20
> > arch.mk:
> > =C2=A0=C2=A0=C2=A0 $(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFL=
AGS))
> >=20
> >=20
> > Could you please explain what is x86 section asserts?
>=20
> If you look at the bottom of x86's xen.lds.S you'll find a number of
> assertions, among them one towards .got being empty. Some of the
> sections checked there may indeed not be applicable on arbitrary
> architectures, but I think .got is sufficiently universal. So I agree
> with Andrew that it may be worthwhile making some of this generic.
>=20
Thanks for the clarification.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:10:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:10:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510397.787982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjcu-0005Lp-ID; Thu, 16 Mar 2023 09:10:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510397.787982; Thu, 16 Mar 2023 09:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjcu-0005Li-EN; Thu, 16 Mar 2023 09:10:24 +0000
Received: by outflank-mailman (input) for mailman id 510397;
 Thu, 16 Mar 2023 09:10: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=XwUl=7I=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pcjct-0005Lc-9j
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:10:23 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5ff13bde-c3da-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 10:10:20 +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 37EFE2F4;
 Thu, 16 Mar 2023 02:11:03 -0700 (PDT)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CA5B23F67D;
 Thu, 16 Mar 2023 02:10:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ff13bde-c3da-11ed-b464-930f4c7d94ae
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org
Subject: [ImageBuilder][PATCH v2 0/2] uboot-script-gen: Add support for static heap and shared memory
Date: Thu, 16 Mar 2023 09:09:19 +0000
Message-Id: <20230316090921.338472-1-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series is to enable to set the device tree for static heap and static
shared memory by uboot-script-gen

Changes from v1:
 - Rename STATIC_HEAP to XEN_STATIC_HEAP and move it right after
   XEN_CMD documentation.
 - Rather than two separate properties and just use one like follows:
   Change
     DOMU_SHARED_MEM[0]="0x50000000 0x6000000 0x10000000"
     DOMU_SHARED_MEM_ID[0]="my-shared-mem-0"
   to
     DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
- Use split_value function instead of opencoding it.

jiamei Xie (1):
  uboot-script-gen: Add XEN_STATIC_HEAP

jiamei.xie (1):
  uboot-script-gen: add support for static shared memory

 README.md                | 21 ++++++++++++++++++
 scripts/uboot-script-gen | 47 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 68 insertions(+)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:10:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:10:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510398.787992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjd3-0005d1-ON; Thu, 16 Mar 2023 09:10:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510398.787992; Thu, 16 Mar 2023 09: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 1pcjd3-0005cs-LR; Thu, 16 Mar 2023 09:10:33 +0000
Received: by outflank-mailman (input) for mailman id 510398;
 Thu, 16 Mar 2023 09:10: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=XwUl=7I=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pcjd2-0005Lc-BD
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:10:32 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 661632eb-c3da-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 10:10: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 79FCC2F4;
 Thu, 16 Mar 2023 02:11:13 -0700 (PDT)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 212E83F67D;
 Thu, 16 Mar 2023 02:10:27 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 661632eb-c3da-11ed-b464-930f4c7d94ae
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org
Subject: [ImageBuilder][PATCH v2 1/2] uboot-script-gen: Add XEN_STATIC_HEAP
Date: Thu, 16 Mar 2023 09:09:20 +0000
Message-Id: <20230316090921.338472-2-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230316090921.338472-1-jiamei.xie@arm.com>
References: <20230316090921.338472-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: jiamei Xie <jiamei.xie@arm.com>

Add a new config parameter to configure Xen static heap.
XEN_STATIC_HEAP="baseaddr1 size1 ... baseaddrN sizeN"
if specified, indicates the host physical address regions
[baseaddr, baseaddr + size) to be reserved as Xen static heap.

For instance, XEN_STATIC_HEAP="0x50000000 0x30000000", if specified,
indicates the host memory region starting from paddr 0x50000000
with a size of 0x30000000 to be reserved as static heap.

Signed-off-by: jiamei Xie <jiamei.xie@arm.com>
---
Changes from v1:
 - Rename STATIC_HEAP to XEN_STATIC_HEAP and move it right after
   XEN_CMD documentation.
 - Use split_value function instead of opencoding it.
---
 README.md                |  4 ++++
 scripts/uboot-script-gen | 20 ++++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/README.md b/README.md
index 814a004..78b83f1 100644
--- a/README.md
+++ b/README.md
@@ -97,6 +97,10 @@ Where:
 - XEN_CMD specifies the command line arguments used for Xen.  If not
   set, the default one will be used.
 
+- XEN_STATIC_HEAP="baseaddr1 size1 ... baseaddrN sizeN"
+  if specified, indicates the host physical address regions
+  [baseaddr, baseaddr + size) to be reserved as Xen static heap.
+
 - PASSTHROUGH_DTS_REPO specifies the git repository and/or the directory
   which contains the partial device trees. This is optional. However, if
   this is specified, then DOMU_PASSTHROUGH_PATHS[number] need to be specified.
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index f07e334..cca3e59 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -189,6 +189,21 @@ function add_device_tree_static_mem()
     dt_set "$path" "xen,static-mem" "hex" "${cells[*]}"
 }
 
+function add_device_tree_xen_static_heap()
+{
+    local path=$1
+    local regions=$2
+    local cells=()
+    local val
+
+    for val in ${regions[@]}
+    do
+        cells+=("$(split_value $val)")
+    done
+
+    dt_set "$path" "xen,static-heap" "hex" "${cells[*]}"
+}
+
 function add_device_tree_cpupools()
 {
     local cpu
@@ -344,6 +359,11 @@ function xen_device_tree_editing()
     then
         add_device_tree_cpupools
     fi
+
+    if test "${XEN_STATIC_HEAP}"
+    then
+        add_device_tree_xen_static_heap "/chosen" "${XEN_STATIC_HEAP}"
+    fi
 }
 
 function linux_device_tree_editing()
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:10:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:10:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510399.788002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjdC-0005wy-VZ; Thu, 16 Mar 2023 09:10:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510399.788002; Thu, 16 Mar 2023 09: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 1pcjdC-0005wp-Rs; Thu, 16 Mar 2023 09:10:42 +0000
Received: by outflank-mailman (input) for mailman id 510399;
 Thu, 16 Mar 2023 09:10: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=XwUl=7I=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pcjdB-0005vk-1H
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:10:41 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6af451cc-c3da-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 10:10:38 +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 AF7332F4;
 Thu, 16 Mar 2023 02:11:21 -0700 (PDT)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 56CE23F67D;
 Thu, 16 Mar 2023 02:10: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: 6af451cc-c3da-11ed-87f5-c1b5be75604c
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org
Subject: [ImageBuilder][PATCH v2 2/2] uboot-script-gen: add support for static shared memory
Date: Thu, 16 Mar 2023 09:09:21 +0000
Message-Id: <20230316090921.338472-3-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230316090921.338472-1-jiamei.xie@arm.com>
References: <20230316090921.338472-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce support for creating shared-mem node for dom0less domUs in
the device tree. Add the following option:
- DOMU_SHARED_MEM[number]="SHM-ID HPA GPA size"
  if specified, indicate the unique identifier of the shared memory
  region is SHM-ID, the host physical address HPA will get mapped at
  guest address GPA in domU and the memory of size will be reserved to
  be shared memory.

The static shared memory is used between two dom0less domUs.

Below is an example:
NUM_DOMUS=2
DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
DOMU_SHARED_MEM[1]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"

This static shared memory region is identified as "my-shared-mem-0",
host physical address starting at 0x50000000 of 256MB will be reserved
to be shared between two domUs. It will get mapped at 0x6000000 in both
guest physical address space. Both DomUs are the borrower domain, the
owner domain is the default owner domain DOMID_IO.

Signed-off-by: jiamei.xie <jiamei.xie@arm.com>
---
Changes from v1:
 - Rather than two separate properties and just use one like follows:
   Change
     DOMU_SHARED_MEM[0]="0x50000000 0x6000000 0x10000000"
     DOMU_SHARED_MEM_ID[0]="my-shared-mem-0"
   to
     DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
- Use split_value function instead of opencoding it.
---
 README.md                | 17 +++++++++++++++++
 scripts/uboot-script-gen | 27 +++++++++++++++++++++++++++
 2 files changed, 44 insertions(+)

diff --git a/README.md b/README.md
index 78b83f1..fe5d205 100644
--- a/README.md
+++ b/README.md
@@ -196,6 +196,23 @@ Where:
   if specified, indicates the host physical address regions
   [baseaddr, baseaddr + size) to be reserved to the VM for static allocation.
 
+- DOMU_SHARED_MEM[number]="SHM-ID HPA GPA size"
+  if specified, indicate SHM-ID represents the unique identifier of the shared
+  memory region, the host physical address HPA will get mapped at guest
+  address GPA in domU and the memory of size will be reserved to be shared
+  memory. The shared memory is used between two dom0less domUs.
+
+  Below is an example:
+  NUM_DOMUS=2
+  DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
+  DOMU_SHARED_MEM[1]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
+
+  This static shared memory region is identified as "my-shared-mem-0", host
+  physical address starting at 0x50000000 of 256MB will be reserved to be
+  shared between two domUs. It will get mapped at 0x6000000 in both guest
+  physical address space. Both DomUs are the borrower domain, the owner
+  domain is the default owner domain DOMID_IO.
+
 - DOMU_DIRECT_MAP[number] can be set to 1 or 0.
   If set to 1, the VM is direct mapped. The default is 1.
   This is only applicable when DOMU_STATIC_MEM is specified.
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index cca3e59..46ea7e5 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -204,6 +204,28 @@ function add_device_tree_xen_static_heap()
     dt_set "$path" "xen,static-heap" "hex" "${cells[*]}"
 }
 
+function add_device_tree_static_shared_mem()
+{
+    local path=$1
+    local domid=$2
+    local shared_mem=$3
+    local SHARED_MEM_ID=${shared_mem%% *}
+    local regions="${shared_mem#* }"
+    local cells=()
+    local SHARED_MEM_HOST=${regions%% *}
+
+    dt_mknode "${path}" "domU${domid}-shared-mem@${SHARED_MEM_HOST}"
+
+    for val in ${regions[@]}
+    do
+        cells+=("$(split_value $val)")
+    done
+
+    dt_set "${path}/domU${domid}-shared-mem@${SHARED_MEM_HOST}" "compatible" "str" "xen,domain-shared-memory-v1"
+    dt_set "${path}/domU${domid}-shared-mem@${SHARED_MEM_HOST}" "xen,shm-id" "str" "${SHARED_MEM_ID}"
+    dt_set "${path}/domU${domid}-shared-mem@${SHARED_MEM_HOST}" "xen,shared-mem" "hex" "${cells[*]}"
+}
+
 function add_device_tree_cpupools()
 {
     local cpu
@@ -329,6 +351,11 @@ function xen_device_tree_editing()
             dt_set "/chosen/domU$i" "xen,enhanced" "str" "enabled"
         fi
 
+        if test -n "${DOMU_SHARED_MEM[i]}"
+        then
+            add_device_tree_static_shared_mem "/chosen/domU${i}" "${i}" "${DOMU_SHARED_MEM[i]}"
+        fi
+
         if test "${DOMU_COLORS[$i]}"
         then
             local startcolor=$(echo "${DOMU_COLORS[$i]}"  | cut -d "-" -f 1)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:12:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:12:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510407.788015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjf8-0006zd-ED; Thu, 16 Mar 2023 09:12:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510407.788015; Thu, 16 Mar 2023 09: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 1pcjf8-0006zW-BR; Thu, 16 Mar 2023 09:12:42 +0000
Received: by outflank-mailman (input) for mailman id 510407;
 Thu, 16 Mar 2023 09:12: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=XwUl=7I=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pcjf7-0006zO-CM
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:12:41 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id b3a8e691-c3da-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 10:12: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 9B2DF2F4;
 Thu, 16 Mar 2023 02:13:23 -0700 (PDT)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id A8B7F3F67D;
 Thu, 16 Mar 2023 02:12:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3a8e691-c3da-11ed-87f5-c1b5be75604c
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org,
	bertrand.marquis@arm.com,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH v2 0/2] automation: introduce static heap and shared memory tests
Date: Thu, 16 Mar 2023 09:12:22 +0000
Message-Id: <20230316091224.338620-1-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi all,

This patch series introduces test jobs for static heap and shared memory.

Changes from v1:
 - Change MEMORY_END to 0x50000000 for all test cases.
 - Update commit message.
 - Move the second domU creation to the general ImageBuilder script

Jiamei Xie (1):
  automation: arm64: Create test jobs for testing static heap on qemu

jiamei.xie (1):
  automation: arm64: Create test jobs for testing static shared memory
    on qemu

 automation/gitlab-ci/build.yaml               | 18 +++++++
 automation/gitlab-ci/test.yaml                | 32 ++++++++++++
 .../scripts/qemu-smoke-dom0less-arm64.sh      | 50 ++++++++++++++++++-
 3 files changed, 99 insertions(+), 1 deletion(-)



-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:12:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:12:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510408.788025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjfH-0007In-MH; Thu, 16 Mar 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 510408.788025; Thu, 16 Mar 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 1pcjfH-0007Ig-In; Thu, 16 Mar 2023 09:12:51 +0000
Received: by outflank-mailman (input) for mailman id 510408;
 Thu, 16 Mar 2023 09:12: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=XwUl=7I=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pcjfG-0006zO-Em
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:12:50 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id b91a9c8e-c3da-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 10:12: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 AACF32F4;
 Thu, 16 Mar 2023 02:13:32 -0700 (PDT)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id BF1923F67D;
 Thu, 16 Mar 2023 02:12:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b91a9c8e-c3da-11ed-87f5-c1b5be75604c
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org,
	bertrand.marquis@arm.com,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH v2 1/2] automation: arm64: Create test jobs for testing static heap on qemu
Date: Thu, 16 Mar 2023 09:12:23 +0000
Message-Id: <20230316091224.338620-2-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230316091224.338620-1-jiamei.xie@arm.com>
References: <20230316091224.338620-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Jiamei Xie <jiamei.xie@arm.com>

Create 2 new test jobs, called qemu-smoke-dom0less-arm64-gcc-staticheap
and qemu-smoke-dom0less-arm64-gcc-debug-staticheap.

Add property "xen,static-heap" under /chosen node to enable static-heap.
If the domU can start successfully with static-heap enabled, then this
test pass.

ImageBuillder sets the kernel and ramdisk range based on the file size.
It will use the memory range between 0x45600000 to 0x47AED1E8. It uses
MEMORY_START and MEMORY_END from the cfg file as a range in which it can
instruct u-boot where to place the images.

Change MEMORY_END to 0x50000000 for all test cases.

Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>
---
Changes from v1:
 - Change MEMORY_END to 0x50000000 for all test cases.
 - Update commit message.
---
 automation/gitlab-ci/test.yaml                | 16 ++++++++++++++
 .../scripts/qemu-smoke-dom0less-arm64.sh      | 21 ++++++++++++++++++-
 2 files changed, 36 insertions(+), 1 deletion(-)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 2e1a6886df..37465305ff 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -158,6 +158,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
     - *arm64-test-needs
     - alpine-3.12-gcc-debug-arm64-staticmem
 
+qemu-smoke-dom0less-arm64-gcc-staticheap:
+ extends: .qemu-arm64
+ script:
+   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
+ needs:
+   - *arm64-test-needs
+   - alpine-3.12-gcc-arm64
+
+qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
+ extends: .qemu-arm64
+ script:
+   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
+ needs:
+   - *arm64-test-needs
+   - alpine-3.12-gcc-debug-arm64
+
 qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
   extends: .qemu-arm64
   script:
diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
index 182a4b6c18..2d69d976ea 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
@@ -27,6 +27,11 @@ fi
 "
 fi
 
+if [[ "${test_variant}" == "static-heap" ]]; then
+    passed="${test_variant} test passed"
+    domU_check="echo \"${passed}\""
+fi
+
 if [[ "${test_variant}" == "boot-cpupools" ]]; then
     # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler
     passed="${test_variant} test passed"
@@ -107,7 +112,7 @@ cd ..
 
 # ImageBuilder
 echo 'MEMORY_START="0x40000000"
-MEMORY_END="0xC0000000"
+MEMORY_END="0x50000000"
 
 DEVICE_TREE="virt-gicv2.dtb"
 XEN="xen"
@@ -128,6 +133,20 @@ if [[ "${test_variant}" == "static-mem" ]]; then
     echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> binaries/config
 fi
 
+if [[ "${test_variant}" == "static-heap" ]]; then
+    # ImageBuilder uses the config file to create the uboot script. Devicetree
+    # will be set via the generated uboot script.
+    # The valid memory range is 0x40000000 to 0x80000000 as defined before.
+    # ImageBuillder sets the kernel and ramdisk range based on the file size.
+    # It will use the memory range between 0x45600000 to 0x47AED1E8, and
+    # MEMORY_END has been set to 0x50000000 above, so set memory range between
+    # 0x50000000 and 0x80000000 as static heap.
+    echo  '
+XEN_STATIC_HEAP="0x50000000 0x30000000"
+# The size of static heap should be greater than the guest memory
+DOMU_MEM[0]="128"' >> binaries/config
+fi
+
 if [[ "${test_variant}" == "boot-cpupools" ]]; then
     echo '
 CPUPOOL[0]="cpu@1 null"
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:13:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:13:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510410.788034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjfR-0007lm-3d; Thu, 16 Mar 2023 09:13:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510410.788034; Thu, 16 Mar 2023 09: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 1pcjfR-0007lf-0u; Thu, 16 Mar 2023 09:13:01 +0000
Received: by outflank-mailman (input) for mailman id 510410;
 Thu, 16 Mar 2023 09:12: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=XwUl=7I=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pcjfP-0006zO-H7
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:12:59 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id be7f5df2-c3da-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 10:12:58 +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 D37E62F4;
 Thu, 16 Mar 2023 02:13:41 -0700 (PDT)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id EBA3B3F67D;
 Thu, 16 Mar 2023 02:12:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be7f5df2-c3da-11ed-87f5-c1b5be75604c
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org,
	bertrand.marquis@arm.com,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH v2 2/2] automation: arm64: Create test jobs for testing static shared memory on qemu
Date: Thu, 16 Mar 2023 09:12:24 +0000
Message-Id: <20230316091224.338620-3-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230316091224.338620-1-jiamei.xie@arm.com>
References: <20230316091224.338620-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Create 2 new test jobs, called qemu-smoke-dom0less-arm64-gcc-static-shared-mem
and qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem.

Adjust qemu-smoke-dom0less-arm64.sh script to accomodate the static
shared memory test as a new test variant. The test variant is determined
based on the first argument passed to the script. For testing static
shared memory, the argument is 'static-shared-mem'.

The test configures two dom0less DOMUs with a static shared memory
region and adds a check in the init script.

The check consists in comparing the contents of the /proc/device-tree/reserved-memory
xen-shmem entry with the static shared memory range and id with which
DOMUs were configured. If the memory layout is correct, a message gets
printed by DOMU.

At the end of the qemu run, the script searches for the specific message
in the logs and fails if not found.

Signed-off-by: jiamei.xie <jiamei.xie@arm.com>
---
Changes from v1:
 - Move the second domU creation to the general ImageBuilder script.
---
 automation/gitlab-ci/build.yaml               | 18 ++++++++++++
 automation/gitlab-ci/test.yaml                | 16 ++++++++++
 .../scripts/qemu-smoke-dom0less-arm64.sh      | 29 +++++++++++++++++++
 3 files changed, 63 insertions(+)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 38bb22d860..820cc0af83 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -623,6 +623,24 @@ alpine-3.12-gcc-debug-arm64-staticmem:
       CONFIG_UNSUPPORTED=y
       CONFIG_STATIC_MEMORY=y
 
+alpine-3.12-gcc-arm64-static-shared-mem:
+  extends: .gcc-arm64-build
+  variables:
+    CONTAINER: alpine:3.12-arm64v8
+    EXTRA_XEN_CONFIG: |
+      CONFIG_UNSUPPORTED=y
+      CONFIG_STATIC_MEMORY=y
+      CONFIG_STATIC_SHM=y
+
+alpine-3.12-gcc-debug-arm64-static-shared-mem:
+  extends: .gcc-arm64-build-debug
+  variables:
+    CONTAINER: alpine:3.12-arm64v8
+    EXTRA_XEN_CONFIG: |
+      CONFIG_UNSUPPORTED=y
+      CONFIG_STATIC_MEMORY=y
+      CONFIG_STATIC_SHM=y
+
 alpine-3.12-gcc-arm64-boot-cpupools:
   extends: .gcc-arm64-build
   variables:
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 37465305ff..d75662358f 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -174,6 +174,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
    - *arm64-test-needs
    - alpine-3.12-gcc-debug-arm64
 
+qemu-smoke-dom0less-arm64-gcc-static-shared-mem:
+  extends: .qemu-arm64
+  script:
+    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
+  needs:
+    - *arm64-test-needs
+    - alpine-3.12-gcc-arm64-static-shared-mem
+
+qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
+  extends: .qemu-arm64
+  script:
+    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
+  needs:
+    - *arm64-test-needs
+    - alpine-3.12-gcc-debug-arm64-static-shared-mem
+
 qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
   extends: .qemu-arm64
   script:
diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
index 2d69d976ea..75f575424a 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
@@ -32,6 +32,25 @@ if [[ "${test_variant}" == "static-heap" ]]; then
     domU_check="echo \"${passed}\""
 fi
 
+
+if [[ "${test_variant}" == "static-shared-mem" ]]; then
+    passed="${test_variant} test passed"
+    SHARED_MEM_HOST="50000000"
+    SHARED_MEM_GUEST="4000000"
+    SHARED_MEM_SIZE="10000000"
+    SHARED_MEM_ID="my-shared-mem-0"
+
+    domU_check="
+current_id=\$(cat /proc/device-tree/reserved-memory/xen-shmem@4000000/xen,id 2>/dev/null)
+expected_id=\"\$(echo ${SHARED_MEM_ID})\"
+current_reg=\$(hexdump -e '16/1 \"%02x\"' /proc/device-tree/reserved-memory/xen-shmem@4000000/reg 2>/dev/null)
+expected_reg=$(printf \"%016x%016x\" 0x${SHARED_MEM_GUEST} 0x${SHARED_MEM_SIZE})
+if [[ \"\${expected_reg}\" == \"\${current_reg}\" && \"\${current_id}\" == \"\${expected_id}\" ]]; then
+    echo \"${passed}\"
+fi
+    "
+fi
+
 if [[ "${test_variant}" == "boot-cpupools" ]]; then
     # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler
     passed="${test_variant} test passed"
@@ -124,6 +143,9 @@ NUM_DOMUS=1
 DOMU_KERNEL[0]="Image"
 DOMU_RAMDISK[0]="initrd"
 DOMU_MEM[0]="256"
+DOMU_KERNEL[1]="Image"
+DOMU_RAMDISK[1]="initrd"
+DOMU_MEM[1]="256"
 
 LOAD_CMD="tftpb"
 UBOOT_SOURCE="boot.source"
@@ -133,6 +155,13 @@ if [[ "${test_variant}" == "static-mem" ]]; then
     echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> binaries/config
 fi
 
+if [[ "${test_variant}" == "static-shared-mem" ]]; then
+echo "
+NUM_DOMUS=2
+DOMU_SHARED_MEM[0]=\"${SHARED_MEM_ID} 0x${SHARED_MEM_HOST} 0x${SHARED_MEM_GUEST} 0x${SHARED_MEM_SIZE}\"
+DOMU_SHARED_MEM[1]=\"${SHARED_MEM_ID} 0x${SHARED_MEM_HOST} 0x${SHARED_MEM_GUEST} 0x${SHARED_MEM_SIZE}\"" >> binaries/config
+fi
+
 if [[ "${test_variant}" == "static-heap" ]]; then
     # ImageBuilder uses the config file to create the uboot script. Devicetree
     # will be set via the generated uboot script.
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:15:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:15:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510418.788045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjhX-0000Im-GK; Thu, 16 Mar 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 510418.788045; Thu, 16 Mar 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 1pcjhX-0000If-DU; Thu, 16 Mar 2023 09:15:11 +0000
Received: by outflank-mailman (input) for mailman id 510418;
 Thu, 16 Mar 2023 09:15: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=zev1=7I=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pcjhW-0000IX-J5
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:15:10 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20624.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0af84de2-c3db-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 10:15:08 +0100 (CET)
Received: from DM6PR07CA0047.namprd07.prod.outlook.com (2603:10b6:5:74::24) by
 IA1PR12MB8311.namprd12.prod.outlook.com (2603:10b6:208:3fa::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Thu, 16 Mar
 2023 09:15:05 +0000
Received: from DM6NAM11FT039.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:74:cafe::14) by DM6PR07CA0047.outlook.office365.com
 (2603:10b6:5:74::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29 via Frontend
 Transport; Thu, 16 Mar 2023 09:15:05 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT039.mail.protection.outlook.com (10.13.172.83) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6199.17 via Frontend Transport; Thu, 16 Mar 2023 09:15:04 +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.2375.34; Thu, 16 Mar
 2023 04:15:02 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 16 Mar 2023 04:15:01 -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: 0af84de2-c3db-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hSVgBYeBTJ3YBHfm5KP2PiILqPs6psWjc4JbREFK/HezxaEdaSMj0cCQSEpUAnxZ+h4Zjbt7ISEMeCTk7dlmpNkbHyCiN/uvj3EdubmDMwYIpG7yDRgcZ8SkNziv+ROLrCe/8WWhuUzOrq/lBlkO6XPxN/1V+w8ww0JBy1GXuvxyeVnWOqj+FmQ1ZQohQQZnbSZkzqzpVshUPPKePJ74a4dWTt/uQnhlrPwjXoTHFh74hX7uKzejAqDse32hYjCO/P3SMQV2V2BmSs7o8w+pY8/zll51CquyOvkcnwq1cY2AKEAmA8VCo1ek+Kvh73iLgM0tFYmweJJPhVKTLzMG6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VS3sjAu9aAN0xii+G8rwUPWq0f4wbQqIZ5fTGjYmEGM=;
 b=b8xRjs6tm7fbn28QDFz4SwPKpIexh0wyt18k0+TloqaZDRAVbwasQm6DtlWbGI62FmZbMHKTETTv+U4nrs6fD2stUWgGpYHfJPR2rkVIIYNyfM9aRdVdoARDbRzeempnLvpkcUXeLtrjyCpYdERyYTafxnCd/ZsBCX8F04kPr/elr2iMJ9eI6OSVKuMJ1VycTzE8YjHuZ/BAkr0fplCV9UkXYejLpsFDu47tWrg0b6/J1wYy3SQ2KMaZLDdxxBezqq23XKKJa+KWG6fAap/Bl63Bbp5rrDJBZKCxavLg+Mn/vhKPeDFPH1Ui/sasvVGSU/afD8+wiehz7WwEt/LVfA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VS3sjAu9aAN0xii+G8rwUPWq0f4wbQqIZ5fTGjYmEGM=;
 b=ToHC3PWNjIOQ/W9MV3CFPUrX8jo6jy6jzJy09zrnoOfYB8ASiVk7VEbcF1BkXkolFMePhPe6VMDPLx6CHEZU3di88oIwvJKdagMTHtU3Lts7xCVEqR/PE8ufKp9KI0ndASKmrogZLby9454Uaj6o6ohEKoa03OcTUpOQsaHrdT4=
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: <63acdfc4-74a3-7db5-ddfe-04e7e20ea464@amd.com>
Date: Thu, 16 Mar 2023 10:15:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [ImageBuilder][PATCH v2 1/2] uboot-script-gen: Add
 XEN_STATIC_HEAP
Content-Language: en-US
To: jiamei.xie <jiamei.xie@arm.com>, <xen-devel@lists.xenproject.org>
CC: <wei.chen@arm.com>, <sstabellini@kernel.org>
References: <20230316090921.338472-1-jiamei.xie@arm.com>
 <20230316090921.338472-2-jiamei.xie@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230316090921.338472-2-jiamei.xie@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT039:EE_|IA1PR12MB8311:EE_
X-MS-Office365-Filtering-Correlation-Id: 6d34b78e-8d83-434b-afeb-08db25feee1c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CLeeiUog2ls8iCYgYVAltIxmbpmJ4VgzXBXnMUGA4lvjBRi1m6NQKqguq72IbpmtczXOSLHpllLhysasG2DQNL75G3lXclsKzhF8lALJ3SCL4TtuE87ArMp9ooHwvcIWpbWsEu7YoiqObZCajr3cSfjqBBMWUjsbl3XZtwMk90R3k3NLRO1UyrfzUilZI4DRTeUZdHmeSfU2xI5gnEh+7B0e8LDK+sDeqh5rFwAAMb8kvAqH90CsVhTL5rBjFVVswBtLVZ2wRWIbk1jjEBAbCsfP6LxsAsJGoVzGOokrUNINqjXoNpuyfhZX9GJxzzjgpGZYG8YwQDE4LPX3oUcvjfL0GkKfwLuZfJT72cfe4lo1dvWJidZKPeVViP+b9JNWPW6iyWhUQum+QJGg6trJS2LIXAbEspVc/1Gi4oGkfUC5F2cqHemg8jvRstghbKGmXGiZe/HHFrwRq+Gp5Ol2NkO+SRW5NfLeYMsZyoDNem9mUo4oNWcyUcsnQ+53Txj3pr+bc8Ha8RqArl4OLKQ5v8E0OzF3HeFR1sevKTdVSlPfd5xBj938I5mRKTVNgekGme0++TPjA3ee4gQchWX81DG3/fE5r9BxqeFGMCCIO+fC2SuCllFzdkc7cuNLBdAUzC273NTVGKv7VOvSeKse/0ZI5DJce5mw019NQuEupO87hGi2CWxATiJH0wU2Y5Zl7TElc+q/kEYpnsrs4Fx0nDFECjVOIkMsJvLshEGBlc301EyyoaxdpyhEiYp0iDqOHYGnxHve/J5ks4A3JzWWSQ==
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:(13230025)(4636009)(376002)(136003)(396003)(346002)(39860400002)(451199018)(46966006)(36840700001)(40470700004)(336012)(31686004)(426003)(47076005)(110136005)(16576012)(86362001)(40460700003)(36756003)(316002)(54906003)(2616005)(356005)(31696002)(81166007)(36860700001)(53546011)(82310400005)(186003)(82740400003)(26005)(5660300002)(44832011)(478600001)(41300700001)(4744005)(40480700001)(4326008)(70586007)(2906002)(70206006)(8936002)(8676002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 09:15:04.9210
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d34b78e-8d83-434b-afeb-08db25feee1c
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:
	DM6NAM11FT039.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8311



On 16/03/2023 10:09, jiamei.xie wrote:
> 
> 
> From: jiamei Xie <jiamei.xie@arm.com>
> 
> Add a new config parameter to configure Xen static heap.
> XEN_STATIC_HEAP="baseaddr1 size1 ... baseaddrN sizeN"
> if specified, indicates the host physical address regions
> [baseaddr, baseaddr + size) to be reserved as Xen static heap.
> 
> For instance, XEN_STATIC_HEAP="0x50000000 0x30000000", if specified,
> indicates the host memory region starting from paddr 0x50000000
> with a size of 0x30000000 to be reserved as static heap.
> 
> Signed-off-by: jiamei Xie <jiamei.xie@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:18:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:18:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510420.788054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjkm-0000uc-Vl; Thu, 16 Mar 2023 09:18:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510420.788054; Thu, 16 Mar 2023 09:18:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjkm-0000uV-Sw; Thu, 16 Mar 2023 09:18:32 +0000
Received: by outflank-mailman (input) for mailman id 510420;
 Thu, 16 Mar 2023 09: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcjkm-0000uP-9B
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:18:32 +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 828657cd-c3db-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 10:18:29 +0100 (CET)
Received: from mail-bn8nam12lp2177.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 05:18:25 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SN4PR03MB6781.namprd03.prod.outlook.com (2603:10b6:806:214::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 09:18:23 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 09:18: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: 828657cd-c3db-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678958309;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=nKIXbBUt4e9VIwlU/1SUWh6UYbqlYB6xHHMNS57hF4w=;
  b=M9UWD5btHf4KNRl1d7u+6D3BouljLDlenRj7/UtsDqJgpb8Hou7XSyGy
   ZyZ+mwBn0NMleBkj7iINMAWZsmit1q9+3o11FnPGdVnd0s61F/8VO19by
   /9iVadzcS7FXuyFcnfmaqJxmmHHvOjfqb1xg3l9eMCM5Yp/zFWHP9LD43
   g=;
X-IronPort-RemoteIP: 104.47.55.177
X-IronPort-MID: 101085780
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:wRvghqiNn2K7MpW3xRKkyk61X161CRAKZh0ujC45NGQN5FlHY01je
 htvD2iFP//YYzOmfd9+YYmyo0gPsZDWmNU2HVA9qytkHiIb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waAzyd94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tRHLW4hMwqZn9ufzbGQZsYyj9hkBezSadZ3VnFIlVk1DN4AaLWaGeDgw48d2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEsluGyb7I5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjAdpCSeLorpaGhnWUhXUuKj0nZWKCvNSD10SHfuNfD
 FELr39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLP+BqQDGUASj9HafQludUwSDhs0
 UWG9/vzDC0psKCcT321/7KY6zi1PEA9JGsPdSYCQQYfpdXuvYozgwjnR9NvVqWyi7XdEjHqw
 iuWrSE4wbYUgMgK2I2y+FyBiDWpzrDyUgMq7x/LGEKk6g90bpSsYYCA4F3Xq/1HKe6xRESbr
 nEAnMSZ8+kmApSElSjLS+IIdJmp4PCKNDDd2BhvApAn+Byk/nLldodViBl8OUNoO4AWeTbvb
 2favA8X75hWVFOIbLZ2aoT3IMQny4DpENijXffRBvJeb540eAKZ8SVGYU+Lw3urgEUqibs4O
 5qQbYCrF3lyNEh85D+/RuNY27l7wCk7nDnXXcqikEvh1qeCbnmIT7tDKEGJcu0y8KKDpkPS7
 spbMMyJjR5YVYUSfxXqzGLaFnhSRVBTOHw8g5U/mjKrSua+JFwcNg==
IronPort-HdrOrdr: A9a23:FxZnCaqGZ8FpiYZAAKzA8TMaV5oWeYIsimQD101hICG9E/bo9P
 xG+c5x6faaslcssR0b9+xoW5PufZq/z+8R3WB5B97LNmSLhILBFvAB0WKI+V3d8kPFh4hg/J
 YlX69iCMDhSXhW5PyKmTVRWL4bsb26GXmT9IDj80s=
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101085780"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xpy0zRWij0lZIS1RRRTFUuA1C28WuhPxTqXYotGnN4v4rlBs82FjuK4rl4orcAqAKfDBLooZ4ef13t1vJJtWcUD7oMp9mWZceleSYbYZduUsJR3qSvhv/8dv4b8Ni1qQX6GRA4EKvZBsm6WCLvtYyj6/G0M5lTNt1rBJzJtlicSk3kJO7H6K3dKfUP7cxD7DNa2g0DufezPL681+4LhpNKuYM8o7LepHQsPN/by8pEQqKBUy3yxgzASqe/7YEo7fHK4Le4Ire7frGBYAAt3tuU4C/L4+pXRiGLyK7s6Sa3FYQLyHZ9Z8/QQ5Hlx/zi33hOE+ecNbN3rvzSXrrMbx7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zeDgwPxXeVZs1PypmdYNODInBTn84U3CB2OPdRnREVM=;
 b=ZiUnkVFLAKSWR+Bl7cLfW24+IEtJvQ498xMtMtW2D65/VN4aoijt5hXpSukaM7PKK2MNURLYkv885HV7b5mXgAA+UDpIdy4WqjC4Y3d8g8EuxH8tDWZlxxZLZcpQJXGw3lEFGYYJe5E4VM7s9oq9IOUHyUVPZ5BTBm+2nz1dFwdIBJovNiGpSANxqvjRVjUzvGTLlP7re/3vpmAXHvls3QWhhli0u1ErLVRY/uAkWoS8/A63xo3wiynPuij7PYqgN34xm5hOcWapHdwiRTJ0ucqQES782M/3/YMfAZRPrmqTn92Yw75vKkiW19BtlGYZ/Gn5bHHFK5J0Yg0HymQ8jg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zeDgwPxXeVZs1PypmdYNODInBTn84U3CB2OPdRnREVM=;
 b=UUYb74uKLQr/DgJnB12VXw9cdD9VcL6N1Oi5zSwkkycnq4DYPd7+bml+kbv08ZFI413KleELmtEtee0mzYMgTRv+/PXojRSE5mBLFLBirtP9oxM4VXGHiG7tXOG27RkXSLMFwdK3ND3W5VPLdZBgxhau6GXd5sS96uSO7L1MB1A=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 10:18:17 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Huang Rui <ray.huang@amd.com>,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [RFC XEN PATCH 4/6] x86/pvh: PVH dom0 also need
 PHYSDEVOP_setup_gsi call
Message-ID: <ZBLe2XJGh76ltVpW@Air-de-Roger>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-5-ray.huang@amd.com>
 <c51bcc5b-4f90-5651-de3d-df47bdf4a04a@suse.com>
 <521ccacd-a45a-f55a-72ed-de6b64bca050@citrix.com>
 <alpine.DEB.2.22.394.2303151723190.3462@ubuntu-linux-20-04-desktop>
 <9e493e2e-8cca-2b7e-e6b5-d4413c54a866@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <9e493e2e-8cca-2b7e-e6b5-d4413c54a866@suse.com>
X-ClientProxiedBy: LO2P265CA0228.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:b::24) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SN4PR03MB6781:EE_
X-MS-Office365-Filtering-Correlation-Id: 68188d72-eb8b-4724-c968-08db25ff63db
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jj02x+8SaaUl5BufhpHsvdo4wzxNk9B5wULnp2xA2ZDpCUnA7vfK50jJnz5qFARTci0I5o99g7Xw/Trd4V7bB2uPW8yAeDoN5luyaH52SMHHxvQiuZJhf8ZOHQJ0YOrTVKxZ3KHLg87pElp2ywQ3OuYTr/jFIdNMxEx8M32fACVs/dUK3Xvoa4d4SYfKAHpP0KxEvt0bYZ86aMVqnnwrwf6nCko5B3dzrKeuf2T22sZhBJ8/aSGA5m+55jiv8Bz2FSpOZpuLmdgg513kjqikgmtPVBKUlmOjWxA6y5siyb8L6ZNymFOncqm0DCfpKWU+RAKGDfjmRYKVWAvnp9I8hu/ZJki5fWEuHfZV21u4T0UtsI8vr5UXIG6xRyHNeVFqMOqTMH9FBfOaibXNnfFw3hm4DYDVoorQh3tNAYl4XfnKHu7xLzYZuNxgcavOD+PBTlwmVonq3SQLcx6OcgE18S1giI0wQTJeWaeyaXpkYj3hCT21Ut5cMhexxi1rX4287xmnsx200WoocbvXUovBMwTxe2UFHmJzBJwLiFhTVB8WFz86yCZVXh9BMDk2EPU1N3Rmq+VtHGgPRdNvikIaDc06nUking7e8YTpGEkFgOapR7aT8KQmjdrrkPhm0mmLuGZMN+gcz70KwdUT3DSOwQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(39860400002)(366004)(396003)(346002)(376002)(136003)(451199018)(86362001)(85182001)(82960400001)(38100700002)(2906002)(41300700001)(4326008)(7416002)(5660300002)(8936002)(33716001)(6916009)(6512007)(6506007)(26005)(53546011)(9686003)(186003)(83380400001)(316002)(54906003)(66946007)(66556008)(66476007)(8676002)(478600001)(107886003)(6666004)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MVZiVHFkNnhuZ2tmUTNobFJ1YXN2YlJ3a3FVUUxWVkZGN3hDbTJRUjJJQjBG?=
 =?utf-8?B?dTN3b2Rvb01JUGhualo2R21rVTFXZjNCM2NoUWtvelhyd1UrNkJxajVTYTdx?=
 =?utf-8?B?THF6YUpCY1N4RUFDVDFldjhLRWtweTZ1UmhITFpWejJpZExIT1dSc0hDb3U2?=
 =?utf-8?B?elcrY1dhRjNERWU4cG5KQUtMRnllODZlbWJYOWpKZlc2UFBCSUFOWDhFUE5l?=
 =?utf-8?B?QlJGQk5SdlkxSlZYMHl0RUJwTmRiQ2xhR004MHVkenhkOFA4WHA2YWlIZDhu?=
 =?utf-8?B?d1BEMG9rWU5tSGYzWHFDVzhDWTE2cEtxZ0JUakNHUkFtMGxVM0FjLzliVjNF?=
 =?utf-8?B?bkYzT0N4R3orbjBqSUdTM05teTl3NlJ2K3hBN2xxa0ZRSmxsL1hoK1hmV09X?=
 =?utf-8?B?YjZaOW9BRyt3V01IM3VkSVpPRkhScTVMT2NBdDBZajN4Q3RwaDVlNTZ3bFFz?=
 =?utf-8?B?VjNYODdDTUN6dGtlT252Qm1ZMlR6MldaUFRuWVorc3J0VE5lelhnUC9jVW9Y?=
 =?utf-8?B?Tm9hRENSSEVTU1ZJL2oxbkJodkptSUppeHoyNHpZcFpEakRUaitNV1lqd1FD?=
 =?utf-8?B?WHNhT0RYeU9ZaVVsV3VpS3ZOY2poZGkwRWhORW9MSVA2emF1cWdDc2Z3Nm9V?=
 =?utf-8?B?ZWVJK0dtN25NcVlvbSttRXAyY3dNVG5QbXdYdmVrcFBPQU9lWjRnWVA3Qjd2?=
 =?utf-8?B?d1BKakI3QnZFSGhJalZoZkNFTUlUOCtKbmlWQXV5UlJYQ3VwVTFkRFduaFdh?=
 =?utf-8?B?TFVtbncyOCtqRlovQ2JuMVlGTENRNGVPWmJUWklpUmFaVHVENmJJV0dETUJP?=
 =?utf-8?B?dGJDUlV5OXVKQzdHbzZEMVM3ZFNYNXU0eTFQWEdLc0hzVWd3dko1dTJyTVFW?=
 =?utf-8?B?RXRJMzNDdWZmdklIaC9PMG8wNTcwS01XUXpzU0VlYU9SZDF4VVdOVTVIY2tu?=
 =?utf-8?B?Rzd4THpCOXJFUUwyWHpRd2VCZHJMbVpBdm92WFkwZjQrdE42ckdWVGFNYWlM?=
 =?utf-8?B?SXRDb2JNbEU0OG9tWWFkaiswNExXcCtpNHFrczJLWGJQd1g3RkkvRzQ5dlRj?=
 =?utf-8?B?M0V5dHpON2RTM21SWU5OSW5PTEZsTTQrQUZxTDVxZG5NTUZkdzRUOGpha00y?=
 =?utf-8?B?OEtGc2k1c3FmSkVZOE5WbG5pbktTL2RZeWRkWSs1UXg3UEF5bDVVaDdzMTBv?=
 =?utf-8?B?TkcxazFSWVNZRytUdU41bVdwd3ZGUjR0NGJzY1J1eEVaM0pTbjJIR1FWWERP?=
 =?utf-8?B?QWJHTklYUzZxOStGTStVOWM2WFZyTzByRVlyNThiSmg4ZGVvV1B5a0FSRVN4?=
 =?utf-8?B?TnlRWEZuWUpyTm5YQUxjZWF3RjFqYjNsZzdLak9PMkZPdDZsSWtTNERRcStV?=
 =?utf-8?B?RkNNY0JwOGcvVUE4YSs0NHJvOVhOSXVRUExpOW4wL3M0VXdFRFVIbjVzRXZU?=
 =?utf-8?B?U1E3NzJnT0R0OURxZVQ2R3M3b1JmK0t3MWFiRC9nOHJtWm9CTGZGMkJyMlJr?=
 =?utf-8?B?czFOcHJ2Y3lDSzFJS1VTOFRUWEx1VkRhakwrKzE5bUYvQlMyVVhVeFBDRnBP?=
 =?utf-8?B?VVE4V1BkRWIydDJqRDdjVmdnN3hQOTUzU210bXdwK3Exa2s0RXZ6ZndhUDRO?=
 =?utf-8?B?YWRPU2FIVTN2eEdkMmsrZjYvMnFaVFpOYk9rYmo2UytnUTZ1MzYwY2dRNW9L?=
 =?utf-8?B?QmY0aU9BVFNyNmlpRktTL0hWNVRQSWwwWFlhdzFocnQxcFFHYVlId2xkcEV5?=
 =?utf-8?B?ajRUWFhnUXNxaUZISlZheE8yb0NqWG9VNjg3ODJocFlnNDB6akc3L1dRa0VJ?=
 =?utf-8?B?TWE3ZFEyRTZISFd5UkZxcHNJUTBLOFF4S3JNQ2ZsK1FhUHo0dkdJRlFjVVRL?=
 =?utf-8?B?ZTR0UmFrdkNzbG5EUTZac3U1ZDBNTFlJMmJNeGJBVzdwM2ZaczFvTDFZeHJF?=
 =?utf-8?B?SUZOQTBUTWo3WGVQS1lSY2dPMDNJdGFXbXJBNXlGS25HcXFvNzN3WDZKbm55?=
 =?utf-8?B?TUNqc1hNZXltTWZMMGsvd2JLcGYzVmhkSVlSWkNGaFViRGF2R0MwUi9mejRU?=
 =?utf-8?B?eW1qZ1E4Vlp1aXUwNFFaamEwQnZxSWhtT1VRY2d1TGYzQzRKNFZZdy82d284?=
 =?utf-8?B?azU2ZnVROTFPM3VIaSt0b2JIc3FGWlg5emZQVDJVaGhObU12Tk5KeXc4Z0FY?=
 =?utf-8?B?YVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	T0fnhPmO3ZJDiwt5RDvhwvMmw0wuxRNv74UB4Fz5uRMUup+2OHiHr0+qn57CSXNK9GaY8EzUhZGll+wbAu73kYICuMWA1XGj1oYGGlIrKq3Bw3PYE6Uk6ak6mflOZm7UIKnHmVAdQiGuzdjB8qHECDoL3t1twULVjszphQVk0sjaeWW8XZJaBwlPqqwpVQ6vGkP6WP2v0Ue12MS61dgSWezELs83ymVUyn7a+F5NZ2v4aLJUfaZfjpzKYKEASuzKEFIpqUQQb9RAZiYLrA5bR1BOJQIMFCOKEjNLwtf+x+3H4Mr7B0PA2hitktuzQ9m8vBabxH7QZjM3cdeWXQhzytGFbe/4ScuOrXihPQmjTt0CF6OKQ/1RISJlPAryYcKFsOAmAPdQmxWxFzNcQHEDygERuuyMwqF+GEnXQXvCtahU1zslrDltw5xOtOIycMOnHoxM9sWW5Cp70j3ur6PkROON/pQvyf39lZgS59v/mub+2jfgcHMZ/SKcgj6JudKjyp+kgj6nmsGXqdMfqgI86oUmlgwlTaWErQ4OPb/FWBL2JP8N8AFESADE5BvyIqNgM12D8I4zshOfbY6VG8cpcakT9uyZ3k7hb8JGx5GhQ83KDD2LsPt04EyOHV4a20gJarkZspRZxVAQhjppZOqIgldm9/fU6A0dPT4j/XWmUgU40WkwiXTLzOGqlL4ayJGricUH1DPgvwLR7wPvEQkRHcbiL0Yc34wf3VqT0AYNrZQB9BjIItP/JU0SF56rAJD5/l4XtiIvRI47hhoDPsdvw4KqCe9u3G8VkycRnrAUyMdbjsQYuyKd6fGawRSbKDpjaFEOGUijrg8A1rnF2ACWnZ458or/SI4sY3zpmMNFfCgwnOfu2EBOQW2WX4b+QmBs
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 68188d72-eb8b-4724-c968-08db25ff63db
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 09:18:22.8102
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 63RGOB+JVOT0KWhWmBVlsksrWzSfwxcfiK3fys9xd1L1wxfGQeJiMUpK5OMoAWDOIrLdf/26Xhn/XwS6W4j7bg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR03MB6781

On Thu, Mar 16, 2023 at 09:51:20AM +0100, Jan Beulich wrote:
> On 16.03.2023 01:26, Stefano Stabellini wrote:
> > On Wed, 15 Mar 2023, Andrew Cooper wrote:
> >> On 14/03/2023 4:30 pm, Jan Beulich wrote:
> >>> On 12.03.2023 08:54, Huang Rui wrote:
> >>>> From: Chen Jiqian <Jiqian.Chen@amd.com>
> >>> An empty description won't do here. First of all you need to address the Why?
> >>> As already hinted at in the reply to the earlier patch, it looks like you're
> >>> breaking the intended IRQ model for PVH.
> >>
> >> I think this is rather unfair.
> >>
> >> Until you can point to the document which describes how IRQs are
> >> intended to work in PVH, I'd say this series is pretty damn good attempt
> >> to make something that functions, in the absence of any guidance.
> > 
> > And to make things more confusing those calls are not needed for PVH
> > itself, those calls are needed so that we can run QEMU to support
> > regular HVM guests on PVH Dom0 (I'll let Ray confirm.)
> 
> Ah, but that wasn't said anywhere, was it? In which case ...
> 
> > So technically, this is not breaking the PVH IRQ model.
> 
> ... I of course agree here. But then I guess we may want to reject
> attempts for a domain to do any of this to itself.

For PCI passthrough we strictly need the PHYSDEVOP_{un,}map_pirq
because that's the only way QEMU currently has to allocate MSI(-X)
vectors from physical devices in order to assign to guests.  We could
see about moving those to DM ops maybe in the future, as I think it
would be clearer, but that shouldn't block the work here.

If we start allowing PVH domains to use PIRQs we must enforce that
PIRQ cannot be mapped to event channels, IOW, block
EVTCHNOP_bind_pirq.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:27:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:27:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510425.788068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcjtU-0002hn-Vp; Thu, 16 Mar 2023 09:27:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510425.788068; Thu, 16 Mar 2023 09: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 1pcjtU-0002hg-Ss; Thu, 16 Mar 2023 09:27:32 +0000
Received: by outflank-mailman (input) for mailman id 510425;
 Thu, 16 Mar 2023 09:27:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcjtT-0002ha-BJ
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:27:31 +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 c31c6985-c3dc-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 10:27:29 +0100 (CET)
Received: from mail-bn1nam02lp2041.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.41])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 05:27:21 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB5847.namprd03.prod.outlook.com (2603:10b6:510:35::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Thu, 16 Mar
 2023 09:27:19 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 09:27: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: c31c6985-c3dc-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678958849;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=noeeStbSwfEN9WGKxSLo/qFpVEV3FNLZMybDH/ZJL5o=;
  b=aDgpSe0S/Jb8SgEh0xv5JeKmGFvrmo/5eoG++ZakUcS98OQWlbYE2wpP
   FMiU2n8nyXapbUGbUXrZUpVlu18mI9mFQhchK4+aAz6npDBKq66XpP67g
   8K4sbtzp4yEboifoFVqWBKx+53VCweOd1kkm4VsFZm9NCtw7F9O8j9cJH
   k=;
X-IronPort-RemoteIP: 104.47.51.41
X-IronPort-MID: 100452991
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:SWeSD6omrCJWgFpYE+aer1Tb0tBeBmJ2ZRIvgKrLsJaIsI4StFCzt
 garIBnTO63ZamGjL410YYSypkkEsZaHxtRiGwBs/nswFS9E+JuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzidNUvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXACJQbirEjMvn/JmcZvdKpfsxNpTCOapK7xmMzRmBZRonabbqZv2QoPV+hXI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeGrbIO9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAuiANpOSefpp6cCbFu741IpJ14odVKAg6OQsQngV5Fgc
 mE15X97xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L8+B2FD2IJSjpAbt0Ot8IsQzEuk
 FiTkLvBHzV+9r2IQHSS3r6RoXW5Pi19BX8PY2oIQBUI5/HnoZovlVTfQ9B7Cqm3g9bpXzbqz
 FiipSwzl7wVgcMRkam24FvHjiiEr53FCAUy423/VWK/7xhlZYejIY+v5F7a4t5JKYrfRV6E1
 FA/h8WB5foSS7GMkCCASv8EGr2B7vOJdjbbhDZHFYQ75T2p/HKkYol47zR3JUMvOcEBERfpZ
 0ncvQ5QvdlTIXKsYod+Zo73AMMvpYDiCNDkX7bGbtNIbbB4cQPB9yZrDWay3nnsmU5quqEyP
 7+SdMrqBnEfYZmL1xKzTuYZlLUtnyY3wDuJQYihl0j+l72DeHSSVLEJdkOUafw057+FpwOT9
 MtDM8yNyFNUV+iWjjTrzLP/5GsidRATba0aYeQNHgJfCmKKwF0cNsI=
IronPort-HdrOrdr: A9a23:uW6EUajKra7CF2JYpEL4i4IGNHBQXiAji2hC6mlwRA09TyX5ra
 2TdTogtSMc6QxhPE3I/OrrBEDuexzhHPJOj7X5Xo3SOTUO2lHYT72KhLGKq1Hd8kXFndK1vp
 0QEZSWZueQMbB75/yKnTVREbwbsaW6GHbDv5ag859vJzsaFZ2J921Ce2Gm+tUdfng8OXI+fq
 DsgPZvln6bVlk8SN+0PXUBV/irnaywqHq3CSR2fiLO8WO1/EuV1II=
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="100452991"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YD5DbfvFXGse6e8dnbIlH1Qt0hk6x6w/mmv4gdg+YCC8bWPeWZz8dyb83aLuMGaJKd0U7G7t83JtGomwWH9GPQtPEb8lFdFsAoEm68WiBF9SkilHKkTk3jd9iNaKw9aAlIjAtd0qPnh/BZpCAOvgTyq53xUm65VwDKOIVVObOFXzYgoNIy0GDHvOKOtScbHBjHafTqwk4aVQQXIFE0oZM7TAIMATSUmhJu2KBmuqab9Ah+76P7nfoPwob6qkiX0FkC9juc01YHdumHEiR6AHcK4m4dKVIVZSAwN3JSxLVhvr9aIwmLrkjm+CszYr4cKW6g6MfGg86YwX0Br1ijqPwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I1C8dBfsG21s0mNc6NHFCuH8z+BB42CbPVqLevqhTuY=;
 b=TUw8xUEXR8/VqMaaZiQfghEg7HzrO6tvmOpR3ghHZi89C7lb/YHTfC0AnNTw+bu5mO2s1i2vnhpYjfKl4f3bcjc0v7W/Dhf1QccDJTMOLNru3nnn/n47kwf++YVflO4MvVaRzY7XsA1GRFaXKrE6w7tdq2FQ6z8gl7AhUVc1zCSx9xij6ZCtErqqvAG93MzPEpWtlFggtQA2G0EkmThuvARwY+mTpqnpzG22YmiuKVgd48dzqTr7qVSguSr5CuQxzQ9QRHaVrOQe9KUAhdyiBx+aeyPq0MjE9qQa18AxtN8ShKLIb+fIjOSlVctgJ/twGKOodwVDvSIjsGqA0iZ+7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I1C8dBfsG21s0mNc6NHFCuH8z+BB42CbPVqLevqhTuY=;
 b=Yn6r8VYvX/VqP1O6X4Wi0Yg4gh9sJbAwHekX/6GsT7HajNr7ErmDtNPYxFNieC0SfSIRl9m1Vmqn7PtZD7yzR/t+PVeFwcj7k1HP6EYFY189Gj4KN18hlOw/lNAtMKrVlLrOEnPq/UCAU9OFRYst5dm/VxdnWAejbx5dz84aRLE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 10:27:13 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Huang Rui <ray.huang@amd.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Message-ID: <ZBLg8WB8HCoZvwz5@Air-de-Roger>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-7-ray.huang@amd.com>
 <ZBHz7PpUbKM69Xxe@Air-de-Roger>
 <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop>
 <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com>
X-ClientProxiedBy: LO4P123CA0680.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:351::9) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB5847:EE_
X-MS-Office365-Filtering-Correlation-Id: 3a66e7bb-71dd-4e7f-efcb-08db2600a366
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	d+tUEKHge/N+1+mYBgi2Oz8AzpYPudCpYhoqiULbR4H02WdUqM3E0kI38n16oeF8qnDDfGVDqORcBckuY3RanWWrQYtQIvYL20FwL0Q5pLx54HX5K7Sx3YZHOtyVv5QMUKBHnqC4JD2X9lm77j9x+eItGt7SDjCqkdrQZ7UK8tq6xWFSZUNf+CCrnrI+drqBRFItVV9xgf4nonqRoxjOxPSy1gRe1fgyK+gumtyMm5tswaV2SXvUQ65ltdqBGh2y/Q0f+XZyKh5wYctTpaDvK53nfrAbvsAaFwv6qCp3PCXP7sUmSrKbaXdczfoV4SWYgt4bpPrzuI0a9gbbgRN99alz2KbXzFTvgSC3Rzs7gy8RBjq6VgH/+82+7AJ3aGDOUARbNQcSx3+izSXAc3qghV+UIg3hpTtGqtEYj0QPjdgz587O4FfAUjfW2B5lxIILZw5bzbSxbganXIYXr+XD45XlRSMkNXKacwL5riR7/ovSddUPb5CBctJNGacp5e2LMtlV3bKTJ0L/tBWvqv+aOLcYJZhL5o9KoNHrFbbtciVUkaWLLjEs5rHC9cN8Azf1C9rh745pMGBzdS3wzl7Hi8fCd99oZSj5GcvaipYJmp07vxzf+R6VMe1x5oWaLlXaeHbsVyJxJzjIU0avEDXSvA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(136003)(346002)(376002)(366004)(396003)(39860400002)(451199018)(8676002)(8936002)(85182001)(2906002)(478600001)(66476007)(5660300002)(66946007)(4326008)(66556008)(6916009)(7416002)(41300700001)(86362001)(316002)(54906003)(9686003)(6486002)(6506007)(6512007)(82960400001)(6666004)(53546011)(186003)(33716001)(26005)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TVFQMUttUzRYRzExUENNQ3VFS0k3UUhsMGlwT1hwWFFUQkRUaGdSa1h2enR0?=
 =?utf-8?B?WmZuV3JxaGdzQkYzZ0UwbjhpNXZhOFlUcjNGSDFDdFh0blFMcnNCT3hGYlJL?=
 =?utf-8?B?VTZIVkhOb2UwMENwNFdPOEFFOGEwMTVZTjY2N2l4UFlJWDJMSTJUTEZGaU5W?=
 =?utf-8?B?YkpqUEV3aWtwWHN1ZVNqLzU2U3BPZDl3ZVFKcGg3SlkweG5RQmZMN3N6d3M1?=
 =?utf-8?B?cFBOZlYzaFlOcUtJTjcxZVA4dnZwV00rdjdjUEpZYnQyempUTW14dlpVbkh3?=
 =?utf-8?B?cW16Rk0zL0JYVklOQmIxSEhHTWw5L0F0ZXFPbE9ib3NZTjl2R0VoUEhldVIr?=
 =?utf-8?B?MSt1KzloZmFSbHZidmhEOU5iSjQwaU9hdnZjb2x6WDBPb1BLM0pzWkNSOTIw?=
 =?utf-8?B?UzBnUkRDV05XdXgwZEorT1RLdVEveXRKcitWcHBJSDhtUDNKVDNQREpGeDJL?=
 =?utf-8?B?TFA2Tm9nL0JFeXIxQ0RPT0N2UUtJUEk3S3dBM093VkVuSUFVWWJnZThSeU5o?=
 =?utf-8?B?Wkk4a3JiN0pPRTB3OEJNMTYxOHhDVVFqRGtHYVA4SVNYbE1sV3M5SkppUlY5?=
 =?utf-8?B?cVhXZmUycFpkT0plWmVORDNOZDdCV091M2cwMVBBa3ZsV25vczc5OE5Xelpu?=
 =?utf-8?B?RXJsTmd2UmZiME9aSjl6K3F2K1QvNHIxaXZnRDhLRGovNy94VGlYSFBGaEZG?=
 =?utf-8?B?YkhYUGNkYkpNbkFKTHp1V2hIaEN6QmJ6bjd3WlJNczZaem9hV0tKZXYwM2ly?=
 =?utf-8?B?TUMvSVJpZGpzVUt0NFpzU0pYWHdyL1ZZNTFlb3Y3bFZiMzgrY3dLUW1Ickdk?=
 =?utf-8?B?emt4NkgvL1Uxc0J1cmJIMWNXVFlKRWhYRzdpQnEzSC9BT2dHQ3FHMlpqam5x?=
 =?utf-8?B?aFc5a0twMUtWTFpyeUltWWp1WGZLYnRNZVdmTHJyV3ZjZGpmMmVPNlZ1QWU1?=
 =?utf-8?B?NGpINkJUM2xhaXBUMTdOM0lHT3Jpb3VRWUNkK2ZUY055by9JNzdHcE5OM0Ft?=
 =?utf-8?B?bWRMK0hLV0lJeDF4bGNKWWZGVE5zLzZLZEYrcGdBZ2NSeXNyRzk2RXd1OTc0?=
 =?utf-8?B?VzNYVkNTMUxCNmxyVWREZDJBZjNubzNveGJwK1B3b2VCa1F0QXRMQ3VVRnY2?=
 =?utf-8?B?bGMvMjNNL2t6OEVBUlVTTVAyRzJTbkFhQjlZTGNULzIrejdxU0NoaS94Qmp0?=
 =?utf-8?B?S21zb3Zhbmw1RW5ZeUhKNkVLQi9KU0tCaFJ2WnFUMklTdkp0aXZrd0RoYW8x?=
 =?utf-8?B?alpkV2xNUGtBWlFOUmZzOGd2REZjT05FdVZRQ3RnOG03c1FoZVVKS1pncFRr?=
 =?utf-8?B?SlAxcjBISkQrdU8rWHRmY3VZcUYvNzdPVDYyQWJTSU4yMGJJd2RPZDNsc2F3?=
 =?utf-8?B?cDV6M0N6Z0NLR044L1VmOUh0b2hMU0hSaHlwcjA2QXRpdW9oTEYyazBURnVU?=
 =?utf-8?B?S0ZYYU1PZW1uRFFoS01YZTB3SStaNjVkc3pPWWpGWi92OFlDanhvelNEMXBK?=
 =?utf-8?B?ZjkwMWhFb1h5M0RnS2hoTXN5dVNLbThod1lKbTJMeFh1dTFybWd5MjNrNm1a?=
 =?utf-8?B?U2ZVQ1U5Z0U0YlY5R3ZZRkJsSUdQOU9aNVNVK0lPejI1Nmt4bEw4cnBVSUNP?=
 =?utf-8?B?ZVZ4U29zYWJjamsvRDlrR0RDVXM3ZE1PdENKMVZ3NHBUNnNrdGZJamlyaEQ2?=
 =?utf-8?B?OFhsL2tibzNNU2l4eUN1cTlad2FlRDQxYTJUbjVSRHcyc3dzb0FXNndROC9I?=
 =?utf-8?B?T1cxcm56T2toODEvRjdHZlpUdkEyUXMyVEdmR054M0oxejV6dmVCSkZWZmRT?=
 =?utf-8?B?UjRnQVBJOHlmd2NBZUNhcHBaMm5xTkp1NTU2cjNrQktZdWY4b0NmeTRqZmxY?=
 =?utf-8?B?TzMvTWx2amE2cytLOEkxSGZnTmZhZHM4VFJOZ1ZoamN6NWovVjhhbnhIK054?=
 =?utf-8?B?S082U1FzWXBrZUZuN0xldks1RHd0UFExc0x2cVNhWitKY09ZVWlIc2psUEx6?=
 =?utf-8?B?UGlvUmUwRWpYY3BmS1BBTk5Vbms4OVNzVTl4ZE9WSEgxTmV3YndsQyttOHor?=
 =?utf-8?B?TEZGMW00T3JLbEk4T29xL3paUjBHcmcwMHpFSElUZDcxQW9NTEN1QTdNQ3BY?=
 =?utf-8?B?MW1yOGNzaEZ2dlk4UGJqd1Z4MnByTGhRRGlUTVRwbFFxVno0S3VuT2pRNkxL?=
 =?utf-8?B?MUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	XeD8n0+gkWC1TgdPxBDQMyRsTBTeD586OVSSA4+KGI3CfsETAiHpV3ORca+b+4KTUKe8din7MLVcgZSEaf4ShaNDwk5D9ztSTOn6t/ppO+nv6P/hWVenjtUGDO2H70xyIAkbkBDujzrufvvE/2ghlNPYbmhu28aCgYRL42lsJB8e98U8mk7TxR5MXdXvNmNWS5auXAvi7qlnaa8TQIJTo9y+Yi3yTQnouturcAY7TKNrgw8pbOAhEV0XoD+bHMfmSK6l3L3b9C8EwwZp/ma3ujQt+RZKF9ZWUkfmmBxdYvvHXjaImXxqnxysTWMwSrBrvWzU16qwciR3GOAgHkNd9j+l3ybMeBdStJ75I30KvUJLAPoaaV+BQI9tO+eWRCHcprrNhGxelnC42uwqeYON/ZWIW6B6lgXGui/p8l+UQmMzYO3v52RID6x4vECuFsxGJxnkr78W5BnPJFzAQ5j9r6NjQFY5KKBM9Qr/5tvEM7TuZKsDNwJdjDSGCV2UBOphkOufpvkj/sDb1uBWFkRsmOuVooJzzV2e0xiuxmKgDlHgYJ6dRtdYZoWLXXWHr3YHqcHXah+OWMkH24vjY49eIPj/5aK5YwaKrrsxHQwpM0pzDWdxeKKFMBw18p8IE9e4JpEMDLpbTZWlok6M3XlBH2xhszq/kKj/ULcp4gw6C86LHNlutZp4yLzMawLV9j8D3jAuJkQjW37FQZySAET23pVH7YH5dtrilafJyoeNIAmVSaEiOu6ubxY6RuebaiFTLDob+X8LUQ9uPrzHL3HAV6slID6fXGyZHHg4hdPvkZMpsKl5TTVVSJ93jMRYa47kL1wreV8alS7UAHzHo23NnsjgseoEW17guedctdjdQ0JFtjcKw+ns/VWRsYRoyb2E
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a66e7bb-71dd-4e7f-efcb-08db2600a366
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 09:27:18.9000
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WnuRN2r1tA2ic4YxCqpBQ7afilq8F9t7mYXE0rLN3CToEoJSxFzPTk8JVzlx2ecaRrAlbwPV+oPT5BRgb2Tp/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5847

On Thu, Mar 16, 2023 at 09:55:03AM +0100, Jan Beulich wrote:
> On 16.03.2023 01:44, Stefano Stabellini wrote:
> > On Wed, 15 Mar 2023, Roger Pau Monné wrote:
> >> On Sun, Mar 12, 2023 at 03:54:55PM +0800, Huang Rui wrote:
> >>> From: Chen Jiqian <Jiqian.Chen@amd.com>
> >>>
> >>> Use new xc_physdev_gsi_from_irq to get the GSI number
> >>>
> >>> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> >>> Signed-off-by: Huang Rui <ray.huang@amd.com>
> >>> ---
> >>>  tools/libs/light/libxl_pci.c | 1 +
> >>>  1 file changed, 1 insertion(+)
> >>>
> >>> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> >>> index f4c4f17545..47cf2799bf 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);
> >>
> >> This is just a shot in the dark, because I don't really have enough
> >> context to understand what's going on here, but see below.
> >>
> >> I've taken a look at this on my box, and it seems like on
> >> dom0 the value returned by /sys/bus/pci/devices/SBDF/irq is not
> >> very consistent.
> >>
> >> If devices are in use by a driver the irq sysfs node reports either
> >> the GSI irq or the MSI IRQ (in case a single MSI interrupt is
> >> setup).
> >>
> >> It seems like pciback in Linux does something to report the correct
> >> value:
> >>
> >> root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
> >> 74
> >> root@lcy2-dt107:~# xl pci-assignable-add 00:14.0
> >> root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
> >> 16
> >>
> >> As you can see, making the device assignable changed the value
> >> reported by the irq node to be the GSI instead of the MSI IRQ, I would
> >> think you are missing something similar in the PVH setup (some pciback
> >> magic)?
> >>
> >> Albeit I have no idea why you would need to translate from IRQ to GSI
> >> in the way you do in this and related patches, because I'm missing the
> >> context.
> > 
> > As I mention in another email, also keep in mind that we need QEMU to
> > work and QEMU calls:
> > 1) xc_physdev_map_pirq (this is also called from libxl)
> > 2) xc_domain_bind_pt_pci_irq
> > 
> > 
> > In this case IRQ != GSI (IRQ == 112, GSI == 28). Sysfs returns the IRQ
> > in Linux (112), but actually xc_physdev_map_pirq expects the GSI, not
> > the IRQ. If you look at the implementation of xc_physdev_map_pirq,
> > you'll the type is "MAP_PIRQ_TYPE_GSI" and also see the check in Xen
> > xen/arch/x86/irq.c:allocate_and_map_gsi_pirq:
> > 
> >     if ( index < 0 || index >= nr_irqs_gsi )
> >     {
> >         dprintk(XENLOG_G_ERR, "dom%d: map invalid irq %d\n", d->domain_id,
> >                 index);
> >         return -EINVAL;
> >     }
> > 
> > nr_irqs_gsi < 112, and the check will fail.
> > 
> > So we need to pass the GSI to xc_physdev_map_pirq. To do that, we need
> > to discover the GSI number corresponding to the IRQ number.
> 
> That's one possible approach. Another could be (making a lot of assumptions)
> that a PVH Dom0 would pass in the IRQ it knows for this interrupt and Xen
> then translates that to GSI, knowing that PVH doesn't have (host) GSIs
> exposed to it.

I don't think Xen can translate a Linux IRQ to a GSI, as that's a
Linux abstraction Xen has no part in.

The GSIs exposed to a PVH dom0 are the native (host) ones, as we
create an emulated IO-APIC topology that mimics the physical one.

Question here is why Linux ends up with a IRQ != GSI, as it's my
understanding on Linux GSIs will always be identity mapped to IRQs, and
the IRQ space up to the last possible GSI is explicitly reserved for
this purpose.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:43:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:43:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510447.788078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pck8X-0005ac-AN; Thu, 16 Mar 2023 09:43:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510447.788078; Thu, 16 Mar 2023 09:43:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pck8X-0005aV-6t; Thu, 16 Mar 2023 09:43:05 +0000
Received: by outflank-mailman (input) for mailman id 510447;
 Thu, 16 Mar 2023 09:43: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pck8U-0005aP-Pc
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:43:03 +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 f0eeb724-c3de-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 10:43:01 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8852.eurprd04.prod.outlook.com (2603:10a6:20b:42f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 09:42:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 09:42: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: f0eeb724-c3de-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cACrpsoDDR1KA7fngdU21Tv4aEgry9fkieAwoxaqpByVO/qc1bfEGGzs1KXplWxpVh8huQN0Q7ky+WPbK2qhmDWTQDq0fRK6TTVAzU/ic5vy4V/3LBO19Yb1ogMcbpBvIH9Dpng+xIWtnqTCXG+EafosxPhH4WlwBsZ7Qdf2z+cY3f+e9IzRkN5LPWPdyoh/K+XCyohALWDF+aQNpxBDkCveBLlkSWEqBTAvOcMnfTqkt8bCjkgVoq/vx+qztaWbTAaXt28pJ7WeyOrfAyWnilj+VxrKXXDHvOePPLq0aePHV13Rm/RvVRgUgG2IxxnxYMES7WQBSDT3JLhNKu75TA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tLhy1bR6bdzsjeaBtMnuQUEBfIN6raiUp6zxFWckhi8=;
 b=Rv9FMVMl1ikdESHC0h+coPbXgMF2qbSPJFpy0LPjVsCDtvT1CPNvA6DBHLvvyDmu8N6GRk/bRF1jb8J4Cz1SLV8SEKEBHuEwflMkRroddbcdusB+NV29WVhv/9BsJvsAEZT8+YB8S9eq4V03/yH/aqzudA7ZIujuCYDCo7YfUbrsSlhqhA1a+n5/zzNEv/BPI2czOETi6PB7iU8NSU+L7P2ML7Ui8JvsIcjXdTYtJH2oPf2Ho//U9LQL1YSagv7cfX3/rCMT1JWy522vXsN75LwRyG8S4eBP3RAiQAtQEAV5WYwyTcPRGF/OOAyp5x+AHWqXt0ih52ZHVcvbO9qiMA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tLhy1bR6bdzsjeaBtMnuQUEBfIN6raiUp6zxFWckhi8=;
 b=So2T85qApzJy6wXKzY9SGsnkir2CpNpogp/UI8+Zr9Xy20G6C2Rt7HFaZAfcdl9RZHWLnSozCkzIllq3dP48NVFWqp8coR6dDKEhu6eaOhBKOTUsFSUfumQF2H6IzQ90OT04uBmGoOz9g0ssmJ4AypE43A9s8ZHVwyVhl1Wl0EkgBS8PeW+cKeyHBC32AU4cs+XzAbixULSy7ycXoA2cqUgCqFo34J+WP4rzmeeXaBUCNDUcC4G23mycGqlAktD4otvejS6kOji3g6EUO4+xTM2UkdYSJQwC+fk0sUjSr9R1nzevCLL1YDGKRrTFJOeVzp3o9SSVwEXtgO8A7rwafw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <df607690-0bfb-94a3-fac6-5e20f183dc20@suse.com>
Date: Thu, 16 Mar 2023 10:42:57 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Huang Rui
 <ray.huang@amd.com>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org, Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-7-ray.huang@amd.com> <ZBHz7PpUbKM69Xxe@Air-de-Roger>
 <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop>
 <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com>
 <ZBLg8WB8HCoZvwz5@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBLg8WB8HCoZvwz5@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0174.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8852:EE_
X-MS-Office365-Filtering-Correlation-Id: 9b4457c9-a2d6-498d-18b5-08db2602d424
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JmIfOTE7LEIg/mhVn/CsHrYb0U8BNFsw93g+3HY934EmXvAef9Vrr4c7d5v2rdYrvQQllcwQgdh4NjXNJvcbrN1zQQv8ijaHtRer9njFJXO5kd0QNgFX81DXxuGt+uF6+3CVEKElik28szuox6wiiIVBVSaJS15b7YccnXXWqy6v8A/sm//n82J6Kk2s0aje+s79Q5Ko56XJFFg+FKBLCMid2dJ1JibKJTIIeMmOyrTy7eMQH0EElzWjrjHNPSGGP9nE7MIzo4/WMV5yzXWNOCjobtN9TxcjnTda5LkEy8Udh0YAMqAdAFzjkDaoyQYHrIVXnXAoPgpsxpTG/4jogVObGQ5kLlK1ElP+aug1JrMFBa0TmdxmsHt8sFoJ6yQblPXf57Jvyx+OQF1KaPBjKI0XbqVICgSx8YuX3LapJlSJAq16VzS9fKaLMDJI5+9i4iztkKc+e9dhBkodMNLBM/FmO4/pGX+L7aeQ8wasVOmdBMzCAatS0EuShuw+qT+p+MgpTLDZ32lZUSGEqPqehKIaWehTAlTY6waVWMrKFr405WZ4gbbyIn2DU54L7f6oqY/7e3IPnNLLNq1E7vmjAhW3VaWpJhm860gA5kurOwf4fJ3SWhZCj5K9zQNqBJQSgNxByUhqOHAd517bR25FS0Wr0KQitZpUQ/p2Z54CtNiNn0cLUhrOCaoeFV5JkfvTFsAUkXG973JUWCuwOr/dscvR9IXwUquAG4UGYfl1nww=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(366004)(396003)(346002)(136003)(39860400002)(451199018)(31686004)(36756003)(5660300002)(41300700001)(7416002)(8936002)(2906002)(31696002)(38100700002)(86362001)(478600001)(6486002)(66556008)(66476007)(6916009)(8676002)(66946007)(4326008)(6506007)(2616005)(54906003)(316002)(186003)(6512007)(26005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OC9HU1BucEQ2SlNhSGMvc0tlZFRXUWR0dGZhL1B1eHUwc0dML21zQlJNb2do?=
 =?utf-8?B?Z29Namd1aWFuRFdLeWhQU0tWd1ZlNThmTDFSRVltUDd3S2RFVEJBUWhzTXlt?=
 =?utf-8?B?UW9jYy9CcWZ0WWVvRkFuVGs4cnVuN2ZOaHVPak92ZHZkcmp6cUtnakFRUGYr?=
 =?utf-8?B?MHU0VWdWVGtrRHBoRWVQWUJaVHBBdHZ0U2NTUEZrSFhUTytPWW8wK1lsQlE4?=
 =?utf-8?B?cEZuTlNFejhrdFVQUlJNNjNwVGdoN21hV1RnSkNwWTRnWCt0cW5RYVFGNzBT?=
 =?utf-8?B?Yms4MXVZZEtPN0Z3TmNEd29ReHArK0l0VXVSbnBraFB0T0dSVlBJM09EaVpa?=
 =?utf-8?B?TnIvamw5bGowRlVkTHJvTEc2dE05S2YrUkVscERkYjhURi9IbGp5M3VOZFJ5?=
 =?utf-8?B?dW5aMXZtbi9IZGJ5cmxSaGlobktObEd5V1c2NUdoV0pNY1lLZjVueENyQy9H?=
 =?utf-8?B?UFRLbGxha3k4RWM4YWNQWVRHVDdid2xRbXkvM2ZEWU1hRUtzeUI2MThDdXla?=
 =?utf-8?B?blVBbmVGNURLbHU3S0htc3gvS0lhbWpoZ1UwSzZoRml4Rzg0Y3hWeXJnOWcz?=
 =?utf-8?B?NEFqbUtWOCt2c0xQYzhxMlBxQVhzR0VNcFVwdk5kdVVEMmx5V05Rc0xyUlBI?=
 =?utf-8?B?S1FSTlNWWmxWaVh5RExyemRZTk15VjAvRUxOY2x6SWlWRVkrbktJUTEzMitV?=
 =?utf-8?B?NlFuUzBRZFpxTVIzRjAxa25hU2RSWEZrTERoY0s0amlVcFFwM2kxcDJXdWUz?=
 =?utf-8?B?blIvMGRPbVp5Y1RWTTZRZUdHalhEa2RTREN4N05yTDVpUVFxK1lCQ01CZE1X?=
 =?utf-8?B?UnMvbkpoRXZXTmFEbjFMVW14K0d1MXhZaW1ab1lVMmprWDAyanBVbFlhZkp4?=
 =?utf-8?B?cTRPOXFNd2ZrNUVhRGpKcUVoRnZaZmJmU3F5bTVFS3BzN3JzUTJlVFFBdWZ1?=
 =?utf-8?B?dnlFSFlFUDk1U0tlUXRNQUFuMFBUUWx1WTkwbTJEcFdQS3ZkTVEyY00rUVJ2?=
 =?utf-8?B?TVFsMGRPL2ZNVm91MWtSZkxFa1JxS2c1bkFncWVmazIrVjl6SnZxb2p3OVpD?=
 =?utf-8?B?MENlV1p1V2RvVlZOcGVDNk1lUlJvMHVVVG1pQnY3QW5mbktFQ0VuMFF3UjJn?=
 =?utf-8?B?d2JyNjFMMXRyVmREOG54N2NKY1l4ZjJRSzRkeGt5QmhKc0ZwdUR3QlpsT1li?=
 =?utf-8?B?M25WbFJDS1YyblQ0dHhBMHJzNjZvNkdSNG4waVllc0dNR1J4L2pHYUVkV0xE?=
 =?utf-8?B?eXhvR1c3Z3c1bmNsYXhyYzY4WXdxYlZueVRFVGNjYW52d3RFaE9FQW5QQ2lR?=
 =?utf-8?B?Y01jZUdJM3lXaTVyaGFkUm92enZjQjFwa0RkWEtLVnZZWUZNOG56VzZndWpH?=
 =?utf-8?B?ejN1Vm1hdDUvTzROZFY5N0E0cmlwSzQrdy81ZTRuSXJDb0NROTcwK2wrWHNM?=
 =?utf-8?B?VGpONlFoWWFsQ21NN1ZYdHIvNW96V3p0eVVSdWE3VHltSjJ4UHpDK0VwaWJU?=
 =?utf-8?B?eGkzc2NFVXVsS1F4ckcyMG1BN1YzWVc1M0JadG9lQ1FlTkVNOFQ1RGlDUWNp?=
 =?utf-8?B?MW1TQXAwcGsvQnVML1NGRGdDYnBaYjlydXN1a29JckNFNFc2dGpUT3RWc2JF?=
 =?utf-8?B?a25CRHJIRTdqQkEwZVFuOWdKRlAwSzJxVVAraXdjdVpWSFhpZFJWNk1oYWhL?=
 =?utf-8?B?bmtpZDRidnhzVUE5V3hlSUtkSjNPWWpDWjc2TjkxWUduN2VocXhsM1I0ajI4?=
 =?utf-8?B?bFhIRUdMTXREWWJhWW4wS2dZNkcxVmU3M1NQRHZ5ME1BM2tjQUluK1Q4ejJH?=
 =?utf-8?B?OUpmNDEvSExRS3FHSklrZmpIaVoyejFWN2hBRGlWeFpjaEtLVHREZDBwU1FG?=
 =?utf-8?B?Sk4wN244L3FkdGY5US8wdEo1bDdCMG9kOFVHa1VDYjJPMkJNc3ZIMUJWWXdm?=
 =?utf-8?B?MVEyMitBY2lpV2tKMS8vM3ZMRFBoWmFmK3d0cXFaK1JIaFZ6ZjdrTEV0OVJp?=
 =?utf-8?B?OEhtTFg0Z0F5RzNzeWw1OXQ4UzlHMWxvKzUyQ2lWK0xxa1Z3U2Y5WVp3ZHJR?=
 =?utf-8?B?dDJuN2dwaTIxUnBXbmFHcmJtajlPQWFoaGdLOGluRFdXUzYvWnNFbm11YXNQ?=
 =?utf-8?Q?WHsjGeV77IOjkdScpqvFIO49V?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b4457c9-a2d6-498d-18b5-08db2602d424
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 09:42:59.5232
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wX69pXXD77KaRgO/IsALCsLtVvdfyRcTUqbHBo3sWAlFZC6cr/GPn3OjxECD5VyIPPOovgTECQXMp6W+8AiS5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8852

On 16.03.2023 10:27, Roger Pau Monné wrote:
> On Thu, Mar 16, 2023 at 09:55:03AM +0100, Jan Beulich wrote:
>> On 16.03.2023 01:44, Stefano Stabellini wrote:
>>> On Wed, 15 Mar 2023, Roger Pau Monné wrote:
>>>> On Sun, Mar 12, 2023 at 03:54:55PM +0800, Huang Rui wrote:
>>>>> From: Chen Jiqian <Jiqian.Chen@amd.com>
>>>>>
>>>>> Use new xc_physdev_gsi_from_irq to get the GSI number
>>>>>
>>>>> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
>>>>> Signed-off-by: Huang Rui <ray.huang@amd.com>
>>>>> ---
>>>>>  tools/libs/light/libxl_pci.c | 1 +
>>>>>  1 file changed, 1 insertion(+)
>>>>>
>>>>> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
>>>>> index f4c4f17545..47cf2799bf 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);
>>>>
>>>> This is just a shot in the dark, because I don't really have enough
>>>> context to understand what's going on here, but see below.
>>>>
>>>> I've taken a look at this on my box, and it seems like on
>>>> dom0 the value returned by /sys/bus/pci/devices/SBDF/irq is not
>>>> very consistent.
>>>>
>>>> If devices are in use by a driver the irq sysfs node reports either
>>>> the GSI irq or the MSI IRQ (in case a single MSI interrupt is
>>>> setup).
>>>>
>>>> It seems like pciback in Linux does something to report the correct
>>>> value:
>>>>
>>>> root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
>>>> 74
>>>> root@lcy2-dt107:~# xl pci-assignable-add 00:14.0
>>>> root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
>>>> 16
>>>>
>>>> As you can see, making the device assignable changed the value
>>>> reported by the irq node to be the GSI instead of the MSI IRQ, I would
>>>> think you are missing something similar in the PVH setup (some pciback
>>>> magic)?
>>>>
>>>> Albeit I have no idea why you would need to translate from IRQ to GSI
>>>> in the way you do in this and related patches, because I'm missing the
>>>> context.
>>>
>>> As I mention in another email, also keep in mind that we need QEMU to
>>> work and QEMU calls:
>>> 1) xc_physdev_map_pirq (this is also called from libxl)
>>> 2) xc_domain_bind_pt_pci_irq
>>>
>>>
>>> In this case IRQ != GSI (IRQ == 112, GSI == 28). Sysfs returns the IRQ
>>> in Linux (112), but actually xc_physdev_map_pirq expects the GSI, not
>>> the IRQ. If you look at the implementation of xc_physdev_map_pirq,
>>> you'll the type is "MAP_PIRQ_TYPE_GSI" and also see the check in Xen
>>> xen/arch/x86/irq.c:allocate_and_map_gsi_pirq:
>>>
>>>     if ( index < 0 || index >= nr_irqs_gsi )
>>>     {
>>>         dprintk(XENLOG_G_ERR, "dom%d: map invalid irq %d\n", d->domain_id,
>>>                 index);
>>>         return -EINVAL;
>>>     }
>>>
>>> nr_irqs_gsi < 112, and the check will fail.
>>>
>>> So we need to pass the GSI to xc_physdev_map_pirq. To do that, we need
>>> to discover the GSI number corresponding to the IRQ number.
>>
>> That's one possible approach. Another could be (making a lot of assumptions)
>> that a PVH Dom0 would pass in the IRQ it knows for this interrupt and Xen
>> then translates that to GSI, knowing that PVH doesn't have (host) GSIs
>> exposed to it.
> 
> I don't think Xen can translate a Linux IRQ to a GSI, as that's a
> Linux abstraction Xen has no part in.

Well, I was talking about whatever Dom0 and Xen use to communicate. I.e.
if at all I might have meant pIRQ, but now that you mention ...

> The GSIs exposed to a PVH dom0 are the native (host) ones, as we
> create an emulated IO-APIC topology that mimics the physical one.
> 
> Question here is why Linux ends up with a IRQ != GSI, as it's my
> understanding on Linux GSIs will always be identity mapped to IRQs, and
> the IRQ space up to the last possible GSI is explicitly reserved for
> this purpose.

... this I guess pIRQ was a PV-only concept, and it really ought to be
GSI in the PVH case. So yes, it then all boils down to that Linux-
internal question.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:50:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:50:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510452.788091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckFN-0007LN-5e; Thu, 16 Mar 2023 09:50:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510452.788091; Thu, 16 Mar 2023 09:50: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 1pckFN-0007LG-1T; Thu, 16 Mar 2023 09:50:09 +0000
Received: by outflank-mailman (input) for mailman id 510452;
 Thu, 16 Mar 2023 09:50: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 1pckFM-0007L6-67; Thu, 16 Mar 2023 09:50: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 1pckFM-0002b9-1v; Thu, 16 Mar 2023 09:50: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 1pckFL-000322-Me; Thu, 16 Mar 2023 09:50:07 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pckFL-0000Ry-M3; Thu, 16 Mar 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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=p2A0Xrd5zjCI8z78OWOnrTb38Xm6DVLcOkuu/3gh/4M=; b=Gf6lxfZR4YFKTFreqeQ9g0fi77
	sISBa6UkHGefiTyd5cTzP3ziYA3ReQcktlSB74VgRwCgtP/Rb1q5q4T5ygQ9VehydlhTmaOEK/O+B
	c8wRdMPFYzPrK65TQKTmBDfNZx/sYgnJOWTbkmVuYyiytfy1OB1toXoAo6xi5+OJRgbQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179656-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179656: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=9c1bec9c0b08abeac72ed6214b723adc224013bf
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Mar 2023 09:50:07 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 17 guest-localmigrate   fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl          17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 18 guest-localmigrate    fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 19 guest-saverestore.2     fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 27 guest-migrate/dst_host/src_host fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  21 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm     18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     18 guest-localmigrate       fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                9c1bec9c0b08abeac72ed6214b723adc224013bf
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   22 days
Failing since        178093  2023-02-22 05:02:47 Z   22 days   43 attempts
Testing same since   179656  2023-03-15 19:40:25 Z    0 days    1 attempts

------------------------------------------------------------
2126 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:52:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:52:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510456.788101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckHR-0007uq-IC; Thu, 16 Mar 2023 09:52:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510456.788101; Thu, 16 Mar 2023 09: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 1pckHR-0007uj-Ev; Thu, 16 Mar 2023 09:52:17 +0000
Received: by outflank-mailman (input) for mailman id 510456;
 Thu, 16 Mar 2023 09:52: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pckHQ-0007ud-It
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:52:16 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20621.outbound.protection.outlook.com
 [2a01:111:f400:fe16::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b28ef7d-c3e0-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 10:52:15 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBAPR04MB7445.eurprd04.prod.outlook.com (2603:10a6:10:1a7::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 09:52:13 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 09:52: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: 3b28ef7d-c3e0-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CQNDyNvfpy3FRO/YOewmLlbdecc62f8I1PmdDzhj+/Sc+l9ZR5LIvXOGmE6e/OL2zkcYpXUXaNEo8Vn9L29GKdS3XQtHRNVx2AsE6ne+cFlgbgIKvT7RDDlgtehz/nXvKeR6LV1m1qCgBGoYXJtuPOHoVK3ACedvIl7Z+KP2NZClV8MxOZ9Sqn4NoyOuGNf2xtDhX/O3uuciwev+7PiZsNEXRhM8zTP279s0hGqO+irgKN5d5vuVYUusBvlEYBeDvL6MlPlgxAAoOTrdnhJ0hFyfABU92lNrd3z+u0wYGX3+vWeixsrocMA20wW1oVVv/vPfdVukySsoXF5Yv/Ey5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cW/4t6I4MqqHOOMnxOoHpsdSneQbOem+mTTcxPWTOK0=;
 b=BgKCeDCSKeTsGpyAI6X2vYnNSl7IkcWmfi5V3brcZxvoql2weuXdpBCjLh7nV/fz6FJ6kGCzKdcI7TMqwTEZpOatg1Czl/QGdkTwka2oSSdyq6v8mXZ7fhA9EQyg2tHqKfof1Q/z1qHi05f0tK2v/wdmRHOwJ3O5hb8Cted8Z/3CorT+kqzoL3syY41U10lb17M822r+u29njG7wEgJZMwysP5197RJ3jsjTlYux8O/rSftlXA2u5GBChWfA3Jjbch5VpZtUcAb1M7YHPY6Ev06YWKZE7C56XKpftvigqhTgp21QE817VNRzkgOjZj7tdkjyzNYHFPbht+kVWdDhcQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cW/4t6I4MqqHOOMnxOoHpsdSneQbOem+mTTcxPWTOK0=;
 b=Y8Ue2IfT+3TQOKwmIrVarLYU6Jfuc5GA0QHePpRTvI6uBoyN/jQjy2KoEh0s7h6yWRF6yZf/99zk+BTzK99IOVhpUUcNlGJbzkG4R4AEllkzQhgB/lf2rXswqJlRcVPz2zDcEtbO/bMqFkmeNQAzpO+dgZcCtmatn9mucgaSI7QQHLS9LPPLrKQqlihdgra19O8Fx4WzFn63JTHa9Zf4ZHx7ORTghWV3c6MVamQtXegaFy0pm4f2/MVK9W8f8q8+bZK6so8bSFl5i/Clf+7wlOqTnIslNFfENbIxJ1QtlLmv5Yq9HgwFWqb/+WvhnUHwQ4PLIBnp+RclBMBeOFgM/g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9af94e49-ff66-5e7f-bf5f-ba4095cfed13@suse.com>
Date: Thu, 16 Mar 2023 10:52:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v8 5/5] xen/x86: switch x86 to use generic implemetation
 of bug.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.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.1678900513.git.oleksii.kurochko@gmail.com>
 <5e252e8dacea5c4f2fdbb4f7970e34a862987639.1678900513.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <5e252e8dacea5c4f2fdbb4f7970e34a862987639.1678900513.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0158.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBAPR04MB7445:EE_
X-MS-Office365-Filtering-Correlation-Id: fefabf80-677a-4f97-fba6-08db26041e00
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xy+IsejC841RryKa7d27uIUbTieX0ojo0D2UlFwJ+XZ9zXPBmY/O1uNuRPlfXUFMfJnrMC/I4f8bRekSFEi596/X1mSwlc8xQKHdOp57nVpThkkw1WyYOElulJYVjm668ncdsWPIcHPWQVajL4pm+r0YW7Jk2Akb4vEFtaHqkyBzhzfJLjSQNb9o6IZPA9YT/MedkGjrwUQ+WqeyuUT21zgwaNxYi0DLIPz/8wEbKo3H+2H6xa9uGLrNrS+I4fkSRElFdrcyhrnVUGcYRs7iF1r2OAcOiHrj4UANJcyX/9teNqJvUFZkpuBRi1QqaMztD0JexEZjqnBvRi6Pcu9oZpvOUoFMox+l/bZsTbRbZH4Qwuu2yNO8H2GG6EL6D/6pG2ddx6S3rG827nWxH2+ttG5f4rcpGUSutD8Tx9P7GblaVBvGJ6zqgvZpYwIitDIglXwEkYL+ZdCrujQjDcoQy6wvKBOWRYeLozw75tAfm7XWA7Ex7JxJiE9ZnnrCGSwgQ0gCTobXG7K0467hJ68WSOt9eb+uCM+VRTwZ+l41K/MviCCHyONHqMltaUUQQhUl93o32mVod33zea8rn3naUOPwlo0RIRvPUNwKf8WHGUkEWLfJCZWuXiqxNggmKynJs+Izn2ITCqDEBf5Jabb4aQo+O2/2pWwvkCKYbCaS6MiUzIbd3Fxw4RwTnyqhopxsMtm60kY6vCeKpUsag0giZKD6Yi9ajblWLrIDHipgGfZ8XFEdb+VB/VuGBR23LP1o
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(346002)(136003)(366004)(376002)(451199018)(86362001)(38100700002)(31696002)(36756003)(2906002)(41300700001)(5660300002)(8936002)(4326008)(6506007)(26005)(2616005)(6512007)(186003)(53546011)(83380400001)(316002)(54906003)(6916009)(66556008)(66476007)(478600001)(6486002)(66946007)(8676002)(31686004)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UmJtOEhUL3pQOGZxSDBvekJtd3AydFJuOGFNL0VQMzBpRHNoTWVMcjhvcTlv?=
 =?utf-8?B?MnFTOGNFcUVmU0ZZZVJwMk1iaUFhd0o3dlZFcjlhcG4wbUtra3RzRWJFaW1F?=
 =?utf-8?B?ZXM2bXVIYy9ON0QrZnZpZTEwNXlIN2tSNTVUNjk2NW5vVXZyRGZIMUJuaHpS?=
 =?utf-8?B?YUpSV0FYUWljdVFGcFhPRzMrRU5iVjNRRFdKZWVhZ2M5Mlc4MHgxdGxzZjh2?=
 =?utf-8?B?ek5nc2RPK0MyTWp6YmtERVUyR0VmdjgrZGVkbmRWZUFJOG9CZFhJQ3lrdUlO?=
 =?utf-8?B?cmlQMExRNkl5U2ZreHZoTm1OTTZlRFhOWjdIaWt5a2t4c244RnM2Y1JXUzFM?=
 =?utf-8?B?V2xEWENFMkt6VlpiWmZiQnFaR0M3M0F5SnhsV2I2K0tEWVg5T1ZHZ0VCazZq?=
 =?utf-8?B?d3hGbWVaalh6MHdpcFBldEYvdS9tQS9SMFFQcWdYZXhOOWtxU201S2hRNWpm?=
 =?utf-8?B?K0plVXc3c0dFNStKTnBxR3pJZ2NPNk9leXhZQmFiWmlKR2JSWU5kb0FyeWFC?=
 =?utf-8?B?WWJ4NTFSYnhGYmQzemRyY2J6WktmM1MxQzYwVEZTZzR0QXZ0eXY5SFBsK28z?=
 =?utf-8?B?bk5ZeFZVY1lSTy92bFpybEY0Nk9ESWgvbW1UbHBkWUlwRFUzRlZEREQ4K2tl?=
 =?utf-8?B?NXppNjcyYzFJOEVzMFFCK05oVlpQemc2Sjl3SlhPdkw4VVlHa21nNnplN3c4?=
 =?utf-8?B?MFVNZDV1dGowR082VklJZFRPRXg5WjUrcUl5cHcxRDVXVTg2bURTdnFuemtX?=
 =?utf-8?B?RG5rRkM1enpOamtkNmhlaXhuelAzMTZndkxoc3ZiM1NJN3I3eUFLYzAxbHpO?=
 =?utf-8?B?M203SGxwMERFZ2VudG5qdE4zUjZFVXVJMWxMSm5SbTNEOG1vQ0hSZEs1VHI4?=
 =?utf-8?B?d014RkNxQWNMY3VYdy9yM0RpRGc4TGhEcldvTEI2S3BSY3JGbGYvMEZpN2xM?=
 =?utf-8?B?YkZyVlZRbW9MQWpPektoMnJOQkQyY3F4V29JUit4TzRYb0t6NXZPcEZKMlp5?=
 =?utf-8?B?a09zcFdNangwenpuTXZ4TW1uNjQ3c3NqM1hrQnRZVjJvb1VjZVV3dHBQTEhR?=
 =?utf-8?B?R3Z2TnZhdFhNV3VDSWlVTUc1SmhnRnRkeENpN0R6eUNsMlJmT2t0bzdCcUxH?=
 =?utf-8?B?eDhYN1JnTzJYYmRZeWJwcXpSUndSdnlmQWY0Ujd3RlM5dzBFbTRWSk9CU2pi?=
 =?utf-8?B?YlFjbitJZTRFbUhsZklxT1VMZlYvVytYOExHWXl4U09kQ0g0V0o0dm9vVzhq?=
 =?utf-8?B?NWFZVENNVStHdTVnT3pIczkyRW9acXhvdDRORXRkWHozOW82aDFLSGxTZDBo?=
 =?utf-8?B?T1pRaWJlaWxHanlUcG9kVTU3WnZFUXZnOTBpR0VsMlBDQm4vdWJJRWZKQ3ZD?=
 =?utf-8?B?M3FON2h2byt2OEZtaWRpbjVEWDBVcm1QWmJTOEYzUFlSYUJDQ0grSjZBMVRI?=
 =?utf-8?B?WC9oOS9lbXh5aUVQTGYxMUpua0c5a3l4Vm0vY3VJMjlwQVdzaTVyQ0tBdCsw?=
 =?utf-8?B?VHI4RVhUbUtRZmROSHZ1M3Jqd0lJTUNvcEJjUUJGZlpuNjlWRGEzakU5Z3RF?=
 =?utf-8?B?WUxkTXVIeWhlMTF4Zm1IaVhDeUNJUzRZQ09FSjJ5N2Z2R3JzNWRaKzZ3VmVk?=
 =?utf-8?B?YVZkTlpjN2JLc29tbW5ab1l4T2EyWGV2SXNnVnR2TXlqOUtjRGJWcVFVZjRt?=
 =?utf-8?B?OUloWkM5NVBCeldRdTR4c1VYUVpxZ2R5eW5CR0FQYW8rQXQ2djc3SmwyY3Nr?=
 =?utf-8?B?bjd5NkVDUTVvYjgreHZMRCtPcnZHSmFPRkpHbTVpSGRySWt3Ym5iT1l4NVpz?=
 =?utf-8?B?RWVQQTl0c1JYdElYamhqUHBXSVFnNm1hY0VTdk5oTS9oNHphaXBobU9jWGpN?=
 =?utf-8?B?WEVGR0VNRk95S3g3VlZlWlVRaFNndnBjQ2FieStHNWZwRmtHZmFOMXV0cjc3?=
 =?utf-8?B?L3pYOENFdm9wcWM2SUlhUEg3NUJXUVgxbmpyd2xYUjlqem5ISUc2Vnl6Z3FE?=
 =?utf-8?B?R2ZDS3hCNTdJU3JKSUU5VUxxQXFDbjRXNUJaVThHYVpqOWRyQTRFTjBGYURU?=
 =?utf-8?B?c0Vsc0g0U3IrRWI1WHBYOTJRbG8yemxhMUZSZmRRUlV3MHo5d3JmV0E4K0x6?=
 =?utf-8?Q?Mzf1REvQj0R9wB+pHXfRd5pJ7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fefabf80-677a-4f97-fba6-08db26041e00
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 09:52:12.9256
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4Jdy0m67xQPYTELXBOEzjEf3UE6MmQKi44bjYCWMTDVwN8p8ddBhtNP/3RcCq060zGgq+jYwh+x+8CsSSfCiIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7445

On 15.03.2023 18:21, Oleksii Kurochko wrote:
> The following changes were made:
> * Make GENERIC_BUG_FRAME mandatory for X86
> * Update asm/bug.h using generic implementation in <xen/bug.h>
> * Update do_invalid_op using generic do_bug_frame()
> * Define BUG_DEBUGGER_TRAP_FATAL to debugger_trap_fatal(X86_EXC_GP,regs)
> * type of eip variable was changed to 'const void *'
> * add '#include <xen/debugger.h>'
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> Changes in V8:
>  * move <xen/debuger.h> from <asm/bug.h> to <common/bug.c> to fix compilation issue.
>    The following compilation issue occurs:
>      In file included from ./arch/x86/include/asm/smp.h:10,
>                  from ./include/xen/smp.h:4,
>                  from ./arch/x86/include/asm/processor.h:10,
>                  from ./arch/x86/include/asm/system.h:6,
>                  from ./arch/x86/include/asm/atomic.h:5,
>                  from ./include/xen/gdbstub.h:24,
>                  from ./arch/x86/include/asm/debugger.h:10,
>                  from ./include/xen/debugger.h:24,
>                  from ./arch/x86/include/asm/bug.h:7,
>                  from ./include/xen/bug.h:15,
>                  from ./include/xen/lib.h:27,
>                  from ./include/xen/perfc.h:6,
>                  from arch/x86/x86_64/asm-offsets.c:9:
>      ./include/xen/cpumask.h: In function 'cpumask_check':
>      ./include/xen/cpumask.h:84:9: error: implicit declaration of function 'ASSERT' [-Werror=implicit-function-declaration]
>                     84 |         ASSERT(cpu < nr_cpu_ids);

I'm going to post a patch to address this specific failure. But something
similar may then surface elsewhere.

>    It happens in case when CONFIG_CRASH_DEBUG is enabled

I have to admit that I don't see the connection to CRASH_DEBUG: It's the
asm/atomic.h inclusion that's problematic afaics, yet that (needlessly)
happens outside the respective #ifdef in xen/gdbstub.h.

If another instance of this header interaction issue would surface despite
my to-be-posted patch, I'd be okay with going this route for the moment.
But I think the real issue here is xen/lib.h including xen/bug.h. Instead
of that, some stuff that's presently in xen/lib.h should instead move to
xen/bug.h, and the inclusion there be dropped. Any parties actually using
stuff from xen/bug.h (xen/lib.h then won't anymore) should then include
that header themselves.

Jan

> and the reason for that is when
>    <xen/lib.h> is included in <x86_64/asm-offsets.c>:9 the "layout" of <xen/lib.h> would be
>    the following:
>      #include <xen/bug.h>:
>      #include <asm/bug.h>:
>      #include <xen/debugger.h>:
>          ....
>               cpumask.h:
>                      ....
>                     ASSERT(cpu < nr_cpu_ids);
> 	            return cpu;
>                      .... 
>      ....
>      #define ASSERT ...
>      ....
>    Thereby ASSERT is defined after it was used in <xen/cpumask.h>.



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:52:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:52:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510457.788111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckHf-0008FC-Td; Thu, 16 Mar 2023 09:52:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510457.788111; Thu, 16 Mar 2023 09: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 1pckHf-0008F5-Pg; Thu, 16 Mar 2023 09:52:31 +0000
Received: by outflank-mailman (input) for mailman id 510457;
 Thu, 16 Mar 2023 09:52: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pckHf-0008Ef-0e
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:52:31 +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 4355b5f5-c3e0-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 10:52:28 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id eh3so5079276edb.11
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 02:52:28 -0700 (PDT)
Received: from [192.168.8.114] (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 m20-20020a509994000000b004aef147add6sm3623199edb.47.2023.03.16.02.52.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 02:52: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: 4355b5f5-c3e0-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678960348;
        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=kDU3l0Q9xs79KZCJ6ZM68p1HdOJyTYyfAE+xZF3W1Ow=;
        b=XBA3OII5GX4v70AP2JaHnZ6HaZBHsAfEMFq7/K+LY0mR6jnob6cxg/bsxvjL5xjxL/
         N4BWpVGVPv+jaX5Kavm8wFWSvjl36JzKXKCI8MFPLELKYpUbi4qUt8mP7biR+fRb08ln
         /a8WZyxYOvOZRXoSaoxtzwK7QsNWk7EJEAM32PKyeC9i/Ju/NbFNRisVHAK5IfIZZULI
         pLqxg0DkdgUvX1aFcEOGhS821+x6xD6uxmhj/7JTtfhY+d2JOQ6e+vVD8lQVcrJeZ4IC
         2xrBN01dTuVbRxYG08CbUTRs1r8lZDeCIdQN3F12Yw58XoCVbbo010N37zJ6uJbPGENE
         0flQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678960348;
        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=kDU3l0Q9xs79KZCJ6ZM68p1HdOJyTYyfAE+xZF3W1Ow=;
        b=CJtr2kFI+AGgK2i285NKxeP/eVkcR/WwaGODD6bxlxLfwAekraRiR66JKp08EgBxHr
         C6xhGzKs6y/n+wWljYeVKYhDlyWtYfCJEluttEdbyhFEDOJybY++MarziacmQksLb/A/
         WXrdNSB6KI+g8j0iX71WFB8KmPJGVv/teSpbVfVAoBWUGQ8s6LdPEqbb3gq9maDD1spY
         xb5P+fBSu7O231pent1hkiPG/VwKZu+QNhEa4+FOiSYAYmqx1jbWBLkV0vxFEAGOdNOf
         3Kix2XcvmibGH4f/W/THqs2yPfqOMwigsPStlAg1I0RWMtoeG4KnF1g6R7e/LRrLsgVZ
         GYZA==
X-Gm-Message-State: AO0yUKVpQUOOzRxlqK0YqCcY1RC98y/OYgMWGv3lTIkJWh2Hocw8JjIF
	b7o7shjj49ccT1H9YF2FOq8=
X-Google-Smtp-Source: AK7set/vaNmXuqRWtpMvTpDMRKUEahweJ5P9Xij//5l4dJxszOa2s4IjtrAV1SYhtunoTYseunnEPA==
X-Received: by 2002:a05:6402:789:b0:4fc:c644:6149 with SMTP id d9-20020a056402078900b004fcc6446149mr5898422edy.0.1678960348498;
        Thu, 16 Mar 2023 02:52:28 -0700 (PDT)
Message-ID: <dfbcea7e4dc7ae9d1c824a64e85969faa415c7a7.camel@gmail.com>
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Gianluca Guida
	 <gianluca@rivosinc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Alistair
	Francis <alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>, 
	xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Date: Thu, 16 Mar 2023 11:52:26 +0200
In-Reply-To: <4cee4508-7250-9a27-a186-8cc2000dc3ce@suse.com>
References: 
	<ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
	 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
	 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
	 <966c19e3-d255-db73-9bb4-7abe0a745396@suse.com>
	 <ac357f76-653f-9dbd-dc54-6e31db28de9b@citrix.com>
	 <00fc9016252e656be257671aa5c2c4e102df240a.camel@gmail.com>
	 <4cee4508-7250-9a27-a186-8cc2000dc3ce@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

> >=20
> > Could you please explain what is x86 section asserts?
>=20
> If you look at the bottom of x86's xen.lds.S you'll find a number of
> assertions, among them one towards .got being empty. Some of the
> sections checked there may indeed not be applicable on arbitrary
> architectures, but I think .got is sufficiently universal. So I agree
> with Andrew that it may be worthwhile making some of this generic.

I have question about 'SIZEOF(.got.plt) =3D=3D 3 * 8':

#ifndef EFI
ASSERT(!SIZEOF(.got),      ".got non-empty")
/*
 * At least GNU ld 2.30 and earlier fail to discard the generic part of
 * .got.plt when no actual entries were allocated. Permit this case
alongside
 * the section being empty.
 */
ASSERT(!SIZEOF(.got.plt) || SIZEOF(.got.plt) =3D=3D 3 * 8,
       "unexpected .got.plt size")
ASSERT(!SIZEOF(.igot.plt), ".igot.plt non-empty")
ASSERT(!SIZEOF(.iplt),     ".iplt non-empty")
ASSERT(!SIZEOF(.plt),      ".plt non-empty")
ASSERT(!SIZEOF(.rela),     "leftover relocations")
#endif

I assume that the check 'SIZEOF(.got.plt) =3D=3D 3 * 8' was added to verify
the case when no real entries in .got.plt are needed but .got.plt still
has 3 entries.

I commented the code where got entries are produced now:
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -20,6 +20,7 @@ ENTRY(start)
         csrc    CSR_SSTATUS, t0
=20
         /* Clear the BSS */
+/*
         la      t3, __bss_start
         la      t4, __bss_end
 .L_clear_bss:
@@ -30,5 +31,6 @@ ENTRY(start)
         la     sp, cpu0_boot_stack
         li      t0, STACK_SIZE
         add     sp, sp, t0
+*/
=20
         tail    start_xen

And I can't see .got.plt with 3 entries:
  $ riscv64-linux-gnu-objdump -x xen/xen-syms | grep -i got

What am I doing wrong? Or my understanding of the idea of the check is
wrong?

And I assume that add !SIZEOF(.got) and !SIZEOF(.got.plt) would be
enough to RISC-V's xen.lds.S?

~ Oleksii




From xen-devel-bounces@lists.xenproject.org Thu Mar 16 09:54:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 09:54:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510462.788120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckJt-0000eq-9V; Thu, 16 Mar 2023 09:54:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510462.788120; Thu, 16 Mar 2023 09:54: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 1pckJt-0000ej-6D; Thu, 16 Mar 2023 09:54:49 +0000
Received: by outflank-mailman (input) for mailman id 510462;
 Thu, 16 Mar 2023 09:54: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pckJs-0000ed-7x
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 09:54:48 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20628.outbound.protection.outlook.com
 [2a01:111:f400:fe16::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95aaac54-c3e0-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 10:54:47 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBAPR04MB7445.eurprd04.prod.outlook.com (2603:10a6:10:1a7::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 09:54:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 09:54: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: 95aaac54-c3e0-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n3TB3fcNeic2E3mycZ4j6tjb8oIp48QPTyIYnpYPoNR47zj6N9VkVPyCg/w1vN+WwO0RQyl63xBr14qWEeOwePcX6UE9bsQXHYR/P9beezAIzZUzzeTqejDy3POc0Qo4rGcbO4jUozX4EexTEagIk9YDCoqaA1+Rl+yWclb6YJ+oAnIsT8l6z+MPe6LNdOCiEk/xgbEsYTh+gSfR6Mt+yQyD8YyaXQAzu2ZRtcN2IFv76VfhDVPPTc78LePPsbb1fDDYBLCQa7M5z/Fa/72Z9+MWx6ZJOOKtw2xW3nrRm4p9QKu3985tc7zEoGP+RJJwlaSZ4hBuEk+0kHD+S4XK0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8r+P83UaUrbAniYYk0RQnRSgsFXiA09yC723Rams+Iw=;
 b=DR/8MNHRjrA1H3to8xKWIlE3URV8usNvKhJ4+gR3TJZrtZe6eiZQnEAopWPSOzO1ZjdxHiyrTJFH8xybuQTL9QGq05HkJhFSEjNEE9zTw75XpfptvKa4e3fdnvs5kStAcdF2KTlIdB3Vja8ZVxV7JHPYklpxXDxvigmlV1w2fM/kll6m+3iRXxvLn9KG8ugnyROuy2LNS8icZ2Xv2gHN0QB7BMVTUrGNBR14Q5f2urEypzlkgASlYxA+OARHwp7uLloLLI/IDbDfXJ7dc2LleyslXEH4W/EqL8ORjq3yXMZiWc5uGUXqS2oQSLgwUT5MqxEay6M5c8AfyzJAcME5pw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8r+P83UaUrbAniYYk0RQnRSgsFXiA09yC723Rams+Iw=;
 b=m0AMH1cSP9potgBPiAMcD3CJYWXMQ4MI3N7CALbbr9m7Pm4tUwrO1kuf5lNMBqPaz3DR88REPsRjDpyfoH7qTl39kVvVhdaqA4t5+00Zd0q7SKs6y9FDgi2APPA4LA3Q0NWKLxBKposBUZU1PklvTDAYSYnt79SPVUPTjpvahN4u3AzQ/hpRVdzaKRql8fUE4xVfdEgC+H2v6SpBxjH5yt/T8GTHq443UJXlsDU7mw/O0tzv1MILvGVJ2SZxbkPPiSBeruy/odTUGxFg5ghITjhVN61fba1NOlxIhaGBiQy3oo2IfFeaMQMLnf22rBDs2y3/zbFs74AcVA5nDsjroA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <22c46432-e940-914e-53c2-2913607be3e2@suse.com>
Date: Thu, 16 Mar 2023 10:54:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v1] xen/riscv: make calculation of stack address
 PC-relative
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <ad2249c1b5be01f99ef9c294a3264da0c9715bab.1678809641.git.oleksii.kurochko@gmail.com>
 <9c5ec3f3-c909-8f45-4460-1b29ce333d10@citrix.com>
 <e7c42fc7561b88b1a18463b9b28d0b09cd6553c4.camel@gmail.com>
 <966c19e3-d255-db73-9bb4-7abe0a745396@suse.com>
 <ac357f76-653f-9dbd-dc54-6e31db28de9b@citrix.com>
 <00fc9016252e656be257671aa5c2c4e102df240a.camel@gmail.com>
 <4cee4508-7250-9a27-a186-8cc2000dc3ce@suse.com>
 <dfbcea7e4dc7ae9d1c824a64e85969faa415c7a7.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <dfbcea7e4dc7ae9d1c824a64e85969faa415c7a7.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0158.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBAPR04MB7445:EE_
X-MS-Office365-Filtering-Correlation-Id: 4b0ee72b-0673-4ff2-76bf-08db260478f3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GgaXWH1TcWnkY2FRsaXZA4Lr5YngtTOYWvR5h7qVKATcPE9OXKAX5p/KSIT+lUcvSSwNgSkjjd2xYeB3H9GN9UeWEFu/Y8010IZStNKSqxdKRGU/megjgY+3/KpACjbuwQfBW4XRn1ZLPKEn/jmyNqg92JRIKc0QlyAyHpLNzUAnhTY6Va0gah/qc1WPH6WCM/fHP6R/Q02BnLQjPchWycyve8ZrJElBC5R8bvUvHizy4cr/FrPdcJvxqPwQ5kydUz9E0TzeDYGvNh6H5GNZ25589t350cKkyHWvrqG5u0m+HUq9sm+qWmJpFv7Nkds9i+tJgxwxRtyxTjv5TaAI17xqgzJKW5TkEhjSp7EgDZEoBK30c9wvqtZn1P4xEsseUfIg+MaBxy7SRGh/VgY4KHWjV/CHHYeoveaauP0dZR+8HwecQ6A2PgqfhbQ7GkEiPVNPPsyCE25FqvYIGBI0MuK7QBQAL3zM2xbvMwh9luy2Y9QZxUEkQxSZcbeZgjUeNE3aZTXUpHpIfFvgFodtVnXX1bMSp2NERkVcNP2eoB7XBC+BuvZOl/pjHLAQBsx1EX1ckkM9htq4//MXz2dnod+r0hrKb7a0x8LDbO1NbFN8ksAgxDbLfkBpeIy+KAGnqdKNJacdJKWkZt3qllHMxJSOOwiq2oYHorSjGd5VSDpFHkGWoXKi4kFiBj3316EiH7K+CCf9yAl/VMlK45g7tzzedDFI9BrYRJ3izLfjYj0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(346002)(136003)(366004)(376002)(451199018)(86362001)(38100700002)(31696002)(36756003)(2906002)(41300700001)(5660300002)(8936002)(4326008)(6506007)(26005)(2616005)(6512007)(186003)(53546011)(83380400001)(316002)(54906003)(6916009)(66556008)(66476007)(478600001)(6486002)(66946007)(8676002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ekt3ZlZNSlUxbHN3Q09yb0xIdWFqREhPcEJJdkFVeDdNYUk4SVlwTXFFRmxh?=
 =?utf-8?B?ZE5iSTRqaE5YVUxyYWJFWGJKb2FIY2RzcWJZYkZkZUU0RUF5M0ZGdU1kTE1w?=
 =?utf-8?B?NWI3NTZ5QjFkRTEvYTdmOW9pQ1VPbU1BanNtTU1mVWtGQnZVYXZPZ2FacmYx?=
 =?utf-8?B?d2h2RENhQjNwTktRN1RPbzY1Q1JFQmJqY0hNZTlqNlZnc2VhRldGTmZrM0oz?=
 =?utf-8?B?bkF4aFkwbDNiZS82ZGo3NkZkejNCcVMwc3ppVHdZLzJZek9HcTVOaTYwbmtX?=
 =?utf-8?B?TnhtY2NIQ3pQRFpodzk2azdKdkxwcmFRVDZGVnFTRGJXbFdiQ0wwYVZrMWlT?=
 =?utf-8?B?UklWa09SZ21qeC92NWU2MVhNSC8xQWhVdkVZd1dWNDUydmNtNk9XbHFhWGs0?=
 =?utf-8?B?TVdyaDVRc1hjSmszREI5clIrSzNDR3l3Y3JlWjhldUJyYnk2VVRCVlI4WlVK?=
 =?utf-8?B?M2s3R0VqRW1GYzNlNHNBQ1Eya2xreTlZVm9EZnVUeGVCemhwZWpkUWpuWlRk?=
 =?utf-8?B?bllNaDB0M0MraGd0QTRjSTN3Tk5acGdRaXFsUmtubHFsWHdKTGlrME5Fd3Av?=
 =?utf-8?B?Z3E0WmxWZHpwc0t5ZUxGZmZtU1FQamphQ0xWQTNzQjAwbnN1YXVvSUYya21X?=
 =?utf-8?B?WkhySEYyTW40NVpvZVJRcld3MVVZc25JNS91T3BMV1J6akltNVppeEt0UkNY?=
 =?utf-8?B?K3U2eXNXY1NKNnQzMFZGTXAxVFZNNzJjaUREeFM3dmNyUisxWWZIN0FiMDZK?=
 =?utf-8?B?b0JLbXNCaDhsd1ZKdHY0K1JGZ3k5dXRHVWVGVEptUHJLTmVhZnpBbjdQU0ZF?=
 =?utf-8?B?VDJJVUlUYUpFVXBPcEIwMTRIY0k0V2lRVlVVSWxEUEUydExKMXhwV1doTTZM?=
 =?utf-8?B?bTVoMTZodHNvN1I2MCtNeklQaDEwd0lVcUhPU0JGcGl4REh5REZGdnRWK0o0?=
 =?utf-8?B?WEZVc1pXUC9HNG1CRC9lTW9naUpHNTZxREI1VkJ2aWo2cVNaTGNCY2dBQ1p3?=
 =?utf-8?B?YzlaMUJHN2lENjFOODJ3YlozNHlXWkx4bkh2TU84aGFjOXdjaFYvRWJ0c1du?=
 =?utf-8?B?QVJmbHBHQkg0MnpUQjhCZDFFUk9nM251Z0hBZ3RCZytuWmYvOU1UMmtvTVo1?=
 =?utf-8?B?RU9LZHJyc0V0QXMrbXp0V1IrdVBUdG5CUnRDclJ4UzhWQjRPcWhoRlgveHd3?=
 =?utf-8?B?aU04cVFlZ1gyUWRkRDdPRmhzQTJnM3JYNDB6dERPZFI3eGdiZUkvY2RTS2xE?=
 =?utf-8?B?L2NkNW40aUdVQy9VVXBubDlCcHFHdzFpdU42ZmdqS1dlYTRxT0NzODU1cjlz?=
 =?utf-8?B?UW9SeCs0cnhRR3U3b1FBYm5Sa21mTjF5djZVam9CT2JHa2E2NEZubDdBYWJV?=
 =?utf-8?B?TTMzWFJteEdVQi94MzJ5T2xkT3FCY1lUV3BPVFdYZEVTYWxYakFPNFlTclJ4?=
 =?utf-8?B?azd1ZUNnZFRpNjJIVVd3ZGJJZUtCRU1wMGgzMXViR08wemRYcjR1UTRsUkdr?=
 =?utf-8?B?V0wxNlozdEt0SkZMTE1UdGtSQkxKYit5R3JQclFyU3FmWUorRTl3ZXg5d2NE?=
 =?utf-8?B?RFdJOVVlVXJrOTNLUVVkNXpoUURHdlNmeHUxWW1QbFJHc3R6NlFEd3pEU3VS?=
 =?utf-8?B?TUJlbW1xVXlhemh4aFVYczNaWmc2blFMaXRQWGJCVHZVZmNkWTkyUERFcG9n?=
 =?utf-8?B?V3BmTFhJK1BLamoxSi9Bc3RHdnlMUWYwSGpiYlczU0REUGpsM3NnQW1BbWhC?=
 =?utf-8?B?dzZLVjM0WFcxOWVGTFhzNzBLMHhNQTZKektNaWFDajg0dzhVL2EwRnhMajBC?=
 =?utf-8?B?ZFNmRnliN25OUGlGRi9NaTN0SFBQY3R4dWJlVHlOajJiNHovNHJVVkpDYTN4?=
 =?utf-8?B?SThJV01NYmtUV1F0eGQ2cXlIaEVQREh1aGlmSTNQSU54VFpXNGdhRnJIS2lj?=
 =?utf-8?B?YlI3czVTZEIxWmY1V3Y4VkdkUHZJOTBNOHRQMHROelVaR3g1N1hSRDVmakMy?=
 =?utf-8?B?MURFbDJkTDlFNEdOODRTUVVWUFFnQnljY3RNY05jck1ib093OHQ0QlpHVVNM?=
 =?utf-8?B?Yyt6aENlT2NiTnJQZmVzVWQ3RFdKTlZYN2JwMmpRYi9jY3lsUENDMlhTcEkz?=
 =?utf-8?Q?AnxWSe1cRKmnpuash1ux4KIBX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4b0ee72b-0673-4ff2-76bf-08db260478f3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 09:54:45.5253
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H3JO0r1gk5L4T+DIqRb4HXq5LexO1MeyQVEysjARD9jpsdW4ipceeGjUhTk/GUF8mdYnCDvxfzPMfY5QIAW35w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7445

On 16.03.2023 10:52, Oleksii wrote:
>>>
>>> Could you please explain what is x86 section asserts?
>>
>> If you look at the bottom of x86's xen.lds.S you'll find a number of
>> assertions, among them one towards .got being empty. Some of the
>> sections checked there may indeed not be applicable on arbitrary
>> architectures, but I think .got is sufficiently universal. So I agree
>> with Andrew that it may be worthwhile making some of this generic.
> 
> I have question about 'SIZEOF(.got.plt) == 3 * 8':
> 
> #ifndef EFI
> ASSERT(!SIZEOF(.got),      ".got non-empty")
> /*
>  * At least GNU ld 2.30 and earlier fail to discard the generic part of
>  * .got.plt when no actual entries were allocated. Permit this case
> alongside
>  * the section being empty.
>  */
> ASSERT(!SIZEOF(.got.plt) || SIZEOF(.got.plt) == 3 * 8,
>        "unexpected .got.plt size")
> ASSERT(!SIZEOF(.igot.plt), ".igot.plt non-empty")
> ASSERT(!SIZEOF(.iplt),     ".iplt non-empty")
> ASSERT(!SIZEOF(.plt),      ".plt non-empty")
> ASSERT(!SIZEOF(.rela),     "leftover relocations")
> #endif
> 
> I assume that the check 'SIZEOF(.got.plt) == 3 * 8' was added to verify
> the case when no real entries in .got.plt are needed but .got.plt still
> has 3 entries.
> 
> I commented the code where got entries are produced now:
> --- a/xen/arch/riscv/riscv64/head.S
> +++ b/xen/arch/riscv/riscv64/head.S
> @@ -20,6 +20,7 @@ ENTRY(start)
>          csrc    CSR_SSTATUS, t0
>  
>          /* Clear the BSS */
> +/*
>          la      t3, __bss_start
>          la      t4, __bss_end
>  .L_clear_bss:
> @@ -30,5 +31,6 @@ ENTRY(start)
>          la     sp, cpu0_boot_stack
>          li      t0, STACK_SIZE
>          add     sp, sp, t0
> +*/
>  
>          tail    start_xen
> 
> And I can't see .got.plt with 3 entries:
>   $ riscv64-linux-gnu-objdump -x xen/xen-syms | grep -i got
> 
> What am I doing wrong? Or my understanding of the idea of the check is
> wrong?

Did you read the comment next to it as to only older binutils being
affected? I assume you use something newer than 2.30. Furthermore that
specific behavior may very well have been x86-specific in the first
place. So ...

> And I assume that add !SIZEOF(.got) and !SIZEOF(.got.plt) would be
> enough to RISC-V's xen.lds.S?

... quite likely: Yes.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 10:03:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 10:03:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510464.788131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckSV-0002U7-54; Thu, 16 Mar 2023 10:03:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510464.788131; Thu, 16 Mar 2023 10: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 1pckSV-0002U0-1u; Thu, 16 Mar 2023 10:03:43 +0000
Received: by outflank-mailman (input) for mailman id 510464;
 Thu, 16 Mar 2023 10:03: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pckSU-0002Tu-25
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 10:03: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-flk1.inumbo.com (Halon) with ESMTPS
 id d2ed5946-c3e1-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 11:03:39 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS5PR04MB9756.eurprd04.prod.outlook.com (2603:10a6:20b:677::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.30; Thu, 16 Mar
 2023 10:03:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 10:03: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: d2ed5946-c3e1-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NQRNiPVfT9PCTjCwgEaeEuJNG8tkA7q6Hc6doHVfn3pMkAbg9eyCTKVhCzos3pOZEjHYNyWrG2FaWmyKWmKdflI+mMWAAc2hbGoVO/ewVAATxwwTld+wxxEWx0MceU9mxQWVLTo4hpQnvCPF4npuQJvArdcHNbPJG7QumdehZeWw1ZK7WZFi9Q0QKKbzBo/N8/9gEf+misVSPhH5wSuoZ2O4MTpZYSNKPmGZIPql6w9XRTZb3mA1Edfci9L/GEofobxY0d2tEO7sk8T5e5Rh4u+CY/LsuDFb5kRJGUzN576322c488yE1MnwS8W5QZww/cev2BYpAxKlQ56QdfQizg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MXTzzJUkCtDqqUlt7FxsYPan2Zwl34CHjO7PZ30Iutw=;
 b=Wwydl01/oRqNtWSy3YXkGOmB0HVGizIFUc+pIDg/1NJ1qlDdanM9pG6CH5T2SSZwv1L6gDWSp8JO7yIG25sGs8eTqv84UGs99oNCNzf52wZA8NLstQxAPQIs93xf+gEzxfiLlK9uLDu6/+N2piM0pnLsEbEgmVj/QfDfl3EF3p2OEZnidv1TwcbNCtmkzzGO+d8kl1gy/8Y8uOGJbalxfbRmLlOkUv6xlag8BST2AezkTrDX+VJ85OqLUPWcPyRerSHSoIWibf6WXrQqazRA4XXza/YV0M3jNVzueysrBAgqdAan7kqM4NA/r2orCnDZPyuVIkiz7zVha47P27rG4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MXTzzJUkCtDqqUlt7FxsYPan2Zwl34CHjO7PZ30Iutw=;
 b=M0Ip0mJ101fnGmJCaenzgr5KQTh4Aeuu2eJT0BTnJPPlhtp/RhNt2T/g8oB/CTdxXKXw8UdkAAVaepZ+iaM1ZXHRszV8RzOMnCYXPLDnpR5ETcbhxStFFl8eMRjkbRnvzqrwB5BJjnNeJxZsWoJl/pO5VCVUPJxrlD3Klna/pqul2P6We8ZvCAGbGT8TF4HAQuCT8MCSj28TZQbmHBWVGgT6TUTVd6bDnfMF0OG6YtgWFUL0AXTEZTJ0wzx0h0/9AGQXHXw/1aEPGwXG9pBlXjqS56ENAcCvPKGJmyjYTXQoSwoR1mSqiM3yRf/wmPmkQEb5zFGwCH3+a1K7SBhDdQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <02c454d9-e716-a571-2106-a8235c1adbee@suse.com>
Date: Thu, 16 Mar 2023 11:03:35 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v8 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
 <2afad972cd8da98dcb0ba509ba29ff239dc47cd0.1678900513.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2afad972cd8da98dcb0ba509ba29ff239dc47cd0.1678900513.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0181.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS5PR04MB9756:EE_
X-MS-Office365-Filtering-Correlation-Id: decdd239-8959-4b11-f35a-08db2605b5ff
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y4gdWapaIvBEaF1XJkKhfepjqzdtgOzaLKlKK0MXzdU5WwgWvfz/JSZGw3uvR/aPOEwisTxmmomHyP/88H8etxnAs6kI03MK5OzTploNwRb76xffktULIDvoC1dUThLs9Cc2fLX8ljsUF6e4rC8lG20u/GYR21xZifsLYeXc9QYNTxS/ZO9VrW3p8YtCW/EAbpmXwvxrAAYQ7IAnoeFww87zirZ3lHI/PNtLwAp8zVLlJWK3P1CSuOVXlw0fRJ51mWuM4N9coIEqWwPmTM1Z4lVBWpde5hf/djo/J++eT3jWaQX3TbuZjSOS1futCGME57rUBx+fP7WUUrd2k2PRQB7ix4soPX9ES8bRnm9CytrhK/WMeHeYS7Pd8pv4nWh2SuPscTPbY3k8e7wYv5a1MZn6nLA7krImN15Vb/VCqP0DOoLhOtexgRlyaN9hJTyAP4kwgN5gXf2IKfw+WLb+hK9fd1txkfIM2jLs+YZtQnSojjJiKLNS85RSH82Qs7fuZlmmHpCldTVF5xyczWQJ1RLUUXL/E9F1Uop9TB9ET3vkNGrG1aFELl89OmY6isrLIJXUt/gxh7zxMBs413ax9D8sbZR0lwaVH06HY/b4UEjPC1H4mj08B6Sx6zXZ7KFTSmv75+lc3Zy6ZsHrPHo0IDSsZk+TSWZxRz96K5UMSAPWuC26LCrliLOM/N9APoZpJmBOOPSeqFWocfN1N4BQby1KM3viguMPWPytgH9lInTGYclrpBN3NAZSXQ5KkXmc
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(346002)(366004)(136003)(376002)(396003)(451199018)(36756003)(86362001)(31696002)(38100700002)(4326008)(2906002)(41300700001)(8936002)(5660300002)(6916009)(6506007)(2616005)(53546011)(186003)(26005)(6512007)(54906003)(316002)(8676002)(66556008)(66946007)(66476007)(6486002)(478600001)(66899018)(31686004)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QklRYklPVEZxSExuaWpMcWJrdGhvUVZucE5GMStOdWU2cXJMRzhHUll6QzBs?=
 =?utf-8?B?MEFHZjJqQU9Zck8zWFZnN2dWNnBrVGRpZzBnQW1tYmVvbnB3M25LTE1weExE?=
 =?utf-8?B?cnNtNG1taFlaejJJcEJkUU1qWksrWkh4bnpNS3NRZGVub29FdVkxaHZSRUgv?=
 =?utf-8?B?WC9qQVJiRHFUemtURklYNC9RWXZCLzg0ZnVCZ3ZITisrNGVoUWVXZVRlalhX?=
 =?utf-8?B?b3dWeVIzNUJlaWtPWldvellJVUEwTnc3VDZQd1E1ZnVCYnpzOUN3cU45bHBI?=
 =?utf-8?B?MFpaNDFwNGxDcE5MbWVFUUlFeTN4bEVqYVB0cllCMkdTUWJ1dmR5eUx3MWNq?=
 =?utf-8?B?ODIwTkdXK2tveXV2WDhWMDA1aUJZbVAvdVY4S2J3V3NkY0dRQktrSm1mUUpQ?=
 =?utf-8?B?RnFNQm9SZkhpTmJSSFhrMkd0ZisvTHJuNnBGMS9JOG5RRnlhTzhCN3ZWdlJ0?=
 =?utf-8?B?aHRkM1R4RStTZHArU1pTSDRNV3h0dXptVEJmaWlCajF3bENxWU8rK1Bmblhr?=
 =?utf-8?B?M0dGNy94Rjl5dldJVHVIRTh5bitpT1B1RlgxZEN2eWVXL2ZHZGFKc1hrMEtr?=
 =?utf-8?B?RDJXbzNWblZySDVhekp3Qmp1dHN3UTV2Q0wyVElKZ0xVcnd5OTZSSjVXR2FR?=
 =?utf-8?B?LzlrQ0dQVitDUHNjODBWVE95L2YzWVh3WWwyQjg3Mit4SlBGRE15Y2NGeWo2?=
 =?utf-8?B?NGRVT0lLUmREaS81dXIvelBjd2lTbFBhdG9uUTJXNlNDSWtlTkNkeGhQelQz?=
 =?utf-8?B?cCtEL3l5U3QzUjl4ejMzTUdGZDk3MzhEczFGNWlnMGI5eWJia3AvSG1DeXc4?=
 =?utf-8?B?S05YQzBVVUJydUU1cjVnVHhObnhTRHlQazZ6TFp4N0ExVFl3TENkbWMxeXRy?=
 =?utf-8?B?dExQb0FkNktyN1ZZYVlQSmNseGtlaklxeDhreXdOMzBlb3VrR3YvczcxbEpL?=
 =?utf-8?B?eWVINUM5enlQWloxUzliemJRcXM3L1BteHR2NTJ0MWoyMDFtVWhGV3YrazNC?=
 =?utf-8?B?dTFwODVTQVNCc1pCV011QWdPNmdLdzRXUCtWaCthYXBPdmhKOW5qMXY0OVBH?=
 =?utf-8?B?WHNWdVN1aE1nRDFmZkNiL3grTlBsL214Tm1VbUlEOXlnS3FvQW5DV2kvRW1M?=
 =?utf-8?B?eXloenFuRUxQd1dTK2hlN1pKTFFsZGN0cXVsRHhMMDhnVENYbmVDc1l0M3Jn?=
 =?utf-8?B?S1ZORklEVlN6YVVUR1hTSzRGeXBGTk1zRTQxZkh4SklTUzl4VlduT3d1R0Zq?=
 =?utf-8?B?bmN2dndIbklBOTRUcWZld3ZzckhrUzR1MGZaYVc2SnU2QWQycWdaaVRhR1Zs?=
 =?utf-8?B?YWV2U0Uva1I3T1Fxb3d2WVQyQ1ZEMDJpSFY0V1g5NTNkTXpRQmhZamdYbUZF?=
 =?utf-8?B?VGNURE81OHdDWVVrVkRWZG95dkh3MGVuTFBYd2hEcFhwMEFaeUdhMnk1R05O?=
 =?utf-8?B?ajhQMGVuMzRyV3ExRDN0L0t6NTI3WC90YnVMcHNOak1mMHhjREJsNDR5eXlW?=
 =?utf-8?B?RHIzTFJiRWVTaldFK2E0SWE0enB2U1hldjFESkU1bVM2am1RcVNEemE0cGUy?=
 =?utf-8?B?NnhGMVYwUTlQcmw0RmIxbTBuZk9ncGp5ZVVCZWtxQzE0Nzc1S1FrWkFwMlF2?=
 =?utf-8?B?cUtLMDJlaTZFRm00THdKTnh6c1NQNjdwQmw0SVBieTdYU1pNcm14QXdJaUlp?=
 =?utf-8?B?OUxXYklsKytHN2NFS1EwZmhEQU10akI1Z1VETUc1cWtQN0wrUWNtTEJ3bjIr?=
 =?utf-8?B?QzlIeTJaT3dqOHFqR2F3WVhtdDk5SWFybWpjaEY4UjVnM1RIdWlUWVRKODQ3?=
 =?utf-8?B?OXRxak5nczdFWmdlOCt1UzFEZW9BSWJCOUx0WWlhdDB6NHpqYXlGQ2dMZWZl?=
 =?utf-8?B?blpBMkJUc3EwdlBMaGpmRXNJYzNFTmtXNzJBTXJOTldrbUZIdXRBVFhUaHdz?=
 =?utf-8?B?V1NORDk0bnVLNlVsQ3FDc0xwcnA0NStJZ1JIRW4vWitzTVF6bm1IR2NNRXRh?=
 =?utf-8?B?Q0xzMERuakFOaXZEbDJ3VkkrYzFJeGZwSTdZZ3JhcnMzbVgyM2xDSXcrT095?=
 =?utf-8?B?NXJBZHRVOFFjanRSWW13K1V5RVZFSWNVSVpORU83SWVtdGlZM05Wekt5OWdZ?=
 =?utf-8?Q?FGAZbHUlwyuB3aV2P859p4/dH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: decdd239-8959-4b11-f35a-08db2605b5ff
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 10:03:37.4761
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pBe0bFOlneHDcQyogXknCcTpoUrXJEBQzcdx4Y2MJWmVvCnXAbmLViJ35tDsasDrlTZRGrsZV6S4FWDlweBuTw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9756

On 15.03.2023 18:21, Oleksii Kurochko wrote:
> A large part of the content of the bug.h is repeated among all
> architectures, so it was decided to create a new config
> CONFIG_GENERIC_BUG_FRAME.
> 
> The version of <bug.h> from x86 was taken as the base version.
> 
> The patch introduces the following stuff:
>   * common bug.h header
>   * generic implementation of do_bug_frame
>   * new config CONFIG_GENERIC_BUG_FRAME
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

The patch looks good to me now, but as said in reply to patch 5 I'd
like to ...

> ---
> Changes in V8:
>  * move  BUILD_BUG_ON_LINE_WIDTH(line) to "ifndef BUG_FRAME_STRUCT" and add #elif for
>    "ifndef BUG_FRAME_STRUCT" to define stub for BUILD_BUG_ON_LINE_WIDTH.
>  * move <xen/debuger.h> from <asm/bug.h> to <common/bug.c> to fix compilation issue
>    ( more details in the changes to the patch [xen/x86: switch x86 to use generic
>      implemetation of bug.h] ).

... get away without this, so for the moment I won't offer R-b just yet.

One further note on naming (sorry, could have occurred to me earlier):

> --- /dev/null
> +++ b/xen/include/xen/bug.h
> @@ -0,0 +1,161 @@
> +#ifndef __XEN_BUG_H__
> +#define __XEN_BUG_H__
> +
> +#define BUGFRAME_run_fn 0
> +#define BUGFRAME_warn   1
> +#define BUGFRAME_bug    2
> +#define BUGFRAME_assert 3
> +
> +#define BUGFRAME_NR     4
> +
> +#define BUG_DISP_WIDTH    24
> +#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
> +#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
> +
> +#include <asm/bug.h>
> +
> +#ifndef __ASSEMBLY__
> +
> +#ifndef BUG_DEBUGGER_TRAP_FATAL
> +#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
> +#endif
> +
> +#include <xen/lib.h>
> +
> +#ifndef BUG_FRAME_STRUCT
> +
> +struct bug_frame {
> +    signed int loc_disp:BUG_DISP_WIDTH;
> +    unsigned int line_hi:BUG_LINE_HI_WIDTH;
> +    signed int ptr_disp:BUG_DISP_WIDTH;
> +    unsigned int line_lo:BUG_LINE_LO_WIDTH;
> +    signed int msg_disp[];
> +};
> +
> +#define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
> +
> +#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
> +
> +#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
> +                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
> +                      BUG_LINE_LO_WIDTH) +                                   \
> +                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
> +                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
> +
> +#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
> +
> +#define BUILD_BUG_ON_LINE_WIDTH(line) \
> +    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))

While this and ...

> +#elif !defined(BUILD_BUG_ON_LINE_WIDTH)
> +
> +#define BUILD_BUG_ON_LINE_WIDTH(line) ((void)(line)

... this look okay-ish here, ...

> +#endif /* BUG_FRAME_STRUCT */
> +
> +
> +/*
> + * Some architectures mark immediate instruction operands in a special way.
> + * In such cases the special marking may need omitting when specifying
> + * directive operands. Allow architectures to specify a suitable
> + * modifier.
> + */
> +#ifndef BUG_ASM_CONST
> +#define BUG_ASM_CONST ""
> +#endif
> +
> +#ifndef _ASM_BUGFRAME_TEXT
> +
> +#define _ASM_BUGFRAME_TEXT(second_frame)                                            \
> +    ".Lbug%=:"BUG_INSTR"\n"                                                         \
> +    "   .pushsection .bug_frames.%"BUG_ASM_CONST"[bf_type], \"a\", %%progbits\n"    \
> +    "   .p2align 2\n"                                                               \
> +    ".Lfrm%=:\n"                                                                    \
> +    "   .long (.Lbug%= - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_hi]\n"                 \
> +    "   .long (%"BUG_ASM_CONST"[bf_ptr] - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_lo]\n"\
> +    "   .if " #second_frame "\n"                                                    \
> +    "   .long 0, %"BUG_ASM_CONST"[bf_msg] - .Lfrm%=\n"                              \
> +    "   .endif\n"                                                                   \
> +    "   .popsection\n"
> +
> +#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
> +    [bf_type]    "i" (type),                                                 \
> +    [bf_ptr]     "i" (ptr),                                                  \
> +    [bf_msg]     "i" (msg),                                                  \
> +    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
> +                      << BUG_DISP_WIDTH),                                    \
> +    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
> +
> +#endif /* _ASM_BUGFRAME_TEXT */
> +
> +#ifndef BUG_FRAME
> +
> +#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
> +    BUILD_BUG_ON_LINE_WIDTH(line);                                           \

... the latest at the use site the naming is somewhat odd. I'm inclined
to suggest something like BUG_CHECK_LINE_WIDTH() or BUG_CHECK_LINE().
Aiui the use of the name is isolated to this header, in which case making
such an adjustment while committing would be feasible. If, of course, as
per above no other need for a change arises (i.e. if in particular the
xen/debugger.h inclusion cannot be moved back where it was).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 10:07:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 10:07:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510469.788144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckVV-00039L-PP; Thu, 16 Mar 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 510469.788144; Thu, 16 Mar 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 1pckVV-00039E-MI; Thu, 16 Mar 2023 10:06:49 +0000
Received: by outflank-mailman (input) for mailman id 510469;
 Thu, 16 Mar 2023 10:06: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pckVU-000396-EQ
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 10:06:48 +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 41065662-c3e2-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 11:06:45 +0100 (CET)
Received: from mail-bn8nam12lp2175.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 06:06:42 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB5421.namprd03.prod.outlook.com (2603:10b6:a03:289::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Thu, 16 Mar
 2023 10:06:40 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 10:06: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: 41065662-c3e2-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678961205;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=xPOSWM9uBris1Lv760ndKfYv/SsqyjSbzUtuVhe/l/A=;
  b=dj5Iuvhdb3JLwvr9zH4mHH3alEXMgov37nQJ17ouj8eQBIO23gRMmoet
   OzW4YJLrquWQnl2AyqEc5m9SSKnC3hpuOFLlbz3LZAa1R1kgjf0g1FJZj
   gZ6LmZatdNuYadqQ0nI174/qB2An2l2EfmRdnCl5uXFD5KfRy5oNNtfcl
   8=;
X-IronPort-RemoteIP: 104.47.55.175
X-IronPort-MID: 101501202
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:1XcnSq8NphhCvbKWZw8bDrUDQH+TJUtcMsCJ2f8bNWPcYEJGY0x3z
 WIaDTzVaP+IZzanLd4natvjpxgE7MLVzINlTwRt/yE8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkV5AG2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklI/
 94AeCwLUSq9gt+5y5KFcNdguYc8eZyD0IM34hmMzBn/JNN/G9XpZfWP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWOilUujdABM/KMEjCObd9SkUuC4
 HrP4kzyAw0ANczZwj2Amp6prraXxH6jAdhKTtVU8NZH2Ue+6XRUDyRMUGWjg9e3sxaTXtNAf
 hl8Fi0G6PJaGFaQZtv6RBC2iHmIswQYUtxcVfY3gCmJy6zJ80OaC3ICQzppdtMrrok1SCYs2
 1vPmMnmbRR/vbvQRX+D+7O8qTKpJTNTPWIEfTUDTwYO/5/kuo5bpgKfEP5gHbSzg9mzHiv/q
 w1mtwA7jrQXyMQNh6Oy+Amdhyr2/8eUCAko+g/QQ2SpqBtjY5KobJCp7l6d6utcKIGeTR+Ku
 31sd9Wi0d3ixKqlzESlKNjh1pnzjxpZGFUwWWJSIqQ=
IronPort-HdrOrdr: A9a23:A77j0KlUY9dSNKIwDfw6m6TYRF/pDfI93DAbv31ZSRFFG/Fw9v
 rCoB1/73SftN9/YgBCpTn+AtjjfZqxz/BICOoqUYtKPjOHhILAFugL0WKI+VLd8kPFl9K13J
 0QFpRDNA==
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101501202"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZBrj+5VX3IDjCXUAeUY1BRo9j+cL2X9Z+RWc10tVk82qqNKKYM3YEi6ekPS48z2UcJyDCZwkyVBsTdwwnxwTCXsqLQVcUAhH8MUsN3cLRvWelbnxOEGrObgXcfhOfCd6BcdhjlUd7Sn1XNsok04PQm0iYTAYlfwucYpbYtOaMBiCc+1hUW8lid3t49GMhAKikBBQyUnDlMASiLlePUg4UiwBJl8IJUhLBrXX6UqmJFTNXNC9EqmgzLkXZO2U9XHacfb4oeLep3QA2RF/KVQFGrlfhgVXfg+MuXgjaAilCbwN7LRxxOBJBdmh1VwoaU23Uj0sxG0kD+bsbYrQfBUT3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x99VX79samaRS0BqFe2rbZd0M6NI81izBgME213FgG0=;
 b=FFOirRrEU5GNdkOcfvDP3gPUCfeL+6/s1alfH1uQ+Xb8ka/Wzg9W/3DMOM/9LV57bmzalS5Lzhcw+SdIExT/nsGHmZ+56cVt+QBp/FWP6mXeSzpp/4VPXooualSlo5g38+pJnLILYtuAgTIgP1libaqM0sbORduXBBSzcz7ZdlmbWl10MBWU5Jz290yJ+uB/NlMRSJsO7UQfzLbBdro8DvIKLId6nyklM7+ABs++AYHDCOBigu/iJSPBYB1kO5YIUIlwRvI0IMg7QLKJCkQG+sik49XWTUAmAMRGR8T3hU+fJcfgq7+l+kv9eLcgW5HrLGPADw0a4/UclFHV8gLXEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=x99VX79samaRS0BqFe2rbZd0M6NI81izBgME213FgG0=;
 b=mDcPfdcze1BctPa6nwG4MfZvUqZ8Cfcvy36ky+X8SLxmoDDDi/JrE/xbIOyUYM9B2q8wDtYMWcqbWNS42cBb18edAEmNFmEiuVESQQf39JrdHDYb9AuFCHU6kWSxJy2LSpjfFOceWxnLyv9ESDXvgYuBui6OwXyA1DQC1zs5FUg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 11:06:33 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Josef Johansson <josef@oderland.se>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	x86@kernel.org
Subject: Re: [PATCH 3/3] xen/acpi: upload power and performance related data
 from a PVH dom0
Message-ID: <ZBLqKWqkGawbbRo0@Air-de-Roger>
References: <20221121102113.41893-1-roger.pau@citrix.com>
 <20221121102113.41893-4-roger.pau@citrix.com>
 <407b7c10-ad1f-b6d2-2976-2b297755b2b3@oderland.se>
 <ZBGuVjyDpuUZ3MnZ@Air-de-Roger>
 <2754848f-6c3c-5479-ea6f-1946c93f868e@oderland.se>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2754848f-6c3c-5479-ea6f-1946c93f868e@oderland.se>
X-ClientProxiedBy: LO4P123CA0548.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:319::11) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB5421:EE_
X-MS-Office365-Filtering-Correlation-Id: f8e74b66-8430-4c77-627f-08db260622a9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	maTGKo3NTcH5xgNl/paEI+I3Z5mQpDJ9pEAYrXAXtE7miUdfZRHz/ncDct3+vJj8564A5++8fl7GVwfZwR6XCXd3Olm5IpfKIHt5QamZicgyt6xeNN6OV2n2dtzAdiHKRIwtU8sb/LIfzCDwjSD5B14TUzoTiHxPNAreX7CwRYvnQxi5WDWHmq73RxoFWUIvzfKgUA4y5tH4NeRzedaeLd90301I7oV4RYWPfeQHmIhuu6s1HIHuLJiPjIWF6NDHGlqlawJqx7o5Gs/Lp87a+Z+QxgM3FQcxeWXv684NKGK7w5IkrmEm0aI2d937d4bTlkDIDcvdhPQuP2piMh+N76kCBTefCl9DtywRMpBUxzECm8yn3fEnMtfaEGCeoV2D6vnZm3ENgk5B30hrUjXOn3udDg9RNQCeYt9Avagciy18TiUD+NA0Y/h90B9KMkqyJEJ6O30LE09uqWEIGa49RO9lg5QHa8J+W7hj7wrXxpvTEAzSZGqhiBjC+/WjM04/8XH5nR0O9fxdtHeoo9x2QUgo5UfpyARLrU4RMoopYtGOxrmTW24pPu2Ib9MKfR+88IUHX4useyOiNu5s8vNVy4gPiVJ+OAASuOeDidl01t8X8qvTgTNqN50NcRb2Bvb14OcWR9nkSKs5JiULsZAqRg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(376002)(346002)(39860400002)(396003)(366004)(136003)(451199018)(85182001)(316002)(86362001)(478600001)(6486002)(66556008)(66476007)(6916009)(2906002)(8676002)(8936002)(66946007)(41300700001)(4326008)(30864003)(5660300002)(82960400001)(38100700002)(9686003)(186003)(6512007)(6506007)(26005)(53546011)(83380400001)(33716001)(6666004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z3lXTDc3VTVzU0RDM2daRGRXZU1zMXJ0azFXZU8xUERjMjNURFl1SVdzMTZQ?=
 =?utf-8?B?WENST2NxdklnQVlOVUNReWpIMVh5all2MndJR2dQMzk3dVFxUDVnL0x1ZEw0?=
 =?utf-8?B?bXVoa2RBMEJlWWdzUUJzU3pxWjQ2ZUczWEY4UWtEeHp6elVzd3Q4Mkl0Tngy?=
 =?utf-8?B?bGVwQzhtTXZnRDBRU29BTElzSHBHeGpYVzFQMWo4cmRDOXQwazVIVjE3ejFM?=
 =?utf-8?B?WElBclZVQUZVVGNNOUNjOVdRSlZJWkNUZkM5VHVua1hmRmpaaGtmYjgrWVZJ?=
 =?utf-8?B?RHNNWWphbytaK0tyNUZCeWpQcXhsV3MwNnlFNkdHRXh5T0VKOTlwQ0kxd25G?=
 =?utf-8?B?QlRGdXRpZzdJV0s2VUU3ZmV3ODJwNEoxU3ZLb0hodGd4MXRMZEpQa1Z2NUhl?=
 =?utf-8?B?eFhSS0FiWVFyT1RReEsyYlJuSVdyeXlhSGdkSHMvQU5hbWN1RTlJRUtDRFQx?=
 =?utf-8?B?bE9zb0hrSUZnR3FCM29sL1JKemFOUkxlQm9CUzl4bHdCTXV6YXpESW9OdlVQ?=
 =?utf-8?B?MmJNZm52U1ZlQmFVVnl2TERsVUFhQ0dvNzdpTFh3ZDZrMGNpYWtwQlFZQmsr?=
 =?utf-8?B?elEzS2d4SmlSaCt4d3ZHM3lpSkRaRTJQRzdNalAraVV2cVk1engyMGkxQ2g1?=
 =?utf-8?B?a1p2dEkwWHVRbFZxVUhZbEVndmxOMld1bHVwQ2lwVHhuME1OZVBGN1JqRUZQ?=
 =?utf-8?B?Vm52MTBMV2V1UDN0K1hvRDFrV2MzQS9tclBiRHM4aWdzQmc1eEF6UXRpSW1N?=
 =?utf-8?B?a2c3eGlGMXFLOU53RTVjVjVTRzZOZlRnQXdCL1RncnZpOTZHWlVudDdCcFg2?=
 =?utf-8?B?OHFTeTVuL3VWNmMvRTFPWndhbThKc1U4b2VyWkVJRE90T01xS2x2N2YvZGVJ?=
 =?utf-8?B?a1p5YTIwellteHAzMVdtNncwazFQWXdDU1NDd0N6UWFlNmR4amRlM1ZXM3Nv?=
 =?utf-8?B?QVlxc2NLcjgxYnlGdzN0OUVJRnoxY2pyTnFzVWxhZDNhc0dDQXo2emNTOHlD?=
 =?utf-8?B?NUlhZ21VajBEVDhNMkEvclNzSUIxSmZHc2d2Mkx0QzFlOW1HMHY1cFduMFds?=
 =?utf-8?B?b3dVVXVWcmdTZkFIajN0MDZEUXNOVSttNVVCN1JMM0d1Z0dtbUp0VzJUUEtJ?=
 =?utf-8?B?Z0xDSGdmd3RkTUtPWnhIUHBkVndVRWdQeWdJZUYySTBnWFBBd0NRMWlxbEpk?=
 =?utf-8?B?OGlTME5qL21nUlFGbzYraWtpV2x4Q0xBYWtvMXd4MWhucXZVTi92bmEzV0l4?=
 =?utf-8?B?SzVmTmVma0hXZFF1LzFuK2t0WG93bUhzbXNwRWkwaWNsSFoveFVSQjg5US94?=
 =?utf-8?B?ZmlPbGh3SytBMVRVM201WUtWb1N6cWRhcUZUdFdiRDY5WVorOVRKZHZheVBa?=
 =?utf-8?B?c3lBK0J6clRZc1BLbkw4V01vdDVJL1dYcDU4ekZvR3JZN0piTDU0ZWpFRWRx?=
 =?utf-8?B?bzV5Ny9LZUNMMWNRZjI5SEhoYUtYenNpRVFBbHJPdlBscTJ1c3lNWkRjdHlF?=
 =?utf-8?B?NHRhRTRIdDhPME9id2FJSVVueWZCY1RMZm1SUzlZcmpjV0RGclRJckNXTXVZ?=
 =?utf-8?B?ZFV3R1JxNzUyOUFyYTRxTjEzc1prM0R3Q2JSRlEzU2NzTDBWdFd5TDdsejNl?=
 =?utf-8?B?eExQaFl5NmFEZzNqVlE2ZWo4dFNDQ0JFK3IvM0x4YnBsazhaNFhaaWd2YVVr?=
 =?utf-8?B?YmpIbVdvcDhraWJDMFdNSHIwb0VBNnVHRm5rNUpCR1gyQW1DYVM0Zlk3Nm9W?=
 =?utf-8?B?NWsrOEloanRFWG1ydmtNbGgwSWVVZzM3NmRib2VmcmFJeXozU2ZSd2t2MFNX?=
 =?utf-8?B?MlR5N3hjaXlxQ3g2S01Cem9KUG1ZSlFKQ0dLekk0NGE4YjZVN3AxeHdvS05M?=
 =?utf-8?B?R2d6U09MTmlmUFF0U2NxSDNlSTRnem5yWDZIYVZjSDBWYkxWT1diQldZOEpx?=
 =?utf-8?B?Qm53aDRuMSt5K04wUWsxZlJYRFpGS3QzWVlnRG1ZTGZkZGF6RzhudXMrYzVH?=
 =?utf-8?B?elNKOUdTLyt1aGc2Y2wxbHpIU2lXMHRCM0tORWVEcmwyUW52VGN2R1RGdDM2?=
 =?utf-8?B?eWoxL2hVdkRwUkIrQVRVczVpZEkxTmMyTVdVc0laVXVheGZkOGFnZDFGTFVn?=
 =?utf-8?B?ZmNOS3ZncXdvMDJBaDlYYTl5RHdHSTVBM0dBTTRHaTZTMjErTzdhY1UyVnJw?=
 =?utf-8?B?RkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	XSMHv2SwfHHc0e3oynkIR/iusLXYCbFRv0LZQfLBTI5sLWszJKzrs3ln4lK0r3qqJKJHXwvXbtW+iy2wD8GLdFL/S8U2D02ErsC6hTgYYooH4ShT5lw1+LCEObxIimihwf93dIBLOZvYOxMmq7S9x0B4YKcUQnqxR3sojn5a9FcbYsW3Wo4WTYt3sioJU4ITBqMoSIapkL39xmvXmTAqcCb67niMCSj3yKyeYYPA1dlmfGI5w9gUPpk9kpFm33MHJlUNzoE+bGudaI/OPW+CgwM9F1A/mWmjX5iAL6HEhm0xQPJL3aKA3yPrkv502p7aKSnP6sxngPRKfriObDlJE8HOeQLfwl/JY4VQbW1knKi+gXS5xlRnFsuXv/HJPO+282iyF+vblv1eUx64TMUrF+IcP+ALNopk/vAujN3v3Pmi3Cqo9SS8Djawfyr3gJmbAKe242MZtdVOEmELM8yLQk24b5/yK/CxO48zsxhMLbaqKycRT4L9YOowFj/bJCSH3dPsRrhOJ6dIjORIcwbUWeqxVGTGGEpQ/a8ruWVXBDgD0JVUR0ZLjfRgpvJmHU/Ath6h230hmahx7BHMlyo+c59j6iPHx1ScvsUv3gaq3BgYiwRZkPZwrTF9sZYGgBTYt+kJRghphjZDvd5ActXpK0FXipEOcN4ECB2W1F6LaH5qk6rDZM+GVksnGFLEJew87dwtcBhiSIgCbD/qVHCez8wQXimptrzpFJfpIO2MEOZS41zAtfxKk4Dgyd5Yc6YVILx7Sfc3y5qn85HEj0+jdhdIS5LZA3IGTr0x/E5GUDV1tQiAJhxjUH1zJpkuu7lEWsocaRZ/flvp3J/Y/qOJzyE5rWVTL6Jfr4wS0bVbzzE/1JqdzFU1sx60+k1bcpF1
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f8e74b66-8430-4c77-627f-08db260622a9
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 10:06:40.0929
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LnFNPynkwdTTMqfIf+UU3CSQv1J4SRbPjxJtcdPf1hPFlT62oCHn5HZ3tPwXensZc72Gbh7Ah85srKAj8ciePg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5421

On Thu, Mar 16, 2023 at 08:54:57AM +0100, Josef Johansson wrote:
> On 3/15/23 12:39, Roger Pau Monné wrote:
> > On Mon, Jan 30, 2023 at 10:10:05AM +0100, Josef Johansson wrote:
> > > On 11/21/22 11:21, Roger Pau Monne wrote:
> > > > When running as a PVH dom0 the ACPI MADT is crafted by Xen in order to
> > > > report the correct numbers of vCPUs that dom0 has, so the host MADT is
> > > > not provided to dom0.  This creates issues when parsing the power and
> > > > performance related data from ACPI dynamic tables, as the ACPI
> > > > Processor UIDs found on the dynamic code are likely to not match the
> > > > ones crafted by Xen in the dom0 MADT.
> > > > 
> > > > Xen would rely on Linux having filled at least the power and
> > > > performance related data of the vCPUs on the system, and would clone
> > > > that information in order to setup the remaining pCPUs on the system
> > > > if dom0 vCPUs < pCPUs.  However when running as PVH dom0 it's likely
> > > > that none of dom0 CPUs will have the power and performance data
> > > > filled, and hence the Xen ACPI Processor driver needs to fetch that
> > > > information by itself.
> > > > 
> > > > In order to do so correctly, introduce a new helper to fetch the _CST
> > > > data without taking into account the system capabilities from the
> > > > CPUID output, as the capabilities reported to dom0 in CPUID might be
> > > > different from the ones on the host.
> > > > 
> > > > 
> > > Hi Roger,
> > > 
> > > First of all, thanks for doing the grunt work here to clear up the ACPI
> > > situation.
> > > 
> > > A bit of background, I'm trying to get an AMD APU (CPUID 0x17 (23)) to work
> > > properly
> > > under Xen. It works fine otherwise but something is amiss under Xen.
> > Hello,
> > 
> > Sorry for the delay, I've been on paternity leave and just caching up
> > on emails.
> Hi Roger,
> 
> Congratulations! I hope you had time to really connect. It's the most
> important thing we can do here in life.
> 
> I came into this to understand each and every error in my boot-log, it turns
> out that the latest
> kernel+xen+firmware fixes suspend/resume for me, thus is this not related.
> But as I pointed out,
> the output does not make any sense (nor yours nor the upstream). I should
> check the debug
> output with suspend working fine now to see if there are any changes, that
> would be quite
> interesting.
> 
> Also, I should mention that your patch broke some things on my system and
> made it
> unstable. I don't remember exactly and I know you said that this is more of
> a PoC. Just a
> heads up.

Right, I don't plan to send the PVH part just now, and instead I'm
focusing in the first patch that should fix _PDC evaluation for PV
dom0.  I will Cc you on the last version so you can give it a try and
assert is not regressing stuff for you.

> > > Just to make sure that the patch is working as intended, what I found when
> > > trying it out
> > > is that the first 8 CPUs have C-States, but 0, 2, 4, 6, 8, 10, 12, 14 have
> > > P-States, out of
> > > 16 CPUs. Xen tells Linux that there are 8 CPUs since it's running with
> > > nosmt.
> > > 
> > > Regards
> > > - Josef
> > > 
> > > xen_acpi_processor: Max ACPI ID: 30
> > > xen_acpi_processor: Uploading Xen processor PM info
> > > xen_acpi_processor: ACPI CPU0 - C-states uploaded.
> > > xen_acpi_processor:      C1: ACPI HLT 1 uS
> > > xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> > > xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> > > xen_acpi_processor: ACPI CPU0 - P-states uploaded.
> > > xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> > > xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> > > xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> > > xen_acpi_processor: ACPI CPU1 - C-states uploaded.
> > > xen_acpi_processor:      C1: ACPI HLT 1 uS
> > > xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> > > xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> > > xen_acpi_processor: ACPI CPU2 - C-states uploaded.
> > > xen_acpi_processor:      C1: ACPI HLT 1 uS
> > > xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> > > xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> > > xen_acpi_processor: ACPI CPU2 - P-states uploaded.
> > > xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> > > xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> > > xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> > > xen_acpi_processor: ACPI CPU3 - C-states uploaded.
> > > xen_acpi_processor:      C1: ACPI HLT 1 uS
> > > xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> > > xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> > > xen_acpi_processor: ACPI CPU4 - C-states uploaded.
> > > xen_acpi_processor:      C1: ACPI HLT 1 uS
> > > xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> > > xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> > > xen_acpi_processor: ACPI CPU4 - P-states uploaded.
> > > xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> > > xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> > > xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> > > xen_acpi_processor: ACPI CPU5 - C-states uploaded.
> > > xen_acpi_processor:      C1: ACPI HLT 1 uS
> > > xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> > > xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> > > xen_acpi_processor: ACPI CPU6 - C-states uploaded.
> > > xen_acpi_processor:      C1: ACPI HLT 1 uS
> > > xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> > > xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> > > xen_acpi_processor: ACPI CPU6 - P-states uploaded.
> > > xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> > > xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> > > xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> > > xen_acpi_processor: ACPI CPU7 - C-states uploaded.
> > > xen_acpi_processor:      C1: ACPI HLT 1 uS
> > > xen_acpi_processor:      C2: ACPI IOPORT 0x414 18 uS
> > > xen_acpi_processor:      C3: ACPI IOPORT 0x415 350 uS
> > > xen_acpi_processor: ACPI CPU0 w/ PBLK:0x0
> > > xen_acpi_processor: ACPI CPU0 w/ PST:coord_type = 254 domain = 0
> > > xen_acpi_processor: CPU with ACPI ID 1 is unavailable
> > Hm, that's weird, do you think you could check why it reports the CPU
> > is unavailable?
> If you would give me a hint at how I could check?

It likely requires you to add printk statements to the kernel in order
to figure out which conditional fails when running as a PVH dom0.

> Right now my guess is that C state and P state is not in sync, thus P state
> are for every other
> CPU and C state is for the first 8. AFAIK AMD only have performance-cores
> (unlike Intel).

Linux thinking the CPU is not online is more likely to be due to the
ACPI ID differences when running as a PVH dom0.  Anyway, I will try to
revisit this and figure out what's wrong.

> > 
> > Overall I don't like the situation of the ACPI handling when running
> > as dom0. It's fragile to rely on the data for dom0 CPUs to be
> > filled by the system (by adding some band aids here and there so that
> > the PV vCPUs are matched against the MADT objects) and then cloning
> > the data for any physical CPU exceeding the number of dom0 virtual
> > CPUs.
> That's my understanding from earlier implementation as well, nobody actually
> like it,
> But the current solution is something working in a bad environment.
> > 
> > IMO it would be much better to just do the handling of ACPI processor
> > objects in a Xen specific driver (preventing the native driver from
> > attaching) in order to fetch the data and upload it to Xen.  This is
> > what I've attempted to do on FreeBSD, and resulted in a cleaner
> > implementation:
> > 
> > <link>
> > 
> > I however don't have time to do this right now for Linux.
> 
> Maybe I can take a stab, I very much like the climate of the kernel but
> everything
> seem so scary :) I've been trying to understand things better, how they're
> all
> connected.
> > 
> > > xen_acpi_processor: ACPI CPU2 w/ PBLK:0x0
> > > xen_acpi_processor: ACPI CPU2 w/ PST:coord_type = 254 domain = 1
> > > xen_acpi_processor: CPU with ACPI ID 3 is unavailable
> > > xen_acpi_processor: ACPI CPU4 w/ PBLK:0x0
> > > xen_acpi_processor: ACPI CPU4 w/ PST:coord_type = 254 domain = 2
> > > xen_acpi_processor: CPU with ACPI ID 5 is unavailable
> > > xen_acpi_processor: ACPI CPU6 w/ PBLK:0x0
> > > xen_acpi_processor: ACPI CPU6 w/ PST:coord_type = 254 domain = 3
> > > xen_acpi_processor: CPU with ACPI ID 7 is unavailable
> > > xen_acpi_processor: ACPI CPU8 w/ PBLK:0x0
> > > xen_acpi_processor: ACPI CPU8 w/ PST:coord_type = 254 domain = 4
> > > xen_acpi_processor: CPU with ACPI ID 9 is unavailable
> > > xen_acpi_processor: ACPI CPU10 w/ PBLK:0x0
> > > xen_acpi_processor: ACPI CPU10 w/ PST:coord_type = 254 domain = 5
> > > xen_acpi_processor: CPU with ACPI ID 11 is unavailable
> > > xen_acpi_processor: ACPI CPU12 w/ PBLK:0x0
> > > xen_acpi_processor: ACPI CPU12 w/ PST:coord_type = 254 domain = 6
> > > xen_acpi_processor: CPU with ACPI ID 13 is unavailable
> > > xen_acpi_processor: ACPI CPU14 w/ PBLK:0x0
> > > xen_acpi_processor: ACPI CPU14 w/ PST:coord_type = 254 domain = 7
> > > xen_acpi_processor: CPU with ACPI ID 15 is unavailable
> > > xen_acpi_processor: ACPI CPU8 - P-states uploaded.
> > > xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> > > xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> > > xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> > > xen_acpi_processor: ACPI CPU10 - P-states uploaded.
> > > xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> > > xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> > > xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> > > xen_acpi_processor: ACPI CPU12 - P-states uploaded.
> > > xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> > > xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> > > xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> > > xen_acpi_processor: ACPI CPU14 - P-states uploaded.
> > > xen_acpi_processor:      *P0: 1700 MHz, 2071 mW, 0 uS
> > > xen_acpi_processor:       P1: 1600 MHz, 1520 mW, 0 uS
> > > xen_acpi_processor:       P2: 1400 MHz, 1277 mW, 0 uS
> > > 
> > > As a bonus, here are the previous debug output on the same machine.
> > I think the output below is with dom0 running as plain PV rather than
> > PVH?
> This is the upstream ACPI implementation vs yours. What would plain PV vs
> PVH be in dom0?

But that's always with Linux running as a dom0, or just running bare
metal?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 10:10:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 10:10:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510471.788154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckYU-0003xN-8C; Thu, 16 Mar 2023 10:09:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510471.788154; Thu, 16 Mar 2023 10:09:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckYU-0003xG-59; Thu, 16 Mar 2023 10:09:54 +0000
Received: by outflank-mailman (input) for mailman id 510471;
 Thu, 16 Mar 2023 10:09: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pckYT-0003xA-KZ
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 10:09:53 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b15e118e-c3e2-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 11:09:52 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7471.eurprd04.prod.outlook.com (2603:10a6:800:1a7::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 10:09:49 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 10: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: b15e118e-c3e2-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g3YezusTQ8bOl3QZd233UH7J2KKpJpKXTaTj1B0rvm/vSwhwI6AEpnxmrgn9bwLVbDFyIyz/SOdcmJVOfTx/dVLfjpv3/+L+4hAC4MZ2QqsEcgLVSmPvC1TUA6m+6Tx5AiPGrbvd+zDCvLrDb2SD9fBWasD488/he8cdUe5ITocCrfQD87Hk3l84dbEYvlM2iUhSynoBPWIpp8ePJgVX22UFpz54ftXVBZHOSNMPxv2kGNX+U9YHvP90emUjvJSBfbv6gUwxcdvN6veW1NJ4p96XL+QbqZOkeBA/AdMoa1kIGrLIlUn663Tj6w5aFcFPrDMwI+lH81uU4jKTsbCrFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F61rJ1VJqnbVyOmO0Vewtq+N4fnWO8vW7lTHIHqvJKk=;
 b=DVPgBaA11qD6Nh3dJV1Aduavx6oNCDg7velrE4ENZ5MFPrfGnrdtitBkCFIWAvDWueaY5ORqqv/pS88pAQbvAzGEob5jLC5g+fiHeuUBVyoApk9tjHhcTd0j7mLGSV6C60nGsphwdxi0spRkF1+cK3qZ/SypbE0x2Uw9DDcX7sO/d1G3ca17NIxAMQPiLnCXn2su/yROrj6hkIqlwUVEci8CxC5PfCWScLupj4wck4QTEM1X5Oc7yioyaYkWikEBFV2/XvlxtLlBImzticNxlfymqL5I71GC6Ud0p+kgoa2EDpyi7QavKslH5Kj1hvl64jS7NCTuSfhQ/NCwvUay/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=F61rJ1VJqnbVyOmO0Vewtq+N4fnWO8vW7lTHIHqvJKk=;
 b=RX9yOjXHCPia2n6YnKgfQfKiYMQlcSD1n6v9eKExt7stP6HWuQRHZBorfP30ST/ro98ZXFjXXHe0W5P1W3F18hJOVwRYGrlwC/yRQJJ9lVahq2SZm6IJXdQIgfUXqPkGhaLvXTmrDsnkx32yTVQWZ6hPpvYKnTGW9I/RviuL25beGJX+/XMEtGr4ByUKhrMmhOtzLSZ21qyPEXExH6nyjY6kc+tuEVwmagWM3OZTMm9tzR/w3CbPdvYrFUV9Za8xjai9ZQWf6RRZdfk/NDeVnXUzAts5xGigvjri7/jOVRCxcoTbueAR8H4B/P1YUh2DNe+SJoag4Rwnc0CFKrN2Jg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4f605fa5-b763-bc8b-6bb0-b70e718eb585@suse.com>
Date: Thu, 16 Mar 2023 11:09:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86: don't include processor.h from system.h
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0014.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7471:EE_
X-MS-Office365-Filtering-Correlation-Id: dbc07265-303e-4614-a58b-08db260693d3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HnK2GoT6yHTz86JrN6s6kKEHCWme85NK0uh7JJ6CAdegHER3s4GbzfA9TD+K7Tf5GijNB2alpPCmrlzIst5oB+WM7kwxPIJzp1gpeHdB2QvVa74Fb/s9WW/T33jULqC6LEwPOE8oSZvkIKJxvrNn+HqS3wSxUjLQCOJ1NqeuvXQB5LejIZvhrLOdO4F0ZHmjbdk8YSqgCxlVyfp2KqnegzoeAgkYnhlnVek60SaDvSH0pNbDZq0Apqxh9Te7M2472i6nMCkOMIqRY0Lv9F0LGfuq2KUiK9+gCHj+X5BnwCahWduDYDJ1zc7zoiEr0qm8xu3h0qfz+GdrY762jJZ9h5mPow0uqqTynGLEESjd3k/ewDKLwGcJJ0MggnQGupjX12MNKdXffogKb/hqTyzUhrgxrt0wVQR/nxemIpD/r6/PsS+GqutJUivA1Hy9GfjtMSGC+BRxvljFj6Q/zEM4TqegubRmAUxJ+KwWy9z58xyjD8S6pcEjNV+EjdmQ1/IBpkeZLiIczvEePPFEpdDdVRH2pOWp56SWik4id8IwMNOoI1z6Bm6pgTkhb8wQRT4h1Mc62Kf1zVxmRv9MEZaHuCVHYvhuvxr5WT77EcxgTAMnbcX9t7g4uZSjqQRNeWhNvTklvzfMhXh3H3+5Lux4+INDm8vC0Cjt52k7EhXLO/xQu4fUABqHPryt0prvr5FSjr87J4wbk8kcajSQVjOZDjAFTLhTj7BsABhBfSHi97c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(346002)(376002)(396003)(39850400004)(451199018)(38100700002)(31696002)(86362001)(36756003)(2906002)(4326008)(5660300002)(41300700001)(8936002)(6916009)(2616005)(26005)(6506007)(186003)(6512007)(316002)(54906003)(66476007)(66556008)(8676002)(66946007)(6666004)(6486002)(478600001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UlQwcjFPR2c0WExUVE1rMVY0emV4ZTZGYUR4RExsQXdEK0EyWmN1S01UTkNp?=
 =?utf-8?B?ODJ3QkU3SmQ4VHBWQWJldGZzYnUzVjM2aUhwYStLdGY4NXcwcndMTW1rV3c5?=
 =?utf-8?B?cUdkSEVQcndxNHl2QWhIcmR2UGhCb2w0d2FMTlRUTW50b21kbGdVYXlDbkt5?=
 =?utf-8?B?S0ljL2swZWVrREg1S1VFTVd1cnlCRks1clZCbE5oTDRtRXFZaFBSRjBtUFpE?=
 =?utf-8?B?eUwvdDV6Wk1kcHhYU1NzSHhOUWZkMzJ0SlphWWZvL3VuTlZGNlFxbkRpam1Y?=
 =?utf-8?B?SXFaNHVObVA2QkhaOW1XOHE3RW1STTJ3dGxGYncvdk5YRDhxaWpTaEd2OGlY?=
 =?utf-8?B?ZXgwR2w1VWpiWVhvRGN2cTZTSVA4aEExalNYY0dSd1U3VGYyWXN6Q1B2NlRr?=
 =?utf-8?B?d3FtL2c0K1J2dlF4SiszSzJnUkc3Z3BYR3dEclFMemZwL1RzWWtkMzdLMTgr?=
 =?utf-8?B?TVRXdFBRZUovUnNFbnYzSFJFK2szWDlLZjhESTUwR2pFWWRWMGI0Nk5ubzl2?=
 =?utf-8?B?RWUwR2MzSjlZOEFNbVFwcy9HQ0FnMCtKKzVFbHBnR2dOdDJOT25acS9lTGRo?=
 =?utf-8?B?VWdteW9YcGUrRGtVdElQalRxMU9QZ29SSHlScmhsQlR4M0d3M0RvQnh6SXJm?=
 =?utf-8?B?dzBuTXB1TGVtcllQam9ZVytLZGpyM2VPd1hyZ05sbjhYZ2hFdXF3Y1IwRmUy?=
 =?utf-8?B?ck45WEJDMGFxUzEwTFVnOGMycmE3VEVQL3NVNEJrVVowMWRmaUNCQXRhZlRB?=
 =?utf-8?B?SkZCRnRYTnM5L29mYjF0U3BHRWhqb2FCUFJvaFZQclhmWlN0TktodGF4NFRw?=
 =?utf-8?B?UEdGVGpxM0doKzV0M3BKcGlVQnVGZ1dQZlEwUDl5aXYwVFNRMGN2R0RmWlZn?=
 =?utf-8?B?aTRsNVMvaEh5N1BHVUJTMnJUQldMRXN6MjUyWXZ2RzBFeVJUeHNwQzhPdVpp?=
 =?utf-8?B?djA2NUlxam84U1NhYk1UUXRNZ1hLekpydHJsVXFQRXRzcW1ZWCt4ZXd5Mi8z?=
 =?utf-8?B?eFQ2bUVWL2NKWDdIWGdkai9lK0d1Nk1NeWRCQzQrbTk4N1ZVMytaUVVVM0xK?=
 =?utf-8?B?bEJBRk44ZTJETGZpQ3FMMkJZcEpIWFFWOTBmL0ttQ1dWQkQ0ZWFCKzhWZzky?=
 =?utf-8?B?bUk1QUpGYlhJbkhxajVTOGxuSnNQVjM4MEhweTUzNEhNZDRPR3ZYZExTUTZB?=
 =?utf-8?B?dGlnUEhDaU1GbW5hUVQ2SDFMZkd5Q0NMZEF1Vkw2a21TU01RUmd1TTA2ODZS?=
 =?utf-8?B?TzFqeGlhZGRQMUNrY0VpT0pueVFrTFQrMkFBekgzYzNpVTNmeTVRdXZBQkpO?=
 =?utf-8?B?TzF4VDEzK3JSYlFDMG1selU3MWlwUldLRGZwdjkwSHBLNTlLNDFkWXlJdyty?=
 =?utf-8?B?ekxhMnluR0Zka1FTRzJlZjZobGNaV3RLVVM4d0VBeXBrRy9sajVmWThZL3Ny?=
 =?utf-8?B?bEl4bW1Kdzd2R1ZOb0MzNmJ4LzVvY09DT3hmNStUU0IzampaL25CekJFSzZT?=
 =?utf-8?B?d1NJVm5TZTdjVU1LU1F1OXRyZXNhV0F1RlA1cW9UZTdaN2JKL3h3TnZhdkdV?=
 =?utf-8?B?Ylp3YlZsanlLdkZZQnFFdVo0WnBGZ1BOaklTNFFNZWZHSytHZHlUMjdxd2Q5?=
 =?utf-8?B?Z3JZMWpVUWNIa1VjOG1pTHRVTW9kOXZQSFVDb2RRRmkvd25kV00wSTM1cTgy?=
 =?utf-8?B?cExtYXh3bFZ6NU52YUQrM3h3TnlEY1dlN3NkRXhoa1k5ek1EdlJwY3ZvQkJh?=
 =?utf-8?B?NE5JZWsrK3hpbTRMY1pyYlNjVXRiL2FHRVdPd05FK1ZveEFsWnlmVS8xaVpL?=
 =?utf-8?B?akhrcVR0Y0RvNXVGOWozVzR6OTNFVitvTUExVytSLzdSQkZPdTBvRjBZWTVD?=
 =?utf-8?B?Z2lrVUtzSERLSzhzeWtkM1BxUGc1Q1FzQlAzRVE3ZlRBZ1hQWWhVRHl3MEl5?=
 =?utf-8?B?Qjl6OC9VNkxqczZTU3d3bmRKK21ZN28rZG8yWXMvMWE2Y3hMalloMGpMWTFS?=
 =?utf-8?B?TmxUR21uT0RqZUhEV0NIelU3TGtpT2tXc0xVMitKZERRTUJVZ2JSSDlUcEVp?=
 =?utf-8?B?WDBrRnh1T2FJbVFEa2JoZXBMREQwM3lUeTNZcUVpSG0waFF3R3NiRzk0b044?=
 =?utf-8?Q?mT2xZDLEc0gJBYrPRA2HLeFMn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dbc07265-303e-4614-a58b-08db260693d3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 10:09:49.5931
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NNQl43WX5gMU56uCYlsQEAY8LsOzBm4338VpHrSoXCHQvsz1d9nRMoLOC8ZWysyqHqyjizUpYvhbnnr33wWIjQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7471

processor.h in particular pulls in xen/smp.h, which is overly heavy for
a supposedly pretty fundamental header like system.h. To keep things
building, move the declarations of struct cpuinfo_x86 and boot_cpu_data
to asm/cpufeature.h (which arguably also is where they belong). In the
course of the move switch away from using fixed-width types and convert
plain "int" to "unsigned int" for the two x86_cache_* fields.

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

--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -19,6 +19,30 @@
 #ifndef __ASSEMBLY__
 #include <xen/bitops.h>
 
+struct cpuinfo_x86 {
+    unsigned char x86;                 /* CPU family */
+    unsigned char x86_vendor;          /* CPU vendor */
+    unsigned char x86_model;
+    unsigned char x86_mask;
+    int cpuid_level;                   /* Maximum supported CPUID level, -1=no CPUID */
+    unsigned int extended_cpuid_level; /* Maximum supported CPUID extended level */
+    unsigned int x86_capability[NCAPINTS];
+    char x86_vendor_id[16];
+    char x86_model_id[64];
+    unsigned int x86_cache_size;       /* in KB - valid only when supported */
+    unsigned int x86_cache_alignment;  /* In bytes */
+    unsigned int x86_max_cores;        /* cpuid returned max cores value */
+    unsigned int booted_cores;         /* number of cores as seen by OS */
+    unsigned int x86_num_siblings;     /* cpuid logical cpus per chip value */
+    unsigned int apicid;
+    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 */
+    unsigned short x86_clflush_size;
+} __cacheline_aligned;
+
+extern struct cpuinfo_x86 boot_cpu_data;
+
 #define cpu_has(c, bit)		test_bit(bit, (c)->x86_capability)
 #define boot_cpu_has(bit)	test_bit(bit, boot_cpu_data.x86_capability)
 
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -118,34 +118,6 @@ struct x86_cpu_id {
     const void *driver_data;
 };
 
-struct cpuinfo_x86 {
-    uint8_t x86;            /* CPU family */
-    uint8_t x86_vendor;     /* CPU vendor */
-    uint8_t x86_model;
-    uint8_t x86_mask;
-    int  cpuid_level;    /* Maximum supported CPUID level, -1=no CPUID */
-    uint32_t extended_cpuid_level; /* Maximum supported CPUID extended level */
-    unsigned int x86_capability[NCAPINTS];
-    char x86_vendor_id[16];
-    char x86_model_id[64];
-    int  x86_cache_size; /* in KB - valid for CPUS which support this call  */
-    int  x86_cache_alignment;    /* In bytes */
-    uint32_t x86_max_cores;   /* cpuid returned max cores value */
-    uint32_t booted_cores;    /* number of cores as seen by OS */
-    uint32_t x86_num_siblings; /* cpuid logical cpus per chip value */
-    uint32_t apicid;
-    uint32_t phys_proc_id;    /* package ID of each logical CPU */
-    uint32_t cpu_core_id;     /* core ID of each logical CPU */
-    uint32_t compute_unit_id; /* AMD compute unit ID of each logical CPU */
-    unsigned short x86_clflush_size;
-} __cacheline_aligned;
-
-/*
- * capabilities of CPUs
- */
-
-extern struct cpuinfo_x86 boot_cpu_data;
-
 extern struct cpuinfo_x86 cpu_data[];
 #define current_cpu_data cpu_data[smp_processor_id()]
 
--- a/xen/arch/x86/include/asm/system.h
+++ b/xen/arch/x86/include/asm/system.h
@@ -3,7 +3,8 @@
 
 #include <xen/lib.h>
 #include <xen/bitops.h>
-#include <asm/processor.h>
+#include <asm/cpufeature.h>
+#include <asm/x86-defns.h>
 
 static inline void wbinvd(void)
 {


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 10:19:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 10:19:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510476.788164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcki0-0005kx-9j; Thu, 16 Mar 2023 10:19:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510476.788164; Thu, 16 Mar 2023 10:19:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcki0-0005kq-6w; Thu, 16 Mar 2023 10:19:44 +0000
Received: by outflank-mailman (input) for mailman id 510476;
 Thu, 16 Mar 2023 10:19: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pckhy-0005kk-JL
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 10:19:42 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20618.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10548552-c3e4-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 11:19:41 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.29; Thu, 16 Mar
 2023 10:19:39 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 10:19:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10548552-c3e4-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U8HlnTUYBFTqaGkUpaiLhctlZSzDaKoTubzRImluKWj++ZEJ7n92THnyvvCoLisPgyqk6tr5BOvB/Sp/0v9rJj+uqnNr0zzwdm5B+a4GkEjsS8Vh+VOwzeG78xIpJIZXBSgCd6Zh687X9EtSeMB918QFYzuq59sb/FgMhx9D2Mp7ErqR7Csssu5sahzdwZDv1EI+A3Pcdk4i2edzwScwvFznX5K5mHbTIni4BCtI4nA2pTs9jobiMn9Lo48DKlXRyHfzSFjWjL1JhRYaU7+02xFyWb8YH4063qJE/ucDDwFqBPhMvgODuKUi8kRhnmOLo+Rk1Pzaoup7+hG4h5e88A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+Bn+S/2eYfVZvHWIeQFr3qM8VkqvI7SaZtJE1PiDRQc=;
 b=Y2dQQaWz+Dus+ipvgpHUOrOxRsy+pVQg7+L0a7pDllsEATu76FMl7u+2td6+dyKisCJ3OZwrbbjtL7eJfTvrR2jpP+ZykwrRwHF0NoxqBI/jfEUKch35kIK+5AXZdwK5yTsFRi3n5Ql0xy48FFbM5DC3MLkVb2eNUgYe+DLGQrW1js0nLjS5HqqMz8xJkNm4T9aZurDkHaoYTkb01oy3m931zdOjhTvvLmKi9MAppgXo4YxBeZeHh+LBzPBCwDltsPP4eH8kI8eezLOw23CrmDFXnqiAofxhjRU6wAdlLmPv94mLi/8z9kxI2lVLKLGpkO45Grj0jfIn5hDCXAzcSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+Bn+S/2eYfVZvHWIeQFr3qM8VkqvI7SaZtJE1PiDRQc=;
 b=rRwh9D8QCO8f9zQcxOtcszbXujEAmMYNtjiptnkU5z6yC7ykfdf4Fi79Igb/Hhf1P+JhD/F7BbgAyCpToB5ddtVj+Xy4TR5IBZN/JSD/AYvvsh1RbMb6L8C6Tsx3oO397+3ZIY4qiFL1LAQKR4BMdr+7V5tjOSheRjp6Q9vRy7K1wcVm0g+PQgpX8PSystuzV+8I3AzetDKamTjaFeInRGiBQK6FTbLuwXoAfpPF6+Ji9ut9QB88bn77W7lHzSgh6+Ub+OhX7wcBx14pHiyglIgy6FHWXORx/WhEzaInCsqNFR9Y9OMFKWxZLoTpkJahiqvaZGC26tL6EhyBHu/fEA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fd55257e-3604-e09b-fba7-bc95d39ce723@suse.com>
Date: Thu, 16 Mar 2023 11:19:37 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86/svm: Provide EXITINFO decodes for IO intercetps
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: <20230315221003.733913-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230315221003.733913-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0104.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU0PR04MB9322:EE_
X-MS-Office365-Filtering-Correlation-Id: bec89bd7-94ea-41b1-9916-08db2607f35e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gz2pN/c2/6RDi+felQgbvaaUgYOoOYhzMFspliLv7OeX/h8rqbt+JthWWo70MUVTlXvmvx7lp4klrllaE9kvWn67ySI3zjf9UXhgbUOwzmyR4tC5yHfwiMxBK6JTqpxJ+EiMuMU0Zq7j2xYtnw6FngQGB3VmBAa5fINri2kHLmNTRvqg/SnaDTTR+49dAwyiu0HSHAgY7hmWcTEBNDt9Tbb6hAhlnMCquiBrg6hNfYX9Waf/QfucZDsVhmaaPJ11+NJqMRQiFA3nz6tlforJ6yGmk8Mu7gp6KuQK8RbtPnx1P24gC/a32deOBbA5gFfqnpGkySmSE2lfOky/h6ogjx4giXOFgi5c+yA+N1mln008+hMueCB6a2BjS07Q1AAhbLbzZsmuOFGWmUStp1dTcjzS/0e0zVY4QSQ+mu5wlWducDDfLX9PIUKMZRtcJf7dM5X+Z/EM+a8lVYeHBsW6U4NmXMgdgEmccnZvFM2Jx2ayj/5qdtWX04YfoF6Qf0B0HNxIOAZHm+lud2dUVOmp9MhUs1JZgUoLXPsuhPnkC+XkbJ83n/GPz+UVrkwAsSPnkgfg22763cgKJec4f8MLTlE/gc8kEOOEL9QoSHV5PGf7dH5rUpntoancqtqZ7bNZxvcp9n1AFeYlshOIlV+z9s9agYnk7/0nILz5NJY5KRKbfIXnH5ztEiE2VgZnpf/SsC2wm1pJ1qjxxT1aZ30lJTY8ke/sk5zvDDJ6nvcepkM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(39860400002)(136003)(376002)(346002)(396003)(451199018)(36756003)(86362001)(31696002)(5660300002)(41300700001)(38100700002)(4744005)(2906002)(8936002)(54906003)(83380400001)(66556008)(4326008)(6506007)(6512007)(186003)(53546011)(2616005)(26005)(316002)(478600001)(6486002)(66476007)(8676002)(66946007)(6916009)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SWVwczBWWkgveGdWTWRiWURHSlpuQjErU29UdWJNSUVGb1FFWjYxUTlmdWxF?=
 =?utf-8?B?VFlQa3M1bnlmaXhyY1kvNXQ1VlpOdUFVMmtPenVlTnFuYndDYTdyQUdKOWVl?=
 =?utf-8?B?T2hoSW1adWkwNHlya3dQeG8xTzVMZ1VyczJ6cVo1cDh0MzFtdlhhMXZwdkh0?=
 =?utf-8?B?bnpTQ3ZUWStGOVgxbGJOWVRPSGlST3ZZVzAzeXhTOWowUWU5UUYzeDBpMU9t?=
 =?utf-8?B?UmtURmxCZDdKWXdJRTFxcTByY3puOUU4ZGluVFVsVHpKQ1FUbWN4QmVaaGlR?=
 =?utf-8?B?STNDRkFOZzhZUG1SSlFxMzRsbExsNk9lRVlaaDE4WGExUXBOYkxzbTFRZEdD?=
 =?utf-8?B?WnNGVGJ0OXpWTUxBaFErK3VYL0w5bjRhSWdSeXA4MEthR3hVNTBxeHFGU2lL?=
 =?utf-8?B?SElsRnJ3MDE1TGdneE5ka1haMGVIaXlmRFdqNGtZMk5LaCsyRXlIRjBOU0I1?=
 =?utf-8?B?aU5YT21Kc2R1K0hhcDJvb21hSDBJWEU5UkFuWUgrdHBjWThsNVF5UitJSmFB?=
 =?utf-8?B?RjljTGZHWVBwa05GSlBnT1JRemE4TFByNzlLZEdvNUpLNEF3Zm1uSTIxVWdE?=
 =?utf-8?B?b2t5YnhrYUZkVlVseWtibGlwWVgxaUVQZTJLTk1FRjNQSU02TEpoeFEreDh5?=
 =?utf-8?B?cWJ1c2grSlpobmZ2ck5oczVOVTB3UXYyTGNVN1ZqcjVGSzN6RHNaS1Fjdk5W?=
 =?utf-8?B?eHNaa2VnUWx5emNKaUxoQUhEYTJaaEgvbEdSMGlMQ3gxaFl5cWhjTHlkQWx6?=
 =?utf-8?B?K0FQL1ZyaFM2MGQ5ZFBqMW9nTmlrMkZJZ1czR3VPMXlpQkJWMVEwVnEwdHp2?=
 =?utf-8?B?NDlJTmNjT2tLbXRES3ZMcXRTdFc4TmZ4Z3RWaEtNWWJmdEdiMGRTRVdDRmND?=
 =?utf-8?B?MDl5UzhDdkNoREl6clhOczNxSnZBcGJPNnphbG9yd2JCUkh4WUxMZmw2Ym44?=
 =?utf-8?B?aHUrdHI2TERwd3YrZGJQNG1qZmttazB1K1dvd3M2VGxBblJ2NFBubnVVci8r?=
 =?utf-8?B?RGkwWmVGNVpaL2h3aHlDQWpUSkpIc240YmxqU09Ld1BoanJRK09na1Jxam1o?=
 =?utf-8?B?T2dNamdIZDBjMTBBVmR2aGtXbFJ4MTk1c2FNMWtjUENNblNCbThMaFNwNUxw?=
 =?utf-8?B?KzQ5UnVkT29WMGo2MWx2MXVGcXNuaW5neGl2M0RIWEtiWEwrODZheGlTRFlT?=
 =?utf-8?B?Mm1UY0tReGhkLzBEQlpyMnljcTlmSElJakpLT3loZkdxTkxTZE5QZ2ZoWGg1?=
 =?utf-8?B?MlNWdFdad2ZaZW1yZzlHaVdjbE1PVnNOQVl5Q0hZczc0eG9JcDlhVEVuMGtG?=
 =?utf-8?B?R0NNUk05dG04RHgxSHN2Y1BSdkpIRm5LdEVTRm0rU3dLVFhrWjZmLzZxZlZ5?=
 =?utf-8?B?WHRENFBSUjdEY09jbm1Wai9yWUdQZnhBelFUd0JsK2JyUXAwTHBXdVVvbVRE?=
 =?utf-8?B?b25GbThpcitFMTNveW90MkxtUHFNMnlGRk5JMEFVUmpnT0lHV3BrYnVzY2Y2?=
 =?utf-8?B?NE0xa0tFUUxpQ3lBYTBvQ09lbEZUb3Q0RktCa2sybkI2TkZ4MkJvUi9NNnZt?=
 =?utf-8?B?VmtVOEpvR21RWUszYmNHUzlZd0J0UmtEMzNXRjcxeGo2UDhSV1hqb29HSDM4?=
 =?utf-8?B?RFZBK0I4cGtuRnYrTG5CZFdDWFZQWUxxVWtBNERneVhvNWxsemw3SUttcXRI?=
 =?utf-8?B?a1Y2VTRhU2xBa2YyN0M3bUVTcWtDRTlOTUdpL2JqcTNMQXpuaVQwOC9yYmc2?=
 =?utf-8?B?OUxUMWVnZVFLRlErd3lTQUtSaHROZHF0WU16ekNQOVpZeGlSQ1piLzV6S3cv?=
 =?utf-8?B?bk9ra0E2OWRVU2crOE11T1lNeGh6MzVLUXZvUHdRaTJuY1FyUjZ5VHlVTndQ?=
 =?utf-8?B?YnVQWXNwd1FuTlZLSU5OOFlKdGk5N1RtcmZkbG82N0UvcmFMYVZGK3JaWkZR?=
 =?utf-8?B?TWlkU3hkb0hhRjJ2NmVuVlBEektTa05qeVRDRzBWdi85L2FGWGZzK2NodHNi?=
 =?utf-8?B?VUJZUTVNSCtHbzNHVTNENUZtNTVnRHlncnFmc3pvUGVhUFJxQUtEUjBtM1FB?=
 =?utf-8?B?SzNXYUpjWi84QWNkbjkxeWoyMkpsLzdKRFFMVnpINmFxeEUrM1RPVXU3L0xx?=
 =?utf-8?Q?bfuIiYaVoLD6iTu0zgtNaO2dB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bec89bd7-94ea-41b1-9916-08db2607f35e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 10:19:39.6965
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mpaJ2Y2x12sdTw6fpUGajCp9ChbAPqGkEaXWuZrW35U5mv/N80H9wUu4eNQs8IPs2YEI1/Rhn6ugQoxH3xvoTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9322

On 15.03.2023 23:10, Andrew Cooper wrote:
> This removes raw number manipulation, and makes the logic easier to follow.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

But I have a question:

> --- a/xen/arch/x86/include/asm/hvm/svm/vmcb.h
> +++ b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
> @@ -436,6 +436,20 @@ struct vmcb_struct {
>              uint64_t exitinfo2; /* offset 0x80 */
>          };
>          union {
> +            struct {
> +                bool     in:1;
> +                bool     :1;
> +                bool     str:1;
> +                bool     /* rep */:1;
> +                uint16_t bytes:3;
> +                uint16_t /* asz */:3;
> +                uint16_t /* seg */:3;

Is there a particular reason you comment out some of the field names? I
can see that "asz" might be a little odd to use, but both "rep" and "seg"
are imo fine to have a name even if currently there's nothing accessing
these fields.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 10:22:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 10:22:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510478.788174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckkm-00079Y-Nb; Thu, 16 Mar 2023 10:22:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510478.788174; Thu, 16 Mar 2023 10: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 1pckkm-00079R-Kr; Thu, 16 Mar 2023 10:22:36 +0000
Received: by outflank-mailman (input) for mailman id 510478;
 Thu, 16 Mar 2023 10:22: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=lZp/=7I=citrix.com=prvs=432965e83=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pckkk-00079L-QG
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 10:22:34 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 755163e8-c3e4-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 11:22:32 +0100 (CET)
Received: from mail-mw2nam12lp2042.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.42])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 06:22:25 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB5168.namprd03.prod.outlook.com (2603:10b6:208:1ec::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 10:22:23 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 10: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: 755163e8-c3e4-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678962152;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=DS3ZiRRlMpEAM1rDkZj4akNm4L9rz/5onK39tSahAy4=;
  b=RAsZso8EScn4kmqXZVAnAuxs5fJF5bnR0bUZ2foXRScbheLuX0fCU2VR
   3XtBohLCpkSI6TCrqHsGPGshMdGFUjEaLq5Wrvb6ct5e0nLT7LY5J4P69
   hJKgHZW3RNJqy/Id35++4Vm6Tnoeoj/l1HryWAv6k2iF7hO+xI9Z9DZvV
   E=;
X-IronPort-RemoteIP: 104.47.66.42
X-IronPort-MID: 100459749
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:OlakEKlPQ0X9axQ+Yte2Vujo5gxHJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJMCGHSOPqIMWKged9+Po6xoRlXusOBm4dqTlFkpCxjFSMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QGGyRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 cUBLmgkaTXevf2/nL3qe8JLooc9LvC+aevzulk4pd3YJdAPZMmZBoD1v5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVklI3jOKF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtKTOHlp6E20TV/wEQTEEQZTnzhrsPgqRH9dc0YN
 lEEpXEh+P1aGEuDC4OVsweDiHyOswMYWtFQO/Yn8wzLwa3Riy6JC25BQjNfZdgOsM4tWSdsx
 lKPh8nuBzFkrPuSU3313qiQhSO/P24SN2BqTSgAQAge4tilo5wpiRnPTdFLH6u8j9mzEjb1q
 w1mtwA7jrQXyMsUjaOy+Amdhyr2/sSTCAko+g/QQ2SpqBtjY5KobJCp7l6d6utcKIGeTR+Ku
 31sd9Wi0d3ixKqlzESlKNjh1pnwjxpZGFUwWWJSIqQ=
IronPort-HdrOrdr: A9a23:PMhP4aMsBBcYAcBcTuyjsMiBIKoaSvp037BL7SFMoHluGfBw+P
 rAoB12726WtN9pYgBapTn/Atj7fZqsz/BICOAqVN/PYOCBghrQEGhM1/qF/9SKIU3DH4BmpM
 VdmtBFeaXN5RATt6zHCEPRKbsdKJftytHM9IOuqEuErWlRGtxd0zs=
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="100459749"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nn2Lf4vLxColKuRcQb+G3SFLoJqCV6r0TwoeJXBk0YAYRof6EwlNSSyRNB0WWfxCYXwCqiAZdm4fnAnYYVgjcSZYPqVqjwiZVTKyCz8/kSqNbb6bAv7UvnczK57qhivfxac96xOljkGHLBFtaX0hzNF2pDx2fXubvLk381DclqczAZNFP36lpP67ADLhXTyfkDPXF9zkdMp7Wmpg35aYuNBQpgxPJzdMY6utPvEOkKuLDZQaS5p1Pyp8wPEfSdULHd6CJiX0Us77b3AeXW//ARMbpP/Y5LkEvymolXIJBucNqaGggD2ICWxBGoarl9aAzBSxBIMrS9HHxIjhFuejVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DS3ZiRRlMpEAM1rDkZj4akNm4L9rz/5onK39tSahAy4=;
 b=gqyAA4C0AXf6wBNXPJHxwvVYQxstfs5RXc440eJwQYM4cFl0fYM33FyFeK+GvZkZ2+YfcClqCFXLswV9qNAJjd56+d12yxSfSGpq1B0jKhNiDMTXGfeVKYzwhUHIfKi+ETlZOgA6cBLWtm7tNLxN8dYM6nQl2h6mdu7gCPswa4SQbjKbFVq4ycqyMSWfTX8yI91SY86s51yuM2Lgq5CrGcvMPy2HhjhyNL7ZAadH6+Vv8oRbPiyJLt9aoj+dDxmT6laQkZzZKvBbxKafLx7j8mJmx9Z3cyDeZjNeMGEL7WywRADEHj5E0FhVt2++/v9c3QmU7AWqagBses0/CV0wPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DS3ZiRRlMpEAM1rDkZj4akNm4L9rz/5onK39tSahAy4=;
 b=s6PWKiltb0bXjnM/bl3exat2VyHULukyOyX8u3gLBmFipe11rkA9AzAu7wBigHcYKKX1UF51dpp4IlIM3po8QdcxrToanfjrmVFnvOqeWmPQ85JBI7lCW076ldauRrtszVj+KLGqiq1yIsmqTfnwj0By7iUX5EU64C63XYZvFf0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <973cbab0-61d9-01d0-ad7b-9aa5d98756f4@citrix.com>
Date: Thu, 16 Mar 2023 10:22:17 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86: don't include processor.h from system.h
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>, Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <4f605fa5-b763-bc8b-6bb0-b70e718eb585@suse.com>
In-Reply-To: <4f605fa5-b763-bc8b-6bb0-b70e718eb585@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0217.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:33a::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|MN2PR03MB5168:EE_
X-MS-Office365-Filtering-Correlation-Id: 6810e43c-251c-466e-239c-08db260854c6
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oMZqXYt9Uw//ZxVqEPX+UEFdYF4svJeEd4Q3aZsqLk+PnRYRNNaf5dpxNJUkG4dj/TIBvYFwQ3KH9vPvmSEUEcGpkJyXg+JtTQtbf/uLfxeKIw0My8/s3V1gtSvtIfTURJYBIwh1a39ZsLRLQW9BbMMGZp7IZyY0DvdcztQ8+N8Lw+HuPk02whdn9ed6z/f/ralyQWtfDeIr294PeqNUxk3Cph3ZcJk1F/87DbgcsTNruIrq7f5LUdqRJTiEVv2uDyhXqma1uBttNRGLT3c8bwleiB0IYd+fQCwpDUhNFqrhJLgtzvverpi+Lsym1e6FE2cHR/5inbjsbQmcPoAMOWRRCtBr8jQYVjRSfM+5Cygn29H3668E8podgPWwc7FfdeBx5AhvUB2ZVNNp+WTQWKfXo64NATqMMPIXskxQsiUCMTE9fc2s4JMCMibAsDq0ijgW32yxgMkpUxTEY90gVTPjtFJL2jJy4eckDP0FdCVOfRMfZn2AYMltZZYK+YZjxybbJyY9eRAPyGUNcYBG1pg3YLHe5xsN8b+2ozdjAih2yNh4P3pg5yuv9k7i+KYo3Spso4li2uLNGYRlZjJ4R8zDcoPj8tuOxVLPiz1vTT5eJ+FqyJr+l3XciUkR+oKg6PrKNkLQhQcCU1QLKoYVZDeFJ7GqJw2AAxo3g0A7/AJqB2+itjH41RoAGEBD+34YbirM2EZBV5Y3pUCUAq6dx7G/L7vH0z0t6hzRf8tiBv0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(39860400002)(136003)(366004)(396003)(451199018)(31686004)(5660300002)(41300700001)(4744005)(8936002)(2906002)(36756003)(38100700002)(86362001)(31696002)(82960400001)(478600001)(66476007)(66556008)(66946007)(6486002)(6666004)(8676002)(2616005)(4326008)(83380400001)(54906003)(110136005)(316002)(6512007)(6506007)(186003)(26005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZE05SjQzZmN1Rld1VXZNTFFlUm1YNGorTTdXZXVSd2dtZHNIZ3c1OWtsd3Bm?=
 =?utf-8?B?MlpiVFNvRjlmN3Z5MkRNYXpXaStFbEVtNC9JOW4raTZPYVNEbzdZL3hQZTVp?=
 =?utf-8?B?ZFl3Ry8xLzNkN0lvK08vWWRnYTFyanF6eGdkT25DU0xCL1c3Y1dFSTVMcUls?=
 =?utf-8?B?dmg5VU0rYkJiZnNuU2EvZEMwV2hPOHliaDMzUlJYL0sxNWNUU05xN0J4MjFH?=
 =?utf-8?B?RG1ZSHowblZUTEdvM1ZFbWU3Z29hYmVnVTZYZjVkMUNtd1FGUFQvQU15WHdq?=
 =?utf-8?B?bXV0T3dzVDMyWXd6NlN6YStyRHpEeTR5ZnIzUXo1U3lDaTZud3daZnR1ZVly?=
 =?utf-8?B?SkRhbGllb2tJNnE3NTFNQ24yVWhkV0dkbXltaVU0UlliMWcxeDQ1dEs1WWhv?=
 =?utf-8?B?QjMzQ3daTEhDL2k2VDF1ZndTalBlb0pabFRCSk1ycTU4VlpzcVErRkNSdkJa?=
 =?utf-8?B?OXVwMGxmcUdlaW1xN0tyU01hRUFiSlI2d0lGUFMxOWhybm5vR21HRnpFdFZK?=
 =?utf-8?B?RzBBaWdzVkVMV2RiUUEyampPOSs4ZkxVbkRDNHJId2VHZS9kcWJ5N0laRFhE?=
 =?utf-8?B?N1V3M2t4enlVMGQvS1h4S0JoMTBsUkJoaktXRFFpTzJVU2lUSDJRSGtBNE1R?=
 =?utf-8?B?U25SVWp6dG5UL25QalZLRXpuc3N6b1hsMnd5Vi94L1M0L0dyTUVwdXY0RWlR?=
 =?utf-8?B?UG5ZdWJITmxydXk0NW1YWkdXSll6aUVXV0RVS05NcTJFb2lNNGl1dEtNZVBC?=
 =?utf-8?B?dmNPZkt4S294OUFUV0Mxd2twMTV1RG50SFYwclgyMDN6WDZGSG5hbEJOaDBX?=
 =?utf-8?B?VTFjb0Z1bW1US1RBbTl5dnJHaEtuY1dkalkyNGk4Ym01UXlRWFplVGNRMlh5?=
 =?utf-8?B?M1NHa2lPSzRaZHEyZlpyODZBTWpvVW8yS1diY0E3RS9XOUFlRXpGZnltaUIw?=
 =?utf-8?B?d3ZTUXp6YnpFMzdnSlVyUk5VM3gyeHBhTEN5YzgvUFdyMXJaTVJLUW5hNHlY?=
 =?utf-8?B?VjVma3RHeWM3ZVQ1bkhMRTkxZlg4YjZJMmVyWHZLT2M1OW0rKytmUHh3RkJz?=
 =?utf-8?B?bHA2VVd4QW9BUXlMZlgzVmtsWW5JdVR3V2tkcTZsOHlFN0NlNnBQWHN6WGNF?=
 =?utf-8?B?UndGWjdSVjAvbXpkSzE2K0h6Tll2REpKK21aVTE5MEo2ak1rbWhWQjlJeTJl?=
 =?utf-8?B?SG1oRWNxSjhCSng0MTJEM0ptem1SNmVYTFI0c0ZIb09YUys4YUJNY2ZYRzNK?=
 =?utf-8?B?OW1jbDZUQ3F3emg4M3VQSU9MdXBadGlkYUNxVmJpVVUwM2tPZkpTcVdzc3ps?=
 =?utf-8?B?d241TjJlQ0tMaGJuZ3BqS3o0QjJSazRVcWhJNWVxOGpub3RESVNJU2FoUlF6?=
 =?utf-8?B?SXFobFZZSTZ6RVk2Z1duSmx6QkhBd1JUdUttdjNHYmIwemFvT1ZQN2lTb215?=
 =?utf-8?B?cE9Yb3JhMk83NXBDNlEvVTdxcnJPQmM3S3dPdFBTaTlnOXNLQkp2NTQ4SWFW?=
 =?utf-8?B?YzgvRTkzYnovRm5YNUFRQ3lZNnk0THprbUJocEV2SkVvMkdKN2xuRWdPTkJZ?=
 =?utf-8?B?MDQvd1BhNmNTTzdxSVhITjE5MXZRK05BUnJ0Q2k3bzA2SXU5cFJVUmU4UURJ?=
 =?utf-8?B?NGZOZzY3MFBVbEx1OTUxTjZEYUhIbFZmblBudjUwN1hRKzlhZElGYTNIYmpy?=
 =?utf-8?B?QmJhcmVmRWhtTXk4SXdIdDFpUHIrZU1BUEE3OS96bGFYd0ZGYklMd0hDUG1i?=
 =?utf-8?B?SGlJZkZZYVFQZHpTcTBqekhUV0dLN0Z2MW1rWmJuaVV2eE40TCtWNmRBQnVr?=
 =?utf-8?B?QS85c0hoMnRkcEZFU01EQ3VrYmF2RzhIQkhOT2hmbWpoYUxuSUp0OER2V0No?=
 =?utf-8?B?Uzl3YURXOXBnaU02c0lna0g0QzdLdS8yOENtN05JYXJWbU9ScndVVGlkbjNH?=
 =?utf-8?B?SFNNaitsVm1sa0llcXlhQWJrZ3o4RHc4YkNOazhIRDhKT2pTNGxxTWZhdVpz?=
 =?utf-8?B?Y2NscVc4cStqeEJrY3R5eEJ3Sk8zSnF0WGdkWk51NlViWmxyd1YraVIzSmRj?=
 =?utf-8?B?RnBJZ2tybVBBb1RwbFNIamFreDkzVmo4djVuWG1wU1RqSFVBSGorZTZEL1Q2?=
 =?utf-8?B?SUhHUlVXNWhLVmx5NkVlTjZWcnAwemVidjhrMDRUaXNBL1RUNHdqMlp0Q09T?=
 =?utf-8?B?Rmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	FTcCJDLw0r+1yB/JfLZinZmbYMKhnX8V/9kItJU8sreMFhOfhwIkPDCzsFg6NHibh5+WIAd413hWQqgffE5w5W4nC5Dp5XloIITGTzs96MAPuaN4dyhKyHwpjE6meIoEQPYDVA1INwXCKFH3NWYkQOzUEPMF18h15moS0HUXyV/ZMnwz5oyV9hoXl9tEKVP1lanuP+26dllSns7f0xc2tPNLe+9ZGuZb4UXObGZ/ZohGWJxIFgxdi/rH76XtBZxDzKsMquz9OEPg+W/IzaG5T/PoHxZwCxCCTuJgHpCoivknD1kvREce/JuBQhgK/5Omn2JSB0ts7SB6sBYsKTerwjfxAADSL639vlKLX4T+rg2adbJXJ9qwZlPX7gVQAsjYrGqyhLFoc7h3rHRghPXMHRHyIuGbL3rRml+/pfQBsznZLBUgCBrNNVNYVQchHcwLJOJgHnuxAU0OTsctlGUMgalmRRuF5lXAjVcm9prErDHA+DeW3N4qHoUqhEyAtYX/h3DpaueKY/UkVd5bKGt30XbfmHWvf6D9tLorAUPs+2Hsa19mYX0HtFqW0VioUrBE+zSvSR7yy9sjAKDIIpD2R/I4BPMkR/xzERxcLD9SKqrBeUgWFItgzUaeS3CouMPu50fJtXphhnqNaMFuI0zFM434rEnh1WvLrY74PUHYC+Tcs4Rv+osojTUUX/4izIRzkQFFfe5FnXd/T8OWx+pk8RBM+EQ+butJuJT5Znr17T7lPoMORrYnFg0Zjtj703v7Bn94qyUdRr0SsYxPAHqjORg6eP22QKVOfPpvP1IalIuN1jSXWQmHFj3qcKc3UrnFEZA0hzUyGRyReeiuzfwsWgkfauIR3SaDdJQ56Vlxx9o=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6810e43c-251c-466e-239c-08db260854c6
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 10:22:22.9422
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: brSKgrIV/HEkCji1aXfjozyvDVlBPS03GsBCuDiGsVOD49TdTs7JDdHTL6Mb9+hOaE9GfqA0XxyA7J58TySttdiql2dKzgj8IuL1nxAvwAk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5168

On 16/03/2023 10:09 am, Jan Beulich wrote:
> processor.h in particular pulls in xen/smp.h, which is overly heavy for
> a supposedly pretty fundamental header like system.h. To keep things
> building, move the declarations of struct cpuinfo_x86 and boot_cpu_data
> to asm/cpufeature.h (which arguably also is where they belong). In the
> course of the move switch away from using fixed-width types and convert
> plain "int" to "unsigned int" for the two x86_cache_* fields.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

I was genuinely thinking of starting to pull the other cpuid() stuff out
of processor.h in order to start tackling this problem.

IMO system.h is still overly large, but this is certainly a step in the
right direction.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 10:27:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 10:27:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510480.788184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckov-0007lo-B3; Thu, 16 Mar 2023 10:26:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510480.788184; Thu, 16 Mar 2023 10:26:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckov-0007lh-81; Thu, 16 Mar 2023 10:26:53 +0000
Received: by outflank-mailman (input) for mailman id 510480;
 Thu, 16 Mar 2023 10: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=zev1=7I=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pckot-0007lb-LF
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 10:26:51 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e83::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f2fb990-c3e5-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 11:26:50 +0100 (CET)
Received: from DS7PR03CA0284.namprd03.prod.outlook.com (2603:10b6:5:3ad::19)
 by SJ2PR12MB7797.namprd12.prod.outlook.com (2603:10b6:a03:4c5::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Thu, 16 Mar
 2023 10:26:46 +0000
Received: from DM6NAM11FT018.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3ad:cafe::78) by DS7PR03CA0284.outlook.office365.com
 (2603:10b6:5:3ad::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.33 via Frontend
 Transport; Thu, 16 Mar 2023 10:26:46 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT018.mail.protection.outlook.com (10.13.172.110) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.18 via Frontend Transport; Thu, 16 Mar 2023 10:26:46 +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.2375.34; Thu, 16 Mar
 2023 05:26:45 -0500
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.2375.34
 via Frontend Transport; Thu, 16 Mar 2023 05:26:43 -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: 0f2fb990-c3e5-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bO4PA2JB8wrYw9DbV8TifN0Jhw0tah6DB6uEiNDXdQH6RPQUDkkqPjOfuPxVFw0KVWGTQjGpNfA4doLi6lvlalVPxgvAJpRfSvyXU0LcYXYU1vgaQKkBcvDP4Qbge7yf2y/dxW6Mi8YduwjtyIum0shiniDXfrgpWjjmKAG1zrzU4O/IPbTxYT4WypaJW1ObumQaHi8i13gIETeTiJHe86vcKhttfc4MZ8992nSERay2Mh0mR7QRoXdOMct/3gkXILUWWT8D6zGjGjwSaJ/jMhvGSX8eeQyISetGKkooR3mlce9wGnKuPY8FUO1o8zOkgvMxmydV7JIwf/gAKbMSHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wqjSEeKLQh14yeaCPgTnilyQ2L9726uHpVLBKd6gwpQ=;
 b=LWvYDWywNOfUAaAsGhxgJaqgbDT+YzpgeV5VHiSUbnhHnyKeYVov1+5MmfJ2f3AvHoTVIjPpvhUEpPDghSKlwESSHesmMCakEqze1lpj4yvLoU5L72XEHz+GyijtMsv13qDt834fliLaci1YW4d5avfkQTucOJLIVQ7gvvbW6lGqTHUp/MhLD0vdb4qupsPd3x+P1YA6jT5u/5gbfGgNOe5jLsUVsF6j8AF09iCGcUAq9gY/brNDjJPXTOxo7w0AH5OYGmYYUL1W6bXGUBuw0DvgOEyoYvHjCqtXRYN3jB4repBTR8cB7DUmd39OXNpnUIU4a8jI2Mq7R/CIH45msg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wqjSEeKLQh14yeaCPgTnilyQ2L9726uHpVLBKd6gwpQ=;
 b=f0M23aVdidQTqUbkmjRBxwYdpTfdlKUcnqIblGJHabBdQ8Vjf72cr/QyqmctzBUlyQ6pzVv0PzLCWwWGHug4tUBirWxJpboMaplmom875kh+RymTgfk7q2F1Q8rv9hYgGM/CbjU5/kXWs6NvofZvfx7IUtUA7euduZCBJv3QuKQ=
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 v2] xen/console: Skip switching serial input to non existing domains
Date: Thu, 16 Mar 2023 11:26:35 +0100
Message-ID: <20230316102635.6497-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: DM6NAM11FT018:EE_|SJ2PR12MB7797:EE_
X-MS-Office365-Filtering-Correlation-Id: 9c371420-2bff-4c2d-f7b6-08db2608f1c7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ggav0ZVf4yDY/8mh+x6etC3qz2TDyyaNsNQRd5n5qO6jv6dSdqijJTJleCOAqEVNIwCNW/X49nTinnqevvJb0LrcNQ/gqk50SmXeaZRjbu+ndabbxMV1yIHQTl5qpIIClNUeU3gNxaZgzcNtiANiXNAZHojFSusFqQhEiZJdZbRqrBjQKIpUpwHCRlc6tZDAl3M4tmIUTsCKHvorVggyvrNwncz8/F0p2dxMQ+6iZYwni31i1UDGI9CbJjmXE9caslnYFsR+FEAwous9Jw6a10XyqG0K4QnHYvxG3a9OoLd6XsCLQpeo5lnoVUrwpERvSNXzG4M42bBezg/wbDpWE9bA+io8gvIc57zZ9rNYDhqaZ7XG6X2r6YvUrCuxyX8lGA7jbojTMeH6BE/fI8M3aB5aKq1C3s39itffuLOeMkIppp3IFvrPpN4w58xSVAcdnQs20UEsMtkzscQEs/wtIiNnXF4Cahb1xMZyPi1/q00Zc2nMATPtXrEDa8UJ5DvaxaGC33oQAkrCCkRZtkeqXrM9G1vEmTIYR7knzIA2j7UeaC9cpC647//0QJbgEgvjyuSUm3c9/GAA7Graeu9mEviTgFPt+q++YCtrsUg2jc6ZfP6LZk7x0Qn8NTnJr+fYoXJlccr3+TkPnwUFyHXK05th8AFq59Iqinb3IaWAFK1ZfYf+CwUPq7SYIwKp6R8PmgDC7FbuB/FQDr61AwfulGctYLYLPkpoFQQywboZ61o=
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:(13230025)(4636009)(396003)(136003)(346002)(39860400002)(376002)(451199018)(36840700001)(40470700004)(46966006)(36756003)(8936002)(2906002)(44832011)(82740400003)(86362001)(5660300002)(356005)(41300700001)(81166007)(36860700001)(70206006)(8676002)(478600001)(70586007)(6916009)(83380400001)(82310400005)(40460700003)(6666004)(4326008)(47076005)(40480700001)(426003)(54906003)(26005)(2616005)(316002)(336012)(1076003)(186003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 10:26:46.0283
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c371420-2bff-4c2d-f7b6-08db2608f1c7
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:
	DM6NAM11FT018.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7797

At the moment, we direct serial input to hardware domain by default.
This does not make any sense when running in true dom0less mode, since
such domain does not exist. As a result, users wishing to write to
an emulated UART of a domU are always forced to execute CTRL-AAA first.
The same issue is when rotating among serial inputs, where we always
have to go through hardware domain case. This problem can be elaborated
further to all the domains that no longer exist.

Modify switch_serial_input() so that we skip switching serial input to
non existing domains.

For now, to minimize the required changes and to match the current
behavior with hwdom, the default input goes to the first real domain.
The choice is more or less arbitrary since dom0less domUs are supposedly
equal. This will be handled in the future by adding support in boot time
configuration for marking a specific domain preferred in terms of
directing serial input to.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v2:
 - was: xen/console: Handle true dom0less case when switching serial input
 - use a more generic approach to handle all non-existing domains
---
 xen/drivers/char/console.c | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index e8468c121ad0..d843b8baf162 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -490,7 +490,24 @@ static void switch_serial_input(void)
     }
     else
     {
-        console_rx++;
+        unsigned int next_rx = console_rx + 1;
+
+        /* Skip switching serial input to non existing domains */
+        while ( next_rx < max_init_domid + 1 )
+        {
+            struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
+
+            if ( d )
+            {
+                rcu_unlock_domain(d);
+                break;
+            }
+
+            next_rx++;
+        }
+
+        console_rx = next_rx;
+
         printk("*** Serial input to DOM%d", console_rx - 1);
     }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 10:28:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 10:28:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510484.788194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckqQ-0008Mt-Qb; Thu, 16 Mar 2023 10:28:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510484.788194; Thu, 16 Mar 2023 10:28:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckqQ-0008Mm-NS; Thu, 16 Mar 2023 10:28:26 +0000
Received: by outflank-mailman (input) for mailman id 510484;
 Thu, 16 Mar 2023 10:28: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=lZp/=7I=citrix.com=prvs=432965e83=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pckqO-0008Me-Q7
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 10:28:25 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4404c276-c3e5-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 11:28:20 +0100 (CET)
Received: from mail-dm6nam12lp2168.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 06:27:51 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by MN2PR03MB4944.namprd03.prod.outlook.com (2603:10b6:208:1b2::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 10:27:47 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 10:27: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: 4404c276-c3e5-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678962500;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=mghS4xM0aRnS3eSIW7z8/ejHHf1deCEAhl4hsfdi7do=;
  b=F9UQfOQW4LAF/ieJZQJYNzhI11hoXVk4jZdzWAZ88K+kjhZQZE/WAr+N
   pPsYfw5C0Gy2i1jfqnk6SVtaDkKBMCwNXwktMNGAzCflEajjqY5nxvldw
   /CoY1ka/rHv7d8uOT73RjW4EqfGduWSeQSZATPqhCWwHSkQOdxReVzfsc
   U=;
X-IronPort-RemoteIP: 104.47.59.168
X-IronPort-MID: 101001994
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:46h1R6vu2UbNoCZNNCm4y0kqfufnVHtfMUV32f8akzHdYApBsoF/q
 tZmKT+BbvyDMTTxfopwao+2oxlQupGEzdZkHAc5ryo0QngW+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASHySFLZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMweClcQDOoq8WMmquxa8gvr5UIAMLqI9ZK0p1g5Wmx4fcOZ7nmGv+PyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgf60boq9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgr6Yy2QzCmgT/DjU3RHmh5uadmHSgcNhxB
 kckowEl/Y0boRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LRQ62
 1nMk973CDhHtLyOVWnb5rqStSm1OyUeMSkFfyBscOcey9zqoYV2gheRSN9mSfSxloesR2G2x
 C2Wpi8jgblVldQMy6iw4VHAhXSru4TNSQk2oA7QWwpJ8z9EWWJsXKTwgXCz0BqKBNzxooWp1
 JTcp/Wj0Q==
IronPort-HdrOrdr: A9a23:nVaOHq4m/uw+4X2ffQPXwdWCI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc6Ax/ZJjvo6H4BEDyewK6yXcT2/htAV7CZnidhILMFu1fBOTZsl7d8kHFh4tgPO
 JbAtND4b7LfCZHZKTBgDVQeuxIqLfnzEnrv5an854Ed3AUV0gK1XYcNu/0KDwReOALP+taKH
 LKjfA32wZINE5nJvhSQRI+Lpr+juyOsKijTQ8NBhYh5gXLpTS06ITiGxzd8gYCXyhJybIC93
 GAtwDi/K2sv9yy1xeZjgbonthrseqk7uEGKN2Hi8ATJDmpogG0ZL55U7nHkCEprPqp4FMKls
 CJhxs7Jcx8517YY2nwixrw3AvL1ioo9hbZuBKlqEqmhfa8aCMxCsJHi44cWhzF63A4tNU59K
 5QxWqWu7deEBuFxU3GlpL1fiAvsnDxjWspkOYVgXAaeYwCaIVJpYha2E9OCp8PEA/z9YhiOu
 hzC8P34upQbDqhHjvkl1gq5ObpcmU4Hx+ATERHksuJ0wJOlHQ89EcczNx3pAZ2yLsND71/o8
 jUOKVhk79DCuUMa7hmOesHScyrTkTQXBPlKgupUBTaPZBCH0iIh4/84b0z6u3vUocP1oEOlJ
 PIV04dnXIuenjpFdaF0PRwg1HwqV2GLHbQI/xllt1EUuWWfsuuDcTDciFhryKYmYRdPiWBMM
 zDf66/AJfYXB/T8MhyrkvDsqJpWAojuf0uy6cGsm2107L2w63Rx5rmmaXoVfPQOAdhfF/DKV
 0+exW2DPl8zymQKwrFaV7qKjzQRnA=
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101001994"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z4I7juWh3UGPjmeghMwJqWVTqXN3KdenKp2z0nJkHg0RQhqYA4+pwxooEoBvHPyRN1V5EMcxpHzOosw7xXDNXZmMDWDdwiE5K7zosJtHW8F+RBkGftmirNV3Z5OTomZj+BYJesepDLgM5aVrpgexhlxCBtkPxEJVVrIwNGwqXHsUiLNrXd2z34i77OFnrM3gkspGut5vP7snWTEshiXo3zu/gHhEJKWZHHnpyjqJgjTYZp6x+KWPM4Mc/bK9LrAeh6lWV5DysqIGAjDblVHgU6Yoh7qyx35DfAtkFUN8DxPB2sPO3BYbyx9Eg6Dls8uUeJs3JareMan+/i9m+w9Ehg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7113glDWdr6sAOnYyC70GQuWWDmvSeVudgsaC0z5U+4=;
 b=lxlG7P0Gwiwwp5mi3no4tHRc7poYeIS2MfT6t3evoKm0XF2XsDaZKl2IyTmwIZsfE6Y1rqBjGPa9teNPiefjdu8Dnt4jz1x+dwp6LsJxY7oZxuc52tX41PvfO+B/m0Y+/oRPRajLLrk2ZaVcgctoAgqayZuRg4R3f7YM9VhWf4VygmTuyJxCMHiE3bzxtLGg7Jlzo72pFvXb0l4yTLx8ZpJ7IcimEdEVS9vrSSWrU2fMiq/aNi+Kna050E+IDflN0Q5/hCgUanZ0tWvVjBSCis8Z6BfcNQ+MCY5fPFKENY3mt4jTEqo+KHbbYAvunqEf7yZqA0u8ALKLy3PLa4B9yA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7113glDWdr6sAOnYyC70GQuWWDmvSeVudgsaC0z5U+4=;
 b=AL7YXAzbOHfhLTy+eHxozxigQpUN2b3PMb/omrTQhgEPzkWxUpNzmVeYN201sHYc/Rc6vvmLHkZNm3xvfCWm4RJpobB+TSVnaJl3C+t3mYRk3gyxwuhkdFs6VG62BvAneLA8hke8NOSb/4MI+Ak/Md6KZ5MkNaia1z3u3wd1C0A=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <d6c4b2ee-2215-a741-a293-36ece4c3dc78@citrix.com>
Date: Thu, 16 Mar 2023 10:27:43 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/svm: Provide EXITINFO decodes for IO intercetps
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: <20230315221003.733913-1-andrew.cooper3@citrix.com>
 <fd55257e-3604-e09b-fba7-bc95d39ce723@suse.com>
In-Reply-To: <fd55257e-3604-e09b-fba7-bc95d39ce723@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0024.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ae::19) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|MN2PR03MB4944:EE_
X-MS-Office365-Filtering-Correlation-Id: 4287e32b-3cdc-4591-a93b-08db2609164e
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VYH0L8e2SP/qCGbOB6Bv8b23eYMH5kIkU9+5G8ajNAvP7CJmLRTjAVXRKHrgjtbp9L99mRN7mFIVFaXZw+KAVIPDWM6aotUCohYyMj2u7DEkb2i0ZTy9d+27fY76KYsNHYKnOq1JSpi2lbY1Sh1lYWJ5uXzxy+oq8q5WmZZreECyjOBLfFDphrqGiQkcsVoVTbKsxkAoqLRfppuoRl33lHwYE6OFPQM9BkPVauWhTBnmlmspmMhU6ZJpmuEMVCWRK/0b3SF3Dq8hadbJQ+TOggleNYYj05mtF4wKcSdMdLHdHa44L6a32IuCTeRCxITIs1JcXPDPBZNVv3rNqAYb6cpe3xeyPN2ZaMOD3PRnLQnyy98S/JYtSrBQbDEtYWAQiW8e1K+YTSqurRMaNCWDh+DlCYbVmz3PO+hIblqw4F02R+VPhHASXGDDe1pLr0d6iaJ6uVXrUbiAE4vEPSKUpllK0hpsrMrmTepFbg2YxZ/HYitu5Eg7dB0bT5OVQm4EB1/5GjL4ojrz8b9sLA9eFE+zv8vFqNjkhmBmCTukplip/DGFF4q0ysnrNGxXMngkXQNZj4oTEBtW5AExT5eZsDgSgsKTl57JVcMo5+vXwEHmoUkVuPtKWI6uqYZnfW4pTyOPnHYEv8FVIieqoZc7Iwsp6v6LfvadWPayKd3v7TUsxvw/WS5O2ZTFXx2xp7kkeBeNVBuHoLwBLhf69TUrGu0beIuyFo8Z/QRNsWxAGwR+DGG9CsnokZVJRr+dHtk2M1RnMIP86m1sLaWHBLd/XmFoYlWkbNh1c0vwczTzbG0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(136003)(396003)(366004)(376002)(39860400002)(451199018)(83380400001)(31686004)(2616005)(66899018)(186003)(5660300002)(8676002)(66946007)(66556008)(66476007)(41300700001)(6666004)(2906002)(82960400001)(38100700002)(36756003)(53546011)(6506007)(6512007)(26005)(8936002)(6916009)(478600001)(31696002)(54906003)(4326008)(6486002)(86362001)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TlZBb0tHK3BOVTRTMkZKNHJOd0szSUt4SGw0WDZkK0VRWjE1NnlxR1JhZml4?=
 =?utf-8?B?ZFp0Zjk0UnNhVWV2SlRnaGFPMXk5RmF0a1krbXpBUU92VXNudGFhSDhoTWto?=
 =?utf-8?B?cFFVRzJnNTh5QitQK240UnhjNXF4TGpkQTZ6aEhtRmtydXdCam1vMFpFbHhT?=
 =?utf-8?B?WTc2S1R1eVhUL2ZMaTRvSWNhSXQwSjNNcHY0RzVFUzZROC9senZCdW02OE4w?=
 =?utf-8?B?MjZJRnBCS2F5S3FGZjJRcE9xUnlITncyUDNDMnI2YzJKc2Ztc2tvZmt4VjV1?=
 =?utf-8?B?a3JpbzBpbHBlNTloR3IraUxmcGxFeklObTRpNnlUazg1bkRxY0RGdERSRFp0?=
 =?utf-8?B?SG12ZzVkMGx3SnFXdWhpY3BpY1dFc3YvakdwTkYxTGRYRUNmQWd1VmJWOWl4?=
 =?utf-8?B?YXQ1Zlh5NzE1eXhaeEF3dmhjbzhKV3pacW1WZjZYdkxGTW1aeFJNQk9YV2Nt?=
 =?utf-8?B?dXRMVE5GNThJRXZiM1E4NGJBSm50TW9ybjZEQWdjcS9xZFo0VklwQ0VwZ3Zy?=
 =?utf-8?B?UTZWN29YN1A3MVlxaXVRTDkxN1luN2dXRE4rdmFEckRqWXlCNTZKZ01RWDU3?=
 =?utf-8?B?NzhYbjMxOU1WRWFkR0c2cXMzbk5MVXp4T1diRUUraU95dVpKYUNxZTFRWWRy?=
 =?utf-8?B?Y3hUeFpFcUFpWjZOeGE0UWc5dHA5WEZzUmx5YjhoMzZuR2JoVkhvbzlUSmVV?=
 =?utf-8?B?NTlZL3U2ODAzakhmYkVnQzdnOEhoMTkvbkRBc0laYVpNU0NOR0tYSlhMUGhV?=
 =?utf-8?B?Zkx4UndSL3pXc3JsQlJ1SE9KTnBNUnhFR1paZ3VxdEhtdTNTRFhab01mVEU0?=
 =?utf-8?B?UjJEWlBsRFZvQXBLUWZTOElFeXNmelN6VEF4YlRJT3VaSk8vMW51b2djN0RJ?=
 =?utf-8?B?U1JWMmprV1p1Q3Vjay9RUmxpbzRVMnAxU2hxQ1hKNEpUSnllbFRQQ05TRWh2?=
 =?utf-8?B?aWIrM2NhUDgwM2o2bng4TGhlazlsTWFkZ3ZpdzlicytxT1FFd3oxOUdGbzR0?=
 =?utf-8?B?NzFKWEp0VkJEeENHcDhnY2gxR0RTTnZhd09RRUY2NjRJQllmQzJGWURKTGsv?=
 =?utf-8?B?SGFHWURrTXhiQ3d6STZiNGU0Y1FtczJXL05YYjgzSWQrNVpNbTFFZ0Njc0xT?=
 =?utf-8?B?U1UrU2YvS3NFbElMaG0wU0FJTVZWK2RqSCtiOHNtNkdCMEZBTDUxYWRqT1Z6?=
 =?utf-8?B?QWZ6SmRwdStZeXFEcGJqVUNhcDREV3RIdTdMaE9ZTFdUbk1oc1lTckRpWnB5?=
 =?utf-8?B?Z25KUDFmVnVCMWJzRFBxRkJ1dHQxWnFOWUVxeFNCelMvYkFjcHhQdC9tZFpS?=
 =?utf-8?B?WVFxQjl3aHV2RW1TQStVc3pDZ1ZvaTdsUzErZWxLRUFFdkV5RkFCSnVrV1Jv?=
 =?utf-8?B?b2wxNnplTGhnRUhlQzJleXcrZG9lLzRxZmZMWnM0QXJvT3lJUmlDNlJEZXZW?=
 =?utf-8?B?SWxxYTJjcHAyYjVEYklvVytGbmx5NmlwaGdNUENIUWt1Q0E0ZnJoUVZjTDJo?=
 =?utf-8?B?UXY4WkNubGg0QkxkNytwNXhqSExhWjFrUFF6SWUvWUEycXB2Z0p3SXE3YUwz?=
 =?utf-8?B?dGpWV0oxMXdrSXVaelZXTVZrT216RlYvVFZHSVR4ZTRsTkJjRC9zMlRoaU42?=
 =?utf-8?B?RTRtMW9xSjBPdlZoNFFSUkRqcTdEOVhPVXQ2c0xXMlRkUllWY0hVYUhXU3c2?=
 =?utf-8?B?RGZhZGxMa0JTZEpYM0ZpZjlvT2E2aDJoaVlsTTdFSUJTRGd1NWNhZW5ZV09V?=
 =?utf-8?B?TVFZSlEyeFRoUDVXU1pmYnZyRHpIUTlLNWpnWE9TY1diQ0FiSEpYM1BGSkxJ?=
 =?utf-8?B?akozTnRmQ2FxRm5MR0hUOUxsTGx0M1pUMEd3MjZic2JISEVoVmpkeUtrd2pI?=
 =?utf-8?B?RHZvOTkrTHpKc0xvTlRtNmxIS01JSzhRb2VHQndZUCtIK0tDbXdodTVmQm9j?=
 =?utf-8?B?Nng0MEVwbW1sRnFLcU80aDNRSnhsSDUwcXFCWU0wTVR5K3E0cVFUZ0NjZzlW?=
 =?utf-8?B?VnhkdUlHYmxxZlNqNlBGb0s0Wjc2VDdWTHEzZ0xkaUdHaHBIZEV3emRUQkZy?=
 =?utf-8?B?Z1dGWGIydDBIL0FhbWxrSi9Cd3Q1V1hzQkVaMWJjK2t0VVFRYTNhQlZScGl2?=
 =?utf-8?B?T2QxWThpa3BEN0cxUGdFUVVpL0VBWjhaVlhhbTk1NnJoTEFLVGhScTFDTHNO?=
 =?utf-8?B?MFE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	PpLroF5gkdGNeaw0rq7j0tEoEpa3M1FUhH7lDeq+Hw/0eXKo36hfHY51Te8FsifInB6+uVcSXuzy1Jm6laJmq8KvrB6OqOKdF2EtWws9VeCQNxwmjrvrd9cw5sP3nd9L9LjPat3mDzLrl3R8lm0EhvF6mc5pt1Rei9wOXjkH7hwOsZQ+oIKwNLwuRt4d884o3BNFDDOiYOL462iU4ZOhcSGzZd3+TCSNDvbWzpWH+hjZBK+nCFu3gP55xIYGWUIhEnYoLCSGpahhrgBSrI7gRfRVICO902hpVjn57urxd73XAWXUtFPdfdUefOmrje5DVxEytLFLBwIu5WHRLaYGdpu9OqhGu6eCeUCGTWdMiS6PFPFJAZT9VpcAqhM9q0g8qSAqMQGe1WIYhmtELLy888JmaQ1Hxs7iPTH8q3guCAo3FW63tpkter/1WSR30S3zKrUzC3svTf4HBCSdRE+tEU4H5Gui562x1t9tBGILBMrIxshxLo54ckEqgT1C8D3tCEF9guUI8sDCsZFlwzdz2Do3ch/zJpCX/7/IaNPagR3pK7Yo5I/YVRxnViM3tokuJ12v9GMwx19NN0i6XVvIfK1FI2mab0QTuZ2N5CnH5HrWWVTAzNpmCLWfOPDdufo7VT+1WCCnEuanP7wEJs7xH8Y79FNUVLTd1TNWUxuQaXcgPhLqcinpSXzNSjBERrYMmY6QD4KRZ6xBEPdKyA03ZeSRBLYzm4ConXcu4+bTHpdV1eXDfClkT17xUiQuDfMJnYGoIjzJzvn1nWLIbUWqDaJTFm7g3T/s3q3qYwxDZVhEVkCYb1f3n/i9lGm7EOhj+EW183q+D0XGiW/XCWx1cQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4287e32b-3cdc-4591-a93b-08db2609164e
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 10:27:47.6528
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: smvTKJqDJMCQfPcxQ9iuJ7uQb4Cs5/8Um9dLTev24sTFCiFoyF4ilpdRI8DH93aJgIlezgi9gWl0Jr1DoAd3pt8UKmJmHeSCuGMKfZe98O4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB4944

On 16/03/2023 10:19 am, Jan Beulich wrote:
> On 15.03.2023 23:10, Andrew Cooper wrote:
>> This removes raw number manipulation, and makes the logic easier to follow.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

Although looking through the emails on list, apparently the vmx side of
this got missed.

They're both to simplify the current monitor patch.

>
> But I have a question:
>
>> --- a/xen/arch/x86/include/asm/hvm/svm/vmcb.h
>> +++ b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
>> @@ -436,6 +436,20 @@ struct vmcb_struct {
>>              uint64_t exitinfo2; /* offset 0x80 */
>>          };
>>          union {
>> +            struct {
>> +                bool     in:1;
>> +                bool     :1;
>> +                bool     str:1;
>> +                bool     /* rep */:1;
>> +                uint16_t bytes:3;
>> +                uint16_t /* asz */:3;
>> +                uint16_t /* seg */:3;
> Is there a particular reason you comment out some of the field names? I
> can see that "asz" might be a little odd to use, but both "rep" and "seg"
> are imo fine to have a name even if currently there's nothing accessing
> these fields.

There's not currently used, and in particular asz looks hard to use as
it doesn't appear to translate nicely.  Also, I don't that seg matches
Xen's x86_segment_* encoding.

I can uncomment them if you'd prefer, but I thought this was marginally
safer.  I suppose it doesn't really matter.

As for asz, I previously had osz to match before renaming to bytes. 
Suggestions welcome.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 10:33:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 10:33:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510487.788206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pckvZ-0001d7-ER; Thu, 16 Mar 2023 10:33:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510487.788206; Thu, 16 Mar 2023 10:33: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 1pckvZ-0001d0-Bg; Thu, 16 Mar 2023 10:33:45 +0000
Received: by outflank-mailman (input) for mailman id 510487;
 Thu, 16 Mar 2023 10:33: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pckvX-0001ct-Jf
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 10:33:43 +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 034089bd-c3e6-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 11:33:41 +0100 (CET)
Received: from mail-mw2nam10lp2102.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.102])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 06:33:35 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by MN2PR03MB5135.namprd03.prod.outlook.com (2603:10b6:208:1b0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Thu, 16 Mar
 2023 10:33:32 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 10: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>
X-Inumbo-ID: 034089bd-c3e6-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678962820;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=oOi+ndQGQyE7WAxfEBRcg2s+ulWHizzdjkAbt4Mb8s0=;
  b=LOfqgEuksA1pKObPV70Qm73prPuR5G35oNE4wcHF48dFHsxQF8V9uYMF
   i9HjV1v8z8Vz7lgsPLoaUDaelMATde15Lx+yrlwlo+OZF3K47k+71k+te
   v7Y1mIPFiu6ipho6a7UjGFUGenGnWWXS1VEev6SiMBpsyavbHvnnTzapJ
   0=;
X-IronPort-RemoteIP: 104.47.55.102
X-IronPort-MID: 100461008
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:my1ZmaljE4A8Vq63JavZyYno5gx8JkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xJJXWrSPauDMzT0Koh+a9i+/BsAu5fVytRmHlY9+Sg3EyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QGGyRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 eIkGh5KVjObu9u74ra2T9Fst+J4Fda+aevzulk4pd3YJdAPZMmbBoD1v5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVE3ieC3WDbWUoXiqcF9hEGXq
 3iA523kKhobKMae2XyO9XfEaurnxHujBNxLTOXonhJsqB6+zXEsDQ1ObwGQkMWZpWWESeAEA
 kNBr0LCqoB3riRHVOLVWxy+vW7BvRMGXddUO/M15RvLyafO5QudQG8eQVZpdtEgt8YqSCcqk
 EeAm9foHTVjsZWUT26Q8vGfqjbaES8RIGwZbCkIVzwZ8sLjq4E+iBHIZtt7GavzhdrwcRnr2
 CyDpiU6g7QVjOYI2r+98FSBhCijzrDNQwg/zgbaRGSo6kV+foHNT5ah51HW6d5DIZyfQ13Hu
 2IL8+Ce9OkmH4CRkzbLS+IIdJm5t6itMzDGh1NrWZ47+FyF93e9cMZQ6TdlKUFBNscCZC+vY
 UnPtAcX75hWVFOgdYd+Z4O8DZRswaWIPdHkUP/TRsBDbph4aEmM+yQGTVKf23DFlEkqjL0lP
 pGaYYCgAB4yA6N9zSHwQPwBy7g13SMv7WTJTJv/wlKs1r/2THyaU7AeK3OVc/s0qqiDpW398
 dFEOsWizBlSSun3ZCWR6oN7BUAHKz03CI77r+RTd/WfOUx2FWc5EfjTzLg9PYt/kMx9n+zI/
 3i7VWdY0Bz0gnivAQGLbG1zLbrkRZdXs302J2ovMEyu1nxlZpyghJrzbLMydLgjsel8l/h9S
 qBdf93aW6wVDDPa5z4acJ/x6pR4cwimjh6POCzjZyUje5lnRErC/dqMkhbTyRTixxGf7aMWy
 4BMHCuCKXbfb2yO1PrrVc8=
IronPort-HdrOrdr: A9a23:WBqxZK1GE9y6byTMbCOW2QqjBLkkLtp133Aq2lEZdPUzSKalfq
 GV8cjzsCWetN9/Yh0dcO67V5VoLUmzyXcX2+ks1NWZPTUO0VHARL2Ki7GSoAEIcBeOlNK1u5
 0QFpSWc+eAaWRHsQ==
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="100461008"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iRaBNhabJLM8Q8B4tzGoarqDYaReFsemYV2oxfTO+At8ol10+SBjvjYF/KRmt33+viJ9/CUPTPsOH6m1uogkyw7Uw7KPpFeuiQkVCf8FMf7D+SL98Ii4JPftg1vKKnvLMmL1tzPx7PqnuYvTx4OVEYtBNATlNRrqzp1U0mNvpMrgj/637mf1lDpKVtq89vZVBvlC6bfbxQ2H93GnG4z39qG7J9sCpPToBBNFd58AQV9A07L9Pc9JQWanZNHr52Xw/tCLibxRN1lSw/UuItowofFOZqfNG+pkpk0DQfA+Fx6qk/Hay7RWmFSpVDmCEsEBDVWZqxy687BVATos+ekqTQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EG4R0QHiL4LSocV3snKtnvSG1Hnm1UVa171DjIPEwzs=;
 b=cAZntDxYfpvij6isLSF/NajcbQW4hYZDUDxVnSibnLMO03T+E3yr3kFMD8b86K4Zulkgwm0WQEq9SbJtSZ6SjZE4BFhDRmWhoejeIMCHdCZoT7ZbIYMN5C2/NsYkCfk/KD8GQwIVnYkgrj/9lb96mdzahL+9V0xY7QKwtMaUk2gtzTLhNY1CRyhDx8zBBkTIljcW8W8jqDWMoT8wF4KV57hY173iaLj6aJEsuszjKahBp1ZC+QYHtcafbVA2b6xeizDlH6hnxEay56iiqjQinCAbmrfhhhvZkyoW+sLyEM+r0Rf8nzzCCyPGImK8S4JV0Zp+/9+AN8yHg93P4XXKLg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EG4R0QHiL4LSocV3snKtnvSG1Hnm1UVa171DjIPEwzs=;
 b=ZGJ3MsxsCVr3nJWYChApg2OFS5Ri3o4khDqBVzElBObljXQDmd5NJZTyA8eXrW5yUO3LGZUtBSw7pGXuVBqjA2SilS6IBAJ5oMUWhH5yGmVihi6GntDuBeF/Is+aU4KAtdTZljD8CHqQg7O1eIAmQOTuhZVEIh12IsAWrwVy4yg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.org,
	josef@oderland.se,
	Roger Pau Monne <roger.pau@citrix.com>,
	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>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Alex Chiang <achiang@hp.com>,
	linux-acpi@vger.kernel.org
Subject: [PATCH v3] acpi/processor: fix evaluating _PDC method when running as Xen dom0
Date: Thu, 16 Mar 2023 11:32:35 +0100
Message-Id: <20230316103236.37102-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.39.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN7PR06CA0038.namprd06.prod.outlook.com
 (2603:10b6:408:34::15) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|MN2PR03MB5135:EE_
X-MS-Office365-Filtering-Correlation-Id: fa8a985f-ad38-4c03-6b2b-08db2609e3cd
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tXCXB86NA4JpH7n/wMJyofZQkOEH/FgCmGB0Li8rKux5KQ+bZtReFp2pWK5N10bdKcawXiS082tt2IyVNZWQwbdCob0qAwVh3QgNKzc9aNT6D87WrZ75gzE8PGz+TiycBvl4O8e2FZbhyyPr//ReZdOcleckgMmsAbIr/QqSmElyMwyRXAB2UuwArTm7wByRJDqyf/dXaeYvlBuUBwoF5rVQF/hmQ6pGZUSvwKd4f/RVbQ3ADfUxempCYWJT8NBz+Yu/1IWeV3Ca8QBchFHAGuNOmzUxWXYriEHujFd0pNuj0jDfkltapmIMngQgODAp39J1jwfA5XC/SHuzvvB/wA7r0QO807E5FFy4+GfDo5TB3cSnZLcNTtRCtPolkIk123HmH7XhB7nH+wUnRIcvuYzJxPQ+kDKAgqL+Kd/vChyeeL2cUJWGv2aqsIHzchoIddjIeRScSTWBkEfjapf6GIPD4UILQgA7FYRYfIqgCcynueNscycRuR10f4ULAv95aTXW8fagl4OMKwPS6w+a/GT73fYfkqhaYebhh7IcGaXBNejIZ/nF9VPmfpsN/CsB4kEL+SHOQAb/rL08ZkB8B74ZId59yo387k7Rx5ZndSxAHz0DQb7vro+rLImquTBR5W+1I4teMPFs53d7r6za5A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(396003)(346002)(136003)(366004)(376002)(451199018)(6916009)(4326008)(8676002)(66476007)(41300700001)(66556008)(66946007)(2906002)(82960400001)(38100700002)(5660300002)(8936002)(7416002)(26005)(1076003)(6486002)(6506007)(86362001)(6512007)(36756003)(2616005)(186003)(316002)(54906003)(83380400001)(478600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OTVBT2dSRlBnNUxFZ0dpdE5BQ04yNGM4Q1lMalhra2p4VjBudXIzdVNIRnFS?=
 =?utf-8?B?WUluQlppT0xoSWk1bHF4U21pai9kbEhFMEdkM1BGRi9VUUJNWnp5UEFwQUs1?=
 =?utf-8?B?dVlWRWxOanZNNHlsU01sVUZKeERBNGZSUHpoVjFsaW5ma1h2RTlxSTVmSStQ?=
 =?utf-8?B?NGxqVG1ibXEraXpYSFA3SlpNaHlPcUlXRDQ2UzFYUHY2d1Y1WmorYlNMcTVu?=
 =?utf-8?B?MGZkRWdMZ0xvUkVjOFZZaytjUE5ZaDF1N1l6YXZHbHcrOHA4ZnpMQnB1OUVw?=
 =?utf-8?B?aStOeTA4Vjhpd3lFRVlUNkhxV2tSR29SZ0dVU1Y1ZUMvZ05wRlZYQzBxSnp3?=
 =?utf-8?B?ZDRzbFF6NHBUK0pPQ0dic2R4eS9VSVBwMUoxdjM3bEc0WFlPU2ZMWUVYTUhr?=
 =?utf-8?B?TWQ4QS9kTzBpcGY0UjRtbndhd0tqVHRFRnNZWk9sMmZEUXo1TkRjKzk4V2R0?=
 =?utf-8?B?S1V1b0Q4YVVyUEl3clhIdklUSm9HeENscS9MNVczVWtSbFJCblBaODJuZFBs?=
 =?utf-8?B?dVRST0dCTXE0Y3d4QWZTTm1aZU9OdWd2d3FzaDhVVzJscGdFY2hubG1VSEpq?=
 =?utf-8?B?cnVoU0pHUnFCQjFsSkpNNCtkL2grRFpPUitkUVZHYjFPOU05c1FEUmhrRFNp?=
 =?utf-8?B?QlpDTjNvSEJlTmZpVVd5SHpzQ3VtYyt5ZkVoM0Q5aVlXWWpLdmpQaHN6aWZJ?=
 =?utf-8?B?U3BQakQ5TWFKWk5OaVBBTVpZVFpqVEtTMmxER1IwRnAyRyt6NFQ1SjhUWDhD?=
 =?utf-8?B?MFlxa2ZzbW9WcGNXUU8rR1Q4NkQ1cUl4NlZudmRpcXdFNlNsVlBvb3JGNEFG?=
 =?utf-8?B?SU1WcmVoNXNsRW5GUXVVcHYrV1dGdHZZYitPK2ZOS05tRFRGTXl6TThzd2NM?=
 =?utf-8?B?bjA3aWVLNHRWQmNha242cFM4RDR1czNSbUNvY0dnL3NxWWVlL2c4dmhXR1hj?=
 =?utf-8?B?bzRJK2U3QXFmSDFsczNSVGorc1FuanlJR3JPak1uZkFINHR0V3FpcTgvWm9z?=
 =?utf-8?B?Q3hLMDdkU2dIRG9EN0FsbHZvd0E1aU1hZ05Gd20xM21MUjExcjBaYmZ4Rmxq?=
 =?utf-8?B?MkZUNWR6Vi9YbEd6RVRxMEhhMmk2Uk1tOEQzSVBGZDRWMFNKTmxmRjluTjc4?=
 =?utf-8?B?M3hHU1gwS1ZCUXBsRGl0ZE1vemJLSXVraVJIZk5NVytYczYzYlMzVmN3cm5q?=
 =?utf-8?B?V0NwVDFMYTJJK1VkYTJLUkZ2QVR1TWErS2w4YkV3OUlnYWNtc2gwNm5lL1dw?=
 =?utf-8?B?d05Sbjk0TDhMUW9CNVZzVElaVFpyaDZ2dWt6UG1xQlErSHoyRkVzams3blhN?=
 =?utf-8?B?ZW5FM0c0UkQwOXdtSUNreVJ0SkFMNnhZenphZWlnT1UzTXlBbEFBK3BCQ0V5?=
 =?utf-8?B?TlNMMnhPVENOV1RoNkZ6R0s3MUkxUVhjaUJIa3hsWllkOGVyc2ZTVTZ2QUJz?=
 =?utf-8?B?ZTRZbXdWckxISFloeFIrRHNkT1huU21FYzZTUHdEMUMwR056NGlEL2p1SVZT?=
 =?utf-8?B?b0YySUREOEV4MXM5OE9SdDlYNS9EdHJ4NTYrZjYwTHNFTGJ6V21PZmRseW1t?=
 =?utf-8?B?bHY5WEU4MHBNWXVra1k2QWZQbGh1UlJZczJuMmZXVUQ3UnRNVFJ1OXE2Nko0?=
 =?utf-8?B?TmFCWTh0ZXBpN2R0K3ljUkFsUmdsMGdmWXloOHVVdE1EOVlLc2FEU2pDcmNu?=
 =?utf-8?B?cENtQnYyazJOQnV6OE1zWGhRTXF6WVd6WU9yUnRQNm9BeXV6ejhSTXdWaXk1?=
 =?utf-8?B?OWFEV25Jcjl6clg0K2ZCemlYREp1UW1OcGUyNk16ek8wK1V4N0ZMOVEzNjhH?=
 =?utf-8?B?OXhNcHdUN1NUSDkwZHNkcTN2OVhCTGR5bDhTWFU5aStWVjFYckN0dzdRVXdN?=
 =?utf-8?B?a3BBZitEaGdvUEFFSFhtdmt6QTRJZ2M1K1FkNktvMFdHS2hoYy9ZamZlYUJM?=
 =?utf-8?B?aVVBS0RaNk01UUk2OU0xdUp1VWhhbE1IWm1vNGVKN29TanBCNGsvWGoxTG8w?=
 =?utf-8?B?aEo5UnJ2KzUrUXVsa2gyN0g0bXQ1ckZoSUp1STJwZ2xPSDZ6OWk2dENFRFBu?=
 =?utf-8?B?WmZjMTFKdDRVaGdIYllTMk01TThXakdMSG1NZGdrOGVlTHlsVEtKaFhCNFAz?=
 =?utf-8?B?NVd2d0c5eEpMbDBiL3Rla2k0WHV6VFg0UVo0WWl6T29aOE9XQXFxai9tbGRl?=
 =?utf-8?B?Rmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?V081VTBzR0ZWSzJPdzlpUzVGWXBlaHFKZld2Y0tnZ0laY21sbGtVZ0krMDBh?=
 =?utf-8?B?MFBJelQyL3pZOU1va3lrS1hJTHdjeFU3N0JtSjZyd3h5RjI2VmJ3Z3BWYlNq?=
 =?utf-8?B?eWFBc3F2RmtRcTVRYjNkL0VReUhIemFJM2JyTnVwZ3JxMHhEaWJ1MVJPTERH?=
 =?utf-8?B?UHdKNGUrM1RnY0I0QW5HNlUzVTJQQXl0S2h1aVNwT1dNMXhqY3JYNnBabVha?=
 =?utf-8?B?dTJobmYvMVFoV01RRlBLc2RkVlZSVlM0aDRGMllTZCtVaVE5M28wN2o1aEEw?=
 =?utf-8?B?OU9HMWY2N01lWkVBZTF1bjhUMXluOEpycTdrdEVJcmNqcS9Yb2p4ZzVOZks4?=
 =?utf-8?B?V1BhaTk1T2xzUjh0QjFMQW8vK1FsQ3QzR2RxNkcwOExrbXVudk1KSjVtcFNH?=
 =?utf-8?B?MDI5akZtMHZCMXRyd3ROUSt2bFY3cVdrTk12cEk5Mk9nblpIdE5POTJrTGRR?=
 =?utf-8?B?V2ZnWUp4MWhBR1FKQjJJYVpzNXpJdmNiK2lGM1pRVzV3VmtqTkZMemx0cDNC?=
 =?utf-8?B?M0drMVJ2V0tjV242ZEFuUHRIYnB5U3BVRDhheVlZTDZuMm80dk9XKzFqUUdq?=
 =?utf-8?B?K3pRUUhPUjZYeXFhWlVxd1JCN1VSQ1lIQTExU1FBK1pzYjFaTy9oSkNlTEhl?=
 =?utf-8?B?U2lYZDgzdUZmTkdVSHMwYitkRHl3RkdWZW9OOXZtaEZSZURsL1VhTHlyZm9V?=
 =?utf-8?B?UHAyT3JqSndyUk04amtrWEI3NEZ5SDFwN0dBQkhoaW0wT2t4QTBoOHFxOHNw?=
 =?utf-8?B?cldhUThYZjhyUU01NkorVkVKT29mTDNnN0FGRVZ6a1JNc3VQSHNBaXhTWjZk?=
 =?utf-8?B?RnhWemdlVWs1N3Y5R0QrWDhqTWxjc1A2OXVGS0NnSXdNeEdXNWNnK016UmFh?=
 =?utf-8?B?YVh5eDQ5eUFPUzIxblNqZ1oyU2hQbEYxaWU1WjgrdkY2Q3JxUTBXZ3Brb08y?=
 =?utf-8?B?M3RWVXZzMkxTR2xlQnIwdmRZM1BIaXROT01mMnhCOWVYM1lHUnJHZmRKWExV?=
 =?utf-8?B?RjhqU1ZtdzVmbnlyQ2xZMlF5TjVmU3JLOWR1bVlBVGpLdGJ3R3FHTjZEeUti?=
 =?utf-8?B?bDFHYjcyYTJ5c0pVWS9EN1h5VG1FMkdGVVZiZFB4Skc5eEFOcUgzQWd2V24r?=
 =?utf-8?B?MWF2WVQ4RUdKM2N2WEhYV2Vwa2J1UW1CS2hYRjNOaUNacDBwOUhvbER5S2FL?=
 =?utf-8?B?Q2orWnF6SzZxb1VmUEgvaHR2M29TOGFMNXVvSEZRNDFaSVdLRHV2Y3lBaEhX?=
 =?utf-8?B?dXczK25ZZ3dQK1FYUkJTSWNKbVZQdG5WVzNtdGlPZHp1NVZzWERYL2FiOC9Q?=
 =?utf-8?B?S2IyR29vR1lINzM3SDRhTklKR1I4VHpjT0FlazRGQXhIbDR6aklLUC9qQi9C?=
 =?utf-8?B?QkhPWHRRaDNoa09NR2tlVW5VcDBka1BMdXdxbWl5TWtpblZSOFBoY0cwMDhG?=
 =?utf-8?B?SGF4VjgwaFhUK1VkVlMwNkpDVm94aGRPbDdhUTd2NGlYaUdNK0Z1K1VRWlVn?=
 =?utf-8?B?VnB0Wm1qU2M1R1RnL29JOVZ4VzRHeVp6Sy9rMjU0ZHdrVzR6RThJUjZnMU9F?=
 =?utf-8?Q?nklDIhk6qI1JbLOLuykbTX1ts=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa8a985f-ad38-4c03-6b2b-08db2609e3cd
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 10:33:32.3851
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /m51Sr1JMpo8BdhOR5jb/ec94JnDKqZmCsWZKpIEx5gDdSHeKlPYbcolLrGkyZhp+9bY6+rdVxxFmr0Y/uvXnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5135

In ACPI systems, the OS can direct power management, as opposed to the
firmware.  This OS-directed Power Management is called OSPM.  Part of
telling the firmware that the OS going to direct power management is
making ACPI "_PDC" (Processor Driver Capabilities) calls.  These _PDC
methods must be evaluated for every processor object.  If these _PDC
calls are not completed for every processor it can lead to
inconsistency and later failures in things like the CPU frequency
driver.

In a Xen system, the dom0 kernel is responsible for system-wide power
management.  The dom0 kernel is in charge of OSPM.  However, the
number of CPUs available to dom0 can be different than the number of
CPUs physically present on the system.

This leads to a problem: the dom0 kernel needs to evaluate _PDC for
all the processors, but it can't always see them.

In dom0 kernels, ignore the existing ACPI method for determining if a
processor is physically present because it might not be accurate.
Instead, ask the hypervisor for this information.

Fix this by introducing a custom function to use when running as Xen
dom0 in order to check whether a processor object matches a CPU that's
online.  Such checking is done using the existing information fetched
by the Xen pCPU subsystem, extending it to also store the ACPI ID.

This ensures that _PDC method gets evaluated for all physically online
CPUs, regardless of the number of CPUs made available to dom0.

Fixes: 5d554a7bb064 ('ACPI: processor: add internal processor_physically_present()')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - Extend and use the existing pcpu functionality.

Changes since v1:
 - Reword commit message.
---
 arch/x86/include/asm/xen/hypervisor.h | 10 ++++++++++
 drivers/acpi/processor_pdc.c          | 11 +++++++++++
 drivers/xen/pcpu.c                    | 19 +++++++++++++++++++
 3 files changed, 40 insertions(+)

diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
index 5fc35f889cd1..f14e39bce2cb 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -63,4 +63,14 @@ void __init xen_pvh_init(struct boot_params *boot_params);
 void __init mem_map_via_hcall(struct boot_params *boot_params_p);
 #endif
 
+#ifdef CONFIG_XEN_DOM0
+bool __init xen_processor_present(uint32_t acpi_id);
+#else
+static inline bool xen_processor_present(uint32_t acpi_id)
+{
+	BUG();
+	return false;
+}
+#endif
+
 #endif /* _ASM_X86_XEN_HYPERVISOR_H */
diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c
index 8c3f82c9fff3..18fb04523f93 100644
--- a/drivers/acpi/processor_pdc.c
+++ b/drivers/acpi/processor_pdc.c
@@ -14,6 +14,8 @@
 #include <linux/acpi.h>
 #include <acpi/processor.h>
 
+#include <xen/xen.h>
+
 #include "internal.h"
 
 static bool __init processor_physically_present(acpi_handle handle)
@@ -47,6 +49,15 @@ static bool __init processor_physically_present(acpi_handle handle)
 		return false;
 	}
 
+	if (xen_initial_domain())
+		/*
+		 * When running as a Xen dom0 the number of processors Linux
+		 * sees can be different from the real number of processors on
+		 * the system, and we still need to execute _PDC for all of
+		 * them.
+		 */
+		return xen_processor_present(acpi_id);
+
 	type = (acpi_type == ACPI_TYPE_DEVICE) ? 1 : 0;
 	cpuid = acpi_get_cpuid(handle, type, acpi_id);
 
diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
index fd3a644b0855..51df5f036419 100644
--- a/drivers/xen/pcpu.c
+++ b/drivers/xen/pcpu.c
@@ -58,6 +58,7 @@ struct pcpu {
 	struct list_head list;
 	struct device dev;
 	uint32_t cpu_id;
+	uint32_t acpi_id;
 	uint32_t flags;
 };
 
@@ -249,6 +250,7 @@ static struct pcpu *create_and_register_pcpu(struct xenpf_pcpuinfo *info)
 
 	INIT_LIST_HEAD(&pcpu->list);
 	pcpu->cpu_id = info->xen_cpuid;
+	pcpu->acpi_id = info->acpi_id;
 	pcpu->flags = info->flags;
 
 	/* Need hold on xen_pcpu_lock before pcpu list manipulations */
@@ -381,3 +383,20 @@ static int __init xen_pcpu_init(void)
 	return ret;
 }
 arch_initcall(xen_pcpu_init);
+
+bool __init xen_processor_present(uint32_t acpi_id)
+{
+	struct pcpu *pcpu;
+	bool online = false;
+
+	mutex_lock(&xen_pcpu_lock);
+	list_for_each_entry(pcpu, &xen_pcpus, list)
+		if (pcpu->acpi_id == acpi_id) {
+			online = pcpu->flags & XEN_PCPU_FLAGS_ONLINE;
+			break;
+		}
+
+	mutex_unlock(&xen_pcpu_lock);
+
+	return online;
+}
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 10:46:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 10:46:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510493.788220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcl7L-0003Ul-NI; Thu, 16 Mar 2023 10:45:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510493.788220; Thu, 16 Mar 2023 10: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 1pcl7L-0003Ue-KQ; Thu, 16 Mar 2023 10:45:55 +0000
Received: by outflank-mailman (input) for mailman id 510493;
 Thu, 16 Mar 2023 10: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcl7K-0003UY-CX
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 10:45:54 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20609.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b87872df-c3e7-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 11:45:52 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8580.eurprd04.prod.outlook.com (2603:10a6:20b:427::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 10:45:50 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 10:45: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: b87872df-c3e7-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FrXTYHIW54hz+1mts7Y1yUZcNtHsJS0lO6O3nhA4sUg/LY01l6WLq0QtwNlyCoPoqwAYqmGMLhwWRw2Z/b4jAdueTOlpJyVAKWuZgfYzCETzxjTEylNtCTSor2s5UGY2NWXSuDdo2TGdGGGfrftSHhjrZhg7RQ//jo9Dxkkee/GPnZJETFiRzQgcaMABAhFre0lvedwHB+QXPyWZLpDHBXJ8GaftFT1m0Z+cg56e4iWwnDLq+FaudIomlUnsW/L+XWDfoCe1YCA0lOjuzkaPKWb/PSoF8xCiKlNiIqNoWonqmb6d72UPZf85yoRAJgPpiSfpp6wWrkOFHC+OGaBxYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VWyQHfB+TJ0P8zlOXRcmeCpSd9fkh2aCQWaY9+tDynM=;
 b=Uynt+tvxhZvvFq4DTamxzsTHotXQW92Y5AO7V5Cz0Y/vhdNduPqJJwA+RXAjmQmxV15eP5vP/zJlxtqcks7xgwtDiHYW/P+aGgFcMqpTSSi1vO9Se/WcWdXIdB+tvLITJw/9iS60JDXE9b42r52ucUsqXsfk4sp5aynPDdphz8KT4aFo1xy6nWchSslw9JNVEL8b0iZyZjp/2WwQcEF0QqF0ytXabTwcSgturslgynzMfx3ChCzfqUuX5iZcHpifMi6Ni601Mr7ZHh8UMyM3LL7VW6VhLxxGmsoq3ILM66bRHmeWkMJCCAB9bzZZE9P7GrDfu1slw/4StolALjSIuA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VWyQHfB+TJ0P8zlOXRcmeCpSd9fkh2aCQWaY9+tDynM=;
 b=skB1NbA6urfilLlhNWUNYH8+rWAEbVyjMp2yw2EvPvd0mXiqhXnYeDXtYzVhosGFLiajJc2HRLo7zHXgbbSRwqfYRjg+nTdIM0Etj1hFB1iLP6lugMLxD98UmvtT3tuVmlirpHlNISA8ijCNyU4ASHdU+RqFbgvPYSPQdNJw1ac/ZOtWhuSZKX6/ANyaQd2kZvMc2/j7H4+apMhcsyByJw6HxOGEufWqHF2LlHgKi6qXZiz4LW5O1d0flyNietvzTbliYVLJgHAcZz8Fm4F5zVnrOF5YHFhAMOfrxMBvj/ibCZ3OSfp8v/Zsz5z4Ftd8NfGQB5VTjDB3mYr+a2mfuw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ba2d10ed-a1c0-2f35-3ffc-13637c83ed93@suse.com>
Date: Thu, 16 Mar 2023 11:45:47 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, josef@oderland.se,
 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>, x86@kernel.org,
 "H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael@kernel.org>,
 Len Brown <lenb@kernel.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
 Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org,
 linux-kernel@vger.kernel.org
References: <20230316103236.37102-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230316103236.37102-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0166.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8580:EE_
X-MS-Office365-Filtering-Correlation-Id: b29bfa12-9dc6-49f8-22b7-08db260b9b9b
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:
	1LZBbxOiQr+QfOY5d+hUcIFdtxYiHX0kPjRObAQsHbHowH2h8pM7fdbZa5lJyIo/BdlKdGpY5nM7hgo9OOYNZM54dSPeY9+8UdE9uDUdSB5ZVqe+Edazy6tXd55ZHXB2/t58JjPwNf0BUrMSa9GvMRetKucIg6JajFUTXvd++DuFucT1SDsD2+M6vACFPv2gmLVroFN8UwpnQ7UBdRzy5fa2uirxspb8zz0mPdkPb/XNJ/BZwt+y+bvTxT3otX5vsPFiM8BapocMAbKK/S4fQol3IxxFHwp6bbz4/Tu4lzvSXjul1w4zr9uvj4QcSkITwPiXHPeoQWkZ2n13TYWiBdHTGLJtnSvKoE9OO0kBadj9TfN9ga8rp5B9ScL4SfAvsl5JYBCl5fG/Dv0+Hwefc/gj07SZuBD7sanE1PXqdIcs+sCS/mDt8pmQefKhNPR12ULTSaq9TWr7XtvBnCE9uKA911ALWaGYzvUs0NeHhJ7F1RWg5SwHMuVS8etkFPKBJYstHTmIUaaM7qa9Ts9NaH5NQXixSlBy/+KFaK6f1GJVQebR4h/8EOA9vpwQuCuqgKm+DAQYIqyySCgFt0fXAHKpcblWZhXAJrhlaychLDIqf8Bv45HiHz+LDPfDLPI5TFan/GLix9MKEYjk86hsG3YtIIzRwV9ifczGnn36Xal4fAOk/bOpTAlc5vZKzfo0omZGomtbuTFALoRIIwaKZUriHlrG4iwPn7ghJRB7svs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(376002)(346002)(39860400002)(396003)(451199018)(31686004)(36756003)(5660300002)(41300700001)(7416002)(8936002)(2906002)(31696002)(38100700002)(86362001)(478600001)(66556008)(6486002)(66476007)(6916009)(8676002)(66946007)(4326008)(6506007)(6666004)(2616005)(54906003)(316002)(83380400001)(186003)(6512007)(26005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cG81N2xUdU1ibTRpZU1qM0crNUdWSGwrSnhSTlhsM3ZzMERHdERCN0N1YllT?=
 =?utf-8?B?TXJRTzVNd2hTSGx5U1pBcWVaM3FxZjBPbTBlbUFHMGtGTS9Pa3hUUTNTQkd3?=
 =?utf-8?B?WFltVXpCU2hiaEZER2dYSVhOU3Z2RkR0ME05cDQvaWh6QVM0LzRlMFBtNm9D?=
 =?utf-8?B?dlZDbkRpaUxvdUUya1NWQ3hNbU84QUpZdko4R0VTWENreUFBMmpDeGdkMVFj?=
 =?utf-8?B?dmk5cDVzcVZ3b3JZMVl3TWhnMUEyQXVlV0VPWTJUSGVHbUdWL1ZNSjRadDQ5?=
 =?utf-8?B?NS9tOEszQjRRaGpSWWxGVHF6VTFrbklJTWpTT0QwYWE4RWdUUnZ1SUh1cnRS?=
 =?utf-8?B?YlRQRndVeVpGazZCbVNsMlJwRTNZTkZrTWJHSzZiSE1PZGM2aHFJSEh3SkJS?=
 =?utf-8?B?bjRkcFpGbmZKNWdEVHFXSU1NVitXUHdqTExPMzU5RXhhN015ZGgyUzlZUzF3?=
 =?utf-8?B?TmhBR0RScmFDdXA1ejdUYkF5dUs2TzdTeFozRjlXdXVVV21SY0pON05CbVEr?=
 =?utf-8?B?SGF0c0VNTEdtSjdpVDR5SjdUZHFoLytBb2dTbGhHLzh5YjEwUkVQaWhUWGor?=
 =?utf-8?B?UXlYZVQrWUh4TkNGcDRxamlkSUQweTQvTlZSb3gyVWplRElhbEFiT2ZLUzVz?=
 =?utf-8?B?R0dqWGxSZUlVWDM5WmRsKzhDNXRGZUIwNUZyZFdBNGN5YlFuRHFsVUNkMzNO?=
 =?utf-8?B?NTlITmlzRHJmZkpqc3pESDl3cXhQenpVLzVSaldCOUR5ZGszRldZTEpRSjNJ?=
 =?utf-8?B?NWltYkNpYVJtT3VhVFdkc1cvOE5rV0RsbkM1ajN5UStNSnpWZVFkbVBkNlJz?=
 =?utf-8?B?dGdCVGNlV3BBMjM1UFVBV1hOVWdIVy9iRnlWano0eVlJOUpkWnBEK0g1SC83?=
 =?utf-8?B?UDRUR0hPVWh3SUduN3lzVFlJamJKMHJXeVpWckkyQlorNmo2QTRkOXRYVDhY?=
 =?utf-8?B?MzNDWHZkS1VLMUlMSmZmNXFXazhLNUh2NzYwRzJWK0ZGUlg3OVlvV2huMGNz?=
 =?utf-8?B?U29OMVdwbjJYd1ZPTjg1SEF2RW9ETUIvQ3pud25NalR2cE9FN3J2Tm5lcWRG?=
 =?utf-8?B?SStQZDgyRy9GdUdqcW1TRFo1OE43b0lhNVpmYjMxdDJqclA1TjQxWUMxaUM5?=
 =?utf-8?B?VU1uSG5FMkp0dTYyZ2xiaGk1MkRNNXQrVlp2YVRQb1UrVXdWUHpGc1FCUy81?=
 =?utf-8?B?c1U2UHFGWjI4bUozQzdhUVVIY1I3UzhmL2NrakNHN3VBRlhBWksvQ2V4c1Zh?=
 =?utf-8?B?QnhLNmRwa2Q5bUxLZnZSZmFBbWtKcjMyUVNIMkJmRnhrWkZiNE05UnVoZ0RE?=
 =?utf-8?B?bUxsN21oZlJBcVl1MzFqZTE1UzRpbUlTYnBqY0ZKQlpjeFpQTTJtU1NtMWNt?=
 =?utf-8?B?UmUxZzhxMzNINEkyYnE1RVBFbHRBR2o1WHVNSzBkTEc4a200eVBOdHFwUEJx?=
 =?utf-8?B?UTgvTUFEdExuTTA4YWswYTI0d1c3eWJsaUJPUytNMlJPb1ZGNFZzUjNWTlVq?=
 =?utf-8?B?aVNZQTZsd2l6MHd6K0Fkb3BKOHNZOThZZ2ducC90ZFlqem91RzBiUUZkY0Nk?=
 =?utf-8?B?eGlnelFlM1A1Qktpbng1RFB0UTMwNXpSdzNUaUpnWGxlcVY4dUg3NXQwa0hI?=
 =?utf-8?B?NTk2M01SaWlLdy85cFc1VlFZZHc1UUt4TVlKQzk0NE9qQ1ZiMll3VDRuUjVC?=
 =?utf-8?B?Q3hlNWZ2OTd2WHhvRFE1SDlCQ3dEYlUzenQzY3dFcVM5Nm1RdzlpL0NXSzBY?=
 =?utf-8?B?bENwc3pCOUNUYWNNVEtudU5uOUFDSlpHNFg5cVBSOU5TT21vQW0zTkxWZ3hQ?=
 =?utf-8?B?VXYzUEYxQkQzV1pCbXh5YmJ2NC9EcG5FSTExeHlzZGJMT2RLYUVhZUxvN3V5?=
 =?utf-8?B?TUdCSDFaejFzQjU3MXZDaWpqbGtCNW56aXc4WFBJV3RiOTNGZDVXMkxOdmxO?=
 =?utf-8?B?R2pjK3JGWnM0QmlFTWl6OFg0d29zTlQvSUQ0LytPTmJ1SFdnRExKVU1ET2Fx?=
 =?utf-8?B?VEp5cFltdXJObkFqUWNFNjJUSlhhUktEY2xrTzlyNW8yeEx5YzZsb1ZLUmR4?=
 =?utf-8?B?ZHBoTU5XYStPM29pRmE1a2Y3bmpVQVh5Yi8zTjhCZkhzeUlaSTlRNVd3UGYr?=
 =?utf-8?Q?tSxM73erhms2wSBcUDa/X8H4T?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b29bfa12-9dc6-49f8-22b7-08db260b9b9b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 10:45:50.1594
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DgJQUDv24Mba58slTu27P+HLjvu8qOvnBQJHtbR7mvXxhVq1XlW6V8jLlOBKDgHdosLKjlmNVDX+TIMH+kQRRg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8580

On 16.03.2023 11:32, Roger Pau Monne wrote:
> --- a/arch/x86/include/asm/xen/hypervisor.h
> +++ b/arch/x86/include/asm/xen/hypervisor.h
> @@ -63,4 +63,14 @@ void __init xen_pvh_init(struct boot_params *boot_params);
>  void __init mem_map_via_hcall(struct boot_params *boot_params_p);
>  #endif
>  
> +#ifdef CONFIG_XEN_DOM0

Shouldn't you also check CONFIG_X86 here, seeing the condition for when
pcpu.c would be built? Additionally CONFIG_ACPI may want checking, which
- taken together - would amount to checking CONFIG_XEN_ACPI. (For which
in turn I find odd that it will also be engaged when !DOM0.)

> @@ -381,3 +383,20 @@ static int __init xen_pcpu_init(void)
>  	return ret;
>  }
>  arch_initcall(xen_pcpu_init);
> +
> +bool __init xen_processor_present(uint32_t acpi_id)
> +{
> +	struct pcpu *pcpu;
> +	bool online = false;
> +
> +	mutex_lock(&xen_pcpu_lock);
> +	list_for_each_entry(pcpu, &xen_pcpus, list)
> +		if (pcpu->acpi_id == acpi_id) {
> +			online = pcpu->flags & XEN_PCPU_FLAGS_ONLINE;
> +			break;
> +		}
> +
> +	mutex_unlock(&xen_pcpu_lock);
> +
> +	return online;
> +}

Since it is neither natural nor obvious that this function takes an
ACPI ID as input (could in particular also be an APIC ID), would that
perhaps better be expressed in its name?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 10:49:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 10:49:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510495.788230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pclAv-0004JU-73; Thu, 16 Mar 2023 10:49:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510495.788230; Thu, 16 Mar 2023 10:49:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pclAv-0004JN-46; Thu, 16 Mar 2023 10:49:37 +0000
Received: by outflank-mailman (input) for mailman id 510495;
 Thu, 16 Mar 2023 10:49: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pclAu-0004JF-BD
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 10:49:36 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2060d.outbound.protection.outlook.com
 [2a01:111:f400:fe12::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d963a98-c3e8-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 11:49:35 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7411.eurprd04.prod.outlook.com (2603:10a6:20b:1d8::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 10:49:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 10:49:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d963a98-c3e8-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SXN6e3wdEBLLew8DOIgAVJLe/v8j64DBV1TV+aGf1O6rrtpj9TT0YfjT/FYM+iZrrtdtRUEyprj0gzjHvlDproEhsG1R54ERw6WVcEG7gWn+TgpY7EcfWbLhye8Ze6eznGQASV12BsaSoTWSl52q8do/SmU15EP/yUN6QyAteg/m4zIu1d3gvnXJRyukiqWdqsfWiStQZa2VusJ6q5LItZcMcxkdueoqMjDpibJDJkIwV6X2VKjpSo3pUtn3zEvTa8+Cok2rdf/5nmtMgN7N9AJEWKHNxiYQG3s7yWG8gbe9Su357m5Phxrd17+f80toafkWGcmDW/vh4KxwLHYoFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CLL56g339PAMvvMKhErnGA5ozcoKvyEsNy0lBIUZR3E=;
 b=nw+Jmu/ljYs1YIK9CrFbSwSeQ94mH/PLzrh3dK+zV5DDcnv9pUA/Y5LvXGlJZiStSShBnxS8YBqLN80nwqqzzjTtcJ32Jh9u0gaFnRWmqjallfZzAi4/K9A9+3XlYusJejmCVs+5EAvrOD4IAuaZlWJj5TdGR6X64TnjQ7jIF9JXXfxtFkGGJGIoUXEict/tsMzA1eJ7gmpFSDVo33MQfQzm5LfWvosNhlSsfxLNSxXlSJYG/T/m0p/cpSwuBHSdV3k2FCywyzGg2SSD+G1ikVUDGde3ZKAUYkjRMGJA7xbrFLaRmWFg6Vys93QTG7epw3fwKN0HbnwkPHwulaw1Ww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CLL56g339PAMvvMKhErnGA5ozcoKvyEsNy0lBIUZR3E=;
 b=sY6b733xPxXuyJ16rdEOlMWbp471gxXlqFrvREa7lmVxRswYNdJzepld3O/3ekOUnj37x0Kz+fSZ3DGGxKbBPjyanbTi6ReJ3s8NxKOGRjAYwD9QCTSJG8OUdUGUnEyv/XGNkySKP4r453rQJ1/hjHKuR1kms3yClQxFvgCzDK/ROpQYUsWep6dVJ77liljrugp+5HGTul+WYPtXe+zZZVkbq+Jk03r4ldvtYzUN1Sn1P2NCYxX7ibcvHiO3Tx34J2UwdZvlgNmPHm8nXhe0bObvOGNBsNuwNIJBc+9JnZKrISGVkSSpJNGkxph2biwBYotY5CRYiqrYXYLSuXktXg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <982a04b2-032c-566c-f742-aefb631aa24a@suse.com>
Date: Thu, 16 Mar 2023 11:49:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86/svm: Provide EXITINFO decodes for IO intercetps
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: <20230315221003.733913-1-andrew.cooper3@citrix.com>
 <fd55257e-3604-e09b-fba7-bc95d39ce723@suse.com>
 <d6c4b2ee-2215-a741-a293-36ece4c3dc78@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d6c4b2ee-2215-a741-a293-36ece4c3dc78@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0005.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7411:EE_
X-MS-Office365-Filtering-Correlation-Id: eab67883-d550-420e-39c9-08db260c20e8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kcweW0RrNwzqfvLisZxA/1uw7godaMtu2HmuYeHeWi2QTaOnQQAZBBYbRyxWpZ6kBCYZkfah1fxbTD/ecQt4q/SlQYuvN0QumvkZnuF8GtWmgQFESybPP690nqLAP0s6OnmmDb7Q9dFF3MSmunbse//jrqhozk+IEGMgxEgvv+lbKA7FQBN7jTPO/dMhCJhuHS/tlZIqPmDAN+sUA32bf6hctnqSlXIBU0VhTTwBR5r/vSWJPrcQ6WdK9YkZ7X2g3k9uo+OLoglApucemcOZMm5smD8+Vje6MGulmStRUQ59jZDILrnE7ixr35T8S0k4nolhE4Axr/My+NAQnRt2dH5rtduwfNNY3QOqDYIu2KQb8dtQAnba5FmG1kS8I3zhpLRhG04d9mpmdSQRBvh6Q+DZ23Zv9+b0Gm2yUvLyts4DMJRV5NDkCCjIM8ePlW19c7KomIJ0QSC+MWoYbwXey37HIMpoUUBL7ocZGTY9Xku4IooteOCixh9iGc4Dy+g2t7oqBxEHc+dCCfC/0WX2b0DWcm4DK7Qi4CB/XkzpUri+8vOPE6uZbV5Uajb6BUW0K3SIrRNQVcnCpKV70fOV0AtjbT46jpSBXjUamF+PthwEx3q7DRIW8CTvNBHmziF2757QW9pBKk6m0VcN150EfG//EafLuYAKUw0pHjq7WZgACmxsTkc3SkLWjzE9+4A3y9hgDLePsQbzjZZvNdERnJC7R9kgTD3jV5qXpp9i72s=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(376002)(346002)(39860400002)(396003)(451199018)(66899018)(31686004)(36756003)(5660300002)(41300700001)(8936002)(2906002)(31696002)(38100700002)(86362001)(478600001)(66556008)(6486002)(66476007)(6916009)(8676002)(66946007)(4326008)(6506007)(2616005)(54906003)(316002)(83380400001)(186003)(6512007)(26005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NzdXSHV5dHAyUnI1QjlNcXBqbFpVYVpCVHRCbEtUNGdhbXRLQXRMWnpZRzFk?=
 =?utf-8?B?VVhEWGRJQTZMR3JuQjJhTnlnZEUrbWhDWGt1WjZ3MUdIZ21aL255K29XTXdY?=
 =?utf-8?B?MlVBdkRNejh5dEpCTFBqS3V2UFYwTUFHaWpuTytLVmg2M21za0ZmZHFJK1hU?=
 =?utf-8?B?NzY2K2hYNmREWkdrZFZvakFLN1BxMUlmUndNOVhzdWZJcjB2MnF0dGErdGNS?=
 =?utf-8?B?cTV2TjlScExmTktiQzNOVktodEdVZDlZRENKZDR3Yng0Q0dxVktpSjUxdGpK?=
 =?utf-8?B?MTFnZXF3NWlvYnM0c21yODJJZ1ZmSjhqOUhOaFJHVjl6ZFo2MzlyTmExVjdk?=
 =?utf-8?B?dlg0bTZmUmRTY0NINXlKYVlWRDRvNERKSDh0NG0zZWoxN0xVZjF6OElPRDhp?=
 =?utf-8?B?OEs5eldVRFdWcUdRS0o0MGVIWUtGa2t4TTZURDFLT1VML3lPemFFckZKVnFN?=
 =?utf-8?B?cFJ4RnFFWkZ5NEw2S2l5UGo1L3FVRG90MEN6NUJpNUVTR3F3cWQxS2tUc1RY?=
 =?utf-8?B?bzg0YnNQQURRQ3hlYXYvQm1vY0labVM5djhqeTlUT0daT2tBT1FMcVZ2L01P?=
 =?utf-8?B?ajFUaXh1VCtTckpYYkE0bGUxaDNaTWxSK2pydWhnNlN6NWhpaTBMWFRjTitw?=
 =?utf-8?B?bE5RVm5xUER5ZndJbFFzQlM3ZDcrc08rN1pYL09RUDRjTDNCMzYrMjFVQmEy?=
 =?utf-8?B?VWVxTVRucXVacVBMM0loRHUzOG1jdDhjL2ZVYkkrdHBpMS9OblQ0Vk52clRB?=
 =?utf-8?B?OU5MN2NkWmcycUpIVXFUcVZ0cVE1aVRFNjZpTUxGalY1RW90L3BxbG5IZHJx?=
 =?utf-8?B?SzI0bkdDZ2szcGljTFNyM2lmZzJkUGQ2OERNV21tSG95d3JCSWgxYys0QnpH?=
 =?utf-8?B?VzlDT3ZzRUN4VnBUT3ZjZjhMMC8zNlZWV3o3THVxRWtQNVNPMEVHZUMvcUpH?=
 =?utf-8?B?cjBrdGhPMzlmNnVGdEVSaHYyeCtRMTdYdXBWODhXWmxmZ1dPbCs4YjFETXNz?=
 =?utf-8?B?dUl6MXR1L0lxdkkwTTdVZ0R6WWFqSkJXVW1VdXFuelU0WDFwVENxdXNKV3dP?=
 =?utf-8?B?aGJraTk0a2N4b0MwLzlEcTFlUWd5OUtzWnFVYmg0UUhhREhkWlZuTkprSlFZ?=
 =?utf-8?B?Wnhkd0V1Vkl1REFCemIzZEhNbXR3UDZwemdqZllwUWV4RXNYbTdRS0ZxMUww?=
 =?utf-8?B?ZWNYZDl0N0FSQVUxQXdjcWsxMGlXeEV6Wm1Dd3QzUXgyMXllTzdqMzJrQ0Zt?=
 =?utf-8?B?ZW9IM2JYckF6VWxJcGJkdGNvSXh4VXZkOVNheWhlTDg2dG0xNkF6WHNtdVBC?=
 =?utf-8?B?a0F5emxJSGVQeDlwNWE5ZjhjM2ErT0ovWFhVR2dnUWtOamJBZzdGYS9Pdk80?=
 =?utf-8?B?UjdMRjZmalVENXJ2MmN3cmNCZ25IeW9jMkUzeENSNGcveGs3N1hCZ3Y0WFdY?=
 =?utf-8?B?anBIbFZOT2tzU1J0MkorSDBjTFg0bEJ5NTUvTWxNVXZRMUllN2J3ZWlWWW5v?=
 =?utf-8?B?MndPcEMydzlrci9xV2t3bW9DcEExOGgwSmx2SittTFIwcDFvY0I4L01ycWF6?=
 =?utf-8?B?bXJjYjRyZ3N5eUtHenVMR0FiTHVwRjhWdTVTcEt2NGtCOTJqb2hDakhEWkdI?=
 =?utf-8?B?V0IxQ054T2NmVkVWVU1YS3NYdzlheS8za0gveGtzTndSNXdVM0JlUEtQU21a?=
 =?utf-8?B?MTExdE90VzUyT0pVbDYxVmt5Z3gzcUVtcnZSK2hSS3QyM3dyMkNiMmk4MWxK?=
 =?utf-8?B?dlBLRWkzczk5RXZtckpDMXNBZWZJNGFlR1ltMFl6ZlZLTFkxaFBGSjVPWU5T?=
 =?utf-8?B?TVU2RmRsQms5N01EVXRpak9IQW45ZElmK1pDZ1pySGFJYk1RQVFkMzdDeHNZ?=
 =?utf-8?B?anQyek0veitQZHc4TjV5Umc3Qmd4UUI2bXkwd1BEU1c1VExtNE53QnNnK2Qw?=
 =?utf-8?B?Wll5RS9WMU5jaGYyU010VncxRVMwUzBEanYrSW83T01GbVZ4VHVqOURaZ3Rw?=
 =?utf-8?B?ek1ZbEJqYzd6UTZkM1RVUTMyV1h5cVpMdFBia3MvVzgvd3FKelZjNmQvTnF5?=
 =?utf-8?B?M0NWWHBacVE0eWpzdmZaOTNNbC8vUE80cHRpdEx5UWw5Mll0Y1QwM3Bram1I?=
 =?utf-8?Q?M0ZRfIYJm8+debSqvoEhDJPK0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eab67883-d550-420e-39c9-08db260c20e8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 10:49:33.8016
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: S4PYvk+BEl9OFrt/zllifwNsups/03FE8iWX1NinnyNpTLl6miNgPtf7W1950PykyRR+Nm7TFdYaRO6iqLxEGw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7411

On 16.03.2023 11:27, Andrew Cooper wrote:
> On 16/03/2023 10:19 am, Jan Beulich wrote:
>> On 15.03.2023 23:10, Andrew Cooper wrote:
>>> This removes raw number manipulation, and makes the logic easier to follow.
>>>
>>> No functional change.
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> Thanks.
> 
> Although looking through the emails on list, apparently the vmx side of
> this got missed.

I was wondering, but then expected it would be a separate patch at some
other time.

>>> --- a/xen/arch/x86/include/asm/hvm/svm/vmcb.h
>>> +++ b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
>>> @@ -436,6 +436,20 @@ struct vmcb_struct {
>>>              uint64_t exitinfo2; /* offset 0x80 */
>>>          };
>>>          union {
>>> +            struct {
>>> +                bool     in:1;
>>> +                bool     :1;
>>> +                bool     str:1;
>>> +                bool     /* rep */:1;
>>> +                uint16_t bytes:3;
>>> +                uint16_t /* asz */:3;
>>> +                uint16_t /* seg */:3;
>> Is there a particular reason you comment out some of the field names? I
>> can see that "asz" might be a little odd to use, but both "rep" and "seg"
>> are imo fine to have a name even if currently there's nothing accessing
>> these fields.
> 
> There's not currently used, and in particular asz looks hard to use as
> it doesn't appear to translate nicely.  Also, I don't that seg matches
> Xen's x86_segment_* encoding.
> 
> I can uncomment them if you'd prefer, but I thought this was marginally
> safer.  I suppose it doesn't really matter.

I would appreciate if you uncommented rep and seg; leaving asz commented
is ...

> As for asz, I previously had osz to match before renaming to bytes. 
> Suggestions welcome.

... perhaps better, as the name would be misleading, and half_asz isn't
very nice either.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 11:01:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 11:01:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510497.788240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pclMB-0006w8-8j; Thu, 16 Mar 2023 11:01:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510497.788240; Thu, 16 Mar 2023 11: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 1pclMB-0006w1-5R; Thu, 16 Mar 2023 11:01:15 +0000
Received: by outflank-mailman (input) for mailman id 510497;
 Thu, 16 Mar 2023 11:01: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pclMA-0006vv-AZ
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 11:01:14 +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 d843ff4e-c3e9-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 12:01:05 +0100 (CET)
Received: from mail-dm6nam12lp2173.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 07:00:34 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BLAPR03MB5394.namprd03.prod.outlook.com (2603:10b6:208:294::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Thu, 16 Mar
 2023 11:00:32 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 11: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: d843ff4e-c3e9-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678964465;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=R9aDqR6x1yeEr+4LdWb+Yws5rH6kb5nC3tm5CKc6JiU=;
  b=LXLC7wma0yXOq63dcK5xsI35n+aDeRU9YBAyXJcqQtTnOPRlArFMAM9V
   8RryoMAXNSG734QAv18MCYrlp0upwSmvXDV+hlLGYvFH4siH/sLcwBf5K
   PQsVehko70ZZnt/XA2IgN077xHsMzC37xToQIpSMqcTVWr9MOZTIxnbUn
   c=;
X-IronPort-RemoteIP: 104.47.59.173
X-IronPort-MID: 100464054
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:fjicyKiMAhuYineKChZYmCVeX1616RAKZh0ujC45NGQN5FlHY01je
 htvDWCGaPmJMTPyeoh1aYrjo08B78SDmN9lG1Fvqno0Qyob9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waAzyd94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQ+LQkJay/epN6r3YjlT7N33uU6Pcj0adZ3VnFIlVk1DN4AaLWaGeDmwIEd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEgluGya7I5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjAN5MSOXlqpaGhnXM4F4sDxIddWek4vDpkROGR/JiC
 x0tr39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLd6AaYD24LZj5ZLtchsaceWzEs1
 VaVksjpQyRmtLmUUXuR95+Vqy+/PW4eKmpqTSgAQAge6t/vurYvnwnPRdZuFq2yptDtEDS2y
 DePxAAlnKkah8MP06S9/HjEjiiqq5yPSRQ6ji3TU2SvxgB0foioY8qv81ezxexJIo+USnGCs
 WIClszY6/oBZbmNjCWlUvQRG6vv7PGAWBXYgFhyD9wo/Cys02CscJoW4zxkIkptdMEedlfBc
 B+NkQBc/pleOD2td6AfS4ipI80uzKXmRZLpW5j8a9tIbZ9ZbgKL/ChyI0WX2gjFjEcogYk7O
 JGGbdyrC3cKT6hqpBK8QP0cyvks3Twkwn3IRoHTyA6u2r6TInWSTN8tMlSUafsixLiZuwiT+
 NFaX+OIzA5SXsX5biTN9YcVIRYRIBATFZ3w7sBaaOOHCg5nA306Te/cx6s7fI5olLgTkf3Hl
 lmxU1FVjlr2g2bKLy2Oa3Z+ePXuW4pyqTQwOilEFVKp3WUzJIWi9qESc7MpcrQ9su9u1/h5S
 78CYcroPxhUYjHO+jBYYZyjqoVnLU6vnVjXYHHjZyUjdZl9QQCP4sXjYgbk6CgJCGywqNc6p
 LqjkAjcRPLvWjhfMSofU9r3p3vZgJTXsLgiN6cUCrG/oHnRzbU=
IronPort-HdrOrdr: A9a23:TMWksKEvznihJ0iwpLqFgpLXdLJyesId70hD6qkvc3Fom52j/f
 xGws5x6faVslkssb8b6LW90Y27MAvhHP9OkPAs1NKZMDUO11HJEGgP1/qA/9SkIVyEygc/79
 YdT0EdMqyWMbESt6+TjmiF+pQbsb+6GciT9JrjJhxWPGVXgs9bnmVE4lHxKDwNeOAKP+tPKL
 Osou584xawc3Ueacq2QlEDQuj4vtXO0L72fBIcABYjyQ+WyRel8qTzHRS01goXF2on+8ZozU
 H11yjCoomzufCyzRHRk0fV8pRtgdPkjvdTGcCWjcARCzP0ziKlfp5oVbGutC085Muv9FEput
 /RpApIBbU611rhOkWO5Tf90Qjp1zgjr1fk1F+jmHPm5ej0XigzBcZtjZ9QNkKx0TtogPhMlI
 Zwm06JvZteCh3N2Az7+tjzThlv0m65u2Arn+I/h2FWFaEedLhSh4oC+149KuZ3IAvKrKQcVM
 V+BsDV4/hbNXuccnDip2FqhOehW3widy32MHQqi4iw6Xx7jXp5x0wXyIg0hXEb7q8wTJFC+q
 DtLrlovKsmdL5YUYtNQMM6BeenAG3ERhzBdEiIJ078Ka0BM3XR77bq/bQO4v2wcpBg9up/pH
 34aiIYiYcOQTOvNSXXt6c7sSwlAV/NEAgF8/suqaSQ4dbHNfjW2S7qciFcryLvmYRbPiThYY
 fDBHtnOY6dEYLQI/c24+TfYegmFZBMarxghv8LH3Szn+nsFqrG8sTmTde7HsucLd9jYBK0Pk
 c+
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="100464054"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N0PXmie7j6JFeM+zFhNlsoxNACoyIkS9AR0t79CtMYe9dcIzJFgCX181VEe9dQH9eDu/511Lbco1f+zNsNBB82qKGv8j8FDp6Ma3yBCK05PdR1Mbl9x+IlHokY0vx7HK7TtQ4MUBtnzvajQTDFsTeeXLccLYZ7emoT59aBeC43STnE6+iN0d+q5UTx7Ux/NFInSYqmtAtFIiuqXYWUWddB1S7y1FPIaSbpokztqHDwhFahT+5Z16W3k8tdIhy/w8vn3rGFJbeiuQZUaljWQdzqCjNaoVoeh7Xvwp+gOOLcGEcqubMl7khojBmJH0kGt11q7rPwdUc6fAU72CaQmXzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+KwU61Fv+SUsRa3WilRxDBLF5gU0HjmIPKbQs9ZdDDo=;
 b=c4kr+hcvZFMggN0SbKsfquQ/rJDri24OUH7TMpNtLB1vyVDgJer1nTm2nBcrsedzmYXaUMN7nypvP8WY3moGs5riFZITcnHX/exZHWfZf7A50kyIDzD0NYTJbiiEw/7hBD4NmgeiOnJztuOIuAHg9lrmPGlX4Cas/jjnpydw9tqRBsWKG8/DaB0Dgr2RJqnwxgQsT9SmTstJhSSn03HLMj1lRiowoSpYRCgMQHpidPpvaA/34GXqdLnoWOHq87ZiAx2/9jhRyX1US4qip5Oi++zxKZq/eWr0H4sxB1L/oCOx1AQJWY7g/rn4JMirN5hmxAvnwVRG9O1TDfC0BEaW8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+KwU61Fv+SUsRa3WilRxDBLF5gU0HjmIPKbQs9ZdDDo=;
 b=hrAZuFboyn/2UOrN5OdhjNecQY090Ute+qgmJ22+9HvZdp8TkcP32G1/a5BhJks0/BjKHIbumboszT3rvpkMRBfYfIHTz1i+RNl+/1y+NpaOcPWytVVjsnSdJHSJGBcm+fUXwHNxkN/lBKVYQN3azej4c6+qywWT5m0g+Fi3Dco=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 12:00:26 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, josef@oderland.se,
	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>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
Message-ID: <ZBL2yosC4LWGdjsn@Air-de-Roger>
References: <20230316103236.37102-1-roger.pau@citrix.com>
 <ba2d10ed-a1c0-2f35-3ffc-13637c83ed93@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <ba2d10ed-a1c0-2f35-3ffc-13637c83ed93@suse.com>
X-ClientProxiedBy: LO2P265CA0058.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:60::22) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BLAPR03MB5394:EE_
X-MS-Office365-Filtering-Correlation-Id: 0d045660-5092-4713-769b-08db260da942
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nkuyJbFmxpHqhos6+5c2fexVUXBpJRkY3qEp6OzIyM324KogcZfH4UOoJR/DXq1r44khHkxKJmswqULBMWlm8TQkKCx/G4yQlstQsCzEFuMueJBSmK2W1oOazZwQUIJ1uIxdZrDFe1HO7URRaOALnJ9yxpeC6vUwDwhkTTfotGUfIENSCW1cYXftt1ZGHYUWRqZIxbO1qHYZk5LIV198C09nW0cax8qHfVuUKcQIw8NL8g81VTqj0hNh39fo67mYWb+I7/BxkFEjOzPXoLmX3fHeXGmwFNm8NoFgtUlkJREB7UFQkyP0mz0l7mWZ0+nIVKG3d2i/8TtDwsz5dyYdZ/Mmcd8UU1z915lKgOGA1eI8AMFpz753fpzAVlJOX2Vl9sfuNlNvTxCJlLOtLRl4593Yv7Q7Fjl/Amo/IpuGn15xCx2uavOkFoabibV78+aAWjjRcip+dNupSfYETgxnsDVgi0DoP1E+DOIxUDaOpozZhI/Sc80Pail3nHzF5kOnPB6KZzHRFKPRljyJIWEGioSDUoFthl8jHPElYsny9bxpVTG+MtK12VuA8GSJmBrDJiRwQKXWJaASdIpwY5kHjBLL6a2KM9SiNE1sEMY1BGKNE5gJV+/6AjKJPuMBGQA4MyOTzCyQJzE32C4GNF09Lw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(136003)(366004)(346002)(39860400002)(376002)(396003)(451199018)(478600001)(41300700001)(66556008)(6666004)(66476007)(6916009)(8936002)(66946007)(5660300002)(9686003)(186003)(83380400001)(7416002)(8676002)(6486002)(26005)(6512007)(6506007)(316002)(85182001)(4326008)(54906003)(86362001)(33716001)(38100700002)(82960400001)(53546011)(2906002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UXV6RDgrTjM5R210Wlk1aW9yNm9MSndpVmYxTVZmUmNReDAyNkQxVU9vMVd4?=
 =?utf-8?B?ZVFSQWRrZjZ6SzJ5bXl2dEhRQklOa2J0eE9DSHBWUDVGRXNiUjBzTXJDM1Vh?=
 =?utf-8?B?RVJTLzJ6UStxL3J3YktaMjdyU2tPTkRYRmhzbXQ2eVUvRVp6bDN0YXlBQ3E4?=
 =?utf-8?B?c1Y0cjV0T0t3dytGakFadHdtR1lBUC9GY1cyU0djdlkyK08xN0JEYjk1ajVr?=
 =?utf-8?B?Nkp3NUJXTzZkdGRNV0ZCV3FzTytzdnBvRUtlaWorbTBEU0NmZ2FNcDMzR2h4?=
 =?utf-8?B?REVxYjBjVlcvekRGZUhiSG5sazJHTTIzWUJJeFhhdFRoUmpLTFZMQ3hrd0hS?=
 =?utf-8?B?NnNRUkgxSVAwT3F2QkpuYkdUSUFXRExWcnd2dFhLK3pUVldUL25mb0F1eDZz?=
 =?utf-8?B?VmI4TGpkRElmWGdlUEU4aitjSWF3RE1aWERHK2VvVDF2NExiUm56YlZ0b1Fm?=
 =?utf-8?B?M2l2VmhWLzZRZ1Erd25EVUZaZXovRFQxcmV6aG9IVUVHeGF4VjBHaUhDaGVm?=
 =?utf-8?B?bWVESjBDeFlOSWZEb3c1ZTJROWxpVytoQXYzOWw0Z2pjVnVmZktLVEFPUi8x?=
 =?utf-8?B?Kys5UU9wZXNZZVI0WW1mRkdGaWZ5Q0kwZW1hY1Q2OHBlU3ZPVUtVQkFUR21y?=
 =?utf-8?B?SzZIdUtob0xFN1psVDFCRE04VXFSdHowcFZYazdzNUZJV00xMjFNR2xqc1JD?=
 =?utf-8?B?WWV3SXRrZjNYMnhIcHNtMEp5aU9oNWNTRHRRMW1TUGIrUzV1WXFPV2ZqRi9G?=
 =?utf-8?B?VWtmYjZMMXVDWkJISUcwU29MSXlHYk8rbTFvb29QZ1dmVjlnb2xaU1JJQ2hj?=
 =?utf-8?B?VDVwcmZsUmlmd0UrdUhrWDBwWDNKbnV6RVl2TVBhT054NTVUcHRtajBRTk42?=
 =?utf-8?B?T2JpM0pNbklYZDcwMldRejJWNjh6TG1wWEREQjg5VXVVOUtwVko1bGhjTTFQ?=
 =?utf-8?B?Z0FFd0ljOEJpT2dyOXFFZDVIbU9LVG1RSkp6Zi93U094dTZIZE56bW5UbWRY?=
 =?utf-8?B?c0N0aEtCVWhTRmF5K2wzRDF4K2kzaW44ZHRLUFpUOVBrWWhucEhhS2hsWlh1?=
 =?utf-8?B?d1JzNHQ3M2VhdHJIeStScEFHSFc1ZVlKODJyZTRQeGNsL3dmYXRqMVF1MmRR?=
 =?utf-8?B?UGxtOWZEVnVPTnJZaTNjOFltRDNIdlFEU1A4M3VNMWRWelZmWVNoT3NJTm83?=
 =?utf-8?B?bXBEWHJ1WS9PYlZ5RHhMeFdDNjA3d2syc0hNNEhRWjlCUU1yK0VwS1NraUVx?=
 =?utf-8?B?R2k3YVVCL0psNG5ZWkJtaWpSSW5BSkFmbUw3Zkt5enhXSk5jU1NucWp6SVRY?=
 =?utf-8?B?NkNYUXFUQlhPK09jRFlOYlBkc2oxN1BxNmZIbXMrTjRjaFhicWc2U2FCeVU4?=
 =?utf-8?B?aXhNNWpzUWphNXFkNVRnenA3VGsxVFQwOXZPSC93SGJQTC9XYTBscnZtb2da?=
 =?utf-8?B?NzFTSmVmYlkvT0szcG5uY2ZCZmR6T1pDVWY2RWYxY2h1djFyZE9YbThINVRW?=
 =?utf-8?B?dVZBUk9tUytSbndOckEySnY1Um5BQzdVZ1ZUNEl4czJ5SW1lTVp1aElIMmtj?=
 =?utf-8?B?VEV4bzVBc3lqdWtoR3k5M3k4eHIwbktKSFN1Zk80Sis2T0w3ZUwzcjBBSXlq?=
 =?utf-8?B?eXM3d3JGb0RHTTJHTTFVdUhCLy8rWHFxT3FJQ3NURXRpUVpTL0RxREgya00z?=
 =?utf-8?B?YjZ5Z0x2cXRtVVpjRjZkSUU1WXhsYURMUFJsdFAzL2hMSytDcFF5RjNObVVR?=
 =?utf-8?B?bVJ4NzVPOW5KaVJpaHZpNHZ1d1hQdUZUUTNVOC9VNStZOTBlZkRUOFl0cFBY?=
 =?utf-8?B?VWswbjNqTE45WCtlbVVIOGp3ZDFwTFFRdDE2c1E5VkpjR1IwUkYvSGFUUnRr?=
 =?utf-8?B?a0VFakhidlBYZ2NCOVBjc1Y4TVNYT0l3Y2hMU0pHdWNSUFhQT3BnUStrVjdi?=
 =?utf-8?B?bVRUWFRUSlhZQndQLzYxNHJRUVF4Sm5Ob0Z4V0RORVdOR1NKd0F3Q0h0WEdo?=
 =?utf-8?B?SUNmeXhId3dTcGxib095cllnWWlaa05oeUV3L0huTURrc2hBY1dZVWFta01l?=
 =?utf-8?B?L1VCOVFONW03UTIvUkYrb3libExhU3FEeDJwQWd2NjRTdGszK2RtOWhncXRs?=
 =?utf-8?B?WWcyU296QTlZNGI2czk5d2tyeXdZK3RyMjlZVFprRTRBZElDdHFQUXcvZEhZ?=
 =?utf-8?B?NEE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?QnJVOUg5U3Mwa25OL3FPQzJmV2huU2ROaGEzOFJoU2twdDgxOVZ0UllDVGUr?=
 =?utf-8?B?NXNvTlIvZUd1TmZIMW1qbWZRWitxenBjZ3RoeGx2b1Blamc3aTIzNlNhSERq?=
 =?utf-8?B?bkREV1pqTld4SHV3VmJoZDZGa2VjbXZ6ZklsS1I4cXRRN2VDZmM3YjBlL0Vu?=
 =?utf-8?B?dG9OdHVDZTFmR1ZTdW9lK25aMVorSWxkZ3E1TnRZMUVKblNUSVJVOFFCbENF?=
 =?utf-8?B?MFBkd0w2QmRTWVpVNVpLVEVCMGFaN3R1d2ZZNmo5THp6M3FNdmRzWlJ3UjNE?=
 =?utf-8?B?ZEl0UUdKMkpWWW0rWW1UUXVWVnY2cFFIUy8vR0xWckpnUHlyMzRLZjZjNFds?=
 =?utf-8?B?clVDa3VsY0NycDB5di82RmttYTF1QXdMa0NlTmpBNlR6aFB6Q1RvclMrNHFv?=
 =?utf-8?B?WGhPSFh6aHJUVU5BaGRVd05IUUJCdEJCM1dCRTVQTVA5NDVRUGlQOGtYS2Vv?=
 =?utf-8?B?czZacFVOZWJsdWxsUkE1bVBkajVQOGtBalJXSHZobVZGWGd1ZmRHdVBvM3Ri?=
 =?utf-8?B?UnM2K3o2OUo2Rk1pcnl0ckJXVlowZ21hYVdUc0NJbnNnVFVSOW9GbXpETUs2?=
 =?utf-8?B?RGpsbmF5djltalNSNHR2Zm5OODBUMUQ1azViWFFBRzRpeU4wc3pzSkR6Mk05?=
 =?utf-8?B?SWxWZFBQcWlTK1JOS21GalgxNjI1OHVlYmt2VXJtQ21mbEwvZVpmT1V3ZUdh?=
 =?utf-8?B?Q3M4WUdZWC9VSytGaGE1bHBTaGc0TVlhVEovVFIyWXVmV3NmQUlsdU5DZWc1?=
 =?utf-8?B?ZEhFNEJHaDJFVlVVa0VMcnJhOVBPelFNMUVsL1BGL0JQNWdmMzZzTGhzTzha?=
 =?utf-8?B?K2QyNDJqT1VSRSs3Z1dKMWtnd0RuZi9LZE1Ud29NVzRNV2N0MFh2dndwemxI?=
 =?utf-8?B?V3Y1ekxmbm1EQjBKTXFxVVFobTY3SHBoMFV0dEtVNnhzeVVhUDIvV0FwdllM?=
 =?utf-8?B?R2RwZ0VGVlhoTlFLcFBzTkdpMHI0L0hpcVB3SWQ2TFB6STluUWhqSXdtVUcy?=
 =?utf-8?B?ODBaR1RUTG92dCtHaEw2dVhhZUxoTlp5MG9ML3pLb1BOMmpxQlF0WThJV1hz?=
 =?utf-8?B?eFY1SFkrdzlGUkw0MTdsMXl1ZmhKdG1iSXdSQ0pSb3lpT2NqMXIwS281Unha?=
 =?utf-8?B?aHd1b2NHS1BMQmM0bDhBUm4yYVVpZDUwdUxuR1UxQ0dJdElIRCtSa293dGxt?=
 =?utf-8?B?Q2NhanA1akw2czZsM2Vkai9BL05JZWVMelZ3VzYybVpkV0Y5aVp1eWl2dGNo?=
 =?utf-8?B?QWNrUElOUkQrTHZWUW15ZVR6MGhhOXM5ZFNWVytFZUkyZUlGNFA2NGJNSGpq?=
 =?utf-8?B?QitJb1IrZ2FYWTVTVmVzUWY0ZVRVcjhKNldkRWZDWjQxUVE5aE83Q00rd0VP?=
 =?utf-8?B?VVpCS1ZnbGIzczlRdW9oME0yUnFJK2U3L3FmR1ZoV3BNL3UyOVhZa2FFS0VV?=
 =?utf-8?B?d0tONU15SCtsWXl1OW5Wb2xGY0YwYUx1TjdzazgxVmlteFErTDRtdTZxd1Fu?=
 =?utf-8?B?aER3R2dLMHBuUTNFNHA0VDc5TktJMi8ybDh1TXNzUWtVdjFDWlFwTzV1dVNS?=
 =?utf-8?Q?eGTBTI4TScu3pQFlk7Zc+tcUI=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d045660-5092-4713-769b-08db260da942
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 11:00:32.1848
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jY97s4KAxcs5Q2EqHzqZzebOHoSYnG39hARjL7ikZOMeVkVGO30Aoe+LAQjgRY/zirEHchmWSzQ0Plww1Tk1Zw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5394

On Thu, Mar 16, 2023 at 11:45:47AM +0100, Jan Beulich wrote:
> On 16.03.2023 11:32, Roger Pau Monne wrote:
> > --- a/arch/x86/include/asm/xen/hypervisor.h
> > +++ b/arch/x86/include/asm/xen/hypervisor.h
> > @@ -63,4 +63,14 @@ void __init xen_pvh_init(struct boot_params *boot_params);
> >  void __init mem_map_via_hcall(struct boot_params *boot_params_p);
> >  #endif
> >  
> > +#ifdef CONFIG_XEN_DOM0
> 
> Shouldn't you also check CONFIG_X86 here, seeing the condition for when
> pcpu.c would be built?

It's in a x86 specific header, so that's enough I think? (note the
path of the header)

> Additionally CONFIG_ACPI may want checking, which
> - taken together - would amount to checking CONFIG_XEN_ACPI. (For which
> in turn I find odd that it will also be engaged when !DOM0.)

Hm, is it worth making the acpi_id field in struct pcpu or helper
conditional to CONFIG_ACPI? It's just data fetched from Xen so it
doesn't depend on any of the ACPI functionality in Linux.

IMO I don't think it's worth the extra ifdefs.

> > @@ -381,3 +383,20 @@ static int __init xen_pcpu_init(void)
> >  	return ret;
> >  }
> >  arch_initcall(xen_pcpu_init);
> > +
> > +bool __init xen_processor_present(uint32_t acpi_id)
> > +{
> > +	struct pcpu *pcpu;
> > +	bool online = false;
> > +
> > +	mutex_lock(&xen_pcpu_lock);
> > +	list_for_each_entry(pcpu, &xen_pcpus, list)
> > +		if (pcpu->acpi_id == acpi_id) {
> > +			online = pcpu->flags & XEN_PCPU_FLAGS_ONLINE;
> > +			break;
> > +		}
> > +
> > +	mutex_unlock(&xen_pcpu_lock);
> > +
> > +	return online;
> > +}
> 
> Since it is neither natural nor obvious that this function takes an
> ACPI ID as input (could in particular also be an APIC ID), would that
> perhaps better be expressed in its name?

I did wonder the same, but convinced myself that the parameter name
being `acpi_id` was enough of a hint that the function takes an ACPI
ID.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 11:11:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 11:11:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510503.788253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pclW4-0000JX-Dq; Thu, 16 Mar 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 510503.788253; Thu, 16 Mar 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 1pclW4-0000JQ-9V; Thu, 16 Mar 2023 11:11:28 +0000
Received: by outflank-mailman (input) for mailman id 510503;
 Thu, 16 Mar 2023 11:11: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pclW2-0000JH-QB
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 11:11:26 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0618.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 49a3b6b1-c3eb-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 12:11:24 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9647.eurprd04.prod.outlook.com (2603:10a6:10:30b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Thu, 16 Mar
 2023 11:11:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 11:11: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: 49a3b6b1-c3eb-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=El/h0801GbGfaVpyl51bwkdrZsJQp5EEgHLefjvOueNnsvcjTFQxKZ46ExU+OleI9TA2tFjjb2FeK4QYjhW2T1zyQaqRBfy5gw7en8FcPNQ2u6Y6DKldqC5PYghUh89pO4ib2a44G4O5NZqSRrl3B4iMUH5Z3W14kFZCidixdCmEIXAWM13YzBqN51Rqj/84w2kQ04kd7PwoisJnLfPU97Um3zIvs/Lxw3sfbBhW5MXs+nob3L4qdtDq33YpQaL4+uqWwzd8zd+GgeEFoE8BRuHx4MJYdGBKvKLYiI2bCGc5pWW1Or5VZe7mFgCHFtLzCG40J0ptNSkqOy3ZLy5emw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fCmINk3ZLz2jxe0JLs3TMpzTb4OO+6HOpzF2TJ//fQw=;
 b=OJTUBlpJagl8VC3Xi7KIGZad2ufpeZaKn/0ODxQmrnnGqWATjw4ad7Jm8X2MtxoHcTbv7YH0nbkc1O/StD4gtvkgg9fyMJmes5KMCW1JIQ/pUBbXOAon/ZTQJu23rFJuib/3D6HJaBGcNAkRLaVhoPL21pGKKLbeQzpw3sHULFsOxEl88v3eaLVamBv/jEctYWpznC/+eaU5yZNC1WnUYE05hHYnPNDIUAq0jQDTkO4XasLEt7roWxonNXrEZGk1Rlw43ptYCJokj+BEPVnN+8BSXTFEXa/Lm2FvxHGj2CF699oTpnAEkKlZKM2Atn9aZOoNCJM61/6Jy+hbdcrBjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fCmINk3ZLz2jxe0JLs3TMpzTb4OO+6HOpzF2TJ//fQw=;
 b=SGlrzVXV3KIMFtElr2Hnh6f2fnUoB8f2J5WxveRDN4wLWvqc/Xh4wmeeFST9blbwDy7JKZWsdOe+Kwuj5IndGSJa3jp0XhQeDpePKb5PwSuy9N6PEC7Cm5wyuzTCCNl7MUlrZsmig48mDXszm2tNilpC+Vu0HoSD/ODTyllJh+1LYWd6pB+3QddCWwpCNKOMv5gu1wS7vD9vTkBE+qnRjDasUtHZddFYof0a0WP+ZSaj51hAva12GWrqnYuUF8tQzIIkAC/M+Ue0BPstWN3IHyGPsxMkJujkz7t5e9ujKjXBkXdE4K4Vn5mcslCUzTgMHPSC4Xs5z8lNNvN02mBvEg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d9654392-ce4b-07b6-9be0-7a6d4230c287@suse.com>
Date: Thu, 16 Mar 2023 12:11:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] xen/console: Skip switching serial input to non
 existing domains
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.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: <20230316102635.6497-1-michal.orzel@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230316102635.6497-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0107.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9647:EE_
X-MS-Office365-Filtering-Correlation-Id: 930f2f5c-b2bb-4ca3-c611-08db260f2cd4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ab1Um5vmN2wA4TrUQmK+mPT+TwZ+kcwvBukI3hdNIORWsg6poMpXBifU0GkADU15J5MzCriy+1fUcZZSsG1Glxw41XXt/EuNX5gczMdTThvOxrI/+FscaJJJ1OJyX43dUu6l5TgLHYNIAV0q341g+yEGThj+dHnuc5yojxuAjHTY1KLt9R5AbezdJyr6zdoOyeCrZ6ZePcfzWdBh/EdhJMOw9+xbbVx6XnmA52+oJVuZvLttOyx6SbNyPE6806MbaSb6UjuJEQ1ij78mCZ0O/1efDjT+oLzdJW31famDk6/2Mvnf4dEv4FLKaOPBtFFT7JE3iCLQFTtTI+vW1d/9tMYbp1EeVAQSqZ5bMd7hMDQ/bEBBw7o7PHxAbw7+rkygxOvBL7ayUTspgXByFxMwdcu9O7gX4+9KEuEHUvk7G+aMIxtzbuJpbNmW0OfNJapL0MQPGXTH2kVZrqHYp+nA/KVAkGoHhVNYY2jmvghE1u+MbKXpqWh0mOHLJr1N0gFpIIAIekipQHPLaFa7UO5EUXsVlCgZ4FOxVLH1rxuluUK9XFEtNMwhzCukf9PiUaLg/hIl7EmXfemT+8DD8SbgPPX17WNEa1Ri3phchImgYSP7zBf7mDSTworMGILWfH7oo1bmMZg4Xj3mvTGFqyxXoAZaKeEh3obM5rJ8v8yaKRV/GkLUctBPFIK8xL3VFLfLuXZfoyokFp3ww01KVFDUX4wZyDM0HOZlpnmqKUpu6yw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(366004)(39860400002)(376002)(396003)(136003)(451199018)(5660300002)(66946007)(36756003)(26005)(2616005)(6506007)(66476007)(478600001)(186003)(6486002)(6512007)(6666004)(53546011)(8676002)(54906003)(6916009)(4326008)(31696002)(66556008)(86362001)(38100700002)(83380400001)(316002)(8936002)(2906002)(31686004)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T3lqTWR5QkNPRS81OG9iUm1ycXhPMFk5elNQMzl5cUZDYW9kOW1OSkVydWY4?=
 =?utf-8?B?VGFoUFA0dWxTWlU1ODE0WXdrMVRKNC92ZGFkaS93bDc5MmpiQ0dlcmIvekln?=
 =?utf-8?B?OGZ5eXpoV1oyNEVoQmNpblI3cmhvSHhETy9sSWs2MTBaMlc5Z1p2QXl3d29m?=
 =?utf-8?B?aHJxc3o5TDFnRGFUUEZZZ1lJaGFCVTBSZk1nSXhWQWVIZUNwSUJ6Rkt2U1R2?=
 =?utf-8?B?MXNRVEw4cU0vYk5EUUE4cHdkVkZyaUdjWkpYQ1dYTjhXcEJFSHl2V0dGd2Yy?=
 =?utf-8?B?ZzFTS1FhYVRXN3dEdURtZHB4dXRYRStLVDRORmZqMWJ5MTJJeS82NGwzcWVm?=
 =?utf-8?B?d3Y0a1JYOFRTTGNmTWZ5REpUcTY5Ync3SmJsNzBJZzVWZ3RxdFhtRHlWNllY?=
 =?utf-8?B?d0ZoWWlEUFhSY1BiaUYyaTZmQ2psU0o2c3NsNFVoNkd2RTNwdnc2cE00NGV1?=
 =?utf-8?B?WnVjU2kwcmU4bUJ1TGVqOUh3eEErMDcxNUJjdVJiaStKUkNVMEwvbGxEZ2p0?=
 =?utf-8?B?SndkRGZjU1VaY2pkM25IWjFodncyWTZKOUlzYVZkVnRzSDBiNDF4eXNDaURo?=
 =?utf-8?B?bnNQbmN6a21zVXBwc3Vaa0pmejdKUFVNZmdBWkorQXBRNEpwYTVZNmtYc0Vk?=
 =?utf-8?B?Zlh5MXAvRjZXY1lZdlVGanRiaW9Veit6R2RXR3ZFSVB6QVBSbmlmQVV0WFBX?=
 =?utf-8?B?MStTV0dJNW14ZjNYQUN6WW9nZDR1ZC9CMmYrelZWQnE2WHBVb3hVK2tPVU1L?=
 =?utf-8?B?dHM5cmxmNFkyMm96cStQK1NXY21ZWTR3YlEzTHV5cVR6T1AxWHRtT212K0x0?=
 =?utf-8?B?YXhaWWxEUGFnd3k1RFhZQytSZkJvM0ZYRDNhUkUxa0NGdFNlQURGVm8ySktj?=
 =?utf-8?B?YVJ5cTBwY2U4Yi8zaEFoTCtyRGp1TkJoS0FkSTlaU1B6OVQ3UUh0RDJiWlZ5?=
 =?utf-8?B?K09CZ3g2bXJZTGZ1aWg4aVlRSys4VU9Fcjd6Kys2c0VjOSs1VXlNd09MUmZn?=
 =?utf-8?B?WnM2c00rc09ZWWZpMU5UNGRwdVFLZkczOERscXNjKzdjTjRUb1ZIZCtKTkdF?=
 =?utf-8?B?ZnowVitsUVptNGdDNkROTTN5ZExLbHhOUzBPZzloOEY0bXpmMGtIcURUd3pB?=
 =?utf-8?B?TmU2RWdFOEcxTkJLZURJdlArb0FRQ25ZOEhIZW5Gb3RIQlFVY2hTUjdQZTRn?=
 =?utf-8?B?UEwwa3d1TXk0cVA4Vm4rdU1KK2cwZmY5TUVjWWJRU2owS0VWK3RDWTNXWENH?=
 =?utf-8?B?dzNjYVFEY3gzVnJqa1hCMlU4ZGdmaWhxeW1XdWdnRGtMSUtTSGJPMmhVaVNh?=
 =?utf-8?B?S0dkN055KzBCM3lPMjFqMFlRWjV0OG1GR3RtRXp5eUUxMWcwaWJMM3l2ckhV?=
 =?utf-8?B?WEY2SXRlL1ZRUWVUT2xSNklGa3J1bHJKcHpNTm10VldxMGxGZk93anNRUmdz?=
 =?utf-8?B?VnBpN2gyKzMrcng5UTNGazc3cmVER0haRmljeXZWc2NoNEZPdExXZGkyUWZ2?=
 =?utf-8?B?S0VaWFQ5akJnQjFrSys2NkRNa1BtTitFRXUwUmxWQTZFK092elFxaGY0Y1dN?=
 =?utf-8?B?RjQ3aHpEcTN4QkVrc1hSaUc5VHVsblprWEMrS0UvQkFWSXJRak5PUForK2dr?=
 =?utf-8?B?a0x0c01KRm5iOTNRdWFCOVd0QXJWT05tdzBpTGJvQ0JpS2VVZjBEUHdwMnpW?=
 =?utf-8?B?YThSNWN0ampOK0IxOEVaaDhpOFUrdWIzZjBwYmNIS2c0MTMrNm1GZWZ6ZXFl?=
 =?utf-8?B?QXoyK3lzdlJUWWF0a1d2ZVBuMFhWajF4VUdjVXdacmRPUUtOUnRFTCtpVGgz?=
 =?utf-8?B?UFVuWWdJdVZCM1Z3UFh5SDJFeW9iMyt5cCt4cDQ2aXVKb3c3Z1ZtZnlxR0Nl?=
 =?utf-8?B?VmdMTzl0b014a2NEK0NWT0oxZ3FjbHg4dHhEMlBEdVI0cjdTYk01azZCcU5x?=
 =?utf-8?B?MEtndTMzWEJKVWZGNlJ4b0h6akNUbGFmdi9ZMmw4MTI2dmNNbVY5akxQME5p?=
 =?utf-8?B?RFRERjVqT0xIcW9TZ2MvQmcvUy9mZUtIRm1SVGhtVnVPc0xOQll0bHQ2TStC?=
 =?utf-8?B?dzlUbHpMci9mVkE5S0g0SHZRMk5CR25JTFo3NDA0aWJwbkFRVm8rSkZmUWhk?=
 =?utf-8?Q?N0E9yUAQ28DMkKM9GYjvOyQri?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 930f2f5c-b2bb-4ca3-c611-08db260f2cd4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 11:11:22.2657
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kvKNcMA0ZzV9WEXM497q0UXiIYY3T6Pon38Eo51DfW7hoggpoHE8nTEWpAsDAP8MMKpHpGACC88nnzSY12gLjg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9647

On 16.03.2023 11:26, Michal Orzel wrote:
> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -490,7 +490,24 @@ static void switch_serial_input(void)
>      }
>      else
>      {
> -        console_rx++;
> +        unsigned int next_rx = console_rx + 1;
> +
> +        /* Skip switching serial input to non existing domains */
> +        while ( next_rx < max_init_domid + 1 )
> +        {
> +            struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
> +
> +            if ( d )
> +            {
> +                rcu_unlock_domain(d);
> +                break;
> +            }
> +
> +            next_rx++;
> +        }
> +
> +        console_rx = next_rx;
> +
>          printk("*** Serial input to DOM%d", console_rx - 1);
>      }

While at the first glance (when you sent it in reply to v1) it looked okay,
I'm afraid it really isn't: Please consider what happens when the last of
the DomU-s doesn't exist anymore. (You don't really check whether it still
exists, because the range check comes ahead of the existence one.) In that
case you want to move from second-to-last to Xen. I expect the entire
if/else construct wants to be inside the loop.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 11:15:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 11:15:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510505.788264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pclZi-0000uZ-0O; Thu, 16 Mar 2023 11:15:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510505.788264; Thu, 16 Mar 2023 11:15:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pclZh-0000uS-RW; Thu, 16 Mar 2023 11:15:13 +0000
Received: by outflank-mailman (input) for mailman id 510505;
 Thu, 16 Mar 2023 11:15: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pclZh-0000to-HJ
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 11:15:13 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0616.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1e6a0db-c3eb-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 12:15:12 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9647.eurprd04.prod.outlook.com (2603:10a6:10:30b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Thu, 16 Mar
 2023 11:15:10 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 11:15:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1e6a0db-c3eb-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KfVDLA2PT+J0b2dCPu04rLc+UFY+VRsbUfwbbdhoemy9+35ZpUem3bACIQYn6wtLQWxrZd35DSBubLKfCLer+BkbCpiVRM3ZTbZgqTKnKZ+rAoDCOJze/kL0KOKQc8iL2D7oZ0Zh3j1QCW+YlvKPlAprBNpcW1NWW6XRpVQeobMb6viZ89s1myUOPQX6McPoE4cVZZXOXTKzw50W8aChAbllQfAmy7u0/wnlQstrldo7q+kv0z8kE3PCUTpTiSXUiFQ/QABjnqb47neizL6yeqX8k7pW3u7zknzWOt/mW8qBij6uwb1L1tS5TNkHc26m1WWG0mGH6KHBi3u/9s0tzg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gWQuCSOqv/yYN+qmb4yfaY/Qpev2g4VbIfywb8iehhI=;
 b=F7018GhLJvaUzidvMPj5oCU3HW9RJjqRSZSYO5O6dlp/Pi1Giwaiif8BKkwcDAFq/2ELPZ8wt8Xnz4ZkK41KuwgbdturVQRUlNolrAo3nqg9pRFgm9x1ougxpwUk8/nAPWKA15p2OxHyPS/leuQSedn4PUvT1e1sVwWkz5ufStbLWawMwGsx0DvSIEaOVXn4f13Ku0oTnao9oG7A9JVu9HWwSX+Tvh0OY2AYNjCqGdqF5ucaxkujjMePP9P80ibEBZYijhlx7Q8cLJAsvt6x3giZEzyjTTSQcYgLrQuCgW1NHfq+yyhlGvh4/LIFSLUCS9oR1VPkN1iqJPxPGldYtQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gWQuCSOqv/yYN+qmb4yfaY/Qpev2g4VbIfywb8iehhI=;
 b=ra/mSCiPq8z7cbilAV7Ou1Oju4OR1WW9jq/vNy1vnE4MuS23aDtFireukDanC62irIsv1ol5O7peuW2wA5Iwg2xitn5xWKQx8rEYtbA/eX72JEBcOEyjvbnpKaivkQ6jnPB+iUvFPE68tyWBqgbvz3wM5NsWje9+K821rOloGt4t7iOqc/H99PxhiKT9jofw31GTRK368GW91i370ppJpell3xLk5BCTpF/696W+6h6EtwwEmJyHarYbsiuhu+/f1b7ZYCa8d6aF7G1IiBMgtQSu6KMTVYHMhL1ntsmEt4G/Vcjp2jN3ftPoyBMuv1tQpqWGvtpcMz8LR43kofL0Tg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <68195c77-e645-ebd5-3067-489536e7ace9@suse.com>
Date: Thu, 16 Mar 2023 12:15:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, josef@oderland.se,
 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>, x86@kernel.org,
 "H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael@kernel.org>,
 Len Brown <lenb@kernel.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
 Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org,
 linux-kernel@vger.kernel.org
References: <20230316103236.37102-1-roger.pau@citrix.com>
 <ba2d10ed-a1c0-2f35-3ffc-13637c83ed93@suse.com>
 <ZBL2yosC4LWGdjsn@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBL2yosC4LWGdjsn@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0002.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9647:EE_
X-MS-Office365-Filtering-Correlation-Id: 4219c0c8-6f23-4cac-9907-08db260fb4d7
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:
	ULYjAXJSJ3WYqQc+xt5g4g3ndpI0gSsCHwA3ZRVLeY99ioKNSsuwqY3iQdbyyHpPN75f9XhEzjkwuLyZU2xRKh7C7XhLdcKuk8tyjB9baVgJ+yQPnTTWO6gICbzaIcSmmUYh1KI7w20kowf0wVCe+9XGmS+Fqr6WQKN9Q6ExGSmVolwKX3rU6lJ4RGeZYnfKmudREsIx+41PW77xzsVyxYL5DkkCj8iN6kDHDybYXDRbRGFIOlrKRgcz5Jg/WXWmbcafWDhz7geLcCCaD2zsuliw5YrcI7JrzvzmDd6E4ZYQb6jvrHoWyGkrRslAXof2/W1P1sKRV6niQ2fAiC4veB83faxCQlIuDHdjs0z7lGf8Df1c1nMJiTdtS+wbThaM8no3yZhrrBF1aTgAJUolKFq3MalmSau7xuDEz1MO+r7Qnm3fixm19aJ+jyH7EmySN6/aS0c7+2xYTtJQ6moxcKRZwfN0uivKnhXTWF9/8UB/WKcF4qdsvkFV8EsSuQuGZH6tAIRgaPimLpwcsl8drcJcYy5JtX+R9Fk4l67/FUebfUyFNIB76V2yPYc3fI07mAd4vJd7Eag3tADJ+njQz1UjFDjHpiuZ3+8EUIG6THKhvlCQMFlqFgKGxDBW+dIegCDKthRI/L6OjgGJf55btpMiluBvsTPS5VajFz8VwWjDbO2sRdd/ZHeXRbHtk7vewiOs8DwJvHd82zeAQCq+ya+o6mf2ZUEYRLdH20iCi2E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(366004)(39860400002)(376002)(396003)(136003)(451199018)(5660300002)(7416002)(66946007)(36756003)(26005)(2616005)(6506007)(66476007)(478600001)(186003)(6486002)(6512007)(53546011)(8676002)(54906003)(6916009)(4326008)(31696002)(66556008)(86362001)(38100700002)(316002)(8936002)(2906002)(31686004)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UjZla2cxTGR6Qzl3UGlzWUtCcjZ0R09uejliOVB6aUozQWdvU2pVcVZoMjJN?=
 =?utf-8?B?S2o2djVxZXJQQ0VHUzl5QTBIUzBDRU1ncmU3Ky9vdVFXNzlCY3kxa1lkZldw?=
 =?utf-8?B?SzgzMWlNRjkzR0ZISXdxVXBBcnF6cm8xbnRlcFJMVXU1bWIrY2prVHlqVVFk?=
 =?utf-8?B?YmdkTG5ONVBzeFE4ZThwR2k1NUtwT1VFU2Zxa3RpMEljNmJzQkNDSU51eVgy?=
 =?utf-8?B?Q0RQZkMwUUdDdmNnaTV4cmtFZmZJc1ViQ3R2MkpIY3ZJR2RFSHo2S0JTY1N0?=
 =?utf-8?B?eE12UDBsczdzN0FMWHlVSVV0K3ZrRDhoUER2bTUzMzRXR2Y5OEU2WlhaN1NP?=
 =?utf-8?B?K2ZMZVNKOUNmMmx0WkdoaElLMG1LUVM0dUY1R3U2d0RPb0JvY291R1pGTk1n?=
 =?utf-8?B?WnVIOWt1cXRUTmlxa3NuY1o2ZmY3eFhkRXY5TzNobnlidHd0ajV5UTlZcC91?=
 =?utf-8?B?WURJc3BWUnpjL1dtby9iM0pYdDRnMHBIeVl0RHFDRHlmdWcxc0oybjc5WDVP?=
 =?utf-8?B?YmUvdUZqcGNBN3grN2JONlpWZCt6aDVCYkpRRm9rWjV6MUUzUmRNM0M0NzAw?=
 =?utf-8?B?Qnh0ZjZRM3J2NlBGb3cxK2ExaldzbzVJRU4rWGdSOG45SzNvNGVYWG82UWZy?=
 =?utf-8?B?N3hmVkYyRzhVK2NTcFVPZjM4cEpLUWdzN0ZjTEJ0dkdiR08yS1AvNFlJYU14?=
 =?utf-8?B?R3g0SjJWRXM2UGhrYVZ6YXFJblZXYjVWaXdJdm5rMDZCckN4VG9JUUlpWS9i?=
 =?utf-8?B?cXhOeHpFcVVKWFVKMEVjOHM5QVI5NWdYbW1rd2d2ZUQzdkVsK1VnUytHK3Z4?=
 =?utf-8?B?VWpVeWJsNHUxSUpXV3JWcHFKMzBoOC9aTkE2UlhZUDZYekNpcmpoaEg3TGY2?=
 =?utf-8?B?bExsaE50aFlqMkpwcnI5czlHZVp5aTY3alR6a0ZCbHVKSzZTTzQvcnNzWXJS?=
 =?utf-8?B?elpjQ2FGZlBpRitENkI3VjN5S2lUNFZrUFVIRHJpVWl0UWNVTWpWVnN5eWtB?=
 =?utf-8?B?Y05GRUhDcCt5Nlo5aWdsUm5VTzAzSWdDOGdGakdVc1FTRmwrWG5tbEJ0Y2NW?=
 =?utf-8?B?TDZFNWIxWTRxNE4yR1MyMWpBQXhYNHgwbFdLSmJOZGpBdzJmdmlvbThSc2Ez?=
 =?utf-8?B?WEZocTRIZHl4Mkh4b3p0NVRKdCtnNWorbVYxb1pmK3NCdFZLSlRsV1J6K3di?=
 =?utf-8?B?RGJsYXJTVFErNktDR0xVdmtxQ2QrNFcwd1ZXTGdMT291S0dyeWNmNzNremRM?=
 =?utf-8?B?UzVrQ0NLRmJVOE9jMk5KYUhMV1FTaGkzS0NzTjJaNzBhNnRTVXUxcDArdFM1?=
 =?utf-8?B?ZXhLcWJWWU5LbFpvMWNDNTlnNVp3ckZzR2dyd2VuOGxMMHlJMm04N1VuRVow?=
 =?utf-8?B?UnYyd0Rra0JsV2JYaFhqVEZwSVBUYjB5QUVhUTYzNFlMTjV3NmZ1T3Z0clVG?=
 =?utf-8?B?Y0lHdW5Vd2oxQ1Zvd0ZLV1Vsa3FPNXo3TGNlQ2cxTFM3dDh5QnZhQjlSUHU3?=
 =?utf-8?B?NlJIVEVyS0xuMDNhcnBWSVEwcHZ4eEM0OFh4U2dEQ3RyN0NPMFJHZVljNGJm?=
 =?utf-8?B?ekF6Y1dFOGZFajRjMnVIbzl5c1gzK1R2SUdYWCttN2Q0am5WKzZMVFFVNmhX?=
 =?utf-8?B?Wnh5OU5TeDB2dngxa3ViK3dNZENkU1BvbVgvZ0JXMTl3V3lQbkEyNlo3Nitv?=
 =?utf-8?B?WXRwYlZwZWVXTmppeGVERTZoUnRPR1J3Z1lRMXNxbU5Ub1M0ek9jTWpWUkFW?=
 =?utf-8?B?NnVodzhqTmpxcUphb1hQaXJVMXdLY2srVmRKVFVZRTV4dXNXOTEvbUtyejB0?=
 =?utf-8?B?azlBdGhhVm1tbmRZdWcvcTVGSEMzWGNxbzJmSWJXVWVzeEI3QmxpclU0UG9P?=
 =?utf-8?B?SVlIQjVjQzN3K3dJeVZCT0J2ekFqZXRYaXdDaVNFa1JMV1d2VitTQXlpM2RO?=
 =?utf-8?B?SU9ySk8rTEE2aWpaN2hYcy81aC9pMHZVQlVxU0pQTkRiOTlMKzJubjdjNnZO?=
 =?utf-8?B?MGVSUkU5TU1Fc25Ea1FmcldIV3lKUWFaT0dPcVArZEZVYnBVeFdVam9GbHJq?=
 =?utf-8?B?ODN1TUl5S3JKYUk4T2phVnZQbCt5Y0t3blprQXhza1JpMk5sb1VEZUErZUp4?=
 =?utf-8?Q?oF6UPQTe7ucXA4eF0pKZBRVMl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4219c0c8-6f23-4cac-9907-08db260fb4d7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 11:15:10.4856
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: r+82hhagk+ckD05WsA0dX+tOomGlLfHpWVbbe5L6zgZDD1fdsPJsTtxxa/TYkwsnxvopsvUyseMyZ//9adDuEA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9647

On 16.03.2023 12:00, Roger Pau Monné wrote:
> On Thu, Mar 16, 2023 at 11:45:47AM +0100, Jan Beulich wrote:
>> On 16.03.2023 11:32, Roger Pau Monne wrote:
>>> --- a/arch/x86/include/asm/xen/hypervisor.h
>>> +++ b/arch/x86/include/asm/xen/hypervisor.h
>>> @@ -63,4 +63,14 @@ void __init xen_pvh_init(struct boot_params *boot_params);
>>>  void __init mem_map_via_hcall(struct boot_params *boot_params_p);
>>>  #endif
>>>  
>>> +#ifdef CONFIG_XEN_DOM0
>>
>> Shouldn't you also check CONFIG_X86 here, seeing the condition for when
>> pcpu.c would be built?
> 
> It's in a x86 specific header, so that's enough I think? (note the
> path of the header)

Oh, of course I should have paid attention - I'm sorry. (Then again it's
not really logical to live in an arch-dependent header, as the same would
be needed elsewhere with ACPI.)

>> Additionally CONFIG_ACPI may want checking, which
>> - taken together - would amount to checking CONFIG_XEN_ACPI. (For which
>> in turn I find odd that it will also be engaged when !DOM0.)
> 
> Hm, is it worth making the acpi_id field in struct pcpu or helper
> conditional to CONFIG_ACPI? It's just data fetched from Xen so it
> doesn't depend on any of the ACPI functionality in Linux.
> 
> IMO I don't think it's worth the extra ifdefs.

I didn't mean to suggest #ifdef for the new struct field. But the helper
is of no use without ACPI.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 11:23:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 11:23:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510507.788272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pclhV-0002as-Nx; Thu, 16 Mar 2023 11:23:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510507.788272; Thu, 16 Mar 2023 11: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 1pclhV-0002al-LI; Thu, 16 Mar 2023 11:23:17 +0000
Received: by outflank-mailman (input) for mailman id 510507;
 Thu, 16 Mar 2023 11:23: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=umpT=7I=citrix.com=prvs=432886d25=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pclhU-0002af-RB
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 11:23:16 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef053684-c3ec-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 12:23: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: ef053684-c3ec-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678965793;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=8GVO48z9UwW7GijtGJgBinJL/FvYBdQtV+/UxHAj0cI=;
  b=gL1ZgpGJjsm9AYj5qCtCaVBlEd/PoYqyVOH1xu+ChkGlK+7f2gDTHG37
   KqPFuv1GqvrXJpw4B/3CiuDq76BhB0CSHFLhtJR0Yy3cUksUX9GgkorqN
   e2gFb5Myob5Q9CPd2JobNkLmn3H62QDQNdMpubuQqfnwQ16mLA99o9ncM
   M=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103516252
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:sidvT6Kk1zWEUAxMFE+R+ZUlxSXFcZb7ZxGr2PjKsXjdYENS3zNSz
 WIeUD+Fa/vfY2ejfdxwbdy18UJS7ZOBzINrTVBlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QVgPa4jUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c57Kjp0y
 9EobwsTMD/bjr+I75/qDctz05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWleG0hn75YntApUicv6Yf6GnP1g1hlrPqNbI5f/TTHZ4IxxjC+
 ziuE2LRUiBCD/nC5zC/2WOcpM/etiD/AKAbG+jtnhJtqALKnTFCYPEMbnO+qOO8g1SzWPpeL
 VIV4SskqaUu9E2tQcL5Vhf+q3mB1jYVQ9dKGvc2wB2MwKHTpQ2eAwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxRutPQAFIGlEYjULJTbp+PG6/tt11EiWCI8+Tujs1Iad9SzML
 y6ioANlvYs+vYkwyfuUpVmavR2B99/rUVtgjunIZV6N4gR8bY+jQoWn71nH8PpNRLqkokm9U
 GsswJbHsr1XZX2ZvGnUGbhWQun1jxqQGGeE6WODCaXN4NhEF5SLWYlLqA9zK05yWirvUW+4O
 RSD0e+9CXI6AZdLUUOVS9jsYyjJ5fK6fTgAahwzRosmX3SJXFXblByCnGbJt4wXrGAikLskJ
 bCQetu2AHARBMxPlWTpF7ZFjOJyl31jmws/oKwXKDz2uYdymVbPEetVWLdwRrlRAFy4TPX9r
 I8EapriJ+R3W+zieCjHmbMuwaQxBSFjX/je8pUHHtNv1yI6QAnN/deNm+J+E2Gk9owJ/tr1E
 oaVBxIClAam1SacQehIA1g6AI7SsV9EhSpTFUQR0ZyAghDPva7HAH8jSqYK
IronPort-HdrOrdr: A9a23:a0tBPa8VpO8sriPXjrNuk+AcI+orL9Y04lQ7vn2ZKSY5TiX4rb
 HKoB1/73XJYVkqN03I9ervBEDiewK/yXcW2+ks1N6ZNWGLhILBFupfBODZsl7d8kPFl9K01c
 1bAtJD4N+bNykGsS4tijPIb+rJw7O8gd+Vbf+19QYIcenzAZsQlzuQDGygYypLbTgDP7UVPr
 yG6PFKojKxEE5nFfhSVhE+Lo7+T8SgruOeXSI7
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="103516252"
Date: Thu, 16 Mar 2023 11:23:01 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Marek
 =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 1/7] tools/python: Drop pylintrc
Message-ID: <45cc32f5-5b10-41e0-8489-df3cce8d9e78@perard>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
 <20230314141520.3652451-2-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230314141520.3652451-2-andrew.cooper3@citrix.com>

On Tue, Mar 14, 2023 at 02:15:14PM +0000, Andrew Cooper wrote:
> This was added in 2004 in c/s b7d4a69f0ccb5 and has never been referenced
> since.  Given the the commit message of simply "Added .", it was quite
> possibly a mistake in the first place.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Well, "pylintrc" seems to be a config file to be used by `pylint`, but
there's also no reference to it. So removing the file seems a good
option.

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 11:26:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 11:26:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510509.788283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pclkd-0003BJ-7Z; Thu, 16 Mar 2023 11:26:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510509.788283; Thu, 16 Mar 2023 11: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 1pclkd-0003BC-43; Thu, 16 Mar 2023 11:26:31 +0000
Received: by outflank-mailman (input) for mailman id 510509;
 Thu, 16 Mar 2023 11: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pclkc-0003B4-C3
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 11:26:30 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20625.outbound.protection.outlook.com
 [2a01:111:f400:fe13::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63f2a258-c3ed-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 12:26:27 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7643.eurprd04.prod.outlook.com (2603:10a6:10:203::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Thu, 16 Mar
 2023 11:26:25 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 11:26: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: 63f2a258-c3ed-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DEJCqmcbDFc2vJ4XCzNmEM6HtZuXda+Yv6iHTAy6ca/SBN+OGnhPzGA2xjdEWQbGK62I3dpCX1JPt6cgMw0L5VisY7EjwVwQnlreSV+8h/4U50ZcJSowa0+IQPg5HHym61Hz7RTGi0bYJTUSfkwqmul6gDjFjI4Czjik98Pqj2DViX/yXZAgcyv0CjgAdbGC08SrA1YCn7Ht6xrvpyT/ML8xGaJnk5c0mTA93NLVdjcJcdiWRiZWespmPDvw4f5jWcgMskOONuGj3G6UNUVGyMEbzn8loiUAQy+CmeRi2Mi0d9Mq6aOjvIhMuTK+XK7Kahmu6w3nIyWz4yzy+od6Fw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AaFHe/zOhriWhMbWmd8NhIbqt0G1Z5l6sYvcGLcs6rw=;
 b=e5QBBT8sj1ovxvwZiB9x6iSnmoE171PwA7g5AHdZEkQ4hpVXLqP6xgtr2yyZ+tY925TdubMGnq7/fDB30YPXJK4ctGbcOOx1+Cmo/PPnwkd41B7ZSPDPQ8s3eXDfWzMWEWsTSA6MF6oSBis/mrqmAEbrZQ1/1xHiCwOXM1n+i2+vuUCQbpd+z4daMjWTsPX+uUZyPlR8O7uXhTfO5nLXdrvRpq14YST4X+tDBYxVn1h5ln9nk8X6/XU4V8k/KOJvJe8OuluHcXmUCeY3uwLVJacPBVHZyFIAYkeaLqz/4iCRMPdGfka6iouY8HQdQtVcjkHdh1UdgyeJeAVUp6Y2eg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AaFHe/zOhriWhMbWmd8NhIbqt0G1Z5l6sYvcGLcs6rw=;
 b=UCC1rVSUOwmEtbKKAunf9hWcyHb24BHmNCcG4wUcCmujOX7EfJeBpXcmzELX1i9tnEF/m6FhuOyfPWBUVP8KEqDtX/cstZqhqjypWyTZBi4xeMutbmsv7NqkLJ1dnJJWpGKaPNAqbXbTrcNlTCk/62KpUg+O8BDbyTAFBk7oKNkGOU96BDGS9SYdlFrgQO0CgIYO0+Fiu7JGpHADBb8kIFP+lVrxdRR5/riasLF/6z3OARB8tooIQnZow6dTRtpb0Sw+6s7ZxQxfXNjFpfndA4/fqtFBjL/V0VyAW4bHpclJwIvzEXI2Xc5wX6Z/IlQY44mtlrazJwaEXH3DUgPPGQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3bc211fa-a8f7-70ce-bfa9-5e4380776070@suse.com>
Date: Thu, 16 Mar 2023 12:26:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v8 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
 <2afad972cd8da98dcb0ba509ba29ff239dc47cd0.1678900513.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2afad972cd8da98dcb0ba509ba29ff239dc47cd0.1678900513.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0054.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7643:EE_
X-MS-Office365-Filtering-Correlation-Id: af726aaa-d39b-427c-ff36-08db26114719
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EbArTH+itabRBhAxvo+BjlbVzmDUGh+1boggugPNHYc4v0qHYvdakw0kc6rf30MdhpnUay7OnrlaP4EBKZSh7OapFaQwwOez4TsR22Mb0VWZNvH4M8BfyDDSBHt4/NRU4qtzGOUK6gJZwyH9RZkw9qpZ4SZkTl9Joqz/mA6rCv+pMLtu2EBv0x31y+pkPtfBILAPtElxoe6442ggfJmioRGxVfGQtNPywYv8DGetfaJeGEMeVYkj6+PtvLG+qQ70WEx+2yNy12t72yR2vkxwzJ89EjmiTsmOzxP9HwFoB/bzLcLwWjG9IJSlvyKyB+15h48xmmno6ihdRSQhqjUdru8tQJVN5tAFBOoYRPuhPQn1ZGkPTWAtxaluIvLWWOUpxC/ql85jMR4RqpnAooJx9BVL5cMZFe4yGMHRvGL4lgSaE+7rU3OmSZ/XojfSHqRDsfjNiDt+AJ08Xmt8xtK9379A4ksh8c+EsDjl5WdtkxgXsPUtaVs/W25fEc8JxGFP5OTKJyTcoFjGB+5pGfwxUYy+uB4/Iqb2w3Svtq8Jekmwa5y4qfL4eTQiMfFTWAtGXEbdRzBICflDtf4AtanNPL/ApAbHOa4Aw0WrCs3RJqvj6X+HqGNqCHbdSAx9U/RhVEASFAWsgDLU4ifKfg5/RCUbA3A85Djivj9tRVVtbDWr0iDTdx02vvwuB146vv81OoGJgZ7IyfSNQiAegYZ7UzxD9zxe+T1KcrjKjMYzNkVJmutlf6gt3k+xtx3lhkhQ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(39860400002)(376002)(396003)(366004)(346002)(451199018)(36756003)(38100700002)(31696002)(2906002)(8936002)(41300700001)(86362001)(5660300002)(4326008)(6506007)(2616005)(6512007)(26005)(53546011)(54906003)(316002)(186003)(66476007)(6486002)(66946007)(6916009)(478600001)(8676002)(66556008)(31686004)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N0NMMVBaTHpWR2tCS0hoYm1jak1LSGdyRXVqWDlMSkpFWDRKN0JWOXdSSnVJ?=
 =?utf-8?B?dlFyR3BidjE3Y2Fwd2l4d3JiMlE5aUtYZXk4eWg4UDZURVVJcmZDRWZBVmcw?=
 =?utf-8?B?WExVbFQra1ZmRUcya3IzejVLMzQ4VlFTN1JmRGMrakkrTXhXYzlSc2ZudTdR?=
 =?utf-8?B?WUpZMjM4cTBQOGJSSFRGeVRXNjdaMVV3VS9oZ3d6NUhMTFNFWVkweXcwK3JJ?=
 =?utf-8?B?NllDZmV5TXc1ajE4UGErYW5DRW5jZGkrNFRielZ1QkVpakhTeXJaWGdUbGhk?=
 =?utf-8?B?ZTk2NHZUYndiNEtydEpya254MUhhM1B4Z0dDeDNsd0srL2psRW40RThpOS81?=
 =?utf-8?B?TnJYTFJGTURNR2dXSEViTElhdzAxUTViT2pXWTJUSjNHSUhLMi9LTG95bnha?=
 =?utf-8?B?SDcvRHIzZmRhMVlvelJKK1l5Um9HVVhVcTRyZnRweEVnWjNHVFV2V1JpTmpO?=
 =?utf-8?B?eitubm45T1JhaFlXNzhwcGFEcER1bVlmZGVlOXVOUUNHYVlsZ1pWbEYweW9B?=
 =?utf-8?B?emFiY1hhRU9BWVo1b1cva0JST1lWcG1MVFg1d05nOUNkK0M4d0lwaXRvNXpn?=
 =?utf-8?B?UlJTRXNlNXZYR1FPcHZya0UzbHVQOVkxQzR3RzI2OW9JQmJJV1FsS0ErQk81?=
 =?utf-8?B?S0hNa0d0SjNPZm5qUmJPTlVrb1VScjJid3pQZjBicW1aMHFCVlIzOWtiNkpH?=
 =?utf-8?B?TXhjWlI3TEppOTZZSjkxckFBQjQxVUVpbXYvZE9maG1OZ2NncFFGcFM0T3hN?=
 =?utf-8?B?MFhFY2tZdURJWW9FZnBMMGZZUnRBR2ozdlFrRmxTNkUxbXVRcFQ5a1dsRE1h?=
 =?utf-8?B?T0tCaGFFQ0d2VEJQOW8zUExQTGVFbGM2S3BiNEkyYW9UOExGamtBM250SWJQ?=
 =?utf-8?B?dEtzNGZ0Rm1oYTBad2FxWCtTS3lRUU9sSm1hUkViQ0Q2WjZBeDRQcldORG5H?=
 =?utf-8?B?UXpnWFgrQjZTTHFuM2xKdkIrOE5YNHd2SzhCUENBSzFlYTd3d2twWlV1Tlho?=
 =?utf-8?B?THhvd2VVUXBjTmFWTGNVdHBxZlpFeDFIS09ycG9KN3JtZXBvN3BKbndraWFu?=
 =?utf-8?B?eVdMQnF1czFNQjl2bkh5VDJBOGNCcktuY0FFS1FPZ2c0RmxaOVZVSFBLbVAv?=
 =?utf-8?B?V1R6R285SUZ4amF4aHk1YVhueWpRRko3bnp2a2xpZHhTMkNScWxNN01vZWVE?=
 =?utf-8?B?U0w2L3JhbnlWRVN1U0tQWDRRNjNRYU81c3AwL1k5NlQzUmtLVjYybnB0SGQz?=
 =?utf-8?B?cXNXaytYdTliZ2RSSXFST25vSTltRVJHelhWeUlWMncwNVhDUjNNUFVPalhu?=
 =?utf-8?B?WXZWY2R6MnJhSkEvZkRISUVuRTYvZmlNV1ZlUlFTdmkwaE9iRWFhaWovNWJh?=
 =?utf-8?B?cDFJaWFLRThFc3Z5SXYrTXZFd2FBRllxWHM5MVZpM0FDMnJlQjRuMnNlMTVO?=
 =?utf-8?B?a1E3Uzl3cUE2Q0xHeXYwcSt3dm9CU2k2WjV3ZStGWmNEUGpCeU5ObzlydXdo?=
 =?utf-8?B?TXcvUUpuWGJIUWhqZkNYTU8xMkFXQUZZOTlROUVEWTNnRDJiNUc4UDBZTlR6?=
 =?utf-8?B?MmNQcm9UVll6dUxIZ1BBcFpmSS95YitLQmdLVnJXa3lNTlRES0xFTXRscEJI?=
 =?utf-8?B?bTFlZFBJV09IeHVCSC9kM2kvTGVvbFgwNDJVUFd6dGFhL3hhNjFwTUZpbE5B?=
 =?utf-8?B?bjJ1UExVL2xnRG1zRWhyNTVsSUptaG5kWGEyM2NiSVlBWDFObnUwUFh5ZlN3?=
 =?utf-8?B?MzdJem1RbnNGZjFFTURHSE5ScGJiL213dFVoYThrMk5HejNBaUlmTFdmWkNW?=
 =?utf-8?B?VWNPaXo3K3RyQXI0RnhjTUE2bE85WVY4NWRJcEVjZ0xRSFBMbi9FWTdQZzZj?=
 =?utf-8?B?Wkw5KzVCWURFa0ZZOFlxQ0h1T0dkTTVUamNiMkZKOUNjRzU1WjdqWW1kaEs3?=
 =?utf-8?B?MkpwWEpkYUNxUVZ3TGV6MkM0Y3h0TDRVb25jM2o1MDlNM2lIRFVndlgyTFEr?=
 =?utf-8?B?dks2c21VWDZoZGM3T3N3STdSZ2l2VnZpaVZXL0xPclhVbWFiYmJmNkJBbVV5?=
 =?utf-8?B?RE9yV2hRZmU3VmVaMElYWUtxSHkzVXpFYWZXQzk3R0ZsVEFZdU9QQ2F5bTJ1?=
 =?utf-8?Q?MlbAzoLR0szW9XbneT5exzUs5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: af726aaa-d39b-427c-ff36-08db26114719
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 11:26:25.3648
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zWW0dq+DS0MdZhwqRaAaMLCZyjXA+t6uQiXCN0LeqOU40/iaQBJCvSFLxhnhge0EUVXbadMtTxmyK9+lThDZLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7643

On 15.03.2023 18:21, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/common/bug.c
> @@ -0,0 +1,108 @@
> +#include <xen/bug.h>
> +#include <xen/debugger.h>
> +#include <xen/errno.h>
> +#include <xen/kernel.h>
> +#include <xen/livepatch.h>
> +#include <xen/string.h>
> +#include <xen/types.h>
> +#include <xen/virtual_region.h>
> +
> +#include <asm/processor.h>

I actually meant to also ask: What is this needed for? Glancing over the
code ...

> +/*
> + * Returns a negative value in case of an error otherwise
> + * BUGFRAME_{run_fn, warn, bug, assert}
> + */
> +int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
> +{
> +    const struct bug_frame *bug = NULL;
> +    const struct virtual_region *region;
> +    const char *prefix = "", *filename, *predicate;
> +    unsigned long fixup;
> +    unsigned int id, lineno;
> +
> +    region = find_text_region(pc);
> +    if ( !region )
> +        return -EINVAL;
> +
> +    for ( id = 0; id < BUGFRAME_NR; id++ )
> +    {
> +        const struct bug_frame *b;
> +        size_t i;
> +
> +        for ( i = 0, b = region->frame[id].bugs;
> +              i < region->frame[id].n_bugs; b++, i++ )
> +        {
> +            if ( bug_loc(b) == pc )
> +            {
> +                bug = b;
> +                goto found;
> +            }
> +        }
> +    }
> +
> + found:
> +    if ( !bug )
> +        return -ENOENT;
> +
> +    if ( id == BUGFRAME_run_fn )
> +    {
> +        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
> +
> +        fn(regs);
> +
> +        /* Re-enforce consistent types, because of the casts involved. */
> +        if ( false )
> +            run_in_exception_handler(fn);
> +
> +        return id;
> +    }
> +
> +    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
> +    filename = bug_ptr(bug);
> +    if ( !is_kernel(filename) && !is_patch(filename) )
> +        return -EINVAL;
> +    fixup = strlen(filename);
> +    if ( fixup > 50 )
> +    {
> +        filename += fixup - 47;
> +        prefix = "...";
> +    }
> +    lineno = bug_line(bug);
> +
> +    switch ( id )
> +    {
> +    case BUGFRAME_warn:
> +        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
> +        show_execution_state(regs);
> +
> +        break;
> +
> +    case BUGFRAME_bug:
> +        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
> +
> +        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
> +            break;
> +
> +        show_execution_state(regs);
> +        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
> +
> +    case BUGFRAME_assert:
> +        /* ASSERT: decode the predicate string pointer. */
> +        predicate = bug_msg(bug);
> +        if ( !is_kernel(predicate) && !is_patch(predicate) )
> +            predicate = "<unknown>";
> +
> +        printk("Assertion '%s' failed at %s%s:%d\n",
> +               predicate, prefix, filename, lineno);
> +
> +        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
> +            break;
> +
> +        show_execution_state(regs);
> +        panic("Assertion '%s' failed at %s%s:%d\n",
> +              predicate, prefix, filename, lineno);
> +    }
> +
> +    return id;
> +}

... I can't really spot what it might be that comes from that header.
Oh, on the N+1st run I've spotted it - it's show_execution_state().
The declaration of which, already being used from common code ahead
of this series, should imo be moved to a common header. I guess I'll
make yet another patch ...

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 11:34:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 11:34:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510513.788293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pclrs-0004vA-3X; Thu, 16 Mar 2023 11:34:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510513.788293; Thu, 16 Mar 2023 11:34:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pclrs-0004v3-01; Thu, 16 Mar 2023 11:34:00 +0000
Received: by outflank-mailman (input) for mailman id 510513;
 Thu, 16 Mar 2023 11:33:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=umpT=7I=citrix.com=prvs=432886d25=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pclrq-0004uh-2B
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 11:33: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 6b62c5d4-c3ee-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 12: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: 6b62c5d4-c3ee-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678966431;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=X1URzkswAEZcD6haH8aEYglskAs5oo4hbJI/AJvXdng=;
  b=OQ+MI3ewiUjhaO6lBfbcPI8NG+/quxPb5YvkJZYtJH1FCFnfMNAoNujz
   e60EFwmXqf4rziYRmrwbc4u7Z8VyvFWzQ6p9A9OCx+qB385QvIXGld+tS
   2CsBekVlq/gieGtgiSKdG/VtqOnKlbllWyIKVr4CEwyCI24VqY6hRVErg
   o=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 101511278
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:57oUZa3nsdDBvnNN9/bD5ftxkn2cJEfYwER7XKvMYLTBsI5bpzYEz
 2MXDz3SbPiONjH2fNsnbIS0o0xQsJTQzIQxHlA6pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdnO6gV1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfEF4W9
 K02ax03Yy+F38OG7rWCbsJDv5F2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKk2aOHWjOX9OYH46tO6umnn4dSwesF+PrLA7y2PS0BZwwP7mN9+9ltmiHJ0Mwx/B/
 D2Wl4j/Kg8GL/iexxC4yy6HqPaMm3KjQqdRJZTto5aGh3XMnzdOWXX6T2CTpPCjj0ekVtF3K
 koK+zEvp6w/6EyqSNbmWxSy5nWDu3Y0UsJdCeQg5CmRy6Df5ECSAW1sZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluaJiw9PWIEIygeQmM4D8LL+d9pyEiVF5A6TfDz14eucd3t/
 9yUhDkB37RCo40m7aiE+wjmsxyrn7ziYTdgs207QVmZxg9+YYekYamh5l7a8etMIe6lc7WRg
 JQXs5PAtb5TVPlhgATIGbxQR+/xu55pJRWG2TZS848dGyNBEpJJVaRZ+3lAKUhgKa7okhe5M
 RaI6Wu9CHK+VUZGjJObgarrVqzGLoC6T7wJs8w4ifIfCqWdjCfdoElTibe4hggBanQEn6AlI
 ou8es2xF3scAqkP5GPoGLdMieJ2n3FjmD27qXXHI/OPgNKjiIO9E+9ZYDNikMhghE97nOkl2
 4kGbJbbo/mueOb/fjPW4eYuELz+FlBiXcqeg5UOJoa+zv9ORDlJ5wn5nelwJOSIXs19yo/1w
 51KchIFkgaj3C2ccm1nqBlLMdvSYHq2llpjVQREALpi8yJLjVqHhEvHS6YKQA==
IronPort-HdrOrdr: A9a23:QWMMmqCty7cw5tblHemT55DYdb4zR+YMi2TDGXoBMCC9E/bo7/
 xG+c5w6faaskd1ZJhNo6HjBEDEewK+yXcX2+gs1NWZLW3bUQKTRekI0WKh+V3d8kbFh4lgPM
 lbAs5D4R7LYWSST/yW3OB1KbkdKRC8npyVuQ==
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101511278"
Date: Thu, 16 Mar 2023 11:33:44 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Marek
 =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 2/7] tools/misc: Drop xencons
Message-ID: <f82630fc-0a45-48f3-aafb-6b96af287652@perard>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
 <20230314141520.3652451-3-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230314141520.3652451-3-andrew.cooper3@citrix.com>

On Tue, Mar 14, 2023 at 02:15:15PM +0000, Andrew Cooper wrote:
> This is a python script which has it's shebang modified by be python3, but
> was never converted to be python3 compatible.

Not quite, that's the original shebang ;-)

> The most recent reference I can find to this script (which isn't incidental
> adjustments in the makefile) is from the Xen book, fileish 561e30b80402 which
> says
> 
>   %% <snip>  Alternatively, if the
>   %% Xen machine is connected to a serial-port server then we supply a
>   %% dumb TCP terminal client, {\tt xencons}.
> 
> So this a not-invented-here version of telnet.  Delete it.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 11:36:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 11:36:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510515.788303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pclti-0005UL-Ey; Thu, 16 Mar 2023 11:35:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510515.788303; Thu, 16 Mar 2023 11:35:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pclti-0005UE-BX; Thu, 16 Mar 2023 11:35:54 +0000
Received: by outflank-mailman (input) for mailman id 510515;
 Thu, 16 Mar 2023 11:35: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=umpT=7I=citrix.com=prvs=432886d25=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pclti-0005U8-1N
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 11:35:54 +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 b3aeb058-c3ee-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 12:35: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: b3aeb058-c3ee-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678966549;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=2aA8tsM2iQ2Zufmz3L7Neqxr4AWdysStMy4tiG/4m4g=;
  b=WpfbFYBOQZqFJk59UgB71b9xjh5ixskhncpUECfJAehGT3slhkwuI1dF
   Tw6WmOBOnPvPueUSXchroAP8QDyY4/y4vYdyqsGU1pONvL8Guk4SPBimL
   FlrIi1RqIiPHjjQ78nDZ0+s3cCpY9FQDnAliFJu2UPQvRptmbVG4yYtDu
   U=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 101511473
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:ScINL66zgG985+KZqg6tjgxRtBPHchMFZxGqfqrLsTDasY5as4F+v
 mMWWmyOPfyJMGejcop1Ot6/oB8G75CDyIdjGlBk/iFmHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS4geA/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5mx
 PM6chRTRTG/mv+0n6uVZNdloN4DI5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrnD5bz1frkPTvact6nLf5AdwzKLsIJzefdniqcB9xx7B+
 zufozuiav0cHISt1ACL8FOPv8DonhnBc6tODZKk5OE/1TV/wURMUUZLBDNXu8KRj0ekXttFJ
 k88+ywwrLMz/kimUtn8WRKjpHeO+BUbXrJ4GvU38giXxoLI4gySAS4PSTspQMwrsoo6SCIn0
 neNnsj1Hnp/vbuNU3Wf+7yI6zSoNkA9MmsqdSICCwwf7LHeTJob10yVCIw5Sejs04OzQGurq
 9yXkMQgr4Qcr5QviY6awU3agW21iLb3RygvxgqCCwpJ8ThFTIKiYoWp733S4vBBMJuVQzG9g
 ZQUpySNxLtQVM/QzURhVM1IRej0vKjdbFUwlHY1R/EcGyKRF2lPlGy6yBV3Pw9XP8kNYlcFi
 2eD6FoKtPe/0JZHBJKbgr5d6exwkMAM9vy/DJg4i+aihbAgHDJrBAk0OSatM5nFySDAa50XN
 5aBatqLBn0HE6lhxzfeb75Dju96nn1jnDKOGM6TI/GbPV22NRaopUotagPSPojVEovdyOkqz
 zqvH5TTkEgOOAEPSiLW7ZQSPTg3EJTPPriv85Y/XrfacmJb9JQJV6e5LUUJJ9Y0wMy4V47go
 hmAZ6Ov4Aei3yGbcFXRMRiOqtrHBP5CkJ7yBgR0VX7A5pTpSdzwhEvDX/PbpYUaydE=
IronPort-HdrOrdr: A9a23:nhHnaK3zyeEkXwk6NJw7egqjBI0kLtp133Aq2lEZdPWaSL3gqy
 nOpoVi6faQslwssR4b6LW90cW7MBHhHNtOkOos1NSZPTUO2lHYSL2KhLGKq1bd8m/FltK1vp
 0QFJSWZueAa2SSTvyX3OB7KbsdKRW8n5xATN2x80tQ
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101511473"
Date: Thu, 16 Mar 2023 11:35:34 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Marek
 =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 3/7] tools: Delete trailing whitespace in python scripts
Message-ID: <79f8fca5-4468-42d8-9a9f-0ed7145ad0e6@perard>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
 <20230314141520.3652451-4-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230314141520.3652451-4-andrew.cooper3@citrix.com>

On Tue, Mar 14, 2023 at 02:15:16PM +0000, Andrew Cooper wrote:
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 11:39:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 11:39:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510517.788313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pclx5-0006K4-UN; Thu, 16 Mar 2023 11:39:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510517.788313; Thu, 16 Mar 2023 11: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 1pclx5-0006Jx-RS; Thu, 16 Mar 2023 11:39:23 +0000
Received: by outflank-mailman (input) for mailman id 510517;
 Thu, 16 Mar 2023 11: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=umpT=7I=citrix.com=prvs=432886d25=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pclx4-0006Jr-T2
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 11:39:22 +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 3031e20c-c3ef-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 12:39: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: 3031e20c-c3ef-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678966758;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=J6/FxWJn/VbWstuu90dsOxrq3W6RMkMbs1pdyvH/iD8=;
  b=Oe/gVUOy3pb15CPb17DY6ZGqrODLn1wCypCz/gVgOHWOE/dvIDaTIozf
   hTSbpdpvt08G5B0RmouGGbIh6zWgXhG9T3FwvqfCGhkjD1oe9L4xXJ0mQ
   bTpccC2ygU826msq482n170Zb0ol4VlO7f790f8Mfwi8X8n3LMRTPoiSM
   Q=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 101511824
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:KtxbD6LyigxjewtUFE+R+ZUlxSXFcZb7ZxGr2PjKsXjdYENS3zdWm
 2tLCzzVb/feYDf3f9pwaYW08k0O6JHczYVmSQtlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QVgPa4jUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4rWk9py
 qxbFAoQUT2iu8im4+KiY+tV05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWleG0hn75YntApUicv6Yf6GnP1g1hlrPqNbI5f/TTHZwIxx/I/
 D6uE2LRDU5CPfe+9gC81TGNlt7FonzESaUVLejtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHslgEYc8pdFas98g7l4q/d+QOQHGUHZj9Hdt09tcUySCAq1
 1mGhNfgD3pkt7j9YXuF+62dtz+aJSkfJmhEbigBJTbp+PG6/tt11EiWCI8+Tujs1Iad9SzML
 y6i8HMQoIpDzvIxypqW3GztkxH8v7HLd1tgjunIZV6N4gR8bY+jQoWn71nH8PpNRLqkokm9U
 GsswJbHsr1XZX2ZvGnUGbhWQun1jxqQGGeE6WODCaXN4NhEF5SLWYlLqA9zK05yWirvUW+4O
 RSD0e+9CXI6AZdLUUOVS9jsYyjJ5fK6fTgAahwzRosmX3SJXFXblByCnGbJt4wXrGAikLskJ
 bCQetu2AHARBMxPlWTpF7ZFjOJyl31jmws/oKwXKDz2uYdymVbPEetVWLdwRrlRAFy4TPX9r
 I8EapriJ+R3W+zieCjHmbMuwaQxBSFjX/je8pUHHtNv1yI6QAnN/deNm+J+E2Gk9owJ/tr1E
 oaVBxIClAam1SacQehIA1g6AI7SsV9EhSpTFUQR0ZyAgBDPva7HAH8jSqYK
IronPort-HdrOrdr: A9a23:RQLTgazIfQgZCFKWIPd4KrPw6L1zdoMgy1knxilNoHxuH/Bw9v
 re+cjzsCWftN9/Yh4dcLy7VpVoIkmsl6Kdg7NwAV7KZmCP1FdARLsI0WKI+UyCJ8SRzI9gPa
 cLSdkFNDXzZ2IK8PoTNmODYqodKNrsytHWuQ/HpU0dKT2D88tbnn9E4gDwKDwQeCB2QaAXOb
 C7/cR9qz+paR0sH7+G7ilsZZmkmzXT/qiWGCI7Ow==
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101511824"
Date: Thu, 16 Mar 2023 11:39:09 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Marek
 =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 4/7] tools/pygrub: Factor out common setup.py parts
Message-ID: <9783cc2a-84fc-4af1-a483-a954065a3001@perard>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
 <20230314141520.3652451-5-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230314141520.3652451-5-andrew.cooper3@citrix.com>

On Tue, Mar 14, 2023 at 02:15:17PM +0000, Andrew Cooper wrote:
> ... to mirror the tools/python side in c/s 2b8314a3c354.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 11:55:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 11:55:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510519.788322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmCW-0000Xm-9F; Thu, 16 Mar 2023 11:55:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510519.788322; Thu, 16 Mar 2023 11: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 1pcmCW-0000Xf-6a; Thu, 16 Mar 2023 11:55:20 +0000
Received: by outflank-mailman (input) for mailman id 510519;
 Thu, 16 Mar 2023 11: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcmCV-0000XS-10
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 11:55:19 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20602.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ab783a0-c3f1-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 12:55:17 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8863.eurprd04.prod.outlook.com (2603:10a6:102:20e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 11:55:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 11: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: 6ab783a0-c3f1-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DUPusq/+BfYujWs1RANMiLqZ2sW6xDi7EQSXI8yISKNnXFHy7PL6vJaAUwDU0+ClnUdKFIxNOHntSvL3rtoC+colamVAkxNnIWq9dJnXalZm2P+awEgq1rOfWA/Vq+YF0H3dTqIWwLvpJUpxjiSERDinM4OPYebNtz2BP3AMmdBpdtiOcrn0Z8cirGLvs2nG2GYAyaNzNZEkcuanMx0QJygy+8BLSlQcF4MOCxHY3JEK0n+E5vRsB+lGLyGYy/7lrmTHRlSI/ahJETcG5UtLrNah9pxccWU8SCmYhdTil9lU/tHceFMdexHX42/+WfEBkrwXiQPNVNLDETxTtXE9yA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dGnmrU/GN0A5AfAnkaSaGxPWEurVOv/cP25RS/1DKKQ=;
 b=jHNAAXjWSc/A8VHLouBiGhLfQT0bZA7z45TjFSzH7StkfzZi+90N9dtogj70iqjr6unF06TJxEnFRglXoeYMvAu25oOfHFqVqv70pnFqqLMO/LseOuoSci3eyYJp9ovlqPZ2wVnQF1+CpzsMb4v5GKHYB2CTP+N1gL/CyFKqdhgruPXFKdmoeRNwLRaaHNmggM8mG4S2GMK9a8W99iPywnwx6GvKr+3Rg8+/ZCLGuX7yHxDxqSstMRt5/v7/Ff38OTBqPO5VqyHa4fNuLfDQo0skrN+jQMRk4MRf5rFUYFcKYX+VUxw+cotvh1rMzUsDo8wGTvnMCKt8jzrT36AYVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dGnmrU/GN0A5AfAnkaSaGxPWEurVOv/cP25RS/1DKKQ=;
 b=vlZdRfLsSfoVbMmfNxHRCgrutdTxaiPjPK7HHBv0igidHIAw/MTO8j+xj8OwWx0tkW9Pkd79MhTaa9NIr9EcCvE54JyTLoD0szl7Z1VgXQaOp2ijgH+crSmjS7TUZsW1e6apEWWTbY2C4uzGl3twoHdUg6a8QoYDptdH5WKowIcdLfPf3DwWszBWNSDUYDgtIBjKxq8vh31FYHmDuKo/uSd9+uNdSf5MTOaJfg5P69kpnrb0T6SjsDKuAy2bEyyD4PhlmmecfSOA4W+vzATidtdJCFhxcYyDCRFXRoosEpCNqkvCf6pc7KHs3erskhemt7ZadXCpl3xXHH9kYSkR3w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fc2156d8-76d7-b6d2-3d39-266dbbf4a0fb@suse.com>
Date: Thu, 16 Mar 2023 12:55:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] move {,vcpu_}show_execution_state() declarations to common
 header
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0040.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8863:EE_
X-MS-Office365-Filtering-Correlation-Id: c03f3207-9fb4-4679-fa03-08db26154db3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	o71YJRoyVv0mDqxe3Fc36F2wk02luTVInxF/DS7THciIwH1BvWITz8RSNmyY7kRpH0jMeFruI5ql6okPfQmxOZwqVuPfkF147MBLpv3I9HkOZfzt+4H4VH+sy6T+PVeeAjKSGhwanZHyQjQkzde9WQz0xfpCgVT18QRaGsMNUOHbJ3HK9hUa74KSNJZ9LjNyotktT0lMAUUNgS2CGstnw7KOkl4oSYLiINzvZTVnDTNGHW2ag+8xVe8r2yShzbaGMRUul7z/g4ek9Oni+inMP+mbA4tAfi7m3BWMju2sg2960jKdr6NvaplKHV+95+wm+6sQXtaXUgsx7rh5GXcb+Tt5oBMI17mer0NBsVYkQRG/H55Nhqm8Hm7MrNV12oTrdeO2+XhHJiHb064EPpPfwyd5tNUm3/ZQlcepJL5aq9ED0JYsv+z2biSgPE0APKLUmQlOgj9YYufvN9IPLwV/dOsWQN9YE4dcXP73VmdVKROYVuUVP9H5crf/GMpICXois8HEmDFL3oB7l9yzlJHzrdrIzAAhB0jrLvVXw/CyvCBlc7Z+EPVDtQzEv7BLNND03w57YkcncaZzRVJG+iM0bk9pZxYD+OR61WoC/QJO6MDJbu2FUzPInip60A/rKHM33BqczPGv6Kr4Wvk4RpPikUJPWGTzyNse8SJ6lSw4xyTTT18Ez25eZnMzaPhNUXkoGGIeZKg1ImRzoEa2Ip9v8kw6mzM3Z7K8LfI+Ryl4aWc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199018)(31686004)(8936002)(36756003)(4326008)(41300700001)(7416002)(5660300002)(31696002)(86362001)(38100700002)(2906002)(478600001)(8676002)(66556008)(66476007)(66946007)(6486002)(6916009)(54906003)(316002)(26005)(2616005)(186003)(83380400001)(6512007)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bG5EbjRpWUpRdnZ2aHNOQml4eW9PN2pJeXZhVUU4WkQ0T2N1ZVM1VDJSbnV4?=
 =?utf-8?B?TEhCUlZyYllONWY0RTgxcDNNY0dQd0VkTVlGaTNDY1IxMEE4U1MzMUROVGlW?=
 =?utf-8?B?TC9nNzJ1QUFOaDVab0ZEb3F6SmhOenhUWEFSRHZDb1ZHTVIxdFhrZHJzK0p2?=
 =?utf-8?B?QnVoMDZWaENMMUNSWEx0dENkWWlmZXVBbFIyOVBLSG4wemQ3OThrUW56NVFU?=
 =?utf-8?B?UW1aN2ZBbm0vaG9ZcmtpWU0xd0RlVW1VdW5pWEF3WWxVMGNDWlp1SE5SMVRu?=
 =?utf-8?B?TkhPbmxIaHhYLzZOcnh1blFJS1BZbFNrbnU1bzFlQXBHV2oveVIweXhQRHd0?=
 =?utf-8?B?bmp4UGZRT1FDdEJVOWl3aUlJK0VWRkFTWlA2dk5jeG5CV01TQkJpdWs5c2l1?=
 =?utf-8?B?QUk0OXFjUFI1SDhRa0ZmOXlndElOZnoxbHMwb3N1U045VUE1RVhvMlFDQTJj?=
 =?utf-8?B?L0hITWgwaHNyVXJnamI4dkgvek9qODlxRFpIcDQ5YkdwV3pQVXhWSjFyZWUv?=
 =?utf-8?B?RUdDeElhelZpUlZnc1l5ZzJQUVkxRWpQUCtBZWRjeEluaFNWRjEwYzE0RXNS?=
 =?utf-8?B?R09QdjcyUVM3TUJtRlJmOU83KzZXeS80aVJVaEI2akVpTE9TQWFVK3I2emdJ?=
 =?utf-8?B?RW5Ob205RmFyd0RtOHJjUHMyaFl6OW11Yi82cEgwU0xqQm95R3I3aklLVTVz?=
 =?utf-8?B?d25zcVBvdGNtZjh3Z0pEeXlVZVJUZUdPeG82MHpqUlF3WHBxV2JxakhKU1dM?=
 =?utf-8?B?cUZFeDYvVWl2T2RBcFNvR09IQWpLWDAwZVRKNXBJNVU3VW5yRlU3bjR3Z2Rr?=
 =?utf-8?B?RUVBSisvaktWY1pTMjZSVXRMa1E2Z0RsVU5vTlFRRjhMY0pjMFZkeXV3b0dC?=
 =?utf-8?B?OE00VGY4RDhuR21uWU5XdXNEb1NnYTFLZEJLSVBpM1ByQklJTE9OMGdremMz?=
 =?utf-8?B?bGhHNFIrUjNxa1RySzNEak5IMU9FNy83UVc3b0Y3eWFZN3cxM2dtVVNteXRy?=
 =?utf-8?B?K0ZyMWJGdVZBeGJzK0tMc0lhajlhcVppb3pLckF6cEFubngwekpoV0pONngx?=
 =?utf-8?B?U09qeFZqRDVralpPWi9teDZjajh5UC9XRWdGZmNMSmhHci84N3hLcFZDM1kr?=
 =?utf-8?B?dEdWRGc4MkFteUxDamNtZjgwckVzWFlVQjlILzZ2OGpyQkkrZ0E0NkEwS0c0?=
 =?utf-8?B?SlZ3NHpWZ05tQkhwMEltNHoybER4S0dHK1BlZTJQT1pNRjlFeTN1MlVNUEp0?=
 =?utf-8?B?anhKK0tUVS9OMHJ4T3VuYXkzQ0JGZ2VrRWZ3TGVjSlRySzE0Q0k1eS9jRkVP?=
 =?utf-8?B?UWV4V3lkNWRkSk1KV1lvNGhLWkk1Tjk0UGdqL25KWFE2WHU2TG5RMjFMTGcz?=
 =?utf-8?B?cncrYzY2YnNYVm4vbjM4VEJaZ2xnOVFrSThURldMUlBKMnQ3S0xsK1RBS05O?=
 =?utf-8?B?UENEejhtdmVmWUZOcjdCUWR1UWtyMllXRE84OW03bHNPdHo0bVdNYVN2Nzg4?=
 =?utf-8?B?a1JhWXI1R21laDhqRG4yNU1IY2ZrUEI1K0Fpd05jeXh2K3lTWmtCT0oxbGxY?=
 =?utf-8?B?QWJRWmpoeWNCSXVLV3VBbm93THBHRnNFSU5PVk9KOGxjOVVhR3pJMm5PNTlV?=
 =?utf-8?B?cTRoZzUyVm1MNEpPS01DUkRkRVo3bm92NVZBM3VqZTZaZXpqNEIvdjJQR3ky?=
 =?utf-8?B?VlF2Y0JOZCt2MVV6SEM3VEFZVEphUFBxcU1ybUIxWmxYMldIc3Q1WVQvL0h0?=
 =?utf-8?B?blZPa2VmZTBDS3dzVWdvSkRFWC9qS01uaW1TOEluY3B3U2wyWGw0d0FSY1Zu?=
 =?utf-8?B?VUhDd2VaVTlIMG5kTGNKNk9uaDhZWk9rYXV2QjRUZHlHRWkwNVhqTGg5Szh5?=
 =?utf-8?B?NEpRT0FoakRsR0o3dzY2ZXhiK1lRTHlXeUQvOGJRMWxvSXhYbVFlOFdRQktM?=
 =?utf-8?B?MkNoR0dHd3N3dWlqbmVQYkVBekZKUHp0N3J6UEd0S0doeGltQ05LZTVhT05S?=
 =?utf-8?B?dm43UDNaeVRTeVZQOVRIWW4yUDdxT1RlK0tURHNXRGNTckNmdjUzT2pwWWxx?=
 =?utf-8?B?Z0FNNWxSaG1sMGg1VS93QVpVQzl3Y21Jb2hkMzU1eDAzejRnWnlKaEZaUDJ3?=
 =?utf-8?Q?vyvW0k4O1rRk/fVDZWyTDJXu1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c03f3207-9fb4-4679-fa03-08db26154db3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 11:55:14.4741
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZEgmVG04pOz8fkO8biN/F9Z8+meH+BA9oGxJL/GCtCsgiiFr+dqKzSAHbwfbWszO5ezeYMnVwedVemQ/6ROLwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8863

These are used from common code, so their signatures should be
consistent across architectures. This is achieved / guaranteed easiest
when their declarations are in a common header.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
There's no really good header to put the decls, imo; I wanted to avoid
the already overcrowded sched.h. show_execution_state_nonconst(), being
there solely for dump_execution_state(), could of course live in the
upcoming xen/bug.h ...

Is there a reason that Arm (still) expands dump_execution_state() to
WARN()? Without that moving x86's show_execution_state_nonconst()
definition to common code would also make sense (it could be done
anyway, but then at the expense of introducing dead code to Arm),
perhaps (see also above) into the upcoming common/bug.c.

--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -232,7 +232,6 @@ struct arch_vcpu
 
 }  __cacheline_aligned;
 
-void vcpu_show_execution_state(struct vcpu *);
 void vcpu_show_registers(const struct vcpu *);
 void vcpu_switch_to_aarch64_mode(struct vcpu *);
 
--- a/xen/arch/arm/include/asm/processor.h
+++ b/xen/arch/arm/include/asm/processor.h
@@ -557,7 +557,6 @@ extern register_t __cpu_logical_map[];
 #ifndef __ASSEMBLY__
 void panic_PAR(uint64_t par);
 
-void show_execution_state(const struct cpu_user_regs *regs);
 /* Debugging functions are declared with external linkage to aid development. */
 void show_registers(const struct cpu_user_regs *regs);
 void show_stack(const struct cpu_user_regs *regs);
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -681,7 +681,6 @@ void domain_cpu_policy_changed(struct do
 bool update_secondary_system_time(struct vcpu *,
                                   struct vcpu_time_info *);
 
-void vcpu_show_execution_state(struct vcpu *);
 void vcpu_show_registers(const struct vcpu *);
 
 static inline struct vcpu_guest_context *alloc_vcpu_guest_context(void)
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -464,8 +464,6 @@ static always_inline void rep_nop(void)
 void show_code(const struct cpu_user_regs *regs);
 void show_stack_overflow(unsigned int cpu, const struct cpu_user_regs *regs);
 void show_registers(const struct cpu_user_regs *regs);
-void show_execution_state(const struct cpu_user_regs *regs);
-void cf_check show_execution_state_nonconst(struct cpu_user_regs *regs);
 #define dump_execution_state() \
     run_in_exception_handler(show_execution_state_nonconst)
 void show_page_walk(unsigned long addr);
--- a/xen/include/xen/kernel.h
+++ b/xen/include/xen/kernel.h
@@ -107,5 +107,12 @@ bool_t is_active_kernel_text(unsigned lo
 extern const char xen_config_data[];
 extern const unsigned int xen_config_data_size;
 
+struct cpu_user_regs;
+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 *);
+
 #endif /* _LINUX_KERNEL_H */
 


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 12:02:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 12:02:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510532.788336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmJ3-0002UZ-Ep; Thu, 16 Mar 2023 12:02:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510532.788336; Thu, 16 Mar 2023 12:02:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmJ3-0002US-BA; Thu, 16 Mar 2023 12:02:05 +0000
Received: by outflank-mailman (input) for mailman id 510532;
 Thu, 16 Mar 2023 12:02: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=lZp/=7I=citrix.com=prvs=432965e83=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pcmJ1-0002Oh-W7
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 12:02:04 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 59d700e7-c3f2-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 13:01:59 +0100 (CET)
Received: from mail-dm6nam11lp2177.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 08:01:48 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO3PR03MB6695.namprd03.prod.outlook.com (2603:10b6:303:176::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Thu, 16 Mar
 2023 12:01:39 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 12:01: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: 59d700e7-c3f2-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678968119;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=RJw5gKtZ0aOCvmg7K+TiE4jbPkZSxmCsDXw8GHxM/Yc=;
  b=bKPqtORsMFRSPomS1jI/ZtTHHeR6Xv4ay6+AVv6AT8EryXLwPibvOuNx
   7TgOfUK7jxITJOVAR1vWTDkzk8EadBWn3Y13VhqkbcNN3uYV34o1/U961
   6GR3OlmtSJr6D+7flE8qEsqwqIqOfh2dXxtVHfTGBgZoCoGLdAix5YqaY
   c=;
X-IronPort-RemoteIP: 104.47.57.177
X-IronPort-MID: 99907419
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:V2Lyqa+69jZTH2snRLTHDrUDJH+TJUtcMsCJ2f8bNWPcYEJGY0x3n
 GEXXD2FMqmOZWbwKo9yb4y2pkJUvJDXytRqTQE5qCg8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkV5AG2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklK9
 KMqcxUyZCyZrPio5PGUTulNt508eZyD0IM34hmMzBn/JNN/GNXvZvuP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWMilUuj9ABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTCdNDTOLkr68CbFu7x2w6IUESV3SB+fialnzuR8tUN
 04J0397xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIVqf67OVoDWaKSUTa2gYakcsVhAZ6tPupIUyiBPnTdt5FqOxyNrvFlnY3
 DSivCU4wbIJgqYj3aih4UrOhT7qo5HTVxM0/S3eRGfj5QR8DKa7YIiv5Une/Ox3Jo+TRVmcv
 1AJg8GbqusJCPmlkyiAQ/4MHfeq+uyCOz3fhnZgGpAg83Km/HvLQGxLyDR3JUMsPsNafzbsO
 RbXoVkIu8AVO2a2Z6hqZY73E94t0aXrCdXiULbTc8ZKZZ9yMgSA+UmCeHKt4owkq2B0+YlXB
 HtRWZzE4aoyYUi/8AeLeg==
IronPort-HdrOrdr: A9a23:zFHdQaFy6+wrjDCjpLqFlZLXdLJyesId70hD6qkvc3Nom52j+/
 xGws536fatskdoZJkh8erhBEDyewKmyXcV2/hZAV7GZmPbUQSTXeVfBOfZrQEIXheOj9K1tp
 0QO5SWaueAamRStP3dxiaTMvoL4rC8geeVbI7lph8HcegpUdAH0+4TMHf5LqQCfngiOXNPLu
 v/2iMonVudUEVSSv7+KmgOXuDFqdGOvonhewQ6Cxku7xTLpS+06ZbheiLolCs2Yndq+/MP4G
 LFmwv26uGIqPeg0CLR0GfV8tB/hMbh8N1eH8aB4/JlZwkEyzzYKLiJaYfy8gzdk9vfqWrCV+
 O84yvICv4DpE85uFvF4icFlTOQkgrGoEWSs2NwyUGT3PARAghKQPZptMZhaR3e5FMnvNZglI
 x2/0/xjesSMTrw2B3n4d7GThdrkVfxh0EDv6o8s1xzOLFuLYO4l+YkjQVoOYZFFi/lrJsqFe
 F/Zfuslcp+YBeUaWvUsXJox8HpVnMvHg2eSkxHocCN1SNK9UoJu3fw6fZv7EvozqhNPqVs9q
 DBKOBlhbtORsgZYeZ0A/oAW9K+DijITQjXOGyfLFz7HOVfUki93aLf8fEw/qWnaZYIxJw9lN
 DIV05Zr3c7fwbrBdeV1JNG/xjRSCG2XCjryMtZ+59l04eMM4bDIGmGUhQjgsGgq/IQDonSXO
 uyIotfB7v5IW7nCe9yrn7DsllpWAkjueEuy6gGsgi10772w6XRx5PmTMo=
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="99907419"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QRfU6HTIvNAW4ErJ6zajewQEtTJa1GsQhFcIIWOAvNv5+lw072dFIBqhUOV2dKxk/Eav5/EpOugZppmEAm3aHs9HGqVHoyBx5+LAM5YsMHcWB30qb2i+QxwNCv5IMqRlLmUXcKMROjSmRyb7ZQ6V2WnGNcrMBQsE8rxW6aVVqKMQqkHEdbCbY3Uk2bK4fc3H4EbK8aei+/FacUVI3c2rRi6bT4marWxqT46Wm58vDGFqE/JiE3S0lrkQAdaj7rjuH+fANty6pH6h79Tf9HRDD7p1Mj/19X0M7g92HDHfQynvWaRNnTQ8vKPwhBBtbhASTAUT+TFg3jnVuJYVazrCcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+bDehOTfNAkQLfz1LgU3bXcJBHOB2suIW+GNIqQw1bM=;
 b=TYjnzyE9L7edo1xg5i4mcM7z8ak79ysD5WMlEucMvxzbTzR0gRtPMMRdVNjr+NhnSTrlMlTB8m6JTQvIkvL+4Ad4rtNZ1sZ/Z3daTQx+hSrshcGJ5+zk9cvGDzdnxxHYsCsXtFqfjzhnbR35zcZWV313L0Qm6SxLSPCP0xt9Ip93N0Ws3IIZznJrqfnwyppS8WmCKqyRl5eP225bfYqUNMWxIGmBu4lR+7DnFSbPn0mCfl5lwyZlZEF7ld2S/vGTsqc4zbNpcmaexaB9wOMhG+7kPGDRPRJ6/iqNjQhfVJ7kzhmiV0BpSTlqa7mauL5/rJcol5KeITh1JmdwkMgm1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+bDehOTfNAkQLfz1LgU3bXcJBHOB2suIW+GNIqQw1bM=;
 b=TKINze/G8iUmWVyYkyZ6OD7JzhjlsgKaXc8SRnpY/iT9++tV1ekG22wCxakKkbVl8OErfKlnx+wmNXw8eWWvupaAtn54Ycxgkj06Qt5sQf92AmoQKsEfbJmHXNFnhchhOt6RFqtExYvhLkSBEZkSzK18fr+BkDWiCRdaU4Im0Jg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <6999624a-80a0-711d-bc39-9b180604146d@citrix.com>
Date: Thu, 16 Mar 2023 12:01:32 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] move {,vcpu_}show_execution_state() declarations to
 common header
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <fc2156d8-76d7-b6d2-3d39-266dbbf4a0fb@suse.com>
In-Reply-To: <fc2156d8-76d7-b6d2-3d39-266dbbf4a0fb@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0425.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a0::29) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CO3PR03MB6695:EE_
X-MS-Office365-Filtering-Correlation-Id: eb9df072-839d-4280-b6d1-08db26163302
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ckyCfhVENFtu6/ueyw6LEvntH0N01R+3jdmFwKYhh9izTbwHs59jqVf++2C/X4R9k2fQxPD/XY2KNIz1IRStpwom5PYnCCcoZ0nrhPl5680/xbneeVCYkPy5TucSvWdyg8P+yqsRUXEx/y7RHMCV+j6RV1of0CeTzshtz7+tSapXDGd2r+UNGXWPZsWsxG5o6cr4UCHzNcXeUkH55jnSQrBrN5M+65akNuFz4exAhM/tK8bZc283CKhcT40IRy0Y5EAS6noHltuJrEmMpu8bZJtND55V/FMldyf5DRge8gXIfiGveAMLHBKhv14C6KkJ3sk/hR4cwkQT0w+hCpxhTWH06pbom1XpTdXJYfD3wn361JVg7GVu6T+HobIT3DE8fj7Kpx3hSZVoWb7uQ90lw2yo9WouGpgibmvyroGOYAoVhljBDM4BE40P+U1A62tnkumyaOCzrk3G2C4ldNYM7gK01hs1necQGFi6kBvXLSMApejcJU1f+2fUPbC/vXunG4pDj129xPyYAP1j+jGG5JJAmWM+rm3Jkvf0TlSo3xM0dgIDiPtZBH5wsblErHJDFo7gXJDGZzXz13kElO+F+XXcYpk8RYXl/e/3gbhHLZnkAjpSGsF6225/jNR2uzSo4EysCwxqqz5w29mkGVsax7zVUgqE3ZdRpybDDowoEwlI7Esy1fzy0679hYH+CKIN/qv7QCOESicl9SjkcCrFHyz2lNCVZPxp7H5gqa9+Q2g=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(39860400002)(346002)(136003)(396003)(376002)(451199018)(2906002)(36756003)(7416002)(5660300002)(478600001)(186003)(54906003)(53546011)(6666004)(2616005)(110136005)(6506007)(26005)(6486002)(6512007)(66476007)(66946007)(66556008)(31696002)(8936002)(86362001)(41300700001)(8676002)(4326008)(316002)(38100700002)(82960400001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UnlzMDM4QU5Ja1dOUlVPUXJIYnBLSHZEbWVoaWhZSVhzWGJJSmVDODFIS0do?=
 =?utf-8?B?RU5QMC9zc3pJVXdmNWdjRkVIM1Qwa0JmZm51RWp1MVo0NnZlRld5a0NtV0R0?=
 =?utf-8?B?b1lvcUdWUngrZW0wVzl4MlZtOXRoM3g1bXF6R1R4R3ZhR1pOMmZGTUptanIy?=
 =?utf-8?B?K1prL1hnemhpSGUzbDZzbEhvbytucFI5b3N4Sk9tWjNHb0ovdSt3Y3JZWXk3?=
 =?utf-8?B?YVdVWFBuL3cvZk4zcmlGRmQzL3d0bW9YSjRuTE85Z1FWM3VOZGV1L3pPSmxn?=
 =?utf-8?B?NE5SWVh2Sko4L0dJRVNTYzg5dWtUaUdseUZNUjhLNVNFU0Q0dG95bzhHQzFk?=
 =?utf-8?B?SVdZQUxNNmhFUlRDZ1I1bkNJZGtpdHRmMld3Nm8ycUExQlNsUDhMQjRhbXpt?=
 =?utf-8?B?bXloR3RXaElZWlh2Ri9EbkZXbUNoNjlqSkhOU3YzQmxBc091SEhRaG9FRUF4?=
 =?utf-8?B?TW1xVGlXQmJMNXR4VDA2dHE5eXQ4YnhvNjZ4ZG1hQkpLNG1nOC9DYkhWZmlB?=
 =?utf-8?B?dzA3cDRIZmtOK0lNZ3pRd1pwTmpDcEoxT1VDRVJrakZHV093WTZQM1FJVGVW?=
 =?utf-8?B?dStQS0FDM09oMkhVNjhBd1VkcmtiV2ZWK1VBU3NMM0doMkVabG9iV2RvNUNS?=
 =?utf-8?B?ZFAzeXh0VkJHcjFjMS9FeW5TbkduSGFEZkczYW94Y084cnV5UGxDTkUxZnlW?=
 =?utf-8?B?SGE3ZVltS2kvSkNQZzVmTHZmWWxOc2V4QmltSWg5SDR6MVo0SFpSU0RWaEs1?=
 =?utf-8?B?U09TN3RhcXZqZUtEdDluaE5qTm9kNk94WG9CQjVSUXZQb3FhLytmUTlMbXVo?=
 =?utf-8?B?VmlCVnYyTTZES2JEMStTbmxnQXV3NHFyd2hOWFlLYVkwZjJtclNEUCtzNUFt?=
 =?utf-8?B?M1BOUnFvV0NEVDhNa2NzYnhTQnJRaXlPL3p4YkFEN0l3bFN1REg1cGF2dHVE?=
 =?utf-8?B?Vmp5b3Z4UHduZGdVdXpqY2NuYkNWT3pra3hzTWJQR2FnWldLVk5xRzhNenRQ?=
 =?utf-8?B?N2hDNVhoNTVJMWdNWldCNVExOFB5ZWo5UFdzS1duNzJpSmpyNjFuZWVIWENj?=
 =?utf-8?B?MWFtR1h1STJnNUFQWHMxNzdVQWgrSTdlVjF3Q0lKRFZScEJobHdoWWdCazkz?=
 =?utf-8?B?cVYrRWYvQVl6ZTBZckdLWUhiS3JkV2ppTkkxQUFETjl3WjZ4Z0hOb2YzcnI5?=
 =?utf-8?B?ZjI0OUx1V0JWdnRGZUNHZnFUUlcrcVFSWFl0WTJoNnJpS1dYaFVLVjJBdWRh?=
 =?utf-8?B?bTFuQlc1b2h6ZlBuYUxpem1JdHZ5SzBMTFB4dHhIbFlNa0RvNFlmWElnaDhi?=
 =?utf-8?B?NjBTdFNUOXNZUm1QMHBIWFZWZm1FTkE1SlBPNnJ2THkwQnNzWUpmdXB2L3ZZ?=
 =?utf-8?B?NVU4ZG45WXI3a2pkVEVSZTFVSmE0WEtqTFV5b25QOTZyTUJhRVVZNmk2NjR2?=
 =?utf-8?B?VnIxUnBwTldGci9kQkllYUcyNWdtWnZlZDhmMzZmSXM4L1lHMUZyU3AxSU95?=
 =?utf-8?B?YTlmemtrb1g3UzcvNEt2dUljT2VRRkNzVFg4VjZ3RlRDS01BZFlMZzhtclJZ?=
 =?utf-8?B?YU1CT2NrNC9IYlY3SDExcXVjbXhaWHN1dUhBWXlVNlRZNnQ2OHUzQWJwR29j?=
 =?utf-8?B?c1o2QUE0NlcrRHc4Z25VUGZTaC9ya2RUc0pIUWhDLzd0S3Q2REhsdU1nbWkx?=
 =?utf-8?B?amw2V0ROTDF1VWJCbmZ5NnJGVnhEWnN3UXI3SEowTTBIa2xWankwcUIxT3Fq?=
 =?utf-8?B?Qm5WMlJyazNhSWRNRXFSaHdYd1hpcHdSQUVmaGJMcUk1bjdpcXA4blFXTG83?=
 =?utf-8?B?a0tFSEhoalFWaTZtKzZwOTdHVlFLdXN6TWtCcm5OSzJ5UWovbXBkaDJ6VVhi?=
 =?utf-8?B?MTRKSVh3YW5nSmIxL1I5bnpOU0NaZ1BGVXh3R1dvQnJ6S1o1MGVVS3BSaWZl?=
 =?utf-8?B?UmFrQzJBTkhEbDRNSVhnUWc3Ukh0c0FacnhBaXdtZlVyQXhNOXJqenpha3I2?=
 =?utf-8?B?cjhicXVobU80M0Q0aThjQk5vU3BSRllNbEVVaHVSUXhPaFNpWmZUQkhLZytU?=
 =?utf-8?B?NjlrNytDWUxnTWtqcExSR2UxNXk1VCt2aGhILzZBdmFJNk9oejhCV0txd1JD?=
 =?utf-8?B?TjBXWmZ4aDJFNWEyYmtZT085VDlBYlMxeFBTcXZoRW54cVhFOVNuR2VnUmp5?=
 =?utf-8?B?N0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	oM5+b1u8f84WuTVZillqbqecw1qW/N1JHAlU1gXOnFxt1nJQEEjWCx6rxi46BggooCfxHRI0ijus8OcTVDn/7vy0PIR5MsuJ4tSfWmwnmL1xHxliJj9vq+6My6gZTFgRz1X0spykrhgUQYZqFYejFer3CHybKjp183XOsVNQXLmT0chX4JyBfJ+mH2HXDPoW9Xev/oPrWaNsrRdk/XsebvF8Dqb5TXQ2s1hu1QPxYz6MN8yfQ+61FKr4YpR6HvQxmSHwAXqrZNahuvoo81qRlE8hDJNq+qf2WXvU0ZvmBpQCKklvG2PMAdIrDNSuJaeX3LZSVPKUO1z0PMAW3fzbcDx1lfxRF3zSOqQ2gSBIY5NDHmvZ6H19jU1hI0UlwepH7NuVjRLpfFnsKwYBLjBpg0v5lXxXSq/XBcZcLnBnpLIUHb6GNXPAOJegz6rOG0Kr7S8dIGJIw2Mz/nId2yB6QR76EJjdJ/aBSveXIUO/toc2AUEuhmTtfvkz7JGgnVBIgal6rt+LL+QFNy2q3ojmnUPVtvGiSAFtiCoTfKqxUD73ED4a7AJscvMQwtXAu8HphvLrbJyRZTVjtGoNFL9HPdB32NCfCKy3k/3UB6BhG5C8TPsarPQXE8IK2wKWO7Tbp0J1EQ+oNGFT8UEIYXYLebNsxX6Li9XRrhVGrJG7Zh7mzp143cvHPwnrWnI84FdbCBvOq8vw5dl3XTg/+XDtaJ2NHWJarUI9u5mD6FGPlrxqOXFhXGdsAg5kH0Ttok1tE4drWfb0qj7zetiM965Qhwj9SSYdtJDnrQHuzoTx7HMv/wdT0Nnt3qXjvaV16jXGmwpq3oV97UIeddC9m19R6XggYTupXSZOFM71HySAsKj/F9tHBywTFupa8unY3p0U6ABKqIEzrLN2WYhQgsbH8zxeq398KKqHKxpc+2hKLoE=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb9df072-839d-4280-b6d1-08db26163302
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 12:01:39.2821
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: phFHg1vl3o/PWWIXpsflqJZB61DmKO0ZhtSlab0s8n6XTRuZjUY5O8F5DdJMvLvGZ8P0MnADnZkODf88VA3BGCCRVJHAHVyi4a+s9HklcYA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR03MB6695

On 16/03/2023 11:55 am, Jan Beulich wrote:
> These are used from common code, so their signatures should be
> consistent across architectures. This is achieved / guaranteed easiest
> when their declarations are in a common header.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

> ---
> There's no really good header to put the decls, imo; I wanted to avoid
> the already overcrowded sched.h.

Yeah - lets please not make sched any worse than it already is.

I can't suggest a better location than kernel.h, but I certainly would
like something else if one were to be found.

>  show_execution_state_nonconst(), being
> there solely for dump_execution_state(), could of course live in the
> upcoming xen/bug.h ...
>
> Is there a reason that Arm (still) expands dump_execution_state() to
> WARN()? Without that moving x86's show_execution_state_nonconst()
> definition to common code would also make sense (it could be done
> anyway, but then at the expense of introducing dead code to Arm),
> perhaps (see also above) into the upcoming common/bug.c.

That sounds like something that should be fixed up...


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 12:05:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 12:05:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510534.788346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmM9-00034t-Vl; Thu, 16 Mar 2023 12:05:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510534.788346; Thu, 16 Mar 2023 12:05: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 1pcmM9-00034m-Rk; Thu, 16 Mar 2023 12:05:17 +0000
Received: by outflank-mailman (input) for mailman id 510534;
 Thu, 16 Mar 2023 12: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=lZp/=7I=citrix.com=prvs=432965e83=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pcmM9-00034e-6T
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 12:05:17 +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 cebf0072-c3f2-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 13:05:15 +0100 (CET)
Received: from mail-bn7nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 08:05:12 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5407.namprd03.prod.outlook.com (2603:10b6:a03:28f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.33; Thu, 16 Mar
 2023 12:05:09 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 12:05: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: cebf0072-c3f2-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678968315;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=90N1fiKTxDs/pneAnOmQMQjwrXO2CJJb/pViRvwyGiw=;
  b=bmVVPPH3s+qZZNvIlV97L+3WYV0U+SXwURymACnGPQJUkMVI9HqN6gZ7
   kNeRtP76OHShHGEyd/aXXHTA46Wa5Uws91cPCaDjELl8fxKvGYQm/2sFt
   44HD+Mrj5SZK1AdPv2Xo3Xi/1tFbvf8W79qdAADYMnV4k3rLkc2G2nCSn
   U=;
X-IronPort-RemoteIP: 104.47.70.105
X-IronPort-MID: 101013119
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:gJ/GgqiGMznEQl3s01OfAvwtX161UxEKZh0ujC45NGQN5FlHY01je
 htvWGiHOf2OYWPwKIgjaIuy9UIH6sOAxoQ2GQo4/Cw3Qygb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waAzyd94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQGGBINTimgndm/ybCjc89lns4Na9vkadZ3VnFIlVk1DN4AaLWaG+Dgw4Ad2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilMpluG1bbI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6TeXhrqcx2QTCroAVICMLe1rjkfmdtlKnYsNOC
 koSwgYyjZFnoSRHSfG4BXVUukWsrhMaHtZdDeA+wAWM0bbPpRaUAHAeSTxMY8Bgs9U5LRQ10
 neZktWvAiZg2JWQQGiY/62ZrhuzPzYUNm4IYSIYTQoD7MLnqYt1hRXKJuuPC4awh9zxXDv2n
 DaDqXFmg61J1JZWkaKm4VrAnjSg4IDTSRI47RnWWWTj6R5lYImiZMqj7l2zAet8Ebt1h2Kp5
 BAs8/VyJshXZX1RvERhmNkwIYw=
IronPort-HdrOrdr: A9a23:NCP8qa9qyUNSODcnxYpuk+GPdr1zdoMgy1knxilNoENuA6ulfp
 GV7ZAmPEHP+VMssSkb6KS90KnpewKgyXcH2/hnAV7CZni5hILMFusSi7cKrAeQahEWmtQtrp
 uINpIOfeEYbmIKyPoSgjPIYOrIqePvmMvE6ds2jU0dPz2CAJsQkzuRfzzrbHGeMzM2eqbReq
 DsnPZvln7sQ2oWc867b0N1L9TrlpnurtbLcBQGDxko5E2lljWz8oP3FBCew1M3Ty5P6a1Kyx
 mAryXJooGY992rwB7V0GHeq75MnsH699dFDMuQzuAINzTXjBqybogJYczEgNl1mpDo1L8Zqq
 iVn/4SBbUp15oXRBDunfLZ4Xi47N/p0Q6+9bbXuwq+nSWzfkNNNyMIv/MRTvKe0Tt+gDi06s
 0kvgLp1Os0fGqw5BjV1pz1fCsvu0qvq38rkeoelBVkINojgfZq3MQi1VIQH5EaEC3g7oc7VO
 FoEcHH/f5TNUiXdnbDowBUsZyRt1kIb1m7q3I5y42o+ikTmGo8w1oTxcQZkHtF/JUhS4Nc7+
 CBNqhzjrlBQsIfcKo4XY46MImKI32IRQiJPHOZIFzhGq1CM3XRq4Tv6LFw4O2xYpQHwJY7hZ
 yEWlJFsmw5fV7oFKS1rd522wGIRH/4USXmy8lY6ZQ8srrgRKDzOSnGU1wqm9vImYRRPiQaYY
 f+BHt7OY6vEYK1I/cD4+TXYegZFUUj
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101013119"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Pf96e+BSj7Hsf1/V3+0NYuKoxHsYwAen9I1WtzilY80ifGLzdKYuGdmlccpkdwLi8y8pfEhsKTSY6kqFtvfcJxBGllAZEu16+tUhKXVBoqGb/9pmad2IxtZtqQTCuE2Q7M1gkD58xUm6uJBi71JqcbzjwPpnnA/YSe6p6rh7Kg2f96IF6AiKVU4uzG3zrLzA3TQzjTZO+l1oTEqJpWA686wJylrLlHPS6BlQRkeKgQDbFw+1oMPZkXyASnOlzR0pIFFJkE9kPIND0Epa0VnjfogB75dtQsVbmagY691qnW4HibNxEL4wjJVDvP8i/XT6DZeqkDfpBJtrq58TCDDz9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+DCcc336ExMdTOny7T7rY3WSVI9zNpdaF0NdJx5JvM=;
 b=MklIslCR3k/1fYHVx2l92MxaeKXw4/G2BqnHm498YZeh/4jgvAd+iao2zKMpAGWDmEsYblzVVPwLdt2Co5NYwJ7FH+wTCxL5nE6I55IvshACf5ooEk+ScUl/6Sq2NALogKpYHzSjpT1J72is45WMBC143k3PlzcAP9P4BXgnZo1i+m6eK7HVqtpiKa3Wb7L7Sv4yGV+pyOTMW0a1UVm7yxWyryW2FvSBb8QLNL7oXTKfuWx7vV+UWtrpPOiBkVg3IJROfDcUivus8xPysd+A+KeYtETIfSNmipqhT2amWlw7ngDDwfYXlBlvBJP63eKWTTSP75SkkURgzgPP3GVAOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G+DCcc336ExMdTOny7T7rY3WSVI9zNpdaF0NdJx5JvM=;
 b=KxTx97HxEfkBriKPPDpJJicZD2jtdIZsseCpepyCikc6gFm+A20OAprs3OozLUd5GHXdP0s92xLfqc4S6HfgSftNOmtG/5vnEtFy5vS/0H1uZclbq/By/yu+l31On2MGv4evzN7wy2niWgLHjM+qFlSWnvc3wRFmtQVjIaVNTGw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <60df98c3-8f92-e213-2653-67eb829b2f37@citrix.com>
Date: Thu, 16 Mar 2023 12:05:02 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 2/7] tools/misc: Drop xencons
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Bernhard Kaindl <bernhard.kaindl@citrix.com>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
 <20230314141520.3652451-3-andrew.cooper3@citrix.com>
 <f82630fc-0a45-48f3-aafb-6b96af287652@perard>
In-Reply-To: <f82630fc-0a45-48f3-aafb-6b96af287652@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0494.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1ab::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB5407:EE_
X-MS-Office365-Filtering-Correlation-Id: 06d0e09d-f86b-4a51-147a-08db2616afe9
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gnsiEFAsE+O3ah/y6IRbBQ1vSj3y3OCKRi8rxXlXycd0Z9ZLem10zDb9N2nW/0muEMQgsUNvb3RPZcup+Xv4yZTa+qTU7kNR27FiCckDM3prJ0H3ek3+hbQU80grRII634qqJPxaVxKEteKn9U0iNX0Ug2CRZvz/+M0x/+mFgdpDQ8YNlazCSIq6FPnIxtiF2Rvpcf7RtuZc/abcVITSwkvCNLOye9SI1KogAQ+vZEcxTPVM22V8vhMIjcpdbboT65erBhsbr6gQUKsqgDdVHNqB++nURWPHYcCKlw+RjMfg/+0oY7waGc9blU9Qe9ofgahEQmBl/R24818Dm85AjC3JNz9gZ3thVOOGn3upTRRjGSQ+1DdRjkOsJDYUWO57CfhZIoncEK7OoIPdmS+2CRiHEHniBz1jAu6iV39iLfYyAxJxRKUFJVg8henmOXUQVATlGTTzxwil+zeAdDGlMmH6fuelMJvP0GuRECNfFRitt3xG7cS7+dJ8cYRQY+//w2T1D3ACMp22kr+y/jMo5Nwa+RJAW2hRJ109roWP+BftIY7EOMiVtI+QQ9EwDUidbfwpCHr5/m41CVrkxhl2axc5OVeYy65UyngkGzcFeAA71PoEgHuN579VJ3+D4ZI4e5oyhpARld9f0U/w2mcYtzmvmocYzgdiOlOv93Uze94K+8CqMaD9iLNO8qMR3lugw6IztvlzAQV5g91KAwIG16OLVbUYbvKQgLsUHdxpnMI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(366004)(39860400002)(346002)(396003)(376002)(451199018)(6486002)(8676002)(478600001)(2616005)(31686004)(6512007)(6506007)(83380400001)(107886003)(6666004)(37006003)(53546011)(316002)(6636002)(54906003)(186003)(26005)(66946007)(66556008)(66476007)(4326008)(8936002)(6862004)(5660300002)(41300700001)(4744005)(38100700002)(82960400001)(2906002)(36756003)(31696002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dkJkNysvb0YrRmlCNmJnVURIbFdQMkZIcVpxWSs2UUtlYkdDdW53bXoyaEFY?=
 =?utf-8?B?eXdHZzlNTlI3eldjM3Z3QzM5dlNoRnRHTzNld1VRSi9Tc0htNmh0YUFneEha?=
 =?utf-8?B?TW8wVVB0M0t2QitQckNGd3AwYU4xTUdIVXNUT0ptRER4OStTMjFuNjNKK0gz?=
 =?utf-8?B?VlZycXVZb1M4SnAvMWdWUlFudEZGUmJZcmRpWk1sR0RiNm1yMmJRVXJ4S1dq?=
 =?utf-8?B?UTBZWmMrY2NHVlovMzdRazZOQURKbUUrKzBLbmNTR1FZUUZHOWhkVjhrS2U3?=
 =?utf-8?B?dmRuU1UyRnlWSDI5eVEvcTN4ZUNTTXdpdnJmQThNMzhQWEgyMXZSV2ZTU01L?=
 =?utf-8?B?SEgvTUNsaHcxN0h0Wm5IZENzdFdtQUlBYmlFWGRDbWx6TFlzNzV5N3Y3dkhF?=
 =?utf-8?B?dTZuaVViSlFOWkh6SGZEbXRlckVFWlJ1OEsvYXlCbDQ0RGZhdCtPSUdXS04r?=
 =?utf-8?B?QVJpYW5BZ1JiL1NYZ2d3bWpQRE56YVVlUERQNFZ5VEtZV0VZNXBJcEk1SzRn?=
 =?utf-8?B?bDNBbkxnWmV1alg5L3NxSzRkMXhkVzBHMzlJbU45K3ZCMTdlVlB6cURCVEpN?=
 =?utf-8?B?WXoxUnRHWTlhS0FROHVvTTRaeGVmRi94a01oMk9mQitNM3JoZWRBNmFhWW56?=
 =?utf-8?B?SHBkSDlGSVEvNWhqN1VPQWZhL0FheGY2V2xJcnVWYUtuQmZGYjVGN1FNcDdt?=
 =?utf-8?B?L2t1U00wVXFSbVpFYlpBU3FXL3lCVkRsNmM5TWhCU1Y0T3NlOCtJQk1POWo4?=
 =?utf-8?B?bGVoa2I1eVZRejBQV2RrcGhzMTFqTllNMXJrNDFwUktrK2FOR0hRb2tkSDQ4?=
 =?utf-8?B?OTQrUldlcE92T1k5NXFPWU1URlo0YWFUcll1UktIVjlXMzNWZXJrVXkyelJt?=
 =?utf-8?B?blZnYk12RzBHMVBsNGgxN2JTNVpuVFdyUWFsYjc0THZ2QW9qd0h0VDRKWXZ3?=
 =?utf-8?B?bnVxZHloamQxTnZRaVNtdGxMZmNOMG1FUUMweE01MUY5NXM3VFlwVEVPMHNa?=
 =?utf-8?B?bjVrYlFyQ1pXSHRZNWV5MExsZE9IeTdaNXZZZXVnWnpNUklYTUxuVzUxREE1?=
 =?utf-8?B?L0d3aldycDF4cmxaZGZZUTdBL1RTd21MZzQrYnRhUkRzSmFpR0JSYnJ6Szho?=
 =?utf-8?B?aGhtTUlsYnhReGwwN01jL1piZGJlRjhXTVYzemRnd2ZhSzB0SDlvc1hhT1B0?=
 =?utf-8?B?dUh1aGRKYlpQM09BdkRTMkl5QVBsRjZha0llaHZNZER3YTkxMzZ5dlh3dm5i?=
 =?utf-8?B?Znk4azZ3SFd1K0E1amRMYzdiQWc1NzZWNHdxQ0U4RWdPRE50VWZkRG1BOWFZ?=
 =?utf-8?B?bTZNNWtxNEQzK1dwSHExTmExeU5TZWJQUHlzdmt3SFVHSi9tQ3BlU21LVXdZ?=
 =?utf-8?B?NnNVd1FzK05BYTBkakdma2pwTU1ESzBNMFRvMWpSVTlzNXAzS3VhQnFUdkNN?=
 =?utf-8?B?SjBwMnJmeGZVdGdmcWViVGx5eHE5bDgwNmxPOGdyZlR6eU4xWng0SU5WY3NW?=
 =?utf-8?B?RXRISStkVzNJZm9tY3pRbEtKRkh6cEo3emMreTM0cm00NElzd09seVV3UHZ2?=
 =?utf-8?B?dmVEbUE5RDkzYlh1eG1BT0hrT08vcE93S2lKSHNVQjBEcjkvZFV0UXRXRzls?=
 =?utf-8?B?eDJlNjUzZzcxTEFIbmtPTE9aMjlJR0FmOW5YV3lvTkROcFhUVzdPVXV2bEwv?=
 =?utf-8?B?N1g2ZWV1L3hDOVZDeU1KYUFaZldNaSswNjk1NjFsNjRBeWJGUzdqbzlEeWpx?=
 =?utf-8?B?T08zcWdZNW45Wk5odmRoYzhJN3J6eDgxZUd2Y29rNUlSQkd1d25ZVEEvcEM1?=
 =?utf-8?B?aWtCcEpIVEVabW1PcExIUHlHOWErR29Gb2NBcGp4bWpQYW1LKzBJZHk5UmZH?=
 =?utf-8?B?ejlnM1J5UW5OOVhqRnpmMmpEcXBSZmxUblVvQ3hWZmRzYlJGV1hOTjN6ZzAv?=
 =?utf-8?B?MHo5M29uTmVRUFNIWjdNVVVnbWIxYzZkcFZQQnI4emxWT2RvZmJ4aGp0Z2NS?=
 =?utf-8?B?ekFsTFJ1WHRjcktKSjQwRkFTWm1jWHhqK2hLT0JTcGtGVWI5MWhxY29zeHg2?=
 =?utf-8?B?ZWEzWXhUWmM1N2t0STVSbmhUa1BTdjUrdGtuckxobDltd2RZbHFINkJGUmRw?=
 =?utf-8?B?ZklzSGJTcnppOTN0Z3dFN2pYRlp4N3ZpWDhPTmxPSjRUYkhrUVBGTzMraE1I?=
 =?utf-8?B?cmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	GIe5iL9OTROC6gesndU/9oa5RWsvABzZFK90l2OU9SAYsjxotZZCxzUYO9lQNdv9/WMFilczE09WeDOqc0u8w9hfuKLeIAp0F9NnCuvyuJUluzRjK2Izq9zSElESaJYg0ZcMXyZaXdOYmprxRRF2Dc1GRKMtsQxuh5CCE6vX1EGH68UssjBB0n5c/5bkzV22ck/elhfSYzQFatTJbn8VmcLu6cFU9rxSwhs0KPfCymcbxcTxmqstjwJYTFdXbAiZFPnF+CI/cPaD/dXLX5a5+bHbw/LgJdejk01idG02r9/g27NiEYwOPuYSRMzLKYcZ8OCS9ssw6UE+hxNM/PyjSslHYcwabW/vmOZVi7pe1sYiGSa0xE4awIFeyvAM2ywH6HMi/CHoqWuNbPiNsE4JKxdvcVvidYpVuzZc+pz0iYauKU4jWQdrPjRxPKQEbCHp799jMluZG0zpqICoQgL7Rom5RAzXjsm+IgZYAoVcFKsLSPqLfcNpYUi6Mvlh+ZW0KJxPKkg+MogTTRL8j7gKX/McAd8+XFKpRATm5YnbKTvsajO7GOLLKRGyL1WaFSRj02RETSzbp9Gth0T2c1BYvjHxWlKSQtKISrJUlLNS6cEWPVq+a1ZixvXoLSIV22kJ6rToUL/+gBTijzoVexZ2Tv0ZYGmV9MIhVmATQmFEGWPrco5pCm/VghaM+AiubBJ/xg+W21zNeo9C3IA0xbAYXDAJ9RDwQnoySH5LdI0yVo2gBF3TLryxZ4eqzPYg3zXfzrk02Qqfp0tLbZgqdXVyvqP3naxfrJX1ks9T6jbelYHo9fQ8srmTTI/awaXE2MlA5xAYGoIi33RFzTHxkRni/CM3IPg6WeQP0kV19hloGjw=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 06d0e09d-f86b-4a51-147a-08db2616afe9
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 12:05:08.8137
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hMXLH6KGK7hj/3toR75SUgw5Zz+eyROben/S9+PQ/AcXdfv+DoZzIXyBkqprvoRm0faCX/AFofOa5zRkQm5Y5A83AAsFt6fy2sni59HG0FU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5407

On 16/03/2023 11:33 am, Anthony PERARD wrote:
> On Tue, Mar 14, 2023 at 02:15:15PM +0000, Andrew Cooper wrote:
>> This is a python script which has it's shebang modified by be python3, but
>> was never converted to be python3 compatible.
> Not quite, that's the original shebang ;-)

What I meant was that INSTALL_PYTHON_PROG turns it into a python3 shebang.

I'll see if I can think of some slightly clearer wording.

>
>> The most recent reference I can find to this script (which isn't incidental
>> adjustments in the makefile) is from the Xen book, fileish 561e30b80402 which
>> says
>>
>>   %% <snip>  Alternatively, if the
>>   %% Xen machine is connected to a serial-port server then we supply a
>>   %% dumb TCP terminal client, {\tt xencons}.
>>
>> So this a not-invented-here version of telnet.  Delete it.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 12:08:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 12:08:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510538.788356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmPN-0003f0-DN; Thu, 16 Mar 2023 12:08:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510538.788356; Thu, 16 Mar 2023 12: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 1pcmPN-0003et-A3; Thu, 16 Mar 2023 12:08:37 +0000
Received: by outflank-mailman (input) for mailman id 510538;
 Thu, 16 Mar 2023 12:08: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcmPL-0003eh-OC
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 12:08:35 +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 44935cac-c3f3-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 13:08:33 +0100 (CET)
Received: from mail-co1nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 08:08:13 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB5934.namprd03.prod.outlook.com (2603:10b6:a03:2d7::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.33; Thu, 16 Mar
 2023 12:08:11 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 12:08:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44935cac-c3f3-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678968512;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=uXDn8J+pv+h3ndV2YGMRknmZvG+soHTVmBxKhUzTOkg=;
  b=N3yIDf6iBlgsUbWINaFxRAOIBnLBwRq/iHEqHEW0UFLskfaI87+C0gIZ
   YjCQi+5m9k//qi96Du+z4Z6IKzoPVBbSIr38CmXtm7YVtNMmulyKAM2Lp
   22A3cei4vprWuEtlt20fIJt8bRlEc5RhJSDxo5XcSUg7nKpJBHUplkYRl
   I=;
X-IronPort-RemoteIP: 104.47.56.176
X-IronPort-MID: 101105483
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:LKAjsaJ3dpc6PsLHFE+R0ZQlxSXFcZb7ZxGr2PjKsXjdYENShDcDm
 GEcUW+DMvePZmPwKIhwa4Sz/RkDvpeEzoJhGlRlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QVgPa4jUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5SM11ns
 tVFFAwxVTayor+t64qyE8lF05FLwMnDZOvzu1lG5BSAVLMNZsmGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dppTGMkmSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv037aXwH+rA+r+EpXizK5gngOc71AIDQIpeVS5++mwjV+xDoc3x
 0s8v3BGQbIJ3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQA5oiVpbdUnsIo9QmUs3
 1rQxtfxX2Uw7vuSVG6X8aqSoXWqIy8JIGQeZCgCCwwY/93kp4J1hRXKJjp+LJOIYhTOMWmY6
 1i3QOIW2e97YRIjv0ljwW36vg==
IronPort-HdrOrdr: A9a23:+/A2s6ObrcGqYMBcT6r255DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jztSWatN/eYgBDpTnmAtj5fZq8z+8N3WB1B9uftWbdyQ+Vxe1ZjbcKoAeQZhEWiNQtsp
 uIGpIWYLOQMbETt7eB3ODSKadE/DDoytHKuQ+IpE0dNj2CJpsQmDuQTW2gYzxLbTgDIaB8OI
 uX58JBqTblUXMLbv6jDn1Ac/nfq8bNnJfGZwdDIxI88gGBgR6h9ba/SnGjr1wjegIK5Y1n3X
 nOkgT/6Knmm/anyiXE32uWw4VKlMDnwt5jAtXJrsQOMD3jhiuheYwkcbyfuzIepv2p9T8R4Z
 HxiiZlG/42x2Laf2mzrxeo8w780Aw243un7VODm3PsreHwWTp/UqN69MtkWyqcz3BlkMB30a
 pN0W7cn51LDSnYlCC4w9TTTRllmme9vHJnu+8OiH50V5cYddZq3Poi1XIQNK1FMDPx6YghHu
 UrJMbA5MxOeVffVHzdtnkH+q3fYl0DWjO9BmQSsM2c1DZb2FpjyVED+cAZlnAcsLogVpht/Y
 3/Q+tVvYALavVTQbN2Be8HT8fyIHfKWwjwPGWbJkmiPL0bOkjKt4X87NwOla2XkaQzvdoPca
 n6IRNlXTZYQTOsNSTO5uwHzvn1ehTyYdy3ofsupaSQudXHNcnW2GO4ORUTevCb0osi6/3gKo
 qO0a1tcoDexBPVaOB0Ni3FKuxvwColIbkok+d+fW6yieT2DaCvntDnUZ/oVcrQ+HAfKynCPk
 c=
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101105483"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=etos+XQzQgWUOeY7/OMz75nPSOix3sh+rWEARtU6kjRRxs1DQBfanEtSjXof1y7pcM/Tz6yF88/Ln9dWEKjgHlAPxVNENgLYWJlns6iHkXWXq2A1j1IQdHJUgwG1wqmz6Tzh8EiBi0063GXGywEEAeU8de5tqEMLrXWpVEyuzP8+FGLXH3C5NdHk41hwiSDhtpwebGlXpJ/wnwECNACbYjPYIhbQUvf4H19P1p4TslxWHjhFdBm0K8y4AqHWd1DH4K0rk4zVLYZKqerPjy376mASFCW26g6E12Ugxks11CiFs2BVaFsObWB3PvCmxOHAgSQ91owEQDcAoysuGYfDOQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vygrCmOAa37dNqvYZOTv23Q2I1fRsVZl6Nb7n0/H6p8=;
 b=ULzpUlfv/ePb2OkMOVQ1Mw8HVzAQ9Zu4Axj3q27LbqpwlRa+OakgJLHNUR1hom/tdbFfQh37CoyAaiaZ6owaKIK+irosC9v0r76Ucs8YH2wonJgbuV2CKUY8uKkO3YAbC86KwTn5Anoo9yiMrLM4zgrhVwktFA3le8JyK2TWkENdRmfhtU0fywofyfharqh3L8UciZ5MHt0VqZj59sy1uj21UqwyYLD7AGkeXfdtcPc+lFOlGCY2rmVIazDZDq2rXofNoG++irg/yroTvR83TF4PDa0TIOClPjC35C+rA6LaVDtbdDwoRGwDWn/GIICrMhEORTYnismKfo4/lvQRuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vygrCmOAa37dNqvYZOTv23Q2I1fRsVZl6Nb7n0/H6p8=;
 b=S+NG+EZ5qOKCpdfhtalO+POrlC7s7KQnnvwz54DgHIIqBUSTZj/Mo/zFadHgaIVHAFrZoI+I3M0ruPfw9CBmasCJe23exzihMX8FMSARutjoTDj1DljfVsXip1VKMYTxMTq/xRYQm2LwTdK3t3XzLqRZ3Wb4s88M8NlW1gmMprw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH v2] vpci/msix: handle accesses adjacent to the MSI-X table
Date: Thu, 16 Mar 2023 13:07:10 +0100
Message-Id: <20230316120710.38817-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.39.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: BN0PR04CA0105.namprd04.prod.outlook.com
 (2603:10b6:408:ec::20) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB5934:EE_
X-MS-Office365-Filtering-Correlation-Id: 7dd245ae-af48-463d-4489-08db26171cd5
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xpZH2QWE7rFKZH4cBHsxq+U0C4CiW9/JlX7ZgF3r6RhUjYIL+NSyHKh3Wq7ZgYLTFKqEjNzA/Wij8Kfy+ArJ3/Ewp5F+aEl6U7fwK9ruFYD5N+Y/2y2bp4Q/HeQWvg58meVxntvm+Lme/kJ7DASHKF8jSRKbQDiMyyXVOIiMLwnDSfTfVlDkDCiwGMzqZbIF7PzH6ufi49LVu7wjnHOERv8ybRqTI50KdCsNAuKDAQZsTjgO9T4BN7SM3LLPtmW0jM65gNLE+df8nI9hxeOB7rP/mzDtvV9mDH/21RF2DknXoQ3Qzo4FcJKBuYH8D+HBLdCM/VpPfde1kh7sabAoCpJ6hoyWU6ClDhPcvgmc1+/oz9czI8ZDgdGMDUDndDKDwE4646M6ncxYlRsrWlKR8HeJKpp0uSSnPd5f6hv9vschmbyeTobvpTI4euGmorC215YFpT+7SOdJZOtGzReYDqyg6WhwDSOrJufy/rKWtVx/gKpfz9/ukvvVG5nDz5GrcrRSFhSfEDhb+iRa9CVygndMzCInCHk0oxeaUJ9U428FvDEZ2KLb6baCRIaY6TIHi15CbkK6kt5lyZbW5NgCXRdwxRJklaq0eDylD/js//t7TVGJGZOPNKF33qPmArtyx0rBWBKmu6z7Ub8VKebZxw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(39860400002)(396003)(346002)(376002)(136003)(451199018)(86362001)(38100700002)(82960400001)(36756003)(2906002)(41300700001)(30864003)(8936002)(5660300002)(2616005)(6512007)(6506007)(1076003)(26005)(186003)(4326008)(83380400001)(316002)(107886003)(66476007)(8676002)(66556008)(6916009)(6486002)(478600001)(66946007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cnd3TXZoZTRIQ0JvZkk5OTBxQWNCQ0JGalNINkJjb1FxREpoQVhMWHNwTGlt?=
 =?utf-8?B?cmU0MzVRUFpNcXp3N2lpM2NpUGtwNmpaM24rTWQ4d3JHZ1RBMTZ5NkdYeUhp?=
 =?utf-8?B?azF6QU1WZUdIaWJ1UzA5QVF3bWhqTXlLSzBzdDFkQ1RQS2JhaUZEYU9EYlBs?=
 =?utf-8?B?bTB3TkQwSytjUFBqbEJVeU9ZSmZCWWVQQTFlR2hSTTR3YVUxRWtRSHVaQUtl?=
 =?utf-8?B?Y2xuMmxvK0gvcGlKY3ZUZFYrQ0k5S2tTdVdYYk02QXRSeDZ2b0ZtT01tbitt?=
 =?utf-8?B?OUhidDY3TVFseVNTZE5ZM1VDa1NMbDFneUZFSUNsT1lFNWg0RjhWWEo1dzFh?=
 =?utf-8?B?WFRWNlB5cjlucWtmV2REZFNiY0ZDSkYrSFErT2cxQkVIMitSZjQxK0NadGFK?=
 =?utf-8?B?TlhLcVFHVEdHZXYzdkdEZVpSM1hyL2VncmVBSFZIcTVTVjBMNWJzQ1l0dEd5?=
 =?utf-8?B?QzMrM0JnSHlzU2FJbjBJK3RSbGY3Y1JWVlVzNEVxM2UrVUpMamN6RW1SWUJ0?=
 =?utf-8?B?OGtlWmpkR0dmRHFZc00vYWtUWlJSeG04MlZRUlBMcWxwRmcwWHN4eEorN3Az?=
 =?utf-8?B?WXlDbGRLYk9XNE5lZjgwa0d4V09Bc2hWSlJ0QTR1TjIwQVdXcUhmbklTMDRB?=
 =?utf-8?B?N2dCY0tTejFyTEQ0aTBrNE44VTFqSmhic2JHZlJuS2VVYUxrMldNSXJhZG0r?=
 =?utf-8?B?cy9yK3ZmUTVpbnVSRkpoN2lZUlIvWFY4Z1pRL1JEa3VEMmpoQ3hZTEJGMmU0?=
 =?utf-8?B?WWJMOFVFQzNlQ1MwRnFRMUdqL09iNVE0dnVYV04vUi9XMTVNNG5FenFpR3o5?=
 =?utf-8?B?SlFVcnIvVHZMM281K1FwSXloMGNZZEMvWllDSUlENDhVV1FkTGZlamV6aWxi?=
 =?utf-8?B?UUFXRktJTlVEV3Z3MEpJZDhobHoyUFFyMFJZcUJqaURXRDEySDk4ZDdBMjA3?=
 =?utf-8?B?QllqWVRvayswTXFyRnVaREpwdU9ISjRZcW96SEQ2MDZJZ3BXdFdtZVdsc1RH?=
 =?utf-8?B?WUFWa1lkRGtlQy9WTU1WaU83Tjdld3NZNm5NQVV6VlFRRVhCQTlIb0lZK0dZ?=
 =?utf-8?B?UTllMUhPUHVTaHpwMk5nNlhSY3hnenZWZ2t3UkJNbW5ud3JmWCtmNzZNUXdi?=
 =?utf-8?B?VGY1MnB3M3lLdnVYZTIxalVKQmZ2LzZZSUJJdXRkTFh4ZHAvckJzWm1OUXkw?=
 =?utf-8?B?R2xORWtLTENpOVpFbjQ2VzR5VlE5dDdmWitKcTFtYmQ1eFlIUi92aWIwSDM1?=
 =?utf-8?B?d2haSUZ0UWg2SnRjbmloNHd3Yk1RdlRUV2lYb2hRY0JYbnJsMEp2RFhHYjRO?=
 =?utf-8?B?eG02aXdSazZucks1dGxQYStYZ2xieVFpY0F4cUpXM1F4Sk5CNHJ6VHFTNXYr?=
 =?utf-8?B?MVMyakhWUHlnUXNkU3EwUFF3YU5sdzBUSmFld09PUGJkS09DL1EyTU0wTlBn?=
 =?utf-8?B?MXZWZVBMMElkSTdBZmh2SVlNb1FmQXVBNHJ6MmwzbUlOeWVyZWxaMU9kM2lI?=
 =?utf-8?B?U0c4RTN3UENreGtxbWJaNk9nRnpGclFTVml6SVp3c25KQnpJbnY0aHBTRVVw?=
 =?utf-8?B?Qm1MSFN0eWh3MXU3TS9EREFxMmxVTnR0YzRDYUNxZEl4NDQ4TWNSRmVNejlS?=
 =?utf-8?B?VlRGbTU4R05VUmFaNmF6UnNNY0ZmMVdJUDBhcTdqWnRKcHRicjZCYXh1K1dW?=
 =?utf-8?B?STViOStmWEI0YXVrU1U5a3RyS2ZGbXhSRUxvN2xKOEV1QSttZS9BbHZUYUty?=
 =?utf-8?B?MTBlaUZlMHVvSnV0Zk9kR1l4RHhvZWQ4M2VYeW8wakdXR3hWeFpuRzViZ1RW?=
 =?utf-8?B?RlVVQlk0WDh0NTdZQjI4eUtFRkl6a0ppN0N5em1kbHpHaUlMM0YwMGlKYXUv?=
 =?utf-8?B?K0Roc0lBYXdTNGRCZ1hqcUU4U1IyS3dKdTZmT0M5anhkQk94QjhFZDdRMHA4?=
 =?utf-8?B?TXNjdldUWEdUSEV0Mm9LL0UwRGF0Qk1xNk1IWHhiZmErNGxrWDVqbE9Ha080?=
 =?utf-8?B?VHBhNk1hcFlZU0t5d0hmVTE1Z05ZK2QyOHlZMlB4TDZRaENmWk9XOTNuQ2Z6?=
 =?utf-8?B?WkNzRWpTRFFpUUdnMkdVcmJFWEQrSkNBYW1JTlJuUkt0MnBhSHNZSjllTklD?=
 =?utf-8?B?RG90NjloZjZNNjBwMkhmODNmb2hWcmVLQTN0SnhSdmdRM0RnU1dZcm5sanBT?=
 =?utf-8?B?blE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	QnVmvmHO/CtblnBS8TJzi9ppjCUpNiYqnrTQjmNXhP5gJWvRx8ZxiX5T8oXc8O9K0lQd0eXnw2/7hmBML3Rner+NYckwCqboYwL4NOH1GdqnFVJqJaJOSMu48Oam0khe7VEAVfY6cp5qVGhfohK9TIPVR3bYnHleOy+xpGaPXiWaVzG1r4QMdB8eB9D2kD3dSIGRDj/RESfWf/wkQCnCpqRzoKpq31YtkhRLsDIGtXclnoSsFxws99SoEr6v87elbUUxIwDe9t7ruLqQwS10MhrdHmTLXJ9WOP2Oo/e9qPC6ywcJIE0AYbq2OlC1xdjWA50J+5s86PIbSQMJLS7l/zwlbzU7L344l6mQpj7zHn2AH0iDpQPLfHmBgVEdXxu8O5OD8HYJE4AMMdR+pzmpE+/t9S54yWe4H2xMYj43US4K9Ykyw641OykYeG/fVn3nYPwDOJbidm7bjoES8jCo35FroqhjxwEok+9F5t4OaKlLakUXAOrFj9oqyUlIYpoOzTFD2XZdw6Xa7Sue5TJI705fi9CrI8hVlZomz0xaUNMpWqmcP0oz4vcMUszygWFl6Ki+1wofQ7wigMkv1w3OTXUC61S2E3jvIyFkGy504GTok6Smo116KjJ7nZmdIPVe0+GmQhVXHEC5APUH6UxnaYciRkzjQP4CL8Fbot5vOd5+MdNLpFaAX7Y/kpfHwzF2JzMLcaAy1C+GvvCmH8AvsRLU6UhLESKMoGf42hp6zK7LnoHupfqIRewCK15kJTyZQ1Gj+csB63ndg+O5VWl3tw==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7dd245ae-af48-463d-4489-08db26171cd5
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 12:08:11.5568
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jaw4/+GGxQM4MGExcKBCMplQmezTyFWvTx63o525jyFdIQ/96TR8EmtzUWuQ+Ot3T9mShbmgUljE+wxBB9tfNg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5934

The handling of the MSI-X table accesses by Xen requires that any
pages part of the MSI-X related tables are not mapped into the domain
physmap.  As a result, any device registers in the same pages as the
start or the end of the MSIX or PBA tables is not currently
accessible, as the accesses are just dropped.

Note the spec forbids such placing of registers, as the MSIX and PBA
tables must be 4K isolated from any other registers:

"If a Base Address register that maps address space for the MSI-X
Table or MSI-X PBA also maps other usable address space that is not
associated with MSI-X structures, locations (e.g., for CSRs) used in
the other address space must not share any naturally aligned 4-KB
address range with one where either MSI-X structure resides."

Yet the 'Intel Wi-Fi 6 AX201' device on one of my boxes has registers
in the same page as the MSIX tables, and thus won't work on a PVH dom0
without this fix.

In order to cope with the behavior passthrough any accesses that fall
on the same page as the MSIX tables (but don't fall in between) it to
the underlying hardware.  Such forwarding also takes care of the PBA
accesses, so it allows to remove the code doing this handling in
msix_{read,write}.  Note that as a result accesses to the PBA array
are no longer limited to 4 and 8 byte sizes, there's no access size
restriction for PBA accesses documented in the specification.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Properly handle the PBA also.
 - Merge the handlers for adjacent writes into the existing MSIX table
   ones.
---
 xen/drivers/vpci/msix.c | 329 +++++++++++++++++++++++++++++-----------
 xen/drivers/vpci/vpci.c |   7 +-
 xen/include/xen/vpci.h  |   8 +-
 3 files changed, 255 insertions(+), 89 deletions(-)

diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index bea0cc7aed..060b74d62b 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -27,6 +27,11 @@
     ((addr) >= vmsix_table_addr(vpci, nr) &&                              \
      (addr) < vmsix_table_addr(vpci, nr) + vmsix_table_size(vpci, nr))
 
+#define VMSIX_ADDR_SAME_PAGE(addr, vpci, nr)                              \
+    (PFN_DOWN(addr) >= PFN_DOWN(vmsix_table_addr(vpci, nr)) &&            \
+     PFN_DOWN((addr)) < PFN_UP(vmsix_table_addr(vpci, nr) +               \
+                               vmsix_table_size(vpci, nr) - 1))
+
 static uint32_t cf_check control_read(
     const struct pci_dev *pdev, unsigned int reg, void *data)
 {
@@ -149,7 +154,7 @@ static struct vpci_msix *msix_find(const struct domain *d, unsigned long addr)
 
         for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
             if ( bars[msix->tables[i] & PCI_MSIX_BIRMASK].enabled &&
-                 VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, i) )
+                 VMSIX_ADDR_SAME_PAGE(addr, msix->pdev->vpci, i) )
                 return msix;
     }
 
@@ -182,93 +187,201 @@ static struct vpci_msix_entry *get_entry(struct vpci_msix *msix,
     return &msix->entries[(addr - start) / PCI_MSIX_ENTRY_SIZE];
 }
 
-static void __iomem *get_pba(struct vpci *vpci)
+static void __iomem *get_table(struct vpci *vpci, unsigned int slot)
 {
     struct vpci_msix *msix = vpci->msix;
     /*
-     * PBA will only be unmapped when the device is deassigned, so access it
-     * without holding the vpci lock.
+     * Regions will only be unmapped when the device is deassigned, so access
+     * them without holding the vpci lock.
      */
-    void __iomem *pba = read_atomic(&msix->pba);
+    void __iomem *table = read_atomic(&msix->table[slot]);
+    paddr_t addr = 0;
 
-    if ( likely(pba) )
-        return pba;
+    if ( likely(table) )
+        return table;
 
-    pba = ioremap(vmsix_table_addr(vpci, VPCI_MSIX_PBA),
-                  vmsix_table_size(vpci, VPCI_MSIX_PBA));
-    if ( !pba )
-        return read_atomic(&msix->pba);
+    switch ( slot )
+    {
+    case VPCI_MSIX_TBL_TAIL:
+        addr = vmsix_table_size(vpci, VPCI_MSIX_TABLE);
+        fallthrough;
+    case VPCI_MSIX_TBL_HEAD:
+        addr += vmsix_table_addr(vpci, VPCI_MSIX_TABLE);
+        break;
+
+    case VPCI_MSIX_PBA_TAIL:
+        addr = vmsix_table_size(vpci, VPCI_MSIX_PBA);
+        fallthrough;
+    case VPCI_MSIX_PBA_HEAD:
+        addr += vmsix_table_addr(vpci, VPCI_MSIX_PBA);
+        break;
+    }
+
+    table = ioremap(round_pgdown(addr), PAGE_SIZE);
+    if ( !table )
+        return read_atomic(&msix->table[slot]);
 
     spin_lock(&vpci->lock);
-    if ( !msix->pba )
+    if ( !msix->table[slot] )
     {
-        write_atomic(&msix->pba, pba);
+        write_atomic(&msix->table[slot], table);
         spin_unlock(&vpci->lock);
     }
     else
     {
         spin_unlock(&vpci->lock);
-        iounmap(pba);
+        iounmap(table);
     }
 
-    return read_atomic(&msix->pba);
+    return read_atomic(&msix->table[slot]);
 }
 
-static int cf_check msix_read(
-    struct vcpu *v, unsigned long addr, unsigned int len, unsigned long *data)
+unsigned int get_slot(const struct vpci *vpci, unsigned long addr)
 {
-    const struct domain *d = v->domain;
-    struct vpci_msix *msix = msix_find(d, addr);
-    const struct vpci_msix_entry *entry;
-    unsigned int offset;
+    unsigned long pfn = PFN_DOWN(addr);
 
-    *data = ~0ul;
+    /*
+     * The logic below relies on having the tables identity mapped to the guest
+     * address space, or for the `addr` parameter to be translated into its
+     * host physical memory address equivalent.
+     */
 
-    if ( !msix )
-        return X86EMUL_RETRY;
+    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_TABLE)) )
+        return VPCI_MSIX_TBL_HEAD;
+    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_TABLE) +
+                         vmsix_table_size(vpci, VPCI_MSIX_TABLE) - 1) )
+        return VPCI_MSIX_TBL_TAIL;
+    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_PBA)) )
+        return VPCI_MSIX_PBA_HEAD;
+    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_PBA) +
+                         vmsix_table_size(vpci, VPCI_MSIX_PBA) - 1) )
+        return VPCI_MSIX_PBA_TAIL;
+
+    ASSERT_UNREACHABLE();
+    return -1;
+}
 
-    if ( !access_allowed(msix->pdev, addr, len) )
-        return X86EMUL_OKAY;
+static bool adjacent_handle(const struct vpci_msix *msix, unsigned long addr)
+{
+    unsigned int i;
 
     if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) )
+        return true;
+
+    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_TABLE) )
+        return false;
+
+    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
+        if ( VMSIX_ADDR_SAME_PAGE(addr, msix->pdev->vpci, i) )
+            return true;
+
+    return false;
+}
+
+static int adjacent_read(const struct domain *d, const struct vpci_msix *msix,
+                         unsigned long addr, unsigned int len,
+                         unsigned long *data)
+{
+    const void __iomem *mem;
+    struct vpci *vpci = msix->pdev->vpci;
+    unsigned int slot;
+
+    *data = ~0ul;
+
+    if ( !adjacent_handle(msix, addr + len - 1) )
+        return X86EMUL_OKAY;
+
+    if ( addr & (len - 1) )
     {
-        struct vpci *vpci = msix->pdev->vpci;
-        unsigned int idx = addr - vmsix_table_addr(vpci, VPCI_MSIX_PBA);
-        const void __iomem *pba = get_pba(vpci);
+        unsigned int i;
+
+        gprintk(XENLOG_DEBUG, "%pp: unaligned read to MSI-X related page\n",
+                &msix->pdev->sbdf);
 
         /*
-         * Access to PBA.
+         * Split unaligned accesses into byte sized ones. Shouldn't happen in
+         * the first place, but devices shouldn't have registers in the same 4K
+         * page as the MSIX tables either.
          *
-         * TODO: note that this relies on having the PBA identity mapped to the
-         * guest address space. If this changes the address will need to be
-         * translated.
+         * It's unclear whether this could cause issues if a guest expects a
+         * registers to be accessed atomically, it better use an aligned access
+         * if it has such expectations.
          */
-        if ( !pba )
-        {
-            gprintk(XENLOG_WARNING,
-                    "%pp: unable to map MSI-X PBA, report all pending\n",
-                    &msix->pdev->sbdf);
-            return X86EMUL_OKAY;
-        }
 
-        switch ( len )
+        for ( i = 0; i < len; i++ )
         {
-        case 4:
-            *data = readl(pba + idx);
-            break;
+            unsigned long partial = ~0ul;
+            int rc = adjacent_read(d, msix, addr + i, 1, &partial);
 
-        case 8:
-            *data = readq(pba + idx);
-            break;
+            if ( rc != X86EMUL_OKAY )
+                return rc;
 
-        default:
-            ASSERT_UNREACHABLE();
-            break;
+            *data &= ~(0xfful << (i * 8));
+            *data |= ((uint8_t)partial) << (i * 8);
         }
 
         return X86EMUL_OKAY;
     }
 
+    slot = get_slot(vpci, addr);
+    if ( slot >= ARRAY_SIZE(msix->table) )
+        return X86EMUL_OKAY;
+
+    mem = get_table(vpci, slot);
+    if ( !mem )
+    {
+        gprintk(XENLOG_WARNING,
+                "%pp: unable to map MSI-X page, returning all bits set\n",
+                &msix->pdev->sbdf);
+        return X86EMUL_OKAY;
+    }
+
+    switch ( len )
+    {
+    case 1:
+        *data = readb(mem + PAGE_OFFSET(addr));
+        break;
+
+    case 2:
+        *data = readw(mem + PAGE_OFFSET(addr));
+        break;
+
+    case 4:
+        *data = readl(mem + PAGE_OFFSET(addr));
+        break;
+
+    case 8:
+        *data = readq(mem + PAGE_OFFSET(addr));
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+    }
+
+    return X86EMUL_OKAY;
+}
+
+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);
+    const struct vpci_msix_entry *entry;
+    struct vpci *vpci;
+    unsigned int offset;
+
+    *data = ~0ul;
+
+    if ( !msix )
+        return X86EMUL_RETRY;
+
+    if ( adjacent_handle(msix, addr) )
+        return adjacent_read(d, msix, addr, len, data);
+
+    vpci = msix->pdev->vpci;
+    if ( !access_allowed(msix->pdev, addr, len) )
+        return X86EMUL_OKAY;
+
     spin_lock(&msix->pdev->vpci->lock);
     entry = get_entry(msix, addr);
     offset = addr & (PCI_MSIX_ENTRY_SIZE - 1);
@@ -303,57 +416,103 @@ static int cf_check msix_read(
     return X86EMUL_OKAY;
 }
 
-static int cf_check msix_write(
-    struct vcpu *v, unsigned long addr, unsigned int len, unsigned long data)
+static int adjacent_write(const struct domain *d, const struct vpci_msix *msix,
+                          unsigned long addr, unsigned int len,
+                          unsigned long data)
 {
-    const struct domain *d = v->domain;
-    struct vpci_msix *msix = msix_find(d, addr);
-    struct vpci_msix_entry *entry;
-    unsigned int offset;
+    void __iomem *mem;
+    struct vpci *vpci = msix->pdev->vpci;
+    unsigned int slot;
 
-    if ( !msix )
-        return X86EMUL_RETRY;
+    if ( !adjacent_handle(msix, addr + len - 1) )
+        return X86EMUL_OKAY;
 
-    if ( !access_allowed(msix->pdev, addr, len) )
+    /*
+     * Only check start and end of the access because the size of the PBA is
+     * assumed to be equal or bigger (8 bytes) than the length of any access
+     * handled here.
+     */
+    if ( (VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) ||
+          VMSIX_ADDR_IN_RANGE(addr + len - 1, vpci, VPCI_MSIX_PBA)) &&
+         !is_hardware_domain(d) )
+        /* Ignore writes to PBA for DomUs, it's undefined behavior. */
         return X86EMUL_OKAY;
 
-    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) )
+    if ( addr & (len - 1) )
     {
-        struct vpci *vpci = msix->pdev->vpci;
-        unsigned int idx = addr - vmsix_table_addr(vpci, VPCI_MSIX_PBA);
-        const void __iomem *pba = get_pba(vpci);
+        unsigned int i;
 
-        if ( !is_hardware_domain(d) )
-            /* Ignore writes to PBA for DomUs, it's behavior is undefined. */
-            return X86EMUL_OKAY;
+        gprintk(XENLOG_DEBUG, "%pp: unaligned write to MSI-X related page\n",
+                &msix->pdev->sbdf);
 
-        if ( !pba )
+        for ( i = 0; i < len; i++ )
         {
-            /* Unable to map the PBA, ignore write. */
-            gprintk(XENLOG_WARNING,
-                    "%pp: unable to map MSI-X PBA, write ignored\n",
-                    &msix->pdev->sbdf);
-            return X86EMUL_OKAY;
-        }
+            int rc = adjacent_write(d, msix, addr + i, 1, data >> (i * 8));
 
-        switch ( len )
-        {
-        case 4:
-            writel(data, pba + idx);
-            break;
+            if ( rc != X86EMUL_OKAY )
+                return rc;
+        }
 
-        case 8:
-            writeq(data, pba + idx);
-            break;
+        return X86EMUL_OKAY;
+    }
 
-        default:
-            ASSERT_UNREACHABLE();
-            break;
-        }
+    slot = get_slot(vpci, addr);
+    if ( slot >= ARRAY_SIZE(msix->table) )
+        return X86EMUL_OKAY;
 
+    mem = get_table(vpci, slot);
+    if ( !mem )
+    {
+        gprintk(XENLOG_WARNING,
+                "%pp: unable to map MSI-X page, dropping write\n",
+                &msix->pdev->sbdf);
         return X86EMUL_OKAY;
     }
 
+    switch ( len )
+    {
+    case 1:
+        writeb(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    case 2:
+        writew(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    case 4:
+        writel(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    case 8:
+        writeq(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+    }
+
+    return X86EMUL_OKAY;
+}
+
+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 vpci_msix_entry *entry;
+    struct vpci *vpci;
+    unsigned int offset;
+
+    if ( !msix )
+        return X86EMUL_RETRY;
+
+    if ( adjacent_handle(msix, addr) )
+        return adjacent_write(d, msix, addr, len, data);
+
+    vpci = msix->pdev->vpci;
+    if ( !access_allowed(msix->pdev, addr, len) )
+        return X86EMUL_OKAY;
+
     spin_lock(&msix->pdev->vpci->lock);
     entry = get_entry(msix, addr);
     offset = addr & (PCI_MSIX_ENTRY_SIZE - 1);
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 6d48d496bb..652807a4a4 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -54,9 +54,12 @@ void vpci_remove_device(struct pci_dev *pdev)
     spin_unlock(&pdev->vpci->lock);
     if ( pdev->vpci->msix )
     {
+        unsigned int i;
+
         list_del(&pdev->vpci->msix->next);
-        if ( pdev->vpci->msix->pba )
-            iounmap(pdev->vpci->msix->pba);
+        for ( i = 0; i < ARRAY_SIZE(pdev->vpci->msix->table); i++ )
+            if ( pdev->vpci->msix->table[i] )
+                iounmap(pdev->vpci->msix->table[i]);
     }
     xfree(pdev->vpci->msix);
     xfree(pdev->vpci->msi);
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index d8acfeba8a..0b8a2a3c74 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -133,8 +133,12 @@ struct vpci {
         bool enabled         : 1;
         /* Masked? */
         bool masked          : 1;
-        /* PBA map */
-        void __iomem *pba;
+        /* Partial table map. */
+#define VPCI_MSIX_TBL_HEAD 0
+#define VPCI_MSIX_TBL_TAIL 1
+#define VPCI_MSIX_PBA_HEAD 2
+#define VPCI_MSIX_PBA_TAIL 3
+        void __iomem *table[4];
         /* Entries. */
         struct vpci_msix_entry {
             uint64_t addr;
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 12:15:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 12:15:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510548.788368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmWI-0005Sr-98; Thu, 16 Mar 2023 12:15:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510548.788368; Thu, 16 Mar 2023 12:15:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmWI-0005Sk-6N; Thu, 16 Mar 2023 12:15:46 +0000
Received: by outflank-mailman (input) for mailman id 510548;
 Thu, 16 Mar 2023 12:15: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=umpT=7I=citrix.com=prvs=432886d25=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pcmWG-0005Se-UP
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 12:15:44 +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 445b8d98-c3f4-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 13:15: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: 445b8d98-c3f4-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678968942;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=UUG73Of9VZy8loR0betAoy6xSd0TgfI9WHae+0+/62M=;
  b=JeSFXKWpG11D8FMlc1hSwxL2p+tHMAdvS4lXMbE4tzM51uLi4sQkjctl
   k5KKrG4FlJ8n6hCu4ndBDrMFpSXJrk7iqkYwmYM6onsao/qFW3gTqvdeM
   kMd/e3ECVNg2cJiI3wT4fLsr0NSvk8riJZIXx3ctgeMobLwNlFQt1kuYC
   E=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103522644
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:iUe/NqJaJm4UKkiYFE+R+pUlxSXFcZb7ZxGr2PjKsXjdYENS0jQDy
 GEaWDvTbv2NMTTzeotzat/i9kkGuZeBx9I1TgtlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QVgPa4jUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5uJD0S/
 vI0Lws0UTeNi9mZm6+dRNZj05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWleG0hn75YntApUicv6Yf6GnP1g1hlrPqNbI5f/TTHZ4IxBzG+
 j6uE2LRPB0nEIOizGO5qVGOl9TsnXPhfLI4PejtnhJtqALKnTFCYPEMbnO+qOO8g1SzWPpeL
 VIV4SskqaUu9E2tQcL5Vhf+q3mB1jYVQ9dKGvc2wB2MwKHTpQ2eAwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxRutPQAFIGlEYjULJTbp+PG6/tt11EiWCI8+Tujs1Iad9SzML
 y6itQ1i274dockw7pqc81z8rGmxgJb2QVtgjunIZV6N4gR8bY+jQoWn71nH8PpNRLqkokm9U
 GsswJbHsr1XZX2ZvGnUGbhWQun1jxqQGGeE6WODCaXN4NhEF5SLWYlLqA9zK05yWirvUW+4O
 RSD0e+9CXI6AZdLUUOVS9jsYyjJ5fK6fTgAahwzRosmX3SJXFXblByCnGbJt4wXrGAikLskJ
 bCQetu2AHARBMxPlWTpF7ZFjOJyl31jmws/oKwXKDz2uYdymVbPEetVWLdwRrlRAFy4TPX9r
 I8EapriJ+R3W+zieCjHmbMuwaQxBSFjX/je8pUHHtNv1yI6QAnN/deNm+J+E2Gk9owJ/tr1E
 oaVBxIClAam1SacQehIA1g6AI7SsV9EhSpTFUQR0ZyAhyRLjVqHhEvHS6YKQA==
IronPort-HdrOrdr: A9a23:Rgcqj6MMZgCFkcBcTsWjsMiBIKoaSvp037BL7SxMoHluGfBw+P
 rAoB1273HJYVQqOE3I6OrgBEDoexq1n/NICOIqTNSftWfdyQ+VBbAnwYz+wyDxXw3Sn9Qtsp
 uIqpIOauEY22IK6PrH3A==
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="103522644"
Date: Thu, 16 Mar 2023 12:15:04 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Marek
 =?iso-8859-1?Q?Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 5/7] tools: Use -s for python shebangs
Message-ID: <613f42a1-aa09-41fa-bf4c-0bf0424cc089@perard>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
 <20230314141520.3652451-6-andrew.cooper3@citrix.com>
 <626de813-99aa-6d44-c895-73e9cdd19967@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <626de813-99aa-6d44-c895-73e9cdd19967@citrix.com>

On Tue, Mar 14, 2023 at 02:50:48PM +0000, Andrew Cooper wrote:
> On 14/03/2023 2:15 pm, Andrew Cooper wrote:
> > diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
> > index 29ad0513212f..04b3995cc0f6 100644
> > --- a/tools/pygrub/Makefile
> > +++ b/tools/pygrub/Makefile
> > @@ -7,7 +7,7 @@ PY_LDFLAGS = $(SHLIB_LDFLAGS) $(APPEND_LDFLAGS)
> >  INSTALL_LOG = build/installed_files.txt
> >  
> >  setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLAGS)" \
> > -           $(PYTHON) setup.py
> > +           $(PYTHON) setup.py --executable="$(PYTHON_PATH) -s"
> 
> /sigh
> 
> CI has gone a wall of red to this. Apparently --executable is only
> known by setuputils, not distutils.
> 
> Which is a problem because it means the main pygrub executable won't get
> a corrected shebang, as it doesn't pass through install-wrap.
> 
> In the short term, I could fix that by moving the main pygrub binary out
> of setup.py and do it manually. Thoughts?

Or do the fixing in "setup.py", https://stackoverflow.com/a/17099342 :-)
But that probably more work that necessary.
Doing the binary installation in the Makefile sounds fine.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 12:24:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 12:24:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510551.788381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmeO-0007Bc-4C; Thu, 16 Mar 2023 12:24:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510551.788381; Thu, 16 Mar 2023 12: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 1pcmeO-0007BV-17; Thu, 16 Mar 2023 12:24:08 +0000
Received: by outflank-mailman (input) for mailman id 510551;
 Thu, 16 Mar 2023 12:24:07 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pcmeN-0007BL-7J; Thu, 16 Mar 2023 12:24:07 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pcmeN-0006Ab-6A; Thu, 16 Mar 2023 12:24:07 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pcmeM-0002D8-Sc; Thu, 16 Mar 2023 12:24:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcmeM-0002La-SA; Thu, 16 Mar 2023 12:24:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HiuKsaa3Y8ERpvJ0B0soorAt42ra34W4CNOwdkfHxLs=; b=ay80LvIrZevY52NCOBBbC1+7Vg
	jMFEFY052QUQoby60R2YP1BNtnon2ne9AV0UgpawPsvkRzXK08ZXEtQnYv1uN8KWKx+qdH3cGVZf+
	uLDG8pF2n8EV1EU1/bDJmO+fMfaRj0p9PHbpGWzHl7tyymSjg18Wl5ReDsfBxKQCabSY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179665-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179665: regressions - trouble: blocked/fail/pass/starved
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:regression
    libvirt:build-arm64-pvops:kernel-build:fail:regression
    libvirt:test-arm64-arm64-libvirt:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-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-qemuu-debianhvm-amd64-xsm:migrate-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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=3916df52a4a9174acc7812d15d8726651768f207
X-Osstest-Versions-That:
    libvirt=8386242bd0f6c1cb242f9c711e2ef864bf114d0d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Mar 2023 12:24:06 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail REGR. vs. 179640
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 179640

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt      1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-qcow2  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 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-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              3916df52a4a9174acc7812d15d8726651768f207
baseline version:
 libvirt              8386242bd0f6c1cb242f9c711e2ef864bf114d0d

Last test of basis   179640  2023-03-15 04:19:43 Z    1 days
Testing same since   179665  2023-03-16 04:18:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jiri Denemark <jdenemar@redhat.com>
  Ján Tomko <jtomko@redhat.com>
  Michal Privoznik <mprivozn@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 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                                 blocked 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               blocked 
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 12:25:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 12:25:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510555.788392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmf6-0007fM-FB; Thu, 16 Mar 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 510555.788392; Thu, 16 Mar 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 1pcmf6-0007fF-BW; Thu, 16 Mar 2023 12:24:52 +0000
Received: by outflank-mailman (input) for mailman id 510555;
 Thu, 16 Mar 2023 12: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcmf5-0007eE-Mq
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 12:24:51 +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 8a8bede4-c3f5-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 13:24:49 +0100 (CET)
Received: from mail-bn8nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 08:24:46 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN9PR03MB6012.namprd03.prod.outlook.com (2603:10b6:408:135::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 12:24:43 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 12: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>
X-Inumbo-ID: 8a8bede4-c3f5-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678969489;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=cvHdYvzfA0pI0YgnJRrlXPYtN9PhxjTx626M75DD7Sg=;
  b=FI/Az81/y4lPgaLPjGm8k5z09FEl9DTMbgq8H8IL9tRqJe4Z0P68CMF+
   sLOuqPey2QawIiafM1IBV1NH8/44nZfjlaLhv1O+3QbYMfgW7v/ynRswV
   oSaVhrIPCb2BLB3xAkvSfgXPkvp6yS9oLs7l5wj9ImCOGvVjNwzlj3RBD
   I=;
X-IronPort-RemoteIP: 104.47.55.174
X-IronPort-MID: 101517349
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:d04PP6gIEZqbFl4KDtpQ6FpcX161VREKZh0ujC45NGQN5FlHY01je
 htvDWCObK2NYmTzKtt+bY639h9S75CEm9FhGlRl/ywzFS0b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waAzyd94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQhLA1SdjSI3tu//729eOIxxZwCJ8LkadZ3VnFIlVk1DN4AaLWaGeDgw48d2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEsluGybLI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjAd9LS+bkp5aGhnWc/2AuLhs8SWKj+9eirWC3UvNfC
 1A9r39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLE7gDcCmUaQzppbN09qNRwVTEsz
 kWOnd7iGXpoqrL9YW2Z3qeZq3W1Iyd9BXMDYAcUQA1D5MPsyLzflTrKR9dnVaSz3tv8HGiqx
 yjQ9XdiwbIOkcQMyqO3u0jdhC6hrYTISQhz4RjLWmWi7UVyY4vNi5GU1GU3JM1odO6xJmRtd
 lBe8yRCxIji1a2wqRE=
IronPort-HdrOrdr: A9a23:vsMFBKAddAI+WWPlHel+55DYdb4zR+YMi2TDgXoBNSC9Vvbo7P
 xG+85rrSMc6QxhIU3I/OrrBEDuewK+yXcY2+ks1PKZLWzbUQiTXedfBOnZsl/d8nbFh5RgPM
 5bGsAUNDSzNykfsS+Q2njeLz9P+ri62ZHtrfvCyWxgVAR7ApsQkjuRyTz2LqS1fmR77FYCe6
 Z0L/Aomwad
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101517349"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kNfqpTfVB8oYQcLmb2l0EF4YfrtOD206WHfDCJ/laGZwbP42AHWeU2WY0bfeQ7BCId6vLu4giA54MCH3zWOaOQeJRrHm9qSDu7ELLBXv6mlrflnsTVGLwU8aiwathanInWCKCCNC++XEubLQsph4KadUlpSKP8tr/7lL9Aqz+gsgc4Ra7O0DJoCG5yHTcJjR6sQGcXY84M4mWeUcnuV4SQOO2/LJ0RdBwuOr+cimbPbKe57f4pNJ0Lvy5OZbRGLqrnH4+I1C4osfMAZ+t3wbS2iIMvRelu8YOlEtChfj5ledOe8/M+Qrc4aN367hn6MgQHJag9UFzmizhUYhRiHVzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LM8NgWBwfHC+G56WpuxfhxSzR2byFzQqIoYtntZyTjA=;
 b=BclxDexCcVEYiJw7YkFdiWRDq/JsvqaoHzCxqFu9XgPVuNQ30VDtQY8x9oclxR9Iu1Oxi4PpCdi6dovoqWuYiT7gC98fja5gMcVxcI2LdEilo/Yotk26D6dC+KKRElj2iytXxtG4ciGtpFQU1MxIQtPYS4jxaaciTG5l9lk9XRlV8GfBsUOh8xAC31KXPf/En6ZHZagbybvdPIQJkqcvm5cbDOv5pJg6eAbfTQoG0XVObGZlErFS1azZJMDjRL8KrbX8SGL4lLufxGjOZZ34Nfe7pl0LOId1dphrr91hPR5kp6oq3lOAGsgUSR/Sq68YF/+nMpBkCUt+mDWiJ/WIeA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LM8NgWBwfHC+G56WpuxfhxSzR2byFzQqIoYtntZyTjA=;
 b=rkVrSKjJXuW1lhUJ7sEug/hUN5reNjUoGzIOTT2BDqjxovEZuRNMzdXK43lPrMYhr6ygx+am3fE9wMqAFsfmYMjAtcL0mf0pt6kUonKic2A3YzdDSCD3qp029zhrfGO2JqhX+iHp2FyL6THpAnuf4eGoe1Pkv6vntp51CxV/usI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 13:24: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>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH v2 1/5] x86/paging: fold most HAP and shadow final
 teardown
Message-ID: <ZBMKhQWl1pZppgSj@Air-de-Roger>
References: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com>
 <67b9378f-cf4a-f210-aa2d-85af51c51ab0@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <67b9378f-cf4a-f210-aa2d-85af51c51ab0@suse.com>
X-ClientProxiedBy: LO2P265CA0265.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a1::13) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN9PR03MB6012:EE_
X-MS-Office365-Filtering-Correlation-Id: f1ca1fd5-f445-464b-d6f4-08db26196c24
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vxIqY4utKBsD41HqW2BLP2L8i7fIA4Fsny78bl887RBTskAnIFIGuXFkGGaUaTTO2MQTcQjRwAziNuCBFaRTrXiEuitQ3M4gWBG9EfLb+0vPglpMNnunS9QYtsb3AT+9Re17FeeaiUu6lshuHHaTM+oWKWIsTFAorehPUNwvjbJEbDhOjHFBOjF53wXrg4cGxC8psdcXLBUurF5rIATSQNyULfzPKfHEGvcdFhhOo7NIjrXDbZaKD5zvmFc+qFUv8ig/adz9xL1uNaFRz8kAsAXlb6quj4X1J4dvzld9pYGsdbGaASbvxBjps5/hiROEtq9W06YUgcQOmKYYceFWrin6eftkiCRIJWJsP7rfQ2DRcSd83fXQ6s2G0d27V1QJ1/vXQ7NXOAb8PWtoEAKBR1Svx8PYao3E94/xnS0SC/ubocDzf6MoPk26PefHmIqWZOMz+491ROj42IqIhhrUw3pI1ZyoVF9u/UrquWtNJivTpICUwypBiYszLOEm9s4La744Pa9l40b7En3Ml3jqsCrBy2a0GO/1yU+S5LHwFGlrS2UUe1eZvyCWn4HYoKJ97iOx5mtwcQzJz+LdSvGsBeUlD1waz3QgzLHgksfNs3hqffv2gtVq8QmvaoLAs5MN0YQ76mD/70+Vy2NvBsEbVw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(366004)(136003)(396003)(39860400002)(376002)(346002)(451199018)(9686003)(6666004)(82960400001)(6486002)(478600001)(83380400001)(54906003)(316002)(6512007)(6506007)(186003)(26005)(2906002)(6916009)(4326008)(8676002)(66476007)(66556008)(66946007)(41300700001)(8936002)(5660300002)(38100700002)(33716001)(85182001)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bUFJS0t3aGdLL1pKaE9LTjl0L2dZZ0QzNU5MT0tLYS9MR0lJNGlqUzlzTnBF?=
 =?utf-8?B?b2RwNTQzK1NmZTVxTnNsNVBuTG1JSjM4c2xuU2Y2bmFOdDB0akk3eWJWV1hj?=
 =?utf-8?B?ZUFJTVZiazB4TnlCajlobi9rZ1Q3SmNvQ1hDdHBCa2o0M2VLS00zUzFzV1Rl?=
 =?utf-8?B?YnRNQjNqbDdaWCtKelgwZzAxeG5YT3RMejFsc3pSK3d3WGZRRXBXUWE0aWR6?=
 =?utf-8?B?OXM5WU1aN2ZoZDZwRSthVWtQNDBxS2YyNDNmaFNjYXNkbzVZYWNMU0Q1Wnpp?=
 =?utf-8?B?SXJCUERXTmVDb04yY2szRk85NGNLMHF4REkxSXNabFdwOGpqQmdXamhzbkpU?=
 =?utf-8?B?SHA1V0JRYTk4KzMyNFJ5MUc3STB6blNvYXJhWDFxaVNpeXJHdXQ3NkQxYU44?=
 =?utf-8?B?bFk3SWxYWG4vZmhGM0NROHBGbTdkcmFXZmRQTkxHaHZwWTdDcjBkZTVleEE5?=
 =?utf-8?B?OExDZlZmejM4b3dzaENqRDVGbmtCaUZmMzVSNjVPN3pRdXVIeDYzOWtRTFJ3?=
 =?utf-8?B?bURvYU1NYWxZM2JDN29PUm9OYkhLMlpCUlp0VnR4cUtlQkdkeDhoS3lubi91?=
 =?utf-8?B?cS83Y3FiMXFxbG5xd1JpNDF4aG54OTAxQXRvT2sxekYxV1JVTEVmY3RHRHZS?=
 =?utf-8?B?V0t5bVZZNEY4em1JVXNXQlBLZlp1Z3I3b0NQUEp6THNLUWtuQ24vUk9JYm1Z?=
 =?utf-8?B?Z1h4b09EYU5IanQzcm4rdEdxTXJMcTJEUjhjYnVJdUpHN3ErOVQzRy8yck8y?=
 =?utf-8?B?UGhielBuckdXOU5UdnFOazRJRFd1OHlvU01ib05RanFmUEJrNHNlWkY4RGk0?=
 =?utf-8?B?OS9kMDA4V3F4WVNRSDZhWityUCtaczZsaGlaRCtmZFl1eTF4b1Jqb21KR0RN?=
 =?utf-8?B?SFgyNlFHNGJ0bDY1RWxXeURoT01QY0UvTSs3TUgrUVVMZHJTYmNvU1p3NTkv?=
 =?utf-8?B?eFJkNXliR1pCNFdNcmNndEZDeGxDTGhtM1NYNHh4L3V1anFZN1draUFjS0RG?=
 =?utf-8?B?ZnYzTUVwRmdYSWFONVVPZ0dlMkY3dWRKVUEwamwwUWZnVUZ4K3ZEcE1scUxl?=
 =?utf-8?B?biszRXhadlVLMEtEYWMyUGtxdkFjSGZuTDV0ZEVmOStLZjZyS1AxWG9xajhp?=
 =?utf-8?B?QWFGYUJoc1NJS0Y5TGJsWDFod1RGNkdtdTJFWHJZMzRGR1g5STdpMSszVU1w?=
 =?utf-8?B?R2hWcHkvdldNWEhlNVJzaUpyUXdpMFIzTVJ1ZFBPU00wc2VVUC9zQ0w5Smwy?=
 =?utf-8?B?SEtaNWxTaXdZTkNKK0JrOTNRM0RsdEZlTTBqOXBKV09kU2hRUnJrbi95djg0?=
 =?utf-8?B?cElqYTRCdjI4QTlEZ2N6UUdOSlpETXNkZHVETEw2MVhvVXlPNEwyQXVGMXdZ?=
 =?utf-8?B?UkgvdG1BU2hqOEsvVVJWZTN6YlZ2dE1nK1ZUb1lmZjk4UXBDZUxuMW1wTXRx?=
 =?utf-8?B?c0EzcExXUElzeHVpOXg2NXZnNmZkcGVteWxWa0xBK3d1YUpqS3NLZGNlTHJ2?=
 =?utf-8?B?U1BKTGplUDFXVHFhRTh4eGJuT3VicSs5d2NRSFE2WWRIaGg3ZTFGejZXU3RO?=
 =?utf-8?B?QXREZ3VTQjJjZE9zQjE2K0paUEQ1S3J1RjVYOExHdWxEbnJaTHFONjZkYWQ5?=
 =?utf-8?B?ZDdHOXk4ZmU1WE81K2NkZXgyMllmWFI2SS9OV1M0eDIxRDdaMjRndEI0cW9Y?=
 =?utf-8?B?Z3RuOG94ZGxVSk1wUVNOclV1Mk9WZFVhWnRxV2RPSXhiOWtFVlVYNVhaZTls?=
 =?utf-8?B?ck5CNzdhRTVTOEVzVEJuK29uUFV6N2VMNmtOeDRXbGV6VkE2dlB5L0VidXFV?=
 =?utf-8?B?NWtSS1VEbW5YbFR0NGtqSU56Rit1ZXB2eHFYRXI1K3pHOEc0TXc3ZTFmM0N2?=
 =?utf-8?B?eXlzN1RwMjlEV1dDYzMzTjVDd1B1K3A2WDYxZzNxeGhqMEw1c0cwdEN1T04x?=
 =?utf-8?B?a25UZldhL2NTKzVKTkNZWTY0eUpxZmZLb0l1eTB3cGVFeXhrczd0eHkxM0NH?=
 =?utf-8?B?d0pGNXZ2aGt4QmozNlp6SDkySmQ2cUVOMGZrZ2Nac1pBWi8yRVJPWjhYOVJM?=
 =?utf-8?B?RGRLSmxaRklOcktqRVBnYlNvVEhXY1BVdFk5UTZWM0cyMHNLVzNtc2FTcGIy?=
 =?utf-8?B?Y0VUS1ZneXVsK3VkTWNpUHF3MkJxK1h5MHNlbTVtcjJua201ZjdkU1phMDRB?=
 =?utf-8?B?ekE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	EnmkrDtJOi9gMVAkCrx/Vc70UeHeI1rUV9IYYszfOp1BCUhDTepZHk1K/wQ8R2HHF8ri9MNk2A/Ep2LGB7w1gPCGl6fPHRLVr0PBHB/IgSt/Or/jNWAQ27HZQ3fi0MwezJB06zTzAy1IsJ0NL69Ruvd8h2M1BERx4alt3R1RayZim8SGsuAz0FGkuCD7p1LBB2VYEo6e2xp63VYzSCyCCWERf2AHTmzdRB+z6R5lUjqelp4DQseI2QGJ9A3GGgCMjsVzv61MzbVllQAaP0/FeVXtIa1vtfApboIBfaaI5tgmuUJdUXMiogNPmXbeyWhymISIpDmPVuyrq30QTENgt1IoBngFemrFIZJnbNMJEUgu30MgTzPOTB+eVgErHHljkNQxLqvCjXc6s3aDwZLOJ/VnNL1NBo+KnciBxCBoLbkBpCJso9vXzrvZG7kYDddu8wbNSk4sWU5yf3+No8Ibm3PW7fuv2twHvsrzjVbdl3r4ntYAJnf7d0glQdnEwF1oI9C0oc3t+YWzQTP+0LzfJUlzLMCC4wA++AzG1LvdvzzwiXvs8uzlstYtuMgoBggsZ1vTSCRjHf2DJrSIx1tdbPTjs64khCH7IRfxAsvyaO6PYDD98VeOWuPcKA5pQHLSwfumYZSvklMupNEGs2RSUv9d5JZ4bmm4TxRC8/hRvDW1oeZrKZRj0ZMa5+Pat3tjq3QB3GIzeERk2kvK4riRK/sPH5F0wVI/ZpQzlvn8m8ChPX07csoDpikUfvq4mNxqp0SkERXghMEOuRZnHfYyJ8YEeIOxf7/oFnneDlDwuFcUsWMsZ4I+ymXD5mZVIqn4VQzIbjgZ14LKS262xKGnZg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1ca1fd5-f445-464b-d6f4-08db26196c24
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 12:24:43.6586
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6vjODLYRNAK51hVmIZlLp5/5+Qm/tU4vYiJ5tqanZbxP4dEYAl7Ima9ZuBkAR/S5J2inu3oLcLLM8RsCnKe/uA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6012

On Mon, Jan 09, 2023 at 02:39:19PM +0100, Jan Beulich wrote:
> HAP does a few things beyond what's common, which are left there at
> least for now. Common operations, however, are moved to
> paging_final_teardown(), allowing shadow_final_teardown() to go away.
> 
> While moving (and hence generalizing) the respective SHADOW_PRINTK()
> drop the logging of total_pages from the 2nd instance - the value is
> necessarily zero after {hap,shadow}_set_allocation() - and shorten the
> messages, in part accounting for PAGING_PRINTK() logging __func__
> already.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> The remaining parts of hap_final_teardown() could be moved as well, at
> the price of a CONFIG_HVM conditional. I wasn't sure whether that was
> deemed reasonable.
> ---
> v2: Shorten PAGING_PRINTK() messages. Adjust comments while being
>     moved.
> 
> --- a/xen/arch/x86/include/asm/shadow.h
> +++ b/xen/arch/x86/include/asm/shadow.h
> @@ -78,9 +78,6 @@ int shadow_domctl(struct domain *d,
>  void shadow_vcpu_teardown(struct vcpu *v);
>  void shadow_teardown(struct domain *d, bool *preempted);
>  
> -/* Call once all of the references to the domain have gone away */
> -void shadow_final_teardown(struct domain *d);
> -
>  void sh_remove_shadows(struct domain *d, mfn_t gmfn, int fast, int all);
>  
>  /* Adjust shadows ready for a guest page to change its type. */
> --- a/xen/arch/x86/mm/hap/hap.c
> +++ b/xen/arch/x86/mm/hap/hap.c
> @@ -268,8 +268,8 @@ static void hap_free(struct domain *d, m
>  
>      /*
>       * For dying domains, actually free the memory here. This way less work is
> -     * left to hap_final_teardown(), which cannot easily have preemption checks
> -     * added.
> +     * left to paging_final_teardown(), which cannot easily have preemption
> +     * checks added.
>       */
>      if ( unlikely(d->is_dying) )
>      {
> @@ -552,18 +552,6 @@ void hap_final_teardown(struct domain *d
>      for (i = 0; i < MAX_NESTEDP2M; i++) {
>          p2m_teardown(d->arch.nested_p2m[i], true, NULL);
>      }
> -
> -    if ( d->arch.paging.total_pages != 0 )
> -        hap_teardown(d, NULL);
> -
> -    p2m_teardown(p2m_get_hostp2m(d), true, NULL);
> -    /* Free any memory that the p2m teardown released */
> -    paging_lock(d);
> -    hap_set_allocation(d, 0, NULL);
> -    ASSERT(d->arch.paging.p2m_pages == 0);
> -    ASSERT(d->arch.paging.free_pages == 0);
> -    ASSERT(d->arch.paging.total_pages == 0);
> -    paging_unlock(d);
>  }
>  
>  void hap_vcpu_teardown(struct vcpu *v)
> --- a/xen/arch/x86/mm/paging.c
> +++ b/xen/arch/x86/mm/paging.c
> @@ -842,10 +842,45 @@ int paging_teardown(struct domain *d)
>  /* Call once all of the references to the domain have gone away */
>  void paging_final_teardown(struct domain *d)
>  {
> -    if ( hap_enabled(d) )
> +    bool hap = hap_enabled(d);
> +
> +    PAGING_PRINTK("%pd start: total = %u, free = %u, p2m = %u\n",
> +                  d, d->arch.paging.total_pages,
> +                  d->arch.paging.free_pages, d->arch.paging.p2m_pages);
> +
> +    if ( hap )
>          hap_final_teardown(d);
> +
> +    /*
> +     * Remove remaining paging memory.  This can be nonzero on certain error
> +     * paths.
> +     */
> +    if ( d->arch.paging.total_pages )
> +    {
> +        if ( hap )
> +            hap_teardown(d, NULL);
> +        else
> +            shadow_teardown(d, NULL);

For a logical PoV, shouldn't hap_teardown() be called before
hap_final_teardown()?

Also hap_final_teardown() already contains a call to hap_teardown() if
total_pages != 0, so this is just redundant in the HAP case?

Maybe we want to pull that hap_teardown() out of hap_final_teardown()
and re-order the logic so hap_teardown() is called before
hap_final_teardown()?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 12:33:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 12:33:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510561.788408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmnV-000181-I2; Thu, 16 Mar 2023 12:33:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510561.788408; Thu, 16 Mar 2023 12: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 1pcmnV-00017u-E7; Thu, 16 Mar 2023 12:33:33 +0000
Received: by outflank-mailman (input) for mailman id 510561;
 Thu, 16 Mar 2023 12:33: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=AWu8=7I=tklengyel.com=bounce+e181d6.cd840-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1pcmnU-00017o-6g
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 12:33:32 +0000
Received: from rs227.mailgun.us (rs227.mailgun.us [209.61.151.227])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id c16d6937-c3f6-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 13:33:31 +0100 (CET)
Received: from mail-yb1-f173.google.com (mail-yb1-f173.google.com
 [209.85.219.173]) by
 95303ccc4d02 with SMTP id 64130c984699828fae7672ed (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Thu, 16 Mar 2023 12:33:28 GMT
Received: by mail-yb1-f173.google.com with SMTP id u32so1666131ybi.6
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 05:33: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
X-Inumbo-ID: c16d6937-c3f6-11ed-87f5-c1b5be75604c
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=tklengyel.com;
 q=dns/txt; s=mailo; t=1678970008; x=1678977208; h=Content-Type: Cc: To: To:
 Subject: Subject: Message-ID: Date: From: From: In-Reply-To: References:
 MIME-Version: Sender: Sender;
 bh=0bHaTbt3nUR1/J8GfDwTJUxbkQ9r+yXVy745SvVBSQE=;
 b=U8qIkq04TbwIQN0qe1EOQe+JCyWHh5SUtUWKhhnKeZxDCuqbchXQcVSMXAjYYfy85eXAV/PukF4qGXBJk/+Kt5gWNHf58J7JRroZKbrbJRCNYSjxY0Gkie25yKQh/SF5kGSf5NMjK6/IzEi9QNPlbRJ83RnTXvnT2RVLWHyJ50CwC7H2LBOw8OePtjT/uezTD7sc5FR3xBFD2/GgJf7UK/9OcIdgWLEJHTSqmjvqomaRLm01YsNcNJP0++ujRnvgeH0EKjd6I+pN1kNj4SlUkD0qHbvP/qcMlBzcBQcwmJdKwOvS7sMfRt+tRLdFm1Z23yrdKrJZqJQyF++Gcn+LyA==
X-Mailgun-Sending-Ip: 209.61.151.227
X-Mailgun-Sid: WyIyYTNmOCIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsImNkODQwIl0=
Sender: tamas@tklengyel.com
X-Gm-Message-State: AO0yUKXA0ET8qaNb6l6eUVzgg40nw++PuXKwdF+rmSfo0XxdedQe2xss
	sl76KQ0SPcHhG/weiwe719OC153lJc/Pws880vs=
X-Google-Smtp-Source: AK7set82+1wgfzNy9t5cGC1bAXFSmQmPmxfZXFggYMshbbnD5gkNPvtHezxRvcV7wrJqTl+9h045lMTtde/PAb2MSaU=
X-Received: by 2002:a05:6902:1541:b0:b4c:9333:295 with SMTP id
 r1-20020a056902154100b00b4c93330295mr4567563ybu.6.1678970007860; Thu, 16 Mar
 2023 05:33:27 -0700 (PDT)
MIME-Version: 1.0
References: <aab9c8ae059d5f584516d0b6466e57ce0981dadc.1678904818.git.isaikin-dmitry@yandex.ru>
In-Reply-To: <aab9c8ae059d5f584516d0b6466e57ce0981dadc.1678904818.git.isaikin-dmitry@yandex.ru>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Thu, 16 Mar 2023 08:32:51 -0400
X-Gmail-Original-Message-ID: <CABfawhmTsGmdaThwVwu7yhE2zB-VmdPei2FcZ1_UZH9EU9Cvbg@mail.gmail.com>
Message-ID: <CABfawhmTsGmdaThwVwu7yhE2zB-VmdPei2FcZ1_UZH9EU9Cvbg@mail.gmail.com>
Subject: Re: [XEN PATCH v2] x86/monitor: Add new monitor event to catch I/O instructions
To: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
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>, Alexandru Isaila <aisaila@bitdefender.com>, 
	Petre Pircalabu <ppircalabu@bitdefender.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, 
	Anton Belousov <abelousov@ptsecurity.com>
Content-Type: multipart/alternative; boundary="000000000000e83b5405f703aa30"

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

On Wed, Mar 15, 2023 at 2:55=E2=80=AFPM Dmitry Isaykin <isaikin-dmitry@yand=
ex.ru>
wrote:
>
> Adds monitor support for I/O instructions.
>
> Signed-off-by: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
> Signed-off-by: Anton Belousov <abelousov@ptsecurity.com>

Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

--000000000000e83b5405f703aa30
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Wed, Mar 15, 2023 at 2:55=E2=80=AFPM Dmitry Isa=
ykin &lt;<a href=3D"mailto:isaikin-dmitry@yandex.ru">isaikin-dmitry@yandex.=
ru</a>&gt; wrote:<br>&gt;<br>&gt; Adds monitor support for I/O instructions=
.<br>&gt;<br>&gt; Signed-off-by: Dmitry Isaykin &lt;<a href=3D"mailto:isaik=
in-dmitry@yandex.ru">isaikin-dmitry@yandex.ru</a>&gt;<br>&gt; Signed-off-by=
: Anton Belousov &lt;<a href=3D"mailto:abelousov@ptsecurity.com">abelousov@=
ptsecurity.com</a>&gt;<br><div><br></div><div>Acked-by: Tamas K Lengyel &lt=
;<a href=3D"mailto:tamas@tklengyel.com">tamas@tklengyel.com</a>&gt;<br></di=
v></div>

--000000000000e83b5405f703aa30--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 12:34:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 12:34:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510563.788417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmoR-0001cc-Qp; Thu, 16 Mar 2023 12:34:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510563.788417; Thu, 16 Mar 2023 12:34: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 1pcmoR-0001cV-O1; Thu, 16 Mar 2023 12:34:31 +0000
Received: by outflank-mailman (input) for mailman id 510563;
 Thu, 16 Mar 2023 12:34: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=Zc16=7I=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pcmoQ-0001cC-Od
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 12:34:30 +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 e58b021a-c3f6-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 13:34:30 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id x13so7088580edd.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 05:34: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: e58b021a-c3f6-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678970069;
        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=1UV79hRGtfOqwdSblcZsDbNrI2TzOri+6dUST5JLaGQ=;
        b=fd0LC6MRkZTdMvmE0ZbPqmsdBHNYDykKutDmnpgJP02+1vmYtlF2k3nVYpAarxDIKq
         6xHOfV2VlkdyAIvjQmnLToG1gEoEzmG5+wJ9m+PxRkpbQLN8FsjriiOgSwurvwwEcVzI
         LxXSKnkO2WXz1AxygPvoAKqn5LdEN5bycXfae8JcFYv/h1vLgxvbh5EREu6zXxt6Cs8g
         bhGtuX6stJ6bYsy7bRZKsi6lo+UzLtMIB79c9OIgBj3VBoHNUN8pM9FbB5LsL+LG75Yg
         EUEWM8WHHSJKRYUhwloPL1Y+nygPLZQD6g7Tm3Dx5qKyvq12+uPZz/U0A3pfQw4r1bDG
         cr0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678970069;
        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=1UV79hRGtfOqwdSblcZsDbNrI2TzOri+6dUST5JLaGQ=;
        b=FaRt4Vz8V+ma0kj+nlHLI8WwX5Zn+NUc6M4TG8kULnNO/0qi0ncfkSvRH0KA+EFzWA
         VsvSdguzvDHE0mrgQHaQYgnQjHAsio+cErLX0ZqePaPIN0de3H8Fm4tOSXAax2nSwIAP
         5UQ3u4TwW67DTHVHwj3c5Z236gUH6Ir5aZMQd2V4szQxDZKsgZBW2RIqPckzZLq/qQ5r
         sCRKBrDNdiw46hhbjFeyIshVB3NRjiPvqartZulRUiA/A6HttHOdKK2lIspv/uvGebME
         xOTgLvsKMCe4t7yqkqh2a7qOrLP9otUvmNyPFnBF0TCdq/zOa0kdU1LKH1/6skOpvth0
         ezQw==
X-Gm-Message-State: AO0yUKUbTwp26o01av6MUa+mu40GpRF/1orRx7FMYwtLHxvn6E4RItbW
	lL9W+hpPrNwnKE4sEa+TMPeOaCPqVToASG1kEGo=
X-Google-Smtp-Source: AK7set+hWtlFoRi1kpMvgBPTZTOxdIaffCXd9SU6LO4F4eCr0PhtpCCZAFisvXjmNSG39Pz8McPo1IzJG9kl6HQpUnY=
X-Received: by 2002:a50:d08d:0:b0:4fb:80cf:898b with SMTP id
 v13-20020a50d08d000000b004fb80cf898bmr3349102edd.7.1678970069454; Thu, 16 Mar
 2023 05:34:29 -0700 (PDT)
MIME-Version: 1.0
References: <20230306204024.124882-1-jandryuk@gmail.com> <d3da0ece-a65a-89f7-85ba-5de31472bdcc@suse.com>
In-Reply-To: <d3da0ece-a65a-89f7-85ba-5de31472bdcc@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Thu, 16 Mar 2023 08:34:17 -0400
Message-ID: <CAKf6xpv4byseyAqezUa++fV7XkAqwJowQ7JQhjX-fy-Ojix2bw@mail.gmail.com>
Subject: Re: [PATCH v4 0/3] libxl smbios support
To: Jan Beulich <jbeulich@suse.com>
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>, Juergen Gross <jgross@suse.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 16, 2023 at 3:53=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
> Is this work something that's worth mentioning in CHANGELOG.md?

Sure, I'll add an entry.

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 12:35:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 12:35:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510565.788429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmp8-0002Bg-53; Thu, 16 Mar 2023 12:35:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510565.788429; Thu, 16 Mar 2023 12:35: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 1pcmp8-0002BS-03; Thu, 16 Mar 2023 12:35:14 +0000
Received: by outflank-mailman (input) for mailman id 510565;
 Thu, 16 Mar 2023 12:35: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcmp6-0002A3-H9
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 12:35:12 +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 fcd7d131-c3f6-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 13:35:10 +0100 (CET)
Received: from mail-dm6nam10lp2100.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.100])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 08:35:07 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB5669.namprd03.prod.outlook.com (2603:10b6:510:33::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Thu, 16 Mar
 2023 12:35:03 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 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>
X-Inumbo-ID: fcd7d131-c3f6-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678970110;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=HM+h0vwGewEfNLLtKd6XiheGsyy6w6t21s0Z7iMwJ5o=;
  b=CLvmTU7ydJ03G57hcyiF9u1xH1dJhiTVK6VWRkeRlC7okZBZGzaocIYZ
   FJ7bhNfwM5nQG2x3+pyfYgyyEVaYsx8HkvyEQtI+daWT+E/MssceJFbEI
   vjq5YbgiXsrSMcL8oy3UlTJuZdV6tiYbHXHnTCWSbQT+3zypjlO4hfbXz
   w=;
X-IronPort-RemoteIP: 104.47.58.100
X-IronPort-MID: 101016688
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:BI80aKnuRlYZMwK68O5QT/ro5gy0J0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJMWjuAOqnfMDemfNFxaYm3oBkAuZLVn4drSlM/+yw9QiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QGGyRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 fU1cRMCSiyOvbK7xpyrc7FC2Pg8PNa+aevzulk4pd3YJdAPZMmbBonvu5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVw3ieC1WDbWUoXiqcF9hEGXq
 3iA523kKhobKMae2XyO9XfEaurnxHuiANtMSu3onhJsqF7N+F4JJxEMbkThoNeliReTd/JgB
 VNBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9Vna15rqS6zSoNkA9MW4HTT8JS00C+daLnW0ophfGT9ImHKvriNTwQGn02
 2rT9HB4gKgPh8kW0an95UrAnz+nupnOSEgy+xnTWWWmqAh+YeZJerCV1LQS1t4YRK7xc7VLl
 CFsdxS2hAzWMaywqQ==
IronPort-HdrOrdr: A9a23:KNfxuqlhb/zVH9LcOOIeBwzQrJTpDfIW3DAbv31ZSRFFG/Fwwf
 re+8jzsiWE6wr5OUtBpTnuAsK9qB/nn6KdgrNxAV7BZmbbUTCTXeVfBOLZqlXd8kvFm9K1vp
 0PT0ERMrHN5fcRt7ed3OEVeexQouVuUcqT9ILj80s=
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101016688"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j6kZo5Da5UZBLwDJ0O7gVTXvIngB77q8koe4EhSCmn4ydJWduFFKqRRWpLTSQ/pGO+SxEFYNGHIsT4kdJMDvk3RoE4rMDjq0A8qlY8z4IGx34usObYs9x/eq5a0eoJS7uAVjbR03al3JFnBGpNgSnUVncKqapAGgliY3/GKhgp7ToI43H4Azb9mq9G3XlMyWIuaOsEkjI08qQOj+9WjwTd2QB32fDCiq1lel5ikPwM2jPR/B/aqZZRABiz1nRDbTPDR9Acj89nV7v2K8BxIpP8WBtYP2kWbY2cM0vosgnlrVyY7W68DnDkgnSMJtajBqXSY0pTO58B9VKZhwNyMGjw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LWKj0DgKhsn1FC7rEBrBEVZs80wf/xpxpc3eazY+ljo=;
 b=i06VKc5k62g+jZ7ZO3AU12rVZiu2zVPh25vE668+x1C0A7UXzHLIIAfi/30OL95ARc58RbM96rRZxqx37iCFcvpRkoR2xcAJJWuPl/Ft978pKqyhM91GSJlBrQYdoMJtVgzVam7sOZlF7etxn4WRUV2D8QOBdVv6nxuD3uY64HyrYYFKWwEjk0z0fL5Kv0hBza+XUoJo0/mFE7BcSZAWpigfDnvvsRY7e4fpdmcslKR/5u4Rk6K1hhN00NKn/5NQSVs6mJUrLRrshpbyvdNZzine48H3Vwpb0U+n6yKtBz1g5AyxbGArxtV2a/J0KfVoNSRV0tX+NPgnxfYuSLV8Eg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LWKj0DgKhsn1FC7rEBrBEVZs80wf/xpxpc3eazY+ljo=;
 b=HAf9XKZsxv1rbTrgAfqDLXVP9HDFVc7I7g/KMN2/a0WNgHMEzCw3AlcgK+7l7xreM2462DCCCAJv3MEo5VHg7j07bpyLcdlad0oMemclBb568yNOEGDv6r4c6Di0y264oOUf3Rt0VtdeCQI9ps5wlui0bmTiQEQUYWghmxnbyyo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 13:34:58 +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>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH v2 2/5] x86/paging: drop set-allocation from
 final-teardown
Message-ID: <ZBMM8n6SDYn0q3ii@Air-de-Roger>
References: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com>
 <99270ce9-39d8-1f3e-f922-afc2c0289205@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <99270ce9-39d8-1f3e-f922-afc2c0289205@suse.com>
X-ClientProxiedBy: LO2P123CA0080.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:138::13) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB5669:EE_
X-MS-Office365-Filtering-Correlation-Id: 596e04fa-22f2-4eed-05fa-08db261addb7
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1dCVLDVELQei35lMk3ZunLJD/EGK8tgGI6precqt0jK3/3nyCIRVfx6B45MTMlYdc8ZQy+4thqeMARXioy+yo4Bff6PykXlNShH/ix+1sKfQi8hQ+Pe5jHFDX9/WTD5oVYa7fnuc0ks982JtRSYBs8h6LzUrau0KgTMCFDNTu0SvU2YJzh30DoFYq7MgzDsVbQ/VZrsjkXWuN5BgQa/KsS9nrWT+yctA83w1Lyc4n2cpwqhNJ5GiETYd7vmQRrMpum+Lr1Qr+U8liqZY5IZ2g0niivzrJEiXEJvCvhJjNSVEHxU7pSLIDxbnPovzTGJn649CPKLDFsWiYDdchInW0QFQx2HqnesJLqcYameeotjsZl4q8qUv+qADODbzH1fbmU34PQyqCFdfvTuFVCzmp+13TyGnFWpAuHck3eDTQRVpzXP0vheuSsvVYcgqZ5IYfh0b7zkS2K4qu95am8l8Na7ycHSvGBFKUb4lKSIZHVpTbBK8XCGx20pXDuYSVeF40T+bSTnd/wzGIR5OSohFwHrqtjlNEMdcfVcYJzVX/i6jNfgR+9vyaXk1fwDAP0ds+FCtJSnNe8RSD7Fvtvv0UsjcL5sTHI8BP6aALNO2juaw6+fC8uII7WCEK78U9wkWDs/Kqa/YxqcgAj7Qd3FbPw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(366004)(376002)(39860400002)(136003)(396003)(346002)(451199018)(6666004)(54906003)(85182001)(316002)(83380400001)(38100700002)(82960400001)(26005)(9686003)(6512007)(186003)(86362001)(6506007)(33716001)(5660300002)(2906002)(6486002)(8936002)(478600001)(41300700001)(4326008)(66946007)(8676002)(66476007)(6916009)(4744005)(66556008);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MkhtRUhSMU1YUnNXNXZzT2dLN3plMUZmUVBrd3haUkJsdkxzbFcxbWhrK0NB?=
 =?utf-8?B?NEZxaWNoRlVETkRRNmpMOXRXajdNZ1g1MkppVUtHa0JkTmhtNDlBMVpoSURH?=
 =?utf-8?B?aFN4R2ZBN3VIbmpyb2FyR2tLMEx4MUE2aEF3MVdXcmcvOFhmT1AycUdUUjhv?=
 =?utf-8?B?V2FRdjN4N1lxYnlnWDRqSWQ2RVkwb29MSnZjbERSMjFOWWVuTVk0ZmtjVnM5?=
 =?utf-8?B?eDFMNmxCLys5TnhCekRqTmJXQVpVR0lKV3QxckNtOEs0RDg3UDhaRWsrTTlG?=
 =?utf-8?B?SmpHbUZNNVpXVE12anZIV3ZVZzBJU2dqUGxkZlE4by85dUpIREZzZ3lRUGw3?=
 =?utf-8?B?cHZnanh5dk1lWmZmTUx0VUcyRWxtY3B6T1ZaM0pOZFB2dGlOdldWaURIb0RJ?=
 =?utf-8?B?T1Y4bWNxTXIxbEkyOEszdWZJR3RzTUVqMTcxYXdtT0JoVHMxUG10OWVteWZ5?=
 =?utf-8?B?THpkQ0w3YmU0VkdYZW10dXdPdHR0MlF0aUJ1NERnTFU3Z01mb24zNWFGQ2Rn?=
 =?utf-8?B?WjRNUjdwZWhZbCtQSkFmNVZMR2dpTlpFTHd2QnFscS9MWlYrUnpvS3ZWdXZ3?=
 =?utf-8?B?dzlXbElqQ2N1bTFQYnlud2dtNE5lRGNLVjJRQUw2a1NjRzJaUmJxWVZDRHl0?=
 =?utf-8?B?TndPTC9WS245T0tlZ1pLMFpkMjJsRXU5RGM0aFRDb0E2NGxNUFVEalRLdzNq?=
 =?utf-8?B?VU4rSWZSTEhFRE1jYTFqeEJBVDE0b1YvTGdJbWcyb2VlblVSUjM5ajdnVTM3?=
 =?utf-8?B?bUlNMUNCMCt5OTBxWFBCZGp0S08yMmJwRmxIUU5iazQ3cjlzeS9DK202ektx?=
 =?utf-8?B?MDBGaUNGVkFXV0h2M3JVQlc1QWlLaFEyb2RXeUt5dDcyejdmV2VmMS9raVNy?=
 =?utf-8?B?clhuYytIM25rN1d2VTRpRXQ0Mm03YVBJT2JXT0xYaUtNK04zcUJHMWNsOXUr?=
 =?utf-8?B?ZjkxbTQ3Tm43YTdMQ29XT2JzZU1oYVpTSnFFeE9OOTdhenVDTjZ0eXh1L3hW?=
 =?utf-8?B?bmZMdEs0aTgvVll2ZWJtVFNZWTA4OGxuenVETXlvYk9YUXdZcVNhMEJja2Ra?=
 =?utf-8?B?bmJpYVJOeFk0anVLKzBramJUdGQ3SkRKdUlTT0dQVGh2YjQwdlVVampnQmZE?=
 =?utf-8?B?QlR5ZmwxLzljbGo5dmwrM0Rzemp6MUp6ekpUQlVGNWJLODhxdjg0RzdGV1Ba?=
 =?utf-8?B?N0ljNFJReXRrbUlUOVNESEszbERTWjltaFptNXoxS2pDbTk1TXhGS0haN05r?=
 =?utf-8?B?dWJjMkJJVHRqRkQ2Nis2ZXlSN3hKWE5FaGhHMzllby9pMk1CTnhIYVd5TUdN?=
 =?utf-8?B?MWo1S0dJb3JUcVM4SUlkWFZNUzdKRUt6OG9vVndnbWFtZ3VNYm5PZlRWS2Vi?=
 =?utf-8?B?ZnZwVWRYOElyWDd2RmdscDJpYlBHM3RQZm9TNWE3V1JUWmZ1MjRQelJqY0sw?=
 =?utf-8?B?TXFYZW16Y2MrS0MxK2d6ZUprUnkyRXlmT0xwK1cxM2ZkbFRlK2JOR0h1OHQ4?=
 =?utf-8?B?NkFaUkowTXJjSDF1cFE1czljK1NWNHNEdkFaUTJRcTIySjFXbzR2bFNlMDBj?=
 =?utf-8?B?SDdPVmNqRVdQRmU1RmR5Z3YyZy9lVWNNYitvREhxWVNiZlJaM01LbW1CTmEr?=
 =?utf-8?B?bVRJc1JvNFNHaER0MUlIRlFtQUFLaTh3S2t3Q3c2VC9KRkJvN1JwNUg0S1lG?=
 =?utf-8?B?ZzdYMHcwaDg1eFJjeittM1plci9UUFh5c1NFMzNPYU1LbUZxTE9BMGV6QXpI?=
 =?utf-8?B?YkU5ZldiSTE2TFdWcmZCTm5mb2lvTGVFaTlZSTNNS0hnZVN3NHNJcStmM2Rx?=
 =?utf-8?B?cVQ4M0NENXNyK2lIb2YwVTlBVnVKakw1L0J6RURGbGtzZGJ6Nm5BOGhuRk5M?=
 =?utf-8?B?R0R2ZVFmZG40ZHpEN25KbjdBZ2lsa1VhS0taaHNuclFvbkkyV3I5azMzcWE1?=
 =?utf-8?B?djZjQUxRemNZVFpoeDJQc015MU96eDFoakpzdUx4T3lsQ0RadjhLWVVSTkwz?=
 =?utf-8?B?TG9Mc2NXQ2phb2Z0NlY3dDVmV3JVSzJhb2dacVpwMC8vVzlzSk5DUGEzaDlF?=
 =?utf-8?B?L3pHY2ZsR0FJUldKYXlNcDJrL2FnZE95bUg3bUhRaEcyaEZPeWdFRzE3c3NO?=
 =?utf-8?B?aHppb0dXcGVvampCVlVjb3RvRWhxU21tTjIvdmc5dHNuVUZaY09SRnhGaUtC?=
 =?utf-8?B?VVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	WGGDqkpbLVEokZSxmXWqiAtxI6Q2+7NOG9wbPP9mnKRHmqhL1dH7Su+Ksh/0c0WOk6BAIW04paCEiQgDKJH3DcVUuG33nwQPilBhLd09NfRyX0rKsQU0hp5a8MzZH8PgtvfE8Aqm/tyYeuAkkdpglmJUG3KtmWqe+EZJJznB1VNXOr2egTgJ9QhWUqKLsHtY7eBWSMUCYqk/DijEoIQACs5OYojg3wBadoMSOTWsKakNt/XR3SJpXVVk9p5HIDpzizEjXZIvEq5QdtUzA5Hc9IGe57//qASG7bIAPTYYsmr8xr7E3tV32wSiUyAjxPX90AaAHi1ApNju0x9HiU8n8hIayy6oI2/URAdLHIE0MHgWy4nLycGK64BVNiJZ6NByD5KPZ/jjvjatE0O9AdsLj4P/KSxbOfbhOdaSYAJu5917iwJpApi2hqGDgwoykmrKvLMokMXWv68ksFbyIFeyb13sETR1st8SJvLc3HfQniLJ/GFB1YCM4ihS03iVh/MoHodPubjlpSPMEJLXjrgw4dAmO1jfplUfbyAHHsR3EdauYt+UpKvn58OC3ZuwgZ+W0WJIame6vnoS1fkDYk9QgyCN+WQg80f5HWulV/JGm7UQw99qqJ+00tuSb9lC74KRbGKf6OIXXgzJ4Dh4tCFhbpuZzdQ7NelF/QlvzXDzgrp35AF+NH8MdPoejwrNfqPjKZwR9tf1tn25A3AiA7N4a1hjsTbPMdpPa/IL3O6j/MK/XvyYg9o8p9aN7X44bP6MX0ZdmyTPrkdbOc/zE1so8k7qmQKdCqukOPD2Z2ck81fwPwr8a+5nxTI2xMKp01dZip97B3R2BIKH/NL27Ww/tg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 596e04fa-22f2-4eed-05fa-08db261addb7
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 12:35:03.5071
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: R9DM6WKt/u1516A/iqESW8AUPtfM/1UNQiGztSi/MQDwnOtcCMnxlFGNkszcvRd/3QveAgIscKhRTgCTBi7qQg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5669

On Mon, Jan 09, 2023 at 02:39:52PM +0100, Jan Beulich wrote:
> The fixes for XSA-410 have arranged for P2M pages being freed by P2M
> code to be properly freed directly, rather than being put back on the
> paging pool list. Therefore whatever p2m_teardown() may return will no
> longer need taking care of here. Drop the code, leaving the assertions
> in place and adding "total" back to the PAGING_PRINTK() message.
> 
> With merely the (optional) log message and the assertions left, there's
> really no point anymore to hold the paging lock there, so drop that too.
> 
> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

> ---
> The remaining parts of hap_final_teardown() could be moved as well, at
> the price of a CONFIG_HVM conditional. I wasn't sure whether that was
> deemed reasonable.

I think it's cleaner to leave them as-is.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 12:37:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 12:37:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510568.788441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmr2-0002nK-GQ; Thu, 16 Mar 2023 12:37:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510568.788441; Thu, 16 Mar 2023 12:37:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmr2-0002nB-D3; Thu, 16 Mar 2023 12:37:12 +0000
Received: by outflank-mailman (input) for mailman id 510568;
 Thu, 16 Mar 2023 12: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=Zc16=7I=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pcmr1-0002n1-HK
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 12:37:11 +0000
Received: from mail-vs1-xe33.google.com (mail-vs1-xe33.google.com
 [2607:f8b0:4864:20::e33])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 451220eb-c3f7-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 13:37:10 +0100 (CET)
Received: by mail-vs1-xe33.google.com with SMTP id x14so1342912vso.9
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 05:37:10 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com ([2001:470:8:67e:289e:d4ec:4b3b:b86d])
 by smtp.gmail.com with ESMTPSA id
 j188-20020a3787c5000000b0074382b756c2sm5784451qkd.14.2023.03.16.05.37.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 05:37: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: 451220eb-c3f7-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678970229;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=PpSriz9yauI72B0VsHuy0AGl6vDdBX4GDPk+xPJcAsk=;
        b=PVQ1fXaof9kYNIO0ogxfKB7bsrzKzRS4I1dyR8b1YgKRsPDdXh+VDzhtpw+4YtfbTO
         Iwh36pmTMJ4rNNNvziF/wCkePL6NDvSDf79NzsIw3DvxsnkF5u1/5mmU1nLbnYCExoYE
         jaVgt1mG3bKOKTG+a/2gvXmyDRoGyOu0vvGaOUTFdk8gIGkKT5pNCrS1sqkg9uPoAoPH
         39DstJmR0q9baP10ktDPipfCm1TbfjkNEqXqP2JFJ9ijNsNpaGsXQtBsnL4RVyuZ8n2d
         /ngzEs162FPceNgaIoe7AxaKVD4/YAyQ+ZZrYrkFJd0v/hPPxa+pK97Wys6QLPsXCfqC
         AqFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678970229;
        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=PpSriz9yauI72B0VsHuy0AGl6vDdBX4GDPk+xPJcAsk=;
        b=Nkw2JTSpnHdYVdFNYrSPkLHT2Dr1ffCe53rEzpJ3vrc4wMlj5ySZWnCrNDeqQWsGkB
         qxYK0UUrZ/u52voTn2v3HIDFkHHCTCecEOG+tcsuHiVo7jkG4an3aQXk+Nq0nL26ITZn
         4MszwYNrguXDrn0U3WyJoqp5eK9c6MIu439Q4M66WIYnSbsdrMHifjWAO4Q6dttkJq+0
         h1A2msYP9Fo/0N9DFlTFnWu+wnXR58Qgwl2qZDXxxbLK6mhXk7HwymIDM5zGEKIx5xtG
         TGB0hnZOB4hxAqrk16h2dlUOSEQ7EcgIbs/xLKqbc50ZuXsA63SD8uWHamuEmLNx9GgC
         f1Nw==
X-Gm-Message-State: AO0yUKVEBlq14XEp618Y4O3OPz33D+s9xZKs21awSZP1epaKmEI+H8tP
	bjE1pbCeZpWjFxXD70LElPXZCWWp6h8=
X-Google-Smtp-Source: AK7set84YfPBqlWCBYK0WInf76xwDhbkyHJ6cOj2Id6pR/RGlSV/0WsDdJRZwYq/MQOV4wZZFT8g0w==
X-Received: by 2002:a05:6102:441f:b0:3fd:5bd:72a with SMTP id df31-20020a056102441f00b003fd05bd072amr26267567vsb.0.1678970229192;
        Thu, 16 Mar 2023 05:37:09 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH] CHANGELOG: Mention xl/libxl SMBIOS support
Date: Thu, 16 Mar 2023 08:36:49 -0400
Message-Id: <20230316123649.8682-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add an entry for the new xl/libxl SMBIOS support.

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
 CHANGELOG.md | 1 +
 1 file changed, 1 insertion(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index b116163b62..c978cfd9b6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -13,6 +13,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
      livelocks, instead of crashing the entire server.
    - Bus-lock detection, used by Xen to mitigate (by rate-limiting) the system
      wide impact of a guest misusing atomic instructions.
+ - xl/libxl can customize SMBIOS strings for HVM guests.
 
 ## [4.17.0](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.17.0) - 2022-12-12
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 12:39:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 12:39:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510571.788451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcmtP-0003dh-Si; Thu, 16 Mar 2023 12:39:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510571.788451; Thu, 16 Mar 2023 12: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 1pcmtP-0003da-Pg; Thu, 16 Mar 2023 12:39:39 +0000
Received: by outflank-mailman (input) for mailman id 510571;
 Thu, 16 Mar 2023 12:39:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcmtO-0003dU-Ke
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 12:39:38 +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 9ae81b22-c3f7-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 13:39:36 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 08:39:25 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SN7PR03MB7229.namprd03.prod.outlook.com (2603:10b6:806:2e5::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 12:39:23 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 12:39: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: 9ae81b22-c3f7-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678970376;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=pbo/Dpq6YAJQzE3v2Y4Qo4W9ktXOyHT05zR9u34HSB8=;
  b=d6nwpYPHDthjPYtQ+ToROVWy7RUKIZ6TqL7RYMGLezKwexb1P0BJBx/d
   0PTJ4uUZ7vNmYcKr7rvuwW+ebOvEOzZ+EeVhQGAsuGT0eZoAQ3ltkfZuI
   6ofsiVVaf++Jkb0yJheR4raG1Q8wkgBNxuZFl2v24ts0whhUc/inTOTfo
   A=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 100476728
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:+3WaQqLzzN3qRLEvFE+R5JQlxSXFcZb7ZxGr2PjKsXjdYENSgzQBz
 2MaW2qBaPyDZzPxfYsgaNvjo0kBsMLQn4NjQABlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QVgPa4jUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5HD1lH/
 79JMwsrZyChtvPx+vG2YORj05FLwMnDZOvzu1lG5BSAVLMMZ8CGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dnpTGNnWSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03rOQw3yhCOr+EpW598VlplqMhVY0KwcRdGG6sKOnlWGHDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBLSNrmK2YTzSa7Lj8hS+zPAAFIGlEYjULJTbp+PHmqYA3yxjJHtBqFffsisWvQG+hh
 TeXsCI5mrMfy9YR0Lm29kzGhDTqoYXVSgky5UPcWWfNAh5FWbNJrreAsTDzhcus5q7CJrVdl
 BDoQ/Sj0d0=
IronPort-HdrOrdr: A9a23:LYxipKNV7cJ2NsBcTsWjsMiBIKoaSvp037BL7TEJdfUxSKelfq
 +V7ZcmPHPP5gr5O0tQ/OxoWpPwI080nKQdieN8UotKNDOW3FdAR7sD0WKN+Vzd84CUzINgPS
 AKSdkZNDUlZmIK6vrH3A==
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="100476728"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DimTUoZrpc+3jdPYXXHjQtIVnL/3DnsJGAvN87k9U8Q4DjqoQPtfO0wLexGDZV+iL/AmMRJCyF0S2mJniQtLQFJgZztqMDOICi67EEWfvHK3eKo5bXaqD/G4dO0QoKainZfw+orSUFHATOWz0RyTjMTG/mijvFarHcFN2NafVwnX/AUEisxaYPpG1Uj/emb/1Pw0eHm1dRVaVDlxCxMzyGbRKzSSHkAMhEPyAKEsrorcnHJa/8a34rswkV/WxZvhjdKdIq3ypSmh0n24XZlMuJqzhQzdPsUpwxjB0yXjriJqkTZ/KiZHQdshVWTg1E7pEXXdCppHNW7ctECLt6E5hQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nqdocyZBZQTs74aYyOXTZCxOgCOIdtrsgbSB+BFolSI=;
 b=ReOuv+xouGJZmqfjDh5gv36o2Ue8J7+6cDbb2NiVq3tRoX0+t7QjXiFRLSUqkQSWt0F/nUMHXtLJ7uYxPhFqR0YxM/DjXs2xTYYs5Yh8aEOzviKBI2k9+mQ+oDOkIwQ8fUTMSq0I677ervYXEaj3hyEHcjKusjRQn1JbrjI2kDgjdiJnGeHbTXZF428rVWZ1KVyhN3LfR+Bei0mMT7vB2JmCINYxhkss5raic7h/5P+cfPGj+frHrI0fEu4vsnRC4rdxKVzDjm5RmPt1sCL+PS92e0Ec9eazYzGmp1iQDXpyYduYZbjH6t6Y5y8fpg/GJfcLCz10n3QFCCcI6r3VcQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nqdocyZBZQTs74aYyOXTZCxOgCOIdtrsgbSB+BFolSI=;
 b=h+vx4mzi3pKquQdCLX3ef0l0nYzfyNoGVO9P6AM3whb+36BNczpLlLRcPbzr9ia+RhsmlijTEjHNWv2b5Uo9K1FVMEpEjbciv1V6QTRQcsq6DGN73DUhB+gqDYZcl1deBfL5rfKCWD2065jd4oclPBqKOAsQAwvglZ1cob7K5oA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 13:39:18 +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>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH v2 3/5] x86/paging: move update_paging_modes() hook
Message-ID: <ZBMN9tPllK3Cqnqd@Air-de-Roger>
References: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com>
 <032e81c2-ac86-638a-1611-43bc3bea6d0e@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <032e81c2-ac86-638a-1611-43bc3bea6d0e@suse.com>
X-ClientProxiedBy: LO4P123CA0480.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a8::17) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SN7PR03MB7229:EE_
X-MS-Office365-Filtering-Correlation-Id: 8f8021ac-3ba6-4757-5ae5-08db261b78b0
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n6u5ZrOIPZswhRZn8dgfDb6xZvHq1Oo6P4OcKv2AgLJTwmLevj1TSf93zlqKffK3bLRH5j0kQGZnEnWwUQ9uiXp+IDhjrUcb6FPTKjCkFf5nvEpwPOH34qMJPUTwp06fGcnF99WnoJ/zKRvV93xqsW5bhDUDY1PbWsx5SstYklbWwfs8m7w2nvgyoUjKVQETu+8bM7pBqYWB0L/SDSmuP5m5gkWLaTTujq5o6adrXjLQm7xtkowGOOPtWMYm0MQQt/tIFmYcUUzCyq4K1SxlzZWYqkm1lNZBDhhDR3t4QW0lUvZZ8Ae50CNi30vt2nOrJyuQdF7MZZ744hH3VDxgfIUsJFFHtlQ5NEl2noU14TaIbrBw37xi9V03AN24qNVP6ZUMAS9t0wCiRL0lGLpmtN7QIImAUL1Hu9Ny4FxC0E+N6VFIA+X4cHTMGE/no2RLgwh8Twksv3CbWwAXaGcMOgJCEdgAy/qblTVZy8xo6zC1mELr9av/xB6kYw5RrQkHyBxwBw/KwEuwIE0qh2uwLfkPukZ9t15Q1cN59yabAkrUQj2p15e8ysUmZQSNReF67jHJPZZ4JIaV6flHV0l9Zc41AOi/9R9LUmHwjoHQN3g5CkzDxAWUoMB6/lLBjaMwcmpGR0qys7Vnbf2dWlrdEQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(136003)(376002)(39860400002)(346002)(396003)(366004)(451199018)(4744005)(186003)(66476007)(5660300002)(66556008)(66946007)(8676002)(6486002)(41300700001)(86362001)(478600001)(6916009)(54906003)(316002)(4326008)(8936002)(6666004)(6506007)(26005)(6512007)(9686003)(85182001)(2906002)(82960400001)(38100700002)(33716001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SFQ2My9xT0VaaU1wQzI5YWhPTXF1L0tSNndsVW1ybUxncGNjMzUyT1dnSTNF?=
 =?utf-8?B?Rjk5c3pXRytwM2kwb3FEaE91ZURHSlQzb3QvNTNKVFVwMS9vZkFmLzhJNFF6?=
 =?utf-8?B?dFpWNEZTUFNJc0U2R2M1aDhqWTZpY2JoNUd6aGJvdjNNakFhQUdhRm1RTjB6?=
 =?utf-8?B?aXFRNXFzaSthSUN3aGFKRFAxcER6aTRjd2lESllBNEJYcm5XQ0RpeFJDSFJh?=
 =?utf-8?B?R1hwbXB6dHVFVUFFSTFSRCt5NnYwUzR0ejdHbFEvYnlDNVE2dkVsaHp2NjZy?=
 =?utf-8?B?M2htMEFMcG8vYkZUS2daUHVjL0tJSUJmR3poZ0QzNE12Szl3KzdEUnRBeENy?=
 =?utf-8?B?WjRyZ3haN24wY1NyQXlEUEYwb2tPZUZtZ1hCMCtqNEFGVlJkMG9oRXFla1lw?=
 =?utf-8?B?MEdKcHRyeE5nNy96UTlOWXZPMVhUQ3Q5REFnbGtyZ3pqTXZRU3pneEhhREwv?=
 =?utf-8?B?blQydndINEg0NGU1UmZyVUh3ZW9tYnhtV21yRkxxTkluUzF6VDRMS3BQZ3Qz?=
 =?utf-8?B?NzNqTHltUkJkZEVxRm5BYVpmK0tNSno4YzBzZU9GUVQrR0dZQzg3QlErSjRK?=
 =?utf-8?B?NkVYRDU3UHBUL0lSL0pXS0Y0Q0ErdHJlZjRYa3NZTkRsZWNhV0tqUHY4Tm9D?=
 =?utf-8?B?UGM5VWV4bFI5YUdSa0hSVHNWcUx2bDJORE9pdmNXWElZVE5KTENFTzVpYWxx?=
 =?utf-8?B?QmUwTWo3RGtjZzJsT1Uvem9QZU5KUTNGdjd0VjFqb1ZDWFkwdVo5TzQrVHps?=
 =?utf-8?B?UzNDRWtQZU92T2g5WjRzOE1UcjArVmRYc2JMSWtJb2N4ck5sd3FQV01NRHBp?=
 =?utf-8?B?REJUb3p0VmFTcG4rdUR4NlVGbTN5SWdUZDdoMmhwSVdtdENobldzdGY1ZC95?=
 =?utf-8?B?TmRDOURGV3UxMWxQY2RjeTExbDdWNmZwOUd4a3htZW13RzExZ3FDWkQyUnVv?=
 =?utf-8?B?WDhlUVlPNVp3S3ZINHhURkpwWkJyN1hyZ3lZd0V5N3pualNaUkxFWjlZTDdl?=
 =?utf-8?B?MjY0TlV6azJhYTlkQ0w3Vyt5UzlqTG55Y1hRTk5ZVnN2Lzg0V0x1OWgyQ2E1?=
 =?utf-8?B?alRySXhhcXplNFozT3dDZGo2bnpad2tTS0FiYzdnOFJDamhyZyttcTAvQXRl?=
 =?utf-8?B?R2xHTEdPVi9EK3RLS2FiQVY5NkE3WTQ0eTJkQ3RPRHd4T0JJdzIrNXVrNUYx?=
 =?utf-8?B?elNpdnZ4b29CdnJZdndPbXIrc013Y3IwYjEzaDRkMnZXUzZFNUxVQUhlV3RT?=
 =?utf-8?B?eWZ2NURrUk5ZaFZyTWFJREg5ZHZjNDdYd2U2TG5kWCtQK2dRSG8rOHNkY1Rw?=
 =?utf-8?B?RS9hUXRuWTgyK3d6RUFFZ3N2NmNQZzYwcGFyNjdFYk9XbjhSMVorNloyNkt1?=
 =?utf-8?B?eWMyVHpZcVBQMTRLeUdxajAxZW4zV0t6bzdGRWM1UldBMjVtbm83ZWV5Rm5G?=
 =?utf-8?B?T0gwY3ZwZUtEYS8vcUFJMWh2djlGT1RZaXgxWjUxOFp1c01Rbyt3ait2N29v?=
 =?utf-8?B?Ujh1MmZHeW9WVjFnMjBZVHM4bUs1SytCcklYR3ZFc2VQWWErQk9aSXZlZzRj?=
 =?utf-8?B?UitqRXJmRktvUzZobzJSQ05XRmNYMlltb1FBUkEzRFVvdmdVRHQyQWdsSHpz?=
 =?utf-8?B?c000Sm41eHZHZExiYmR4a3RvVGtKWVovT2RlQkZtNGpDNmp0bnZpSmtKNjlx?=
 =?utf-8?B?c0JKcmRPZkxXOU1TZ1dSQ0M1aDEzYlJjbkNNTnQyZDhmN1JJUXV2ampENnBH?=
 =?utf-8?B?TzAzMkZ3VGpGY2xJbGNzK3BkTzBJNTlXQ2ZZZWRabHVSQy94RmRKdkp1cEsx?=
 =?utf-8?B?QVYrVURIM0QxTHRhRXlHdmlXN2VIcVN2YWNTampwMXZZRG1jZVIvMFcyd2FO?=
 =?utf-8?B?bkhVSmwreGcrdFRCZ1ZadnZWd1UyeGVGVHlnbmo4MTNMZHFsUytZTkd6T01W?=
 =?utf-8?B?RFhKNmkwdWIvQmt3UGhYZVplbEVkWUt4d2NUQTREZ3I3QXpJVVhCNHh6ZTRv?=
 =?utf-8?B?aXZBcGRFYWlyeWNMeTllTWpCNnNtUlBUcVNEbXlJZVVBb1R2bWllSjAxcUxK?=
 =?utf-8?B?ZThkMStGNHM5RE15VHJINWlSbzhKTTA0bVdOTXNxQkFGa29GeWZRVXhXS1JO?=
 =?utf-8?B?YmRURlZJMUJubFdSQzJSR2RWT0IxRndhcjFpTVVDOE9PREM5dnNSZVMxTUc3?=
 =?utf-8?B?Y1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	bMkqfKmpbXvazMwiL0z1wUkswyru6cAfGBURGF/RXMRnHymdFOqj5Q0gzPrwUbcXDdVm4OrC4DtItf8gsPjKFaooky/4Y7dxBV3/l8Y4wofl+6FTSwjwTqBkQtR4PmG7lx3Yo6HTLdYmnyvBEg1SVftuqznjPRfWdVj1Sya/ramOlKX/TJ9Ix/rNK/1jFeFdprrqjmUxwnmdBnJ8rL35UoNChPaSQVaPev20hDgoYoipo/GLADvWEN64Yyl57KQzm+1hspYQzMjy8PCdWES64riTYLpksnqLVsemhjuAqB+TEQ00hiiyV7MnAYSvLmTDDjogsETlTRTdt93yM8ZedIxlyoKOHYuNWsBAmxq61hQkY5Ir6pxkqHMxK4zyG7DRqMXOS8coPZ3vmXoM3g6LfOIzUCjaOcdhQSt7kMBWtbqfelciRgFQLWYQ1g//jm0zHKrJwp82YvToDWaMlvtLF20bP5ACoksEntSosXpbcQdB6cOmxED/wqOtYVp9s6GLfL5Mm1cmlArAV4dtmqFpgngFyU/JTjlNPnkTfCZuPAf5ddlrLJU8FyFDwQOPcaj698WVBjKlCcSY7Uh4A1BRn/jaX9lK4JS+dTrdUwEwr9tnhqxe2fjJdaGURILh4uVztsd/Vs4six8wu24vyn39qZdM/thcKgZLEQCv1ghF7xjv3hxoJCJpEh6jjT4TfktWFiHIET5yURFmBE9I/VW3G5H9h6Fk6J7zOLnCz17ght2fchIk5AXh/1yUqYHyYKJT2iM1twygYht6HzUIkRNDoP/GQMDsvs+nZN8BjMfIMdeHn0AE9tgJPOuBxYps9nLeVx02JcmA6gUOznjT+83D5A==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f8021ac-3ba6-4757-5ae5-08db261b78b0
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 12:39:23.5102
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aaSoR4zw5mp9FjJsXrjPDct+QsRLPtWjzHS4WUPefvJe2afIHkOOqjotq28dsvNapJoq6uVKfmWOJ4iyVSM/hw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR03MB7229

On Mon, Jan 09, 2023 at 02:40:50PM +0100, Jan Beulich wrote:
> The hook isn't mode dependent, hence it's misplaced in struct
> paging_mode. (Or alternatively I see no reason why the alloc_page() and
> free_page() hooks don't also live there.) Move it to struct
> paging_domain.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 12:53:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 12:53:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510575.788461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcn6k-0006JV-6G; Thu, 16 Mar 2023 12:53:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510575.788461; Thu, 16 Mar 2023 12:53:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcn6k-0006JO-3I; Thu, 16 Mar 2023 12:53:26 +0000
Received: by outflank-mailman (input) for mailman id 510575;
 Thu, 16 Mar 2023 12:53: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=lZp/=7I=citrix.com=prvs=432965e83=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pcn6i-0006JI-CJ
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 12:53:24 +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 87bab536-c3f9-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 13:53:22 +0100 (CET)
Received: from mail-mw2nam12lp2045.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 08:53:18 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM4PR03MB6078.namprd03.prod.outlook.com (2603:10b6:5:391::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.33; Thu, 16 Mar
 2023 12:53:16 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 12:53: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: 87bab536-c3f9-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678971202;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=UG57Mfp1LDDK5wBWBXcGC2CG+lZyhuSRTpipDutsdq8=;
  b=V71lG+xdT7oaqDDjag40f328sCGByVdmMtRm39yaqfA5fyZ8ux3itdqU
   /YmrYLXbrTM3KSCpR9Xzx/1iI9QpRobbcSMtJPICjkqirjo+LHJ441Ung
   atlVrtTvC9WjnIqCAwmaxDLdlO100JYg0Y4j6l39UFFxnGhsc7laySYx9
   o=;
X-IronPort-RemoteIP: 104.47.66.45
X-IronPort-MID: 103527321
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:OXtpYauEDYINrWB7T+UssWwas+fnVKZfMUV32f8akzHdYApBsoF/q
 tZmKWjXbvyMMTbxfN4gaI2/9klSsMWHx4JjSAA6pXs1Hnsa+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASHySFLZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwFg4VMgmEvNmNnpm/crBciPgKMuixI9ZK0p1g5Wmx4fcOZ7nmGv+PwOACmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0ovjv6xbbI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6TeXjq6Q12wfKroAVICI/ZGWbo9K6sUP9V45+E
 nAY4nMrl6dnoSRHSfG4BXVUukWsvBQRRt5RGO0S8xyWx+zf5APxLmoNSDJbecElnMAzTD0uk
 FSOmrvBJTFpqqzTdnub+Z+dtzb0Mi8QRUcYYjQOVwwC4N/Lr4Q6jxaJRdFmeIaqivXlFDe2x
 CqFxAA8iK8UltUjzLig8BbMhDfEjojESEs56xvaWkqh7xhlf8i1aoqw81/Z4P1caoGDQTG8U
 GMsnsGf6KULEsuLnSnUGuEVRun1urCCLSHWhkNpE9857TOx9nW/fIdWpjZjOENuNcVCcjjsC
 KPOhT5sCFZoFCPCRcdKj0iZUqzGEYCI+QzZa83p
IronPort-HdrOrdr: A9a23:ma3w+a1joRDtWeRGReqV4gqjBdVxeYIsimQD101hICG9Lfb0qy
 n+pp4mPEHP4wr5AEtQ/+xpOMG7IU80hqQFmLX5XI3SKjUO11HYSL2KgbGN/9SCIVy2ygc+79
 YGT0EWMrSZYTdHZK3BkWqF+qMbsby6GdeT9IXjJhlWLD1CWuVF1UNUGwybGkp5SE1vAoc4Lo
 OV4o5qtietYnMea+W8Hz0gU/LYr9PGuZr6aVpebiRXozWmvHeN0vrXAhKY1hARX3dmxqojy3
 HMl0jU97iuqPayzz7bziv2445NkNXs59NfDIini9QTKB/rlgG0Db4RE4GqjXQQmqWC+VwqmN
 7Dr1MLJMJo8U7ceWmzvF/ExxTg+CxG0Q6u9XaoxV/Y5eDpTjMzDMRMwahDdAHC1kYmtNZglI
 pWwmOisYZNBx+oplWw2zGIbWAkqqOHmwtirQchtQ0ebWIqUs4ekWVQxjIXLH5KJlOD1GluKp
 gUMCib3ocdTbrSVQGigkB/hNOrRXg9BRGAXwwLvdGUySFfmDRjw1If39F3pAZ0yHsRceg22w
 3/CNUbqJheCssNKa5tDuYIRsW6TmTLXBLXKWqXZVDqDrsONX7Bo4P+pOxd3pDcRLUYiJ8p3J
 jRWlJRsmA/P0roFM2VxZVOthTAWn+0UzjhwtxXo5J5prr/Trz2NjDrciFbr+Kw5/EERsHLUf
 e6P5xbR/flMGv1AI5MmxbzXpFDQENuIPH9euxLKm5mjvi7VbEC7NarDco7DICdbQoMSyf4Hm
 YJWiT1KYFJ8l2rSxbD8WbsZ08=
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="103527321"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DfnTCpcigGbeeDCmsLvmzjJejpdmVy5QbqwGYwgXFMuIPYLlEQQ1+ggfz/JPjEritcF5XXJkDpdncvelnZKM8ni5LbrKBSLabxOukFMJ/xZZz0LnqAKZYGiLYe8Q9kYBZn2k9kK9JSZckjTh4iLKvaTWtN3UnvqrHTsq7MXiJTIlRULNxy3J6cOLFCH7XWcNgNqsTGS4Ot3XulcRUxmtwgxz3ANVR7B7FsCoaFYd0AgZC3wqe7UG6b3F1efgZFXafGGKU/A9RyzykEFF6taQPQwRIQPQFeMDvGKfPz0mmqEM89RRoc7wCOWh+ul47r6ibhOA0cNcYyIxqsLxZG9NGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4/jvKDojcsWkrZuuTJGA2rE5O2T+40xoTh5MhrJyJ40=;
 b=NEs9bgLwbhNudO5fICWrJk7x/60kfEux1uH884/F8BoZfkn/DSB7+szfn8it48QZcfAg5YlzJHWeTgQJoMFc6xwk7Imu3Sd83mG6ggjTnqy4Vp2w8cCI97xWLGvpyYua4Lvy1NQzE6fmr8eIX71AXybDbQ3idrEZVtxjITAZPuFqmQJlvm/y6lJG2tga/UIqnqjdBjr3sUDc1eR13CE+w6fMFQazEMzGJPq0kdJWrz424pyXmquxTEFs/Gg9YjSf5scnPbUQ8rJov46A73SA4ixfmXC6pTGVZS8ViLIazxXfzzJ+kUZDoeIYMmFrFWeSP4NEflH5gpmnHivZ0bzAag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4/jvKDojcsWkrZuuTJGA2rE5O2T+40xoTh5MhrJyJ40=;
 b=rCu+okvL95IlMhgr4JExFyBAEXTWB8xwSW4lMYS2MUL/I9lFez31oP8NbS/fqMg7pGGgqrh0VMVVsSbDV5o5cKZWsgp/oQUc1h1bczAHbSFb6Zoa4/BbWg3sfXfoMvne6vc8QJSHBnae48G/pYL2kiGyPVaGVpubBv7bmVXbsmM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <4240a4e9-4cc7-ac42-c0d5-48ea9b8dfb98@citrix.com>
Date: Thu, 16 Mar 2023 12:53:09 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4 0/3] libxl smbios support
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Jason Andryuk <jandryuk@gmail.com>,
 Henry Wang <Henry.Wang@arm.com>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 xen-devel@lists.xenproject.org
References: <20230306204024.124882-1-jandryuk@gmail.com>
 <d3da0ece-a65a-89f7-85ba-5de31472bdcc@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <d3da0ece-a65a-89f7-85ba-5de31472bdcc@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0249.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:350::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM4PR03MB6078:EE_
X-MS-Office365-Filtering-Correlation-Id: 00384240-4648-444a-7a3e-08db261d68bf
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ydabQQPpBQfBuphpWp4973RcEoZRoEpCVvBuH2O8CnTgqFv4IpjhaBOBbFP/bNjZmMqtanbCG7xocHPmd0Wa11W7rDyvhLScOauxri1K0tbGA9IB+ST83vYvu2b1fhlCsH2E9cxbPIGubyxSK3AwFbWzL5bry3EqlAr9w8ds+HppbjxooDM1YVnkUI6g9S9tVlEF85G3K6Epz9Nz58QSpPSNnEokElf6nT6tVxp/Kf5MfjO2GofmlHG7HFFLEdELfTd+IUnkmxjUTrah/00jepiy2fbtRxGTCU9+xe9hsnzbLNjs0a3CNj/tHu8WJWoq/ltHH15sIaviz9+gAFY3SIuAINCNm2y0ajjztarILaUetVng6vzIriCq48W2e8ky1SEXaw+z8ZVm5doftpulfZ8YSP11+IW9kPWXgG4WEjamtQ6YLuBYNRQ3nVHXh/1yfoMFPs5lsX5xY0jNRiCcDNX8U0sw6yvDq1vpiu/g8FTmAFcF+wS62HkKCIfyIY8CXmxxifkLypNB2oiGJspRg8LXMXcu/ADw79KmdI+RjT4MK+3Q9k9u8UvzQL9U4wiy325Q6KrIFvHqaDY5HYW73bOg2k/xFiPz/nLsxeYwOj2BX8YOn4o6GDCK+FABbeqAlcN0g9VgONceXZC7cqONrYjelyLak+/5TnHvIS8rJF4DaYYOtLvyRmHEqUhbU5bBpxdZyhZCuHBwEptnhxQ16HrMfh6DF9/eVVOOTOT49/U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(376002)(39860400002)(366004)(136003)(346002)(451199018)(8936002)(54906003)(110136005)(478600001)(83380400001)(8676002)(4326008)(41300700001)(316002)(66946007)(66556008)(66476007)(38100700002)(6512007)(53546011)(6506007)(26005)(6666004)(36756003)(31696002)(86362001)(2616005)(186003)(31686004)(2906002)(5660300002)(6486002)(82960400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UjlhQm5NczhCNkJWY0JubFlZdDUzRVZYaVd5d01CNlBUdGlTUm90VGhLcWhE?=
 =?utf-8?B?a3lUT1dUbHlzdmVXVkxtOU5SVk1EOHdpUVdJQWlDcjNIRnZ0M25ZRnFOQlZw?=
 =?utf-8?B?ZGQxQ0tneGcwUjIxYy9MTlRuSUNwU0MxUHl0akV3MFJvZWlKZThPbHRvQWQ2?=
 =?utf-8?B?cjN4bWVKMzJMMG5hWkNMR2l5d0Y3aWlzMTBUV0hxVFMwbFE4NW1seWl1MEpV?=
 =?utf-8?B?M1RsdzUzMlk0VFptOThKSzJnZUZkUjFXOWV6YzRpWXFQbHloZHFqb3pIanYz?=
 =?utf-8?B?bnhjbkFqL0NwaTF4ZS9mWGJJSk9oTmtaeGFsMkJxdUg3NThROElteWxRZFpk?=
 =?utf-8?B?UVlOc3lWSTlWblZpRlNENWtpZ0dXSjJaTkN0OENPMFh1N1FOTExMT1hpZEhl?=
 =?utf-8?B?ZDVJNjZldHNFUm93UUVjOHVlcU5uNVB6M3d6UlE5ODl5cEJadEMxNzJjYWFu?=
 =?utf-8?B?bHkyQ3dJNVVDS3FYUlJjZFArSWpMSHRnOUpObXdNUlBlL1JITm9waS9ndWlT?=
 =?utf-8?B?Ry9YZDlKbWJjSkNyRmpsNi83M1E2T3NOQ3FZU1JwYm1yb3Z1eDhpVFg2TUFO?=
 =?utf-8?B?NFVWTFEwbkdsWHB5NU1ua0hPaTlHTlhRenJXWVRHK2RwblRrSkUwK3VQN1J5?=
 =?utf-8?B?Q1hvQTYyaVFGMW0vbDZwQUdCZTIxSzl3eDFIcHZGOVVRdGJveHF1TDVrMkJY?=
 =?utf-8?B?MkdUU0ZPK1l1UG9QRzR1S1lGSlZmQWE0a3JuY2Q3Z1ZCV3VkbHpXOGdzUjd2?=
 =?utf-8?B?YlE3MXJuMGpwbUdWTUZLalhsYmkvZW5LQWIySU05ZThUdmtEQ29iTzczcklC?=
 =?utf-8?B?TWJlUXN0SWE4SVNEYXVzellyWllmdTNkZGR3MHRXTitmMmRqWVRQdklueHIv?=
 =?utf-8?B?a0ppQ3VITGFkVXNLN2dSR3Y1ZkZpMWlJNGgvRmZhRGhQUVd3cUh5L3ladlNN?=
 =?utf-8?B?aGo2QlJKbitXZGVWWGhzanhmRlZwVWVobXZYRU1uQVlaUjNtQkRjUUI5MStG?=
 =?utf-8?B?YklrQ0VYckZTc09takdjVkJzMFFIek9mdFRRUkpjblNRSDVSM05USG1ZekEw?=
 =?utf-8?B?SEJrUjhmL3JaT3JCNDR3ZGlmUVJMU3paN0IwOWVxc1pZUUZLeGRJdUJmalFT?=
 =?utf-8?B?akY4NVhHajdIam42MzEvdUoyREROMWVueUVZaFNaT1JQUlpmK0YrZUVsdGlz?=
 =?utf-8?B?Z3VRSjhqVGZzYXFBa085eElKODMvUWIyNFBTV2xRUHR3U2VESWJLNVhrVzRr?=
 =?utf-8?B?MFNMbTNmc010WklNcWEzVGd3c1k0T3VpblZuekRsS0k1azNuQWJBSDc3ZUVn?=
 =?utf-8?B?RDJQS0J2WkZwL0NJOGZPaDAwK0c0NHpDNkdRQTVIMmNrdlBKOVdoUEZVZ2VV?=
 =?utf-8?B?NEpwZllETXVhTUc3b1U4bGliWlJOaG9hQmJleEFFWnY3N0hLY0N5Y2dZSVp4?=
 =?utf-8?B?dUJDWEY3Yi9WdVZqYWk2YnBPR2NsalVvUGhJS3phTktvdGkwOFpzWEtPUDBY?=
 =?utf-8?B?MzVPa3V2Ymx2WjNVQ0NRTE9mSythUTI0d01IdXlBS01wUFNQY0hHYTVCeVVV?=
 =?utf-8?B?N0syV01nRlpFU1hxYyszNGlSalU3VU5GekFtb3ZQZURWenAxamRuZnQ5Slp3?=
 =?utf-8?B?OFNZNDJ0UVo2bEgwa0R5TVJodllOZVF3MGJlNHJIczU2eWhkRHFZR240QkZM?=
 =?utf-8?B?ellBdkJDRkh5eERQejVSMTVrYXFpSHJseXpuczh2bXNBWEVhYnl2K2dmbnF6?=
 =?utf-8?B?QnczbUZWMWtXTWNkUG9EQ2xsQ29tT2V6T1hiVHp3QjF2bnhhWjU0UlR2S0tt?=
 =?utf-8?B?cmFUUTFBRzF1WnN3SE5ndWI3a1pUTEVQWWhIUDRodWU3cDltUzhidXVodjhU?=
 =?utf-8?B?Z3lDcnBra3dSNjh2TjExWXcrMHZjQURIUmsvOGF3U1FzNFBxVlBvVzBvM09p?=
 =?utf-8?B?MGN5TExQR0J0bk1aanhYOGNHL1Y3UHYvbkxjSjVscTVtUURMNUNzQmRsckUv?=
 =?utf-8?B?YWlGKzM4dm5BYVJqamJiQS9JNFhGZjhJRDRPdVk1eUk5dVBjckZQS21oT3l6?=
 =?utf-8?B?bCtqSnUwNTBIUFRkQ3Yza2RoS3BNeFZXTzM2R2U5d1RlcVlVbkc5UTVMS0Vo?=
 =?utf-8?B?ZllOMEJQZnRVOG50RWM4THhNeGtTYlFDSlgyRWJmNkozdXdVWE1NUjNYeVZS?=
 =?utf-8?B?UVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	8+t2RCm/LP0L8/pvyhBQGfd5m2DPdMet7Tn07AMQYu0QsPFJ0MaDtNFI7CAoVfmiCmOCwRpVlCoFXn+7Xdt8lkRB++ePEGd+GexWfziTLlzucyVJN5cUwj+Ar7ZvDgc8he4Fll7gQZP9FGhRuUJKnDuo0Dm8vp/Z6ZK52j0bsefthzl1qHUjYtOCwtyN7Py7Wykb65MHksKNjY/x//D2eq6gIPn/llF5YCLkXrCcBWpa9YHOqD/g5l/zrN/Tz96AocI9hJfygiF4CoEcDju/MW9nqOXPzBadG1HXXXHgc2yatgZj9ppu3XtO3osrNS2BzSUOexzgH9PNOVgBOe6FRCFVZkup9gmL1zE8yRe0uCi7DzZ9ypuhSKueJyvvsq3ZlpkMd0bf68hYCwlfrSNQYmlNIXXaIUJ8FMDyPM462zBqjGggG3n5vkoeiAIg1WOJi+Qmx/hsrwpc5n/vJZYlAEFo2aG7AxR0OukdVA2T2D7zoBTxr/3YpgasAqRcRqbrMkV5x+7uoR+G66phqA1LiB4RcCZ8xa4hImovoh88Yava2524jZk/Z0DY2EleFh2ycYTaRO67DsFi9K7Pt+roO5mABXS5HJ8wNRl0EpPA+brPjOKDEFtDOYc+iw0PnpclJnYLsJZMLBWbdk1LwjVUTQH6I8uZKguwsUvbyOU7Nzc0GbootABSYpUFgjGt5pavcfemZKv4Z4HhDagqza0+tUPc1URWldsPyuPItOTGKyRK2cynkJD/RBHt0NkHBV2GP2dEQbuX6eyR5soRMYptpkEz5p/ZGXGdh1EdRiXV6BgWe/Qa3Tbfej0bMHPtoY3RieEYhgKVLDOeLF8tTAvZ1ttgHe/6tlZRjz8U7GGaOCL/jhV2aTp2dyQq8QIqUh/L
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 00384240-4648-444a-7a3e-08db261d68bf
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 12:53:15.7749
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aKrLa7K+0Lffsh8M/owl/d2mK9mBhBZbpDn+1aP5iHppb0hXhq8UgsKBrzLDr3hCY6rT1dpCadwmEZs4/CC3fg0HhodkuNxOVFJMOFzswUI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6078

On 16/03/2023 7:53 am, Jan Beulich wrote:
> On 06.03.2023 21:40, Jason Andryuk wrote:
>> hvm_xs_strings.h specifies xenstore entries which can be used to set or
>> override smbios strings.  hvmloader has support for reading them, but
>> xl/libxl support is not wired up.  This patches adds a new xl.cfg option
>> and libxl support to write the xenstore strings.
>>
>> The xl syntax looks like:
>> smbios=["bios_vendor=Xen Project","system_version=1.0"]
>>
>> The Go binding generation needed extending to support Arrays inside a
>> KeyedUnion, which is what the first patch does.  The generated go code
>> builds, but it is otherwise untested.
>>
>> There are also oem strings, oem-1..oem-99, that HVM loader supports.
>> xl parse multiple oem strings like smbios=["oem=A,oem=B"], libxl then
>> iterates over them and assigned to the oem-%d entries.  Both xl and
>> libxl check that the 99 string limit isn't exceeded.
>>
>> The rendered man page and html don't have a newline at the end of the
>> new section after patch 2.
>> """
>>            battery_device_name=STRING
>>        ms_vm_genid="OPTION"
>> """
>>
>> however the txt format is correct:
>> """
>>         battery_device_name=STRING
>>
>>     ms_vm_genid="OPTION"
>> """
>>
>> It goes away after patch 3 is applied since it adds text about the "oem"
>> option in between the two lines above.  I'm at a loss as to why this is
>> happening.
>>
>> v4 is a rebase and resend of v3.
>>
>> Jason Andryuk (3):
>>   golang/xenlight: Extend KeyedUnion to support Arrays
>>   xl/libxl: Add ability to specify SMBIOS strings
>>   xl/libxl: Add OEM string support to smbios
>>
>>  docs/man/xl.cfg.5.pod.in             | 49 +++++++++++++++++++
>>  tools/golang/xenlight/gengotypes.py  | 41 +++++++++-------
>>  tools/golang/xenlight/helpers.gen.go | 51 ++++++++++++++++++++
>>  tools/golang/xenlight/types.gen.go   | 28 +++++++++++
>>  tools/include/libxl.h                |  5 ++
>>  tools/libs/light/libxl_dom.c         | 33 +++++++++++++
>>  tools/libs/light/libxl_types.idl     | 27 +++++++++++
>>  tools/xl/xl_parse.c                  | 71 +++++++++++++++++++++++++++-
>>  8 files changed, 288 insertions(+), 17 deletions(-)
> Is this work something that's worth mentioning in CHANGELOG.md?

Yes.  Thanks for remembering - I'd forgotten.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 12:58:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 12:58:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510578.788471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcnB6-0006w4-Ov; Thu, 16 Mar 2023 12:57:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510578.788471; Thu, 16 Mar 2023 12: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 1pcnB6-0006vx-Lf; Thu, 16 Mar 2023 12:57:56 +0000
Received: by outflank-mailman (input) for mailman id 510578;
 Thu, 16 Mar 2023 12:57: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcnB4-0006vr-N2
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 12:57:54 +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 28dadb16-c3fa-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 13:57:52 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB8032.eurprd04.prod.outlook.com (2603:10a6:102:ba::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 12:57:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 12:57:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28dadb16-c3fa-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SRkcMHSg7nteHw16bSj6iRNsZm0g6m50V4UXNzi4ikSMuHQr7urv1OUrD1/okJ+5Y62/E/6F7EqU5HVXBen/Y6tnc9qnkCeirmst1PfaKZ3yur2WvSJCF1iwRd6oSVJGnrt7o61gefCz7/u2QgCfDY7rKeshKVSyqKZd6mXz0J0OvUF7YYCtAaAd/SHMYXq4TdxcBK+Fkl0joU67lIuAXU3UcsQYU1vb/ILbYsKw0lUrTIAADr7FKZ8y+Kb3m6uNEbLFEIEIiipqBAGeLXilrBrlW5ow705N4G8bUiKUo330/JpHiXo65wQgSoxhuhZmpd+73xkl5hn6Bn2G44a/Ng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iTTNPMhlZTG7vpEm6rQjJ/GNuDSISUUy4PmeEqqCvAM=;
 b=WPmy/2MunEfxTRuIHzENXRct4O9bMHULzfSm7RYKPLkaV3jV6nndu2q7Wv75ongB++zAVOv4PeBiDhHlI7cVITYw7AHOcp2tuopcbqctRpoCR1wDNMq9MjSuJkgYbq5MKwDkxifnoCpSz7Bp7Rxj9LAv6TL+/2wIXiq73Ucb22TvNGd7Qz3AhJbVAzSSGrtOyUjbVXVEz3ef/JVuTF7TTxIzv9I/u2YXd6PzwRocPJ7UzQQWop3/l9Olytt+gt31wL+dSUr31U3LTu75kAF408CwqolTN8fU6taHrMGJ2y/shXVyVPXCuM8rJefxNvZwjYMhlTMPs4E8Kyn63fhSAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iTTNPMhlZTG7vpEm6rQjJ/GNuDSISUUy4PmeEqqCvAM=;
 b=KoC4bTzCjp22cVDNWzCjuA6Jmy4ho/jxYAGIl0kmwry7eXvCfPrp+MdTD0DNR/Q1KkgPooSlukruHmQL7Vo0AoSa04DQO0BlTukOvP7kE3H/3mE2Lb3mL44963ImHyQxGEI4CZMDQit3Z2rnTdDaEceo0lqQ9dQfztXE61wLQ+e8FXimkmX9gIOw5KL/ArNIe7MbE+Y6C38IFV+VUncODrGyoLFuEqn2NQurXZVuinDBzKqNBctGIP7ci1ky1ZMlr89They345O7W5yFqOc1jP26qWFHxNgyR1n72cFaU2Ww2RFXj0f9UyLV1+hOcgkaMZZnoL+i4+e6m8GinnZeMA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <91d3373a-2a50-f868-7471-08f9def8e6b8@suse.com>
Date: Thu, 16 Mar 2023 13:57:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 1/5] x86/paging: fold most HAP and shadow final
 teardown
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com>
 <67b9378f-cf4a-f210-aa2d-85af51c51ab0@suse.com>
 <ZBMKhQWl1pZppgSj@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBMKhQWl1pZppgSj@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0108.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB8032:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d7b5bac-bf16-4fb6-c547-08db261e0a77
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YoRmv2AP9IBlVlatMm4ComtvkXcAjl3VhQoiR95oJWA2qfu0lvS2XbahuqmclmmqTMyRKucrC3uscay32gza+4OR0omrk5DKH+s0LfWP4UUykVccybD/Yb6+/QQsHeOOC7Rsdosn9jjJUJSKSpsa/7VJhV0qqvC+QK/7YvweIIGxAhU1NtEXNdLQeXe575gXhe0SuQxbY//NTovrPqlBsZI1/h1xoRnEPle0QfrOcSLSKOtNuZsV9cOjMCINSmg3JekeV8Cth3zeJvFbicMuJnSjNJv7cu8CpWXi+0xcN21l78H0dmRakeypp86X8B01mdHv5A3oSnqA9NLOSewMEV7VyW+A+98c/2T5Y0f7yf2Ssor0hxqgXDoZ2KcjbbIc1lwxlnkfSCi5ycNUwUNWgOr7XcGL0X1PrckLP87fAZaacCwcDHkVtmutedTUzBY2Z7UzbMQ/ilBK2e10zofqLWHoLcyDqhLWs7Ii3jhbzWUijG2nCuAJeTCyN5upFvAAnBytqTJjJUvKN+205btOEAXQd7Nrz56CZmyJ/YDC3zHKBjYej4dKjmsJjTThSushIVYuH1cwF7dqgRogL7Pxp8vz+18ol+bwHv6pd1eeBHsCLHOjnMB+oqXWWsvOwMWHZeUfV5HCjAZbOtN4wSa10a8bdsZJ96JYfPH48dV7cE96+zpf7SyYVbc2MGnrCIfqJR14pVIsLBNAZXvdopjEuLHPOxopKIm0v1KQdUhVV4k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(136003)(346002)(366004)(39860400002)(376002)(451199018)(31686004)(5660300002)(41300700001)(8936002)(2906002)(38100700002)(31696002)(86362001)(36756003)(478600001)(6486002)(6916009)(66556008)(66476007)(8676002)(66946007)(4326008)(316002)(54906003)(83380400001)(186003)(6506007)(6512007)(2616005)(26005)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N2gwY0VtMzdmcDlUN0hIQVlYTWlMSklzbm13K3dZbXdQVHB6aDhXYTRPSktn?=
 =?utf-8?B?UGpVMzl1T1Y3R0VZZ01ReFdFU2dmSG1rZnJTczc3VUwzeE1BeVFtRENjVDBT?=
 =?utf-8?B?RGV0YnorSlBJajBLb3NMdTNFQk93dHZWMHlObUJFMElmWXFnU0EvWWRKVGQz?=
 =?utf-8?B?aWtRZ0ErcGVwZFNTSmlHOEpjRlRINkVQbDZXZFprYjNsUjJSN1VUdXlraGRQ?=
 =?utf-8?B?TXI1WGxNZTJNKzlNU2gyMXRqMkhVcG1xQWE5SUVIdE56eUZ4VDJJQXN5RXJP?=
 =?utf-8?B?M01uUW1BRDFsRlllOHlnTFFMckpLdG4zVHFSbEZnYzNtVysybVpjK29tbDVK?=
 =?utf-8?B?ZVl3WUtKa0kvWXRodHBqd1lUN2lJQnA0QktjRzhCZTM3TUl1dHgxMndBZG11?=
 =?utf-8?B?U0hVc1ZXM1N3d2ZTdTFiTzhxeG8xTWpVTzljU25rdHh6Z3Z1SFdUb2xhNDVz?=
 =?utf-8?B?WmNFV2JhK2s3OWxxRTRTMlJDT3Q3K0VqM2pRdU1HTzBNWDJwazFhNWhudkJH?=
 =?utf-8?B?UmlnZytaS1k4dmdub0E2c0VDWDNNanUzQ2JGU2srVk02TEpxczU2Q1pYVEky?=
 =?utf-8?B?SXRHcXc1VVZNTm8vN005c0hmRTJzbjFmclAxQm5HekRyYVB0TEVnQzUxODZB?=
 =?utf-8?B?akh4cE0vM0RTV0ttZXJhWlJ5WDluT3VNMzhPVG9McEphSzYrOHVNcnlnaC9k?=
 =?utf-8?B?RElWSWIxby9VNjVidTFQKy9NajZVcU1YcUhjbGhBWnE5aHh4SmZPV2VEa1Qy?=
 =?utf-8?B?VXEreS92eUpwTFQwWUlhVWgyb2JWSzl4ZTIyOGpxRVA0Rzk3RVB6OXpjZFhq?=
 =?utf-8?B?WHpKTUdrZ3BJeDIvb01VNWcyQU9ybmFSZVVNekxJRTA5cVpGb2tIVDZWUXpj?=
 =?utf-8?B?VXpzd2Vkd2MrMDdFWEE5Y3lrUmx1MEZnUG5XZzRLUzVGZ25XYjE0N1RGalFw?=
 =?utf-8?B?QkxmSUxmdStaWkdZZHZZN3JQRjVxQmhYazJoTzhNTHBDNzIyaVJ3SVhtejVI?=
 =?utf-8?B?UFNURFZPVHNMcUJuL3lweDJFRDJZdzBPWFZuUmx2d0NrMThCR0EveTFDN01Q?=
 =?utf-8?B?eVBqbzU1WnF3cUlUdUJNdHdBVGFqbzJpZGZzSkJUeWZxZjJ0ZTBJT2tYZzYw?=
 =?utf-8?B?TmJmMTdLM1pYejIzNUZTa09nWnNHUHRtakhIUmRjQ3kyckVReCsxOXdyOWVn?=
 =?utf-8?B?Qm1uTkc5b0IyVEUvNzAzWCtYcFRJV3ZjbWtyMmZWR21LUGNSVkFZMG44dm82?=
 =?utf-8?B?MDFoRWRNRGVJSFh2cWExcVhlem5Wejd4TW44OEdTUVlDVkRWQkNJYlYvYUht?=
 =?utf-8?B?VUZSeG5hdVZwM2thWmZjTGJrZ2VxMmNRMkY5dnJHeWJCRDlaKzE2TmQrMXgz?=
 =?utf-8?B?SkxZTU0xdmFYWUJpQ2t2My9CWTFJUFkvdjd3NW80emtMYlhSR1VQOW9CTGhG?=
 =?utf-8?B?OWlVZFJZV3lrV0tQVkR5SlU5VVR5UmliSjFRbFdMcmN0cGUycXVqSkg0Vm9x?=
 =?utf-8?B?K1NOeXdGdmUrMmJOZ1E0MGVtc1o5dElzWmxaNUxzSW9sYnc0bWFGeDNNMVRQ?=
 =?utf-8?B?ZXQraUNObEQwTEM4UmthQ2RuZHR0RE11a3Z2eHVBVVJib201ZGpYZG9WMHJy?=
 =?utf-8?B?YnRQZzFpQ3UvM3N0eVF4N2xldXNEeERSQlBVUk5yUW9Qdy9GRjYza0tDMnpm?=
 =?utf-8?B?VGp1eTVleWhtZWdWYUlNUkVETmRTaVlXNldwenRDYi93TEtqRklzREtjWC9Z?=
 =?utf-8?B?WGpvNTlPQlhTN3Q1TjBucUpkNEF5Rys5U3puVTh2bEY2N01hczBsVlgxd09a?=
 =?utf-8?B?TlV6ei9YcDZZcGl0S2Y5bER3cjcvY1FxNlJXY1ljV3EvZHJnakk0UTRhdkpt?=
 =?utf-8?B?V0FjVGlwTzlocWxEazJVWUFUQk1Pb2h0VCt0VnFleWlCRkIzY2NndHY4Qlpq?=
 =?utf-8?B?U3RNUHBKUGszZVgvUUdIK3dsbEh0TGJGampMTEx6Ri92bk1oeGpxTXYrMzBI?=
 =?utf-8?B?c2dBOXVRbjdFSks3WXFzQWNvVEdaUnVXY1BKM282cW1sTEEvRzF5VEhSVWsy?=
 =?utf-8?B?aWhUeHRnL0YrWHdsR28xWDROMUFVb0t3NkpGUmYzNnNGVUllWFE3NnlucGo5?=
 =?utf-8?Q?vQ7ttVTSI8gRRc4uAOPtLUM6C?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d7b5bac-bf16-4fb6-c547-08db261e0a77
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 12:57:47.1584
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ikS4+GSCGlMDmLnrBcOkqzRFKrwQH2wh0C7F/n3VbB2SUGVjapHWI3OpSLlghKtAvflLc+zBQtqMZdw/eC3tAQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB8032

On 16.03.2023 13:24, Roger Pau Monné wrote:
> On Mon, Jan 09, 2023 at 02:39:19PM +0100, Jan Beulich wrote:
>> HAP does a few things beyond what's common, which are left there at
>> least for now. Common operations, however, are moved to
>> paging_final_teardown(), allowing shadow_final_teardown() to go away.
>>
>> While moving (and hence generalizing) the respective SHADOW_PRINTK()
>> drop the logging of total_pages from the 2nd instance - the value is
>> necessarily zero after {hap,shadow}_set_allocation() - and shorten the
>> messages, in part accounting for PAGING_PRINTK() logging __func__
>> already.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> The remaining parts of hap_final_teardown() could be moved as well, at
>> the price of a CONFIG_HVM conditional. I wasn't sure whether that was
>> deemed reasonable.
>> ---
>> v2: Shorten PAGING_PRINTK() messages. Adjust comments while being
>>     moved.
>>
>> --- a/xen/arch/x86/include/asm/shadow.h
>> +++ b/xen/arch/x86/include/asm/shadow.h
>> @@ -78,9 +78,6 @@ int shadow_domctl(struct domain *d,
>>  void shadow_vcpu_teardown(struct vcpu *v);
>>  void shadow_teardown(struct domain *d, bool *preempted);
>>  
>> -/* Call once all of the references to the domain have gone away */
>> -void shadow_final_teardown(struct domain *d);
>> -
>>  void sh_remove_shadows(struct domain *d, mfn_t gmfn, int fast, int all);
>>  
>>  /* Adjust shadows ready for a guest page to change its type. */
>> --- a/xen/arch/x86/mm/hap/hap.c
>> +++ b/xen/arch/x86/mm/hap/hap.c
>> @@ -268,8 +268,8 @@ static void hap_free(struct domain *d, m
>>  
>>      /*
>>       * For dying domains, actually free the memory here. This way less work is
>> -     * left to hap_final_teardown(), which cannot easily have preemption checks
>> -     * added.
>> +     * left to paging_final_teardown(), which cannot easily have preemption
>> +     * checks added.
>>       */
>>      if ( unlikely(d->is_dying) )
>>      {
>> @@ -552,18 +552,6 @@ void hap_final_teardown(struct domain *d
>>      for (i = 0; i < MAX_NESTEDP2M; i++) {
>>          p2m_teardown(d->arch.nested_p2m[i], true, NULL);
>>      }
>> -
>> -    if ( d->arch.paging.total_pages != 0 )
>> -        hap_teardown(d, NULL);
>> -
>> -    p2m_teardown(p2m_get_hostp2m(d), true, NULL);
>> -    /* Free any memory that the p2m teardown released */
>> -    paging_lock(d);
>> -    hap_set_allocation(d, 0, NULL);
>> -    ASSERT(d->arch.paging.p2m_pages == 0);
>> -    ASSERT(d->arch.paging.free_pages == 0);
>> -    ASSERT(d->arch.paging.total_pages == 0);
>> -    paging_unlock(d);
>>  }
>>  
>>  void hap_vcpu_teardown(struct vcpu *v)
>> --- a/xen/arch/x86/mm/paging.c
>> +++ b/xen/arch/x86/mm/paging.c
>> @@ -842,10 +842,45 @@ int paging_teardown(struct domain *d)
>>  /* Call once all of the references to the domain have gone away */
>>  void paging_final_teardown(struct domain *d)
>>  {
>> -    if ( hap_enabled(d) )
>> +    bool hap = hap_enabled(d);
>> +
>> +    PAGING_PRINTK("%pd start: total = %u, free = %u, p2m = %u\n",
>> +                  d, d->arch.paging.total_pages,
>> +                  d->arch.paging.free_pages, d->arch.paging.p2m_pages);
>> +
>> +    if ( hap )
>>          hap_final_teardown(d);
>> +
>> +    /*
>> +     * Remove remaining paging memory.  This can be nonzero on certain error
>> +     * paths.
>> +     */
>> +    if ( d->arch.paging.total_pages )
>> +    {
>> +        if ( hap )
>> +            hap_teardown(d, NULL);
>> +        else
>> +            shadow_teardown(d, NULL);
> 
> For a logical PoV, shouldn't hap_teardown() be called before
> hap_final_teardown()?

Yes and no: The meaning of "final" has changed - previously it meant "the
final parts of tearing down" while now it means "the parts of tearing
down which must be done during final cleanup". I can't think of a better
name, so I left "hap_final_teardown" as it was.

> Also hap_final_teardown() already contains a call to hap_teardown() if
> total_pages != 0, so this is just redundant in the HAP case?

Well, like in shadow_final_teardown() there was such a call prior to this
change, but there's none left now.

> Maybe we want to pull that hap_teardown() out of hap_final_teardown()

That's what I'm doing here.

> and re-order the logic so hap_teardown() is called before
> hap_final_teardown()?

I'm not convinced re-ordering would be correct; even if it was I wouldn't
want to change order of operations here. Instead I want to limit the
changes to just the folding of duplicate (with shadow) code.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:03:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:03:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510581.788491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcnG8-0000Tq-Nl; Thu, 16 Mar 2023 13:03:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510581.788491; Thu, 16 Mar 2023 13:03: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 1pcnG8-0000Tj-Ky; Thu, 16 Mar 2023 13:03:08 +0000
Received: by outflank-mailman (input) for mailman id 510581;
 Thu, 16 Mar 2023 13:03: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=F7HK=7I=redhat.com=kraxel@srs-se1.protection.inumbo.net>)
 id 1pcnG7-0000T2-DY
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:03:07 +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 e2c9620d-c3fa-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 14:03:04 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-178-97jO7ZR6NzerANANhGO_zA-1; Thu, 16 Mar 2023 09:02:46 -0400
Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com
 [10.11.54.2])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 22625101A553;
 Thu, 16 Mar 2023 13:02:46 +0000 (UTC)
Received: from sirius.home.kraxel.org (unknown [10.39.192.211])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id DADAE40C6E68;
 Thu, 16 Mar 2023 13:02:45 +0000 (UTC)
Received: by sirius.home.kraxel.org (Postfix, from userid 1000)
 id 384031801CF6; Thu, 16 Mar 2023 14:02: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: e2c9620d-c3fa-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1678971783;
	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=rv/7weyITGIgh9XHuzq9wGpH0QjJJjSvb5kXrWfqWHo=;
	b=BOiVvKUewQ8jXy+9/BaCUL5bbLmx64MegRHnVZxnNppG8xiI5Nkmxkx90V3XRNmhPRhcWJ
	kj4FsQbmll8xdgPAOO1pYWmEvwbdoM9TkEsqpa7fYyIevv1s5xE14dyf9+IWdRNR24AXjB
	0U2vPnMekr0Oc/viWF20PbvQIR4IFow=
X-MC-Unique: 97jO7ZR6NzerANANhGO_zA-1
Date: Thu, 16 Mar 2023 14:02:33 +0100
From: Gerd Hoffmann <kraxel@redhat.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: seabios <seabios@seabios.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	qemu-devel <qemu-devel@nongnu.org>, paul <paul@xen.org>
Subject: seabios 1.16.2 release tagged (was: Re: [SeaBIOS] Re: [SeaBIOS
 PATCH] xen: require Xen info structure at). 0x1000 to detect Xen
Message-ID: <20230316130233.shp5i6mto4gvvvqc@sirius.home.kraxel.org>
References: <feef99dd2e1a5dce004d22baf07d716d6ea1344c.camel@infradead.org>
 <Y9scWQ/ASMCrY/uM@morn>
 <fd3259a2765d4b33ccf7baea320ac798bab63159.camel@infradead.org>
 <20230202091031.xmnao56wziptjak2@sirius.home.kraxel.org>
 <0f25af10f21de2a36f4748f20d457dca5bce1f64.camel@infradead.org>
 <20230309112703.dht7yisk7on3sfwg@sirius.home.kraxel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230309112703.dht7yisk7on3sfwg@sirius.home.kraxel.org>
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2

  Hi,

> Ok, we have as of today two changes:
> 
>   kraxel@sirius ~/projects/seabios (master)# git log --oneline rel-1.16.1..
>   ea1b7a073390 xen: require Xen info structure at 0x1000 to detect Xen
>   645a64b4911d usb: fix wrong init of keyboard/mouse's if first interface is not boot protocol
> 
> With no changes since January and no known issues.
> I think we can safely tag the current state as 1.16.2.
> 
> I'll do that next monday (plus qemu pull request) unless
> there are objections until then.

Oops, totally forgot it.  Three days after the deadline, still no
objections raised, so I tagged the release today and uploaded the
source tarball.  qemu pull request for the update is out of the
door too.

take care,
  Gerd



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:03:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:03:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510580.788481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcnG3-0000Ca-Bd; Thu, 16 Mar 2023 13:03:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510580.788481; Thu, 16 Mar 2023 13: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 1pcnG3-0000CT-8U; Thu, 16 Mar 2023 13:03:03 +0000
Received: by outflank-mailman (input) for mailman id 510580;
 Thu, 16 Mar 2023 13: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=wP9M=7I=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1pcnG1-0000CN-Mw
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:03:01 +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 e05b95e3-c3fa-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 14:02:59 +0100 (CET)
Received: from DU2PR04CA0240.eurprd04.prod.outlook.com (2603:10a6:10:2b1::35)
 by DB5PR08MB10213.eurprd08.prod.outlook.com (2603:10a6:10:4a9::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Thu, 16 Mar
 2023 13:02:54 +0000
Received: from DBAEUR03FT060.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:2b1:cafe::9b) by DU2PR04CA0240.outlook.office365.com
 (2603:10a6:10:2b1::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29 via Frontend
 Transport; Thu, 16 Mar 2023 13:02:54 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT060.mail.protection.outlook.com (100.127.142.238) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6199.11 via Frontend Transport; Thu, 16 Mar 2023 13:02:53 +0000
Received: ("Tessian outbound b29c0599cbc9:v135");
 Thu, 16 Mar 2023 13:02:53 +0000
Received: from 06a9cf22bbab.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3AF817E4-6112-4881-8C7F-504CFFE2420C.1; 
 Thu, 16 Mar 2023 13:02:47 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 06a9cf22bbab.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 16 Mar 2023 13:02:47 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by GV1PR08MB7346.eurprd08.prod.outlook.com (2603:10a6:150:21::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 13:02:45 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03%4]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 13:02:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e05b95e3-c3fa-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MH7vOoVdySHDcMngfOJjdeuoWeScfB4wJ/fxTdcnfkE=;
 b=jzNFJ1VoCVjxvtWbAZ3TDNwTmt7Y2+UkR/K7Ap8rwS1yxIWUdCk4cwhV/nKNGc96M6936KpqwYUjnTBj8ZG8NXLzfCjZZ8WWoOh5f+sVqhY8Rsi0TmTjV9aN/P4ShTbmu3hLPLqxPC7VdHTwkDkJDSRt65qtskRsUr4nGSbzXeI=
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: 8e1ec8f8e1e43487
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nYm8Bi7om/4x0zcti+y1jRY8cKkDWnJXNoP2OlC2JVl2H9Y/bR2wClHJ0yp3mOQGmYjU2g8wkY+ElvGHNWJQbYQp/BsMhcF94SracsU/Jbv/0vne6GCEMQs0OImO1/HUdrGGkx1mi4yGjNVi+96PBmlntyZ9qxFjUyJrEfWhCPOpja33Mlx5aKmLDWrHsjxffGYPH2e8HxK9aRfzORY0MoFXTLHtwqM81KHSHH52nUyo0+KZWEFu1O7uNj/iz3yU2+SXPPHrJOVaJhAwaWxC26Y7NZGazrqxW14mUOHwpvRUZxf3UORbKGBd8zh6quW85Xl0VreW5qKt08LG2EBsMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MH7vOoVdySHDcMngfOJjdeuoWeScfB4wJ/fxTdcnfkE=;
 b=bDRs2MMFWPowEcjR86sDVTXtJo8w4tGvva0VXGTEjIo70nXXr5LY9FO44dVxJnAdQ0tRmjHj+nTyOXTcg98Q7ukXlRdED6/t0WxZczHtu8kzIMhD5rh9RMQdYj6XE1Gb7dBlCZwkN4rvEzwB7wQlaIxQjtFV9uRprhOB71OmYGXu45oi59dZqnUs4+0FaSoNeOZoKpa5zKdC9+F88Z7u/TcgxC02CeFeH+vc/EScm0v94c5K3mBTrBR0ztYnwIBHzyZIk2x74db5MlC07k1cn03/bw9Lf24Ju6gKcQwZrsSkRFAhsuhoHkgIwRdMHm5xjvXRAtotmjVSwE4LuewIWQ==
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=MH7vOoVdySHDcMngfOJjdeuoWeScfB4wJ/fxTdcnfkE=;
 b=jzNFJ1VoCVjxvtWbAZ3TDNwTmt7Y2+UkR/K7Ap8rwS1yxIWUdCk4cwhV/nKNGc96M6936KpqwYUjnTBj8ZG8NXLzfCjZZ8WWoOh5f+sVqhY8Rsi0TmTjV9aN/P4ShTbmu3hLPLqxPC7VdHTwkDkJDSRt65qtskRsUr4nGSbzXeI=
From: Henry Wang <Henry.Wang@arm.com>
To: Jason Andryuk <jandryuk@gmail.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Community Manager <community.manager@xenproject.org>
Subject: RE: [PATCH] CHANGELOG: Mention xl/libxl SMBIOS support
Thread-Topic: [PATCH] CHANGELOG: Mention xl/libxl SMBIOS support
Thread-Index: AQHZWAQMdRIKvzrNp0K8V9SRH4AMRK79XYFQ
Date: Thu, 16 Mar 2023 13:02:45 +0000
Message-ID:
 <AS8PR08MB799185F5A935A3D2A4A7C79C92BC9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230316123649.8682-1-jandryuk@gmail.com>
In-Reply-To: <20230316123649.8682-1-jandryuk@gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: CE9809BD26B1BA42B33CC2455D484051.0
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|GV1PR08MB7346:EE_|DBAEUR03FT060:EE_|DB5PR08MB10213:EE_
X-MS-Office365-Filtering-Correlation-Id: 34ee5515-6a55-488c-6205-08db261ec154
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:
 dvVPlRAJB5mWuZOJ1QOJE8T5pyMYvFyu3ADTK/Y7gJFaOnLlkuQTyNac4ATMBGYhlAlx90DnGWl7ktd2sqAevCNlrYFjwa/mDnMv/4Mg9pSmJ0kKyEN4hSKPeAoRu/IygHkJvtbZHHJUvo0k1jSasXcIFoJbWhYx4x3pZdhhhJ6QaWsxmLj0fuAC815Y18vJhFkLvHWZxgDXmgqJp1rtnUbMl7iWKaQ8i4sp+qoLrAmafYyi0GGG40viy3ucpqDOivIAH7gAIc3wmqGjysyoj4zwi1YRbKBYl3zRy8sgNl6rfiy5Z6kl0TZgfS/XEuYfO8/dR0hgcILEdBSENuSKXKcgNrC/FDN++u35FImioF2LsaJSG+alD3co92P6zZFjh6I/pZuXTVAqS2aJpcrZoECsPMbDA5UksAl7DSJgH3dFqcHNTCvvN5exmBL3MVI1oQP7DbKWRiioJ2bg0eRXaUiSz5zzldQuY3JneGhKzO7GWWznKDlT9bqRo96iTw2+K9SrHk1E7x9kxpRkZZY9H/EOYtjm4n32+yltfMs1iSNrk3csnXKqlxXhfbf1xWT47tHQ/gPnQc+w4ffeWyCixeHMqegHfCEyTfBzIntbQPAA7hHtKrMF5wV0QP3bNWUdbQLz/aEPmnUEAq7mjZAvAorQTdmEtVmvd69qpl4RqNxQbgOeEGnCVG8g51b2BzvItEA6S4NXmeqOkS5spDW1Jlx53mMAdrCDeSXjiBrxvtRiLJYvaXn9IS97g+iV4LglY8jWxH8G/OrEvdiUPCzJ9mj4P5kvb5rxIibbJOaEUaM=
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:(13230025)(4636009)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199018)(33656002)(4326008)(558084003)(8936002)(41300700001)(52536014)(2906002)(38100700002)(86362001)(38070700005)(5660300002)(122000001)(7696005)(66946007)(76116006)(478600001)(8676002)(66556008)(66476007)(64756008)(71200400001)(66446008)(55016003)(110136005)(316002)(6506007)(26005)(9686003)(83380400001)(186003)(59356011)(219803003)(207903002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7346
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:
 DBAEUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d93afedc-7f5e-4f59-1934-08db261ebc57
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bt49AWXhpXX4smuptRQ67XTR+qjtF9yHhduf/SPlyYbQNU8tXvW0HYRBT5v+yDmSoD7YFdesQ3zZT0xfA5grzVlKvyAWhfh1JpmhT7l0lYa7rHFJJ5Te+UhpXX/wgk9eoA1yDUYxGkzis7YAyFMl47I77XNMRH/o6YNiWwgLyogDXPGn4cCOAtYEJfDOYRLtugVuGsiodIMt1Sjer+0hUOUTDHb9fKSHKwWqe5M1XFnUMBre4hwwtwVuy/jy3OOIBJ/memiNtUWUNXE6w7I0BI6EiIhusF2LAiJICX9RTJFdBk3sol8cC2y1VSEddKA8DSnl4zTYVdy63vVpX9ga0+HhQzYm9I96EUiQ5zQxN0lgWjixuEa1Uz7Ubhx7s5LZpxHSD4JtyOx1MGfTkz1FVbmDQX4o3PxqgJvg/Ow6z8CBOzNtT0aiGvr6BQ3PFF02R9pUlxekQB93jAAana3YXesrGfijfp2sOq8dX9QKstzSbXmFO5lVO3/7jxxiPcXOL7UQFTORpEyU/Npfm7qy4RqpXzDs7aF395AKndqeZsnNrt0szbIdEwO2hEaFb0ndGPV65TDFQ7zQGf3Y848gs1Pm7I+BIsmWG9M3DUmCEVot2zkEl455sAu3PbQCixPHYjm7NnHI1mKWxs7EhASkmRV1yyrL/1MNKjBiEmeky1dKuQRs7QPU+0cLEVQgG/k9R1k7BReEOTkG6Rq93ErEL5JY6FE0PN95R00UvVuV6mHKFSoz7MWZFD6VFOR38ySHA069xS1zLFjah8XcHuVJHloYDzDRjf2lpJQnj8KcEr4=
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:(13230025)(4636009)(136003)(346002)(39860400002)(376002)(396003)(451199018)(46966006)(36840700001)(40470700004)(33656002)(83380400001)(82310400005)(110136005)(40480700001)(336012)(47076005)(40460700003)(316002)(55016003)(26005)(7696005)(8936002)(186003)(478600001)(5660300002)(9686003)(52536014)(356005)(41300700001)(86362001)(4744005)(2906002)(36860700001)(4326008)(81166007)(8676002)(82740400003)(70206006)(6506007)(70586007)(59356011)(207903002)(219803003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 13:02:53.7464
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 34ee5515-6a55-488c-6205-08db261ec154
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:
	DBAEUR03FT060.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10213

Hi Jason,

> -----Original Message-----
> From: Jason Andryuk <jandryuk@gmail.com>
> Subject: [PATCH] CHANGELOG: Mention xl/libxl SMBIOS support
>=20
> Add an entry for the new xl/libxl SMBIOS support.
>=20
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

Acked-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:18:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:18:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510586.788501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcnV2-0002cL-1z; Thu, 16 Mar 2023 13:18:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510586.788501; Thu, 16 Mar 2023 13:18:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcnV1-0002cE-VI; Thu, 16 Mar 2023 13:18:31 +0000
Received: by outflank-mailman (input) for mailman id 510586;
 Thu, 16 Mar 2023 13:18:30 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pcnV0-0002c4-8w; Thu, 16 Mar 2023 13:18:30 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pcnV0-0007c5-0W; Thu, 16 Mar 2023 13:18:30 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pcnUz-0004E5-Iv; Thu, 16 Mar 2023 13:18:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcnUz-0004Cz-IS; Thu, 16 Mar 2023 13:18:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=PTZxYndCAplKFk0Rmev6iL/OqNGvjfUwUiGipNkQFas=; b=lHCR9NBua+ROz23m324n0nd1Fx
	nEJUuEXbaYM5FY1UffZEmaTk8E8fHFd0bOgFAOCxBhF1YevfYnALinwye/e5BgRXz8EK99jTNU8E0
	Vce5Zzma3swPgWxtxbg0oB2dTwoLE5XRxJ8UfoXKeMoAYyGyea7HXA3K97UigQ2SED0k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179657-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179657: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    qemu-mainline:test-amd64-amd64-qemuu-freebsd12-amd64:guest-start.2:fail:heisenbug
    qemu-mainline:test-amd64-i386-pair:xen-install/src_host:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=652737c8090eb3792f8b4c4b22ab12d7cc32073f
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Mar 2023 13:18:29 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which are failing intermittently (not blocking):
 test-amd64-i386-pair     11 xen-install/dst_host fail in 179644 pass in 179657
 test-amd64-amd64-qemuu-freebsd12-amd64 22 guest-start.2 fail in 179644 pass in 179657
 test-amd64-i386-pair         10 xen-install/src_host       fail pass in 179644

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                652737c8090eb3792f8b4c4b22ab12d7cc32073f
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    7 days
Failing since        179526  2023-03-10 01:53:40 Z    6 days   11 attempts
Testing same since   179644  2023-03-15 07:53:18 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:22:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:22:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510592.788520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcnYw-0004Kt-0k; Thu, 16 Mar 2023 13:22:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510592.788520; Thu, 16 Mar 2023 13: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 1pcnYv-0004KE-Qx; Thu, 16 Mar 2023 13:22:33 +0000
Received: by outflank-mailman (input) for mailman id 510592;
 Thu, 16 Mar 2023 13: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcnYu-0004I2-Gi
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:22:32 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9b296b40-c3fd-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 14:22:31 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id z21so7622698edb.4
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 06:22:31 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 u20-20020a50d514000000b004bd1fe2cc02sm3861728edi.16.2023.03.16.06.22.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 06:22:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b296b40-c3fd-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678972951;
        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=pxu23kp/Co+g/jvR7fkvKvV5XJ2nKBCMi+VMmTAzjTg=;
        b=JuPxK5JmZ1XRoZbrPERdvkj8ANr/IAYDVuqpN5+qXyxQdTva8B7XWJDBh1pzUIDn6o
         OpRYR+SG1QHl2ISi8A5iu35Sq1kXrBiMmQuqr5zjgMpUZR/7Y3AWr61A8Qxch6OT/F4P
         cwIzlcjZbva14tRb3s+NbKMxLMtNKFxym0QOv+Na3nAWqfsgk3u/e5p/KbuMdvWEGy7l
         3RB+PZfl8b0n5++Ob+usOxRMTcihzFV5lcjokIhePN3QLniuic8FRk0dRAHVBOLv7e/J
         QzkJJ9O6J+9ILWouevK6BH0EmdDTY/YDMPFs4MiA49lUWKrDcSnaeGfZcTf9q5WDUST1
         Pc/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678972951;
        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=pxu23kp/Co+g/jvR7fkvKvV5XJ2nKBCMi+VMmTAzjTg=;
        b=ulNIgfogcbnsAsekADNl7NtKhYrs58GOqVHVyrFRSHZ6JeGPCcEIv0V1dOJ8ySwBVh
         U5fc4z/FZLli/DyLw5r6e0l/ENqu3H/ur42PWXIvgz9EphcW0KzV4jpC6DmL0sQp2nKt
         L8m6RFXlTSTwctbKvW2b64u/Pu1ZjOJvuYdV5ZyQC1YxtYYxEYYPNfu/B4M8K2j8jtNU
         i5QXD5bbCn+6GRHzXb0rnBJ+OCBYuwch1aaERKJcOA4pzU0BK6upndUMmTKkC9GYvWc+
         YEPAjJxrVoPGRygVSKps85BbYhwgoKp4edHFPO2SBMdAgkXFUGb51VRcoIKRzE92HU6k
         ajUQ==
X-Gm-Message-State: AO0yUKWWRebJ8botK9B1368yH39eiL6b6HwJIxuCavNnfedMeyxGZJQP
	ua3SPye6es3CklWDV9JKf93R5/aucb1I3w==
X-Google-Smtp-Source: AK7set+wyuSBR8OMebkYVdgBkeDaNMzb/ir5HPfsX5t1/CNu9GwjIBms+Va+5nrDd8/IGyRXgpHryQ==
X-Received: by 2002:a50:fe89:0:b0:4cf:c2f6:ca1 with SMTP id d9-20020a50fe89000000b004cfc2f60ca1mr6268399edt.1.1678972951339;
        Thu, 16 Mar 2023 06:22:31 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 1/2] xen/riscv: add EMBEDDED_EXTRA_CFLAGS to CFLAGS
Date: Thu, 16 Mar 2023 15:22:24 +0200
Message-Id: <2785518800dce64fafb3096480a5ae4c4e026bcb.1678970065.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678970065.git.oleksii.kurochko@gmail.com>
References: <cover.1678970065.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch is needed to keep all address of cpu0_boot_stack
PC-relative.

Pseudoinstruction 'la' can be transformed to 'auipc/addi' or
'auipc/l{w|d}'. It depends on the .option directive: nopic and pic
or compiler flags.

Right now, 'la' transforms to 'auipc/l{w|d}', which in case of
cpu0_boot_stack[] will lead to the usage of _GLOBAL_OFFSET_TABLE_
where all addresses will be without counting that it might happen
that linker address != load address ( so addresses inside got
sections will be relative to linker time ).

It happens becuase the compiler from riscv64 docker compiled with
--enable-default-pie:
  [user@49295ae49cbe build]$ riscv64-linux-gnu-gcc -v
  Using built-in specs.
  COLLECT_GCC=riscv64-linux-gnu-gcc
  COLLECT_LTO_WRAPPER=/usr/lib/gcc/riscv64-linux-gnu/12.2.0/lto-wrapper
  Target: riscv64-linux-gnu
  Configured with: /build/riscv64-linux-gnu-gcc/src/gcc-12.2.0/configure
  --prefix=/usr --program-prefix=riscv64-linux-gnu- --with-local-
  prefix=/usr/riscv64-linux-gnu --with-sysroot=/usr/riscv64-linux-gnu --
  with-build-sysroot=/usr/riscv64-linux-gnu --libdir=/usr/lib --
  libexecdir=/usr/lib --target=riscv64-linux-gnu --host=x86_64-pc-linux-
  gnu --build=x86_64-pc-linux-gnu --with-system-zlib --with-isl --with-
  linker-hash-style=gnu --disable-nls --disable-libunwind-exceptions --
  disable-libstdcxx-pch --disable-libssp --disable-multilib --disable-
  werror --enable-languages=c,c++ --enable-shared --enable-threads=posix
  --enable-__cxa_atexit --enable-clocale=gnu --enable-gnu-unique-object -
  -enable-linker-build-id --enable-lto --enable-plugin --enable-install-
  libiberty --enable-gnu-indirect-function --enable-default-pie --enable-
  checking=release
  Thread model: posix
  Supported LTO compression algorithms: zlib zstd
  gcc version 12.2.0 (GCC)

Looking at gcc spec file for the RISC-V architecture:
  [user@49295ae49cbe build]$ riscv64-linux-gnu-gcc -dumpspecs | grep -i
  pic
  --traditional-format %(subtarget_asm_debugging_spec) %{fno-pie|fno-
  PIE|fno-pic|fno-PIC:;:-fpic} %{march=*} %{mabi=*} %{mno-relax} %{mbig-
  endian} %{mlittle-endian} %(subtarget_asm_spec)%{misa-spec=*}
which means that -fpic is enabled if none of the following options are
present on the command line:
    -fno-pie
    -fno-PIE
    -fno-pic
    -fno-PIC

That's the reasons why 'la' is transformed to 'aupic/l{w|d} GOT' and
not be dependent on the toolchain used.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 Changes in V2:
 * instead of changing 'la' to 'lla' to keep cpu0_boot_stack PC-relative
   it was updated CFLAGS with EMBEDDED_EXTRA_CFLAGS which contains
   -fno-PIE thereby 'la' will be transformed to 'auipc/addi' without
   GOT usage.
 * update the commit message with additional details.
---
 xen/arch/riscv/arch.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 45fe858ee0..7448f759b4 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -1,6 +1,8 @@
 ########################################
 # RISCV-specific definitions
 
+$(call cc-options-add,CFLAGS,CC,$(EMBEDDED_EXTRA_CFLAGS))
+
 CFLAGS-$(CONFIG_RISCV_64) += -mabi=lp64
 
 riscv-march-$(CONFIG_RISCV_ISA_RV64G) := rv64g
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:22:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:22:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510591.788513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcnYv-0004IM-Lw; Thu, 16 Mar 2023 13:22:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510591.788513; Thu, 16 Mar 2023 13: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 1pcnYv-0004IF-J6; Thu, 16 Mar 2023 13:22:33 +0000
Received: by outflank-mailman (input) for mailman id 510591;
 Thu, 16 Mar 2023 13: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcnYt-0004I2-Ro
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:22:31 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9a5d46ea-c3fd-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 14:22:30 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id z21so7622435edb.4
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 06:22:30 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 u20-20020a50d514000000b004bd1fe2cc02sm3861728edi.16.2023.03.16.06.22.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 06:22:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a5d46ea-c3fd-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678972950;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=s8lsLdM3pzh3/KP1/QdkMVnZhBU1+yLBGdICUL84qS4=;
        b=ghvh+bfCnBWPDVsabU3w72nzRK1vSy/o0zRnMkm3Yt4p4jpEh8ok7Azjg6D7vzU4fQ
         hYEKLDe7ktTJFmHwM6uyCxFcy0MKagUr0OcbQfV+Wcl0QTY4kIRkgFY/Q/Va63X0a4Wb
         gk+8vFwiw3pu1grPYvdudq5aUrrCORbCkswn2nd2UaGI04oj43cL2cYhizBBbEYjcOSl
         wbeuGQTIZJvaCfhl4UT3X/LC8ZckHmLGOYuGrzHx8QhzmWN8QfVF6GNIKXlwGTFlwCDZ
         PZ4dDUN6S9LKdNRzQIgAHcNcRfjwOlqCSxpzywbsi0IFG76x2ppLaL8g6LHO3V4P6QRd
         JtUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678972950;
        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=s8lsLdM3pzh3/KP1/QdkMVnZhBU1+yLBGdICUL84qS4=;
        b=R/mpZPXXZ2BHgvPaidM3GxDy8rtFsA5NvwYm7ba7oGRpe4kDn2HK/704dBBI3R2XNh
         46R3VJgI36Ccu0Xl/eWH05LdgJZ6f2wBGEXU/22wdR1D8CZy0XWYponBWq3TyI3fna2v
         grJpTqINk0jkCJ93w2dELY6W+AiXsngV/SqQBAb6tobKDRrPFSKfAdMG3XC+Lsg4cvCV
         1Kgf49xF4ugTcgyEUTXigdd3THfXLpPbvIz7SzW3HTZbG7lupQW58CkWfgFEUNzazaDC
         sU8IKMw1rMfrWsjwQyqMFDaho8GE37fnMzyp12fG9xg6x2pgCMxvCcC9ublc+LbPIgCe
         83kg==
X-Gm-Message-State: AO0yUKW9lXmNVvBjM1zkifT/Gi8/kM8MZ6rmgjIlH8di2sYlI0G63V1I
	xe61NWU+f4SUtZwxIg4dFSdeZK4PE5DHRQ==
X-Google-Smtp-Source: AK7set+IDjLFrmkV22994zwkYv0eudL5Q5BlQ0JD9lGLeMU9uZWLOEf0E99llugKiLcAez+rJpd7Zg==
X-Received: by 2002:aa7:ca58:0:b0:4f9:f07d:a978 with SMTP id j24-20020aa7ca58000000b004f9f07da978mr7226180edt.5.1678972949761;
        Thu, 16 Mar 2023 06:22:29 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 0/2] deal with GOT stuff for RISC-V
Date: Thu, 16 Mar 2023 15:22:23 +0200
Message-Id: <cover.1678970065.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch series introduces things to deal with GOT stuff whichwas faced
during the work on [1].

Initially, the issue was with 'la' pseudo instruction, which transformed to
'aupic/l{w|d} GOT' instead of 'auipc/addi'.
The transformation dependson .option {nopic, pic} directive or compiler flags.

Right now, 'la' transforms to 'auipc/l{w|d}', which in case of cpu0_boot_stack[]
will lead to the usage of _GLOBAL_OFFSET_TABLE_and addresses inside GOT
sections will be relative to linker time addresses.

At least there are two reasons for that:
1. GCC compiler used in RISCV64 container is compiled with
  --enable-default-pie flag.
2. GCC spec file for the RISC-V architecture by default enabled -fpic:
   [user@49295ae49cbe build]$ riscv64-linux-gnu-gcc -dumpspecs | grep -i pic
    --traditional-format %(subtarget_asm_debugging_spec) %{fno-pie|fno- PIE|fno-pic|fno-PIC:;:-fpic} %{march=*} %{mabi=*} %{mno-relax} %{mbig- endian} %{mlittle-endian} %(subtarget_asm_spec)%{misa-spec=*}
  which means that -fpic is enabled if none of the following options are
  present on the command line: fno-pie, -fno-PIE, -fno-pic, -fno-PIC

To resolve that, it was added EMBEDDED_EXTRA_CFLAGS to RISCV's CFLAGS as it was
done for other architecture.

To catch use cases when GOT things will be produced by something was createthe
second patch of the patch series:
[xen/riscv: add explicit check that.got{.plt} is empty] which add .got&.got.plt
sections to xen.lds.S and alsoadds asserts to check that the mentioned sections
are empty otherwise, it will be produced a compilation error with the message
that the sections aren't empty.

[1]:
https://lore.kernel.org/xen-devel/22c46432-e940-914e-53c2-2913607be3e2@suse.com/T/#t

---
Changes in V2:
 * The patch [1] was refactored and lead to the patch [xen/riscv: add
   EMBEDDED_EXTRA_CFLAGS to CFLAGS].
 * In addition to the patch [1] was created another patch [xen/riscv: add explicit
   check that .got{.plt} is empty] to be sure that .got{.plt} sections
   weren't produced.
---
Oleksii Kurochko (2):
  xen/riscv: add EMBEDDED_EXTRA_CFLAGS to CFLAGS
  xen/riscv: add explicit check that .got{.plt} is empty

 xen/arch/riscv/arch.mk   |  2 ++
 xen/arch/riscv/xen.lds.S | 13 +++++++++++++
 2 files changed, 15 insertions(+)

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:22:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:22:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510593.788534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcnYy-0004nY-Bu; Thu, 16 Mar 2023 13:22:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510593.788534; Thu, 16 Mar 2023 13: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 1pcnYy-0004nP-7e; Thu, 16 Mar 2023 13:22:36 +0000
Received: by outflank-mailman (input) for mailman id 510593;
 Thu, 16 Mar 2023 13:22: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcnYx-0004ls-EO
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:22: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 9c4a11b7-c3fd-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 14:22:33 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id ek18so7581830edb.6
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 06:22:33 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 u20-20020a50d514000000b004bd1fe2cc02sm3861728edi.16.2023.03.16.06.22.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 06:22:32 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c4a11b7-c3fd-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678972953;
        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=6IyJ7MXAQ+HTPg+dViNbR1hcc1rH6+rGQc4QTHNc1DY=;
        b=URkM0Vw7perMI/rpEQvsXvlwczqH+nO98aaalGr1PXPMqhJPAs3Pil44+hYR7QVFrq
         fGMMw6k3KmfeDx4L+qjF6HHU41jFUIx4f4pZVpjHJHWNbYWLXjSe2cwx3+RwMR9dalpG
         Y2JYYdfNhNNat0pB2fygUF/wWPdgeFDg6KLZ8Q6MEiK02twuzquPNCdV1MN8vScs++iD
         V/Ixs3e6efcAM+PxA05D8SkqWycVU6yI1gAFefta1D6B5q6xlw2aNYxhhSPf9ANvFI0n
         ivr12zEWvsXI1TVTikp27byuuSVv5r2I+rCJ39VtcxezfX23lAdH6YLV0xFGMA4n5kUs
         SAxw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678972953;
        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=6IyJ7MXAQ+HTPg+dViNbR1hcc1rH6+rGQc4QTHNc1DY=;
        b=yTtJ7Zd26+zU2NWeVVVPO0sMKfJyKYiuugWZ8VglcLFcIecWe92tAAWVZGv/9h7rA1
         Mf76Vu9YYWYA9QRItwGzTwFBAQ3eN6I+TFAVeiemaZ0GiSeH9cX7FqPHg+THhzFX5G1z
         U1G4slkljdwxDz4HSxxhGgsl1RT2EJvDlnvOHYxlk7lDIkWOQ+VaySIIGY3x4r/4XIwL
         0Fe0rb4IeSpVX9QUl5ZSI9L7sl1K0CFuQL4k3kNYJxlq3JtxhGz+E9Uc8BUuNLmpqxG8
         pklASpuzWapkbhppMUushh9H53i+0G8Qf4v85+JJStJEpe3GyN/3aRd78k6XY399DFxi
         uvfQ==
X-Gm-Message-State: AO0yUKVI5deaaXK0SWXLeNFKZGwHF4yYznTD2zC+x95d7Bvj7K/wJTmU
	NTX6db8faTYBmRnGP1IVFIAF0eRdQdN7lg==
X-Google-Smtp-Source: AK7set9Llyn42OM3Ke9cC7KLN3s7QhJh5DZcryfjWp/tpI+E9/00mSNdDE0K7uNr08GDuhw0sxAl9A==
X-Received: by 2002:aa7:c04f:0:b0:4fa:b302:84d0 with SMTP id k15-20020aa7c04f000000b004fab30284d0mr6618089edo.15.1678972952694;
        Thu, 16 Mar 2023 06:22:32 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 2/2] xen/riscv: add explicit check that .got{.plt} is empty
Date: Thu, 16 Mar 2023 15:22:25 +0200
Message-Id: <7c066d6dcc0618749df04785b34b93819148087d.1678970065.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678970065.git.oleksii.kurochko@gmail.com>
References: <cover.1678970065.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The GOT sections usage should be avoided in the hypervisor
so to catch such use cases earlier when GOT things are
produced the patch introduces .got and .got.plt sections
and adds asserts that they're empty.

The sections won't be created until they remain
empty otherwise the asserts would cause early failure.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 * the patch was introduced in patch series v2.
---
 xen/arch/riscv/xen.lds.S | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index ca57cce75c..f299ea8422 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -1,3 +1,4 @@
+#include <xen/lib.h>
 #include <xen/xen.lds.h>
 
 #undef ENTRY
@@ -123,6 +124,15 @@ SECTIONS
         *(SORT(.init_array.*))
         __ctors_end = .;
     } :text
+
+    .got : {
+        *(.got)
+    } : text
+
+    .got.plt : {
+        *(.got.plt)
+    } : text
+
     . = ALIGN(POINTER_ALIGN);
     __init_end = .;
 
@@ -156,3 +166,6 @@ SECTIONS
 
     ELF_DETAILS_SECTIONS
 }
+
+ASSERT(!SIZEOF(.got),      ".got non-empty")
+ASSERT(!SIZEOF(.got.plt),  ".got.plt non-empty")
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:28:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:28:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510599.788544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcnev-000642-1B; Thu, 16 Mar 2023 13:28:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510599.788544; Thu, 16 Mar 2023 13: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 1pcneu-00063v-Uf; Thu, 16 Mar 2023 13:28:44 +0000
Received: by outflank-mailman (input) for mailman id 510599;
 Thu, 16 Mar 2023 13:28: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcnet-00063p-Hz
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:28:44 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74a46862-c3fe-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 14:28:38 +0100 (CET)
Received: from mail-mw2nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 09:28:35 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SA2PR03MB5770.namprd03.prod.outlook.com (2603:10b6:806:11f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 13:28:31 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 13:28: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: 74a46862-c3fe-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678973318;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=N3hrAAyx6EEvk7LPI7eI8FwU2JKhY9+c2J7EAK7La7k=;
  b=e+ka28s4VGgf/2DHRARxVeS9ABCfywSwWKUQs28flDvD5cVTUYxH3iJN
   K424l5m9Ht5sIio/Qbp107blmHhjbHGqXyfkGy6iI0YCeRr4hToVDRbcv
   UniMNocyBsmL58cC8KxVhhaX9EqNOXYV1AJCrml75OnLgHPbFyn7lJ52h
   Q=;
X-IronPort-RemoteIP: 104.47.55.104
X-IronPort-MID: 101117352
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:4trM4q5Gf5ZOaRq50JW7fQxRtA3GchMFZxGqfqrLsTDasY5as4F+v
 jROXGiDaanZZTSnKNokaI7j/RxX6MfQmtFjTwE9pS4zHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS4geA/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m8
 /hFFwEpUja5meuZxbC7Sddmwek5BZy+VG8fkikIITDxK98DGMiGZpqQoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUooiOSF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eWxXqiAd1JSefQGvhCp2CCxy8eSyYqamSWkcSpm0u7RM4AA
 hlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWKTVqN+7HSqim9UQAJLGoqdSICCwwf7LHeTJobixvOSpNmD/Szh9isQTXom
 WnS8G45mqkZitMN2+Oj51fbjjmwp5/PCAko+gHQWWHj5QR8DGK4W7GVBZHgxa4oBO6kopOp5
 hDoR+D2ADgyMKyw
IronPort-HdrOrdr: A9a23:nNLBBavLzRaINzFh7P92Jys/7skDstV00zEX/kB9WHVpm6yj+v
 xG/c5rsCMc7Qx6ZJhOo7+90cW7L080lqQFg7X5X43DYOCOggLBQL2KhbGI/9SKIVycygcy78
 Zdm6gVMqyLMbB55/yKnTVRxbwbsaW6GKPDv5ag8590JzsaD52Jd21Ce36m+ksdfnggObMJUK
 Cyy+BgvDSadXEefq2AdwI4t7iqnaysqHr+CyR2fiIa1A==
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101117352"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EGLeJyXvyny7tYddb+nycQko0fyHJhgW7TwhxCLC4UYiK4vXq9ryGURGn/7gATDeYPu+pXb7qZ0T82gh4Xk63IeSzBUGnLmk7RVV5yu1oEs+/v+Br69ZLym3lLahZGd+vhK/8Jk/RgRMz8kqhSOWd6olOCzxNQ6ky9AXOaME/zXZ2/AYNN3JBYf2AXMQfBkMjZj5Xmd30H48lVChIhl8CQpGiUMIN4XnqgIthj1IGHHR63pw0IpFCoEFEOgTufzwuDubBqeqk+yQrsqRgHytn5xg1zPzCwgU8mwbXohuwboWNg3XdIuFkDNwfaYMObsLeMe50iUy1QMXuZ9fkKajEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GKcMv2fIGRp0BwlC7+WzQ0t6smEP2wsWIPqdiHGu/40=;
 b=RrsXX5xPog/K+SUWeIkVOWGHizdQs63ChikjnH0y6zI2utdACzzhaQIrwnS7/pMH4T3BNoNYFzCsY1Ur+Lvd8JoCdCA0f5sX4x4BG9dTufOt/9pt9yIf6dMDPjAr7Cg5DyX0OmOrwxHMIUNgdOwYzuGdcB76Twu/jcdoX1ByOAM1AWgHPHlcQFu6Pku/igXhfnM2Comod7mVNaMkoF9bKHyHomopUX/6YU0UjAr8mkL26Ziz5XO9vuoXVDNSZdyNxxtGJcycooUc7LlbrM+X9mO/7OvG4AiUVhEWmPhFN3Cfl2EVULcR11ejohucEOTz9gDFOoHwCgznQftiB04utg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GKcMv2fIGRp0BwlC7+WzQ0t6smEP2wsWIPqdiHGu/40=;
 b=OkxDHdjTp4p3KX1ISv5ah1EzGlbtyQ/JLxEeEGHXu9mGg4ekpVYDIufIYD0Ttx8aPHTAjOQGoLQ25Q/SdizGQ4/gs0TKRv6GNh6W046vOOKYCFWopyDScGY/vqD9cjpoL9+3Nm7DlpnDMeAaYwk018Xy8itHQBz2iR0nrXEQ4d4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 14:28:25 +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>,
	George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH v2 1/5] x86/paging: fold most HAP and shadow final
 teardown
Message-ID: <ZBMZeXxqUsucQETt@Air-de-Roger>
References: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com>
 <67b9378f-cf4a-f210-aa2d-85af51c51ab0@suse.com>
 <ZBMKhQWl1pZppgSj@Air-de-Roger>
 <91d3373a-2a50-f868-7471-08f9def8e6b8@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <91d3373a-2a50-f868-7471-08f9def8e6b8@suse.com>
X-ClientProxiedBy: BN0PR04CA0007.namprd04.prod.outlook.com
 (2603:10b6:408:ee::12) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SA2PR03MB5770:EE_
X-MS-Office365-Filtering-Correlation-Id: 3ca2b79e-2215-4f7c-3069-08db26225561
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PhMVwmMYAXnPB1FtfIGN7ijnQUQR/FgqHFj3x/PiX+07Pe4gfRQayDUWL1DS70TIEUXtQxKoQdd985u8Scfr9y974qhL2oat52v21zG2bs2cwd1ftEEPKkyfLPRKJgxkYZgt8R3IwyIDe/Wv2rnUN1nu9aEYHs9Lhp+LjqT376fs5JAZWzrEmT/WpXqqTdYcZQs5cgQpZsTn3n6WCL7qACo/ars1rNh8isXkRBsNsnm+krpbFhulGHTUPM+eQpRH3uNBvoQs9pxjLQ61zaRoPzcapE4qHveFw82qhU0AXCbgZzcXZ1rDemIIgVeif0V/D1oyv7BJWXz5gqiCCPZCtEZCBIZdqyq4hScTG/J5gyoCwrGIEYiJsDmlXtV6m9YK16yi/1yEawdr6PLf+4A5W2jeOPtUHhBNV1aqCHN6aw3Pp9AuwWS3HxJonC3ge9D4IhZo+KqeS0l3+6jZrPLEornvDc8biYgS1gDqngWLzZRAKJ8m9qzJLBfs3PVKxHXBJv3VmNrpQhJhbxxdmFtm378jujQlainSlg/p92godd+kq8h9NC8G8S2m5+N0ZiPDWAxCluPvsYMCdaocL8ETrwS4ndP1sxvDeEtzN7+5ZBV1EC/fRWkqPO9Wpx09hDuC1bBiFr/uO+X5JA2YrJmcVg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(396003)(39860400002)(136003)(376002)(346002)(366004)(451199018)(86362001)(85182001)(38100700002)(82960400001)(2906002)(41300700001)(5660300002)(8936002)(33716001)(4326008)(6512007)(26005)(186003)(9686003)(53546011)(6506007)(83380400001)(316002)(54906003)(66476007)(8676002)(6916009)(66946007)(6486002)(6666004)(478600001)(66556008);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NkhDcjkyeGNvNnZGbmg1V24zM0xOd2QyOERNMWVyNDlwcnNFQ0ZQM0ZRRU5J?=
 =?utf-8?B?UTY3Mmd6bHlxRjVxckpxclpjdGFnRDNsNTlmUzZRZFJabWJaMUMzVTJrcm1C?=
 =?utf-8?B?eFRZNFJJOEV1MS9XeDZ2dGcvZDVKdytrVCtaQUhpMXJybE1NcE1jRDluRkRv?=
 =?utf-8?B?S05YZWl0S21vWGNXc2NnVCt0VDMvUTBiTThCbnlnbHJnTVJldXZtbXdoVmVC?=
 =?utf-8?B?UjcxYS9jSXZoMnk5OG1ZYzhwUGZLSjlrTmpXSVU1L1dNQVEwaGpZVFJLQmFG?=
 =?utf-8?B?bXJ6Y2hPcFdsb0dEazFMZklTR3AyWU5Gd05zbmN0UDZ1bkZBTGF5OTZkTGNx?=
 =?utf-8?B?dzNvTXBKZm9yQ2QzWlhJbHJXbk0ycG90SWU0UVp1MURpWSt2WEVRcU5FSnl3?=
 =?utf-8?B?RGdOaHY5TUtsaklVMTRGL2VhMWVDSlEvdm1KZXVaSnRRTGVBQWlJUlVDQWRh?=
 =?utf-8?B?R1pVVC9DMDZibjNybUx4cVpsVGtSdUN4NWNzbnVKMjRZZ3JSNHRvczJrekp3?=
 =?utf-8?B?cnBKK1dadVI0bWxTVGpDOHlvS2gzWVhLckVncU9lTUJJZk8xSjdFeGNtYTRO?=
 =?utf-8?B?NmhrdDZuQmtDNlBZdG90cCt4NXF4Zm93cjlKcCtUOHA5MGREOTZOWFhkTU1v?=
 =?utf-8?B?NXpSbmlvTFRCWkIzaFlIYWNjZUdpZUtlM28vbjhPTlpUeS9pWEU4ZHBPZXBG?=
 =?utf-8?B?Y09LczlvQUtVWEsvVllvM3N2a2p1RnRtUlZ3QTc3c3dZR3FHbysrVzNKRmVU?=
 =?utf-8?B?dWNwNXpFVHpoTFp4NFQySXRHZ2dVYzZrbHRWTURTdWdiSkJENFdEd3N0d214?=
 =?utf-8?B?eDNUb3FRT0NWTkxTTzJHUjBxTGNTcmU1K2NEbFF1eVlobmF6MjNEbXZhb0g2?=
 =?utf-8?B?Q2dkYlNsMHZvS1VUaHBMSlNJN0RUOHJIYWk1TGtjekM0TUVtc0F3cHU1QW1J?=
 =?utf-8?B?b3RFVFVYR3UvRFcyR0dIR2pFRnY0c211RmZvYzlwSllPb2orVm5yR2tQNDY4?=
 =?utf-8?B?dnZDY1ZEUkdJSVE2emZXZ05ya3ZUbXc0UUZzOWdSMlZ5VE5zdGRZTFo5NCto?=
 =?utf-8?B?SytBdjBpQyt0cHRqallTM2ZKa29ydzlCV1JDcDJxSmlrUmhTai9ZODg1TUZW?=
 =?utf-8?B?YmcxNER5S0s0aTFUbXRHWE41bG5tKzc0SDNOc0NvZ2NrZTdZcytsN2k5b21t?=
 =?utf-8?B?ZnQ3amNSaTlMQTk2eGdrTTRVTWNhZ1loZXlFbkl4WjIwOGk3bUlIV0ZTRS95?=
 =?utf-8?B?cFFIWnI0MFZ5RnpWRkU3dy9pUzB1Z1RDNEt1aWtHamFLTWdFazBGZUNLSjZW?=
 =?utf-8?B?bHZsYnd1a3JkQlNzNlloL2laVHFhRCtsYzFybWYyNE1kSTlxOWFkanhYS3JO?=
 =?utf-8?B?MjcwTzQvSHpqbDRwNnN5aHFNUTJlcldZNXZrZmJDUWtlWWRkNElhMXpqR09j?=
 =?utf-8?B?Uko1U0Qwd1dZL0ZQTk5tNm83THpPMnEvc3R6cWhXNSsvZW90L2dsRy95RG4r?=
 =?utf-8?B?U2hRK1lQbUlqOEUzZ2Fnb2dBOUFMUkNCMDZjaUFHd2pFdkFPNGdQd1NRVXZJ?=
 =?utf-8?B?WTlQK2V5aWZOM29WemdCT0FzcU5hNGVWMkhRdHFjcUgyTEYrSm5qS2JiTER0?=
 =?utf-8?B?UVdpRDAxVVBGNTNvWnhwMjBRWDJJeVpQeml1UzlEODhqdFFtV1ZOMklLSnpO?=
 =?utf-8?B?ZXNHaHdxelJ4MUhIbXQ0S3N1YWJ3WStiTDZoWGc2NWIzbjFxSUY4bkl3SnpY?=
 =?utf-8?B?c25rZm1EVm80d29YWTBURWVBNkNpTWQyYTMvMGR6ZFp2SGg4VWZocldwcmN4?=
 =?utf-8?B?S1dZSm42K1dTMkdHaUFZMUZiNnczMGZ6bHZjNGlyYVBhK2ZSOExQeFR6OGVq?=
 =?utf-8?B?ZHFCa0lUR1RJUk1Vc1c4QWk0TmtQeFR5dXFqblRoQnZHOUZKak9mYWtsbXVM?=
 =?utf-8?B?S216Wno3djM2RVZ5T0dkLytYb0QyTnNQcEo0Vy9IMzJSYm1tRWptbURlSjhz?=
 =?utf-8?B?OElDZjh4RlVQMm9WNnVKTHZUd1R4bmVlTnBZcE5ZZkowNmhCWGdUZE1RUmFL?=
 =?utf-8?B?b1U1cStVWTBzdDhTNWhyWURpbi9lTnVXaTRtNk5RMFg4MjZpSUxQNWJ1Kzh4?=
 =?utf-8?B?Q0JyUjM4cEhIYVg4T0NvNEdWa0lOSHFDOThrNzNIZEorTHBCa0VZRGNSd2hn?=
 =?utf-8?B?RkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	vdYlnDNzCg/dYkE4jX3EzUOJS50qwW8I9YrDMdxjamFRoKNHdOWx+pha88msduQHqTgEFOEiShL+acZwul4jvWAvbC6Cz2vSiTNd50TBNpSMh1ICINUg/IwN+JNqFOA4Ds3WpRf/cS4z8v9sFggIiVN9yNwSDmT+O52FAUrUP3/owi+MznUIYVO39HYlrfwzwzAZDtz1rmVRp8O/mA8Kduyxux9Us7dMt0FNu9uHFhZ6g0Kbn2m3+cWvsNqALleKbAeMKmhj3VGzpQfjtXj5buCUaEBVe06LEMql6qlvUJPYlwQj78ooQXDlxVL/q7x5rFAVsNMG4wRSXotC561d2WWJScjS3dbKe8rv7r5tH7WIhO2G98A1Uos4cYaxVrfN6FnE8ti+50Ot+xYr/jvEr3aHMt8JMoG3UVBWOG8rpHLY9boyjp2vBK3n8J2KyqzaW3z7wTFcG147I4/3x9bRX6aURE6iWM77NSF+co14UgFx8IuNcai8v6LZPWzDGKXZMPDbL9+QrTD+Zod9nHkvcrI2bpPYDgqsogfU+J+oDPKs8WsGdgF0CDjwbUOUg2HGtX5kmWALtAiWlrAr85BfueOhiKEkOmDjT7K5royvNQ79uPL1+A6iSNktYB57w0AxYmUfKxBxk2nfa7QIOmFWK66fIBTNQq123LmwD1xW23TNgj0Fo5B0K9Lr0MbaEwzAqIEcxUifjTlmMeQw9x1HiOo3MXpkJlKM9e6/UAttGQ5epyaNkgmGskZ9LcP12l6FKSZ75hmKCLfixc1BhV/G3/wSK7+fw1V293waQMX9SOr4Wo+lUTevi/2rh4jbJ/Jb
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ca2b79e-2215-4f7c-3069-08db26225561
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 13:28:30.9045
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Z7EPllc54sDCUorf2HOBILaSUFskjYGsaLJvbkZznj7U1z1FTN7lVXuJv5eSvY9LajeFBYBWs9rG9YllulbVBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5770

On Thu, Mar 16, 2023 at 01:57:45PM +0100, Jan Beulich wrote:
> On 16.03.2023 13:24, Roger Pau Monné wrote:
> > On Mon, Jan 09, 2023 at 02:39:19PM +0100, Jan Beulich wrote:
> >> HAP does a few things beyond what's common, which are left there at
> >> least for now. Common operations, however, are moved to
> >> paging_final_teardown(), allowing shadow_final_teardown() to go away.
> >>
> >> While moving (and hence generalizing) the respective SHADOW_PRINTK()
> >> drop the logging of total_pages from the 2nd instance - the value is
> >> necessarily zero after {hap,shadow}_set_allocation() - and shorten the
> >> messages, in part accounting for PAGING_PRINTK() logging __func__
> >> already.
> >>
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >> ---
> >> The remaining parts of hap_final_teardown() could be moved as well, at
> >> the price of a CONFIG_HVM conditional. I wasn't sure whether that was
> >> deemed reasonable.
> >> ---
> >> v2: Shorten PAGING_PRINTK() messages. Adjust comments while being
> >>     moved.
> >>
> >> --- a/xen/arch/x86/include/asm/shadow.h
> >> +++ b/xen/arch/x86/include/asm/shadow.h
> >> @@ -78,9 +78,6 @@ int shadow_domctl(struct domain *d,
> >>  void shadow_vcpu_teardown(struct vcpu *v);
> >>  void shadow_teardown(struct domain *d, bool *preempted);
> >>  
> >> -/* Call once all of the references to the domain have gone away */
> >> -void shadow_final_teardown(struct domain *d);
> >> -
> >>  void sh_remove_shadows(struct domain *d, mfn_t gmfn, int fast, int all);
> >>  
> >>  /* Adjust shadows ready for a guest page to change its type. */
> >> --- a/xen/arch/x86/mm/hap/hap.c
> >> +++ b/xen/arch/x86/mm/hap/hap.c
> >> @@ -268,8 +268,8 @@ static void hap_free(struct domain *d, m
> >>  
> >>      /*
> >>       * For dying domains, actually free the memory here. This way less work is
> >> -     * left to hap_final_teardown(), which cannot easily have preemption checks
> >> -     * added.
> >> +     * left to paging_final_teardown(), which cannot easily have preemption
> >> +     * checks added.
> >>       */
> >>      if ( unlikely(d->is_dying) )
> >>      {
> >> @@ -552,18 +552,6 @@ void hap_final_teardown(struct domain *d
> >>      for (i = 0; i < MAX_NESTEDP2M; i++) {
> >>          p2m_teardown(d->arch.nested_p2m[i], true, NULL);
> >>      }
> >> -
> >> -    if ( d->arch.paging.total_pages != 0 )
> >> -        hap_teardown(d, NULL);
> >> -
> >> -    p2m_teardown(p2m_get_hostp2m(d), true, NULL);
> >> -    /* Free any memory that the p2m teardown released */
> >> -    paging_lock(d);
> >> -    hap_set_allocation(d, 0, NULL);
> >> -    ASSERT(d->arch.paging.p2m_pages == 0);
> >> -    ASSERT(d->arch.paging.free_pages == 0);
> >> -    ASSERT(d->arch.paging.total_pages == 0);
> >> -    paging_unlock(d);
> >>  }
> >>  
> >>  void hap_vcpu_teardown(struct vcpu *v)
> >> --- a/xen/arch/x86/mm/paging.c
> >> +++ b/xen/arch/x86/mm/paging.c
> >> @@ -842,10 +842,45 @@ int paging_teardown(struct domain *d)
> >>  /* Call once all of the references to the domain have gone away */
> >>  void paging_final_teardown(struct domain *d)
> >>  {
> >> -    if ( hap_enabled(d) )
> >> +    bool hap = hap_enabled(d);
> >> +
> >> +    PAGING_PRINTK("%pd start: total = %u, free = %u, p2m = %u\n",
> >> +                  d, d->arch.paging.total_pages,
> >> +                  d->arch.paging.free_pages, d->arch.paging.p2m_pages);
> >> +
> >> +    if ( hap )
> >>          hap_final_teardown(d);
> >> +
> >> +    /*
> >> +     * Remove remaining paging memory.  This can be nonzero on certain error
> >> +     * paths.
> >> +     */
> >> +    if ( d->arch.paging.total_pages )
> >> +    {
> >> +        if ( hap )
> >> +            hap_teardown(d, NULL);
> >> +        else
> >> +            shadow_teardown(d, NULL);
> > 
> > For a logical PoV, shouldn't hap_teardown() be called before
> > hap_final_teardown()?
> 
> Yes and no: The meaning of "final" has changed - previously it meant "the
> final parts of tearing down" while now it means "the parts of tearing
> down which must be done during final cleanup". I can't think of a better
> name, so I left "hap_final_teardown" as it was.
> 
> > Also hap_final_teardown() already contains a call to hap_teardown() if
> > total_pages != 0, so this is just redundant in the HAP case?
> 
> Well, like in shadow_final_teardown() there was such a call prior to this
> change, but there's none left now.
> 
> > Maybe we want to pull that hap_teardown() out of hap_final_teardown()
> 
> That's what I'm doing here.

Oh, sorry, I've missed that chunk.  Then:

Reviewed-by: Roger Pau Monné <roge.rpau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:30:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:30:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510601.788554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcngH-0007fZ-CG; Thu, 16 Mar 2023 13:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510601.788554; Thu, 16 Mar 2023 13: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 1pcngH-0007fS-9U; Thu, 16 Mar 2023 13:30:09 +0000
Received: by outflank-mailman (input) for mailman id 510601;
 Thu, 16 Mar 2023 13: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcngG-0007eQ-BL
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:30:08 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe12::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa5898ca-c3fe-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 14:30:07 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7465.eurprd04.prod.outlook.com (2603:10a6:102:91::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 13:30:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 13:30: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: aa5898ca-c3fe-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nEPxSbmLFcAFneXRXMuYT2VdUkkZvRhzG0Smrv9uTwVl7AwxrOJJoSiPvawC8Di7kIt1MJRcjKxk0sHB3JBJN31W6bzGO4bPS/XkO49lF6YuY+jKNWQ7ctp2RpSpFGNawx87Nekz8SF0OEdcjArGGKM2UTcxYwGnYMG0uFitQmuwGfFmBn1d/SPQNIeSglQCzA3amIfNFuPU+57OtGBaGbidjbwrIPtlcek8tJ6JvefZ4/0osL7PbC7JxABQEQJMZF5yDu+bxEjk3c1xc3EErqbVV9BjEU2hp2BgzgnA+KtY6sLYaTFFZ72BI+nXPNEQNw8jUM5xQ3qai9FDBl218A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eUPrYMX1oj9WbH6Z8NhWbGl+MxeAQXSqdKsLLe3AQgM=;
 b=bf/0bEVJZ6AjG3uhPP8Wg/fCDghNOBeFcK0yodOcZ/atu1PZ7mZQTFMC+6AGKyLTvecwCHJoBV7VLrqofgK5F7DcfPdEoa19bHgsX/voOKHI1oo+Cm3KkXsIFkaG5Zfr7xhqWnWkGtGzyxmuSvdm0rtNPdvuRozQjKD2eu73cgn63PAZAuEC2e/oS5Rp6ERNjQDt24/iScpekqr7A9By66U7nq2/HlOjqmq7Xf+9sXkkVnPslIiDXbkiu3JbOucvHU/3cN7kF+H3wJ26pqBYrTuBwE1K1pofMn1eI3u7yTx7YnM9x+Ls0hLvmTa1B6POrkh95NfaIGEpRJfprj+8Fw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eUPrYMX1oj9WbH6Z8NhWbGl+MxeAQXSqdKsLLe3AQgM=;
 b=xhTe1/d8CyiEoFPvemQdOvhfWMnx6LMA81aC24f2IB51quBEPd4yslCfScTvNY9cHpKiJr8BYNuLRYPGffDubQZMYdB7QEjQZC2u1mcoyC0YB4NplKk+7WiMoeSVAEBW0rxfJ19frE2Y1g6x8xnzLjr40qfRwxxpXjthluxk09olUFldLqhCTMdt3he5CqlbcPxokQibsVieow/GYBFkBFwg/kTMu9fWnTQvttD8Ov4bI1BMJ6a2JheGxUGrK2XsQWx+oQQJB/LyEkwcWcY/dwFe8oaVy5wHwNO5HllpH4XRn3DGB+Iyq0AqNN/wOr/WRnv4g/wnA3H0foJdT1g9cw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <55c5d28f-8dd8-1d33-f275-93547b0bd94a@suse.com>
Date: Thu, 16 Mar 2023 14:30:03 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] build: omit "source" symlink when building hypervisor
 in-tree
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <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>
References: <ca9930ee-e6bf-3cf3-633c-02d5f21760f5@suse.com>
 <6880d302-cc8d-4719-be15-5a0c6bf4c847@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6880d302-cc8d-4719-be15-5a0c6bf4c847@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0064.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7465:EE_
X-MS-Office365-Filtering-Correlation-Id: ad38bb42-6b99-4a95-2846-08db26228dcb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8i2ZQnda9pihclwnSNgVQuH9wAK/MeiQOpZv0UIWLL8gzHStxqKTNdc3QsL9tPAKmy6NeOKBlLyLC9j+P2DpPh1TuCs0Jt5RoW2IqxzNTDCjCf6VZYs8yGyHelS4KRXK/J6XLkKh+XO/NRUonG4dO5ljizikRYPTwYuOEQZVthqZEs1fNlJIYJth3CybFESPsIo3jQtwmJIuNOvxZ+kAdW5ynDIeMYGdACe71MtAAwxSGSy+YWiTfG2VsoqnPaGTu3FYH8jPqnkcvCG8h9aia7vUkrQjHEkUTr+4VAo6kHK7dLFhE9dVlJs2DNV6FyEFAac2g/UOtP8AfK8elFukHaMwp0ylpe8lJj2UYYuGWK5BtEkcDaztdR29W2RlBq+DfS9QvMqrZ8GvLo1l77nsRSrXMfU3mdb4EFkp7rgihHeQflNIXvrymJ2pePfc8R8n5WJlLCtpnHgClcWm3FQ/4n/SI17cpwXeCV0LhHJf5aCTb/woWB6Rq0Wjy3EkMbSQv0St4Ys38cCZ3QOfxd/pzNRS5b/UMQGOUsOI4o/2qq2ZWTX3j30Txj2nbX6UetsuBP0/jfTKb77jOOwkvif//K7aqSzcpccwzHU/8dk4RUXKi+ODxuS27guBEFZvp6TIBH/Luyz90Xd9DvYOU6Vbs1I1jtUVdS/+XaOYymm+FMUh5mQeku0YcTK4gHy4ReR1nzXlbEeZAo5BJP002s7AtOhV3th8UDUv1RgDiHjkL0U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(376002)(136003)(366004)(396003)(39860400002)(451199018)(31686004)(5660300002)(41300700001)(8936002)(2906002)(38100700002)(31696002)(86362001)(36756003)(66476007)(478600001)(6916009)(66946007)(66556008)(966005)(6486002)(8676002)(54906003)(2616005)(4326008)(316002)(186003)(6506007)(6512007)(26005)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cFpYWnk1eXNlZmV2WGIwWXFQcWpZZjA5L3BtZmthbnZKUEF1aUJ0QVJkZ1Z0?=
 =?utf-8?B?Ry90Nk1aS2QzbjlRVW40L1FEZUJmVTJrUnJUNHYvUWFjQU82UWFZOXBnUmR3?=
 =?utf-8?B?SHFMVEtYZUxJejV0aGIwMVFiVUZpWURXUTRSODlJYnNEODJGR1haNHZsY2xM?=
 =?utf-8?B?a3UxNTJyZjk0T05OZFhFNk5NandTblFodlQ4WjEwTVhTN1FtTFF4dDRXc2Z1?=
 =?utf-8?B?VVcwYWlqdjVSM0ZTRnJ3N2c5U1V0M2h6YzN5SkFKcFFGZHc3ZVpqSlo4ZFVk?=
 =?utf-8?B?YUoyZkVXQllDUHJUQkVPR3ZzYTVYczlDL002ZisvU2wvZUM4bkNSZEV2a0xl?=
 =?utf-8?B?RG45UVNxYVp6WFRQSnZneUZzK1VLdEpZYU1Cc3NYb1RUamVGZEIwL2hJNjc4?=
 =?utf-8?B?UitpUzVhSjBZQ1FmeElQZ3lwZkJ5QmFqZ2NXV3dmQjNVZ2RjcDZQTVh5VUJh?=
 =?utf-8?B?clNETEhYUjNZc01MaFdSUWFuNVN3ak9TSFh2di9URUlGVVczUVRCSWdtdTlS?=
 =?utf-8?B?N29WU2o1cFRCWmtrNTFKeWZsc3M5aDB5cDZPb2MvRWJnVmg3b0QvcFdkUTRV?=
 =?utf-8?B?OVhwUTVZOWpoRksvNjNiVG9nU1VmeDdueGdVTWQ1c2V5UzR3cmhGMG5LTFpD?=
 =?utf-8?B?TzFXSk9MZk1oaUxXZ3pkR1c0a0FWYXlpUVJMdGlwQTN5VG9YclJEaHVKZWpO?=
 =?utf-8?B?RUowakppK0hPdlBOcG9sSTdETEx0QVpTQmF4TW44eWEzak8rczRPbUJ5RWM5?=
 =?utf-8?B?cENQMURLSkYwYkRYcFNKSDBjZjBndVJ0UU9aUGxqZ2pESEV2Q21YQUM1WTJp?=
 =?utf-8?B?V1FvTkxac2d2SzFkbzlHakNjaUZVRndGVWN0MTN0R0xqczh2aFlwRGlka2Vu?=
 =?utf-8?B?eDBVZEo0enpSMGxZY1RSd05ENDY1VUdiT3o2VjJBTDFuZzRRdjV4VDU0dHpT?=
 =?utf-8?B?R3NSRVM4VDNmNXdHR2lEb0hERzFsSTBaWUdBU1YwNUpCZEY5R2ZaUmlNdk5F?=
 =?utf-8?B?T0RZOHVhZFBNRHdkT1RHM2hwVHExVUFVMjljL2ZXTGVSSHh1LzhsVGtOb2FG?=
 =?utf-8?B?VHl3aFFialdwQ1ZJSEc5bG51VmZQdVBkdFdUQ0VKSFh4bXZ5dHNHOVRoRC9i?=
 =?utf-8?B?MVJHdmRIRFVEVGZLUFhTN041SUxreDI0VVFJM2xBWWZmMmpjVzJLQkg3bCtq?=
 =?utf-8?B?L1ZwVDlEbXhJNFdSVmJ2cDdQdk9ybTBKSlJzbGhNVFRBdGp4QmVLT1lUWmNa?=
 =?utf-8?B?VTdPcWxxUkY1N1Z6bDFHTlQ5QXBGeTBqbjFJTHNuM0lEWGZXT0lKRnQ2c0RG?=
 =?utf-8?B?L2lUc2FhT3ZQZ0pta09xV1J0aHdUNlYya0hoVEJQNEl3Y0d5WVoyOHhPR21N?=
 =?utf-8?B?bXVrNWpNOGxhTVBJVElJMmFzaDhTVC90eWtMd1RSTStNZFczMEQzeUhlMG9Y?=
 =?utf-8?B?WGxWODMrck1jOUp2ZkxDUStneFJ1VVlBYk5BK1phTzBnczFEMlNZdXVuc0Z6?=
 =?utf-8?B?ck1OZ2d4by9PRytHcE8rMXNVWGJka1IycWt4OXBmaXhxeEVlVzNnaEcwdUJw?=
 =?utf-8?B?Z2crNy9qc2lqU3BHMU14WUYxZ1RpdTd6bnU0WHBaaDhyMXo3NEVxbnBIcXRF?=
 =?utf-8?B?TGlDY3hXc3ljb1lRWW9JTytneEU3K0xVRUNYS1FFOGRPM28zb1hBc3JWTVgr?=
 =?utf-8?B?bWF5ZVU0ajZ1cFEvS01GT1FpUzRxbDBRMlVYUUY5b0Rqa3VrUE5xOXhJcXVu?=
 =?utf-8?B?a2h4NW5Wb2N6MlVFeW0wOWpuNnpjQzZzT1BOcllzMy9zdzJSeDg4MmFzWTV3?=
 =?utf-8?B?NUNJYWJZck1uVVp0V1kwS3gzaUVyT1NxYWNWSHY5bUpVQkl0eVZrSjNXVVEr?=
 =?utf-8?B?ZFdWSWUrZzJPYW1pczNaYXhYTS9nOTJCMFhnbGg2aU4ycXJndit6YTdNeWFN?=
 =?utf-8?B?M2tqUmlYZnU0dldTcVRzamVpOW11RWpPWXh3VWRoVFdCQktzY0g5L05lRGt5?=
 =?utf-8?B?LzB4bnJGVjF6cUpMSGl0bnVmakJhYkN5VHVOdDhKOUhtMnhwOTRsZE13R1Nn?=
 =?utf-8?B?UllnZFhqZlVhSERrK0FNRFlJeDFhM3hXSktrUStwSXpCYVFCcnZQRC9tSXFO?=
 =?utf-8?Q?xjh9Obgxi0/RvC5zMiuWh45ro?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ad38bb42-6b99-4a95-2846-08db26228dcb
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 13:30:05.4108
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QnVqQvwmSAEq1qu4J+t/Clvh+cCzDxs0Y9fkdH3epoCGe0noHQseBgLsv2K+AMCmSq6GYHsgZ7JKh/zn6l+3ow==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7465

On 15.03.2023 16:20, Anthony PERARD wrote:
> On Wed, Mar 15, 2023 at 03:56:21PM +0100, Jan Beulich wrote:
>> This symlink is getting in the way of using e.g. "find" on the xen/
>> subtree, and it isn't really needed when not building out-of-tree:
>> the one use that there was can easily be avoided.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/common/efi/efi-common.mk
>> +++ b/xen/common/efi/efi-common.mk
>> @@ -5,11 +5,16 @@ CFLAGS-y += -fshort-wchar
>>  CFLAGS-y += -iquote $(srctree)/common/efi
>>  CFLAGS-y += -iquote $(srcdir)
>>  
>> +source :=
>> +ifneq ($(abs_objtree),$(abs_srctree))
> 
> Could you use "ifdef building_out_of_srctree" instead, or at least use
> the variable $(building_out_of_srctree)? At least that mean there's a
> single way in the tree to differentiate between both kind of build.

I should have added a remark, I realize. I am actually aware of that
variable and also the fact that it is getting exported, but I was
seriously wondering why we do that: It's redundant information, and imo
a variable of this name shouldn't really be exported.

Furthermore I consider the conditional I'm presently using (matching
the one controlling the definition of building_out_of_srctree) more
descriptive: I had to go and convince myself that the variable really
is set based on comparing the paths; I had suspected it might be some
other conditional, not the least because of me not expecting that we'd
carry (and even export) redundant information.

So yes, if you insist I will switch. My preferred route would be to
ditch building_out_of_srctree, though.

>> +source := source/
>> +endif
>> +
>>  # Part of the command line transforms $(obj)
>>  # e.g.: It transforms "dir/foo/bar" into successively
>>  #       "dir foo bar", ".. .. ..", "../../.."
>>  $(obj)/%.c: $(srctree)/common/efi/%.c FORCE
>> -	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
>> +	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/$(source)common/efi/$(<F) $@
> 
> Instead of $(source), I did proposed initially
> "$(if $(building_out_of_srctree),source/)" for here, or it that making
> the command line too long?
> https://lore.kernel.org/xen-devel/YebpHJk1JIArcdvW@perard/t/#u

Oh, I'm sorry for driving you into adding that symlink, which is now
getting in the way. But yes, putting it inline would imo make an already
too long line yet worse. Otoh I could of course wrap the line, albeit
some care may then be needed to not introduce whitespace in the wrong
place.

> Having "source := $(if $(building_out_of_srctree),source/)" might be an
> ok alternative in place of the use if "ifneq/endif" which take 4 lines?

As per above, if you're determined that building_out_of_srctree should
stay around, then I could do so. Alternatively how about

source := $(if $(patsubst $(abs_objtree),,$(abs_srctree)),,source/)

or the same with $(subst ...) or yet shorter

source := $(if $(abs_srctree:$(abs_objtree)=),,source/)

if you're after cutting the number of lines?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:35:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:35:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510606.788567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcnlI-0008PM-4G; Thu, 16 Mar 2023 13:35:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510606.788567; Thu, 16 Mar 2023 13: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 1pcnlI-0008PF-1R; Thu, 16 Mar 2023 13:35:20 +0000
Received: by outflank-mailman (input) for mailman id 510606;
 Thu, 16 Mar 2023 13: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcnlG-0008P2-B1
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:35:18 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0608.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 62ee82c7-c3ff-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 14:35:17 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB7030.eurprd04.prod.outlook.com (2603:10a6:20b:114::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Thu, 16 Mar
 2023 13:35:13 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 13: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
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62ee82c7-c3ff-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MG/2ytgrY1z0rz3XDa9pGV7xNTiuqvqqg1q49v2xt+eeFxSHhA/QPgBDYykEgrXLfWUKIx5PEBhtjxWgY+joYmNeY4X9LiV6u8mjV5huWa7d/TF1qhOJnnyRO4AhmhuH6dsea2Aq1EcLNaUUyvhO1fpikO/zo9HytUdfplUi4W0N6xAq1y1FbT2tgXWpGAOzNk6Duj7YOqDwL7oMS5dftLeW2/zNNEwjsV3jEArbyUhc9KiMQy7G+S2y4bB8VTzxLggANuugA3rAub0Hy/XsI3khwBzhPA/9JIWopZGWm5evaUDrEwXw8Xm7/BASOaac+cdaC4JeKZabxRxCBlYGFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w5lk2hv9qr7I8bVbRiQPTMXcQYyx+vBq6LdMC5slVcI=;
 b=jHVasOCBTy+BvsMVXAPeNRm/+zlr2pMFuLZeNEj1ZA5q6oQv0dEh8TocCj2vAKTEHfS/sIlwy4WLs3acuYX6BPKzUtrx6J0ffuYygU5LVLcWLItwc9ZJRkTt0uG+gaeKvQ7airw3ySMWJ8xU+QkrJEh/opqD2snP/0nNh7Rt3zh5cLNsm4VUFZ8bDLrCXM9ra+udSFVaZ3HrXEwkwMXJlJAk6XdMv/ktVQjYBNjx4Ah0a26eQXSMrj2CWL9P/rE/P374s2rxcEb/JvCNCC+ITmSKpNiX/G8m+HaUs8elPeMxV0WYI6d+cEAmVGYth2BnE9KVlfi61E1KfUZ9EORcvg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w5lk2hv9qr7I8bVbRiQPTMXcQYyx+vBq6LdMC5slVcI=;
 b=R7n+WJHVMw4q4kM7YM698hPXNN7fnR3CU0eTh8CiPtRBue8cobQ30JB5Q9G8sjYC02nA2mr7E1YvPdhYzm2XSq82h6fG1ESSBSBDlyBl5qNC7zqicq48h3Uo3z0GETmGkmoN5byYoRzZh3+BMAKd1OYMubK+coSRa+RkzYnVoOkS45xS5e4HzEJP2sNdFXQ3AT+lEqwnu5nQPsGQ5/rkBklRSVoixc+sgGOQrtT5uN29CXjZujFNPgHqpF3RktyaTlCOqxCb2HgRHbOUG7Pd9Aax3ejIi4UNiep6AZMBcf/D1JqCVBrrnAbciyDZhDaZmiVCcDnCb/orRWE0hij+9A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <550b161e-ed17-e331-d269-3f5b8aa4b4a1@suse.com>
Date: Thu, 16 Mar 2023 14:35:10 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 1/5] x86/paging: fold most HAP and shadow final
 teardown
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <882f700f-9d79-67d5-7e13-e42c3c79ba11@suse.com>
 <67b9378f-cf4a-f210-aa2d-85af51c51ab0@suse.com>
 <ZBMKhQWl1pZppgSj@Air-de-Roger>
 <91d3373a-2a50-f868-7471-08f9def8e6b8@suse.com>
 <ZBMZeXxqUsucQETt@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBMZeXxqUsucQETt@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0103.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7030:EE_
X-MS-Office365-Filtering-Correlation-Id: 2a63d93e-9763-4632-92d6-08db2623450e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sev/O/4CMNuj7+dzI1fZ73wAEDndekkS0/3lVE/3XWrVejBT15JM48Z2BD5DlYRjjC8fIYMBV9WfmHrQDbJSqFaREWUx64kCDhEpbRinJA4P8TXKqviQ+5eZLk+4DnEocltH4fPXfBwU5GQZfvKXJi3M4yQ53tkh6tEc1//99ZgswfkKA5xrs3SqraaPwNTaZ2iduhKU92xD+TE+zABGL/xJTf0pEfkqy1ucMOA4CDg2RwNJtWIqk4GOg2zuav0cLd3+tHjr8WYC+5LvD37gW7jzrpS5EiGcme0ectOjHuPNEmgaIbGaI9YL2RXdCGGDn1Nn2nZvIXgJhex7nCGnkmG7Zv0ATF6dmZ+9jaVr7AktsrlID/2Vfid3WCVBFKAbJwCUzbTmca1G5wPbwn41AF8vQySFWsKtpRC+0URQ9i/rUz2TjQBnBja77akjQeCV3z05A9iaIQhFbMmLTlm2GsglQ4QlqjZkuzgTgTqqkr0omICPs8omCLNGGu6I3qOy59DhKmwIT7Xy+jYOwEvzNkA//daM7PNlIrLY7uEIvi0pw7N1Vc4Lora9gpEXMk2+xHhbKsax9kJdhfS2A7LI7e+ZgOD/aUkwpSqVwcxU6ULBLQ78DkOxAOHRMmgtOQTyrQop8Npp53Jor5dOmWlis6ekKL15qGajeLdykZG+YlPMumVn2lsDcyw/xwcRpNq0hQktkyFBsEqQkBR/ytRa//E1TyyXIHsIes1GjUWFqnk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(396003)(366004)(376002)(346002)(136003)(451199018)(31686004)(41300700001)(8936002)(4744005)(2906002)(31696002)(38100700002)(86362001)(36756003)(5660300002)(8676002)(478600001)(6916009)(66556008)(6486002)(66946007)(66476007)(4326008)(54906003)(316002)(2616005)(186003)(26005)(53546011)(6506007)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Lzlpdmd4enVxb1RDVTcrcDdjeEFaTkhYNXJScWhXcFAyVGJJaVN0S051eFlZ?=
 =?utf-8?B?UzNtV2hNT1FwQXQ4bEc2ZG5TNThFWmhvVWRhdVFRSkk4aTVxcmV2WjdMOTZ2?=
 =?utf-8?B?RXJOaXNQb2NKU0R5WFN2SERGamZ4YUJ2Z3MwUDlxL05SeUZudkE1N2ZTaVRx?=
 =?utf-8?B?R2lzZE1sVGJGMXZ5SDJaUDIrWitiVzFCK2tMa0tWOWpFejd5ejVtS0lRbWVi?=
 =?utf-8?B?aWhocW1leE91RjMvTG1DdXcyWEFCYmFUZzkxSUpUTHl3ZUZjRzRub3k4L2lw?=
 =?utf-8?B?TCtMcHBaQUtCdTB2dUpDZmRpeWRybnBtLzkzdnpuV09SZW9Fd0dWNnZpLy9i?=
 =?utf-8?B?WWhZUUNENEJoTWpTWWxVZFlCbm1rYUdLVGMwWXVlWkN5N2RpZFI2S0hPei9G?=
 =?utf-8?B?eEhFYWRpUHhQeG0za3hoZVNtaW9rbHpIQW95WGZIQ2dxSEhPczhrYnJZMlQ4?=
 =?utf-8?B?V0ZzQU1QVmtIMjdKb0tuUGJRdDkzTHJzejc3d2lObUU4djhpN3ZoSWcrUUJD?=
 =?utf-8?B?YWJYWDZnRXRwcXFpT0ExUFROcmFJdVJ3OHQ2ZHdSS0tLOEJJaHpuVVZuTjEr?=
 =?utf-8?B?Z1JsbGtCZUdVcFZ4c2dsZmUxYW41UjNJajhia04zcElDekt5U3VpQmdSZ0sw?=
 =?utf-8?B?ZlN3dDdKSTNuaHRSczd0ZjdDRHQwNHIxaW93cytXU2FYTHpwVyt2Wllqc3M2?=
 =?utf-8?B?VS82bjZxTjVoNHlVUHl1OU50VmMyRTJxQ1hMUXpPTTdkK0orNHRHV2tsMVVZ?=
 =?utf-8?B?NXBUOEFoOGVmaUwwa0VjaklVZFZaL1YrZ1UzNmJzNFBHUDB1MDRabjdSRkRB?=
 =?utf-8?B?ekg4aG9lZERpQ1ZlZGtnNVFGZkQxZHIzK1Y0MG4xcVNLS0ZpWmVVNjV5RHBx?=
 =?utf-8?B?cEJySU1qY3ltSnBSZDBEZThPTlZYRlZCTnl6NnFRT2t5SERsQTgzTDRJbmJ3?=
 =?utf-8?B?Z0N0SDdCcXQvRERGZElPN0dxdmdDTjNZQ2UyOFVZRDVGM0plNGE4ZUtRaXdD?=
 =?utf-8?B?em1kbVJ5ZXRDRTUwNkx3U0V6eEUwVFNqKzBrWWRQdzF2cFU3cGR1VEp1U2lE?=
 =?utf-8?B?RHdIeVRTK0YxTTdVc3A2WHRtblM2UDhWYXF5Q0ZhZzFJZUJRcE4xYy8vQkw5?=
 =?utf-8?B?WW9mSDNEWWNKMm1mS1RpVmNHWlBWTGk1KzRoN1R4TWdFMkdxR0MxcHVHR3M3?=
 =?utf-8?B?Mnh4dURkUTlNUGpEQWRSd3d0ODlyVWZEYmkyd0tnblNqaE9EUE1COUsyY3M5?=
 =?utf-8?B?VmNROFlKS241a2M4ODNqVDFFbGxVZk0rSDJicWJOLzZIQzNCY2JNMytYNXVo?=
 =?utf-8?B?NVcrTWhsYXBmUk0xdnRTL2FZeGgra2Y2bTJqUktUOGFVR0RBOUM3TWRCMmJU?=
 =?utf-8?B?TXdEcksycUR3TXNTSG16aGhKd3lubEhxMHJkbGoyeEtqUUtBZ2lYMkdoUmtI?=
 =?utf-8?B?S1Q3U2RqbWJzWXd6NFNyQmNOZUlmTXc2VzhIWk93cDhGbi95ai90L3JMUEFj?=
 =?utf-8?B?VzR6L3VNMXFuUWovWTRBY1FwRlBWVWYvSk5saW5WQnA0V2p5NmM4aWFTN1Nw?=
 =?utf-8?B?QTJHTHppSVZMSTFkM0dVRWtUVkMxazMxcFRhaHpyODJMSll6MFp5a2FTWGRp?=
 =?utf-8?B?dkVFcWZLU2dLcU50ZDBXT3dYOTBLYzB5ODNiZVZBcm1mNzc5TC96UVBxYmtp?=
 =?utf-8?B?Rk5vZ2U0UkE1ZmRRNWk2SDUwM2hQaytQczNOS2tKRnNYZVdjVVJCL2dqZGF1?=
 =?utf-8?B?R2huUHJJRmZDSkc2RjYzSGRHSU9yai9mbXJGL0FSZlZReXhxUUxDRWpyWlpD?=
 =?utf-8?B?cDRTVlZVRWlycXNWam9wQ1hwcWppSThwcG5pMU9VNkxMLytRb0IrUXVCRDZv?=
 =?utf-8?B?Mmg5MjNrSVNxYmY1aU1FZDdSNDkrVW1XM2NKSVFkZnV1a0UwR2M4RUV3dEU5?=
 =?utf-8?B?ejdCNlVVeitRTVdRRGU5aC9tRXNJWWxJOE1vUzF6ZmQxUWU1czAzc2tQNnJw?=
 =?utf-8?B?dU1mNzZXUEthelh6NFlMMnY5ekZjdU1IS0FobFUwYU52QktiV0ovUFBXeTdP?=
 =?utf-8?B?OWkvY3ZEdE5GNVp3SldQQklFNTB6ZDYyeTdtcGJWUUI3M3FwSkdzSnJ1TEZj?=
 =?utf-8?Q?yldMbHDUNEQKW/KNVNDoiVpBv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a63d93e-9763-4632-92d6-08db2623450e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 13:35:13.0788
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DS/xNLaNDkfLn0/AEDIYyItv/VLAMzEgOiIYiOZQutTx5jhRCGUxfm2T09b8a9c8JxMlY9mVM6rzU16Kn2FUwQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7030

On 16.03.2023 14:28, Roger Pau Monné wrote:
> On Thu, Mar 16, 2023 at 01:57:45PM +0100, Jan Beulich wrote:
>> On 16.03.2023 13:24, Roger Pau Monné wrote:
>>> Maybe we want to pull that hap_teardown() out of hap_final_teardown()
>>
>> That's what I'm doing here.
> 
> Oh, sorry, I've missed that chunk.  Then:
> 
> Reviewed-by: Roger Pau Monné <roge.rpau@citrix.com>

Thanks. I'll take the liberty and swap '.' with 'r' ...

Jan



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:45:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:45:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510610.788583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcnv7-0001kH-60; Thu, 16 Mar 2023 13:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510610.788583; Thu, 16 Mar 2023 13: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 1pcnv7-0001kA-2F; Thu, 16 Mar 2023 13:45:29 +0000
Received: by outflank-mailman (input) for mailman id 510610;
 Thu, 16 Mar 2023 13: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=hcJX=7I=gmail.com=alexdeucher@srs-se1.protection.inumbo.net>)
 id 1pcnv5-0001k4-UR
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:45:28 +0000
Received: from mail-ot1-x331.google.com (mail-ot1-x331.google.com
 [2607:f8b0:4864:20::331])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce6f3073-c400-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 14:45:26 +0100 (CET)
Received: by mail-ot1-x331.google.com with SMTP id
 f17-20020a9d7b51000000b00697349ab7e7so978924oto.9
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 06:45: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: ce6f3073-c400-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678974326;
        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=UWCKbtplZJ+ZPgiQ+llRwn6vMzQlR6RfveV/kyzoYt0=;
        b=Fa5TBJOICTZGaAxV8ye5x/ZGojNIPknDBs5bvwl/jjueeLJVcAM9u1WFzuXQI7xZCR
         n7Kg/cy4BRgB25po6d/b/l6zWT4zDdvL2TmjSvcTB6aaPSDjYx0DTg7J/Ef3bJ1vHrfP
         oc3iTg8aJ+duikjB3ZL0qXYVMXCAAwGrg+YD3g82Cdkt6m3gdjfq+00C3MOagRFgOfPO
         8gPjTi+3DqW8ZvZ1o+KlDr+O1RGQYuO6L99FTGyc/GY1iALewM4OETUp5E3miX4XFIFp
         eYrGZtgMHqU4iH1Yk3QGWbiUWd99Q6qZxWmwmN3GvrpCWRJrOrbOR4SzR863ePdEPcBC
         C/Eg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678974326;
        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=UWCKbtplZJ+ZPgiQ+llRwn6vMzQlR6RfveV/kyzoYt0=;
        b=ZitmvwW59x7ZP6/NKqIdaX6A0S5CClT38ko4mKvEBdA3BPgkwnXRR8jjxbzdoZP7V0
         /UBkI6L+PpuRQbGyiheZExPVANE5pNToYSB9W/s1Ox01Bu9ujHzHm32wm2YVt+0rv905
         LBwaDJNxC3xkZj+6V0Ubq6pZurdowJg6ptW2KmoP7NKxdEJHpxH8GT4kCFuu9acp5y7/
         Bzk8mHdrrxE0AzxsNS5LMlrnexktytG1qHpqaA8YuUc7gXnciy2dVxNUCrgZSWl8kkrl
         yUjBda3iVLPOMGneF1z6CS/WiFy6ZiUpCeK0QXyF0J35ALah0NcxiCKs4xzHYGY4dPQn
         0urQ==
X-Gm-Message-State: AO0yUKXE5In6vd+lk2xpAyRX50V4/7lTGPp5j7Hk8VZZaswO4FaSK47q
	WN4PdRS6/il05bu9rgX/2ilXgyT3inNAT+/2iKg=
X-Google-Smtp-Source: AK7set+3qR+KxTZtbczZDS3CGBW6F0/GCDOIJw7w85TfFDZI7hjqtUvXWb4ZF1iNyyygRY1zoh1WOtxULP5svQP6l+0=
X-Received: by 2002:a05:6830:3345:b0:698:d198:fe9a with SMTP id
 l5-20020a056830334500b00698d198fe9amr2702720ott.3.1678974325749; Thu, 16 Mar
 2023 06:45:25 -0700 (PDT)
MIME-Version: 1.0
References: <20230312120157.452859-1-ray.huang@amd.com> <20230312120157.452859-2-ray.huang@amd.com>
 <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com> <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
 <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com> <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop>
 <5e22a45d-6f12-da9b-94f6-3112a30e8574@suse.com>
In-Reply-To: <5e22a45d-6f12-da9b-94f6-3112a30e8574@suse.com>
From: Alex Deucher <alexdeucher@gmail.com>
Date: Thu, 16 Mar 2023 09:45:14 -0400
Message-ID: <CADnq5_PH9ZqDqpPES74V3fB3NVpaexDoGTyu_+-zoux5vgagyg@mail.gmail.com>
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Juergen Gross <jgross@suse.com>, 
	Honglei Huang <honglei1.huang@amd.com>, amd-gfx@lists.freedesktop.org, 
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, 
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Huang Rui <ray.huang@amd.com>, 
	Chen Jiqian <Jiqian.Chen@amd.com>, Xenia Ragiadakou <burzalodowa@gmail.com>, 
	Alex Deucher <alexander.deucher@amd.com>, xen-devel@lists.xenproject.org, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Julia Zhang <julia.zhang@amd.com>, 
	=?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 16, 2023 at 3:50=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 16.03.2023 00:25, Stefano Stabellini wrote:
> > On Wed, 15 Mar 2023, Jan Beulich wrote:
> >> On 15.03.2023 01:52, Stefano Stabellini wrote:
> >>> On Mon, 13 Mar 2023, Jan Beulich wrote:
> >>>> On 12.03.2023 13:01, Huang Rui wrote:
> >>>>> Xen PVH is the paravirtualized mode and takes advantage of hardware
> >>>>> virtualization support when possible. It will using the hardware IO=
MMU
> >>>>> support instead of xen-swiotlb, so disable swiotlb if current domai=
n is
> >>>>> Xen PVH.
> >>>>
> >>>> But the kernel has no way (yet) to drive the IOMMU, so how can it ge=
t
> >>>> away without resorting to swiotlb in certain cases (like I/O to an
> >>>> address-restricted device)?
> >>>
> >>> I think Ray meant that, thanks to the IOMMU setup by Xen, there is no
> >>> need for swiotlb-xen in Dom0. Address translations are done by the IO=
MMU
> >>> so we can use guest physical addresses instead of machine addresses f=
or
> >>> DMA. This is a similar case to Dom0 on ARM when the IOMMU is availabl=
e
> >>> (see include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect, the correspond=
ing
> >>> case is XENFEAT_not_direct_mapped).
> >>
> >> But how does Xen using an IOMMU help with, as said, address-restricted
> >> devices? They may still need e.g. a 32-bit address to be programmed in=
,
> >> and if the kernel has memory beyond the 4G boundary not all I/O buffer=
s
> >> may fulfill this requirement.
> >
> > In short, it is going to work as long as Linux has guest physical
> > addresses (not machine addresses, those could be anything) lower than
> > 4GB.
> >
> > If the address-restricted device does DMA via an IOMMU, then the device
> > gets programmed by Linux using its guest physical addresses (not machin=
e
> > addresses).
> >
> > The 32-bit restriction would be applied by Linux to its choice of guest
> > physical address to use to program the device, the same way it does on
> > native. The device would be fine as it always uses Linux-provided <4GB
> > addresses. After the IOMMU translation (pagetable setup by Xen), we
> > could get any address, including >4GB addresses, and that is expected t=
o
> > work.
>
> I understand that's the "normal" way of working. But whatever the swiotlb
> is used for in baremetal Linux, that would similarly require its use in
> PVH (or HVM) aiui. So unconditionally disabling it in PVH would look to
> me like an incomplete attempt to disable its use altogether on x86. What
> difference of PVH vs baremetal am I missing here?

swiotlb is not usable for GPUs even on bare metal.  They often have
hundreds or megs or even gigs of memory mapped on the device at any
given time.  Also, AMD GPUs support 44-48 bit DMA masks (depending on
the chip family).

Alex


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:48:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:48:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510612.788593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcnyJ-0002JB-LC; Thu, 16 Mar 2023 13:48:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510612.788593; Thu, 16 Mar 2023 13:48: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 1pcnyJ-0002J4-Hv; Thu, 16 Mar 2023 13:48:47 +0000
Received: by outflank-mailman (input) for mailman id 510612;
 Thu, 16 Mar 2023 13:48: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=3e+z=7I=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pcnyI-0002Iy-6u
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:48:46 +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 444f4776-c401-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 14:48: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 925A721A2E;
 Thu, 16 Mar 2023 13:48: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 0A485133E0;
 Thu, 16 Mar 2023 13:48:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id NJOzADseE2T9UgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 16 Mar 2023 13:48:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 444f4776-c401-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678974523; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=ZesJctOr5t0iJJAp9HYDBl70AgQHglftIazvKYhpsqo=;
	b=JuL7MFJtkU20yjK6sU8wQxJM0kCi2IexuyJVu/FX7GCWSYyzhRf9lsLRDhg85eAtDYHZJg
	rfpWESRHHODF5QQEHDe6/TMJ/eYYSIWieNZZftu8PLjyzNX15XyGCoV13OomWViCUp4EMr
	l6OyztM+l1y6l4MyLPKWi0gz4c6Syzw=
Message-ID: <dcb54275-b21f-a837-76bb-e19e331a0666@suse.com>
Date: Thu, 16 Mar 2023 14:48:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
Content-Language: en-US
To: Alex Deucher <alexdeucher@gmail.com>, Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Honglei Huang <honglei1.huang@amd.com>, amd-gfx@lists.freedesktop.org,
 dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
 Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Huang Rui <ray.huang@amd.com>, Chen Jiqian <Jiqian.Chen@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 Alex Deucher <alexander.deucher@amd.com>, xen-devel@lists.xenproject.org,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Julia Zhang <julia.zhang@amd.com>, =?UTF-8?Q?Christian_K=c3=b6nig?=
 <christian.koenig@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-2-ray.huang@amd.com>
 <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com>
 <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
 <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com>
 <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop>
 <5e22a45d-6f12-da9b-94f6-3112a30e8574@suse.com>
 <CADnq5_PH9ZqDqpPES74V3fB3NVpaexDoGTyu_+-zoux5vgagyg@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <CADnq5_PH9ZqDqpPES74V3fB3NVpaexDoGTyu_+-zoux5vgagyg@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------THkQSUoEFzHUj9ZPQACR3yGX"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------THkQSUoEFzHUj9ZPQACR3yGX
Content-Type: multipart/mixed; boundary="------------hWJC2JClxN0ZunEMAIMDHxZa";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Alex Deucher <alexdeucher@gmail.com>, Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Honglei Huang <honglei1.huang@amd.com>, amd-gfx@lists.freedesktop.org,
 dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
 Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Huang Rui <ray.huang@amd.com>, Chen Jiqian <Jiqian.Chen@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 Alex Deucher <alexander.deucher@amd.com>, xen-devel@lists.xenproject.org,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Julia Zhang <julia.zhang@amd.com>, =?UTF-8?Q?Christian_K=c3=b6nig?=
 <christian.koenig@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
Message-ID: <dcb54275-b21f-a837-76bb-e19e331a0666@suse.com>
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-2-ray.huang@amd.com>
 <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com>
 <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
 <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com>
 <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop>
 <5e22a45d-6f12-da9b-94f6-3112a30e8574@suse.com>
 <CADnq5_PH9ZqDqpPES74V3fB3NVpaexDoGTyu_+-zoux5vgagyg@mail.gmail.com>
In-Reply-To: <CADnq5_PH9ZqDqpPES74V3fB3NVpaexDoGTyu_+-zoux5vgagyg@mail.gmail.com>

--------------hWJC2JClxN0ZunEMAIMDHxZa
Content-Type: multipart/mixed; boundary="------------KMVO7dtr3In1qGOut4i6OgJL"

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

T24gMTYuMDMuMjMgMTQ6NDUsIEFsZXggRGV1Y2hlciB3cm90ZToNCj4gT24gVGh1LCBNYXIg
MTYsIDIwMjMgYXQgMzo1MOKAr0FNIEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gT24gMTYuMDMuMjAyMyAwMDoyNSwgU3RlZmFubyBTdGFiZWxsaW5p
IHdyb3RlOg0KPj4+IE9uIFdlZCwgMTUgTWFyIDIwMjMsIEphbiBCZXVsaWNoIHdyb3RlOg0K
Pj4+PiBPbiAxNS4wMy4yMDIzIDAxOjUyLCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+
Pj4+PiBPbiBNb24sIDEzIE1hciAyMDIzLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+Pj4+PiBP
biAxMi4wMy4yMDIzIDEzOjAxLCBIdWFuZyBSdWkgd3JvdGU6DQo+Pj4+Pj4+IFhlbiBQVkgg
aXMgdGhlIHBhcmF2aXJ0dWFsaXplZCBtb2RlIGFuZCB0YWtlcyBhZHZhbnRhZ2Ugb2YgaGFy
ZHdhcmUNCj4+Pj4+Pj4gdmlydHVhbGl6YXRpb24gc3VwcG9ydCB3aGVuIHBvc3NpYmxlLiBJ
dCB3aWxsIHVzaW5nIHRoZSBoYXJkd2FyZSBJT01NVQ0KPj4+Pj4+PiBzdXBwb3J0IGluc3Rl
YWQgb2YgeGVuLXN3aW90bGIsIHNvIGRpc2FibGUgc3dpb3RsYiBpZiBjdXJyZW50IGRvbWFp
biBpcw0KPj4+Pj4+PiBYZW4gUFZILg0KPj4+Pj4+DQo+Pj4+Pj4gQnV0IHRoZSBrZXJuZWwg
aGFzIG5vIHdheSAoeWV0KSB0byBkcml2ZSB0aGUgSU9NTVUsIHNvIGhvdyBjYW4gaXQgZ2V0
DQo+Pj4+Pj4gYXdheSB3aXRob3V0IHJlc29ydGluZyB0byBzd2lvdGxiIGluIGNlcnRhaW4g
Y2FzZXMgKGxpa2UgSS9PIHRvIGFuDQo+Pj4+Pj4gYWRkcmVzcy1yZXN0cmljdGVkIGRldmlj
ZSk/DQo+Pj4+Pg0KPj4+Pj4gSSB0aGluayBSYXkgbWVhbnQgdGhhdCwgdGhhbmtzIHRvIHRo
ZSBJT01NVSBzZXR1cCBieSBYZW4sIHRoZXJlIGlzIG5vDQo+Pj4+PiBuZWVkIGZvciBzd2lv
dGxiLXhlbiBpbiBEb20wLiBBZGRyZXNzIHRyYW5zbGF0aW9ucyBhcmUgZG9uZSBieSB0aGUg
SU9NTVUNCj4+Pj4+IHNvIHdlIGNhbiB1c2UgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzc2VzIGlu
c3RlYWQgb2YgbWFjaGluZSBhZGRyZXNzZXMgZm9yDQo+Pj4+PiBETUEuIFRoaXMgaXMgYSBz
aW1pbGFyIGNhc2UgdG8gRG9tMCBvbiBBUk0gd2hlbiB0aGUgSU9NTVUgaXMgYXZhaWxhYmxl
DQo+Pj4+PiAoc2VlIGluY2x1ZGUveGVuL2FybS9zd2lvdGxiLXhlbi5oOnhlbl9zd2lvdGxi
X2RldGVjdCwgdGhlIGNvcnJlc3BvbmRpbmcNCj4+Pj4+IGNhc2UgaXMgWEVORkVBVF9ub3Rf
ZGlyZWN0X21hcHBlZCkuDQo+Pj4+DQo+Pj4+IEJ1dCBob3cgZG9lcyBYZW4gdXNpbmcgYW4g
SU9NTVUgaGVscCB3aXRoLCBhcyBzYWlkLCBhZGRyZXNzLXJlc3RyaWN0ZWQNCj4+Pj4gZGV2
aWNlcz8gVGhleSBtYXkgc3RpbGwgbmVlZCBlLmcuIGEgMzItYml0IGFkZHJlc3MgdG8gYmUg
cHJvZ3JhbW1lZCBpbiwNCj4+Pj4gYW5kIGlmIHRoZSBrZXJuZWwgaGFzIG1lbW9yeSBiZXlv
bmQgdGhlIDRHIGJvdW5kYXJ5IG5vdCBhbGwgSS9PIGJ1ZmZlcnMNCj4+Pj4gbWF5IGZ1bGZp
bGwgdGhpcyByZXF1aXJlbWVudC4NCj4+Pg0KPj4+IEluIHNob3J0LCBpdCBpcyBnb2luZyB0
byB3b3JrIGFzIGxvbmcgYXMgTGludXggaGFzIGd1ZXN0IHBoeXNpY2FsDQo+Pj4gYWRkcmVz
c2VzIChub3QgbWFjaGluZSBhZGRyZXNzZXMsIHRob3NlIGNvdWxkIGJlIGFueXRoaW5nKSBs
b3dlciB0aGFuDQo+Pj4gNEdCLg0KPj4+DQo+Pj4gSWYgdGhlIGFkZHJlc3MtcmVzdHJpY3Rl
ZCBkZXZpY2UgZG9lcyBETUEgdmlhIGFuIElPTU1VLCB0aGVuIHRoZSBkZXZpY2UNCj4+PiBn
ZXRzIHByb2dyYW1tZWQgYnkgTGludXggdXNpbmcgaXRzIGd1ZXN0IHBoeXNpY2FsIGFkZHJl
c3NlcyAobm90IG1hY2hpbmUNCj4+PiBhZGRyZXNzZXMpLg0KPj4+DQo+Pj4gVGhlIDMyLWJp
dCByZXN0cmljdGlvbiB3b3VsZCBiZSBhcHBsaWVkIGJ5IExpbnV4IHRvIGl0cyBjaG9pY2Ug
b2YgZ3Vlc3QNCj4+PiBwaHlzaWNhbCBhZGRyZXNzIHRvIHVzZSB0byBwcm9ncmFtIHRoZSBk
ZXZpY2UsIHRoZSBzYW1lIHdheSBpdCBkb2VzIG9uDQo+Pj4gbmF0aXZlLiBUaGUgZGV2aWNl
IHdvdWxkIGJlIGZpbmUgYXMgaXQgYWx3YXlzIHVzZXMgTGludXgtcHJvdmlkZWQgPDRHQg0K
Pj4+IGFkZHJlc3Nlcy4gQWZ0ZXIgdGhlIElPTU1VIHRyYW5zbGF0aW9uIChwYWdldGFibGUg
c2V0dXAgYnkgWGVuKSwgd2UNCj4+PiBjb3VsZCBnZXQgYW55IGFkZHJlc3MsIGluY2x1ZGlu
ZyA+NEdCIGFkZHJlc3NlcywgYW5kIHRoYXQgaXMgZXhwZWN0ZWQgdG8NCj4+PiB3b3JrLg0K
Pj4NCj4+IEkgdW5kZXJzdGFuZCB0aGF0J3MgdGhlICJub3JtYWwiIHdheSBvZiB3b3JraW5n
LiBCdXQgd2hhdGV2ZXIgdGhlIHN3aW90bGINCj4+IGlzIHVzZWQgZm9yIGluIGJhcmVtZXRh
bCBMaW51eCwgdGhhdCB3b3VsZCBzaW1pbGFybHkgcmVxdWlyZSBpdHMgdXNlIGluDQo+PiBQ
VkggKG9yIEhWTSkgYWl1aS4gU28gdW5jb25kaXRpb25hbGx5IGRpc2FibGluZyBpdCBpbiBQ
Vkggd291bGQgbG9vayB0bw0KPj4gbWUgbGlrZSBhbiBpbmNvbXBsZXRlIGF0dGVtcHQgdG8g
ZGlzYWJsZSBpdHMgdXNlIGFsdG9nZXRoZXIgb24geDg2LiBXaGF0DQo+PiBkaWZmZXJlbmNl
IG9mIFBWSCB2cyBiYXJlbWV0YWwgYW0gSSBtaXNzaW5nIGhlcmU/DQo+IA0KPiBzd2lvdGxi
IGlzIG5vdCB1c2FibGUgZm9yIEdQVXMgZXZlbiBvbiBiYXJlIG1ldGFsLiAgVGhleSBvZnRl
biBoYXZlDQo+IGh1bmRyZWRzIG9yIG1lZ3Mgb3IgZXZlbiBnaWdzIG9mIG1lbW9yeSBtYXBw
ZWQgb24gdGhlIGRldmljZSBhdCBhbnkNCj4gZ2l2ZW4gdGltZS4gIEFsc28sIEFNRCBHUFVz
IHN1cHBvcnQgNDQtNDggYml0IERNQSBtYXNrcyAoZGVwZW5kaW5nIG9uDQo+IHRoZSBjaGlw
IGZhbWlseSkuDQoNCkJ1dCB0aGUgc3dpb3RsYiBpc24ndCBwZXIgZGV2aWNlLCBidXQgc3lz
dGVtIGdsb2JhbC4NCg0KDQpKdWVyZ2VuDQoNCg==
--------------KMVO7dtr3In1qGOut4i6OgJL
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-----

--------------KMVO7dtr3In1qGOut4i6OgJL--

--------------hWJC2JClxN0ZunEMAIMDHxZa--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQTHjoFAwAAAAAACgkQsN6d1ii/Ey+l
qAgAiU7MGNIJDQZ1NCH25BrbopgMIQIqOK1AK0KO+KCtwdpLbt0sPVmuH4lORRO5jdRgs7UrW+pb
7LlEOT0A9cgPYG8ILr66RxG4hAlFrLDdOpZkpsGF2EHhbWsRGqtcM5sBhSv8zUFskh4s1tXVzP8G
ZYFKKriI5RDM8iDy+YrmxEIS4Oud92CHE3NaU5k0lp+eVCGlljMrtxY7pxumzjY6cWjY7XAD32Uy
FYk1TFzY98/cvpwh2fF3cC3zbMUEKgQNoQFIdimzyB6OoMxK/6dbp5dXRrN3VZMMNxVeTEfjHoHx
QVAvSE+C8mPibCD51JSQkXz/EPJ7OwItm+9jwvHNkQ==
=5tHs
-----END PGP SIGNATURE-----

--------------THkQSUoEFzHUj9ZPQACR3yGX--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:53:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:53:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510616.788603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pco2s-00043P-94; Thu, 16 Mar 2023 13:53:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510616.788603; Thu, 16 Mar 2023 13:53: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 1pco2s-00043I-6H; Thu, 16 Mar 2023 13:53:30 +0000
Received: by outflank-mailman (input) for mailman id 510616;
 Thu, 16 Mar 2023 13:53: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=hcJX=7I=gmail.com=alexdeucher@srs-se1.protection.inumbo.net>)
 id 1pco2q-00043C-Oo
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:53:28 +0000
Received: from mail-oa1-x30.google.com (mail-oa1-x30.google.com
 [2001:4860:4864:20::30])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ed13af3f-c401-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 14:53:27 +0100 (CET)
Received: by mail-oa1-x30.google.com with SMTP id
 586e51a60fabf-17671fb717cso2227436fac.8
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 06:53: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: ed13af3f-c401-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678974806;
        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=NT2+ny4p/vVYNzr7+EK2Lb0ixcwCh6elsP4Qy0BaT6o=;
        b=epd5FV2Fr1C10Z/wxi9lYv0/neUD0acFnvSabLSTeExSFzq6FBR61NtOkPotXxqduE
         brCR6NrGy0nAd/ZuhyIKajahPVWlyqLKTMcu3j3/sqDJ0y7fODXdqghObHQRhZ0sAl7/
         ZnhPjY9r35Rq38NPvoRNjbxQWb3S+hxnmRL879TrtuNbeUNfmGvOwOY/0+Iotuys2qWe
         1LzrE9z6D3OK6j0RYoTO+2S49ip5lo7CjgK/iSYsB+95/j6YZUTv1irUX4KELtY418GT
         /BmDr2RP90VZB8Smm2fWftkXURgg+guml2VypqebETidlIzT3EMc6J33Jn9ApovvksTI
         uHNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678974806;
        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=NT2+ny4p/vVYNzr7+EK2Lb0ixcwCh6elsP4Qy0BaT6o=;
        b=xFRFmzw88PS4wEWOajCK3x5BiLPw+CugZn7kLnPOiCYt2EX7JlsIWJfUWXEkgDo1M6
         0USlONh7zxXXBZVDB23eM1EfToPYyzZFszuuJVNudJtuSJNTnCWSeiunLsRvqlFHC73v
         h/1TvXtByHT7pFk2tX9diDS3VKj53S10h5eNT9hmsZ2hTjVGUdXvWb/ufNCXO+vSN+Ij
         ct3g1hfBz21/QIwQDynjW1ZwWOgDTgDH+tJQZh8doDyPdOPJJbelmfmCKC6qfHx5b6Y9
         SHHe1/9PJPl3P8igCHlEI7FNHMawgmnr9rHzcjYnEptd9uXCk+sNTWuoagZGN2mqjLxU
         Sp4w==
X-Gm-Message-State: AO0yUKWMvsq1uiB2XVwKnBewQdKIDv8lPgMKlVVViqnYBaP3pjWxPS0X
	pXGwwoHLjDY38YvHqpJGVzPqZUvw6990My3ycBc=
X-Google-Smtp-Source: AK7set/x0uSpr4lrBp0ShQSg5kgvHD9bjWFd3R0T4/YE3AtaigBfKP2+ZizIOyaqzSaC6IVNg0nCI15OW1QygajqbX8=
X-Received: by 2002:a05:6870:886:b0:177:aa31:79d6 with SMTP id
 fx6-20020a056870088600b00177aa3179d6mr7154168oab.4.1678974806677; Thu, 16 Mar
 2023 06:53:26 -0700 (PDT)
MIME-Version: 1.0
References: <20230312120157.452859-1-ray.huang@amd.com> <20230312120157.452859-2-ray.huang@amd.com>
 <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com> <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
 <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com> <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop>
 <5e22a45d-6f12-da9b-94f6-3112a30e8574@suse.com> <CADnq5_PH9ZqDqpPES74V3fB3NVpaexDoGTyu_+-zoux5vgagyg@mail.gmail.com>
 <dcb54275-b21f-a837-76bb-e19e331a0666@suse.com>
In-Reply-To: <dcb54275-b21f-a837-76bb-e19e331a0666@suse.com>
From: Alex Deucher <alexdeucher@gmail.com>
Date: Thu, 16 Mar 2023 09:53:14 -0400
Message-ID: <CADnq5_PpCWrZzQdE_X6ZnuNU3ktVeC6TbmE5vq3K6rCAdB8GTg@mail.gmail.com>
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
To: Juergen Gross <jgross@suse.com>
Cc: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Honglei Huang <honglei1.huang@amd.com>, amd-gfx@lists.freedesktop.org, 
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, 
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Huang Rui <ray.huang@amd.com>, 
	Chen Jiqian <Jiqian.Chen@amd.com>, Xenia Ragiadakou <burzalodowa@gmail.com>, 
	Alex Deucher <alexander.deucher@amd.com>, xen-devel@lists.xenproject.org, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Julia Zhang <julia.zhang@amd.com>, 
	=?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 16, 2023 at 9:48=E2=80=AFAM Juergen Gross <jgross@suse.com> wro=
te:
>
> On 16.03.23 14:45, Alex Deucher wrote:
> > On Thu, Mar 16, 2023 at 3:50=E2=80=AFAM Jan Beulich <jbeulich@suse.com>=
 wrote:
> >>
> >> On 16.03.2023 00:25, Stefano Stabellini wrote:
> >>> On Wed, 15 Mar 2023, Jan Beulich wrote:
> >>>> On 15.03.2023 01:52, Stefano Stabellini wrote:
> >>>>> On Mon, 13 Mar 2023, Jan Beulich wrote:
> >>>>>> On 12.03.2023 13:01, Huang Rui wrote:
> >>>>>>> Xen PVH is the paravirtualized mode and takes advantage of hardwa=
re
> >>>>>>> virtualization support when possible. It will using the hardware =
IOMMU
> >>>>>>> support instead of xen-swiotlb, so disable swiotlb if current dom=
ain is
> >>>>>>> Xen PVH.
> >>>>>>
> >>>>>> But the kernel has no way (yet) to drive the IOMMU, so how can it =
get
> >>>>>> away without resorting to swiotlb in certain cases (like I/O to an
> >>>>>> address-restricted device)?
> >>>>>
> >>>>> I think Ray meant that, thanks to the IOMMU setup by Xen, there is =
no
> >>>>> need for swiotlb-xen in Dom0. Address translations are done by the =
IOMMU
> >>>>> so we can use guest physical addresses instead of machine addresses=
 for
> >>>>> DMA. This is a similar case to Dom0 on ARM when the IOMMU is availa=
ble
> >>>>> (see include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect, the correspo=
nding
> >>>>> case is XENFEAT_not_direct_mapped).
> >>>>
> >>>> But how does Xen using an IOMMU help with, as said, address-restrict=
ed
> >>>> devices? They may still need e.g. a 32-bit address to be programmed =
in,
> >>>> and if the kernel has memory beyond the 4G boundary not all I/O buff=
ers
> >>>> may fulfill this requirement.
> >>>
> >>> In short, it is going to work as long as Linux has guest physical
> >>> addresses (not machine addresses, those could be anything) lower than
> >>> 4GB.
> >>>
> >>> If the address-restricted device does DMA via an IOMMU, then the devi=
ce
> >>> gets programmed by Linux using its guest physical addresses (not mach=
ine
> >>> addresses).
> >>>
> >>> The 32-bit restriction would be applied by Linux to its choice of gue=
st
> >>> physical address to use to program the device, the same way it does o=
n
> >>> native. The device would be fine as it always uses Linux-provided <4G=
B
> >>> addresses. After the IOMMU translation (pagetable setup by Xen), we
> >>> could get any address, including >4GB addresses, and that is expected=
 to
> >>> work.
> >>
> >> I understand that's the "normal" way of working. But whatever the swio=
tlb
> >> is used for in baremetal Linux, that would similarly require its use i=
n
> >> PVH (or HVM) aiui. So unconditionally disabling it in PVH would look t=
o
> >> me like an incomplete attempt to disable its use altogether on x86. Wh=
at
> >> difference of PVH vs baremetal am I missing here?
> >
> > swiotlb is not usable for GPUs even on bare metal.  They often have
> > hundreds or megs or even gigs of memory mapped on the device at any
> > given time.  Also, AMD GPUs support 44-48 bit DMA masks (depending on
> > the chip family).
>
> But the swiotlb isn't per device, but system global.

Sure, but if the swiotlb is in use, then you can't really use the GPU.
So you get to pick one.

Alex


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:54:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:54:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510618.788613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pco3i-0004Z9-I9; Thu, 16 Mar 2023 13:54:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510618.788613; Thu, 16 Mar 2023 13: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 1pco3i-0004Z2-FO; Thu, 16 Mar 2023 13:54:22 +0000
Received: by outflank-mailman (input) for mailman id 510618;
 Thu, 16 Mar 2023 13:54: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pco3g-0004Yk-V2
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:54:20 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0623.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b8178d8-c402-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 14:54:18 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6862.eurprd04.prod.outlook.com (2603:10a6:803:130::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 13:54:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 13:54: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: 0b8178d8-c402-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=buCEHxvfxECAy9kY/uILWEQluXAVZiY8Q908G0GWTQcx1dAvLAixs5GnSjTfnAvnT1ZAm6RV1AG2P8AufO5FPGgHZ3oYuq7MCSG+p+BGDDkm3+8l/pNtdzuv9RjPH1GUqoq4MaFv5ySEhN+Cx/LGb95oRGNuhk7gKFnEn/UpnV5w69kIp0+YuNP3wVPTkCO6oIpY8RArFiWH3ZCB5aZhjHLqOYglVKomKxZOw2oJrqvfEt88MzDz1lrOQ24r8Hhvk2ucl3O6FtNTj5Z22TgFXR8BwfeX7/XlVyuRusyiottBmDuyX1iAHeqE6Q8ZLKkEYhgbHId68tkzkjpPQ/kWVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wb17+LzZElRJyCFvA7B6zLYsmWnVZwBMBmAEEr+v5zM=;
 b=d4p4DlJloJ/b8MOdRZO5YbY/EkeDxf2Osmqy6EDokpaltue4TOBvGKtMCunAD86lIns8FqkcWv2EYL4bEotTcj1vJCvky9neFNW7lP21Ahc+WbpAOA99FDoI5jCAI3UUh1Kxr15rWqcnAVHDEQNoClMpm9oK22l8dDGxxPB3gOSvswaETh+xmA2jpmgOgY+8oICWaQQ37X1OMxEydIoNlIIfJXqhHv9i5GMk6rhPm4aMP+XeX9tjQmmgFIrQ6HF1wZ1VpHVjGCnm/9Y2QLX+sK95kUlVwXXWIi3X97xXLPjv087QP4Hta30TtuaQl9O6HLJhnXevO6IxR/DhaL/JkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wb17+LzZElRJyCFvA7B6zLYsmWnVZwBMBmAEEr+v5zM=;
 b=ZUlNt7ePjzlm+7IplArVw5vvmBBVC9v/qAXOICYIxfXP2j/J0weJUq3V6KU5ELfyBOzDpGrM7fQIL/E5zl9jSJOC5NRcFGvAj9ov3S4Nwc9/BYY92LIR7xFuC9HNoLkKHOIaE6eSg5QbBMRtuuJ37zFZj2jh9SgbEddmp2M8y2gPMr1cZt9vbS+zQhQQ9a97vKyDNgjX6L4mgmcGJyTqVpKJiaQAn9wLaVfqwZyY8B2q7LjYp3tWP+jY0D/ZJLPXkJaOLPPLZ9AB1m5LnuXjknyxeBEiHgfwmbFoBmYZHGeh66F4mzX890EkBpgtTTrTuj4heDGknm4FQKpddPIBoQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7cb02d15-05d3-ab40-845e-f124604c8843@suse.com>
Date: Thu, 16 Mar 2023 14:54:13 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 1/2] xen/riscv: add EMBEDDED_EXTRA_CFLAGS to CFLAGS
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1678970065.git.oleksii.kurochko@gmail.com>
 <2785518800dce64fafb3096480a5ae4c4e026bcb.1678970065.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2785518800dce64fafb3096480a5ae4c4e026bcb.1678970065.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0063.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB6862:EE_
X-MS-Office365-Filtering-Correlation-Id: f4f79e62-25bf-41d7-81e0-08db2625ee2c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SmitxhXytCWtKAel7DKPYXenSgVfxA1MPtVkfcLVmF8U8BjaboFkRVFyGNpt+Hpm7Fzf2UU+P756sdP2Eh7rvZcsn93Wv8+fIDLhIkrOuKR98SkVGPf//YQAzprMUjGma0vLdhLFj3gA3f+tX1wj6kXwB49FeIRvDglsD5j77VT2oJtMSKfz8XVQpZ7w02i1W9UiPtvpGJRj+wP+hDUM7O7peiCmt7lAOUE3inSU1KqNkiS2wx+0nrw5YV7Fm19f96thiEgaV2wh9iclzE+U+8EqAF/k5qLFdpa6d+pywk3eYtuLd1sM2NyzDppY0u8UvrtYTX0aRREwQfShZeeZndf44PCJQE51S67nQDCzzzhhPfg+yV2H+U6OGJ0/H7rWoQE63RxjRpNa4bfNMYNugElBPMDhNgJnwRt5WY7ZfUm/h++lCl+TGffYEQKRQMSj5+O27lJFyrBTocQwe3ec2R2s0MV0rzeT60DY0GKR8YPVEcOFQaCUgnH0947XyzQ3EnpnhgpDOPinNMPiNvlBYw/h6OBYUg7Nc4RIPss7wywy/qB0ZVTODkiW1SC39ogpOFCwv/m9+MPKe2hw5gF09RFwnMVJcj+BKUbkQa4Vf8O51S5aEFuSD1Ext1FmppYT7N4S8eAdWy+8MQ9nKLLaBhpEFdmpy+8lON9YcEdbsC+yq++Wa14RbdO+AiEWjIiiCvSfh3d5kZ3wJuUuLSn4TBa7eLHKicUNl0xifow9yjo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(39860400002)(136003)(346002)(396003)(366004)(451199018)(53546011)(31686004)(6486002)(36756003)(31696002)(86362001)(6506007)(186003)(38100700002)(26005)(6512007)(2616005)(478600001)(4326008)(316002)(54906003)(8676002)(66476007)(66946007)(6916009)(41300700001)(8936002)(2906002)(66556008)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bVFwbFRsRWQ4K1A1dnRlTnhUVTJsNTB4Zi9CblNJeGdTMmN3UENIVVNmaEkr?=
 =?utf-8?B?WW9ZWTNEQUgrUWQ1d0Vmd0RRN3puaVhCZG0yL2JmaCt0K0l0dG9GWDN0R0pI?=
 =?utf-8?B?aVJGRHJXMVpTYy94cXdOSkZYS3RWT0NQTk94KzFUQlhsVTVNSDNhcVFwQmtV?=
 =?utf-8?B?RE1HVC8xd3NldVhYcUpkZ1A0dm8wMFhreW9oODhpbU9GV2t3NDdKZlRaYTlh?=
 =?utf-8?B?M3dDckQxY3lYbGtiRS85MlJGM05OeiticmZDM0FDeHRwanBCNy9wYk4vRFpu?=
 =?utf-8?B?NlNPa2pwY3c0Yk1kMHQxUWdQaEw3UXJEZ2JuK3czemJhZlpxYjlPa3ZsZU1E?=
 =?utf-8?B?MEVZZUZSL2JBOFNPbkgvc2lvZ0Q1WHVoY2llb0RXZWw1YkQvTHo1ek9GN0pm?=
 =?utf-8?B?UzhabzlURmVrV2tlT0VoR21yY1VUYmZXTnZLQ0UzVnhPTjFRRGZCMjVIV1N4?=
 =?utf-8?B?a3JTVUsremF1SDZXSlZWZDBmeTBwenhGdXBSSFJsRmYrTVExSWtlNFBjM0V4?=
 =?utf-8?B?WmtJTHVXTGNkbk1ib3Q4aWlkS0JVbFlGM1JnaWxZZ3ZPaC84MFNBNi9lRFp6?=
 =?utf-8?B?N3gzbkxTZG5IOVFhQ21pb1Rua2Noai92bkEzMlNWNFFRRVZpNTZpcFNVZ0g1?=
 =?utf-8?B?RExIc1FPWDk0K1RkOFZnSVJYYnluYzQwdUdIUi9reWJRNWFrSlNoWnZQanVs?=
 =?utf-8?B?RitwWnRUWmc0dEhocUJlNldrQVc3OWVseXZRenFUWFJoZjc0QjBEbm5iL1Y5?=
 =?utf-8?B?RWppcjEyU3ZQbFdQWU5GSG1tTzFTa084YXdpK2dNbUsybUtNZDlLbStkSUxJ?=
 =?utf-8?B?U1dSTTQzWXZPS09ZUXg1eGNPN3I5Umd3L0daMk5HZzNsWDJrS3d5aGY0NDVH?=
 =?utf-8?B?UmFaa29aTVIxdFFvYWJZSHNhZHQwa09yaUw5WWJjYjhicEh2NDluM0xBaE93?=
 =?utf-8?B?SFJ0K3haSnlKNEF5WjIxMGc4dmpKQmp1WU05VW1BNzFJcHFDd0EwSGxFNm1M?=
 =?utf-8?B?aDNrRzBRYzF2V244Q1VQaC9mS0hBbkExVUtKL2dHR1Y4Vzg4VjZlYk5oa2Jx?=
 =?utf-8?B?SUovcENLTlVnTDZpeFVXazBnT1hKcVlhT2t1ZW1TNFpUMVRiQkZLSWNrUksx?=
 =?utf-8?B?SHNQZ3VkK2dFb1F1VjlSYUJkb1N5cExDYmdISkhwaGRVR3lPMjRYRmd6anJQ?=
 =?utf-8?B?S0xUWnhjazdxVVJxWUl4b1BTSkwrVW5tYWZjZk5uMWdYaGRBVGdZK1dsRHFy?=
 =?utf-8?B?WXpscy9zTllIWFMrNXJwR1dleDQvTFdueGVMcU1iL1hweWRPZXk0QTdHRUNX?=
 =?utf-8?B?TWQ4anViUGN6SjAwNFFFNVdkZCt1N0JEZnh5Y1BjWVgxSWZhSUwrcFlyNldF?=
 =?utf-8?B?cmxLK3lwVFNpQTA1ekdVS0F6bEZIcEl2S09EWC9CbG1pcTN1QkRDNHZPMmZL?=
 =?utf-8?B?S2NFTFdXNDJNS0dIc3pKZXIvclhzZ0Jac0k1K0o4ZitOYTFYT3AwVkVmQm9Y?=
 =?utf-8?B?OVJKNTJDc1ZqRksydGRnWHFkY1VpbmhEejE1bDJVU3lmWWdNT0swNWhMRjAv?=
 =?utf-8?B?eVdzQldaOWhIUkZMa1EzeUs1andMaktiMVVCdWQyTi9RNHJRZVN1UWU0di9X?=
 =?utf-8?B?SzNtRVhEL0VoeTZFUyt2ZTd5aUFVdmJiV2cveEFCcnMrTUUzSkZiUUw2dU44?=
 =?utf-8?B?ZTRKelJzRjMvR2NKUU9pYjIwR1M5U3EyT2phVzFEcHAxaVltRXlhWjk2REJK?=
 =?utf-8?B?TVYySGNYc1ZSUjhCZHhGNW5jV3FXa1lrQTBqM0VKK2kvWkV5U05UUTZCN0to?=
 =?utf-8?B?bU5PNVRrVmNWNmdObVcwaGRkb09uK21lTjRXMU1iZTJBNzk0cWZEVVcxUmxY?=
 =?utf-8?B?WXRjSW5TbXZ2cFd6eHM3V3BZeXhydFhsZDNqVkZEOVlYUW1nRXVjRzlYZkpC?=
 =?utf-8?B?dVhwYXhET3dxS2lzYzFJc3k1U2hlOFZiRzkyb2VBdWNCL0luOFcwS3o1UnFl?=
 =?utf-8?B?RGJheUFzeFY2WXYvellwOE8xdWQ3OGZVV3ZkRWNIeU1PV1hWdGJmZVR5Qnc5?=
 =?utf-8?B?RHl0WjBxc2hpR2VNd2c4ZXA0Ukord0ovYlFWREdMUFFLNVNpTVlGSUZMSHBJ?=
 =?utf-8?Q?Zc5O0qMoz7eTNS32+/bHaQ1F+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f4f79e62-25bf-41d7-81e0-08db2625ee2c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 13:54:15.6003
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DJKYMNZhSIwMKQyiIIw/rHSyfZ3LqimBBvDDi8BwJwP7x2iag2YoeK3XrFQ+2OZ2n492qaj1mCiVOXIa6JIkQg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6862

On 16.03.2023 14:22, Oleksii Kurochko wrote:
> The patch is needed to keep all address of cpu0_boot_stack
> PC-relative.
> 
> Pseudoinstruction 'la' can be transformed to 'auipc/addi' or
> 'auipc/l{w|d}'. It depends on the .option directive: nopic and pic
> or compiler flags.
> 
> Right now, 'la' transforms to 'auipc/l{w|d}', which in case of
> cpu0_boot_stack[] will lead to the usage of _GLOBAL_OFFSET_TABLE_
> where all addresses will be without counting that it might happen
> that linker address != load address ( so addresses inside got
> sections will be relative to linker time ).
> 
> It happens becuase the compiler from riscv64 docker compiled with
> --enable-default-pie:
>   [user@49295ae49cbe build]$ riscv64-linux-gnu-gcc -v
>   Using built-in specs.
>   COLLECT_GCC=riscv64-linux-gnu-gcc
>   COLLECT_LTO_WRAPPER=/usr/lib/gcc/riscv64-linux-gnu/12.2.0/lto-wrapper
>   Target: riscv64-linux-gnu
>   Configured with: /build/riscv64-linux-gnu-gcc/src/gcc-12.2.0/configure
>   --prefix=/usr --program-prefix=riscv64-linux-gnu- --with-local-
>   prefix=/usr/riscv64-linux-gnu --with-sysroot=/usr/riscv64-linux-gnu --
>   with-build-sysroot=/usr/riscv64-linux-gnu --libdir=/usr/lib --
>   libexecdir=/usr/lib --target=riscv64-linux-gnu --host=x86_64-pc-linux-
>   gnu --build=x86_64-pc-linux-gnu --with-system-zlib --with-isl --with-
>   linker-hash-style=gnu --disable-nls --disable-libunwind-exceptions --
>   disable-libstdcxx-pch --disable-libssp --disable-multilib --disable-
>   werror --enable-languages=c,c++ --enable-shared --enable-threads=posix
>   --enable-__cxa_atexit --enable-clocale=gnu --enable-gnu-unique-object -
>   -enable-linker-build-id --enable-lto --enable-plugin --enable-install-
>   libiberty --enable-gnu-indirect-function --enable-default-pie --enable-
>   checking=release
>   Thread model: posix
>   Supported LTO compression algorithms: zlib zstd
>   gcc version 12.2.0 (GCC)
> 
> Looking at gcc spec file for the RISC-V architecture:
>   [user@49295ae49cbe build]$ riscv64-linux-gnu-gcc -dumpspecs | grep -i
>   pic
>   --traditional-format %(subtarget_asm_debugging_spec) %{fno-pie|fno-
>   PIE|fno-pic|fno-PIC:;:-fpic} %{march=*} %{mabi=*} %{mno-relax} %{mbig-
>   endian} %{mlittle-endian} %(subtarget_asm_spec)%{misa-spec=*}
> which means that -fpic is enabled if none of the following options are
> present on the command line:
>     -fno-pie
>     -fno-PIE
>     -fno-pic
>     -fno-PIC
> 
> That's the reasons why 'la' is transformed to 'aupic/l{w|d} GOT' and
> not be dependent on the toolchain used.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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

There may also want to be Suggested-by to both Andrew and me.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:55:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:55:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510622.788623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pco4i-00059S-Sw; Thu, 16 Mar 2023 13:55:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510622.788623; Thu, 16 Mar 2023 13: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 1pco4i-00059L-QA; Thu, 16 Mar 2023 13:55:24 +0000
Received: by outflank-mailman (input) for mailman id 510622;
 Thu, 16 Mar 2023 13: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pco4g-000597-UN
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:55:23 +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 2fc2e5c1-c402-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 14:55:21 +0100 (CET)
Received: from mail-dm6nam11lp2170.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 09:54:56 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ2PR03MB7112.namprd03.prod.outlook.com (2603:10b6:a03:4f7::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Thu, 16 Mar
 2023 13:54:52 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 13: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: 2fc2e5c1-c402-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678974921;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=Eb8XUavrPgw5Lpj9biondHBcHdfVcMQAcEo0282qrFs=;
  b=MDWny+R9u2/3UTFFlWq0b7pSKOyxLyQg3zEaVDA+57quhVPaT2XLQB56
   Vv3zmjOa8TkEFwa8AAf1rbF1szGgU2aiEA38Ds2KCvfaZ8qPYZVNXen9H
   dt3K84sdVEnObOqbiStRqDVDmRHvXOPrDOYxEmSPdMyiBGy9tNU+5I8Cw
   s=;
X-IronPort-RemoteIP: 104.47.57.170
X-IronPort-MID: 101122314
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:jAI+ba2lp5PjhtmkjfbD5T5wkn2cJEfYwER7XKvMYLTBsI5bp2QBm
 jFKX2yCOfuOYmSjeNsjbIjg8kIP68OGndVqGwNvpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdnO6gU1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfIEVzq
 98yBDUxVQ2N3vmcy4v8Uu42mZF2RCXrFNt3VnBI6xj8VK9jbbWdBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvC6Kk1QZPLvFabI5fvSQQspYhACAr
 3/u9GXlGBAKcteYzFJp91r13raWx3mgAd56+LuQ7e96mwWrlkooOjo4X16gpLrihVyQcocKQ
 6AT0m90xUQoz2SVSd36Uwy9sWSzlBcWUNpNEMU38AiIjKHT5m6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnp+Wpz6vPSkeLUcZeDQJCwAC5rHLopw3jx/JZsZuFuiylNKdMSrr3
 zmAoSw6hrMSpc0GzaO2+RbAmT3EjofNZh444EPQRG3N0+9iTIusZojt5V2F6/9Fdd+dVgPY4
 yBCnNWC5ucTC53LjDaKXOgGALCu4bCCLSHYhllsWZIm8lxB5kKeQGyZ2xkmTG8BDyrOUWW2C
 KMPkWu9PKNuAUY=
IronPort-HdrOrdr: A9a23:iKYs4a5HmeTALl2ZeQPXwDjXdLJyesId70hD6qkQc3Fom62j5q
 STdZEgvyMc5wx/ZJhNo7690cq7MBbhHPxOkOos1N6ZNWGLhILPFuBfBOPZqAEIcBeOlNK1u5
 0BT0EEMqyWMbB75/yKnDVREbwbsaa6GHbDv5ah859vJzsaGp2J921Ce2Cm+tUdfng9OXI+fq
 Dsn/Zvln6bVlk8SN+0PXUBV/irnay3qHq3CSR2fyLO8WO1/EiV1II=
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101122314"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KHBbqZK0d+lMeK2sDxEhV5VgWgdP72mYrLpbzgS4WeT0S4Dg1cas3GyzOuHbFlyu6s4UGsoktwTdVCLOieesMyU4ixdqWeP/aIWnbZ2AKhDC1yk2/VUXkF5NE2hwekrEC1jCD8yffGw/3IBmvH3Y1BBEmi2pdmpTKkTMe5/QBy4lWwxp5wDd6TLR4F5sokYurPSmF5jBrQ5760EHe4m/hBSZLUEYerO/4mlBEdoRMao1ou58csGgOtA76ARcpQBHDNfIximSIr24cJlf1R1ACynOgKyZ3WSKmXgfTh0ugfoSFaJOVJKTyevnW70AeejKxP05bj939ipvzxuuMpvS+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=y9ZW+mhCQ5QSmZ9Jx0EC2aHMzN5S3uJ6UWnJzJkSE4M=;
 b=Vcmbl8mHXLfBJRz7ImBc34UAnKCb1MQvihwAlVNuDEWm3SUYSk1Enz73uXrGMJ/V4EkTf2PmMJlX3cF+3kht9CjX8WWbOJViOH3/n3T4aue9pdA/m1F2rFF+8uy5ugAD8VM9eoAL3FndZuIyCkZGEOvz5iaQpZ2jOyzR0gRYB1b9E79ZaVPx5ct92pkGscGajulW1vix34sqNIrECeDu80qOS16dzCufV0+fJRNGLwPJkWRq0PhbMauP3ekht7T6DI5cGKi7ULXNq2utCbF2h2Nam2gpiN/yAPct1AGXmZ3AQfUYLdebc1Fe9GMaRUyBLMceZwdj581w0AyUlvRzLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y9ZW+mhCQ5QSmZ9Jx0EC2aHMzN5S3uJ6UWnJzJkSE4M=;
 b=EL+nphCEbae4QEn+YD4wtYtc8U2PRVjRczD5oRLsmb0ybuv9lutCs8sJwnAfqOhtKfQUeS7pehJW4v238BqUK4QhkgwmoNEwHKgoNktIq8agda3fkEjXMfUL9pPjRrDBs5uAEBK7MdpfBgyHzFYho+u3OJxt3Vxg7192GjOyiBQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 14:54: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>,
	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 v3 1/6] xen: add reference counter support
Message-ID: <ZBMfpnzW4YdqEiA0@Air-de-Roger>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
X-ClientProxiedBy: LO4P123CA0059.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:153::10) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ2PR03MB7112:EE_
X-MS-Office365-Filtering-Correlation-Id: 7b2fff85-e481-414b-3e59-08db262603be
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qaUcVAg9edrCmLJ4rVaq4b2Y8A1akkkd+8xmHjw0o4jRjhqFeMc3vrfTlwnJ2pTXdS30QXxZB6uCevyeKsZLwUnzL9j0OSNgJ8ULt7nzsTCq9yKweDFNuZi0efZA1U3RiKVhlUgCN5J4vhfpXDC/64gY5Pkok2xS/Uj7u9cERW49GYehy8iUdUB90EnlMLfsYOWzAUsRm/fPoMmhZcKrKwdIwnsi19t/lgBSJbng2U/0R0dRCcLaLSRatG9wgT5V1NGceimbGcrSu8NisEBCtLa8Npr1Xf1SpFEq28iXQaf5Kr3JBfAV39/hUbYdIt6LGozFxR5kn/R+DmE9bTWxtUKXgXQ025dqZ+z4pTfTloz1edHRTyP5DGJa3Kv1W814vN/2zlTQVivfUK8PoefC8vdJHKtcwX8VTRrTCkUj2cczi+BMgyV2bQ6+RDUVx55jlCLUnhDw8fj1+z8UjcjK++YWX0t8KTQGbeQb7T9EXvU+ryaQOQsU4cOItF72DgO5QbN5dWn6BFhq1eUzGME51ZPyFzpr4FSTBEGcYyZ0Z56/0rDDFITtc0SH9Ow2PpeNI+o6MNFUgr2x/mgdKf7b47y3GSmYFQP9wpooEVRk37PPe9qy6C6herzUHv4qLvJHWQvfV/Cal3A3WTj41yIqRQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(376002)(366004)(346002)(39860400002)(136003)(396003)(451199018)(38100700002)(86362001)(82960400001)(85182001)(5660300002)(2906002)(41300700001)(4326008)(8936002)(33716001)(6916009)(186003)(6506007)(9686003)(26005)(83380400001)(54906003)(6512007)(316002)(66556008)(8676002)(66946007)(66476007)(478600001)(6666004)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NVJpc0xvZWIrV3M1MHZUK0luenF1a3FLaGJMelZDWFhiVEpoZk9tSkplNVh5?=
 =?utf-8?B?S25iYS9hK0cyN0k1enBab3FJN1d1eEN3ajl6QXNvNFhEeElRYkJ2Mzd2R1pM?=
 =?utf-8?B?THZ5U1o5d3NxUjBHQVkxZzVUNXM5eHV1YWJkajJQWGliRzFlVk1GaVU1RHdY?=
 =?utf-8?B?bEhhYkZKQjU1clVNdnY1djk0ZmxjaHUyd1hvWnRyUmdCQ1hGdnZQc29rc251?=
 =?utf-8?B?dUxpWFB4Y3dITjNnMnYzeVFXQm1VL0dwV1VMd0VtZ3NZTWdsR1VISVNwMHNP?=
 =?utf-8?B?TFltMEpXeGI0Rkx0RkpxTTNxZUVaRUJnb3RGQjJWVDFpSkpsVFhpZzhROVY5?=
 =?utf-8?B?VXRkUDI5Tm9BNlBxbFFRZWpvd01uYS9ZN0YzRXI3YXk4anZ5MEFzMFpVMHZQ?=
 =?utf-8?B?U2tCNnFHRjIwQit0cU53YTV3ZU9xSVFZcmozRHJRemVWOEtBbi9zOFBDQUlT?=
 =?utf-8?B?T28wSWpDR0VDWlA0cW9kOGNsNmZFcXBGRTlFZG9CdmdLVWFxRGVGZS9oaEk4?=
 =?utf-8?B?cXcwdWdEWTlwWTF4Mm5UMUMxdGxDSWJKL3N0YmIxZFFQZ0h6T255czJGOXRl?=
 =?utf-8?B?ZmJOb2pHMWE3Ynoyb1BLMDVMOWgvTnA2ajJqa3J4OWhtdzlMK2R3bDlLVE9K?=
 =?utf-8?B?dU5kcDUwaVJBQ2JxaTdzVVNFS0pQdHF0TyttQzFmVU10SkNIdGRLQ2pXUGY4?=
 =?utf-8?B?NkNZYUN6dGlaMW0zNXRpUHEweFQyMHZaOEg0ZE4yQTlEVW5wSGxJclRBUGh3?=
 =?utf-8?B?SzNZbXFFRlRCMUlnN2lqdkRtUEZiWTJqZWxVK3BmRjZJRmFHV291eCtwY0Ro?=
 =?utf-8?B?VTg3SklpdmhjZU04SkkydGRJRnpwSE95ZEhWemJPNWlnL2dpbmtRVXdwNXI2?=
 =?utf-8?B?UFZYcldXeVR1RnlBRnM4S0h3ZzVLSWVmdGRqdlJDRVBaRzZhZGU5UkVMRE1H?=
 =?utf-8?B?ckJIZ0lWc2hxVTdoRmgwVmR1ZGlwWVFmU0ZVYmg3ZmZjN015c3pZS2RzMkFZ?=
 =?utf-8?B?YTBzNFp5M0oyVTF6Z2hFMnB0V0xOamVVMUFLZzMrRzNKQjZQaEZ2ck9TdXlB?=
 =?utf-8?B?SjUyYjVoVVNiYk9taWJmQUFqOUp0amxLdUFOR0RiL2d6K1hUOWdaRThndGls?=
 =?utf-8?B?NVoybVdmY1ovLzU3RUpCVmlmUVZJTkFXbFgrRDNVZ0FOdmk5S0FsSEtpOXQv?=
 =?utf-8?B?ZUI1amVvYXgyZ2hiZ2ZGM285ZDJpcW1zcDh4ZVk0RGVrb0pDR1pLRUw1dUs4?=
 =?utf-8?B?N1dDZEV4V2dLZUN3NGFWazdBT1dRZ0RDaXdFL21tSVNYNEZFVmxCLy9tTTAw?=
 =?utf-8?B?U2FVQXZsOThSeVFHVGN0bzRjV3ZUbEJON0xUYjBlalMrZ0VkUlI3SGk1U2pU?=
 =?utf-8?B?ZGJkOEJDQThtQUE0VGVJQXRWeng2MXZ3a1lMbmN0dmI4YnJGT01lRm9lOVNX?=
 =?utf-8?B?YXY3WnFURE1mUVphOFVWUm5jNkhWVTBaY0tpNTdSVGJPcUovMjVpaXdvRXhT?=
 =?utf-8?B?bUFDeWRzK0NzUlMweEJPaFhSYitPMndwbjEwQnh5aEtiYTg5eWM3RERyR2FV?=
 =?utf-8?B?ckJPcXQwMFhiLzluM0tHODI4VHBYWnN5UmNKNHk5bC9GR1BnNkduVFEvSXJx?=
 =?utf-8?B?cHMxb0J0VndWZ0pJMWRyekdMZ2lPa1ZWVVV4MjhHK240eDhpQkxnVEVrdWFR?=
 =?utf-8?B?dnVCTjFDMVpJR0JWWHpGUUZ3dHUyU25sV0prNWcyMWVkWk5iWi9HTDEyaGxt?=
 =?utf-8?B?N3FXYi9mdTVhMGFOZDBNcmlabHdCNmt4VmdreThWV2ZSd20xYlpEWlo2Rnlr?=
 =?utf-8?B?ZTZjd0RXeEpuazducUE5YlJrTUJ2U0NmMEx2eGVMQXdhV0xiMnFtRU9uc3Zt?=
 =?utf-8?B?RU9RT1lsTWJnT2N4eFVCejhUZVRTTDhpK2xsQTJlTzZJZWovR0FjMFM2dFhy?=
 =?utf-8?B?MC9VaHJ5TVRlTWx4eWUrUGR3WUNuNnpvQk1kdlowTDRGWXNHTDdYZ3NyZTVI?=
 =?utf-8?B?R0E3eExlY00xZjBLQVNDY3dhcTdtM2pvdDJzeE1ra0hMcGczZVQxejZqeVlO?=
 =?utf-8?B?b1paUHdvYUQ0d1kwS2ZXaUVGSElPR1JyZnVIK0VPTVJuVXR6NGJQMlJwcjJl?=
 =?utf-8?B?WHFLTldMZTY0dXVaNTFmYlYxK1RiSFQyZ0ZJajUxTTNyZmUvdldKdEVwTDZn?=
 =?utf-8?B?WWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	SvtpcwtlMg1rAx8RdrcPLxMqHJOYt8/hBDQ6/qpLEiVK5yx6T+0U4U7TXWiH18FpMRWhjfKeRCaNi0CL49s5xBiZ1oWxSFAAPg32IfhAAxe7jdsIpyT1LbFRwc6YiyViGupennNNwzjvHXkS0JoDJQIeMn8vI44KiaEKuCU5J+8xcCVA874bVcJUgCDXCU7tNOZ5uuUJjDrVXYU/azG4WNOC3MUW95vDrpQDfT/YTfcM6e/Apma3D0RW7+VBb68eUerH7LTkQ9HROjGJchr/wA3DvrOWPm6MlJlj5tnrHmZyoRHzipWm1i3Ij7HzsRayKzmBRxvoylav9iiOyoatIa4WABUysh4R+/L9AWm1aMwjmUeeUNRhBVjl8TNMwAlRG54nIKSVYNmY7hA7PjVFDu6jE3wqFapTD875Gx8jQmCjq7oV33bW9bosaBxX/7jgw7VwZ5szfOZz0mErdaGEZ4wXOOhZi55QlV59hicmB9tHhW9iYKzx3uznLcc1iibBYZdhz1OQqLtBwPPFq7yTU/2dwVwwBxPjFGfNrk4znRJMTCLjUpxwRNso6kVmXqTYpXtU0E318N0O0FHi8vd9qzwaFGJkZoNngGx90EWTinp2UYAHKGpCaCORvfxMZgGvmds08zHIO3KJLXJeFIn2eEPEGevUUvefrbLm9nstO4lBy1VT1aAfTAJq1fz7kElQCVYZsD7pY+7TjGMt8xCaxF+PSay44RDny8djecs0QUUHVYXeDCcVHu++IhqcRwvP4R5BHZiURRpW8h4pLuoEbZxpYPmzq204G5ZF/OQUzvda5EHtwBxf95qZXh32VwEWYT2ddt5UmcxwAHMrfUV0M+ghnaVrq90b1bVSA73XI52HN665fahraurv3fSluqep
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b2fff85-e481-414b-3e59-08db262603be
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 13:54:52.0218
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pp9fwcOeSgLtNmZhrdjviej/VLbYqgqBlz54oB9cOoJ+eBdb+xoV4/S0rg0MI1JgYb4h6THmSvQdE97pyn6vUg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7112

On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
> We can use reference counter to ease up object lifetime management.
> This patch adds very basic support for reference counters. refcnt
> should be used in the following way:
> 
> 1. Protected structure should have refcnt_t field
> 
> 2. This field should be initialized with refcnt_init() during object
> construction.
> 
> 3. If code holds a valid pointer to a structure/object it can increase
> refcount with refcnt_get(). No additional locking is required.
> 
> 4. Code should call refcnt_put() before dropping pointer to a
> protected structure. `destructor` is a call back function that should
> destruct object and free all resources, including structure protected
> itself. Destructor will be called if reference counter reaches zero.
> 
> 5. If code does not hold a valid pointer to a protected structure it
> should use other locking mechanism to obtain a pointer. For example,
> it should lock a list that hold protected objects.

Sorry, I didn't look at the previous versions, but did we consider
importing refcount_t and related logic from Linux?

> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> ---
> v3:
>   - moved in from another patch series
>   - used structure to encapsulate refcnt_t
>   - removed #ifndef NDEBUG in favor of just calling ASSERT
>   - added assertion to refcnt_put
>   - added saturation support: code catches overflow and underflow
>   - added EMACS magic at end of the file
>   - fixed formatting
> ---
>  xen/include/xen/refcnt.h | 59 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 59 insertions(+)
>  create mode 100644 xen/include/xen/refcnt.h
> 
> diff --git a/xen/include/xen/refcnt.h b/xen/include/xen/refcnt.h
> new file mode 100644
> index 0000000000..1ac05d927c
> --- /dev/null
> +++ b/xen/include/xen/refcnt.h
> @@ -0,0 +1,59 @@

This seems to be missing some kind of license, can we have an SPDX tag
at least?

> +#ifndef __XEN_REFCNT_H__
> +#define __XEN_REFCNT_H__
> +
> +#include <asm/atomic.h>
> +#include <asm/bug.h>
> +
> +#define REFCNT_SATURATED (INT_MIN / 2)
> +
> +typedef struct {
> +    atomic_t refcnt;
> +} refcnt_t;
> +
> +static inline void refcnt_init(refcnt_t *refcnt)
> +{
> +    atomic_set(&refcnt->refcnt, 1);
> +}
> +
> +static inline int refcnt_read(refcnt_t *refcnt)

const.

> +{
> +    return atomic_read(&refcnt->refcnt);
> +}
> +
> +static inline void refcnt_get(refcnt_t *refcnt)
> +{
> +    int old = atomic_add_unless(&refcnt->refcnt, 1, 0);
> +
> +    if ( unlikely(old < 0) || unlikely (old + 1 < 0) )
                                         ^ extra space

You want a single unlikely for both conditions.

> +    {
> +        atomic_set(&refcnt->refcnt, REFCNT_SATURATED);
> +        printk(XENLOG_ERR"refcnt saturation: old = %d\n", old);

Should this be printed only once for refcount? I fear it might spam
the console once a refcnt hits it.

> +        WARN();
> +    }
> +}
> +
> +static inline void refcnt_put(refcnt_t *refcnt, void (*destructor)(refcnt_t *refcnt))
> +{
> +    int ret = atomic_dec_return(&refcnt->refcnt);
> +
> +    if ( ret == 0 )
> +        destructor(refcnt);
> +
> +    if ( unlikely(ret < 0))
                            ^ missing space
> +    {
> +        atomic_set(&refcnt->refcnt, REFCNT_SATURATED);
> +        printk(XENLOG_ERR"refcnt already hit 0: val = %d\n", ret);

Same here regarding the spamming.

> +        WARN();
> +    }
> +}
> +

Extra newline.

I will look at further patches to see how this gets used.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:57:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:57:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510625.788632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pco67-0005lt-Ax; Thu, 16 Mar 2023 13:56:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510625.788632; Thu, 16 Mar 2023 13: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 1pco67-0005lm-8M; Thu, 16 Mar 2023 13:56:51 +0000
Received: by outflank-mailman (input) for mailman id 510625;
 Thu, 16 Mar 2023 13:56: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pco66-0005lb-5k
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:56:50 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2060d.outbound.protection.outlook.com
 [2a01:111:f400:fe16::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 64c8721f-c402-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 14:56:48 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8931.eurprd04.prod.outlook.com (2603:10a6:20b:42e::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 13:56:46 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 13:56: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: 64c8721f-c402-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KTKeEOVhkPLGH6pGl7Ptfed8PqPkC+ZyBnw6vOQYbFZNfjjHL66/13DdPBuAvhKUJhifZH+m1r3YMJZqVxVbjCIyk+/ziZx6ioMeM4l75NgrhVQCd8HuxkuFFKjRhkfI8U7l85hVigVwoteBkf14w+pAcxpUJqEtbLq0yPCfoj2Ef1itN3ZG0wTQuomdPNFWuz2JGnU5FkRda2nZRwfuT0xljsrLgQpU9PmifXpCSyVJLqmGN7djyOmjDacuwPJReP4HHzOtAuhl4MC1O62mpzli/xyF7sQsdND9CmwkhJr/gGtxAzDY7AWKFfp6yIzA2QywwbRmJ+9aFoRFfOZiWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bjS3oVBNLLe37oSqFfjO2JRnUC3iQ34f+tPKUiqTF4k=;
 b=ACkYJKsvlH4QbETe+oAeEePtRlWI7w8t3iwiHlrcXvg5UEIOniP3xC4vnTkah6zD1hx0NCX3coLaQ5OsHHdf4aiNY61/ZB0HslJZneLA8GLFV/3t7G/XfiFXghrlsDDGsdGL4SXOxvlXQ4CHE86saJ3t6V5KURV0MoB3+oEihtTFKgydMdLl2vjBCfykG8MwEdegC1TfK47PbW1ra+KxCXZzuNWalUTmjBnNJEpr5ywQVHS3oOomIwb/U7LSB1zFk1OxUHqgVd4RKOsexSIe/7yRqb/7IQtCwxztl9TPICHT4WaToMae+A0ad77Lo/KYQsHDfLPHM6OYUDHAfAqX8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bjS3oVBNLLe37oSqFfjO2JRnUC3iQ34f+tPKUiqTF4k=;
 b=lpAedubPoY6wmq0xI3mNbB+3tYLiUw0W7DKLyMrHzVyEstxuIaWeDuK5m2uvYKMEQpGzbqejlcSNCexsPeZjHopBaaCm138rfw/RgPzQffItuBFeBPRmtv4FdwN0RCZOC/XpvF3dpIPLQ6nPY1RwKsnOUNWcRARqykpszwBf7+EBNHAsu2H27kweAN3dXaau64LRZeHD6t0q0R+nIN7PqdPNgzcTfc7t0n4Q9ABSGPNctJA8drr6AMxZf/eLv+8c7XkZnqXPAEhKuaHjAf9u0bPZdr80TYIrgy9Ly2NGbwtA+wW4JzlycQhngLy7Jiln01X8EjDjqiIT1wsFXVH0yw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <040b0c18-8299-7c83-1541-13e976cfaef2@suse.com>
Date: Thu, 16 Mar 2023 14:56:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/2] xen/riscv: add explicit check that .got{.plt} is
 empty
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1678970065.git.oleksii.kurochko@gmail.com>
 <7c066d6dcc0618749df04785b34b93819148087d.1678970065.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7c066d6dcc0618749df04785b34b93819148087d.1678970065.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0016.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::26)
 To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8931:EE_
X-MS-Office365-Filtering-Correlation-Id: a0f70e98-1181-401b-e6a5-08db2626481f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	R9hzfvurbppySRoGgz+U5vzz/K10mpxrYG7UWtDsnBsVWpH7/fsldnjWrgLXRGMbf3aFgzvY13pqkr5hWzuSbrD8JdRfQ51lEib9MSKj5iSYidjQ+LPE+xEsPwHgtn3W3TGpoeaxPi8kO/tkbotRpS1vtjEPOj+aCSn+bs+S4/3erVTmoyrh0Am9syf2iXTPcYQR0E7pBNBgkZWI3H6u/mOZHRI/+B+0ORXLYHibhvMhtRSL3FAJJv6mNU+oOOwTD28VZcHMzmc84WikkQGfYG3uR95rGhX11eEoJItrqSDS5Fd8D93x7h/ghwx+vZqP4hUAf22A4XXr0XWppZbynVR9iwl4Y0eIJbViBEFa6kSjlT8q4hvlWIjbW1nPaPnAK98uGhpypuep5Nz1FRM3mVfyvDAgbxXctG/0C3W6nzuj+5kOSvSJRHen6RRBROPts8rSG3suOVeOylLjQ39im9ePBb5ZX4gKCgS8ZT3M3q35JBcpyKYXqXUMP04FecMvLOmaaX7VQVVvgpLvYNEax1ujvCbR6SVkEVxRmCuGR66fp6egk2t6fXMjj4liBVos7d74mITQi51q7gg59HDC/cpiD0/gXR/z/EBj0Xcu7H4qLHo6gGKhoMSEdE0NdeSM0r+BR1iwzKAJECCRxJs29XvDVqYHeP2x7xMvAfwAoA5qSsvhGlRfmjHgr2wjIMCPj7kHk3hsVK8k3yJQG/KTTFs56fp6AZocDUtGmGEaGotXULoh0AJI+6RH+YFY4Lv5bvwfURqlSTpn7aK2mfd49g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(136003)(366004)(39860400002)(346002)(376002)(451199018)(6666004)(6512007)(6486002)(83380400001)(478600001)(2616005)(26005)(6506007)(186003)(53546011)(38100700002)(36756003)(31696002)(86362001)(8936002)(4744005)(41300700001)(5660300002)(316002)(6916009)(66556008)(66476007)(8676002)(4326008)(66946007)(54906003)(2906002)(31686004)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Mk9sQWFkV05VUlR5anAzY0NPZnIxeVdma1R4bDdHYXhWb0RneldDQVhYcXl3?=
 =?utf-8?B?Z2R0NHhXUmZON1RCMjAyRW9yVDJaODdyUWhyOFRrV2trZFJrNzVlejd1M3du?=
 =?utf-8?B?bmtNbUpRNC9UWHVKR3lzRWRjOEIrWkZBeWh6eHF1Uzc0dldNa1RDVm9yZ2h2?=
 =?utf-8?B?ZEU2NFNocjQ4elFaamN2QkQ4dW1nQnljazV5U1dsWEtaS1FjdDZjcWtQd3lM?=
 =?utf-8?B?NytNWnpFR0J4UFh6eVNtUi93dEorbC9hRGtZTkZCK2t6VkFTbUFLdVFTbmN3?=
 =?utf-8?B?TzNZbmt2YUhTYkQrTHJLM0FNbVUxOHl0ZjMyZzBmSFF3bUt6R0RyVFhzRlNu?=
 =?utf-8?B?RVF0U2Z3NmRPK0JOV2lURks3OHFZdk5EUi9UZFhNSTZRRlAyODRzKzh3d1Ev?=
 =?utf-8?B?WWtiU2gramh0YVNMZ0ZKb1NBdlE0eGVIVnlrcnV6Tm4wUnpPbHE1OHRQS1dp?=
 =?utf-8?B?UEpFdi96eVNPMXhaT1V3bE5kSDRTS1dOODZYVTBNRjNVMjZodGNYdWc5Kzc4?=
 =?utf-8?B?MEpiOXQ2UkNLbVgwMWhNWUcrdHhpN1RRRksrclBjbGF2QmlKaFVELzZ5aHBa?=
 =?utf-8?B?Z1FEVTJ2R2pRcXQ1SWdWbEJjZHY0cFl3c01lclVZTWVkTnp0VURIUUYvVkFz?=
 =?utf-8?B?N2ZuZmJvUURlSENoNTJoOGhsSmNGSU1ONkJtTFkwMnBneTNnaHFkMFBucWhU?=
 =?utf-8?B?enU0VnlLTHZrM2ZvUGg1QXcrb00xY1BWdk01cE0vcExTYktraFRMZUNNL051?=
 =?utf-8?B?SnhjMXUxT0x4ODJUU1VZcFE0NFd6ZmxFSlk1TmQvTDRqaU1iZ3QvV1BSdjFk?=
 =?utf-8?B?VldBWDRra1ptU1YwUjUzOVNJME1pcGFVK05EMjV0SzVnK1lOMndzV2JIWm81?=
 =?utf-8?B?RFhKUzhMNlRsYTNmQTBkVkR3R2FPZUkzQThQb2hxWU4rWUVZT1NwaTBzZCt6?=
 =?utf-8?B?Z1ZLbEJyRWtmb0puRGhVU2hZQklydUpvQnM0eGNleldFSFBzUEpuVVJRaWx4?=
 =?utf-8?B?TUVPRW9jaUF1VlZTUEFVZ0ZkYUppZHoxL3BWV2RRMy9wTGJOUmtDdWJlRm5V?=
 =?utf-8?B?WWlSaGhYSnRQV1lCSlUvTFIydVh3MUNUOWJRSWp1VEF1RWJvdERXelM0RGZI?=
 =?utf-8?B?Q0J4TkdtVjBCWnlKWGtHV2pBNXdBems4Q1IrODgyUW40aG9vWHBKZTJsZmpF?=
 =?utf-8?B?OG1LUExtZ3grczJMNk80SlJNdGtPNkN5a3YzQUNmNVZYT2ZwOGtkOUVQS1ZC?=
 =?utf-8?B?N0dtZVcxZnN1NXMwMlNDZDFGZ0JiWTlGelNFaGY5c2NSMFpTb0tjLytKUEth?=
 =?utf-8?B?a3lIZ3RWV2dJS0U4bWN6Y2ppQ1J0ZTJPZTFGaDhqTFJnTklLY0lYMUU4Rk1G?=
 =?utf-8?B?dmtJSWhOYmoyaHRLa0F6N1RWR2M3dmNKeGZEQUVLdEhxVGNjeU5XMTkzUUdD?=
 =?utf-8?B?VzI3emlNYVlsRzRleStxd0pmOWpHakRUOU1IRms5ZGNmeWVxb0o0b3lwdWlm?=
 =?utf-8?B?MG1hV2J4enAvcGNtcm85TlBuZzNGcnJ2LzJZbzYra0x0Zk4vNUpqbHRxaERz?=
 =?utf-8?B?eUNjaTJhUldCWjlFd1VmSVJ2VjluZnMvVFlkeVRQZldhWGZhWEM2NFQzb1NK?=
 =?utf-8?B?SEhBNXZlclNjNm5DcHRxZTN5Wkw4S3V3WFpCeVlyUHNrc3FFMmQvaDVtajVy?=
 =?utf-8?B?R2cySWRocStheS9mSTBoalIzUlg4Tk15anU4b2VGTUx4UlRFLzNzK1BiKy9K?=
 =?utf-8?B?cmc5MDRGYVVaSVlieW5nb2pEUHhYYk1UeG01M2QzcDBKMFNuNUFKdU0rK1NC?=
 =?utf-8?B?WTg0OFlxVVNDWkxnVEduTDJGSVI4Vnh1Uk1rVXdPZCsyd091a0ZZMFJETVBq?=
 =?utf-8?B?R2JMSFY1ZllaajRDMDNTNWxqUkhrRnZnM2FQKzNnNTFtMFQ4T25NYld3RSsz?=
 =?utf-8?B?K1NMNEtsRzJISEp5WDJGRUo3V0RWRUw0SXR3YlFxbWl2UUw3Ui91c2psSEZL?=
 =?utf-8?B?RFB2bFQ1SVRNaHBvVk1nS1N2RVZybmk5QkNzSER1SWlUTm5Gdk5mVXhFWDI4?=
 =?utf-8?B?S3VEUDFYM0oxNkZLYmdhcVpldWhDTWtZTTV5eHpnaTYzOEM0bTR6cDBsRTlx?=
 =?utf-8?Q?Vx/elqXb4UAaQ9Q7lU6I3Z6Q3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a0f70e98-1181-401b-e6a5-08db2626481f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 13:56:46.5438
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BcsRwmipxqOnFF8WgTIkinRY4U7CuqOcBsEc3luILMwTnLLDYDyc6vmrrxZLF8oR0SGJ4qeTHqE9+ZO0W82huQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8931

On 16.03.2023 14:22, Oleksii Kurochko wrote:
> The GOT sections usage should be avoided in the hypervisor
> so to catch such use cases earlier when GOT things are
> produced the patch introduces .got and .got.plt sections
> and adds asserts that they're empty.
> 
> The sections won't be created until they remain
> empty otherwise the asserts would cause early failure.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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

And again a Suggested-by to Andrew perhaps.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:59:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:59:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510628.788643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pco8D-0006SX-NQ; Thu, 16 Mar 2023 13:59:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510628.788643; Thu, 16 Mar 2023 13: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 1pco8D-0006SQ-KS; Thu, 16 Mar 2023 13:59:01 +0000
Received: by outflank-mailman (input) for mailman id 510628;
 Thu, 16 Mar 2023 13: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pco8C-0006QC-00
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:59:00 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20624.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1eda2e5-c402-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 14:58:57 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8622.eurprd04.prod.outlook.com (2603:10a6:102:219::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 13:58:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 13:58:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1eda2e5-c402-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X9KIM/qUPtArMXcXb3SGZBWWqHgr5CDfZrhOksdEHvSYfZUP6A4tx751ST5E7m3nrWPkX7N99hSLoi7dzVMo12hC0RpuitWP9l6vWEPFaOmCTz6I2ar1PEtUFFKaKe/58cOydow552Hgb+F4yaE10Uzvq+w9R4ZWdGxYAA4l4DCevZdrDiIJ6QVLhdztXFsVgQZiiJ00lgXfkpx6PGGnAtmYd991cWz42U5Ye9wKeXHl18SUWjYVZSJy44kTlpPHKqvdkpOzL2khHjfyYFJPzdJ0A5MJSdXr8o62sdu8pY1mlglfD65DWD83LcP0qm06k30FeH6zJUr5Hyw2elXyvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hLcooodllh1xsZDvwPGQ69LKffMVQqs6Qi1qy8Cv+6o=;
 b=SG4dR0/zg1eXkGF+HTu3sBA2w7dQfqylfKiOGMZf9DhCr5qKPXv6iVLEhzoVaNulkV3mKQ/dwCjAvT3a3KBpSiE1LkRL8/51bOjqrdeyswt2o/DqylPaYzvvsX8k3S510qPHysqLYNoB719Wi+hYh9+eOEwZJQQ+smtZK0f6gAPdOL64P0VdpOCJURfO2tG84T7z9gEH/V4+62VtN3ssxsZKqsg2pq3cpGRG8o5c71tMQ5Eatp4A6ko9Cz//ADoa5OwE+0hQbIv6An+blN4iMPE44XNqXq/saw13HR7psT2F1E1qnoetCWBZ4MtwE8wnIloFXYJECI4xN22HyGZE9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hLcooodllh1xsZDvwPGQ69LKffMVQqs6Qi1qy8Cv+6o=;
 b=Fyt3tNaaQhBH+Lj+xoBD7xu1fGIrgjS4PnTrdOLz3VZb2XOrshHW/v+28GulYj9Rdclg3NcIu6r6loE16RWCCahjbPH3ym0vmyG7ZdcaKHURD6cDLBk+z88pFQ7pT5zQrQDJ+g68/TLbFB+tm5ZaPiEgFe838dMvrL5on6d1g6yZ7YThkcMez65TbrOWsIuJCoM/Zmz1gzBjGWzz4swbj8OpMJtoVfuVh1NV5AeVcFvX/WFyESmg4fLubXvWtuSt0zknq+qnhZDNv75vOgYa6WXB8NJO1LvVvkX90PCoEwqf7MB2Ug8TFWmDxItM8SRUklI+Hf5YjOHaaSXUofjpbw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1097b40a-704f-62a8-129c-758ea50a073b@suse.com>
Date: Thu, 16 Mar 2023 14:58:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
Content-Language: en-US
To: Alex Deucher <alexdeucher@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Honglei Huang <honglei1.huang@amd.com>, amd-gfx@lists.freedesktop.org,
 dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
 Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Huang Rui <ray.huang@amd.com>, Chen Jiqian <Jiqian.Chen@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 Alex Deucher <alexander.deucher@amd.com>, xen-devel@lists.xenproject.org,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Julia Zhang <julia.zhang@amd.com>, =?UTF-8?Q?Christian_K=c3=b6nig?=
 <christian.koenig@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Juergen Gross <jgross@suse.com>
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-2-ray.huang@amd.com>
 <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com>
 <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
 <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com>
 <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop>
 <5e22a45d-6f12-da9b-94f6-3112a30e8574@suse.com>
 <CADnq5_PH9ZqDqpPES74V3fB3NVpaexDoGTyu_+-zoux5vgagyg@mail.gmail.com>
 <dcb54275-b21f-a837-76bb-e19e331a0666@suse.com>
 <CADnq5_PpCWrZzQdE_X6ZnuNU3ktVeC6TbmE5vq3K6rCAdB8GTg@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CADnq5_PpCWrZzQdE_X6ZnuNU3ktVeC6TbmE5vq3K6rCAdB8GTg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0138.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8622:EE_
X-MS-Office365-Filtering-Correlation-Id: 1c9f9bde-d4ac-44c7-4f32-08db26269304
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:
	pz1c9WBrqFXE5r21p+eBbae+oKOxv+aNxnKKWZOxo35ORazVcCR33B3n0BmLjVZ/O9SbqgB5TrVslug16AUKENhX0AsfvuMBjHAgoyxN1HBtqc+s5VeLOCGPMjhknY7Vpx9eTZb/MulFcUdlHCJc8sheS97qwcpSCYSjEEnlOgzZSQ6/pu/7GgO0u3nAXB5ai1Ki9+8JtiCd5XmlrKlTAOAcPgsFR7VM+SDnEKzUnPaoFoB+lUXQ9v403eqBjKRAK+HJEr+6VaGG9lebxyPpqML7adYU+SOwoXkTCJVN8vlwAE3Iu6mbjErkzyCWKCsGg9ZcVvqfgmKPPA3N45jmZyla7YzFNacZrHRXPjY2KAvhuTUwwZ3JRH0e3WHsZnTWyDOUoqlRct1ypU170+pvdDX02mpTU5aM21yusFVvWeXOoxLbEEeQUxW37cn2kZYfCoLLbLqZMokCPLXab18QIh7pFDxCdpkVNyYHPZTC/Ep21e5tBPudp/nfxbXPJqpMxtaTlRBcKhenkHZexZko1ykQTkL4uWvwuAivfh/PBa/HPWVrwDYJZRRtu59+zUHO39rL3LiPTuQDJmeD4avHVvyAInN8Bo3Q314e48HNcoXQ6bLpjkOS2aNimz+B/GgrbEKMFPtlnPvLehiqO0gqTaG1JWCZ+6woRSU6QxQ/QHihHaE0Yb90ps5KKcG4d/Uu/OXBxpi4ILxRDKF91kZ6tsHHdPVuAG8wrGtqJJc30pY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(396003)(366004)(136003)(346002)(376002)(451199018)(31686004)(36756003)(4326008)(7416002)(41300700001)(8936002)(5660300002)(2906002)(31696002)(38100700002)(86362001)(478600001)(66946007)(66476007)(8676002)(66556008)(6486002)(107886003)(6666004)(6916009)(54906003)(316002)(186003)(53546011)(6506007)(6512007)(26005)(83380400001)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TXppUHhwMDZ3dC93MkNPMlB5MEp2TXR5S1FGK2ZhT0JRQlJrSXlxakkrSHNz?=
 =?utf-8?B?TW9JZTBkQXcvRDU1N2tUTXU5SG9rc1J0T3lyZVhxdG55endwcUN2VjRQdWly?=
 =?utf-8?B?UWdjTStJS01kaWg1OGhTZ0xURk9QNk11ZE9Da2ZQZlpCTUptUTUwYlVMZFpH?=
 =?utf-8?B?SGk2dVUrZzJtYkRtdkludTVhbjJSOUN0RG1WTXV1b3UyWlI1MXhQdkdLNWoz?=
 =?utf-8?B?T0ppRzlqZm5YZEdUUCswcmsvZThjNVhwQWhRZ1Z6RDYrbmt6K0I0MnZFNTZh?=
 =?utf-8?B?N0dkZ1BFYVJld2FvVUdLUm1ZSWhrK3c2VW05ZzlQYVdoN3VmdWZaUGxBa3Qw?=
 =?utf-8?B?MjVUVUl6THFURVVYT1YzZTNSSXVCL0RiMW93dGlwNTlzSkNRT1IzTXpWbUNq?=
 =?utf-8?B?N1VNYXQ1WkVvQ0Rpc2pzWG5SL0lVMzRBWjVwOC94UG50RkVZSUdua3hpMm5L?=
 =?utf-8?B?T0paclRrdldzZEIxSGxvY2lUQUd3MVpReWppL2diSm83ZDFGekU5dEVDdEEx?=
 =?utf-8?B?eWhoUVArVHB1SFo4SG9yOGh6NVpPWDNvQlB1eWRxdXZjdFFvak03eTlWcXZr?=
 =?utf-8?B?VUExQzY0S0o4T1BzOWNHSG1hbVVMd1NkWXEzOHFzQndpSklUWGhtajcwQkdH?=
 =?utf-8?B?ZzZma2MxNEsvRUhFVEJNTVdjVlB4dlpzMU8xRjlpMXJGMkJaMHJoTUtOaTlW?=
 =?utf-8?B?TVc3Vkh3MXZTL0xSV0xBZEFUWnlwK0xzYWpCYTYrZkxRZzVsUXZ3THl5dGFz?=
 =?utf-8?B?b2t5VkJNQUduMitOSU03aU50MkJuUVpUUUhPZGo3N3JBUy8rank0ekJpRzRR?=
 =?utf-8?B?YUVJOTNiWGkxeVZmQndHVWU1V3BqS2M2S3BvaytSbkYxV3pqUzdQTUpmazNj?=
 =?utf-8?B?aWMwaFhlalRjV21YNjE0QXlQVXBDT05BbFhIc2U5dVRaaUlaS2sxbGphRWU2?=
 =?utf-8?B?Z3JvSHhtQkVIZy9YbnQxUGRsdGlkRnFxRGo0Q1ZRcWd1RHo2SzJ2MXdCc2xS?=
 =?utf-8?B?LzJ3aEFmekM2K3R4cE5ZenJyZzVYKzlxeldJaVVkdzA0QU1yNXFoODl4b2lN?=
 =?utf-8?B?YmtGM0RMd3dCdmNwdVR6c3NaOXo4SXNISy9YRTQwVWJIN05MUkt3cUJlTW5N?=
 =?utf-8?B?VUJxMjAvbkJuU0ltMEJiY2oza29SSlZ1K2ZFYVhFcURmOGZCRnlXaVVUNkFn?=
 =?utf-8?B?OHFrdjJlVXkzYUlWZDhQR3QwRjkveUxxeDhuZ2JZNFV3dDJvdnZuUlFzMGJj?=
 =?utf-8?B?S3c5MVMyZS9YMkZGc3dUYjVyTitGTnlPYVZucUljN1pqaUF1V2srZk5HRWdE?=
 =?utf-8?B?TnRQMVRWQ2hUWVBRb3BSQW9uaDNWQU1WcHZHV29OeG00cWMrNjhyakFEU3Uz?=
 =?utf-8?B?dWVlSDd2SUxKT1VmSXVMZXpFZWllT0JBMGpjKzhLWFROWHg3bHVpZDdXbG1O?=
 =?utf-8?B?NFBtWE9HRk8wWGorSXRFZUFLYnVob05ac1pRZ3RtMm9HR2praG5yaVZpQ0w2?=
 =?utf-8?B?eVloRVRRd090cWw2TVN0RFBuakVDUWhWNHB5bXBaSURMT1B1WUN1YVNaMnU0?=
 =?utf-8?B?SUJ2T0JFTEFORVk5SnIvSlpWc3YxalE1dlNkOThZMmJrcTRhLy91MDMyWWhw?=
 =?utf-8?B?UTYyZ0VucW5HYkdqTW02akZDNWdPWUQzVHNLZ0NESVgrVGQwTFFRQS9pTjhZ?=
 =?utf-8?B?MDNab0FGZXV4L1RGV24yNFZ4cVFZNEt0cmc0TjIvQUs4TVBvT1VZWk9jNnZO?=
 =?utf-8?B?RFlkQTQ1cWdYdHZhdTNXRFl4ZFV0ZXpBNUhOc2FSeW9pWTUvYjdRRld5bE5j?=
 =?utf-8?B?RWliKzEwRXJ5MlduMG1OZHlaQ2ZRc3UxN0E1WklkSGZ0Q3NLTmNsQXIrTnFj?=
 =?utf-8?B?aVFySjVNdnR4Wlh1aGh3dURJL0RHbFVtNDV5VWF5aU9rbG15ZTRNdmNNT052?=
 =?utf-8?B?RkgzVzNmay91RUhLZ0RqZjlqTzZ2VVk3bWxTT0NFQTZHeVdYRjdEckhobTc0?=
 =?utf-8?B?SnVsUlcwZ0F4dXdybmN3M3oyYnpCZ0ppejBDalRWUDdmNGV0Q1c3TDJmcW9E?=
 =?utf-8?B?bjVDYTE2RzZ6YkVKUUkzZ2k1ek43RGUra0Q1T3hxSitzV1h0d3AzMjBBMmhK?=
 =?utf-8?Q?IoloZmCIt4Is4aMDFiE0VIZ6K?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1c9f9bde-d4ac-44c7-4f32-08db26269304
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 13:58:52.1921
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: x6L+yeBSgKN5l7iVlVOtTPT9fKR7592IQUaO4ykg9M6IOzs6tXipPy5kJ5XNb+tlA1tdiMQadjxAO4jAy0IRfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8622

On 16.03.2023 14:53, Alex Deucher wrote:
> On Thu, Mar 16, 2023 at 9:48 AM Juergen Gross <jgross@suse.com> wrote:
>>
>> On 16.03.23 14:45, Alex Deucher wrote:
>>> On Thu, Mar 16, 2023 at 3:50 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>>
>>>> On 16.03.2023 00:25, Stefano Stabellini wrote:
>>>>> On Wed, 15 Mar 2023, Jan Beulich wrote:
>>>>>> On 15.03.2023 01:52, Stefano Stabellini wrote:
>>>>>>> On Mon, 13 Mar 2023, Jan Beulich wrote:
>>>>>>>> On 12.03.2023 13:01, Huang Rui wrote:
>>>>>>>>> Xen PVH is the paravirtualized mode and takes advantage of hardware
>>>>>>>>> virtualization support when possible. It will using the hardware IOMMU
>>>>>>>>> support instead of xen-swiotlb, so disable swiotlb if current domain is
>>>>>>>>> Xen PVH.
>>>>>>>>
>>>>>>>> But the kernel has no way (yet) to drive the IOMMU, so how can it get
>>>>>>>> away without resorting to swiotlb in certain cases (like I/O to an
>>>>>>>> address-restricted device)?
>>>>>>>
>>>>>>> I think Ray meant that, thanks to the IOMMU setup by Xen, there is no
>>>>>>> need for swiotlb-xen in Dom0. Address translations are done by the IOMMU
>>>>>>> so we can use guest physical addresses instead of machine addresses for
>>>>>>> DMA. This is a similar case to Dom0 on ARM when the IOMMU is available
>>>>>>> (see include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect, the corresponding
>>>>>>> case is XENFEAT_not_direct_mapped).
>>>>>>
>>>>>> But how does Xen using an IOMMU help with, as said, address-restricted
>>>>>> devices? They may still need e.g. a 32-bit address to be programmed in,
>>>>>> and if the kernel has memory beyond the 4G boundary not all I/O buffers
>>>>>> may fulfill this requirement.
>>>>>
>>>>> In short, it is going to work as long as Linux has guest physical
>>>>> addresses (not machine addresses, those could be anything) lower than
>>>>> 4GB.
>>>>>
>>>>> If the address-restricted device does DMA via an IOMMU, then the device
>>>>> gets programmed by Linux using its guest physical addresses (not machine
>>>>> addresses).
>>>>>
>>>>> The 32-bit restriction would be applied by Linux to its choice of guest
>>>>> physical address to use to program the device, the same way it does on
>>>>> native. The device would be fine as it always uses Linux-provided <4GB
>>>>> addresses. After the IOMMU translation (pagetable setup by Xen), we
>>>>> could get any address, including >4GB addresses, and that is expected to
>>>>> work.
>>>>
>>>> I understand that's the "normal" way of working. But whatever the swiotlb
>>>> is used for in baremetal Linux, that would similarly require its use in
>>>> PVH (or HVM) aiui. So unconditionally disabling it in PVH would look to
>>>> me like an incomplete attempt to disable its use altogether on x86. What
>>>> difference of PVH vs baremetal am I missing here?
>>>
>>> swiotlb is not usable for GPUs even on bare metal.  They often have
>>> hundreds or megs or even gigs of memory mapped on the device at any
>>> given time.  Also, AMD GPUs support 44-48 bit DMA masks (depending on
>>> the chip family).
>>
>> But the swiotlb isn't per device, but system global.
> 
> Sure, but if the swiotlb is in use, then you can't really use the GPU.
> So you get to pick one.

Yet that "pick one" then can't be an unconditional disable in the source code.
If there's no way to avoid swiotlb on a per-device basis, then users will need
to be told to arrange for this via command line option when they want to use
the GPU is certain ways.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 13:59:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 13:59:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510630.788653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pco8t-00079Q-19; Thu, 16 Mar 2023 13:59:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510630.788653; Thu, 16 Mar 2023 13:59: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 1pco8s-00079J-Tc; Thu, 16 Mar 2023 13:59:42 +0000
Received: by outflank-mailman (input) for mailman id 510630;
 Thu, 16 Mar 2023 13:59: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=lZp/=7I=citrix.com=prvs=432965e83=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pco8r-000795-Rb
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 13:59:41 +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 ca475a66-c402-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 14:59:40 +0100 (CET)
Received: from mail-bn8nam12lp2168.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 09:59:36 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB7127.namprd03.prod.outlook.com (2603:10b6:a03:4e6::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.22; Thu, 16 Mar
 2023 13:59:34 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 13:59: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: ca475a66-c402-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678975180;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=nx2bl3gDlRH9iCgSdHHjHtusT4Kyu3htzjNZiVT80PY=;
  b=O9ZGq/4QtRIAnOxUjJrkjbhQNnnf3IiquoKnqC6LXvXip3IIssdoA4t+
   ebNFxWtfGw1Hu3N01CxjcFabl6oUzKCwxyCr50UbXpGjtzIqaYNrab+sU
   +y2QevTzzvR/G5QREz+TTeXpqE91syS9wKd5yCCic+BRM7KGhefDtp+LJ
   w=;
X-IronPort-RemoteIP: 104.47.55.168
X-IronPort-MID: 101032137
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:9ZoysaK292yAFrv/FE+RZZQlxSXFcZb7ZxGr2PjKsXjdYENS0DFVz
 TEbD2/VafffMTCjKI13bNyw/E8B6pWHztAxT1dlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QVgPa8jUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5JKzFe8
 +M7Cgw9LTOAh/Ov8ZCleuJz05FLwMnDZOvzu1lG5BSAV7MMZ8CGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dqpTGNnGSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHuiANlITebnnhJsqFO8/G8+FDQLbEWUqqPlqGGSeNZSd
 1NBr0LCqoB3riRHVOLVWBm1o2WFv1gfRsBXGO057ymCz6PV50CSAW1sZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluaOyIYMGsDbi8sVhYe7p/op4RbpgnUUt9pHaqxj9v0MTL92
 TaHqG45nbp7pcEK3qO/4FvOqyituJ/STwg+oA7QWwqN5ARzbp+ofIys5F3S695PKY+YSh+Ku
 31ss8Ga7fsSBJCX0iKXSeMGHaqB+PqOdjbbhDZHFJ4n8TOv93e9fJt47zR3JUMvOcEBEQIFe
 2fWsAJVoZVVbH2jaPYtZ5rrUpp6i6/9Cd7iS/bYKMJUZYR8fxOG+ycoYlOM22fqkw4nlqRX1
 YqnTPtAxE0yUcxPpAdajc9HuVP37kjSHV/ueK0=
IronPort-HdrOrdr: A9a23:3VLLH62kg1ykDU9CM64vIAqjBJAkLtp133Aq2lEZdPU1SL38qy
 nKpp536faaslossR0b9uxoQZPwJk80lqQFg7X5X43DYOCOggLBEGgF1+XfKlbbak7DH4BmtJ
 uIRJIObOEYXWIQsS8j2njDLz/7+qj+zEl0v5a5856wd3AQV0i/1XYFNu71encGPTV7OQ==
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101032137"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WVEnhvrfGtaemEZOKxI5R3h6A+aK/2ip/JlHxOCQWKdQ2OxKHJj3K+XqG8hS/7nwpPDxC8927X23LZg5rczHNe9YkF5PP0wSvyWQD7r/fpw5lLRbKiZl3d0ZL1T7ast4wHpLK6ScSD7jeNylWg89cf2NvFHY2mmrhImDBkzgeXvuqCeTe9RuEDrM8eN7pblVhmEFMt/Oth7mZxfnjbZ10xOwTrg/GWnv5YuRcEFLWuF5ys5wXz0Rhyrwg4Gwu3C7gp4t638Hh0TMiE+9p1D7udrfwmFfWakQyf0acrsY2FSkUos4dcF9W0bFf2Z3cHYOJ2p1PYpVQUrapIPZjnQGHA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q4VQZvK7swXD3F4w8gsXa7ORtxgHAMzvbg2VJxXthgE=;
 b=eqA9g8vSmooyhK4/QWQHfboTQ1Gx9TojltEuDrtu/yUHfWCbMB1lO3KreAJWM9A163gWzVffl/8WrsdpiqZ7ug//hgpYrZDgjhKVhk3eSQLYntqIN8vQ4mrS7lM6F3+40L6QGqz97LoGFOAxr2yOlFeJkhZ5NhMHKwMNXqJcrrDWXVDcFaf5PrPLGaDVCIt0SNuslzhFITqKHvpeKZ9qzSa9Xoy3fjmed4OlHgJw3/r1okhxh2XYECsAwvXoQQYp+JbFklC/mMoThFtGLznvRZmypXvHJWeixsute3QgEZoMQNA4fHrm2dFSrF/ffgxMCjM77uCujQ35PHM3qQO0yg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q4VQZvK7swXD3F4w8gsXa7ORtxgHAMzvbg2VJxXthgE=;
 b=LrpIy3R72KlHvZK2+ZgLgP7s5zjtbsSawj4BJZUDr3nW9TMchjhXkv47n2OJeGPmVM+8+s/qz940HEV6vPUesr47T49bcGZqweeamkPm8LJGJ7knl3S0qp8rHqQJ5Q1O2ZVfbD1gLipblIK+u7dI6wYURV5TF8KC320TBsbFxBU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <69e031eb-6172-1ab0-5ffa-4650f69e83a7@citrix.com>
Date: Thu, 16 Mar 2023 13:59:28 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 0/2] deal with GOT stuff for RISC-V
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1678970065.git.oleksii.kurochko@gmail.com>
In-Reply-To: <cover.1678970065.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO6P123CA0059.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:310::17) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB7127:EE_
X-MS-Office365-Filtering-Correlation-Id: 63230421-cc16-46ab-9e7c-08db2626abf6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	b6PghQMu5Mb9AmPjNiO9QF8bRfHQ1EE4AWQlaKeQGpL+kYNWGZIW4+sA10Kfx6XM0HJbm9Oe4Py1cjaJ23NzTNkoDhsEOzMo0uOHyx358Ms+jXn6n3BXUAV2Jiubcfaept5L79OnKRHLj/eGswdzDJKKp0vMBt65xk6yBhlT7Zt8hzMpPAzKcJ58IiTYsqyeLvqNk4K1+zMcdJ6/maD58rn6JpYmEVCTFhz18bDTCpSAET6oIB8pFECe/n7cAl/tTsNhns7T/YxpnTwBUoLJy0qOqpKMccdS+yFgxoXWweEbOC/RUc/xaFJ+Tqh2y5jOKazb+iMXzKJcnYEDxQwVaP14ro/tTLr0su7Y2j3usV09RWUV7nckb8B+Kg4StuxmDUn2oAONSBdAZpsFBcsAhGzQ3P+eJ67ZpYLD0Mmnq73cSaodrAQmnMtVMEAEnVQBnhaek/wiDKIBYovIoihuU6nhidCAX4TtonKgmwVYmzIn7ZNVUs/9vFNfxHwhlLDZLYmztD3ISo6DjUhdEfAew6SYKE8QYxPSDMezf8xfFhB2xH6llARjS4mIgJEtCkGad6VtfPkPXnpGlsYUlvuMCIuleR8vhOU4qV6c9AYImdrsQBSgJ8BvpmmmiiTDmfcFP7iX8BGmRemiUZR6VpxWOs7DLVnauOmljly5zW1ui92TqP7L/qxQiNECiMd6rheJLqVaEFokSTVVTSuq3o2Co54hSGCwzW0Bf04yIh6HYDI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(136003)(346002)(376002)(366004)(39860400002)(451199018)(31686004)(8936002)(41300700001)(4326008)(5660300002)(2906002)(36756003)(86362001)(82960400001)(31696002)(6666004)(6486002)(66556008)(66946007)(66476007)(38100700002)(558084003)(8676002)(186003)(316002)(478600001)(54906003)(26005)(2616005)(6512007)(6506007)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cjlkWkVncmhoaU45QzlNeFRWTENkM0c1bFlPUG1LZFVrRmd3bElqN0pTREds?=
 =?utf-8?B?K0NhbHVjV0xocXlBSE9GNUJXTWNpK2l6QkkwcHNrVGR6Z0ZVRk8yeEkyanIr?=
 =?utf-8?B?Z1ZlaXQ3TUJvS2ZDc2JGbGF0cUFGOUsxT1BaN3ZrTXNzRXcxcHZsdy8zUUtW?=
 =?utf-8?B?TGhwbnFMZzFpVlJwWEE3NUtTTndGREQzc0xQV2FPQjdnSFZRSVhyaGZGbUhy?=
 =?utf-8?B?VVZhQzUxY1BYMjFpR05MaHU2K01TZ1FyZTdFUUk2cTV3R1czY01OenNUZTF5?=
 =?utf-8?B?T3BDOVBsYnJlbjhMZ1l1RUNWaW1yT3JGN0dCcStzUWt1M29zaXRYUEJrdFFN?=
 =?utf-8?B?QUxzOEI1bFlyRGRxQ3VvWm9jZm81ZGxLTXVtZnozRnpBRmNSWmlBVEl3QWph?=
 =?utf-8?B?cmFaVTYzMGJEYXZ4RCtVU29GamdDay9HdWJIZGIzay9qYjdiaUJIRTRRUDla?=
 =?utf-8?B?akdISVZDUDdJK0VPNHgrSUlXZFgydlNyK1h2K1BsK1RqV2p4eHhoRjdEc0ZD?=
 =?utf-8?B?aTRsdEw1M0lJcHBYelVqTGR1eWJxK2ZjUmozMjdaT2ZRcXF4eFp2RXRZZFdj?=
 =?utf-8?B?R0MwRlNhazlrOFFYL0ZIclgzY1BEZkRzbEt2NWdORlZjc2V4MkQ2eEVRcTVY?=
 =?utf-8?B?YmpqVWtiSzdhZzJ3ekRuakdxaUpZTzNES1R4a0tIWmE1QTIvR1BMeUtubXFW?=
 =?utf-8?B?K1NDU1BBU0s1WkREb3pJZ1AzOFF4eFNvenozMTFFYjkvWG9IWWp6YW1TckIw?=
 =?utf-8?B?SEc4cTU5Y1VseDk1bUFhYVVXaUNxRktaMjRmaTZDblE0b2xzcUErWDNIZGVy?=
 =?utf-8?B?WWlyL1dpeWxYaTdCRGRYYWRnY3lMQjY5amxicFUrZEpZb1hnT0R6WHY3bWJq?=
 =?utf-8?B?ejhjaVc5WGE4Z1laRXMxQ1hMY3NIZlNPK0FMdGdHY3JoVERBTERDaWpnZmMx?=
 =?utf-8?B?RUJsQzVTeVFhZGRoL0FsR2Z0Vm5qUnNyQ0I4NG1VSlhFTEdDeWpZWjVLbzho?=
 =?utf-8?B?dE1zeHo3MkdsUEtGalo0SmMySmNoSEVHUmFRdE04Njl6eFdaU3lLTmxxUktC?=
 =?utf-8?B?MFp4TmthTytBeWtPVUVRbTAvZmFlcFZVZ21FeUJ3VUVNYnNQRHZSSW9GZDhH?=
 =?utf-8?B?OUhsU1ZXcXF4K0lZakFOOGsvNi9EWlRWekJybjBQR2kwbG9od3ZUd0JwTnVZ?=
 =?utf-8?B?NU9uZ3VOa3B5OFBTY25zWTFONUEzamNNTkFhT2luZVUyQ0ZKRkZZT3E1RERB?=
 =?utf-8?B?cks5TGorTGRxSUl2WElWYVZlKzNlN3Y2ZEMwNGxxWitpOVRVcWZ0bVY5L29K?=
 =?utf-8?B?dG1QMHFGUmJ4emwwK09qZDlIekNtUGNhc1NmYmRBL2I0YVJhZDdWNXBPZ2RZ?=
 =?utf-8?B?Z3BpdWlQN2QvMEpaN1ZvM2RWMFI3N2VlOHhMZlZQekJNZlo1UVpzMENDQXJm?=
 =?utf-8?B?MzVZdCt2aVV1UGJyR3RSVVBwZkRHc0djdWNEWDVBSzlPbzY4UEUzQy95MURa?=
 =?utf-8?B?QTZkeG1CSGtUb3E1U1IwTytiem1zYndIaEh1bjRWK25kM0llWUNPd2lZcGhm?=
 =?utf-8?B?MHRqdnhRWHUwREVOeTdxbit0dXp6aUl2MnZGVTcycG9tSzdTbm5pYUFxSk52?=
 =?utf-8?B?MlJua1FkUGpyTW9PVVpzT0RHeTVVS2hMNStEZnVJdDJTdVJTeWdkQ2NuWWlk?=
 =?utf-8?B?QmZBMUpFZ3lFYW9UVFI0WU1HSlY5SDV1TnBJOEN1YUVuS2x3ZEkvWUxvNTNG?=
 =?utf-8?B?SW5CeHBxVGVKeFcxVnBrdHlyNmp5K29OU0xiVm1wbUxrVTdyLzZtdXNNQ1N0?=
 =?utf-8?B?YlphSjZvd2JIQkMxK1llbDc1dUlWNk1qV0VJbFptUEJVTTlOMEJPbHcwMmtm?=
 =?utf-8?B?ZDUrVWpnbDMvV3ZPYnVyOGY5bzFVdHJUQ1ZXN0pVYzcrVkgwcGZxcis4aVRl?=
 =?utf-8?B?bG1uc1duMVdvN3hLODZEYVVEa1VYaUJac0pQRW8zRmloSDZ6RGJIbGluTVkr?=
 =?utf-8?B?cUE3SlJJSUc1VWI2U0lqY1kwMkdVeHZxYXh5UnhTcWFPbmJ6RERaQXJFSnhN?=
 =?utf-8?B?bURaOHdYQmxZTUpSQnJyTEcwYy9vVGFDSldmenlRN0dpZ29SVjl6VVNHajlO?=
 =?utf-8?B?SHFwRkp4N1N3ZUhWdjFxLzd2dWd4UU9WdjEzNmVUNjNyNWhJYWU1TEtmS0NK?=
 =?utf-8?B?S3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	jshbma3/3/TrbyTPBsDWY4VzxJTjmzmA5u0O56KcAOvx6WOukTCflQB157b4NI1H3t5M0nhJWHpXgPV8GFUoUYk/4IxImLlIYj3RRtYD8FcAw+4m8xIoshGIVoivA6UorgPBLRjPT5k1q4ghrihbh9fPRB37krofiao4F8mBREYHfuFev7ax4EoMooksVjnyqxXVCy4DDMzmEkYwh6B/yH+9o/5U3L+oKYQvwa35r3zEqt1zDTHj53P62mp7c5u/sdyB+6bXGewnxxfioYVN1vgbSaqJk8kacpzomaDPyTuiRSekU9ueLpN1PzX6M+FHZtO4Fzfgw/dYaV/0om1x3sqb0bN7u/1q+K4X/fyHThG2erOEVfLbGfHQCh2BcZwQv8BVkDpT9/YVHyqut8JgRqey4KOX0nY10KLsCcoSZ6sHh7WnFjR3HNjjXZgkI9Y89xScHwWsfxbFSsisoawWHtl7OJrBHAEKmVHt6m7pny6sTLyIM8JZ3yc3EqzdbccOacx/OhJATVH9+lRCRbfxMmKijZYPbLL4eyvp6vm002a0W5061QL37dTGChe2mrDwHLevDqavcV+2Oq1B/9mZO49lvs52PHG8JqGG+OXCXSQTfLPAR1G9eypijMbWei/Rxs6sJWyS+MGfA7e9sYhpNIpXQ4J9aLZB659Gm+r+kWs8sjfn/XDZJ1b+a8XrrIIZFgosb5Sx+YK12pVRSartIR3S/uDuvRh9qReBqMewGijXiC7fjRjKJkwW6wb5AdORXMb27mapD7TDMIcmpOR/6kozJgWOPjH37EuSqVHz9RXWoPVHUf0xrB2rrYuHvNgqwzf/qvXOg11+xmOIe5BgndgKzqehtB14DS7vNH1NHl3bPwU76Zr5UBVTSTVOMWR4s38C5lG6HHxIA5Jh600Czz+3KDCDuSjWd1ZsyQq8FbM=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 63230421-cc16-46ab-9e7c-08db2626abf6
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 13:59:34.1861
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Z6db0OnEC0InlBN5iqY3rcm+pxDfrxYF4w+V11XEbF4V/Pw2LiZVBYdXQnJK4xJBW/P9nm8Jhr/bTgbEuijnzuKv9U9sq8TnJJBh3a5n6QM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7127

On 16/03/2023 1:22 pm, Oleksii Kurochko wrote:
> Oleksii Kurochko (2):
>   xen/riscv: add EMBEDDED_EXTRA_CFLAGS to CFLAGS
>   xen/riscv: add explicit check that .got{.plt} is empty

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 14:03:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 14:03:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510634.788663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcoCs-0000K0-Kh; Thu, 16 Mar 2023 14:03:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510634.788663; Thu, 16 Mar 2023 14:03: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 1pcoCs-0000Jt-Ht; Thu, 16 Mar 2023 14:03:50 +0000
Received: by outflank-mailman (input) for mailman id 510634;
 Thu, 16 Mar 2023 14:03:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcoCr-0000Jn-LS
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 14:03:49 +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 5ed3ad68-c403-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 15:03:47 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB7130.eurprd04.prod.outlook.com (2603:10a6:10:123::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Thu, 16 Mar
 2023 14:03:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 14:03: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: 5ed3ad68-c403-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AOsQLgyALbRtjWMw/D5OcB1QGDxv+K9jNBrEwkoqUvTyW9VCdXZTW/DxqGCvGFlByIw54b9LG6Wey+xDHcltdvaaZ/qowx5G5ZkhFIpglgpLUCHrntDZXhRWqkp7kibQ4tZM4HS/Ad2an6f2V+53iM9kq9cC3lj8jHXT5BiN8vcccCsCKtStv1H0y/y1qH3XHWiw620XvRvpC+L9hmpA3c9HOuzI/ySKMrMeLuO/zFTVrN4X1qUwoz9en9DAw4Tvx6tqrJwt/jArvKnG1gujZM9bE7JdczLA+AHBfqdGsc9GTB+pplLvTVFxd+aF7Pt81MHI4WyejGUAiN8eE9UPdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z2uhJWPbKKDrpppv7FdA/IBSH0epMWBxkyGNEEiYxUA=;
 b=oIZGyw6WFORPGyPvG6m5sdDKwgFjTRNIzvOVg+D1Kv9S31LSdVuhOHGA2cXjiJebsOYbG27MVrWoLdtnOhOLSFdAFqYjiNsekiXlLn1Q02e7kJAeWMUAuw+ShzUJJRwR6UveW3cLk7HJaST/FFFidT16/3sBRtOpYX0Drt6nFA2APa6X340k13tnQKbEYsA60lvQ5Jq79u5DQ4SysKsPq4IYcAoT1N/LN+ITbeUZl11w9+fcooxbAqSjTRYtIIzgpSULpfGEGApEIRtEM3rBk/BseQQSDgPJ9AU15KI5IUG+teTrLr1mW6HBrmu+MbgQD/xZRRcc2rEJGCtz8hy00A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Z2uhJWPbKKDrpppv7FdA/IBSH0epMWBxkyGNEEiYxUA=;
 b=DrdpfGctG8L7aLgt/Kpu7qnV+Of1yhwFcNT0vhQMwR4azoKr/XNU4todSlE4vUU78RgaDssz6N2OKPSQGLr+g/G5IzEgoEmSjb98pizq/xQ9TIr3iwxSPWGsa1EB1jJFtygd698htXgOf/IOH3ddSo6MUFofoxPm2aDOPNULRe3HeU0UbJHfUxFYjBKoGsgUyA42DULmRm+p9G5sX50mPdQgMCvbLF+MPyjSUk4UZAyw4JptKP2dGUvBfO3GiRGV0GsIPaQ+gVuqFaOyooFasbbfzV3nDYOBY353p3Dvy8eGoymYrmjKAnJlyq++5cdB/mv/0SiYAiYkV+G3c1Nd4A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0be85ad4-f0d9-a5c7-e7bc-c546558df835@suse.com>
Date: Thu, 16 Mar 2023 15:03:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 1/6] xen: add reference counter support
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
 <ZBMfpnzW4YdqEiA0@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBMfpnzW4YdqEiA0@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0059.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB7130:EE_
X-MS-Office365-Filtering-Correlation-Id: f7d057b5-2e14-4112-857c-08db2627412e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lsq79kkFK6A9O55h1DzfWxnynacNgBFc5SW/LYdld93bACwNBv2AuGvwMR/hPE71LkOgy94N6jlwuPssYEeTj5Vggdrb1ehBel9hspsIq+uxUTB+JviUHOfdxjZ/ARyu2jy+zZBsyHEqd+JRPF2D9hwT6l/JGLm10HQjSeXSpnWAOoxB5zpUW8ORQFfX9RCtHQmiRZPxsBiTP5VK+0F+2T6y7oWu3WSD5H/xrYjeYhabPT34iAuWRT1TsTsOBm7S/gxUklIWphpqBxQwPExAUcI0F2oym0uvgUXh4Ux4l3G8cWuM9MDORy5iheKOSyAo1h4GAGYM1WqJdapDbDpkyIJ1pTsVeLgqne+zynlEC9bJ9U1SUnpuk7dzLRSheHMISq1QcIcGAwPBpDO6iq5xFrqJIg6Z1HTzMu2Ip8cuxNJsa8Gf3voYjlWcv+UUkLHHU5ONVqLKwvplpgH2ee7BVNqjffySEtCxRokF4LoL6ZV+VhXIl2AytfPywUSJWJbNOEGK3+GGKKTSXRSRS3VLQmE6jQ94Lf3VPXcisbCXFsAkxcND2WaH434RL02t0J3ystfVk9uqo7kIYwyG2iqQcOhhnY5OjRd7WXQHu6FHhgHhi3vhyzhrfg2ljkBA2Z1VMiPONADB2nFvP+1Rvg4JPXq7ulAooJ5+Y/y62zy6D7KJjSmG1OVHig5VfsIuFmwMXNcslIIgzoIMPRrp/zRUiPVhtDtICwovlVgn9VE/OJg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(396003)(366004)(376002)(346002)(136003)(451199018)(31686004)(41300700001)(8936002)(2906002)(31696002)(38100700002)(86362001)(36756003)(5660300002)(8676002)(478600001)(6916009)(66556008)(6486002)(66946007)(66476007)(4326008)(54906003)(316002)(2616005)(186003)(26005)(83380400001)(53546011)(6506007)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dm1HbTcwUldManRlN1hqNml6TFFrTGJubmRCekwzaFJaWGM5NUdvdmRKTSt6?=
 =?utf-8?B?c2pDUVNwbTlWOUtBTnAvYUhDYlJwV2UxRytzSGhja3d3emZZd0NLQWpma2Jj?=
 =?utf-8?B?SDFDRGpIbHQzS1J2UGVqRUx3ckx6c0VESy9zc1YrRzVEeHNqbThKRUZhQzla?=
 =?utf-8?B?YWdQYW1CS3pvUzNzdlpwVTdncDZWK2NRU01abUdSTGU5Z2pXWFJiQnZ4cmZI?=
 =?utf-8?B?bXF0V25hNnlzOUw1ZUFUcVpOeDE3RmVyYTVuWXRUdFZkK29pYXFndlRoYkRQ?=
 =?utf-8?B?WDZ5ZnlBUzVJTEdjai9CaHZ6eVM5MXBRaGR1NWJiME5aR080WFdDRTBBdDM4?=
 =?utf-8?B?UU02Vkh4QkRzdjRUNE8zd2RxUmlwaytuLy9IN0hFSjBwSy81YWxsMmRFQTdR?=
 =?utf-8?B?SnBudUtTNDAxOVpURkZWbjFjdmhmeWx1cGd5MUUyWW1HU2ZzTnJIcVllMWlw?=
 =?utf-8?B?c21ONnV0UHA1VmhzZFdaUGtpbFcwVlp1bHZIaUdNZzhHMHZia2lNb1czZWdn?=
 =?utf-8?B?WWN0UUt3QzAwbEJCY1BsT0JPcFRXZWNKNCszeU1BdXJvUlpTcTVrSWdBQWR2?=
 =?utf-8?B?OWhFU0MxQlZnQlFIMlpqWGhpbFYvcVdPTUpDSThxZzl2ZFc2MnVUZjlkcU10?=
 =?utf-8?B?OWdUa05Gai9LLzZkazdJeTBFNXVtVHNHMjVSZGFSQ21DbzRMejh5VEd0OTIv?=
 =?utf-8?B?REIrOTM1Q2ZMRzc0b3F1cGNxQzhJcFJRbDUwUGU3TGNxOXU1bCtkR2RDNnY2?=
 =?utf-8?B?TkQ0enhFNXJVS2t4REM0NUp3cVVzUGZ5R0dwbm95L3pGd1ZwY2dJMTkvQ0pi?=
 =?utf-8?B?cUswbzMxeDhva1Z2TmNzeWJQQ2dCanBVOHA1SkFudTJ2N3dreWJoRWwvK3lH?=
 =?utf-8?B?NDN6Qit4MUhTc3lWUHFCVmFtTVVzWVVWSmNUQi91djcwYVVoL2ZaQkpHN3Zu?=
 =?utf-8?B?Yld4dmJ3YTNMRXlLcm8zdWloS2ZKSk00dlNBTCtadncyK1BtNlB3cXFlSFFT?=
 =?utf-8?B?ZjExY25CWjRtQXNyemFPbUVucmFaamRTeTlYVDVpYW84QkdIVWh2RmdmMUFk?=
 =?utf-8?B?NENSWWpCNjVuSGhTUXptdEo2THI5MkZiTTl6eHdLYmVRZm1vMzBtM3c5Q2Ew?=
 =?utf-8?B?NzBWNUV2NmUwUnNYeUFybmRBNWJMaDRZT1NyMVhyWncxOC9LUmJMR2NCK3hj?=
 =?utf-8?B?dlVSSXhLWkw0MWovT1dxTmczdUwzMk9rcTZvSTJVZSt6eXhwektxYUZwYTVw?=
 =?utf-8?B?Tm84UGJVVC9ITnd2WHhKbWlXejJjQWhKVENIZHZvOEJ3UCtGTzhLYnZYQWY1?=
 =?utf-8?B?OVg0QVJ2Z09rejBEbG5STkZEY0dXNHZKS0N3VXA5UEhVZzJmSzdHNi9Hd2xK?=
 =?utf-8?B?b1N6dXp0VkhDQ3pHdUIzTi9pcTVNMWdkZGNuK2NuQmJPN2U3eDMybEc0LzRj?=
 =?utf-8?B?T2QvQWNtOHZkaUs5UlpwOXZmUGZsVW5sSEpCeHRjbG1VWmtycmxNQWJ0M2JC?=
 =?utf-8?B?K1BDa3RROGl3bThWUExRbzZ1bE1lays0bmE5ZVBEdG5acHp2a3dwRUlBU010?=
 =?utf-8?B?amsydlU3amlZaDNwdlVNc2JpTm5rcTc4ZjBTR3pESmJ0a2tBYnBsOEFic0pE?=
 =?utf-8?B?UTlxejRKSXVhTFpRbGNpUitXakNPenU3Z3A3UFB0NmVlNTV1bElURkE4ZHkr?=
 =?utf-8?B?V1hvT2NiZmNIOVF5SExkS2l5SXpvMi9veDRGTWwyZDN2TUlSUElhRmUrTXY0?=
 =?utf-8?B?cDhZdThPeno1ZzF6d0RwVVVDWWt2TFdKM2lQTncvcThPcGV6M1FDTjNNRzdI?=
 =?utf-8?B?bHIwS0N2K2VCUkovRXFQWjBQWXRsMnkvdUpDcmF3V09LOGpXa3B2R21mVDl1?=
 =?utf-8?B?dTBoa0FoMlBJbDJyMkcyQWxHZllKSnViVldCWDZidUxMcnlwMkFCaEdxTjBh?=
 =?utf-8?B?Ym9rZndzRGZlVWQvV3FRU0VuSDk5NFlucldSRzhvTDBhUGwyM3B6U3IrY3Vq?=
 =?utf-8?B?YnVFcERuQWRDNkhRQzR2cSttTzgxL3YyY296MXQxOTdlTWFLQlVIdDYxUlhD?=
 =?utf-8?B?d2E1YnprVXFHd3gwNHVHK0txUzQzRU9HSDBuR2xGdFZGakRpY0dBaXMrZFRB?=
 =?utf-8?Q?B+moXPorq4J5DHa2gimol32LZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f7d057b5-2e14-4112-857c-08db2627412e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 14:03:44.5329
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jwjZpGsjc4ADszw7u5u+9No9x+Nr4W729PAKFI1MO+gbiWUMtFgJ/mNpvFDRrgBpWwrY6CGJ+iQ3GtMOntm7og==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7130

On 16.03.2023 14:54, Roger Pau Monné wrote:
> On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
>> --- /dev/null
>> +++ b/xen/include/xen/refcnt.h
>> @@ -0,0 +1,59 @@
> 
> This seems to be missing some kind of license, can we have an SPDX tag
> at least?

Not "at least", but strictly that way for any new code. Patches to convert
various existing code to SPDX are already pending iirc.

>> +#ifndef __XEN_REFCNT_H__
>> +#define __XEN_REFCNT_H__
>> +
>> +#include <asm/atomic.h>
>> +#include <asm/bug.h>
>> +
>> +#define REFCNT_SATURATED (INT_MIN / 2)
>> +
>> +typedef struct {
>> +    atomic_t refcnt;
>> +} refcnt_t;
>> +
>> +static inline void refcnt_init(refcnt_t *refcnt)
>> +{
>> +    atomic_set(&refcnt->refcnt, 1);
>> +}
>> +
>> +static inline int refcnt_read(refcnt_t *refcnt)
> 
> const.
> 
>> +{
>> +    return atomic_read(&refcnt->refcnt);
>> +}
>> +
>> +static inline void refcnt_get(refcnt_t *refcnt)
>> +{
>> +    int old = atomic_add_unless(&refcnt->refcnt, 1, 0);
>> +
>> +    if ( unlikely(old < 0) || unlikely (old + 1 < 0) )
>                                          ^ extra space
> 
> You want a single unlikely for both conditions.

Are you sure? My experience was generally the other way around: likely()
and unlikely() become ineffectual as soon as the compiler needs more
than one branch for the inner construct (ie generally for and && or ||).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 14:15:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 14:15:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510636.788672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcoNt-00025Q-Ko; Thu, 16 Mar 2023 14:15:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510636.788672; Thu, 16 Mar 2023 14:15:13 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcoNt-00025J-HY; Thu, 16 Mar 2023 14:15:13 +0000
Received: by outflank-mailman (input) for mailman id 510636;
 Thu, 16 Mar 2023 14:15: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=zev1=7I=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pcoNs-00024R-VQ
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 14:15:13 +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 f55ffe9f-c404-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 15:15:10 +0100 (CET)
Received: from MW4PR04CA0118.namprd04.prod.outlook.com (2603:10b6:303:83::33)
 by IA0PR12MB8906.namprd12.prod.outlook.com (2603:10b6:208:481::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 14:15:07 +0000
Received: from CO1NAM11FT067.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:83:cafe::68) by MW4PR04CA0118.outlook.office365.com
 (2603:10b6:303:83::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29 via Frontend
 Transport; Thu, 16 Mar 2023 14:15:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT067.mail.protection.outlook.com (10.13.174.212) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6199.18 via Frontend Transport; Thu, 16 Mar 2023 14:15:06 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 16 Mar
 2023 09:15:04 -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.2375.34; Thu, 16 Mar
 2023 07:15:03 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 16 Mar 2023 09:15:02 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f55ffe9f-c404-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SQddhhMWANwWneBOdVj3tP32duTUyyvfMS+BLNzb/mxu1tq5CerG/4YOx/pH9dZuyVfI2DjWDKF0C+0gClX6UqioPHsaT7xCA0QapTZOTO3eof2PH4CnQAtpzeebgEyNNGOHJpVcQ3ZjjRLW1nfkueyYh7cSOR2J1g61IVMhS9gnWS5InFrxdsyuyZlsvyqrcQaHQavGigABGfSmpJ0G/vsApYtQqmSYLiJGD3ASodJFhnNHeS7vMK+YlF9uwgQNHbJhj+KAwUyAnomWFykb4Th8aEljFcjQy9lSAWxcaCvyFgjh+zSQq6CwbPLN1EC25rGJw4RqZei4l/9ugoHdxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g9LYNhky0ZalROPfhA/Bob2ZCWbNaeuhw3jQBlclqL8=;
 b=LJhhXzxrf1TK7unkMB/YGMRIDBRl1aaNKkeXszAd0lIz5qWjLRyYe1gYIakDvWx7+HoAMUyRp3aRyVz9HDSujYDkVF7P6/Wbe1MprqGvpAQ5X2oHYx88pwLiv7yWQVoGGbLL1c9Xpz0JzKJCwkZiUdyAsQyUqljWzjejtDRwLO5XMYWwzRkwD4Dbw7VfgnU4fqRTYx18TXfQ4e7pTABNcOlWN72qRZZAQ07WUSEDS6SlH20TcrU1h3tnD5r1crElG+IbzTipPxGazSIEdYoT1ZHWd0zE9iIdGP5B1VTnspykyygZYtGFvTh6jPKWc40gweCnzSg4xdImiludLlXPeQ==
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
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=g9LYNhky0ZalROPfhA/Bob2ZCWbNaeuhw3jQBlclqL8=;
 b=zv61kRB4y3GPlqjBEh1kLAw5jKywBYoJrvlu5jjYIVukSCbFPAfdv6p98LWDqASHe6tSjzjMbt6MhhSnYNI0qB63WW2lA92QuKfqcrF+Rc+SlUknVjopBuPCs5bJUZOd5jJwcrsghE1E/xB5yTK2p8+rGOt5vPKbTOdbVJkQLxU=
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: <2cfc0751-4360-5899-c93a-56ef952a6b2b@amd.com>
Date: Thu, 16 Mar 2023 15:15:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] xen/console: Skip switching serial input to non
 existing domains
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: <20230316102635.6497-1-michal.orzel@amd.com>
 <d9654392-ce4b-07b6-9be0-7a6d4230c287@suse.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <d9654392-ce4b-07b6-9be0-7a6d4230c287@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT067:EE_|IA0PR12MB8906:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b086b14-5d9f-4bbe-f912-08db2628d7f2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZfCvreO9ZJbXM3De0S2LIvy7WohFt4cmyq9MGypgDwPEqNWS6dKc26EEJoYpEFYq2gLXifBs7FxWycYNoJlN70JcupAdkAazFWZx3BVKe242oI2JiVCLZhLZbZQxRic+gsy63prEl867zL/c+nR37f7iuSI6Z910kNuq3mIQ1pKTH3mToX9gLFan0iPBD2qStKJDT81tWop9SQIEV3lfcwqAzV/yNIOI4FXoOcDMddbiPcgssexKmVoHGv0GIU1J+92wvePY2HGlvkv5xwoGZgxxrJKQuH/MAePgsTA3FmP6Ps328opAbkyJnXakkhIzZyjnxDsP+PTtQX/J68ZaTDUUxngcd6GuCkCtlFdOZCrAbN5J53RuKXr0KbkVJIzOyA6YPa2TTuKgDHp/YXeXPFxYuxYQYpNV5fjn4JDGuaHK/SaCbh+eNLJf+FB2lHG3Tq9UdlszoPX5SPwjKZ445czVMw3I82/sfpQaT2J9LLA/HTjlRfHHKXstRea3nMqQrGjFSWFzm7/6OYa+QE7pN1ULXdGzeZSY+S4WtLjXCs11j+2bEK/z+hSk1zwk2OmMMlg7+SQIjve5niZaAbWFnHhjbkczcDW/2nOjijMfOSNqnJk3QYGb8qLQ7bEoqU+DPpxAePaiV1gaeTW8jZ901bCEwZ2hJr7Y5tDMY8UucV8FVpaAAoGLwH/aTm9UHT14jCJfmpcX91XyR7NL2W3TUEAxQ1cuFa9wQZ22aWQdQWCXLFPymas5MeNQc0+fKLBLmTyI42vF7W3H4YCeMcIV6w==
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:(13230025)(4636009)(376002)(136003)(39860400002)(396003)(346002)(451199018)(40470700004)(46966006)(36840700001)(356005)(86362001)(36860700001)(31696002)(81166007)(36756003)(44832011)(82740400003)(2906002)(41300700001)(8936002)(5660300002)(40480700001)(82310400005)(4326008)(2616005)(26005)(186003)(53546011)(83380400001)(47076005)(54906003)(16576012)(316002)(336012)(426003)(8676002)(6916009)(70586007)(478600001)(70206006)(40460700003)(31686004)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 14:15:06.3660
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b086b14-5d9f-4bbe-f912-08db2628d7f2
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:
	CO1NAM11FT067.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8906



On 16/03/2023 12:11, Jan Beulich wrote:
> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
> 
> 
> On 16.03.2023 11:26, Michal Orzel wrote:
>> --- a/xen/drivers/char/console.c
>> +++ b/xen/drivers/char/console.c
>> @@ -490,7 +490,24 @@ static void switch_serial_input(void)
>>      }
>>      else
>>      {
>> -        console_rx++;
>> +        unsigned int next_rx = console_rx + 1;
>> +
>> +        /* Skip switching serial input to non existing domains */
>> +        while ( next_rx < max_init_domid + 1 )
>> +        {
>> +            struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
>> +
>> +            if ( d )
>> +            {
>> +                rcu_unlock_domain(d);
>> +                break;
>> +            }
>> +
>> +            next_rx++;
>> +        }
>> +
>> +        console_rx = next_rx;
>> +
>>          printk("*** Serial input to DOM%d", console_rx - 1);
>>      }
> 
> While at the first glance (when you sent it in reply to v1) it looked okay,
> I'm afraid it really isn't: Please consider what happens when the last of
> the DomU-s doesn't exist anymore. (You don't really check whether it still
> exists, because the range check comes ahead of the existence one.) In that
> case you want to move from second-to-last to Xen. I expect the entire
> if/else construct wants to be inside the loop.
I did this deliberately because I do not think the situation you describe is possible
(i.e. no domains at all - Xen still usable). With hardware domain in place, we can e.g. destroy the domain
which would invoke domain_kill() -> domain_destroy() that would free domain struct.
Without hwdom, the domain cannot kill/destroy itself. It can do the shutdown but it will not
destroy it (at least this is what I tested). So I do not think there can be a scenario where
there is not a single domain while Xen running and be usable.

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 14:21:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 14:21:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510640.788685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcoTS-0003nS-8m; Thu, 16 Mar 2023 14:20:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510640.788685; Thu, 16 Mar 2023 14: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 1pcoTS-0003nL-64; Thu, 16 Mar 2023 14:20:58 +0000
Received: by outflank-mailman (input) for mailman id 510640;
 Thu, 16 Mar 2023 14:20: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=3e+z=7I=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pcoTQ-0003mw-PC
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 14:20:56 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c2d5e837-c405-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 15:20: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 D8A071FE03;
 Thu, 16 Mar 2023 14:20: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 55BCA133E0;
 Thu, 16 Mar 2023 14:20:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id KDQlE8UlE2SCZAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 16 Mar 2023 14: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: c2d5e837-c405-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1678976453; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=7rqzkqoekOUFHTE5TG0JkRVzH2ov10W0GK0gS8eKwlw=;
	b=Gv7jTC449UZeiVLbSbJ5VL8ibGpzRyS9Xftv+4ZMCeB4OxZvt4U+VEYdm9PjUH2ouFrdLK
	0dUFcOtQYUKajc1M0ssbk/syB0/8uWnIlcab3dyweh9uzmAmrw6TF2gMXOJEVp1H47+ms0
	o8DOWZlatURdA1FxEDGRY3ZEIwuhFxg=
Message-ID: <d256a967-f50e-2e19-1985-aa9cfc0e8b18@suse.com>
Date: Thu, 16 Mar 2023 15:20:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: Alex Deucher <alexdeucher@gmail.com>
Cc: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Honglei Huang <honglei1.huang@amd.com>, amd-gfx@lists.freedesktop.org,
 dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
 Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Huang Rui <ray.huang@amd.com>, Chen Jiqian <Jiqian.Chen@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 Alex Deucher <alexander.deucher@amd.com>, xen-devel@lists.xenproject.org,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Julia Zhang <julia.zhang@amd.com>, =?UTF-8?Q?Christian_K=c3=b6nig?=
 <christian.koenig@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-2-ray.huang@amd.com>
 <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com>
 <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
 <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com>
 <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop>
 <5e22a45d-6f12-da9b-94f6-3112a30e8574@suse.com>
 <CADnq5_PH9ZqDqpPES74V3fB3NVpaexDoGTyu_+-zoux5vgagyg@mail.gmail.com>
 <dcb54275-b21f-a837-76bb-e19e331a0666@suse.com>
 <CADnq5_PpCWrZzQdE_X6ZnuNU3ktVeC6TbmE5vq3K6rCAdB8GTg@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
In-Reply-To: <CADnq5_PpCWrZzQdE_X6ZnuNU3ktVeC6TbmE5vq3K6rCAdB8GTg@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------snWYocCElH8aj08SzfxiNqji"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------snWYocCElH8aj08SzfxiNqji
Content-Type: multipart/mixed; boundary="------------Ehfs40kqb3RztTpecUkkpx7N";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Alex Deucher <alexdeucher@gmail.com>
Cc: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Honglei Huang <honglei1.huang@amd.com>, amd-gfx@lists.freedesktop.org,
 dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
 Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Huang Rui <ray.huang@amd.com>, Chen Jiqian <Jiqian.Chen@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 Alex Deucher <alexander.deucher@amd.com>, xen-devel@lists.xenproject.org,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Julia Zhang <julia.zhang@amd.com>, =?UTF-8?Q?Christian_K=c3=b6nig?=
 <christian.koenig@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
Message-ID: <d256a967-f50e-2e19-1985-aa9cfc0e8b18@suse.com>
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-2-ray.huang@amd.com>
 <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com>
 <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
 <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com>
 <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop>
 <5e22a45d-6f12-da9b-94f6-3112a30e8574@suse.com>
 <CADnq5_PH9ZqDqpPES74V3fB3NVpaexDoGTyu_+-zoux5vgagyg@mail.gmail.com>
 <dcb54275-b21f-a837-76bb-e19e331a0666@suse.com>
 <CADnq5_PpCWrZzQdE_X6ZnuNU3ktVeC6TbmE5vq3K6rCAdB8GTg@mail.gmail.com>
In-Reply-To: <CADnq5_PpCWrZzQdE_X6ZnuNU3ktVeC6TbmE5vq3K6rCAdB8GTg@mail.gmail.com>

--------------Ehfs40kqb3RztTpecUkkpx7N
Content-Type: multipart/mixed; boundary="------------1b41NgLaiQsjMb7RKLLGi4fU"

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

T24gMTYuMDMuMjMgMTQ6NTMsIEFsZXggRGV1Y2hlciB3cm90ZToNCj4gT24gVGh1LCBNYXIg
MTYsIDIwMjMgYXQgOTo0OOKAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gT24gMTYuMDMuMjMgMTQ6NDUsIEFsZXggRGV1Y2hlciB3cm90ZToN
Cj4+PiBPbiBUaHUsIE1hciAxNiwgMjAyMyBhdCAzOjUw4oCvQU0gSmFuIEJldWxpY2ggPGpi
ZXVsaWNoQHN1c2UuY29tPiB3cm90ZToNCj4+Pj4NCj4+Pj4gT24gMTYuMDMuMjAyMyAwMDoy
NSwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOg0KPj4+Pj4gT24gV2VkLCAxNSBNYXIgMjAy
MywgSmFuIEJldWxpY2ggd3JvdGU6DQo+Pj4+Pj4gT24gMTUuMDMuMjAyMyAwMTo1MiwgU3Rl
ZmFubyBTdGFiZWxsaW5pIHdyb3RlOg0KPj4+Pj4+PiBPbiBNb24sIDEzIE1hciAyMDIzLCBK
YW4gQmV1bGljaCB3cm90ZToNCj4+Pj4+Pj4+IE9uIDEyLjAzLjIwMjMgMTM6MDEsIEh1YW5n
IFJ1aSB3cm90ZToNCj4+Pj4+Pj4+PiBYZW4gUFZIIGlzIHRoZSBwYXJhdmlydHVhbGl6ZWQg
bW9kZSBhbmQgdGFrZXMgYWR2YW50YWdlIG9mIGhhcmR3YXJlDQo+Pj4+Pj4+Pj4gdmlydHVh
bGl6YXRpb24gc3VwcG9ydCB3aGVuIHBvc3NpYmxlLiBJdCB3aWxsIHVzaW5nIHRoZSBoYXJk
d2FyZSBJT01NVQ0KPj4+Pj4+Pj4+IHN1cHBvcnQgaW5zdGVhZCBvZiB4ZW4tc3dpb3RsYiwg
c28gZGlzYWJsZSBzd2lvdGxiIGlmIGN1cnJlbnQgZG9tYWluIGlzDQo+Pj4+Pj4+Pj4gWGVu
IFBWSC4NCj4+Pj4+Pj4+DQo+Pj4+Pj4+PiBCdXQgdGhlIGtlcm5lbCBoYXMgbm8gd2F5ICh5
ZXQpIHRvIGRyaXZlIHRoZSBJT01NVSwgc28gaG93IGNhbiBpdCBnZXQNCj4+Pj4+Pj4+IGF3
YXkgd2l0aG91dCByZXNvcnRpbmcgdG8gc3dpb3RsYiBpbiBjZXJ0YWluIGNhc2VzIChsaWtl
IEkvTyB0byBhbg0KPj4+Pj4+Pj4gYWRkcmVzcy1yZXN0cmljdGVkIGRldmljZSk/DQo+Pj4+
Pj4+DQo+Pj4+Pj4+IEkgdGhpbmsgUmF5IG1lYW50IHRoYXQsIHRoYW5rcyB0byB0aGUgSU9N
TVUgc2V0dXAgYnkgWGVuLCB0aGVyZSBpcyBubw0KPj4+Pj4+PiBuZWVkIGZvciBzd2lvdGxi
LXhlbiBpbiBEb20wLiBBZGRyZXNzIHRyYW5zbGF0aW9ucyBhcmUgZG9uZSBieSB0aGUgSU9N
TVUNCj4+Pj4+Pj4gc28gd2UgY2FuIHVzZSBndWVzdCBwaHlzaWNhbCBhZGRyZXNzZXMgaW5z
dGVhZCBvZiBtYWNoaW5lIGFkZHJlc3NlcyBmb3INCj4+Pj4+Pj4gRE1BLiBUaGlzIGlzIGEg
c2ltaWxhciBjYXNlIHRvIERvbTAgb24gQVJNIHdoZW4gdGhlIElPTU1VIGlzIGF2YWlsYWJs
ZQ0KPj4+Pj4+PiAoc2VlIGluY2x1ZGUveGVuL2FybS9zd2lvdGxiLXhlbi5oOnhlbl9zd2lv
dGxiX2RldGVjdCwgdGhlIGNvcnJlc3BvbmRpbmcNCj4+Pj4+Pj4gY2FzZSBpcyBYRU5GRUFU
X25vdF9kaXJlY3RfbWFwcGVkKS4NCj4+Pj4+Pg0KPj4+Pj4+IEJ1dCBob3cgZG9lcyBYZW4g
dXNpbmcgYW4gSU9NTVUgaGVscCB3aXRoLCBhcyBzYWlkLCBhZGRyZXNzLXJlc3RyaWN0ZWQN
Cj4+Pj4+PiBkZXZpY2VzPyBUaGV5IG1heSBzdGlsbCBuZWVkIGUuZy4gYSAzMi1iaXQgYWRk
cmVzcyB0byBiZSBwcm9ncmFtbWVkIGluLA0KPj4+Pj4+IGFuZCBpZiB0aGUga2VybmVsIGhh
cyBtZW1vcnkgYmV5b25kIHRoZSA0RyBib3VuZGFyeSBub3QgYWxsIEkvTyBidWZmZXJzDQo+
Pj4+Pj4gbWF5IGZ1bGZpbGwgdGhpcyByZXF1aXJlbWVudC4NCj4+Pj4+DQo+Pj4+PiBJbiBz
aG9ydCwgaXQgaXMgZ29pbmcgdG8gd29yayBhcyBsb25nIGFzIExpbnV4IGhhcyBndWVzdCBw
aHlzaWNhbA0KPj4+Pj4gYWRkcmVzc2VzIChub3QgbWFjaGluZSBhZGRyZXNzZXMsIHRob3Nl
IGNvdWxkIGJlIGFueXRoaW5nKSBsb3dlciB0aGFuDQo+Pj4+PiA0R0IuDQo+Pj4+Pg0KPj4+
Pj4gSWYgdGhlIGFkZHJlc3MtcmVzdHJpY3RlZCBkZXZpY2UgZG9lcyBETUEgdmlhIGFuIElP
TU1VLCB0aGVuIHRoZSBkZXZpY2UNCj4+Pj4+IGdldHMgcHJvZ3JhbW1lZCBieSBMaW51eCB1
c2luZyBpdHMgZ3Vlc3QgcGh5c2ljYWwgYWRkcmVzc2VzIChub3QgbWFjaGluZQ0KPj4+Pj4g
YWRkcmVzc2VzKS4NCj4+Pj4+DQo+Pj4+PiBUaGUgMzItYml0IHJlc3RyaWN0aW9uIHdvdWxk
IGJlIGFwcGxpZWQgYnkgTGludXggdG8gaXRzIGNob2ljZSBvZiBndWVzdA0KPj4+Pj4gcGh5
c2ljYWwgYWRkcmVzcyB0byB1c2UgdG8gcHJvZ3JhbSB0aGUgZGV2aWNlLCB0aGUgc2FtZSB3
YXkgaXQgZG9lcyBvbg0KPj4+Pj4gbmF0aXZlLiBUaGUgZGV2aWNlIHdvdWxkIGJlIGZpbmUg
YXMgaXQgYWx3YXlzIHVzZXMgTGludXgtcHJvdmlkZWQgPDRHQg0KPj4+Pj4gYWRkcmVzc2Vz
LiBBZnRlciB0aGUgSU9NTVUgdHJhbnNsYXRpb24gKHBhZ2V0YWJsZSBzZXR1cCBieSBYZW4p
LCB3ZQ0KPj4+Pj4gY291bGQgZ2V0IGFueSBhZGRyZXNzLCBpbmNsdWRpbmcgPjRHQiBhZGRy
ZXNzZXMsIGFuZCB0aGF0IGlzIGV4cGVjdGVkIHRvDQo+Pj4+PiB3b3JrLg0KPj4+Pg0KPj4+
PiBJIHVuZGVyc3RhbmQgdGhhdCdzIHRoZSAibm9ybWFsIiB3YXkgb2Ygd29ya2luZy4gQnV0
IHdoYXRldmVyIHRoZSBzd2lvdGxiDQo+Pj4+IGlzIHVzZWQgZm9yIGluIGJhcmVtZXRhbCBM
aW51eCwgdGhhdCB3b3VsZCBzaW1pbGFybHkgcmVxdWlyZSBpdHMgdXNlIGluDQo+Pj4+IFBW
SCAob3IgSFZNKSBhaXVpLiBTbyB1bmNvbmRpdGlvbmFsbHkgZGlzYWJsaW5nIGl0IGluIFBW
SCB3b3VsZCBsb29rIHRvDQo+Pj4+IG1lIGxpa2UgYW4gaW5jb21wbGV0ZSBhdHRlbXB0IHRv
IGRpc2FibGUgaXRzIHVzZSBhbHRvZ2V0aGVyIG9uIHg4Ni4gV2hhdA0KPj4+PiBkaWZmZXJl
bmNlIG9mIFBWSCB2cyBiYXJlbWV0YWwgYW0gSSBtaXNzaW5nIGhlcmU/DQo+Pj4NCj4+PiBz
d2lvdGxiIGlzIG5vdCB1c2FibGUgZm9yIEdQVXMgZXZlbiBvbiBiYXJlIG1ldGFsLiAgVGhl
eSBvZnRlbiBoYXZlDQo+Pj4gaHVuZHJlZHMgb3IgbWVncyBvciBldmVuIGdpZ3Mgb2YgbWVt
b3J5IG1hcHBlZCBvbiB0aGUgZGV2aWNlIGF0IGFueQ0KPj4+IGdpdmVuIHRpbWUuICBBbHNv
LCBBTUQgR1BVcyBzdXBwb3J0IDQ0LTQ4IGJpdCBETUEgbWFza3MgKGRlcGVuZGluZyBvbg0K
Pj4+IHRoZSBjaGlwIGZhbWlseSkuDQo+Pg0KPj4gQnV0IHRoZSBzd2lvdGxiIGlzbid0IHBl
ciBkZXZpY2UsIGJ1dCBzeXN0ZW0gZ2xvYmFsLg0KPiANCj4gU3VyZSwgYnV0IGlmIHRoZSBz
d2lvdGxiIGlzIGluIHVzZSwgdGhlbiB5b3UgY2FuJ3QgcmVhbGx5IHVzZSB0aGUgR1BVLg0K
PiBTbyB5b3UgZ2V0IHRvIHBpY2sgb25lLg0KDQpUaGUgc3dpb3RsYiBpcyB1c2VkIG9ubHkg
Zm9yIGJ1ZmZlcnMgd2hpY2ggYXJlIG5vdCB3aXRoaW4gdGhlIERNQSBtYXNrIG9mIGENCmRl
dmljZSAoc2VlIGRtYV9kaXJlY3RfbWFwX3BhZ2UoKSkuIFNvIGFuIEFNRCBHUFUgc3VwcG9y
dGluZyBhIDQ0IGJpdCBETUEgbWFzaw0Kd29uJ3QgdXNlIHRoZSBzd2lvdGxiIHVubGVzcyB5
b3UgaGF2ZSBhIGJ1ZmZlciBhYm92ZSBndWVzdCBwaHlzaWNhbCBhZGRyZXNzIG9mDQoxNlRC
IChzbyBiYXNpY2FsbHkgbmV2ZXIpLg0KDQpEaXNhYmxpbmcgc3dpb3RsYiBpbiBzdWNoIGEg
Z3Vlc3Qgd291bGQgT1RPSCBtZWFuLCB0aGF0IGEgZGV2aWNlIHdpdGggb25seQ0KMzIgYml0
IERNQSBtYXNrIHBhc3NlZCB0aHJvdWdoIHRvIHRoaXMgZ3Vlc3QgY291bGRuJ3Qgd29yayB3
aXRoIGJ1ZmZlcnMNCmFib3ZlIDRHQi4NCg0KSSBkb24ndCB0aGluayB0aGlzIGlzIGFjY2Vw
dGFibGUuDQoNCg0KSnVlcmdlbg0K
--------------1b41NgLaiQsjMb7RKLLGi4fU
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-----

--------------1b41NgLaiQsjMb7RKLLGi4fU--

--------------Ehfs40kqb3RztTpecUkkpx7N--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQTJcQFAwAAAAAACgkQsN6d1ii/Ey9a
Cgf+NtMrsbKLxtEg0u5doZpUYGhlaT5lXs50IRjyg8b5KR1chByRTDNy3DQuyPbOz4AmeMgzsyT8
eJjKsUIFolwv6VODsTxe3nXk38UIsUdgNgPaeHIXwfbq//tmBSpU/w1MA4qs/aj7rvOlEM5/7qVz
scQK+B1R+FJqrCDr1RLniNcKgp1bAQHK8aYRTPpJhDpZEvV2p6YRhKjQdOXZjc3q2fnyySvuxG5J
IP7QjnBiwCFPR+8EVjYMySUutFhx3ZlcQopmTrZ+SBSxRJAKyus0N7QW3OWu8AvKm5U+IgeKjV47
sLmb7quNbt4h9jO8eqRhSD0reGeYvRhUNu+LBI3MNQ==
=mE+n
-----END PGP SIGNATURE-----

--------------snWYocCElH8aj08SzfxiNqji--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 14:22:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 14:22:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510644.788696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcoVI-0004Ob-Om; Thu, 16 Mar 2023 14:22:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510644.788696; Thu, 16 Mar 2023 14:22: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 1pcoVI-0004OU-Lh; Thu, 16 Mar 2023 14:22:52 +0000
Received: by outflank-mailman (input) for mailman id 510644;
 Thu, 16 Mar 2023 14:22: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=9DP6=7I=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1pcoVH-0004OM-0p
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 14:22:51 +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 0724fa1c-c406-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 15:22:48 +0100 (CET)
Received: by mail-lj1-x233.google.com with SMTP id b10so1906629ljr.0
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 07:22: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: 0724fa1c-c406-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1678976568;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=lKb/+pb9bjoimOuRe3ZtKUo81LKWT5Zgm2YSS91Y/ew=;
        b=hTZDmjBjVdv18KU+EjAHPJpjBpofDafIZDlvzgJBEeZF1+x9UdWhlL3IuZ4SwguvJG
         tJBnY9h3WCwNGFV8Lu/N7PHDml5dl1mFB/SB1/sU4F/PejFmZBCtXTF1VeQy4sUtWhbW
         Co+25+xgn1zGcC+pxbBV5ivy8WenVKCB3oSFI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678976568;
        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=lKb/+pb9bjoimOuRe3ZtKUo81LKWT5Zgm2YSS91Y/ew=;
        b=tSrSE5kQ/Zzco9h+bJnP28q5SIXWnisGkCgH0sg8ccpWraNwRG/q1dxTY0rV7hIl/F
         6WVCDUa1+ZvedLbf7tV/VAqSa11M3/A9TLxOQf/FvjMqDdhb0P/S+W/sKqbV++4ujiU9
         qKy0GzSqUxmcGvh5Y0t0CyygI8aR3KTiBlFWhQKbRXGf5DngN1CSXoERkOBcJPPbvyDd
         FS+KeTOJPdEMcxzWiseLqrnc6EmqdhTde0as6mvkV+Rf0bZcvvo/kKlH+wf0XBnWPGSe
         SDRt5P/YVCN4eDG1HUkerYcmHZOzPmyGnJ/JA+zwQZq+yuJXI3s3B4r0AcdIRzt73jMP
         vi5Q==
X-Gm-Message-State: AO0yUKXXt6zNvP42/kvGvq/VmA/KKa/6ea32KjYcRTskzC+YmWvlWQQv
	kzYwdTm4L2xUVWuGAxZ6BaGAktR0QxNMlIrk/c6yrw==
X-Google-Smtp-Source: AK7set80psIKX2xtSzam6vVB9ttwJQ6M6SIfxdiGPWykpN6yjykcn6tOz+8jMxiTNye680JB9znw4rQ6wBBkU/Grc8E=
X-Received: by 2002:a2e:2419:0:b0:299:7665:7e61 with SMTP id
 k25-20020a2e2419000000b0029976657e61mr933571ljk.6.1678976568328; Thu, 16 Mar
 2023 07:22:48 -0700 (PDT)
MIME-Version: 1.0
References: <20230316102635.6497-1-michal.orzel@amd.com> <d9654392-ce4b-07b6-9be0-7a6d4230c287@suse.com>
 <2cfc0751-4360-5899-c93a-56ef952a6b2b@amd.com>
In-Reply-To: <2cfc0751-4360-5899-c93a-56ef952a6b2b@amd.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Thu, 16 Mar 2023 14:22:37 +0000
Message-ID: <CA+zSX=ZPO6jknRVXgAreu65CHQA_3LvVc0FYbFues1==PV7mvA@mail.gmail.com>
Subject: Re: [PATCH v2] xen/console: Skip switching serial input to non
 existing domains
To: Michal Orzel <michal.orzel@amd.com>
Cc: 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>, xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000f117b005f70531cd"

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

On Thu, Mar 16, 2023 at 2:15=E2=80=AFPM Michal Orzel <michal.orzel@amd.com>=
 wrote:

>
>
> On 16/03/2023 12:11, Jan Beulich wrote:
> > Caution: This message originated from an External Source. Use proper
> caution when opening attachments, clicking links, or responding.
> >
> >
> > On 16.03.2023 11:26, Michal Orzel wrote:
> >> --- a/xen/drivers/char/console.c
> >> +++ b/xen/drivers/char/console.c
> >> @@ -490,7 +490,24 @@ static void switch_serial_input(void)
> >>      }
> >>      else
> >>      {
> >> -        console_rx++;
> >> +        unsigned int next_rx =3D console_rx + 1;
> >> +
> >> +        /* Skip switching serial input to non existing domains */
> >> +        while ( next_rx < max_init_domid + 1 )
> >> +        {
> >> +            struct domain *d =3D rcu_lock_domain_by_id(next_rx - 1);
> >> +
> >> +            if ( d )
> >> +            {
> >> +                rcu_unlock_domain(d);
> >> +                break;
> >> +            }
> >> +
> >> +            next_rx++;
> >> +        }
> >> +
> >> +        console_rx =3D next_rx;
> >> +
> >>          printk("*** Serial input to DOM%d", console_rx - 1);
> >>      }
> >
> > While at the first glance (when you sent it in reply to v1) it looked
> okay,
> > I'm afraid it really isn't: Please consider what happens when the last =
of
> > the DomU-s doesn't exist anymore. (You don't really check whether it
> still
> > exists, because the range check comes ahead of the existence one.) In
> that
> > case you want to move from second-to-last to Xen. I expect the entire
> > if/else construct wants to be inside the loop.
> I did this deliberately because I do not think the situation you describe
> is possible
> (i.e. no domains at all - Xen still usable). With hardware domain in
> place, we can e.g. destroy the domain
> which would invoke domain_kill() -> domain_destroy() that would free
> domain struct.
> Without hwdom, the domain cannot kill/destroy itself. It can do the
> shutdown but it will not
> destroy it (at least this is what I tested). So I do not think there can
> be a scenario where
> there is not a single domain while Xen running and be usable.


We've actually been discussing something like this.  Consider if someone
wanted to use Xen as part of a system architected like Amazon's Nitro: You
could have a DPU that ran the "toolstack", and gave Xen commands to create
or destroy domains.  It could dynamically create SRIOV PCI devices to be
passed directly through to guests.  In this case, you might run into a
situation where no VMs existed, and yet the system was not dead.

 -George

--000000000000f117b005f70531cd
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Thu, Mar 16, 2023 at 2:15=E2=80=AF=
PM Michal Orzel &lt;<a href=3D"mailto:michal.orzel@amd.com">michal.orzel@am=
d.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"ma=
rgin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:=
1ex"><br>
<br>
On 16/03/2023 12:11, Jan Beulich wrote:<br>
&gt; Caution: This message originated from an External Source. Use proper c=
aution when opening attachments, clicking links, or responding.<br>
&gt; <br>
&gt; <br>
&gt; On 16.03.2023 11:26, Michal Orzel wrote:<br>
&gt;&gt; --- a/xen/drivers/char/console.c<br>
&gt;&gt; +++ b/xen/drivers/char/console.c<br>
&gt;&gt; @@ -490,7 +490,24 @@ static void switch_serial_input(void)<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 }<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 else<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 {<br>
&gt;&gt; -=C2=A0 =C2=A0 =C2=A0 =C2=A0 console_rx++;<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 unsigned int next_rx =3D console_rx +=
 1;<br>
&gt;&gt; +<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 /* Skip switching serial input to non=
 existing domains */<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 while ( next_rx &lt; max_init_domid +=
 1 )<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 {<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 struct domain *d =3D rc=
u_lock_domain_by_id(next_rx - 1);<br>
&gt;&gt; +<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if ( d )<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 {<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 rcu_unloc=
k_domain(d);<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 break;<br=
>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
&gt;&gt; +<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 next_rx++;<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
&gt;&gt; +<br>
&gt;&gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 console_rx =3D next_rx;<br>
&gt;&gt; +<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 printk(&quot;*** Serial input to=
 DOM%d&quot;, console_rx - 1);<br>
&gt;&gt;=C2=A0 =C2=A0 =C2=A0 }<br>
&gt; <br>
&gt; While at the first glance (when you sent it in reply to v1) it looked =
okay,<br>
&gt; I&#39;m afraid it really isn&#39;t: Please consider what happens when =
the last of<br>
&gt; the DomU-s doesn&#39;t exist anymore. (You don&#39;t really check whet=
her it still<br>
&gt; exists, because the range check comes ahead of the existence one.) In =
that<br>
&gt; case you want to move from second-to-last to Xen. I expect the entire<=
br>
&gt; if/else construct wants to be inside the loop.<br>
I did this deliberately because I do not think the situation you describe i=
s possible<br>
(i.e. no domains at all - Xen still usable). With hardware domain in place,=
 we can e.g. destroy the domain<br>
which would invoke domain_kill() -&gt; domain_destroy() that would free dom=
ain struct.<br>
Without hwdom, the domain cannot kill/destroy itself. It can do the shutdow=
n but it will not<br>
destroy it (at least this is what I tested). So I do not think there can be=
 a scenario where<br>
there is not a single domain while Xen running and be usable.</blockquote><=
div><br></div><div>We&#39;ve actually been discussing something like this.=
=C2=A0 Consider if someone wanted to use Xen as part of a system architecte=
d like Amazon&#39;s Nitro: You could have a DPU that ran the &quot;toolstac=
k&quot;, and gave Xen commands to create or destroy domains.=C2=A0 It could=
 dynamically create SRIOV PCI devices to be passed directly through to gues=
ts.=C2=A0 In this case, you might run into a situation where no VMs existed=
, and yet the system was not dead.</div><div><br></div><div>=C2=A0-George</=
div></div></div>

--000000000000f117b005f70531cd--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 14:39:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 14:39:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510647.788709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcolV-0006WN-4h; Thu, 16 Mar 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 510647.788709; Thu, 16 Mar 2023 14: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 1pcolV-0006WG-1q; Thu, 16 Mar 2023 14:39:37 +0000
Received: by outflank-mailman (input) for mailman id 510647;
 Thu, 16 Mar 2023 14: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcolT-0006WA-M2
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 14:39:35 +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 5e97beab-c408-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 15:39:34 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id cy23so8470658edb.12
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 07:39:34 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 q16-20020a1709060e5000b008b980c3e013sm3970187eji.179.2023.03.16.07.39.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 07:39: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: 5e97beab-c408-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678977574;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=0WoQS+bl9ik87f+wKqiqUNywEFPDuqMEAzeMRb3Bv8s=;
        b=mfmrUqe8lU9YhH3myUA3j8TYpht3kw4m5uKYJ5de4DNHSfqv3toN82QrhI1ceWdtWT
         b0lX1y8cMZiRKWPhAbG8dBFUYpfaYdA7j+TyR9JJHXbYBNtnNvcrQixUHlWFVz0h58yS
         xEKLrw1mCihUmy+ruB81xa+i/EESTva0OIuMCfttsOxbKZ684+v5R1l+lCu2D9HCWHDz
         MAr0WsxDuJjJ5rJtFCgdlnURC7i8+6yNLFMTnTJxkQ/uNxwjSNgfT5jTpTlsnbqQM5Ax
         0aez6u25303CTGkaFDMROo11Gj4q3OYiCD9IUBgpNxK9vkPwimboROfSnGqDMA0Xy9Aa
         rPvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678977574;
        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=0WoQS+bl9ik87f+wKqiqUNywEFPDuqMEAzeMRb3Bv8s=;
        b=CSJqb7ze0hc8dZktk5qkY9ieYhajhi+odK8c5F0FMshBi17eP/Z4b6wlupgP4V+d7O
         xYS3a+m0Tva4EFnLuK23+DOi4J1jzuWd3Vg1t36PMkX1cGukQP568Fufbz/SYP+/EvU9
         mFdRLa35vnAWegjzwTRWSvQDo0KCSfQOKF+5Dptpjx3FbnF3OE/HV+TF5dYAWBCpwnqS
         dPuYAHoWkI0ljbxY1Ui+rd/ucl3ahITF+zxYQ7tMdXJKF744YNhmRSLHQBMk5mn8hWtU
         xDjpa8d5FtUG1uY2Qmheg+8OLN8Z7fPx4UF4fHV3qfxbkJGNVe7K+b4V77n5DMANPkd7
         WHNA==
X-Gm-Message-State: AO0yUKWxkUcBS/+omtdhyhGTFr0r66AGMU1xILCnaS54EwTP056f1rzG
	JsdpBycXiqGVs+ZI0IkFFnQpPEqVjV+fjQ==
X-Google-Smtp-Source: AK7set+px2KAPYMmtzZU1BVc6pKcg9bhwUKYmQgkFRZNDMlFpJUvMz3CGJdkmdKXPClDql2wEej5QQ==
X-Received: by 2002:a17:906:8393:b0:8ae:f73e:233f with SMTP id p19-20020a170906839300b008aef73e233fmr11714411ejx.32.1678977573784;
        Thu, 16 Mar 2023 07:39:33 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v5 0/7] RISCV basic exception handling implementation
Date: Thu, 16 Mar 2023 16:39:22 +0200
Message-Id: <cover.1678976127.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch series is based on:
* [introduce generic implementation of macros from bug.h][1]
* [Do basic initialization things][2]
* [Deal with GOT stuff for RISC-V][3]
which haven't been commited yet.

The patch series provides a basic implementation of exception handling.
It can do only basic things such as decode a cause of an exception,
save/restore registers and execute "wfi" instruction if an exception
can not be handled.

To verify that exception handling works well it was implemented macros
from <asm/bug.h> such as BUG/WARN/run_in_exception/assert_failed.
The implementation of macros is used "ebreak" instruction and set up bug
frame tables for each type of macros.
Also it was implemented register save/restore to return and continue work
after WARN/run_in_exception.
Not all functionality of the macros was implemented as some of them
require hard-panic the system which is not available now. Instead of
hard-panic 'wfi' instruction is used but it should be definitely changed
in the neareset future.
It wasn't implemented show_execution_state() and stack trace discovering
as it's not necessary now.

[1] https://lore.kernel.org/xen-devel/cover.1678900513.git.oleksii.kurochko@gmail.com/
[2] https://lore.kernel.org/xen-devel/cover.1677838213.git.oleksii.kurochko@gmail.com/
[3] https://lore.kernel.org/xen-devel/69e031eb-6172-1ab0-5ffa-4650f69e83a7@citrix.com/T/#t
---
Changes in V5:
 - Rebase on top of [1] and [2]
 - Add new patch which introduces stub for <asm/bug.h> to keep Xen compilable
   as in the patch [xen/riscv: introduce decode_cause() stuff] is used
   header <xen/lib.h> which requires <asm/bug.h>.
 - Remove <xen/error.h> from riscv/traps/c as nothing would require
   inclusion.
 - decode_reserved_interrupt_cause(), decode_interrupt_cause(),
   decode_cause, do_unexpected_trap() were made as static they are expected
   to be used only in traps.c
 - Remove "#include <xen/types.h>" from <asm/bug.h> as there is no any need in it anymore
 - Update macros GET_INSN_LENGTH: remove UL and 'unsigned int len;' from it
 - Remove " include <xen/bug.h>" from risc/setup.c. it is not needed in the current version of
   the patch
 - change an argument type from vaddr_t to uint32_t for is_valid_bugaddr and introduce 
   read_instr() to read instruction properly as the length of qinstruction can be
   either 32 or 16 bits.
 - Code style fixes
 - update the comments before do_bug_frame() in riscv/trap.c
 - [[PATCH v4 5/5] automation: modify RISC-V smoke test ] was dropped as it was provided
   more simple solution by Andrew.  CI: Simplify RISCV smoke testing
 - Refactor is_valid_bugaddr() function.
 - 2 new patches ([PATCH v5 {1-2}/7]) were introduced, the goal of which is to recalculate
   addresses used in traps.c, which can be linker time relative. It is needed as we don't
   have enabled MMU yet.
---
Changes in V4:
  - Rebase the patch series on top of new version of [introduce generic
    implementation of macros from bug.h] patch series.
  - Update the cover letter message as 'Early printk' was merged and
    the current one patch series is based only on [introduce generic
    implementation of macros from bug.h] which hasn't been commited yet.
  - The following patches of the patch series were merged to staging:
      [PATCH v3 01/14] xen/riscv: change ISA to r64G
      [PATCH v3 02/14] xen/riscv: add <asm/asm.h> header
      [PATCH v3 03/14] xen/riscv: add <asm/riscv_encoding.h header
      [PATCH v3 04/14] xen/riscv: add <asm/csr.h> header
      [PATCH v3 05/14] xen/riscv: introduce empty <asm/string.h>
      [PATCH v3 06/14] xen/riscv: introduce empty <asm/cache.h>
      [PATCH v3 07/14] xen/riscv: introduce exception context
      [PATCH v3 08/14] xen/riscv: introduce exception handlers implementation
      [PATCH v3 10/14] xen/riscv: mask all interrupts
  - Fix addressed comments in xen-devel mailing list.

---
Changes in V3:
  - Change the name of config RISCV_ISA_RV64IMA to RISCV_ISA_RV64G
    as instructions from Zicsr and Zifencei extensions aren't part of
    I extension any more.
  - Rebase the patch "xen/riscv: introduce an implementation of macros
    from <asm/bug.h>" on top of patch series [introduce generic implementation
    of macros from bug.h]
  - Update commit messages
---
Changes in V2:
  - take the latest riscv_encoding.h from OpenSBI, update it with Xen
    related changes, and update the commit message with "Origin:"
    tag and the commit message itself.
  - add "Origin:" tag to the commit messag of the patch
    [xen/riscv: add <asm/csr.h> header].
  - Remove the patch [xen/riscv: add early_printk_hnum() function] as the
    functionality provided by the patch isn't used now.
  - Refactor prcoess.h: move structure offset defines to asm-offsets.c,
    change register_t to unsigned long.
  - Refactor entry.S to use offsets defined in asm-offsets.C
  - Rename {__,}handle_exception to handle_trap() and do_trap() to be more
    consistent with RISC-V spec.
  - Merge the pathc which introduces do_unexpected_trap() with the patch
    [xen/riscv: introduce exception handlers implementation].
  - Rename setup_trap_handler() to trap_init() and update correspondingly
    the patches in the patch series.
  - Refactor bug.h, remove bug_instr_t type from it.
  - Refactor decode_trap_cause() function to be more optimization-friendly.
  - Add two new empty headers: <cache.h> and <string.h> as they are needed to
    include <xen/lib.h> which provides ARRAY_SIZE and other macros.
  - Code style fixes.
---

Oleksii Kurochko (7):
  xen/riscv: introduce boot information structure
  xen/riscv: initialize boot_info structure
  xen/riscv: introduce dummy <asm/bug.h>
  xen/riscv: introduce decode_cause() stuff
  xen/riscv: introduce trap_init()
  xen/riscv: introduce an implementation of macros from <asm/bug.h>
  xen/riscv: test basic handling stuff

 xen/arch/riscv/include/asm/boot-info.h |  15 ++
 xen/arch/riscv/include/asm/bug.h       |  38 ++++
 xen/arch/riscv/include/asm/processor.h |   2 +
 xen/arch/riscv/include/asm/traps.h     |   1 +
 xen/arch/riscv/riscv64/asm-offsets.c   |   3 +
 xen/arch/riscv/setup.c                 |  34 ++++
 xen/arch/riscv/traps.c                 | 233 ++++++++++++++++++++++++-
 xen/arch/riscv/xen.lds.S               |  10 ++
 8 files changed, 335 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/riscv/include/asm/boot-info.h
 create mode 100644 xen/arch/riscv/include/asm/bug.h

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 14:39:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 14:39:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510651.788743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcola-0007Ka-9W; Thu, 16 Mar 2023 14:39:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510651.788743; Thu, 16 Mar 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 1pcola-0007JL-4V; Thu, 16 Mar 2023 14:39:42 +0000
Received: by outflank-mailman (input) for mailman id 510651;
 Thu, 16 Mar 2023 14:39: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcolY-0006WA-H7
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 14:39:40 +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 61e69eac-c408-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 15:39:39 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id cy23so8471774edb.12
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 07:39:40 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 q16-20020a1709060e5000b008b980c3e013sm3970187eji.179.2023.03.16.07.39.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 07:39: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: 61e69eac-c408-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678977579;
        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=QwhZUEDbU03FgtZvxsT8dmiRdPOC/MCr+LKArTSUuK0=;
        b=LfCilxI99YjO1HEPhb9/5Iip+mUoAlN/FaC4RdMQLB1L7MweN8Y0FYUIgEuTj8lQ9D
         A7LZThJfxU43bPO/EFOOzPXyNC8DpsiB/qIoGH4KmUy5PZE2aHZqyyVCM0suNpEscGq6
         XYH1trmXu66/0Zh/dyZJYOUoZ/qEdbYpC/SmNY9yXp2Kj50K2gBSVXmYCFKI9++cOeCA
         oC+P6xoC/lFSoms266G4CvwNac21sXBfuEn2nyLnhy7ZzCJFt6acWBd87iqteL2ew+e7
         dnALpvuSIiKmciecZrGsLb39wf8eZi5aAR7lDUfrmUV+b+DrZ8MTrzh7fRDoHKsjHzkz
         ApgA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678977579;
        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=QwhZUEDbU03FgtZvxsT8dmiRdPOC/MCr+LKArTSUuK0=;
        b=3TPWYrcyNRa4g0nME061OxNhAloKw3ZZ3zf75knKrEELncxhXRsl+rHS4omE1loqkn
         hOrAa0u6l6z2YzpG9UsGqipyxLKrWTuDZTQ3GLYeIf5epDDnmeOTRw6gbAzJscSmfxOy
         GJXa4vauTh+54rwmIrL0SXvKJa+jwubZVFI+iMvsbGr6845Zxl2V5+cPY7Fri9XbqR3f
         T3/a1H5VCm8Ql6bZy8kOSeBY8sqihMH5qXLk2P7jNpaWTr8yYp3nSZ+huAnsl/3qU0fH
         9sYnP4/40fYfBg5oWOJCljUDcDeLTog0ERCcrJAdpfR+DwR/MlcuB28Kkl1rCsCS7oOK
         xp1A==
X-Gm-Message-State: AO0yUKVr/JqygDLbHDaKCsdwtkwrf/B6NMcPUuZmJiA3Ut7/PoB98vWD
	ZTswymlpZoGpbXuWu/X9ZawoDGzVQJ5fgA==
X-Google-Smtp-Source: AK7set+Vrw/c5buXIsbsEI62JvWFHhRvEkwkzgagKamP974RO2D+8gf004qYvaTQBzeTEN/ggAfbsw==
X-Received: by 2002:a17:907:dab:b0:92f:b290:78c with SMTP id go43-20020a1709070dab00b0092fb290078cmr6091041ejc.21.1678977579482;
        Thu, 16 Mar 2023 07:39:39 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v5 4/7] xen/riscv: introduce decode_cause() stuff
Date: Thu, 16 Mar 2023 16:39:26 +0200
Message-Id: <8c7b4a5d328be8b1cd2aa99c8d9a7883e4969600.1678976127.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678976127.git.oleksii.kurochko@gmail.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introduces stuff needed to decode a reason of an
exception.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
  - Remove <xen/error.h> from riscv/traps/c as nothing would require
    inclusion.
  - decode_reserved_interrupt_cause(), decode_interrupt_cause(), decode_cause, do_unexpected_trap()
    were made as static they are expected to be used only in traps.c
  - use LINK_TO_LOAD() for addresses which can be linker time relative.
---
Changes in V4:
  - fix string in decode_reserved_interrupt_cause()
---
Changes in V3:
  - Nothing changed
---
Changes in V2:
  - Make decode_trap_cause() more optimization friendly.
  - Merge the pathc which introduces do_unexpected_trap() to the current one.
---
 xen/arch/riscv/traps.c | 87 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 86 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index ccd3593f5a..8a1529e0c5 100644
--- a/xen/arch/riscv/traps.c
+++ b/xen/arch/riscv/traps.c
@@ -4,10 +4,95 @@
  *
  * RISC-V Trap handlers
  */
+
+#include <xen/lib.h>
+
+#include <asm/boot-info.h>
+#include <asm/csr.h>
+#include <asm/early_printk.h>
 #include <asm/processor.h>
 #include <asm/traps.h>
 
-void do_trap(struct cpu_user_regs *cpu_regs)
+static const char *decode_trap_cause(unsigned long cause)
+{
+    static const char *const trap_causes[] = {
+        [CAUSE_MISALIGNED_FETCH] = "Instruction Address Misaligned",
+        [CAUSE_FETCH_ACCESS] = "Instruction Access Fault",
+        [CAUSE_ILLEGAL_INSTRUCTION] = "Illegal Instruction",
+        [CAUSE_BREAKPOINT] = "Breakpoint",
+        [CAUSE_MISALIGNED_LOAD] = "Load Address Misaligned",
+        [CAUSE_LOAD_ACCESS] = "Load Access Fault",
+        [CAUSE_MISALIGNED_STORE] = "Store/AMO Address Misaligned",
+        [CAUSE_STORE_ACCESS] = "Store/AMO Access Fault",
+        [CAUSE_USER_ECALL] = "Environment Call from U-Mode",
+        [CAUSE_SUPERVISOR_ECALL] = "Environment Call from S-Mode",
+        [CAUSE_MACHINE_ECALL] = "Environment Call from M-Mode",
+        [CAUSE_FETCH_PAGE_FAULT] = "Instruction Page Fault",
+        [CAUSE_LOAD_PAGE_FAULT] = "Load Page Fault",
+        [CAUSE_STORE_PAGE_FAULT] = "Store/AMO Page Fault",
+        [CAUSE_FETCH_GUEST_PAGE_FAULT] = "Instruction Guest Page Fault",
+        [CAUSE_LOAD_GUEST_PAGE_FAULT] = "Load Guest Page Fault",
+        [CAUSE_VIRTUAL_INST_FAULT] = "Virtualized Instruction Fault",
+        [CAUSE_STORE_GUEST_PAGE_FAULT] = "Guest Store/AMO Page Fault",
+    };
+
+    if ( cause < ARRAY_SIZE(trap_causes) && trap_causes[cause] )
+        return trap_causes[cause];
+    return "UNKNOWN";
+}
+
+static const char *decode_reserved_interrupt_cause(unsigned long irq_cause)
+{
+    switch ( irq_cause )
+    {
+    case IRQ_M_SOFT:
+        return "M-mode Software Interrupt";
+    case IRQ_M_TIMER:
+        return "M-mode TIMER Interrupt";
+    case IRQ_M_EXT:
+        return "M-mode External Interrupt";
+    default:
+        return "UNKNOWN IRQ type";
+    }
+}
+
+static const char *decode_interrupt_cause(unsigned long cause)
+{
+    unsigned long irq_cause = cause & ~CAUSE_IRQ_FLAG;
+
+    switch ( irq_cause )
+    {
+    case IRQ_S_SOFT:
+        return "Supervisor Software Interrupt";
+    case IRQ_S_TIMER:
+        return "Supervisor Timer Interrupt";
+    case IRQ_S_EXT:
+        return "Supervisor External Interrupt";
+    default:
+        return decode_reserved_interrupt_cause(irq_cause);
+    }
+}
+
+static const char *decode_cause(unsigned long cause)
+{
+    if ( cause & CAUSE_IRQ_FLAG )
+        return decode_interrupt_cause(cause);
+
+    return decode_trap_cause(cause);
+}
+
+static void do_unexpected_trap(const struct cpu_user_regs *regs)
 {
+    unsigned long cause = csr_read(CSR_SCAUSE);
+
+    early_printk("Unhandled exception: ");
+    early_printk(LINK_TO_LOAD(decode_cause(cause)));
+    early_printk("\n");
+
     die();
 }
+
+void do_trap(struct cpu_user_regs *cpu_regs)
+{
+    do_unexpected_trap(cpu_regs);
+}
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 14:39:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 14:39:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510648.788719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcolX-0006lL-DW; Thu, 16 Mar 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 510648.788719; Thu, 16 Mar 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 1pcolX-0006lE-AM; Thu, 16 Mar 2023 14:39:39 +0000
Received: by outflank-mailman (input) for mailman id 510648;
 Thu, 16 Mar 2023 14:39: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcolV-0006WA-Qr
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 14:39:37 +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 603c7922-c408-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 15:39:37 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id h8so8550623ede.8
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 07:39:37 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 q16-20020a1709060e5000b008b980c3e013sm3970187eji.179.2023.03.16.07.39.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 07:39: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: 603c7922-c408-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678977576;
        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=FKTp6dhD+4idMmK9ijuA9b238S46/VfGSoR4ri38brw=;
        b=jy8u2YoDJFHvNcDmZHex1DeiAuyMUA3z9f6y9fA2TTiO9KjAHPufx9C23cUXZjkrmk
         /yQEKIVernI1kqs+IBjUWBMQ5VDfPuwZQb6/FscIeVv0jEjt4I9+N5LzZ5ShFGoHVo/P
         GImQvTVbwEBoT9Yk9R5O+LI3/x12adNWbmtIDoBhi/7cCjR1Rppv1t+1ObMZi5PsERGy
         Xpwye8I/yxvSBCBnAa21OcLLyU59FYhzCFXwkCigtDjTjPpjfspK/vemHi+v77g4Pq4f
         tm9fk0945NjhfOdOHkX6XXq1Xtr4OgPHWDL8zaDAyUzYiIC+PF3aGHmBkVyg6DiUGGkO
         zCfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678977576;
        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=FKTp6dhD+4idMmK9ijuA9b238S46/VfGSoR4ri38brw=;
        b=3GQk6BdvCSVHQYZbulkzpemPs2WUzpl0V0Qrq3rZI36+XCMXdyCuOw//46QinwafOj
         v7UAogEFo4OEZPWmbA+Y1nNlOI3GfVDFgtpy9aVaCVZ1c7WXC26Fv1v1mMCNvnwLFDNw
         gqFnKf2ML0Jap/e0zxl7HkParzUPq8spGapinKSUhH+jh63lsCl+1HJFQ2Raao+ZeNMP
         HoZ9yeu3ORQgYZYOyg1cKPsIsRrwDd22BF6fEKRzMtOG57sXDrUBrO52fZlo+ZtvMKVn
         NvsDnzqAwiTt4Rqu5+4I4+qaVHxz+N8Ji6ytBWmlzLAlmGlS4Aiy06Ix2RKgzuqmMvbE
         Vx0Q==
X-Gm-Message-State: AO0yUKVhyMaXvZRO9Wi9QKAGgBcIrCUQ3bh7E3g2767UNsIeT++Dij/L
	sez4GuMmOckmkKuOfGuy5hNSsA0I7JUdCg==
X-Google-Smtp-Source: AK7set8HtsRIID8Vf/liy0Uj8Kik4uprAzIHvvNP/SBbta69oYn2IjTXTo18aEGrsHyRMbTmEiYBEg==
X-Received: by 2002:a17:906:d0cc:b0:84d:3403:f4f2 with SMTP id bq12-20020a170906d0cc00b0084d3403f4f2mr10321182ejb.62.1678977576604;
        Thu, 16 Mar 2023 07:39:36 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v5 2/7] xen/riscv: initialize boot_info structure
Date: Thu, 16 Mar 2023 16:39:24 +0200
Message-Id: <1941d4ed64ff6edcc6354d09d6a40db4d6f63c44.1678976127.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678976127.git.oleksii.kurochko@gmail.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 * the patch was introduced in the current patch series (V5)
---
 xen/arch/riscv/setup.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 0908bdb9f9..36556eb779 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -1,12 +1,16 @@
 #include <xen/compile.h>
 #include <xen/init.h>
+#include <xen/kernel.h>
 
+#include <asm/boot-info.h>
 #include <asm/early_printk.h>
 
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
     __aligned(STACK_SIZE);
 
+struct boot_info boot_info = { (unsigned long)&_start, (unsigned long)&_end, 0UL, 0UL };
+
 /*  
  * To be sure that .bss isn't zero. It will simplify code of
  * .bss initialization.
@@ -15,11 +19,19 @@ unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
  */
 int dummy_bss __attribute__((unused));
 
+static void fill_boot_info(void)
+{
+    boot_info.load_start = (unsigned long)_start;
+    boot_info.load_end   = (unsigned long)_end;
+}
+
 void __init noreturn start_xen(unsigned long bootcpu_id,
                                unsigned long dtb_paddr)
 {
     early_printk("Hello from C env\n");
 
+    fill_boot_info();
+
     early_printk("All set up\n");
     for ( ;; )
         asm volatile ("wfi");
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 14:39:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 14:39:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510649.788725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcolX-0006nU-Nl; Thu, 16 Mar 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 510649.788725; Thu, 16 Mar 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 1pcolX-0006n1-HM; Thu, 16 Mar 2023 14:39:39 +0000
Received: by outflank-mailman (input) for mailman id 510649;
 Thu, 16 Mar 2023 14:39:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcolW-0006hg-2o
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 14:39:38 +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 5f6f605f-c408-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 15:39:35 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id eh3so8492482edb.11
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 07:39:35 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 q16-20020a1709060e5000b008b980c3e013sm3970187eji.179.2023.03.16.07.39.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 07:39:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f6f605f-c408-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678977575;
        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=YQMyKbzQe0AjQ7eGyuvY7xOmw9XaxRLiNTI1dISB708=;
        b=X+Pp4vF+BjOTTI9+tC6SgbPvdbpLNSCWCd+ov2PsheNQQfqYRDWn0CPyBmaA3IwQXw
         9C2oydfDIUVrFFcTlsPwlf25PK9ycRc6vnpbRZT/HLOH4d0B4iWX0W5WfT0djQDidnwE
         FiD0b0vFb7NRnSf/68IB+aD4wwAacgZqDf1+4sBntFcJhzc6ifXpHyGean0vCoc1MxeT
         nWuib/viRD7Pczj+eiD/7X2MykirIrDL7xjJWWviE1zi1V8V1fZxVr1invQGU2RYLgB+
         qlqYtaz8Zaf+TGzdCXlEAQW+bpWTTr3gy3Hv8Q+axtz3sRJ8taTeVCJbMUMXg++rIxM2
         kC2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678977575;
        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=YQMyKbzQe0AjQ7eGyuvY7xOmw9XaxRLiNTI1dISB708=;
        b=1y49TxGzP5T5l+YE/Ki0BLYe/m9/SOItdYB8xXHJAGir+XsQcLqxod6JpvkNc60us1
         IgFcCtE5uuNBgGUNlXLXuUpxflzwCjRca6o5csAEo1eu00p3yjs1P5sk2ipOr3GHfinh
         CucDzxibh0gsY2Pddl/lJU1UvVkhY2oPml4j5DGnpDwZxfWc4pYP26qbIIbREzd9OZFS
         8Mpp93LuOxfv9L+6Exteg4cmNFHIPGpDPunNVgAxmuIeXHJjtokklzaeojpm2TOiIytw
         PmN375RdykJRnSgwC9fu84yCchpu5sQkDMzya6bHVWConks57Jwp1JD3mCRdBYFPgTd9
         qOnw==
X-Gm-Message-State: AO0yUKWeDbjTyjohgqX4MYWhT+wlSfPH9efcrL9Sy9nEOXjnPfzIRLGn
	bL1bS+m1ifI6KKslhZYOBBj4Z3cjUR3beg==
X-Google-Smtp-Source: AK7set9qqBVMh2bkP/3GgL0gqjIw1GS6jOmy7mvO21s2qCJ8T8i+Mz1gDMGirsCe+afTiTHnvRpd8g==
X-Received: by 2002:a17:906:fe4c:b0:931:b34:4172 with SMTP id wz12-20020a170906fe4c00b009310b344172mr1419801ejb.3.1678977575171;
        Thu, 16 Mar 2023 07:39:35 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v5 1/7] xen/riscv: introduce boot information structure
Date: Thu, 16 Mar 2023 16:39:23 +0200
Message-Id: <553b07e967f56b78eba2d27c9115cce707a45c08.1678976127.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678976127.git.oleksii.kurochko@gmail.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The structure holds information about:
1. linker start/end address
2. load start/end address

Also the patch introduces offsets for boot information structure
members to access them in assembly code.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 * the patch was introduced in the current patch series (V5)
---
 xen/arch/riscv/include/asm/boot-info.h | 15 +++++++++++++++
 xen/arch/riscv/riscv64/asm-offsets.c   |  3 +++
 2 files changed, 18 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/boot-info.h

diff --git a/xen/arch/riscv/include/asm/boot-info.h b/xen/arch/riscv/include/asm/boot-info.h
new file mode 100644
index 0000000000..cda3d278f5
--- /dev/null
+++ b/xen/arch/riscv/include/asm/boot-info.h
@@ -0,0 +1,15 @@
+#ifndef _ASM_BOOT_INFO_H
+#define _ASM_BOOT_INFO_H
+
+extern struct boot_info {
+    unsigned long linker_start;
+    unsigned long linker_end;
+    unsigned long load_start;
+    unsigned long load_end;
+} boot_info;
+
+/* LINK_TO_LOAD() and LOAD_TO_LINK() works only when MMU isn't enabled. */
+#define LINK_TO_LOAD(addr) ((addr) - boot_info.linker_start + boot_info.load_start)
+#define LOAD_TO_LINK(addr) ((addr) - boot_info.load_start + boot_info.linker_start)
+
+#endif
\ No newline at end of file
diff --git a/xen/arch/riscv/riscv64/asm-offsets.c b/xen/arch/riscv/riscv64/asm-offsets.c
index d632b75c2a..6b89e9a91d 100644
--- a/xen/arch/riscv/riscv64/asm-offsets.c
+++ b/xen/arch/riscv/riscv64/asm-offsets.c
@@ -1,5 +1,6 @@
 #define COMPILE_OFFSETS
 
+#include <asm/boot-info.h>
 #include <asm/processor.h>
 #include <xen/types.h>
 
@@ -50,4 +51,6 @@ void asm_offsets(void)
     OFFSET(CPU_USER_REGS_SEPC, struct cpu_user_regs, sepc);
     OFFSET(CPU_USER_REGS_SSTATUS, struct cpu_user_regs, sstatus);
     OFFSET(CPU_USER_REGS_PREGS, struct cpu_user_regs, pregs);
+    OFFSET(BI_LINKER_START, struct boot_info, linker_start);
+    OFFSET(BI_LOAD_START, struct boot_info, load_start);
 }
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 14:39:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 14:39:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510650.788739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcolZ-0007H8-Ve; Thu, 16 Mar 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 510650.788739; Thu, 16 Mar 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 1pcolZ-0007H1-SU; Thu, 16 Mar 2023 14:39:41 +0000
Received: by outflank-mailman (input) for mailman id 510650;
 Thu, 16 Mar 2023 14: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcolY-0006hg-6Q
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 14:39:40 +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 6113a9ab-c408-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 15:39:38 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id z21so8615593edb.4
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 07:39:38 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 q16-20020a1709060e5000b008b980c3e013sm3970187eji.179.2023.03.16.07.39.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 07:39:37 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6113a9ab-c408-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678977578;
        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=uotKGM8ahFKgf3MT0pEjvm7HDKJnl+RTbHm3nOfbQEM=;
        b=HSf9ESpnA/hZJ4sxBlL27WhTheR6Ct9DuyI+EoDvGqQ1XMVLg2MTokt1W2ys2HMH/m
         shZHveECFFwSIlwpmV2Ojk+52zEKf579YGJVqCSjtljsBd15B0NEz/9ikBkBXFEM2sJl
         asRzT266OAMg6Gw60MzBNBqaU/ZsXEKOehIthCkfMYY3g86MwmsMyTtAjb3y1W4p3meD
         h1MiBVB3cmXsaL5jwAwv807c1+ZDfPGb5NUZX8rN9RvCxtkYpaKoz5S5PosutMj53vNR
         CMPjhXF1EcQxUYQ2eHGY0aVl4oeLRpxgjX/XHG4w9YOMW1sCFUD/UW2z7H3hc9QDlm0f
         X4Mw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678977578;
        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=uotKGM8ahFKgf3MT0pEjvm7HDKJnl+RTbHm3nOfbQEM=;
        b=z2ChNZEYkBlJVkS83Vu68V0smpvTSNm45yJmzLTk2LA9Urk3eOX0jeTyPzaYfk/LJt
         XZ+WWXLC13qkc4SYK0tdLvYAk44ELy44rT13JVOaGJDvQWFO92GRe66hTZajKHYXqNBF
         TZKGbLrohibFgHBVmLAt4JpzVbCkfMtwd7F0wWi9FRBTq8lskJHaQd9lCSl2ikLTrcKi
         Rt3HAiIiMpQ0Ud7LfW8jtWim03SNMcQh/0KCtBneMrQumjvGMw5i0CiBLoPDf/GjvdD9
         G8Zndolzf3nZ40mNYFNQK2VDbBiCjH025nvVWLYakQNYp9aIezss/+mfb1sOF9VXigf4
         orKA==
X-Gm-Message-State: AO0yUKX438lc/ImYjtCYK1vX9figZ3Y+dXHOdy6oQJuRwtPqqgJEyiZ2
	GRRXaTOBgM0pE6ILd4cT75opRXyGWkdWhg==
X-Google-Smtp-Source: AK7set8Ru4rQtVOEgpLtDmbBvbuwUibac+vfcTcMMNJ7ATqF7bTay3xanj6Hf6gEvZuRhmnQg0a5pA==
X-Received: by 2002:a17:906:d0cc:b0:84d:3403:f4f2 with SMTP id bq12-20020a170906d0cc00b0084d3403f4f2mr10321280ejb.62.1678977578043;
        Thu, 16 Mar 2023 07:39:38 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v5 3/7] xen/riscv: introduce dummy <asm/bug.h>
Date: Thu, 16 Mar 2023 16:39:25 +0200
Message-Id: <82aa35ce27ca11076bbafbb565e9c85e1ce7624d.1678976127.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678976127.git.oleksii.kurochko@gmail.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<xen/lib.h> will be used in the patch "xen/riscv: introduce
decode_cause() stuff" and requires <asm/bug.h>

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
 * the patch was introduced in the current patch series (V5)
---
 xen/arch/riscv/include/asm/bug.h | 10 ++++++++++
 1 file changed, 10 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/bug.h

diff --git a/xen/arch/riscv/include/asm/bug.h b/xen/arch/riscv/include/asm/bug.h
new file mode 100644
index 0000000000..e8b1e40823
--- /dev/null
+++ b/xen/arch/riscv/include/asm/bug.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2012 Regents of the University of California
+ * Copyright (C) 2021-2023 Vates
+ *
+ */
+#ifndef _ASM_RISCV_BUG_H
+#define _ASM_RISCV_BUG_H
+
+#endif /* _ASM_RISCV_BUG_H */
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 14:39:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 14:39:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510652.788759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcolc-0007qA-Hy; Thu, 16 Mar 2023 14:39:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510652.788759; Thu, 16 Mar 2023 14: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 1pcolc-0007pz-D6; Thu, 16 Mar 2023 14:39:44 +0000
Received: by outflank-mailman (input) for mailman id 510652;
 Thu, 16 Mar 2023 14: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcolb-0006hg-7F
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 14:39:43 +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 62d3d3dc-c408-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 15:39:41 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id ek18so8572499edb.6
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 07:39:41 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 q16-20020a1709060e5000b008b980c3e013sm3970187eji.179.2023.03.16.07.39.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 07:39:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62d3d3dc-c408-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678977581;
        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=L+oNxTKcsx1V4FRFzCufKSsxTMBMI/DOdCYZTlMD0WU=;
        b=OH3IkYV0idjDWqvJYDmmV43va+dtXqyIM4tpTxwUbU6gSX28jZMbjvEl7q2by1s49w
         Grg/qo/bi8/O2PhNxTBva3I2G9vqCDoi4UsPF7BFQLW5J4o68ZRR1lUGnzNIUWP0RS9N
         4JDmQpOIIGWFVMKqLd0XITZBS0sT1UJhOEeN5eK15wdb4GpGk/LYzfAa6Q5BswX5sr0p
         KzOibXQLdAv1+yItdnXPj7jP7CmMC7GwnFB8XHyhdHrhdlP+Y9RgvOT+0GC3o5TZ75PC
         gajqhsqpyCoDv7japRrDgGU7Rf9cIkWCxM41qqaZsSKfSxxOfMCsVGlldcbAZPoQ/8iL
         pRlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678977581;
        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=L+oNxTKcsx1V4FRFzCufKSsxTMBMI/DOdCYZTlMD0WU=;
        b=B6VX7xLuOZTEM1qDetAfuK9OXFTO4IIs/leOIR05VAg0PSURW2DDMsxm63+mDmtfVN
         qAvxHwLGE6/OgXm74fofHkNJ9irJKJ8UfsjyJ+pcx4ODcxYkf2nlmaBVKpbvsWLR8QEy
         278+LLMGJho0mpgKprEc/rmdbRVLuuji6uOU5vlfhoLHKl1Jy7wPrhzK3cngfsrQifOo
         CZLLkq+kKdedYHPQSseBveR1vsjHS4thou/0NV5f71LONNhf6MJcNvqz5C+HEyLFAfUC
         sMYzv1m1beUO52WagJHivPUIKQARb9jdUtDr0EJCP/jehtoDjtflWtowYaUEjxevcb6f
         XTnQ==
X-Gm-Message-State: AO0yUKX4SbXrmeK/ew6Ch3zDp2bAAtP7xyUS0RRkhyAwaHVO+Sq2p+R0
	2YNMAc6nD3o/YJL+tpX/JQ0026C6XptNUg==
X-Google-Smtp-Source: AK7set94yAmmz9NW6r6NpoX2YsE+xbesnwj+czE9vNO9NPnxwu0LyVkJ20ICj5GIYnHciAFmB7rY8A==
X-Received: by 2002:a17:907:7283:b0:92f:e4c5:5a28 with SMTP id dt3-20020a170907728300b0092fe4c55a28mr5146754ejc.54.1678977581092;
        Thu, 16 Mar 2023 07:39:41 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v5 5/7] xen/riscv: introduce trap_init()
Date: Thu, 16 Mar 2023 16:39:27 +0200
Message-Id: <91b0284d20f530f2795a119ccb7436ee0b800256.1678976127.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678976127.git.oleksii.kurochko@gmail.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
---
Changes in V5:
  - Nothing changed
---
Changes in V4:
  - Nothing changed
---
Changes in V3:
  - Nothing changed
---
Changes in V2:
  - Rename setup_trap_handler() to trap_init().
  - Add Reviewed-by to the commit message.
---
 xen/arch/riscv/include/asm/traps.h | 1 +
 xen/arch/riscv/setup.c             | 5 +++++
 xen/arch/riscv/traps.c             | 7 +++++++
 3 files changed, 13 insertions(+)

diff --git a/xen/arch/riscv/include/asm/traps.h b/xen/arch/riscv/include/asm/traps.h
index f3fb6b25d1..f1879294ef 100644
--- a/xen/arch/riscv/include/asm/traps.h
+++ b/xen/arch/riscv/include/asm/traps.h
@@ -7,6 +7,7 @@
 
 void do_trap(struct cpu_user_regs *cpu_regs);
 void handle_trap(void);
+void trap_init(void);
 
 #endif /* __ASSEMBLY__ */
 
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 36556eb779..b44d105b5f 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -3,7 +3,9 @@
 #include <xen/kernel.h>
 
 #include <asm/boot-info.h>
+#include <asm/csr.h>
 #include <asm/early_printk.h>
+#include <asm/traps.h>
 
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
@@ -32,7 +34,10 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     fill_boot_info();
 
+    trap_init();
+
     early_printk("All set up\n");
+
     for ( ;; )
         asm volatile ("wfi");
 
diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index 8a1529e0c5..581f34efbc 100644
--- a/xen/arch/riscv/traps.c
+++ b/xen/arch/riscv/traps.c
@@ -13,6 +13,13 @@
 #include <asm/processor.h>
 #include <asm/traps.h>
 
+void trap_init(void)
+{
+    unsigned long addr = (unsigned long)&handle_trap;
+
+    csr_write(CSR_STVEC, addr);
+}
+
 static const char *decode_trap_cause(unsigned long cause)
 {
     static const char *const trap_causes[] = {
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 14:39:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 14:39:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510653.788769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcold-00086X-Rt; Thu, 16 Mar 2023 14:39:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510653.788769; Thu, 16 Mar 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 1pcold-00085y-Le; Thu, 16 Mar 2023 14:39:45 +0000
Received: by outflank-mailman (input) for mailman id 510653;
 Thu, 16 Mar 2023 14:39: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcolc-0006WA-26
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 14:39:44 +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 63c912cb-c408-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 15:39:43 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id r11so8604768edd.5
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 07:39:43 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 q16-20020a1709060e5000b008b980c3e013sm3970187eji.179.2023.03.16.07.39.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 07:39: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: 63c912cb-c408-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678977582;
        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=X7oCfkecOQ2j8RepZ+CNQJX2PvriCtlq7k5FrgLtuck=;
        b=ReeUJVL8vnLrnkGDEYCiEAvmh2/kVs6V6fBk3Cao+CH5kHEuDwfI1oiab9Px+Owjtn
         ipCS/XESu7EKCBflzL8xyII5DBsiQ8/9aMXyFCob+UrVT84rGzbebryKQB4Isty34Ym4
         U4HClM8HwrvJBw1DzqYA9LbQoLocSItziAcEjK+Ad2nOQdMvnr1MkMPmN7ukAG37uyJO
         OBtT/9UTldewNl/nFSmgu4TQB5w/Ab4hrUCVDnDMKlbZ7eV4z6j2hIpziyhu9oI7LsEq
         OU/LGWI3uRHxc3h3K4RlOvLMUKFlXQn9GbejX6pTYUADiKI8KgHL+fsyYvRX3gfbt3XJ
         rcRg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678977582;
        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=X7oCfkecOQ2j8RepZ+CNQJX2PvriCtlq7k5FrgLtuck=;
        b=7KqNYB/SenSwcbQe3WM3+YGQbc5OnlWc3Bn5mIQRmZ5PmB1JoOmVZEpY6CokrLHD9H
         /AnJpEXN6fRfbPviJSfF5T+LA9hEhKE1/GRiY6pOhrVq8LqVdTsjgpMHQQEILgiwp2MP
         fPfdatl00SSxNo06dkfn/ZodthBb63wHNbUWAm3eqkV4df0XPY4fB/9Eppyuea79Ug3O
         245QUmi/asWEC5CCIX1Zy/3GcLi9Ep5JjAzcB0evouy3//Acb/M9reTwwyMYnKzoGUuY
         Q6RY97YFNwBswAK0mFL7zisFyVBTSxiq3J4MY/rI2AS2YLF56NM7lZu+foxxBv8z1PP4
         BLpQ==
X-Gm-Message-State: AO0yUKX5+hC+IuXtX4Yit7i5Dw2T2hQ2Srg2sd8Yi60QXzaeDrM8TMKG
	vdAWWtWJJPbUGKgEm++74xchcW8WXGqHvw==
X-Google-Smtp-Source: AK7set+q1LnSNVGK3HLixY3bvOEyRMc7E0nYtEaG8ouEXoSfiSM/qCUkTuNzaUhLt52K7viCbzpyRA==
X-Received: by 2002:a17:906:5a95:b0:7e0:eed0:8beb with SMTP id l21-20020a1709065a9500b007e0eed08bebmr10305130ejq.41.1678977582626;
        Thu, 16 Mar 2023 07:39:42 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v5 6/7] xen/riscv: introduce an implementation of macros from <asm/bug.h>
Date: Thu, 16 Mar 2023 16:39:28 +0200
Message-Id: <67807e242d3e12f1080956eea052285cb67a7dbf.1678976127.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678976127.git.oleksii.kurochko@gmail.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introduces macros: BUG(), WARN(), run_in_exception(),
assert_failed.
To be precise, the macros from generic bug implementation (<xen/bug.h>)
will be used.

The implementation uses "ebreak" instruction in combination with
diffrent bug frame tables (for each type) which contains useful
information.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V5:
  - Remove "#include <xen/types.h>" from <asm/bug.h> as there is no any need in it anymore
  - Update macros GET_INSN_LENGTH: remove UL and 'unsigned int len;' from it
  - Remove " include <xen/bug.h>" from risc/setup.c. it is not needed in the current version of
    the patch
  - change an argument type from vaddr_t to uint32_t for is_valid_bugaddr and introduce read_instr() to
    read instruction properly as the length of qinstruction can be either 32 or 16 bits.
  - Code style fixes
  - update the comments before do_bug_frame() in riscv/trap.c
  - Refactor is_valid_bugaddr() function.
  - introduce macros cast_to_bug_frame(addr) to hide casts.
  - use LINK_TO_LOAD() for addresses which are linker time relative.
---
Changes in V4:
  - Updates in RISC-V's <asm/bug.h>:
    * Add explanatory comment about why there is only defined for 32-bits length
      instructions and 16/32-bits BUG_INSN_{16,32}.
    * Change 'unsigned long' to 'unsigned int' inside GET_INSN_LENGTH().
    * Update declaration of is_valid_bugaddr(): switch return type from int to bool
      and the argument from 'unsigned int' to 'vaddr'.
  - Updates in RISC-V's traps.c:
    * replace /xen and /asm includes 
    * update definition of is_valid_bugaddr():switch return type from int to bool
      and the argument from 'unsigned int' to 'vaddr'. Code style inside function
      was updated too.
    * do_bug_frame() refactoring:
      * local variables start and bug became 'const struct bug_frame'
      * bug_frames[] array became 'static const struct bug_frame[] = ...'
      * remove all casts
      * remove unneeded comments and add an explanatory comment that the do_bug_frame()
        will be switched to a generic one.
    * do_trap() refactoring:
      * read 16-bits value instead of 32-bits as compressed instruction can
        be used and it might happen than only 16-bits may be accessible.
      * code style updates
      * re-use instr variable instead of re-reading instruction.
  - Updates in setup.c:
    * add blank line between xen/ and asm/ includes.
---
Changes in V3:
  - Rebase the patch "xen/riscv: introduce an implementation of macros
    from <asm/bug.h>" on top of patch series [introduce generic implementation
    of macros from bug.h]
---
Changes in V2:
  - Remove __ in define namings
  - Update run_in_exception_handler() with
    register void *fn_ asm(__stringify(BUG_FN_REG)) = (fn);
  - Remove bug_instr_t type and change it's usage to uint32_t
---
 xen/arch/riscv/include/asm/bug.h       |  28 +++++
 xen/arch/riscv/include/asm/processor.h |   2 +
 xen/arch/riscv/traps.c                 | 139 +++++++++++++++++++++++++
 xen/arch/riscv/xen.lds.S               |  10 ++
 4 files changed, 179 insertions(+)

diff --git a/xen/arch/riscv/include/asm/bug.h b/xen/arch/riscv/include/asm/bug.h
index e8b1e40823..bf3194443f 100644
--- a/xen/arch/riscv/include/asm/bug.h
+++ b/xen/arch/riscv/include/asm/bug.h
@@ -7,4 +7,32 @@
 #ifndef _ASM_RISCV_BUG_H
 #define _ASM_RISCV_BUG_H
 
+#ifndef __ASSEMBLY__
+
+#define BUG_INSTR "ebreak"
+
+/*
+ * The base instruction set has a fixed length of 32-bit naturally aligned
+ * instructions.
+ *
+ * There are extensions of variable length ( where each instruction can be
+ * any number of 16-bit parcels in length ) but they aren't used in Xen
+ * and Linux kernel ( where these definitions were taken from ).
+ *
+ * Compressed ISA is used now where the instruction length is 16 bit  and
+ * 'ebreak' instruction, in this case, can be either 16 or 32 bit (
+ * depending on if compressed ISA is used or not )
+ */
+#define INSN_LENGTH_MASK        _UL(0x3)
+#define INSN_LENGTH_32          _UL(0x3)
+
+#define BUG_INSN_32             _UL(0x00100073) /* ebreak */
+#define BUG_INSN_16             _UL(0x9002)     /* c.ebreak */
+#define COMPRESSED_INSN_MASK    _UL(0xffff)
+
+#define GET_INSN_LENGTH(insn)                               \
+    (((insn) & INSN_LENGTH_MASK) == INSN_LENGTH_32 ? 4 : 2) \
+
+#endif /* !__ASSEMBLY__ */
+
 #endif /* _ASM_RISCV_BUG_H */
diff --git a/xen/arch/riscv/include/asm/processor.h b/xen/arch/riscv/include/asm/processor.h
index a71448e02e..ef23d9589e 100644
--- a/xen/arch/riscv/include/asm/processor.h
+++ b/xen/arch/riscv/include/asm/processor.h
@@ -69,6 +69,8 @@ static inline void die(void)
         wfi();
 }
 
+void show_execution_state(const struct cpu_user_regs *regs);
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_RISCV_PROCESSOR_H */
diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index 581f34efbc..2afcabb912 100644
--- a/xen/arch/riscv/traps.c
+++ b/xen/arch/riscv/traps.c
@@ -5,6 +5,8 @@
  * RISC-V Trap handlers
  */
 
+#include <xen/bug.h>
+#include <xen/errno.h>
 #include <xen/lib.h>
 
 #include <asm/boot-info.h>
@@ -13,6 +15,10 @@
 #include <asm/processor.h>
 #include <asm/traps.h>
 
+#define cast_to_bug_frame(addr) \
+    (const struct bug_frame *)(LINK_TO_LOAD((char *)addr))
+
+
 void trap_init(void)
 {
     unsigned long addr = (unsigned long)&handle_trap;
@@ -99,7 +105,140 @@ static void do_unexpected_trap(const struct cpu_user_regs *regs)
     die();
 }
 
+void show_execution_state(const struct cpu_user_regs *regs)
+{
+    early_printk("implement show_execution_state(regs)\n");
+}
+
+/*
+ * TODO: change early_printk's function to early_printk with format
+ *       when s(n)printf() will be added.
+ *
+ * Probably the TODO won't be needed as generic do_bug_frame()
+ * has been introduced and current implementation will be replaced
+ * with generic one when panic(), printk() and find_text_region()
+ * (virtual memory?) will be ready/merged
+ */
+int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
+{
+    const struct bug_frame *start, *end;
+    const struct bug_frame *bug = NULL;
+    unsigned int id = 0;
+    const char *filename, *predicate;
+    int lineno;
+
+    static const struct bug_frame* bug_frames[] = {
+        &__start_bug_frames[0],
+        &__stop_bug_frames_0[0],
+        &__stop_bug_frames_1[0],
+        &__stop_bug_frames_2[0],
+        &__stop_bug_frames_3[0],
+    };
+
+    for ( id = 0; id < BUGFRAME_NR; id++ )
+    {
+        start = cast_to_bug_frame(bug_frames[id]);
+        end   = cast_to_bug_frame(bug_frames[id + 1]);
+
+        while ( start != end )
+        {
+            if ( (vaddr_t)bug_loc(start) == pc )
+            {
+                bug = start;
+                goto found;
+            }
+
+            start++;
+        }
+    }
+
+ found:
+    if ( bug == NULL )
+        return -ENOENT;
+
+    if ( id == BUGFRAME_run_fn )
+    {
+        void (*fn)(const struct cpu_user_regs *) = bug_ptr(bug);
+
+        fn(regs);
+
+        goto end;
+    }
+
+    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
+    filename = bug_ptr(bug);
+    lineno = bug_line(bug);
+
+    switch ( id )
+    {
+    case BUGFRAME_warn:
+        early_printk("Xen WARN at ");
+        early_printk(filename);
+        early_printk("\n");
+
+        show_execution_state(regs);
+
+        goto end;
+
+    case BUGFRAME_bug:
+        early_printk("Xen BUG at ");
+        early_printk(filename);
+        early_printk("\n");
+
+        show_execution_state(regs);
+        early_printk("change wait_for_interrupt to panic() when common is available\n");
+        die();
+
+    case BUGFRAME_assert:
+        /* ASSERT: decode the predicate string pointer. */
+        predicate = bug_msg(bug);
+
+        early_printk("Assertion \'");
+        early_printk(predicate);
+        early_printk("\' failed at ");
+        early_printk(filename);
+        early_printk("\n");
+
+        show_execution_state(regs);
+        early_printk("change wait_for_interrupt to panic() when common is available\n");
+        die();
+    }
+
+    return -EINVAL;
+
+ end:
+    return 0;
+}
+
+static bool is_valid_bugaddr(uint32_t insn)
+{
+    return insn == BUG_INSN_32 ||
+           (insn & COMPRESSED_INSN_MASK) == BUG_INSN_16;
+}
+
+static uint32_t read_instr(unsigned long pc)
+{
+    uint16_t instr16 = *(uint16_t *)pc;
+
+    if ( GET_INSN_LENGTH(instr16) == 2 )
+        return (uint32_t)instr16;
+    else
+        return *(uint32_t *)pc;
+}
+
 void do_trap(struct cpu_user_regs *cpu_regs)
 {
+    register_t pc = cpu_regs->sepc;
+    uint32_t instr = read_instr(pc);
+
+    if ( is_valid_bugaddr(instr) )
+    {
+        if ( !do_bug_frame(cpu_regs, pc) )
+        {
+            cpu_regs->sepc += GET_INSN_LENGTH(instr);
+            return;
+        }
+    }
+
     do_unexpected_trap(cpu_regs);
 }
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index f299ea8422..eed457c492 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -40,6 +40,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.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 14:39:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 14:39:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510654.788779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcolf-0008QS-DN; Thu, 16 Mar 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 510654.788779; Thu, 16 Mar 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 1pcolf-0008QF-8z; Thu, 16 Mar 2023 14:39:47 +0000
Received: by outflank-mailman (input) for mailman id 510654;
 Thu, 16 Mar 2023 14: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcold-0006WA-2L
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 14:39:45 +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 64934f96-c408-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 15:39:44 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id h8so8552102ede.8
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 07:39:44 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 q16-20020a1709060e5000b008b980c3e013sm3970187eji.179.2023.03.16.07.39.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 07:39: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: 64934f96-c408-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678977584;
        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=KNIHclMhI5KuwmYwhjT6HcX6NDeB8oTP6k36A94QyFI=;
        b=keNi+Wzsq/txMnFyrCdFK4A4FXIN/Ea07piF1la+gIIHgFHXPCbI/gOJsicHBRlidY
         pXODQq5/RmI+X7VnsXohPg6shzJkHH+qPLPzZkblP7PlxY4RXREXi5UVVFgB13cgIRsk
         p6ayJgAxbszEC8NVwXfBBy4KbZx+8Xg70npQdGbI2afl0Rl5WbYgbwGZmDIcU+VrpTjR
         YreTiCbHymPHippLLc6nnTPsGMmkQjAiuak7qn1PmYxpxR2rBUkCcIG4BS03vtrlPGu6
         FHNbkqastSn7QOFMbp/AdBrsHC+IFyld/SKq5o3RRflLQcyl7QN+vMWEKnv7Hc1f0tSj
         TNAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678977584;
        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=KNIHclMhI5KuwmYwhjT6HcX6NDeB8oTP6k36A94QyFI=;
        b=as2RqKxeHfKQueCVqIEsvB8fYjM+MIKXQAJ8hYGyFIhHYZMzJHJm5kBz2u02DryCMQ
         pst3QD5KFVLuofWKoBgRQy5gejHKq+L8viJbUBFWpvVPxGdcK2B44fDcgHDFYQiaNcbE
         QMeTCibPSniO2KX57Gx8l3KAhoTdW4BRGDG7VuWRrUSqAabhqu3RAv05qsHYvWi2BXds
         U/7J1iLb3EdMbYN4lrqZ+mCKz1XlN+5MpVwbYG09gE2KCk0IkayLtn4i5Lo0ksEzyStL
         F75LiWxrq9Sk6AGNqWEGTm4tyDMBa533QDIAOyDcJr2TnAHh5VPlB6EuuHaXmiXdABja
         S0Zw==
X-Gm-Message-State: AO0yUKUpv3I12ZnS1UWc/ZfTM9+30AxTbl38m5wr53BzXc3+dMVGBJCd
	9iJUw+ujB/XUXsG95Oc+MdCs9op4SZOEUQ==
X-Google-Smtp-Source: AK7set/q4NXUwR3SV1sseVDhD2AxPdVUBDFZ+lrU4KLqNb7ipT+JcRZrfX4irnegkux3kx3BQVRovQ==
X-Received: by 2002:a17:906:702:b0:913:ff28:59bd with SMTP id y2-20020a170906070200b00913ff2859bdmr10540338ejb.52.1678977584126;
        Thu, 16 Mar 2023 07:39:44 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v5 7/7] xen/riscv: test basic handling stuff
Date: Thu, 16 Mar 2023 16:39:29 +0200
Message-Id: <7aaf322d5314688039212251f5202ef4cdb46f14.1678976127.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678976127.git.oleksii.kurochko@gmail.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
---
Changes in V5:
  - Nothing changed
---
Changes in V4:
  - Add Acked-by: Alistair Francis <alistair.francis@wdc.com>
---
Changes in V3:
  - Nothing changed
---
Changes in V2:
  - Nothing changed
---
 xen/arch/riscv/setup.c | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index b44d105b5f..b56c69a3dc 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -1,3 +1,4 @@
+#include <xen/bug.h>
 #include <xen/compile.h>
 #include <xen/init.h>
 #include <xen/kernel.h>
@@ -27,6 +28,20 @@ static void fill_boot_info(void)
     boot_info.load_end   = (unsigned long)_end;
 }
 
+static void test_run_in_exception(struct cpu_user_regs *regs)
+{
+    early_printk("If you see this message, ");
+    early_printk("run_in_exception_handler is most likely working\n");
+}
+
+static void test_macros_from_bug_h(void)
+{
+    run_in_exception_handler(test_run_in_exception);
+    WARN();
+    early_printk("If you see this message, ");
+    early_printk("WARN is most likely working\n");
+}
+
 void __init noreturn start_xen(unsigned long bootcpu_id,
                                unsigned long dtb_paddr)
 {
@@ -36,6 +51,8 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     trap_init();
 
+    test_macros_from_bug_h();
+
     early_printk("All set up\n");
 
     for ( ;; )
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 14:49:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 14:49:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510668.788792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcovQ-0003ng-FK; Thu, 16 Mar 2023 14:49:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510668.788792; Thu, 16 Mar 2023 14:49:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcovQ-0003nZ-Bn; Thu, 16 Mar 2023 14:49:52 +0000
Received: by outflank-mailman (input) for mailman id 510668;
 Thu, 16 Mar 2023 14:49:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pcovP-0003nP-En; Thu, 16 Mar 2023 14:49:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pcovP-0001Lt-Da; Thu, 16 Mar 2023 14:49:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pcovO-0007U2-TO; Thu, 16 Mar 2023 14:49:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcovO-0006iT-Sz; Thu, 16 Mar 2023 14:49:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GtXjMxKOoQ+3QLmU7XGUNUrTfsuq/NbmI/kcMATCors=; b=tFl1PmhoT8Uc2n1IcCZl3qqe/E
	TVMCNcW+if+oWN+pLR1pFgg5NUuV5tJ3zHuJn4W0M3xnfUPFv0n3OAhvfP0APYNV+FNlyiIkVJ/H2
	k2FbAfVAXQWmtEy/SpXdYNpMY6oSBVmXumm77l31gEuq8gVo8XSyL0LTcCfarN/sswXE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179681-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179681: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=5d8f05e10646aeef1c4a49610c0c44a7cdaf62a3
X-Osstest-Versions-That:
    xen=b2ea81d2b935474cf27a76b4aa143ae897e82457
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Mar 2023 14:49:50 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  5d8f05e10646aeef1c4a49610c0c44a7cdaf62a3
baseline version:
 xen                  b2ea81d2b935474cf27a76b4aa143ae897e82457

Last test of basis   179660  2023-03-16 00:02:00 Z    0 days
Testing same since   179681  2023-03-16 13:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   b2ea81d2b9..5d8f05e106  5d8f05e10646aeef1c4a49610c0c44a7cdaf62a3 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 15:11:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 15:11:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510674.788805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcpGQ-0007gP-6m; Thu, 16 Mar 2023 15:11:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510674.788805; Thu, 16 Mar 2023 15:11: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 1pcpGQ-0007gI-3j; Thu, 16 Mar 2023 15:11:34 +0000
Received: by outflank-mailman (input) for mailman id 510674;
 Thu, 16 Mar 2023 15:11: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 1pcpGP-0007g6-O0; Thu, 16 Mar 2023 15:11: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 1pcpGP-0001vd-ME; Thu, 16 Mar 2023 15:11:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pcpGP-0008MG-F9; Thu, 16 Mar 2023 15:11:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcpGP-0001GZ-Ei; Thu, 16 Mar 2023 15:11:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5F6wXr8rXxnnlvfOlT4tHV0xsWRI461l7D2ZXQKTzg8=; b=kbgbDoipyFshh9PQvmQAXFweuL
	zNzvTjkAZ3T0WvgxfzU1zZbkRMLqlFxP5B9RNT9Ia8wAZRVG7PrwMWg6ZMbnBm5kRooySUK7yQPWf
	39Na3m6c4TPCza3Hk03kXUbVDE9qJKoFt1C8/i2drMm5ma5yppJz2Kfqde1dpv+te9Vk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179677-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179677: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=7cfe9048e3ecad7988d66ce1f0ec20d9aef509ee
X-Osstest-Versions-That:
    ovmf=961792c9d61f7e03e0c1b6b9f93b8b306df94bf9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Mar 2023 15:11:33 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 7cfe9048e3ecad7988d66ce1f0ec20d9aef509ee
baseline version:
 ovmf                 961792c9d61f7e03e0c1b6b9f93b8b306df94bf9

Last test of basis   179625  2023-03-14 10:15:04 Z    2 days
Testing same since   179677  2023-03-16 11:12:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Sunil V L <sunilvl@ventanamicro.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
   961792c9d6..7cfe9048e3  7cfe9048e3ecad7988d66ce1f0ec20d9aef509ee -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 15:50:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 15:50:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510684.788826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcpsO-0004hR-CX; Thu, 16 Mar 2023 15:50:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510684.788826; Thu, 16 Mar 2023 15: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 1pcpsO-0004hK-9T; Thu, 16 Mar 2023 15:50:48 +0000
Received: by outflank-mailman (input) for mailman id 510684;
 Thu, 16 Mar 2023 15: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=hbW7=7I=gmail.com=bobbyeshleman@srs-se1.protection.inumbo.net>)
 id 1pcpsN-0004hE-FZ
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 15:50:47 +0000
Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com
 [2607:f8b0:4864:20::1029])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f950fd2-c412-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 16:50:45 +0100 (CET)
Received: by mail-pj1-x1029.google.com with SMTP id
 fy10-20020a17090b020a00b0023b4bcf0727so2042906pjb.0
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 08:50:45 -0700 (PDT)
Received: from localhost (c-73-164-155-12.hsd1.wa.comcast.net. [73.164.155.12])
 by smtp.gmail.com with ESMTPSA id
 g3-20020a631103000000b00502ecb91940sm5341065pgl.55.2023.03.16.08.50.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 08:50:42 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f950fd2-c412-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678981843;
        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=Zb5qGTl6aSkFsxWcvkop6l4a/S7eBQjhAOxEjj4dDbs=;
        b=I2dAn9pe37LmtA7qMzHzvRwfZlz8tUxPA5wp8Dov/WryYu3Aa01ZvPesAPAOO6NrXs
         mV7lnZaDESsxyBR16K7qzlAwD7xwCmUo6Nvy+ZtfBQdr3NWjnMYmevEai7SSde0JIXuL
         aVjssjULt65ccY9TeLpgouaCULUaGgdmGX/PafPoo+UhchOdxq+C6Uno+XTqByagTdZ0
         rja9xnOMr50UvTJJO7zqNGwjxFvdLrw/SazkmjQkmdWrcGoiM+0ZzG3dlY5QqEu+fMP8
         cd6jEftudOhqFhtmgWQO/KO1v5A8vCY8c/apXcEf64wMit/gJmlymQIPL4vGm1Y/MVwA
         1qGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678981843;
        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=Zb5qGTl6aSkFsxWcvkop6l4a/S7eBQjhAOxEjj4dDbs=;
        b=HrvyIK+vonUsCdddNB3xBw15rI5kogYFSfHiSulwE5Pi7Nn//8wDksZ3H30io+Sg0d
         F+m2ryDcccqIkpUjj8s8wSoINuqD0J1QSbCevnteC5KLN9vUbUqJa3ilHGqUKKLJsrB9
         71BcNyKGdkxdVhbVg49MTgA1ySP/vPMmCgJW2s4y5QfrEbkZ+NA/yY/4x4Bv/RAuWpvP
         C/l+JvB0tZkDMPy6vf4NUwDMwnDg31iydScr6j7Pwr5DlrNzrlCdrOLI9+6Wb8TF0PzJ
         AdUR/oxMnX3fP+/Wwwjuday8qBNKBefNptygTqE3OcZsmsvgMenXLwMqrJVZ7dk+lq9O
         A86w==
X-Gm-Message-State: AO0yUKUi5Dm6TPaYwa06NnZc66GfagIalliBBK+o6JGnAq84X3J13C94
	2r2DEtivSgCuni4WbP+IeDg=
X-Google-Smtp-Source: AK7set+ygFijG98UokCphYKZ8xGszxZu25m0//Zdx4H4IfdFxfYURwpK349ao/TBRn7NkzsmTehiKA==
X-Received: by 2002:a05:6a20:1e46:b0:cd:9b0:b287 with SMTP id cy6-20020a056a201e4600b000cd09b0b287mr3462354pzb.24.1678981843448;
        Thu, 16 Mar 2023 08:50:43 -0700 (PDT)
Date: Thu, 9 Mar 2023 10:39:18 +0000
From: Bobby Eshleman <bobbyeshleman@gmail.com>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: Re: [PATCH v3 1/3] xen/riscv: disable fpu
Message-ID: <ZAm3Vj7KtpkJOjRS@bullseye>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
 <1fe0c827b9e5c2fef569e25ad7ca377111228d29.1677838213.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1fe0c827b9e5c2fef569e25ad7ca377111228d29.1677838213.git.oleksii.kurochko@gmail.com>

On Fri, Mar 03, 2023 at 12:24:22PM +0200, Oleksii Kurochko wrote:
> Disable FPU to detect illegal usage of floating point in kernel
> space.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>  xen/arch/riscv/riscv64/head.S | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
> index ffd95f9f89..52fa41c778 100644
> --- a/xen/arch/riscv/riscv64/head.S
> +++ b/xen/arch/riscv/riscv64/head.S
> @@ -6,6 +6,13 @@ ENTRY(start)
>          /* Mask all interrupts */
>          csrw    CSR_SIE, zero
>  
> +        /*
> +         * Disable FPU to detect illegal usage of
> +         * floating point in kernel space
> +         */
> +        li      t0, SSTATUS_FS
> +        csrc    CSR_SSTATUS, t0
> +
>          la      sp, cpu0_boot_stack
>          li      t0, STACK_SIZE
>          add     sp, sp, t0
> -- 
> 2.39.0
> 
> 

Acked-by: Bobby Eshleman <bobbyeshleman@gmail.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 15:53:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 15:53:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510687.788837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcpvI-0005G2-Qp; Thu, 16 Mar 2023 15:53:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510687.788837; Thu, 16 Mar 2023 15:53: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 1pcpvI-0005Fv-O1; Thu, 16 Mar 2023 15:53:48 +0000
Received: by outflank-mailman (input) for mailman id 510687;
 Thu, 16 Mar 2023 15:53: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=hbW7=7I=gmail.com=bobbyeshleman@srs-se1.protection.inumbo.net>)
 id 1pcpvH-0005Fl-U6
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 15:53:47 +0000
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com
 [2607:f8b0:4864:20::632])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb6c7f26-c412-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 16:53:46 +0100 (CET)
Received: by mail-pl1-x632.google.com with SMTP id v21so2206005ple.9
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 08:53:46 -0700 (PDT)
Received: from localhost (c-73-164-155-12.hsd1.wa.comcast.net. [73.164.155.12])
 by smtp.gmail.com with ESMTPSA id
 y4-20020a17090a538400b00233ebcb52a6sm3316476pjh.36.2023.03.16.08.53.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 08:53:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb6c7f26-c412-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678982024;
        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=+UDMozFfeUR88M0TZxg7YsaEyPR2kVSV9EQT/QTwkbc=;
        b=evXuV2aPbSk18UnqUrpEsdy/KfjKwfioSxuVpS7EzfM8VAID+xSr6R5QSb20s4ixJU
         v1Hzh9W7DKdWy+wNjYeDvYxf0Thxig23/7mym0W9sNRj7QpI9rKyXdK5erRuR8o37lfv
         sZ/v2i9k6tMf7Yi8BuW9M8bI1nF8gt1fkcGD+e6gDlmeRWd43ib+gZzjKBSyBC9Imiv4
         VoF7jd+5e9Df69Wl86b8vrrc04Q6bz83MmkgpPJERWeiWFyzfHZRFfYH3Eb4NTnZz73g
         360Mxm/nXRbZB4l+c4XEUGGK1Uep/7Pe1YMmMjnY4qYIPrqkwj9l6V1eTScHmVM+1XMY
         qW3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678982024;
        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=+UDMozFfeUR88M0TZxg7YsaEyPR2kVSV9EQT/QTwkbc=;
        b=l0CKtS+EoH/wMiiCYKaoDFxmPZBGHE1ODsyaNrW4F3Pzq3cim+LB6LkSndNyNRf41d
         jK9LVDLVTMsfDE/c9YZw0z6/6D4SB26v4VScKzBv9j5zEfpfvsWLRnKkhPFql8MATEn1
         r6kAPN8j3OFyRwpxr1VaX+n9ruIhi/hdaMcMhZhSY6hYeAOlh3dCaNcVp4zmk1wxBvz/
         iM/vDbt5cI8LDOmseu6daV+aSr+4coX/eqgIxKKPCcRqfaWZH1voUOYQ7kYDtUdPrZEN
         muLNPt/bGpqPzh2PSXrjMEOmG1WgIG7/z8NhvdFT4YAJW/ordpBj+DCgwo/mKchSpZ0o
         +rrg==
X-Gm-Message-State: AO0yUKWZZJbLxBvcDte6XHcp0RTpuTWEFNFMVMk2TdA5EXrOSWqdYe5C
	6UbSa4H0iEDjZTl/6fmcu7E=
X-Google-Smtp-Source: AK7set+KqLYyY2QLwdA+LPNhoOzNpffvlYvsbc1MQVFl69f1eTjILzk8cc+bXqHcnzqjVVJu5qIBrw==
X-Received: by 2002:a17:90b:1e43:b0:23e:fa90:ba37 with SMTP id pi3-20020a17090b1e4300b0023efa90ba37mr4230152pjb.49.1678982024560;
        Thu, 16 Mar 2023 08:53:44 -0700 (PDT)
Date: Thu, 9 Mar 2023 10:42:34 +0000
From: Bobby Eshleman <bobbyeshleman@gmail.com>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: Re: [PATCH v3 1/3] xen/riscv: disable fpu
Message-ID: <ZAm4GuOmz7fhKF3X@bullseye>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
 <1fe0c827b9e5c2fef569e25ad7ca377111228d29.1677838213.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1fe0c827b9e5c2fef569e25ad7ca377111228d29.1677838213.git.oleksii.kurochko@gmail.com>

On Fri, Mar 03, 2023 at 12:24:22PM +0200, Oleksii Kurochko wrote:
> Disable FPU to detect illegal usage of floating point in kernel
> space.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>  xen/arch/riscv/riscv64/head.S | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
> index ffd95f9f89..52fa41c778 100644
> --- a/xen/arch/riscv/riscv64/head.S
> +++ b/xen/arch/riscv/riscv64/head.S
> @@ -6,6 +6,13 @@ ENTRY(start)
>          /* Mask all interrupts */
>          csrw    CSR_SIE, zero
>  
> +        /*
> +         * Disable FPU to detect illegal usage of
> +         * floating point in kernel space
> +         */
> +        li      t0, SSTATUS_FS
> +        csrc    CSR_SSTATUS, t0
> +
>          la      sp, cpu0_boot_stack
>          li      t0, STACK_SIZE
>          add     sp, sp, t0
> -- 
> 2.39.0
> 
> 

My last email had the wrong trailer:

Reviewed-by: Bobby Eshleman <bobbyeshleman@gmail.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 15:55:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 15:55:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510689.788847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcpxA-0005qB-5k; Thu, 16 Mar 2023 15:55:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510689.788847; Thu, 16 Mar 2023 15: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 1pcpxA-0005q4-2i; Thu, 16 Mar 2023 15:55:44 +0000
Received: by outflank-mailman (input) for mailman id 510689;
 Thu, 16 Mar 2023 15: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=hbW7=7I=gmail.com=bobbyeshleman@srs-se1.protection.inumbo.net>)
 id 1pcpx8-0005pt-IG
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 15:55:42 +0000
Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com
 [2607:f8b0:4864:20::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ffaee903-c412-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 16:55:40 +0100 (CET)
Received: by mail-pl1-x62b.google.com with SMTP id ja10so2226505plb.5
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 08:55:40 -0700 (PDT)
Received: from localhost (c-73-164-155-12.hsd1.wa.comcast.net. [73.164.155.12])
 by smtp.gmail.com with ESMTPSA id
 i6-20020aa787c6000000b00625f5aaa1d9sm1505628pfo.83.2023.03.16.08.55.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 08:55:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ffaee903-c412-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678982139;
        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=XKL34Xqt4xY7ZISRahgSxHiYWvle8IcTwtJOw2t/yO4=;
        b=JtntGSx33/xC4I/zU++edcwMqhx7v5w22QgHer9Q2srqPfWeOi2rNKGJsNcZ7bit5C
         o4SkvIxe3Gk5kdmitOzt37hEa6SpCAExtKleOS7aN3H5FdWS/YEkcAw2anC2jIxO+fKf
         rEhv5GKuKO6VW5r/ZCWUrObeOffm3nd23at1o4r5HrAznmjC48+YW3aHbUPaghY4/PKA
         O0FF7m9Yy+tAOO26C2b71cxLhEXIWyYz7N0z7ED24P3a9YbjBZSu+HwEpjGDJezOXi/Q
         Vq3gmTbu+BHeDFkgFtLyl5yBpjkRBru+G0uFXHw3vC0m+Laom9bAkYr5/o8NUiYpXCXU
         96ug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678982139;
        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=XKL34Xqt4xY7ZISRahgSxHiYWvle8IcTwtJOw2t/yO4=;
        b=fJYIiCb4TrbLJwkyjtGbIsw3IZH9esn6dDDdHyw9j+VXGtR23FXy75xy0j/Vdj13tY
         eWCHEvMdDSJweN7twT/7T0EUALXe4yNLjv/AhuGveRhFfgNkCQ+858I2r8HCwXPBYqVm
         Z0nWgf8v/l9OXbfypTakiKHsd2y4ltKyzM7oa45ixaNboEZ3SB3+vF8vN0tz4CRVpp1Z
         wEunv+DUVaeFBOU9Cp7KheIngPyvnfBpoktIg/b7zNQD3IL7ywZJ/EbAg2PjNd+y07Ha
         7CXUjvqnXSi6RyO88pJV+T+oBpfEkjSZU4n1dKO9w7v7Zuz8zSdhW5iIo19nPjqU8xoH
         yTJQ==
X-Gm-Message-State: AO0yUKXqsKcZdul1F1EXITLQHckCCH9hq3R7etZlla4liyr7qqRjCuRf
	dFoipK9CtutZPmt1XaUA2LBRnSHQyVGTYA==
X-Google-Smtp-Source: AK7set+z1BZpC/bQpMEMMxpK1gRiogFcBIckK81DyBrJxl1Ia56K3bGNKAUklueFWNaFzIFB2jq8yg==
X-Received: by 2002:a05:6a20:3d92:b0:cc:ca9:4fde with SMTP id s18-20020a056a203d9200b000cc0ca94fdemr5462998pzi.33.1678982138959;
        Thu, 16 Mar 2023 08:55:38 -0700 (PDT)
Date: Thu, 9 Mar 2023 10:44:38 +0000
From: Bobby Eshleman <bobbyeshleman@gmail.com>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: Re: [PATCH v3 2/3] xen/riscv: read/save hart_id and dtb_base passed
 by bootloader
Message-ID: <ZAm4lurJxfMeEmxt@bullseye>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
 <43aaa58fac47029b7d11f1d80d310786d7a078a6.1677838213.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <43aaa58fac47029b7d11f1d80d310786d7a078a6.1677838213.git.oleksii.kurochko@gmail.com>

On Fri, Mar 03, 2023 at 12:24:23PM +0200, Oleksii Kurochko wrote:
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes since v2:
>  * Add the comment for start() function with the explanation what and
>    how OpenSBI pass to start() function.
>  * Clean up start() code related to read&save hart_id & dtb_base.  
> ---
> Changes since v1:
>  * read/save/pass of hart_id and  dtb_base passed by a bootloader
>    were moved to head.S. 
>  * Update start_xen() to recieve hard_id & dtb_base
> ---
>  xen/arch/riscv/riscv64/head.S | 5 +++++
>  xen/arch/riscv/setup.c        | 3 ++-
>  2 files changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
> index 52fa41c778..adf5d6c74a 100644
> --- a/xen/arch/riscv/riscv64/head.S
> +++ b/xen/arch/riscv/riscv64/head.S
> @@ -2,6 +2,11 @@
>  
>          .section .text.header, "ax", %progbits
>  
> +        /*
> +         * OpenSBI pass to start():
> +         *   a0 -> hart_id ( bootcpu_id )
> +         *   a1 -> dtb_base 
> +         */
>  ENTRY(start)
>          /* Mask all interrupts */
>          csrw    CSR_SIE, zero
> diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> index 1c87899e8e..d9723fe1c0 100644
> --- a/xen/arch/riscv/setup.c
> +++ b/xen/arch/riscv/setup.c
> @@ -7,7 +7,8 @@
>  unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
>      __aligned(STACK_SIZE);
>  
> -void __init noreturn start_xen(void)
> +void __init noreturn start_xen(unsigned long bootcpu_id,
> +                               unsigned long dtb_base)
>  {
>      early_printk("Hello from C env\n");
>  
> -- 
> 2.39.0
> 
> 

Reviewed-by: Bobby Eshleman <bobbyeshleman@gmail.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 15:59:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 15:59:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510693.788857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcq0m-0006kV-Px; Thu, 16 Mar 2023 15:59:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510693.788857; Thu, 16 Mar 2023 15:59:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcq0m-0006kO-Mh; Thu, 16 Mar 2023 15:59:28 +0000
Received: by outflank-mailman (input) for mailman id 510693;
 Thu, 16 Mar 2023 15:59: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcq0l-0006jS-1f
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 15:59:27 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20605.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 856a8bc3-c413-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 16:59:24 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Thu, 16 Mar
 2023 15:59:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 15:59: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: 856a8bc3-c413-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ErcG6GOmHtU4yjciHBqiIBTd+Ate7sIhSbi6rM0ydCvC5J7MNbRrUMG47vgCUsyZVKMjxMXN1z69XHUrJoGxMPGPuyHdVm1+4FD1ND8WVANGpf6BoxmQ03+V0nXalgTxQT3VMR6e7rrIvAU2y/FEPPhwuQmF7fFw9lDB0yHYXkHxYatQgGArGPXIbeVTidrGaGNdmiyfakNMvLSIJ3EqXt343CQ3uXtTYgMl7BYqYi8SwkmyMVDEVmnHE4Lcrt87SHaf183v7zv++LbmHNV/CS0SNwW++xRuvnc232DuDGxfxzSnQLpQftujo1O+ImbBcYhkMMefrK2lHVlTyuLaeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NZf6vndkj+NyYVflg6jDph+m3aDgThn7xs9JGKBt3V8=;
 b=N3HZRdbbVTWyOH07Ut8gsaCs+uO/KB+5UhEiZUVIbohdisl85evZDlzv1aE+Yf4jOtHhc01doswdamKzABTQ0U1rZoyuJRbZUlYLD/b27DNqlTkQtUkXh4yx61EtFsJAE6rIQs18VwFPJHpRF0skeU3B9/i056uNVSkSnen1YPQWTQ2UH0mLxgPnLawMXrOH0Eblb2IbVJkjqKFvOPyPbvdwHWt6loakiqISFcJaeI3CVOO3/KugaIK5ldA6jAoHilISEQjKCVmj0hPxprUlwMnbGHm/Cp17WoWFYISHazc4PQTsGrF9hmqJi2QKzRu5GQFJT+wGC4jm5ANvdJE82g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NZf6vndkj+NyYVflg6jDph+m3aDgThn7xs9JGKBt3V8=;
 b=i6hAXO9R6PlRXhuDmPIQ439ANgWThA4e31VR+bNzg8h5MqJs4S8/nV3Pyyfx17bNNgzAm79U0tsOmms1EDhsum/LAz82iqkgM9OzDiQTGAcM6AcvNbLPW6e15SxSTE18jdgxuVjAQGn1KHVFa+RMVywqrYQ/gkciFGcsYS2GNgwsAnvnbNstPqi73PkTjDwnNEnQ18J6q+y4GY541C0AFTGFwK2weyO0JfKVAz4Ev335v5rkAfZZSQ6EkwrDV/y13tWkoRWCVMFkoqF1Yy32bEIx8X5eNSSLdN9BSjZq3QLs0l2GIQ/de2GIVljeJ/KeyeJxoJjSfei2yT4vURNPwg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <77bcbd53-beb6-6fd0-d272-f0c9e2f95605@suse.com>
Date: Thu, 16 Mar 2023 16:59:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: Aw: Re: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression
 from Xen 4.0.1
Content-Language: en-US
To: Denis <tachyon_gun@web.de>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
 <e5a4689e-27e1-6992-65f8-c59b669aeaf1@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e5a4689e-27e1-6992-65f8-c59b669aeaf1@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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9642:EE_
X-MS-Office365-Filtering-Correlation-Id: 7c552c27-1800-4788-7f25-08db26376864
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ghQ6EZK6o48vHarzsb6rfEWXP1QlRz2N07xQ037Qdrj3mKssEi6/NRVIJIdLqJXZv0TmpzzGpStm4Hc02gClf89kRexH7jTUknDxcafCpQQTOEuHGMvBuWDtgCdH74s54TRBq5LCCgcS/WD6n73/A4wem6kMIX/nypAB514FuOqBSP51PZyo7rUcYnclcLZ0i4+F4iUFRrhrYqBKZR07yR2G4Q3U5BFVIWZNMU74zc9aDq4RhWaLoYMArBO6OS6k5LMy4lWdJoDsvVrRWDnP72WUsMYtnFgJTinN34I7WZWs/WSLcrm6BzuRiit7Jq47UPRQyshxlatLSE9JNl36VH+cnNPGqmlNe8kWYDhrFDy2Cf/G2M9cR3h2rpSWQ5OXgOypwTkaS3FXwT2j7uZCwslkF67TSe3m4Lw5cdvPxM7twPY+DlcxUsrU1B9t13z8srl6Grt4C/RJ1fpNKZxtRoas3Qfu1LmeZul6NJnYEdTmuQd1iq5gv5lrMt16YSVOEWu46MK96Qf3nGBxTHXmIeNdgdzlgrC5JGO8t+3BLC5J1KusLaUCCRuSkuOKxFAj/952u5pw8+MoT2WYSg3VowfB+wHsktyaEUNn34DdWkGwtpLvJtTX78TzGgnNrLcc9um6u3tnBKBrxGSer9LldPhMEBWhiTUW/bHyxIEU9EFWLyRNF5YMbHXhpZr8tBUJkQAfJbNk4vtpd5mHlq3QT0nKYIASLEIvulvE3E3vQgM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(366004)(346002)(376002)(136003)(451199018)(31696002)(38100700002)(36756003)(54906003)(4326008)(41300700001)(86362001)(66556008)(8676002)(66946007)(8936002)(478600001)(66476007)(6916009)(316002)(2906002)(83380400001)(6512007)(2616005)(5660300002)(6486002)(186003)(6506007)(26005)(53546011)(31686004)(84970400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bzZPNWdmbE1sb3hJNTVzSW9aVndlbEhJT2ZEYzBaTDBZaVp5WVZ4U1AwdTky?=
 =?utf-8?B?dVB6Y2JaMEFieTh3eFZURCt0ckpTQVNScTNoQXQ1dmRjSEhVMGdiUnVvbVZI?=
 =?utf-8?B?eDFDdmtpdEhLVU1JQXpzbk5WK2VDb2hYUGNQaTNpTnZ6ME5LUEZza3lVNVN3?=
 =?utf-8?B?K25lL2I2T2pSam90SU5uSE9abXdVbXFiSXloR0Z1ZUllWUFHVnNCdzdEMUdT?=
 =?utf-8?B?N2M3dzdkYXIzVWJFYm9pbjE2aU9UckxyZFRHb3ppY2FSemFZVzNPWVpEOFlL?=
 =?utf-8?B?L1ZFdVdHclRIZXpwVzFjcDlubE1icHJHNFduZTZFZzdwSWZVeHg0MHVZVzBW?=
 =?utf-8?B?UUZnRk5rK1NQa2E1VnVRd2YwSlFmV0h4UDJRZVJCZlY2RWpMeWtuSFlKMHRH?=
 =?utf-8?B?Z1VVakI5SmJCbTk2a1JyN0RYM3p1cFdoZk5RZUxhVE9QbXYzN1gyY3dndklV?=
 =?utf-8?B?UG9xbXFXeHlUU1ExZzhjVEtsNG42SENuS3JiYlhvS3oyYzB4NDRiYmd1Z3ZQ?=
 =?utf-8?B?TzN4d2J5ZjZ2QTk2RGNjRG1VOVBuUytNR0RodjcraFRYOHBEZU45cGtwZ2lX?=
 =?utf-8?B?VWxiUWNnNzdoVG9Wc3BHVUE5amVMWS8wTVV5ZHJwckU1Nk5xN0J3Sngxdmsx?=
 =?utf-8?B?djlYeDI2eUF3YTRMYW8xVlErZU1aUnhTeDV5bG5kcUNJdGZGRUpHVFBJakFt?=
 =?utf-8?B?WWFvYUZ6UWVmZzQ4TkpEbGMrdUlZMXd6UG1xR2JqWjl0WnpYWnF1azN1aHNJ?=
 =?utf-8?B?aE94Z0JPVW9scFRLT0JqSkxUUkJNZENtaGNvcnBoMStrcVNKWU9SZndoUjhw?=
 =?utf-8?B?YURNUVk2dTh6OEhEVXFQQnloeXlxT2djQkNXK1FZNXA2SzlsOFhWY2xnMm9t?=
 =?utf-8?B?R2NUSDB3emV0STBtVkFZKzkrajRrcXFyRHQ1cjFIZnVvdEhxeTN4VUZYRDh0?=
 =?utf-8?B?WHp3Sys0ZE1scmFQZ3diUlNDa2o0L3dtbmVwdlVMWGovTG53Sy8wazlmNDB5?=
 =?utf-8?B?bmpLTzdScCt6cEI1dTdCUDAxazRpU3kramYxVUpzeEZScjV6SWoxVVhtMWZL?=
 =?utf-8?B?eUVValJWN0h4akpFWW0wVUt3dW9NWUgxVE9mNnAvd0YrKzJZWkpxeXIyczhy?=
 =?utf-8?B?dmhZMVFiWmJXc1dZRXJpc2R3NG9VeXlDKzladUhvMDZReExrT0JnZUZJamx4?=
 =?utf-8?B?dkVBc3FDYW5VOWZ4RmdubFRDL1VWNGNnOC9COGNhSzdmcnJ2bldDS1RnSGRZ?=
 =?utf-8?B?aEYvazdVTVJUUEk5U2VwSWU2anRxdVNwODhVSHh2RVg0RjF4UExXcm5Rd084?=
 =?utf-8?B?akxRME5oS3JqU3djSXpEc0trZUdSVEFnYmdVc0JRYUdxMVAwNFRNTnhCQXRV?=
 =?utf-8?B?TXRXYmdkeEJSWW1pSGNBVTB0QUZ6Vk0wUU8yNGNZZ2NhdEtOOGNqejVwVGdD?=
 =?utf-8?B?MlFnVDltZGZXaktrREhqTVd5K1IrbTEvcmFRVHdHTGFiZktGL2J6RHhrZWdI?=
 =?utf-8?B?eWMzNmQ1SlcySFEvWGtkUlE0dm9Fb3V3Mlc1T1ZTS3p0bFhqRkkvNUM5SThv?=
 =?utf-8?B?NU53aGl2bTU5RU9Vd05iWDF1aUJ3c2Z6enRkOTd6aXJUbXlTMWVOeDRxOVVX?=
 =?utf-8?B?Vi9WY09CZVg1ZzU0d0VMRmlSR3RIeEVaOEUwV0ZTaW9KUCtFWDJ1S0NOZVcx?=
 =?utf-8?B?UnFlWDR0YWsvNDI5TEFnK3g0RUtrdTZFNk9EWVAydDEyZ3Zub3NjZlVTenJm?=
 =?utf-8?B?dTE5d1JXSmdVVitncVVhb0RWekJmTWNCNjRMem9mTXlFdE1IdGpGUHBwSDJE?=
 =?utf-8?B?UDJZMmZ4YVdsTDV4Y21Rd21Ic3FPbmRscVRvVVEydVF5QnJtdElETTdSVXBZ?=
 =?utf-8?B?SjZkczF4KzFJalFmNFFCRjR3SzVOby9JRlI1N0VNRU94ZzFCcldDZnB6UGZH?=
 =?utf-8?B?QW84UWp4ZTdERTE4N1lTR0hQdmU0S3JjRDhqK3d0WWN2a1JzZllTSXdka0FP?=
 =?utf-8?B?MU5yK2ZsTW5SWkFydzB5eW10cU9uaVloTHNCbFBIYk9IMWFEdDlOMHZaa0xK?=
 =?utf-8?B?MjJXZTV1d0pXMWZaalJvYlBFR2xWRU52RGh0MmJuMVFwYXJ4V1BZempPL3E1?=
 =?utf-8?Q?1SBP1p2U5se1xkVW6TK8Id5er?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c552c27-1800-4788-7f25-08db26376864
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 15:59:22.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: FEob9x+e1AMmH8MtPQUbQeEykwk0lkZKeWci7bX5YKr/WOYjzfmLMoGB+IURrK5IjThYfRkwc8tEYr7/elnX5A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9642

On 14.03.2023 16:11, Andrew Cooper wrote:
> On 14/03/2023 2:53 pm, Denis wrote:
>> On 14.03.2023 07:37; Jan Beulich wrote:
>>> On 14.03.2023 02:15, Denis wrote:
>>>> On 13.03.2023 10:36, Jan wrote
>>>>> On 10.03.2023 21:50, Denis wrote:
>>>>>> Should I test something else?
>>>>> ... there was no request for any further testing here, for the moment.
>>>> ah...sorry, going by "Would be nice to have this confirmed forthe system
>>>> in question, i.e. without Xen underneath Linux" I thought I could test
>>>> something which might help shed some light on all of this.
>>> Well, yes, that Linux-without-Xen test would still be useful to have
>>> results from. I didn't account for this in my earlier reply because
>>> I had asked for it before already, and I did take "something else"
>>> for meaning anything that might have turned up as useful from the new
>>> data you had provided.
>> What tests could I do or what info should I provide to help?
> 
> Can you please rebuild Xen with this patch:
> 
> diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c
> b/xen/drivers/passthrough/amd/iommu_acpi.c
> index 2fdebd2d74c9..747eae25f56c 100644
> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
> @@ -1033,7 +1033,7 @@ static int __init parse_ivrs_table(struct
> acpi_table_header *table)
>      const struct acpi_ivrs_header *ivrs_block;
>      unsigned long length;
>      unsigned int apic;
> -    bool_t sb_ioapic = !iommu_intremap;
> +    bool_t sb_ioapic = 1;
>      int error = 0;
>  
>      BUG_ON(!table);
> 
> which should cause the behaviour to revert back to that of Xen 4.0.1 
> (i.e. it will fully ignore the checks relating to the southbridge ioapic).

Alternatively you may want to try the change below (I think I have now
convinced myself that the state change is still possible at this point
in time), with the intended effect of ...

> Confirm that with this, and booting Xen simply with `iommu=1` that full
> DMA remapping and interrupt remapping is considered active.

... DMA remapping active, but interrupt mapping off (i.e. matching
Linux behavior), without any overriding command line options.

Jan

AMD/IOMMU: allow DMA remapping to remain enabled when there's no southbridge IO-APIC

The original Linux commit that our respective code was derived from
isn't as heavyhanded as our cloned code: It only disables interrupt
remapping in such a case. Follow that model, noting that it is still
early enough to turn interrupt remapping off on its own.

Fixes: 06bbcaf48d09 ("AMD IOMMU: fail if there is no southbridge IO-APIC")
Reported-by: Denis <tachyon_gun@web.de>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Note that the alternative of disabling per-device interrupt remapping
is undesirable as per XSA-36, yet then again it may still be better than
turning off interrupt remapping altogether. Thoughts?

--- unstable.orig/xen/drivers/passthrough/amd/iommu_acpi.c
+++ unstable/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -1183,7 +1183,7 @@ static int __init cf_check parse_ivrs_ta
     if ( !error && !sb_ioapic )
     {
         if ( amd_iommu_perdev_intremap )
-            error = -ENXIO;
+            iommu_intremap = iommu_intremap_off;
         printk("%sNo southbridge IO-APIC found in IVRS table\n",
                amd_iommu_perdev_intremap ? XENLOG_ERR : XENLOG_WARNING);
     }





From xen-devel-bounces@lists.xenproject.org Thu Mar 16 15:59:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 15:59:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510694.788867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcq0u-00073I-22; Thu, 16 Mar 2023 15:59:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510694.788867; Thu, 16 Mar 2023 15: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 1pcq0t-00073B-VT; Thu, 16 Mar 2023 15:59:35 +0000
Received: by outflank-mailman (input) for mailman id 510694;
 Thu, 16 Mar 2023 15: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=hbW7=7I=gmail.com=bobbyeshleman@srs-se1.protection.inumbo.net>)
 id 1pcq0s-0006jS-TL
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 15:59:35 +0000
Received: from mail-pl1-x62c.google.com (mail-pl1-x62c.google.com
 [2607:f8b0:4864:20::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8a097c8e-c413-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 16:59:33 +0100 (CET)
Received: by mail-pl1-x62c.google.com with SMTP id c18so2213842ple.11
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 08:59:33 -0700 (PDT)
Received: from localhost (c-73-164-155-12.hsd1.wa.comcast.net. [73.164.155.12])
 by smtp.gmail.com with ESMTPSA id
 ku13-20020a170903288d00b0019acd3151d0sm5802066plb.114.2023.03.16.08.59.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 08:59: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: 8a097c8e-c413-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678982371;
        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=bqDfKicuI+A2UUV1jagP4jhJiEUzL1WG0Bvj6Fidetc=;
        b=fUS1ngSX+r0K3xEn0kEQSOUWksLvFbSwJcPA/gPJn71v+fpmscoWZ0fdmktOeBL1Rk
         M6Vbi3BaJb7pmskAwg8PFjRNsDnDo1jiUePOSijAnt7HiYEmBd51JSwTEENmLXmNHSPX
         BxnZHFPSMwoTs4cl6/wHdfXx/IabT4FGDGHuSExfvm1lnSztplMIoO27FWgNwVAFKIl8
         QVgHkrZe/J9xKis6w4snu6THU2csVse5LprdDDEQ0fBQzjOwqeWT+h1iFeqN7wbYzwwY
         dXXRVl8kc9YuCvXzEDEQrP2tXncvvDbgTZHE6oOzHySlHHQS8fGXL7WVeYdf4J15GH5T
         KyLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678982371;
        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=bqDfKicuI+A2UUV1jagP4jhJiEUzL1WG0Bvj6Fidetc=;
        b=t9s7cIzfhB+B5e2OBzy0kBB4TVhhSxqgAC5kiPtIELF1EA5HSKq9cTj8zqrLT/6F1G
         WwEh7NXJfpV/aSkBtbUv6QoHOW+Vlj2IG4H0tCFh4iQHsh07IHQG83ebPwh2pLvs1LZN
         T4DKL2/zrZu/5/h9q6jk348v561dBaKiUQ0TMtZx9/bCw9LbLcDpgFDCmDx3Im6z7k1Y
         A1n37+iBvyMC7VpBKg4PwWCkzwguzaSQfbQ09mN8BPwTzXPeEFwlq38MuXYEeKI4iI9J
         btYyf1jeCFf8kFcyhes0u/JcJFpbwFMfofcX7lM9aOnUyglWTHaaXswNrl5GJc1P47Ng
         6JvA==
X-Gm-Message-State: AO0yUKXrwUh5FkDw/gL1sH8wWZLFZRul/IjPeTXXQfszTCsQkM8rcArx
	nSL8viRbAIJu7IoRRakedsg=
X-Google-Smtp-Source: AK7set9cpybDcgMX7QVM1DdxpbvCqk1GbN+kKRcWFdt66O1/C09ZcTWDmS0W+t10chwH+x79SVtM7A==
X-Received: by 2002:a17:902:f28d:b0:1a0:53b8:907f with SMTP id k13-20020a170902f28d00b001a053b8907fmr2901287plc.17.1678982371012;
        Thu, 16 Mar 2023 08:59:31 -0700 (PDT)
Date: Thu, 9 Mar 2023 10:48:50 +0000
From: Bobby Eshleman <bobbyeshleman@gmail.com>
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: Re: [PATCH v3 3/3] xen/riscv: initialize .bss section
Message-ID: <ZAm5kkOnOi8LiyLj@bullseye>
References: <cover.1677838213.git.oleksii.kurochko@gmail.com>
 <16fb328e06f6b99d967fa7d186a4c0aaa986050e.1677838213.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <16fb328e06f6b99d967fa7d186a4c0aaa986050e.1677838213.git.oleksii.kurochko@gmail.com>

On Fri, Mar 03, 2023 at 12:24:24PM +0200, Oleksii Kurochko wrote:
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>  xen/arch/riscv/riscv64/head.S | 9 +++++++++
>  xen/arch/riscv/setup.c        | 8 ++++++++
>  2 files changed, 17 insertions(+)
> 
> diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
> index adf5d6c74a..8887f0cbd4 100644
> --- a/xen/arch/riscv/riscv64/head.S
> +++ b/xen/arch/riscv/riscv64/head.S
> @@ -1,3 +1,4 @@
> +#include <asm/asm.h>
>  #include <asm/riscv_encoding.h>
>  
>          .section .text.header, "ax", %progbits
> @@ -18,6 +19,14 @@ ENTRY(start)
>          li      t0, SSTATUS_FS
>          csrc    CSR_SSTATUS, t0
>  
> +        /* Clear the BSS */
> +        la      t3, __bss_start
> +        la      t4, __bss_end
> +.L_clear_bss:
> +        REG_S   zero, (t3)
> +        add     t3, t3, __SIZEOF_POINTER__
> +        bltu    t3, t4, .L_clear_bss
> +
>          la      sp, cpu0_boot_stack
>          li      t0, STACK_SIZE
>          add     sp, sp, t0
> diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> index d9723fe1c0..929565720b 100644
> --- a/xen/arch/riscv/setup.c
> +++ b/xen/arch/riscv/setup.c
> @@ -7,6 +7,14 @@
>  unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
>      __aligned(STACK_SIZE);
>  
> +/*  
> + * To be sure that .bss isn't zero. It will simplify code of
> + * .bss initialization.
> + * TODO:
> + *   To be deleted when the first real .bss user appears
> + */
> +int dummy_bss __attribute__((unused));
> +
>  void __init noreturn start_xen(unsigned long bootcpu_id,
>                                 unsigned long dtb_base)
>  {
> -- 
> 2.39.0
> 
> 

Reviewed-by: Bobby Eshleman <bobbyeshleman@gmail.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:02:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:02:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510697.788877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcq3S-0000ok-Hh; Thu, 16 Mar 2023 16:02:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510697.788877; Thu, 16 Mar 2023 16:02: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 1pcq3S-0000od-EE; Thu, 16 Mar 2023 16:02:14 +0000
Received: by outflank-mailman (input) for mailman id 510697;
 Thu, 16 Mar 2023 16: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcq3R-0000oX-8G
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:02:13 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20619.outbound.protection.outlook.com
 [2a01:111:f400:fe12::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8d364ec-c413-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 17:02:11 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9642.eurprd04.prod.outlook.com (2603:10a6:102:240::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Thu, 16 Mar
 2023 16:02:09 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 16:02: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: e8d364ec-c413-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QcML9wCty+SneC6QGjLrgocADXY4ZooD/4nmdamHXRtRAMKLhnlY+2nTCsKqOov2GjehaCKWibENkaGsDlYE1pb9s8U9pMKeaEGZ1ZjeTrgQt9bvNJRZnmiROJ/IxcUHZmWQ0Ow5CbFIUXnRPUjGY8Za26XCqrDFgU1zO5IvYK4TQBKJy9B59SOxC3AnTe1FrbVr6qdLXJT0UuiHjXZCdzjlQQl2pP5jV8NDij0vHSWD7XFRzrn2/+FYbRHa6P3cBV3fTxSQ0ZRD2hMzcpKSkmsS7LELJTw1FhdGS5H32jjl3aa1QmSgUjAbDsYSsFjyxP2MHs0lu5fb94ooqdF9XQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EJw+kdHW6nBpOkf32c4UzYbO+1SkkSt7A3sx7OmIXQ8=;
 b=Txa6o1/kqQvOX/LRhyxhVA5Dt6PHg/Mejo5YwJ/sYXtACN0uIYOQhoc5RPAi3nycxhtQVbMSpkBOzojpGeALJWZa4yIpdwBHR6f7a96U+yP1G6c/acxhgcvHakFgWIIosw7zeXswlnqXyXDmhro3htI5Hq+0zv5+oOSQ0Ltiz+scHQ88tAlRYZwBKjpdB1KvKx4r4Qfq2zJWrZn0rzps6is80C6qWMMUxwuh1dCAMFe5HLOJBuBRC+vmBZK91oqe/FkhWloLcM39bd2pgsSs77bb+Yf7dSMM1ze0etF9Kazdtvfnw417iLwIW/PZkGkbcaOgYYHBWvgw4RrDaMQRNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EJw+kdHW6nBpOkf32c4UzYbO+1SkkSt7A3sx7OmIXQ8=;
 b=nO3Lp5pvJHeVfJ4+Jy5NYKDamy4LvVahu3BzwEakioTrdguk9ZWuKSBQ9GBSzQ152SXpn2bZ1uzdLZ0/rjQehX65Pbz/E/WeDr8hdsaRTsqBAPXIMcIQW5IU9PWhuyKrM+YwoxqGN2P6uEidZZEt90UacWMx8zVgVdqSD8xFZ2nUVysTlCPwmN0bLZIzK1zvQrtEs7QH+q5jmHAO7E0fQXusLurXAu9AgeTq3jnqj8Fr17jmT8FvXEVhvoFbe3EvINgADc+hjBuwT8XziKVhlshp0slpDlXeYEEywTZ5k10FNn9yyajsJKbfmAcYisr3Tfq/WaMJqea7uZqGa6kX0w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0373ab35-d51a-83a8-e0fb-f8f5376bb983@suse.com>
Date: Thu, 16 Mar 2023 17:02:07 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] xen/console: Skip switching serial input to non
 existing domains
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.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: <20230316102635.6497-1-michal.orzel@amd.com>
 <d9654392-ce4b-07b6-9be0-7a6d4230c287@suse.com>
 <2cfc0751-4360-5899-c93a-56ef952a6b2b@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2cfc0751-4360-5899-c93a-56ef952a6b2b@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0182.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9642:EE_
X-MS-Office365-Filtering-Correlation-Id: 68d24b38-60cd-4c13-a91a-08db2637cc28
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	btpWjcBenv29BxgHkKvb0KbKXx9Wd06p8XnH3nBA0LPIu5NkqaRljgaY6gWc61ZIsK84uv6nZjR2iGcz/v7ngFHGWTZcZ4jhrr5tlwclz8CLMsK74ToF6x2x53y9aPiOKnvddIyqH/t7tlGje9iQkVhUQ+04ZBtC2liT39078kOfekXhvWpWhFnQDT34uSKPFwvvofdcBVzephMYynRwY615hxMJNq9ZXvLcAeoyYMwfksXlVpFw+6IbbnYXuJj3zpYyWDMfaOj5CjPLkkNRHa/kaHB05D3OACNmmp4QIWWbJ9bg6GNsWWMkEeU4/YaEtEyXtWa4uik947HlzKu9/RTo9cYIu2jH0L52wbXicMFz+0d+duoY7sOAUCNL7ZjnIfoIzAbttYCfxwO4R6cvU6bN1R5izX9dVLF/UO9Fu9lwU8hKEbBL2kivMghbfxzapipV5EeAQB7wrE3Shg/DrksDymD/ybVOguT6UsfRKJ3TFmx4Uyve7EFBWVMgj5WJq65L6/XEYUUWD8Lbk+mBMqvYf68Nt9LbOjrYUkDH2gy+90tR9rGctrrj9VggSFFbXLqkzsP8BgTr5vIApZ8PlEewPN815WqdtIEXVnA+1Axq/zOtDPmb8B8EkQaf81eMx6BbxnuBFLtXOgF/odLO8qTmKrh6nkRvgUnw9EONmkf/FrDgyKEGFvHdVVfZAMo54b3VHIJFmnEKop3XF7ZHHDbfSmStp3cbMqEbjxRGjDQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(366004)(346002)(376002)(136003)(451199018)(31696002)(38100700002)(36756003)(54906003)(4326008)(41300700001)(86362001)(66556008)(8676002)(66946007)(8936002)(478600001)(66476007)(6916009)(316002)(2906002)(83380400001)(6512007)(2616005)(5660300002)(6486002)(186003)(6506007)(26005)(53546011)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SnBmUVlGTGF4WWRyWENpa2Y5S2JoZWhGUUYvTHpodmw3bXhqSUtleGRrUEZz?=
 =?utf-8?B?bE10c25OZUpoNEVLbm85N1FoSzZwRVA1TURiMnU5TEJhdk9lSFhKZUIxT0d4?=
 =?utf-8?B?QnBNVGk1eFZHTTVSSTMwQWJlL21iU0lCZlI0emJ6R3FJaTNyTW1FVTdqK1M4?=
 =?utf-8?B?aTJOZTVPMWlMK2ZBb2FVODFMUHplTGkwekFPSDcwcVBLMHorZzB3WVF1amxZ?=
 =?utf-8?B?R1NYNmp2L3Y1dXpQYXFObXIydkFEZGVFSXIveWFienNEYTZmYjlhTjVJVlJG?=
 =?utf-8?B?dkJJVkN2MnhEb3JkeXRKRW9mWnlaUzh3QUVjS2RvYzBFUEhYaUtEcW0zNmEx?=
 =?utf-8?B?S3hacGgyU3JEWldwSS9JQzJFR2EwcTk5M2VZblJKZU5LeFkwUml5N1hnbmh0?=
 =?utf-8?B?Z3U4bWx2UWlQamJHdlQvUDVnUStqVzR2U2h3NDlvYVZwWXdwUFN2MVRYb3ZR?=
 =?utf-8?B?WHJTR295Q3RXeTRKbUd1OUorMUtoQUltcThWN2VqWjJVRUtERFpoYWp4MFVv?=
 =?utf-8?B?NUV3ME13MEQ4Zi9NZlJKeUhtMGdNWm12c290K1ZhQzRjUWNGcm8vYk5MSFNy?=
 =?utf-8?B?VGJELzJLSGZQaXB5Si92QmkvTnpKNnF6ZnFSMU1yRW5sS2lFLzJZaGxCOWRt?=
 =?utf-8?B?WXgzQ0VEckZBUHRSc09ZWDROb2RZcHZIQURUYkdsd3ZuMmlERkRjcjYvdEJs?=
 =?utf-8?B?QW0wUzgvMC9DdmtPOVBJdlJlYUNSdDNsclFIa3g0dE52MHNHbDB2amVob1g2?=
 =?utf-8?B?cDFCcThhMkI1VVkvQjhEVjYydkhHTEVUUzNxV1J1b2VYeHZXeWhPb2gzWW51?=
 =?utf-8?B?YlllUmtDZkNjK1EvQkd4Y1g3WndjRCtqeW5sMFFyMzE3czVoaklRbkhxRXhq?=
 =?utf-8?B?TXcyYlY3RUpBS2RMTGlQUVdhUE9NRGlPVkRUV0FQek5nRWVtRDhxZkM0MU5V?=
 =?utf-8?B?NTk3MlVJTGg0VzZCWGVUeHhqdlNheGJmZUhFODF4ejEvak1JYkphRDdxZElt?=
 =?utf-8?B?VkVqeERTOG1oMjN5SmlSb3IxY0tRWHFsZ1ZiWkZFa0Fhc0ovMDdqb0ZnMUZn?=
 =?utf-8?B?QjE4cFpoeXV4clIvQURhRTlMMUwyQTFpaWFLVVFrWjRvZE85WHJRSHdQRkhR?=
 =?utf-8?B?emdTdk52dzNHcElwNkdIWjV0WHo1bWErSDBmOGN6N1J2QjBaR25mMWIvMnlF?=
 =?utf-8?B?dXJmano2cmprYmJnakFWZ0NwZDRnaHg4TmY5NmJVYWFLZ2dOQ20xYWplNk42?=
 =?utf-8?B?Zi9nTG8yaGVzeEVRMXFUdGJyZ2N2NFJKMURsRm9MT0FaK2FvMzMrTTQzOHpZ?=
 =?utf-8?B?aWl5aVl6MnI0OWs2S0g1SWtqU1ZneEhLaGR1SkZuTlk3SWZ6ZFhZZnA5djhQ?=
 =?utf-8?B?SXFlM0ZJdmFpSkI3czdVcG0zdlpjWmFNTmJGQXBNdnNHVUNSeWFqVFdDQnJi?=
 =?utf-8?B?VHBFa1NieWNNNVY4YytoT0RxbENZdUhRdmxaaCtHY0xrNUowSEdranR1OTJF?=
 =?utf-8?B?TDdQaERwanh6VXkzaDZ0WGNUS01CdjFtVU13THJCUzhKb0c5RlJ4QnIzaFVq?=
 =?utf-8?B?QmxvN3RuRE5mQ0hBYnN2NWg0OVlQN3FCTldQczdYYU1VcnFtY2R0bmxmOGhz?=
 =?utf-8?B?OUZHZVFZRytDNHVyaGxpSUx4N1JsTWJBMWpzeEJEVlZqZ0tVaWpmcUVPZ01S?=
 =?utf-8?B?eXZIbEE3ekU1bmdWYTZxN3NKdldkQzY3amR4bFE4YUFYRFZLY0VZLzZudzZr?=
 =?utf-8?B?emo4c2NvY1d3TEpTZ3BQNmtBYkxsZzY4YmdQRnRzOE9seU1QZ3FvOXczdVpO?=
 =?utf-8?B?SWZkd1FDTGN4N1d5M04yRys5cmxib2w1SkFlbWtLNHBRU0QzYTB3aWhJcjJx?=
 =?utf-8?B?OWJLQTA1dkZ1RXhtNm44Z3RzZHArQ2RVcHhZUXFGMC9PVmVyMHAvb3FSaW5q?=
 =?utf-8?B?YWpRMndqNEVTbDE5VU10Qm8yS0tER2FEbytMV0RtVEFvTDFFUDgwMThDUzFa?=
 =?utf-8?B?Zndicnh5UUZkYktYeURhdXhQK3JFRlBWSUNZNTREcTJJTVhDUWFZMWI0dkNR?=
 =?utf-8?B?MzROWnpqYzI0RFo2VDlpV0VERytNK2RkUklFRHZ0L3V0TDNkV0xQeGVzMW9P?=
 =?utf-8?Q?P27sg8nt907end5bUsKpI0N5R?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 68d24b38-60cd-4c13-a91a-08db2637cc28
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 16:02:09.4736
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HZghTKQsUi7ewYdt/Bn+aBEC+MsOLnRjQJ2iTKigQMwJDqbEycCdlSZeaXDbvDeg2axDZZAviKkdCnZW2DHdww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9642

On 16.03.2023 15:15, Michal Orzel wrote:
> 
> 
> On 16/03/2023 12:11, Jan Beulich wrote:
>> Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
>>
>>
>> On 16.03.2023 11:26, Michal Orzel wrote:
>>> --- a/xen/drivers/char/console.c
>>> +++ b/xen/drivers/char/console.c
>>> @@ -490,7 +490,24 @@ static void switch_serial_input(void)
>>>      }
>>>      else
>>>      {
>>> -        console_rx++;
>>> +        unsigned int next_rx = console_rx + 1;
>>> +
>>> +        /* Skip switching serial input to non existing domains */
>>> +        while ( next_rx < max_init_domid + 1 )
>>> +        {
>>> +            struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
>>> +
>>> +            if ( d )
>>> +            {
>>> +                rcu_unlock_domain(d);
>>> +                break;
>>> +            }
>>> +
>>> +            next_rx++;
>>> +        }
>>> +
>>> +        console_rx = next_rx;
>>> +
>>>          printk("*** Serial input to DOM%d", console_rx - 1);
>>>      }
>>
>> While at the first glance (when you sent it in reply to v1) it looked okay,
>> I'm afraid it really isn't: Please consider what happens when the last of
>> the DomU-s doesn't exist anymore. (You don't really check whether it still
>> exists, because the range check comes ahead of the existence one.) In that
>> case you want to move from second-to-last to Xen. I expect the entire
>> if/else construct wants to be inside the loop.
> I did this deliberately because I do not think the situation you describe is possible
> (i.e. no domains at all - Xen still usable). With hardware domain in place, we can e.g. destroy the domain
> which would invoke domain_kill() -> domain_destroy() that would free domain struct.
> Without hwdom, the domain cannot kill/destroy itself. It can do the shutdown but it will not
> destroy it (at least this is what I tested). So I do not think there can be a scenario where
> there is not a single domain while Xen running and be usable.

I didn't talk about "no domain left at all", but about the case where the
domain with the highest domain ID is gone.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:17:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:17:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510702.788887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqII-0002iw-0q; Thu, 16 Mar 2023 16:17:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510702.788887; Thu, 16 Mar 2023 16: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 1pcqIH-0002ip-Sd; Thu, 16 Mar 2023 16:17:33 +0000
Received: by outflank-mailman (input) for mailman id 510702;
 Thu, 16 Mar 2023 16:17: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcqIF-0002ij-N7
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:17:32 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 08b52e12-c416-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 17:17:25 +0100 (CET)
Received: from mail-co1nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 12:17:09 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by MN2PR03MB5231.namprd03.prod.outlook.com (2603:10b6:208:1e0::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.30; Thu, 16 Mar
 2023 16:17:03 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 16:17: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: 08b52e12-c416-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678983445;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=bRgHK19H5wmLjBVui25zIcTJlAp68OmKVwRUztqD3f4=;
  b=JfvhAz4DIY8yMF7DB354ZfBFfExwsc9lcnjkLzOKStpBJl5NoxFlTyXR
   AJZNqrZK271aBfxgmdwBYjqXczrI1nBVvX1tfdKufeiHFz6DtdAU1waMI
   kyr9l/fnXKJGSaFZZgnNpDBqKRkPsC91xMHQR5/K7Q7ddlFqDpFbedzpt
   w=;
X-IronPort-RemoteIP: 104.47.56.176
X-IronPort-MID: 103564023
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:9A0D4qth27RC+ucGMxIgw+BDuOfnVNhfMUV32f8akzHdYApBsoF/q
 tZmKWGGPvbcMWP8c9FyYYWy8hhVu5XSnd5rGQA/ri1nFCxB+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASHySFKZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwBy4nMw3ErbON5bO/ettvq+IvLuTXFdZK0p1g5Wmx4fcOZ7nmGvyPzvgBmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osjv60b4S9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAuiANlPSuHgrKUCbFu74jIxBywObF6AgsaJlB6jYo5OJ
 GEtw397xUQ13AnxJjXnZDWGp3qDsg8ZSsBnOeQw4wGQyYLZ+w+cQGMDS1ZpeNEg8cM7WzEu/
 luIhM/yQyxitqWPTnCQ/avSqim9UQAXJ2IfYS4PTSMe/sLu5oo0i3rnUdJLAKOzyNrvFlnYw
 S2OrSU4r6Uei4gMzarT1Uvcnzumq5zNTwg0zgbaRGSo6kV+foHNT5Sh9Fzz/ftGaoGDQTGpv
 3Uams7Y8OEHC7mMkjCARKMGG7TB2hqeGDjVgFoqFJ548T2ooienZdoJv284I1p1OMEZfzOve
 FXUpQ5a+J5UOj2tcLNzZIWyTc8tyMAMCOjYaxwdVfIWCrAZSeNN1H4GiZK4t4w1rHURrA==
IronPort-HdrOrdr: A9a23:JHzsXKHjxBNVuqkxpLqE7MeALOsnbusQ8zAXPiFKJSC9F/byqy
 nAppsmPHPP5gr5IUtQ/uxoWpPhfZqsz/9ICOAqVN/JMTUO01HYT72Kg7GSpgHIKmnT8fNcyL
 clU4UWMqyVMbGit7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="103564023"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DVGjGgYv6rc9CoodpYwa+FKAfBR9RW5BwKLT0cbEgjxev/FETrmq57wXrUxOnnCXFesq4F0eQdRVMjvYLA5JGLnQpWPFmH1B1j7zNQ0+tN2qSvXDux/jBcTBC2ccZP+nBxWAhw5fU1/6MoeGfNPCHSvZVFuNOUZbkpF9vrIy6bluhNi5brHGGIPgOZecewTr5D9UiEXZViALMm/oa61r1p1OiA+nOFnYKfUmot7fk5zVz9mzmteCHwE89ZCFH97Eu7ipl9aNuJyEWNM06tPlk0AbOkgIu43kA2eTQmLeFzBDdZgrbdm+2zdQgfloy4V3De1CnrG8noZuXgopHZYulA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9gHcRfMgagFDJfPcqavwE32II0D7fwAP5uKy50EpeJc=;
 b=kIAY84zAK6Zj8pdQYjC0fT/WPZ8yy7FicGX4iDLZW3DT8zQ3A0gZRgzFiDjjESmi2aIHI7Z2ushZziJYBOceh1QAh3UdW7HL/zOvYawCy2rmHuagvzfeqIU5exD5MEZ0e6y7625cSfJ9EUkrOdpzJ7KCXGE3XHfedBz4dsp4zxeO4cS6ZG0cLl++rNUzjUbPnMjzxa33EiinciuG2Iy7vRIYRjmqm1Nph8gTi6MS52xLA8EHp/b9TdIpcu2YjT8tiqmSNeLQ+tGZtvXjn2UmtAHLcmSZ0WrXYnHklHE1Z+PcFafMtE3rpC65IW0NZshuhJp2zQS47TaHwpHM+5gjZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9gHcRfMgagFDJfPcqavwE32II0D7fwAP5uKy50EpeJc=;
 b=MhqT72L/FIdfo2xsMdj/rp75AHHuTB9lDZNyX/8+FQg0GsIN3PaIX+eRkZtTbHq8IVEpAoE3W6+TFeHmU85Jnfs7kGQ8gjIrGEgKq++k4yNZU/9sQ+gSa3tYHS+YYts3LXokCXedHnW/oLOz48I98qtFJ/OuyDk8MuS7E31qmpw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 17:16: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>,
	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>,
	Paul Durrant <paul@xen.org>, Kevin Tian <kevin.tian@intel.com>
Subject: Re: [PATCH v3 2/6] xen: pci: introduce reference counting for pdev
Message-ID: <ZBNA9q5DXJYG3KVp@Air-de-Roger>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-3-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230314205612.3703668-3-volodymyr_babchuk@epam.com>
X-ClientProxiedBy: LO2P265CA0498.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:13a::23) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|MN2PR03MB5231:EE_
X-MS-Office365-Filtering-Correlation-Id: 562bd50c-87f2-4dfa-b5e0-08db2639df6b
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gpmnOHdFuxYX+MmGu5eV/NloJWglkvauTZqUWgEi9CpikMnaqfQppMLHS9XokEhpmLzoG7oQyP+9D286bb+8H65FBbYEVvLj8OCITEwjUd6YHAEp97fVQ7Yo/3ZSYT9Z43mP25nEjqe15CoKKXYEwtkj8MS3MXLhttCfplLTaYGAvv5ANdvnA+kX/us/B23RnsII4n29gD64kNJCMmNl9rMg7Bxg3B7T7C+vhgkGl4V9e9tFzIB3BYdm7tJbK+wEGlUi55UPGCvMU2OLuhKxNObFwdiOfGnKBUeCMsG89beS4duKmmY6RejL8bB0nyV0oSmuV+Asrq+VndKDXd9QYHqGPQ45KShPfu19VQUArJ7+irfd07AoasOpdpISkiNCuiBqQIBIHuNs4NkZK+WqAg8yeqhCReBARcH8mkKo5xfvt5wk2Tsr3LUqVEVNS2kZbFAaZGbSk1xNWthbGi7mUFFBiBUgvt5spxntnCHSCVP1fAMeYVuYBAPMn4LqwbSh0wZXCQ7vjdYuQ15ULXXmA4oPA2M47RM5sYPEOBDkfkMd8EiCGWk8RNuzUtB2fn4ofnPjFg2ou+wc8bqzzz/fJ2r2r1RVkqAblVl3pxSFIXD0hF/3BXimOv2m8JnJq+DOmXgcPzIQ8SPk6IT/6sfDrqKQ4PpOYj0sNs2DkJ8s8dZLHAS2zY8tDmNA2Vi7uZ4I
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(396003)(136003)(366004)(346002)(39860400002)(376002)(451199018)(86362001)(82960400001)(85182001)(41300700001)(2906002)(5660300002)(4326008)(8936002)(7416002)(30864003)(6916009)(6506007)(66476007)(33716001)(26005)(6512007)(9686003)(186003)(83380400001)(38100700002)(316002)(54906003)(66556008)(66946007)(6486002)(6666004)(478600001)(8676002)(21314003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VU9FT2p6cGV0Z2NQL2F1eTkycnp0YUZLQVg1K2FzRDd0OTRxUjliZ01BdGZ3?=
 =?utf-8?B?S1RvbEFwRDhaRnZraVFSakkxVUhpaTBnZzJuTmRETS85cnRxNThVSEoxSFF0?=
 =?utf-8?B?U0ZtYTQrUzJ6eVNoMENXRXQzb3ZSSG0wR1p3eHp1Tml4STNoQlh6N3hVWUVy?=
 =?utf-8?B?K2JHWEY4ejBtWVNIZitWZXVjanlxSjMrRi9aSlJwYk15T0VCb1pjcDFPbEZT?=
 =?utf-8?B?UzBwakZiTFkwQndmZ2w2TVhtRnIyT0xTRWZlRk11WnJ0NzIwdEFkbFBJbElD?=
 =?utf-8?B?YnpvNXBvZWszdFM2b2YybHBkZDc0NmFKZ0xMWDFOOEk3TXRiRVV2eFVnYjNP?=
 =?utf-8?B?eXhGVXY1ckc5SDRLZFVTeUZVSmF3ME1UZnM0RzAzcFhielZJT0w1MDR5Tm90?=
 =?utf-8?B?ckRGRkJ1cW5BbFAyQTFXRWk0b3M5azl5WkZic2l5b3NDMHU5bThUZXhNMWs5?=
 =?utf-8?B?UDN5V3VwTXRCVkp0eDFwVjNuYVZzemtJQmFXYm93NFM1aThyYnhyN0N5MmJv?=
 =?utf-8?B?bnRkZ1B4cXlnOHpwbWxoWmxST2VudjhyaElqbVZ3NDRUZFVob2E0TUJ1RytR?=
 =?utf-8?B?aVZvTW5MTnhSVmNqQzlzcjN5c3BxUzVIVjVZTHpOcmxvNU9RUVY4dExvUjRI?=
 =?utf-8?B?WGxieS9FNmZ1YlVvSkd1akcvMUVQdU1rbnZBb016WFY4enJJbHFZY0MyRGE1?=
 =?utf-8?B?U3Y5OWZWcGFIbjRhTit0cnM0ZFpicE83K0RHZXpGN0NCV3lSSXZIMUpJb2U1?=
 =?utf-8?B?TTF4TDQ5OEhBSkNBUjlyZ2lUelgyam5TelBvYWhCaHRISCtRQ1hHTDFMS0Y4?=
 =?utf-8?B?Zm5rVlpOVFo5bkN6NEVPZUtpMEhJa1pWZHE4Q2NxZkJSWXpxTkFhYjl1dTNy?=
 =?utf-8?B?NFpJR095Y2RGR1BLSFlZRERwa0VoTDEvbWpuR25ZTTlMakZFOWZaWHJqQmRr?=
 =?utf-8?B?VWE5MldEM3p4b2tENjdRM01YM2UxUE1Qd1ZUWTU4Y3ZkbFg2anRxc2pwTnh4?=
 =?utf-8?B?YTY2bWM4MlFYV0ZYanJwRDJ6d2UzWGNYSER5U3JUcjFQMjBzbFk4cGp4c0JZ?=
 =?utf-8?B?ZUpyVnFQWUZCWWJWMGtNUlhaM3c1OEY4dWFZN0xRb1pBc3FPMENRa2NRS3NI?=
 =?utf-8?B?WWs3aGg4aE4xUVloekt3ZFlaUXpydktySWpWYTQvSm43YW9wVlYrMXc4ekU4?=
 =?utf-8?B?b2VFcHNnR2lLbnJ4VmZRR29CTmhOMGJQV2ZDQ0NVQkdIb0F2WHlOSjd1UU5X?=
 =?utf-8?B?ckVCTXBwVGlWYUxENTJqSEJZTTRvNm1ZUExSSkF0aXFva0E4dVh6UWdNSW5l?=
 =?utf-8?B?YUNnMnhabVB2akF4aWRDWXJ0WGtmMG8vMVN5UG5UdDZVUGJrWno1Q0dpQTNE?=
 =?utf-8?B?VnM5cmF4TldveE4vMGo5WUxzTFZEOUtKMElpRHFqcmZzaWk2bG1LMDFwMklF?=
 =?utf-8?B?Wnc1VzlreGZDdEJ5eHhhaVNvbG0vRmRQY0ZoRnBtWUpYQlhueWJPcmRvc2NG?=
 =?utf-8?B?R1h2SVJmaU80TFBjN1VmMVFxWTl4OUdHVFdGeDhqVEdNMUp4RVAzbDNUUDc4?=
 =?utf-8?B?eHlBbUJ6SnJHM2xOUWMrOFNPUTBKQkFyQkRFaW05eHR4bFViYjNjUU9YRmhn?=
 =?utf-8?B?Tm93dTJoc0d3Z3dFMTkxRXQwbHN3MERYQmZGK0RKV0puVFAxMFBicERmNkJF?=
 =?utf-8?B?ejZiTitDVWJqajJvUGZTR1ZCaUVwZlZ6T1UrSWxMU3JVVmNia3haQjVRMXJm?=
 =?utf-8?B?OEp3cjRkWXV4YzllUm5tZGI3V0FVU3ZZMjFCZURpUlEraUZpQVh2VWJ6VXVD?=
 =?utf-8?B?Y213L1NKMVFSR3JaUUJNNG01ckswa3p1Q1AvWjU0VUVjelQ4ZGR5eFVCaVhZ?=
 =?utf-8?B?OHZzaVh1bzBkb0RwTjhJOHJWbWt0SEkrbDN6WXYrYWhGQlN3Ykd4WkR3cEN5?=
 =?utf-8?B?bmsvWVZMOThtRXkzUVVzZnpBeGJ0d0dkTXQrRjhodmlTU082WUlrM21Gazl5?=
 =?utf-8?B?Vmx6QkpDUE04OFdEK0cvMlhKM2JVRjBsTnl1VVdTUll3VmJSNHFNWkd1MUNy?=
 =?utf-8?B?ZDY1WkJpdUhWdHV6ekNBZ2c2YUNIQ1VNM1NwaTFKY2dBOGFMWXFuYUFKcTNS?=
 =?utf-8?B?K2YyTjBGZ1ZCUmhFcGxwMjlnZnZvdCtUd21RejdpcnY3M0dOcFdzZzFmTll6?=
 =?utf-8?B?T2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	7gBGDzFxslRWzCtiQmgq9PC/tI4Ck7JFtlbJ7ezE7saJS95/229n03t+OJtz2PpOjOWMJ2gef5mkTIGHGnAgIyLus3C2PZpu61T/knD5xVxqXfvI414WEnIRTzcuNm6jDe147H0ZgSo7Wun6omcaLj3FxfeKCKmh7gyWm1dNFOHsrqcadF1g+sQnPyBQltZKPgu26mA5CWyUla03uen07OVxIodRdwBgem9fCy6g1rxygCaFjGQ75CZjOiYCsW9Q+5jeQUUyo3IQaRsx7mjW5Y1yljI3TlZLhJ7n8eOzV7TC/31PkfvsdM/HoxS0H1PGKyKld3p0WzZu4LoIKsg/iPwVrrEK1mzd9Vkuop/1SSn4TOPzPUAzjTXuaInwfzMaJ5vlKX1IwoClcYYbf/iAVQgvFmUYOAm/OwdkSpLNXosOhHQK83O/WQUxp+SoWqs0OzjKSBI2BiEcfDRb4ZenTOtsKSsskiMOy5+QicWfZ9ApWq5Iv4xiYB50/jdZPIHOOE/m7i1TBf1faPcjWRV3w5nMmWB/Q9syzv9J2ygFT/s/kgA5IH4n+uVVYP0WEBGrP+QW4sCiN4mKG5o+BWTumsClwNwviWKSy9Pg8NWOvEvGKhr7mImMeXG3YEUUjG6hvC6jgFbj4nEs5ujPKuMQ8iwi+UXuW7IQWYPwss8T2fxqs+IqLjLaajIX1FPzmJeJpfd1ljnMzNdv8ktInAbr/ZNqtcAZbd09STcIwFTMkD5OdP28qeXSWm9XWNNuTIwaAfLAhx6rDX7HwrTknWipMxtUkLwwKuc67U3WyJmhriXnSeaGOXqutreiFSZhjSFn2mp6rkxV9cm1hqZcWgbXXxrV/kd/QFvtzTNBSsDZYdPl/Lvw3dr3yGl+l4tNIh9j5S3Om7gZBz6jHjuD1Kd28w==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 562bd50c-87f2-4dfa-b5e0-08db2639df6b
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 16:17:01.3612
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: a/Fef6hgCaFR+/UkYI5rlFB1tQ+LWw6MfTcGppDh8RNcKYRvC1csbut3AaNor3Z5KV5zoVyRwN1M3ZLm6SoGcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5231

On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
> Prior to this change, lifetime of pci_dev objects was protected by global
> pcidevs_lock(). Long-term plan is to remove this log, so we need some
                                                   ^ lock

I wouldn't say remove, as one way or another we need a lock to protect
concurrent accesses.

> other mechanism to ensure that those objects will not disappear under
> feet of code that access them. Reference counting is a good choice as
> it provides easy to comprehend way to control object lifetime.
> 
> This patch adds two new helper functions: pcidev_get() and
> pcidev_put(). pcidev_get() will increase reference counter, while
> pcidev_put() will decrease it, destroying object when counter reaches
> zero.
> 
> pcidev_get() should be used only when you already have a valid pointer
> to the object or you are holding lock that protects one of the
> lists (domain, pseg or ats) that store pci_dev structs.
> 
> pcidev_get() is rarely used directly, because there already are
> functions that will provide valid pointer to pci_dev struct:
> pci_get_pdev(), pci_get_real_pdev(). They will lock appropriate list,
> find needed object and increase its reference counter before returning
> to the caller.
> 
> Naturally, pci_put() should be called after finishing working with a
> received object. This is the reason why this patch have so many
> pcidev_put()s and so little pcidev_get()s: existing calls to
> pci_get_*() functions now will increase reference counter
> automatically, we just need to decrease it back when we finished.

After looking a bit into this, I would like to ask whether it's been
considered the need to increase the refcount for each use of a pdev.

For example I would consider the initial alloc_pdev() to take a
refcount, and then pci_remove_device() _must_ be the function that
removes the last refcount, so that it can return -EBUSY otherwise (see
my comment below).

I would also think that having the device assigned to a guest will take
another refcount, and then any usage from further callers (ie: like
vpci) will need some kind of protection from preventing the device
from being deassigned from a domain while vPCI handlers are running,
and the current refcount won't help with that.

That makes me wonder if for example callers of pci_get_pdev(d, sbdf)
do need to take an extra refcount, because such access is already
protected from the pdev going away by the fact that the device is
assigned to a guest.  But maybe it's too much work to separate users
of pci_get_pdev(d, ...); vs pci_get_pdev(NULL, ...);.

There's also a window when the refcount is dropped to 0, and the
destruction function is called, but at the same time a concurrent
thread could attempt to take a reference to the pdev still?

> 
> This patch removes "const" qualifier from some pdev pointers because
> pcidev_put() technically alters the contents of pci_dev structure.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> 
> ---
> 
> v3:
>  - Moved in from another patch series
>  - Fixed code formatting (tabs -> spaces)
>  - Removed erroneous pcidev_put in vga.c
>  - Added missing pcidev_put in couple of places
>  - removed mention of pci_get_pdev_by_domain()
> ---
>  xen/arch/x86/hvm/vmsi.c                  |   2 +-
>  xen/arch/x86/irq.c                       |   4 +
>  xen/arch/x86/msi.c                       |  44 +++++++-
>  xen/arch/x86/pci.c                       |   3 +
>  xen/arch/x86/physdev.c                   |  17 ++-
>  xen/common/sysctl.c                      |   7 +-
>  xen/drivers/passthrough/amd/iommu_init.c |  12 +-
>  xen/drivers/passthrough/amd/iommu_map.c  |   6 +-
>  xen/drivers/passthrough/pci.c            | 138 +++++++++++++++--------
>  xen/drivers/passthrough/vtd/quirks.c     |   2 +
>  xen/drivers/video/vga.c                  |   7 +-
>  xen/drivers/vpci/vpci.c                  |  16 ++-
>  xen/include/xen/pci.h                    |  18 +++
>  13 files changed, 215 insertions(+), 61 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
> index 3cd4923060..8c3d673872 100644
> --- a/xen/arch/x86/hvm/vmsi.c
> +++ b/xen/arch/x86/hvm/vmsi.c
> @@ -914,7 +914,7 @@ int vpci_msix_arch_print(const struct vpci_msix *msix)
>  
>              spin_unlock(&msix->pdev->vpci->lock);
>              process_pending_softirqs();
> -            /* NB: we assume that pdev cannot go away for an alive domain. */
> +
>              if ( !pdev->vpci || !spin_trylock(&pdev->vpci->lock) )
>                  return -EBUSY;
>              if ( pdev->vpci->msix != msix )
> diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
> index 20150b1c7f..87464d82c8 100644
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -2175,6 +2175,7 @@ int map_domain_pirq(
>                  msi->entry_nr = ret;
>                  ret = -ENFILE;
>              }
> +            pcidev_put(pdev);
>              goto done;
>          }
>  
> @@ -2189,6 +2190,7 @@ int map_domain_pirq(
>              msi_desc->irq = -1;
>              msi_free_irq(msi_desc);
>              ret = -EBUSY;
> +            pcidev_put(pdev);
>              goto done;
>          }
>  
> @@ -2273,10 +2275,12 @@ int map_domain_pirq(
>              }
>              msi_desc->irq = -1;
>              msi_free_irq(msi_desc);
> +            pcidev_put(pdev);
>              goto done;
>          }
>  
>          set_domain_irq_pirq(d, irq, info);
> +        pcidev_put(pdev);
>          spin_unlock_irqrestore(&desc->lock, flags);
>      }
>      else
> diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
> index d0bf63df1d..91926fce50 100644
> --- a/xen/arch/x86/msi.c
> +++ b/xen/arch/x86/msi.c
> @@ -572,6 +572,10 @@ int msi_free_irq(struct msi_desc *entry)
>                          virt_to_fix((unsigned long)entry->mask_base));
>  
>      list_del(&entry->list);
> +
> +    /* Corresponds to pcidev_get() in msi[x]_capability_init()  */
> +    pcidev_put(entry->dev);
> +
>      xfree(entry);
>      return 0;
>  }
> @@ -644,6 +648,7 @@ static int msi_capability_init(struct pci_dev *dev,
>              entry[i].msi.mpos = mpos;
>          entry[i].msi.nvec = 0;
>          entry[i].dev = dev;
> +        pcidev_get(dev);
>      }
>      entry->msi.nvec = nvec;
>      entry->irq = irq;
> @@ -703,22 +708,36 @@ static u64 read_pci_mem_bar(u16 seg, u8 bus, u8 slot, u8 func, u8 bir, int vf)
>               !num_vf || !offset || (num_vf > 1 && !stride) ||
>               bir >= PCI_SRIOV_NUM_BARS ||
>               !pdev->vf_rlen[bir] )
> +        {
> +            if ( pdev )
> +                pcidev_put(pdev);
>              return 0;
> +        }
>          base = pos + PCI_SRIOV_BAR;
>          vf -= PCI_BDF(bus, slot, func) + offset;
>          if ( vf < 0 )
> +        {
> +            pcidev_put(pdev);
>              return 0;
> +        }
>          if ( stride )
>          {
>              if ( vf % stride )
> +            {
> +                pcidev_put(pdev);
>                  return 0;
> +            }
>              vf /= stride;
>          }
>          if ( vf >= num_vf )
> +        {
> +            pcidev_put(pdev);
>              return 0;
> +        }
>          BUILD_BUG_ON(ARRAY_SIZE(pdev->vf_rlen) != PCI_SRIOV_NUM_BARS);
>          disp = vf * pdev->vf_rlen[bir];
>          limit = PCI_SRIOV_NUM_BARS;
> +        pcidev_put(pdev);
>      }
>      else switch ( pci_conf_read8(PCI_SBDF(seg, bus, slot, func),
>                                   PCI_HEADER_TYPE) & 0x7f )
> @@ -925,6 +944,8 @@ static int msix_capability_init(struct pci_dev *dev,
>          entry->dev = dev;
>          entry->mask_base = base;
>  
> +        pcidev_get(dev);
> +
>          list_add_tail(&entry->list, &dev->msi_list);
>          *desc = entry;
>      }
> @@ -999,6 +1020,7 @@ static int __pci_enable_msi(struct msi_info *msi, struct msi_desc **desc)
>  {
>      struct pci_dev *pdev;
>      struct msi_desc *old_desc;
> +    int ret;
>  
>      ASSERT(pcidevs_locked());
>      pdev = pci_get_pdev(NULL, msi->sbdf);
> @@ -1010,6 +1032,7 @@ static int __pci_enable_msi(struct msi_info *msi, struct msi_desc **desc)
>      {
>          printk(XENLOG_ERR "irq %d already mapped to MSI on %pp\n",
>                 msi->irq, &pdev->sbdf);
> +        pcidev_put(pdev);
>          return -EEXIST;
>      }
>  
> @@ -1020,7 +1043,10 @@ static int __pci_enable_msi(struct msi_info *msi, struct msi_desc **desc)
>          __pci_disable_msix(old_desc);
>      }
>  
> -    return msi_capability_init(pdev, msi->irq, desc, msi->entry_nr);
> +    ret = msi_capability_init(pdev, msi->irq, desc, msi->entry_nr);
> +    pcidev_put(pdev);
> +
> +    return ret;
>  }
>  
>  static void __pci_disable_msi(struct msi_desc *entry)
> @@ -1054,20 +1080,29 @@ static int __pci_enable_msix(struct msi_info *msi, struct msi_desc **desc)
>  {
>      struct pci_dev *pdev;
>      struct msi_desc *old_desc;
> +    int ret;
>  
>      ASSERT(pcidevs_locked());
>      pdev = pci_get_pdev(NULL, msi->sbdf);
>      if ( !pdev || !pdev->msix )
> +    {
> +        if ( pdev )
> +            pcidev_put(pdev);
>          return -ENODEV;
> +    }
>  
>      if ( msi->entry_nr >= pdev->msix->nr_entries )
> +    {
> +        pcidev_put(pdev);
>          return -EINVAL;
> +    }
>  
>      old_desc = find_msi_entry(pdev, msi->irq, PCI_CAP_ID_MSIX);
>      if ( old_desc )
>      {
>          printk(XENLOG_ERR "irq %d already mapped to MSI-X on %pp\n",
>                 msi->irq, &pdev->sbdf);
> +        pcidev_put(pdev);
>          return -EEXIST;
>      }
>  
> @@ -1078,7 +1113,11 @@ static int __pci_enable_msix(struct msi_info *msi, struct msi_desc **desc)
>          __pci_disable_msi(old_desc);
>      }
>  
> -    return msix_capability_init(pdev, msi, desc);
> +    ret = msix_capability_init(pdev, msi, desc);
> +
> +    pcidev_put(pdev);
> +
> +    return ret;
>  }
>  
>  static void _pci_cleanup_msix(struct arch_msix *msix)
> @@ -1159,6 +1198,7 @@ int pci_prepare_msix(u16 seg, u8 bus, u8 devfn, bool off)
>      }
>      else
>          rc = msix_capability_init(pdev, NULL, NULL);
> +    pcidev_put(pdev);
>      pcidevs_unlock();
>  
>      return rc;
> diff --git a/xen/arch/x86/pci.c b/xen/arch/x86/pci.c
> index 97b792e578..c1fcdf08d6 100644
> --- a/xen/arch/x86/pci.c
> +++ b/xen/arch/x86/pci.c
> @@ -92,7 +92,10 @@ int pci_conf_write_intercept(unsigned int seg, unsigned int bdf,
>  
>      pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bdf));
>      if ( pdev )
> +    {
>          rc = pci_msi_conf_write_intercept(pdev, reg, size, data);
> +        pcidev_put(pdev);
> +    }
>  
>      pcidevs_unlock();
>  
> diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
> index 2f1d955a96..96214a3d40 100644
> --- a/xen/arch/x86/physdev.c
> +++ b/xen/arch/x86/physdev.c
> @@ -533,7 +533,14 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>          pcidevs_lock();
>          pdev = pci_get_pdev(NULL,
>                              PCI_SBDF(0, restore_msi.bus, restore_msi.devfn));
> -        ret = pdev ? pci_restore_msi_state(pdev) : -ENODEV;
> +        if ( pdev )
> +        {
> +            ret = pci_restore_msi_state(pdev);
> +            pcidev_put(pdev);
> +        }
> +        else
> +            ret = -ENODEV;
> +
>          pcidevs_unlock();
>          break;
>      }
> @@ -548,7 +555,13 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>  
>          pcidevs_lock();
>          pdev = pci_get_pdev(NULL, PCI_SBDF(dev.seg, dev.bus, dev.devfn));
> -        ret = pdev ? pci_restore_msi_state(pdev) : -ENODEV;
> +        if ( pdev )
> +        {
> +            ret =  pci_restore_msi_state(pdev);
> +            pcidev_put(pdev);
> +        }
> +        else
> +            ret = -ENODEV;
>          pcidevs_unlock();
>          break;
>      }
> diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
> index 02505ab044..9af07fa92a 100644
> --- a/xen/common/sysctl.c
> +++ b/xen/common/sysctl.c
> @@ -438,7 +438,7 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
>          {
>              physdev_pci_device_t dev;
>              uint32_t node;
> -            const struct pci_dev *pdev;
> +            struct pci_dev *pdev;
>  
>              if ( copy_from_guest_offset(&dev, ti->devs, i, 1) )
>              {
> @@ -454,8 +454,11 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
>                  node = XEN_INVALID_NODE_ID;
>              else
>                  node = pdev->node;
> -            pcidevs_unlock();
>  
> +            if ( pdev )
> +                pcidev_put(pdev);
> +
> +            pcidevs_unlock();
>              if ( copy_to_guest_offset(ti->nodes, i, &node, 1) )
>              {
>                  ret = -EFAULT;
> diff --git a/xen/drivers/passthrough/amd/iommu_init.c b/xen/drivers/passthrough/amd/iommu_init.c
> index 9773ccfcb4..f90b1c1e58 100644
> --- a/xen/drivers/passthrough/amd/iommu_init.c
> +++ b/xen/drivers/passthrough/amd/iommu_init.c
> @@ -646,6 +646,7 @@ static void cf_check parse_ppr_log_entry(struct amd_iommu *iommu, u32 entry[])
>  
>      if ( pdev )
>          guest_iommu_add_ppr_log(pdev->domain, entry);
> +    pcidev_put(pdev);
>  }
>  
>  static void iommu_check_ppr_log(struct amd_iommu *iommu)
> @@ -749,6 +750,11 @@ static bool_t __init set_iommu_interrupt_handler(struct amd_iommu *iommu)
>      }
>  
>      pcidevs_lock();
> +    /*
> +     * XXX: it is unclear if this device can be removed. Right now
> +     * there is no code that clears msi.dev, so no one will decrease
> +     * refcount on it.
> +     */
>      iommu->msi.dev = pci_get_pdev(NULL, PCI_SBDF(iommu->seg, iommu->bdf));

I don't think we can remove an IOMMU from the system, so this is
fine as-is AFAICT.

>      pcidevs_unlock();
>      if ( !iommu->msi.dev )
> @@ -1274,7 +1280,7 @@ static int __init cf_check amd_iommu_setup_device_table(
>      {
>          if ( ivrs_mappings[bdf].valid )
>          {
> -            const struct pci_dev *pdev = NULL;
> +            struct pci_dev *pdev = NULL;
>  
>              /* add device table entry */
>              iommu_dte_add_device_entry(&dt[bdf], &ivrs_mappings[bdf]);
> @@ -1299,7 +1305,10 @@ static int __init cf_check amd_iommu_setup_device_table(
>                          pdev->msix ? pdev->msix->nr_entries
>                                     : pdev->msi_maxvec);
>                  if ( !ivrs_mappings[bdf].intremap_table )
> +                {
> +                    pcidev_put(pdev);
>                      return -ENOMEM;
> +                }
>  
>                  if ( pdev->phantom_stride )
>                  {
> @@ -1317,6 +1326,7 @@ static int __init cf_check amd_iommu_setup_device_table(
>                              ivrs_mappings[bdf].intremap_inuse;
>                      }
>                  }
> +                pcidev_put(pdev);
>              }
>  
>              amd_iommu_set_intremap_table(
> diff --git a/xen/drivers/passthrough/amd/iommu_map.c b/xen/drivers/passthrough/amd/iommu_map.c
> index 993bac6f88..9d621e3d36 100644
> --- a/xen/drivers/passthrough/amd/iommu_map.c
> +++ b/xen/drivers/passthrough/amd/iommu_map.c
> @@ -724,14 +724,18 @@ int cf_check amd_iommu_get_reserved_device_memory(
>          if ( !iommu )
>          {
>              /* May need to trigger the workaround in find_iommu_for_device(). */
> -            const struct pci_dev *pdev;
> +            struct pci_dev *pdev;
>  
>              pcidevs_lock();
>              pdev = pci_get_pdev(NULL, sbdf);
>              pcidevs_unlock();
>  
>              if ( pdev )
> +            {
>                  iommu = find_iommu_for_device(seg, bdf);
> +                /* XXX: Should we hold pdev reference till end of the loop? */
> +                pcidev_put(pdev);

I don't think you need to hold a reference to the device until the end
of the loop, the data fetched there is from the ACPI tables.  If the
func() helper also needs a pdev instance is it's task to get one.

> +            }
>              if ( !iommu )
>                  continue;
>          }
> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
> index b42acb8d7c..b32382aca0 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -328,6 +328,7 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
>      *((u8*) &pdev->bus) = bus;
>      *((u8*) &pdev->devfn) = devfn;
>      pdev->domain = NULL;
> +    refcnt_init(&pdev->refcnt);
>  
>      arch_pci_init_pdev(pdev);
>  
> @@ -422,33 +423,6 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
>      return pdev;
>  }
>  
> -static void free_pdev(struct pci_seg *pseg, struct pci_dev *pdev)
> -{
> -    /* update bus2bridge */
> -    switch ( pdev->type )
> -    {
> -        unsigned int sec_bus, sub_bus;
> -
> -        case DEV_TYPE_PCIe2PCI_BRIDGE:
> -        case DEV_TYPE_LEGACY_PCI_BRIDGE:
> -            sec_bus = pci_conf_read8(pdev->sbdf, PCI_SECONDARY_BUS);
> -            sub_bus = pci_conf_read8(pdev->sbdf, PCI_SUBORDINATE_BUS);
> -
> -            spin_lock(&pseg->bus2bridge_lock);
> -            for ( ; sec_bus <= sub_bus; sec_bus++ )
> -                pseg->bus2bridge[sec_bus] = pseg->bus2bridge[pdev->bus];
> -            spin_unlock(&pseg->bus2bridge_lock);
> -            break;
> -
> -        default:
> -            break;
> -    }
> -
> -    list_del(&pdev->alldevs_list);
> -    pdev_msi_deinit(pdev);
> -    xfree(pdev);
> -}
> -
>  static void __init _pci_hide_device(struct pci_dev *pdev)
>  {
>      if ( pdev->domain )
> @@ -517,10 +491,14 @@ struct pci_dev *pci_get_real_pdev(pci_sbdf_t sbdf)
>      {
>          if ( !(sbdf.devfn & stride) )
>              continue;
> +

Unrelated change?  There are some of those in the patch, should be
removed.

>          sbdf.devfn &= ~stride;
>          pdev = pci_get_pdev(NULL, sbdf);
>          if ( pdev && stride != pdev->phantom_stride )
> +        {
> +            pcidev_put(pdev);
>              pdev = NULL;
> +        }
>      }
>  
>      return pdev;
> @@ -548,13 +526,18 @@ struct pci_dev *pci_get_pdev(const struct domain *d, pci_sbdf_t sbdf)
>          list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
>              if ( pdev->sbdf.bdf == sbdf.bdf &&
>                   (!d || pdev->domain == d) )
> +            {
> +                pcidev_get(pdev);
>                  return pdev;
> +            }
>      }
>      else
>          list_for_each_entry ( pdev, &d->pdev_list, domain_list )
>              if ( pdev->sbdf.bdf == sbdf.bdf )
> +            {
> +                pcidev_get(pdev);
>                  return pdev;
> -
> +            }
>      return NULL;
>  }
>  
> @@ -663,7 +646,10 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>                              PCI_SBDF(seg, info->physfn.bus,
>                                       info->physfn.devfn));
>          if ( pdev )
> +        {
>              pf_is_extfn = pdev->info.is_extfn;
> +            pcidev_put(pdev);
> +        }
>          pcidevs_unlock();
>          if ( !pdev )
>              pci_add_device(seg, info->physfn.bus, info->physfn.devfn,
> @@ -818,7 +804,9 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
>              if ( pdev->domain )
>                  list_del(&pdev->domain_list);
>              printk(XENLOG_DEBUG "PCI remove device %pp\n", &pdev->sbdf);
> -            free_pdev(pseg, pdev);
> +            list_del(&pdev->alldevs_list);
> +            pdev_msi_deinit(pdev);
> +            pcidev_put(pdev);

Hm, I think here we want to make sure that the device has been freed,
or else you would have to return -EBUSY to the calls to notify that
the device is still in use.

I think we need an extra pcidev_put_final() or similar that can be
used in pci_remove_device() to assert that the device has been
actually removed.

>              break;
>          }
>  
> @@ -848,7 +836,7 @@ static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus,
>      {
>          ret = iommu_quarantine_dev_init(pci_to_dev(pdev));
>          if ( ret )
> -           return ret;
> +            goto out;
>  
>          target = dom_io;
>      }
> @@ -878,6 +866,7 @@ static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus,
>      pdev->fault.count = 0;
>  
>   out:
> +    pcidev_put(pdev);
>      if ( ret )
>          printk(XENLOG_G_ERR "%pd: deassign (%pp) failed (%d)\n",
>                 d, &PCI_SBDF(seg, bus, devfn), ret);
> @@ -1011,7 +1000,10 @@ void pci_check_disable_device(u16 seg, u8 bus, u8 devfn)
>              pdev->fault.count >>= 1;
>          pdev->fault.time = now;
>          if ( ++pdev->fault.count < PT_FAULT_THRESHOLD )
> +        {
> +            pcidev_put(pdev);
>              pdev = NULL;
> +        }
>      }
>      pcidevs_unlock();
>  
> @@ -1022,6 +1014,8 @@ void pci_check_disable_device(u16 seg, u8 bus, u8 devfn)
>       * control it for us. */
>      cword = pci_conf_read16(pdev->sbdf, PCI_COMMAND);
>      pci_conf_write16(pdev->sbdf, PCI_COMMAND, cword & ~PCI_COMMAND_MASTER);
> +
> +    pcidev_put(pdev);
>  }
>  
>  /*
> @@ -1138,6 +1132,7 @@ static int __hwdom_init cf_check _setup_hwdom_pci_devices(
>                  printk(XENLOG_WARNING "Dom%d owning %pp?\n",
>                         pdev->domain->domain_id, &pdev->sbdf);
>  
> +            pcidev_put(pdev);
>              if ( iommu_verbose )
>              {
>                  pcidevs_unlock();
> @@ -1385,33 +1380,28 @@ static int iommu_remove_device(struct pci_dev *pdev)
>      return iommu_call(hd->platform_ops, remove_device, devfn, pci_to_dev(pdev));
>  }
>  
> -static int device_assigned(u16 seg, u8 bus, u8 devfn)
> +static int device_assigned(struct pci_dev *pdev)
>  {
> -    struct pci_dev *pdev;
>      int rc = 0;
>  
>      ASSERT(pcidevs_locked());
> -    pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
> -
> -    if ( !pdev )
> -        rc = -ENODEV;
>      /*
>       * If the device exists and it is not owned by either the hardware
>       * domain or dom_io then it must be assigned to a guest, or be
>       * hidden (owned by dom_xen).
>       */
> -    else if ( pdev->domain != hardware_domain &&
> -              pdev->domain != dom_io )
> +    if ( pdev->domain != hardware_domain &&
> +         pdev->domain != dom_io )
>          rc = -EBUSY;
>  
>      return rc;
>  }
>  
>  /* Caller should hold the pcidevs_lock */

I would assume the caller has taken an extra reference to the pdev, so
holding the pcidevs_lock is no longer needed?

> -static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 flag)
> +static int assign_device(struct domain *d, struct pci_dev *pdev, u32 flag)
>  {
>      const struct domain_iommu *hd = dom_iommu(d);
> -    struct pci_dev *pdev;
> +    uint8_t devfn;
>      int rc = 0;
>  
>      if ( !is_iommu_enabled(d) )
> @@ -1422,10 +1412,11 @@ static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 flag)
>  
>      /* device_assigned() should already have cleared the device for assignment */
>      ASSERT(pcidevs_locked());
> -    pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
>      ASSERT(pdev && (pdev->domain == hardware_domain ||
>                      pdev->domain == dom_io));
>  
> +    devfn = pdev->devfn;
> +
>      /* Do not allow broken devices to be assigned to guests. */
>      rc = -EBADF;
>      if ( pdev->broken && d != hardware_domain && d != dom_io )
> @@ -1460,7 +1451,7 @@ static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 flag)
>   done:
>      if ( rc )
>          printk(XENLOG_G_WARNING "%pd: assign (%pp) failed (%d)\n",
> -               d, &PCI_SBDF(seg, bus, devfn), rc);
> +               d, &PCI_SBDF(pdev->seg, pdev->bus, devfn), rc);
>      /* The device is assigned to dom_io so mark it as quarantined */
>      else if ( d == dom_io )
>          pdev->quarantine = true;
> @@ -1595,6 +1586,9 @@ int iommu_do_pci_domctl(
>          ASSERT(d);
>          /* fall through */
>      case XEN_DOMCTL_test_assign_device:
> +    {
> +        struct pci_dev *pdev;
> +
>          /* Don't support self-assignment of devices. */
>          if ( d == current->domain )
>          {
> @@ -1622,26 +1616,36 @@ int iommu_do_pci_domctl(
>          seg = machine_sbdf >> 16;
>          bus = PCI_BUS(machine_sbdf);
>          devfn = PCI_DEVFN(machine_sbdf);
> -
>          pcidevs_lock();
> -        ret = device_assigned(seg, bus, devfn);
> +        pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
> +        if ( !pdev )
> +        {
> +            printk(XENLOG_G_INFO "%pp non-existent\n",
> +                   &PCI_SBDF(seg, bus, devfn));
> +            ret = -EINVAL;
> +            break;
> +        }
> +
> +        ret = device_assigned(pdev);
>          if ( domctl->cmd == XEN_DOMCTL_test_assign_device )
>          {
>              if ( ret )
>              {
> -                printk(XENLOG_G_INFO "%pp already assigned, or non-existent\n",
> +                printk(XENLOG_G_INFO "%pp already assigned\n",
>                         &PCI_SBDF(seg, bus, devfn));
>                  ret = -EINVAL;
>              }
>          }
>          else if ( !ret )
> -            ret = assign_device(d, seg, bus, devfn, flags);
> +            ret = assign_device(d, pdev, flags);
> +
> +        pcidev_put(pdev);

I would think you need to keep the refcount here if ret == 0, so that
the device cannot be removed while assigned to a domain?

>          pcidevs_unlock();
>          if ( ret == -ERESTART )
>              ret = hypercall_create_continuation(__HYPERVISOR_domctl,
>                                                  "h", u_domctl);
>          break;
> -
> +    }
>      case XEN_DOMCTL_deassign_device:
>          /* Don't support self-deassignment of devices. */
>          if ( d == current->domain )
> @@ -1681,6 +1685,46 @@ int iommu_do_pci_domctl(
>      return ret;
>  }
>  
> +static void release_pdev(refcnt_t *refcnt)
> +{
> +    struct pci_dev *pdev = container_of(refcnt, struct pci_dev, refcnt);
> +    struct pci_seg *pseg = get_pseg(pdev->seg);
> +
> +    printk(XENLOG_DEBUG "PCI release device %pp\n", &pdev->sbdf);
> +
> +    /* update bus2bridge */
> +    switch ( pdev->type )
> +    {
> +        unsigned int sec_bus, sub_bus;
> +
> +        case DEV_TYPE_PCIe2PCI_BRIDGE:
> +        case DEV_TYPE_LEGACY_PCI_BRIDGE:
> +            sec_bus = pci_conf_read8(pdev->sbdf, PCI_SECONDARY_BUS);
> +            sub_bus = pci_conf_read8(pdev->sbdf, PCI_SUBORDINATE_BUS);
> +
> +            spin_lock(&pseg->bus2bridge_lock);
> +            for ( ; sec_bus <= sub_bus; sec_bus++ )
> +                pseg->bus2bridge[sec_bus] = pseg->bus2bridge[pdev->bus];
> +            spin_unlock(&pseg->bus2bridge_lock);
> +            break;
> +
> +        default:
> +            break;
> +    }
> +
> +    xfree(pdev);
> +}
> +
> +void pcidev_get(struct pci_dev *pdev)
> +{
> +    refcnt_get(&pdev->refcnt);
> +}
> +
> +void pcidev_put(struct pci_dev *pdev)
> +{
> +    refcnt_put(&pdev->refcnt, release_pdev);
> +}
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/drivers/passthrough/vtd/quirks.c b/xen/drivers/passthrough/vtd/quirks.c
> index fcc8f73e8b..d240da0416 100644
> --- a/xen/drivers/passthrough/vtd/quirks.c
> +++ b/xen/drivers/passthrough/vtd/quirks.c
> @@ -429,6 +429,8 @@ static int __must_check map_me_phantom_function(struct domain *domain,
>          rc = domain_context_unmap_one(domain, drhd->iommu, 0,
>                                        PCI_DEVFN(dev, 7));
>  
> +    pcidev_put(pdev);
> +
>      return rc;
>  }
>  
> diff --git a/xen/drivers/video/vga.c b/xen/drivers/video/vga.c
> index 0a03508bee..1049d4da6d 100644
> --- a/xen/drivers/video/vga.c
> +++ b/xen/drivers/video/vga.c
> @@ -114,7 +114,7 @@ void __init video_endboot(void)
>          for ( bus = 0; bus < 256; ++bus )
>              for ( devfn = 0; devfn < 256; ++devfn )
>              {
> -                const struct pci_dev *pdev;
> +                struct pci_dev *pdev;
>                  u8 b = bus, df = devfn, sb;
>  
>                  pcidevs_lock();
> @@ -126,7 +126,11 @@ void __init video_endboot(void)
>                                       PCI_CLASS_DEVICE) != 0x0300 ||
>                       !(pci_conf_read16(PCI_SBDF(0, bus, devfn), PCI_COMMAND) &
>                         (PCI_COMMAND_IO | PCI_COMMAND_MEMORY)) )
> +                {
> +                    if ( pdev )
> +                        pcidev_put(pdev);
>                      continue;
> +                }
>  
>                  while ( b )
>                  {
> @@ -157,6 +161,7 @@ void __init video_endboot(void)
>                             bus, PCI_SLOT(devfn), PCI_FUNC(devfn));
>                      pci_hide_device(0, bus, devfn);
>                  }
> +                pcidev_put(pdev);
>              }
>      }
>  
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 6d48d496bb..5232f9605b 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -317,8 +317,8 @@ 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;
> -    const struct pci_dev *pdev;
> +    struct domain *d = current->domain;

Why do you need to drop the const on domain here?

> +    struct pci_dev *pdev;
>      const struct vpci_register *r;
>      unsigned int data_offset = 0;
>      uint32_t data = ~(uint32_t)0;
> @@ -332,7 +332,11 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>      /* Find the PCI dev matching the address. */
>      pdev = pci_get_pdev(d, sbdf);
>      if ( !pdev || !pdev->vpci )
> +    {
> +        if ( pdev )
> +            pcidev_put(pdev);
>          return vpci_read_hw(sbdf, reg, size);
> +    }
>  
>      spin_lock(&pdev->vpci->lock);
>  
> @@ -378,6 +382,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>          ASSERT(data_offset < size);
>      }
>      spin_unlock(&pdev->vpci->lock);
> +    pcidev_put(pdev);
>  
>      if ( data_offset < size )
>      {
> @@ -420,8 +425,8 @@ static void vpci_write_helper(const struct pci_dev *pdev,
>  void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
>                  uint32_t data)
>  {
> -    const struct domain *d = current->domain;
> -    const struct pci_dev *pdev;
> +    struct domain *d = current->domain;
> +    struct pci_dev *pdev;

Same here regarding dropping the const of d.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:19:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:19:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510706.788897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqKF-0003bm-HS; Thu, 16 Mar 2023 16:19:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510706.788897; Thu, 16 Mar 2023 16: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 1pcqKF-0003bf-E9; Thu, 16 Mar 2023 16:19:35 +0000
Received: by outflank-mailman (input) for mailman id 510706;
 Thu, 16 Mar 2023 16: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcqKE-0003bZ-BM
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:19:34 +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 5321949a-c416-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 17:19:29 +0100 (CET)
Received: from mail-co1nam11lp2172.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 12:19:27 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB6455.namprd03.prod.outlook.com (2603:10b6:a03:38d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Thu, 16 Mar
 2023 16:19:21 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 16:19: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: 5321949a-c416-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678983571;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=PYuDJ6xd2RaMZQ1RdIAuw0x3emonANBB5ZgFniGDfQc=;
  b=RTUZvOKcqS4ojD31PiYrTgaJRLiP/DlH9k/qOwR/LqJqkdbEPTxk/iS+
   fB01NVEUPiLYASCShkPCGOePgJtQBHJnm71m5E20UpGtU0L7aeF5QDTB2
   U4/dN1P3u/stCvr+BQjIdiWdcY4FRD44I/7oNvJNyX33tIxXN7g2osh12
   s=;
X-IronPort-RemoteIP: 104.47.56.172
X-IronPort-MID: 101056689
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:a0oCVq9tHnAW1nONpR5/DrUDYn+TJUtcMsCJ2f8bNWPcYEJGY0x3x
 jdLCjqBa/yIN2v8Ldp2a9i28BgA75/dx4IySFZo/3o8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkV5AC2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkliy
 /UqcAw8cCvduL6K5L6aY/lcuOg8eZyD0IM34hmMzBn/JNN/GNXoZPyP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWNilUuitABM/KMEjCObd9SkUuC4
 HrP4kzyAw0ANczZwj2Amp6prraXxHumBtxCRdVU8NZAvl7P2XBIBSZJdlyFj+OV0HKaX9R2f
 hl8Fi0G6PJaGFaQZuf6Wxq0sXuVpCk2UtBbE/A5wAyVw6+S6AGcbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8hTG4NDURLGQCTTQZVgZD6N7myKkxkxbOQ9BLAKOzyNrvFlnY2
 CuWpSIzg7ESi88j1Kih+13DxTW2qfDhUQod9gjRGGW/4WtEiJWNYoWp7R3Q6q9GJYPAF12Z5
 iFbwY6Z8fwECoyLmGqVWuIREbq15vGDdjrBnVpoGJpn/DOok5K+Qb1tDPhFDB8BGq45lfXBO
 Sc/ZSs5CEdvAUaX
IronPort-HdrOrdr: A9a23:FLoUmatzu1+FeVIzl8ch35hX7skDctV00zEX/kB9WHVpm62j+/
 xG+c5x6faaslkssR0b9+xoQZPwJk80l6QU3WBhB9aftWDd0QPDQb2KhrGSoAEIdReOk9J15O
 NNdLV/Fc21LXUSt7ef3OBgKadD/OW6
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101056689"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oR5xutBHJ0mFE2640Bce6GREINtr2LjmKo6UNRbM1fcUlFBVPUn4J+G0G7alta4WNhOiDMqUeLKTzH2hikZhnGptIL98tcGxbFos8U9iRtqj1gv8zlgQOW0opaN4rBEfYIl/0WCKpv8C1R+pF+NnaVNhRxtZnAw+QKDHd42KARblHEb/rcFYH4lcT2cufohjFAFvnIg18LeoTCCSyaMyZGRLzNnJW1aqxdmVauwK8WR6TKe+saGjpvH7c7j5xLJpskn5dIX4JaLwhlQ8HxhdeTiXU67uOnpLw63xxaiDClw6rIgoQI63gkzOSn2DB1EQ6aCv3aJxiLv4cltFYD+Vdw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IJRdktpNfP/hPtrS7zLScKntJ5YCXTuw/OzOXfVVNkU=;
 b=eCFPilRLz+YOuxhYahV+h5vIwZ27Q37FgAB7h+84oKE4t/FYUByTbWbH5yHsepA+pYNw2TOzgbFPEgY/eOuqc0aPXFEo69V3W5b/pxI/cqLRMbJsH1ce9HpqltOY5+sJDfdIDflpc5Y9Xf4Y5Dti8TqStgcjPjlMh8oPImYWq8ZlcCoTBwXgZyNdKCZXI5Bk04GNJ1OOIl4r/rY6abz1oTVWKnHF887H2h9x0eLGW7yr2vIRVHW3sXG83Lw0r+VWsmiGbJgbxfisOTZeAfifZFXiYTxJvaGSaRnfUUNkuxCfNrIqcOsEG+1BDdcX371WkbTTgJwqZH7RPdeVrG/7BQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IJRdktpNfP/hPtrS7zLScKntJ5YCXTuw/OzOXfVVNkU=;
 b=SemF9eIj3ivkbhFfbG8r8B9NFGrZ9LxX/EhIGKSYpCYfcZd1Ge+2rDDZKKOlcOll584rwshOf6ndcxCBTTNhrcXi7+Xf09QRkR9ANOpfgCjZlpvoFZf0ePGJtX7R81/F2fo8tYS3B0/aAVsWy5RFJFy69dmQW23dpuyYK9dBpAw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 17:19:17 +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>,
	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 v3 1/6] xen: add reference counter support
Message-ID: <ZBNBhS2I4XWkwXr0@Air-de-Roger>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
X-ClientProxiedBy: BN9P220CA0018.NAMP220.PROD.OUTLOOK.COM
 (2603:10b6:408:13e::23) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB6455:EE_
X-MS-Office365-Filtering-Correlation-Id: 060debd6-a2d4-4596-de41-08db263a3333
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IUpaLJ5whBbCXLX438O7jxB6G0iOqUrMHVpRx5Y4RB7Q1Q5r82CaSeKGlC1ht4BC62u/pKAyLyh2y4L7J9k6wmvTVtZGmjKpUGFiKYKlWwOfCYaFvVnyL8+VRq3rlnApvMmCfPnfn0B85B1E4g29YwMbp6YEO0b1F3yV+XluGjlF9DUZcbqzzBmQXOY3k65ung0Ing0654tI9of2hQcnPmuBNQ7IWZ7f2UHq/UTjxsU8CjwZUnXSVOKIOh6fE/B7mPTrQdI8jeqBcDSj9VvMxaYyvHlhknbmN5BCIOaHzmcJ5GWb9uMzKfJoxPnIakDyZu4v3XYGD1Nv/sbisLKjWRC8qvWRyzbv3mW0VcXVOzdoPa3rx7uZLwXnJuetZNSGEUojRGEox7KPG0jJC1WUlW4OXA/amKYFuaFwGuCUsGX3G8eMvHKQFMohk9I+ZgJdB1lBxiPxWQvvyK1GqkeP1575GoaJWQbLEMi9D2UQ5ktLEsWRGwzxAH/8B1cWYkdq31g9a8CACqCdqtvCB8PQxU2AH9XgJDQGJPmRkK7yiRMaZEUC6tcJH4Qo3yIbx0vUdW7uxZi2iRh5RxSlhQL2osxkUdOme55iRu+gzmXiDm/Z+pYDQ8PNcrvoyFwBHhHGcrwHjz2+myaYl4IR9eaqcg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(376002)(346002)(366004)(396003)(39860400002)(136003)(451199018)(6486002)(6506007)(2906002)(33716001)(83380400001)(82960400001)(6666004)(85182001)(26005)(9686003)(8936002)(41300700001)(5660300002)(86362001)(66946007)(8676002)(66476007)(6512007)(66556008)(6916009)(4326008)(186003)(54906003)(478600001)(316002)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVZ4K3R2YVVkRksvR0lXSkcxc2ZmRElCTHh3RHNITm9kYmNoejdRa21VMGpZ?=
 =?utf-8?B?Q2tvRkEyVDJLaTQvUlZTZS9pZUY5VGVxYnorZkhCb0M1aG8rVmtWSzc3V1Nu?=
 =?utf-8?B?ZVF6bmRwTW1xNXZ4bHozaUlUcVZJcmplMHQ3bml6dDAwZjFFU0dYbS90eHcx?=
 =?utf-8?B?VlVRRUNsRzBCNmZNRHQyQ0FCbXlwV2JEUmNKd0dKb3BxeFQ3blNhMzRtSEF6?=
 =?utf-8?B?MVpQVEtyamVRczFCbitSekR1eXpPQXBQVGM4YkFRb2pBT2NVSGJPZkE5b3Ux?=
 =?utf-8?B?ODhhRVZuQzVwa0doVXhaSVNuNElxZnNYdml4dTduUm4rY3JvbkRpRnpvUXZ0?=
 =?utf-8?B?Q1lyRFlMQXVIN3BwNlVTMlJJc3B3STEya2dsOUtRKytPOVBWVHViYk1abFJT?=
 =?utf-8?B?NkVualRRdFV1NG5YTWZIeFJKMm9KdVNOdG1saGFXN1ovWnF0dXlWclVyM2cv?=
 =?utf-8?B?c1IybGdRWkxCekU0Sk0xYW5ONGRmUFA5eHhWQnJOUEYyaGZpVHlxZHJTdE5m?=
 =?utf-8?B?aysxQjgxaFd1TnRUNlJWdXdHQUYzaVFwcHNZOENic21zNG1jUzYweitORHI1?=
 =?utf-8?B?bjNsYUMybUVZQS92eUtyZ1VoRUxNbENtM2gzSTlzWEgxVjFMRVFVOWppb25R?=
 =?utf-8?B?ODZhYUt6RGhvOFB0TUNZWDVlbjUzRTRrR0VCV3FydmVtMksvaDhiV1AxR1FW?=
 =?utf-8?B?VG9wSHp0ckl1SE83UFltbFlwdG12ckVWNlB5eERXLzk5U0FkWERJU2RrQlpX?=
 =?utf-8?B?OGtHUkREUk5oZ3hrb0FlemhZYUszTmlsbUlLSU9LT3R2UThvMUsvT21PMGdR?=
 =?utf-8?B?MGlQcUhFRXNSTEQzQ3JIL3FmVGN0NnpoN3pQY3ZpdG5pSTZYWHEweE9JSDNW?=
 =?utf-8?B?YTU4NFlLNVBZV0FzRFBuNWhkMHBmNG45REMxTkVYdXU1NXg5U2JXNDBZaU02?=
 =?utf-8?B?SEZjakVGQTJ6ZVNPZWtNeWp0aUl5V0F2Z2ZSV0t0UXBSdFRpTFkycTJUSFVh?=
 =?utf-8?B?MmVQNmNubHZtSTZYSE5BNHdOUXJXWllJdFJXRnhMUTV4eHpsV0EwNDFMQjR4?=
 =?utf-8?B?M2g0bjN6Rm45c01BMEtDTTVhRUtDOEZhZ2dhVnBkaG9OcERrK2dER0N3bGdT?=
 =?utf-8?B?NFVpaU80anMrVnF1dnV2dW1NZDdXQ0pjSzhIbEh6MExKUlNmcWEyUmxoWEJK?=
 =?utf-8?B?RDlqU3N3dkNQOWNWZkpmbWVGUTBXVUl0VE9tNDhkQWZ3UjViRUtiVmFLeUV5?=
 =?utf-8?B?R1VlcXdMSXhsQ0l5NGpaSmM0a24yVG40eFBvSVZ2THExL25CeXhlWTd4NHcx?=
 =?utf-8?B?STdSa3F5MThPb0dHK1FkNjJmUjlhU2Q2WWZFdzlocU9pQXRpanpzNkVnSUZ4?=
 =?utf-8?B?VldVdkFFZ2RaK21IQ3dubWhVRVoydkxIaXpVRjBWZHQ2QkVyU0E4M3c1d0VF?=
 =?utf-8?B?V1MxaU0vRHpjN1d6aTdJTUUzVTRFVTdNaDh0R3l3V2g1clZvK1c1a2VUYkhm?=
 =?utf-8?B?WXFQRzNURk1MdmxPQnZCS0NnL1R4c1Urd3BrY3hlWEZDOVJwSHZPeU0zekdh?=
 =?utf-8?B?NUxQSzZRUUljR2FWazdST1Q3ektWeXB0VEVLZGo0UlNwY1BjY0dDZHBPcEpO?=
 =?utf-8?B?dHY5K2NOTlpDbGs2aDc2dElaaXIzN0FzY205VDhOZUFjK0U0bk4rdzZEdkxL?=
 =?utf-8?B?UjRocDZtbUhXTVJRQzJEcUgxN0E2TzlhdlRyRFRCZVRkSVFkMnFmT1BkV0I0?=
 =?utf-8?B?N3IxT0x2d2dwUXhXamVlNFJORENYUEY5MGd0NWRoRUVJemhVNFRkMVM1V3ZC?=
 =?utf-8?B?TTZhN21JQWNCcmxrWmZXdUw2OUlIblk3dHpxZFBQM0pvN0hLU1VaQUxYdGxy?=
 =?utf-8?B?TFhCZFhtVVRoZFBURjJzelVycTFJOU1LRkVhUGJBNlhGcStFbnppVmFRZ0h3?=
 =?utf-8?B?NjRmdmp6YVFWQnhuKzF3eUJIWjJpemwxVXJGODlxS3pyRytSZmhiZUcwZm51?=
 =?utf-8?B?ZXJzaFVFV0lBcHU5d1pvYUw1UkZwUE4xQ1ZxVXJQU3VMODFUTThSbmdZNkti?=
 =?utf-8?B?WGZtSkMyYkpFc3Ryd0JlSlJqUmwxclYzendTbWU1WWtPV2tkOWhRSncxNFZC?=
 =?utf-8?B?c281QkltaUJlbjkzd2tWeVd4WEt5WHJ2a09iN3g3T3hRTWI4TlJtdEFCZkQ3?=
 =?utf-8?B?Qmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	TxVoVZhJTv4W1fQ5CnBEYOYbnXqpo/+VPz5jrvfPS7yBUyaT80FJSa8fgYpAE8cPdGrvP4019H7zFtUOhi6i2qwJwCCVMg2G6ooCtPxIvO5sJPIE0LYziZEvC7Fe4qBGmBV9choHnWoO7lJsZLG+iX6dGYbT6Pom+Ogzjd+ggelxo8rdfVRHg9vrI43uEyd3fpOvvTL5l+4nGqb9Jcdh/SDUxlpApwpnYz0TfLXPnxc8KyO134EVvukkhPP+0WZ5uB5eOTce5yvmjURSfyN4RYgxHWvxZjQ+C4fGWkH64Os1enIzUUUOcITO/S5dTXPMbWoutMmhFJAxe35klkWKK3b9q6GAsydB136YylYMPEKfk6gO6XmxXXA5akz02i6iQNyIQLb6cMIarlDwQ4xGl8u623zkuypUWI9ApnVroEDCqwK4qJs5F2KelTyohQgMYE+D/VOcHS2qyusGYQ2+zP2z6u3CFmg+CjelOAneTQjRsjwOomvU0NOLxWg0yar5FCzXsaNTE9dLplutvqUlIwtbMzdh6vIUM1qwZSWP3y5R62H+jNY4N6kFBxz2I5luPahNUvVraDr+RL35T1od/PcyUnGjpcrS2Smv9k1k66GUT3Vsa1d8A9q2wcJ75aWH2exSnKvzYaNahWI41YfkBTWzEsO/RfrnBw12Kdv9086yHKJF7VaLJOV5N2uCM3ncRMsbHLoOKHwBX5sfh7n4Z0u5emk4vm+FKuM8b1xWFGpIABAU7lWGWfdUi1qV0ueYKoOkJpYRqtF0kTwfiqrtfi8Ph/mXy9UplkkNMz/yEG9TicviklXOec+BjwA5J+oXkGVXIvExV3HEdRvCezdqhkwVDE3OKCYVaPdNx4oh+O8F2Sy7ynBeXhDP2ixz0aN4
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 060debd6-a2d4-4596-de41-08db263a3333
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 16:19:21.5021
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ewMLxx00oOB9FhxeTWPHC9Mm3/4ja8ByHXJadnNFG0bctZa0o7tOcBVbYmnWnaSAmcCfsvYF5++eaaN3ojOSxw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6455

On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
> We can use reference counter to ease up object lifetime management.
> This patch adds very basic support for reference counters. refcnt
> should be used in the following way:
> 
> 1. Protected structure should have refcnt_t field
> 
> 2. This field should be initialized with refcnt_init() during object
> construction.
> 
> 3. If code holds a valid pointer to a structure/object it can increase
> refcount with refcnt_get(). No additional locking is required.
> 
> 4. Code should call refcnt_put() before dropping pointer to a
> protected structure. `destructor` is a call back function that should
> destruct object and free all resources, including structure protected
> itself. Destructor will be called if reference counter reaches zero.
> 
> 5. If code does not hold a valid pointer to a protected structure it
> should use other locking mechanism to obtain a pointer. For example,
> it should lock a list that hold protected objects.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> ---
> v3:
>   - moved in from another patch series
>   - used structure to encapsulate refcnt_t
>   - removed #ifndef NDEBUG in favor of just calling ASSERT
>   - added assertion to refcnt_put
>   - added saturation support: code catches overflow and underflow
>   - added EMACS magic at end of the file
>   - fixed formatting
> ---
>  xen/include/xen/refcnt.h | 59 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 59 insertions(+)
>  create mode 100644 xen/include/xen/refcnt.h
> 
> diff --git a/xen/include/xen/refcnt.h b/xen/include/xen/refcnt.h
> new file mode 100644
> index 0000000000..1ac05d927c
> --- /dev/null
> +++ b/xen/include/xen/refcnt.h
> @@ -0,0 +1,59 @@
> +#ifndef __XEN_REFCNT_H__
> +#define __XEN_REFCNT_H__
> +
> +#include <asm/atomic.h>
> +#include <asm/bug.h>
> +
> +#define REFCNT_SATURATED (INT_MIN / 2)
> +
> +typedef struct {
> +    atomic_t refcnt;
> +} refcnt_t;
> +
> +static inline void refcnt_init(refcnt_t *refcnt)
> +{
> +    atomic_set(&refcnt->refcnt, 1);
> +}
> +
> +static inline int refcnt_read(refcnt_t *refcnt)
> +{
> +    return atomic_read(&refcnt->refcnt);
> +}
> +
> +static inline void refcnt_get(refcnt_t *refcnt)
> +{
> +    int old = atomic_add_unless(&refcnt->refcnt, 1, 0);

Occurred to me while looking at the next patch:

Don't you also need to print a warning (and saturate the counter
maybe?) if old == 0, as that would imply the caller is attempting
to take a reference of an object that should be destroyed? IOW: it
would point to some kind of memory leak.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:21:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:21:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510708.788906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqMN-00050U-UT; Thu, 16 Mar 2023 16:21:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510708.788906; Thu, 16 Mar 2023 16: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 1pcqMN-00050N-Ra; Thu, 16 Mar 2023 16:21:47 +0000
Received: by outflank-mailman (input) for mailman id 510708;
 Thu, 16 Mar 2023 16:21: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcqMM-00050H-S7
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:21:46 +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 a2b596b1-c416-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 17:21:44 +0100 (CET)
Received: from mail-mw2nam12lp2048.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.48])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 12:21:40 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB6424.namprd03.prod.outlook.com (2603:10b6:a03:397::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Thu, 16 Mar
 2023 16:21:37 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 16:21: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: a2b596b1-c416-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678983704;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=HVho6MipT+HrCw/ZRvOhdHl0QOoF1TEoRii56+vvx6E=;
  b=gvUgXgVnhFGV3PTTytOSqBk+1TiDGXEM8b27wjI1pdUi3hCetOITirgb
   wZ6ZpkB0iEeYh9G1i0FN84Kn7HbgPrVYoRi8Y4OBDO3nE5zVWZeKvxtPw
   hvNkIIoA/vyuE6sNX67qEuvd94mPjjjxhZZvyc7wgalsjMimxtErSquTf
   4=;
X-IronPort-RemoteIP: 104.47.66.48
X-IronPort-MID: 101147969
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:MzPSXqm1fJ0BzW3fApkBmr3o5gxiJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIZCGrTbPzbMTGhctkjOYmwpB8AupGHyYMyTQtt/ywyQSMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QGGyBH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 ewhKCJcLSuhu+yzkauBevMytPU8cOC+aevzulk4pd3YJdAPZMmZBoD1v5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVklI3jOiF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eWxXqiBN1DSuzQGvhCgn+h+kABFgEtVka9mOiC23OUROh7J
 BlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWXVHac+7G8vT60fy8PIgcqfjQYRAEI593ipoAbjR/VSNtnVqmvgbXdBjXY0
 z2M6i8kiN07s8kP0Kmq+EHdtBilrJPJUw0d6x3eWySu6QYRWWK+T4mh6Fye6OkaKo+cFwOFp
 CJcx5jY6/0SB5aQkiDLWP8KALyi+/eCNnvbnEJrGJ4isT+q/hZPYLxt3d23H28xWu5sRNMjS
 Ba7Vd95jHOLAEaXUA==
IronPort-HdrOrdr: A9a23:q4YL06+BwoN+mdWbhGtuk+AuI+orL9Y04lQ7vn2ZKSY5TiVXra
 CTdZUgpHnJYVMqMk3I9uruBEDtex3hHNtOkOss1NSZLW7bUQmTXeJfBOLZqlWNJ8S9zJ856U
 4JScND4bbLfDxHZKjBgTVRE7wbsaa6GKLDv5ah85+6JzsaGp2J7G1Ce3am+lUdfng+OXKgfq
 Dsm/auoVCbCAwqR/X+PFYpdc7ZqebGkZr3CCR2eyLOuGG1/EiVAKeRKWnj4isj
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101147969"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ev/uZxcMwMkf0dz0qTn3CnD4DbmSKIa7YVP3+eVao54cz0VSYw+6Pl65GqnbwBwsBA4kV0qPrsr8ThBbVWwxe58fmg++CMDwsgxQdN8/3AE89GLpRH0hDcNHzbG5bM+UbH2MyW6h79RQkmWvJ6gYyenmhbYHL9Qhrb0Fqtf2OtOhxirOaDvh3SHcIi5u237Kg/inzEq2T/8dB3JUNSPKivp6P2T6rM2IqHXri1OLlGiEoFiG+ER+YAXd1gI5NBmq2Ccmy5jvy0lUIMjXp/IKubtA/4zHq6nVsku8V1O7+mJ2JBerz3V1wsE2oNxLpCsW0Dnil9AkKopBLHBWZg3wEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U9FPdzpEK1a0l9hJxqpKq0e6u6wHhVLJRMnS9kafa4E=;
 b=WDBhvkGh/DlIF0PDElnU+9XKDJgX/S0MY1GDlmppJjD7LA1/m1DGU7109MAVxo1ZaZbIBA6oRUCQZHJfIgnuUGqYXweG8wLlw0xaIyDezBZeHJLL5QfPW4WPijWl+AHRunkLqTKpnMID72SILmEOU06E3UvCgSpADbEyeovXlSKoekH3Bs+HhS5ry5Yvclk07+NIHHBGSSMzc7MJNK2Hwz4cesm5aCpzH3rkIgPF8axJ0SSe3usQ9YrrR77+SFq4JfycEVWXWdUm8zvlOQyuU7ECPTJt8rQU6hJU/JbA0+OZhi5SGExQrV7jdayZr3Kdl2NDxsqowVv/aunmlFPHRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U9FPdzpEK1a0l9hJxqpKq0e6u6wHhVLJRMnS9kafa4E=;
 b=Ag6dKp+0+6ktn2+VqmDNNeMXNRIK2gPZ2ia+8BPvrb/N2FAnebY5jrw92oOuna9BVUE+cphy8wJ9zAKUdFzmfm9Y6xUAfM4XblLZkoTp7Mn1tuEzCtyaelCVjc/6llfR+DNnfEabkdPTbytScMHgYye0bkZXgIuq4r3RwrNPnPE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 17:21: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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 1/6] xen: add reference counter support
Message-ID: <ZBNCCyzjLlPl3Su4@Air-de-Roger>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
 <ZBMfpnzW4YdqEiA0@Air-de-Roger>
 <0be85ad4-f0d9-a5c7-e7bc-c546558df835@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0be85ad4-f0d9-a5c7-e7bc-c546558df835@suse.com>
X-ClientProxiedBy: LO4P265CA0269.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:37a::9) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB6424:EE_
X-MS-Office365-Filtering-Correlation-Id: ad9f996f-bd84-43a6-f0b7-08db263a8488
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y4jtkIC4CIHe0G8h/vu0WyNLntblgNQmGVzfD45w2TeAdEuDC+3rBrtJITeWLCrTj4K4K8l0RVzaLsDZGzJ4c7PcZf1dg1+8J9FTwXqXbtfjzWaoZvg/7td/VrLLA2w3gCjd5FHoUTD6ECe12cWF4x/DFYkCGKTQqaInPC8m0YVxzqeO0g05xFwgiRJcJUFfHUr5z/86JBrCWw4dRnFfHyUDJzI6968JHNGKK9DYttFS7SOqP19minRp1ghwdHghvA58D6SPnHXO5L2ZDC2gcUKUXBULxQmMVgsYDClwpNc2j5VFZsn4f4tDN3laYQz9CXGeNxoi25PjmYJQ2WwsmBe0E4Zz/HJPpspysaBHJTsl5VRiQg/xWjj7vkSpg4kmdEShGwEz/iC2116dBOffPr5lpJ64wUNI/hOPAxdD+CCUn01GsGsYC8RGNVanHcx34vTtmZXeEzMqClJSkWaZ3zYKj4IqstAzHwl4e7ObmEZGFH4+se6Zl/isuT7foQ9owkdgEaUAL/7x8/iM6TPvuftOcJasnkPWJ3YXXD2FmHG0gDBRu6z3t3p6L5TjKZQ6QoImYTDuv07ONU09IOT1/+FnZeFvRE+CPA4CffWSRncH++2xUJykkyorUeUhYc6eY+NnM9Saum/i1zSCri5T6A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(346002)(366004)(376002)(396003)(136003)(39860400002)(451199018)(6512007)(4326008)(54906003)(8936002)(66946007)(41300700001)(66556008)(66476007)(478600001)(85182001)(86362001)(33716001)(6916009)(82960400001)(38100700002)(2906002)(186003)(316002)(26005)(6506007)(53546011)(8676002)(9686003)(6666004)(4744005)(6486002)(5660300002)(83380400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aWR2eVBqNC9ieGYyV1FzZ1U2eW1EaHpmektiNExCeDBWL0RxTE96UVg4SzV1?=
 =?utf-8?B?ZmE1bGJQVHhrdjQrQ3VFZXE2ZVNRTlRaMU9MaWNTNzRZZDBXRGdwM1BrQXBV?=
 =?utf-8?B?TGhFWHh2b05JRTR6TWFhc0x4dmMwYXYzSFZ4SXpzVXNNQjkxSVY1WVRiRjNY?=
 =?utf-8?B?Tlh6aGdycVUzbkxGajJBY0JKWFBNcFNqYk8wRys5Qm5rSGN2QXFIQjgvRFF5?=
 =?utf-8?B?L1hSRzduNFBYWE1YUnFydXR5WG8zVUdCODlta081QzZaczFKMDl5QXFONzFY?=
 =?utf-8?B?Y0lCZXpVWlkvZUpIWEVLa0ZtMlNSOUUyT1N4T0J3MEZWWU85WFh3cjd1aEZl?=
 =?utf-8?B?ak5EV1hrS1pNc2J6dnp5amxDb203VWhpN3RwczBlT1VZYzhkaGk1eURkVUdM?=
 =?utf-8?B?KzBzTDZlUmFmZXFEWm1GejhpbjBDa09lTWlXZlBLbE9TTmZqYVlpNHZvcjMr?=
 =?utf-8?B?L0RoSFBaOVM0cW9OOFJXVmcrNTY5bXJhNW5RazFGNUY5cm5RQXhrbHNKMVNO?=
 =?utf-8?B?eS9VUnZnQUNVTWJqcXVsdVppWEJseXl5dFBmR0w5RWFkUmJjRFZKZDhzdU5U?=
 =?utf-8?B?eEt6M3dyaSs4SndQNTVmNW5SbitDaXRPOHAxNGRUWVNTcnFSOUY5ZUtneEpI?=
 =?utf-8?B?OCtOR2txRkJqamkxTDl1U080NXBjQTY0Y3pxVnErc3RxOVFxbVlUaG1oc1ZR?=
 =?utf-8?B?V1JTRW1OMGtqSGp1LzhvdkNkNWJVNm5EODRjZ1djL01hN0lhcThmcTVtcm4w?=
 =?utf-8?B?OUg5ck1hUXFNVTN3OGVzNStQc1VlNHB5QmZJNkNwQWk5MjN3bzFrRlp3anJL?=
 =?utf-8?B?WTBDcFdNOEttWDBFS2lWVHhCVXdWQnplSjFGRWxhelBKOFduMDU3Q0lONEkw?=
 =?utf-8?B?alU1Q0JoeU1ncUpsYWVpVFE4OHhJdGtCOU1QZlliL2Nwd0JwYzVCTVd6QlBv?=
 =?utf-8?B?c3lFalBPMy9hWnNzcUJhSGhzbVdxQ2lSQ0I3b1NLQVQwbzAvRXFPVmlPRmla?=
 =?utf-8?B?L05IL3BZclo1TDRuVjgxZ2dKTVBYN0FGT1BleHl1Mzk1dnVYWmtuREhJcWpm?=
 =?utf-8?B?eHY4YzMyb0dYdHl5ZWxEbVQvSGFjdjAySGdLeUVyeG1Nc01YTk1KY0xMVUM0?=
 =?utf-8?B?NWNLazlmeDlMaVkyc2Vib3BwcmtWL09kWWZ2TU5LMGhvamNXTGVVRHZheXN6?=
 =?utf-8?B?YjlDbUV3VFZORHN0QkJKUlF3VzBLWGdTandCMkJCajhsYkZkR0JtN1JkblJn?=
 =?utf-8?B?VHhRVDQ4QnZUVkJ2N01NbGpMTmlOY29pTG9JYjFxeTI4OExmNUpTYklFTi9T?=
 =?utf-8?B?aTM0YkZtelJuY3hFVkZVRlMzdzh4MWFMWlhiNWJsRVRTZlcrdmdQOVZhR1JP?=
 =?utf-8?B?YXYxUHZrN1N1LysyZnRkWU1naTBMWnczUnZhcHpEMmQ5WGtHNU5UcU9JVGs2?=
 =?utf-8?B?N2V2Sk9QWlkwODlKL2pnN2pQb1VuaFJFTG0xVVpNYnlmUDlBTHFyZ2JIclBU?=
 =?utf-8?B?Q2htMnQ2U3R3TlQzNHlmMy9xS1I1UjNuVDV0OG9JRXlobkYrWkRYbElVODB5?=
 =?utf-8?B?ZUUwNUVHTHBLdHJIWVJ6ZzgzeTBoTkNRSUtlTFVUTnkzb1NPK3FTQ3JOVUI0?=
 =?utf-8?B?dEJ5SWF2azJmMWM4andqWWtIcUFNaFlxdDU4aHgyUHpjYm9na0dZT2hVNWhV?=
 =?utf-8?B?ODJkejRVTjFzejN6M05UT1c0d2h4V0oxQzZpem5DNDk3My9iQ043RmV1Qlo2?=
 =?utf-8?B?dDRKWmlxeEoxOU9OV0JPQ2dHZi9DcFRzWGFhenhtRGNmclo0L1RTT08rK1Fi?=
 =?utf-8?B?Z2E1MkNxTEpCaTlNYzJMOHBVeVFpNFBTck5MQU1XSzRYUVlUZVlSVHZlUTls?=
 =?utf-8?B?MGx1Zm5FT3hXSVFHamVuTndBTXFVbENMQ3kxQSthUWRRMU41Smx6WU9KVUlq?=
 =?utf-8?B?YkEwUTFVSGtERXJiT2VUaHZwR3RjNFJ6Qnp2cUlrdW1CUmQ2NUgwdWFyeG9D?=
 =?utf-8?B?UFdkZjhlckVxcWdhMVdRNUsyY0MxTkdrbWJWeGg2U1UyWXE2YmtmcDRRLzlO?=
 =?utf-8?B?blpLc25qSGVvR2svTXFpMm1ONU83YkcrK1lzdG55cHlsMGZUelhDSXJld21s?=
 =?utf-8?B?dzZEempTR0FFQjR2N2kwTlVRd0ZlRGdDTnhtdy9PTFlQWlFjOGo1QlRqK3U3?=
 =?utf-8?B?U2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	7kyxmq0eUx+j/KDpT6b16Nf1MbRzYPDchanR0QX3B2Z7mDULDnrrbvw/SUVIbzinbB55hM1Qv+iH8yDFlDxmxByMLlhB21mWp9F0uU3kwPAgYDZYIlZDFgGqYix1O+h829Hal2c+mao6BcVHE3K6mjTZ2A5nVU0BF1Hr/UpC8zJbWppB2RunElzbv1+lc+hQzm3RZOX/deEYbfq/q/9XbZxCN7/H7GVEJtQaGlBYocedtxjttcsduKc31xhYGpXpkjWYVdQSVdDYY1EbTjRn8a/YB3/LUwx/tH3dyVzIqCjG9scK2KQJ9lX5wWJi5vZAWmOVHLkc6GesQe3iRPTgLsyMyc8iiwyKcCGGOODy1182Ybu7wV7QIenN4q4FA/iZE9GCm7RprWEfMkWk7PWbhDSPx6U0XF3sE15sq3uRYmrNuhfqEpsawA1dzN8crHKKs2mE5fLRcJCT1pegKVX9jG0oGmlKN8quCpOhYwxjP4gK3K4DDFVebnr+ERN1djF1x7dXRbTzCr56rE+4Rvu9OWgRvX0/zTCcIR+TisuD7VRH30iWVsYyIJOpDjxsayKvbJqM8+1OzccYOp3dZVFIlGgCClrKLN5KZ9XFiVjuSY/zCpEqj/naQLOqx4fDFkNG39nAsEtQDeeuAZQJqB6w3FNI/IsMMkw9PRUunoHtzRgc4vFFsnYWxxb//CeOjfSHrfN59LpTRYDlnQqTw/BLdV3MX+HFDUBZEpvotO2eke/lvTBZzFeRMacQSbZIJh5KwQy/KQFGYmkAaPKJdMk8RlOE2abZeO0ikRyd3IURulx2hdfck/Zw1Bg7lcO99SMixzcXjVbbWiKyY1OjzAAVcK9y6/u+/lmEPLyo2XAYd6vS6GtA552XoFTSw1q1Z1bM
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ad9f996f-bd84-43a6-f0b7-08db263a8488
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 16:21:37.8145
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: x/kE4IR28PGp+f6dda4KqeX233ujyVGEW5qEqSKluG7K5yrFbQm1GYvce45jDX5Q72dhWzlTTAEyTXUXoJjf1Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6424

On Thu, Mar 16, 2023 at 03:03:42PM +0100, Jan Beulich wrote:
> On 16.03.2023 14:54, Roger Pau Monné wrote:
> > On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
> >> +{
> >> +    return atomic_read(&refcnt->refcnt);
> >> +}
> >> +
> >> +static inline void refcnt_get(refcnt_t *refcnt)
> >> +{
> >> +    int old = atomic_add_unless(&refcnt->refcnt, 1, 0);
> >> +
> >> +    if ( unlikely(old < 0) || unlikely (old + 1 < 0) )
> >                                          ^ extra space
> > 
> > You want a single unlikely for both conditions.
> 
> Are you sure? My experience was generally the other way around: likely()
> and unlikely() become ineffectual as soon as the compiler needs more
> than one branch for the inner construct (ie generally for and && or ||).

Oh, OK, never mind then. We have examples of both in the code base.

Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:29:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:29:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510710.788917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqTW-0005qX-MO; Thu, 16 Mar 2023 16:29:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510710.788917; Thu, 16 Mar 2023 16: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 1pcqTW-0005qQ-Iz; Thu, 16 Mar 2023 16:29:10 +0000
Received: by outflank-mailman (input) for mailman id 510710;
 Thu, 16 Mar 2023 16:29: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcqTV-0005or-7e
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:29:09 +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 ab6d4fd4-c417-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 17:29:07 +0100 (CET)
Received: from mail-dm6nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 12:29:02 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB5470.namprd03.prod.outlook.com (2603:10b6:a03:287::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.33; Thu, 16 Mar
 2023 16:29:01 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 16:29: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: ab6d4fd4-c417-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678984146;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=IOBYJ+eZrpG5DPZyA/sNojyevPR14JiUo3aTS5FO1c8=;
  b=ThpcVGQZJfsdK2uQ6T56PU17P7TLxl0gm/14XswrePfyB649r6GYenn8
   DJcNGmhWsItOe/fiFi2GfVwHvowYof5a9kbxo6UrDSe3VhqdsK2XsJzU+
   D3H6+JDljBKgZngmUztJBt0DTUFh7XnYuC+hIInOr6NqppNOmWfAukcHX
   A=;
X-IronPort-RemoteIP: 104.47.58.108
X-IronPort-MID: 101561264
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:OyBDH6yJznBHzbRT0Kh6t+exxirEfRIJ4+MujC+fZmUNrF6WrkUPn
 TRJWG2BOPfZZ2GgftlyYI2+80JQsZPRnNE3TgQ/+yAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlPK4T4zcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KXxlz
 fIXCQEUVTqSqMmR7YCxCdUxlst2eaEHPKtH0p1h5RfwKK9+BLzmHeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjiVlVQhuFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE37eWwH2iAtxOfFG+3qJaigbK2mgxNF5IdEPjv9WLrRaHffsKf
 iT4/QJr98De7neDVNDsGR2lqXiLlhcZV5xbFOhSwAOC0K3P+C6CG3MJCDVGbbQOr9QqTDYn0
 luImdLBBjF1trCRD3WH+d+8qje/OjMcK2MYUjMVVgsO49Tlo4YbgwrGS5BoF6vdptfyAzDrh
 TeRsDI5ma4QnOYMzayw+V2BiDWpzrDZQwhw6gjJU2aN6gJieJXjd4Gu8ULc7/tLMMCeVFbpl
 HwFndWOqeMDF5eAkASTT+gXWrKk/fCINHvbm1EHN5U79nGh9mCueahU4SpiPwFnKMsJdTLyY
 1PUoUVW/pA7FHKvYep4bZKZD8Ux0bOmG87oW/zZddlSZYA3cxWIlAlnYUOA1mbhnVJqnawiM
 peWa+6lCHpcAqNipBK9R/0cyqMqzyZ4xmTeQ5H05x2i3fyVY3v9YYwZPUSHdPx/zKKArAjf6
 d9ZO+ODzhkZW+r7CgHd7JQBJFQNIX8kDLj5rsVWcqiIJQ8OMGEmDfDVzLJ4PYx4lqJavu7N8
 je2XUow4FjigXzObxeKY3ZsQLrqUdB0qndTFQ4tJFeh3T4IYYupxK4ae908erxPyQB45ft9T
 v1Ad8DeBP1KE2zD425ENcm7q5F+fhO2gw7IJzCifDU0Y59nQUrO58PgeQzssiIJC0JbqPcDn
 lFp7SuDKbJreuioJJ++hC6Hp79pgUUgpQ==
IronPort-HdrOrdr: A9a23:fQ6e+6CLNhSsQYflHela55DYdb4zR+YMi2TDt3oddfWaSKylfq
 GV7ZImPHrP4gr5N0tOpTntAse9qDbnhPxICOoqTNCftWvdyQiVxehZhOOP/9SjIVyaygc078
 xdmsNFebnN5DZB7PoT4GODYqkdKNvsytHXuQ8JpU0dPD2DaMtbnndE4h7wKDwOeOHfb6BJaa
 Z14KB81kKdUEVSVOuXLF8fUdPOotXa/aiWHSLvV3YcmXKzZSrD0s+BLySl
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101561264"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GB0at8WXxoMtEqIYIIRDBhUrLIVJ4XbjXer31F+/MxYMRDEAeaxtjgPNWrAs27gh0gKuMO0E72ajOnEi8Gs8GHXrSgLcSd74Tejk5RQ/wv7Or7HsbIx3p3ErdHYzbZaTC6Pjplo2n5BBc0N/yuJIi4bgF9T2c5P9o1YMv+VGQwJijPrddTrOtKhAjuEeV/AI/buuyQGrMIzs1vUQmEH4u8mU9NzeaLAQC7APK3wz3lkOzLxdPSArDmctWuwWEjnNGP6+JjXW7iRJ4ngg/4bXnMHnz3SoKK9eaHfWctf1SoDBnii/rqN+a092wx3Ytoqj0muHftg5YD1igXxX6OX7Bg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Vv5sK82ldFojrvXF6qjIlEegZCWiICY06ad2qippZts=;
 b=LjwKQoX1Fs72jsmMHcOh+P01+v2EDGjgqj6oF58nHEdlQYdJyxPZswgZeGJtjzhP0Y9HAnNynws+teKW5+S+QnjwxknkrJosIXiYLbnd39n0m5xsrrvPBD6DnvIDHLiO08WMibFna4W2ZMIcInhlAuTWReMkyl+BQ7BNX7ndiviXmF2dVbtIKOKAEy8veJAQw6GeAQ5zqivQNm8weNxYxzezyHz++JSXwAD7ZB5TU2SVwUvl4WypDgFlhXsN6JRxpl5tquS/SttCoLRJibIT5CEVLP8hLA0EqqJ0darwrIKrNTU7CmGtMkJ8/hw7ayW9q3GGy8i+4cXtI/kye5OcUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Vv5sK82ldFojrvXF6qjIlEegZCWiICY06ad2qippZts=;
 b=lPSLKMPvfF0UehK/3MHjxu4HjqgwKtU5dbJ7XOQiozBR/iHwhvZFbwRSOnMnu2ZkJ0ocpIru5vqWn5EKqrRDFKmyCUJdgI4ARa9clRTjNLGMO+FNnn91r7xFuUt1IgPBe2aG9rD2Nx1OkUrYO5MvZF71sB1FNvn1Sh8mOhAQ7zo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 17:28:56 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Huang Rui <ray.huang@amd.com>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
Message-ID: <ZBNDyB7Jp0rgjZNy@Air-de-Roger>
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-2-ray.huang@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230312120157.452859-2-ray.huang@amd.com>
X-ClientProxiedBy: LO4P123CA0036.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:151::23) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB5470:EE_
X-MS-Office365-Filtering-Correlation-Id: 074f2c2d-4825-4dbd-f54a-08db263b8cf3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	V7wxPHk0FAernhmJYW93MGkEivdHPRM5Wd/wAvhUJO5Njd/ObLvlKehtUO4DqYYdEA5M3DZpoIk3e3vIxSv6TUT7Bl4ZOOZUeswiRLK23GQf21RAy6wuTRAMIN8tDPr4YUncDN5uHW1x/XUe16Ejgm4b7AKNG02V+1eNCti0E8lOuV/K9Z1qdqRfiE4Il8vPwLpktd0P27Fp5N9Bs+OH/RnjtWAtS0O6aEasyAyElcKFJ607h0hMeWAxlxFSaQijkigqk6MMLBOTYKr7WVGkoFKpCJm8nTUfzCUuyq4dl941PB20moeBHdfuzc7aVI8vKyqUatQnKClihOr4L1guegkSouA5rhvh4IMnLE5vgR7GhFbD4n7fqk88a72z8LcSSa+RdLhEY/MU/mO6SxegIRC8JzTMfRb5yuoL7u3ol4oIm2x2O1SgCO6hq8TyxtP7/6/z4y+Rt9uP8CCSH3HRKsLmZWQt46hRXKfb30Q/FRwcm/H1uWI1TYgyvt6LDYhgfybH4dRsoXXHoJO2KkPo1Z4A0/t87J3eMiK8arPsIo3c42N5CfD9diKKeFwC6w44CppzASsF9eIyHAeluPXYiE5NRrO2d26CFISVnti5upS9P5Y67XJRK+cfC4Gq/uj11BG+NEtHEDEiCpXWR1jWVg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(346002)(136003)(396003)(366004)(39860400002)(376002)(451199018)(82960400001)(38100700002)(8676002)(6916009)(66946007)(66476007)(66556008)(33716001)(4326008)(41300700001)(54906003)(316002)(83380400001)(8936002)(478600001)(5660300002)(7416002)(6666004)(6512007)(6506007)(9686003)(26005)(186003)(86362001)(6486002)(85182001)(2906002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eG53NnpkRTBSbENFOFBRaFh1bU1OeVc5WjVmVzY1U2dDYmJwN1RoeDFISmxF?=
 =?utf-8?B?SnRaZHZGZkpJZVNGMnJOUng0RFBpVTBJSDJ4TCtPRnYwYUE1RnFVa2tIK1BH?=
 =?utf-8?B?eHoxTG5MTmlqeW9yb1NhazhUVUVWbGZLUmhxaGJTTGg3cFhQQ3lGRFBCcFAv?=
 =?utf-8?B?cnJCcXVCakFkdzdGaFY0a0lTb1N2UUtuMjlIWmp5YmUxcTVEY2dJNVhqM2Z4?=
 =?utf-8?B?YS9GenFXZ1I2eTlHdzc0dm43RTZRRmw3aVppY1dUZWRqM3BHclppZFlqd1FP?=
 =?utf-8?B?UWEvcTJmM3JCNFpSd2RQeUpUYUtCbjFHUlpBUG1ESHplM0lJSkNSa3Frcjhh?=
 =?utf-8?B?VXBDUHAzRGJzbVVqSHpid25jQ1cxL3Vab1NCNlhLY29YVWw2TkhzdURQYWZQ?=
 =?utf-8?B?MDA2R041STIrQ0RuYXVITDM1NGFZNnE3dFU3YVFreWcyKzB3QW5ZQmFoalhR?=
 =?utf-8?B?RFpUcWhUWUxOZlRQLzRvT1ArUWVZUmtVQW9jWlVHMTNvWTYvMlJnQm84dC9y?=
 =?utf-8?B?VVhGTjNaMzRZaG1Fa1NmYnphNDRHQXJwL3Y2TExSbDNtQ1UxdTFrNFpFTFNE?=
 =?utf-8?B?aDBERjZ6dlhlZUlEU2hiTi9GR2krZEQrR2JGdU5BSENpaGhHZ3dhWjdFdXFo?=
 =?utf-8?B?Tk0zUldLSWwwQmRWWlVVK2pYYnFQOStoVGZubEdyNFJtbHdidVZOYkJPVHl0?=
 =?utf-8?B?Uk9tL09xNS9GT0JZTzJNS3hoOWpsN2dtUm10cmYvOVkrK2IrcmN4cTIrRlB4?=
 =?utf-8?B?T3RSb3JPYmZpZjJoNklmNHhYWXBneWdmYXRlVUNZRnBLMnhjb2dWRitTQnhl?=
 =?utf-8?B?YmlWeFZBbEZiSlNSczBHTmVDV3NDUUE3bERnRCtYK1hTaFBFRHRsWjhUZzlZ?=
 =?utf-8?B?eUQ4c1Z6Q3p4YUJPeGppYmp3OEZtWmlqSGdlNnhaNmFsaUMrajAzeG5ZYXI3?=
 =?utf-8?B?VWJFNVBuVjMyYk9wWU9sL3djbVNhdkFoa0JheHpHeERYTDN3NFlCdlNlL2Vk?=
 =?utf-8?B?RlRtZlppR1dFVkxlNm1XQ250enpucTFIUWRZWmxFbUR1QmdmTjJWeUc3amRT?=
 =?utf-8?B?S2JDU2tOWjkzOGZMekNqT1dWOVI1N29ncDN0WU1lOEIzZ2RyMmF0K3h5VWM1?=
 =?utf-8?B?SXlrUnBzMzFnbytXaitCSFpNT01LcGtaU2JIbU5YS1dTOUVSTUg4d2FyRWlH?=
 =?utf-8?B?ak56dWFDam90UjNIem5ENzJoV1F6WTVkbUtTOE5uWCs5endjNk1lNUs2Y2hG?=
 =?utf-8?B?YWpqbzlrZ2tndEozRUxDd3dMWVBlTVdsNEdYTGRUdVRncHhaN1VZUC9YVmNF?=
 =?utf-8?B?OXA4MFJZbjh4K0pMU2ZXY1hCTUFzUWprUTBTRVlNZUczQTRNME5SMU9jOEN2?=
 =?utf-8?B?Z05GZW5sL0JwSVVoS1gzRGgrOVlqOTc5dUhxUUhRa3JrOG43UlRWZ2FkNms3?=
 =?utf-8?B?YUhKRUQ0QWpsdGR3T0plRVdmdjlYT2d5QXVuZzl2YnNaY0YzejkySTJqa0dF?=
 =?utf-8?B?bXp1eGZEZ1Z0RnE5dHQ3NUdmQWJwK3JXVjVhQkNWRU5idmlwd3ArTk5xVkZH?=
 =?utf-8?B?dDlnVEJEekswUExJU3ZnTkxHb3F4SFhPK2E0TE93NXFOUXdpNElwU2d1WlRB?=
 =?utf-8?B?UEQ5V0p3TG1NVU1vZ2J3Zk50S2o3bUZOSk5saU9WY2IyQWZjaHAwYjQxUkM3?=
 =?utf-8?B?UC8vWm9uN2dvRjlnUzh2bUNMb1I3SDlFM0ZubW5FMmhHR3BvRkhSSEtlU1E3?=
 =?utf-8?B?QkRmRUVHTFBUZlFkREFWOXpXN1lkV0s4TDN2Z1JveFhGaEdtTjdzenBEb3lj?=
 =?utf-8?B?ZGZhVGtWWFdUQmhFUTZWcUtzYThsNTRYS2IxM2tVMFAwYnZPenhiVWM2SXUy?=
 =?utf-8?B?czBXd3hsWnpYZkhUZEFFWDlaa0I4cVhMb3Mzd3IrcWE3a0hjUGU4YlRsamc2?=
 =?utf-8?B?ZXZnU0tScEdXZGJ4ZkNCaHNMc0NXdWpwRlJXZjRWbFhXQzIzK0h1cEg0Y005?=
 =?utf-8?B?em1GNzVXVWRYMkE0Yjg2NytLSmc1SFA2ZXZEWFNsTEhNZEZGYTVzUmNGMmFQ?=
 =?utf-8?B?Mm5ibXVxZzkzSHExZVBFanRHT2cyOVI4WCtjODFaZllXakhLSTJ2V0dtdXE1?=
 =?utf-8?B?UGhGQ0xOVDJTNVN3NTRRN01aakJlRDRHaThzM21qTmY3ZjJwRWh5NEFRTlg0?=
 =?utf-8?B?S1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?VDVmNzhWNlpkR3Z3VE5zeGcvZzFNOWtPczVrZ0p3UmFJd2pYd3FnWFFUZEVK?=
 =?utf-8?B?akIwUXVqZEZybTVyZk10aWp3aEczc05KL25ZN2pVZDFVYXNjQm1uSnBNdGcr?=
 =?utf-8?B?aHRBWjNEN29oKzZNOWRkVjBGRzdtTmZuSi9WcnQwalIvNWRSNVZlSFFBYlBu?=
 =?utf-8?B?MXdOS2IrWi9uWHg4WVBqOWE3UERnN09WdkpMb0RFdi9aWTNVZCttUTBUQklX?=
 =?utf-8?B?OXQvSm1oTi9zZ2N4TzJPWllKUVh0S0ZSYzhqOERCU1czUjV4cGtCdzJieTl6?=
 =?utf-8?B?a1BtdHhmT1BaSGZMWnRoOTZkanVJcXB6SDhDY1QrQXo3YXdodC9WZXExY0cy?=
 =?utf-8?B?eDdZQ04zYmZwRUJ1Q1FmV2hLU0U4amJ2U05raFhBbUQ5bHRUYWxLY0xsUHd4?=
 =?utf-8?B?TmdaSmVYamh3MGtJczc2TDJ1VVZmYTN1SmVGQVVBb2gxaXFTamlpOHBEL1BZ?=
 =?utf-8?B?NnZvbUpha1d4YXVsaSthNUVIQ2hXZ2RzRmNDbTdncXVQTG0xcUJ4c0dxOFJK?=
 =?utf-8?B?ZTV1Z2ZyMUhBcTFPZndtZmNVWUthdWtLTFhTZnhvK3Y1UG9NcXl6bmZqWXNJ?=
 =?utf-8?B?Tk5uNFFBcHRrZG81bFdPRjdhN2RqSEFmVVkzdHFEbWxIV0hodXRlWDk4MW1k?=
 =?utf-8?B?eFBmMWErUnBQbDViVStoQnFUYU05NlRQd3RkWmJnZ3M1aExGcmNMb3lCeGds?=
 =?utf-8?B?NTJWTXJvMFR4VTJBVjRHMVBoUUZXVnc4NXBkVys3Y1FTRjNaRjhlN2VRT2E2?=
 =?utf-8?B?bzNYeXVCVWZydmRqQUFIWm4zT2l5QVh2R2ZKYnVieTVUck5TWXc0VlhZUmc5?=
 =?utf-8?B?T3ZRTGxsZk94b2ZEc1RIV0pOTThnd2VKN0l5N1hTM2NZdDVWdDAzSDdTaXFJ?=
 =?utf-8?B?ckRLbWxETkYzb3FiUnhDbFA2WjRFdENoNEpxMVczQzJhck1oTlJySGZnSFNO?=
 =?utf-8?B?TjlONEhFd3F6bk95WExCZE9HdUIyRHBOcWlHNzBKODRrQXJRbjNsTERyQUEr?=
 =?utf-8?B?ZnRvNlZPN0xMUlVpb3QzL2lqOFZsY0Jtek5CQXJHbmQ4eXRSNHluSk45OFdj?=
 =?utf-8?B?aDh5c3piU3RmT1VTR3RDeVI3VzFFb1htK1VBUUFqYzdPVTlqMVBodTRVaEFP?=
 =?utf-8?B?a3JhZ2tkMGJhNTlwUWhia2Fsd0xoT1ZBL2s4L0czeWtrcXZrcnBvT3BLaUlC?=
 =?utf-8?B?RVJLdStQQXFTY3FPQkNIdlNwSWt6ZkFYT2ZQcDhpTWNUVXQzYmZBN2NKTWkr?=
 =?utf-8?B?TDNuSDJWT0hLR1I2ZnBxTi9Uek1FVEYzWkprWjYvR3Z2OW9RZ05sQlQ4dzlk?=
 =?utf-8?B?bjZmYWRsclhVckVXVHpHRlYwUlhCWXZhWmdtczNrWHpwTHlCMWxMTm1oTjdW?=
 =?utf-8?B?SkV6UVp6Nkw5dFE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 074f2c2d-4825-4dbd-f54a-08db263b8cf3
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 16:29:01.6076
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9XpY7AwsimyY3854UH01r/GzCgvMZcHgUygaHLvZwmBLBfCXBXV+rzc7psXtnMXkezLrcZn3jk3b5RHL2e410w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5470

On Sun, Mar 12, 2023 at 08:01:53PM +0800, Huang Rui wrote:
> Xen PVH is the paravirtualized mode and takes advantage of hardware
> virtualization support when possible. It will using the hardware IOMMU
> support instead of xen-swiotlb, so disable swiotlb if current domain is
> Xen PVH.
> 
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
>  arch/x86/kernel/pci-dma.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kernel/pci-dma.c b/arch/x86/kernel/pci-dma.c
> index 30bbe4abb5d6..f5c73dd18f2a 100644
> --- a/arch/x86/kernel/pci-dma.c
> +++ b/arch/x86/kernel/pci-dma.c
> @@ -74,6 +74,12 @@ static inline void __init pci_swiotlb_detect(void)
>  #ifdef CONFIG_SWIOTLB_XEN
>  static void __init pci_xen_swiotlb_init(void)
>  {
> +	/* Xen PVH domain won't use swiotlb */
> +	if (xen_pvh_domain()) {
> +		x86_swiotlb_enable = false;
> +		return;
> +	}

I'm very confused by this: pci_xen_swiotlb_init() is only called for
PV domains, see the only caller in pci_iommu_alloc().  So this is just
dead code.

> +
>  	if (!xen_initial_domain() && !x86_swiotlb_enable)
>  		return;
>  	x86_swiotlb_enable = true;
> @@ -86,7 +92,7 @@ static void __init pci_xen_swiotlb_init(void)
>  
>  int pci_xen_swiotlb_init_late(void)
>  {
> -	if (dma_ops == &xen_swiotlb_dma_ops)
> +	if (xen_pvh_domain() || dma_ops == &xen_swiotlb_dma_ops)

Same here, this function is only called by
pcifront_connect_and_init_dma() and pcifront should never attach on a
PVH domain, hence it's also dead code.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:32:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:32:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510716.788940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqWx-0007fK-HC; Thu, 16 Mar 2023 16:32:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510716.788940; Thu, 16 Mar 2023 16:32: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 1pcqWx-0007fD-Ds; Thu, 16 Mar 2023 16:32:43 +0000
Received: by outflank-mailman (input) for mailman id 510716;
 Thu, 16 Mar 2023 16:32: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcqWw-0007Pa-BU
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:32:42 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20629.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c24d166-c418-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 17:32:42 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB9131.eurprd04.prod.outlook.com (2603:10a6:10:2f6::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 16:32:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 16:32:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c24d166-c418-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Cu2+0z//gFUQXWvfpTMgksh8yZEhbHz6Yk02d+8K6I9paqk3UdF6xH641vgvKPhPwFf+flb0+tGs286VuxYgb5DaYY4iLN0ScCxAs7E3w4jMyQ7Ju6IQxfWzSXLF2OTV2Xp3Dol5ruO+mVEEKO4IU7JTLwWeXaDQGtFPLcedCbbn6iJL79x4YWRxzLBnGGS/fkV5nVXpwOPnw+s7gaW6OQg1tSkaK4kPqb1fckNPj/f6N/Mg3twx+/HO/mtD3+1A2fyVMutIbzFJi9LqmxO1AKvmoWgVGlnxkpxxFY7TKUwWLXNsv8jVt8+GWTfqcsdGEFnNcJWuflsd4eVKYxcKJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+5A5UClfPp3pJqednDcydShOlj0zF6zB+PI1wCzxjUo=;
 b=GW+ywiY7uJzi3hPe5q/O2rhi1VfCCWQ53ewqr0gbWHYKHpBYpeu4hR8CXZzOS6Fq9iYCE8czDF7Q69q0hpATUM4+5eJhqFUKvwwbAmjpcyGgCIAkFzI+ET31JAAMoFP7tWjW/ZYLwzNRTbW8inspdeX0/rGxNA8AIGS9U/kBPC5z9TmiNwjq1y8GGpQri47bQ63GZ1B12Wnoz24SSG6NL6Z0w0EcZ4UmQrzF8pX8I49xIA9B5wsVLn9Q5PUFG8TmSMzvkxWAocg0cwIEMWeckLI3KEivKbOnEYw2GC7sZTtWIzoNkeSDkXmDDhKsz/FGMGdGYWh/PFxo4BaIyyUTkg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+5A5UClfPp3pJqednDcydShOlj0zF6zB+PI1wCzxjUo=;
 b=O1AMC3t0YZ5itiWDXJZD2iAlxicE0Hg2eQyxOar8StOOhh/yaw5AM6UyvHgDB2mlXw7as8nJrcut4Ex9e/wq4C1Jrx5AZZb0IWo2BpDQB9TN2rNA4pkXmyfVhGgV/HDhSk3wyN6XdzuxODRWhUOMCYt4jpZfTtawmseOacPyYwIcTgqsWNLaN0V+IqeY8KGWcuMF7SgmCNiWFubB89aN4jaGFJ4MIwEXvZFzACTWmKtAHNmnYkM+1dxZqt54oj6rc6hjrPPHlcJNcSAL8jZQVIBSp6uhoQhIckfoCnGSOm6HwTk5xAiHY0h+LBgfp79ADcGqTGuFmsaDdFCLMT7UJg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dc31ee54-b6ce-3251-ab0d-487d9a9bfd35@suse.com>
Date: Thu, 16 Mar 2023 17:32:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 1/6] xen: add reference counter support
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
 <ZBNBhS2I4XWkwXr0@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBNBhS2I4XWkwXr0@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0075.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB9131:EE_
X-MS-Office365-Filtering-Correlation-Id: f139d23d-05b2-4db7-0f80-08db263c0f65
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gL0zfCLsGyFvorTz2u6k5yYTzy564KmP+lfEvjsyj988unaNSvEmX+IFIGwEuy53QX9RJjgdTVxRJlgB+QfX+0Lc3iYfNZFGluT0Ztmg6Vr22JFOXbOxxHu0cBdWs5OyHvdpB3fuXeuBQ5QsE98xwqyDpArv+92vn7kIuHS1QZe9Nw9IHxeCcRMCCEK6NGwqkWbyJGDvIq2p1ZBmVHqPeQI7RDhiOKydvtGnHq39TmJYT9vs+6NVxgqzpKGFk/OhJ/lgQhh609GRcfpderSpZ6hC2PwwpwUIs20er3Ft3xQMY0g+B1zrbMHp+Sfrxf3px2HygTE2i987gjAALHqw9h1aZW7xoEZNwsZbj0MJXj/BJf05zLUNk7cAy7FE4Zu0O2g21Z0nR0+pujigHOmZth+u9Wo+ItgWQNyTJZ3rP7jfl46GTTBo2dV/tL4C2D6jreM39C/8Hv20Bx9P9F3GsBKkdUcBeX/RTwMzPbQSrNT0/CZ7huSubeM2BEhtM5mvxF1OlwtXxhUEEjD77rWzJy4zzhF2XiBTeVylG+7LFMmjFCc28v96Na0qA1Jx5J3ovhuzDWB28y+VG10JAWC/RA686PsMBtrTYGMC9/nhd0vJ9B9Q0/QLBvblK9M7xaT4x6z+7veYOJunBpH/SWwpxAZOXqClYQBGdj1HiSE12i0GwZrxoVyN+5VteLgu3oM+bunalBbaXU/cCIQIuMOJEx/YLXmI6kyhHXTsWvcF0AY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(136003)(39860400002)(396003)(346002)(366004)(451199018)(4744005)(186003)(5660300002)(66556008)(66476007)(66946007)(8676002)(6486002)(6916009)(478600001)(31696002)(4326008)(54906003)(316002)(86362001)(41300700001)(38100700002)(26005)(8936002)(6512007)(36756003)(6506007)(53546011)(2906002)(2616005)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmN6Q0ozM3NSbTVpZm5sTit6bGozQUlYKzA5VHNlODM4M0ZtSyt6NmR1enpW?=
 =?utf-8?B?ZnhOaUJRRDJ3MUk0OUFYNVBpUTlScXBNTy9PYkxubkE1TFdhVmR0bVJLVVVo?=
 =?utf-8?B?ckZsZ0ZRRHFibk04bFhUQWgrMWxIZVJVNjlpbDRhMCtjYkMrSUwvQ3VuU0pq?=
 =?utf-8?B?WmxyMk52c0NudUU2L2VWbEpwTUFlTkNxQ3ZzM0JoMjNjb2RVanFld1V1Tkhi?=
 =?utf-8?B?cW5wV1M0ZlFuMEtWeStpOUYxbEt0dnRvbENpck5XcnRsQlZzRjk0aldyUllM?=
 =?utf-8?B?bitIRTNNbGZobFM2RldneXk0UDRUNm44a1hqRHo2OVdDSlJ0Ykk1bjN1Sk5Y?=
 =?utf-8?B?Q3hGTnZ2Y2dPSVhxeVhYUndWaExxKzdMUVFDQnBXZUZlQS95Y1IzbUhQWk5j?=
 =?utf-8?B?SXRpaWtjazc5NUNjWGtpemFPdlNsRVdJOGs0UG80VmhhWTlsYUcvNTFHVkhs?=
 =?utf-8?B?d2Q2Q0x2RWpEZEhoV1ZNWGg5MG00VkhGQWpValpDVE01L21iZFlxWGpSSG1k?=
 =?utf-8?B?dlVNeGRPcFdYcU5sOU4xeXE4RDhNcXF1NzVkb2RBQTg5eFBFVlY1NjNOeFdy?=
 =?utf-8?B?Zm8vakJkS2h3bFlBd2tyUFRCcjVXRFpKM2QvQUtOSFJaMDBHRGJBTURibGcx?=
 =?utf-8?B?QnB4OGpUeXRKcHJpRkJzdjFOZURHVVZUVUdCcFpRNUNnS3l4RGZhcE9yV085?=
 =?utf-8?B?SURkbGJMTXBxd0hVQk5iV09SRjZhYm9WQ1NwcTJZSzE4QlpCVWJqMUpuV0lh?=
 =?utf-8?B?VVR3VXhqMG5IbHFOZEhQTTVPVGdDNjcwYTRtK2l1Vi80aU96ODVKUWRjbE9N?=
 =?utf-8?B?TGExR3pBQXowZ0RoWWF0dS9PUU5tam9wUC9OeXZqU1FvWUlYV0R2UFVoVWUx?=
 =?utf-8?B?ckFwZDV5UFVSK3lzWGVuZDFPdDZhdkJuUVdRSGVmell5NUZpalVsQUVaalpN?=
 =?utf-8?B?ZnZtRE5nOUgrcitQbUtjaE1PZTJ3RXJ2YkN5dCtpOGVjbkZIZFhpVjJDb1Ux?=
 =?utf-8?B?MVd2emZid1JQNVFZSnpRUWhuK2RGOXorREpCWjlSN0c0Z3A4VkRlcktBNHh0?=
 =?utf-8?B?Q2l5S2lycWFtWllFMHpTdVpUc2ZiS1VyclcrSzZNMHU2TFdVZzJOeDBQRzly?=
 =?utf-8?B?SG9VeHZvTXl2dTl3OG5CUFF6SnozL2VMZEFWb0tjaHg2ejNDUnVlUmtBYTJB?=
 =?utf-8?B?M0o4ZEhLdThNWmwrbTV3QzVEd2M5RjhCUGUzaktxUFRhT1dFSS9FLzdsYVdB?=
 =?utf-8?B?SHhPOG8wdWd5d002UlNoV3pSV3BaVmxCZWJuWUo4Z3JFQ2lhVnFiV0VraXFL?=
 =?utf-8?B?dGFabk44MDJzOUZ1ODA5VVpDeHhEVjV4WFNrNnZ6OGpuenZrVy9UaFFNK05j?=
 =?utf-8?B?MW1BRFFBRFlONjZyV0VNNmp2RmlZcnF5aGdrbUp5NVMvZGc5NytSK3VvSlYv?=
 =?utf-8?B?WGxRWnVQaXloWlJIZHVoU3lOSHcxRXNPT3oyT1dkWXF0a3NoaU9EMGYzZDRU?=
 =?utf-8?B?bC81UmJob1RtVG5aL1lrS3ZWNUdjcjYyK3d6WFpHQXZFTVVJNUhmNk5ZdHBH?=
 =?utf-8?B?cWVyRWVmWmlHT1d5bjZlV0lpZzdydENHOEorcWtnZFBTUFl1aW5MYUE0RWE2?=
 =?utf-8?B?R014dUhUcnRBV21DaHorQnlsNmllaThzMGdNT3U0ek05K25UWEhVUjB4L3li?=
 =?utf-8?B?VlBFQ00wQUFmTDRqbHoxNmZxQVg0SHBzbnRJQWoxUi9qbFdEcWpQRUxYZVNU?=
 =?utf-8?B?K3h3QjBTc055cEV4NXBJeDNlWWFydUtpUVVIbjVseU11NWtRTDBKTHh2K3k4?=
 =?utf-8?B?dUJUalU3ei91UnFJNVJVSW9VTVkwdlVuMzRKNDlkODZhb1lveUdzSFR5MmE0?=
 =?utf-8?B?UlJ1UjZTK2NEMHliM08vLzQ5Wm9zLzk3NG1ZOVcrWVhsdTBwbDJQYjh5VnlF?=
 =?utf-8?B?UStQZkhNV0pmRDhqeGRycmJEZUFvbWQwV0QwRU5tNjV5OVl0T3M5TmhHRlZP?=
 =?utf-8?B?YlZRWGR3Mjdra2Zpbjh0YVZObFMzUm9pZG9IbmRVTVhvbFhmNkJwY3NZejU3?=
 =?utf-8?B?ZkxLSE9GVW9ERXY5aDNnMC9VVWtFZXVJeXRaT0xXR0ZMUmNlYktGTXZqaCtw?=
 =?utf-8?Q?HIF1xs/6Eqc4wLv/21pJp2inp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f139d23d-05b2-4db7-0f80-08db263c0f65
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 16:32:40.2637
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5mbBnrsLh7h4DY9/2jWs+HvREN3EYulc2i/5hKzhUf+ZcfaOafTgIyJjTmM9GcmWGkwOYJLlYaQF2bvCBrswMQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB9131

On 16.03.2023 17:19, Roger Pau Monné wrote:
> On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
>> +static inline void refcnt_get(refcnt_t *refcnt)
>> +{
>> +    int old = atomic_add_unless(&refcnt->refcnt, 1, 0);
> 
> Occurred to me while looking at the next patch:
> 
> Don't you also need to print a warning (and saturate the counter
> maybe?) if old == 0, as that would imply the caller is attempting
> to take a reference of an object that should be destroyed? IOW: it
> would point to some kind of memory leak.

Hmm, I notice the function presently returns void. I think what to do
when the counter is zero needs leaving to the caller. See e.g.
get_page() which will simply indicate failure to the caller in case
the refcnt is zero. (There overflow handling also is left to the
caller ... All that matters is whether a ref can be acquired.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:32:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:32:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510715.788930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqWu-0007Pp-97; Thu, 16 Mar 2023 16:32:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510715.788930; Thu, 16 Mar 2023 16:32: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 1pcqWu-0007Pi-6J; Thu, 16 Mar 2023 16:32:40 +0000
Received: by outflank-mailman (input) for mailman id 510715;
 Thu, 16 Mar 2023 16:32: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcqWs-0007Pa-Db
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:32:38 +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 289054cb-c418-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 17:32:37 +0100 (CET)
Received: from mail-bn7nam10lp2100.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.100])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 12:32:33 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB7143.namprd03.prod.outlook.com (2603:10b6:510:291::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.20; Thu, 16 Mar
 2023 16:32:31 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 16:32: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: 289054cb-c418-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678984357;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=xKyaPNrZLne3Aofb+ecv8GLfzZarJA0O9Bf40kDCmNM=;
  b=DS4KnVDPeWubEyS7ab0tMdPgC2RsyU7swTM9qa7e9JZGIDa8AGmG/TSw
   x9H8BmPPgaNxsi739FqLtj+6eB+VH+YM7oaURub6iZuR7DGQxlxTNl/JZ
   2aV0SNkpFGmEroX+VEOSrtAlRQGqCzBIHzsr0a13ykW5stca3bv2mpkC3
   k=;
X-IronPort-RemoteIP: 104.47.70.100
X-IronPort-MID: 101149890
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:JSa0I62CA4mm+TdB8vbD5fZwkn2cJEfYwER7XKvMYLTBsI5bp2cGz
 2cWWDiOOPfeYzOketBxaY7k9EpT75DWztRhTFA5pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdnO6gU1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfD39vx
 cNJITA0YQHe2f2bxIuSeNMymZF2RCXrFNt3VnBI6xj8VK5ja7acBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxouy6KlFQZPLvFabI5fvSQQspYhACAr
 3/u9GXlGBAKcteYzFJp91r13raWwXKrCdp6+LuQ26dSm3KDhWovLQBHU1edrcSJl2mRYocKQ
 6AT0m90xUQoz2SVSd36Uwy9sWSzlBcWUNpNEMU38AiIjKHT5m6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnop4thu3MCkRaGUEOikNSFJd58G5+dlryBXSUtxkDai5yMXvHi39y
 CyLqy54gKgPickM1OOw+lWvby+Qm6UlhzUdvm3/Nl9JJCsgDGJ5T+REMWTm0Ms=
IronPort-HdrOrdr: A9a23:Cwl6f6AgeIOnZwnlHehJsceALOsnbusQ8zAXPh9KIyC9I/byqy
 nxppwmPEfP+U8ssQIb6Ki90ci7MAXhHPtOjLX5Uo3SOTUO1FHHEGgm1/qF/9SCIVy2ygc+79
 YFT0EWMrSdYmSSz/yKhzVQeOxB/DDzytHLuQ6o9QYPcegFUcBdxjY8LjzePlx9RQFAC5Z8Po
 Gb/NB7qz2pfmlSRtinB1EeNtKz7OHjpdbDW1orFhQn4A6BgXeD87jhCSWV2R8YTndm3aoiy2
 7YiAb0j5/T+c1TiyWsmlM73a4m1+cJ+eEzSvBkv/JlZgkExDzYJbiJEIfyxwzd6NvfkmrC1u
 O86yvIdv4Dlk/5byW7pwDg1BLn1ytr43j+yUWAiX+musDhQikmYvAx8L6xXyGpmHbIhusMop
 5jziacrd5aHBnAlCPy65zBUAxrjFO9pT4nnfQIh3JSXIMCYPsJxLZvi399AdMFBmb3+YonGO
 5hAIXV4+tXa0qTazTcsnN0yNKhU3wvFlONQ1QEuMaSzz9K9UoJu3cw1YgahDMN5Zg9Q55L66
 DNNblpjqhHSosMYad0FI46MLuK46z2MGPx2U6pUCra/fs8Sg7wQrbMkcoI2N0=
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101149890"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nvmYbKNnWbnKoD8RjK8bCHbJbmg+t1h+yik0Dpqtp4GQD9T2cLhL5HE6iuLdMW95JmgzjI5PSU+YAjbjCrV9kJBPiHXjs87pCaiFnyCsxdRtlGc1SrEEPyxJm1zqE2PRZTlRF+/WQE5UhNlsEfwpWyd7WwpmGPN1dCM1CaPgw/JLjyHPqlqJo+NUGSizBD6qMb3FRizjQnZ6O6t4qDvwioRvKRYe1wRjbcyCMEudZ4/v+ju7SbsAV+eS0ReEBD7I7gYqtdmjuKx3BbBpjmBIMxJsvoDtUEOSBGbZFm7lZXYeMVcuCsHXx+tapFu8guRKDvggcXEWvVjh+oW0LHb7hw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QE9FB3PKrGusax0VFJ15lgof7u3GvuDyqan//uxuyCU=;
 b=MmeO8aYHTXxl7l9W8cLyp2ksCXCC24H1H5Klzvw+fknTF9sOG3j5G42RiUMWpjVxozBKLuCMvK4OaPgX5fU+vmNAYpXm8hiLWqWWONAG9MGuu9RN24TLzuKJpHjhZ7SFmiCZAN7zpPXY0OYj+YuERYNuwcRN+gqiIEjgUCdxttD5tIPCy/sYBlc6ivkuBYuew38rNbV9OEZ5BQ9hFliYq/TIHVEuCQ1/EfBkW5bCBErti8vaGpM21meB4VNALIcYDb9gvvYGLQMau9YAR2b9xEgnpGTjKCm9rrw6X1VfdJsH37aLYMhSa1cdYERf6kJSuAMQxg1dau/toQVUfqtJCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QE9FB3PKrGusax0VFJ15lgof7u3GvuDyqan//uxuyCU=;
 b=GfB7sp9jc4eS+lOM+yrZez+pdZITNvCSNGnqimiBXC8zGxmY0iSYzXMba780NVTo/u9aV3xHuc3BQweG9Ry0SZblpyeNx1igM1E11VOM0jFkFBiy1J8hR9BT4Q0PWG16ZCb1pbxodNJdfjM2lloMdIX9HWjrLk/ezZHuN+UfHB4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 17:32:27 +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>
Subject: Re: [PATCH v3 3/6] vpci: crash domain if we wasn't able to (un) map
 vPCI regions
Message-ID: <ZBNEm9HIAlJHzDkN@Air-de-Roger>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-4-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230314205612.3703668-4-volodymyr_babchuk@epam.com>
X-ClientProxiedBy: BN9PR03CA0854.namprd03.prod.outlook.com
 (2603:10b6:408:13d::19) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB7143:EE_
X-MS-Office365-Filtering-Correlation-Id: 0680919a-f059-426c-07df-08db263c09f2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VXeO8fblW9l4CHqo1h3QMUIhX6NmNwOWIJJCzuyHdlgHzdc/rRYrA0DlTNrZcdui+pgJKD8YoEP0XVHtZDqX+VLAoJi3HAH5g0H+qz+2DyU4l2vxJ18H/yfQ2ZDsnTdtCnYpPu1ZMKdTZKQxVZ3m4I+Uhpj/bdbByI7oVcxiFwtvFk8nmeNwcEdYeWrD1XFe/lZg1QJM2mUfvPhgxZkaWDRASQIDX7W5gC3MHeQb15xoMmiARWZAWOKoPqJ104snU7PpZ3e9xHgtyhllN8Gackr44RRYb6fflBvQW8ZyFQPUjqDtQ2FGqJmEsOR02KtaFjNCmaQH+hILeZoKxh99aks9Ak223VmR1a/YTIRy0sUm+No6c9VIIZHpEk4krIy7VH9jPydZz4N+kN9ptbwz2iRfRriaj4K1grqpXVVZT3HU8B7s4ODB8wau7uujc7BBWTf2qdCwKyqFElM0yCygZn72E0QLZfJwNpoQ5qbl08pa51Sneto+cKNjeL8/jgIAvVxlBhcvOp7rsIR5ijRzKat8WnQhVbnUhvFp93ql84ZK9eE7UR7HqWffawOFT7PDZrN+Eo1v8Qz5d8LyN1TPqAzcohEWZl9wg5VdQLoZBbd9OuzM2xAotI6U3yHoTxjW/+DhW5+6aPNy8fTuT9siow==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(346002)(39860400002)(366004)(396003)(376002)(136003)(451199018)(86362001)(82960400001)(38100700002)(33716001)(85182001)(83380400001)(8936002)(478600001)(41300700001)(316002)(6916009)(6486002)(5660300002)(2906002)(66556008)(66476007)(66946007)(4326008)(9686003)(186003)(26005)(6512007)(6666004)(8676002)(6506007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UkNKRFVTY0ZPSFFYZ1h4akFTdThCcGtkSmJJZjExQk9DMnYydk9Wam5VcTdS?=
 =?utf-8?B?RGVwWGRKeFpkdGNjNEsrQmFLbFNoS3NpRXRnTWFldnhkbjRFVGxaRzNvTWRz?=
 =?utf-8?B?MGFQQVVaaDVMdDl3VS9BR0EwMVJraXVlSk5QaHZhRXJtS2hLT05zSm9SZXY5?=
 =?utf-8?B?MDI1QUNDaGd1ZGwrR1hHOU83RHJUc1FoQ0NGZGVxRUpzSTZIYlJVQ2I3Mzlx?=
 =?utf-8?B?cDJ5Tmx4K2k3TXVObklUak5tZk9kTUsrQXBJTDAvWTA1akNqVTIzYkE1SXdE?=
 =?utf-8?B?N2JmcHMwdC9LUUVCZ0lnWllMOUFRdmZqazFkbFFlMkFlS3hpanU4Sml0dWNs?=
 =?utf-8?B?R2M3WjlSbnhwNkZDV0JDTmEzT25HRGVrdDFLY0RRREpqOGxGdFhETk5BVjM5?=
 =?utf-8?B?ZXdCS0FuWWRtaktkNmJ5QjluZ0E1emx4dkZzcHo2d1VWUE83UWljRFZQcE02?=
 =?utf-8?B?aHBCckkwbkwyKzIrNlBWRld2aHh3R2h0OW5YcDB4RVo3ejZUdHZnQ2phRHZZ?=
 =?utf-8?B?NC9KYkFFVFArRnRTSExSV1ZUNGgrcW0zZ0hsWTZzRGpGOTNVQVB0Q3l4M0Qv?=
 =?utf-8?B?QWZjcVlXaUlyVTVDVDRFWWM5VlluSUZ1SlhXLytxZlJLYTM5Vmhndm9XUC9D?=
 =?utf-8?B?bE1pSXBFa0l6TldTdmE4V28yaHlONHFQeEhUams4eHhWbXNhZTd3aTZIWkRJ?=
 =?utf-8?B?Z05uNy9ZS1RLdGpSUVdYeVZ0akY5RUtYVHdqa2J3YzU5VS9oRm51MG85eG5Y?=
 =?utf-8?B?SG5ELzdCZC90ZG1nbk1UOENZS0E2Qjc3NFR1YmlJaGpKcEpZdW1qVmRYdVVF?=
 =?utf-8?B?T1AralA3ZkZhMnVVSkttWlB2aXJtSzBMZU1oTTBhMUtMQmNxYmt4T2w5MnBZ?=
 =?utf-8?B?OUxXNWNTdko1UzRjZFlYVzJUbm1wWEhoOEhZbytUSjFjcWo3SmQrcXEzeHJm?=
 =?utf-8?B?YUdlRzJsVHoyWnJKdWFodlRnVUVXcVp4M055VFJZMmVuZ1V5WUdpSkZXTkRu?=
 =?utf-8?B?SGRpaDEzUnlTVjkzUFhObXNWV3R2UVd3NUVwQnM3YWw3d2dnQldKNGp6OWk4?=
 =?utf-8?B?MEVsTWhuSUxqd1lwbVNYR2dLZWNncjhEK25TNXovaHBSNTd5eVpIM1R6Vmlt?=
 =?utf-8?B?bVl5Sm5PZGZZVlJSTEgzdHQwVXp2TkhTN0c2M3pDNDdyMHRxRUdkTmcvL09Z?=
 =?utf-8?B?RytVZzJJbDRhU0ZZcWc4QzRYSTdxdHlXWTNBRmFqQnp3WkJmZllnRmplc2Vn?=
 =?utf-8?B?WHdZak80MGJuamRybDkzMHBjcm5Sd2N5ZHJaempKellHUkgyOWpjaWlyZjZo?=
 =?utf-8?B?eXh0S0JIeDd3T1A4bGkwWnNzaHVTTjE5YnNoVGNZMzJETFlFRDNnNjQvSnlC?=
 =?utf-8?B?eDh1MmFFak9YSnlSNFVzTVIxMTY2cnBCbStXaVlvbDRjMzM5SVYyU2pQK2lN?=
 =?utf-8?B?S3ZjQW1ucjU3ZXFacnVnak5XdlpOODJVbzNRM0p4TzR2S1ZsSEs2dW5HWUZB?=
 =?utf-8?B?S3JoQUlzQ3JLTnE0TVpCenAzVFNKbmZ2TmF4cFJXVUNhby9Jek95UWd6VVh2?=
 =?utf-8?B?ZFcyMTlGUnJIUXhwaTNRL1dteEpEK3hadUZqb3BXc0RNYU00cVVCVUNGZ0or?=
 =?utf-8?B?Unh1ZDhSTmQxakZCei9NaERmK1NDVGVrMGxlVk5oQzRMQUllWGVvU3cycVZU?=
 =?utf-8?B?UFNRcTFCanN0d3g5NUdsVC9XdmpwSk8xNDhYdVNZbm1RN1lsNytHVHh6TUIv?=
 =?utf-8?B?ODJMWmxnc2xLcTBaMllZQ293YjdSaGxqci9qYXZLTGpYTVhQQkt2bHdpa0hm?=
 =?utf-8?B?OXhtL0t6L2RaL2x3SUFtcDBSUDZGN3kzSC9lUS9YcFo2b3BOakF3MmJJL01l?=
 =?utf-8?B?MnlyRklKZGZhM1Bvc2loRll5R21GWGpJcEZ2dEtsbHVoeVhJanh0anJtNEZm?=
 =?utf-8?B?Ryt4YS96RkJ2YklkT0M2Z2NsRjhzcE1FcldFR1dPS1JTS1h2aDB5TCtXdHpD?=
 =?utf-8?B?RXhoN3ZDZVpycUtLd1Z4Q1lxditWUmdLQVpoKzU4TSt0V0FPZmVtaVlGNTZF?=
 =?utf-8?B?YUYxOVF0ZVRSL1gyYm5JNTZjbmJzd0RGTW5YQklWMTRIdTM4ay8yMTNSNHRy?=
 =?utf-8?B?VC9JajAzRGp5Q2doRkV6SVhkaHlWa0h6WUJJUmJVZ2ErdlNvS0Y2alhOV3Nx?=
 =?utf-8?B?Vmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	ubn3jbNEWyHjDYWF760AzoS+H+epmTf/+7NjrVSROybtpTidJ8zFf11jTX4HUKrXRqMDFLOdVC7mtL5QruFS1uSF68IXe1dm9IlREeYh9o7AYVOSxnYywSj1bnRfui0vaw0vfbrxBS+jNbXauhewZxVu9C9pcccUbhaQx1W4vHJKULCGuXCB82Xpu9RQfdCu+Ok1sMWUyWeewBynn1bfdWNOwsoTCqWEYRj83+SL2pZJiYjk+JjkOvdtOw6gMlMMZwq0mw7AaPDynx/SH1sNhndQO4FoFor2ctclKBVhEKo3Q8zy75xbg8TaJGNpBUm5s55b3l/VTS832mJ6No225BRct0L/75CxupABHqqDr7GyODm7xGDzsxgO7cyEd0taJEP8fDkdNRekbKX556AZf0+rfSyK6XYHkpOheUH2mXBW5zSIka2JDIRLEL93s2YoeUpYiq1m+xRAc2ydJ0p7jiR7ZHwCv4s0oEU1OnTYQOLZf+DSfJGmr0AnN4qHNa1prE6aetmR1Stpe9ONa5g/pnc15LIhuKIeqtM1E7YxEZeiuZ/88aOPH4r1qnLnmde792M/dKo3otnNI5pcil5WMNcXOTEYTpkjkj1bL0HRHyoQhuqEXBf+eqlRKF0Xq5ry4CUJyqpIzqdZ7EQfFuosnWIvRdQ386fLnn1jAYsq2Xk+23o25f0xnTBT044Tziz29Od+WHWtFKPQxDV42Kyykbmbg6HYV/w0QzrHY1Kwtz75yfb55aB4onjH56Nd0vYnlzEkJ/kLHRNPDK7u6HmPhKxY8S3obCykpYWnD+CP7z8=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0680919a-f059-426c-07df-08db263c09f2
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 16:32:31.2462
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jDFU4R/Zz2jEiTU+o6YtNMpOugCoBvrd7H0q8egpvQaOlk4z42AoBsc0XWRZx5r7GAjjJReV2WxyHhn1Dki76Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB7143

On Tue, Mar 14, 2023 at 08:56:30PM +0000, Volodymyr Babchuk wrote:
> In that unlikely case, when map_range() fails to do it's job,
> domain memory mapping will be left in inconsistent state. As there is
> no easy way to remove stale p2m mapping we need to crash domain, as
> FIXME suggests.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> ---
> 
> v3:
>  - new patch
> ---
>  xen/drivers/vpci/header.c | 11 ++++-------
>  1 file changed, 4 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index ec2e978a4e..8319fe4c1d 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -162,14 +162,11 @@ bool vpci_process_pending(struct vcpu *v)
>          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_remove_device(v->vpci.pdev);
> +            if ( !is_hardware_domain(v->domain) )
> +                domain_crash(v->domain);

No need to remove the device if you are crashing the domain, so the
vpci_remove_device() call can be placed in the else branch of the
conditional.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:39:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:39:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510719.788950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqdf-0000PA-9z; Thu, 16 Mar 2023 16:39:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510719.788950; Thu, 16 Mar 2023 16: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 1pcqdf-0000P3-5Z; Thu, 16 Mar 2023 16:39:39 +0000
Received: by outflank-mailman (input) for mailman id 510719;
 Thu, 16 Mar 2023 16:39:38 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcqde-0000OK-12
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:39:38 +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 21d74ce8-c419-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 17:39:35 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 12:39:32 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB6980.namprd03.prod.outlook.com (2603:10b6:510:16a::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 16:39:29 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 16:39:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21d74ce8-c419-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678984775;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=4Igwr+PhT14ddqXJTKcC+d7miZR/SHZ/jqhKcQG2z88=;
  b=MOmwKwL73e6KzJNBIU4ZYqJnn7SHcHfeOFAgPTXEI0KASoG3p6E6XhYH
   szGmuZDPSmIE5SidiVM/9+trZMUvwSvukhavfDZ75W1jN7I6xhQnN8vBd
   2YGRmWWXTdA9DlQZB9FOiSIWF0w4r0PneAUDwcQcP3qLjrtz95gctsBQA
   o=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 101061098
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:hihvg64zB/EiwgAXw3Vg1QxRtNrGchMFZxGqfqrLsTDasY5as4F+v
 jRNXG3UaP6MZmD9eN5yYIq/pk8Au8eGzIJlSgc+/C48Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS4geB/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5mp
 cE4JDctMyC6hMmcmY2RT/dV1sYoM5y+VG8fkikIITDxK98DGMmGaYOaoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OnEoojumF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eWxXqjBttKRe3QGvhCgkCz+0sUDQAtaEK9pv+XqlaDCtVcJ
 BlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWXVHac+7G8vT60fy8PIgcqfjQYRAEI593ipoAbjR/VSNtnVqmvgbXdBjXY0
 z2M6i8kiN07s8kP0Kmq+EHdtBilrJPJUw0d6x3eWySu6QYRWWK+T4mh6Fye5/AQKo+cFwCFp
 CJdxZnY6/0SB5aQkiDLWP8KALyi+/eCNnvbnEJrGJ4isT+q/hZPYLxt3d23H28xWu5sRNMjS
 BO7Vd95jHOLAEaXUA==
IronPort-HdrOrdr: A9a23:3gKr5K8xJ2WlIW9fV+9uk+AUI+orL9Y04lQ7vn2ZKCYlCfBw8v
 rFoB11726XtN98YgBEpTn4Atj8fZq+z+8M3WByB8bFYOCOggLBR+FfBO3Zslnd8kXFl9K1vp
 0QCpSWZueAamSSuvyKmjVQ0OxN/DBEys2VbCvloEuFHTsaCJ2INz0JejpzyHcGOjWu2KBJaK
 Z0OvA31gZJFhwsH7uG77A+MdT+mw==
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101061098"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jvQZOj89snpfhDIag1Z2RXTQ1qmBHyZbafwTpw6SBlQBBkEpsHFujap5OXU8RQNjkTRMEIPBqec9xkfO+La311+ksk9kQiO6QKp/tJ2X7a2svAwTfzr24qvfHd5IJmuNGGFTmEtcDw2TtfQi2wHxp3x7D6FMnDhjKpmRqBCG4tkzDYJLxkv1wTx7wr1MRpzNy+qActjYJjd61RY25jhT5cQ6Kx6brm0mT4z4N+quIXNZ5Ie9pdHQ665kkH0B/rW/pWELlx3E2mYqkCr3CERPCprk3GgG5iWL9HuRex+0+6f0fh0raS+NauIgQ9fPOKVB+mdYMw305vdpFRYvUliUyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e4Y/IfAsZDMKUgAM9+PkH8rUoGUHG8O3E0KVlxvudLo=;
 b=ncDLW/kK5XTRP6mAcMBvostApCfKGPFV2F4SY5LiGP+aXa28OKVh79lYhoEpva3YucNZKenJd7bX/RrMwbLcZrzyX8slsbqeb6PZ9gZP3Kvnn8oZbWPh34RDKIiTfZXNZQaVg6/rQs2AP+umH5VHV+OSIWMLw29uWYwyd3wC2wnqekKyeyzDc7a+1O+nI9tpjrTQ4dqssxcresjdzmhehUyHkuXzkMHWtx9CuZkohn3g7sxQiFNwYeqnjymoke4ajg9PZE2n5NMApLCPiu3OkdjkHi9FYh5Jmpt8Ax5ZuDSRzf9Adctr5P6hebkUA58jEu5tFGLFpVPs2OE5Z1lafA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e4Y/IfAsZDMKUgAM9+PkH8rUoGUHG8O3E0KVlxvudLo=;
 b=rs0mou4DhDGe3zvos+r+mBKViyl6KgVzhi7fODPfd/3ybEDjVfxAhE0N9w8RgXtq5XyBDsOq3JCjzKSOjTqNfSUKQn09zuRXFffTKjTSLYnSIVAx4iRd7uvDvVAs0r1+1MwTVEDEgVfQg1RyKYKvMET4vNR9SGsoZu4bBTWfX3M=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 17:39:23 +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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 1/6] xen: add reference counter support
Message-ID: <ZBNGO7/NY0VQQM/f@Air-de-Roger>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
 <ZBNBhS2I4XWkwXr0@Air-de-Roger>
 <dc31ee54-b6ce-3251-ab0d-487d9a9bfd35@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <dc31ee54-b6ce-3251-ab0d-487d9a9bfd35@suse.com>
X-ClientProxiedBy: LO6P123CA0026.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:313::17) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB6980:EE_
X-MS-Office365-Filtering-Correlation-Id: fafe14da-2ff8-4e9c-315d-08db263d0348
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bD1H/mnDkjooex+w+PMfoHb/uNnC8O/d+R2xhyIhFVurJ6rZ9bKWP+vVNiFQiZLZXsvibpK10buQu5KTkHkxEsS1sHy45g5dd2V59F2KtWoLVxzKK4jtfSBE6JTWgVy8nKGuHZkc5JEgbBm0L2fL4KKJcsqpHNg3Ezq4A83N9dXMGtfOj3uMBJTDRsQtyGgz3jskLugIqQQQCkzGsA0uVioxa1G/m6rP8WZrhrKTPA5uOV+LhEuYfmlCdEGbjqkZXSS6HUn9NrMmLjnkd03Qw9GxYxDuDZSkqZBlNFHk2Hxj200WxcoMO0PQwBNRvX85tEMOi2prJJeCOIo1TkC5Q5g9hEtl0Dou0txrBG582sJV1klLZAmsmZJYEGDst7Uu2PmC06xSotAHBpNpdpR9DVuWiWEiXncL5MYezfquz8/96al8BQnEQJNvbdoeSahfxjQfAuWAJ+367tLHGBYYZTAo9kgiUARlbz40/ObxaukUK5h6XZl9xp+CLKPi7NDBGE7k3XBUuPJkhZdzFALJJllnYjm33FDnagmv+vszqqpEmf12Yu496mt9f1Ox+oBcmLkZaYvQSBT4WYdcN8I0gYUYPQeVj1NL0TtCTVPNsW4GOST+jImpLDP58OGd+YW7AqzCnzH0jwi5UDkFxlzTlQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(376002)(39860400002)(346002)(136003)(396003)(366004)(451199018)(85182001)(82960400001)(86362001)(2906002)(38100700002)(41300700001)(5660300002)(8936002)(33716001)(9686003)(6506007)(6512007)(26005)(186003)(53546011)(4326008)(6666004)(316002)(54906003)(83380400001)(66556008)(66476007)(6916009)(6486002)(8676002)(66946007)(478600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWNDMEVPTERWWEhHcHdlYXg5aWdPMUxibHZ3dEltdkFrNmRnZTdCWFZVai9V?=
 =?utf-8?B?Z2hMei8yNmZ2Y1ZaSFc3UlQxS2VkdmU4ZVljTmdnNzdDMmE5RnRCQWdYOTFi?=
 =?utf-8?B?aWx2emQvNmtBVS9BNFVzZkw3OGpObjhiYUw3N3RSK1pZNVdoaFhlZWVLc05k?=
 =?utf-8?B?WVQvZ3krNkFlcGZvb2xTTkVwRzFWbXVDSGo5TG4xRFdYc0xYeTlsWHdKOEVW?=
 =?utf-8?B?RHVoeGV0WCtRTVduVm1HQ3NMalNmRHBpd2pzdlExK2huUklnZDhySVpjQVJ4?=
 =?utf-8?B?c2g1M2lnTURxaXVmYldRdE5tUFk5MDZBdVVrdWxrc0RFQnVuNklCWHFqQTd6?=
 =?utf-8?B?bkFQTUxpb3NkdE9pbUlzOXVZN2Y0cTM5S0M0V1pmaDBFNGlpRDNadmFabVY5?=
 =?utf-8?B?MGxvK1JMWVpkcXhPTDE0Nm9FNndIYk9TOWpNaElSaHBsZEFwS0dBQ3pLNVlR?=
 =?utf-8?B?bXhKVkpGdHdBdTBBUmVTU2h3ZE1kcTVtZDJJeEM3K2Fkdkg3a2k4Yld1Uk1I?=
 =?utf-8?B?L0ZDbkQyUDJGeVJCMHFUWHpzOHR3UkdHaTR4cU1qT3hFUmR3WktBV2FHVnAx?=
 =?utf-8?B?L250aHEzVHFiQThXZUhRRStVbWxmSEJxOEczTnJZMGdBaDlEYlV0ZHQxYjNT?=
 =?utf-8?B?Y3NiMGwvb1I3WE1MSkc5QU5XQ1cya1JjY2UwUURRSHhualcrcjY0VitlVWRj?=
 =?utf-8?B?ekFDeG1HNE5UWDZINVJld0ZmcTVaOW5hNUtzYkxYcjlscWkrdGRIZGVFRC9O?=
 =?utf-8?B?QTB0MVo5MWVraUZIcnQvaUZlNnJ1eGxPZjRsekZHM2xOUEZKbm5rWVY1dHJo?=
 =?utf-8?B?dFYzVXZmK3lqOG9iSGZ3cFhZeGdGM3FrUlVjcjBSVDk5cjcvRkR0ajkzVDFz?=
 =?utf-8?B?VlI5Z3gzU2J3c1cveWpLY3JOYlpmWHJiU2x2eTUvbXd6YmFVd1BCb0hnN1NB?=
 =?utf-8?B?Wkw0NjB2RC90VU5mSEhqcTRhc3UzYTBLYzNaWUFSa0JVZTlKSUJkdmJwaGFH?=
 =?utf-8?B?TXNWR2VPVTlCNFAvZHBQZStSSGpDN2x3UnhZN0RNUTJVdDUwY0g2UnIxOWV1?=
 =?utf-8?B?dUJuV1QwTDJTb29VUzgzeUlOWDcxUTdCY1J0Z3hySVcra1p0Uk5vNVNWYk84?=
 =?utf-8?B?TnV3aW9iOG5iM082c1FZWTJmb2VWZHNCd3hlU3c5QkVzZmdHZG8wSGt5QVhk?=
 =?utf-8?B?MTBWckh5dkowU2hQaVlQQng2TnhTWFVSZE1scDh3S1pzbS9JT3NtVGRNVFI2?=
 =?utf-8?B?UHhDVWUzWjM0OXNOc29HZW9yV3pOR0VMNGZOdHlIMFBWcE92bHRnM3dZZjJq?=
 =?utf-8?B?RzZYYkwzWTNtNDFNNFlPYmpJcTBITlJYNTMrRmZSdmhqNkpMV3NmZms4ZWhL?=
 =?utf-8?B?bVRHcFBXd0MrUHVHTi9HajFUVy9FUUNaV1JiQVdLSjRQTjZaMWU1T2crTWFs?=
 =?utf-8?B?N0k1VGttUDV0Mmh3WmlXem9Tdnh4dDQ0ZVZqZHJMR3A4Y2FEdVFUVlprZ3FF?=
 =?utf-8?B?UkZHelZqcEo2d01yanpXZkZhYUxGaHJ5OWlJUWJkYWZEcjhqZDRHOE5Rb05T?=
 =?utf-8?B?bTM3UldUSnRCSkgxK0NyUmdLSFc0OEc0cXZQVUR6ZVpVblUxVHFRVzRQc0Ix?=
 =?utf-8?B?YlZ5RjRLL2YyTmdqeWwvbmNNMmkxQk1wUkl0Nk5UbUU3RVdKU3lRZG1ONktk?=
 =?utf-8?B?MU00d2R0UDkrSHk1bktOSHVBdG5FZVQrZEEwODVxR2YvWkp3bTJiREVRcGNx?=
 =?utf-8?B?T0VmUHZ1QUlHQU5tb0FDRmRKRWc5a1l0NjNMYys0RTJ2cldFa1FvbjJFUkxL?=
 =?utf-8?B?c1FTYjlib1hmVDB3NERDS2tEQ2NhTEVCN0k5bC9oUmJENk1KRDVZU2lIbXFu?=
 =?utf-8?B?bDVOMW9jZ0tLN1ZwVURRaDFyRENLc28rcFVDVTl2ZTNvb24zOTYwampFVlZC?=
 =?utf-8?B?MzdDK1lIZ0VzWjZlZnlzdTB5RS9FZ3VNSnVqRW9hQWRocnM0cEF2bHNZemt0?=
 =?utf-8?B?TjVMVktyd2RnWU5YbzdMVFhOS3JLWC96L3ZzTE14VUVNcVlKQmNBN3VJbUZX?=
 =?utf-8?B?OTlyRWtMZmhCQ2I5dnZRMEdaZDErQUFzQ0hsMW5iR1VHK25naWVzQ3ZvMkFQ?=
 =?utf-8?B?bjBLZ3AxcWRJVG1oRGVJY2s2d0xzdjhDVDJGS1ZrQXArR1RKdTVHVFk0UVpS?=
 =?utf-8?B?TkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	UCdkAWKHmE9p5vHw9bb95cSbtQsb3scMMhUCAMdqI5Ld1bnTJyObCvEDXju040ysklYZVMQQcmE1ZCCsrSZz9mT4RDA4jsp3hOIZnbgLzc7qElWioO5vEnwasnIic7MbFErcq3iIP6c3C0xEevP/nQ4KSpPY5a4gWi4wWmu9V9n2AlgpRsHNK10nl/q0V4SekUBRxOMXrJPh2ApTx0X3usl18/Zfkvw6vBsGRMAt9pBJP/WS4okG0pZ9M9i/rPpQ+8Pkfpa4fTa1Qe1dPNWyFdsbh+QxoNhIiMjGuW318jaQ7InDGLUYlmr9gC60HS3bFMVuXzP6H8DsuNUnewsilmoQLk10co8UW1wKBYuz8x4MwgkLwbCPjUzqHSeUPjDI7xTayIr8QyfIWwU9swdlhzTuUPj9UPmvJls9BBEC1iR9KyGz2hYjTtGplkkXMQXuiAbRhmSNOHWNQYHvCqi16eggQNOarejBwmKcLjXSivVSnEXA4e0rviYOnsNW5oDEy6Kk9gwPeGA7RKjbeKEiqLRVDpQSIH2R+lnGPUAAZLbObPRbGcCCs4epdtRUz/IFmHqL9nRHMKCpNOe/ec5A+Pzs1rDfW3E4Ox1BCgXfKlIsPDlxi25Itqx0qAMsV3duSwkZYBWFA0gr/wcmKnFJoB8gRTB/Ct5sTQVS8WxtezA9xlXOBI1GbgSWA7KyYNYgH6Nqs7ZC6FbmHC7c1WUhULnEIVL1rDj+Z4CVzy+8WyJFhqUcT4WSl7GirTQTdc3LiuaBxD2v2GHYKTnzGzv2l7BdvBWgGG/dQXxZPhepgZwFxa2Xo+aj7csCBIOtgvB7LNJENCl4iplkHk+77eO5pL+pDobaRwYHds0t3IAOJC1Qz6Fyx/IM9STp/gZs6lnu
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fafe14da-2ff8-4e9c-315d-08db263d0348
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 16:39:29.5480
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JaI4OL2kTrv2IqKqJrjGm7accU4hJj0fTCw+jowv0cTL19MvWDjbSaS0E9p6ER0XFXXm4scS2V9n7rWdqTtfiQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6980

On Thu, Mar 16, 2023 at 05:32:38PM +0100, Jan Beulich wrote:
> On 16.03.2023 17:19, Roger Pau Monné wrote:
> > On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
> >> +static inline void refcnt_get(refcnt_t *refcnt)
> >> +{
> >> +    int old = atomic_add_unless(&refcnt->refcnt, 1, 0);
> > 
> > Occurred to me while looking at the next patch:
> > 
> > Don't you also need to print a warning (and saturate the counter
> > maybe?) if old == 0, as that would imply the caller is attempting
> > to take a reference of an object that should be destroyed? IOW: it
> > would point to some kind of memory leak.
> 
> Hmm, I notice the function presently returns void. I think what to do
> when the counter is zero needs leaving to the caller. See e.g.
> get_page() which will simply indicate failure to the caller in case
> the refcnt is zero. (There overflow handling also is left to the
> caller ... All that matters is whether a ref can be acquired.)

Hm, likely.  I guess pages never go away even when it's refcount
reaches 0.

For the pdev case attempting to take a refcount on an object that has
0 refcounts implies that the caller is using leaked memory, as the
point an object reaches 0 it supposed to be destroyed.

Returning success would be fine, as then for the pdev use-case we
could print a warning and likely take some action to prevent further
damage if possible.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:43:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:43:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510724.788962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqhB-0001vW-Sb; Thu, 16 Mar 2023 16:43:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510724.788962; Thu, 16 Mar 2023 16:43: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 1pcqhB-0001vP-Pw; Thu, 16 Mar 2023 16:43:17 +0000
Received: by outflank-mailman (input) for mailman id 510724;
 Thu, 16 Mar 2023 16:43: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcqhA-0001vH-CP
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:43:16 +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 a4aad481-c419-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 17:43:15 +0100 (CET)
Received: from mail-bn8nam04lp2049.outbound.protection.outlook.com (HELO
 NAM04-BN8-obe.outbound.protection.outlook.com) ([104.47.74.49])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 12:43:10 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BL1PR03MB6070.namprd03.prod.outlook.com (2603:10b6:208:312::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.33; Thu, 16 Mar
 2023 16:43:08 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 16: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: a4aad481-c419-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678984994;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=0h27xBPArc+93u2anT6giWJ02zaElwMA6WGZ/NA2wWc=;
  b=O5aKRfXLLG5nqQIPxw8SQpD6VE0N96E+7ARb9Q0ltr9YsV1hlGMp0Yo3
   gL5B218Y+fI/7dTpeIemqoa+F2caOEFubXW6Vn5YvaHfYTS2rRtElF4y+
   wTdQUcoNIzzu3lZ6v8SnJ8NPdp2CVyUWIqjIu2BbeX0BoGuaD3rLhm8kL
   Q=;
X-IronPort-RemoteIP: 104.47.74.49
X-IronPort-MID: 101152086
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:gwb1nKIwbm9WaehNFE+RI5UlxSXFcZb7ZxGr2PjKsXjdYENS1TBVz
 GtNDW3VaKmPajegeNp3OYW18B8E75PTnYAwHgFlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QVgPa8jUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4nXTFU3
 7sYMQlQd0m/msKrxJGkTMhF05FLwMnDZOvzu1lG5BSBUbMMZ8CGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/VrpTSCpOBy+OGF3N79YNuFSN8Thk+Fj
 mnH4374ElcRM9n3JT+tqyr137KVxXOlMG4UPLzk5OFYgxqW/HQSLDQPS0q88eawpWfrDrqzL
 GRRoELCt5Ma8E2tU8m4XBCipnOAlgATVsAWEOAg7gyJjK3O7G6xGGUCTTddZccm8tc/QTgrz
 laFnvvoAyBitPueTnf13rCQoDCpMC4ZN1gedDQERgsI5drkiIwrhxeJRdFmeIaulcH8Ezz0x
 zGMrQA9iq8VgMpN0L+0lXjDjjSmjpvEVAg44kPQRG3NxhlwaoeoY6Sr5ELd4PIGK5yWJnGBp
 HEsidmC6/pIBpaI/ASdELslH7yz4fuBdjrGjjZHE5A/+nKt8ni4cIZ45DB4OVcvM8AYdDuva
 0jW0Stb/LdaOHqna/8xb4/ZI8Ery6fnPc7oWvDdcpxFZZ0ZXBOI+DFGYU+Wwnz3l04tgeczN
 P+ze8G2DG1cDr971j2oXOQM+bgxzys6yCXYQpWT5xaoy72Ff1aOVKwIdlCJa4gR7qSfrQv99
 NpSLc+DzRkZS+CWSjna98sfIE4HKVA/BIvqsIpHe+ibOA1kFWo9TfjLztsJcodlnq1Tmc/I5
 je2XUow4F7+g2DXbAyBcnFLdrziR9B8oGg9MChqOkyns0XPeq6q5aYbMpExLb8u8bQ/yeYuF
 6VUPcKdHv5IVzLLvSwHaoXwp5BjcxLtgh+SOy2iY340eJsIqxH1x+IItzDHrEEmZhdbf+Nny
 1F8/ms3maY+ejk=
IronPort-HdrOrdr: A9a23:Nkf1qa7aPy9MB+8goAPXwATXdLJyesId70hD6qkRc20vTiX8ra
 qTdZsgpH3JYVoqKRQdcKm7SdS9qBDnhOZICOsqTNGftWDd0QPCTL2Ki7GSpwEIcxeeygc379
 YYT0ERMqyWMbFMt7eB3OB6KbodKRu8nZxASd2w8548d3AIV0i51XYINu9AKDwJeOCaP+tEKH
 NB3Ls3m9LOEU5nEfhTz0NqY9T+
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101152086"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YxAM+vcZJVkPHNmAS0LEekjTgYauiQ1Lx42/O2tbOp/POzsuNXkGHGacstzo8L3Nxxeu3qrOlj/A0NeSPuHtWp1fKdMtO/KhWfLj+JA71MHA+RpNgCJ180lC6mr0t775SYR1ef3GXI2edxCO9wszpcc8ATPcs6x6j/KQmoEHecbURVAVaOR/Ft4v7BFQuREE3oEcfKw64pp6rhBgaxTsUNqoPwj5GTjTIzfZIiTmW9uaPkIj6GQpAa6MSdkO1WPImCO3IyPyO5GdunY0LuG6Z4/BMGdZxUoDMwJVw+Bu2RJhU0IhT6Ikyd5n4cpaGZivHAJ6PMVKOPiN/Is3SMLO4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FnsesX4MP7QQGRTtFMaZrcVrqunX9YwGekrbHQ4HpvA=;
 b=kABW4WmNfemYHHUGON1YauA+uZC0v+PbaNbAqnBJDHVm80WfCGXBs+pzmqV8f2JxXr5l5+N6o3rLlQY69BtyjtzY9aFgVTEFLxNxawpBAJ3hFePTcA7J/6R1ri86EOorCEfHNNDpFJcNLsFx9zTwSJeo71JZS5Af8O0yYaoSMeWLZ45qezHSLZmAq6oAM503Y0qA8Kjsj7Kp7RMQ3/tmcnDnb7bOJ548t2jAYz8XRBfM3s4t5VVkcBSPtJG3z6k/5TVja97IaNCRMTYYfDvHHCKLO5RkzNymqLPKJE1l/6ddg8H6DYn5aJ6IFKiSDz6Y+yxUxAqjIw37bVNH7/q2vA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FnsesX4MP7QQGRTtFMaZrcVrqunX9YwGekrbHQ4HpvA=;
 b=LRyn0emPlbEQUb2hVlb3r04StOTo/Mp86u2XCC6Po8xDmSCbVu2Q8qc6dpmkH3+hSXv6mroIV+/UTwCMykBxZcZ03cMbWqo8paa+DeeHMtLMPMqhyWRgl8RwQ/8Mv9Oa+Fx+Y2DtDYA868swKdIm6x8W728lTTKu5CkK+mCueWw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.org,
	josef@oderland.se,
	Roger Pau Monne <roger.pau@citrix.com>,
	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>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Alex Chiang <achiang@hp.com>,
	linux-acpi@vger.kernel.org
Subject: [PATCH v4] acpi/processor: fix evaluating _PDC method when running as Xen dom0
Date: Thu, 16 Mar 2023 17:42:56 +0100
Message-Id: <20230316164257.42590-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.39.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0466.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a2::22) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BL1PR03MB6070:EE_
X-MS-Office365-Filtering-Correlation-Id: 7fcc2b93-16bb-47f4-581d-08db263d85ae
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LM3agCKjKzDUmTh8UZlrZ+L+/TuuqdEf8uOROi8EqdDRsWYfSKjg8jIMeOZ0LMaQBj0BkX2vjLsaMEr5J1oIuSZxv69XAUxKkNuqpUPC4uvK4Q6eEvUjN2fU5NMTc9HnxsmuQlws52HgMFGBSpu0aAroqflJHLUhqxDNPyubMKMgwl+LolXQld2czGKeC4rlX8VdHs/1+81SdpRPlR31BLytmbc94RtADUOYhawQ5PKbe5zup4KYaX09uJgtBDz7qxToBYaok04k283vH5c+//7mxWNFcJHbmdCkTL9Per6M0vQahNZCnzTbzuD/OLTrutHR8XZye/BHPM3HWffYdOfoamUXGXzMvK10pocsZ/+MwU83bsfeyWIfjuueeJ+u3T3c7XhSuTR/MgeiEOiZf0ZdkrNW26UCNvb0tifq2q5GWZPQRBFHp0TLADy3CjZ6nhoG/1PlCC8Q/QmIEXC8xcv+UFn3gt0zVjheswq8YoUuVeNmcL+JGz9d527O3OwvhFxCYObTDTiLehDHNucTJMT+2PxfP2r/M6/tx2gmu64EoLheCur/SemjT3Z/e6dQIQ7of5ysSUldA/3lphS6vKUcn72eOUkOAKw1jdwSYawXWw0m6NnHWBhQm3LSyzSNSD3t66djxXsdN9MhFlfGgQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(136003)(366004)(39860400002)(376002)(396003)(451199018)(36756003)(66476007)(66946007)(66556008)(8676002)(4326008)(6916009)(38100700002)(82960400001)(83380400001)(2906002)(2616005)(6666004)(41300700001)(6486002)(7416002)(5660300002)(6512007)(8936002)(26005)(6506007)(86362001)(186003)(1076003)(54906003)(316002)(478600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RWlpMUE0b2ZObVBVZ3ZBZ1Z0c1NSVU5DZHZ6b3RJRGljR2kxWGhNeDE3Y0FG?=
 =?utf-8?B?T0MvY3Y4TEJNUFkwU1N1N2ZEWFJEVzJON0gzRDc2UkRHRkJBZ3pZNExadENj?=
 =?utf-8?B?WDgvcUxiazNtMHgwdTVmQ2R0MnIwM0VWL083dkEyaEhrMzg4S1JkaDBYZllE?=
 =?utf-8?B?R1pEMUlQUkl2N2Nvc0xzUXdycDVFRTJycnljRFhwWXVnM2FoNGtKZDh5Nnht?=
 =?utf-8?B?WVdtUURyUmJYbHFWVUI5M3phbXpsUXJrSkVqcHpTMEdLbjZEdDVwTktUd1JM?=
 =?utf-8?B?Q1psNXFXRUlKcFB0ek5qdVdJRGlZd3cwdHJKYU9lLzRUNWs1enN2WTdjZk43?=
 =?utf-8?B?cUFIeHlNOHVBQjd4c2pMZFdyczlnYWRmQ2xLbi9hV1RNcE5lRUNDdXUraUFH?=
 =?utf-8?B?UFZ0VjhkNHJXbnN0QWtnNGJJeVI4bWJ2Y2xtdjBCeTFNd2RjTHJ1Wkl6OWt6?=
 =?utf-8?B?ZVZvMnFjVW1uYW1hVklvWWMyQ2FNZVlJbHlybGNYTUIyZm9teHJyQisvZHBO?=
 =?utf-8?B?a1FKYm42ZUszVlUyM2R5c2xqTkZlMkRyMHZqT3dqLzJpQUtnK2VmZHVsVkdR?=
 =?utf-8?B?aUNzdlhSWGRJZkt6RU1tSXlsaHN0UkZNdlNrZklxZ0wrMnRhVlZCV3NraWl5?=
 =?utf-8?B?WXNpQWVSOFJncTVJOWg0ZEpsOUFmWXhVYmFIMmNVSEMvTGlEL1hXN2tRcnBj?=
 =?utf-8?B?dXNtdERUemxJSGlRMmJIRGJUd3psRWhMbnMxMWFzN1YzbVhRa25UY1ZhYTJu?=
 =?utf-8?B?NXhuSVVNZFQwOWhVU1l0M3dwb1FtZ0JwTXJXaEFZeTJHMlBIaVV5S3oveFll?=
 =?utf-8?B?NXFieUZESWo5UHpUc2RzZFRxeUZTZEpJRjE5TW5xSWl0Ylg0YzBSLzgwdE1F?=
 =?utf-8?B?SWVib1ltbGVwc2t1a1FRVkR5REhJVXFTYTV4UmMrNVlNTkV0TWZtWUtuczQw?=
 =?utf-8?B?aENPREV1ZmVlNGptUFRHSnJpZDM0aHVvdnJuK3pMampGTDlGMnI2MmFwQTU2?=
 =?utf-8?B?VnJpdnQ2eHFVWjJoemY2RDcxLzJKYTdYbXM1WDgzZ3dXNHBTdm52MjQxVHFi?=
 =?utf-8?B?cW1ZcHN5bThqNGlLZ0tIdmI3QnE2bHRPdEVheGV2c0txSXA1WDhtbVhDbmt5?=
 =?utf-8?B?V0V0RWZDNG9laVhWR3N4Q0wvOWhEYnJTT3BqVFROS3dPaG1kb2pMSHhSbE9D?=
 =?utf-8?B?ZUI1a1dZZTcyN3F3VXRxNEtzcjdmTWpTOTJZS3VvNFliWllsbTFrakVrSjFs?=
 =?utf-8?B?WUpiZEpOREh6RHMxTklodnJzajlrNmErVnV4QXNwUnFXeVUzQ2ZwMEc0QXJF?=
 =?utf-8?B?WnFjc1dLSjJudnpBeVBJZVdkUXhnTzVCYVNHc2RsMGhNQ21Ed3JGMDRwN0Fv?=
 =?utf-8?B?Nm5HT1BZLzQrbUZ6QXZMV1R0ZGw3SUdqYUtpWXoyZDlqYjhlUytXUHNKMGpV?=
 =?utf-8?B?azlHcHpiR1NiTzdPTHhHWTBZc2dFelBBcjN3aDMvaXBkdlRONTBzZ2h5OWEw?=
 =?utf-8?B?cGNnZzlsVUVTdTIrL2c1aWQ3UUZxZ3N5MCtRK1d0RUpmYUJsaDlpWTJSa0tz?=
 =?utf-8?B?M3E0QWVZY0dxSE1sZjJVRmxETlNndGRWTWFZOFZVUnlFQkFzcjJvMFRRQjZy?=
 =?utf-8?B?dy80VTl0MXc0NVlOWWdjTVkrNEtaL3VOZWJ3bW9qYUM4WlQvdllMOHNMY000?=
 =?utf-8?B?SEpoWjJiWFo4UklzN1ZUc3lLa3NOTzQ5dlJnYzNmN2hNWStRZzNaYXI2L3Ey?=
 =?utf-8?B?RFZvUy9RTGFHTlNuSVRRTzRsSkFHVzk0QVZiRHNSNDlyR3kyU3V0eFRPTXY4?=
 =?utf-8?B?S0pYYjdVUjhsdFFvYkFTQWN0WFc2OWxTYkhDb3NmaHZ2UW9odkk1MWFOQjZK?=
 =?utf-8?B?Rm5yY3VDOU8zU2RIdmQ2RHJnM3JPeDNNMjM1eFFHTUVQVDRTYk9Eci9lZjZw?=
 =?utf-8?B?R2V4NHNnWDhaRUF4WkhTOUluaVR0VXFRcXR3QkJBVEhPa1BMNnJNY1VBeUxi?=
 =?utf-8?B?NmphaHFhTXlTRVNqQTRwbHpabmhXZlVtS093UDIvNkk4STM2ZWY3NVp2SWxJ?=
 =?utf-8?B?WFY3dUMwaDduYzUrZ0JnU29zN29SY2ZmL0hpcTQrTXo4NTA1bnI5dTFRQWlX?=
 =?utf-8?B?VXJXK2V0Zmd2VjhRc0lFa3dqbkdtNk1TbW9mV0pkeEJVTmQyQkd6Zk84V3VL?=
 =?utf-8?B?dHc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?QXl6U0MwNWY3ekNMT0ozZWV3RGVwWmF3bVhZS1dGY0JrR0tNWnRJeDFxWnpi?=
 =?utf-8?B?RTFFYjFsbTJtZmU5clBWaFVESGNsU2JSSEhXWFEvN2JWM1FpRTJxOEtBWHVj?=
 =?utf-8?B?VG95bC9kSHlXNmhjaGYyd1lKVzlDMVpxRzdpWUNEWUQ1WFM5allZZmwwbWZz?=
 =?utf-8?B?T2x6SzI2ejBSVFJTaTcvUWxMTURSNjYxcHp3WGNjWjhqODhXVVVXV3NrYzJz?=
 =?utf-8?B?Tm02UE9VdGRnbjNHWHdWVHJjZFNWR3hXcXRMWUhPR3I3amVVcFVQbWl4aUlj?=
 =?utf-8?B?ZUFOaEZERm4wWExVZmpPTHFGb3NPQWZZSmRLSmd3U3Vra0RlVnVBNDVXWTZC?=
 =?utf-8?B?elRhb21YRVIvdEpONzJET3FNNTRsYTVjRU56QlV1MkNvRkU4NGJvdi9tK0Fa?=
 =?utf-8?B?TkhtNmhTZUI5TnlXeE1RS21WYTJneTJTYXpQcGh1UEd1OFJGMjVPV0Y3KzlU?=
 =?utf-8?B?MFpQaHFDTFQ4ajJvZ3d2Tmc4OTZneVg4R01VMitqcy9ZL1F3SFpqYUdUVzhY?=
 =?utf-8?B?Nm9MZFdNeTlOWGpiY1hWa0haY2ljM2I0WW80RmlURTdWNHRSSUhwclhOSlJJ?=
 =?utf-8?B?QzErVm85UTZQdlROTlBKVEhuV2hlbTNEUnRVOWQyalpweWlRbmRMQmF0aVhJ?=
 =?utf-8?B?RHBmakFUdW9iOHd4clJzcXFHRWRrRXo1Uk95a2o5MVZjRjlzRFJIbWVBYmxV?=
 =?utf-8?B?aDNCc2d0QldaSkJMS2tvZmRzenZsSllOV3lONGNmS3g4QXlQN0xMV25ST2w1?=
 =?utf-8?B?eWpmcTh2NmpDS1lyeGZpN29RZkR4OHRwSWdlU2FubTNqR1BKcXNoZ2w1YUt3?=
 =?utf-8?B?N3MzczRaSm5ibUREcitLcG42WCtDZi9mZ1FDM3RqT0FBUzBheVFhcFVwWkhD?=
 =?utf-8?B?TlBOOVQrd1lsY1V4NnFrb1MzTHFSbXhOZnBvUXQwQk82ZTYxZlRGdnNpV0FK?=
 =?utf-8?B?ZW9vcWxTeWgweWdITml3ay9GdjdRQ3RLa2pJcEpYT0lOWlc4djBweDVkeWxV?=
 =?utf-8?B?T3FscUxmZWVXdkNDZ1JEdFdFQ1RCS3p3REF3VzBUR3RZd0o2R2ZMbHFkczlj?=
 =?utf-8?B?cUQwL0UxVWZhTHdGeUZ1TUJ4MHVTQktpS2dyUzFkZUh3UlNDcUU5ZHlVWjhW?=
 =?utf-8?B?VUlySkt4eFJTazZWM3ZWNnVjSmZVN0NMT3FaY1RzZC80dkZDZVpERXdIQW9z?=
 =?utf-8?B?bEdBY20yb0liTFkzajhuUEZJa1ltblZLRFV5RTgwSU55OERjUkdZbU00S3RG?=
 =?utf-8?B?MjcyaWFnYjI0UmNqV2hGSi9xUGNMQlIwQnFGTm9SQkx0MnI0bDc4OUNIV1RC?=
 =?utf-8?B?VE1RZkppSUFsVUR2NFA3SnpxREZYQTkweGdPdlVuQkh1TnBMOVhwVWM3ckg5?=
 =?utf-8?B?NWExZzQ4bjd1aTVPaEp6TUhzVVNMd2VjcU9TVk5oMkVqemcyQUFvRnRRM1VU?=
 =?utf-8?B?TWhUaHEvZk8zdTVWMjNUYUwvMEtPczdmeVhmWDZMV1BWbXplU3d3bzV4UWxx?=
 =?utf-8?B?QmszSERKcDllWXhuM2hHTGtPWHBoQzVyS2hNRzNzY1JyRTZLSnRoSW04eHQ3?=
 =?utf-8?Q?MoUKWJKPG2FVYojI2ppWj5OK0=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7fcc2b93-16bb-47f4-581d-08db263d85ae
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 16:43:08.3509
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CPD5ew/vULg0jRHJzybHXZO5K5u/qoWmhzeZSoH3/+2Vmhf9AavM8QfMKc1u1mW4uZzYCh8e07TQs6+CoDtXdQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6070

In ACPI systems, the OS can direct power management, as opposed to the
firmware.  This OS-directed Power Management is called OSPM.  Part of
telling the firmware that the OS going to direct power management is
making ACPI "_PDC" (Processor Driver Capabilities) calls.  These _PDC
methods must be evaluated for every processor object.  If these _PDC
calls are not completed for every processor it can lead to
inconsistency and later failures in things like the CPU frequency
driver.

In a Xen system, the dom0 kernel is responsible for system-wide power
management.  The dom0 kernel is in charge of OSPM.  However, the
number of CPUs available to dom0 can be different than the number of
CPUs physically present on the system.

This leads to a problem: the dom0 kernel needs to evaluate _PDC for
all the processors, but it can't always see them.

In dom0 kernels, ignore the existing ACPI method for determining if a
processor is physically present because it might not be accurate.
Instead, ask the hypervisor for this information.

Fix this by introducing a custom function to use when running as Xen
dom0 in order to check whether a processor object matches a CPU that's
online.  Such checking is done using the existing information fetched
by the Xen pCPU subsystem, extending it to also store the ACPI ID.

This ensures that _PDC method gets evaluated for all physically online
CPUs, regardless of the number of CPUs made available to dom0.

Fixes: 5d554a7bb064 ('ACPI: processor: add internal processor_physically_present()')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Protect xen_processor_present() definition with CONFIG_ACPI.

Changes since v2:
 - Extend and use the existing pcpu functionality.

Changes since v1:
 - Reword commit message.
---
 arch/x86/include/asm/xen/hypervisor.h | 10 ++++++++++
 drivers/acpi/processor_pdc.c          | 11 +++++++++++
 drivers/xen/pcpu.c                    | 21 +++++++++++++++++++++
 3 files changed, 42 insertions(+)

diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
index 5fc35f889cd1..990a1609677e 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -63,4 +63,14 @@ void __init xen_pvh_init(struct boot_params *boot_params);
 void __init mem_map_via_hcall(struct boot_params *boot_params_p);
 #endif
 
+#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI)
+bool __init xen_processor_present(uint32_t acpi_id);
+#else
+static inline bool xen_processor_present(uint32_t acpi_id)
+{
+	BUG();
+	return false;
+}
+#endif
+
 #endif /* _ASM_X86_XEN_HYPERVISOR_H */
diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c
index 8c3f82c9fff3..18fb04523f93 100644
--- a/drivers/acpi/processor_pdc.c
+++ b/drivers/acpi/processor_pdc.c
@@ -14,6 +14,8 @@
 #include <linux/acpi.h>
 #include <acpi/processor.h>
 
+#include <xen/xen.h>
+
 #include "internal.h"
 
 static bool __init processor_physically_present(acpi_handle handle)
@@ -47,6 +49,15 @@ static bool __init processor_physically_present(acpi_handle handle)
 		return false;
 	}
 
+	if (xen_initial_domain())
+		/*
+		 * When running as a Xen dom0 the number of processors Linux
+		 * sees can be different from the real number of processors on
+		 * the system, and we still need to execute _PDC for all of
+		 * them.
+		 */
+		return xen_processor_present(acpi_id);
+
 	type = (acpi_type == ACPI_TYPE_DEVICE) ? 1 : 0;
 	cpuid = acpi_get_cpuid(handle, type, acpi_id);
 
diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
index fd3a644b0855..034d05e56507 100644
--- a/drivers/xen/pcpu.c
+++ b/drivers/xen/pcpu.c
@@ -58,6 +58,7 @@ struct pcpu {
 	struct list_head list;
 	struct device dev;
 	uint32_t cpu_id;
+	uint32_t acpi_id;
 	uint32_t flags;
 };
 
@@ -249,6 +250,7 @@ static struct pcpu *create_and_register_pcpu(struct xenpf_pcpuinfo *info)
 
 	INIT_LIST_HEAD(&pcpu->list);
 	pcpu->cpu_id = info->xen_cpuid;
+	pcpu->acpi_id = info->acpi_id;
 	pcpu->flags = info->flags;
 
 	/* Need hold on xen_pcpu_lock before pcpu list manipulations */
@@ -381,3 +383,22 @@ static int __init xen_pcpu_init(void)
 	return ret;
 }
 arch_initcall(xen_pcpu_init);
+
+#ifdef CONFIG_ACPI
+bool __init xen_processor_present(uint32_t acpi_id)
+{
+	struct pcpu *pcpu;
+	bool online = false;
+
+	mutex_lock(&xen_pcpu_lock);
+	list_for_each_entry(pcpu, &xen_pcpus, list)
+		if (pcpu->acpi_id == acpi_id) {
+			online = pcpu->flags & XEN_PCPU_FLAGS_ONLINE;
+			break;
+		}
+
+	mutex_unlock(&xen_pcpu_lock);
+
+	return online;
+}
+#endif
-- 
2.39.0



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:43:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510725.788973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqhJ-0002D9-4H; Thu, 16 Mar 2023 16:43:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510725.788973; Thu, 16 Mar 2023 16:43: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 1pcqhJ-0002D2-13; Thu, 16 Mar 2023 16:43:25 +0000
Received: by outflank-mailman (input) for mailman id 510725;
 Thu, 16 Mar 2023 16:43: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcqhH-0001vH-7q
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:43:23 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on062d.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9cd0bc8-c419-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 17:43:22 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7452.eurprd04.prod.outlook.com (2603:10a6:102:80::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 16:43:20 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 16: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>
X-Inumbo-ID: a9cd0bc8-c419-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hx57RJghJu7slPmUgmjtwmK3u5NM4fA6xv+6QfacyB76X7K4IBWex2PGSx6xF2tcZLei1wgpQHrq0tNqMp0HCg9i75zmC25xTkzuL0KeeZfBegQ7XQmj1a83wTMS6sr2reHtnhIhCz4jsUJHvV0ixS+iME1QOkWgx8rVa8NJv+nK3SZ1kawAXiPyoyeTrYeSr6EwFd8pzDbrbncEcTzaZtd3LDpZbN9t+eG+wfPrwpJfftLgqUBpFJXya6rGwoT5sf3Ihnzw46PGuSQFZp/cveLTnfuXTfStZBg9R1hva/n6B8tooVQhwpBCZ9sgXdzuhdr4T4cWGo7AwEN992QZLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pEyxj6zpNLrSbvwDiU4yAXhzGGRI7iS52BqpzPdzo78=;
 b=fb88pi9vEIjlXkfPCTmua4S3szukraXfoQ9azBJoYMoa4uvcnS9S0qgvZ7rwmtnob+rnX/JiTNK7DLoGmwNNRVWIn5PcJn8mMu2ku9290UrXfkesTqokzHaicgSIN+rv0YBTaLUdbiyk9vDgAYfZ61xTzxxgZ7C6WrL0g/qnDFXIKubH4EtqLD0zz1xCEV2L20CvHNCwmizVZ/Nemcix0zHnOBtHvnjIChOFlDPTAzT0O+sRSRBt0O4Kgb9ogtZqzd+QVPyTxVO86GwziZB8/mIUHbX8ssPE9C0o5DxdY7Uhd/v0TMO6kjmnfWgMuTSmFpDHySyuDLWvrvc6KY9XXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pEyxj6zpNLrSbvwDiU4yAXhzGGRI7iS52BqpzPdzo78=;
 b=cMkQdfomLeT0vCXWp2NSsDh8G+vTFKNv3LVMrwdkVFGBMyDuIOA41mN+NEf2ZnuGo2joWMcqU/NYhPN0RVwLwkhsTH4XRKodHesk2ycfbcvAf4Z5mSjZh6lSk9OUblb8lf1EYhrxAoU4N0FfSneuQ/eGMPagFKbYxg79dOXmDuE4cuwTNq0NuUzPplXcgNK/o9lcexPZo5U2+wjW/9Xc9Wb1ZgIfmp9+Amo9fHzKlwsVP2lfcR4pieznKwIU4oa50ivsWRjj4q8ro20deA/osG6UR1Z2WUroWQh0mw5ohXn0MPmm06XsbnssqjS686U0lbKFmnwWQteKORe+Qe60bg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8331a0c4-07fa-0340-20bf-77a5c8661aa1@suse.com>
Date: Thu, 16 Mar 2023 17:43:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 1/6] xen: add reference counter support
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
 <ZBNBhS2I4XWkwXr0@Air-de-Roger>
 <dc31ee54-b6ce-3251-ab0d-487d9a9bfd35@suse.com>
 <ZBNGO7/NY0VQQM/f@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBNGO7/NY0VQQM/f@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0035.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7452:EE_
X-MS-Office365-Filtering-Correlation-Id: c3e1da56-fe96-48e5-949d-08db263d8ccd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YKdk4skD1hA+yG16Tk2ZjK4CCQ9UIeP2faSTrXKnilPBWqdzVjqVv9lFovpP2bS0vL5OO5aAuyBfvPNmWY09xWLRl52MLY2/8jkedCqhZYya4RetTs/01/TvQZWyzE2wzQtExKqW3dmY3HI97Z+v/JNiAzh+np1P+jjymeDWh5pNswm9Xm1OiFCsOu2DV0rYotngAGyQGl0+t0fBg4rc6/iD+2oBYmgjgxrykqvTNfsEZ7AakgDdzo26blBmYsQgGLJaIm0BWrkNNWaMduaEwGCSxdklK4/R9BhaPgje6c/nhCeyxwkCziPWgaresobvIDFBOIxX4HGTpicCzdTULAvzUhNln7wBA9npSoV8k66ZNBCZeyavlP7uMxod1nU9cxGtoXNn10MX9tMT1Ve/xa/VOFB0NjKlc3sllN8G9LsQX0LPs/on+8mPeF7n7wN6/j30QAK9l3VxOZ2UJ214qgQzeUGOV4EGNB7d4AlZoqsAIAfcWwJH2ac9E1QCZSg7BxAnJFNDqFksw+CRPCpjYpX/89fsgqYQW77leVuE3Gd4HI6Uuq3X6H1YvubwI84lBO35lp41UCAlQnjC7aREi/UcSBfY5pfOWBve0jiHL5eVc0IjNamprEkCTJN2OsjmcGBgzM9PB+VW6olPm1rEI2sjhsotCGVgvmiFxM2GnknLSAwH5XVkqGupFguTRt2odbUY3t7eBUCzFQUAFBVfoK2MJOHU0f3YhX6bbBjEHLQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(346002)(396003)(136003)(366004)(39860400002)(451199018)(86362001)(38100700002)(31696002)(36756003)(2906002)(41300700001)(5660300002)(8936002)(4326008)(478600001)(6506007)(6512007)(2616005)(26005)(186003)(53546011)(54906003)(83380400001)(316002)(66556008)(66476007)(6916009)(6486002)(8676002)(66946007)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YWVRTllFSzJDbnhHUlBrcU5zUGFsckZpcGR2TFpkY2Fsb2I5VHhHdndPOUFl?=
 =?utf-8?B?RThYOGcyaG5uZ0Rka00wSnZhR0tuNm9jbVhZVk9FbE9LaFRNYVVXem9SR2M2?=
 =?utf-8?B?eCtBQ0NkdXhZWldaelFIZFdUQzF3Y1BxRTJad2t1am9rL2N6cjJNOUhmckQ0?=
 =?utf-8?B?Y2xZdHd0eXZaT0c0L2J3RHMxWU0rMWsraTkwclBBdGdWRjVLWWNSOGlVekNv?=
 =?utf-8?B?OGYxUEhFNW42a1dGZkZSSGVxalFGdzh5T2wzczM5dS9SUDJ2RlNheFNMc2pD?=
 =?utf-8?B?UytUazlWZFh0RC9QVUQ0dXBoQ294YUZ2WVZSeGdreHdZRzUxVktVcWRlbks0?=
 =?utf-8?B?UTVDVFlQTERHdWQ3SHVLUVVPWDRYSzJYTU5RaHB2NHBDWmRXQm45WkFsdlRP?=
 =?utf-8?B?VTFuNTF4NGY1dWpuUExtcGxpN0dmMHlXaisrcW51VXVPUWhmNzBQS3FrTTU0?=
 =?utf-8?B?MWpzbHlhbEliZy9Nd2Joc2FMQVFEcHJiSE8yOHJFN3JDTGNWNytsNVpHY3ox?=
 =?utf-8?B?U2Fxb25jOVFnaXpmcFhuZFh1Y1JzVDg3cW1GNFZvcUR0NkVQSW81eUkvNEd5?=
 =?utf-8?B?M1lTVFVlbTY0OXIrcThaN1MzWUxDZ2NqZng4SHphcHY0Z3U0VmRZYkI0T1Mr?=
 =?utf-8?B?eDhLSmFjdGZHalhVV0tvSjdIRmZyRlkrbTQrY2QzNUdqQXJUVkFUSTdYUDNh?=
 =?utf-8?B?V0krTEdhWU92aENlT1lRNGlWTHVyMmxTaE5vczBtQkRyUit1Ymw3UEVDY3Bj?=
 =?utf-8?B?dW1EVjVVcGx4YkEzNUkzcCs5UXIzK0FZYng4cnJhTGpBblJmRCs1TXpSUk13?=
 =?utf-8?B?R0xhT2txTElpQmFrZ1BVLzZDd3VzL2ZLbU8rL2NwcmI0ekF3eHgzUFA2MGpB?=
 =?utf-8?B?eFlJdDhPZE5FdUVETmFpcHJORDJmSGVnb0VRcGJyWnQ5ejJXaGVPVUNNaGxT?=
 =?utf-8?B?Q0FaMEJ2LzY1ekRmZWd5emRzSDlrYmxGQS9uanVhTndoRmtQMkFBWWxUWXpy?=
 =?utf-8?B?M2sxQThWeDd0SE9PckZ1Q0hkSjlKOVRhdklOSU9lckpEWUwxcGNwcm43OCtn?=
 =?utf-8?B?QU4zQy9HUERERC9uMXJibUtvbzUwZG1ZQXQvSFNKOWhDMytCZGNTc0VQM2NX?=
 =?utf-8?B?V2tPZ3lobnNzU3g0OEg3NDBXZ1JCNmdPZ2l2TjlRS1EvS3VFa2tyS1BzWk9x?=
 =?utf-8?B?Y3Y0MmJVK3dYNkI1bmdnNGtaUW1NUDVYTW5CMEFyZXVUTE95STBERjdXaFJw?=
 =?utf-8?B?TC9VTWViRVZMeHk1TGFqS0NlQUU2aWxhcmJzOCs1L0h4aEp5K2NUQklNSTR0?=
 =?utf-8?B?WFBkNjVaTFpKV3N2WkFVdHdGUzF0SGJaSTFNZXlxTEszaXcwK0NWb0VTVmxl?=
 =?utf-8?B?Ti9KZUJ2SkpJM2VqSHFicVd5bXpuL29kVzhJakFOSWNkWUlNVjBDandhcGRE?=
 =?utf-8?B?Q1NvOW42dC81UU9wRXRaNmpVSHZFTmNxdWhsbGc4Tm56U0V0TUYvbmtUU2Jy?=
 =?utf-8?B?ckZXS2ZmWEs2RDNwejBHNkRnUXlsMVdORk1Ra0tFb01FY2NLUUhYSGxkMmZv?=
 =?utf-8?B?NUdFMUl5K3dSVUFaZU9IczFmbUhBMnl3SjlXM3NyQm9JejlVTVVuOWtGaXAz?=
 =?utf-8?B?SUxRV1hha2FET0lwdnFEM2dYbmtsNWFDQ3M1NzZTRE5JKzRjNTdzaHJBb1Jq?=
 =?utf-8?B?cmxDZFl3eUpyM3BTNlNrVjNZRy9yZ3hPUmkwM05ha2psMGU2cy83NUFFZUhN?=
 =?utf-8?B?T1hFaHlsVy9LQnNwbEVEMmx4NFpSbXJDQ1FGT2tJWXY2Tm1aMDhJU2RCMko2?=
 =?utf-8?B?Vjl4RUdKYit0bWhzZGtzd3BXMzBrOGZkSmo4MGFkYzZTelRlMDJoN0NaOW1C?=
 =?utf-8?B?elNGM1ZUZ3ZPUDNZeDMxMDFpZVE4aktHZUdoeE01WHhjTTF4QnBSU0NKaU1i?=
 =?utf-8?B?NHJkcmd0MkpxQi9saXl5em5uUktlcTZWSUlpNHRVYnpmWTd6Q0lwb0U3TUZM?=
 =?utf-8?B?aitLNkNlamNFUlBQeEdleVFISlk2UTJIamVnMlR1Z2ZGUkVKc1NBRlAvVkJq?=
 =?utf-8?B?NnFzY2tsYmZ5QksreEd4RFBNWVFob2tPOWptRFhOQkUyWWQ1Q1MrdG1CVHky?=
 =?utf-8?Q?v0LauF1BQSL1LCpn4eT74nEXR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c3e1da56-fe96-48e5-949d-08db263d8ccd
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 16:43:20.2388
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FAlkkIYkdZ/CC9vWxY9JXosF9GwPvlYePVP76tljLvo+JMNVVSqy9wVlnoQktsr0qw4HRI5FcOmeUKYj2mZ/kA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7452

On 16.03.2023 17:39, Roger Pau Monné wrote:
> On Thu, Mar 16, 2023 at 05:32:38PM +0100, Jan Beulich wrote:
>> On 16.03.2023 17:19, Roger Pau Monné wrote:
>>> On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
>>>> +static inline void refcnt_get(refcnt_t *refcnt)
>>>> +{
>>>> +    int old = atomic_add_unless(&refcnt->refcnt, 1, 0);
>>>
>>> Occurred to me while looking at the next patch:
>>>
>>> Don't you also need to print a warning (and saturate the counter
>>> maybe?) if old == 0, as that would imply the caller is attempting
>>> to take a reference of an object that should be destroyed? IOW: it
>>> would point to some kind of memory leak.
>>
>> Hmm, I notice the function presently returns void. I think what to do
>> when the counter is zero needs leaving to the caller. See e.g.
>> get_page() which will simply indicate failure to the caller in case
>> the refcnt is zero. (There overflow handling also is left to the
>> caller ... All that matters is whether a ref can be acquired.)
> 
> Hm, likely.  I guess pages never go away even when it's refcount
> reaches 0.
> 
> For the pdev case attempting to take a refcount on an object that has
> 0 refcounts implies that the caller is using leaked memory, as the
> point an object reaches 0 it supposed to be destroyed.

Hmm, my thinking was that a device would remain at refcnt 0 until it is
actually removed, i.e. refcnt == 0 being a prereq for pci_remove_device()
to be willing to do anything at all. But maybe that's not a viable model.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:44:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:44:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510728.788983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqhu-0002vV-FP; Thu, 16 Mar 2023 16:44:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510728.788983; Thu, 16 Mar 2023 16:44: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 1pcqhu-0002vO-Au; Thu, 16 Mar 2023 16:44:02 +0000
Received: by outflank-mailman (input) for mailman id 510728;
 Thu, 16 Mar 2023 16:44: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcqhs-0001vH-2U
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:44:00 +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 c02c2b77-c419-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 17:43:59 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id ek18so10080796edb.6
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 09:43:59 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 hp12-20020a1709073e0c00b00925ce7c7705sm4019163ejc.162.2023.03.16.09.43.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 09:43: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: c02c2b77-c419-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678985039;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=onUwUr6LuHPU/ho1g66l05dUKk1mCFhL1Fbzc0RBt8E=;
        b=jpr+6r5wRQH3RmYxjdu6DZealHW4UGgMxGMqa0wZV8/ZlScQxhjNYRQk4/sVdVu/im
         ojnI87x6QVENrxpXgIIn6nlpt3H6jqHcL2t8b5i/q+4jwq9m76ckYtb7/sEg75SalC67
         0bm1QNaVP4yZIIVDz6bWm8dTz4q2qLj7xoXasZR7XDIxzNKsJcZ0snC2E6BiY+tWUNtj
         yCEe06CIqwgQz58JI4KZA+RX2RcCF2w/O+x4QKO3fe7WknhvVojYRz4neDcjc+qOBz1b
         3LYT55ym21NE17zOZOZwFSOsowSjHu5pwQXjBjbBR7yI6SDQVMzjtAOVZlzhu3mb2G6z
         qYfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678985039;
        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=onUwUr6LuHPU/ho1g66l05dUKk1mCFhL1Fbzc0RBt8E=;
        b=rRBF8V2y2Jo4PBxIlhezEQpU7WnNjwqySUsT7MVq5jltJ53zAKH0ivFcCHqQ0mJIpi
         LPqR+PeRn5RAh00KGQ9IvR9wiXnILNr7d142OW8vrdAT7tVp9CTRylZjkmNxldQHDBVV
         DZwC3fZJzghm35IKH7EE3zAixKNkxMCXKpB1PSUgaxCr15MUhwiPg8fv8h+tKR9fHp86
         bnNGTNpKAhgoxyHFZ/QEGLuLWuqVralflUOhXbh9gIJB8YD7rz56jov1LylcBgBpN8nI
         3WYpFNJj4ldUJAgGCYrgWyBFwfzAeIN44t+nVFRAJrypJ4/1yjfwF+dvpRRHZwCdMIaI
         VFgA==
X-Gm-Message-State: AO0yUKVNsI59MtDmpTcYVFI77HjzRFvsgAFqezjBfpJ3BUDlFTqScZ8U
	gnwij8gbIowSXSRo0lvYE12z9UxT81nSqw==
X-Google-Smtp-Source: AK7set+nfGMhngnKruzzsM3MNYzRQnbyrmVh841QxkQrERnd6qNu4ryIFHhlcIBjilAU5R4glQ012w==
X-Received: by 2002:a17:906:3196:b0:92b:6b6d:2daf with SMTP id 22-20020a170906319600b0092b6b6d2dafmr11047774ejy.77.1678985038679;
        Thu, 16 Mar 2023 09:43:58 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 0/3] enable MMU for RISC-V
Date: Thu, 16 Mar 2023 18:43:51 +0200
Message-Id: <cover.1678984041.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch series is based on top of  'RISCV basic exception handling
implementation' patch series. [1]

The patch series introduces the following things:
1. Functionality to build the page tables for Xen that map
   link-time to physical-time location.
2. Check that Xen is less then page size.
3. Check that load addresses don't overlap with linker addresses.
4. Prepare things for proper switch to virtual memory world.
5. Load the built page table into the SATP
6. Enable MMU.

[1] https://lore.kernel.org/xen-devel/cover.1678976127.git.oleksii.kurochko@gmail.com/T/#t

---
Changes in V2:
  * Remove {ZEROETH,FIRST,...}_{SHIFT,MASK, SIZE,...} and
    introduce instead of them XEN_PT_LEVEL_*() and LEVEL_*
  * Rework pt_linear_offset() and pt_index based on  XEN_PT_LEVEL_*()
  * Remove clear_pagetables() functions as pagetables were zeroed during
    .bss initialization
  * Rename _setup_initial_pagetables() to setup_initial_mapping()
  * Make PTE_DEFAULT equal to RX.
  * Update prototype of setup_initial_mapping(..., bool writable) -> 
    setup_initial_mapping(..., UL flags)  
  * Update calls of setup_initial_mapping according to new prototype
  * Remove unnecessary call of:
    _setup_initial_pagetables(..., load_addr_start, load_addr_end, load_addr_start, ...)
  * Define index* in the loop of setup_initial_mapping
  * Remove attribute "__attribute__((section(".entry")))" for setup_initial_pagetables()
    as we don't have such section
  * make arguments of paddr_to_pte() and pte_is_valid() as const.
  * use <xen/kernel.h> instead of declaring extern unsigned long _stext, 0etext, _srodata, _erodata
  * update  'extern unsigned long __init_begin' to 'extern unsigned long __init_begin[]'
  * use aligned() instead of "__attribute__((__aligned__(PAGE_SIZE)))"
  * set __section(".bss.page_aligned") for page tables arrays
  * fix identatations
  * Change '__attribute__((section(".entry")))' to '__init'
  * Remove alignment  of {map, pa}_start &= XEN_PT_LEVEL_MAP_MASK(0); in
    setup_inital_mapping() as they should be already aligned.
  * Remove clear_pagetables() as initial pagetables will be
    zeroed during bss initialization
  * Remove __attribute__((section(".entry")) for setup_initial_pagetables()
    as there is no such section in xen.lds.S
  * Update the argument of pte_is_valid() to "const pte_t *p"
  * Remove patch "[PATCH v1 3/3] automation: update RISC-V smoke test" from the patch series
    as it was introduced simplified approach for RISC-V smoke test by Andrew Cooper
  * Add patch [[xen/riscv: remove dummy_bss variable] as there is no any sense in
    dummy_bss variable after introduction of inittial page tables.
---
Oleksii Kurochko (3):
  xen/riscv: introduce setup_initial_pages
  xen/riscv: setup initial pagetables
  xen/riscv: remove dummy_bss variable

 xen/arch/riscv/Makefile           |   1 +
 xen/arch/riscv/include/asm/mm.h   |   8 ++
 xen/arch/riscv/include/asm/page.h |  67 +++++++++++++++++
 xen/arch/riscv/mm.c               | 121 ++++++++++++++++++++++++++++++
 xen/arch/riscv/riscv64/head.S     |  65 ++++++++++++++++
 xen/arch/riscv/setup.c            |  13 ++--
 xen/arch/riscv/xen.lds.S          |   2 +
 7 files changed, 269 insertions(+), 8 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/mm.h
 create mode 100644 xen/arch/riscv/include/asm/page.h
 create mode 100644 xen/arch/riscv/mm.c

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:44:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:44:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510729.788989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqhu-00033D-V0; Thu, 16 Mar 2023 16:44:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510729.788989; Thu, 16 Mar 2023 16:44: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 1pcqhu-0002zz-Q9; Thu, 16 Mar 2023 16:44:02 +0000
Received: by outflank-mailman (input) for mailman id 510729;
 Thu, 16 Mar 2023 16:44: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcqht-0001vH-NM
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:44:01 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c0e6dddb-c419-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 17:44:00 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id w9so10166957edc.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 09:44:00 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 hp12-20020a1709073e0c00b00925ce7c7705sm4019163ejc.162.2023.03.16.09.43.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 09:43:59 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0e6dddb-c419-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678985040;
        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=zGVL/CfPnzewnAsXjG29SUeWKmwBMkBIJaaDApBELM4=;
        b=QCr3G4hZHJabhkiRevIyeL5ZJEWKvthmnSk4MjsWOYhch66dxW88fWif615DVloFiM
         6EO8pvUj+vhVvsbIwdsLbGLwAazYly76MX+tIgkCHqmIjlkyq2B6g8bLaI+d+1GaAqXW
         iV8HD6aqxdiXecVGEmuksgqNETQ6xa3A5hE+oUBAvgXZUfby8fZlnOq3A8E7xfvW1NnY
         bs05X1Wpzdfn7eA4FViT8cfrX+vk2u3HNrGhZ6I5hgtEVM4YdLlnUtG4uO2HFncWNbrx
         rsc70lFoY3jrMm9uKc/GXttjhcQoYh5ssAe5ugU4AhTKWJ+U1bxKdXXneT0vxt+6G580
         zjnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678985040;
        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=zGVL/CfPnzewnAsXjG29SUeWKmwBMkBIJaaDApBELM4=;
        b=cAXSMtYCzA1RAUH4GHpZ0VgFTBgGEs6nC3sEZCogGsFFM1bt/J+zJy4nJFuy6tJa5A
         R3zKWLZDS7Z6O+BRlIaXb0zAgHWi4A1Q0xPvwOb1EzpVHuRboSDpLpE0wDifF+smc5f2
         eEVInKxfTE0vjB1EmVXl/5gdieCcKBvjpMQNYI/dIlOTExtlZ1L3ssJaFgDc/pyA/rBQ
         sk1/WKTWrE3h+n/1phovV9UJJGSSlAgaHHbLJCnhnc9MtWQt+rLouPitcSHEfczC/tr+
         TH/9bI4l6kaesw8eJrjfphQgOlyxTS8wOO9GKCCpDuhqUm/gZpHLbag12MFu+jS9GY+K
         Akuw==
X-Gm-Message-State: AO0yUKWhKw+GRNng1mAExZK7Di2C1j4WN+5P1kzKamx8FGO1FRXcEGIv
	l9jpiTJ5j5whY1JNko5pw6UwpwkT3OyWOA==
X-Google-Smtp-Source: AK7set/KY55BlVnTQ3oed3mzLNX9p6NhyE5sg4Jt2Fj/mMET8lAeFBv1QRfDL3gp+C3JsE+Z/K3rZg==
X-Received: by 2002:a17:906:c047:b0:926:8992:4310 with SMTP id bm7-20020a170906c04700b0092689924310mr12501235ejb.38.1678985040053;
        Thu, 16 Mar 2023 09:44:00 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
Date: Thu, 16 Mar 2023 18:43:52 +0200
Message-Id: <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678984041.git.oleksii.kurochko@gmail.com>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Mostly the code for setup_initial_pages was taken from Bobby's
repo except for the following changes:
* Use only a minimal part of the code enough to enable MMU
* rename {_}setup_initial_pagetables functions
* add an argument for setup_initial_mapping to have
  an opportunity to make set PTE flags.
* update setup_initial_pagetables function to map sections
  with correct PTE flags.
* introduce separate enable_mmu() to be able for proper
  handling the case when load start address isn't equal to
  linker start address.
* map linker addresses range to load addresses range without
  1:1 mapping.
* add safety checks such as:
  * Xen size is less than page size
  * linker addresses range doesn't overlap load addresses
    range
* Rework macros {THIRD,SECOND,FIRST,ZEROETH}_{SHIFT,MASK}
* change PTE_LEAF_DEFAULT to RX instead of RWX.
* Remove phys_offset as it isn't used now.
* Remove alignment  of {map, pa}_start &= XEN_PT_LEVEL_MAP_MASK(0); in
  setup_inital_mapping() as they should be already aligned.
* Remove clear_pagetables() as initial pagetables will be
  zeroed during bss initialization
* Remove __attribute__((section(".entry")) for setup_initial_pagetables()
  as there is no such section in xen.lds.S
* Update the argument of pte_is_valid() to "const pte_t *p"

Origin: https://gitlab.com/xen-on-risc-v/xen/-/tree/riscv-rebase 4af165b468af
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 * update the commit message:
 * Remove {ZEROETH,FIRST,...}_{SHIFT,MASK, SIZE,...} and
   introduce instead of them XEN_PT_LEVEL_*() and LEVEL_*
 * Rework pt_linear_offset() and pt_index based on  XEN_PT_LEVEL_*()
 * Remove clear_pagetables() functions as pagetables were zeroed during
   .bss initialization
 * Rename _setup_initial_pagetables() to setup_initial_mapping()
 * Make PTE_DEFAULT equal to RX.
 * Update prototype of setup_initial_mapping(..., bool writable) -> 
   setup_initial_mapping(..., UL flags)  
 * Update calls of setup_initial_mapping according to new prototype
 * Remove unnecessary call of:
   _setup_initial_pagetables(..., load_addr_start, load_addr_end, load_addr_start, ...)
 * Define index* in the loop of setup_initial_mapping
 * Remove attribute "__attribute__((section(".entry")))" for setup_initial_pagetables()
   as we don't have such section
 * make arguments of paddr_to_pte() and pte_is_valid() as const.
 * make xen_second_pagetable static.
 * use <xen/kernel.h> instead of declaring extern unsigned long _stext, 0etext, _srodata, _erodata
 * update  'extern unsigned long __init_begin' to 'extern unsigned long __init_begin[]'
 * use aligned() instead of "__attribute__((__aligned__(PAGE_SIZE)))"
 * set __section(".bss.page_aligned") for page tables arrays
 * fix identatations
 * Change '__attribute__((section(".entry")))' to '__init'
 * Remove phys_offset as it isn't used now.
 * Remove alignment  of {map, pa}_start &= XEN_PT_LEVEL_MAP_MASK(0); in
   setup_inital_mapping() as they should be already aligned.
 * Remove clear_pagetables() as initial pagetables will be
   zeroed during bss initialization
 * Remove __attribute__((section(".entry")) for setup_initial_pagetables()
   as there is no such section in xen.lds.S
 * Update the argument of pte_is_valid() to "const pte_t *p"
---
 xen/arch/riscv/Makefile           |   1 +
 xen/arch/riscv/include/asm/mm.h   |   8 ++
 xen/arch/riscv/include/asm/page.h |  67 +++++++++++++++++
 xen/arch/riscv/mm.c               | 121 ++++++++++++++++++++++++++++++
 xen/arch/riscv/riscv64/head.S     |  65 ++++++++++++++++
 xen/arch/riscv/xen.lds.S          |   2 +
 6 files changed, 264 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/mm.h
 create mode 100644 xen/arch/riscv/include/asm/page.h
 create mode 100644 xen/arch/riscv/mm.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 443f6bf15f..956ceb02df 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 += mm.o
 obj-$(CONFIG_RISCV_64) += riscv64/
 obj-y += sbi.o
 obj-y += setup.o
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
new file mode 100644
index 0000000000..3cc98fe45b
--- /dev/null
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -0,0 +1,8 @@
+#ifndef _ASM_RISCV_MM_H
+#define _ASM_RISCV_MM_H
+
+void setup_initial_pagetables(void);
+
+extern void enable_mmu(void);
+
+#endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
new file mode 100644
index 0000000000..fb8329a191
--- /dev/null
+++ b/xen/arch/riscv/include/asm/page.h
@@ -0,0 +1,67 @@
+#ifndef _ASM_RISCV_PAGE_H
+#define _ASM_RISCV_PAGE_H
+
+#include <xen/const.h>
+#include <xen/types.h>
+
+#define PAGE_ENTRIES                (1 << PAGETABLE_ORDER)
+#define VPN_MASK                    ((unsigned long)(PAGE_ENTRIES - 1))
+
+#define PAGE_ORDER                  (12)
+
+#ifdef CONFIG_RISCV_64
+#define PAGETABLE_ORDER             (9)
+#else /* CONFIG_RISCV_32 */
+#define PAGETABLE_ORDER             (10)
+#endif
+
+#define LEVEL_ORDER(lvl)            (lvl * PAGETABLE_ORDER)
+#define LEVEL_SHIFT(lvl)            (LEVEL_ORDER(lvl) + PAGE_ORDER)
+#define LEVEL_SIZE(lvl)             (_AT(paddr_t, 1) << LEVEL_SHIFT(lvl))
+
+#define XEN_PT_LEVEL_SHIFT(lvl)     LEVEL_SHIFT(lvl)
+#define XEN_PT_LEVEL_ORDER(lvl)     LEVEL_ORDER(lvl)
+#define XEN_PT_LEVEL_SIZE(lvl)      LEVEL_SIZE(lvl)
+#define XEN_PT_LEVEL_MAP_MASK(lvl)  (~(XEN_PT_LEVEL_SIZE(lvl) - 1))
+#define XEN_PT_LEVEL_MASK(lvl)      (VPN_MASK << XEN_PT_LEVEL_SHIFT(lvl))
+
+#define PTE_SHIFT                   10
+
+#define PTE_VALID                   BIT(0, UL)
+#define PTE_READABLE                BIT(1, UL)
+#define PTE_WRITABLE                BIT(2, UL)
+#define PTE_EXECUTABLE              BIT(3, UL)
+#define PTE_USER                    BIT(4, UL)
+#define PTE_GLOBAL                  BIT(5, UL)
+#define PTE_ACCESSED                BIT(6, UL)
+#define PTE_DIRTY                   BIT(7, UL)
+#define PTE_RSW                     (BIT(8, UL) | BIT(9, UL))
+
+#define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_EXECUTABLE)
+#define PTE_TABLE                   (PTE_VALID)
+
+/* Calculate the offsets into the pagetables for a given VA */
+#define pt_linear_offset(lvl, va)   ((va) >> XEN_PT_LEVEL_SHIFT(lvl))
+
+#define pt_index(lvl, va)   pt_linear_offset(lvl, (va) & XEN_PT_LEVEL_MASK(lvl))
+
+/* Page Table entry */
+typedef struct {
+    uint64_t pte;
+} pte_t;
+
+/* Shift the VPN[x] or PPN[x] fields of a virtual or physical address
+ * to become the shifted PPN[x] fields of a page table entry */
+#define addr_to_ppn(x) (((x) >> PAGE_SHIFT) << PTE_SHIFT)
+
+static inline pte_t paddr_to_pte(const unsigned long paddr)
+{
+    return (pte_t) { .pte = addr_to_ppn(paddr) };
+}
+
+static inline bool pte_is_valid(const pte_t *p)
+{
+    return p->pte & PTE_VALID;
+}
+
+#endif /* _ASM_RISCV_PAGE_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
new file mode 100644
index 0000000000..0df6b47441
--- /dev/null
+++ b/xen/arch/riscv/mm.c
@@ -0,0 +1,121 @@
+#include <xen/compiler.h>
+#include <xen/init.h>
+#include <xen/kernel.h>
+#include <xen/lib.h>
+#include <xen/page-size.h>
+
+#include <asm/boot-info.h>
+#include <asm/config.h>
+#include <asm/csr.h>
+#include <asm/mm.h>
+#include <asm/page.h>
+#include <asm/traps.h>
+
+/*
+ * xen_second_pagetable is indexed with the VPN[2] page table entry field
+ * xen_first_pagetable is accessed from the VPN[1] page table entry field
+ * xen_zeroeth_pagetable is accessed from the VPN[0] page table entry field
+ */
+pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
+    xen_second_pagetable[PAGE_ENTRIES];
+static pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
+    xen_first_pagetable[PAGE_ENTRIES];
+static pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
+    xen_zeroeth_pagetable[PAGE_ENTRIES];
+
+extern unsigned long __init_begin[];
+extern unsigned long __init_end[];
+extern unsigned char cpu0_boot_stack[STACK_SIZE];
+
+static void __init
+setup_initial_mapping(pte_t *second, pte_t *first, pte_t *zeroeth,
+                      unsigned long map_start,
+                      unsigned long map_end,
+                      unsigned long pa_start,
+                      unsigned long flags)
+{
+    unsigned long page_addr;
+
+    // /* align start addresses */
+    // map_start &= XEN_PT_LEVEL_MAP_MASK(0);
+    // pa_start &= XEN_PT_LEVEL_MAP_MASK(0);
+
+    page_addr = map_start;
+    while ( page_addr < map_end )
+    {
+        unsigned long index2 = pt_index(2, page_addr);
+        unsigned long index1 = pt_index(1, page_addr);
+        unsigned long index0 = pt_index(0, page_addr);
+
+        /* Setup level2 table */
+        second[index2] = paddr_to_pte((unsigned long)first);
+        second[index2].pte |= PTE_TABLE;
+
+        /* Setup level1 table */
+        first[index1] = paddr_to_pte((unsigned long)zeroeth);
+        first[index1].pte |= PTE_TABLE;
+
+
+        /* Setup level0 table */
+        if ( !pte_is_valid(&zeroeth[index0]) )
+        {
+            /* Update level0 table */
+            zeroeth[index0] = paddr_to_pte((page_addr - map_start) + pa_start);
+            zeroeth[index0].pte |= flags;
+        }
+
+        /* Point to next page */
+        page_addr += XEN_PT_LEVEL_SIZE(0);
+    }
+}
+
+/*
+ * setup_initial_pagetables:
+ *
+ * Build the page tables for Xen that map the following:
+ *   load addresses to linker addresses
+ */
+void __init setup_initial_pagetables(void)
+{
+    pte_t *second;
+    pte_t *first;
+    pte_t *zeroeth;
+
+    unsigned long load_addr_start   = boot_info.load_start;
+    unsigned long load_addr_end     = boot_info.load_end;
+    unsigned long linker_addr_start = boot_info.linker_start;
+    unsigned long linker_addr_end   = boot_info.linker_end;
+
+    BUG_ON(load_addr_start % (PAGE_ENTRIES * PAGE_SIZE) != 0);
+    if (load_addr_start != linker_addr_start)
+        BUG_ON((linker_addr_end > load_addr_start && load_addr_end > linker_addr_start));
+
+    /* Get the addresses where the page tables were loaded */
+    second  = (pte_t *)(&xen_second_pagetable);
+    first   = (pte_t *)(&xen_first_pagetable);
+    zeroeth = (pte_t *)(&xen_zeroeth_pagetable);
+
+    setup_initial_mapping(second, first, zeroeth,
+                          LOAD_TO_LINK((unsigned long)&_stext),
+                          LOAD_TO_LINK((unsigned long)&_etext),
+                          (unsigned long)&_stext,
+                          PTE_LEAF_DEFAULT);
+
+    setup_initial_mapping(second, first, zeroeth,
+                          LOAD_TO_LINK((unsigned long)&__init_begin),
+                          LOAD_TO_LINK((unsigned long)&__init_end),
+                          (unsigned long)&__init_begin,
+                          PTE_LEAF_DEFAULT | PTE_WRITABLE);
+
+    setup_initial_mapping(second, first, zeroeth,
+                          LOAD_TO_LINK((unsigned long)&_srodata),
+                          LOAD_TO_LINK((unsigned long)&_erodata),
+                          (unsigned long)(&_srodata),
+                          PTE_VALID | PTE_READABLE);
+
+    setup_initial_mapping(second, first, zeroeth,
+                          linker_addr_start,
+                          linker_addr_end,
+                          load_addr_start,
+                          PTE_LEAF_DEFAULT | PTE_READABLE);
+}
diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index 8887f0cbd4..f4a0582727 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -1,4 +1,5 @@
 #include <asm/asm.h>
+#include <asm/asm-offsets.h>
 #include <asm/riscv_encoding.h>
 
         .section .text.header, "ax", %progbits
@@ -32,3 +33,67 @@ ENTRY(start)
         add     sp, sp, t0
 
         tail    start_xen
+
+ENTRY(enable_mmu)
+        /* Calculate physical offset between linker and load addresses */
+        la      t0, boot_info
+        REG_L   t1, BI_LINKER_START(t0)
+        REG_L   t2, BI_LOAD_START(t0)
+        sub     t1, t1, t2
+
+        /*
+         * Calculate and update a linker time address of the .L_mmu_is_enabled
+         * label and update CSR_STVEC with it.
+         * MMU is configured in a way where linker addresses are mapped
+         * on load addresses so case when linker addresses are not equal to
+         * load addresses, and thereby, after MMU is enabled, it will cause
+         * an exception and jump to linker time addresses
+         */
+        la      t3, .L_mmu_is_enabled
+        add     t3, t3, t1
+        csrw    CSR_STVEC, t3
+
+        /* Calculate a value for SATP register */
+        li      t5, SATP_MODE_SV39
+        li      t6, SATP_MODE_SHIFT
+        sll     t5, t5, t6
+
+        la      t4, xen_second_pagetable
+        srl     t4, t4, PAGE_SHIFT
+        or      t4, t4, t5
+        sfence.vma
+        csrw    CSR_SATP, t4
+
+        .align 2
+.L_mmu_is_enabled:
+        /*
+         * Stack should be re-inited as:
+         * 1. Right now an address of the stack is relative to load time
+         *    addresses what will cause an issue in case of load start address
+         *    isn't equal to linker start address.
+         * 2. Addresses in stack are all load time relative which can be an
+         *    issue in case when load start address isn't equal to linker
+         *    start address.
+         */
+        la      sp, cpu0_boot_stack
+        li      t0, STACK_SIZE
+        add     sp, sp, t0
+
+        /*
+         * Re-init an address of exception handler as it was overwritten  with
+         * the address of the .L_mmu_is_enabled label.
+         * Before jump to trap_init save return address of enable_mmu() to
+         * know where we should back after enable_mmu() will be finished.
+         */
+        mv      s0, ra
+        lla     t0, trap_init
+        jalr    ra, t0
+
+        /*
+         * Re-calculate the return address of enable_mmu() function for case
+         * when linker start address isn't equal to load start address
+         */
+        add     s0, s0, t1
+        mv      ra, s0
+
+        ret
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index eed457c492..e4ac4e84b6 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -179,3 +179,5 @@ SECTIONS
 
 ASSERT(!SIZEOF(.got),      ".got non-empty")
 ASSERT(!SIZEOF(.got.plt),  ".got.plt non-empty")
+
+ASSERT(_end - _start <= MB(2), "Xen too large for early-boot assumptions")
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:44:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:44:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510730.789002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqhw-0003PK-7a; Thu, 16 Mar 2023 16:44:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510730.789002; Thu, 16 Mar 2023 16: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 1pcqhw-0003OQ-32; Thu, 16 Mar 2023 16:44:04 +0000
Received: by outflank-mailman (input) for mailman id 510730;
 Thu, 16 Mar 2023 16:44:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcqhu-0001vH-HW
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:44:02 +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 c1b300ba-c419-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 17:44:02 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id cn21so10302913edb.0
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 09:44:02 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 hp12-20020a1709073e0c00b00925ce7c7705sm4019163ejc.162.2023.03.16.09.44.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 09:44:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1b300ba-c419-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678985041;
        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=W4/tFHZNGBdxbclZ8qo10HAKR6kKnO62EANVEk6h44Y=;
        b=giPsQ7nWjl2XNoWSMcelD7Y3F9lMkKnnb+gZXCJO47QX0EBBlEoEEetyumB/xieCpK
         NMaSOBXwUQ0Mc8H3yvMEiyWUNacX9vmd8yFjKx/KzThLV44b87ECwKspBZBiNu4qV+O/
         sG2y7lvbjkwOeu/SaBsfcTvfvJh97CEJLcFd6mqs09dI70eI2ya+MHNQEBgXhHc74YxA
         /ELmsHOm1eWQc5BBga3Lsz2nbaK8H0vRzQIfgSsk2w+/RCY9IKa0fxp2U79ea6T6RQR8
         ZJbGUPP68pB9o1PzJd/cu2GvBHbWiEZyHsAqTGcdjSAxGmrGTQ2zLOX/O1xJXQKE7sqp
         imVg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678985041;
        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=W4/tFHZNGBdxbclZ8qo10HAKR6kKnO62EANVEk6h44Y=;
        b=gVhyJYGXTzkLcn/vNxqhDH8qXS4wd58yIa5a/Kyc+RT68J3KggTzTlXQf1c6WjS9Gh
         Ie5TR3wSqve7QGlBV2/qUh8/MApAAjl5HO425qEnoLZyJd609ezEC5ZUIXrIdT6vthF9
         FPw0Bf2SEbTKiPoEQitWpPsQ0ffqCjqck0ihwaewyJ4OI0rSPRbwt7Br6ni+T2zMc0pb
         iIFssSMw9EP3fU5AnS/CcdzzJjMRuP+sFIzHbO+Ms/ZS2XpByubmy6ZKYSAPYkPQqXf2
         X8wojBnzoMRfz7gx02xgK1+Ffl4W3nQzdzknT6UC6BeemOQTwy0z2kwYDs2bacxoSCro
         40Xg==
X-Gm-Message-State: AO0yUKVLXEgfspUoUk6SORQjy+gQdudtfC/H0lUpnIKKTSQKKHioP1ad
	xSUIdOZREuLsd1X119ftNQCRL+w5OfwGzQ==
X-Google-Smtp-Source: AK7set+lD0nudxZcL42hdmyvMz7QDO3FxDw0R2K3M+iu27im2Xaff4akGg5ugZIKjmpAcLeGw42PZw==
X-Received: by 2002:a17:906:8a43:b0:8b2:5262:562c with SMTP id gx3-20020a1709068a4300b008b25262562cmr10824009ejc.34.1678985041296;
        Thu, 16 Mar 2023 09:44:01 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 2/3] xen/riscv: setup initial pagetables
Date: Thu, 16 Mar 2023 18:43:53 +0200
Message-Id: <a748d8cf94fbf4ffee3ca3acb553a9caad1f423c.1678984041.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678984041.git.oleksii.kurochko@gmail.com>
References: <cover.1678984041.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 commit message
---
 xen/arch/riscv/setup.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index b56c69a3dc..a3481973ff 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -6,6 +6,7 @@
 #include <asm/boot-info.h>
 #include <asm/csr.h>
 #include <asm/early_printk.h>
+#include <asm/mm.h>
 #include <asm/traps.h>
 
 /* Xen stack for bringing up the first CPU. */
@@ -53,6 +54,10 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     test_macros_from_bug_h();
 
+    setup_initial_pagetables();
+
+    enable_mmu();
+
     early_printk("All set up\n");
 
     for ( ;; )
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:44:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:44:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510731.789013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqhx-0003hL-KO; Thu, 16 Mar 2023 16:44:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510731.789013; Thu, 16 Mar 2023 16: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 1pcqhx-0003gN-EY; Thu, 16 Mar 2023 16:44:05 +0000
Received: by outflank-mailman (input) for mailman id 510731;
 Thu, 16 Mar 2023 16:44: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=NB6E=7I=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pcqhv-0001vH-IC
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:44:03 +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 c264a272-c419-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 17:44:03 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id ek18so10081498edb.6
 for <xen-devel@lists.xenproject.org>; Thu, 16 Mar 2023 09:44:03 -0700 (PDT)
Received: from fedora.. (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 hp12-20020a1709073e0c00b00925ce7c7705sm4019163ejc.162.2023.03.16.09.44.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Mar 2023 09:44: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: c264a272-c419-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1678985042;
        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=QxFxWR/KwNqWUfgbN6kCM9vb2gHfOtn9xHZ/ZPjul4U=;
        b=hf8g/Fxc5oaFRgjbBfeo44LV4rFHntMIDn1UufA20RsVgdRbEnhVEjDukHMIqwZgOE
         YmiHJ9Bbi0Ol9KUaqXBK0PZZuJUNJh+oAgVTDzj6/w9WACsgPQVm+omlHfJmN6dIFzwT
         2KXrADc4QUHHv4jJXB/u1HPaoXee2fCUrLNIQYmEKB7ca4N1ajrFCvgnzFHaCbOiBxX0
         KrhElEeqCD+NqvIFYbU67xa1CQ8ZS+P60GFll3qFxHbA06Y+BJLOeEYtsasWRA8GRWtb
         nNcQ/GTBhe2tQZSD+VDo56nUTbH4KWwjMmGIhoYA2CSXp6zCleruMhvMaIngNJhGuCyY
         I28Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1678985042;
        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=QxFxWR/KwNqWUfgbN6kCM9vb2gHfOtn9xHZ/ZPjul4U=;
        b=Dd0M5S1djZvkGp4x81eBEafhpZp+H6Ov4uTPf7DSYjnmPZTfSWPEXxUP12f/WkyDpT
         sZnHMmrjuKEa9V+wbzvr1IIOVhYhzzC+N7LQZBuACUErhpA1uxWUAzr92iouiyiG+0LY
         xZGJN22ASJCp5JarNNpyTRq/ha4b91Vc04R+OpjC6ukt2bVM42KetSrHOZ73a4Pw80hB
         MnQ22pcyqU61NcEOwOwqCurWhVXRgcbV6t6aw3UQiy4cwf6JEaKt51LbD/GdUrFWxHiY
         lRUZnpyChpXt3mGYmXzm6PKG8O3PgmPeB+5pgIUFxce3rvGGG+cxOwyV+sKMuULzPeBE
         vC/Q==
X-Gm-Message-State: AO0yUKUJa4RQe7NqCs2nCGTgyfkB/u2X6PMSOh5i+W36cm9QkUhhE8NF
	ZbCyi3skO3NVbzoQ1L2B6k7x3AGPY8/Nkw==
X-Google-Smtp-Source: AK7set8osAS2FBpUkGXOeHYbc87SoPDnIeSlNu4XfZkJO1YccDHGo05zz52VAb1COkwDkPuSqeblHg==
X-Received: by 2002:a17:906:f1d9:b0:92b:e566:98fb with SMTP id gx25-20020a170906f1d900b0092be56698fbmr11998167ejb.12.1678985042704;
        Thu, 16 Mar 2023 09:44:02 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 3/3] xen/riscv: remove dummy_bss variable
Date: Thu, 16 Mar 2023 18:43:54 +0200
Message-Id: <c180968b64b3cc37fc5f204684ff52d55d15cfd6.1678984041.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1678984041.git.oleksii.kurochko@gmail.com>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

After introduction of initial pagetables there is no any sense
in dummy_bss variable as bss section will not be empty anymore.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 * patch was introduced in the current one patch series (v2).
---
 xen/arch/riscv/setup.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index a3481973ff..276efb8034 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -15,14 +15,6 @@ unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
 
 struct boot_info boot_info = { (unsigned long)&_start, (unsigned long)&_end, 0UL, 0UL };
 
-/*  
- * To be sure that .bss isn't zero. It will simplify code of
- * .bss initialization.
- * TODO:
- *   To be deleted when the first real .bss user appears
- */
-int dummy_bss __attribute__((unused));
-
 static void fill_boot_info(void)
 {
     boot_info.load_start = (unsigned long)_start;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:49:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:49:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510739.789023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqmn-0005P6-9d; Thu, 16 Mar 2023 16:49:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510739.789023; Thu, 16 Mar 2023 16:49:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqmn-0005Oz-5w; Thu, 16 Mar 2023 16:49:05 +0000
Received: by outflank-mailman (input) for mailman id 510739;
 Thu, 16 Mar 2023 16:49: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=eQdT=7I=citrix.com=prvs=4326333c9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pcqmm-0005Ot-40
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:49:04 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 71fee1ae-c41a-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 17:48:59 +0100 (CET)
Received: from mail-sn1nam02lp2045.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 16 Mar 2023 12:48:56 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SA1PR03MB6466.namprd03.prod.outlook.com (2603:10b6:806:1c1::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.18; Thu, 16 Mar
 2023 16:48:52 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Thu, 16 Mar 2023
 16:48: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: 71fee1ae-c41a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678985339;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=qJ7eY7cq5n0dkIO1LmpSbeGh6jPrPirV1FAtrXJQ8OU=;
  b=exJxCRQ20LSf7wiggQupDxkf4T3MQjB2VtdD2R9CFjP7OgXorehJjR3D
   XdZcDalOaKR+mWecMUHQsD6eh8mDvIaOWqgtfYk8HD4+ziEWP4u8hFB2s
   l13GVA/uU62DrTo2VjT+gVyzaxRErcmPbeAv/qa6xQtGUtbHgo6HTPRoQ
   w=;
X-IronPort-RemoteIP: 104.47.57.45
X-IronPort-MID: 101152830
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:RXu4vKwre3I7McZkZVt6t+fUxyrEfRIJ4+MujC+fZmUNrF6WrkUFx
 mYfD26EO66KZzbwKIt/a4i19B8Hu5fVxtBgSFRqqSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlPK4T4zcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KThW3
 +08Ag8UVTes2O7ry6O+QOtnxe12eaEHPKtH0p1h5RfwKK58BKvlGuDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjeVkFEZPLvFabI5fvSQQspYhACAr
 3/u9GXlGBAKcteYzFJp91r13raWwHmrA9p6+LuQzMNrjwTQnHUpUUcZZAW4/KGDkEnmVIcKQ
 6AT0m90xUQoz2SpRNTgWxyzoFafowURHdFXFoUS+AyLj6bZ/QudLmwFVSJaLswrstcsQj4n3
 UPPmMnmbRRtrbmURHS15rqS6zSoNkA9NnQebCUJSQ8E5djLo4wpiB/LCNF5H8adkdndCTz2h
 TeQo0AWubIXisIa0rShynrOiTmsu5vhQxY840PcWWfN0+9iTIusZojt8l6C6/9FdNydVgPZ4
 CVCnNWC5ucTC53LjDaKXOgGALCu4bCCLSHYhllsWZIm8lxB5kKeQGyZ2xkmTG8BDyrOUWSBj
 JP70e+J2KJuAQ==
IronPort-HdrOrdr: A9a23:cVv2DaCatJuP7HPlHelg55DYdb4zR+YMi2TDtnoBMiC9F/bzqy
 nApoV46faZskd1ZJhYo6H8BEDiewKlyXcW2/h2AV7KZmCP0wuVxedZnO/fKlXbehEWndQtrJ
 uIHZIOb+EYOmIK9/oSIzPVLz/j+rS6GWyT6ts2n00dLj2Cs5sQnzuR0DzrbHGemTM2eabRyK
 Dsl/auyFKbCAsqhw2AaEU4Yw==
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="101152830"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cxsfyPFp1l+9rLcDRXjxd0+6IvuATBqaCc0EQ4OAF2eHlCXfFkO1yCFQ3/ZA0iwKWYSyNy9CTBD9V38F8Y9JtTHZChnD1ISZb2WskPm4YG0fLL4C1k75ViNsOhHwkPoNPSBCRyJYam0qJoZ/2Qmcok5zJqqlod8Oid+J9O1lZmHV0MGVySs7E7sMMMnevOJwt1dmyJCuBMC7PYtoQUZK8AU3YUT/r0Qw0kJr5SJNGwObz26xMLWlAL6qxGUjNXPNi5ILypX7vkKjWRRKcgHvANKPSt2/VZdEUKfm7Z8Wj8veSx+Scvcxa9Mn+N7/AfDUQ/P+0fIWsGfqDhAoDbBSNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YumcMgAKEThHn4zM1e4lKexF4p7jX4+RpZNEnLvP8Ng=;
 b=cwIX1nxWIquEnYXIkwmnsaD0X5gQMYxGmGVmLukaNKcvS884CGnMaDhkXfxuEGJL4mnWf3CfnNP9bbZyg2wqQMRltTuMlZB5+tnUFFEMrCn7dPoA2B31KN1lvhpOlh7BurQfMd5d2iSJBGPpfpeWR5mLCy7HSKnaHbTcEDcGm/dMQW8QfzopYat7G8wmPHS8i4pNNXRHw60zxrHn946J/1aEyrbMD7oML1mKEe8fotablSoUnYyeF3gAuSLWy9NuKFV2omqyfSNQnA48iCxL/yhDGp2TQotEgUcb3oTKF7j0hb19Zb4LXjFYrc3M2Uw4CKheH+jQNuitcFlkXC90FA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YumcMgAKEThHn4zM1e4lKexF4p7jX4+RpZNEnLvP8Ng=;
 b=QWfckIXoYOkSVu3kpPDrSfp1bmXo/JHOX9InYfD8AATlq1cm3E/1HRiTonkmD64Zip/FtSY/Hqtk3rnQdr+//1pqvZKrKl6LfpSr9BGGkcfB62X/XSTPbE/2ESc7dUwuMMNrQ7TFi9LdoRthRsux1wU/QKGtzmQ5XywZ8SrkBdI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 16 Mar 2023 17:48:46 +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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 1/6] xen: add reference counter support
Message-ID: <ZBNIbhW3Eu07aj8I@Air-de-Roger>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
 <ZBNBhS2I4XWkwXr0@Air-de-Roger>
 <dc31ee54-b6ce-3251-ab0d-487d9a9bfd35@suse.com>
 <ZBNGO7/NY0VQQM/f@Air-de-Roger>
 <8331a0c4-07fa-0340-20bf-77a5c8661aa1@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <8331a0c4-07fa-0340-20bf-77a5c8661aa1@suse.com>
X-ClientProxiedBy: LNXP123CA0009.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:d2::21) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SA1PR03MB6466:EE_
X-MS-Office365-Filtering-Correlation-Id: 2a438457-e57e-4b0f-03c8-08db263e5295
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L0GFms7iUSTC6TTliEiu+oX3RJc5d/Kb0TTIULfM0yee2dQi3/++zx8YCNUewKDUjbZd3MopCORqDSkFhj0S55wQhxmpNB3sJ17RrWLpA4TsbEs/XmqNjHioajRtw50sD6PgA3Xfe7MdRnPukxDdWz/dp34M8BzvnpW9AUl1Q+rmo8e0AOZaprf9oQ1Fy0r29w/q/rs0CLzlCS1WYPXxqSR+9+DEcODi3XJJJiYoOjm9oeoCOJkFm1RYnyWlYaASVoSURo3/RWBqZmnvqDewaWYatEPe36sWe8ovt7gnuHECdRjjJfmasaWxBCSeLqVrbO8OWFOxBY8ylbRrq+tIX8wfpmIAdjifCLUvCjdvtQOQRiCHK+shWqS1p/H1v9ZZ/CdDCebwyTwTclCuDocWru2m1goMseJSuUqlP2fU65dSWfBbYKGPo1+Yei2uZ5CTyQsPobhW3GTzbLDlNrgySudhY6qSyzhhQHZ/AvCK+/LZzTFfmL4W/VGxESKVG76R/ymhAdGxQjmozVCUGKwE1h/m4Jy/CKa34UyYL+WRhytyYnTMVtLZeddy91wW9DabexPZgdgZFu5HjTCD1bl29cl2RqvjbqnxK0srghxnOG7A1fxtHUUz8hnCZJ+eIAHpXsvmz8TuIZr6//Gkvt+EUg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(366004)(346002)(136003)(39860400002)(396003)(376002)(451199018)(9686003)(83380400001)(8936002)(54906003)(85182001)(26005)(6666004)(6512007)(6506007)(53546011)(82960400001)(33716001)(478600001)(66946007)(38100700002)(2906002)(316002)(4326008)(66556008)(6486002)(8676002)(5660300002)(41300700001)(186003)(66476007)(6916009)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZXFyUlFrMkdJS1lTNVFleWdzWWhOTXhpYmtoN29BMTdIT1ozdEx3RUJIQTVW?=
 =?utf-8?B?bEJyUnRhYkxHcXVBdWRmQlI4U3ZqU29SR2hwbWJlQVdzS0VIWXpaWlFaZEpv?=
 =?utf-8?B?U2xaTGJsc1lETFYwVFprdXdpTUdMdEhQdHR1RytieUY3SW1YWlQzY2poV05O?=
 =?utf-8?B?RExVUnkrSVBwQkVZS1JqSDFaeEdnY2hPWWJ3K2hrb042K1lYMjN1S202U0lI?=
 =?utf-8?B?bmdkWmtSWVFZYzBUZGNHN2ZTaGpDK2pGZDFsYXR3MHV0OXZERVZDeUo5UXRv?=
 =?utf-8?B?NDRwbHJmVGllTTNaYnNGVmpVWXcvUkdHOGlKdUN0ZkpDbWNqVVMzRXNXc2lQ?=
 =?utf-8?B?V2RnUEF3OWdYOXpzSDlXbUxlL1RUeGMzdTd1TG1UR2tJYlJEdlV3MDV0Ynlq?=
 =?utf-8?B?RTRHMDl0N3NZVTNTU3BYOC81NzRBdk1NdnoySitnd1hTNWVTSXRROGpxQUVN?=
 =?utf-8?B?Q09JKzRsYXlESnFaem4zL3RwRjBjcEo1aUpzTkNHK1hreDdoM2dDbE1BUHZt?=
 =?utf-8?B?aVcxaExyak5vSzdtMGs0SW1OSjk2N0xhaVlvelFsNDMyTU53TlJmblQ3V29J?=
 =?utf-8?B?VXVpajJMNm9YZWJWT2k4MFhvcU1tTWJvelA5M2VnQmErNG9wampBdjR4Q2F1?=
 =?utf-8?B?ZGhOZzhGa1lPTytwK29HdHl3RlpzNlVnbXcyeERWb1p2SUR4dVJGbE5acXRQ?=
 =?utf-8?B?WWZQNXJhcU44UStNTERSWS93R3JFNVl0ZkhvQk1VeVZxUzdJY3dsa2krRVF5?=
 =?utf-8?B?NXNWMFQ5bmRXcnlKbitzcFNjaEVjY0NCa2ZPZWxjWkQ2WGNYZU1pdUo2VlQw?=
 =?utf-8?B?ZkE2MGdJSmRGNkxUTXU1MTdzZGFkcVUxQXRJYlp4T1FpS1B5REYvSzAxSWdO?=
 =?utf-8?B?MWhjU1UrdUYyRGVrajV0ZTJtRHNSSzZGbnY3U0JyN0MzWmlZVnM1K2NhSnBu?=
 =?utf-8?B?VXZnZWRuNXJDcWdLaG9GL0ZkRk5hSG5RY0Rja2VPYmxIUGY2SWF6Vm5Tb0Zp?=
 =?utf-8?B?WTJld1pCMjZ5RXg1T1Z4emhVdm5GOStkenJhQ1ZFRitkTTNlbTlFNSs2bng0?=
 =?utf-8?B?aVlLNHpmWEs2MVR5eHUxb1g5VDM3SEdGK2szbmhOTytEYjdNRDRiQnBKeDdl?=
 =?utf-8?B?SnJFcjBJZnFJbjV3LzdMNkl3WjV5QWlaSEVMTkEwL1J6dS8rbS9WdGFNWXVo?=
 =?utf-8?B?cFBkL2daaHB6TWFaejg5S2lWa1RhY1IrQlNYRGFzaFBjeGFuYXI4VzZta0JL?=
 =?utf-8?B?U0E4VFhLcUVBbjRrelpVM0FCZ1BVQXZOZEpnV3prM09CeTZJZGJ1NUdMV20v?=
 =?utf-8?B?cWpmN0NYSU9KOEJVSzlPOWV4OHkzMktZa3ZEZjM3Z3hvSVdTTGU3Tm1tUkRp?=
 =?utf-8?B?ZGJvNXliT25xaW04K1F0YlZQU1BIZjFKM05tVlBGY3NFMXJCRnRSQmRpd3lz?=
 =?utf-8?B?SWsveFFqVC8rYXR0R1VBZHdxeXRFZlIzWi9EMDl1cG9MTzViR1BBU3h5Z21V?=
 =?utf-8?B?aW81Rm9zRDlxcExXcjljT3JsQ3dwWmFLSFpiTnJTMGNyd3F4cTBxbmhWb1Ev?=
 =?utf-8?B?d0V3eWJCdHZUZnMvekRpRW10YlN2djBSMjdJRXZGQ0haWkk3dGV6SzFBYjA0?=
 =?utf-8?B?eWlCNFNhN1E4djhiQkNKNmRrQ0diQ0gxdEZNWXRsRVFjMTFxQmNXdWxabmpm?=
 =?utf-8?B?UFB4bVJWK0c0SUtlVE96YVI2NldUVCtrUS9iaDcxbkc3djd3ZzBGQ1Z4NGRq?=
 =?utf-8?B?dTR6OTVXSmVpejYyQk1LV3phaGtTOWxTank4YnFaWDhja3ErUHVTcU54TG05?=
 =?utf-8?B?RDRNNzBZY25uM3Z6cksyajVpU25ERzlCcXJGMjc0RjRMTjJJQ1VUWGpnMmFH?=
 =?utf-8?B?VCtzbDBGUWtmdE1ZNUp5TEx1aGtLMVYrQjdGWkVHK0I2UDBKZjV0dE1Cc3FR?=
 =?utf-8?B?dWxSMWxaRW0xcWhIZWl3YURPWS90bjBXUXJ0MTg3cTE5anhHT1E2MktHM2xP?=
 =?utf-8?B?ZGtCNFVCZG83QmtlcE5GWnlxMHd3T1dYczYyMkF2bFV3U2x4S1ROMmFYTUFF?=
 =?utf-8?B?MkNEKzNwYWxVU3Z5ZWVxbkpiNU4vWGJGMVFrQzdISlZyVTBac1hiM0lrRzZU?=
 =?utf-8?B?WGdDTHAwNzZCOEc1emNwYnZxVkFGU0ZNQ3Uva2R4Uy94b0FONkV3VW5TL251?=
 =?utf-8?B?dWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	BaRRM4Y473cJ1wOXvGUOO2zVZuCMUy58XIsOM6CDFzkLCRhYwL7GUmBBtaqw7/RjL53I4gd2smxIe9DFUI25475xE+zk+5OeUz0RKieqEnV37lKJzfG8R2Xo1qcMzfZoiJhVmWR95GDfjQWLFDJm+ugichBCq/SFg9P9qaupl8sfZ4cutDNv0WxPPSnAXq86InrmWHSxTki6Sfc7jTB70geV6V523aw3LiK/RcAb3WBd/tWRrORKPZNhzvU2PPQt1Mx/T/5TV81HnKdes3vl9Ri4waX1BqPPgdDaVewFv7+uwrNLW5wM8q33ZqutLqgJQx5EF+f2eHL4wo/G5MZ8/xRovQhi3p5CWQnwz59Opq9rEL4MZKRMij0K2S94tRNFhviO33xxmWBVmqAom6zuZBZH8XxIId30RoY7xeDrJmUkwMx0IQbXZln2XActRPOLZ7ojEeHjK2j9ne4YrHnu9Wq2qNB9tmC5evFPT2i4tYQWOTQJzOIymdMCHSyDaD6jJFDdMryFUReIgdc41baz7RYWdkhFiAxPujbi94t55HksS2RI8TriJX5RepxjTvQBs3DCOShOi1VgeClrJyTK0M/q9SNNhmvQJUOAfPsgHjA1OVFjh0xZoFjlDh4ZcCbs2TntMno1vmdrggZlyJiK6VzSUnzJ7xmj/EUPBD9CSNX3pw9M2B/61COM0i1Kp6NNdmONwBQbQeFTddjnNPIvsbng/E5CoLrDsGTJeNUfDEf25iod6e4fdVb3CpIsz3EE4vKzckenkbGgU3hTFqdh/UF/LbCUWjXfGYP7bLqB/OIasGwHxsnxiX6Qev55NlQrRqwHGMVnDXlN4tAOKV/7JWbo25SO/NzfCIAt5qhKfrP7KK1zstb5sanLDhIErWg4
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a438457-e57e-4b0f-03c8-08db263e5295
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 16:48:52.1038
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5Abdpi/V0a1ArGe4UcTjEH0J/subyhbp5aqoTNM/XgSVrqvByzo/8ePcE8CREVj2TFFuNbWUKvKIS0pla6hA0g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6466

On Thu, Mar 16, 2023 at 05:43:18PM +0100, Jan Beulich wrote:
> On 16.03.2023 17:39, Roger Pau Monné wrote:
> > On Thu, Mar 16, 2023 at 05:32:38PM +0100, Jan Beulich wrote:
> >> On 16.03.2023 17:19, Roger Pau Monné wrote:
> >>> On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
> >>>> +static inline void refcnt_get(refcnt_t *refcnt)
> >>>> +{
> >>>> +    int old = atomic_add_unless(&refcnt->refcnt, 1, 0);
> >>>
> >>> Occurred to me while looking at the next patch:
> >>>
> >>> Don't you also need to print a warning (and saturate the counter
> >>> maybe?) if old == 0, as that would imply the caller is attempting
> >>> to take a reference of an object that should be destroyed? IOW: it
> >>> would point to some kind of memory leak.
> >>
> >> Hmm, I notice the function presently returns void. I think what to do
> >> when the counter is zero needs leaving to the caller. See e.g.
> >> get_page() which will simply indicate failure to the caller in case
> >> the refcnt is zero. (There overflow handling also is left to the
> >> caller ... All that matters is whether a ref can be acquired.)
> > 
> > Hm, likely.  I guess pages never go away even when it's refcount
> > reaches 0.
> > 
> > For the pdev case attempting to take a refcount on an object that has
> > 0 refcounts implies that the caller is using leaked memory, as the
> > point an object reaches 0 it supposed to be destroyed.
> 
> Hmm, my thinking was that a device would remain at refcnt 0 until it is
> actually removed, i.e. refcnt == 0 being a prereq for pci_remove_device()
> to be willing to do anything at all. But maybe that's not a viable model.

Right, I think the intention was for pci_remove_device() to drop the
refcount to 0 and do the removal, so the refcount should be 1 when
calling pci_remove_device().  But none of this is written down, so
it's mostly my assumptions from looking at the code.

I have some comments about the model in patch 2, I think we need to
clarify the intended usage on the commit log about pdev and refcounts.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 16:56:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 16:56:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510743.789033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqtd-0007Bu-5c; Thu, 16 Mar 2023 16:56:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510743.789033; Thu, 16 Mar 2023 16:56: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 1pcqtd-0007Bn-2n; Thu, 16 Mar 2023 16:56:09 +0000
Received: by outflank-mailman (input) for mailman id 510743;
 Thu, 16 Mar 2023 16: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcqtb-0007Bh-RL
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 16:56:07 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20628.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 709f80d6-c41b-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 17:56:05 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7474.eurprd04.prod.outlook.com (2603:10a6:20b:1d9::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 16:56:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 16:56: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: 709f80d6-c41b-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Wh5VfUGhlcgD5XOnXGOgdXOm0P+BfKRGbIxsN7j3prYytq5SywjqHrFAWi1q53duxSDQYFtbU0H8x3gDKoTUxWt4bfuXr/hsnUctCwxpx1BeLiVp2BRgiNiexx5qVtLTNCo/bSTC78pKNfH9o3YOMeVy3fNwVIHbcxslqKQx0CY8zUrz6ziVFPer0Ce9h74CoP5xMJdQ/5rRF6h0Na4aKudqc5y7datJ132P1Ew2NDfTTuowyTuI6QBVePkjCymBBlo9upsB63lvViDGg9INQPzynDyVC7ymkhEs96mY7HVopnj2rgS1r/eXOwRcC/dHMutqOI3UPE2JVOExy+n46Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EoYtS6FIFHj0yhJbGSZSkmElypIr8mg/xeYqKVNiFe0=;
 b=jx2F5dfAcBcpqp9Xr8vI7kRW66cDE9w1iXLZHepfY12J3zlTYkWz6fNpqqP7iL2LTxGteEiM9Om4Wfu9rF62mzkqyiyKspbJKVQh2lbu5ECCxnS0vzVRSYDqSW5fZHlu/pZcUNF4QCX64rcQuPNO7uduQIfDeoaCh4AGLa4TVYA0qe3xyGmRAGPocwXgWdQFl80jvG6f65qAaOd/Ggm7F1NkG4p/kO7nTKJ/UdkdiOyIBnG4t6J5bPatc4nxafP07o+cieFVYP2Nrz5xMvjChXpnOecQiuV5y5Sb7vf8zlAvuSPXa7sWRz997ovHZQokX1IPoco887bmT4tp+kbS7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EoYtS6FIFHj0yhJbGSZSkmElypIr8mg/xeYqKVNiFe0=;
 b=UkRTRJnIIhneHzmdx/Jl+XFCdVmZCY4OmY7L9iUTQONjMD5+Et1/Njh7EjBMmBmJzxDl4Ubny57D4RGCiYnRy+wjkW5ZphWW8xpyH/A1Fy3EYS8Kx8SleMgPq+EmRd2bynJ7m9FuULoG2mszE/AODDiI30ODenD5VIQ3r2sZEizYwZnPzuJj8+g/NNFXHAsv9nYFZO54dkUqC9CqBDI8P8aDVHXXJlTachI1XP/gXzWVBdAkPsGtzjC/1T2wjQQ/YJd/8GfvZHzKTMTlU+XjGW/qvhdjSTmDAT26gW7FIGY/2MDwmQ/+VqtF+mllq78otKBejf2J5nRikDk4ggmvyg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9693e011-a0df-4b18-fc49-fe8f46d97d9f@suse.com>
Date: Thu, 16 Mar 2023 17:56:00 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 1/6] xen: add reference counter support
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
 <ZBNBhS2I4XWkwXr0@Air-de-Roger>
 <dc31ee54-b6ce-3251-ab0d-487d9a9bfd35@suse.com>
 <ZBNGO7/NY0VQQM/f@Air-de-Roger>
 <8331a0c4-07fa-0340-20bf-77a5c8661aa1@suse.com>
 <ZBNIbhW3Eu07aj8I@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBNIbhW3Eu07aj8I@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0114.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7474:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c54fcc7-2810-4aeb-38f7-08db263f5385
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tG0H6cD6bl+c5E5s1OKDe6SH2TFlx6YtUljJKeeQehbKu5yRx9adYu2s70HyHwP0q6+aGqw816xTmT4HvHnNAUrOvurfkx9OcTjozpLpDVBNktmZuQV4CHGHxZi6f2gRsW+0lX2giZOmgdIIDG6C40q7Z4AvOzJfRNFrIWw6BFXyr88c7AyIxoDvPfw8Qw+nzH0P+u9cFWDk3lXtDx30vaiV3hVY3s8DFJW06tS2jsqmpWbsXhMB/pxNDJVt9ZwqwW++5Vq3maIRaJyk3e3atfS0VJxWKZVHiQKcWRCFwuY1ku6iAxxRycyZp7JRW5TRkQ/M3u0XVtsZK8wng9d6WfylB0XkRi0vfYPsULY7TrLrQwv96XB7H82TrsLwboa5/z3dEHHkFF5jrqy9sIjQe7VIbuouzh9Z5YEfCG1T84hLcxZrmpj/3mRsB63rEsqm9KxmdcEqOODU2h3Vbhp61k+1bfqisHtEthd2fji/+26bsH6SX4e5PSYmR8YX7nhUoRb4aVGa01Gy13qIuCY6bXH68CaFUvsJCU13Y7/COahANgycwaswZU/y75/M/NbZnPqdiRM79h2rNjjvmz3GJNV8lQS86Y6+N6HeF/koVL2HsGn0eGHjQ0qRh+3tgmm74vQFb3rTQPqnpgJBHTe8tEMBZu/dq9FWikZVraaTGbJfksO2rBLjiA+dPofKbKjU3zGw9tV9+ie6QJSgQmpGosxAcqh68iV6uWtH2UO1WwY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(39860400002)(136003)(346002)(376002)(451199018)(31686004)(36756003)(4326008)(41300700001)(8936002)(5660300002)(2906002)(31696002)(38100700002)(86362001)(478600001)(66946007)(66476007)(66556008)(8676002)(6486002)(6916009)(54906003)(316002)(6506007)(53546011)(6512007)(26005)(186003)(83380400001)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MUpsVlpHVlU0NHhuUStUV2NCMnpzYkFraFVQd2FRRzB3eU9Va2p4dW1uR1FH?=
 =?utf-8?B?VjJKblo5cUEycGFTc0dYT0laLzlJVWRyN1VXbk1kdXp5UUN1K3dsQXlLbURM?=
 =?utf-8?B?SUt6U0d4YVhTZ1hjd21tbld3R0xaTXBGaWFRVDlTMmVUZCsyTHluU283K1A5?=
 =?utf-8?B?ZkE1SUs2STgzZitGL1ExV2R5YkZ2SjhGMjVCNlVCVjZsUjBWcG1BWk1mV1Iw?=
 =?utf-8?B?OWJXUU5wQXI0a29HME0vWG92Z29QY04wci9iSklvdnpuMlpNOUs4MGtaV2ZJ?=
 =?utf-8?B?YjdGUjdwZVZkcEg0NnhoWUlyY0RhYkVZbmx1ZUxUSzVWQis2dnJnRTdGOEpt?=
 =?utf-8?B?Y1lpT3dlTzhwMVhyWGpwYVByT21NTURPS0UvcEo2RE1SM3MxMFZidWtLZGZU?=
 =?utf-8?B?d2RWc0RXNitRVHpNcjJveWdpamVDTU1Ka2NUVGdWbTVCbE9KbVE5NS9NVzJa?=
 =?utf-8?B?T0dGckwxOWlrMHRJUEozSVcvOEVIV3BBc2tCdnVWdlQzclYwSWlXMGtaZFkz?=
 =?utf-8?B?OTgxWGsrOE1Kc2V3Ulkra1VCTFN3bjdIMmJteW9DZjFEQ1VqTktKNXhjMGpX?=
 =?utf-8?B?cWM5UU1iYmZQaURmQW9WcVhCOFBQeUJua3k2Q0Q0cU1DMm9zZVpId2ZBNXpE?=
 =?utf-8?B?cFljM1M1ZEpRZ3JHdG01WnZUTEtDdnRTcjIwUThmaVpja2w5Nzl2ZDgvbW00?=
 =?utf-8?B?WmZTRGdKQUJwRlQ2Skl6aytoeTBUQkpPb0ZDcTJoTmxvNi9WU2l3aTFlT0tv?=
 =?utf-8?B?QXZRUVdjekZ6cFdpU0JwR3Fsc3JadkdsUEZMRDA0OHZVbG5JeUFZcHVONm1R?=
 =?utf-8?B?UVp2UzBKTVpENU9qNU16cDBKRWpPWEZ5RlZNSDdBeHRqZWV2NEJTcndRNlVy?=
 =?utf-8?B?Ly9qS1R4bUFwY2ZwOWh3NldBamliYjR6Sk00N3RvbVVwR3FCSjVBdkhtTnRR?=
 =?utf-8?B?R1A0NXNoa0MyMXM5aUxNQ0pqMFRqNmt0ZTNpWTNsUmJYSnFpdVc0bnVsZi92?=
 =?utf-8?B?U1R5ZlZGQUtRVUtzTTNmbFRwcktDZVJUZUc2YmZtTkNmN01TcEp6a2xjS0hu?=
 =?utf-8?B?RnRmVSt4M3hHdkVOUk91c3RTOUtHWVlxTVhJQ044eWlOZEpiWmNoRC9qcy9l?=
 =?utf-8?B?eTZSdDRRSDI5eFk5b0x6Z0dURXFCUWpKRlNSYmVsckIzeTJaSldFNEQraTF4?=
 =?utf-8?B?U1QvMzA2UVcxTE5kMDdDNkZHWnR4c20xbVJqd1U3Y1hYT1Ara0dGcHYyaDJ1?=
 =?utf-8?B?U0hkSDhjSGQyQmwxbmdzSzFiMnEwVi9NaWZsU2lvZERpdUxsV0pCYlVYUjBl?=
 =?utf-8?B?RTQ5SUM1ZENiVHF4Wmc1MjlQV0hmVjFaNUVTa2R6U0FnTGd0Q1FQblAzbEJW?=
 =?utf-8?B?SlVVb2JXdStNMGw3SE1yRWtXVnpkM1Z2V2g5bFpRdFZ6a0I1RHZWeDhFUU9u?=
 =?utf-8?B?NkhySTVVQndiaEVmRFVzSEJtR1h5NXFlVzJubk5qelVtVWJ5cURJN1dNZEpi?=
 =?utf-8?B?RDUzZkhMZXB2Z3BITjlhQW41MzlxdFdjb3BQZnExZHllRy81WlBZbjhkaFVp?=
 =?utf-8?B?YU1oNXBFNVQ1Z0hOR2VKZGU1VUhFUmxaZVRVbFExaVVYeEtwaHoydEV6LzVw?=
 =?utf-8?B?VytaS1JVMU1FM3ppcmtUaDdadUF5b2wyK0pJY3RXaEhwb0lhU3RmZ2lXNWRp?=
 =?utf-8?B?emdhSDdXdEk5V3g0NysxcXh6YllFU0p5QmZZNnR5VXM4MklyMWhqTUtKM2Ni?=
 =?utf-8?B?NS92am5mbFg0UDlEMVZNSjEwNTFwdWV6aUNwUEdRMzRZNWVJZHMzUHVGVlM2?=
 =?utf-8?B?cUROdkZ1Z0JmWlFPU0pidjZVN3Z6VkFSU2VGY0h4L2NaNzl1SUZlS3MzamF0?=
 =?utf-8?B?VXowUC94WDMxTDFkeE9UdDJvRDViQ2F3ZitPbjVWOUNmQXd4WnlqNXNWZ0Zl?=
 =?utf-8?B?bEw2dDFwampYRkZNV3dKL083RjZoT0N3aVMzRm1PdjBPVzMwemtvN0M2VFlZ?=
 =?utf-8?B?aGFLclpMWTdqZGlEYUxPUE9SSzF4R1ZPS1FnWEVkMUZLczhIeVZSaCtIRmky?=
 =?utf-8?B?cStXYm0wTTEvZ2t5aURlZUZVa1Azd1BCU3gyV2lxc1NiVkpRaUFMUzZNWGFk?=
 =?utf-8?Q?i4t3PU8il0YyulSgOQLQL6V5A?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c54fcc7-2810-4aeb-38f7-08db263f5385
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 16:56:03.0498
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PQCM1+LAtjvVrVVYyBHxu9kRdjy1ztNBkmv0l5d/7tY+tigpCN9kMZqmo4qN6bGgUx35asMf/1db+NzLf5HTqQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7474

On 16.03.2023 17:48, Roger Pau Monné wrote:
> On Thu, Mar 16, 2023 at 05:43:18PM +0100, Jan Beulich wrote:
>> On 16.03.2023 17:39, Roger Pau Monné wrote:
>>> On Thu, Mar 16, 2023 at 05:32:38PM +0100, Jan Beulich wrote:
>>>> On 16.03.2023 17:19, Roger Pau Monné wrote:
>>>>> On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
>>>>>> +static inline void refcnt_get(refcnt_t *refcnt)
>>>>>> +{
>>>>>> +    int old = atomic_add_unless(&refcnt->refcnt, 1, 0);
>>>>>
>>>>> Occurred to me while looking at the next patch:
>>>>>
>>>>> Don't you also need to print a warning (and saturate the counter
>>>>> maybe?) if old == 0, as that would imply the caller is attempting
>>>>> to take a reference of an object that should be destroyed? IOW: it
>>>>> would point to some kind of memory leak.
>>>>
>>>> Hmm, I notice the function presently returns void. I think what to do
>>>> when the counter is zero needs leaving to the caller. See e.g.
>>>> get_page() which will simply indicate failure to the caller in case
>>>> the refcnt is zero. (There overflow handling also is left to the
>>>> caller ... All that matters is whether a ref can be acquired.)
>>>
>>> Hm, likely.  I guess pages never go away even when it's refcount
>>> reaches 0.
>>>
>>> For the pdev case attempting to take a refcount on an object that has
>>> 0 refcounts implies that the caller is using leaked memory, as the
>>> point an object reaches 0 it supposed to be destroyed.
>>
>> Hmm, my thinking was that a device would remain at refcnt 0 until it is
>> actually removed, i.e. refcnt == 0 being a prereq for pci_remove_device()
>> to be willing to do anything at all. But maybe that's not a viable model.
> 
> Right, I think the intention was for pci_remove_device() to drop the
> refcount to 0 and do the removal, so the refcount should be 1 when
> calling pci_remove_device().  But none of this is written down, so
> it's mostly my assumptions from looking at the code.

Could such work at all? The function can't safely drop a reference
and _then_ check whether it was the last one. The function either has
to take refcnt == 0 as prereq, or it needs to be the destructor
function that refcnt_put() calls.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 17:01:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 17:01:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510747.789043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcqz6-0000WD-Qv; Thu, 16 Mar 2023 17:01:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510747.789043; Thu, 16 Mar 2023 17:01: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 1pcqz6-0000W6-OI; Thu, 16 Mar 2023 17:01:48 +0000
Received: by outflank-mailman (input) for mailman id 510747;
 Thu, 16 Mar 2023 17:01: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=Ta6a=7I=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pcqz5-0000W0-Gn
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 17:01:47 +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 3b5400ff-c41c-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 18:01:45 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAWPR04MB9744.eurprd04.prod.outlook.com (2603:10a6:102:383::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Thu, 16 Mar
 2023 17:01:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.026; Thu, 16 Mar 2023
 17:01:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b5400ff-c41c-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OSlPtAKY+/Z9Otkqw3uFhXazDznlebQD0WONTtHXusGsijD73GVNx0VnPSsWEFS5AI4oTMdQS6rC7fxAkpZlvwkgNMrEvAum0aKGKb8ew1wmwF1r7O4eZz8nmAdwMmG62FU8TypkHwff4l0Y9Aaa3npsDv1vkXn3DkMwRl/M6SSE0jK7awGCt5m2Axh3vVD4YHQ0N+MrcgrizLusXr822Ga3fP/Xgjvk5EVcOoBvs89JXxQyrOauUFKRMGiV/Ms7WpBCOL17jfkF2JD8xBYOeez72bNHDDaNGjHikWCMqO3d0GPiysM6Jrwy51NqMv4qXiTnFfrL8MSUSV6nDzaZJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=K0zqmNGtyNBxwZJ7G0RJaTA+YW8M6jhF3wozVWt5Xvs=;
 b=jATczK8jYga5FPRmHY5vN3B2um3taOFKMKgDRus6CyPX3/LSxhXhKGd9OCmuuUEy7/v22X9cjnGCpPLPxhvKRrmBlqiQdMtM0TYi/RZcZ0L8KAUXDqtjVzPCqahYLVIEAgK+749+eW37+ms4J1AgG9Y/MJOP8CEMhAOBVtfv//ovQN0uZufDnzBlZAf9BGoTxK/djNj0MLE6SePF5mYgFsXlJAt/7KyB8o4SNgUYGayTCin3M/Xewn0fORgIgJSk2iCWxWwCkG26uXbxaD+GF5s/uTc/aULYaN3aDHg5K0sGFiof6tEh9qyPmAzbkdAQrW+riiriXV0qbVmHXwwwZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=K0zqmNGtyNBxwZJ7G0RJaTA+YW8M6jhF3wozVWt5Xvs=;
 b=kulaIzKN3PgGk4KOGU92PUSHReryP4JHXCGsA6IaFPjCl6cqkGowMEMnknmn6psdhFx2X2YKnhyVsg2qdAXHEusEHXHeD9cPSxT1JA+wBrqU6d9GkRM/2+ljXQZgTdIUoD2IAkZP84yXLfKZDOCPOU8Bowz1vT8FeHKa9zXPaF2GONE+p+6r8RCqquCkeHsAwAROfRSz64LhsfGqrxlNBXuaVCIjUoo4oXkp4RfcQO6d9FJ6BLFmWpBMoqHXN6ugUuMHc81922wGFbKkAUlR9pisKusVnaYubEnMbLftMxNGIvFstD2lFF69hyBqjOjqirTstzONoUpfIJerGhQnaA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <57c7c2e4-ae68-19c4-2140-f5a41fc1a6d3@suse.com>
Date: Thu, 16 Mar 2023 18:01:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 1/6] xen: add reference counter support
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.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: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0013.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAWPR04MB9744:EE_
X-MS-Office365-Filtering-Correlation-Id: d402d530-e461-47c9-6c02-08db26401e46
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fINNB/I9A3F50MMR39Bikc7ACXNRUDtRPw2IRZOt8DetIT+31PFX3AUxHsPLNHpsioJ2cjyY63mExEmxb3kffRNLqgH4QZI3loRkqf1gqEQRpAlwoaYaVn5SC5dCTp6DQuK/ShMub4MXKZZZsy5StpMhHae1fYXvsx/Kuzw4BsK///RChtFRzxOccsqwxmvI4w0e7WuAnrr+ApEeyfklIhX2clWQE6LwCXhuFel0vH/0zK3udBg0wjZWRTLFTK4E2pNhrUkFTIl0/buSB5lZ+coT/Q92vgThS2qj4hkGFB/509Q0iE+rfi6GARRvNS7NrSdDsFD/3AJWVnNZUAZWxwW5WEBBZlZ4Hbyaysb+1NHundzhkLn/N5xFwKKNdglZRcl8fUT4gVE6g7m2RziZ+XEt1w2gNQ5jS8BWS+yD+LzyG7VnRbnVINUkzIDkotVvx3ijubljuNhrIPeRdTey142gBdce7lk6EeM3av57mQeBhJh33XBb1k25bTomPk7cQec8J9VxR/r4q/wzfSnoB90HmNEoCxdT3xaUUJKQq65JQaBjcpEmAtF6smDT64BINwoSdwqoUGVdcC8/j1VO6yju5ZOA49nRIn8F2bdqwQA2GPUgIvL6s/+YUyBJzRHt2m33zFczYnVz+kBjV97+/gdkx8sOAfjPe+drAfAMXlt9pPPuEbyWpFNgJTBugngPa7Mk130Ecr1OQlfJi2/WiRfBrJ64DqpK+vsAdAJbl74=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(366004)(39860400002)(136003)(376002)(396003)(451199018)(5660300002)(8936002)(41300700001)(2906002)(6486002)(4744005)(31696002)(38100700002)(36756003)(316002)(8676002)(4326008)(66476007)(83380400001)(66556008)(86362001)(478600001)(54906003)(66946007)(53546011)(26005)(6506007)(6512007)(6916009)(2616005)(31686004)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bllIZ2VvNlJkQm5tMVIzcWZSbkpWOXpOVjllVjBFY3VyRHRiQlQybkhkRFlo?=
 =?utf-8?B?MXgwdENaK00yMjVGOHhQRHJGUFdhMmFGVitvRkpDRWhXcjQzdG1qTjNxVmlh?=
 =?utf-8?B?cmE4b09xcTVmUmN6eFhaL0pCTjJQbHNhZkVHNG9ZbFNmN21hUFRxVnhESXMz?=
 =?utf-8?B?QURxS1IzR04xR2pNYllnVEVFYXZYNjBwWnRCb1luSnZTa2RGb3J4RVkwRmZn?=
 =?utf-8?B?eHRXUHhUdldKbVZ0S2pRWm9oU1dtRFU0Zmh4Y0FLa3h0bk1yVnFaeERLditH?=
 =?utf-8?B?aGVCdVdIb2RjZ1Q4LzhmZmZsT1pwa3dlMHB6VnRHNHA3Y0llNnNBWDA4ekF2?=
 =?utf-8?B?bm5QaDhQS1V4VnI0ckNvTVhkN0J2Q0Z2bTl0eklnem9xaTI3RFNpSFQrWUpJ?=
 =?utf-8?B?enBtNm5MQjFpODFvUFBMSnlGTWd4WHc1WVA0ZC9IdzY0Nmg5WU4xYlhNL3lq?=
 =?utf-8?B?RXVwMklHWC9aZGU2WVhGQlpFU28vMUN2ZnVWWFhPSnBXaDN3RXQ3RjZ3MSti?=
 =?utf-8?B?QytLSWhlQloyVHRVRDRrdGQvd2taWisxRHB5OU9SUHJZWnBNcXkrWG03R2xh?=
 =?utf-8?B?d29lVVV4QTZhNEhmVERYajRLS2wrdGFEYzluVzJLY1EyR3Z0YXYra3dXeVkw?=
 =?utf-8?B?RVNhTzdiYzE1MEJ3Y3Z0V1ZvWGNLTzlCSnkwT2tja2plbnZwTllGWjBBM1dh?=
 =?utf-8?B?RS9FY0UzQVd5ZFJqSXMyaUFhRzBzdjVVbnJnNEd1Q0lPRjZPR3grSWpSanpm?=
 =?utf-8?B?YVFFdkdsZTNncU5hTmlVVEtUakkrZlFMOFZFNGhqRjkzT3FYQU1vcVc2QUVu?=
 =?utf-8?B?N1JDUnI5UFczZUhzYmJETmhqNW9jZVNDdUFCamxjNkJDNWRIWHJrZVphOGZH?=
 =?utf-8?B?MEVWWWx5NGJCbUVLZ0wwS3BaT01HMXFkUUhER0lNQWgxaEhhTEJLbHpKSDhp?=
 =?utf-8?B?VllMK2l5MFFuTWFtRFJ2SEEwVFVid3o4citXSWNRbE42Y1lIUDFrRThRVUNZ?=
 =?utf-8?B?VEJjaW01RG5MUDFpcFl0MUxOY0c5QVB3SFBqYVRDSW9PTGN2VFhmSC9qcG1W?=
 =?utf-8?B?TUR4OXF3WVZvdjlZa1VHSHExNjFXNGRuZEFuTGVkT2FmWUxPNEpER1EwUzJq?=
 =?utf-8?B?eTZYamQ1ZDBNT3VjWVZHYkpnMXdnUm9sdVR0dmNpL2VJUWlMUlBISTFVY0tE?=
 =?utf-8?B?MGhJK0VFRHJpQkNYcTFzdUFGbnZ2WG9uOGxhV3pCZU96V2l6RmYzcFAxT3BB?=
 =?utf-8?B?UU1CMDZpalRGbE9HaXpxWk5SQXhtVGhrRnJISVhjK0JLcm05UC9uUjVoUkZQ?=
 =?utf-8?B?VmQ1djhnZHZSUTF6ZHFFR0VSQ0FSNFhpUy9HRXVBd3czb0pweFlKZnhLYTRa?=
 =?utf-8?B?d3pmZ2dNcVgzTlNETmlPR0pidzArMVAway9NaldMTC9oazBvejRBcGExUWVM?=
 =?utf-8?B?OGtYUmV4QWlzOXZNTnlrV1lxUU5OVmVpV2JpUWpxV3RETEJQUzY2alU1d2c3?=
 =?utf-8?B?RWttUDNJeTBJZkVDQVAwbTROWUxDcG1ZUEcrd09LWHVDWitubS9EcVdvbnpJ?=
 =?utf-8?B?RG9mb0F2aityci9wZVk1ZERPQUMxTTdLSnhsT2M3RmRCa1AzSC9VbFJIenpH?=
 =?utf-8?B?NlpDVDh0VWYwWkhKeDdIQXNnMlNpdlJEeW44YlZCRENoMEZCbWV5L3VuM0g4?=
 =?utf-8?B?eGxPTjhtQkxIQStnU3FNK2V6S3F0TkwydW9uSUlaenIrdEREZ1FBdWNia3Y3?=
 =?utf-8?B?Rm1ZdzVCdTZwb09SbW5lWTdHSCtnZHBCZGJMU0dHQk40SEtEcWhRaUFDa2pU?=
 =?utf-8?B?Nk9VUDkxbk9tT2RqNTJ4Y1haRkU0TFVEY2U3VlVjU0Z0R2RHdGFYbGZZSnRC?=
 =?utf-8?B?bSt1b1ZxSkx2ZjZ3TTRJTkNLS0Z1WlRwa3ZybjRqdGZObnZsb2htU0pkalEy?=
 =?utf-8?B?L2tTQ1laSGsyeW1DR2FTYmU0bWgyRVJyUFpQVlRrL0RKemYrM09KQnVIZkJP?=
 =?utf-8?B?SzJBYU1nQVNUN0hjV3BCZlV3SE5yZnd3ekZmODM4aWNHdk5SdUNFWTFqZ0Nq?=
 =?utf-8?B?MkkwaU8wcFIrMzR0Z0dTU0ZseTB4ZVVBZUVKaFhpY2YxQ3hRb1lrdUJhQ3l0?=
 =?utf-8?Q?4eZOrLBvb/kY0fy1i7Pe03mQK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d402d530-e461-47c9-6c02-08db26401e46
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Mar 2023 17:01:43.2626
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Zw8UhMEUKnvtAHRYRdQiiCBiWC/BA/SKH+BvtS0QXcKjM2NmJ0UihHuEsJe+7PbMD1YCrJjAJuBFUGqRQGDfNw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9744

On 14.03.2023 21:56, Volodymyr Babchuk wrote:
> +static inline void refcnt_put(refcnt_t *refcnt, void (*destructor)(refcnt_t *refcnt))

Hmm, this means all callers need to pass (and agree on) the supposedly
single destructor function that needs calling. Wouldn't the destructor
function better be stored elsewhere (and supplied to e.g. refcnt_init())?

> +{
> +    int ret = atomic_dec_return(&refcnt->refcnt);
> +
> +    if ( ret == 0 )
> +        destructor(refcnt);
> +
> +    if ( unlikely(ret < 0))
> +    {
> +        atomic_set(&refcnt->refcnt, REFCNT_SATURATED);

It's undefined whether *refcnt still exists once the destructor was
called (which would have happened before we can make it here). While
even the atomic_dec_return() above would already have acted in an
unknown way in this case I don't think it's a good idea to access the
object yet another time. (Same for the "negative" case in
refcnt_get() then.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 17:12:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 17:12:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510749.789053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcr9E-0002KC-P9; Thu, 16 Mar 2023 17:12:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510749.789053; Thu, 16 Mar 2023 17: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 1pcr9E-0002K5-Km; Thu, 16 Mar 2023 17:12:16 +0000
Received: by outflank-mailman (input) for mailman id 510749;
 Thu, 16 Mar 2023 17:12: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 1pcr9D-0002Jt-2k; Thu, 16 Mar 2023 17:12: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 1pcr9C-0005T2-Vw; Thu, 16 Mar 2023 17:12:14 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pcr9C-0004Js-Hl; Thu, 16 Mar 2023 17:12:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcr9C-0005lq-HH; Thu, 16 Mar 2023 17:12: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=v/tpswMOc0m3xCaSFZHUXCw0HCMc68cjrGkIbPSXkSI=; b=lhA3NvragR6viEH+7SpKgF4oee
	Px/fkmcT/KbF5y68h8tv5/aqVbyR3zFNuRSLac80+02uLegpDzVnGVs7dzHfAK4zSp+Z8UQIMOi2+
	8m/NVHbvPB+mfkYgnKKfJdRu9gFW7ONFbVMKrK/pgeuQ7Y39smUZD9Fde3IFoL1hfuak=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179687-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179687: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=36e49fc8cbad21a4308b4701caaa685ef04e120b
X-Osstest-Versions-That:
    xen=5d8f05e10646aeef1c4a49610c0c44a7cdaf62a3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Mar 2023 17:12:14 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  36e49fc8cbad21a4308b4701caaa685ef04e120b
baseline version:
 xen                  5d8f05e10646aeef1c4a49610c0c44a7cdaf62a3

Last test of basis   179681  2023-03-16 13:00:25 Z    0 days
Testing same since   179687  2023-03-16 15:00:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Jason Andryuk <jandryuk@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   5d8f05e106..36e49fc8cb  36e49fc8cbad21a4308b4701caaa685ef04e120b -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 17:17:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 17:17:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510756.789093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcrDp-0003ib-8c; Thu, 16 Mar 2023 17:17:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510756.789093; Thu, 16 Mar 2023 17: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 1pcrDp-0003iI-4M; Thu, 16 Mar 2023 17:17:01 +0000
Received: by outflank-mailman (input) for mailman id 510756;
 Thu, 16 Mar 2023 17:16: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=ItE1=7I=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pcrDl-0002vw-Bk
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 17:16:59 +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 5861528a-c41e-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 18:16:53 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 9B5D25C0190;
 Thu, 16 Mar 2023 13:16:52 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Thu, 16 Mar 2023 13:16:52 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Mar 2023 13:16:50 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5861528a-c41e-11ed-87f5-c1b5be75604c
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=1678987012; x=1679073412; bh=z2
	+ALtPkmqdmrdzfdMafEUjVXNvAbJp11gDIxBQFMbk=; b=UYfYuSvdLy79fNgo1w
	8oe81U7ETGQVBFaUaM2cikvqlCgcUNiPq5q4+6tSssNVcerbeRYHONpYwNDfcVOr
	z4+P/05c9DPlBd8Tsh0tM3lcVNL4dzACrxPrr7gTyPqyRR2529SCucZxsXQwZiq0
	3LD/ObtGV9lKM0WT8nVSS1XQqmVIasKXyr1NdfJ/7zIABztnLX3G8sNlUccdSBck
	WKQvHuvOkbOxdmNKC4UpC1H4oZSpCUWj7c9bTvwrtTn30Fr35U9SWzuTZ+uUlWo8
	9U+BgE7Rzfcb/dgBG5x6D+Tl0lFgwv5zUmeURiJVe7kP6dKjJ26elTUSDxGhx1yn
	TP2g==
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=fm2; t=
	1678987012; x=1679073412; bh=z2+ALtPkmqdmrdzfdMafEUjVXNvAbJp11gD
	IxBQFMbk=; b=a4cpaD7Ddiix//CPVWDMa83cjT/spMsK2w0y98IYhBea7h1cGUa
	LiAOyq2KJ66DplVsLVQaSI3HlJZc/Ehh8dijSr/NJxs12XB6+3USVzquYjU6rRAs
	428YCjJzNr5v2VfOGthtV22gu9mjgV1VpHcneIj0wZEJPyGkxLoPCWWhFn70zy6s
	BqyG+xF54xuSIwi/tULX0+obI8D42EiSNwFYHxx4/80egCqGYD4lK75LZHjzzPIq
	Ywg6mZeWa7RCRdwDCyztT0U514n6i0ekJlma2L4NM8azmwNn+BU5kyXeFxOdWT7n
	OXDVq+jKyRric/DNdF3Afm8NHcfjqYhY0jg==
X-ME-Sender: <xms:BE8TZOVQXP_Leag5ke4Jjxjo1yAwtiN0lB0E8zciiKBie3nAJfhgkw>
    <xme:BE8TZKlLDhwI2q9UL_uDwJFCVo_kNO5jLWHK18NH19unusSdibYk_tG_7fBQ-_0U9
    eZs2iz66udTDw>
X-ME-Received: <xmr:BE8TZCZlPA8RGrzAWS3vMhPLyPVxQWF83NDmIJ_YqfYqlFnfMFtdsyZW4AOBoHfsIdQOtBWHV8BN3xrFHVRKImzzw7cLU3KRRIfWdA3bLK4E3qdetdwT>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeftddguddttdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgr
    rhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghkse
    hinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhep
    jeduvdehgfevgfejhfelffehgedtveekteevjefgteejgeevieeiffeukeeuhfeinecuff
    homhgrihhnpeigvghnrdhorhhgpdhsuhgsrddqshhhvghllhdpshhusgdrshhhvghllhdp
    ohhuthdrihhtnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh
    homhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:BE8TZFWhgjexcjFiB1chWqbAtlMIV25SxWJ7wmBci4Ee8gJXr1BjNQ>
    <xmx:BE8TZInTMKw2jYknF8MslkRbEXXzAcTULL27A3Fy0qeBwepiGrFwmw>
    <xmx:BE8TZKfDCYCntmAGoxiay5a-U77nBjpEkOe8tHs47oTCYLXJDH303A>
    <xmx:BE8TZEuiqoGvGFb3fWCEMV6Ma9PQAiy8JUg2uCgK0Wm00WkSQdKPDw>
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>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 3/4] tools: regenerate configure
Date: Thu, 16 Mar 2023 18:16:33 +0100
Message-Id: <20230316171634.320626-3-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230316171634.320626-1-marmarek@invisiblethingslab.com>
References: <20230316171634.320626-1-marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Regenerate after m4/python_devel.m4 change.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 tools/configure | 6598 ++++++++++++++++++++++++++---------------------
 1 file changed, 3653 insertions(+), 2945 deletions(-)

diff --git a/tools/configure b/tools/configure
index dae377c98252..0462141fa47b 100755
--- a/tools/configure
+++ b/tools/configure
@@ -1,11 +1,12 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for Xen Hypervisor Tools 4.18.
+# Generated by GNU Autoconf 2.71 for Xen Hypervisor Tools 4.18.
 #
 # Report bugs to <xen-devel@lists.xen.org>.
 #
 #
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation,
+# Inc.
 #
 #
 # This configure script is free software; the Free Software Foundation
@@ -16,14 +17,16 @@
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+as_nop=:
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
-else
+else $as_nop
   case `(set -o) 2>/dev/null` in #(
   *posix*) :
     set -o posix ;; #(
@@ -33,46 +36,46 @@ esac
 fi
 
 
+
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
 as_nl='
 '
 export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-	expr "X$arg" : "X\\(.*\\)$as_nl";
-	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
+IFS=" ""	$as_nl"
+
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh).  This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
+if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2)            ; then :; else exec 2>/dev/null; fi
 
 # The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
+if ${PATH_SEPARATOR+false} :; then
   PATH_SEPARATOR=:
   (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
     (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
@@ -81,13 +84,6 @@ if test "${PATH_SEPARATOR+set}" != set; then
 fi
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""	$as_nl"
-
 # Find who we are.  Look in the path if we contain no directory separator.
 as_myself=
 case $0 in #((
@@ -96,8 +92,12 @@ case $0 in #((
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    test -r "$as_dir$0" && as_myself=$as_dir$0 && break
   done
 IFS=$as_save_IFS
 
@@ -109,30 +109,10 @@ if test "x$as_myself" = x; then
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   exit 1
 fi
 
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 # Use a proper internal environment variable to ensure we don't fall
   # into an infinite loop, continuously re-executing ourselves.
@@ -154,20 +134,22 @@ esac
 exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
 # Admittedly, this is quite paranoid, since all the known shells bail
 # out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
+exit 255
   fi
   # We don't want this to propagate to other subprocesses.
           { _as_can_reexec=; unset _as_can_reexec;}
 if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  as_bourne_compatible="as_nop=:
+if test \${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '\${1+\"\$@\"}'='\"\$@\"'
   setopt NO_GLOB_SUBST
-else
+else \$as_nop
   case \`(set -o) 2>/dev/null\` in #(
   *posix*) :
     set -o posix ;; #(
@@ -187,42 +169,52 @@ as_fn_success || { exitcode=1; echo as_fn_success failed.; }
 as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
 as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
 as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+if ( set x; as_fn_ret_success y && test x = \"\$1\" )
+then :
 
-else
+else \$as_nop
   exitcode=1; echo positional parameters were not saved.
 fi
 test x\$exitcode = x0 || exit 1
+blah=\$(echo \$(echo blah))
+test x\"\$blah\" = xblah || exit 1
 test -x / || exit 1"
   as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
   as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
   eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
+  if (eval "$as_required") 2>/dev/null
+then :
   as_have_required=yes
-else
+else $as_nop
   as_have_required=no
 fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null
+then :
 
-else
+else $as_nop
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 as_found=false
 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
   as_found=:
   case $as_dir in #(
 	 /*)
 	   for as_base in sh bash ksh sh5; do
 	     # Try only shells that exist, to save several forks.
-	     as_shell=$as_dir/$as_base
+	     as_shell=$as_dir$as_base
 	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+		    as_run=a "$as_shell" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
   CONFIG_SHELL=$as_shell as_have_required=yes
-		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+		   if as_run=a "$as_shell" -c "$as_bourne_compatible""$as_suggested" 2>/dev/null
+then :
   break 2
 fi
 fi
@@ -230,14 +222,21 @@ fi
        esac
   as_found=false
 done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
 IFS=$as_save_IFS
+if $as_found
+then :
+
+else $as_nop
+  if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      as_run=a "$SHELL" -c "$as_bourne_compatible""$as_required" 2>/dev/null
+then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi
+fi
 
 
-      if test "x$CONFIG_SHELL" != x; then :
+      if test "x$CONFIG_SHELL" != x
+then :
   export CONFIG_SHELL
              # We cannot yet assume a decent shell, so we have to provide a
 # neutralization value for shells without unset; and this also
@@ -255,18 +254,19 @@ esac
 exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
 # Admittedly, this is quite paranoid, since all the known shells bail
 # out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
+printf "%s\n" "$0: could not re-execute with $CONFIG_SHELL" >&2
 exit 255
 fi
 
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+    if test x$as_have_required = xno
+then :
+  printf "%s\n" "$0: This script requires a shell more modern than all"
+  printf "%s\n" "$0: the shells that I found on your system."
+  if test ${ZSH_VERSION+y} ; then
+    printf "%s\n" "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    printf "%s\n" "$0: be upgraded to zsh 4.3.4 or later."
   else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org and
+    printf "%s\n" "$0: Please tell bug-autoconf@gnu.org and
 $0: xen-devel@lists.xen.org about your system, including
 $0: any error possibly output before this message. Then
 $0: install a modern shell, or manually run the script
@@ -294,6 +294,7 @@ as_fn_unset ()
 }
 as_unset=as_fn_unset
 
+
 # as_fn_set_status STATUS
 # -----------------------
 # Set $? to STATUS, without forking.
@@ -311,6 +312,14 @@ as_fn_exit ()
   as_fn_set_status $1
   exit $1
 } # as_fn_exit
+# as_fn_nop
+# ---------
+# Do nothing but, unlike ":", preserve the value of $?.
+as_fn_nop ()
+{
+  return $?
+}
+as_nop=as_fn_nop
 
 # as_fn_mkdir_p
 # -------------
@@ -325,7 +334,7 @@ as_fn_mkdir_p ()
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -334,7 +343,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$as_dir" : 'X\(//\)[^/]' \| \
 	 X"$as_dir" : 'X\(//\)$' \| \
 	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
+printf "%s\n" X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -373,12 +382,13 @@ as_fn_executable_p ()
 # advantage of any shell optimizations that allow amortized linear growth over
 # repeated appends, instead of the typical quadratic growth present in naive
 # implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
   eval 'as_fn_append ()
   {
     eval $1+=\$2
   }'
-else
+else $as_nop
   as_fn_append ()
   {
     eval $1=\$$1\$2
@@ -390,18 +400,27 @@ fi # as_fn_append
 # Perform arithmetic evaluation on the ARGs, and store the result in the
 # global $as_val. Take advantage of shells that can avoid forks. The arguments
 # must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
   eval 'as_fn_arith ()
   {
     as_val=$(( $* ))
   }'
-else
+else $as_nop
   as_fn_arith ()
   {
     as_val=`expr "$@" || test $? -eq 1`
   }
 fi # as_fn_arith
 
+# as_fn_nop
+# ---------
+# Do nothing but, unlike ":", preserve the value of $?.
+as_fn_nop ()
+{
+  return $?
+}
+as_nop=as_fn_nop
 
 # as_fn_error STATUS ERROR [LINENO LOG_FD]
 # ----------------------------------------
@@ -413,9 +432,9 @@ as_fn_error ()
   as_status=$1; test $as_status -eq 0 && as_status=1
   if test "$4"; then
     as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $2" >&2
+  printf "%s\n" "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
@@ -442,7 +461,7 @@ as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
 	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
+printf "%s\n" X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
 	    s//\1/
 	    q
@@ -486,7 +505,7 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
       s/-\n.*//
     ' >$as_me.lineno &&
   chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+    { printf "%s\n" "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
 
   # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
   # already done that, so ensure we don't try to do so again and fall
@@ -500,6 +519,10 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
   exit
 }
 
+
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
 ECHO_C= ECHO_N= ECHO_T=
 case `echo -n x` in #(((((
 -n*)
@@ -513,6 +536,13 @@ case `echo -n x` in #(((((
   ECHO_N='-n';;
 esac
 
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n.  New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
+
+
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
   rm -f conf$$.dir/conf$$.file
@@ -588,40 +618,36 @@ PACKAGE_URL='https://www.xen.org/'
 ac_unique_file="libs/light/libxl.c"
 # Factoring default headers for most tests.
 ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
+#include <stddef.h>
+#ifdef HAVE_STDIO_H
+# include <stdio.h>
 #endif
-#ifdef STDC_HEADERS
+#ifdef HAVE_STDLIB_H
 # include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
 #endif
 #ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
 # include <string.h>
 #endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
 #ifdef HAVE_INTTYPES_H
 # include <inttypes.h>
 #endif
 #ifdef HAVE_STDINT_H
 # include <stdint.h>
 #endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
 #ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif"
 
+ac_header_c_list=
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
 pvshim
@@ -659,9 +685,6 @@ PKG_CONFIG
 TINFO_LIBS
 CURSES_LIBS
 PY_NOOPT_CFLAGS
-EGREP
-GREP
-CPP
 pyconfig
 PYTHONPATH
 BASH
@@ -852,7 +875,6 @@ LD86
 BCC
 IASL
 AWK
-CPP
 PKG_CONFIG
 PKG_CONFIG_PATH
 PKG_CONFIG_LIBDIR
@@ -934,8 +956,6 @@ do
   *)    ac_optarg=yes ;;
   esac
 
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
   case $ac_dashdash$ac_option in
   --)
     ac_dashdash=yes ;;
@@ -976,9 +996,9 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "enable_$ac_useropt"
@@ -1002,9 +1022,9 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
+      as_fn_error $? "invalid feature name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "enable_$ac_useropt"
@@ -1215,9 +1235,9 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "with_$ac_useropt"
@@ -1231,9 +1251,9 @@ do
     ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
     expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
+      as_fn_error $? "invalid package name: \`$ac_useropt'"
     ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    ac_useropt=`printf "%s\n" "$ac_useropt" | sed 's/[-+.]/_/g'`
     case $ac_user_opts in
       *"
 "with_$ac_useropt"
@@ -1277,9 +1297,9 @@ Try \`$0 --help' for more information"
 
   *)
     # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    printf "%s\n" "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+      printf "%s\n" "$as_me: WARNING: invalid host type: $ac_option" >&2
     : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
     ;;
 
@@ -1295,7 +1315,7 @@ if test -n "$ac_unrecognized_opts"; then
   case $enable_option_checking in
     no) ;;
     fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+    *)     printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
 fi
 
@@ -1359,7 +1379,7 @@ $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$as_myself" : 'X\(//\)[^/]' \| \
 	 X"$as_myself" : 'X\(//\)$' \| \
 	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
+printf "%s\n" X"$as_myself" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -1601,7 +1621,6 @@ Some influential environment variables:
   BCC         Path to bcc tool
   IASL        Path to iasl tool
   AWK         Path to awk tool
-  CPP         C preprocessor
   PKG_CONFIG  path to pkg-config utility
   PKG_CONFIG_PATH
               directories to add to pkg-config's search path
@@ -1644,9 +1663,9 @@ if test "$ac_init_help" = "recursive"; then
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
   case $ac_top_builddir_sub in
   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -1674,7 +1693,8 @@ esac
 ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
     cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
+    # Check for configure.gnu first; this name is used for a wrapper for
+    # Metaconfig's "Configure" on case-insensitive file systems.
     if test -f "$ac_srcdir/configure.gnu"; then
       echo &&
       $SHELL "$ac_srcdir/configure.gnu" --help=recursive
@@ -1682,7 +1702,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
       echo &&
       $SHELL "$ac_srcdir/configure" --help=recursive
     else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+      printf "%s\n" "$as_me: WARNING: no configuration information is in $ac_dir" >&2
     fi || ac_status=$?
     cd "$ac_pwd" || { ac_status=$?; break; }
   done
@@ -1692,9 +1712,9 @@ test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 Xen Hypervisor Tools configure 4.18
-generated by GNU Autoconf 2.69
+generated by GNU Autoconf 2.71
 
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2021 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
@@ -1711,14 +1731,14 @@ fi
 ac_fn_c_try_compile ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
+  rm -f conftest.$ac_objext conftest.beam
   if { { ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compile") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -1726,14 +1746,15 @@ $as_echo "$ac_try_echo"; } >&5
     cat conftest.er1 >&5
     mv -f conftest.er1 conftest.err
   fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && {
 	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
+       } && test -s conftest.$ac_objext
+then :
   ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
@@ -1749,14 +1770,14 @@ fi
 ac_fn_c_try_link ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
+  rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext
   if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -1764,17 +1785,18 @@ $as_echo "$ac_try_echo"; } >&5
     cat conftest.er1 >&5
     mv -f conftest.er1 conftest.err
   fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; } && {
 	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
        } && test -s conftest$ac_exeext && {
 	 test "$cross_compiling" = yes ||
 	 test -x conftest$ac_exeext
-       }; then :
+       }
+then :
   ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 	ac_retval=1
@@ -1789,176 +1811,6 @@ fi
 
 } # ac_fn_c_try_link
 
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_cpp
-
-# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
-# -------------------------------------------------------
-# Tests whether HEADER exists, giving a warning if it cannot be compiled using
-# the include files in INCLUDES and setting the cache variable VAR
-# accordingly.
-ac_fn_c_check_header_mongrel ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-else
-  # Is the header compilable?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
-$as_echo_n "checking $2 usability... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-#include <$2>
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_header_compiler=yes
-else
-  ac_header_compiler=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
-$as_echo "$ac_header_compiler" >&6; }
-
-# Is the header present?
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
-$as_echo_n "checking $2 presence... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <$2>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  ac_header_preproc=yes
-else
-  ac_header_preproc=no
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
-$as_echo "$ac_header_preproc" >&6; }
-
-# So?  What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
-  yes:no: )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
-$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-    ;;
-  no:yes:* )
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
-$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
-$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
-$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
-$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
-$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
-( $as_echo "## -------------------------------------- ##
-## Report this to xen-devel@lists.xen.org ##
-## -------------------------------------- ##"
-     ) | sed "s/^/$as_me: WARNING:     /" >&2
-    ;;
-esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=\$ac_header_compiler"
-fi
-eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_try_run LINENO
-# ----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_run
-
 # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
 # -------------------------------------------------------
 # Tests whether HEADER exists and can be compiled using the include files in
@@ -1966,26 +1818,28 @@ fi
 ac_fn_c_check_header_compile ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 #include <$2>
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   eval "$3=yes"
-else
+else $as_nop
   eval "$3=no"
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_header_compile
@@ -1996,11 +1850,12 @@ $as_echo "$ac_res" >&6; }
 ac_fn_c_check_func ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+printf %s "checking for $2... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 /* Define $2 to an innocuous variant, in case <limits.h> declares $2.
@@ -2008,16 +1863,9 @@ else
 #define $2 innocuous_$2
 
 /* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
+   which can conflict with char $2 (); below.  */
 
+#include <limits.h>
 #undef $2
 
 /* Override any GCC internal prototype to avoid an error.
@@ -2035,47 +1883,51 @@ choke me
 #endif
 
 int
-main ()
+main (void)
 {
 return $2 ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   eval "$3=yes"
-else
+else $as_nop
   eval "$3=no"
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 fi
 eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
 } # ac_fn_c_check_func
 
-# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
-# ---------------------------------------------
+# ac_fn_check_decl LINENO SYMBOL VAR INCLUDES EXTRA-OPTIONS FLAG-VAR
+# ------------------------------------------------------------------
 # Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
-# accordingly.
-ac_fn_c_check_decl ()
+# accordingly. Pass EXTRA-OPTIONS to the compiler, using FLAG-VAR.
+ac_fn_check_decl ()
 {
   as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
   as_decl_name=`echo $2|sed 's/ *(.*//'`
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+printf %s "checking whether $as_decl_name is declared... " >&6; }
+if eval test \${$3+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
-$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
-if eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  eval ac_save_FLAGS=\$$6
+  as_fn_append $6 " $5"
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 $4
 int
-main ()
+main (void)
 {
 #ifndef $as_decl_name
 #ifdef __cplusplus
@@ -2089,27 +1941,50 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   eval "$3=yes"
-else
+else $as_nop
   eval "$3=no"
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+  eval $6=\$ac_save_FLAGS
+
 fi
 eval ac_res=\$$3
-	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
+	       { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+printf "%s\n" "$ac_res" >&6; }
   eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
 
-} # ac_fn_c_check_decl
+} # ac_fn_check_decl
+ac_configure_args_raw=
+for ac_arg
+do
+  case $ac_arg in
+  *\'*)
+    ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+  esac
+  as_fn_append ac_configure_args_raw " '$ac_arg'"
+done
+
+case $ac_configure_args_raw in
+  *$as_nl*)
+    ac_safe_unquote= ;;
+  *)
+    ac_unsafe_z='|&;<>()$`\\"*?[ ''	' # This string ends in space, tab.
+    ac_unsafe_a="$ac_unsafe_z#~"
+    ac_safe_unquote="s/ '\\([^$ac_unsafe_a][^$ac_unsafe_z]*\\)'/ \\1/g"
+    ac_configure_args_raw=`      printf "%s\n" "$ac_configure_args_raw" | sed "$ac_safe_unquote"`;;
+esac
+
 cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by Xen Hypervisor Tools $as_me 4.18, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
+generated by GNU Autoconf 2.71.  Invocation command line was
 
-  $ $0 $@
+  $ $0$ac_configure_args_raw
 
 _ACEOF
 exec 5>>config.log
@@ -2142,8 +2017,12 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    printf "%s\n" "PATH: $as_dir"
   done
 IFS=$as_save_IFS
 
@@ -2178,7 +2057,7 @@ do
     | -silent | --silent | --silen | --sile | --sil)
       continue ;;
     *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+      ac_arg=`printf "%s\n" "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
     1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
@@ -2213,11 +2092,13 @@ done
 # WARNING: Use '\'' to represent an apostrophe within the trap.
 # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
 trap 'exit_status=$?
+  # Sanitize IFS.
+  IFS=" ""	$as_nl"
   # Save into config.log some information that might help in debugging.
   {
     echo
 
-    $as_echo "## ---------------- ##
+    printf "%s\n" "## ---------------- ##
 ## Cache variables. ##
 ## ---------------- ##"
     echo
@@ -2228,8 +2109,8 @@ trap 'exit_status=$?
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -2253,7 +2134,7 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
 )
     echo
 
-    $as_echo "## ----------------- ##
+    printf "%s\n" "## ----------------- ##
 ## Output variables. ##
 ## ----------------- ##"
     echo
@@ -2261,14 +2142,14 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
     do
       eval ac_val=\$$ac_var
       case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      *\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
       esac
-      $as_echo "$ac_var='\''$ac_val'\''"
+      printf "%s\n" "$ac_var='\''$ac_val'\''"
     done | sort
     echo
 
     if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
+      printf "%s\n" "## ------------------- ##
 ## File substitutions. ##
 ## ------------------- ##"
       echo
@@ -2276,15 +2157,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       do
 	eval ac_val=\$$ac_var
 	case $ac_val in
-	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	*\'\''*) ac_val=`printf "%s\n" "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
 	esac
-	$as_echo "$ac_var='\''$ac_val'\''"
+	printf "%s\n" "$ac_var='\''$ac_val'\''"
       done | sort
       echo
     fi
 
     if test -s confdefs.h; then
-      $as_echo "## ----------- ##
+      printf "%s\n" "## ----------- ##
 ## confdefs.h. ##
 ## ----------- ##"
       echo
@@ -2292,8 +2173,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       echo
     fi
     test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
+      printf "%s\n" "$as_me: caught signal $ac_signal"
+    printf "%s\n" "$as_me: exit $exit_status"
   } >&5
   rm -f core *.core core.conftest.* &&
     rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
@@ -2307,63 +2188,48 @@ ac_signal=0
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
 rm -f -r conftest* confdefs.h
 
-$as_echo "/* confdefs.h */" > confdefs.h
+printf "%s\n" "/* confdefs.h */" > confdefs.h
 
 # Predefined preprocessor variables.
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
+printf "%s\n" "#define PACKAGE_NAME \"$PACKAGE_NAME\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
+printf "%s\n" "#define PACKAGE_TARNAME \"$PACKAGE_TARNAME\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
+printf "%s\n" "#define PACKAGE_VERSION \"$PACKAGE_VERSION\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
+printf "%s\n" "#define PACKAGE_STRING \"$PACKAGE_STRING\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
+printf "%s\n" "#define PACKAGE_BUGREPORT \"$PACKAGE_BUGREPORT\"" >>confdefs.h
 
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
+printf "%s\n" "#define PACKAGE_URL \"$PACKAGE_URL\"" >>confdefs.h
 
 
 # Let the site file select an alternate cache file if it wants to.
 # Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
 if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
+  ac_site_files="$CONFIG_SITE"
 elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
+  ac_site_files="$prefix/share/config.site $prefix/etc/config.site"
 else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
+  ac_site_files="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
 fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+
+for ac_site_file in $ac_site_files
 do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+  case $ac_site_file in #(
+  */*) :
+     ;; #(
+  *) :
+    ac_site_file=./$ac_site_file ;;
+esac
+  if test -f "$ac_site_file" && test -r "$ac_site_file"; then
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+printf "%s\n" "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
     . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+      || { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "failed to load site script $ac_site_file
 See \`config.log' for more details" "$LINENO" 5; }
   fi
@@ -2373,155 +2239,548 @@ if test -r "$cache_file"; then
   # Some versions of bash will fail to source /dev/null (special files
   # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
   if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+printf "%s\n" "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
       [\\/]* | ?:[\\/]* ) . "$cache_file";;
       *)                      . "./$cache_file";;
     esac
   fi
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+printf "%s\n" "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
 
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-	# differences in whitespace do not lead to failure.
-	ac_old_val_w=`echo x $ac_old_val`
-	ac_new_val_w=`echo x $ac_new_val`
-	if test "$ac_old_val_w" != "$ac_new_val_w"; then
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-	  ac_cache_corrupted=:
-	else
-	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-	  eval $ac_var=\$ac_old_val
-	fi
-	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
+# Test code for whether the C compiler supports C89 (global declarations)
+ac_c_conftest_c89_globals='
+/* Does the compiler advertise C89 conformance?
+   Do not test the value of __STDC__, because some compilers set it to 0
+   while being otherwise adequately conformant. */
+#if !defined __STDC__
+# error "Compiler does not advertise C89 conformance"
+#endif
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+#include <stddef.h>
+#include <stdarg.h>
+struct stat;
+/* Most of the following tests are stolen from RCS 5.7 src/conf.sh.  */
+struct buf { int x; };
+struct buf * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
 
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not \xHH hex character constants.
+   These do not provoke an error unfortunately, instead are silently treated
+   as an "x".  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously \x00 != x always comes out true, for an
+   array size at least.  It is necessary to write \x00 == 0 to get something
+   that is true only with -std.  */
+int osf4_cc_array ['\''\x00'\'' == 0 ? 1 : -1];
 
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) '\''x'\''
+int xlc6_cc_array[FOO(a) == '\''x'\'' ? 1 : -1];
 
-ac_config_files="$ac_config_files ../config/Tools.mk hotplug/common/hotplugpath.sh hotplug/FreeBSD/rc.d/xencommons hotplug/FreeBSD/rc.d/xendriverdomain hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/sysconfig.xendomains hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/init.d/xendriverdomain hotplug/Linux/launch-xenstore hotplug/Linux/vif-setup hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons hotplug/NetBSD/rc.d/xendriverdomain ocaml/libs/xs/paths.ml ocaml/xenstored/paths.ml ocaml/xenstored/oxenstored.conf"
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, int *(*)(struct buf *, struct stat *, int),
+               int, int);'
 
-ac_config_headers="$ac_config_headers config.h"
+# Test code for whether the C compiler supports C89 (body of main).
+ac_c_conftest_c89_main='
+ok |= (argc == 0 || f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]);
+'
 
-ac_aux_dir=
-for ac_dir in ../ "$srcdir"/../; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
+# Test code for whether the C compiler supports C99 (global declarations)
+ac_c_conftest_c99_globals='
+// Does the compiler advertise C99 conformance?
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L
+# error "Compiler does not advertise C99 conformance"
+#endif
+
+#include <stdbool.h>
+extern int puts (const char *);
+extern int printf (const char *, ...);
+extern int dprintf (int, const char *, ...);
+extern void *malloc (size_t);
+
+// Check varargs macros.  These examples are taken from C99 6.10.3.5.
+// dprintf is used instead of fprintf to avoid needing to declare
+// FILE and stderr.
+#define debug(...) dprintf (2, __VA_ARGS__)
+#define showlist(...) puts (#__VA_ARGS__)
+#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
+static void
+test_varargs_macros (void)
+{
+  int x = 1234;
+  int y = 5678;
+  debug ("Flag");
+  debug ("X = %d\n", x);
+  showlist (The first, second, and third items.);
+  report (x>y, "x is %d but y is %d", x, y);
+}
+
+// Check long long types.
+#define BIG64 18446744073709551615ull
+#define BIG32 4294967295ul
+#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
+#if !BIG_OK
+  #error "your preprocessor is broken"
+#endif
+#if BIG_OK
+#else
+  #error "your preprocessor is broken"
+#endif
+static long long int bignum = -9223372036854775807LL;
+static unsigned long long int ubignum = BIG64;
+
+struct incomplete_array
+{
+  int datasize;
+  double data[];
+};
+
+struct named_init {
+  int number;
+  const wchar_t *name;
+  double average;
+};
+
+typedef const char *ccp;
+
+static inline int
+test_restrict (ccp restrict text)
+{
+  // See if C++-style comments work.
+  // Iterate through items via the restricted pointer.
+  // Also check for declarations in for loops.
+  for (unsigned int i = 0; *(text+i) != '\''\0'\''; ++i)
+    continue;
+  return 0;
+}
+
+// Check varargs and va_copy.
+static bool
+test_varargs (const char *format, ...)
+{
+  va_list args;
+  va_start (args, format);
+  va_list args_copy;
+  va_copy (args_copy, args);
+
+  const char *str = "";
+  int number = 0;
+  float fnumber = 0;
+
+  while (*format)
+    {
+      switch (*format++)
+	{
+	case '\''s'\'': // string
+	  str = va_arg (args_copy, const char *);
+	  break;
+	case '\''d'\'': // int
+	  number = va_arg (args_copy, int);
+	  break;
+	case '\''f'\'': // float
+	  fnumber = va_arg (args_copy, double);
+	  break;
+	default:
+	  break;
+	}
+    }
+  va_end (args_copy);
+  va_end (args);
+
+  return *str && number && fnumber;
+}
+'
+
+# Test code for whether the C compiler supports C99 (body of main).
+ac_c_conftest_c99_main='
+  // Check bool.
+  _Bool success = false;
+  success |= (argc != 0);
+
+  // Check restrict.
+  if (test_restrict ("String literal") == 0)
+    success = true;
+  char *restrict newvar = "Another string";
+
+  // Check varargs.
+  success &= test_varargs ("s, d'\'' f .", "string", 65, 34.234);
+  test_varargs_macros ();
+
+  // Check flexible array members.
+  struct incomplete_array *ia =
+    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
+  ia->datasize = 10;
+  for (int i = 0; i < ia->datasize; ++i)
+    ia->data[i] = i * 1.234;
+
+  // Check named initializers.
+  struct named_init ni = {
+    .number = 34,
+    .name = L"Test wide string",
+    .average = 543.34343,
+  };
+
+  ni.number = 58;
+
+  int dynamic_array[ni.number];
+  dynamic_array[0] = argv[0][0];
+  dynamic_array[ni.number - 1] = 543;
+
+  // work around unused variable warnings
+  ok |= (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == '\''x'\''
+	 || dynamic_array[ni.number - 1] != 543);
+'
+
+# Test code for whether the C compiler supports C11 (global declarations)
+ac_c_conftest_c11_globals='
+// Does the compiler advertise C11 conformance?
+#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
+# error "Compiler does not advertise C11 conformance"
+#endif
+
+// Check _Alignas.
+char _Alignas (double) aligned_as_double;
+char _Alignas (0) no_special_alignment;
+extern char aligned_as_int;
+char _Alignas (0) _Alignas (int) aligned_as_int;
+
+// Check _Alignof.
+enum
+{
+  int_alignment = _Alignof (int),
+  int_array_alignment = _Alignof (int[100]),
+  char_alignment = _Alignof (char)
+};
+_Static_assert (0 < -_Alignof (int), "_Alignof is signed");
+
+// Check _Noreturn.
+int _Noreturn does_not_return (void) { for (;;) continue; }
+
+// Check _Static_assert.
+struct test_static_assert
+{
+  int x;
+  _Static_assert (sizeof (int) <= sizeof (long int),
+                  "_Static_assert does not work in struct");
+  long int y;
+};
+
+// Check UTF-8 literals.
+#define u8 syntax error!
+char const utf8_literal[] = u8"happens to be ASCII" "another string";
+
+// Check duplicate typedefs.
+typedef long *long_ptr;
+typedef long int *long_ptr;
+typedef long_ptr long_ptr;
+
+// Anonymous structures and unions -- taken from C11 6.7.2.1 Example 1.
+struct anonymous
+{
+  union {
+    struct { int i; int j; };
+    struct { int k; long int l; } w;
+  };
+  int m;
+} v1;
+'
+
+# Test code for whether the C compiler supports C11 (body of main).
+ac_c_conftest_c11_main='
+  _Static_assert ((offsetof (struct anonymous, i)
+		   == offsetof (struct anonymous, w.k)),
+		  "Anonymous union alignment botch");
+  v1.i = 2;
+  v1.w.k = 5;
+  ok |= v1.i != 5;
+'
+
+# Test code for whether the C compiler supports C11 (complete).
+ac_c_conftest_c11_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+${ac_c_conftest_c11_globals}
+
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_c_conftest_c89_main}
+  ${ac_c_conftest_c99_main}
+  ${ac_c_conftest_c11_main}
+  return ok;
+}
+"
+
+# Test code for whether the C compiler supports C99 (complete).
+ac_c_conftest_c99_program="${ac_c_conftest_c89_globals}
+${ac_c_conftest_c99_globals}
+
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_c_conftest_c89_main}
+  ${ac_c_conftest_c99_main}
+  return ok;
+}
+"
+
+# Test code for whether the C compiler supports C89 (complete).
+ac_c_conftest_c89_program="${ac_c_conftest_c89_globals}
+
+int
+main (int argc, char **argv)
+{
+  int ok = 0;
+  ${ac_c_conftest_c89_main}
+  return ok;
+}
+"
+
+as_fn_append ac_header_c_list " stdio.h stdio_h HAVE_STDIO_H"
+as_fn_append ac_header_c_list " stdlib.h stdlib_h HAVE_STDLIB_H"
+as_fn_append ac_header_c_list " string.h string_h HAVE_STRING_H"
+as_fn_append ac_header_c_list " inttypes.h inttypes_h HAVE_INTTYPES_H"
+as_fn_append ac_header_c_list " stdint.h stdint_h HAVE_STDINT_H"
+as_fn_append ac_header_c_list " strings.h strings_h HAVE_STRINGS_H"
+as_fn_append ac_header_c_list " sys/stat.h sys_stat_h HAVE_SYS_STAT_H"
+as_fn_append ac_header_c_list " sys/types.h sys_types_h HAVE_SYS_TYPES_H"
+as_fn_append ac_header_c_list " unistd.h unistd_h HAVE_UNISTD_H"
+
+# Auxiliary files required by this configure script.
+ac_aux_files="install-sh config.guess config.sub"
+
+# Locations in which to look for auxiliary files.
+ac_aux_dir_candidates="${srcdir}/../"
+
+# Search for a directory containing all of the required auxiliary files,
+# $ac_aux_files, from the $PATH-style list $ac_aux_dir_candidates.
+# If we don't find one directory that contains all the files we need,
+# we report the set of missing files from the *first* directory in
+# $ac_aux_dir_candidates and give up.
+ac_missing_aux_files=""
+ac_first_candidate=:
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: looking for aux files: $ac_aux_files" >&5
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in $ac_aux_dir_candidates
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+  as_found=:
+
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}:  trying $as_dir" >&5
+  ac_aux_dir_found=yes
+  ac_install_sh=
+  for ac_aux in $ac_aux_files
+  do
+    # As a special case, if "install-sh" is required, that requirement
+    # can be satisfied by any of "install-sh", "install.sh", or "shtool",
+    # and $ac_install_sh is set appropriately for whichever one is found.
+    if test x"$ac_aux" = x"install-sh"
+    then
+      if test -f "${as_dir}install-sh"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}install-sh found" >&5
+        ac_install_sh="${as_dir}install-sh -c"
+      elif test -f "${as_dir}install.sh"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}install.sh found" >&5
+        ac_install_sh="${as_dir}install.sh -c"
+      elif test -f "${as_dir}shtool"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}shtool found" >&5
+        ac_install_sh="${as_dir}shtool install -c"
+      else
+        ac_aux_dir_found=no
+        if $ac_first_candidate; then
+          ac_missing_aux_files="${ac_missing_aux_files} install-sh"
+        else
+          break
+        fi
+      fi
+    else
+      if test -f "${as_dir}${ac_aux}"; then
+        printf "%s\n" "$as_me:${as_lineno-$LINENO}:   ${as_dir}${ac_aux} found" >&5
+      else
+        ac_aux_dir_found=no
+        if $ac_first_candidate; then
+          ac_missing_aux_files="${ac_missing_aux_files} ${ac_aux}"
+        else
+          break
+        fi
+      fi
+    fi
+  done
+  if test "$ac_aux_dir_found" = yes; then
+    ac_aux_dir="$as_dir"
     break
   fi
+  ac_first_candidate=false
+
+  as_found=false
 done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in ../ \"$srcdir\"/../" "$LINENO" 5
+IFS=$as_save_IFS
+if $as_found
+then :
+
+else $as_nop
+  as_fn_error $? "cannot find required auxiliary files:$ac_missing_aux_files" "$LINENO" 5
 fi
 
+
 # These three variables are undocumented and unsupported,
 # and are intended to be withdrawn in a future Autoconf release.
 # They can cause serious problems if a builder's source tree is in a directory
 # whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+if test -f "${ac_aux_dir}config.guess"; then
+  ac_config_guess="$SHELL ${ac_aux_dir}config.guess"
+fi
+if test -f "${ac_aux_dir}config.sub"; then
+  ac_config_sub="$SHELL ${ac_aux_dir}config.sub"
+fi
+if test -f "$ac_aux_dir/configure"; then
+  ac_configure="$SHELL ${ac_aux_dir}configure"
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	# differences in whitespace do not lead to failure.
+	ac_old_val_w=`echo x $ac_old_val`
+	ac_new_val_w=`echo x $ac_new_val`
+	if test "$ac_old_val_w" != "$ac_new_val_w"; then
+	  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+printf "%s\n" "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  ac_cache_corrupted=:
+	else
+	  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+printf "%s\n" "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  eval $ac_var=\$ac_old_val
+	fi
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+printf "%s\n" "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+printf "%s\n" "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`printf "%s\n" "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+printf "%s\n" "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`${MAKE-make} distclean' and/or \`rm $cache_file'
+	    and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+ac_config_files="$ac_config_files ../config/Tools.mk hotplug/common/hotplugpath.sh hotplug/FreeBSD/rc.d/xencommons hotplug/FreeBSD/rc.d/xendriverdomain hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/sysconfig.xendomains hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/init.d/xendriverdomain hotplug/Linux/launch-xenstore hotplug/Linux/vif-setup hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons hotplug/NetBSD/rc.d/xendriverdomain ocaml/libs/xs/paths.ml ocaml/xenstored/paths.ml ocaml/xenstored/oxenstored.conf"
+
+ac_config_headers="$ac_config_headers config.h"
 
 
 
 # Check if CFLAGS, LDFLAGS, LIBS, CPPFLAGS or CPP is set and print a warning
 
-if test -n "$CC$CFLAGS$LDFLAGS$LIBS$CPPFLAGS$CPP"; then :
+if test -n "$CC$CFLAGS$LDFLAGS$LIBS$CPPFLAGS$CPP"
+then :
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Setting CC, CFLAGS, LDFLAGS, LIBS, CPPFLAGS or CPP is not \
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Setting CC, CFLAGS, LDFLAGS, LIBS, CPPFLAGS or CPP is not \
 recommended, use PREPEND_INCLUDES, PREPEND_LIB, \
 APPEND_INCLUDES and APPEND_LIB instead when possible." >&5
-$as_echo "$as_me: WARNING: Setting CC, CFLAGS, LDFLAGS, LIBS, CPPFLAGS or CPP is not \
+printf "%s\n" "$as_me: WARNING: Setting CC, CFLAGS, LDFLAGS, LIBS, CPPFLAGS or CPP is not \
 recommended, use PREPEND_INCLUDES, PREPEND_LIB, \
 APPEND_INCLUDES and APPEND_LIB instead when possible." >&2;}
 
 fi
 
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+
+
+  # Make sure we can run config.sub.
+$SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL ${ac_aux_dir}config.sub" "$LINENO" 5
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+printf %s "checking build system type... " >&6; }
+if test ${ac_cv_build+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_build_alias=$build_alias
 test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+  ac_build_alias=`$SHELL "${ac_aux_dir}config.guess"`
 test "x$ac_build_alias" = x &&
   as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+ac_cv_build=`$SHELL "${ac_aux_dir}config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $ac_build_alias failed" "$LINENO" 5
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+printf "%s\n" "$ac_cv_build" >&6; }
 case $ac_cv_build in
 *-*-*) ;;
 *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
@@ -2540,21 +2799,22 @@ IFS=$ac_save_IFS
 case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+printf %s "checking host system type... " >&6; }
+if test ${ac_cv_host+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test "x$host_alias" = x; then
   ac_cv_host=$ac_cv_build
 else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+  ac_cv_host=`$SHELL "${ac_aux_dir}config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL ${ac_aux_dir}config.sub $host_alias failed" "$LINENO" 5
 fi
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+printf "%s\n" "$ac_cv_host" >&6; }
 case $ac_cv_host in
 *-*-*) ;;
 *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
@@ -2580,6 +2840,15 @@ rumpxen|rumprun) CONFIG_RUMP=y; rump=true ;;
 esac
 
 
+
+
+
+
+
+
+
+
+
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -2588,11 +2857,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -2600,11 +2870,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2615,11 +2889,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -2628,11 +2902,12 @@ if test -z "$ac_cv_prog_CC"; then
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
 else
@@ -2640,11 +2915,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2655,11 +2934,11 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_CC" = x; then
@@ -2667,8 +2946,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -2681,11 +2960,12 @@ if test -z "$CC"; then
           if test -n "$ac_tool_prefix"; then
     # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -2693,11 +2973,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2708,11 +2992,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -2721,11 +3005,12 @@ fi
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -2734,15 +3019,19 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
      fi
     ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2758,18 +3047,18 @@ if test $ac_prog_rejected = yes; then
     # However, it has the same basename, so the bogon will be chosen
     # first if we set CC to just the basename; use the full file name.
     shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+    ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
   fi
 fi
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -2780,11 +3069,12 @@ if test -z "$CC"; then
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -2792,11 +3082,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2807,11 +3101,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -2824,11 +3118,12 @@ if test -z "$CC"; then
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
 else
@@ -2836,11 +3131,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -2851,11 +3150,11 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -2867,8 +3166,8 @@ done
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -2876,25 +3175,129 @@ esac
 fi
 
 fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
+set dummy ${ac_tool_prefix}clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}clang"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "clang", so it can be a program name with args.
+set dummy clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="clang"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
 
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+fi
+
+
+test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "no acceptable C compiler found in \$PATH
 See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
 set X $ac_compile
 ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
+for ac_option in --version -v -V -qversion -version; do
   { { ac_try="$ac_compiler $ac_option >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compiler $ac_option >&5") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -2904,7 +3307,7 @@ $as_echo "$ac_try_echo"; } >&5
     cat conftest.er1 >&5
   fi
   rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
@@ -2912,7 +3315,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
@@ -2924,9 +3327,9 @@ ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+printf %s "checking whether the C compiler works... " >&6; }
+ac_link_default=`printf "%s\n" "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
 
 # The possible output files:
 ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
@@ -2947,11 +3350,12 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link_default") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+then :
   # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
 # So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
 # in a Makefile.  We should not override ac_cv_exeext if it was cached,
@@ -2968,7 +3372,7 @@ do
 	# certainly right.
 	break;;
     *.* )
-	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	if test ${ac_cv_exeext+y} && test "$ac_cv_exeext" != no;
 	then :; else
 	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
 	fi
@@ -2984,44 +3388,46 @@ do
 done
 test "$ac_cv_exeext" = no && ac_cv_exeext=
 
-else
+else $as_nop
   ac_file=''
 fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
+if test -z "$ac_file"
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error 77 "C compiler cannot create executables
 See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+printf %s "checking for C compiler default output file name... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+printf "%s\n" "$ac_file" >&6; }
 ac_exeext=$ac_cv_exeext
 
 rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+printf %s "checking for suffix of executables... " >&6; }
 if { { ac_try="$ac_link"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+then :
   # If both `conftest.exe' and `conftest' are `present' (well, observable)
 # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
 # work properly (i.e., refer to `conftest.exe'), while it won't with
@@ -3035,15 +3441,15 @@ for ac_file in conftest.exe conftest conftest.*; do
     * ) break;;
   esac
 done
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+else $as_nop
+  { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "cannot compute suffix of executables: cannot compile and link
 See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+printf "%s\n" "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
@@ -3052,7 +3458,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #include <stdio.h>
 int
-main ()
+main (void)
 {
 FILE *f = fopen ("conftest.out", "w");
  return ferror (f) || fclose (f) != 0;
@@ -3064,8 +3470,8 @@ _ACEOF
 ac_clean_files="$ac_clean_files conftest.out"
 # Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+printf %s "checking whether we are cross compiling... " >&6; }
 if test "$cross_compiling" != yes; then
   { { ac_try="$ac_link"
 case "(($ac_try" in
@@ -3073,10 +3479,10 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_link") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
   if { ac_try='./conftest$ac_cv_exeext'
   { { case "(($ac_try" in
@@ -3084,39 +3490,40 @@ $as_echo "$ac_try_echo"; } >&5
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_try") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; }; then
     cross_compiling=no
   else
     if test "$cross_compiling" = maybe; then
 	cross_compiling=yes
     else
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
+	{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
 See \`config.log' for more details" "$LINENO" 5; }
     fi
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+printf "%s\n" "$cross_compiling" >&6; }
 
 rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
 ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+printf %s "checking for suffix of object files... " >&6; }
+if test ${ac_cv_objext+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
@@ -3130,11 +3537,12 @@ case "(($ac_try" in
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compile") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+then :
   for ac_file in conftest.o conftest.obj conftest.*; do
   test -f "$ac_file" || continue;
   case $ac_file in
@@ -3143,31 +3551,32 @@ $as_echo "$ac_try_echo"; } >&5
        break;;
   esac
 done
-else
-  $as_echo "$as_me: failed program was:" >&5
+else $as_nop
+  printf "%s\n" "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "cannot compute suffix of object files: cannot compile
 See \`config.log' for more details" "$LINENO" 5; }
 fi
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+printf "%s\n" "$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
+printf %s "checking whether the compiler supports GNU C... " >&6; }
+if test ${ac_cv_c_compiler_gnu+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 #ifndef __GNUC__
        choke me
@@ -3177,29 +3586,33 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_compiler_gnu=yes
-else
+else $as_nop
   ac_compiler_gnu=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
 if test $ac_compiler_gnu = yes; then
   GCC=yes
 else
   GCC=
 fi
-ac_test_CFLAGS=${CFLAGS+set}
+ac_test_CFLAGS=${CFLAGS+y}
 ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+printf %s "checking whether $CC accepts -g... " >&6; }
+if test ${ac_cv_prog_cc_g+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_save_c_werror_flag=$ac_c_werror_flag
    ac_c_werror_flag=yes
    ac_cv_prog_cc_g=no
@@ -3208,57 +3621,60 @@ else
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_g=yes
-else
+else $as_nop
   CFLAGS=""
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
-else
+else $as_nop
   ac_c_werror_flag=$ac_save_c_werror_flag
 	 CFLAGS="-g"
 	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_g=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
    ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
+if test $ac_test_CFLAGS; then
   CFLAGS=$ac_save_CFLAGS
 elif test $ac_cv_prog_cc_g = yes; then
   if test "$GCC" = yes; then
@@ -3273,94 +3689,144 @@ else
     CFLAGS=
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
+ac_prog_cc_stdc=no
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
+printf %s "checking for $CC option to enable C11 features... " >&6; }
+if test ${ac_cv_prog_cc_c11+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c11=no
 ac_save_CC=$CC
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+$ac_c_conftest_c11_program
+_ACEOF
+for ac_arg in '' -std=gnu11
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_c11=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cc_c11" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
 
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+if test "x$ac_cv_prog_cc_c11" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c11" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
+printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
+     CC="$CC $ac_cv_prog_cc_c11"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
+  ac_prog_cc_stdc=c11
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
+printf %s "checking for $CC option to enable C99 features... " >&6; }
+if test ${ac_cv_prog_cc_c99+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_c_conftest_c99_program
+_ACEOF
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
 
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
+if test "x$ac_cv_prog_cc_c99" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c99" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
+     CC="$CC $ac_cv_prog_cc_c99"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+  ac_prog_cc_stdc=c99
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
+printf %s "checking for $CC option to enable C89 features... " >&6; }
+if test ${ac_cv_prog_cc_c89+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_c_conftest_c89_program
 _ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
+  if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_c89=$ac_arg
 fi
-rm -f core conftest.err conftest.$ac_objext
+rm -f core conftest.err conftest.$ac_objext conftest.beam
   test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
 rm -f conftest.$ac_ext
 CC=$ac_save_CC
-
 fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
 
+if test "x$ac_cv_prog_cc_c89" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c89" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
+     CC="$CC $ac_cv_prog_cc_c89"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+  ac_prog_cc_stdc=c89
+fi
 fi
 
 ac_ext=c
@@ -3371,17 +3837,19 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 # Check whether --enable-largefile was given.
-if test "${enable_largefile+set}" = set; then :
+if test ${enable_largefile+y}
+then :
   enableval=$enable_largefile;
 fi
 
 if test "$enable_largefile" != no; then
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
-$as_echo_n "checking for special C compiler options needed for large files... " >&6; }
-if ${ac_cv_sys_largefile_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5
+printf %s "checking for special C compiler options needed for large files... " >&6; }
+if test ${ac_cv_sys_largefile_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_cv_sys_largefile_CC=no
      if test "$GCC" != yes; then
        ac_save_CC=$CC
@@ -3395,44 +3863,47 @@ else
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-	 if ac_fn_c_try_compile "$LINENO"; then :
+	 if ac_fn_c_try_compile "$LINENO"
+then :
   break
 fi
-rm -f core conftest.err conftest.$ac_objext
+rm -f core conftest.err conftest.$ac_objext conftest.beam
 	 CC="$CC -n32"
-	 if ac_fn_c_try_compile "$LINENO"; then :
+	 if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_sys_largefile_CC=' -n32'; break
 fi
-rm -f core conftest.err conftest.$ac_objext
+rm -f core conftest.err conftest.$ac_objext conftest.beam
 	 break
        done
        CC=$ac_save_CC
        rm -f conftest.$ac_ext
     fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
-$as_echo "$ac_cv_sys_largefile_CC" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5
+printf "%s\n" "$ac_cv_sys_largefile_CC" >&6; }
   if test "$ac_cv_sys_largefile_CC" != no; then
     CC=$CC$ac_cv_sys_largefile_CC
   fi
 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
-$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
-if ${ac_cv_sys_file_offset_bits+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5
+printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; }
+if test ${ac_cv_sys_file_offset_bits+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   while :; do
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -3441,22 +3912,23 @@ else
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_sys_file_offset_bits=no; break
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #define _FILE_OFFSET_BITS 64
@@ -3465,43 +3937,43 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_sys_file_offset_bits=64; break
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
   ac_cv_sys_file_offset_bits=unknown
   break
 done
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
-$as_echo "$ac_cv_sys_file_offset_bits" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5
+printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; }
 case $ac_cv_sys_file_offset_bits in #(
   no | unknown) ;;
   *)
-cat >>confdefs.h <<_ACEOF
-#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits
-_ACEOF
+printf "%s\n" "#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits" >>confdefs.h
 ;;
 esac
 rm -rf conftest*
   if test $ac_cv_sys_file_offset_bits = unknown; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
-$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; }
-if ${ac_cv_sys_large_files+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5
+printf %s "checking for _LARGE_FILES value needed for large files... " >&6; }
+if test ${ac_cv_sys_large_files+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   while :; do
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
@@ -3510,22 +3982,23 @@ else
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_sys_large_files=no; break
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 #define _LARGE_FILES 1
@@ -3534,40 +4007,37 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_sys_large_files=1; break
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
   ac_cv_sys_large_files=unknown
   break
 done
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
-$as_echo "$ac_cv_sys_large_files" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5
+printf "%s\n" "$ac_cv_sys_large_files" >&6; }
 case $ac_cv_sys_large_files in #(
   no | unknown) ;;
   *)
-cat >>confdefs.h <<_ACEOF
-#define _LARGE_FILES $ac_cv_sys_large_files
-_ACEOF
+printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h
 ;;
 esac
 rm -rf conftest*
   fi
-
-
 fi
 
 
@@ -3929,16 +4399,15 @@ CONFIG_DIR=$sysconfdir
 XEN_CONFIG_DIR=$CONFIG_DIR/xen
 
 
-cat >>confdefs.h <<_ACEOF
-#define XEN_CONFIG_DIR "$XEN_CONFIG_DIR"
-_ACEOF
+printf "%s\n" "#define XEN_CONFIG_DIR \"$XEN_CONFIG_DIR\"" >>confdefs.h
 
 
 
 # Check whether --with-initddir was given.
-if test "${with_initddir+set}" = set; then :
+if test ${with_initddir+y}
+then :
   withval=$with_initddir; initddir_path=$withval
-else
+else $as_nop
   case "$host_os" in
          *linux*)
          if test -d $sysconfdir/rc.d/init.d ; then
@@ -3956,9 +4425,10 @@ fi
 
 
 # Check whether --with-sysconfig-leaf-dir was given.
-if test "${with_sysconfig_leaf_dir+set}" = set; then :
+if test ${with_sysconfig_leaf_dir+y}
+then :
   withval=$with_sysconfig_leaf_dir; config_leaf_dir=$withval
-else
+else $as_nop
   config_leaf_dir=sysconfig
     if test ! -d /etc/sysconfig ; then config_leaf_dir=default ; fi
 fi
@@ -3968,52 +4438,55 @@ CONFIG_LEAF_DIR=$config_leaf_dir
 
 
 # Check whether --with-libexec-leaf-dir was given.
-if test "${with_libexec_leaf_dir+set}" = set; then :
+if test ${with_libexec_leaf_dir+y}
+then :
   withval=$with_libexec_leaf_dir; libexec_subdir=$withval
-else
+else $as_nop
   libexec_subdir=$PACKAGE_TARNAME
 fi
 
 
 
 # Check whether --with-xen-scriptdir was given.
-if test "${with_xen_scriptdir+set}" = set; then :
+if test ${with_xen_scriptdir+y}
+then :
   withval=$with_xen_scriptdir; xen_scriptdir_path=$withval
-else
+else $as_nop
   xen_scriptdir_path=$XEN_CONFIG_DIR/scripts
 fi
 
 XEN_SCRIPT_DIR=$xen_scriptdir_path
 
 
-cat >>confdefs.h <<_ACEOF
-#define XEN_SCRIPT_DIR "$XEN_SCRIPT_DIR"
-_ACEOF
+printf "%s\n" "#define XEN_SCRIPT_DIR \"$XEN_SCRIPT_DIR\"" >>confdefs.h
 
 
 
 # Check whether --with-xen-dumpdir was given.
-if test "${with_xen_dumpdir+set}" = set; then :
+if test ${with_xen_dumpdir+y}
+then :
   withval=$with_xen_dumpdir; xen_dumpdir_path=$withval
-else
+else $as_nop
   xen_dumpdir_path=$localstatedir/lib/xen/dump
 fi
 
 
 
 # Check whether --with-rundir was given.
-if test "${with_rundir+set}" = set; then :
+if test ${with_rundir+y}
+then :
   withval=$with_rundir; rundir_path=$withval
-else
+else $as_nop
   rundir_path=$localstatedir/run
 fi
 
 
 
 # Check whether --with-debugdir was given.
-if test "${with_debugdir+set}" = set; then :
+if test ${with_debugdir+y}
+then :
   withval=$with_debugdir; debugdir_path=$withval
-else
+else $as_nop
   debugdir_path=$prefix/lib/debug
 fi
 
@@ -4032,9 +4505,7 @@ LIBEXEC=`eval echo $libexecdir/$libexec_subdir`
 LIBEXEC_BIN=${LIBEXEC}/bin
 
 
-cat >>confdefs.h <<_ACEOF
-#define LIBEXEC_BIN "$LIBEXEC_BIN"
-_ACEOF
+printf "%s\n" "#define LIBEXEC_BIN \"$LIBEXEC_BIN\"" >>confdefs.h
 
 LIBEXEC_LIB=${LIBEXEC}/lib
 
@@ -4043,25 +4514,19 @@ LIBEXEC_INC=${LIBEXEC}/include
 XENFIRMWAREDIR=${LIBEXEC}/boot
 
 
-cat >>confdefs.h <<_ACEOF
-#define XENFIRMWAREDIR "$XENFIRMWAREDIR"
-_ACEOF
+printf "%s\n" "#define XENFIRMWAREDIR \"$XENFIRMWAREDIR\"" >>confdefs.h
 
 
 XEN_RUN_DIR=$rundir_path/xen
 
 
-cat >>confdefs.h <<_ACEOF
-#define XEN_RUN_DIR "$XEN_RUN_DIR"
-_ACEOF
+printf "%s\n" "#define XEN_RUN_DIR \"$XEN_RUN_DIR\"" >>confdefs.h
 
 
 XEN_LOG_DIR=$localstatedir/log/xen
 
 
-cat >>confdefs.h <<_ACEOF
-#define XEN_LOG_DIR "$XEN_LOG_DIR"
-_ACEOF
+printf "%s\n" "#define XEN_LOG_DIR \"$XEN_LOG_DIR\"" >>confdefs.h
 
 
 XEN_RUN_STORED=$rundir_path/xenstored
@@ -4070,9 +4535,7 @@ XEN_RUN_STORED=$rundir_path/xenstored
 XEN_LIB_DIR=$localstatedir/lib/xen
 
 
-cat >>confdefs.h <<_ACEOF
-#define XEN_LIB_DIR "$XEN_LIB_DIR"
-_ACEOF
+printf "%s\n" "#define XEN_LIB_DIR \"$XEN_LIB_DIR\"" >>confdefs.h
 
 
 SHAREDIR=$prefix/share
@@ -4088,9 +4551,7 @@ case "$host_os" in
 esac
 
 
-cat >>confdefs.h <<_ACEOF
-#define XEN_LOCK_DIR "$XEN_LOCK_DIR"
-_ACEOF
+printf "%s\n" "#define XEN_LOCK_DIR \"$XEN_LOCK_DIR\"" >>confdefs.h
 
 
 XEN_PAGING_DIR=$localstatedir/lib/xen/xenpaging
@@ -4099,9 +4560,7 @@ XEN_PAGING_DIR=$localstatedir/lib/xen/xenpaging
 XEN_DUMP_DIR=$xen_dumpdir_path
 
 
-cat >>confdefs.h <<_ACEOF
-#define XEN_DUMP_DIR "$XEN_DUMP_DIR"
-_ACEOF
+printf "%s\n" "#define XEN_DUMP_DIR \"$XEN_DUMP_DIR\"" >>confdefs.h
 
 
 DEBUG_DIR=$debugdir_path
@@ -4111,20 +4570,24 @@ DEBUG_DIR=$debugdir_path
 # Enable/disable options
 
 # Check whether --enable-werror was given.
-if test "${enable_werror+set}" = set; then :
+if test ${enable_werror+y}
+then :
   enableval=$enable_werror;
 fi
 
 
-if test "x$enable_werror" = "xno"; then :
+if test "x$enable_werror" = "xno"
+then :
 
     ax_cv_werror="n"
 
-elif test "x$enable_werror" = "xyes"; then :
+elif test "x$enable_werror" = "xyes"
+then :
 
     ax_cv_werror="y"
 
-elif test -z $ax_cv_werror; then :
+elif test -z $ax_cv_werror
+then :
 
     ax_cv_werror="y"
 
@@ -4134,20 +4597,24 @@ werror=$ax_cv_werror
 
 
 # Check whether --enable-rpath was given.
-if test "${enable_rpath+set}" = set; then :
+if test ${enable_rpath+y}
+then :
   enableval=$enable_rpath;
 fi
 
 
-if test "x$enable_rpath" = "xno"; then :
+if test "x$enable_rpath" = "xno"
+then :
 
     ax_cv_rpath="n"
 
-elif test "x$enable_rpath" = "xyes"; then :
+elif test "x$enable_rpath" = "xyes"
+then :
 
     ax_cv_rpath="y"
 
-elif test -z $ax_cv_rpath; then :
+elif test -z $ax_cv_rpath
+then :
 
     ax_cv_rpath="n"
 
@@ -4157,20 +4624,24 @@ rpath=$ax_cv_rpath
 
 
 # Check whether --enable-githttp was given.
-if test "${enable_githttp+set}" = set; then :
+if test ${enable_githttp+y}
+then :
   enableval=$enable_githttp;
 fi
 
 
-if test "x$enable_githttp" = "xno"; then :
+if test "x$enable_githttp" = "xno"
+then :
 
     ax_cv_githttp="n"
 
-elif test "x$enable_githttp" = "xyes"; then :
+elif test "x$enable_githttp" = "xyes"
+then :
 
     ax_cv_githttp="y"
 
-elif test -z $ax_cv_githttp; then :
+elif test -z $ax_cv_githttp
+then :
 
     ax_cv_githttp="n"
 
@@ -4180,20 +4651,24 @@ githttp=$ax_cv_githttp
 
 
 # Check whether --enable-monitors was given.
-if test "${enable_monitors+set}" = set; then :
+if test ${enable_monitors+y}
+then :
   enableval=$enable_monitors;
 fi
 
 
-if test "x$enable_monitors" = "xno"; then :
+if test "x$enable_monitors" = "xno"
+then :
 
     ax_cv_monitors="n"
 
-elif test "x$enable_monitors" = "xyes"; then :
+elif test "x$enable_monitors" = "xyes"
+then :
 
     ax_cv_monitors="y"
 
-elif test -z $ax_cv_monitors; then :
+elif test -z $ax_cv_monitors
+then :
 
     ax_cv_monitors="y"
 
@@ -4203,20 +4678,24 @@ monitors=$ax_cv_monitors
 
 
 # Check whether --enable-ocamltools was given.
-if test "${enable_ocamltools+set}" = set; then :
+if test ${enable_ocamltools+y}
+then :
   enableval=$enable_ocamltools;
 fi
 
 
-if test "x$enable_ocamltools" = "xno"; then :
+if test "x$enable_ocamltools" = "xno"
+then :
 
     ax_cv_ocamltools="n"
 
-elif test "x$enable_ocamltools" = "xyes"; then :
+elif test "x$enable_ocamltools" = "xyes"
+then :
 
     ax_cv_ocamltools="y"
 
-elif test -z $ax_cv_ocamltools; then :
+elif test -z $ax_cv_ocamltools
+then :
 
     ax_cv_ocamltools="y"
 
@@ -4226,20 +4705,24 @@ ocamltools=$ax_cv_ocamltools
 
 
 # Check whether --enable-xsmpolicy was given.
-if test "${enable_xsmpolicy+set}" = set; then :
+if test ${enable_xsmpolicy+y}
+then :
   enableval=$enable_xsmpolicy;
 fi
 
 
-if test "x$enable_xsmpolicy" = "xno"; then :
+if test "x$enable_xsmpolicy" = "xno"
+then :
 
     ax_cv_xsmpolicy="n"
 
-elif test "x$enable_xsmpolicy" = "xyes"; then :
+elif test "x$enable_xsmpolicy" = "xyes"
+then :
 
     ax_cv_xsmpolicy="y"
 
-elif test -z $ax_cv_xsmpolicy; then :
+elif test -z $ax_cv_xsmpolicy
+then :
 
     ax_cv_xsmpolicy="y"
 
@@ -4249,20 +4732,24 @@ xsmpolicy=$ax_cv_xsmpolicy
 
 
 # Check whether --enable-ovmf was given.
-if test "${enable_ovmf+set}" = set; then :
+if test ${enable_ovmf+y}
+then :
   enableval=$enable_ovmf;
 fi
 
 
-if test "x$enable_ovmf" = "xno"; then :
+if test "x$enable_ovmf" = "xno"
+then :
 
     ax_cv_ovmf="n"
 
-elif test "x$enable_ovmf" = "xyes"; then :
+elif test "x$enable_ovmf" = "xyes"
+then :
 
     ax_cv_ovmf="y"
 
-elif test -z $ax_cv_ovmf; then :
+elif test -z $ax_cv_ovmf
+then :
 
     ax_cv_ovmf="n"
 
@@ -4272,20 +4759,24 @@ ovmf=$ax_cv_ovmf
 
 
 # Check whether --enable-seabios was given.
-if test "${enable_seabios+set}" = set; then :
+if test ${enable_seabios+y}
+then :
   enableval=$enable_seabios;
 fi
 
 
-if test "x$enable_seabios" = "xno"; then :
+if test "x$enable_seabios" = "xno"
+then :
 
     ax_cv_seabios="n"
 
-elif test "x$enable_seabios" = "xyes"; then :
+elif test "x$enable_seabios" = "xyes"
+then :
 
     ax_cv_seabios="y"
 
-elif test -z $ax_cv_seabios; then :
+elif test -z $ax_cv_seabios
+then :
 
     ax_cv_seabios="y"
 
@@ -4295,20 +4786,24 @@ seabios=$ax_cv_seabios
 
 
 # Check whether --enable-golang was given.
-if test "${enable_golang+set}" = set; then :
+if test ${enable_golang+y}
+then :
   enableval=$enable_golang;
 fi
 
 
-if test "x$enable_golang" = "xno"; then :
+if test "x$enable_golang" = "xno"
+then :
 
     ax_cv_golang="n"
 
-elif test "x$enable_golang" = "xyes"; then :
+elif test "x$enable_golang" = "xyes"
+then :
 
     ax_cv_golang="y"
 
-elif test -z $ax_cv_golang; then :
+elif test -z $ax_cv_golang
+then :
 
     ax_cv_golang="y"
 
@@ -4319,9 +4814,10 @@ golang=$ax_cv_golang
 
 
 # Check whether --with-linux-backend-modules was given.
-if test "${with_linux_backend_modules+set}" = set; then :
+if test ${with_linux_backend_modules+y}
+then :
   withval=$with_linux_backend_modules; LINUX_BACKEND_MODULES="$withval"
-else
+else $as_nop
   case "$host_os" in
 *linux*)
 LINUX_BACKEND_MODULES="
@@ -4351,17 +4847,19 @@ LINUX_BACKEND_MODULES="`eval echo $LINUX_BACKEND_MODULES`"
 
 
 # Check whether --enable-qemu-traditional was given.
-if test "${enable_qemu_traditional+set}" = set; then :
+if test ${enable_qemu_traditional+y}
+then :
   enableval=$enable_qemu_traditional;
 fi
 
-if test "x$enable_qemu_traditional" = "xyes"; then :
+if test "x$enable_qemu_traditional" = "xyes"
+then :
 
 
-$as_echo "#define HAVE_QEMU_TRADITIONAL 1" >>confdefs.h
+printf "%s\n" "#define HAVE_QEMU_TRADITIONAL 1" >>confdefs.h
 
     qemu_traditional=y
-else
+else $as_nop
 
     qemu_traditional=n
 
@@ -4369,15 +4867,17 @@ fi
 
 
 # Check whether --enable-ipxe was given.
-if test "${enable_ipxe+set}" = set; then :
+if test ${enable_ipxe+y}
+then :
   enableval=$enable_ipxe;
-else
+else $as_nop
 
-    if test "x$enable_qemu_traditional" = "xyes"; then :
+    if test "x$enable_qemu_traditional" = "xyes"
+then :
 
         enable_ipxe="yes"
 
-else
+else $as_nop
 
         enable_ipxe="no"
 
@@ -4385,14 +4885,16 @@ fi
 
 fi
 
-if test "x$enable_ipxe" = "xno"; then :
+if test "x$enable_ipxe" = "xno"
+then :
   ipxe=n
-else
+else $as_nop
   ipxe=y
 fi
 
 # Check whether --with-system-ipxe was given.
-if test "${with_system_ipxe+set}" = set; then :
+if test ${with_system_ipxe+y}
+then :
   withval=$with_system_ipxe;
     case $withval in
         no) as_fn_error $? "--without-system-ipxe has no effect" "$LINENO" 5 ;;
@@ -4402,27 +4904,28 @@ if test "${with_system_ipxe+set}" = set; then :
 
 fi
 
-if test "x$ipxe" = "xy" -o -n "$ipxe_path" ; then :
+if test "x$ipxe" = "xy" -o -n "$ipxe_path"
+then :
 
 
-cat >>confdefs.h <<_ACEOF
-#define IPXE_PATH "${ipxe_path:-$XENFIRMWAREDIR/ipxe.bin}"
-_ACEOF
+printf "%s\n" "#define IPXE_PATH \"${ipxe_path:-$XENFIRMWAREDIR/ipxe.bin}\"" >>confdefs.h
 
 
 fi
 
 
 # Check whether --enable-rombios was given.
-if test "${enable_rombios+set}" = set; then :
+if test ${enable_rombios+y}
+then :
   enableval=$enable_rombios;
-else
+else $as_nop
 
-    if test "x$enable_qemu_traditional" = "xyes" -o "x$enable_ipxe" = "xyes"; then :
+    if test "x$enable_qemu_traditional" = "xyes" -o "x$enable_ipxe" = "xyes"
+then :
 
         enable_rombios="yes"
 
-else
+else $as_nop
 
         enable_rombios="no"
 
@@ -4430,15 +4933,17 @@ fi
 
 fi
 
-if test "x$enable_rombios" = "xyes"; then :
+if test "x$enable_rombios" = "xyes"
+then :
 
                 # Extract the first word of "as86", so it can be a program name with args.
 set dummy as86; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_AS86+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_AS86+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $AS86 in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_AS86="$AS86" # Let the user override the test with a path.
@@ -4448,11 +4953,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_AS86="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_AS86="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4465,11 +4974,11 @@ esac
 fi
 AS86=$ac_cv_path_AS86
 if test -n "$AS86"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS86" >&5
-$as_echo "$AS86" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AS86" >&5
+printf "%s\n" "$AS86" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4479,11 +4988,12 @@ then
 fi
     # Extract the first word of "ld86", so it can be a program name with args.
 set dummy ld86; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_LD86+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_LD86+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $LD86 in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_LD86="$LD86" # Let the user override the test with a path.
@@ -4493,11 +5003,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_LD86="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_LD86="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4510,11 +5024,11 @@ esac
 fi
 LD86=$ac_cv_path_LD86
 if test -n "$LD86"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD86" >&5
-$as_echo "$LD86" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $LD86" >&5
+printf "%s\n" "$LD86" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4524,11 +5038,12 @@ then
 fi
     # Extract the first word of "bcc", so it can be a program name with args.
 set dummy bcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BCC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_BCC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $BCC in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_BCC="$BCC" # Let the user override the test with a path.
@@ -4538,11 +5053,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_BCC="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_BCC="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4555,11 +5074,11 @@ esac
 fi
 BCC=$ac_cv_path_BCC
 if test -n "$BCC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BCC" >&5
-$as_echo "$BCC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BCC" >&5
+printf "%s\n" "$BCC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4567,11 +5086,12 @@ if test x"${BCC}" = x"no"
 then
     as_fn_error $? "Unable to find bcc, please install bcc" "$LINENO" 5
 fi
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzma_version_number in -llzma" >&5
-$as_echo_n "checking for lzma_version_number in -llzma... " >&6; }
-if ${ac_cv_lib_lzma_lzma_version_number+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lzma_version_number in -llzma" >&5
+printf %s "checking for lzma_version_number in -llzma... " >&6; }
+if test ${ac_cv_lib_lzma_lzma_version_number+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-llzma  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -4580,45 +5100,42 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char lzma_version_number ();
 int
-main ()
+main (void)
 {
 return lzma_version_number ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_lzma_lzma_version_number=yes
-else
+else $as_nop
   ac_cv_lib_lzma_lzma_version_number=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzma_lzma_version_number" >&5
-$as_echo "$ac_cv_lib_lzma_lzma_version_number" >&6; }
-if test "x$ac_cv_lib_lzma_lzma_version_number" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBLZMA 1
-_ACEOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzma_lzma_version_number" >&5
+printf "%s\n" "$ac_cv_lib_lzma_lzma_version_number" >&6; }
+if test "x$ac_cv_lib_lzma_lzma_version_number" = xyes
+then :
+  printf "%s\n" "#define HAVE_LIBLZMA 1" >>confdefs.h
 
   LIBS="-llzma $LIBS"
 
-else
+else $as_nop
   as_fn_error $? "Could not find lzma, needed to build rombios" "$LINENO" 5
 fi
 
 
-$as_echo "#define HAVE_ROMBIOS 1" >>confdefs.h
+printf "%s\n" "#define HAVE_ROMBIOS 1" >>confdefs.h
 
     rombios=y
-else
+else $as_nop
 
     rombios=n
 
@@ -4627,7 +5144,8 @@ fi
 
 
 # Check whether --with-system-qemu was given.
-if test "${with_system_qemu+set}" = set; then :
+if test ${with_system_qemu+y}
+then :
   withval=$with_system_qemu;
     case $withval in
         yes)
@@ -4640,7 +5158,7 @@ if test "${with_system_qemu+set}" = set; then :
             qemu_xen_systemd="$qemu_xen_path" ;;
     esac
 
-else
+else $as_nop
 
     case "$host_cpu" in
         i[3456]86|x86_64)
@@ -4652,16 +5170,15 @@ else
 
 fi
 
-if test "x$qemu_xen" = "xy"; then :
+if test "x$qemu_xen" = "xy"
+then :
 
     qemu_xen_path="$LIBEXEC_BIN/qemu-system-i386"
     qemu_xen_systemd="$qemu_xen_path"
 
 fi
 
-cat >>confdefs.h <<_ACEOF
-#define QEMU_XEN_PATH "$qemu_xen_path"
-_ACEOF
+printf "%s\n" "#define QEMU_XEN_PATH \"$qemu_xen_path\"" >>confdefs.h
 
 
 
@@ -4669,25 +5186,25 @@ _ACEOF
 
 
 # Check whether --with-stubdom-qmp-proxy was given.
-if test "${with_stubdom_qmp_proxy+set}" = set; then :
+if test ${with_stubdom_qmp_proxy+y}
+then :
   withval=$with_stubdom_qmp_proxy;
     stubdom_qmp_proxy="$withval"
 
-else
+else $as_nop
 
     stubdom_qmp_proxy="$bindir/vchan-socket-proxy"
 
 fi
 
 
-cat >>confdefs.h <<_ACEOF
-#define STUBDOM_QMP_PROXY_PATH "$stubdom_qmp_proxy"
-_ACEOF
+printf "%s\n" "#define STUBDOM_QMP_PROXY_PATH \"$stubdom_qmp_proxy\"" >>confdefs.h
 
 
 
 # Check whether --with-system-seabios was given.
-if test "${with_system_seabios+set}" = set; then :
+if test ${with_system_seabios+y}
+then :
   withval=$with_system_seabios;
     # Disable compilation of SeaBIOS.
     seabios=n
@@ -4699,19 +5216,19 @@ if test "${with_system_seabios+set}" = set; then :
 
 fi
 
-if test "x$seabios" = "xy" -o -n "$seabios_path" ; then :
+if test "x$seabios" = "xy" -o -n "$seabios_path"
+then :
 
 
-cat >>confdefs.h <<_ACEOF
-#define SEABIOS_PATH "${seabios_path:-$XENFIRMWAREDIR/seabios.bin}"
-_ACEOF
+printf "%s\n" "#define SEABIOS_PATH \"${seabios_path:-$XENFIRMWAREDIR/seabios.bin}\"" >>confdefs.h
 
 
 fi
 
 
 # Check whether --with-system-ovmf was given.
-if test "${with_system_ovmf+set}" = set; then :
+if test ${with_system_ovmf+y}
+then :
   withval=$with_system_ovmf;
     # Disable compilation of OVMF.
     ovmf=n
@@ -4723,19 +5240,19 @@ if test "${with_system_ovmf+set}" = set; then :
 
 fi
 
-if test "x$ovmf" = "xy" -o -n "$ovmf_path" ; then :
+if test "x$ovmf" = "xy" -o -n "$ovmf_path"
+then :
 
 
-cat >>confdefs.h <<_ACEOF
-#define OVMF_PATH "${ovmf_path:-$XENFIRMWAREDIR/ovmf.bin}"
-_ACEOF
+printf "%s\n" "#define OVMF_PATH \"${ovmf_path:-$XENFIRMWAREDIR/ovmf.bin}\"" >>confdefs.h
 
 
 fi
 
 
 # Check whether --with-extra-qemuu-configure-args was given.
-if test "${with_extra_qemuu_configure_args+set}" = set; then :
+if test ${with_extra_qemuu_configure_args+y}
+then :
   withval=$with_extra_qemuu_configure_args;
     case $withval in
         no) EXTRA_QEMUU_CONFIGURE_ARGS= ;;
@@ -4793,11 +5310,12 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -4805,11 +5323,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4820,11 +5342,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4833,11 +5355,12 @@ if test -z "$ac_cv_prog_CC"; then
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
 else
@@ -4845,11 +5368,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4860,11 +5387,11 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_CC" = x; then
@@ -4872,8 +5399,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
@@ -4886,11 +5413,12 @@ if test -z "$CC"; then
           if test -n "$ac_tool_prefix"; then
     # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -4898,11 +5426,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4913,11 +5445,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4926,11 +5458,12 @@ fi
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -4939,15 +5472,19 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    if test "$as_dir$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
      fi
     ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -4963,18 +5500,18 @@ if test $ac_prog_rejected = yes; then
     # However, it has the same basename, so the bogon will be chosen
     # first if we set CC to just the basename; use the full file name.
     shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+    ac_cv_prog_CC="$as_dir$ac_word${1+' '}$@"
   fi
 fi
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -4985,11 +5522,12 @@ if test -z "$CC"; then
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
 else
@@ -4997,11 +5535,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5012,11 +5554,11 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -5029,11 +5571,12 @@ if test -z "$CC"; then
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
 else
@@ -5041,11 +5584,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5056,11 +5603,11 @@ fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -5072,34 +5619,138 @@ done
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}clang", so it can be a program name with args.
+set dummy ${ac_tool_prefix}clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_CC="${ac_tool_prefix}clang"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+printf "%s\n" "$CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "clang", so it can be a program name with args.
+set dummy clang; ac_word=$2
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_prog_ac_ct_CC="clang"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+printf "%s\n" "$ac_ct_CC" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     CC=$ac_ct_CC
   fi
+else
+  CC="$ac_cv_prog_CC"
 fi
 
 fi
 
 
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+test -z "$CC" && { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "no acceptable C compiler found in \$PATH
 See \`config.log' for more details" "$LINENO" 5; }
 
 # Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
 set X $ac_compile
 ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
+for ac_option in --version -v -V -qversion -version; do
   { { ac_try="$ac_compiler $ac_option >&5"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
+printf "%s\n" "$ac_try_echo"; } >&5
   (eval "$ac_compiler $ac_option >&5") 2>conftest.err
   ac_status=$?
   if test -s conftest.err; then
@@ -5109,20 +5760,21 @@ $as_echo "$ac_try_echo"; } >&5
     cat conftest.er1 >&5
   fi
   rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }
 done
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports GNU C" >&5
+printf %s "checking whether the compiler supports GNU C... " >&6; }
+if test ${ac_cv_c_compiler_gnu+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 #ifndef __GNUC__
        choke me
@@ -5132,29 +5784,33 @@ main ()
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_compiler_gnu=yes
-else
+else $as_nop
   ac_compiler_gnu=no
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+printf "%s\n" "$ac_cv_c_compiler_gnu" >&6; }
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
 if test $ac_compiler_gnu = yes; then
   GCC=yes
 else
   GCC=
 fi
-ac_test_CFLAGS=${CFLAGS+set}
+ac_test_CFLAGS=${CFLAGS+y}
 ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+printf %s "checking whether $CC accepts -g... " >&6; }
+if test ${ac_cv_prog_cc_g+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_save_c_werror_flag=$ac_c_werror_flag
    ac_c_werror_flag=yes
    ac_cv_prog_cc_g=no
@@ -5163,57 +5819,60 @@ else
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_g=yes
-else
+else $as_nop
   CFLAGS=""
       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
 
-else
+else $as_nop
   ac_c_werror_flag=$ac_save_c_werror_flag
 	 CFLAGS="-g"
 	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
 int
-main ()
+main (void)
 {
 
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_g=yes
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
    ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+printf "%s\n" "$ac_cv_prog_cc_g" >&6; }
+if test $ac_test_CFLAGS; then
   CFLAGS=$ac_save_CFLAGS
 elif test $ac_cv_prog_cc_g = yes; then
   if test "$GCC" = yes; then
@@ -5228,94 +5887,144 @@ else
     CFLAGS=
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
+ac_prog_cc_stdc=no
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5
+printf %s "checking for $CC option to enable C11 features... " >&6; }
+if test ${ac_cv_prog_cc_c11+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c11=no
 ac_save_CC=$CC
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+$ac_c_conftest_c11_program
+_ACEOF
+for ac_arg in '' -std=gnu11
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_c11=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cc_c11" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
 
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+if test "x$ac_cv_prog_cc_c11" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c11" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5
+printf "%s\n" "$ac_cv_prog_cc_c11" >&6; }
+     CC="$CC $ac_cv_prog_cc_c11"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11
+  ac_prog_cc_stdc=c11
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5
+printf %s "checking for $CC option to enable C99 features... " >&6; }
+if test ${ac_cv_prog_cc_c99+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c99=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_c_conftest_c99_program
+_ACEOF
+for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99=
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"
+then :
+  ac_cv_prog_cc_c99=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam
+  test "x$ac_cv_prog_cc_c99" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+fi
 
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
+if test "x$ac_cv_prog_cc_c99" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c99" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
+printf "%s\n" "$ac_cv_prog_cc_c99" >&6; }
+     CC="$CC $ac_cv_prog_cc_c99"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99
+  ac_prog_cc_stdc=c99
+fi
+fi
+if test x$ac_prog_cc_stdc = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5
+printf %s "checking for $CC option to enable C89 features... " >&6; }
+if test ${ac_cv_prog_cc_c89+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_c_conftest_c89_program
 _ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
+  if ac_fn_c_try_compile "$LINENO"
+then :
   ac_cv_prog_cc_c89=$ac_arg
 fi
-rm -f core conftest.err conftest.$ac_objext
+rm -f core conftest.err conftest.$ac_objext conftest.beam
   test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
 rm -f conftest.$ac_ext
 CC=$ac_save_CC
-
 fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
 
+if test "x$ac_cv_prog_cc_c89" = xno
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+printf "%s\n" "unsupported" >&6; }
+else $as_nop
+  if test "x$ac_cv_prog_cc_c89" = x
+then :
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+printf "%s\n" "none needed" >&6; }
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+printf "%s\n" "$ac_cv_prog_cc_c89" >&6; }
+     CC="$CC $ac_cv_prog_cc_c89"
+fi
+  ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89
+  ac_prog_cc_stdc=c89
+fi
 fi
 
 ac_ext=c
@@ -5324,13 +6033,14 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
 ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+printf %s "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
 set x ${MAKE-make}
-ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
-if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+ac_make=`printf "%s\n" "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval test \${ac_cv_prog_make_${ac_make}_set+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   cat >conftest.make <<\_ACEOF
 SHELL = /bin/sh
 all:
@@ -5346,16 +6056,17 @@ esac
 rm -f conftest.make
 fi
 if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
   SET_MAKE=
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
-# Find a good install program.  We prefer a C program (faster),
+
+  # Find a good install program.  We prefer a C program (faster),
 # so one script is as good as another.  But avoid the broken or
 # incompatible versions:
 # SysV /etc/install, /usr/sbin/install
@@ -5369,20 +6080,25 @@ fi
 # OS/2's system install, which has a completely different semantic
 # ./install, which can be erroneously created by make from ./install.sh.
 # Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+printf %s "checking for a BSD-compatible install... " >&6; }
 if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+if test ${ac_cv_path_install+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    # Account for fact that we put trailing slashes in our PATH walk.
+case $as_dir in #((
+  ./ | /[cC]/* | \
   /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
   ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
   /usr/ucb/* ) ;;
@@ -5392,13 +6108,13 @@ case $as_dir/ in #((
     # by default.
     for ac_prog in ginstall scoinst install; do
       for ac_exec_ext in '' $ac_executable_extensions; do
-	if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
+	if as_fn_executable_p "$as_dir$ac_prog$ac_exec_ext"; then
 	  if test $ac_prog = install &&
-	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    grep dspmsg "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # AIX install.  It has an incompatible calling convention.
 	    :
 	  elif test $ac_prog = install &&
-	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    grep pwplus "$as_dir$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
 	    # program-specific install script used by HP pwplus--don't use.
 	    :
 	  else
@@ -5406,12 +6122,12 @@ case $as_dir/ in #((
 	    echo one > conftest.one
 	    echo two > conftest.two
 	    mkdir conftest.dir
-	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	    if "$as_dir$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir/" &&
 	      test -s conftest.one && test -s conftest.two &&
 	      test -s conftest.dir/conftest.one &&
 	      test -s conftest.dir/conftest.two
 	    then
-	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      ac_cv_path_install="$as_dir$ac_prog$ac_exec_ext -c"
 	      break 3
 	    fi
 	  fi
@@ -5427,7 +6143,7 @@ IFS=$as_save_IFS
 rm -rf conftest.one conftest.two conftest.dir
 
 fi
-  if test "${ac_cv_path_install+set}" = set; then
+  if test ${ac_cv_path_install+y}; then
     INSTALL=$ac_cv_path_install
   else
     # As a last resort, use the slow shell script.  Don't cache a
@@ -5437,8 +6153,8 @@ fi
     INSTALL=$ac_install_sh
   fi
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+printf "%s\n" "$INSTALL" >&6; }
 
 # Use test -z because SunOS4 sh mishandles braces in ${var-val}.
 # It thinks the first close brace ends the variable substitution.
@@ -5450,11 +6166,12 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
 
 # Extract the first word of "flex", so it can be a program name with args.
 set dummy flex; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_FLEX+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_FLEX+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $FLEX in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_FLEX="$FLEX" # Let the user override the test with a path.
@@ -5464,11 +6181,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_FLEX="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_FLEX="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5480,21 +6201,22 @@ esac
 fi
 FLEX=$ac_cv_path_FLEX
 if test -n "$FLEX"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FLEX" >&5
-$as_echo "$FLEX" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FLEX" >&5
+printf "%s\n" "$FLEX" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 # Extract the first word of "abi-dumper", so it can be a program name with args.
 set dummy abi-dumper; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ABI_DUMPER+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_ABI_DUMPER+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $ABI_DUMPER in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_ABI_DUMPER="$ABI_DUMPER" # Let the user override the test with a path.
@@ -5504,11 +6226,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ABI_DUMPER="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_ABI_DUMPER="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5520,21 +6246,22 @@ esac
 fi
 ABI_DUMPER=$ac_cv_path_ABI_DUMPER
 if test -n "$ABI_DUMPER"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ABI_DUMPER" >&5
-$as_echo "$ABI_DUMPER" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ABI_DUMPER" >&5
+printf "%s\n" "$ABI_DUMPER" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PERL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_PERL+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $PERL in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
@@ -5544,11 +6271,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_PERL="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5561,11 +6292,11 @@ esac
 fi
 PERL=$ac_cv_path_PERL
 if test -n "$PERL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
-$as_echo "$PERL" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
+printf "%s\n" "$PERL" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -5575,11 +6306,12 @@ then
 fi
 # Extract the first word of "awk", so it can be a program name with args.
 set dummy awk; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_AWK+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $AWK in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_AWK="$AWK" # Let the user override the test with a path.
@@ -5589,11 +6321,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_AWK="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_AWK="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5606,11 +6342,11 @@ esac
 fi
 AWK=$ac_cv_path_AWK
 if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+printf "%s\n" "$AWK" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -5623,11 +6359,12 @@ fi
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ocamlc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ocamlc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OCAMLC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OCAMLC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$OCAMLC"; then
   ac_cv_prog_OCAMLC="$OCAMLC" # Let the user override the test.
 else
@@ -5635,11 +6372,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_OCAMLC="${ac_tool_prefix}ocamlc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5650,11 +6391,11 @@ fi
 fi
 OCAMLC=$ac_cv_prog_OCAMLC
 if test -n "$OCAMLC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLC" >&5
-$as_echo "$OCAMLC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OCAMLC" >&5
+printf "%s\n" "$OCAMLC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -5663,11 +6404,12 @@ if test -z "$ac_cv_prog_OCAMLC"; then
   ac_ct_OCAMLC=$OCAMLC
   # Extract the first word of "ocamlc", so it can be a program name with args.
 set dummy ocamlc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OCAMLC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OCAMLC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_OCAMLC"; then
   ac_cv_prog_ac_ct_OCAMLC="$ac_ct_OCAMLC" # Let the user override the test.
 else
@@ -5675,11 +6417,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OCAMLC="ocamlc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5690,11 +6436,11 @@ fi
 fi
 ac_ct_OCAMLC=$ac_cv_prog_ac_ct_OCAMLC
 if test -n "$ac_ct_OCAMLC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLC" >&5
-$as_echo "$ac_ct_OCAMLC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLC" >&5
+printf "%s\n" "$ac_ct_OCAMLC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_OCAMLC" = x; then
@@ -5702,8 +6448,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     OCAMLC=$ac_ct_OCAMLC
@@ -5715,17 +6461,17 @@ fi
 
   if test "$OCAMLC" != "no"; then
      OCAMLVERSION=`$OCAMLC -v | sed -n -e 's|.*version* *\(.*\)$|\1|p'`
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: OCaml version is $OCAMLVERSION" >&5
-$as_echo "OCaml version is $OCAMLVERSION" >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: OCaml version is $OCAMLVERSION" >&5
+printf "%s\n" "OCaml version is $OCAMLVERSION" >&6; }
      # If OCAMLLIB is set, use it
      if test "$OCAMLLIB" = ""; then
         OCAMLLIB=`$OCAMLC -where 2>/dev/null || $OCAMLC -v|tail -1|cut -d ' ' -f 4`
      else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: OCAMLLIB previously set; preserving it." >&5
-$as_echo "OCAMLLIB previously set; preserving it." >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: OCAMLLIB previously set; preserving it." >&5
+printf "%s\n" "OCAMLLIB previously set; preserving it." >&6; }
      fi
-     { $as_echo "$as_me:${as_lineno-$LINENO}: result: OCaml library path is $OCAMLLIB" >&5
-$as_echo "OCaml library path is $OCAMLLIB" >&6; }
+     { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: OCaml library path is $OCAMLLIB" >&5
+printf "%s\n" "OCaml library path is $OCAMLLIB" >&6; }
 
 
 
@@ -5734,11 +6480,12 @@ $as_echo "OCaml library path is $OCAMLLIB" >&6; }
      if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ocamlopt", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ocamlopt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OCAMLOPT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OCAMLOPT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$OCAMLOPT"; then
   ac_cv_prog_OCAMLOPT="$OCAMLOPT" # Let the user override the test.
 else
@@ -5746,11 +6493,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_OCAMLOPT="${ac_tool_prefix}ocamlopt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5761,11 +6512,11 @@ fi
 fi
 OCAMLOPT=$ac_cv_prog_OCAMLOPT
 if test -n "$OCAMLOPT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLOPT" >&5
-$as_echo "$OCAMLOPT" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OCAMLOPT" >&5
+printf "%s\n" "$OCAMLOPT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -5774,11 +6525,12 @@ if test -z "$ac_cv_prog_OCAMLOPT"; then
   ac_ct_OCAMLOPT=$OCAMLOPT
   # Extract the first word of "ocamlopt", so it can be a program name with args.
 set dummy ocamlopt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OCAMLOPT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OCAMLOPT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_OCAMLOPT"; then
   ac_cv_prog_ac_ct_OCAMLOPT="$ac_ct_OCAMLOPT" # Let the user override the test.
 else
@@ -5786,11 +6538,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OCAMLOPT="ocamlopt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5801,11 +6557,11 @@ fi
 fi
 ac_ct_OCAMLOPT=$ac_cv_prog_ac_ct_OCAMLOPT
 if test -n "$ac_ct_OCAMLOPT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLOPT" >&5
-$as_echo "$ac_ct_OCAMLOPT" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLOPT" >&5
+printf "%s\n" "$ac_ct_OCAMLOPT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_OCAMLOPT" = x; then
@@ -5813,8 +6569,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     OCAMLOPT=$ac_ct_OCAMLOPT
@@ -5825,13 +6581,13 @@ fi
 
      OCAMLBEST=byte
      if test "$OCAMLOPT" = "no"; then
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find ocamlopt; bytecode compilation only." >&5
-$as_echo "$as_me: WARNING: Cannot find ocamlopt; bytecode compilation only." >&2;}
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Cannot find ocamlopt; bytecode compilation only." >&5
+printf "%s\n" "$as_me: WARNING: Cannot find ocamlopt; bytecode compilation only." >&2;}
      else
 	TMPVERSION=`$OCAMLOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' `
 	if test "$TMPVERSION" != "$OCAMLVERSION" ; then
-	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: versions differs from ocamlc; ocamlopt discarded." >&5
-$as_echo "versions differs from ocamlc; ocamlopt discarded." >&6; }
+	    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: versions differs from ocamlc; ocamlopt discarded." >&5
+printf "%s\n" "versions differs from ocamlc; ocamlopt discarded." >&6; }
 	    OCAMLOPT=no
 	else
 	    OCAMLBEST=opt
@@ -5844,11 +6600,12 @@ $as_echo "versions differs from ocamlc; ocamlopt discarded." >&6; }
      if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ocamlc.opt", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ocamlc.opt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OCAMLCDOTOPT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OCAMLCDOTOPT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$OCAMLCDOTOPT"; then
   ac_cv_prog_OCAMLCDOTOPT="$OCAMLCDOTOPT" # Let the user override the test.
 else
@@ -5856,11 +6613,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_OCAMLCDOTOPT="${ac_tool_prefix}ocamlc.opt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5871,11 +6632,11 @@ fi
 fi
 OCAMLCDOTOPT=$ac_cv_prog_OCAMLCDOTOPT
 if test -n "$OCAMLCDOTOPT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLCDOTOPT" >&5
-$as_echo "$OCAMLCDOTOPT" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OCAMLCDOTOPT" >&5
+printf "%s\n" "$OCAMLCDOTOPT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -5884,11 +6645,12 @@ if test -z "$ac_cv_prog_OCAMLCDOTOPT"; then
   ac_ct_OCAMLCDOTOPT=$OCAMLCDOTOPT
   # Extract the first word of "ocamlc.opt", so it can be a program name with args.
 set dummy ocamlc.opt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OCAMLCDOTOPT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OCAMLCDOTOPT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_OCAMLCDOTOPT"; then
   ac_cv_prog_ac_ct_OCAMLCDOTOPT="$ac_ct_OCAMLCDOTOPT" # Let the user override the test.
 else
@@ -5896,11 +6658,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OCAMLCDOTOPT="ocamlc.opt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5911,11 +6677,11 @@ fi
 fi
 ac_ct_OCAMLCDOTOPT=$ac_cv_prog_ac_ct_OCAMLCDOTOPT
 if test -n "$ac_ct_OCAMLCDOTOPT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLCDOTOPT" >&5
-$as_echo "$ac_ct_OCAMLCDOTOPT" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLCDOTOPT" >&5
+printf "%s\n" "$ac_ct_OCAMLCDOTOPT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_OCAMLCDOTOPT" = x; then
@@ -5923,8 +6689,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     OCAMLCDOTOPT=$ac_ct_OCAMLCDOTOPT
@@ -5936,8 +6702,8 @@ fi
      if test "$OCAMLCDOTOPT" != "no"; then
 	TMPVERSION=`$OCAMLCDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' `
 	if test "$TMPVERSION" != "$OCAMLVERSION" ; then
-	    { $as_echo "$as_me:${as_lineno-$LINENO}: result: versions differs from ocamlc; ocamlc.opt discarded." >&5
-$as_echo "versions differs from ocamlc; ocamlc.opt discarded." >&6; }
+	    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: versions differs from ocamlc; ocamlc.opt discarded." >&5
+printf "%s\n" "versions differs from ocamlc; ocamlc.opt discarded." >&6; }
 	else
 	    OCAMLC=$OCAMLCDOTOPT
 	fi
@@ -5948,11 +6714,12 @@ $as_echo "versions differs from ocamlc; ocamlc.opt discarded." >&6; }
 	if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ocamlopt.opt", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ocamlopt.opt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OCAMLOPTDOTOPT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OCAMLOPTDOTOPT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$OCAMLOPTDOTOPT"; then
   ac_cv_prog_OCAMLOPTDOTOPT="$OCAMLOPTDOTOPT" # Let the user override the test.
 else
@@ -5960,11 +6727,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_OCAMLOPTDOTOPT="${ac_tool_prefix}ocamlopt.opt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -5975,11 +6746,11 @@ fi
 fi
 OCAMLOPTDOTOPT=$ac_cv_prog_OCAMLOPTDOTOPT
 if test -n "$OCAMLOPTDOTOPT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLOPTDOTOPT" >&5
-$as_echo "$OCAMLOPTDOTOPT" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OCAMLOPTDOTOPT" >&5
+printf "%s\n" "$OCAMLOPTDOTOPT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -5988,11 +6759,12 @@ if test -z "$ac_cv_prog_OCAMLOPTDOTOPT"; then
   ac_ct_OCAMLOPTDOTOPT=$OCAMLOPTDOTOPT
   # Extract the first word of "ocamlopt.opt", so it can be a program name with args.
 set dummy ocamlopt.opt; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OCAMLOPTDOTOPT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OCAMLOPTDOTOPT+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_OCAMLOPTDOTOPT"; then
   ac_cv_prog_ac_ct_OCAMLOPTDOTOPT="$ac_ct_OCAMLOPTDOTOPT" # Let the user override the test.
 else
@@ -6000,11 +6772,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OCAMLOPTDOTOPT="ocamlopt.opt"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6015,11 +6791,11 @@ fi
 fi
 ac_ct_OCAMLOPTDOTOPT=$ac_cv_prog_ac_ct_OCAMLOPTDOTOPT
 if test -n "$ac_ct_OCAMLOPTDOTOPT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLOPTDOTOPT" >&5
-$as_echo "$ac_ct_OCAMLOPTDOTOPT" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLOPTDOTOPT" >&5
+printf "%s\n" "$ac_ct_OCAMLOPTDOTOPT" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_OCAMLOPTDOTOPT" = x; then
@@ -6027,8 +6803,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     OCAMLOPTDOTOPT=$ac_ct_OCAMLOPTDOTOPT
@@ -6040,8 +6816,8 @@ fi
 	if test "$OCAMLOPTDOTOPT" != "no"; then
 	   TMPVERSION=`$OCAMLOPTDOTOPT -v | sed -n -e 's|.*version* *\(.*\)$|\1|p' `
 	   if test "$TMPVERSION" != "$OCAMLVERSION" ; then
-	      { $as_echo "$as_me:${as_lineno-$LINENO}: result: version differs from ocamlc; ocamlopt.opt discarded." >&5
-$as_echo "version differs from ocamlc; ocamlopt.opt discarded." >&6; }
+	      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: version differs from ocamlc; ocamlopt.opt discarded." >&5
+printf "%s\n" "version differs from ocamlc; ocamlopt.opt discarded." >&6; }
 	   else
 	      OCAMLOPT=$OCAMLOPTDOTOPT
 	   fi
@@ -6057,11 +6833,12 @@ $as_echo "version differs from ocamlc; ocamlopt.opt discarded." >&6; }
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ocaml", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ocaml; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OCAML+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OCAML+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$OCAML"; then
   ac_cv_prog_OCAML="$OCAML" # Let the user override the test.
 else
@@ -6069,11 +6846,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_OCAML="${ac_tool_prefix}ocaml"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6084,11 +6865,11 @@ fi
 fi
 OCAML=$ac_cv_prog_OCAML
 if test -n "$OCAML"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAML" >&5
-$as_echo "$OCAML" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OCAML" >&5
+printf "%s\n" "$OCAML" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -6097,11 +6878,12 @@ if test -z "$ac_cv_prog_OCAML"; then
   ac_ct_OCAML=$OCAML
   # Extract the first word of "ocaml", so it can be a program name with args.
 set dummy ocaml; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OCAML+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OCAML+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_OCAML"; then
   ac_cv_prog_ac_ct_OCAML="$ac_ct_OCAML" # Let the user override the test.
 else
@@ -6109,11 +6891,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OCAML="ocaml"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6124,11 +6910,11 @@ fi
 fi
 ac_ct_OCAML=$ac_cv_prog_ac_ct_OCAML
 if test -n "$ac_ct_OCAML"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAML" >&5
-$as_echo "$ac_ct_OCAML" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAML" >&5
+printf "%s\n" "$ac_ct_OCAML" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_OCAML" = x; then
@@ -6136,8 +6922,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     OCAML=$ac_ct_OCAML
@@ -6151,11 +6937,12 @@ fi
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ocamldep", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ocamldep; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OCAMLDEP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OCAMLDEP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$OCAMLDEP"; then
   ac_cv_prog_OCAMLDEP="$OCAMLDEP" # Let the user override the test.
 else
@@ -6163,11 +6950,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_OCAMLDEP="${ac_tool_prefix}ocamldep"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6178,11 +6969,11 @@ fi
 fi
 OCAMLDEP=$ac_cv_prog_OCAMLDEP
 if test -n "$OCAMLDEP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLDEP" >&5
-$as_echo "$OCAMLDEP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OCAMLDEP" >&5
+printf "%s\n" "$OCAMLDEP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -6191,11 +6982,12 @@ if test -z "$ac_cv_prog_OCAMLDEP"; then
   ac_ct_OCAMLDEP=$OCAMLDEP
   # Extract the first word of "ocamldep", so it can be a program name with args.
 set dummy ocamldep; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OCAMLDEP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OCAMLDEP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_OCAMLDEP"; then
   ac_cv_prog_ac_ct_OCAMLDEP="$ac_ct_OCAMLDEP" # Let the user override the test.
 else
@@ -6203,11 +6995,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OCAMLDEP="ocamldep"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6218,11 +7014,11 @@ fi
 fi
 ac_ct_OCAMLDEP=$ac_cv_prog_ac_ct_OCAMLDEP
 if test -n "$ac_ct_OCAMLDEP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLDEP" >&5
-$as_echo "$ac_ct_OCAMLDEP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLDEP" >&5
+printf "%s\n" "$ac_ct_OCAMLDEP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_OCAMLDEP" = x; then
@@ -6230,8 +7026,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     OCAMLDEP=$ac_ct_OCAMLDEP
@@ -6245,11 +7041,12 @@ fi
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ocamlmktop", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ocamlmktop; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OCAMLMKTOP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OCAMLMKTOP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$OCAMLMKTOP"; then
   ac_cv_prog_OCAMLMKTOP="$OCAMLMKTOP" # Let the user override the test.
 else
@@ -6257,11 +7054,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_OCAMLMKTOP="${ac_tool_prefix}ocamlmktop"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6272,11 +7073,11 @@ fi
 fi
 OCAMLMKTOP=$ac_cv_prog_OCAMLMKTOP
 if test -n "$OCAMLMKTOP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLMKTOP" >&5
-$as_echo "$OCAMLMKTOP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OCAMLMKTOP" >&5
+printf "%s\n" "$OCAMLMKTOP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -6285,11 +7086,12 @@ if test -z "$ac_cv_prog_OCAMLMKTOP"; then
   ac_ct_OCAMLMKTOP=$OCAMLMKTOP
   # Extract the first word of "ocamlmktop", so it can be a program name with args.
 set dummy ocamlmktop; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OCAMLMKTOP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OCAMLMKTOP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_OCAMLMKTOP"; then
   ac_cv_prog_ac_ct_OCAMLMKTOP="$ac_ct_OCAMLMKTOP" # Let the user override the test.
 else
@@ -6297,11 +7099,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OCAMLMKTOP="ocamlmktop"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6312,11 +7118,11 @@ fi
 fi
 ac_ct_OCAMLMKTOP=$ac_cv_prog_ac_ct_OCAMLMKTOP
 if test -n "$ac_ct_OCAMLMKTOP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLMKTOP" >&5
-$as_echo "$ac_ct_OCAMLMKTOP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLMKTOP" >&5
+printf "%s\n" "$ac_ct_OCAMLMKTOP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_OCAMLMKTOP" = x; then
@@ -6324,8 +7130,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     OCAMLMKTOP=$ac_ct_OCAMLMKTOP
@@ -6339,11 +7145,12 @@ fi
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ocamlmklib", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ocamlmklib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OCAMLMKLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OCAMLMKLIB+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$OCAMLMKLIB"; then
   ac_cv_prog_OCAMLMKLIB="$OCAMLMKLIB" # Let the user override the test.
 else
@@ -6351,11 +7158,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_OCAMLMKLIB="${ac_tool_prefix}ocamlmklib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6366,11 +7177,11 @@ fi
 fi
 OCAMLMKLIB=$ac_cv_prog_OCAMLMKLIB
 if test -n "$OCAMLMKLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLMKLIB" >&5
-$as_echo "$OCAMLMKLIB" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OCAMLMKLIB" >&5
+printf "%s\n" "$OCAMLMKLIB" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -6379,11 +7190,12 @@ if test -z "$ac_cv_prog_OCAMLMKLIB"; then
   ac_ct_OCAMLMKLIB=$OCAMLMKLIB
   # Extract the first word of "ocamlmklib", so it can be a program name with args.
 set dummy ocamlmklib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OCAMLMKLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OCAMLMKLIB+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_OCAMLMKLIB"; then
   ac_cv_prog_ac_ct_OCAMLMKLIB="$ac_ct_OCAMLMKLIB" # Let the user override the test.
 else
@@ -6391,11 +7203,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OCAMLMKLIB="ocamlmklib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6406,11 +7222,11 @@ fi
 fi
 ac_ct_OCAMLMKLIB=$ac_cv_prog_ac_ct_OCAMLMKLIB
 if test -n "$ac_ct_OCAMLMKLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLMKLIB" >&5
-$as_echo "$ac_ct_OCAMLMKLIB" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLMKLIB" >&5
+printf "%s\n" "$ac_ct_OCAMLMKLIB" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_OCAMLMKLIB" = x; then
@@ -6418,8 +7234,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     OCAMLMKLIB=$ac_ct_OCAMLMKLIB
@@ -6433,11 +7249,12 @@ fi
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ocamldoc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ocamldoc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OCAMLDOC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OCAMLDOC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$OCAMLDOC"; then
   ac_cv_prog_OCAMLDOC="$OCAMLDOC" # Let the user override the test.
 else
@@ -6445,11 +7262,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_OCAMLDOC="${ac_tool_prefix}ocamldoc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6460,11 +7281,11 @@ fi
 fi
 OCAMLDOC=$ac_cv_prog_OCAMLDOC
 if test -n "$OCAMLDOC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLDOC" >&5
-$as_echo "$OCAMLDOC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OCAMLDOC" >&5
+printf "%s\n" "$OCAMLDOC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -6473,11 +7294,12 @@ if test -z "$ac_cv_prog_OCAMLDOC"; then
   ac_ct_OCAMLDOC=$OCAMLDOC
   # Extract the first word of "ocamldoc", so it can be a program name with args.
 set dummy ocamldoc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OCAMLDOC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OCAMLDOC+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_OCAMLDOC"; then
   ac_cv_prog_ac_ct_OCAMLDOC="$ac_ct_OCAMLDOC" # Let the user override the test.
 else
@@ -6485,11 +7307,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OCAMLDOC="ocamldoc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6500,11 +7326,11 @@ fi
 fi
 ac_ct_OCAMLDOC=$ac_cv_prog_ac_ct_OCAMLDOC
 if test -n "$ac_ct_OCAMLDOC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLDOC" >&5
-$as_echo "$ac_ct_OCAMLDOC" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLDOC" >&5
+printf "%s\n" "$ac_ct_OCAMLDOC" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_OCAMLDOC" = x; then
@@ -6512,8 +7338,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     OCAMLDOC=$ac_ct_OCAMLDOC
@@ -6527,11 +7353,12 @@ fi
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ocamlbuild", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ocamlbuild; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OCAMLBUILD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OCAMLBUILD+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$OCAMLBUILD"; then
   ac_cv_prog_OCAMLBUILD="$OCAMLBUILD" # Let the user override the test.
 else
@@ -6539,11 +7366,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_OCAMLBUILD="${ac_tool_prefix}ocamlbuild"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6554,11 +7385,11 @@ fi
 fi
 OCAMLBUILD=$ac_cv_prog_OCAMLBUILD
 if test -n "$OCAMLBUILD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLBUILD" >&5
-$as_echo "$OCAMLBUILD" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OCAMLBUILD" >&5
+printf "%s\n" "$OCAMLBUILD" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -6567,11 +7398,12 @@ if test -z "$ac_cv_prog_OCAMLBUILD"; then
   ac_ct_OCAMLBUILD=$OCAMLBUILD
   # Extract the first word of "ocamlbuild", so it can be a program name with args.
 set dummy ocamlbuild; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OCAMLBUILD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OCAMLBUILD+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_OCAMLBUILD"; then
   ac_cv_prog_ac_ct_OCAMLBUILD="$ac_ct_OCAMLBUILD" # Let the user override the test.
 else
@@ -6579,11 +7411,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OCAMLBUILD="ocamlbuild"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6594,11 +7430,11 @@ fi
 fi
 ac_ct_OCAMLBUILD=$ac_cv_prog_ac_ct_OCAMLBUILD
 if test -n "$ac_ct_OCAMLBUILD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLBUILD" >&5
-$as_echo "$ac_ct_OCAMLBUILD" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLBUILD" >&5
+printf "%s\n" "$ac_ct_OCAMLBUILD" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_OCAMLBUILD" = x; then
@@ -6606,8 +7442,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     OCAMLBUILD=$ac_ct_OCAMLBUILD
@@ -6622,11 +7458,12 @@ fi
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}ocamlfind", so it can be a program name with args.
 set dummy ${ac_tool_prefix}ocamlfind; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OCAMLFIND+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_OCAMLFIND+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$OCAMLFIND"; then
   ac_cv_prog_OCAMLFIND="$OCAMLFIND" # Let the user override the test.
 else
@@ -6634,11 +7471,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_OCAMLFIND="${ac_tool_prefix}ocamlfind"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6649,11 +7490,11 @@ fi
 fi
 OCAMLFIND=$ac_cv_prog_OCAMLFIND
 if test -n "$OCAMLFIND"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OCAMLFIND" >&5
-$as_echo "$OCAMLFIND" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $OCAMLFIND" >&5
+printf "%s\n" "$OCAMLFIND" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -6662,11 +7503,12 @@ if test -z "$ac_cv_prog_OCAMLFIND"; then
   ac_ct_OCAMLFIND=$OCAMLFIND
   # Extract the first word of "ocamlfind", so it can be a program name with args.
 set dummy ocamlfind; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OCAMLFIND+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_OCAMLFIND+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_OCAMLFIND"; then
   ac_cv_prog_ac_ct_OCAMLFIND="$ac_ct_OCAMLFIND" # Let the user override the test.
 else
@@ -6674,11 +7516,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_OCAMLFIND="ocamlfind"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6689,11 +7535,11 @@ fi
 fi
 ac_ct_OCAMLFIND=$ac_cv_prog_ac_ct_OCAMLFIND
 if test -n "$ac_ct_OCAMLFIND"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLFIND" >&5
-$as_echo "$ac_ct_OCAMLFIND" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OCAMLFIND" >&5
+printf "%s\n" "$ac_ct_OCAMLFIND" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_OCAMLFIND" = x; then
@@ -6701,8 +7547,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     OCAMLFIND=$ac_ct_OCAMLFIND
@@ -6718,11 +7564,12 @@ for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_AWK+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$AWK"; then
   ac_cv_prog_AWK="$AWK" # Let the user override the test.
 else
@@ -6730,11 +7577,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6745,28 +7596,31 @@ fi
 fi
 AWK=$ac_cv_prog_AWK
 if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+printf "%s\n" "$AWK" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
   test -n "$AWK" && break
 done
 
-if test "x$ocamltools" = "xy"; then :
+if test "x$ocamltools" = "xy"
+then :
 
-    if test "x$OCAMLOPT" = "xno" || test "x$OCAMLFIND" = "xno"; then :
+    if test "x$OCAMLOPT" = "xno" || test "x$OCAMLFIND" = "xno"
+then :
 
-        if test "x$enable_ocamltools" = "xyes"; then :
+        if test "x$enable_ocamltools" = "xyes"
+then :
 
             as_fn_error $? "Ocaml tools enabled, but missing ocamlopt or ocamlfind" "$LINENO" 5
 fi
         ocamltools="n"
 
-else
+else $as_nop
 
 
 
@@ -6801,7 +7655,8 @@ x$ax_compare_version_B" | sed 's/^ *//' | sort -r | sed "s/x${ax_compare_version
 
     if test "$ax_compare_version" = "true" ; then
 
-            if test "x$enable_ocamltools" = "xyes"; then :
+            if test "x$enable_ocamltools" = "xyes"
+then :
 
                 as_fn_error $? "Your version of OCaml: $OCAMLVERSION is not supported" "$LINENO" 5
 fi
@@ -6814,17 +7669,19 @@ fi
 
 fi
 
-if test "x$golang" = "xy"; then :
+if test "x$golang" = "xy"
+then :
 
 
         if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}go", so it can be a program name with args.
 set dummy ${ac_tool_prefix}go; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_GO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_GO+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$GO"; then
   ac_cv_prog_GO="$GO" # Let the user override the test.
 else
@@ -6832,11 +7689,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_GO="${ac_tool_prefix}go"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6847,11 +7708,11 @@ fi
 fi
 GO=$ac_cv_prog_GO
 if test -n "$GO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GO" >&5
-$as_echo "$GO" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $GO" >&5
+printf "%s\n" "$GO" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -6860,11 +7721,12 @@ if test -z "$ac_cv_prog_GO"; then
   ac_ct_GO=$GO
   # Extract the first word of "go", so it can be a program name with args.
 set dummy go; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_GO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_GO+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_GO"; then
   ac_cv_prog_ac_ct_GO="$ac_ct_GO" # Let the user override the test.
 else
@@ -6872,11 +7734,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_GO="go"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -6887,11 +7753,11 @@ fi
 fi
 ac_ct_GO=$ac_cv_prog_ac_ct_GO
 if test -n "$ac_ct_GO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GO" >&5
-$as_echo "$ac_ct_GO" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_GO" >&5
+printf "%s\n" "$ac_ct_GO" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_GO" = x; then
@@ -6899,8 +7765,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     GO=$ac_ct_GO
@@ -6914,16 +7780,18 @@ fi
         GOVERSION=`$GO version | cut -d " " -f 3 | sed "s/go//"`
     fi
 
-    if test "x$GO" = "xno"; then :
+    if test "x$GO" = "xno"
+then :
 
-        if test "x$enable_golang" =  "xyes"; then :
+        if test "x$enable_golang" =  "xyes"
+then :
 
             as_fn_error $? "Go tools enabled, but missing go compiler" "$LINENO" 5
 
 fi
         golang="n"
 
-else
+else $as_nop
 
 
 
@@ -6958,7 +7826,8 @@ x$ax_compare_version_B" | sed 's/^ *//' | sort -r | sed "s/x${ax_compare_version
 
     if test "$ax_compare_version" = "true" ; then
 
-            if test "x$enable_golang" = "xyes"; then :
+            if test "x$enable_golang" = "xyes"
+then :
 
                 as_fn_error $? "\"Your version of go: $GOVERSION is not supported\"" "$LINENO" 5
 
@@ -6981,24 +7850,29 @@ fi
 
 
 
-if test "x$XENSTORE" = "x"; then :
+if test "x$XENSTORE" = "x"
+then :
 
 
 # Check whether --with-xenstored was given.
-if test "${with_xenstored+set}" = set; then :
+if test ${with_xenstored+y}
+then :
   withval=$with_xenstored;
-		if test "x$withval" = "xxenstored"; then :
+		if test "x$withval" = "xxenstored"
+then :
 
 			xenstore=$withval
 			xenstored=$sbindir/xenstored
 
 fi
-		if test "x$withval" = "xoxenstored"; then :
+		if test "x$withval" = "xoxenstored"
+then :
 
 			xenstore=$withval
 			xenstored=$sbindir/oxenstored
 
-	if test "$ocamltools" = "n"; then :
+	if test "$ocamltools" = "n"
+then :
 
 		as_fn_error $? "Missing ocaml dependencies for oxenstored, try installing ocaml ocaml-compiler-libs ocaml-runtime ocaml-findlib" "$LINENO" 5
 
@@ -7006,18 +7880,20 @@ fi
 
 
 fi
-		if test "x$withval" != "xoxenstored" && test "x$withval" != "xxenstored"; then :
+		if test "x$withval" != "xoxenstored" && test "x$withval" != "xxenstored"
+then :
 
 			as_fn_error $? "Unsupported xenstored specified, supported types: oxenstored xenstored" "$LINENO" 5
 
 fi
 
-else
+else $as_nop
 
 
 	xenstore="oxenstored"
 	xenstored=$sbindir/oxenstored
-	if test "$ocamltools" = "n"; then :
+	if test "$ocamltools" = "n"
+then :
 
 		xenstore="xenstored"
 		xenstored=$sbindir/xenstored
@@ -7033,7 +7909,8 @@ fi
 
 	XENSTORE=$xenstore
 
-	if test "x$XENSTORED" = "x"; then :
+	if test "x$XENSTORED" = "x"
+then :
 
 		XENSTORED=$xenstored
 
@@ -7041,17 +7918,19 @@ fi
 
 
 
-if test "x$xsmpolicy" = "xy"; then :
+if test "x$xsmpolicy" = "xy"
+then :
 
       # check for a checkpolicy binary with support for -t xen
   if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}checkpolicy", so it can be a program name with args.
 set dummy ${ac_tool_prefix}checkpolicy; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CHECKPOLICY+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_CHECKPOLICY+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$CHECKPOLICY"; then
   ac_cv_prog_CHECKPOLICY="$CHECKPOLICY" # Let the user override the test.
 else
@@ -7059,11 +7938,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_CHECKPOLICY="${ac_tool_prefix}checkpolicy"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -7074,11 +7957,11 @@ fi
 fi
 CHECKPOLICY=$ac_cv_prog_CHECKPOLICY
 if test -n "$CHECKPOLICY"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CHECKPOLICY" >&5
-$as_echo "$CHECKPOLICY" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CHECKPOLICY" >&5
+printf "%s\n" "$CHECKPOLICY" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -7087,11 +7970,12 @@ if test -z "$ac_cv_prog_CHECKPOLICY"; then
   ac_ct_CHECKPOLICY=$CHECKPOLICY
   # Extract the first word of "checkpolicy", so it can be a program name with args.
 set dummy checkpolicy; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CHECKPOLICY+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_ac_ct_CHECKPOLICY+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$ac_ct_CHECKPOLICY"; then
   ac_cv_prog_ac_ct_CHECKPOLICY="$ac_ct_CHECKPOLICY" # Let the user override the test.
 else
@@ -7099,11 +7983,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_ac_ct_CHECKPOLICY="checkpolicy"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -7114,11 +8002,11 @@ fi
 fi
 ac_ct_CHECKPOLICY=$ac_cv_prog_ac_ct_CHECKPOLICY
 if test -n "$ac_ct_CHECKPOLICY"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CHECKPOLICY" >&5
-$as_echo "$ac_ct_CHECKPOLICY" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CHECKPOLICY" >&5
+printf "%s\n" "$ac_ct_CHECKPOLICY" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_ct_CHECKPOLICY" = x; then
@@ -7126,8 +8014,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     CHECKPOLICY=$ac_ct_CHECKPOLICY
@@ -7144,9 +8032,11 @@ fi
      fi
   fi
 
-    if test "x$CHECKPOLICY" = "xno"; then :
+    if test "x$CHECKPOLICY" = "xno"
+then :
 
-        if test "x$enable_xsmpolicy" = "xyes"; then :
+        if test "x$enable_xsmpolicy" = "xyes"
+then :
 
             as_fn_error $? "XSM policy compilation enabled, but unable to find checkpolicy" "$LINENO" 5
 fi
@@ -7159,11 +8049,12 @@ case "$host_os" in
   freebsd*) ;;
   *) # Extract the first word of "bash", so it can be a program name with args.
 set dummy bash; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BASH+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_BASH+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $BASH in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_BASH="$BASH" # Let the user override the test with a path.
@@ -7173,11 +8064,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_BASH="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_BASH="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -7190,11 +8085,11 @@ esac
 fi
 BASH=$ac_cv_path_BASH
 if test -n "$BASH"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BASH" >&5
-$as_echo "$BASH" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BASH" >&5
+printf "%s\n" "$BASH" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -7203,16 +8098,18 @@ then
     as_fn_error $? "Unable to find bash, please install bash" "$LINENO" 5
 fi;;
 esac
-if test -z "$PYTHON"; then :
+if test -z "$PYTHON"
+then :
   for ac_prog in python3 python python2
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_PYTHON+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_prog_PYTHON+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   if test -n "$PYTHON"; then
   ac_cv_prog_PYTHON="$PYTHON" # Let the user override the test.
 else
@@ -7220,11 +8117,15 @@ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
     ac_cv_prog_PYTHON="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -7235,11 +8136,11 @@ fi
 fi
 PYTHON=$ac_cv_prog_PYTHON
 if test -n "$PYTHON"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
-$as_echo "$PYTHON" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
+printf "%s\n" "$PYTHON" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -7248,19 +8149,22 @@ done
 test -n "$PYTHON" || PYTHON="err"
 
 fi
-if test "$PYTHON" = "err"; then :
+if test "$PYTHON" = "err"
+then :
   as_fn_error $? "No python interpreter found" "$LINENO" 5
 fi
-if echo "$PYTHON" | grep -q "^/"; then :
+if echo "$PYTHON" | grep -q "^/"
+then :
 
-else
+else $as_nop
   # Extract the first word of "$PYTHON", so it can be a program name with args.
 set dummy $PYTHON; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PYTHON+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_PYTHON+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $PYTHON in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
@@ -7270,11 +8174,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_PYTHON="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -7286,11 +8194,11 @@ esac
 fi
 PYTHON=$ac_cv_path_PYTHON
 if test -n "$PYTHON"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
-$as_echo "$PYTHON" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
+printf "%s\n" "$PYTHON" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -7300,11 +8208,12 @@ PYTHON=`basename $PYTHONPATH`
 
 # Extract the first word of "$PYTHON", so it can be a program name with args.
 set dummy $PYTHON; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PYTHONPATH+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_PYTHONPATH+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $PYTHONPATH in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_PYTHONPATH="$PYTHONPATH" # Let the user override the test with a path.
@@ -7314,447 +8223,84 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PYTHONPATH="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_PYTHONPATH="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
-  done
-IFS=$as_save_IFS
-
-  test -z "$ac_cv_path_PYTHONPATH" && ac_cv_path_PYTHONPATH="no"
-  ;;
-esac
-fi
-PYTHONPATH=$ac_cv_path_PYTHONPATH
-if test -n "$PYTHONPATH"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHONPATH" >&5
-$as_echo "$PYTHONPATH" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test x"${PYTHONPATH}" = x"no"
-then
-    as_fn_error $? "Unable to find $PYTHON, please install $PYTHON" "$LINENO" 5
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for python version >= 2.6 " >&5
-$as_echo_n "checking for python version >= 2.6 ... " >&6; }
-`$PYTHON -c 'import sys; sys.exit(eval("sys.version_info < (2, 6)"))'`
-if test "$?" != "0"
-then
-    python_version=`$PYTHON -V 2>&1`
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    as_fn_error $? "$python_version is too old, minimum required version is 2.6" "$LINENO" 5
-else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if ${ac_cv_prog_CPP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-  break
-fi
-
-    done
-    ac_cv_prog_CPP=$CPP
-
-fi
-  CPP=$ac_cv_prog_CPP
-else
-  ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-		     Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
-  # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-  # OK, works on sane cases.  Now check whether nonexistent headers
-  # can be detected and how.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-  # Broken: success on invalid input.
-continue
-else
-  # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
-  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$GREP"; then
-  ac_path_GREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in grep ggrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
-  # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'GREP' >> "conftest.nl"
-    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_GREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_GREP="$ac_path_GREP"
-      ac_path_GREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_GREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_GREP"; then
-    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
-   then ac_cv_path_EGREP="$GREP -E"
-   else
-     if test -z "$EGREP"; then
-  ac_path_EGREP_found=false
-  # Loop through the user's path and test for each of PROGNAME-LIST
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in egrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
-  # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
-  ac_count=0
-  $as_echo_n 0123456789 >"conftest.in"
-  while :
-  do
-    cat "conftest.in" "conftest.in" >"conftest.tmp"
-    mv "conftest.tmp" "conftest.in"
-    cp "conftest.in" "conftest.nl"
-    $as_echo 'EGREP' >> "conftest.nl"
-    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
-    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
-    as_fn_arith $ac_count + 1 && ac_count=$as_val
-    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_EGREP="$ac_path_EGREP"
-      ac_path_EGREP_max=$ac_count
-    fi
-    # 10*(2^10) chars as input seems more than enough
-    test $ac_count -gt 10 && break
-  done
-  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
-      $ac_path_EGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_EGREP"; then
-    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_EGREP=$EGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_header_stdc=yes
-else
-  ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then :
-
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then :
-  :
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
+  done
+IFS=$as_save_IFS
 
-else
-  ac_cv_header_stdc=no
+  test -z "$ac_cv_path_PYTHONPATH" && ac_cv_path_PYTHONPATH="no"
+  ;;
+esac
 fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
+PYTHONPATH=$ac_cv_path_PYTHONPATH
+if test -n "$PYTHONPATH"; then
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PYTHONPATH" >&5
+printf "%s\n" "$PYTHONPATH" >&6; }
+else
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
+
+if test x"${PYTHONPATH}" = x"no"
+then
+    as_fn_error $? "Unable to find $PYTHON, please install $PYTHON" "$LINENO" 5
 fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for python version >= 2.6 " >&5
+printf %s "checking for python version >= 2.6 ... " >&6; }
+`$PYTHON -c 'import sys; sys.exit(eval("sys.version_info < (2, 6)"))'`
+if test "$?" != "0"
+then
+    python_version=`$PYTHON -V 2>&1`
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+    as_fn_error $? "$python_version is too old, minimum required version is 2.6" "$LINENO" 5
+else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
 
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+ac_header= ac_cache=
+for ac_item in $ac_header_c_list
+do
+  if test $ac_cache; then
+    ac_fn_c_check_header_compile "$LINENO" $ac_header ac_cv_header_$ac_cache "$ac_includes_default"
+    if eval test \"x\$ac_cv_header_$ac_cache\" = xyes; then
+      printf "%s\n" "#define $ac_item 1" >> confdefs.h
+    fi
+    ac_header= ac_cache=
+  elif test $ac_header; then
+    ac_cache=$ac_item
+  else
+    ac_header=$ac_item
+  fi
+done
+
+
+
 
-fi
 
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
-"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
 
-fi
 
-done
 
+if test $ac_cv_header_stdlib_h = yes && test $ac_cv_header_string_h = yes
+then :
 
-if test "$cross_compiling" != yes; then :
+printf "%s\n" "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+if test "$cross_compiling" != yes
+then :
 
 
 ac_previous_cppflags=$CPPFLAGS
@@ -7762,11 +8308,12 @@ ac_previous_ldflags=$LDFLAGS
 ac_previous_libs=$LIBS
 # Extract the first word of "$PYTHON-config", so it can be a program name with args.
 set dummy $PYTHON-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_pyconfig+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_pyconfig+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $pyconfig in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_pyconfig="$pyconfig" # Let the user override the test with a path.
@@ -7776,11 +8323,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_pyconfig="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_pyconfig="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -7793,33 +8344,34 @@ esac
 fi
 pyconfig=$ac_cv_path_pyconfig
 if test -n "$pyconfig"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pyconfig" >&5
-$as_echo "$pyconfig" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pyconfig" >&5
+printf "%s\n" "$pyconfig" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
-if test x"$pyconfig" = x"no"; then :
+if test x"$pyconfig" = x"no"
+then :
 
-        CPPFLAGS="$CFLAGS `$PYTHON -c 'import distutils.sysconfig; \
-        print("-I" + distutils.sysconfig.get_config_var("INCLUDEPY"))'`"
-    CPPFLAGS="$CPPFLAGS `$PYTHON -c 'import distutils.sysconfig; \
-        print(distutils.sysconfig.get_config_var("CFLAGS"))'`"
-    LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \
-        print("-L" + distutils.sysconfig.get_python_lib(plat_specific=1,\
+        CPPFLAGS="$CFLAGS `$PYTHON -c 'import sysconfig; \
+        print("-I" + sysconfig.get_config_var("INCLUDEPY"))'`"
+    CPPFLAGS="$CPPFLAGS `$PYTHON -c 'import sysconfig; \
+        print(sysconfig.get_config_var("CFLAGS"))'`"
+    LDFLAGS="$LDFLAGS `$PYTHON -c 'import sysconfig; \
+        print("-L" + sysconfig.get_python_lib(plat_specific=1,\
         standard_lib=1) + "/config")'`"
-    LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \
-        print(distutils.sysconfig.get_config_var("LINKFORSHARED"))'`"
-    LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \
-        print(distutils.sysconfig.get_config_var("LDFLAGS"))'`"
-    LIBS="$LIBS `$PYTHON -c 'import distutils.sysconfig; \
-        print(distutils.sysconfig.get_config_var("LIBS"))'`"
-    LIBS="$LIBS `$PYTHON -c 'import distutils.sysconfig; \
-        print(distutils.sysconfig.get_config_var("SYSLIBS"))'`"
+    LDFLAGS="$LDFLAGS `$PYTHON -c 'import sysconfig; \
+        print(sysconfig.get_config_var("LINKFORSHARED"))'`"
+    LDFLAGS="$LDFLAGS `$PYTHON -c 'import sysconfig; \
+        print(sysconfig.get_config_var("LDFLAGS"))'`"
+    LIBS="$LIBS `$PYTHON -c 'import sysconfig; \
+        print(sysconfig.get_config_var("LIBS"))'`"
+    LIBS="$LIBS `$PYTHON -c 'import sysconfig; \
+        print(sysconfig.get_config_var("SYSLIBS"))'`"
 
-else
+else $as_nop
 
         CPPFLAGS="$CFLAGS `$PYTHON-config --cflags`"
             python_devel_embed=""
@@ -7832,18 +8384,19 @@ else
 
 fi
 
-ac_fn_c_check_header_mongrel "$LINENO" "Python.h" "ac_cv_header_Python_h" "$ac_includes_default"
-if test "x$ac_cv_header_Python_h" = xyes; then :
+ac_fn_c_check_header_compile "$LINENO" "Python.h" "ac_cv_header_Python_h" "$ac_includes_default"
+if test "x$ac_cv_header_Python_h" = xyes
+then :
 
-else
+else $as_nop
   as_fn_error $? "Unable to find Python development headers" "$LINENO" 5
 fi
 
-
 ac_fn_c_check_func "$LINENO" "PyArg_ParseTuple" "ac_cv_func_PyArg_ParseTuple"
-if test "x$ac_cv_func_PyArg_ParseTuple" = xyes; then :
+if test "x$ac_cv_func_PyArg_ParseTuple" = xyes
+then :
 
-else
+else $as_nop
   as_fn_error $? "Unable to find a suitable python development library" "$LINENO" 5
 fi
 
@@ -7853,11 +8406,12 @@ LDFLAGS=$ac_previous_ldflags
 LIBS=$ac_previous_libs
 
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE" >&5
-$as_echo_n "checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE... " >&6; }
-if ${ax_cv_python_fortify+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE" >&5
+printf %s "checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE... " >&6; }
+if test ${ax_cv_python_fortify+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
         ax_cv_python_fortify=no
         for arg in $($PYTHON-config --cflags); do
@@ -7871,14 +8425,15 @@ else
         done
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_python_fortify" >&5
-$as_echo "$ax_cv_python_fortify" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_python_fortify" >&5
+printf "%s\n" "$ax_cv_python_fortify" >&6; }
 
-    if test x$ax_cv_python_fortify = xyes; then :
+    if test x$ax_cv_python_fortify = xyes
+then :
 
         PY_NOOPT_CFLAGS=-O1
 
-else
+else $as_nop
 
         PY_NOOPT_CFLAGS=''
 
@@ -7895,11 +8450,12 @@ case "$host_cpu" in
 i[3456]86|x86_64|aarch64)
     # Extract the first word of "iasl", so it can be a program name with args.
 set dummy iasl; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_IASL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_IASL+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $IASL in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_IASL="$IASL" # Let the user override the test with a path.
@@ -7909,11 +8465,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_IASL="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_IASL="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -7926,11 +8486,11 @@ esac
 fi
 IASL=$ac_cv_path_IASL
 if test -n "$IASL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IASL" >&5
-$as_echo "$IASL" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $IASL" >&5
+printf "%s\n" "$IASL" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -7941,14 +8501,16 @@ fi
     ;;
 esac
 
-ac_fn_c_check_header_mongrel "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default"
-if test "x$ac_cv_header_uuid_uuid_h" = xyes; then :
+ac_fn_c_check_header_compile "$LINENO" "uuid/uuid.h" "ac_cv_header_uuid_uuid_h" "$ac_includes_default"
+if test "x$ac_cv_header_uuid_uuid_h" = xyes
+then :
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uuid_clear in -luuid" >&5
-$as_echo_n "checking for uuid_clear in -luuid... " >&6; }
-if ${ac_cv_lib_uuid_uuid_clear+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for uuid_clear in -luuid" >&5
+printf %s "checking for uuid_clear in -luuid... " >&6; }
+if test ${ac_cv_lib_uuid_uuid_clear+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-luuid  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -7957,58 +8519,59 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char uuid_clear ();
 int
-main ()
+main (void)
 {
 return uuid_clear ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_uuid_uuid_clear=yes
-else
+else $as_nop
   ac_cv_lib_uuid_uuid_clear=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_clear" >&5
-$as_echo "$ac_cv_lib_uuid_uuid_clear" >&6; }
-if test "x$ac_cv_lib_uuid_uuid_clear" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uuid_uuid_clear" >&5
+printf "%s\n" "$ac_cv_lib_uuid_uuid_clear" >&6; }
+if test "x$ac_cv_lib_uuid_uuid_clear" = xyes
+then :
   libuuid="y"
 fi
 
 
 fi
 
-
-ac_fn_c_check_header_mongrel "$LINENO" "uuid.h" "ac_cv_header_uuid_h" "$ac_includes_default"
-if test "x$ac_cv_header_uuid_h" = xyes; then :
+ac_fn_c_check_header_compile "$LINENO" "uuid.h" "ac_cv_header_uuid_h" "$ac_includes_default"
+if test "x$ac_cv_header_uuid_h" = xyes
+then :
   libuuid="y"
 fi
 
-
-if test "$libuuid" != "y"; then :
+if test "$libuuid" != "y"
+then :
 
     as_fn_error $? "cannot find a valid uuid library" "$LINENO" 5
 
 fi
 
 
-ac_fn_c_check_header_mongrel "$LINENO" "curses.h" "ac_cv_header_curses_h" "$ac_includes_default"
-if test "x$ac_cv_header_curses_h" = xyes; then :
+ac_fn_c_check_header_compile "$LINENO" "curses.h" "ac_cv_header_curses_h" "$ac_includes_default"
+if test "x$ac_cv_header_curses_h" = xyes
+then :
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clear in -lcurses" >&5
-$as_echo_n "checking for clear in -lcurses... " >&6; }
-if ${ac_cv_lib_curses_clear+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for clear in -lcurses" >&5
+printf %s "checking for clear in -lcurses... " >&6; }
+if test ${ac_cv_lib_curses_clear+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lcurses  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8017,49 +8580,49 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char clear ();
 int
-main ()
+main (void)
 {
 return clear ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_curses_clear=yes
-else
+else $as_nop
   ac_cv_lib_curses_clear=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curses_clear" >&5
-$as_echo "$ac_cv_lib_curses_clear" >&6; }
-if test "x$ac_cv_lib_curses_clear" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_curses_clear" >&5
+printf "%s\n" "$ac_cv_lib_curses_clear" >&6; }
+if test "x$ac_cv_lib_curses_clear" = xyes
+then :
   curses="y"
-else
+else $as_nop
   curses="n"
 fi
 
 
-else
+else $as_nop
   curses="n"
 fi
 
+ac_fn_c_check_header_compile "$LINENO" "ncurses.h" "ac_cv_header_ncurses_h" "$ac_includes_default"
+if test "x$ac_cv_header_ncurses_h" = xyes
+then :
 
-ac_fn_c_check_header_mongrel "$LINENO" "ncurses.h" "ac_cv_header_ncurses_h" "$ac_includes_default"
-if test "x$ac_cv_header_ncurses_h" = xyes; then :
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clear in -lncurses" >&5
-$as_echo_n "checking for clear in -lncurses... " >&6; }
-if ${ac_cv_lib_ncurses_clear+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for clear in -lncurses" >&5
+printf %s "checking for clear in -lncurses... " >&6; }
+if test ${ac_cv_lib_ncurses_clear+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lncurses  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8068,71 +8631,73 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char clear ();
 int
-main ()
+main (void)
 {
 return clear ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_ncurses_clear=yes
-else
+else $as_nop
   ac_cv_lib_ncurses_clear=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_clear" >&5
-$as_echo "$ac_cv_lib_ncurses_clear" >&6; }
-if test "x$ac_cv_lib_ncurses_clear" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ncurses_clear" >&5
+printf "%s\n" "$ac_cv_lib_ncurses_clear" >&6; }
+if test "x$ac_cv_lib_ncurses_clear" = xyes
+then :
   ncurses="y"
-else
+else $as_nop
   ncurses="n"
 fi
 
 
-else
+else $as_nop
   ncurses="n"
 fi
 
-
-if test "$curses" = "n" && test "$ncurses" = "n"; then :
+if test "$curses" = "n" && test "$ncurses" = "n"
+then :
 
     as_fn_error $? "Unable to find a suitable curses library" "$LINENO" 5
 
 fi
 # Prefer ncurses over curses if both are present
-if test "$ncurses" = "y"; then :
+if test "$ncurses" = "y"
+then :
 
     CURSES_LIBS="-lncurses"
 
-$as_echo "#define INCLUDE_CURSES_H <ncurses.h>" >>confdefs.h
+printf "%s\n" "#define INCLUDE_CURSES_H <ncurses.h>" >>confdefs.h
 
 
-else
+else $as_nop
 
     CURSES_LIBS="-lcurses"
 
-$as_echo "#define INCLUDE_CURSES_H <curses.h>" >>confdefs.h
+printf "%s\n" "#define INCLUDE_CURSES_H <curses.h>" >>confdefs.h
 
 
 fi
 
 
-if test "$ncurses" = "y"; then :
+if test "$ncurses" = "y"
+then :
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for define_key in -ltinfo" >&5
-$as_echo_n "checking for define_key in -ltinfo... " >&6; }
-if ${ac_cv_lib_tinfo_define_key+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for define_key in -ltinfo" >&5
+printf %s "checking for define_key in -ltinfo... " >&6; }
+if test ${ac_cv_lib_tinfo_define_key+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ltinfo  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8141,30 +8706,29 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char define_key ();
 int
-main ()
+main (void)
 {
 return define_key ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_tinfo_define_key=yes
-else
+else $as_nop
   ac_cv_lib_tinfo_define_key=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfo_define_key" >&5
-$as_echo "$ac_cv_lib_tinfo_define_key" >&6; }
-if test "x$ac_cv_lib_tinfo_define_key" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tinfo_define_key" >&5
+printf "%s\n" "$ac_cv_lib_tinfo_define_key" >&6; }
+if test "x$ac_cv_lib_tinfo_define_key" = xyes
+then :
   TINFO_LIBS=-ltinfo
 fi
 
@@ -8183,11 +8747,12 @@ if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
 	if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
 set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_PKG_CONFIG+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $PKG_CONFIG in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
@@ -8197,11 +8762,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -8213,11 +8782,11 @@ esac
 fi
 PKG_CONFIG=$ac_cv_path_PKG_CONFIG
 if test -n "$PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
-$as_echo "$PKG_CONFIG" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+printf "%s\n" "$PKG_CONFIG" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -8226,11 +8795,12 @@ if test -z "$ac_cv_path_PKG_CONFIG"; then
   ac_pt_PKG_CONFIG=$PKG_CONFIG
   # Extract the first word of "pkg-config", so it can be a program name with args.
 set dummy pkg-config; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_ac_pt_PKG_CONFIG+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $ac_pt_PKG_CONFIG in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
@@ -8240,11 +8810,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -8256,11 +8830,11 @@ esac
 fi
 ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
 if test -n "$ac_pt_PKG_CONFIG"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
-$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+printf "%s\n" "$ac_pt_PKG_CONFIG" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
   if test "x$ac_pt_PKG_CONFIG" = x; then
@@ -8268,8 +8842,8 @@ fi
   else
     case $cross_compiling:$ac_tool_warned in
 yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
 ac_tool_warned=yes ;;
 esac
     PKG_CONFIG=$ac_pt_PKG_CONFIG
@@ -8281,32 +8855,33 @@ fi
 fi
 if test -n "$PKG_CONFIG"; then
 	_pkg_min_version=0.9.0
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
-$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+printf %s "checking pkg-config is at least version $_pkg_min_version... " >&6; }
 	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 	else
-		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+		{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 		PKG_CONFIG=""
 	fi
 fi
-if test "x$qemu_xen" = "xy"; then :
+if test "x$qemu_xen" = "xy"
+then :
 
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for glib" >&5
-$as_echo_n "checking for glib... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for glib" >&5
+printf %s "checking for glib... " >&6; }
 
 if test -n "$glib_CFLAGS"; then
     pkg_cv_glib_CFLAGS="$glib_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.12\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.12\""; } >&5
   ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.12") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_glib_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.12" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -8320,10 +8895,10 @@ if test -n "$glib_LIBS"; then
     pkg_cv_glib_LIBS="$glib_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.12\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.12\""; } >&5
   ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.12") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_glib_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.12" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -8337,8 +8912,8 @@ fi
 
 
 if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+   	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -8364,10 +8939,10 @@ Alternatively, you may set the environment variables glib_CFLAGS
 and glib_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+     	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+	{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
@@ -8381,23 +8956,23 @@ See \`config.log' for more details" "$LINENO" 5; }
 else
 	glib_CFLAGS=$pkg_cv_glib_CFLAGS
 	glib_LIBS=$pkg_cv_glib_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 
 fi
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pixman" >&5
-$as_echo_n "checking for pixman... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pixman" >&5
+printf %s "checking for pixman... " >&6; }
 
 if test -n "$pixman_CFLAGS"; then
     pkg_cv_pixman_CFLAGS="$pixman_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pixman-1 >= 0.21.8\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pixman-1 >= 0.21.8\""; } >&5
   ($PKG_CONFIG --exists --print-errors "pixman-1 >= 0.21.8") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_pixman_CFLAGS=`$PKG_CONFIG --cflags "pixman-1 >= 0.21.8" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -8411,10 +8986,10 @@ if test -n "$pixman_LIBS"; then
     pkg_cv_pixman_LIBS="$pixman_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pixman-1 >= 0.21.8\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"pixman-1 >= 0.21.8\""; } >&5
   ($PKG_CONFIG --exists --print-errors "pixman-1 >= 0.21.8") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_pixman_LIBS=`$PKG_CONFIG --libs "pixman-1 >= 0.21.8" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -8428,8 +9003,8 @@ fi
 
 
 if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+   	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -8455,10 +9030,10 @@ Alternatively, you may set the environment variables pixman_CFLAGS
 and pixman_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+     	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+	{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
@@ -8472,8 +9047,8 @@ See \`config.log' for more details" "$LINENO" 5; }
 else
 	pixman_CFLAGS=$pkg_cv_pixman_CFLAGS
 	pixman_LIBS=$pkg_cv_pixman_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 
 fi
 
@@ -8481,11 +9056,12 @@ fi
 
 # Extract the first word of "wget", so it can be a program name with args.
 set dummy wget; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_WGET+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_WGET+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $WGET in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_WGET="$WGET" # Let the user override the test with a path.
@@ -8495,11 +9071,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_WGET="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_WGET="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -8512,21 +9092,22 @@ esac
 fi
 WGET=$ac_cv_path_WGET
 if test -n "$WGET"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5
-$as_echo "$WGET" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5
+printf "%s\n" "$WGET" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
 # Extract the first word of "false", so it can be a program name with args.
 set dummy false; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_FALSE+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_FALSE+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $FALSE in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_FALSE="$FALSE" # Let the user override the test with a path.
@@ -8536,11 +9117,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_FALSE="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_FALSE="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -8553,27 +9138,29 @@ esac
 fi
 FALSE=$ac_cv_path_FALSE
 if test -n "$FALSE"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FALSE" >&5
-$as_echo "$FALSE" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FALSE" >&5
+printf "%s\n" "$FALSE" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
-if test x"$WGET" != x"no"; then :
+if test x"$WGET" != x"no"
+then :
 
     FETCHER="$WGET -c -O"
 
-else
+else $as_nop
 
     # Extract the first word of "ftp", so it can be a program name with args.
 set dummy ftp; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_FTP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_FTP+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $FTP in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_FTP="$FTP" # Let the user override the test with a path.
@@ -8583,11 +9170,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_FTP="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_FTP="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -8600,23 +9191,24 @@ esac
 fi
 FTP=$ac_cv_path_FTP
 if test -n "$FTP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FTP" >&5
-$as_echo "$FTP" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FTP" >&5
+printf "%s\n" "$FTP" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
-    if test x"$FTP" != x"no"; then :
+    if test x"$FTP" != x"no"
+then :
 
         FETCHER="$FTP -o"
 
-else
+else $as_nop
 
         FETCHER="$FALSE"
-        { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cannot find wget or ftp" >&5
-$as_echo "$as_me: WARNING: cannot find wget or ftp" >&2;}
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cannot find wget or ftp" >&5
+printf "%s\n" "$as_me: WARNING: cannot find wget or ftp" >&2;}
 
 fi
 
@@ -8625,14 +9217,16 @@ fi
 
 
 # Checks for libraries.
-ac_fn_c_check_header_mongrel "$LINENO" "bzlib.h" "ac_cv_header_bzlib_h" "$ac_includes_default"
-if test "x$ac_cv_header_bzlib_h" = xyes; then :
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzDecompressInit in -lbz2" >&5
-$as_echo_n "checking for BZ2_bzDecompressInit in -lbz2... " >&6; }
-if ${ac_cv_lib_bz2_BZ2_bzDecompressInit+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+ac_fn_c_check_header_compile "$LINENO" "bzlib.h" "ac_cv_header_bzlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_bzlib_h" = xyes
+then :
+
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for BZ2_bzDecompressInit in -lbz2" >&5
+printf %s "checking for BZ2_bzDecompressInit in -lbz2... " >&6; }
+if test ${ac_cv_lib_bz2_BZ2_bzDecompressInit+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lbz2  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8641,30 +9235,29 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char BZ2_bzDecompressInit ();
 int
-main ()
+main (void)
 {
 return BZ2_bzDecompressInit ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_bz2_BZ2_bzDecompressInit=yes
-else
+else $as_nop
   ac_cv_lib_bz2_BZ2_bzDecompressInit=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bz2_BZ2_bzDecompressInit" >&5
-$as_echo "$ac_cv_lib_bz2_BZ2_bzDecompressInit" >&6; }
-if test "x$ac_cv_lib_bz2_BZ2_bzDecompressInit" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bz2_BZ2_bzDecompressInit" >&5
+printf "%s\n" "$ac_cv_lib_bz2_BZ2_bzDecompressInit" >&6; }
+if test "x$ac_cv_lib_bz2_BZ2_bzDecompressInit" = xyes
+then :
   ZLIB_CFLAGS="$ZLIB_CFLAGS -DHAVE_BZLIB"
          ZLIB_LIBS="$ZLIB_LIBS -lbz2"
 fi
@@ -8672,15 +9265,16 @@ fi
 
 fi
 
+ac_fn_c_check_header_compile "$LINENO" "lzma.h" "ac_cv_header_lzma_h" "$ac_includes_default"
+if test "x$ac_cv_header_lzma_h" = xyes
+then :
 
-ac_fn_c_check_header_mongrel "$LINENO" "lzma.h" "ac_cv_header_lzma_h" "$ac_includes_default"
-if test "x$ac_cv_header_lzma_h" = xyes; then :
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzma_stream_decoder in -llzma" >&5
-$as_echo_n "checking for lzma_stream_decoder in -llzma... " >&6; }
-if ${ac_cv_lib_lzma_lzma_stream_decoder+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lzma_stream_decoder in -llzma" >&5
+printf %s "checking for lzma_stream_decoder in -llzma... " >&6; }
+if test ${ac_cv_lib_lzma_lzma_stream_decoder+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-llzma  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8689,30 +9283,29 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char lzma_stream_decoder ();
 int
-main ()
+main (void)
 {
 return lzma_stream_decoder ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_lzma_lzma_stream_decoder=yes
-else
+else $as_nop
   ac_cv_lib_lzma_lzma_stream_decoder=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzma_lzma_stream_decoder" >&5
-$as_echo "$ac_cv_lib_lzma_lzma_stream_decoder" >&6; }
-if test "x$ac_cv_lib_lzma_lzma_stream_decoder" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzma_lzma_stream_decoder" >&5
+printf "%s\n" "$ac_cv_lib_lzma_lzma_stream_decoder" >&6; }
+if test "x$ac_cv_lib_lzma_lzma_stream_decoder" = xyes
+then :
   ZLIB_CFLAGS="$ZLIB_CFLAGS -DHAVE_LZMA"
          ZLIB_LIBS="$ZLIB_LIBS -llzma"
 fi
@@ -8720,15 +9313,16 @@ fi
 
 fi
 
+ac_fn_c_check_header_compile "$LINENO" "lzo/lzo1x.h" "ac_cv_header_lzo_lzo1x_h" "$ac_includes_default"
+if test "x$ac_cv_header_lzo_lzo1x_h" = xyes
+then :
 
-ac_fn_c_check_header_mongrel "$LINENO" "lzo/lzo1x.h" "ac_cv_header_lzo_lzo1x_h" "$ac_includes_default"
-if test "x$ac_cv_header_lzo_lzo1x_h" = xyes; then :
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lzo1x_decompress in -llzo2" >&5
-$as_echo_n "checking for lzo1x_decompress in -llzo2... " >&6; }
-if ${ac_cv_lib_lzo2_lzo1x_decompress+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lzo1x_decompress in -llzo2" >&5
+printf %s "checking for lzo1x_decompress in -llzo2... " >&6; }
+if test ${ac_cv_lib_lzo2_lzo1x_decompress+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-llzo2  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8737,30 +9331,29 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char lzo1x_decompress ();
 int
-main ()
+main (void)
 {
 return lzo1x_decompress ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_lzo2_lzo1x_decompress=yes
-else
+else $as_nop
   ac_cv_lib_lzo2_lzo1x_decompress=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzo2_lzo1x_decompress" >&5
-$as_echo "$ac_cv_lib_lzo2_lzo1x_decompress" >&6; }
-if test "x$ac_cv_lib_lzo2_lzo1x_decompress" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lzo2_lzo1x_decompress" >&5
+printf "%s\n" "$ac_cv_lib_lzo2_lzo1x_decompress" >&6; }
+if test "x$ac_cv_lib_lzo2_lzo1x_decompress" = xyes
+then :
   ZLIB_CFLAGS="$ZLIB_CFLAGS -DHAVE_LZO1X"
          ZLIB_LIBS="$ZLIB_LIBS -llzo2"
 fi
@@ -8769,19 +9362,18 @@ fi
 fi
 
 
-
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libzstd" >&5
-$as_echo_n "checking for libzstd... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libzstd" >&5
+printf %s "checking for libzstd... " >&6; }
 
 if test -n "$libzstd_CFLAGS"; then
     pkg_cv_libzstd_CFLAGS="$libzstd_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzstd\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzstd\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libzstd") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_libzstd_CFLAGS=`$PKG_CONFIG --cflags "libzstd" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -8795,10 +9387,10 @@ if test -n "$libzstd_LIBS"; then
     pkg_cv_libzstd_LIBS="$libzstd_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzstd\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libzstd\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libzstd") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_libzstd_LIBS=`$PKG_CONFIG --libs "libzstd" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -8812,8 +9404,8 @@ fi
 
 
 if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+   	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -8830,28 +9422,30 @@ fi
 
 	true
 elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+     	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 	true
 else
 	libzstd_CFLAGS=$pkg_cv_libzstd_CFLAGS
 	libzstd_LIBS=$pkg_cv_libzstd_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 	ZLIB_CFLAGS="$ZLIB_CFLAGS -DHAVE_ZSTD $libzstd_CFLAGS"
      ZLIB_LIBS="$ZLIB_LIBS $libzstd_LIBS"
 fi
 
 
 
-ac_fn_c_check_header_mongrel "$LINENO" "ext2fs/ext2fs.h" "ac_cv_header_ext2fs_ext2fs_h" "$ac_includes_default"
-if test "x$ac_cv_header_ext2fs_ext2fs_h" = xyes; then :
+ac_fn_c_check_header_compile "$LINENO" "ext2fs/ext2fs.h" "ac_cv_header_ext2fs_ext2fs_h" "$ac_includes_default"
+if test "x$ac_cv_header_ext2fs_ext2fs_h" = xyes
+then :
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ext2fs_open2 in -lext2fs" >&5
-$as_echo_n "checking for ext2fs_open2 in -lext2fs... " >&6; }
-if ${ac_cv_lib_ext2fs_ext2fs_open2+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ext2fs_open2 in -lext2fs" >&5
+printf %s "checking for ext2fs_open2 in -lext2fs... " >&6; }
+if test ${ac_cv_lib_ext2fs_ext2fs_open2+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lext2fs  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8860,33 +9454,32 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char ext2fs_open2 ();
 int
-main ()
+main (void)
 {
 return ext2fs_open2 ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_ext2fs_ext2fs_open2=yes
-else
+else $as_nop
   ac_cv_lib_ext2fs_ext2fs_open2=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ext2fs_ext2fs_open2" >&5
-$as_echo "$ac_cv_lib_ext2fs_ext2fs_open2" >&6; }
-if test "x$ac_cv_lib_ext2fs_ext2fs_open2" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ext2fs_ext2fs_open2" >&5
+printf "%s\n" "$ac_cv_lib_ext2fs_ext2fs_open2" >&6; }
+if test "x$ac_cv_lib_ext2fs_ext2fs_open2" = xyes
+then :
 
 
-$as_echo "#define INCLUDE_EXTFS_H <ext2fs/ext2fs.h>" >>confdefs.h
+printf "%s\n" "#define INCLUDE_EXTFS_H <ext2fs/ext2fs.h>" >>confdefs.h
 
     EXTFS_LIBS="-lext2fs"
 
@@ -8895,15 +9488,16 @@ fi
 
 fi
 
+ac_fn_c_check_header_compile "$LINENO" "ext4fs/ext2fs.h" "ac_cv_header_ext4fs_ext2fs_h" "$ac_includes_default"
+if test "x$ac_cv_header_ext4fs_ext2fs_h" = xyes
+then :
 
-ac_fn_c_check_header_mongrel "$LINENO" "ext4fs/ext2fs.h" "ac_cv_header_ext4fs_ext2fs_h" "$ac_includes_default"
-if test "x$ac_cv_header_ext4fs_ext2fs_h" = xyes; then :
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ext2fs_open2 in -lext4fs" >&5
-$as_echo_n "checking for ext2fs_open2 in -lext4fs... " >&6; }
-if ${ac_cv_lib_ext4fs_ext2fs_open2+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for ext2fs_open2 in -lext4fs" >&5
+printf %s "checking for ext2fs_open2 in -lext4fs... " >&6; }
+if test ${ac_cv_lib_ext4fs_ext2fs_open2+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lext4fs  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -8912,33 +9506,32 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char ext2fs_open2 ();
 int
-main ()
+main (void)
 {
 return ext2fs_open2 ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_ext4fs_ext2fs_open2=yes
-else
+else $as_nop
   ac_cv_lib_ext4fs_ext2fs_open2=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ext4fs_ext2fs_open2" >&5
-$as_echo "$ac_cv_lib_ext4fs_ext2fs_open2" >&6; }
-if test "x$ac_cv_lib_ext4fs_ext2fs_open2" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ext4fs_ext2fs_open2" >&5
+printf "%s\n" "$ac_cv_lib_ext4fs_ext2fs_open2" >&6; }
+if test "x$ac_cv_lib_ext4fs_ext2fs_open2" = xyes
+then :
 
 
-$as_echo "#define INCLUDE_EXTFS_H <ext4fs/ext2fs.h>" >>confdefs.h
+printf "%s\n" "#define INCLUDE_EXTFS_H <ext4fs/ext2fs.h>" >>confdefs.h
 
     EXTFS_LIBS="-lext4fs"
 
@@ -8950,12 +9543,12 @@ fi
 
 
 
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread flag" >&5
-$as_echo_n "checking for pthread flag... " >&6; }
-if ${ax_cv_pthread_flags+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread flag" >&5
+printf %s "checking for pthread flag... " >&6; }
+if test ${ax_cv_pthread_flags+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
         ax_cv_pthread_flags=-pthread
 
@@ -8987,12 +9580,13 @@ int main(void) {
 }
 
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
 
-else
+else $as_nop
   ax_cv_pthread_flags=failed
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 
     CFLAGS="$saved_CFLAGS"
@@ -9003,8 +9597,8 @@ rm -f core conftest.err conftest.$ac_objext \
 
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_pthread_flags" >&5
-$as_echo "$ax_cv_pthread_flags" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_pthread_flags" >&5
+printf "%s\n" "$ax_cv_pthread_flags" >&6; }
     if test "x$ax_cv_pthread_flags" = xfailed; then
         as_fn_error $? "-pthread does not work" "$LINENO" 5
     fi
@@ -9020,29 +9614,30 @@ $as_echo "$ax_cv_pthread_flags" >&6; }
     saved_CPPFLAGS="$CPPFLAGS"
 
     CPPFLAGS="$CPPFLAGS -Werror"
-    ac_fn_c_check_header_mongrel "$LINENO" "libutil.h" "ac_cv_header_libutil_h" "$ac_includes_default"
-if test "x$ac_cv_header_libutil_h" = xyes; then :
+    ac_fn_c_check_header_compile "$LINENO" "libutil.h" "ac_cv_header_libutil_h" "$ac_includes_default"
+if test "x$ac_cv_header_libutil_h" = xyes
+then :
 
 
-$as_echo "#define INCLUDE_LIBUTIL_H <libutil.h>" >>confdefs.h
+printf "%s\n" "#define INCLUDE_LIBUTIL_H <libutil.h>" >>confdefs.h
 
 
 fi
 
 
-
     CPPFLAGS="$saved_CPPFLAGS"
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for openpty et al" >&5
-$as_echo_n "checking for openpty et al... " >&6; }
-if ${ax_cv_ptyfuncs_libs+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for openpty et al" >&5
+printf %s "checking for openpty et al... " >&6; }
+if test ${ax_cv_ptyfuncs_libs+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
 
         for ax_cv_ptyfuncs_libs in -lutil "" NOT_FOUND; do
             if test "x$ax_cv_ptyfuncs_libs" = "xNOT_FOUND"; then
-                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+                { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "Unable to find library for openpty and login_tty
 See \`config.log' for more details" "$LINENO" 5; }
             fi
@@ -9062,12 +9657,13 @@ int main(void) {
 }
 
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
 
                 break
 
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 
     LIBS="$saved_LIBS"
@@ -9075,16 +9671,17 @@ rm -f core conftest.err conftest.$ac_objext \
         done
 
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_ptyfuncs_libs" >&5
-$as_echo "$ax_cv_ptyfuncs_libs" >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_ptyfuncs_libs" >&5
+printf "%s\n" "$ax_cv_ptyfuncs_libs" >&6; }
     PTYFUNCS_LIBS="$ax_cv_ptyfuncs_libs"
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for yajl_alloc in -lyajl" >&5
-$as_echo_n "checking for yajl_alloc in -lyajl... " >&6; }
-if ${ac_cv_lib_yajl_yajl_alloc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for yajl_alloc in -lyajl" >&5
+printf %s "checking for yajl_alloc in -lyajl... " >&6; }
+if test ${ac_cv_lib_yajl_yajl_alloc+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lyajl  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9093,45 +9690,43 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char yajl_alloc ();
 int
-main ()
+main (void)
 {
 return yajl_alloc ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_yajl_yajl_alloc=yes
-else
+else $as_nop
   ac_cv_lib_yajl_yajl_alloc=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_yajl_yajl_alloc" >&5
-$as_echo "$ac_cv_lib_yajl_yajl_alloc" >&6; }
-if test "x$ac_cv_lib_yajl_yajl_alloc" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBYAJL 1
-_ACEOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_yajl_yajl_alloc" >&5
+printf "%s\n" "$ac_cv_lib_yajl_yajl_alloc" >&6; }
+if test "x$ac_cv_lib_yajl_yajl_alloc" = xyes
+then :
+  printf "%s\n" "#define HAVE_LIBYAJL 1" >>confdefs.h
 
   LIBS="-lyajl $LIBS"
 
-else
+else $as_nop
   as_fn_error $? "Could not find yajl" "$LINENO" 5
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for deflateCopy in -lz" >&5
-$as_echo_n "checking for deflateCopy in -lz... " >&6; }
-if ${ac_cv_lib_z_deflateCopy+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for deflateCopy in -lz" >&5
+printf %s "checking for deflateCopy in -lz... " >&6; }
+if test ${ac_cv_lib_z_deflateCopy+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lz  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9140,45 +9735,43 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char deflateCopy ();
 int
-main ()
+main (void)
 {
 return deflateCopy ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_z_deflateCopy=yes
-else
+else $as_nop
   ac_cv_lib_z_deflateCopy=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflateCopy" >&5
-$as_echo "$ac_cv_lib_z_deflateCopy" >&6; }
-if test "x$ac_cv_lib_z_deflateCopy" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBZ 1
-_ACEOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_deflateCopy" >&5
+printf "%s\n" "$ac_cv_lib_z_deflateCopy" >&6; }
+if test "x$ac_cv_lib_z_deflateCopy" = xyes
+then :
+  printf "%s\n" "#define HAVE_LIBZ 1" >>confdefs.h
 
   LIBS="-lz $LIBS"
 
-else
+else $as_nop
   as_fn_error $? "Could not find zlib" "$LINENO" 5
 fi
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libiconv_open in -liconv" >&5
-$as_echo_n "checking for libiconv_open in -liconv... " >&6; }
-if ${ac_cv_lib_iconv_libiconv_open+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libiconv_open in -liconv" >&5
+printf %s "checking for libiconv_open in -liconv... " >&6; }
+if test ${ac_cv_lib_iconv_libiconv_open+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-liconv  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9187,44 +9780,45 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char libiconv_open ();
 int
-main ()
+main (void)
 {
 return libiconv_open ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_iconv_libiconv_open=yes
-else
+else $as_nop
   ac_cv_lib_iconv_libiconv_open=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iconv_libiconv_open" >&5
-$as_echo "$ac_cv_lib_iconv_libiconv_open" >&6; }
-if test "x$ac_cv_lib_iconv_libiconv_open" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_iconv_libiconv_open" >&5
+printf "%s\n" "$ac_cv_lib_iconv_libiconv_open" >&6; }
+if test "x$ac_cv_lib_iconv_libiconv_open" = xyes
+then :
   libiconv="y"
-else
+else $as_nop
   libiconv="n"
 fi
 
 
-ac_fn_c_check_header_mongrel "$LINENO" "argp.h" "ac_cv_header_argp_h" "$ac_includes_default"
-if test "x$ac_cv_header_argp_h" = xyes; then :
+ac_fn_c_check_header_compile "$LINENO" "argp.h" "ac_cv_header_argp_h" "$ac_includes_default"
+if test "x$ac_cv_header_argp_h" = xyes
+then :
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for argp_usage in -largp" >&5
-$as_echo_n "checking for argp_usage in -largp... " >&6; }
-if ${ac_cv_lib_argp_argp_usage+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for argp_usage in -largp" >&5
+printf %s "checking for argp_usage in -largp... " >&6; }
+if test ${ac_cv_lib_argp_argp_usage+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-largp  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9233,49 +9827,48 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char argp_usage ();
 int
-main ()
+main (void)
 {
 return argp_usage ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_argp_argp_usage=yes
-else
+else $as_nop
   ac_cv_lib_argp_argp_usage=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_argp_argp_usage" >&5
-$as_echo "$ac_cv_lib_argp_argp_usage" >&6; }
-if test "x$ac_cv_lib_argp_argp_usage" = xyes; then :
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_argp_argp_usage" >&5
+printf "%s\n" "$ac_cv_lib_argp_argp_usage" >&6; }
+if test "x$ac_cv_lib_argp_argp_usage" = xyes
+then :
   argp_ldflags="-largp"
 fi
 
 
-else
+else $as_nop
   as_fn_error $? "Could not find argp" "$LINENO" 5
 fi
 
 
 
-
 # FDT is needed only on ARM
 case "$host_cpu" in
 arm*|aarch64)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fdt_create in -lfdt" >&5
-$as_echo_n "checking for fdt_create in -lfdt... " >&6; }
-if ${ac_cv_lib_fdt_fdt_create+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for fdt_create in -lfdt" >&5
+printf %s "checking for fdt_create in -lfdt... " >&6; }
+if test ${ac_cv_lib_fdt_fdt_create+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lfdt  $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@@ -9284,37 +9877,34 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* Override any GCC internal prototype to avoid an error.
    Use char because int might match the return type of a GCC
    builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
 char fdt_create ();
 int
-main ()
+main (void)
 {
 return fdt_create ();
   ;
   return 0;
 }
 _ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
+if ac_fn_c_try_link "$LINENO"
+then :
   ac_cv_lib_fdt_fdt_create=yes
-else
+else $as_nop
   ac_cv_lib_fdt_fdt_create=no
 fi
-rm -f core conftest.err conftest.$ac_objext \
+rm -f core conftest.err conftest.$ac_objext conftest.beam \
     conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fdt_fdt_create" >&5
-$as_echo "$ac_cv_lib_fdt_fdt_create" >&6; }
-if test "x$ac_cv_lib_fdt_fdt_create" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBFDT 1
-_ACEOF
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_fdt_fdt_create" >&5
+printf "%s\n" "$ac_cv_lib_fdt_fdt_create" >&6; }
+if test "x$ac_cv_lib_fdt_fdt_create" = xyes
+then :
+  printf "%s\n" "#define HAVE_LIBFDT 1" >>confdefs.h
 
   LIBS="-lfdt $LIBS"
 
-else
+else $as_nop
   as_fn_error $? "Could not find libfdt" "$LINENO" 5
 fi
 
@@ -9324,108 +9914,197 @@ fi
 # function present in new version.
 # Use fdt_first_property_offset which has been correctly exported since v1.4.0
 ac_fn_c_check_func "$LINENO" "fdt_first_property_offset" "ac_cv_func_fdt_first_property_offset"
-if test "x$ac_cv_func_fdt_first_property_offset" = xyes; then :
+if test "x$ac_cv_func_fdt_first_property_offset" = xyes
+then :
   partial_dt="y"
-else
+else $as_nop
   partial_dt="n"
 fi
 
 
-if test "x$partial_dt" = "xy" ; then :
+if test "x$partial_dt" = "xy"
+then :
 
-$as_echo "#define ENABLE_PARTIAL_DEVICE_TREE 1" >>confdefs.h
+printf "%s\n" "#define ENABLE_PARTIAL_DEVICE_TREE 1" >>confdefs.h
 
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling support for partial device tree in libxl.
+else $as_nop
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Disabling support for partial device tree in libxl.
        Please install libfdt library - version 1.4.0 or higher" >&5
-$as_echo "$as_me: WARNING: Disabling support for partial device tree in libxl.
+printf "%s\n" "$as_me: WARNING: Disabling support for partial device tree in libxl.
        Please install libfdt library - version 1.4.0 or higher" >&2;}
 fi
 
 # The functions fdt_{first,next}_subnode may not be available because:
 #   * It has been introduced in 2013 => Doesn't work on Wheezy
 #   * The prototype exists but the functions are not exposed. Don't ask why...
-for ac_func in fdt_first_subnode fdt_next_subnode
-do :
-  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+ac_fn_c_check_func "$LINENO" "fdt_first_subnode" "ac_cv_func_fdt_first_subnode"
+if test "x$ac_cv_func_fdt_first_subnode" = xyes
+then :
+  printf "%s\n" "#define HAVE_FDT_FIRST_SUBNODE 1" >>confdefs.h
+
+fi
+ac_fn_c_check_func "$LINENO" "fdt_next_subnode" "ac_cv_func_fdt_next_subnode"
+if test "x$ac_cv_func_fdt_next_subnode" = xyes
+then :
+  printf "%s\n" "#define HAVE_FDT_NEXT_SUBNODE 1" >>confdefs.h
+
+fi
+
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC options needed to detect all undeclared functions" >&5
+printf %s "checking for $CC options needed to detect all undeclared functions... " >&6; }
+if test ${ac_cv_c_undeclared_builtin_options+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
+  ac_save_CFLAGS=$CFLAGS
+   ac_cv_c_undeclared_builtin_options='cannot detect'
+   for ac_arg in '' -fno-builtin; do
+     CFLAGS="$ac_save_CFLAGS $ac_arg"
+     # This test program should *not* compile successfully.
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main (void)
+{
+(void) strchr;
+  ;
+  return 0;
+}
 _ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+
+else $as_nop
+  # This test program should compile successfully.
+        # No library function is consistently available on
+        # freestanding implementations, so test against a dummy
+        # declaration.  Include always-available headers on the
+        # off chance that they somehow elicit warnings.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <float.h>
+#include <limits.h>
+#include <stdarg.h>
+#include <stddef.h>
+extern void ac_decl (int, char *);
+
+int
+main (void)
+{
+(void) ac_decl (0, (char *) 0);
+  (void) ac_decl;
 
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"
+then :
+  if test x"$ac_arg" = x
+then :
+  ac_cv_c_undeclared_builtin_options='none needed'
+else $as_nop
+  ac_cv_c_undeclared_builtin_options=$ac_arg
 fi
-done
+          break
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
+    done
+    CFLAGS=$ac_save_CFLAGS
+
+fi
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_undeclared_builtin_options" >&5
+printf "%s\n" "$ac_cv_c_undeclared_builtin_options" >&6; }
+  case $ac_cv_c_undeclared_builtin_options in #(
+  'cannot detect') :
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot make $CC report undeclared builtins
+See \`config.log' for more details" "$LINENO" 5; } ;; #(
+  'none needed') :
+    ac_c_undeclared_builtin_options='' ;; #(
+  *) :
+    ac_c_undeclared_builtin_options=$ac_cv_c_undeclared_builtin_options ;;
+esac
 
-ac_fn_c_check_decl "$LINENO" "fdt_first_subnode" "ac_cv_have_decl_fdt_first_subnode" "#include <libfdt.h>
-"
-if test "x$ac_cv_have_decl_fdt_first_subnode" = xyes; then :
+ac_fn_check_decl "$LINENO" "fdt_first_subnode" "ac_cv_have_decl_fdt_first_subnode" "#include <libfdt.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_fdt_first_subnode" = xyes
+then :
   ac_have_decl=1
-else
+else $as_nop
   ac_have_decl=0
 fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FDT_FIRST_SUBNODE $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "fdt_next_subnode" "ac_cv_have_decl_fdt_next_subnode" "#include <libfdt.h>
-"
-if test "x$ac_cv_have_decl_fdt_next_subnode" = xyes; then :
+printf "%s\n" "#define HAVE_DECL_FDT_FIRST_SUBNODE $ac_have_decl" >>confdefs.h
+ac_fn_check_decl "$LINENO" "fdt_next_subnode" "ac_cv_have_decl_fdt_next_subnode" "#include <libfdt.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_fdt_next_subnode" = xyes
+then :
   ac_have_decl=1
-else
+else $as_nop
   ac_have_decl=0
 fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FDT_NEXT_SUBNODE $ac_have_decl
-_ACEOF
+printf "%s\n" "#define HAVE_DECL_FDT_NEXT_SUBNODE $ac_have_decl" >>confdefs.h
 
 
 # The helper fdt_property_u32 is only present in libfdt >= 1.4.0
 # It's an inline function, so only check if the declaration is present
-ac_fn_c_check_decl "$LINENO" "fdt_property_u32" "ac_cv_have_decl_fdt_property_u32" "#include <libfdt.h>
-"
-if test "x$ac_cv_have_decl_fdt_property_u32" = xyes; then :
+ac_fn_check_decl "$LINENO" "fdt_property_u32" "ac_cv_have_decl_fdt_property_u32" "#include <libfdt.h>
+" "$ac_c_undeclared_builtin_options" "CFLAGS"
+if test "x$ac_cv_have_decl_fdt_property_u32" = xyes
+then :
   ac_have_decl=1
-else
+else $as_nop
   ac_have_decl=0
 fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_FDT_PROPERTY_U32 $ac_have_decl
-_ACEOF
+printf "%s\n" "#define HAVE_DECL_FDT_PROPERTY_U32 $ac_have_decl" >>confdefs.h
 
 esac
 
 # Checks for header files.
-for ac_header in yajl/yajl_version.h sys/eventfd.h valgrind/memcheck.h utmp.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
+ac_fn_c_check_header_compile "$LINENO" "yajl/yajl_version.h" "ac_cv_header_yajl_yajl_version_h" "$ac_includes_default"
+if test "x$ac_cv_header_yajl_yajl_version_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_YAJL_YAJL_VERSION_H 1" >>confdefs.h
 
 fi
+ac_fn_c_check_header_compile "$LINENO" "sys/eventfd.h" "ac_cv_header_sys_eventfd_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_eventfd_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_SYS_EVENTFD_H 1" >>confdefs.h
 
-done
+fi
+ac_fn_c_check_header_compile "$LINENO" "valgrind/memcheck.h" "ac_cv_header_valgrind_memcheck_h" "$ac_includes_default"
+if test "x$ac_cv_header_valgrind_memcheck_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_VALGRIND_MEMCHECK_H 1" >>confdefs.h
+
+fi
+ac_fn_c_check_header_compile "$LINENO" "utmp.h" "ac_cv_header_utmp_h" "$ac_includes_default"
+if test "x$ac_cv_header_utmp_h" = xyes
+then :
+  printf "%s\n" "#define HAVE_UTMP_H 1" >>confdefs.h
+
+fi
 
 
 # Check for libnl3 >=3.2.8. If present enable remus network buffering.
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBNL3" >&5
-$as_echo_n "checking for LIBNL3... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for LIBNL3" >&5
+printf %s "checking for LIBNL3... " >&6; }
 
 if test -n "$LIBNL3_CFLAGS"; then
     pkg_cv_LIBNL3_CFLAGS="$LIBNL3_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libnl-3.0 >= 3.2.8 libnl-route-3.0 >= 3.2.8\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libnl-3.0 >= 3.2.8 libnl-route-3.0 >= 3.2.8\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libnl-3.0 >= 3.2.8 libnl-route-3.0 >= 3.2.8") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_LIBNL3_CFLAGS=`$PKG_CONFIG --cflags "libnl-3.0 >= 3.2.8 libnl-route-3.0 >= 3.2.8" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9439,10 +10118,10 @@ if test -n "$LIBNL3_LIBS"; then
     pkg_cv_LIBNL3_LIBS="$LIBNL3_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libnl-3.0 >= 3.2.8 libnl-route-3.0 >= 3.2.8\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libnl-3.0 >= 3.2.8 libnl-route-3.0 >= 3.2.8\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libnl-3.0 >= 3.2.8 libnl-route-3.0 >= 3.2.8") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_LIBNL3_LIBS=`$PKG_CONFIG --libs "libnl-3.0 >= 3.2.8 libnl-route-3.0 >= 3.2.8" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9456,8 +10135,8 @@ fi
 
 
 if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+   	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -9474,29 +10153,30 @@ fi
 
 	libnl3_lib="n"
 elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+     	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 	libnl3_lib="n"
 else
 	LIBNL3_CFLAGS=$pkg_cv_LIBNL3_CFLAGS
 	LIBNL3_LIBS=$pkg_cv_LIBNL3_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 	libnl3_lib="y"
 fi
 
-if test "x$libnl3_lib" = "xn" ; then :
+if test "x$libnl3_lib" = "xn"
+then :
 
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling support for Remus network buffering and COLO.
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Disabling support for Remus network buffering and COLO.
     Please install libnl3 libraries (including libnl3-route), command line tools and devel
     headers - version 3.2.8 or higher" >&5
-$as_echo "$as_me: WARNING: Disabling support for Remus network buffering and COLO.
+printf "%s\n" "$as_me: WARNING: Disabling support for Remus network buffering and COLO.
     Please install libnl3 libraries (including libnl3-route), command line tools and devel
     headers - version 3.2.8 or higher" >&2;}
     libnl=n
 
 
-else
+else $as_nop
 
     libnl=y
 
@@ -9512,20 +10192,24 @@ fi # ! $rump
 
 
 # Check whether --enable-systemd was given.
-if test "${enable_systemd+set}" = set; then :
+if test ${enable_systemd+y}
+then :
   enableval=$enable_systemd;
 fi
 
 
-if test "x$enable_systemd" = "xno"; then :
+if test "x$enable_systemd" = "xno"
+then :
 
     ax_cv_systemd="n"
 
-elif test "x$enable_systemd" = "xyes"; then :
+elif test "x$enable_systemd" = "xyes"
+then :
 
     ax_cv_systemd="y"
 
-elif test -z $ax_cv_systemd; then :
+elif test -z $ax_cv_systemd
+then :
 
     ax_cv_systemd="n"
 
@@ -9536,9 +10220,10 @@ systemd=$ax_cv_systemd
 
 
 # Check whether --with-systemd was given.
-if test "${with_systemd+set}" = set; then :
+if test ${with_systemd+y}
+then :
   withval=$with_systemd; SYSTEMD_DIR="$withval"
-else
+else $as_nop
   SYSTEMD_DIR=""
 fi
 
@@ -9546,9 +10231,10 @@ fi
 
 
 # Check whether --with-systemd-modules-load was given.
-if test "${with_systemd_modules_load+set}" = set; then :
+if test ${with_systemd_modules_load+y}
+then :
   withval=$with_systemd_modules_load; SYSTEMD_MODULES_LOAD="$withval"
-else
+else $as_nop
   SYSTEMD_MODULES_LOAD=""
 fi
 
@@ -9558,17 +10244,17 @@ fi
 
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
-$as_echo_n "checking for SYSTEMD... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
+printf %s "checking for SYSTEMD... " >&6; }
 
 if test -n "$SYSTEMD_CFLAGS"; then
     pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd-daemon" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9582,10 +10268,10 @@ if test -n "$SYSTEMD_LIBS"; then
     pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd-daemon" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9599,8 +10285,8 @@ fi
 
 
 if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+   	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -9618,17 +10304,17 @@ fi
 
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
-$as_echo_n "checking for SYSTEMD... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
+printf %s "checking for SYSTEMD... " >&6; }
 
 if test -n "$SYSTEMD_CFLAGS"; then
     pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd >= 209" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9642,10 +10328,10 @@ if test -n "$SYSTEMD_LIBS"; then
     pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd >= 209" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9659,8 +10345,8 @@ fi
 
 
 if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+   	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -9677,34 +10363,34 @@ fi
 
 	systemd="n"
 elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+     	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 	systemd="n"
 else
 	SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS
 	SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 	systemd="y"
 fi
 
 elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+     	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
-$as_echo_n "checking for SYSTEMD... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
+printf %s "checking for SYSTEMD... " >&6; }
 
 if test -n "$SYSTEMD_CFLAGS"; then
     pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd >= 209" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9718,10 +10404,10 @@ if test -n "$SYSTEMD_LIBS"; then
     pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd >= 209" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9735,8 +10421,8 @@ fi
 
 
 if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+   	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -9753,48 +10439,50 @@ fi
 
 	systemd="n"
 elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+     	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 	systemd="n"
 else
 	SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS
 	SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 	systemd="y"
 fi
 
 else
 	SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS
 	SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 	systemd="y"
 fi
 
 
-		if test "x$enable_systemd" != "xno"; then :
+		if test "x$enable_systemd" != "xno"
+then :
 
-	     if test "x$systemd" = "xy" ; then :
+	     if test "x$systemd" = "xy"
+then :
 
 
-$as_echo "#define HAVE_SYSTEMD 1" >>confdefs.h
+printf "%s\n" "#define HAVE_SYSTEMD 1" >>confdefs.h
 
 			systemd=y
 
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
-$as_echo_n "checking for SYSTEMD... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
+printf %s "checking for SYSTEMD... " >&6; }
 
 if test -n "$SYSTEMD_CFLAGS"; then
     pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd-daemon" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9808,10 +10496,10 @@ if test -n "$SYSTEMD_LIBS"; then
     pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd-daemon\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libsystemd-daemon") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd-daemon" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9825,8 +10513,8 @@ fi
 
 
 if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+   	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -9843,17 +10531,17 @@ fi
 
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
-$as_echo_n "checking for SYSTEMD... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
+printf %s "checking for SYSTEMD... " >&6; }
 
 if test -n "$SYSTEMD_CFLAGS"; then
     pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd >= 209" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9867,10 +10555,10 @@ if test -n "$SYSTEMD_LIBS"; then
     pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd >= 209" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9884,8 +10572,8 @@ fi
 
 
 if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+   	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -9911,10 +10599,10 @@ Alternatively, you may set the environment variables SYSTEMD_CFLAGS
 and SYSTEMD_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+     	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+	{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
@@ -9928,27 +10616,27 @@ See \`config.log' for more details" "$LINENO" 5; }
 else
 	SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS
 	SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 
 fi
 
 elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+     	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
-$as_echo_n "checking for SYSTEMD... " >&6; }
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for SYSTEMD" >&5
+printf %s "checking for SYSTEMD... " >&6; }
 
 if test -n "$SYSTEMD_CFLAGS"; then
     pkg_cv_SYSTEMD_CFLAGS="$SYSTEMD_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SYSTEMD_CFLAGS=`$PKG_CONFIG --cflags "libsystemd >= 209" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9962,10 +10650,10 @@ if test -n "$SYSTEMD_LIBS"; then
     pkg_cv_SYSTEMD_LIBS="$SYSTEMD_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
+    { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libsystemd >= 209\""; } >&5
   ($PKG_CONFIG --exists --print-errors "libsystemd >= 209") 2>&5
   ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
   pkg_cv_SYSTEMD_LIBS=`$PKG_CONFIG --libs "libsystemd >= 209" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
@@ -9979,8 +10667,8 @@ fi
 
 
 if test $pkg_failed = yes; then
-   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+   	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 
 if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
         _pkg_short_errors_supported=yes
@@ -10006,10 +10694,10 @@ Alternatively, you may set the environment variables SYSTEMD_CFLAGS
 and SYSTEMD_LIBS to avoid the need to call pkg-config.
 See the pkg-config man page for more details." "$LINENO" 5
 elif test $pkg_failed = untried; then
-     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+     	{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
+	{ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;}
 as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
 is in your PATH or set the PKG_CONFIG environment variable to the full
 path to pkg-config.
@@ -10023,63 +10711,69 @@ See \`config.log' for more details" "$LINENO" 5; }
 else
 	SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS
 	SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 
 fi
 
 else
 	SYSTEMD_CFLAGS=$pkg_cv_SYSTEMD_CFLAGS
 	SYSTEMD_LIBS=$pkg_cv_SYSTEMD_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+        { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+printf "%s\n" "yes" >&6; }
 
 fi
 
 
 
-	if test "x$SYSTEMD_DIR" = x; then :
+	if test "x$SYSTEMD_DIR" = x
+then :
 
 	    	    	    	    	    	    	    	    	    	    	    	    	    SYSTEMD_DIR="\$(prefix)/lib/systemd/system/"
 
 fi
 
-	if test "x$SYSTEMD_DIR" = x; then :
+	if test "x$SYSTEMD_DIR" = x
+then :
 
 	    as_fn_error $? "SYSTEMD_DIR is unset" "$LINENO" 5
 
 fi
 
-		if test "x$SYSTEMD_MODULES_LOAD" = x; then :
+		if test "x$SYSTEMD_MODULES_LOAD" = x
+then :
 
 	    SYSTEMD_MODULES_LOAD="\$(prefix)/lib/modules-load.d/"
 
 fi
 
-	if test "x$SYSTEMD_MODULES_LOAD" = x; then :
+	if test "x$SYSTEMD_MODULES_LOAD" = x
+then :
 
 	    as_fn_error $? "SYSTEMD_MODULES_LOAD is unset" "$LINENO" 5
 
 fi
 
 
-else
+else $as_nop
 
-		if test "x$enable_systemd" = "xyes"; then :
+		if test "x$enable_systemd" = "xyes"
+then :
   as_fn_error $? "Unable to find systemd development library" "$LINENO" 5
-else
+else $as_nop
   systemd=n
 fi
 
 fi
 
-else
+else $as_nop
   systemd=n
 fi
 
 
 
-if test "x$systemd" = "xy"; then :
+if test "x$systemd" = "xy"
+then :
 
     ac_config_files="$ac_config_files hotplug/Linux/systemd/proc-xen.mount hotplug/Linux/systemd/xen-init-dom0.service hotplug/Linux/systemd/xen-qemu-dom0-disk-backend.service hotplug/Linux/systemd/xen-watchdog.service hotplug/Linux/systemd/xenconsoled.service hotplug/Linux/systemd/xendomains.service hotplug/Linux/systemd/xendriverdomain.service hotplug/Linux/systemd/xenstored.service"
 
@@ -10087,10 +10781,12 @@ if test "x$systemd" = "xy"; then :
 fi
 
 # Check whether --enable-9pfs was given.
-if test "${enable_9pfs+set}" = set; then :
-  enableval=$enable_9pfs; if test "x$enable_9pfs" = "xyes"; then :
+if test ${enable_9pfs+y}
+then :
+  enableval=$enable_9pfs; if test "x$enable_9pfs" = "xyes"
+then :
   ninepfs=y
-else
+else $as_nop
   ninepfs=n
 fi
 fi
@@ -10099,13 +10795,15 @@ fi
 
 
 # Check whether --enable-pvshim was given.
-if test "${enable_pvshim+set}" = set; then :
-  enableval=$enable_pvshim; if test "x$enable_pvshim" = "xno"; then :
+if test ${enable_pvshim+y}
+then :
+  enableval=$enable_pvshim; if test "x$enable_pvshim" = "xno"
+then :
   pvshim=n
-else
+else $as_nop
   pvshim=y
 fi
-else
+else $as_nop
 
     cpu=`test -z "$target_cpu" && echo "$host_cpu" || echo "$target_cpu"`
     case "${XEN_COMPILE_ARCH-${XEN_TARGET_ARCH-$cpu}}" in
@@ -10117,15 +10815,17 @@ else
 fi
 
 
-if test "x$pvshim" = "xy"; then :
+if test "x$pvshim" = "xy"
+then :
 
     # Extract the first word of "bison", so it can be a program name with args.
 set dummy bison; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BISON+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_BISON+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $BISON in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_BISON="$BISON" # Let the user override the test with a path.
@@ -10135,11 +10835,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_BISON="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -10152,11 +10856,11 @@ esac
 fi
 BISON=$ac_cv_path_BISON
 if test -n "$BISON"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5
-$as_echo "$BISON" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5
+printf "%s\n" "$BISON" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -10165,15 +10869,16 @@ then
     as_fn_error $? "Unable to find bison, please install bison" "$LINENO" 5
 fi
 
-else
+else $as_nop
 
     # Extract the first word of "bison", so it can be a program name with args.
 set dummy bison; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BISON+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+printf %s "checking for $ac_word... " >&6; }
+if test ${ac_cv_path_BISON+y}
+then :
+  printf %s "(cached) " >&6
+else $as_nop
   case $BISON in
   [\\/]* | ?:[\\/]*)
   ac_cv_path_BISON="$BISON" # Let the user override the test with a path.
@@ -10183,11 +10888,15 @@ else
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
     for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_path_BISON="$as_dir/$ac_word$ac_exec_ext"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+  if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
+    ac_cv_path_BISON="$as_dir$ac_word$ac_exec_ext"
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
@@ -10199,11 +10908,11 @@ esac
 fi
 BISON=$ac_cv_path_BISON
 if test -n "$BISON"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5
-$as_echo "$BISON" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5
+printf "%s\n" "$BISON" >&6; }
 else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
+printf "%s\n" "no" >&6; }
 fi
 
 
@@ -10213,37 +10922,40 @@ fi
 
 ax_found=0
 
-    if test "$ax_found" = "0"; then :
+    if test "$ax_found" = "0"
+then :
 
-        ac_fn_c_check_header_mongrel "$LINENO" "endian.h" "ac_cv_header_endian_h" "$ac_includes_default"
-if test "x$ac_cv_header_endian_h" = xyes; then :
+        ac_fn_c_check_header_compile "$LINENO" "endian.h" "ac_cv_header_endian_h" "$ac_includes_default"
+if test "x$ac_cv_header_endian_h" = xyes
+then :
 
 
-$as_echo "#define INCLUDE_ENDIAN_H <endian.h>" >>confdefs.h
+printf "%s\n" "#define INCLUDE_ENDIAN_H <endian.h>" >>confdefs.h
 
             ax_found=1
 fi
 
 
-
 fi
 
-    if test "$ax_found" = "0"; then :
+    if test "$ax_found" = "0"
+then :
 
-        ac_fn_c_check_header_mongrel "$LINENO" "sys/endian.h" "ac_cv_header_sys_endian_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_endian_h" = xyes; then :
+        ac_fn_c_check_header_compile "$LINENO" "sys/endian.h" "ac_cv_header_sys_endian_h" "$ac_includes_default"
+if test "x$ac_cv_header_sys_endian_h" = xyes
+then :
 
 
-$as_echo "#define INCLUDE_ENDIAN_H <sys/endian.h>" >>confdefs.h
+printf "%s\n" "#define INCLUDE_ENDIAN_H <sys/endian.h>" >>confdefs.h
 
             ax_found=1
 fi
 
 
-
 fi
 
-if test "$ax_found" = "0"; then :
+if test "$ax_found" = "0"
+then :
 
     as_fn_error $? "No header found from list endian.h sys/endian.h" "$LINENO" 5
 
@@ -10277,8 +10989,8 @@ _ACEOF
     case $ac_val in #(
     *${as_nl}*)
       case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      *_cv_*) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+printf "%s\n" "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
       esac
       case $ac_var in #(
       _ | IFS | as_nl) ;; #(
@@ -10308,15 +11020,15 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
      /^ac_cv_env_/b end
      t clear
      :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     s/^\([^=]*\)=\(.*[{}].*\)$/test ${\1+y} || &/
      t end
      s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
      :end' >>confcache
 if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
   if test -w "$cache_file"; then
     if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+printf "%s\n" "$as_me: updating cache $cache_file" >&6;}
       if test ! -f "$cache_file" || test -h "$cache_file"; then
 	cat confcache >"$cache_file"
       else
@@ -10330,8 +11042,8 @@ $as_echo "$as_me: updating cache $cache_file" >&6;}
       fi
     fi
   else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+    { printf "%s\n" "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+printf "%s\n" "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -10348,7 +11060,7 @@ U=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
   ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  ac_i=`printf "%s\n" "$ac_i" | sed "$ac_script"`
   # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
   #    will be set to the directory where LIBOBJS objects are built.
   as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
@@ -10364,8 +11076,8 @@ LTLIBOBJS=$ac_ltlibobjs
 ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+printf "%s\n" "$as_me: creating $CONFIG_STATUS" >&6;}
 as_write_fail=0
 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
 #! $SHELL
@@ -10388,14 +11100,16 @@ cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
 
 # Be more Bourne compatible
 DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+as_nop=:
+if test ${ZSH_VERSION+y} && (emulate sh) >/dev/null 2>&1
+then :
   emulate sh
   NULLCMD=:
   # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
   setopt NO_GLOB_SUBST
-else
+else $as_nop
   case `(set -o) 2>/dev/null` in #(
   *posix*) :
     set -o posix ;; #(
@@ -10405,46 +11119,46 @@ esac
 fi
 
 
+
+# Reset variables that may have inherited troublesome values from
+# the environment.
+
+# IFS needs to be set, to space, tab, and newline, in precisely that order.
+# (If _AS_PATH_WALK were called with IFS unset, it would have the
+# side effect of setting IFS to empty, thus disabling word splitting.)
+# Quoting is to prevent editors from complaining about space-tab.
 as_nl='
 '
 export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-	expr "X$arg" : "X\\(.*\\)$as_nl";
-	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
+IFS=" ""	$as_nl"
+
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# Ensure predictable behavior from utilities with locale-dependent output.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# We cannot yet rely on "unset" to work, but we need these variables
+# to be unset--not just set to an empty or harmless value--now, to
+# avoid bugs in old shells (e.g. pre-3.0 UWIN ksh).  This construct
+# also avoids known problems related to "unset" and subshell syntax
+# in other old shells (e.g. bash 2.01 and pdksh 5.2.14).
+for as_var in BASH_ENV ENV MAIL MAILPATH CDPATH
+do eval test \${$as_var+y} \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+
+# Ensure that fds 0, 1, and 2 are open.
+if (exec 3>&0) 2>/dev/null; then :; else exec 0</dev/null; fi
+if (exec 3>&1) 2>/dev/null; then :; else exec 1>/dev/null; fi
+if (exec 3>&2)            ; then :; else exec 2>/dev/null; fi
 
 # The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
+if ${PATH_SEPARATOR+false} :; then
   PATH_SEPARATOR=:
   (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
     (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
@@ -10453,13 +11167,6 @@ if test "${PATH_SEPARATOR+set}" != set; then
 fi
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""	$as_nl"
-
 # Find who we are.  Look in the path if we contain no directory separator.
 as_myself=
 case $0 in #((
@@ -10468,8 +11175,12 @@ case $0 in #((
 for as_dir in $PATH
 do
   IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  case $as_dir in #(((
+    '') as_dir=./ ;;
+    */) ;;
+    *) as_dir=$as_dir/ ;;
+  esac
+    test -r "$as_dir$0" && as_myself=$as_dir$0 && break
   done
 IFS=$as_save_IFS
 
@@ -10481,30 +11192,10 @@ if test "x$as_myself" = x; then
   as_myself=$0
 fi
 if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  printf "%s\n" "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
   exit 1
 fi
 
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
 
 
 # as_fn_error STATUS ERROR [LINENO LOG_FD]
@@ -10517,13 +11208,14 @@ as_fn_error ()
   as_status=$1; test $as_status -eq 0 && as_status=1
   if test "$4"; then
     as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+    printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
   fi
-  $as_echo "$as_me: error: $2" >&2
+  printf "%s\n" "$as_me: error: $2" >&2
   as_fn_exit $as_status
 } # as_fn_error
 
 
+
 # as_fn_set_status STATUS
 # -----------------------
 # Set $? to STATUS, without forking.
@@ -10550,18 +11242,20 @@ as_fn_unset ()
   { eval $1=; unset $1;}
 }
 as_unset=as_fn_unset
+
 # as_fn_append VAR VALUE
 # ----------------------
 # Append the text in VALUE to the end of the definition contained in VAR. Take
 # advantage of any shell optimizations that allow amortized linear growth over
 # repeated appends, instead of the typical quadratic growth present in naive
 # implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null
+then :
   eval 'as_fn_append ()
   {
     eval $1+=\$2
   }'
-else
+else $as_nop
   as_fn_append ()
   {
     eval $1=\$$1\$2
@@ -10573,12 +11267,13 @@ fi # as_fn_append
 # Perform arithmetic evaluation on the ARGs, and store the result in the
 # global $as_val. Take advantage of shells that can avoid forks. The arguments
 # must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null
+then :
   eval 'as_fn_arith ()
   {
     as_val=$(( $* ))
   }'
-else
+else $as_nop
   as_fn_arith ()
   {
     as_val=`expr "$@" || test $? -eq 1`
@@ -10609,7 +11304,7 @@ as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
 	 X"$0" : 'X\(//\)$' \| \
 	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
+printf "%s\n" X/"$0" |
     sed '/^.*\/\([^/][^/]*\)\/*$/{
 	    s//\1/
 	    q
@@ -10631,6 +11326,10 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
 as_cr_digits='0123456789'
 as_cr_alnum=$as_cr_Letters$as_cr_digits
 
+
+# Determine whether it's possible to make 'echo' print without a newline.
+# These variables are no longer used directly by Autoconf, but are AC_SUBSTed
+# for compatibility with existing Makefiles.
 ECHO_C= ECHO_N= ECHO_T=
 case `echo -n x` in #(((((
 -n*)
@@ -10644,6 +11343,12 @@ case `echo -n x` in #(((((
   ECHO_N='-n';;
 esac
 
+# For backward compatibility with old third-party macros, we provide
+# the shell variables $as_echo and $as_echo_n.  New code should use
+# AS_ECHO(["message"]) and AS_ECHO_N(["message"]), respectively.
+as_echo='printf %s\n'
+as_echo_n='printf %s'
+
 rm -f conf$$ conf$$.exe conf$$.file
 if test -d conf$$.dir; then
   rm -f conf$$.dir/conf$$.file
@@ -10685,7 +11390,7 @@ as_fn_mkdir_p ()
     as_dirs=
     while :; do
       case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *\'*) as_qdir=`printf "%s\n" "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
       *) as_qdir=$as_dir;;
       esac
       as_dirs="'$as_qdir' $as_dirs"
@@ -10694,7 +11399,7 @@ $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$as_dir" : 'X\(//\)[^/]' \| \
 	 X"$as_dir" : 'X\(//\)$' \| \
 	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
+printf "%s\n" X"$as_dir" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -10757,7 +11462,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # values after options handling.
 ac_log="
 This file was extended by Xen Hypervisor Tools $as_me 4.18, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
+generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -10816,14 +11521,16 @@ Report bugs to <xen-devel@lists.xen.org>.
 Xen Hypervisor Tools home page: <https://www.xen.org/>."
 
 _ACEOF
+ac_cs_config=`printf "%s\n" "$ac_configure_args" | sed "$ac_safe_unquote"`
+ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\''/g"`
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
 Xen Hypervisor Tools config.status 4.18
-configured by $0, generated by GNU Autoconf 2.69,
+configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
-Copyright (C) 2012 Free Software Foundation, Inc.
+Copyright (C) 2021 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
 
@@ -10862,15 +11569,15 @@ do
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
   --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
+    printf "%s\n" "$ac_cs_version"; exit ;;
   --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
+    printf "%s\n" "$ac_cs_config"; exit ;;
   --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
     case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     '') as_fn_error $? "missing file argument" ;;
     esac
     as_fn_append CONFIG_FILES " '$ac_optarg'"
@@ -10878,7 +11585,7 @@ do
   --header | --heade | --head | --hea )
     $ac_shift
     case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_optarg=`printf "%s\n" "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     as_fn_append CONFIG_HEADERS " '$ac_optarg'"
     ac_need_defaults=false;;
@@ -10887,7 +11594,7 @@ do
     as_fn_error $? "ambiguous option: \`$1'
 Try \`$0 --help' for more information.";;
   --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
+    printf "%s\n" "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil | --si | --s)
     ac_cs_silent=: ;;
@@ -10915,7 +11622,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
   set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
   shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  \printf "%s\n" "running CONFIG_SHELL=$SHELL \$*" >&6
   CONFIG_SHELL='$SHELL'
   export CONFIG_SHELL
   exec "\$@"
@@ -10929,7 +11636,7 @@ exec 5>>config.log
   sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
 ## Running $as_me. ##
 _ASBOX
-  $as_echo "$ac_log"
+  printf "%s\n" "$ac_log"
 } >&5
 
 _ACEOF
@@ -10981,8 +11688,8 @@ done
 # We use the long form for the default assignment because of an extremely
 # bizarre bug on SunOS 4.1.3.
 if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test ${CONFIG_FILES+y} || CONFIG_FILES=$config_files
+  test ${CONFIG_HEADERS+y} || CONFIG_HEADERS=$config_headers
 fi
 
 # Have a temporary directory for convenience.  Make it in the build tree
@@ -11318,7 +12025,7 @@ do
 	   esac ||
 	   as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
       esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      case $ac_f in *\'*) ac_f=`printf "%s\n" "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
       as_fn_append ac_file_inputs " '$ac_f'"
     done
 
@@ -11326,17 +12033,17 @@ do
     # use $as_me), people would be surprised to read:
     #    /* config.h.  Generated by config.status.  */
     configure_input='Generated from '`
-	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+	  printf "%s\n" "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
 	`' by configure.'
     if test x"$ac_file" != x-; then
       configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+printf "%s\n" "$as_me: creating $ac_file" >&6;}
     fi
     # Neutralize special characters interpreted by sed in replacement strings.
     case $configure_input in #(
     *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
+       ac_sed_conf_input=`printf "%s\n" "$configure_input" |
        sed 's/[\\\\&|]/\\\\&/g'`;; #(
     *) ac_sed_conf_input=$configure_input;;
     esac
@@ -11353,7 +12060,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 	 X"$ac_file" : 'X\(//\)[^/]' \| \
 	 X"$ac_file" : 'X\(//\)$' \| \
 	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
+printf "%s\n" X"$ac_file" |
     sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 	    s//\1/
 	    q
@@ -11377,9 +12084,9 @@ $as_echo X"$ac_file" |
 case "$ac_dir" in
 .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
 *)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  ac_dir_suffix=/`printf "%s\n" "$ac_dir" | sed 's|^\.[\\/]||'`
   # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  ac_top_builddir_sub=`printf "%s\n" "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
   case $ac_top_builddir_sub in
   "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
   *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -11436,8 +12143,8 @@ ac_sed_dataroot='
 case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
 *datarootdir*) ac_datarootdir_seen=yes;;
 *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+printf "%s\n" "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
   ac_datarootdir_hack='
@@ -11480,9 +12187,9 @@ test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
   { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
   { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' \
       "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+printf "%s\n" "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
 which seems to be undefined.  Please make sure it is defined" >&2;}
 
   rm -f "$ac_tmp/stdin"
@@ -11498,20 +12205,20 @@ which seems to be undefined.  Please make sure it is defined" >&2;}
   #
   if test x"$ac_file" != x-; then
     {
-      $as_echo "/* $configure_input  */" \
+      printf "%s\n" "/* $configure_input  */" >&1 \
       && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
     } >"$ac_tmp/config.h" \
       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
     if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
+      { printf "%s\n" "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+printf "%s\n" "$as_me: $ac_file is unchanged" >&6;}
     else
       rm -f "$ac_file"
       mv "$ac_tmp/config.h" "$ac_file" \
 	|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
     fi
   else
-    $as_echo "/* $configure_input  */" \
+    printf "%s\n" "/* $configure_input  */" >&1 \
       && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
       || as_fn_error $? "could not create -" "$LINENO" 5
   fi
@@ -11552,7 +12259,8 @@ if test "$no_create" != yes; then
   $ac_cs_success || as_fn_exit 1
 fi
 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+  { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+printf "%s\n" "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
+
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 17:17:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 17:17:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510753.789063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcrDl-0002wJ-80; Thu, 16 Mar 2023 17:16:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510753.789063; Thu, 16 Mar 2023 17: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 1pcrDl-0002wC-5F; Thu, 16 Mar 2023 17:16:57 +0000
Received: by outflank-mailman (input) for mailman id 510753;
 Thu, 16 Mar 2023 17:16: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=ItE1=7I=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pcrDj-0002vv-32
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 17:16:55 +0000
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com
 [66.111.4.27]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5666fe0e-c41e-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 18:16:51 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 51C2F5C003F;
 Thu, 16 Mar 2023 13:16:49 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Thu, 16 Mar 2023 13:16:49 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Mar 2023 13:16:48 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5666fe0e-c41e-11ed-b464-930f4c7d94ae
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=1678987009; x=1679073409; bh=+9fb1hmJCPKv+iZdAg0qfVtiR
	/aKkEjFEePF5ANBzoE=; b=aw1BvQ1D2gmdu4ZpckMPFHyh8LKgKfv1jKR9si1f6
	PmdaY2/uS3Z9gl3fNJGo3vsMRhFSB1O/xkBEOq0P7ih0RDCTS3LUqmH+VJJCQssc
	IMd1LAvcTVmb9/f2HkZC0i0hpp+rrVLXKdPxpKmvKqx5Wgle0Gc5bUzc8A3u/MdX
	Uvi3O7gTNTaaKNoz430BG27Jqi2iT6Ti1Mk7zw6w76QRwi0jYNeTQ7FA9VxDshFA
	VZpMUYo8gCuohgsahSNxIyc+qmID+Uzlr/pY/AwJ5/CnrIsrFbOp3X+gjFsanFXY
	IwNCg6LZpi713AX21162sbOYxY9RqQOxPA66HIicbaruA==
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=fm2; t=1678987009; x=1679073409; bh=+
	9fb1hmJCPKv+iZdAg0qfVtiR/aKkEjFEePF5ANBzoE=; b=AjSQTRNVLwos6dFwM
	PfGUG5S89wEKRG20Kf3ADW5yCihAAwLGIBMihUvXM8ZtKEXN5eeFfgZBZDTjjwRY
	cypOvF/i0kuNcI9PQ7FIcZqd1yDQXDJNYiktvxwTpdZLDHmO82U+VGxOrrvGko3q
	QAxWyyGa/zUqkRIzQRtWOTWhT5SafdP1yBr0mVH5z4UAKYuBddc1xTSp90m4FS5Y
	InV6p46sOi8BFzktKfXA+OpzQGdU84GOhWkdi4a5vdQYrPQ7aWEcxkfViSkUiuia
	+UQC6fH8guV280EVZQ8K10WdQXXBC0vN5hSzia+WWnhEq32lHbL7VKsW+wtlnYbC
	iwFeg==
X-ME-Sender: <xms:AU8TZJuO3vC-KTXiKzgO6I9H_JzkzLj2zaHRAqvkuLXKizhB5n-Jxw>
    <xme:AU8TZCcWvKtN_B2sCEp-fZcmX7pFcuWT5yrhQ-MitRXvaiw3FpQS-SIKLuQC4QPSf
    nyXC2vHHJaxVQ>
X-ME-Received: <xmr:AU8TZMzQUFBE870xfvQclydbpuv94xvBTNB4K3AR0F5_sJb75YT-Hv_orn883IVsrq2yZaoyl2o4wrN2wi6SXF0k5L7p67fQzkNSc96MBplTbfYR5TMN>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeftddguddttdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepleek
    hfduleetleelleetteevfeefteffkeetteejheelgfegkeelgeehhfdthedvnecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:AU8TZAOb83aGBZgSJgHSHW_3-F7noGPD5On7m4pv4d-v-zoHon7Xow>
    <xmx:AU8TZJ92BUDGJiJzFXO3dIxmr-ll0yOpHjnHdbi5cd3_-AFOFBOO5g>
    <xmx:AU8TZAX4YOgp_6dO8u-9TjEDzlT0PVqwFGGV__pSra6wjPbTjaM2yA>
    <xmx:AU8TZLnjcwLQSqMLBBFOQ7i-ubq41Wu6c_KNzPcp_hqvGtHK_cjdHg>
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>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 1/4] tools: convert setup.py to use setuptools
Date: Thu, 16 Mar 2023 18:16:31 +0100
Message-Id: <20230316171634.320626-1-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Python distutils is deprecated and is going to be removed in Python
3.12. Migrate to setuptools.
Setuptools in Python 3.11 complains:
SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
Keep using setup.py anyway to build C extension.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 tools/pygrub/setup.py | 3 +--
 tools/python/setup.py | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/tools/pygrub/setup.py b/tools/pygrub/setup.py
index 0e4e3d02d372..5db743180713 100644
--- a/tools/pygrub/setup.py
+++ b/tools/pygrub/setup.py
@@ -1,5 +1,4 @@
-from distutils.core import setup, Extension
-from distutils.ccompiler import new_compiler
+from setuptools import setup, Extension
 import os
 import sys
 
diff --git a/tools/python/setup.py b/tools/python/setup.py
index 721a3141d7b7..7d57ccfbfffb 100644
--- a/tools/python/setup.py
+++ b/tools/python/setup.py
@@ -1,5 +1,4 @@
-
-from distutils.core import setup, Extension
+from setuptools import setup, Extension
 import os, sys
 
 XEN_ROOT = "../.."
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 17:17:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 17:17:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510754.789069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcrDl-000307-Hu; Thu, 16 Mar 2023 17:16:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510754.789069; Thu, 16 Mar 2023 17: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 1pcrDl-0002zZ-Dg; Thu, 16 Mar 2023 17:16:57 +0000
Received: by outflank-mailman (input) for mailman id 510754;
 Thu, 16 Mar 2023 17:16: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=ItE1=7I=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pcrDj-0002vw-Mz
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 17:16:55 +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 57227afd-c41e-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 18:16:53 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 87B945C016A;
 Thu, 16 Mar 2023 13:16:50 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Thu, 16 Mar 2023 13:16:50 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Mar 2023 13:16:49 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57227afd-c41e-11ed-87f5-c1b5be75604c
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=1678987010; x=1679073410; bh=QP
	VkeV0fObWCjCHmmGo4u18UjuPCJC0H97vrVfuwEOo=; b=b+i4mm/fXPW3Gbenmw
	bzhJXC9XY+s2NKiad856pVaJ9a1aJEGCbvUz4PxXGXYvUjBJhSwki2/IW1FL4cYP
	MF5ErJTPmN7TTnUoebhIUrz53B4bctdDff/6by38jhjG2Q8phKvH52IrMarn+J56
	AL2c4GVqnW5d1NvCTcwpq1X18wKIcBQ8/2Z5h/FZx6gMwPdB6ShKK0fgQ3o6Wg7O
	OpQizGHmBO70fOwAGVIedTp0MJpNHIseV1gJng1xEeuiDuwxzfZJkUHRqCg1itfz
	SrhVnlZrSKVxQn3cJTQyFq/Y/Eh1J6XKyMp9rw0FAaKJQuIHvnv/PKVZadhrzgCN
	Hgzg==
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=fm2; t=
	1678987010; x=1679073410; bh=QPVkeV0fObWCjCHmmGo4u18UjuPCJC0H97v
	rVfuwEOo=; b=skDBrl5gKsSNamj2JiyRRBG3tayfupiK1bQiWVZLnWmTiBBWuWE
	iC9szsu4NAuTTbRLlpV+gv/Nb7jgIP9g1ONvm+BFq3WuVKtKiZVTDc3LVrjQOayw
	606HpMfskwwcxqvQ5G6mNSKNNaqGk3VdpZzxFBEu/vmylaOqm0rJya06iM8jz9GG
	t4vvJ2BZZ1M/wy0/AblIDtyHGGbHMkSvDq7VTKecTj6HRX1DcW+qbySj3GKUVjt2
	70bU61K9FJpHy2nV0x2c5gVjd3JOqrJ+GAGDktv5v6q7WUoRNz2cLExbce3NkjIm
	Hw0eF2/MOkmONmO2oFkvYrZX0YesWKDt92w==
X-ME-Sender: <xms:Ak8TZEbrQ39sBlwOfwEAkIXGNkvRfybpK9vlz1TaLbmpjUYcYvFDbw>
    <xme:Ak8TZPYsyhWx7qg2XaT7q9BzRxpqNRhZyb9_bCYoVMTBfyl72XAFr6TglwLaEGlts
    rMpPIhPbLISMg>
X-ME-Received: <xmr:Ak8TZO-AoqlfF1xxINCEdSRyW3FUyoOsvvl9sPqoLhvb0uwUvNXIFXUX391732YhNVq8HS7iEaxjw47OJyj87aj04xJ3k-IYxgC5Hm_xJJ_QBbsh5f-->
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeftddguddttdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgr
    rhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghkse
    hinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhep
    gfeuudehgfdvfeehhedujeehfeduveeugefhkefhheelgeevudetueeiudfggfffnecuve
    hluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghr
    vghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:Ak8TZOoLP51IFf1xJ2qLRMIMOtJA4Iiv84WjyB84TvBsjS4yR3zcdQ>
    <xmx:Ak8TZPoSiLyPBtqL72qqphczYYDQnI_aXqX___ogkPEjHCgIu9kRjw>
    <xmx:Ak8TZMRMW1K7uTMQkXClyUi_QoxutD1Xso42LpbhEb9hkA_xEYuL0w>
    <xmx:Ak8TZG3FQJKtK8CiT6JCYDJX7Q7tbzpO10SKJXwLfLEjseamyLZxdQ>
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>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 2/4] tools: don't use distutils in configure nor Makefile
Date: Thu, 16 Mar 2023 18:16:32 +0100
Message-Id: <20230316171634.320626-2-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230316171634.320626-1-marmarek@invisiblethingslab.com>
References: <20230316171634.320626-1-marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Python distutils is deprecated and is going to be removed in Python
3.12. The distutils.sysconfig is available as sysconfig module in
stdlib since Python 3.2, so use that directly.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 m4/python_devel.m4       | 28 ++++++++++++++--------------
 tools/libs/stat/Makefile |  4 ++--
 2 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/m4/python_devel.m4 b/m4/python_devel.m4
index bbf1e0354b2b..bb60857b030a 100644
--- a/m4/python_devel.m4
+++ b/m4/python_devel.m4
@@ -5,21 +5,21 @@ ac_previous_libs=$LIBS
 AC_PATH_PROG([pyconfig], [$PYTHON-config], [no])
 AS_IF([test x"$pyconfig" = x"no"], [
     dnl For those that don't have python-config
-    CPPFLAGS="$CFLAGS `$PYTHON -c 'import distutils.sysconfig; \
-        print("-I" + distutils.sysconfig.get_config_var("INCLUDEPY"))'`"
-    CPPFLAGS="$CPPFLAGS `$PYTHON -c 'import distutils.sysconfig; \
-        print(distutils.sysconfig.get_config_var("CFLAGS"))'`"
-    LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \
-        print("-L" + distutils.sysconfig.get_python_lib(plat_specific=1,\
+    CPPFLAGS="$CFLAGS `$PYTHON -c 'import sysconfig; \
+        print("-I" + sysconfig.get_config_var("INCLUDEPY"))'`"
+    CPPFLAGS="$CPPFLAGS `$PYTHON -c 'import sysconfig; \
+        print(sysconfig.get_config_var("CFLAGS"))'`"
+    LDFLAGS="$LDFLAGS `$PYTHON -c 'import sysconfig; \
+        print("-L" + sysconfig.get_python_lib(plat_specific=1,\
         standard_lib=1) + "/config")'`"
-    LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \
-        print(distutils.sysconfig.get_config_var("LINKFORSHARED"))'`"
-    LDFLAGS="$LDFLAGS `$PYTHON -c 'import distutils.sysconfig; \
-        print(distutils.sysconfig.get_config_var("LDFLAGS"))'`"
-    LIBS="$LIBS `$PYTHON -c 'import distutils.sysconfig; \
-        print(distutils.sysconfig.get_config_var("LIBS"))'`"
-    LIBS="$LIBS `$PYTHON -c 'import distutils.sysconfig; \
-        print(distutils.sysconfig.get_config_var("SYSLIBS"))'`"
+    LDFLAGS="$LDFLAGS `$PYTHON -c 'import sysconfig; \
+        print(sysconfig.get_config_var("LINKFORSHARED"))'`"
+    LDFLAGS="$LDFLAGS `$PYTHON -c 'import sysconfig; \
+        print(sysconfig.get_config_var("LDFLAGS"))'`"
+    LIBS="$LIBS `$PYTHON -c 'import sysconfig; \
+        print(sysconfig.get_config_var("LIBS"))'`"
+    LIBS="$LIBS `$PYTHON -c 'import sysconfig; \
+        print(sysconfig.get_config_var("SYSLIBS"))'`"
 ], [
     dnl If python-config is found use it
     CPPFLAGS="$CFLAGS `$PYTHON-config --cflags`"
diff --git a/tools/libs/stat/Makefile b/tools/libs/stat/Makefile
index ee5c42bf7b4d..a968eaff48cb 100644
--- a/tools/libs/stat/Makefile
+++ b/tools/libs/stat/Makefile
@@ -73,8 +73,8 @@ $(PYLIB): $(PYSRC)
 python-bindings: $(PYLIB) $(PYMOD)
 
 pythonlibdir = $(shell $(PYTHON) -c \
-	       'import distutils.sysconfig as cfg; \
-	        print(cfg.get_python_lib(False, False, prefix="$(prefix)"))')
+	       'import sysconfig; \
+	        print(sysconfig.get_python_lib("platlib", vars={"platbase": "$(prefix)"}))')
 
 .PHONY: install-python-bindings
 install-python-bindings: $(PYLIB) $(PYMOD)
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 17:17:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 17:17:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510755.789076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcrDl-000397-Ue; Thu, 16 Mar 2023 17:16:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510755.789076; Thu, 16 Mar 2023 17: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 1pcrDl-00038E-Pp; Thu, 16 Mar 2023 17:16:57 +0000
Received: by outflank-mailman (input) for mailman id 510755;
 Thu, 16 Mar 2023 17:16: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=ItE1=7I=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pcrDk-0002vv-Gw
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 17:16:56 +0000
Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com
 [66.111.4.27]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 593797db-c41e-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 18:16:54 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 2C2E55C0172;
 Thu, 16 Mar 2023 13:16:54 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Thu, 16 Mar 2023 13:16:54 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Mar 2023 13:16:52 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 593797db-c41e-11ed-b464-930f4c7d94ae
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=1678987014; x=1679073414; bh=R2
	KhcNjVkVS92xl9mbSvSkrpGVEwfW14kn3tzUhf1No=; b=R+zVOn1ZWIPiCdyCin
	mqfjeXFvMv6+JZXCqF+93IWm1bOAYJgwV1czAbCcmU/hE9461hT4OlZflpB92D/o
	ZKuI4e/YHOiICDxSxesZy4FLtpzHCuXLFqMts6bHBmUIJIDJG/B82JKK2fzHIJ7b
	J/rvHlpyWjzlEhHwaw21ef+h310MtADR5LTy7lh6AGDVb611+nYAhI4RQaHa8Vnu
	FFMf98p4mubUUGiQVBXVgTPY5i1OFnfg5NpvQBW2ByhD0PuNYu3jJWM1+ZMbqv0o
	Cl0REgkFLvXt/RYASMZ+nLxCdJngRb3tfJvrLFtGbxnzQIRqGWKEaZpGk0szn5LA
	BzVg==
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=fm2; t=
	1678987014; x=1679073414; bh=R2KhcNjVkVS92xl9mbSvSkrpGVEwfW14kn3
	tzUhf1No=; b=LNmgunLGxTEnSX1F0oVDYFKwhGlbLRyR6OETGwdhTw7twyeVIrv
	dLD8jwU+CLLdnVzFAMlA5Z5Pm+ONFo8ewLrm9j94ApYB0u+ke/sN8XBLV1GvN1SF
	pDBOc18SfUNbV5PfyyGkSHFVVQC8GKOomnrdpRUPiTqwr6Q267m/3s5kmkgLwf+Z
	LZEzqAz+oeVnk28ETSW5Lh2ZT92UJj/rXXhzTN4NSMbXumLS+tULadaJCujlk/JU
	3FLqNqRECi0dDHUgj6eKGRLRdP8l/Pp7Yrczht5GslxrKRSoij0WsDk0Tjzjo8NL
	aNjqIfwpZJHys9fdHBqucAJ8V0b5CnFej8A==
X-ME-Sender: <xms:BU8TZHXL1D19EQ40D6l4mAp4TGF22un2fZ24C86U1xIhTxy29F5IPw>
    <xme:BU8TZPnaN9BrhWs9rX5UNrwL-r0bM6NgR40TYdtXVsYjKr1Tk1Q3dI0WHj0Xj-AtW
    S5dgXh9ZtxX0A>
X-ME-Received: <xmr:BU8TZDZKcJnd1_gdwwzjqBlaRzDIGIW2njj5Mq6_MMQ735PyAttPKT-w7WNNbyvAsn1xR_aSeYNEoo8fJUxiKlucj8eDVDMKddETp7286f8t_qfbFooM>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeftddguddttdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgr
    rhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghkse
    hinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhep
    ueejhfejheelteetfedutdefteegudelheegteefkeduvddttdduhfeufeevteevnecuff
    homhgrihhnpehphihthhhonhdrohhrghenucevlhhushhtvghrufhiiigvpedtnecurfgr
    rhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:Bk8TZCWJJ7oSukLnQ8tFRRznF4PErvA-JEBJv3nHFuVm2XmuxrFGhA>
    <xmx:Bk8TZBlnbIis65Lzqvev1ImY8mNErWBDI9dFBVquQLbfxJR-otqc4w>
    <xmx:Bk8TZPf3urRvALkGAJcDsNWlvp4EDo3RPUjOKJcSBPFJAEzwKfon0w>
    <xmx:Bk8TZEvBrtK0Aw3V2VSMVYxW5p4f7pK2rM8VoO4gjoKo1whOLqGeHQ>
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 4/4] Update README to state Python3 requirement
Date: Thu, 16 Mar 2023 18:16:34 +0100
Message-Id: <20230316171634.320626-4-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230316171634.320626-1-marmarek@invisiblethingslab.com>
References: <20230316171634.320626-1-marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Python2 is not supported anymore.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 README | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/README b/README
index 755b3d8eaf8f..b2d9d79d891b 100644
--- a/README
+++ b/README
@@ -50,7 +50,7 @@ provided by your OS distributor:
         - GNU Binutils 2.24 or later
     * POSIX compatible awk
     * Development install of zlib (e.g., zlib-dev)
-    * Development install of Python 2.6 or later (e.g., python-dev)
+    * Development install of Python 3.2 or later (e.g., python3-dev)
     * Development install of curses (e.g., libncurses-dev)
     * Development install of openssl (e.g., openssl-dev)
     * Development install of x11 (e.g. xorg-x11-dev)
@@ -180,9 +180,9 @@ Python Runtime Libraries
 
 Various tools, such as pygrub, have the following runtime dependencies:
 
-    * Python 2.6 or later.
+    * Python 3.2 or later.
           URL:    http://www.python.org/
-          Debian: python
+          Debian: python3
 
 Note that the build system expects `python` to be available. If your system
 only has `python2` or `python3` but not `python` (as in Linux From Scratch),
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 18:00:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 18:00:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510773.789112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcrtn-00031f-2W; Thu, 16 Mar 2023 18:00:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510773.789112; Thu, 16 Mar 2023 18:00: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 1pcrtm-00031Y-VA; Thu, 16 Mar 2023 18:00:22 +0000
Received: by outflank-mailman (input) for mailman id 510773;
 Thu, 16 Mar 2023 18: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=ItE1=7I=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pcrtl-00031S-Qb
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 18:00:21 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 686314ef-c424-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 19:00:18 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 338A73200936;
 Thu, 16 Mar 2023 14:00:15 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Thu, 16 Mar 2023 14:00:15 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Mar 2023 14:00:13 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 686314ef-c424-11ed-b464-930f4c7d94ae
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=
	1678989614; x=1679076014; bh=WMc0jHu+DCh3CThRnkrTuAJWS4NevNVaR/n
	vCreUHeA=; b=sNI5IDF/Sq+Rw8p7w6C5vr4B6gVmO+VYNQ6Gm65EIysSFvuj4oZ
	aDaBXz4HUJDFiaYUhTYwKb8n0Sj/u1mLAXW8uU8awzs8FEpJZ+Co5XYypm0t3jQx
	9PSjGLMDCsbqOsD1mwNvByZV4fJBHNq14WslhyzH4QB1P8xEFMlP66yjeplXHnwi
	2eJx5ZkWxil3de0sqmve7ETpZOWeS1+E7hpX0Z7hbnMDsbHrizISBripD7VO5yJc
	VGhbGd1N0D13gouTipPp4dCerIfag85D64mxvxYT/IQX8fo/kn1mNL18FsvIZ07m
	lh4k6/Mr9BR+/89mYjj1K771xA6dSFX+6dg==
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=fm2; t=1678989614; x=1679076014; bh=WMc0jHu+DCh3C
	ThRnkrTuAJWS4NevNVaR/nvCreUHeA=; b=ppngEHLq+lnEeBxK9rlXLgd9UKZnr
	4dfKvnqbfHWQuzXzU/f2m39emRtrMxKWVX/cQwoVD8KnQpdDvFGLEln4Dj+PzAyf
	WrSUiDXxHI300c4TK60npN9b8q32APqpxUn6Sm9WR5+sjkRBqf7/36QvC965Y0NL
	GOqJk3ws7zpAJAHWmDdeYl8CLWDjWlDZrhV86TA6Qdnp5ASgqILoX+11T3JgHzXf
	LWjJvoVpal55eAtBJAq7uLHADJexcNRb/7ORyLX7H7qKttXJ668ZocSfO4004trd
	NUdOJwDCvvxHMCsWm0owg38DNW47EgzcKpR1K3Nbvo/IJAaCfg1O3a9hQ==
X-ME-Sender: <xms:LlkTZLKCZCN5kDhLAojfITR6u59GjyIbk5jXFAa1mZSKIi9nIGf36g>
    <xme:LlkTZPKtRX-0TERun6FIbbeQF3pA9a6o9X_z7cFYvwDHDLPxZf459AdugewXD_JJX
    lt9QfW_pYHMSA>
X-ME-Received: <xmr:LlkTZDvUavn9hCeHd0QdZzPeWfxq7BLlAwX9IhGa7NbuXU0dgImMuVrsh5cAQfbGRArjwUYypAtTuHr7AnCd63Xq-TjOFrtggY0>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeftddguddtlecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    udelteefvefhfeehieetleeihfejhfeludevteetkeevtedtvdegueetfeejudenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:LlkTZEbLcEIMOr-uDpFkCuP2adh1_XBJ2QZBCZ4yHBKrE7jMatxlPQ>
    <xmx:LlkTZCY1c_U-lnRz4IbxJQSUeWdw4OTaGiJpbrCO9W4rl3Ke-BtO-g>
    <xmx:LlkTZIBhvHf43rwqL-9CTRj4HBCkUxq1Fdmo4bmVFl7OUcacHOtE_w>
    <xmx:LlkTZBmBJTczqmVYQYyQakSOZS0bkHiEVWHk1goW8Pz8XOsz5_f6rQ>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 16 Mar 2023 19:00:09 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 1/7] tools/python: Drop pylintrc
Message-ID: <ZBNZK0TEZ2zq4hwV@mail-itl>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
 <20230314141520.3652451-2-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="qlehmI5/pIolRKND"
Content-Disposition: inline
In-Reply-To: <20230314141520.3652451-2-andrew.cooper3@citrix.com>


--qlehmI5/pIolRKND
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 16 Mar 2023 19:00:09 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 1/7] tools/python: Drop pylintrc

On Tue, Mar 14, 2023 at 02:15:14PM +0000, Andrew Cooper wrote:
> This was added in 2004 in c/s b7d4a69f0ccb5 and has never been referenced
> since.  Given the the commit message of simply "Added .", it was quite
> possibly a mistake in the first place.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Ideally, we would have a pylint integrated into CI, but given frequency
of changes to that code, I don't think its worth it, so:

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
> CC: Wei Liu <wl@xen.org>
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
> CC: Bernhard Kaindl <bernhard.kaindl@citrix.com>
> ---
>  tools/python/pylintrc | 307 ------------------------------------------
>  1 file changed, 307 deletions(-)
>  delete mode 100644 tools/python/pylintrc
>=20
> diff --git a/tools/python/pylintrc b/tools/python/pylintrc
> deleted file mode 100644
> index efc4b0b3b2dd..000000000000
> --- a/tools/python/pylintrc
> +++ /dev/null
> @@ -1,307 +0,0 @@
> -# lint Python modules using external checkers.                          =
 =20
> -#                                                                       =
        =20
> -#     This is the main checker controling the other ones and the reports=
        =20
> -#     generation. It is itself both a raw checker and an astng checker i=
n order =20
> -#     to:                                                               =
        =20
> -#     * handle message activation / deactivation at the module level    =
        =20
> -#     * handle some basic but necessary stats'data (number of classes, m=
ethods...)
> -#                                                                       =
         =20
> -# This checker also defines the following reports:                      =
             =20
> -#   * R0001: Total errors / warnings                                    =
         =20
> -#   * R0002: % errors / warnings by module                              =
         =20
> -#   * R0003: Messages                                                   =
         =20
> -#   * R0004: Global evaluation                                          =
         =20
> -#=20
> -[MASTER]
> -# Add <file or directory> to the black list. It should be a base name, n=
ot a
> -# path. You may set this option multiple times.
> -ignore=3DCVS
> -
> -# Pickle collected data for later comparisons.
> -persistent=3Dyes
> -
> -# Set the cache size for astng objects.
> -cache-size=3D500
> -
> -
> -
> -[REPORTS]
> -# Tells wether to display a full report or only the messages
> -reports=3Dyes
> -
> -# Use HTML as output format instead of text
> -html=3Dno
> -
> -# Use a parseable text output format, so your favorite text editor will =
be able
> -# to jump to the line corresponding to a message.
> -parseable=3Dno
> -
> -# Colorizes text output using ansi escape codes
> -color=3Dno
> -
> -# Put messages in a separate file for each module / package specified on=
 the
> -# command line instead of printing them on stdout. Reports (if any) will=
 be
> -# written in a file name "pylint_global.[txt|html]".
> -files-output=3Dno
> -
> -# Python expression which should return a note less than 10 (10 is the h=
ighest
> -# note).You have access to the variables errors warning, statement which
> -# respectivly contain the number of errors / warnings messages and the t=
otal
> -# number of statements analyzed. This is used by the global evaluation r=
eport
> -# (R0004).
> -evaluation=3D10.0 - ((float(5 * error + warning + refactor + convention)=
 / statement) * 10)
> -
> -# Add a comment according to your evaluation note. This is used by the g=
lobal
> -# evaluation report (R0004).
> -comment=3Dno
> -
> -# Include message's id in output
> -include-ids=3Dyes
> -
> -
> -
> -# checks for                                                            =
 =20
> -#     * unused variables / imports                                      =
        =20
> -#     * undefined variables                                             =
        =20
> -#     * redefinition of variable from builtins or from an outer scope   =
        =20
> -#     * use of variable before assigment                                =
        =20
> -#    =20
> -[VARIABLES]
> -# Enable / disable this checker
> -enable-variables=3Dyes
> -
> -# Tells wether we should check for unused import in __init__ files.
> -init-import=3Dno
> -
> -# List of variable names used for dummy variables (i.e. not used).
> -dummy-variables=3D_,_1,_2,_3,_4,_5,dummy
> -
> -
> -
> -# checks for :                                                          =
 =20
> -#     * doc strings                                                     =
        =20
> -#     * modules / classes / functions / methods / arguments / variables =
name    =20
> -#     * number of arguments, local variables, branchs, returns and state=
ments in
> -# functions, methods                                                    =
  =20
> -#     * required module attributes                                      =
      =20
> -#     * dangerous default values as arguments                           =
        =20
> -#     * redefinition of function / method / class                       =
        =20
> -#     * uses of the global statement                                    =
        =20
> -#                                                                       =
         =20
> -# This checker also defines the following reports:                      =
             =20
> -#   * R0101: Statistics by type                                         =
         =20
> -#=20
> -[BASIC]
> -# Enable / disable this checker
> -enable-basic=3Dyes
> -
> -# Required attributes for module, separated by a comma
> -required-attributes=3D
> -
> -# Regular expression which should only match functions or classes name w=
hich do
> -# not require a docstring
> -no-docstring-rgx=3D.*
> -
> -# Minimal length for module / class / function / method / argument / var=
iable
> -# names
> -min-name-length=3D1
> -
> -# Regular expression which should only match correct module names
> -module-rgx=3D(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
> -
> -# Regular expression which should only match correct class names
> -class-rgx=3D[A-Z_][a-zA-Z0-9]+$
> -
> -# Regular expression which should only match correct function names
> -function-rgx=3D[a-z_][A-Za-z0-9_]*$
> -
> -# Regular expression which should only match correct method names
> -method-rgx=3D[a-z_][A-Za-z0-9_]*$
> -
> -# Regular expression which should only match correct argument names
> -argument-rgx=3D[a-z_][A-Za-z0-9_]*$
> -
> -# Regular expression which should only match correct variable names
> -variable-rgx=3D[a-z_][A-Za-z0-9_]*$
> -
> -# Good variable names which should always be accepted, separated by a co=
mma
> -good-names=3Di,j,k,ex,Run,_
> -
> -# Bad variable names which should always be refused, separated by a comma
> -bad-names=3Dfoo,bar,baz,toto,tutu,tata
> -
> -# List of builtins function names that should not be used, separated by =
a comma
> -bad-functions=3Dapply,input
> -
> -
> -
> -# checks for sign of poor/misdesign:                                    =
 =20
> -#     * number of methods, attributes, local variables...               =
        =20
> -#     * size, complexity of functions, methods                          =
        =20
> -#    =20
> -[DESIGN]
> -# Enable / disable this checker
> -enable-design=3Dyes
> -
> -# Maximum number of arguments for function / method
> -max-args=3D15
> -
> -# Maximum number of locals for function / method body
> -max-locals=3D15
> -
> -# Maximum number of return / yield for function / method body
> -max-returns=3D6
> -
> -# Maximum number of branch for function / method body
> -max-branchs=3D12
> -
> -# Maximum number of statements in function / method body
> -max-statements=3D50
> -
> -# Maximum number of parents for a class (see R0901).
> -max-parents=3D7
> -
> -# Maximum number of attributes for a class (see R0902).
> -max-attributes=3D7
> -
> -# Minimum number of public methods for a class (see R0903).
> -min-public-methods=3D2
> -
> -# Maximum number of public methods for a class (see R0904).
> -max-public-methods=3D20
> -
> -
> -
> -# checks for :                                                          =
 =20
> -#     * methods without self as first argument                          =
        =20
> -#     * overriden methods signature                                     =
        =20
> -#     * access only to existant members via self                        =
        =20
> -#     * attributes not defined in the __init__ method                   =
        =20
> -#     * supported interfaces implementation                             =
        =20
> -#     * unreachable code                                                =
        =20
> -#    =20
> -[CLASSES]
> -# Enable / disable this checker
> -enable-classes=3Dyes
> -
> -# List of interface methods to ignore, separated by a comma. This is use=
d for
> -# instance to not check methods defines in Zope's Interface base class.
> -ignore-iface-methods=3DisImplementedBy,deferred,extends,names,namesAndDe=
scriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,ge=
tTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplem=
entedByInstancesOf,adaptWith,is_implemented_by
> -
> -# Tells wether missing members accessed in mixin class should be ignored=
=2E A
> -# mixin class is detected if its name ends with "mixin" (case insensitiv=
e).
> -ignore-mixin-members=3Dyes
> -
> -
> -
> -# checks for                                                            =
 =20
> -#     * external modules dependencies                                   =
        =20
> -#     * relative / wildcard imports                                     =
                   =20
> -#     * cyclic imports                                                  =
        =20
> -#     * uses of deprecated modules
> -#                                                                       =
         =20
> -# This checker also defines the following reports:                      =
             =20
> -#   * R0401: External dependencies                                      =
         =20
> -#   * R0402: Modules dependencies graph                                 =
         =20
> -#=20
> -[IMPORTS]
> -# Enable / disable this checker
> -enable-imports=3Dno
> -
> -# Deprecated modules which should not be used, separated by a comma
> -deprecated-modules=3Dregsub,string,TERMIOS,Bastion,rexec
> -
> -# Create a graph of every (i.e. internal and external) dependencies in t=
he given
> -# file (report R0402 must not be disabled)
> -import-graph=3D
> -
> -# Create a graph of external dependencies in the given file (report R040=
2 must
> -# not be disabled)
> -ext-import-graph=3D
> -
> -# Create a graph of internal dependencies in the given file (report R040=
2 must
> -# not be disabled)
> -int-import-graph=3D
> -
> -
> -
> -# checks for                                                            =
 =20
> -#     * excepts without exception filter                                =
        =20
> -#     * string exceptions                                               =
        =20
> -#    =20
> -[EXCEPTIONS]
> -# Enable / disable this checker
> -enable-exceptions=3Dyes
> -
> -
> -
> -# checks for :                                                          =
 =20
> -#     * unauthorized constructions                                      =
        =20
> -#     * strict indentation                                              =
        =20
> -#     * line length                                                     =
        =20
> -#     * use of <> instead of !=3D
> -#    =20
> -[FORMAT]
> -# Enable / disable this checker
> -enable-format=3Dno
> -
> -# Maximum number of characters on a single line.
> -max-line-length=3D80
> -
> -# Maximum number of lines in a module
> -max-module-lines=3D1000
> -
> -# String used as indentation unit. This is usually " " (4 spaces) or "\t=
" (1 tab).
> -indent-string=3D'    '
> -
> -
> -
> -# does not check anything but gives some raw metrics :                  =
 =20
> -#     * total number of lines                                           =
        =20
> -#     * total number of code lines                                      =
        =20
> -#     * total number of docstring lines                                 =
        =20
> -#     * total number of comments lines                                  =
        =20
> -#     * total number of empty lines                                     =
        =20
> -#                                                                       =
         =20
> -# This checker also defines the following reports:                      =
             =20
> -#   * R0701: Raw metrics                                                =
         =20
> -#=20
> -[METRICS]
> -# Enable / disable this checker
> -enable-metrics=3Dyes
> -
> -
> -
> -# checks for:                                                           =
 =20
> -#     * warning notes in the code like FIXME, XXX                       =
        =20
> -#     * PEP 263: source code with non ascii character but no encoding de=
claration
> -#    =20
> -[MISCELLANEOUS]
> -# Enable / disable this checker
> -enable-miscellaneous=3Dyes
> -
> -# List of note tags to take in consideration, separated by a comma. Defa=
ult to
> -# FIXME, XXX, TODO
> -notes=3DFIXME,XXX,TODO
> -
> -
> -
> -# checks for similarities and duplicated code. This computation may be
> -#     memory / CPU intensive, so you should disable it if you experiment=
s some
> -#     problems.
> -#                                                                       =
         =20
> -# This checker also defines the following reports:                      =
             =20
> -#   * R0801: Duplication                                                =
         =20
> -#=20
> -[SIMILARITIES]
> -# Enable / disable this checker
> -enable-similarities=3Dyes
> -
> -# Minimum lines number of a similarity.
> -min-similarity-lines=3D4
> -
> -# Ignore comments when computing similarities.
> -ignore-comments=3Dyes
> -
> -
> -
> --=20
> 2.30.2
>=20

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQTWSoACgkQ24/THMrX
1yyD5Qf8CkpfHFjYexsiWzeXfo6QI7tV+PqbWex79ZyaxVACLBQSPauAhSHKjeLx
CiGFHvP+sAm0wWJmzY9WtoRuUn/AB9qcvVNu9eZk2I7+H4K1FPe9yri783toWsWX
esYvn+N5b22l4gh3mViN0cuuZXRhSnLDUpvr5aHPT+kfpPhXgzl8YdZpOxwJiT0u
u0ma+aA0pNgB4bMWtB2JVdyOZ7QPvJO1bEyjMrINP273JGWkwLI4/byvmHmT+5PX
2lM4zV+znt4lw9eG2/au2Hp56UlJqNFXlXU/gkUpvti2EhbCDNSUVDDCmvvFjoI+
vo2OAAZysJnbl4DF4Z7eoK78TgHXjA==
=phKy
-----END PGP SIGNATURE-----

--qlehmI5/pIolRKND--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 18:02:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 18:02:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510776.789122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcrvK-0003Y0-Bm; Thu, 16 Mar 2023 18:01:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510776.789122; Thu, 16 Mar 2023 18:01:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcrvK-0003Xt-8g; Thu, 16 Mar 2023 18:01:58 +0000
Received: by outflank-mailman (input) for mailman id 510776;
 Thu, 16 Mar 2023 18:01:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ItE1=7I=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pcrvJ-0003Xn-1e
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 18:01:57 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a24ce99d-c424-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 19:01:55 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 0F8953200943;
 Thu, 16 Mar 2023 14:01:52 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Thu, 16 Mar 2023 14:01:53 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Mar 2023 14:01:51 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a24ce99d-c424-11ed-87f5-c1b5be75604c
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=
	1678989712; x=1679076112; bh=wAEkL7fe93Qu9Z0g1WCeglq8ePVawCA6moH
	8H6ashwA=; b=FT1rtiEiKgLXINiAsV/QTPDmDKJ6uDWiiz6wV64QQNy8+MsX7Vu
	P1Hu8DnFaWvJIv5PKehzHVhi9XS1HefHa7eg1PFjwvwrxoENWHtyO5FHq/2G4BYm
	UWU+/X0SuO/OjVis2JoyaOU1Zh3uj1Xl295rrdBferAPSyxeafBQxPPovcoGnkuB
	e3WsCKn1hTaKNvArrhLw+Ex3mgOT0pIJYPy5WlzAMIA87yknTUBgzBS3FNrDgh1h
	p00ptKwN2P0YZbAzRM39ZHoqLKJfn0rLu2AU8UJ97esBTy2X4W4rxuoN+ObZsSve
	5OSKqlU0e7fEq9hKSpenYSAe+fzkU9mWT3w==
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=fm2; t=1678989712; x=1679076112; bh=wAEkL7fe93Qu9
	Z0g1WCeglq8ePVawCA6moH8H6ashwA=; b=eYhXc7ixusG7k/MCFQ2LwWbfjos1l
	ElRrqTOiw01HpkvlImdk/ENTPon8+IASWVczIt9sjFTrrqE0ffSYoT8ke351yCxX
	/zfJkEN5MRvzbAr/7O8dSSrvBQo8isdkYoeGche8dOSqeME4pfcYk4FQi3DKdk40
	l3wMxUGrIc4cvYzC+3zsMGOZuFniB600hXLXHGLTyfk+5DW+h9DInlajCfP60Gd4
	ntmG1Uq92MhuMymn+50Ikfw2H/evFEda4ufoB02CHMRaaZFM+TmpcY1q/6cF3Fej
	xTKUP4VMxy5ek4C3vrNOx6swcmuHTU6t+GUCBjPnqFgjHUT3wknyWX4zA==
X-ME-Sender: <xms:kFkTZMLakP4nj3jRQ2oqutYSw2I6HZm17OxE0Lp9TTRHAwNp6IFHiw>
    <xme:kFkTZMKMBbftY4wXx3oM0VKXYj1IvKtXKYTEns8uNBpgov1w9fA1QYYzE3_Lgij3V
    xARqSWMysaKXQ>
X-ME-Received: <xmr:kFkTZMuSC-CmdWaW13AmPqkyyS4lHySeIAokegwHp6kzC7qUeB1Unh2Wodk2NkmvT5EMbYBNTVfTZOaj9E20M6Syiwv3yAA-iDU>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeftddguddtlecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    udelteefvefhfeehieetleeihfejhfeludevteetkeevtedtvdegueetfeejudenucevlh
    hushhtvghrufhiiigvpedunecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:kFkTZJZO12x35qzhACPYrl4GTDRxsNl9H0WSMx8jiulvb6KY_mqxqA>
    <xmx:kFkTZDb-0ooeL_Cym4tyy58DO0HOaZGFhnpIYVpFQk_21FI8_AKnGw>
    <xmx:kFkTZFBd6VpOTBbyZzV1LFwsGOdVLQFk3xXCfu-47fNPaIhFaBjbYQ>
    <xmx:kFkTZClcr_WTeZkajslJaeXSnvTMrgP_8l_jFwdgpNIE6-lK8rrXqw>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 16 Mar 2023 19:01:48 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 2/7] tools/misc: Drop xencons
Message-ID: <ZBNZjfzyu7I8rzIR@mail-itl>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
 <20230314141520.3652451-3-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="CemQ4UNq1tsUExKQ"
Content-Disposition: inline
In-Reply-To: <20230314141520.3652451-3-andrew.cooper3@citrix.com>


--CemQ4UNq1tsUExKQ
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 16 Mar 2023 19:01:48 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 2/7] tools/misc: Drop xencons

On Tue, Mar 14, 2023 at 02:15:15PM +0000, Andrew Cooper wrote:
> This is a python script which has it's shebang modified by be python3, but
> was never converted to be python3 compatible.
>=20
> The most recent reference I can find to this script (which isn't incident=
al
> adjustments in the makefile) is from the Xen book, fileish 561e30b80402 w=
hich
> says
>=20
>   %% <snip>  Alternatively, if the
>   %% Xen machine is connected to a serial-port server then we supply a
>   %% dumb TCP terminal client, {\tt xencons}.
>=20
> So this a not-invented-here version of telnet.  Delete it.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Not sure if necessary, but in any case:

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQTWYwACgkQ24/THMrX
1yyFhAf/deD0ovKcRp6htBSy4xddQO2Pk3O5fYR3L+VMO1jKFIenYmcEkntoQCsR
GU1gESNno/yQHYYqFz1XSlqzOOh9ENfx69aSI580t6ODzTjIlGgktWD5bCk2noFX
4MQQM13txJ/k4eIYJJYJnGYkmGXKLn5R4bxHD/CHzoPEUrsHFVTVx652bnM9o78x
22ZOjMmtJ1eW3XSVE9A6CwjJhgZUpRu9hQ0OHKTe9Dfjo/oPv9E0AS8Wv1ciEwN8
GYtJgPWwUBFnO5P5kj+T1aEcbljHE1FcO+zsW407qDwHjRQfK48nmnyBK6GLyf8a
e/WJa5eo8zWIvoupI3lwvCiz5aisLA==
=cmz8
-----END PGP SIGNATURE-----

--CemQ4UNq1tsUExKQ--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 18:03:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 18:03:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510779.789132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcrwA-00043h-LC; Thu, 16 Mar 2023 18:02:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510779.789132; Thu, 16 Mar 2023 18:02: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 1pcrwA-00043a-Hc; Thu, 16 Mar 2023 18:02:50 +0000
Received: by outflank-mailman (input) for mailman id 510779;
 Thu, 16 Mar 2023 18:02: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=ItE1=7I=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pcrw9-0003Xn-7a
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 18:02:49 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2584869-c424-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 19:02:48 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id C97643200943;
 Thu, 16 Mar 2023 14:02:46 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Thu, 16 Mar 2023 14:02:47 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Mar 2023 14:02:45 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2584869-c424-11ed-87f5-c1b5be75604c
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=
	1678989766; x=1679076166; bh=7BTs8CaTWFGvvtNJDfTZph81LQISZET8aHx
	fA9adzAw=; b=iMpM50IlN2bx8b5lQnokdfrRXUoQ5Fu+WH1MyUohHT2VMxxaQ5P
	BCPIwceE+JGtwggJubLy6L/0kQ1tjFsL2GyCUIUCR4ZsUrKnrohjg1YL1vCuNwok
	UlR2uUe3auHbJcwe4w08Nh1sR8vOwV2jMCPVnQqjDo5mGkFXJRZlYA4Iz1AxNIdI
	jSMW1R+XgNXHM/7HE82F+z1ZAju9g//RoI06MMBY9y8HjoulSe/YZmomFpam2RhI
	ys+tI0pfwU0DnsKGcokBZqT0hFe/GyccSq0FsFk6thvd8SAApM6Apmb26hN/c7Pz
	ihl6PpYnlBeAB26aEPhHrrUWkDlptR/gwjQ==
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=fm2; t=1678989766; x=1679076166; bh=7BTs8CaTWFGvv
	tNJDfTZph81LQISZET8aHxfA9adzAw=; b=EtdH2E+yjfwDRDLeUu8m3DMRrr81v
	SYkN+X3EjG5VSUGT7EASFSbKUSU1vUtLFWlVzvtzjwLCviqgnGm0jSU8GzzUBEM9
	9sZ94WirT2EibBa5XP/lNTyjtMU2vsLGglGkQ5fGnkZqtcMqLLc1a6FR3OSTzFjH
	3lnzzQoHrk7byWwsAR1tRmcohVD3ct07gBgXwHaoQHCmyA+NMEt8SysXXDHgNfEA
	tQCnSAEDlp+0NkE19V6xrfsyBr2LLMUYFpMVEUUKySpNhODc8puba8JEu/8owwCY
	OVuKKZE8QWnyod29XaAyv6ZCor1tmEIoPsibvDPjndZkZM8l8R1SEPl3w==
X-ME-Sender: <xms:xlkTZKyWjLYrW7FM8CTWofVGj63zTep6VPp05KOylVJgMQj-V9k8Xw>
    <xme:xlkTZGTLwF_s-55dXGCdTOltx35_A3hwBoQEaqFzgxDcSyhlxJGycaMWyOdc83iES
    98DfzsHfCPPGw>
X-ME-Received: <xmr:xlkTZMXJYis3a4TSY8LeQh94NV5BsY7hfzlcdfqu_aLRongDY90DanqetF_1YqlAjla1uTNJRuMAJ8yliZczeD__ztCN94B02Gg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeftddguddtlecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    udelteefvefhfeehieetleeihfejhfeludevteetkeevtedtvdegueetfeejudenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:xlkTZAhT1lYqGRQv2VHKQ_bqTs-QaEhTtcOW_qz-Ypwp_UP2vJMPrw>
    <xmx:xlkTZMBOfj9QKaXhxaEtGTwA8gE4GyvP-LcpBf-SWzCzwux5U5_gVw>
    <xmx:xlkTZBKkbh2axrbCdjeerQcOUFSnquXba34auqOLUNNdQvh2ic8Gig>
    <xmx:xlkTZPNzvABSzj3_fzI9ioF-4FzNEidmxRdkPiLNzn1lG4AWj7UV7A>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 16 Mar 2023 19:02:42 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 3/7] tools: Delete trailing whitespace in python scripts
Message-ID: <ZBNZwzCpe3e3HTPu@mail-itl>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
 <20230314141520.3652451-4-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="XlwlU7QZw00SNn6M"
Content-Disposition: inline
In-Reply-To: <20230314141520.3652451-4-andrew.cooper3@citrix.com>


--XlwlU7QZw00SNn6M
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 16 Mar 2023 19:02:42 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 3/7] tools: Delete trailing whitespace in python scripts

On Tue, Mar 14, 2023 at 02:15:16PM +0000, Andrew Cooper wrote:
> No functional change.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQTWcIACgkQ24/THMrX
1yz8Ygf/RzpZm5CyGxYRivhjpEwaJmiKSHIqF49rPJlL1DVcbzeTozTUCOa4dpFG
kOg+KscmjOr2UKwraAdoyvZkHYWJugiNaqtIEZBBVxUqIWqG8G67fFSJWqc5G69i
ijQ1AsI+3EVgJ/uiDIrLGzIWGKaQ0yw5DLT48lelEdrJoxBwm5QRKxWNcBAMz4lT
WKtJxSv9wnP6CbvzmAcD3p5VPd6+meqXkDM7mjgVJ06u2ilbuVMeIweaNJThme1V
7EKCbwUUAPwRarOJbRHgrJjW2t+A793AEY9zMt8PXz8bfMuf7cRAt6LHUjVdKCBG
kjCpGRG4tA+otUZoW1Pq1cEW31+phA==
=78Yl
-----END PGP SIGNATURE-----

--XlwlU7QZw00SNn6M--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 18:06:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 18:06:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510784.789142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcs02-0004mS-8N; Thu, 16 Mar 2023 18:06:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510784.789142; Thu, 16 Mar 2023 18:06:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcs02-0004mL-5b; Thu, 16 Mar 2023 18:06:50 +0000
Received: by outflank-mailman (input) for mailman id 510784;
 Thu, 16 Mar 2023 18:06: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 1pcs01-0004m9-P4; Thu, 16 Mar 2023 18:06: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 1pcs01-0006gd-N5; Thu, 16 Mar 2023 18:06: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 1pcs01-0006pw-FO; Thu, 16 Mar 2023 18:06:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcs01-00057m-Ev; Thu, 16 Mar 2023 18:06: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=8muRSxc9j0LJ8TxPa0kZ3jyWqcY+tTGnhrgPusOOEFw=; b=k3YlnWPzp/pNu8dHwg8Lr7w/WB
	bB6s5rHFwaKxVoGdPTZaZJzdKIN6X00YUSvorlF4e1Ed0vNSZ9X1QYf9R+1dlM0oIyNMF4DzHsqtE
	trQoyK1OWbj0yEMn0R3oFBzWjRQ67pvcN3c+47fjnV/kXI/LEa9RibOcNpHy7/THXY6c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179690-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179690: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=997c6967b00cdd797fe787567a28a7565aafd301
X-Osstest-Versions-That:
    ovmf=7cfe9048e3ecad7988d66ce1f0ec20d9aef509ee
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Mar 2023 18:06:49 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 997c6967b00cdd797fe787567a28a7565aafd301
baseline version:
 ovmf                 7cfe9048e3ecad7988d66ce1f0ec20d9aef509ee

Last test of basis   179677  2023-03-16 11:12:17 Z    0 days
Testing same since   179690  2023-03-16 16:12:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Tuan Phan <tphan@ventanamicro.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
   7cfe9048e3..997c6967b0  997c6967b00cdd797fe787567a28a7565aafd301 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 18:07:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 18:07:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510787.789151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcs0J-00058W-Fa; Thu, 16 Mar 2023 18:07:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510787.789151; Thu, 16 Mar 2023 18:07:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcs0J-00058P-D2; Thu, 16 Mar 2023 18:07:07 +0000
Received: by outflank-mailman (input) for mailman id 510787;
 Thu, 16 Mar 2023 18:07:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ItE1=7I=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pcs0H-00056c-Ly
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 18:07:05 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a405009-c425-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 19:07:03 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 0B2283200094;
 Thu, 16 Mar 2023 14:07:00 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Thu, 16 Mar 2023 14:07:01 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Mar 2023 14:06:59 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a405009-c425-11ed-b464-930f4c7d94ae
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=
	1678990020; x=1679076420; bh=Flh9CyEO3fIBvHzcnNvViG5ZR9X+htA/Ssi
	tMWKyjTo=; b=bjF96hRjxspC6+Fhq5bkxQoQepL6zf3idoFm4Dk/m1d79bVdVdP
	nQzYocpsn5Bz+6F2yN+J07wZAno79gEdbJqRYiI9p6jggaf8HY86FdMQjYUcg6Xg
	Qg91iUzIA4U1bl5e2569JorfUSdH16FdWOG01Jjyp6sICHz/cs0yNC7M6NDw0J0u
	VJ54HWU2IMGJCOg0CTqY42QLlVtD29jY8dZnHOWox8GCpMAbR99ekGnhWkE9q/jF
	Ws/b+HYRaXC0+1mp0LMoeZBpqeLPWJi0Juv2jY3wc6JcnJ0MP+8bdGx254gj6THE
	Cx3M6PYAJmx7OqrZ65Y0DSX+q1q/akEV0OA==
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=fm2; t=1678990020; x=1679076420; bh=Flh9CyEO3fIBv
	HzcnNvViG5ZR9X+htA/SsitMWKyjTo=; b=jGeRui3w5ccOk8zVlu3YOgaivvwm7
	czJJq3nkFR1sMchztH79cNpfiX6bjMsNCSy1cR+iA7TDQ+qf5IhEzDEDpROHiWcU
	QUOCpxfkZYEbuYCzTet1iAy0lHpkcoxS4dYRrH3W1rRmJT17pvn5joLnvCOUKcg8
	D2mn37B49bBzqVFfrUYtK797t4wWCs+r/fxCweli0S2KYhegot1Huk9Epq8eWcCS
	XXchkPxS3Zz5RsT01h8HxUWwJ9qpI9vA/ufShJ/1VbNnhC5XbSdjs+DlzaNt6AAI
	QHRdFUg1fNFs4nCdHM4J9xJ8oDQkHiJuWYLx4nOmB+rsm8ySlmSPbHfyA==
X-ME-Sender: <xms:xFoTZFKM-dYcRfCH7MqahhUup0cBbwTySEmlDRwpxqudPMS595TG-Q>
    <xme:xFoTZBKH4HtQVm7Hm2aji1rKR_zJew1M3ynrwM-JKZy42HQbXGkbTtEOrl7dZSmn1
    ccjcf6lTdNixA>
X-ME-Received: <xmr:xFoTZNsG7I_MMCUBx4theu3ra_aoZ7oFRtGQQCeQNer6uU2M-Pd52tVlfrwqQEGJO39ZMwXGt_Z_fjNREk3bJRSupPn-MXHRME8>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeftddguddutdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    udelteefvefhfeehieetleeihfejhfeludevteetkeevtedtvdegueetfeejudenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:xFoTZGYZb9blsYZSQikDhM43-6bdgNype0I4GyJ9iTDoZlFi36C7hg>
    <xmx:xFoTZMY4aziy1k0LHynozW7Ldu6Ku56x9QOhP0HNFVSGWQqAzE4djw>
    <xmx:xFoTZKCsF-azvnDYvpA5JBpvliZq2jElaBdRvTb3RJ8gXtzmBl5_uQ>
    <xmx:xFoTZLlYfsm6i12LNBx-rMJomn6yHY7kP4TW162P0V2L50iJeStGzg>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 16 Mar 2023 19:06:56 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 6/7] tools/python: Improve unit test handling
Message-ID: <ZBNawV2qvDer22h4@mail-itl>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
 <20230314141520.3652451-7-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="UTV0HImSynLG2qpS"
Content-Disposition: inline
In-Reply-To: <20230314141520.3652451-7-andrew.cooper3@citrix.com>


--UTV0HImSynLG2qpS
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 16 Mar 2023 19:06:56 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 6/7] tools/python: Improve unit test handling

On Tue, Mar 14, 2023 at 02:15:19PM +0000, Andrew Cooper wrote:
>  * Add X86_{CPUID,MSR}_POLICY_FORMAT checks which were missed previously.
>  * Drop test_suite().  It hasn't been necessary since the Py2.3 era.
>  * Drop the __main__ logic.  This can't be used without manually adjustin=
g the
>    include path, and `make test` knows how to do the right thing.
>  * For `make test`, use `-v` to see which tests have been discovered and =
run.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
> CC: Wei Liu <wl@xen.org>
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
> CC: Bernhard Kaindl <bernhard.kaindl@citrix.com>
> ---
>  tools/python/Makefile               |  2 +-
>  tools/python/xen/migration/tests.py | 14 ++------------
>  2 files changed, 3 insertions(+), 13 deletions(-)
>=20
> diff --git a/tools/python/Makefile b/tools/python/Makefile
> index 511e7deae409..697299bf2802 100644
> --- a/tools/python/Makefile
> +++ b/tools/python/Makefile
> @@ -36,7 +36,7 @@ uninstall:
> =20
>  .PHONY: test
>  test:
> -	LD_LIBRARY_PATH=3D$$(readlink -f ../libs/ctrl):$$(readlink -f ../xensto=
re) $(PYTHON) -m unittest discover
> +	LD_LIBRARY_PATH=3D$$(readlink -f ../libs/ctrl):$$(readlink -f ../xensto=
re) $(PYTHON) -m unittest discover -v
> =20
>  .PHONY: clean
>  clean:
> diff --git a/tools/python/xen/migration/tests.py b/tools/python/xen/migra=
tion/tests.py
> index ff2768946bb5..f22e2c2b7cf0 100644
> --- a/tools/python/xen/migration/tests.py
> +++ b/tools/python/xen/migration/tests.py
> @@ -26,6 +26,8 @@ class TestLibxc(unittest.TestCase):
>                           (libxc.X86_TSC_INFO_FORMAT, 24),
>                           (libxc.HVM_PARAMS_ENTRY_FORMAT, 16),
>                           (libxc.HVM_PARAMS_FORMAT, 8),
> +                         (libxc.X86_CPUID_POLICY_FORMAT, 24),
> +                         (libxc.X86_MSR_POLICY_FORMAT, 16),
>                           ):
>              self.assertEqual(calcsize(fmt), sz)
> =20
> @@ -40,15 +42,3 @@ class TestLibxl(unittest.TestCase):
>                           (libxl.EMULATOR_HEADER_FORMAT, 8),
>                           ):
>              self.assertEqual(calcsize(fmt), sz)
> -
> -
> -def test_suite():
> -    suite =3D unittest.TestSuite()
> -
> -    suite.addTest(unittest.makeSuite(TestLibxc))
> -    suite.addTest(unittest.makeSuite(TestLibxl))
> -
> -    return suite
> -
> -if __name__ =3D=3D "__main__":
> -    unittest.main()
> --=20
> 2.30.2
>=20

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQTWsAACgkQ24/THMrX
1yxlcAf/bDZ2qkC63gETKEioQPtEeYqso6cJdL8N03xwbfMgzjg6GRpjwQOd4FBX
ppneZon9XJlq214QczYr0iwgKsg4T23ms4kVVjnQ4NVKlRXipxNQQ+9hl3v0qQHU
QWi+PNK7OnJx7IhB7HqCZ7X58oSkWHQifMO2Ew6I7AW2iLNSViMe9OHvzAipwQGm
zxvXKUOLiYo/FhaNEhiojkiknMc3Slu9yg9RsEh7irjYWxcNQXuO3InG1apVPPRy
lHxT6nIm+67/axKWoBBwu+KFWilfL5umiD3jZwJB2xFhGxVeBvb3xWbCddldQchs
qlO0Hx32v3GaNkVYtnvitaO1VC0W9w==
=wLAh
-----END PGP SIGNATURE-----

--UTV0HImSynLG2qpS--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 18:12:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 18:12:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510791.789161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcs5s-00075F-3j; Thu, 16 Mar 2023 18:12:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510791.789161; Thu, 16 Mar 2023 18: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 1pcs5s-000758-16; Thu, 16 Mar 2023 18:12:52 +0000
Received: by outflank-mailman (input) for mailman id 510791;
 Thu, 16 Mar 2023 18: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=ItE1=7I=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pcs5r-000752-0g
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 18:12:51 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 278d65ee-c426-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 19:12:48 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 93BB832007F0;
 Thu, 16 Mar 2023 14:12:45 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Thu, 16 Mar 2023 14:12:46 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Mar 2023 14:12:44 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 278d65ee-c426-11ed-b464-930f4c7d94ae
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=
	1678990365; x=1679076765; bh=Ab9R1HCydFujHJtOFpON+M3dVibwjpcCjV4
	o4gMcFRE=; b=G6C3S4Y/N/jwMzG3MwZqi2QoDAei3ps6AZ1+w2OhCkz1nKGcEpH
	k9EgvRCoSDFlD25bQ+S3TwbnRugbSbNVcxD++GPXNzEEfGfarHL3ED5JlyC4bHs6
	qsSDBIE0x4Kfh1uLBS5QFiBD8doenNs9vIzQdV//7S0WcOsxgGsMRXvAnkYpXJmj
	SBtrOjWuQdT4oqbDgKT9m10I4yaKlanVCYRUEncL18YV1cBG9fMG5PvGIgJTJnVD
	oqXxaQEu9EA2s79zaRkEwFigeebddi4t3129ZQQLNoVgOZrQ3BGHJ8WXZLvqQQQx
	4pDkFxMANOOYZPnwML3HTO9R0vdvv1o5ZJg==
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=fm2; t=1678990365; x=1679076765; bh=Ab9R1HCydFujH
	JtOFpON+M3dVibwjpcCjV4o4gMcFRE=; b=OEmIQHt+Oj1vIp8SJT4A+T/rEcy+R
	+g3+bRo6Q53yS5vLv8vnIwwpphNkNqAL5Rooi4lHr5lKaGZmuocKB1n+4XupaDNZ
	Jj+7hHtU+JMM51lMepBndaqLkiu2TvZUKC/I0eVGxCUBWPc8GXP9HAUOMEeGC52W
	RcYdIloPV4b/byMLE2sEW5JFF7jQDslVK9DskJ92YI42EHDLv73vaZ/kFGpojpsa
	GtfH++o2dqyaeca55wXhdxzVIEemOJZLvxdR0bnC5ozDoIRAttQSNQnRQAuUSLvQ
	aNn54NcBTGoa6xSNzAHn4iGDAcu0rLGS6GMTYuf5x2dm3bv/N+/NcoYoQ==
X-ME-Sender: <xms:HFwTZN-PSh27KQhxG8raAgd2Ie-5wC_Qt69ASBJZqHK6MiclYS-DiQ>
    <xme:HFwTZBu4i8Fd3fdpfHUmRz6yf3PyEn-PmX7xVWV_7aCbx7YgENYoDlKbwEcwFC-e-
    80r9wEHRFrN3g>
X-ME-Received: <xmr:HFwTZLD9KQp4KSTnuX7BlX-ca_vd9A0ncXz2Zob0TMfFpJWsxU1M6U62aWtCFs1-fP8AglLNd2OAcq5XtWmcgnexSHcrBa6Ncvc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeftddgudduudcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    udelteefvefhfeehieetleeihfejhfeludevteetkeevtedtvdegueetfeejudenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:HFwTZBeQ8NCtKB3tqdilISk7ASCNuIeMigici_nme7iBNlnSlXZ4Ow>
    <xmx:HFwTZCPIWRt9tiy8K85wC7JBTdISspIC_VS13s0U4bETTnG0bgHWiQ>
    <xmx:HFwTZDlFNKrZpXxnTqHdPbNERBfKjIOTtRHm2_lqdVt01mQVJ5EcGA>
    <xmx:HVwTZLaWurB8YE1crgCl3g_qnAB4Fh2ItkmniNQf2_yiHemQlvBLFA>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 16 Mar 2023 19:12:40 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 7/7] tools/python: Drop shebangs from library files
Message-ID: <ZBNcGSJvOh0h3Den@mail-itl>
References: <20230314141520.3652451-1-andrew.cooper3@citrix.com>
 <20230314141520.3652451-8-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="UGj6/sWBERrGyvzU"
Content-Disposition: inline
In-Reply-To: <20230314141520.3652451-8-andrew.cooper3@citrix.com>


--UGj6/sWBERrGyvzU
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 16 Mar 2023 19:12:40 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH 7/7] tools/python: Drop shebangs from library files

On Tue, Mar 14, 2023 at 02:15:20PM +0000, Andrew Cooper wrote:
> These aren't runable scripts, so shouldn't have shebangs.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
> CC: Wei Liu <wl@xen.org>
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
> CC: Bernhard Kaindl <bernhard.kaindl@citrix.com>
> ---
>  tools/python/xen/migration/legacy.py | 1 -
>  tools/python/xen/migration/libxc.py  | 1 -
>  tools/python/xen/migration/libxl.py  | 1 -
>  tools/python/xen/migration/public.py | 1 -
>  tools/python/xen/migration/tests.py  | 1 -
>  tools/python/xen/migration/verify.py | 1 -
>  tools/python/xen/migration/xl.py     | 1 -
>  tools/python/xen/util.py             | 1 -
>  8 files changed, 8 deletions(-)
>=20
> diff --git a/tools/python/xen/migration/legacy.py b/tools/python/xen/migr=
ation/legacy.py
> index 6456d6157ce3..e196ca876095 100644
> --- a/tools/python/xen/migration/legacy.py
> +++ b/tools/python/xen/migration/legacy.py
> @@ -1,4 +1,3 @@
> -#!/usr/bin/env python
>  # -*- coding: utf-8 -*-
> =20
>  """
> diff --git a/tools/python/xen/migration/libxc.py b/tools/python/xen/migra=
tion/libxc.py
> index 9881f5ced4ea..e52e632cb106 100644
> --- a/tools/python/xen/migration/libxc.py
> +++ b/tools/python/xen/migration/libxc.py
> @@ -1,4 +1,3 @@
> -#!/usr/bin/env python
>  # -*- coding: utf-8 -*-
> =20
>  """
> diff --git a/tools/python/xen/migration/libxl.py b/tools/python/xen/migra=
tion/libxl.py
> index 5c4d4fe0631b..5dcb50fe0207 100644
> --- a/tools/python/xen/migration/libxl.py
> +++ b/tools/python/xen/migration/libxl.py
> @@ -1,4 +1,3 @@
> -#!/usr/bin/env python
>  # -*- coding: utf-8 -*-
> =20
>  """
> diff --git a/tools/python/xen/migration/public.py b/tools/python/xen/migr=
ation/public.py
> index fab2f84587b7..23183ef67db8 100644
> --- a/tools/python/xen/migration/public.py
> +++ b/tools/python/xen/migration/public.py
> @@ -1,4 +1,3 @@
> -#!/usr/bin/env python
>  # -*- coding: utf-8 -*-
> =20
>  """
> diff --git a/tools/python/xen/migration/tests.py b/tools/python/xen/migra=
tion/tests.py
> index f22e2c2b7cf0..fcf94b0bb264 100644
> --- a/tools/python/xen/migration/tests.py
> +++ b/tools/python/xen/migration/tests.py
> @@ -1,4 +1,3 @@
> -#!/usr/bin/env python
>  # -*- coding: utf-8 -*-
> =20
>  """
> diff --git a/tools/python/xen/migration/verify.py b/tools/python/xen/migr=
ation/verify.py
> index 1e38f4a3c01e..b847c4bd220f 100644
> --- a/tools/python/xen/migration/verify.py
> +++ b/tools/python/xen/migration/verify.py
> @@ -1,4 +1,3 @@
> -#!/usr/bin/env python
>  # -*- coding: utf-8 -*-
> =20
>  """
> diff --git a/tools/python/xen/migration/xl.py b/tools/python/xen/migratio=
n/xl.py
> index 978e744dfd95..139d496654df 100644
> --- a/tools/python/xen/migration/xl.py
> +++ b/tools/python/xen/migration/xl.py
> @@ -1,4 +1,3 @@
> -#!/usr/bin/env python
>  # -*- coding: utf-8 -*-
> =20
>  """
> diff --git a/tools/python/xen/util.py b/tools/python/xen/util.py
> index a11358eefa13..47ceb5bd21fe 100644
> --- a/tools/python/xen/util.py
> +++ b/tools/python/xen/util.py
> @@ -1,4 +1,3 @@
> -#!/usr/bin/env python
>  # -*- coding: utf-8 -*-
> =20
>  import os
> --=20
> 2.30.2
>=20

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQTXBkACgkQ24/THMrX
1ywVyAf+N5FjzNJ/Y5DkQWD9kQKmtWwl1wdIhG6CHUeyLnvImRTlko90Hmjra5DC
Ln8EXA9bDokcrkXQsA5VdWkGVu2lQ8absUqfWzCd3kxT2oIGXlvpyKh9WDVJ7GXS
yQHIL1Q6qyBOE6nQ6xnbsw65Tighdn1pw/6wV3fNZe87sFSeBnQmbR1td7TDxW9z
hQm+O/0VUpc8AIEVo/HI8CFzvGtX0xwNWZfzdXQK4rdW/vdMJd9P1QSYr7g8m8q9
ZVN+2N2wgGpyN6dskpLqgfgyO3TDtvHgvQ/dNYqV39zNzE79EeQ1sBgL+0dVOa/a
rtAGqrhRwPspAgQOtocuvchlulckAg==
=5vEd
-----END PGP SIGNATURE-----

--UGj6/sWBERrGyvzU--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 19:04:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 19:04:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510800.789178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcstZ-0005SI-0O; Thu, 16 Mar 2023 19:04:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510800.789178; Thu, 16 Mar 2023 19: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 1pcstY-0005SB-TX; Thu, 16 Mar 2023 19:04:12 +0000
Received: by outflank-mailman (input) for mailman id 510800;
 Thu, 16 Mar 2023 19:04: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=cxbr=7I=intel.com=lkp@srs-se1.protection.inumbo.net>)
 id 1pcstX-0005S3-70
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 19:04:11 +0000
Received: from mga18.intel.com (mga18.intel.com [134.134.136.126])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51df71c5-c42d-11ed-87f5-c1b5be75604c;
 Thu, 16 Mar 2023 20:04:07 +0100 (CET)
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 16 Mar 2023 12:03:47 -0700
Received: from lkp-server01.sh.intel.com (HELO b613635ddfff) ([10.239.97.150])
 by fmsmga006.fm.intel.com with ESMTP; 16 Mar 2023 12:03:40 -0700
Received: from kbuild by b613635ddfff with local (Exim 4.96)
 (envelope-from <lkp@intel.com>) id 1pcst1-0008hW-1B;
 Thu, 16 Mar 2023 19:03:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51df71c5-c42d-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1678993447; x=1710529447;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=zUzkGxrqKDPR6SroJseKwSx7MVAGnpL/Grdhlw6b7UE=;
  b=ko072JGDiGqhsmAtWDLLwYIcmq58EHOBPuqg+XpQeksRtfrQjEdipIIf
   IOkiZGekqKjjfniCcfzT5wrU4hBGdKU+7SbRzF4RpD+g4J0UFbWEuoYxt
   Sd43em6ugiaJY1n4LYHFjK+Jqsf4zxRVeICnTgeBQ/f51sCWRF059Qd6b
   hLpSjHeAMc61XysB5niDrCuyGwdplRwhFf2Fxjmu//j3YuglpNZSlnSz8
   OSNGVb2GhSLCIKOsuIZ/i9N0v2WBe8/nYNN86i594hsWNRZ1hMVpYOfwj
   BELLBWoCRntS1f1bt6MamvqAaYSjRUG5+XZHTaJ9KFRYm3lacIoFi72dG
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10651"; a="321944547"
X-IronPort-AV: E=Sophos;i="5.98,265,1673942400"; 
   d="scan'208";a="321944547"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10651"; a="925864625"
X-IronPort-AV: E=Sophos;i="5.98,265,1673942400"; 
   d="scan'208";a="925864625"
Date: Fri, 17 Mar 2023 03:03:04 +0800
From: kernel test robot <lkp@intel.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	=?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>
Subject: Re: [PATCH v5 1/4] PCI: Introduce pci_dev_for_each_resource()
Message-ID: <202303170223.V0xQhs1V-lkp@intel.com>
References: <20230314192634.63531-2-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230314192634.63531-2-andriy.shevchenko@linux.intel.com>

Hi Andy,

I love your patch! Yet something to improve:

[auto build test ERROR on pci/next]
[also build test ERROR on pci/for-linus powerpc/next powerpc/fixes linus/master v6.3-rc2 next-20230316]
[cannot apply to soc/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/PCI-Introduce-pci_dev_for_each_resource/20230315-032821
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link:    https://lore.kernel.org/r/20230314192634.63531-2-andriy.shevchenko%40linux.intel.com
patch subject: [PATCH v5 1/4] PCI: Introduce pci_dev_for_each_resource()
config: powerpc-randconfig-r032-20230312 (https://download.01.org/0day-ci/archive/20230317/202303170223.V0xQhs1V-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 67409911353323ca5edf2049ef0df54132fa1ca7)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install powerpc cross compiling tool for clang build
        # apt-get install binutils-powerpc-linux-gnu
        # https://github.com/intel-lab-lkp/linux/commit/85cdf4746b716f7b6c14d7dc5cd907c3c2a1fb0c
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Andy-Shevchenko/PCI-Introduce-pci_dev_for_each_resource/20230315-032821
        git checkout 85cdf4746b716f7b6c14d7dc5cd907c3c2a1fb0c
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=powerpc olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303170223.V0xQhs1V-lkp@intel.com/

All errors (new ones prefixed by >>):

>> arch/powerpc/platforms/52xx/mpc52xx_pci.c:331:6: error: unused variable 'i' [-Werror,-Wunused-variable]
           int i;
               ^
   1 error generated.


vim +/i +331 arch/powerpc/platforms/52xx/mpc52xx_pci.c

f42963f8646540 Grant Likely    2006-12-12  326  
f42963f8646540 Grant Likely    2006-12-12  327  static void
f42963f8646540 Grant Likely    2006-12-12  328  mpc52xx_pci_fixup_resources(struct pci_dev *dev)
f42963f8646540 Grant Likely    2006-12-12  329  {
85cdf4746b716f Mika Westerberg 2023-03-14  330  	struct resource *res;
f42963f8646540 Grant Likely    2006-12-12 @331  	int i;
f42963f8646540 Grant Likely    2006-12-12  332  
59510820fff76f Randy Dunlap    2021-04-28  333  	pr_debug("%s() %.4x:%.4x\n", __func__, dev->vendor, dev->device);
f42963f8646540 Grant Likely    2006-12-12  334  
f42963f8646540 Grant Likely    2006-12-12  335  	/* We don't rely on boot loader for PCI and resets all
f42963f8646540 Grant Likely    2006-12-12  336  	   devices */
85cdf4746b716f Mika Westerberg 2023-03-14  337  	pci_dev_for_each_resource_p(dev, res) {
f42963f8646540 Grant Likely    2006-12-12  338  		if (res->end > res->start) {	/* Only valid resources */
f42963f8646540 Grant Likely    2006-12-12  339  			res->end -= res->start;
f42963f8646540 Grant Likely    2006-12-12  340  			res->start = 0;
f42963f8646540 Grant Likely    2006-12-12  341  			res->flags |= IORESOURCE_UNSET;
f42963f8646540 Grant Likely    2006-12-12  342  		}
f42963f8646540 Grant Likely    2006-12-12  343  	}
f42963f8646540 Grant Likely    2006-12-12  344  
f42963f8646540 Grant Likely    2006-12-12  345  	/* The PCI Host bridge of MPC52xx has a prefetch memory resource
f42963f8646540 Grant Likely    2006-12-12  346  	   fixed to 1Gb. Doesn't fit in the resource system so we remove it */
f42963f8646540 Grant Likely    2006-12-12  347  	if ( (dev->vendor == PCI_VENDOR_ID_MOTOROLA) &&
f42963f8646540 Grant Likely    2006-12-12  348  	     (   dev->device == PCI_DEVICE_ID_MOTOROLA_MPC5200
f42963f8646540 Grant Likely    2006-12-12  349  	      || dev->device == PCI_DEVICE_ID_MOTOROLA_MPC5200B) ) {
f42963f8646540 Grant Likely    2006-12-12  350  		struct resource *res = &dev->resource[1];
f42963f8646540 Grant Likely    2006-12-12  351  		res->start = res->end = res->flags = 0;
f42963f8646540 Grant Likely    2006-12-12  352  	}
f42963f8646540 Grant Likely    2006-12-12  353  }
f42963f8646540 Grant Likely    2006-12-12  354  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 19:38:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 19:38:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510809.789194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pctQO-0001Tw-Pp; Thu, 16 Mar 2023 19:38:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510809.789194; Thu, 16 Mar 2023 19:38: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 1pctQO-0001Tp-Mn; Thu, 16 Mar 2023 19:38:08 +0000
Received: by outflank-mailman (input) for mailman id 510809;
 Thu, 16 Mar 2023 19:38: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=lZp/=7I=citrix.com=prvs=432965e83=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pctQM-0001Th-KY
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 19:38:06 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0de374b6-c432-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 20:38: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: 0de374b6-c432-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1678995480;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=mTISRMWZr8ba7nnJbNCCzyiScF6I+/PfZRJYstrMh00=;
  b=JPPk9zlJqhHVRyF9XoSf2+733gm37PPMj4RqCmyZ5uM8TbfizFXmMRlW
   c8E75pGEYum+CCbIo7A9GVhGhPbkLcl38BmMbd0+G6VwzlSecLyvVn3br
   8uxpKeoDTLjzZLxYnJ9aMiElgzn+wMg9KRs1D5rC4e9uBqwO3eZdfQd6s
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100541595
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:0xki3aj4kE6ef2wZiLHY8unzX161fxAKZh0ujC45NGQN5FlHY01je
 htvW2+DM/vbN2LyeYx/OYzgpx9VvMPXxt41TFRspX8xEiob9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waAzyZ94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQXBwI/f0iawNmp66n4TbRT1+0PAu/SadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/
 jqboz2kU0xy2Nq3lT2340jwnMb2o3npBN0ZDb26371YjwjGroAUIEJPDgbqyRWjsWauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O/I+wBGAzOzT+QnxLm0NVDtIctElnM4wWz0x1
 1WNks/pBDpgq7mcQzSW8bL8kN+pEXFLdylYP3ZCFFZbpYC5++nfky4jUP5sP5yHn4XsXgrv6
 CvJq3UB1pw/o+gygvDTEU/8vxqgoZ3ATwgQ7wrRX3644g4RWLNJd7BE+nCAs68ecd/xok2p+
 SFdxpPAtLxm4YSlznTlfQkbIF2+Cx9p2hX4iEUnIZQu/i/FF5WLLdEJu2EWyKuE3685ld7Vj
 K374185CHx7ZiHCgUpLj2WZWqwXIVDIT4iNaxwtRoMmjmJNXAGG5jpyQkWbwnrglkMh+YlmZ
 8jLIJf1XC9AVfo4pNZTewv6+e5D+8zD7TmLGcCTI+qPiNJym0J5uZ9aaQDTP4jVHYuPoRnP8
 sY3CvZmPy53CbWkCgGOqN57ELz/BSRjbXwAg5ANJ7Hrz8sPMD1JNsI9Npt+JdY9w/wIyrmgE
 7PUchYw9WcTTEbvcW2iAk2Popu2NXqjhRrX5RARAGs=
IronPort-HdrOrdr: A9a23:F+Qf9K5yglcXnd791gPXwbOBI+orL9Y04lQ7vn2ZhyYlFvBw9v
 re6MjzsCWe5gr5N0tBpTn+Atj+fZqxz/9ICOoqTMWftXfdyQmVxehZhOOJ/9SKIVycygcy79
 YET0B0YOeAc2ST5azBjDVReLwbr+VuP8qT6Nv2/jNVaUVPVokl1gF+D2+gYzhLrMstP+tJKH
 JZjPA31AZJvB4sH7SG7wI+Lo/+juyOrovifRkFQzY/8WC1/EuVwY+/KQGcwhAdFxhSwbIumF
 K17zDR1+GYqvSmzR2Z8GfW4/1t6b3c4+oGPtWIls8WbhPzjQqyDb4RIoGqjXQOueSy71Rvqv
 ngyi1QRPhb2jfqZ2Sophmo4QX6zzo0zHfnxTaj8AHeiP28fis+F81Cwb1UaQHY7U1IhqAA7J
 52
X-IronPort-AV: E=Sophos;i="5.98,265,1673931600"; 
   d="scan'208";a="100541595"
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Bernhard Kaindl
	<bernhard.kaindl@citrix.com>
Subject: [PATCH v2 5/7] tools: Use -s for python shebangs
Date: Thu, 16 Mar 2023 19:37:44 +0000
Message-ID: <20230316193744.1077012-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230314141520.3652451-6-andrew.cooper3@citrix.com>
References: <20230314141520.3652451-6-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This is mandated by the Fedora packaging guidelines because it is a security
vulnerability otherwise in suid scripts.  While Xen doesn't have suid scripts,
it's a very good idea generally, because it prevents the users local python
environment interfering from system packaged scripts.

pygrub is the odd-script-out, being installed by distutils rather than
manually with INSTALL_PYTHON_PROG.  distutils has no nice way of editing the
shebang, so arrange to use INSTALL_PYTHON_PROG on pygrub too.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
CC: Bernhard Kaindl <bernhard.kaindl@citrix.com>

v2:
 * Remove accidental setuputils dependency.
---
 tools/Rules.mk        | 2 +-
 tools/pygrub/Makefile | 4 +++-
 tools/pygrub/setup.py | 1 -
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/Rules.mk b/tools/Rules.mk
index 6e135387bd7e..18cf83f5be83 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -179,7 +179,7 @@ CFLAGS += $(CFLAGS-y)
 CFLAGS += $(EXTRA_CFLAGS_XEN_TOOLS)
 
 INSTALL_PYTHON_PROG = \
-	$(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH)" $(INSTALL_PROG)
+	$(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH) -s" $(INSTALL_PROG)
 
 %.opic: %.c
 	$(CC) $(CPPFLAGS) -DPIC $(CFLAGS) $(CFLAGS_$*.opic) -fPIC -c -o $@ $< $(APPEND_CFLAGS)
diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
index 29ad0513212f..4963bc89c6ed 100644
--- a/tools/pygrub/Makefile
+++ b/tools/pygrub/Makefile
@@ -18,8 +18,10 @@ build:
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)/$(bindir)
+	$(INSTALL_DIR) $(DESTDIR)/$(LIBEXEC_BIN)
 	$(setup.py) install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
-		--root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force
+		--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 \
diff --git a/tools/pygrub/setup.py b/tools/pygrub/setup.py
index 0e4e3d02d372..502aa4df2dae 100644
--- a/tools/pygrub/setup.py
+++ b/tools/pygrub/setup.py
@@ -23,7 +23,6 @@ setup(name='pygrub',
       author_email='katzj@redhat.com',
       license='GPL',
       package_dir={'grub': 'src', 'fsimage': 'src'},
-      scripts = ["src/pygrub"],
       packages=pkgs,
       ext_modules = [ xenfsimage ]
       )
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 16 20:10:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 20:10:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510813.789204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pctvM-0006gL-5S; Thu, 16 Mar 2023 20:10:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510813.789204; Thu, 16 Mar 2023 20:10: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 1pctvM-0006gE-2U; Thu, 16 Mar 2023 20:10:08 +0000
Received: by outflank-mailman (input) for mailman id 510813;
 Thu, 16 Mar 2023 20: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=ItE1=7I=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pctvK-0006bU-69
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 20:10:06 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8832ce2a-c436-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 21:10:02 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 97B0032007F0;
 Thu, 16 Mar 2023 16:09:59 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Thu, 16 Mar 2023 16:10:00 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Mar 2023 16:09:57 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8832ce2a-c436-11ed-b464-930f4c7d94ae
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=
	1678997399; x=1679083799; bh=hzgNRXzays8HvxzuC82pt71uH+GRCDcVkOp
	+L80q5pE=; b=ihVK6fz/CT5vRdBFMFFtrNYM2rqXeezl79xT0eHjp5Emx+AHnsn
	gWoTLZk7t3lVgp58UH1eFBVJsXcPbqjXsb7zOfuD5BlroxrJoNDxNbbAW+psAeds
	LaC9leznag0EYSKYqfpOlnwhI9T2xRPdFfxqsTdQ+1RjImP4BjjG6CUMI7PxnrHT
	jRRv/kXfsaUR9m757uwBPtygdTySDA9NV+cSElQ57GUckK4GGS9g730+p1s/yu+f
	Dcr79tdWV6oKAa/gdYNaJ3GyJAumx7xMR+YYelZJBnEyQQAKdBPA5g5v5jAAmE0o
	Ljn2zO7Bb+WhB/I9BI75uFGdQ3OA96hMvow==
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=fm2; t=1678997399; x=1679083799; bh=hzgNRXzays8Hv
	xzuC82pt71uH+GRCDcVkOp+L80q5pE=; b=Q/JszpKzseDbxeFNH3armMHRN6u1Z
	6adonN0HN65MU8iJKaTUeAEksu/K8UsPw9z0jomrvPDuZJG48uBPEk9lQiEFCohc
	dtOGu/VolBrbgN8Wr6+b/MgZOCG9GBme/En0QdkJL/NVOYSKnH/HL/GsjemY7WRA
	UMityXv51X4h4qTNkaEMGDovCQND8lY1gEDxJ7QB+TjbTynb2vMYMxL9Ccj9jxf8
	+pMDBW2PC1pqX/RLlT8VokKBKP/7eqSVT4XT7IOUL8bzCqfQnp/FLySXvt/b2JvY
	Ex2XuF688LBUyIA1qy9fSOjNiS4TmedjzIkvNzDfPBosJ0l1/qvw7C0Iw==
X-ME-Sender: <xms:lncTZN_2Y-S02VJ9Vtl_jPMEYdoj2xHXOswCli1ZJPUWXC3SZ3UK5A>
    <xme:lncTZBuT5k08CcsAgTJYJgFoFThkm1_GwkuzAF2-6foxC8EsOw4WYlj-8IlLEzrqO
    1zUiJBtQi4bsA>
X-ME-Received: <xmr:lncTZLA8m1FGyv5ryShheyGtQUBTkmk-5sTgTwQ7ib73XhfkOh285YwsdVnQgXEWKq4CKL3OHSsA_JEQM9nf0PCtFxsRsfwfNME>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeftddgudefiecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    udelteefvefhfeehieetleeihfejhfeludevteetkeevtedtvdegueetfeejudenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:lncTZBdjwg6gQaZy7sRZ4GIQAnR9mS8B5tKNBKAVQdX1yt5rGyCWXQ>
    <xmx:lncTZCOfQnWAuL_J3NsPf7vOh4VyhdaJepJwx8tSC78wd2EeQL6Cdw>
    <xmx:lncTZDnQgVcLoqmzcNwU87Wf714WxDJ1cLmKBjrY_zkkOdHAXroTUw>
    <xmx:l3cTZLZNR_jvrtbZwcW_qiHm1XEldpkZ6Tcyx4zd13t3mpWct-4lDQ>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 16 Mar 2023 21:09:54 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH v2 5/7] tools: Use -s for python shebangs
Message-ID: <ZBN3k6FvvHvfeWxi@mail-itl>
References: <20230314141520.3652451-6-andrew.cooper3@citrix.com>
 <20230316193744.1077012-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="yTo0yZdKwJ/gMcU5"
Content-Disposition: inline
In-Reply-To: <20230316193744.1077012-1-andrew.cooper3@citrix.com>


--yTo0yZdKwJ/gMcU5
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 16 Mar 2023 21:09:54 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Bernhard Kaindl <bernhard.kaindl@citrix.com>
Subject: Re: [PATCH v2 5/7] tools: Use -s for python shebangs

On Thu, Mar 16, 2023 at 07:37:44PM +0000, Andrew Cooper wrote:
> This is mandated by the Fedora packaging guidelines because it is a secur=
ity
> vulnerability otherwise in suid scripts.  While Xen doesn't have suid scr=
ipts,
> it's a very good idea generally, because it prevents the users local pyth=
on
> environment interfering from system packaged scripts.
>=20
> pygrub is the odd-script-out, being installed by distutils rather than
> manually with INSTALL_PYTHON_PROG.  distutils has no nice way of editing =
the
> shebang, so arrange to use INSTALL_PYTHON_PROG on pygrub too.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Wei Liu <wl@xen.org>
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>
> CC: Bernhard Kaindl <bernhard.kaindl@citrix.com>
>=20
> v2:
>  * Remove accidental setuputils dependency.

=2E.. and tools/python/setup.py doesn't install any scripts, so it isn't
relevant there.

Acked-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>

> ---
>  tools/Rules.mk        | 2 +-
>  tools/pygrub/Makefile | 4 +++-
>  tools/pygrub/setup.py | 1 -
>  3 files changed, 4 insertions(+), 3 deletions(-)
>=20
> diff --git a/tools/Rules.mk b/tools/Rules.mk
> index 6e135387bd7e..18cf83f5be83 100644
> --- a/tools/Rules.mk
> +++ b/tools/Rules.mk
> @@ -179,7 +179,7 @@ CFLAGS +=3D $(CFLAGS-y)
>  CFLAGS +=3D $(EXTRA_CFLAGS_XEN_TOOLS)
> =20
>  INSTALL_PYTHON_PROG =3D \
> -	$(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH)" $(INSTALL_PROG)
> +	$(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH) -s" $(INSTALL_PRO=
G)
> =20
>  %.opic: %.c
>  	$(CC) $(CPPFLAGS) -DPIC $(CFLAGS) $(CFLAGS_$*.opic) -fPIC -c -o $@ $< $=
(APPEND_CFLAGS)
> diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
> index 29ad0513212f..4963bc89c6ed 100644
> --- a/tools/pygrub/Makefile
> +++ b/tools/pygrub/Makefile
> @@ -18,8 +18,10 @@ build:
>  .PHONY: install
>  install: all
>  	$(INSTALL_DIR) $(DESTDIR)/$(bindir)
> +	$(INSTALL_DIR) $(DESTDIR)/$(LIBEXEC_BIN)
>  	$(setup.py) install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
> -		--root=3D"$(DESTDIR)" --install-scripts=3D$(LIBEXEC_BIN) --force
> +		--root=3D"$(DESTDIR)" --force
> +	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(LIBEXEC_BIN)/pygrub
>  	set -e; if [ $(bindir) !=3D $(LIBEXEC_BIN) -a \
>  	             "`readlink -f $(DESTDIR)/$(bindir)`" !=3D \
>  	             "`readlink -f $(LIBEXEC_BIN)`" ]; then \
> diff --git a/tools/pygrub/setup.py b/tools/pygrub/setup.py
> index 0e4e3d02d372..502aa4df2dae 100644
> --- a/tools/pygrub/setup.py
> +++ b/tools/pygrub/setup.py
> @@ -23,7 +23,6 @@ setup(name=3D'pygrub',
>        author_email=3D'katzj@redhat.com',
>        license=3D'GPL',
>        package_dir=3D{'grub': 'src', 'fsimage': 'src'},
> -      scripts =3D ["src/pygrub"],
>        packages=3Dpkgs,
>        ext_modules =3D [ xenfsimage ]
>        )
> --=20
> 2.30.2
>=20

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQTd5IACgkQ24/THMrX
1ywuZwf+Mqr8JmKlewM3orz74wqFy79BJencQwPD7pjtvvbDii7sY/Pfjo59gPaR
cKD+hgFJ946HJyk43OYoYUoXLIo2h3NIjHDrhNSD8MJ5ExNaZWcsc9E/5ZEj7jHz
FYLwuEtEL/e53zOLfCiMkQOalX5EqfbCf3t0GXzwH8tES9UZOZfvyGDgsmjvVekP
ZJ/SxUwReU062FPsSDIZUGfaPWhoeziDGO2dg/AP62c+Vlfu50PVPDjfMUQ+g3+Y
MVzJeOA06Id7/QlhG2dmXnjzMnzNeCggDjDBOpfTXfRbKasb2Gm0SgWwIbzdiwIp
+9jZM9VizhcQQ5tio4JNcuu8BxGjzw==
=p9Xh
-----END PGP SIGNATURE-----

--yTo0yZdKwJ/gMcU5--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 20:14:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 20:14:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510823.789242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pctyx-0007tN-0j; Thu, 16 Mar 2023 20:13:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510823.789242; Thu, 16 Mar 2023 20:13:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pctyw-0007tG-SO; Thu, 16 Mar 2023 20:13:50 +0000
Received: by outflank-mailman (input) for mailman id 510823;
 Thu, 16 Mar 2023 20:13: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 1pctyw-0007t6-54; Thu, 16 Mar 2023 20:13: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 1pctyw-0001Ej-2j; Thu, 16 Mar 2023 20:13: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 1pctyv-0001lZ-PY; Thu, 16 Mar 2023 20:13:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pctyv-0005y1-On; Thu, 16 Mar 2023 20:13:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RuTbmki+StEXk0kiJ5ZivpWd2SUSlEq0RuEB8h3QKZU=; b=1W2HZu3Sao8PNgxqi97+tjCNwY
	Hiztp75YvqTn8ybxuGbPRpCKOQo886Ax+u4m3TArA6sAfqXWet0AcW1rR2osYjKoK+ceC/dpq5MR0
	UtTChM6DJhWLuYkHYupodrZ/KpZBhCD7QrZBCx0ReC0y3C0QXXIwJEWZZGRaOnZLXndE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179668-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179668: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qcow2: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-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-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-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd: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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b2ea81d2b935474cf27a76b4aa143ae897e82457
X-Osstest-Versions-That:
    xen=de819c96c863467b6e625cd7197d17682f6c6122
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Mar 2023 20:13:49 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine       6 xen-install         fail pass in 179694-retest
 test-amd64-i386-pair        11 xen-install/dst_host fail pass in 179694-retest
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail pass in 179694-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179633
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179633
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179633
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179633
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179633
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179633
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179633
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179633
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179633
 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-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b2ea81d2b935474cf27a76b4aa143ae897e82457
baseline version:
 xen                  de819c96c863467b6e625cd7197d17682f6c6122

Last test of basis   179633  2023-03-14 21:38:53 Z    1 days
Failing since        179649  2023-03-15 13:29:34 Z    1 days    2 attempts
Testing same since   179668  2023-03-16 06:30:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrei Cherechesu <andrei.cherechesu@nxp.com>
  Anthony PERARD <anthony.perard@citrix.com>
  George Dunlap <george.dunlap@citrix.com>
  Jason Andryuk <jandryuk@gmail.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 test-amd64-i386-examine                                      fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 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                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   de819c96c8..b2ea81d2b9  b2ea81d2b935474cf27a76b4aa143ae897e82457 -> master


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 22:03:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 22:03:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510833.789264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcvhG-0005gu-3S; Thu, 16 Mar 2023 22:03:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510833.789264; Thu, 16 Mar 2023 22: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 1pcvhG-0005gn-0Y; Thu, 16 Mar 2023 22:03:42 +0000
Received: by outflank-mailman (input) for mailman id 510833;
 Thu, 16 Mar 2023 22:03: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=3dKy=7I=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1pcvhE-0005gh-Ed
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 22:03:40 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 64c87b09-c446-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 23:03:35 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32GM3Mdl057698
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Thu, 16 Mar 2023 18:03:28 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32GM3MC0057697;
 Thu, 16 Mar 2023 15:03:22 -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: 64c87b09-c446-11ed-b464-930f4c7d94ae
Date: Thu, 16 Mar 2023 15:03:22 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [BUG] x2apic broken with current AMD hardware
Message-ID: <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
 <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Mon, Mar 13, 2023 at 08:01:02AM +0100, Jan Beulich wrote:
> On 11.03.2023 01:09, Elliott Mitchell wrote:
> > On Thu, Mar 09, 2023 at 10:03:23AM +0100, Jan Beulich wrote:
> >>
> >> In any event you will want to collect a serial log at maximum verbosity.
> >> It would also be of interest to know whether turning off the IOMMU avoids
> >> the issue as well (on the assumption that your system has less than 255
> >> CPUs).
> > 
> > I think I might have figured out the situation in a different fashion.
> > 
> > I was taking a look at the BIOS manual for this motherboard and noticed
> > a mention of a "Local APIC Mode" setting.  Four values are listed
> > "Compatibility", "xAPIC", "x2APIC", and "Auto".
> > 
> > That is the sort of setting I likely left at "Auto" and that may well
> > result in x2 functionality being disabled.  Perhaps the x2APIC
> > functionality on AMD is detecting whether the hardware is present, and
> > failing to test whether it has been enabled?  (could be useful to output
> > a message suggesting enabling the hardware feature)
> 
> Can we please move to a little more technical terms here? What is "present"
> and "enabled" in your view? I don't suppose you mean the CPUID bit (which
> we check) and the x2APIC-mode-enable one (which we drive as needed). It's
> also left unclear what the four modes of BIOS operation evaluate to. Even
> if we knew that, overriding e.g. "Compatibility" (which likely means some
> form of "disabled" / "hidden") isn't normally an appropriate thing to do.
> In "Auto" mode Xen likely should work - the only way I could interpret the
> the other modes are "xAPIC" meaning no x2APIC ACPI tables entries (and
> presumably the CPUID bit also masked), "x2APIC" meaning x2APIC mode pre-
> enabled by firmware, and "Auto" leaving it to the OS to select. Yet that's
> speculation on my part ...

I provided the information I had discovered.  There is a setting for this
motherboard (likely present on some similar motherboards) which /may/
effect the issue.  I doubt I've tried "compatibility", but none of the
values I've tried have gotten the system to boot without "x2apic=false"
on Xen's command-line.

When setting to "x2APIC" just after "(XEN) AMD-Vi: IOMMU Extended Features:"
I see the line "(XEN) - x2APIC".  Later is the line
"(XEN) x2APIC mode is already enabled by BIOS."  I'll guess "Auto"
leaves the x2APIC turned off since neither line is present.

Both cases the line "(XEN) Switched to APIC driver x2apic_cluster" is
present (so perhaps "Auto" merely doesn't activate it).

Appears error_interrupt() needs locking or some concurrency handling
mechanism since the last error is jumbled.  With the setting "x2APIC"
I get a bunch of:
"(XEN) APIC error on CPU#: 00(08)(XEN) APIC error on CPU#: 00(08)"
(apparently one for each core)
Followed by "Receive accept error, Receive accept error," (again,
apparently one for each core).  Then a bunch of newlines (same pattern).

With the setting "auto" the last message is a series of
"(XEN) CPU#: No irq handler for vector ## (IRQ -2147483648, LAPIC)" on
2 different cores.  Rather more of the lines were from one core, the
vector value varied some.

Notable both sets of final error messages appeared after the Domain 0
kernel thought it had been operating for >30 seconds.  Lack of
response to interrupt generating events (pressing keys on USB keyboard)
suggests interrupts weren't getting through.


With "x2apic=false" error messages similar to the "Local APIC Mode"
of "x2APIC" appear >45 seconds after Domain 0 kernel start.  Of note
first "(XEN) APIC error on CPU#: 00(08)(XEN) APIC error on CPU#: 00(08)"
appears for all cores with "Receive accept error,".

Yet later a variation on this message starts appearing:
"(XEN) APIC error on CPU#: 08(08)(XEN) APIC error on CPU#: 08(08)"
this one appears multiple times.


If one was to want full logs, the lack of secure communications channel
would be an issue (since filtering out identifying data is difficult).
DSA-3072 with SHA2-256 is now less than wonderful, but DSA-1024 and
ElGamal 2048 are right out.


-- 
(\___(\___(\______          --=> 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 Thu Mar 16 22:59:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 22:59:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510836.789274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcwZW-0004AS-Bn; Thu, 16 Mar 2023 22:59:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510836.789274; Thu, 16 Mar 2023 22: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 1pcwZW-0004AL-7m; Thu, 16 Mar 2023 22:59:46 +0000
Received: by outflank-mailman (input) for mailman id 510836;
 Thu, 16 Mar 2023 22:59: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=oCnM=7I=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcwZV-0004AF-6Q
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 22:59:45 +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 3b9da5a3-c44e-11ed-b464-930f4c7d94ae;
 Thu, 16 Mar 2023 23:59:42 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id 8B65CCE1EB3;
 Thu, 16 Mar 2023 22:59:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E019EC433EF;
 Thu, 16 Mar 2023 22:59: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: 3b9da5a3-c44e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679007578;
	bh=JyqaVOJoBQLZqRQvW8V5F5j9HdWRvMZcmtT7HGa2igU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Q4In6wDl9HwGvsr19AJL+F23rKFh4iTEakxOoD6JLjjfjcWJ8FRR3iDRcksMZwvdg
	 sOK1SxhQiE2vuURbxw88dCopdpI01KBIOfrRjptmgHRTueLiBxqwjVTf3Dvrcs/yXy
	 pQuS3CjRU8PvCkbp6VXsM98rTcNu7rvUkuMjbtyx5ck8+wvDG5J1DZ54qdRpZH0cv+
	 hc8iicA2wZDFsydwyqViDAb/iB+yUqgmPlgIJj9l2JSUA6wGuTzKLvwCSNpsUGMAJz
	 ho/NYEn2JI9QUpRzDpVKdKHucShmc1frR+aTbPTMufxVeGC2uovUlrJgZo5YtjQwBn
	 EFzz5bBp9dqsQ==
Date: Thu, 16 Mar 2023 15:59:31 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Michal Orzel <michal.orzel@amd.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2] xen/console: Skip switching serial input to non
 existing domains
In-Reply-To: <d9654392-ce4b-07b6-9be0-7a6d4230c287@suse.com>
Message-ID: <alpine.DEB.2.22.394.2303161559250.3359@ubuntu-linux-20-04-desktop>
References: <20230316102635.6497-1-michal.orzel@amd.com> <d9654392-ce4b-07b6-9be0-7a6d4230c287@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 Mar 2023, Jan Beulich wrote:
> On 16.03.2023 11:26, Michal Orzel wrote:
> > --- a/xen/drivers/char/console.c
> > +++ b/xen/drivers/char/console.c
> > @@ -490,7 +490,24 @@ static void switch_serial_input(void)
> >      }
> >      else
> >      {
> > -        console_rx++;
> > +        unsigned int next_rx = console_rx + 1;
> > +
> > +        /* Skip switching serial input to non existing domains */
> > +        while ( next_rx < max_init_domid + 1 )
> > +        {
> > +            struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
> > +
> > +            if ( d )
> > +            {
> > +                rcu_unlock_domain(d);
> > +                break;
> > +            }
> > +
> > +            next_rx++;
> > +        }
> > +
> > +        console_rx = next_rx;
> > +
> >          printk("*** Serial input to DOM%d", console_rx - 1);
> >      }
> 
> While at the first glance (when you sent it in reply to v1) it looked okay,
> I'm afraid it really isn't: Please consider what happens when the last of
> the DomU-s doesn't exist anymore. (You don't really check whether it still
> exists, because the range check comes ahead of the existence one.) In that
> case you want to move from second-to-last to Xen. I expect the entire
> if/else construct wants to be inside the loop.

I don't think we need another loop, just a check if we found a domain or
not. E.g.:


    unsigned int next_rx = console_rx + 1;

    /* Skip switching serial input to non existing domains */
    while ( next_rx < max_init_domid + 1 )
    {
        struct domain *d = rcu_lock_domain_by_id(next_rx - 1);

        if ( d )
        {
            rcu_unlock_domain(d);
            console_rx = next_rx;
            printk("*** Serial input to DOM%d", console_rx - 1);
            break;
        }

        next_rx++;
    }

    /* no domain found */
    console_rx = 0;
    printk("*** Serial input to Xen");


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 23:10:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 23:10:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510838.789284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcwjJ-0006Kr-AS; Thu, 16 Mar 2023 23:09:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510838.789284; Thu, 16 Mar 2023 23:09: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 1pcwjJ-0006Kk-6S; Thu, 16 Mar 2023 23:09:53 +0000
Received: by outflank-mailman (input) for mailman id 510838;
 Thu, 16 Mar 2023 23:09: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=oCnM=7I=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcwjI-0006Ke-Fb
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 23:09:52 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6778a82-c44f-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 00:09:50 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 9A6A562153;
 Thu, 16 Mar 2023 23:09:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7ABDC433EF;
 Thu, 16 Mar 2023 23:09: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: a6778a82-c44f-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679008188;
	bh=w6jBwS1Um7mLlpoN+a+eGG2DalmQykD8t+mghS5Gsj8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Xn/mhMMsBa9jUDc41ni0DMUUt4rDxfMz2bHiXfw1XOBLWhlw+tv8t3tkSrUwFpzah
	 F6yRYXxBoF/7NL4kJm7B7P6a+/rJg9wCMKkeddzgV3I3qHJ9pT3iSq+tgz8wl8Xao9
	 EzFKSOr2Sg64KMAgUQ3mWgN0+rNM6KVcgflFqSJ/Ucm2c6D0hIxCfeJ9qxxM2o36FQ
	 RbwxQjqrlHHlQYAoMD3qrxYbz5WjR8d+EK4phi4hERBwPm5Ed7Esg6/28AqzgONA8P
	 oCmRbfB8rtZTOgM2VP0L/d4Ou9G/tVshG1zAD4c39viBP2ANCss0BD2ZrmJeQfKD9n
	 j4Q+hcETWJIPQ==
Date: Thu, 16 Mar 2023 16:09:44 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Juergen Gross <jgross@suse.com>
cc: Alex Deucher <alexdeucher@gmail.com>, Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Honglei Huang <honglei1.huang@amd.com>, amd-gfx@lists.freedesktop.org, 
    dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, 
    Stewart Hildebrand <Stewart.Hildebrand@amd.com>, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    Huang Rui <ray.huang@amd.com>, Chen Jiqian <Jiqian.Chen@amd.com>, 
    Xenia Ragiadakou <burzalodowa@gmail.com>, 
    Alex Deucher <alexander.deucher@amd.com>, xen-devel@lists.xenproject.org, 
    Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
    Julia Zhang <julia.zhang@amd.com>, 
    =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
In-Reply-To: <d256a967-f50e-2e19-1985-aa9cfc0e8b18@suse.com>
Message-ID: <alpine.DEB.2.22.394.2303161603200.3359@ubuntu-linux-20-04-desktop>
References: <20230312120157.452859-1-ray.huang@amd.com> <20230312120157.452859-2-ray.huang@amd.com> <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com> <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop> <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com>
 <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop> <5e22a45d-6f12-da9b-94f6-3112a30e8574@suse.com> <CADnq5_PH9ZqDqpPES74V3fB3NVpaexDoGTyu_+-zoux5vgagyg@mail.gmail.com> <dcb54275-b21f-a837-76bb-e19e331a0666@suse.com>
 <CADnq5_PpCWrZzQdE_X6ZnuNU3ktVeC6TbmE5vq3K6rCAdB8GTg@mail.gmail.com> <d256a967-f50e-2e19-1985-aa9cfc0e8b18@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-549136083-1679007957=:3359"
Content-ID: <alpine.DEB.2.22.394.2303161606140.3359@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-549136083-1679007957=:3359
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2303161606141.3359@ubuntu-linux-20-04-desktop>

On Thu, 16 Mar 2023, Juergen Gross wrote:
> On 16.03.23 14:53, Alex Deucher wrote:
> > On Thu, Mar 16, 2023 at 9:48 AM Juergen Gross <jgross@suse.com> wrote:
> > > 
> > > On 16.03.23 14:45, Alex Deucher wrote:
> > > > On Thu, Mar 16, 2023 at 3:50 AM Jan Beulich <jbeulich@suse.com> wrote:
> > > > > 
> > > > > On 16.03.2023 00:25, Stefano Stabellini wrote:
> > > > > > On Wed, 15 Mar 2023, Jan Beulich wrote:
> > > > > > > On 15.03.2023 01:52, Stefano Stabellini wrote:
> > > > > > > > On Mon, 13 Mar 2023, Jan Beulich wrote:
> > > > > > > > > On 12.03.2023 13:01, Huang Rui wrote:
> > > > > > > > > > Xen PVH is the paravirtualized mode and takes advantage of
> > > > > > > > > > hardware
> > > > > > > > > > virtualization support when possible. It will using the
> > > > > > > > > > hardware IOMMU
> > > > > > > > > > support instead of xen-swiotlb, so disable swiotlb if
> > > > > > > > > > current domain is
> > > > > > > > > > Xen PVH.
> > > > > > > > > 
> > > > > > > > > But the kernel has no way (yet) to drive the IOMMU, so how can
> > > > > > > > > it get
> > > > > > > > > away without resorting to swiotlb in certain cases (like I/O
> > > > > > > > > to an
> > > > > > > > > address-restricted device)?
> > > > > > > > 
> > > > > > > > I think Ray meant that, thanks to the IOMMU setup by Xen, there
> > > > > > > > is no
> > > > > > > > need for swiotlb-xen in Dom0. Address translations are done by
> > > > > > > > the IOMMU
> > > > > > > > so we can use guest physical addresses instead of machine
> > > > > > > > addresses for
> > > > > > > > DMA. This is a similar case to Dom0 on ARM when the IOMMU is
> > > > > > > > available
> > > > > > > > (see include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect, the
> > > > > > > > corresponding
> > > > > > > > case is XENFEAT_not_direct_mapped).
> > > > > > > 
> > > > > > > But how does Xen using an IOMMU help with, as said,
> > > > > > > address-restricted
> > > > > > > devices? They may still need e.g. a 32-bit address to be
> > > > > > > programmed in,
> > > > > > > and if the kernel has memory beyond the 4G boundary not all I/O
> > > > > > > buffers
> > > > > > > may fulfill this requirement.
> > > > > > 
> > > > > > In short, it is going to work as long as Linux has guest physical
> > > > > > addresses (not machine addresses, those could be anything) lower
> > > > > > than
> > > > > > 4GB.
> > > > > > 
> > > > > > If the address-restricted device does DMA via an IOMMU, then the
> > > > > > device
> > > > > > gets programmed by Linux using its guest physical addresses (not
> > > > > > machine
> > > > > > addresses).
> > > > > > 
> > > > > > The 32-bit restriction would be applied by Linux to its choice of
> > > > > > guest
> > > > > > physical address to use to program the device, the same way it does
> > > > > > on
> > > > > > native. The device would be fine as it always uses Linux-provided
> > > > > > <4GB
> > > > > > addresses. After the IOMMU translation (pagetable setup by Xen), we
> > > > > > could get any address, including >4GB addresses, and that is
> > > > > > expected to
> > > > > > work.
> > > > > 
> > > > > I understand that's the "normal" way of working. But whatever the
> > > > > swiotlb
> > > > > is used for in baremetal Linux, that would similarly require its use
> > > > > in
> > > > > PVH (or HVM) aiui. So unconditionally disabling it in PVH would look
> > > > > to
> > > > > me like an incomplete attempt to disable its use altogether on x86.
> > > > > What
> > > > > difference of PVH vs baremetal am I missing here?
> > > > 
> > > > swiotlb is not usable for GPUs even on bare metal.  They often have
> > > > hundreds or megs or even gigs of memory mapped on the device at any
> > > > given time.  Also, AMD GPUs support 44-48 bit DMA masks (depending on
> > > > the chip family).
> > > 
> > > But the swiotlb isn't per device, but system global.
> > 
> > Sure, but if the swiotlb is in use, then you can't really use the GPU.
> > So you get to pick one.
> 
> The swiotlb is used only for buffers which are not within the DMA mask of a
> device (see dma_direct_map_page()). So an AMD GPU supporting a 44 bit DMA mask
> won't use the swiotlb unless you have a buffer above guest physical address of
> 16TB (so basically never).
> 
> Disabling swiotlb in such a guest would OTOH mean, that a device with only
> 32 bit DMA mask passed through to this guest couldn't work with buffers
> above 4GB.
> 
> I don't think this is acceptable.

>From the Xen subsystem in Linux point of view, the only thing we need to
do is to make sure *not* to enable swiotlb_xen (yes "swiotlb_xen", not
the global swiotlb) on PVH because it is not needed anyway.

I think we should leave the global "swiotlb" setting alone. The global
swiotlb is not relevant to Xen anyway, and surely baremetal Linux has to
have a way to deal with swiotlb/GPU incompatibilities.

We just have to avoid making things worse on Xen, and for that we just
need to avoid unconditionally enabling swiotlb-xen. If the Xen subsystem
doesn't enable swiotlb_xen/swiotlb, and no other subsystem enables
swiotlb, then we have a good Linux configuration capable of handling the
GPU properly.

Alex, please correct me if I am wrong. How is x86_swiotlb_enable set to
false on native (non-Xen) x86?
--8323329-549136083-1679007957=:3359--


From xen-devel-bounces@lists.xenproject.org Thu Mar 16 23:20:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Mar 2023 23:20:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510840.789293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcwt3-0008DA-7k; Thu, 16 Mar 2023 23:19:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510840.789293; Thu, 16 Mar 2023 23: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 1pcwt3-0008D3-4Q; Thu, 16 Mar 2023 23:19:57 +0000
Received: by outflank-mailman (input) for mailman id 510840;
 Thu, 16 Mar 2023 23:19:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oCnM=7I=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcwt2-0008Cv-5I
 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2023 23:19:56 +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 0d902a20-c451-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 00:19:52 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id EF99462159;
 Thu, 16 Mar 2023 23:19:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B881DC433EF;
 Thu, 16 Mar 2023 23:19: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: 0d902a20-c451-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679008790;
	bh=0Ui+QFNbO4bXSW38TRMdv5wxuQnQ6ojk72/vfky1yRQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=T4MliAvQikyssleoqrLDNxKmApq/pL1gylOsBwb5q3IZysFSfTr1eaQmUql5eVJ0h
	 eFkEuxS2YQs8ewKPfw4GAKmkmjn1MnVCM4sEHfBs4RpqXH23mSFKbMqBqiy2BTnomD
	 agP3oZqGkuyYE+F251fKEz5H7YjTj241PCAZK45U0dS962/Caoj37LEoG0oX2j4bLC
	 LU25Mg1FoS/byMv3V6H9SgrQiG+DJkY0AmcWdwH+yOfi4Bji08g7E3SUh8sG70KPSd
	 6nMhyLfCqf5WBSaRr7JoBBQSk43prGSDNRagWKiV2VZQ7ibDmdk1nez8Z7+FuCyKFF
	 K/o7aqd2KRKDg==
Date: Thu, 16 Mar 2023 16:19:47 -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>, 
    Stefano Stabellini <sstabellini@kernel.org>, Huang Rui <ray.huang@amd.com>, 
    Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, 
    Alex Deucher <alexander.deucher@amd.com>, 
    =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to
 gsi
In-Reply-To: <df607690-0bfb-94a3-fac6-5e20f183dc20@suse.com>
Message-ID: <alpine.DEB.2.22.394.2303161611220.3359@ubuntu-linux-20-04-desktop>
References: <20230312075455.450187-1-ray.huang@amd.com> <20230312075455.450187-7-ray.huang@amd.com> <ZBHz7PpUbKM69Xxe@Air-de-Roger> <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop> <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com>
 <ZBLg8WB8HCoZvwz5@Air-de-Roger> <df607690-0bfb-94a3-fac6-5e20f183dc20@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-2083778631-1679008300=:3359"
Content-ID: <alpine.DEB.2.22.394.2303161612221.3359@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-2083778631-1679008300=:3359
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2303161612222.3359@ubuntu-linux-20-04-desktop>

On Thu, 16 Mar 2023, Jan Beulich wrote:
> On 16.03.2023 10:27, Roger Pau Monné wrote:
> > On Thu, Mar 16, 2023 at 09:55:03AM +0100, Jan Beulich wrote:
> >> On 16.03.2023 01:44, Stefano Stabellini wrote:
> >>> On Wed, 15 Mar 2023, Roger Pau Monné wrote:
> >>>> On Sun, Mar 12, 2023 at 03:54:55PM +0800, Huang Rui wrote:
> >>>>> From: Chen Jiqian <Jiqian.Chen@amd.com>
> >>>>>
> >>>>> Use new xc_physdev_gsi_from_irq to get the GSI number
> >>>>>
> >>>>> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> >>>>> Signed-off-by: Huang Rui <ray.huang@amd.com>
> >>>>> ---
> >>>>>  tools/libs/light/libxl_pci.c | 1 +
> >>>>>  1 file changed, 1 insertion(+)
> >>>>>
> >>>>> diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
> >>>>> index f4c4f17545..47cf2799bf 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);
> >>>>
> >>>> This is just a shot in the dark, because I don't really have enough
> >>>> context to understand what's going on here, but see below.
> >>>>
> >>>> I've taken a look at this on my box, and it seems like on
> >>>> dom0 the value returned by /sys/bus/pci/devices/SBDF/irq is not
> >>>> very consistent.
> >>>>
> >>>> If devices are in use by a driver the irq sysfs node reports either
> >>>> the GSI irq or the MSI IRQ (in case a single MSI interrupt is
> >>>> setup).
> >>>>
> >>>> It seems like pciback in Linux does something to report the correct
> >>>> value:
> >>>>
> >>>> root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
> >>>> 74
> >>>> root@lcy2-dt107:~# xl pci-assignable-add 00:14.0
> >>>> root@lcy2-dt107:~# cat /sys/bus/pci/devices/0000\:00\:14.0/irq
> >>>> 16
> >>>>
> >>>> As you can see, making the device assignable changed the value
> >>>> reported by the irq node to be the GSI instead of the MSI IRQ, I would
> >>>> think you are missing something similar in the PVH setup (some pciback
> >>>> magic)?
> >>>>
> >>>> Albeit I have no idea why you would need to translate from IRQ to GSI
> >>>> in the way you do in this and related patches, because I'm missing the
> >>>> context.
> >>>
> >>> As I mention in another email, also keep in mind that we need QEMU to
> >>> work and QEMU calls:
> >>> 1) xc_physdev_map_pirq (this is also called from libxl)
> >>> 2) xc_domain_bind_pt_pci_irq
> >>>
> >>>
> >>> In this case IRQ != GSI (IRQ == 112, GSI == 28). Sysfs returns the IRQ
> >>> in Linux (112), but actually xc_physdev_map_pirq expects the GSI, not
> >>> the IRQ. If you look at the implementation of xc_physdev_map_pirq,
> >>> you'll the type is "MAP_PIRQ_TYPE_GSI" and also see the check in Xen
> >>> xen/arch/x86/irq.c:allocate_and_map_gsi_pirq:
> >>>
> >>>     if ( index < 0 || index >= nr_irqs_gsi )
> >>>     {
> >>>         dprintk(XENLOG_G_ERR, "dom%d: map invalid irq %d\n", d->domain_id,
> >>>                 index);
> >>>         return -EINVAL;
> >>>     }
> >>>
> >>> nr_irqs_gsi < 112, and the check will fail.
> >>>
> >>> So we need to pass the GSI to xc_physdev_map_pirq. To do that, we need
> >>> to discover the GSI number corresponding to the IRQ number.
> >>
> >> That's one possible approach. Another could be (making a lot of assumptions)
> >> that a PVH Dom0 would pass in the IRQ it knows for this interrupt and Xen
> >> then translates that to GSI, knowing that PVH doesn't have (host) GSIs
> >> exposed to it.
> > 
> > I don't think Xen can translate a Linux IRQ to a GSI, as that's a
> > Linux abstraction Xen has no part in.
> 
> Well, I was talking about whatever Dom0 and Xen use to communicate. I.e.
> if at all I might have meant pIRQ, but now that you mention ...
> 
> > The GSIs exposed to a PVH dom0 are the native (host) ones, as we
> > create an emulated IO-APIC topology that mimics the physical one.
> > 
> > Question here is why Linux ends up with a IRQ != GSI, as it's my
> > understanding on Linux GSIs will always be identity mapped to IRQs, and
> > the IRQ space up to the last possible GSI is explicitly reserved for
> > this purpose.
> 
> ... this I guess pIRQ was a PV-only concept, and it really ought to be
> GSI in the PVH case. So yes, it then all boils down to that Linux-
> internal question.

Excellent question but we'll have to wait for Ray as he is the one with
access to the hardware. But I have this data I can share in the
meantime:

[    1.260378] IRQ to pin mappings:
[    1.260387] IRQ1 -> 0:1
[    1.260395] IRQ2 -> 0:2
[    1.260403] IRQ3 -> 0:3
[    1.260410] IRQ4 -> 0:4
[    1.260418] IRQ5 -> 0:5
[    1.260425] IRQ6 -> 0:6
[    1.260432] IRQ7 -> 0:7
[    1.260440] IRQ8 -> 0:8
[    1.260447] IRQ9 -> 0:9
[    1.260455] IRQ10 -> 0:10
[    1.260462] IRQ11 -> 0:11
[    1.260470] IRQ12 -> 0:12
[    1.260478] IRQ13 -> 0:13
[    1.260485] IRQ14 -> 0:14
[    1.260493] IRQ15 -> 0:15
[    1.260505] IRQ106 -> 1:8
[    1.260513] IRQ112 -> 1:4
[    1.260521] IRQ116 -> 1:13
[    1.260529] IRQ117 -> 1:14
[    1.260537] IRQ118 -> 1:15
[    1.260544] .................................... done.


And I think Ray traced the point in Linux where Linux gives us an IRQ ==
112 (which is the one causing issues):

__acpi_register_gsi->
        acpi_register_gsi_ioapic->
                mp_map_gsi_to_irq->
                        mp_map_pin_to_irq->
                                __irq_resolve_mapping()

        if (likely(data)) {
                desc = irq_data_to_desc(data);
                if (irq)
                        *irq = data->irq;
                /* this IRQ is 112, IO-APIC-34 domain */
        }
--8323329-2083778631-1679008300=:3359--


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 01:05:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 01:05:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510848.789316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcyX8-0004LA-Ch; Fri, 17 Mar 2023 01:05:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510848.789316; Fri, 17 Mar 2023 01: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 1pcyX8-0004L3-8V; Fri, 17 Mar 2023 01:05:26 +0000
Received: by outflank-mailman (input) for mailman id 510848;
 Fri, 17 Mar 2023 01:05: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=mGfD=7J=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcyX7-0004Kx-9p
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 01:05:25 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cac43cd0-c45f-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 02:05:23 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 9DB02B819C2;
 Fri, 17 Mar 2023 01:05:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9122DC433EF;
 Fri, 17 Mar 2023 01:05: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: cac43cd0-c45f-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679015120;
	bh=wXarWTQB5juKEoZnevct5mEUQxDsKZpOONGwotVBXOk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=l9l93fzhuTjTV2LavV2CSJ7+BrI4BCCKDFt/50eOVTJtBVrePVEyx5qULd3IJAIv3
	 ckSzrc3z7Oxxr+GCgIaS5/CUhn0t1hWIwr4ggHyA1t6LBefKPMw3Pb0Vwh4v0rIxaU
	 aNRgt/iSrLU4OHgyC3Nll8L7A8n/3I9jjFFOjcWSvqx2wYBD82lSAdPUGc2UCkXiSO
	 io/G1biTwcc4nKCV8tSrDNzWiTuFmgGSrP2Z4wNr2babxNGFh0dMHRxWmyjTNIrAyT
	 H2kfcbdoBHaiHu12i0ARuwZ6C4lnfVl68TnHCVjhgfjrUgTiPLnkCWKqBf9M8n/jaS
	 bD27A8H15kT5g==
Date: Thu, 16 Mar 2023 18:05:18 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: "jiamei.xie" <jiamei.xie@arm.com>, xen-devel@lists.xenproject.org, 
    wei.chen@arm.com, sstabellini@kernel.org
Subject: Re: [ImageBuilder][PATCH v2 1/2] uboot-script-gen: Add
 XEN_STATIC_HEAP
In-Reply-To: <63acdfc4-74a3-7db5-ddfe-04e7e20ea464@amd.com>
Message-ID: <alpine.DEB.2.22.394.2303161805080.3359@ubuntu-linux-20-04-desktop>
References: <20230316090921.338472-1-jiamei.xie@arm.com> <20230316090921.338472-2-jiamei.xie@arm.com> <63acdfc4-74a3-7db5-ddfe-04e7e20ea464@amd.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 Mar 2023, Michal Orzel wrote:
> On 16/03/2023 10:09, jiamei.xie wrote:
> > From: jiamei Xie <jiamei.xie@arm.com>
> > 
> > Add a new config parameter to configure Xen static heap.
> > XEN_STATIC_HEAP="baseaddr1 size1 ... baseaddrN sizeN"
> > if specified, indicates the host physical address regions
> > [baseaddr, baseaddr + size) to be reserved as Xen static heap.
> > 
> > For instance, XEN_STATIC_HEAP="0x50000000 0x30000000", if specified,
> > indicates the host memory region starting from paddr 0x50000000
> > with a size of 0x30000000 to be reserved as static heap.
> > 
> > Signed-off-by: jiamei Xie <jiamei.xie@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

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


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 01:13:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 01:13:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510850.789325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcyeZ-00064u-3u; Fri, 17 Mar 2023 01:13:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510850.789325; Fri, 17 Mar 2023 01: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 1pcyeZ-00064n-1J; Fri, 17 Mar 2023 01:13:07 +0000
Received: by outflank-mailman (input) for mailman id 510850;
 Fri, 17 Mar 2023 01:13:05 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mGfD=7J=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcyeX-00064O-NZ
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 01:13: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 dd03eee3-c460-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 02:13:02 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 8E3C8B822F4;
 Fri, 17 Mar 2023 01:13:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A452FC433D2;
 Fri, 17 Mar 2023 01:12: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: dd03eee3-c460-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679015580;
	bh=OwwlbKxwdkIfBXc6LNeZD6MZmi/9GyYkDgrsPTDP9yI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=enMCDxS1XV47DQgXThb4LbSaa6NglXLEFnLdlBHMKMs6O6LcBI8LTUzDiPDIrsF4x
	 OX8qn83S+tivOoZ/ntBU0U1Rb5M/BptAxiBzPlk1yqQub1yN0ediaEV1iyv+08WNVf
	 WhySiA7F5Wu01GtbOaS9LrBcsjBHvyzg0+2knMnOAvdIIeFuDeUilRgOnjy1kwFxeB
	 i7coOIB90xuxCwL11Q5ekcYCttvMH7Tn9Kw0tS+Rb+3sfAy6hjos3hAPGN7C0LEcmp
	 STtVcvB0b3KrMnYkY3cGPrZQPlPjzcaZGDv5J0Sg1+YDmkHCKsElk9YmJP7/VZ1Zb5
	 KbVQz8yFTlhmg==
Date: Thu, 16 Mar 2023 18:12:58 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "jiamei.xie" <jiamei.xie@arm.com>
cc: xen-devel@lists.xenproject.org, wei.chen@arm.com, sstabellini@kernel.org
Subject: Re: [ImageBuilder][PATCH v2 2/2] uboot-script-gen: add support for
 static shared memory
In-Reply-To: <20230316090921.338472-3-jiamei.xie@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303161808110.3359@ubuntu-linux-20-04-desktop>
References: <20230316090921.338472-1-jiamei.xie@arm.com> <20230316090921.338472-3-jiamei.xie@arm.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 Mar 2023, jiamei.xie wrote:
> Introduce support for creating shared-mem node for dom0less domUs in
> the device tree. Add the following option:
> - DOMU_SHARED_MEM[number]="SHM-ID HPA GPA size"
>   if specified, indicate the unique identifier of the shared memory
>   region is SHM-ID, the host physical address HPA will get mapped at
>   guest address GPA in domU and the memory of size will be reserved to
>   be shared memory.
> 
> The static shared memory is used between two dom0less domUs.
> 
> Below is an example:
> NUM_DOMUS=2
> DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
> DOMU_SHARED_MEM[1]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
> 
> This static shared memory region is identified as "my-shared-mem-0",
> host physical address starting at 0x50000000 of 256MB will be reserved
> to be shared between two domUs. It will get mapped at 0x6000000 in both
> guest physical address space. Both DomUs are the borrower domain, the
> owner domain is the default owner domain DOMID_IO.
> 
> Signed-off-by: jiamei.xie <jiamei.xie@arm.com>

The patch is good just a couple of minor comments


> ---
> Changes from v1:
>  - Rather than two separate properties and just use one like follows:
>    Change
>      DOMU_SHARED_MEM[0]="0x50000000 0x6000000 0x10000000"
>      DOMU_SHARED_MEM_ID[0]="my-shared-mem-0"
>    to
>      DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
> - Use split_value function instead of opencoding it.
> ---
>  README.md                | 17 +++++++++++++++++
>  scripts/uboot-script-gen | 27 +++++++++++++++++++++++++++
>  2 files changed, 44 insertions(+)
> 
> diff --git a/README.md b/README.md
> index 78b83f1..fe5d205 100644
> --- a/README.md
> +++ b/README.md
> @@ -196,6 +196,23 @@ Where:
>    if specified, indicates the host physical address regions
>    [baseaddr, baseaddr + size) to be reserved to the VM for static allocation.
>  
> +- DOMU_SHARED_MEM[number]="SHM-ID HPA GPA size"
> +  if specified, indicate SHM-ID represents the unique identifier of the shared
> +  memory region, the host physical address HPA will get mapped at guest
> +  address GPA in domU and the memory of size will be reserved to be shared
> +  memory. The shared memory is used between two dom0less domUs.
> +
> +  Below is an example:
> +  NUM_DOMUS=2
> +  DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
> +  DOMU_SHARED_MEM[1]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
> +
> +  This static shared memory region is identified as "my-shared-mem-0", host
> +  physical address starting at 0x50000000 of 256MB will be reserved to be
> +  shared between two domUs. It will get mapped at 0x6000000 in both guest
> +  physical address space. Both DomUs are the borrower domain, the owner
> +  domain is the default owner domain DOMID_IO.
> +
>  - DOMU_DIRECT_MAP[number] can be set to 1 or 0.
>    If set to 1, the VM is direct mapped. The default is 1.
>    This is only applicable when DOMU_STATIC_MEM is specified.
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index cca3e59..46ea7e5 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -204,6 +204,28 @@ function add_device_tree_xen_static_heap()
>      dt_set "$path" "xen,static-heap" "hex" "${cells[*]}"
>  }
>  
> +function add_device_tree_static_shared_mem()
> +{
> +    local path=$1
> +    local domid=$2

I don't think we need a "domid" parameter, do we? Given that the node
name has the address in it, it cannot conflict anyway with other similar
nodes. So, the following should work?

dt_set "${path}/shared-mem@${shared_mem_host}" "compatible" "str" "xen,domain-shared-memory-v1"


> +    local shared_mem=$3
> +    local SHARED_MEM_ID=${shared_mem%% *}
> +    local regions="${shared_mem#* }"
> +    local cells=()
> +    local SHARED_MEM_HOST=${regions%% *}

please use lower capital letters for local variables, so shared_mem_host
instead of SHARED_MEM_HOST


> +    dt_mknode "${path}" "domU${domid}-shared-mem@${SHARED_MEM_HOST}"
> +
> +    for val in ${regions[@]}
> +    do
> +        cells+=("$(split_value $val)")
> +    done
> +
> +    dt_set "${path}/domU${domid}-shared-mem@${SHARED_MEM_HOST}" "compatible" "str" "xen,domain-shared-memory-v1"
> +    dt_set "${path}/domU${domid}-shared-mem@${SHARED_MEM_HOST}" "xen,shm-id" "str" "${SHARED_MEM_ID}"
> +    dt_set "${path}/domU${domid}-shared-mem@${SHARED_MEM_HOST}" "xen,shared-mem" "hex" "${cells[*]}"
> +}
> +
>  function add_device_tree_cpupools()
>  {
>      local cpu
> @@ -329,6 +351,11 @@ function xen_device_tree_editing()
>              dt_set "/chosen/domU$i" "xen,enhanced" "str" "enabled"
>          fi
>  
> +        if test -n "${DOMU_SHARED_MEM[i]}"
> +        then
> +            add_device_tree_static_shared_mem "/chosen/domU${i}" "${i}" "${DOMU_SHARED_MEM[i]}"
> +        fi

The reason why I suggested to remove the "domid" parameter above is
that ${i} here is not actually the domid, it is just the numeric order
of the domain in the ImageBuilder config file. It happens often in my
tests that Xen assigns different domids to the domains compared to the
order they appear in the ImageBuilder config file and in device tree.


>          if test "${DOMU_COLORS[$i]}"
>          then
>              local startcolor=$(echo "${DOMU_COLORS[$i]}"  | cut -d "-" -f 1)
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 01:16:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 01:16:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510852.789335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcyi5-0006gZ-Jv; Fri, 17 Mar 2023 01:16:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510852.789335; Fri, 17 Mar 2023 01: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 1pcyi5-0006gS-HF; Fri, 17 Mar 2023 01:16:45 +0000
Received: by outflank-mailman (input) for mailman id 510852;
 Fri, 17 Mar 2023 01:16:44 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mGfD=7J=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcyi4-0006gM-0j
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 01:16:44 +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 5fd7a4f3-c461-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 02:16:42 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1082A6216B;
 Fri, 17 Mar 2023 01:16:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9033CC433D2;
 Fri, 17 Mar 2023 01:16: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: 5fd7a4f3-c461-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679015800;
	bh=G5sLp+Hp93H9q9acXhAy9rQsN7U7tmfrNqiEY0QPCDo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=q7LFYGHh+lQYa+vdyGtvF+ca0WF/OD95uYvvF7sBRAwVyPmIHxiHw9x8aYJ5AzwOj
	 FNPFrWFP3+biZwJtrMfV0VuXMWThCD75xf/RrQFTEft89ImvMrpIdVcibLpPwA1XIX
	 URbvC2TFJSaPSmffISj69kpDUzWdihyjFSuCBFzeJctORUV0CDRuBUkVyp5BT3ThHa
	 2tFbL5g9nBd5nIs2MG4hvtkXiNfuvrW++Ety4MWSuTlMgMwxaorHSjyVSw0ZkgUBz2
	 gGa3bsbHBy1PGCU7bL841vSfbTLJwSe1PqXDcIEXUZJftgsZmU6teod6p6iAoN1TPa
	 mhhKa0Uri6DKg==
Date: Thu, 16 Mar 2023 18:16:38 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "jiamei.xie" <jiamei.xie@arm.com>
cc: xen-devel@lists.xenproject.org, wei.chen@arm.com, sstabellini@kernel.org, 
    bertrand.marquis@arm.com, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH v2 1/2] automation: arm64: Create test jobs for testing
 static heap on qemu
In-Reply-To: <20230316091224.338620-2-jiamei.xie@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303161816290.3359@ubuntu-linux-20-04-desktop>
References: <20230316091224.338620-1-jiamei.xie@arm.com> <20230316091224.338620-2-jiamei.xie@arm.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 Mar 2023, jiamei.xie wrote:
> From: Jiamei Xie <jiamei.xie@arm.com>
> 
> Create 2 new test jobs, called qemu-smoke-dom0less-arm64-gcc-staticheap
> and qemu-smoke-dom0less-arm64-gcc-debug-staticheap.
> 
> Add property "xen,static-heap" under /chosen node to enable static-heap.
> If the domU can start successfully with static-heap enabled, then this
> test pass.
> 
> ImageBuillder sets the kernel and ramdisk range based on the file size.
> It will use the memory range between 0x45600000 to 0x47AED1E8. It uses
> MEMORY_START and MEMORY_END from the cfg file as a range in which it can
> instruct u-boot where to place the images.
> 
> Change MEMORY_END to 0x50000000 for all test cases.
> 
> Signed-off-by: Jiamei Xie <jiamei.xie@arm.com>

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


> ---
> Changes from v1:
>  - Change MEMORY_END to 0x50000000 for all test cases.
>  - Update commit message.
> ---
>  automation/gitlab-ci/test.yaml                | 16 ++++++++++++++
>  .../scripts/qemu-smoke-dom0less-arm64.sh      | 21 ++++++++++++++++++-
>  2 files changed, 36 insertions(+), 1 deletion(-)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 2e1a6886df..37465305ff 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -158,6 +158,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-debug-arm64-staticmem
>  
> +qemu-smoke-dom0less-arm64-gcc-staticheap:
> + extends: .qemu-arm64
> + script:
> +   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
> + needs:
> +   - *arm64-test-needs
> +   - alpine-3.12-gcc-arm64
> +
> +qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
> + extends: .qemu-arm64
> + script:
> +   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | tee ${LOGFILE}
> + needs:
> +   - *arm64-test-needs
> +   - alpine-3.12-gcc-debug-arm64
> +
>  qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
>    extends: .qemu-arm64
>    script:
> diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> index 182a4b6c18..2d69d976ea 100755
> --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
> +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> @@ -27,6 +27,11 @@ fi
>  "
>  fi
>  
> +if [[ "${test_variant}" == "static-heap" ]]; then
> +    passed="${test_variant} test passed"
> +    domU_check="echo \"${passed}\""
> +fi
> +
>  if [[ "${test_variant}" == "boot-cpupools" ]]; then
>      # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler
>      passed="${test_variant} test passed"
> @@ -107,7 +112,7 @@ cd ..
>  
>  # ImageBuilder
>  echo 'MEMORY_START="0x40000000"
> -MEMORY_END="0xC0000000"
> +MEMORY_END="0x50000000"
>  
>  DEVICE_TREE="virt-gicv2.dtb"
>  XEN="xen"
> @@ -128,6 +133,20 @@ if [[ "${test_variant}" == "static-mem" ]]; then
>      echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> binaries/config
>  fi
>  
> +if [[ "${test_variant}" == "static-heap" ]]; then
> +    # ImageBuilder uses the config file to create the uboot script. Devicetree
> +    # will be set via the generated uboot script.
> +    # The valid memory range is 0x40000000 to 0x80000000 as defined before.
> +    # ImageBuillder sets the kernel and ramdisk range based on the file size.
> +    # It will use the memory range between 0x45600000 to 0x47AED1E8, and
> +    # MEMORY_END has been set to 0x50000000 above, so set memory range between
> +    # 0x50000000 and 0x80000000 as static heap.
> +    echo  '
> +XEN_STATIC_HEAP="0x50000000 0x30000000"
> +# The size of static heap should be greater than the guest memory
> +DOMU_MEM[0]="128"' >> binaries/config
> +fi
> +
>  if [[ "${test_variant}" == "boot-cpupools" ]]; then
>      echo '
>  CPUPOOL[0]="cpu@1 null"
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 01:17:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 01:17:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510854.789346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcyiu-0007CB-UU; Fri, 17 Mar 2023 01:17:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510854.789346; Fri, 17 Mar 2023 01: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 1pcyiu-0007C4-Pz; Fri, 17 Mar 2023 01:17:36 +0000
Received: by outflank-mailman (input) for mailman id 510854;
 Fri, 17 Mar 2023 01:17: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 1pcyit-0007Bq-IT; Fri, 17 Mar 2023 01:17: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 1pcyit-0007Xe-EQ; Fri, 17 Mar 2023 01:17: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 1pcyit-0006U3-3h; Fri, 17 Mar 2023 01:17:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcyit-00043I-3F; Fri, 17 Mar 2023 01:17:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=690Paeu8aPjlw4l7KUiYZmJq4Qffjlv02L1JGhc5W2U=; b=oSo3XdXfmChELHbOJPxl2e+b8e
	s5si9CVMN/yObjtqP7+o/3QAhUIxkhkIWLVmFLwLaQQ5Sg+A0Mu6FpEq9wFtk5xfF/1QlHlbprpCG
	MDGN12JFi/wZA3nJuu4L2KtwSWMMQs+GbxdLjlfQojt79pO5Zq2lSf4s1JDJTRd14Ayk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179675-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179675: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-stop:fail:heisenbug
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit1:guest-stop:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:allowable
    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-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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop: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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=9c1bec9c0b08abeac72ed6214b723adc224013bf
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Mar 2023 01:17:35 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 19 guest-saverestore.2     fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      19 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 17 guest-saverestore.2 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 17 guest-localmigrate fail in 179656 REGR. vs. 178042
 test-amd64-amd64-xl-pvshim 17 guest-saverestore fail in 179656 REGR. vs. 178042
 test-amd64-amd64-xl       17 guest-saverestore fail in 179656 REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 18 guest-localmigrate fail in 179656 REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 27 guest-migrate/dst_host/src_host fail in 179656 REGR. vs. 178042
 test-arm64-arm64-xl-xsm 18 guest-start/debian.repeat fail in 179656 REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail in 179656 REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 179656 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit1  14 guest-start      fail in 179656 pass in 179675
 test-amd64-amd64-xl-shadow  17 guest-saverestore fail in 179656 pass in 179675
 test-amd64-amd64-xl-xsm    18 guest-localmigrate fail in 179656 pass in 179675
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail in 179656 pass in 179675
 test-amd64-amd64-xl-rtds   18 guest-localmigrate fail in 179656 pass in 179675
 test-amd64-amd64-xl-credit2  21 guest-stop       fail in 179656 pass in 179675
 test-amd64-coresched-amd64-xl 14 guest-start     fail in 179656 pass in 179675
 test-amd64-amd64-freebsd12-amd64 13 guest-start            fail pass in 179656
 test-amd64-amd64-xl          14 guest-start                fail pass in 179656
 test-amd64-amd64-libvirt-pair 25 guest-start/debian        fail pass in 179656
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 15 guest-saverestore fail pass in 179656
 test-arm64-arm64-xl-xsm      14 guest-start                fail pass in 179656
 test-arm64-arm64-xl-credit1  17 guest-stop                 fail pass in 179656
 test-amd64-amd64-xl-pvshim   14 guest-start                fail pass in 179656
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start             fail pass in 179656

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds    22 guest-start/debian.repeat fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 179656 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 179656 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                9c1bec9c0b08abeac72ed6214b723adc224013bf
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   23 days
Failing since        178093  2023-02-22 05:02:47 Z   22 days   44 attempts
Testing same since   179656  2023-03-15 19:40:25 Z    1 days    2 attempts

------------------------------------------------------------
2126 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 01:18:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 01:18:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510860.789356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcyjq-0007nb-E8; Fri, 17 Mar 2023 01:18:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510860.789356; Fri, 17 Mar 2023 01: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 1pcyjq-0007nU-BB; Fri, 17 Mar 2023 01:18:34 +0000
Received: by outflank-mailman (input) for mailman id 510860;
 Fri, 17 Mar 2023 01:18: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 1pcyjp-0007nG-5A; Fri, 17 Mar 2023 01:18: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 1pcyjp-0007Yk-3p; Fri, 17 Mar 2023 01:18:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pcyjo-0006Vm-PR; Fri, 17 Mar 2023 01:18:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pcyjo-0004Pc-Oz; Fri, 17 Mar 2023 01:18: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=EOq53qaEENX9iHSNz5JgY4jgfhsm9ZT8+lTX0kGLwyk=; b=xF4MlgB/eYzkACx/uZa8lt0Ck+
	JKE3OnYrdYgT/DHihTVOZfrQNSYSPkYCgQuuT70jTxRxVHEj7igeesfl6Wrg3whgoG6/r8/964qQT
	gxNxRU88zTCtb09gHkYeBAPQEtDgxwg/4ygpWQPUVX/Qg6F60FBnKLw+GyZNl/cUkBPE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179698-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179698: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=16e0969ef775b898ac700f3261d76030b8ab9ef0
X-Osstest-Versions-That:
    ovmf=997c6967b00cdd797fe787567a28a7565aafd301
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Mar 2023 01:18:32 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 16e0969ef775b898ac700f3261d76030b8ab9ef0
baseline version:
 ovmf                 997c6967b00cdd797fe787567a28a7565aafd301

Last test of basis   179690  2023-03-16 16:12:11 Z    0 days
Testing same since   179698  2023-03-16 21:45:32 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>

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
   997c6967b0..16e0969ef7  16e0969ef775b898ac700f3261d76030b8ab9ef0 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 01:19:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 01:19:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510864.789366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcyku-0008M4-PP; Fri, 17 Mar 2023 01:19:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510864.789366; Fri, 17 Mar 2023 01: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 1pcyku-0008Lx-MF; Fri, 17 Mar 2023 01:19:40 +0000
Received: by outflank-mailman (input) for mailman id 510864;
 Fri, 17 Mar 2023 01:19: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=mGfD=7J=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pcykt-0008La-0T
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 01:19:39 +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 c766bf2e-c461-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 02:19:36 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 255FF62163;
 Fri, 17 Mar 2023 01:19:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A8631C433D2;
 Fri, 17 Mar 2023 01:19: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: c766bf2e-c461-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679015974;
	bh=iBZ+/XVwPOz0J+JNSJ3Re27TG+UGHn8J+z/2sYE+igI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=U4eEhpubHrmoK/LSCIR2TWy1U2D6+QX+1McPHdlGSz6nk6Bj4ku6vc7Ue185pl4EK
	 wKXfCgKDOZEyyc+lf54IPoMqp68l3IZs8umqklxUN9eLSTCLH4GTCSGSpBHOpsUCHY
	 miuXnmjv8EV4PR5UGgsXSFg6fc/nBRNrnMjbswDNiI92eM6muJu57g6SIARHKHBB13
	 Lktmt1Up1lIiqW4KHjGpgI81EyxPJk2S27sm7PYR9kAuwcTbIctXg53ST2zx8VaB3V
	 5MIwJ0Dyh2vlX9L3Yzr6UrBq+1hwBM2lX+UU9fB+zyboRP9v6oqNwkdXIlfTPNgduq
	 pktwZFiIxjlWQ==
Date: Thu, 16 Mar 2023 18:19:32 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "jiamei.xie" <jiamei.xie@arm.com>
cc: xen-devel@lists.xenproject.org, wei.chen@arm.com, sstabellini@kernel.org, 
    bertrand.marquis@arm.com, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH v2 2/2] automation: arm64: Create test jobs for testing
 static shared memory on qemu
In-Reply-To: <20230316091224.338620-3-jiamei.xie@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303161819250.3359@ubuntu-linux-20-04-desktop>
References: <20230316091224.338620-1-jiamei.xie@arm.com> <20230316091224.338620-3-jiamei.xie@arm.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 Mar 2023, jiamei.xie wrote:
> Create 2 new test jobs, called qemu-smoke-dom0less-arm64-gcc-static-shared-mem
> and qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem.
> 
> Adjust qemu-smoke-dom0less-arm64.sh script to accomodate the static
> shared memory test as a new test variant. The test variant is determined
> based on the first argument passed to the script. For testing static
> shared memory, the argument is 'static-shared-mem'.
> 
> The test configures two dom0less DOMUs with a static shared memory
> region and adds a check in the init script.
> 
> The check consists in comparing the contents of the /proc/device-tree/reserved-memory
> xen-shmem entry with the static shared memory range and id with which
> DOMUs were configured. If the memory layout is correct, a message gets
> printed by DOMU.
> 
> At the end of the qemu run, the script searches for the specific message
> in the logs and fails if not found.
> 
> Signed-off-by: jiamei.xie <jiamei.xie@arm.com>

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


> ---
> Changes from v1:
>  - Move the second domU creation to the general ImageBuilder script.
> ---
>  automation/gitlab-ci/build.yaml               | 18 ++++++++++++
>  automation/gitlab-ci/test.yaml                | 16 ++++++++++
>  .../scripts/qemu-smoke-dom0less-arm64.sh      | 29 +++++++++++++++++++
>  3 files changed, 63 insertions(+)
> 
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 38bb22d860..820cc0af83 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -623,6 +623,24 @@ alpine-3.12-gcc-debug-arm64-staticmem:
>        CONFIG_UNSUPPORTED=y
>        CONFIG_STATIC_MEMORY=y
>  
> +alpine-3.12-gcc-arm64-static-shared-mem:
> +  extends: .gcc-arm64-build
> +  variables:
> +    CONTAINER: alpine:3.12-arm64v8
> +    EXTRA_XEN_CONFIG: |
> +      CONFIG_UNSUPPORTED=y
> +      CONFIG_STATIC_MEMORY=y
> +      CONFIG_STATIC_SHM=y
> +
> +alpine-3.12-gcc-debug-arm64-static-shared-mem:
> +  extends: .gcc-arm64-build-debug
> +  variables:
> +    CONTAINER: alpine:3.12-arm64v8
> +    EXTRA_XEN_CONFIG: |
> +      CONFIG_UNSUPPORTED=y
> +      CONFIG_STATIC_MEMORY=y
> +      CONFIG_STATIC_SHM=y
> +
>  alpine-3.12-gcc-arm64-boot-cpupools:
>    extends: .gcc-arm64-build
>    variables:
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 37465305ff..d75662358f 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -174,6 +174,22 @@ qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
>     - *arm64-test-needs
>     - alpine-3.12-gcc-debug-arm64
>  
> +qemu-smoke-dom0less-arm64-gcc-static-shared-mem:
> +  extends: .qemu-arm64
> +  script:
> +    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *arm64-test-needs
> +    - alpine-3.12-gcc-arm64-static-shared-mem
> +
> +qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
> +  extends: .qemu-arm64
> +  script:
> +    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *arm64-test-needs
> +    - alpine-3.12-gcc-debug-arm64-static-shared-mem
> +
>  qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
>    extends: .qemu-arm64
>    script:
> diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> index 2d69d976ea..75f575424a 100755
> --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
> +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
> @@ -32,6 +32,25 @@ if [[ "${test_variant}" == "static-heap" ]]; then
>      domU_check="echo \"${passed}\""
>  fi
>  
> +
> +if [[ "${test_variant}" == "static-shared-mem" ]]; then
> +    passed="${test_variant} test passed"
> +    SHARED_MEM_HOST="50000000"
> +    SHARED_MEM_GUEST="4000000"
> +    SHARED_MEM_SIZE="10000000"
> +    SHARED_MEM_ID="my-shared-mem-0"
> +
> +    domU_check="
> +current_id=\$(cat /proc/device-tree/reserved-memory/xen-shmem@4000000/xen,id 2>/dev/null)
> +expected_id=\"\$(echo ${SHARED_MEM_ID})\"
> +current_reg=\$(hexdump -e '16/1 \"%02x\"' /proc/device-tree/reserved-memory/xen-shmem@4000000/reg 2>/dev/null)
> +expected_reg=$(printf \"%016x%016x\" 0x${SHARED_MEM_GUEST} 0x${SHARED_MEM_SIZE})
> +if [[ \"\${expected_reg}\" == \"\${current_reg}\" && \"\${current_id}\" == \"\${expected_id}\" ]]; then
> +    echo \"${passed}\"
> +fi
> +    "
> +fi
> +
>  if [[ "${test_variant}" == "boot-cpupools" ]]; then
>      # Check if domU0 (id=1) is assigned to Pool-1 with null scheduler
>      passed="${test_variant} test passed"
> @@ -124,6 +143,9 @@ NUM_DOMUS=1
>  DOMU_KERNEL[0]="Image"
>  DOMU_RAMDISK[0]="initrd"
>  DOMU_MEM[0]="256"
> +DOMU_KERNEL[1]="Image"
> +DOMU_RAMDISK[1]="initrd"
> +DOMU_MEM[1]="256"
>  
>  LOAD_CMD="tftpb"
>  UBOOT_SOURCE="boot.source"
> @@ -133,6 +155,13 @@ if [[ "${test_variant}" == "static-mem" ]]; then
>      echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> binaries/config
>  fi
>  
> +if [[ "${test_variant}" == "static-shared-mem" ]]; then
> +echo "
> +NUM_DOMUS=2
> +DOMU_SHARED_MEM[0]=\"${SHARED_MEM_ID} 0x${SHARED_MEM_HOST} 0x${SHARED_MEM_GUEST} 0x${SHARED_MEM_SIZE}\"
> +DOMU_SHARED_MEM[1]=\"${SHARED_MEM_ID} 0x${SHARED_MEM_HOST} 0x${SHARED_MEM_GUEST} 0x${SHARED_MEM_SIZE}\"" >> binaries/config
> +fi
> +
>  if [[ "${test_variant}" == "static-heap" ]]; then
>      # ImageBuilder uses the config file to create the uboot script. Devicetree
>      # will be set via the generated uboot script.
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 01:43:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 01:43:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510867.789379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pcz7W-0004H6-Lc; Fri, 17 Mar 2023 01:43:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510867.789379; Fri, 17 Mar 2023 01:43: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 1pcz7W-0004Gz-Il; Fri, 17 Mar 2023 01:43:02 +0000
Received: by outflank-mailman (input) for mailman id 510867;
 Fri, 17 Mar 2023 01:43: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=OYoT=7J=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1pcz7U-0004Gt-MA
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 01:43:00 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20612.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a7961aa-c465-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 02:42:57 +0100 (CET)
Received: from DB6PR0301CA0019.eurprd03.prod.outlook.com (2603:10a6:4:3e::29)
 by DBAPR08MB5590.eurprd08.prod.outlook.com (2603:10a6:10:1aa::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Fri, 17 Mar
 2023 01:42:54 +0000
Received: from DBAEUR03FT035.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:3e:cafe::33) by DB6PR0301CA0019.outlook.office365.com
 (2603:10a6:4:3e::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31 via Frontend
 Transport; Fri, 17 Mar 2023 01:42:53 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT035.mail.protection.outlook.com (100.127.142.136) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6199.18 via Frontend Transport; Fri, 17 Mar 2023 01:42:52 +0000
Received: ("Tessian outbound 55ffa3012b8f:v135");
 Fri, 17 Mar 2023 01:42:52 +0000
Received: from b3f905e1a44f.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 09D02F79-E2F6-470A-AB35-8EC4F2F0D461.1; 
 Fri, 17 Mar 2023 01:42:44 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b3f905e1a44f.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 17 Mar 2023 01:42:44 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by VI1PR08MB10073.eurprd08.prod.outlook.com (2603:10a6:800:1bc::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Fri, 17 Mar
 2023 01:42:39 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03%4]) with mapi id 15.20.6178.026; Fri, 17 Mar 2023
 01:42: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: 0a7961aa-c465-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YUUjjYjQeTNC7RSh18xsAaF0/ifWJzYGK9Z81WF00o4=;
 b=7PehXko20HywjdAtq6vYkr7z4R5oqXpmOGKpPxReT2x7GyZ0pdvSjrm0bnHcLOPprP+UicghpCVs8zDjWRq2bnaMZopgb+REQHjxF3GcPAqUcJ374bSwH6TnuSuFamQNI3XF2Ztf+yWiEwCGZAyrl6FWaJZHhcYs0mgDFQHd6LY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Zx+bEOTve3X/DKRQY2sEALFVm1qvoKAcKFwXX5W+Ih/a07RcqzYE75+ouoTZNpT59Lq8FKmq2D0uU0fPl2PzoQi+yY60Pq7OwmKkQWYT9b7OuYDzzQtQ4V74jHLgKqij4z+4cWRJ+uYyhVhRYdxgBSWY9wzop3QdGs5l190Lp+yIRxlkLXhqiptxMiVIBRWR/GEmnVIIJFwTxWmkm4SVJd899Lb8LiHpTu4c/RT5ej44kjObeYd+xLtN5c0ZYFCBP5ZeYtJQfX8ZpGsuD6qO/eSaUrichNFdEtEvJG3NVHbBP6eZizJgjrs5/ggjW61ffNo5HKSExYIAvwOjK8A+Sg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YUUjjYjQeTNC7RSh18xsAaF0/ifWJzYGK9Z81WF00o4=;
 b=KS/fcbo/iwuBucMDiBfjSIsvX23VcCa3wP19d0MRtc/W9qM3LAWSL8gBot3t5tflEKF9aIPO1Cd1omX+CadLQB02T+m62d29v4hLqbYQYimnq/iwlrs8GBG1OU4AKg1f6WLfCcsIgvRdX1PlrbddrSjASkX+ehy7/Ls7ZF1RUF7VYwTFiqc663oQx7ZPBxAWzGUx+eQr5fMvwniVoNX60cmRC2fHbP4Z4t8LVaELOb831FinMEPjYF8H+kaZEED/JLIPxF+x22b/Mk/LMXEB1bwf0fuKnbbLuKQFYsz1gCo2ohyBwA/ZJY+nJguVUVLhdHxf+/KDGBzYeHOsGMmAWw==
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=YUUjjYjQeTNC7RSh18xsAaF0/ifWJzYGK9Z81WF00o4=;
 b=7PehXko20HywjdAtq6vYkr7z4R5oqXpmOGKpPxReT2x7GyZ0pdvSjrm0bnHcLOPprP+UicghpCVs8zDjWRq2bnaMZopgb+REQHjxF3GcPAqUcJ374bSwH6TnuSuFamQNI3XF2Ztf+yWiEwCGZAyrl6FWaJZHhcYs0mgDFQHd6LY=
From: Henry Wang <Henry.Wang@arm.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>
CC: Wei Chen <Wei.Chen@arm.com>, Henry Wang <Henry.Wang@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH v2 0/4] P2M improvements for Arm
Thread-Topic: [PATCH v2 0/4] P2M improvements for Arm
Thread-Index: AQHZNGBDjsZ+/rBSpUasyS1gMA6ceq7+eOEw
Date: Fri, 17 Mar 2023 01:42:35 +0000
Message-ID:
 <AS8PR08MB79913BA592A3419A17869FD792BD9@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230130040614.188296-1-Henry.Wang@arm.com>
In-Reply-To: <20230130040614.188296-1-Henry.Wang@arm.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: E1F3D1BBEBDAC54D868EE0A8781A29C2.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|VI1PR08MB10073:EE_|DBAEUR03FT035:EE_|DBAPR08MB5590:EE_
X-MS-Office365-Filtering-Correlation-Id: 7050e091-34be-42f3-bf19-08db2688ec68
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:
 vWtP7WBJbAgVxYSe+o7imacRN9GTub4s2/ZQ5ECO/mFXdnqpK7FAA70ZFew7yoWMo8r/mD9BeRBXsSfeUMD+DJTdtHBYI71M09/pVAmd/vZKawnAcFp4Xrb2TlNOvcnDEvTm5JBb2wpDJYtg56mCwzGvNjZNPfyW9zupu0jPvwSb1TiEfN1XherFRn6rAErlCvOq1BgUH8HlImTSeuBvLty5ozqw69VUXmY/KGkb8IwaB0jnt60moHNqY0St27pKhD7M4ZuEqcxKm9nb65ojt2L49gsd6D65i2fkOhpvx9HAcvA/fIL6RYWPtYWmEkCLYgqnP62kZ90MyAlkgu6oDwMOBJTWgV4MhubSUSClZ634VSjwUpN7KwkcZFXnRSL1P5Je3rYji4SecIJM+Cf+PVGiRzslB07RIrKpM0Ky9GM8DbbkulfWT2CxkXJIt5+0ozxoNU00DmQxWdprULON5Pih6qdOCVM2IOIMPkdpFj4TWt7NakN+8uvsyFjZnE5ioHaS5oyP2eWHTpEyel8wUt5qHH+wDD1yZthy1LszQPcV8iQM7XCztPs5cMkwJP4h5D9j2Xsnv+A5abvx70HYIjlYtirsEjKhTQVwUcL1QAdVzCV3Cx6IUjk+Q1QQkex4FkF4medCmSHJ6N+Xaa9BAOuAmYnZErZmk32139SjX5ogMFqVoUs309jZo2iNzf/RFP5VD7hFIU2+WmV9kULTmYMKMjC6xYVZ7llO2oPz2vI=
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:(13230025)(4636009)(366004)(396003)(376002)(136003)(39860400002)(346002)(451199018)(9686003)(6666004)(7696005)(966005)(186003)(6506007)(86362001)(26005)(38070700005)(83380400001)(71200400001)(5660300002)(2906002)(478600001)(8936002)(52536014)(54906003)(316002)(6636002)(110136005)(38100700002)(33656002)(66556008)(76116006)(66946007)(66476007)(8676002)(122000001)(41300700001)(64756008)(66446008)(4326008)(55016003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10073
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:
 DBAEUR03FT035.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d9cb60d5-ab72-4e1b-ee74-08db2688e26c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	47C54JbpK8VkaydFTkssoG5cjxpEQZqyeIYQDD3VdukSnI4BbeYrsVcacgkDYWHK3AOSo35Q6LBZJexP/HlxtWcqwEHuIx/vXkVtyhZNhWeY45n//LOGBNMn3LL4EgbzStx51L4va/eAyxUIlitNlvMaJwEyIIdRMgQM1qrG3MbcRLoS7mtykDyxsuyZAJSFBxQU4XLMdDF4VDUnAakXUJu5hN8mXx62uARKlpLtWFQBo9U9jPimAEuaViE8qeBcG/FsYQ8UNfuTEjuFUFXU/qkVh1gPNJ2Ku64HxXXOqIVw1rA18f5JiIKphxqGo1PAuTX47ke/SJKfhnvu/v2wub836VRQ03XAiBw5MgEhS2ErHvAJQjdRGcByAEOziCybY1hTYFwJDITr+QOWn+aJI/BRlPjh75PegREe48zWF+KPNPCIkL+tZ1T6suoCEdOUrlBvGm1I0ekw8cznAygAcHyWMo59iKP0cGRO93ErrVNwC3ovks7RVA33Mke8nlIpZaNUoQqRfFGo7YUZMIzXpm2OW1kubG+TqrSy61mEdh4S/Ezsw3dkuqCYuSBvIgMqLXzVxqkjZgT9sDbtio5lhGfEGJl2e4+w4WEdUq1fobH1s9vV4TfBes23jaJdEIHdyy1137CQjHFb2/BAC4IEB4GUjrSYnkwS1lMpVZjlNm+6i3a1tMjszS9D/z2IP9duiE1wNGbw/MeZE5b7cFDCdradqxMkEW9Iz6/UCrVtm1M=
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:(13230025)(4636009)(136003)(346002)(376002)(39860400002)(396003)(451199018)(36840700001)(40470700004)(46966006)(86362001)(36860700001)(82740400003)(81166007)(33656002)(7696005)(2906002)(356005)(52536014)(4326008)(41300700001)(5660300002)(8936002)(40480700001)(82310400005)(40460700003)(55016003)(9686003)(186003)(26005)(336012)(83380400001)(47076005)(110136005)(316002)(6506007)(54906003)(6636002)(107886003)(8676002)(70586007)(70206006)(966005)(6666004)(478600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 01:42:52.6596
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7050e091-34be-42f3-bf19-08db2688ec68
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:
	DBAEUR03FT035.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5590

Hi everyone,

> -----Original Message-----
> Subject: [PATCH v2 0/4] P2M improvements for Arm
>=20
> There are some clean-up/improvement work that can be done in the
> Arm P2M code triggered by [1] and [2]. These were found at the 4.17
> code freeze period so the issues were not fixed at that time.
> Therefore do the follow-ups here.
>=20
> Patch#1 addresses one comment in [1]. It was sent earlier and reviewed
> once. Pick the updated version, i.e. "[PATCH v2] xen/arm: Reduce
> redundant clear root pages when teardown p2m", to this series.
>=20
> Patch#2 is a new patch based on v1 comments, this is a pre-requisite
> patch for patch#3 where the deferring of GICv2 CPU interface mapping
> should also be applied for new vGIC.
>=20
> Patch#3 and #4 addresses the comment in [2] following the discussion
> between two possible options.
>=20
> [1] https://lore.kernel.org/xen-devel/a947e0b4-8f76-cea6-893f-
> abf30ff95e0d@xen.org/
> [2] https://lore.kernel.org/xen-devel/e6643bfc-5bdf-f685-1b68-
> b28d341071c1@xen.org/
>=20
> v1 -> v2:
> 1. Move in-code comment for p2m_force_tlb_flush_sync() on top of
>    p2m_clear_root_pages().
> 2. Add a new patch as patch #2.
> 3. Correct style in in-code comment in patch #3.
> 4. Avoid open-coding gfn_eq() and gaddr_to_gfn(d->arch.vgic.cbase).
> 5. Apply same changes for the new vGICv2 implementation, update the
>    commit message accordingly.
> 6. Add in-code comment in old GICv2's vgic_v2_domain_init() and
>    new GICv2's vgic_v2_map_resources() to mention the mapping of the
>    virtual CPU interface is deferred until first access.
> 7. Add reviewed-by and acked-by tags accordingly.
>=20
> Henry Wang (4):
>   xen/arm: Reduce redundant clear root pages when teardown p2m
>   xen/arm: Rename vgic_cpu_base and vgic_dist_base for new vGIC
>   xen/arm: Defer GICv2 CPU interface mapping until the first access
>   xen/arm: Clean-up in p2m_init() and p2m_final_teardown()

Gentle ping of last 3 patches of this series as it has been a while. I
understand since we lost all arm32 boards in OSSTest so it is not likely
for a GICv2 series to progress, but this series passed our internal CI on
all GICv2 boards and it would be good to have some feedbacks so that
I can make the series ready to be committed before the arm32 boards
are re-added to OSSTest.

Thanks very much!

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 03:34:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 03:34:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510878.789402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd0ra-0002Vf-4e; Fri, 17 Mar 2023 03:34:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510878.789402; Fri, 17 Mar 2023 03: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 1pd0rZ-0002Tq-Uz; Fri, 17 Mar 2023 03:34:41 +0000
Received: by outflank-mailman (input) for mailman id 510878;
 Fri, 17 Mar 2023 03: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=2ZYU=7J=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pd0rY-0002SG-Hy
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 03:34:40 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a4b9be9b-c474-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 04:34:38 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 261633200921;
 Thu, 16 Mar 2023 23:34:37 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Thu, 16 Mar 2023 23:34:37 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Mar 2023 23:34:35 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4b9be9b-c474-11ed-87f5-c1b5be75604c
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=1679024076; x=1679110476; bh=xb
	B/jz5azTQX3pxqI3ZntZ1QaYPMvik4cyUKFCEvRnA=; b=InCVG88khnIeFJPFbk
	Mu5xlzz9lgEVWEklaE5HaN5Ryw2ZgzUG+e0fH6dT/+fhO8mOmBrL4dSonN3/KBlT
	ZXHYnYx/Xmd6EMEVtWV16EdxBbSbvgurLGGPQ9DZAgrAv5X4TlO4xVEaED+IJ2U4
	+DOgWEXyrP4SbQLFSCwKm5I1vHuoUdP6t5TjnoxCFm7YRLD5GmbsUiMC8VWOqFW+
	HxZNPMQjmAn+BN+8xBnlN69sCoVsF8zWM7FZ/M7z3OVMUpz9IS1ISaYAhj1XD98e
	Beg43xUSWqDySx8iWyPMsi5bnOrsgVYHRXbX4yLSWYebSrs5Nk5ib0zMJOSGTtqp
	1RKQ==
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=fm2; t=
	1679024076; x=1679110476; bh=xbB/jz5azTQX3pxqI3ZntZ1QaYPMvik4cyU
	KFCEvRnA=; b=C5ewfySeInYwD8DQ2z2/5s4Xf3G5LASJfyZQHKnvGWGL2HcvDYF
	OU2AC6blMpBkvIpyh9+DvexD1vjTy568WnGil74a/BfQf1Dmsk4/lZMSvSwKCp6C
	yP61SJZP1nvHUJjsTIJbb4y28N/vP7iZqdedaAp0uqysrzery3lF2kAHB2XKXnN6
	zV3MF73GbgS9Np/h7/nULZSjCxij5BitgcBWuyxpP1AlQqx8qV7IZV8JwQ3yrFXL
	edb7spqCDn0Iu0kzJjLyVXldFNF3khviNiCzvgGOoKhOdziCL5sLkROGeR0Peent
	RwKFJww1zZQdY2IrRu65sdrMkmxcPM1s6Bg==
X-ME-Sender: <xms:zN8TZNO3ebDYGnjQ50L6CO_Vl2_1mRWT9ppQPAwpVZaNcGTusxgQ7w>
    <xme:zN8TZP_ydDf9MrjJ5cX732rFCSEvkasUs7yD-ibuXHFy6kdQ1UPZ7lJrnxyb1vr4-
    nRoYiav9yfcSw>
X-ME-Received: <xmr:zN8TZMTokMvpMFsyQtuQyYbvCZE3OacJMLsvzLBt6fHXokMwFHfao6IE9fIlPA4l23A18hpwtgUxMlLV3ukq3JF-NWhd1mpBSzP8KKsktKlH21Qny7nR>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdefuddgiedvucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeef
    iedvieejgefggefggfeihfekteeghfevkeduudegjeelgfeftedvledvuedvjeenucffoh
    hmrghinhepqhhusggvshdqohhsrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfr
    rghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhih
    hnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:zN8TZJufZq_pihTwPh_vv89roERWmQYiZcogQaTJIlJ3cR9Rv0M7yw>
    <xmx:zN8TZFf7Pqsa3OBf4dkhlBUxdawXxkzM-XcJa-Ymd-RQeLZi1-7q2Q>
    <xmx:zN8TZF3KuybAvAOBXCnw4FI2L11jn0ZjJkfDPhoCu8y37GyQB6OXHQ>
    <xmx:zN8TZFHjGcv7FJpXKoQCzpqUKoyCaFChtv1nR4SmVVK32TMdA9MrFA>
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 2/2] automation: add a suspend test on an Alder Lake system
Date: Fri, 17 Mar 2023 04:34:18 +0100
Message-Id: <aa4385f5291ebc06551414e4d8cbf7cdd3996eef.1679023966.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com>
References: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is a first test using Qubes OS CI infra. The gitlab-runner has
access to ssh-based control interface (control@thor.testnet, ssh key
exposed to the test via ssh-agent) and pre-configured HTTP dir for boot
files (mapped under /scratch/gitlab-runner/tftp inside the container).
Details about the setup are described on
https://www.qubes-os.org/news/2022/05/05/automated-os-testing-on-physical-laptops/

This test boots Xen, and try if S3 works. It runs on a ADL-based desktop
system. The test script is based on the Xilinx one.

The machine needs newer kernel than other x86 tests run, so use 6.1.x
kernel added in previous commit.

When building rootfs, use fakeroot to preserve device files when
repacking rootfs archives in a non-privileged container.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
I'm bad at naming things. Things that I could use naming suggestions:
 - test script (qubes-x86-64-suspend.sh) - this might be okay?
 - test template job name (.adl-x86-64)
 - test job name (adl-suspend-x86-64-gcc)
 - tag (qubes-hw2)

For context, our CI has several machines, named test-X or hwX, each
controlled with matching hal900X RPi (this is where gitlab-runner is).
This test uses only one specific hw, but I plan adding few others too.
---
 automation/gitlab-ci/test.yaml             |  31 ++++-
 automation/scripts/qubes-x86-64-suspend.sh | 155 ++++++++++++++++++++++-
 2 files changed, 186 insertions(+)
 create mode 100755 automation/scripts/qubes-x86-64-suspend.sh

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 2e1a6886df7f..f5511dd6da70 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -15,6 +15,10 @@
 .arm32-test-needs: &arm32-test-needs
   - qemu-system-aarch64-6.0.0-arm32-export
 
+.x86-64-test-needs: &x86-64-test-needs
+  - alpine-3.12-rootfs-export
+  - kernel-6.1.19-export
+
 .qemu-arm64:
   extends: .test-jobs-common
   variables:
@@ -84,6 +88,25 @@
   tags:
     - xilinx
 
+.adl-x86-64:
+  extends: .test-jobs-common
+  variables:
+    # the test controller runs on RPi4
+    CONTAINER: alpine:3.12-arm64v8
+    LOGFILE: smoke-test.log
+  artifacts:
+    paths:
+      - smoke.serial
+      - '*.log'
+    when: always
+  only:
+    variables:
+      - $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
+  before_script:
+    - apk --no-cache add openssh-client fakeroot
+  tags:
+    - qubes-hw2
+
 # Test jobs
 build-each-commit-gcc:
   extends: .test-jobs-common
@@ -110,6 +133,14 @@ xilinx-smoke-dom0less-arm64-gcc:
     - *arm64-test-needs
     - alpine-3.12-gcc-arm64
 
+adl-suspend-x86-64-gcc:
+  extends: .adl-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64-suspend.sh s3 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.12-gcc
+
 qemu-smoke-dom0-arm64-gcc:
   extends: .qemu-arm64
   script:
diff --git a/automation/scripts/qubes-x86-64-suspend.sh b/automation/scripts/qubes-x86-64-suspend.sh
new file mode 100755
index 000000000000..fc479c9faaec
--- /dev/null
+++ b/automation/scripts/qubes-x86-64-suspend.sh
@@ -0,0 +1,155 @@
+#!/bin/sh
+
+set -ex
+
+test_variant=$1
+
+wait_and_wakeup=
+if [ -z "${test_variant}" ]; then
+    passed="ping test passed"
+    domU_check="
+until ifconfig eth0 192.168.0.2 &> /dev/null && ping -c 10 192.168.0.1; do
+    sleep 30
+done
+echo \"${passed}\"
+"
+elif [ "${test_variant}" = "s3" ]; then
+    passed="suspend test passed"
+    wait_and_wakeup="started, suspending"
+    domU_check="
+ifconfig eth0 192.168.0.2
+echo domU started
+"
+    dom0_check="
+until grep 'domU started' /var/log/xen/console/guest-domU.log; do
+    sleep 1
+done
+echo \"${wait_and_wakeup}\"
+set -x
+echo deep > /sys/power/mem_sleep
+echo mem > /sys/power/state
+# now wait for resume
+sleep 5
+# get domU console content into test log
+tail -n 100 /var/log/xen/console/guest-domU.log
+xl list
+xl dmesg | grep 'Finishing wakeup from ACPI S3 state' || exit 1
+# check if domU is still alive
+ping -c 10 192.168.0.2 || exit 1
+echo \"${passed}\"
+"
+fi
+
+# DomU
+mkdir -p rootfs
+cd rootfs
+fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+echo "#!/bin/sh
+
+${domU_check}
+/bin/sh" > etc/local.d/xen.start
+chmod +x etc/local.d/xen.start
+echo "rc_verbose=yes" >> etc/rc.conf
+find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz
+cd ..
+rm -rf rootfs
+
+# DOM0 rootfs
+mkdir -p rootfs
+cd rootfs
+fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
+mkdir boot
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+cp -ar ../binaries/dist/install/* .
+
+echo "#!/bin/bash
+
+export LD_LIBRARY_PATH=/usr/local/lib
+bash /etc/init.d/xencommons start
+
+brctl addbr xenbr0
+brctl addif xenbr0 eth0
+ifconfig eth0 up
+ifconfig xenbr0 up
+ifconfig xenbr0 192.168.0.1
+
+xl create /etc/xen/domU.cfg
+${dom0_check}
+" > etc/local.d/xen.start
+chmod +x etc/local.d/xen.start
+# just PVH for now
+echo '
+type = "pvh"
+name = "domU"
+kernel = "/boot/vmlinuz"
+ramdisk = "/boot/initrd-domU"
+extra = "root=/dev/ram0 console=hvc0"
+memory = 512
+vif = [ "bridge=xenbr0", ]
+disk = [ ]
+' > etc/xen/domU.cfg
+
+echo "rc_verbose=yes" >> etc/rc.conf
+echo "XENCONSOLED_TRACE=all" >> etc/default/xencommons
+echo "QEMU_XEN=/bin/false" >> etc/default/xencommons
+mkdir -p var/log/xen/console
+cp ../binaries/bzImage boot/vmlinuz
+cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
+find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
+cd ..
+
+
+TFTP=/scratch/gitlab-runner/tftp
+
+echo '
+multiboot2 (http)/gitlab-ci/xen console=com1 com1=115200,8n1 loglvl=all guest_loglvl=all
+module2 (http)/gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0
+module2 (http)/gitlab-ci/initrd-dom0
+' > $TFTP/grub.cfg
+
+cp -f binaries/xen $TFTP/xen
+cp -f binaries/bzImage $TFTP/vmlinuz
+cp -f binaries/dom0-rootfs.cpio.gz $TFTP/initrd-dom0
+
+# start logging the serial; this gives interactive console, don't close its
+# stdin to not close it; the 'cat' is important, plain redirection would hang
+# until somebody opens the pipe; opening and closing the pipe is used to close
+# the console
+mkfifo /tmp/console-stdin
+cat /tmp/console-stdin |\
+ssh control@thor.testnet console | tee smoke.serial &
+
+# start the system pointing at gitlab-ci predefined config
+ssh control@thor.testnet gitlabci poweron
+trap "ssh control@thor.testnet poweroff; : > /tmp/console-stdin" EXIT
+
+if [ -n "$wait_and_wakeup" ]; then
+    # wait for suspend or a timeout
+    timeout=120
+    until grep "$wait_and_wakeup" smoke.serial || [ $timeout -le 0 ]; do
+        sleep 1;
+        : $((--timeout))
+    done
+    if [ $timeout -le 0 ]; then
+        echo "ERROR: suspend timeout, aborting"
+        exit 1
+    fi
+    # keep it suspended a bit, then wakeup
+    sleep 30
+    ssh control@thor.testnet wake
+fi
+
+# give the test time to run a bit, and then check
+sleep 30
+
+(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
+exit 0
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 03:34:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 03:34:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510879.789412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd0ra-0002go-Ks; Fri, 17 Mar 2023 03:34:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510879.789412; Fri, 17 Mar 2023 03: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 1pd0ra-0002ct-DW; Fri, 17 Mar 2023 03:34:42 +0000
Received: by outflank-mailman (input) for mailman id 510879;
 Fri, 17 Mar 2023 03: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=2ZYU=7J=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pd0rZ-0002SR-9B
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 03:34:41 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a3961e52-c474-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 04:34:37 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 216F2320091E;
 Thu, 16 Mar 2023 23:34:35 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Thu, 16 Mar 2023 23:34:35 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Mar 2023 23:34:33 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3961e52-c474-11ed-b464-930f4c7d94ae
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=1679024074; x=1679110474; bh=LF
	mqdDp6YXYTm72Vlia5HwQnvD1gMa7Se9NnalAyYU4=; b=DvAOn9BSW2wanxdHsY
	6+qVP/GVPoNTTf1k/qL2lhOWnmYv3/v4q3D8txQWQruJ5cQyprcUMYN8QgdEErqU
	ylmte6K+Lqud0k+aceI58xmWN6hMXMX3RR7BLbQMTpsF/dIqvjb/Jl/DUM+PGSr1
	AfPPSjxM2AWfZfQCgNxnfO7L/jwI/NCmfDH809odGcv6IfvlyaG+Qt0KWR/L5118
	KNjFCWus9/BAoO8AZaW5U1sTAXbVcZ4gFva6xqLx/QkENe93EpeJJXK3dRMqHtpU
	A90NIejrt6q8nIxSjIT2wOVDhiToNXWU18deJsLePHoD07Uc3bNZ0P7NN1BKX3YC
	NSfQ==
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=fm2; t=
	1679024074; x=1679110474; bh=LFmqdDp6YXYTm72Vlia5HwQnvD1gMa7Se9N
	nalAyYU4=; b=UYrOVXczwaFw/1UGdYnR1DcOnPuYu9sLsrIL3uBILQYe9//855B
	m0Btwl9qWMrTOdFszvIGfYnCX+mZWhFy6uVE+ErWllIHaWV4O9Z9d34naxc/NbdD
	sq35djsEIbY8jBPet+PcbqhuKGRNHe9HfgfbopAFXqYYAs0xKCeTpvyzNWybNR4B
	1KtAJp418V94wnUKvrgLTYqwkgCG82EEXOduYnI9VW6dcg06N8Lsm0ML5l/JV7b8
	6AyjNCvgu289aD2p5lEtvNp20g+bzwRCES/QJay0RGQAKx20qwjaMIa6S4nickUt
	oUrSYE03P2kdJrE4rBCDA3k5ushTnjq3m2w==
X-ME-Sender: <xms:yt8TZBjpxxnF4G7vZB96BAMFYQRhFMyYoRWpkh-ntHhOXhwhQWQfwQ>
    <xme:yt8TZGDrn4-PgB_HL3TZpbbuazYG7EQHZdIxxJhM5lFM4oYQeKRY77DJqIvXvEI46
    UWsq75GqMps5g>
X-ME-Received: <xmr:yt8TZBHQbwhfChe7vEj8eYKwHKTV_tsFdPYFwU0q1cThG8lr5-o48wLQDc8ApeoleAc3Q-TtdjhcrpnOPY-fQbK9-ync4Po6dg0TWLfQXLBuf8XKc90V>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdefuddgiedvucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    lefggfeuffegjeduheeigeetueegfeekjeetgffhvdeiffeiieejgfduieekgeenucffoh
    hmrghinhepghhithhlrggsrdgtohhmpdhkvghrnhgvlhdrohhrghenucevlhhushhtvghr
    ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:yt8TZGRJGt8z-ivgX08mqbeb_oAORo7JPRhkFQyDRqtHxGfJIXnlag>
    <xmx:yt8TZOzblDhU_L_wgO_d0vw46iVyS-z9bl0Cy-c55zurH1ZNEXcosA>
    <xmx:yt8TZM5HbruAVJpZ70mKDriif_zDA33o9uNXzNPEIt0qQnOclF291Q>
    <xmx:yt8TZDqdw-iz9XhLa45TbaRwDDRPgfJO_b_hEMN8lh4hH10s_VWr0g>
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 1/2] automation: build 6.1.19 kernel for x86-64 dom0
Date: Fri, 17 Mar 2023 04:34:17 +0100
Message-Id: <59ced41c97daac93abe4a2794af289d59808f0ac.1679023966.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com>
References: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It will be used in tests added in subsequent patches.
Enable config options needed for those tests.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 automation/gitlab-ci/build.yaml                     | 11 ++++-
 automation/tests-artifacts/kernel/6.1.19.dockerfile | 40 ++++++++++++++-
 2 files changed, 51 insertions(+)
 create mode 100644 automation/tests-artifacts/kernel/6.1.19.dockerfile

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 38bb22d8609b..e1799d454c76 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -790,3 +790,14 @@ kernel-5.10.74-export:
       - binaries/bzImage
   tags:
     - x86_64
+
+kernel-6.1.19-export:
+  extends: .test-jobs-artifact-common
+  image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:6.1.19
+  script:
+    - mkdir binaries && cp /bzImage binaries/bzImage
+  artifacts:
+    paths:
+      - binaries/bzImage
+  tags:
+    - x86_64
diff --git a/automation/tests-artifacts/kernel/6.1.19.dockerfile b/automation/tests-artifacts/kernel/6.1.19.dockerfile
new file mode 100644
index 000000000000..c2171555a0a6
--- /dev/null
+++ b/automation/tests-artifacts/kernel/6.1.19.dockerfile
@@ -0,0 +1,40 @@
+FROM debian:unstable
+LABEL maintainer.name="The Xen Project" \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+ENV LINUX_VERSION=6.1.19
+ENV USER root
+
+RUN mkdir /build
+WORKDIR /build
+
+# build depends
+RUN apt-get update && \
+    apt-get --quiet --yes install \
+        build-essential \
+        libssl-dev \
+        bc \
+        curl \
+        flex \
+        bison \
+        libelf-dev \
+        && \
+    apt-get autoremove -y && \
+    apt-get clean && \
+    rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
+
+# Build the kernel
+RUN curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-"$LINUX_VERSION".tar.xz && \
+    tar xvJf linux-"$LINUX_VERSION".tar.xz && \
+    cd linux-"$LINUX_VERSION" && \
+    make defconfig && \
+    make xen.config && \
+    scripts/config --enable BRIDGE && \
+    scripts/config --enable IGC && \
+    cp .config .config.orig && \
+    cat .config.orig | grep XEN | grep =m |sed 's/=m/=y/g' >> .config && \
+    make -j$(nproc) bzImage && \
+    cp arch/x86/boot/bzImage / && \
+    cd /build && \
+    rm -rf linux-"$LINUX_VERSION"*
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 03:34:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 03:34:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510877.789399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd0rZ-0002Sg-TV; Fri, 17 Mar 2023 03:34:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510877.789399; Fri, 17 Mar 2023 03:34: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 1pd0rZ-0002SY-Ni; Fri, 17 Mar 2023 03:34:41 +0000
Received: by outflank-mailman (input) for mailman id 510877;
 Fri, 17 Mar 2023 03: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=2ZYU=7J=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pd0rX-0002SG-Up
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 03:34:40 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a2b8e89c-c474-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 04:34:36 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 1A7F6320070D;
 Thu, 16 Mar 2023 23:34:33 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Thu, 16 Mar 2023 23:34:33 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 16 Mar 2023 23:34:31 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a2b8e89c-c474-11ed-87f5-c1b5be75604c
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=1679024072; x=1679110472; bh=D2alt2DJcpcVwyXKAcDwVCzCU
	75wXwa1RNsWGPg98IA=; b=auRbYld/fylymFfxGpPcM/nTX8Ry0Q661/q4iw362
	hmzCvb4JPlAX/VppN82f3Yh4idhebUdnUs7CP8Dl9ezVkT0S6GjZeZUFJLat/KeY
	X7XD/jPfdSWXHifY1hY3OSXkB2viZau106+/PNjC804MTLSkK7dld35zlcSGO8TI
	G22HpSH4iJKD0pa+99LudvI4KBF0g54jjDxCD5x0iJPDs2blA9O6Wl1neZHjY8Gr
	FJR4fATkR0/kFm/ollPZvWzAT556DkDl89hsXBU+6xVrUw1qJgsSeZjo+lJv3E5i
	hnAtkCF1+vNVw4fBhUBb67amU0YT54j5/rsPZ6PQUuzwg==
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=fm2; t=1679024072; x=1679110472; bh=D
	2alt2DJcpcVwyXKAcDwVCzCU75wXwa1RNsWGPg98IA=; b=c66ow40eawC4xFA/f
	cW2AbIxRcB9YArd9swrNNzEjuV9wvefPeuJsUxuskQcdyH++zTTiI0WJEAbGiI5+
	ekER/Iz3e+TnEQmzg10BiEM7p++ySmk/AzN9v2YTyCX48JK+xGFLs4dyfR6rF926
	nsBuPKQB/n8Qt80lh1kRlnPCsilMBNQnKPys9mk9EC+f9YMaSxJgLG8xW/ytzSuY
	NQ4v1+zu6Me1NTRhSQSKDC+gFEZ982ZJid652u6HjgA1DABRxdKEA6aJhR6SSaWw
	oV77u81B/dKpkhUm48yrQxat1Dbc8NxSuIeqDbZxaAxjzbWUi6dnhl8VE0EObv06
	pk05g==
X-ME-Sender: <xms:yN8TZOIxitZNdlIU8FRigZMnbkCthgfnDuZCCDwDw-wZmszC1kBjLA>
    <xme:yN8TZGJl9sGrFpja6NVdsx7WjIvrxf5sfDbtRy3E_vdbyDe7HblG2ykUYoULjISBs
    YdbcKL3zjSZww>
X-ME-Received: <xmr:yN8TZOuOt14zE6fJ13Ft1doggQ6frkPBwoWaIw4xNAoM1KBufL5Du1ra1nfZQBZ2srLnS3fCckBOsty-ENTiLzqwyuDK7xzbbHlJ7iv0cGdjlHzCn_Nn>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdefuddgiedvucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffogggtgfesthekre
    dtredtjeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggt
    khhiuceomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    eqnecuggftrfgrthhtvghrnhepgeegfefhvdeftdeujeefjeevvdeguefhvdeuvdelvdei
    hfeuheduheekledvveegnecuffhomhgrihhnpehgihhtlhgrsgdrtghomhdpqhhusggvsh
    dqohhsrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:yN8TZDZoFg6t026awCEC2N_nZynfOz7BpoNMj6IdBWOCuqf44SGtDQ>
    <xmx:yN8TZFanNkOqyLNziELTAgCNdWJTsbQeAWiuOvbwfjt4iKWFcxEyvg>
    <xmx:yN8TZPAfyxD_EWdY24LHEZZKSw3K9ykfZ1FCd6wla0EFQZOoGhqVVA>
    <xmx:yN8TZH0iqf6iYDq6KI4WsAWurrb_Z7Mz3Kw4jfhWG3wi_av3MxXAvA>
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 0/2] automation: add another Gitlab-CI test, x86-64 S3 this time
Date: Fri, 17 Mar 2023 04:34:16 +0100
Message-Id: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This series adds another Gitlab-CI test running on a real hardware.
The gitlab-runner I have currently connected to
https://gitlab.com/marmarek/xen. I'll need a registration token to connect it to
the official repo.
Example test run: https://gitlab.com/marmarek/xen/-/jobs/3952014197

Details about the setup:
https://www.qubes-os.org/news/2022/05/05/automated-os-testing-on-physical-laptops/

Marek Marczykowski-Górecki (2):
  automation: build 6.1.19 kernel for x86-64 dom0
  automation: add a suspend test on an Alder Lake system

 automation/gitlab-ci/build.yaml                     |  11 +-
 automation/gitlab-ci/test.yaml                      |  31 +++-
 automation/scripts/qubes-x86-64-suspend.sh          | 155 +++++++++++++-
 automation/tests-artifacts/kernel/6.1.19.dockerfile |  40 +++-
 4 files changed, 237 insertions(+)
 create mode 100755 automation/scripts/qubes-x86-64-suspend.sh
 create mode 100644 automation/tests-artifacts/kernel/6.1.19.dockerfile

base-commit: be62b1fc2aa7375d553603fca07299da765a89fe
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 04:41:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 04:41:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510891.789434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd1uJ-0004kj-GD; Fri, 17 Mar 2023 04:41:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510891.789434; Fri, 17 Mar 2023 04:41: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 1pd1uJ-0004kc-D4; Fri, 17 Mar 2023 04:41:35 +0000
Received: by outflank-mailman (input) for mailman id 510891;
 Fri, 17 Mar 2023 04:41:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pd1uI-0004kS-6W; Fri, 17 Mar 2023 04:41:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pd1uH-0004KU-Tb; Fri, 17 Mar 2023 04:41:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pd1uH-0005P3-FG; Fri, 17 Mar 2023 04:41:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pd1uH-0007Gt-Em; Fri, 17 Mar 2023 04:41:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5ny0CcDBjE48GaIxtahk1RoKmUPPcXFj9LmSePhMEYI=; b=7HmMR+Za84jLGNEiea0APhB251
	4kiMkY83IFRo+6Kpfbney6Jpg3ivIdQSfGl2gyEKJf/9ce+0AlhQIlEDqPsDx+EkkSL1Pwjh/7r5A
	kjPTzRWOkfPI07HCJnXhwA8jInQKSZo1jZHzVao80KIKtHOudv+pZrIrb53m3VP8aU9Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179682-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179682: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-pair:xen-install/src_host:fail:regression
    qemu-mainline:test-amd64-i386-pair:xen-install/dst_host:fail:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=9636e513255362c4a329e3e5fb2c97dab3c5ce47
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Mar 2023 04:41:33 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-pair         10 xen-install/src_host     fail REGR. vs. 179518
 test-amd64-i386-pair         11 xen-install/dst_host     fail REGR. vs. 179518
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                9636e513255362c4a329e3e5fb2c97dab3c5ce47
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    7 days
Failing since        179526  2023-03-10 01:53:40 Z    7 days   12 attempts
Testing same since   179682  2023-03-16 13:21:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Willem van de Velde <williamvdvelde@gmail.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 06:07:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 06:07:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510901.789455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd3FA-0007fL-Qc; Fri, 17 Mar 2023 06:07:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510901.789455; Fri, 17 Mar 2023 06:07: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 1pd3FA-0007fE-O0; Fri, 17 Mar 2023 06:07:12 +0000
Received: by outflank-mailman (input) for mailman id 510901;
 Fri, 17 Mar 2023 06:07: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 1pd3F9-0007f4-3I; Fri, 17 Mar 2023 06:07: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 1pd3F9-0006ek-1z; Fri, 17 Mar 2023 06:07: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 1pd3F8-00080o-Kk; Fri, 17 Mar 2023 06:07:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pd3F8-00053I-KJ; Fri, 17 Mar 2023 06: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bKQsiHpS2xE7sbCOLv3T3x/1WxEcDEeNB9LqgKbGu4g=; b=kPntdg+y5Vz0gf7ao19xw5NMsc
	ZUzhy4ODfRXTrFXwym6zlyNFA6K2vmo4AaRgEH2mx1xY3IwzuICAq9qAV02JhuEkd10ca5dbEq+Ti
	la16wx7LnTq8Dd/fDHhmr2fNAUL8l5TRbq3erfXtbVpdkA75DTac7VEOWU5rHVqPp/rA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179705-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179705: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=0e5717009779ec6c1e35f979426a2cd407b3e73a
X-Osstest-Versions-That:
    ovmf=16e0969ef775b898ac700f3261d76030b8ab9ef0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Mar 2023 06:07:10 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 0e5717009779ec6c1e35f979426a2cd407b3e73a
baseline version:
 ovmf                 16e0969ef775b898ac700f3261d76030b8ab9ef0

Last test of basis   179698  2023-03-16 21:45:32 Z    0 days
Testing same since   179705  2023-03-17 04:10:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Matt DeVillier <matt.devillier@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
   16e0969ef7..0e57170097  0e5717009779ec6c1e35f979426a2cd407b3e73a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 06:40:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 06:40:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510906.789469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd3lO-0004oR-Dh; Fri, 17 Mar 2023 06:40:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510906.789469; Fri, 17 Mar 2023 06:40:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd3lO-0004oK-Aq; Fri, 17 Mar 2023 06:40:30 +0000
Received: by outflank-mailman (input) for mailman id 510906;
 Fri, 17 Mar 2023 06:40:29 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=hL2n=7J=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pd3lN-0004oC-70
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 06:40:29 +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 98b4f326-c48e-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 07:40: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-out2.suse.de (Postfix) with ESMTPS id 12F561FDD8;
 Fri, 17 Mar 2023 06:40: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 DF10113428;
 Fri, 17 Mar 2023 06:40:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wksJNVcLFGQhfwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 17 Mar 2023 06: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: 98b4f326-c48e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679035224; 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=oXhQ00jPveWGt6xvfgqkrGOY8fgVyIZGH7STWyheHWY=;
	b=E1t/Sg7Ji8i0b2pYewTrDjtoAbUewcg/C5VkVXR9piZ0rjNgQLg9gzt99o1W0Vosl/rP6T
	8Ndj7sJyl7xhgjhtsCXV+2rRxks2BF9P9A8LwWnKKnMXcPVvnULAUrDpXixWjmLC9bS7ls
	GgZ5NxXpUshiyN+P/oUavsDn/ONtHsY=
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.3-rc3
Date: Fri, 17 Mar 2023 07:40:23 +0100
Message-Id: <20230317064023.1229-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.3-rc3-tag

xen: branch for v6.3-rc3

It contains:

- a small cleanup series for xen time handling
- a patch for enabling the VGA console in a Xen PVH dom0
- a small cleanup patch for the xenfs driver

Thanks.

Juergen

 arch/x86/include/asm/xen/cpuid.h | 22 ++++++++++++++++++----
 arch/x86/xen/Makefile            |  2 +-
 arch/x86/xen/enlighten_pv.c      |  3 ++-
 arch/x86/xen/enlighten_pvh.c     | 13 +++++++++++++
 arch/x86/xen/time.c              |  7 ++-----
 arch/x86/xen/vga.c               |  5 ++---
 arch/x86/xen/xen-ops.h           |  7 ++++---
 drivers/xen/xenfs/xensyms.c      | 10 +++++-----
 include/xen/interface/platform.h |  3 +++
 9 files changed, 50 insertions(+), 22 deletions(-)

Jan Beulich (1):
      x86/PVH: obtain VGA console info in Dom0

Krister Johansen (2):
      xen: update arch/x86/include/asm/xen/cpuid.h
      x86/xen/time: cleanup xen_tsc_safe_clocksource

Yu Zhe (1):
      xen: remove unnecessary (void*) conversions


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 08:22:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 08:22:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510919.789491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd5Lu-0001jx-6l; Fri, 17 Mar 2023 08:22:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510919.789491; Fri, 17 Mar 2023 08: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 1pd5Lu-0001jq-3s; Fri, 17 Mar 2023 08:22:18 +0000
Received: by outflank-mailman (input) for mailman id 510919;
 Fri, 17 Mar 2023 08: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=+pkZ=7J=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pd5Ls-0001jk-Tu
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 08:22:17 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2062e.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d28664e0-c49c-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 09:22:15 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by GVXPR04MB9832.eurprd04.prod.outlook.com (2603:10a6:150:119::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Fri, 17 Mar
 2023 08:22:11 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 08:22: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: d28664e0-c49c-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SJNrYgso3R3kdfHuaHEfyQF5D5TwdTAPvZ9AdZUQpBjdqUqYLq31hEtlRycEqXeXt/4sb1C3uD7kVjSjPGMYgiM7XNflYQBnXzunAUPWg6UGwVJUhkTK1AQx6VExn6EaqvnXKe89jCm1RvUeR5waTWkTU5XrdxfZG2G2xl/nWbCTocLGH+O2s7DXNyUj6SN6wRgmeHftP7rr2OhAczvnTC9lZ/l/PIvbpg8kjvvYOjTYMbqCrqrecTAbLn50Eq0XGKemF+3KYzC76QBPTkZuMf1ziDXM0IqOBzaLBhK4sNdzV0SLinGfAlVCpymZm51baLve8xr+0Ha+4WG3pwpoAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RG3Sj4YBBnH8+KJafntZ1Sr3s1Kmi0aYm/goaF74ReM=;
 b=gX+HO7TC1l5eTpMo9GEV13ltaMuuvBkNrRXqErTAjCb1Gk5Gw0yOPZCTkjQ9WN0mzTVbQvtf4t2PN5yCiwFOmdagJ5MbOmwEYiDMi0JqrkhHZPvVi0YVSRatuVAC93gCBRnV+lyADSHcgr8ijyIzgCWAKo+H8A/rlLjxDVXLaoVuVUAVjqFCAScVpfGRITWRz7KrZEGX+VL2wkfXesb6Hn1xCZ6iA6lQZEnaAVA7NDtHo6zTks/roF/GVjfy3851bKtq3vxzJGxJjey43JUUEHIdH4vsU829gTUbKqkP1cckjiui/Eg8+QyTgMxGKRZhRNP5FSi6N/DCrS4JOeVZSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RG3Sj4YBBnH8+KJafntZ1Sr3s1Kmi0aYm/goaF74ReM=;
 b=yqL32TJrbudyF6M5mZNAimYaBKn5G2O7NbmQJgPzSbm2aaULms3Je/uPf8ihs4HQWzklYerXy8R15dDGq1LcF3gUc0FI2nwrEklGa69/8JpsY2VYCBYKWmkoKqlIg0rLhxqzwQWp/npf7fQX+392U9SUfupJW3hAREV+6B0lXsrvSLGKVGAYGQYIgwpuJxb0/fqror4wrx/OZvBk84rBciG5geKuIDJGJbcVRIBV4FKZwOQVW/o4ZnH27gx8Dt/JrBGFGB7HZWciCjOrLLRrjOPrKsOnuOJiRCCsYutYS5Ti+ZvbW3ohKpazAghvV/PNjByaeAuP/TAVwLFxq4mllg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e5b28dae-3699-cb0d-ab7e-42fdd42d3222@suse.com>
Date: Fri, 17 Mar 2023 09:22:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [BUG] x2apic broken with current AMD hardware
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: xen-devel@lists.xenproject.org
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
 <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
 <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0129.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|GVXPR04MB9832:EE_
X-MS-Office365-Filtering-Correlation-Id: f83970bb-2fbd-4bf8-eab1-08db26c0b496
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zQnnSl1z6/IguvLP6G7XecAvzfim8NmIOo5Zcxgxb5qjOUPzkiT0/p0J/SHC2GiTAOFkf5/HM/yfDHx+q7+UgVe8sg1B81pcW+FtsD8ydYCiBx9JKpEFSzF2J03Hya5gdAnQv+ikOi/76C48R8I/DjPEJlQVq3i5t5Vry4kZsYFZwgPjD4BcwycAHi6I3kl0zIItvsklxQg+edt8FzrjAWLMK40N6coxtpjJ3+cC1UbkIdXJAmFSxL+5v1JPHwonM+Jx9aXKPVQ9tw8OmqOPemMeMTvwT/TKIdOPNxdkrMhCowZ3RfO4rjmac7zl2L1u0sodMVrSWTUJ/dXbR5EG2vmxlLOBaum5cemUf0BOJUl4rOxTIH5M48ZEyIVMX9oVsDGSgdoo3+qd4tKJFMNi/L/irhD6T7qcJQwE9mvocbhTDShm3EhF/+LwfOlSa3cTtbzD2/dUxjWyD6G6YlXk/Ay3x2VvtP3wwqhhzgHwdViqgTihNmDgA5nGGEnai2AUQF+2Of6szme/7rI7wbymUL+G3ManmhwWzfXSepqYtmrcMQ9OnAT/krT+T9ox5NvNXWk4yiyasoR0Snp+Hkl+u9ISHMT3O/BtljDrHsnaMM07PNrDN3DIwqKyzXDU8VbxOr0W4oGfEQFoHX2eRPG9YCgACGT/2FNVDhA1vmNvmyobw4qipi1iPRa76J/G4hEAShsFNxNe8gFfcy/FuUvRVEndX7bNgPjaOhQWGT8U3DI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(136003)(376002)(39860400002)(346002)(451199018)(31686004)(2906002)(8936002)(41300700001)(5660300002)(36756003)(38100700002)(86362001)(31696002)(478600001)(8676002)(6486002)(66556008)(66476007)(66946007)(2616005)(6512007)(26005)(4326008)(316002)(53546011)(83380400001)(6506007)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dE45QzJaTUhTcmxIVDBwTFNpUDlWRW1Wa2FhT2VrbERjUGlTZ2VBRTFxYzAz?=
 =?utf-8?B?Um11K1h1dU5DaXFBZUdJYjRrOEZ5UExJVEh6Q2xkSzM1ejBTRC9uWittZXp4?=
 =?utf-8?B?ZWRNK0dkVnFtU1NtUkxiM3FIenNQVTlUWVFuSXhpbVA3UFpCTVM1TElOUDhR?=
 =?utf-8?B?QUV1YjFSS2NCT3hZOW0walA3VDRucWQyaFBLSGd4c0Zadm1rRDA2dy8yR2Rq?=
 =?utf-8?B?WnNxWWY5MGJ0NEoybWx4VytDZjgwbUVNd1c3V2tvblpkNnd2d25QNWpQOTUv?=
 =?utf-8?B?ODNrRmtrSXEzVUZCaFNmRFNrdjl1WVpIK3BSeDN3eWtNdDBlMU9IbS9BelI0?=
 =?utf-8?B?QjRpbnFUVC94QU80NVFrdjhPc3ZRSVpTRmFjMmJ1SDdGQUtsekw4VFhWZksv?=
 =?utf-8?B?ZTFDVDF1SEhZSkFEYkJLMUd6aVc3VnlUcXV0Um41cHA0alFNL0pkWHJPRDVk?=
 =?utf-8?B?dUVBb1B4a2FhcHNHeEZlT2dIVVovaGtoOUUrdXBBRlBzQkFFTFh4eURzZnIw?=
 =?utf-8?B?OGpDK3p2QTRHNTlWQWQ0S2tka1MrNWV5OGZPdUlqVmpsZjRWejFPdDVPNVIr?=
 =?utf-8?B?Zkd3NDRVQmtaUGpwTnNtdENMcFRmTjEzOExjRHJwMDdmTitWeHN4K3BtKzIv?=
 =?utf-8?B?TkpJc29JVjdZRWNCZzY5dXNPV1pTRHJ3ZW5lMmVkWlFWd2FhZlVUNzNKNWJ3?=
 =?utf-8?B?NGZReGMyN2REY216RFcvUC9hZEVQc0pXK1d3MnpMSmxjQ01PMTIyejdiWnJa?=
 =?utf-8?B?TXBGSUFYRzJFTTFJMEIyaHMydlpSQkpLTWJYc1lZRzkzR0lQZXFRdUpNSU5u?=
 =?utf-8?B?T0hIMGZXdHFoKzl6TGl3RGJMZjUrY2Z6UzUxYktpZEdCT2dEZzllWkNMMEs5?=
 =?utf-8?B?eGl3M2t4Yy8wR0ZhcHRWN1RTZ2dBWGdZcnplQ2tZcDhOOGh5dU5mN25IOWF4?=
 =?utf-8?B?YlBUdUVFV2NGSGFnQnRDV3gvMFBpbzZxcDNSNm04cENuTFdqQmlRWEduQ2xQ?=
 =?utf-8?B?c0J1dGxoc3hNQ3lETkdTSklUTnB3RXVzZi9zT2tNUkV1K3dMOTUyQnA0azVa?=
 =?utf-8?B?SlMzNHZya0ZyOHFianV1SzRzREJmbzdEWVFhNFJKQ1UyWmw0aW56ck51SDdP?=
 =?utf-8?B?Rm9zdm9ESE01YUI2ekk3RWpFV0F1NlpEZGtBMXpwb1FuUVpESFZtamtvbFJH?=
 =?utf-8?B?NThZUnpxcHh3aHJycVY1MklYczVTaDFickcyalo0TmUrWHNlaVdmNTg4bTFo?=
 =?utf-8?B?a3NaWVd4MGg5cnE3NXJwTGlUUCtQY3JWNFRBUHdWYjFhb2hOT1k1cFVEdnhx?=
 =?utf-8?B?cmFhZ0Z5a1o5aTloN3VGeWcwWTE5RXVndzUvQitwNmhPYk10UWNBTUtnTllt?=
 =?utf-8?B?WjRCcnQ0ZTRBOVB0OStrYVM2RjNhTlVEWERHR21xdXVockQzQVo1ZzIxVGtn?=
 =?utf-8?B?d0oraGpwdDFGSDIzVTRkdUNxa3QyWkNFT0NCTU5CS3Z2QVUrNTd6dVRSMmV0?=
 =?utf-8?B?dGs3Skl1Ry92TzJidC94V0ZIUDE1aUtqSUxoaUJVWjNmejhBRmt5dWxOOGUr?=
 =?utf-8?B?cFh0R3hCWGVWMWRTTVk2VE02WUcwRFlJcjRQTEM2SHIxNndCcHV1M0dFQUpI?=
 =?utf-8?B?WnlSZHNWcTRDZjM5ZmozWndhbHhMVVcwUXU4WjRvUGJWRkVkVHVycUtvQmd0?=
 =?utf-8?B?VjlHNncrcWlvRngvR05MOGI3QXMzQkVVa1JmVSszS2xSMmxURXhMU3M3a2hO?=
 =?utf-8?B?ZklDb0ljMlVZVHRQZ2VqQk95KzMyZnk2bms4c3YxVzJTTHJkbnVMTHlkS0ZS?=
 =?utf-8?B?dXJCVGs4MVY2U0Vnc2dQdXNSTTNtL0RxbDZXZUYvSlZtbFJPc1FsRDV5VHBT?=
 =?utf-8?B?by9DczBTUllwVVpEUWhmQ3M3R1cyb1hWaXJ6VGY4TzBLaDhuNkUyVms2Mjg5?=
 =?utf-8?B?ajJTdXR6KzNmTHRvUlhSTUVld2l6YjRCWHJDOTRkVG5IV0hZMndyZUVnbHRF?=
 =?utf-8?B?QVBJdllrc1d5VVVQZDdTeEROZUhsOVh4b1dnZFdSZEtTd3RqZTUyMm1YNXZo?=
 =?utf-8?B?VFd2QkxxRTAxR0QyUDd3b3dKQVRZSFhMa3FCNitVczFnRkxGcHE0M0hiQ1Jk?=
 =?utf-8?Q?I3MFOkbowTtUd+jtH8Y9CDnxt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f83970bb-2fbd-4bf8-eab1-08db26c0b496
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 08:22:10.9985
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: o47zv1zj+aC5SkEyzjkjJcktEVZfEfJlVPo/m5zkgMYaYMfbQhCYp/GFXNoBzXwRe3nz04O1MfBLGBbvlawOMA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9832

On 16.03.2023 23:03, Elliott Mitchell wrote:
> On Mon, Mar 13, 2023 at 08:01:02AM +0100, Jan Beulich wrote:
>> On 11.03.2023 01:09, Elliott Mitchell wrote:
>>> On Thu, Mar 09, 2023 at 10:03:23AM +0100, Jan Beulich wrote:
>>>>
>>>> In any event you will want to collect a serial log at maximum verbosity.
>>>> It would also be of interest to know whether turning off the IOMMU avoids
>>>> the issue as well (on the assumption that your system has less than 255
>>>> CPUs).
>>>
>>> I think I might have figured out the situation in a different fashion.
>>>
>>> I was taking a look at the BIOS manual for this motherboard and noticed
>>> a mention of a "Local APIC Mode" setting.  Four values are listed
>>> "Compatibility", "xAPIC", "x2APIC", and "Auto".
>>>
>>> That is the sort of setting I likely left at "Auto" and that may well
>>> result in x2 functionality being disabled.  Perhaps the x2APIC
>>> functionality on AMD is detecting whether the hardware is present, and
>>> failing to test whether it has been enabled?  (could be useful to output
>>> a message suggesting enabling the hardware feature)
>>
>> Can we please move to a little more technical terms here? What is "present"
>> and "enabled" in your view? I don't suppose you mean the CPUID bit (which
>> we check) and the x2APIC-mode-enable one (which we drive as needed). It's
>> also left unclear what the four modes of BIOS operation evaluate to. Even
>> if we knew that, overriding e.g. "Compatibility" (which likely means some
>> form of "disabled" / "hidden") isn't normally an appropriate thing to do.
>> In "Auto" mode Xen likely should work - the only way I could interpret the
>> the other modes are "xAPIC" meaning no x2APIC ACPI tables entries (and
>> presumably the CPUID bit also masked), "x2APIC" meaning x2APIC mode pre-
>> enabled by firmware, and "Auto" leaving it to the OS to select. Yet that's
>> speculation on my part ...
> 
> I provided the information I had discovered.  There is a setting for this
> motherboard (likely present on some similar motherboards) which /may/
> effect the issue.  I doubt I've tried "compatibility", but none of the
> values I've tried have gotten the system to boot without "x2apic=false"
> on Xen's command-line.
> 
> When setting to "x2APIC" just after "(XEN) AMD-Vi: IOMMU Extended Features:"
> I see the line "(XEN) - x2APIC".  Later is the line
> "(XEN) x2APIC mode is already enabled by BIOS."  I'll guess "Auto"
> leaves the x2APIC turned off since neither line is present.

When "(XEN) - x2APIC" is absent the IOMMU can't be switched into x2APIC
mode. Are you sure that's the case when using "Auto"?

> Both cases the line "(XEN) Switched to APIC driver x2apic_cluster" is
> present (so perhaps "Auto" merely doesn't activate it).

Did you also try "x2apic_phys" on the Xen command line (just to be sure
this isn't a clustered-mode only issue)?

> Appears error_interrupt() needs locking or some concurrency handling
> mechanism since the last error is jumbled.  With the setting "x2APIC"
> I get a bunch of:
> "(XEN) APIC error on CPU#: 00(08)(XEN) APIC error on CPU#: 00(08)"
> (apparently one for each core)
> Followed by "Receive accept error, Receive accept error," (again,
> apparently one for each core).  Then a bunch of newlines (same pattern).

This is a known issue, but since the messages shouldn't appear in the
first place so far no-one has bothered to address this.

> With the setting "auto" the last message is a series of
> "(XEN) CPU#: No irq handler for vector ## (IRQ -2147483648, LAPIC)" on
> 2 different cores.  Rather more of the lines were from one core, the
> vector value varied some.
> 
> Notable both sets of final error messages appeared after the Domain 0
> kernel thought it had been operating for >30 seconds.  Lack of
> response to interrupt generating events (pressing keys on USB keyboard)
> suggests interrupts weren't getting through.
> 
> 
> With "x2apic=false" error messages similar to the "Local APIC Mode"
> of "x2APIC" appear >45 seconds after Domain 0 kernel start.  Of note
> first "(XEN) APIC error on CPU#: 00(08)(XEN) APIC error on CPU#: 00(08)"
> appears for all cores with "Receive accept error,".
> 
> Yet later a variation on this message starts appearing:
> "(XEN) APIC error on CPU#: 08(08)(XEN) APIC error on CPU#: 08(08)"
> this one appears multiple times.

That's certainly odd, as it suggests that things were okay for a short
while.

> If one was to want full logs, the lack of secure communications channel
> would be an issue (since filtering out identifying data is difficult).
> DSA-3072 with SHA2-256 is now less than wonderful, but DSA-1024 and
> ElGamal 2048 are right out.

I think how good or bad my publicly available key is doesn't matter here
at all. You're not asked to provide the logs to me or any other
individual; you're asked to provide the logs to the community, such that
anyone interested may take a stab at addressing the issue. Eventual
patches may also want to refer to (parts of) such logs, which wouldn't
be possible if they weren't to be public in the first place.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 08:36:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 08:36:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510926.789501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd5ZM-0003ar-EE; Fri, 17 Mar 2023 08:36:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510926.789501; Fri, 17 Mar 2023 08:36: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 1pd5ZM-0003ak-AN; Fri, 17 Mar 2023 08:36:12 +0000
Received: by outflank-mailman (input) for mailman id 510926;
 Fri, 17 Mar 2023 08:36: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=+pkZ=7J=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pd5ZK-0003ae-Sk
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 08:36:10 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0617.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c193212e-c49e-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 09:36:05 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7486.eurprd04.prod.outlook.com (2603:10a6:800:1b2::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 08:36:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 08:36:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c193212e-c49e-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MvLDgmJ6Fvr0v1qjkk0yh9Mog3PLgC4vCRH8ffWwrIKjjh08dXicWiUImD9OX74TUXN0vCall5A+f9Dwd88R+aP8pux3lSV9EcXgt15+9TBNIXZ4Zx6YmS41gM0N08jU6mKO352Yv4Ru2z5YBH2WVdY3eucGDtw0CNZ9ibEqeu3QFhvagxZIJ+nLThmQ5NYSHpAko9JwB7VShYQlQHxN+9JeEWG3RvxEZCseZLmD0FMAd23mBnYJQ7yQ4xh49Q/mZw0wb3p7Sn17fxJOwY4gSZRzn1JM3qdUCnhMQoHCF2vNIvq3s2UWqT0YFsLWIuasJevBZXf/tH/nD6KGH8y6Rw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oVfivTb6ESZPZFA4yEzEv6+i/Vdza1OGnc4z3izec7g=;
 b=GN05g5VcI/og18/9uHCx/SVHNyQwF/lfIZogidYtIugU8ZF0hWb++sVYdzrgnstbSOxaq8+wOk90/WRH1zG/YTcHK2ZeTQ9iAB7X1xgb2VJAWLbhsqT8SDpaaMUl+TbLzwClLDgBzaIaeKGh4H/oDh5+nHAzaZWj/EFZIGFVnE9a+gXnaG6+n/w1ks/tUIZ6ySwIUDm098GAHkhx5dwxzePdzCPDBcncgQBOLYjkqJuKlo3ruXCEAebFSYARzrK/LFYSmmiSUbcI7/jmJSLV/BXEMlHdEbsKcSYI4i7Iu3R78NZXgaVGzoKpBs7AUZN/gpElXFZs63P35lBdLVWlyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oVfivTb6ESZPZFA4yEzEv6+i/Vdza1OGnc4z3izec7g=;
 b=SwzpUkHM7MYAlGUmXBQsjyR6diU/E3Wy2gVKCOUFnn5tZwcvqJ09viW3tw29YhiPX66prwuWPmnk6T8iP+hWV6b8/HaF/iq/g/25M3SOQSceQTFtTyO7+bjoyMqJMWNH5OgmAVlgye9Q5HXmWWliUJVi/yEOe0+q0dW/Rm3VrZOMe0CbSBmbx5ATVGHhFhfgnLX93CZsOQZDTGCHTfu/Wl4OokNLZoNFh+lzQMnDjYuha51hHxxO1X0g5DXBunGqJiHFBcL1UuDHkp8MdhiGtwng4/Ddas+qHblTHvTS5M7zTvetYePnUrDXcZhGfuqcdcYi1hzYCE+HZsojVQfbIQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <02d111e0-000b-ff82-9483-6301c18e5172@suse.com>
Date: Fri, 17 Mar 2023 09:36:00 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] xen/console: Skip switching serial input to non
 existing domains
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Michal Orzel <michal.orzel@amd.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: <20230316102635.6497-1-michal.orzel@amd.com>
 <d9654392-ce4b-07b6-9be0-7a6d4230c287@suse.com>
 <alpine.DEB.2.22.394.2303161559250.3359@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2303161559250.3359@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0138.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7486:EE_
X-MS-Office365-Filtering-Correlation-Id: 24209220-99f7-4b5b-9df7-08db26c2a4c4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	E35xC/N3s/s9Iex8D6tGQd1wv0kaVZ7a+fj1wLJHkU6FJ9pt2+Fij5ZgYpOBWbJlKkTD/viCluMYbcB259dcS6ZhniY82nCeWhyiU+cusrC2wmKeDX0NpuUDOwYyJO10mlT94Tdyf5esegi+1uDhUSUiTZ6odh/QdBOAl0stOAb/dk9kKKipjux4BiO2Hm9oS9uaiExjhmmTsBZUTK1FoujIGy0Tlb16iqjgVnMp10vEP89MI1I8MZR/YDAAWpbspN/6PxhvoRgn/uK7/EloZC2+KiUdIANKMUKua+2ySj1asWW13dApZtezMvZugoXdwGKA+JzExq+5t6YPomuwDiMw25J292bMvU69p4NrqyNUfMHWZ+zaIvhNrZdJE4UVoIRDSRnrz1oQqMe6VKgnEEo+8hCtmR4BfQWOmqgj42ezQo0NexZSrt3opLgGc2mL3eOfZOnPr67atcejrQElZIIE+2XwPq0TXz1zQ1mVGLKOJYsYoWGvB2VgZDOOsySNOOgbcDdaLo+4S5loEFKyVPzcglsJ+R+DzpmbXic68jmaYFHqqeyWjpBXp5sj4w/PckmZLgWvMab5n7stPibAg0eFxVO7hiQV9HWxxITLQGhnHXd1rI9DRWn/Ti5tcEOpTdpIVvEaRZCztkvO3NPs0WFy3ByYI9SCbBWz+Wt+u6GShIYg/WxfPdwIaMLnOvBQKb1+wJbpQje33E8hd1v/vMkq0qN5M80iGEf9nMcuRuY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(346002)(39860400002)(366004)(136003)(376002)(451199018)(186003)(2616005)(6486002)(31686004)(2906002)(83380400001)(478600001)(6506007)(6512007)(26005)(53546011)(54906003)(316002)(8676002)(66556008)(66476007)(66946007)(4326008)(6916009)(8936002)(41300700001)(5660300002)(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?SUJYRWhSbWtOa01HMnpqNWZWNHNnZ0xZMXNCVzVmcHlTWUVpbnJBQURSaGxa?=
 =?utf-8?B?cVpuMzZqK0RNNlBYYTd5U0dsck1wbkpQWFdSR2R2SEQySXU1SU05VzlYblF6?=
 =?utf-8?B?UEZ4NUc5aXNBVU9DUkQwYUZ5WW5EZk9iNnJvdm5wMkF0NlBQeEowUUo0cUdp?=
 =?utf-8?B?MkJHbkJEYUs2dGxXb3NzaDM1WVB6bCtDQTlSY1ZDQndjSXV2MHU5YUpMQzYv?=
 =?utf-8?B?WTYzM3B0WDhpNjc2ekJCQS9VZ2xLU2NDNU5HeHdsYXQ4czNzQVJvQ2JrQjNv?=
 =?utf-8?B?OXpHMGd1ZlUzWUI1Q1B6NWZyWEl6TTdBS01xdk15NFRTdWVHMG50RGlYL3BY?=
 =?utf-8?B?R1p5bXkraUh6V0NBbXRmVTZJZnJib1RpR2NVcnp2dXl1NEJmZ1ZzWXR3RFFG?=
 =?utf-8?B?a3Vza1IzMlJ0SStpb25JRjd3QWNwL1BzQWUxVVBRalBHa2tqMThrNnVTT0xS?=
 =?utf-8?B?SjA3YXJJVWs3aW5YbUVOTHYyWnprNEhzRDl6ak1zc0JIODRXQmE3Y1c5Qlcz?=
 =?utf-8?B?d0xxamxvenB5VVJlNHZlZElwU0RRZFdkejYycUFtRjZFeUt6VWV6cDdzcDRN?=
 =?utf-8?B?MnR4VUxqNDJ3c0hrV0xDQXJXQ3FCUFQ2a1U5SjJSUU1uV2tHN3FPV1FKSHlG?=
 =?utf-8?B?bGNKcmFwWnNFY09pMmdZcmp1MGtVR2sxK2wxSVR5Tkg4MGx5SzlqcGdFSVlw?=
 =?utf-8?B?aTN5MTFWMUp6cEcwN0VxbkVkRFAydmlPUC9kb3VCWHRsREtZMlUvbDBSYkF4?=
 =?utf-8?B?UGR4ZGNob1FFODZIdDhwTkhWWGczT09ZK3YrbGxDSUk4MnlPYkdCQmZzbXhT?=
 =?utf-8?B?VXljcUJKNThBRExHK1UxV0F3azg3czlMWEZBSUxSdFhlMStrRmc3c016aWUy?=
 =?utf-8?B?Y1RQWnRiTWxIc2dtRU1XYy9LWCtXNjN6WFFTQ1ZweGVVN3BRa0dDUS9yTWZ4?=
 =?utf-8?B?dU9hNmhsanAxYU5taExINWZBN3NEaUpYaGszQVpKeTliNW10cHZSRHZiT1Az?=
 =?utf-8?B?M0VCa3g5Z1N5UWdTS1hyMldlY3Mxd0JrcUh0T1VkQkJ2UWlFeGdadDVDRW1G?=
 =?utf-8?B?djY2RDBXZjc4RGNYcm04WFpSalRnZXdYbzNxbnlSbjZmcnYxZGJGWWtIOCs3?=
 =?utf-8?B?MDE0T3JFeERFVmFqbm8zelpWM3R3dDc2dW1UM25NS1hnUXdhYU10UU9hSGs1?=
 =?utf-8?B?KzROYytLQ1NGVUdGb1EzTXdQYW5QRlNqT3FCTitQbzJ5TU1sUXJDMUc0V25E?=
 =?utf-8?B?NEViV2prYkpLb2hwMGx3OUNrRjVjZWhQM0lMb2FLS3h2Q2FqMmpWVTVENVZP?=
 =?utf-8?B?bGFTb0pxR1B3QllHYjFZNFBQUE8vUXFHOEdrQlJQNEExY3NXZGNlK1lTVm8w?=
 =?utf-8?B?L0phblMvdStyeEFJdFp3dXZJTmF5NlZ0YThXTEg5TzdpZ2Yremc5THQ0NUZM?=
 =?utf-8?B?L0J5cnh6ZUlHL0NlSGNGMzMrT1lVN2VQcDdHOE05YzVqbEtzcWZVWjBjVXZr?=
 =?utf-8?B?MVJldWtLUDJLMURRRWlicFZVU3RxVnNRcGRRcmFHQzB3QnYyeUd5SlBZUGs5?=
 =?utf-8?B?L2FSM2lXZVBUTXM3SjlPMHVlTThhNHNobnUvbXovVGZLeGhnMTRHRXFON2NW?=
 =?utf-8?B?WUdERUR4SnBzNHNTaCt2ZzYwT2lER0pkUElnWE4vNDNib1l3OEQvb3grTERJ?=
 =?utf-8?B?ZndVNlRnZSthSCtDRllhNlhTL1dmUkw0RkFrMlBPczQ3Mm9yUVRUN1lhbm5D?=
 =?utf-8?B?VE1hZEYwSEpIYUUvMlRxUkZXZEJEMnZaMForbVdsdTQ4R3VlRVM3VWZiQklv?=
 =?utf-8?B?MXE4blZwWitsNkl0c2lRcm9aODdxOEYxTi8rN0trL1JUNittYmpja2tFVWk5?=
 =?utf-8?B?Yjhvd1JJSk9YYTE2NldNUmV6SzJ2UWl1NmtrZjgvYy9ib2dBRFRlcVN6TkxP?=
 =?utf-8?B?WVRIMUg2VEFnbzAxVHdITFdISEpGaW92ZkEraDNXYzlXVUVnOEQxaEpZaEhM?=
 =?utf-8?B?ckxpSkFCSHhqajM1WnNxRWJvRFk1dUN0bmlTZmQ3WFZtTXY5d2ZvdUNGNVVL?=
 =?utf-8?B?aUJjdjVTdkFlVy9XbEZVNUJtL211YkhyRnBsTTFBZ29Xa05HTmVLUGR0MEd0?=
 =?utf-8?Q?K8uoYrpCrb2QV77UfNZSoZXbs?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 24209220-99f7-4b5b-9df7-08db26c2a4c4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 08:36:03.4479
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vYbuaNC56Xms+rQzYx5LY5kKxkHxq+gmTLIYleOwNQO7g9vZNDHEOhDavjXDhYy+Fkwlq9oyFe1MxeHrdJhW7Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7486

On 16.03.2023 23:59, Stefano Stabellini wrote:
> On Thu, 16 Mar 2023, Jan Beulich wrote:
>> On 16.03.2023 11:26, Michal Orzel wrote:
>>> --- a/xen/drivers/char/console.c
>>> +++ b/xen/drivers/char/console.c
>>> @@ -490,7 +490,24 @@ static void switch_serial_input(void)
>>>      }
>>>      else
>>>      {
>>> -        console_rx++;
>>> +        unsigned int next_rx = console_rx + 1;
>>> +
>>> +        /* Skip switching serial input to non existing domains */
>>> +        while ( next_rx < max_init_domid + 1 )
>>> +        {
>>> +            struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
>>> +
>>> +            if ( d )
>>> +            {
>>> +                rcu_unlock_domain(d);
>>> +                break;
>>> +            }
>>> +
>>> +            next_rx++;
>>> +        }
>>> +
>>> +        console_rx = next_rx;
>>> +
>>>          printk("*** Serial input to DOM%d", console_rx - 1);
>>>      }
>>
>> While at the first glance (when you sent it in reply to v1) it looked okay,
>> I'm afraid it really isn't: Please consider what happens when the last of
>> the DomU-s doesn't exist anymore. (You don't really check whether it still
>> exists, because the range check comes ahead of the existence one.) In that
>> case you want to move from second-to-last to Xen. I expect the entire
>> if/else construct wants to be inside the loop.
> 
> I don't think we need another loop, just a check if we found a domain or

I didn't say "another loop", but I suggested that the loop needs to be
around the if/else. Of course this can be transformed into equivalent
forms, like ...

> not. E.g.:
> 
> 
>     unsigned int next_rx = console_rx + 1;
> 
>     /* Skip switching serial input to non existing domains */
>     while ( next_rx < max_init_domid + 1 )
>     {
>         struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
> 
>         if ( d )
>         {
>             rcu_unlock_domain(d);
>             console_rx = next_rx;
>             printk("*** Serial input to DOM%d", console_rx - 1);
>             break;
>         }
> 
>         next_rx++;
>     }
> 
>     /* no domain found */
>     console_rx = 0;
>     printk("*** Serial input to Xen");

... what you suggest (or at least almost, because the way it's written
we'd always switch to Xen).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 08:38:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 08:38:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510931.789510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd5bB-0004CO-SB; Fri, 17 Mar 2023 08:38:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510931.789510; Fri, 17 Mar 2023 08:38:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd5bB-0004CH-PM; Fri, 17 Mar 2023 08:38:05 +0000
Received: by outflank-mailman (input) for mailman id 510931;
 Fri, 17 Mar 2023 08:38: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=001K=7J=citrix.com=prvs=433d55c46=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pd5b9-0004C9-RZ
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 08:38:04 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 054ea31a-c49f-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 09:38:00 +0100 (CET)
Received: from mail-dm3nam02lp2045.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 04:37:39 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DS7PR03MB5512.namprd03.prod.outlook.com (2603:10b6:5:2c1::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 08:37:35 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Fri, 17 Mar 2023
 08:37: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: 054ea31a-c49f-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679042280;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=1aa/bsn6uFWAnot3MneG2CCvIx24wvKDwsDFiNJJU54=;
  b=WVmYpiL34cXnN0u7wAuHTBEaHDWFzSKgagmW4rq6XQ/rRkdMN3JX9nqc
   J3tt67qNuFzabOL/AOuzC2icGkfkiElwkJvO4jynq52euyaN//qrH7y9X
   ThihserkTvHpisj43/tGCMvJDxnU/Je8YPt6HltMqMoZoECFECHxAFcxn
   Q=;
X-IronPort-RemoteIP: 104.47.56.45
X-IronPort-MID: 103654892
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:WVeC7K0FqaN5Hep/vPbD5RRwkn2cJEfYwER7XKvMYLTBsI5bp2dTm
 zcZW2jXPviIYjGnLdp1Pdy/80kHsZ/cx4JkSVA4pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdnOqgS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfKn9Xp
 KIUIgI3aRWu3bmc5b2ecrU2mZF2RCXrFNt3VnBI6xj8VaxjbbWYBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvS6PkWSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03bGSwXOqAur+EpWGx/4xunCR41cKSycyfF+wm8Kdp0ihDoc3x
 0s8v3BGQbIJ3HKsSt7xThipukmutxQXW8dTO+Ai4QTLwa3Riy6JC25BQjNfZdgOsM4tWSdsx
 lKPh8nuBzFkrPuSU3313pCQoDCpMC4ZN1grYyMeUBAF6NnupoI0ph/XR9MlG6mw5uAZAhn1y
 jGO6SQ73LMaiJZR073hpQyaxTWxupLOUwg5oB3NWX6o5R94Y4jjYJG07V/c7rBLK4PxokS9g
 UXoUvO2tIgmZaxhXgTRGo3hwJnBCy65DQDh
IronPort-HdrOrdr: A9a23:XYg0ZaCUKqReGpzlHela55DYdb4zR+YMi2TDt3oddfWaSKylfq
 GV7ZImPHrP4gr5N0tOpTntAse9qDbnhPxICOoqTNCftWvdyQiVxehZhOOP/9SjIVyaygc078
 xdmsNFebnN5DZB7PoT4GODYqkdKNvsytHXuQ8JpU0dPD2DaMtbnndE4h7wKDwOeOHfb6BJaa
 Z14KB81kKdUEVSVOuXLF8fUdPOotXa/aiWHSLvV3YcmXKzZSrD0s+BLySl
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="103654892"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T3YB8cR+vVT7YtyDOQdVtsoQlkOTpNJ7mSzBp9ngV1P1jnV6R43T05y92wFbYHzcNa5xFOXQn04mL7M2honowyGyzfeJnzTGIoYnGUIAB6hRrscETKJWP6PWpi1U4zJQILRXSxd3mgkUeF9tzPEZT0tfQISC08WzZbjHc20TnzwK2ciRa9SuX8gES3ElTwiLHYbxalVZEnUYf+jiE3hg9cuBZtiXUlcpWPifuyiVTMeK3jpOALFwAgmK/SVX6mKodmOdb6OCnD411GsYZvlXrCLsErv8pMctKqyw0RuGXj5nPuyYw/8rTl9ZvRlMS7EISRFgjYhTvvPVhprcOKqdzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3FpPXZMCHVJOCib70klz0c/5VZXO7Wnp1cmr/VKjJuM=;
 b=QRrE4q40Wd0cTE0/E4s1ukURofB+fqkj+5inRiOn66fmROtrFRbGxBvQkL/PXZlIUiuCPR9NXuXqVdygQ1Rx6hRv8i1ufvOiQOQg+frA0UCQGxXiM4wnYbdTkeVbmZmRSesX38t8/9Y5IP4X8exCVHmkCsIQOmt+3L6TYYwk7i3yEyMxJO7Yytyn3BB2XLrTgGSlDhML86dI0k+qgEx2RrDPoCMB6fGcmilf+hJ3fQVnLMiIlfSunlosVtcrnY8jkCFJb83oMfVBUFdeo2H6fXzXZUK0H/WANROTEXV+JRa+v8BQ8a5JWmnnyJ8Jyk9dG/bq2wCyKqlPpO0HjH022w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3FpPXZMCHVJOCib70klz0c/5VZXO7Wnp1cmr/VKjJuM=;
 b=GHtOpBDLrMC/gRia5tYd4/hvBn6M0qQssfawyDiA/gs8d5ZTfvtIMUC9P06IrUqpdyN4MIZIN4hp+Pzb4mHdDC0E48GCZUYvykf05qTE/x2Sbrk1hudVrN+i0c9Vq1/S9/btHOFKQJChqPKEcI0nX3+c6+TMtRBo0j4pR+Ojfmc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Mar 2023 09:37:28 +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>,
	Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v3 4/6] vpci: restrict unhandled read/write operations
 for guests
Message-ID: <ZBQmyGCLG6OMFkUt@Air-de-Roger>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-5-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230314205612.3703668-5-volodymyr_babchuk@epam.com>
X-ClientProxiedBy: LO4P265CA0199.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:318::16) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DS7PR03MB5512:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d5a5885-ac10-45ad-2eaa-08db26c2dae9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LD7t0PJU5rwkVruG177DDSHhSNUIs5s58IgZRRjNzjveqNW+ujU6RYlVwJZWn9Lb5znkqVg81Mbmd3rcgzmNDHNopRADh3amv+1SgRlMcQSWVXpIX7PX32pFAonKUnjXw/IzU74FH64/vIoV3RjZrxcP0yOnudctOveS0g2DLLzder/ill134Iu4OPVSzCYU7T2wChMunkBSI8lLO2vL/XHIysZETHYK+qDfGD5OAfDIcAa+MKqMeetgh6Jrtpp8ZOh0QI3qVRLQRembWegJXo977bk4ONZ9sX+LYim9+9aejQJ0z8/EgY4bsI2vgpsQ1t8QZsHjOxc6Vj7yRaxGxlBlucrSjNkxE1a391kPuF4HB2vIdtrTVNOoC1mEwptbqc57X3YkwYKLHWqk4t3AAEZZX/dnYslTzLDIQ6xfSFY+5PZkU15HZLuRTveHn3hHe1A8g/LBYeqQS3W7byYTNHdiFwpSog0LTIEdl2McuOm05NGf3gRYPk3MqetYi9KXtJVkDtFQGYzUbyR/lEb4AmqiPl2SmG9DMlD3B/4Yd2lqTDG9mUD0lT1Z/ZmaJ3AzTTFk02v39etb71+M/zAii9OgW97M5XDGxx+uEXgEWB5yFosWPYH7LA1FEP4KK3feiMPCHTvympxbB7+qJFGPQA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(39860400002)(136003)(376002)(366004)(396003)(346002)(451199018)(186003)(6512007)(6506007)(6666004)(6486002)(83380400001)(316002)(26005)(9686003)(54906003)(6916009)(8676002)(66476007)(4326008)(66946007)(66556008)(478600001)(41300700001)(5660300002)(8936002)(2906002)(82960400001)(38100700002)(33716001)(86362001)(85182001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UDgzTWFkVlVnYmlGelNFMFdQU2FGeUNHZFo4K2RtcVZpbzVRejdlbFE0UDJP?=
 =?utf-8?B?UjNtMmdDa0dTa1VqTkhob04zbjRSMndyQlVaVTY1WUVNV3JZWjJqTzA4ZGRj?=
 =?utf-8?B?YWd1OG9QVEpYWUxWUFRUa0xTLzVLVXZpVExYMjVVM3FuN1JkR1VIcDhHLzFn?=
 =?utf-8?B?aU9hSkNTRlZNY3lORDhVaWZCb3BYQ2dRNmpQemlKb2JUVTlRblZldmRKS3N2?=
 =?utf-8?B?R3owN1RYNnkvK2xXcEZBVys0Z1VKTW1YMGhLY1BiNXFYK3F1eVh6RW5nOUdJ?=
 =?utf-8?B?Z2lxMEJjMkgxNUQya0lLU3BEekg4SUo2SW1hRTUyN3B6T09FOEF1emtsZHFh?=
 =?utf-8?B?V0VjSXNQTW1lOTJPMXdZRkQrY3VScDFUa1ZxNlZUSWFQVC81M2NROW1Sd3V2?=
 =?utf-8?B?Yi9IRDJ5MXVjMXhVdVFEOFZHWlRVaWpSajBkclQrQTd5UzF5anU5Nm94MFdy?=
 =?utf-8?B?b1YrNHp0T2VFWUsyWlVGQTVWUDgwbEM0OWtOZk1zd0ROQnZ2cEE1RlJiRnNh?=
 =?utf-8?B?UDlWaU1wNDYzNTRwS1dpeWNRV0JzbXBVUkFDNW9TeWhvWXl0WVd4RjR6Ullp?=
 =?utf-8?B?VEk4VDRLclRiOGxYWG80MXp6Y0ROVWlNbHUwMU9CQUtnUzBuSjVLdjBDbUI5?=
 =?utf-8?B?V1diYklMWU5WK2pHZ3VJc1o3MHJBNGNhOEZNcE9Ta3VrL3VuNUFwN29BMGNK?=
 =?utf-8?B?Y2kzR0FtSFJSUWRWMW0zMmN5MnlGejBEZCtEbzFtL0ZHMUtuZlp2UTFPNUs4?=
 =?utf-8?B?UkxJazF0eHRFc1BxUWs2dnBhNXJmYmtySGNSdlNlM1orRTEzZmZQN09WMGxU?=
 =?utf-8?B?OHorYlA1K1ZGQmtoaDVyN1BGK0VPczFtK0VNRStUVkU4MGxTcmFxWUNHL2Nj?=
 =?utf-8?B?RFNuWjluc3NVTzNPR243cGJJVE5EMis3NGUzcHhuUmxvNElXYTFKOFQxSG9i?=
 =?utf-8?B?SzdXTk1QcHFiSnIvbU1md0plaGNtR3RlYnU0MFJMRGJMUHpONU90aGEzTjQ1?=
 =?utf-8?B?b2VQVG5lVVBXbXhVVGkzNzRpN1k1OU5ZeWtsTnRDUFJHTkVyWmQ3VHN3VW5S?=
 =?utf-8?B?QW51dWo1K055UnAweDhpZmFWZHZsazBFSTZ0Znd6anNGOHJsSnBqbmo2SURO?=
 =?utf-8?B?RHlCZDRJcytVSVlpdGR4OHJFeWp2VEx0L0ZDNlBCeUxBSTI1ejBqZDZlZ1F1?=
 =?utf-8?B?L1BlUDh5RGhJU1V1U2kydVc3VWRYemVGekVlREJlaWEwSU81V1hOYnlaTnlF?=
 =?utf-8?B?T1lrWGEzQzJmRmZ1UDVPN2grY0xUVTd5M2FpYS9ldHJGdEo2dkxYc2FtWkFn?=
 =?utf-8?B?a3JFWXg1R3VmdjVrUUFuTFQzMkp3NGp5Rm9YS01GRHdFUEZnVzNYSEdZMnRq?=
 =?utf-8?B?cTJndHJ6Y29ER3hNT0lUY1piZDRnSWdsVm1VV05hQzdWSHFacEJONFFUM2oy?=
 =?utf-8?B?U2dXa2lCTzlhVWJxcG1JYlZkZzZSL1J3UTBSUThCYmlxZ2tOZnJ1K3FvSHVF?=
 =?utf-8?B?OHVYOXVNb1d1MnFJTm4rMklqWnhjU0MvREgrSXZwTVJEcUpHWHprd0lsMWdV?=
 =?utf-8?B?MW52RzdISnB4cHhMQWl1YUI3cUF2b2FmUHNaeVhOYlpDTGtYL1NjVmxySGNl?=
 =?utf-8?B?WTFSWE4zZnVEK0pGNWpIelk5S0s2eC8rK2ZSWnJyVHQ0VWtmaC95RURaZzRK?=
 =?utf-8?B?Tkx3V2p1Z09aamJSL2hhN1VYUFUyWTc2bE1jTDRtNEQxWFBMcVBrT3YrMzBF?=
 =?utf-8?B?cU84UDg2TW9nRG56RldWMlhhNFJEelZTYStJMklteVBoQkFoejVjSHZSbXln?=
 =?utf-8?B?anBmcTRabzBTb2hRRWR4dmcyV3FPTlpkYk5LT3p0Y2RZRnlmYzBLTlp5Tndt?=
 =?utf-8?B?V0sxdEpXUnpJUTd0ZE41YW8zOUlqVzVTLzlJMFQ3Wkd2dUV2eGh2c1hBVUNw?=
 =?utf-8?B?Qk9DL2gxTnlneW9nYnNkVUl0NnlOMkFvbWRORmVZMFV0N1FRaktqWFNVOG1i?=
 =?utf-8?B?M3ZLNG9WYzFDR1RtTFdFQU5CNStrbXRZUXMzSno0eFhZYk9JcnNkL21lT1RX?=
 =?utf-8?B?dVZsNUhyYWJQVEJ0T0pqbUhqejk3ZnFZTVpaa214MW5UWklDN2gvYmgyN0Nz?=
 =?utf-8?B?aTdJVmR3YjE2RkU3K0JWaUlDRzRuTTlxM2wxdnExM2JPS1BacUlYK3h5Z2pl?=
 =?utf-8?B?b0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Sci9ZHFkpMh38y8J/QHCTo9iBTSMz8dwBGVIwcp4wPBqZy/RWv6F4JqCa7vs2qF2zBsTSjJFrPnb7z19Stro1AkhTozzPeKF5zVq1Zf2KXl4yRjLpd2uY09AzK1xmW9aRrp4d+L3WH4YPEFsdyuAsPWK0215QpVq1x0nzNAw6pcErWt0wNK7lxSf4jJNb3xy/rLakydRecVIsafnqx7ttCQCDqmojf+3+8pZsKSiLuofXailKVLpJQ/vwLz801K1cbrV2bM5RT9+YeOT+yMMWCOir2vdAGJIFgQS++lBZynfL2O9Lnj6eMjtxZ8EbGRkW+LtGrKwda1KyXRCcyt9/wuDG+UXpKchLZRollHqn04iSeNYgn5nzQib00iRYWxp3Ic0JWX+ikkzHMrNnWxN3xtx6QPzoiMFQROtYKjCN2YRW5RBJuqfRabCV7ol5ZhRCTNsJ/GSQMvEuI1gDw0NHdK/8elwY6TncYarRvG0QiFOxR58c9cJYSmXb/tN/dtB1LedkF5eXXbtCdNjrpRNpKlnhVG7ERZvjoadcPHv2UfE4/gbzDo8G3aJChC6flSLvyB1uqaM+vYidQuGyTaA8znfvdUYM0bcTBEeqyNIjKqvPqayN7/z09SfM7YZNHNEBnkPi0mFlj+3t7nHRauGY0zAF5TlJzw9tpOe6KjifooXpnJ96wkF5ySFkjBhrshBVHJDvSCwgO1vDdwPp4yTSyLOwx6jNSdsKOv+avzMrP8dH0xwWgrCc4pqKqu3C0jg8Tpu+0sUYtFs7aI0XbsTndFn8dIcZVpmXobfpUsIaFE=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d5a5885-ac10-45ad-2eaa-08db26c2dae9
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 08:37:34.4422
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CG5H1ZEnCF8ufI5Hlu6VyRO4Zh2hrokhCEiiRZ2qysuzvE419bHhbouvoBGNFwVF89ig1GJij0lJnlbV5Nb2Iw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5512

On Tue, Mar 14, 2023 at 08:56:30PM +0000, Volodymyr Babchuk wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> A guest would be able to read and write those registers which are not
> emulated and have no respective vPCI handlers, so it will be possible
> for it to access the hardware directly.
> In order to prevent a guest from reads and writes from/to the unhandled
> registers make sure only hardware domain can access the hardware directly
> and restrict guests from doing so.
> 
> Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> ---
> 
> v3:
>  - No changes
> 
> Older comments from another series:
> 
> Since v6:
> - do not use is_hwdom parameter for vpci_{read|write}_hw and use
>   current->domain internally
> - update commit message
> New in v6
> Moved into another series
> ---
>  xen/drivers/vpci/vpci.c | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 5232f9605b..199ff55672 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -220,6 +220,10 @@ static uint32_t vpci_read_hw(pci_sbdf_t sbdf, unsigned int reg,
>  {
>      uint32_t data;
>  
> +    /* Guest domains are not allowed to read real hardware. */
> +    if ( !is_hardware_domain(current->domain) )
> +        return ~(uint32_t)0;
> +
>      switch ( size )
>      {
>      case 4:
> @@ -260,9 +264,13 @@ static uint32_t vpci_read_hw(pci_sbdf_t sbdf, unsigned int reg,
>      return data;
>  }
>  
> -static void vpci_write_hw(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
> -                          uint32_t data)
> +static void vpci_write_hw(pci_sbdf_t sbdf, unsigned int reg,
> +                          unsigned int size, uint32_t data)

Unrelated change? The parameter list doesn't go over 80 characters so
this rearranging is not necessary, and in any case should be done in a
separate commit or at least mentioned in the commit log.

>  {
> +    /* Guest domains are not allowed to write real hardware. */

I would maybe write this as:

"Unprivileged domain are not allowed unhandled accesses to the config
space."

But that's mostly a nit, and would also apply to the comment in
vpci_read_hw().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 08:40:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 08:40:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510935.789521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd5d0-00055Z-7Z; Fri, 17 Mar 2023 08:39:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510935.789521; Fri, 17 Mar 2023 08: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 1pd5d0-00055S-42; Fri, 17 Mar 2023 08:39:58 +0000
Received: by outflank-mailman (input) for mailman id 510935;
 Fri, 17 Mar 2023 08:39: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=+pkZ=7J=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pd5cy-00055M-UC
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 08:39:56 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20626.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4af40fce-c49f-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 09:39:56 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7605.eurprd04.prod.outlook.com (2603:10a6:20b:292::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 08:39:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 08:39:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4af40fce-c49f-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D8ZoBKKwXK0PdLmG6pdD287XqbmXixiNWicwbgt6gfUxn7N8vR62vREDwQa8oR8uBxEgequxFhCS36yN0lmtAyeMEhTjpZOLl7M+w8hibzPG211YevsZYZAQA+8US3SA52h9H+EiFy3SKDFdxYQm/Q/7dwyaUh7TqCilMyFp5COXdAdmCk5w6d1nqjST3bbvDc6JrV6E5ZQ01CqWzpA/NkCH/WK+qM5I1OmOLHrF486QoTpPUE1b9uXfAgBXjUqKg/JzTAOEA/qNeqoQTHVnnq/2gG6oCND1shqPcvoiayF10YUahP5aTAXqW4reVbMlI8klLOKirkW+FgnoIOcT6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BxVLIiDXVG2q0dmqUVtQVnpKip6CkLehP3BAKOJc948=;
 b=G4AG3xmJqQ+SBr4LXZ8WMBbC0gvVhlw5VWE8trNvQ8ynPtfoDn7+k+A+7wjcMexcIWGbv8AtYCm28N/oHGk9wp8Yp8OGgGQAkvwDxOdlarnsNvRxOJ+Atn7spfzFsNY+58pvBMJDLcM6JN8JwOPTKgwBW0XP4IlFs7X3XyWW43D3ydr0FviN88YFPAdGE4mBDsOH8qA8ndmHqGSgCTBX6zKXy6VmleJ5mXcN/IWDq+1su4M5YWdPBS4GhIIEmy/J9tcWj9snMQthGKEScGQ8vkUT8UMo+j7jGLeINJllVkPFm5+/2nMu81FKGe8Y/KbVg39e3HEVltL3I2aeqj2yvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BxVLIiDXVG2q0dmqUVtQVnpKip6CkLehP3BAKOJc948=;
 b=iZUlhMV7HG/EBE91Dj8HCGaKZs+xFSAUvEPbw6OXH0tRj0B+v8IhoYd7lFIeyaViJeJ6mpBzrFSsgFTuM2Db2h4reTCZDqZG486UJcgm8SwHj68GYnaBXm9AvC5blJfJE41XpA6EREd43eW9TOz3UWyTka2C82bfeZBtnGRGMg4e/MzvBcLo6z4MkBLxI8miO4hjRW2ErjzZteEg7MgXTl+hJo50vqjU7bhKoSHMHf+GesivAx06Ohs6rrdW9LJrCCJ75HfvI0HIvcJVo/VPcnKkLOdOl3sA5ftu+SKfYTy1cj/Nq4yBAdFo0tHdItKSxMUgNiazhvqkTU07EV9sRw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4edb59db-d2b8-122a-fc10-59001857bee0@suse.com>
Date: Fri, 17 Mar 2023 09:39:52 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Huang Rui <ray.huang@amd.com>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org, Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-7-ray.huang@amd.com> <ZBHz7PpUbKM69Xxe@Air-de-Roger>
 <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop>
 <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com>
 <ZBLg8WB8HCoZvwz5@Air-de-Roger>
 <df607690-0bfb-94a3-fac6-5e20f183dc20@suse.com>
 <alpine.DEB.2.22.394.2303161611220.3359@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2303161611220.3359@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0183.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7605:EE_
X-MS-Office365-Filtering-Correlation-Id: 5a64b70e-fa39-4ba5-8206-08db26c32e1c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	habecpewTNAi5OkC9MA/JO3eboFNvfqDJSlm9G2c09jV191mTGpZXxiuI3mePFoxeXIwBapTS51ywjjf8HIh7NNvg2XCEhFeR4OMayg8ZytBPSbbl1aRoXHolEjD4ftyeaexWJTSq1oMFHOyxbbGJ0o2OI2AS0XJ1xNB0NkmuUc1vr5bUwbCfvkYThvdkorwCyU4OLSAKPL0iFKFdcHTxxyIXwsWVBo2rrY1zSTKimU+tCrHjMSaGhvQwRDil9HNzg10pOlgRyIlQdaDmhs85oC3OFfqM8Xath1HdGCUM2cN5y2iPUTDfJArt6hWn2iQL0DZtSRdG3jBqZZI8FNSbN0kXWCyTmGsVwlx+fJE/GNHr2Xa8ymAGF1pmS9C5Eggvp+OKDpwGQ8YL6Llf4W2WfDCqMd6IG66oH3SpsNA4EfEON1nocu1UJ1rUDhy5jTbWgnkooi9w1LoBfIH+eIAcTtCuIccxbGjajHt3PaOUA7C+Ega52AcFYxrWgu0MGdOvm+8HURB3YNeSFh7uiGzhGirOVEwI9IExq3Yh/SKJtNsFBuuTJmRwX+EFkPqiYxvVqyJwktwaIox0/EhlEMzDughYggWbRSqPKt233b3Wso9fPQu1WDxui7opPCTF0ZFcJ3yDTxC57YLWK+T5FLiMB6pu74wgxNXjKTNW/9AbcEaJqNoiwX42spzDGSi0+xzDpWiaj+FsOR+mS5i1gtbWu4InZ1IzU8e/QGhEeab+qY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(376002)(366004)(396003)(136003)(346002)(451199018)(53546011)(31686004)(6486002)(6506007)(26005)(83380400001)(478600001)(6512007)(54906003)(66946007)(316002)(2616005)(186003)(4326008)(66476007)(66556008)(6916009)(8676002)(8936002)(5660300002)(41300700001)(7416002)(38100700002)(2906002)(86362001)(36756003)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dndBZGtTQ3grMkt4emdJWEpFR09zRUlLUDFqZHBGb0Roek93aGU3YXo5cnF6?=
 =?utf-8?B?VzdTMndGa0VwZCtOclZ0eFh3OG9FdTQvQ28wcXZOemY1ZW01MzUvdytNZkk4?=
 =?utf-8?B?RXdrWUlvWEhDS01BS1V5dWFteDgwbzd0dml2dnNPMUtuZDBuM21EYnYyNm1D?=
 =?utf-8?B?RDlUcHlWZE1scVQyRVZ3aGR4VDQ2OEpwV3hSVGI0NHBUVTU4eWU4VUJGM2cv?=
 =?utf-8?B?V0pzWlZKcWtjYWlWSkIwZUpJQXZWWmlERExJOHBLcGk1eUdnS3ZEak4wRGEy?=
 =?utf-8?B?OUFwZng2SFVWYmNrYkVNUmxIdnB6MytjTzA3d1J0S1g3NjIya2FteHcxQVVJ?=
 =?utf-8?B?SFlzRi9aZEx5SE9vOThlL3M0WlBiV0Z4NkxTZUo1dVlQcGczQnM3OUVvc0dN?=
 =?utf-8?B?Zk1uWUIvUVZ5Wkxaa3RmbnpIdldrU2pyajBTUFJLUm9UdmV2V1p6b1Z2TkpP?=
 =?utf-8?B?YmRReFIvZ0cxNHMrdUpaYWdmRVk3aS9qZlBUTVpNbk5zWC9Rdys2K1JTSXB0?=
 =?utf-8?B?T2d6L2lxalBhZXRRNnNMYTNjK2t0WDl6dDdHSHlkdWZPM0paYm9GblRuV2kx?=
 =?utf-8?B?SFlmRU5YUmxORmlLeUFabDFvSVErVEY2VGN3VXJtRW5oay9QK0hIYUh4YnRS?=
 =?utf-8?B?UHF5RFRLckpWREJuK2lwSlFNaHRCUnh2djNLMCtLRC94cXhDTDZYRnVRdlV3?=
 =?utf-8?B?eWVaMWliWUhGYlZLeTkyNVMvVHhFZEpTSFpWakZqWjRjdGd0bFRLUnQ3cmlt?=
 =?utf-8?B?RFBNQ2dZZUZwR2w0SU1LWjhpTlFSQ0t3d3krcmZGM09MczJwaGNQQ1BWaTJw?=
 =?utf-8?B?OXVKTGYrOUJhWmk0NGc2b0lXWUFCQ2RqeERnYnpIZjQvWWRZKzJzVzIzT3hj?=
 =?utf-8?B?QXk3YjlTTmxIckxkQjhHeWt3dGp3ZmJUb3ZKeExtd05KdHMreURCeTlBTVl5?=
 =?utf-8?B?K0ZzZjQwV1R5WG92TUdPbml6dk94MGs2aXcydW1TazJwelkzbUk3bDZzWVZn?=
 =?utf-8?B?NWVzcUJ1YTQvYlYzZmNkVEJzRXZqSWlXRURRNTBXU1VDQXRONXc4Y1h0ZHdG?=
 =?utf-8?B?WVNCMnBrc21EeE5EOVdOMWFvTDZiNmEzKzd3OVBleW1DOTdwYTFTVHlIbC91?=
 =?utf-8?B?OTM1aEpKUnplT0ZnYkRSY2taZFp6QXNaSXZ5OGdSSmlDOXN3UnJVZTY5ODBD?=
 =?utf-8?B?b2lFelJmQW5VV0JiL0FtY01TOEJBbFduVXVmZDg1QkZEb1BnY0V5cUFtb0lz?=
 =?utf-8?B?b2RtNFRwelhSbGhhMXN6U01lWmJiYTdzMnIwakVxbnkxWE9aN0Y3ckJta1M3?=
 =?utf-8?B?UlhtUzFDTmdqVjREa3AvMytmRkRvV1RSNWdQeE1Vb1FUMHJCL1Z3V2RRQWEv?=
 =?utf-8?B?RDA0T0FQUjh1bDBKbDhIZWFxemcwVXdjL0YzaEhYazA1VjM1UzJmZXNMNWJU?=
 =?utf-8?B?N1JISFFSNlExVkxSUDA3dDR1bUo1ekExeXp6VlgxejJIN3ZBUjVtKzNnb1dk?=
 =?utf-8?B?N0NFT0wya0JTY3dmQUhhQVMrZllNbDIxUFdXSW9wbWlsYUs1ZFFueFhhN0Jh?=
 =?utf-8?B?RXp6blJVM0NtV0t6ZWg3YXRHdGJiNFprY1puU3FpRmppU1FTb1YzTHEyamxo?=
 =?utf-8?B?SWhhVHBkU091M1ZPZUpQTmh3TVAydUlUQTNiTStGQXFYZldWRU40S1J2RmZV?=
 =?utf-8?B?eTA0YXZsaXcxSmFGTmIrUndhKzNNQzJPR2dkNktrM0IraFJSL2E3Z3RGNTdM?=
 =?utf-8?B?bmI3NmVaSlZud0FFd3BhbjhuLzZzM2NMdHJmcDhXZEdxeHhpdVFleGN6cG1t?=
 =?utf-8?B?VTBKMmZVdFV1ZDJZTDdoY2xXM3J5dHJLZDR3bWFJVnB1M2JsRFR1MjBrWEpQ?=
 =?utf-8?B?Ky9ESEl0aWFEOStCaDYzUGJ3SUV3MmR2eUlkUkhVRWhqM3l4TC9PUlVwL2NW?=
 =?utf-8?B?YkdFRXd4WlJMSm82aHFqY3hDbGx3K0RyMjNvQU1oRm1JbXlTTVd1SHM1Y0Nz?=
 =?utf-8?B?M1dWbEFnZjZyLzl6R29HN0lpelQzS1U5dnIvZllRWVZBUmJON3FURzlLcFdQ?=
 =?utf-8?B?NkVqajdQaDdJbXFGTmxFR1RqV2hFdVhVK0RxVDB5MU40MTBOOTc1M3NDTll0?=
 =?utf-8?Q?TSevenKYCQA6WlEtY8Bo/LQmq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5a64b70e-fa39-4ba5-8206-08db26c32e1c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 08:39:53.8717
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fsupbkxRyy3hu4IKdPoKr9+H6ix3ArV/ekdbtCdmZEYnKd6zIh8N/Wi0HdIlCIk9pjYLPcmzHriKFynH/riqLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7605

On 17.03.2023 00:19, Stefano Stabellini wrote:
> On Thu, 16 Mar 2023, Jan Beulich wrote:
>> So yes, it then all boils down to that Linux-
>> internal question.
> 
> Excellent question but we'll have to wait for Ray as he is the one with
> access to the hardware. But I have this data I can share in the
> meantime:
> 
> [    1.260378] IRQ to pin mappings:
> [    1.260387] IRQ1 -> 0:1
> [    1.260395] IRQ2 -> 0:2
> [    1.260403] IRQ3 -> 0:3
> [    1.260410] IRQ4 -> 0:4
> [    1.260418] IRQ5 -> 0:5
> [    1.260425] IRQ6 -> 0:6
> [    1.260432] IRQ7 -> 0:7
> [    1.260440] IRQ8 -> 0:8
> [    1.260447] IRQ9 -> 0:9
> [    1.260455] IRQ10 -> 0:10
> [    1.260462] IRQ11 -> 0:11
> [    1.260470] IRQ12 -> 0:12
> [    1.260478] IRQ13 -> 0:13
> [    1.260485] IRQ14 -> 0:14
> [    1.260493] IRQ15 -> 0:15
> [    1.260505] IRQ106 -> 1:8
> [    1.260513] IRQ112 -> 1:4
> [    1.260521] IRQ116 -> 1:13
> [    1.260529] IRQ117 -> 1:14
> [    1.260537] IRQ118 -> 1:15
> [    1.260544] .................................... done.

And what does Linux think are IRQs 16 ... 105? Have you compared with
Linux running baremetal on the same hardware?

Jan

> And I think Ray traced the point in Linux where Linux gives us an IRQ ==
> 112 (which is the one causing issues):
> 
> __acpi_register_gsi->
>         acpi_register_gsi_ioapic->
>                 mp_map_gsi_to_irq->
>                         mp_map_pin_to_irq->
>                                 __irq_resolve_mapping()
> 
>         if (likely(data)) {
>                 desc = irq_data_to_desc(data);
>                 if (irq)
>                         *irq = data->irq;
>                 /* this IRQ is 112, IO-APIC-34 domain */
>         }



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 08:43:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 08:43:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510938.789531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd5gZ-0006Wn-NZ; Fri, 17 Mar 2023 08:43:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510938.789531; Fri, 17 Mar 2023 08:43:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd5gZ-0006Wg-KT; Fri, 17 Mar 2023 08:43:39 +0000
Received: by outflank-mailman (input) for mailman id 510938;
 Fri, 17 Mar 2023 08:43: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=001K=7J=citrix.com=prvs=433d55c46=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pd5gY-0006Wa-7o
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 08:43:38 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ccddda1b-c49f-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 09:43:35 +0100 (CET)
Received: from mail-mw2nam10lp2100.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.100])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 04:43:31 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB5854.namprd03.prod.outlook.com (2603:10b6:a03:2d3::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 08:43:29 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Fri, 17 Mar 2023
 08: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>
X-Inumbo-ID: ccddda1b-c49f-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679042615;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=TNWXN3O3cfy5iZcQDTbCEDMausV/ozWXL5tgCcgqmCQ=;
  b=Tz2LzrxgGFci6HO2Uj3RgvQqOT4/6/2F8mWiLlDYViQY3orHSWFUDXbF
   RyUZxZ02VvqC7sWSJCLBWIde9blyDDEFwDMnGDk2H+D377QcpnH0Wh2pJ
   ttoSX+9/X7YBVMP1iIuqzwf4PX1+BlII1+co9GErGG8ov/Fe73bJkorfg
   Q=;
X-IronPort-RemoteIP: 104.47.55.100
X-IronPort-MID: 100039376
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:jua6DK+58z20cgjHLzFrDrUDtn+TJUtcMsCJ2f8bNWPcYEJGY0x3n
 GIZXWGDOqyKM2TzftwlPN/k9khQv5HQmt4yGgpur388E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkU5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklky
 94yBxMMbCqkxNyYnbaqbO02p+MKeZyD0IM34hmMzBn/JNN/GdXmfP+P4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWOilUpiNABM/KMEjCObd9SkUuC4
 HrP4kzyAw0ANczZwj2Amp6prraXxXugCdlNStVU8NZ13kGIm2UfISYKcmH8+8ep0k7mVehmf
 hl8Fi0G6PJaGFaQZuf6Wxq0sXuVpCk2UtBbE/A5wAyVw6+S6AGcbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8hTG4NDURLGQCTTQZVgZD6N7myLzflTrKR9dnVauq1Nv8HGiox
 yjQ9XBmwbIOkcQMyqO3u0jdhC6hrYTISQhz4RjLWmWi7UVyY4vNi5GU1GU3JM1odO6xJmRtd
 lBd8yRCxIji1a2wqRE=
IronPort-HdrOrdr: A9a23:/D4SOK2hgJCs0Ab5n5V43wqjBHYkLtp133Aq2lEZdPU0SKGlfq
 GV7ZEmPHrP4gr5N0tOpTntAse9qBDnhPxICOsqXYtKNTOO0AeVxelZhrcKqAeQeBEWmNQ96U
 9hGZIOcuEZDzJB/LvHCN/TKadd/DGFmprY+ts31x1WPGVXgzkL1XYANu6ceHcGIzVuNN4CO7
 e3wNFInDakcWR/VLXBOpFUN9KzweEijfjdEGc7OyI=
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="100039376"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yfq4CXh4HzgEkHz/dNA+4rhmBXBi53w4kpq6YWAM5Vt/Kqq8r0fqQq3UCW+8OEI1zvuS935jRjdswaQ7SpdoyyH/Y6xmNn7OkgXIvZeF1WjS7LoJ7w6FLjaxP2Sghe9vH0exUbkoYK4OSXfkRd0DbkMmEk5lBfEmuRob0IqNnsR1u95dCAJZclx37n9w81DQsX/KMQXv8rQpjeq3/t1oWOaTNa0bwt6tHvBbf/hGs2O6wJR50/iTfsIEfChMl0SzR70OEfhGIenvYw7ZFUbf8+t1Gc/sgVxTzGpBe9CeqgY4ZFE+kERvmt8x8WzursMfbPA6yhztDlXuwKRerFZ32w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TC6gEcbprR+YQ02obtqbKU98TWnGsM6iNBqFbjjtes0=;
 b=eNzdpLOAnHfm02FCk6ESDUNoSrnqbXhpIRGUSu1g0GddS1wS8SVdDisHJFIF9yekuT5mXrXUWUkUDJT0qF8S7gpYkX24lzzdXRNAvCSM9PsPh/9xj6Varu5K03j0eAlyF3bPwKFbFFrIhGvTt+28fkBtHTw55oU9xw+LZvraABSWcp2w5Dc+el7SOmK+QYPHtu0dwI6/mO3RqV5XrNrd/7XdKRX6UC4PVmem9sq0vmWPPKfOb5w+BdBhXmBsk4aA8Z4JEVeqSEVkR2xeF3di2E61F94eo2TcuhNTsXOw5ANQOVbtRnpphNmJGRNd5J60tKMy83Dm/hujIJ3hr8FQtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TC6gEcbprR+YQ02obtqbKU98TWnGsM6iNBqFbjjtes0=;
 b=ab2r6BpO+g17Au0c4VAtC5q7T0MymO9hHSralNn3fIugoehpebWwdrqT4n5S2w/lmLYn0ozjoRxVXvz1j3LBob5TsLbSbxPMqft0q45rUd77cKSaEf69RWnUZ3wIKx53D9HOzowyUXk1TeFhwjuzsV7/jLrrchDnLInMvT18/WU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Mar 2023 09:43:24 +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>,
	Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH v3 5/6] vpci: use reference counter to protect vpci state
Message-ID: <ZBQoLFz5T0G7p9Dm@Air-de-Roger>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-6-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230314205612.3703668-6-volodymyr_babchuk@epam.com>
X-ClientProxiedBy: LO4P123CA0523.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:2c5::7) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB5854:EE_
X-MS-Office365-Filtering-Correlation-Id: 50083383-28af-4b03-443d-08db26c3ae38
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	I3WhePrBEtyC6Xeer4nHEEUPmQ0/D6hqPdA4J+xHC95MDjazk+t+Az4GxmltNDzRZILEanHA+jJNaEDL3AJkyBoyc96vfUY6qa562MjHvwS6yUCjNkmflDZXNy5M8G/dSCKuBZx3OnideUy+5gfLKHsuciRe685g18nw2zlcP9XcBkjkTYWreOmIbbtMT/eUUvqB06lO3fKTU31qrBGnDcfYtmH1xRZ4YqVhOwWDux9txxR00JgHWtp6XSFkednprdQaqxKE1Il+9s0X1yxA6QEgfbrtqP2XaJKfR0x/0rCyo0OPuOGkYmD8ajdPIRPr9tMCbRbJQIUJgXLhdi+fNjshbln1T7IdWhScaz2RDb628USPF0ZJvWP0QOGtmyErETyCnOwOqGwgjygrVjFb/ggy8FGpOjIdiZ9ccIpO5OdG5y1pfYtptnIcUXvyTbU+6hcrHi2G2rO9XfNNZQ0yPKIddBMVlkG5Q4tTcFnhTBNVznq+DLYsSyeE+/5Nl1LWHh+FdxVFCWaWKBHJye662J1tCFEsSTog6ZJN22rLJde3/NeOb+TQumsWVzpzZPt49kqX8NQDUFqznArswLcdQkSyUblYLD1mtKN0LWbO4WY3PVq4tM/j/ltGKQBlaiPUDvTzhHSf5hDSJ7cefGZ2ZA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(39860400002)(136003)(396003)(376002)(366004)(346002)(451199018)(85182001)(82960400001)(86362001)(38100700002)(2906002)(41300700001)(8936002)(5660300002)(33716001)(4326008)(6506007)(9686003)(6512007)(26005)(186003)(83380400001)(316002)(54906003)(66556008)(66476007)(66946007)(6916009)(8676002)(6666004)(6486002)(478600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enZRWHk3TkR4T1JaVzBTc1ZJTjRtMEVoLzRHZmdKaXZ6ZFdEYUU2bEl6SVl0?=
 =?utf-8?B?N0hybXVXb3RSZ0JIeEdPV1JBS3ptZ0NQbzRtaEV5Uis4SmtSZXdYWVFoZ0pL?=
 =?utf-8?B?L002c3J2OHdncWdhcW1XWWI5L29lQjU3VzJkMjYvRGpYeG9tNnpmWGFyUVhW?=
 =?utf-8?B?RkFoQkdhSEZybnlxOTdkWFljUDhRbHU4cTJDM3FHY1dPVE05YTMzeGVJS3RF?=
 =?utf-8?B?T1cvaUtJT0xxZ3Uzc0hBckQwdDRsOHpXNmtZRjJMbm5PN0t2Z3IybWZZcVhn?=
 =?utf-8?B?clgrZ1BNdXU0ZHpmQURLNkZHVlFpWEl2c1NtemVBNlRSWWhKdHB6akt1TDRp?=
 =?utf-8?B?VGFmL001UEpYWWxtUnZ2WWtwandOSndjRXhLZncrRThreTI1NEJGVnUwczk0?=
 =?utf-8?B?QnBZZFJ6SDZJRndHQVVEeVBGTEpxRy91UFdtRXJKbXJoK1dzNytQUnczZ291?=
 =?utf-8?B?TzArd0d0L2pocVpKTXorMlVudVJydlZQa3Y3Sm9rLzVPQkJibGo3bW0yWTQ5?=
 =?utf-8?B?ZSs1cnBqV0pBK1NhTXJxdWZ6d3pUT3ZTSWZjWWZSOWg1Z1RFMDM3cXBFTy9R?=
 =?utf-8?B?RHVXM2pCVWxtREljbmV3ZndlQkkwRlZoSkxGdjEvVFZ5WWV0UFRmaW9tYTB0?=
 =?utf-8?B?MEdIYnA3Y3orQktuWXNRbFZzV2gyZXoyNkRyckMxaGpxSlZFc2dwbHF2akJN?=
 =?utf-8?B?bm10Qy9mT3dmR3p1MG1ZRldEMXhwR3FhVkpjVUw3WUl5MDFqNHV5bk5uQkdw?=
 =?utf-8?B?YlZVT3BZb2NpTk5EODdPNWxHSFg1dCtWWXlnVk5NZ3hXbm5TNE0rMDV2Q0xI?=
 =?utf-8?B?R1haM0trcnBBdDF1a1ZiejVpd3BXY3A4MVk4YWRhZUhYQXBDN211WHpSbHRS?=
 =?utf-8?B?UWZmOTIzVjZyc0xXenJLMW5JRzdjOTcyVzhjVnhKZGxqOTJwU2ZUZVRaWVBi?=
 =?utf-8?B?MmZYeUVpMnFMQzR6eWJwdmJrNFVsOGYwL1pjRWhpOVFOc1RwQVF5OHlNUUxD?=
 =?utf-8?B?a0JTUitHYTZPaG9icFpieTF4N3llR01mU1lINXk3dXNPSkltOWM4dUtKT1Vy?=
 =?utf-8?B?bjB0YlNLTnlRT0RGNHBkNjlzQStrQlVNWURueUZXc3BZR1B4UWgxT0oxaVo0?=
 =?utf-8?B?cGt4R1lRNHVJbnZybE9vWGJmMWZxRW50NUxaeUlsY2NBaURrUlI4SGpRYWhT?=
 =?utf-8?B?UzgvQTE0SWk4czBqRHp3VEREbjVxYWpIT24wdlVNeGhHWmkzZklYVVR1L1p4?=
 =?utf-8?B?eU40UTgvSGRwTkVpcFplbkdvZnA1ZEhPNmN1NEc2VzlVRzNsaUtIakNtNDVI?=
 =?utf-8?B?ayt3bXdsUW83dlUrMkFtbWtpc0h1MUJyQWtFL1RnbkpEaGlGVjZpYnozWlgv?=
 =?utf-8?B?L1UwOElJcWlqQnFPSHJaTkFhTEFPZXlYQlEvSHhheEJ0ZG85d1VOUHZ2OThD?=
 =?utf-8?B?Ym1uSEFsYUdmbkxjVXVoYzJTclBOM2grN1o4MXhCbHhyd29aOHBWU3NqMG52?=
 =?utf-8?B?a3Z5U3h1MXFER2RyUWNhWWJaeThZKy83SW83NTFtT3I1QnJuNVBid0VjNGND?=
 =?utf-8?B?RzhzRERmL24xbXdndVVnNHhyQkV6cnNxT2s3SG45RU84U3FQN1E5STc4WG9D?=
 =?utf-8?B?bmJ5QUpSSTRSUGhDUkRyQTRqWVVIaEllWERyL1dRcjlqVHRLUi84OHdpOGJa?=
 =?utf-8?B?L0haWU9rZWx6aVYwSzBIU2JUZFFmVjFQSVlqZWRMQ0R6R054cTAyY0JpbHp4?=
 =?utf-8?B?Z3V1OTBPVWZXcFp1RU9sdk5xTWs0YnQ1QUJCN0RMdUNwejYyZEZ0d1IrTytx?=
 =?utf-8?B?dkpzck5IeVloY3NxRzJ6YWp2V3U1RFVKT0owRnZvazB5VEFmZjg0VnVpc2Zs?=
 =?utf-8?B?NWZvUS8rWXZhdVFNR3pQaE9CY0JIaWRrWVl6dkFzaWxWRWNLWHh1ZVF4MVJ0?=
 =?utf-8?B?cTRrQk5sN3hhMmVKeFAvaTRuNE4rSExiQmhzNkhkYTNNK2N1c09EMlVaRGtB?=
 =?utf-8?B?RzFOcWRGdXFGUWhPRGhGY1Y5YUJFM2tCYkV4N29VMW9xMEZXdmt2bkxYQTRH?=
 =?utf-8?B?VjVNYi9vQTRtMmtZTjdabmN3TmlVQ2dpbkF0Wkt1b0lXY25DWG9BSjB5dmtI?=
 =?utf-8?B?Umd2V0lIUWJPNDVma2JJeERFQUluVkJ1QW1SWWt1d3JSOEdMYitETXNFazRW?=
 =?utf-8?B?bGc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	qATH6CcN5GykMQVUV/bGsXWEMD9q1EhyB7aCato6BnzbZ9sjxIOvgdODiphvY9kCKBXf3j6bc/D+7uQjQIybb+H0M2dVQJUPPVyAQ4q4tslUTjQJ1+Y1JxylE5U3J9fxvLDMu+UwMzSQ4m0zGMdf6WvCCHpwduFKvW9TE+WBLZ0zi5abhVR+CnSreFB5Iz+q1f4vXu+8GzMEWBn/6hgVhD7In6S2QX+sDlLXhfOFlb5sD4qcFcAUr/X3+q1rHktWsaMWSXrYmiORCkOmA5LHX6djDTiphtaP4Y9W7zZmldDa3qfreO2ZFGH1hz42Ccen1JvW7Dpk80NnU+9SWBrjLR7cHq2IxLo/c0fngFuHWyHmfFCISih7fTuJ7zLazOAxHdB+lmw6ux7RuEqZGiQ8f9Tqe5MH6FcWkpNepCAth9YmaEYOKq9m2faoYGND6GUoqkzl5GAJGBtGTs8CHLVCLJUB0hErI165JUkUEQrAph/Er1Euc9zuwwQAN0z5uUnrgLbMLhbZZDs4xZf+cxGLSOKArV0R3V8P+utrPOAZhuz3JppVBRv+fdpd8dlWgqtOTHMQgoAI5eAjz6JIl0959Rih6RZFKIDnZBgFtij2FoH1ho/6WHupdYGIGT0O0jshoqR+D8wgaO5OTOsowhfKlspkpeX/u42hlROvHyDJ9gqiHFWlt28qSYmYtMdC5BcPsxbgrEI7EUoCt2ECSOtjD6wTFC8VQ5fZ5ekYP1ZKaRi6YPXF+p72YGmVk1u6IS6ky2ZndSCZkuOH6lcMeq99g6Xlm/Nehmyz+cQL2hO9yS8D4Lj1ljtA8k+z9azT9L8kzIaGyjMDcX2rWOGA/LsEhQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 50083383-28af-4b03-443d-08db26c3ae38
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 08:43:28.9270
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wDI7CWrsHBQkIU8r/mY7GMatHYpJBYMf6xSdwXFeqNmrPHdUwc0d1QKL3/+JLSQZSeJYJ4U5vF4rkLGc6abCsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5854

On Tue, Mar 14, 2023 at 08:56:30PM +0000, Volodymyr Babchuk wrote:
> vPCI MMIO handlers are accessing pdevs without protecting this
> access with pcidevs_{lock|unlock}. This is not a problem as of now
> as these are only used by Dom0. But, towards vPCI is used also for
> guests, we need to properly protect pdev and pdev->vpci from being
> removed while still in use.
> 
> For that use pdev reference counting.

I wonder whether vPCI does need to take another reference to the
device.  This all stems from me not having it fully clear how the
reference counting is supposed to be used for pdevs.

As mentioned in a previous patch, I would expect device assignation to
take a reference, and hence vPCI won't need to take an extra refcount
since vPCI can only be used once the device has been assigned to a
domain, and hence already has at least an extra reference taken from
the fact it's assigned to a domain.

If anything I would add an ASSERT(pdev->refcount > 1) or equivalent.

> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> 
> ---
> 
> v3:
>  - Moved from another patch series
> ---
>  xen/drivers/vpci/vpci.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 199ff55672..005f38dc77 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -62,6 +62,7 @@ void vpci_remove_device(struct pci_dev *pdev)
>      xfree(pdev->vpci->msi);
>      xfree(pdev->vpci);
>      pdev->vpci = NULL;
> +    pcidev_put(pdev);
>  }
>  
>  int vpci_add_handlers(struct pci_dev *pdev)
> @@ -72,6 +73,8 @@ int vpci_add_handlers(struct pci_dev *pdev)
>      if ( !has_vpci(pdev->domain) )
>          return 0;
>  
> +    pcidev_get(pdev);
> +
>      /* We should not get here twice for the same device. */
>      ASSERT(!pdev->vpci);

You are missing a pcidev_put() in case allocation of pdev->vpci fails.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 08:46:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 08:46:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510943.789542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd5jU-0007Bi-C1; Fri, 17 Mar 2023 08:46:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510943.789542; Fri, 17 Mar 2023 08:46:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd5jU-0007Bb-6r; Fri, 17 Mar 2023 08:46:40 +0000
Received: by outflank-mailman (input) for mailman id 510943;
 Fri, 17 Mar 2023 08:46:38 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+pkZ=7J=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pd5jS-0007BV-I2
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 08:46:38 +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 3a90003d-c4a0-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 09:46:37 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8747.eurprd04.prod.outlook.com (2603:10a6:20b:408::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.33; Fri, 17 Mar
 2023 08:46:36 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 08:46: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: 3a90003d-c4a0-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FwZTqTV+mMjYmboW9/0bjzMGD7sKLhhd+vTPbgsfKjYH5er/88xE88/G36aMEipxLOWs4JHg/ocT0o3R1xgLJkH18oYxkgEDOd7UfVg/7rAHvi+GU6O4MrV5L9i2mCVzWuGb3PMIClo1S0jodfpgWMoDFbf1ipNXcKTN/qefcSzc2df8ZrebMyUSf8SyA1oUx2Ai3k++J3FKmDng16q5sVoDoJrNu9Bor7eY4ucvJKzRsYzDarJgow4gbtOF0lnh0sWDj2iz3StCtj/yo/lYATihGs6Yjs8UpAL9jQI5rURpLyFXHrYYbUkworjFj/3n9/Jgvz23bLoTqne9GQTXZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2gZpeoEBawGKzlaxpURaoTIqV32Kn57fp5CrVqxPi9w=;
 b=Wzl+NpiotsfDWHllK7PhrTJDSij7gbJaaMF3fEfKSVLPx1bCbJJeJf8bLBA2Qm857lvXCmWKYuispJGwV4YiIcUp6jP126ag0thoUXwcicPm89jRpP2XXICk7rWJbIUmx4wkp3akv7vo9tQcb+tqWIoY+41Gg5FK4gnOBpsdPe12egDNbguEsPHGW+QI/Te1h78z3eYHxI/QbJ7i/0KOo3Sx+H4ajGi1mcHoYZs67MB4CM8o4qDgF7hvg/UcOmRAuejE4dfipM2Rb0DrtBkFYx4LFQnQdb55S/3BOmRAjJAjgkqQo/82ulgh24PmvNmCNkD45SMd58utUtb1az6/Yw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2gZpeoEBawGKzlaxpURaoTIqV32Kn57fp5CrVqxPi9w=;
 b=ucGud/svYFK5cgU3Twd/ouruYl+NOIG5I6YwMcvyFeUF2r4T6Cus7PQ5MIfYIuySKLxtqbaI7fJ/GowYl/qsX86b2qgyFEtSfz9uNZetXT7WbAVWSePr9Hxo2AbJQ2OoGNCKNn7UxuRhR1BfwhRr8rKBnd4tzn49Pxa8BKw+V11loXEzXU5TUqFZNho1ZK939zWFA7azd1fKdnR5RmIp1S3MIHHT2E9zLeiJYCkWrcPtAxzrsRqZw5Q71gwtyDNfCx+Qn6Bk1sPkbLsN1FUPbSuXDENGGrCP953VtiAzLRYHMojhce7CeKiq0Ka2mU2wqzbsUnV4ONW/6HkP9HwnBw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <afe67927-0f62-511b-012f-2f2deedbf4e6@suse.com>
Date: Fri, 17 Mar 2023 09:46:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 4/4] Update README to state Python3 requirement
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230316171634.320626-1-marmarek@invisiblethingslab.com>
 <20230316171634.320626-4-marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230316171634.320626-4-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0142.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8747:EE_
X-MS-Office365-Filtering-Correlation-Id: c91924ae-2629-49dc-bf6e-08db26c41da1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zLD3n1hMhpMKIyvz63qEw69y21fs8789kT2BHbJsW8IzKCSUGGvSbr0X9d7mcWFUsj9iESu8TIpeR1Wl1E19Cot2gaWVsWx5G5ypLFs9H2SbutHS7+xTHALgicXGJBUofmnF+r1ZXEitHiU2Jy9TCDwnbSmH80bKsuDXLd7BDep5avPo6Zj9X5p/u2+aiR504KYCrMnz5WWvKJAkXDeHctWBHAtAHyceb8UIsWTwf8iWd7LjRJcTPi8MC8297W0E9LiAmLXWpBvb1mILkS0LgxGZbpSpYSae349rXoXdUzj6asJfTF6l28kLjybM5w15vLnb3f9D/NIJBm9FbE4QOvoJDZfrcTQgpmqbaTjXcfhPQoGeNIFI8l7QXENF0sue8h3xQ64ol74Ip6Peg5uO5PBe3yq8yzO/69IhpeTPvNTGBgtoltZzP52kQMRatv4l9RANIwnL9EN680ZZhD3LHLEXjzsZWzv69L3jAv9TizY6ufj7a2HlHVZmWfUYOnIVPsXaS0y8sJmMzxbY3WJbeok6zSEBbwdxMVL4NysNmVrIfsrnI/Jn8LgKRn+ixhxz/6u0bqX/n8nJ3MzNDr4QKKZYQ3p3F/kx1p2rg449qD0nONk9pcnXdZ85u6mfycKWKdhKh6UoA02m2qV3Rr6XFJizOM5xmBlIv49WPwfuQhngs/Iiuy0Diw2lLfHLS74NAa/C6SbPUlIToUHwL171tUoh/PEYWgEobjdsIJ6mFDA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(376002)(366004)(346002)(39860400002)(396003)(451199018)(31686004)(41300700001)(5660300002)(4744005)(2906002)(8936002)(86362001)(36756003)(31696002)(38100700002)(478600001)(66946007)(66556008)(8676002)(6916009)(6486002)(66476007)(54906003)(4326008)(83380400001)(66574015)(316002)(2616005)(186003)(6512007)(6506007)(26005)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N3RxblYrdFBjTFpTMDlWWHBEQ09mcUFmd1VTRWQvSVdJdEM1NEgwWlFiSXIy?=
 =?utf-8?B?SkR2UVVVQjUydkVlN2w2TGhienduVUc5M096NktERUcrYU83RXY2b1pHSW5J?=
 =?utf-8?B?SHQ5QVVseW1uYytVazBRYnY4RERVelhkbHlDcmtVeGJzRmh2clJhWHV1TE54?=
 =?utf-8?B?SUtrNVZmSWJBT3h3Q3hWWDlnTmdjYVdaZVNSQW1hUkNGZGJJamUxdHBhN21o?=
 =?utf-8?B?T0I2RlBseWk5ZlM5ZTRCcHZqSG51eXZaV3ZkcndUMWNLK2lLN3pJYkYzTHFU?=
 =?utf-8?B?c0V1dzNyU0lhbzhtRUJwRlQvMTBEMHREYzlac0F2emM5Q3A4eVQrVzBKYW5p?=
 =?utf-8?B?aDVSVDYvZjZZeGhYYjloUTFqWllmVDNGdWNjSFE2eGhrN1ZYL3p2bjd6VHFp?=
 =?utf-8?B?cG9haVJuem0xSmJacVZkTFdhUlFIbWs5dWt2QkN6UlZwNnB1Z3BjeFdKalEv?=
 =?utf-8?B?aGNUdzljVnZEM2owZGNQT3YxKzRGSkhwa0J3SkN5eTUwSnF4YW4vNXdTVjl6?=
 =?utf-8?B?QWlkeHN6bGh3NlI3ZTFLL3Nob1Vhd0dFWnhlSng3NlNGZHFFdThJaU5GV0NZ?=
 =?utf-8?B?RGFvOVlOZ3VJTEk1V05FUFEwQlQzN05GV3huTXZ6UnNVUVVXblc2VFJiUGJ0?=
 =?utf-8?B?OGQvUEg2dWl4Y0pDL0xDZVhSOVd0NHlPQnlxRGRxNjdGV2JiandnWlNTMHhj?=
 =?utf-8?B?SFF1T3IvdWtIbkljb0kwZVZibXluYko2VkM1NnhvL1pHMXc1enB3U3Jyck9Y?=
 =?utf-8?B?UE82ODNPV1FDODdHS1JSTm5CTkdSZ3BrbUFESGlHMS82RVBnQmlRREdpYXhM?=
 =?utf-8?B?cWRCbVhnRkJlYjZLM2pUSjdaWnMyYi9ZOTBlS0hTeUhEZTBXU1p1eU1nNVg2?=
 =?utf-8?B?TlhLWEdHeFBJcmkxVmQwaTBxbmhXSTZnZ2UzbGFqVURtWlU3eC9vdFlPbXh4?=
 =?utf-8?B?UnNvbGtBSm5peE5GZFJRQ213UUI4Q0Zjd1BwOUkrV3NWOFE4blNtenFvekhC?=
 =?utf-8?B?cnkvUmY5a2VnMkxSN3B6QnJCY2JqNFZoeGJqSzVwVkN0dlhhQk80YUYvdW8w?=
 =?utf-8?B?RzEvRzhmYkdIdEJiUmVNMWlrRGdZN0dLY1RrdUxaWW5Wa3lFeXROMGsxZFlV?=
 =?utf-8?B?dXB4OVB2clRqUVdKVkYrZUc1WXJOZzNva0lsQlN1SFdheTRSc2RQaHkvTExU?=
 =?utf-8?B?V3oya2NxZkdKdTZNNzJuWkltbjJMcHlNYTh6SmtZRHVaZ0xXUFVxUWZZZWlC?=
 =?utf-8?B?YldDS0NuMjRUREd2THFzY3JlbHNNbWkzdXAvSDMxbG1oamdMRlV3UFozeU1x?=
 =?utf-8?B?cnBxVkozT1FjUnpjM3AwMzFyK01YUndGa3hpYk9OTVBVV2E2di90dHFoMHpt?=
 =?utf-8?B?L0RWZ2lyUHUraWlOQlFEZzI0ZmxsRU1YeFNNS3VjWXdocnpSREt3TDhpQ2xL?=
 =?utf-8?B?djhiMDdjVDRzZnFhZnZKODZjNHVzSGZWVXVPN3Ezc2VqV1pzODNFdndIdlBV?=
 =?utf-8?B?OUNkNk5mUHdFZlpoSDE1R0s2N0p3cUVNZXJZcExnWFZKSU1QQ2FIK2RYUXRq?=
 =?utf-8?B?cUJVSzR3c1NtVUdBWHhGUDNDTzdmMU91NTVveGtkcGxoM1F1dUdQeGhIMS8z?=
 =?utf-8?B?d3J3cnpYZ1JUcmJidjhjQmZOS0VhcHNkeDEzNnRRRHhROVdDdS9MVEFKcEFo?=
 =?utf-8?B?blZFUFVROVZ3VFNrM040ek5wQ01PRzBWMmpjMkJRek5mMHA2RkUrVmNuT3NC?=
 =?utf-8?B?cGpTYTVHc3lWOVh2Qk0wMnlocks1Qi9MMTduV2YrRk84M21FaWswWVJia2Mx?=
 =?utf-8?B?UC9ZRVgxREM2a3BpVVY2VUxTNk9jZ01jU0RHSm5rczNFTTZ2NGxvLzk0WXpG?=
 =?utf-8?B?cmR6cGtuL2Jsbnh4am9laUVOQkhJOS9QM1Y5aElKUWRkbkhWbjBLS2FXYm9x?=
 =?utf-8?B?VXFUNXZKUHMxT29QOUtrUm80MzE2ZVVGam02cDZvRUlCeHNTN0xxMHZ3YWJD?=
 =?utf-8?B?Nitub3dkVW4rS3ZwNDh0S3JuWmZFdTVIcmkxaUdHRk5JSlFOeHk2cXJGdVow?=
 =?utf-8?B?enIzNFVBcC9JUHBjY0wzcTNuenZNRHM2alRXS1QvSU4zWmRjcjEwelFxbXRj?=
 =?utf-8?Q?bbvGuU6faA+tgIUJnMrvP1XNI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c91924ae-2629-49dc-bf6e-08db26c41da1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 08:46:35.6892
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /7lldEjQh40qPSB/j8OpZvJzCjOgOZ+CfeU/xYLKqeq0ufPKPOlctdwFzBHx5BTAejNoHdTWCWW+yOIyfR4+vQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8747

On 16.03.2023 18:16, Marek Marczykowski-Górecki wrote:
> Python2 is not supported anymore.

There are two things here which concern me: For one, how come this is
at the end of a series? You want to keep in mind that any series may
be committed piecemeal (unless an indication to the contrary is in
the cover letter, but there's none here in the first place).

The other aspect is that there's no indication here of it being
consensus that we raise the baseline requirement for Python, and for
Python alone. A decision towards the wider topic of raising baseline
requirements is, as you may recall from the meeting in Cambridge,
still pending.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 08:47:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 08:47:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510944.789550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd5jo-0007Zg-Hp; Fri, 17 Mar 2023 08:47:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510944.789550; Fri, 17 Mar 2023 08:47:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd5jo-0007ZV-F4; Fri, 17 Mar 2023 08:47:00 +0000
Received: by outflank-mailman (input) for mailman id 510944;
 Fri, 17 Mar 2023 08:46: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=001K=7J=citrix.com=prvs=433d55c46=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pd5jn-0007BV-7n
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 08:46:59 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 44e83177-c4a0-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 09:46:57 +0100 (CET)
Received: from mail-mw2nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 04:46:40 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB5854.namprd03.prod.outlook.com (2603:10b6:a03:2d3::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 08:46:38 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Fri, 17 Mar 2023
 08: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: 44e83177-c4a0-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679042817;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=t0OEirx9zGftTpCImJXvy/ledlxjoNBKK1kfZqiKssk=;
  b=PtoZoDIm1EmIEYNomUA4hdUpgxpQbg9ypLyS0OG744TmrCj0tArgRtMd
   HPf3tyVpqELYyeVWb/AUz8mBn5HDXh5U56Ju7iE24NlvvAabqYSQwBJcE
   GjfynNQkbDhOCsSPPDBOpinJjX+y8ecHUnYeI+nSYtxkCuzl08Qksp1Rt
   Q=;
X-IronPort-RemoteIP: 104.47.55.108
X-IronPort-MID: 100039690
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:hqEJq6/xP9VypjOqrwTJDrUDR3+TJUtcMsCJ2f8bNWPcYEJGY0x3z
 WYWXG/VPPqIYGryfd90Ptu+oBgDuMLdn9M3SAdprCo8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkU5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklK1
 9dfMwAzTCmyisnp2bjhSLhxl8IseZyD0IM34hmMzBn/JNN/GdXmfP+P4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWOilUpgNABM/KMEjCObd9SkUuC4
 HrP4kzyAw0ANczZwj2Amp6prraXxXugCdxDTNVU8NZ4kkG29kwrJiZNFkq2m6SZjUmaBONQf
 hl8Fi0G6PJaGFaQZuf6Wxq0sXuVpCk2UtBbE/A5wAyVw6+S6AGcbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8hTG4NDURLGQCTTQZVgZD6N7myKkrhw/LZsZuFuiylNKdJN3r6
 zWDrSx7gqpJi8cOjv2/5Qqe22LqoYXVRAko4AmRRnii8g5yeI+iYcqv9ETf6vFDao2eSzFto
 UQ5piRX18hWZbnlqcBHaL5VdF11z55p6AHhvGM=
IronPort-HdrOrdr: A9a23:/cG5hKupvfBdh4dMLgQJiHAd7skCHIAji2hC6mlwRA09TyXGra
 2TdaUgvyMc1gx7ZJhBo7+90We7MBbhHLpOkPEs1NaZLXDbUQ6TQL2KgrGD/9SNIVycygcZ79
 YaT0EcMqyNMbEZt7ec3ODQKb9Jrri6GeKT9IHjJh9WPHxXgspbnmNE42igYy9LrF4sP+tCKH
 PQ3LsxmxOQPVAsKuirDHgMWObO4/XNiZLdeBYDQzI39QWUijusybjiVzyVxA0XXT9jyaortT
 GtqX2z2oyT99WAjjPM3W7a6Jpb3PPn19t4HcSJzuQFNzn2jQ6sRYJ5H5mPpio8ru2D4Esj1P
 PMvxAjFcJu7G65RBD8nTLdny3blBo+4X7rzlGVxVPlvMzCXTo/T+5Mn5hQfBf141cp+IgU6t
 MD40up875sST/QliX04NbFEzlsi0qPuHIn1coelWZWX4cyYKJY6aYf4ERWOpEdGz+S0vFQLM
 BeSOXnoNpGe1KTaH7U+kFp3dyXR3w2WiyLR0AT0/bloQR+rTRc9Q811cYflnAP+NYWUJ9f/d
 nJNaxuifVnUtIWRbgVPpZPfeKHTkj2BT7cOmObJlrqUIsdPWjWlpLx6LIpoMm3ZZ0zyocokp
 ipaiIViYcLQTOuNSSy5uwKzviUK1/NHggFi/suqqSRg4eMCoYCaka4ORITe8jJmYRtPiSUYY
 f3BHtsOY6TEYLfI/c34+TAYegtFZA/arxhhj9pYSP7nuv7bqvXi8f8TNH/YJLQLBdMYBKOPp
 JEZkm4GPl9
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="100039690"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M9r1j5hOZs2vdUUcqg1ahBD52yA2dkTdKlz36ZmnETV39m7rDHTOWK35sdOEwhjFbgxfjaCKHW377Wh0Z4DM0n1uj+r1+tXlRG81EQpDJpAxaZ8VEMfvBeervD+ULLY36LFVHzFMmU/YhDkd9rDlk31JiJqMUJKBoqj287DHIOyT881+yKFNXbTq4enhw8CHY6mIbXXgn4rj0KGnx60gWRRRgl9DIsK517RG2D3tG62htdSfjrRwkKog/6i+097qOSDmABupYWLMhvSL+zhYNsbBubc3Asl3NQYO912xTACRSw8HVCZd/MONjgmdNzjLZyxaxAk9t9FpQiwrFBYChQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=93WeSr5BtWLHQEeJWLoSd9iHffiSN8bU3At50x55zA0=;
 b=A3L7x2uV8MZXqVmLEz/hkI3lfpn3boYj4ldKq+zeNHlt6qmzwd6WqFIDp8t14jgKzxxh2WVU33no+3pvJQRL0OnFI9UeEU2TI/qtdvxTt61t9NBrOm7ov+iq5sX8zTWfBLCYMbofAP8Fm/dH5GgO9pZhCbCFI1YSl3uqA4og+9HWQzYC0V4EWIUuo1T6hWQNJxUhraC/Jpc7CgyF63P4W1pJFK/vQlYQ3MgcO9nDVUu/ax9Kvy6BW+/+0NhYL+/+xZco3su8QO5xxS+a3HozqcbktzAGCPrP4GFUUcn6Wg6QroR3I7I20/Zr5SDBpv1kf/3BdZCYwaB5qqFjeRYOog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=93WeSr5BtWLHQEeJWLoSd9iHffiSN8bU3At50x55zA0=;
 b=Ahe3nTqIuNRmFwvRVZIJb2IEbHAjv6mQlSo78jPzSSbInGcaH+fn20/K3nWN67Oz0ezclcglj8u7wvYMGPp9fbENF+mwUiDU78E06lpNpXPvw6YVEC0k+UbLBBBxuK82ITIeQtpCcwVD0Kg5hMfWn/sUw+BohL0s5Ce7w5/i1RA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Mar 2023 09:46:33 +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>,
	Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>
Subject: Re: [PATCH v3 6/6] xen: pci: print reference counter when dumping
 pci_devs
Message-ID: <ZBQo6fjoGpODjuoR@Air-de-Roger>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-7-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230314205612.3703668-7-volodymyr_babchuk@epam.com>
X-ClientProxiedBy: LO4P123CA0046.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:152::15) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB5854:EE_
X-MS-Office365-Filtering-Correlation-Id: 9497493a-2e20-4ba6-1fbf-08db26c41f3a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gaEM9gqk4dz60U5AXKtANbRknE5ud+YCuKhjBx/bk0rRYPvKuB9SbG/DXgcE+LucL5peFGt51EU0GWi4iS4QFAmex7FBdIVKdDVEyX+ruDV6CzKcw1WShxaeOnldVvQutkLtjWoCn2E3BPlcbrhh+wSCequq1CIW3gs8IywfhVxOY0aso4pJNEVZne8EzcYad0M8iYbTGuNgyATkAw+EfhLF5AefvRh55+kIesEb+KJIKuNDuS5WWjeLvs/8jAFlBfx2NZ6OMVfZawBCv4C8ii56jRfn2eYywLo61i3vKVS3IABRoTpQegouMncGmyz5qX91YQumG/dUoIvMre0rZJtaqHGoE0vP9D61hOTBsQNtO+3OF/JQMbTmvPrPKsWG5uR1ZtXe3zXUqhKWhTiVztujQuozIYMtqzcqXgubS7lTiIwk6iYrMaITNXnJmB5FP2e4Ak/MYDDDiAWFohMcRXHRmqp6YBTwjuGv0QrcVgisbR2Xqttut1XHOSaVlvGj4PgCdC7keoSZ5XGI7ynsAoCvrqujUam4jeztdmgsRN/DfWE4FsRHxFviRxy6pgG+ZkGbpiJCNH8TuuIbhg4dThNmOhYDYsJcP5rtqBsZEQa9KPvP6MGTS1ZwNcPYdTIn/BPaivjT06hYROSTQjBXfA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(39860400002)(136003)(396003)(376002)(366004)(346002)(451199018)(85182001)(82960400001)(86362001)(38100700002)(2906002)(41300700001)(4744005)(8936002)(5660300002)(33716001)(4326008)(6506007)(9686003)(6512007)(26005)(186003)(83380400001)(316002)(54906003)(66556008)(66476007)(66946007)(6916009)(8676002)(6666004)(6486002)(478600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b0EvNkdxWlZ4NjlYSDNMOWx4bEZjc2w4QjNuNkhMK3E0L3VWT3hjcWJQL3pD?=
 =?utf-8?B?ek9lekZNWXhrcFovS2VhOWVnV0t1cjNUQmRZZDVGQU10OFlJQndHbnRQUzA2?=
 =?utf-8?B?MG1uazlURFJYSE11WitIWkNwRkJGOEdSYVRwaGN6Y05SVkVqaTRzemJReGtG?=
 =?utf-8?B?cFdFSHlJNnZESUF1WjBoZkp6ZFpMb2NwaU4wOEhkL2J5OGVGNE8vYld4aXVm?=
 =?utf-8?B?Q096ZG9tb1g1MHJicGRvOXBpSDl2SEllNnljSXJEU0s1NFNCY1F1YWY0Qi9Z?=
 =?utf-8?B?SEFEQ0dZZ3FGVnllZkZSbU1sK2NHUEl0aWN2d1k0Z29iUDJySzg2bjJyQzBR?=
 =?utf-8?B?bGx6eXFkQnZRUGx1cGNiY0JvSThFUCt1WlF1NVlocUpIZjJxdWFPQTdBRG81?=
 =?utf-8?B?MStEZ01vMUg1NnFkckJ0TUl3QXlVZ2Y4OFhpZlRTTjQ2bnNGY1laWTR0WUh5?=
 =?utf-8?B?bVJTaEdYUUowYncxY1VVUEw3dGpPWmU5U0FSeEVlaW5MakVCREhpa25hQXkz?=
 =?utf-8?B?Vm14TjlLZERUQkZuWDYrb0c5VjNrcCs0a2E4Ly9NSHFlQTE0MUZmYUxMeFRh?=
 =?utf-8?B?RUVSQS9ZUDdxM0dZSDdxdmsxb0gwVUV4ZzBXMlBJLzFuUndpTHNiODI2T09m?=
 =?utf-8?B?S0REUksrNHUxdlE2ZGZXbGVpVGd0cjM5T0U2SUtmSWtNNGJqZkFndVZnOVE1?=
 =?utf-8?B?cElNK1VySUtEdUpOTUJlb3lIU0JqM2xFaEViWWJHYmw5eWlMaDd6Rm1EQVho?=
 =?utf-8?B?VGlGRnNvYlpMakNTTDBGTktBNiszSmdGRE1sMWI3U2NiS0hzWWpGYVYweHFr?=
 =?utf-8?B?KzMxZ0JZa0xpNlhYK0xzdnFqaVpRMkJMdEhMc1RWTVBBQlhwNjhvZCtNL0cv?=
 =?utf-8?B?T21xTGFES3cyaUNUdnA2bENTNW8xVFFIUWZ5M1Z0NmYvc3o5ZnhhZ2ZKRnds?=
 =?utf-8?B?QzJHM3ozMStQMWNIUXVQTy8xa2h4cTV4ZC9VcHI3RkpUcU5aT3lNQmtnQkxI?=
 =?utf-8?B?RkRFWlZjcEYwL016dVFEaGRUVUYxMDJwVjBwemw0SjVCK1pDWE9xd0xYdk1N?=
 =?utf-8?B?eVdvTEU4N1NhU21UUEtGeXVUcXpuTXVxNE9aNEhOVFRXL3pFMUJNeTB4T2Iy?=
 =?utf-8?B?M2lHZWJSaGFsTjAweW84RHdHK0NnbHU1R0lUSHNUREdtNzhwTDA0bC93M2Jj?=
 =?utf-8?B?Yk9HNGxWZUVpaCtzb0JsQ1VVMW5MR3pZS0dST3p2QXF4TmJybWI5emEweThI?=
 =?utf-8?B?cllGSG5HMkhQQldHTytZWkkyN2taRk1iYVB6MzdLQjdTYklrSDFNUGorMXV6?=
 =?utf-8?B?bE9ONkdOOHUxZFNRdk56VHZnMkxXMDBCOFNHLy9xblRnV1ZNS0YyRnZRbWpj?=
 =?utf-8?B?S3FSN25icGFtRHBkU3JlVFREemV0Z0U5VEFhcmhvNG1YOTVOeWpURXlLVllo?=
 =?utf-8?B?d3RTTkY5YXRLT2p0dmlnazA2UnMrS01YdU1qZXVYSTMwTlBwMmdHUkVPdEJM?=
 =?utf-8?B?NWhhRTB4YkRJSjhqaGRSK1F4STRBY3JrOExHYXlhVzI3emx0MzNYOUFOVHAy?=
 =?utf-8?B?M3k1SDJqZ0RpVHZUTWRPdGlkdUdBWWpqZ2p1b2VrV1ZUZXRHVmVsNzh1eDN2?=
 =?utf-8?B?SkdMTjI0MHprWUdaZ3hwUjBjNmxvdHBuVGVRMjhZL3NYL3h4c2tVUkpPbzBX?=
 =?utf-8?B?OXM5RTdnVzhwamZSWVExTVAycjNHOVcvRVYxV2NBdUhTT2FQMlU0L3RaVmN2?=
 =?utf-8?B?SUwrQnhSTkQ3YWRPSWIwR1ZKOUdsUUlpeUZPcTkwT3ozRGpYNzJCamdGNjU4?=
 =?utf-8?B?eXQ2Z2t1YmovRTY0U2NLTHN5VERvcy9BaXFWbWNmbUM5eGx1TWZsei8yMWNv?=
 =?utf-8?B?Yjc4b2J5c3RQcUhIdnBiVDk5djZLYkZKRE9jNDNETHI5cVZ6U1dCSFRiME9w?=
 =?utf-8?B?bHBoUlA3SnBybnZ6Uktwc29nU2Z4VVppRjJFTDBSRTF3MDU5MlF3SWQvNFZY?=
 =?utf-8?B?d0E0YlZ4T05KU3ZQNUtZczE1SGdhVlJaQzRnL1h3dU50SjdVb1pGSXhERlRF?=
 =?utf-8?B?eXVqWnR6MGc1ZFl4cjlVNk5hMEtKaFVSMnB6U3Eyd1NDSzFEeWtzQi9yR1ZZ?=
 =?utf-8?B?allFVVFpSTc1VlVSdkxVYUY3OHM1Z1VxSjJhWm90SUZGaVFpcnR2TWk4aTQv?=
 =?utf-8?B?R2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	gbpej4wAYaFlTrSUn61gwEU6lLldncrcTxqS3v/flz1lpeAK+b1QGLXzkue/7fbbafaIEmY7hMiFlJc66zl/r8iTudX422F9K0bD3KVPAVFzyHjPJUGTb2FREWuON8H5byt55kAJQ9cUMb6HMjzIoXLTfLUEIWv1UJWlgJXWdsNWYsM8mkkaW0+A5YmEBhr7gNo7wicAF2Add/lRig1ZapChFY9/AgWxAc31/Q4aHRGidRCpwNuBFoRCURrTLs8e85w5jQG81WnZOfBheD+wEpbwJa0B5UbNnhrTs3t97cgXDKkME9LGXvBD32fKMm1oemR/D3V/7DtS4Qn0Elk2EUs73waNa8Wj8TsXh0jKCJCr7JrWxvmNXB+qVHhtk20Htv+3bIeWzKDYwv6E716ZVtYxKykSZhiS1rJUyn7IctC8D/LtT3yGbsAqlYL2tIcMQuECN11QikNC8t061EFrjcWY705oO8N1S/61B/5nSOlBGdYSRf618LNDHchdAtGCN23BMXpCaBexkCrpzEZlXpBCFmrWPeZKwbJ+OGiiZWNb3/4tDaMLNG19wotvGkDbujtkicFb/xQXeAV43WFYdBDSf0dmaMY9cIsbJWDIawQCxXTzTIZeFe2EjxIGTbNfDbWGiw0ErmwSkAc2neaUgdMXYbJ1vnYueNFk7fViyTSYikNTVcuy6X6UF+PeAwg40cZImizGYy9kq9wazYQtOx5iVC5Qt97nVPvNDLnjS1KohvEqSL6w5MFY9kJQOlyIaVeHmfF4c0/hfG8GDKfFGD1XdkhNPBMd+tHfCjaw54by1XkKEx90t8VlDd9VgJVPYMPdHjgam0TN0zu93GBDYF8MqbJNTkFuF/JEKynYb54=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9497493a-2e20-4ba6-1fbf-08db26c41f3a
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 08:46:38.4147
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JKRFOAV7uOXaQPjhOyrBuW6Zb6IZcn4Ng+GjEpYwvHU5K4oYZy5QsgHM3ygK/UOBMCJ4usYHqOH6CFqAoasIxQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5854

On Tue, Mar 14, 2023 at 08:56:30PM +0000, Volodymyr Babchuk wrote:
> This can be handy during new reference counter approach evaluation.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> ---
> 
> v3:
>  - Moved from another patch series
> ---
>  xen/drivers/passthrough/pci.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
> index b32382aca0..1eb79e7d01 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -1275,7 +1275,8 @@ static int cf_check _dump_pci_devices(struct pci_seg *pseg, void *arg)
>          else
>  #endif
>              printk("%pd", pdev->domain);
> -        printk(" - node %-3d", (pdev->node != NUMA_NO_NODE) ? pdev->node : -1);
> +        printk(" - node %-3d refcnt %d", (pdev->node != NUMA_NO_NODE) ? pdev->node : -1,

This line is now too long (> 80 chars), you need to add a newline
between the format and the argument list.

The rest LGTM.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 09:23:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 09:23:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510963.789567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd6J4-0004xE-Hs; Fri, 17 Mar 2023 09:23:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510963.789567; Fri, 17 Mar 2023 09:23: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 1pd6J4-0004x7-Ds; Fri, 17 Mar 2023 09:23:26 +0000
Received: by outflank-mailman (input) for mailman id 510963;
 Fri, 17 Mar 2023 09:23: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=T5qW=7J=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pd6J3-0004wz-4D
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 09:23:25 +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 5c10021c-c4a5-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 10:23:21 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id fd5so17796397edb.7
 for <xen-devel@lists.xenproject.org>; Fri, 17 Mar 2023 02:23:21 -0700 (PDT)
Received: from [192.168.8.114] (46.204.101.131.nat.umts.dynamic.t-mobile.pl.
 [46.204.101.131]) by smtp.gmail.com with ESMTPSA id
 s2-20020a1709060c0200b008e385438c76sm750275ejf.55.2023.03.17.02.23.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Mar 2023 02:23:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c10021c-c4a5-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679045001;
        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=5pQQe85Dkj3Rgwo5PfG3bGHl2UiEiveVmgjvDrmPnzM=;
        b=lZCSTuj7sOMJJY9RiaWqD1Aw+Yvd1TeMBWArFLdBL7ROV+Kh8KnqlHjdOaw3XUuCtd
         SiNVVMo01X8VH9pH8ZWIP1/xBZHFT6kpw10bpeSamI3DUoqa7MS1KZtvRHwvqMJdt3BI
         ICEAvXeNjDKaJeqYQBjbJO6Xk/XDAAu5RlpelBKAKwwNRO63QlCw3xTSuygXccCCUWVz
         cY3AEiYeqEewbzbfPiA/H+591KzYOB5oiydGUhchIYf/ZJx9DSr5sC+oBwLK0idN74z0
         3niRcOSHF7ISwA29dlu49S24w10/4By8IlO+lcKZ+BSEtWatSiG3ts3sm6qVXi7g7vlk
         xBDA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679045001;
        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=5pQQe85Dkj3Rgwo5PfG3bGHl2UiEiveVmgjvDrmPnzM=;
        b=0kGsuVmpiea1su0eJB1IPq7QgoS9iRNCTWyJ++25dMmUBK3cw17RNilPLpAe1adBlZ
         2X7ZApbE4GIzk+zLXuPfGvM2RkB1YbftweRfyFRxiRQGnkpREgXcnxwLc7V4QYFthMO5
         aUbjnuprrX7mvunvYU/7asVLqMSMWV7x39YILvWZwEoazyA0aXrO6kCz5WITXQC307pk
         df6UyPCguOuQUcpfB1OP6WXx9rxxzM/tspPCSO8IAG4sJXRMR/n7CtaIOvMU6Wzpb4n6
         7GPFGCUcNAX11XDVDif5uk4YNGJL0tszaTuW/Zzsu6Gavloh9tZHQIN2OPnjMAW0d9SI
         guEg==
X-Gm-Message-State: AO0yUKVVGQjsO0tp+pZhxMfJlV3qzT1/nWubePZenVRFUkZBp8GpYBtI
	l+mulM0sVHIjQ6p9Tcruw4o=
X-Google-Smtp-Source: AK7set+jYn54gDzB5iuGnyJt6qI5MhR42CcCOUqWybweDpfjX3MM1fVf1Ns2Cs10ALQZXv5FBW4fxw==
X-Received: by 2002:a17:906:a245:b0:925:1d1d:6825 with SMTP id bi5-20020a170906a24500b009251d1d6825mr13383482ejb.42.1679045000639;
        Fri, 17 Mar 2023 02:23:20 -0700 (PDT)
Message-ID: <99354bbeabf11e86cbf3fd46019c08fb36bf0098.camel@gmail.com>
Subject: Re: [PATCH v8 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Fri, 17 Mar 2023 11:23:18 +0200
In-Reply-To: <3bc211fa-a8f7-70ce-bfa9-5e4380776070@suse.com>
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
	 <2afad972cd8da98dcb0ba509ba29ff239dc47cd0.1678900513.git.oleksii.kurochko@gmail.com>
	 <3bc211fa-a8f7-70ce-bfa9-5e4380776070@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

T24gVGh1LCAyMDIzLTAzLTE2IGF0IDEyOjI2ICswMTAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAxNS4wMy4yMDIzIDE4OjIxLCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gLS0tIC9kZXYv
bnVsbAo+ID4gKysrIGIveGVuL2NvbW1vbi9idWcuYwo+ID4gQEAgLTAsMCArMSwxMDggQEAKPiA+
ICsjaW5jbHVkZSA8eGVuL2J1Zy5oPgo+ID4gKyNpbmNsdWRlIDx4ZW4vZGVidWdnZXIuaD4KPiA+
ICsjaW5jbHVkZSA8eGVuL2Vycm5vLmg+Cj4gPiArI2luY2x1ZGUgPHhlbi9rZXJuZWwuaD4KPiA+
ICsjaW5jbHVkZSA8eGVuL2xpdmVwYXRjaC5oPgo+ID4gKyNpbmNsdWRlIDx4ZW4vc3RyaW5nLmg+
Cj4gPiArI2luY2x1ZGUgPHhlbi90eXBlcy5oPgo+ID4gKyNpbmNsdWRlIDx4ZW4vdmlydHVhbF9y
ZWdpb24uaD4KPiA+ICsKPiA+ICsjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgo+IAo+IEkgYWN0
dWFsbHkgbWVhbnQgdG8gYWxzbyBhc2s6IFdoYXQgaXMgdGhpcyBuZWVkZWQgZm9yPyBHbGFuY2lu
ZyBvdmVyCj4gdGhlCj4gY29kZSAuLi4KPiAKPiA+ICsvKgo+ID4gKyAqIFJldHVybnMgYSBuZWdh
dGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yIG90aGVyd2lzZQo+ID4gKyAqIEJVR0ZSQU1F
X3tydW5fZm4sIHdhcm4sIGJ1ZywgYXNzZXJ0fQo+ID4gKyAqLwo+ID4gK2ludCBkb19idWdfZnJh
bWUoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MsIHVuc2lnbmVkIGxvbmcgcGMpCj4gPiArewo+
ID4gK8KgwqDCoCBjb25zdCBzdHJ1Y3QgYnVnX2ZyYW1lICpidWcgPSBOVUxMOwo+ID4gK8KgwqDC
oCBjb25zdCBzdHJ1Y3QgdmlydHVhbF9yZWdpb24gKnJlZ2lvbjsKPiA+ICvCoMKgwqAgY29uc3Qg
Y2hhciAqcHJlZml4ID0gIiIsICpmaWxlbmFtZSwgKnByZWRpY2F0ZTsKPiA+ICvCoMKgwqAgdW5z
aWduZWQgbG9uZyBmaXh1cDsKPiA+ICvCoMKgwqAgdW5zaWduZWQgaW50IGlkLCBsaW5lbm87Cj4g
PiArCj4gPiArwqDCoMKgIHJlZ2lvbiA9IGZpbmRfdGV4dF9yZWdpb24ocGMpOwo+ID4gK8KgwqDC
oCBpZiAoICFyZWdpb24gKQo+ID4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRUlOVkFMOwo+ID4g
Kwo+ID4gK8KgwqDCoCBmb3IgKCBpZCA9IDA7IGlkIDwgQlVHRlJBTUVfTlI7IGlkKysgKQo+ID4g
K8KgwqDCoCB7Cj4gPiArwqDCoMKgwqDCoMKgwqAgY29uc3Qgc3RydWN0IGJ1Z19mcmFtZSAqYjsK
PiA+ICvCoMKgwqDCoMKgwqDCoCBzaXplX3QgaTsKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoCBm
b3IgKCBpID0gMCwgYiA9IHJlZ2lvbi0+ZnJhbWVbaWRdLmJ1Z3M7Cj4gPiArwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgaSA8IHJlZ2lvbi0+ZnJhbWVbaWRdLm5fYnVnczsgYisrLCBpKysgKQo+
ID4gK8KgwqDCoMKgwqDCoMKgIHsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICggYnVn
X2xvYyhiKSA9PSBwYyApCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB7Cj4gPiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJ1ZyA9IGI7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIGdvdG8gZm91bmQ7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4g
PiArwqDCoMKgwqDCoMKgwqAgfQo+ID4gK8KgwqDCoCB9Cj4gPiArCj4gPiArIGZvdW5kOgo+ID4g
K8KgwqDCoCBpZiAoICFidWcgKQo+ID4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAtRU5PRU5UOwo+
ID4gKwo+ID4gK8KgwqDCoCBpZiAoIGlkID09IEJVR0ZSQU1FX3J1bl9mbiApCj4gPiArwqDCoMKg
IHsKPiA+ICvCoMKgwqDCoMKgwqDCoCB2b2lkICgqZm4pKHN0cnVjdCBjcHVfdXNlcl9yZWdzICop
ID0gYnVnX3B0cihidWcpOwo+ID4gKwo+ID4gK8KgwqDCoMKgwqDCoMKgIGZuKHJlZ3MpOwo+ID4g
Kwo+ID4gK8KgwqDCoMKgwqDCoMKgIC8qIFJlLWVuZm9yY2UgY29uc2lzdGVudCB0eXBlcywgYmVj
YXVzZSBvZiB0aGUgY2FzdHMKPiA+IGludm9sdmVkLiAqLwo+ID4gK8KgwqDCoMKgwqDCoMKgIGlm
ICggZmFsc2UgKQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcnVuX2luX2V4Y2VwdGlvbl9o
YW5kbGVyKGZuKTsKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gaWQ7Cj4gPiArwqDC
oMKgIH0KPiA+ICsKPiA+ICvCoMKgwqAgLyogV0FSTiwgQlVHIG9yIEFTU0VSVDogZGVjb2RlIHRo
ZSBmaWxlbmFtZSBwb2ludGVyIGFuZCBsaW5lCj4gPiBudW1iZXIuICovCj4gPiArwqDCoMKgIGZp
bGVuYW1lID0gYnVnX3B0cihidWcpOwo+ID4gK8KgwqDCoCBpZiAoICFpc19rZXJuZWwoZmlsZW5h
bWUpICYmICFpc19wYXRjaChmaWxlbmFtZSkgKQo+ID4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiAt
RUlOVkFMOwo+ID4gK8KgwqDCoCBmaXh1cCA9IHN0cmxlbihmaWxlbmFtZSk7Cj4gPiArwqDCoMKg
IGlmICggZml4dXAgPiA1MCApCj4gPiArwqDCoMKgIHsKPiA+ICvCoMKgwqDCoMKgwqDCoCBmaWxl
bmFtZSArPSBmaXh1cCAtIDQ3Owo+ID4gK8KgwqDCoMKgwqDCoMKgIHByZWZpeCA9ICIuLi4iOwo+
ID4gK8KgwqDCoCB9Cj4gPiArwqDCoMKgIGxpbmVubyA9IGJ1Z19saW5lKGJ1Zyk7Cj4gPiArCj4g
PiArwqDCoMKgIHN3aXRjaCAoIGlkICkKPiA+ICvCoMKgwqAgewo+ID4gK8KgwqDCoCBjYXNlIEJV
R0ZSQU1FX3dhcm46Cj4gPiArwqDCoMKgwqDCoMKgwqAgcHJpbnRrKCJYZW4gV0FSTiBhdCAlcyVz
OiVkXG4iLCBwcmVmaXgsIGZpbGVuYW1lLCBsaW5lbm8pOwo+ID4gK8KgwqDCoMKgwqDCoMKgIHNo
b3dfZXhlY3V0aW9uX3N0YXRlKHJlZ3MpOwo+ID4gKwo+ID4gK8KgwqDCoMKgwqDCoMKgIGJyZWFr
Owo+ID4gKwo+ID4gK8KgwqDCoCBjYXNlIEJVR0ZSQU1FX2J1ZzoKPiA+ICvCoMKgwqDCoMKgwqDC
oCBwcmludGsoIlhlbiBCVUcgYXQgJXMlczolZFxuIiwgcHJlZml4LCBmaWxlbmFtZSwgbGluZW5v
KTsKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoCBpZiAoIEJVR19ERUJVR0dFUl9UUkFQX0ZBVEFM
KHJlZ3MpICkKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJyZWFrOwo+ID4gKwo+ID4gK8Kg
wqDCoMKgwqDCoMKgIHNob3dfZXhlY3V0aW9uX3N0YXRlKHJlZ3MpOwo+ID4gK8KgwqDCoMKgwqDC
oMKgIHBhbmljKCJYZW4gQlVHIGF0ICVzJXM6JWRcbiIsIHByZWZpeCwgZmlsZW5hbWUsIGxpbmVu
byk7Cj4gPiArCj4gPiArwqDCoMKgIGNhc2UgQlVHRlJBTUVfYXNzZXJ0Ogo+ID4gK8KgwqDCoMKg
wqDCoMKgIC8qIEFTU0VSVDogZGVjb2RlIHRoZSBwcmVkaWNhdGUgc3RyaW5nIHBvaW50ZXIuICov
Cj4gPiArwqDCoMKgwqDCoMKgwqAgcHJlZGljYXRlID0gYnVnX21zZyhidWcpOwo+ID4gK8KgwqDC
oMKgwqDCoMKgIGlmICggIWlzX2tlcm5lbChwcmVkaWNhdGUpICYmICFpc19wYXRjaChwcmVkaWNh
dGUpICkKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHByZWRpY2F0ZSA9ICI8dW5rbm93bj4i
Owo+ID4gKwo+ID4gK8KgwqDCoMKgwqDCoMKgIHByaW50aygiQXNzZXJ0aW9uICclcycgZmFpbGVk
IGF0ICVzJXM6JWRcbiIsCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcmVkaWNh
dGUsIHByZWZpeCwgZmlsZW5hbWUsIGxpbmVubyk7Cj4gPiArCj4gPiArwqDCoMKgwqDCoMKgwqAg
aWYgKCBCVUdfREVCVUdHRVJfVFJBUF9GQVRBTChyZWdzKSApCj4gPiArwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBicmVhazsKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoCBzaG93X2V4ZWN1dGlvbl9z
dGF0ZShyZWdzKTsKPiA+ICvCoMKgwqDCoMKgwqDCoCBwYW5pYygiQXNzZXJ0aW9uICclcycgZmFp
bGVkIGF0ICVzJXM6JWRcbiIsCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJlZGlj
YXRlLCBwcmVmaXgsIGZpbGVuYW1lLCBsaW5lbm8pOwo+ID4gK8KgwqDCoCB9Cj4gPiArCj4gPiAr
wqDCoMKgIHJldHVybiBpZDsKPiA+ICt9Cj4gCj4gLi4uIEkgY2FuJ3QgcmVhbGx5IHNwb3Qgd2hh
dCBpdCBtaWdodCBiZSB0aGF0IGNvbWVzIGZyb20gdGhhdCBoZWFkZXIuCj4gT2gsIG9uIHRoZSBO
KzFzdCBydW4gSSd2ZSBzcG90dGVkIGl0IC0gaXQncyBzaG93X2V4ZWN1dGlvbl9zdGF0ZSgpLgo+
IFRoZSBkZWNsYXJhdGlvbiBvZiB3aGljaCwgYWxyZWFkeSBiZWluZyB1c2VkIGZyb20gY29tbW9u
IGNvZGUgYWhlYWQKPiBvZiB0aGlzIHNlcmllcywgc2hvdWxkIGltbyBiZSBtb3ZlZCB0byBhIGNv
bW1vbiBoZWFkZXIuIEkgZ3Vlc3MgSSdsbAo+IG1ha2UgeWV0IGFub3RoZXIgcGF0Y2ggLi4uCkFz
IG1lbnRpb25lZCBhYm92ZS4gTm90IG9ubHkgc2hvd19leGVjdXRpb25fc3RhdGUoKSBidXQgYWxz
bwpjcHVfdXNlcl9yZWdzIHN0cnVjdHVyZS4gKCBhdCBsZXN0LCBmb3IgQVJNICYgUklTQ1YgKQoK
fiBPbGVrc2lpCg==



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 09:33:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 09:33:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510971.789580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd6S9-0006pf-II; Fri, 17 Mar 2023 09:32:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510971.789580; Fri, 17 Mar 2023 09: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 1pd6S9-0006pY-FE; Fri, 17 Mar 2023 09:32:49 +0000
Received: by outflank-mailman (input) for mailman id 510971;
 Fri, 17 Mar 2023 09: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=nRv9=7J=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pd6S8-0006pP-0d
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 09:32:48 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20613.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac8bdb56-c4a6-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 10:32:45 +0100 (CET)
Received: from DS7PR03CA0330.namprd03.prod.outlook.com (2603:10b6:8:2b::22) by
 SN7PR12MB6930.namprd12.prod.outlook.com (2603:10b6:806:262::5) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.26; Fri, 17 Mar 2023 09:32:42 +0000
Received: from CY4PEPF0000B8EB.namprd05.prod.outlook.com
 (2603:10b6:8:2b:cafe::26) by DS7PR03CA0330.outlook.office365.com
 (2603:10b6:8:2b::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35 via Frontend
 Transport; Fri, 17 Mar 2023 09:32:42 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000B8EB.mail.protection.outlook.com (10.167.241.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6222.10 via Frontend Transport; Fri, 17 Mar 2023 09:32:41 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Fri, 17 Mar
 2023 04:32:40 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Fri, 17 Mar 2023 04:32:39 -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: ac8bdb56-c4a6-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YGufOuySThNh4a7QT6JcP96kxK9FUtuokgchjEOKdQ2d9UyASgrTqkR4AXSmh+3pq35KFwVGTkotM4tqABDlGyE1ADLKwHTDf3ME/7uY5Udtx8K8V19yprDIry4oNJZSTEFEbCPS1FUzngb7mlCkcRO7anHRP1uSbmLfmy7AsXuJg1iyZ2vvrR+sR10m19fYHBwxuD7ooGbYFmrzN9G0ze3bcdJ8lMk4jD+Yc2K/bbCw6N53oJDi/uDgsS50nzchtoU8Qlf63dUDC7l9ABvPO7qqBdA0EPuoh0bXd6xpYCml4zfgYS+2ZlQGRDE2kB0/QBVG/7BF+voRRg76etBjIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+yAJLAReIoG5jda+TQq0X0yLNPbNOso2JggJsFHInc=;
 b=l459ZWX6vak+WmiLWKT7ZgGWJ/bdsnFASpfjQxjZE0PNb8XcRGYJ6rwiWdaRv6N2gyFhyYMW2xP2zSiawFodsapJP/2Sqt4Qvnh6vG1W2IBmKEarx4NvcJYMRMENYrDutGCy0FaeNIUqpzE5YbFdB7z/0SvB9UF3k8/rRL6LsEb0A7mnII6BOBZVCC0EpQeUgQKixSA4H7HAjZDiqtaRlBYF3tQeodbh5lJCsu/Q+5I29uh66Mfmycp4BIiOgD0xtVnm0Dwnw/h7GiN91hYIy3a04hkCq6ljuo4D5ALs5C7wmmHS773j/BgxAP/RQdRy608FL0E3QuHqJo53M94/CQ==
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
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+yAJLAReIoG5jda+TQq0X0yLNPbNOso2JggJsFHInc=;
 b=3jN7madykkxhrEY7KEdnjueUkAWvh0WJR8PxgeqdGV+UHqge+jRnNoKTp4ivhv4gr4EmOQhICNrqHsxy6JP35sFhSMBwoBp6wrb0zLPFinNWgTzLFdr8pugOYfI9vMIC466v+NjAMN70x5iigsiFJaCl+3+iGvt7ZtQujUZlEp4=
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: <875eea95-a9b2-656d-b182-1a48cf557a9b@amd.com>
Date: Fri, 17 Mar 2023 10:32:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] xen/console: Skip switching serial input to non
 existing domains
To: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: 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: <20230316102635.6497-1-michal.orzel@amd.com>
 <d9654392-ce4b-07b6-9be0-7a6d4230c287@suse.com>
 <alpine.DEB.2.22.394.2303161559250.3359@ubuntu-linux-20-04-desktop>
 <02d111e0-000b-ff82-9483-6301c18e5172@suse.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <02d111e0-000b-ff82-9483-6301c18e5172@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000B8EB:EE_|SN7PR12MB6930:EE_
X-MS-Office365-Filtering-Correlation-Id: f0d645ca-9190-45b2-1500-08db26ca8e24
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	08Ise6m+b57aTe+AJulj19Mmd7VUvBOuvkwHNjAsQLAf3fOlJnTZcdi9CdbNCUnoHjl6RJg8pouYGCqH3U/+OC5YDrRnAyXta78guv5WdhxOfKV4iMFejJdWLI+9B+X4+ad/57WQ6XbJGJoeDv3Zs1utqzqDlaLWgXywDv4dOdHI4sfwok7/gKOaVXX7VSDqQ5HctlAm97uJdBvK3BChmuM1iZwi+rkbBbqs88nYzoCvYh0dqD9H509/CdYMPh42ldLRyOyNgvCXtaNSfEyKa/rELBxIuZgytvkMw5NTX8j7OUBkIJGtxaVl7O7qViwbQRH2dpheyiSIMstiIkxwbw3GqnN2YMmLlxYM+Vs9XYCS4tkz2yyhV+itJ4o+B/ggUm7o6GjgtFAzSsPoHCjdXG6aLToWbtESK8qWvipq5y4GF4LTi3v5j2IgGlnwrZTbE4IcmyEAduuWlqNlu4XXjCSduyoUZ+8N5gMVScK3khyM6nlg9cS3EwdCpsZ0QKMYLopjIDuUYKlz/DnmtNA9MzqtEpoi3GWJ9Fj6mr6ImaT9zLrQmuqKCTLEvpVNY7mEBRGhGyTaf1x5w0SYaXRth7yxva/oE7J/1l2PG+TUdopKYESQsLRCOtIicVgYTDjM+xWEQ69s7/2mlBPzvi8L1S867Zr70/UipdidrSBtmgiyPGp9f2dduE7UYBcPxqrqYQracu6/8pi2zG+u52ndLH6cefPJ61wh0D41ZwaxUweQedd/u1vyaH64GU35SxsZoFfKq1bKxTDd4qi1HhFEVg==
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:(13230025)(4636009)(396003)(376002)(136003)(346002)(39860400002)(451199018)(46966006)(36840700001)(40470700004)(31686004)(81166007)(54906003)(40480700001)(316002)(426003)(336012)(47076005)(110136005)(83380400001)(16576012)(40460700003)(36756003)(82310400005)(8676002)(82740400003)(4326008)(36860700001)(70586007)(186003)(86362001)(8936002)(53546011)(70206006)(2906002)(26005)(356005)(31696002)(478600001)(2616005)(5660300002)(41300700001)(44832011)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 09:32:41.1942
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f0d645ca-9190-45b2-1500-08db26ca8e24
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:
	CY4PEPF0000B8EB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6930



On 17/03/2023 09:36, Jan Beulich wrote:
> 
> 
> On 16.03.2023 23:59, Stefano Stabellini wrote:
>> On Thu, 16 Mar 2023, Jan Beulich wrote:
>>> On 16.03.2023 11:26, Michal Orzel wrote:
>>>> --- a/xen/drivers/char/console.c
>>>> +++ b/xen/drivers/char/console.c
>>>> @@ -490,7 +490,24 @@ static void switch_serial_input(void)
>>>>      }
>>>>      else
>>>>      {
>>>> -        console_rx++;
>>>> +        unsigned int next_rx = console_rx + 1;
>>>> +
>>>> +        /* Skip switching serial input to non existing domains */
>>>> +        while ( next_rx < max_init_domid + 1 )
>>>> +        {
>>>> +            struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
>>>> +
>>>> +            if ( d )
>>>> +            {
>>>> +                rcu_unlock_domain(d);
>>>> +                break;
>>>> +            }
>>>> +
>>>> +            next_rx++;
>>>> +        }
>>>> +
>>>> +        console_rx = next_rx;
>>>> +
>>>>          printk("*** Serial input to DOM%d", console_rx - 1);
>>>>      }
>>>
>>> While at the first glance (when you sent it in reply to v1) it looked okay,
>>> I'm afraid it really isn't: Please consider what happens when the last of
>>> the DomU-s doesn't exist anymore. (You don't really check whether it still
>>> exists, because the range check comes ahead of the existence one.) In that
>>> case you want to move from second-to-last to Xen. I expect the entire
>>> if/else construct wants to be inside the loop.
>>
>> I don't think we need another loop, just a check if we found a domain or
> 
> I didn't say "another loop", but I suggested that the loop needs to be
> around the if/else. Of course this can be transformed into equivalent
> forms, like ...
> 
>> not. E.g.:
>>
>>
>>     unsigned int next_rx = console_rx + 1;
>>
>>     /* Skip switching serial input to non existing domains */
>>     while ( next_rx < max_init_domid + 1 )
>>     {
>>         struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
>>
>>         if ( d )
>>         {
>>             rcu_unlock_domain(d);
>>             console_rx = next_rx;
>>             printk("*** Serial input to DOM%d", console_rx - 1);
>>             break;
>>         }
>>
>>         next_rx++;
>>     }
>>
>>     /* no domain found */
>>     console_rx = 0;
>>     printk("*** Serial input to Xen");
> 
> ... what you suggest (or at least almost, because the way it's written
> we'd always switch to Xen).

I would prefer a loop with if/else inside. If you are ok with the following code
that handles all the cases, I will push a patch in a minute:

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 51e5408f2114..96ec3bbcf541 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -483,15 +483,34 @@ struct domain *console_input_domain(void)
 
 static void switch_serial_input(void)
 {
-    if ( console_rx == max_init_domid + 1 )
-    {
-        console_rx = 0;
-        printk("*** Serial input to Xen");
-    }
-    else
+    unsigned int next_rx = console_rx + 1;
+
+    /*
+     * Rotate among Xen, dom0 and boot-time created domUs while skipping
+     * switching serial input to non existing domains.
+     */
+    while ( next_rx <= max_init_domid + 2 )
     {
-        console_rx++;
-        printk("*** Serial input to DOM%d", console_rx - 1);
+        if ( next_rx == max_init_domid + 2 )
+        {
+            console_rx = 0;
+            printk("*** Serial input to Xen");
+            break;
+        }
+        else
+        {
+            struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
+
+            if ( d )
+            {
+                rcu_unlock_domain(d);
+                console_rx = next_rx;
+                printk("*** Serial input to DOM%d", console_rx - 1);
+                break;
+            }
+
+            next_rx++;
+        }
     }
 
     if ( switch_code )

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 09:51:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 09:51:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510978.789593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd6k8-0001So-4h; Fri, 17 Mar 2023 09:51:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510978.789593; Fri, 17 Mar 2023 09:51:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd6k8-0001Sh-1C; Fri, 17 Mar 2023 09:51:24 +0000
Received: by outflank-mailman (input) for mailman id 510978;
 Fri, 17 Mar 2023 09:51: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=001K=7J=citrix.com=prvs=433d55c46=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pd6k6-0001Sa-36
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 09:51: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 441e37f3-c4a9-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 10:51:20 +0100 (CET)
Received: from mail-mw2nam04lp2177.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 05:51:17 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN8PR03MB5073.namprd03.prod.outlook.com (2603:10b6:408:dc::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 09:51:15 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Fri, 17 Mar 2023
 09: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: 441e37f3-c4a9-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679046680;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=0ZqAxLLHmfIW/Bwl/6W/+sYiJNjVEK33xBsjBtBmAn4=;
  b=Qw+ycX0MWXUbVAmKHuWMkEsVIPlViCMKXsgb5lC/lUe8D4e0/XOyDC8n
   c4065zU5YRaJ7Ul3y1kLeo62iz8IXPbutLHRP03peCJbHX+nC7ic2WNPK
   DZVXLH+FNXRMqdgMrzHJKC8sc1TwlIfRKd/gPTylZ4Go6Mhott6mjQFHZ
   M=;
X-IronPort-RemoteIP: 104.47.73.177
X-IronPort-MID: 101245768
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:HXJN3ahWg3czcu9ph36X4/PPX161CRAKZh0ujC45NGQN5FlHY01je
 htvWW7Xbq2OZjP1ftpwb4/joRhT7cTRmtVmTQc/rS42Ei4b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waBzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQ+NioOaS+Kjdms65GQR/JHip0ADtjCadZ3VnFIlVk1DN4AaLWbH+Dv2oUd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilMqluGyb7I5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjAdhOSeLmppaGhnXNl3ANDjkrVGCA+/CEkxWYfPVhL
 Qstr39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLP+BqQDGUASj9HafQludUwSDhs0
 UWG9/vzDC0psKCcT321/7KY6zi1PEA9PWIEICMJUwYBy93iu50oyALCSM55F6y4hcGzHiv/q
 xiDqCUujrMfgNRN26im9lDKmRqlo5SPRQkwji3cXnik9R94bYjjZIul71nUxf9FIMCSSVzpl
 EMYlteX9vxILZCJmCGHWuwLEJmg4vrDOzrZ6XZlAoMz/jCq93m8dKhf5Th/IAFiNcNsUT/uZ
 kDXtAIIop9ONX2lRaZyb8S6DMFC5ar9EdXsEOLUZ9xBSpF0eEmM+yQGTWyRxmHklg4Hkaw5E
 Z6efYCnCnNyNEh85D+/RuNY1KBxwCk7nT/XXcqikEvh1qeCbnmIT7tDKEGJcu0y8KKDpkPS7
 spbMMyJjR5YVYUSfxXqzGLaFnhSRVBTOHw8g5U/mjKrSua+JFwcNg==
IronPort-HdrOrdr: A9a23:RqQuWa7V2StpoJuBJQPXwamCI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc6Ax/ZJjvo6HkBEClewKlyXcV2/hpAV7GZmXbUQSTTL2KgbGSoAEIXheOjdK1tp
 0QD5SWaueAamSS5PySiGfYLz9j+qjgzEnBv5ai854Hd3APV0gP1XYaNu7NeXcGPjWuSKBJYq
 Z1oaF81kqdUEVSSv7+KmgOXuDFqdGOvJX6YSQeDxpixBiSgSiu4LvaFQHd+hsFSTtAzZor7G
 CAymXCl++emsD+7iWZ+37Y7pxQltek4txfBPaUgsxQBiTwhh2ubIFBXaTHmDwuuumg5Hsjjd
 GJiRY9OMZY7W/XYwiO0FDQ8jil9Axrx27pyFeej3emicvlRAgiA84EoY5CaBPW52cpodk5ic
 twriqknqsSKSmFsDX25tDOWR0vvk2ooUA6mepWq3BES4MRZJJYsIRa1kJIF5UrGj789ekcYa
 BTJfCZwMwTXUKRbnjfsGUq6NuwXk4rFhPDeUQGstz96UkioFlJi28jgOAPlHYJ85wwD7Ne4f
 7fD6hunLZSCucLcKNUHo46MIWKI12IZSiJHHOZIFzhGq1CEWnKsYTL7LI84/zvUIAUzaE1hI
 /KXDpjxCEPknrVeI2zNaBwg1PwqD3XZ0Wu9ige3ek0hlTEfsurDcXZI2pe1vdJoJ0kc7/msr
 iISdZr6sTYXBrT8LZyrnLDsqZpWAcjue0uy6IGsgG107X2A7yvkNDnW9DuA5eoOQoYewrEcw
 g+tX7IVYh90nw=
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="101245768"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YLyZKuLWR+qw4yfQkxJVY/86/EBt6xSOPi6CSo5xCOGgRbLgTuC2Uk2OKJfbJe/KfzIziPA2dQJvJPHPhG0/YnxdURPdWwI8WAcS19oE/H6G1hPDQQ1tbqVGnPmJAqkNWKel4Jxh8X+2Qz8ixKQjGNeuWBPDTCU57zFeQI6oOLN8ez0MTNWOHrrzblss6DuoPmABnUXYzfL53JSNnqD4z68mWfT4BMOnl1Ok4ywr6YK3SyvY/zrWOcuG/YKQw7hmUc87IXYcTbaJ34CGX/8ntQv/+dZNN7r7/vekNfK/ufaFtwQdTG+0qz5I9QZ6epGbFYXAjH+Fdh/zuUPh91ZvTQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Cl0/kShxx+HcEi+8NT7FKK9Xp6Zia32LdMzcPdnKER0=;
 b=lm1gbsy0/vU2WEHQybnsZr5KAV7pnVt2mcVNquGLzLEBH7usO297coqfJWzskWMAtN/yk++NdLlvz09v/+pYCkF+5gyFQqz3FG0MZLP+w2Vl2sQRvwgwn8LYWdpX39YS5oYu1XHPuYKtN2baaEE4hRcsvzOKdJ/5U/YykX5GOgk5yBevtjNoVCuzpGeqLD00qFVUglCB6tSUadhXMVNSp+lCPMgZQULEZhJsYr6vYAyj5it1gPmlgdBf0MzxJDgeu+qHwrpEvt3zL9M+vKEOZPHHfItDhaYbE3JQtcn0g5F9jsHONrtK2zDWkLEfOXj29WKvfWv8/FcnN8CnBGA/oQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Cl0/kShxx+HcEi+8NT7FKK9Xp6Zia32LdMzcPdnKER0=;
 b=CgvFQUdeg0UnDXZfzEWtBvugAKAIfmXInwwC0x4jTbGfT/2YMQ49/N3Z10ohfVF6PurWC4iN1IXxq1MnLyVvR7qOXSjm52mcj7fTeyPjLfrsDXj66YF69OvHlTO5UBm1y67lZIrGEHjpT1zlAZVSqPOEIbd4A92n43DD3asplpE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Mar 2023 10:51:08 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Huang Rui <ray.huang@amd.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Message-ID: <ZBQ4DKJ8ZAroyPIQ@Air-de-Roger>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-7-ray.huang@amd.com>
 <ZBHz7PpUbKM69Xxe@Air-de-Roger>
 <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop>
 <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com>
 <ZBLg8WB8HCoZvwz5@Air-de-Roger>
 <df607690-0bfb-94a3-fac6-5e20f183dc20@suse.com>
 <alpine.DEB.2.22.394.2303161611220.3359@ubuntu-linux-20-04-desktop>
 <4edb59db-d2b8-122a-fc10-59001857bee0@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <4edb59db-d2b8-122a-fc10-59001857bee0@suse.com>
X-ClientProxiedBy: LO2P265CA0144.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9f::36) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN8PR03MB5073:EE_
X-MS-Office365-Filtering-Correlation-Id: 19110f5c-0b2a-4371-d799-08db26cd2569
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e/5z+Xzma9TDSK39PVXSQ5KuokapCkH1Eoa4rNayj8FTzuJq8yoqpDJcqI3SVkoXJaM8Bko50GJJ+bg6QaTaLwLal85Bb1PyCil1Imtn70ekAKf74KdVdu1301AP63riUJu+qKYJjaSiG2bHOAwN9Wjk5AlOlKyQSNSEH2FxJIOUawYiFqTLKQ8CPLQ+iluKJzLdfXYWZZnMVGOA/raGie1bAC1fdr9Q9JHk/w6yTFzZL/DKNjtu7OC0xDVyRo0H0PHjNVtFn6Iz904+2Vaw3dmX6MQ9yPJqfIEZv0g/ohnk5tqpWM5RigPBDx9Fy5k13j3jXtNRlZn2GU4sSr5I1Cr0ZM21HD++7htaOY+zqdRQR4dF+Z7cFx/01Kd/4IdmcwY664MivLXAESMQCm2nq1QMNL00G5GoiKODD5jo1AbE6sAn3tsoBQ2Z25caJ7Yagtx7BeGZY7Pm5kBrU08bUwO80cKCPH1HhN7L8RiCOrCA1Uqrl+rodrlw2pReVI/OFYwhK5BnCTe5P9p279gjE2xMGuS6RasLNtKz/hDvvuLUTI7gYansIpljvXskFZVH86NjiwOYP31yOmn2p9YKv7u7zuc8+A/X+KPJPQlFEItbvK7q7z1/fmInWXknF1x/gRQ+Irz1/Gx7Uz/RDZWtLg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(346002)(396003)(376002)(366004)(39860400002)(136003)(451199018)(85182001)(33716001)(6486002)(82960400001)(6512007)(9686003)(186003)(6506007)(53546011)(26005)(83380400001)(6666004)(86362001)(8936002)(5660300002)(7416002)(41300700001)(478600001)(2906002)(6916009)(54906003)(38100700002)(4326008)(66556008)(66476007)(66946007)(316002)(8676002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NU1hTmJMeGp0RW56RExhMW1Va3BEME5mRUU2UGJQU05WQytNemZHRCtrbHRz?=
 =?utf-8?B?dVVZUUY3VlFvYy9yMVhrVlhMY0ZKQ3JKT3J3aEhsek4vbE1kTk96L21qTXVx?=
 =?utf-8?B?bUgrdjJQbVVvNzM4Zi9GbXlhS3Aza1lUQU1JTTVpMVFOTGFqcnI1aUdYRHVi?=
 =?utf-8?B?VWppRlI2K0pWZHJKZWw4cTVmNTVIRHRqbmFIY3BjY2w0YlZ0aE02aU44V0xp?=
 =?utf-8?B?VEtZaXpiVE1aVWlOQWl3KzVhNi81ME5TakU4aU1WNHlhMWVRdHc2WUhad3Rv?=
 =?utf-8?B?SUpSV2JjTVFwMGJrdndEekZ5SHhDd0Z0THZnRVpsMEZndnhiUUtrdjlDais4?=
 =?utf-8?B?NUI1V3hMaVlsWmxTSDh4Q01vQTI1TkROR2ErWGc0VWtGa1dNZDZtTDlEeW5q?=
 =?utf-8?B?MkxXWDlTZ2lTMklreVM5T3BMZUhmSDhxY0lySjRQekJScE1pQ0xta2RyS0JZ?=
 =?utf-8?B?Q0owNTFqSk1ZWW9wcVVNSE5pbi9DZ0dGbVNXcm5zRkw1cWJQdlIyRllvQ2Ur?=
 =?utf-8?B?MVVOaDJtREZ5a25UMWFVRzdLdXl1M2dLMGlKcVgrMUkwZ0wrQ1hoR2w5QVM2?=
 =?utf-8?B?MnNhUDh2TlpzNHQ1ZXBzUWtTTDM2R1dZdkFNVzBxYWluVHAreVg5MXptejBr?=
 =?utf-8?B?S2I2blRMQzZ4QjVSMGo3by96YjVNdnhIbisxUUsvelE0Q2J0SjhFZThUQXBB?=
 =?utf-8?B?RE1mcnJMMjREWTQ5ZmNUSXlEWHo1aDZvSkhTZlAyaEZMZWVDTXRPMTg5Y2w3?=
 =?utf-8?B?aVVSbGtST0ExOFZJN0FFZjR1Q3kzeFVMSTYyWU40UTVibk1XcWlRczYyZW1H?=
 =?utf-8?B?bEJhNm5Ydml5dW9vZFFtTGNYMkV3NWlUSWJDUCt4UXBvNzg0aFJmS212RXRZ?=
 =?utf-8?B?a0dES0FZdWVlOXRhN0c1TGNTN1hFcFdmbThha09lc1FIaUQ3UG5JK0tXMnFS?=
 =?utf-8?B?NFFuMWtvR0RzM0tja1VTMzltTGNGUXV2TmR1VTBzOE9pK2d2V2xSY1NQT0Nt?=
 =?utf-8?B?MW5ITGZrTWw3dTZlSjRnMFhscHIvZzlnWlB2QVlnUXJoaVlzZnd4eTdIZW00?=
 =?utf-8?B?UEswdkw3eUh2SXozaUNtSFV4Uk9CbkJER1RiZkpzNDU1ZXVoQkRjeEFuUjQy?=
 =?utf-8?B?MlhZQnNtLzh4eFJRMC9wMXRxMzlhOE0rdUJwTlVka2xIR1lZa3R4TDl2UVFL?=
 =?utf-8?B?bE1Ld2R0OTVzNE9nOFdjUmZyNmFidmZHOE4vbUU3REY4aGljc3Y5TW5ObmMv?=
 =?utf-8?B?QVViNk92aGVka0t1cmw4dmd4djNDdFhjZlVmQTdaY2QxRW01ZmtHanZhOE5D?=
 =?utf-8?B?VkNFNnk2b3Z2clh5NjB6eVVTcE1pTWNGQmtPYS9NV3JpRnUxYlNyYks1bytT?=
 =?utf-8?B?SHR3QmRxWnFsQVl3MUJIVlU5aGEzMkwvbDBYazZEL3ZYV0VjMDFnZjQzL0gz?=
 =?utf-8?B?c09tdkhXZ3dGdW5MOHc4c1VDVERTYUY1NWxidllUSWZVNjZNMUpqMkV5bG9Y?=
 =?utf-8?B?ZHc4MmJTOGU1Z2dUNUpWQW0yUVM4ZVlPQ0FIV2RuVUVtVndwQVFJRW5iVUNY?=
 =?utf-8?B?SEF4cUp6MmRRUEpqNlNMSjBZQTJvY0luYldjNWR0c3V4eUhzRW1MSTNNWHVW?=
 =?utf-8?B?VkNORlBPbHM5MDNIbnVXdG41VUNoMy85RTRsSzQvL1BwUXlyQUNkYXlZaE8y?=
 =?utf-8?B?aDJ0WnFOR2tWUVhaeW9JdWQ5MHQvRTQzYmUrNG9ZSnFDclFkVVZWQm5LM0p2?=
 =?utf-8?B?SDVzYUJEd00zUm0raUJWM2hlOFFHMis4OG15K2c5SWtkVXlBN0dHdkxBc3dZ?=
 =?utf-8?B?U3ZJckJMOVo5RDBIakFYblZiRTVOcTYvT25kV1RxL04vaDdHSndrYm1GKzdO?=
 =?utf-8?B?eWxtZkEycXZoMmpjZTVVaTc5b3ExbG5pODJLd1RsMGk1RDV2cktVc0pzV0xs?=
 =?utf-8?B?Tnd1eSs4cWt1MXpmWnN5QjZHY3Z6TEcwMmM1S1pJQnJId2syOGtsdit4ZU9Z?=
 =?utf-8?B?VThCWW5tM1BFS25kbFI0d3BxdE9yeS9wdGFPM25Rc2R1OTUwOGRrQVFYd0tH?=
 =?utf-8?B?SzdwbExmaXNrdE5VRWEwaGllV2RKSzRLK1IydUd0VlRnSzJZWUx6ZnYyRTNW?=
 =?utf-8?B?V0xiVGZWcDI3dmdXQVgvejV2TmFpR21FeXJ0ajA0SjUzMVhkTWdRZ3FQYW8y?=
 =?utf-8?B?a1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	DUBRTql3JL2EbHYUbDzUg/eQWUCj+aikGLgMXI7UAhrLB5l7Ib4fmk4hSgxLuJKEXqZ3JqywPTNqL2x46iU5mKjokPu0HlgzAbFLkyU0UUtb9T51Hw0ZQqJKd8Th6AlpZT9ZUXqg/7JkVMjEIJg7wQJNJHsoRr8l7JMSUjHxbCoAsxpecz+rlvGiwq1TFJF/YGPehG5dtzjLW7fmr19TSZFzMUFgHxBFFsxgH5zKDyoVC+yKxLcMQ3Mcb80urMbs6Xjsl9vLKS3spw6kqtCEoRojFlhTde0QGT7bnkf+641sUS+pZpczWeYNPwVVSwbwc1EA5U738TX5+HF/0UpaZKo5UxQEjzutMKuHKXr0DCSgAxKIs8uTiz0m7xB6VchrEkWWWgFyMGY0wLUGtvS01TeFUdXc60qiYg6if8ZXSu04G6sCBf1QovdGJNj5nzbJY3I9kwlJzK1g4onGtbkUwTDK2CEBT3TGfY7Bx4EsHIjdBHhUcHqvLxVnpljIksuwrtJQpGA2+qaW4BwTttz2EeQ9pBnXf3HBnI7l7YRL9r6w/uklRAMZ1YP8Fu3wX6eH1HT/ZbvFZSQvGep2dvjMPLd4vBDJsG9TrIiKABL0tlI7PYAgWZZ+bJ5rTbgIYU9kTO8z/sQ7xIQ34QFpmQhboI3LaDAUHMhS49/hnAnemZJ+Z8uz9wl1YXn02c0E9LCoHYJcrRn+ExhfhCbxZkSOTC6q8rTv+h9VRNNRQrJLlBUDw6zzPJH8BClMiuy6XGByKzyibKx8fXEWLw31tN4dYLv4GXUAWCyHriIuWUNSYfNb96dX2MpK3ebdUZ7UXMMLPL9OZvysRd8Id0t2RyeWIeP5e1Kp+jcXryZvgoeUr2PfOFssQ7TnDQAXryyonnyz
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 19110f5c-0b2a-4371-d799-08db26cd2569
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 09:51:14.2776
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2zcsCFJgujE/wLWzqYsfdS3KlMGDoB1yhnlBScl2+wpbsgGAEsE1HCTwu0R93Q6P3OZyCsAMBBH9c8ESxwTzAg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5073

On Fri, Mar 17, 2023 at 09:39:52AM +0100, Jan Beulich wrote:
> On 17.03.2023 00:19, Stefano Stabellini wrote:
> > On Thu, 16 Mar 2023, Jan Beulich wrote:
> >> So yes, it then all boils down to that Linux-
> >> internal question.
> > 
> > Excellent question but we'll have to wait for Ray as he is the one with
> > access to the hardware. But I have this data I can share in the
> > meantime:
> > 
> > [    1.260378] IRQ to pin mappings:
> > [    1.260387] IRQ1 -> 0:1
> > [    1.260395] IRQ2 -> 0:2
> > [    1.260403] IRQ3 -> 0:3
> > [    1.260410] IRQ4 -> 0:4
> > [    1.260418] IRQ5 -> 0:5
> > [    1.260425] IRQ6 -> 0:6
> > [    1.260432] IRQ7 -> 0:7
> > [    1.260440] IRQ8 -> 0:8
> > [    1.260447] IRQ9 -> 0:9
> > [    1.260455] IRQ10 -> 0:10
> > [    1.260462] IRQ11 -> 0:11
> > [    1.260470] IRQ12 -> 0:12
> > [    1.260478] IRQ13 -> 0:13
> > [    1.260485] IRQ14 -> 0:14
> > [    1.260493] IRQ15 -> 0:15
> > [    1.260505] IRQ106 -> 1:8
> > [    1.260513] IRQ112 -> 1:4
> > [    1.260521] IRQ116 -> 1:13
> > [    1.260529] IRQ117 -> 1:14
> > [    1.260537] IRQ118 -> 1:15
> > [    1.260544] .................................... done.
> 
> And what does Linux think are IRQs 16 ... 105? Have you compared with
> Linux running baremetal on the same hardware?

So I have some emails from Ray from he time he was looking into this,
and on Linux dom0 PVH dmesg there is:

[    0.065063] IOAPIC[0]: apic_id 33, version 17, address 0xfec00000, GSI 0-23
[    0.065096] IOAPIC[1]: apic_id 34, version 17, address 0xfec01000, GSI 24-55

So it seems the vIO-APIC data provided by Xen to dom0 is at least
consistent.
 
> > And I think Ray traced the point in Linux where Linux gives us an IRQ ==
> > 112 (which is the one causing issues):
> > 
> > __acpi_register_gsi->
> >         acpi_register_gsi_ioapic->
> >                 mp_map_gsi_to_irq->
> >                         mp_map_pin_to_irq->
> >                                 __irq_resolve_mapping()
> > 
> >         if (likely(data)) {
> >                 desc = irq_data_to_desc(data);
> >                 if (irq)
> >                         *irq = data->irq;
> >                 /* this IRQ is 112, IO-APIC-34 domain */
> >         }


Could this all be a result of patch 4/5 in the Linux series ("[RFC
PATCH 4/5] x86/xen: acpi registers gsi for xen pvh"), where a different
__acpi_register_gsi hook is installed for PVH in order to setup GSIs
using PHYSDEV ops instead of doing it natively from the IO-APIC?

FWIW, the introduced function in that patch
(acpi_register_gsi_xen_pvh()) seems to unconditionally call
acpi_register_gsi_ioapic() without checking if the GSI is already
registered, which might lead to multiple IRQs being allocated for the
same underlying GSI?

As I commented there, I think that approach is wrong.  If the GSI has
not been mapped in Xen (because dom0 hasn't unmasked the respective
IO-APIC pin) we should add some logic in the toolstack to map it
before attempting to bind.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 10:05:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 10:05:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510980.789603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd6y9-0003QI-Bc; Fri, 17 Mar 2023 10:05:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510980.789603; Fri, 17 Mar 2023 10: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 1pd6y9-0003QB-8u; Fri, 17 Mar 2023 10:05:53 +0000
Received: by outflank-mailman (input) for mailman id 510980;
 Fri, 17 Mar 2023 10: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=001K=7J=citrix.com=prvs=433d55c46=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pd6y7-0003Q5-V1
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 10:05:52 +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 490e7ed7-c4ab-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 11:05:48 +0100 (CET)
Received: from mail-mw2nam04lp2173.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 06:05:41 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN9PR03MB5980.namprd03.prod.outlook.com (2603:10b6:408:135::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 10:05:38 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Fri, 17 Mar 2023
 10:05: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: 490e7ed7-c4ab-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679047548;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=ufl4KFj/550MwfRz4wryGMZEhCnMc/CqlnsILxobF0Q=;
  b=E9Govjoin0gy4Niz/frg7ECbTYBklZf/yY5yJWZ5QsG7zAssaGk2X4gX
   ypWUPmU72i9D9RGhF8mXDCVhldc+sJMD/ovXzrMGhgSZ5VmXz2TFoWLgq
   5C/MItgxU7lH06lD1deBC8i7XQLxwuK9daDSaTyZACoJraVwWfpQ3U+yi
   k=;
X-IronPort-RemoteIP: 104.47.73.173
X-IronPort-MID: 100614782
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ezuGvqlwRPYSex+8ANwFM4zo5gxjJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIZWD+CaP2IYmv9eNpzaY3n8E1S6JTXm9RmHQM5/iExFyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QCGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 eY0MW4zale4vd7o462bR8gvlt8fIta+aevzulk4pd3YJdAPZMifBoD1v5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVk1c3iee2WDbWUoXiqcF9hEGXq
 3iA523kKhobKMae2XyO9XfEaurnxHujBttOS+3inhJsqFqs12E4JR0Wb1qYhd+grRC3XPdwF
 kNBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9S2+Z97qShSO/P24SN2BqTTQfUQIP7t3noYcyphHCVNBuFOiylNKdMS706
 yCHqm45nbp7pfAM06K37FXWmQWGr5LCThM2zgjPV2fj5QR8DLNJfKSt4FnfqPNfdoCQSwHdu
 GBewpfFqucTEZuKiSqBBv0XG62k7OqENzuahkNzG54m9HKm/HvLkZ1s3QyS7XxBaq4sEQIFq
 meJ0e+NzPe/5EeXUJI=
IronPort-HdrOrdr: A9a23:3zH+Hqxzv+pNORl9DaB8KrPwl71zdoMgy1knxilNoNJuE/Bw8P
 re+sjztCWE7wr5PUtLpTnuAsS9qB/nmaKdpLNhXotLsmHdyReVxcJZnPbfKwSJIVyAygcl79
 YfT0EdMr3N5ClB/KLHCVKDYq8dKbC8mcjCuQ6d9QYOcegNUc5dBmxCe2Om+yNNKjWuLKBJZa
 a0145opyeAZX9SVciyHH8DNtKz3eHjpdbJYQMmGxVi0wWFjSqp5LnmeiLopSs2YndgwaoC7W
 OAqADy5ryiv/anjjfQ2nTe9Y4+oqqQ9vJzQOKNl+kIIXHXhgGkaJ8JYcz7gAwI
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="100614782"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jgJ8gkL4FpTaBpPLNjSB7U6UCu4z2KZCpVCMAMK1S0nDmbOS68XhsF6v8Gqw2csoq9uGy9H5+oeQnWJ7wxfo9ZvU06lcMdYytZHgUOygwYO1CHxDH65s1JazzM96SkT5qJvvpw3QAKO3gGl2Kmvp35+FYnXEPvF6YCUufa3kqUwaLDXezi10P7nElxtO7LZnrDYPWRZGQO5EasAqo9jr90W8f/2XEEGsM0/Ys4NFWOHH5PMIF28EwtizoaHL6TjYc7y6NUYhp/qggen+M4cNwC4wX4LVrhQnq7d0MnbB8BukP1sLc+M6+7F/JyTPxFak7WUPddjrVAhH0+d7cE35cQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=09Qnpf0epWFhf1C2bypJQVHdua/AjLFMIs9olYFn/68=;
 b=N82//oD2MEwjE4xjuTs88T863PpssQXrKoavJM2JXm6q2ZmNBkm0KnxC7olp7DRTUOTY2eh8he5M8OngyHfsxhN8FllK3gbuLTLvM9si6iQAMhFBddszmcaHAoEQrIchaBDtZVgxZ3GsT2C9g7BtnuK8sUHACuIkEISKwdYts2ZFPGNRctvnAVUGs49WcM7gLlHzSlU6VUmaRrLhvW6NB+74GkxQh8ZZNO6Oq8eD8yWdypM+DLxOY23L2SN0iprVHoSRrCJUBAf+MlW+Lh+MuC0ALKPBeUkmC2WsmszKBFey4qql+TzcbJJAJ6C/tQ2V75cMpDiWbjuwfRJ+m991Xw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=09Qnpf0epWFhf1C2bypJQVHdua/AjLFMIs9olYFn/68=;
 b=xI8c993tl8o116kBrSOxyuzM658SmBxzO32rgaB2wS5ZcXZLv7ZoEznl2680GYukOs9nYcuBxwyIkpjFaiVkSdFP2wVpOGyuzZ2ey1ZyLMCBym6A56XgtSyRF/oKNu7v9x22okRf0DWtDuRqNceGzP/xMCT4ussRLUhqYj+0EKc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Mar 2023 11:05:32 +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>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v3 1/6] xen: add reference counter support
Message-ID: <ZBQ7bMo8JRsBUVmN@Air-de-Roger>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
 <ZBNBhS2I4XWkwXr0@Air-de-Roger>
 <dc31ee54-b6ce-3251-ab0d-487d9a9bfd35@suse.com>
 <ZBNGO7/NY0VQQM/f@Air-de-Roger>
 <8331a0c4-07fa-0340-20bf-77a5c8661aa1@suse.com>
 <ZBNIbhW3Eu07aj8I@Air-de-Roger>
 <9693e011-a0df-4b18-fc49-fe8f46d97d9f@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9693e011-a0df-4b18-fc49-fe8f46d97d9f@suse.com>
X-ClientProxiedBy: LO4P123CA0686.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:37b::18) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN9PR03MB5980:EE_
X-MS-Office365-Filtering-Correlation-Id: d372e3ca-6a3f-4264-1e4e-08db26cf2837
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M831rcooCfdHZS9KduZQI8jIr3LQCPW1amwNAGHhZy/N+VNeCjGzay/XHSraphwjVSjCikDfjmWQAwmLnOVdKSuFvtCXR+JsIuC3pWpy8jKeLrc7YZuKjEuxVB8ZdX6BZEcA4IgiHNmNX+699TLVTfq8akpO3p1i7ebyWnJ41QW5cf/1alglqGyVo9+43er4RvPT7EZRPna5yJggNSlkF2LucYTxHfwEhnpGTyvRh6ieQqK+AkjbiTx2EE/3esAgPmXmIU8ECHEXTb1cTfQkQT6wzWgiR8LwJWKO1L7+j1sHFzQBgaMEK7KyRrQFBxWhGtH+DiWJx+cINsQbNRzwBKzayecshx4jhZzZh8huYCAojQaN8oqDbHahnv2bJAaG+aw2GLc94KGoBEtalue96Z45Q+SHn2hrLjREWi+rOsX5wXJhJFc9x2KL4nE568mQQUjYhQMwITbUOw0KMdqbq1eSQkrhyY6iZEaHqiWnxAnWmv8QO9ae3nP5ywP9JbL0Sixu7S/zSdXC4Nd8Ddq/b7gqe/XUn36bJX5Wik9pVazo3GxEu+mZFq/xF3WS3Ut6TKVKRqKjPWAVHjvBgXmr7dY2TMBVX+6ZUrq6yRjK9iHyfoPJSFlpgoRcZ8pIbONS5BcIZ4uayrJrg3uGTl6Y8w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(39860400002)(366004)(346002)(396003)(376002)(136003)(451199018)(85182001)(38100700002)(82960400001)(86362001)(4326008)(9686003)(5660300002)(2906002)(66476007)(8676002)(6916009)(66556008)(66946007)(8936002)(6506007)(33716001)(186003)(83380400001)(316002)(54906003)(53546011)(6666004)(26005)(6512007)(6486002)(41300700001)(478600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WWRrOEZjZmlRaXAzbWc3NEVYVEpOWjZZL3J6c3hxbHkyQ2FQQ1JORnB4azVr?=
 =?utf-8?B?SmFHS2FIM0VNSzZ2TUtid2FrMGRFZjgrYVZZV0JPbUY1U1k4UUFnaUNBaDZU?=
 =?utf-8?B?TzIxZ21rMjBuVXRhZHdFWGZoK0VLcEluOWxWWFNtMWtLTWN4QXdUd3JGcTFU?=
 =?utf-8?B?RjY0QU1TV3RycnlVSnhOKzl6Z1NjVW9lVk5sZnJpMnhDWDUzUUgxanFkV3Za?=
 =?utf-8?B?b0Z2bFFkQkpCemFXMVVjMXNXTUtlRWZjTGs0b3g3OXI5S29FMmZmdGRFWkRD?=
 =?utf-8?B?NHNxSFREcXlZeWlCenBtYjBsRzlSYjAzSlVobExYVmxObVdtencwbzN0bUtO?=
 =?utf-8?B?SXFiMnlGeTRHQjNmMDFrTE9Mb0EzYUgxaWFsdjhRcTNCWlRBRXRBWnQwMWVt?=
 =?utf-8?B?UG1icThqY1lxa1hsZXlqcVJGVis0MlhsbW5td3NpcjVLZjU5VW10NWREZk5a?=
 =?utf-8?B?QnlTZmx0N21IUkVMOWdOWGttYmNxVndGMVIzVE9uUCtGd3QrRGNsWVpCdVhC?=
 =?utf-8?B?SUZRSGV6Z2hsanNGS0sxZytMS3JnT3hBNGYzQjIyQldLRWdQQU9lYmh1L3hr?=
 =?utf-8?B?dnJtQXJZbG0vYlgzUmJkUEFnTWo3OVM1RXdGTlZTWDJWVUg4LzZnUzZDeHRm?=
 =?utf-8?B?VmcxVGJHS2NCT1BhclFMK3dZdFY5YXhySzh1NWF2eE1CRlZUWWRIb1dOQjZv?=
 =?utf-8?B?M3lMZDE3aW92VHp2bWU1cDg0TG91OVZTSUJCMFdiVEtDbWo1NmxPbzhhajdx?=
 =?utf-8?B?NEJuZjFDcEJnTThrR05LWDEzMjhvbmwyZzFkZm1TV3VyaTJrN1I1WFJEcjhr?=
 =?utf-8?B?eGZDZTlQa05QK1VMZk91Wk5ZWWFCSXJDc1B3ZUtNVE9UNkNvaDFVdW9ZbzVB?=
 =?utf-8?B?Tkd5TnlGelFFRUJENHZtOGxvMlZSZW0wQjJoRU56TzZ5RlJ5eW1oNGs3L0ww?=
 =?utf-8?B?SHR0V0kzbnFKODlCVWNrbzMyQmlYa3hJL1ZITll1MmRZM2UzVEFvdDVUMEZ0?=
 =?utf-8?B?KzNkR2dwL1Vud0diN2hXdUF2Y1U2UjNPWWZzUFVWNFRYTVJJSkQxVGZ0MXJL?=
 =?utf-8?B?Z01sTVpFMTkyUk1raUtNTkRCVHRRUUF2SjNUZmVUeXB2UWZQVkQ1K0dNV1FC?=
 =?utf-8?B?VnpZMjlwUlBVZzR2U1JMSXhDUGdzQWxDQmczMjhOUi9kZER3YVJJWUVkRldD?=
 =?utf-8?B?eERQR1pTbStzbjBWdWNsN1VKdld5N2xoN2pIcTVkREYrSFpqaUszYWtUcGhY?=
 =?utf-8?B?SzlTdGIzQ01hcndIdlNGSG9LWnZEZElOMHcvazBWWXhwQWVXTEdKcWoxS3R4?=
 =?utf-8?B?SUZIbGFvV21XVXNVTVZIUUVZeGt5SjVOL1FsNURsMHh4VWpsK21vNmdlOGRl?=
 =?utf-8?B?bEp3cm9aUmlsU1BSb0hheXYyTk1oVm1iTmVGY3lHeXNOS01jMk0raDdSL1ZE?=
 =?utf-8?B?dVJmN2VuSjBzM3FTaUJsekhHWkZ1dE1Ka2VzdW1FMUhEWU9OVE9qMjNBRklZ?=
 =?utf-8?B?NW4vUGs5QWRzV3lxeUNPWnMzeTdRSnFkdXFmMmFLSlhmSEo4cml6T2ppbFdP?=
 =?utf-8?B?UTd3LzYyWm4yVDdEcXhhNUh3dlMzV2NHcjNnZk9TS3c3QzFVR092blR0Ulky?=
 =?utf-8?B?YkNlRE1IN1hMbGJxM2FqUDZ0Vmk4VlRwdHlVYk5ObWNJcVl0TEFwQ1hVcHAw?=
 =?utf-8?B?aDZpZFMxQXN6YkJMYnNGWkE0SnBSazJQODF6NkNFTFUwaEk2MUxTQmI4aWxw?=
 =?utf-8?B?bk9iMzJoeUNSWDN5dFRvRysrdENUQkpnQVhpVC9qWFZsWFQweWEzbklsK2Iw?=
 =?utf-8?B?MVJ1N1pRdFRnanNNLy92YXA3S2ZycW1xUkROTHZobXIzNTRrRTE4QitDVnRq?=
 =?utf-8?B?SnRkWmxQZFJ6ZDlyZHJvbjBCa3Yxam1HNS9CMVJqaTQ3UXNsd0ZVbXE0NVl3?=
 =?utf-8?B?d3FaRDdMcnhJUExOTFJuUHF4cmZJMjRaSm5UQmFneUZLWVllSmFWRXdwbFN3?=
 =?utf-8?B?MFRLNldQV253VUdCL1BGdDkvbklSN3lVT3NoVzkyOVRFK1lKSUMvek5OaGN2?=
 =?utf-8?B?c1A3V09yQW13NnM3TEtabjNwbkpTVFJEdkU1MVhidDQ4cGFjaVMrYjZWK0JU?=
 =?utf-8?B?eVN1R3JWMU1sMlF5TmFhYVJnbDZOSmJ6UWVGU0ZXUnhIc2YwRmFNWTVxN1Fr?=
 =?utf-8?B?M2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	YT8tpR87je65R0VVjA2cd8cQWLJNCNs4Y0fxZeEioyg3wkV+fgDCwjVSEd4HXUy9hQ33YBN3aoM7uMhtD9+H3jqEKVef2TnxzesrEHtgxL5QCsOprxC8asp4uKTA0ilhA4U4F0x5OBPoh9fL6RCBAl+3BW/xolv9tyPvckuBq64uOqXolLORDGxb7thIFoZX5DuULEEpZYVgR7tqlMWGPZb4btCCsBZRZWlCYVTd8J95E3CSGMuGW/YVxDK4jNFV1WIfEr+ej3+WIecZ/goGFC97ScdLk8pPPXbW8+oAczc/eyJLBSY09ptQsjEMOGt6s4N/XpslNqhPd+DYu/B/mkCme03xXtMeATagzuhTVpUvTUas63/FH3GSaF4DtqAuKTcNXp/zu45z1yNiaIqI5NgaYwG6sK302WEJpxU7HpSYUsMvOfCwHD/9zpwIJmof4aELJ0B9KqjcRTXvpl5sVsdKMvoy5pLVuPnkwdsVVtVBpUnvIom/cdutfjOfgZ42U/JU6zhbon62BnvLmqLIpyCf5loGIQFHfW5hgHWQYogTBFFS+T72rzwzXyGb1MjruT3D4WdQZOfh+eIaDdL+9dLWICk0JY7OmXw7Wtzwb95wL4OLtDtuKVuDBtg0wnW9+SEx18jjleyvE2EdP4W1oa5GrMdoxOhZCL+0SCUcv1CT3DMdZuOn7I1SseisEuCp/LdWPDmTVbKOIb9WjubXJQSIM5qMfSVgCjIQ39reYvhEyn2ctAKJLuzrw1+k+QOYsXVzLdpS89R0nVKjA+K0wZaVV9vqAUT8ZrxEYUKdzfcwd2Ub5PW+5d4+ZcTXOUDveN+xK7K7hKgfhp/aek5P7IcsEyk0QzS/0KbOx8kuWoq0k74tLCOFr18aya2zwcOt
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d372e3ca-6a3f-4264-1e4e-08db26cf2837
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 10:05:37.9562
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pXadkmbNV/CsZFX6gaUbmsMPaF5WxM2bui0Onx4gStM7GMgtvnmU7JHKM7wt3IrAh/BxfqaDPSYG8KBd/Pduvg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB5980

On Thu, Mar 16, 2023 at 05:56:00PM +0100, Jan Beulich wrote:
> On 16.03.2023 17:48, Roger Pau Monné wrote:
> > On Thu, Mar 16, 2023 at 05:43:18PM +0100, Jan Beulich wrote:
> >> On 16.03.2023 17:39, Roger Pau Monné wrote:
> >>> On Thu, Mar 16, 2023 at 05:32:38PM +0100, Jan Beulich wrote:
> >>>> On 16.03.2023 17:19, Roger Pau Monné wrote:
> >>>>> On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
> >>>>>> +static inline void refcnt_get(refcnt_t *refcnt)
> >>>>>> +{
> >>>>>> +    int old = atomic_add_unless(&refcnt->refcnt, 1, 0);
> >>>>>
> >>>>> Occurred to me while looking at the next patch:
> >>>>>
> >>>>> Don't you also need to print a warning (and saturate the counter
> >>>>> maybe?) if old == 0, as that would imply the caller is attempting
> >>>>> to take a reference of an object that should be destroyed? IOW: it
> >>>>> would point to some kind of memory leak.
> >>>>
> >>>> Hmm, I notice the function presently returns void. I think what to do
> >>>> when the counter is zero needs leaving to the caller. See e.g.
> >>>> get_page() which will simply indicate failure to the caller in case
> >>>> the refcnt is zero. (There overflow handling also is left to the
> >>>> caller ... All that matters is whether a ref can be acquired.)
> >>>
> >>> Hm, likely.  I guess pages never go away even when it's refcount
> >>> reaches 0.
> >>>
> >>> For the pdev case attempting to take a refcount on an object that has
> >>> 0 refcounts implies that the caller is using leaked memory, as the
> >>> point an object reaches 0 it supposed to be destroyed.
> >>
> >> Hmm, my thinking was that a device would remain at refcnt 0 until it is
> >> actually removed, i.e. refcnt == 0 being a prereq for pci_remove_device()
> >> to be willing to do anything at all. But maybe that's not a viable model.
> > 
> > Right, I think the intention was for pci_remove_device() to drop the
> > refcount to 0 and do the removal, so the refcount should be 1 when
> > calling pci_remove_device().  But none of this is written down, so
> > it's mostly my assumptions from looking at the code.
> 
> Could such work at all? The function can't safely drop a reference
> and _then_ check whether it was the last one. The function either has
> to take refcnt == 0 as prereq, or it needs to be the destructor
> function that refcnt_put() calls.

But then you also get in the trouble of asserting that refcnt == 0
doesn't change between evaluation and actual removal of the structure.

Should all refcounts to pdev be taken and dropped while holding the
pcidevs lock?

I there an email (outside of this series) that contains a description
of how the refcounting is to be used with pdevs?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 10:10:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 10:10:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510984.789613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd72c-0005Dj-38; Fri, 17 Mar 2023 10:10:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510984.789613; Fri, 17 Mar 2023 10:10: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 1pd72b-0005Dc-Vz; Fri, 17 Mar 2023 10:10:29 +0000
Received: by outflank-mailman (input) for mailman id 510984;
 Fri, 17 Mar 2023 10:10: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=001K=7J=citrix.com=prvs=433d55c46=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pd72a-0005DW-GK
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 10:10:28 +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 ede7e1b2-c4ab-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 11:10:24 +0100 (CET)
Received: from mail-bn8nam12lp2168.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 06:10:20 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by MN2PR03MB5085.namprd03.prod.outlook.com (2603:10b6:208:1ab::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 10:10:18 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Fri, 17 Mar 2023
 10:10: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: ede7e1b2-c4ab-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679047824;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=oG+GuC170kdBf40LSErSu1XCM+dGmq0tl4FrZaxGWPM=;
  b=eyHSc3ZOjTGmiM0KjahukIqR4GZyEF58CZzJzvxYG44KkTUA2TLUnQM+
   XJSmjTcPrkGAq7ivbwK8nRkv31b4ARe1w23qiZ6cxQcpsJJrTmCzK80hK
   AEvJ346ZqMJrWl1s7UpQvFXmG1ocfM9aDDD0WCR03+WVW7nElMZhfmwXk
   o=;
X-IronPort-RemoteIP: 104.47.55.168
X-IronPort-MID: 101159545
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:xDWGFq8iP4FeQdtIjC8IDrUDNX+TJUtcMsCJ2f8bNWPcYEJGY0x3m
 jEaUG+OOa2KM2T8Lo1yOo2xoR8Ou5Dcx4IwTQRvrXo8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqkU5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklJ+
 cJfJy8KMyufvMGHxuKBSbdytpUKeZyD0IM34hmMzBn/JNN/G9XpZfWP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWOilUvgNABM/KMEjCObd9SkUuC4
 HrP4kzyAw0ANczZwj2Amp6prraXxHqmCd9OSdVU8NYzhQeq4mdKWCEGUFiZj9WB1xeBavt2f
 hl8Fi0G6PJaGFaQZsLmQxSyrXqAvxgdc9ldCes37EeK0KW8ywSWHG8fVRZadccr8sQxQFQC0
 0eEt97tATF1tbSTD3ORsL6JxRu9IyUaLm8qYS4CUBsL5MTlrIgvjxXJCNF5H8adjNzvGCr0y
 jqbhCsznbMeiYgMzarT1VTGhS+845vEVAg44i3JUW+/qAB0foioY8qv81ezxeZNKsOVQ0eMu
 FAAmtOC96YeAJeVjiuPTe4RWraz6J6tNDzanE53B5Jk+zmz03qiZpxLpjZsIE5jKYADYzCBX
 aPIkQZY5ZsWNn36a6ZyOti1E55zk/imEsn5XPfJaNYIeoJ2aAKM4CBpYwiXwnzpl08v16o4P
 P93bPqRMJrTMow/pBLeegvX+eVDKvwWrY8Lea3G8g==
IronPort-HdrOrdr: A9a23:9C4lJK43UenTY4oI5wPXwHPXdLJyesId70hD6qm+c31om6uj5q
 aTdZUgpHjJYVMqMk3I9ursBEDtex/hHNtOkOos1VnLZnibhILqFvAe0WPaqweQZBEWj9Qtq5
 uIEZIfNDSANykfsS+g2njALz9I+rDum5xAx92urUuFKzsEV0gK1XYdNu/0KCNLrSB9dOsEPa
 vZyMpbhiaqPU8aZt68ARA+LpL+juyOupL6QAIMQyUq4gmWjT+u9dfBYmOl9yZbfTNT4KsotV
 PImQzh5qmlrrWSxxLG23XIhq4m6OfJ+59sBNGslsNQEDnqhwqyDb4RI4G/gA==
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="101159545"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YehLoSqViowLKcRP+0bl5QYfNNtUuClCgQhzMkQ/6m5AEyh1x8qS7VtjZ+3vNibQu2/2oX8KpPvjSE9lh8qgLYBy+4VqB7x8BBoGN5IcsekO9d96QVo3QNghDfcvhyXEJ4vSO51F3WiwSLWXW0enj0VquSdvf+1Utvmj6cBPuevJDnz7NvbDKy74sz1owz7Pv9QCLs7SmoDqmAKQrUE6cseNLZUbciSzVfSE+1R+49Sa3f205cPQHPhLpFBwF//ZuHSUtr1W5kKxMR3dO7/mzF922yHiRPtiXKCRFzsiliGWHOAq8lyiIT3gWHmhIgFxb/eI0FXDpdIho0cJ2Rqkpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b8GsiQBlm4hLz7y6kw5Td54cT9cIfMCcsYGltzz/eOw=;
 b=ljqwYtETOFY0AzJq+Ms/tMsNrs8tiVjXeJno1eyxqKCvcuZR2dGa0IgmjllLE1LhgRltflch18Qny/IxRJ+cdQ84SZnMCbWVXle1sL3PgYVi2dh+P0tdtT/HvVeWzJlPefibN2wromE2mNXszQJ4c5wWSGg7pnpMK4Dq3qItEwuMU5pcQGM4mirEiRsQN3swqFgkv1Qr3Kah8UIiuFD2RB0N0A0R39WL/0ZHJ3DgfjgrfAz8neJntX+PXzjJpQG4301t495O7EtUqel6WjIcp0k2589qzsxH09txU0iPK2dY9PZCy24ksVpaKODBKsV3MwIUh9hhLyd9oCHu7KoOGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b8GsiQBlm4hLz7y6kw5Td54cT9cIfMCcsYGltzz/eOw=;
 b=qKDehRbTA2+5IARRjSqME6HNaP3C8jXvHtkGgikOWbvAzZw7kXIiWcXF0xG+zP1vgI9BcOccl+TvNTQL4PE76nqApvQarONVU8Na/rHkTzUO/l2QpSe3jJBR9a9HOYcGmdfz691F4nBG/685wjVWWZENkHN4yRV0PYuX2umf1i0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Mar 2023 11:10:13 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Juergen Gross <jgross@suse.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jirislaby@kernel.org>, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v2] hvc/xen: prevent concurrent accesses to the shared
 ring
Message-ID: <ZBQ8hXiPvrbneKUF@Air-de-Roger>
References: <20221130150919.13935-1-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2211301657200.4039@ubuntu-linux-20-04-desktop>
 <Y4nkFZal7oy+aICa@Air-de-Roger>
 <Y5cgYLNwtPbmP1JL@Air-de-Roger>
 <ZAm8BDGTMaI0XmMI@Air-de-Roger>
 <87zg8lo7fw.fsf@mpe.ellerman.id.au>
 <ZAr16LM+qpGqa1h6@Air-de-Roger>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZAr16LM+qpGqa1h6@Air-de-Roger>
X-ClientProxiedBy: LO4P123CA0540.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:319::6) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|MN2PR03MB5085:EE_
X-MS-Office365-Filtering-Correlation-Id: efe421bf-e4d7-4033-d74a-08db26cfcf61
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eyUzcg0In2e+/wjM9mr0ys9Mqa0cjK54h1i9ar/5fLR8zKn4OI+4D3JhSTMZyk8O6sIsbtD4YMkeJc0b1pY56zXk7uXJMIe/folL/3EdMZR+gxEG7MnKY1wgNYfJYiI4cTD0oK/0PP5T4brE2rDvxwO1eAPMa2uiuCJIYWe+2rx2XlUqCHjyYe5OMAQOX02YhLnwQEPUCt6ULpXgCqcJe/QatgCbaBGn5ruvsEO7X9Zv3wUOllvZlHn6ETqSBFpWyjUJUlDhB6V9Ze3XuvmOccoJZvK5a5jDD6C71o6wImBeK7v7tUYH3+irr9ALHWf33Q1o/U9mBHA+8l001zmc3PdYMUk42aVhW/sMfpypKUxDJch/rjwUbH3+BGRQ1odaUGT2OZSDIJsoYtyt+TYnN5kYXGmJfZkhjkagoPmmjkFteq3Cx31zFb+OsfeoXHnVH/4JGnaJvzAuO/elvuCbmDatJUomd1ZjmuBLERnhU9oK+AovujubUEVts17Z8uMLvX7yBRYJv5tzjRhZ/5mctgGVL9e4b0lv66xJE1hZb/bDi+jz/9N6LrtRb9ZeSgue9cD7tY0Zz+HvyYyYC2yEyy2gx4ogbFlXssFGyywL97//J1FO5brn+Vc3gyJKi859DhHWLQn688HcizqEbc0wOA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(376002)(346002)(136003)(39860400002)(366004)(396003)(451199018)(2906002)(8936002)(4326008)(66946007)(8676002)(66476007)(66556008)(5660300002)(41300700001)(83380400001)(110136005)(316002)(54906003)(6486002)(6666004)(85182001)(186003)(478600001)(9686003)(6512007)(26005)(6506007)(33716001)(82960400001)(86362001)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aHZHcGJ1aG1GQUlNRWlScUNTY2p5Qng2Z0JqdWNEK2Ftc2FuSUFCV09yVFFY?=
 =?utf-8?B?MVVkZU00M0lqMTIxNmwyczVDY0M2YWs1RXZXdzdWM0ZRdVI4eno1RVYxRDhB?=
 =?utf-8?B?VUJaMG03cFJidnNMcnNiMlhXY2FsRVZGNUhQdDgxMklDMXZNbHp2NWJ0Mkxj?=
 =?utf-8?B?K2huR3Z2c0ZPMUlqVFdqa3lLTVdsTFdIWHROQnRRL290VDBHeUlIWEhST2pL?=
 =?utf-8?B?dkhnL01keDFDd2QzczlLZUx1eS9MQnlLQ0c1b2o5ckh3OUJkQy9ZMXBGSVNy?=
 =?utf-8?B?OGE3RCtmUXRTeDhNOWFQbmQ3c3gwa0JkOTlUY1pQOGtSZkdpN3hldjlDTVBv?=
 =?utf-8?B?VFp6Uzl0Z3ZRT2RZYTYyOTA2UWdVZ2hHYjc2VjZWc1JLa2ZXWm04UGR3V3Bl?=
 =?utf-8?B?RkUveTNOZUlaZytrdDR4SVNOUnBjUkZ6bmtSZUR2V3ZmcTI2QXErcmJiS1VI?=
 =?utf-8?B?UDk3bWhZNmZnbll4U3V2MGtTSTNFRVJDVVAyOU5vbTF2QmdHMlNnam1LRHpU?=
 =?utf-8?B?Q2RydDJlQlBrR2k0bzFLeVNzQnpyWWlLQWROT3FBNlNpQ1Z4RERrQllRd2FS?=
 =?utf-8?B?VjJ4Z0tFdUgyVEM2bUh3ZElBaFIyZ2wxMlNnM3lXUm9JenFXc0NRYk1YS0lw?=
 =?utf-8?B?L0ZPcERXTXN1T3JlMUMvY3JuTUdXN1lVTmtIWE1hQjROaDJaQmdLbmhpeHVF?=
 =?utf-8?B?ck5wU2pVWjF4VFpQV2FITXNVRTk0eUY4R0lIUVI4ZUY0RGJTd0NYcVFyNFVa?=
 =?utf-8?B?Q0puNTJxZ2llUXh0bTV2aVJ3SEpWNStLRU82MkMvMGVhR0RFQ0poTTZTajlr?=
 =?utf-8?B?bDJwSmViVUxTUUI0cTJ0MXdLNEhaSmRQNjFHZG1jVlNHQ1lkaklvV3VaQ1J1?=
 =?utf-8?B?dGlnbkUyd2l1amd0eHZEL25EQ1JVbm9zS1ZzNWhYeUJ2MUlTZlNhajEzZmZN?=
 =?utf-8?B?aGl5R2J6NXlMaTltQnNwL09Nb0gyeG8rekZia3lxbHJPWHNSYnlWV2RVbnlh?=
 =?utf-8?B?Q2VzVU9PcVJxSU54ZlZ2cTlzL01DZG1nQ1BKaGZ2ekUrdjMvSUZTeWo1THBO?=
 =?utf-8?B?ZWhJQVZYOVR5S0xaVG92bG1JclVoQkowUEV0bENjU2VOd29rNnBmNzVuMEZ0?=
 =?utf-8?B?ODdtUkROZWNkVzRZQmFiaFpwbDBIMFBMaE1wbWpIYkdZbG82VGFOQUVvaExV?=
 =?utf-8?B?N3JjQ2U1WnJuZjNEQjRueW9OcXdsZ0xaZlF3RFBZbjVROGVJMEE3VUIwNGRP?=
 =?utf-8?B?akhsVng5MFlIUUxOSmt4NGdqc0F6eEdCL1MvUDJ5ZmhFYkk5ZWZIWkc5Mkxk?=
 =?utf-8?B?d1JZNGE2NXZzZTlnRDNtMGcrV0o0c2VWK2JpcHpGcUpodmdGeWYwYVh5WERo?=
 =?utf-8?B?L0xWTDNSaU8reHM5SEZ3TG9iVFg1KzVrbnBncUJsc3JtcVJUNFllalA0OFd5?=
 =?utf-8?B?MkZ4Vy9zNTY2M0dRN2JWcEtNRnZMMUVGUHBzYmo3dTJONkhOSGZvZHRYQzFv?=
 =?utf-8?B?bVpGK2NZOWM0RTBiVHZQYStJZnpuK2NvUnJBYVZEVWdiM0hhZzVaN2xKcGZs?=
 =?utf-8?B?NFBCR0I0RHg1eXphcUs4MnhoQk5FWTEzRnc2MUsrMkZZRWZHTllZblZhWFV0?=
 =?utf-8?B?L2RVWktiOWEzUDZHdFB6OWdESURjOHRNbEhNTWdscUw0MCtPWUp4SklWbGVV?=
 =?utf-8?B?V2g1TCtwVElGdXRMUXp4WXJnY0V1bzRYQ1BLSVdKNHk3djNGVytJUEVMNzBv?=
 =?utf-8?B?RnE1SHhPMXdVSkREVzIybTlMN0lsVURjVERxNjZnVHg4RC9SZjM3WUk1dVg4?=
 =?utf-8?B?VlQybDltQlJtMzhFUVpzemNtUnBUM2dKai9TUWtsVC9UY1RiNTJwOWQ5SzlW?=
 =?utf-8?B?QWVXVXdoRitaaWhPeWdjNHE1aWp0bjFIQjdFUzhhNlpvWUVQQlNTd29wc2ZL?=
 =?utf-8?B?bmpsMmdiYndBam1zT0QvbW1DQ1VUWG9zWDlHU0FSUVpGRkdBQW5pc0N0eElH?=
 =?utf-8?B?UkpBb0tsdDhHMGtCTWJaUkI4bFBjcXBxUEI5UlBwSURnRGVnNDNjK1VSM0gr?=
 =?utf-8?B?aFFuOUJVZkwwSDBhTTRHVVRFMkdSSTJ1anVrbnIzMUxWUTlIQ2tGVk9USGZV?=
 =?utf-8?B?QUNEV1RGVklucnU3d0xjRGhQbGh6UWpLTmc4UERZdGJhakplMFFNR0xUSW1L?=
 =?utf-8?B?R1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?eDltU2NFVGhLSjk3YWQ0UXNBRkR6U1AxRVNrUWZRRFYzNVBHQ1NiUUFmQVo4?=
 =?utf-8?B?Tkp0d0F0SFFwNUtFaU5lTDhNdXhHa0hqTDFDRWpjVE9yQloycCtYV285UDVx?=
 =?utf-8?B?TUp4L2hJVS9qblRCOTdrRjZTK1l4ejk2M2Z2a01CRDVGUEM1bFVqVlg0TXdw?=
 =?utf-8?B?emZFWm95MmJYbjlFME8vTmd0eDVCc0xrOTkrMEF6WGprMW5OcGxDTzBrczlV?=
 =?utf-8?B?VG5wVHRReGdPMUt4RUd1Q2tzdVQ2RjZ0cEZ5RXowV1k0dEliM1FYOXRyZHZT?=
 =?utf-8?B?dDliVjVTcmdRRkYyamVmOWoxeEVhSVFoTEpLRW9FdXdQa0xEUU5LSWFxQWty?=
 =?utf-8?B?OTlCMnM5eFJJUXZHalNvSHVmUk5uOThoTHp1VW0yeVB1RmdQbVB3WFcyVGNn?=
 =?utf-8?B?bEVjSVU3QnA2MDFWWVkwUG9HaTQzQ0duNFRkMnVJM0J5bHNEeG55K1ZvZWJ4?=
 =?utf-8?B?QUFsVzk4OEZIR2lkNGpFU0l4bUxoWmFwa09yOWVjU0xpcFpObnV3VkN3NWJv?=
 =?utf-8?B?RVVOejZSZ1JpN1E3VFVsV3ZhM2tobmtVQWlFUjF4Vm9zcU5JS2tUeVhFZ1NL?=
 =?utf-8?B?aHZEUC96eWlrTmxqWE51Sk1aVUVKUUN5L1NNdWFDSmlPa2gzeFZFNTQzQ0xD?=
 =?utf-8?B?UEkyWWtuYXRkTUZudk1EaUxZYytGTGRGZ2ptd2pSSUllY2ljMktzakY2VjVN?=
 =?utf-8?B?TUV1d1RTN3lMWTlTZ2d0TWxiV25KT3o0OFBDaHdLUnhXQWpZdGxRKy96K2l5?=
 =?utf-8?B?eE4wd0JJazZKTzkwRmhWV3RtY29BTWdKeHE2MkdNYUdhUkpoWXpmb1B2UkZt?=
 =?utf-8?B?VmpscUt6ejhOSmNxTHV5NkJTeTQ5bGQ0VHY5bTk2WVpEM3dxbGVRcXBpYllm?=
 =?utf-8?B?a2pSbUlXSDM1bElaK1BnQVRvOFBQTE9HYXg4RWp4YlhOY2lIQVE3SHZJenpo?=
 =?utf-8?B?S29GRm9aY3RWenY5dHlXQlp0V3U0TkVYanFPOGhSSHhKZ09tZlpwWXBzOENT?=
 =?utf-8?B?L3A4dFNKR0doWUNLUXE3SnQvdmkxVjlLSnNrN0dlN2dCd3RmTE04b0xXemY4?=
 =?utf-8?B?U2VFNDdzdTVnaDNlMXRWOXpicGllZTFyS09MT0o5TDVtUkV4OCtJMWpZY3BP?=
 =?utf-8?B?ZXJWeERhUU5sZUFBQjI0SStqdU5HVXoyV01kcTk3Zk1lRVJqQk4rSDZsQVNz?=
 =?utf-8?B?L2daRDJKRVRwRnJDNDNpK1VJeWhqbllKeVJnVFNmTEUrNHBJcURXclVMeU9l?=
 =?utf-8?B?YlM1d2tOMnJXbzNxU2luTWoyNVFsbWgrZDFseVR6MXAvbnNEZWhXcVREb1o2?=
 =?utf-8?Q?ID8caCL00S7ezh77IsxauvjkeexNc6bnsp?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: efe421bf-e4d7-4033-d74a-08db26cfcf61
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 10:10:18.5094
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gfKJ5YZw/t09MwHxE+0/sBPPzd3Q8NUDHaIcK87ua0l7Ubsyc9S7gCm0Uft0tGsjoGeAAdLh5C5YY+U3Pe3aCg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5085

On Fri, Mar 10, 2023 at 10:18:32AM +0100, Roger Pau Monné wrote:
> On Fri, Mar 10, 2023 at 10:01:39AM +1100, Michael Ellerman wrote:
> > Roger Pau Monné <roger.pau@citrix.com> writes:
> > > On Mon, Dec 12, 2022 at 01:36:48PM +0100, Roger Pau Monné wrote:
> > >> On Fri, Dec 02, 2022 at 12:40:05PM +0100, Roger Pau Monné wrote:
> > >> > On Wed, Nov 30, 2022 at 05:08:06PM -0800, Stefano Stabellini wrote:
> > >> > > On Wed, 30 Nov 2022, Roger Pau Monne wrote:
> > >> > > > The hvc machinery registers both a console and a tty device based on
> > >> > > > the hv ops provided by the specific implementation.  Those two
> > >> > > > interfaces however have different locks, and there's no single locks
> > >> > > > that's shared between the tty and the console implementations, hence
> > >> > > > the driver needs to protect itself against concurrent accesses.
> > >> > > > Otherwise concurrent calls using the split interfaces are likely to
> > >> > > > corrupt the ring indexes, leaving the console unusable.
> > >> > > >
> > >> > > > Introduce a lock to xencons_info to serialize accesses to the shared
> > >> > > > ring.  This is only required when using the shared memory console,
> > >> > > > concurrent accesses to the hypercall based console implementation are
> > >> > > > not an issue.
> > >> > > >
> > >> > > > Note the conditional logic in domU_read_console() is slightly modified
> > >> > > > so the notify_daemon() call can be done outside of the locked region:
> > >> > > > it's an hypercall and there's no need for it to be done with the lock
> > >> > > > held.
> > >> > >
> > >> > > For domU_read_console: I don't mean to block this patch but we need to
> > >> > > be sure about the semantics of hv_ops.get_chars. Either it is expected
> > >> > > to be already locked, then we definitely shouldn't add another lock to
> > >> > > domU_read_console. Or it is not expected to be already locked, then we
> > >> > > should add the lock.
> > >> > >
> > >> > > My impression is that it is expected to be already locked, but I think
> > >> > > we need Greg or Jiri to confirm one way or the other.
> > >> >
> > >> > Let me move both to the 'To:' field then.
> > >> >
> > >> > My main concern is the usage of hv_ops.get_chars hook in
> > >> > hvc_poll_get_char(), as it's not obvious to me that callers of
> > >> > tty->poll_get_char hook as returned by tty_find_polling_driver() will
> > >> > always do so with the tty lock held (in fact the only user right now
> > >> > doesn't seem to hold the tty lock).
> > >> >
> > >> > > Aside from that the rest looks fine.
> > >
> > > I guess I could reluctantly remove the lock in the get_chars hook,
> > > albeit I'm not convinced at all the lock is not needed there.
> > 
> > I don't know the xen driver, but other HVC backends have a lock around
> > their private state in their get_chars() implementations.
> > 
> > See eg. hvterm_raw_get_chars().
> 
> Yes, that was one of the motivation for adding the lock also here, and
> it has already been mentioned.  The other is the usage of the hooks by
> callers of hvc_poll_get_char().

Ping?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 10:19:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 10:19:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510986.789623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd7BE-0005rh-Uf; Fri, 17 Mar 2023 10:19:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510986.789623; Fri, 17 Mar 2023 10:19:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd7BE-0005ra-Ry; Fri, 17 Mar 2023 10:19:24 +0000
Received: by outflank-mailman (input) for mailman id 510986;
 Fri, 17 Mar 2023 10:19: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=001K=7J=citrix.com=prvs=433d55c46=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pd7BD-0005rU-TE
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 10:19:24 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c91e330-c4ad-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 11:19:20 +0100 (CET)
Received: from mail-dm6nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 06:19:10 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BY1PR03MB7263.namprd03.prod.outlook.com (2603:10b6:a03:529::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.31; Fri, 17 Mar
 2023 10:19:08 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.031; Fri, 17 Mar 2023
 10:19: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: 2c91e330-c4ad-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679048360;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=tT7Ce7upw5VusgDKpvjwrLHvRjZPQStveDGaaAzbcsw=;
  b=fnuG97K2O7WGFlAXZgxpFZLRNmxRwh1994RqgnGO5h02SvT/Ybwat71N
   OU8ZzufRKoAz2didX0hEuPlgPEblILLAjRvxnH1RnAswdFchUvlZG5Gjd
   qD9h/W4Ra3+ryQYj63GsjijjpDdUyU+r0f5KF1UDSS2q/Q+N/Rf3bNUwo
   A=;
X-IronPort-RemoteIP: 104.47.59.174
X-IronPort-MID: 100051943
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:R48UGqj7qCZeBOFzUAWF6HVfX161yBAKZh0ujC45NGQN5FlHY01je
 htvXG6BbvrYMDPyL94nOdm38k1T6sXVn4BkGgA9+XowRX8b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5waBzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQTFGoOdEmt39mEg7SJTMhm2+F8L+3kadZ3VnFIlVk1DN4AaLWaGeDmwIEd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEgluGybLI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjANpPTezkrZaGhnW1xGs6UC86UGeKnrq3k3OZffJja
 GkLr39GQa8asRbDosPGdwajvHeOsxoYWtxRO+438geAzuzT+QnxLmIDVD9aLts9qNUxWycpx
 3eOhdriATEpu7qQIVqN+7HRoT6sNCw9KW4ZeTRCXQYD+8Pkoow4klTIVNkLOKexg838Hz392
 XaGoTU1h7gJpccO2+Ow+lWvqzixvIrASgk54Rredm2g5wJ9IoWiYuSAy1nC7P9Gaq2ZQ1+pt
 X0I3cOZ6YgmF5ic0iyQSeMCNLis67CONzi0qVlrEpo6/jKh4Um/bJtQ6zFzIkRuGssccDqva
 0jW0Stq+JJMNWG2K492Z468Ad4jy6TIHNHpEPvTa7JmZpl3aR/C/yx0Y0OU937inVJqkqwlP
 5qfN8G2Ah4yBb5miTa7WeoZ+bsq3Twlg23JSJ33wg+kzb2GInmPRt8tOV6CK+83/IuAoR7J6
 JBRLcaHxxhEU/H5em/Q64F7BVANK3c/CJGv7cxKf+iMCgNjFCcqDPq56bErdpFhnq9VvvzV5
 Xz7UUhdoHL2gXDXJQiXYXBucpvgWJ9+qTQwOilEFVSnwX84eq608bwSMZAweNEP9vFnzPcyX
 fkMfcqoC/FDDD/A/lw1ZpnnrZd+dR2twwGJMiykbxA2epImTAvMkuIIZSPq/SgKSyay6803p
 uT60huBGMVfAQN/EMzRdfSjiUurumQQk/5zWE2OJcRPfELr885hLCmZYuILHvzg4C7rnlOyv
 zt6yz9CzQURi+fZKOX0uJ0=
IronPort-HdrOrdr: A9a23:rJlYmqFmvwIMCSJppLqFtpHXdLJyesId70hD6qkoc20sTiSZ//
 rPoB1p726OtN9xYgBWpTnkAsO9qBznhPpICOUqU4tKGTOWwVdAT7sSm7cKoQeQfBEWn9Q1vc
 wMH8dD4Z/LfD5HZK3BkWqF+qMbsby6GdeT9IXjJhlWLD2CIJsQlTuRQjzrb3FedU1+Hpw+G4
 Ob5s1b4xSdWVl/VLXyOlA1G9HZodvFjZTnZgNDISUGxk2hsROEgYSKWiRw8C1uLw+mm9oZgB
 f4ey+V3NTcjxn6pyWsp1M6oflt6ajcIpUoPr35tiCmRw+c+zqAdcB9X7WZsHQvrPuy7UtCqq
 i/nz4we9l242ncOn64ugHs3Q6I6kda10Pf
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="100051943"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Traaexq6tH8oIH3Iqyf/fT8g02KfHDVv2sJk2Ba7ABEWL01LCLc3p5sBtBnzy2iYOfhFqJHkMwYWVcmYZveTssfTiSw6v8A7sHi4rFw/7UCuIwMjBcPr+WHg6tkU9f3XxcmmIhOGw++mwR1YKtx8q4cnZAHm9VDO0f4QY+5vljqi4sIxUSe8bjvbtV6zuO/07O3WG3jhI3d/VhnRs3+TTveSmmWzBQC0kTNU66QR5zYOhruhXTXJP6CmnjZOYybz+sVX4b0TYJiyKu2TgCanO7cVRYy6x85JAnZ6GjtRlKIuv5AFnQe0sGNCiDL0C//Tt8Yvfwl+QjrfIPT20qe5+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=qrwZFrlOOl7QipG+6ZRLOoT0wnO0FQRw1VdZC4Q0T+I=;
 b=P1b2x6cPompfdfIZ2+PIlnw1hNuc3Ebf2gJ+grzDV8KzwGTkP+eNEOdgRG4fZUAS7T9Pdfb8TSoQfwfHzQ9pO33i4fC/ex6ZABA0B1DFxkbNl8lz4erBVLhzy3kUrvvHE/edSG5F15ymRjQj2rCvAOaAD7oRKWTuStuzavI5BaLQd+Y2qT6RSe61KSY5Qp2JQ2ra3AuZ+mGEmpjyglrfQNSWNqRUfIQvFu+/VTTYN9JLXk/EZ1JMyMOnNLqVlGBgqvuj9OTiwHAm+tct+dmZxhEh5xuAkDu2vkkEYigJoqybD1n7DwdSIm+pVQD8v9J7+WR+KJo9Dkd7BTLST6cDhg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qrwZFrlOOl7QipG+6ZRLOoT0wnO0FQRw1VdZC4Q0T+I=;
 b=Z6Mss/1eXiEX6pklfM5mJErD2AfdxYlcRp9ezGOWSElCOIJFIrR9nGEtuBOmp90E7oAQIvrg3kPaEwpM4aktXMzbWpHKgm519X+AmVq3Ct9+BtUKSjF0tR2JVT7O5sfpQCfEwrXdi64kzmiWdBuk5Uc45iQKFpM7Rzmyj3fcA+w=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Mar 2023 11:19:02 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Juergen Gross <jgross@suse.com>, Alex Deucher <alexdeucher@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Honglei Huang <honglei1.huang@amd.com>,
	amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
	linux-kernel@vger.kernel.org,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Huang Rui <ray.huang@amd.com>, Chen Jiqian <Jiqian.Chen@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	Alex Deucher <alexander.deucher@amd.com>,
	xen-devel@lists.xenproject.org,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Julia Zhang <julia.zhang@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
Message-ID: <ZBQ+ltOYNqCC0ysK@Air-de-Roger>
References: <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com>
 <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
 <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com>
 <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop>
 <5e22a45d-6f12-da9b-94f6-3112a30e8574@suse.com>
 <CADnq5_PH9ZqDqpPES74V3fB3NVpaexDoGTyu_+-zoux5vgagyg@mail.gmail.com>
 <dcb54275-b21f-a837-76bb-e19e331a0666@suse.com>
 <CADnq5_PpCWrZzQdE_X6ZnuNU3ktVeC6TbmE5vq3K6rCAdB8GTg@mail.gmail.com>
 <d256a967-f50e-2e19-1985-aa9cfc0e8b18@suse.com>
 <alpine.DEB.2.22.394.2303161603200.3359@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.22.394.2303161603200.3359@ubuntu-linux-20-04-desktop>
X-ClientProxiedBy: LO2P123CA0079.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:138::12) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BY1PR03MB7263:EE_
X-MS-Office365-Filtering-Correlation-Id: 6fbc73c0-c135-4bea-58cd-08db26d10afe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	r1miLwLHSsut1yA8hsMLXx8ocKd0bxvkTrsdVnkF7C+1mz89BuJkBbe5dQSp8c8C1VuyStFw1nwSmj+CrzT7DaE9tFBjikMwiEfJY3zDbvd7ppeYa8DKo3XsD3oQ+Dl3yp7Vc7S4OTLMFEnMd3G4EUuGjXCGX0lrDB1CSkRApfyMPG5exbcOlkRYHjE8nwv8xhlaDrsHBL/bttG5LZqIED//FPJhQ+aYy69LFK5Q3QufuNHIRASf/JiUz5sjClgpNxftZ1UhfW7mQQOsi0sMK5a0BqVy4OJ/EXv39SnBjQMOIa4Vj8azFOOOYBv22zOGDaoQNsDjnQrUsbLk58bQisO4xWHJ6PVmNSkU9FREYoX8yLEyYsudi41HbEJ7tU6j34MmjuB7tC4OTLPUhiCdXxqHiIefkuhkOZ6VZt628FJq3izxbpIbuzUhe7dAeDBcw9e/O/EhSfX2tUTJBUNgRvysZ8MlECO2+wCvV/wOhiVpn7QoSJxE0O1TNuFYCuWnLtncos2GaTW+lXbZN3myLc7c+Xx4NFFNbPS8FT9/bLavzU6lMKHlLN4MIkWnUQxg4f62AFIzfORImUvipjQJYrn34Z6NrKFxnGCZUvzvwPNXqvuDt+qCLeZ+Jl08Svm8+AAQkBrrJ0r+CksLBfFTQRnsOi6uQ70ImUuOl/I4RXuHUMimJ0JRfL4U+0+IwHLR
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(366004)(39860400002)(396003)(376002)(136003)(346002)(451199018)(38100700002)(86362001)(85182001)(82960400001)(478600001)(8936002)(41300700001)(7416002)(2906002)(5660300002)(33716001)(4326008)(26005)(9686003)(6506007)(83380400001)(6512007)(53546011)(316002)(186003)(8676002)(6666004)(66476007)(66556008)(6486002)(54906003)(6916009)(66946007)(66899018)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SndaQ0xVQnpoeVJ1SE5qYytGN2Z5OFAxbzFTM3BaT05ONm52VHRtaDBnVEVN?=
 =?utf-8?B?WVhLTDErUWZMNGNXTktoZEtLNCtVWUFLMURaNXIxTzRPRkZJcmszYURCTTFK?=
 =?utf-8?B?bHBUR0hJVTlNa1JlR3BpZjFEZkwwL3FBN3FwZW9FSFhwOTJQM3p0U3F3VEl6?=
 =?utf-8?B?QXMzOU9vekpuZmRmL0V6cE45WTNQVzVwSXlTMTNrYXBUUDJtNFdWZkcxVWZP?=
 =?utf-8?B?cUxxcVNwU05CSUVQZ3lXY241c2tMVTEyRWY1TlVRZndrc0FneU1CSEcxMG5S?=
 =?utf-8?B?SUdSclNnb0dBbzVScm93Q1V5TWE1TE9ZMjg2MFF5ZXFsK2VNL3JJQ0tGL09i?=
 =?utf-8?B?L0tZY293NjJNa3lQTm5nS0pZMS9tWFFkcG0vQ3c5ekxuUHZzeDFOM2dJNGRL?=
 =?utf-8?B?U2NmOVlqajd5KzJIYytsdS9VckY2Qmg5ZWR0NnM5VGRjZGtaNkFhNTZUejB2?=
 =?utf-8?B?WFB0R2RDeDJzcGlrN2NIWGdnRVcxV2NtbnB4UlZta1dzWXZHdGlWekVwZ2pN?=
 =?utf-8?B?NnBKdXowS1MyWGxYK1dISTI3M0tKeU53TU0zL0dYNG84YmV6Rmp6V2pLdFhi?=
 =?utf-8?B?RnhrTHpCUjE4ZWtvYk9pRGEzNFhHckVDTGVSRXE1eDV4VTJTeHZPMTJ6WHgz?=
 =?utf-8?B?THV0dlRxc1lmajlOUkhhTEpzYThLSGM2dDYwM3F5dTBqYTZEOS9FOStWcnRD?=
 =?utf-8?B?b0RhWTlQOFBxK1R4eVVkNmVOYnV1NWhSQk1KY1I5eEdIVWpaWEFFZ2N0N1Zq?=
 =?utf-8?B?dlQ2YWQzMEs2TzNzYzBZQWYwR3U0SFEzNDhUUWpGcDBsdlVFV3BhaTBrcEFX?=
 =?utf-8?B?TW9MOTJpTTNOUDRjS2NvZEpVSXNBL1E2Sjlwb3dlSURTdWlHZVYzd3FZbUdw?=
 =?utf-8?B?bXNiTjY4YXlaOWExOGVia3hlTm5YRWd5U3dSSW1mbUZwcGFzSmRWWDBscnZY?=
 =?utf-8?B?Y3BDSzVVYUFJOWRCUWhyZ2tHQlY1eXdsMy9nQzFLSTJzcXdlVTZqU2pMQnVV?=
 =?utf-8?B?YWJ1aGx6dVluT0Z0WjRneTVYaDYwblNYZDViVEk3akZnSW9BakVia1lIRGFF?=
 =?utf-8?B?WERTU2NTS21mT0sySm9MNFVrVnpJRHcxRTRKQ2hEeDZ3b25CZE1VckpNaG51?=
 =?utf-8?B?TVpjOFFQZDZMTHdMNHNHVkUwNEZ1TnUxYndSR21nZ21zZlpwRmg0SEVCSjYw?=
 =?utf-8?B?ckhlUTZ0d3pvNlpwdHZ3Z3MwaDFlNktkNWJEK0dCS0dtRDQrdU5EaWF1eWx3?=
 =?utf-8?B?ZmttaUVaQkVQbkI1YzVCRHZvRDNReGlKSHRJbkZjSmRTZUFqY1crRVZDSVg3?=
 =?utf-8?B?dHpBeEtLSXBiSmtlL251cnNpR2MwS2JRbW1oa1NIdHN6blZLRUpmSFZwVk5r?=
 =?utf-8?B?Zm9sTXZlR1VjclV4di9PTmlrU2FsU1NpUVRab212bE9WaFcwTVRGem45bUN4?=
 =?utf-8?B?VnpySkZnck1qb2hybmNwdXZqVFdwblZIemJ0WFdxTExlVHhlTHJuc3RNRmo4?=
 =?utf-8?B?eGE4NmwzZEVFYUY5WHQzdXZpZmlKRWdsa2ozRWUyRlZEWTFWdEp6Tm5jWnRP?=
 =?utf-8?B?aU5IR2RsUTFFSFJGczUrUDkyYkFST05xa0VoQTZVME5IT1l0VDd2SzIxUTNM?=
 =?utf-8?B?dUt5Sys5Y2hHQjNieUJ3dUZMR01MSFU1YS9LTmJHV25hS0JpMGZWN2ZqbUR2?=
 =?utf-8?B?TU1YWDhlY2VWbjRLcGJReGFucXNsRjQrdjZUWWc2TDZralhhWWtYMGJKV1dz?=
 =?utf-8?B?VEtER1pDRHZyVDBHckNJRk1IblZMUUtJOXZqZHRoNEtlNWtlTUhlWnJkWXpr?=
 =?utf-8?B?d1NoTE9XcmxoREJwaTRIcXU4dnY1OHJ3THovZE8rWkZubEJ4M1QraDNtRGs3?=
 =?utf-8?B?KzVrWGZOTVZHZDJXSGRzYldGYnFjSE1velpFQXUxOFIvWGJ0QmhvVGx5RU9F?=
 =?utf-8?B?cXIyQ1RBa2VXSEV0RWVGRHY2djdic3Y2TWszSUl6THVmTWpEZ2cvL1loS0Qz?=
 =?utf-8?B?ZEI0QmlZRGZ4Y2JxeUY4VS93YzhpbkNEcGJNVHlPN25pRHJQZGhMRGtuQkFD?=
 =?utf-8?B?c3Z6bjBML3RiZTMvK3VFcnpMdWFGQ2N6eTltakY4aDdHdWZBd2VEZ213c01s?=
 =?utf-8?B?WTZaME0vRllsbUc4cTN3RlpPSzkrV21oWkRHbnFMUVVPQTNxSG5oeXdyVTI0?=
 =?utf-8?B?bnc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?RG9QdFRYMTFQVXRJbU5MekVKLzArMERHMU0rd1BxdjhiMkM5YnlGeVBZWkNS?=
 =?utf-8?B?TnNBRUhoMnpQd3BLbG14MWhkNTg4KzhrcmNlK2dkbjFNTENibTBlYXUrVllH?=
 =?utf-8?B?Ri91OWlYQWNUY3ZKSnNLOXFWejg3eERpMnJHcC9WbGZHN1ZrSFhzdndrVTJ3?=
 =?utf-8?B?bVZKVHRvMFI3UVVZNkxCbkdKNmhBZ0pZZktZckpuWk5mRkUwYkFUMTA2dzJQ?=
 =?utf-8?B?K0ZCZVhOa203SENESVRTampTK1hNbGZBaXpJeVhacXZRbnlaUWVkdkI0cTA4?=
 =?utf-8?B?cWxUcWo4TkJKZ1NIOHBjeDhna0psTzM3ZnUyQ29wN25CODAxc3JZaFJwcTVN?=
 =?utf-8?B?N2ZmbDBJSUlOVzZtWjhmUFNxeEpieStIcVhlR25PRkFkeGZWeXB5SjBiL0FY?=
 =?utf-8?B?TWIzWW1MZkkycGlYMVpoUTJ1M1RZZzJtZDIwK0szdEJDQ2FkVWRwWWJUZkhU?=
 =?utf-8?B?WGNrLytPM0V0ZjJJZzlLNlpRSTlEckFQWU5vLzVmb25weUVLaHlGNzAyMVFU?=
 =?utf-8?B?WjBNVUNzcFhnU0gyajBadTJURG5CKzh5VnVML0dtL09TUTVQZW9RM3J5aitr?=
 =?utf-8?B?TFp2VHdDQndrRmZBTGJ0VmxsallBSVRIQUlNRDZ5NW9FVlVaWWtWa05PK2FC?=
 =?utf-8?B?dm4zN3ZoTzFMSDBtUERxN3dkcjFJZGh4cE94dEVYQWdPRHpiYTVHZys1S2ha?=
 =?utf-8?B?MHBYeVdOWTFyRFgzSEdRbFAvUTYwcllxZ2poRWR2K05Pdm94MVRVQmVqck1n?=
 =?utf-8?B?c1dBUnI1NHVTQktyMUVBUVRCL3loQjBxWlpCUHNEZWhVbWlHMGhVb015ZTF6?=
 =?utf-8?B?UzBBWE1DMzdjL0lBWk94NzBHUmxNK0pqeWJkYXJXWVBYN1lzazYvaldoWFo2?=
 =?utf-8?B?RHlSeEV5dklEOHZHdXBjbFZwd0xOQkhDeW44ZDMwdXpRVThsOXhJMWNoOEw0?=
 =?utf-8?B?UzFHZDYwaGRpczdjVm9CcTg1MFpxUHVjNE9iekl1dkhXdUdFZHpPSmx0a0My?=
 =?utf-8?B?TDREUFYvN1NFMWtVQzNqdDMvYUE0Yk5aWm9peVJoNHdITEp5Y21JaW5aa2la?=
 =?utf-8?B?SDZpQko1bUZPM0xTZ0hrWE1Qd08zUXVqbmgwbTljbW82d09EMmpCUUVhN2la?=
 =?utf-8?B?WG9DQ3hQaVlEekpkVlhLZC8xd3FuS1phTGUyVWY3ZU9MZVJhMTV4ak53MTJp?=
 =?utf-8?B?VzFqaUN2QmZ3ZXBualp3K3lzdkRiYTdYN0xOTy85TEkvOU1CckNvMjU0KzJF?=
 =?utf-8?B?cWFyZDkwRDQzanRpb0lsa0hjYjUwTG1DQm1BdHIxNXcyR0VOdVRlUkY3ZGpU?=
 =?utf-8?B?eW5CNE1MMG5BYUZ0RGRnZnJmWVNwRDNoSHUxMFlYK25lVWR6akZPTFJrWU42?=
 =?utf-8?Q?IO0wQBV1NlQGqaRWl6ZDTxxzB4yAeOps=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6fbc73c0-c135-4bea-58cd-08db26d10afe
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 10:19:07.9705
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: I3EI2G5WU380MpQw5OKXGCLdXOA4RTN0c0DzTtq6sJtxw4d9fnGFWfJ43K/qtxYHjzJoezdxL7shYY/bitHIIg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB7263

On Thu, Mar 16, 2023 at 04:09:44PM -0700, Stefano Stabellini wrote:
> On Thu, 16 Mar 2023, Juergen Gross wrote:
> > On 16.03.23 14:53, Alex Deucher wrote:
> > > On Thu, Mar 16, 2023 at 9:48 AM Juergen Gross <jgross@suse.com> wrote:
> > > > 
> > > > On 16.03.23 14:45, Alex Deucher wrote:
> > > > > On Thu, Mar 16, 2023 at 3:50 AM Jan Beulich <jbeulich@suse.com> wrote:
> > > > > > 
> > > > > > On 16.03.2023 00:25, Stefano Stabellini wrote:
> > > > > > > On Wed, 15 Mar 2023, Jan Beulich wrote:
> > > > > > > > On 15.03.2023 01:52, Stefano Stabellini wrote:
> > > > > > > > > On Mon, 13 Mar 2023, Jan Beulich wrote:
> > > > > > > > > > On 12.03.2023 13:01, Huang Rui wrote:
> > > > > > > > > > > Xen PVH is the paravirtualized mode and takes advantage of
> > > > > > > > > > > hardware
> > > > > > > > > > > virtualization support when possible. It will using the
> > > > > > > > > > > hardware IOMMU
> > > > > > > > > > > support instead of xen-swiotlb, so disable swiotlb if
> > > > > > > > > > > current domain is
> > > > > > > > > > > Xen PVH.
> > > > > > > > > > 
> > > > > > > > > > But the kernel has no way (yet) to drive the IOMMU, so how can
> > > > > > > > > > it get
> > > > > > > > > > away without resorting to swiotlb in certain cases (like I/O
> > > > > > > > > > to an
> > > > > > > > > > address-restricted device)?
> > > > > > > > > 
> > > > > > > > > I think Ray meant that, thanks to the IOMMU setup by Xen, there
> > > > > > > > > is no
> > > > > > > > > need for swiotlb-xen in Dom0. Address translations are done by
> > > > > > > > > the IOMMU
> > > > > > > > > so we can use guest physical addresses instead of machine
> > > > > > > > > addresses for
> > > > > > > > > DMA. This is a similar case to Dom0 on ARM when the IOMMU is
> > > > > > > > > available
> > > > > > > > > (see include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect, the
> > > > > > > > > corresponding
> > > > > > > > > case is XENFEAT_not_direct_mapped).
> > > > > > > > 
> > > > > > > > But how does Xen using an IOMMU help with, as said,
> > > > > > > > address-restricted
> > > > > > > > devices? They may still need e.g. a 32-bit address to be
> > > > > > > > programmed in,
> > > > > > > > and if the kernel has memory beyond the 4G boundary not all I/O
> > > > > > > > buffers
> > > > > > > > may fulfill this requirement.
> > > > > > > 
> > > > > > > In short, it is going to work as long as Linux has guest physical
> > > > > > > addresses (not machine addresses, those could be anything) lower
> > > > > > > than
> > > > > > > 4GB.
> > > > > > > 
> > > > > > > If the address-restricted device does DMA via an IOMMU, then the
> > > > > > > device
> > > > > > > gets programmed by Linux using its guest physical addresses (not
> > > > > > > machine
> > > > > > > addresses).
> > > > > > > 
> > > > > > > The 32-bit restriction would be applied by Linux to its choice of
> > > > > > > guest
> > > > > > > physical address to use to program the device, the same way it does
> > > > > > > on
> > > > > > > native. The device would be fine as it always uses Linux-provided
> > > > > > > <4GB
> > > > > > > addresses. After the IOMMU translation (pagetable setup by Xen), we
> > > > > > > could get any address, including >4GB addresses, and that is
> > > > > > > expected to
> > > > > > > work.
> > > > > > 
> > > > > > I understand that's the "normal" way of working. But whatever the
> > > > > > swiotlb
> > > > > > is used for in baremetal Linux, that would similarly require its use
> > > > > > in
> > > > > > PVH (or HVM) aiui. So unconditionally disabling it in PVH would look
> > > > > > to
> > > > > > me like an incomplete attempt to disable its use altogether on x86.
> > > > > > What
> > > > > > difference of PVH vs baremetal am I missing here?
> > > > > 
> > > > > swiotlb is not usable for GPUs even on bare metal.  They often have
> > > > > hundreds or megs or even gigs of memory mapped on the device at any
> > > > > given time.  Also, AMD GPUs support 44-48 bit DMA masks (depending on
> > > > > the chip family).
> > > > 
> > > > But the swiotlb isn't per device, but system global.
> > > 
> > > Sure, but if the swiotlb is in use, then you can't really use the GPU.
> > > So you get to pick one.
> > 
> > The swiotlb is used only for buffers which are not within the DMA mask of a
> > device (see dma_direct_map_page()). So an AMD GPU supporting a 44 bit DMA mask
> > won't use the swiotlb unless you have a buffer above guest physical address of
> > 16TB (so basically never).
> > 
> > Disabling swiotlb in such a guest would OTOH mean, that a device with only
> > 32 bit DMA mask passed through to this guest couldn't work with buffers
> > above 4GB.
> > 
> > I don't think this is acceptable.
> 
> From the Xen subsystem in Linux point of view, the only thing we need to
> do is to make sure *not* to enable swiotlb_xen (yes "swiotlb_xen", not
> the global swiotlb) on PVH because it is not needed anyway.

But this is already the case on PVH, swiotlb_xen won't be enabled.
swiotlb_xen is only enabled for PV domains, other domain types don't
enable it under any circumstance on x86.

> I think we should leave the global "swiotlb" setting alone. The global
> swiotlb is not relevant to Xen anyway, and surely baremetal Linux has to
> have a way to deal with swiotlb/GPU incompatibilities.
> 
> We just have to avoid making things worse on Xen, and for that we just
> need to avoid unconditionally enabling swiotlb-xen. If the Xen subsystem
> doesn't enable swiotlb_xen/swiotlb, and no other subsystem enables
> swiotlb, then we have a good Linux configuration capable of handling the
> GPU properly.

Given that this patch is basically a non-functional change (because
the modified functions are only called for PV domains) I think we all
agree that swiotlb_xen should never be used on PVH, and native swiotlb
might be required depending on the DMA address restrictions of the
devices on the system.  So no change required.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 10:33:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 10:33:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510990.789633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd7OH-0000Th-6O; Fri, 17 Mar 2023 10:32:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510990.789633; Fri, 17 Mar 2023 10: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 1pd7OH-0000Ta-3X; Fri, 17 Mar 2023 10:32:53 +0000
Received: by outflank-mailman (input) for mailman id 510990;
 Fri, 17 Mar 2023 10:32: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=zehp=7J=casper.srs.infradead.org=BATV+3a4cfb3604db6c4b77df+7145+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pd7OD-0000TU-Tz
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 10:32: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 0f02f081-c4af-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 11:32:47 +0100 (CET)
Received: from [2001:8b0:10b:5:7f3:374b:cba9:41d]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pd7O8-00Fmow-6r; Fri, 17 Mar 2023 10:32: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: 0f02f081-c4af-11ed-87f5-c1b5be75604c
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=kDPlanWKwZv08AwaFQFLPuO66YLdV69hV1ELevR3RYA=; b=QXe9kloOTUCZTCNNHi3LrCNsqx
	26z8oRHfaoZSGYp2VFYMMVFxDoUdvw98vQ4lBuHcxlcP8MhMF3ToTzU0WV0yhiCsVH+Gbx9j/gUHN
	MeBIf2MSuRuIFogmhSZtIpEMGypODsXrFZAJOr9HEZIChKZ9fx9aUvPEHCpG8jg+bbVuHifAOHFMW
	+f7KbalfVW18RaX/tVHRKAqGEyXQkJ+MmxO27Qv7T1D6GxyGBtJpdejE2p+CS2/PUAz4KbgBxgahp
	VOcEAZL1hDFZDFItGefsoxUvsRQNjO6ILMxLIwipTr1dDNpXfXgfxXNiEFmfsLiqXjzW70CT2D7VI
	htv1tg4g==;
Message-ID: <16d19b45842d4f98f130c98628932eb2d62ffe72.camel@infradead.org>
Subject: [PATCH] Fix PCI hotplug AML
From: David Woodhouse <dwmw2@infradead.org>
To: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>
Date: Fri, 17 Mar 2023 10:32:43 +0000
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-ToYQqzzVj3ZMqvVxURK6"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


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

From: David Woodhouse <dwmw@amazon.co.uk>

The emulated PIIX3 uses a nybble for the status of each PCI function,
so the status for e.g. slot 0 functions 0 and 1 respectively can be
read as (\_GPE.PH00 & 0x0F), and (\_GPE.PH00 >> 0x04).

The AML that Xen gives to a guest gets the operand order for the odd-
numbered functions the wrong way round, returning (0x04 >> \_GPE.PH00)
instead.

As far as I can tell, this was the wrong way round in Xen from the
moment that PCI hotplug was first introduced in commit 83d82e6f35a8:

+                    ShiftRight (0x4, \_GPE.PH00, Local1)
+                    Return (Local1) /* IN status as the _STA */

Or maybe there's bizarre AML operand ordering going on there, like
Intel's wrong-way-round assembler, and it only broke later when it was
changed to being generated?

Either way, it's definitely wrong now, and instrumenting a Linux guest
shows that it correctly sees _STA being 0x00 in function 0 of an empty
slot, but then the loop in acpiphp_glue.c::get_slot_status() goes on to
look at function 1 and sees that _STA evaluates to 0x04. Thus reporting
an adapter is present in every slot in /sys/bus/pci/slots/*

Quite why Linux wants to look for function 1 being physically present
when function 0 isn't... I don't want to think about right now.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Fixes: 83d82e6f35a8 ("hvmloader: pass-through: multi-function PCI hot-plug"=
)
---
Utterly untested in Xen. Tested the same change in a different
environment which is using precisely the *same* AML for guest
compatibility.

diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c
index 1176da80ef..1d27809116 100644
--- a/tools/libacpi/mk_dsdt.c
+++ b/tools/libacpi/mk_dsdt.c
@@ -431,7 +431,7 @@ int main(int argc, char **argv)
                 stmt("Store", "0x89, \\_GPE.DPT2");
             }
             if ( slot & 1 )
-                stmt("ShiftRight", "0x4, \\_GPE.PH%02X, Local1", slot & ~1=
);
+                stmt("ShiftRight", "\\_GPE.PH%02X, 0x04, Local1", slot & ~=
1);
             else
                 stmt("And", "\\_GPE.PH%02X, 0x0f, Local1", slot & ~1);
             stmt("Return", "Local1"); /* IN status as the _STA */


--=-ToYQqzzVj3ZMqvVxURK6
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzE3MTAzMjQzWjAvBgkqhkiG9w0BCQQxIgQgBlOpfKgK
yebVMNcniU+f9e0RPmi5V5mszWLcmqZKIw0wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAnqRVQWIEys/k4AAq+9mPx7zrkRauTLKvH
JYneCjVYhfE/mboApOJE8XQDgIpg16TtTUFBiDV3pkmE2tuLMMg5tchxiZbD5BkWa//6vR94ksWo
ZQAiRH2dm5wHV3CEfQG7PkiYCEjnBnRLo9WdtrvMDGUOlCzDgxw8Lwa8UEtwL7UfOg1LMdhpIGd4
HpqXOJwZ+PtlERcedzZzUt6RhElwe/9wvd18t/rNNDl41nRuDglAYpxWtl8HRnbKhSXt0plJYuHG
KE6L4pUVgJH0QpLwm7uR6wWKw8XsnNYInwcRfuizr/N+mmqRLtwOhOXXdBj17da65qeIb9TrkLW3
MmnRV3QZxNj3A42cbXKbpyY1VS9dfcz/PSvslD15lb9fe4lASj0dhd42984BkYdPt8PFy2l3lZRN
sYUROS4cTJJuBcpqmDcLsWKtAtO5gJjQ1xOIIqZbwdTU8LZzHySB5igtCNB39o87uzVH2nYtmLKF
BrPiUXskk8zCynvJ23MGG2GZ/TyFszOAqo/HrA5BqeF1+w7hC0qNMYkCJK/zfsOC2oYLtUUMvq2y
1SaCv/y/KwCg1MWpHN99692h31//gmSEAM179DqCAgVbjwv5XMiD8mVq6K29qRBTPEHhB2gbsMhm
y0PpcpxKFLeV4ou2sbrdEMvh8eE4oajfFVkQw1j3AgAAAAAAAA==


--=-ToYQqzzVj3ZMqvVxURK6--


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 11:01:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 11:01:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.510996.789645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd7pl-0004ut-Ee; Fri, 17 Mar 2023 11:01:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 510996.789645; Fri, 17 Mar 2023 11:01:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd7pl-0004um-Bm; Fri, 17 Mar 2023 11:01:17 +0000
Received: by outflank-mailman (input) for mailman id 510996;
 Fri, 17 Mar 2023 11:01: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=K1kR=7J=gmail.com=matiasevara@srs-se1.protection.inumbo.net>)
 id 1pd7pk-0004uf-2L
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 11:01:16 +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 086ea09e-c4b3-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 12:01:14 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id v16so4064778wrn.0
 for <xen-devel@lists.xenproject.org>; Fri, 17 Mar 2023 04:01:13 -0700 (PDT)
Received: from horizon ([2a01:e0a:257:8c60:48e5:bfa:d652:b8ef])
 by smtp.gmail.com with ESMTPSA id
 k6-20020a5d6d46000000b002c5598c14acsm1729019wri.6.2023.03.17.04.01.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Mar 2023 04:01:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 086ea09e-c4b3-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679050873;
        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=awadti91KpY69cDBJYmDQx7rIwXUB0x1J4WYf9nv0EY=;
        b=ItZwHI29Qb9rnRet7NQ5avCTe9fEtvRKLGQERSxGLhZxrwXtBMIddH2OsMUrQzUGpy
         CBd41vcNg04NkcsJIQWgDokXoEo0AK5Xzj2S+gs/l9gCUxfYb1S4w+/z54MiEN2Snxys
         YruYKQGfrkqrpNUgoRrJ0PrhwoDLGRyTz6d6Nrx3R8ZNXJRUI/2BO+vYE8b2MUoFqDyy
         DAnXQRd2vaR2wBdjFZTLcq/UvHLLcfGxlYvDmC0wZX3eegAvtGSNeJG1zGvF6esUbSEW
         EMWV1yKHoCV10kh8BrPmYluAYItayza6WpCO/gpm4Ok2D1mUohnu9x7G9duNIiz06vaL
         IqRA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679050873;
        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=awadti91KpY69cDBJYmDQx7rIwXUB0x1J4WYf9nv0EY=;
        b=8NuPFkuhefP9CUlUd2bT3unbuKnFXHERJNKn7Z9umJTzcZH6y3XIELxyUIsIDSq6Zr
         uMAUDUqXerU7gwb8fm6sPinyKUXy/h5GQoaMM4+b+eIwdA70t6LU/4/4XHgS/FtE2MnS
         3pZBmy5hJXE+5349LLre5EuPlJKWkc+RppGbyTZ+8qElCfTjAyglwZlY6JARaSjS/ucg
         P37pV4VD038SzqRpubB+giGn3wzHcvNOAGv2SPIPj7eaXb3TfKOMQnkPWgfjaKBjkwBF
         wKF0ahNIpcrQUDcT2+TXFHmidmoeKc+I0V9khhuQn534phsokd3q0QkNjX6ni+yYdgyi
         hKxw==
X-Gm-Message-State: AO0yUKUF+B7VcUf4s9TOxYVBm0X3MJ1D8fKHW5XM7rc2bkaoq5HIc1FQ
	TrWBpTcgO8Fe5Anaz+mk0yU=
X-Google-Smtp-Source: AK7set8/lbBiVVhtMK09rLI+6dR2dSJQZpZNVgxkkFOEr+1AsmhRkXUz/nMRfDESFjXYIIMe1VfYPw==
X-Received: by 2002:a5d:544e:0:b0:2ce:a66b:7aff with SMTP id w14-20020a5d544e000000b002cea66b7affmr7435826wrv.25.1679050873157;
        Fri, 17 Mar 2023 04:01:13 -0700 (PDT)
Date: Fri, 17 Mar 2023 12:01:10 +0100
From: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org,
	Matias Ezequiel Vara Larsen <matias.vara@vates.fr>,
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [RFC PATCH v2 2/2] tools/misc: Add xen-vcpus-stats tool
Message-ID: <20230317110110.GA591920@horizon>
References: <cover.1665138677.git.matias.vara@vates.fr>
 <df706d6dcfba965909d776dda163fdb261d1a0ea.1665138677.git.matias.vara@vates.fr>
 <f71bbf79-e452-f2d6-58f9-0f2cf019c7b6@citrix.com>
 <70651f5d-12b9-c7b1-9b69-fc0177f4a1ba@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <70651f5d-12b9-c7b1-9b69-fc0177f4a1ba@xen.org>

On Thu, Feb 23, 2023 at 08:31:29PM +0000, Julien Grall wrote:
> Hi,
> 
> On 23/02/2023 16:01, Andrew Cooper wrote:
> > On 07/10/2022 1:39 pm, Matias Ezequiel Vara Larsen wrote:
> > 
> > A couple of observations, all unrelated to the stats themselves.
> > 
> > Although overall, I'm not entirely certain that a tool like this is
> > going to be very helpful after initial development. Something to
> > consider would be to alter libxenstat to use this new interface?
> > 
> > > diff --git a/tools/misc/Makefile b/tools/misc/Makefile
> > > index 2b683819d4..837e4b50da 100644
> > > --- a/tools/misc/Makefile
> > > +++ b/tools/misc/Makefile
> > > @@ -49,6 +49,7 @@ TARGETS_COPY += xenpvnetboot
> > > 
> > > # Everything which needs to be built
> > > TARGETS_BUILD := $(filter-out $(TARGETS_COPY),$(TARGETS_ALL))
> > > +TARGETS_BUILD += xen-vcpus-stats
> > 
> > This patch is whitespace corrupted. If at all possible, you need to see
> > about getting `git send-email` working to send patches with, as it deals
> > with most of the whitespace problems for you.
> > 
> > I'm afraid you can't simply copy the patch text into an email and send that.
> > 
> > > 
> > > # ... including build-only targets
> > > TARGETS_BUILD-$(CONFIG_X86) += xen-vmtrace
> > > @@ -135,4 +136,9 @@ xencov: xencov.o
> > > xen-ucode: xen-ucode.o
> > >  $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl) $(APPEND_LDFLAGS)
> > > 
> > > +xen-vcpus-stats.o: CFLAGS += $(CFLAGS_libxenforeginmemory)
> > > +
> > > +xen-vcpus-stats: xen-vcpus-stats.o
> > > + $(CC) $(LDFLAGS) -o $@ $< $(LDLIBS_libxenctrl)
> > > $(LDLIBS_libxenforeignmemory) $(APPEND_LDFLAGS)
> > > +
> > > -include $(DEPS_INCLUDE)
> > > diff --git a/tools/misc/xen-vcpus-stats.c b/tools/misc/xen-vcpus-stats.c
> > > new file mode 100644
> > > index 0000000000..29d0efb124
> > > --- /dev/null
> > > +++ b/tools/misc/xen-vcpus-stats.c
> > > @@ -0,0 +1,87 @@
> > > +#include <err.h>
> > > +#include <errno.h>
> > > +#include <error.h>
> > > +#include <stdio.h>
> > > +#include <stdlib.h>
> > > +#include <string.h>
> > > +#include <sys/mman.h>
> > > +#include <signal.h>
> > > +
> > > +#include <xenctrl.h>
> > > +#include <xenforeignmemory.h>
> > > +#include <xen/vcpu.h>
> > > +
> > > +#define rmb() asm volatile("lfence":::"memory")
> > 
> > This is rmb(), but rmb() isn't what you want.
> > 
> > You want smp_rmb(), which is
> > 
> > #define smp_rmb() asm volatile ("" ::: "memory")
> 
> From the generic PoV, I find smp_rmb() a bit misleading because it is not
> clear in this context whether we are referring to the SMP-ness of the
> hypervisor or the tools domain.
> 
> If the latter, then technically it could be uniprocessor domain and one
> could argue that for Arm it could be downgraded to just a compiler barrier.
> 
> AFAICT, this would not be the case here because we are getting data from
> Xen. So we always need a "dmb ish".
> 
> So, I would suggest to name it virt_*() (to match Linux's naming).
> 
> Also, is this tool meant to be arch-agnostic? If so, then we need to
> introduce the proper barrier for the other arch.
> 
Thanks Julien for the comment. Is it `xen_rmb()` meant for that?

Matias


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 11:11:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 11:11:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511001.789664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd7zX-0006pr-G0; Fri, 17 Mar 2023 11:11:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511001.789664; Fri, 17 Mar 2023 11:11:23 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd7zX-0006pk-CI; Fri, 17 Mar 2023 11:11:23 +0000
Received: by outflank-mailman (input) for mailman id 511001;
 Fri, 17 Mar 2023 11:11: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 1pd7zW-0006pN-0h; Fri, 17 Mar 2023 11:11: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 1pd7zV-0005ul-V0; Fri, 17 Mar 2023 11:11: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 1pd7zV-0006w2-Eo; Fri, 17 Mar 2023 11:11:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pd7zV-0005EG-EL; Fri, 17 Mar 2023 11:11: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=TIWMke5rgxTTPpxCZLfbGVW17iMz+HeQCNZ1hNdSPUM=; b=ty6KkQMULkPmh0+ggKbekgvfFV
	0PZubpc0OWr2v3EqF0RtAidlFj95TYk95DaJHzX2KwsQxk568u+0E2BckkQxMCLEpoHrDSZ5ZQRTU
	H89m0MukVYxK3J5lWG8bWvwLTm2KCJVGyUbpLAxvAZAYYwwXy0V7Fxbg5BcnLYkGmV84=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179697-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179697: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install: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-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-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-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd: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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=36e49fc8cbad21a4308b4701caaa685ef04e120b
X-Osstest-Versions-That:
    xen=b2ea81d2b935474cf27a76b4aa143ae897e82457
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Mar 2023 11:11:21 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-debianhvm-amd64 7 xen-install fail pass in 179714-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179668
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179668
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179668
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179668
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179668
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179668
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179668
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179668
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179668
 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-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  36e49fc8cbad21a4308b4701caaa685ef04e120b
baseline version:
 xen                  b2ea81d2b935474cf27a76b4aa143ae897e82457

Last test of basis   179668  2023-03-16 06:30:55 Z    1 days
Testing same since   179697  2023-03-16 20:45:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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                     fail    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   b2ea81d2b9..36e49fc8cb  36e49fc8cbad21a4308b4701caaa685ef04e120b -> master


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 11:14:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 11:14:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511014.789701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd825-0007kH-D4; Fri, 17 Mar 2023 11:14:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511014.789701; Fri, 17 Mar 2023 11: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 1pd825-0007kA-A3; Fri, 17 Mar 2023 11:14:01 +0000
Received: by outflank-mailman (input) for mailman id 511014;
 Fri, 17 Mar 2023 11:14: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=eK3V=7J=citrix.com=prvs=433af36f9=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pd823-0007k3-OI
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 11:13:59 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd78e8db-c4b4-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 12:13:56 +0100 (CET)
Received: from mail-bn8nam12lp2171.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.171])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 07:13:43 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB5893.namprd03.prod.outlook.com (2603:10b6:510:32::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.25; Fri, 17 Mar
 2023 11:13:39 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 11:13:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd78e8db-c4b4-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679051636;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=BuNf3xQD9n1SAUkKcl6kpWKz7M8Td4fX0052A1mpMiI=;
  b=JFvh8OQ0TEaWJT9QV5VyLu8yscyVa1NYlDa9GiR5sSGtVYYeyeGnc82E
   MXiOspBDYuT7MZZVpEnM7LNvRF68fZZsWpOgCNyHkQ0js6yqQ8TVewwsR
   oFmd2i+EkIO5UwXtJ2wbWdqpSL2RhDUa0ysnkAz/vmOzY8IkVy8nczihE
   U=;
X-IronPort-RemoteIP: 104.47.55.171
X-IronPort-MID: 103674627
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:oK594KDkUkFpAhVW/yHjw5YqxClBgxIJ4kV8jS/XYbTApDlwhjZWz
 TAbWmqGPfvcMGWjKot3Oomy90ICucLXnd5mQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhB4QRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw4vRGDWJlq
 uYhJjUVS02DqcW/7uyQRbw57igjBJGD0II3nFhFlGucJ9B2BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI+OxuvDG7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prraXxn2kBNxIS9VU8NZWr2+UgWc4OiYTcknqs+GAsk/kVfV2f
 hl8Fi0G6PJaGFaQZtjmVhy7oXjBshsdR8BBO/wz7g2A2uzO/m6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnp+LqRuiNC5TKnUNDQcGQhEC+MLLu5wog1TESdMLOKy/g8DxGDrw6
 yuXtyV4jLIW5eYJyqG68Fbvkz+q4J/TQWYd/R7LV2io6gd4Yo+NZIGy71Xfq/FaI+6xUlCEt
 WMsh8ua4eYBHJyJ0ieKRY0lFbCy7veBORXWgEJjEpcs8Tig4TioeoU4yClmJV1iO8INcyLBa
 k7PtQ5f6ZlfMWHsZqhyC6qzFsJsy6HjHNbkU/n8b9xSb5w3fwiClAltaFCR2SbxkUEquaA5J
 ZqfN82rCB4yAK5qyD2rXOAD+ac33S012HnSWYG9xBOiuYdyf1aQQLYBdVGIPuYw6frepB2Pq
 okGccyX1x9YTevyJDHN9pIeJkwLKn59Ao3qr8tQdaiIJQ8O9HwdNsI9CIgJI+RN95m5XM+Rl
 p1hcie0EGbCuEA=
IronPort-HdrOrdr: A9a23:594XUKtU9grR2Bh1lU5GxHwb7skDgNV00zEX/kB9WHVpm6yj+v
 xGUs566faUskd2ZJhEo7q90ca7Lk80maQa3WBVB8bBYOCEghrOEGgB1/qA/9SIIUSXmtK1l5
 0QFpSWYOeaMbEQt7ef3ODXKbcdKNnsytHWuQ/dpU0dMz2DvctbnnZE4gXwKDwHeOFfb6BJba
 Z1fqB81kedkXJ8VLXCOlA1G9Ltivfsj5zcbRsPF3ccmXWzZWPB0s+AL/CAtC1uKQ9y/Q==
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="103674627"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CEcVpCflD6qFE5vIEPBnkDCeMXffll1zk4ZnoBQxbPglyRfddoRiyFpYrGiMfrqywpNdDgXrGhHGLkRUakW6v4R7wgyH7zgtxTLJw2gMzpdGnAEREAELOdW7wL96ZIRUy3vJDv4N5jF1J5tkG4jyX5LdP+vLwn1tjwc2oP3eRr+kyJFpZRchwBT+SfG2XdtgoJPtnAhCdGPBmTgNkVrzKA7OGrg/zLSKqkHRMBunRcnAqgKz8k5YjmtZSyimZSHd8z8qr/UQQkzBXgzi3v4IBV2tS8B2d9X2hm/cufRIZOjmRjoO35vCUlcMJ0gfXhneLjsC5Q6pvYZytr89IU6bbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CTwySt9G0DcNtvaMF07swXXGspE6IBr0o096KhDaBVA=;
 b=kl4fL+aEThKPzCLGx2NutPuw9XgsM9okTqzS9oozttKcLzBWdzN8Io7YRZe/sHGwQOPjNujCn0RcfDV9TZCXZdOHkI2LLcGsus/Anp2i6PwBhjdqbCbS+zUmcgkEcaLLwMrU5Z6h7MOlt1V22twFFfXzvouWbe63nr/sUnPjzcEUj+IUpRr/v3toXBaOYO7elCsM5RtHGr8C6IKP3wBj5FzdFmtWjpHdR0xVd7LmtJuY6P2XSgGgAj9VcHXye/0USrv+hL8n5TUS5iYeVZ10Mj0hEDFeoS6Gn5koZF1wSqojZu7nFXziCCCA3hNoqY/aq7F3widEbBtBnalMn2aj1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CTwySt9G0DcNtvaMF07swXXGspE6IBr0o096KhDaBVA=;
 b=U+wOYiA5RfCmcpUe3Of4mI1ToORBHjI5zLKwN+VmAPfIqzs+fDfXi4eUzG5WlK1IqSNyaFqqDVwXuxajaF9ZaEo7H3YNMx/RPwCzHEsRIJq26z/q3VMkKAJp88Gzo9Tp/1Tkd+s4EtxdDIz8F1giq2irwKnCzw+2iRD3OHaUr14=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <63ed49be-b7d3-3b7e-a406-f760252d55ed@citrix.com>
Date: Fri, 17 Mar 2023 11:13:31 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH v2] x86/monitor: Add new monitor event to catch I/O
 instructions
Content-Language: en-GB
To: Dmitry Isaykin <isaikin-dmitry@yandex.ru>, 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>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Anton Belousov <abelousov@ptsecurity.com>
References: <aab9c8ae059d5f584516d0b6466e57ce0981dadc.1678904818.git.isaikin-dmitry@yandex.ru>
In-Reply-To: <aab9c8ae059d5f584516d0b6466e57ce0981dadc.1678904818.git.isaikin-dmitry@yandex.ru>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0101.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bc::10) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB5893:EE_
X-MS-Office365-Filtering-Correlation-Id: 84561cef-6bc5-46ae-de35-08db26d8a894
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3Bus42F/JgNhGP9aItifwNYVpNNPyrdZ/jXYzn2/WVOiIxFCjVBG2hWWJzNvGiowoglFUWzs05uxYVuu9Iuu88N4WnIF0QCcSrWLQBobwjwsLUN8Z4M83Z2ran2+bb1q0WPU9kxcO+PnfBAYv17QL7+BNAHlsibCtVYfmyrBQMbUNB+YPN0VdWILayHOLpUW1o2tzoPm7W+R+k3VDWaZVKMd8uhVWvTLoQNIcXE+LtpzAYd1+Jok0PUto+tJ4ghCkaCjxmo+4k4srAqPTX97H6DSJThpeX3k/pyTef0zezH8k3VF55uZUqZdVEjXe7yMXRZh5h0XnXdy18sB+hVwxKRYBox4RQ55y0F+UsaoE5ur95aewwZFEfJUL/96rEYowS0u4nizw2ZGEkqTvw/7Sto8ZOniOF6iPyaQWDR+EAC0oEMDm087/xBSwhMJYZqC1ccFCieZOWO8a3M5GH/bfoKlilrrvPDZyDyjc/uLdsbbEgyPdkGea6ZQeW025FeW2gf4UB+ZogEYf5G6pT2iHRzBwScIMFakcRh5InhDN/7srL51hSpJ1AZ43r/NKOctoNttujmB+EWusdNBe9XL6C3B84OxivQxoRIK8kbkL/9cBMSKdOfwq/jP/yVpafzu2JoZVWMlvBrsalItKyIFP36uVz3yhDgGq84QRKCJFEzQrVCv4uWa2H3207N6ZF8fSI4x2VZdbeIBtL9Ip7vTRg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(136003)(39860400002)(376002)(366004)(396003)(451199018)(5660300002)(7416002)(36756003)(66946007)(6506007)(8676002)(2616005)(478600001)(186003)(66476007)(26005)(966005)(6486002)(6512007)(6666004)(53546011)(4326008)(31696002)(86362001)(66556008)(83380400001)(54906003)(38100700002)(8936002)(316002)(82960400001)(2906002)(31686004)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VzZBSnArTXRramxGcHlFZXlGNWVFdlY1bW1tcDFwS3VlOHVWZUpWc1RuZDVH?=
 =?utf-8?B?TUt0RWJvTmJPc3Jrb2Z0S0Z4N2lpeXkzQlozLzYxN3pRZGx2NXpVNkUyaWht?=
 =?utf-8?B?L3BycFU2SFhMY1pVL3N0R0FCRU45bktDNEhCMkQ3ODFBcWFYZmxOL3hwL1M2?=
 =?utf-8?B?Uk1UVjl4VmFVUFBndThmRDFoOUJUT3gzSitGL2JtS1lGWjRSMndHdEFrbVg2?=
 =?utf-8?B?bzF3a0VLa3U3QzFQcGdyL1IvRkg2ay8vK0Z0Nm1DUEVvR3FYblN5ODkvMFQr?=
 =?utf-8?B?SUIybHg0YnhZVlNlaGdreUp1RFpxZ2puTDd1cGVZRFZmdWZRNHl3dEU3RFlE?=
 =?utf-8?B?SkxmekdjMnRicW1vamFqa2xIbEkzU29uUWRyMGg0UUdkRzVKMXcrUlpva3lt?=
 =?utf-8?B?TlhkU2cyTDZoNjdIMlVvV1FMOHRLQytsNmJqQWFTS0ZyRVpZakFueFZuR0Mz?=
 =?utf-8?B?dnRNeEtzd0R4bHJCUVZXNno0cFoxK2JYT0pub3F3REUvblo2UmFnSXBqeTJY?=
 =?utf-8?B?K2llZHlpODRQMWNleTJpcUZxcVRCaWJjMURzZS9leWpiUUdzZjJmU2dCK21W?=
 =?utf-8?B?ZFlGYkxISGljZUp1UHdoUUNQWTBvVnJ5VFN6aGo3bWxqV3h0NGZEdzYxLzdS?=
 =?utf-8?B?MGIxZDJ5Zko0ZHBUZ3RlUU8yS0xFWitOc1Q5NHkySXBNUGQxNEpnWUFjZnFh?=
 =?utf-8?B?QlNjOVdHbVE5MklFaGkxU0hXVmpML2R0c0hsK1NlWGY3cVd1Q2ptbm1KKzli?=
 =?utf-8?B?dC8wMjk3MFpKQS9pRXlzN08vR0NmUFpRQWl6UHcwMElaVkZnSWhJTlczOVZN?=
 =?utf-8?B?NzZMQm1nMDF2WkY1czRhSlEyVmlaUCtNU2srV0NlamhiS3YyajZoVktVNG8x?=
 =?utf-8?B?ZkZoVWJGT1RVUWpsRmU1N1lIdVprbThwN0ZmdUhoTWJRWlhJNktvdS92ckFN?=
 =?utf-8?B?NkIrOERsVFVoSUU5L016MCtQc016MlFRbERwVzFlL2Q4SWViTnFuWWpVVEFk?=
 =?utf-8?B?N2pQc1RWL2dIOFVhVHF5cXdZbnVzKy8zMDFOdGRNL05wWm54VzEwWmlUcG1B?=
 =?utf-8?B?RDNoc0RCQnk2bTArSW1rRC9sT3pmNHNSUmZBM0ZkMG9xbDh1RkYrWjRJSUU3?=
 =?utf-8?B?aVREQTdwM1NhSHJFeDJTN2hLSW9MeERFL09Xdk8yTXZCL2wzTTZ0YmFHUlNv?=
 =?utf-8?B?cjJKSDA4NHhHZUVnNHlJaWJxUkRWRHplcnREaC9oOXIzZVVnTGpzZVRjR1Jv?=
 =?utf-8?B?eXRaMkZidC9OWW9aUUZ6NUl3akNZd0Mxa2xxSXhYMWorVGZmZGhXZXFnU3cr?=
 =?utf-8?B?TFJaRmxrQUVONzBEdFJOZG96UHhSMHVqNEV1bG9iZGZabnMxc2NRR1NBWFJ3?=
 =?utf-8?B?WXIvVlpKUndxTTVqMlIyQ2tLNnlkZGE0QUFUbVNpQjZRN2FTbW1DelBHVmo3?=
 =?utf-8?B?bXg0N3MvOFNUTVVsQ2VDMHpLYjlxOXN5TmFNN1lTQmxRWjdjbkppd1dtclNu?=
 =?utf-8?B?c2lkZFgvaTJ4alJZbndjNmpWWFdyRHhOY05xREdJMTM5VW4wY0ZPR1k2VnYr?=
 =?utf-8?B?c1d4azBpTVZBcUhWYVFzMXBWQ2NkUzdOcXpYTUk4Y054bjVnWkc5WENvZW0x?=
 =?utf-8?B?d2FkNUQyMVAyWllBK1VUZy9TNEpuNWs1YldIZ2JsaW4vWkxPb0FPVWJvR3Qx?=
 =?utf-8?B?WUdYOWIzb2pDWnhBQVAyUEI1RFRKVVd0RmVISUh4NzliV1hRcXRjOWNFVjNW?=
 =?utf-8?B?UzFrbDNZZ3VscUFtTzh0OUp2VTQ4aGhUVUJwN1RGck5qNTVGRHU0bzBJZ0Zv?=
 =?utf-8?B?U3pyWXIxUXk4WFNwZ1lOYkQwSVpuRjlYSldMcmE0NGNMdGcvRzNDTzluOHJ0?=
 =?utf-8?B?MURFdFZibVJFYm13V2tKaTJZZzROYm5yeXNkbUhBczdRendNVU94RkdJWFBy?=
 =?utf-8?B?ZTY0cm85SzI4STgxNUdmRk1KWE5WNXhhai9zY2xKNlU5azVrYk1jdHIySEhR?=
 =?utf-8?B?SzFaWnM1azM2N1BDa2U4MHpOcFM5NFJjMkhjeTBrRU14N2xrWDhPbERYWlVu?=
 =?utf-8?B?ejhkTGlHR2ZONi9EdkI0aHZyZm1uOFJaR3dSVkZTNjVpNU9GZG41STBKTlRa?=
 =?utf-8?B?dnN2RGtYc0g1ZjAvcUhsNzZWNEw4Wmp2aGhiYStIR1BVeU9YUllreGs0QkNQ?=
 =?utf-8?B?akE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?bEl6cG5kK1pPWFd6UllSN2x5MFBRTFBNQ2d4SXhDT2t2UGYxMzIwcnpMOFE1?=
 =?utf-8?B?U0FZNlFyWDVDRkJ4YUxRZ2lUMWhrZDIzejRsQWdtY0pwVEJkTG1TaWo3WXk5?=
 =?utf-8?B?RHhpMmpOZGdKa3o3Q2h1c3dsVm1uNkVzYmNOUzNGSnVDeTJNMkU5bEw0ck1v?=
 =?utf-8?B?UkZFdW9YVlM5dE9zR3NQanZudG43dHZyTjU5Wlp1Z0RNeHRSNHEwZCt3aDNo?=
 =?utf-8?B?L011MGFuWThWOWUyQThBeHhiKzlKcnFGQTRFa2dIRExuYXlvSWlNWFJuZm1x?=
 =?utf-8?B?R3R6MmVVZVZhTVBzc3RNMDVFYTNkMkNyT0MxVktGS2VPQXZiY2k3RXplVGIv?=
 =?utf-8?B?cEZycUJmMW82UTdTTDkxK0VGaGNWN0lGa0FVMitDRWowUjNUckE5bkk4eWhq?=
 =?utf-8?B?VlJpRzE3MmtyWVVTYW9xeFBteS9jWWlhVEtSV3VybDNva0Q3MEorbWhBUUV5?=
 =?utf-8?B?QXJTWUZWK290amxyYksyNG1vbDFFUlRHRVJIZGtNT2xublQ1V1l2MUFYYzRK?=
 =?utf-8?B?NWZkYjloWnZqRHlQdFVDR2Z5NWsxaTNGb0xLMzUrTmdndFFoQ0x3TzZKS3BJ?=
 =?utf-8?B?YnJ6RE9tdVZoRTZhcU5RQ29DcXlRMytkZjJBTklkVzlaL2VXSVN0Q2NMV0Fl?=
 =?utf-8?B?cWJGeG41aGl5Vnl0TG5JaTFkSEZIVHNqNVdscENvRmR5VEdFWm00ajhMcU9X?=
 =?utf-8?B?UDdZVzZNQWpORHZtWTBTdVBEN081SkhmTVB3N2RtMlluVVkvS21ycXVJWVJF?=
 =?utf-8?B?Zjk5aG54U2diaFRBQTFtS1JlNWdrNjJ2MzNmZmxkWWl2UnYxL0Fqd3VDZlFz?=
 =?utf-8?B?ZXc1YXpjY0hsV1BGR0ZoZHBUMEhnbWtING9zdnBUNnJlVU8wcFlrTm00M2xI?=
 =?utf-8?B?QlZtalhwNW1DakRKTk5MUVUybDNmSkE2Y01naXoxZUplc0UwbEZQdWlqQUNG?=
 =?utf-8?B?U0huVjNXTHFHeVM5bWtXNzdIY3JXRlpwWnlVRnRJRDBkTFNCMTlLcVNmOW9C?=
 =?utf-8?B?WDM0MjhycDBFMCtMMjBvTTZ3SDNLb0FldzhRcFgyMVZSWVdoS0ZOaVBzR0Jx?=
 =?utf-8?B?ZWFFKzRMUjRScXB6bUZhVE8yTWpuaVIxZUpYMDA4cSs5VXZNSmkzWHh3WmdL?=
 =?utf-8?B?Qi9ORXFYb3lMM2JKNjZETkxrd3lrVXVvN29nRHYvSFMvSjYvSEtvNHB3L0NF?=
 =?utf-8?B?Z1hhR3VOT2hEVmZldDFGTE0zdUp5U1J5L0ZyaHJiaDg1eW1lMjV3T0pWc0RR?=
 =?utf-8?B?dGV4QWZCS3NhcTVMVjdyKzg0UW5VOEpQQjVaWXpZdjhqV3RKbjRzd1ZPRTkz?=
 =?utf-8?B?akdEK1NIVWlPMnRGbTVNRzFpU3FibnZqem04eHVIanh2dkdqMjV2SC9ndkE1?=
 =?utf-8?B?NTdXNnV6R1JxS2c9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84561cef-6bc5-46ae-de35-08db26d8a894
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 11:13:38.9458
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qCrppwdKgce+lqRgMb2VDRouDQfowshcjHoxlgUN7y5oIhEd6t6XaKbKhKlolJoNRXe8rzNry5RHa2AQpZxr6pnpt7t5jVat4OZwRQujE7M=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5893

On 15/03/2023 6:54 pm, Dmitry Isaykin wrote:
> diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
> index a43bcf2e92..49225f48a7 100644
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -2939,17 +2939,26 @@ void svm_vmexit_handler(void)
>          break;
>  
>      case VMEXIT_IOIO:
> -        if ( (vmcb->exitinfo1 & (1u<<2)) == 0 )
> +     {
> +        uint16_t port = (vmcb->exitinfo1 >> 16) & 0xFFFF;
> +        int bytes = ((vmcb->exitinfo1 >> 4) & 0x07);
> +        int dir = (vmcb->exitinfo1 & 1) ? IOREQ_READ : IOREQ_WRITE;
> +        bool string_ins = (vmcb->exitinfo1 & (1u<<2));
> +        int rc = hvm_monitor_io(port, bytes, dir, string_ins);
> +        if ( rc < 0 )
> +            goto unexpected_exit_type;
> +        if ( !rc )
>          {
> -            uint16_t port = (vmcb->exitinfo1 >> 16) & 0xFFFF;
> -            int bytes = ((vmcb->exitinfo1 >> 4) & 0x07);
> -            int dir = (vmcb->exitinfo1 & 1) ? IOREQ_READ : IOREQ_WRITE;
> -            if ( handle_pio(port, bytes, dir) )
> -                __update_guest_eip(regs, vmcb->exitinfo2 - vmcb->rip);
> +            if ( !string_ins )
> +            {
> +                if ( handle_pio(port, bytes, dir) )
> +                    __update_guest_eip(regs, vmcb->exitinfo2 - vmcb->rip);
> +            }
> +            else if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
> +                hvm_inject_hw_exception(TRAP_gp_fault, 0);
>          }
> -        else if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
> -            hvm_inject_hw_exception(TRAP_gp_fault, 0);
>          break;
> +    }

There are a few style issues, but it's also a mess because of the manual
exitinfo decoding, so I went ahead and did

https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=df9369154aa010b2322e3f3e0727a242784cfd4f

to clean it up.  The rebased version of this hunk is now:

diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index bfe03316def6..17ac99f6cd56 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2939,6 +2939,15 @@ void svm_vmexit_handler(void)
         break;
 
     case VMEXIT_IOIO:
+        rc = hvm_monitor_io(vmcb->ei.io.port,
+                            vmcb->ei.io.bytes,
+                            vmcb->ei.io.in ? IOREQ_READ : IOREQ_WRITE,
+                            vmcb->ei.io.str);
+        if ( rc < 0 )
+            goto unexpected_exit_type;
+        if ( rc )
+            break;
+
         if ( !vmcb->ei.io.str )
         {
             if ( handle_pio(vmcb->ei.io.port,

which I hope you'll agree is much more simple to follow.

I'm also trying to sort out a similar cleanup on the Intel side, but
haven't managed to post that yet.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 11:16:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 11:16:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511018.789731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd842-0000S0-7d; Fri, 17 Mar 2023 11:16:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511018.789731; Fri, 17 Mar 2023 11: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 1pd842-0000Rr-4S; Fri, 17 Mar 2023 11:16:02 +0000
Received: by outflank-mailman (input) for mailman id 511018;
 Fri, 17 Mar 2023 11:16: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=hL2n=7J=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pd841-00008J-Gl
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 11:16:01 +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 18da0016-c4b5-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 12:16: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 415B41FDDC;
 Fri, 17 Mar 2023 11:16: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 196D313428;
 Fri, 17 Mar 2023 11:16:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ftXABPBLFGTuCwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 17 Mar 2023 11:16: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: 18da0016-c4b5-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679051760; 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=wmNIXjSB6eN0Fkt4tu8jyil8pAFIy60BJceiR3NCVVU=;
	b=UAs4qU9uSRVHyOnB1nwekwXirgg1ajAOBOa3flPRDWp4mKttLBxIXn3RaUflgqlQfxL4d7
	AViNMIszWpeZHWFOlrsWcxg/KFhsk8OmMPbYXnKqwQTBZtGCEXfLHf7ywvcRgvHc6aFqqK
	uhNSKdxKhIRaePT241fqQjz2HQJUoAo=
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 2/2] tools/xl: rework p9 config parsing
Date: Fri, 17 Mar 2023 12:15:46 +0100
Message-Id: <20230317111546.18061-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230317111546.18061-1-jgross@suse.com>
References: <20230317111546.18061-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rework the config parsing of a p9 device to use the
split_string_into_pair() function instead of open coding it.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xl/xl_parse.c | 72 ++++++++++++++++++++++-----------------------
 1 file changed, 35 insertions(+), 37 deletions(-)

diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 2f9dfea05c..715e14f95f 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -2111,54 +2111,52 @@ void parse_config_data(const char *config_source,
 
     if (!xlu_cfg_get_list(config, "p9", &p9devs, 0, 0)) {
         libxl_device_p9 *p9;
-        char *security_model = NULL;
-        char *path = NULL;
-        char *tag = NULL;
-        char *backend = NULL;
-        char *p, *p2, *buf2;
 
         d_config->num_p9s = 0;
         d_config->p9s = NULL;
         while ((buf = xlu_cfg_get_listitem (p9devs, d_config->num_p9s)) != NULL) {
+            libxl_string_list pairs;
+            int len;
+
             p9 = ARRAY_EXTEND_INIT(d_config->p9s,
                                    d_config->num_p9s,
                                    libxl_device_p9_init);
             libxl_device_p9_init(p9);
 
-            buf2 = strdup(buf);
-            p = strtok(buf2, ",");
-            if(p) {
-               do {
-                  while(*p == ' ')
-                     ++p;
-                  if ((p2 = strchr(p, '=')) == NULL)
-                     break;
-                  *p2 = '\0';
-                  if (!strcmp(p, "security_model")) {
-                     security_model = strdup(p2 + 1);
-                  } else if(!strcmp(p, "path")) {
-                     path = strdup(p2 + 1);
-                  } else if(!strcmp(p, "tag")) {
-                     tag = strdup(p2 + 1);
-                  } else if(!strcmp(p, "backend")) {
-                     backend = strdup(p2 + 1);
-                  } else {
-                     fprintf(stderr, "Unknown string `%s' in 9pfs spec\n", p);
-                     exit(1);
-                  }
-               } while ((p = strtok(NULL, ",")) != NULL);
-            }
-            if (!path || !security_model || !tag) {
-               fprintf(stderr, "9pfs spec missing required field!\n");
-               exit(1);
+            split_string_into_string_list(buf, ",", &pairs);
+            len = libxl_string_list_length(&pairs);
+            for (i = 0; i < len; i++) {
+                char *key, *value;
+                int rc;
+
+                rc = split_string_into_pair(pairs[i], "=", &key, &value,
+                                            isspace);
+                if (rc != 0) {
+                    fprintf(stderr, "failed to parse 9pfs configuration: %s",
+                            pairs[i]);
+                    exit(1);
+                }
+
+                if (!strcmp(key, "security_model")) {
+                    replace_string(&p9->security_model, value);
+                } else if (!strcmp(key, "path")) {
+                    replace_string(&p9->path, value);
+                } else if (!strcmp(key, "tag")) {
+                    replace_string(&p9->tag, value);
+                } else if (!strcmp(key, "backend")) {
+                    replace_string(&p9->backend_domname, value);
+                } else {
+                    fprintf(stderr, "Unknown 9pfs parameter '%s'\n", key);
+                    exit(1);
+                }
+                free(key);
+                free(value);
             }
-            free(buf2);
 
-            replace_string(&p9->tag, tag);
-            replace_string(&p9->security_model, security_model);
-            replace_string(&p9->path, path);
-            if (backend)
-                    replace_string(&p9->backend_domname, backend);
+            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 Mar 17 11:16:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 11:16:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511016.789710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd83s-0008K3-Nq; Fri, 17 Mar 2023 11:15:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511016.789710; Fri, 17 Mar 2023 11:15: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 1pd83s-0008Jw-Ku; Fri, 17 Mar 2023 11:15:52 +0000
Received: by outflank-mailman (input) for mailman id 511016;
 Fri, 17 Mar 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=hL2n=7J=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pd83q-0008Jo-Ru
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 11:15: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 1185652a-c4b5-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 12:15: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 B4BDD21A3D;
 Fri, 17 Mar 2023 11:15: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 787E113428;
 Fri, 17 Mar 2023 11:15:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id JEgYG+NLFGSiCwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 17 Mar 2023 11:15:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1185652a-c4b5-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679051747; 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=LRLpdVOFKwWv8snzVbrMxqxD2laV46O+Xpy4PE5WeMM=;
	b=rF6fvJyO1ENos5wgLLsI3T1nwodiS9WYnP3vDRKW3M0s5lu9+FEhqZ15z0imi0pcz3ZwRZ
	5vG7uLkU79gjjFm9W2gv3HOhdTvLN8nuttOwcKgIpSxHf0izKluIPQhVzjELp75DoMjS+q
	Zcfev1dxhAULXyREEq4ZvxBiWGRbGL4=
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 0/2] tools/xl: small cleanup of parsing code
Date: Fri, 17 Mar 2023 12:15:44 +0100
Message-Id: <20230317111546.18061-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

2 small patches cleaning up the parsing code in xl a little bit.

Juergen Gross (2):
  tools/xl: allow split_string_into_pair() to trim values
  tools/xl: rework p9 config parsing

 tools/xl/xl_parse.c | 114 +++++++++++++++++++++-----------------------
 tools/xl/xl_parse.h |   4 +-
 2 files changed, 56 insertions(+), 62 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 11:16:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 11:16:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511017.789721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd83x-00009a-VC; Fri, 17 Mar 2023 11:15:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511017.789721; Fri, 17 Mar 2023 11:15:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd83x-00009S-SW; Fri, 17 Mar 2023 11:15:57 +0000
Received: by outflank-mailman (input) for mailman id 511017;
 Fri, 17 Mar 2023 11:15: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=hL2n=7J=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pd83v-00008J-Oi
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 11:15:55 +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 152d0043-c4b5-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 12:15: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 180CD1FDDC;
 Fri, 17 Mar 2023 11:15: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 E599B13428;
 Fri, 17 Mar 2023 11:15:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id b+SuNulLFGTOCwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 17 Mar 2023 11:15: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: 152d0043-c4b5-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679051754; 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=n3oPmV25/bMhn1KecnqqAe0biDTW2soI213JLeTYovw=;
	b=jD/B6vo9g1NIYhqHk89q5b40spjaLWstlmapBmTYCkxkC7NLfmuoQtjRjQ9Kw29n7DtRxv
	WSw7ezZ6MJpGagISEBkxJ3G4uZxmmNEYNBMPPtgPOfkOfRQTl6E9/9TE2uQF5P5C0iVXos
	V2YVsMLlCrcwDSVW+wGsgO+AP7CN9Zs=
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 1/2] tools/xl: allow split_string_into_pair() to trim values
Date: Fri, 17 Mar 2023 12:15:45 +0100
Message-Id: <20230317111546.18061-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230317111546.18061-1-jgross@suse.com>
References: <20230317111546.18061-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Most use cases of split_string_into_pair() are requiring the returned
strings to be white space trimmed.

In order to avoid the same code pattern multiple times, add a predicate
parameter to split_string_into_pair() which can be specified to call
trim() with that predicate for the string pair returned. Specifying
NULL for the predicate will avoid the call of trim().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xl/xl_parse.c | 42 +++++++++++++++++++-----------------------
 tools/xl/xl_parse.h |  4 ++--
 2 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 853e9f357a..2f9dfea05c 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -646,7 +646,7 @@ static void parse_vnuma_config(const XLU_Config *config,
              conf_count++) {
 
             if (xlu_cfg_value_type(conf_option) == XLU_STRING) {
-                char *buf, *option_untrimmed, *value_untrimmed;
+                char *buf;
                 char *option, *value;
                 unsigned long val;
 
@@ -654,15 +654,12 @@ static void parse_vnuma_config(const XLU_Config *config,
 
                 if (!buf) continue;
 
-                if (split_string_into_pair(buf, "=",
-                                           &option_untrimmed,
-                                           &value_untrimmed)) {
+                if (split_string_into_pair(buf, "=", &option, &value,
+                                           isspace)) {
                     fprintf(stderr, "xl: failed to split \"%s\" into pair\n",
                             buf);
                     exit(EXIT_FAILURE);
                 }
-                trim(isspace, option_untrimmed, &option);
-                trim(isspace, value_untrimmed, &value);
 
                 if (!strcmp("pnode", option)) {
                     val = parse_ulong(value);
@@ -715,8 +712,6 @@ static void parse_vnuma_config(const XLU_Config *config,
                 }
                 free(option);
                 free(value);
-                free(option_untrimmed);
-                free(value_untrimmed);
             }
         }
     }
@@ -838,7 +833,7 @@ int parse_vdispl_config(libxl_device_vdispl *vdispl, char *token)
 
             rc = split_string_into_pair(connectors[i], ":",
                                         &vdispl->connectors[i].unique_id,
-                                        &resolution);
+                                        &resolution, NULL);
 
             rc= sscanf(resolution, "%ux%u", &vdispl->connectors[i].width,
                        &vdispl->connectors[i].height);
@@ -2292,18 +2287,15 @@ void parse_config_data(const char *config_source,
             split_string_into_string_list(buf, ",", &pairs);
             len = libxl_string_list_length(&pairs);
             for (i = 0; i < len; i++) {
-                char *key, *key_untrimmed, *value, *value_untrimmed;
+                char *key, *value;
                 int rc;
-                rc = split_string_into_pair(pairs[i], "=",
-                                            &key_untrimmed,
-                                            &value_untrimmed);
+                rc = split_string_into_pair(pairs[i], "=", &key, &value,
+                                            isspace);
                 if (rc != 0) {
                     fprintf(stderr, "failed to parse channel configuration: %s",
                             pairs[i]);
                     exit(1);
                 }
-                trim(isspace, key_untrimmed, &key);
-                trim(isspace, value_untrimmed, &value);
 
                 if (!strcmp(key, "backend")) {
                     replace_string(&chn->backend_domname, value);
@@ -2326,9 +2318,7 @@ void parse_config_data(const char *config_source,
                                   " ignoring\n", key);
                 }
                 free(key);
-                free(key_untrimmed);
                 free(value);
-                free(value_untrimmed);
             }
             switch (chn->connection) {
             case LIBXL_CHANNEL_CONNECTION_UNKNOWN:
@@ -2952,10 +2942,8 @@ void trim(char_predicate_t predicate, const char *input, char **output)
     *output = result;
 }
 
-int split_string_into_pair(const char *str,
-                           const char *delim,
-                           char **a,
-                           char **b)
+int split_string_into_pair(const char *str, const char *delim,
+                           char **a, char **b, char_predicate_t predicate)
 {
     char *s, *p, *saveptr, *aa = NULL, *bb = NULL;
     int rc = 0;
@@ -2967,13 +2955,21 @@ int split_string_into_pair(const char *str,
         rc = ERROR_INVAL;
         goto out;
     }
-    aa = xstrdup(p);
+    if (predicate) {
+        trim(predicate, p, &aa);
+    } else {
+        aa = xstrdup(p);
+    }
     p = strtok_r(NULL, delim, &saveptr);
     if (p == NULL) {
         rc = ERROR_INVAL;
         goto out;
     }
-    bb = xstrdup(p);
+    if (predicate) {
+        trim(predicate, p, &bb);
+    } else {
+        bb = xstrdup(p);
+    }
 
     *a = aa;
     aa = NULL;
diff --git a/tools/xl/xl_parse.h b/tools/xl/xl_parse.h
index bab2861f8c..ab35c68545 100644
--- a/tools/xl/xl_parse.h
+++ b/tools/xl/xl_parse.h
@@ -45,14 +45,14 @@ int match_option_size(const char *prefix, size_t len,
 
 void split_string_into_string_list(const char *str, const char *delim,
                                    libxl_string_list *psl);
-int split_string_into_pair(const char *str, const char *delim,
-                           char **a, char **b);
 void replace_string(char **str, const char *val);
 
 /* NB: this follows the interface used by <ctype.h>. See 'man 3 ctype'
    and look for CTYPE in libxl_internal.h */
 typedef int (*char_predicate_t)(const int c);
 void trim(char_predicate_t predicate, const char *input, char **output);
+int split_string_into_pair(const char *str, const char *delim,
+                           char **a, char **b, char_predicate_t predicate);
 
 const char *get_action_on_shutdown_name(libxl_action_on_shutdown a);
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 11:22:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 11:22:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511026.789741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd8A5-0002q2-0l; Fri, 17 Mar 2023 11:22:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511026.789741; Fri, 17 Mar 2023 11:22: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 1pd8A4-0002pv-Ty; Fri, 17 Mar 2023 11:22:16 +0000
Received: by outflank-mailman (input) for mailman id 511026;
 Fri, 17 Mar 2023 11: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=001K=7J=citrix.com=prvs=433d55c46=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pd8A3-0002pp-VU
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 11:22: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 f60bb5bd-c4b5-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 12:22:14 +0100 (CET)
Received: from mail-dm6nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 07:22:10 -0400
Received: from PH0PR03MB6368.namprd03.prod.outlook.com (2603:10b6:510:aa::21)
 by BY5PR03MB5186.namprd03.prod.outlook.com (2603:10b6:a03:221::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 11:22:09 +0000
Received: from PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034]) by PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034%5]) with mapi id 15.20.6178.019; Fri, 17 Mar 2023
 11:22:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f60bb5bd-c4b5-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679052134;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=zWtoWGKf1s5GeK5rcZmzJKQx7I/oVgRaIOnaXDTLpVs=;
  b=iZgoh8vC13KsKs5Ymy/fh1beAr0zAA4j9p+34m/bzMfNLCZe1dGiIwxR
   Ov3I0JvmNVDOcDk1QU8uM4fKKNCr5tZ0l5wbvB9iMyXgWxTHxopmbMNkt
   hQLnyz1JVaPmhd89TLqHyp7Tokop7haPcruefBaqwUwaY1/1smPLE9owa
   k=;
X-IronPort-RemoteIP: 104.47.58.108
X-IronPort-MID: 103675583
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:025k8qqdiFDOx4X+O2Of5964nmheBmI+ZBIvgKrLsJaIsI4StFCzt
 garIBnSafqMYDT9e4tzadnk9R5Q7JPTnN8wSwpo/yFgRioVpZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFziZNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAA0MaDeNgciI+/GqZO1ihdx/N8rlOapK7xmMzRmBZRonabbqZvySoPN9gnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeiraYKFEjCJbZw9ckKwv
 GXJ8n6/GhgHHNee1SCE4jSngeqncSbTAdpJSuLlq64x6LGV7lcsJwYKRQSxmL6apWqAUNsBA
 WY7+xN7+MDe82TuFLERRSaQglSJoxodUNp4CPAh5UeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq16bO8vT60fy8PIgc/iTQsSAIE55zvpd81hxeWFtJ7Svft3pvyBC36x
 C2MoG4mnbIPgMUX1qK9u1fanzaroZuPRQkwjunKYl+YAspCTNbNT+SVBZLztJ6s8K7xooG9g
 UU5
IronPort-HdrOrdr: A9a23:Sm4p2aBlG7IWCQjlHemE55DYdb4zR+YMi2TDtnofdfUxSKelfq
 +V7ZMmPHPP6Qr5IUtQ/OxoW5PvfZqjz+8Q3WBLB8bAYOCOggLBRuwP0WKI+V3d8kPFh5ZgPI
 5bAspDIey1IV9mjdvrpCmUeuxQu+VvKZrY49s2GU0dND1XVw==
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="103675583"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F2n+JjgEty4B8g5k4YBRFalRWeJKo541aJGEMZ0c5hHvsx06yFcE9U9QhaQs+MLE5AWvoEAloIoBJunH99QVA8w5L8IAB8qvtPe1gZY/7F3/jQDmi3wwOlHSUjzqfoFnkJTAY79jYQHc1e2TLGPR4MtCNUjqJHZi9hj9LliQR/G12odIctguogO/js2uCA8SBbtv0IKqCfcWW3sDU1kh2YhmDxwoZAqfzJv1JU4tgIRg4Lhq2/20/n+AQXBO8S+2T2ySxjI7kivRP+wU5ktM/6rMCGeCTe3YynWXxZ6ghd9Ex3p/+sb9PIWNS4ZpPs63CYPEgHkviPbkFi07faiE3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hiYJ88ZehW1O6dwzd4w0giCq3y8ClsIgYxMoxB1sKX0=;
 b=aoi0o+nT6KPqNWy8KRLnFwMnveD5hgcjtcQQvPp7KJJRO7N8wTD6wBMvZe2kKUuOsVwtKxupYZdftFhgHzo3TUn3llsJofuOpgTSsfjGe3mZTFEClDzXDdo3lxKtatLlifx/wX3yffMtceiZ0gceH86k26p4c1b/r40gnEiMwUyKEoH9pvTEcmQ3BKdjx60oAv8bur/rNXYDe9+YhMoZW6IKc3JlQVVlVdT4oCxH1+6rncRdwz3YHlIC2sCVqjeJFzVVy7BAltj+6YCNF/pOT5bBKbjJhDOgJH9wJQSj45TIicqQA8WjUzdtySLMoBZs9qkp7sQssBxq43vVatzRrg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hiYJ88ZehW1O6dwzd4w0giCq3y8ClsIgYxMoxB1sKX0=;
 b=QRokwL1jyRbg6p1lnDBeOta1lmHVCMulP+wWBIL0Z8b3VF3hiQg96tC1CCHf23O29cy6utEp0/CtLlSuHY95MBMEdwmPy67MmKsYX8UD4CnuEwOL/19bNTb4rHkm9NQinNxn9pPEYYyRpEuS5mIKQQt/cnbnwreRlHx+omw6QFU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Mar 2023 12:22:02 +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 v2] x86: use POPCNT for hweight<N>() when available
Message-ID: <ZBRNWhExetXH1OaS@Air-de-Roger>
References: <55a4a24d-7fac-527c-6bcf-8d689136bac2@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <55a4a24d-7fac-527c-6bcf-8d689136bac2@suse.com>
X-ClientProxiedBy: LO4P265CA0142.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c4::16) To PH0PR03MB6368.namprd03.prod.outlook.com
 (2603:10b6:510:aa::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR03MB6368:EE_|BY5PR03MB5186:EE_
X-MS-Office365-Filtering-Correlation-Id: 75f60a2f-e2ec-4782-c10f-08db26d9d86e
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WwDTnScVNofIyMDBglx1qKHFeSrswmFOCFOuAeErvxDz7swIoOjIkKvmp7FFmoVW4H52toy5Wa/TjAAwSR5STospkzAPteYzyVxzKuHl/t9ii+2i/GrYEzQ2O+V/ttZ6PrhdsC3F5m3x2sK9SJUw4XZXpkFDAqILITpHlTdbkl3XreM0cpt6ugDXu8JVPU5lyjIBTZbGwnJnZ9lRiWaBK63KsLkItjIYCU/PF2xLAErG2rmaTkszIN2EEQSK0b5F0p4gR1B/UjORexey6p+fB1b+ENe598jkMFk+hOrbBg7v2Cp63uZManUSFesOPfZ1vojqvfz0wjDeOcuINC1SpEMDRMY5BD+9CBTTxdbVXRAF3DhIw3Fuqj0Q8PzjFxCY5VX9jQR6Fu6B7ZplI/a7xk3vTWODG+uXVdQ+1ozxV2PXKCUKK5AnURv82Jqyf8+c1sU7VnFRq+JYzifCZIVfpOinvD9XbAx70MuAyjXP4hL5gK1lJM0R988Au4tSfqFktYGnk55ZrMqhNDv6wN3xFfrD6Ccr56W7I1IjxJK9oaYjz/fPono4lM/voRr8md5O7cbfAgT2nt2mXRpxp3tgf0b3RZUzbbnHXv2qBygbMsdzbaEmPAURvC2lByzJyzs9cGlYnMrmHioiHRf1tXjPDQ4C6zCwSr8h8BN02N34+UNBusCBcnsaMGWgxeFQJdnGfA6I7YdjJ+UFwByHD77rmg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6368.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(376002)(396003)(366004)(346002)(39860400002)(136003)(451199018)(4744005)(8936002)(66556008)(33716001)(6916009)(8676002)(66946007)(2906002)(66476007)(41300700001)(4326008)(85182001)(38100700002)(5660300002)(82960400001)(186003)(9686003)(6512007)(26005)(6506007)(6666004)(6486002)(86362001)(54906003)(478600001)(316002)(16393002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RW95blFBTnR1cm5IUktPK1BaTUdHOW9Dd3hrcEFMbHNZcjAvZXp2bGVNQmo0?=
 =?utf-8?B?aTkwdG5MQ1JKeE03aEw5Z3hKU3o5cEpTbGNNTnNlWnE0Qk5EbDlIQnBkTXBq?=
 =?utf-8?B?T0VoM0lxeTRMYWtNb2k4ZGI4ZVFmSjVFWGgzYnFCK09VdG1yQUhrUk5QcU43?=
 =?utf-8?B?RitUVk1CL2gwQUNURnBCekNjeGtDelBhTUU0cFBhQ2JhUDRsT0hUNDVjelFp?=
 =?utf-8?B?bStoc3ZDa3BLTFFyL3VaVC9SOFZNb3FRV0NseWg4ZEtRazB5bVNISkE5b1RL?=
 =?utf-8?B?dy8vallaNlo1VGxOYWxnZFhteC81OFZaN1JjYnE2SnIraVNsSncwTGdnWlhK?=
 =?utf-8?B?ZHhrNjkwcE00WnJkaEIzT3k0NTI5dFU3TmtCOWlac0VWVzRabUlKOVBSVmpF?=
 =?utf-8?B?LzNHSnBMb1RDZXE1VG1VOXo3Tm9EUW8ySGFQRENNNjBWWGFqeklaaFhDQitD?=
 =?utf-8?B?RTRPSzVjWWdBNGZqOTFyNXpjL0taMUxMdkM1V1owaFFFYWUwT1duUitNNUZr?=
 =?utf-8?B?VGhMUThwNDViTmR0V0lNSHpwUEJLaVBjQ0lNUlJTaDYxN21lMURIKzZqNzBU?=
 =?utf-8?B?RHNna1hlU0ZBdllyeXhBblhxWnFNRmgvVm42dzhBYU1sUW9VN0wza1MrTncx?=
 =?utf-8?B?aUI2SDZnbkgvbDZNaTM3ZVd5TXhqeURZZzQvUXIzS25OTkxKbVVDNE03RW1H?=
 =?utf-8?B?bjVUMkZnMzRkTENIUDcwYUU1Ry9qdUZiZlpnR1g3clNObHUxUWlLV3pza1M0?=
 =?utf-8?B?STNvTVNMWkpkNVp4UTFHdC9EcWQwamd3U29tNzV1VHBFT1RXanZFUWZ2dThk?=
 =?utf-8?B?b0h4SmpzNFArYkJUanMvblMxTGNxMVBabERPdVJWcEZ0U2crY2xPbHFHTE5W?=
 =?utf-8?B?MmFVdnBkbTdkckhqYmhWcWxGUjU3OEtOUUROYzQ5UTlUZ2x6NGRpOUg3dG9N?=
 =?utf-8?B?b1lZeTVtdWR0K3F6VEt4U3VvaVc1TjdZRWlrS0RnK2VWSHk2c1ZFcTlOaU1t?=
 =?utf-8?B?K0V4YzlyNlJHZVM3ME9hZDJzR0RPZVovNUVhVFZoQkR2ZitGWHdpb3F5TUd5?=
 =?utf-8?B?QnNEMGZNK25Vc3lXWi9pc3RIdkpCRVRja2ozNkJRZUFLdWtXZXR0NTlIeGZG?=
 =?utf-8?B?MU1qR3pScWRZRjdJRUxPSEJmNFQrMllha1E4MnVyTkJLZitJUWZYd3poTkZ2?=
 =?utf-8?B?NlJ1bDJWbVZKamtuSlJCRGl5eENFNjhKNGdhaDhPbnl4elYzZklhRDhZK2dW?=
 =?utf-8?B?MHNlMjFpdTlpTTVuZksva2cyU2NsVTdRaEUwelhGR2dxZEJkdHp2ektYV2tZ?=
 =?utf-8?B?TTBZSkI5ZHVWY3IwRG5FRTExK1kzTW5KN0NBNEJPaXdWS0J6dEZuenFXK2tB?=
 =?utf-8?B?TVcyNHRERnpUMTQ3cnhCTFhCbTlleUJkRXhWNE55T1FDZ0NuVTZ2WG9mVmpm?=
 =?utf-8?B?MnhjeFJXS2RjU0xLVzNTa25ncUp5NXd5ajZPa3JXQmp6Wi9sOFdzSnBIYUhi?=
 =?utf-8?B?WEZVM2QrVlozb1RMeFlyVVFDT1ZwZnUycXdwN1Baa0xFODF6Sm90NTlmR0ho?=
 =?utf-8?B?M3E5MitydU1DUGFCRFB1amxib2hwOTZXSDByV0ZsczJKQkFWR052V05KU2Z2?=
 =?utf-8?B?ejI3akhjMHk2bHd5ZEt6UmdWVlQxWHgwWXBaOGxLWXQwZWt5bzlFNUx1SU9J?=
 =?utf-8?B?WDNHbFVtTkVZbnh3ZWc0aEtGZVl3UDJ3RkxHY1pKNE9FZnVWMUlVZTdaQUdh?=
 =?utf-8?B?Q2NIRWIvUENVZW1KRGpoTytqSTYzL1ZLVGI3Y3pKTUlranRCTHhmdDdaTGly?=
 =?utf-8?B?Y21hQVJ4S21SU3NZWFZYaHBEM3YvSkNuYWRQU3ZqN0NQZUE1OEdQU2VnUTM2?=
 =?utf-8?B?SFk5cm95Rzk1cHBhK0d5MXcwQnJFaHo5VGUrN21QRlBPTzd0c0NRdFlnckdT?=
 =?utf-8?B?ZEdkVG9ucDRjTytvTE95bkNVcWNPMFBEMG1KRld0aitGU3IvVVdFMjdwTUlW?=
 =?utf-8?B?S0pFYlhKZ2xrVUlJdG9nRkxMdXJxWUl6Yyt3bnR0eXpnL1RBaDFORFNzTDNF?=
 =?utf-8?B?dWUrTzJoOXBub2hMSjJJZ0ErUDlLa0RJZlBNVk1HU2FXc2VuNDAwQUpzNDJH?=
 =?utf-8?B?QlpDcjdLU0IyN0hMU1NrSHlocHNseTl6bkVCUnJua0laSUVac2hwc1VQSDla?=
 =?utf-8?B?RFE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	CYIdwQeYFgNwT+9zI9MSXQy5xwFK5lNkmHb0KmqWPb63Hb5UoiRJM/4SaGZp1QKqNfNpnpnkLgu+rsxudtCfaWYqOyibHuhtmv30LSj5mUqRQv8afYE2iySQkotDJ/g2YwkX8mqn6oUpEGHcrZgbv4T01MyU2yIuakmCbuajrQ3wV6+eZrkT7qp6Ni9vqUP1CtkastvQqQ1Jrf9o1JlQHkq44JLMcv0ucAsbw/YAo06QJVUhHH5midBHUaOoJP9N7UBX7GAuHiUi+zn9yCxtNR9RWKh3/1/0sgkF90rG99ufsHTnBkZ0hX+hGEMdRMvt88c/GhGq29Rq/ZVhPsnJZvOt4qlkhdt1jD74VhgF0EqAikGc89A+2Zjc1T6GrYqW4pmzDbmwUbyfl322/2+aCd1CohT98n/R1e+hzTwtEzdPD/DAuuqgSNmIybtnmSs5hhy93pqGBRnpnA3KB+ZW7gFOKtIiXT9DESfq8+XYH2crqFh5BxwDHBQL9xzkkdJZ5y4OhzOdFKSTnOairt0lMB/A7nkbR9TjwVYpHmkdrf5BMV7y0O+DW07VULt6/svakWWIFWKwLD1ElVC+VYwgys8hN1uTOFPgTFvtJvv9IkJ5kuCOCA9ZGkRT86ZuxS/3L58ZGHleXtG3/FWHZXRdcudwIMDgoRR8PEpve48feIDgjaZrpbTKyrCnqnQtiSTfIrH49T9S+unLgp7OV9Cz0p5KfSu88xvVFehLkvaZCqiX5vksjdwuriTuulCuJqG3ChVyk55kzoC+Z3v2UHuYhgHveJdKYyezcda1Jnqkcon43KPtq9eySDPJIWshYf5L5HYbarrBE5Q3LZBePdqdyA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 75f60a2f-e2ec-4782-c10f-08db26d9d86e
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6368.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 11:22:08.7858
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tFBSE54+p0lRsD9j+7TdLTwBFSqmNewvg4DpwD6oM4bCtagNLICEv5tQRtiG7jXH463HF6+se0+UqcAsY/OP+w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5186

On Mon, Jul 15, 2019 at 02:39:04PM +0000, Jan Beulich wrote:
> This is faster than using the software implementation, and the insn is
> available on all half-way recent hardware. Therefore convert
> generic_hweight<N>() to out-of-line functions (without affecting Arm)
> and use alternatives patching to replace the function calls.
> 
> Note that the approach doesn#t work for clang, due to it not recognizing
> -ffixed-*.

I've been giving this a look, and I wonder if it would be fine to
simply push and pop the scratch registers in the 'call' path of the
alternative, as that won't require any specific compiler option.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 11:40:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 11:40:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511029.789754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd8Qy-00058I-Jw; Fri, 17 Mar 2023 11:39:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511029.789754; Fri, 17 Mar 2023 11: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 1pd8Qy-00058B-Fh; Fri, 17 Mar 2023 11:39:44 +0000
Received: by outflank-mailman (input) for mailman id 511029;
 Fri, 17 Mar 2023 11:39: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=001K=7J=citrix.com=prvs=433d55c46=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pd8Qw-000582-Le
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 11:39:42 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6564c0a1-c4b8-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 12:39:38 +0100 (CET)
Received: from mail-dm3nam02lp2041.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.41])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 07:39:36 -0400
Received: from PH0PR03MB6368.namprd03.prod.outlook.com (2603:10b6:510:aa::21)
 by BN9PR03MB6140.namprd03.prod.outlook.com (2603:10b6:408:11d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.33; Fri, 17 Mar
 2023 11:39:34 +0000
Received: from PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034]) by PH0PR03MB6368.namprd03.prod.outlook.com
 ([fe80::4fdc:e60c:b790:d034%5]) with mapi id 15.20.6178.019; Fri, 17 Mar 2023
 11:39: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: 6564c0a1-c4b8-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679053178;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=Xv9YrKj4u1VRjToCOtG1kqK6GEiN+Yn4+GH+o5txc0k=;
  b=h4yF3G2/ToqYpMUOp8ZHC0XZOipeODHp0ZJnKCckqhPI7hs/7EC7gBhs
   dIhu+H+bWP1uETs863XQYFafBjVAo9HypC21Gzr9hiOTVBia088H1OYVe
   jJXA7KhJCrLuFLgeWf/Ealm0advIKuHeJRs7JrAuKpfk05+Jtz2fQj6V4
   4=;
X-IronPort-RemoteIP: 104.47.56.41
X-IronPort-MID: 103677361
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:jNEbEa5j0PoZo9w2jTpbfwxRtB/GchMFZxGqfqrLsTDasY5as4F+v
 mZMXz/SOPiNZWX3ct90ao7j80NXvpLWmoVgGwU4rCs1Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS4weH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m7
 scXOhcWMAu/v9mS7K+1Fe1sgJ15M5y+VG8fkikIITDxK98DGcqGb4CRoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkkotidABM/KMEjCObd9SkUuC4
 HrP4kzyAw0ANczZwj2Amp6prraXxn2kB9lMTdVU8NY1gWG2xS8OFyYnD1W+j+H+0l7gRIxmf
 hl8Fi0G6PJaGFaQZtv3UgC8oXWElgUBQNcWGOo/gCmdx6yR7wuHC2wsSj9adMdgpMIwXSYt1
 FKCg5XuHzMHmKKRYWKQ8PGTtzzaBMQOBWoLZCtBQQ5e5dDm+Ns3lkiXEo8lF7OphNroHz222
 yqNsCU1m7QUi4gMyrm/+lfExTmro/AlUzII2+keZUr9hisRWWJvT9bABYTzhRqYELukcw==
IronPort-HdrOrdr: A9a23:BrBRxqEylTbtXXhopLqE/8eALOsnbusQ8zAXPidKOH9om62j9/
 xG+c5xvyMc5wx+ZJheo6HkBEDtex/hHP1OjLX5X43SPjUO0VHARL2KhrGC/9SPIULDH+dmpM
 NdT5Q=
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="103677361"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SqM7/3sSxRmhxG9WA1BKCz7u1/zrKlJVDsxGc7zI4Ggqo/2vBGtk5i0k2BftAmrOgPP8+1USuQpLtQW8FnNGIJE557gidUitkcCFVp7f/lQDAbyoODZWNTbaBhUYe8SRcUQstFAfM3cmSJ9qUvg43y+Va0GibYHFasvNBSZDh93/J+E3DsUVxOWeABpgCXE6nZyVTQfKXPz4WzrV+jrTLCZJvFg6U4ER0/1cpgnJxpBHRte84pVqJjlI+J3ZW6YKm/2x1coTyJzLK0iMvg4Evq1bZU6fzsBwjSV2xpbZEqOZN/SBvgyKaUtNeeB76R+ZnL+ppUzj5AXLabntJNT/wg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2CN/U6peCy/NQ2yC9yvS3dcjZwCd2I8QnDHb1phSuEY=;
 b=acCswp9nAosH5gHKhLIMfixGVte+p+ZZnM0F8rUtOTuYmKHzAde8IBThIPL4AnylNNIwZKeo4S4fJkuwy6d6GYryCGZ8NKIZYLxhpBajzcUgV0JAdhvUW+WBG7R3VxqpmT3WJ8KOPM46U1xclv81DBjGjO6Sam4AdbWarT6kxAL5I51FwSxjrsGRKAolQ5ryIFNhYGgtvaCJknoOwYKgmodjoJROrfDw4jxz2iItQzlcr/bCj5l/4zcgLZ4/v+qYrW9Rll5H5n7YP5jq+6Azr4rxNqnnn1gILpn93h1CjKiQG7lmvb0OT4689rUeUX6bQ4vJ/h64jyW8GaG3ryNnNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2CN/U6peCy/NQ2yC9yvS3dcjZwCd2I8QnDHb1phSuEY=;
 b=woEIX9dTLfe9NTxgGEfIeTeFM7sFhzvTsevab3T7qW2zmZp5rNrUEo7p9cvLd9ZmoLDPTSQLC5a9ApDJ8MmlHIflVu7FsM92TiyFyNmo3JwgEo30AutTEdwTPAuTlK64deoF1Zd86Chcu7yaPT0/RuZD5f6TYC76XB3yYQEYZTs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Mar 2023 12:39:26 +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" <xen-devel@lists.xenproject.org>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86: extend coverage of HLE "bad page" workaround
Message-ID: <ZBRRbnBjWHXAM1ug@Air-de-Roger>
References: <b238f66d-37a9-3080-4f2b-90225ea17102@suse.com>
 <424d1b72-5eb6-f2bc-20fe-e59bacda8dd9@citrix.com>
 <c27d838e-0331-3cab-25bf-dd16b4645152@suse.com>
 <2c0ff1f3-ee0c-6d14-a51c-d82b65338005@citrix.com>
 <0df22405-bda8-8f4d-63b4-e9c4d57843b1@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0df22405-bda8-8f4d-63b4-e9c4d57843b1@suse.com>
X-ClientProxiedBy: LO2P265CA0429.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a0::33) To PH0PR03MB6368.namprd03.prod.outlook.com
 (2603:10b6:510:aa::21)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH0PR03MB6368:EE_|BN9PR03MB6140:EE_
X-MS-Office365-Filtering-Correlation-Id: 309f4d8c-4318-40a0-9881-08db26dc476f
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kMHT73D+//2FQQ73JOZw0Ri9oRyj0YEqUBPk3yxlpnDNmezj5SyTiCI96Om5LoVFwtY2Xco23dKmeHqwB1wAykzfp5gu2oFfLHsAY403iXM/cPUcyKioBrc13ej+XvKg7+vXgeI/UqP9/1LBjpkJPS8SOdjdE0JLOzNgVRwjfLdjV17Qrf9ePwM6z4sp0zICmhgFFdrcQStE4fnGPHrMyXSFjEtjVDiYtfpk2vdYwnDy5AE8QNlL9MOxiGOMd3kghbQFbSeYnuMrwDLLCmoMvUJ9ApfppjN/ugQ1g2GJGzRuX6qzf+hd6ks0nRGcahHfj0cHIIUyC7PayLYnBHP63ep4gOiRD1INpiwdXSbM6n9K94Uxcjun23DkUtIBt4grgkCRQ0vsct/AjSbrfv1JAyOHa3g+xjeSOZsp7NBbVMipwgVqoEMbLg0qlze3gvwAfjUH28992ziPAJPw4IV9l1kqNZwbuTnKl/nL6lMvUO8FZvyPx5cu0QOdWW+kpzrqJz+Uu8f3uvLR9rHkDiGkjRQWNb+rh20TjjX1a0KvSzsGUIRQhyw9pBMA9HnsBjU/oEbzM1GRYJkQQAIJ7R+EJgDyJbPugi48Ygd4JTAkQsyhruInauGz+dr1QLT8Qu35UxNorG+gy9o4kzPbGs89Gw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR03MB6368.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(346002)(366004)(136003)(376002)(39860400002)(396003)(451199018)(6506007)(53546011)(9686003)(6512007)(6666004)(6486002)(316002)(478600001)(66476007)(26005)(66946007)(186003)(4326008)(54906003)(66556008)(8676002)(6916009)(83380400001)(5660300002)(2906002)(8936002)(82960400001)(41300700001)(38100700002)(33716001)(86362001)(85182001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VDBGWG9ZaWxOdTVPeTdWRFJGR2lsQkVNNDJTWWkxRGRhZ2gvL082NW9Wc0lw?=
 =?utf-8?B?Zkh6Q0xZVWxLYWNRVFZ0bXhGbXN4a2wxMzNURjlhbG5IMWRyeHp4Q3BqMkNu?=
 =?utf-8?B?UThuNDl2d2szZUtyd09mdnoyRnlpSFNFQ05nTnp6emtBMFJrSUY1ejNlOEdU?=
 =?utf-8?B?a21QcEhMVDhzTFNwV3M3SXJHdVlQTTNPVUhwdkxrdFgyRGdxcmUyNnd4Umc3?=
 =?utf-8?B?RXhOKy9TMmpsU3FQYVBPRkQ1Tk5oWTg1SzNqNHhVNFJCSmdZRHp4T2h2cE0z?=
 =?utf-8?B?UDRXZGFCRU51ejJrVmJBUHF0MDIzdytoejlGeWNzTm1Ydy80M3NENmZhOC9t?=
 =?utf-8?B?QkVFdmRoM1ZyZVBHRS94K1pEUDVuaC9qNE00M2I4ZWJOdzFYTkRHcDBZb2Y0?=
 =?utf-8?B?andrWmZWK2FTU1RaeUxrclp0WXR1RVJ0c1JKZWhIUGc1QU5qb2JPVDlnckZu?=
 =?utf-8?B?RXRSaGNwRjFVOG9jTEtYMlRkVDNLeVJsQ0RENEcxOEpJOTRiYjBDTW1TaGRs?=
 =?utf-8?B?QTlIdGpFOE9keGJ4eFFVVk1lN09vRWwvTW1qeEozWFVpMEVBWXVaMDBXUERj?=
 =?utf-8?B?bzA1WGJLUHVvR1pRKzVUL2xmTnEyb2tUS0tGbytGaWtRZ1dNTytyMDNZT1FP?=
 =?utf-8?B?WHRmYVdBeEZoZEZxdGkrZXlCdGJ0cDJSZDl1TEI2SkRaazVhVjVrdDhnTTNU?=
 =?utf-8?B?anVtSi8yQ0lRcUhQYVlZWWc3Z3d2L3RjRkFtbFdWOFBBQWFTT0o5TS9RNFpr?=
 =?utf-8?B?UTRRK1crK3d4T0dTMzdzUkpvSG1mbXJKM1N1aFIzR3h4ZUZWbFdrb2xKck5n?=
 =?utf-8?B?RTlHNmN5c01uaXN3VkdUSFJidUwyVmdydFNEZG9hZFpKVC92SXF2YUFzQjNB?=
 =?utf-8?B?MnpZQ0VRbm1vWDA5TTlNeTJHRU54MnVwY3VJQ1BROHhNZjhBdzhGMzJGWGtl?=
 =?utf-8?B?VW5nV3Zxb1Y3WDN2ejhqTy96czNCNUNtaElmSTM2bkNhTVE2b09xU1hINHcw?=
 =?utf-8?B?Ykt0bXBtby9nUTlnOEdGTEJOYzBPenZqT0s3SGpuNWxyTGdBZzJPQ3k4cVU1?=
 =?utf-8?B?amxIbEZUcGxkL0pjSlRNTWJGckFGUCtKZDFsYmozaXJDVXF4eFFyRnNSeHE3?=
 =?utf-8?B?QzFyZmtxYWR2L0xJYU50a1NwSU1kZXVCbHA1TFEySXo3ZFVNQ3o5OXlNcmI2?=
 =?utf-8?B?Z3NVVS9RWTFZRXFoQnB4bE1VWkNXTEQ1d3pIQ2pJL1Vma0JKRERpOUVYWjJi?=
 =?utf-8?B?ak1PTnN3S2g0b3ZhUW5VOXVzN3JEY3Jmd3UvazFrMmxER0hjSk5UTzlpdlVV?=
 =?utf-8?B?VDdRNndBVW1Tajl3anNqR3k1MEN5enpPQXRSSXlaMGRwcko1d1BBVGJjcHVx?=
 =?utf-8?B?ckt5UjlrQU9TSXNXSDJ6azFNZ1IyVE1JbFVmVWYrblZaNFJpNU93SE1mTVp6?=
 =?utf-8?B?cDVKY091NDlnWm44bnAwS3FCRTNueUMxWUVSQTdXcFo2VXFQZ0FVOWgxYnR6?=
 =?utf-8?B?QlVsWEpWLzZxWklpTS83Rjl4NTNsUFV4TFJhNWdJdlJGM0pscnZNZHpDNVBT?=
 =?utf-8?B?czNOZVRCalZFUGljU045emd6STRmeWh2UDZGNVJQcWxudGFpbVV6aFR3NUQ0?=
 =?utf-8?B?SmxmeTc4OTk1aktPY1dxa3ZEYWZGL3VINmNpaUJSOG5lZlRrOXJBOExUVGFl?=
 =?utf-8?B?dmdXYnBtL0dWMVJ2c1EvRXk5UndpSGZ0TDhmSXBrcWxkLzVqVnZMREdzYk5J?=
 =?utf-8?B?SGVVTWN2UTV4Vjhya1BKaGRFNEhqUkJUcTV3NVFWclBCT0FvZWNwZm1KWWk1?=
 =?utf-8?B?OWUvek9pcHJ1dHNPdzZTM1JjMVNwajdiSlNHZ0tiaS93bWFxeDhJRTQ1c1JF?=
 =?utf-8?B?QXlERXdXSHc3emlVNlRTaUlhb0dDbEZaaTJFUXhuL05OWVlFa2h4VzBTT0tI?=
 =?utf-8?B?aGtJM3l6bzJUZDk1RDBFdGlBS0x1ZXFtQk9jTGl1dGlWcDJ2dGlzQzMraVdt?=
 =?utf-8?B?WWdTSmUzMHduTEEwaEZUWk9Gdm81TGxXYnlVODUwdU5XU3RxeFh3UVlISTg1?=
 =?utf-8?B?TGRaZXYxVk9ycVRvTXBRQm1YRENBaFlnTFFjYVA0OThTMUFtRGdGZGVFOXIw?=
 =?utf-8?B?UHpaSlRNeXJQSTlDdjgxRnROUWFiMVAwdi8vUEVLekxLRGFiRHpuL2h4L0VK?=
 =?utf-8?B?NVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	qUXkpdGcn8wi/8l9z4ndmkUhmDTUnlfKaG3+xPSMXuOZsV0Uu8kexeUA2xfQz3SoceKif68MEpXcciy4yItrj4jQ/Q8aXVRQO7IC7zgylsXeBG/q6SPw6vUEsEKk4YkgPNdyqFlqCofORspMt7yLjplpnFSSaaV61/kqg5aw86kk3fBttTcrw5j2qvVD/Ghlq7oP2HjNAwfiyO0ToQdbVrTGr6qiViiJC4hoSuphiNA2GdgWWY8zuH4kzQHzLNzAOe3Qi2LJlqIicKQAi5In7epLT5qVOoqMEmC7C9LKkARXG8H0WJByhdiMNxq+k6NWWtZkesGh9BR3qplce93B6phVIjc89twrxsu5jgH3LEO2Wxbhczk1aK2GBIiOk4IH92Fc2VugKJrpr2vXmzyec10g+SxqFEsXHiKGBVxC4Ix2CvP9GkxP17JyXQQH7804TFKHXvxaAz4+r8NcHM2G66lopEEuKR+F32sNIHCwyZojEh5bxf3dHq6PFgOS0XQa+zTawVYEoCSJEzQOBr2sm+cMotUPYgmF4fI2wkPangsXAmvOnwpY73NfyHVy5Zn3Gv2zzUWBub8ZjuiS3EnThSfbg3rlJflDIUezCdvYVYGSXjgqi7HQK60bw5dHP+38SmOZHcSccAZx8CoD6lDi1HOJjugUbhBD2U0qvoFd/VGZN46wKbJFaKf4voTp6I9ejoe4q6XzvBm1R7LknS4VU5sHxUZU+kI7LpeElWQITJnxEPI3CKRa17JpJT6enrzBqM6mvDq+JcYYUWbXSu5z2SLdSDQnwUHQuce64W4xlb4NqwneVkFWxYrDt8N6gBXAPPFTd6onDotiHwEBRQK0ig==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 309f4d8c-4318-40a0-9881-08db26dc476f
X-MS-Exchange-CrossTenant-AuthSource: PH0PR03MB6368.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 11:39:33.9181
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EVkVZXdxXhxMHuQ/Z/V7YN0GJTVrwSpQ62eEbDz2sRx/kY8EH/KUSwnbMWzLXFVupXezrYVORYMhyBdrQVAH1Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6140

On Tue, May 26, 2020 at 06:40:16PM +0200, Jan Beulich wrote:
> On 26.05.2020 17:01, Andrew Cooper wrote:
> > On 26/05/2020 14:35, Jan Beulich wrote:
> >> On 26.05.2020 13:17, Andrew Cooper wrote:
> >>> On 26/05/2020 07:49, Jan Beulich wrote:
> >>>> Respective Core Gen10 processor lines are affected, too.
> >>>>
> >>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >>>>
> >>>> --- a/xen/arch/x86/mm.c
> >>>> +++ b/xen/arch/x86/mm.c
> >>>> @@ -6045,6 +6045,8 @@ const struct platform_bad_page *__init g
> >>>>      case 0x000506e0: /* errata SKL167 / SKW159 */
> >>>>      case 0x000806e0: /* erratum KBL??? */
> >>>>      case 0x000906e0: /* errata KBL??? / KBW114 / CFW103 */
> >>>> +    case 0x000a0650: /* erratum Core Gen10 U/H/S 101 */
> >>>> +    case 0x000a0660: /* erratum Core Gen10 U/H/S 101 */
> >>> This is marred in complexity.
> >>>
> >>> The enumeration of MSR_TSX_CTRL (from the TAA fix, but architectural
> >>> moving forwards on any TSX-enabled CPU) includes a confirmation that HLE
> >>> no longer exists/works.  This applies to IceLake systems, but possibly
> >>> not their initial release configuration (hence, via a later microcode
> >>> update).
> >>>
> >>> HLE is also disabled in microcode on all older parts for errata reasons,
> >>> so in practice it doesn't exist anywhere now.
> >>>
> >>> I think it is safe to drop this workaround, and this does seem a more
> >>> simple option than encoding which microcode turned HLE off (which sadly
> >>> isn't covered by the spec updates, as even when turned off, HLE is still
> >>> functioning according to its spec of "may speed things up, may do
> >>> nothing"), or the interactions with the CPUID hiding capabilities of
> >>> MSR_TSX_CTRL.
> >> I'm afraid I don't fully follow: For one, does what you say imply HLE is
> >> no longer enumerated in CPUID?
> > 
> > No - sadly not.  For reasons of "not repeating the Haswell/Broadwell
> > microcode fiasco", the HLE bit will continue to exist and be set. 
> > (Although on CascadeLake and later, you can turn it off with MSR_TSX_CTRL.)
> > 
> > It was always a weird CPUID bit.  You were supposed to put
> > XACQUIRE/XRELEASE prefixes on your legacy locking, and it would be a nop
> > on old hardware and go faster on newer hardware.
> > 
> > There is nothing runtime code needs to look at the HLE bit for, except
> > perhaps for UI reporting purposes.
> 
> Do you know of some public Intel doc I could reference for all of this,
> which I would kind of need in the description of a patch ...
> 
> >> But then this
> >> erratum does not have the usual text effectively meaning that an ucode
> >> update is or will be available to address the issue; instead it says
> >> that BIOS or VMM can reserve the respective address range.
> > 
> > This is not surprising at all.  Turning off HLE was an unrelated
> > activity, and I bet the link went unnoticed.
> > 
> >> This - assuming the alternative you describe is indeed viable - then is surely
> >> a much more intrusive workaround than needed. Which I wouldn't assume
> >> they would suggest in such a case.
> > 
> > My suggestion was to drop the workaround, not to complicated it with a
> > microcode revision matrix.
> 
> ... doing this? I don't think I've seen any of this in writing so far,
> except by you. (I don't understand how this reply of yours relates to
> what I was saying about the spec update. I understand what you are
> suggesting. I merely tried to express that I'd have expected Intel to
> point out the much easier workaround, rather than just a pretty involved
> one.) Otherwise, may I suggest you make such a patch, to make sure it
> has an adequate description?

Seeing as there seems to be some data missing to justify the commit -
was has Linux done with those erratas?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 12:03:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 12:03:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511034.789763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd8nx-0000oJ-Jr; Fri, 17 Mar 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 511034.789763; Fri, 17 Mar 2023 12:03: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 1pd8nx-0000oC-HA; Fri, 17 Mar 2023 12:03:29 +0000
Received: by outflank-mailman (input) for mailman id 511034;
 Fri, 17 Mar 2023 12: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=01wX=7J=yandex.ru=isaikin-dmitry@srs-se1.protection.inumbo.net>)
 id 1pd8nw-0000o6-IQ
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 12:03:29 +0000
Received: from forward103o.mail.yandex.net (forward103o.mail.yandex.net
 [37.140.190.177]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8e067cb-c4bb-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 13:03:26 +0100 (CET)
Received: from forward100q.mail.yandex.net (forward100q.mail.yandex.net
 [IPv6:2a02:6b8:c0e:4b:0:640:4012:bb97])
 by forward103o.mail.yandex.net (Yandex) with ESMTP id 7D5AF10ABD14;
 Fri, 17 Mar 2023 15:01:49 +0300 (MSK)
Received: from mail-nwsmtp-smtp-production-main-68.vla.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-68.vla.yp-c.yandex.net
 [IPv6:2a02:6b8:c18:2a11:0:640:8dff:0])
 by forward100q.mail.yandex.net (Yandex) with ESMTP id 717616F40007;
 Fri, 17 Mar 2023 15:01:49 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-68.vla.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id k1kIqv0RjOs0-uCwrgQaT; 
 Fri, 17 Mar 2023 15:01:48 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8e067cb-c4bb-11ed-87f5-c1b5be75604c
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1679054508;
	bh=a0ksIfh0LBuFqnwuWIJpCklosjlruYSEPdCkZglAy6I=;
	h=Message-Id:Date:Cc:Subject:To:From;
	b=QrtvLeNPRM0k+1jMzEmzkvvN5f4kQZKbB1knWiyeXJc+SdpLpwEzbGwyLH3Wleyjm
	 77TKGyG65GQ5H7ONjlyjh5204drPRIZzaUD6EpfV7FnGUZPx/svRBBc8zOn+L4twL4
	 IBf7hjLEZlXgPRqjlktR1G4hwYVX8zF7nBb8TcM4=
Authentication-Results: mail-nwsmtp-smtp-production-main-68.vla.yp-c.yandex.net; dkim=pass header.i=@yandex.ru
From: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
To: xen-devel@lists.xenproject.org
Cc: Dmitry Isaykin <isaikin-dmitry@yandex.ru>,
	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>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Anton Belousov <abelousov@ptsecurity.com>
Subject: [XEN PATCH v3] x86/monitor: Add new monitor event to catch I/O instructions
Date: Fri, 17 Mar 2023 15:01:44 +0300
Message-Id: <858e4c67d14ec9d9c6737dd0b33056e3610c00f6.1679054228.git.isaikin-dmitry@yandex.ru>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Adds monitor support for I/O instructions.

Signed-off-by: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
Signed-off-by: Anton Belousov <abelousov@ptsecurity.com>
Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
---
Changes in v3:
 * Rebase on staging
 * Refactor branch logic on monitor_traps response

Changes in v2:
 * Handled INS and OUTS instructions too
 * Added I/O monitoring support for AMD
 * Rename functions and structures (remove "_instruction" part)
 * Reorder parameters of hvm_monitor_io to match handle_pio's order
 * Change type of string_ins parameter to bool
 * Change vm_event_io structure
 * Handle monitor_traps's return status
---
 tools/include/xenctrl.h                |  1 +
 tools/libs/ctrl/xc_monitor.c           | 13 +++++++++++++
 xen/arch/x86/hvm/monitor.c             | 21 +++++++++++++++++++++
 xen/arch/x86/hvm/svm/svm.c             |  8 ++++++++
 xen/arch/x86/hvm/vmx/vmx.c             | 21 ++++++++++++++++++---
 xen/arch/x86/include/asm/domain.h      |  1 +
 xen/arch/x86/include/asm/hvm/monitor.h |  3 +++
 xen/arch/x86/include/asm/monitor.h     |  3 ++-
 xen/arch/x86/monitor.c                 | 13 +++++++++++++
 xen/include/public/domctl.h            |  1 +
 xen/include/public/vm_event.h          | 10 ++++++++++
 11 files changed, 91 insertions(+), 4 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 23037874d3..05967ecc92 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2102,6 +2102,7 @@ int xc_monitor_emul_unimplemented(xc_interface *xch, uint32_t domain_id,
                                   bool enable);
 int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
                       bool sync);
+int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable);
 /**
  * This function enables / disables emulation for each REP for a
  * REP-compatible instruction.
diff --git a/tools/libs/ctrl/xc_monitor.c b/tools/libs/ctrl/xc_monitor.c
index c5fa62ff30..3cb96f444f 100644
--- a/tools/libs/ctrl/xc_monitor.c
+++ b/tools/libs/ctrl/xc_monitor.c
@@ -261,6 +261,19 @@ int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
     return do_domctl(xch, &domctl);
 }
 
+int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable)
+{
+    DECLARE_DOMCTL;
+
+    domctl.cmd = XEN_DOMCTL_monitor_op;
+    domctl.domain = domain_id;
+    domctl.u.monitor_op.op = enable ? XEN_DOMCTL_MONITOR_OP_ENABLE
+                                    : XEN_DOMCTL_MONITOR_OP_DISABLE;
+    domctl.u.monitor_op.event = XEN_DOMCTL_MONITOR_EVENT_IO;
+
+    return do_domctl(xch, &domctl);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/hvm/monitor.c b/xen/arch/x86/hvm/monitor.c
index a11cd76f4d..ff958b6c05 100644
--- a/xen/arch/x86/hvm/monitor.c
+++ b/xen/arch/x86/hvm/monitor.c
@@ -346,6 +346,27 @@ int hvm_monitor_vmexit(unsigned long exit_reason,
     return monitor_traps(curr, ad->monitor.vmexit_sync, &req);
 }
 
+int hvm_monitor_io(uint16_t port, unsigned int bytes,
+                   int dir, bool string_ins)
+{
+    struct vcpu *curr = current;
+    struct arch_domain *ad = &curr->domain->arch;
+    vm_event_request_t req = {};
+
+    if ( !ad->monitor.io_enabled )
+        return 0;
+
+    req.reason = VM_EVENT_REASON_IO_INSTRUCTION;
+    req.u.io.data_size = bytes;
+    req.u.io.port = port;
+    req.u.io.dir = dir;
+    req.u.io.string_ins = string_ins;
+
+    set_npt_base(curr, &req);
+
+    return monitor_traps(curr, true, &req);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index bfe03316de..b55f825f5d 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2939,6 +2939,14 @@ void svm_vmexit_handler(void)
         break;
 
     case VMEXIT_IOIO:
+        rc = hvm_monitor_io(vmcb->ei.io.port,
+                            vmcb->ei.io.bytes,
+                            vmcb->ei.io.in ? IOREQ_READ : IOREQ_WRITE,
+                            vmcb->ei.io.str);
+        if ( rc < 0 )
+            goto unexpected_exit_type;
+        if ( rc )
+            break;
         if ( !vmcb->ei.io.str )
         {
             if ( handle_pio(vmcb->ei.io.port,
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 00b531f76c..8a278f16c5 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4560,7 +4560,24 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         break;
 
     case EXIT_REASON_IO_INSTRUCTION:
+    {
+        uint16_t port;
+        int bytes, dir;
+        bool string_ins;
+        int rc;
+
         __vmread(EXIT_QUALIFICATION, &exit_qualification);
+
+        port = (exit_qualification >> 16) & 0xFFFF;
+        bytes = (exit_qualification & 0x07) + 1;
+        dir = (exit_qualification & 0x08) ? IOREQ_READ : IOREQ_WRITE;
+        string_ins = (exit_qualification & 0x10);
+        rc = hvm_monitor_io(port, bytes, dir, string_ins);
+        if ( rc < 0 )
+            goto exit_and_crash;
+        if ( rc )
+            break;
+
         if ( exit_qualification & 0x10 )
         {
             /* INS, OUTS */
@@ -4570,13 +4587,11 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         else
         {
             /* IN, OUT */
-            uint16_t port = (exit_qualification >> 16) & 0xFFFF;
-            int bytes = (exit_qualification & 0x07) + 1;
-            int dir = (exit_qualification & 0x08) ? IOREQ_READ : IOREQ_WRITE;
             if ( handle_pio(port, bytes, dir) )
                 update_guest_eip(); /* Safe: IN, OUT */
         }
         break;
+    }
 
     case EXIT_REASON_INVD:
     case EXIT_REASON_WBINVD:
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index 7bc126587d..29027ffd29 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -435,6 +435,7 @@ struct arch_domain
         unsigned int descriptor_access_enabled                             : 1;
         unsigned int guest_request_userspace_enabled                       : 1;
         unsigned int emul_unimplemented_enabled                            : 1;
+        unsigned int io_enabled                                            : 1;
         /*
          * By default all events are sent.
          * This is used to filter out pagefaults.
diff --git a/xen/arch/x86/include/asm/hvm/monitor.h b/xen/arch/x86/include/asm/hvm/monitor.h
index 639f6dfa37..fc35490a8d 100644
--- a/xen/arch/x86/include/asm/hvm/monitor.h
+++ b/xen/arch/x86/include/asm/hvm/monitor.h
@@ -54,6 +54,9 @@ bool hvm_monitor_check_p2m(unsigned long gla, gfn_t gfn, uint32_t pfec,
 int hvm_monitor_vmexit(unsigned long exit_reason,
                        unsigned long exit_qualification);
 
+int hvm_monitor_io(uint16_t port, unsigned int bytes,
+                   int dir, bool string_ins);
+
 #endif /* __ASM_X86_HVM_MONITOR_H__ */
 
 /*
diff --git a/xen/arch/x86/include/asm/monitor.h b/xen/arch/x86/include/asm/monitor.h
index d8d54c5f23..96e6a9d0d8 100644
--- a/xen/arch/x86/include/asm/monitor.h
+++ b/xen/arch/x86/include/asm/monitor.h
@@ -90,7 +90,8 @@ static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
                     (1U << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) |
                     (1U << XEN_DOMCTL_MONITOR_EVENT_EMUL_UNIMPLEMENTED) |
                     (1U << XEN_DOMCTL_MONITOR_EVENT_INGUEST_PAGEFAULT) |
-                    (1U << XEN_DOMCTL_MONITOR_EVENT_VMEXIT));
+                    (1U << XEN_DOMCTL_MONITOR_EVENT_VMEXIT) |
+                    (1U << XEN_DOMCTL_MONITOR_EVENT_IO));
 
     if ( hvm_is_singlestep_supported() )
         capabilities |= (1U << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP);
diff --git a/xen/arch/x86/monitor.c b/xen/arch/x86/monitor.c
index 30ca71432c..d4857faf8a 100644
--- a/xen/arch/x86/monitor.c
+++ b/xen/arch/x86/monitor.c
@@ -346,6 +346,19 @@ int arch_monitor_domctl_event(struct domain *d,
         break;
     }
 
+    case XEN_DOMCTL_MONITOR_EVENT_IO:
+    {
+        bool old_status = ad->monitor.io_enabled;
+
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
+
+        domain_pause(d);
+        ad->monitor.io_enabled = requested_status;
+        domain_unpause(d);
+        break;
+    }
+
     default:
         /*
          * Should not be reached unless arch_monitor_get_capabilities() is
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 51be28c3de..7280e9f968 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -1063,6 +1063,7 @@ struct xen_domctl_psr_cmt_op {
 /* Enabled by default */
 #define XEN_DOMCTL_MONITOR_EVENT_INGUEST_PAGEFAULT     11
 #define XEN_DOMCTL_MONITOR_EVENT_VMEXIT                12
+#define XEN_DOMCTL_MONITOR_EVENT_IO                    13
 
 struct xen_domctl_monitor_op {
     uint32_t op; /* XEN_DOMCTL_MONITOR_OP_* */
diff --git a/xen/include/public/vm_event.h b/xen/include/public/vm_event.h
index 0035c26e12..1e4b6063f5 100644
--- a/xen/include/public/vm_event.h
+++ b/xen/include/public/vm_event.h
@@ -160,6 +160,8 @@
 #define VM_EVENT_REASON_EMUL_UNIMPLEMENTED      14
 /* VMEXIT */
 #define VM_EVENT_REASON_VMEXIT                  15
+/* IN/OUT Instruction executed */
+#define VM_EVENT_REASON_IO_INSTRUCTION          16
 
 /* Supported values for the vm_event_write_ctrlreg index. */
 #define VM_EVENT_X86_CR0    0
@@ -388,6 +390,13 @@ struct vm_event_vmexit {
     } arch;
 };
 
+struct vm_event_io {
+    uint32_t data_size;
+    uint16_t port;
+    uint8_t  dir; /* IOREQ_READ or IOREQ_WRITE */
+    uint8_t  string_ins;
+};
+
 typedef struct vm_event_st {
     uint32_t version;   /* VM_EVENT_INTERFACE_VERSION */
     uint32_t flags;     /* VM_EVENT_FLAG_* */
@@ -409,6 +418,7 @@ typedef struct vm_event_st {
         struct vm_event_debug                 debug_exception;
         struct vm_event_cpuid                 cpuid;
         struct vm_event_vmexit                vmexit;
+        struct vm_event_io                    io;
         union {
             struct vm_event_interrupt_x86     x86;
         } interrupt;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 12:04:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 12:04:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511036.789773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd8p8-0001Kf-Th; Fri, 17 Mar 2023 12:04:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511036.789773; Fri, 17 Mar 2023 12:04:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd8p8-0001KY-R8; Fri, 17 Mar 2023 12:04:42 +0000
Received: by outflank-mailman (input) for mailman id 511036;
 Fri, 17 Mar 2023 12: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=2ZYU=7J=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pd8p8-0001KI-0i
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 12:04:42 +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 e3ff9bbf-c4bb-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 13:04:39 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 9906F320093A;
 Fri, 17 Mar 2023 08:04:36 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Fri, 17 Mar 2023 08:04:37 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 17 Mar 2023 08:04:34 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3ff9bbf-c4bb-11ed-87f5-c1b5be75604c
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=
	1679054676; x=1679141076; bh=Po5+on7NXPECAKbocmNv12iR+RujjiNu7pU
	O2/fW8EA=; b=MvD2/kmGnvDgM/a30WfakUj/wackLMMVe7wSFWpafQlKo4C68pe
	yA6ArdtZ0e/kBoNW7AWYmUr632V7jalR7YH6fNJNnbRfRQDd6pSqq2iP/93QZ3Qz
	8JplpejI9zeI2RACrG2Holejea/He+W+UCZXElQTANHXXYZLHarYEBWXyfT8iY/Y
	jnW1KNhl9/TexTLXlwTOuBsEPBhxrPkNU3dGovSD6xV77i19eJQryTqt8kxMQbFn
	TSY180AjYQOoSITVVDrhrVgnaiHsYHgSePHY/kbBqttDRb75VZFEIW7DWcuRlbk2
	s8t5vOzsYLLUNNccWBTH1VmZGiNp7l3y8IQ==
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=fm2; t=1679054676; x=1679141076; bh=Po5+on7NXPECA
	KbocmNv12iR+RujjiNu7pUO2/fW8EA=; b=AEAzWKXwVUmtWAjDcx2psGwSY75hB
	YUgX6tHvVOmwydaK0mbxYmSVITMGtObGzB/XcdEIpdALyYWtS7NjeUBVkPclWuAk
	EVAfr9Cry44EtSxwaz1pe+/aG4ZLfDmDh0tJYvX4CgF5fSjZNVjcuoJmCeogpXZn
	gtEudcPBm9V2hzbMLH8BSvzrAQINk+yKs3feVQnHvQa2wkkP+/qgBE7A8dt2nMKj
	dm+93GUh0Ztk0A5zCFCo+ugEQnmXbjULncUFrdVC8Jbfpe/NRIw8txbJsXZcUpci
	/7VMeGNJ+Ad35gk396ilr9dTAWg5x6GFtls+M9gJeAZNkS5FkwosE0zPw==
X-ME-Sender: <xms:U1cUZGpvBo7Iw60kGhmGGHs9oZMnMEhlExi536huiHRYw3QdDY7AjQ>
    <xme:U1cUZErIhCqE7zL6xU5tiLKs06PULZEAVi05z2bUZNav7J3UPbrWtnMYzTW-DgnVw
    BW1b4VZmb06Fw>
X-ME-Received: <xmr:U1cUZLMbFC5pqEo7qppQErZ1VhYHOvwM1u2DEkM4VxtLJIyzVMziZsqvQafExc25tQ9oFCiEskz4mvEmc9LpyxwedfhBSTruu6M>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdefvddgfeehucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:VFcUZF4JWrfhYK6rn-Htt9Q708bApec01Wo8Uo_1JDmbs0oE1fIKSg>
    <xmx:VFcUZF41rFh5lCHA-96NY6mSUgGT2D_M6aSOneVPE1KQ8Nz-SB6RzA>
    <xmx:VFcUZFjJ07Aw6-hnyzs4pPX_5UcEf1lmIp5616vjQ8EFUYvK8Zk0kA>
    <xmx:VFcUZI0shTdm8GqZCeIqmZ6naMIyw-7PilNXrJQDHnGozqaXbaDO1Q>
Feedback-ID: i1568416f:Fastmail
Date: Fri, 17 Mar 2023 13:04:32 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 4/4] Update README to state Python3 requirement
Message-ID: <ZBRXUOvzRQOk9NOA@mail-itl>
References: <20230316171634.320626-1-marmarek@invisiblethingslab.com>
 <20230316171634.320626-4-marmarek@invisiblethingslab.com>
 <afe67927-0f62-511b-012f-2f2deedbf4e6@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="FKwiqVnav0DqYLa+"
Content-Disposition: inline
In-Reply-To: <afe67927-0f62-511b-012f-2f2deedbf4e6@suse.com>


--FKwiqVnav0DqYLa+
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 17 Mar 2023 13:04:32 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 4/4] Update README to state Python3 requirement

On Fri, Mar 17, 2023 at 09:46:33AM +0100, Jan Beulich wrote:
> On 16.03.2023 18:16, Marek Marczykowski-G=C3=B3recki wrote:
> > Python2 is not supported anymore.
>=20
> There are two things here which concern me: For one, how come this is
> at the end of a series? You want to keep in mind that any series may
> be committed piecemeal (unless an indication to the contrary is in
> the cover letter, but there's none here in the first place).
>=20
> The other aspect is that there's no indication here of it being
> consensus that we raise the baseline requirement for Python, and for
> Python alone. A decision towards the wider topic of raising baseline
> requirements is, as you may recall from the meeting in Cambridge,
> still pending.

Hmm, in fact the only part of this series that isn't python2 compatible
anymore is "install-python-bindings" target in tools/libs/stat/Makefile.
And it's enabled only with XENSTAT_PYTHON_BINDING=3Dy is explicitly set.
So, maybe this readme change isn't relevant at all, at least not yet.
--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQUV1AACgkQ24/THMrX
1yzrkgf/c7DXp2u+Q8pXkLEE2jWwCQocOaNIcym8LvQNFzeeUkceMj0Mn4+afYnq
X8UJXUOs+mgQ1Uj7ou5/5q1PPz0t3r105n6KWh6fnmsmsn2bjIWD8tpXKy1kbsRa
zu9gsM4GuGwAhZBuRZZlykiKrZ04VFe7PsXe+DzIYScjvq7Iz1cvQvw9MhAeOjGs
KSC+Ea/Rnpxt2mAuSn7Rmu5JgbB/TbipfTHUXEel5NFV9Em37WiESg9hGmZh89Ok
6QnOlXURQlACaCXQjusne/TlLM/xrmvOA8RoT6MwSd1yKxcCrcSkK4WGZ49RfXdR
N4bMxfs4qKqWnFOR7fK86YucWO/oGw==
=phtW
-----END PGP SIGNATURE-----

--FKwiqVnav0DqYLa+--


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 12:06:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 12:06:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511039.789784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd8qR-0001v9-9i; Fri, 17 Mar 2023 12:06:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511039.789784; Fri, 17 Mar 2023 12: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 1pd8qR-0001v2-6j; Fri, 17 Mar 2023 12:06:03 +0000
Received: by outflank-mailman (input) for mailman id 511039;
 Fri, 17 Mar 2023 12:06:02 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pd8qQ-0001uq-Cr; Fri, 17 Mar 2023 12:06:02 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pd8qQ-00074X-BS; Fri, 17 Mar 2023 12:06:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pd8qP-0000iN-Qc; Fri, 17 Mar 2023 12:06:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pd8qP-0001Pr-Q5; Fri, 17 Mar 2023 12:06:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TtLV9qfgc0c3LiAmxD/MjCx4AqjI+pumTcyl4W0E2sI=; b=AHoxMzeM5roQN23M9GOOBmrF0H
	BEyp2D0nm3eAOl6d7gxGTREWxibpz5/ZTC4tRZ1WqbqjNWWKbr0/svl5ivtUwx6LCCjA8++OcrXAN
	dlLAA0tHELQEZ3b4pVdWK1B1Ysf/F37lLntwYHXG0Hv+hdmJQJNyhmo5IDVW8PPH054w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179713-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179713: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=410ca0ff94a42ee541dd6ceab70ea974eeb7e500
X-Osstest-Versions-That:
    ovmf=0e5717009779ec6c1e35f979426a2cd407b3e73a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Mar 2023 12:06:01 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 410ca0ff94a42ee541dd6ceab70ea974eeb7e500
baseline version:
 ovmf                 0e5717009779ec6c1e35f979426a2cd407b3e73a

Last test of basis   179705  2023-03-17 04:10:46 Z    0 days
Testing same since   179713  2023-03-17 08:15:15 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gang Chen <gang.c.chen@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
   0e57170097..410ca0ff94  410ca0ff94a42ee541dd6ceab70ea974eeb7e500 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 12:27:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 12:27:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511049.789793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd9B6-00054S-42; Fri, 17 Mar 2023 12:27:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511049.789793; Fri, 17 Mar 2023 12: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 1pd9B6-00054L-0s; Fri, 17 Mar 2023 12:27:24 +0000
Received: by outflank-mailman (input) for mailman id 511049;
 Fri, 17 Mar 2023 12: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=eK3V=7J=citrix.com=prvs=433af36f9=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pd9B4-00054F-V1
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 12:27:23 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d422c59-c4bf-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 13:27:18 +0100 (CET)
Received: from mail-bn1nam02lp2047.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.47])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 08:26:53 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5646.namprd03.prod.outlook.com (2603:10b6:a03:28f::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.33; Fri, 17 Mar
 2023 12:26:51 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 12:26:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d422c59-c4bf-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679056038;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Th8UrnJfcbt6A5MhWI8OrQHQs93O4Oq4pWvWPHJR+sM=;
  b=UMAbcyqcE8GfyzQd2/sX+5mwDfzMssatfucCKyrRZfARrvjifz+8OC1p
   eoy9lIpPmGdCoLxwCoZ8n9KPCK8+EbE/fofCwz5WRv7Bn6IDAFt5rwhos
   qyLpVIKxvNs+VogROd1VGqnbR1Liu+UqxO4SI7Yy2QZ/7eTpQ+0WYIRGn
   8=;
X-IronPort-RemoteIP: 104.47.51.47
X-IronPort-MID: 103683580
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Wx+f26laV2mtt379tEpp+f3o5gysJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJLCm7UMqzcMGameI8gao6/9R4HucfSx4RhSFZu/y08FSMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5QCGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dUlNR4ybjyEvfqd2oOJS8ZMiZ9gKMa+aevzulk4pd3YJdAPZMiZBo/svJpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVU3jOeF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtKT+PoraM62DV/wEQUS0EfVHXhrcPptWSsYt9TL
 08I/xgX+P1aGEuDC4OVsweDiFyuswMYWtFQO/Yn8wzLwa3Riy6JC25BQjNfZdgOsM4tWSdsx
 lKPh8nuBzFkrPuSU3313qiQhSO/P24SN2BqWMMfZQ4M4t2mqodqiBvKFoxnCPTt0oKzHizsy
 TeXqiR4n68UkcMAy6S8+xbAni6ooZ/KCAUy4207Q16Y0++wX6b9D6TA1LQRxa8fRGpFZjFtZ
 EQ5pvU=
IronPort-HdrOrdr: A9a23:ha3wtainzMbGEH7pc8CX/r3NOnBQXlMji2hC6mlwRA09TyX4ra
 yTdZEgviMc5wxwZJhNo7G90ey7MArhHLROkO4s1NSZMzUOxlHYSr2KhLGKq1eMJ8S9zJ8k6U
 4HSdkENDSaNzZHZKjBkXWFOudl7N6b8L25wcfypk0dMj2CspsQlTuR3Dzrb3FedU19CZ0lD4
 rZw8xIqTa6EE5nDPiTNz0+U+/fvM2OsZTpbxIcQzsq9wWK5AnYjYLSIlyj0hACSCMK+Kwl8m
 TOjmXCl8aemsD+8BPaynTCq69bgd7wjuZEbfb87vQoFg==
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="103683580"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YKWYhKpzgkNFPUdGrC/r7Ztdp48PGIW7L7YxVjF/GorMNl39MKJwfl3/nF+pK1sqA4FFllbXt+Xt//JjH2RaUOQpIkpXAToC5VxddRb38szrktShTlh1qnHepsiQwOjxWt/zv3+0w6+vauQcMihoW28BlbL2tmOTfCPBlwszle04bRux/yCCYc2RUwQhrsUlF+Pp0wsuqhHi2sQ2OfOgPuTNXdiiZDztJ+V3lV6L2UFquMQU0K3XkaIGWvipM48TN4Y8mhuDKbzH/X8cZUYLxDP8KRpsDBiVZb3ePP6mFXk60lEE84xn4BYItm6hM3P1DvsF/Lr8PPcODK86ym9ZrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Th8UrnJfcbt6A5MhWI8OrQHQs93O4Oq4pWvWPHJR+sM=;
 b=KwTC84+YjmTQsM/5tNNXRl55Ko2Va6xrC3VcfHuvvJjttCNec62zLtKuGRJF/GUR9ZyPHJ2mUvotZ+EDFrecxFAZn1de9W0ARD7YIFtKCYTpLrbAB1EE2KaAWHT0IkaKjHTsX056V481Z50cPEDQAAqnRNMZxajWovcjxpSB+cZNnx4Om1w5rs6vB39yAjh1a66Mtl2O04utnybxq9kujY1nRG075Zj7O1rURUSKy+vma+fP/jafx3aJnjRG9LhPn/7jGx5kXetD6TKWfftuvJhcO6XpXfaQNDWkcaVNhIklSTQUWHHESSNww0IWv6Tesc+XoPSK2mijm/LHS4zByg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Th8UrnJfcbt6A5MhWI8OrQHQs93O4Oq4pWvWPHJR+sM=;
 b=seaQR6k6+P/GvUkzB4FeKNEVTqDwW1lAcWLKCSxs1jE3n4PdHwPJiTC6oMHg/wWwcI4H3KYsNKs9zJ7OIX8VHmE3qDDUhXD+Pj8dU7rnRSj4sNAgo93JprVVaUh6XuMUkzyogScm3fczK1BsMhCd7wXQfoNr9I5NKcsELpIJ39Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <011cb7d8-fb32-74b1-2b06-f57be67f5c6a@citrix.com>
Date: Fri, 17 Mar 2023 12:26:45 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2] x86: use POPCNT for hweight<N>() when available
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: <55a4a24d-7fac-527c-6bcf-8d689136bac2@suse.com>
 <ZBRNWhExetXH1OaS@Air-de-Roger>
In-Reply-To: <ZBRNWhExetXH1OaS@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0170.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18a::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB5646:EE_
X-MS-Office365-Filtering-Correlation-Id: 74994d96-80b8-4340-99d9-08db26e2e276
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	G1S4bOBegU9DW0gWzlOscOOA5gSqo29NY+rgQwKJ7REA+hwOtKRhkcfSca17dNpbsanjnv0yDk0r3pZgjyoNqxdI5VcO7S7XOIEpq0ltgaPZafGm52lPgnNHYFYVM+WUe64IfBfdM0peAbkEaxzMSi7Ewh70e1lLYk8kYek/uupFhlq2XXcPJTXxdOTbkoYNf2309edW3hhyTb8B3/qN1O8XkOQZTPCI1Xo+yZiG+bCsSm9eIA2KJVM5i4BwBTSAwP2hKpA0QC8g5kLyXdWuy9cwm/agGNTCiRbF0Kiv8RemmK2oVeT2vcQFqPjbItQAS8BaqvzxOCg0yWRf2902ptc6vlLJ3jKqk7lTZlE4tSBgn1Ab5yNtyvLpmtMW4CPTGR8mQ6XJrIod+1n2Jgp6pabtyJZBXYd233wp59GNqaCg5zl5kBwb62Afv5T0Hizov3oTtR2C1wWXmS+XXWJ/zky9gTm1K/YR8pGSH1zuz4R0x+QwDblBdtb8VVeXUI0VjHlve1LyJ12u3PF42uzJO2LeO8jUKgBIlBslo7Up4HYNK4PcUlwFinshpheSxZoGbPslszIZKOm56AVEKGBbZ6Lqgex+9VypUlwKwGRIec6lsrKPqwhAo3P9aCYR9GgsDPSkd3Og3LP1ZFbl4SROBjw6MqbOOA01a6qkXx9CXUFv1/W8bte2pxBflPvWYSxSxRBbpdeXXg0h3m1IRR8dcrWMZLCUB03cX7PvwxC3YzZdm34rGggjeRR5yhGcN/ZEqZ0oJsy3Qfm+Uic5TJs8kg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(396003)(39860400002)(136003)(376002)(346002)(451199018)(6512007)(6506007)(31686004)(41300700001)(6666004)(26005)(53546011)(38100700002)(82960400001)(36756003)(54906003)(110136005)(8936002)(186003)(316002)(86362001)(4326008)(31696002)(66946007)(66556008)(66476007)(6486002)(2906002)(8676002)(2616005)(5660300002)(478600001)(16393002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cjJJenZKd0hWSytHcUlvcDQ2eGhYZkI0YWpnQ3VnM2Vmako1STBvWWwrYkls?=
 =?utf-8?B?TXlvS1E1N3ZjVXArb2NmeUxNVEd5RHJRZk9vTmdRY0I0L01qQjhQZG1vY0NJ?=
 =?utf-8?B?TGhFdjJlSFpNbVl5NWRNZ3QvdUozb0hpT1lWWUNZSEZLUm42TkhzMjhHS3RT?=
 =?utf-8?B?WjVPckdISC94RStraHZWcnBKekpFVTVKV1lUZDk1UWRNOTB3b3ZaOGJXVDBk?=
 =?utf-8?B?anNYdStGMWhHUjd1ZG50WTJXSVRtY0hjakloUzlqRGQ3YWNEOU9NclZJZFpF?=
 =?utf-8?B?Tk9FRDhIcmw2Q0NZa2czWkJPMlRNTllBbmE0RVZxWERtZ1hhTjgrUkpMUTZT?=
 =?utf-8?B?QlRKTFZjS093L0N6enFhY2ZtZjVDa25jRWc0ZHhUbC9mKzE2blJlWkFLdy90?=
 =?utf-8?B?UVBFWWRZWkVFSnRxdXp5UnRSekdhVDJJcUtBV2htZmVlS1ZERzVMWWtLS2E4?=
 =?utf-8?B?ell6UUlMS0RQWXRMVHRuUmNZekZ6bVBwck5iVkg4Vm9GSGM3TlJBekxaNjEx?=
 =?utf-8?B?allMaEpPOWtQZG5ISm1LM3VRU0VFWUZFSENYMmVudFNHU3VQVit0eFU4M3Fu?=
 =?utf-8?B?KzBxV1dCNEx3eTF5bzFiZ1JSTkh4UUdUVXFvbW14SjFiWG5iR00rd29pRUxM?=
 =?utf-8?B?TkZSTVlyS0NLbFNwS0ZhT2kwU1JvRWpaSUpSekMvUDA0R2RVNytJell6UXJV?=
 =?utf-8?B?cW9GVVBmb294N0NKWTdtakJJMk13RGtWcE9KWDREZGRMekVjaW5UOGNmT0Uv?=
 =?utf-8?B?cEZkQVZvTDVmVTllSEhKQU9OaXBVenQwdkwxa1ZvSGd6WmtLZGRYa3ZqQUFP?=
 =?utf-8?B?U2FqaDFKOHEwT2hPWVNSZXF6UXRHeSt1SFhQcDQyTkU3UU9Qcy80OGpZVlk1?=
 =?utf-8?B?ajVzMzY3ZloxeStGNlhMa2Joa2RXUG0yUnI0SEk5UGlGZDdGNS82dXN6UlN4?=
 =?utf-8?B?dlhQc2pZdVRVVGhaUkJQVXUzUms4eVRwZ0lhZFBOR0Y2Y2dwNEJqTGpqNFAw?=
 =?utf-8?B?eTJ6YmY1YlE3ZTE5WUxyMENPRnZ3NGlEb0k3NFd1R25uTWNGMkVmQm1HcmxM?=
 =?utf-8?B?SE0va01MTWF0VktoWkVhVkdvM0llMERGM3ZqWFFVNE1EVmVPUDY1cFdsN3Br?=
 =?utf-8?B?Smo1MStOY1dPejhld01wT1NsdlYybDFSYlFQOEd1OEZUbGNNTjBBeGFYc1J5?=
 =?utf-8?B?MGFZSE1RMEN2WTQwbXhublNuVi9TdU5rbi9lS2wzbU1JVnZ5K1QxQ0hWclBS?=
 =?utf-8?B?MjVHeGZ3bE5kKzdpTnkvUzlEb2xsR3NsL2ZqSXF4UU9JU0lKNm9URlQ2bmpN?=
 =?utf-8?B?SlU2YWd3UVVhNFR1RGNDN3JNVURpNkJCeEtJc1JOTmczaVJrckp2QVpsTzZ6?=
 =?utf-8?B?OXM1ZTZ0bFR1d2JHckYyN0JuRnF3Z3RoRWlGb1M3Z2ZKY1FaZzNsYTMwK1dT?=
 =?utf-8?B?MnRHTm9lYkwyVFYwa0xBa3lwTDN1NUZUZVFpbm1xdXRTUEVaUVJCazNRZ0pP?=
 =?utf-8?B?b2VHTFFQTW4rQXlOclMrQVFnckJQb25jMlRVS3F1STlNUnhYVjhzZVBQSWxn?=
 =?utf-8?B?YllXOVcwT2FRZ3FUelYvbU5aZjR0N0txS2p2L2hOYTJockxSZHdOWXlMTnFr?=
 =?utf-8?B?MUZ3eUVUN0pSSDhTQ1g5ZWNsUkZobjk2ZWJvUEx1ejdmeW1xNzFoM1g1OG95?=
 =?utf-8?B?d0VxYjRVKzRGMWpFUGJuM2w5ZTJDYlpvNWlsREdCRE9CRmxxMWNNSXplSm42?=
 =?utf-8?B?K1B5allaaStrRm0zMVo3bFI5cnlmd01GU2FDU0dyTHNnZzg1eWtDYVZWb0x1?=
 =?utf-8?B?WkF1a2t0bFo2bmFDVXkzaXVra3oyMzREYyt6N3JSaXNDcjd2N0FCaDE2dDRk?=
 =?utf-8?B?emhOVXNYcXR1OXBDcXRjS1N1NEFEMDdadDEwNkdmR3lsZWUzcytNWnhxMnRG?=
 =?utf-8?B?NGN5MWxTbUhpTkRjYXRPd1pWOGRpVzNIN3g5M2xVMkxpMngxZ1I1KzA0bjVn?=
 =?utf-8?B?ekFRSTM0K1c4bXdaWlJnT01wOWM1QU1vcms4RHlCU3FWWW9uaWhCR0JrYysw?=
 =?utf-8?B?dFZ0eFIxL3ljQXZCNkpWcmxDa0FXSzNzSk5JUlB4dHdoNHhXVDRkTDladVl2?=
 =?utf-8?B?OFRadHYrM1k4RGJSSGNQSm11VjB5NXRMUnZGTUhBNjdhTUFCYXJrS0ZKQ2wz?=
 =?utf-8?B?dWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	jC+cN78uSbfn4vJOVyGvhhJlFVZm8BuWSZedJT/enpMIq6/B+dk9F1wmv8VAriTQrq4frqodFQCPB/E1yRNPQjuhBDvaCWJ6dP3r5l/5umHb2Y8sSSH85r3nDZ6BsLZ6ayfXh74FPWOGfXhkhIQeF/pCtId1oMiokyhh9M7CGi1qu1FNxbOp5UzM0D/ekQlBqulSYLV4mCLEqZMyfRoxiICYKCpnDNCforL/9QbbRQls4Kd356fMQLmgPducYUy7flhMIeTBu9AINXGnh2HvzmMqp59JYjQKplqYtzROBp4UBdjlOFHWg7lZJEJZmcSzcU9NFnV9zYudZHjxao+ZWJihQPa/jD/bzykIYUhcNp1m4j6I3vrI0NW04EQ8pbstPv0EuhNBR4hBlI+DPCG2FK84RwMb0uHnHAqxWKEL8DnzPr9en0WkxpzmV51B0DGAePeizSav1XahXfHJb1gafHheDeOMGwucNGlAim5e9RiOJp1fzZiajzzzWvwKI2/JPRWVnnAC3nBB9assJmmkJuQUkKKBGu3BnSa066BSjtxMgdApbDBKuPxjMsC7pdT3W8HcdzanjzVaVBmG1WZQX+fGBw6H/c0V9sFWkf4X1LdNj9Y0S8zhRmAzRLsn/cz0O/eCEpAQErh7DaTasdiJAK2XQvXqdTFz1UDHjajViuyoW5Y5SEEVFwHxWc6/jKX5qEWgPz3W0fQKvwRPdBJ7edCG7+iD2LCzRnW92RzI6YT0FFJVPu1573vi2kqgCXctEc4M7mUfIIviQ1ZSlC+Vb9ShKLQxly91CMhgnp8MLPJ7bLAjsDXTjEMeLnHurVVUcggvbOrpdkassuhmEG+0xg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 74994d96-80b8-4340-99d9-08db26e2e276
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 12:26:50.9913
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sb7ZTGueuieMgmcMjMZ6DiWULGZ3s/d/+0k2npMYW3SjD0gKArCqdDJK6rWoVaWVZcxuOWCBeLq8Y2SLA5JmFoT/sPZ8GtbktpWlRa4j6pA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5646

On 17/03/2023 11:22 am, Roger Pau Monné wrote:
> On Mon, Jul 15, 2019 at 02:39:04PM +0000, Jan Beulich wrote:
>> This is faster than using the software implementation, and the insn is
>> available on all half-way recent hardware. Therefore convert
>> generic_hweight<N>() to out-of-line functions (without affecting Arm)
>> and use alternatives patching to replace the function calls.
>>
>> Note that the approach doesn#t work for clang, due to it not recognizing
>> -ffixed-*.
> I've been giving this a look, and I wonder if it would be fine to
> simply push and pop the scratch registers in the 'call' path of the
> alternative, as that won't require any specific compiler option.

It's been a long while, and in that time I've learnt a lot more about
performance, but my root objection to the approach taken here still
stands - it is penalising the common case to optimise some pointless
corner cases.

Yes - on the call path, an extra push/pop pair (or few) to get temp
registers is basically free.


Right now, the generic_hweight() helpers are static inline in
xen/bitops.h and this is nonsense.  The absolute best they should be is
extern inline in our new lib/ and I'll bet that the compilers stop
inlining them there and then.

Given new abi's like x86_64-v2 (which guarantees POPCNT as an available
feature), it would be nice to arrange to use __builtin_popcnt() to let
the compiler optimise to its hearts content, but outside of this case,
it is actively damaging to try and optimise for memory operands or to
inline the 8/16 case.

So, for x86 specifically, we want:

if ( CONFIG_POPCNT )
    __builtin_popcnt()
else
    ALT( "popcnt D -> a",
         "call arch_popcnt$N" )

and we can write arch_popcnt* in x86's lib/ and in assembly, because
these are trivial enough and we do need to be careful with registers/etc.

I'm not sure if a "+D" vs "D" will matter at the top level.  Probably
not, so it might be an easy way to get one tempt register.  Other temp
registers can come from push/pop.


While we're at it, we should split hweight out of bitops and write the
common header in such a way that it defaults to the generic
implementations in lib/, and that will subsume the ARM header and also
make this work on RISC-V for free.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 12:38:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 12:38:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511055.789807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd9LT-0006yP-A9; Fri, 17 Mar 2023 12:38:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511055.789807; Fri, 17 Mar 2023 12:38: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 1pd9LT-0006yI-6V; Fri, 17 Mar 2023 12:38:07 +0000
Received: by outflank-mailman (input) for mailman id 511055;
 Fri, 17 Mar 2023 12:38:06 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fona=7J=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1pd9LS-0006yC-Dk
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 12:38: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 8f9e20c9-c4c0-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 13:38:04 +0100 (CET)
Received: by mail-lj1-x236.google.com with SMTP id b13so4901197ljf.6
 for <xen-devel@lists.xenproject.org>; Fri, 17 Mar 2023 05:38: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: 8f9e20c9-c4c0-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1679056683;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=tklupWDgHgYUOaoX0vF1Vnub78/xesq7JkRgozmUpcA=;
        b=lzyHcdNZuJw11PkrwofH1plJr3hWCyqx3bLf7SnE7cAQttgh2ZZdstC+qYRZwFtLFo
         psJwurRxQSfu9C3y6XNHSyIM6H/wYh5afb5rz2NmJ/X4ZYSKfPzoFn5pqRKoKw6Pw1LT
         p6A2zMuhn+F1OTJmhNfCZhHpiDQD3r4Ml9w0E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679056683;
        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=tklupWDgHgYUOaoX0vF1Vnub78/xesq7JkRgozmUpcA=;
        b=an5+3/hKn1rCmJAqgueKK/yq2dPUDtdmtM6LyyydTxD3wfYoAQ+skd0CcT7s965Mt3
         Q/4CGhgfL1RRw2o81TBi1oYlk0fdfCPzIHQti+mi+pwFuG64naxwAtbmNKX6lNe6s2wM
         LNZbYkOKXusLlXevxmTUMJ5Oxtje2CmupKo0wFBIZyRZkfEdad8/xCrbPBM4qOMkoLVd
         WHT10tlEvEQ7Ni1wddRJn2shcFxzPPMCBidWigrqQMapUabSVjs81Q0pGM7ExmIGiRW6
         F+ahm89ubhLHHpuSn7NNw6gr5OhJYXqTwBwkcJyzjIsgJQ8ejMTgNo971uNJNYwCBoUz
         pTRA==
X-Gm-Message-State: AO0yUKUYpi5OkDD5po7o8PFUh+G5RYcMQpsKOdFaB93h9sv3RNPU8UYm
	PMPzW4Hj7OA0kIR1MsJOLPCQyEmz4ICDVvvg+4mmNQ==
X-Google-Smtp-Source: AK7set8tQV0LiHxQ8FcWKwf5iLQpg0uPrU3xV0nbhyf+WhkrPD4hgMbJd4Th9kOrRGMpOP4mYA2k30ZlOLf4IQFtCG8=
X-Received: by 2002:a2e:2419:0:b0:299:7665:7e61 with SMTP id
 k25-20020a2e2419000000b0029976657e61mr2085147ljk.6.1679056683681; Fri, 17 Mar
 2023 05:38:03 -0700 (PDT)
MIME-Version: 1.0
References: <20230316171634.320626-1-marmarek@invisiblethingslab.com>
 <20230316171634.320626-4-marmarek@invisiblethingslab.com> <afe67927-0f62-511b-012f-2f2deedbf4e6@suse.com>
In-Reply-To: <afe67927-0f62-511b-012f-2f2deedbf4e6@suse.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 17 Mar 2023 12:37:52 +0000
Message-ID: <CA+zSX=bHyn-v77shA9xGaacjXcQ0U0tTg2V0U2t0FVML7WFJqw@mail.gmail.com>
Subject: Re: [PATCH 4/4] Update README to state Python3 requirement
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.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
Content-Type: multipart/alternative; boundary="000000000000305df105f717d94c"

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

On Fri, Mar 17, 2023 at 8:46=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:

> On 16.03.2023 18:16, Marek Marczykowski-G=C3=B3recki wrote:
> > Python2 is not supported anymore.
>
> There are two things here which concern me: For one, how come this is
> at the end of a series? You want to keep in mind that any series may
> be committed piecemeal (unless an indication to the contrary is in
> the cover letter, but there's none here in the first place).
>
> The other aspect is that there's no indication here of it being
> consensus that we raise the baseline requirement for Python, and for
> Python alone. A decision towards the wider topic of raising baseline
> requirements is, as you may recall from the meeting in Cambridge,
> still pending.
>

To me, the idea behind that discussion was that if we agree on a policy --
or at least general principles -- then we can avoid having to have
discussions on a case-by-case basis.  The fact that the discussion is still
open isn't a reason not to deprecate features; it just means that we still
need to discuss each one on its merits.

Given that Python 2 was announced unsupported years ago now, it seems
obvious to me that we should stop trying to support it.

Are you arguing that we *should* continue to support Python2?  Do you think
anyone will?

If so, please either make that case, or recommend that we raise the profile
of this so that others can.

 -George

--000000000000305df105f717d94c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Fri, Mar 17, 2023 at 8:46=E2=80=AF=
AM Jan Beulich &lt;<a href=3D"mailto:jbeulich@suse.com">jbeulich@suse.com</=
a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0p=
x 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On=
 16.03.2023 18:16, Marek Marczykowski-G=C3=B3recki wrote:<br>
&gt; Python2 is not supported anymore.<br>
<br>
There are two things here which concern me: For one, how come this is<br>
at the end of a series? You want to keep in mind that any series may<br>
be committed piecemeal (unless an indication to the contrary is in<br>
the cover letter, but there&#39;s none here in the first place).<br>
<br>
The other aspect is that there&#39;s no indication here of it being<br>
consensus that we raise the baseline requirement for Python, and for<br>
Python alone. A decision towards the wider topic of raising baseline<br>
requirements is, as you may recall from the meeting in Cambridge,<br>
still pending.<br></blockquote><div><br></div><div>To me, the idea behind t=
hat discussion was that if we agree on a policy -- or at least general prin=
ciples -- then we can avoid having to have discussions on a case-by-case ba=
sis.=C2=A0 The fact that the discussion is still open isn&#39;t a reason no=
t to deprecate features; it just means that we still need to discuss each o=
ne on its merits.</div><div><br></div><div>Given that Python 2 was announce=
d unsupported years ago now, it seems obvious to me that we should stop try=
ing to support it.</div><div><br></div><div>Are you arguing that we *should=
* continue to support Python2?=C2=A0 Do you think anyone will?</div><div><b=
r></div><div>If so, please either make that case, or recommend that we rais=
e the profile of this so that others can.</div><div><br></div><div>=C2=A0-G=
eorge=C2=A0</div></div></div>

--000000000000305df105f717d94c--


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 12:42:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 12:42:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511057.789817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd9Px-0000IR-S5; Fri, 17 Mar 2023 12:42:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511057.789817; Fri, 17 Mar 2023 12: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 1pd9Px-0000IK-PH; Fri, 17 Mar 2023 12:42:45 +0000
Received: by outflank-mailman (input) for mailman id 511057;
 Fri, 17 Mar 2023 12: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=hL2n=7J=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pd9Pw-0000IE-JH
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 12: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 35e0fa62-c4c1-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 13:42: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 BC7DE1FDDC;
 Fri, 17 Mar 2023 12: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 320931346F;
 Fri, 17 Mar 2023 12:42:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id hBinCkJgFGQjPQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 17 Mar 2023 12: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: 35e0fa62-c4c1-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679056962; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=Njm+U9Z10TpqIECiFfzVKOTTFwr1U3KjV2a1BvL/cA4=;
	b=PtT/cSCpmtDQMT8de39EoSidtKmaO5CmCqyRuc9tx2rU+8no0M8s+fzKFid+21FceONW9p
	QOwmv9J94SHsdHR3x//D7bdWabKAwn/77Y0HP53fp3C09Y/18w9Ylh33t79GKAjHrKPjou
	wy7jdvCG0W2Wvu8/NiDtGfxM3Lftx3Y=
Message-ID: <17ffe417-8ea0-df98-a8b7-8c370839134f@suse.com>
Date: Fri, 17 Mar 2023 13:42:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>, linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.org, josef@oderland.se,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
 Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org
References: <20230316164257.42590-1-roger.pau@citrix.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20230316164257.42590-1-roger.pau@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------omThfDjgIeq3LyTkS0HVR9nh"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------omThfDjgIeq3LyTkS0HVR9nh
Content-Type: multipart/mixed; boundary="------------1UqSXqjj5KvqywtnoydqCsn3";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Roger Pau Monne <roger.pau@citrix.com>, linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.org, josef@oderland.se,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>,
 "Rafael J. Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
 Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org
Message-ID: <17ffe417-8ea0-df98-a8b7-8c370839134f@suse.com>
Subject: Re: [PATCH v4] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
References: <20230316164257.42590-1-roger.pau@citrix.com>
In-Reply-To: <20230316164257.42590-1-roger.pau@citrix.com>

--------------1UqSXqjj5KvqywtnoydqCsn3
Content-Type: multipart/mixed; boundary="------------BuHd0npQfCBUCFrCT2e85RGX"

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

T24gMTYuMDMuMjMgMTc6NDIsIFJvZ2VyIFBhdSBNb25uZSB3cm90ZToNCj4gSW4gQUNQSSBz
eXN0ZW1zLCB0aGUgT1MgY2FuIGRpcmVjdCBwb3dlciBtYW5hZ2VtZW50LCBhcyBvcHBvc2Vk
IHRvIHRoZQ0KPiBmaXJtd2FyZS4gIFRoaXMgT1MtZGlyZWN0ZWQgUG93ZXIgTWFuYWdlbWVu
dCBpcyBjYWxsZWQgT1NQTS4gIFBhcnQgb2YNCj4gdGVsbGluZyB0aGUgZmlybXdhcmUgdGhh
dCB0aGUgT1MgZ29pbmcgdG8gZGlyZWN0IHBvd2VyIG1hbmFnZW1lbnQgaXMNCj4gbWFraW5n
IEFDUEkgIl9QREMiIChQcm9jZXNzb3IgRHJpdmVyIENhcGFiaWxpdGllcykgY2FsbHMuICBU
aGVzZSBfUERDDQo+IG1ldGhvZHMgbXVzdCBiZSBldmFsdWF0ZWQgZm9yIGV2ZXJ5IHByb2Nl
c3NvciBvYmplY3QuICBJZiB0aGVzZSBfUERDDQo+IGNhbGxzIGFyZSBub3QgY29tcGxldGVk
IGZvciBldmVyeSBwcm9jZXNzb3IgaXQgY2FuIGxlYWQgdG8NCj4gaW5jb25zaXN0ZW5jeSBh
bmQgbGF0ZXIgZmFpbHVyZXMgaW4gdGhpbmdzIGxpa2UgdGhlIENQVSBmcmVxdWVuY3kNCj4g
ZHJpdmVyLg0KPiANCj4gSW4gYSBYZW4gc3lzdGVtLCB0aGUgZG9tMCBrZXJuZWwgaXMgcmVz
cG9uc2libGUgZm9yIHN5c3RlbS13aWRlIHBvd2VyDQo+IG1hbmFnZW1lbnQuICBUaGUgZG9t
MCBrZXJuZWwgaXMgaW4gY2hhcmdlIG9mIE9TUE0uICBIb3dldmVyLCB0aGUNCj4gbnVtYmVy
IG9mIENQVXMgYXZhaWxhYmxlIHRvIGRvbTAgY2FuIGJlIGRpZmZlcmVudCB0aGFuIHRoZSBu
dW1iZXIgb2YNCj4gQ1BVcyBwaHlzaWNhbGx5IHByZXNlbnQgb24gdGhlIHN5c3RlbS4NCj4g
DQo+IFRoaXMgbGVhZHMgdG8gYSBwcm9ibGVtOiB0aGUgZG9tMCBrZXJuZWwgbmVlZHMgdG8g
ZXZhbHVhdGUgX1BEQyBmb3INCj4gYWxsIHRoZSBwcm9jZXNzb3JzLCBidXQgaXQgY2FuJ3Qg
YWx3YXlzIHNlZSB0aGVtLg0KPiANCj4gSW4gZG9tMCBrZXJuZWxzLCBpZ25vcmUgdGhlIGV4
aXN0aW5nIEFDUEkgbWV0aG9kIGZvciBkZXRlcm1pbmluZyBpZiBhDQo+IHByb2Nlc3NvciBp
cyBwaHlzaWNhbGx5IHByZXNlbnQgYmVjYXVzZSBpdCBtaWdodCBub3QgYmUgYWNjdXJhdGUu
DQo+IEluc3RlYWQsIGFzayB0aGUgaHlwZXJ2aXNvciBmb3IgdGhpcyBpbmZvcm1hdGlvbi4N
Cj4gDQo+IEZpeCB0aGlzIGJ5IGludHJvZHVjaW5nIGEgY3VzdG9tIGZ1bmN0aW9uIHRvIHVz
ZSB3aGVuIHJ1bm5pbmcgYXMgWGVuDQo+IGRvbTAgaW4gb3JkZXIgdG8gY2hlY2sgd2hldGhl
ciBhIHByb2Nlc3NvciBvYmplY3QgbWF0Y2hlcyBhIENQVSB0aGF0J3MNCj4gb25saW5lLiAg
U3VjaCBjaGVja2luZyBpcyBkb25lIHVzaW5nIHRoZSBleGlzdGluZyBpbmZvcm1hdGlvbiBm
ZXRjaGVkDQo+IGJ5IHRoZSBYZW4gcENQVSBzdWJzeXN0ZW0sIGV4dGVuZGluZyBpdCB0byBh
bHNvIHN0b3JlIHRoZSBBQ1BJIElELg0KPiANCj4gVGhpcyBlbnN1cmVzIHRoYXQgX1BEQyBt
ZXRob2QgZ2V0cyBldmFsdWF0ZWQgZm9yIGFsbCBwaHlzaWNhbGx5IG9ubGluZQ0KPiBDUFVz
LCByZWdhcmRsZXNzIG9mIHRoZSBudW1iZXIgb2YgQ1BVcyBtYWRlIGF2YWlsYWJsZSB0byBk
b20wLg0KPiANCj4gRml4ZXM6IDVkNTU0YTdiYjA2NCAoJ0FDUEk6IHByb2Nlc3NvcjogYWRk
IGludGVybmFsIHByb2Nlc3Nvcl9waHlzaWNhbGx5X3ByZXNlbnQoKScpDQo+IFNpZ25lZC1v
ZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KDQpSZXZp
ZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4N
Cg0K
--------------BuHd0npQfCBUCFrCT2e85RGX
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-----

--------------BuHd0npQfCBUCFrCT2e85RGX--

--------------1UqSXqjj5KvqywtnoydqCsn3--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQUYEEFAwAAAAAACgkQsN6d1ii/Ey8O
PggAhYz+qsT9bmr2RI1H1K3AgwqvREyB/CA4FU49+hvXYbHAePWoKtqpGnvOnfg+k191vhMKV8FZ
hwo67mBCjvO2gAR2jCG/temoC6/I00u45By6L1l/SNowovHcDW6SO2hlO6qFwRGi9toUKZjRJjBX
tTnoS50LsiPFmhnrbA3Lwb74pQlTwqfO7PfaxOgbzcEfMddk1K7K5V4rhLAC89q90E5o7UmzegLR
6sbu12XMvAh78LyaK89X1uPUrA3RhOJeImAT9Aw3QaPPYIzaQu1e4fBJKa1y2we+jcy0LWQ27i83
TtC/2QkzWhfTf6pXwQAn2BblXgKpb3G7RnPNrpn/8g==
=iFUi
-----END PGP SIGNATURE-----

--------------omThfDjgIeq3LyTkS0HVR9nh--


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 12:54:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 12:54:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511060.789830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pd9af-00028X-Tn; Fri, 17 Mar 2023 12:53:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511060.789830; Fri, 17 Mar 2023 12: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 1pd9af-00028Q-Ql; Fri, 17 Mar 2023 12:53:49 +0000
Received: by outflank-mailman (input) for mailman id 511060;
 Fri, 17 Mar 2023 12:53: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 1pd9ae-00028G-M1; Fri, 17 Mar 2023 12:53: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 1pd9ae-00089p-K6; Fri, 17 Mar 2023 12:53: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 1pd9ae-0003YC-8c; Fri, 17 Mar 2023 12:53:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pd9ae-0004Fz-8A; Fri, 17 Mar 2023 12:53:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KyKsYY6BLt/wHW4dR/D/YHmgapnnQKJRXsiGTjoiALE=; b=W3GrWVNQE5OMNidbWPqi65habS
	4QUapqJ+oDPw+5m2T2ePPvIVMm0ZUQZBpG54IT+N+J5aBDQz5iU5pNq0+L24+wXeK+ApWnsy77pAM
	YnxjLXQ7JrrOysunJYe6tySceXFI4gd5Z6R/ggOLrvsfLFOrogRxrW5H+ih3ZbhHw0TI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179716-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179716: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=9c0061825143716c61622966e76983886ef59361
X-Osstest-Versions-That:
    xen=36e49fc8cbad21a4308b4701caaa685ef04e120b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Mar 2023 12:53:48 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  9c0061825143716c61622966e76983886ef59361
baseline version:
 xen                  36e49fc8cbad21a4308b4701caaa685ef04e120b

Last test of basis   179687  2023-03-16 15:00:53 Z    0 days
Testing same since   179716  2023-03-17 11:01:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   36e49fc8cb..9c00618251  9c0061825143716c61622966e76983886ef59361 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 13:20:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 13:20:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511068.789860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA08-0006t5-5Q; Fri, 17 Mar 2023 13:20:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511068.789860; Fri, 17 Mar 2023 13: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 1pdA07-0006qz-Vm; Fri, 17 Mar 2023 13:20:07 +0000
Received: by outflank-mailman (input) for mailman id 511068;
 Fri, 17 Mar 2023 13:20: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=HfIU=7J=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pdA06-0006bB-OJ
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 13:20:06 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6d0915eb-c4c6-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 14:20:03 +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 5D00F176C;
 Fri, 17 Mar 2023 06:20:46 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 465803F64C;
 Fri, 17 Mar 2023 06:20:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d0915eb-c4c6-11ed-b464-930f4c7d94ae
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	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 02/10] xen/arm: add SVE vector length field to the domain
Date: Fri, 17 Mar 2023 13:19:41 +0000
Message-Id: <20230317131949.4031014-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230317131949.4031014-1-luca.fancellu@arm.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add sve_vl_bits field to arch_domain and sve_vl field to
xen_arch_domainconfig struct, to allow the domain to have an
information about the SVE feature and the number of SVE register
bits that are allowed for this domain.

sve_vl field is the vector length in bits divided by 128, this
allows to use less space in the xen_arch_domainconfig struct.

The field is used also to allow or forbid a domain to use SVE,
because a value equal to zero means the guest is not allowed to
use the feature.

Check that the requested vector length is lower or equal to the
platform supported vector length, otherwise fail on domain
creation.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - rename field in xen_arch_domainconfig from "sve_vl_bits" to
   "sve_vl" and use the implicit padding after gic_version to
   store it, now this field is the VL/128. (Jan)
 - Created domainconfig_decode_vl() function to decode the sve_vl
   field and use it as plain bits value inside arch_domain.
 - Changed commit message reflecting the changes
Changes from v1:
 - no changes
Changes from RFC:
 - restore zcr_el2 in sve_restore_state, that will be introduced
   later in this serie, so remove zcr_el2 related code from this
   patch and move everything to the later patch (Julien)
 - add explicit padding into struct xen_arch_domainconfig (Julien)
 - Don't lower down the vector length, just fail to create the
   domain. (Julien)
---
 xen/arch/arm/arm64/sve.c             |  9 ++++++++
 xen/arch/arm/domain.c                | 32 ++++++++++++++++++++++++++++
 xen/arch/arm/include/asm/arm64/sve.h | 18 ++++++++++++++++
 xen/arch/arm/include/asm/domain.h    |  5 +++++
 xen/include/public/arch-arm.h        |  2 ++
 xen/include/public/domctl.h          |  2 +-
 6 files changed, 67 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
index c466de61b47f..4a4ff5dbef49 100644
--- a/xen/arch/arm/arm64/sve.c
+++ b/xen/arch/arm/arm64/sve.c
@@ -6,6 +6,7 @@
  */
 
 #include <xen/types.h>
+#include <asm/cpufeature.h>
 #include <asm/arm64/sve.h>
 #include <asm/arm64/sysregs.h>
 #include <asm/processor.h>
@@ -48,3 +49,11 @@ register_t vl_to_zcr(uint16_t vl)
     ASSERT(vl > 0);
     return ((vl / SVE_VL_MULTIPLE_VAL) - 1U) & ZCR_ELx_LEN_MASK;
 }
+
+/* Get the system sanitized value for VL in bits */
+uint16_t get_sys_vl_len(void)
+{
+    /* ZCR_ELx len field is ((len+1) * 128) = vector bits length */
+    return ((system_cpuinfo.zcr64.bits[0] & ZCR_ELx_LEN_MASK) + 1U) *
+            SVE_VL_MULTIPLE_VAL;
+}
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index adb6ace2e24d..470e8607fabe 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -13,6 +13,7 @@
 #include <xen/wait.h>
 
 #include <asm/alternative.h>
+#include <asm/arm64/sve.h>
 #include <asm/cpuerrata.h>
 #include <asm/cpufeature.h>
 #include <asm/current.h>
@@ -550,6 +551,8 @@ int arch_vcpu_create(struct vcpu *v)
     v->arch.vmpidr = MPIDR_SMP | vcpuid_to_vaffinity(v->vcpu_id);
 
     v->arch.cptr_el2 = get_default_cptr_flags();
+    if ( is_sve_domain(v->domain) )
+        v->arch.cptr_el2 &= ~HCPTR_CP(8);
 
     v->arch.hcr_el2 = get_default_hcr_flags();
 
@@ -594,6 +597,7 @@ 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 sve_vl_bits = domainconfig_decode_vl(config->arch.sve_vl);
 
     if ( (config->flags & ~flags_optional) != flags_required )
     {
@@ -602,6 +606,31 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
         return -EINVAL;
     }
 
+    /* Check feature flags */
+    if ( sve_vl_bits > 0 ) {
+        unsigned int zcr_max_bits = get_sys_vl_len();
+
+        if ( !cpu_has_sve )
+        {
+            dprintk(XENLOG_INFO, "SVE is unsupported on this machine.\n");
+            return -EINVAL;
+        }
+        else if ( !is_vl_valid(sve_vl_bits) )
+        {
+            dprintk(XENLOG_INFO, "Unsupported SVE vector length (%u)\n",
+                    sve_vl_bits);
+            return -EINVAL;
+        }
+        else if ( sve_vl_bits > zcr_max_bits )
+        {
+            dprintk(XENLOG_INFO,
+                    "The requested SVE vector length (%u) must be lower or \n"
+                    "equal to the platform supported vector length (%u)\n",
+                    sve_vl_bits, zcr_max_bits);
+            return -EINVAL;
+        }
+    }
+
     /* The P2M table must always be shared between the CPU and the IOMMU */
     if ( config->iommu_opts & XEN_DOMCTL_IOMMU_no_sharept )
     {
@@ -744,6 +773,9 @@ int arch_domain_create(struct domain *d,
     if ( (rc = domain_vpci_init(d)) != 0 )
         goto fail;
 
+    /* Copy and decode sve_vl from the domain configuration */
+    d->arch.sve_vl_bits = domainconfig_decode_vl(config->arch.sve_vl);
+
     return 0;
 
 fail:
diff --git a/xen/arch/arm/include/asm/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
index bd56e2f24230..4b0b941c243b 100644
--- a/xen/arch/arm/include/asm/arm64/sve.h
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -13,10 +13,23 @@
 /* Vector length must be multiple of 128 */
 #define SVE_VL_MULTIPLE_VAL (128U)
 
+static inline bool is_vl_valid(uint16_t vl)
+{
+    /* SVE vector length is multiple of 128 and maximum 2048 */
+    return ((vl % SVE_VL_MULTIPLE_VAL) == 0) && (vl <= SVE_VL_MAX_BITS);
+}
+
+static inline uint16_t domainconfig_decode_vl(uint8_t sve_vl)
+{
+    /* SVE vector length is stored as VL/128 in xen_arch_domainconfig */
+    return sve_vl * SVE_VL_MULTIPLE_VAL;
+}
+
 #ifdef CONFIG_ARM64_SVE
 
 register_t compute_max_zcr(void);
 register_t vl_to_zcr(uint16_t vl);
+uint16_t get_sys_vl_len(void);
 
 #else /* !CONFIG_ARM64_SVE */
 
@@ -30,6 +43,11 @@ static inline register_t vl_to_zcr(uint16_t vl)
     return 0;
 }
 
+static inline uint16_t get_sys_vl_len(void)
+{
+    return 0;
+}
+
 #endif
 
 #endif /* _ARM_ARM64_SVE_H */
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 42eb5df320a7..1bd669e0a5c1 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 is_sve_domain(d) ((d)->arch.sve_vl_bits > 0)
+
 /*
  * Is the domain using the host memory layout?
  *
@@ -114,6 +116,9 @@ struct arch_domain
     void *tee;
 #endif
 
+    /* max SVE vector length in bits */
+    uint16_t sve_vl_bits;
+
 }  __cacheline_aligned;
 
 struct arch_vcpu
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 1528ced5097a..38311f559581 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -300,6 +300,8 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
 struct xen_arch_domainconfig {
     /* IN/OUT */
     uint8_t gic_version;
+    /* IN - Contains SVE vector length divided by 128 */
+    uint8_t sve_vl;
     /* IN */
     uint16_t tee_type;
     /* IN */
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 51be28c3de7c..616d7a1c070d 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 0x00000015
+#define XEN_DOMCTL_INTERFACE_VERSION 0x00000016
 
 /*
  * NB. xen_domctl.domain is an IN/OUT parameter for this operation.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 13:20:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 13:20:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511065.789840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA04-00064C-0K; Fri, 17 Mar 2023 13:20:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511065.789840; Fri, 17 Mar 2023 13: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 1pdA03-00063K-Sy; Fri, 17 Mar 2023 13:20:03 +0000
Received: by outflank-mailman (input) for mailman id 511065;
 Fri, 17 Mar 2023 13: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=HfIU=7J=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pdA03-0005tG-2h
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 13:20:03 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6b6e4029-c4c6-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 14:20:01 +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 987AA1480;
 Fri, 17 Mar 2023 06:20:43 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D542B3F64C;
 Fri, 17 Mar 2023 06:19: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: 6b6e4029-c4c6-11ed-87f5-c1b5be75604c
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v3 00/10] SVE feature for arm guests
Date: Fri, 17 Mar 2023 13:19:39 +0000
Message-Id: <20230317131949.4031014-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie is introducing the possibility for Dom0 and DomU guests to use
sve/sve2 instructions.

SVE feature introduces new instruction and registers to improve performances on
floating point operations.

The SVE feature is advertised using the ID_AA64PFR0_EL1 register, SVE field, and
when available the ID_AA64ZFR0_EL1 register provides additional information
about the implemented version and other SVE feature.

New registers added by the SVE feature are Z0-Z31, P0-P15, FFR, ZCR_ELx.

Z0-Z31 are scalable vector register whose size is implementation defined and
goes from 128 bits to maximum 2048, the term vector length will be used to refer
to this quantity.
P0-P15 are predicate registers and the size is the vector length divided by 8,
same size is the FFR (First Fault Register).
ZCR_ELx is a register that can control and restrict the maximum vector length
used by the <x> exception level and all the lower exception levels, so for
example EL3 can restrict the vector length usable by EL3,2,1,0.

The platform has a maximum implemented vector length, so for every value
written in ZCR register, if this value is above the implemented length, then the
lower value will be used. The RDVL instruction can be used to check what vector
length is the HW using after setting ZCR.

For an SVE guest, the V0-V31 registers are part of the Z0-Z31, so there is no
need to save them separately, saving Z0-Z31 will save implicitly also V0-V31.

SVE usage can be trapped using a flag in CPTR_EL2, hence in this serie the
register is added to the domain state, to be able to trap only the guests that
are not allowed to use SVE.

This serie is introducing a command line parameter to enable Dom0 to use SVE and
to set its maximum vector length that by default is 0 which means the guest is
not allowed to use SVE. Values from 128 to 2048 mean the guest can use SVE with
the selected value used as maximum allowed vector length (which could be lower
if the implemented one is lower).
For DomUs, an XL parameter with the same way of use is introduced and a dom0less
DTB binding is created.

The context switch is the most critical part because there can be big registers
to be saved, in this serie an easy approach is used and the context is
saved/restored every time for the guests that are allowed to use SVE.

Luca Fancellu (10):
  xen/arm: enable SVE extension for Xen
  xen/arm: add SVE vector length field to the domain
  xen/arm: Expose SVE feature to the guest
  xen/arm: add SVE exception class handling
  arm/sve: save/restore SVE context switch
  xen/arm: enable Dom0 to use SVE feature
  xen/physinfo: encode Arm SVE vector length in arch_capabilities
  tools: add physinfo arch_capabilities handling for Arm
  xen/tools: add sve parameter in XL configuration
  xen/arm: add sve property for dom0less domUs

 docs/man/xl.cfg.5.pod.in                 |  11 ++
 docs/misc/arm/device-tree/booting.txt    |   9 ++
 docs/misc/xen-command-line.pandoc        |  13 ++
 tools/golang/xenlight/helpers.gen.go     |   4 +
 tools/golang/xenlight/types.gen.go       |   2 +
 tools/include/arm-arch-capabilities.h    |  33 ++++
 tools/include/libxl.h                    |   5 +
 tools/include/xen-tools/libs.h           |   2 +
 tools/libs/light/libxl.c                 |   1 +
 tools/libs/light/libxl_arm.c             |   2 +
 tools/libs/light/libxl_internal.h        |   1 -
 tools/libs/light/libxl_types.idl         |   2 +
 tools/ocaml/libs/xc/xenctrl.ml           |   4 +-
 tools/ocaml/libs/xc/xenctrl.mli          |   4 +-
 tools/ocaml/libs/xc/xenctrl_stubs.c      |   8 +-
 tools/python/xen/lowlevel/xc/xc.c        |   8 +-
 tools/xl/xl_info.c                       |   8 +
 tools/xl/xl_parse.c                      |  26 +++-
 xen/arch/arm/Kconfig                     |  10 +-
 xen/arch/arm/arm64/Makefile              |   1 +
 xen/arch/arm/arm64/cpufeature.c          |   7 +-
 xen/arch/arm/arm64/sve-asm.S             | 189 +++++++++++++++++++++++
 xen/arch/arm/arm64/sve.c                 | 131 ++++++++++++++++
 xen/arch/arm/arm64/vfp.c                 |  79 ++++++----
 xen/arch/arm/arm64/vsysreg.c             |  39 ++++-
 xen/arch/arm/cpufeature.c                |   6 +-
 xen/arch/arm/domain.c                    |  48 +++++-
 xen/arch/arm/domain_build.c              |  11 ++
 xen/arch/arm/include/asm/arm64/sve.h     |  85 ++++++++++
 xen/arch/arm/include/asm/arm64/sysregs.h |   4 +
 xen/arch/arm/include/asm/arm64/vfp.h     |  10 ++
 xen/arch/arm/include/asm/cpufeature.h    |  14 ++
 xen/arch/arm/include/asm/domain.h        |   8 +
 xen/arch/arm/include/asm/processor.h     |   3 +
 xen/arch/arm/setup.c                     |   5 +-
 xen/arch/arm/sysctl.c                    |   3 +
 xen/arch/arm/traps.c                     |  40 +++--
 xen/include/public/arch-arm.h            |   2 +
 xen/include/public/domctl.h              |   2 +-
 xen/include/public/sysctl.h              |   4 +
 40 files changed, 769 insertions(+), 75 deletions(-)
 create mode 100644 tools/include/arm-arch-capabilities.h
 create mode 100644 xen/arch/arm/arm64/sve-asm.S
 create mode 100644 xen/arch/arm/arm64/sve.c
 create mode 100644 xen/arch/arm/include/asm/arm64/sve.h

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 13:20:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 13:20:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511066.789850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA07-0006jT-EH; Fri, 17 Mar 2023 13:20:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511066.789850; Fri, 17 Mar 2023 13:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA07-0006ij-AV; Fri, 17 Mar 2023 13:20:07 +0000
Received: by outflank-mailman (input) for mailman id 511066;
 Fri, 17 Mar 2023 13:20: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=HfIU=7J=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pdA06-0005tG-2P
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 13:20:06 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6e3cb33f-c4c6-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 14:20:05 +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 8C61C1A00;
 Fri, 17 Mar 2023 06:20:48 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DFF813F64C;
 Fri, 17 Mar 2023 06:20:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e3cb33f-c4c6-11ed-87f5-c1b5be75604c
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 04/10] xen/arm: add SVE exception class handling
Date: Fri, 17 Mar 2023 13:19:43 +0000
Message-Id: <20230317131949.4031014-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230317131949.4031014-1-luca.fancellu@arm.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

SVE has a new exception class with code 0x19, introduce the new code
and handle the exception.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - No changes
Changes from v1:
 - No changes
Changes from RFC:
 - No changes
---
 xen/arch/arm/include/asm/processor.h |  1 +
 xen/arch/arm/traps.c                 | 12 ++++++++++++
 2 files changed, 13 insertions(+)

diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
index 0e38926b94db..625c2bd0cd6c 100644
--- a/xen/arch/arm/include/asm/processor.h
+++ b/xen/arch/arm/include/asm/processor.h
@@ -426,6 +426,7 @@
 #define HSR_EC_HVC64                0x16
 #define HSR_EC_SMC64                0x17
 #define HSR_EC_SYSREG               0x18
+#define HSR_EC_SVE                  0x19
 #endif
 #define HSR_EC_INSTR_ABORT_LOWER_EL 0x20
 #define HSR_EC_INSTR_ABORT_CURR_EL  0x21
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index a78a99ddadd0..c2e30feafd5a 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -2160,6 +2160,13 @@ void do_trap_guest_sync(struct cpu_user_regs *regs)
         perfc_incr(trap_sysreg);
         do_sysreg(regs, hsr);
         break;
+    case HSR_EC_SVE:
+        GUEST_BUG_ON(regs_mode_is_32bit(regs));
+        gprintk(XENLOG_WARNING,
+                "Domain id %d tried to use SVE while not allowed\n",
+                current->domain->domain_id);
+        inject_undef_exception(regs, hsr);
+        break;
 #endif
 
     case HSR_EC_INSTR_ABORT_LOWER_EL:
@@ -2189,6 +2196,11 @@ void do_trap_hyp_sync(struct cpu_user_regs *regs)
     case HSR_EC_BRK:
         do_trap_brk(regs, hsr);
         break;
+    case HSR_EC_SVE:
+        /* An SVE exception is a bug somewhere in hypervisor code */
+        printk("SVE trap at EL2.\n");
+        do_unexpected_trap("Hypervisor", regs);
+        break;
 #endif
     case HSR_EC_DATA_ABORT_CURR_EL:
     case HSR_EC_INSTR_ABORT_CURR_EL:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 13:20:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 13:20:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511067.789856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA07-0006o4-SK; Fri, 17 Mar 2023 13:20:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511067.789856; Fri, 17 Mar 2023 13:20:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA07-0006nB-KD; Fri, 17 Mar 2023 13:20:07 +0000
Received: by outflank-mailman (input) for mailman id 511067;
 Fri, 17 Mar 2023 13:20: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=HfIU=7J=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pdA06-0006bB-2P
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 13:20:06 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6c19ed19-c4c6-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 14:20:02 +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 CC01A1763;
 Fri, 17 Mar 2023 06:20:44 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 111383F64C;
 Fri, 17 Mar 2023 06:19: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: 6c19ed19-c4c6-11ed-b464-930f4c7d94ae
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 01/10] xen/arm: enable SVE extension for Xen
Date: Fri, 17 Mar 2023 13:19:40 +0000
Message-Id: <20230317131949.4031014-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230317131949.4031014-1-luca.fancellu@arm.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Enable Xen to handle the SVE extension, add code in cpufeature module
to handle ZCR SVE register, disable trapping SVE feature on system
boot only when SVE resources are accessed.
While there, correct coding style for the comment on coprocessor
trapping.

Now cptr_el2 is part of the domain context and it will be restored
on context switch, this is a preparation for saving the SVE context
which will be part of VFP operations, so restore it before the call
to save VFP registers.
To save an additional isb barrier, restore cptr_el2 before an
existing isb barrier and move the call for saving VFP context after
that barrier.

Change the KConfig entry to make ARM64_SVE symbol selectable, by
default it will be not selected.

Create sve module and sve_asm.S that contains assembly routines for
the SVE feature, this code is inspired from linux and it uses
instruction encoding to be compatible with compilers that does not
support SVE.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - renamed sve_asm.S in sve-asm.S, new files should not contain
   underscore in the name (Jan)
Changes from v1:
 - Add assert to vl_to_zcr, it is never called with vl==0, but just
   to be sure it won't in the future.
Changes from RFC:
 - Moved restoring of cptr before an existing barrier (Julien)
 - Marked the feature as unsupported for now (Julien)
 - Trap and un-trap only when using SVE resources in
   compute_max_zcr() (Julien)
---
 xen/arch/arm/Kconfig                     | 10 +++--
 xen/arch/arm/arm64/Makefile              |  1 +
 xen/arch/arm/arm64/cpufeature.c          |  7 ++--
 xen/arch/arm/arm64/sve-asm.S             | 48 +++++++++++++++++++++++
 xen/arch/arm/arm64/sve.c                 | 50 ++++++++++++++++++++++++
 xen/arch/arm/cpufeature.c                |  6 ++-
 xen/arch/arm/domain.c                    |  9 +++--
 xen/arch/arm/include/asm/arm64/sve.h     | 43 ++++++++++++++++++++
 xen/arch/arm/include/asm/arm64/sysregs.h |  1 +
 xen/arch/arm/include/asm/cpufeature.h    | 14 +++++++
 xen/arch/arm/include/asm/domain.h        |  1 +
 xen/arch/arm/include/asm/processor.h     |  2 +
 xen/arch/arm/setup.c                     |  5 ++-
 xen/arch/arm/traps.c                     | 28 +++++++------
 14 files changed, 201 insertions(+), 24 deletions(-)
 create mode 100644 xen/arch/arm/arm64/sve-asm.S
 create mode 100644 xen/arch/arm/arm64/sve.c
 create mode 100644 xen/arch/arm/include/asm/arm64/sve.h

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 239d3aed3c7f..41f45d8d1203 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -112,11 +112,15 @@ config ARM64_PTR_AUTH
 	  This feature is not supported in Xen.
 
 config ARM64_SVE
-	def_bool n
+	bool "Enable Scalar Vector Extension support (UNSUPPORTED)" if UNSUPPORTED
 	depends on ARM_64
 	help
-	  Scalar Vector Extension support.
-	  This feature is not supported in Xen.
+	  Scalar Vector Extension (SVE/SVE2) support for guests.
+
+	  Please be aware that currently, enabling this feature will add latency on
+	  VM context switch between SVE enabled guests, between not-enabled SVE
+	  guests and SVE enabled guests and viceversa, compared to the time
+	  required to switch between not-enabled SVE guests.
 
 config ARM64_MTE
 	def_bool n
diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index 6d507da0d44d..24e08fd42596 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -12,6 +12,7 @@ obj-y += insn.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o
 obj-y += smc.o
 obj-y += smpboot.o
+obj-$(CONFIG_ARM64_SVE) += sve.o sve-asm.o
 obj-y += traps.o
 obj-y += vfp.o
 obj-y += vsysreg.o
diff --git a/xen/arch/arm/arm64/cpufeature.c b/xen/arch/arm/arm64/cpufeature.c
index d9039d37b2d1..b4656ff4d80f 100644
--- a/xen/arch/arm/arm64/cpufeature.c
+++ b/xen/arch/arm/arm64/cpufeature.c
@@ -455,15 +455,11 @@ static const struct arm64_ftr_bits ftr_id_dfr1[] = {
 	ARM64_FTR_END,
 };
 
-#if 0
-/* TODO: use this to sanitize SVE once we support it */
-
 static const struct arm64_ftr_bits ftr_zcr[] = {
 	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE,
 		ZCR_ELx_LEN_SHIFT, ZCR_ELx_LEN_SIZE, 0),	/* LEN */
 	ARM64_FTR_END,
 };
-#endif
 
 /*
  * Common ftr bits for a 32bit register with all hidden, strict
@@ -603,6 +599,9 @@ void update_system_features(const struct cpuinfo_arm *new)
 
 	SANITIZE_ID_REG(zfr64, 0, aa64zfr0);
 
+	if ( cpu_has_sve )
+		SANITIZE_REG(zcr64, 0, zcr);
+
 	/*
 	 * Comment from Linux:
 	 * Userspace may perform DC ZVA instructions. Mismatched block sizes
diff --git a/xen/arch/arm/arm64/sve-asm.S b/xen/arch/arm/arm64/sve-asm.S
new file mode 100644
index 000000000000..4d1549344733
--- /dev/null
+++ b/xen/arch/arm/arm64/sve-asm.S
@@ -0,0 +1,48 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Arm SVE assembly routines
+ *
+ * Copyright (C) 2022 ARM Ltd.
+ *
+ * Some macros and instruction encoding in this file are taken from linux 6.1.1,
+ * file arch/arm64/include/asm/fpsimdmacros.h, some of them are a modified
+ * version.
+ */
+
+/* Sanity-check macros to help avoid encoding garbage instructions */
+
+.macro _check_general_reg nr
+    .if (\nr) < 0 || (\nr) > 30
+        .error "Bad register number \nr."
+    .endif
+.endm
+
+.macro _check_num n, min, max
+    .if (\n) < (\min) || (\n) > (\max)
+        .error "Number \n out of range [\min,\max]"
+    .endif
+.endm
+
+/* SVE instruction encodings for non-SVE-capable assemblers */
+/* (pre binutils 2.28, all kernel capable clang versions support SVE) */
+
+/* RDVL X\nx, #\imm */
+.macro _sve_rdvl nx, imm
+    _check_general_reg \nx
+    _check_num (\imm), -0x20, 0x1f
+    .inst 0x04bf5000                \
+        | (\nx)                     \
+        | (((\imm) & 0x3f) << 5)
+.endm
+
+/* Gets the current vector register size in bytes */
+GLOBAL(sve_get_hw_vl)
+    _sve_rdvl 0, 1
+    ret
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
new file mode 100644
index 000000000000..c466de61b47f
--- /dev/null
+++ b/xen/arch/arm/arm64/sve.c
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Arm SVE feature code
+ *
+ * Copyright (C) 2022 ARM Ltd.
+ */
+
+#include <xen/types.h>
+#include <asm/arm64/sve.h>
+#include <asm/arm64/sysregs.h>
+#include <asm/processor.h>
+#include <asm/system.h>
+
+extern unsigned int sve_get_hw_vl(void);
+
+register_t compute_max_zcr(void)
+{
+    register_t cptr_bits = get_default_cptr_flags();
+    register_t zcr = vl_to_zcr(SVE_VL_MAX_BITS);
+    unsigned int hw_vl;
+
+    /* Remove trap for SVE resources */
+    WRITE_SYSREG(cptr_bits & ~HCPTR_CP(8), CPTR_EL2);
+    isb();
+
+    /*
+     * Set the maximum SVE vector length, doing that we will know the VL
+     * supported by the platform, calling sve_get_hw_vl()
+     */
+    WRITE_SYSREG(zcr, ZCR_EL2);
+
+    /*
+     * Read the maximum VL, which could be lower than what we imposed before,
+     * hw_vl contains VL in bytes, multiply it by 8 to use vl_to_zcr() later
+     */
+    hw_vl = sve_get_hw_vl() * 8U;
+
+    /* Restore CPTR_EL2 */
+    WRITE_SYSREG(cptr_bits, CPTR_EL2);
+    isb();
+
+    return vl_to_zcr(hw_vl);
+}
+
+/* Takes a vector length in bits and returns the ZCR_ELx encoding */
+register_t vl_to_zcr(uint16_t vl)
+{
+    ASSERT(vl > 0);
+    return ((vl / SVE_VL_MULTIPLE_VAL) - 1U) & ZCR_ELx_LEN_MASK;
+}
diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
index c4ec38bb2554..83b84368f6d5 100644
--- a/xen/arch/arm/cpufeature.c
+++ b/xen/arch/arm/cpufeature.c
@@ -9,6 +9,7 @@
 #include <xen/init.h>
 #include <xen/smp.h>
 #include <xen/stop_machine.h>
+#include <asm/arm64/sve.h>
 #include <asm/cpufeature.h>
 
 DECLARE_BITMAP(cpu_hwcaps, ARM_NCAPS);
@@ -143,6 +144,9 @@ void identify_cpu(struct cpuinfo_arm *c)
 
     c->zfr64.bits[0] = READ_SYSREG(ID_AA64ZFR0_EL1);
 
+    if ( cpu_has_sve )
+        c->zcr64.bits[0] = compute_max_zcr();
+
     c->dczid.bits[0] = READ_SYSREG(DCZID_EL0);
 
     c->ctr.bits[0] = READ_SYSREG(CTR_EL0);
@@ -199,7 +203,7 @@ static int __init create_guest_cpuinfo(void)
     guest_cpuinfo.pfr64.mpam = 0;
     guest_cpuinfo.pfr64.mpam_frac = 0;
 
-    /* Hide SVE as Xen does not support it */
+    /* Hide SVE by default to the guests */
     guest_cpuinfo.pfr64.sve = 0;
     guest_cpuinfo.zfr64.bits[0] = 0;
 
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 99577adb6c69..adb6ace2e24d 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -181,9 +181,6 @@ static void ctxt_switch_to(struct vcpu *n)
     /* VGIC */
     gic_restore_state(n);
 
-    /* VFP */
-    vfp_restore_state(n);
-
     /* XXX MPU */
 
     /* Fault Status */
@@ -234,6 +231,7 @@ static void ctxt_switch_to(struct vcpu *n)
     p2m_restore_state(n);
 
     /* Control Registers */
+    WRITE_SYSREG(n->arch.cptr_el2, CPTR_EL2);
     WRITE_SYSREG(n->arch.cpacr, CPACR_EL1);
 
     /*
@@ -258,6 +256,9 @@ static void ctxt_switch_to(struct vcpu *n)
 #endif
     isb();
 
+    /* VFP */
+    vfp_restore_state(n);
+
     /* CP 15 */
     WRITE_SYSREG(n->arch.csselr, CSSELR_EL1);
 
@@ -548,6 +549,8 @@ int arch_vcpu_create(struct vcpu *v)
 
     v->arch.vmpidr = MPIDR_SMP | vcpuid_to_vaffinity(v->vcpu_id);
 
+    v->arch.cptr_el2 = get_default_cptr_flags();
+
     v->arch.hcr_el2 = get_default_hcr_flags();
 
     v->arch.mdcr_el2 = HDCR_TDRA | HDCR_TDOSA | HDCR_TDA;
diff --git a/xen/arch/arm/include/asm/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
new file mode 100644
index 000000000000..bd56e2f24230
--- /dev/null
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -0,0 +1,43 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Arm SVE feature code
+ *
+ * Copyright (C) 2022 ARM Ltd.
+ */
+
+#ifndef _ARM_ARM64_SVE_H
+#define _ARM_ARM64_SVE_H
+
+#define SVE_VL_MAX_BITS (2048U)
+
+/* Vector length must be multiple of 128 */
+#define SVE_VL_MULTIPLE_VAL (128U)
+
+#ifdef CONFIG_ARM64_SVE
+
+register_t compute_max_zcr(void);
+register_t vl_to_zcr(uint16_t vl);
+
+#else /* !CONFIG_ARM64_SVE */
+
+static inline register_t compute_max_zcr(void)
+{
+    return 0;
+}
+
+static inline register_t vl_to_zcr(uint16_t vl)
+{
+    return 0;
+}
+
+#endif
+
+#endif /* _ARM_ARM64_SVE_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/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
index 463899951414..4cabb9eb4d5e 100644
--- a/xen/arch/arm/include/asm/arm64/sysregs.h
+++ b/xen/arch/arm/include/asm/arm64/sysregs.h
@@ -24,6 +24,7 @@
 #define ICH_EISR_EL2              S3_4_C12_C11_3
 #define ICH_ELSR_EL2              S3_4_C12_C11_5
 #define ICH_VMCR_EL2              S3_4_C12_C11_7
+#define ZCR_EL2                   S3_4_C1_C2_0
 
 #define __LR0_EL2(x)              S3_4_C12_C12_ ## x
 #define __LR8_EL2(x)              S3_4_C12_C13_ ## x
diff --git a/xen/arch/arm/include/asm/cpufeature.h b/xen/arch/arm/include/asm/cpufeature.h
index c62cf6293fd6..6d703e051906 100644
--- a/xen/arch/arm/include/asm/cpufeature.h
+++ b/xen/arch/arm/include/asm/cpufeature.h
@@ -32,6 +32,12 @@
 #define cpu_has_thumbee   (boot_cpu_feature32(thumbee) == 1)
 #define cpu_has_aarch32   (cpu_has_arm || cpu_has_thumb)
 
+#ifdef CONFIG_ARM64_SVE
+#define cpu_has_sve       (boot_cpu_feature64(sve) == 1)
+#else
+#define cpu_has_sve       (0)
+#endif
+
 #ifdef CONFIG_ARM_32
 #define cpu_has_gicv3     (boot_cpu_feature32(gic) >= 1)
 #define cpu_has_gentimer  (boot_cpu_feature32(gentimer) == 1)
@@ -323,6 +329,14 @@ struct cpuinfo_arm {
         };
     } isa64;
 
+    union {
+        register_t bits[1];
+        struct {
+            unsigned long len:4;
+            unsigned long __res0:60;
+        };
+    } zcr64;
+
     struct {
         register_t bits[1];
     } zfr64;
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 0e310601e846..42eb5df320a7 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -190,6 +190,7 @@ struct arch_vcpu
     register_t tpidrro_el0;
 
     /* HYP configuration */
+    register_t cptr_el2;
     register_t hcr_el2;
     register_t mdcr_el2;
 
diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
index 1dd81d7d528f..0e38926b94db 100644
--- a/xen/arch/arm/include/asm/processor.h
+++ b/xen/arch/arm/include/asm/processor.h
@@ -583,6 +583,8 @@ void do_trap_guest_serror(struct cpu_user_regs *regs);
 
 register_t get_default_hcr_flags(void);
 
+register_t get_default_cptr_flags(void);
+
 /*
  * Synchronize SError unless the feature is selected.
  * This is relying on the SErrors are currently unmasked.
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 1f26f67b90e3..5459cc4f5e62 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -135,10 +135,11 @@ static void __init processor_id(void)
            cpu_has_el2_32 ? "64+32" : cpu_has_el2_64 ? "64" : "No",
            cpu_has_el1_32 ? "64+32" : cpu_has_el1_64 ? "64" : "No",
            cpu_has_el0_32 ? "64+32" : cpu_has_el0_64 ? "64" : "No");
-    printk("    Extensions:%s%s%s\n",
+    printk("    Extensions:%s%s%s%s\n",
            cpu_has_fp ? " FloatingPoint" : "",
            cpu_has_simd ? " AdvancedSIMD" : "",
-           cpu_has_gicv3 ? " GICv3-SysReg" : "");
+           cpu_has_gicv3 ? " GICv3-SysReg" : "",
+           cpu_has_sve ? " SVE" : "");
 
     /* Warn user if we find unknown floating-point features */
     if ( cpu_has_fp && (boot_cpu_feature64(fp) >= 2) )
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 061c92acbd68..a78a99ddadd0 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -93,6 +93,21 @@ register_t get_default_hcr_flags(void)
              HCR_TID3|HCR_TSC|HCR_TAC|HCR_SWIO|HCR_TIDCP|HCR_FB|HCR_TSW);
 }
 
+register_t get_default_cptr_flags(void)
+{
+    /*
+     * Trap all coprocessor registers (0-13) except cp10 and
+     * cp11 for VFP.
+     *
+     * /!\ All coprocessors except cp10 and cp11 cannot be used in Xen.
+     *
+     * On ARM64 the TCPx bits which we set here (0..9,12,13) are all
+     * RES1, i.e. they would trap whether we did this write or not.
+     */
+    return  ((HCPTR_CP_MASK & ~(HCPTR_CP(10) | HCPTR_CP(11))) |
+             HCPTR_TTA | HCPTR_TAM);
+}
+
 static enum {
     SERRORS_DIVERSE,
     SERRORS_PANIC,
@@ -122,6 +137,7 @@ __initcall(update_serrors_cpu_caps);
 
 void init_traps(void)
 {
+    register_t cptr_bits = get_default_cptr_flags();
     /*
      * Setup Hyp vector base. Note they might get updated with the
      * branch predictor hardening.
@@ -135,17 +151,7 @@ void init_traps(void)
     /* Trap CP15 c15 used for implementation defined registers */
     WRITE_SYSREG(HSTR_T(15), HSTR_EL2);
 
-    /* Trap all coprocessor registers (0-13) except cp10 and
-     * cp11 for VFP.
-     *
-     * /!\ All coprocessors except cp10 and cp11 cannot be used in Xen.
-     *
-     * On ARM64 the TCPx bits which we set here (0..9,12,13) are all
-     * RES1, i.e. they would trap whether we did this write or not.
-     */
-    WRITE_SYSREG((HCPTR_CP_MASK & ~(HCPTR_CP(10) | HCPTR_CP(11))) |
-                 HCPTR_TTA | HCPTR_TAM,
-                 CPTR_EL2);
+    WRITE_SYSREG(cptr_bits, CPTR_EL2);
 
     /*
      * Configure HCR_EL2 with the bare minimum to run Xen until a guest
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 13:20:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 13:20:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511069.789879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA09-0007Um-QH; Fri, 17 Mar 2023 13:20:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511069.789879; Fri, 17 Mar 2023 13: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 1pdA09-0007T9-K7; Fri, 17 Mar 2023 13:20:09 +0000
Received: by outflank-mailman (input) for mailman id 511069;
 Fri, 17 Mar 2023 13:20: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=HfIU=7J=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pdA07-0006bB-OW
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 13:20:07 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 6da89d49-c4c6-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 14:20: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 7505919F0;
 Fri, 17 Mar 2023 06:20:47 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C839A3F64C;
 Fri, 17 Mar 2023 06:20: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: 6da89d49-c4c6-11ed-b464-930f4c7d94ae
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 03/10] xen/arm: Expose SVE feature to the guest
Date: Fri, 17 Mar 2023 13:19:42 +0000
Message-Id: <20230317131949.4031014-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230317131949.4031014-1-luca.fancellu@arm.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When a guest is allowed to use SVE, expose the SVE features through
the identification registers.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - no changes
Changes from v1:
 - No changes
Changes from RFC:
 - No changes
---
 xen/arch/arm/arm64/vsysreg.c | 39 ++++++++++++++++++++++++++++++++++--
 1 file changed, 37 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
index 758750983c11..10048bb4d221 100644
--- a/xen/arch/arm/arm64/vsysreg.c
+++ b/xen/arch/arm/arm64/vsysreg.c
@@ -18,6 +18,7 @@
 
 #include <xen/sched.h>
 
+#include <asm/arm64/cpufeature.h>
 #include <asm/current.h>
 #include <asm/regs.h>
 #include <asm/traps.h>
@@ -295,7 +296,28 @@ void do_sysreg(struct cpu_user_regs *regs,
     GENERATE_TID3_INFO(MVFR0_EL1, mvfr, 0)
     GENERATE_TID3_INFO(MVFR1_EL1, mvfr, 1)
     GENERATE_TID3_INFO(MVFR2_EL1, mvfr, 2)
-    GENERATE_TID3_INFO(ID_AA64PFR0_EL1, pfr64, 0)
+
+    case HSR_SYSREG_ID_AA64PFR0_EL1:
+    {
+        register_t guest_reg_value = guest_cpuinfo.pfr64.bits[0];
+
+        if ( is_sve_domain(v->domain) )
+        {
+            /* 4 is the SVE field width in id_aa64pfr0_el1 */
+            uint64_t mask = GENMASK(ID_AA64PFR0_SVE_SHIFT + 4 - 1,
+                                    ID_AA64PFR0_SVE_SHIFT);
+            /* sysval is the sve field on the system */
+            uint64_t sysval = cpuid_feature_extract_unsigned_field_width(
+                                system_cpuinfo.pfr64.bits[0],
+                                ID_AA64PFR0_SVE_SHIFT, 4);
+            guest_reg_value &= ~mask;
+            guest_reg_value |= (sysval << ID_AA64PFR0_SVE_SHIFT) & mask;
+        }
+
+        return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr, 1,
+                                  guest_reg_value);
+    }
+
     GENERATE_TID3_INFO(ID_AA64PFR1_EL1, pfr64, 1)
     GENERATE_TID3_INFO(ID_AA64DFR0_EL1, dbg64, 0)
     GENERATE_TID3_INFO(ID_AA64DFR1_EL1, dbg64, 1)
@@ -306,7 +328,20 @@ void do_sysreg(struct cpu_user_regs *regs,
     GENERATE_TID3_INFO(ID_AA64MMFR2_EL1, mm64, 2)
     GENERATE_TID3_INFO(ID_AA64AFR0_EL1, aux64, 0)
     GENERATE_TID3_INFO(ID_AA64AFR1_EL1, aux64, 1)
-    GENERATE_TID3_INFO(ID_AA64ZFR0_EL1, zfr64, 0)
+
+    case HSR_SYSREG_ID_AA64ZFR0_EL1:
+    {
+        /*
+         * When the guest has the SVE feature enabled, the whole id_aa64zfr0_el1
+         * needs to be exposed.
+         */
+        register_t guest_reg_value = guest_cpuinfo.zfr64.bits[0];
+        if ( is_sve_domain(v->domain) )
+            guest_reg_value = system_cpuinfo.zfr64.bits[0];
+
+        return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr, 1,
+                                  guest_reg_value);
+    }
 
     /*
      * Those cases are catching all Reserved registers trapped by TID3 which
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 13:20:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 13:20:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511070.789885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA0A-0007ZK-7U; Fri, 17 Mar 2023 13:20:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511070.789885; Fri, 17 Mar 2023 13: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 1pdA09-0007YO-Ux; Fri, 17 Mar 2023 13:20:09 +0000
Received: by outflank-mailman (input) for mailman id 511070;
 Fri, 17 Mar 2023 13:20: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=HfIU=7J=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pdA08-0005tG-2O
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 13:20:08 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6f006979-c4c6-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 14:20:06 +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 BF86B1763;
 Fri, 17 Mar 2023 06:20:49 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0435B3F64C;
 Fri, 17 Mar 2023 06:20: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: 6f006979-c4c6-11ed-87f5-c1b5be75604c
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 05/10] arm/sve: save/restore SVE context switch
Date: Fri, 17 Mar 2023 13:19:44 +0000
Message-Id: <20230317131949.4031014-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230317131949.4031014-1-luca.fancellu@arm.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Save/restore context switch for SVE, allocate memory to contain
the Z0-31 registers whose length is maximum 2048 bits each and
FFR who can be maximum 256 bits, the allocated memory depends on
how many bits is the vector length for the domain and how many bits
are supported by the platform.

Save P0-15 whose length is maximum 256 bits each, in this case the
memory used is from the fpregs field in struct vfp_state,
because V0-31 are part of Z0-31 and this space would have been
unused for SVE domain otherwise.

Create zcr_el{1,2} fields in arch_vcpu, initialise zcr_el2 on vcpu
creation given the requested vector length and restore it on
context switch, save/restore ZCR_EL1 value as well.

Remove headers from sve.c that are already included using
xen/sched.h.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - No changes
Changes from v1:
 - No changes
Changes from RFC:
 - Moved zcr_el2 field introduction in this patch, restore its
   content inside sve_restore_state function. (Julien)
---
 xen/arch/arm/arm64/sve-asm.S             | 141 +++++++++++++++++++++++
 xen/arch/arm/arm64/sve.c                 |  65 ++++++++++-
 xen/arch/arm/arm64/vfp.c                 |  79 +++++++------
 xen/arch/arm/domain.c                    |   7 ++
 xen/arch/arm/include/asm/arm64/sve.h     |  13 +++
 xen/arch/arm/include/asm/arm64/sysregs.h |   3 +
 xen/arch/arm/include/asm/arm64/vfp.h     |  10 ++
 xen/arch/arm/include/asm/domain.h        |   2 +
 8 files changed, 281 insertions(+), 39 deletions(-)

diff --git a/xen/arch/arm/arm64/sve-asm.S b/xen/arch/arm/arm64/sve-asm.S
index 4d1549344733..8c37d7bc95d5 100644
--- a/xen/arch/arm/arm64/sve-asm.S
+++ b/xen/arch/arm/arm64/sve-asm.S
@@ -17,6 +17,18 @@
     .endif
 .endm
 
+.macro _sve_check_zreg znr
+    .if (\znr) < 0 || (\znr) > 31
+        .error "Bad Scalable Vector Extension vector register number \znr."
+    .endif
+.endm
+
+.macro _sve_check_preg pnr
+    .if (\pnr) < 0 || (\pnr) > 15
+        .error "Bad Scalable Vector Extension predicate register number \pnr."
+    .endif
+.endm
+
 .macro _check_num n, min, max
     .if (\n) < (\min) || (\n) > (\max)
         .error "Number \n out of range [\min,\max]"
@@ -26,6 +38,54 @@
 /* SVE instruction encodings for non-SVE-capable assemblers */
 /* (pre binutils 2.28, all kernel capable clang versions support SVE) */
 
+/* STR (vector): STR Z\nz, [X\nxbase, #\offset, MUL VL] */
+.macro _sve_str_v nz, nxbase, offset=0
+    _sve_check_zreg \nz
+    _check_general_reg \nxbase
+    _check_num (\offset), -0x100, 0xff
+    .inst 0xe5804000                \
+        | (\nz)                     \
+        | ((\nxbase) << 5)          \
+        | (((\offset) & 7) << 10)   \
+        | (((\offset) & 0x1f8) << 13)
+.endm
+
+/* LDR (vector): LDR Z\nz, [X\nxbase, #\offset, MUL VL] */
+.macro _sve_ldr_v nz, nxbase, offset=0
+    _sve_check_zreg \nz
+    _check_general_reg \nxbase
+    _check_num (\offset), -0x100, 0xff
+    .inst 0x85804000                \
+        | (\nz)                     \
+        | ((\nxbase) << 5)          \
+        | (((\offset) & 7) << 10)   \
+        | (((\offset) & 0x1f8) << 13)
+.endm
+
+/* STR (predicate): STR P\np, [X\nxbase, #\offset, MUL VL] */
+.macro _sve_str_p np, nxbase, offset=0
+    _sve_check_preg \np
+    _check_general_reg \nxbase
+    _check_num (\offset), -0x100, 0xff
+    .inst 0xe5800000                \
+        | (\np)                     \
+        | ((\nxbase) << 5)          \
+        | (((\offset) & 7) << 10)   \
+        | (((\offset) & 0x1f8) << 13)
+.endm
+
+/* LDR (predicate): LDR P\np, [X\nxbase, #\offset, MUL VL] */
+.macro _sve_ldr_p np, nxbase, offset=0
+    _sve_check_preg \np
+    _check_general_reg \nxbase
+    _check_num (\offset), -0x100, 0xff
+    .inst 0x85800000                \
+        | (\np)                     \
+        | ((\nxbase) << 5)          \
+        | (((\offset) & 7) << 10)   \
+        | (((\offset) & 0x1f8) << 13)
+.endm
+
 /* RDVL X\nx, #\imm */
 .macro _sve_rdvl nx, imm
     _check_general_reg \nx
@@ -35,11 +95,92 @@
         | (((\imm) & 0x3f) << 5)
 .endm
 
+/* RDFFR (unpredicated): RDFFR P\np.B */
+.macro _sve_rdffr np
+    _sve_check_preg \np
+    .inst 0x2519f000                \
+        | (\np)
+.endm
+
+/* WRFFR P\np.B */
+.macro _sve_wrffr np
+    _sve_check_preg \np
+    .inst 0x25289000                \
+        | ((\np) << 5)
+.endm
+
+.macro __for from:req, to:req
+    .if (\from) == (\to)
+        _for__body %\from
+    .else
+        __for %\from, %((\from) + ((\to) - (\from)) / 2)
+        __for %((\from) + ((\to) - (\from)) / 2 + 1), %\to
+    .endif
+.endm
+
+.macro _for var:req, from:req, to:req, insn:vararg
+    .macro _for__body \var:req
+        .noaltmacro
+        \insn
+        .altmacro
+    .endm
+
+    .altmacro
+    __for \from, \to
+    .noaltmacro
+
+    .purgem _for__body
+.endm
+
+.macro sve_save nxzffrctx, nxpctx, save_ffr
+    _for n, 0, 31, _sve_str_v \n, \nxzffrctx, \n - 32
+    _for n, 0, 15, _sve_str_p \n, \nxpctx, \n
+        cbz \save_ffr, 1f
+        _sve_rdffr 0
+        _sve_str_p 0, \nxzffrctx
+        _sve_ldr_p 0, \nxpctx
+        b 2f
+1:
+        str xzr, [x\nxzffrctx]      // Zero out FFR
+2:
+.endm
+
+.macro sve_load nxzffrctx, nxpctx, restore_ffr
+    _for n, 0, 31, _sve_ldr_v \n, \nxzffrctx, \n - 32
+        cbz \restore_ffr, 1f
+        _sve_ldr_p 0, \nxzffrctx
+        _sve_wrffr 0
+1:
+    _for n, 0, 15, _sve_ldr_p \n, \nxpctx, \n
+.endm
+
 /* Gets the current vector register size in bytes */
 GLOBAL(sve_get_hw_vl)
     _sve_rdvl 0, 1
     ret
 
+/*
+ * Save the SVE context
+ *
+ * x0 - pointer to buffer for Z0-31 + FFR
+ * x1 - pointer to buffer for P0-15
+ * x2 - Save FFR if non-zero
+ */
+GLOBAL(sve_save_ctx)
+    sve_save 0, 1, x2
+    ret
+
+/*
+ * Load the SVE context
+ *
+ * x0 - pointer to buffer for Z0-31 + FFR
+ * x1 - pointer to buffer for P0-15
+ * x2 - Restore FFR if non-zero
+ */
+GLOBAL(sve_load_ctx)
+    sve_load 0, 1, x2
+    ret
+
 /*
  * Local variables:
  * mode: ASM
diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
index 4a4ff5dbef49..1b95a3cbadd1 100644
--- a/xen/arch/arm/arm64/sve.c
+++ b/xen/arch/arm/arm64/sve.c
@@ -5,14 +5,29 @@
  * Copyright (C) 2022 ARM Ltd.
  */
 
-#include <xen/types.h>
-#include <asm/cpufeature.h>
+#include <xen/sched.h>
+#include <xen/sizes.h>
 #include <asm/arm64/sve.h>
-#include <asm/arm64/sysregs.h>
-#include <asm/processor.h>
-#include <asm/system.h>
 
 extern unsigned int sve_get_hw_vl(void);
+extern void sve_save_ctx(uint64_t *sve_ctx, uint64_t *pregs, int save_ffr);
+extern void sve_load_ctx(uint64_t const *sve_ctx, uint64_t const *pregs,
+                         int restore_ffr);
+
+static inline uint16_t sve_zreg_ctx_size(uint16_t vl)
+{
+    /*
+     * Z0-31 registers size in bytes is computed from VL that is in bits, so VL
+     * in bytes is VL/8.
+     */
+    return (vl / 8U) * 32U;
+}
+
+static inline uint16_t sve_ffrreg_ctx_size(uint16_t vl)
+{
+    /* FFR register size is VL/8, which is in bytes (VL/8)/8 */
+    return (vl / 64U);
+}
 
 register_t compute_max_zcr(void)
 {
@@ -57,3 +72,43 @@ uint16_t get_sys_vl_len(void)
     return ((system_cpuinfo.zcr64.bits[0] & ZCR_ELx_LEN_MASK) + 1U) *
             SVE_VL_MULTIPLE_VAL;
 }
+
+int sve_context_init(struct vcpu *v)
+{
+    uint64_t *ctx = _xzalloc(sve_zreg_ctx_size(v->domain->arch.sve_vl_bits) +
+                             sve_ffrreg_ctx_size(v->domain->arch.sve_vl_bits),
+                             L1_CACHE_BYTES);
+
+    if ( !ctx )
+        return -ENOMEM;
+
+    v->arch.vfp.sve_context = ctx;
+
+    return 0;
+}
+
+void sve_context_free(struct vcpu *v)
+{
+    xfree(v->arch.vfp.sve_context);
+}
+
+void sve_save_state(struct vcpu *v)
+{
+    uint64_t *sve_ctx_zreg_end = v->arch.vfp.sve_context +
+            (sve_zreg_ctx_size(v->domain->arch.sve_vl_bits) / sizeof(uint64_t));
+
+    v->arch.zcr_el1 = READ_SYSREG(ZCR_EL1);
+
+    sve_save_ctx(sve_ctx_zreg_end, v->arch.vfp.fpregs, 1);
+}
+
+void sve_restore_state(struct vcpu *v)
+{
+    uint64_t *sve_ctx_zreg_end = v->arch.vfp.sve_context +
+            (sve_zreg_ctx_size(v->domain->arch.sve_vl_bits) / sizeof(uint64_t));
+
+    WRITE_SYSREG(v->arch.zcr_el1, ZCR_EL1);
+    WRITE_SYSREG(v->arch.zcr_el2, ZCR_EL2);
+
+    sve_load_ctx(sve_ctx_zreg_end, v->arch.vfp.fpregs, 1);
+}
diff --git a/xen/arch/arm/arm64/vfp.c b/xen/arch/arm/arm64/vfp.c
index 47885e76baae..2d0d7c2e6ddb 100644
--- a/xen/arch/arm/arm64/vfp.c
+++ b/xen/arch/arm/arm64/vfp.c
@@ -2,29 +2,35 @@
 #include <asm/processor.h>
 #include <asm/cpufeature.h>
 #include <asm/vfp.h>
+#include <asm/arm64/sve.h>
 
 void vfp_save_state(struct vcpu *v)
 {
     if ( !cpu_has_fp )
         return;
 
-    asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
-                 "stp q2, q3, [%1, #16 * 2]\n\t"
-                 "stp q4, q5, [%1, #16 * 4]\n\t"
-                 "stp q6, q7, [%1, #16 * 6]\n\t"
-                 "stp q8, q9, [%1, #16 * 8]\n\t"
-                 "stp q10, q11, [%1, #16 * 10]\n\t"
-                 "stp q12, q13, [%1, #16 * 12]\n\t"
-                 "stp q14, q15, [%1, #16 * 14]\n\t"
-                 "stp q16, q17, [%1, #16 * 16]\n\t"
-                 "stp q18, q19, [%1, #16 * 18]\n\t"
-                 "stp q20, q21, [%1, #16 * 20]\n\t"
-                 "stp q22, q23, [%1, #16 * 22]\n\t"
-                 "stp q24, q25, [%1, #16 * 24]\n\t"
-                 "stp q26, q27, [%1, #16 * 26]\n\t"
-                 "stp q28, q29, [%1, #16 * 28]\n\t"
-                 "stp q30, q31, [%1, #16 * 30]\n\t"
-                 : "=Q" (*v->arch.vfp.fpregs) : "r" (v->arch.vfp.fpregs));
+    if ( is_sve_domain(v->domain) )
+        sve_save_state(v);
+    else
+    {
+        asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
+                     "stp q2, q3, [%1, #16 * 2]\n\t"
+                     "stp q4, q5, [%1, #16 * 4]\n\t"
+                     "stp q6, q7, [%1, #16 * 6]\n\t"
+                     "stp q8, q9, [%1, #16 * 8]\n\t"
+                     "stp q10, q11, [%1, #16 * 10]\n\t"
+                     "stp q12, q13, [%1, #16 * 12]\n\t"
+                     "stp q14, q15, [%1, #16 * 14]\n\t"
+                     "stp q16, q17, [%1, #16 * 16]\n\t"
+                     "stp q18, q19, [%1, #16 * 18]\n\t"
+                     "stp q20, q21, [%1, #16 * 20]\n\t"
+                     "stp q22, q23, [%1, #16 * 22]\n\t"
+                     "stp q24, q25, [%1, #16 * 24]\n\t"
+                     "stp q26, q27, [%1, #16 * 26]\n\t"
+                     "stp q28, q29, [%1, #16 * 28]\n\t"
+                     "stp q30, q31, [%1, #16 * 30]\n\t"
+                     : "=Q" (*v->arch.vfp.fpregs) : "r" (v->arch.vfp.fpregs));
+    }
 
     v->arch.vfp.fpsr = READ_SYSREG(FPSR);
     v->arch.vfp.fpcr = READ_SYSREG(FPCR);
@@ -37,23 +43,28 @@ void vfp_restore_state(struct vcpu *v)
     if ( !cpu_has_fp )
         return;
 
-    asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
-                 "ldp q2, q3, [%1, #16 * 2]\n\t"
-                 "ldp q4, q5, [%1, #16 * 4]\n\t"
-                 "ldp q6, q7, [%1, #16 * 6]\n\t"
-                 "ldp q8, q9, [%1, #16 * 8]\n\t"
-                 "ldp q10, q11, [%1, #16 * 10]\n\t"
-                 "ldp q12, q13, [%1, #16 * 12]\n\t"
-                 "ldp q14, q15, [%1, #16 * 14]\n\t"
-                 "ldp q16, q17, [%1, #16 * 16]\n\t"
-                 "ldp q18, q19, [%1, #16 * 18]\n\t"
-                 "ldp q20, q21, [%1, #16 * 20]\n\t"
-                 "ldp q22, q23, [%1, #16 * 22]\n\t"
-                 "ldp q24, q25, [%1, #16 * 24]\n\t"
-                 "ldp q26, q27, [%1, #16 * 26]\n\t"
-                 "ldp q28, q29, [%1, #16 * 28]\n\t"
-                 "ldp q30, q31, [%1, #16 * 30]\n\t"
-                 : : "Q" (*v->arch.vfp.fpregs), "r" (v->arch.vfp.fpregs));
+    if ( is_sve_domain(v->domain) )
+        sve_restore_state(v);
+    else
+    {
+        asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
+                     "ldp q2, q3, [%1, #16 * 2]\n\t"
+                     "ldp q4, q5, [%1, #16 * 4]\n\t"
+                     "ldp q6, q7, [%1, #16 * 6]\n\t"
+                     "ldp q8, q9, [%1, #16 * 8]\n\t"
+                     "ldp q10, q11, [%1, #16 * 10]\n\t"
+                     "ldp q12, q13, [%1, #16 * 12]\n\t"
+                     "ldp q14, q15, [%1, #16 * 14]\n\t"
+                     "ldp q16, q17, [%1, #16 * 16]\n\t"
+                     "ldp q18, q19, [%1, #16 * 18]\n\t"
+                     "ldp q20, q21, [%1, #16 * 20]\n\t"
+                     "ldp q22, q23, [%1, #16 * 22]\n\t"
+                     "ldp q24, q25, [%1, #16 * 24]\n\t"
+                     "ldp q26, q27, [%1, #16 * 26]\n\t"
+                     "ldp q28, q29, [%1, #16 * 28]\n\t"
+                     "ldp q30, q31, [%1, #16 * 30]\n\t"
+                     : : "Q" (*v->arch.vfp.fpregs), "r" (v->arch.vfp.fpregs));
+    }
 
     WRITE_SYSREG(v->arch.vfp.fpsr, FPSR);
     WRITE_SYSREG(v->arch.vfp.fpcr, FPCR);
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 470e8607fabe..cb91b057020f 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -552,7 +552,12 @@ int arch_vcpu_create(struct vcpu *v)
 
     v->arch.cptr_el2 = get_default_cptr_flags();
     if ( is_sve_domain(v->domain) )
+    {
+        if ( (rc = sve_context_init(v)) != 0 )
+            goto fail;
         v->arch.cptr_el2 &= ~HCPTR_CP(8);
+        v->arch.zcr_el2 = vl_to_zcr(v->domain->arch.sve_vl_bits);
+    }
 
     v->arch.hcr_el2 = get_default_hcr_flags();
 
@@ -582,6 +587,8 @@ fail:
 
 void arch_vcpu_destroy(struct vcpu *v)
 {
+    if ( is_sve_domain(v->domain) )
+        sve_context_free(v);
     vcpu_timer_destroy(v);
     vcpu_vgic_free(v);
     free_xenheap_pages(v->arch.stack, STACK_ORDER);
diff --git a/xen/arch/arm/include/asm/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
index 4b0b941c243b..ced010f42dad 100644
--- a/xen/arch/arm/include/asm/arm64/sve.h
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -30,6 +30,10 @@ static inline uint16_t domainconfig_decode_vl(uint8_t sve_vl)
 register_t compute_max_zcr(void);
 register_t vl_to_zcr(uint16_t vl);
 uint16_t get_sys_vl_len(void);
+int sve_context_init(struct vcpu *v);
+void sve_context_free(struct vcpu *v);
+void sve_save_state(struct vcpu *v);
+void sve_restore_state(struct vcpu *v);
 
 #else /* !CONFIG_ARM64_SVE */
 
@@ -48,6 +52,15 @@ static inline uint16_t get_sys_vl_len(void)
     return 0;
 }
 
+static inline int sve_context_init(struct vcpu *v)
+{
+    return 0;
+}
+
+static inline void sve_context_free(struct vcpu *v) {}
+static inline void sve_save_state(struct vcpu *v) {}
+static inline void sve_restore_state(struct vcpu *v) {}
+
 #endif
 
 #endif /* _ARM_ARM64_SVE_H */
diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
index 4cabb9eb4d5e..3fdeb9d8cdef 100644
--- a/xen/arch/arm/include/asm/arm64/sysregs.h
+++ b/xen/arch/arm/include/asm/arm64/sysregs.h
@@ -88,6 +88,9 @@
 #ifndef ID_AA64ISAR2_EL1
 #define ID_AA64ISAR2_EL1            S3_0_C0_C6_2
 #endif
+#ifndef ZCR_EL1
+#define ZCR_EL1                     S3_0_C1_C2_0
+#endif
 
 /* ID registers (imported from arm64/include/asm/sysreg.h in Linux) */
 
diff --git a/xen/arch/arm/include/asm/arm64/vfp.h b/xen/arch/arm/include/asm/arm64/vfp.h
index e6e8c363bc16..8af714cb8ecc 100644
--- a/xen/arch/arm/include/asm/arm64/vfp.h
+++ b/xen/arch/arm/include/asm/arm64/vfp.h
@@ -6,7 +6,17 @@
 
 struct vfp_state
 {
+    /*
+     * When SVE is enabled for the guest, fpregs memory will be used to
+     * save/restore P0-P15 registers, otherwise it will be used for the V0-V31
+     * registers.
+     */
     uint64_t fpregs[64] __vfp_aligned;
+    /*
+     * When SVE is enabled for the guest, sve_context contains memory to
+     * save/restore Z0-Z31 registers and FFR.
+     */
+    uint64_t *sve_context;
     register_t fpcr;
     register_t fpexc32_el2;
     register_t fpsr;
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 1bd669e0a5c1..4d1066750a9b 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -195,6 +195,8 @@ struct arch_vcpu
     register_t tpidrro_el0;
 
     /* HYP configuration */
+    register_t zcr_el1;
+    register_t zcr_el2;
     register_t cptr_el2;
     register_t hcr_el2;
     register_t mdcr_el2;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 13:20:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 13:20:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511071.789889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA0A-0007gL-IE; Fri, 17 Mar 2023 13:20:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511071.789889; Fri, 17 Mar 2023 13: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 1pdA0A-0007da-BF; Fri, 17 Mar 2023 13:20:10 +0000
Received: by outflank-mailman (input) for mailman id 511071;
 Fri, 17 Mar 2023 13:20: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=HfIU=7J=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pdA09-0005tG-5H
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 13:20:09 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 6ffc890f-c4c6-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 14:20: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 4E42719F0;
 Fri, 17 Mar 2023 06:20:51 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 379FC3F64C;
 Fri, 17 Mar 2023 06:20:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ffc890f-c4c6-11ed-87f5-c1b5be75604c
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 06/10] xen/arm: enable Dom0 to use SVE feature
Date: Fri, 17 Mar 2023 13:19:45 +0000
Message-Id: <20230317131949.4031014-7-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230317131949.4031014-1-luca.fancellu@arm.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a command line parameter to allow Dom0 the use of SVE resources,
the command line parameter dom0_sve controls the feature on this
domain and sets the maximum SVE vector length for Dom0.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - xen_domctl_createdomain field has changed into sve_vl and its
   value now is the VL / 128, create an helper function for that.
Changes from v1:
 - No changes
Changes from RFC:
 - Changed docs to explain that the domain won't be created if the
   requested vector length is above the supported one from the
   platform.
---
 docs/misc/xen-command-line.pandoc    | 13 +++++++++++++
 xen/arch/arm/arm64/sve.c             |  5 +++++
 xen/arch/arm/domain_build.c          |  4 ++++
 xen/arch/arm/include/asm/arm64/sve.h |  9 +++++++++
 4 files changed, 31 insertions(+)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index e0b89b7d3319..595e0d17183c 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1005,6 +1005,19 @@ restrictions set up here. Note that the values to be specified here are
 ACPI PXM ones, not Xen internal node numbers. `relaxed` sets up vCPU
 affinities to prefer but be not limited to the specified node(s).
 
+### dom0_sve (arm)
+> `= <integer>`
+
+> Default: `0`
+
+Enable arm SVE usage for Dom0 domain and sets the maximum SVE vector length.
+Values above 0 means feature is enabled for Dom0, otherwise feature is disabled.
+Possible values are from 0 to maximum 2048, being multiple of 128, that will be
+the maximum vector length.
+Please note that the platform can supports a lower value, if the requested value
+is above the supported one, the domain creation will fail and the system will
+stop.
+
 ### dom0_vcpus_pin
 > `= <boolean>`
 
diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
index 1b95a3cbadd1..6593b59b58e8 100644
--- a/xen/arch/arm/arm64/sve.c
+++ b/xen/arch/arm/arm64/sve.c
@@ -5,10 +5,15 @@
  * Copyright (C) 2022 ARM Ltd.
  */
 
+#include <xen/param.h>
 #include <xen/sched.h>
 #include <xen/sizes.h>
 #include <asm/arm64/sve.h>
 
+/* opt_dom0_sve: allow Dom0 to use SVE and set maximum vector length. */
+unsigned int __initdata opt_dom0_sve;
+integer_param("dom0_sve", opt_dom0_sve);
+
 extern unsigned int sve_get_hw_vl(void);
 extern void sve_save_ctx(uint64_t *sve_ctx, uint64_t *pregs, int save_ffr);
 extern void sve_load_ctx(uint64_t const *sve_ctx, uint64_t const *pregs,
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 9707eb7b1bb1..aa5ff52b90c2 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -26,6 +26,7 @@
 #include <asm/platform.h>
 #include <asm/psci.h>
 #include <asm/setup.h>
+#include <asm/arm64/sve.h>
 #include <asm/cpufeature.h>
 #include <asm/domain_build.h>
 #include <xen/event.h>
@@ -4084,6 +4085,9 @@ void __init create_dom0(void)
     if ( iommu_enabled )
         dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
 
+    if ( opt_dom0_sve > 0 )
+        dom0_cfg.arch.sve_vl = domainconfig_encode_vl(opt_dom0_sve);
+
     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/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
index ced010f42dad..8654b0fac4bc 100644
--- a/xen/arch/arm/include/asm/arm64/sve.h
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -25,8 +25,15 @@ static inline uint16_t domainconfig_decode_vl(uint8_t sve_vl)
     return sve_vl * SVE_VL_MULTIPLE_VAL;
 }
 
+static inline uint8_t domainconfig_encode_vl(uint16_t sve_vl_bits)
+{
+    return sve_vl_bits / SVE_VL_MULTIPLE_VAL;
+}
+
 #ifdef CONFIG_ARM64_SVE
 
+extern unsigned int opt_dom0_sve;
+
 register_t compute_max_zcr(void);
 register_t vl_to_zcr(uint16_t vl);
 uint16_t get_sys_vl_len(void);
@@ -37,6 +44,8 @@ void sve_restore_state(struct vcpu *v);
 
 #else /* !CONFIG_ARM64_SVE */
 
+#define opt_dom0_sve (0)
+
 static inline register_t compute_max_zcr(void)
 {
     return 0;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 13:20:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 13:20:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511072.789910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA0C-0008Mz-VN; Fri, 17 Mar 2023 13:20:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511072.789910; Fri, 17 Mar 2023 13: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 1pdA0C-0008Mc-PN; Fri, 17 Mar 2023 13:20:12 +0000
Received: by outflank-mailman (input) for mailman id 511072;
 Fri, 17 Mar 2023 13: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=HfIU=7J=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pdA0A-0005tG-J5
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 13:20:10 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 70e10710-c4c6-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 14:20: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 D0E631480;
 Fri, 17 Mar 2023 06:20:52 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id BA4333F64C;
 Fri, 17 Mar 2023 06:20:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70e10710-c4c6-11ed-87f5-c1b5be75604c
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	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 07/10] xen/physinfo: encode Arm SVE vector length in arch_capabilities
Date: Fri, 17 Mar 2023 13:19:46 +0000
Message-Id: <20230317131949.4031014-8-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230317131949.4031014-1-luca.fancellu@arm.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When the arm platform supports SVE, advertise the feature in the
field arch_capabilities in struct xen_sysctl_physinfo by encoding
the SVE vector length in it.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - Remove XEN_SYSCTL_PHYSCAP_ARM_SVE_SHFT, use MASK_INSR and
   protect with ifdef XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK (Jan)
 - Use the helper function sve_arch_cap_physinfo to encode
   the VL into physinfo arch_capabilities field.
Changes from v1:
 - Use only arch_capabilities and some defines to encode SVE VL
   (Bertrand, Stefano, Jan)
Changes from RFC:
 - new patch
---
 xen/arch/arm/arm64/sve.c             | 12 ++++++++++++
 xen/arch/arm/include/asm/arm64/sve.h |  2 ++
 xen/arch/arm/sysctl.c                |  3 +++
 xen/include/public/sysctl.h          |  4 ++++
 4 files changed, 21 insertions(+)

diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
index 6593b59b58e8..409b029e4d21 100644
--- a/xen/arch/arm/arm64/sve.c
+++ b/xen/arch/arm/arm64/sve.c
@@ -117,3 +117,15 @@ void sve_restore_state(struct vcpu *v)
 
     sve_load_ctx(sve_ctx_zreg_end, v->arch.vfp.fpregs, 1);
 }
+
+void sve_arch_cap_physinfo(uint32_t *arch_capabilities)
+{
+    if ( cpu_has_sve )
+    {
+        /* Vector length is divided by 128 to save some space */
+        uint32_t sve_vl = MASK_INSR(domainconfig_encode_vl(get_sys_vl_len()),
+                                    XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
+
+        *arch_capabilities |= sve_vl;
+    }
+}
diff --git a/xen/arch/arm/include/asm/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
index 8654b0fac4bc..34b4c39191cb 100644
--- a/xen/arch/arm/include/asm/arm64/sve.h
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -41,6 +41,7 @@ int sve_context_init(struct vcpu *v);
 void sve_context_free(struct vcpu *v);
 void sve_save_state(struct vcpu *v);
 void sve_restore_state(struct vcpu *v);
+void sve_arch_cap_physinfo(uint32_t *arch_capabilities);
 
 #else /* !CONFIG_ARM64_SVE */
 
@@ -69,6 +70,7 @@ static inline int sve_context_init(struct vcpu *v)
 static inline void sve_context_free(struct vcpu *v) {}
 static inline void sve_save_state(struct vcpu *v) {}
 static inline void sve_restore_state(struct vcpu *v) {}
+static inline void sve_arch_cap_physinfo(uint32_t *arch_capabilities) {}
 
 #endif
 
diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index b0a78a8b10d0..64e4d3e06a6b 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -11,11 +11,14 @@
 #include <xen/lib.h>
 #include <xen/errno.h>
 #include <xen/hypercall.h>
+#include <asm/arm64/sve.h>
 #include <public/sysctl.h>
 
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
+
+    sve_arch_cap_physinfo(&pi->arch_capabilities);
 }
 
 long arch_do_sysctl(struct xen_sysctl *sysctl,
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index e8dded9fb94a..99ea3fa0740b 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -94,6 +94,10 @@ struct xen_sysctl_tbuf_op {
 /* Max XEN_SYSCTL_PHYSCAP_* constant.  Used for ABI checking. */
 #define XEN_SYSCTL_PHYSCAP_MAX XEN_SYSCTL_PHYSCAP_gnttab_v2
 
+#ifdef __aarch64__
+#define XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK  (0x1FU)
+#endif
+
 struct xen_sysctl_physinfo {
     uint32_t threads_per_core;
     uint32_t cores_per_socket;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 13:20:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 13:20:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511073.789915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA0D-0008VF-Na; Fri, 17 Mar 2023 13:20:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511073.789915; Fri, 17 Mar 2023 13:20: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 1pdA0D-0008Tx-F6; Fri, 17 Mar 2023 13:20:13 +0000
Received: by outflank-mailman (input) for mailman id 511073;
 Fri, 17 Mar 2023 13:20: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=HfIU=7J=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pdA0C-0005tG-Fh
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 13:20:12 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 71d83082-c4c6-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 14:20: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 7AAB21763;
 Fri, 17 Mar 2023 06:20:54 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 494253F64C;
 Fri, 17 Mar 2023 06:20:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71d83082-c4c6-11ed-87f5-c1b5be75604c
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v3 08/10] tools: add physinfo arch_capabilities handling for Arm
Date: Fri, 17 Mar 2023 13:19:47 +0000
Message-Id: <20230317131949.4031014-9-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230317131949.4031014-1-luca.fancellu@arm.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

On Arm, the SVE vector length is encoded in arch_capabilities field
of struct xen_sysctl_physinfo, make use of this field in the tools
when building for arm.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - rename arm_arch_capabilities.h in arm-arch-capabilities.h, use
   MASK_EXTR.
 - Now arm-arch-capabilities.h needs MASK_EXTR macro, but it is
   defined in libxl_internal.h, it doesn't feel right to include
   that header so move MASK_EXTR into xen-tools/libs.h that is also
   included in libxl_internal.h
Changes from v1:
 - now SVE VL is encoded in arch_capabilities on Arm
Changes from RFC:
 - new patch
---
 tools/golang/xenlight/helpers.gen.go  |  2 ++
 tools/golang/xenlight/types.gen.go    |  1 +
 tools/include/arm-arch-capabilities.h | 33 +++++++++++++++++++++++++++
 tools/include/xen-tools/libs.h        |  2 ++
 tools/libs/light/libxl.c              |  1 +
 tools/libs/light/libxl_internal.h     |  1 -
 tools/libs/light/libxl_types.idl      |  1 +
 tools/ocaml/libs/xc/xenctrl.ml        |  4 +---
 tools/ocaml/libs/xc/xenctrl.mli       |  4 +---
 tools/ocaml/libs/xc/xenctrl_stubs.c   |  8 ++++---
 tools/python/xen/lowlevel/xc/xc.c     |  8 +++++--
 tools/xl/xl_info.c                    |  8 +++++++
 12 files changed, 61 insertions(+), 12 deletions(-)
 create mode 100644 tools/include/arm-arch-capabilities.h

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index 0a203d22321f..35397be2f9e2 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -3506,6 +3506,7 @@ x.CapVmtrace = bool(xc.cap_vmtrace)
 x.CapVpmu = bool(xc.cap_vpmu)
 x.CapGnttabV1 = bool(xc.cap_gnttab_v1)
 x.CapGnttabV2 = bool(xc.cap_gnttab_v2)
+x.ArchCapabilities = uint32(xc.arch_capabilities)
 
  return nil}
 
@@ -3540,6 +3541,7 @@ xc.cap_vmtrace = C.bool(x.CapVmtrace)
 xc.cap_vpmu = C.bool(x.CapVpmu)
 xc.cap_gnttab_v1 = C.bool(x.CapGnttabV1)
 xc.cap_gnttab_v2 = C.bool(x.CapGnttabV2)
+xc.arch_capabilities = C.uint32_t(x.ArchCapabilities)
 
  return nil
  }
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index a7c17699f80e..3d968a496744 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -1079,6 +1079,7 @@ CapVmtrace bool
 CapVpmu bool
 CapGnttabV1 bool
 CapGnttabV2 bool
+ArchCapabilities uint32
 }
 
 type Connectorinfo struct {
diff --git a/tools/include/arm-arch-capabilities.h b/tools/include/arm-arch-capabilities.h
new file mode 100644
index 000000000000..e07384652b14
--- /dev/null
+++ b/tools/include/arm-arch-capabilities.h
@@ -0,0 +1,33 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2023 ARM Ltd.
+ */
+
+#ifndef ARM_ARCH_CAPABILITIES_H
+#define ARM_ARCH_CAPABILITIES_H
+
+/* Tell the Xen public headers we are a user-space tools build. */
+#ifndef __XEN_TOOLS__
+#define __XEN_TOOLS__ 1
+#endif
+
+#include <stdint.h>
+#include <xen/sysctl.h>
+
+#include <xen-tools/libs.h>
+
+static inline
+unsigned int arch_capabilities_arm_sve(unsigned int arch_capabilities)
+{
+#if defined(__aarch64__)
+    unsigned int sve_vl = MASK_EXTR(arch_capabilities,
+                                    XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
+
+    /* Vector length is divided by 128 before storing it in arch_capabilities */
+    return sve_vl * 128U;
+#else
+    return 0;
+#endif
+}
+
+#endif /* ARM_ARCH_CAPABILITIES_H */
diff --git a/tools/include/xen-tools/libs.h b/tools/include/xen-tools/libs.h
index bafc90e2f603..8850dcef4b7f 100644
--- a/tools/include/xen-tools/libs.h
+++ b/tools/include/xen-tools/libs.h
@@ -63,6 +63,8 @@
 #define ROUNDUP(_x,_w) (((unsigned long)(_x)+(1UL<<(_w))-1) & ~((1UL<<(_w))-1))
 #endif
 
+#define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
+
 #ifndef __must_check
 #define __must_check __attribute__((__warn_unused_result__))
 #endif
diff --git a/tools/libs/light/libxl.c b/tools/libs/light/libxl.c
index a0bf7d186f69..175d6dde0b80 100644
--- a/tools/libs/light/libxl.c
+++ b/tools/libs/light/libxl.c
@@ -409,6 +409,7 @@ int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo)
         !!(xcphysinfo.capabilities & XEN_SYSCTL_PHYSCAP_gnttab_v1);
     physinfo->cap_gnttab_v2 =
         !!(xcphysinfo.capabilities & XEN_SYSCTL_PHYSCAP_gnttab_v2);
+    physinfo->arch_capabilities = xcphysinfo.arch_capabilities;
 
     GC_FREE;
     return 0;
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index ad982d691ab9..e8c1b2c2d3e7 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -132,7 +132,6 @@
 
 #define DIV_ROUNDUP(n, d) (((n) + (d) - 1) / (d))
 
-#define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
 #define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
 
 #define LIBXL__LOGGING_ENABLED
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index c10292e0d7e3..fd31dacf7d5a 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -1133,6 +1133,7 @@ libxl_physinfo = Struct("physinfo", [
     ("cap_vpmu", bool),
     ("cap_gnttab_v1", bool),
     ("cap_gnttab_v2", bool),
+    ("arch_capabilities", uint32),
     ], dir=DIR_OUT)
 
 libxl_connectorinfo = Struct("connectorinfo", [
diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index e4096bf92c1d..bf23ca50bb15 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -128,12 +128,10 @@ type physinfo_cap_flag =
   | CAP_Gnttab_v1
   | CAP_Gnttab_v2
 
-type arm_physinfo_cap_flag
-
 type x86_physinfo_cap_flag
 
 type arch_physinfo_cap_flags =
-  | ARM of arm_physinfo_cap_flag list
+  | ARM of int
   | X86 of x86_physinfo_cap_flag list
 
 type physinfo =
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
index ef2254537430..ed1e28ea30a0 100644
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -113,12 +113,10 @@ type physinfo_cap_flag =
   | CAP_Gnttab_v1
   | CAP_Gnttab_v2
 
-type arm_physinfo_cap_flag
-
 type x86_physinfo_cap_flag
 
 type arch_physinfo_cap_flags =
-  | ARM of arm_physinfo_cap_flag list
+  | ARM of int
   | X86 of x86_physinfo_cap_flag list
 
 type physinfo = {
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index ed1cbafdb488..2036fd290339 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -853,13 +853,15 @@ CAMLprim value stub_xc_physinfo(value xch_val)
 	arch_cap_list = Tag_cons;
 
 	arch_cap_flags_tag = 1; /* tag x86 */
-#else
-	caml_failwith("Unhandled architecture");
-#endif
 
 	arch_cap_flags = caml_alloc_small(1, arch_cap_flags_tag);
 	Store_field(arch_cap_flags, 0, arch_cap_list);
 	Store_field(physinfo, 10, arch_cap_flags);
+#elif defined(__aarch64__)
+	Store_field(physinfo, 10, Val_int(c_physinfo.arch_capabilities));
+#else
+	caml_failwith("Unhandled architecture");
+#endif
 
 	CAMLreturn(physinfo);
 }
diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c
index cfb2734a992b..6bbed965cbc0 100644
--- a/tools/python/xen/lowlevel/xc/xc.c
+++ b/tools/python/xen/lowlevel/xc/xc.c
@@ -7,6 +7,7 @@
 #define PY_SSIZE_T_CLEAN
 #include <Python.h>
 #define XC_WANT_COMPAT_MAP_FOREIGN_API
+#include <arm-arch-capabilities.h>
 #include <xenctrl.h>
 #include <xenguest.h>
 #include <fcntl.h>
@@ -897,7 +898,7 @@ static PyObject *pyxc_physinfo(XcObject *self)
     if ( p != virt_caps )
       *(p-1) = '\0';
 
-    return Py_BuildValue("{s:i,s:i,s:i,s:i,s:l,s:l,s:l,s:i,s:s,s:s}",
+    return Py_BuildValue("{s:i,s:i,s:i,s:i,s:l,s:l,s:l,s:i,s:s,s:s,s:i}",
                             "nr_nodes",         pinfo.nr_nodes,
                             "threads_per_core", pinfo.threads_per_core,
                             "cores_per_socket", pinfo.cores_per_socket,
@@ -907,7 +908,10 @@ static PyObject *pyxc_physinfo(XcObject *self)
                             "scrub_memory",     pages_to_kib(pinfo.scrub_pages),
                             "cpu_khz",          pinfo.cpu_khz,
                             "hw_caps",          cpu_cap,
-                            "virt_caps",        virt_caps);
+                            "virt_caps",        virt_caps,
+                            "arm_sve_vl",
+                              arch_capabilities_arm_sve(pinfo.arch_capabilities)
+                        );
 }
 
 static PyObject *pyxc_getcpuinfo(XcObject *self, PyObject *args, PyObject *kwds)
diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index 712b7638b013..bf18ba2449ef 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -14,6 +14,7 @@
 
 #define _GNU_SOURCE
 
+#include <arm-arch-capabilities.h>
 #include <fcntl.h>
 #include <inttypes.h>
 #include <stdlib.h>
@@ -224,6 +225,13 @@ static void output_physinfo(void)
          info.cap_gnttab_v2 ? " gnttab-v2" : ""
         );
 
+    /* Print arm SVE vector length only on ARM platforms */
+#if defined(__aarch64__)
+    maybe_printf("arm_sve_vector_length  : %u\n",
+         arch_capabilities_arm_sve(info.arch_capabilities)
+        );
+#endif
+
     vinfo = libxl_get_version_info(ctx);
     if (vinfo) {
         i = (1 << 20) / vinfo->pagesize;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 13:20:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 13:20:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511074.789930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA0G-0000bD-58; Fri, 17 Mar 2023 13:20:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511074.789930; Fri, 17 Mar 2023 13:20:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA0F-0000ap-VR; Fri, 17 Mar 2023 13:20:15 +0000
Received: by outflank-mailman (input) for mailman id 511074;
 Fri, 17 Mar 2023 13:20:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HfIU=7J=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pdA0D-0005tG-NP
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 13:20:13 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 72a56fad-c4c6-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 14:20: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 E26D119F0;
 Fri, 17 Mar 2023 06:20:55 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E671C3F64C;
 Fri, 17 Mar 2023 06:20:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72a56fad-c4c6-11ed-87f5-c1b5be75604c
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@cloud.com>
Subject: [PATCH v3 09/10] xen/tools: add sve parameter in XL configuration
Date: Fri, 17 Mar 2023 13:19:48 +0000
Message-Id: <20230317131949.4031014-10-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230317131949.4031014-1-luca.fancellu@arm.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add sve parameter in XL configuration to allow guests to use
SVE feature.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: George Dunlap <george.dunlap@cloud.com>
---
Changes from v2:
 - domain configuration field name has changed to sve_vl,
   also its value now is VL/128.
 - Add Ack-by George for the Golang bits
Changes from v1:
 - updated to use arch_capabilities field for vector length
Changes from RFC:
 - changed libxl_types.idl sve field to uint16
 - now toolstack uses info from physinfo to check against the
   sve XL value
 - Changed documentation
---
 docs/man/xl.cfg.5.pod.in             | 11 +++++++++++
 tools/golang/xenlight/helpers.gen.go |  2 ++
 tools/golang/xenlight/types.gen.go   |  1 +
 tools/include/libxl.h                |  5 +++++
 tools/libs/light/libxl_arm.c         |  2 ++
 tools/libs/light/libxl_types.idl     |  1 +
 tools/xl/xl_parse.c                  | 26 ++++++++++++++++++++++++--
 7 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 10f37990be57..adf48fe8ac1d 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2952,6 +2952,17 @@ Currently, only the "sbsa_uart" model is supported for ARM.
 
 =back
 
+=item B<sve="NUMBER">
+
+To enable SVE, user must specify a number different from zero, maximum 2048 and
+multiple of 128. That value will be the maximum number of SVE registers bits
+that the hypervisor will impose to this guest. If the platform has a lower
+supported bits value, then the domain creation will fail.
+A value equal to zero is the default and it means this guest is not allowed to
+use SVE.
+
+=back
+
 =head3 x86
 
 =over 4
diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index 35397be2f9e2..72a3a12a6065 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1149,6 +1149,7 @@ default:
 return fmt.Errorf("invalid union key '%v'", x.Type)}
 x.ArchArm.GicVersion = GicVersion(xc.arch_arm.gic_version)
 x.ArchArm.Vuart = VuartType(xc.arch_arm.vuart)
+x.ArchArm.Sve = uint16(xc.arch_arm.sve)
 if err := x.ArchX86.MsrRelaxed.fromC(&xc.arch_x86.msr_relaxed);err != nil {
 return fmt.Errorf("converting field ArchX86.MsrRelaxed: %v", err)
 }
@@ -1653,6 +1654,7 @@ default:
 return fmt.Errorf("invalid union key '%v'", x.Type)}
 xc.arch_arm.gic_version = C.libxl_gic_version(x.ArchArm.GicVersion)
 xc.arch_arm.vuart = C.libxl_vuart_type(x.ArchArm.Vuart)
+xc.arch_arm.sve = C.uint16_t(x.ArchArm.Sve)
 if err := x.ArchX86.MsrRelaxed.toC(&xc.arch_x86.msr_relaxed); err != nil {
 return fmt.Errorf("converting field ArchX86.MsrRelaxed: %v", err)
 }
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index 3d968a496744..3dc292b5f1be 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -564,6 +564,7 @@ TypeUnion DomainBuildInfoTypeUnion
 ArchArm struct {
 GicVersion GicVersion
 Vuart VuartType
+Sve uint16
 }
 ArchX86 struct {
 MsrRelaxed Defbool
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 5c65222f1ecb..c9719d2d785a 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -283,6 +283,11 @@
  */
 #define LIBXL_HAVE_BUILDINFO_ARCH_ARM_TEE 1
 
+/*
+ * libxl_domain_build_info has the arch_arm.sve field.
+ */
+#define LIBXL_HAVE_BUILDINFO_ARCH_ARM_SVE 1
+
 /*
  * LIBXL_HAVE_SOFT_RESET indicates that libxl supports performing
  * 'soft reset' for domains and there is 'soft_reset' shutdown reason
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index ddc7b2a15975..16a49031fd51 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -211,6 +211,8 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         return ERROR_FAIL;
     }
 
+    config->arch.sve_vl = d_config->b_info.arch_arm.sve;
+
     return 0;
 }
 
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index fd31dacf7d5a..ef4a8358e54e 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -690,6 +690,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
 
     ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
                                ("vuart", libxl_vuart_type),
+                               ("sve", uint16),
                               ])),
     ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
                               ])),
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index e344d4fda32e..3962ec6ec8cd 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -12,6 +12,7 @@
  * GNU Lesser General Public License for more details.
  */
 
+#include <arm-arch-capabilities.h>
 #include <ctype.h>
 #include <inttypes.h>
 #include <limits.h>
@@ -1317,8 +1318,6 @@ void parse_config_data(const char *config_source,
         exit(EXIT_FAILURE);
     }
 
-    libxl_physinfo_dispose(&physinfo);
-
     config= xlu_cfg_init(stderr, config_source);
     if (!config) {
         fprintf(stderr, "Failed to allocate for configuration\n");
@@ -2897,6 +2896,29 @@ skip_usbdev:
         }
     }
 
+    if (!xlu_cfg_get_long (config, "sve", &l, 0)) {
+        unsigned int arm_sve_vl =
+            arch_capabilities_arm_sve(physinfo.arch_capabilities);
+        if (!arm_sve_vl) {
+            fprintf(stderr, "SVE is not supported by the platform\n");
+            exit(-ERROR_FAIL);
+        } else if (((l % 128) != 0) || (l > 2048)) {
+            fprintf(stderr,
+                    "Invalid sve value: %ld. Needs to be <= 2048 and multiple"
+                    " of 128\n", l);
+            exit(-ERROR_FAIL);
+        } else if (l > arm_sve_vl) {
+            fprintf(stderr,
+                    "Invalid sve value: %ld. Platform supports up to %u bits\n",
+                    l, arm_sve_vl);
+            exit(-ERROR_FAIL);
+        }
+        /* Vector length is divided by 128 in domain configuration struct */
+        b_info->arch_arm.sve = l / 128U;
+    }
+
+    libxl_physinfo_dispose(&physinfo);
+
     parse_vkb_list(config, d_config);
 
     d_config->virtios = NULL;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 13:20:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 13:20:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511075.789935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA0G-0000eS-KL; Fri, 17 Mar 2023 13:20:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511075.789935; Fri, 17 Mar 2023 13:20:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA0G-0000du-CE; Fri, 17 Mar 2023 13:20:16 +0000
Received: by outflank-mailman (input) for mailman id 511075;
 Fri, 17 Mar 2023 13:20: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=HfIU=7J=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pdA0F-0006bB-FN
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 13:20:15 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 73540f93-c4c6-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 14:20:13 +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 05B201480;
 Fri, 17 Mar 2023 06:20:57 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 598183F64C;
 Fri, 17 Mar 2023 06:20:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 73540f93-c4c6-11ed-b464-930f4c7d94ae
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 10/10] xen/arm: add sve property for dom0less domUs
Date: Fri, 17 Mar 2023 13:19:49 +0000
Message-Id: <20230317131949.4031014-11-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230317131949.4031014-1-luca.fancellu@arm.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a device tree property in the dom0less domU configuration
to enable the guest to use SVE.

Update documentation.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - xen_domctl_createdomain field name has changed into sve_vl
   and its value is the VL/128, use domainconfig_encode_vl
   to encode a plain VL in bits.
Changes from v1:
 - No changes
Changes from RFC:
 - Changed documentation
---
 docs/misc/arm/device-tree/booting.txt | 9 +++++++++
 xen/arch/arm/domain_build.c           | 7 +++++++
 2 files changed, 16 insertions(+)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 3879340b5e0a..d74bf9ab1c8b 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -193,6 +193,15 @@ with the following properties:
     Optional. Handle to a xen,cpupool device tree node that identifies the
     cpupool where the guest will be started at boot.
 
+- sve
+
+    Optional. A number that, when above 0, enables SVE for this guest and sets
+    its maximum SVE vector length. The default value is 0, that means this
+    guest is not allowed to use SVE, the maximum value allowed is 2048, any
+    other value must be multiple of 128.
+    Please note that if the platform supports a lower value of bits, then the
+    domain creation will fail.
+
 - xen,enhanced
 
     A string property. Possible property values are:
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index aa5ff52b90c2..81af231d1d87 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3964,6 +3964,13 @@ void __init create_domUs(void)
             d_cfg.max_maptrack_frames = val;
         }
 
+        if ( dt_property_read_u32(node, "sve", &val) )
+        {
+            if ( val > UINT16_MAX )
+                panic("sve property value (%"PRIu32") overflow\n", val);
+            d_cfg.arch.sve_vl = domainconfig_encode_vl(val);
+        }
+
         /*
          * The variable max_init_domid is initialized with zero, so here it's
          * very important to use the pre-increment operator to call
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Mar 17 13:23:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 13:23:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511089.789950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdA3E-0004JJ-W1; Fri, 17 Mar 2023 13:23:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511089.789950; Fri, 17 Mar 2023 13: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 1pdA3E-0004JC-TN; Fri, 17 Mar 2023 13:23:20 +0000
Received: by outflank-mailman (input) for mailman id 511089;
 Fri, 17 Mar 2023 13:23: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=hL2n=7J=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pdA3D-0004DT-WF
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 13:23:20 +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 e13a0e4d-c4c6-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 14:23: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 937862187E;
 Fri, 17 Mar 2023 13:23: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 334FF13428;
 Fri, 17 Mar 2023 13:23:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mE2tCsVpFGTSVAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 17 Mar 2023 13:23:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e13a0e4d-c4c6-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679059397; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=gF7651brT7caQSsc2jrEix3SN7RITX7+MOeFG4i9BS4=;
	b=ErskkrqTCLfexaVF7cv1PKz0rDT/m5kwVhpWTpqGd767kBAroYAUHZ+6FVQNkCLETmfxv6
	N43Z0kWlkh/uqLOHp9Oy8tzgl5syN3f5DywjhaXI7Ejcfumr06+XmfN7p+7tJRYIAk6Zgd
	oCy4CPnFOdLc7pmNbbi8b9hS1Tgl+Uo=
Message-ID: <25fd6eca-a7c7-9b08-80a0-a0c998df664a@suse.com>
Date: Fri, 17 Mar 2023 14:23:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] hvc/xen: prevent concurrent accesses to the shared
 ring
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>, linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.org,
 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
 Jiri Slaby <jirislaby@kernel.org>, Jan Beulich <jbeulich@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Chris Wright <chrisw@sous-sol.org>, Ingo Molnar <mingo@elte.hu>,
 Jeremy Fitzhardinge <jeremy@xensource.com>, Olof Johansson <olof@lixom.net>,
 linuxppc-dev@lists.ozlabs.org
References: <20221130150919.13935-1-roger.pau@citrix.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <20221130150919.13935-1-roger.pau@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------gie0V2XxEfCsFniL0HzrnZyl"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------gie0V2XxEfCsFniL0HzrnZyl
Content-Type: multipart/mixed; boundary="------------AZPK0VwxiAmD9f0gJJzyGN8v";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Roger Pau Monne <roger.pau@citrix.com>, linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.org,
 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
 Jiri Slaby <jirislaby@kernel.org>, Jan Beulich <jbeulich@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Chris Wright <chrisw@sous-sol.org>, Ingo Molnar <mingo@elte.hu>,
 Jeremy Fitzhardinge <jeremy@xensource.com>, Olof Johansson <olof@lixom.net>,
 linuxppc-dev@lists.ozlabs.org
Message-ID: <25fd6eca-a7c7-9b08-80a0-a0c998df664a@suse.com>
Subject: Re: [PATCH v2] hvc/xen: prevent concurrent accesses to the shared
 ring
References: <20221130150919.13935-1-roger.pau@citrix.com>
In-Reply-To: <20221130150919.13935-1-roger.pau@citrix.com>

--------------AZPK0VwxiAmD9f0gJJzyGN8v
Content-Type: multipart/mixed; boundary="------------FGQVLPfXwFLtDKIHICeFHKy1"

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

T24gMzAuMTEuMjIgMTY6MDksIFJvZ2VyIFBhdSBNb25uZSB3cm90ZToNCj4gVGhlIGh2YyBt
YWNoaW5lcnkgcmVnaXN0ZXJzIGJvdGggYSBjb25zb2xlIGFuZCBhIHR0eSBkZXZpY2UgYmFz
ZWQgb24NCj4gdGhlIGh2IG9wcyBwcm92aWRlZCBieSB0aGUgc3BlY2lmaWMgaW1wbGVtZW50
YXRpb24uICBUaG9zZSB0d28NCj4gaW50ZXJmYWNlcyBob3dldmVyIGhhdmUgZGlmZmVyZW50
IGxvY2tzLCBhbmQgdGhlcmUncyBubyBzaW5nbGUgbG9ja3MNCj4gdGhhdCdzIHNoYXJlZCBi
ZXR3ZWVuIHRoZSB0dHkgYW5kIHRoZSBjb25zb2xlIGltcGxlbWVudGF0aW9ucywgaGVuY2UN
Cj4gdGhlIGRyaXZlciBuZWVkcyB0byBwcm90ZWN0IGl0c2VsZiBhZ2FpbnN0IGNvbmN1cnJl
bnQgYWNjZXNzZXMuDQo+IE90aGVyd2lzZSBjb25jdXJyZW50IGNhbGxzIHVzaW5nIHRoZSBz
cGxpdCBpbnRlcmZhY2VzIGFyZSBsaWtlbHkgdG8NCj4gY29ycnVwdCB0aGUgcmluZyBpbmRl
eGVzLCBsZWF2aW5nIHRoZSBjb25zb2xlIHVudXNhYmxlLg0KPiANCj4gSW50cm9kdWNlIGEg
bG9jayB0byB4ZW5jb25zX2luZm8gdG8gc2VyaWFsaXplIGFjY2Vzc2VzIHRvIHRoZSBzaGFy
ZWQNCj4gcmluZy4gIFRoaXMgaXMgb25seSByZXF1aXJlZCB3aGVuIHVzaW5nIHRoZSBzaGFy
ZWQgbWVtb3J5IGNvbnNvbGUsDQo+IGNvbmN1cnJlbnQgYWNjZXNzZXMgdG8gdGhlIGh5cGVy
Y2FsbCBiYXNlZCBjb25zb2xlIGltcGxlbWVudGF0aW9uIGFyZQ0KPiBub3QgYW4gaXNzdWUu
DQo+IA0KPiBOb3RlIHRoZSBjb25kaXRpb25hbCBsb2dpYyBpbiBkb21VX3JlYWRfY29uc29s
ZSgpIGlzIHNsaWdodGx5IG1vZGlmaWVkDQo+IHNvIHRoZSBub3RpZnlfZGFlbW9uKCkgY2Fs
bCBjYW4gYmUgZG9uZSBvdXRzaWRlIG9mIHRoZSBsb2NrZWQgcmVnaW9uOg0KPiBpdCdzIGFu
IGh5cGVyY2FsbCBhbmQgdGhlcmUncyBubyBuZWVkIGZvciBpdCB0byBiZSBkb25lIHdpdGgg
dGhlIGxvY2sNCj4gaGVsZC4NCj4gDQo+IEZpeGVzOiBiNTM2YjRiOTYyMzAgKCd4ZW46IHVz
ZSB0aGUgaHZjIGNvbnNvbGUgaW5mcmFzdHJ1Y3R1cmUgZm9yIFhlbiBjb25zb2xlJykNCj4g
U2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+
DQoNClJldmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0K
SnVlcmdlbg0KDQo=
--------------FGQVLPfXwFLtDKIHICeFHKy1
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-----

--------------FGQVLPfXwFLtDKIHICeFHKy1--

--------------AZPK0VwxiAmD9f0gJJzyGN8v--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQUacQFAwAAAAAACgkQsN6d1ii/Ey+K
PggAn0AyCpypkmATVWalZEldbjHh3OyR1GoRNfBjBG2NVjTZmvSitO3cqe8RgL9fZ36WF21XtQ5q
XvthG06ZtxvCfecd63jJ0tajxTlG+A/g9+VKuJKGIHaaHtBe/YcceveDS3r5GaFSiBNTOWqPkclP
CvPB59452Rf7Y57wBN1+rYJXTE15e1huGagXZpbIjtdW5iHrQKQT9QpSBlcEfyYdZHjUhTUaSsUp
hRmp1WM4cyPUTgdg5W/I77rk9JWHMzWC56f8d4z4ApaajqzLTuTohbuB0s6YC1ahcy+ftXcaAT8Q
USRNpt1OFrNYts8gCwcQiXWYeFeO5UDFr/vMtCKpyw==
=oESl
-----END PGP SIGNATURE-----

--------------gie0V2XxEfCsFniL0HzrnZyl--


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 13:57:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 13:57:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511117.789960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdAZm-0000UV-MO; Fri, 17 Mar 2023 13:56:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511117.789960; Fri, 17 Mar 2023 13:56: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 1pdAZm-0000UO-JO; Fri, 17 Mar 2023 13:56:58 +0000
Received: by outflank-mailman (input) for mailman id 511117;
 Fri, 17 Mar 2023 13:56: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=hL2n=7J=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pdAZk-0000UI-Id
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 13:56:56 +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 9159cab9-c4cb-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 14:56: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 095F821A73;
 Fri, 17 Mar 2023 13:56: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 D23B11346F;
 Fri, 17 Mar 2023 13:56:50 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id VVnrMaJxFGSkZwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 17 Mar 2023 13:56: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: 9159cab9-c4cb-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679061411; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=yVOY0plHPhTc7LHtuQdKGgltau9/WeTpX9ohIYDOpVQ=;
	b=kcbxcRoxySaSytoMSoGWzJb16IoQ67cbU4Snx8nE0p22UDvvF0o8QH4ZMbYAyPnd7fSjs0
	HAyaOP4n0mha+OZHospWN0rpL/vm0RZjHRtCVNsMBcfp4z+6SwREXOtK8jTFZ6gOdnauJ2
	P4YtSNvXeH+UeyDZCKrlNpe0ZfHi8BE=
Message-ID: <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
Date: Fri, 17 Mar 2023 14:56:50 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <06591b64-2f05-a4cc-a2f3-a74c3c4a76d6@suse.com>
 <51ae9cad-3644-02cb-9cc7-28229987487d@suse.com>
 <c4d2641f-7a99-fd8a-53c5-faa277c572a2@oracle.com>
 <4e66865b-11ce-cbd1-d115-13e3743eed7b@oracle.com>
 <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] x86/Xen: make use of IBPB controlling VM assist
In-Reply-To: <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------I1eqOeL9SXpAQiAX4udrGX1n"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------I1eqOeL9SXpAQiAX4udrGX1n
Content-Type: multipart/mixed; boundary="------------oEwQRoGxzBIxN9egOnMCIBqT";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
Subject: Re: [PATCH] x86/Xen: make use of IBPB controlling VM assist
References: <06591b64-2f05-a4cc-a2f3-a74c3c4a76d6@suse.com>
 <51ae9cad-3644-02cb-9cc7-28229987487d@suse.com>
 <c4d2641f-7a99-fd8a-53c5-faa277c572a2@oracle.com>
 <4e66865b-11ce-cbd1-d115-13e3743eed7b@oracle.com>
 <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>
In-Reply-To: <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>

--------------oEwQRoGxzBIxN9egOnMCIBqT
Content-Type: multipart/mixed; boundary="------------Mi07Adk0EnXgDauMkV0Lgnog"

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

T24gMTUuMDIuMjMgMDk6MzEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNS4wMi4yMDIz
IDAxOjA3LCBCb3JpcyBPc3Ryb3Zza3kgd3JvdGU6DQo+Pg0KPj4gT24gMi8xNC8yMyA2OjUz
IFBNLCBCb3JpcyBPc3Ryb3Zza3kgd3JvdGU6DQo+Pj4NCj4+PiBPbiAyLzE0LzIzIDExOjEz
IEFNLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+Pg0KPj4+PiAtLS0gYS9hcmNoL3g4Ni9rZXJu
ZWwvY3B1L2J1Z3MuYw0KPj4+PiArKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2J1Z3MuYw0K
Pj4+PiBAQCAtMTgsNiArMTgsOCBAQA0KPj4+PiAgwqAgI2luY2x1ZGUgPGxpbnV4L3BndGFi
bGUuaD4NCj4+Pj4gIMKgICNpbmNsdWRlIDxsaW51eC9icGYuaD4NCj4+Pj4gIMKgICsjaW5j
bHVkZSA8eGVuL3hlbi5oPg0KPj4+PiArDQo+Pj4+ICDCoCAjaW5jbHVkZSA8YXNtL3NwZWMt
Y3RybC5oPg0KPj4+PiAgwqAgI2luY2x1ZGUgPGFzbS9jbWRsaW5lLmg+DQo+Pj4+ICDCoCAj
aW5jbHVkZSA8YXNtL2J1Z3MuaD4NCj4+Pj4gQEAgLTMyLDYgKzM0LDcgQEANCj4+Pj4gIMKg
ICNpbmNsdWRlIDxhc20vaW50ZWwtZmFtaWx5Lmg+DQo+Pj4+ICDCoCAjaW5jbHVkZSA8YXNt
L2U4MjAvYXBpLmg+DQo+Pj4+ICDCoCAjaW5jbHVkZSA8YXNtL2h5cGVydmlzb3IuaD4NCj4+
Pj4gKyNpbmNsdWRlIDxhc20veGVuL2h5cGVydmlzb3IuaD4NCj4+Pj4gIMKgICNpbmNsdWRl
IDxhc20vdGxiZmx1c2guaD4NCj4+Pj4gIMKgIMKgICNpbmNsdWRlICJjcHUuaCINCj4+Pj4g
QEAgLTkzNCw3ICs5MzcsOCBAQCBkb19jbWRfYXV0bzoNCj4+Pj4gIMKgwqDCoMKgwqDCoMKg
wqDCoCBicmVhazsNCj4+Pj4gIMKgIMKgwqDCoMKgwqAgY2FzZSBSRVRCTEVFRF9NSVRJR0FU
SU9OX0lCUEI6DQo+Pj4+IC3CoMKgwqDCoMKgwqDCoCBzZXR1cF9mb3JjZV9jcHVfY2FwKFg4
Nl9GRUFUVVJFX0VOVFJZX0lCUEIpOw0KPj4+PiArwqDCoMKgwqDCoMKgwqAgaWYgKCF4ZW5f
cHZfZG9tYWluKCkgfHwgeGVuX3ZtX2Fzc2lzdF9pYnBiKHRydWUpKQ0KPj4+DQo+Pj4NCj4+
PiBJcyB0aGlzIGdvaW5nIHRvIGNvbXBpbGUgd2l0aG91dCBDT05GSUdfWEVOPw0KPiANCj4g
WWVzLiBUaGUgZGVjbGFyYXRpb24gb2YgeGVuX3ZtX2Fzc2lzdF9pYnBiKCkgaXMgdmlzaWJs
ZSAoc2F0aXNmeWluZw0KPiB0aGUgY29tcGlsZXIpIGFuZCBEQ0Ugd2lsbCBlbGltaW5hdGUg
dGhlIGNhbGwgdG8gdGhlIGZ1bmN0aW9uIGR1ZSB0bw0KPiB4ZW5fcHZfZG9tYWluKCkgYmVp
bmcgY29uc3RhbnQgImZhbHNlIiBpbiB0aGF0IGNhc2UsIGF2b2lkaW5nIGFueQ0KPiBsaW5r
aW5nIGlzc3Vlcy4gVGhlIGludGVyZXN0aW5nIGNhc2UgaGVyZSByZWFsbHkgaXMgYnVpbGRp
bmcgd2l0aA0KPiBYRU4gYnV0IHdpdGhvdXQgWEVOX1BWOiBUaGF0J3Mgd2h5IEkgbmVlZGVk
IHRvIHB1dCB0aGUgZnVuY3Rpb24gaW4NCj4gZW5saWdodGVuLmMuIFRoaXMgd291bGRuJ3Qg
YmUgbmVlZGVkIGlmIHhlbl9wdl9kb21haW4oKSB3YXMgYWxzbw0KPiBjb25zdGFudCAiZmFs
c2UiIGluIHRoYXQgY2FzZSAoanVzdCBsaWtlIHhlbl9wdmhfZG9tYWluKCkgaXMgd2hlbg0K
PiAhWEVOX1BWSCkuDQo+IA0KPj4+IEkgYWxzbyB0aGluayB0aGVzZSB0d28gY29uZGl0aW9u
cyBzaG91bGQgYmUgd3JhcHBlZCBpbnRvIHNvbWV0aGluZyB0byBsaW1pdCBleHBvc3VyZSBv
ZiBub24tWGVuIGNvZGUgdG8gWGVuLXNwZWNpZmljIHByaW1pdGl2ZXMuDQo+IA0KPiBJIHdv
dWxkIGhhdmUgZG9uZSBzbywgaWYgSSBoYWQgYW55IGhhbGZ3YXkgc2Vuc2libGUgaWRlYSBv
biBob3cgdG8NCj4gZ28gYWJvdXQgZG9pbmcgc28gaW4gdGhpcyBwYXJ0aWN1bGFyIGNhc2Uu
IEluIHRoZSBhYnNlbmNlIG9mIHRoYXQgaXQNCj4gbG9va2VkIG9rYXktaXNoIHRvIG1lIHRv
IHJlZmVyZW5jZSBYZW4gZnVuY3Rpb25zIGRpcmVjdGx5IGhlcmUuDQo+IA0KPj4gT2gsIGFu
ZCB0aGlzIG5lZWRzIHg4NiBtYWludGFpbmVycy4NCj4gDQo+IEV2ZW50dWFsbHkgeWVzLiBC
dXQgSSB3b3VsZCBwcmVmZXIgdG8gc29ydCB0aGUgYWJvdmUgcXVlc3Rpb24gZmlyc3QNCj4g
KHdoaWNoIEknbSBzdXJlIHdvdWxkIGhhdmUgYmVlbiByYWlzZWQgYnkgdGhlbSwgaW4gcGVy
aGFwcyBtb3JlDQo+IGhhcnNoIGEgd2F5KSwgaGVuY2UgdGhlIGluaXRpYWxseSBsaW1pdGVk
IGV4cG9zdXJlLg0KDQpJJ2QgcmF0aGVyIGFkZCBfb25lXyBob29rIGZvciBYZW4tUFYgaW4g
Y2hlY2tfYnVncygpIGp1c3QgYmVmb3JlIHRoZSBjYWxsDQpvZiBhcmNoX3NtdF91cGRhdGUo
KS4gVGhpcyBjYW4gdGhlbiBjb3JyZWN0IGFueSBuZWVkZWQgbWl0aWdhdGlvbiBzZXR0aW5n
cy4NCg0KU28gc29tZXRoaW5nIGxpa2UgKG5vdGUgdGhhdCBkdWUgdG8gdXNpbmcgY3B1X2Zl
YXR1cmVfZW5hYmxlZChYODZfRkVBVFVSRV9YRU5QVikNCkRDRSBpcyBoYXBwZW5pbmcgaW4g
Y2FzZSBDT05GSUdfWEVOX1BWIGlzbid0IGRlZmluZWQpIjoNCg0KLS0tIGEvYXJjaC94ODYv
aW5jbHVkZS9hc20veGVuL2h5cGVydmlzb3IuaA0KKysrIGIvYXJjaC94ODYvaW5jbHVkZS9h
c20veGVuL2h5cGVydmlzb3IuaA0KQEAgLTYzLDQgKzYzLDcgQEAgdm9pZCBfX2luaXQgeGVu
X3B2aF9pbml0KHN0cnVjdCBib290X3BhcmFtcyAqYm9vdF9wYXJhbXMpOw0KICB2b2lkIF9f
aW5pdCBtZW1fbWFwX3ZpYV9oY2FsbChzdHJ1Y3QgYm9vdF9wYXJhbXMgKmJvb3RfcGFyYW1z
X3ApOw0KICAjZW5kaWYNCg0KK2ludCBfX2luaXQgeGVuX3ZtX2Fzc2lzdF9pYnBiKGJvb2wg
ZW5hYmxlKTsNCit2b2lkIF9faW5pdCB4ZW5fcHZfZml4X21pdGlnYXRpb25zKHZvaWQpOw0K
Kw0KICAjZW5kaWYgLyogX0FTTV9YODZfWEVOX0hZUEVSVklTT1JfSCAqLw0KLS0tIGEvYXJj
aC94ODYva2VybmVsL2NwdS9idWdzLmMNCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYnVn
cy5jDQpAQCAtMTgsNiArMTgsOCBAQA0KICAjaW5jbHVkZSA8bGludXgvcGd0YWJsZS5oPg0K
ICAjaW5jbHVkZSA8bGludXgvYnBmLmg+DQoNCisjaW5jbHVkZSA8eGVuL3hlbi5oPg0KKw0K
ICAjaW5jbHVkZSA8YXNtL3NwZWMtY3RybC5oPg0KICAjaW5jbHVkZSA8YXNtL2NtZGxpbmUu
aD4NCiAgI2luY2x1ZGUgPGFzbS9idWdzLmg+DQpAQCAtMTc3LDYgKzE3OSw5IEBAIHZvaWQg
X19pbml0IGNoZWNrX2J1Z3Modm9pZCkNCiAgICAgICAgIHNyYmRzX3NlbGVjdF9taXRpZ2F0
aW9uKCk7DQogICAgICAgICBsMWRfZmx1c2hfc2VsZWN0X21pdGlnYXRpb24oKTsNCg0KKyAg
ICAgICBpZiAoY3B1X2ZlYXR1cmVfZW5hYmxlZChYODZfRkVBVFVSRV9YRU5QVikpDQorICAg
ICAgICAgICAgICAgeGVuX3B2X2ZpeF9taXRpZ2F0aW9ucygpOw0KKw0KICAgICAgICAgYXJj
aF9zbXRfdXBkYXRlKCk7DQoNCiAgI2lmZGVmIENPTkZJR19YODZfMzINCi0tLSBhL2FyY2gv
eDg2L3hlbi9lbmxpZ2h0ZW5fcHYuYw0KKysrIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbl9w
di5jDQpAQCAtMTQ3Niw2ICsxNDc2LDIzIEBAIHN0YXRpYyB1aW50MzJfdCBfX2luaXQgeGVu
X3BsYXRmb3JtX3B2KHZvaWQpDQogICAgICAgICByZXR1cm4gMDsNCiAgfQ0KDQoraW50IF9f
aW5pdCB4ZW5fdm1fYXNzaXN0X2licGIoYm9vbCBlbmFibGUpDQorew0KKyAgICAgICAvKg0K
KyAgICAgICAgKiBOb3RlIHRoYXQgdGhlIFZNLWFzc2lzdCBpcyBhIGRpc2FibGUsIHNvIGEg
cmVxdWVzdCB0byBlbmFibGUgSUJQQg0KKyAgICAgICAgKiBvbiBvdXIgYmVoYWxmIG5lZWRz
IHRvIHR1cm4gdGhlIGZ1bmN0aW9uYWxpdHkgb2ZmIChhbmQgdmljZSB2ZXJzYSkuDQorICAg
ICAgICAqLw0KKyAgICAgICByZXR1cm4gSFlQRVJWSVNPUl92bV9hc3Npc3QoZW5hYmxlID8g
Vk1BU1NUX0NNRF9kaXNhYmxlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOiBWTUFTU1RfQ01EX2VuYWJsZSwNCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFZNQVNTVF9UWVBFX21vZGVfc3dpdGNoX25vX2licGIpOw0KK30NCisN
Cit2b2lkIF9faW5pdCB4ZW5fcHZfZml4X21pdGlnYXRpb25zKHZvaWQpDQorew0KKyAgICAg
ICBpZiAoIXhlbl92bV9hc3Npc3RfaWJwYih0cnVlKSkNCisgICAgICAgICAgICAgICBzZXR1
cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFUVVJFX0VOVFJZX0lCUEIpOw0KK30NCisNCiAgY29u
c3QgX19pbml0Y29uc3Qgc3RydWN0IGh5cGVydmlzb3JfeDg2IHg4Nl9oeXBlcl94ZW5fcHYg
PSB7DQogICAgICAgICAubmFtZSAgICAgICAgICAgICAgICAgICA9ICJYZW4gUFYiLA0KICAg
ICAgICAgLmRldGVjdCAgICAgICAgICAgICAgICAgPSB4ZW5fcGxhdGZvcm1fcHYsDQotLS0g
YS9pbmNsdWRlL3hlbi9pbnRlcmZhY2UveGVuLmgNCisrKyBiL2luY2x1ZGUveGVuL2ludGVy
ZmFjZS94ZW4uaA0KQEAgLTQxMyw3ICs0MTMsMTUgQEAgREVGSU5FX0dVRVNUX0hBTkRMRV9T
VFJVQ1QobW11ZXh0X29wKTsNCiAgICovDQogICNkZWZpbmUgVk1BU1NUX1RZUEVfcnVuc3Rh
dGVfdXBkYXRlX2ZsYWcgNQ0KDQotI2RlZmluZSBNQVhfVk1BU1NUX1RZUEUgNQ0KKy8qDQor
ICogeDg2LTY0IGd1ZXN0czogU3VwcHJlc3MgSUJQQiBvbiBndWVzdC11c2VyIHRvIGd1ZXN0
LWtlcm5lbCBtb2RlIHN3aXRjaC4NCisgKg0KKyAqIEJ5IGRlZmF1bHQgKG9uIGFmZmVjdGVk
IGFuZCBjYXBhYmxlIGhhcmR3YXJlKSBhcyBhIHNhZmV0eSBtZWFzdXJlIFhlbiwNCisgKiB0
byBjb3ZlciBmb3IgdGhlIGZhY3QgdGhhdCBndWVzdC1rZXJuZWwgYW5kIGd1ZXN0LXVzZXIg
bW9kZXMgYXJlIGJvdGgNCisgKiBydW5uaW5nIGluIHJpbmcgMyAoYW5kIGhlbmNlIHNoYXJl
IHByZWRpY3Rpb24gY29udGV4dCksIHdvdWxkIGlzc3VlIGENCisgKiBiYXJyaWVyIGZvciB1
c2VyLT5rZXJuZWwgbW9kZSBzd2l0Y2hlcyBvZiBQViBndWVzdHMuDQorICovDQorI2RlZmlu
ZSBWTUFTU1RfVFlQRV9tb2RlX3N3aXRjaF9ub19pYnBiICAzMw0KDQogICNpZm5kZWYgX19B
U1NFTUJMWV9fDQoNCg0KSnVlcmdlbg0KDQo=
--------------Mi07Adk0EnXgDauMkV0Lgnog
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-----

--------------Mi07Adk0EnXgDauMkV0Lgnog--

--------------oEwQRoGxzBIxN9egOnMCIBqT--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQUcaIFAwAAAAAACgkQsN6d1ii/Ey9j
KAgAiG3OMwESvGIZ5EkygBdNCEvllbS1tnOz1xpJ/Tb50T3u2+hiZrrylXa0iiTKT7jDgXRMmCiD
72ID2B+rB7XngEqRbHIXiziEX0J0euIchqSG21T8G+QCSDJREU7CDzayBKoIuzAD74klhfWyP75g
7M3yZyUcQt8z+qFsw24Hb64u/k/7AURuiO3L46o7A2PpO2wFJBDhOXNt3chFPfIxdyTVXrISryNa
LSwZT+ain5A5bc3/4ZcY/NkyBDKgWyLwBF+fg98hKT2NOwUpxqoWjQ6m5e4L3wchnuaHchYEx8Uy
nHfCYmIYNY+TF6+MEYMr2GfBGG3RmXKw45Tqse3rYA==
=Lm5v
-----END PGP SIGNATURE-----

--------------I1eqOeL9SXpAQiAX4udrGX1n--


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 14:22:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 14:22:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511121.789970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdAyW-0004xs-Nf; Fri, 17 Mar 2023 14:22:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511121.789970; Fri, 17 Mar 2023 14: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 1pdAyW-0004xl-Kv; Fri, 17 Mar 2023 14:22:32 +0000
Received: by outflank-mailman (input) for mailman id 511121;
 Fri, 17 Mar 2023 14: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=eK3V=7J=citrix.com=prvs=433af36f9=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pdAyV-0004xf-Qe
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 14:22: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 2461f4ae-c4cf-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 15:22:29 +0100 (CET)
Received: from mail-bn7nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 10:22:12 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6542.namprd03.prod.outlook.com (2603:10b6:510:bc::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.20; Fri, 17 Mar
 2023 14:22:05 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 14: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: 2461f4ae-c4cf-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679062948;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=7XNZzyV+7WjiTe2r2TjDVLiqlIubP4pnqDS1T8aWt3g=;
  b=YbfJxNEeEcU9G1WxZkJDIAzVIgWt1tOFHbC7qRsokGL1bKHkQNSkjXRb
   2TLKJts/KOS/ofA6PbxQ9SoglKeH2eQ2ci7SnoSIV9YIYZta0tB61BMq1
   YD3e3uYXdizLcPRhJ2s/XcXBccP0W55yAnXg4s8NvsUaieMPUnlU1WQ/u
   M=;
X-IronPort-RemoteIP: 104.47.70.101
X-IronPort-MID: 100083359
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:G8h3DaBQ7a+zZBVW/+Xiw5YqxClBgxIJ4kV8jS/XYbTApGwq0TFSy
 jFKWT3VO/2MNzb9Lo91a4m+phhTu57VyNVqQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhB4QRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw/PksBH8Nr
 tkiFDkMUyGSuf+syaC+Rbw57igjBJGD0II3nFhFlGmcJ9B5BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTK/exuuzG7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prraXxXurA9lPRdVU8NZ6vGKXwzdJECdLD0ehisOIt0O/X+tQf
 hl8Fi0G6PJaGFaQZtvyRRqju1afowURHdFXFoUS6guA167V6AaxHXUfQ3hKb9lOnMUxXz0xk
 FiSg8nuGydsoZWSU3uW8rrSpjS3UQAFIGlHaSIaQA8t59j4vJp1nh/JVsxkEqO+kpvyAz6Y/
 tyRhC03hrFWh8hU0ay+pAjDm2j1/sGPSRMp7ALKWG7j9hl+eIOue42v7x7c8OpEK4GaCFKGu
 RDohvSj0QzHNrnV/ATlfQnHNOjBCyqtWNEEvWNSIg==
IronPort-HdrOrdr: A9a23:Jyk8JazQuMoP8QuLIFRTKrPwPb1zdoMgy1knxilNoH1uH/Bw8v
 rE9sjzuiWE6wr5J0tQ++xoVJPvfZq+z/JICOsqXYtKNTOO0FdAR7sM0WKN+Vzd8iTFh4tg6Z
 s=
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="100083359"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q8jVwwQRuH3CcTKtKyl6YPeHd1SM3q6wzL/y5AS4JqP1pH6KH/Ko/3xjdhgmZklF93QN4wR+K0vVFRzpkscuVQ6EIZCcLNXFi4LM+lIPG+Tf9aSWVYUPoTueQ/gMm7VTyEMsPyAqV8F14G30P5D5iq6OoMOFKMWvCIOir5DzqciaHw6AOmvUkMoEduY8WbMf7mKkZZ+hhVPhLfNKSJWLo6wSkOPTWDJIGEG2p65Pao0bxFChiaOE98dDE0/xu2ZMVQbvnZqBlLo4Y0e3BbRK7LfrsXj0rlBBT4mO7db96AdxvQRHBAVDZT6EwkZBLbJ+Ul9yAkkTJf/I+jLI8dSwXQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7XNZzyV+7WjiTe2r2TjDVLiqlIubP4pnqDS1T8aWt3g=;
 b=DuFvwpz2r9GW/ub531I4mEJSx/kHOJ4H69bhtAuh/lWackQW8G+l9HJA9SXfohS0VeXocM/qPFmmjteMYxHQw+eFtoVmLsLLjdHt3uQF1rFWyCnGv3ZWe2hMoueft64lmHsuUAajQJ8NkuRajzIJRhazq424frixFot1a7AvxYZNSI5se1w7Y2NZmvDQC/PPP5qBF5ZYYf81V1HS6p0IWBEkHwA+uoBIF1Jnoi4Ssxr1rMKYnvqOEfeHnCTkCJ1KIfULNDhegOG28Otmr+54v4/E3kJBKZZWDm9JPz+s8RoFUdGEn4D19Rp+WffpKx8PDf/y/s6oGWUG/2KtYmeoSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7XNZzyV+7WjiTe2r2TjDVLiqlIubP4pnqDS1T8aWt3g=;
 b=qwA5+Ofxk/i+9L5CY8LUjTtcj2H0cY0AUMwLvW2lGY8tcFJXQBLvMJDGXNHiIucox1nbDkLwEXRniQrknkRa3FwCd3UN+CSz5KLLe5ZNa7eohxMaxI5O0nfc3wrmV9f/P0AY1eJZQBqE7bT0Ja5u/XaVHtuEVabQTG33CiMTkhQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f2bd16f5-7f5b-7a0e-7cd2-e2a9dbf22102@citrix.com>
Date: Fri, 17 Mar 2023 14:21:59 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/Xen: make use of IBPB controlling VM assist
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <06591b64-2f05-a4cc-a2f3-a74c3c4a76d6@suse.com>
 <51ae9cad-3644-02cb-9cc7-28229987487d@suse.com>
 <c4d2641f-7a99-fd8a-53c5-faa277c572a2@oracle.com>
 <4e66865b-11ce-cbd1-d115-13e3743eed7b@oracle.com>
 <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>
 <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
In-Reply-To: <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0261.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:194::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB6542:EE_
X-MS-Office365-Filtering-Correlation-Id: 8d8aafcd-3f98-4675-26a5-08db26f2fbbd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LLsYbqmqvPKXY1s3kPt4wkEy1JbzCnaYWLLYGDbsdnPXB+ACUL/hcIeNQLGMhNQlQsZMxXiNjas7vIkZ27t9jzFRBLeIROucK5eIofBvM4mU1r7yGT7t/9+hPisvDO22laQcQU0TaLKOFT2TE2/ZUzlWXb69lRq/4Vd9lZhqJeq+7omgVgOEi1ASB2N7J8Hz52bcx7J78hj/REAIKYjaUxSbykYU8ZiQGhakZF+p/K9njwXvlp3RSBCNTmafCnSHpDEsaTJd6OqowiEdLXRS6/U+lVYKE9e3Z+hke/10novIX0CdSvKWepMxzSMkgmE2HclEZhFCC9+VC2vavmjgsPIP5BsRMQx3p7Mb8+yaYmMhRo+8phmcRWG1Y70Suh4/FQA69a4uznxAeAciBvrV/eOrShR/KDo9qWLLiEBqStRozzavpFPBP0r77xBRNxb7T8Hy/D/KBwtrvFaQkBo6KFd118t8iV89ukjLxscLZLUFN5yAug5CFLiyAtvXP56QXs243dVhzYwVg2qzTekR7D+Zz4Lx0aTIV8Pn2XYw0xiy+yURqkje1TcpWWOvqzOW8GCluf183dP+63VCEkWg4DWwSlMj+/ChUqY/QB+RFCM+q3xvIjYX4H72Rzag8sBgJnX2V+OdIixJcbZOulzLxSpGxXcAqJQB1hgwlEqzn5rJw9VEiwMDfG5PzWsA6RshMT0923wRZ/90k/VO8Dy1CiK94pWLw3S6yoYNnaFlXL8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(366004)(136003)(376002)(346002)(39860400002)(451199018)(5660300002)(110136005)(66946007)(83380400001)(36756003)(478600001)(66556008)(2616005)(26005)(6486002)(6506007)(186003)(8676002)(6512007)(8936002)(316002)(4326008)(41300700001)(6666004)(66476007)(53546011)(31696002)(38100700002)(86362001)(82960400001)(31686004)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WjV5eFlZc2RrLzZjUll6REEyakQ1NytYNW12NlFmUDJPRGRzN1p4TERkK0xs?=
 =?utf-8?B?UUNxQVZ3YnhlMWpJYVBkR2tqN0ttb3VseFVZcERvY0pCTjJZVDQwVFJKc0hz?=
 =?utf-8?B?Lzd0RmlEZFpTRjBjTlJWc2ZmeFI2SGJkVWtWMVFvMHkyTFhMNThaVUh6bWdV?=
 =?utf-8?B?Y0JPK3pVck1GK3VUR09GS05sNjV4NU9XdFczR1lmZWlvL2RlOVZTdWd6TWJX?=
 =?utf-8?B?NzA0N0tQeHFtYng1NWVWWjAzblRpTVZWUzdaUHovUmFac29yUjJBMHpnK0RT?=
 =?utf-8?B?bE9HYkhQTEtEY281Q3dpTmZta215dkVIaXUyN2QxVUhleUVOb0U4dkFKTFB6?=
 =?utf-8?B?SU4vZFluYlJVZHlFdE9BeXNTT3lGWXNIb2UzOHU5c2pGdDZUdmwrTkQvb0VW?=
 =?utf-8?B?VE5DekhBaytJUStibkZ2bEFmMlJWejk2M2wzUXF6T3dWNGVjQ0d5aUVvZG15?=
 =?utf-8?B?eGRKaW9YU2J0ZkRsOHBKSW56SVY1TXpOcWtlbk1nRHVoSXNSaDBhRWFyekhM?=
 =?utf-8?B?R0FxSTFCeE9yekdDNDN5bUZGU1AyRnMvOFBmakhBQmVLbTlkNGhhT1NNa1Vv?=
 =?utf-8?B?T21GaEw4aG9QbDliQWs3RklkMmNXekdFOUwxbmZUN3pUOVhDWDN3eFlvZng3?=
 =?utf-8?B?aEMvYXRDZ0FxbEwyUEpyL0grU25GV29YWDJtZU9PZ0didnF2WUZ0M1lVbXBh?=
 =?utf-8?B?L1JrTTFnSzU5SW41dmVzWk1CdjdEZ093N3VCQkVrN2M4aVIrbkVPZTZBemU4?=
 =?utf-8?B?OWxUa1d2VzdZekRaNVljQktXK2hRS3JYc1lxVzk1eFlJWWxIMy9Pck8yeERz?=
 =?utf-8?B?Wk10bHNDM2s1eFRSQ1VoZTczYXUxTmtVNkREWThwVE5SZjRNVnRabE85NE8w?=
 =?utf-8?B?dDFBUk54TUhlWDFvbHpwU0RRR3N3SVh3K2hsYW9Xak0rdzN6RDlTOGgvc3dW?=
 =?utf-8?B?L2tUYm11dzdZakdkYVQvOU1Mc2d3aXlaWlRFNkl0eE5MSWNabWErbithVHc3?=
 =?utf-8?B?Y2YwUTF1bGRDUStqbzdzY2JTYytLYTVGTnl6MnJxV2kxR1V6WE5YMXd2dkhD?=
 =?utf-8?B?dVlvZk9MRVV1UnJmUHJXUG01ZFVqZHd0d2tCay9NRHFKWUFKaXlOV01aeFds?=
 =?utf-8?B?MnNUbHJzVkxZK2dKcmtYc3pETUNTL2VwWFNSZG9XNEpzR2tUQzNWOGw4Mno1?=
 =?utf-8?B?ek1VQWQ5S1N1eDJCZDFQMTF6SFU4RUZaNmtSU1pXS2Z3OGtWNWRxTzVHYnBW?=
 =?utf-8?B?WUJ0cHl0ZEVSTEprTnFyVSs4VEZrSU9vWlFRRGZpR3QwTDIray9paVMyd3hR?=
 =?utf-8?B?dEJJRnhXRnR6eXlxOEpWS3o2eWwyZnU1V0JYQjN3ZEJoQmlMR1hGWlhlTWhv?=
 =?utf-8?B?cEVxcitUZFVIOUFkK2dWWGJtZHh2MXNRUGxDeGZSd1pqemV5Tjg5bkliMzN3?=
 =?utf-8?B?ZTJhTWhweFZpalNJUzlHdzIyVXBUZHJIL1E1V1g3Vm1YT1NEWlNlYnJWeTQz?=
 =?utf-8?B?STZra09YZTc1eUJYRnFnYU9BVWw3WWRkR1gzeFNIcDI2UDhCeG1YYUNFTTNR?=
 =?utf-8?B?Ym43SUtrQWMrQUtmamJnWDF4MFJWQU9CbC95aElleHFhZG9uUGtOYUdYdHlE?=
 =?utf-8?B?b2hEVmpNaml3L0VoQ2t2dExXczlNQkc2OE9IVmlRVnBQTlBYWlhPbzZhVHBB?=
 =?utf-8?B?SlVPMDUzRUNIQlBnYmxFYmNlSXN4Uys5UEZqK1lTQkNJeGdhWjl3eVRMdDNI?=
 =?utf-8?B?TVgzVWtWVzdhT2JPczk2b1pqbDBmN2tLamdFMy9lcFI1RFBnSU1FNC9UczJH?=
 =?utf-8?B?c3VtMDVVQk1uOUhXL1J4dW8yTzFJSTBJRDQwb2twMlFVSGoraGE0RUU2bDdZ?=
 =?utf-8?B?cWRGT2piNnFXVC9tUDEzSlJSOUV0RThFZ0NVVXdBYkY4eHJ3V3AzOURrNGk2?=
 =?utf-8?B?MUd2RWtaN3owN1ZTNmx0QzUyNk9Rd04zQ0dQWGJSYnJKOTBYRHpwdytlVkt5?=
 =?utf-8?B?N284WUJIUWxUdDc5dytQQW13bDRaQWE4TmtKZkZkdDBwdk93TWIrRFhQZ014?=
 =?utf-8?B?UnpqVEVjUFdDcm5ZQTJ5SE9lc05IUVBuTndqeWo3aFhhU3NJSDBJTGYwQjZW?=
 =?utf-8?B?QWRVMC9rWTlOK0x2UDZCeDF0SlVkaFJJdmFiUVJTeFJHTE9wVFRUbWdwQVlM?=
 =?utf-8?B?WWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	X/9iwIaasSXHYtKu1cL3BPoUZM7hvtr51x7cNSsAzDmH9DfeEWWFkwsUTCe5M/hm7Vc5lgK9gVobRh8G2ZsU02KFmdCQne6UtMQKDA1lsqsftGKHmuVRHEFDIvYY6jf9m2eYD5EeovharZRx3j/xP7oaAUp2q1rlS/npYtVr5xzbzxxMbpyrl6Tu6DbPnS/yUy4m8VtSI1Ot56uKPuLftstwKr0qmGGuTY8+2VnnhbuzuAZJdoi5bq1jg0vJa5ZzShtlEZaNymAGO26mRU6EcKTWOiUwHMPO4YI4TORZ6SdoZINtyNVUJPTPky0n2ZmwAHSDnzIVr6BQegcq3aPAzNL1jNDul047TZjh4/76Ee6P42CNPkaGi0TMkEHNXeioLrGi25TvGDAdBjI2x7uIBTgYlKhJDkLRpGaH9WwY9b15B4rPD/HbZqYTuO0mxeRCDKzMKHK2RYfbEMTm3ESjxL1EFGcACCXuiYVVMyv96yNHKGtRe2YP3iQgy105yHJLgzezZa3vdamZbNNiStXVBWT1zX8+nIkPu7sN75seDpsKmQqTPPd14MAMb4UBQKgX7ZDj0fJROPhpraOdNn9AF2yQ96mi9GRpzClqFKHrifRsCerzv5j3ClR7Chi53b2MdFjfnp4ZEj5QWDNG6qoFOn0wUTokZn/TNWvJIG3fS+BzTQckReLsclB8q/DAonLZaX2s+kbD4jwRuIkiYQrS1ByUxrF5ZmqYmKHPGvbcibq69MOdrqkR5rME2DG/CxB13ZPfXy5M9WtKfGOskDOzu5FOitTk5p/IaaaLxGkHUwkkj0AJyP2N4REe2SIrYUUJ6Cml5kC5RnuPlTzuRGzBgg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d8aafcd-3f98-4675-26a5-08db26f2fbbd
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 14:22:05.2975
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xYBQvb07WGqNSgcPTBSpw5KA54tZ59sQstN1FpYiiNCMKRcEJ3zhYPvMA94cd5WODGB4nX+t6jA4KtwkkwbpJ7F3MHFPnTgrPi4Kop6x2iU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6542

On 17/03/2023 1:56 pm, Juergen Gross wrote:
> On 15.02.23 09:31, Jan Beulich wrote:
>> On 15.02.2023 01:07, Boris Ostrovsky wrote:
>>>
>>> On 2/14/23 6:53 PM, Boris Ostrovsky wrote:
>>>>
>>>> On 2/14/23 11:13 AM, Jan Beulich wrote:
>>>>
>>>>> --- a/arch/x86/kernel/cpu/bugs.c
>>>>> +++ b/arch/x86/kernel/cpu/bugs.c
>>>>> @@ -18,6 +18,8 @@
>>>>>    #include <linux/pgtable.h>
>>>>>    #include <linux/bpf.h>
>>>>>    +#include <xen/xen.h>
>>>>> +
>>>>>    #include <asm/spec-ctrl.h>
>>>>>    #include <asm/cmdline.h>
>>>>>    #include <asm/bugs.h>
>>>>> @@ -32,6 +34,7 @@
>>>>>    #include <asm/intel-family.h>
>>>>>    #include <asm/e820/api.h>
>>>>>    #include <asm/hypervisor.h>
>>>>> +#include <asm/xen/hypervisor.h>
>>>>>    #include <asm/tlbflush.h>
>>>>>      #include "cpu.h"
>>>>> @@ -934,7 +937,8 @@ do_cmd_auto:
>>>>>            break;
>>>>>          case RETBLEED_MITIGATION_IBPB:
>>>>> -        setup_force_cpu_cap(X86_FEATURE_ENTRY_IBPB);
>>>>> +        if (!xen_pv_domain() || xen_vm_assist_ibpb(true))
>>>>
>>>>
>>>> Is this going to compile without CONFIG_XEN?
>>
>> Yes. The declaration of xen_vm_assist_ibpb() is visible (satisfying
>> the compiler) and DCE will eliminate the call to the function due to
>> xen_pv_domain() being constant "false" in that case, avoiding any
>> linking issues. The interesting case here really is building with
>> XEN but without XEN_PV: That's why I needed to put the function in
>> enlighten.c. This wouldn't be needed if xen_pv_domain() was also
>> constant "false" in that case (just like xen_pvh_domain() is when
>> !XEN_PVH).
>>
>>>> I also think these two conditions should be wrapped into something
>>>> to limit exposure of non-Xen code to Xen-specific primitives.
>>
>> I would have done so, if I had any halfway sensible idea on how to
>> go about doing so in this particular case. In the absence of that it
>> looked okay-ish to me to reference Xen functions directly here.
>>
>>> Oh, and this needs x86 maintainers.
>>
>> Eventually yes. But I would prefer to sort the above question first
>> (which I'm sure would have been raised by them, in perhaps more
>> harsh a way), hence the initially limited exposure.
>
> I'd rather add _one_ hook for Xen-PV in check_bugs() just before the call
> of arch_smt_update(). This can then correct any needed mitigation
> settings.
>
> So something like (note that due to using
> cpu_feature_enabled(X86_FEATURE_XENPV)
> DCE is happening in case CONFIG_XEN_PV isn't defined)":
>
> --- a/arch/x86/include/asm/xen/hypervisor.h
> +++ b/arch/x86/include/asm/xen/hypervisor.h
> @@ -63,4 +63,7 @@ void __init xen_pvh_init(struct boot_params
> *boot_params);
>  void __init mem_map_via_hcall(struct boot_params *boot_params_p);
>  #endif
>
> +int __init xen_vm_assist_ibpb(bool enable);
> +void __init xen_pv_fix_mitigations(void);

I'd suggest 'adjust' in preference to 'fix', but this could equally be
xen_pv_mitigations().

XenPV has very legitimate reasons to adjust things owing to it running
in Ring3, but "fix" comes with other implications too.

> --- a/arch/x86/xen/enlighten_pv.c
> +++ b/arch/x86/xen/enlighten_pv.c
> @@ -1476,6 +1476,23 @@ static uint32_t __init xen_platform_pv(void)
>         return 0;
>  }
>
> +int __init xen_vm_assist_ibpb(bool enable)
> +{
> +       /*
> +        * Note that the VM-assist is a disable, so a request to
> enable IBPB
> +        * on our behalf needs to turn the functionality off (and vice
> versa).
> +        */
> +       return HYPERVISOR_vm_assist(enable ? VMASST_CMD_disable
> +                                          : VMASST_CMD_enable,
> +                                   VMASST_TYPE_mode_switch_no_ibpb);
> +}
> +
> +void __init xen_pv_fix_mitigations(void)
> +{
> +       if (!xen_vm_assist_ibpb(true))
> +               setup_clear_cpu_cap(X86_FEATURE_ENTRY_IBPB);

If nothing else, this needs a comment explaining what's going on.

"Xen PV guest kernels run in ring3, so share the same prediction domain
as userspace.  Xen (since version $X) default to issuing an IBPB on
guest user -> guest kernel transitions on behalf of the guest kernel. 
If Linux isn't depending on mode based prediction separation, turn this
behaviour off".

But this does open the next question.  Yes, unilaterally turning turning
this off restores the prior behaviour, but is this really the best thing
to do ?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 14:29:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 14:29:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511125.789979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdB4b-0005f1-HS; Fri, 17 Mar 2023 14:28:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511125.789979; Fri, 17 Mar 2023 14: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 1pdB4b-0005eu-Ej; Fri, 17 Mar 2023 14:28:49 +0000
Received: by outflank-mailman (input) for mailman id 511125;
 Fri, 17 Mar 2023 14: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=hL2n=7J=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pdB4Z-0005eo-MG
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 14:28:47 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 059ff75f-c4d0-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 15:28: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 B609F1FDB2;
 Fri, 17 Mar 2023 14:28: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 8BA691346F;
 Fri, 17 Mar 2023 14:28:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id MkjNIBt5FGQ2eAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 17 Mar 2023 14:28: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: 059ff75f-c4d0-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679063323; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=O5Jf0xVKE+pUtHLXlGBgyhF8R2BilaEQbONAuLxM17E=;
	b=Wk841XGluEPkTv6g78YmXnc0Ka0Awn7LHF4owmlBmEuP5/kFEBQNw6tPA7+UI6yfrhOSTb
	IUqKz6eDYQNRap8O+akCfo5Vab8+TkJWlFjZEE9QH4al/GNtv9EmUW3hZ5mr8VxbQw3ldX
	dLuTV+uFAe4QSVB2rfzBwPoQ4Njvt/Y=
Message-ID: <a02a2f7d-ab76-b755-584b-f738884abd04@suse.com>
Date: Fri, 17 Mar 2023 15:28:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86/Xen: make use of IBPB controlling VM assist
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <06591b64-2f05-a4cc-a2f3-a74c3c4a76d6@suse.com>
 <51ae9cad-3644-02cb-9cc7-28229987487d@suse.com>
 <c4d2641f-7a99-fd8a-53c5-faa277c572a2@oracle.com>
 <4e66865b-11ce-cbd1-d115-13e3743eed7b@oracle.com>
 <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>
 <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
 <f2bd16f5-7f5b-7a0e-7cd2-e2a9dbf22102@citrix.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <f2bd16f5-7f5b-7a0e-7cd2-e2a9dbf22102@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------jMCRNha8YFcuOmnexg39V0o0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------jMCRNha8YFcuOmnexg39V0o0
Content-Type: multipart/mixed; boundary="------------ErDrWyFUvV0tIzROYT5TvXQR";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <a02a2f7d-ab76-b755-584b-f738884abd04@suse.com>
Subject: Re: [PATCH] x86/Xen: make use of IBPB controlling VM assist
References: <06591b64-2f05-a4cc-a2f3-a74c3c4a76d6@suse.com>
 <51ae9cad-3644-02cb-9cc7-28229987487d@suse.com>
 <c4d2641f-7a99-fd8a-53c5-faa277c572a2@oracle.com>
 <4e66865b-11ce-cbd1-d115-13e3743eed7b@oracle.com>
 <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>
 <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
 <f2bd16f5-7f5b-7a0e-7cd2-e2a9dbf22102@citrix.com>
In-Reply-To: <f2bd16f5-7f5b-7a0e-7cd2-e2a9dbf22102@citrix.com>

--------------ErDrWyFUvV0tIzROYT5TvXQR
Content-Type: multipart/mixed; boundary="------------PAlJTD5ytSy2vXPGCAdibZ0Q"

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

T24gMTcuMDMuMjMgMTU6MjEsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDE3LzAzLzIw
MjMgMTo1NiBwbSwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+IE9uIDE1LjAyLjIzIDA5OjMx
LCBKYW4gQmV1bGljaCB3cm90ZToNCj4+PiBPbiAxNS4wMi4yMDIzIDAxOjA3LCBCb3JpcyBP
c3Ryb3Zza3kgd3JvdGU6DQo+Pj4+DQo+Pj4+IE9uIDIvMTQvMjMgNjo1MyBQTSwgQm9yaXMg
T3N0cm92c2t5IHdyb3RlOg0KPj4+Pj4NCj4+Pj4+IE9uIDIvMTQvMjMgMTE6MTMgQU0sIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+Pj4NCj4+Pj4+PiAtLS0gYS9hcmNoL3g4Ni9rZXJuZWwv
Y3B1L2J1Z3MuYw0KPj4+Pj4+ICsrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvYnVncy5jDQo+
Pj4+Pj4gQEAgLTE4LDYgKzE4LDggQEANCj4+Pj4+PiAgwqDCoCAjaW5jbHVkZSA8bGludXgv
cGd0YWJsZS5oPg0KPj4+Pj4+ICDCoMKgICNpbmNsdWRlIDxsaW51eC9icGYuaD4NCj4+Pj4+
PiAgwqDCoCArI2luY2x1ZGUgPHhlbi94ZW4uaD4NCj4+Pj4+PiArDQo+Pj4+Pj4gIMKgwqAg
I2luY2x1ZGUgPGFzbS9zcGVjLWN0cmwuaD4NCj4+Pj4+PiAgwqDCoCAjaW5jbHVkZSA8YXNt
L2NtZGxpbmUuaD4NCj4+Pj4+PiAgwqDCoCAjaW5jbHVkZSA8YXNtL2J1Z3MuaD4NCj4+Pj4+
PiBAQCAtMzIsNiArMzQsNyBAQA0KPj4+Pj4+ICDCoMKgICNpbmNsdWRlIDxhc20vaW50ZWwt
ZmFtaWx5Lmg+DQo+Pj4+Pj4gIMKgwqAgI2luY2x1ZGUgPGFzbS9lODIwL2FwaS5oPg0KPj4+
Pj4+ICDCoMKgICNpbmNsdWRlIDxhc20vaHlwZXJ2aXNvci5oPg0KPj4+Pj4+ICsjaW5jbHVk
ZSA8YXNtL3hlbi9oeXBlcnZpc29yLmg+DQo+Pj4+Pj4gIMKgwqAgI2luY2x1ZGUgPGFzbS90
bGJmbHVzaC5oPg0KPj4+Pj4+ICDCoMKgIMKgICNpbmNsdWRlICJjcHUuaCINCj4+Pj4+PiBA
QCAtOTM0LDcgKzkzNyw4IEBAIGRvX2NtZF9hdXRvOg0KPj4+Pj4+ICDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBicmVhazsNCj4+Pj4+PiAgwqDCoCDCoMKgwqDCoMKgIGNhc2UgUkVUQkxFRURf
TUlUSUdBVElPTl9JQlBCOg0KPj4+Pj4+IC3CoMKgwqDCoMKgwqDCoCBzZXR1cF9mb3JjZV9j
cHVfY2FwKFg4Nl9GRUFUVVJFX0VOVFJZX0lCUEIpOw0KPj4+Pj4+ICvCoMKgwqDCoMKgwqDC
oCBpZiAoIXhlbl9wdl9kb21haW4oKSB8fCB4ZW5fdm1fYXNzaXN0X2licGIodHJ1ZSkpDQo+
Pj4+Pg0KPj4+Pj4NCj4+Pj4+IElzIHRoaXMgZ29pbmcgdG8gY29tcGlsZSB3aXRob3V0IENP
TkZJR19YRU4/DQo+Pj4NCj4+PiBZZXMuIFRoZSBkZWNsYXJhdGlvbiBvZiB4ZW5fdm1fYXNz
aXN0X2licGIoKSBpcyB2aXNpYmxlIChzYXRpc2Z5aW5nDQo+Pj4gdGhlIGNvbXBpbGVyKSBh
bmQgRENFIHdpbGwgZWxpbWluYXRlIHRoZSBjYWxsIHRvIHRoZSBmdW5jdGlvbiBkdWUgdG8N
Cj4+PiB4ZW5fcHZfZG9tYWluKCkgYmVpbmcgY29uc3RhbnQgImZhbHNlIiBpbiB0aGF0IGNh
c2UsIGF2b2lkaW5nIGFueQ0KPj4+IGxpbmtpbmcgaXNzdWVzLiBUaGUgaW50ZXJlc3Rpbmcg
Y2FzZSBoZXJlIHJlYWxseSBpcyBidWlsZGluZyB3aXRoDQo+Pj4gWEVOIGJ1dCB3aXRob3V0
IFhFTl9QVjogVGhhdCdzIHdoeSBJIG5lZWRlZCB0byBwdXQgdGhlIGZ1bmN0aW9uIGluDQo+
Pj4gZW5saWdodGVuLmMuIFRoaXMgd291bGRuJ3QgYmUgbmVlZGVkIGlmIHhlbl9wdl9kb21h
aW4oKSB3YXMgYWxzbw0KPj4+IGNvbnN0YW50ICJmYWxzZSIgaW4gdGhhdCBjYXNlIChqdXN0
IGxpa2UgeGVuX3B2aF9kb21haW4oKSBpcyB3aGVuDQo+Pj4gIVhFTl9QVkgpLg0KPj4+DQo+
Pj4+PiBJIGFsc28gdGhpbmsgdGhlc2UgdHdvIGNvbmRpdGlvbnMgc2hvdWxkIGJlIHdyYXBw
ZWQgaW50byBzb21ldGhpbmcNCj4+Pj4+IHRvIGxpbWl0IGV4cG9zdXJlIG9mIG5vbi1YZW4g
Y29kZSB0byBYZW4tc3BlY2lmaWMgcHJpbWl0aXZlcy4NCj4+Pg0KPj4+IEkgd291bGQgaGF2
ZSBkb25lIHNvLCBpZiBJIGhhZCBhbnkgaGFsZndheSBzZW5zaWJsZSBpZGVhIG9uIGhvdyB0
bw0KPj4+IGdvIGFib3V0IGRvaW5nIHNvIGluIHRoaXMgcGFydGljdWxhciBjYXNlLiBJbiB0
aGUgYWJzZW5jZSBvZiB0aGF0IGl0DQo+Pj4gbG9va2VkIG9rYXktaXNoIHRvIG1lIHRvIHJl
ZmVyZW5jZSBYZW4gZnVuY3Rpb25zIGRpcmVjdGx5IGhlcmUuDQo+Pj4NCj4+Pj4gT2gsIGFu
ZCB0aGlzIG5lZWRzIHg4NiBtYWludGFpbmVycy4NCj4+Pg0KPj4+IEV2ZW50dWFsbHkgeWVz
LiBCdXQgSSB3b3VsZCBwcmVmZXIgdG8gc29ydCB0aGUgYWJvdmUgcXVlc3Rpb24gZmlyc3QN
Cj4+PiAod2hpY2ggSSdtIHN1cmUgd291bGQgaGF2ZSBiZWVuIHJhaXNlZCBieSB0aGVtLCBp
biBwZXJoYXBzIG1vcmUNCj4+PiBoYXJzaCBhIHdheSksIGhlbmNlIHRoZSBpbml0aWFsbHkg
bGltaXRlZCBleHBvc3VyZS4NCj4+DQo+PiBJJ2QgcmF0aGVyIGFkZCBfb25lXyBob29rIGZv
ciBYZW4tUFYgaW4gY2hlY2tfYnVncygpIGp1c3QgYmVmb3JlIHRoZSBjYWxsDQo+PiBvZiBh
cmNoX3NtdF91cGRhdGUoKS4gVGhpcyBjYW4gdGhlbiBjb3JyZWN0IGFueSBuZWVkZWQgbWl0
aWdhdGlvbg0KPj4gc2V0dGluZ3MuDQo+Pg0KPj4gU28gc29tZXRoaW5nIGxpa2UgKG5vdGUg
dGhhdCBkdWUgdG8gdXNpbmcNCj4+IGNwdV9mZWF0dXJlX2VuYWJsZWQoWDg2X0ZFQVRVUkVf
WEVOUFYpDQo+PiBEQ0UgaXMgaGFwcGVuaW5nIGluIGNhc2UgQ09ORklHX1hFTl9QViBpc24n
dCBkZWZpbmVkKSI6DQo+Pg0KPj4gLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL2h5
cGVydmlzb3IuaA0KPj4gKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL2h5cGVydmlz
b3IuaA0KPj4gQEAgLTYzLDQgKzYzLDcgQEAgdm9pZCBfX2luaXQgeGVuX3B2aF9pbml0KHN0
cnVjdCBib290X3BhcmFtcw0KPj4gKmJvb3RfcGFyYW1zKTsNCj4+ICDCoHZvaWQgX19pbml0
IG1lbV9tYXBfdmlhX2hjYWxsKHN0cnVjdCBib290X3BhcmFtcyAqYm9vdF9wYXJhbXNfcCk7
DQo+PiAgwqAjZW5kaWYNCj4+DQo+PiAraW50IF9faW5pdCB4ZW5fdm1fYXNzaXN0X2licGIo
Ym9vbCBlbmFibGUpOw0KPj4gK3ZvaWQgX19pbml0IHhlbl9wdl9maXhfbWl0aWdhdGlvbnMo
dm9pZCk7DQo+IA0KPiBJJ2Qgc3VnZ2VzdCAnYWRqdXN0JyBpbiBwcmVmZXJlbmNlIHRvICdm
aXgnLCBidXQgdGhpcyBjb3VsZCBlcXVhbGx5IGJlDQo+IHhlbl9wdl9taXRpZ2F0aW9ucygp
Lg0KPiANCj4gWGVuUFYgaGFzIHZlcnkgbGVnaXRpbWF0ZSByZWFzb25zIHRvIGFkanVzdCB0
aGluZ3Mgb3dpbmcgdG8gaXQgcnVubmluZw0KPiBpbiBSaW5nMywgYnV0ICJmaXgiIGNvbWVz
IHdpdGggb3RoZXIgaW1wbGljYXRpb25zIHRvby4NCj4gDQo+PiAtLS0gYS9hcmNoL3g4Ni94
ZW4vZW5saWdodGVuX3B2LmMNCj4+ICsrKyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW5fcHYu
Yw0KPj4gQEAgLTE0NzYsNiArMTQ3NiwyMyBAQCBzdGF0aWMgdWludDMyX3QgX19pbml0IHhl
bl9wbGF0Zm9ybV9wdih2b2lkKQ0KPj4gIMKgwqDCoMKgwqDCoMKgIHJldHVybiAwOw0KPj4g
IMKgfQ0KPj4NCj4+ICtpbnQgX19pbml0IHhlbl92bV9hc3Npc3RfaWJwYihib29sIGVuYWJs
ZSkNCj4+ICt7DQo+PiArwqDCoMKgwqDCoMKgIC8qDQo+PiArwqDCoMKgwqDCoMKgwqAgKiBO
b3RlIHRoYXQgdGhlIFZNLWFzc2lzdCBpcyBhIGRpc2FibGUsIHNvIGEgcmVxdWVzdCB0bw0K
Pj4gZW5hYmxlIElCUEINCj4+ICvCoMKgwqDCoMKgwqDCoCAqIG9uIG91ciBiZWhhbGYgbmVl
ZHMgdG8gdHVybiB0aGUgZnVuY3Rpb25hbGl0eSBvZmYgKGFuZCB2aWNlDQo+PiB2ZXJzYSku
DQo+PiArwqDCoMKgwqDCoMKgwqAgKi8NCj4+ICvCoMKgwqDCoMKgwqAgcmV0dXJuIEhZUEVS
VklTT1Jfdm1fYXNzaXN0KGVuYWJsZSA/IFZNQVNTVF9DTURfZGlzYWJsZQ0KPj4gK8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgOiBWTUFTU1RfQ01EX2VuYWJsZSwNCj4+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCBWTUFTU1RfVFlQRV9tb2RlX3N3aXRjaF9ub19pYnBiKTsNCj4+ICt9DQo+
PiArDQo+PiArdm9pZCBfX2luaXQgeGVuX3B2X2ZpeF9taXRpZ2F0aW9ucyh2b2lkKQ0KPj4g
K3sNCj4+ICvCoMKgwqDCoMKgwqAgaWYgKCF4ZW5fdm1fYXNzaXN0X2licGIodHJ1ZSkpDQo+
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzZXR1cF9jbGVhcl9jcHVfY2FwKFg4
Nl9GRUFUVVJFX0VOVFJZX0lCUEIpOw0KPiANCj4gSWYgbm90aGluZyBlbHNlLCB0aGlzIG5l
ZWRzIGEgY29tbWVudCBleHBsYWluaW5nIHdoYXQncyBnb2luZyBvbi4NCj4gDQo+ICJYZW4g
UFYgZ3Vlc3Qga2VybmVscyBydW4gaW4gcmluZzMsIHNvIHNoYXJlIHRoZSBzYW1lIHByZWRp
Y3Rpb24gZG9tYWluDQo+IGFzIHVzZXJzcGFjZS7CoCBYZW4gKHNpbmNlIHZlcnNpb24gJFgp
IGRlZmF1bHQgdG8gaXNzdWluZyBhbiBJQlBCIG9uDQo+IGd1ZXN0IHVzZXIgLT4gZ3Vlc3Qg
a2VybmVsIHRyYW5zaXRpb25zIG9uIGJlaGFsZiBvZiB0aGUgZ3Vlc3Qga2VybmVsLg0KPiBJ
ZiBMaW51eCBpc24ndCBkZXBlbmRpbmcgb24gbW9kZSBiYXNlZCBwcmVkaWN0aW9uIHNlcGFy
YXRpb24sIHR1cm4gdGhpcw0KPiBiZWhhdmlvdXIgb2ZmIi4NCj4gDQo+IEJ1dCB0aGlzIGRv
ZXMgb3BlbiB0aGUgbmV4dCBxdWVzdGlvbi7CoCBZZXMsIHVuaWxhdGVyYWxseSB0dXJuaW5n
IHR1cm5pbmcNCj4gdGhpcyBvZmYgcmVzdG9yZXMgdGhlIHByaW9yIGJlaGF2aW91ciwgYnV0
IGlzIHRoaXMgcmVhbGx5IHRoZSBiZXN0IHRoaW5nDQo+IHRvIGRvID8NCg0KSSBiZWxpZXZl
IHRoaXMgcXVlc3Rpb24gaXMgcHJpbWFyaWx5IGZvciBKYW4sIGFzIGhlIGlzIHRoZSBpbml0
aWFsIGF1dGhvciBvZg0KdGhlIHBhdGNoLg0KDQpJIHdhcyBqdXN0IHN1Z2dlc3RpbmcgYSB2
YXJpYW50IHdoaWNoIGlzIElNSE8gbW9yZSBwcm9iYWJsZSB0byBiZSBhY2NlcHRlZCBieQ0K
dGhlIHg4NiBtYWludGFpbmVycy4gOi0pDQoNCg0KSnVlcmdlbg0K
--------------PAlJTD5ytSy2vXPGCAdibZ0Q
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-----

--------------PAlJTD5ytSy2vXPGCAdibZ0Q--

--------------ErDrWyFUvV0tIzROYT5TvXQR--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQUeRsFAwAAAAAACgkQsN6d1ii/Ey8M
twf/e4B60jazDuJR4Xx/NxF8XYx2wbMYce2ISaH+OodJqJ/blogYkMFD1clRlINiKzIQ3GYrlKui
jALFsJttxPKrTyHV/l7DFwRMbvJyJW5Ctm2oSivwqK3PRiCXu7O9kXbhb0e613bLdnoJFoACA33q
c8R2Uz5hc7+aQdJCwd0xfjBEu9mAIngTMwXtMYQ8gulRESbHB+x8+hwMnEq2JtWdwIXAYzNF+JY7
fvtGBfiKN9wNjT1gO92GTJCFzxO3utB/1/7DKMxbUh4BBwTo1R4G4tDvFzdMduXQVzWBFilrfaOC
6Q7BYx6pG1jMGIpms7cYiUvmDfa3ABTHAoF/KDzN5w==
=kLl2
-----END PGP SIGNATURE-----

--------------jMCRNha8YFcuOmnexg39V0o0--


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 14:30:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 14:30:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511128.789990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdB5h-0006Yc-SA; Fri, 17 Mar 2023 14:29:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511128.789990; Fri, 17 Mar 2023 14: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 1pdB5h-0006YV-Oo; Fri, 17 Mar 2023 14:29:57 +0000
Received: by outflank-mailman (input) for mailman id 511128;
 Fri, 17 Mar 2023 14:29: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=001K=7J=citrix.com=prvs=433d55c46=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pdB5f-0006YN-Sv
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 14:29:55 +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 2ddcddd1-c4d0-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 15:29:53 +0100 (CET)
Received: from mail-bn7nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 10:29:46 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB6624.namprd03.prod.outlook.com (2603:10b6:510:b6::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Fri, 17 Mar
 2023 14:29:41 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%9]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 14:29:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ddcddd1-c4d0-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679063393;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=KKLTb0QC3vZI9uDoRqQ+YL36SupkDhL4rSVaVUmd0Gw=;
  b=Xy1P6BiyIGwvFzVtI9TwxMiDoZzHRuVV1j129FcL1GDjTX5074ixt5fa
   WAnc0gxakS4+3xbWhu15Bpybw0p7xDolZnzXuHYNzh+aJkdQMcPRYm1M5
   AOi470VTArlYOvl+AugZhFBQhOQZsw+lihkyqVLkewInOtu8BgvPgQHoq
   A=;
X-IronPort-RemoteIP: 104.47.70.101
X-IronPort-MID: 100647914
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:eDVd8KCpqTImZhVW//3iw5YqxClBgxIJ4kV8jS/XYbTApD53gjUCy
 zZJXTyGa6mKMzSgf4tyOtu+9B9UsZXRnINjQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhB4QRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwo9t2LGNX2
 MYjNDUSRCzEou7nx+uJRbw57igjBJGD0II3nFhFlGmcJ9B5BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTK/exuuzG7IA9ZidABNPLPfdOHX4NNl1uwr
 WPa5WXpRBodMbRzzBLcqiry2rCexH+TtIQ6Hp2TyKY02k+pwmlMLUQRZHi3/Nm2hRvrMz5YA
 wlOksY0loAw/kG2Stj2XzWjvWWJ+BUbXrJ4A+A8rQ2A1KfQywKYHXQfCC5MbsQ8s807TiBs0
 UWG9/v2ARR/vbvTTmiSnp+XoC2zP24JLGYETS4CUQYBpdLkpekbjA/JCNBqE6e3j9j8MTD23
 z2O6iM5gt0uYdUj0qy6+RXNhW2qr52QFgotvFyPBySi8x9zY5Oja8qw81/H4P1cLYGfCF6co
 HwDnMvY5+cLZX2QqBGwrCw2NOnBz5643Pf02jaDw7FJG+yRxkOe
IronPort-HdrOrdr: A9a23:kha1kq71wPkbud5ILAPXwAzXdLJyesId70hD6qkQc3Fom62j5q
 WTdZEgvyMc5wx/ZJhNo7690cq7MBHhHPxOgbX5VI3KNGXbUQOTR72KhrGSoAEIdReeygZcv5
 0QCZSXCrfLfCVHZRCR2njFLz4iquP3j5xBnY3lvhNQpZkBUdAZ0+9+YDzrdXFedU19KrcSMo
 GT3cZDryrIQwVtUizqbkN1OdQqvrfw5evbXSI=
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="100647914"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Li1STpA3tO9J1JF8VzoD1Kpb47Vw3njSad29OW/PLvWgaBv8Fewk1s3xDnLw/NCW7lSZFHoZJK8QDq4uU9/p41yhklKpjE32OA+qP6LkXn9sLbwk4smTWxC+ACeQBNq9z5fC0036mE3l5dbXT0WjZUmzJ787StEOLSdPCCnon2jDPNyX74cHkKFkTU53v1yMumFDq9dSZ4K0hUyvOWgbICwLrBUEpdboCo6teEQZUBtwz4iQtq0SS1N4MfPFe1WzsheK6Cq392cFzDN8ZYIvqbtzoZ1k+dnW+ne3Gd2rhdURHSyHBXGCPfcGZzZFZK0l5RXTk5lhW9NOrOplOVqNQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VCTEUrqtvhf1waD6XKMAcgP3n+PWlr298pp7qEL7aVM=;
 b=AWZDms1h6oCqxhBn+nC2pFOT/oD+FHeNCRwtGuUNAGZ0SZ5V8nDxBThuHpr6aON0wvq3rmFqOazW4Jh/FGrdFuQX6W7h03wITB5KBMQg5o8R/+bMy55N9RyvDMENmrZUdWh/jHngLV2uspjV43wWrbYnv5HD0BOe448nTMRjXEQb9ErVYuIVWshuiyzxjRNkpFt8WDG+McUGST04Y+bOEGYPOn9Vu2sIL0/JR7scIpFINmzVCwcRqcPU3nCG7QqlDZktvApxDpRbytOwbVovVuwYF2EfhPndlZkj6sADptgLKuvubJLV8C3fthvX9REUsR1WwCmYUlLYeB+ZGkbZpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VCTEUrqtvhf1waD6XKMAcgP3n+PWlr298pp7qEL7aVM=;
 b=j5CLWSF3FC6xN495+iRy9AYAhpS5AjdHHuR2Op9Bq/luSLu7tE56pJbQsHIwVex0RVPy1eoGwwb1mfy6W2t+NB8HncZDJbVGAtD9A2ZpMU4vdbryrz7aj7exNT617mhmUwVQGhDlUr6MpBUG8tw4p5+OwyITBrBdrDBTcfOeskw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Mar 2023 15:29:35 +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 v4] x86/HVM: support emulated UMIP
Message-ID: <ZBR5T57tSqs2o/Sl@Air-de-Roger>
References: <581a90d5-a168-5445-6a6d-ab20cc43b944@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <581a90d5-a168-5445-6a6d-ab20cc43b944@suse.com>
X-ClientProxiedBy: BN9PR03CA0887.namprd03.prod.outlook.com
 (2603:10b6:408:13c::22) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB6624:EE_
X-MS-Office365-Filtering-Correlation-Id: ea5908a0-7a6a-450e-e118-08db26f40b51
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ulDpbOU2ky9z/zHAmouOdHoHxDt8GsDtD6ywvc3I5816mmTUezsS3XZFGug7KObwh5SvWx7Gfd+dLenlcPU6adWxbTVi0o3kpYMTtrz3Y2IaaTqarOKgBHlIoXbqQEz8mU8jeW4og002PRcJa7Gtp5tjvKaH1QFgY5+N2DVUQZ9qmm5h4R3hTcA1ZSzryyKzUa2TEbKhGjWIiAsqljh+78MYHwOl6wm3qVEIaPC+ORci2NvSRwaIhil1fexnFCKSlraBLtywxvwtLO8f6a1bsry+ikI7pPnszv2+GsPubQu/R6brbE6QdPx701vtClugxFnQl8N934Wbr+/4bjOUnUtxxXOOjYpFsWjT4dlv5YloFPC3v+vwtmN6Mq5tnL9vQwbIiS18P+RfFIR33oUNa4L8jQLNaLVRSk5Rh7CCiMGdze7gWS737FUD85CWZwReNikwzWEGTjgamsEoKSDP5GItgfYfjQAR/iOO9U7bh4IU5yzz/rd0AEoe+aLVYk7k8AsyJTZafqR2h22DyvbocIZBeWkRaaj9K+4uLWYjgwA60lbcFPofiRZ7PB4Cw/M/DvC7gNqN2C8d+xqHoa5lZiex64WICRY66SJE2hb/3/0xyAEI/fT1pNhGI7SgSiCkjgyHxYzQClDrQ0ktiC+UUA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(396003)(366004)(136003)(39860400002)(376002)(346002)(451199018)(8936002)(4744005)(2906002)(5660300002)(41300700001)(6916009)(66556008)(4326008)(8676002)(66476007)(66946007)(316002)(54906003)(478600001)(85182001)(6486002)(82960400001)(9686003)(6512007)(186003)(33716001)(26005)(6506007)(6666004)(38100700002)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QnN6VjROd3pzOUwwaXNabUQ3SDQ4Y3plVzJiWUVjWUZkd0FtMGFxMHN6N1lG?=
 =?utf-8?B?RWhYV2IxNFV3L1AvZHZYWDl5aU00YkNCR2owTlBObVBRM0dUU2RSclhQbjNy?=
 =?utf-8?B?cEdMSmxYampZbzRhejhib3NVck5vcStZSG1zQS9ZNElNRnlUb2VBbWVTbndo?=
 =?utf-8?B?WWMvWklYSGU3N0xjSzZXNWhjVTh1aXZXUVNZeGxTRjN4YVMvbTZvSkRoVk9G?=
 =?utf-8?B?M0Qyd0JJSEhOZXJGaVg5TVFYZm5udXR2Z0RpT0Uxd3FyTkFxeUJRVDEwYUUx?=
 =?utf-8?B?Uis0Qk1wNU9xQVU2Y3pvS2tBYmh4R0NyOEZUazlpSWxrVnNSMXkyaGZoNnM4?=
 =?utf-8?B?Q3dmNUJBaXNGd29DMHFBNmR5a3FYQStlOFZESnozbTdJaGJzOHhLeTNwK09s?=
 =?utf-8?B?Z285eFJPTkROUVppaXNENGloTEROVXdXYi9zVzZLY2Z6VDIvM2M0d2ZCbnV3?=
 =?utf-8?B?YVFZTnZJSGRoOTduOG9iVUJxc0ZpdUhOVXI3bWFTVHFHanBLK0VYTDllOWNY?=
 =?utf-8?B?TUc1bWh5UzI0TDdtWnBVRFJyczN6bkNXdHlrWlphTEYwTlZqNWxoeitmSlBO?=
 =?utf-8?B?N0RiZlFLZ1ZLQzZYU0NTWXBDRXZwM2NjdFljbzUweFRWYmREOVlyODd0R3JQ?=
 =?utf-8?B?K09uZHlwTkJjaFhsSkdiTDJqaFh2c0tPUnA2SU5qa2srR09ZcjBldnVDcENQ?=
 =?utf-8?B?SWttZWZwYThWejFwRmQ3YjRCdEJtSGJyUGE1M0hQMkl4QzNHZmsxallIaCth?=
 =?utf-8?B?S1dKQWQwWGo1ZG53N3d1WWtIMVBpSCticDU2Y1B0OUo3R0FZZHhyK20zb3Ni?=
 =?utf-8?B?bmZuV3lnSDFGYnAwbHZNa0E5QUIvcFh3b2QyNjFIYXY4Z1lzNmpKNG9OdzVH?=
 =?utf-8?B?eDI1T0dLbzFwWjQ4T1VFZVUzM1ZuNEVzeWlkdU1BSE1jTk83WHBqVVV5RUh2?=
 =?utf-8?B?NXhkVE8zS3cvOWRJZ3Z3U0NEOWJvbjZMcmFYbXJTQytkQ3VTa0ZUT29OZlJ2?=
 =?utf-8?B?RGdpRHZXZnVERUd6RGVscU9iS1FSOGZadmRzWGVlRmhpc1RlNVozMDRLUmFm?=
 =?utf-8?B?N2lmVUVQU3o1WW1CbWsxcFBIN0FiclUrbGtYbGswWlFHYkJ5czl6NHpZNjRR?=
 =?utf-8?B?L1NSYTkwQTN3dDhrcHZ0QzJpNkFkUkdXemVtTEU2dGJHVW1hRGQ1cWczWDB0?=
 =?utf-8?B?QTVsYXlOUWd0c1dRTWU2UnAyNC81RlU5WmJvQ1hOZ1lVaUUwUWRGZWEvb2dN?=
 =?utf-8?B?OFIyNUxlSEttU3E4dHhwK21zWUtxbjlsZDIrQWltR21HTlpmMVJTUXdIZXZl?=
 =?utf-8?B?Rm5leEU4dWpEelFtVVhmTmsxa08zKzdET1hnNnZ3VkdJV28xTkwyR2xnZGhp?=
 =?utf-8?B?cGNKK1NiRmtGRGdHUU9maFUyN29PRWFqdkR4aHRFeVNUa241KzBtekJQL1F0?=
 =?utf-8?B?TnRHNXVqV1l0NlA2QTlSdnFHcGxhdkZDZG0zUHR3NEVWV2ErSWlVOEY0WjdU?=
 =?utf-8?B?bW91V1lJb1c2SWVDRitGRVlsL0RJeDRuMHlwVHAyUjFMaDdHdTBwSytaaklM?=
 =?utf-8?B?cHhiSHQvcVQ4WEw2cTlJanE5N1I5Vm5DYTVaS0Ztang2YXlKaFhQcjZPdWx3?=
 =?utf-8?B?T1Y5UVZhZ3ZMakxlOTFEUlFxcEdNUUVwaXY4UXhxazBuMlRUYnN1ZENoVlN1?=
 =?utf-8?B?NmpieFhHYlcvVHVyUUE5ZkxWUk9zUmZzblM3eHhDYlFGeW5DUFJtbGtybU9K?=
 =?utf-8?B?UmwycDNqUFNYVVJGWjk3VkEvb3RqWHJ1YjRueGl5RXp6THdpekQ1VCtscHlv?=
 =?utf-8?B?ZzlOcXR4TGdhdHVQS0g2REtrY0Q2N2hLWndIWVJyMnFudFM2b1hUblhCNEx5?=
 =?utf-8?B?YVZzOUM4WUtRTnpmMVBlMHdvb21EbUxSYk5idUpURWpHMXFIajZlUGszdGhG?=
 =?utf-8?B?OFNDY1d2WFhIcXhheEZ3cjV0cStpaytCdE1NMWVTNWFRc2NUVU0waW9FNkRD?=
 =?utf-8?B?M2RYZU1kbUZXc3NBdVdrYlExWmtCTmw4UVFLRFpXT213Yk8xNDlMZmVhYm1w?=
 =?utf-8?B?cUEzeUgvd29KK2JYcVZZZ0lMOVIyNWJ0K1FEMnhaR1FlQTg0ZVU1THBnRnhD?=
 =?utf-8?B?OCtaK1JlamJEUEdkREdKRm1wY3hLWHc3NnE4ZnBUYkd6TmNJVG9zSGZLenV0?=
 =?utf-8?B?M1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	YJCocw7rOgV16jw8O+tFe7Hz8+73ZKBjZ1M5i7uLQWzXlWC4zE0lZDqxZzKLlwEhTDefZpTfgsS4Jdju6V6eHGSQLoaS6YUN6an+o15Eq99GgssePI9OKjlMDNqpQWV/QySisb1eh9L0jQz+nOUGpFxPz93t8wC/JqtCrZv2I2dkTcpPIWm5AJzv5Qpwfjt0/WvOaAXEx4X6y5YFEb/ar9zWpUiQhAk0mEBaKJ+7cGyn6xMkribv/ixcfwQKTyayOPb9+y2oVuLw6MbLUPJDNywAV5Te7DA8y1xbUokAVAvETM/MddtrO7JsLEAig8LVv0EMJZiHSNljsNZiZzuRNn/WadohnfqYNY+eA5qMMW60+jPC+WLAL6x6WxIK6YFO2+F+p7ZGAa/Olr3Ed0IpJAujHANpGw+WrwqQ86WoNwYe6XVmkOzQNBp+DNRdUAdygXw4lfoqivf69oUvoOV4dlZ7L9Fco/uSKF5XCAnTnqQ7+olXqBlCiAxjyzKJCAm+xYyw3LjMj4nNDCfSDActvL9CHpeUmJ/p+0rP3br14XeMwg7BpiCfIasIQMMnIMRSN/N2UAFD1KGMauTwhNzcSkLx5ZRQDJfa3eMt8KYb4stn2SKF/w9YkxuB/a/NYfZrPSwyBIuXdoE70rgTom3GchY4YTT2TPV2pN4jMkHearA32zw6eGPt+RUmJpU4EkdmK6ZrU+d3rl8N5fdHb3PDtgxMkhUWgZOgjPFiD0G8CwckbEu4NSv5hP6tgLbHCY/IRKuRoOxNcPfBMuY1ZfCadsR/9G6fwx+0rQI9M/4r/aJXns/rYN8KJZRgnk4tvo7gQZhTiopVLSuawyJ56Lyw79JHUnsFUrq3mga+EZOVP/Q=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ea5908a0-7a6a-450e-e118-08db26f40b51
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 14:29:41.0285
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZRF6BCmSXb3wOH9XBl94OERtOG4K6m86MT8iR5jbhQr8OFB1iifdjwEs5XBqItytoI7fhJvRJMQQKPOWbyRW8A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6624

On Thu, Apr 15, 2021 at 11:47:42AM +0200, Jan Beulich wrote:
> There are three noteworthy drawbacks:
> 1) The intercepts we need to enable here are CPL-independent, i.e. we
>    now have to emulate certain instructions for ring 0.
> 2) On VMX there's no intercept for SMSW, so the emulation isn't really
>    complete there.

Then I'm afraid we can't set the bit in the max CPUID policy.  What
about domains being migrated from a host that has UMIP to an Intel
host where UMIP is emulated?  They would see a change in behavior in
SMSW, and the behavior won't match the ISA anymore.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 14:46:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 14:46:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511132.790003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdBLJ-0000wG-7L; Fri, 17 Mar 2023 14:46:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511132.790003; Fri, 17 Mar 2023 14:46:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdBLJ-0000w9-4C; Fri, 17 Mar 2023 14:46:05 +0000
Received: by outflank-mailman (input) for mailman id 511132;
 Fri, 17 Mar 2023 14: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=fZPu=7J=gmail.com=alexdeucher@srs-se1.protection.inumbo.net>)
 id 1pdBLH-0000w3-TC
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 14:46:03 +0000
Received: from mail-oa1-x36.google.com (mail-oa1-x36.google.com
 [2001:4860:4864:20::36])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f53c67b-c4d2-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 15:46:01 +0100 (CET)
Received: by mail-oa1-x36.google.com with SMTP id
 586e51a60fabf-17aeb49429eso5664838fac.6
 for <xen-devel@lists.xenproject.org>; Fri, 17 Mar 2023 07:46:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f53c67b-c4d2-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679064360;
        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=yvHIQvGXPksg6eiMeqxwoXshxo7XvcPUBVGQpYXhIn0=;
        b=d3J1Yg76xfhH/tPjOqY0fhibOj4dJPEZYK9wPEa0DkYAtZTATUJ91pJ4lEpsEVmClV
         2fxlQ8IsSa4IbkXdax9QWDHPfty6LhNDlh+PxhEKf2hzKSW0p3FKhRVT6xASCxdQhxkU
         NaV+A719MqbWVnfupB9Mv+XkEiKdzibBJ0kKC4znfKtHHZtRKtaJGhi1NxP9wT3zako/
         TIkQwmxDIkIPSH9Hs747v1+GSS0SnHaStLNQqcHM+3mKRK75Vt873wQO1WV81h6d1/DV
         6Bs1CFnmb2eaPGbYEIzWLw/9eoitkLR6hDZ9dw2OubyxnZT83JfizrtqiJm4tQb5nK/W
         S3xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679064360;
        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=yvHIQvGXPksg6eiMeqxwoXshxo7XvcPUBVGQpYXhIn0=;
        b=1ft2Xbe1iixmHavG+l1CU8KywVcEGJ4vrA/SctSXon+j6Xk8SBwZrqLBF4TBpvWvrZ
         qMJ7QknFVVXVpCV78/fA+ZyywNCmgqIctJumSHUk90ecg2h03mO1yjL3QLlucqCReSCH
         85ZbWAW5yoZSDzg4WqGdmhc5wFnhDO50vLL9WM/koOqej4eihRO87qRLi88FzyAN/QHr
         2YeQYcM9ir7NgUjWlO0JcWslp6wmPwrAYZCaRsCNFZBQvKptAieARxNgGrjqJDiTI7Uh
         DYqn/ZsIAZ0fKO42V+JqJk9u5RURI6GIhykevC/kR08dCvP1c2Ci9u4maF2QDNjAzdOV
         lfOw==
X-Gm-Message-State: AO0yUKVTSoGJ8oZNAqmnI02ylq4h/F+1nQH8bfbrVeMkr1iIhV4pGMuS
	ZVEunxkiQK/349NiBul0M7gt6E5brA34AdpzGt8=
X-Google-Smtp-Source: AK7set/wc8mkGeB3xsSh7uv2XahaDuGh1SCuyHKsNErSvesEESMC7ISG+xDqov6gcpVKj1eQNlfENSx+ogaCnLMgM8g=
X-Received: by 2002:a05:6870:d346:b0:172:426c:8304 with SMTP id
 h6-20020a056870d34600b00172426c8304mr14466173oag.3.1679064360305; Fri, 17 Mar
 2023 07:46:00 -0700 (PDT)
MIME-Version: 1.0
References: <20230312120157.452859-1-ray.huang@amd.com> <20230312120157.452859-2-ray.huang@amd.com>
 <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com> <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
 <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com> <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop>
 <5e22a45d-6f12-da9b-94f6-3112a30e8574@suse.com> <CADnq5_PH9ZqDqpPES74V3fB3NVpaexDoGTyu_+-zoux5vgagyg@mail.gmail.com>
 <dcb54275-b21f-a837-76bb-e19e331a0666@suse.com> <CADnq5_PpCWrZzQdE_X6ZnuNU3ktVeC6TbmE5vq3K6rCAdB8GTg@mail.gmail.com>
 <d256a967-f50e-2e19-1985-aa9cfc0e8b18@suse.com> <alpine.DEB.2.22.394.2303161603200.3359@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2303161603200.3359@ubuntu-linux-20-04-desktop>
From: Alex Deucher <alexdeucher@gmail.com>
Date: Fri, 17 Mar 2023 10:45:48 -0400
Message-ID: <CADnq5_NnOApcpkKb3UqAKAcS9s_gG3Lq4ssJDgCjq5ZQty2rnw@mail.gmail.com>
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>, 
	Honglei Huang <honglei1.huang@amd.com>, amd-gfx@lists.freedesktop.org, 
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, 
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Huang Rui <ray.huang@amd.com>, 
	Chen Jiqian <Jiqian.Chen@amd.com>, Xenia Ragiadakou <burzalodowa@gmail.com>, 
	Alex Deucher <alexander.deucher@amd.com>, xen-devel@lists.xenproject.org, 
	Boris Ostrovsky <boris.ostrovsky@oracle.com>, Julia Zhang <julia.zhang@amd.com>, 
	=?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 16, 2023 at 7:09=E2=80=AFPM Stefano Stabellini
<sstabellini@kernel.org> wrote:
>
> On Thu, 16 Mar 2023, Juergen Gross wrote:
> > On 16.03.23 14:53, Alex Deucher wrote:
> > > On Thu, Mar 16, 2023 at 9:48=E2=80=AFAM Juergen Gross <jgross@suse.co=
m> wrote:
> > > >
> > > > On 16.03.23 14:45, Alex Deucher wrote:
> > > > > On Thu, Mar 16, 2023 at 3:50=E2=80=AFAM Jan Beulich <jbeulich@sus=
e.com> wrote:
> > > > > >
> > > > > > On 16.03.2023 00:25, Stefano Stabellini wrote:
> > > > > > > On Wed, 15 Mar 2023, Jan Beulich wrote:
> > > > > > > > On 15.03.2023 01:52, Stefano Stabellini wrote:
> > > > > > > > > On Mon, 13 Mar 2023, Jan Beulich wrote:
> > > > > > > > > > On 12.03.2023 13:01, Huang Rui wrote:
> > > > > > > > > > > Xen PVH is the paravirtualized mode and takes advanta=
ge of
> > > > > > > > > > > hardware
> > > > > > > > > > > virtualization support when possible. It will using t=
he
> > > > > > > > > > > hardware IOMMU
> > > > > > > > > > > support instead of xen-swiotlb, so disable swiotlb if
> > > > > > > > > > > current domain is
> > > > > > > > > > > Xen PVH.
> > > > > > > > > >
> > > > > > > > > > But the kernel has no way (yet) to drive the IOMMU, so =
how can
> > > > > > > > > > it get
> > > > > > > > > > away without resorting to swiotlb in certain cases (lik=
e I/O
> > > > > > > > > > to an
> > > > > > > > > > address-restricted device)?
> > > > > > > > >
> > > > > > > > > I think Ray meant that, thanks to the IOMMU setup by Xen,=
 there
> > > > > > > > > is no
> > > > > > > > > need for swiotlb-xen in Dom0. Address translations are do=
ne by
> > > > > > > > > the IOMMU
> > > > > > > > > so we can use guest physical addresses instead of machine
> > > > > > > > > addresses for
> > > > > > > > > DMA. This is a similar case to Dom0 on ARM when the IOMMU=
 is
> > > > > > > > > available
> > > > > > > > > (see include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect, th=
e
> > > > > > > > > corresponding
> > > > > > > > > case is XENFEAT_not_direct_mapped).
> > > > > > > >
> > > > > > > > But how does Xen using an IOMMU help with, as said,
> > > > > > > > address-restricted
> > > > > > > > devices? They may still need e.g. a 32-bit address to be
> > > > > > > > programmed in,
> > > > > > > > and if the kernel has memory beyond the 4G boundary not all=
 I/O
> > > > > > > > buffers
> > > > > > > > may fulfill this requirement.
> > > > > > >
> > > > > > > In short, it is going to work as long as Linux has guest phys=
ical
> > > > > > > addresses (not machine addresses, those could be anything) lo=
wer
> > > > > > > than
> > > > > > > 4GB.
> > > > > > >
> > > > > > > If the address-restricted device does DMA via an IOMMU, then =
the
> > > > > > > device
> > > > > > > gets programmed by Linux using its guest physical addresses (=
not
> > > > > > > machine
> > > > > > > addresses).
> > > > > > >
> > > > > > > The 32-bit restriction would be applied by Linux to its choic=
e of
> > > > > > > guest
> > > > > > > physical address to use to program the device, the same way i=
t does
> > > > > > > on
> > > > > > > native. The device would be fine as it always uses Linux-prov=
ided
> > > > > > > <4GB
> > > > > > > addresses. After the IOMMU translation (pagetable setup by Xe=
n), we
> > > > > > > could get any address, including >4GB addresses, and that is
> > > > > > > expected to
> > > > > > > work.
> > > > > >
> > > > > > I understand that's the "normal" way of working. But whatever t=
he
> > > > > > swiotlb
> > > > > > is used for in baremetal Linux, that would similarly require it=
s use
> > > > > > in
> > > > > > PVH (or HVM) aiui. So unconditionally disabling it in PVH would=
 look
> > > > > > to
> > > > > > me like an incomplete attempt to disable its use altogether on =
x86.
> > > > > > What
> > > > > > difference of PVH vs baremetal am I missing here?
> > > > >
> > > > > swiotlb is not usable for GPUs even on bare metal.  They often ha=
ve
> > > > > hundreds or megs or even gigs of memory mapped on the device at a=
ny
> > > > > given time.  Also, AMD GPUs support 44-48 bit DMA masks (dependin=
g on
> > > > > the chip family).
> > > >
> > > > But the swiotlb isn't per device, but system global.
> > >
> > > Sure, but if the swiotlb is in use, then you can't really use the GPU=
.
> > > So you get to pick one.
> >
> > The swiotlb is used only for buffers which are not within the DMA mask =
of a
> > device (see dma_direct_map_page()). So an AMD GPU supporting a 44 bit D=
MA mask
> > won't use the swiotlb unless you have a buffer above guest physical add=
ress of
> > 16TB (so basically never).
> >
> > Disabling swiotlb in such a guest would OTOH mean, that a device with o=
nly
> > 32 bit DMA mask passed through to this guest couldn't work with buffers
> > above 4GB.
> >
> > I don't think this is acceptable.
>
> From the Xen subsystem in Linux point of view, the only thing we need to
> do is to make sure *not* to enable swiotlb_xen (yes "swiotlb_xen", not
> the global swiotlb) on PVH because it is not needed anyway.
>
> I think we should leave the global "swiotlb" setting alone. The global
> swiotlb is not relevant to Xen anyway, and surely baremetal Linux has to
> have a way to deal with swiotlb/GPU incompatibilities.
>
> We just have to avoid making things worse on Xen, and for that we just
> need to avoid unconditionally enabling swiotlb-xen. If the Xen subsystem
> doesn't enable swiotlb_xen/swiotlb, and no other subsystem enables
> swiotlb, then we have a good Linux configuration capable of handling the
> GPU properly.
>
> Alex, please correct me if I am wrong. How is x86_swiotlb_enable set to
> false on native (non-Xen) x86?

In most cases we have an IOMMU enabled and IIRC, TTM has slightly
different behavior for memory allocation depending on whether swiotlb
would be needed or not.

Alex


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 14:46:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 14:46:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511133.790013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdBLb-0001JF-KL; Fri, 17 Mar 2023 14:46:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511133.790013; Fri, 17 Mar 2023 14:46: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 1pdBLb-0001J8-H2; Fri, 17 Mar 2023 14:46:23 +0000
Received: by outflank-mailman (input) for mailman id 511133;
 Fri, 17 Mar 2023 14:46: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=+pkZ=7J=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pdBLZ-0000w3-U1
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 14:46:22 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060b.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a493506-c4d2-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 15:46:20 +0100 (CET)
Received: from DB8PR04MB6554.eurprd04.prod.outlook.com (2603:10a6:10:10a::28)
 by AM9PR04MB8424.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.33; Fri, 17 Mar
 2023 14:46:17 +0000
Received: from DB8PR04MB6554.eurprd04.prod.outlook.com
 ([fe80::27de:8103:c137:3498]) by DB8PR04MB6554.eurprd04.prod.outlook.com
 ([fe80::27de:8103:c137:3498%4]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 14:46: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: 7a493506-c4d2-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YyXj/hnm9ZwY3kwNuQDjIzvH3ci+f+ID3Mo5UkbFSd+KSK/kohZkViJoC18LfV6c5eGMR7BXVA4trA+8zyqdpWPeLQXeaZFyF2dSw2FayAoZWBQNO7AytqHzsqAd3k3tzXnzFed4JL8deK2nOX+WlWRutqo8zO/pujGUfdv9GLcZdrWP16VgY89zc5GFmBcvpRrhaztHnK1xHMwRCqYXeucINCQe4TlpTRgl47FgodKO7D293eJO1lhpyEfYdu+p8R3NXdygdV5FgwuPpSArkECO3PyFZsOf6HJ79cmKxjmntfFOouzF9FhJ3ok432CRcg1ejOn/lqoHzpK1TBRbTQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v0PAxUohAInL4ozQC8nVKLmfRg7BMPInBq6Q9Qwt/mc=;
 b=n4xRRpjw6cVg/9QCj9RID+gKhF8n99li+vAxbTcZlU0RSPVa2LezdIUeLPoheQ/wDiIjbScc0kW6nXIHGrPhMD/5TszjOJ9hAQz1mpaEgeOHXZEp2LEBWWpd1EtjpoBP5Qk5n/nFqAvfQKIWtypbCY8z8ueGVsSuMLANbGJEBRjc8LQKLfTjVAG6RDsUEHsS8O0ojr883eaqXrrJKVYrBnub78P8xlCN7kiJV9mZesbFVWiHCfgmlsd95Ha02VgquKVdOuG4n1OMUy/SqorebJMHCSknl/C0/EI8Xvzw+TbWhGDQTtncQlratYeZVYqQ0eQ4vbwGP8py9iom49VQ4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v0PAxUohAInL4ozQC8nVKLmfRg7BMPInBq6Q9Qwt/mc=;
 b=SRsvZXzy2+1itr/gAyKWzGS4QJMIQ3Soe7pQ+dJE6nHB8S00Dsmf/hlwfhplJsZXFfu+srFPzUbLvOs0wVWEpBV/u+VBOAzTwk+kxET3VZSReKFg/8avFhmY0h2RumLwvoRZGS4GTHgffwW//djQZC3NzzOfT2w3z1uMe9+uXr6tll0cBqSgoxYQv44BpMlrJPapQzJQ2ASbiTcwYkxjZNMqJphhcwd4DeIn/ZSEC69+GMq90iP0WP5LnSQ6EcpEEauV2y9Xd4BWIj17Ur+R4S3lD7KB46vmmV0Rk3r258mFBVA7CzUIjfpF//KaaNMdqdqWdDFW2uL2OKMBhpIt/w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <59f6fa7c-309b-051c-8fdb-614ef7e92233@suse.com>
Date: Fri, 17 Mar 2023 15:46:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 1/6] xen: add reference counter support
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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-2-volodymyr_babchuk@epam.com>
 <ZBNBhS2I4XWkwXr0@Air-de-Roger>
 <dc31ee54-b6ce-3251-ab0d-487d9a9bfd35@suse.com>
 <ZBNGO7/NY0VQQM/f@Air-de-Roger>
 <8331a0c4-07fa-0340-20bf-77a5c8661aa1@suse.com>
 <ZBNIbhW3Eu07aj8I@Air-de-Roger>
 <9693e011-a0df-4b18-fc49-fe8f46d97d9f@suse.com>
 <ZBQ7bMo8JRsBUVmN@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBQ7bMo8JRsBUVmN@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0080.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::15) To DB8PR04MB6554.eurprd04.prod.outlook.com
 (2603:10a6:10:10a::28)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DB8PR04MB6554:EE_|AM9PR04MB8424:EE_
X-MS-Office365-Filtering-Correlation-Id: d965ff0a-b8c8-4984-bba0-08db26f65ccd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n2IYewnwG+aWO8E2j8YDfNOH5XyqcuG3CVLw+DdvfbiHWwP+rLoskdQWjpqvWTkPESXLz0YR5/TcLYuPetXaMaK/jhlVUT4cyBwFlAdieuSYOOmC7fwgTrJupEGmwP3T+Nb1pZaSX/ivsp22JLlpPF0Re7zDhKGAzU0rtFTpKx1AOqZ+nBRFjtJzv+dbW8WO5o/UIcIyvxkyTOl0xO5VPCsfyZZvMJ9xFKk2THhRILDt31AueeJgZLGkukjRiBJa9CthsdA3Aq/kRBxPi/FefLeDyszcgUoTS0v5qznVP3YTbRW5SqJ32I/p6lVEDk7JQryKXaNtAzWD2nmLvHKsuhURVATeQubGQjwTAk93xzSbvElMLPsZv/3FYdABOW4ADFaCGIK0aZbekjMC4f1tDxfOPat3QaP4z/WXes0Kksx2X3bAIQj87z+RPGblpDZllPX7IGyr9jpt6Tw7dQS/lkBnFgJthWLefo+tlQOjKye0RzPC00Mmkmlg7FvRam/B3Etdj23RpoH2JGu/aZbD6fnSErXiCpLA2lcjQEjAlekmpXJ5QBrKW+PhrW3ibgfNWqI5GhuKXEcdzY9jjrF52ZCNdd1KSe0V7UMweNC9v9fxUWcjN8xfAh71x7EP9y5m4Z+j08H17NlnFNRMU4Hx/FGgfYa7zjj2ou1dz6UAJkjuS5mx6Mam+4u54oUlTJgo0Xh3wNCj8pa6TEOD62GNq8N1dWGjRQY3BsqyNKOGL/0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6554.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(136003)(366004)(376002)(346002)(396003)(451199018)(31686004)(5660300002)(41300700001)(2906002)(38100700002)(36756003)(31696002)(86362001)(478600001)(8936002)(8676002)(66946007)(6486002)(6666004)(66556008)(6916009)(66476007)(83380400001)(4326008)(316002)(54906003)(2616005)(186003)(6506007)(6512007)(26005)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZzNaUFlTQjJXbUd3eVFTdzJONGN1NHdxMEMzWDNTOXNOY1drS2c2WGhnQ0JH?=
 =?utf-8?B?bUFFcURkUDlrdUY2VlNuSFZrUDd6MVBXd0ZJbVNqdkxHOU5KVlk1c2RxT3BI?=
 =?utf-8?B?YlRnZXc1TzdQUm95M0dCZzEvbnpsRU9zS0gvS2dJYXpBbkl1TlZNWk9FT0FO?=
 =?utf-8?B?VGZSc2xTSmhIQXl4YUtidWtNR1NpMDVpZXVCdTh1RnBERzZ6cnFLMWpkZGFq?=
 =?utf-8?B?QXd2NjIrNzd6VGtPaDNkZ0xPamRiV1E0SXk5Y2NMakpmVW8vb1ByaG8rTHRS?=
 =?utf-8?B?cXpjSlFZOVdRMEdxVjdtU1ZEZlhZQzBWa21FdTgwTlIzVnZtbXJIejI0WlMv?=
 =?utf-8?B?Q29CSzdFV0F5SmR6Q0NpVGdJeFNJTnlRM05yUkJXUnJpRWxtT2c0OXIrWUZB?=
 =?utf-8?B?K1IxYlhlTW00RElNc2JOTmNES1lVLzRFdWdZSFQ3RW05MVg4Y2FrVWEwcjRH?=
 =?utf-8?B?TmRJM0hTdDB5eXFZWW1GNG40QnA4dnRaWWphUDNEZUFmK2tsRGZ2L2g0SWdt?=
 =?utf-8?B?SjlaU1k0TjdxMzlqUjh1dFpESE4ySUEySDRwT3VFSDVrKzVuTzNodUZpYlJG?=
 =?utf-8?B?dGJPUWxNZm1tWGYvUHlaMVdKYlNTbmNwTnJCZEU3VU80aENnYjFBaWtraXcv?=
 =?utf-8?B?aksxZDRJRENjQ2NZbCtLVmg2WWdLeXVtWlE4Y2o1S2NIZWVkM0NQZDlSenQy?=
 =?utf-8?B?dkgzcE13dFhNNEtkb0NkOWpjazZkdFlYdTFDbzRhYlNLdS9NcGpjT3BSa3dC?=
 =?utf-8?B?aFYvUC92SFZsczJWb2hhTi9rR0puRmxZRGdqNGNRYjZVYi83dHNOR2p5emp2?=
 =?utf-8?B?QWNLOUJtTExBNy9panlWWmlQVklBaGd0alp5ckFneWlBc2dNMFFpRzBKbE1m?=
 =?utf-8?B?dTNKTlRBTDNGUEUvbGI1NGxnd0tsUEVvcUpMWno5QmZOWHVyQWVjRUtKQkhG?=
 =?utf-8?B?bUl6TDA1N1Z2Y1pRZTl0elhGSHpPMFJYcThKbFgybjUyOVhEdmRRQU15RXNH?=
 =?utf-8?B?VnFtMzlBcGxTU1pDekhqeUp0T29VclJlS3V4bVpoMDVqQzlqYUtDYnJHMndZ?=
 =?utf-8?B?VFlrYWRrN2hyaW9JTldwa2xoYUZGMy9TbFlSOGd0RVFqTnUwK01pMFhWYmwv?=
 =?utf-8?B?TWROTmxQSU5qQkxsM3p5VUIreEVpSlNUTC93SktLemYxYlJMdGRDcTdVdDFK?=
 =?utf-8?B?VHBtV1huZS9CV24zNTk3RVJLM1pRWWtXNGgvZWJFUXE5dDJma0dHU05RTktU?=
 =?utf-8?B?UGMyMVFtU3UwYVQwU2pUcUJRdkpvRFBFbDl3eThwazRMdUJCcE44UVdnMHJW?=
 =?utf-8?B?b1pwcDJEd3I5cXNsVkpKWDhEL2hMNGxwTHNBVHZrZGZ1SmUvWGVlSnBqSlIr?=
 =?utf-8?B?TEZXYzBBRERialFmNXo5dnJUSFU3V1pYelZpVHRRakJoU05obFhOSDhtdkNz?=
 =?utf-8?B?NXpaQ1o5TGpSNG01enJVeGtOVXRVbUowaXFBdGhabFMyd05WSzFKNmZxZDVX?=
 =?utf-8?B?aVF0SVhXMG8zL0FnTk1JOWVWMk5IVVRZYUFnTU02NEZiSDRaQ0lxRU55a1ZK?=
 =?utf-8?B?cVpTdE1xL0dRdnhHNEV1WWlXSm1KVkQ1QmhVQ3BxN3FQSXVyTDBScXdMMUVn?=
 =?utf-8?B?R3IzaGU4YW00UGJWdkwvY0N2ak5mWDFKamR5TkhtV3Q4UjBFVEZEWk00andM?=
 =?utf-8?B?ZThZRENPQ3BXOHZXU0k1RHA3WXZOU1RlemxHbmFrS2pod3JTZUNmMVF6a0xa?=
 =?utf-8?B?N3E4cHNZOG5uclFKbS93bVVBWmhGdXp6cEZkd1lFWDA4eDJSaHU3QmgwS3o3?=
 =?utf-8?B?dkNjdVpnVURmN1NiK0JIcndtMjQySFZjejdOUzVoOEd5c2cvVW91NlJWYzlE?=
 =?utf-8?B?bmM5ZVNNV2Y3V24yNXJOV1lyZXd6Y2VRVDNVaXArcUF3NEZ6NkhZRWVUTysz?=
 =?utf-8?B?VmFvdmlWQW1OaHZNa0hIVzNFeVVQQ2pXdFVaOFZPelBHTzZGM096enk3dklQ?=
 =?utf-8?B?cEl3dTVONlpOYytJdmFFQlhWbHpPNFFsUzNsODV1YUZoRzYxQUVwVDNpQjMx?=
 =?utf-8?B?RGFucmhHN3BFRXc1TUR4NkZZWit4K2xzdGRGa09mSWhycUdRRVVzbHFiKzl5?=
 =?utf-8?Q?F283/nXSWpEXzVzl/v/OyP6gi?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d965ff0a-b8c8-4984-bba0-08db26f65ccd
X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6554.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 14:46:16.5572
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6IBxm0NcFSXT4nVcUJOn/uLZz0vEagfdwGxbVW68pqPX3WL7EH2NQZS/CdwLXkx4+qviKQDzVqyVrywV9r89Wg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8424

On 17.03.2023 11:05, Roger Pau Monné wrote:
> On Thu, Mar 16, 2023 at 05:56:00PM +0100, Jan Beulich wrote:
>> On 16.03.2023 17:48, Roger Pau Monné wrote:
>>> On Thu, Mar 16, 2023 at 05:43:18PM +0100, Jan Beulich wrote:
>>>> On 16.03.2023 17:39, Roger Pau Monné wrote:
>>>>> On Thu, Mar 16, 2023 at 05:32:38PM +0100, Jan Beulich wrote:
>>>>>> On 16.03.2023 17:19, Roger Pau Monné wrote:
>>>>>>> On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
>>>>>>>> +static inline void refcnt_get(refcnt_t *refcnt)
>>>>>>>> +{
>>>>>>>> +    int old = atomic_add_unless(&refcnt->refcnt, 1, 0);
>>>>>>>
>>>>>>> Occurred to me while looking at the next patch:
>>>>>>>
>>>>>>> Don't you also need to print a warning (and saturate the counter
>>>>>>> maybe?) if old == 0, as that would imply the caller is attempting
>>>>>>> to take a reference of an object that should be destroyed? IOW: it
>>>>>>> would point to some kind of memory leak.
>>>>>>
>>>>>> Hmm, I notice the function presently returns void. I think what to do
>>>>>> when the counter is zero needs leaving to the caller. See e.g.
>>>>>> get_page() which will simply indicate failure to the caller in case
>>>>>> the refcnt is zero. (There overflow handling also is left to the
>>>>>> caller ... All that matters is whether a ref can be acquired.)
>>>>>
>>>>> Hm, likely.  I guess pages never go away even when it's refcount
>>>>> reaches 0.
>>>>>
>>>>> For the pdev case attempting to take a refcount on an object that has
>>>>> 0 refcounts implies that the caller is using leaked memory, as the
>>>>> point an object reaches 0 it supposed to be destroyed.
>>>>
>>>> Hmm, my thinking was that a device would remain at refcnt 0 until it is
>>>> actually removed, i.e. refcnt == 0 being a prereq for pci_remove_device()
>>>> to be willing to do anything at all. But maybe that's not a viable model.
>>>
>>> Right, I think the intention was for pci_remove_device() to drop the
>>> refcount to 0 and do the removal, so the refcount should be 1 when
>>> calling pci_remove_device().  But none of this is written down, so
>>> it's mostly my assumptions from looking at the code.
>>
>> Could such work at all? The function can't safely drop a reference
>> and _then_ check whether it was the last one. The function either has
>> to take refcnt == 0 as prereq, or it needs to be the destructor
>> function that refcnt_put() calls.
> 
> But then you also get in the trouble of asserting that refcnt == 0
> doesn't change between evaluation and actual removal of the structure.
> 
> Should all refcounts to pdev be taken and dropped while holding the
> pcidevs lock?
> 
> I there an email (outside of this series) that contains a description
> of how the refcounting is to be used with pdevs?

I'm not aware of one. The intentions indeed need outlining somewhere.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 14:54:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 14:54:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511140.790026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdBTJ-0003N9-Fd; Fri, 17 Mar 2023 14:54:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511140.790026; Fri, 17 Mar 2023 14: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 1pdBTJ-0003N2-BL; Fri, 17 Mar 2023 14:54:21 +0000
Received: by outflank-mailman (input) for mailman id 511140;
 Fri, 17 Mar 2023 14: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=+pkZ=7J=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pdBTH-0003Mu-RJ
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 14:54:19 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0603.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 979d665f-c4d3-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 15:54:18 +0100 (CET)
Received: from DB8PR04MB6554.eurprd04.prod.outlook.com (2603:10a6:10:10a::28)
 by PAXPR04MB8734.eurprd04.prod.outlook.com (2603:10a6:102:21e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 14:54:15 +0000
Received: from DB8PR04MB6554.eurprd04.prod.outlook.com
 ([fe80::27de:8103:c137:3498]) by DB8PR04MB6554.eurprd04.prod.outlook.com
 ([fe80::27de:8103:c137:3498%4]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 14:54: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: 979d665f-c4d3-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cZ+GZyd9wjxJLL7UB14E6091bTFeLwEBB8EYlrKvpBmTh8neEKlYJc+Gl5w4jkTnOMBqDFzCdBOWSBfeTGbXx2M2LkBswPGQ3EIjtxUpVrbeOkOZpSt1rMs+tbf5CyC9PQlfQkrUtpJc4qtXCHyPx7qPwFyqGvdKZ9qZ3ZBItPR+ZXCsQjYv79SUghpt6de3eo8U46JL5rpiIucKInNG0Q7+6tCK3aiYldhwOT5oTUErktyzNkhNPZ+nzgHhSRwH8QRvCjbjPVqFs4XEjgguoc0lIL9/S6xiXh7ysdgjBCdpDWxXBwABPbxvlMChgb7Wv9+GvWVemgJ3n1ynVP07pQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FS1dvBeOOcd7lzRgdcoYi/U+zZ5MXRNupzZbv7bS+h4=;
 b=I3lJRbHlSs61VfuNs29Zx1gVpxBKKtzTQBeB7kj6xNvRDkxKONiYSocgv87iIbDIQKXFiVPKXTvx7UWCSyNBIDrPdfmi9CSLsKl94MVvBQ8YCgPlq/3h7ZeP2NlJReF3wE8D/0NV1Ao1xEOYbBfsS5iEYg+9F3EMw1IDZqHYYV/BPfDIcr3Qi1Z8Fo585W+CCtNV9ghDvTYPgf0UM7otWb5ZrkhYRhI9jZiN8t4iIt//ZnPIE7aEjogLqDOBwPy8as+PKJ6LTubLK4Vjv5NZDxR1foH07rUL4oG8pPMLB/QOrdu4XriVdMF/k8SNwoN6/hd3m/YmFycqLBZ6zzEgVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FS1dvBeOOcd7lzRgdcoYi/U+zZ5MXRNupzZbv7bS+h4=;
 b=VD2oyNWYVRu6v8xEnvettQOUYRlBGhKfMDH+9hAIMUdJCN/75THBWqpOxT8x1mDqBlMs7Xom/lryPMP1kZZlJbXDytXR4qGkjSC/Q4PRyemaKX23mXGHAMei7ZswI3X36pG+wVwZczPBfSPA0ih7tgKkgIxMC2P50TWdCUxVNbcyxLyXsjjsCq77C72IW9If+033+JrylwVwDky3FM7n0tsPg/B6MKAjx8nTM8QcxIyBh38Y8pwhPUndI0+pzkyMjiqJgaKkq8XTjmNXW+U6Jk57PHUiSq+K/mU0bXS7Pf3/MmVgwdutVQrzRSxT07vIIiYDJ+fENECcrhStO8O1Hw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8e4a7b1f-cad2-e2bb-bc91-00a208bcfe94@suse.com>
Date: Fri, 17 Mar 2023 15:54:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 4/4] Update README to state Python3 requirement
Content-Language: en-US
To: George Dunlap <george.dunlap@cloud.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.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: <20230316171634.320626-1-marmarek@invisiblethingslab.com>
 <20230316171634.320626-4-marmarek@invisiblethingslab.com>
 <afe67927-0f62-511b-012f-2f2deedbf4e6@suse.com>
 <CA+zSX=bHyn-v77shA9xGaacjXcQ0U0tTg2V0U2t0FVML7WFJqw@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CA+zSX=bHyn-v77shA9xGaacjXcQ0U0tTg2V0U2t0FVML7WFJqw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0083.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::18) To DB8PR04MB6554.eurprd04.prod.outlook.com
 (2603:10a6:10:10a::28)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DB8PR04MB6554:EE_|PAXPR04MB8734:EE_
X-MS-Office365-Filtering-Correlation-Id: 6548bd30-4e2d-4e1c-d73f-08db26f779c7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0Y+UgGzy0Zx13d+SbgTVtap5GHoQdU9LmdNWwyOy1ZVGbkKdVRXvEOOg99vTuGOL8tfSGlgaGmW1Izo2j7xl6HJdE7WSJH1sbVUU72KItnGy1x9leX0hLrEbMxeUPTOsvln8bhTzaeAsb5YtSAnHOygRHowgQnaAvSTPqhchIlNx3oo9/om1Dh3qvLhxUQIzl6Prw9LUgV2iY0ydpDwJTA3kkF77FQehwvE7GNJjoPIQTlVovHQDARam9qC5zjKfpPHE14OxC2Ztj8hLwWRtxkNPv0ytNhXGofbkmeinq/uvSbByacldsQfXKsaNwdasM7tmeHozFk53//D1EpI6jNdlxIbIWKcEvD9eYq9EmnKONxQ6yBswcEel327awe56FlaLvkjrCh6fC8W71L/gru0zc/ABuOR+bXhOh/+k3mDzQTgejc/RIaRn42A1QpMlgRo4Jmzfqja486GoBfh6nrgUgmvgTJetrnU56YqCzvbAqH6MS9a7vNQovGnnc8tvRTR40w3MKbKyHufUzYkGxZ8RHrXho7d9v9otFYjmGEYTmW8g0xoA2rAVTiXTvjwsUUBijfmZJNH5rDC1DMfQGmS/ALYxdvmv+UI2a2B6EBZr3CffGJyZv1uuhG0ZJp2NcFN4pnvcupL9LRIAYQR4Dpr59ZBczPjVPOZ2+mvIXkJuvky7SbhioWeCr5ci80AgpgqpzJupvCc6CHbZr9VqNmXGMSJpK5cLmiK4LdPs6kg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6554.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(346002)(376002)(396003)(39860400002)(451199018)(26005)(53546011)(6512007)(6506007)(2616005)(83380400001)(86362001)(186003)(31686004)(6486002)(54906003)(36756003)(4326008)(38100700002)(316002)(478600001)(2906002)(66574015)(66946007)(66476007)(66556008)(31696002)(8676002)(6916009)(5660300002)(8936002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WC9ndDFKNU9XQ2pRa3BrbE1zT3M2YWN4NzJDRTFua08xNllQSEJweGxJQTRB?=
 =?utf-8?B?Wk0zZTAwZWdERnVFQVlJSUNxQkVqZW5XeWRhUGlxMUtGRnQ5S09LNGVqM05F?=
 =?utf-8?B?dlhuRTJaaG9SNFVhNStzYjhvb1lpeGtkSlZ3bnMvT2xSeW9GdUNYVHJqVE0x?=
 =?utf-8?B?SFloWXkvblUveHh3Z3NCbUh6aGlYdVRFclN6c3dUM0JnSkpISzRYWEFLeVNq?=
 =?utf-8?B?Zk1uVU5uemlKTndobEpXd05ab2UyZjhTa0VsNGpLYW5vaFBTcUZoNEdNZWp1?=
 =?utf-8?B?WUZaMTVacEF2dnIrMm8xUWlYcnhqcTZpb0VQVG5NcTUrVUZYRTFYYng3cCtt?=
 =?utf-8?B?eXljcnBmbVVGU2JOYUJRaUtyWkljeTZBZ2RFYWhzOC9oMEdzWTdzU2ppbHZV?=
 =?utf-8?B?SDZNcEltb3lSQ1FudWRua2FPRDFvdXNqTFZuVUlDeWFZeUJ2NmFyeFB5MFpt?=
 =?utf-8?B?a1M5L2hwYjNnOUpaeGxEcFlxdys0QkZtY0hGMnI1UWFYSitaOEcyYTY3UC9V?=
 =?utf-8?B?dms4K0Y0L21aQlNUK1RzY2gxWHNIOFFySU1tbXpCdW9mR2RZa2U3SGFKaUFB?=
 =?utf-8?B?YzJNMFBGT3Fvd2JTZDU0Z0JqSjBHNEVCa25IcUtzT3JCQ0FZYW9BRXQ5UEF6?=
 =?utf-8?B?d0oyeUVHVHN1VDUzVVkvK3pmZnNFTmMweTBPMjJzcHBVSTJqdk9YODk5dmZT?=
 =?utf-8?B?TEdNTTE3S1JlTWdKRGhNOHYzMjNqenFIWEt5K2J1dDdycFRXWWlLK3RCWWJt?=
 =?utf-8?B?Tyt0enFhSzM1YndWb1BPTmdNOWF1dkVJanNPNjVhRGFBWThlSTVZc0laY3lB?=
 =?utf-8?B?Znl1NFJlQmxDSkpRNmN1Mm8zbFlCdmFxSGYvV1dUSkh2czB5OVp5dUtZLzdV?=
 =?utf-8?B?UVBxcVhzaUhMVmdUbmhnQTFnMmFpU3dwVkZWbG9Ub1dwU2hFVDRXZ2o2RUdZ?=
 =?utf-8?B?dGJHK1ZjbEVLcTdVYWxQK0hFWFYxSG5LeFNDVlZ2ODBLNDBTTG9wdHNoV2Rx?=
 =?utf-8?B?YXBQU0QwWHdkTHY1b1E4T3diVkQ3T0Y0R2JJd25oRnpvQks1emxvN3hMb0pP?=
 =?utf-8?B?azg3Uk42TnRCWmNVUVRLYThRNUJKS0dhZThGbW53TVJkcnFGSUdCMDlyL0ZK?=
 =?utf-8?B?VDRYZkM5aDR0TzA4bVlmMzViWW9YOVNCK3NwVEJWNkxPWWxhTXpHRDhKLy9l?=
 =?utf-8?B?MmJvMzFYRnJPZitpd0Z4OUtHbGZUM3hRYkovMXJEdXNhajFXZiszblZxWWR3?=
 =?utf-8?B?dndjeXcyZnRac1lkK2IyREdZcWtQVUlKUW5tNWp4R21BMGdHd2h2V1pVSlQv?=
 =?utf-8?B?c3VhNDU3OUJXWDZ2ZU41blZWcVU5ejUyU2p6TTQ2M3JWcmx1ZUhyckRxSkMx?=
 =?utf-8?B?NGRxa2trQk9YcTQ5Vk92MkxERVlYbjlYdEdqUjZTdzNLT3JWRzdpRFFSSEtC?=
 =?utf-8?B?SCtjTzVzN2s4NjF6bDM3Y0RIaXZzdFZ2dStzMXlFTVVRQnZKd3Zqc2Z4YlZv?=
 =?utf-8?B?NjRnbExTZ0dDUmVjNTZOYTREeWhHY1hJcEswN1ZKN242dnMyUG81SzlJQ2lz?=
 =?utf-8?B?M3lOeWkwMnllUWVyd1BUSHFTZ2s1bTFXd0s4Skt6MlhPNHRRMFdkczdMcFhy?=
 =?utf-8?B?Ny9TMXNGdHZzc0lZVHVUUUY0bnV4cmJjdGlXbjlDRFdIMjlsMmt5RnNvYi9J?=
 =?utf-8?B?SXphVzM2NUErVVB5eXlhSkxZb243Yk9IT1E0T0RZUnV4UGh1dUF6KzRpMVdt?=
 =?utf-8?B?MkVtdmUzdkh1c2tOa3JuSHVBZDZhNkhBU01WUjJCSzN4eTl4andmZmVNTTda?=
 =?utf-8?B?MEdUVmFoYTZMN1YvOC9PZlBYaXpuV2Zld2VIY2phOUEwZzlzWGxHZnJlVW9F?=
 =?utf-8?B?WjYwcWk0c1cwWlBzSk83WFhHLzB1UVh3cU5HeE9IeDRhZzFpbWRVRFVEZFE3?=
 =?utf-8?B?V0tmazc0cWM4YVc1R1VYRWdMZXllNzdITzBYOVNpcUJJN2lBY0ZJOFl2NGFh?=
 =?utf-8?B?RFo4Y3lUSUdoWkNxc0E3TE1UNnpUOXNVNDBZNk5PTkxHNVNWOW5EMGxkZUph?=
 =?utf-8?B?cGh4RVpxdVYxeU01VERrQ08yTWJ5dUpucUNyTWQ0Q3R3SUFjUmpZS3lETFNq?=
 =?utf-8?Q?fQSZbtn+twmU2OmDRdIatXGp6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6548bd30-4e2d-4e1c-d73f-08db26f779c7
X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6554.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 14:54:14.6693
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OWupDlkNUPW0gCCy5hqT80XLes+zceiH8Yt+XDUBJ7fyDVWAUDHZ/M+tM/6+gRDuP8n7g+okPlgHnorzxYHjzw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8734

On 17.03.2023 13:37, George Dunlap wrote:
> On Fri, Mar 17, 2023 at 8:46 AM Jan Beulich <jbeulich@suse.com> wrote:
> 
>> On 16.03.2023 18:16, Marek Marczykowski-Górecki wrote:
>>> Python2 is not supported anymore.
>>
>> There are two things here which concern me: For one, how come this is
>> at the end of a series? You want to keep in mind that any series may
>> be committed piecemeal (unless an indication to the contrary is in
>> the cover letter, but there's none here in the first place).
>>
>> The other aspect is that there's no indication here of it being
>> consensus that we raise the baseline requirement for Python, and for
>> Python alone. A decision towards the wider topic of raising baseline
>> requirements is, as you may recall from the meeting in Cambridge,
>> still pending.
>>
> 
> To me, the idea behind that discussion was that if we agree on a policy --
> or at least general principles -- then we can avoid having to have
> discussions on a case-by-case basis.  The fact that the discussion is still
> open isn't a reason not to deprecate features; it just means that we still
> need to discuss each one on its merits.
> 
> Given that Python 2 was announced unsupported years ago now, it seems
> obvious to me that we should stop trying to support it.
> 
> Are you arguing that we *should* continue to support Python2?  Do you think
> anyone will?

I think we really need basics of a policy first. Otherwise what can or
cannot be proposed to no longer be supported is just too arbitrary. Here
as well as elsewhere my fear is that thing would stop building on rather
old distros, where so far things have been building fine. (For Py3 in
particular that's no _that_ much of a concern, because quite some time
ago qemu already started requiring it. But it would still be a change in
how I would need to invoke builds on such old systems that I try Xen out
on every once in a while, because I'd then need to override the Python
to use not just for qemu, but globally.)

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 14:55:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 14:55:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511142.790035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdBUl-0003wO-Pn; Fri, 17 Mar 2023 14:55:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511142.790035; Fri, 17 Mar 2023 14: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 1pdBUl-0003wH-N1; Fri, 17 Mar 2023 14:55:51 +0000
Received: by outflank-mailman (input) for mailman id 511142;
 Fri, 17 Mar 2023 14:55:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+pkZ=7J=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pdBUk-0003w7-EW
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 14:55:50 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20617.outbound.protection.outlook.com
 [2a01:111:f400:fe12::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd36a790-c4d3-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 15:55:48 +0100 (CET)
Received: from DB8PR04MB6554.eurprd04.prod.outlook.com (2603:10a6:10:10a::28)
 by PAXPR04MB8734.eurprd04.prod.outlook.com (2603:10a6:102:21e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 14:55:46 +0000
Received: from DB8PR04MB6554.eurprd04.prod.outlook.com
 ([fe80::27de:8103:c137:3498]) by DB8PR04MB6554.eurprd04.prod.outlook.com
 ([fe80::27de:8103:c137:3498%4]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 14:55: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: cd36a790-c4d3-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gk7wezAygK2qG/AUsEBVulL+jzWiI9esMuoBemtvAP0sydAZNqFsdk78+niX3YlUjc1bcrcudVsZl/e2QIpcJni7hU4ufor62RII0OMQrUsE/72/uxvyAQG+UMRfx6GetSTaQDJDEsep9hkCpY3eIQdelDGmh5vXCVp1GQwErTKpbFV76S+qORX0M3ZV4GLSmpt5OM+XaQH1P+zX6ZD/5r+Xb3ff0yMe+eEqvjQLKaJjK3FxoIVKVW6yzB0mgjobPvuEj9dqr0GQ5E96YQVtEehrn0W2BQJ/8T/b0hcnIfhSAkRF9tvpmVwmJ+b+PFimfUqAn9UuOcQhsOkDK17Q5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I0VNVGTLxzGg/7HH36BakSv3iCp0+VG1KJ87OsG0u7U=;
 b=O7Uh5W5QCpcyDaGKBlNIW6Blz+q2H6zqlL8eK5Zz6+rqSNTXQHCBtaILcD5Qg769r4k1PbU71frzlJ7FcmYw7bLjXd9HKxGjYKF6m2m41M3a02ElQ3V4QeYCL0NzgxCGydZN2vKhXnjFjjOjgnibxJDi6PYXYG3YIXGvx/Nzo7l8CyuNEiYeXCzMqsXM1x8NoWrZfS5VDtcJbp8Ft6ycvH1pnUTojZ65udj+NAKx+ChHyoD5YdN4NKd9vGHD6YriU0ojQ5LUUMDSagB0N48hAnneSOBnxeqjgoeAbxreOcWvoaaXl0ejaYN6aYnJfP5h3CAN7FBg/Z+fRXwJik1odw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I0VNVGTLxzGg/7HH36BakSv3iCp0+VG1KJ87OsG0u7U=;
 b=lc7PJV1uwGE6Uq4+ZIAVqJLiSk607BgSk+dg9OTpREvXBYvvUhAWp6JhsCF5iToRrQNmbAL2JxbioaYUTYcLLTcLhOce8XYRyACeCEP6zwAFC7iHI9EfP8ud00AT5KRHFf9JCyeZ2NAb1lS/EUq/eFGf2mghjezGE3UTmVCn68a9xG3BHEMLaV7Z8XLBJEfKolSpcpSr3p4TRCZSsqEBIlCqg7QexfgJF1NWX19/RPxd3efRNZw4VjRboq+JHyD3G6bZKS5YBn22ZmXC48lKge7O/wdILbZw9+EEfuAbslLvT6mhf8/SeAX3QV+2qSAJE3lS6/OXbi5LANpINrU4lA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <44a0aa6c-41ae-a9da-3c73-67c4d8e5eff9@suse.com>
Date: Fri, 17 Mar 2023 15:55:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] xen/console: Skip switching serial input to non
 existing domains
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>
Cc: 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,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20230316102635.6497-1-michal.orzel@amd.com>
 <d9654392-ce4b-07b6-9be0-7a6d4230c287@suse.com>
 <alpine.DEB.2.22.394.2303161559250.3359@ubuntu-linux-20-04-desktop>
 <02d111e0-000b-ff82-9483-6301c18e5172@suse.com>
 <875eea95-a9b2-656d-b182-1a48cf557a9b@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <875eea95-a9b2-656d-b182-1a48cf557a9b@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0084.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::20) To DB8PR04MB6554.eurprd04.prod.outlook.com
 (2603:10a6:10:10a::28)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DB8PR04MB6554:EE_|PAXPR04MB8734:EE_
X-MS-Office365-Filtering-Correlation-Id: a0a2dfd3-4cc3-4183-844c-08db26f7b0a4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	osYkZn8PcrdErBp2fetOMegFXm6vzRBMUg6fHvbOx77AVGGv9tcQSycje/svEf8Ye5xZjDfsUTF5paTp4YjYsgKK7wU0ky45g/SsktzHjri4xQKlvsLkWaoOIvr48flxIyyuvTtXwvpPZxRBZFOrY1yquMIWXV0jp4tN++oFB6TWDoak0emOgjjmYuH1mYUadhCsssou2oFBZ4yX0jRJexs2M48+35pvPYRfR9PxNcg9swA7aaudJl/qRJGSyE/yh8GcLtLJx0onG2N/HQRxYpHpOHsV8EUc5F11XLuc4/t4SnIDIygAie7QUY9KE1hnf5BX4gzrW0fY7JunTr4yWDQzmkNfZlfJc4g3GL1XT/tdNwGuibVxY0HUTjiuFqNGBsXpy4vIy0LT5jM99dI7LVwZq+AwkIJGbP+WUTy2QWH/j5n69dRHOuWD+oEs4W5dFYlfqR1iCF3JtsaCc3kNwKWGhvHBJJ738rJEGXEjGlEHPtsGUABZN1q5Q9Ax07/HEGGfVyMTKczJuhHMB/OkfI7pZrg1R4KxAVKyZXunmYN8QkhtDAq3ExBy2FnUXxzwfvtq0BpXOp3XjOmzdCc/CDhdNVbXa+QNMcCYg+BS1obCA4Vk1DZ3IbNr15aLdKpa7qAWB4PHP95ApFZHfNBot+vBqWEhwKrOKm6/1Bx34keFxJL7GOk75vYbmBbmmUskrkogXpcBZsbdndq1uKd0AqYyi67HC6iydzS5txYvw+I=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6554.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(396003)(376002)(136003)(366004)(346002)(451199018)(316002)(38100700002)(2906002)(478600001)(36756003)(54906003)(4326008)(8936002)(5660300002)(41300700001)(66476007)(66946007)(66556008)(8676002)(6916009)(31696002)(83380400001)(86362001)(31686004)(186003)(2616005)(53546011)(6512007)(6506007)(26005)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aGxqWEVuVC9NUDBycjM3Sm1nWFJQQmVGTTk4VlRnL3pzd1l5dVRCWEU5U0lU?=
 =?utf-8?B?VzhsNW9ZK1lNYUNsUzJIcDZqRURET0ppN1o5K0RsbFIzTldMQzlLOUo4Y1Az?=
 =?utf-8?B?UGpOOG9ONEltQytSTGRaS042b29DejI3dzZtdlFMNGIydG1YTzZxM1lpUG5h?=
 =?utf-8?B?SWNyVTNsc1dpU1hERjhnMUpzbzVhR21QZyt2QWFybXNPOURYdjdYMUZDWitX?=
 =?utf-8?B?YU9qUUJFV2gvVnFLajlsUWZzVUxNWTZpeWx6TUNKQnFLRkpUZ3pjSE1TbVdB?=
 =?utf-8?B?bytlVnU2R29EVHk5ZHQxL0RXNUZ5VklRVzJOcVp4V0JqbkFMdjJrOFJzQ3FE?=
 =?utf-8?B?dzBqY3BFL2FIWWpUaStSVWcxZS9KMkxBTklEK2xVY1VHakdVcXdocWZ2VUlT?=
 =?utf-8?B?OTFsUmZodWREMGg3d3gzQXJCRWYrL2F2d3hWU2ZzalhmYlgrRk1zZXZkME9y?=
 =?utf-8?B?RHZXWDMwaHdINXh2TzFKS2VKV09lV1BROEZSMUdrSkx6NnQxdWVGdUs5c2Zv?=
 =?utf-8?B?cGxFajBkcUZ0eWg4OXNSeVFsSFRRdXZ0S2FoVDYzZXRldUdKSm0wTDNWMmFS?=
 =?utf-8?B?c0pSTTVQRzlyU3lRc2ZJM3F5SXllckh0MnQvaXJ3VEVETlhGUDFieXMyYmNS?=
 =?utf-8?B?dlBCMHFWWmRPYTlkWEJrajBHZi82Um5vdVNRbWVjUzVDWFgvOVI3T2VCbGE4?=
 =?utf-8?B?NlRLT0d1QWVrcUxaVERUUW9sMHI4L2t1TjF0aWtyNWpTZ1I2M0hIL3Y2Y1pV?=
 =?utf-8?B?L3FSV09acmV1Y2xkUXhUeTNHTHJoT28xMUNXek4rcjZwNVRpaHhlb1J5MWw3?=
 =?utf-8?B?T21WUU5aT3FDdFZzUmlta3dUd1ZveCsxK1lkZHdYWUk1aTNHTXp4K0RrQkNv?=
 =?utf-8?B?aGV5blBCTXJJMUpUcmtsQVpyL2NwNUVkWk9lWlN6Z05RRVAxNjFISlBMSkVF?=
 =?utf-8?B?aHdIcTVnaWxBbTlEZjlUcGRiTE9BQjBmMFRXOGU4aEdwb2JicHFqdnVWNG9i?=
 =?utf-8?B?bnVEU0VZa2dCMklFbUpMbjVGYTQzNlFlSi9WQ0tTTU9iVmlDZEhKYUZwQ3RR?=
 =?utf-8?B?NFREYVNsTlBJbkw1THNnTE1mWEFqcDdJVVZhem1yY1I0QSt0cWc0aDkzY1F0?=
 =?utf-8?B?SGxrcDR1V0lUdTcrdmpHMFlVa0ZQM3BlQkRHQUViTXR4L0pRZUtzcWdrZUFr?=
 =?utf-8?B?T0FDN1hHRVVLbUo3c2VHUEVUaUZaWXpiYUlKTGZWVlFveWN1M29OSy9BN2JI?=
 =?utf-8?B?Ti9pdG92bStXUTBLa01qZVFyZVp0TCtoa1Joa3NIanpsOENUL0RkS044SVNs?=
 =?utf-8?B?cXVkY2pDWis1U0Y2WWI1VUYxSWt5a2xMNlhQakxjWEo5Mk90R1RrWmlYbVFs?=
 =?utf-8?B?ejY0Zmc3NVBXZk9xWHYxU1BadVQ0QkIxUjgwdnJGd01QRExpdXR1M2RVRnF0?=
 =?utf-8?B?SElHanF2R1FrVGowSmw1SzZlZ0p2Y2VJRXg4b0tVQjZmUzhCWlBOa21BazYx?=
 =?utf-8?B?dWJNTENuVjhsNVM5U3BqcWNGS3FsdjFNZEhicFVXbTArQ2JZUWdqeHlyb3JX?=
 =?utf-8?B?bXE1NFhlUVFSckliNC9NcTB2QzYxQjNmQXAyWUpoTWVkL2NJYU5YNU5qMWhL?=
 =?utf-8?B?cmxkempUZmhUb1F1aDRBdE8rYk83S3M4VFM2aTlvWVNwckxaODZiUy93REJl?=
 =?utf-8?B?N3Q1RmQ1WUx5cDVOazZOSGN5QkV3eUJyZ0NVY3h2dSsxd291cHIxb05VRUhG?=
 =?utf-8?B?Tmw1L3VoM20xVVhXaDBic0NIQkRKa2RHeG9keEhjcmx1dlltTHNndkd5QmRF?=
 =?utf-8?B?NUZHN1hYRk55alNsRHNBNzE1VVBwUTNUcWpSMWdGYjkvdkNjbVdzRDVHZjZO?=
 =?utf-8?B?b2FqTDBwcmNZOUU2aERLV0lOSktKdXpMZm40dW8va25qaGEydkZiVGxneUhE?=
 =?utf-8?B?dmljTEptRE5QbzdvL0I1eTBHUG5pY2I2YWpIUmRDeVNJL2Z1RjFDTHdnSHdw?=
 =?utf-8?B?dHdEWEJzczFCTXpRUUJPZmdEWWlndWpQRllUanhhVXhYcWQzaFpxaXlDQktZ?=
 =?utf-8?B?Z1dPMWd1Nm1vQjg5Uk5zOThBYU9TdS9KbEtRUjhwNm1oRXFVdy82alRIa05n?=
 =?utf-8?Q?XJw/x3QfEV01MWF9AKdDw2bED?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a0a2dfd3-4cc3-4183-844c-08db26f7b0a4
X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6554.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 14:55:46.6969
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: isyx/ZKGOFBO5AYX8EzdyKG02inL8T512KEdW7lrO5x4LyHvTM5gwuZ6LgwAWllD2N5OYq8QNq1LLEjqYVaC+g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8734

On 17.03.2023 10:32, Michal Orzel wrote:
> 
> 
> On 17/03/2023 09:36, Jan Beulich wrote:
>>
>>
>> On 16.03.2023 23:59, Stefano Stabellini wrote:
>>> On Thu, 16 Mar 2023, Jan Beulich wrote:
>>>> On 16.03.2023 11:26, Michal Orzel wrote:
>>>>> --- a/xen/drivers/char/console.c
>>>>> +++ b/xen/drivers/char/console.c
>>>>> @@ -490,7 +490,24 @@ static void switch_serial_input(void)
>>>>>      }
>>>>>      else
>>>>>      {
>>>>> -        console_rx++;
>>>>> +        unsigned int next_rx = console_rx + 1;
>>>>> +
>>>>> +        /* Skip switching serial input to non existing domains */
>>>>> +        while ( next_rx < max_init_domid + 1 )
>>>>> +        {
>>>>> +            struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
>>>>> +
>>>>> +            if ( d )
>>>>> +            {
>>>>> +                rcu_unlock_domain(d);
>>>>> +                break;
>>>>> +            }
>>>>> +
>>>>> +            next_rx++;
>>>>> +        }
>>>>> +
>>>>> +        console_rx = next_rx;
>>>>> +
>>>>>          printk("*** Serial input to DOM%d", console_rx - 1);
>>>>>      }
>>>>
>>>> While at the first glance (when you sent it in reply to v1) it looked okay,
>>>> I'm afraid it really isn't: Please consider what happens when the last of
>>>> the DomU-s doesn't exist anymore. (You don't really check whether it still
>>>> exists, because the range check comes ahead of the existence one.) In that
>>>> case you want to move from second-to-last to Xen. I expect the entire
>>>> if/else construct wants to be inside the loop.
>>>
>>> I don't think we need another loop, just a check if we found a domain or
>>
>> I didn't say "another loop", but I suggested that the loop needs to be
>> around the if/else. Of course this can be transformed into equivalent
>> forms, like ...
>>
>>> not. E.g.:
>>>
>>>
>>>     unsigned int next_rx = console_rx + 1;
>>>
>>>     /* Skip switching serial input to non existing domains */
>>>     while ( next_rx < max_init_domid + 1 )
>>>     {
>>>         struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
>>>
>>>         if ( d )
>>>         {
>>>             rcu_unlock_domain(d);
>>>             console_rx = next_rx;
>>>             printk("*** Serial input to DOM%d", console_rx - 1);
>>>             break;
>>>         }
>>>
>>>         next_rx++;
>>>     }
>>>
>>>     /* no domain found */
>>>     console_rx = 0;
>>>     printk("*** Serial input to Xen");
>>
>> ... what you suggest (or at least almost, because the way it's written
>> we'd always switch to Xen).
> 
> I would prefer a loop with if/else inside. If you are ok with the following code
> that handles all the cases, I will push a patch in a minute:

Looks roughly okay, but recall I said so also when you "pre-posted" the
previous version.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 14:59:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 14:59:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511148.790046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdBY8-0004kE-Bw; Fri, 17 Mar 2023 14:59:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511148.790046; Fri, 17 Mar 2023 14:59: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 1pdBY8-0004k7-96; Fri, 17 Mar 2023 14:59:20 +0000
Received: by outflank-mailman (input) for mailman id 511148;
 Fri, 17 Mar 2023 14:59: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=+pkZ=7J=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pdBY6-0004ht-2m
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 14:59:18 +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 48247047-c4d4-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 15:59:14 +0100 (CET)
Received: from DB8PR04MB6554.eurprd04.prod.outlook.com (2603:10a6:10:10a::28)
 by PA4PR04MB7696.eurprd04.prod.outlook.com (2603:10a6:102:f1::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 14:59:12 +0000
Received: from DB8PR04MB6554.eurprd04.prod.outlook.com
 ([fe80::27de:8103:c137:3498]) by DB8PR04MB6554.eurprd04.prod.outlook.com
 ([fe80::27de:8103:c137:3498%4]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 14:59: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: 48247047-c4d4-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QJ9jdVHSDGMq/2fH2WZS35IhMGvm4jlNcLCDA0l3VF3e6Gnlcrb1Nmevx1cpsIELR7is7WDpxKuHw5LHBkOiESF/kXRZj2Wcxt7oTtJe/f/tlT7JlJvNRChnu09FGMTMsIK5JTk6Ew67TFTMgMl7vTs0OQnRO9P4I3xuicl08X9PuwKgaozqCOcXKiExnUTPb3g1KcLhLs73lTvvx1Ggk9LTyj4Y6ywowVX85bFe4uvrZmG1++clre2JcsATgYm/DRYiAjV0kLYkBVSig4JHOqVryBSEF/M2s34hKSzVxgblB10EB2oYrC05dMnnqTeXBhdan9snvPW1QVqgLQCH7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gy/7RFBrrCcQztKvsuv/P8iLhDGJAZB2t2H4otjFx1U=;
 b=hk+rGVBjRzLKtkTJzZvEB56CIW324QATHaS6GuyO+qjqzVy2xCv+wgbtNCmwoam50WY7NqSQxIDWamxrHKAvp6SUg/Tvny71Vz1J7T24RfP23MMlPITuKBMWjq2YQ6nYLXAGHQIH9ZRiDumJfhih2USWkktofQV+UyFtmR7svCODsCa57NSixW+19BGbuIGdrgfVT+RhJuPD/YB2WzB9Sfsu2pZjk8o8YPq6Q3kENJUo46QvQ1kSU128EFYFvmBhq9yWWsdap40eXZUKiW0K1pukvpH/28tXqN//u+bST+1x0Z3vLdry5rCH0EehDNRK91AqweJ5a8fY0qbxHp/Z+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=gy/7RFBrrCcQztKvsuv/P8iLhDGJAZB2t2H4otjFx1U=;
 b=cfYsmiFxkTGIMSvHYosiuX+b1CWeuYT11Gu34txwTyb5LLce59rUNzgtRHEgYa1d9ozbMveAIW3ddCHUDSAYZpIlEP6jtd8IvLgBKcT6DXw9HI4Hf5MvJci9LvJgLW6hT9WYj/hMiqLKmiPKkUJOOWxxruPzILQDPBK1Ktu6+Bs1aHFraqDKj/XBc2aULXHt2TQZ4PvL5DjA1a9Uan0redcBfc6v4vJVtCUNwfWJhjkvInvEvwNQWEaZaX1uM1rcWstl0LzesSx7wdGEFkIQZC5gfuuGJYd2YBeh7QffOc37zoA98JFnBzG8HjIUEF/yqn2LipViavXUAswKzxNfLw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6af7a3ea-f454-7027-590d-f883e6c2a523@suse.com>
Date: Fri, 17 Mar 2023 15:59:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v8 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
 <2afad972cd8da98dcb0ba509ba29ff239dc47cd0.1678900513.git.oleksii.kurochko@gmail.com>
 <3bc211fa-a8f7-70ce-bfa9-5e4380776070@suse.com>
 <99354bbeabf11e86cbf3fd46019c08fb36bf0098.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <99354bbeabf11e86cbf3fd46019c08fb36bf0098.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0133.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::17) To DB8PR04MB6554.eurprd04.prod.outlook.com
 (2603:10a6:10:10a::28)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DB8PR04MB6554:EE_|PA4PR04MB7696:EE_
X-MS-Office365-Filtering-Correlation-Id: 470598df-28a3-4d50-fa97-08db26f82b18
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uLwAZbySGHOMOj/pGu1ddBVGx9+VzfmCcPlvsTYMZ+HROA+Zj2SXDayYafuXl9dWdasYkpfhIwRuP4izQqjY33CCIHFs9fLiYQgAtOV5RoyvJP3MKBh2x/lZKHRMajAgzHH38B/zd2eh5A3dv6Mhg/E3QNW6epog1JZAVIy3Q/fDKsYLPMvioTvwbFvwWufTaoamKXvAHTfMWy0Vd1N3FphSYyuWvU2dt+oJLnGhKmHGjbKNCYpGZCCTp9H84+3cflU+/HqpZG0v2IRlcxzYqqX5sPiGkj0CqVq5s/+P4kN01BEllcgCCBPJB+9dyJaIwbTt72wf1BIJcAxVEGGWvm9JOhbPT11fE4wnBJb42cgjZgCqyiUL6OJzDfWtg0Y9AworbranDLIr/SfNSIU58mGW/qEmaK4EmABzjYuv3MrkyhxgLBZBJacHBH97RAfRmsKpHy512+pYvefMnS8M3azcPe9Z7oL7OywgeDuXGNjiR+KinArrNJUGP9sLdnaY4JrhI5+33VUJmHtXZwRAp2ob6AcextnEejvO8S79DY43p9cMpO/XOXWLMxhM0WANc3QuLqaWbvQ13s3XA5h8dlnP1nMCeACxml7vHMHfiqLctwbO+kLcYA5kTXs3YGMtLnP1wyTidRdUabcgxGSawedMTQdKCT/G4b5e833gojijBSReZeev/RyAB6RO1SDfhs9AnLoS/xHg6NJczmoS4dUCO2XVavRLv/Ex+eVfANgHLsG70pE/lumpC1GSlRaM
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6554.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(376002)(346002)(136003)(39860400002)(451199018)(6486002)(53546011)(31696002)(86362001)(31686004)(186003)(2616005)(8936002)(66946007)(4326008)(2906002)(8676002)(6916009)(66556008)(41300700001)(26005)(6666004)(36756003)(66476007)(6512007)(6506007)(54906003)(316002)(38100700002)(478600001)(5660300002)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZGJORWhqWEtQcHB2M3FSR2Z6V3JPM21GTjhRWXEvdVVXR2gxTkpscWk5S08z?=
 =?utf-8?B?NTczMHY1MzdGUGRYRUdxZGhkVVRtaTRlaTZNN0tvNlR6MXc4ZkozYVV5Y2Jo?=
 =?utf-8?B?TUFwZWQ0aDdtQW95eG5pSnlnU0NadDhjbHRVdkhvcUdhOUpBVmpYK1dVTnA0?=
 =?utf-8?B?Zk4wMTB6SkoyR1RvcytJTHBQQ3JYRmlLejRBdzd4REdVVWh0dDFyVHljWEdv?=
 =?utf-8?B?VTlkS1hRZEVWUFJlVUJaM2hwVC96Ymxzby9hQTV3dzdiSTFhSmNRcDY4eVVa?=
 =?utf-8?B?ZXJoU3lLY0cvZXR2K1NaQThMbzZHSjBKVXVzVzlOVTlDZUJjNnRFMFFYdG91?=
 =?utf-8?B?YTR5YS9QZFFGNUhxTC81MUtXUUtMMVhBd1BsSTdjQ3JiKzlISVdNeXVRWkdi?=
 =?utf-8?B?ZkhkOW9hUlpXNytzMjJHWFB4YnM2WGkreUMvN3VkOXBzVHM1QUNqNVlXbWht?=
 =?utf-8?B?T0lJdS8yM2RLZk9ocVRqMVM4aGFacWZvTXRwQStqd3ZtMk1VaE83b0lsQ0M1?=
 =?utf-8?B?SWNCMTBFQTMzVUhvcVNzaUkweHI3dUtpMGtLNUExL2ZVUXZhRUJNTzgxQ0Va?=
 =?utf-8?B?L0I3U2VpaVZUZ0cvWU8vUnJCUUZVcjhkdUNsMDZxaXRxSnlXZmZOS1lQR1dE?=
 =?utf-8?B?dGVyZEMzV0o2M2lRUW9GMTFlRUlHdG9GM2Z1eDhENVJoZUk4Rm1qLzlmUGVU?=
 =?utf-8?B?cUUxV1VxUGNibzFCTlNINDFSMnUwVU1lQ1BJZFVLVDRsSTd2NlNuRmlxZURt?=
 =?utf-8?B?N1RXNFFXdGk0cFR1KzlzejZ2VHg3OGVETGRhQmlVVzBDZ2VRcHRmRC8wRWRr?=
 =?utf-8?B?UEZEU2ErWnZGT01UUUR5bytGbzZHWXp2NXJoVWpQN2N3dnNTMjRtemFkNlEr?=
 =?utf-8?B?QnhvL2V2emxsVFdxQ0lpV1Q3dkN1SFJOQU1TTVpIT1dPZ3M4d0c1bTl2K1Ir?=
 =?utf-8?B?Rm5pQ0F2SG93WHE4NlV5cTE4d3FKb3B4bEpWOUFpT29jQjZSUjc3VWRKUDJ0?=
 =?utf-8?B?Q1JmZ1paS0VuZXVnNWFVMWpZWWkxMjhOQkt1ZUh0L0kvdGxLVjIyOGdsa3Jk?=
 =?utf-8?B?b0FMUXJOY2MxQmw1RjM2bjNqSG1iVThGNDJ0ZW5OL05hVDBHby9mN3c5NytS?=
 =?utf-8?B?cTJYNmI5eHluRTVvajNDdWdtc2dpRG5jeXJXTUFDTHVPK2dQS3JGcks4MTF2?=
 =?utf-8?B?SUJ3TE5iaDBtR3FHT0dTL2pxek9EVXNLNHAwdHRKclo2bDljQ0tyZDZvUkhH?=
 =?utf-8?B?M1Y1RGtCTlMvR1c3by85SDViR2gxVXo4ajcyd2ZJTVNvN0k1czNPMUdsVW9o?=
 =?utf-8?B?RjNPaDJUbmwrQUMvYmlPT1ladmtkaXkzSm5wZTQyMVUzOE1GNHJmeDVsOGZL?=
 =?utf-8?B?OHZ4ZDhQZmtheCtuNFE0S3dqdWN0aXBaUzBWYWhRNndwSDZwbTBrUUtyZkpt?=
 =?utf-8?B?NFd5UnJxRmNRbU1OOGdoQWtubTgxNHRVNW5sbnZSL1lGTys0d24yS1phMUZD?=
 =?utf-8?B?RDJJa2ZUeGV2UGkwbkh5dlM4cHZGQzNqNzFPUFZ2NGZrU0QvQXpKYnZpQTNk?=
 =?utf-8?B?M1BCQ0ZuSzB5WHFDS3JDVEdGM1JWNDlkRnBHTlhoZklmb0tYSnZ5LytPUnBG?=
 =?utf-8?B?WDRVV2YxQ0VWYlIvM3VLWGxmRHJubnFYUlJkUXZUR041aDdiK2NpRUJmQkhJ?=
 =?utf-8?B?cE5RYnpmQ1hEM3oya3hweVhVUXVMZGxsWS9hWTlrdEUvTitWV3hZdDc0Zk0r?=
 =?utf-8?B?YkczVHlVU3IzQ2hEMWhodzFPZkdXUDdqUmtyeVNaamZHWWdDYThaRlF4aXc4?=
 =?utf-8?B?RERFNGROSFZCL3V3TkRaQ0t6TTF2QW9DNDNBa2RhTFFuSmN2Y2x0c2Q3VUg3?=
 =?utf-8?B?VWF4eXQ4ZDV1NktUTjlMM0VPdUpPdmRBS2NNZ0YvdHpiV0xUaGNpb1lEY3Bo?=
 =?utf-8?B?bEorT0hDaUttTG05UUd6UWRYN1RhdHpmL2tHZlM4UWE4ekNMMEtFcHVzYXh2?=
 =?utf-8?B?Y3RwR25nTkhlMzJwOElGTEcrdmxjYWt0UVdTZWU2TFl2eFNZTm14N3hDUzhz?=
 =?utf-8?B?RnhMTXZXOXdMeFoxOGNxNk8rTXRKc1FFWUdaT1hpRXR0VmJZL1VwVlhjdmly?=
 =?utf-8?Q?F6Tr9sNUoWr8Zo4ffz1WJAFjE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 470598df-28a3-4d50-fa97-08db26f82b18
X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6554.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 14:59:12.1421
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: k3u6L2yVIrlKW/f0XMalnLS1S0halONbx4rbJcizWtTqSdGOpE39NRnY0hXqjmh7xeVRCe+4Qv0OGHY/Bn6Guw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7696

On 17.03.2023 10:23, Oleksii wrote:
> On Thu, 2023-03-16 at 12:26 +0100, Jan Beulich wrote:
>> On 15.03.2023 18:21, Oleksii Kurochko wrote:
>>> --- /dev/null
>>> +++ b/xen/common/bug.c
>>> @@ -0,0 +1,108 @@
>>> +#include <xen/bug.h>
>>> +#include <xen/debugger.h>
>>> +#include <xen/errno.h>
>>> +#include <xen/kernel.h>
>>> +#include <xen/livepatch.h>
>>> +#include <xen/string.h>
>>> +#include <xen/types.h>
>>> +#include <xen/virtual_region.h>
>>> +
>>> +#include <asm/processor.h>
>>
>> I actually meant to also ask: What is this needed for? Glancing over
>> the
>> code ...
>>
>>> +/*
>>> + * Returns a negative value in case of an error otherwise
>>> + * BUGFRAME_{run_fn, warn, bug, assert}
>>> + */
>>> +int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
>>> +{
>>> +    const struct bug_frame *bug = NULL;
>>> +    const struct virtual_region *region;
>>> +    const char *prefix = "", *filename, *predicate;
>>> +    unsigned long fixup;
>>> +    unsigned int id, lineno;
>>> +
>>> +    region = find_text_region(pc);
>>> +    if ( !region )
>>> +        return -EINVAL;
>>> +
>>> +    for ( id = 0; id < BUGFRAME_NR; id++ )
>>> +    {
>>> +        const struct bug_frame *b;
>>> +        size_t i;
>>> +
>>> +        for ( i = 0, b = region->frame[id].bugs;
>>> +              i < region->frame[id].n_bugs; b++, i++ )
>>> +        {
>>> +            if ( bug_loc(b) == pc )
>>> +            {
>>> +                bug = b;
>>> +                goto found;
>>> +            }
>>> +        }
>>> +    }
>>> +
>>> + found:
>>> +    if ( !bug )
>>> +        return -ENOENT;
>>> +
>>> +    if ( id == BUGFRAME_run_fn )
>>> +    {
>>> +        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
>>> +
>>> +        fn(regs);
>>> +
>>> +        /* Re-enforce consistent types, because of the casts
>>> involved. */
>>> +        if ( false )
>>> +            run_in_exception_handler(fn);
>>> +
>>> +        return id;
>>> +    }
>>> +
>>> +    /* WARN, BUG or ASSERT: decode the filename pointer and line
>>> number. */
>>> +    filename = bug_ptr(bug);
>>> +    if ( !is_kernel(filename) && !is_patch(filename) )
>>> +        return -EINVAL;
>>> +    fixup = strlen(filename);
>>> +    if ( fixup > 50 )
>>> +    {
>>> +        filename += fixup - 47;
>>> +        prefix = "...";
>>> +    }
>>> +    lineno = bug_line(bug);
>>> +
>>> +    switch ( id )
>>> +    {
>>> +    case BUGFRAME_warn:
>>> +        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
>>> +        show_execution_state(regs);
>>> +
>>> +        break;
>>> +
>>> +    case BUGFRAME_bug:
>>> +        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
>>> +
>>> +        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
>>> +            break;
>>> +
>>> +        show_execution_state(regs);
>>> +        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
>>> +
>>> +    case BUGFRAME_assert:
>>> +        /* ASSERT: decode the predicate string pointer. */
>>> +        predicate = bug_msg(bug);
>>> +        if ( !is_kernel(predicate) && !is_patch(predicate) )
>>> +            predicate = "<unknown>";
>>> +
>>> +        printk("Assertion '%s' failed at %s%s:%d\n",
>>> +               predicate, prefix, filename, lineno);
>>> +
>>> +        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
>>> +            break;
>>> +
>>> +        show_execution_state(regs);
>>> +        panic("Assertion '%s' failed at %s%s:%d\n",
>>> +              predicate, prefix, filename, lineno);
>>> +    }
>>> +
>>> +    return id;
>>> +}
>>
>> ... I can't really spot what it might be that comes from that header.
>> Oh, on the N+1st run I've spotted it - it's show_execution_state().
>> The declaration of which, already being used from common code ahead
>> of this series, should imo be moved to a common header. I guess I'll
>> make yet another patch ...
> As mentioned above. Not only show_execution_state() but also
> cpu_user_regs structure. ( at lest, for ARM & RISCV )

Do we deref "regs" anywhere? I can't seem to be able to spot an instance.
Without a deref (or alike) a forward decl is all that's needed for this
code to compile.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 15:02:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 15:02:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511150.790056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdBan-0006ND-Qe; Fri, 17 Mar 2023 15:02:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511150.790056; Fri, 17 Mar 2023 15:02:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdBan-0006N6-MZ; Fri, 17 Mar 2023 15:02:05 +0000
Received: by outflank-mailman (input) for mailman id 511150;
 Fri, 17 Mar 2023 15:02: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=+pkZ=7J=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pdBam-0006N0-FN
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 15:02:04 +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 acfb47fd-c4d4-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 16:02:03 +0100 (CET)
Received: from DB8PR04MB6554.eurprd04.prod.outlook.com (2603:10a6:10:10a::28)
 by AM9PR04MB8860.eurprd04.prod.outlook.com (2603:10a6:20b:40b::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 15:02:02 +0000
Received: from DB8PR04MB6554.eurprd04.prod.outlook.com
 ([fe80::27de:8103:c137:3498]) by DB8PR04MB6554.eurprd04.prod.outlook.com
 ([fe80::27de:8103:c137:3498%4]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 15:02:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: acfb47fd-c4d4-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V+zWXQo0XJ8wsJk0pCD3o5KVUnTDvd8exsF81zEejyYeUsd9X3ppQA/20ukYm/KeuxNXu8BymOJqxJUTv6nUaqBAkKlvlRPQUdZmL0qj1GfaapIewgxK2jBBwy+TmfIr+d6x3rbb45VY8GVUV7L3zhze74kGqKt8x7wBCz6oX7XH5gZyt9NLTxqQCOy4LREyv2/XRdofnCbs692UM8/1U1YtMzIPeEwzOkBiv1a4+m/NHG/FKvx2p2voe5qI49GlbQQqlWgduCQ9Fnr37MiHjMdAPKMeK0BPsxmbUiLomhcZbgcuhWhzpI+Ww+0pfVUJRQkY4H+/1ro7gja7EezPAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q6yTCkFyu6seLkZ+yOGJrAURfhZV2qHsrd+4T4tjdpU=;
 b=I8bJr8GxNwCuk0TZXZMg6Ii/yQyc92DlrNosv1wx8Un2JVUsVhbGfzpYUGyX4il5+tYvpE5yjNo+fApYKcIw4aKSJw8Tn5zhXiNtOVIKkjAWxDQKIJyI/MBUj5Bba83rdiVemUjywJQE7sTB52lTzX5lJA7O5bbhJOspf7gN5n2f7o8ftXeNqegRFNtSjkjRVUUC0otnkoBM0LEyGSdm6nlhpKPe4BNm5V67esWtN3pZTNwgJKMfQrAh69DnCl+lBAzNfOHAleeHaO7W5NYIE4VE+NrIjLkg22NYJz3hnYi7vi7AjaQUcAdmfvBFI9/YZK94NXu/dfKcrQtJ1cAIAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q6yTCkFyu6seLkZ+yOGJrAURfhZV2qHsrd+4T4tjdpU=;
 b=epARhTgYMiyZmbcWfvBr7tbZR9tZ/VgXtnkXSZF6tTk9BtqnFMzNIDEamcQLfWhJY9RNQTASH0w7pk2GFqISKzYTunayzuGDlrVAFZm2FKwKm2tGLzOtawM+XsCohlBxW/xmNGU6GMd2JZQRrHHVfBe/xJ5rvlntI9KLu5MiUXChqYg1wV8S1oI9XzK+ehyNSrrVMuGCgV3/UZ2dnswKnwK4JtEj0A3nceePqISbR6u/Fl4x1otOxnQZeUSPghlEaGm5IlugYt/Oohc8edBuK0D7f2aUP0J32Ei2zO7D9KZ7OPsCNv/v3fLGfvp0KTnR2atzVNqNKXA6c0fIIhTgWw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a77ec0d5-0f97-409d-e954-0f28c30cf28b@suse.com>
Date: Fri, 17 Mar 2023 16:01:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4] x86/HVM: support emulated UMIP
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: <581a90d5-a168-5445-6a6d-ab20cc43b944@suse.com>
 <ZBR5T57tSqs2o/Sl@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBR5T57tSqs2o/Sl@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0198.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::20) To DB8PR04MB6554.eurprd04.prod.outlook.com
 (2603:10a6:10:10a::28)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DB8PR04MB6554:EE_|AM9PR04MB8860:EE_
X-MS-Office365-Filtering-Correlation-Id: 896c4031-7fe7-4548-c9f0-08db26f89053
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	K0pER4IFA1GhoHYU4t7YvJN1Hy6P2lSECPiN6M78wruOh8kHSj/NJNEOawnrW1V+EBg2BBlBE9/kcFIDxhgjmsZP46/hj4Y2lOVGQlXQTw+Z6kroOkI3KON/WfWQnG7oFs4RAW6MFExFXCrRCdDyy8eh7UZdWn25lkEankQkGrCaQZYuMpVWU4fb642mFop7sqiEM2G/8pWQvPteYwEmvSQAFkEqP+vhmNZdGJOMhzSLCyadwqF7nriK0SHJ8ZEocAG2kFsOB65A0J260oBDIGZKG+W6rK/v5j7ek+qkZdJ8L6kkwo/Of2dR2GDJYm3INFqoOZbP3BvUb5iN55nuPAaiQyIHWesx4WhfLxpNKhdKo1FO/Jghd2fALwGmkiHurYMsDIoagH9OXwyZrlfvrjwZXQjrBETv/Y8WMJU05XPlYzYFDQNZKBMAoPsYfzcmd/Jm3OahlitICu2qd7udzABAIm42D+SLV3lueLMj6kVUa8qH2aXQNhc8tMHQkemqL0shnud5RDK7TAlqtiy9Wao1d43bRdDQw2QXmWlUR2ntWt3FRQYoRQpiyaw2iJ/FZ2FB/YlE986IlVCacU6NZiYJvS3271rD1fy6jYF5Cvff/EKR8OAbQZu2ac2UFsbc2DZi4gXdU4mnvnMWEdjHfV0djxxr4oHVvwx8OlDl/JlHxYw6Otvp4jCGq2sq88mII5S2kP6NaZ36nKu1Mec8nhIj+dQKwO2R3m92Ug5tpRA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DB8PR04MB6554.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(376002)(346002)(39860400002)(366004)(396003)(451199018)(8936002)(4744005)(5660300002)(41300700001)(8676002)(6916009)(4326008)(86362001)(36756003)(31696002)(38100700002)(2906002)(6486002)(6666004)(478600001)(186003)(2616005)(26005)(6506007)(31686004)(6512007)(53546011)(66476007)(66556008)(54906003)(66946007)(316002)(66899018)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V1RVYUpEZ0tESWpJTzNTVDJ5MmRwQTc2aUtQeDloR0haQ2VHcFhiUHFldDY5?=
 =?utf-8?B?QTVZak5lbHJyeENKODZRZUdvckVUWWVzYzZ2cFkreE1mclhheGVqd01xY2NB?=
 =?utf-8?B?bWV6RnpUc0JmUzU1bm9KKzRScE9kRTVpS1dqZzNNMThlTUlJK2EvaUZaZkFT?=
 =?utf-8?B?NU9PN2RycEtjOGVWVVc4eG5zTGE1Y1l4Vjd5dm9ZSHA2WnREQlEwNldMZHlR?=
 =?utf-8?B?cHNHUHNzbXJmazhhTUpMaEp0blhWcHczaWg4Tmd3SFRTVldHK3g0VmNPVUo3?=
 =?utf-8?B?ZEo3S0FKUU00am0vcERDcmpwM085eUEwK2RnMUVsbHNkM0ovL0dCTnpLdjJU?=
 =?utf-8?B?OHJxc3JOaUwwcnRmZnkwaFRyY3ZtbkkxeXhoeFlYcENpQXduSVJ3MERsZjF1?=
 =?utf-8?B?NUkzLzdVZWVHL0F0YjcxRXBtYkFMQjJDQXcrSmxWWTZpd2luVG5QMTdlQVJQ?=
 =?utf-8?B?c1l0U3Bhc0hLWUJzOVdvWGh2SFlJdVlVTG16QnlGZmgxQ2RwYzVMd3lYYzAr?=
 =?utf-8?B?MXNvMkQwTlhMU3lPOW03MnZEVEMwQS9HUWZNazlSY0hSZk1aaUhFRjk0bzQ2?=
 =?utf-8?B?ekRHMk1GQm1FWHJydXRTTlhpS1JXWXRiMXh0bVcyeFYwNXpNZFpJSjBuK3M3?=
 =?utf-8?B?L2xva0lES3NvMXIwUnpaL3RCd2hKVjlmUmZNaUhjRDFYMExiUjlEZjZ6YWxk?=
 =?utf-8?B?ZTBzRmZndHdHclVRb1A4dWp5ZG5jR3dUYmp5YU9TRnJENWNydmxFaEVxNTdS?=
 =?utf-8?B?b25lc2JLRGQ5UUJwdzVhWE1vd3cxY0RjVmtMSDQvMG8yY09UT0l4Q2hNQ1VE?=
 =?utf-8?B?dDdUeTY2T29Xa1pCNnNhMXNLTGx5Q1FNTGg0T3pYMkQ5ZnRwU3Jvd1NTVUFV?=
 =?utf-8?B?U1hKQ2ZoVzVpSTVqNGE2Ukw4VmYxd1d1M2pLQ1dJS3RMMkZLY1RCMzE3ekJa?=
 =?utf-8?B?TmJ2ejAwMTBnalRWK1hQcng2anZTd282d2R3M2E4cTJpdnA1ajRSM1J2cUVQ?=
 =?utf-8?B?UUI1bUZBbXF2OTc3QVIrazFwUnJtSENEVW9OeEYrdnhwcnBwNFlCNWt4RTNL?=
 =?utf-8?B?clkxT3VJUlUvOWxUcjVtdkNZWlRnOElza0x1MUsxV3dHYTVmcGh4cTRZKzl2?=
 =?utf-8?B?RTRXbU1DSzBIK2RVKzZoRzR0VDNCdW96SjFmbWo3RnpKalRyN2xaQjl4S0xX?=
 =?utf-8?B?bExpSU1MTzdhOVdhYzI5UjhXMkVTbWVCK0hBS1poRVlPNFY4V2l0WjBXT1FR?=
 =?utf-8?B?OUlXRVc0amduQllhczdHQmExU2hOVXhFeXd4S1p1NWdGZGV4UzJnRVVJOGNM?=
 =?utf-8?B?MVc4bDFUMExWNmMzTUtGM05id2VZRmwyK3hFOHR1UmkyLzQ4dHdRS1V5QmN1?=
 =?utf-8?B?OHRBRXUvQjZzTmZPYzVGaXdab3g2S2lTcTRoTzI0aUFlV1E4dDAxeFU2NHFZ?=
 =?utf-8?B?c3htcUlHRVRHd3ZyYmxyYlNJcFVsQVQzbmY4QU5VbEYyNEhZcTBSbSsxcVND?=
 =?utf-8?B?eFc0cDFHVmxyYTJ5MnUxMnNCR0I2R2t0byt5WW5zcENMOTVEWE5VZ2NFQnJw?=
 =?utf-8?B?N1JWNkpmTEZsNWpoUkdVcWpDeTh4S2ZUNUE1YkUzRDh2VkJFL1lSaWN3cFNZ?=
 =?utf-8?B?RUtLQnZwbzRQUE9pbjZ4SncybG1nTlh5RDNXcGV2dElzVGM2ZXVZMnZIakU2?=
 =?utf-8?B?S1hxRjRpckVoZXYrK0xCRHR2QVdQdVI5bDdTZzVKWkd1RHJvdFh4TmVIWDNl?=
 =?utf-8?B?VEJLUUpzS3lzMnNzUy9RUFRVV3E0RGQ1aDNmNGVocnVLRmpMZDlhREh4cVlQ?=
 =?utf-8?B?eHByNUUxekRXdVRiUVVCVkFsM1FpaDlwTDR4ZW5xUzVMUzRhM1ZkZ09jSC8y?=
 =?utf-8?B?a1lZRFBiQkM2bGFjbE1aVkpSUEpYamhjZ1BlSndQWXd3Q1B4T3FIUGQ2ajFo?=
 =?utf-8?B?MVJtbmN4Qm1UYW9MS3BtNXRDb3JobER1QXhuNkEzMC84VkVHWkpmVWJhbUpp?=
 =?utf-8?B?Nm9sK1JDR0RZSXhvRWt4K2MvbUhKTHBKcW5tZTdlYkVkRUhEOUdQTVdvVUhY?=
 =?utf-8?B?TnFPYS91VExqNzFEOVc2OXJ0V1JhQWZsRWE2ZGJRd0F5L2htZkczczhsTy9E?=
 =?utf-8?Q?qn8kWcpndG0IYlq4fhoQqGkdU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 896c4031-7fe7-4548-c9f0-08db26f89053
X-MS-Exchange-CrossTenant-AuthSource: DB8PR04MB6554.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 15:02:01.9618
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IU8Xix/Yn+WPNk0EmSKNxS/JXJhFP0w8vgJAnh3w8QbfyCWOOKLRZwfAqI1lweWODsDCnj8RAoxaAGlLvr9fDQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8860

On 17.03.2023 15:29, Roger Pau Monné wrote:
> On Thu, Apr 15, 2021 at 11:47:42AM +0200, Jan Beulich wrote:
>> There are three noteworthy drawbacks:
>> 1) The intercepts we need to enable here are CPL-independent, i.e. we
>>    now have to emulate certain instructions for ring 0.
>> 2) On VMX there's no intercept for SMSW, so the emulation isn't really
>>    complete there.
> 
> Then I'm afraid we can't set the bit in the max CPUID policy.  What
> about domains being migrated from a host that has UMIP to an Intel
> host where UMIP is emulated?  They would see a change in behavior in
> SMSW, and the behavior won't match the ISA anymore.

Right, but that's the price to pay if we want such emulation (which back
at the time did look at least desirable, because the other affected insns
are more important to deal with). Not setting the bit in the max policy
is as good as not having emulation on VMX at all then.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 15:06:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 15:06:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511152.790066 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdBeQ-00070U-9s; Fri, 17 Mar 2023 15:05:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511152.790066; Fri, 17 Mar 2023 15:05:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdBeQ-00070N-73; Fri, 17 Mar 2023 15:05:50 +0000
Received: by outflank-mailman (input) for mailman id 511152;
 Fri, 17 Mar 2023 15:05: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 1pdBeP-00070D-E8; Fri, 17 Mar 2023 15:05: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 1pdBeP-0002kP-88; Fri, 17 Mar 2023 15:05: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 1pdBeO-0003Db-QI; Fri, 17 Mar 2023 15:05:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdBeO-0001uL-Pp; Fri, 17 Mar 2023 15:05:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=nKmwcJLgdGpxyn0aD8J+UUinEyWbLFsrhyP1rrBgYu8=; b=6grGdE9n0rJ2RXHlYbj4sFZV+U
	t/XvXMKctIoaE7stzMNi/MJzYEjACevoW2vBTYBn8u8Mq4dzzDSe916epjb6oo+l3VoncE9GFLo5W
	VxghjrTZa+fonhDvsnPJr1JpcxTN1unbOO3zyADyTxP7CV12KVB8W4rNqlOb7v+swZoo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179720-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179720: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=9bf21fcaef07f68ab52d0382ff554616a1cf66d8
X-Osstest-Versions-That:
    xen=9c0061825143716c61622966e76983886ef59361
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Mar 2023 15:05:48 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  9bf21fcaef07f68ab52d0382ff554616a1cf66d8
baseline version:
 xen                  9c0061825143716c61622966e76983886ef59361

Last test of basis   179716  2023-03-17 11:01:55 Z    0 days
Testing same since   179720  2023-03-17 13:01:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Michal Orzel <michal.orzel@amd.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   9c00618251..9bf21fcaef  9bf21fcaef07f68ab52d0382ff554616a1cf66d8 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 16:09:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 16:09:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511158.790082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdCe0-0007rH-0j; Fri, 17 Mar 2023 16:09:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511158.790082; Fri, 17 Mar 2023 16: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 1pdCdz-0007rA-Se; Fri, 17 Mar 2023 16:09:27 +0000
Received: by outflank-mailman (input) for mailman id 511158;
 Fri, 17 Mar 2023 16: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=001K=7J=citrix.com=prvs=433d55c46=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pdCdy-0007r2-NC
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 16:09:27 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 13bcddcf-c4de-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 17:09:23 +0100 (CET)
Received: from mail-mw2nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 12:09:10 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB7067.namprd03.prod.outlook.com (2603:10b6:510:2a0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Fri, 17 Mar
 2023 16:09:08 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%9]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 16:09: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: 13bcddcf-c4de-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679069363;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=X2sKJvW4hpd77VYJBVmKkhwbGMZw3ljxNbAGQAEa3y4=;
  b=ep7FYp4hyDgcKs7vTOzG1rqiFI/DYxMtL79bPOwlw2nks1TTjwSOjT+a
   zPjwcTyUdJw+zKbzAcVgGFP8TK1gyfXxD7rDj+4eF3BUyDU8RTk+j8lEr
   XFxmzSSiDjCg4PCYuWUYD5YNuFe8cWK8n5/3xSdufG2ByjuaAGYzjqubK
   E=;
X-IronPort-RemoteIP: 104.47.55.109
X-IronPort-MID: 103718518
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:DyklaKOQauIRplTvrR1xlsFynXyQoLVcMsEvi/4bfWQNrUoigTBRz
 GUZXmGAb/3ZMGD3f9gjaY3koEoGu8TRydFmSQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5wNmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0ulxLkts0
 NsBEx9ObEuKoMSL246FVuY506zPLOGzVG8ekldJ6GiBSNMZG9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PdxujCCpOBy+OGF3N79YNuFSN8Thk+Fj
 mnH4374ElcRM9n3JT+tqyr32bafwHqrMG4UPJac6tVEpgeB/WIKJxoaDnWpotifhUHrDrqzL
 GRRoELCt5Ma9kamU938VB2Qu2Ofs1gXXN84O/037kSBx7TZ5y6dB3MYVXhRZdo+rsg0SDc2k
 FiTkLvBGjhHoLCTD3WH+d+8rj6sOC5TMW4LYwcFSxcI55/op4RbphDSSJBlGa28jNzwEBnxx
 SyHqG41gLB7sCIQ/6Cy/FSChi32oJHMF1Yx/l+OBjPj6R5lbom4YYDu8ULc8ftLMIeeSB+Go
 WQAnM+dqusJCPlhiRCwfQnEJ5nxj97tDdEWqQQH80UJn9h1x0OeQA==
IronPort-HdrOrdr: A9a23:wi/TMKjaLnK9Gy04s7HjjEAk53BQXiAji2hC6mlwRA09TyX5ra
 2TdTogtSMc6QxhPE3I/OrrBEDuexzhHPJOj7X5Xo3SOTUO2lHYT72KhLGKq1Hd8kXFndK1vp
 0QEZSWZueQMbB75/yKnTVREbwbsaW6GHbDv5ag859vJzsaFZ2J921Ce2Gm+tUdfng8OXI+fq
 DsgPZvln6bVlk8SN+0PXUBV/irnaywqHq3CSR2fiLO8WO1/EuV1II=
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="103718518"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j74Py65T+Ef+HJd17j025ed/EfaxizPfmASdw4nr1L7tRa1BErXrYhg+/afB5S9f5olKB1kC5frJZCtuQNsgNkKgndSIOQShvf/KwD9xmgTj6DU8W8AfY5QlksP9gk+YSNius/2MHBi2J7HcnRdzF37w2hUBWWBq516moD0YFG4Uujy3kpgGYcTg2PJlhNFieJPf0gC11FMfBGynxdKQ2DHF+VirGM0O4Eb8jG8ApcM91JvFoGDVOy7JmnhjCvB9e13wXLXvpCAvRQn6T7GxT+5/rTybJyLsm5PHmF0uVWYbtDSo/NQuE9VmTzrQls9nd1PRk61i++CDKZthomc0gg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QxVYceOxp4b7SJlHcui+eVM5fXAkbBRqOIRY0fvjGuA=;
 b=bVIiU8ecYVHVGvHkysW46zarBABTJwKrVmQqzD3GfHTvYlyvHCJYvLw50MvSQpaJvsHTcBxySAUwQNO7b9XfEGDuJEeGGfWytX6C5JeuhQ30xKyLDE2ryzAullL4cj2asPa38R0CdY8LHjSWm86kwClj1tZko+bhvYV2ZibqpPl3MCMR4RUruDU5NR0TUGoT99dqbIdRZXF55W/cbWA2Cb/JVwq/L0xj+HSaasC4tz4m0xDL5ii46ivv/hAdZYnjuyDynuu+ViUUP6TGOz9TX+NqVXo7HyRfbKYWir8ZIijru0h1Lq6LH5HNenIvhdLZdGiM237/Xz9Bi+rrM8JXxg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QxVYceOxp4b7SJlHcui+eVM5fXAkbBRqOIRY0fvjGuA=;
 b=KvR+0sMHFzfXsm/5Fe1hhDs/+dUN4dGcKUcN4F7ZGDToWbT3r9DHJnZ5fyy6wVvtKgLjjd8E491C1wcjglbHwXb8kOKa9yYy3YgpEf+Ltpikh04AjOwWG88h7ves9ypcl+eaEl+Q1E/y4EjwZWIgt3p+KXArX6uKcZ6UHru8Dyc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Mar 2023 17:09:00 +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 v4] x86/HVM: support emulated UMIP
Message-ID: <ZBSQnFpf89uEwXif@Air-de-Roger>
References: <581a90d5-a168-5445-6a6d-ab20cc43b944@suse.com>
 <ZBR5T57tSqs2o/Sl@Air-de-Roger>
 <a77ec0d5-0f97-409d-e954-0f28c30cf28b@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a77ec0d5-0f97-409d-e954-0f28c30cf28b@suse.com>
X-ClientProxiedBy: LO3P123CA0018.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:ba::23) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB7067:EE_
X-MS-Office365-Filtering-Correlation-Id: 82704a9d-d472-4799-3bb2-08db2701efa1
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XXF0+2LwCSJZCQjfyIpBa5Wdpot/u688onFKBXHqn21ci1wuDnnfildXZ6wl5JrPVMqlDDyxG9dFbZe4KIt16vk+DTf0AS6fA0ZtK2DFqaMIPocE8v+jhCMrKFYTF5AyKmhq5JPeu5k2lxZkSpZ8RTT/winwbytFduFW0ue3eIVmnLBKc+WEY3W9Fa5brKEVf595LTXxd2M6dev3mfLJSglNucl2EFbkWkEtJaVewWC0FbuYkHYmT5c+Q6n7ex/DFOJT+rbzPvrS/rTjAlYe70lYeKTqDkGL7rQOqQse1r73aHNDpnOoREBrGsI3DX4eVbnBKQZhMO0dzmoHMkQjPR/k6MxxdwSipECCxTJDHnRtPPCHRLz9+ruiNtcIMIdMujPdWdbOd9gkESvSDxlH/eXEsjRltp1WUPyTQoV8jwLHUPzeIsZgCmHZAhigS0AmOkh8+XI7TnZf4zwcHoCFHdC9KIp3Weun9B5q4/doj4X8ldazKlB3wksRe3cyhAcJmXGGSC4rSH/SE46tZe75jxXHsa6quTUFBRvtUO8cAyxlB1QKiIwtKcci5WoqIW99g5gbhVv6yER/k+P9BKT7IhPDQ9y0/VZb5Bjwd5Cu1EuecGXtS363SDwTh6v84JWExyfmn0t/d6CGTkag0JqgVA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(346002)(136003)(376002)(39860400002)(396003)(366004)(451199018)(9686003)(186003)(53546011)(6512007)(6506007)(66899018)(33716001)(8936002)(6666004)(41300700001)(2906002)(82960400001)(6486002)(26005)(5660300002)(85182001)(316002)(38100700002)(66556008)(8676002)(66946007)(86362001)(66476007)(478600001)(4326008)(6916009)(54906003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UERZQnM2Y09WTWdxN1c4aUxFRFhZUlpwVVJQYzBUVkNGSjh1MWk3bkd3WWZN?=
 =?utf-8?B?cElNT0dvc0E1aG92K2hkNk9HbFhjZlk1UFVCd041aVhrblhJZWxlTGxEM29D?=
 =?utf-8?B?R0tFZDBCbFRtcTZIbXNjQS9YVXM4MTV2QlVFY0Y1YTdRWC9vVE9JcEpyV0Rn?=
 =?utf-8?B?WGpQUmNRVjhuR2lkTGdaUVNOeGo4cEJtZTR4bHFUaXZUTEVkYjVqN2M3aUVH?=
 =?utf-8?B?aVBCaFBMTkRLbnNHR2lkbFNkYjI4N2R4aitDUGxDL3VyMTZVVjA3U2NFVG00?=
 =?utf-8?B?L3k4eVp5SjhXaHR4RkVYQ1V6aDZENW85cEFJUmtncHY3QnFDRWNkdmN0TGRy?=
 =?utf-8?B?UU5VTmJ2Y09Iek41UjBwNE5wa1hCV2t5M00relFyb2VIVlJjZWIxMlBmVE1Q?=
 =?utf-8?B?aU1rL3RPejF6L2hYU3l6VmVzQ0JOOEV2OGJMRVlrK3ljRm54dnNPaUVtT1JC?=
 =?utf-8?B?ejBYUVQyVEhra1NjZFFJaGNyTHdBamdzbXpqbUdhcXZ6WlFidWJGRjY5SitC?=
 =?utf-8?B?Vm5ZTHRFN01OeWNkbE5yN2xwQjZjMnJZUUFOb1FydkxTZ3dGLzJpOTBya1Jx?=
 =?utf-8?B?ZnF3NysyL3VydGMwSU1hSmx5Zk9BVGRNOHJSU3l0NHFUQlVvNUIreEhVandD?=
 =?utf-8?B?L1d0Rm1WSWRJTzNJaElqbG8xOXRWNjh6ZlFGbWZ6anVMMnI4N3FGZEN2Q2F4?=
 =?utf-8?B?V283NnNBSzdhaEUyUEs2RVl5TmNCMFVjUFpkNUxQS0ZiS1hPQ21xZTlMR3Nm?=
 =?utf-8?B?Sjh5V21kQ2hZVHJGOFh3YmJmT2lLcmIwZFh1dENpWnZUeGRLVWlkYXlYQ3Uy?=
 =?utf-8?B?LzgzSWhGdDNvTE9CWjhEcFJrS09tQ0NDNlJ5bWJGK3N3bzNhU0c5ZXJ0d0hD?=
 =?utf-8?B?VmpRbkV1b3JSYkp4dHFuU21hRkRldTVEUWd6eGV5NG94ME5XL2M5dmtHUWlW?=
 =?utf-8?B?OElBaGNWQkszU3BsMTZRUU51bk1qTU96ZTJxcFVXTDFNRUd2dmZ6K3RPc3VL?=
 =?utf-8?B?QWJNZG10bGF0OStKOU9ub0dvTE1FKzdOUE43UTBKSVd6aVA4UVVtUXpiZmhP?=
 =?utf-8?B?RnY0VlB2em9CM0pIcVo0WGxuL2YxYnJOYzJhZ3IvOXNiY1I4cW92cTJ5K25Q?=
 =?utf-8?B?Q1hLVm9ZRkpIRXp1SUZQYzRPM2hKYnlpMytLNG1wYjFKVDUzQ2UyT0NiR1Bq?=
 =?utf-8?B?ZHBVeWt0bFBBOEhBNTJhWTJlU0VRS2tvaHY2cjBrekxPcFQ2ekFCZTFWUWZD?=
 =?utf-8?B?ZXVYK2lvYmQ5MWFwN2FxeWltSHlwSS9jRXJXRXVIRXZkTlE2ZWw5U1IzRUxF?=
 =?utf-8?B?OFdEdEtLMEtyS0J4STAvMEpVNldVd0cvL2YzTXlPRkN3YlpHeTd6SjRyQndI?=
 =?utf-8?B?OW5SZXFGZ296UUk2NDE5S3BZNUNORWVUbmhZMjZQVy90dFV4T0E0K0pka2Zp?=
 =?utf-8?B?MnlVSEN5NERqaE9UZWJVNTc5aktXb1IwRi93cXg1MG42dEVGOVNrL3hJcEhw?=
 =?utf-8?B?VXdvcmtCYm5weGFYMUQ4VUFHckwzOW5vNlczN0ZqVGNTUDJxOG1hc0Z3TEpU?=
 =?utf-8?B?R0pIZWhqYU55S1dFakVzVXhMODRCVUJLalp6V2hpblVhQ21TWDNWRUw2MW1F?=
 =?utf-8?B?dUpydXp0emZzWHFDZlc3NkRFb3Q2bkVzNjJkSlFTbDhsdmFyR3JkQ1pUQmx6?=
 =?utf-8?B?ckRWRDgvN2lWMm9CTmR3VjdveTk5enEzSytGVTVhNmgzak8xNEpvZ1NKMnR2?=
 =?utf-8?B?UDR6OUlPSGx4ZTFwa3oyZklTZDdMRldXV0dpOTlZNjUzUFZ4UjZYZUhMYjhr?=
 =?utf-8?B?KzZmYURqTWhYc1A1SStYcnVaVGNuQXg2TnRYcUR1cWZhQW1WbHI1anpXbDBH?=
 =?utf-8?B?Rmd6YjdaeUtFRzZiYVBPYzM1cmJKSXZjdGk3bkNGWGdtaGdDN0ZrQWZIRzU1?=
 =?utf-8?B?UTVjS0ZBR3VIS1ZyVkd0UDJlZFhkYnhFaVd4U0Z6WFFnc1NTa3pjaUJPNmtR?=
 =?utf-8?B?Sit4cWNsSGp0Q0ZlUlBGRWIxTlh0dVY0dVRJdzFmQm1FWk5jVHhXNW9Uc2Fq?=
 =?utf-8?B?YXFNWXBoZ3FhTEJTMXJ3RHRSZFF3anpzREg5bklmSE9TUU5PREpWY0tTQith?=
 =?utf-8?B?eEFSUTUwZkVVRW9vZEFrMUY2U0NkNFRiRXhrbXZEdmxLVHhLeHordWUrOHVa?=
 =?utf-8?B?WlE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	UtnX+iRuS1dXYP6eCLySmI8Gp3ISrdZ8qRXUflmsy5Tr7CSVjwlP+4E7YNo5F+6TV5LkZTL9ws3TAy6IpVfEoOvVA2JVYeGdTCJpXRB/99hnaEDcX1iuiqwgqLEWs2vztpAgdECXHlsbx2b9Li4O44JtTBYlpc7bHerfkeDw7oWE2AnquSXTN55DAaReN8u7NlubksyOdvWLqptDF6WqJylGsIlQiTlZcJylD6NRLAQD/6AE4hFUlv5p/q/aw3XQChFHbzDk6MxJn6CY7Atss7tsFHJOjG3ZwcGo3Zh4TWfZDpsmUf0isX+kGisMLiBWTtF5jD0UscD2YSvIUU5v9nsW84NdQBrG/glWhXwLuxAmM3pg/yNPt7w7mbCPMCvjFIOwzxrCL+FcyFZ0fQJNTNDgygeTyRZ/AjViyKXTNjDbzcrbNot9mhCGCXLjhTxNIggidwckftJ/f78IT+VPIwnkXR3QkpKHHaym1iWI5z5COIycQ1pMPEmyeWI3PN7LPLbFvyXvXyQGb3dxZekQ8op4xyG/GpUZOlsTF6DqOnBKVs1bPOIvxVauvUp6eEx1N1jH+g/8KTLILXjQ9ACm0LLU2LWPTahX/5ofXT8Z1j+Gw9DuzAhbIZYgBq3Aj7YUDA5JljrBVCCQUIfGvL7q7x2mBIElBDGznRvJ25xIo3rdn94BmvczvyT7XaRq25YzB0vhEle1G6Awl55faSsbbU9AGw0urFbMwrD2vK8PeF7Szi6vc4dTLDV9cRoaJ5rbHy22UrJLwyvWakd/H1Ci0Okl3n9QLgwWPi61p6ZURnx+5JBVcRNjf8X1z1CIF9CtJ3Cf3yUzeh1OtExODqU8yM077WFSxkTq6aTLAN/bqe8=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82704a9d-d472-4799-3bb2-08db2701efa1
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 16:09:07.4953
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lEPYWjIw9h4nUvDEBPry79mbIrl3CNy5cJDRoJZ2lcsN3kjvZ2PpX9eKaKByRpqCOIOyLeKGddw2KZ4izrztNA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB7067

On Fri, Mar 17, 2023 at 04:01:59PM +0100, Jan Beulich wrote:
> On 17.03.2023 15:29, Roger Pau Monné wrote:
> > On Thu, Apr 15, 2021 at 11:47:42AM +0200, Jan Beulich wrote:
> >> There are three noteworthy drawbacks:
> >> 1) The intercepts we need to enable here are CPL-independent, i.e. we
> >>    now have to emulate certain instructions for ring 0.
> >> 2) On VMX there's no intercept for SMSW, so the emulation isn't really
> >>    complete there.
> > 
> > Then I'm afraid we can't set the bit in the max CPUID policy.  What
> > about domains being migrated from a host that has UMIP to an Intel
> > host where UMIP is emulated?  They would see a change in behavior in
> > SMSW, and the behavior won't match the ISA anymore.
> 
> Right, but that's the price to pay if we want such emulation (which back
> at the time did look at least desirable, because the other affected insns
> are more important to deal with). Not setting the bit in the max policy
> is as good as not having emulation on VMX at all then.

It would need some kind of justification at least on why it's deemed
worth exposing in the max policy (and thus made available to incoming
guests) even when not compliant to the specification.

Could the non-intercaption of CR0 reads and thus no #GP on SMSW on
Intel lead to software malfunctioning as a result?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 16:12:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 16:12:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511162.790092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdCh1-0000so-H5; Fri, 17 Mar 2023 16:12:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511162.790092; Fri, 17 Mar 2023 16:12: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 1pdCh1-0000sh-Dq; Fri, 17 Mar 2023 16:12:35 +0000
Received: by outflank-mailman (input) for mailman id 511162;
 Fri, 17 Mar 2023 16:12: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=001K=7J=citrix.com=prvs=433d55c46=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pdCgz-0000sZ-O2
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 16:12:33 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8348f54f-c4de-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 17:12:29 +0100 (CET)
Received: from mail-bn8nam04lp2045.outbound.protection.outlook.com (HELO
 NAM04-BN8-obe.outbound.protection.outlook.com) ([104.47.74.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 12:12:26 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BY5PR03MB4999.namprd03.prod.outlook.com (2603:10b6:a03:1e7::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.29; Fri, 17 Mar
 2023 16:12:21 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%9]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 16:12: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: 8348f54f-c4de-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679069549;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=UARjhkZ2gzkzcbfVSNYGd3sdtsCdYphu8Y897ljoVxo=;
  b=FT/aTcTRse9vBeR70lVISBblPhuQkwNjGGWvmBgjJ7RHrlH9QSYQVpTM
   EFspOWIXsf3YDAhTwtFSJhWm7FtkdrS9d03luHab5FV28ftK8Ypc3E/7Z
   YFgZpELd3hvfmZHB8p4IKoegqV9cMstG62knfkXNjinUl4T3XeB1Yvboh
   s=;
X-IronPort-RemoteIP: 104.47.74.45
X-IronPort-MID: 101297726
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:I6qxjaM4WC1fPsTvrR2QlsFynXyQoLVcMsEvi/4bfWQNrUoghGYEx
 2tJWm7VOq2MZDf0eNlyYdvg/UlSvsCGndBjHgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5wNmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0ts0DmRT7
 NwlEi1XUByCg76k27GKSNA506zPLOGzVG8ekldJ6GmFSNwAEdXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+vZxvzW7IA9ZidABNPLPfdOHX4NNl1uwr
 WPa5WXpRBodMbRzzBLcqiv217CQx32TtIQ6Np653/FkvVevz2UKTyRGUxzkg6CJhRvrMz5YA
 wlOksY0loAw/kG2Stj2XzWjvWWJ+BUbXrJ4A+A8rQ2A1KfQywKYHXQfCC5MbsQ8s807TiBs0
 UWG9/vxDCFrmK2YTzSa7Lj8hSy2ETgYKykFfyBscOcey9zqoYV2hBSfSN9mSPKxloetRWy2x
 C2Wpi8jgblVldQMy6iw4VHAhXSru4TNSQk2oA7QWwpJ8z9EWWJsXKTwgXCz0BqKBN3xooWp1
 JTcp/Wj0Q==
IronPort-HdrOrdr: A9a23:6b6c+6irb7WiSB0XhcyI/UAuDHBQXncji2hC6mlwRA09TySZ//
 re/sjz8SWEwAr5OUtQ0OxoXZPwCk80mqQV3WB6B8bXYOCLgguVxcRZnPLfKxOJIVyPygd279
 YTT0CVYOeAfGSS9PyKnjVQcOxQpuVuIcqT9JLjJhVWPGVXgvpbnnhE42+geyVLrUt9dP0E/f
 ynl716ThWbCAcqh6+Adxw4tob41r72fMWMW298O/fl0nj5sdr+0s+DLzGomi4EVTVB2LEj9n
 WAvTDYy8yYwoyG4y6Z7nTU6ZtOntvn159kP+yjzuYoChiEsHfVWK1RH4WpnDcprPqp4FNCqq
 i3n/7oBa8Yhh+/EF2InQ==
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="101297726"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PhjGi6Z/xU1GdO4l6kunmWjHN8V5+0SOwdrYTC4QfSyxys6iKIFc/VOOmR+ySbPSasTaEgoFhVQHHfrfFPgfhZ0ilFz+qw738PAs1yUM2N7ZMvnDZlrGROSd1s7BaHmrxpnUUvKfMwZAA2vNPcgV8JBh2OArfvif6usUn3D7nPdWP4RfxzbVPDaZgBqDHcVW8b3+zJ3V/GYhq26LXmnQ7Wqx6IZjYcBhdRYHdnb3oBU+MltjZ4wZcmxMKwvYUN8kkF//bE4gJgw4w9d15VaOtXlqXBCYj5n0yHEmWR6ZU7yJN6vXCb3I3xPfthvYbhIqMcVGNx6FeTXr9XGTKMjdDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=49WGvqiNufNnhQvmZi7/G3RkUsNEWpRCOeTfFUZSQiw=;
 b=EvQrSPTPN7Ws96edCG6tLHXfHahJ5MfZtwRh8t1kA44DBHZNovXIzoPyXFjl6LAMh3EELzeh1t5459X1ZLbQRRO1sfi6iwJ+SoLAJsIQ1qyzTGk5RCekx0pKmErG/oEHUwydD4wn8tTP1mejCHJ23grv3TU/6tMPdPh+FGwzQeQ1laAKAcW7ldb7sTTdo/WVK79Symhg89vk78RFGBP7mSGzkEWaVaWReeY8n4TtcoJZlUpB7G7G7QB+w2E/aW8bmdH2IvDM9/DdsFeixLRBrleJ7AcAfIZ/uUscc8ewwpxcpy+SOYiW/rrekTN3FpsNgGBNc6XHY/+G0utlXYUjlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=49WGvqiNufNnhQvmZi7/G3RkUsNEWpRCOeTfFUZSQiw=;
 b=Nm5SRodnjufyn1566Tu0d5ttfWVe8q28kQufr8WXZWTiaQPZDtZ+QlqxnzKoxO0KcgViiS9KKkYlUcN8VgrhXST3YcmhfGWOqLQjAMR6CATmxTuLabwnQYk/hzs2oiCdAFH6kziMQzLQotk8M+RzJ0mD6U7JOzWP+Z6NFAgwIfY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Mar 2023 17:12: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>,
	Paul Durrant <paul@xen.org>, Wei Liu <wl@xen.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 2/2] x86: detect CMOS aliasing on ports other than
 0x70/0x71
Message-ID: <ZBSRX52P7Hb5OE19@Air-de-Roger>
References: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
 <441327cd-a7d6-8cb6-bf90-69df8e509425@suse.com>
 <20200720111118.GK7191@Air-de-Roger>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20200720111118.GK7191@Air-de-Roger>
X-ClientProxiedBy: LO4P265CA0158.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c7::17) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BY5PR03MB4999:EE_
X-MS-Office365-Filtering-Correlation-Id: 06d8def8-3f95-4926-db15-08db2702636f
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TvBzwgV5Q6vB2xs/A61ImU8ux6KTfZQhge5PXjwheq7IYD8raBW+ofoQV95XEz8vTWSZEjcN9fGo4X0uhr4ZVzgqzD2Snf3hnf4QLy4nWsJPmkaCI5Kt8TTFHAbnE+l7HCaKzLwPp4It9uAMP72ZEFjUr/hRSoklfQI2sHc8bTrpq+7WdNUuSO8x51WUdPRb38DybYAb5j4PYK+FKu+kzevJCOHqfiYzPVRHVVxw/J3pmCR8VmHLdXS9a7VwKk1FejlULKT/TRgkyrqRQ4QjSkHsAeQOh/Dm8UZTzFJBzdhg9IdfJ9FP4tz6+3Abd5V7s2R/3sfnJCFA5EWMheNJ9OKhf5SiyiSSxObeLklnYHcS1SqegNMafCBJklzdmGX02ckN/s7Bzt0Ae6luHMIkxGkAWnXumR5mv/E+RKgup2JHnryjywzZxzBRLYXNLZJy//R6DBU6YfkdADoE/pdAeNJFmRtBV0O51aewVp+vSs1++bxJ+45zb3seeQtBT5H66EAogwTVjiSM9E+qWWZYYDxo5wz7nQiUg/DJGhuGNmV9JmN60jX9pdeYc/ZWk2wwVnRMl+7p5ehYSO+DP6Es/4DWsjEPfetOjSli0VvIqiFF3JfHwEy6JTmN2g/R/tgtlCXuDFfA1Y3TeT5tRWo7Sw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(366004)(396003)(39860400002)(346002)(376002)(136003)(451199018)(85182001)(41300700001)(2906002)(8936002)(4744005)(4326008)(5660300002)(86362001)(38100700002)(82960400001)(66556008)(6666004)(107886003)(6486002)(8676002)(66946007)(478600001)(66476007)(6916009)(54906003)(33716001)(316002)(6506007)(26005)(6512007)(83380400001)(9686003)(186003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y1h0d0kxZ3dXU2dtYUNiT3NybUpONExFM09kTzBseHhoUFMxbXd2emd0QjZ3?=
 =?utf-8?B?cEkrd3A3SkVmRzgwOTNJS3RpZE1vdnZiSjVFZVFTZ00zcEZNZHpMamlGN1BZ?=
 =?utf-8?B?QmhFNzA0dm9PbUpzeitZS1ozOC9PeWNuWEZiTDg0UUVzSElpVWYzWFpXamNF?=
 =?utf-8?B?cmdZNi9iMTc0TkRBTVNKQmt0cWhVZFFwb0hYaElERGFiZHBEaXl6cVJ2UUE5?=
 =?utf-8?B?R1o1ZktMYlRiTkVPRHJFdVZybnFNZkxLb3p3RUNGZ3RYd3FneXpWYkVBelE2?=
 =?utf-8?B?ZG5SdUNXdHdnTHUzT2dTWFV5bFZ3SSs4UG9KeVZibC8rcXEvbmpia2hzc0xH?=
 =?utf-8?B?aG1tR0xHdjVuakxJdUJmNWR1aDNMenpJQkF0aTFLcm5nNDMwMGxlb2IwT3Vr?=
 =?utf-8?B?VVZEdGowNkZKeHBwOWtreGlPUVRhZHJ1NFRxVVpkQ0ZxZUc2eHU0ZGVGWXVC?=
 =?utf-8?B?SmFHOForNzhOdFA2Q3k0VjJnTzEzVDB1T2F3Z0JJSTJ1eFQ1bkdPU056S2F1?=
 =?utf-8?B?ME9mWXRzZEhybWR6c3l4ZmhFRFptaDZYeXRhbjhvZ3NSNWo4UENEcFMxKzFr?=
 =?utf-8?B?VEZidkJTN3M2dXJneFgyUGhqNlZ6V3VCcTBqZ0tWZHcrNFB0Vmo2VGlwWFNQ?=
 =?utf-8?B?ZUVnQkhRVnhtKzYzOVpyWVF6NHR6UVZIT2IxNzRsQm5aL04wbStwclpYd25j?=
 =?utf-8?B?ekltREVsV1FsUEhXbElYRm0zVGVNSG9PQXZuRGZZQlhYbWZqT3lTQVBadEY2?=
 =?utf-8?B?Mm5CbUkyVUw4cTJIZWNVVHM1THRHTkl6Z3oyaDdkYmhJS2t5cVB1ZlY0MUJr?=
 =?utf-8?B?b21FdFUxV1JGaGJ4NW03MGVudGloZTB6TjhDeU9xNlBGd1htN053cVlQd3Za?=
 =?utf-8?B?bFZnNVdDTUk1Z3FsNDRjYU9CSjJEVmNnVFFTZ3IyUUE0YnhmcW1YcU9rQVJr?=
 =?utf-8?B?WHVJM2V2czBRZWNTS1Ryd2l3RmxJU01WcGx5Qmx4UjVxM0dac2d2L2NnQ3ND?=
 =?utf-8?B?MG5zYXZFaTJtb1JqSWVjMWh5SUpzd2tTRHV2WS8vNjNpZGE4QXUzcWRuNU5h?=
 =?utf-8?B?ZVRNaGVaelBVdWtKK0NOdHNXVG5kaTZOMitQSkNQVDhVejAybHJYRDNCOHZr?=
 =?utf-8?B?RDl3Q2hwMXNDZHFZSDRjUjRKTC9Bek8vVXRPTG1zTng5OVZSbDVkLzZlY1FT?=
 =?utf-8?B?bkxPblpUT0E1Ym9DelBtYVArY1lGb1dnRHhyR2UxN0g1cHRQd083TzJ4VU5M?=
 =?utf-8?B?YWFRamxzWHIzb0J1dVJsZ0JML3dSS2E5dlJ5YnRkV2hyRlRqWlVydStwYnF0?=
 =?utf-8?B?bUFtZkUwZHdLWFZldXlDaWR0Z3djcHBjek5Ga3E5T1hzMVlKZDRhc2ZsWXRj?=
 =?utf-8?B?WEFVZk02b1EzbUxrQjVnQWZISVVNSGQwb2xlVmVHU1lDTDRiRC9PREtIejFU?=
 =?utf-8?B?Skt3VDNvdTcweC96TWZ6dUJ1cDY5RVBVUWNnMkdxUU82UzhzQks2VnEvcHph?=
 =?utf-8?B?MGl1cGNmMUhHWDhpWFd0bkhoZnZmREdPZ2JvTjU3ZmxRMkN5Z2Y0YjU0cnVU?=
 =?utf-8?B?MU1TY0w2RU9GS2ZsL24vZzkycTZMQ1N3cWRqTWN5OHo5emhiSnZQRW9OOGho?=
 =?utf-8?B?Yi9IYlBROWFPUVBFTUhFMkpKNkJKWEdWVjFOa2ZRV21NNFFZYzB5R3lZSGE3?=
 =?utf-8?B?bmpUSTZHYkVMTVMzbVBiV29LODZEWWlVckZCSHU2RGdkN0dXdXplSlA5dE5M?=
 =?utf-8?B?UDFrZ2FBWkZvNlBIUWg3UHBhbjZyNjVEOHRUM0szeGpidzhkSXpERS9tb2du?=
 =?utf-8?B?b21hcVVWUFQrMUszWHozdFhwYUpHVy8vOFlKNFkwa0hZZDBqU0g3eGVNYTZK?=
 =?utf-8?B?T0s4NVUyeHZUVEFydVcxU1NQcTNuSlIyaWVhdm9VcDI4cjJIR1NhV09uY0Zi?=
 =?utf-8?B?SkVZc2hwYnZsVEw1a1JVdjBVV0krVjAvdms3TGZURnptdVVFWi9nL3hmQmVq?=
 =?utf-8?B?YVYrR3B4dlVCVVNXVW5VYVJOVzNya2g2c1RJR043Vi9Ka29CYzJZbzFOck9o?=
 =?utf-8?B?cHA2eTNyaGpJVEJHTUxNYkJSSE42MFZvYmlkZFVTNXVoWGt4Ykl4NVd6dncv?=
 =?utf-8?B?TXpxTU1DZHZGclNFcEIrKzhtN1hCQndTYjZNUFBvK1ZkRW9WeWR6NkExMDlZ?=
 =?utf-8?B?Zmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	YRIf2RBvnaAmr55qd5uSdbSIrGv9ubZBrc5gk7RQKLV7hbOYMxRVES6qs0ynYeHlPawCgtuOe3SnbPPknr7PBCf+g+Qa4f3sKm8CFJ3IQqrdcPhbidccxsl2Y5qSHRq7hYadr4uCuljfVMPzM97t0yk9rNqAS62cq/cer2WhY3iRpa4UzaVd0y2acJ5tR6GIg6E8qhgWMKyRnJVVyDCdpZukhg0SSUAQGE2/HlhUgHIIjQNQIAWYoB1lpYywJXO5wojzzOCdnju8uJKZfDW3qbcRvygOeK6MAD63OzF08ycudYk0B4kSMfMSCjOEYUCCGAkK9+iLMVijcvio1+7B8AUXVXUy0mLGTcatucWKTmyZxBfwqjGTLRgsLQmqhGe5RkRCg4ZI+FAIn7GJQDgFqM4GIwrudpPHSNabRlMU+PUD+NR/1MfVdPsiERdY59k0NnieS9DFMIQuuxMRnGxxrsD1KFEAjfz6Fx567npFC52UW0o7iI8w6DH9Wk2k6AOREjzqeTi1VtGoOK0+YM++NB0pkNeHDOCujRkAl41njCslN28Y9UkCxi3OcyBi/1LSk1NhdQgFo4Km/sYVM5qqaFBj7oECBamjwOF1T+x6JgRu9bPAwJxxbQg+HAGeQw5L+vAVFCrtyI/smKX7cQFrED4SmGprIdUb3N+KJCsZ0ZQQk3gOq21Xw2mEyrTPZTSVYqPPM5lr8eOJBUeRBYp5GmSi46/qjavW4yOxghJFk1Ialj+V9fpzXKnYIKMz52oMamoLjNiNdb2qBDHD8caCOtJODbvxVk86WflGgyyY0EqydIV3ZxGWHVRUcHLoNEFY
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 06d8def8-3f95-4926-db15-08db2702636f
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 16:12:21.7718
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nil0jGFX7eLtOGQqg9Oc1P8x/sjyjsvXHMWXGobvTA01+J8vmdyuvidEkAVcZP30G3cdxg4D5pCrvM2WbSZM+w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB4999

On Mon, Jul 20, 2020 at 01:11:18PM +0200, Roger Pau Monné wrote:
> On Wed, Jul 15, 2020 at 01:57:07PM +0200, Jan Beulich wrote:
> > ... in order to also intercept accesses through the alias ports.
> > 
> > Also stop intercepting accesses to the CMOS ports if we won't ourselves
> > use the CMOS RTC.
> 
> Will wait for v4 with the fixed additions to PVH dom0.

I think this is waiting for a v4, let me know if that's not the case.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 16:30:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 16:30:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511166.790102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdCy0-0003g3-2B; Fri, 17 Mar 2023 16:30:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511166.790102; Fri, 17 Mar 2023 16: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 1pdCxz-0003fw-UC; Fri, 17 Mar 2023 16:30:07 +0000
Received: by outflank-mailman (input) for mailman id 511166;
 Fri, 17 Mar 2023 16:30: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 1pdCxy-0003b8-O9; Fri, 17 Mar 2023 16:30: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 1pdCxy-0005DL-Fz; Fri, 17 Mar 2023 16:30: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 1pdCxy-0006JM-3E; Fri, 17 Mar 2023 16:30:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdCxy-00064G-2m; Fri, 17 Mar 2023 16:30: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=cLvygjvcYmgiFn+ud8aMkIy2wT/VeZMqXBIJkF5lmCM=; b=ur47gWT/udJk8JFULjRreUWQ/4
	T9elUH+L1oRWK9dXxWa29XiaEE0QVEJTXdlLCipy9FinNGloDPhBVmAHO+ruqMNGqy5rlkovX8q5u
	vVrf0xhoQg9KRUHDwbfi6/yzOGrTfeRTl2mf9JVVUxdg+pRgOJbr1HS7AjApFFeUa3t0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179711-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 179711: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:regression
    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-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-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:build-check(1):starved:nonblocking
    linux-5.4:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-5.4:build-arm64-pvops:hosts-allocate:starved:nonblocking
    linux-5.4:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=e4b5c766f50525d84754cfdf0e4edef1db9622c0
X-Osstest-Versions-That:
    linux=b829e8b6e1a7bb8cd3042b927113a22fed0b0d47
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Mar 2023 16:30:06 +0000

flight 179711 linux-5.4 real [real]
flight 179722 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179711/
http://logs.test-lab.xenproject.org/osstest/logs/179722/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2   21 guest-start/debian.repeat fail REGR. vs. 179598

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179598
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179598
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179598
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179598
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179598
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179598
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179598
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179598
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179598
 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-amd64-libvirt     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-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-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-examine      1 build-check(1)               starved  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               starved  n/a
 test-arm64-arm64-xl           1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-arm64-pvops             2 hosts-allocate               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                e4b5c766f50525d84754cfdf0e4edef1db9622c0
baseline version:
 linux                b829e8b6e1a7bb8cd3042b927113a22fed0b0d47

Last test of basis   179598  2023-03-13 09:42:37 Z    4 days
Testing same since   179711  2023-03-17 07:42:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Al Viro <viro@zeniv.linux.org.uk>
  Alex Deucher <alexander.deucher@amd.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Alvaro Karsz <alvaro.karsz@solid-run.com>
  Amir Goldstein <amir73il@gmail.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Andrew Morton <akpm@linux-foundation.org>
  Ashok Raj <ashok.raj@intel.com>
  Bart Van Assche <bvanassche@acm.org>
  Bixuan Cui <cuibixuan@huawei.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Chandrakanth Patil <chandrakanth.patil@broadcom.com>
  Chris Paterson (CIP) <chris.paterson2@renesas.com>
  Corey Minyard <cminyard@mvista.com>
  D. Wythe <alibuda@linux.alibaba.com>
  Darrick J. Wong <djwong@kernel.org>
  David S. Miller <davem@davemloft.net>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Edward Humes <aurxenon@lunos.org>
  Eric Dumazet <edumazet@google.com>
  Eric Whitney <enwlinux@gmail.com>
  Fedor Pchelkin <pchelkin@ispras.ru>
  Florian Fainelli <f.fainelli@gmail.com>
  Florian Westphal <fw@strlen.de>
  Gavrilov Ilia <Ilia.Gavrilov@infotecs.ru>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  H.J. Lu <hjl.tools@gmail.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Harry Wentland <harry.wentland@amd.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Ilia.Gavrilov <Ilia.Gavrilov@infotecs.ru>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Jens Axboe <axboe@kernel.dk>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  John Harrison <John.C.Harrison@Intel.com>
  John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
  Jouni Högander <jouni.hogander@intel.com>
  Kang Chen <void0red@gmail.com>
  Kim Phillips <kim.phillips@amd.com>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Lee Jones <lee.jones@linaro.org>
  Liguang Zhang <zhangliguang@linux.alibaba.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenz Bauer <lmb@isovalent.com>
  Lorenz Bauer <lorenz.bauer@isovalent.com>
  Lu Baolu <baolu.lu@linux.intel.com>
  Marc Zyngier <maz@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Martin KaFai Lau <martin.lau@kernel.org>
  Masahiro Yamada <masahiroy@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Chan <michael.chan@broadcom.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Nathan Chancellor <nathan@kernel.org>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Paul Elder <paul.elder@ideasonboard.com>
  Richard Weinberger <richard@nod.at>
  Rob Clark <robdclark@chromium.org>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Sasha Levin <sashal@kernel.org>
  SeongJae Park <sj@kernel.org>
  Shigeru Yoshida <syoshida@redhat.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Stefan Haberland <sth@linux.ibm.com>
  Steve French <stfrench@microsoft.com>
  Sumit Saxena <sumit.saxena@broadcom.com>
  Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Tom Saeger <tom.saeger@oracle.com>
  Vasant Hegde <vasant.hegde@amd.com>
  Volker Lendecke <vl@samba.org>
  xurui <xurui@kylinos.cn>
  Ye Bin <yebin10@huawei.com>
  Yejune Deng <yejune.deng@gmail.com>
  Yuiko Oshino <yuiko.oshino@microchip.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            starved 
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          pass    
 test-amd64-coresched-amd64-xl                                pass    
 test-arm64-arm64-xl                                          starved 
 test-armhf-armhf-xl                                          starved 
 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                                 starved 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  starved 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  starved 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 test-armhf-armhf-examine                                     starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 starved 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      starved 
 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 1981 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 16:30:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 16:30:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511171.790112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdCyf-0004DQ-DY; Fri, 17 Mar 2023 16:30:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511171.790112; Fri, 17 Mar 2023 16: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 1pdCyf-0004DJ-AZ; Fri, 17 Mar 2023 16:30:49 +0000
Received: by outflank-mailman (input) for mailman id 511171;
 Fri, 17 Mar 2023 16:30: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=eK3V=7J=citrix.com=prvs=433af36f9=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pdCyd-00047A-DM
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 16:30:47 +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 0d60f294-c4e1-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 17:30:42 +0100 (CET)
Received: from mail-dm6nam11lp2170.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 12:30:36 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB7052.namprd03.prod.outlook.com (2603:10b6:a03:4e1::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 16:30:35 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 16:30: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: 0d60f294-c4e1-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679070641;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=WaPVHDDlPcOFPPSz4CEtKH3LZf7TlnkyCRhXaPSZBHM=;
  b=NpBlhWqqZfgyII2xUHigP+1aF7I1HCbp5hICbC1H0hEZGVt+WjdyHB4Q
   cRnZKntyJxaOuVgpIvlEgcnaJ46I5cEbIlh7HXsorSat1QNB+cL9ChteV
   WK8+/Vir1qfgDAz5IMj1HYBBCvUE7nrVI0wyBFJGKgCgc4OPhCLQIlwZT
   Q=;
X-IronPort-RemoteIP: 104.47.57.170
X-IronPort-MID: 101710960
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:xIx9AK4uzgzmjJjDQQjiowxRtOvGchMFZxGqfqrLsTDasY5as4F+v
 mtOXWnQPKyJZWTyeYp2bdnn/UsPvJ/Qx9JjSgtqqClgHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS4weE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m1
 cVfJGkUV1O5mePrypiQRehAisohFZy+VG8fkikIITDxK98DGMmGb4CUoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Ok0ooj+CF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtKTeLhrq802DV/wEQeIhRIXnSYj8Obi06lXtdfG
 kpJ9HUx+P1aGEuDC4OVsweDiHyOswMYWtFQO/Yn8wzLwa3Riy6JC25BQjNfZdgOsM4tWSdsx
 lKPh8nuBzFkrPuSU3313qiQhSO/P24SN2BqTSwJUwoDpcXiqYcbjxTTQ9IlG6mw5vX3BDe2x
 TmJpSo/grw7jMgX2qH99lfC6w9AvbDMRw8xownSAGSs61ogYJb/PtPwr1/G8fxHMYCVCEGbu
 2QJkNSf6+ZICoyRkCuKQ6MGG7TBC+u5DQAwSGVHR/EJnwlBMVb5FWyMyFmS/HtUD/s=
IronPort-HdrOrdr: A9a23:qBJfGqhIMjPETxMDMvd0Jyoll3BQXucji2hC6mlwRA09TyX4rb
 HMoB1/73TJYVkqOU3I9ervBEDiexzhHPxOkOws1N6ZNWGN1QeVxelZnOnfKlbbexEWmNQts5
 tIQuxTD8DxEEg/reuS2njALz5qqOP3lJxAXN2uqEtQcQ==
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="101710960"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SvqyEUxb09yK4IvACr0Zl0fTtx5F2IIGfcNm08zBx7YzN+l7PrdMcRsvGO3p1UZ4fH+FY9DZPFlhyIexR7PgfdjgUrAsTCd36IwKyxcvlWEzdyL52D16GTym9vsiV3H8BPNi+WtXTQ1+BX1GEipIvhWKZAtlXwPSPpkqb2JPWR3YX687bsAWNrknW0nOGVCJ7Ku/4x7evATT3vOTn0+g08m/PK3t3I0CHQqDmGdnQgASaYy4eRDmRkctyq66FqOVjV48u+SHFr0uaP6qba3nFhqMMNklQ8zm2SiVVFI3kF63MO+8wlaVgK40G2/s7FfLqjls2LDjKNzY7QhJm7g9/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=V+RDPHiudyQhcA1LT88ftRDsFozFE0hvlX1CoKnyxJM=;
 b=KACZtPaQ1NL1zpvBK0V+aDZQE/Q+wPW/OZ6qc5Int+t9Qf8Hjjn+eMd4x88okixxCWb/OXj4HSPUpBzmqiqK0YV/OB3dJ+rPDbKlyIl7MWMMEBfOIQ02iFUn4S2eiSMp6Jqsrx2Cu0sK5N42IjnZb3NQNEtJteKgyC+ycMEaIyS4Q14N7cqPfHpRuuyGJYN6Ai5706xmSp/Qn+jhmB0akP2JDDlZqkHT3sgou9NM3R/Xp2sEhlx+PLevSvn+D/gbHO/oyr7NbBWgyHaSeGy/ZZj0KrBw3f02lt4avG7YbZ4A4d1oBPHNandIb0Jy8hKPn6F6OuA6tJQrQo3C3XAOYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=V+RDPHiudyQhcA1LT88ftRDsFozFE0hvlX1CoKnyxJM=;
 b=ESzWMyFmFA23iqjhHdjCVZ96x26LKEfac0QGzeiEHnszwVgNMA5TA24g4w7hfxSShL8LjI/sMPyjrZUGbb7mlhtwzlKWtrB4LqTrAaH+u2DiPU2flhc2CeHRZc0PpEKR/DkoNhGSNQjsWrt58WZGvH0VCoPRzWxMlC/T1hiVEAc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <26bf3408-4585-e8fa-a434-56a0d33abf2e@citrix.com>
Date: Fri, 17 Mar 2023 16:30:28 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v4] x86/HVM: support emulated UMIP
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>, Kevin Tian <kevin.tian@intel.com>,
 Jun Nakajima <jun.nakajima@intel.com>
References: <581a90d5-a168-5445-6a6d-ab20cc43b944@suse.com>
 <ZBR5T57tSqs2o/Sl@Air-de-Roger>
In-Reply-To: <ZBR5T57tSqs2o/Sl@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0242.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:350::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB7052:EE_
X-MS-Office365-Filtering-Correlation-Id: 723bd474-c528-440e-dfc1-08db2704eed7
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	33X1v4iDTHuVdoqUxXfRbmZNTxBVszHszbNZnNYs7Z4nFEYQqAaDWCN3AN3JO0iZJLGQ1kvWh09eBWczJ82mZbFEBlaaqY1XkmoscukJ+GdXM19AikjozQYiuMWKAYLSegPX0YM9e5uv6fBAy03KMPtPRDG0IH9avQHWPCkO60gmSo5PwsSIedvVzE2ZbizgV5tyqVY1fBw+YL4d7MJfVjD5kFCODO9hDOdcnFRKOgr6mZuhV1yYfC8mh+ktSoY5IVJI5OupJmAySwAlD47hrwhqLkBCqQnzX6pi1roQ7TDEgtaB/NeK4hobgUPjL+YfwqrWXKkuG76SjueDlbGZE6Q/Nh4yTdogYJD3GbKSDRLOvzKk83OqX+OpcSU0qnR9ufJsOeEt7p3j1yWpTnrBaag01xcHqHwIoP57AVBWT15Y3R+GBa9Tl0YcyljA34baZ1v2Vkpap6c0Qh9etpcLypaDaMVTpR1MdS180l48oRRPRNAxk4R9HwXzEBQz+wpqmbNz95i16wEfYxdTl7R/Oec7OlNMBixj63Jtgv+XyaJOqTTo8cR2+5zgqk6gqhlLCCuY3G8em8MHJRNp83G+2x3/ILzOKrXo0LrMLMEuQbW4ixxeeQAUwn5xRHEVVvKHydqhhH0wadLC8lzcVp/5Jw43TV3Mf2btXjpRLA7iTKFhJEI6rtXvPHVKjYtiRmSoLJ9rILDG9/ATZMkAVqfq1iTgKedmgf+KnlAQUO0h7ds=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(136003)(346002)(396003)(376002)(366004)(451199018)(31696002)(38100700002)(82960400001)(86362001)(8936002)(36756003)(4326008)(66476007)(66556008)(5660300002)(2906002)(8676002)(66946007)(2616005)(186003)(83380400001)(316002)(6512007)(54906003)(6506007)(110136005)(26005)(6666004)(6486002)(53546011)(41300700001)(478600001)(66899018)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SHExdzRseS9YUlN2SHpDOFBiSXQ5eGdpcThhT1BGcnhVenpFVXdON3d0Tjcz?=
 =?utf-8?B?SnlXRDUvS3U0Z0hRamd1R3lXRFJ4NWg0L05MZEJ3RHVpZStidHdsQU5FUitq?=
 =?utf-8?B?dm5scGlIMWM4REljY1NCZU94a0d6ait0RUZqczBOWm1OR0hrZTVhWlhhNWJh?=
 =?utf-8?B?ampwWVlrWnJpVTdRS0JoMHFmTzJVcGYreGFZeDRWd3VRcElnc1lHZWhMYjVP?=
 =?utf-8?B?dVJ1cDM0UHVJK0ExOVQ0WGFrcDJIVTVvQjcxaGlsVk9pV0ZlemZDYVNROE9j?=
 =?utf-8?B?YUVpdStVVlJhbjdCd0hKYTM1OVVoNXFBdXRvc1ZEMUdPeFZzeEcvek8xWnVB?=
 =?utf-8?B?cWhrWkpuKy9BTTdDd3BHMlU1ZFpIaFl1S04vOUhTYUxVdjZ6ZXlLRDl6cmtj?=
 =?utf-8?B?WUxhaWk5aEcxd2FyNUNtMndqU1ZyY3BmTjFsWDkzaGNJcFdCK0JEZmxpbERv?=
 =?utf-8?B?eUdzc0lNdi9Yd3hKZHRrVjlxV29wbk52VDNPYkpORlh3QitwbS96YXpla1BQ?=
 =?utf-8?B?dHhLRnUwREVjNjVSQmpIN3JsdHdZT3hTcUVlYzBmc2FQYS8rUEpkM2F0K0FY?=
 =?utf-8?B?UWFiWXc2amFZaTRPS281Mnl6OEowdCtxc0FLc3Z3M2Z3R0E3SnE0ek1hRE8w?=
 =?utf-8?B?Mm51NW9HbnJ6ZFo4YUdiYTE4aE9OL2srb09EUS9jYkVzdnZUZ3ExTGFsOVV3?=
 =?utf-8?B?Y1lkWno1RllwaS85MVRRY0RVNCt3WGJacEtFbENIY1ZCRlNLOWluUmliV01x?=
 =?utf-8?B?UjV2SjB6cGN4cHVwZnVlRmVTY0tiQjNXNmNNalVjSTRScHk5SEhTejRoUTBy?=
 =?utf-8?B?ZDdZa2V3NnNZNUF3Zm1FblRhaTNlM1oxVy9oRlUweDNFNWdEaXN4NDB2dWwv?=
 =?utf-8?B?K09hMzB4cjBuMVVLMVg4U1MvaHQ3SlJiOC91ZHM4RVdNSFRjSHJNekhWczI2?=
 =?utf-8?B?dVoyczFnbWZCc3pXRnIzd0xZV29UUDhYRmF2bUFTMWZTRnBERFYweWZ1RkJq?=
 =?utf-8?B?WUo3Q2FDWEhvRUVZUHQ2QkhnczV0cURKRmRMUDZBNVpIY0dtcU9kcnJEVlF3?=
 =?utf-8?B?Q3RldVRXMFVMM1liamdQUXpIQ3FiZTRQY3pONGNyR3VRak5UbEd5a2g5VURy?=
 =?utf-8?B?SVpOUzlmTTZoWUdVdG5rQmxNbkkyTHdGS1U0Y3JLWjRHR1B1UEQzOGlnbHZY?=
 =?utf-8?B?OXN5OVg2cHpmY1MwMjZsYXJHdVRRTGhlQzc1RmlwMDk0bXpxbzBUc0M5Vnda?=
 =?utf-8?B?dm5jUklqd2pOSnMzdnVRYTE5OGQyUnpKTVhKUXVjVTdKZjFSUEo2ZDVSRHVw?=
 =?utf-8?B?Nkowa2VXY0wvTDFiUVVBcURHMVhPaEVUdFpNUmNsdWNmcFMwUXhWZkJta0Z3?=
 =?utf-8?B?djdkWGpnOUdJNGQ2Z09mZTBKK0ZsSEhHSUZlN2hXM3hBa2h5cGp2MldaUk1j?=
 =?utf-8?B?R0FuTjcxejJOL0lUQjZ5d3JVYjRIa1o3QnhyQ2Yya0Urb2M5UHpGbHJoMFcx?=
 =?utf-8?B?STkwQi9lK2R4VGZpRktlYTFHRDIySy9mZGtKc09tdXkyZmJPb1hubGtSNVV3?=
 =?utf-8?B?UGZiVTlydmNUOFBMejR6UzZKTlVzaHlhdDVlTFB3eE5oRmlpZkdqcWhtMWtj?=
 =?utf-8?B?SXlXZUkvcWUyaEJIeWxnZ0VmdGZ5VXo3Tmlma296c1ZNUmVRNXJvL0JJd2Nq?=
 =?utf-8?B?NmtBMXVFdVBYc3VzL0FRR1dyZ3ZhNjYyNkdKTFNzcVM0NEZVVW0rTDhET0k5?=
 =?utf-8?B?WnY2aStraUhpV3lNR0pmdjhPQmlxWUtvTFBYV3dZVFVTdVIwM2lTOTgweG5J?=
 =?utf-8?B?dDRUYTNISDFWb2FiVVlaZldTZHZRancxQi9iM1FrSW9ZWFlyVGc3cG1neFk0?=
 =?utf-8?B?UDFIQ1NXN1IzUDJ4UjBFMGhFMWMyZ0RLUWNsTUJwUHNZMUNBYUtrYjlTTGNw?=
 =?utf-8?B?MEMxSWVBeUZ3U2I1K2dnU2tSMm9xT1Z0OUZRYXRnMlhPd2hiZGZXeS9yb3Zm?=
 =?utf-8?B?TXlXQmFpTitud0phdzZsbUlrK3BXMFBEcDJ2bG1HZGkzMTVhSTVOUDVDcHVl?=
 =?utf-8?B?RzZNZGV6aXM4QytiZjJobUh3K2FYdXRjM3hWa2NISVQwV3NodjZZVS9LZjVI?=
 =?utf-8?B?aVBFMWZsbXNMbmFSN0hSY3pwS0didjRDYTJvRWI2QmJyTkpFYzNjVXUyUDdC?=
 =?utf-8?B?cUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	0rKNaj/FIFK5A6szyzFnxty6ihzLMRpz1UdNPAd7mEqgVbr/ABLYrGDaYyz6zIN+EBIYBy7xLQCQQ3KA2zqEzAnUAA68J4zstjuWkjniysPi5P4c1+rjEiwO1uAOVh9qFHiakfm8yTuUelLcuX4Zy2os14yRAqvXNXR1SYwVlVVAIWR3w7eoMMEbovda1PBmUHbd7xUNPyjf56NYQU/4KCchZ8kOP5a9KTDeg12+lezlZ8YojyGvApDLgkIbqJIw0s4aXzn0Z56EBahsYj/m3bIfNr6zhVzodKweggPXvVDNIeXMv+rc3Uq4AlTJkeK43bHjPf/p9uZV3auXoD92Y5Nw2tcR7j8HaH/55b9ADINkTukZVyd0/M1jZYtDmG+xHmHif/u0FA1J3M2UjJVdQCDVyGQlsmQJblWmScbdWK/sTwAkBFZ57CVYU34L4Gf6FTBjtaLXG+F1KH/5y0wPUsh7NMbg/fC23PvdA+/QauxCJibXVbaC23h1BX2MqLPeZ3uT66rgtMNVhut2FXT1AAhR2vAkoZt2w322dVBQPciFHQG9eC+J0SXD/+pb7Qg+1c7qo/tAM7SRw0QPZPyu/Jsq4Z05f3nq7ve6z+8BMaKEKjYVCzMr7/kd5ZZBUV2X9scY5Kkinytl1Ppu+o7lZJVi0BRHUcWog+dRPiWCfSkh8w/jKJsSBRhMUTfBuv8gZganDKSjWsh8EvY683FPvp1PJjHVzEDsxDNJBa5JDaNso5MVy06toZUHZaSrEoPugNJZPr/PS2eDFD3w9KldjR7E0mgthNmt3qhFtBG26GE7xeHUjSUc9bfZSsbOZEFGzte6iQGZboNwrOp8l7W/KbHnvVqdEtFnv6BIkvxjHXQ=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 723bd474-c528-440e-dfc1-08db2704eed7
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 16:30:34.7284
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zzh3oQ0bdQAzrLt8tBaJBGB4AVZkN5kWiTHSnWW/yYzw/8euCrW4daq/DzS4uDg1cKbAd2rN5PqQjKR/pg4eMnabLttcv5WejPXRyy6zwAs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7052

On 17/03/2023 2:29 pm, Roger Pau Monné wrote:
> On Thu, Apr 15, 2021 at 11:47:42AM +0200, Jan Beulich wrote:
>> There are three noteworthy drawbacks:
>> 1) The intercepts we need to enable here are CPL-independent, i.e. we
>>    now have to emulate certain instructions for ring 0.
>> 2) On VMX there's no intercept for SMSW, so the emulation isn't really
>>    complete there.
> Then I'm afraid we can't set the bit in the max CPUID policy.  What
> about domains being migrated from a host that has UMIP to an Intel
> host where UMIP is emulated?  They would see a change in behavior in
> SMSW, and the behavior won't match the ISA anymore.

There are conflicting opinions on this.  But the truth is that SMSW only
leaks the bottom nibble(?) of CR0 and that simply isn't information that
is of use to an attacker like SGDT/SIDT is.

So from an entirely ideal point of view there is an argument to say that
UMIP-but-can't-block-SMSW is better than no UMIP.


Except, I'm not fully convinced by this argument.

SMSW aside, emulating UMIP on hardware without it involves emulating the
guest being able to set CR4.UMIP which is reserved so we have to
intercept #UD, and intercepting all #GP so we can find the
S{I,LG}DT/STR/SMSW(on AMD) instructions and fail them in Ring3.

We went to a lot of effort to not intercept #UD (by default) because it
exposed x86_emulate() to guest userspace and caused us a huge number of
security headaches.  Similarly, #GP interception is the source of a lot
of security bugs on other hypervisors.

So there is large security concern with this patch.  Which is not a no,
but definitely is a "need to think about this more carefully".

This logic isn't useful for Linux.  All versions of Linux which know
about UMIP already put the IDT and GDT on read-only mappings to prevent
SIDT/SGDT being useful to an attacker on hardware lacking UMIP.  I don't
know what Windows does here, but I would be amazed if they don't
something similar.

Therefore, this logic is only useful for guests which do know about
UIMP, and do not have any other defences against SIDT/SGD.  If this
isn't an empty set of kernels, it will be a small set.


Also, as a note, the XTF UMIP test declares a failure against KVM
(because SMSW does leak), and will do the same on Xen after this patch. 
I don't think OSSTest will declare this to be a blocking regression,
because the XTF test won't be configured for "max", so it won't notice. 
And because I still haven't got the test-version logic working, we can't
modify the XTF UMIP behaviour without breaking the OSSTest bisector...

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 17:07:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 17:07:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511179.790131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdDXa-0000rZ-8H; Fri, 17 Mar 2023 17:06:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511179.790131; Fri, 17 Mar 2023 17:06:54 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdDXa-0000rS-5d; Fri, 17 Mar 2023 17:06:54 +0000
Received: by outflank-mailman (input) for mailman id 511179;
 Fri, 17 Mar 2023 17:06: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=FDdY=7J=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1pdDXY-0000rM-OP
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 17:06:52 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a0be55e-c4e6-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 18:06:50 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32HH6J3F064584
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Fri, 17 Mar 2023 13:06:25 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32HH6JPj064583;
 Fri, 17 Mar 2023 10:06:19 -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: 1a0be55e-c4e6-11ed-87f5-c1b5be75604c
Message-Id: <b4f311dc40ed6036cea46fe05efceac09554a6c4.1679072607.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: Wei Liu <wl@xen.org>
Date: Fri, 17 Mar 2023 09:10:56 -0700
Subject: [PATCH] x86/APIC: modify error_interrupt() to output using single
 printk()
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

This takes care of the issue of APIC errors tending to occur on multiple
cores at one.  In turn this tends to causes the error messages to be
merged together, making understanding them difficult.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
 xen/arch/x86/apic.c | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index f71474d47d..5399488120 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1412,6 +1412,12 @@ static void cf_check error_interrupt(struct cpu_user_regs *regs)
     };
     unsigned int v, v1;
     int i;
+    char head[] = XENLOG_DEBUG "APIC error on CPU%u: %02x(%02x)";
+    char entry[] = ", %s";
+    /* header string, ", %s" for each potential entry, newline */
+    char fmt[sizeof(head) + ARRAY_SIZE(esr_fields) * (sizeof(entry) - 1) + 1];
+    const char *args[ARRAY_SIZE(esr_fields)];
+    unsigned int count = 0;
 
     /* First tickle the hardware, only then report what went on. -- REW */
     v = apic_read(APIC_ESR);
@@ -1419,12 +1425,18 @@ static void cf_check error_interrupt(struct cpu_user_regs *regs)
     v1 = apic_read(APIC_ESR);
     ack_APIC_irq();
 
-    printk(XENLOG_DEBUG "APIC error on CPU%u: %02x(%02x)",
-            smp_processor_id(), v , v1);
+    memcpy(fmt, head, sizeof(head) - 1);
+
     for ( i = 7; i >= 0; --i )
-        if ( v1 & (1 << i) )
-            printk(", %s", esr_fields[i]);
-    printk("\n");
+        if ( v1 & (1 << i) ) {
+            memcpy(fmt + sizeof(head) + (sizeof(entry) - 1) * count - 1, entry,
+                    sizeof(entry) - 1);
+            args[count++] = esr_fields[i];
+        }
+    memcpy(fmt + sizeof(head) + (sizeof(entry) - 1) * count - 1, "\n", 2);
+    /*_Static_assert(ARRAY_SIZE(args) == 8, "printk() here needs args added");*/
+    printk(fmt, smp_processor_id(), v , v1, args[0], args[1], args[2], args[3],
+            args[4], args[5], args[6], args[7]);
 }
 
 /*
-- 
(\___(\___(\______          --=> 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 Mar 17 17:12:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 17:12:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511195.790141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdDd6-0002fb-TW; Fri, 17 Mar 2023 17:12:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511195.790141; Fri, 17 Mar 2023 17: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 1pdDd6-0002fU-P3; Fri, 17 Mar 2023 17:12:36 +0000
Received: by outflank-mailman (input) for mailman id 511195;
 Fri, 17 Mar 2023 17:12: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 1pdDd6-0002fK-9B; Fri, 17 Mar 2023 17:12: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 1pdDd6-0006Gj-1z; Fri, 17 Mar 2023 17:12: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 1pdDd5-0007d0-I4; Fri, 17 Mar 2023 17:12:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdDd5-0003Wq-HY; Fri, 17 Mar 2023 17:12: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=H6BdQ220hnITGGVehbgr0EWUhDLW190RpCeKhcrJOP8=; b=HRoH2TZ4oClWTf9K85r2AGGlZw
	nBuonXqdaV9jSE3EqwpnGtNSIC/y7HxYLvjdi8L3NprYdvLhARWyHYLa7IILvxlhA8gAFGH0+jCT6
	tzxLBAzHN6XuBKnUM7AfvhzCqLQpjvQIuo0f4X3ZMzfjEUP/1Y1hXTb5V6ttOa53XriM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179702-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179702: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=38e04b3e4240a6d8fb43129ebad41608db64bc6f
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Mar 2023 17:12:35 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  19 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-libvirt     18 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 26 guest-migrate/src_host/dst_host fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl         18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     18 guest-localmigrate       fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                38e04b3e4240a6d8fb43129ebad41608db64bc6f
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   23 days
Failing since        178093  2023-02-22 05:02:47 Z   23 days   45 attempts
Testing same since   179702  2023-03-17 01:42:42 Z    0 days    1 attempts

------------------------------------------------------------
2126 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 17:27:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 17:27:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511204.790151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdDr3-0004dI-9M; Fri, 17 Mar 2023 17:27:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511204.790151; Fri, 17 Mar 2023 17:27: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 1pdDr3-0004dB-5i; Fri, 17 Mar 2023 17:27:01 +0000
Received: by outflank-mailman (input) for mailman id 511204;
 Fri, 17 Mar 2023 17:27: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=FDdY=7J=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1pdDr2-0004d5-E8
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 17:27:00 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eaa9193f-c4e8-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 18:26:57 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32HHQn6E064752
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Fri, 17 Mar 2023 13:26:54 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32HHQmNP064751;
 Fri, 17 Mar 2023 10:26:48 -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: eaa9193f-c4e8-11ed-b464-930f4c7d94ae
Date: Fri, 17 Mar 2023 10:26:48 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [BUG] x2apic broken with current AMD hardware
Message-ID: <ZBSi2KfoQXo7hr6z@mattapan.m5p.com>
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
 <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
 <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
 <e5b28dae-3699-cb0d-ab7e-42fdd42d3222@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <e5b28dae-3699-cb0d-ab7e-42fdd42d3222@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Fri, Mar 17, 2023 at 09:22:09AM +0100, Jan Beulich wrote:
> On 16.03.2023 23:03, Elliott Mitchell wrote:
> > On Mon, Mar 13, 2023 at 08:01:02AM +0100, Jan Beulich wrote:
> >> On 11.03.2023 01:09, Elliott Mitchell wrote:
> >>> On Thu, Mar 09, 2023 at 10:03:23AM +0100, Jan Beulich wrote:
> >>>>
> >>>> In any event you will want to collect a serial log at maximum verbosity.
> >>>> It would also be of interest to know whether turning off the IOMMU avoids
> >>>> the issue as well (on the assumption that your system has less than 255
> >>>> CPUs).
> >>>
> >>> I think I might have figured out the situation in a different fashion.
> >>>
> >>> I was taking a look at the BIOS manual for this motherboard and noticed
> >>> a mention of a "Local APIC Mode" setting.  Four values are listed
> >>> "Compatibility", "xAPIC", "x2APIC", and "Auto".
> >>>
> >>> That is the sort of setting I likely left at "Auto" and that may well
> >>> result in x2 functionality being disabled.  Perhaps the x2APIC
> >>> functionality on AMD is detecting whether the hardware is present, and
> >>> failing to test whether it has been enabled?  (could be useful to output
> >>> a message suggesting enabling the hardware feature)
> >>
> >> Can we please move to a little more technical terms here? What is "present"
> >> and "enabled" in your view? I don't suppose you mean the CPUID bit (which
> >> we check) and the x2APIC-mode-enable one (which we drive as needed). It's
> >> also left unclear what the four modes of BIOS operation evaluate to. Even
> >> if we knew that, overriding e.g. "Compatibility" (which likely means some
> >> form of "disabled" / "hidden") isn't normally an appropriate thing to do.
> >> In "Auto" mode Xen likely should work - the only way I could interpret the
> >> the other modes are "xAPIC" meaning no x2APIC ACPI tables entries (and
> >> presumably the CPUID bit also masked), "x2APIC" meaning x2APIC mode pre-
> >> enabled by firmware, and "Auto" leaving it to the OS to select. Yet that's
> >> speculation on my part ...
> > 
> > I provided the information I had discovered.  There is a setting for this
> > motherboard (likely present on some similar motherboards) which /may/
> > effect the issue.  I doubt I've tried "compatibility", but none of the
> > values I've tried have gotten the system to boot without "x2apic=false"
> > on Xen's command-line.
> > 
> > When setting to "x2APIC" just after "(XEN) AMD-Vi: IOMMU Extended Features:"
> > I see the line "(XEN) - x2APIC".  Later is the line
> > "(XEN) x2APIC mode is already enabled by BIOS."  I'll guess "Auto"
> > leaves the x2APIC turned off since neither line is present.
> 
> When "(XEN) - x2APIC" is absent the IOMMU can't be switched into x2APIC
> mode. Are you sure that's the case when using "Auto"?

grep -eAPIC\ driver -e-\ x2APIC:

"Auto":
(XEN) Using APIC driver default
(XEN) Overriding APIC driver with bigsmp
(XEN) Switched to APIC driver x2apic_cluster

"x2APIC":
(XEN) Using APIC driver x2apic_cluster
(XEN) - x2APIC

Yes, I'm sure.

> > Both cases the line "(XEN) Switched to APIC driver x2apic_cluster" is
> > present (so perhaps "Auto" merely doesn't activate it).
> 
> Did you also try "x2apic_phys" on the Xen command line (just to be sure
> this isn't a clustered-mode only issue)?

No.  In fact x2apic_cluster is mentioned in all failure cases.

> > Appears error_interrupt() needs locking or some concurrency handling
> > mechanism since the last error is jumbled.  With the setting "x2APIC"
> > I get a bunch of:
> > "(XEN) APIC error on CPU#: 00(08)(XEN) APIC error on CPU#: 00(08)"
> > (apparently one for each core)
> > Followed by "Receive accept error, Receive accept error," (again,
> > apparently one for each core).  Then a bunch of newlines (same pattern).
> 
> This is a known issue, but since the messages shouldn't appear in the
> first place so far no-one has bothered to address this.

I won't claim it is the best solution, but see other message.

I'm tempted to propose allowing _Static_assert() since it is valuable
functionality for preventing issues.

> > With the setting "auto" the last message is a series of
> > "(XEN) CPU#: No irq handler for vector ## (IRQ -2147483648, LAPIC)" on
> > 2 different cores.  Rather more of the lines were from one core, the
> > vector value varied some.
> > 
> > Notable both sets of final error messages appeared after the Domain 0
> > kernel thought it had been operating for >30 seconds.  Lack of
> > response to interrupt generating events (pressing keys on USB keyboard)
> > suggests interrupts weren't getting through.
> > 
> > 
> > With "x2apic=false" error messages similar to the "Local APIC Mode"
> > of "x2APIC" appear >45 seconds after Domain 0 kernel start.  Of note
> > first "(XEN) APIC error on CPU#: 00(08)(XEN) APIC error on CPU#: 00(08)"
> > appears for all cores with "Receive accept error,".
> > 
> > Yet later a variation on this message starts appearing:
> > "(XEN) APIC error on CPU#: 08(08)(XEN) APIC error on CPU#: 08(08)"
> > this one appears multiple times.
> 
> That's certainly odd, as it suggests that things were okay for a short
> while.

Note, "later" means further down the log.  Upon checking this could mean
almost immediately after.  There are a total of 6 "APIC error" lines
(first with "00(08)", rest with "08(08)") and the lines with timestamps
indicate no more than 2 seconds between them.


-- 
(\___(\___(\______          --=> 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 Mar 17 17:55:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 17:55:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511207.790161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdEIr-0000eQ-Gj; Fri, 17 Mar 2023 17:55:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511207.790161; Fri, 17 Mar 2023 17: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 1pdEIr-0000eJ-DW; Fri, 17 Mar 2023 17:55:45 +0000
Received: by outflank-mailman (input) for mailman id 511207;
 Fri, 17 Mar 2023 17:55: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=UK7g=7J=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1pdEIq-0000eD-M9
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 17:55: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 ee761bf4-c4ec-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 18:55:41 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 50CD560AAD;
 Fri, 17 Mar 2023 17:55:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id B57F9C433EF;
 Fri, 17 Mar 2023 17:55:39 +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
 A17BEC43161; Fri, 17 Mar 2023 17:55: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: ee761bf4-c4ec-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679075739;
	bh=pOiJt/GdXT+g7wc43tRROZKnfISDSVnPoMPzLBoXC5E=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=SpMiI8O9VWo8E0fg4RFzJFY+Ahj/F3mOtw+HslrKnIB7N+QUFJFPr7ZkjoorHdZDy
	 +zfQC6NUZEf/P/q1DhIbxZG0eEy5n3+1hzmZDMqF1c1XWtrHuKXDKupLkBIQrFmaEJ
	 XfiDl7Nn7No9rSZNSqlGekZsqm/TL5/CRk5jEnOqurBOG3fbCQmZg/hy6LRRl3mFuf
	 kUjBNZty9QaEx5l0JXf3NG6KiLyW5nVyMK0+2yd+ulDd7wLLFWb/Siqw+wrvl8tJkv
	 jRHdHbP1+q3Tv2EonLpg43NRzovZuNs/QlYKq+IcgkIswSa1YCga+D61iEq4nxPYaA
	 1y44zJxQSY4EQ==
Subject: Re: [GIT PULL] xen: branch for v6.3-rc3
From: pr-tracker-bot@kernel.org
In-Reply-To: <20230317064023.1229-1-jgross@suse.com>
References: <20230317064023.1229-1-jgross@suse.com>
X-PR-Tracked-List-Id: <linux-kernel.vger.kernel.org>
X-PR-Tracked-Message-Id: <20230317064023.1229-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.3-rc3-tag
X-PR-Tracked-Commit-Id: 7ad2c39860dc0ca01d2152232224d2124e160fe3
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: 0eb392ec095ee29b932985deefb43e6d86d8a463
Message-Id: <167907573965.19035.6263826550490708525.pr-tracker-bot@kernel.org>
Date: Fri, 17 Mar 2023 17:55:39 +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 Fri, 17 Mar 2023 07:40:23 +0100:

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

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

Thank you!

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


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 18:11:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 18:11:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511211.790177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdEXj-0003qW-SM; Fri, 17 Mar 2023 18:11:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511211.790177; Fri, 17 Mar 2023 18:11:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdEXj-0003qP-PY; Fri, 17 Mar 2023 18:11:07 +0000
Received: by outflank-mailman (input) for mailman id 511211;
 Fri, 17 Mar 2023 18:11:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pdEXh-0003qF-VV; Fri, 17 Mar 2023 18:11:05 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pdEXh-0007xk-Sj; Fri, 17 Mar 2023 18:11:05 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pdEXh-0000z0-DB; Fri, 17 Mar 2023 18:11:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdEXh-0001Ri-Ci; Fri, 17 Mar 2023 18:11:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=fgdqcstRpTHhPdH67rHZJJ/ngW6k9+gahxszl8QdL8k=; b=unF+YbgWtEEnlJncf6s6j3truA
	dyuKyE7o8a0BsCZX8CPr2fBRRwNjd0ayYecAb65eyBDZ71clD1kr1iLv+HVCO8Hw0TBxh3fgF/zlY
	GwZpJDQmaClpRcsbWmgVLWk4Qb12aPuhcN0sPSQGhjIWaCcWLrbpJrOOCRNNFysWu61M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179706-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179706: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-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: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=5589a3e1f30ab6b9b3247b98f1a6697b0578923a
X-Osstest-Versions-That:
    libvirt=8386242bd0f6c1cb242f9c711e2ef864bf114d0d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Mar 2023 18:11:05 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              5589a3e1f30ab6b9b3247b98f1a6697b0578923a
baseline version:
 libvirt              8386242bd0f6c1cb242f9c711e2ef864bf114d0d

Last test of basis   179640  2023-03-15 04:19:43 Z    2 days
Failing since        179665  2023-03-16 04:18:51 Z    1 days    2 attempts
Testing same since   179706  2023-03-17 04:18:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jiri Denemark <jdenemar@redhat.com>
  Ján Tomko <jtomko@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Or Ozeri <oro@il.ibm.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   8386242bd0..5589a3e1f3  5589a3e1f30ab6b9b3247b98f1a6697b0578923a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 18:15:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 18:15:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511216.790189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdEcE-0004T4-G0; Fri, 17 Mar 2023 18:15:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511216.790189; Fri, 17 Mar 2023 18:15:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdEcE-0004Sx-DR; Fri, 17 Mar 2023 18:15:46 +0000
Received: by outflank-mailman (input) for mailman id 511216;
 Fri, 17 Mar 2023 18:15: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=mGfD=7J=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pdEcC-0004Sr-Li
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 18:15: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 bafdd27b-c4ef-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 19:15:43 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 7C8CBB82648;
 Fri, 17 Mar 2023 18:15:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5C53AC433D2;
 Fri, 17 Mar 2023 18:15: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: bafdd27b-c4ef-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679076941;
	bh=/qGcJtejSlTENBTI8pguwRGkxNxtJYTWTvm0WUB2KAQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ShDh5Eg98u6K3nmk+HnD8JROh9idH3OmQhFX+mhHwG6Y+29M8roSaBXiC2dO/NpEu
	 iS9qgRZRVaIRzNEn1C56UiT0PArSxGgi3pEkzUtW2MUYAJdN7HOJyb9pXp5BqEYGQR
	 g5I9tWgQ9O/14btoxXkJmu+u8DSefyrwHEiQe3LSw0OMI7RzE+epC7WbN3zi8xBUrH
	 azpfDCRG9NzX8eXN6O+zRBwAQO/rRPiq8UvJK9/dA+6Ru4XnP00E/wMyYCQIlbtsLF
	 KStXQxFBpmYEhFXnTQuInQiH9JO/quhi2LtP63sahL0pIsuiLqqQ0Fa7z0m7huLubq
	 0gaxW+Uj/70Dg==
Date: Fri, 17 Mar 2023 11:15:37 -0700 (PDT)
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: Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Huang Rui <ray.huang@amd.com>, 
    Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, 
    Alex Deucher <alexander.deucher@amd.com>, 
    =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to
 gsi
In-Reply-To: <ZBQ4DKJ8ZAroyPIQ@Air-de-Roger>
Message-ID: <alpine.DEB.2.22.394.2303171115320.3359@ubuntu-linux-20-04-desktop>
References: <20230312075455.450187-1-ray.huang@amd.com> <20230312075455.450187-7-ray.huang@amd.com> <ZBHz7PpUbKM69Xxe@Air-de-Roger> <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop> <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com>
 <ZBLg8WB8HCoZvwz5@Air-de-Roger> <df607690-0bfb-94a3-fac6-5e20f183dc20@suse.com> <alpine.DEB.2.22.394.2303161611220.3359@ubuntu-linux-20-04-desktop> <4edb59db-d2b8-122a-fc10-59001857bee0@suse.com> <ZBQ4DKJ8ZAroyPIQ@Air-de-Roger>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-25818414-1679076836=:3359"
Content-ID: <alpine.DEB.2.22.394.2303171114120.3359@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-25818414-1679076836=:3359
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2303171114121.3359@ubuntu-linux-20-04-desktop>

On Fri, 17 Mar 2023, Roger Pau Monné wrote:
> On Fri, Mar 17, 2023 at 09:39:52AM +0100, Jan Beulich wrote:
> > On 17.03.2023 00:19, Stefano Stabellini wrote:
> > > On Thu, 16 Mar 2023, Jan Beulich wrote:
> > >> So yes, it then all boils down to that Linux-
> > >> internal question.
> > > 
> > > Excellent question but we'll have to wait for Ray as he is the one with
> > > access to the hardware. But I have this data I can share in the
> > > meantime:
> > > 
> > > [    1.260378] IRQ to pin mappings:
> > > [    1.260387] IRQ1 -> 0:1
> > > [    1.260395] IRQ2 -> 0:2
> > > [    1.260403] IRQ3 -> 0:3
> > > [    1.260410] IRQ4 -> 0:4
> > > [    1.260418] IRQ5 -> 0:5
> > > [    1.260425] IRQ6 -> 0:6
> > > [    1.260432] IRQ7 -> 0:7
> > > [    1.260440] IRQ8 -> 0:8
> > > [    1.260447] IRQ9 -> 0:9
> > > [    1.260455] IRQ10 -> 0:10
> > > [    1.260462] IRQ11 -> 0:11
> > > [    1.260470] IRQ12 -> 0:12
> > > [    1.260478] IRQ13 -> 0:13
> > > [    1.260485] IRQ14 -> 0:14
> > > [    1.260493] IRQ15 -> 0:15
> > > [    1.260505] IRQ106 -> 1:8
> > > [    1.260513] IRQ112 -> 1:4
> > > [    1.260521] IRQ116 -> 1:13
> > > [    1.260529] IRQ117 -> 1:14
> > > [    1.260537] IRQ118 -> 1:15
> > > [    1.260544] .................................... done.
> > 
> > And what does Linux think are IRQs 16 ... 105? Have you compared with
> > Linux running baremetal on the same hardware?
> 
> So I have some emails from Ray from he time he was looking into this,
> and on Linux dom0 PVH dmesg there is:
> 
> [    0.065063] IOAPIC[0]: apic_id 33, version 17, address 0xfec00000, GSI 0-23
> [    0.065096] IOAPIC[1]: apic_id 34, version 17, address 0xfec01000, GSI 24-55
> 
> So it seems the vIO-APIC data provided by Xen to dom0 is at least
> consistent.
>  
> > > And I think Ray traced the point in Linux where Linux gives us an IRQ ==
> > > 112 (which is the one causing issues):
> > > 
> > > __acpi_register_gsi->
> > >         acpi_register_gsi_ioapic->
> > >                 mp_map_gsi_to_irq->
> > >                         mp_map_pin_to_irq->
> > >                                 __irq_resolve_mapping()
> > > 
> > >         if (likely(data)) {
> > >                 desc = irq_data_to_desc(data);
> > >                 if (irq)
> > >                         *irq = data->irq;
> > >                 /* this IRQ is 112, IO-APIC-34 domain */
> > >         }
> 
> 
> Could this all be a result of patch 4/5 in the Linux series ("[RFC
> PATCH 4/5] x86/xen: acpi registers gsi for xen pvh"), where a different
> __acpi_register_gsi hook is installed for PVH in order to setup GSIs
> using PHYSDEV ops instead of doing it natively from the IO-APIC?
> 
> FWIW, the introduced function in that patch
> (acpi_register_gsi_xen_pvh()) seems to unconditionally call
> acpi_register_gsi_ioapic() without checking if the GSI is already
> registered, which might lead to multiple IRQs being allocated for the
> same underlying GSI?

I understand this point and I think it needs investigating.


> As I commented there, I think that approach is wrong.  If the GSI has
> not been mapped in Xen (because dom0 hasn't unmasked the respective
> IO-APIC pin) we should add some logic in the toolstack to map it
> before attempting to bind.

But this statement confuses me. The toolstack doesn't get involved in
IRQ setup for PCI devices for HVM guests? Keep in mind that this is a
regular HVM guest creation on PVH Dom0, so normally the IRQ setup is
done by QEMU, and QEMU already calls xc_physdev_map_pirq and
xc_domain_bind_pt_pci_irq. So I don't follow your statement about "the
toolstack to map it before attempting to bind".
--8323329-25818414-1679076836=:3359--


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 19:49:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 19:49:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511221.790203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdG4A-0008Tv-5p; Fri, 17 Mar 2023 19:48:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511221.790203; Fri, 17 Mar 2023 19: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 1pdG4A-0008To-2p; Fri, 17 Mar 2023 19:48:42 +0000
Received: by outflank-mailman (input) for mailman id 511221;
 Fri, 17 Mar 2023 19:48: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=001K=7J=citrix.com=prvs=433d55c46=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pdG49-0008Ti-3u
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 19:48:41 +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 b3163607-c4fc-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 20:48:36 +0100 (CET)
Received: from mail-mw2nam12lp2049.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.49])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 17 Mar 2023 15:48:31 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN8PR03MB5011.namprd03.prod.outlook.com (2603:10b6:408:7d::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.35; Fri, 17 Mar
 2023 19:48:28 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%9]) with mapi id 15.20.6178.035; Fri, 17 Mar 2023
 19:48: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: b3163607-c4fc-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679082516;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=nKTzSAy6u3yysrhmsin5EvLYPnSIJlC7eaexZKC0ICQ=;
  b=YPIeGWqViPihlZ4+W7d+bABhZcZ9gW8ZrKZbfFVkpWRRYKlT5X4z4StK
   vzyAlgBqALP2e38PjdxUGooWShRVvikB6yk/2ve6w1PoeBCnRtRaW63g6
   rCH5XCd0S9NpDq5Ryr0RhOxJZUj87OOVr/V4uMT/Y/jziL4m8BApiBA7W
   A=;
X-IronPort-RemoteIP: 104.47.66.49
X-IronPort-MID: 101322425
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:PaCjkqIVacgCzZjhFE+Rv5UlxSXFcZb7ZxGr2PjKsXjdYENS0jVSy
 zAcWj+DM6mKazGmfY0jbYSw9UgG65CBytJmGwRlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QVhPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5uA0px8
 KwDBgsvTR+z2uTm6bGcc9Bz05FLwMnDZOvzu1lG5BSAV7MDfsqGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/RppTSCpOBy+OGF3N79YNuFSN8Thk+Fj
 mnH4374ElcRM9n3JT+tqyr13bWVwXmmMG4UPJCo+tdA2GGI/y9NCC8vRWO/ovy3tlHrDrqzL
 GRRoELCt5Ma71e3R9PwWxm5pn+svRMGXddUVeog52mlyKDZ/gKYDWgsVSNaZZots8pebSYjx
 xmJgtrvChRmtbHTQnWYnp+EoDX3NSULIGsqYS4fURBD89TluJs0jB/EUpBkCqHdptTxFCH5x
 TyHtm4yiqgYjcMR/6y+8RbMhDfEjpPJVA8u+gTeWCSm6Q5/ZYGNbomkr1Pc6J5oF5qUUVCbo
 D4kmsyS4eoUBJeBvCWITKMGG7TBz/yYKi/VhVljGIYo3zuo8n+nO4tX5VlWJEBvPcIJeGavY
 FLavwx57ZpfenCtaMdfYZ+1Cs1s36jpE9vNX/XYKNFJZ/BZVg6e/ShoI2WQ0mbFmU0g16o4P
 P+mnd2ECH8bDeFi02CwTuJEi7sznHhilCXUWIzxyAmh3fyGfnmJRLwZMVyIKOck8KeDpwaT+
 NFaXyeX9yhivCTFSnG/2eYuwZoidBDX2bieRxRrS9O+
IronPort-HdrOrdr: A9a23:LW+DR6sfgb4bwNeGwQW6dVee7skCM4Mji2hC6mlwRA09TyX4rb
 HaoB1/73SbtN9/YhEdcK+7SdW9qB/nlKKdgrNhTotKIjOW2ldARbsKheHfKlbbak7DH4BmpM
 Jdm6MXMqyOMbAT5/yX3OHSeexO/DFJmprEuc7ui05ICSVWQ+VY6QF9YzzrYHGfhmN9dOQE/F
 733Ls2m9JkE05nH/hTfUN1O9TrlpnwjZf7ZhxDLwc/gTP+9A+A2frBCh2F2RVbeC9OxLpKyx
 m5ryXJop+7tu29yFv632vehq4m/+fJ+594HcmRjcpQDCvqhh3AXvUGZ5Sy+Aotpf2p6hIRsP
 SkmWZZA+1Dr0nJe32zo1/W1xL+3C0I43vvoGXo+kfLkIjCXTcnDMgEuo5DaBve7CMbzatB7J
 4=
X-IronPort-AV: E=Sophos;i="5.98,268,1673931600"; 
   d="scan'208";a="101322425"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ArcarMqxby/tEupg2DucTf0YoG8EuMdoXpyzri3phrIxQ7A9S3VgRzgYBIb4DU1Y5V1dUcUZO8f8TfMF/PeD+SCD4kxkpNvEoaiy9Q18Tm1Ab1lXg3YfFAcw+C+Rj9qjAVPIOGY4KvaNBI/hPSAwviow0ZBqk2Expit4UAC1NPJHiWRh8eZKJNTg0te5FuDMeqRZV+TDRo6UO37Z1WQOhtJNInucyksPg7qgBTZFsNAaSmMNpV1JR11VTf3wCAEwCysXl5kXXfpmmrWhVc+rYLeM2ZgN5DZnpy5SUqi0HS+DRg7DFMHi16kJLNbzIz6pvD7GXttwF0bZHPq8PKgMBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FPlQaQdgEhmcTsnefonnlQQCxWvhOnd28khFQf5PqZ0=;
 b=mIwtem3nxiK6yz1YMpMC5MFTAoz1P108xxKE1QFVCOGEN7gCyNk07NLuOFLYUnv8DYnmVgopW5E1hbeSg157svKoPaoUfcY6LPEeDy50jFqEiMOFQyKXzAZYdTfUR1yoddx4y0vD9uIxYqQLZl9d8wEVRZU+0wzmkVIgALc5QC/UOE5iDNr37opm4iXNxjw1S/lLM5IC61GHbIQQ4DH6d/tEzU+LuSIcy3KN5jIUVfFagnQxuFgpHD+wDhAhA1V09RdH1QUSD9Y0YH72cWVd4RekxBx/o/Xxs84+6G7cL/6653cYyMqpjE3033jqC4EDGoQzJRmHTVVV9vapr/gP3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FPlQaQdgEhmcTsnefonnlQQCxWvhOnd28khFQf5PqZ0=;
 b=gI01F//y9G6baR6HkB944GPkeej5JzjuUARREWOJT/hvAvGZwgOdvfi3+cpWXF6WIWM/gDEqPMFgQOYiYnF5nIOi/YSQw+Zj88GBvGRgvbY3XkuWhUBuwna/rHZe0uW0x54oSiTaXNxLGE5kLdBEJBheZl0IqPbr/L2mnJAG+5I=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 17 Mar 2023 20:48:22 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, Huang Rui <ray.huang@amd.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Message-ID: <ZBTEBkaI8q/mrJmv@Air-de-Roger>
References: <20230312075455.450187-7-ray.huang@amd.com>
 <ZBHz7PpUbKM69Xxe@Air-de-Roger>
 <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop>
 <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com>
 <ZBLg8WB8HCoZvwz5@Air-de-Roger>
 <df607690-0bfb-94a3-fac6-5e20f183dc20@suse.com>
 <alpine.DEB.2.22.394.2303161611220.3359@ubuntu-linux-20-04-desktop>
 <4edb59db-d2b8-122a-fc10-59001857bee0@suse.com>
 <ZBQ4DKJ8ZAroyPIQ@Air-de-Roger>
 <alpine.DEB.2.22.394.2303171115320.3359@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.22.394.2303171115320.3359@ubuntu-linux-20-04-desktop>
X-ClientProxiedBy: LO4P123CA0298.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:196::15) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN8PR03MB5011:EE_
X-MS-Office365-Filtering-Correlation-Id: 9884b605-88f4-43dc-6496-08db2720941b
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9ahHsaL/+cT4NNyePx0QSJqXO2mDN6CvHruD0gI/ffWxX1u5rUHlBcYIh9XXYlWr4XBNvjws9Z/TsZPKDJ8WVrL01zet/nSKD2QQ7Jb3JpDNGSlDoN/BhFi7dwrujb02edu1aabGqhxvC+NNO10hOQ6FZy6Qrqcy3FBWvNQuNn3oAB3/yYkojhfscUWpfebt26btyS+DS06LYx57KbNTksnYDpVbphYTveJFNLbZPfyy73WMvvDJpziGyfzcYzULRWi41pxgXl+T0XQNKC/y84NExsTShLa9ysI6gB1fzewtMjKlJ7K6v/Q2kzkfTSPhT2gsJVPwEhyMkjL28mlkVLLutq728x0MRRvde3VIqMBFHygcq+SYv+Im/9/DHDc+2stNrP5FcxfQ+LPstFUceUmUDENwvEIlboHB1iNW9aHZeSDGvJIH+1Fia8Zw3JYzevJO7nbHWVJ0VFEUwVHtDNiAtjMPAN1M+/IIxo7GSwe3PE5fC1Iu+zRh3AgiDKdZ/oa5b15MztmnQjHWqfyQDPVTVnHFr5GGFBmU8efUiHMH4YrSLzQUg3PeJ0yUlegAXja6v323VH4OM7wh+0EU9oUU6cTjNfD8AySglrx/cbgc0ZXVbEMr2XI/nse7YCHVN+XxwlACKWHL7Zg0O6GvgA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(376002)(346002)(136003)(366004)(39860400002)(396003)(451199018)(6486002)(316002)(33716001)(85182001)(38100700002)(4326008)(54906003)(2906002)(66556008)(6916009)(66476007)(8676002)(66946007)(186003)(53546011)(6506007)(83380400001)(26005)(82960400001)(9686003)(478600001)(6512007)(41300700001)(7416002)(8936002)(86362001)(6666004)(5660300002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NnJ3OFV2SnpRNGtCSThubE1DTGNuQTNZc3hmWnZua3BFcHNLV0NpOWQvcHJV?=
 =?utf-8?B?NnR6d2gra3RSbE5IdUYrbGRQR3MraHVFR2c5dmM5Z2xlUWdGV0FCVVErRkpM?=
 =?utf-8?B?YzVOR3JTQUcvVEZzUStkL0RtNkRlZVpQTGpwZVBIblltN2tteEJtTlpLN1NK?=
 =?utf-8?B?Z1ZZVGdCc0hyZnA1Z1hpWHNwamtZbXNMY016TUlWU0NLSk9zWFpmU2VsdDJV?=
 =?utf-8?B?bnJJcjhnQnRqM0J3aFI3Y0hlVUR1VHY0OEt1OGpMZjFqWmdwNWZLNi9IUjJ3?=
 =?utf-8?B?T0VrWlVNZ0ExWjNjRlpoeTZTcW1BVDBkUW9uYVpwc0U2eitZWFAxSXQyTFB3?=
 =?utf-8?B?dFBuZXJaUTNJcC95aFM0VW9jUHFva01yWGM4aEFjSCtHRFM4eVlmRUdMa2Uz?=
 =?utf-8?B?cGJ4SUdwYUJXU2cyeEd0b0FNRnArRHNVd0g0VVMwTzhPTzY4Ym5sK2RsQVB0?=
 =?utf-8?B?S1Z1ODJZMUwvc1ZyK2xFbUUvcXcvTVdlYy83L1Z1U1REYlpiOG43Z3RGeWcr?=
 =?utf-8?B?a2lDQ1M0ZlRqdkYxNktkQitCaGNIa3FNY1JmWXlTN3NMZnBJUHF1MmlVRzVS?=
 =?utf-8?B?MWM4Y2NKcFZUbGdqNElKNnRLTlpubjNraGYyeVNvekFnUzNpdjI0Y0VtUzJY?=
 =?utf-8?B?K2RZS0JTN3lxNGdxWkNGSG8zYzhQcFF2b25uVndEdktGVFVyMTFPWDkyRnRw?=
 =?utf-8?B?SlhJKy9nbkFscHNQYlBHQmhHcWl3dWp3RENTRHFZNG1OSGRvSGlkN2dVcWkv?=
 =?utf-8?B?aEE0LzEwUFZ5SDFIZ0FidmV2UlZwZnI3RFBoWEszMDBiS3QyNUl1Nm9HZnZ1?=
 =?utf-8?B?bU9vazZRS0JOa3dsRDNNSlI3OVYzb0llemxNZ1JXUXpORFZna292S0xPL01E?=
 =?utf-8?B?aWI2WDlQaHN1aUJHRG9SMUd1RzM5dW51QlJWTjRJb052U0dkQjEycTlyWlpv?=
 =?utf-8?B?SVlubitqKzEyVnFvQ3ZXMkFLaEhWVXZFNmg0cmc1ZCtJVTA3UmUyMVd6VFI3?=
 =?utf-8?B?bkdKa0ZXWWN4QVE4S0FFNDE3ZkY2dVBuVWlTREZOSlBjSjhqN0EzRHI4NVB1?=
 =?utf-8?B?SWJhZ1hOMG5GU3lRQ3lGTzRoLy9ycnc1MWcvcVBrenc2Zm8yNlBucWlJWi9r?=
 =?utf-8?B?YzdCeHU2VjZEeXoxZXJCZlFNQjhLdjUzWUZFRnRVTDREQmlxcWUvSTIvN1ZT?=
 =?utf-8?B?aHdqTExmR2FMUWZ6elI0RHhreXFkcnhqeEEwalo5K0xDNmptWUZYcnJVSHNE?=
 =?utf-8?B?Qjc1Zi95azJUZ3FpT204UERzK2hCTWJ0dlk1KzNLeXRRQWc0R1l2czZJaWdr?=
 =?utf-8?B?QlMrNGVrQlNuaS91b2dYMWtIZUZaaWlWUWNqL08zSWdXZEcrZkNqVW95Mk83?=
 =?utf-8?B?ODFySnM1MzZQQzgyWm4wSCttNXVLNCt1QTNteDhUa3h6YXFXQnJNdXViK2hM?=
 =?utf-8?B?TVZpUzB2RTlPa0lrc0tRZVJGUjZoc0x6bFNwa0VjbGJiSEZTYVk0N2FRd3Nw?=
 =?utf-8?B?Rm13MGtvK3hISldROGM2eFhINktGbFhqclA2Y0hEaWZlTW1WZmNTRjA0UmJz?=
 =?utf-8?B?V0dKUUNDMWw3TStrc08rYnkwKytGbnZaYitZdHZiZDlnaFFpL0srdktkaWdG?=
 =?utf-8?B?YUxDc0ZTM3R5UG83a3hONlRycmFkVE5SNmRoaHB4SFR1M21BWU8rT0RRTEhY?=
 =?utf-8?B?bVBtSVc0UWRUMHNnMU5kZ1NtN0FiekFlaUgyZ01HY2J4WEZ1aGgyd3VnUU1p?=
 =?utf-8?B?aTkwQlBFQ0xxeDR4YXRrSTg2ajV2Y1JSbDZ0RTFGb24zREhDOTJLc1RjM2Y0?=
 =?utf-8?B?eS9YRUFBMGpkbEkwcFZJeHpSQktOS0wrQUlZTjMxRnkwQjd4MEt1aEU2d1JC?=
 =?utf-8?B?K3ZyeFBsSjlyQzR5KzVqc3N0SVJiamJrcmpqZ01sdXF5UmI0MldtUG1yMEZn?=
 =?utf-8?B?NkFxYzhDOEZjTUZpbTFDSTFsYVRGMlkxckVLTmZSK081UjVSaktnUVA3cm9p?=
 =?utf-8?B?TDhxZElUNkRlKzNSa1A0VzFwQ1pLWjdraHd4NUVpbmFXVDRiRnFnTC9YN3dX?=
 =?utf-8?B?YU5QSnlpTm43THdGZ1JWa2dhSnlkTDhXZFNmQStFVm93M2d5WGNDNEhrTk5u?=
 =?utf-8?B?elBFZWt4L2ZjS1FMTVdlWUlPeFlMOGE2K0pURkM1SDJYUUlzS2hiT1hMNXFm?=
 =?utf-8?B?b2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	q1Gw19QpKY4AXVDyFGUrF5gZM4amjE3IxGFmWwm1ehLFuN5e/XarmGkuY7onWePg/jGsj0GhIpjIDY13w8NcOsLJjiIK5lbvRM+hFkY8u6/I12rJ4Uqptp/7l41Oca+IF/A34Rap9v9MB5aUqb7D34WP4Fo7QEpeJG035erHMtpUjHDlvXpDvhjQUnGgPl00CZUyI+fy7cWoDItOT6tjLEMwFmSkOd+kMxxRmzDySCryoSCELW9s3Qe4H7ATKMPzS0TblupBdEaY54Vk57CtbNukJHML2wx9DzArdFYH9AIM3FZanGyXyORBfV4fqWyITvpDbB8EWhr/E5SIPjIHcs3KQX8Sh6KW4ErVT2tfIpEjG6yEWTgeOOaBZ9EdBDpM1eN+prThL7lyVJeCpEjITCk+ogMMn1X7J1d+p5velCJThv37RGxZLzhIbIXUMMUqS2cwVjF9r6O2xppFHDKXZsgDQ9sQYHTGhFHxRWzklG5t9ohaGPYau/3317PGmPAXUtTQkkqkDtsyJ5zW+jn/4y9Je2eSB7z7VH6jEo7/SaGeVU3tl/+iiiiPuyDo5HTSRm5VPJvf9GEbiE2qNSPJZY6BVGc/1XYALoJx3XATywAZAfBBbZ0UwfFSWzhtQZxk/nSJwtopZSHVJchWNSaFP/iQ7uEcD8mjkxSrGRRujtPxBDxyAiZ/qTCpTxZ7j7QMH87alioRb6GMPStfs4/2S8gqQscNNmNHLDDMMYLyUDJnDmTZ+Oay+Fudx1USE9aWL0ahY2bU521/niV/oyQy0q1g4QKaJNtnLUFypQLLxo+HfbhgSkxlClXzeOs6dtscQMZpkBWfa6duecMQPmntGJfOBQk0AKEseMQUY6NLUBeYJJKWgBDGCFiHUoa3nOTs
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9884b605-88f4-43dc-6496-08db2720941b
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Mar 2023 19:48:28.3481
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wYm8Z1wqViB75WxKbaLKWxGPGuCQgaumwiGfkCWHx1RVdNyX5gLt4fhKcJ40QMZveqkdi/KxCVgsaemo19MdYQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5011

On Fri, Mar 17, 2023 at 11:15:37AM -0700, Stefano Stabellini wrote:
> On Fri, 17 Mar 2023, Roger Pau Monné wrote:
> > On Fri, Mar 17, 2023 at 09:39:52AM +0100, Jan Beulich wrote:
> > > On 17.03.2023 00:19, Stefano Stabellini wrote:
> > > > On Thu, 16 Mar 2023, Jan Beulich wrote:
> > > >> So yes, it then all boils down to that Linux-
> > > >> internal question.
> > > > 
> > > > Excellent question but we'll have to wait for Ray as he is the one with
> > > > access to the hardware. But I have this data I can share in the
> > > > meantime:
> > > > 
> > > > [    1.260378] IRQ to pin mappings:
> > > > [    1.260387] IRQ1 -> 0:1
> > > > [    1.260395] IRQ2 -> 0:2
> > > > [    1.260403] IRQ3 -> 0:3
> > > > [    1.260410] IRQ4 -> 0:4
> > > > [    1.260418] IRQ5 -> 0:5
> > > > [    1.260425] IRQ6 -> 0:6
> > > > [    1.260432] IRQ7 -> 0:7
> > > > [    1.260440] IRQ8 -> 0:8
> > > > [    1.260447] IRQ9 -> 0:9
> > > > [    1.260455] IRQ10 -> 0:10
> > > > [    1.260462] IRQ11 -> 0:11
> > > > [    1.260470] IRQ12 -> 0:12
> > > > [    1.260478] IRQ13 -> 0:13
> > > > [    1.260485] IRQ14 -> 0:14
> > > > [    1.260493] IRQ15 -> 0:15
> > > > [    1.260505] IRQ106 -> 1:8
> > > > [    1.260513] IRQ112 -> 1:4
> > > > [    1.260521] IRQ116 -> 1:13
> > > > [    1.260529] IRQ117 -> 1:14
> > > > [    1.260537] IRQ118 -> 1:15
> > > > [    1.260544] .................................... done.
> > > 
> > > And what does Linux think are IRQs 16 ... 105? Have you compared with
> > > Linux running baremetal on the same hardware?
> > 
> > So I have some emails from Ray from he time he was looking into this,
> > and on Linux dom0 PVH dmesg there is:
> > 
> > [    0.065063] IOAPIC[0]: apic_id 33, version 17, address 0xfec00000, GSI 0-23
> > [    0.065096] IOAPIC[1]: apic_id 34, version 17, address 0xfec01000, GSI 24-55
> > 
> > So it seems the vIO-APIC data provided by Xen to dom0 is at least
> > consistent.
> >  
> > > > And I think Ray traced the point in Linux where Linux gives us an IRQ ==
> > > > 112 (which is the one causing issues):
> > > > 
> > > > __acpi_register_gsi->
> > > >         acpi_register_gsi_ioapic->
> > > >                 mp_map_gsi_to_irq->
> > > >                         mp_map_pin_to_irq->
> > > >                                 __irq_resolve_mapping()
> > > > 
> > > >         if (likely(data)) {
> > > >                 desc = irq_data_to_desc(data);
> > > >                 if (irq)
> > > >                         *irq = data->irq;
> > > >                 /* this IRQ is 112, IO-APIC-34 domain */
> > > >         }
> > 
> > 
> > Could this all be a result of patch 4/5 in the Linux series ("[RFC
> > PATCH 4/5] x86/xen: acpi registers gsi for xen pvh"), where a different
> > __acpi_register_gsi hook is installed for PVH in order to setup GSIs
> > using PHYSDEV ops instead of doing it natively from the IO-APIC?
> > 
> > FWIW, the introduced function in that patch
> > (acpi_register_gsi_xen_pvh()) seems to unconditionally call
> > acpi_register_gsi_ioapic() without checking if the GSI is already
> > registered, which might lead to multiple IRQs being allocated for the
> > same underlying GSI?
> 
> I understand this point and I think it needs investigating.
> 
> 
> > As I commented there, I think that approach is wrong.  If the GSI has
> > not been mapped in Xen (because dom0 hasn't unmasked the respective
> > IO-APIC pin) we should add some logic in the toolstack to map it
> > before attempting to bind.
> 
> But this statement confuses me. The toolstack doesn't get involved in
> IRQ setup for PCI devices for HVM guests?

It does for GSI interrupts AFAICT, see pci_add_dm_done() and the call
to xc_physdev_map_pirq().  I'm not sure whether that's a remnant that
cold be removed (maybe for qemu-trad only?) or it's also required by
QEMU upstream, I would have to investigate more.  It's my
understanding it's in pci_add_dm_done() where Ray was getting the
mismatched IRQ vs GSI number.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 20:20:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 20:20:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511228.790219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdGYv-0005tQ-QD; Fri, 17 Mar 2023 20:20:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511228.790219; Fri, 17 Mar 2023 20:20: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 1pdGYv-0005tJ-Mu; Fri, 17 Mar 2023 20:20:29 +0000
Received: by outflank-mailman (input) for mailman id 511228;
 Fri, 17 Mar 2023 20:20: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=FDdY=7J=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1pdGYu-0005tD-AK
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 20:20:28 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25c8c66b-c501-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 21:20:25 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32HKK1S4065890
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Fri, 17 Mar 2023 16:20:07 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32HKK1p9065889;
 Fri, 17 Mar 2023 13:20:01 -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: 25c8c66b-c501-11ed-b464-930f4c7d94ae
Message-Id: <cover.1679084101.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: Wei Liu <wl@xen.org>
Date: Fri, 17 Mar 2023 13:15:01 -0700
Subject: [PATCH v2 0/2] Fixing error_interrupt()'s messages v2
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

Using a somewhat distinct strategy with the printk().  This is two
patches, since nominally the first can work with other strategies.  I
could see them being squashed during commit to the main repository.

Elliott Mitchell (2):
  x86/APIC: include full string with error_interrupt() error messages
  x86/APIC: modify error_interrupt() to output using single printk()

 xen/arch/x86/apic.c | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@drgnwing.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 Mar 17 20:21:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 20:21:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511234.790230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdGZX-0006I8-4f; Fri, 17 Mar 2023 20:21:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511234.790230; Fri, 17 Mar 2023 20:21: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 1pdGZX-0006I1-06; Fri, 17 Mar 2023 20:21:07 +0000
Received: by outflank-mailman (input) for mailman id 511234;
 Fri, 17 Mar 2023 20:21: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=FDdY=7J=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1pdGZV-0005tD-OG
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 20:21:05 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d3f5b73-c501-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 21:21:04 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32HKKrE6065914
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Fri, 17 Mar 2023 16:20:59 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32HKKrcV065913;
 Fri, 17 Mar 2023 13:20:53 -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: 3d3f5b73-c501-11ed-b464-930f4c7d94ae
Message-Id: <b03e331fc242b4c46e2adab124c7657bc3bb1340.1679084101.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1679084101.git.ehem+xen@m5p.com>
References: <cover.1679084101.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: Wei Liu <wl@xen.org>
Date: Fri, 17 Mar 2023 12:45:41 -0700
Subject: [PATCH v2 1/2] x86/APIC: include full string with error_interrupt()
 error messages
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

Rather than adding ", " with each printf(), simply include them in the
string initially.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
 xen/arch/x86/apic.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index f71474d47d..8cfb8cd71c 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1401,14 +1401,14 @@ static void cf_check spurious_interrupt(struct cpu_user_regs *regs)
 static void cf_check error_interrupt(struct cpu_user_regs *regs)
 {
     static const char *const esr_fields[] = {
-        "Send CS error",
-        "Receive CS error",
-        "Send accept error",
-        "Receive accept error",
-        "Redirectable IPI",
-        "Send illegal vector",
-        "Received illegal vector",
-        "Illegal register address",
+        ", Send CS error",
+        ", Receive CS error",
+        ", Send accept error",
+        ", Receive accept error",
+        ", Redirectable IPI",
+        ", Send illegal vector",
+        ", Received illegal vector",
+        ", Illegal register address",
     };
     unsigned int v, v1;
     int i;
@@ -1423,7 +1423,7 @@ static void cf_check error_interrupt(struct cpu_user_regs *regs)
             smp_processor_id(), v , v1);
     for ( i = 7; i >= 0; --i )
         if ( v1 & (1 << i) )
-            printk(", %s", esr_fields[i]);
+            printk("%s", esr_fields[i]);
     printk("\n");
 }
 
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@drgnwing.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 Mar 17 20:22:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 20:22:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511253.790238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdGaM-0006yq-Br; Fri, 17 Mar 2023 20:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511253.790238; Fri, 17 Mar 2023 20: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 1pdGaM-0006yj-96; Fri, 17 Mar 2023 20:21:58 +0000
Received: by outflank-mailman (input) for mailman id 511253;
 Fri, 17 Mar 2023 20: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=FDdY=7J=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1pdGaK-0005tD-Uw
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 20:21:56 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5bbddaf7-c501-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 21:21:55 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32HKLjXI065934
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Fri, 17 Mar 2023 16:21:51 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32HKLjeT065933;
 Fri, 17 Mar 2023 13:21:45 -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: 5bbddaf7-c501-11ed-b464-930f4c7d94ae
Message-Id: <4db49e192b6829e520cf497481a51deef227b23b.1679084101.git.ehem+xen@m5p.com>
In-Reply-To: <cover.1679084101.git.ehem+xen@m5p.com>
References: <cover.1679084101.git.ehem+xen@m5p.com>
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: Wei Liu <wl@xen.org>
Date: Fri, 17 Mar 2023 12:53:32 -0700
Subject: [PATCH v2 2/2] x86/APIC: modify error_interrupt() to output using
 single printk()
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

This takes care of the issue of APIC errors tending to occur on multiple
cores at one.  In turn this tends to causes the error messages to be
merged together, making understanding them difficult.

Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>
---
 xen/arch/x86/apic.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index 8cfb8cd71c..89abd1ea51 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1410,6 +1410,7 @@ static void cf_check error_interrupt(struct cpu_user_regs *regs)
         ", Received illegal vector",
         ", Illegal register address",
     };
+    const char *entries[ARRAY_SIZE(esr_fields)];
     unsigned int v, v1;
     int i;
 
@@ -1419,12 +1420,12 @@ static void cf_check error_interrupt(struct cpu_user_regs *regs)
     v1 = apic_read(APIC_ESR);
     ack_APIC_irq();
 
-    printk(XENLOG_DEBUG "APIC error on CPU%u: %02x(%02x)",
-            smp_processor_id(), v , v1);
     for ( i = 7; i >= 0; --i )
-        if ( v1 & (1 << i) )
-            printk("%s", esr_fields[i]);
-    printk("\n");
+        entries[i] = v1 & (1 << i) ? esr_fields[i] : "";
+    printk(XENLOG_DEBUG "APIC error on CPU%u: %02x(%02x)"
+            "%s%s%s%s%s%s%s%s" "\n",
+            smp_processor_id(), v , v1, entries[0], entries[1], entries[2],
+            entries[3], entries[4], entries[5], entries[6], entries[7]);
 }
 
 /*
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |       ehem+sigmsg@drgnwing.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 Mar 17 20:55:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 20:55:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511287.790254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdH6d-0003Co-1G; Fri, 17 Mar 2023 20:55:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511287.790254; Fri, 17 Mar 2023 20:55: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 1pdH6c-0003Ch-Uo; Fri, 17 Mar 2023 20:55:18 +0000
Received: by outflank-mailman (input) for mailman id 511287;
 Fri, 17 Mar 2023 20:55: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=mGfD=7J=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pdH6c-0003CC-Ar
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 20:55: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 030db59a-c506-11ed-b464-930f4c7d94ae;
 Fri, 17 Mar 2023 21:55:14 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 659396175C;
 Fri, 17 Mar 2023 20:55:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D6FDAC433EF;
 Fri, 17 Mar 2023 20:55: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: 030db59a-c506-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679086511;
	bh=nNxX3W4zD4W0tQR3a0TlsLHP1VauIQsS79fnJNJOQcE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=pI/Oi6DMdTi0z+qOPCXOzF3S7oD8Rp4Bw7dFmBNIXz8rQY6kgHzUkT52mQhSIfiNH
	 reF0LvEnWxqM1UXjFYYvbEsjM1fTtOgIbFmwrGBNYB2l4A4rchDqY5RPfNCH0J3kdf
	 AQ4xK3XweDtdlm+8PMy/dVRZathGpM2noVOrc0kXZ2LbyTiJG0kJQtgkt4GxwbULdV
	 vwLXPKGPNideEhEAXawJZ9gJE8cfECAegIo+KOmCBxjILmYroHosdowGJrlefrHvZG
	 HSrYqCXuLVr4iI+7ufn1C0smDslqdnQxrwGEV6BnJqbI41SZVmEXIC0yajNXQB/0Sx
	 IZErcHVXI7nJQ==
Date: Fri, 17 Mar 2023 13:55:08 -0700 (PDT)
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>, 
    Jan Beulich <jbeulich@suse.com>, Huang Rui <ray.huang@amd.com>, 
    Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, 
    Alex Deucher <alexander.deucher@amd.com>, 
    =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to
 gsi
In-Reply-To: <ZBTEBkaI8q/mrJmv@Air-de-Roger>
Message-ID: <alpine.DEB.2.22.394.2303171346410.3359@ubuntu-linux-20-04-desktop>
References: <20230312075455.450187-7-ray.huang@amd.com> <ZBHz7PpUbKM69Xxe@Air-de-Roger> <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop> <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com> <ZBLg8WB8HCoZvwz5@Air-de-Roger>
 <df607690-0bfb-94a3-fac6-5e20f183dc20@suse.com> <alpine.DEB.2.22.394.2303161611220.3359@ubuntu-linux-20-04-desktop> <4edb59db-d2b8-122a-fc10-59001857bee0@suse.com> <ZBQ4DKJ8ZAroyPIQ@Air-de-Roger> <alpine.DEB.2.22.394.2303171115320.3359@ubuntu-linux-20-04-desktop>
 <ZBTEBkaI8q/mrJmv@Air-de-Roger>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-708690513-1679086511=:3359"

  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-708690513-1679086511=:3359
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 17 Mar 2023, Roger Pau Monné wrote:
> On Fri, Mar 17, 2023 at 11:15:37AM -0700, Stefano Stabellini wrote:
> > On Fri, 17 Mar 2023, Roger Pau Monné wrote:
> > > On Fri, Mar 17, 2023 at 09:39:52AM +0100, Jan Beulich wrote:
> > > > On 17.03.2023 00:19, Stefano Stabellini wrote:
> > > > > On Thu, 16 Mar 2023, Jan Beulich wrote:
> > > > >> So yes, it then all boils down to that Linux-
> > > > >> internal question.
> > > > > 
> > > > > Excellent question but we'll have to wait for Ray as he is the one with
> > > > > access to the hardware. But I have this data I can share in the
> > > > > meantime:
> > > > > 
> > > > > [    1.260378] IRQ to pin mappings:
> > > > > [    1.260387] IRQ1 -> 0:1
> > > > > [    1.260395] IRQ2 -> 0:2
> > > > > [    1.260403] IRQ3 -> 0:3
> > > > > [    1.260410] IRQ4 -> 0:4
> > > > > [    1.260418] IRQ5 -> 0:5
> > > > > [    1.260425] IRQ6 -> 0:6
> > > > > [    1.260432] IRQ7 -> 0:7
> > > > > [    1.260440] IRQ8 -> 0:8
> > > > > [    1.260447] IRQ9 -> 0:9
> > > > > [    1.260455] IRQ10 -> 0:10
> > > > > [    1.260462] IRQ11 -> 0:11
> > > > > [    1.260470] IRQ12 -> 0:12
> > > > > [    1.260478] IRQ13 -> 0:13
> > > > > [    1.260485] IRQ14 -> 0:14
> > > > > [    1.260493] IRQ15 -> 0:15
> > > > > [    1.260505] IRQ106 -> 1:8
> > > > > [    1.260513] IRQ112 -> 1:4
> > > > > [    1.260521] IRQ116 -> 1:13
> > > > > [    1.260529] IRQ117 -> 1:14
> > > > > [    1.260537] IRQ118 -> 1:15
> > > > > [    1.260544] .................................... done.
> > > > 
> > > > And what does Linux think are IRQs 16 ... 105? Have you compared with
> > > > Linux running baremetal on the same hardware?
> > > 
> > > So I have some emails from Ray from he time he was looking into this,
> > > and on Linux dom0 PVH dmesg there is:
> > > 
> > > [    0.065063] IOAPIC[0]: apic_id 33, version 17, address 0xfec00000, GSI 0-23
> > > [    0.065096] IOAPIC[1]: apic_id 34, version 17, address 0xfec01000, GSI 24-55
> > > 
> > > So it seems the vIO-APIC data provided by Xen to dom0 is at least
> > > consistent.
> > >  
> > > > > And I think Ray traced the point in Linux where Linux gives us an IRQ ==
> > > > > 112 (which is the one causing issues):
> > > > > 
> > > > > __acpi_register_gsi->
> > > > >         acpi_register_gsi_ioapic->
> > > > >                 mp_map_gsi_to_irq->
> > > > >                         mp_map_pin_to_irq->
> > > > >                                 __irq_resolve_mapping()
> > > > > 
> > > > >         if (likely(data)) {
> > > > >                 desc = irq_data_to_desc(data);
> > > > >                 if (irq)
> > > > >                         *irq = data->irq;
> > > > >                 /* this IRQ is 112, IO-APIC-34 domain */
> > > > >         }
> > > 
> > > 
> > > Could this all be a result of patch 4/5 in the Linux series ("[RFC
> > > PATCH 4/5] x86/xen: acpi registers gsi for xen pvh"), where a different
> > > __acpi_register_gsi hook is installed for PVH in order to setup GSIs
> > > using PHYSDEV ops instead of doing it natively from the IO-APIC?
> > > 
> > > FWIW, the introduced function in that patch
> > > (acpi_register_gsi_xen_pvh()) seems to unconditionally call
> > > acpi_register_gsi_ioapic() without checking if the GSI is already
> > > registered, which might lead to multiple IRQs being allocated for the
> > > same underlying GSI?
> > 
> > I understand this point and I think it needs investigating.
> > 
> > 
> > > As I commented there, I think that approach is wrong.  If the GSI has
> > > not been mapped in Xen (because dom0 hasn't unmasked the respective
> > > IO-APIC pin) we should add some logic in the toolstack to map it
> > > before attempting to bind.
> > 
> > But this statement confuses me. The toolstack doesn't get involved in
> > IRQ setup for PCI devices for HVM guests?
> 
> It does for GSI interrupts AFAICT, see pci_add_dm_done() and the call
> to xc_physdev_map_pirq().  I'm not sure whether that's a remnant that
> cold be removed (maybe for qemu-trad only?) or it's also required by
> QEMU upstream, I would have to investigate more.

You are right. I am not certain, but it seems like a mistake in the
toolstack to me. In theory, pci_add_dm_done should only be needed for PV
guests, not for HVM guests. I am not sure. But I can see the call to
xc_physdev_map_pirq you were referring to now.


> It's my understanding it's in pci_add_dm_done() where Ray was getting
> the mismatched IRQ vs GSI number.

I think the mismatch was actually caused by the xc_physdev_map_pirq call
from QEMU, which makes sense because in any case it should happen before
the same call done by pci_add_dm_done (pci_add_dm_done is called after
sending the pci passthrough QMP command to QEMU). So the first to hit
the IRQ!=GSI problem would be QEMU.
--8323329-708690513-1679086511=:3359--


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 21:00:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 21:00:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511289.790264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdHB4-00049T-Is; Fri, 17 Mar 2023 20:59:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511289.790264; Fri, 17 Mar 2023 20: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 1pdHB4-00049M-GC; Fri, 17 Mar 2023 20:59:54 +0000
Received: by outflank-mailman (input) for mailman id 511289;
 Fri, 17 Mar 2023 20:59: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 1pdHB3-00049A-M6; Fri, 17 Mar 2023 20:59: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 1pdHB3-0003Mt-Ih; Fri, 17 Mar 2023 20:59: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 1pdHB3-0002Mp-8p; Fri, 17 Mar 2023 20:59:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdHB3-0001PF-8S; Fri, 17 Mar 2023 20:59:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sLIMVEAcggKr/TLFxS/f8J407/tzCfMfzUrHVQSRCI0=; b=pdjhhdi2Nd5KlkzI6a5MOdvD3N
	ulvkqi0SLEWWC/Sx2p/4+FXMilxtgpaK0Ik96MA+0DL1wM+alND6V4GaSO43IHLJPLBpFD1uFlPJb
	tk8FCnWud/3mo5GHmVhqlD7DzxILKJIMmESj7S8Q+VzeAc3kq0sWtXEu21dUgvERrJlA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179708-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179708: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-i386-pair:xen-install/src_host:fail:heisenbug
    qemu-mainline:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-i386-freebsd10-i386:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=9636e513255362c4a329e3e5fb2c97dab3c5ce47
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Mar 2023 20:59:53 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which are failing intermittently (not blocking):
 test-amd64-i386-pair     10 xen-install/src_host fail in 179682 pass in 179708
 test-amd64-i386-pair     11 xen-install/dst_host fail in 179682 pass in 179708
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 179682 pass in 179708
 test-amd64-i386-freebsd10-i386  7 xen-install              fail pass in 179682

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                9636e513255362c4a329e3e5fb2c97dab3c5ce47
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    8 days
Failing since        179526  2023-03-10 01:53:40 Z    7 days   13 attempts
Testing same since   179682  2023-03-16 13:21:44 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Willem van de Velde <williamvdvelde@gmail.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 22:01:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 22:01:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511298.790281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdI8Z-00059i-D3; Fri, 17 Mar 2023 22:01:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511298.790281; Fri, 17 Mar 2023 22: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 1pdI8Z-00059b-9k; Fri, 17 Mar 2023 22:01:23 +0000
Received: by outflank-mailman (input) for mailman id 511298;
 Fri, 17 Mar 2023 22:01:21 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=mGfD=7J=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pdI8X-00059V-Gp
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 22:01:21 +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 3e2b19d2-c50f-11ed-87f5-c1b5be75604c;
 Fri, 17 Mar 2023 23:01:19 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id DDC3560B85;
 Fri, 17 Mar 2023 22:01:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0993BC433EF;
 Fri, 17 Mar 2023 22:01: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: 3e2b19d2-c50f-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679090476;
	bh=C8OL6KQ2Vvfa337+MsWNw9IYsB3GKP/rSoyzFSLfM/s=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=tfMPqw3prE0xAc552q9YpLjaVhasnPVT48bigjQ7oXEEywLrzPpvQOfqFCbvqQHQi
	 lJ9UxVIgc/WV1bJ7Gs2gZmdsMfDW9DP0QZ2T9KHG/Ja5MbcDvtgAWyBk9KCc9yRv++
	 F5qoYF0RnDnjzqW7IIaMv+QQh43QdE6Ha5DuVJ7HQJgDNQihIXQGJj7t62nXqy8A+h
	 xogbQpfVP8WzFd1YdauieLD7RKDCrh2JoIWYMV2erpOJ5AV+zdMM9wzw1OyAI756LO
	 QgWJdxd8LVTi/v2+1KEg6u7uqjndB51fxdbw3uVXMYEIsjGOgEpuEHhuDAHWRDZWBo
	 fyimkr1Pv04eQ==
Date: Fri, 17 Mar 2023 15:01:14 -0700 (PDT)
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 1/2] automation: build 6.1.19 kernel for x86-64 dom0
In-Reply-To: <59ced41c97daac93abe4a2794af289d59808f0ac.1679023966.git-series.marmarek@invisiblethingslab.com>
Message-ID: <alpine.DEB.2.22.394.2303171436360.3359@ubuntu-linux-20-04-desktop>
References: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com> <59ced41c97daac93abe4a2794af289d59808f0ac.1679023966.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-1776758312-1679089088=:3359"
Content-ID: <alpine.DEB.2.22.394.2303171450160.3359@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-1776758312-1679089088=:3359
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2303171450161.3359@ubuntu-linux-20-04-desktop>

On Fri, 17 Mar 2023, Marek Marczykowski-Górecki wrote:
> It will be used in tests added in subsequent patches.
> Enable config options needed for those tests.

Thanks for the patch! Looks great.

Can you also remove the old 5.10.74 Dockerfile
(automation/tests-artifacts/kernel/5.10.74.dockerfile), the
kernel-5.10.74-export job as well and replace kernel-5.10.74-export with
kernel-6.1.19-export as dependency for the qemu-alpine-x86_64-gcc test
job?

I think it makes sense to just keep kernel-6.1.19-export. I tested the
below already and it works fine.

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 2e1a6886df..f28c01fe0e 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -269,7 +269,7 @@ qemu-alpine-x86_64-gcc:
   needs:
     - alpine-3.12-gcc
     - alpine-3.12-rootfs-export
-    - kernel-5.10.74-export
+    - kernel-6.1.19-export



> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
>  automation/gitlab-ci/build.yaml                     | 11 ++++-
>  automation/tests-artifacts/kernel/6.1.19.dockerfile | 40 ++++++++++++++-
>  2 files changed, 51 insertions(+)
>  create mode 100644 automation/tests-artifacts/kernel/6.1.19.dockerfile
> 
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 38bb22d8609b..e1799d454c76 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -790,3 +790,14 @@ kernel-5.10.74-export:
>        - binaries/bzImage
>    tags:
>      - x86_64
> +
> +kernel-6.1.19-export:
> +  extends: .test-jobs-artifact-common
> +  image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:6.1.19
> +  script:
> +    - mkdir binaries && cp /bzImage binaries/bzImage
> +  artifacts:
> +    paths:
> +      - binaries/bzImage
> +  tags:
> +    - x86_64
> diff --git a/automation/tests-artifacts/kernel/6.1.19.dockerfile b/automation/tests-artifacts/kernel/6.1.19.dockerfile
> new file mode 100644
> index 000000000000..c2171555a0a6
> --- /dev/null
> +++ b/automation/tests-artifacts/kernel/6.1.19.dockerfile
> @@ -0,0 +1,40 @@
> +FROM debian:unstable
> +LABEL maintainer.name="The Xen Project" \
> +      maintainer.email="xen-devel@lists.xenproject.org"
> +
> +ENV DEBIAN_FRONTEND=noninteractive
> +ENV LINUX_VERSION=6.1.19
> +ENV USER root
> +
> +RUN mkdir /build
> +WORKDIR /build
> +
> +# build depends
> +RUN apt-get update && \
> +    apt-get --quiet --yes install \
> +        build-essential \
> +        libssl-dev \
> +        bc \
> +        curl \
> +        flex \
> +        bison \
> +        libelf-dev \
> +        && \
> +    apt-get autoremove -y && \
> +    apt-get clean && \
> +    rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
> +
> +# Build the kernel
> +RUN curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-"$LINUX_VERSION".tar.xz && \
> +    tar xvJf linux-"$LINUX_VERSION".tar.xz && \
> +    cd linux-"$LINUX_VERSION" && \
> +    make defconfig && \
> +    make xen.config && \
> +    scripts/config --enable BRIDGE && \
> +    scripts/config --enable IGC && \
> +    cp .config .config.orig && \
> +    cat .config.orig | grep XEN | grep =m |sed 's/=m/=y/g' >> .config && \
> +    make -j$(nproc) bzImage && \
> +    cp arch/x86/boot/bzImage / && \
> +    cd /build && \
> +    rm -rf linux-"$LINUX_VERSION"*
> -- 
> git-series 0.9.1
> 
--8323329-1776758312-1679089088=:3359--


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 23:10:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 23:10:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511304.790303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdJCq-0005l7-CN; Fri, 17 Mar 2023 23:09:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511304.790303; Fri, 17 Mar 2023 23:09:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdJCq-0005l0-9J; Fri, 17 Mar 2023 23:09:52 +0000
Received: by outflank-mailman (input) for mailman id 511304;
 Fri, 17 Mar 2023 23:09: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 1pdJCp-0005kq-6u; Fri, 17 Mar 2023 23:09: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 1pdJCp-00074v-5p; Fri, 17 Mar 2023 23:09: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 1pdJCo-0008G1-Rw; Fri, 17 Mar 2023 23:09:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdJCo-00048A-RS; Fri, 17 Mar 2023 23:09: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=oWqWUEoI5Z1c90QdfsiIwpmI3kquvzU+w3RpeGvPBTE=; b=yPKt9pzQqC0MxtNjcZSNK/XsGx
	ndKM1rx9p7Qw6+LMk6rYtFMfMYRy+V5cnW/J50Npu03NxSf+E+f7GoMrLxVJeafDYIDum3UmHnSkW
	9Ba5yDO5Ahk0C1d1BTUmW5B+ya5AkYiZ6FtrW0LxXbup+aLnH0CpdS4Bv3wKiTr/8Fa8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179730-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179730: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=b17a3a133b18fb41493fba7d86e9b5804ea6a8cf
X-Osstest-Versions-That:
    ovmf=410ca0ff94a42ee541dd6ceab70ea974eeb7e500
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Mar 2023 23:09:50 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 b17a3a133b18fb41493fba7d86e9b5804ea6a8cf
baseline version:
 ovmf                 410ca0ff94a42ee541dd6ceab70ea974eeb7e500

Last test of basis   179713  2023-03-17 08:15:15 Z    0 days
Testing same since   179730  2023-03-17 18:22:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Rebecca Cran <rebecca@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
   410ca0ff94..b17a3a133b  b17a3a133b18fb41493fba7d86e9b5804ea6a8cf -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 17 23:10:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Mar 2023 23:10:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511308.790313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdJDR-000727-Lg; Fri, 17 Mar 2023 23:10:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511308.790313; Fri, 17 Mar 2023 23:10:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdJDR-000720-Id; Fri, 17 Mar 2023 23:10:29 +0000
Received: by outflank-mailman (input) for mailman id 511308;
 Fri, 17 Mar 2023 23:10: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=mGfD=7J=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pdJDQ-00071e-9X
 for xen-devel@lists.xenproject.org; Fri, 17 Mar 2023 23:10: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 e6babb10-c518-11ed-87f5-c1b5be75604c;
 Sat, 18 Mar 2023 00:10:26 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 555C460BC5;
 Fri, 17 Mar 2023 23:10:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 155FEC433D2;
 Fri, 17 Mar 2023 23:10: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: e6babb10-c518-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679094624;
	bh=SqLukDe1hwOEXIule4CpVUh7Eg5/mGJw7ytqSiWyjiw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Z1Xh4v0RIGb/+aWY3fo+UEej71ut6TxwfRwJGYmDUMxt3qq+h41FKrNu2twc1taV9
	 FhqWO1byelbTIekpHe2xQyYWdMXAqbKZuLY2GhPAbnFriBX6AdEB0J9maDYtcrNLKW
	 rjJQEYMe7Fd3uIKwDBbDGLlicY9weSki0yixkYuyVDiKRxECmCq6kzvevayGGRk1Rs
	 nW5W+Njo7JXUFiv5o6fjmVQj5Lf9ivkK6W0xXrAjriRel+xXAZ4iAb5DCf3R6oMwEZ
	 CIs4j5D4Kg5Bj44x61UR1Q+z51DtEJxQehUXShWS0yhSQYDYARx7sRlEFyyrFv/7Bw
	 ox3iTdOGIQVWQ==
Date: Fri, 17 Mar 2023 16:10:22 -0700 (PDT)
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 2/2] automation: add a suspend test on an Alder Lake
 system
In-Reply-To: <aa4385f5291ebc06551414e4d8cbf7cdd3996eef.1679023966.git-series.marmarek@invisiblethingslab.com>
Message-ID: <alpine.DEB.2.22.394.2303171539520.3359@ubuntu-linux-20-04-desktop>
References: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com> <aa4385f5291ebc06551414e4d8cbf7cdd3996eef.1679023966.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-173283203-1679093789=:3359"
Content-ID: <alpine.DEB.2.22.394.2303171556470.3359@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-173283203-1679093789=:3359
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2303171556471.3359@ubuntu-linux-20-04-desktop>

On Fri, 17 Mar 2023, Marek Marczykowski-Górecki wrote:
> This is a first test using Qubes OS CI infra. The gitlab-runner has
> access to ssh-based control interface (control@thor.testnet, ssh key
> exposed to the test via ssh-agent) and pre-configured HTTP dir for boot
> files (mapped under /scratch/gitlab-runner/tftp inside the container).
> Details about the setup are described on
> https://www.qubes-os.org/news/2022/05/05/automated-os-testing-on-physical-laptops/
> 
> This test boots Xen, and try if S3 works. It runs on a ADL-based desktop
> system. The test script is based on the Xilinx one.
> 
> The machine needs newer kernel than other x86 tests run, so use 6.1.x
> kernel added in previous commit.
> 
> When building rootfs, use fakeroot to preserve device files when
> repacking rootfs archives in a non-privileged container.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

This is awesome!! Thanks Marek!


> ---
> I'm bad at naming things. Things that I could use naming suggestions:
>  - test script (qubes-x86-64-suspend.sh) - this might be okay?
>  - test template job name (.adl-x86-64)
>  - test job name (adl-suspend-x86-64-gcc)
>  - tag (qubes-hw2)

I think these names are OK. I would maybe rename the tag "qubes-hw2" to
"qubes" because so far there is only one but I am fine with qubes-hw2
also.


> For context, our CI has several machines, named test-X or hwX, each
> controlled with matching hal900X RPi (this is where gitlab-runner is).
> This test uses only one specific hw, but I plan adding few others too.
> ---
>  automation/gitlab-ci/test.yaml             |  31 ++++-
>  automation/scripts/qubes-x86-64-suspend.sh | 155 ++++++++++++++++++++++-
>  2 files changed, 186 insertions(+)
>  create mode 100755 automation/scripts/qubes-x86-64-suspend.sh
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 2e1a6886df7f..f5511dd6da70 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -15,6 +15,10 @@
>  .arm32-test-needs: &arm32-test-needs
>    - qemu-system-aarch64-6.0.0-arm32-export
>  
> +.x86-64-test-needs: &x86-64-test-needs
> +  - alpine-3.12-rootfs-export
> +  - kernel-6.1.19-export

As you know, the jobs starting with a "." are template jobs to avoid
repeating the same things over and over. .x86-64-test-needs could be
used in qemu-alpine-x86_64-gcc also.


>  .qemu-arm64:
>    extends: .test-jobs-common
>    variables:
> @@ -84,6 +88,25 @@
>    tags:
>      - xilinx
>  
> +.adl-x86-64:
> +  extends: .test-jobs-common
> +  variables:
> +    # the test controller runs on RPi4
> +    CONTAINER: alpine:3.12-arm64v8
> +    LOGFILE: smoke-test.log
> +  artifacts:
> +    paths:
> +      - smoke.serial
> +      - '*.log'
> +    when: always
> +  only:
> +    variables:
> +      - $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"

Let me know which trees should have QUBES_JOBS set to true (thus able to
start Qubes jobs.) At a minimum, I think we would want
https://gitlab.com/xen-project/xen to test "staging" and "master". I can
set QUBES_JOBS to true to https://gitlab.com/xen-project/xen if you are
OK with it.


> +  before_script:
> +    - apk --no-cache add openssh-client fakeroot

This would work but we typically try to avoid installing more packages
in the test jobs for speed and efficiency. Instead, add those packages
directly to the build container dockerfile
(automation/build/alpine/3.12-arm64v8.dockerfile), e.g.:

diff --git a/automation/build/alpine/3.12-arm64v8.dockerfile b/automation/build/alpine/3.12-arm64v8.dockerfile
index 180c978964..3f1e6a3fc6 100644
--- a/automation/build/alpine/3.12-arm64v8.dockerfile
+++ b/automation/build/alpine/3.12-arm64v8.dockerfile
@@ -41,3 +41,6 @@ RUN apk --no-cache add \
   libattr \
   libcap-ng-dev \
   pixman-dev \
+  # qubes test deps
+  openssh-client \
+  fakeroot \

But I am not sure why you need fakeroot, more questions below about it


> +  tags:
> +    - qubes-hw2
> +
>  # Test jobs
>  build-each-commit-gcc:
>    extends: .test-jobs-common
> @@ -110,6 +133,14 @@ xilinx-smoke-dom0less-arm64-gcc:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-arm64
>  
> +adl-suspend-x86-64-gcc:
> +  extends: .adl-x86-64
> +  script:
> +    - ./automation/scripts/qubes-x86-64-suspend.sh s3 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *x86-64-test-needs
> +    - alpine-3.12-gcc

This up to you, but qubes-x86-64-suspend.sh is very cool and
sophisticated and I would use it to create at least 2 jobs:
- a plain dom0 + domU boot (no suspend)
- a suspend/resume job

I am happy either way


>  qemu-smoke-dom0-arm64-gcc:
>    extends: .qemu-arm64
>    script:
> diff --git a/automation/scripts/qubes-x86-64-suspend.sh b/automation/scripts/qubes-x86-64-suspend.sh
> new file mode 100755
> index 000000000000..fc479c9faaec
> --- /dev/null
> +++ b/automation/scripts/qubes-x86-64-suspend.sh
> @@ -0,0 +1,155 @@
> +#!/bin/sh
> +
> +set -ex
> +
> +test_variant=$1
> +
> +wait_and_wakeup=
> +if [ -z "${test_variant}" ]; then
> +    passed="ping test passed"
> +    domU_check="
> +until ifconfig eth0 192.168.0.2 &> /dev/null && ping -c 10 192.168.0.1; do
> +    sleep 30
> +done
> +echo \"${passed}\"
> +"
> +elif [ "${test_variant}" = "s3" ]; then
> +    passed="suspend test passed"
> +    wait_and_wakeup="started, suspending"
> +    domU_check="
> +ifconfig eth0 192.168.0.2
> +echo domU started
> +"
> +    dom0_check="
> +until grep 'domU started' /var/log/xen/console/guest-domU.log; do
> +    sleep 1
> +done
> +echo \"${wait_and_wakeup}\"
> +set -x
> +echo deep > /sys/power/mem_sleep
> +echo mem > /sys/power/state
> +# now wait for resume
> +sleep 5
> +# get domU console content into test log
> +tail -n 100 /var/log/xen/console/guest-domU.log
> +xl list
> +xl dmesg | grep 'Finishing wakeup from ACPI S3 state' || exit 1
> +# check if domU is still alive
> +ping -c 10 192.168.0.2 || exit 1
> +echo \"${passed}\"
> +"
> +fi

Very nice!


> +# DomU
> +mkdir -p rootfs
> +cd rootfs
> +fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz

I am a bit confused about it: are you sure you need fakeroot for this?
This script is running inside a container as root already? Are you using
Docker on the RPi4 to run this job?


> +mkdir proc
> +mkdir run
> +mkdir srv
> +mkdir sys
> +rm var/run
> +echo "#!/bin/sh
> +
> +${domU_check}
> +/bin/sh" > etc/local.d/xen.start
> +chmod +x etc/local.d/xen.start
> +echo "rc_verbose=yes" >> etc/rc.conf
> +find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz

same here


> +cd ..
> +rm -rf rootfs
> +
> +# DOM0 rootfs
> +mkdir -p rootfs
> +cd rootfs
> +fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
> +mkdir boot
> +mkdir proc
> +mkdir run
> +mkdir srv
> +mkdir sys
> +rm var/run
> +cp -ar ../binaries/dist/install/* .
> +
> +echo "#!/bin/bash
> +
> +export LD_LIBRARY_PATH=/usr/local/lib
> +bash /etc/init.d/xencommons start
> +
> +brctl addbr xenbr0
> +brctl addif xenbr0 eth0
> +ifconfig eth0 up
> +ifconfig xenbr0 up
> +ifconfig xenbr0 192.168.0.1
> +
> +xl create /etc/xen/domU.cfg
> +${dom0_check}
> +" > etc/local.d/xen.start
> +chmod +x etc/local.d/xen.start
> +# just PVH for now
> +echo '
> +type = "pvh"
> +name = "domU"
> +kernel = "/boot/vmlinuz"
> +ramdisk = "/boot/initrd-domU"
> +extra = "root=/dev/ram0 console=hvc0"
> +memory = 512
> +vif = [ "bridge=xenbr0", ]
> +disk = [ ]
> +' > etc/xen/domU.cfg
> +
> +echo "rc_verbose=yes" >> etc/rc.conf
> +echo "XENCONSOLED_TRACE=all" >> etc/default/xencommons
> +echo "QEMU_XEN=/bin/false" >> etc/default/xencommons
> +mkdir -p var/log/xen/console
> +cp ../binaries/bzImage boot/vmlinuz
> +cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
> +find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
> +cd ..
> +
> +
> +TFTP=/scratch/gitlab-runner/tftp
> +
> +echo '
> +multiboot2 (http)/gitlab-ci/xen console=com1 com1=115200,8n1 loglvl=all guest_loglvl=all
> +module2 (http)/gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0
> +module2 (http)/gitlab-ci/initrd-dom0
> +' > $TFTP/grub.cfg
> +
> +cp -f binaries/xen $TFTP/xen
> +cp -f binaries/bzImage $TFTP/vmlinuz
> +cp -f binaries/dom0-rootfs.cpio.gz $TFTP/initrd-dom0
> +
> +# start logging the serial; this gives interactive console, don't close its
> +# stdin to not close it; the 'cat' is important, plain redirection would hang
> +# until somebody opens the pipe; opening and closing the pipe is used to close
> +# the console
> +mkfifo /tmp/console-stdin
> +cat /tmp/console-stdin |\
> +ssh control@thor.testnet console | tee smoke.serial &

For clarity I would add a variable just below TFTP above to store the
controller node. This will make it easier to change in the future and
also makes it easier to see that it is runner-specific detail, e.g.:

TFTP=/scratch/gitlab-runner/tftp
CONTROLLER=control@thor.testnet

then here:

ssh $CONTROLLER console | tee smoke.serial &


> +# start the system pointing at gitlab-ci predefined config
> +ssh control@thor.testnet gitlabci poweron
> +trap "ssh control@thor.testnet poweroff; : > /tmp/console-stdin" EXIT
> +
> +if [ -n "$wait_and_wakeup" ]; then
> +    # wait for suspend or a timeout
> +    timeout=120
> +    until grep "$wait_and_wakeup" smoke.serial || [ $timeout -le 0 ]; do
> +        sleep 1;
> +        : $((--timeout))
> +    done
> +    if [ $timeout -le 0 ]; then
> +        echo "ERROR: suspend timeout, aborting"
> +        exit 1
> +    fi
> +    # keep it suspended a bit, then wakeup
> +    sleep 30
> +    ssh control@thor.testnet wake
> +fi

I like this. It will shorten the duration of the test job. I am not
asking you to do anything, but I think it would be a good idea to have
all test scripts loop around like this if possible to poll for success
every second rather than wait a pre-determined amount of time, which is
usually several minutes longer than necessary.


> +# give the test time to run a bit, and then check
> +sleep 30
> +
> +(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
> +exit 0
> -- 
> git-series 0.9.1
> 
--8323329-173283203-1679093789=:3359--


From xen-devel-bounces@lists.xenproject.org Sat Mar 18 00:31:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Mar 2023 00:31:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511312.790329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdKTz-00025K-IE; Sat, 18 Mar 2023 00:31:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511312.790329; Sat, 18 Mar 2023 00:31: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 1pdKTz-00025D-F8; Sat, 18 Mar 2023 00:31:39 +0000
Received: by outflank-mailman (input) for mailman id 511312;
 Sat, 18 Mar 2023 00:31: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=EMqS=7K=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pdKTy-000257-4s
 for xen-devel@lists.xenproject.org; Sat, 18 Mar 2023 00:31:38 +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 3ccf504b-c524-11ed-87f5-c1b5be75604c;
 Sat, 18 Mar 2023 01:31:36 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0624060C8E;
 Sat, 18 Mar 2023 00:31:34 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A5DEDC433D2;
 Sat, 18 Mar 2023 00:31: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: 3ccf504b-c524-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679099493;
	bh=DBSUpqHFxRsGHOAqc/0x27DXPhRxpRQpYIOQSUw/imc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YrME8qNBHwf1Gxmu7UWYr3sR5T+hEu/K/0WBBKBPI2d1rbt15NG0r+45amqlvs39I
	 8Z/NGTyGFFQlSngcoehkJGACpinyfbLMAwcH12GuqUcVisBOjW7Gg3yqKcIVQzHlFx
	 BqOOVNy7smILe49E+0FvX73Cmj97MGLLR5kjkZwMBVnyWs4fnqjW36F/dXz+d7y0wP
	 92wHHLh3cSXo0pGnUZQZ0YAc5iU4i/nXJkqWTg95Opp7Y6iNIn66TyCgvb27oc8j8F
	 sb/Tm9BZZLZflE+jwibKSBibCUDlxIQ8HZHxaLjR8U63cTrg5+9c+7lKjOjTBt9Ovw
	 Fj4prNdT6Amxg==
Date: Fri, 17 Mar 2023 17:31:28 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Huang Rui <ray.huang@amd.com>
cc: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony PERARD <anthony.perard@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Jan Beulich <jbeulich@suse.com>, 
    Antonio Caggiano <antonio.caggiano@collabora.com>, 
    "Dr . David Alan Gilbert" <dgilbert@redhat.com>, 
    Robert Beckett <bob.beckett@collabora.com>, qemu-devel@nongnu.org, 
    xen-devel@lists.xenproject.org, Alex Deucher <alexander.deucher@amd.com>, 
    =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@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>, Xenia.Ragiadakou@amd.com
Subject: Re: [RFC QEMU PATCH 12/18] softmmu: Fix the size to map cache with
 xen for host virtual address
In-Reply-To: <20230312092244.451465-13-ray.huang@amd.com>
Message-ID: <alpine.DEB.2.22.394.2303171626541.3359@ubuntu-linux-20-04-desktop>
References: <20230312092244.451465-1-ray.huang@amd.com> <20230312092244.451465-13-ray.huang@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sun, 12 Mar 2023, Huang Rui wrote:
> The xen_map_cache function wants to pass offset and size of this memory
> block as the input parameters to map the host virtual address. However,
> block->offset is too large as 0x100000000 (4G), if we assign the size as
> block->max_length (0x110000000), the mapped host address will be out of
> block->max_length and easy to overflow.

Hi Ray,

Is this patch still required after all the other fixes?

If it is required, where is the overflow that it is trying to prevent?
Is it a failure in the hypercall mapping the memory to QEMU
(hw/i386/xen/xen-mapcache.c:xen_remap_bucket) ?


> We have to assign the size as
> (block->max_length - block->offset), then that is able to ensure the
> address will be located in legal range inside of max_length.
>
> {rcu = {next = 0x0, func = 0x0}, mr = 0x55555681b620, host = 0x0,
> colo_cache = 0x0, offset = 0x100000000, used_length = 0x110000000,
> max_length = 0x110000000, resized = 0x0, flags = 0x10, idstr = {0x78,
> 0x65, 0x6e, 0x2e, 0x72, 0x61, 0x6d, 0x0 <repeats 249 times>}, next = {
>     le_next = 0x5555568c61b0, le_prev = 0x55555681c640},
> ramblock_notifiers = {lh_first = 0x0}, fd = 0xffffffff, page_size =
> 0x1000, bmap = 0x0, receivedmap = 0x0, clear_bmap = 0x0,
> clear_bmap_shift = 0x0, postcopy_length = 0x0}
> 
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
>  softmmu/physmem.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/softmmu/physmem.c b/softmmu/physmem.c
> index 1b606a3002..1b0bb35da9 100644
> --- a/softmmu/physmem.c
> +++ b/softmmu/physmem.c
> @@ -2304,7 +2304,7 @@ void *qemu_map_ram_ptr(RAMBlock *ram_block, ram_addr_t addr)
>              return xen_map_cache(addr, 0, 0, false);
>          }
>  
> -        block->host = xen_map_cache(block->offset, block->max_length, 1, false);
> +	block->host = xen_map_cache(block->offset, block->max_length, 1, false);

Coding style: indentation is 4 spaces. In any case, this looks like a
spurious change?


>      }
>      return ramblock_ptr(block, addr);
>  }
> @@ -2337,7 +2337,8 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr,
>              return xen_map_cache(addr, *size, lock, lock);
>          }
>  
> -        block->host = xen_map_cache(block->offset, block->max_length, 1, lock);
> +	block->host = xen_map_cache(block->offset,
> +				    block->max_length - block->offset, 1, lock);
>      }
>      return ramblock_ptr(block, addr);


block->offset is the address of the beginning of the block, and
block->max_length is the size. Here the behavior is theoretically
correct: if block->host is not set (not mapped in QEMU yet), then call
xen_map_cache to map the entire block from beginning to end, setting
block->host with a pointer to the beginning of the mapped area in QEMU.
>From that point onward, ramblock_ptr() will then behave correctly.

Of course if xen_map_cache fails to map the entire region at once
because it is too large or other error, then we have a big problem.

But I think in that case this patch would still cause issues. In this
example offset (start of the ramblock) is 0x100000000, and max_length
(size of the ramblock) is 0x110000000. So with this change we are
mapping 0x110000000-0x100000000 = 0x10000000 which is only the first
256MB of the region which is more than 4GB.

What happens the next time qemu_ram_ptr_length is called for an address
above the first 256MB? It will break because block->host != NULL so the
function will behave as if the entire ramblock is mapped in QEMU while
it is not (only the first 256MB are). ramblock_ptr will return
block->host + something-more-than-256MB which is actually invalid.


I think we would need more something along this line where we fall back
to temporary mappings of a smaller region if we can't map it all at once.
MAX_SIZE would be the max size where a single mapping still succeeds,
maybe 4GB?

        if (block->offset == 0 || block->max_length > MAX_SIZE) {
            return xen_map_cache(addr, *size, lock, lock);
        }


Otherwise, maybe the error could be due to max_length being incorrect to
begin with?


From xen-devel-bounces@lists.xenproject.org Sat Mar 18 00:38:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Mar 2023 00:38:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511316.790338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdKaU-0002lh-CO; Sat, 18 Mar 2023 00:38:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511316.790338; Sat, 18 Mar 2023 00: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 1pdKaU-0002lZ-9q; Sat, 18 Mar 2023 00:38:22 +0000
Received: by outflank-mailman (input) for mailman id 511316;
 Sat, 18 Mar 2023 00:38: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=EMqS=7K=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pdKaT-0002lD-5i
 for xen-devel@lists.xenproject.org; Sat, 18 Mar 2023 00:38:21 +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 2c7c056c-c525-11ed-b464-930f4c7d94ae;
 Sat, 18 Mar 2023 01:38:17 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 61469B82743;
 Sat, 18 Mar 2023 00:38:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6EEE6C433EF;
 Sat, 18 Mar 2023 00:38: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: 2c7c056c-c525-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679099895;
	bh=fYCkolcIq5ttiT2XygvfAMF3lcbIHcilUkWWt62IQe4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=aK4J5tnFMPpgBWMwjVFaHoGcZd4X/87BeD3/foSMvyHjTdjoQe/k+kBTkoCff2FJU
	 hVkH1h7W0ihd9p6CXEGOU1sKGCk0G1PMM+kQz7U7OJ8FdTi2L8GgAZFP5YBZ3Y36Ag
	 tlWpReIwJZaQEaAw9sOG2NUTzYgSP8zuunLixqO1OK4LGZHXTY3QWjfbtjWUo8EGZ0
	 1wscwRjLEbTWG/CviQsiuB7SoHe8uF3NgvNbjWCzl02aedbmjbsCph+iCZL/y4pArJ
	 AgWUyyi63eHwpgHln/kIbiGMSH6K+/DjtKe43+7aU8OnQJAogxvE08WGVufONcwMmy
	 5OD4eU3x/oIjg==
Date: Fri, 17 Mar 2023 17:38:10 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Huang Rui <ray.huang@amd.com>
cc: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Anthony PERARD <anthony.perard@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Jan Beulich <jbeulich@suse.com>, 
    Antonio Caggiano <antonio.caggiano@collabora.com>, 
    "Dr . David Alan Gilbert" <dgilbert@redhat.com>, 
    Robert Beckett <bob.beckett@collabora.com>, qemu-devel@nongnu.org, 
    xen-devel@lists.xenproject.org, Alex Deucher <alexander.deucher@amd.com>, 
    =?UTF-8?Q?Christian_K=C3=B6nig?= <christian.koenig@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC QEMU PATCH 13/18] hw/i386/xen/xen-hvm: Introduce
 xen_ram_block_check function
In-Reply-To: <20230312092244.451465-14-ray.huang@amd.com>
Message-ID: <alpine.DEB.2.22.394.2303171735020.3359@ubuntu-linux-20-04-desktop>
References: <20230312092244.451465-1-ray.huang@amd.com> <20230312092244.451465-14-ray.huang@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Sun, 12 Mar 2023, Huang Rui wrote:
> Introduce xen_ram_block_check function to check whether current ramblock
> is xen ram memory.
> 
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
>  hw/i386/xen/xen-hvm.c | 15 +++++++++++++++
>  include/hw/xen/xen.h  |  1 +
>  2 files changed, 16 insertions(+)
> 
> diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
> index e4293d6d66..a4f12aefce 100644
> --- a/hw/i386/xen/xen-hvm.c
> +++ b/hw/i386/xen/xen-hvm.c
> @@ -32,6 +32,7 @@
>  #include "sysemu/xen.h"
>  #include "sysemu/xen-mapcache.h"
>  #include "trace.h"
> +#include "include/exec/ramblock.h"
>  
>  #include <xen/hvm/ioreq.h>
>  #include <xen/hvm/e820.h>
> @@ -1564,6 +1565,20 @@ void xen_register_framebuffer(MemoryRegion *mr)
>      framebuffer = mr;
>  }
>  
> +bool xen_ram_block_check(RAMBlock *rb)
> +{
> +	bool ret;
> +
> +	if (!rb)
> +		return false;
> +
> +	ret = (rb == ram_memory.ram_block);
> +	if (ret)
> +		rb->offset = 0;

I take that this is needed because there is a ramblock that is
ram_memory but with offset != 0?  So it would fail the block->offset ==
0 check in qemu_ram_ptr_length (which is meant to capture all accesses
to ram_memory, but failing at it)?

If so, would it be possible to just do this instead:


diff --git a/softmmu/physmem.c b/softmmu/physmem.c
index fb412a56e1..3e2640dabd 100644
--- a/softmmu/physmem.c
+++ b/softmmu/physmem.c
@@ -2149,7 +2149,7 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr,
          * because we don't want to map the entire memory in QEMU.
          * In that case just map the requested area.
          */
-        if (block->offset == 0) {
+        if (block->offset == 0 || block == ram_memory.ram_block) {
             return xen_map_cache(addr, *size, lock, lock);
         }
 


> +	return ret;
> +}
> +
>  void xen_shutdown_fatal_error(const char *fmt, ...)
>  {
>      va_list ap;
> diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h
> index afdf9c436a..99a383eb17 100644
> --- a/include/hw/xen/xen.h
> +++ b/include/hw/xen/xen.h
> @@ -31,5 +31,6 @@ qemu_irq *xen_interrupt_controller_init(void);
>  void xenstore_store_pv_console_info(int i, Chardev *chr);
>  
>  void xen_register_framebuffer(struct MemoryRegion *mr);
> +bool xen_ram_block_check(RAMBlock *rb);
>  
>  #endif /* QEMU_HW_XEN_H */
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Sat Mar 18 00:53:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Mar 2023 00:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511319.790352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdKpH-0005sS-Nr; Sat, 18 Mar 2023 00:53:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511319.790352; Sat, 18 Mar 2023 00: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 1pdKpH-0005sL-LC; Sat, 18 Mar 2023 00:53:39 +0000
Received: by outflank-mailman (input) for mailman id 511319;
 Sat, 18 Mar 2023 00: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=vRH5=7K=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pdKpF-0005sF-Sr
 for xen-devel@lists.xenproject.org; Sat, 18 Mar 2023 00:53:38 +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 4e8b2228-c527-11ed-87f5-c1b5be75604c;
 Sat, 18 Mar 2023 01:53:34 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id B791D5C0074;
 Fri, 17 Mar 2023 20:53:32 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Fri, 17 Mar 2023 20:53:32 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 17 Mar 2023 20:53:31 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e8b2228-c527-11ed-87f5-c1b5be75604c
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=
	1679100812; x=1679187212; bh=ECzM57txPj9Q7KLy1xZBRDrod5bpSSsqFaB
	FaWarXJs=; b=RM81rAYT3gJcUXrbqo0eH336JdcJnx6p/ba63pJdJTbktGZ4G3H
	WK6ZZiEP49PLCHUSrfN6n5pwO8F7p7guqWn2TKqV/vAaIkeA1DgPdtTVd6hz5qhD
	jURQ+2tH+x/nBPHtsDVkQ+m2LERrMct0aNkzZccsAohFQiKWqkPQexjBUCvO9o2w
	7mBAt+WUphWcQ3ni6S7VwaWV9seTAWCJubMIRU8OGx6VNPOc6nL4+ThFkxWbSykU
	JdHY0XDc+rXpa7TFBIh2Nc92/xUOrJZbJzUA9Q1BgsrngPxnVZZSQaDqUT8jJKaO
	kGYX6VXrjJcpc9UnU38g7lsOXAT4dJDutqg==
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=fm2; t=1679100812; x=1679187212; bh=ECzM57txPj9Q7
	KLy1xZBRDrod5bpSSsqFaBFaWarXJs=; b=rlyS/F2HXHUfCRrPbBFqjrZTANeNq
	lqZCUmY0BYz+mzygX+EtByganpNzzjAMrvQdyKKhehfE6de5cHOPBzI9nVncIeqS
	2BsLqIDzxCBzBqjLA9LhiVUcm5T0Dj39bJh5xwQasFI+XzB9VHDS6FUmYKDsy2Ve
	Hhd508TBNNJYvinN1WhMkHAIBO0nt3NkqEULxyJxdwlvsBPwLxPPUPOH7XqB36OO
	uszs9yK+N/hawMmvJrO+B8xZzDd7YDhlxWcJu188jUeVC3rRGeYVA3BiF78V7zFp
	HwTARAmec2s4ppHVgGg4v6wCTM/sz02PNegrczMs7pzJpgieEmmbb142Q==
X-ME-Sender: <xms:jAsVZCI7bV-xdWjRJEyVT5qHA50E30YrMnmq8MO-ECQXudRKjulRRw>
    <xme:jAsVZKLV8As7pMp1bXco5KSxVEeNRXnGGOO9w7YIXPmyI8xkCEHHfQjzLadLOpBFe
    Pubvzsb29Ts3g>
X-ME-Received: <xmr:jAsVZCvaMtobHvMggRjYO3nojZx9F4rznB_Fv5jUPABU8YaQVALqRqyouQ0c_sFdpPzS_lmXT9jBT9ZGGwjNe5z6_31eUORvWb4>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdeffedgvdelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgeef
    tdffudfgvdduhffgffdvhedvffeifeetieduveduledthfdvleduheelteeknecuffhomh
    grihhnpehquhgsvghsqdhoshdrohhrghdpghhithhlrggsrdgtohhmnecuvehluhhsthgv
    rhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:jAsVZHbyMEZ4cNJl9S1ift3xqzZP9bDliObwib7Gxn60uBCpeuHo4Q>
    <xmx:jAsVZJYEufGhC64CS6C3yyoWSOx7dePz-QA26XjSFqo7vukB3ca9nQ>
    <xmx:jAsVZDBUFPVUUenZN6ZD8U5LlSXF-Eo0mmOlRQjPoHjc75Ajl90f8Q>
    <xmx:jAsVZKDxkhukJ51gjbo1VbMbFCOGqtSnVxVwKrxx4YwHT3OGFG2y6w>
Feedback-ID: i1568416f:Fastmail
Date: Sat, 18 Mar 2023 01:53:28 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 2/2] automation: add a suspend test on an Alder Lake
 system
Message-ID: <ZBULiU0222GlcC1W@mail-itl>
References: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com>
 <aa4385f5291ebc06551414e4d8cbf7cdd3996eef.1679023966.git-series.marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2303171539520.3359@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="Vp6c0prIwREnWQfB"
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2303171539520.3359@ubuntu-linux-20-04-desktop>


--Vp6c0prIwREnWQfB
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sat, 18 Mar 2023 01:53:28 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 2/2] automation: add a suspend test on an Alder Lake
 system

On Fri, Mar 17, 2023 at 04:10:22PM -0700, Stefano Stabellini wrote:
> On Fri, 17 Mar 2023, Marek Marczykowski-G=C3=B3recki wrote:
> > This is a first test using Qubes OS CI infra. The gitlab-runner has
> > access to ssh-based control interface (control@thor.testnet, ssh key
> > exposed to the test via ssh-agent) and pre-configured HTTP dir for boot
> > files (mapped under /scratch/gitlab-runner/tftp inside the container).
> > Details about the setup are described on
> > https://www.qubes-os.org/news/2022/05/05/automated-os-testing-on-physic=
al-laptops/
> >=20
> > This test boots Xen, and try if S3 works. It runs on a ADL-based desktop
> > system. The test script is based on the Xilinx one.
> >=20
> > The machine needs newer kernel than other x86 tests run, so use 6.1.x
> > kernel added in previous commit.
> >=20
> > When building rootfs, use fakeroot to preserve device files when
> > repacking rootfs archives in a non-privileged container.
> >=20
> > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
>=20
> This is awesome!! Thanks Marek!
>=20
>=20
> > ---
> > I'm bad at naming things. Things that I could use naming suggestions:
> >  - test script (qubes-x86-64-suspend.sh) - this might be okay?
> >  - test template job name (.adl-x86-64)
> >  - test job name (adl-suspend-x86-64-gcc)
> >  - tag (qubes-hw2)
>=20
> I think these names are OK. I would maybe rename the tag "qubes-hw2" to
> "qubes" because so far there is only one but I am fine with qubes-hw2
> also.

I have 10 of them (and growing), so I'd like to keep tag name at least
somehow referencing which runner it uses. For example, this one is
a desktop with Alder Lake, but some other tests I may want to use a laptop
with Tiger Lake, for example. The mapping name -> hw spec isn't publicly
written down (although our openQA publishes all kind of logs from them,
so it's possible to infer this info).

> > For context, our CI has several machines, named test-X or hwX, each
> > controlled with matching hal900X RPi (this is where gitlab-runner is).
> > This test uses only one specific hw, but I plan adding few others too.
> > ---
> >  automation/gitlab-ci/test.yaml             |  31 ++++-
> >  automation/scripts/qubes-x86-64-suspend.sh | 155 +++++++++++++++++++++=
+-
> >  2 files changed, 186 insertions(+)
> >  create mode 100755 automation/scripts/qubes-x86-64-suspend.sh
> >=20
> > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test=
=2Eyaml
> > index 2e1a6886df7f..f5511dd6da70 100644
> > --- a/automation/gitlab-ci/test.yaml
> > +++ b/automation/gitlab-ci/test.yaml
> > @@ -15,6 +15,10 @@
> >  .arm32-test-needs: &arm32-test-needs
> >    - qemu-system-aarch64-6.0.0-arm32-export
> > =20
> > +.x86-64-test-needs: &x86-64-test-needs
> > +  - alpine-3.12-rootfs-export
> > +  - kernel-6.1.19-export
>=20
> As you know, the jobs starting with a "." are template jobs to avoid
> repeating the same things over and over. .x86-64-test-needs could be
> used in qemu-alpine-x86_64-gcc also.

Right, when switching all of them to 6.1 kernel, that makes sense.

> >  .qemu-arm64:
> >    extends: .test-jobs-common
> >    variables:
> > @@ -84,6 +88,25 @@
> >    tags:
> >      - xilinx
> > =20
> > +.adl-x86-64:
> > +  extends: .test-jobs-common
> > +  variables:
> > +    # the test controller runs on RPi4
> > +    CONTAINER: alpine:3.12-arm64v8
> > +    LOGFILE: smoke-test.log
> > +  artifacts:
> > +    paths:
> > +      - smoke.serial
> > +      - '*.log'
> > +    when: always
> > +  only:
> > +    variables:
> > +      - $QUBES_JOBS =3D=3D "true" && $CI_COMMIT_REF_PROTECTED =3D=3D "=
true"
>=20
> Let me know which trees should have QUBES_JOBS set to true (thus able to
> start Qubes jobs.) At a minimum, I think we would want
> https://gitlab.com/xen-project/xen to test "staging" and "master". I can
> set QUBES_JOBS to true to https://gitlab.com/xen-project/xen if you are
> OK with it.

Yes, that's perfectly okay. I'd like at least also staging-4.17, but
depending on push frequency other staging-* are probably fine too (I
very much doubt long queue would be an issue). Of course that assumes
those tests would be backported, which I'm not sure if is planned. I'm
also okay with allowing committers and/or other maintainers to use it on
demand, but preferably not all patchew branches.

BTW, if you trigger job manually via a web interface or API, you can
specify variables for just a single pipeline. And if you use that
feature, you can also make gitlab present you a bit more convenient
interface with variables listed already. See example here:
https://gitlab.com/QubesOS/qubes-continuous-integration/-/blob/main/.gitlab=
-ci.yml#L15-26
This could be useful to start only a subset of tests.

> > +  before_script:
> > +    - apk --no-cache add openssh-client fakeroot
>=20
> This would work but we typically try to avoid installing more packages
> in the test jobs for speed and efficiency.=20

Yes, I was being lazy and wanted to avoid rebuilding container (and
changing from where it's pulled) when developing the test. Sure, will
fold that into the dockerfile.

> Instead, add those packages
> directly to the build container dockerfile
> (automation/build/alpine/3.12-arm64v8.dockerfile), e.g.:
>=20
> diff --git a/automation/build/alpine/3.12-arm64v8.dockerfile b/automation=
/build/alpine/3.12-arm64v8.dockerfile
> index 180c978964..3f1e6a3fc6 100644
> --- a/automation/build/alpine/3.12-arm64v8.dockerfile
> +++ b/automation/build/alpine/3.12-arm64v8.dockerfile
> @@ -41,3 +41,6 @@ RUN apk --no-cache add \
>    libattr \
>    libcap-ng-dev \
>    pixman-dev \
> +  # qubes test deps
> +  openssh-client \
> +  fakeroot \
>=20
> But I am not sure why you need fakeroot, more questions below about it
>=20
>=20
> > +  tags:
> > +    - qubes-hw2
> > +
> >  # Test jobs
> >  build-each-commit-gcc:
> >    extends: .test-jobs-common
> > @@ -110,6 +133,14 @@ xilinx-smoke-dom0less-arm64-gcc:
> >      - *arm64-test-needs
> >      - alpine-3.12-gcc-arm64
> > =20
> > +adl-suspend-x86-64-gcc:
> > +  extends: .adl-x86-64
> > +  script:
> > +    - ./automation/scripts/qubes-x86-64-suspend.sh s3 2>&1 | tee ${LOG=
FILE}
> > +  needs:
> > +    - *x86-64-test-needs
> > +    - alpine-3.12-gcc
>=20
> This up to you, but qubes-x86-64-suspend.sh is very cool and
> sophisticated and I would use it to create at least 2 jobs:
> - a plain dom0 + domU boot (no suspend)
> - a suspend/resume job

Indeed both tests are implemented there already, just a matter of
creating another job with a different parameter.

But then, the script name isn't really accurate. qubes-x86-64.sh then?
FWIW, next tests I'm planning to contribute:
 - PCI passthrough to HVM with qemu in dom0
 - linux stubdomain
 - PCI passthrough with linux stubdomain

And possibly some of the above exercising other systems, maybe something
on AMD (currently only one runner is on AMD, Ryzen 5 4500U specifically,
and is rather busy because of that, but we can try).

I'm not sure yet if putting them all in a single script is a smart idea.
On the other hand, quite a bit of boilerplate would be duplicated
otherwise.

> I am happy either way
>=20
>=20
> >  qemu-smoke-dom0-arm64-gcc:
> >    extends: .qemu-arm64
> >    script:
> > diff --git a/automation/scripts/qubes-x86-64-suspend.sh b/automation/sc=
ripts/qubes-x86-64-suspend.sh
> > new file mode 100755
> > index 000000000000..fc479c9faaec
> > --- /dev/null
> > +++ b/automation/scripts/qubes-x86-64-suspend.sh
> > @@ -0,0 +1,155 @@
> > +#!/bin/sh
> > +
> > +set -ex
> > +
> > +test_variant=3D$1
> > +
> > +wait_and_wakeup=3D
> > +if [ -z "${test_variant}" ]; then
> > +    passed=3D"ping test passed"
> > +    domU_check=3D"
> > +until ifconfig eth0 192.168.0.2 &> /dev/null && ping -c 10 192.168.0.1=
; do
> > +    sleep 30
> > +done
> > +echo \"${passed}\"
> > +"
> > +elif [ "${test_variant}" =3D "s3" ]; then
> > +    passed=3D"suspend test passed"
> > +    wait_and_wakeup=3D"started, suspending"
> > +    domU_check=3D"
> > +ifconfig eth0 192.168.0.2
> > +echo domU started
> > +"
> > +    dom0_check=3D"
> > +until grep 'domU started' /var/log/xen/console/guest-domU.log; do
> > +    sleep 1
> > +done
> > +echo \"${wait_and_wakeup}\"
> > +set -x
> > +echo deep > /sys/power/mem_sleep
> > +echo mem > /sys/power/state
> > +# now wait for resume
> > +sleep 5
> > +# get domU console content into test log
> > +tail -n 100 /var/log/xen/console/guest-domU.log
> > +xl list
> > +xl dmesg | grep 'Finishing wakeup from ACPI S3 state' || exit 1
> > +# check if domU is still alive
> > +ping -c 10 192.168.0.2 || exit 1
> > +echo \"${passed}\"
> > +"
> > +fi
>=20
> Very nice!
>=20
>=20
> > +# DomU
> > +mkdir -p rootfs
> > +cd rootfs
> > +fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
>=20
> I am a bit confused about it: are you sure you need fakeroot for this?
> This script is running inside a container as root already? Are you using
> Docker on the RPi4 to run this job?

This is running in a rootless podman container. But even with docker,
for device files to work (see commit message) it would need to run
privileged container, which I'd like to avoid.

> > +mkdir proc
> > +mkdir run
> > +mkdir srv
> > +mkdir sys
> > +rm var/run
> > +echo "#!/bin/sh
> > +
> > +${domU_check}
> > +/bin/sh" > etc/local.d/xen.start
> > +chmod +x etc/local.d/xen.start
> > +echo "rc_verbose=3Dyes" >> etc/rc.conf
> > +find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../bina=
ries/domU-rootfs.cpio.gz
>=20
> same here

Same answer :)

Specifically it's required to preserve dev/null, dev/console etc.

> > +cd ..
> > +rm -rf rootfs
> > +
> > +# DOM0 rootfs
> > +mkdir -p rootfs
> > +cd rootfs
> > +fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
> > +mkdir boot
> > +mkdir proc
> > +mkdir run
> > +mkdir srv
> > +mkdir sys
> > +rm var/run
> > +cp -ar ../binaries/dist/install/* .
> > +
> > +echo "#!/bin/bash
> > +
> > +export LD_LIBRARY_PATH=3D/usr/local/lib
> > +bash /etc/init.d/xencommons start
> > +
> > +brctl addbr xenbr0
> > +brctl addif xenbr0 eth0
> > +ifconfig eth0 up
> > +ifconfig xenbr0 up
> > +ifconfig xenbr0 192.168.0.1
> > +
> > +xl create /etc/xen/domU.cfg
> > +${dom0_check}
> > +" > etc/local.d/xen.start
> > +chmod +x etc/local.d/xen.start
> > +# just PVH for now
> > +echo '
> > +type =3D "pvh"
> > +name =3D "domU"
> > +kernel =3D "/boot/vmlinuz"
> > +ramdisk =3D "/boot/initrd-domU"
> > +extra =3D "root=3D/dev/ram0 console=3Dhvc0"
> > +memory =3D 512
> > +vif =3D [ "bridge=3Dxenbr0", ]
> > +disk =3D [ ]
> > +' > etc/xen/domU.cfg
> > +
> > +echo "rc_verbose=3Dyes" >> etc/rc.conf
> > +echo "XENCONSOLED_TRACE=3Dall" >> etc/default/xencommons
> > +echo "QEMU_XEN=3D/bin/false" >> etc/default/xencommons
> > +mkdir -p var/log/xen/console
> > +cp ../binaries/bzImage boot/vmlinuz
> > +cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
> > +find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../bina=
ries/dom0-rootfs.cpio.gz
> > +cd ..
> > +
> > +
> > +TFTP=3D/scratch/gitlab-runner/tftp
> > +
> > +echo '
> > +multiboot2 (http)/gitlab-ci/xen console=3Dcom1 com1=3D115200,8n1 loglv=
l=3Dall guest_loglvl=3Dall
> > +module2 (http)/gitlab-ci/vmlinuz console=3Dhvc0 root=3D/dev/ram0
> > +module2 (http)/gitlab-ci/initrd-dom0
> > +' > $TFTP/grub.cfg
> > +
> > +cp -f binaries/xen $TFTP/xen
> > +cp -f binaries/bzImage $TFTP/vmlinuz
> > +cp -f binaries/dom0-rootfs.cpio.gz $TFTP/initrd-dom0
> > +
> > +# start logging the serial; this gives interactive console, don't clos=
e its
> > +# stdin to not close it; the 'cat' is important, plain redirection wou=
ld hang
> > +# until somebody opens the pipe; opening and closing the pipe is used =
to close
> > +# the console
> > +mkfifo /tmp/console-stdin
> > +cat /tmp/console-stdin |\
> > +ssh control@thor.testnet console | tee smoke.serial &
>=20
> For clarity I would add a variable just below TFTP above to store the
> controller node. This will make it easier to change in the future and
> also makes it easier to see that it is runner-specific detail, e.g.:
>=20
> TFTP=3D/scratch/gitlab-runner/tftp
> CONTROLLER=3Dcontrol@thor.testnet
>=20
> then here:
>=20
> ssh $CONTROLLER console | tee smoke.serial &

Ok.

> > +# start the system pointing at gitlab-ci predefined config
> > +ssh control@thor.testnet gitlabci poweron
> > +trap "ssh control@thor.testnet poweroff; : > /tmp/console-stdin" EXIT
> > +
> > +if [ -n "$wait_and_wakeup" ]; then
> > +    # wait for suspend or a timeout
> > +    timeout=3D120
> > +    until grep "$wait_and_wakeup" smoke.serial || [ $timeout -le 0 ]; =
do
> > +        sleep 1;
> > +        : $((--timeout))
> > +    done
> > +    if [ $timeout -le 0 ]; then
> > +        echo "ERROR: suspend timeout, aborting"
> > +        exit 1
> > +    fi
> > +    # keep it suspended a bit, then wakeup
> > +    sleep 30
> > +    ssh control@thor.testnet wake
> > +fi
>=20
> I like this. It will shorten the duration of the test job. I am not
> asking you to do anything, but I think it would be a good idea to have
> all test scripts loop around like this if possible to poll for success
> every second rather than wait a pre-determined amount of time, which is
> usually several minutes longer than necessary.
>=20
>=20
> > +# give the test time to run a bit, and then check
> > +sleep 30
> > +
> > +(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}=
" smoke.serial) || exit 1
> > +exit 0
> > --=20
> > git-series 0.9.1
> >=20


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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQVC4kACgkQ24/THMrX
1yyz3gf9HneZdiFq0jpqMckXzDwNE3XXZZGJMoPZ9MXpTM3gqbHleTCzp6YNadeM
hZ1nilU1KMDGWQRCsexc42mJZAzPuShUlNnCH66LTH4mXA4cx0bQQA1VFOnBZafO
cVBbp5EZ0FJ4wUWfmM4I7RQeKhQCI+feuzhojpVYM0jXpz0xoLqHrJ53OCB8c2cF
ZxjOoIt/ui4J8YI17QgnkXxvLdGmGE7yGd60VvEd7hPsrvcwppRSMxlQX6+WXo30
3GuyWY6PbpF/SKJeFlFC03T3YQ/K1JRjsEZ9mdM23MY/EInYU34p2RvD+Gk/tfcT
Lz3kwAKwTidsB6OQdjkiS7tPfxIfnQ==
=RXpm
-----END PGP SIGNATURE-----

--Vp6c0prIwREnWQfB--


From xen-devel-bounces@lists.xenproject.org Sat Mar 18 02:48:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Mar 2023 02:48:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511338.790383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdMcO-00033H-3f; Sat, 18 Mar 2023 02:48:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511338.790383; Sat, 18 Mar 2023 02:48:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdMcN-000339-Ug; Sat, 18 Mar 2023 02:48:27 +0000
Received: by outflank-mailman (input) for mailman id 511338;
 Sat, 18 Mar 2023 02:48: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 1pdMcM-00032z-IK; Sat, 18 Mar 2023 02:48: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 1pdMcM-0003CL-EY; Sat, 18 Mar 2023 02:48: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 1pdMcM-0008TM-16; Sat, 18 Mar 2023 02:48:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdMcM-0004rZ-0f; Sat, 18 Mar 2023 02:48: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=qupD9XC2PcEKD1rs086LVLF2do6KaQIbMmo597NWX/U=; b=DzMYfmPhHAqRAT6sCffr6+UUeS
	yViwevPqmPF3RF3d68Guk2lS0SmKVjZfc313AIkQ841Q6E6gR1ew2xHRZ/FEe65qu2tiUjzeRleEU
	jId+8k5KYSt60IRONARzuXnBBoBovAwxGslC4R9CP7xEr51sYlfFbMwThzMve+4oIT9M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179717-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179717: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-examine-uefi:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-vhd: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-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-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-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-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd: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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=36e49fc8cbad21a4308b4701caaa685ef04e120b
X-Osstest-Versions-That:
    xen=36e49fc8cbad21a4308b4701caaa685ef04e120b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 18 Mar 2023 02:48:26 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-debianhvm-amd64 7 xen-install fail in 179697 pass in 179717
 test-amd64-i386-examine-uefi  6 xen-install                fail pass in 179697
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 179697
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat  fail pass in 179697

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179697
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179697
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179697
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179697
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179697
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179697
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179697
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179697
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179697
 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-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  36e49fc8cbad21a4308b4701caaa685ef04e120b
baseline version:
 xen                  36e49fc8cbad21a4308b4701caaa685ef04e120b

Last test of basis   179717  2023-03-17 11:14:24 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 fail    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 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 Mar 18 06:41:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Mar 2023 06:41:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511361.790422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdQFc-0000dj-3o; Sat, 18 Mar 2023 06:41:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511361.790422; Sat, 18 Mar 2023 06: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 1pdQFc-0000dc-11; Sat, 18 Mar 2023 06:41:12 +0000
Received: by outflank-mailman (input) for mailman id 511361;
 Sat, 18 Mar 2023 06:41:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pdQFa-0000dS-AO; Sat, 18 Mar 2023 06:41: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 1pdQFZ-0000k2-Hy; Sat, 18 Mar 2023 06:41:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pdQFZ-0001B9-27; Sat, 18 Mar 2023 06:41:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdQFZ-0004Rt-1f; Sat, 18 Mar 2023 06:41:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=K9ynj9TlIjJZlubmH1WADSiGnfbj5gxwyVO2ifVmB/s=; b=bG3lIDb/IrkUwXWYw2jEcTheE+
	AWbodFBAUlojnRdAdF6OatAhUMl3+BTgxBAyQyY6PsCnVzzGYpzdlzJoM8joFdt1jJVf+T1W2Qn+r
	syxgRAU5tZmswEtVzZG7hHoZfsD1dFy+RCMCVgi7tERVMketPJSdL91eih0vOoa00ygg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179725-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 179725: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:regression
    linux-5.4:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    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-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-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-arm64-arm64-libvirt-raw:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-examine:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:build-check(1):starved:nonblocking
    linux-5.4:test-arm64-arm64-xl:build-check(1):starved:nonblocking
    linux-5.4:build-arm64-pvops:hosts-allocate:starved:nonblocking
    linux-5.4:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-5.4:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=e4b5c766f50525d84754cfdf0e4edef1db9622c0
X-Osstest-Versions-That:
    linux=b829e8b6e1a7bb8cd3042b927113a22fed0b0d47
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 18 Mar 2023 06:41:09 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2   21 guest-start/debian.repeat fail REGR. vs. 179598

Tests which are failing intermittently (not blocking):
 test-amd64-i386-pair         11 xen-install/dst_host       fail pass in 179711
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat  fail pass in 179711

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179598
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179598
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179598
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179598
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179598
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179598
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179598
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179598
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179598
 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-amd64-libvirt     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-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-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-arm64-arm64-libvirt-raw  1 build-check(1)           starved in 179711 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           starved in 179711 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           starved in 179711 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           starved in 179711 n/a
 test-arm64-arm64-examine      1 build-check(1)           starved in 179711 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           starved in 179711 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           starved in 179711 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           starved in 179711 n/a
 test-arm64-arm64-xl           1 build-check(1)           starved in 179711 n/a
 build-arm64-pvops             2 hosts-allocate           starved in 179711 n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                e4b5c766f50525d84754cfdf0e4edef1db9622c0
baseline version:
 linux                b829e8b6e1a7bb8cd3042b927113a22fed0b0d47

Last test of basis   179598  2023-03-13 09:42:37 Z    4 days
Testing same since   179711  2023-03-17 07:42:06 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Al Viro <viro@zeniv.linux.org.uk>
  Alex Deucher <alexander.deucher@amd.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Alvaro Karsz <alvaro.karsz@solid-run.com>
  Amir Goldstein <amir73il@gmail.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Andrew Morton <akpm@linux-foundation.org>
  Ashok Raj <ashok.raj@intel.com>
  Bart Van Assche <bvanassche@acm.org>
  Bixuan Cui <cuibixuan@huawei.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Chandrakanth Patil <chandrakanth.patil@broadcom.com>
  Chris Paterson (CIP) <chris.paterson2@renesas.com>
  Corey Minyard <cminyard@mvista.com>
  D. Wythe <alibuda@linux.alibaba.com>
  Darrick J. Wong <djwong@kernel.org>
  David S. Miller <davem@davemloft.net>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Edward Humes <aurxenon@lunos.org>
  Eric Dumazet <edumazet@google.com>
  Eric Whitney <enwlinux@gmail.com>
  Fedor Pchelkin <pchelkin@ispras.ru>
  Florian Fainelli <f.fainelli@gmail.com>
  Florian Westphal <fw@strlen.de>
  Gavrilov Ilia <Ilia.Gavrilov@infotecs.ru>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  H.J. Lu <hjl.tools@gmail.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Harry Wentland <harry.wentland@amd.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Ilia.Gavrilov <Ilia.Gavrilov@infotecs.ru>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Jens Axboe <axboe@kernel.dk>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  John Harrison <John.C.Harrison@Intel.com>
  John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
  Jouni Högander <jouni.hogander@intel.com>
  Kang Chen <void0red@gmail.com>
  Kim Phillips <kim.phillips@amd.com>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Lee Jones <lee.jones@linaro.org>
  Liguang Zhang <zhangliguang@linux.alibaba.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenz Bauer <lmb@isovalent.com>
  Lorenz Bauer <lorenz.bauer@isovalent.com>
  Lu Baolu <baolu.lu@linux.intel.com>
  Marc Zyngier <maz@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Martin KaFai Lau <martin.lau@kernel.org>
  Masahiro Yamada <masahiroy@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Chan <michael.chan@broadcom.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Nathan Chancellor <nathan@kernel.org>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Paul Elder <paul.elder@ideasonboard.com>
  Richard Weinberger <richard@nod.at>
  Rob Clark <robdclark@chromium.org>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Sasha Levin <sashal@kernel.org>
  SeongJae Park <sj@kernel.org>
  Shigeru Yoshida <syoshida@redhat.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Stefan Haberland <sth@linux.ibm.com>
  Steve French <stfrench@microsoft.com>
  Sumit Saxena <sumit.saxena@broadcom.com>
  Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Tom Saeger <tom.saeger@oracle.com>
  Vasant Hegde <vasant.hegde@amd.com>
  Volker Lendecke <vl@samba.org>
  xurui <xurui@kylinos.cn>
  Ye Bin <yebin10@huawei.com>
  Yejune Deng <yejune.deng@gmail.com>
  Yuiko Oshino <yuiko.oshino@microchip.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Mar 18 11:16:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Mar 2023 11:16:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511387.790448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdUYB-0001uj-4b; Sat, 18 Mar 2023 11:16:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511387.790448; Sat, 18 Mar 2023 11: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 1pdUYB-0001uc-1f; Sat, 18 Mar 2023 11:16:39 +0000
Received: by outflank-mailman (input) for mailman id 511387;
 Sat, 18 Mar 2023 11:16: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 1pdUY9-0001uS-OM; Sat, 18 Mar 2023 11:16: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 1pdUY9-0007Tj-Fv; Sat, 18 Mar 2023 11:16: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 1pdUY8-0008HW-By; Sat, 18 Mar 2023 11:16:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdUY8-00086G-BR; Sat, 18 Mar 2023 11:16: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=rLbfaRUwQtKdfdKdbg77BMMMtLn3sSYG4kB4VFvCupQ=; b=7AnflEbDV2iUwhgWzZ8jXXg/21
	Heu1PfFCJdlOD6uNzro4BVwj06ZJPc59eKLphlFSwhxkMpqznwqRzcfMQ0IFr5kFXNddBssHactBw
	E/Kvm3lK5ghVyEna+kwjczWqavzF8eGWzxLtLwNDW54AD0SxAtYaRCQSDg8Srb8sVnxs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179727-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179727: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:nested-setup:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt:guest-saverestore.2:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore.2:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm: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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=38e04b3e4240a6d8fb43129ebad41608db64bc6f
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 18 Mar 2023 11:16:36 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 16 guest-saverestore    fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 17 guest-saverestore     fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt    20 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 13 nested-setup        fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1 19 guest-saverestore.2 fail in 179702 REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10 fail in 179702 REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 26 guest-migrate/src_host/dst_host fail in 179702 REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2 fail in 179702 REGR. vs. 178042
 test-arm64-arm64-xl-xsm      17 guest-stop     fail in 179702 REGR. vs. 178042
 test-arm64-arm64-xl 18 guest-start/debian.repeat fail in 179702 REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail in 179702 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-freebsd12-amd64 13 guest-start  fail in 179702 pass in 179727
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 179702 pass in 179727
 test-amd64-amd64-libvirt  18 guest-saverestore.2 fail in 179702 pass in 179727
 test-arm64-arm64-xl-credit2  14 guest-start      fail in 179702 pass in 179727
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install fail in 179702 pass in 179727
 test-amd64-amd64-xl-pvshim   14 guest-start      fail in 179702 pass in 179727
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start   fail in 179702 pass in 179727
 test-amd64-amd64-xl-credit1  17 guest-saverestore          fail pass in 179702
 test-amd64-amd64-libvirt-xsm 14 guest-start                fail pass in 179702
 test-amd64-amd64-libvirt-pair 25 guest-start/debian        fail pass in 179702
 test-amd64-amd64-xl-credit2  19 guest-saverestore.2        fail pass in 179702
 test-arm64-arm64-xl-xsm      14 guest-start                fail pass in 179702
 test-arm64-arm64-xl          14 guest-start                fail pass in 179702
 test-amd64-amd64-xl-multivcpu 14 guest-start               fail pass in 179702

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     18 guest-localmigrate       fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check fail in 179702 never pass
 test-arm64-arm64-xl         15 migrate-support-check fail in 179702 never pass
 test-arm64-arm64-xl     16 saverestore-support-check fail in 179702 never pass
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 179702 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 179702 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                38e04b3e4240a6d8fb43129ebad41608db64bc6f
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   24 days
Failing since        178093  2023-02-22 05:02:47 Z   24 days   46 attempts
Testing same since   179702  2023-03-17 01:42:42 Z    1 days    2 attempts

------------------------------------------------------------
2126 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Mar 18 14:12:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Mar 2023 14:12:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511418.790476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdXHt-0007uc-Py; Sat, 18 Mar 2023 14:12:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511418.790476; Sat, 18 Mar 2023 14:12:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdXHt-0007uV-Mm; Sat, 18 Mar 2023 14:12:01 +0000
Received: by outflank-mailman (input) for mailman id 511418;
 Sat, 18 Mar 2023 14:12: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 1pdXHs-0007uL-DF; Sat, 18 Mar 2023 14:12: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 1pdXHs-00038q-9A; Sat, 18 Mar 2023 14:12: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 1pdXHs-0005Ce-0u; Sat, 18 Mar 2023 14:12:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdXHr-0003fJ-Vh; Sat, 18 Mar 2023 14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ky0ljrwiI+42I6jlmN7UmNWTfZh76/8LApTxmNu61r4=; b=D0YVrhO27JTDa5NwqnAmkOZeH3
	RgPpqYE15vE2apT6Wb7Xh0VlVPWnx1RaZw0VcjugIQZvFWhC02pJ7qvZFwK13bY0J7AvlcV23x/5j
	ZdWF2Vf1+n2HJpiFYfjIamalL8yobqMNTm+qHl/292hXQdPKjSbQCFwKo+YBIxx3Awgo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179733-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179733: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-freebsd10-amd64:xen-install:fail:regression
    qemu-mainline:test-amd64-i386-freebsd10-i386:xen-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=74c581b6452394e591f13beba9fea2ec0688e2f5
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 18 Mar 2023 14:11:59 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-freebsd10-amd64  7 xen-install           fail REGR. vs. 179518
 test-amd64-i386-freebsd10-i386  7 xen-install            fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                74c581b6452394e591f13beba9fea2ec0688e2f5
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    9 days
Failing since        179526  2023-03-10 01:53:40 Z    8 days   14 attempts
Testing same since   179733  2023-03-17 21:10:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Steve Sistare <steven.sistare@oracle.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Wei Wang <wei.w.wang@intel.com>
  Willem van de Velde <williamvdvelde@gmail.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              fail    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-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-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               fail    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sat Mar 18 20:52:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Mar 2023 20:52:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511488.790522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pddXW-0006EY-95; Sat, 18 Mar 2023 20:52:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511488.790522; Sat, 18 Mar 2023 20:52: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 1pddXW-0006ER-4p; Sat, 18 Mar 2023 20:52:34 +0000
Received: by outflank-mailman (input) for mailman id 511488;
 Sat, 18 Mar 2023 20:52: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 1pddXU-0006E1-I2; Sat, 18 Mar 2023 20:52: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 1pddXU-0004Hk-Ea; Sat, 18 Mar 2023 20:52: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 1pddXU-0002U7-6M; Sat, 18 Mar 2023 20:52:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pddXU-0000nV-5z; Sat, 18 Mar 2023 20: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=+VMJbGkipT8wFK3fuhPe6r2SAQZId79CPmURdcALs4k=; b=dq0jM3mcIYLYkFldpdcEEBuceB
	nvtyq5fObmaqaMshjkinWN6DaJ/H9C/SCnuvtulhHWTBjZIc1NYbRxSbuWk5kT9mY3E3FoyiYYKIc
	CzySjZQGFKiBfNdwZHTstX02pYzWEKcukSfsLcPR8Ixz7AoU0V6CJF37rARcltVdWxIs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179746-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179746: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-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: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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=27d8bcc337c45f08af56211deccf8f77d9561888
X-Osstest-Versions-That:
    libvirt=5589a3e1f30ab6b9b3247b98f1a6697b0578923a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 18 Mar 2023 20:52:32 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              27d8bcc337c45f08af56211deccf8f77d9561888
baseline version:
 libvirt              5589a3e1f30ab6b9b3247b98f1a6697b0578923a

Last test of basis   179706  2023-03-17 04:18:50 Z    1 days
Testing same since   179746  2023-03-18 04:30:36 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrange <berrange@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Jan Tomko <jtomko@redhat.com>
  Jiri Denemark <jdenemar@redhat.com>
  Ján Tomko <jtomko@redhat.com>
  Ludek Janda <ljanda@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   5589a3e1f3..27d8bcc337  27d8bcc337c45f08af56211deccf8f77d9561888 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Mar 18 21:37:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Mar 2023 21:37:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511504.790574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdeEh-0003ZR-6U; Sat, 18 Mar 2023 21:37:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511504.790574; Sat, 18 Mar 2023 21:37: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 1pdeEh-0003ZK-1x; Sat, 18 Mar 2023 21:37:11 +0000
Received: by outflank-mailman (input) for mailman id 511504;
 Sat, 18 Mar 2023 21:37:10 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pdeEg-0003ZA-9t; Sat, 18 Mar 2023 21:37:10 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pdeEg-0005Cr-6h; Sat, 18 Mar 2023 21:37:10 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pdeEf-0003W2-RX; Sat, 18 Mar 2023 21:37:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdeEf-0000cD-R3; Sat, 18 Mar 2023 21:37: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=+gre5w1Zk7U0IK190ZoHgOhSs3fe/H66FgBrRmawobE=; b=BjaKOxrPhwNBnEEzgOH7k6PgPF
	YW2Pkuzt8WQyrmcXLEuTx/ymQfULKHuSTpzpKGO5LvfHJpMked5c0PRUKdq5vgJabV//KAqG0Ccdk
	q1ycaDFpOPy//Or/DbtMFPqFbG6cTV8DMRdjpmsCCQatA3WANKDvhjsr2UxrpwHlYg0A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179742-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179742: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-examine-uefi:xen-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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd: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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=9bf21fcaef07f68ab52d0382ff554616a1cf66d8
X-Osstest-Versions-That:
    xen=36e49fc8cbad21a4308b4701caaa685ef04e120b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 18 Mar 2023 21:37:09 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail pass in 179762-retest
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail pass in 179762-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-examine-uefi  6 xen-install                  fail  like 179717
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179717
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179717
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179717
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179717
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179717
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179717
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179717
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179717
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179717
 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-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-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-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  9bf21fcaef07f68ab52d0382ff554616a1cf66d8
baseline version:
 xen                  36e49fc8cbad21a4308b4701caaa685ef04e120b

Last test of basis   179717  2023-03-17 11:14:24 Z    1 days
Testing same since   179742  2023-03-18 02:52:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 fail    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   36e49fc8cb..9bf21fcaef  9bf21fcaef07f68ab52d0382ff554616a1cf66d8 -> master


From xen-devel-bounces@lists.xenproject.org Sun Mar 19 00:55:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Mar 2023 00:55:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511516.790602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdhKJ-00034O-Ke; Sun, 19 Mar 2023 00:55:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511516.790602; Sun, 19 Mar 2023 00:55: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 1pdhKJ-00034H-FO; Sun, 19 Mar 2023 00:55:11 +0000
Received: by outflank-mailman (input) for mailman id 511516;
 Sun, 19 Mar 2023 00:55: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 1pdhKI-000347-SW; Sun, 19 Mar 2023 00:55: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 1pdhKI-0001tr-OV; Sun, 19 Mar 2023 00:55: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 1pdhKI-00085q-B1; Sun, 19 Mar 2023 00:55:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdhKI-0001Xk-AV; Sun, 19 Mar 2023 00:55: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=8zjnm8rVXDTXgPKdGlUgNzYwDzf7hv41te7Ab4Bd/KI=; b=D34ny2Azlus0Ene8a1A5OJpxxV
	o/L7cswLNa/F8NWHB6Hyy/E52SwWGF9Ne8G90I78s1sOINL5z8D6yoRqQdfGotPnWQ1aTWKiUa5O6
	xzovUjo68mgF484fbHxW2Ftlr9sO/soM2Sx61MtpNT5iRngwm40gzyfUv9zFZzFGjvVk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179749-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 179749: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:regression
    linux-5.4:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    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-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-5.4:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=e4b5c766f50525d84754cfdf0e4edef1db9622c0
X-Osstest-Versions-That:
    linux=b829e8b6e1a7bb8cd3042b927113a22fed0b0d47
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 19 Mar 2023 00:55:10 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2   21 guest-start/debian.repeat fail REGR. vs. 179598

Tests which are failing intermittently (not blocking):
 test-amd64-i386-pair     11 xen-install/dst_host fail in 179725 pass in 179749
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 179725 pass in 179749
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 179725

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179598
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179598
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179598
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179598
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179598
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179598
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179598
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179598
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179598
 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-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-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     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                e4b5c766f50525d84754cfdf0e4edef1db9622c0
baseline version:
 linux                b829e8b6e1a7bb8cd3042b927113a22fed0b0d47

Last test of basis   179598  2023-03-13 09:42:37 Z    5 days
Testing same since   179711  2023-03-17 07:42:06 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Al Viro <viro@zeniv.linux.org.uk>
  Alex Deucher <alexander.deucher@amd.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Alvaro Karsz <alvaro.karsz@solid-run.com>
  Amir Goldstein <amir73il@gmail.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Andrew Morton <akpm@linux-foundation.org>
  Ashok Raj <ashok.raj@intel.com>
  Bart Van Assche <bvanassche@acm.org>
  Bixuan Cui <cuibixuan@huawei.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Chandrakanth Patil <chandrakanth.patil@broadcom.com>
  Chris Paterson (CIP) <chris.paterson2@renesas.com>
  Corey Minyard <cminyard@mvista.com>
  D. Wythe <alibuda@linux.alibaba.com>
  Darrick J. Wong <djwong@kernel.org>
  David S. Miller <davem@davemloft.net>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Edward Humes <aurxenon@lunos.org>
  Eric Dumazet <edumazet@google.com>
  Eric Whitney <enwlinux@gmail.com>
  Fedor Pchelkin <pchelkin@ispras.ru>
  Florian Fainelli <f.fainelli@gmail.com>
  Florian Westphal <fw@strlen.de>
  Gavrilov Ilia <Ilia.Gavrilov@infotecs.ru>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  H.J. Lu <hjl.tools@gmail.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Harry Wentland <harry.wentland@amd.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Ilia.Gavrilov <Ilia.Gavrilov@infotecs.ru>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Jens Axboe <axboe@kernel.dk>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  John Harrison <John.C.Harrison@Intel.com>
  John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
  Jouni Högander <jouni.hogander@intel.com>
  Kang Chen <void0red@gmail.com>
  Kim Phillips <kim.phillips@amd.com>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Lee Jones <lee.jones@linaro.org>
  Liguang Zhang <zhangliguang@linux.alibaba.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenz Bauer <lmb@isovalent.com>
  Lorenz Bauer <lorenz.bauer@isovalent.com>
  Lu Baolu <baolu.lu@linux.intel.com>
  Marc Zyngier <maz@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Martin KaFai Lau <martin.lau@kernel.org>
  Masahiro Yamada <masahiroy@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Chan <michael.chan@broadcom.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Nathan Chancellor <nathan@kernel.org>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Paul Elder <paul.elder@ideasonboard.com>
  Richard Weinberger <richard@nod.at>
  Rob Clark <robdclark@chromium.org>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Sasha Levin <sashal@kernel.org>
  SeongJae Park <sj@kernel.org>
  Shigeru Yoshida <syoshida@redhat.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Stefan Haberland <sth@linux.ibm.com>
  Steve French <stfrench@microsoft.com>
  Sumit Saxena <sumit.saxena@broadcom.com>
  Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Tom Saeger <tom.saeger@oracle.com>
  Vasant Hegde <vasant.hegde@amd.com>
  Volker Lendecke <vl@samba.org>
  xurui <xurui@kylinos.cn>
  Ye Bin <yebin10@huawei.com>
  Yejune Deng <yejune.deng@gmail.com>
  Yuiko Oshino <yuiko.oshino@microchip.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 1981 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Mar 19 06:49:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Mar 2023 06:49:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511533.790633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdmqQ-0001sK-Tu; Sun, 19 Mar 2023 06:48:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511533.790633; Sun, 19 Mar 2023 06: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 1pdmqQ-0001sC-N8; Sun, 19 Mar 2023 06:48:42 +0000
Received: by outflank-mailman (input) for mailman id 511533;
 Sun, 19 Mar 2023 06:48: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 1pdmqP-0001s2-DG; Sun, 19 Mar 2023 06:48: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 1pdmqP-0001QH-6n; Sun, 19 Mar 2023 06:48: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 1pdmqO-0007mj-Bw; Sun, 19 Mar 2023 06:48:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdmqO-0003jH-BW; Sun, 19 Mar 2023 06:48: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=IFPKqlL3en9Cou5HqqcD/CUXxuzhHxCjWqOTydiKiLY=; b=aR7E+HqoS2TeZA71XVevBEbhL8
	PHmzJOsiWZxsNcuem0Fb80DSTXYpOFuM4TQfPMCc0CtCmTatrntBHUGVKLUfSnu5AFxY5RM+Qw9ok
	TFiR08uZ/qhDop1VGiBJLgNGQosy6gc7MCCdIrDjHbHZT5zhMMDZzO7VfvZcPHHLyTHE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179752-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179752: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:build-i386-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=478a351ce0d69cef2d2bf2a686a09b356b63a66c
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 19 Mar 2023 06:48:40 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 17 guest-localmigrate   fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 19 guest-saverestore.2 fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 26 guest-migrate/src_host/dst_host fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  18 guest-localmigrate       fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 16 guest-saverestore.2 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 17 guest-saverestore.2 fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 build-i386-pvops              6 kernel-build             fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     18 guest-localmigrate       fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 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-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                478a351ce0d69cef2d2bf2a686a09b356b63a66c
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   25 days
Failing since        178093  2023-02-22 05:02:47 Z   25 days   47 attempts
Testing same since   179752  2023-03-18 11:23:32 Z    0 days    1 attempts

------------------------------------------------------------
2180 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             fail    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Mar 19 09:31:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Mar 2023 09:31:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511567.790652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdpNZ-0005rb-2s; Sun, 19 Mar 2023 09:31:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511567.790652; Sun, 19 Mar 2023 09: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 1pdpNY-0005rU-VD; Sun, 19 Mar 2023 09:31:04 +0000
Received: by outflank-mailman (input) for mailman id 511567;
 Sun, 19 Mar 2023 09:31: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 1pdpNX-0005rK-E6; Sun, 19 Mar 2023 09:31: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 1pdpNX-0005QZ-9m; Sun, 19 Mar 2023 09:31: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 1pdpNW-0000Vx-RN; Sun, 19 Mar 2023 09:31:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdpNW-0000mt-Qv; Sun, 19 Mar 2023 09:31:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1IKbcH0mtABstbHq1Q7tt3zRGLHt8LXbmFbElpCCUAY=; b=tMr4KH/CE6iz4dg9nSLWaGHkZN
	43sGxh2clEkA4LqEDxOGKA063hkmdMx09h+04xVuioNPbB4DxMQiyUwLbWL9XZf4NiGAhw4qeCc9f
	JynoSF+SIG93WmWrP+Ihz5PqxljGC4Sga9OTwUnscmsBhEkSk7a2Co0sg/ubcWNJ0EEI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179756-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179756: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-i386-freebsd10-amd64:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-i386-freebsd10-i386:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=74c581b6452394e591f13beba9fea2ec0688e2f5
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 19 Mar 2023 09:31:02 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which are failing intermittently (not blocking):
 test-amd64-i386-freebsd10-amd64  7 xen-install   fail in 179733 pass in 179756
 test-amd64-i386-freebsd10-i386  7 xen-install    fail in 179733 pass in 179756
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install         fail pass in 179733

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                74c581b6452394e591f13beba9fea2ec0688e2f5
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z    9 days
Failing since        179526  2023-03-10 01:53:40 Z    9 days   15 attempts
Testing same since   179733  2023-03-17 21:10:25 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Steve Sistare <steven.sistare@oracle.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Wei Wang <wei.w.wang@intel.com>
  Willem van de Velde <williamvdvelde@gmail.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          fail    
 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-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Mar 19 10:07:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Mar 2023 10:07:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511577.790665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdpxA-0001ah-1q; Sun, 19 Mar 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 511577.790665; Sun, 19 Mar 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 1pdpx9-0001aa-VA; Sun, 19 Mar 2023 10:07:51 +0000
Received: by outflank-mailman (input) for mailman id 511577;
 Sun, 19 Mar 2023 10:07: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 1pdpx8-0001aP-Nz; Sun, 19 Mar 2023 10:07: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 1pdpx8-0006FS-K7; Sun, 19 Mar 2023 10:07: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 1pdpx8-0001mL-6E; Sun, 19 Mar 2023 10:07:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdpx8-0002fs-4u; Sun, 19 Mar 2023 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kPFDFgS3JIVbr4Mhnm7FtqvE4Fd9jFWmBctpFpKJnyc=; b=PyEhMuYEnkO/SMFjJafYb1rnlE
	BJ5mnoXdqxU02yO2mUpMqPVKCEQ8JbX/xqJ0qsMvkaaRtgjWN8PqTYtgEAO3yCqGzDNuIm6JZJRyM
	5jTzacQlEZc6TlIT3seSJwD8hmLMF8pbBgo+k/vbP+MqFgfm86oHW8iAZGB9ksyVmbzU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179769-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 179769: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-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-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-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-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd: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:migrate-support-check:fail:nonblocking
    linux-5.4:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-5.4:build-armhf:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=e4b5c766f50525d84754cfdf0e4edef1db9622c0
X-Osstest-Versions-That:
    linux=b829e8b6e1a7bb8cd3042b927113a22fed0b0d47
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 19 Mar 2023 10:07:50 +0000

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

Failures :-/ but no regressions.

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

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check fail in 179749 never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check fail in 179749 never pass
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 179749 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 179749 never pass
 test-arm64-arm64-xl         15 migrate-support-check fail in 179749 never pass
 test-arm64-arm64-xl     16 saverestore-support-check fail in 179749 never pass
 test-arm64-arm64-xl-credit1 15 migrate-support-check fail in 179749 never pass
 test-arm64-arm64-xl-credit1 16 saverestore-support-check fail in 179749 never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check fail in 179749 never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check fail in 179749 never pass
 test-arm64-arm64-xl-credit2 15 migrate-support-check fail in 179749 never pass
 test-arm64-arm64-xl-credit2 16 saverestore-support-check fail in 179749 never pass
 test-arm64-arm64-libvirt-raw 14 migrate-support-check fail in 179749 never pass
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check fail in 179749 never pass
 test-arm64-arm64-xl-vhd     14 migrate-support-check fail in 179749 never pass
 test-arm64-arm64-xl-vhd 15 saverestore-support-check fail in 179749 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179598
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179598
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179598
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179598
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179598
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179598
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179598
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179598
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179598
 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-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-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-raw  3 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-xsm  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-vhd       3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit2   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-thunderx  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl           3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-xsm       3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                e4b5c766f50525d84754cfdf0e4edef1db9622c0
baseline version:
 linux                b829e8b6e1a7bb8cd3042b927113a22fed0b0d47

Last test of basis   179598  2023-03-13 09:42:37 Z    6 days
Testing same since   179711  2023-03-17 07:42:06 Z    2 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Al Viro <viro@zeniv.linux.org.uk>
  Alex Deucher <alexander.deucher@amd.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Alvaro Karsz <alvaro.karsz@solid-run.com>
  Amir Goldstein <amir73il@gmail.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Andrew Morton <akpm@linux-foundation.org>
  Ashok Raj <ashok.raj@intel.com>
  Bart Van Assche <bvanassche@acm.org>
  Bixuan Cui <cuibixuan@huawei.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Borislav Petkov <bp@suse.de>
  Chandrakanth Patil <chandrakanth.patil@broadcom.com>
  Chris Paterson (CIP) <chris.paterson2@renesas.com>
  Corey Minyard <cminyard@mvista.com>
  D. Wythe <alibuda@linux.alibaba.com>
  Darrick J. Wong <djwong@kernel.org>
  David S. Miller <davem@davemloft.net>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Edward Humes <aurxenon@lunos.org>
  Eric Dumazet <edumazet@google.com>
  Eric Whitney <enwlinux@gmail.com>
  Fedor Pchelkin <pchelkin@ispras.ru>
  Florian Fainelli <f.fainelli@gmail.com>
  Florian Westphal <fw@strlen.de>
  Gavrilov Ilia <Ilia.Gavrilov@infotecs.ru>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  H.J. Lu <hjl.tools@gmail.com>
  Hangbin Liu <liuhangbin@gmail.com>
  Harry Wentland <harry.wentland@amd.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Carstens <hca@linux.ibm.com>
  Ilia.Gavrilov <Ilia.Gavrilov@infotecs.ru>
  Jacob Pan <jacob.jun.pan@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jan Kara <jack@suse.cz>
  Jani Nikula <jani.nikula@intel.com>
  Jens Axboe <axboe@kernel.dk>
  Joerg Roedel <jroedel@suse.de>
  Johan Hovold <johan+linaro@kernel.org>
  John Harrison <John.C.Harrison@Intel.com>
  John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
  Jouni Högander <jouni.hogander@intel.com>
  Kang Chen <void0red@gmail.com>
  Kim Phillips <kim.phillips@amd.com>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Lee Jones <lee.jones@linaro.org>
  Liguang Zhang <zhangliguang@linux.alibaba.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Lorenz Bauer <lmb@isovalent.com>
  Lorenz Bauer <lorenz.bauer@isovalent.com>
  Lu Baolu <baolu.lu@linux.intel.com>
  Marc Zyngier <maz@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Martin KaFai Lau <martin.lau@kernel.org>
  Masahiro Yamada <masahiroy@kernel.org>
  Matt Turner <mattst88@gmail.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Michael Chan <michael.chan@broadcom.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael S. Tsirkin <mst@redhat.com>
  Nathan Chancellor <nathan@kernel.org>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paolo Abeni <pabeni@redhat.com>
  Paul Elder <paul.elder@ideasonboard.com>
  Richard Weinberger <richard@nod.at>
  Rob Clark <robdclark@chromium.org>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Sasha Levin <sashal@kernel.org>
  SeongJae Park <sj@kernel.org>
  Shigeru Yoshida <syoshida@redhat.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Horman <simon.horman@corigine.com>
  Stefan Haberland <sth@linux.ibm.com>
  Steve French <stfrench@microsoft.com>
  Sumit Saxena <sumit.saxena@broadcom.com>
  Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Tom Saeger <tom.saeger@oracle.com>
  Vasant Hegde <vasant.hegde@amd.com>
  Volker Lendecke <vl@samba.org>
  xurui <xurui@kylinos.cn>
  Ye Bin <yebin10@huawei.com>
  Yejune Deng <yejune.deng@gmail.com>
  Yuiko Oshino <yuiko.oshino@microchip.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-armhf-armhf-xl                                          starved 
 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                                 starved 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  starved 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  starved 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 starved 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      starved 
 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
   b829e8b6e1a7..e4b5c766f505  e4b5c766f50525d84754cfdf0e4edef1db9622c0 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Sun Mar 19 15:41:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Mar 2023 15:41:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511626.790711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdv9b-0007XN-Dc; Sun, 19 Mar 2023 15:41:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511626.790711; Sun, 19 Mar 2023 15:41:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdv9b-0007XG-AC; Sun, 19 Mar 2023 15:41:03 +0000
Received: by outflank-mailman (input) for mailman id 511626;
 Sun, 19 Mar 2023 15:41: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 1pdv9a-0007X6-Fb; Sun, 19 Mar 2023 15:41: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 1pdv9a-0005W1-DZ; Sun, 19 Mar 2023 15:41:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pdv9a-0005S9-0f; Sun, 19 Mar 2023 15:41:02 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdv9a-00036Z-0D; Sun, 19 Mar 2023 15: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CHzGUnvqIBbjatrzK1feHoSb+QJ8DYvyF3u7+JtH22M=; b=a3eP3NQVzBVn9rD26uZfcwI6dh
	gL3D0vejj8IL2i0NdUAYraZZdUjUzCIV9e9HdKn0ZrJdWag8kpO3kzp7F3wgF54lgJENp72LbM5cx
	c8YpwWp+8/Z9qq91Y8MFl+MCPTgEAaKJ2xciZ7k343VxwjmT7xAFBBDQF2/7T5KX9buk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179770-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179770: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-examine-uefi:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-libvirt-vhd: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd: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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=9bf21fcaef07f68ab52d0382ff554616a1cf66d8
X-Osstest-Versions-That:
    xen=9bf21fcaef07f68ab52d0382ff554616a1cf66d8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 19 Mar 2023 15:41:02 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine-uefi  6 xen-install      fail in 179742 pass in 179770
 test-amd64-amd64-xl-qcow2 21 guest-start/debian.repeat fail in 179742 pass in 179770
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail in 179742 pass in 179770
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat  fail pass in 179742

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179742
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179742
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179742
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179742
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179742
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179742
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179742
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179742
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179742
 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-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-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-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  9bf21fcaef07f68ab52d0382ff554616a1cf66d8
baseline version:
 xen                  9bf21fcaef07f68ab52d0382ff554616a1cf66d8

Last test of basis   179770  2023-03-19 01:52:00 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 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 Mar 19 16:12:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Mar 2023 16:12:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511634.790724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdve0-0003XD-07; Sun, 19 Mar 2023 16:12:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511634.790724; Sun, 19 Mar 2023 16:12: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 1pdvdz-0003X6-TM; Sun, 19 Mar 2023 16:12:27 +0000
Received: by outflank-mailman (input) for mailman id 511634;
 Sun, 19 Mar 2023 16:12: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 1pdvdy-0003Ww-GT; Sun, 19 Mar 2023 16:12: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 1pdvdy-0006mQ-5t; Sun, 19 Mar 2023 16:12: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 1pdvdx-00068w-P9; Sun, 19 Mar 2023 16:12:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdvdx-0006lh-Oe; Sun, 19 Mar 2023 16:12: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:Message-Id:Subject:To;
	bh=NvV5UvceB4TEa2x8WHjtiTazRq0yQHry8jV2xBEwnXs=; b=3guqNCRTxCHxgB4QGrCvoyOVGz
	rRORDHa2iI0qZGoTfpXezlme/buA99KXSlsmB8peKyVxpEQ0k2rkDhNQxGW1rrElH5jKg/S+/SYzu
	IG4u3TQUWp4rnvbCd2blu+EVNnGItLfamyHoUGRaTCXvugcH6BHaBK626ggl6VnGmizY=;
To: xen-devel@lists.xenproject.org
Subject: [qemu-mainline bisection] complete test-amd64-i386-libvirt
Message-Id: <E1pdvdx-0006lh-Oe@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 19 Mar 2023 16:12:25 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-i386-libvirt
testid guest-start

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu https://gitlab.com/qemu-project/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  qemuu https://gitlab.com/qemu-project/qemu.git
  Bug introduced:  b6cacfea0b38300e3ea5fd6d486d5085122554eb
  Bug not present: 831b0db8abda1d837a299893c4e3027942c8ac49
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/179783/


  commit b6cacfea0b38300e3ea5fd6d486d5085122554eb
  Author: David Woodhouse <dwmw@amazon.co.uk>
  Date:   Sun Jan 1 17:54:41 2023 +0000
  
      hw/xen: Add evtchn operations to allow redirection to internal emulation
      
      The existing implementation calling into the real libxenevtchn moves to
      a new file hw/xen/xen-operations.c, and is called via a function table
      which in a subsequent commit will also be able to invoke the emulated
      event channel support.
      
      Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
      Reviewed-by: Paul Durrant <paul@xen.org>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/qemu-mainline/test-amd64-i386-libvirt.guest-start.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/qemu-mainline/test-amd64-i386-libvirt.guest-start --summary-out=tmp/179783.bisection-summary --basis-template=179518 --blessings=real,real-bisect,real-retry qemu-mainline test-amd64-i386-libvirt guest-start
Searching for failure / basis pass:
 179756 fail [host=italia1] / 179518 [host=italia0] 179501 [host=albana0] 179497 [host=huxelrebe0] 179449 [host=pinot0] 176449 [host=huxelrebe0] 176423 [host=nobling1] 176407 [host=nocera0] 176392 [host=pinot1] 176367 [host=huxelrebe1] 176352 [host=fiano0] 176342 [host=debina1] 176096 [host=albana1] 176080 ok.
Failure / basis pass flights: 179756 / 176080
(tree with no url: minios)
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu https://gitlab.com/qemu-project/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 5589a3e1f30ab6b9b3247b98f1a6697b0578923a 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b17a3a133b18fb41493fba7d86e9b5804ea6a8cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 36e49fc8cbad21a4308b4701caaa685ef04e120b
Basis pass 57b0678590708de081e4498e164b86d5c8c85024 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 37d3eb026a766b2405daae47e02094c2ec248646 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 00b1faea41d283e931256aa78aa975a369ec3ae6 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#57b0678590708de081e4498e164b86d5c8c85024-5589a3e1f30ab6b9b3247b98f1a6697b0578923a https://gitlab.com/keycodemap/keycodemapdb.git#57ba70da5312170883a3d622cd2aa3fd0e2ec7ae-57ba70da5312170883a3d622cd2aa3fd0e2ec7ae git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-c3038e718a19fc596f7b1baba0f83d5146dc7784 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0\
 dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#37d3eb026a766b2405daae47e02094c2ec248646-b17a3a133b18fb41493fba7d86e9b5804ea6a8cf git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 https://gitlab.com/qemu-project/qemu.git#00b1faea41d283e931256aa78aa975a369ec3ae6-74c581b6452394e591f13beba9fea2ec0688e2f5 git://xenbits.xen.org/osstest/seabios.git#645a64b4911d7cadf5749d7375544fc2384\
 e70ba-ea1b7a0733906b8425d948ae94fba63c32b1d425 git://xenbits.xen.org/xen.git#f588e7b7cb70800533aaa8a2a9d7a4b32d10b363-36e49fc8cbad21a4308b4701caaa685ef04e120b
Loaded 59190 nodes in revision graph
Searching for test results:
 176069 [host=nobling1]
 176080 pass 57b0678590708de081e4498e164b86d5c8c85024 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 37d3eb026a766b2405daae47e02094c2ec248646 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 00b1faea41d283e931256aa78aa975a369ec3ae6 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 176096 [host=albana1]
 176342 [host=debina1]
 176352 [host=fiano0]
 176367 [host=huxelrebe1]
 176392 [host=pinot1]
 176407 [host=nocera0]
 176423 [host=nobling1]
 176449 [host=huxelrebe0]
 179449 [host=pinot0]
 179497 [host=huxelrebe0]
 179501 [host=albana0]
 179518 [host=italia0]
 179526 fail irrelevant
 179534 fail irrelevant
 179548 fail irrelevant
 179561 fail irrelevant
 179574 fail 8419dd3b69cfada783a2e6df315e45dd294b0d18 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 674acdd17808052519aafcbee1583ad89b66181a ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179588 fail 8419dd3b69cfada783a2e6df315e45dd294b0d18 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179596 fail 8419dd3b69cfada783a2e6df315e45dd294b0d18 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179609 fail irrelevant
 179628 fail irrelevant
 179644 fail irrelevant
 179666 pass 57b0678590708de081e4498e164b86d5c8c85024 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 37d3eb026a766b2405daae47e02094c2ec248646 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 00b1faea41d283e931256aa78aa975a369ec3ae6 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 179669 fail irrelevant
 179671 fail bc77182ea40457381222f472a37c2a2f38991de0 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a0f9628705e35c981ae95376f9ebedf877d09111 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 dea644928d7583d91170d013716bbbeb938cb938 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179673 pass 3138e204b2e3f4d765af66faf1fc9b566de370dd 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a0f9628705e35c981ae95376f9ebedf877d09111 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7b0f0aa55fd292fa3489755a3a896e496c51ea86 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179676 pass 3138e204b2e3f4d765af66faf1fc9b566de370dd 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a0f9628705e35c981ae95376f9ebedf877d09111 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 555ce1d8559ec00037f994c3a5df07815d20e1ef ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179657 fail 8386242bd0f6c1cb242f9c711e2ef864bf114d0d 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 961792c9d61f7e03e0c1b6b9f93b8b306df94bf9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 652737c8090eb3792f8b4c4b22ab12d7cc32073f ea1b7a0733906b8425d948ae94fba63c32b1d425 de819c96c863467b6e625cd7197d17682f6c6122
 179679 pass 9fecdaf1c80f8fb4390c77b4d353ad07ba77c87a 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c7c25997595aa34ce0a7a21ca2e1fc5b0f9b38a6 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c1feaf76833f5b29f887fd64371512731cbf7086 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179683 fail 8386242bd0f6c1cb242f9c711e2ef864bf114d0d 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 961792c9d61f7e03e0c1b6b9f93b8b306df94bf9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 652737c8090eb3792f8b4c4b22ab12d7cc32073f ea1b7a0733906b8425d948ae94fba63c32b1d425 de819c96c863467b6e625cd7197d17682f6c6122
 179686 blocked c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ba2a92db1ff682c16730b1d7f156bac61928f04d ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179689 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6611d8d5c265c138a4a0cc36a2c02d84a768976 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179691 pass 0b464cd84ff3f83ca8a63bf4c28a0517a9a98288 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2f886a34bb7e6f6fcf39d64829f4499476f26dba ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179692 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa1cd447b346e8cc8141df2fe2d321b032c08acb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c29a2f40cd5d1fdad4632b48343cd968db041a44 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179693 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 43b79f3b86c343a8973dc98278ad7f7921bf248d ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179695 pass cf01bbb9926a3289e75d8c59dac24d091f85ab06 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 37151032989ecf6e7ce8b65bc7bcb400d0318b2c ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179696 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 76116e28e1491a06966fd594fefdaacb084ada10 ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179699 pass 6ecd2181097d2614f5c7ee202ac16db6034b37ae 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0ccf919d742e387a6e533cf41d422a26d89f0d99 ea1b7a0733906b8425d948ae94fba63c32b1d425 b84fdf521b306cce64388fe57ee6c7c00f9d3e76
 179700 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b22a2d409b1acfdf0d63d1bb3595194ceb3d94da ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179701 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ddf0676f1ade90026483a91823d86db4096a40ef ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179703 pass f5966651e7c37f5501de29303a6defb13efdbed9 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e1f9f73ba15e0356ce1aa3317d7bd294f587ab58 ea1b7a0733906b8425d948ae94fba63c32b1d425 49b1cb27413034c81023d1faf7af43690e87291a
 179704 pass e66469095d4a6dafc7e482894321e1e10c734e54 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 3f21065f0983d37c5d4a11a3c59bab5201a9f499 ea1b7a0733906b8425d948ae94fba63c32b1d425 91d4d9506a4e8906253d1280bd5a1f39668fad64
 179682 fail irrelevant
 179707 pass e66469095d4a6dafc7e482894321e1e10c734e54 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 569346ad0a85b370fe28282656da18bddd291ed6 ea1b7a0733906b8425d948ae94fba63c32b1d425 91d4d9506a4e8906253d1280bd5a1f39668fad64
 179709 pass 57b0678590708de081e4498e164b86d5c8c85024 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 37d3eb026a766b2405daae47e02094c2ec248646 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 00b1faea41d283e931256aa78aa975a369ec3ae6 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 179710 fail irrelevant
 179712 pass e66469095d4a6dafc7e482894321e1e10c734e54 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0f385a2420d2c3f8ae7ed65fbe2712027664059e ea1b7a0733906b8425d948ae94fba63c32b1d425 91d4d9506a4e8906253d1280bd5a1f39668fad64
 179715 pass 91431db94b126cbb9dc3276da6a8fd0216008298 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2d89cb1fe5c778f51b5fdc6878adacdb0d908949 ea1b7a0733906b8425d948ae94fba63c32b1d425 406cea1970535cd7b9d6bcf09bc164ef9bb64bac
 179718 pass da6277d8e9ef64f4a033b1bfb6dd43ccdd9e59b6 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 9b0699ab801405fe5bdf1adea83bceac9ec62f97 ea1b7a0733906b8425d948ae94fba63c32b1d425 a90a0018f605e3bb0588816e5a1f957d6e4562eb
 179719 pass da6277d8e9ef64f4a033b1bfb6dd43ccdd9e59b6 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 4919d0c44afd58e16a8a369ca359de7f0114e04c ea1b7a0733906b8425d948ae94fba63c32b1d425 a90a0018f605e3bb0588816e5a1f957d6e4562eb
 179721 pass 598a73335d70b4ef70b84f9730d708c116f88b15 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 38da9606f77842cdcdc231210c0369a6180c51a0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 36debafddd788066be10b33c5f11b984a08e5c85 ea1b7a0733906b8425d948ae94fba63c32b1d425 5b9bb91abba7c983def3b4bef71ab08ad360a242
 179723 pass 15e5eb8a7684992d1a885038d28781462a727bf2 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5c551d6d912967ada3084033acea8acf37256043 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0dd47dc5470629ae3ad8830a0b44aea82a6dd8ae ea1b7a0733906b8425d948ae94fba63c32b1d425 2e52dcc853a7183784cd9bdfb1e78ff366035209
 179726 pass b61c66d1dea2525290b7fa1f41ba6958bc39d63c 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 540522fec06b87bf11ad5624abe23b515f282d60 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b1d1d468cabfa800950e1ecb6006df619687c269 ea1b7a0733906b8425d948ae94fba63c32b1d425 9b70bc6d9678142a40e6c1c6934a32c7a0966e38
 179729 pass 3820a0ce41694eb8b8ae62cfdfd08eb06fb352d4 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 93a21b465bda44cecdd6347ad481ca6f55286547 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7b548761e5d084f2fc0fc4badebab227b51a8a84 ea1b7a0733906b8425d948ae94fba63c32b1d425 f4f498d08d50259b9f25c274fd7b1e8ccf5693af
 179708 fail irrelevant
 179732 pass 15e5eb8a7684992d1a885038d28781462a727bf2 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5c551d6d912967ada3084033acea8acf37256043 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 003ba52a8b327180e284630b289c6ece5a3e08b9 ea1b7a0733906b8425d948ae94fba63c32b1d425 2e52dcc853a7183784cd9bdfb1e78ff366035209
 179734 fail irrelevant
 179736 pass 0c4e716835eaf2a575bd063fde074c0fc7c4e4d4 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f6ce1a5cd8932844ec24701d158254ccf75b6159 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 acbc8aee5b09222dc6a5cb88306b67bcbe37e30b ea1b7a0733906b8425d948ae94fba63c32b1d425 4e0b4ccfc504f26187939068796295340ffd0e2f
 179737 pass 5155ab4b2a704285505dfea6ffee8b980fdaa29e 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5db84c85c3544b92fa236c4d169440d523712ae0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6b433719eabf0abc74cff0cfd5687f0137c4198a ea1b7a0733906b8425d948ae94fba63c32b1d425 b9adcb5ab910b61e5332728bd248906e68a45900
 179739 pass 5155ab4b2a704285505dfea6ffee8b980fdaa29e 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5db84c85c3544b92fa236c4d169440d523712ae0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ae2b5d8381a73b27f35f19c988d45c78bb4d5768 ea1b7a0733906b8425d948ae94fba63c32b1d425 b9adcb5ab910b61e5332728bd248906e68a45900
 179740 pass 5c4007ddc6c29632b5cc96ab4ef81ebb7797d1bb 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5db84c85c3544b92fa236c4d169440d523712ae0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 285ee77f5b58237c972bbe82aa0e1dc489c147d6 ea1b7a0733906b8425d948ae94fba63c32b1d425 c0e202194bfcb413d7cf662b333550ed444c469b
 179743 pass 5c4007ddc6c29632b5cc96ab4ef81ebb7797d1bb 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5db84c85c3544b92fa236c4d169440d523712ae0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 5474aa4f3e0a3e9c171db7c55b5baf15f2e2778c ea1b7a0733906b8425d948ae94fba63c32b1d425 c0e202194bfcb413d7cf662b333550ed444c469b
 179745 pass c3f16cea3bef578c498c720aa90c677ee9511e2f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5db84c85c3544b92fa236c4d169440d523712ae0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 5c71a911267f742a71e2c7725dd3164347c61738 ea1b7a0733906b8425d948ae94fba63c32b1d425 c0e202194bfcb413d7cf662b333550ed444c469b
 179748 pass 0f350a4d070e952b0ecc7631708478ddfd43ba3f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 9d669016d968b0f3e17ce7df16ae51d85b0adfcf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ceabf6e500570ecfb311d8896c4ba9da8cf21f2a ea1b7a0733906b8425d948ae94fba63c32b1d425 a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e
 179750 pass f2d379e7cb802f922409c35e4831ee52a2162486 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 13b97736c876919b9786055829caaa4fa46984b7 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 5736527050cfcc5b92521d79fe87b4883059d864 ea1b7a0733906b8425d948ae94fba63c32b1d425 a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e
 179751 pass f2d379e7cb802f922409c35e4831ee52a2162486 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 13b97736c876919b9786055829caaa4fa46984b7 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 f991d61d35d037ba5e627becb6f99bfd065443bf ea1b7a0733906b8425d948ae94fba63c32b1d425 a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e
 179753 pass 0f350a4d070e952b0ecc7631708478ddfd43ba3f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 4d37059d8e1eeda124270a158416795605327cbd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 864a3fa439276148b6d7abcf2d43ee8dbe4c4062 ea1b7a0733906b8425d948ae94fba63c32b1d425 a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e
 179754 pass 15e5eb8a7684992d1a885038d28781462a727bf2 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 44c94cdb21cd1d1fb9aa6554585b94aa6de7ed9d ea1b7a0733906b8425d948ae94fba63c32b1d425 f5c1a6374aae8be471b895a43359dcff355577f5
 179733 fail 5589a3e1f30ab6b9b3247b98f1a6697b0578923a 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 410ca0ff94a42ee541dd6ceab70ea974eeb7e500 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 36e49fc8cbad21a4308b4701caaa685ef04e120b
 179755 pass 3b7d109a177d01e92481ca5dd082104fdce5b08c 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 1ea5e0b05e9d738f31d4c3aa73a21dfd0900e301 ea1b7a0733906b8425d948ae94fba63c32b1d425 b84fdf521b306cce64388fe57ee6c7c00f9d3e76
 179757 pass 57b0678590708de081e4498e164b86d5c8c85024 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 37d3eb026a766b2405daae47e02094c2ec248646 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 00b1faea41d283e931256aa78aa975a369ec3ae6 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 179758 fail 5589a3e1f30ab6b9b3247b98f1a6697b0578923a 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 410ca0ff94a42ee541dd6ceab70ea974eeb7e500 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 36e49fc8cbad21a4308b4701caaa685ef04e120b
 179759 pass f0fec72e3f3eb0afcc16508ad39655e59cd0f0ed 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 817fd33836e73812df2f1907612b57750fcb9491 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179760 pass 4e9923da92e3c3092d640fbcf4c9191fb28983ed 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7c7173679fbe636ad16960b93c5985141d8fa233 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179782 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 831b0db8abda1d837a299893c4e3027942c8ac49 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179761 pass f64e90346f4a2c492dce96dfe87fb3238ccb42a4 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7840ba985a7c0fcf90a7318ff1f827f89571cb3c ea1b7a0733906b8425d948ae94fba63c32b1d425 746774cd1786b13dc67020efb6496477535dcb26
 179763 pass f6967e2b775b80adb169013ce9b7ab825ddf95b0 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 47fc340010335bc2549bc1f07e5fd85d86a2b9f9 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179764 fail 7e94712699546b0dc9ec8307b19a39775761627c 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 69da506c927f8092ea8f783a092a694a3582e3ef 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 154eac37190c4d80d29b09c226abd899e397530f ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179765 pass 4ee4809907e63e83db032b5f90261f51ec864aa9 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa1cd447b346e8cc8141df2fe2d321b032c08acb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 47fc340010335bc2549bc1f07e5fd85d86a2b9f9 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179766 fail 6386dd897df596a01e3cf0db9f86d496891564dc 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 154eac37190c4d80d29b09c226abd899e397530f ea1b7a0733906b8425d948ae94fba63c32b1d425 3c55057bab0e992a6fc25cd498d6aca72034a8b5
 179767 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa1cd447b346e8cc8141df2fe2d321b032c08acb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 9832009d9dd2386664c15cc70f6e6bfe062be8bd ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179768 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 032475127225e5949c021dcb1dfcc0ffec400157 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179771 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7cabbdb70df64fc7b0ed05f3e6aa4e1990eadc77 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179772 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 4ca8cf092dabf934a32968c917f0d0682053cd4e ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179773 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6cacfea0b38300e3ea5fd6d486d5085122554eb ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179756 fail 5589a3e1f30ab6b9b3247b98f1a6697b0578923a 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b17a3a133b18fb41493fba7d86e9b5804ea6a8cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 36e49fc8cbad21a4308b4701caaa685ef04e120b
 179775 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 766804b101d7e452ad85995c231a5c3454f4e25b ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179777 fail 5589a3e1f30ab6b9b3247b98f1a6697b0578923a 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b17a3a133b18fb41493fba7d86e9b5804ea6a8cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 36e49fc8cbad21a4308b4701caaa685ef04e120b
 179778 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 831b0db8abda1d837a299893c4e3027942c8ac49 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179779 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6cacfea0b38300e3ea5fd6d486d5085122554eb ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179780 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 831b0db8abda1d837a299893c4e3027942c8ac49 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179781 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6cacfea0b38300e3ea5fd6d486d5085122554eb ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179783 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6cacfea0b38300e3ea5fd6d486d5085122554eb ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
Searching for interesting versions
 Result found: flight 176080 (pass), for basis pass
 Result found: flight 179733 (fail), for basis failure (at ancestor ~2)
 Repro found: flight 179757 (pass), for basis pass
 Repro found: flight 179777 (fail), for basis failure
 0 revisions at c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 831b0db8abda1d837a299893c4e3027942c8ac49 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
No revisions left to test, checking graph state.
 Result found: flight 179778 (pass), for last pass
 Result found: flight 179779 (fail), for first failure
 Repro found: flight 179780 (pass), for last pass
 Repro found: flight 179781 (fail), for first failure
 Repro found: flight 179782 (pass), for last pass
 Repro found: flight 179783 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  qemuu https://gitlab.com/qemu-project/qemu.git
  Bug introduced:  b6cacfea0b38300e3ea5fd6d486d5085122554eb
  Bug not present: 831b0db8abda1d837a299893c4e3027942c8ac49
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/179783/


  commit b6cacfea0b38300e3ea5fd6d486d5085122554eb
  Author: David Woodhouse <dwmw@amazon.co.uk>
  Date:   Sun Jan 1 17:54:41 2023 +0000
  
      hw/xen: Add evtchn operations to allow redirection to internal emulation
      
      The existing implementation calling into the real libxenevtchn moves to
      a new file hw/xen/xen-operations.c, and is called via a function table
      which in a subsequent commit will also be able to invoke the emulated
      event channel support.
      
      Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
      Reviewed-by: Paul Durrant <paul@xen.org>

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.317076 to fit
pnmtopng: 235 colors found
Revision graph left in /home/logs/results/bisect/qemu-mainline/test-amd64-i386-libvirt.guest-start.{dot,ps,png,html,svg}.
----------------------------------------
179783: tolerable FAIL

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

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start             fail baseline untested


jobs:
 build-i386-libvirt                                           pass    
 test-amd64-i386-libvirt                                      fail    


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

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

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

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



From xen-devel-bounces@lists.xenproject.org Sun Mar 19 19:39:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Mar 2023 19:39:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511663.790761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdyrw-0001Yw-Q0; Sun, 19 Mar 2023 19:39:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511663.790761; Sun, 19 Mar 2023 19:39: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 1pdyrw-0001Yp-Mr; Sun, 19 Mar 2023 19:39:04 +0000
Received: by outflank-mailman (input) for mailman id 511663;
 Sun, 19 Mar 2023 19:39: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=u/8N=7L=web.de=tachyon_gun@srs-se1.protection.inumbo.net>)
 id 1pdyrv-0001Yj-GV
 for xen-devel@lists.xenproject.org; Sun, 19 Mar 2023 19:39:03 +0000
Received: from mout.web.de (mout.web.de [212.227.17.12])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1a58aa1-c68d-11ed-b464-930f4c7d94ae;
 Sun, 19 Mar 2023 20:39:00 +0100 (CET)
Received: from [92.76.123.191] ([92.76.123.191]) by web-mail.web.de
 (3c-app-webde-bap20.server.lan [172.19.172.20]) (via HTTP); Sun, 19 Mar
 2023 20:38: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: b1a58aa1-c68d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
	t=1679254738; i=tachyon_gun@web.de;
	bh=9N7Ozq3LYtqZ2FpsXbic/jSOCSxsgQR9JFYYA0KWP/Q=;
	h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
	b=VjA6iXvd3emwR9aPx3uhCotXBYI7MFI4MJ5v0QcCZtTqRudaq/PHCD3oTYvHjB2cV
	 MPM+yo/FdgzPjOqC67t6MPPZr+mIurl3IgzA5kjcidp/btF2aMfSXpg9XSyiJgj4J1
	 HBZTqjJrkRGcUHtamTUvF5sINysxqSUd76hedYON1H5b/gv1U1d9Xt66Y6mdsbEpr5
	 5NpJKEPPLq51m/kn6yB47AIpl5UxRf0LvIBVr3ec35xEW+dJIghIUSVGvdr6fGJjqt
	 KByEkxnyxl12CAxX+lwpmKKqCF4Dn52hIwr9/ViLbeZFKYuAt5eUqm0E0yU7nRSMg6
	 DLC+AHkkCmshw==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
MIME-Version: 1.0
Message-ID: <trinity-b7bc2797-26a7-455a-8080-8d33234171c9-1679254738309@3c-app-webde-bap20>
From: Denis <tachyon_gun@web.de>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Aw: Re:  Re: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera,
 regression from Xen 4.0.1
Content-Type: text/plain; charset=UTF-8
Date: Sun, 19 Mar 2023 20:38:58 +0100
Importance: normal
Sensitivity: Normal
In-Reply-To: <e5a4689e-27e1-6992-65f8-c59b669aeaf1@citrix.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
 <e5a4689e-27e1-6992-65f8-c59b669aeaf1@citrix.com>
Content-Transfer-Encoding: quoted-printable
X-UI-Message-Type: mail
X-Priority: 3
X-Provags-ID: V03:K1:DfhVVStlaMo+T3RqVjxv3aeqrbUijAcIie4LApgd6Q+XjfJP2cuml7MSD34d+9lKjKdKn
 UVoj3gTN89Nzt7jGHXuo9CRA3sHgfY8FIEEumDLBoXAXpT3HIe1SuCHXS+AlsrRsIvmYL5obXWGG
 J7R+WZYehoPRRLTJ5bqVo4WnF2i3vhalxPIxKGBaBhLYUWffNZVKC0FfJhmOqIT7thZeb49AzjIA
 7oeI5ujt4H5rHa+qMTR+PWjJhMFNEFunNjhIyxbsuggurJFAR+JSWlQVEL4PEDWW9UbNNZLLrmpG
 PA=
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:lcgYRYfCrlY=;Y1ytJ4wDOXNw/zAdj43Cf6h7vzl
 ZvzvvNsseX4yYv/Tc9OqeUMJv8gnsXvzLeYyZ4QntZJ8AuuVZDK0EA6LfmUijJohawDt0EDMe
 VI61kJVIqD4fWWORq1ayDbJZjEWH8oRX+9qMMXh3lQCKhXA+pdgQxP2xoL7uUqfWLUTIjppBT
 h/GfCTQIHZDbXuXyvcCVO5S5/P/j5By4W+zlp57q3c9MqPwBP4sBON0m/OLWnmE23wCDXFvol
 w3zWDd/7HnWWTYIMFmnEojDU3xEuUFdXqJaY1zJfZUsy/1O2zlmjyeeTr5gOyRAOx12lIlyhS
 0p1sZ0tdCuwuVIFDEj9iifwdtYMUeYMpV5hMwFmZnskgeFnbucsh29D2KyJ5eD8ndlzODUj6Y
 t4HuaorEDqU3jXf7BIzO99oyoEKA1iNic3a7zR8BWSJdDrCOBRCJOS91PGFX8TnW29/R7tNHf
 o1qpQaIhKn+R+Vna61CvQt6h2dXhNUtf/gyLGkPSna+21yGCbcPh7uvVYiNzJ6tHzUOcXD14X
 Zmrw/4Gg86vINyuL5CRTsuxPHp5dfHdQqWHM7enE4L4LQNMaxZQVZznoLXHPSi8YLzVIQLEBG
 yFZzJ3HA25iJ9JpPe+4un1nb3cPMDrY5y9KOIhFmjcD/bIOTXckytpll831vhe1ctNP0h07HC
 4WCsWrzYCzVZpZXwUMrfdoay1fk3zBSZYmZzIt3E1D+zP1u50IKLz4c8C1sBG6vhfo0zFBSP6
 0mH6Do2px9mRG6xHRR8s0FOnZ6V9G8kiv+z0okiodChOXk9j+AUawfqKNtt9zxa9xo0Hc+bI0
 JZRohhzzwPrq5xJzIsbZyQW31elrSBuMSWDZvP+AIq1A4=

On 14=2E03=2E2023 16:11, Andrew Cooper wrote:
> On 14/03/2023 2:53 pm, Denis wrote:
> > On 14=2E03=2E2023 07:37; Jan Beulich wrote:
> >> On 14=2E03=2E2023 02:15, Denis wrote:
> >>> On 13=2E03=2E2023 10:36, Jan wrote
> >>>> On 10=2E03=2E2023 21:50, Denis wrote:
> >>>>> Should I test something else?
> >>>> =2E=2E=2E there was no request for any further testing here, for th=
e moment=2E
> >>> ah=2E=2E=2Esorry, going by "Would be nice to have this confirmed for=
the system
> >>> in question, i=2Ee=2E without Xen underneath Linux" I thought I coul=
d test
> >>> something which might help shed some light on all of this=2E
> >> Well, yes, that Linux-without-Xen test would still be useful to have
> >> results from=2E I didn't account for this in my earlier reply because
> >> I had asked for it before already, and I did take "something else"
> >> for meaning anything that might have turned up as useful from the new
> >> data you had provided=2E
> > What tests could I do or what info should I provide to help?
>=20
> Can you please rebuild Xen with this patch:
>=20
> diff --git a/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> b/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> index 2fdebd2d74c9=2E=2E747eae25f56c 100644
> --- a/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> +++ b/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> @@ -1033,7 +1033,7 @@ static int __init parse_ivrs_table(struct
> acpi_table_header *table)
> =C2=A0=C2=A0=C2=A0=C2=A0 const struct acpi_ivrs_header *ivrs_block;
> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long length;
> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned int apic;
> -=C2=A0=C2=A0=C2=A0 bool_t sb_ioapic =3D !iommu_intremap;
> +=C2=A0=C2=A0=C2=A0 bool_t sb_ioapic =3D 1;
> =C2=A0=C2=A0=C2=A0=C2=A0 int error =3D 0;
> =C2=A0
> =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON(!table);
>=20
> which should cause the behaviour to revert back to that of Xen 4=2E0=2E1=
=C2=A0
> (i=2Ee=2E it will fully ignore the checks relating to the southbridge io=
apic)=2E
>=20
> Confirm that with this, and booting Xen simply with `iommu=3D1` that ful=
l
> DMA remapping and interrupt remapping is considered active=2E
>=20
>=20
> Then, can you play around with passing the soundblaster through to VMs=
=2E=C2=A0
> Looking at the LSPCI you provided, it only supports legacy line interrup=
ts=2E
>=20
> Does the device work fine, or do you get a bunch of errors on `xl dmesg`
> about IO page faults (which is a generic "IOMMU said no to something"
> message)?

Sorry, it took my awhile to get it done=2E

The relevant things are enabled again, passthrough works (even the PCI Aud=
igy2)=20
and the devices are recognzied in the HVM domU=2E

As you suspected, there are a few IO page faults at the end of the boot pr=
ocess
(from my limited understanding it's maybe related to=20
"00:14=2E0 SMBus: Advanced Micro Devices, Inc=2E [AMD/ATI] SBx00 SMBus Con=
troller (rev 41)")

I'll attach the "xl dmesg" output file=2E


Denis


From xen-devel-bounces@lists.xenproject.org Sun Mar 19 19:42:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Mar 2023 19:42:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511665.790770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdyvU-0002wq-95; Sun, 19 Mar 2023 19:42:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511665.790770; Sun, 19 Mar 2023 19: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 1pdyvU-0002wj-6M; Sun, 19 Mar 2023 19:42:44 +0000
Received: by outflank-mailman (input) for mailman id 511665;
 Sun, 19 Mar 2023 19: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=u/8N=7L=web.de=tachyon_gun@srs-se1.protection.inumbo.net>)
 id 1pdyvS-0002wb-Km
 for xen-devel@lists.xenproject.org; Sun, 19 Mar 2023 19:42:42 +0000
Received: from mout.web.de (mout.web.de [217.72.192.78])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3586731c-c68e-11ed-b464-930f4c7d94ae;
 Sun, 19 Mar 2023 20:42:40 +0100 (CET)
Received: from [92.76.123.191] ([92.76.123.191]) by web-mail.web.de
 (3c-app-webde-bap20.server.lan [172.19.172.20]) (via HTTP); Sun, 19 Mar
 2023 20:42: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: 3586731c-c68e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
	t=1679254959; i=tachyon_gun@web.de;
	bh=94B7CdiTUUVJfc+ipRfB4eoJx93QM1i/2u9OB+TS8dY=;
	h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
	b=RJPJF8MIJnyEQ3AgT/Y5Dl+OTFtlGcc0HvXa1U1tgOd5MazmfImsgggE5ACqwjJaB
	 afosdHa+unLNQY62rV1SGZk2IgXYP4etxEcFmoaBaDfbiOBU38zxlRZiOY4rfJC3Pv
	 JZdbjFzKMWlmfRMjpkx/RAWf4N90+J8VgsyuN2CzUt6SgxdP91KY31flvDB65YvMTv
	 mW8osA94Ekn8UHhdeFD2tBpG9If4PcDWUGM9M3LUj4gk1FuA6TgjbOWwGlez4nu0CJ
	 nhdZIQ2+2/Ryp4+1D6qZUyQyaP3QczUmZSCzEzzrPOrMoOOSgSqVRkL96WlFxcnLFx
	 6WUXAhyiRdF6A==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
MIME-Version: 1.0
Message-ID: <trinity-bdb54283-3ac1-4ba4-b590-dd3e056b3ccb-1679254959573@3c-app-webde-bap20>
From: Denis <tachyon_gun@web.de>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from Xen
 4.0.1
Content-Type: text/plain; charset=UTF-8
Date: Sun, 19 Mar 2023 20:42:39 +0100
Importance: normal
Sensitivity: Normal
In-Reply-To: <77bcbd53-beb6-6fd0-d272-f0c9e2f95605@suse.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
 <e5a4689e-27e1-6992-65f8-c59b669aeaf1@citrix.com>
 <77bcbd53-beb6-6fd0-d272-f0c9e2f95605@suse.com>
Content-Transfer-Encoding: quoted-printable
X-UI-Message-Type: mail
X-Priority: 3
X-Provags-ID: V03:K1:hE5F7Y/ueq1AtmKvspOKqA+Jn850ccie6sOPN6d24Dpab1Ja04XAgKb3ZP6PViYz+4Jfc
 H6LQoZx0XKECfRk2ptzvZOKW4aUNNlYg+h1+MlAmoj9v156I33CMKLP2WuNv5Lb77VgZZwBz6VQw
 ylj1yPAjd5Iy/61jfgdhansopSkch0NmQyZYlAtHfI1aB7FNoIggCLqVf7vxE6xlMIXrl1ca6pDr
 nkBXM8no8CbdoNY9cHzSb8zoQCdVdsHZr5W2abdt7P6DiOOoCfWDQIRqrFVhC8semsU0NpCDzcWz
 fo=
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:qvvgKrfHDYY=;R8VSZoLY8WkNv79B3dXBWP0ynKX
 oHbcsBTsOKWBoB06NxiLWj2gQZ+kg/5CVS719ArnaRG0ZZTauVLZCMLH6HCgcT92xg42yKB62
 HC3IVwMi+jtwctR3H57/C6QKMGLpChGcVzFUVtK8kS1mNoM32yA61Tu7Sf4rrZHEmavb/8VKy
 d7ppEK8zTVyphxED1MohBGLqaKmsc9h8EjcFhjz1+3atCzJvsuQL66BcAJEuIsvmJFnzojtFo
 Kn05vSe55WJvNdSSEaY+TtYigJZCCA4OMVzilDrWefI/SHhv9twu3U88n5hKCI5IEqzqF0INn
 VoopBqvXDVEw6HP5GTtujuTyz8N+KZfPC8UQGZNTP0I1x+Fid2LwwCfcNvC9iwGN10zDwG67r
 pcL1CjfFnEznRGnN4tFLqYlAIGy0D/iAiJeOMY9LWpZL67ZNrL/A09EiLjzwzT2VlkUEPfttE
 wUxu21hF92FIsweMHfIxvx2zWRLGFF7OElINot2TJWguciDi3OyZnwcOjrqwmVYoh/GLBO9xx
 sv2ITbqRn1+Byz5P7BwYeuvXUze5RmTr6VnETstGmlHBDLXr5G6tPk6Gag8AyTGKE84toOUjK
 b43mazNHiUoLjqCkMc1BxzWUb6ut+aRqs+xASLWSMZ7x9YV665nEYulEaH7KyF6n/LUGShs2H
 Ab2JJUrLsx7Wsu9yNPrYCDGGWWt0rfZ2ypzBnMnQTJ4FofkuFKks77M/40YbiNb33WPjI0o9B
 7+6ZSE86V3BBDcEqt10PKhZRQFW0VurkUBK+eChgr7jeMdR4ZbzUlZ/+RG9igWDk3DL98yxAZ
 6FZZjGNOgMcLQJJY2xWWLD43iHslg8NUpO55jWvh3IzwU=

On 16=2E03=2E2023 16:59, Jan Beulich wrote:
> On 14=2E03=2E2023 16:11, Andrew Cooper wrote:
> > On 14/03/2023 2:53 pm, Denis wrote:
> >> On 14=2E03=2E2023 07:37; Jan Beulich wrote:
> >>> On 14=2E03=2E2023 02:15, Denis wrote:
> >>>> On 13=2E03=2E2023 10:36, Jan wrote
> >>>>> On 10=2E03=2E2023 21:50, Denis wrote:
> >>>>>> Should I test something else?
> >>>>> =2E=2E=2E there was no request for any further testing here, for t=
he moment=2E
> >>>> ah=2E=2E=2Esorry, going by "Would be nice to have this confirmed fo=
rthe system
> >>>> in question, i=2Ee=2E without Xen underneath Linux" I thought I cou=
ld test
> >>>> something which might help shed some light on all of this=2E
> >>> Well, yes, that Linux-without-Xen test would still be useful to have
> >>> results from=2E I didn't account for this in my earlier reply becaus=
e
> >>> I had asked for it before already, and I did take "something else"
> >>> for meaning anything that might have turned up as useful from the ne=
w
> >>> data you had provided=2E
> >> What tests could I do or what info should I provide to help?
> >=20
> > Can you please rebuild Xen with this patch:
> >=20
> > diff --git a/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> > b/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> > index 2fdebd2d74c9=2E=2E747eae25f56c 100644
> > --- a/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> > +++ b/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> > @@ -1033,7 +1033,7 @@ static int __init parse_ivrs_table(struct
> > acpi_table_header *table)
> > =C2=A0=C2=A0=C2=A0=C2=A0 const struct acpi_ivrs_header *ivrs_block;
> > =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long length;
> > =C2=A0=C2=A0=C2=A0=C2=A0 unsigned int apic;
> > -=C2=A0=C2=A0=C2=A0 bool_t sb_ioapic =3D !iommu_intremap;
> > +=C2=A0=C2=A0=C2=A0 bool_t sb_ioapic =3D 1;
> > =C2=A0=C2=A0=C2=A0=C2=A0 int error =3D 0;
> > =C2=A0
> > =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON(!table);
> >=20
> > which should cause the behaviour to revert back to that of Xen 4=2E0=
=2E1=C2=A0
> > (i=2Ee=2E it will fully ignore the checks relating to the southbridge =
ioapic)=2E
>=20
> Alternatively you may want to try the change below (I think I have now
> convinced myself that the state change is still possible at this point
> in time), with the intended effect of =2E=2E=2E
>=20
> > Confirm that with this, and booting Xen simply with `iommu=3D1` that f=
ull
> > DMA remapping and interrupt remapping is considered active=2E
>=20
> =2E=2E=2E DMA remapping active, but interrupt mapping off (i=2Ee=2E matc=
hing
> Linux behavior), without any overriding command line options=2E
>=20
> Jan
>=20
> AMD/IOMMU: allow DMA remapping to remain enabled when there's no southbr=
idge IO-APIC
>=20
> The original Linux commit that our respective code was derived from
> isn't as heavyhanded as our cloned code: It only disables interrupt
> remapping in such a case=2E Follow that model, noting that it is still
> early enough to turn interrupt remapping off on its own=2E
>=20
> Fixes: 06bbcaf48d09 ("AMD IOMMU: fail if there is no southbridge IO-APIC=
")
> Reported-by: Denis <tachyon_gun@web=2Ede>
> Signed-off-by: Jan Beulich <jbeulich@suse=2Ecom>
> ---
> Note that the alternative of disabling per-device interrupt remapping
> is undesirable as per XSA-36, yet then again it may still be better than
> turning off interrupt remapping altogether=2E Thoughts?
>=20
> --- unstable=2Eorig/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> +++ unstable/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> @@ -1183,7 +1183,7 @@ static int __init cf_check parse_ivrs_ta
>      if ( !error && !sb_ioapic )
>      {
>          if ( amd_iommu_perdev_intremap )
> -            error =3D -ENXIO;
> +            iommu_intremap =3D iommu_intremap_off;
>          printk("%sNo southbridge IO-APIC found in IVRS table\n",
>                 amd_iommu_perdev_intremap ? XENLOG_ERR : XENLOG_WARNING)=
;
>      }

Thank you=2E

I'll give this a try also and will report back=2E


Denis


From xen-devel-bounces@lists.xenproject.org Sun Mar 19 20:13:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Mar 2023 20:13:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511670.790786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pdzOc-0006tf-Ke; Sun, 19 Mar 2023 20:12:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511670.790786; Sun, 19 Mar 2023 20:12: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 1pdzOc-0006tY-HT; Sun, 19 Mar 2023 20:12:50 +0000
Received: by outflank-mailman (input) for mailman id 511670;
 Sun, 19 Mar 2023 20:12: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 1pdzOb-0006tO-RM; Sun, 19 Mar 2023 20:12: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 1pdzOb-0004Vq-NS; Sun, 19 Mar 2023 20:12: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 1pdzOb-000352-AW; Sun, 19 Mar 2023 20:12:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pdzOb-00028D-AB; Sun, 19 Mar 2023 20:12: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=y0gBlQS4fNXMlWbZlpied+fXp19rvOhRKXLRh5FCu8g=; b=fB4yujTJSyiZ/TIXYWUUrpvMOG
	xKH3k4SSuX85UXDOYtA7vzq+I6y2hi8zm3Cq8BzvCZdhyDejaFV4H0Bb+2rrj5dbS9y/Nywcp1VRo
	TevDI2ZPuSj8uiS88Ha706hc/nl/JrwufMD8n5V8m0fdB1L51pI0H8F+9PBGhcyJsi8s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179774-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179774: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:build-i386-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=a3671bd86a9770e34969522d29bb30a1b66fd88a
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 19 Mar 2023 20:12:49 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-pair 26 guest-migrate/src_host/dst_host fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 17 guest-saverestore     fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 17 guest-localmigrate   fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 build-i386-pvops              6 kernel-build             fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                a3671bd86a9770e34969522d29bb30a1b66fd88a
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   26 days
Failing since        178093  2023-02-22 05:02:47 Z   25 days   48 attempts
Testing same since   179774  2023-03-19 06:52:53 Z    0 days    1 attempts

------------------------------------------------------------
2187 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             fail    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Sun Mar 19 22:50:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Mar 2023 22:50:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511686.790815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pe1qZ-0007oW-Ut; Sun, 19 Mar 2023 22:49:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511686.790815; Sun, 19 Mar 2023 22: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 1pe1qZ-0007oP-Q3; Sun, 19 Mar 2023 22:49:51 +0000
Received: by outflank-mailman (input) for mailman id 511686;
 Sun, 19 Mar 2023 22:49:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pe1qZ-0007oF-0s; Sun, 19 Mar 2023 22:49:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pe1qY-0007wV-TU; Sun, 19 Mar 2023 22:49: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 1pe1qY-0007lC-IF; Sun, 19 Mar 2023 22:49:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pe1qY-0002yY-Hq; Sun, 19 Mar 2023 22:49:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gvm+HOJ6roNQhgYFuTOMs62kiF4wfEswJkszOeZKgYA=; b=atZSH6zPYzctDOwJh6Al6876DP
	n9Bj2MbFul0HCpETty7ObLc5o96LWjFYNHiejk6wVj8XGZM4DYJbUvP7PjmgwSLrvQM/emCfKyxt6
	x7e4LfaKws4eKWCQSDpbqeeY/Lgu2SEozmTBtZgG/V2WWudgK+IlA1M7K73cI/Q/Zfb4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179776-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179776: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=74c581b6452394e591f13beba9fea2ec0688e2f5
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 19 Mar 2023 22:49:50 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                74c581b6452394e591f13beba9fea2ec0688e2f5
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z   10 days
Failing since        179526  2023-03-10 01:53:40 Z    9 days   16 attempts
Testing same since   179733  2023-03-17 21:10:25 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Steve Sistare <steven.sistare@oracle.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Wei Wang <wei.w.wang@intel.com>
  Willem van de Velde <williamvdvelde@gmail.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 00:06:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 00:06:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511692.790831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pe32N-0000eA-TI; Mon, 20 Mar 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 511692.790831; Mon, 20 Mar 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 1pe32N-0000e3-PL; Mon, 20 Mar 2023 00:06:07 +0000
Received: by outflank-mailman (input) for mailman id 511692;
 Mon, 20 Mar 2023 00:06: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=FkzI=7M=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pe32L-0000dx-Ip
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 00:06:05 +0000
Received: from mail-qt1-x833.google.com (mail-qt1-x833.google.com
 [2607:f8b0:4864:20::833])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff3bd85a-c6b2-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 01:06:01 +0100 (CET)
Received: by mail-qt1-x833.google.com with SMTP id d7so11378170qtr.12
 for <xen-devel@lists.xenproject.org>; Sun, 19 Mar 2023 17:06:01 -0700 (PDT)
Received: from shine.lan ([2001:470:8:67e:80c9:20df:afaa:e9a2])
 by smtp.gmail.com with ESMTPSA id
 b6-20020ac87546000000b003d29e23e214sm5436063qtr.82.2023.03.19.17.05.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 19 Mar 2023 17:05: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: ff3bd85a-c6b2-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679270760;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=5a1JyWJg/Pu62/RjBhcMGBP6W8dtaT/x8zVZREFg0Dk=;
        b=afyHVdhhB1o8XlPlFKUzbGzLZZFpEQ+X8A+V1Yyz7eQzogxmnxMM5eQoywfTfa6wGt
         oSgpSvZ6kbOIBED0D61nibQXJbm4tZCt03ivrSjq/zkFdnTOvrR8RFR8mSLSV5BmICy1
         hXSDRFLOPE/YEZGoOBLlfJjn66uceDG8kCVEv/H89cXUT+eAi961llEm7UfLKSgg8QEK
         g3K/p0UAJTl/E/bsNxPSW1pWG6tteGH23BJmhim2i1VLFti5MDSUcdoyQrtH0n/X+ibg
         HGxmg3PnXWymZCRDZ9J08iqw84XT83ab07vn48DX7KPj2njri5+R7nRNMj+V/+nQCJAx
         kDZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679270760;
        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=5a1JyWJg/Pu62/RjBhcMGBP6W8dtaT/x8zVZREFg0Dk=;
        b=HbwnQ+F1BpUDrcNhDzvgT1zBezpE3cuSWENGJPzQbtxzF2FZdLKfc/rbmBfptt9kJe
         Cu23WmhFEMPxm/tZdm+RHD0YuNt16PWOAVS3tBgNiKrOpZD2ZqWlKooc0luMWDv3ftl0
         XebB+PrNxLvdZPzX8tOc8haBuwYYjawsijCp9+8AYMWa1sP4XzmYE91neDpY7rTJmB+b
         QLwRceZJEVAMFdnKutUmUSOP8+nJ6WHXgs5SPYqn9jZhQ9s3DzQ53CBkQMDERvTpQicg
         QhAo2U0zk6O+nMIRh+LJoaFKNycjjRy76dbTO5hSKGvDYHGO9ZsDxkxIXm87nDdQEsbD
         BuOA==
X-Gm-Message-State: AO0yUKUlJ4Z7moEQlUVTr262FZ0PFayvWMSZz/CObOXndct42lOBPgBv
	GPJrv+LJyXhz/0MghH+F1vo=
X-Google-Smtp-Source: AK7set+Zo684WUfcxnUtAPjO/39U3tutzblM/k8Yw/nvLEiezgMMLgrx8x0tgn+9VonzLIYHffsBPA==
X-Received: by 2002:a05:622a:118b:b0:3bf:db54:b622 with SMTP id m11-20020a05622a118b00b003bfdb54b622mr25089122qtk.30.1679270760188;
        Sun, 19 Mar 2023 17:06:00 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: qemu-devel@nongnu.org,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH] xen: Fix host pci for stubdom
Date: Sun, 19 Mar 2023 20:05:54 -0400
Message-Id: <20230320000554.8219-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.37.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

PCI passthrough for an HVM with a stubdom is PV PCI passthrough from
dom0 to the stubdom, and then QEMU passthrough of the PCI device inside
the stubdom.  xen-pciback has boolean module param passthrough which
controls "how to export PCI topology to guest".  If passthrough=1, the
frontend shows a PCI SBDF matching the backend host device.  When
passthough=0, the frontend will get a sequentially allocated SBDF.

libxl passes the host SBDF over QMP to QEMU.  For non-stubdom or stubdom
with passthrough=1, this works fine.  However, it fails for
passthrough=0 when QEMU can't find the sysfs node for the host SBDF.

Handle all these cases.  Look for the xenstore frontend nodes.  If they
are missing, then default to using the QMP command provided SBDF.  This
is the non-stubdom case.  If xenstore nodes are found, then read the
local SBDF from the xenstore nodes.  This will handle either
passthrough=0/1 case.

Based on a stubdom-specific patch originally by Marek
Marczykowski-Górecki <marmarek@invisiblethingslab.com>, which is based
on earlier work by HW42 <hw42@ipsumj.de>

Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
 hw/xen/xen-host-pci-device.c | 96 +++++++++++++++++++++++++++++++++++-
 hw/xen/xen-host-pci-device.h |  6 +++
 2 files changed, 101 insertions(+), 1 deletion(-)

diff --git a/hw/xen/xen-host-pci-device.c b/hw/xen/xen-host-pci-device.c
index 8c6e9a1716..51a72b432d 100644
--- a/hw/xen/xen-host-pci-device.c
+++ b/hw/xen/xen-host-pci-device.c
@@ -9,6 +9,7 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu/cutils.h"
+#include "hw/xen/xen-legacy-backend.h"
 #include "xen-host-pci-device.h"
 
 #define XEN_HOST_PCI_MAX_EXT_CAP \
@@ -33,13 +34,101 @@
 #define IORESOURCE_PREFETCH     0x00001000      /* No side effects */
 #define IORESOURCE_MEM_64       0x00100000
 
+/*
+ * Non-passthrough (dom0) accesses are local PCI devices and use the given BDF
+ * Passthough (stubdom) accesses are through PV frontend PCI device.  Those
+ * either have a BDF identical to the backend's BFD (xen-backend.passthrough=1)
+ * or a local virtual BDF (xen-backend.passthrough=0)
+ *
+ * We are always given the backend's BDF and need to lookup the appropriate
+ * local BDF for sysfs access.
+ */
+static void xen_host_pci_fill_local_addr(XenHostPCIDevice *d, Error **errp)
+{
+    unsigned int num_devs, len, i;
+    unsigned int domain, bus, dev, func;
+    char *be_path;
+    char path[80];
+    char *msg;
+
+    be_path = qemu_xen_xs_read(xenstore, 0, "device/pci/0/backend", &len);
+    if (!be_path) {
+        /*
+         * be_path doesn't exist, so we are dealing with a local
+         * (non-passthough) device.
+         */
+        d->local_domain = d->domain;
+        d->local_bus = d->bus;
+        d->local_dev = d->dev;
+        d->local_func = d->func;
+
+        return;
+    }
+
+    snprintf(path, sizeof(path), "%s/num_devs", be_path);
+    msg = qemu_xen_xs_read(xenstore, 0, path, &len);
+    if (!msg) {
+        goto err_out;
+    }
+
+    if (sscanf(msg, "%u", &num_devs) != 1) {
+        error_setg(errp, "Failed to parse %s (%s)", msg, path);
+        goto err_out;
+    }
+    free(msg);
+
+    for (i = 0; i < num_devs; i++) {
+        snprintf(path, sizeof(path), "%s/dev-%u", be_path, i);
+        msg = qemu_xen_xs_read(xenstore, 0, path, &len);
+        if (!msg) {
+            error_setg(errp, "Failed to read %s", path);
+            goto err_out;
+        }
+        if (sscanf(msg, "%x:%x:%x.%x", &domain, &bus, &dev, &func) != 4) {
+            error_setg(errp, "Failed to parse %s (%s)", msg, path);
+            goto err_out;
+        }
+        free(msg);
+        if (domain != d->domain ||
+            bus != d->bus ||
+            dev != d->dev ||
+            func != d->func)
+            continue;
+        snprintf(path, sizeof(path), "%s/vdev-%u", be_path, i);
+        msg = qemu_xen_xs_read(xenstore, 0, path, &len);
+        if (!msg) {
+            error_setg(errp, "Failed to read %s", path);
+            goto out;
+        }
+        if (sscanf(msg, "%x:%x:%x.%x", &domain, &bus, &dev, &func) != 4) {
+            error_setg(errp, "Failed to parse %s (%s)", msg, path);
+            goto err_out;
+        }
+        free(msg);
+        d->local_domain = domain;
+        d->local_bus = bus;
+        d->local_dev = dev;
+        d->local_func = func;
+        goto out;
+    }
+
+    error_setg(errp, "Failed to find local %x:%x:%x.%x", d->domain, d->bus,
+               d->dev, d->func);
+
+err_out:
+    free(msg);
+out:
+    free(be_path);
+}
+
 static void xen_host_pci_sysfs_path(const XenHostPCIDevice *d,
                                     const char *name, char *buf, ssize_t size)
 {
     int rc;
 
     rc = snprintf(buf, size, "/sys/bus/pci/devices/%04x:%02x:%02x.%d/%s",
-                  d->domain, d->bus, d->dev, d->func, name);
+                  d->local_domain, d->local_bus, d->local_dev, d->local_func,
+                  name);
     assert(rc >= 0 && rc < size);
 }
 
@@ -342,6 +431,11 @@ void xen_host_pci_device_get(XenHostPCIDevice *d, uint16_t domain,
     d->dev = dev;
     d->func = func;
 
+    xen_host_pci_fill_local_addr(d, errp);
+    if (*errp) {
+        goto error;
+    }
+
     xen_host_pci_config_open(d, errp);
     if (*errp) {
         goto error;
diff --git a/hw/xen/xen-host-pci-device.h b/hw/xen/xen-host-pci-device.h
index 4d8d34ecb0..270dcb27f7 100644
--- a/hw/xen/xen-host-pci-device.h
+++ b/hw/xen/xen-host-pci-device.h
@@ -23,6 +23,12 @@ typedef struct XenHostPCIDevice {
     uint8_t dev;
     uint8_t func;
 
+    /* different from the above in case of stubdomain */
+    uint16_t local_domain;
+    uint8_t local_bus;
+    uint8_t local_dev;
+    uint8_t local_func;
+
     uint16_t vendor_id;
     uint16_t device_id;
     uint32_t class_code;
-- 
2.37.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 01:30:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 01:30:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511699.790847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pe4Lg-0000eU-5I; Mon, 20 Mar 2023 01:30:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511699.790847; Mon, 20 Mar 2023 01: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 1pe4Lg-0000eN-2R; Mon, 20 Mar 2023 01:30:08 +0000
Received: by outflank-mailman (input) for mailman id 511699;
 Mon, 20 Mar 2023 01:30: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 1pe4Lf-0000eD-9P; Mon, 20 Mar 2023 01:30: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 1pe4Lf-0001sR-5A; Mon, 20 Mar 2023 01:30: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 1pe4Le-0005oh-PK; Mon, 20 Mar 2023 01:30:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pe4Le-0007xT-Oq; Mon, 20 Mar 2023 01:30: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=upvkWP2kddIa65zRCoiS4uVPpl1KVB84U6sz7vcFxsc=; b=k0XcUbNhZ2eECWQpuT+e1TsuJA
	fjTOsRYvVAGzgx+ZLVxMSBK8u/4LdY+fllSurKI2GMmST86d0v87CYtkJiYnr4s8iZYKDPVy46aO+
	5cx2j6mXENGDrzELXwJCSLHTrdcMM7uC0N7zdqVuP8iVOn3lWON4Bg+3UCkBYxtBSPx0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179791-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179791: regressions - trouble: blocked/fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:build-i386-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    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-arm64-arm64-xl-credit1: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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=e8d018dd0257f744ca50a729e3d042cf2ec9da65
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Mar 2023 01:30:06 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 16 guest-saverestore    fail REGR. vs. 178042
 test-amd64-amd64-xl          17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 27 guest-migrate/dst_host/src_host fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 15 guest-saverestore fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 build-i386-pvops              6 kernel-build             fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 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-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                e8d018dd0257f744ca50a729e3d042cf2ec9da65
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   26 days
Failing since        178093  2023-02-22 05:02:47 Z   25 days   49 attempts
Testing same since   179791  2023-03-19 20:40:14 Z    0 days    1 attempts

------------------------------------------------------------
2198 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            fail    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             fail    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 04:51:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 04:51:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511716.790875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pe7Tm-00079W-LC; Mon, 20 Mar 2023 04:50:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511716.790875; Mon, 20 Mar 2023 04:50: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 1pe7Tm-00079P-Hr; Mon, 20 Mar 2023 04:50:42 +0000
Received: by outflank-mailman (input) for mailman id 511716;
 Mon, 20 Mar 2023 04:50: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 1pe7Tl-00079F-48; Mon, 20 Mar 2023 04:50: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 1pe7Tl-0007Qd-0y; Mon, 20 Mar 2023 04: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 1pe7Tk-0006vW-HN; Mon, 20 Mar 2023 04:50:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pe7Tk-0002dH-Gr; Mon, 20 Mar 2023 04: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=/5t0s0TRbsn6ZpXqzG8moKGtw+YHGre6/xQiAGwjBGc=; b=PtV8ir+aVg0gAAkAOq6C7EfCZu
	6/5f2qkqWlv7H+qXh052PmWbOOKWPK9tZrBijeNAGlPsqgGGu5B6cBhP4Uu9/Rm6e+TaydA2xyVwY
	iTAPss9BCLPwEtZEps9YvMaRpUPBzE+lyyhIQPYd5ZjruQLFMzMzMPvEnCWpFle/kl8c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179795-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179795: regressions - trouble: blocked/fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:build-arm64-pvops:kernel-build:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=74c581b6452394e591f13beba9fea2ec0688e2f5
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Mar 2023 04:50:40 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-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-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                74c581b6452394e591f13beba9fea2ec0688e2f5
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z   10 days
Failing since        179526  2023-03-10 01:53:40 Z   10 days   17 attempts
Testing same since   179733  2023-03-17 21:10:25 Z    2 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Steve Sistare <steven.sistare@oracle.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Wei Wang <wei.w.wang@intel.com>
  Willem van de Velde <williamvdvelde@gmail.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 06:28:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 06:28:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511722.790890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pe8zj-0001AP-JO; Mon, 20 Mar 2023 06:27:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511722.790890; Mon, 20 Mar 2023 06: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 1pe8zj-0001AI-Gn; Mon, 20 Mar 2023 06:27:47 +0000
Received: by outflank-mailman (input) for mailman id 511722;
 Mon, 20 Mar 2023 06: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=wbMo=7M=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pe8zh-0001AC-Fz
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 06:27:45 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 50998608-c6e8-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 07:27:42 +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 4A5C1FEC;
 Sun, 19 Mar 2023 23:28:24 -0700 (PDT)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B43F63F885;
 Sun, 19 Mar 2023 23:27:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50998608-c6e8-11ed-87f5-c1b5be75604c
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org
Subject: [ImageBuilder][PATCH v3 0/2] uboot-script-gen: Add support for static heap and shared memory
Date: Mon, 20 Mar 2023 06:27:16 +0000
Message-Id: <20230320062718.365896-1-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi all,
This patch series is to enable to set the device tree for static heap and static
shared memory by uboot-script-gen

Changes from v2:
 - Remove "domid" parameter
 - Use lower capital letters for local variables
 - add Reviewed-by and Acked-by in XEN_STATIC_HEAP commit message 
Changes from v1:
 - Rather than two separate properties and just use one like follows:
   Change
     DOMU_SHARED_MEM[0]="0x50000000 0x6000000 0x10000000"
     DOMU_SHARED_MEM_ID[0]="my-shared-mem-0"
   to
     DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
 - Use split_value function instead of opencoding it.

jiamei Xie (1):
  uboot-script-gen: Add XEN_STATIC_HEAP

jiamei.xie (1):
  uboot-script-gen: add support for static shared memory

 README.md                | 21 ++++++++++++++++++
 scripts/uboot-script-gen | 46 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 06:28:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 06:28:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511723.790902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pe8zz-0001RM-U5; Mon, 20 Mar 2023 06:28:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511723.790902; Mon, 20 Mar 2023 06: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 1pe8zz-0001RD-Oe; Mon, 20 Mar 2023 06:28:03 +0000
Received: by outflank-mailman (input) for mailman id 511723;
 Mon, 20 Mar 2023 06:28: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=wbMo=7M=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pe8zz-0001QZ-3U
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 06:28:03 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5bbda8c1-c6e8-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 07:27:59 +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 AA3D1FEC;
 Sun, 19 Mar 2023 23:28:42 -0700 (PDT)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id DBEAF3F885;
 Sun, 19 Mar 2023 23:27:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5bbda8c1-c6e8-11ed-b464-930f4c7d94ae
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org,
	Michal Orzel <michal.orzel@amd.com>
Subject: [ImageBuilder][PATCH v3 1/2] uboot-script-gen: Add XEN_STATIC_HEAP
Date: Mon, 20 Mar 2023 06:27:17 +0000
Message-Id: <20230320062718.365896-2-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230320062718.365896-1-jiamei.xie@arm.com>
References: <20230320062718.365896-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: jiamei Xie <jiamei.xie@arm.com>

Add a new config parameter to configure Xen static heap.
XEN_STATIC_HEAP="baseaddr1 size1 ... baseaddrN sizeN"
if specified, indicates the host physical address regions
[baseaddr, baseaddr + size) to be reserved as Xen static heap.

For instance, XEN_STATIC_HEAP="0x50000000 0x30000000", if specified,
indicates the host memory region starting from paddr 0x50000000
with a size of 0x30000000 to be reserved as static heap.

Signed-off-by: jiamei Xie <jiamei.xie@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes from v1 to v2:
 - add Reviewed-by and Acked-by
Changes from v1:
 - Rename STATIC_HEAP to XEN_STATIC_HEAP and move it right after
   XEN_CMD documentation.
 - Use split_value function instead of opencoding it.
---
 README.md                |  4 ++++
 scripts/uboot-script-gen | 20 ++++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/README.md b/README.md
index 814a004..78b83f1 100644
--- a/README.md
+++ b/README.md
@@ -97,6 +97,10 @@ Where:
 - XEN_CMD specifies the command line arguments used for Xen.  If not
   set, the default one will be used.
 
+- XEN_STATIC_HEAP="baseaddr1 size1 ... baseaddrN sizeN"
+  if specified, indicates the host physical address regions
+  [baseaddr, baseaddr + size) to be reserved as Xen static heap.
+
 - PASSTHROUGH_DTS_REPO specifies the git repository and/or the directory
   which contains the partial device trees. This is optional. However, if
   this is specified, then DOMU_PASSTHROUGH_PATHS[number] need to be specified.
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index f07e334..cca3e59 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -189,6 +189,21 @@ function add_device_tree_static_mem()
     dt_set "$path" "xen,static-mem" "hex" "${cells[*]}"
 }
 
+function add_device_tree_xen_static_heap()
+{
+    local path=$1
+    local regions=$2
+    local cells=()
+    local val
+
+    for val in ${regions[@]}
+    do
+        cells+=("$(split_value $val)")
+    done
+
+    dt_set "$path" "xen,static-heap" "hex" "${cells[*]}"
+}
+
 function add_device_tree_cpupools()
 {
     local cpu
@@ -344,6 +359,11 @@ function xen_device_tree_editing()
     then
         add_device_tree_cpupools
     fi
+
+    if test "${XEN_STATIC_HEAP}"
+    then
+        add_device_tree_xen_static_heap "/chosen" "${XEN_STATIC_HEAP}"
+    fi
 }
 
 function linux_device_tree_editing()
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 06:28:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 06:28:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511725.790910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pe907-0001ku-4m; Mon, 20 Mar 2023 06:28:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511725.790910; Mon, 20 Mar 2023 06:28: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 1pe907-0001kl-1q; Mon, 20 Mar 2023 06:28:11 +0000
Received: by outflank-mailman (input) for mailman id 511725;
 Mon, 20 Mar 2023 06:28: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=wbMo=7M=arm.com=jiamei.xie@srs-se1.protection.inumbo.net>)
 id 1pe906-0001AC-1G
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 06:28:10 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 616a0e87-c6e8-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 07:28: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 713D6FEC;
 Sun, 19 Mar 2023 23:28:52 -0700 (PDT)
Received: from comhpcalt.shanghai.arm.com (comhpcalt.shanghai.arm.com
 [10.169.190.22])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E51573F885;
 Sun, 19 Mar 2023 23:28:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 616a0e87-c6e8-11ed-87f5-c1b5be75604c
From: "jiamei.xie" <jiamei.xie@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	jiamei.xie@arm.com,
	sstabellini@kernel.org
Subject: [ImageBuilder][PATCH v3 2/2] uboot-script-gen: add support for static shared memory
Date: Mon, 20 Mar 2023 06:27:18 +0000
Message-Id: <20230320062718.365896-3-jiamei.xie@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230320062718.365896-1-jiamei.xie@arm.com>
References: <20230320062718.365896-1-jiamei.xie@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce support for creating shared-mem node for dom0less domUs in
the device tree. Add the following option:
- DOMU_SHARED_MEM[number]="SHM-ID HPA GPA size"
  if specified, indicate the unique identifier of the shared memory
  region is SHM-ID, the host physical address HPA will get mapped at
  guest address GPA in domU and the memory of size will be reserved to
  be shared memory.

The static shared memory is used between two dom0less domUs.

Below is an example:
NUM_DOMUS=2
DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
DOMU_SHARED_MEM[1]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"

This static shared memory region is identified as "my-shared-mem-0",
host physical address starting at 0x50000000 of 256MB will be reserved
to be shared between two domUs. It will get mapped at 0x6000000 in both
guest physical address space. Both DomUs are the borrower domain, the
owner domain is the default owner domain DOMID_IO.

Signed-off-by: jiamei.xie <jiamei.xie@arm.com>
---
Changes from v2:
 - Remove "domid" parameter
 - Use lower capital letters for local variables
Changes from v1:
 - Rather than two separate properties and just use one like follows:
   Change
     DOMU_SHARED_MEM[0]="0x50000000 0x6000000 0x10000000"
     DOMU_SHARED_MEM_ID[0]="my-shared-mem-0"
   to
     DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
 - Use split_value function instead of opencoding it.
---
 README.md                | 17 +++++++++++++++++
 scripts/uboot-script-gen | 26 ++++++++++++++++++++++++++
 2 files changed, 43 insertions(+)

diff --git a/README.md b/README.md
index 78b83f1..fe5d205 100644
--- a/README.md
+++ b/README.md
@@ -196,6 +196,23 @@ Where:
   if specified, indicates the host physical address regions
   [baseaddr, baseaddr + size) to be reserved to the VM for static allocation.
 
+- DOMU_SHARED_MEM[number]="SHM-ID HPA GPA size"
+  if specified, indicate SHM-ID represents the unique identifier of the shared
+  memory region, the host physical address HPA will get mapped at guest
+  address GPA in domU and the memory of size will be reserved to be shared
+  memory. The shared memory is used between two dom0less domUs.
+
+  Below is an example:
+  NUM_DOMUS=2
+  DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
+  DOMU_SHARED_MEM[1]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
+
+  This static shared memory region is identified as "my-shared-mem-0", host
+  physical address starting at 0x50000000 of 256MB will be reserved to be
+  shared between two domUs. It will get mapped at 0x6000000 in both guest
+  physical address space. Both DomUs are the borrower domain, the owner
+  domain is the default owner domain DOMID_IO.
+
 - DOMU_DIRECT_MAP[number] can be set to 1 or 0.
   If set to 1, the VM is direct mapped. The default is 1.
   This is only applicable when DOMU_STATIC_MEM is specified.
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index cca3e59..9656a45 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -204,6 +204,27 @@ function add_device_tree_xen_static_heap()
     dt_set "$path" "xen,static-heap" "hex" "${cells[*]}"
 }
 
+function add_device_tree_static_shared_mem()
+{
+    local path=$1
+    local shared_mem=$2
+    local shared_mem_id=${shared_mem%% *}
+    local regions="${shared_mem#* }"
+    local cells=()
+    local shared_mem_host=${regions%% *}
+
+    dt_mknode "${path}" "shared-mem@${shared_mem_host}"
+
+    for val in ${regions[@]}
+    do
+        cells+=("$(split_value $val)")
+    done
+
+    dt_set "${path}/shared-mem@${shared_mem_host}" "compatible" "str" "xen,domain-shared-memory-v1"
+    dt_set "${path}/shared-mem@${shared_mem_host}" "xen,shm-id" "str" "${shared_mem_id}"
+    dt_set "${path}/shared-mem@${shared_mem_host}" "xen,shared-mem" "hex" "${cells[*]}"
+}
+
 function add_device_tree_cpupools()
 {
     local cpu
@@ -329,6 +350,11 @@ function xen_device_tree_editing()
             dt_set "/chosen/domU$i" "xen,enhanced" "str" "enabled"
         fi
 
+        if test -n "${DOMU_SHARED_MEM[i]}"
+        then
+            add_device_tree_static_shared_mem "/chosen/domU${i}" "${DOMU_SHARED_MEM[i]}"
+        fi
+
         if test "${DOMU_COLORS[$i]}"
         then
             local startcolor=$(echo "${DOMU_COLORS[$i]}"  | cut -d "-" -f 1)
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 07:42:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 07:42:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511738.790924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peA9l-00035S-N0; Mon, 20 Mar 2023 07:42:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511738.790924; Mon, 20 Mar 2023 07: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 1peA9l-00035L-KI; Mon, 20 Mar 2023 07:42:13 +0000
Received: by outflank-mailman (input) for mailman id 511738;
 Mon, 20 Mar 2023 07: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peA9k-00035F-5E
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 07:42:12 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0630.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b805c2ca-c6f2-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 08:42:10 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8277.eurprd04.prod.outlook.com (2603:10a6:20b:3fc::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 07:42:07 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 07: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: b805c2ca-c6f2-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TJYIUMUa/50xCx6MNHPCewF2qNaCp7VxLTVrSo4uX3y48J1L8SE4a+ydHfwNL4sgnhdEeR+UJmZEtvq3J9vFFnKnOe+nEwc29ZqYMWkL3SSsnImmy2Req52PPl60/peEQTwq/n4F8WSauMQIx1JcgeDbyZE3M6yIHAx+EliRb4KE1dxDDTnTDCueqr3bCGgP/2yNT+oAWV9Fb4vRj/RJrhRURub3cun7luod/XMEcWMha+XBHPWyqRa/BKCuVqID0VK5G4vlG0zy89oZK7FbDAqT4rygdtxvHs0TZqoW9MpnS0ICvIRLnY8163IAC76hFpZKzRMZXteYQBji/WwOuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EajMCkr7SPzN6SUnrUxWhEhkAfE4DvCMO/YqoN9hak0=;
 b=XFqW/8Us2c8eE1SHKOEsLexrErvVDqZJrhZLa/NRZOw5pRKtEFLi0dPRJjapBbXB0s8kal3fWsDdJQjd2PrWYN/oxuHtTV41hKfiJGVWdk1bdLfbJ6wxAZuFOjfWreO46RjqJvUk4coaa2J6NZdjwl94EcPm8VdJyi0dvzPfFdtl2J8efNIVIdoS5GsOp2k0M9cGrzxxOS52Q+P3jiVOmi+oIouk1DN2qHah/coSpIb6HkBkKEYLvyhEEEbxcBkt1aRjKSh69kgdScJIo3ejUEyi5ZXAeQ+RzzvxkLx+Q7oWhbUm6RzmcWtKQyKu3u4ecXkNMsqZDsr7QRrG6g2bpg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EajMCkr7SPzN6SUnrUxWhEhkAfE4DvCMO/YqoN9hak0=;
 b=luqQ39FHm3kNEvB+EIfM1PSo20rgVSkCq/RRTnzk7Z5UyccsSD4nbpR7MJyGvtDt9QF8OuNi2luLB2EM44/0Y5SNMyiGkivAwt7fhq0WmdVWds3nMrlx6J8ntwDEKarBxkVc6vZeuSZLJGuwErKIiv7scH8nHOEiIKwhr6ks0mMrzgMtDQKM3mCfw7+f+F6sbEB8gRTXE9lsgStZWmOFqWMXrEv6Lk0Chh35N+LlbWxil3mjEifX3MI9l5bFcWSSOrIC/KzNXuDbCh4JmdOPPsC3upQQ7jzEPwhecsxGvzYl9WGF0BeXiN5jb3quVuBuHr0yqdLEZRsj8DCNNBo6WA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bbfcd253-59e1-9cc7-a69d-07c4f6756114@suse.com>
Date: Mon, 20 Mar 2023 08:42:06 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4] x86/HVM: support emulated UMIP
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@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>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <581a90d5-a168-5445-6a6d-ab20cc43b944@suse.com>
 <ZBR5T57tSqs2o/Sl@Air-de-Roger>
 <26bf3408-4585-e8fa-a434-56a0d33abf2e@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <26bf3408-4585-e8fa-a434-56a0d33abf2e@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0040.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8277:EE_
X-MS-Office365-Filtering-Correlation-Id: b5fc1e33-c675-4324-ba89-08db2916989f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n5Fxh7htiMCSitbvAI4kXVKRAAZhbGN4FfsSLJYB7fsyknDFagMv+T3ooKRUGMZlNtWmGVzKRzjBl3C+oSpxobsovvc09TIDl6wiYwK9nwvtYGsun8FxU2JT0hQyQ5y7SdX07lITYBGyfPmaHzmROw0TbOc5oA2TTVAWb1IKeMn/zVokBnVcH5hxn182LMaoY/CygQzBp3JWrhYYEg4Fw5WrrA35NVxEg1y9qJFv+2brT6H1UVWVCiTrtTRYWIMrCpESX/FGPINZ7dh9hcZYHdhT6xlB/XEG55UhXzan7SbVttdyq5VAVNGc5U5YfbQ8Z3m8R8GHg2UYk/W4g8Qn5cNDvmpdS/oN+WLd9TkkVf3OBBxvVbVYVJcDLYjJffw2Rt/RS7dZaPN4y+Pw2PEyl2PLYOrA4RNNn4DzgUTxZKhBfBHEali7lYMKbKCxBb+WHSdSeUQZBepyaircctgApjCxUnMtHT8XmSjILA8HuhMpn/w5GLkALMNzV/wxV4dV1mInmpGF6pCuwQr86+mTHgpoI41tlyR50H9yG7k9mgqQna5lXqPysqBAzDZnd4QJSRo3yqD7ilwbjtB6ZLk9p8YMBulzz6qEo5+00EyLcqyGTVCezGoxE5dgwPzRXVWmfRiO+xvTYmW89JLL7f5IS95TnAtrXz3+03j/ga5uFosb7QpSDlRVRSdeEa433TovEmEWq0ldhXpe4MnBgCdL04QDdpu9BIcML8tBOQt7nXU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(136003)(366004)(376002)(39860400002)(451199018)(54906003)(83380400001)(2616005)(86362001)(38100700002)(31696002)(41300700001)(66946007)(4326008)(6916009)(8676002)(36756003)(66556008)(66476007)(2906002)(8936002)(5660300002)(186003)(26005)(6506007)(53546011)(478600001)(6486002)(316002)(6512007)(31686004)(66899018)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVF5V0lYcUNUVGZoQVZWdmwyWHduOTFDMlAzM2JYb3Q1amN1K0F6ZFBXdU44?=
 =?utf-8?B?bGVIemNjRWoycG1lOTNJL0tuRllKY3VlNmRwSGRkUFhwYktqOGZjR2lqL25J?=
 =?utf-8?B?bUNqN2FOQ2JFVkRqSEVaSTFGWWtPVzhDYlpTbmd5TWpFNUl0WlRDYlRPM1ow?=
 =?utf-8?B?bExkeXo5SlFmMThHSDgrSC9kT01ZRnNFUkpNT0VWdkJ5ZFV2NEx2YkdMUGtY?=
 =?utf-8?B?eVZYRzdCMU41T05lclJxcXI5dmhpbmR1WHpLNU83dTY1L1hxcjRDL0hCeXM0?=
 =?utf-8?B?UExNTm1YYTQ0eUZFazd5T0VlNHEwdkcrQVd3R01pM0JQL085SkZKWVlLWllJ?=
 =?utf-8?B?MmlNdHFnaHR1MUI5NHBWcHdCZkY5aGVKb3owbUkzN2ZFY2ptUkdYc1VadDZw?=
 =?utf-8?B?TnBRdFI3OCtuU0Mzd01QeGhhbTEvbWc4TTg2WlJhZHhiL1l1anZlblFpUWxS?=
 =?utf-8?B?NHpVRG44VDZYV0syQjRvUlc0bU9LRFhUQTZBNWJPRG1OeXBLQ2ErVTd3a3Ft?=
 =?utf-8?B?a2ZsVzk5eFpad01IaGJnaElKY3dQMjRYNWJoVFRYQ3JZTXRzcW05Qit3ckZS?=
 =?utf-8?B?VXVyVUhuQkwxRFQ3ZVRtQUhkQXhpOHdmZWt4TjQ2TjNrODlrRmNOeXlxVU43?=
 =?utf-8?B?OUQ4TlJZcGR0NnFKVE0zcWVPc0xiYTRkSGlJczV6aHRDVW1McmFMVWFvbmQz?=
 =?utf-8?B?TURnaTlMaHhicjIxN2xTeEVxTDNpNEVBTTlSQ0JMVlJTRXY5RlNxS0d5MWFw?=
 =?utf-8?B?bXBXV2ljd0IxZ1VFNE1tazNyeU1GWnBSNXBUKzZSZml2ckFoaC9pN3lIcTFv?=
 =?utf-8?B?ejVPMGJaSHRnL3dWK2xnLzF0V3p2aXVDcU1ZNWIrL1E3V1pHK0tqSmFkRHNG?=
 =?utf-8?B?N0JUbmxLSDJ2M3JHbG1yTU15Z0hCM1BQWm9JQjE4ZW5yZTA1RENGZ0Y1MGtW?=
 =?utf-8?B?UmtmeGxBalJWTDRwV0ZkWGIvUEN5YnNsTFEvT3VpUVRiVlcvWXhLaXZFbWVk?=
 =?utf-8?B?NURMT3ZKQjN0WEwwZTVXbkdBeHFWR3UyUGN6bkw0akZOc0N3RDQ5aGkvZkNO?=
 =?utf-8?B?RTJYQmh2MlR1U01WaDZqYWNySEZLTzM2TEZ1WGlNQTgxcERJMVdkQS9DVHEr?=
 =?utf-8?B?czU2UzA2MW96cmdEZzFaN09KK0N3NHU4bVVRWmVUZWZiRWtqZTZKR1NjKzls?=
 =?utf-8?B?aUpBaFNYN2xsZ2Ivb1lJYUNMKzBEam9JSFZQMjlSSW04czZjSTUzWTQ4ZHFh?=
 =?utf-8?B?dTlqM2JVcUlnNlhGV3hRcUhNekgxTmtSbnp6MWJocmxHNzI1OU44UHNSdnE0?=
 =?utf-8?B?THFPNEs3ZE55c0FxTEtsV0I5M3pad2FJNU9TNFU5YWpNSHRBRE03SG14MVF3?=
 =?utf-8?B?aEtneXNDbzE5dFZpNFRiZUpnZE1UQ0Y0R0RFeTc0WFEwZmYzMExjazkxN1hL?=
 =?utf-8?B?eTNFMG8xTEV3Q3dXUldZMllyQ2M0YmVPZ2h6RXh4Q042azVQcGV0Uk1HZG5j?=
 =?utf-8?B?TThEZXBMZHYzWG43eW1GYjZRN01uUVF2T2RQVVR1NTdWdkJyY2ZIb0hrR1dV?=
 =?utf-8?B?WXJKT0phQjlROEIzQ0t0Rks3Wk8xc1ZwZTdyS3RxN1J5ZjI5dmxtMk1Pb0Iy?=
 =?utf-8?B?MnhNOHdGdWJ1UUtxcjVodzYzSEhoQkQyaHJOYmdYcGJPMUM5ZVVBZUJXTExv?=
 =?utf-8?B?NGpBV2R3bHhvNzdxcFZlSENLdzBMQVU2am1JU2FUSzVmUTZ2M1Rtams2L0lG?=
 =?utf-8?B?T094aWZkL1laWXRCUGpCalR6NFFBWGhjNE13NXc1a3lHRit5bjZlZ2drb3Bm?=
 =?utf-8?B?UlZOWHBUcTNVdHpWTVo2ZzZNQXFsVllDcHRZNkIzZ2dxbjJOckpCandra3dT?=
 =?utf-8?B?RzE5R2pBWUhlczV0N3FiZXhWalJDZjBKOG9oYnpiK0M0dTZSaUFKQStMMmN1?=
 =?utf-8?B?cVdsUUZmVGwzVGRkK1JEUTdPRWVyT3M5WVpsblhoZmpoZ3JPUFVDeGZ1dUNk?=
 =?utf-8?B?L1JwVG81cGFxcXBBQnVqYytUb2VPRGRLTi9iTnIwdm1NT1I1aVRMNjlMYlZK?=
 =?utf-8?B?YTBxU2RxaHRLOXJ2TEN3b1JoNm93N1RkeCt5Rkt4TVplNHVjVmpweGEzRHVD?=
 =?utf-8?Q?Cd5xTckuiVLmyt0MSMtvb3sYi?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5fc1e33-c675-4324-ba89-08db2916989f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 07:42:03.1399
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LwTC/8FI4+epWcFg1Zj0pjinADA65RUvbaQdWhlmy0VZmmrRDihXRjYvBoc9cEvpBeR+d49lNhPAixwIUOB8MA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8277

On 17.03.2023 17:30, Andrew Cooper wrote:
> On 17/03/2023 2:29 pm, Roger Pau Monné wrote:
>> On Thu, Apr 15, 2021 at 11:47:42AM +0200, Jan Beulich wrote:
>>> There are three noteworthy drawbacks:
>>> 1) The intercepts we need to enable here are CPL-independent, i.e. we
>>>    now have to emulate certain instructions for ring 0.
>>> 2) On VMX there's no intercept for SMSW, so the emulation isn't really
>>>    complete there.
>> Then I'm afraid we can't set the bit in the max CPUID policy.  What
>> about domains being migrated from a host that has UMIP to an Intel
>> host where UMIP is emulated?  They would see a change in behavior in
>> SMSW, and the behavior won't match the ISA anymore.
> 
> There are conflicting opinions on this.  But the truth is that SMSW only
> leaks the bottom nibble(?) of CR0 and that simply isn't information that
> is of use to an attacker like SGDT/SIDT is.

No, with a register operand SMSW can read the entire CR0. But I dare to
ask what's interesting in the value for an attacker. Hardly any of the
bits will ever vary over time, once past boot.

> So from an entirely ideal point of view there is an argument to say that
> UMIP-but-can't-block-SMSW is better than no UMIP.
> 
> 
> Except, I'm not fully convinced by this argument.
> 
> SMSW aside, emulating UMIP on hardware without it involves emulating the
> guest being able to set CR4.UMIP which is reserved so we have to
> intercept #UD, and intercepting all #GP so we can find the
> S{I,LG}DT/STR/SMSW(on AMD) instructions and fail them in Ring3.
> 
> We went to a lot of effort to not intercept #UD (by default) because it
> exposed x86_emulate() to guest userspace and caused us a huge number of
> security headaches.  Similarly, #GP interception is the source of a lot
> of security bugs on other hypervisors.
> 
> So there is large security concern with this patch.  Which is not a no,
> but definitely is a "need to think about this more carefully".

You recall that this concern (not just here) is what we've introduced the
"verify" hook for? Yes, this doesn't entirely eliminate the concern, but
it reduces the risk quite significantly, I think.

> This logic isn't useful for Linux.  All versions of Linux which know
> about UMIP already put the IDT and GDT on read-only mappings to prevent
> SIDT/SGDT being useful to an attacker on hardware lacking UMIP.  I don't
> know what Windows does here, but I would be amazed if they don't
> something similar.
> 
> Therefore, this logic is only useful for guests which do know about
> UIMP, and do not have any other defences against SIDT/SGD.  If this
> isn't an empty set of kernels, it will be a small set.

Well, okay, I guess I'll simply drop this change then, and consider it
merely a (past) useful exercise.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 07:46:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 07:46:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511740.790934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peADI-0003fK-9J; Mon, 20 Mar 2023 07:45:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511740.790934; Mon, 20 Mar 2023 07:45:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peADI-0003fD-5O; Mon, 20 Mar 2023 07:45:52 +0000
Received: by outflank-mailman (input) for mailman id 511740;
 Mon, 20 Mar 2023 07:45: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peADG-0003f5-S7
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 07:45:50 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20616.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a0ff483-c6f3-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 08:45:48 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8985.eurprd04.prod.outlook.com (2603:10a6:20b:408::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 07:45:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 07:45: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: 3a0ff483-c6f3-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kSz/PFn3BGMjTkXDrLHqJ8wmdB6KxsQ+VW8XFnVOOmiTreFSL4tQW9YR2vZ1GmJr64Ijxk01vsnmbHJMRi6f5Rw/mwPgmQHcH0Pxb2ugY7fXXQ6n1wIMLtpPgsCndycAMnuNNwxUltFLlkkcl9fgzlX2N6pazdHNYC/5StgK29L0voZciqr5I7mqGEPfrdU+7/bOA/Gp7ATKg1R0vdZTsqs3VSihnrkpJ2RWN7zmKgTcdbN7EnJ9NxCRqYHWRYyb8CXUh6SDwsK3FFfBk1Q1YwxH+ZGChkiYf8z3sIE6GXoWq1QFnmU3YLUmrsWsQga5/4cR9fHdGIKZ3MW1paFTJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XXJIjDbR5xUJjs00RqVQVcWmI5CGmxY/bzTrxSuk4OU=;
 b=I0UNO4ql84pmXTPiERs413Uyjd4jHfbjOAlGT2g7cU/CWg+kxztHWhTf1Q/P4xApXok9hqINCIwFGjaRPkeQfpT/LBFwG0ui2PeT06Lxwnk0B6K7xZx9FF7wbV60KRRKtkN6ppqYpZFgTDcLM0UJ3lJ7vYYB4njQtam2v6Rj48Bt7NXrcoAdo1HVwPazVffGMMJg+26hNerfRBi1DsvRg0uSkBZWHleje0WjMRCpd5iRjHNZk5BvbQ6tc4nBv+B15NdQC3ry9yoM/Xq4TTlGFHWKKpWzwwAepWmZnjW/JQ3b0NvCOxGxVSDS5YPhkVMdhAj9xA71bQ9acxwXCaEtWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XXJIjDbR5xUJjs00RqVQVcWmI5CGmxY/bzTrxSuk4OU=;
 b=OCsTHQGHugxMKoo6UQh0ExzU8nAVcO7gl7cgiPoOF6V4Tg2o3FeqbwtpNp5s+LNikL+HKofiNABMk+0+dpyrClssT/dObfd3PBxfnjrRwKI/OjcZFZ0K3b2SZXBPv5ismYfSD6wxzLIHAYD7MAbSf+ZbqT9o3ujTXjKxLOPjiiHr4rCUI2XbJwX2nD/bB5PERjkOg6EzmRGZb8h4wc2JEOyTkBYeqo38PagHxibRAWejldauMCaYNsfPqFQON9xDem5yBBe1BoDpbmEC0fAC1heAsRUXryG/8xWmnETYZi3NzEbZIFFAbmt+MCKhXeYINudJemMxRuFpLi1HxMkmqw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9419f4a5-845d-4761-bd35-ad0de306a561@suse.com>
Date: Mon, 20 Mar 2023 08:45:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4] x86/HVM: support emulated UMIP
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: <581a90d5-a168-5445-6a6d-ab20cc43b944@suse.com>
 <ZBR5T57tSqs2o/Sl@Air-de-Roger>
 <a77ec0d5-0f97-409d-e954-0f28c30cf28b@suse.com>
 <ZBSQnFpf89uEwXif@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBSQnFpf89uEwXif@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0040.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8985:EE_
X-MS-Office365-Filtering-Correlation-Id: e68c7492-238c-4d79-7e9e-08db29171ac4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gwxbPoLyrZ/7cJcAkBBs5IfbDrIwStClmfy2Yr58qo/8cFyJusVMVbtRdNYyZ9kDb3TRBTCAURfKwXOa7O4M/miLtwAarj7j9OraA66njtjwgqQO63LRjGGBzAITeZRCJ4asmgMUznwHTkUpt50dbK9CMZSnei6/9OLKvEx47ULkl2IDCKXB7Tj980C+tpFBek29IT/NTFXQT6vzM7FYKN/szcalSmfDhIUYPGWyqvKJm+deGJCYRckJYIMupr2TuEnJUaA3vNpAwJxjojIvCkl/OIkpFfWrfZfWs84DgKdHYaYxJ6Czl/DPpnLg41PYTaATB2p8IVY6IF5I8GPhRzczOxBhiiVW3MsiwtbF1xqaFqeqVQImiaQysyScd4/LDCcyUxkBYyS2/Zra6RRdznk6+gkGxAF3eXtj5X4m7DVPnc6oOSOwh+CjY84LHhLdjC5hzEzHxTJF1liKuTBPvUMfNUisHmzRfW8K5AmC4u8pMPEY6ThYQBqTftUSQ+rsEyJFMRRAEdwggR4vMeYoF4HCAKXKXhRjDai11zYu6LA+wlzU3GK271DUKYBwCulJc9+2vMMLvOFt87tjXhzTfcpspI6NG+El/dgCxW1DFuUHoCpea9UuWJrE0njvDfhqI5vpD5PnNryveH7+wZ2siYOxxLi7zJuPMExPDuRP8c67DO1V4vqgOAmM5EuNXBiBloaE5p0K43Mn7zDmBWBBa4t8fGzPekMkQliFS/R+0KI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(396003)(376002)(366004)(39860400002)(346002)(451199018)(186003)(478600001)(26005)(6486002)(83380400001)(6506007)(54906003)(6512007)(31686004)(53546011)(2616005)(316002)(66899018)(66556008)(66476007)(8676002)(66946007)(6916009)(4326008)(8936002)(41300700001)(5660300002)(38100700002)(2906002)(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?OUZsa0lZTVM5Nm5tSGNQTE85RXFyMWx4WVE0eHluNkxCdmt6REp6SWJwUFJw?=
 =?utf-8?B?MlNBdFJaK2IyU1NQS2FkQjRoV2N2Q2NKdHBwSU5yb1hzWkxaTWQ5VEJ4aUZV?=
 =?utf-8?B?Z2Nxc21PTXRXTjNhamhnVTcraHlZbldDb2hGc3dDTzV5elpLRStPYTlvZVNB?=
 =?utf-8?B?a3Axb2xUcSs0THVkaVpjNVpqS29Semx4dlJDNjExQnNrZWNqZm5yeVNhclhZ?=
 =?utf-8?B?OFZOQ0lFYk1mZFBIL1M2dkMvc1JFVDJaNkZtc0hrczZ1M3ZRZUFHOTBGalBQ?=
 =?utf-8?B?SnN6UWZzNHhmWjhqdHZ6RmlFQWhMYUsrOEx2bG56N3lkb1VXWE1VcmZDMHE5?=
 =?utf-8?B?SGlzOHBqQTNDcjVkZDlDVVdUVktqcmJtd1VLbDZERnIxWTRjUUNUV0t2bUJJ?=
 =?utf-8?B?UE9HU21HVzZiVjhUVUlEWmlEdmR2L01Sem5keW03VFVpaUwrazNhbHlSRUYr?=
 =?utf-8?B?Umg5WFJHeHpiMkVoQ0RDZElyK1ZxQ3lEbjBuZzUxdkV6bCs2VkxUOGRvdXBP?=
 =?utf-8?B?MVA3ckVaY0hQZ09IcFdQVXU0UmV2TzZ4NDRmcWFDQ0QxY1RXdXFJVUpFUlhN?=
 =?utf-8?B?NW9ZMkkvNzBJYUxaSDVJeDFEN1pMYWQrc1RUR0dwQmlKbVBNK0szVlB3WWVY?=
 =?utf-8?B?T1pWSTN6TFhqcnp6eG9YTUpPL0JMWENrUHhFOHpqRXpoSS9EaU1ESWZDTmg5?=
 =?utf-8?B?cjloWFlCTmN3dFExQVR4NzMwWWs0MEZtR0tFSU5yaVFWbk5tYjNVTGc0RjNm?=
 =?utf-8?B?dmIwUGZVRnRLRGRQTm94ZTB5SHk4Y0psVjZKVk85aGRkS1F4bHZha2tKSjh3?=
 =?utf-8?B?aVBsNGczTWltZzNJeitKWHBIQ0JsVENlclNSUndJY2dBVzdxS1BEd0Z0bTZt?=
 =?utf-8?B?LzMzVGpNL0F2SE8yR1V2UEtDc0JzVHhqZzhIUWhzTjgweWVNelI4eWJRbkFQ?=
 =?utf-8?B?QU9YUnBNbnFBRy9UamQzY1RmTG9GTmZtbGxiS2VLdFYwdVJOdm5GK1duR2Vh?=
 =?utf-8?B?T1VPdExjRGNrekN4RlJIUk1jVXBUb3ZHTEk1aHZVdUxNRXc3M0lWM0xXQm54?=
 =?utf-8?B?eWl1Wm1ZRVBRTVhUaS81VmNJWTdqVjkvMnBmNmdnN0JENEZkbmJnSVM2MlA5?=
 =?utf-8?B?TFRwOEdiOW5YbnBEWWdaSERRS2UzUTBNanNlTzFmZkRJN3hpaVFVRVZrdWs2?=
 =?utf-8?B?N0JXbzNuaUhGamcycU5yejZad2ZKcnlwRHJNalR5NkFEMXY4WVgvYW8zWkJU?=
 =?utf-8?B?bndVMVZjTjMraWszcjhVeUZQdkM2VEVOajJYejgzNmFiVGUyeEM1a3Z2d3Mw?=
 =?utf-8?B?Q21mRXA3WW5vYUVEV1Bzc2YrQ3g2K3ozU05qaldaZFdHajNzemphYjJtNlNp?=
 =?utf-8?B?RVl0RnlVNXFEWFhFQVhJd3pjOUJUQkpYRXRmbTR2LzhoVHBVM3djYms0eGNn?=
 =?utf-8?B?THJvWkpoRmcyWjNvOG9MVjk0ZEpDNG5sNG1HMzEwYnlZYU1hZURVOUhVOTg3?=
 =?utf-8?B?S3BJOXZFZGhXOFNGQy83Z2hJUEo5dmxlWHhUZzliRWhTeTdudWdKMjF3emJw?=
 =?utf-8?B?WUh0K0FqRkQ1Y3cwTjZKWkljSU0vb1BsMWp4UE0zK0VSZjV3S1grelhXblgw?=
 =?utf-8?B?MkR1QW1PM2hRdUlNaDdCamRtSG1YT2FaeDNKTE8yTjRDaTkvZTlOOHFOckdD?=
 =?utf-8?B?Vzd4d3JxNStOUlNla2J6ZXZkVnBtd2VKOG00bmMrUTBwZGJmeXBsU3ZDdGI4?=
 =?utf-8?B?STdpcUU2aEl2M2E0OVRwS2RGSTFnRjBlcFlTT2hoT3hIaGFORncvWUdrNWlh?=
 =?utf-8?B?QnhCY1hudGVwM0trbjd1N04wd3FPbFhCMUxlQzY1UGFaVmZjNGtDZkRXdTB6?=
 =?utf-8?B?SEZ6eDI5bVhEejNVeVNPTDRpYW1TQXhTRkxVVmJzcHhqUEFkb1BkbWs4SGhr?=
 =?utf-8?B?cVhVOGFSdk5ySCtXcWlheGlpZGl0T29OVWZiWm9URW1ydVpxcndZeVNpRDcx?=
 =?utf-8?B?K3IxWGx5anlRcUloMTRkMFV3V2xZMjU4N1NrVis1d0F1a3IvdnRMY2RlVmY1?=
 =?utf-8?B?ZDVkbUNlM21OdnlXTmlrL2NPNnh0OEptVnBQOVZVSnZSTlFaTGtoZXRsaVBL?=
 =?utf-8?Q?1GSgfrmNlSi4zaRS/yz/5NRKP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e68c7492-238c-4d79-7e9e-08db29171ac4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 07:45:41.4691
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rD+LQzF6d6NFyHBSvw88ebz+jpiIQ+8i4Xe5wf7wLGmp4AvmPw8FeVbQllA4gSg9d6vQwAHH5KeLIdLscjm5tQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8985

On 17.03.2023 17:09, Roger Pau Monné wrote:
> On Fri, Mar 17, 2023 at 04:01:59PM +0100, Jan Beulich wrote:
>> On 17.03.2023 15:29, Roger Pau Monné wrote:
>>> On Thu, Apr 15, 2021 at 11:47:42AM +0200, Jan Beulich wrote:
>>>> There are three noteworthy drawbacks:
>>>> 1) The intercepts we need to enable here are CPL-independent, i.e. we
>>>>    now have to emulate certain instructions for ring 0.
>>>> 2) On VMX there's no intercept for SMSW, so the emulation isn't really
>>>>    complete there.
>>>
>>> Then I'm afraid we can't set the bit in the max CPUID policy.  What
>>> about domains being migrated from a host that has UMIP to an Intel
>>> host where UMIP is emulated?  They would see a change in behavior in
>>> SMSW, and the behavior won't match the ISA anymore.
>>
>> Right, but that's the price to pay if we want such emulation (which back
>> at the time did look at least desirable, because the other affected insns
>> are more important to deal with). Not setting the bit in the max policy
>> is as good as not having emulation on VMX at all then.
> 
> It would need some kind of justification at least on why it's deemed
> worth exposing in the max policy (and thus made available to incoming
> guests) even when not compliant to the specification.
> 
> Could the non-intercaption of CR0 reads and thus no #GP on SMSW on
> Intel lead to software malfunctioning as a result?

One can't exclude it of course, but I don't view this as very likely.

But as said in reply to Andrew - I guess I'll simply drop this patch
then (which also eliminates your request for further justification,
which I have to admit I don't really follow).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 08:14:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 08:14:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511750.790946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peAeu-0007zA-T2; Mon, 20 Mar 2023 08:14:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511750.790946; Mon, 20 Mar 2023 08:14:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peAeu-0007z3-QG; Mon, 20 Mar 2023 08:14:24 +0000
Received: by outflank-mailman (input) for mailman id 511750;
 Mon, 20 Mar 2023 08:14:23 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peAet-0007yx-LO
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 08:14:23 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0624.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 36b9e0c8-c6f7-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 09:14:20 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7614.eurprd04.prod.outlook.com (2603:10a6:102:ea::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 08:14:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 08:14: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: 36b9e0c8-c6f7-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hw+QEUhACpj20NJwKTWakz6p+pahM27deBRKU14GPAZ6UHiyVZXpTx8/4YfJgm2p8834iJS4e/0pcO3j2JH5QFjct5L+BJ2jBaxfvZGOUQezhplcVCcM/H2pUJJvud5wjHiUeU6qhyrfqeIpfA9fksT1jhXTbK6UvqARskHUILm07CEMS+yGuwqdWRygJJGWP53bqrB+/ZPZZ3jLNXZvL9cqZln6f9QSE758ofZDRC6cEurYXQQnXwjqiiuMX/wXQsv+yyJ7R1o91XUPgUQNJObCCzHxo1mec99X/piwGjSD3sAiEBTR9M1JF12ee1Uq0tZSfw7s8ED8DNREhgXuYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fALf4sfZYXdGl8/blyrbl7A7VTR5ltLiuPxysFoLP5Q=;
 b=K8cZGfXz7zneUbpC0CF4YUOuUH2CsgnI2neecSO71JW8DOlo8GqiahhO2laxIBCKEEeG0LLZnH0x8WNZn+rkC7GlJt4X8HkPLSWkNzkfjuUsMfUOqdgZtQcRb/PbzLGMYnPp7JJhVe8h4w3SJnUAx2rdBWoefg9S6xdrnD8JgFz2iYNP6AXZzPXtNLee6bD2jP8zjwIxuAwK2PhAAoJm0pyr4GnCmCxrNZgWU0WqhgKBCOV0FerZ+IZEtIAokqgq5zmbEDDy7u85vozExXcq8ZRhYn4sQtYkahVJ7dTvYNpIfIAuGOxnL0NN2GAshjnwzoISXEB6j6SBh8PjAF8klQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fALf4sfZYXdGl8/blyrbl7A7VTR5ltLiuPxysFoLP5Q=;
 b=gGy0Hho8QsOI95JZhxs7eksU5KeuGBP4l8/yyeNGjnb6SuaMT54dav376pzldDz9WJlMCd22BW2XuppzukGgtQg0M4S52MZIQzDqFm75UGsJ0Mr9WAJvLTZhKgLcwDWoil3SBvWdHMSdMqoYwKwHrupfSeETObFCXUnDIQQvIs2QVvsQUq/1CLLkYxStaKKndjMWn9eKOskCNaZRvCYt5ma+pJu0vXAxAEBu5KZPTJRtUFbqJjnS7ZvrK2+Vkuq+xmuUT+7uaSSRpqOAedW8hACbfFTrAw7L6USy+AnnBkLuOsTEA3fPv9VGgE8B2/cSwGfs2C/ALbcZ9eCXXupUDQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b2eaeacc-de5f-ebe9-a330-fbf9e20626b1@suse.com>
Date: Mon, 20 Mar 2023 09:14:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [BUG] x2apic broken with current AMD hardware
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: xen-devel@lists.xenproject.org
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
 <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
 <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
 <e5b28dae-3699-cb0d-ab7e-42fdd42d3222@suse.com>
 <ZBSi2KfoQXo7hr6z@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBSi2KfoQXo7hr6z@mattapan.m5p.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7614:EE_
X-MS-Office365-Filtering-Correlation-Id: 282884e9-2da2-4c70-70d8-08db291b1715
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BfuyPPTwikaNBrot3Ct0ZVAup4cTPc3hz9qbDmTs8xPVp7eIKAY+2kKMB5CcB71S3w0tnmhgKmO0ct6+4FCmcZhaBwaPHs/jnB9T7YGTKsdSfLfZ57MX1xn11YjT+m/LEhI36tbkpw2icpkkMt5XyLa9mT3YSC4t7lM21/Xn5IuiTTMRqJY8Mo17Do4leSk8M+mzkQW4fRwVk58IQoOIJ9xjh1eC5hxDo6OXfS3tW+XSdAZIqxqNiDFdZ51JLI//MYiGHQdKNGCiDFbni9HTlZpzDDNdMwGqNi0IkmgSeaiz0zYJO+wmlEG2WHbUjHzqXn4qCur6DLWzRW5LoIX9KOMJlI5zJo9SxAjjOI/rR/lIQnKkjnO82/baZysAHK50bjtkaqzkyVK6HYnW9O/RwgMhdCoJHTcL9MybGs4GeHKNFti2NhCJHb1lSYH3ymlJDP7aN5ggMoIuS1HvLXWA5/ttVBTj8G7czRLPEeprWCZ/X8em2E0OUIzJcXDoJp7wza4MpVwBu+XlEC827nfFNhgNmwdlQdQuB0vROHnDP3mhFaHpiOA57wy0Pr7EpeAO1wz499D4KuJjwafGT+qmZx96mjG+3itvfbsZZuPuRJkVwXcwLRoGEvcLeC8/tH92LiBZqJZQe9m6Ttqzt2mwhMZuItebTGu9hACPwHbqPbn9EZzzDdu4vhleN5/k/hzdiB/WeCaUYBNnEu9SNRvd35epJ4+QzcXAMTFQV+3aPfQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(396003)(376002)(366004)(39860400002)(346002)(451199018)(186003)(478600001)(26005)(6486002)(83380400001)(6506007)(6512007)(31686004)(53546011)(2616005)(316002)(66556008)(66476007)(8676002)(66946007)(4326008)(8936002)(41300700001)(5660300002)(38100700002)(2906002)(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?K0FTMmlHVVRpV3pmWUd4L2kvejJOR0M1QzBRY2Q4OVNPckJwOXRWYS8rZFMw?=
 =?utf-8?B?VG9DQWlneFN2STlkSFFQb3g2ckZEWG9zM09qNzVoa3pGSVlpZjdqSE94VCtB?=
 =?utf-8?B?cmxwYVNuZXptVXdTVk9OSllOWDlDc0dKckJXV2tFQzVyT2ZqVkdZOUY1ckVR?=
 =?utf-8?B?b2dKbGliSldDMlFLN3BubmNENnMwQWhUOUxUcGgrMk05d1AwQVIzd21DeTVK?=
 =?utf-8?B?endRY0ZPTmd0QmpwaUVLQi9EVXFtamFha3hLc1ZhMllHLzhsMU15VGdudlYy?=
 =?utf-8?B?cDdVcUFZUUVocW0xL05hUEV1TEIyRjlxaStVdkxRMDc5WHFHUk1Fc29VWGJ4?=
 =?utf-8?B?emRCNm9KU1dNQzFuV1M1eDdGdTh5R0dQbW1IVFVzZVhwM2VGOWtaZWdQNCtW?=
 =?utf-8?B?a0RETU9iSDczM2hWSk9sUjJXSk5FMmUvNTBOL1FQUGQ0NTl4SlN3WEJVdmJy?=
 =?utf-8?B?ZitqSlgwT2lXTlBZNDFVdERWL2ppc0dkczJubjErbk92QTlXZSs5ZTRVMlR1?=
 =?utf-8?B?d2liVzlIaWVpYi80Z3hOc3U2RWFVd0VwampHRzdZRGlwSGh2QUlNS2Vubkxr?=
 =?utf-8?B?V2dJd2ZYVGxDZTFaNENYOW5VMEJaNlA1OTdYSURQd3cveEpJZ2F2UE95RU1F?=
 =?utf-8?B?ODl4TkxDSW1ESUxlaUhDdHBsMU5DbjdVcUgyWTgyMmErY1VMNUN5QkZoOUdi?=
 =?utf-8?B?aHJpeHpkTXlvR0hiMHI2MXdWYzJWdzNnc0RtSU5FUXc0eWloQkZTaHBZT3pD?=
 =?utf-8?B?UjRZUURINGt0VnRXeEJiU1k5RnRwcUtCNGt0RXQzZm5JNlZGY1pDUFZzb0xm?=
 =?utf-8?B?WXJCc3NLMDB5R3NMeGlkOXcydGVndlp0UjBlMXUxcG1hRENrSWg0MUFnVDk1?=
 =?utf-8?B?OTl5VGlOdDdhWVVtMHVkUDAvV1RZMzE0UDJPY0JqV0pkVzg4bk13L25KSWhG?=
 =?utf-8?B?TWRQODFMQUZZMTF6NTAwQVlPYVkvSE1lOWJLdXYxOWEranQzZml5NFIyRllo?=
 =?utf-8?B?WWsxVktMRzNpNkU2ZEY2QjF3Wjc0YlMwNVpQaWtvd09lL0NlMGNKTDQwbm52?=
 =?utf-8?B?NVBSL0J0YWRzSUwxMWp5YVg3RGJ4bDRvTnp6aUF1d1Q0Qit3RjdWQzlwZjZG?=
 =?utf-8?B?Qk8rL0w2bGJpVjZKMU15c0w5bGh0Wmxzd1Nta1VENDdYVWJnbjB1c2RFVDRk?=
 =?utf-8?B?TWdEMzRWdHVSQ2tTNUpiRG82cURUa05MYWd0ZW9Wanc2V2RjRVF4dy9VbnhC?=
 =?utf-8?B?TTQ0WmZHbFZ6N2xTYk41QTArZm1Bamd0aG5XallLOWNRbG5hMkoxSXhKTytR?=
 =?utf-8?B?WjRQY1FtRDFPQ055Q2ZFQW8rV1V1TkZCUGVQbUxrbk0xRTdTRVhLc0V3eFpk?=
 =?utf-8?B?OFNpcmY1OU1ueGRhNkNSQlRMVnVTem80dDk0VGV1YlBtOWVFeEN1S3RwbHZQ?=
 =?utf-8?B?L2o1UzF6ZUJDZWp0akhWVzR4NkJBNkxkT3NzV21uNzV5My9NcSs1bVRGbDZv?=
 =?utf-8?B?SUJBUmY0MmZ3MTdXMm1rY2VCKzYrSmxjNStNMXJ0Qm41dGFlSDZvbWhsMlVk?=
 =?utf-8?B?a25UYkk4dm0vSmpwMEpIekRFbjRpY1l1R3hXK2IwSU14K3hkeVJUamhDS1Qz?=
 =?utf-8?B?R2twRnozS3dIdUpaaERiTENiaDZWTmlEUTJmUUc1YS9DMUtvVUpvbTZGVUJq?=
 =?utf-8?B?dkVlc3dDbkEwNnJ5UjhvbFdIUnQzcVlkb1hidWlMazA3SVVWZDZxaGxSdGVj?=
 =?utf-8?B?bDNqUXlIblcwQnpxMXpCblJZRVdvNkZrcitvSzVFZ2sxZFRidGlTMy9DMUcr?=
 =?utf-8?B?NDJtSDdLRTl2U294VktRUmh4ZTJ2UDJEZStyNytGcUphNkhpd0pUVnVrZWRF?=
 =?utf-8?B?cXRmWHduTkJteDBvQzA1ZXAyaGtudjVycHZyRG0wQmxpQkpvRkFab1QyS25q?=
 =?utf-8?B?QnpJVVpKNThJTmFyMDh4R0hIcmFPWnZoZEZGeThSOGxQYzg2dUhYK0lXeWVE?=
 =?utf-8?B?ZFU5ZzhiRFdBYXZBYmNBZU1HcFBUenpHTyszaHU2QXgxNWdFYzdoVmtBSFly?=
 =?utf-8?B?b2JiL2hBb2xwL1pkSkR3TUU5ajR2QUxPYldxN2RhZzhDNGZwTXBONjMyNjEr?=
 =?utf-8?Q?RqOETMkRtywRrhzRik1DgFcN/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 282884e9-2da2-4c70-70d8-08db291b1715
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 08:14:13.2600
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FBjGBbkx4b+ZtZ2QQycVAL9IOTsazMq1petcDIueClGivsgq/AbxBAFSRdWm+gEQ1tJHA4bTserYLSz0lv41kw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7614

On 17.03.2023 18:26, Elliott Mitchell wrote:
> On Fri, Mar 17, 2023 at 09:22:09AM +0100, Jan Beulich wrote:
>> On 16.03.2023 23:03, Elliott Mitchell wrote:
>>> On Mon, Mar 13, 2023 at 08:01:02AM +0100, Jan Beulich wrote:
>>>> On 11.03.2023 01:09, Elliott Mitchell wrote:
>>>>> On Thu, Mar 09, 2023 at 10:03:23AM +0100, Jan Beulich wrote:
>>>>>>
>>>>>> In any event you will want to collect a serial log at maximum verbosity.
>>>>>> It would also be of interest to know whether turning off the IOMMU avoids
>>>>>> the issue as well (on the assumption that your system has less than 255
>>>>>> CPUs).
>>>>>
>>>>> I think I might have figured out the situation in a different fashion.
>>>>>
>>>>> I was taking a look at the BIOS manual for this motherboard and noticed
>>>>> a mention of a "Local APIC Mode" setting.  Four values are listed
>>>>> "Compatibility", "xAPIC", "x2APIC", and "Auto".
>>>>>
>>>>> That is the sort of setting I likely left at "Auto" and that may well
>>>>> result in x2 functionality being disabled.  Perhaps the x2APIC
>>>>> functionality on AMD is detecting whether the hardware is present, and
>>>>> failing to test whether it has been enabled?  (could be useful to output
>>>>> a message suggesting enabling the hardware feature)
>>>>
>>>> Can we please move to a little more technical terms here? What is "present"
>>>> and "enabled" in your view? I don't suppose you mean the CPUID bit (which
>>>> we check) and the x2APIC-mode-enable one (which we drive as needed). It's
>>>> also left unclear what the four modes of BIOS operation evaluate to. Even
>>>> if we knew that, overriding e.g. "Compatibility" (which likely means some
>>>> form of "disabled" / "hidden") isn't normally an appropriate thing to do.
>>>> In "Auto" mode Xen likely should work - the only way I could interpret the
>>>> the other modes are "xAPIC" meaning no x2APIC ACPI tables entries (and
>>>> presumably the CPUID bit also masked), "x2APIC" meaning x2APIC mode pre-
>>>> enabled by firmware, and "Auto" leaving it to the OS to select. Yet that's
>>>> speculation on my part ...
>>>
>>> I provided the information I had discovered.  There is a setting for this
>>> motherboard (likely present on some similar motherboards) which /may/
>>> effect the issue.  I doubt I've tried "compatibility", but none of the
>>> values I've tried have gotten the system to boot without "x2apic=false"
>>> on Xen's command-line.
>>>
>>> When setting to "x2APIC" just after "(XEN) AMD-Vi: IOMMU Extended Features:"
>>> I see the line "(XEN) - x2APIC".  Later is the line
>>> "(XEN) x2APIC mode is already enabled by BIOS."  I'll guess "Auto"
>>> leaves the x2APIC turned off since neither line is present.
>>
>> When "(XEN) - x2APIC" is absent the IOMMU can't be switched into x2APIC
>> mode. Are you sure that's the case when using "Auto"?
> 
> grep -eAPIC\ driver -e-\ x2APIC:
> 
> "Auto":
> (XEN) Using APIC driver default
> (XEN) Overriding APIC driver with bigsmp
> (XEN) Switched to APIC driver x2apic_cluster
> 
> "x2APIC":
> (XEN) Using APIC driver x2apic_cluster
> (XEN) - x2APIC
> 
> Yes, I'm sure.

Okay, this then means we're running in a mode we don't mean to run
in: When the IOMMU claims to not support x2APIC mode (which is odd in
the first place when at the same time the CPU reports x2APIC mode as
supported), amd_iommu_prepare() is intended to switch interrupt
remapping mode to "restricted" (which in turn would force x2APIC mode
to "physical", not "clustered"). I notice though that there are a
number of error paths in the function which bypass this setting. Could
you add a couple of printk()s to understand which path is taken (each
time; the function can be called more than once)?

>>> Both cases the line "(XEN) Switched to APIC driver x2apic_cluster" is
>>> present (so perhaps "Auto" merely doesn't activate it).
>>
>> Did you also try "x2apic_phys" on the Xen command line (just to be sure
>> this isn't a clustered-mode only issue)?
> 
> No.  In fact x2apic_cluster is mentioned in all failure cases.

Could you give physical mode a try, please?

>>> Appears error_interrupt() needs locking or some concurrency handling
>>> mechanism since the last error is jumbled.  With the setting "x2APIC"
>>> I get a bunch of:
>>> "(XEN) APIC error on CPU#: 00(08)(XEN) APIC error on CPU#: 00(08)"
>>> (apparently one for each core)
>>> Followed by "Receive accept error, Receive accept error," (again,
>>> apparently one for each core).  Then a bunch of newlines (same pattern).
>>
>> This is a known issue, but since the messages shouldn't appear in the
>> first place so far no-one has bothered to address this.
> 
> I won't claim it is the best solution, but see other message.
> 
> I'm tempted to propose allowing _Static_assert() since it is valuable
> functionality for preventing issues.

How does _Static_assert() come into play here? Also note that we already
use it when available ...

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 08:19:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 08:19:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511754.790957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peAkD-0000NY-MA; Mon, 20 Mar 2023 08:19:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511754.790957; Mon, 20 Mar 2023 08:19:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peAkD-0000NR-I2; Mon, 20 Mar 2023 08:19:53 +0000
Received: by outflank-mailman (input) for mailman id 511754;
 Mon, 20 Mar 2023 08:19: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=K00X=7M=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1peAkC-0000NL-4H
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 08:19:52 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2060f.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fb0d220a-c6f7-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 09:19:50 +0100 (CET)
Received: from MW4PR04CA0201.namprd04.prod.outlook.com (2603:10b6:303:86::26)
 by CY8PR12MB8409.namprd12.prod.outlook.com (2603:10b6:930:7f::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 08:19:46 +0000
Received: from CO1NAM11FT078.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:86:cafe::da) by MW4PR04CA0201.outlook.office365.com
 (2603:10b6:303:86::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Mon, 20 Mar 2023 08:19:46 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT078.mail.protection.outlook.com (10.13.175.177) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6222.15 via Frontend Transport; Mon, 20 Mar 2023 08:19:46 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 20 Mar
 2023 03:19:44 -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.2375.34; Mon, 20 Mar
 2023 01:19:44 -0700
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.2375.34
 via Frontend Transport; Mon, 20 Mar 2023 03:19: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: fb0d220a-c6f7-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kiKDEKQv/ulKI3mUiHLT7i97SDPtjCX9V0E0yot/9moseCFWPOFAoN3TpsRmy6l6zO85vEY0BXD/ZMVGAspAtc3628CESqiwUTE7qS5umd1xZtGDNWsSatsq16vsmPPWcmiXMMt0myVCjSsyasxzaQjnxkBio2+zQ0OVpwKm1RS5zsZmQzdD65oX2/vSOzr6NNpgNTSyBxFEDAKett1uPacryajQRMZdjEVqC1r4pdF0t0XeKwg04eUYmNA0uZC3bbn+WCYZLjttgy28UJJdrYJyoNU6/jcauFwcEHInkFv9GplafbhpBr+2QkuJVk8U+h032gJ/qklDtQAJCuiMhg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7ZOTRNIqIdCZRbpazo9TlwxUHFHXL2PslnbP3rEpGkc=;
 b=JAleyPKIJ2e04vnQZQkRScnpl25NqFQ/q6E62pNtUbluuCLV5H4vPkSWRKDFeUcqFl70rSGuo58Y5j7fzf2sWzFXP1D9GVQtn8eFBvyJr4XWAUGfcG6pLKZcvG8o3MFOzwZIvvY78vngYjhXbCEwNWHgmuiN3ARJEOlvsxPmXS43vD23xRXZ92opCmj4EDHeIxzqSLTDL/Xg510seFiCzZjoFzcZg5pvKpMMcgEvQ3EnYCn+iHo8N0d0kWIuvXIOjJDdhXWXGZrj9azvDgtBEohWENgYFtPqN8MLKG9qsp4LdtffwjwD2e+lmJYG1TuP9T2HkgUwhignh+PpVnk0pw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7ZOTRNIqIdCZRbpazo9TlwxUHFHXL2PslnbP3rEpGkc=;
 b=q6ND7bJCQDey43TWxyZuv3hNtWXZd5lYnQ0DqGELu2jDlinb+hTgzfMYFu8sxUHZp7m6WsFcw3Rx4nUc3sKieLq6KHP7T9x3k6t86cjfr5X5lgUSKxvkuMNXGrpUIkzjKj0vRVY9MwKMwkN+qHWFQvCB2VCYeiWRm2iOOsrSNf0=
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 v3] xen/console: Skip switching serial input to non existing domains
Date: Mon, 20 Mar 2023 09:19:35 +0100
Message-ID: <20230320081935.18367-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: CO1NAM11FT078:EE_|CY8PR12MB8409:EE_
X-MS-Office365-Filtering-Correlation-Id: 9d14460a-c4fb-486e-270d-08db291bddc5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	W6de0U+jKAbC71Av+6PXdk+Y7JC2NPqnmPT26KnmF8z1tsH5FaYUtFLSLQa4rx49HiSKUl7ua1BbvFKYesaGOlXFkIxmG1V+Me6sTVm4IoftcuhI3YNm4kguGziwmym08SI2XAWeK6hS1JPrrHOFP55AKJ7tWCoU4Pmw8Ze/DAYqaDIA4UZUaJsBw9y0oUs8OqH0G98PxVTTobXdJkVoYI9JRstt5BCKgpEAwjhj+Zzbv8OrFX8utVipgmXONuKsdqNlyBdEjOQtNa37G6PKh5dT3+d6+K2d5zXi7DYqkeW2nmF1ixttu3ZuyhPNgdO5go2w3oe+I+U0gYJVrVka7N/zQBU4lkkYkoLVnIQqpSiZtB5SgzloCDSxebJATxvKdX3EbQgqngfhn3rKryE8kjj+lQXjmBviPeO4ONKPRKlja6dzDTdzlN63vO4vAy8r2mJAjnHMeniPuzin1PHuIvtgJ52pnXlWjDNg7h8SWkWZk+wz+qLsSsMjmA9z/C91/dQFt31a41idVKycHF7eWQgR6ftedRWpynZ7+MmaOmN5LlWmT1rs3Kq9ULw2xKKQN8kqAkSwMV6fxsugahjCUTrgSgXDjAWQcujd6wB4Djkdv5PClNj8DWnGUKcJ5nahFvEEstFLqKGuyY0C+cSxYoZyGJqZKiqI2HqZH25eOvKNpHOevoppjhalLYlrSv0uh8cWPkT9hVMQx+awTiRsijbHA9fLsNemnRzBMfdNWsg=
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:(13230025)(4636009)(136003)(396003)(376002)(39860400002)(346002)(451199018)(36840700001)(40470700004)(46966006)(426003)(186003)(6666004)(47076005)(478600001)(26005)(336012)(83380400001)(54906003)(1076003)(2616005)(316002)(8676002)(70586007)(70206006)(6916009)(4326008)(36860700001)(8936002)(44832011)(41300700001)(5660300002)(40460700003)(82740400003)(81166007)(2906002)(356005)(40480700001)(82310400005)(86362001)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 08:19:46.3035
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d14460a-c4fb-486e-270d-08db291bddc5
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:
	CO1NAM11FT078.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8409

At the moment, we direct serial input to hardware domain by default.
This does not make any sense when running in true dom0less mode, since
such domain does not exist. As a result, users wishing to write to
an emulated UART of a domU are always forced to execute CTRL-AAA first.
The same issue is when rotating among serial inputs, where we always
have to go through hardware domain case. This problem can be elaborated
further to all the domains that no longer exist.

Modify switch_serial_input() so that we skip switching serial input to
non existing domains. Take the opportunity to define and make use of
macro max_console_rx to make it clear what 'max_init_domid + 1' means
in the console code context.

For now, to minimize the required changes and to match the current
behavior with hwdom, the default input goes to the first real domain.
The choice is more or less arbitrary since dom0less domUs are supposedly
equal. This will be handled in the future by adding support in boot time
configuration for marking a specific domain preferred in terms of
directing serial input to.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v3:
 - properly handle case where domain with highest ID no longer exists
 - define max_console_rx
Changes in v2:
 - was: xen/console: Handle true dom0less case when switching serial input
 - use a more generic approach to handle all non-existing domains
---
 xen/drivers/char/console.c | 39 +++++++++++++++++++++++++++++---------
 1 file changed, 30 insertions(+), 9 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 51e5408f2114..86aa2b9c7165 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -473,6 +473,8 @@ static void cf_check dump_console_ring_key(unsigned char key)
  */
 static unsigned int __read_mostly console_rx = 0;
 
+#define max_console_rx (max_init_domid + 1)
+
 /* Make sure to rcu_unlock_domain after use */
 struct domain *console_input_domain(void)
 {
@@ -483,15 +485,34 @@ struct domain *console_input_domain(void)
 
 static void switch_serial_input(void)
 {
-    if ( console_rx == max_init_domid + 1 )
-    {
-        console_rx = 0;
-        printk("*** Serial input to Xen");
-    }
-    else
+    unsigned int next_rx = console_rx + 1;
+
+    /*
+     * Rotate among Xen, dom0 and boot-time created domUs while skipping
+     * switching serial input to non existing domains.
+     */
+    while ( next_rx <= max_console_rx + 1 )
     {
-        console_rx++;
-        printk("*** Serial input to DOM%d", console_rx - 1);
+        if ( next_rx == max_console_rx + 1 )
+        {
+            console_rx = 0;
+            printk("*** Serial input to Xen");
+            break;
+        }
+        else
+        {
+            struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
+
+            if ( d )
+            {
+                rcu_unlock_domain(d);
+                console_rx = next_rx;
+                printk("*** Serial input to DOM%d", console_rx - 1);
+                break;
+            }
+
+            next_rx++;
+        }
     }
 
     if ( switch_code )
@@ -1089,7 +1110,7 @@ void __init console_endboot(void)
      * a useful 'how to switch' message.
      */
     if ( opt_conswitch[1] == 'x' )
-        console_rx = max_init_domid + 1;
+        console_rx = max_console_rx;
 
     register_keyhandler('w', dump_console_ring_key,
                         "synchronously dump console ring buffer (dmesg)", 0);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 08:28:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 08:28:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511756.790967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peAsU-0001q2-GW; Mon, 20 Mar 2023 08:28:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511756.790967; Mon, 20 Mar 2023 08:28:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peAsU-0001pv-Do; Mon, 20 Mar 2023 08:28:26 +0000
Received: by outflank-mailman (input) for mailman id 511756;
 Mon, 20 Mar 2023 08:28: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peAsT-0001pp-Dr
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 08:28:25 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061e.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d2992d8-c6f9-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 09:28:23 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8804.eurprd04.prod.outlook.com (2603:10a6:20b:42f::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 08:28:16 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 08: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: 2d2992d8-c6f9-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ell8f6XvNKCeC5cSWElrWkZePKbPRnql9fZbKwrnKRM6pctwT/UWvjWZPbV4eCAihUVir/KLFnQ4xyhGp8K6veP8b0pzJ1sjUXLBF8x/cSxss79c0+2639FRq63X9r5iOJ/2C8T4tAc1Pe2e+UarfLBV8RlQ/2ueC9JsCX0agWlVhSzKKjkcFJRfHTKuB5uRq0PdQlwppHgTnLFo3TZfbcL5meICuM2C5b9kx4aqd/w4A55YSkP1h7AVl+Ib/BNtcaNKICb8PTXgcPr1nuzkNkfrTFM1URwnWwP+ij8gM1DsB688aq2ftGbK1ub/uAZK8kCAms6zi+GORAJI3zymtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3krFKUF7EmSxiLRn955kU41PB/CuJ919vaCLLIEw+N4=;
 b=XRH9DiotpZ4MmkSfYWW0PU9LLgC7ddVCCAXH5kAOq8UtPZkQtXzncXNuxqv1I2ps4E1TPIygyDPhJnWCkiQo64iVgM/rib4LOalooZYK7XhsVYLzawKeerwa0/2UG9aat5P8jSi/PPnpaRLMLlcBC/6XHdy9Ea1Es28iS4rlR7e7GOU+1rEQuy6NEfobD1H5mAKBjc3KlO8j2Fc6zAm6tH1da02S4GoP0KeI/3vZTc+hexCAs+6sN2YU6TvaJ5NXLSLM90mOSrQ8rzF6z5ZXAWopfpzlDVXNA+aUS/bOxovtKClPcl5L6AQeIhW8x/956pQwfUcPOWe62G0TGORiUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3krFKUF7EmSxiLRn955kU41PB/CuJ919vaCLLIEw+N4=;
 b=QB4wIiEPD6FlMybc/GjnEjWbMvicObRBc2tvGPEKM1w+SjRDelHAl6BZMuYsnZVjULU+jXky/9QctvieVmhjRK+l1kPBr9XIbe6T1ztD+vWKH1I7qWlYA4Ko2rc7UGOlqthf0C5DRxPIq8YVqvvuNJsFZvLT4nOJLFmgagODUMiaJp3xMXnkNj1LJYjReYuhhyfI6sXalTx+spkNBTyJWGnZs/Aq6WPDhVshG94hKuBTmdhpkB4r6XspdeuLO4T2Z2E8NU0GcsCGe4gYIM+4+qj/LzY160O/VqurxBAxaxAqZo5E94j+J0B7b1xCrhwnWj1mKULNSyB8IHBLooyTWw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a2de5d87-ada8-46b9-090b-00dc43309362@suse.com>
Date: Mon, 20 Mar 2023 09:28:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [BUG] x2apic broken with current AMD hardware
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: xen-devel@lists.xenproject.org
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
 <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
 <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
 <e5b28dae-3699-cb0d-ab7e-42fdd42d3222@suse.com>
 <ZBSi2KfoQXo7hr6z@mattapan.m5p.com>
 <b2eaeacc-de5f-ebe9-a330-fbf9e20626b1@suse.com>
In-Reply-To: <b2eaeacc-de5f-ebe9-a330-fbf9e20626b1@suse.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8804:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f01673b-ec41-4b8c-d831-08db291d0d91
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e2KUEskno6WWhuMJMW/E/bOHEodk/uDXptSV/XKVTdGSR/9rF6kC8rD19bw1Z93e+x0pzerGSZjTHUnl62gF2H69yI2qjCJLl4dwHU6e04zBXK5TYQIFDFBaYn1auxjv+uLa3IjCoB0PlyJf3teKfsug1BuBRe2TTzqOto3qyNeiqt0gspZvxGLddkeEg70fubZqiY9LfEmoNkOETibR2LJ4FOs3SZzRh2JLrlGgPClhoHV87L6p990qTS7zwkpZSjEi2lYnzD4hAkPK/HUZHj+f7YhuEKv7zyme2kPaEt47ru96K4na1K+G3OYXA57jZp/o+fPhd3BJ8cNdODecHru58EB0yBKzHfVDkhkoCkQuJ4NWqddVL9xsPOZGZX/XFtgphI4hHb89oq6DmHbFyOgiXMyotdu48/QkA9kx+Q9aKEE6MK0xZCgKYSIoWshShbc12rKJl6ZbR/nLwHWeKdyYoIiqVOI/pbqVTXRWBheodlUascovbzgOm2lv9xTeafS5d+Wg76JhynxaeVnGypZGJAXB7Jn62i9B8eE4nKYKMCAxD0rQRKnGwYRbdz3E1daUBxoZrKbXr+8dFSnjMgC/tKIjbqUbFne8caWKB6ElXBLs267VI/VitNWjJ6Ch+u0jSGVDtY7TDw+hMyttkXYARps6iMmhE8Hr+oyeRV6XNyjFDQyYpvi9EEbYA9hGEFzM/s5DVHu6XA8CgeY8em/WAUrKSS2xP/lBtnw3dzE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(376002)(346002)(366004)(39860400002)(396003)(451199018)(2616005)(6512007)(6506007)(26005)(6666004)(31686004)(6486002)(316002)(8676002)(53546011)(66946007)(4326008)(66476007)(66556008)(186003)(83380400001)(478600001)(5660300002)(84970400001)(41300700001)(8936002)(2906002)(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?ck9ZMnE1Q0h5V2Y4UjFlbURTRGdaL1grT21xY2NGODJUekEwckVDVmNZKzU5?=
 =?utf-8?B?SFBGSTd5dWZqei9mVEVKaEZkdkF2RUZyTGF2MTJ0bjRjWTA5WlZhM0c3SFFv?=
 =?utf-8?B?cmJkUE9rMmVkWWhXT3pJYVNEWnRQbEMzdFBpU25HNkRWTVBsTHFKTGJqc2E1?=
 =?utf-8?B?ZEpxaDE0RTJaaWp3bGpha0p4RUZ6eUZvbnlGejhMMVhFOWZkVm44RGY0RndN?=
 =?utf-8?B?Q3lwcXYyS3pjWEtzTXlOTFZIQkJuWjlwYVRYcWhtYlNOdDdMbWZ0VnRUL004?=
 =?utf-8?B?WUQvQ2FpUjk5K29rL3Uyc3d6WTdnT0xsclV4Z2J0Ym1yOUg2S2lVREJmREJv?=
 =?utf-8?B?bXpMQjl0Zk9NWmxJMjd0M0tpaTJhZUxWNGtOeWV3UTR5eGNhN0w3ZmROa2Vp?=
 =?utf-8?B?Q3FSUkNIQkttQXpUZlJLSFlIYkgvb0RSVEtpbkdGTHdtSUxvUzlTeVVzUTVn?=
 =?utf-8?B?cHBKK3BRb1p3TlZYWkQyd1NpbWZrTzRId1E3dnJzVG9rcGV6Vk90aEw1RXRj?=
 =?utf-8?B?SXloWDZ6NGFTemF0VlY5VnpTWDVSdFV4amdwMk9ha2x2SEVtUHNPZHV0M2pG?=
 =?utf-8?B?Uis3SzhEUDN2UzRzQmlKN1RYYmNsa2hUVmpxbVJkQzVPWnozOHQ1dnZrS0kw?=
 =?utf-8?B?dGtKdTNjMUQ4TzhZaThrK04yNDBaekxCd2wwY2FObkl4YTY5VmRJTTdKSFR3?=
 =?utf-8?B?Ull5UDh3eW83NnI0ZHdHSmd1Y2dpK1gvejJXdWlPejdtWWdXeTNGT3lKTUFI?=
 =?utf-8?B?YzZiendtMGJiYktuYnp1eXRBYi9SNVlkTUtmR1p2U25WR1pTNEVQVGxHM01G?=
 =?utf-8?B?YTZoYkxNUVAzcnNmUVZqSUtVRFNnRUsvcDJ2aWpuUnBMbnZ5NHdLclJqNWZ2?=
 =?utf-8?B?TW9SZ3BWbmtsOUo5cTFMdVZJQkFkcUVpNzd3Mjd2NzIzWWpmWkJqcHlDNlhF?=
 =?utf-8?B?bkxnMEZ2SVdqZUl2VVFkczJVQi9MOU4zaVVUR1E2OS85WVlJeTJ1eWVrY3M2?=
 =?utf-8?B?R2M0bi9LdURCdm4zNHhGMTdxcG5VRE1saURmay9aS2dSTXRaZkVNRjIxNHBF?=
 =?utf-8?B?U3Qwb2xNSyt0MlZDbzYvQy9nUFlIWjVsdzIxZURyS3QwTTl3cEpnNk8wRVBE?=
 =?utf-8?B?Wlg0QTFSTTJodHQ2RkF1cjFWMjNud1d2WVVzQUVIR29UU1dsRWV6Mnl6cjZy?=
 =?utf-8?B?Y21uRnRpUHNLN0syTGhkOUxTV1dnSml0a0VMakdZZVgzSEJyek11TTlubzF5?=
 =?utf-8?B?ZjV5V0tOUnViOVJVZ1VUMEVpN0V5MjZPOHdiQjlZejBuZkp5RElCOVdZVFdP?=
 =?utf-8?B?dC9HY1VNNUpZQnB5VjNlUmN0cW8xYnlEOTVJRHNzRkRTSlZ3S3paQkc1dDU4?=
 =?utf-8?B?U1IrLzd6Q1NEYTRjVHFRWEQvSHFFOGY2cnRYS2d3UVZWRVR4WXFmaXB1TGUy?=
 =?utf-8?B?dkJJcmNwbmMyU0NiUnJFQzdBOU5Vb0VyMlRtVlJFbndaNjlMTzkyajdyTGR4?=
 =?utf-8?B?K2pFbDE3eUplb0lzK1czZ0J4ZkR0Q0E4bndPSUpYeXNxT1NqR1dudDZCMnBT?=
 =?utf-8?B?ZFRMRGZwS1VySWdONWNDMGx4TmZrd1VROFk5MEdaSzRsRVN4cWlvdGh4LzBs?=
 =?utf-8?B?bkF2L200Q2dlRGg1OFJhSjNKWUE3WFhNNXdKQXBRNlV2bHg1Mm1OTXlCc09U?=
 =?utf-8?B?T0I3aWRNamtxY2dpajhwc1JpWjNjQU42bDRFdnFIeUg5dnRzZHVndG1BbWVX?=
 =?utf-8?B?S3l4VUFjL0JnQ0J1ZWppWFI5ZEU5azFjNjNuYlBRVmY4ZFVBcHR1bFNGRUJC?=
 =?utf-8?B?R2l0eVY0MXllcHZGN052OWhxZ3A5bHRJbGM2dDZTcElrQnpsTkx4TkFIVGJk?=
 =?utf-8?B?d3dYczFDb25Ib1NzZjJnbmF0M2VJaURwUzV4N0w4d0VKaVRMTFRlT2tRZjRW?=
 =?utf-8?B?V1YzZHFQM3lmQjBhbWZTcXpyVzYvMGk3NWtSbkxSUHRpQ2UwMWxLaXNOOHo5?=
 =?utf-8?B?bnRoOXdmTG9pSXhHaXY4aXJpZHZKRnJXMWd1WWpjQkZ3UWV4QlIzQnE4RkxE?=
 =?utf-8?B?RHJaU2EvWW1uUHZ0NDZpTEhUTDlNTDRVQUlTWkN1ZU1qb2FCRU9XdTBJcHdu?=
 =?utf-8?Q?NL/7RRdOTUvT/bPIMBfr8M+WU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f01673b-ec41-4b8c-d831-08db291d0d91
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 08:28:16.3228
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fSUmnCMs2MFecZ+9S++P1vGAy1CDWFixuY2+g9p978WBMZ0KLTTUTmrDC1DmZbWrScRKHgv5K0l5gv6jWBPrTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8804

On 20.03.2023 09:14, Jan Beulich wrote:
> On 17.03.2023 18:26, Elliott Mitchell wrote:
>> On Fri, Mar 17, 2023 at 09:22:09AM +0100, Jan Beulich wrote:
>>> On 16.03.2023 23:03, Elliott Mitchell wrote:
>>>> On Mon, Mar 13, 2023 at 08:01:02AM +0100, Jan Beulich wrote:
>>>>> On 11.03.2023 01:09, Elliott Mitchell wrote:
>>>>>> On Thu, Mar 09, 2023 at 10:03:23AM +0100, Jan Beulich wrote:
>>>>>>>
>>>>>>> In any event you will want to collect a serial log at maximum verbosity.
>>>>>>> It would also be of interest to know whether turning off the IOMMU avoids
>>>>>>> the issue as well (on the assumption that your system has less than 255
>>>>>>> CPUs).
>>>>>>
>>>>>> I think I might have figured out the situation in a different fashion.
>>>>>>
>>>>>> I was taking a look at the BIOS manual for this motherboard and noticed
>>>>>> a mention of a "Local APIC Mode" setting.  Four values are listed
>>>>>> "Compatibility", "xAPIC", "x2APIC", and "Auto".
>>>>>>
>>>>>> That is the sort of setting I likely left at "Auto" and that may well
>>>>>> result in x2 functionality being disabled.  Perhaps the x2APIC
>>>>>> functionality on AMD is detecting whether the hardware is present, and
>>>>>> failing to test whether it has been enabled?  (could be useful to output
>>>>>> a message suggesting enabling the hardware feature)
>>>>>
>>>>> Can we please move to a little more technical terms here? What is "present"
>>>>> and "enabled" in your view? I don't suppose you mean the CPUID bit (which
>>>>> we check) and the x2APIC-mode-enable one (which we drive as needed). It's
>>>>> also left unclear what the four modes of BIOS operation evaluate to. Even
>>>>> if we knew that, overriding e.g. "Compatibility" (which likely means some
>>>>> form of "disabled" / "hidden") isn't normally an appropriate thing to do.
>>>>> In "Auto" mode Xen likely should work - the only way I could interpret the
>>>>> the other modes are "xAPIC" meaning no x2APIC ACPI tables entries (and
>>>>> presumably the CPUID bit also masked), "x2APIC" meaning x2APIC mode pre-
>>>>> enabled by firmware, and "Auto" leaving it to the OS to select. Yet that's
>>>>> speculation on my part ...
>>>>
>>>> I provided the information I had discovered.  There is a setting for this
>>>> motherboard (likely present on some similar motherboards) which /may/
>>>> effect the issue.  I doubt I've tried "compatibility", but none of the
>>>> values I've tried have gotten the system to boot without "x2apic=false"
>>>> on Xen's command-line.
>>>>
>>>> When setting to "x2APIC" just after "(XEN) AMD-Vi: IOMMU Extended Features:"
>>>> I see the line "(XEN) - x2APIC".  Later is the line
>>>> "(XEN) x2APIC mode is already enabled by BIOS."  I'll guess "Auto"
>>>> leaves the x2APIC turned off since neither line is present.
>>>
>>> When "(XEN) - x2APIC" is absent the IOMMU can't be switched into x2APIC
>>> mode. Are you sure that's the case when using "Auto"?
>>
>> grep -eAPIC\ driver -e-\ x2APIC:
>>
>> "Auto":
>> (XEN) Using APIC driver default
>> (XEN) Overriding APIC driver with bigsmp
>> (XEN) Switched to APIC driver x2apic_cluster
>>
>> "x2APIC":
>> (XEN) Using APIC driver x2apic_cluster
>> (XEN) - x2APIC
>>
>> Yes, I'm sure.
> 
> Okay, this then means we're running in a mode we don't mean to run
> in: When the IOMMU claims to not support x2APIC mode (which is odd in
> the first place when at the same time the CPU reports x2APIC mode as
> supported), amd_iommu_prepare() is intended to switch interrupt
> remapping mode to "restricted" (which in turn would force x2APIC mode
> to "physical", not "clustered"). I notice though that there are a
> number of error paths in the function which bypass this setting. Could
> you add a couple of printk()s to understand which path is taken (each
> time; the function can be called more than once)?

I think I've spotted at least one issue. Could you give the patch below
a try please? (Patch is fine for master and 4.17 but would need context
adjustment for 4.16.)

Jan

AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode

An earlier change with the same title (commit 1ba66a870eba) altered only
the path where x2apic_phys was already set to false (perhaps from the
command line). The same of course needs applying when the variable
wasn't modified yet from its initial value.

Reported-by: Elliott Mitchell <ehem+xen@m5p.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- unstable.orig/xen/arch/x86/genapic/x2apic.c
+++ unstable/xen/arch/x86/genapic/x2apic.c
@@ -236,11 +236,11 @@ const struct genapic *__init apic_x2apic
     if ( x2apic_phys < 0 )
     {
         /*
-         * Force physical mode if there's no interrupt remapping support: The
-         * ID in clustered mode requires a 32 bit destination field due to
+         * 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 ||
+        x2apic_phys = iommu_intremap != iommu_intremap_full ||
                       (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
                       (IS_ENABLED(CONFIG_X2APIC_PHYSICAL) &&
                        !(acpi_gbl_FADT.flags & ACPI_FADT_APIC_CLUSTER));




From xen-devel-bounces@lists.xenproject.org Mon Mar 20 08:32:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 08:32:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511759.790978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peAwR-0003Nn-2m; Mon, 20 Mar 2023 08:32:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511759.790978; Mon, 20 Mar 2023 08:32: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 1peAwQ-0003Ng-Ty; Mon, 20 Mar 2023 08:32:30 +0000
Received: by outflank-mailman (input) for mailman id 511759;
 Mon, 20 Mar 2023 08:32: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peAwQ-0003Na-3n
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 08:32:30 +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 bf612014-c6f9-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 09:32:28 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8804.eurprd04.prod.outlook.com (2603:10a6:20b:42f::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 08:32:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 08:32: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: bf612014-c6f9-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ou8osTkq/UpMRJLYdJoBw3gx33ZPjwE5rRRVatsFpmdrNrHj02O59QSlHkIhvKzsVp1ZNVtWpS4qC4IfMJSDNefeSuO1SIIDoGRmaC+pphLxrg5XEOMBpLsFC2BMih586ZG5me+VRkM0I5dwNZYRFD2zo3db9GoZOo5f8HCEGsqhS0e5Jv6X12X5I9pxeZY2bnY/zm5r8ItFcqqTTfejyB3VwK4AUwQtkvABzskEMEqstZNd0nbCtjf+5byWtXabl4GywOS3PdqiS7jN6gUFUc3T44LPivbEgxZXr5CHv3ZzOC6N1Mq4dd1oyFi8oqjtMZCS+cnSsCm65Vd4c6e6EQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XTpCBMa8NzJbWQ9OeibEZHOFWtUwjRfdd29CEHFng5g=;
 b=Lj6/P+KUGHnBeh//0RrPfl+0jtjR6B0BQSybFN4RAN49pq/4A2NWUyZJFl3AVJ65kq9OStIw0+uUQ8IIm5I44VEFmHHkirKko8RT+oygcx87ubSkQpKjApdY6uIbv0jiHsc1HRCqrQV9uQv9iuX9nzvJ0wqClKrQl5DMov3HYCi7YMWaR6x+7cn64qQk8gdeKkxajSbdE0p+FrOFvK5lWduWPUwfT3T5Y7/5FxohZElUfGrkiVZNf1iwhbZt6ZAZ9//BwnGbJWEojKRj2iJdRESyH2Opd/fSdJlVyj68xJEb46PLQGJn8GAx2ozPi0CHDn2Ygy25iJ8gquVw9jQ+jA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XTpCBMa8NzJbWQ9OeibEZHOFWtUwjRfdd29CEHFng5g=;
 b=G0oEy9KJ3zBMALzaBG/+i977SVs3SFkee7QGPnphlE8LisVouFdjLf/meNdROpE+anRl+Bavf03wo1ocWcr/TaLXG8kvXs7k2SjFdOoIlWZBwTGC21d2wlDgOsMtWA6ehkmoKT3c3z83J1onJ7bRYXda9g/HnAJQ9XAX+pVPcM+CJ8/rmCLtgwT1Dr2enCeYNwvbd+gJ6COqtO/WSSfgDKv2bhu4RL6LZmhBDRyTbEDAus/gKVTmpVUMwxNq+JNcuDfttvTNlIUWIkhj9CVJ8V5+gu8di3XU6EIbmfWIONf2DvxqmYCqVbQwvo7KadeRl3jtgM8YC9ofSmLohxF4aA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <367d0223-d481-b7a3-3b79-a9bc6f00531e@suse.com>
Date: Mon, 20 Mar 2023 09:32:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v4] x86: detect CMOS aliasing on ports other than 0x70/0x71
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
Content-Language: en-US
In-Reply-To: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0157.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8804:EE_
X-MS-Office365-Filtering-Correlation-Id: 74271051-f8a8-4c2c-9068-08db291da04c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	W+u/YnIfrJGJKTfFit9cKHNNKRj7tAAkEhPrXAr/ZcUhfFAG7sVCPZmQsOSayfqZJ+/tQJcChzbutYeEf5Nsdr38lQ9H/MsvIBksUp5Zngd9nri+oH0frPmOqGdSNGCIqsXU84HpjybAOPo7bZTjWPDwifbokgWPNyUAxxnFlpuY5m0dYVEZmJurdIMaDQXddNQ8k3Rxz/u85OSbR9YQjy/pj2gn1b53Z9GzMfi1QlKzj4rOpeY4DthCe8Ff13PTHpuFnxrve+ev7YUQdcbcgBS+8/sLmMRaih3CgtpOyvPwrqCXbGTcPxymKwcWB4yAd0DjbKmEXqNtbLum+O+gz4QeF6B8kfLQHLYZRmLD+FM9ux8hwBqk6v4i2AMT4pg1e314PVrkdMqVeX5WAkkVnohR3RgNDpFi4V+p0CkpKzv9llau6/W99haBRzBbRbs0oNybBgzCGE7voT1VGjR+KBJ11Ype1+sXv9GL+mwQbMcSbrGSDrdo56Aow0prxAjPnyOZAkn6XjVVEnB8GLExiAzgQI30zd1NllTLbhluyHRx//hBqZ6ZXM9OrHrRn8vZVIgmcgE0ItnwyemveFP1MUGuihHk1RwudL01LOZecjvIw6Ww3uvydswyMQoimkJogIanXqsmiF4YlZ7SiSHlSh4MfZytLGZjszAFMeZY+505KLo/SY0YIlAwQUrNH0r+h+IoyB41GNXLFxw7zrtN++rSHze5CF7n97aRfXFrZ9U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(376002)(346002)(366004)(39860400002)(396003)(451199018)(2616005)(6512007)(6506007)(26005)(31686004)(6486002)(316002)(8676002)(54906003)(6916009)(66946007)(4326008)(66476007)(66556008)(186003)(83380400001)(478600001)(5660300002)(41300700001)(8936002)(2906002)(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?Z2xBZE9aYnk5djNkRlR0ZnJJWnMyVXJTQVNXRHVRcm5iN2lFTDI1WlFrNnZY?=
 =?utf-8?B?M0QySHUyTFJrc21NY2E0Zmxac3VtOW1HKzJqT2h4dk1QNnRKSFJhSWVKT0dC?=
 =?utf-8?B?bGNZWjNma094Wm1XbGhkbWQ0YWl6UXVTcy8wYVZNbDdzcWpja3E2NkoyNmZi?=
 =?utf-8?B?M1lic1pwbzBZZ0gwci9MbUpuMlVmaVJueUU0ZitMc0FDT05zUDRQc0F4bEN2?=
 =?utf-8?B?Z1U5OEl0ZXBVTXdIOTZFU010WVY2ZzhXS2s4cUpweVlHaEpwd3luU3FUU3cy?=
 =?utf-8?B?NUVadjBNcE0rWUVoSWVaZ0JkaWlpR2tWb2tlU1hEeldWMDMrengrK0NqZ0hu?=
 =?utf-8?B?eFh2N3pwUkNacFVoUURTamxDNFpvSHVMcmNWaitXeTdmVkIwcnozL2tkTmhR?=
 =?utf-8?B?VnNGRjBTNGJ6UGxVb1pjRXcrMmx4L2Y3Mkx0dSt6SEV6aWRNVm9xWG9DSXhu?=
 =?utf-8?B?OHNlUFgrZkovRDFDZy9WUkRpdVUxeThmalR6T2dIbXZXaHdrTFRGQTcrTVFl?=
 =?utf-8?B?MllVWHVjWDVzUmNjYmtUSHo4Nyt0ZDV0LzdWcHl0MlNQQnJQUEZxRnllNWxJ?=
 =?utf-8?B?a296ZHdGTnp3NzUyN1p0WjgvWFBnL1JhMThPNXpwM1B0cmgyUVJ2UUo1aks5?=
 =?utf-8?B?RHVRUHVRWUNPNUJGaTBDS3lNWnpxWG81eWVLY3FIWFdCL3dhUmVnc1NUb2U4?=
 =?utf-8?B?anFNTWRRdmhMWW9hRnZlWUVJSXVlNXAxd3FNdlRnaWJ2Nnc2TFA2K1QyRWlq?=
 =?utf-8?B?Q1AxakhqcUtTMXM3b0J6V0U0VytSZFZwVkxSVTdxd0lHSEZlT3BjTjRYMm9C?=
 =?utf-8?B?Y1pocEJTOGlpRUpDT1ZFYzdjZW9MUmo5WnlQY0w0bkdsRG10RnRpV3A0WkJy?=
 =?utf-8?B?NklKTmo2Q0h1ZXduaEVuK3drVGhLOE1iN1RVSlFmRXJMQlRBSU1HVm5zYkxP?=
 =?utf-8?B?MHV2a0tjV0dKdmpaam9VQnE3YkRZbzlCSVhBV1JDZEkwekZzdDdJN1F0T25N?=
 =?utf-8?B?QTF0NzAwS0pTN0xxQ1AwQStUTTZIMklwNnRZYkdEdzNXVmFvZzh6c0JEam1K?=
 =?utf-8?B?elFEZTVqbVQ3OXo5eEdtUk4rb2ZmSEtlUCt4emt0bUVuQjdMUzhib2JBS2RP?=
 =?utf-8?B?eXdENWlneFRSalhUN3BPSnBwSGNJWFRsZHZOZG0zRkRZOUVOS1NDVlhuZFY5?=
 =?utf-8?B?UjRlQkF1VXhJdGVzRVowN1FKZmswbVZpd0pzTGlrOG5DQUEyZ25UdHRpNk5S?=
 =?utf-8?B?YW5BOCt6OWFrb2VHVVMvcWgyR1FkQ284RnlOaEwrK3pXM2huOU90U3ZHZGdZ?=
 =?utf-8?B?Q0VTOW1pYkVoSlU5TDZ4eUkzeFgzSFZ0VWlIaFNDdllpRGgvZTlPbUpkb2ly?=
 =?utf-8?B?MTZtbDYvWDhaU1J6TTNyWHRncEhoak8wbEFTTVhlSlNNb3J5d3VSdU04SHdj?=
 =?utf-8?B?Y282aWU1RlBoNTl6VVR3d1M0UFZZQk0wY3p4bUJ1ZmhjczN4Q2hCa1U1Y3I1?=
 =?utf-8?B?R3J6VmNZdVQyM3R0TklHZExCMkFLVC9keG1hZXhhNCtOdFlaMGxxY2daR3px?=
 =?utf-8?B?ZUNZQjVOanExWFlzRExLNUo4Umd1Tkt4T1pkWFovUUtUQ3RDeXpXNDhFRGlX?=
 =?utf-8?B?RGhtUWpjNVVxb05VckJkbG9zbzlydEZzYnRqWDRYMUxwaDg2Tm1KcHZiM203?=
 =?utf-8?B?OW1xZWQxOEdGWkNwRDVwejNrY0xVZGpQWmRsamFqL05xcG4wbTBhZXRMbHh0?=
 =?utf-8?B?cGxLSHE4MmlLQkdidjhMUlRlRWYxcDVOYm5rUFRoZEpZR2xWeXJ5b05PRSsz?=
 =?utf-8?B?TjIyZ3NMeVRRSy9FTXhOa0lxYWZUSktpVGFvd3pVVVRXK25odGFWS0RqTUhm?=
 =?utf-8?B?ZXlQZHRMVHlTOFQrQUNWaDNhMlVSeDlTOVdidUNNVUxsUms0QnFlTWlIYXdu?=
 =?utf-8?B?OFFrdHd2OWNPWTZvVXpSRE42bVJqN0k5REdVTnY5NVdjb1VzRVFTMkZSZGM5?=
 =?utf-8?B?VktWejhPVGZuR0EyS0pzOElONnVmemVZL080cyt5Mm1qWksvdXdYaXhCL3lp?=
 =?utf-8?B?b1hjaDBNM3pQMFlyamNiV0RUOWNQUnYxSjdNWE8vR09IN2JUOVF3MnUzTzZR?=
 =?utf-8?Q?T6GWXr3uXoQT4Ehj8myTQY7E/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 74271051-f8a8-4c2c-9068-08db291da04c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 08:32:22.4625
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nIRD+eUpb1YEVFJL9Q0o5tTWUaulAswOedK64CmocXTRjLWYKzISw/Cacl47+8kLimbE23+hsIeC8Zaatp2lqw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8804

... in order to also intercept Dom0 accesses through the alias ports.

Also stop intercepting accesses to the CMOS ports if we won't ourselves
use the CMOS RTC.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v4: Also conditionally mask top bit for guest index port accesses. Add
    missing adjustments to rtc_init(). Re-work to avoid recursive
    read_lock(). Also adjust guest_io_{read,write}(). Re-base.
v3: Re-base over change to earlier patch.
v2: Re-base.

--- a/xen/arch/x86/hvm/rtc.c
+++ b/xen/arch/x86/hvm/rtc.c
@@ -27,7 +27,7 @@
 #include <asm/hvm/vpt.h>
 #include <asm/hvm/io.h>
 #include <asm/hvm/save.h>
-#include <asm/current.h>
+#include <asm/iocap.h>
 #include <xen/trace.h>
 #include <public/hvm/params.h>
 
@@ -836,10 +836,18 @@ void rtc_init(struct domain *d)
 
     if ( !has_vrtc(d) )
     {
-        if ( is_hardware_domain(d) )
-            /* Hardware domain gets mediated access to the physical RTC. */
-            register_portio_handler(d, RTC_PORT(0), 2, hw_rtc_io);
-        return;
+        unsigned int port;
+
+        if ( !is_hardware_domain(d) )
+            return;
+
+        /*
+         * Hardware domain gets mediated access to the physical RTC/CMOS
+         * (of course unless we don't use it ourselves).
+         */
+        for ( port = RTC_PORT(0); port < RTC_PORT(0) + 0x10; port += 2 )
+            if ( is_cmos_port(port, 2, d) )
+                register_portio_handler(d, port, 2, hw_rtc_io);
     }
 
     spin_lock_init(&s->lock);
--- a/xen/arch/x86/include/asm/mc146818rtc.h
+++ b/xen/arch/x86/include/asm/mc146818rtc.h
@@ -9,6 +9,10 @@
 
 extern spinlock_t rtc_lock;             /* serialize CMOS RAM access */
 
+struct domain;
+bool is_cmos_port(unsigned int port, unsigned int bytes,
+                  const struct domain *d);
+
 /**********************************************************************
  * register summary
  **********************************************************************/
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -220,7 +220,7 @@ static bool admin_io_okay(unsigned int p
         return false;
 
     /* We also never permit direct access to the RTC/CMOS registers. */
-    if ( port <= RTC_PORT(1) && port + bytes > RTC_PORT(0) )
+    if ( is_cmos_port(port, bytes, d) )
         return false;
 
     return ioports_access_permitted(d, port, port + bytes - 1);
@@ -290,7 +290,7 @@ static uint32_t guest_io_read(unsigned i
         {
             sub_data = pv_pit_handler(port, 0, 0);
         }
-        else if ( port == RTC_PORT(0) || port == RTC_PORT(1) )
+        else if ( is_cmos_port(port, 1, currd) )
         {
             sub_data = rtc_guest_read(port);
         }
@@ -436,7 +436,7 @@ static void guest_io_write(unsigned int
         {
             pv_pit_handler(port, (uint8_t)data, 1);
         }
-        else if ( port == RTC_PORT(0) || port == RTC_PORT(1) )
+        else if ( is_cmos_port(port, 1, currd) )
         {
             rtc_guest_write(port, data);
         }
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -2072,37 +2072,36 @@ int __hwdom_init xen_in_range(unsigned l
 static int __hwdom_init cf_check io_bitmap_cb(
     unsigned long s, unsigned long e, void *ctx)
 {
-    struct domain *d = ctx;
+    const struct domain *d = ctx;
     unsigned int i;
 
     ASSERT(e <= INT_MAX);
     for ( i = s; i <= e; i++ )
-        __clear_bit(i, d->arch.hvm.io_bitmap);
+        /*
+         * Accesses to RTC ports also need to be trapped in order to keep
+         * consistency with PV.
+         */
+        if ( !is_cmos_port(i, 1, d) )
+            __clear_bit(i, d->arch.hvm.io_bitmap);
 
     return 0;
 }
 
 void __hwdom_init setup_io_bitmap(struct domain *d)
 {
-    int rc;
+    if ( !is_hvm_domain(d) )
+        return;
 
-    if ( is_hvm_domain(d) )
-    {
-        bitmap_fill(d->arch.hvm.io_bitmap, 0x10000);
-        rc = rangeset_report_ranges(d->arch.ioport_caps, 0, 0x10000,
-                                    io_bitmap_cb, d);
-        BUG_ON(rc);
-        /*
-         * NB: we need to trap accesses to 0xcf8 in order to intercept
-         * 4 byte accesses, that need to be handled by Xen in order to
-         * keep consistency.
-         * Access to 1 byte RTC ports also needs to be trapped in order
-         * to keep consistency with PV.
-         */
-        __set_bit(0xcf8, d->arch.hvm.io_bitmap);
-        __set_bit(RTC_PORT(0), d->arch.hvm.io_bitmap);
-        __set_bit(RTC_PORT(1), d->arch.hvm.io_bitmap);
-    }
+    bitmap_fill(d->arch.hvm.io_bitmap, 0x10000);
+    if ( rangeset_report_ranges(d->arch.ioport_caps, 0, 0x10000,
+                                io_bitmap_cb, d) )
+        BUG();
+
+    /*
+     * We need to trap 4-byte accesses to 0xcf8 (see admin_io_okay(),
+     * guest_io_read(), and guest_io_write()).
+     */
+    __set_bit(0xcf8, d->arch.hvm.io_bitmap);
 }
 
 /*
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1234,7 +1234,10 @@ static unsigned long get_cmos_time(void)
         if ( seconds < 60 )
         {
             if ( rtc.sec != seconds )
+            {
                 cmos_rtc_probe = false;
+                acpi_gbl_FADT.boot_flags &= ~ACPI_FADT_NO_CMOS_RTC;
+            }
             break;
         }
 
@@ -1249,6 +1252,80 @@ static unsigned long get_cmos_time(void)
     return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
 }
 
+static unsigned int __ro_after_init cmos_alias_mask;
+
+static int __init cf_check probe_cmos_alias(void)
+{
+    unsigned int i, offs;
+
+    if ( acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC )
+        return 0;
+
+    for ( offs = 2; offs < 8; offs <<= 1 )
+    {
+        bool read = true;
+
+        for ( i = RTC_REG_D + 1; i < 0x80; ++i )
+        {
+            uint8_t normal, alt;
+            unsigned long flags;
+
+            if ( i == acpi_gbl_FADT.century )
+                continue;
+
+            spin_lock_irqsave(&rtc_lock, flags);
+
+            normal = CMOS_READ(i);
+            if ( inb(RTC_PORT(offs)) != i )
+                read = false;
+
+            alt = inb(RTC_PORT(offs + 1));
+
+            spin_unlock_irqrestore(&rtc_lock, flags);
+
+            if ( normal != alt )
+                break;
+
+            process_pending_softirqs();
+        }
+        if ( i == 0x80 )
+        {
+            cmos_alias_mask |= offs;
+            printk(XENLOG_INFO "CMOS aliased at %02x, index %s\n",
+                   RTC_PORT(offs), read ? "r/w" : "w/o");
+        }
+    }
+
+    return 0;
+}
+__initcall(probe_cmos_alias);
+
+bool is_cmos_port(unsigned int port, unsigned int bytes, const struct domain *d)
+{
+    if ( !is_hardware_domain(d) )
+        return port <= RTC_PORT(1) && port + bytes > RTC_PORT(0);
+
+    if ( !(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) &&
+         port <= RTC_PORT(cmos_alias_mask | 1) && port + bytes > RTC_PORT(0) )
+    {
+        unsigned int cmos = RTC_PORT(0), nr = 2, step;
+
+        while ( cmos_alias_mask & nr )
+            nr <<= 1;
+        for ( step = nr << 1;
+              step < cmos_alias_mask && !(cmos_alias_mask & step); )
+            step <<= 1;
+        do {
+            if ( !(cmos & ~RTC_PORT(cmos_alias_mask)) &&
+                 port <= cmos + 1 && port + bytes > cmos )
+                return true;
+            cmos += step;
+        } while ( cmos <= RTC_PORT(cmos_alias_mask) );
+    }
+
+    return false;
+}
+
 /* Helpers for guest accesses to the physical RTC. */
 unsigned int rtc_guest_read(unsigned int port)
 {
@@ -1256,7 +1333,7 @@ unsigned int rtc_guest_read(unsigned int
     unsigned long flags;
     unsigned int data = ~0;
 
-    switch ( port )
+    switch ( port & ~cmos_alias_mask )
     {
     case RTC_PORT(0):
         /*
@@ -1264,15 +1341,16 @@ unsigned int rtc_guest_read(unsigned int
          * of the first RTC port, as there's no access to the physical IO
          * ports.
          */
-        data = currd->arch.cmos_idx;
+        data = currd->arch.cmos_idx & (0xff >> (port == RTC_PORT(0)));
         break;
 
     case RTC_PORT(1):
-        if ( !ioports_access_permitted(currd, RTC_PORT(0), RTC_PORT(1)) )
+        if ( !ioports_access_permitted(currd, port - 1, port) )
             break;
         spin_lock_irqsave(&rtc_lock, flags);
-        outb(currd->arch.cmos_idx & 0x7f, RTC_PORT(0));
-        data = inb(RTC_PORT(1));
+        outb(currd->arch.cmos_idx & (0xff >> (port == RTC_PORT(1))),
+             port - 1);
+        data = inb(port);
         spin_unlock_irqrestore(&rtc_lock, flags);
         break;
 
@@ -1288,9 +1366,10 @@ void rtc_guest_write(unsigned int port,
     struct domain *currd = current->domain;
     unsigned long flags;
 
-    switch ( port )
+    switch ( port & ~cmos_alias_mask )
     {
         typeof(pv_rtc_handler) hook;
+        unsigned int idx;
 
     case RTC_PORT(0):
         /*
@@ -1298,20 +1377,22 @@ void rtc_guest_write(unsigned int port,
          * value of the first RTC port, as there's no access to the physical IO
          * ports.
          */
-        currd->arch.cmos_idx = data;
+        currd->arch.cmos_idx = data & (0xff >> (port == RTC_PORT(0)));
         break;
 
     case RTC_PORT(1):
-        if ( !ioports_access_permitted(currd, RTC_PORT(0), RTC_PORT(1)) )
+        if ( !ioports_access_permitted(currd, port - 1, port) )
             break;
 
+        idx = currd->arch.cmos_idx & (0xff >> (port == RTC_PORT(1)));
+
         hook = ACCESS_ONCE(pv_rtc_handler);
         if ( hook )
-            hook(currd->arch.cmos_idx & 0x7f, data);
+            hook(idx, data);
 
         spin_lock_irqsave(&rtc_lock, flags);
-        outb(currd->arch.cmos_idx & 0x7f, RTC_PORT(0));
-        outb(data, RTC_PORT(1));
+        outb(idx, port - 1);
+        outb(data, port);
         spin_unlock_irqrestore(&rtc_lock, flags);
         break;
 


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 08:39:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 08:39:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511765.790987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peB39-0004CC-RE; Mon, 20 Mar 2023 08:39:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511765.790987; Mon, 20 Mar 2023 08:39:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peB39-0004C5-Nx; Mon, 20 Mar 2023 08:39:27 +0000
Received: by outflank-mailman (input) for mailman id 511765;
 Mon, 20 Mar 2023 08: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 1peB38-0004Bv-Ut; Mon, 20 Mar 2023 08:39: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 1peB38-0005QY-Sn; Mon, 20 Mar 2023 08: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 1peB38-0002Ly-Df; Mon, 20 Mar 2023 08:39:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1peB38-0001Qz-DD; Mon, 20 Mar 2023 08: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=DdIi7C3Z+E7kzBVaCMTzxAkbw1edOXLGdu9feZmho1U=; b=XiDwZRSuD1VnI0c/EGTKpaktHz
	lgQIRCA6pBco3FecHpNHRrBvMEz2EBwNGB1LtaCkhTnaK3dBe1umB0LBaEn+MifHJ1sq5l+5vTd2+
	moOc+lthqufU1OqdbuFBUxRf8i+UZPUgqa5IZNRlImpohk7GvNZI/6lg+/g7Vj5Q1Vmo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179797-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179797: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:nested-setup:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:build-i386-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2: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-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine: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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=e8d018dd0257f744ca50a729e3d042cf2ec9da65
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Mar 2023 08:39:26 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 16 guest-saverestore    fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 16 guest-saverestore    fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 13 nested-setup      fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 17 guest-saverestore.2 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 13 guest-stop fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 build-i386-pvops              6 kernel-build             fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl       17 guest-saverestore fail in 179791 REGR. vs. 178042
 test-amd64-amd64-xl-shadow 20 guest-localmigrate/x10 fail in 179791 REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 27 guest-migrate/dst_host/src_host fail in 179791 REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail in 179791 REGR. vs. 178042
 build-arm64-pvops             6 kernel-build   fail in 179791 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-freebsd11-amd64 13 guest-start  fail in 179791 pass in 179797
 test-amd64-amd64-libvirt-xsm 14 guest-start      fail in 179791 pass in 179797
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 15 guest-saverestore fail in 179791 pass in 179797
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail in 179791 pass in 179797
 test-amd64-coresched-amd64-xl 14 guest-start     fail in 179791 pass in 179797
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail in 179791 pass in 179797
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail in 179791 pass in 179797
 test-amd64-amd64-xl-shadow   17 guest-saverestore          fail pass in 179791
 test-amd64-amd64-xl          14 guest-start                fail pass in 179791
 test-amd64-amd64-libvirt-pair 25 guest-start/debian        fail pass in 179791
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail pass in 179791
 test-amd64-amd64-xl-credit2  20 guest-localmigrate/x10     fail pass in 179791

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail in 179791 REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 179791 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 179791 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 179791 n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 179791 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 179791 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 179791 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 179791 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 179791 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 179791 n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                e8d018dd0257f744ca50a729e3d042cf2ec9da65
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   26 days
Failing since        178093  2023-02-22 05:02:47 Z   26 days   50 attempts
Testing same since   179791  2023-03-19 20:40:14 Z    0 days    2 attempts

------------------------------------------------------------
2198 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             fail    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 08:49:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 08:49:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511772.790996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peBCj-0005ow-Ou; Mon, 20 Mar 2023 08:49:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511772.790996; Mon, 20 Mar 2023 08: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 1peBCj-0005op-MB; Mon, 20 Mar 2023 08:49:21 +0000
Received: by outflank-mailman (input) for mailman id 511772;
 Mon, 20 Mar 2023 08: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peBCi-0005oj-H4
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 08:49:20 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20610.outbound.protection.outlook.com
 [2a01:111:f400:fe12::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 197ac036-c6fc-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 09:49:18 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9498.eurprd04.prod.outlook.com (2603:10a6:10:360::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 08:49:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 08: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>
X-Inumbo-ID: 197ac036-c6fc-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ek2ZqjFB2bVEYgPKrMmerTMld0DC5eENy2nuF2d662U9NmXZdHlY0xF59NEJ+pB8DEI+eNkb+NR4OWmariC7G2YrzyVx0Nll0UAAMMDJxpE8xkD9Cr15026g9BSUtX3gMZz8A+l4lZx/DD1gywFFvw7gHW/JoZaf/ttMam4m5EM5v+XlrAJeVlLfrzxbrADBxSf3a7OpEe9J5bRghb6QeOsYH1f28bOh9K0GQbSti1FWGDCsIPDZ4LsTV2FduKSWZlO6MzXAfhw+7t9Rw7fnTT4rjYKccyZYlRwWGucd0LgDPk90PDX1U8v2SLBNyuAw9Z1K3GZB0zjhopDxdOPjow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0qnECW3otFciX8FziyxkerSqu9QxmtNbM1VXdB8croM=;
 b=moUZSDEU+IAmt73Z03SvERabQq22JBYMaT1g8OFcFF4inmdmakxydb/1JJzJOS1I6bM9Ir5040FPd63F3Low1ew40MtMBa/tPevshbgv6GSKUIw3AXcoFEuXXXWhRmCp9nUqtRrKaYdlZbFcweuDv6wKVhhM7vM/JX2+8tHQe9SjbiWA6ltyv2tCfmO3c/Qmu2uRJMX+qIM0td4aMfj8pumEn6crbZZ+i4bDGnJsPGgUHBID/4rzOZWaPita8PNWhnyqbBoz9ZMSooXBoplmFt23CLlUhebwdMfFtj8zvAcoD1kkvRNLzz7oAqGu7HjCS+apeVTgoSFxOHd5lCKNWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0qnECW3otFciX8FziyxkerSqu9QxmtNbM1VXdB8croM=;
 b=Vp7zqR9Dtxv38gChzXUMqiIeTGLzyDq7fam/ZhUNOFTgQx2L20Y1q9fVgA1BhhPmCr3ZVeGdbODMKwPr/Cba6MJ/JnvYrY3bxg37i43twYjWO42rJlWdVBuw4vcSW1TU/dFfeNqkg0PMJAYT1pothOBccK4R9e6UlEQ/GHyzL5u9eYBlnJ+jKswYMxbwoWNTIq1rlkdMU35yksNq+hhIu2azJtnH0Xorx9Jgn0TYfINCdPdqtiFYHpkLbaG5Q+AUGt/4z8bOR4fY1Q/dyzxEIL6E2ps4lEQ7ur6grDdZQw79mfaHamBO0ffk4jP9JKgCZ9d/b+nboJc3j0TDdBJsyw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <50badf48-a0d0-8141-f409-42bf339bec36@suse.com>
Date: Mon, 20 Mar 2023 09:49:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 1/2] x86/APIC: include full string with
 error_interrupt() error messages
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1679084101.git.ehem+xen@m5p.com>
 <b03e331fc242b4c46e2adab124c7657bc3bb1340.1679084101.git.ehem+xen@m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b03e331fc242b4c46e2adab124c7657bc3bb1340.1679084101.git.ehem+xen@m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0093.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9498:EE_
X-MS-Office365-Filtering-Correlation-Id: 771bd705-6fd6-414c-e809-08db291ff9a7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BtHMcSE0UBFyyKulBwhhs4hRISJDf7UYFT9oDU1mXV/wWAgv4UFCvkwRPVzEShBy4rRnr/t3fyb+M1YbOrJOk5GPmj9w8aHgucbqofMxqIaacpCEi/K5veoeNopE7TT1vBLoTqTvr7WiRkvtEgI9H+qTQDfUWKC5JbvHpghXLER2vp3grXOrS489HFyTpcr1FzUdlZzaMzUt8B8wPdKq9puxpHmriEjhVJJgpo6h7KWP4tGCNswcK82Dn8A5rVD2O5NBBOc2RheZo/T6GJEEpkQSGg7V6FNlpmWfRkTWdV1ff34cVY0itYHhZpEL4lTAIoXDuYqwTn6oJf4eaPnO7+D2VPmncbKQ1dfs+4nIyHfY1SYGeYWfGCaCt9TZhvy3K9dBS1tY5Qohii2UmfiBVyGcV54LxDe+QUHHLTxuY97KrOKojqWdZlwbdTQIPo0PrskBslHCfMqOVwHd9xluje6gmARg/jP4KzXmNecsbfWonvhl//ez44YFQu/eRKry5TyeTPEJRCJihjE7r/Bx9Q7Lojpv4MCJGbxOhNzbwqoV9fnBHzaXL2B+AddzHurI0VbjoB46nMS3EK/b5/js2R5PZwgIDQgbiM0qw0HI2AE/2elhryIT96lriDs4xcjx+0JhMMJoZjIYg8nsPejww1EdRY55mLEwvb0O2v4WrAnraMZni6bB/SP/vuEtsz5jadfjH7xkvUqh3kqODmtXahj9aQ+qLDTUr2Wyw/upiQw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(366004)(136003)(396003)(39860400002)(376002)(451199018)(6486002)(31686004)(5660300002)(26005)(6512007)(6506007)(53546011)(478600001)(316002)(31696002)(54906003)(2616005)(186003)(86362001)(8676002)(4326008)(38100700002)(66556008)(66476007)(66946007)(41300700001)(8936002)(4744005)(36756003)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MlBOTXVYTVlwS3h2bW9ybkNnMHZGb0dLSmNkQkNJbDkwcE1vNmVGaG54b2tx?=
 =?utf-8?B?c1EyRlhpMklhRmU2Mi9uamFPRXZKTDhrU0ZVcTF1SXVRSldDNEUyT2ZRREhD?=
 =?utf-8?B?YXpBSWRWVHZwbkh4YnBkTGhrTlAxTENvMGVEdWZDRXpwY2lPS0hXWkY0RENv?=
 =?utf-8?B?TUNZL2ZYSVNPay9EWWFUZWl1cElxc3hmeWxNOVRWMlhGSnhQZCtBajQ1YzVl?=
 =?utf-8?B?WWdPelFzVFN4RERidFlJR2J6M0xhckNIelUvTEprQ2g0ajRvdkpmamtqYzdm?=
 =?utf-8?B?VlVLTXVzTi9Da3VmbE95c0hzSkhuZ3ZVQXJGMXdFNlo4MHdBMVdGaTBNMU5i?=
 =?utf-8?B?dUM4ZHo5c3lRNHZZTWxSTWtISzlBU2grWTAyckhIb0NxaUl5TUluV0NKdmhN?=
 =?utf-8?B?cm5sblRPSHJndThkRFhOdC9lajU3Wng3SGNQWHYzaTZVeDFya1cwcEpEeUlU?=
 =?utf-8?B?anloRStnaHpxc2RzSlR5WWlVV2FnMy9CaE04Wkg2V3M5aUlHR2MyemlacnJx?=
 =?utf-8?B?OCtreFo3YnNHUU9TV3Z1TllIUS9KYTdnY3czdjlVQUJUM0sxQzhhM21zcVl3?=
 =?utf-8?B?WWNreVpQdzFieWhmUkNTZElFbHdLYllIN3cweDFNbElkVmRiQk9QRUc4Ullu?=
 =?utf-8?B?cWJGWEpGY3NPNUkza29HL040aHUxam9yT0l5SlpLRGc4STZOd005NlQvZ2dR?=
 =?utf-8?B?dXNqUWY5bGFNZDFjbHFWOGJ5TXpHVEdNb05WN2prYWdsQmlMQVgwVXlOYXQ2?=
 =?utf-8?B?VjdwZDhnbWh6dkZqdUYvMDN4K3J3UmdmdlkzMWc3Y2ZWdUt3cGVTaDNTcy9E?=
 =?utf-8?B?bVRJaEJZb0R1eVU1aC9YSXlBZUdJRERXMFhxUU9NUzdnU2VtY0ExWWxvaUUv?=
 =?utf-8?B?YlVLUnVHYXAvSUN6cTYzOWF0SHR5Zm9peGFuWUN1MGxZM20vcldqa3hjYVhJ?=
 =?utf-8?B?UFFLQXlmQ2cwT0ZlVDVHQXZaQWVIOXJLV081SEIxZVF4WXVhZmxJWDRVK010?=
 =?utf-8?B?UmlndzEvRTdIRm40QzJCcWlnYlI4WjRrVjQ4Zitiai91SXk2aHg3cjlzc1Fv?=
 =?utf-8?B?TWZTczE4a1BlVDkwSllEREZ2ZDk1VHI4czB3ZlJQMVFSUXFab0FuTDNJVTZE?=
 =?utf-8?B?ZmpiTlNxa2pmZk9XNkZJbXZvbE5WRmZFeVl4Zzd6bmJVTk9aUjZZaFlYa3d3?=
 =?utf-8?B?WGo1R1Jab3QxeWpkTU9OcE1tbU1yeCtFR0tTQk5Nbjd5SnViOWtjTzlvKzhq?=
 =?utf-8?B?TFdxaytKeGErNmxHWmN3NkpkaVh1b0tUVFFTdU85dXM3Q3FmNWNFSUgyVmZR?=
 =?utf-8?B?a1VmYVZRVDVlVmMvM0plVTJpR1lxVkNPa0ZTVTRIVUhxczlJZXpXQVphayty?=
 =?utf-8?B?RlBwVW8wTlU1V3BUNHdGdE9sM281c1VpeGtoRTRYS1czQ3Q4TUhhVGg0eHhN?=
 =?utf-8?B?VVdFVVRwWTcyWWJLU3VGdXU0MEJXRENzK0lEQXVBTHNUVDFnci9PdXlYekM1?=
 =?utf-8?B?V2NoNUlrbjNtWnVXQ0ptamhmamZGa0RtdjVCVjMxR1VUY1RTR0lhUGF0N1JH?=
 =?utf-8?B?Y2hPUzJaUFBBK1VkOC9GcnZKY1E0d0xPYjJOcU1iUkZRbW9PeC83WVRRTzR0?=
 =?utf-8?B?UUphT3EzOWJiMDJGOGhSTFFLS09YZmgzR0VMTVhNWmwveVdHME9GU25OVG53?=
 =?utf-8?B?dVprcUp4YnM2YkRaYUNvMjFGeUFnaEg5M21ITXBRVG1rU1g2SENmZTk1M1Jj?=
 =?utf-8?B?U2pqRFJHeEp6akpYRkFaV1BxK2cyNFRzUHVDZjRMaTIvNzBFNDJYMDdIVm53?=
 =?utf-8?B?R2NVRGRXNlJhYnRDc3ByUFN4cTcxZEhFOE1EellveFNPc1FnNXUrNGFqQ3B6?=
 =?utf-8?B?UGxXWUovMEo1RGtvS24vbjZ4QU9mM0dkZkQ2dGN6ZXVNeHF5NVpNYU45MU9R?=
 =?utf-8?B?TVpDSzJqMUpHT3p0aHVqU1ZZeVN6TVZjOVJrZi9kRkJaeXZGNEY0RElmTUp0?=
 =?utf-8?B?UTlIRlpZZlVJTXFLOEZUY0RmbkpFWGVhY3ZGK2FWRDg5dDRBQng4SFZyYWZw?=
 =?utf-8?B?U2VCSDUzWk1RVWlGdnJEL0I2Z0k5T3k5UzBlWVh6TFRrNlBkbE9LR1Q4QXNn?=
 =?utf-8?Q?6hggU5FMyALyZVdjUtfeRLbKS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 771bd705-6fd6-414c-e809-08db291ff9a7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 08:49:11.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: dcsJkMuXTTX+5BriykMs3XfyvfJIQ628UAThuBS/yzfDuQnOdMrtfO4FCdAy9leCAnDl8B27frxdIJWeFLV5JA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9498

On 17.03.2023 20:45, Elliott Mitchell wrote:
> Rather than adding ", " with each printf(), simply include them in the
> string initially.

Why is this better? You're now using more space in .rodata. (I haven't
looked at patch 2 yet to see whether there's a possible reason there
for the change here, but if there was it would need saying here.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 08:57:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 08:57:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511776.791007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peBK7-0007Kn-Od; Mon, 20 Mar 2023 08:56:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511776.791007; Mon, 20 Mar 2023 08:56: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 1peBK7-0007Kg-L1; Mon, 20 Mar 2023 08:56:59 +0000
Received: by outflank-mailman (input) for mailman id 511776;
 Mon, 20 Mar 2023 08:56: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peBK5-0007Ka-Lq
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 08:56:57 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a951ff0-c6fd-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 09:56:56 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7252.eurprd04.prod.outlook.com (2603:10a6:20b:1da::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.30; Mon, 20 Mar
 2023 08:56:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 08:56: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: 2a951ff0-c6fd-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cMw4EV5VcqHVxDbx29OfYNWNHW+Kjhou1F2pdxzJo0gQbXDOqGEOddHb+7Zbcg/S8qcxWFtdciraAvus2GI1f4prD+Hc6KFd6FKegRAFN9ansEERDbUTZua8LcKYQ0LGIQYCgaszh/Z4GxmDtCmxNkzW7Lnodqm/XWVetX8npbw6At/bZ49IdUWGZPpmj5wVcDWzWWb+JEmKOS5c/W/SeWMB9OkRNeJzrn9lVsZu4MY2HE85svAjZ6pgk6L3p2d4LBvOIfWmfg6Azhh5zO/bsVqZc9EHlppKhS3Mnf5yq+XwvQ2tkQO5ubF9yAJduZxCb41ZHjCHv/M62DkZOGrIGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O6PTzaf9u4xx5ygtYcxNBmdQSHSEboNcOLlvMIeyAJ4=;
 b=YfT3xidtpoLDOEBl1QRFba5wy6PwNFm17HwsV9mMzwzOnC3D3OrA1WB1WRhfgHYFEWwZZFmkFBs5e579llHlDET4TDrnHipcd6fFF+v4vMVv0RivgwtzP7T5j0nbe2ZH0ncDw6p0zRZ6FXXuHikUnwricrPH6Uh+WmJ81QCHnqtu30Ig/Y1wOgsfouJd+EYxU3JMfutAQfeYtxU9yojafjj4o08mDsqJV5j0FQ1dD2YSzm3pUUFZd4QeOwkUvPx4ON5f9+cs/4hcTbpNq0oUpm/ROdSn9DpaJFAzrOCyPVS+5q03m9LYBM0nMtWIu4IvtH+f1QlDDmeqPtbw1yO0qQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O6PTzaf9u4xx5ygtYcxNBmdQSHSEboNcOLlvMIeyAJ4=;
 b=r9Biw8xegHtyTVoEpci8YDW/ndo1iHYvO90UQObjltAAt74kcjcsY06jnur14AeGudJzkol4ae5AcEsiJaGAm0sxkdrtZd9a2Q7sjDCZT723XPua+lLt+dVZdLvHaaj+5iuT2cVSTb4L5/ar1b5KuRHcUVY0f82TbkvDB61n+c8SmuMMc1VYnPdXEfuN6J4r9bJmlspKcY20GVONRIHK0rwip7KdDcYgrf25ISTYsBLR2sOre05TOvUYTlee7bp3JXchmt5d8KP0laeET6pIfe0Kc7Ugs0dlQm/rrfENAaIoX56KkVlmXv8f7FMQoYt9Z2NxU2bwqUo4vRm33HTrWA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f945860e-6a82-7070-3a1b-2e73a53040de@suse.com>
Date: Mon, 20 Mar 2023 09:56:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/2] x86/APIC: modify error_interrupt() to output using
 single printk()
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1679084101.git.ehem+xen@m5p.com>
 <4db49e192b6829e520cf497481a51deef227b23b.1679084101.git.ehem+xen@m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4db49e192b6829e520cf497481a51deef227b23b.1679084101.git.ehem+xen@m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0096.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7252:EE_
X-MS-Office365-Filtering-Correlation-Id: 821f6393-d537-4bd7-a11a-08db29210b3d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OpXzA/+3hKhB4a1vZun7u2yMJcT5vHDOA7Trd5V+zavS8RDVlyEYIpjZpyzGjg1iXhhznEqQyoXCsXWVisa+mmK0wKW1hBaRAazYsDbFE5g0bQ0tjkGVLREnQPmg4ckf7f6ImCFnjfTmiHBYweMMjCiFYuSBc9hZrfCgbdhjzZ6M0MhNW6IOEVLOqPAwzpD+ybwiWpYpH+X+QS5tYmr1c+uNAy75RKV4oeDBpGT+pEylgbE0/uI+16yYgHynHvzuFwrxBTqBw1ktSQjM7H2mWJc78ss0N8ShmDcaKfWgyKSPdgTW59J/DUk1EoVVqrwW3N5OTNoECpF2LOgr9CUCuhUvFkSM3BxFt7vdV5gshMkgfq4CGdMw7Icdd9+17/ubbAoNUkk+D2in2rXOEfsyjmrYPT6QgAPHa0BEQ1n7HJIXOe8ZhHFZFHLRYIhyvfRRc1jiNGL7sUFnD+Rd3rmC8QnCrlyr+RyNr+P4ciejfCtnXyC66fRh//Is/+WbqfOL4prx1ex3El8knbTUUWmRQDzHnW3NA2ptFXD6FfjIxULxehUnRvLendCxA71tidhnb/Hi5BFimyZbOjmbguUo4AzBYZ97OIbx+HmVP1MXakNdNEf2XbR565UiV2A8L7q27M50zcCf3GHzdoh15jNQccHkOE/jB2IURgvK6bjsLZD1JWvam4UsLPMMr6kDclHBZuPRRlVXoQfsW5oK7DsOgXgUHCNZWFLyDGOZpJLlm7E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(136003)(39860400002)(376002)(396003)(451199018)(5660300002)(8936002)(4326008)(41300700001)(86362001)(31696002)(36756003)(38100700002)(2906002)(6486002)(83380400001)(478600001)(2616005)(186003)(6512007)(6506007)(31686004)(26005)(54906003)(53546011)(316002)(8676002)(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?eUErN1dBK3J2RW15Z2UycnBsWE5CdHoycFZzQ3BjdXE5YmZSM1R4U2NBSU5U?=
 =?utf-8?B?Nkh4VldrcTE3K2wzcHd0RUFvemFaUG9MR0N1TGQ0WlhPWUEwM0p5WjVibDhE?=
 =?utf-8?B?ZU5qTlBIdWlaR3hPZzI5aXJaVjZYbDRZRWlncFlSZE1vVjh6cDhEdk9NRWxj?=
 =?utf-8?B?ZnpMd1g4dS8wQjMydVpzbkN0MjB0b2F4UjRtOWRBak9qK3RPQ2R2cnBTVGpQ?=
 =?utf-8?B?SVhldCtQNDNkdVd6MWtHS29KbFExNHMyaEVTcE5zMU04S0VsK0luSTRYWHRK?=
 =?utf-8?B?a21iSXBkVEhJQU9wNGU4K0l6TVE1MEplYkY3L1ovdEx4SXRmUXA2MGNqTmR6?=
 =?utf-8?B?RmdmWVZ0Yi9Lc3d5UXdxSXJVbVd0a2NHd3kwb0RtcDFaNndWcUdJaDFZOUI4?=
 =?utf-8?B?YVF4T0FsNEQwOTRUUEx3Qk5PdFhHWEdQT3h4OElYT25henNtVXhYQ0hZck9Z?=
 =?utf-8?B?RXROZVBIMngzNHZPYXhIaTcxN1R6VTBqdFovUjBMY3NhQllCbCtnSmxabS9x?=
 =?utf-8?B?RlJMVDRwTXB6THB0aVZxNHJLdVB6ekNPMUFybmR2VHo3cjRQUTV2UVdzYTVq?=
 =?utf-8?B?eHdvZ0ZEc2NJMXhjUXAvQzRxcGw0d0JLVmpPd1pEbzZzenRrRFNicXlML0oz?=
 =?utf-8?B?b3FxWE9UL0NOWkdtYjBoU3BScHBVaWpqa2o5R2ljSFNYQWkzY09MWE10RjZJ?=
 =?utf-8?B?cjBwK250OFpDeDNSYytMdDR5U09NNUREMzJCd3ZlanhZN2Y4aXdYSFpmb01T?=
 =?utf-8?B?K2dGenJxUFRwN0pVOVRoM1FUbHBFUGNJRm9TR1FSaEJmeXdwUHdpZU1qTTB1?=
 =?utf-8?B?b2xrWEVJTDFra2FhWXpwenBYT0lQNkYvN0RXYjV6VEVPNE0xL2lMWGlsY2hB?=
 =?utf-8?B?Y0VQaEVVLzdCdHdmbndINzVXNDlaSjNrYVJYczZTSEtVaWJpQnVWVVQ0eTJ1?=
 =?utf-8?B?eTFUTzNPQjdOU3RPR3h1YkZ4bWNVR0pSNlUwMWZCTWFWc1BpYUgwZU1hZkpn?=
 =?utf-8?B?TktFeFM4dk10S2lqMVNpQ2VPWG9yMHBnM0FDUDBwQllFQlpyYzFRL2hZVEJW?=
 =?utf-8?B?SjhnclhNY0pya3d4bHJyOFhEZnQ0VnNrR2tKZTdoOUI2T0VTUEpsekRlRERC?=
 =?utf-8?B?VjVQcCt4ZStUYndpRThUVzY1VGF4K0JHRkhLYS9BMk5VTWo3NWVIcXNpcUkw?=
 =?utf-8?B?Nm5BNkpkUmdtUUc4czdyaldoUGFSVnhQNTE2UG9DRE8xZzB5VmtTckUzR1Ix?=
 =?utf-8?B?eEFtdnVnVld3YlZuZ0JEL1Fnc1FmTkxkbVQ0L0c5WWFQWnk4UVFSbUJLd0pl?=
 =?utf-8?B?ZmkyNTVKQmd2bmgrTmFlejhnYWlVWFl0S0xYa1M5bWg5Sys5LzF3RW4xVnM1?=
 =?utf-8?B?K3dBcHY5SG03VjQ1cWk5S1F2dWpiL0pIWFBocmlRMlhRalY2dUxPZDIrWmFV?=
 =?utf-8?B?S0RoejhKcUFnZCtRcU1RU0hJSllMK08zYm11TWp6VXVSZ2poNVdORlpWTXRx?=
 =?utf-8?B?bEhwQ3FzQzlaRXlnYjMrM3VUWG1zQmw2ZjNoeFZEdm9HNjZ2YXZGVVdmcTZk?=
 =?utf-8?B?RTBHMkhDNzllZXBtR0kxdnBwUGJXdU9VejhkUnNvbGdYemY2OUlNNXdNeklq?=
 =?utf-8?B?WDBzNitESlBEa3NuTGJCNWtmQU5oNzRXTlp3VzQxcmdwNEp3a1oxS0FMcC8y?=
 =?utf-8?B?VnZxVWdEUklEM1ZPSTdmNFUzdmhDV21ESTFyUi9ZTFcyQ0tadElrd2JYUGlP?=
 =?utf-8?B?a1VSUy9Jc2E1Z2xJeWlHaTIvcUZ1NVBrOWEzY3hwTGtHaG5pZmdDeHBnT0Ft?=
 =?utf-8?B?RkcxMDRENjZIK3lZclpMdHlrdDNrOXJEK2R0MStjcjkvN21NU0VVRCs3N1dZ?=
 =?utf-8?B?c0NickZnU1djU291eG5GTWdaMFhyOEJNbnRCRWhRd3NtRGFwQkpWQ3kzblJB?=
 =?utf-8?B?NTJCaExlN2lXVDVZem8wQVIvZ0hJczNSQlBIODFTRnRtYmYvVWxUOTV6ZWJq?=
 =?utf-8?B?eExubVBSNHM1V2tJU3NjbGJpYy9sM3R0WlV1b25nbDg0a083S2lpbGtDYUdu?=
 =?utf-8?B?OVlYVlNsVmNheWtiM0o5NU5PTDZ6bmtocklJRjlpTk1MVVhQeVBvRUtEOEZ4?=
 =?utf-8?Q?WI8zV3u2JWnL2RBV6bnMu6dkR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 821f6393-d537-4bd7-a11a-08db29210b3d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 08:56:50.4336
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7miZOmczhixps9a+zndaYBMAi0r9AE/al9UNYicMUYYK4UyawH0SsnmAFu8cfvqjPcUmw/d9mgaQtMDMK0kRrA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7252

On 17.03.2023 20:53, Elliott Mitchell wrote:
> This takes care of the issue of APIC errors tending to occur on multiple
> cores at one.  In turn this tends to causes the error messages to be

Nit: "at once"?

> merged together, making understanding them difficult.
> 
> Signed-off-by: Elliott Mitchell <ehem+xen@m5p.com>

Here it becomes clear why you're making the change in patch 1; as you say
in the cover letter these may better be folded (or else, as said there,
patch 1 needs better justification).

> @@ -1419,12 +1420,12 @@ static void cf_check error_interrupt(struct cpu_user_regs *regs)
>      v1 = apic_read(APIC_ESR);
>      ack_APIC_irq();
>  
> -    printk(XENLOG_DEBUG "APIC error on CPU%u: %02x(%02x)",
> -            smp_processor_id(), v , v1);
>      for ( i = 7; i >= 0; --i )
> -        if ( v1 & (1 << i) )
> -            printk("%s", esr_fields[i]);
> -    printk("\n");
> +        entries[i] = v1 & (1 << i) ? esr_fields[i] : "";
> +    printk(XENLOG_DEBUG "APIC error on CPU%u: %02x(%02x)"
> +            "%s%s%s%s%s%s%s%s" "\n",
> +            smp_processor_id(), v , v1, entries[0], entries[1], entries[2],
> +            entries[3], entries[4], entries[5], entries[6], entries[7]);

Two style nits: Indentation wants fixing here (it was wrong in the original
code already), and the stray blank between v and the comma also wants
dropping at this occasion.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 09:04:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 09:04:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511782.791016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peBRK-0000WB-FQ; Mon, 20 Mar 2023 09:04:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511782.791016; Mon, 20 Mar 2023 09:04: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 1peBRK-0000W4-Cq; Mon, 20 Mar 2023 09:04:26 +0000
Received: by outflank-mailman (input) for mailman id 511782;
 Mon, 20 Mar 2023 09:04: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=xkKL=7M=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1peBRJ-0000Vy-MM
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 09:04:25 +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 35b5468d-c6fe-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 10:04:24 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id w9so43797954edc.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 02:04:24 -0700 (PDT)
Received: from [172.24.0.25] ([86.189.51.246])
 by smtp.gmail.com with ESMTPSA id
 k15-20020a50ce4f000000b004bef1187754sm4507582edj.95.2023.03.20.02.04.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Mar 2023 02:04:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35b5468d-c6fe-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679303064;
        h=content-transfer-encoding:in-reply-to:organization:references:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=35DJsDfCUQwOkSef36+qC/zHigPEGaR4T7HvjDudWQE=;
        b=ZFCWyLFpy3EWYKR4DF4urrAiG6Kl0IJRIHWURX73f/tFETbho+F1XoxE9jVdg3JD2q
         SeHKT8Va+p7dx8ACF5pP4QEfXipJRkCCEzNHLSxLOGGWguRApWPq577/IFg2t7BCOQKn
         s80/RG1FvnPZ7x25UxKJwURP5dMSzbUV34sscg18IPLNaAuJp6ZGzxV3+7+K4plmmegw
         bvaPiJYfwACLsToQRYzXxcdDrGGkF/aB1m+vMtcos92ossQdF3y16PFHzV/3Jr62ikA/
         nJAK1H1Lat/09vwy0kYns+ezC2898DRviSLU6RYHTJw5SnS18UBeQSYBZR1CG/+2oMKO
         KhGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679303064;
        h=content-transfer-encoding:in-reply-to:organization:references: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=35DJsDfCUQwOkSef36+qC/zHigPEGaR4T7HvjDudWQE=;
        b=srOAB7UWBTTZKkb2CS4UX6Kb99chUuqlaQRDQRYvp/wgbNLTT2h3uFghHI4GKZpqBN
         GP4fxgUPhY1luvmE3iKyq/qHz/sJ1WKwsKL2TDt8nC8r/OIvDKbRD/vAnmfHwkU709ED
         IkCScYFOLJDEQk0cFq5iGQGWqujFPfuCqNFRqTlTogSGS0Z6WPB9CPKtCCmgg6ueUUaI
         WUM9CItazFQfnMTNiPoGx+nPksFG1rJdQc/67nNy8G0YDmQsNscpgQfMEL1XESwmPj5w
         XsIVNm8kdCW5VSjtl86xpYBUtXhmbIeuO3OFbbdeNgZd+BptdvZzkgKL7wO6EH7Bbwe8
         GT1g==
X-Gm-Message-State: AO0yUKWCDulB3HWWi36KG31xsoSOGl1uyup8FXlYrPw1oeBpJzQMvBIg
	1vSs/H2mdpkPlbvjnmcPwtkOCYamtlg=
X-Google-Smtp-Source: AK7set9sYr+MnbPGCxElSwftpTqMtwarRuClwsp6RnJh8Rc0wNc1AU4395oterxtwJc3lLMerVRMNg==
X-Received: by 2002:a17:906:bcf4:b0:920:7a99:dcd4 with SMTP id op20-20020a170906bcf400b009207a99dcd4mr8542454ejb.62.1679303063952;
        Mon, 20 Mar 2023 02:04:23 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <2f1c2da9-ad21-cf4d-230e-b3e01658f25f@xen.org>
Date: Mon, 20 Mar 2023 09:04:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Reply-To: paul@xen.org
Subject: Re: [PATCH] Fix PCI hotplug AML
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, xen-devel@lists.xenproject.org,
 Jan Beulich <jbeulich@suse.com>
References: <16d19b45842d4f98f130c98628932eb2d62ffe72.camel@infradead.org>
Organization: Xen Project
In-Reply-To: <16d19b45842d4f98f130c98628932eb2d62ffe72.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 17/03/2023 10:32, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> The emulated PIIX3 uses a nybble for the status of each PCI function,
> so the status for e.g. slot 0 functions 0 and 1 respectively can be
> read as (\_GPE.PH00 & 0x0F), and (\_GPE.PH00 >> 0x04).
> 
> The AML that Xen gives to a guest gets the operand order for the odd-
> numbered functions the wrong way round, returning (0x04 >> \_GPE.PH00)
> instead.
> 
> As far as I can tell, this was the wrong way round in Xen from the
> moment that PCI hotplug was first introduced in commit 83d82e6f35a8:
> 
> +                    ShiftRight (0x4, \_GPE.PH00, Local1)
> +                    Return (Local1) /* IN status as the _STA */
> 
> Or maybe there's bizarre AML operand ordering going on there, like
> Intel's wrong-way-round assembler, and it only broke later when it was
> changed to being generated?
> 
> Either way, it's definitely wrong now, and instrumenting a Linux guest
> shows that it correctly sees _STA being 0x00 in function 0 of an empty
> slot, but then the loop in acpiphp_glue.c::get_slot_status() goes on to
> look at function 1 and sees that _STA evaluates to 0x04. Thus reporting
> an adapter is present in every slot in /sys/bus/pci/slots/*
> 
> Quite why Linux wants to look for function 1 being physically present
> when function 0 isn't... I don't want to think about right now.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Fixes: 83d82e6f35a8 ("hvmloader: pass-through: multi-function PCI hot-plug")
> ---
> Utterly untested in Xen. Tested the same change in a different
> environment which is using precisely the *same* AML for guest
> compatibility.
> 

This AML only relates to the hotplug controller for qemu-trad so it's 
unlikely anyone particularly cares any more. In fact I'm kind of 
surprised the generation code still exists.

   Paul

> diff --git a/tools/libacpi/mk_dsdt.c b/tools/libacpi/mk_dsdt.c
> index 1176da80ef..1d27809116 100644
> --- a/tools/libacpi/mk_dsdt.c
> +++ b/tools/libacpi/mk_dsdt.c
> @@ -431,7 +431,7 @@ int main(int argc, char **argv)
>                   stmt("Store", "0x89, \\_GPE.DPT2");
>               }
>               if ( slot & 1 )
> -                stmt("ShiftRight", "0x4, \\_GPE.PH%02X, Local1", slot & ~1);
> +                stmt("ShiftRight", "\\_GPE.PH%02X, 0x04, Local1", slot & ~1);
>               else
>                   stmt("And", "\\_GPE.PH%02X, 0x0f, Local1", slot & ~1);
>               stmt("Return", "Local1"); /* IN status as the _STA */
> 



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 09:09:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 09:09:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511785.791026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peBVt-0001GN-1R; Mon, 20 Mar 2023 09:09:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511785.791026; Mon, 20 Mar 2023 09:09: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 1peBVs-0001GG-Uo; Mon, 20 Mar 2023 09:09:08 +0000
Received: by outflank-mailman (input) for mailman id 511785;
 Mon, 20 Mar 2023 09:09: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peBVr-0001GA-Kl
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 09:09:07 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ddec5ba7-c6fe-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 10:09:06 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7862.eurprd04.prod.outlook.com (2603:10a6:20b:2a1::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 09:09:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 09:09: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: ddec5ba7-c6fe-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JyYYgYIJdq/GIHDLDpwr2UuKdUolS44vHLC9bmrvzqsCm3Xt+sMC22iLoUZ5fIWY/KmZ1sw7hSRQu8LTMKM6853fW8yrq7xkveBxoAIstKffqOs2GyVjJQDOnVjjV4MOTgIUhCD2DSmsaPEtNbJ4B5k10j3H0OMBzbQuSbl5HEL+Um1ZMfjAC+hZraKAUTa4GY//c/+TdtM83mOoW8IJJzMCTK9QPXzy+oytBI46MnUOsPVx3nsoK/+Xw1A88iBOcTa0efVgbQBGtQqLMiZvVb1LbvyXyzdFzkgngl24NghlLdbIHEP/bdQNSwIEGKir7ZxJePRI+di0IRlpnbkadg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PtG/Al8PtyevE7aRtQosDGS8RpzC6T4w+nb5aluY80s=;
 b=B98LmoL+CK9LtW3ie2vTMzh5o2vrcDuJ+UH9YE7AGzQg23xR3b3ZiMrG4qn6rmZW/eCNeswg8tQ4WXXUEF0VYs+GZ614p86h5lOQQFCQ4uB6xQzoslKTrXEcMVme1AMacXV6JNmljYbnoU14LNQHw417D5/YNEl5V+FFLF7HLixZsoMouQrOqaXFCpMzz44+CQ5sf/1nalRR465OBluqQKvLMhsczuFE7AzZceWTbD5fercgTfTWZ0Bu0mD40b4KBf3CZcCa2R5YkmFyFJwJPslQ0ybDVcyPOXVShIZJm452ZFvX+beASh7A5zjfzte/PRx/6tXFSsLYyQcyEkar+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=PtG/Al8PtyevE7aRtQosDGS8RpzC6T4w+nb5aluY80s=;
 b=RLhTLBA7yMeehj01K/cUhxnengxwprvyjID2D3lqg/zCzeDEghoJk3qn8s8pkKNVIXF+CJ5/yM4gX3cxVv+/YOpbcnLQRcl0XWwHJrzUs5g5CYVWYpmSvln/iLwE9IZs4IhdA185Sle6x7s3WMsDfjX82cGgXtZFKzNWUeHIFDU9PEj7e3MaPMjF0L50ZBLnq1DKc97psDUtvm61N84AOJ6SWNt1I3HNbFxWGA9oZFI+oJ9OjTWwNzm4D5w2a4jJ/fZqNi8yY89ae6alF3FcLS8N59pWX9RdZPoHhKfVTwDyUcYHkdKgouZWOYt9aqrbfADAQqefrSU4eB/UGgR3Kg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <204dbe14-c1e9-8d56-4923-4a867c3d2c4b@suse.com>
Date: Mon, 20 Mar 2023 10:09:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 02/10] xen/arm: add SVE vector length field to the
 domain
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
 <20230317131949.4031014-3-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230317131949.4031014-3-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0114.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7862:EE_
X-MS-Office365-Filtering-Correlation-Id: 499cc575-d72b-4c85-e0a6-08db2922befb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fMxDiVMsM9/fiiPyN8BjuH8IKRrvqIry7vQFZUGto9nSDsbgVW+j/RuHgryGgWmc5sZPJVMWIHSjgu5AAGoLZAM2i8owHPKHzYx2qEGF5bYDrYvNciqrG18q6iUuRYeIllhJa5eVbl3NfwhboRppOhYW6WQZOLpyG4O3wLmHMr10MsO7gmZCKnG9mhFMAfu/n8VnPELo4L+4ZDx55R/Ezs5IkILhNnhWxu1lbR2tvm+nHbeYjO92Rby5QoYNf73O+LBCubddOp2bUr79u2o4w45HfKBoy0fSq5RJ1K35587AKCYpUGOkxKfBIdUeOJbNgp/Zy7L413cG9u4FDfPGGjkMpm1k86MAoldo6bLCvd3JKe2sWwf2zpZ2y4hoyNEMbxtRzixJXjb40vGbiKc6vSrFzxQ0SOxsDnl9zrtZaC/GY3CeCtWkAI5UhJ1V9X1WVlQyYlLu0+stjw80QF17oz22UxiK9CZ7k+OkYdFhsr+qznz0yFlMCCQrd0OkFywgIQsWrjbbxReKdVc3Z1fq+EvuHGeO/Aw4l82GDABxnePBfTE72WebqGEDgCO8rQnRl+eGtArhSb2WN2dshgoOtb9U6dsfw9zj8SwFCaEWF/jByQUkADVS5MRcaxyrwGm+zQCSVWHiAPYonNIb1F0Ror/c2tCUYCBrj8w0pwk/34RZdPdSqJop+6Owtxp4LGAg17HYFwpmzSfcan4xlO190uX267khBgPwYS80MTWCEtg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(39860400002)(346002)(396003)(136003)(376002)(451199018)(31686004)(2616005)(6486002)(186003)(6512007)(6506007)(53546011)(26005)(38100700002)(31696002)(478600001)(2906002)(86362001)(83380400001)(8676002)(316002)(54906003)(8936002)(66476007)(4326008)(6916009)(5660300002)(7416002)(41300700001)(66556008)(36756003)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bDhTYUpZQ216QnRaWEM0YzV1dW8xdEk0c3ZlOWFaaXNKOUtZZTF6OXZsdk5Z?=
 =?utf-8?B?ZDV0U0FGVHFhWjUwaURMeTVHdGI0Rko1OVZsdi80Ulc5SVZxMVNNVUZyeUhS?=
 =?utf-8?B?RHRmSk1PM2xHQ3RwTUlrNnRFYzRwM1RNcyt0bDhOSmQwVFhXNnFnZ2hrWi9r?=
 =?utf-8?B?OGQ4N0pTSXJyRmlkNHpyR1RjekxNbFpyUjA2VlBIR0ZYRm5tR1Brby9hbW92?=
 =?utf-8?B?TXJjcDJqeHB5bmZxL01YRHRHNTYraFFQSkhoMWhQb2xzMzdhQTBWVWNJaWR1?=
 =?utf-8?B?M001SVovaU1kVytjRnZNSTc3bk0yeTJPbXc4bUVKWG9rNlFyQmdzSGhBeTJp?=
 =?utf-8?B?aEk3NUlydyt1eG92WHppWk9LOXI2WnhLSDZ4THE4KzRGc282NmIzVFVLVjUx?=
 =?utf-8?B?VXlkQkFkZDZaZlAzTU5jZEpVazlHWFVhMkdKazdhRHlvQ2VsazJJMGxhMzlV?=
 =?utf-8?B?L3dQTEdqTmdQMkZ2R3FEd2ViZCtlNFBvRmxjMzZCRjRnVEdXeHhCcjF5bUh4?=
 =?utf-8?B?b1N2NzBUVDU4R0hOeHV2aGg2bkYrdkdvbW1RQnZETURWaHJZa1FrUUdjRHdp?=
 =?utf-8?B?VUFGT2VGcFNpbm4wRDUxWEV5Q1p1aUJmVC9OMWxYWmwvdFZlVVNhdSttbTEw?=
 =?utf-8?B?THU3aVVSeE1MVTFTMDJxRWpBVGRDN0JLTUI0aGExMnpYcWJwQmpaNTU1THI0?=
 =?utf-8?B?MGRURXRPbW1IbGNvREEweEl2VVN0dlJVYjkzRlRRbXZKTkorUlJ3Qm5sc3lk?=
 =?utf-8?B?YkJwVklWWm5DTXdNOTk0UmNVNll5VnJRemJvMW0reGkyMytUL04zYmdybFkx?=
 =?utf-8?B?akRsVDNUdzR2TnhzdEVjQTRpdUg5WGZqTko2Nld6K1p0RzZuREg5WWxzRndh?=
 =?utf-8?B?aGM4Z20ydHBlWllBc3FMci9mdlJHN0JtVkRVNkdnSXdsL3BucTk0KzEzMEp6?=
 =?utf-8?B?bDFVVG5LVE1vTm4yak9ON2VBNUhmZlkweGQyK05GWDNTdWU4U0VJaEJjbzgw?=
 =?utf-8?B?N01LOE5tek1wRmtnNmtlMnBuZnl5d2ZMaEhzMXBEQldodlROOFprWHc0Zlhh?=
 =?utf-8?B?ZzBSM2g4ZXg1dEk2aFRmbmlHNHJKZTc5Q3M2S21xVVloaVpJZUNGZWtSQ1Jr?=
 =?utf-8?B?VXlBclZrQVdJVUcrcFRBcXdHUWhBK01PYmIwV1lydjg2aG1kQ1NKa3pwNFEw?=
 =?utf-8?B?U0NwNHN2R0k5aUJJT0hMSy9PYWVQZlpXbEVWdEZoNVNDTkVwOG1SUzc3TVNY?=
 =?utf-8?B?blBNRTRRbVY3eEU1cEo2SDBLQ0MrV2gwTUR2S0tpL2t5T0RiVzFscnhzWnB5?=
 =?utf-8?B?anQvU2hQUVZIN2NZUll6cE9sM1RDZ2thVHIxcXZlaXFmZmFNQ0dScklrVy94?=
 =?utf-8?B?TEIrd1JnaFc1MllCaU5IK2lPY2RPSHkybFVzcWlLenV4V1NsS05FRk5pOGto?=
 =?utf-8?B?a2NMRFpzMUdNNmhQY1VWNnhZMktQZTFwTTNLVGcveEM3WnpMYzV3VXpkc1VD?=
 =?utf-8?B?OGlicHdaV1NLVExtcEFZMWsxditvaTBVY0IvK1duVm1tSm5jMld0d2Q3R1p1?=
 =?utf-8?B?TVBnMjBnOTZJcVZjK2tmUTlCWU1BVW9yYVpvWndxdkZWSzdXcEM2cHltbEdZ?=
 =?utf-8?B?K2V0WWovNytmNkEvc0NnNjUxYzlJTVdjb29rTFMrbG5KNllzT1R6RkJLV2pD?=
 =?utf-8?B?cWhRMlhHbjhyQ0I2NGpWVDA3M1JnTHhQQnYxRm9XZGFkM3k5SGlyTStzMUJI?=
 =?utf-8?B?N1FLbXExZWhjZVg1Qm5NQVg5THc0clFFOHBVeEJXcy8xQkVWd2NVMXd2VlFC?=
 =?utf-8?B?WDdkMlAwZmkwdlZXaFB6TmJEWmdpZGN0eUR0WU1tL0hwQnV3ejNkVlovL3Y4?=
 =?utf-8?B?ZFYrOXc4dTk0WWk0enZzclZ0MElQdWFMc3c4eUxvRDhhWkZjQTZKa2xKcm80?=
 =?utf-8?B?dUtOMmd4NjFiT2JGUnRrbDhMRzYvejdTRTVZbXNEZjYvOHI4V3BoQnU2aXpQ?=
 =?utf-8?B?WEtJMFQ5eWhBWkQ3WmpPTmNvdkI3dEh5SXNzVU0wUHFJa3RKWldtSm5wT2hM?=
 =?utf-8?B?UjNYVVNKelFWaW5UZDFibDFGTWFuRDc3eVdSbE9VV2dKbGljTzhnRkhPMUl1?=
 =?utf-8?Q?mNIP5S074AIQ1l8TAENW1K/0y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 499cc575-d72b-4c85-e0a6-08db2922befb
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 09:09:01.4580
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AGL2jK5chAiiy3tk/g9s8esH91ul/pG4WsHQZPuF5N010Xr45QYO7U85hCWZFGuqjGrEmrYe7dZAt2rY+jlo1g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7862

On 17.03.2023 14:19, Luca Fancellu wrote:
> @@ -744,6 +773,9 @@ int arch_domain_create(struct domain *d,
>      if ( (rc = domain_vpci_init(d)) != 0 )
>          goto fail;
>  
> +    /* Copy and decode sve_vl from the domain configuration */
> +    d->arch.sve_vl_bits = domainconfig_decode_vl(config->arch.sve_vl);

Considering that you now "encode" and "decode" the value when coming in /
going out for a hypercall, wouldn't it make sense to also have in internally
stored value in the same more compact format?

> --- a/xen/arch/arm/include/asm/arm64/sve.h
> +++ b/xen/arch/arm/include/asm/arm64/sve.h
> @@ -13,10 +13,23 @@
>  /* Vector length must be multiple of 128 */
>  #define SVE_VL_MULTIPLE_VAL (128U)
>  
> +static inline bool is_vl_valid(uint16_t vl)
> +{
> +    /* SVE vector length is multiple of 128 and maximum 2048 */
> +    return ((vl % SVE_VL_MULTIPLE_VAL) == 0) && (vl <= SVE_VL_MAX_BITS);
> +}
> +
> +static inline uint16_t domainconfig_decode_vl(uint8_t sve_vl)
> +{
> +    /* SVE vector length is stored as VL/128 in xen_arch_domainconfig */
> +    return sve_vl * SVE_VL_MULTIPLE_VAL;
> +}
> +
>  #ifdef CONFIG_ARM64_SVE
>  
>  register_t compute_max_zcr(void);
>  register_t vl_to_zcr(uint16_t vl);
> +uint16_t get_sys_vl_len(void);
>  
>  #else /* !CONFIG_ARM64_SVE */
>  
> @@ -30,6 +43,11 @@ static inline register_t vl_to_zcr(uint16_t vl)
>      return 0;
>  }
>  
> +static inline uint16_t get_sys_vl_len(void)
> +{
> +    return 0;
> +}

Throughout here: Style - please limit the use of fixed width types to
cases where they're actually necessary to use to achieve a certain
effect (see ./CODING_STYLE). None of the cases above look to match that
criteria, merely ...

> @@ -114,6 +116,9 @@ struct arch_domain
>      void *tee;
>  #endif
>  
> +    /* max SVE vector length in bits */
> +    uint16_t sve_vl_bits;

... this may be justified (for space efficiency), while ...

> +
>  }  __cacheline_aligned;

(nit: stray insertion of a blank line)

> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -300,6 +300,8 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
>  struct xen_arch_domainconfig {
>      /* IN/OUT */
>      uint8_t gic_version;
> +    /* IN - Contains SVE vector length divided by 128 */
> +    uint8_t sve_vl;

... in the public interface it's of course mandatory to use.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 09:13:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 09:13:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511787.791037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peBa5-0002fN-Ht; Mon, 20 Mar 2023 09:13:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511787.791037; Mon, 20 Mar 2023 09: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 1peBa5-0002fG-Ee; Mon, 20 Mar 2023 09:13:29 +0000
Received: by outflank-mailman (input) for mailman id 511787;
 Mon, 20 Mar 2023 09: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peBa3-0002fA-Mr
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 09:13:27 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061b.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 78104ab9-c6ff-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 10:13:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8616.eurprd04.prod.outlook.com (2603:10a6:10:2db::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 09:13:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 09:13:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78104ab9-c6ff-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Oign8SiP7/ak1FrFl4wXxrytxu/OrIj3AVgEglzD67oc67i4i/VZg7nrKG55oUnU7kyIMr2UQi88xb4b85DUT3ypO8xLcy1LPsXe6uNyY0mJhMqZ/FiRAakeNpB3oCyYPVYyHTkCvBAVJuAWPK1V7kH7uHTbavDBBOBLdU1l08MRZkU6r4yIQcFsj7g6fuFWxfloyB2C3jfRaMIv9lr6LoUqNzVspmdQAIHkJUdozCJsUmQ0uZkgQM4Pkr0wmaTsMeYASMGAduE8jo7bYyXMCyV9aUfqreYFQK/7wXBE2RPYKEwmaW1/GvlbCKwYimKklqQOOFsFDK99H56VhlR1Bg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rrUxzXV+t7HTO0ZihCi4ZmO2sYxa1tTkGYaNHBQvbEE=;
 b=dW/9216O+WjetjlU6nA1XGwgQRtZ9BVNKQl+bzCWaAwxnQPIY54FFXBvj4WYAnjIjbYuuEP1TJahr7T3SEAyLzFyXjaYxPRP76eyzeAid9XxV6WfTm76VsmBjlgpYfwxhabyUQghO3LuX2ivzACo5Xc3FZDOLWd/Ixvft3HbMWTPToiDWecZP8Z/ioV5/IY6FCHtz3fXbmwhkL0IKB8D4ZxcLeueM4HiLb1FLh/yajCXEM/2+bCNKm9DGF0URhhnAX4PxKh8CC6qWwj60xPu2G/UIf1IfXOLDtZ8sZ/vyzjksw6S/7wAKe3/DODfcBNbxnd9Ai+Kj7eH13GCsl4Fow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rrUxzXV+t7HTO0ZihCi4ZmO2sYxa1tTkGYaNHBQvbEE=;
 b=wyi1xJ2HvWgT9VPM98n6eOhAzelOlG2ji6R37cbhfXHvYOje2oaWs59F7faTMU3rn9nlEfO+fkpAqeaDyM3PuCZby+KD/kywtrxEa3yFk9mXFYCd7N8NWy8fYdXhPDgthcvzKzLN35h4KcVA8eoQ1b7TFJIKV48WQ0igaMrdPQ1jxCxGYyTuTu3mMtxsIImbkjwZBVbKzBe2I0IrRoc1oq2S4JwoCs84C4kz8veJWWEJXqaPaqHINk7bG+JNpc20dhQTKDimpFwhn0l5tjq9ncjyh/k97xtipnbBhM8HdgJFCjk4+dXU3sv3PrH8PnjFPs2yeLznjVsz9HeZPpAb3w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bfe68fee-dc22-dcf4-c4fa-d30ddc95718e@suse.com>
Date: Mon, 20 Mar 2023 10:13:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 06/10] xen/arm: enable Dom0 to use SVE feature
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
 <20230317131949.4031014-7-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230317131949.4031014-7-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0002.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8616:EE_
X-MS-Office365-Filtering-Correlation-Id: 3de356da-99b7-4153-ac85-08db292358f2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Yep6Wmg0D9OAGV7jMw+iUE/swCMmHIjex+wekdQnBUdNvuDAC7RWr8pGB/BI4EfMsaxVt95n1Qw7KpCPOf0q1OVVbHVTtO3DG9iE6gMuYqqmtolgJATvfpWjVScr8Vyiwf+6SfqSso/Pny2HAM3TGjrqJyX2UbWsGIY85hGNCAj1qqDja5kaxbBMB/qFZPx6bXxqx5fxoNlZjs4W8CHJ0RAxYmiQZiwyGWJhVUwcdjw0iSIyXWU/9COSIF2taeZqhir+LX537TFfIRCw2KTUykRb+YhCVX+tLMBUMb3nUotPpRkFKBdsQqSohDZUB2B6L1wYbWsROoox8HrqHHnMgBZ+c6y4RN67pA/w5YA/oGoarj32pf3jdFERi+L9qqni6YElV2m5ipErrFliDlwTsa3/+Df96bksT/x6XbK5Y71FUofb1j1zZbLHbF4AwJJgnyIl7esFwPRj2rhyjZnWE94384awTV/xtS+XKGWq3TdSKkY1HkAqy5mmfIJftwnYRZM4JtMutR24IkbPHRI9MwnzZD5DBjPx7AafOANDXKiWgbSyzivxVzF6uxcLIwL2fresazAuiOt/oavV0I3Jw7EbTxHrC3nj25DiuqR33uUgRos2057oweYn6AiF5agDAocrxrel+16L1MQgiJySBr79tpko3U3mYmFt5kybFmpvalkdFaq8+bIQwCglvd+P+zY3Y8Yi/ZIggV06j1gAom0Wopf+DsecckgWewJ5yok=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(39860400002)(396003)(136003)(366004)(376002)(451199018)(2616005)(6506007)(6512007)(26005)(6666004)(186003)(6486002)(31686004)(316002)(53546011)(4326008)(8676002)(66556008)(66476007)(66946007)(54906003)(83380400001)(478600001)(5660300002)(7416002)(41300700001)(8936002)(2906002)(6916009)(38100700002)(86362001)(31696002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aXRCMjhQMmlnYWl2c1hzSkhSckpVcDhPNHdocEt1bG11d3UvQ0ZYcXE1Q2NH?=
 =?utf-8?B?WUF3RTgyejN5UmxPenkyaVVaUVAxemRna3JFbVpnZlZadWd0VitFekI3Q3R5?=
 =?utf-8?B?a3ZFU281eXk0VC9UcnMvMnNETFprZ05uNTR4cmVjMmZ1bkZpRlJqb2d4cEdD?=
 =?utf-8?B?ZzFISVY1bS9IQVZvcE9LMmt5OTRnRGtlcG5ZelE4ZUpPRTBHYVVCUzgrekN6?=
 =?utf-8?B?R1VoZExpL3VHYXlYVlFYcXhpR1FtQy85TDUxenQrbVdJMGlSSTJuZ2NRZnVB?=
 =?utf-8?B?QVp5ZmZzTWdDR3JoeXQvc0gzQ1ZYRWdxdXlFcVNIVE9UMkdBMFpnaFl2V0dk?=
 =?utf-8?B?NjBmdkI3dFV2KzE5T3Y4eE1wTlZGVlZLWWxRTmE1UFphUFFNcm1CZkw2MTFC?=
 =?utf-8?B?UHBnNTZEeVRaUVlMcDdlcEVySEFaSkFaa2hVN213OTNSLzA4TlJ0eWZyRmNI?=
 =?utf-8?B?WWpBL0VUR3F5OG4vajRzcHMyMUhvRDArZUtwbVJCVlcxN1VscmFpRXIxRDBV?=
 =?utf-8?B?MmljMGUwNHA5bDI3Ui9ORHY1a0hVZ1AwQUtQYzNDZkowdVYxL2JQQ2VOMytS?=
 =?utf-8?B?RDlqbkpZSVJPaWkwL3UxMkYvT3RsSzB6TnIwdytWVjVuSGJoemovZzNKaTM3?=
 =?utf-8?B?VE5FYkZSOXlxMXZYaU5uSVF0T2l1MUlsT3hpbWlCOE1jWTBOYlp5bXhFMW5y?=
 =?utf-8?B?VXJqS2hTckF4SWh1NWlVUENKZFNUaVJaTDlrOGw5RDhuMkhldlFlam8rdEFH?=
 =?utf-8?B?U0pnZThxcVlWVDBMZHo3OTJMck5kQkxFN2luRGZJVm5HMDdXMVo3aUJUTmJv?=
 =?utf-8?B?dFNibmFMUVlIMG54YVhxQWFSYVpxTEUvNGJMdnlHVGV4RERETEt5Vm95NjNV?=
 =?utf-8?B?MlNmUTlzRVhvNXRrSUtpVG84OVRLcGhnVEh3Yk5yNlBPQXJVL2xuZStiOGR2?=
 =?utf-8?B?Q041Tkc3c2tqNHdLRmx2YXduajlBdDJaVkdIYnhVUTl0RENmZHJaR0lDank1?=
 =?utf-8?B?YlNlSDBOa25RNjMzUVJmdjR2VWZUYXR4WGNBd3ExYnRUck8wcFBta2ZUU0lL?=
 =?utf-8?B?dllkMDliQ0x1MFhCbFlpQ3MwdDZORlJZMFJxdTg0RURWc3dKdElwem45K2JD?=
 =?utf-8?B?QURHdVpxL1dIODlWTGZJV2dNNlNNeTFqM0tuL0I3R2Y1TXcreXhpeHdITlBt?=
 =?utf-8?B?bDFhc0t2Q0R5LzFIN3ZwWHRibTdIL1RJVGExb0xieExlR1lwbVZNSkVST2lk?=
 =?utf-8?B?U2tVNVpzbUJ1b2RkMmVGdnhkVlRtalE2Q3piV2JNcGw5d0xnMjhpOHRMVnFM?=
 =?utf-8?B?endCajJ3NUhkdjhhY3QwT21ldUpYc05qMEQ4dnFLS2Vzc1Z5Z3JzZTNtUlYy?=
 =?utf-8?B?QUR1VFMrU1psRlFIN3JJWUJWTnpUSEVEZFVRbGJZd3ZBRVV4dlJyTU1YcHZt?=
 =?utf-8?B?TGVIQ1ZVWHVuUVhQL05kSC9VWDAzbXA0N3IyQlpFaGRsUnppdDJaV0lOWGdQ?=
 =?utf-8?B?Y1VZamE2RDk3dkZ6akVtWUpKVklqNDU4UGZwaGlKcC9INGc4WmVsVktFd29G?=
 =?utf-8?B?TnpoVzVOMUlHSVV6emJ3dUpRZ2tvVlBCblVWZ3VMLzFWY1o5VnNWbVVsaGFw?=
 =?utf-8?B?ZjVCYmZmcU1xcmFVVGdJYWIzalBucTBqbWZqTTdwdDNMRlIyYzhmVDFFaStZ?=
 =?utf-8?B?bzlKdzlseEJ5TmhObWVFMVVkbUlaeHBRc2FrT3JWV004ZGVIUHB1bzJ4b2pt?=
 =?utf-8?B?UmoySnRGamptdFBKQ0pqYTEzU3VoZWNFNFdGLzJuWEMyRFJERDh4cjcya0Nh?=
 =?utf-8?B?L2VNTWo0ZlBhek5hcjVGQlpjUElZaHRYOFlRUnd5NUFQbTlsYURGNUt2K0xI?=
 =?utf-8?B?YlpMdC9TeVFYWEc2OC90Q3ZJSU1ydW9kbWE4VXVoR3VVQkRQWU0rWXVaZkhq?=
 =?utf-8?B?b2pTT3lvMFRRTFpvWTR2NHFUQ29iOE1QUHJzM2x3Y1RRUi9RL3VCV0RhNTR6?=
 =?utf-8?B?SmdseklDeDQ4emVITTZlWko5VmQ3VTB3TXZuZXFjdzZTajVmU29GYXJFTlVD?=
 =?utf-8?B?YXllK1J1NGdNM0c1SGZRNytRT0NjaFVQZWNza1FTMm9kdXNoZUtDZ3Y3ZlBh?=
 =?utf-8?Q?FgmHIoaqdsPNuRpWOegmHgY20?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3de356da-99b7-4153-ac85-08db292358f2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 09:13:19.8293
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YJZugLcOCkugegm+/H0PUsRxMp4tJ3ERdCUVpRlC4iY0ECc53Xtly4RZI0l+KBDdYRh4R+cZlr26ZK6hTXVP/g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8616

On 17.03.2023 14:19, Luca Fancellu wrote:
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -1005,6 +1005,19 @@ restrictions set up here. Note that the values to be specified here are
>  ACPI PXM ones, not Xen internal node numbers. `relaxed` sets up vCPU
>  affinities to prefer but be not limited to the specified node(s).
>  
> +### dom0_sve (arm)
> +> `= <integer>`
> +
> +> Default: `0`
> +
> +Enable arm SVE usage for Dom0 domain and sets the maximum SVE vector length.
> +Values above 0 means feature is enabled for Dom0, otherwise feature is disabled.
> +Possible values are from 0 to maximum 2048, being multiple of 128, that will be
> +the maximum vector length.
> +Please note that the platform can supports a lower value, if the requested value
> +is above the supported one, the domain creation will fail and the system will
> +stop.
> +
>  ### dom0_vcpus_pin
>  > `= <boolean>`

I'd like to raise the question of proliferation of top-level command
line options controlling Dom0. In x86 we've specifically started to use
"dom0=" as the one top-level option where almost all new controls should
be added as sub-options.

_If_ a top-level option is indeed preferred, then please avoid the use
of an underscore in its name, when a dash does fine.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 09:24:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 09:24:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511799.791047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peBkc-0004M5-LH; Mon, 20 Mar 2023 09:24:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511799.791047; Mon, 20 Mar 2023 09:24: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 1peBkc-0004Ly-IN; Mon, 20 Mar 2023 09:24:22 +0000
Received: by outflank-mailman (input) for mailman id 511799;
 Mon, 20 Mar 2023 09: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peBka-0004Ls-Hn
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 09:24:20 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fccafcef-c700-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 10:24:18 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8366.eurprd04.prod.outlook.com (2603:10a6:102:1be::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 09:24:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 09:24: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: fccafcef-c700-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dj65fbCYpTn1Van6VgalzVbCEkszEqkZHLxZYdEKxHvmLhXCetdNmSx63hamQGAI7B2RQSez/kfBDEWKVRj4ics1PKr0p0Du27VYOkBnscutrsszwJW6hjs98nshSlzEXIjMQQ0IbXjzevWhjzcd60SAwrhVUbzScJDzoIjvVBBGum/V2Kj6UUaAqgc20TvjT9lhOikrgHMdCN7MWGeZ55W+yDJ5IJ9qZweQxumc7TgpcUz42Zjfldyn9EpEFxEBPGDNdG1XfgWyAOeptYtjgb61HzQlmF1gPZOTDQvaGzgpHDp8b4Ej4eLXOJksKYk0L4Bp5zVKefv+AM4vwVlk1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VqVTmnjHZXKZ7Fq15XdGFcWddqPM6ObnFZpubJkk2ew=;
 b=RoljEUTjaEmgJjOBx3x4Ce/WVZ+x3zkxxwRBCFc3e9IUnjTrTUpSmPa/XUwPpP1ntVW2sutLe/DIcRtVEsa9uXkJ6dtbT2xUqa353tWRdrsLompzO8O+p9GNEp+3FjXb0FzcsVSKJ1jnnDIEEHfmKUCp17YBRH9jb0PjAsP7ddcywjhPs8dRzkW2sc1j/ufw+1+zGyBjSZFF4Jmj317/sf6o3zOVqiwZ123XOlASx5+3yKxVI6E3tU5qXjqQEL2tVuxhP9NlEMv1ZDIY80mS1w84u8RvGCgMZL9ZLv9H4yDhoHVwAIItHxQLjKJd66K4IQ3QbZRcuvLKdaEiDx16Zw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VqVTmnjHZXKZ7Fq15XdGFcWddqPM6ObnFZpubJkk2ew=;
 b=s3kPfkQUzotFlGLZ2KX9P+YJZU/WcAnvTYfoyUMQ6M8isz0ViJWnXdC6d4inw44nkAvZRO71NgnrPrQwytWFCHEMyRAoIuod9fRIjwbCmYZJmg38gKuWxrd3nuc0Kq3MmvirF+0Yla9/nR9ViL9ejV5MQzlNVk8epa3tTBH+kIe0NvLMpwiG5f0KmBrRvFTjdltHhw+5V8QGeXcL8ETRTZECzqFx/n/a2mRMYFtii2TJSDJKD8FzhH24GjIMc8FeP1j8D5EVZt9gb6NDjZdccgtLUK2yKrhydIadivNaQyiRq4PF5TkFfze496cnSqgeln8O3DRkpjLRxpUiLZ98QA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <02cc1db2-90e6-a60e-4922-d88b4ca98b45@suse.com>
Date: Mon, 20 Mar 2023 10:24:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86: extend coverage of HLE "bad page" workaround
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" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>
References: <b238f66d-37a9-3080-4f2b-90225ea17102@suse.com>
 <424d1b72-5eb6-f2bc-20fe-e59bacda8dd9@citrix.com>
 <c27d838e-0331-3cab-25bf-dd16b4645152@suse.com>
 <2c0ff1f3-ee0c-6d14-a51c-d82b65338005@citrix.com>
 <0df22405-bda8-8f4d-63b4-e9c4d57843b1@suse.com>
 <ZBRRbnBjWHXAM1ug@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBRRbnBjWHXAM1ug@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0049.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8366:EE_
X-MS-Office365-Filtering-Correlation-Id: 96cb2ac8-01d0-4526-14ee-08db2924dd2b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	G1NMhBbGioQml6CrrhRq9f2lFcL8nGxbEsIyMNy58QgqsetybG5GakXeR8qS6jsHBFZg7XXcQDhuFnahnW3EssdvgRfPBa4oGHl6vV0Nspaj9B5RavWzzjhTZ2L4+XSsFXGmtFPXIeMHklIOyGX4QG8s4Oges8HjdB/wSRQtrbTWXtwXfhGxZ0ys2JVd2wC4Vh5FNjClE+jhAduHc9JuCt+Kg+LD55q00wNMOW990TicKte/em0qHEcuEuuIbuYf8ePRn/dqFI1R43J1D8p+9cmP6wzMOKDcJFfnbkyr4RH/T8b3tkOBJ4txJ+M68xK3N4aJfqsgU/iP2yViqL9d/Teb4x8c1ETW4+oFVxKtiDFSWsJp445v1/NQaPN60N7lW/L943rLw7qSplDO801AQR8qeo0DyMSRYqQf3hnARnQAzUGrUrvrZ1Cdg6BU3pNStoRodQmHeHRZ4m0L2cRZJNWJqMG+FEuSkmnmUlaDx/cLu8strhcN4DFEe+nEVc4GsWHcz72iS1JGsDDtXHBJEUSumULq18RwItdGy/CB9XwNhmQLmgHepDFG0IALMZj4Dq4s/LgDbU5gdjkCUzA+beW5iAnd+OmjLM6lA5xsFz+5HTyQHHZp1/ruFzGAWfa3h4kId4dkh/bydRAj7HlnjuNG7HmP0CAyVVfG127K3I/KQXqLfsqvJGOdQ4NjSHvZhtEIWvoc7TROkbPhzFTFEyVKqusRrtRRcy7iPWi/CcY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(39860400002)(376002)(136003)(396003)(451199018)(8936002)(41300700001)(5660300002)(4326008)(31696002)(86362001)(36756003)(38100700002)(2906002)(54906003)(83380400001)(6506007)(31686004)(53546011)(6512007)(478600001)(186003)(6486002)(26005)(66899018)(8676002)(66946007)(66556008)(66476007)(6916009)(2616005)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SUd1V2JSaC9JNkNoNnd0emxsMFhsU2ZXNEMrT2Q1MWNubEhRLzV1c1MyRXBj?=
 =?utf-8?B?SjFTUURXZjNiZTRoOWpIZmlDSVZhUERvVW1PdXlGanFnMi83cldVUDMyTVdw?=
 =?utf-8?B?VG5GMHh3VDV0akRIRUFKSXlnMDk1Rk1PdERVQWJWaXdRdktIbXpvRW1wT3Z3?=
 =?utf-8?B?WlFhdDNRZlNaKzVRZVFMQm1FTTM1dW9SRit6VjQ5Wk5SZnJPVmFLZGVLa0I4?=
 =?utf-8?B?QjdJNklwYmJkM2hHdEZXbys3b3F5alpIM21ZS05MeFNqWjVxc0dQRFMweXNC?=
 =?utf-8?B?Tk92bmdJV2srY3FYTTVJeWJOa0VMOTA0MFY5YmROMXdWNHZXRE4vVHJNZkpI?=
 =?utf-8?B?YVQxbU1samVPbkk0ekFrNXZ5MkZ4ODJLTE5xRVFPZUNVOThlM2djVFpBKy9m?=
 =?utf-8?B?MEFwSmpkRGhCZUswVHlUbGlnRVpHUmpqaFk3a1k4aEt3amRtakdiLzNHRkky?=
 =?utf-8?B?OGw5UDRFRnhrYWNMbkVNVit0MzN1RGtlU1pmN0xkdHlEWTh3RnJrNWI1MTY4?=
 =?utf-8?B?NlBXUmxIcEVaZXNZTkJCL0ZhWms2UnkrYVlheXlRMVk2T2tLSlVvMjdRem56?=
 =?utf-8?B?ZHhpMW9ZTWtENGN4NEI3Rkl1aHIxR0dlMWFnNEdydC93VlpYNldmOVQzd041?=
 =?utf-8?B?Tk0rZHl6ZEdHR285am5oZkpndmV2dmNCSzlwQ1ZZKzc3MWpicEdHNnk1Z0Ny?=
 =?utf-8?B?c3Q3a3pRcmJieDlOU2EwZEM1V1ZBNnNvd0pzVkh1NmxCQ242WDJWUlk1ZTFV?=
 =?utf-8?B?M1JRTzlFMTZvU242Mm5QTnlQVEF2SXBvMG1mc3ZiZzZYN01jdlMxUDBNYVBK?=
 =?utf-8?B?TmowUkFvbm5RUWg5aGVYOS9ZN3M5WmNqbms5c3VBbXdTZHFNYzdMbG9LNGt4?=
 =?utf-8?B?d3J4UWpXSXhCQ0Vsa1RHOVJKMVh3WkNLdW5zQXVpRGhkWGkwTXh0ZW5wNzZl?=
 =?utf-8?B?M204SmZFc1BHTVlmSFhrOVBqQnp5NDJaOUhRN0NnZURzcXRrQmtqNlp4ZUdH?=
 =?utf-8?B?TEE1VlJ4SE5tS2hSNW9OVTBTZVNvVVIvbDVtRFJ0MTkzclpjSjdDSnk3SlVs?=
 =?utf-8?B?QW1BZ2VKcytHeTVId1hOSVBaeVZudGsxNlErS0FwSitsd2QrMWE1TW9RUXdw?=
 =?utf-8?B?amV3cW51aG03ZnUycUtyRGt5clY3Q2hDTXZjemNpTmFBUTkxbVBQemxvWHEy?=
 =?utf-8?B?SXBhbTlMbm12ZU82OVRvblo4TGNKR1FaOVVGeEp6OTkrWU5XMUpHWFg3bUhr?=
 =?utf-8?B?bnhDTWJ1cWdqRjFJOWg4enFFd2VZN1Y5bFQ1OTdWV0sxZENVcmhGS1VNTnNL?=
 =?utf-8?B?a1o3MGJVYzJ4aWM3YnZsemlLcTdrS3UzTTE2TkovN1N0U2lqYW1LcUxuNEg1?=
 =?utf-8?B?UERLaFJ4ZmtvTkdqOWNNOFlnQVVYdVBXQ2JBdXhhODhrS3p1YVUrLy92dHNq?=
 =?utf-8?B?dnNvMGNjc1ZwbThqaVM2aU92ZHIzZ3lLY0VkeEIwL0JIQ0VuNldMUjBGWG1u?=
 =?utf-8?B?Vlp5clZoc3RYWGdTa2R6ZmxoR0FkbFUyRWF2ZDl4d25HUUdwSGxnWjVTSkg0?=
 =?utf-8?B?Vi9URS9rZ0ltTUJ5VDh1OHRLUTBIam5IUmg0UnYvcEhKV2M5Ymt4YUtKV2RP?=
 =?utf-8?B?dWo3Q2JkU21tV2xVVGlxYmF2YURUYnY5bmRhS0x6bHpLR2VRQ1pLOEFBVnlN?=
 =?utf-8?B?MXdheXh1RG9MZmFpZzBsY2dkOUlQTkRRcU95WTBCbVpUTU1KZ0hyeXVTVDBa?=
 =?utf-8?B?MndteG9MZ3BjRndUZExtME55Q2l5RkZnVkw1UnhCNkJxYXVpdWZmLzlrM2VS?=
 =?utf-8?B?WVpabmxObnZld3cxSTRRL1lINTV1a0E4MThJQUMrTXpHbjZUdGpNVW84QXRC?=
 =?utf-8?B?T295dmxXd2xMR28vRGR6MXdTbWVlR1RVWTVrVFV1cUVoYlRIVGppL0xyZjla?=
 =?utf-8?B?aCtPVFdUT05wMWJGd2Q0ZkVWbGYyNE1uclFZSHpRWkR0WlBTOEpDZnA5T2pu?=
 =?utf-8?B?UzNjQTBETEk5ZlAvRU9qTkwwVE9jV1pCQkU4ZUJjWXpuKzViSjN4U1l3NndG?=
 =?utf-8?B?UXhNejdkWWEwaVFpWDAyVThNRkVPbGphSWNQNEpLaVZ0MnErTEFoMXRMOGVv?=
 =?utf-8?Q?50o/wpZUHH5OaklLEFt/SJTeT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 96cb2ac8-01d0-4526-14ee-08db2924dd2b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 09:24:11.0769
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: l54XfAFFFmICBFiD1cWuT9hHLTvNrUHw7ARtbxLF9I7lCYSeUNXAHid05Ak6ENJPQzqlmJXKmBEy8dHgKGW7+Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8366

On 17.03.2023 12:39, Roger Pau Monné wrote:
> On Tue, May 26, 2020 at 06:40:16PM +0200, Jan Beulich wrote:
>> On 26.05.2020 17:01, Andrew Cooper wrote:
>>> On 26/05/2020 14:35, Jan Beulich wrote:
>>>> On 26.05.2020 13:17, Andrew Cooper wrote:
>>>>> On 26/05/2020 07:49, Jan Beulich wrote:
>>>>>> Respective Core Gen10 processor lines are affected, too.
>>>>>>
>>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>>>
>>>>>> --- a/xen/arch/x86/mm.c
>>>>>> +++ b/xen/arch/x86/mm.c
>>>>>> @@ -6045,6 +6045,8 @@ const struct platform_bad_page *__init g
>>>>>>      case 0x000506e0: /* errata SKL167 / SKW159 */
>>>>>>      case 0x000806e0: /* erratum KBL??? */
>>>>>>      case 0x000906e0: /* errata KBL??? / KBW114 / CFW103 */
>>>>>> +    case 0x000a0650: /* erratum Core Gen10 U/H/S 101 */
>>>>>> +    case 0x000a0660: /* erratum Core Gen10 U/H/S 101 */
>>>>> This is marred in complexity.
>>>>>
>>>>> The enumeration of MSR_TSX_CTRL (from the TAA fix, but architectural
>>>>> moving forwards on any TSX-enabled CPU) includes a confirmation that HLE
>>>>> no longer exists/works.  This applies to IceLake systems, but possibly
>>>>> not their initial release configuration (hence, via a later microcode
>>>>> update).
>>>>>
>>>>> HLE is also disabled in microcode on all older parts for errata reasons,
>>>>> so in practice it doesn't exist anywhere now.
>>>>>
>>>>> I think it is safe to drop this workaround, and this does seem a more
>>>>> simple option than encoding which microcode turned HLE off (which sadly
>>>>> isn't covered by the spec updates, as even when turned off, HLE is still
>>>>> functioning according to its spec of "may speed things up, may do
>>>>> nothing"), or the interactions with the CPUID hiding capabilities of
>>>>> MSR_TSX_CTRL.
>>>> I'm afraid I don't fully follow: For one, does what you say imply HLE is
>>>> no longer enumerated in CPUID?
>>>
>>> No - sadly not.  For reasons of "not repeating the Haswell/Broadwell
>>> microcode fiasco", the HLE bit will continue to exist and be set. 
>>> (Although on CascadeLake and later, you can turn it off with MSR_TSX_CTRL.)
>>>
>>> It was always a weird CPUID bit.  You were supposed to put
>>> XACQUIRE/XRELEASE prefixes on your legacy locking, and it would be a nop
>>> on old hardware and go faster on newer hardware.
>>>
>>> There is nothing runtime code needs to look at the HLE bit for, except
>>> perhaps for UI reporting purposes.
>>
>> Do you know of some public Intel doc I could reference for all of this,
>> which I would kind of need in the description of a patch ...
>>
>>>> But then this
>>>> erratum does not have the usual text effectively meaning that an ucode
>>>> update is or will be available to address the issue; instead it says
>>>> that BIOS or VMM can reserve the respective address range.
>>>
>>> This is not surprising at all.  Turning off HLE was an unrelated
>>> activity, and I bet the link went unnoticed.
>>>
>>>> This - assuming the alternative you describe is indeed viable - then is surely
>>>> a much more intrusive workaround than needed. Which I wouldn't assume
>>>> they would suggest in such a case.
>>>
>>> My suggestion was to drop the workaround, not to complicated it with a
>>> microcode revision matrix.
>>
>> ... doing this? I don't think I've seen any of this in writing so far,
>> except by you. (I don't understand how this reply of yours relates to
>> what I was saying about the spec update. I understand what you are
>> suggesting. I merely tried to express that I'd have expected Intel to
>> point out the much easier workaround, rather than just a pretty involved
>> one.) Otherwise, may I suggest you make such a patch, to make sure it
>> has an adequate description?
> 
> Seeing as there seems to be some data missing to justify the commit -
> was has Linux done with those erratas?

While they deal with the SNB erratum in a similar way, I'm afraid I'm
unaware of Linux having or having had a workaround for the errata here.
Which, granted, is a little surprising when we did actually even issue
an XSA for this.

In fact I find Andrew's request even more surprising with that fact (us
having issued XSA-282 for it) in mind, which originally I don't think I
had paid attention to (nor recalled).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 09:49:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 09:49:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511804.791063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peC8H-00075J-Ln; Mon, 20 Mar 2023 09:48:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511804.791063; Mon, 20 Mar 2023 09: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 1peC8H-00075C-Il; Mon, 20 Mar 2023 09:48:49 +0000
Received: by outflank-mailman (input) for mailman id 511804;
 Mon, 20 Mar 2023 09: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peC8H-000756-5b
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 09:48:49 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20623.outbound.protection.outlook.com
 [2a01:111:f400:7d00::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 68f7662f-c704-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 10:48:47 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.37; Mon, 20 Mar
 2023 09:48:41 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 09: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>
X-Inumbo-ID: 68f7662f-c704-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q2Ot3lkJIhnNDjsZjZWNkn5ExesCaU6jxYhNS1A4kQnkIDBeXD4/c66nald7TuiP3C7QX63q3+U4qgpcA/RGT/BgsG4QLhKlIDGitn10d0miYNcXk6h+0o2WofZ+DFS2hfIBqvWmvrHl9qf5KvYjtVCyihFiBT+iT9Q/UpHu4lLnKjaDJPJtywMmWL+E57R0TROnqLPXwrBJyV9DYDRaJxZXDkNXZRYn0Xpzyu006hzhdTTG5v5UKADqtXSAK1ZiAJCr129SMoAGE74XYTnEuRJDUgkzdQc/p3l+nabwLGW77JQUrgIDn6UR85k2qBNxNhdwPUF+FgoviBOQLDEZdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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/Oi3f5aplyZFxzxgfBmIip96AOoH9kkRX7Hb04oFmI=;
 b=EW5pKMK2Gk8gc9iCXjv7g9eG9AoTL1yZ/IeO0SvZK+Xu6bnz+M8JVlqlShBC0da2UjQ6quFamZv1nBsMH/t5UPQSzleatXXx3uijppW+NPu2f9njyqMSoDHg1pGcV5S2pWpbL9woVCENT7UZhBUgt+bXq+GuwjOSUdiGLnZLfadKrBo4IlqvtjIxW99Eh9PQCNyc0acSwGI7JZydbkcyyHLCyeArUEH2mOSug82LmSJEzblJ/6UIl7nN6iKHufGSE7Z2l60sOv/XJCDpeDEqQ+N3DWshMnlXhLTHgoJqjmOFN5imEOlumu0YK1TefcXVA6aVF5IZjSgtxaQvS4dICg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-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/Oi3f5aplyZFxzxgfBmIip96AOoH9kkRX7Hb04oFmI=;
 b=SPnp7GUtTTDIQWl7ZZ8IPX+baOvbAT+UZT/VhrKnLajNxt7wfwhbM21kzcsTYu6wb/BhDmP5VHTTzAzhap0NwV4wnG59N16BScjT27AZXeIX/thj1CnZK/a5smmbwU27GPjta3jiri1lTBazgwfu+MSzmQ6eTp7EV6hBcY1eprUwUfbOUJsyGF9dTHIbfv1o+si4dYuT14ok05xPksyias8Btzl84RXGc2zLXfZZ2UXBUAMA+EWgJvQBzCGwPTrPkIxp7qg8PZ7UeJ1yYNjPZSdfRXGKE1IQEoBERQeS5zcwWtNQM+O9iEBaZVQgRPo4kdrvRVJvNlPgJ/rmVzjhRA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f1b0e3be-cf23-6471-7a59-c130380be0f8@suse.com>
Date: Mon, 20 Mar 2023 10:48:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] x86: use POPCNT for hweight<N>() when available
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.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>
References: <55a4a24d-7fac-527c-6bcf-8d689136bac2@suse.com>
 <ZBRNWhExetXH1OaS@Air-de-Roger>
 <011cb7d8-fb32-74b1-2b06-f57be67f5c6a@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <011cb7d8-fb32-74b1-2b06-f57be67f5c6a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0141.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8320:EE_
X-MS-Office365-Filtering-Correlation-Id: fa02dd6d-6580-4428-ccf8-08db2928497c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UAJpuaes8yDb1R98mjuoUhXSVVuuxNdJFHtqLVlqyigvuWJQi4/Ub9j1ohs4ThYphbbpYuUSCNj83QxL1Q4lp2snEytQ5l5HQFoKhN+s79dRODIXaGPCeHaqJeSZ4feeHG99C4eMlBeZG1jF4uPyUZi7bkGGOIgIiV4pFWjbOl7v3GF8hGwcXwk15ukhUjccuKhpplEvldFQ6pLps+Rl6jhrAfSNVLUbTctOz73ygN5lEWNMm6+kSIV42HECvXdhAEBHqp64hk0q5NeNCRM0T/65yYQXZI925IwbRZFE8adawlZtifUNuazNxmRFVONKSEcWn5O0c6c52RbtB4HaLF0BUzKLX+uJFyzphH+Kd7CoHZXbc/ySuta+e76Dn3bHOvksldqeAMpeEs521jdlPfYWRE2huSJ9Mk/L2LUnNGsRr+Z8QW/Rc8qC4Pdvh2dLcVAjSUw66/LYst79uG8t1PF3efNt+X/Ts/+6DMB5CIVvIPKWSr4bR8C77aXyJPg6YmQWjEJPPfHFf1e5rdzqEEzSfoOFNIe9l/7xreIKlDy7lT4CJOh0hF6hjXMvAzV5vAXK4sApFRczZCcB7g47Bhgyg6nrFZGZyJBgA7cqGVb9hhD2/Di1drZFphTIhsKKzxdMiz0DzSTB+kmgwmVeW69cRbf54cOuNK3RsLJej29T6cLu9XH9y2eYwFdoEjBcdTyaQBmBiyoPXBJ7N3XMeJ8+vMNBw81Yl6Pkx7t6rhJpYQ+YK3e+pm+eqNkROYSUe+frp7Y7ycOJAeDRLnn61w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(136003)(366004)(39860400002)(376002)(396003)(451199018)(478600001)(83380400001)(2906002)(8936002)(38100700002)(5660300002)(86362001)(31696002)(4326008)(8676002)(66476007)(66556008)(66946007)(36756003)(41300700001)(316002)(110136005)(54906003)(26005)(2616005)(31686004)(53546011)(6506007)(6512007)(186003)(6486002)(16393002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OCs2T1R2Y1lvZ2F2WHlXWUlPejkwaHBibUMrTm5rMXFncUIvVy9IUUhHVElJ?=
 =?utf-8?B?N1l4MWM0TUtLcFlJU0RtZFdrSnpWQzJHdCt5bWhIeXRSNzNpYU9DVjVxVWNT?=
 =?utf-8?B?L0k1TllsNHg4WGNHcTBUVHBoUFJDV0V4WTF1UnliVnAwWFEvK3dPRzdTRmJN?=
 =?utf-8?B?WWpRdGlnd3NaUVlmdVRSVFBWaFlOWEM3eGIrbkZnT0toengvSWE4RC92Y0g0?=
 =?utf-8?B?MUdhK0RWd256eFRPbEpxMDdtVkFSWGtoVTM0djRYNnZDTlpVR0pJdjlDek1w?=
 =?utf-8?B?VEh6QllVYWd1MERMZnRpREk4S0xoaitlVjl3MWVOclg4a0FSNFh1NmZ3bll1?=
 =?utf-8?B?QkZHTjhKL3V2NjZUNCszdTJBRm5lVG9yQ0dacUlsYWt2Q0xxQnduUHNoSlNu?=
 =?utf-8?B?YllqYjkvYmZhVFhkUi9GSG55MkgvTklxZDNOYXE4d1pxQmZlZHFoUFJ6dUhj?=
 =?utf-8?B?T2NZQWFuWEZhanlRUmlHalBsWE9IQTRRaVdMTGhjaDE2S0lLVkVNenRaRitB?=
 =?utf-8?B?dWszWFd6aDIvRWgwZFAwclhHdVlyTVRsTmtrdG1ISGhOTU0yclpiTEEwSC9Y?=
 =?utf-8?B?cEVxeWk0VDl2VDhZenVuZU5kekplZ0F6akFPc3VNZGdjV3FESFVkbHdNTjMw?=
 =?utf-8?B?eGZuUGZUYk9rWVRQNWxEbHZSd3p6NkpZbW5MRFd5cDdhWDdzazVkenMxSlg0?=
 =?utf-8?B?djMvNnBlVEt6UzZzV0NUeWdXM2FBSnUwZnlGLzJyRzJEYml2Tnl6alk1Wkhm?=
 =?utf-8?B?U0VTRUpsMkJaVlp3dXkxM0hKL2FUcXJoVU5xYVA1TDBMSWE1anJyRFViMUdY?=
 =?utf-8?B?V3d6NHR4clBWSjZyenRobWdQSG01bXQyK2FuU1VXRlE5c2ZsK1ArUkJ2dXlz?=
 =?utf-8?B?eTBSQjZYa1p2RXJmRDlZN3ozamI4QTgzOVRyVFhsMmhFMTB0dVF0eHhnQW5V?=
 =?utf-8?B?TFdJSkMvcGRDWEJqVTdNVnhjSVhNRGZwazd3cWl1MHBUWmhJK1R0NVBmdGRC?=
 =?utf-8?B?dC9IcG1OWUtxMGJHMnRPT2M0UlJwcXpNMGM0eGIrMm5oOVpSVnQvemovanBU?=
 =?utf-8?B?dTBBdFArU01hcjNrZklhNkd3ZWZ1SHhMaE5MVGRraTJpcEJEVGhTS1VSeTR0?=
 =?utf-8?B?aG1URGEwbithdUtkWkY3NzE2YnQzN0ZQNk5UNEs3dDBLeTNlQUl5c1lJdmt2?=
 =?utf-8?B?bTRiNlMvUkNJMkFjVlFSYjhIWlpUUCtkVWZ3UStkYXQvN0lFTXVoMzI0TWhI?=
 =?utf-8?B?bjVLaDRzUUFCL0IrMHRSa1lUN0RJcE02OUVuRHpWZWFDOUlkTFpTd0QzZjJs?=
 =?utf-8?B?ZE5JTFFGNStFSU9meTI0TGtmSldLRURmQmhlclRReWNSUUJzanN6SGl4WG0x?=
 =?utf-8?B?RXVyM2tyTzJhdDRxbnlXdjZrSGNocDdUMjEwekd5ZXlVS0U3cFpPb1VQT096?=
 =?utf-8?B?ZUF6SE1KVkRqVjFPYnRpZVdzUmZZeU5zNHJ1RWhhcVp6a3NQeUpFZlVUM1BH?=
 =?utf-8?B?NC85MWlLaXd4OUpyWkxtZzQ3OC94V3diT1lxMFFXSUdzSmp2M295TTdMS1ND?=
 =?utf-8?B?cExKSTJtWDgrOFpnajRTQTZKUytnQTZqTklNUFpPUEFjNTdlU2Uza3Q2UUp5?=
 =?utf-8?B?emsxS08zRFFlM3gwOXdKOVNUR1ZyUHhKLzJlRXlQbi9FZVpGaEpiZkp3WjFK?=
 =?utf-8?B?dFVwUHo4ckVrMGd3Nk5jYW05emVVRDhGZGtNT2ZWQzdtaGhwUE5OV2VJSklz?=
 =?utf-8?B?dnRVVW11WCtSNWFiS1UxSEs4SlBlWmk1RVE0UGZodGxHVEZGalhEcmc3Ynp2?=
 =?utf-8?B?aFNubEw3OXJuczBTUmcrM1F3dDVGa1R6bmZzSXJZRTh3NU5NV0lHRDZhK3Zm?=
 =?utf-8?B?bnpweTJ1YUpVcDd1QTBBYW4zc3htVzdENitZUzU1aG41MFUxMjVJczFuRGJL?=
 =?utf-8?B?RmhaZ2xEUUdpcVhUbyt3SWRPQzBlN3ppMk5NZWExbWhEaldCZlVUejloOTN2?=
 =?utf-8?B?enMwdnhzSGgvSDM2eEEzUkVNbWw1eSs1eDY3NzRsRzU5WUV3LzlzamJpbzNL?=
 =?utf-8?B?M1pIZ25ROTFQU0dWVDJoNGVjT01YTTJ4eUdIYVY5algwY3VDUDFFTUk4aWpt?=
 =?utf-8?Q?g6V2UP7r2F4aW7JHLgVNyVFuD?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa02dd6d-6580-4428-ccf8-08db2928497c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 09:48:41.2965
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Flj8PQUxcEyLvO2lzpig67vfEZFjyy/rEtj5MEl0dzJs14URH5FiKOMCsuaR/3rTBqBwATMAN/10MlfLg/DL7Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8320

On 17.03.2023 13:26, Andrew Cooper wrote:
> On 17/03/2023 11:22 am, Roger Pau Monné wrote:
>> On Mon, Jul 15, 2019 at 02:39:04PM +0000, Jan Beulich wrote:
>>> This is faster than using the software implementation, and the insn is
>>> available on all half-way recent hardware. Therefore convert
>>> generic_hweight<N>() to out-of-line functions (without affecting Arm)
>>> and use alternatives patching to replace the function calls.
>>>
>>> Note that the approach doesn#t work for clang, due to it not recognizing
>>> -ffixed-*.
>> I've been giving this a look, and I wonder if it would be fine to
>> simply push and pop the scratch registers in the 'call' path of the
>> alternative, as that won't require any specific compiler option.

Hmm, ...

> It's been a long while, and in that time I've learnt a lot more about
> performance, but my root objection to the approach taken here still
> stands - it is penalising the common case to optimise some pointless
> corner cases.
> 
> Yes - on the call path, an extra push/pop pair (or few) to get temp
> registers is basically free.

... what is "a few"? We'd need to push/pop all call-clobbered registers
except %rax, i.e. a total of eight. I consider this too much. Unless,
as you suggest further down, we wrote the fallback in assembly. Which I
have to admit I'm surprised you propose when we strive to reduce the
amount of assembly we have to maintain.

> Right now, the generic_hweight() helpers are static inline in
> xen/bitops.h and this is nonsense.  The absolute best they should be is
> extern inline in our new lib/ and I'll bet that the compilers stop
> inlining them there and then.

That would be an orthogonal move, wouldn't it? I'm also not really
willing to go as far as calling the present way of it working "nonsense".
I could be talked into doing such a transformation in a separate patch,
but only if it is halfway certain that this won't again be effort
invested just to then face further opposition (other maintainers may not
agree with the movement, as we've seen for other remotely similar
changes to "extern inline").

> Given new abi's like x86_64-v2 (which guarantees POPCNT as an available
> feature), it would be nice to arrange to use __builtin_popcnt() to let
> the compiler optimise to its hearts content, but outside of this case,
> it is actively damaging to try and optimise for memory operands or to
> inline the 8/16 case.
> 
> So, for x86 specifically, we want:
> 
> if ( CONFIG_POPCNT )
>     __builtin_popcnt()
> else
>     ALT( "popcnt D -> a",
>          "call arch_popcnt$N" )
> 
> and we can write arch_popcnt* in x86's lib/ and in assembly, because
> these are trivial enough and we do need to be careful with registers/etc.

How does x86_64-v2 matter here? And how does using __builtin_popcnt()
help, which would use the "popcnt" insn only if we passed -march=popcnt
(or any wider option implying this one) to the compiler?

As to the 8-/16-bit case - I've already accepted to drop that special
casing. The main reason I had it separate was because the generic code
also has them special cased. In any event I would like to make all
agreed upon changes in one go, hence why I didn't submit a new version
yet.

> I'm not sure if a "+D" vs "D" will matter at the top level.  Probably
> not, so it might be an easy way to get one tempt register.  Other temp
> registers can come from push/pop.
> 
> 
> While we're at it, we should split hweight out of bitops and write the
> common header in such a way that it defaults to the generic
> implementations in lib/, and that will subsume the ARM header and also
> make this work on RISC-V for free.

Yet another independent change you're asking for. I've taken note of
both of these separate requests, but without any guarantee (yet) that
I'm going to actually carry them out.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 10:19:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 10:19:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511814.791073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peCbi-0002d7-43; Mon, 20 Mar 2023 10:19:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511814.791073; Mon, 20 Mar 2023 10:19: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 1peCbi-0002d0-0y; Mon, 20 Mar 2023 10:19:14 +0000
Received: by outflank-mailman (input) for mailman id 511814;
 Mon, 20 Mar 2023 10:19: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peCbg-0002cu-Mr
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 10:19:13 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20621.outbound.protection.outlook.com
 [2a01:111:f400:fe16::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a671289d-c708-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 11:19:09 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9379.eurprd04.prod.outlook.com (2603:10a6:10:369::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 10:19:06 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 10:19: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: a671289d-c708-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=agOFGMETjGnKA7hgPRDWHhi1E7nVK4Mk4ITWg46yBA7wRuCcQmCvVmMqnEjYswjH+YWGLZ5T/f7pNEXYyjMVFkho92hL92ZgAD+J7I2FkCZNYeHHbYf0NdyfghykNDnLlI74443kOsJyjllcY0HCn7/jtEVAN1GtZxWKBbqanKaPo69jmEb8enM/3iD5Bx8OffqvdhnEnZLNlLL7RS9AfNWDP5xjz+LXD5QXx9Zex26APAUfHIEp1MW00TrafuBMwTYiCWBuJaqkLv8Fcnd6c78IVvvg2Q3DtOnuW/3TflCywq0FQ6gJ3vyVUk8K4qp1/ITrH+W61HS/7rAIaC4Ltw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gSMiMBCNZkcRHfygtqNOxaKnpvxxpOkcyf14xor2uf8=;
 b=Lcb1XoFFqrX1FwVSiBKrC8vu1CJZ9N4bfVhH+G1XS8bAD11y+SG3lXvuXS/xdLMjXPI0ydVnfG5mcivij2kOYKuLw7Xp6Op8p2mWzfk2s44IKZvg4Blz8Vj2lFWXOhDaWsKPfGMQgC0vWwiGgvj4wl6cKVqaL6trJMsM6AMCszO0MmkWvjDKYKMllOzsgCW937Y32YsfGCok9qRGaGW0RCNQRkJU5zKufhsKKYbVuUtt+baPLBbY+crpo5J9TPXkW3KmAgA5EpyXDYSqJKoxAfmsOUWCRSvFwvTMR8aVrfKAxUl9me73rkgI8egyaCoR0XxWIkXSplnYXByqTEEFrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gSMiMBCNZkcRHfygtqNOxaKnpvxxpOkcyf14xor2uf8=;
 b=wyO+ZBWjhfc+jHqdq/78TLizu3oart09HZD2EJUHv946oS4FC3MLu1EGGn34KKl14v3QVyYdXmnLelEYab4mTcHi682zmLWtDZSonYwEx+v+gmie/zum8aLdfYck5s0PiSIWcMx492bgmYdquC4zZ1lXIkx941TJPVZF3gqgcse5yZjJ117lxKxiZOdtTjmfL7XOplV/ccsZTWLrWRl+dOAAwWtPIDnY1uoz2XHvyyR6N+at4NxfMq+Qcvyu3xP8V3nncfY7qGCCkqG3fvn0nvFRCqyGfVHANmv8knHqrb19uQogr+/6qXemeCSzkAuhvbnl9mnHxqCUg1+JsXONbw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0834ffcb-978d-5c5b-4efc-64f3527e1038@suse.com>
Date: Mon, 20 Mar 2023 11:19:05 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86/Xen: make use of IBPB controlling VM assist
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <06591b64-2f05-a4cc-a2f3-a74c3c4a76d6@suse.com>
 <51ae9cad-3644-02cb-9cc7-28229987487d@suse.com>
 <c4d2641f-7a99-fd8a-53c5-faa277c572a2@oracle.com>
 <4e66865b-11ce-cbd1-d115-13e3743eed7b@oracle.com>
 <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>
 <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0089.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9379:EE_
X-MS-Office365-Filtering-Correlation-Id: a91ddaf7-e299-45f3-e28d-08db292c86af
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:
	bPle38cpf05n6nDcy290k5PgphQi3BG6ICbixz5v7wnu4+WG9xbRvQd8Ps8Gej0eT6mdq3RJ+VBhCtS0LrOrSnxTM5AA9LUQ6DSGxS5jmZwERb17JgBmQ2+nkoNmPIQgATTOUQcS5clmxgQYaB3voShcZ0jnrc8KTtHVDK6vXc8DrvcN3zkLoe/jsOMS8rCbi8p66l7NEmzOSeeeuZumiT/r6UJaqUYq+36xLR3pLebSYln0GfUF9o7EAuftB8SnWIPdOJZTN0CSqd6EEuuope5Xv7lkh+UTW9uVOAMt7ikX5S5jykXGtK/FoYAJP5AxYMTVkDEaJILugnqVEe6p6U1nAsM1+7L7EfVEORa1dYTfhy5qUnIsiC2CvNZfXtbESZoQPEC+sdfxGVfMzWTUYfxiXNkbHJtCKUL+o4ElCdo02zrN7u81YxQDjrq/w6Ob8iw4bBsQbxYHrXv5Ooj6NHKvoZYcVQboSJwqJvaIqgOmK0+oW6YtX/D1QOUNKCiCJS9bgefgZaEfqyKAJaWaOxT508Dkzlek4DKWZZTYthKFIgQc9udXP1gB3dUyARP40PVcshDWU3lNrh8NFRUcu5TAXqDuteab2NhiJRKiQGck+J5AdY4hOISRt7Y4WIfyN5RUrgwpPgOL/M/PiR1Gvn7F9y1OWIfAlW1KH3Vt+lqVfGscDQTlFZNeOrFlHWF0Ch3+R9OAcJgEcmg0keKbijl+W2qoBxfdUrfsmhj/mBM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(136003)(396003)(346002)(376002)(451199018)(31686004)(2616005)(54906003)(83380400001)(37006003)(478600001)(316002)(6512007)(6506007)(6636002)(6486002)(186003)(5660300002)(53546011)(26005)(31696002)(38100700002)(86362001)(2906002)(8936002)(66946007)(6862004)(41300700001)(4326008)(8676002)(66476007)(36756003)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MHV4WjRycUZEMnkwQU8xZWRRemhLQmw1aUdkTlU4ME42K1lrWDBGOEFoWGYv?=
 =?utf-8?B?b1VVRDQrNEF4bGpFQlNBVTRnMVFZWDJJOVluWlkwZlZnaThKZGY0QVVDbWlt?=
 =?utf-8?B?ak5OZXJtY3prN0Q2ekxUVi92L2phZmd3Nk5xa0gxYUJTVUdxdEc1SElUZlJp?=
 =?utf-8?B?QzZ4NWh5Q3dua2xqNTZWNzJxNElDQ2xiTFhyOHhwa1N5NjQzZmNib1VjZlFM?=
 =?utf-8?B?VSt0TGJhTUt0VzRSeklVeWlGVFNSeGNickVVeDF5VTh6RnN5TWNTa0c3djVW?=
 =?utf-8?B?ZExTQ25tZjQ4bVAxbU13VzgzcUczcXJTallpZWFqQ2U0R21zYVpBQVJ3QVhl?=
 =?utf-8?B?UDh6NkNEWEFieldrYjRRSzh0MmNHRGd1Nm1rbUtmNVFSN3ZVZ1VBdkdRTytR?=
 =?utf-8?B?UURJdXBwNUFVYXMxc2JlRlIwa0FZV2pzYnBNRlFpR2lMYTB5a1BUVDFpSVVE?=
 =?utf-8?B?OFpZMnBGV3FuL1c1eGwvdzlRQSswSGlza0k0ZUNXU3pnb1krQThTQVpmeUEx?=
 =?utf-8?B?aFp1bWFUMUprTDVldVFRSGF5OHRUeElVU1FHMEZGa2t2OVU4akZSOVdDNU5p?=
 =?utf-8?B?M1dUZU1QVmxEQ0NEcHZOeXJoOVZGdG1JNEJvMktHNS9HVy9lRnRxM3N6Q3o0?=
 =?utf-8?B?N2MwVmh6ajR6VkcvYW9KcTdNSFNXN2ZueDZuVGNBL3BYaEZ3M3JjbHVZSG11?=
 =?utf-8?B?ODR1UHNOdUY3bUF5NWloSUtnend2QkNUdXJ1SEcweUhjUTM1OFVOM241ajBU?=
 =?utf-8?B?QWo0djBNK2pxSjhtdEJqWFRlMDA0MU1lWVVnMmNaZHdGTC9ESk9hZE4waitX?=
 =?utf-8?B?VXZPMloySElDNXJLVVdJcW5ETEhkeFp4VGlGc0lWUmpZTCtZZUwwZkoycDA0?=
 =?utf-8?B?UVVUY3IvTXZXS0Y3eC9aRWxZQUxYeGtWNTFFbkZDeWY1U0c1T3Q1cEdidm5Q?=
 =?utf-8?B?dnJVakQ2emVLU0tiWDB2U0xWSXZFcUZsK3B5UnJoVWpTYkZDSnBGQTNDb3NT?=
 =?utf-8?B?VjJ3ZUYxZjRaUzF0eUJXRGlxTU9aVVR6QUkxMW50OU40aWZDR0p3VFk3bUc4?=
 =?utf-8?B?cmhuYldNNDRFMFpKbTVCSlVGMXVac1p2Z09BYWxZSWZRb3BodVFGbnNzc2V1?=
 =?utf-8?B?Z2lDa0ZjSTdxeWc0b1JSdi9uMEtlYTJ3dUFaMFlHaGlodDhONmxKRFZDdC9p?=
 =?utf-8?B?czlHdlMycUJrZjlpTnYyVDB2OVI0S3lDWmlxVnZ3SHdSM0hhVUMrUWVVbG1y?=
 =?utf-8?B?a05QMmdTVjNBQ2JZN3B3ZGI3Zit1OXRYS3ZBQ0NDU253aE5RaXozU2JLYkFY?=
 =?utf-8?B?VTg0LzVERWRVQXhHcmpzZ0x1Z09CZzU3Zks4dllMUTY2Z3JlTUhkWGIrNmVp?=
 =?utf-8?B?aEVEWDhmR1NZNE9mWERhQlBtT0o5QU1xVnNYSzZaNUkvdndPRGlMak9Tdkla?=
 =?utf-8?B?NkdoVVBWQlZOTG1XSGV4Qml0MFUzVkNsbzZlLzdQYnQrY2dMMmJRcFJLTDFH?=
 =?utf-8?B?NTBqbTJpWTRiV1ZLZ3NGNForNlF5VWdJLzlTN281cm1SV3pNc013dUgvdmlC?=
 =?utf-8?B?VTl1dDU3dGdLT3ZHSm9tOVMwM3pBdXFNTkNpWmxwUWxRbkxvak1xeU5vVFBm?=
 =?utf-8?B?OGVDSTFpbHUvTUdGS1RzMUp3U2xNR1hDRWZrYjVlRENYUWxhc3NQcnZvRnNr?=
 =?utf-8?B?WlNUOFEyS09RVDBLY0VBOGhYeHVFa2hqSUNlZktIekFlNkY3Um1ad3Y1OHpY?=
 =?utf-8?B?V05yMmRDNkcyVXk4K2lqa3VFMnUrUUw2VVdrWFpWcklRZDY5Yk1qcW1iQWhL?=
 =?utf-8?B?UDNYUWZaZjVnOVJraXEzN21sL0VkazNVM09yT3I1b2I3a2lzTU9QN294Z0dL?=
 =?utf-8?B?dkRISjM2L2RXRXVVQ0NQWlFhQ3lFcXhaOERUMnVXdlRSUGMyRm1mQmlSZmdG?=
 =?utf-8?B?cG1ST3N2cEJZcFk1MGZhWkRxSEx5Q0JIV2Z6cWUyVkpwakkvelBHQXFsbHpK?=
 =?utf-8?B?ZTlsWGpQMFBURTFyeUovSkZBMkp1NjFUVEZXcjIvVHYzczVKQlBLM25xSm51?=
 =?utf-8?B?akF5NzkzU0tsQU45NjdLenRaTjd3QkkwTUNDcDhlWHBwRWRLQzNxWTc0V2pZ?=
 =?utf-8?Q?r3suNlL16ub+YfkHqRqI7wu4W?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a91ddaf7-e299-45f3-e28d-08db292c86af
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 10:19:01.9593
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1gwOgOF2V9LFpuPc4p7vZP4sNpWdaVW6dU2fSAbwreIvREZglQh2NmWGmW9i1dWNkcUCiN4rP1aKnf+gNTtd1Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9379

On 17.03.2023 14:56, Juergen Gross wrote:
> On 15.02.23 09:31, Jan Beulich wrote:
>> Eventually yes. But I would prefer to sort the above question first
>> (which I'm sure would have been raised by them, in perhaps more
>> harsh a way), hence the initially limited exposure.
> 
> I'd rather add _one_ hook for Xen-PV in check_bugs() just before the call
> of arch_smt_update(). This can then correct any needed mitigation settings.

Doing this in single central place is what I was originally hoping I
could do. But that simply doesn't work (afaict): It is for a reason
that I apply the adjustment in the RETBLEED_MITIGATION_IBPB case, by
suppressing the setting of the feature bit. Not the least because ...

> So something like (note that due to using cpu_feature_enabled(X86_FEATURE_XENPV)
> DCE is happening in case CONFIG_XEN_PV isn't defined)":
> 
> --- a/arch/x86/include/asm/xen/hypervisor.h
> +++ b/arch/x86/include/asm/xen/hypervisor.h
> @@ -63,4 +63,7 @@ void __init xen_pvh_init(struct boot_params *boot_params);
>   void __init mem_map_via_hcall(struct boot_params *boot_params_p);
>   #endif
> 
> +int __init xen_vm_assist_ibpb(bool enable);
> +void __init xen_pv_fix_mitigations(void);
> +
>   #endif /* _ASM_X86_XEN_HYPERVISOR_H */
> --- a/arch/x86/kernel/cpu/bugs.c
> +++ b/arch/x86/kernel/cpu/bugs.c
> @@ -18,6 +18,8 @@
>   #include <linux/pgtable.h>
>   #include <linux/bpf.h>
> 
> +#include <xen/xen.h>
> +
>   #include <asm/spec-ctrl.h>
>   #include <asm/cmdline.h>
>   #include <asm/bugs.h>
> @@ -177,6 +179,9 @@ void __init check_bugs(void)
>          srbds_select_mitigation();
>          l1d_flush_select_mitigation();
> 
> +       if (cpu_feature_enabled(X86_FEATURE_XENPV))
> +               xen_pv_fix_mitigations();
> +
>          arch_smt_update();
> 
>   #ifdef CONFIG_X86_32
> --- a/arch/x86/xen/enlighten_pv.c
> +++ b/arch/x86/xen/enlighten_pv.c
> @@ -1476,6 +1476,23 @@ static uint32_t __init xen_platform_pv(void)
>          return 0;
>   }
> 
> +int __init xen_vm_assist_ibpb(bool enable)
> +{
> +       /*
> +        * Note that the VM-assist is a disable, so a request to enable IBPB
> +        * on our behalf needs to turn the functionality off (and vice versa).
> +        */
> +       return HYPERVISOR_vm_assist(enable ? VMASST_CMD_disable
> +                                          : VMASST_CMD_enable,
> +                                   VMASST_TYPE_mode_switch_no_ibpb);
> +}
> +
> +void __init xen_pv_fix_mitigations(void)
> +{
> +       if (!xen_vm_assist_ibpb(true))
> +               setup_clear_cpu_cap(X86_FEATURE_ENTRY_IBPB);

... using both setup_clear_cpu_cap() (here) and setup_force_cpu_cap()
(in retbleed_select_mitigation() won't work: The latter wins, due to
how apply_forced_caps() works.

But of course calling both functions for the same feature is bogus
anyway. In fact I think it is for a good reason that in Xen we log a
message in such an event.

A new helper could be introduced (and used in
retbleed_select_mitigation()) to check whether a feature was
previously cleared, but I did conclude that it's likely for a good
reason that such doesn't exist.

As to your use of cpu_feature_enabled(X86_FEATURE_XENPV) and DCE -
I can certainly switch to using that, which then ought allow to move
xen_vm_assist_ibpb() back to enlighten_pv.c (as you have it, and as
I first had it until noticing the build breakage with PVH=y and
PV=n).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 10:22:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 10:22:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511818.791082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peCeM-00044e-L0; Mon, 20 Mar 2023 10:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511818.791082; Mon, 20 Mar 2023 10: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 1peCeM-00044X-IF; Mon, 20 Mar 2023 10:21:58 +0000
Received: by outflank-mailman (input) for mailman id 511818;
 Mon, 20 Mar 2023 10: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peCeK-000446-Tj
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 10:21:56 +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 0960d45b-c709-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 11:21:54 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8223.eurprd04.prod.outlook.com (2603:10a6:102:1c9::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 10:21:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 10:21:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0960d45b-c709-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O7s76aJdRJ6V9xb6US7al8N0XLm0RIvzkzvKuM8aJavyjIId0HzJw2c+qcQRWoonNygdGqcxmJWEDsM2/Ut5G4X1XrS4ZswJxnp08oHNGIKQJ12W/TjMHZ3F5iV86Pt4tUJe5IyS6WPgEqP8KqnOzm2vwPZV/i5npbNKDmFjeGVw3i0VRtWAKZ4Gxv2s6bDtMn+i0V42HmRCW88xObfDwqz5/xyom1aMMvnJlTrk2yzdd5JOse/P3gkavMjUBtmfB1cGnfHyVqu+Ad5/SV2ZdixpSS3so7+e6vBnB6r8Tih9lrhFfuX8QqkQk0m7JZw1AOKANh2hKYtWLBr3EaPpyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1AgsO75KsI7eDG/DVWdCrDHkkRSXz0njVdMClLogt9U=;
 b=oTDK5wgsvb9Bbc12Db4ZHAjzl2o102Uy7wC/wfngBaaJPYla7kQrurJmbWfhRyR0UZCe85ZZjHN68TEr0RGQccdA+dPjXZ6NgH69NkyKM9ExsMeB2TA6jCdkloFs3ioNgOYY1vOCtbMLFtPA9ZaVvOcDfH1ASArp/KrQvQNFbXP8QUm1ywV60ZHwKitk6+FAcbon+MHnYtcPaDTu9J7w15egv5ZdvOz0fSbp2H8TLreyx+Fk9FUpsz4sTOvVIpMCmpYbhnGfHWV865g5SxwpZnqZs6/soDiTcHlk6x/swFLbN4UgoJ+0/N3SYOrlDrfoYcr3VgsXmWAYp1z47enYbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1AgsO75KsI7eDG/DVWdCrDHkkRSXz0njVdMClLogt9U=;
 b=dbOjcIytTkpN1jrIKIygTBZyNz9WbRAZyFYXVBcExrO0DV61FJ1Hxj2vBlp2+0/6qySQx0YCMYk9qJQx2ytLA4khRMVTpRQdx5XasLa7xNBPLSt3fqny7WM1DFs1QHOPlx7666DK57TZueL9/s0q5/FMPa/uovSuF25rK/a2+mtOo2Us0mGu0RqsFH59yushTffrQcSkojExlg+GGFl20rpmG5vVFlWc0K9eMBtb9RtHnM97C5ZOD014WAXrUZ01rupR+/p7x4/FPvDY1teMq3wbI91ASZvV6+EPi/gxhpa0fwZJ7E8rEFUMmWQQFfScOa7MttESuEsOoSwTw41CHA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <43d72aac-ff2e-7a22-21ca-cd23f46f1584@suse.com>
Date: Mon, 20 Mar 2023 11:21:52 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86/Xen: make use of IBPB controlling VM assist
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Juergen Gross <jgross@suse.com>, Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <06591b64-2f05-a4cc-a2f3-a74c3c4a76d6@suse.com>
 <51ae9cad-3644-02cb-9cc7-28229987487d@suse.com>
 <c4d2641f-7a99-fd8a-53c5-faa277c572a2@oracle.com>
 <4e66865b-11ce-cbd1-d115-13e3743eed7b@oracle.com>
 <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>
 <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
 <f2bd16f5-7f5b-7a0e-7cd2-e2a9dbf22102@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f2bd16f5-7f5b-7a0e-7cd2-e2a9dbf22102@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0131.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8223:EE_
X-MS-Office365-Filtering-Correlation-Id: cd9177c0-f2c5-4db2-cc35-08db292ce9eb
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:
	BnRcnc7COoHjwVo5LdL2KQFTh4HugkvgTOe91ScOZg2KN7L0a5lAEoH4en18guKZ4OHM3GgLP2pQMNMIzGv6PBJV11diXRAHuzd0pZLW1k17eQbnPShqOjDOQEsyagPoN/Bfl9M1p5h/5Nl8Pot5Tu7lIOHjLj4BORtUYQZe7bIOa5tifaCD4x3zW3M9AWM3c5dxP58FS8bTtY/dLoNI9wcBjlZZthaBWT6URAxWblZ58TTD5h/Gzc5Z06cjSpQafM5bUFGTd5sxLFpv/rJN76HRg4oGPURQYMFGxUWwauuHGxd94KMtrgOrMoL2ahpJ94c+8QKSHuudJf8pwNU8OHKNaVPrUl39PVXl1t39RKFTY8JQS+8mRuDf2ItrCh2viDrh4+Vh0T/O3+kDmQNia2XBqO2+GZLuNvN6tYX1Di22qDCakr4TkmJXMcva5ZSg5vEXFOEIwnTWQZM1MOAjg3MG127sY9+cqpCyVnhVy4a/oRR4PqYsFn2s/szLDR0InO73+ncw3tmYWVtGW0QCvMvZrWZt5NFttthbEPwYtfegVC41fieBLfeiyOYgeYUPgKlM8D75XpaAoGxJRy6tAAja2zRo89c4idYQwDObPVw3Gix2DwlWznFkN9qKPlh3Gu3tHaBzJ03b5ez8+pp51Jhw+EzUhHFs1UWW0KfUVYANPLQuXWGmdiJGizQGTH8N+fXg449cP0A3s9fo0ESqgLNybgFZQkFycHTHlkP1w8I=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(346002)(366004)(376002)(396003)(39860400002)(451199018)(86362001)(31686004)(2616005)(6666004)(6486002)(186003)(6506007)(26005)(53546011)(6512007)(38100700002)(31696002)(66574015)(2906002)(478600001)(83380400001)(8676002)(316002)(54906003)(66476007)(5660300002)(4326008)(8936002)(6916009)(41300700001)(36756003)(66556008)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z0E2b1lnNDU5ZGNaenl5NW9lMmtUQkpIUTlkSGZzWkkyQ2paeXd6QUdYL2gz?=
 =?utf-8?B?VUFhd0FYb0Mrb1IvNmg0eHI1SHAzc1FhdU9mZkh0SjlFenhUQXN1a1lXeDdq?=
 =?utf-8?B?cWcrN2hKdStsZ09vMjhUcVhmemZSek8wZ2gvb29BTkRsN3JoMGNQTjBZVWVs?=
 =?utf-8?B?TVdlL1lCZ1NKODY2V1lTTjNKSmI0eThWTGtHWUpyWE9ncTVHbk5yZzJxUUpw?=
 =?utf-8?B?bWVHNTJYUVZudHRFdWNRV0cwNlJleGFmQ3NScWFZMUtmNmJRQXoyOEVOZm52?=
 =?utf-8?B?MFNQbjE0TzltMXpzWTNId3BBZ1VzQ0tTTitaZlJIcU40eldmRjM2ZTlycVBi?=
 =?utf-8?B?Qk81MDRHRnFFdytYYXhnQlU2ei9LaDRyQlBrNW5lOWZwQU5qbjNNVVh3SmJ5?=
 =?utf-8?B?SnR4SUR5UFRKb09SdTlBL3FWbzdtYlhWckpXSmg2cU9la0EycS8rS1UvbGtR?=
 =?utf-8?B?Mi9kVGFCTHJQR3NHN0ZpRUNsOE80Zm45UGJ3Y1h0Y1N5cU16S2lIQlJicFZr?=
 =?utf-8?B?bXppZ2xhdVU4NHVCb0VxU2RCalNQV05ndVZFUW1aTVd3R0dlK0tuYSt6SXJi?=
 =?utf-8?B?MzE3UmRIU1ZJUGlvLzc0WTNncW1YbDBzeTE0U3NjQTdFQU9UbzVBSUkzQUlF?=
 =?utf-8?B?ZFBXT3JZUUg3Rk02VHREczNjc1ZkNWllSHN4dmRKMnU2SEdHbW55ZmVYUGRE?=
 =?utf-8?B?M3BXR1hjK0M1N0lEU0d1alZUSE1jVXFYZFZWNEFGK1ptcitidDFEN2pBTzJi?=
 =?utf-8?B?eTV2OWVkRHZsdkp2YkdCeFl1WXhhai9vYnk0a0k0Tzd0c0xOWXprZmdUSlpr?=
 =?utf-8?B?RjMzRGtBckpubWZPSngxR1Z4SVZ0Sy94eDFiUjY5cnp2NU53bWdjVnBsbDdz?=
 =?utf-8?B?Y2pLZk5vOVNMb2Iwb0d4MmFOMkJ4MnQ4L3ljaS85YzZLdUhFb2JCcHc0Zy96?=
 =?utf-8?B?SWN6Rk9NZFZTQUtVVnpWeGVLVGlrb1VBTnVSaDVOazNPZ1I5RHdvNUs2K25W?=
 =?utf-8?B?OXFNbGxremR0dXVMSERGbURKREVsODZ5QUppZ1BVWTQ5bkUxRm1hWUtYZnRw?=
 =?utf-8?B?SG92ekVqazFlQ3k5ODZZcVA4V1d3c092ZE44QzB2YzA1bllJUUVIMkEzZTdS?=
 =?utf-8?B?OXJqeUQ2M3NyZ3VtVThpbHpsU3N6OFFsWkJvVDVYdDZzTnRHMjNlN0NLQlBQ?=
 =?utf-8?B?Z2dkL1lPZXVMOEtIcEZIbzRYQThhMFRDNXdZOC9qWjdjcmY3VG9QdlYwdXBL?=
 =?utf-8?B?OE5XOEhoQTV4c1lGcVIzYm9PTWN4YUpHaWVycG00bHBEK3ZJTWg4a2x2UmtS?=
 =?utf-8?B?dWtUUHNSOFkwbnpiQlc2WXBPbzBBamFpbDdjTFRGK2ZiTVBFK2ZBQSszZHVP?=
 =?utf-8?B?bEdNcXVGcXZlanBCdE82NTlsY3V5WE5udVlWQUlWWkowZzMzWWo4anRmZzhz?=
 =?utf-8?B?UVFWUjU1L1JCZTdDQk5DWEFGNXlYOWF2bXp4SWFLK0s4MEpWMWpjSUJiejBN?=
 =?utf-8?B?L3JxbG1zdngrRXNqZGgvMmVGTDN1SVBZOUUwRzFubm9KUS93cm93TnRaTEkx?=
 =?utf-8?B?djUzN0tvUWdlVUhiTU8zQjU3akFFWk1jSDRhcE9mNHZEdlgxeEgyRmRjVzNo?=
 =?utf-8?B?QVMrMXhiVTlhNjN6T29xM0NjSElxY1VEaGVGZUxZblRnMVl3YjJwNjlhMlVo?=
 =?utf-8?B?RHdvYi9hYVd6YTJBaXAzVURQMkJmZXZDdU5tQjFWUW02d2xwOVpqc1F5cmFO?=
 =?utf-8?B?T3BJbE9JR1VoOTFxczd0V2M5REF3ZHB0a0hzN3JzaTB6LzJlVjdHU2UzdXVi?=
 =?utf-8?B?dDhYSWNUa0djTUwxN2t0QkJ2Y3VabHFVb2Jpa3JvbXYwZVhNaGJVZ1k0T2dB?=
 =?utf-8?B?YXc1LzR6eWp2OFBWdjZtelN1KzVsN0hLVTJheXhqakpPdTRuKzZNTEZVcWFr?=
 =?utf-8?B?OUIya2RtZ0gyT1pMU21qcTdzTFNPRVp3cG9XRy9rb2dkVk1FTE1pUkNpMkdj?=
 =?utf-8?B?MGpQYWs3VGNGLzR1clhvTVFSMEs2ck9CVzdkNUxKUnBndFh6dUpsMGhFdmpC?=
 =?utf-8?B?KzZOSGFrdmRpbXZUbGZSTlkyZnN5aU13RmZQdG90RDdDMzhpcXFCQWRGRmxu?=
 =?utf-8?Q?ba2awL7nmAAthmwagRfESN3HM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cd9177c0-f2c5-4db2-cc35-08db292ce9eb
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 10:21:48.5401
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YouxVicjV+1BhXvhkjpZzeV0345IAgVgrssg1PaG3f1aKBV8EC1X1T7d7y4WmQgRx+P12NC3dBgrzq/38qX61A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8223

On 17.03.2023 15:21, Andrew Cooper wrote:
> On 17/03/2023 1:56 pm, Juergen Gross wrote:
>> --- a/arch/x86/xen/enlighten_pv.c
>> +++ b/arch/x86/xen/enlighten_pv.c
>> @@ -1476,6 +1476,23 @@ static uint32_t __init xen_platform_pv(void)
>>         return 0;
>>  }
>>
>> +int __init xen_vm_assist_ibpb(bool enable)
>> +{
>> +       /*
>> +        * Note that the VM-assist is a disable, so a request to
>> enable IBPB
>> +        * on our behalf needs to turn the functionality off (and vice
>> versa).
>> +        */
>> +       return HYPERVISOR_vm_assist(enable ? VMASST_CMD_disable
>> +                                          : VMASST_CMD_enable,
>> +                                   VMASST_TYPE_mode_switch_no_ibpb);
>> +}
>> +
>> +void __init xen_pv_fix_mitigations(void)
>> +{
>> +       if (!xen_vm_assist_ibpb(true))
>> +               setup_clear_cpu_cap(X86_FEATURE_ENTRY_IBPB);
> 
> If nothing else, this needs a comment explaining what's going on.
> 
> "Xen PV guest kernels run in ring3, so share the same prediction domain
> as userspace.  Xen (since version $X) default to issuing an IBPB on
> guest user -> guest kernel transitions on behalf of the guest kernel. 
> If Linux isn't depending on mode based prediction separation, turn this
> behaviour off".

I would have thought the comment in the public header - saying exactly
that - is sufficient.

> But this does open the next question.  Yes, unilaterally turning turning
> this off restores the prior behaviour, but is this really the best thing
> to do ?

Unless this is purely a question on Jürgen's suggested version (in which
case I'd let him answer) - what alternative do you suggest, within the
present policy used in the kernel?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 10:30:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 10:30:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511824.791092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peCmv-0005fs-Fx; Mon, 20 Mar 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 511824.791092; Mon, 20 Mar 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 1peCmv-0005fl-DM; Mon, 20 Mar 2023 10:30:49 +0000
Received: by outflank-mailman (input) for mailman id 511824;
 Mon, 20 Mar 2023 10:30: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=noC+=7M=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1peCmt-0005ff-AM
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 10:30:47 +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 452976d3-c70a-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 11:30:44 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id y20so14261102lfj.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 03:30:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 452976d3-c70a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1679308244;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=rsTkbvT4rgjE0ML7sLxhUzy8YVNFx72szjO8MAtj1Mk=;
        b=AnoKtzYEi2Kv45j77jhfn8SqiGvGzYrfWB8uFgLUI6mfRtNoE8zyQJnv/v5lrLxDrl
         WZHsEuHKYb3oQzdw03pBMTb2Jbkgx3HB9HPqortkSQv/+D82KA4KKqN0p0G/KZQhOnsl
         c4K8sqvrDb3DYSzub0m+kY1Rf/5vn8jErxzKw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679308244;
        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=rsTkbvT4rgjE0ML7sLxhUzy8YVNFx72szjO8MAtj1Mk=;
        b=eFFqaU7TUerCMxRPr3TxzPDbiRu8O9LD8oyuRWqNhZYY3DH9l6Nx0cR9HqzOc6RZ+w
         /yzS+DAR6LkBbvemwQyqBui1RF3OJ0udMJ0jePk9RtJgcE4xJ46IfqZPrl21K5k91b02
         2FiGdFiq0syV30esyAbaKE/9HNSeAd3rhvO1xm7mP4wf6TdYIC/ooTYz3zOW/JedP7kS
         zqW2pbcj2SeHyoScrtdonsom+zgN4TqZ554guSQ9sg23AHtxI0Cvrx+A6YnVS+uiTbyo
         xtl6HHY4CFCe204aNrNgGd7CuMM60s/qJHs1ClwNaVHkveF6KFWD8DVVF+md46Ml4lPq
         dWBw==
X-Gm-Message-State: AO0yUKUqFrtf2OYJ85xP5w7LziEpUAhYo9APQFXUkd9BaofATzZrBEt5
	JCL5ZbNUQQTX7+WW6bTT9GC4PL/62Vg/Edqck6zJfw==
X-Google-Smtp-Source: AK7set9PUQzTqKtloQw2fWAywttrqvIrbkdtHeSYK1XaD0bqfHi/55Gakb7KYe3qtUtJaLyoHef1ToQDbOUm67NLWEw=
X-Received: by 2002:a19:c510:0:b0:4d5:ca32:6ed5 with SMTP id
 w16-20020a19c510000000b004d5ca326ed5mr3413626lfe.3.1679308243813; Mon, 20 Mar
 2023 03:30:43 -0700 (PDT)
MIME-Version: 1.0
References: <20230317131949.4031014-1-luca.fancellu@arm.com> <20230317131949.4031014-9-luca.fancellu@arm.com>
In-Reply-To: <20230317131949.4031014-9-luca.fancellu@arm.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 20 Mar 2023 10:30:33 +0000
Message-ID: <CA+zSX=YByE9ucFxWWTQrJhet41u-Db5u=ax+9aA8F81bLC-khQ@mail.gmail.com>
Subject: Re: [PATCH v3 08/10] tools: add physinfo arch_capabilities handling
 for Arm
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: xen-devel@lists.xenproject.org, bertrand.marquis@arm.com, wei.chen@arm.com, 
	George Dunlap <george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, 
	Christian Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Type: multipart/alternative; boundary="0000000000005763da05f7526b11"

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

On Fri, Mar 17, 2023 at 1:20=E2=80=AFPM Luca Fancellu <luca.fancellu@arm.co=
m> wrote:

> On Arm, the SVE vector length is encoded in arch_capabilities field
> of struct xen_sysctl_physinfo, make use of this field in the tools
> when building for arm.
>
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>

Golang bits:

Acked-by: George Dunlap <george.dunlap@citrix.com>

--0000000000005763da05f7526b11
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Fri, Mar 17, 2023 at 1:20=E2=80=AF=
PM Luca Fancellu &lt;<a href=3D"mailto:luca.fancellu@arm.com">luca.fancellu=
@arm.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D=
"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-le=
ft:1ex">On Arm, the SVE vector length is encoded in arch_capabilities field=
<br>
of struct xen_sysctl_physinfo, make use of this field in the tools<br>
when building for arm.<br>
<br>
Signed-off-by: Luca Fancellu &lt;<a href=3D"mailto:luca.fancellu@arm.com" t=
arget=3D"_blank">luca.fancellu@arm.com</a>&gt;<br></blockquote><div><br></d=
iv><div>Golang bits:</div><div><br></div><div>Acked-by: George Dunlap &lt;<=
a href=3D"mailto:george.dunlap@citrix.com">george.dunlap@citrix.com</a>&gt;=
</div><div>=C2=A0</div></div></div>

--0000000000005763da05f7526b11--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 10:32:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 10:32:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511826.791102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peCoj-0006DZ-TA; Mon, 20 Mar 2023 10:32:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511826.791102; Mon, 20 Mar 2023 10:32:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peCoj-0006DS-Qc; Mon, 20 Mar 2023 10:32:41 +0000
Received: by outflank-mailman (input) for mailman id 511826;
 Mon, 20 Mar 2023 10:32: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peCoj-0006DM-2S
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 10:32:41 +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 8a21e5d9-c70a-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 11:32:40 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9621.eurprd04.prod.outlook.com (2603:10a6:20b:4ff::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 10:32:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 10:32:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a21e5d9-c70a-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AddAW00jjwrK3ufwzFVcnx+jLpo2+L/odKY3BYJYkos4PltP1TrYLleG1R7lZzwJ+1dRlULvX1F7ZAs/8PoRqf6ke1Gyv+9oiWQHfGFZM6JjVeBuhqgMfmkxR/B/8wim6vKtDlzl7Zjk8ML4z9TFLixLWVCD38oY8zAp+S3WKWa+8kUsU3yUTqyoWmMYfdNKqerxyUjmWp/ym4HWxeWdy/ah7kuUeTclfrSgNuK78gljjr6+rPOkoCGhM/EJ3xlpEotbzyA1bRnYoUJZdo6P6RkbQh/lamrfMcV09Jv1lyU4g6L85SWMPEKSki34ar7w+fYpA8Yr5Jk6kV2Iv2HgKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mjrbQCcdzE4w9Xt0BVsOKXbZKykxAv0KbAu9N+r4Fnc=;
 b=EPW4F3aARDvD4Foy0UrVxaI/gJcvbim7hJMJZZBvd82f2SZdmQ0XNJGKZQ6EQo1NlyNbsqxOS9y9cRpuKYvEdhGRCKziwFUC4dloHaeutft1hnqX2v3qiwulArMfw7KFNkS5hzG5hk8JwOq/SviETlZIqVj3KBWQhHGUeQO9NHwYCELqXEbW2YoX1Z9Y2mbWpazg8im5SCylznJ22PnGl7DdXWLVKGv1PNckPUXvGd7pLQ+jlpqZ5tBUwBAH5NPm3LZvejeFI2xWe15NW4SK5fKYBMQuZWds2yigPRi0AbUA70+PWZPQQcBUDRdxvUEhDOmUFgai+KiZYJCF5/Gk4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mjrbQCcdzE4w9Xt0BVsOKXbZKykxAv0KbAu9N+r4Fnc=;
 b=NtYq2hSTemZmr2a1Tp/KUrAmyWBaLcM7ccI0rL0ydmIpvPCmQgF41uq6Db82mdiBQ4rCaw1IdRipkp2Fpx7rvgX2l8hEV16K4BqRvJwE1icTALRf83ji5J2vpYoP2ux94AajwGP3Jv8/HUjsqzvW1LtJAZYkhfIdJpEHWzKzysoPive067xHur2qvsY4s2vFtfSVmNin8M5P7F2QqSzBqvEtI26mm3JeSeBn8t60NqclXhh5xIdkxxv0Xo/ht7RoKKarFgXZsseII7CdtxlzEJWEHvF1p3gNL0NJ+zj1WqYCekJShKrfH5WZDo7z6+jSVoXDErYLl/QiX6UkIh9xUg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <45dd213c-94f6-1b78-98ac-57ebd3ac1f3a@suse.com>
Date: Mon, 20 Mar 2023 11:32:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] Fix PCI hotplug AML
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>
Cc: Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <16d19b45842d4f98f130c98628932eb2d62ffe72.camel@infradead.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <16d19b45842d4f98f130c98628932eb2d62ffe72.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0166.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS4PR04MB9621:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b02a3b0-d50f-4abb-0e68-08db292e6add
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kMf0vuxbJhq1gk1a3iUxYikO/6/kqhwVh0JXAJNzfdopQVF5+zcBXKuCTN/KQZTdnQJEwDv8tY3LqSc6ASKf7bdmoX++e1dM+6iIIorbu3HLZxfjMFVfnkKvXInfe2OfLBb7X65NjtEkDFcwZ1A+5BDBIawHp+UqW/G3JyL874ePdRngKQeVcrv3Z78qWOghDsxC2FhpLdeUmVKcj/blkaaBUKzZ3jiaP0r08nlZj57calaeyOl4rpDYHXcxrMeM59xMWXscLFc0cwuOENXepEnXD5XrfgfGv9H8RRokuojdExgPVK8Vo5hB8XEeyu1zz9Ld6uKsdwflawhoNiTdTKs6B6GWV0jAyCKoZNBnFjAckwcbJdHlhTExp4LK/JaxDaa2FfUUz/F2fX5MVvXRRTnkGzFAtt5Fl6/hBNrqhr8gZqCWp2eLliJoE0QNvH2ApTnJI9HtJMR0ZR804dqXWQz0DsOHKwh1HEucSbbofWfdi0V+yCzORgyBZUzvggm4zyo5deJT9qPfFokaKsExAszQEFqVGEdamg/3oWe98Ut/nQUMd0mnmxtb0iF2mXCEN8niCA/ck5Zx+HCu6m83BlI/lj0dqVTwsyAJuJvKHzmq2Kl7JaoKhU5Ddar/DZkjkJHyv+OJlkTWRQ26exdcEEk45zf+OS2Ow3i/1eEMczd5R6u7y2aL7jPzG9jq1ZFCJe+500zc27LU/A4y+a1DmswBEY1fqmG5/JWLJzl8FsM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(396003)(136003)(376002)(346002)(451199018)(66556008)(2616005)(53546011)(26005)(6506007)(6512007)(6486002)(31686004)(6916009)(4326008)(8676002)(83380400001)(316002)(66476007)(478600001)(66946007)(186003)(8936002)(5660300002)(2906002)(41300700001)(38100700002)(86362001)(31696002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VjhRMndRSjVNTWN5WW9GYXFjblMvcktWc3AyWUMzNHgrM1ZsbEZ5NUJFWUtK?=
 =?utf-8?B?eDRFeUNjVmJHR0c3Q2FqZDNlaVdLSWUvSkwvQnk2WFlJVnN4dVJrZmRhaEEx?=
 =?utf-8?B?VXdQM3d6YUpHZnJEUkduWUxMWjArdEQ0b0dYU0lhdGVhMkZ4b0F6UkNURzBC?=
 =?utf-8?B?Y0lTYnNZZWxPZUs4R2hkQXcxbEpqLzk5U2pRRXBaak5wbVVQZkwwem96aTZ4?=
 =?utf-8?B?RGZ1bjJISmZoakFTbXVNWndJY3hQTzc1SWFIdStRNmhwSFBDaE54a0FMbVVj?=
 =?utf-8?B?SEhTV3JOY0o1ZUtVdzk2R1dtNVVvdTdKL1B0RjZidzJPMEZHY21wL3ZZQncw?=
 =?utf-8?B?dmgwUmdSVitQT0x0VE9wQWgydWpOTVhLeUxwL2kxanFNQ2hzR1pKZndDSFZS?=
 =?utf-8?B?bWo5TjNWZUtka24vNEJ1ZnBycUdBQWFRUENwMWk2RmtBbEV0Z3FYTUFYVmk3?=
 =?utf-8?B?bHUrT0VKd1p5NGxSNmtHUVRFL1ZCbXdza081SW1FTUVOOElHQ1orS3IwWDR2?=
 =?utf-8?B?SHB3Y2F1bm4rVmZZMGgySjlweDlhQzJscWx0QVl5RUxET1kvektlS0FyU0g1?=
 =?utf-8?B?V3IrR3k5cXdSMFpFZkdLMGt5eG1OUk5KM240S0UrUXZta204cVRidHYrdEQr?=
 =?utf-8?B?aXprWnp2NFFyaHdHSHZtK0lMTFpzN016eWp3L21DajBmMTladGJTVVNZUzE3?=
 =?utf-8?B?SjRMZS9HUkJIVkd1WjhnMFZHMVRnMk4xem4yVitGMi9OanVWQmZwZlpnN3pj?=
 =?utf-8?B?SUUveHNEZXZWNFg4UTczS1ZIYTBveHV5QXRLSXZXTWF0a1c3M3JtQ0QvRUJK?=
 =?utf-8?B?NVdhVUx4VS84UklwcDJyM1JuUGtNUThOa3RsdzdaNVFMNFdxYWFwdFN2Mlhk?=
 =?utf-8?B?MUYydk1QRHhQakJiZCtPc3NhZFNtTnBVaTZQbjlkVTZOTHkrcmlad1pTaG8z?=
 =?utf-8?B?QkFCbm91OVVNMUwrWjluN2w4ZVRGRkdhZUZDbk1reFoyakpHaGhuWFZONlRr?=
 =?utf-8?B?UG5QVDQwUDR0V1FtWkQ0eStSclg2ekxmb0xVUDFtSWVVVWJEbmVFZEtpYUt5?=
 =?utf-8?B?cEVhMUJyV2UzNEE5a0V4V2Mwck56SjFhbjdKQ2Yrb2ExNElZRFIrQU45d2Nj?=
 =?utf-8?B?S2YxVDJSY0syc1NXYUVHblJFeEowT1I5SkxWeEhGWkZzdXh0WmMzbDgxdVR5?=
 =?utf-8?B?SFdyWTlOZFFCTmNqdVdZWTdoemREdmUxcTBuR0RyZVNHd1l6Y2t0eTVmNHNh?=
 =?utf-8?B?STMrZXJPOVhwV0JPNWdIaDQvTzI2Q1M4SUd1c2laTHJEbGd3cjVqZmtpWmps?=
 =?utf-8?B?MkpDcHBQSTVVWlpucWhQS3JITG5OVzlxNG1IY0NGcW1BZXF1aHZQdlpPTTdD?=
 =?utf-8?B?aXR4U0VpYUxaTU9nKzBnUFNxT3B3SGZ5US9jeWlxWFJwVXgrYTFudzYwV0k3?=
 =?utf-8?B?UElDOXBNTjJDbHBxa3YzOUxuQ3VoQlFidWYydC8rS3YzQlBqNExRejIvSHZP?=
 =?utf-8?B?Y215OXRETG4wY1ZRbURGR1NvRjhaUjlqRWNRWkVoc0NvSnN0RnF3TnBDSDhZ?=
 =?utf-8?B?WVV1VGdZY1VDRjF3WlJwV3N5UzlFcWNXRWhqdmkwb0Y0Tmh1OGdwaEVVbzlw?=
 =?utf-8?B?Y2JNbHVQTDg1Y1pxdmVrSDdBTGlKV1RMWHQ5NlZIRVVXRzY2T3Q3WDJWUUk2?=
 =?utf-8?B?TUFOVUhOQ1hucnhUUnpKQVIycnN6bDY2dUdrcTgzU0c1amlzYXZqajRNc3pT?=
 =?utf-8?B?WHVNbE5ZMUJqazlNcC9VYmhJNzBhWmg5SjI3ZHQzWnh3Ulp5RTA3Q1dCbmRB?=
 =?utf-8?B?WDQ5K3VUREV6VUFTYm1iWGlzaXNIeG9aWStSaGZTWDBQZWhIakdPNDhSN1M0?=
 =?utf-8?B?V1VlYStpMExZOEk1cWNBZEl5cjNxSzVOMmd0WThZV2M4NU9aR1ZUNjMxcXRZ?=
 =?utf-8?B?TGhLaXZrSjVncHgwRHQwbHRxL3FUdjRQaW1MbUZ0VkFEYkRtMDlTSEZhWWw3?=
 =?utf-8?B?b1ZiWSt1YVZuWWRoVElDeWxVSWVNUlRQWW5VYnROa0VMRGRWRW5BTXRCRzUx?=
 =?utf-8?B?eHlRcTY1UVBxWDZJaWg2Y2pEMmlyWnNEMVhmdlFPMFQ3aEVqbXNHbDNISFpq?=
 =?utf-8?Q?YjuOTdFqTgvGc4P1KOvMYsicL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b02a3b0-d50f-4abb-0e68-08db292e6add
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 10:32:34.3351
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8ZmZ3exeWtWqPTQvPekckdQcGF8c81ctbaOQIB/HTsmg0sjh9L3rML5SDjXBoMK/srKXL8FLYVD/yuM+qsOsWg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9621

On 17.03.2023 11:32, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> The emulated PIIX3 uses a nybble for the status of each PCI function,
> so the status for e.g. slot 0 functions 0 and 1 respectively can be
> read as (\_GPE.PH00 & 0x0F), and (\_GPE.PH00 >> 0x04).
> 
> The AML that Xen gives to a guest gets the operand order for the odd-
> numbered functions the wrong way round, returning (0x04 >> \_GPE.PH00)
> instead.
> 
> As far as I can tell, this was the wrong way round in Xen from the
> moment that PCI hotplug was first introduced in commit 83d82e6f35a8:
> 
> +                    ShiftRight (0x4, \_GPE.PH00, Local1)
> +                    Return (Local1) /* IN status as the _STA */
> 
> Or maybe there's bizarre AML operand ordering going on there, like
> Intel's wrong-way-round assembler, and it only broke later when it was
> changed to being generated?
> 
> Either way, it's definitely wrong now, and instrumenting a Linux guest
> shows that it correctly sees _STA being 0x00 in function 0 of an empty
> slot, but then the loop in acpiphp_glue.c::get_slot_status() goes on to
> look at function 1 and sees that _STA evaluates to 0x04. Thus reporting
> an adapter is present in every slot in /sys/bus/pci/slots/*
> 
> Quite why Linux wants to look for function 1 being physically present
> when function 0 isn't... I don't want to think about right now.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Fixes: 83d82e6f35a8 ("hvmloader: pass-through: multi-function PCI hot-plug")

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




From xen-devel-bounces@lists.xenproject.org Mon Mar 20 10:34:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 10:34:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511828.791113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peCqi-0006mZ-9Q; Mon, 20 Mar 2023 10:34:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511828.791113; Mon, 20 Mar 2023 10: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 1peCqi-0006mS-5n; Mon, 20 Mar 2023 10:34:44 +0000
Received: by outflank-mailman (input) for mailman id 511828;
 Mon, 20 Mar 2023 10:34: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peCqh-0006mM-7T
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 10:34:43 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20609.outbound.protection.outlook.com
 [2a01:111:f400:fe12::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d228a81f-c70a-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 11:34:41 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7717.eurprd04.prod.outlook.com (2603:10a6:20b:292::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 10:34:39 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 10: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: d228a81f-c70a-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W1lgmkZ4rWTg/5xx8HTKfYLFAsOItupFOwHZCYDcRTS0R8dKrBQM+yasNKgg/xlkQIuQpqqkM98j1bjozYLWLlB0KEAuWa6kU7Bw/5ui6kY+jsECi8hBRa4mRyDScg9/UQ+BZQn//VTVu/2e3j1OrZ609hPqjtfQyAIVGGIdP/Xd9KrREyq+Qkf+EvuX+f5Ijen1aBAOPbI84k4WLjiP9geMyDPs7weWsx3DiA9T7/QcRr8oDD8z5rgAmhzjdo5emyjq47u2Zcv5EZTcbPud6U66aVNXmW68Ir5MuJBislog0mDS0AOLUPCNea5//9N7SA70IUcldGJfzeLlVvsMlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TNzBbkB/3KzNTkAWKVBtvGjPS9XdsvspU5p6u38zjf8=;
 b=DgdPjrfcoB2QPny3O87ek8GizOGNkwAfJdvIXj4vdsC53GGscJHPRxDDeUziu5Lcyqh7cBD3i3IDIBPES/Tt94Z2DfYy5Hu814HFg/bV2aCM9UKoHhcKcXBJeDxlozHYNrmMs8AvXhVc0+Kd77m22yZiEvNUEifMrx3904JyfgLjgHKTANitBh/akaHS9LBakFxF41Yw3buQhPDTE+S/yhpQ6DhAv4kBBxmyrFM+Na2B9PpX0h0wZJJihdoPih0FIGG7jxvGJP2ZQI3lJ4faIZ+kzhS+2U8t92xV4J3YI2Tn3+cUM4ibL3sBAEbFfWvy4yD77kBMDGiw/MZjiAOzyw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TNzBbkB/3KzNTkAWKVBtvGjPS9XdsvspU5p6u38zjf8=;
 b=EiT5Ai0ebqoA83glUq5Obafny66S6q6o8RMrMDwm5zkzoeByzPWc8/Bc1l9EKgcaI1JbbAQiqbJ3TQxXsw6UwTiDpVnlhrf2O19fRhiI0IHbE8Vrxt2LvEdwsOkDVej95QMiaHcwSRVHLvYDvu4jMCqDwHtttHC+emI31gO0nGamKB8KXdmePLKlkKMslXAE9B/KF9oRKuWmeHQrtypRhzaVQl0ZoytkvrCamMnZCe3MBLBonMsERc6R1ylxQj2eZqZBHstg9taYndfjjt9HPzToHfHyFQtJATiWmYDqC86MHlCGnTdXUml1zeXR1wdTPYN6DOaerpHpnRl36R9uYQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5ab7332d-f0ca-d803-38c0-4e0210df5eb9@suse.com>
Date: Mon, 20 Mar 2023 11:34:39 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] Fix PCI hotplug AML
Content-Language: en-US
To: paul@xen.org
References: <16d19b45842d4f98f130c98628932eb2d62ffe72.camel@infradead.org>
 <2f1c2da9-ad21-cf4d-230e-b3e01658f25f@xen.org>
Cc: David Woodhouse <dwmw2@infradead.org>, xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <2f1c2da9-ad21-cf4d-230e-b3e01658f25f@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0013.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7717:EE_
X-MS-Office365-Filtering-Correlation-Id: 91bc08c5-82a2-4637-3bed-08db292eb2f6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	x3J343WPg1t2EXdiRnht7JVFAK+qJiljmMeQzObAiD4qesdSoagi8vjbXZQQ2SW94NfGCwfOayrZ5VWBL3baoun9ccDb0Yy3i1qyASNJzjPWhkDPnU/n/EDHLwHHDdM/CnuesyNsQAL1X3Ix2dnlk7e6LPbVrXOSM6qPZph9NEiNm5DRyy13y109JkLJRfcP0ozC7W2Jcpa0tcuvyQbwyzyZXLKMGfWkVpGm5aa0Q9Y3tcTi3aZL97JHsh+wqDtPYS/HZcptiEcXUk7VRamcGGVLI85z3Nip0eApWzLa/1TL6S01bC3wjVOyzzgK9DRsoLWR+nG0a8BPy41PlxRW7uAY5jlXgxbVIFzhqwy0sMib9Uo9N+68ros/Jg2jiXusrvv41mr0VGWiuLlUQYuUVA7q/5FM+o/Jk4OsbK4HshCRrLZkCj2ZhxtF/MaJWyELFiJ8T4BIPUB+YT9BrW0esoQY6yMb2q6jcmlDC8NqzATLBN8Qo0KemDXaVPOVgMau0sRHX9yTFbmQYu4AvTz7Ip5giCTBZJJcRG0PtBnJTCTW430S0YYcpWio9J0DUi8VVEY+71mJ4ZV5XXDdpoFtTL09G8aNDz+a3bRzZ7tLrqQjUVKrJw/3RgpqsUhnz/9UmkkSFyvLmV0Hx3nyoEfNjzXtgzmCtQccTZJFWGblsyF5Sh/9WqSIjSasF9hTpVIustFPK6MaZueqeBWxRuDULX+nSzn78KIs6HdBkVBIcpg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(396003)(346002)(376002)(39860400002)(451199018)(2616005)(6486002)(31686004)(31696002)(26005)(5660300002)(6506007)(6512007)(86362001)(53546011)(478600001)(316002)(186003)(83380400001)(66946007)(36756003)(6916009)(8676002)(66556008)(66476007)(4326008)(41300700001)(8936002)(38100700002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ajVBYWtYUFhPNWllbWE0alcramhCaEtnN2R3UmRCdUVsdnJ1U0FjWXdzVGJE?=
 =?utf-8?B?Sng4aWh6cmxQa08zVlpQNzUzZVBzOWFwSk81NVF3ZjVZRTllUFNjVlI4OHA5?=
 =?utf-8?B?TmNGQ1FXUTMyd3g3OFJ3QWFEb3ZPRWpZZFRtNGxrdXU1bXpWcFBMdDBWbGRy?=
 =?utf-8?B?SFhvVlJLWWNHNUo1UWgrNVk5OWEzMkdTMG5OWTJSTURxbjVMUEcxV0xKTVBP?=
 =?utf-8?B?ellReEpFbUdzTDA1b1Rpb1p1RkNiVWxmT0ZoUGVuV1dvanhQdE81ejdJZkdE?=
 =?utf-8?B?aE83eXFndFgwUzJTUndjWTJJK2RPYTlJRXlndGNzY0xpeGt3N3N0dkxDYS9R?=
 =?utf-8?B?TlB5VGQ0N2l2MDdoaUxBK1ZQR3lXbElmeVAvSTV6ekVDTHl4NnhBd3NFZ2p0?=
 =?utf-8?B?cG9jTWdVVzJGU0d6S1ZmNFdHMER6VEJsblNTaDFtQnB4TWJZZnM2dU54Q3hB?=
 =?utf-8?B?VEJORDBrdDVJdzlZRzBTMXVqRFBNdi9HSHhHMlkvYUNqblVybHRwY3hzYkVD?=
 =?utf-8?B?MU1RQWZsbHk4c21XQzliTzBWdTdtb0ZGb01OVnUxWHFBS2dUR1U4MnA2czNZ?=
 =?utf-8?B?YTVSbG9EV1RZYVFDeHM3T3JKZ1dZaUN5L2ZSS2swSk92amlnTEdneWpQaUlk?=
 =?utf-8?B?MDBnMjJWaEVoa05WbC9QK3lTNjBqbVhpbVh4K1VyN1BzM0dvOWRuUkhiZXov?=
 =?utf-8?B?Y1NYUy9QMjAyNmJEMEJWbVUvamU4MlRCbUlNZmxLcHBpODVTUnhHSjhHazJV?=
 =?utf-8?B?dngwc1NMQWdKUjg2NjFnb05WTm9OMDhCdWhFcVNQTTZISXRJeElORFY4NFRQ?=
 =?utf-8?B?MGcxT2piK0E1WUZZZVlMNWRNYzkvRjFNWVFNLzV4SGEwWWxmZmJPa2h4dmpT?=
 =?utf-8?B?U0ZCVmRid1lPMVRCOEpyaS9QeWxNekp2T2xrcjltZEk2QkhkaWl1aFVacnBj?=
 =?utf-8?B?TnY4ZlpSa1lzK1JzV3F0RnV3UUVkbGdNM2pCYkxJOXhjc2tTNC9zNEg0ZW8w?=
 =?utf-8?B?YWZETDZ0bVkreUZLUTV6SW5KTHBjTFJ0M2YxZ1pybTE3M2R4Y1d2N3I2R0V0?=
 =?utf-8?B?Nlc0VTBUNUp3KzhVSVhpeTZldlpmSXpEOG1YVURpSnZJMFpZdVV3UmRUeC9y?=
 =?utf-8?B?KzEwTDkzTm9WT0Nza3phcmptMk9pbUhMek5iVEN5djQ4UzU1Zm9SZ25NOS84?=
 =?utf-8?B?UHZmKzFTdStXTlFQOXFnWkc3Z2R4TVB4QTdnb0NWVGtMUGhGVFFjQXpMN2VM?=
 =?utf-8?B?Mmp2WHlYdzhPajdYbWhDT0pEbzVZdlYvZXl2WVZCYmtVcVp0TG81UHFEaHFz?=
 =?utf-8?B?dzhNTVBaRU9Fb1RCejhYSUg4UXpOZUUxcGRWUVlTZXlLMngvdVRmVmFOQTZH?=
 =?utf-8?B?UlBjZjN3WXlpNDNwNWFuTDVIVXJoM3RlTCt1QVdlVytwbHB2WVJ1L00rRS9w?=
 =?utf-8?B?aEpJY3BrMkxzUmt5djR3U0tCUjUrZHc3M0tmbEMxYkJZSVJaYkloY21yZlVW?=
 =?utf-8?B?SU5oVzJLOVMxQ1lLekpWN0RGWFRyeGVuQkFZclhFbGRuZmVYa2tiYzlwSzBE?=
 =?utf-8?B?V0pKYzFhU20yTW5iR2ZaMkx2a2FFazVYb1pVVjg3ak0rMGNCNnpvdEFSWFQv?=
 =?utf-8?B?VmNIWmN2K3pxcVRmOXAxSS9rVTZxbnZ2SGpPOWREQkFEbElUUm0vS0dFTnNm?=
 =?utf-8?B?M3RCUkN6V3ZNRHlqQW5Ud2g2bXRiVldjK0ZXTFFQTHp2SDRqOU1XV3ZJRXAw?=
 =?utf-8?B?ZUdieVRReDlqekJ3UHlIb0t1NXhtR3ZUUjNQR3gzNU55YmVwNHVjQWdML0Yw?=
 =?utf-8?B?YU8ySzFrcmRNTTZZQzJwVUZnRmttMTF5aUEzK0xYazkvTEJnRS91NVBnVjhO?=
 =?utf-8?B?SU9zbUY2Y2haOGJIc2Y3eDl1V2o2dG9QOGhVRU1KcmVrc2NVQUtrWi9vakFu?=
 =?utf-8?B?bkp5eW50Vk9MZDNUZnA1Nmp1RkZLazVZWGFleDI4MERxVmZaeVRlRkUxbFhl?=
 =?utf-8?B?Vi9iSjY1THB0NWZFTnp5RjBrcWU4a3ppbE8yWXo5dEMxeDNUbHNHekJOdkVo?=
 =?utf-8?B?eW5DTlBrOUZGam1tN1NTdGVnN1hCc055V2dxUGs0K1lUMDRscDFQbTVCTHJF?=
 =?utf-8?Q?ijIjrduZDRH/3DpZFYxN5GK9u?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 91bc08c5-82a2-4637-3bed-08db292eb2f6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 10:34:35.2179
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: keE9NteX78p7wa9yEhYeyT8idrlRaxO0RefNaXjxAp8LbxvkC5CJSUy/U2LbjLwr3tFFQpyf8D0mFHi4MJNJqA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7717

On 20.03.2023 10:04, Paul Durrant wrote:
> On 17/03/2023 10:32, David Woodhouse wrote:
>> From: David Woodhouse <dwmw@amazon.co.uk>
>>
>> The emulated PIIX3 uses a nybble for the status of each PCI function,
>> so the status for e.g. slot 0 functions 0 and 1 respectively can be
>> read as (\_GPE.PH00 & 0x0F), and (\_GPE.PH00 >> 0x04).
>>
>> The AML that Xen gives to a guest gets the operand order for the odd-
>> numbered functions the wrong way round, returning (0x04 >> \_GPE.PH00)
>> instead.
>>
>> As far as I can tell, this was the wrong way round in Xen from the
>> moment that PCI hotplug was first introduced in commit 83d82e6f35a8:
>>
>> +                    ShiftRight (0x4, \_GPE.PH00, Local1)
>> +                    Return (Local1) /* IN status as the _STA */
>>
>> Or maybe there's bizarre AML operand ordering going on there, like
>> Intel's wrong-way-round assembler, and it only broke later when it was
>> changed to being generated?
>>
>> Either way, it's definitely wrong now, and instrumenting a Linux guest
>> shows that it correctly sees _STA being 0x00 in function 0 of an empty
>> slot, but then the loop in acpiphp_glue.c::get_slot_status() goes on to
>> look at function 1 and sees that _STA evaluates to 0x04. Thus reporting
>> an adapter is present in every slot in /sys/bus/pci/slots/*
>>
>> Quite why Linux wants to look for function 1 being physically present
>> when function 0 isn't... I don't want to think about right now.
>>
>> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
>> Fixes: 83d82e6f35a8 ("hvmloader: pass-through: multi-function PCI hot-plug")
>> ---
>> Utterly untested in Xen. Tested the same change in a different
>> environment which is using precisely the *same* AML for guest
>> compatibility.
>>
> 
> This AML only relates to the hotplug controller for qemu-trad so it's 
> unlikely anyone particularly cares any more. In fact I'm kind of 
> surprised the generation code still exists.

Why would it not exist anymore? Use of qemu-trad is deprecated and
advised against, but it's still possible to use it. Otherwise quite a
bit of cleanup in libxl could also happen, for example.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 11:01:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 11:01:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511833.791123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peDGR-000293-Hj; Mon, 20 Mar 2023 11:01:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511833.791123; Mon, 20 Mar 2023 11:01: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 1peDGR-00028w-DX; Mon, 20 Mar 2023 11:01:19 +0000
Received: by outflank-mailman (input) for mailman id 511833;
 Mon, 20 Mar 2023 11:01: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=hxkN=7M=tibco.com=clindig@srs-se1.protection.inumbo.net>)
 id 1peDGQ-00028q-Cm
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 11:01: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 8997b0a6-c70e-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 12:01:17 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id w11so6128321wmo.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 04:01:17 -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
 e24-20020a05600c219800b003ed1f111fdesm10060512wme.20.2023.03.20.04.01.15
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Mon, 20 Mar 2023 04:01: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: 8997b0a6-c70e-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1679310076;
        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=clniA0LQYdtGLwwi5aAukTIPQdXmGUvBrGBqSVEKmEs=;
        b=A1TL0/nKnCVI75a3oSiS8vn5jBTDISfH/kWeijfA+9lTDKy8roDnjErBS4OKwW1W7f
         boXB6wecQfrbQu0iXIRDZm5nqtkQsQ63aFbrYR9QO5YnMnq0x1t85Vh7wWxHQ0P/c9TP
         52L/L3pgaJ/EkzltxX2sQggFc/w8KN9wZrRrM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679310076;
        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=clniA0LQYdtGLwwi5aAukTIPQdXmGUvBrGBqSVEKmEs=;
        b=5/E/HZxB1EggXgRFO9+tfnlu2D+5sQ6NTih96D5C6gMnAmkJxeo4B2OwNhS9GWVym+
         yyeAzNaOspJ7x1doev+tUMJFEHA09PdaqE4zVkn2mNUuMV1qcrgS8VjhAmyNV/9JV48z
         VU2Noc1kjJgAjFO+Ttymf1POJnCSP7m8aEJPIKy66/VWDNSrYRvyPD9ObBWq2ZGkKZqL
         4YrCcq5HcAcFZVKUXws/aIwBcvobKTbCvrieQBYcoEMSn74QNOG5C8l5wEbQ9TRhuN1h
         RWzvEYRt1WkIyxPr1081WjDoDEBfgqj20ZhmoUZ7YWL4F2l2U2RubMBPO+ivKoLBh0A4
         A+sQ==
X-Gm-Message-State: AO0yUKUfBJLnPIPzQUP2/XrwqRq6FswZWEflSrZBTpzU+LMt7G18RQz6
	HPftycTUdGNo8TLXTW6hO90Mmg==
X-Google-Smtp-Source: AK7set8iTIkZ1Pt6iMY4n8Q5FEwxLk0gir4PRpPvMjmmthOULhSI6CdRr3xFuBCas7lmjJaXueev+w==
X-Received: by 2002:a05:600c:4510:b0:3dc:4fd7:31f7 with SMTP id t16-20020a05600c451000b003dc4fd731f7mr30925668wmo.41.1679310076655;
        Mon, 20 Mar 2023 04:01:16 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
Subject: Re: [PATCH v3 08/10] tools: add physinfo arch_capabilities handling
 for Arm
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <20230317131949.4031014-9-luca.fancellu@arm.com>
Date: Mon, 20 Mar 2023 11:01:15 +0000
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 wei.chen@arm.com,
 George Dunlap <george.dunlap@citrix.com>,
 Nick Rosbrook <rosbrookn@gmail.com>,
 Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 =?utf-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <5C1E6204-51FD-4C97-8182-848F30A4A58B@cloud.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
 <20230317131949.4031014-9-luca.fancellu@arm.com>
To: Luca Fancellu <luca.fancellu@arm.com>,
 =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>
X-Mailer: Apple Mail (2.3696.120.41.1.1)



> On 17 Mar 2023, at 13:19, Luca Fancellu <luca.fancellu@arm.com> wrote:
>=20
>=20
> 	arch_cap_flags =3D caml_alloc_small(1, arch_cap_flags_tag);
> 	Store_field(arch_cap_flags, 0, arch_cap_list);
> 	Store_field(physinfo, 10, arch_cap_flags);
> +#elif defined(__aarch64__)
> +	Store_field(physinfo, 10, =
Val_int(c_physinfo.arch_capabilities));
> +#else
> +	caml_failwith("Unhandled architecture");
> +#endif
>=20

Is this code overwriting an existing entry that was computed but now =
isn=E2=80=99t used? If so, should the conditional compilation not avoid =
this?

=E2=80=94 C=


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 11:01:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 11:01:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511834.791132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peDGn-0002V1-Nx; Mon, 20 Mar 2023 11:01:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511834.791132; Mon, 20 Mar 2023 11:01: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 1peDGn-0002Uu-LL; Mon, 20 Mar 2023 11:01:41 +0000
Received: by outflank-mailman (input) for mailman id 511834;
 Mon, 20 Mar 2023 11:01: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peDGl-00028q-GX
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 11:01:39 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20607.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95c85066-c70e-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 12:01:38 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS1PR04MB9582.eurprd04.prod.outlook.com (2603:10a6:20b:471::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 11:01:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 11:01: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: 95c85066-c70e-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CNNGcXlpiSCh9GDeHXzcU6sbCf8ogufd8ldLwIhm7dea18VKouer9JAwjFsBcb+nki6Lv3la1sgKklR4i7zwhkfuJ1GDHFBfmL7HHKGiIJyaW7VkzzJO0tnaXxEuWIGAvhNQ1V0G1dZThkvF+eX1kIzrtstpYdgPr2WcNHSRgDFt9Q03sDToY/CCTpBU1D4JTyLAl+MajliOQRPkuj2imgHAKC8XTxvZqfqS9xQzK8PR1VgfHyncGrNiw+xvjXm9w7OEFWOKg8hc49unOOyV+CbTvWnoS+ETAYxodI88boynYQyA1GOx8XN6os6tnTFH9YegsMdhAatH7B2+Yd9nAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7euEy04DWu7SHJGAnJXvrE74ZCROgb3Jl6BV4SgQmyE=;
 b=EOvFfMfAYhuLUFUwyTlgppkd+i6/H9rfA6MW7cUNRSmn04K9RtVSm4gT/IB/8OBkh0upuFoWNVv20ufGS6K+HqcIdAn5KDpvmf5vWg6Gp66dKzShdLy6hAGcDoHhQFo1Xs/f5wXbEWrmXXcuwjtGciAjchzJ/x3czTjdIBekrKfPBmWuQNJtJRAm4jd5AwLo9ZlPVD5kLJQLXYQhVREgtgkzJeHLSnpQZssf1qtUkS9VUpnDz1A3VmGBAlK0bxzuvsqQJp++qRrrXD6aSPTO2Qyz47IU9aIT3N3NfSoySTlAdV6tdYSAF00Nss7Ngl96+8ABnknsX6epC3Yohp5mgg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7euEy04DWu7SHJGAnJXvrE74ZCROgb3Jl6BV4SgQmyE=;
 b=zYbsY31xDA/TbTQ/r7gNPjD1MvvMJ6tJjEjmGEnutwXqSRma8Hjcvtg4tW898qxaaupAAkCOm4n3AF9CRaVijSu0uo/l3m0/G4QQO382+OS27g4xafKUIYiVZ/HV+YSquUZGKQkTEbTzIbH/aJKq9F1lTKc4JOYEzC/Im6JK1UMdmzJEU7ErVBkvIkfiS9eJzynleTWcW1lGLoEGLV9OHKKxYM4EvxPtOtq9NXIod7LeXGW1cQsz602x4XrVwP9j4XBBVJe4FC6ZkW6DVQC81umaq67cEhbDsArlVveK3RmvX37QvoOeUKWNp4W7Sxe5ItAFLxw5ZvUvkD1jlSORqw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8aeee329-460f-0f79-a381-2dd0559e01d6@suse.com>
Date: Mon, 20 Mar 2023 12:01:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN PATCH v3] x86/monitor: Add new monitor event to catch I/O
 instructions
Content-Language: en-US
To: Dmitry Isaykin <isaikin-dmitry@yandex.ru>,
 Tamas K Lengyel <tamas@tklengyel.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>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Anton Belousov <abelousov@ptsecurity.com>, xen-devel@lists.xenproject.org
References: <858e4c67d14ec9d9c6737dd0b33056e3610c00f6.1679054228.git.isaikin-dmitry@yandex.ru>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <858e4c67d14ec9d9c6737dd0b33056e3610c00f6.1679054228.git.isaikin-dmitry@yandex.ru>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0175.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS1PR04MB9582:EE_
X-MS-Office365-Filtering-Correlation-Id: d96799fa-a603-413d-c9f8-08db29327646
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:
	CmzU6W0VnJOEeb9PE9EKeokZzlZf3pxNZEX4/+Q3eqEtG52AA8aef1kgo6O6elVoZGpQdHGiRPmGo3QzIJLC+71LiOg1Uvva6bOA+K9QKag50CmOKY2rl0zkD0XQNeB4gv08Zt7cwqHR7BezGub60/slu2K6hvDuPIcZM8NTQkBxlB69QXqYJYZNYdQiQCYz3ilfyOu3ZS4eHytq9HMjY7J3e0NfwO1q23J9olRWTQhslAUXUCdpPsL9QLPVB1NeYV9GC5zeRGVFV1lDpglKhqVwM0SPa0n445Mr0zxentGv9WUDsvhpG2+0XAaXNQCb8uQ5Gw5rmusnsjP9yq8kVetCVFbKllaXhxxZtj6rPd0B8kK8MlZhEwyIIEkCXF+rCsfBE+plIC06Aoe7jr0j295unCHmf6NJ5lfEl0IvfaSE8QodKi5Ix2qH4VfOWjz23n1Ug1Oqnz68LooNcBQj5y7X7H2NqVMjuX6ULVf43zm1VHgTm2uE/CiZB0HeIROmjD7qrAxBtxBsVhjiZSiv252bgQTLiuL06MoU2Im1D9ynVSGsF5FJ7zAhf+20tAtelKwwi5BbO625hPyIamAsMCUpIqKmI6Bsr1Ao0VvXttdI670Vsj00oAxaYoSgpZytl3mF2X8T0Sfx4LLEFxzu2PdTGkfDTC2mcES83AFctNotYm60VrZuYv311T5u/jcs+t/3OtsoyWt0lHqO1vT/QjhQwEf9V3yDgwi4gQWFR6g=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(346002)(376002)(136003)(39860400002)(451199018)(6486002)(2616005)(478600001)(83380400001)(316002)(8676002)(66556008)(66476007)(66946007)(186003)(26005)(6512007)(6506007)(54906003)(53546011)(110136005)(31686004)(4326008)(7416002)(41300700001)(5660300002)(8936002)(38100700002)(2906002)(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?ZXRxQ0MwWXVZQkRLMTNiNytXSlcyTzR0T0pWQVluWG9lZHZ1MTV2MU9kaTZo?=
 =?utf-8?B?ZHV2Ym9Ya2JucHVRMWw3ZjgxbWhEUUxUUVQzODlpU012dkNpMDNodkZtNXps?=
 =?utf-8?B?dFdsb28veUI5blJZRkRoM3RUTU5hWXBia2xoOHd4K3VmQzBudUVqbVBaQnpP?=
 =?utf-8?B?Rnc1MVVQTXMxV09EY3Z5RUdvTU5SNzZHSkdqYjJzUTl5L3RTd3FkRHBFU0VI?=
 =?utf-8?B?aDFKQlhBSmJQaS8xZ05uU0s5Q3YwYUo1Qk1KS3dTVGpVWWRLSkdnUE9COVB3?=
 =?utf-8?B?UVNSeFdXNERMb2tQeFZ4Z0VwREx2RTczWklWbm5udW9JOVVHZCs3Q2JJenhL?=
 =?utf-8?B?cXZCVm5BS29nMUVEZlBUb3JFd0NLcTM1aDRNZGQ4bHpSMjNieUdxMVE3SGxm?=
 =?utf-8?B?NURDUVh2SHRlRkdBemZVOVMxbUJxbWxzRzJrYkZ0d0JzMzZpUjRneU9kUVFV?=
 =?utf-8?B?akd1bFdETWM1S0tEa1dQYnRuVklQenZlR2FqVks1Q1NxTlkzeFE2Qkg1NmRy?=
 =?utf-8?B?V2luS0wzellDQi84QXEvWGdzVWFYYUQyZDFFUlRjWmdYbGRJRm5wOGF1SlVX?=
 =?utf-8?B?UUNsZk1ZYVpVVERMazFERVVTKzFESno1YUprRDFwRC9jUGVlYjdiazdKL0ty?=
 =?utf-8?B?WkJnZUIzNG1vVzIwZXpPNm93RjBDeEtNbE9TQTJHK1hkZVFNei9UZUthT3V5?=
 =?utf-8?B?TFFHQ3BLTHZIT2srRXo5YVIyZHpWdTNBSGlNeGZnaTNhN0RtUUhWakMzZ25B?=
 =?utf-8?B?Tk00Mzd4Qmc0US9rdHhHbVNwZWMwdXhxNUhTTVMwbVR5VXp6eldFZEU3S25y?=
 =?utf-8?B?Q2pvMU9zNGZPM0FqRGxaZzNEMUF3WjFZYTdIcktXZ3NiZVdyQWhidGpiNWgy?=
 =?utf-8?B?VUtzTjNhZ0lVMElyeHJMb3UzSHRxUTJBd0cwZnp4RzVsWS9MUitocDdjSUVw?=
 =?utf-8?B?ZCtxR2FkN0hLT1kxZGM5UFA3RjAxL0g3Y2JtOEQzdVh4T2MvcnB5QXZOR1JQ?=
 =?utf-8?B?d1hjWVZEVGdPb1FiRVhNOU9DS1JXSDZlU3VrNW41Vi9ZZGFGWmJ4bm56Kzhq?=
 =?utf-8?B?cmJkaHJ5NTdXREE5ek81RkJ6djJZTG5ON29NMzhLRFUrQ1V2VlhoZkNOUTVa?=
 =?utf-8?B?T0NweVRURHhKekNRam9US3I0b2d5eHlQNml5YVI5MkhkOFByVU8rSWdUckIv?=
 =?utf-8?B?RjkwMUtUZzhVREtKWnp4ZHA2NDBzZnk2NElPcnYwcnl3ZEkxOUZub2lRZ0pE?=
 =?utf-8?B?NFdKNU5tbVE2TGVtZUVtMUl0NElOWXBJNy9rb0lkOGwyeUxEc1lxVWtUc3Nk?=
 =?utf-8?B?WDlwL2VLQ3JDOFJOVFo3R2pHblBQN0ZaRUk4czRtV01iNXo1V2tLTXllOURK?=
 =?utf-8?B?NjYwVXRiS1dWbEVrclBOOFFzbzBUa0VXTmFLR01YYldLZFZwdjcyV25MM3V0?=
 =?utf-8?B?akRiRWdxcFRUTTlIR2tKYnpNcmRJdFpGNUZma2owYzg0djQ2Rk1sNlplRkJv?=
 =?utf-8?B?aCthOHpNM3hsMzVaUjd2Yk42NExvSmFXOCtUQjBTTHBkOXpaaHArVXpCVGo5?=
 =?utf-8?B?cVJYMzRGNmppcGtRSUxTcDgxOFVad0E0ZWJYY0NTbXZHcVZvYWlpYXVKYkhr?=
 =?utf-8?B?OFBIWjF6MDVMaytVeXUrZlpGTzV1NitKSEF5VFNTOTBJMURUTTRuZ2tLbWwv?=
 =?utf-8?B?Wms3aGpYNTJUdTY5R0IzVGErRG1rOFp6SG5OVkVVTjN3dUJNMnAydzUvQW1Y?=
 =?utf-8?B?eTBMaTRFSmxlMFZMRUg2WFc2Z04zSGxKR3kwbTJ0bDJvMFRQZ2oxR0N0VHF6?=
 =?utf-8?B?UlJ5MER2NzBlRGNwbzJDNXpZUnQxc28rUU1TYWpiN21OK2QxUTMvSFp5Y1p1?=
 =?utf-8?B?R1ZJd0RaYVdHdFgrWCt2VVNMNlFoZnFTWWZPU2hOMW8vMEY0U1lFdU9EcWhO?=
 =?utf-8?B?cTIzT1hjQnlRTVdSOVQzNkFENWFybFVFcHZONWE0b3RZV2d6anVSQytxZ1c5?=
 =?utf-8?B?a3hUeFNqN2VYSTRpT05PdkE0anBHZ0lhcmZRWlozRzhoSUFLTjQ0VjJ0Znhl?=
 =?utf-8?B?YndRRmhnaDFoYW4yUFZZblhSU21meDZ5Um04aHRrTkhnMXJjQzFicCtIMHps?=
 =?utf-8?Q?T2Zf6/+mV/thmCW2cjre2Q3lv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d96799fa-a603-413d-c9f8-08db29327646
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 11:01:31.3761
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6xCk4e80XyAAHUJdDugNfPYb6PM96loXQNB0wq/363XDE+s8OW8biK2ZCFo3lg36hggiYpNFshy3246wWJOvkw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9582

On 17.03.2023 13:01, Dmitry Isaykin wrote:
> --- a/xen/arch/x86/hvm/monitor.c
> +++ b/xen/arch/x86/hvm/monitor.c
> @@ -346,6 +346,27 @@ int hvm_monitor_vmexit(unsigned long exit_reason,
>      return monitor_traps(curr, ad->monitor.vmexit_sync, &req);
>  }
>  
> +int hvm_monitor_io(uint16_t port, unsigned int bytes,

Please avoid the use of fixed-width types where not really necessary. See
./CODING_STYLE.

> +                   int dir, bool string_ins)

"ins" is an ambiguous abbreviation, even more so when anyway talking about
x86'es I/O instructions. You might consider simply omitting the suffix, or
alternatively I'd like to ask for "insn" (my preference) or "instr".

> +{
> +    struct vcpu *curr = current;
> +    struct arch_domain *ad = &curr->domain->arch;
> +    vm_event_request_t req = {};
> +
> +    if ( !ad->monitor.io_enabled )
> +        return 0;
> +
> +    req.reason = VM_EVENT_REASON_IO_INSTRUCTION;
> +    req.u.io.data_size = bytes;
> +    req.u.io.port = port;
> +    req.u.io.dir = dir;
> +    req.u.io.string_ins = string_ins;

Having these be the variable's initializer would probably be more in line
with what we do elsewhere, including in many cases right in this same
source file (yet sadly it's not really consistent).

> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -4560,7 +4560,24 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>          break;
>  
>      case EXIT_REASON_IO_INSTRUCTION:
> +    {
> +        uint16_t port;
> +        int bytes, dir;

Since you move it, "bytes" wants to be "unsigned int" (together with "port").
At which point "dir" ...

> +        bool string_ins;
> +        int rc;

... can share a declaration with "rc".

>          __vmread(EXIT_QUALIFICATION, &exit_qualification);
> +
> +        port = (exit_qualification >> 16) & 0xFFFF;
> +        bytes = (exit_qualification & 0x07) + 1;
> +        dir = (exit_qualification & 0x08) ? IOREQ_READ : IOREQ_WRITE;
> +        string_ins = (exit_qualification & 0x10);
> +        rc = hvm_monitor_io(port, bytes, dir, string_ins);
> +        if ( rc < 0 )
> +            goto exit_and_crash;
> +        if ( rc )
> +            break;
> +
>          if ( exit_qualification & 0x10 )

Please either use the new local variable here then as well, or omit it
in favor of using the same expression in the other function call.

> --- a/xen/include/public/vm_event.h
> +++ b/xen/include/public/vm_event.h
> @@ -160,6 +160,8 @@
>  #define VM_EVENT_REASON_EMUL_UNIMPLEMENTED      14
>  /* VMEXIT */
>  #define VM_EVENT_REASON_VMEXIT                  15
> +/* IN/OUT Instruction executed */
> +#define VM_EVENT_REASON_IO_INSTRUCTION          16
>  
>  /* Supported values for the vm_event_write_ctrlreg index. */
>  #define VM_EVENT_X86_CR0    0
> @@ -388,6 +390,13 @@ struct vm_event_vmexit {
>      } arch;
>  };
>  
> +struct vm_event_io {
> +    uint32_t data_size;
> +    uint16_t port;
> +    uint8_t  dir; /* IOREQ_READ or IOREQ_WRITE */

Are you actually sure you want to tie the vm-event interface to the ioreq
one (this is also a question to you, Tamas)? It would look slightly better
to me if this was a simple boolean named after its purpose (e.g. "write"
or "out" when it's meant to be set for OUT / OUTS and clear for IN / INS).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 11:02:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 11:02:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511837.791142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peDHS-00038D-0z; Mon, 20 Mar 2023 11:02:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511837.791142; Mon, 20 Mar 2023 11: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 1peDHR-000386-UT; Mon, 20 Mar 2023 11:02:21 +0000
Received: by outflank-mailman (input) for mailman id 511837;
 Mon, 20 Mar 2023 11:02: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=xqGy=7M=citrix.com=prvs=436e66757=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1peDHQ-00032W-Rt
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 11:02:21 +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 ac27f57d-c70e-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 12:02:18 +0100 (CET)
Received: from mail-co1nam11lp2170.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Mar 2023 07:02:10 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH7PR03MB7164.namprd03.prod.outlook.com (2603:10b6:510:2bc::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 11:02:05 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 11:02: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: ac27f57d-c70e-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679310138;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=7q8TQ0KDICC1wvo/eO3paUQQa7QBuO/fc6sY7XqlT24=;
  b=cNU1Qb99sdPBWrGisvwo1y13jcaM8ucFMILIY7N5V/cGFRqW/vDof4PE
   vrJO+hirHbSQDweAHPn+TmTGw/GVoR1dG+vSD1GzJ7m5cNvjejzRULzeh
   8uDU6sL/pBNZkTFmIVPqWHC2qDJFUC1b/ocEEBA0vxmO/qZRlUQnvCxUW
   Q=;
X-IronPort-RemoteIP: 104.47.56.170
X-IronPort-MID: 101430302
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:bKx1Lq5R0gntHo3UoutYBwxRtA3GchMFZxGqfqrLsTDasY5as4F+v
 mJOXGzUMvvYMGTweIp0bdyx9koE756Dn9EwTFNtq3g2Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasS7QeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m+
 +M8BywrTh26u/us6q3rVtJqt/wJBZy+VG8fkikIITDxK98DGMmGaIKToNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Okkooj+CF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtKTeHjrqUy2jV/wEQYVCQvWguy4sCjpUTiW9l2D
 FMPpigX+P1aGEuDC4OVsweDiGKNtR4NXNxnHPA8wB6AwOzY7m6xBGIJUzpAY9wOr9ItSHoh0
 Vrht8PkA3ljvaOYTVqZ96yItnWiNC4NN2gAaCQYCwwf7LHeTJobixvOSpNoF/ezh9isQDXom
 WnV9G45mqkZitMN2+Oj51fbjjmwp5/PCAko+gHQWWHj5QR8DGK4W7GVBZHgxa4oBO6kopOp4
 xDoR+D2ADgyMKyw
IronPort-HdrOrdr: A9a23:a7uK+alfQ++rXi/jqchSpxobO83pDfLa3DAbv31ZSRFFG/Fw9/
 rCoB3U73/JYVcqKRcdcLW7UpVoLkmyyXcY2+cs1PKZLWvbUQiTXeZfBOnZsl7d8kTFn4Yw6U
 4jSdkaNDSZNzNHZK3BkW2F+rgboeVu8MqT9JjjJ3UGd3AVV0m3hT0JezpyESdNNXl77YJSLu
 vk2iLezQDQBEj+aK6AdwE4dtmGnfLnvrT8byULAhY2gTP+8Q9BuNbBYmOlNg51aUI0/Ysf
X-IronPort-AV: E=Sophos;i="5.98,274,1673931600"; 
   d="scan'208";a="101430302"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i+UwL/hbqomy0eMD4rKsIaWLcVKLhz2NCzhneUClw2AXNGSHZx6zE6uoMFzhEHuBdI/ao3Bw/wCDBgCZI3wS3ornBk96/cIa0t98CVi077GjsseoUe+qu1c4bKb8GNHW0aSujZaAzOQvnKCkDNAHEAUYQo8NJul4JACAl6ifNbiyH8WrfAB/PP2v4qnhwmXVY+hRtuVSOkwkvawj+lsOvfwQoN/dH/ylfF/szC1mbGByHccASuVPZ/3uDwCGLqUXbYEXpkRu7VExnmLoYfPt9mr9skXKGWHy/c55xRZE8Gxt+3QtMC2BYNXAzwfI+ARh9t1CDzH3JjRdmFCZSrWYNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9Orf+qOwSz55MPGPt3DUltn/Toai+QGiG2RTqGnomBE=;
 b=MxIsTFFH9OQYKw0z34IK5blhv7FDAhoq9ZTPMrzpdNm1N+I0bSsKEIuhMpHD8sg2N1QD7blnME1S/Y7hGunUsGbsv1PvZXL0a/Xbql01PSdPG/HQMy2sbQ3zCmthOJTUGde67o4f1kap6YJnPL1pJfgWBU5xntm42QReKVXmWWIxEuAKlwJleT51JO/ouqDzrW6icFtQCMoG6jOgJlR9EKaaDZFUlQnLECM+oFS1aprpEQt2zrDmREYr4hYRsM2FEpbN6U7BSfgfzaeRtw+F0+KJMotUER3Zc2g0nM6le/IzK4VI+k6NWRlZKmz8amCJy/Pz+tr06yP0boPWhGkecA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9Orf+qOwSz55MPGPt3DUltn/Toai+QGiG2RTqGnomBE=;
 b=cjiznj3NzaU/vKQuTS4YKNsNTkCEgTSMsR7N/Q09elfHTVVyMG2VgeHglCGLTkyR49jfBBlYe6mKX6m0OlE4TLnJLVBHxg+f0K3NJFlETJYotpnwRUs+qmFDC382OEFB6PDFrM/1nmGldWQd+Z7RpxpLmcQHWseeMk+HDw4+VzM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f68e2621-2858-38b2-f989-32178e9f5ab2@citrix.com>
Date: Mon, 20 Mar 2023 11:01:58 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: Aw: Re: Re: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera,
 regression from Xen 4.0.1
Content-Language: en-GB
To: Denis <tachyon_gun@web.de>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
 <e5a4689e-27e1-6992-65f8-c59b669aeaf1@citrix.com>
 <trinity-b7bc2797-26a7-455a-8080-8d33234171c9-1679254738309@3c-app-webde-bap20>
In-Reply-To: <trinity-b7bc2797-26a7-455a-8080-8d33234171c9-1679254738309@3c-app-webde-bap20>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0673.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:351::8) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH7PR03MB7164:EE_
X-MS-Office365-Filtering-Correlation-Id: 18efebac-8e95-45ba-f636-08db29328793
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nFkOKAeF8OUwNEFz+6xCoorQXsOV0KQqX7XZxL0Rg5k4kyO1acP4vlzpt/WRH6OJiTXZUdygIzgMJAc+aMuRz1oSIpbGkJ2qnIa5Wstad187U4Ccw2hFM/KFyR/QbvcI8fymtvjbRCuOyyAf+Aew+Aw7/wd2t47QOBI+jNlCjbsK+uf5LKCzZcztVfyOVmuyOIsONJZclgxhBp+a83i7ILwwlSIzFK3eWRPhY4AMY0JWiwaRke/x97FLknJXgaPqa2451cUoHxekdb4pI9WbTyNlq6mFND6P4EhyvrPL9VO6mTRNsaYaO/AcSz+mnT40d34GjX5zL15n9SBqw1D9qK5WSKn5h3nezAFkKCM+GUI+varwfIQ5PU3wxmw/9o7JFlXx5b79mxOnhhRi2uh1iumN5oPg7EUG37UM4IcMiQiLb9rO1c2dI4fmuFP1wqpGfLObnsTG9K+MNTcVi49hgvh7DKDBxIHY6a0FyZTHn8LTeibhs74CwEN9uorAXinTVP29NlXcUjHsUkIPt/aJXm6YKeNwUj//NmcaquVVW1ZmySBC+Ckh8dqnJHybx5yoaUKhKNgZ7gPa3omSogW4pzLzr5EyiYELqySsphp6llevGWUtYRB7Do5G/eI3LY+T2bOV1rWZzRXibpwzZ2uizhE5LAK6R2qaGGwRoEGSSdIOSp/lmQ6XUN89Q4g3HTQ0xg5dlc13LA/aWPH4dedhS/MSMizeum/yWBINJF90Ghc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(366004)(346002)(136003)(396003)(376002)(451199018)(83380400001)(2616005)(86362001)(38100700002)(31696002)(66476007)(4326008)(66556008)(82960400001)(36756003)(8676002)(41300700001)(6916009)(66946007)(8936002)(2906002)(5660300002)(53546011)(6506007)(186003)(26005)(316002)(478600001)(6512007)(6486002)(54906003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dWh6RFFESmFDVlMraHduVXJ1TE1IeUZCdlhWQnY5cWJlRFJyUkE5QjBkR28y?=
 =?utf-8?B?NHRyRVhnNGRLSlpBN0NFQy9Hc3M5SDd3ekRISjNTbU1xQ2Y4cWU3WklKRWdt?=
 =?utf-8?B?Z1c3REpYNkg2MHZzNWI1anFmUHVSRWJQRUpGQmxCY2d2UjdMK3l0YjZsbXFy?=
 =?utf-8?B?MStvUWMrV29GblRnVWR6S0N5NGxLODVlQWxDNHpHZ1BuYkgwM3p2MUk3bXRa?=
 =?utf-8?B?a2lJemcxTUV0MlpoQ0lRNkp6cDFidngzc0Y4VTFpZ1dBWHM2b0ZKRzlsclFw?=
 =?utf-8?B?ZFVnNjF1OEE1R2lRdVVseUJ5eCtOc2R0L2M1UEFwSXZBY3dOaUpNbGtndENF?=
 =?utf-8?B?cUszTGhWMnFOdDhlUG1CRDRnODVpdGVURkxXa2g5SDA4UWxoVnMyRXdnbCs0?=
 =?utf-8?B?SkprQ01XWGc0aVFzclBuVHl1SFpyOGIwUlZ1NEU1SW5sVDluTlpPQVl1NU9V?=
 =?utf-8?B?aUo4Y0MxSXZlSzlpbTVHS3ZzQWRiNHhaV0FWQ2ZNdThzaUlmUjdKT2tReWp1?=
 =?utf-8?B?d0JpSEU0WkpTdWZoREloelEyT2dHeDFxNVArZlJLeVpDWCtiMU1YbFZsSWM2?=
 =?utf-8?B?aExkaFk2U2NEZ1pWMFdHQ3ZiTkpEaFBvNkY5dlhCNnVUVG4zWVRMdDdYd0Ez?=
 =?utf-8?B?MVYxMVVPV2t0OTF0RnlOamh4clZ3dW9RMUtHWmllVFpZRE9DRzdrYjVSVy9Q?=
 =?utf-8?B?aDJnQWJDUTdZK214N3NjRWRWRHNqYWVUc2VPeUMrZTVWbkhIeWw0bW95RHRO?=
 =?utf-8?B?am1WZ3A0blJ3em9la3d4WXY3cTQ0dURKUkRuZTgvMGpscWxKZHV5dHlOWFpz?=
 =?utf-8?B?V20rY2Q4SEVneTFuem9oVCtFcmZ3bHpJZkVWUTJMRWVMR2Q1UkR4V3V5akds?=
 =?utf-8?B?NUQ3QUJLc2dibURNY0FJaXJDZ1drYmNGMUdYQzl6aEl5bHhmVlpVc1Y1bUI3?=
 =?utf-8?B?MWFFelp2YS9Ba0xLU1MvdHVodkkya0F5aC9Ocit1RFlQKy9LcjFnOXVJQVdY?=
 =?utf-8?B?OWtzQXJKTVVXOW5NQldjQWhNVisxVTJsbnZ1TmVjYkxTbDMyZHk3NXlpZ0lr?=
 =?utf-8?B?bkhaNHBmaHBhZEdJc1ZacFhVam0xQXFVbmcweEtZZ3oza05jZVJpTktrUE1N?=
 =?utf-8?B?dGFnSzN0YTZmMHlFeFpqOHdCU1ozdG00c0FoL1UwektFdUhKODl5VTBxWFdV?=
 =?utf-8?B?T2xuWGZFNVZTVFNOai9DNnE2Sk8yYlpDb2ZJMWlCUW9vbGlhNTZYeDZ4cktC?=
 =?utf-8?B?UDYxMDZsNHBFYTVIYnNrMTlEVXJkckdjR0JzNFE3bmZyTU5abno1KzM4aFhW?=
 =?utf-8?B?Q200MUM3bWd6UlJlL0xTNkoyUFRPL0szMERHOENpR0p1aG50N0VuM05GaWUr?=
 =?utf-8?B?OXVwVlE4V3FzYjlueEQ0YmN2dXhRRVp1SGZHSmtWV2VTVEQzSmR3cnErSzI5?=
 =?utf-8?B?TzZ2M1dxMHI1TElaYUNiMVl6emRuSi9WbU5HeldCU3JXTzFhWHRBWUpTeS9Q?=
 =?utf-8?B?UURkcWMvWWU4a2FSeU5HK1Jwc1lTMGdydW5tU2xkdkpjRHM3VGd2cHpvNEYv?=
 =?utf-8?B?dy8zUTNCeGdQK2xZdDY4TFU3eVdROW9BcVFSdWw4cHlWRS80TjVFaURFbXVa?=
 =?utf-8?B?NStoY2JIYS9PZkdWOGR1MWxMRVVCSlNKZFhaOUZwMFlPbGIzdmpPRUxLZ0Uy?=
 =?utf-8?B?VVNxR1hmeUlhM0Jna1NHL0FaeFAxY0VOWGthbmNPcnB5TFdzNzNCWG4rV0VJ?=
 =?utf-8?B?ZUpYWk5paXV6L3VlYnd6SEJSQU5PZFI2a1MvdmI0SGpHN3dOb05pdEY5OWRv?=
 =?utf-8?B?ZDFaTGt5SldJcWhla1E1czIyVkhIaExNdThwR2lqaEpsWmh2RkQ1VHBDRHgv?=
 =?utf-8?B?V1NGZDA2WjZjQ0JuOTJMenFVMkdTb0FKL1hwYjAybzFRd1pQMEVIbm94NHM1?=
 =?utf-8?B?NS9tSGNFc2k4RmtaQXo2cHliWDRsd2VKd0ZtN21rYVhjTTVER0Y1UldKRWRo?=
 =?utf-8?B?TzdhVVlvR3BXdytybW1xQWZWQlZsQjJFc1FwMm5BZHgwb0FseUMzMWRHV2M4?=
 =?utf-8?B?d3YrZUtIai9PLzBCcS93cjVocnFkbFJiZG8wa3BoNnM0T1pHbXhMSTh1TGRR?=
 =?utf-8?B?SzBERmNyZFhYT0pGb2NCcmVHY2ZWMksrNUs4aW92YVhnREZqVm1SaDk0Umhw?=
 =?utf-8?B?K2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	wLo/G9/NxVcSx8dumHlGvlzgr+MfsoqZqVBUjEuNW5HhNOxcEno5p95PlBi32im5Ly214pP2Vou61ia9LEiNWReHs1bP4sUA/+4E0mNa0cyanQmjIapWn1im82gy2kMj66mLs95pBhJ+El5D/brbXmj99HKQAJy8WAlZfXqDoI2ZRarBcUqPauX7TfSHnTHhTiO9mgUG9ikljK3KRwO7BKLND6ZIesJv5MkDuwmDOyOybRHHqvTgNKdtgPr4DWD8OZ7zfCcmRicpG3kVSY7S4Y2AKiLDf90WHv4g7qua8+2GRBNd0iu3UWJr8w/E+t2odzkMZ23nox98pQ2mH/KVByY5+M15/EBEuuop7oLocH2eHILlKe2Wis7z3TCysrn4P5yfVFbExzCxrOm7lmPk4BdE9WLTzOucFUXvplj0A+7EeDVdecm8vm28QvYSeZ4QfCzuIxe5cXJe2Lg7Ucw+xXfZ1ibTCq/a1B/QTd9oTPrgOsLgTmjl/MQk1CsNWFp6EePVqvGM5QWhVT2UgHhyYoCkIad2NcLcyGC8nTaawBFco2H3bw3e1BW/5UA/ZX8YtcAa+z7Xylkp4cJUK7TJZHsONX+Mcp97fsrZzgCe+WleVDeKToNwZoATqOTceWcVGIevkZ2ovUboHqAmDGEGwN7m/MtJfdHR3YhGGqRn2T8u5rMznkDB8XF/xcBaQmAwrhREJ8+QVPzc+aCPw4J6MWeMvkg1lEla893ZVIl+rTENatJBFMRDsSi9NmGODUJGfrFqFACDclblWzUwj/UF/K6Ipbtc3noRON+hdZCoUyK/Ea7wQhZIo/EyOX2EicDG
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 18efebac-8e95-45ba-f636-08db29328793
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 11:02:00.5593
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JH+L0zvG+AdHWryInFrtidoEq1aAQhaH5hK4h4fzBYxLF0mHUtl2Zfv3HroSM4pRzTx9VgEp0Uog3dXzRFcSdR0f7ExzGL1DHy4iOuXjiXw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7164

On 19/03/2023 7:38 pm, Denis wrote:
> On 14.03.2023 16:11, Andrew Cooper wrote:
>> On 14/03/2023 2:53 pm, Denis wrote:
>>> On 14.03.2023 07:37; Jan Beulich wrote:
>>>> On 14.03.2023 02:15, Denis wrote:
>>>>> On 13.03.2023 10:36, Jan wrote
>>>>>> On 10.03.2023 21:50, Denis wrote:
>>>>>>> Should I test something else?
>>>>>> ... there was no request for any further testing here, for the moment.
>>>>> ah...sorry, going by "Would be nice to have this confirmed forthe system
>>>>> in question, i.e. without Xen underneath Linux" I thought I could test
>>>>> something which might help shed some light on all of this.
>>>> Well, yes, that Linux-without-Xen test would still be useful to have
>>>> results from. I didn't account for this in my earlier reply because
>>>> I had asked for it before already, and I did take "something else"
>>>> for meaning anything that might have turned up as useful from the new
>>>> data you had provided.
>>> What tests could I do or what info should I provide to help?
>> Can you please rebuild Xen with this patch:
>>
>> diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c
>> b/xen/drivers/passthrough/amd/iommu_acpi.c
>> index 2fdebd2d74c9..747eae25f56c 100644
>> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
>> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
>> @@ -1033,7 +1033,7 @@ static int __init parse_ivrs_table(struct
>> acpi_table_header *table)
>>      const struct acpi_ivrs_header *ivrs_block;
>>      unsigned long length;
>>      unsigned int apic;
>> -    bool_t sb_ioapic = !iommu_intremap;
>> +    bool_t sb_ioapic = 1;
>>      int error = 0;
>>  
>>      BUG_ON(!table);
>>
>> which should cause the behaviour to revert back to that of Xen 4.0.1 
>> (i.e. it will fully ignore the checks relating to the southbridge ioapic).
>>
>> Confirm that with this, and booting Xen simply with `iommu=1` that full
>> DMA remapping and interrupt remapping is considered active.
>>
>>
>> Then, can you play around with passing the soundblaster through to VMs. 
>> Looking at the LSPCI you provided, it only supports legacy line interrupts.
>>
>> Does the device work fine, or do you get a bunch of errors on `xl dmesg`
>> about IO page faults (which is a generic "IOMMU said no to something"
>> message)?
> Sorry, it took my awhile to get it done.
>
> The relevant things are enabled again, passthrough works (even the PCI Audigy2) 
> and the devices are recognzied in the HVM domU.
>
> As you suspected, there are a few IO page faults at the end of the boot process
> (from my limited understanding it's maybe related to 
> "00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 41)")
>
> I'll attach the "xl dmesg" output file.

Do you have this file?

If they're only at the end of boot and not later around passthrough,
then they might be from other functionality in the Southbridge.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 11:08:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 11:08:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511842.791153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peDNH-0003uv-SS; Mon, 20 Mar 2023 11:08:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511842.791153; Mon, 20 Mar 2023 11: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 1peDNH-0003uo-Nt; Mon, 20 Mar 2023 11:08:23 +0000
Received: by outflank-mailman (input) for mailman id 511842;
 Mon, 20 Mar 2023 11: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=xkKL=7M=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1peDNG-0003ui-Pr
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 11:08:22 +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 86a3675f-c70f-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 12:08:21 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id v25so6462021wra.12
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 04:08:21 -0700 (PDT)
Received: from [192.168.25.227] (54-240-197-226.amazon.com. [54.240.197.226])
 by smtp.gmail.com with ESMTPSA id
 q14-20020a05600000ce00b002be505ab59asm8593307wrx.97.2023.03.20.04.08.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Mar 2023 04:08:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86a3675f-c70f-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679310501;
        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=RHLZ9hNwEsISJCMGi0AX2Dcq58mPz/ZQu0l4qDm1Cjc=;
        b=W1HgumVX+zNQtfwEzkD7tTQjwFuvuSMocX1FH1CTlGf17tvVbzKBTS0p/Wnkrg+bNx
         xZRZhi/i5Ao5WgezZ5l/GEdaqFzt7lteIoV24FUpVzglX6TMW1oN12/rrMMzcVXubefO
         rvvba+l7JXgqsHNM40RmYDvUS/hpLE/ExkT8f8iNLOyW58ZMf51izMu+yWiHMaLF1FO6
         DqgjadbSNkDqtxVGEsa1tiibfAVAeR4ZMPtCHGeR2VzQuKoFp97zL96RKR3Ze3xubiY+
         wazcbQsiwgX1e+zG3bzTRN2nTLHmWFwa1Y8WfASPJuUF0j4rQnR4GsqZY27GWNij3RQp
         eZ7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679310501;
        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=RHLZ9hNwEsISJCMGi0AX2Dcq58mPz/ZQu0l4qDm1Cjc=;
        b=vQP7RT3SjjgaUqojFcu+c+ugFG2CamgYUttMf5KyOb4QYyM6rz6w8wf6YQXqwrHRf6
         ThDFdvdDsoOCgpyXTW5B6hXGyvhDbPzF4brPHqABp5RNX0SDQ5TeS9mleRxj6K9njpMt
         RGZhQp/rkjM24Eef/3nsPBAxL5H/4LNmkS646i7RfSpHvsmOpZ9h2iIvah+ie75pp6E9
         ML7s35avTJhV1ArL6+bmSZLgULIctCSvlQDpX3yI9xKjgRPSxKqDUYQqJ3/EtsbUFS0Q
         Js21nzsJ/d64OzFXkMjG/m8q3Oq5uxfqBDi81nTgD0tXofNmAUh/t2dbWILbe594zzfr
         RaFQ==
X-Gm-Message-State: AO0yUKWcLBLaU0IJSHk8fQCgA2uhxfIAqK0hFXuUDdJqma8ahmZZD8Rc
	Hc14wQcCsgctND+GVm9UoL4=
X-Google-Smtp-Source: AK7set/MsycjgfVLnJE68cFBZQnuV9Kv+gktu9xw0UDYD00/F+Th8FmQWlCBnUe7xHGn/NYajv9nKg==
X-Received: by 2002:adf:fd42:0:b0:2d3:5a0e:3ed8 with SMTP id h2-20020adffd42000000b002d35a0e3ed8mr8560384wrs.52.1679310501136;
        Mon, 20 Mar 2023 04:08:21 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <1a6b96a0-0860-a4f3-a2ee-089b6605b406@xen.org>
Date: Mon, 20 Mar 2023 11:08:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Reply-To: paul@xen.org
Subject: Re: [PATCH] Fix PCI hotplug AML
To: Jan Beulich <jbeulich@suse.com>
Cc: David Woodhouse <dwmw2@infradead.org>, xen-devel@lists.xenproject.org
References: <16d19b45842d4f98f130c98628932eb2d62ffe72.camel@infradead.org>
 <2f1c2da9-ad21-cf4d-230e-b3e01658f25f@xen.org>
 <5ab7332d-f0ca-d803-38c0-4e0210df5eb9@suse.com>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <5ab7332d-f0ca-d803-38c0-4e0210df5eb9@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 20/03/2023 10:34, Jan Beulich wrote:
> On 20.03.2023 10:04, Paul Durrant wrote:
>> On 17/03/2023 10:32, David Woodhouse wrote:
>>> From: David Woodhouse <dwmw@amazon.co.uk>
>>>
>>> The emulated PIIX3 uses a nybble for the status of each PCI function,
>>> so the status for e.g. slot 0 functions 0 and 1 respectively can be
>>> read as (\_GPE.PH00 & 0x0F), and (\_GPE.PH00 >> 0x04).
>>>
>>> The AML that Xen gives to a guest gets the operand order for the odd-
>>> numbered functions the wrong way round, returning (0x04 >> \_GPE.PH00)
>>> instead.
>>>
>>> As far as I can tell, this was the wrong way round in Xen from the
>>> moment that PCI hotplug was first introduced in commit 83d82e6f35a8:
>>>
>>> +                    ShiftRight (0x4, \_GPE.PH00, Local1)
>>> +                    Return (Local1) /* IN status as the _STA */
>>>
>>> Or maybe there's bizarre AML operand ordering going on there, like
>>> Intel's wrong-way-round assembler, and it only broke later when it was
>>> changed to being generated?
>>>
>>> Either way, it's definitely wrong now, and instrumenting a Linux guest
>>> shows that it correctly sees _STA being 0x00 in function 0 of an empty
>>> slot, but then the loop in acpiphp_glue.c::get_slot_status() goes on to
>>> look at function 1 and sees that _STA evaluates to 0x04. Thus reporting
>>> an adapter is present in every slot in /sys/bus/pci/slots/*
>>>
>>> Quite why Linux wants to look for function 1 being physically present
>>> when function 0 isn't... I don't want to think about right now.
>>>
>>> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
>>> Fixes: 83d82e6f35a8 ("hvmloader: pass-through: multi-function PCI hot-plug")
>>> ---
>>> Utterly untested in Xen. Tested the same change in a different
>>> environment which is using precisely the *same* AML for guest
>>> compatibility.
>>>
>>
>> This AML only relates to the hotplug controller for qemu-trad so it's
>> unlikely anyone particularly cares any more. In fact I'm kind of
>> surprised the generation code still exists.
> 
> Why would it not exist anymore? Use of qemu-trad is deprecated and
> advised against, but it's still possible to use it. Otherwise quite a
> bit of cleanup in libxl could also happen, for example.
> 

Right. I'm just surprised that is not done already... seems like a while 
since trad was deprecated; I'd have thought it could be removed in the 
next release.

   Paul



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 11:14:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 11:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511845.791165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peDTO-0005Tt-Iw; Mon, 20 Mar 2023 11:14:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511845.791165; Mon, 20 Mar 2023 11:14:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peDTO-0005Tm-GH; Mon, 20 Mar 2023 11:14:42 +0000
Received: by outflank-mailman (input) for mailman id 511845;
 Mon, 20 Mar 2023 11:14: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=Jf3z=7M=citrix.com=prvs=43647449e=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1peDTM-0005Tf-Kv
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 11:14:40 +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 66b9c1b2-c710-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 12:14: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: 66b9c1b2-c710-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679310879;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=sTAe3McyHNVdg6rqu9zp8bqiSJlWqGMkWq+MLSrIMF0=;
  b=dO6yvffSbFvv6RviRTjwEm6dkMcnaoFUVKLP/hEIjVDlUMXSgkIIa7G9
   HbNTJBsQxpscludzhv5E3Srxt6m6PlPAIXTJy8BgdeA+/3NDQ2vZZoKRt
   4owCbiKEI7xH29FKTiZeLWGk7xYiXQ0U0CrVYYSk7w3HoNxHjdGHVpwXx
   o=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100323765
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:5N5hpKu/qy13RxVbtKXx62FbDufnVN1eMUV32f8akzHdYApBsoF/q
 tZmKTyCOKuPYmP1Ko1wPtzl9xkH7MXUn95rHlc/qi8xHiMQ+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASHxiFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwBhYCTBq5mt+P7LuRe7hhm58oM8XZFdZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfA5NU/rSn8/x7pX7WzRetFKSo7tx+2XJxRZ9+LPsLMDUapqBQsA9ckOw/
 zqepD6iXU9HXDCZ4QKnq3+KhsXppiP+Z4kqD6eF+ftAhULGkwT/DzVJDADm8JFVkHWWWNVZM
 UUYvDUvqasa81aiRd3wGRa/pRasoRo0S9dWVeog52ml0bHI6gyUAmwFSD9pa9E8ssIyAzsw2
 TehlsvkHzV1vJWJSHiW8fGfqjbaESMcN2MFaAcPRBEJ5NSlq4Y25jrUR9N+Harzkt30Ezjtx
 yyioS4lwrECishN0L+0lXjCiiipr4LETSY04BvWRWOv6g5lZI+jaJes4FKd5vFFRK6JQ1/Es
 HUalsy26OEVEYrLhCGLWP8KHryi+7CCKjK0qVJiGpgJ9jKz+mWid4Rd/DF/IkhyNs8OPzTuZ
 Sf7ux5V5ZJVFGuna+lweY3ZI8YgwLXkFN/lfuvJddcIaZ90HDJr5wk3OxTWhTq01hFxz+dmY
 8zznduQ4WgyJ4Jo7jCMWtok/bYB93Ez2DjYWpzJ5kHyuVaBX0J5WYvpIXPXML9otPnZ+FqFm
 zpMH5DUkksCCYUSdgGSqNdOdg5ScBDXELis86Rqmvi/zh2K8Y3LI9vY2vsfdoNshMy5fc+Yr
 yjmCie0JLcS7EAryDlmiVg5MtsDpb4l8RoG0dUEZD5EIUTPnK71tPtPH3fIQVXX3LM6lqMlJ
 xX0U86BHu5OWlz6xtjpVrGk9NYKXE3y1Wqz09+NPGBXk2hIG1aYpbcJv2LHqEEzM8ZAnZBu+
 +TwiFKDGcNrqsYLJJ++Vc9DBmiZ5RA18N+elWORSjWPUC0AKLRXFhE=
IronPort-HdrOrdr: A9a23:4musZKkwKVSsDL3rCzSljh/fCIvpDfIT3DAbv31ZSRFFG/FwWf
 re5cjztCWE8Ar5PUtLpTnuAtjkfZqxz+8W3WBVB8bAYOCEggqVxeNZnO/fKlTbckWUygce78
 ddmsNFebrN5DZB/KDHCcqDf+rIAuPrzEllv4jjJr5WIz1XVw==
X-IronPort-AV: E=Sophos;i="5.98,274,1673931600"; 
   d="scan'208";a="100323765"
Date: Mon, 20 Mar 2023 11:14:23 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Demi Marie Obenour <demi@invisiblethingslab.com>
CC: <xen-devel@lists.xenproject.org>, Marek
 =?iso-8859-1?Q?Marczykowski-G=F3recki?= <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>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Ross Lagerwall
	<ross.lagerwall@citrix.com>, Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH v5 0/5] Stop using insecure transports
Message-ID: <ccf4f624-356f-4498-9ae3-e4528b9e1901@perard>
References: <cover.1676750305.git.demi@invisiblethingslab.com>
 <cover.1677356813.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <cover.1677356813.git.demi@invisiblethingslab.com>

Hi,

I believe all the containers that needed to be updated in our GitLab CI
to be able to access HTTPS URLs have now been updated.

So I guess the series is good to go if it's reviewed.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 11:17:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 11:17:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511847.791176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peDW4-00064V-03; Mon, 20 Mar 2023 11:17:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511847.791176; Mon, 20 Mar 2023 11:17:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peDW3-00064O-T0; Mon, 20 Mar 2023 11:17:27 +0000
Received: by outflank-mailman (input) for mailman id 511847;
 Mon, 20 Mar 2023 11:17:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peDW1-00064H-TQ
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 11:17:25 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20611.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c9633957-c710-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 12:17:23 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB7125.eurprd04.prod.outlook.com (2603:10a6:20b:121::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 11:17:20 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 11: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: c9633957-c710-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lTN17KCBGDTxYqi1XAaFfmGkOHgfOhgrj4h+xQ0HsEVzptNr8/CuOI7/zaj+YW0IQXt+tazhxP7oKwa31Rtl9fUz7xJ0KICUIhzaPuP7S/Vdc7/he+CmqVfuz6WovV4RaUvdv03YKz2GtjZimwWceNnJz1yaxJxnH5i5HC/sWwTLOAzuoPe0uj/qiFDA9J91poDZ5xkoM83fj/n7k+nNR1bcb9k2QdGkV14eQ4UX8mBMtoj9H07BR+rYvNYl0CEz5JTXN0fq0yOHi46hKHlaEX29OvoZ+m9LcjJRgqsWYEciT8vqyTCkwhECU9eiDOoTvf3unTfSCkwtocmY1hqTXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WfpVXQ7J7Iuww+RURjNQiLuCfLLcPTUb9JN3Lnu6elk=;
 b=KMLlo4l8pU5r22fckN9xE0OCfrpe07EA9DkhaV9pCvitVJgOqrISRGa1U+kiHk5S20lBEVMvfKB7EvNRZcnosOBkm79CfSit6ULPKJSQx0ZgXTIST85ylH+NZFCfe5MLvxsZR3leAADLtH7FoFljo99cvvTzoOqmgxvIfcrF+Ih1xDwS/Tw9Nt6EkVikuDMSXu8545Pe6bKRhHZVA1PYMAAGHh7PqQhMz4ODilTg1Zr6/xH72Ap6dbSqaMRa29U+FCBfN/3c4SXeX20nefp3sqHaKuiTx0Y/E8nVcbgPjWJ4ikWLov6iA13Hr07UB9ubSpoiElPtm773e6fbEYbwmQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WfpVXQ7J7Iuww+RURjNQiLuCfLLcPTUb9JN3Lnu6elk=;
 b=hlj4HUQtOGNS34uvCnEXLwNVvVoycNAhb1PkCfDTFNCL0JK58MRuTSFqF+IgfQ8HYsvQm8kirmd0GBxgkcU3MI8O/tEexqkRFoRlrj+0289z0q4UwU8ynu1UtQl7xCnOpBcfssGWzRQg7sq+lO2nbNo8ZgJt7wKwZpOkWqoK6vjqN6giskA9QRASgLIUoqdzLaGUvJOeCzKPmepboJCJsSe7DXUXoo140l/RL0YKUI0q+xisHAynzeRnTmQEbqejjDVrhDAj0BY3hSlkMcJ4JG5NSNWFKiUtszZ0v0YnlzTn0Y/VaBdyxAK7JIRLVVAmU4Ab2LVvb9y/sc25ZW/ClQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <39426526-c576-e3e3-4cb2-d3741d447bdd@suse.com>
Date: Mon, 20 Mar 2023 12:17:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3] xen/console: Skip switching serial input to non
 existing domains
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.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: <20230320081935.18367-1-michal.orzel@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230320081935.18367-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0194.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7125:EE_
X-MS-Office365-Filtering-Correlation-Id: 43c42250-ee45-4b02-5ba3-08db2934a99c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	W4mkcPEblBjppZP5RjLIeaSbeqQIvg8iAYl0NzyZsXSo0EHyszdnyL9YcMd6d5Q6bL+i6WDp5wwv5gwQP0KxZ5YOgTSQyVibyc9v2DRHVvzXV+1tG6TBP2HYJIWcVcpPa8GqlLKxGY9Xm8LwC14flRtS8AXTwM9xjT/w5cFZb4rMoxzzDUlb4gv2ES4Nu8nptLuWjROklo8A9Dgi8ooPz/mQEVOOGBXJwEdmKtmBMdb0Gl51bY7vnou6HvQ/jW7EnqHk9xgzXxCuVKTGOj7zKYioFWOKz+L7W9PZ84EatMTTVuKq3NM5mWHV5Pev3eBbKsaV7JdVOXg41F81mpWKtPRiy7LeaF4CCPqLS59Y0kTKVe7Y+FTJkA5CCMXWy2zlEZdrZd2s3MgQGY/NiAQrKXtOQWsLfDP1i1p8HDHHkdpcPH8AIJYovFy0gzw031aLWzELAor9KJM6ehUoCmplqO5a7M1GurU+ahKXbxWgHxzM4lyko/1p9V1pnSI6+1Yd8uIW847/Gm+bgUe8I0VAwsvrKyBgTLdZnwH3VW9kscMvZTWkHg3aizYzKt0l0S4y9nYucyk2hi97WBsnTp4e6U7sh2pewPJvlNNkASKVvH6Gq0QJOk0LcfmfJPmkly8U01ea4vg9MUx116jm8lMwgxMuTAAx0NDqyjG23E5oo3VZ3Il8aP62ragyzrcXtlu6Db3R8O5LEIEnngaMNy8AQC+Qw9CR3UkboZrG8nEFEcI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39850400004)(396003)(376002)(346002)(366004)(136003)(451199018)(31686004)(2616005)(83380400001)(478600001)(316002)(54906003)(6486002)(6512007)(6506007)(53546011)(6666004)(26005)(186003)(31696002)(86362001)(38100700002)(2906002)(5660300002)(66946007)(8936002)(6916009)(66476007)(4326008)(8676002)(66556008)(41300700001)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M3lLVldFakJkeUZnbU9zcUFFOGl3NzhYSzIvSUdqOEEvR0R6VDQ1VFlPZ09D?=
 =?utf-8?B?YjNkNlRJNzQ0bVNEb0Q1eVZrdUhRNGxSUDNIRHdTbm1EWjRQVnpuOFVXUHpu?=
 =?utf-8?B?bmtFeFVKU3dzYXQvckxpTGs4UW1XQjZoZ3dUVjFjNGQwd1Q0OXJoWWlxbHY1?=
 =?utf-8?B?bWk5QjJmaDZOR3pFY2hsVnluWDZoSkJZU3BaMGF1azZXc1B4c042azVpWmRI?=
 =?utf-8?B?cU92SmxWSmpzTTl1STRzUGs1Mzh0Z1k3SXJyelBoTGVpb3FpTnFMVXJKL0Y1?=
 =?utf-8?B?aVpmMmVuMlJGZFpvWk9rb0s3OCtJaWZuRm5POEw1WUp5SlExZGRFb2FaZjlP?=
 =?utf-8?B?OWdBRmh3NittWEo1NEdHU1ZTZGNxekMyaEk0OVNKdDlmRG1jNkRqZ3pLeDZL?=
 =?utf-8?B?Ump5MHNQWC9adlkrMzZBdjJUMmZWTFBwR0k4VXVMR1ZZWG1Rdjdhd3o5QUw1?=
 =?utf-8?B?RDF3MHZQbzZ5Z3NKenJlUDI0Si9ySTc0Zk1vMHJhb2tCakEvekxnblV4aGMr?=
 =?utf-8?B?WFVsZ3VlVmxHZzJYZlMxUTdJb21TVnRsKzZHVnUyOXlXK2hpbUNGazFEVm1t?=
 =?utf-8?B?cERTUE81bmdjRnRYRy9uSmNQR0k5U2Y3RXlzbDlwU3JlcXBzMzEzZWltbXFV?=
 =?utf-8?B?YjBxanpLQm9ZenpsNTV5MFBqZktsY0xoc2lRNjhHT25yVFFPM3BvemYvbTlu?=
 =?utf-8?B?RWQ3TlJJRFh4NW0ydHBveVVkcEZJd3ozQ1lGR0ZhNElVck5CWTJFRFRRaytX?=
 =?utf-8?B?aERSbVB4QzBZWUxjTnhYZUxRbkhrTGtrenptRGQwalowTHU3Z0NPSUVYdnpR?=
 =?utf-8?B?NUtWYnBiUmpFc01vZjBUM2pRMkE0NUtVMVhwazgxcG1Zd1d1TzcwNldUemVT?=
 =?utf-8?B?aEoxYWZyMVcvdHRDNExlUG9tNEwrOVRMcVhCYWVDa3JIcHVMMERXckZFZW1l?=
 =?utf-8?B?VU5nTkRGczJiWkFpZnZoS2k0YXBwVWw4KzhoSUhSNUhoRmY2Z2h4L0g1U2hn?=
 =?utf-8?B?dmQ1RjlwanUrTGVTZEIwWVpKZkUvTHI1cHFrbDZRb0VVYWlaeEd1cGdCbEpi?=
 =?utf-8?B?a0s0d0xtSFlZaW1ibDRYdlViallqeERWdkNrVW1Hak9ndFd4T3RVS1lPbmtT?=
 =?utf-8?B?NEUvV09RMXE1WWV1ZkUxb1pNRmg4aUJSSFpTcEprYVB0Ymk5VTB6N0hSdEUy?=
 =?utf-8?B?UEF1YUhvOHBxLzhZSTJ0b3FBcFliVWRNZFc0K2hXeUh0UUdtQnVRYUd3YzFJ?=
 =?utf-8?B?VVhXQ0lDTjFMQlIrUkxEZ1FnM1lEOXczQklJeGZ2Q1JvNDVvRkwzRFJqNmk4?=
 =?utf-8?B?TnhVQUgvUE9GbGdKU1l5Z1hRaVhneExIcmFsamVuWWNpU1pBWkMxSFlTR1Ix?=
 =?utf-8?B?aU9Ia1dDVDkwMmRkQmoyZjFEWm5BTlFOSXo4QUtzdDFKQWVqUXBmalJaVWZ2?=
 =?utf-8?B?bFJlWjdpYlNyM3hVYlVwZHBhNEUzQ1RPc3Iyd1dOT0swOFlXOVpvTGRValZx?=
 =?utf-8?B?YXQ1TWhRa2ozcHVHb2dyVXM0ZnhYMGRnRE1QckhnNCt0QklUbjFCS2hKWEJk?=
 =?utf-8?B?OXl4WXhYVWNvVDMwN1ZxWEkxMC9qUTB2TjNwWmVDbTExR0g3dTN5ZVlRRXQr?=
 =?utf-8?B?QlBrN1daV2NvNUh3RjFmUCtvMHQ4SS9ybk1vUFV0a3VwNnhoRzVFMzJ3dHVD?=
 =?utf-8?B?T09mQzd1bWVzNEdtV20xR2NjRTlPNHB6bk9ZTElnbmt2bUpEUHpFQTRWVnF4?=
 =?utf-8?B?K1pzNjNxTEVGanhWVEM2V1c2Z1Q2SG8zTlZ3MWFwVHdkbnd1SFZhaHZuNzRu?=
 =?utf-8?B?TEhmL2hlRHFVV1BtVXdUaGlDcmUvL2FVUm85akh2R0RreGxUSEdQa25jb3hx?=
 =?utf-8?B?am0zbUZvQUVvUjRlUSs1VG1YVUlvdW4yWWdXMzJtaFRuODZIcDVTTTh5R2Z5?=
 =?utf-8?B?MUtQbG1RZEQxWDdZQnZmdW92K3hudzRPSGc0Q0JJbkQ5OVZRU21YU0lqTzBS?=
 =?utf-8?B?NTdJVEwwbFBYR1JrTUZwRUhvcjdvRTA5Rk5vNGl0RzR3UllPZ1VCemhtT3py?=
 =?utf-8?B?cjcwZTZhTHYwSHVyZVJUZ3lhL245ZGpDZmd0V1o2U0ErTWRSNEFFeWtRV2dO?=
 =?utf-8?Q?YW5cxFBvcV9Q0UIXS664cu/+E?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 43c42250-ee45-4b02-5ba3-08db2934a99c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 11:17:16.4941
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rZbI83fZ80WQNmUboBKVFui8kG3HqeoBpPFdz9pLcngf/nBUR+RRaEQheV/BhnC/biM+Kd3s0e5ZUhm1+7O/TQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7125

On 20.03.2023 09:19, Michal Orzel wrote:
> @@ -483,15 +485,34 @@ struct domain *console_input_domain(void)
>  
>  static void switch_serial_input(void)
>  {
> -    if ( console_rx == max_init_domid + 1 )
> -    {
> -        console_rx = 0;
> -        printk("*** Serial input to Xen");
> -    }
> -    else
> +    unsigned int next_rx = console_rx + 1;
> +
> +    /*
> +     * Rotate among Xen, dom0 and boot-time created domUs while skipping
> +     * switching serial input to non existing domains.
> +     */
> +    while ( next_rx <= max_console_rx + 1 )
>      {
> -        console_rx++;
> -        printk("*** Serial input to DOM%d", console_rx - 1);
> +        if ( next_rx == max_console_rx + 1 )

Part of the earlier problems stemmed from the comparison being == here.
Could I talk you into using >= instead?

> +        {
> +            console_rx = 0;
> +            printk("*** Serial input to Xen");
> +            break;
> +        }
> +        else

No need for "else" after "break" (or alike). Omitting it will not only
decrease indentation, but also make more visible that the earlier if()
won't "fall through".

> +        {
> +            struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
> +
> +            if ( d )
> +            {
> +                rcu_unlock_domain(d);
> +                console_rx = next_rx;
> +                printk("*** Serial input to DOM%d", console_rx - 1);

While I expect the compiler will transform this to using "next_rx"
here anyway, I think it would be nice if it was written like this
right away.

Since you touch the printk() anyway, please also switch to using the
more applicable %u.

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

One other transformation for you to consider is to switch to a base
layout like

    unsigned int next_rx = console_rx;
    while ( next_rx++ <= max_console_rx )
    {
        ...
    }

i.e. without a separate increment at the bottom of the loop. Which,
now that I've spelled it out, raises the question of why the outer
loop needs a condition in the first place (because as written above
it clearly is always true). So perhaps better (and more directly
showing what's going on)

    unsigned int next_rx = console_rx;
    for ( ; ; )
    {
        if ( next_rx++ >= max_console_rx )
        ...
    }

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 11:28:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 11:28:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511850.791189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peDge-0007gh-W3; Mon, 20 Mar 2023 11:28:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511850.791189; Mon, 20 Mar 2023 11: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 1peDge-0007ga-TI; Mon, 20 Mar 2023 11:28:24 +0000
Received: by outflank-mailman (input) for mailman id 511850;
 Mon, 20 Mar 2023 11:28: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=noC+=7M=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1peDgd-0007gU-QD
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 11:28:23 +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 510a2822-c712-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 12:28:20 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id s8so14172791lfr.8
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 04:28:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 510a2822-c712-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1679311700;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=/gvYXIxK9olQJqfA8fmzmbRTg/ZgyuDXSPV7ialyW3Y=;
        b=NtAwJo/NF6WZooaQ1t+QjtBqDWZeomFZ9jKvNqyqaumq05gVVMt6ELQc5R8QZtEyS3
         BzQHbtcGl7XcvQUz7LLhUdTSnwAFdDdryPeHnkBhS8ylmmJz+fC+w3rLEkxKV+fs0qRh
         JRKTNwQoYLcLEU4ZiKsQ/28cm3/iQ5PILWJEc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679311700;
        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=/gvYXIxK9olQJqfA8fmzmbRTg/ZgyuDXSPV7ialyW3Y=;
        b=jxKMES3LKyWAHiyT0kxbV8Iy3HC7NqD0BpbUAsui1Axkti/JHfAm3lazcRFr05WMmz
         5WyoaCYFOKOfT+x9iKzBK/djXfMYOvVaRvgicPNf1ccwl4CQS6XSURSRzl/0ztz5iUMv
         IKDf6brdg+YLDM1ixpJP//pLM4qaipnGg/JisbHy1HqFpfpPbSm2lP41lt15hbVTS+Eb
         7pw5e2ZdOyPNFL26rv2tp8dFJV8YPIReP121hT/oodq7G7N+zWzQirrVXmr+uzs4OV9B
         cR4jBy4fzT+0EBPG1xTTe1zksTr4UXP/gb1uMCVhfIwItYWSuv2W1kFLQlq/+Fus+1gM
         RTdw==
X-Gm-Message-State: AO0yUKWK1bpK2lTPXsghrebMinM5+5VRLPfe+leXF9z22Hen20Jze5RA
	MmYq7XsVcmHi6HeUJtWX4v+fYymDMR09xxLE/IVfKA==
X-Google-Smtp-Source: AK7set/T7NjIqnE1kMTjtiVhxKYj2R/1VOC/iDJa6hr/BKnLuLCnZAIenf0ahEjx+X12RLbtOkNCjrXVa1dJQ44bu0g=
X-Received: by 2002:ac2:4a6e:0:b0:4db:266c:4338 with SMTP id
 q14-20020ac24a6e000000b004db266c4338mr6952305lfp.1.1679311699770; Mon, 20 Mar
 2023 04:28:19 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1676750305.git.demi@invisiblethingslab.com>
 <cover.1677356813.git.demi@invisiblethingslab.com> <ccf4f624-356f-4498-9ae3-e4528b9e1901@perard>
In-Reply-To: <ccf4f624-356f-4498-9ae3-e4528b9e1901@perard>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 20 Mar 2023 11:28:09 +0000
Message-ID: <CA+zSX=YBMEwOtbbg77oBHjKa1KeuyTNPafb65=WnzjHk2+1C8g@mail.gmail.com>
Subject: Re: [PATCH v5 0/5] Stop using insecure transports
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>, xen-devel@lists.xenproject.org, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=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>, 
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Ross Lagerwall <ross.lagerwall@citrix.com>, 
	Samuel Thibault <samuel.thibault@ens-lyon.org>, Doug Goldstein <cardoe@cardoe.com>
Content-Type: multipart/alternative; boundary="0000000000005513ef05f75339bd"

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

On Mon, Mar 20, 2023 at 11:14=E2=80=AFAM Anthony PERARD <anthony.perard@cit=
rix.com>
wrote:

> Hi,
>
> I believe all the containers that needed to be updated in our GitLab CI
> to be able to access HTTPS URLs have now been updated.
>
> So I guess the series is good to go if it's reviewed.
>

Has it run and passed Gitlab-CI with the new container images?

 -George

--0000000000005513ef05f75339bd
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"></div><br><div class=3D"gmail_quote"><div=
 dir=3D"ltr" class=3D"gmail_attr">On Mon, Mar 20, 2023 at 11:14=E2=80=AFAM =
Anthony PERARD &lt;<a href=3D"mailto:anthony.perard@citrix.com">anthony.per=
ard@citrix.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" st=
yle=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padd=
ing-left:1ex">Hi,<br>
<br>
I believe all the containers that needed to be updated in our GitLab CI<br>
to be able to access HTTPS URLs have now been updated.<br>
<br>
So I guess the series is good to go if it&#39;s reviewed.<br></blockquote><=
div><br></div><div>Has it run and passed Gitlab-CI with the new container i=
mages?</div><div><br></div><div>=C2=A0-George</div></div></div>

--0000000000005513ef05f75339bd--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 11:36:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 11:36:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511853.791199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peDoF-0000rN-S0; Mon, 20 Mar 2023 11:36:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511853.791199; Mon, 20 Mar 2023 11: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 1peDoF-0000rG-OH; Mon, 20 Mar 2023 11:36:15 +0000
Received: by outflank-mailman (input) for mailman id 511853;
 Mon, 20 Mar 2023 11:36: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=ufZv=7M=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1peDoF-0000rA-0G
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 11:36:15 +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 6aa0f33f-c713-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 12:36:13 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id cy23so45313452edb.12
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 04:36:12 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 u8-20020a170906b10800b008c9b44b7851sm4300717ejy.182.2023.03.20.04.36.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Mar 2023 04:36: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: 6aa0f33f-c713-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679312172;
        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=/L1oYNdo0Vt5WHyjhs757KQipPoFgtDw9vfR3zr/7jI=;
        b=Eep9SOgarPAehF648KhSYJ/oCf3Ia/4ZSY7LPYtdRgoisQ7TstNu2WvARMaPLguL6n
         AJrahcUsC3V9OAXcdSZsAbypQQoAH7HiirItHRJ0Rx/2KoGEJDIVHuIzoDbfVdFWKWPU
         /UY8848ByIz9gMw8PHBgeIQzL2uATp4h+u4cG4U19FN4nW7N/MXVQ4ZlQDvuDNKLcvme
         j/lpV5LIbHJB1G+Qw9sfQ51rncM5OdnluRwVwbkJWLHBqbxW6rBjLkoUoYuwrfsAuL/k
         dV3JuxBIM16yux9Lo+2fTcDs1fMDmHC2uxEKUjw9vVojkHkPy20gwKRVPEvSqPQ/sNy2
         40fg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679312172;
        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=/L1oYNdo0Vt5WHyjhs757KQipPoFgtDw9vfR3zr/7jI=;
        b=p5m/P63pEUMeFgVrmLQam+sB+Gs5BQIZ0o/zzqQdNVMjLj6tXe2af6G9hmXRrBETAp
         yYmCRMz7oQglp2o7udrzbieQCiyqv6Oh5ht0mhOo7JqyStmunPO67rxVulGQ64/jyfNq
         Co4Q8TQfVAF4qoubFkAjuvfPNH6ry6qVlF0wF2gTjyz0xWf8Sz9eWmiogi0yFyurbgxA
         BYqBv1FWXwsxoeicrz5eHh4ACZSXlIkrZC55vQDj2+QCmX037L3yQtAMDikmokkBhC21
         CIU9F/kVaFMu4yaSI2HHDgWKJpMdWKdfckdwbg3f5KsIw9+UrF/uIJviHjpozYCZGb0e
         ih+g==
X-Gm-Message-State: AO0yUKUcgffRUHL0O8qjQkoTT/LFXZdrdOxyHaJ0bV+tT/C8LxO9OuS/
	KnfCVRmiNsiXBvhpAZLf3es=
X-Google-Smtp-Source: AK7set+4Px7Z0nA2z8BfP9kL3T83lKbM3Gmu6kBG8FQKpsxG+sntFIylI4Prq5lvRoESUcnt6hoi6g==
X-Received: by 2002:a17:907:c607:b0:931:6f5b:d280 with SMTP id ud7-20020a170907c60700b009316f5bd280mr9958423ejc.17.1679312172040;
        Mon, 20 Mar 2023 04:36:12 -0700 (PDT)
Message-ID: <02a815ffe1d3839f6f82ab4d16ec8d124642617d.camel@gmail.com>
Subject: Re: [PATCH v8 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Mon, 20 Mar 2023 13:36:10 +0200
In-Reply-To: <6af7a3ea-f454-7027-590d-f883e6c2a523@suse.com>
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
	 <2afad972cd8da98dcb0ba509ba29ff239dc47cd0.1678900513.git.oleksii.kurochko@gmail.com>
	 <3bc211fa-a8f7-70ce-bfa9-5e4380776070@suse.com>
	 <99354bbeabf11e86cbf3fd46019c08fb36bf0098.camel@gmail.com>
	 <6af7a3ea-f454-7027-590d-f883e6c2a523@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Fri, 2023-03-17 at 15:59 +0100, Jan Beulich wrote:
> On 17.03.2023 10:23, Oleksii wrote:
> > On Thu, 2023-03-16 at 12:26 +0100, Jan Beulich wrote:
> > > On 15.03.2023 18:21, Oleksii Kurochko wrote:
> > > > --- /dev/null
> > > > +++ b/xen/common/bug.c
> > > > @@ -0,0 +1,108 @@
> > > > +#include <xen/bug.h>
> > > > +#include <xen/debugger.h>
> > > > +#include <xen/errno.h>
> > > > +#include <xen/kernel.h>
> > > > +#include <xen/livepatch.h>
> > > > +#include <xen/string.h>
> > > > +#include <xen/types.h>
> > > > +#include <xen/virtual_region.h>
> > > > +
> > > > +#include <asm/processor.h>
> > >=20
> > > I actually meant to also ask: What is this needed for? Glancing
> > > over
> > > the
> > > code ...
> > >=20
> > > > +/*
> > > > + * Returns a negative value in case of an error otherwise
> > > > + * BUGFRAME_{run_fn, warn, bug, assert}
> > > > + */
> > > > +int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
> > > > +{
> > > > +=C2=A0=C2=A0=C2=A0 const struct bug_frame *bug =3D NULL;
> > > > +=C2=A0=C2=A0=C2=A0 const struct virtual_region *region;
> > > > +=C2=A0=C2=A0=C2=A0 const char *prefix =3D "", *filename, *predicat=
e;
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long fixup;
> > > > +=C2=A0=C2=A0=C2=A0 unsigned int id, lineno;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 region =3D find_text_region(pc);
> > > > +=C2=A0=C2=A0=C2=A0 if ( !region )
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -EINVAL;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 for ( id =3D 0; id < BUGFRAME_NR; id++ )
> > > > +=C2=A0=C2=A0=C2=A0 {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 const struct bug_frame =
*b;
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 size_t i;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for ( i =3D 0, b =3D re=
gion->frame[id].bugs;
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 i < region->frame[id].n_bugs; b++, i++ )
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 if ( bug_loc(b) =3D=3D pc )
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 bug =3D b;
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 goto found;
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 }
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > > > +=C2=A0=C2=A0=C2=A0 }
> > > > +
> > > > + found:
> > > > +=C2=A0=C2=A0=C2=A0 if ( !bug )
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -ENOENT;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 if ( id =3D=3D BUGFRAME_run_fn )
> > > > +=C2=A0=C2=A0=C2=A0 {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 void (*fn)(struct cpu_u=
ser_regs *) =3D bug_ptr(bug);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fn(regs);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Re-enforce consisten=
t types, because of the casts
> > > > involved. */
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( false )
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 run_in_exception_handler(fn);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return id;
> > > > +=C2=A0=C2=A0=C2=A0 }
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 /* WARN, BUG or ASSERT: decode the filename poi=
nter and
> > > > line
> > > > number. */
> > > > +=C2=A0=C2=A0=C2=A0 filename =3D bug_ptr(bug);
> > > > +=C2=A0=C2=A0=C2=A0 if ( !is_kernel(filename) && !is_patch(filename=
) )
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -EINVAL;
> > > > +=C2=A0=C2=A0=C2=A0 fixup =3D strlen(filename);
> > > > +=C2=A0=C2=A0=C2=A0 if ( fixup > 50 )
> > > > +=C2=A0=C2=A0=C2=A0 {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 filename +=3D fixup - 4=
7;
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 prefix =3D "...";
> > > > +=C2=A0=C2=A0=C2=A0 }
> > > > +=C2=A0=C2=A0=C2=A0 lineno =3D bug_line(bug);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 switch ( id )
> > > > +=C2=A0=C2=A0=C2=A0 {
> > > > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_warn:
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Xen WARN at %s%=
s:%d\n", prefix, filename,
> > > > lineno);
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(re=
gs);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_bug:
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Xen BUG at %s%s=
:%d\n", prefix, filename,
> > > > lineno);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( BUG_DEBUGGER_TRAP_=
FATAL(regs) )
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 break;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(re=
gs);
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 panic("Xen BUG at %s%s:=
%d\n", prefix, filename,
> > > > lineno);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_assert:
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* ASSERT: decode the p=
redicate string pointer. */
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 predicate =3D bug_msg(b=
ug);
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !is_kernel(predica=
te) && !is_patch(predicate) )
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 predicate =3D "<unknown>";
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Assertion '%s' =
failed at %s%s:%d\n",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 predicate, prefix, filename, lineno);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( BUG_DEBUGGER_TRAP_=
FATAL(regs) )
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 break;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(re=
gs);
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 panic("Assertion '%s' f=
ailed at %s%s:%d\n",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 predicate, prefix, filename, lineno);
> > > > +=C2=A0=C2=A0=C2=A0 }
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 return id;
> > > > +}
> > >=20
> > > ... I can't really spot what it might be that comes from that
> > > header.
> > > Oh, on the N+1st run I've spotted it - it's
> > > show_execution_state().
> > > The declaration of which, already being used from common code
> > > ahead
> > > of this series, should imo be moved to a common header. I guess
> > > I'll
> > > make yet another patch ...
> > As mentioned above. Not only show_execution_state() but also
> > cpu_user_regs structure. ( at lest, for ARM & RISCV )
>=20
> Do we deref "regs" anywhere? I can't seem to be able to spot an
> instance.
> Without a deref (or alike) a forward decl is all that's needed for
> this
> code to compile.
You are there is no a deref so let's swich to a forward decl.

I'll add it to a new version of the patch series.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 11:47:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 11:47:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511858.791209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peDz3-0002YK-2E; Mon, 20 Mar 2023 11:47:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511858.791209; Mon, 20 Mar 2023 11: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 1peDz2-0002YD-VW; Mon, 20 Mar 2023 11:47:24 +0000
Received: by outflank-mailman (input) for mailman id 511858;
 Mon, 20 Mar 2023 11: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=noC+=7M=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1peDz1-0002Y5-O9
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 11:47:23 +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 f9ee1b63-c714-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 12:47:22 +0100 (CET)
Received: by mail-lj1-x233.google.com with SMTP id 20so4626122lju.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 04:47:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9ee1b63-c714-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1679312842;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=yblBtippYXTSVSq31INAX+4Px6D0HgA57v+Fc3Zbve0=;
        b=b616dmlLorOwHh4Ds3OcaKZSsDSl5P1BBSVHkSO5/ywqfv5Lgo9Th4xd8+x3SCmgr9
         zK+vTyt/cDxKD3iWRA4vlv7dA+bXyDkTqXR00AKUdxf7SbdkzfUhC6jU4b8uGbgw1JXA
         amHUP7MiYl8UPi4mTGSYUl6oE61EKg+R73EwM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679312842;
        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=yblBtippYXTSVSq31INAX+4Px6D0HgA57v+Fc3Zbve0=;
        b=yh680CA/vVXNTKmZUsz5fFwWH4PQpoA1Hd47DM2O6kABu3TgkNaXXXQTgvscuf+R0B
         xTgYMvMrK/wE+6o02sxWhiMbSqM2yeX4psqIIUbplYi7O1v2GgNV36C5ci3GAhiID96X
         nDdVyz09hMMS/dH5B5KabegckKFmU4lKJaEzAgy+ztHUnDHg/nq0bH0bc/R8pzrHgeOQ
         Uu8QXNVEhwNWZQojtthT8z+9Tc2TUbwoGRZaLgwNCTA/ufgvwwrYj1rv4fe29Jx9biMn
         3cOT8seIySmGxuCFgmkpGa4iNRhwNgRh5R49x7K8+/+gpux4Ur/3kM33QU6e140RY2NJ
         WdvA==
X-Gm-Message-State: AO0yUKUHZ34Xge0MDMEVtL91sty5Rmr4neHKlzAwEyAD3aYae5bafxn9
	/H8/yD2i2mkslnSOg+51Gj4tE1nuwDwb5Zel42x0Ng==
X-Google-Smtp-Source: AK7set/aXw0GtMRGye5J+hi6R1Do4FNIxYvRyQfOcHkRDsOnb+mmqpGQr6BcMAfJ5GOEIPJ2hSYYMLicwDBqPCcPM1U=
X-Received: by 2002:a2e:7219:0:b0:299:a9db:a4 with SMTP id n25-20020a2e7219000000b00299a9db00a4mr4586782ljc.6.1679312841968;
 Mon, 20 Mar 2023 04:47:21 -0700 (PDT)
MIME-Version: 1.0
References: <cover.1677356813.git.demi@invisiblethingslab.com>
 <e36a472b3e58ee81e8d61e7306f0ee2068eff62a.1677356813.git.demi@invisiblethingslab.com>
 <db7d6e42-2fd5-b7f0-ec84-ca7ffcf5d105@suse.com> <Y/z6blqd1+e22B3a@itl-email>
In-Reply-To: <Y/z6blqd1+e22B3a@itl-email>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 20 Mar 2023 11:47:11 +0000
Message-ID: <CA+zSX=ZbnZbG5RoZDVmLcpWym5jaRUDsjmfr0FsMmKzJrJK9yA@mail.gmail.com>
Subject: Re: [PATCH v5 2/5] Change remaining xenbits.xen.org links to HTTPS
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.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>, 
	Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000699f9905f7537d0e"

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

On Mon, Feb 27, 2023 at 6:46=E2=80=AFPM Demi Marie Obenour <
demi@invisiblethingslab.com> wrote:

> On Mon, Feb 27, 2023 at 09:35:51AM +0100, Jan Beulich wrote:
> > On 25.02.2023 21:37, Demi Marie Obenour wrote:
> > > --- a/Config.mk
> > > +++ b/Config.mk
> > > @@ -191,7 +191,7 @@ APPEND_CFLAGS +=3D $(foreach i, $(APPEND_INCLUDES=
),
> -I$(i))
> > >  EMBEDDED_EXTRA_CFLAGS :=3D -fno-pie -fno-stack-protector
> -fno-stack-protector-all
> > >  EMBEDDED_EXTRA_CFLAGS +=3D -fno-exceptions
> -fno-asynchronous-unwind-tables
> > >
> > > -XEN_EXTFILES_URL ?=3D http://xenbits.xen.org/xen-extfiles
> > > +XEN_EXTFILES_URL ?=3D https://xenbits.xen.org/xen-extfiles
> > >  # All the files at that location were downloaded from elsewhere on
> > >  # the internet.  The original download URL is preserved as a comment
> > >  # near the place in the Xen Makefiles where the file is used.
> > > diff --git a/tools/misc/mkrpm b/tools/misc/mkrpm
> > > index
> 68819b2d739cea5491b53f9b944ee2bd20d92c2b..548db4b5da2691547438df5d7d58e5b=
4c3bd90d0
> 100644
> > > --- a/tools/misc/mkrpm
> > > +++ b/tools/misc/mkrpm
> > > @@ -34,7 +34,7 @@ Version: $version
> > >  Release: $release
> > >  License: GPL
> > >  Group:   System/Hypervisor
> > > -URL: http://xenbits.xenproject.org/xen.git
> > > +URL: https://xenbits.xen.org/git-http/xen.git
> >
> > Please can you not lose "project" from the URL? That's the more modern
> > form, after all. In fact, since you're touching the other URL above
> > anyway, I wonder if it wouldn't be a good idea to insert "project"
> > there as well. With at least the former adjustment (which I suppose
> > can be done while committing, as long as you agree)
> > Acked-by: Jan Beulich <jbeulich@suse.com>
>
> I=E2=80=99m fine with either or both of those adjustments.  I was not awa=
re that
> https://xenbits.xen.org is an alias for https://xenbits.xenproject.org.
>

"xen.org" is the original.  When Xen joined the Linux Foundation, there
were some complications with the trademark: Citrix had renamed all their
products to XenFoo (even those which had nothing to do with Xen), and so
wanted to keep the trademark; but the LF felt they needed a trademark they
could own & enforce.  The solution the lawyers came up with was for Citrix
to allow the LF to own the trademark to "The Xen Project", while Citrix
retained the trademark to "Xen".  Everything was meant to have shifted over
to "xenproject.org", but of course "xen.org" was kept around to avoid
breaking links; and here we are, 10 years later.

Neither LF nor CSG are particularly trigger-happy with lawsuits, so it's
not a huge deal, but all things being equal, it's better to use "
xenproject.org"; and switching to "xen.org" is certainly a (small)
regression.

 -George

--000000000000699f9905f7537d0e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Mon, Feb 27, 2023 at 6:46=E2=80=AF=
PM Demi Marie Obenour &lt;<a href=3D"mailto:demi@invisiblethingslab.com">de=
mi@invisiblethingslab.com</a>&gt; wrote:<br></div><blockquote class=3D"gmai=
l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,20=
4,204);padding-left:1ex">On Mon, Feb 27, 2023 at 09:35:51AM +0100, Jan Beul=
ich wrote:<br>
&gt; On 25.02.2023 21:37, Demi Marie Obenour wrote:<br>
&gt; &gt; --- a/Config.mk<br>
&gt; &gt; +++ b/Config.mk<br>
&gt; &gt; @@ -191,7 +191,7 @@ APPEND_CFLAGS +=3D $(foreach i, $(APPEND_INCL=
UDES), -I$(i))<br>
&gt; &gt;=C2=A0 EMBEDDED_EXTRA_CFLAGS :=3D -fno-pie -fno-stack-protector -f=
no-stack-protector-all<br>
&gt; &gt;=C2=A0 EMBEDDED_EXTRA_CFLAGS +=3D -fno-exceptions -fno-asynchronou=
s-unwind-tables<br>
&gt; &gt;=C2=A0 <br>
&gt; &gt; -XEN_EXTFILES_URL ?=3D <a href=3D"http://xenbits.xen.org/xen-extf=
iles" rel=3D"noreferrer" target=3D"_blank">http://xenbits.xen.org/xen-extfi=
les</a><br>
&gt; &gt; +XEN_EXTFILES_URL ?=3D <a href=3D"https://xenbits.xen.org/xen-ext=
files" rel=3D"noreferrer" target=3D"_blank">https://xenbits.xen.org/xen-ext=
files</a><br>
&gt; &gt;=C2=A0 # All the files at that location were downloaded from elsew=
here on<br>
&gt; &gt;=C2=A0 # the internet.=C2=A0 The original download URL is preserve=
d as a comment<br>
&gt; &gt;=C2=A0 # near the place in the Xen Makefiles where the file is use=
d.<br>
&gt; &gt; diff --git a/tools/misc/mkrpm b/tools/misc/mkrpm<br>
&gt; &gt; index 68819b2d739cea5491b53f9b944ee2bd20d92c2b..548db4b5da2691547=
438df5d7d58e5b4c3bd90d0 100644<br>
&gt; &gt; --- a/tools/misc/mkrpm<br>
&gt; &gt; +++ b/tools/misc/mkrpm<br>
&gt; &gt; @@ -34,7 +34,7 @@ Version: $version<br>
&gt; &gt;=C2=A0 Release: $release<br>
&gt; &gt;=C2=A0 License: GPL<br>
&gt; &gt;=C2=A0 Group:=C2=A0 =C2=A0System/Hypervisor<br>
&gt; &gt; -URL: <a href=3D"http://xenbits.xenproject.org/xen.git" rel=3D"no=
referrer" target=3D"_blank">http://xenbits.xenproject.org/xen.git</a><br>
&gt; &gt; +URL: <a href=3D"https://xenbits.xen.org/git-http/xen.git" rel=3D=
"noreferrer" target=3D"_blank">https://xenbits.xen.org/git-http/xen.git</a>=
<br>
&gt; <br>
&gt; Please can you not lose &quot;project&quot; from the URL? That&#39;s t=
he more modern<br>
&gt; form, after all. In fact, since you&#39;re touching the other URL abov=
e<br>
&gt; anyway, I wonder if it wouldn&#39;t be a good idea to insert &quot;pro=
ject&quot;<br>
&gt; there as well. With at least the former adjustment (which I suppose<br=
>
&gt; can be done while committing, as long as you agree)<br>
&gt; Acked-by: Jan Beulich &lt;<a href=3D"mailto:jbeulich@suse.com" target=
=3D"_blank">jbeulich@suse.com</a>&gt;<br>
<br>
I=E2=80=99m fine with either or both of those adjustments.=C2=A0 I was not =
aware that<br>
<a href=3D"https://xenbits.xen.org" rel=3D"noreferrer" target=3D"_blank">ht=
tps://xenbits.xen.org</a> is an alias for <a href=3D"https://xenbits.xenpro=
ject.org" rel=3D"noreferrer" target=3D"_blank">https://xenbits.xenproject.o=
rg</a>.<br></blockquote><div><br></div><div>&quot;<a href=3D"http://xen.org=
">xen.org</a>&quot; is the original.=C2=A0 When Xen joined the Linux Founda=
tion, there were some complications with the trademark: Citrix had renamed =
all their products to XenFoo=C2=A0(even those which had nothing to do with =
Xen), and so wanted to keep the trademark; but the LF felt=C2=A0they needed=
 a trademark they could own &amp; enforce.=C2=A0 The solution the lawyers c=
ame up with was for Citrix to allow the LF to own the trademark to &quot;Th=
e Xen Project&quot;, while Citrix retained the trademark to &quot;Xen&quot;=
.=C2=A0 Everything was meant to have shifted over to &quot;<a href=3D"http:=
//xenproject.org">xenproject.org</a>&quot;, but of course &quot;<a href=3D"=
http://xen.org">xen.org</a>&quot; was kept around to avoid breaking links; =
and here we are, 10 years later.</div><div><br></div><div>Neither LF nor=C2=
=A0CSG are particularly trigger-happy with lawsuits, so it&#39;s not a huge=
 deal, but all things being equal, it&#39;s better to use &quot;<a href=3D"=
http://xenproject.org">xenproject.org</a>&quot;; and switching to &quot;<a =
href=3D"http://xen.org">xen.org</a>&quot; is certainly a (small) regression=
.</div><div><br></div><div>=C2=A0-George</div></div></div>

--000000000000699f9905f7537d0e--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 12:08:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 12:08:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511866.791224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peEJ0-0005RF-Te; Mon, 20 Mar 2023 12:08:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511866.791224; Mon, 20 Mar 2023 12:08: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 1peEJ0-0005R8-Qo; Mon, 20 Mar 2023 12:08:02 +0000
Received: by outflank-mailman (input) for mailman id 511866;
 Mon, 20 Mar 2023 12:08: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=K00X=7M=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1peEJ0-0005R2-8S
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 12:08:02 +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 da54e2e6-c717-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 13:07:59 +0100 (CET)
Received: from DS7PR03CA0225.namprd03.prod.outlook.com (2603:10b6:5:3ba::20)
 by BL1PR12MB5803.namprd12.prod.outlook.com (2603:10b6:208:393::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 12:07:56 +0000
Received: from DM6NAM11FT057.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:3ba:cafe::cd) by DS7PR03CA0225.outlook.office365.com
 (2603:10b6:5:3ba::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Mon, 20 Mar 2023 12:07:55 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DM6NAM11FT057.mail.protection.outlook.com (10.13.172.252) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6222.15 via Frontend Transport; Mon, 20 Mar 2023 12:07:55 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 20 Mar
 2023 07:07:55 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 20 Mar
 2023 05:07:16 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Mon, 20 Mar 2023 07:07:15 -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: da54e2e6-c717-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aKRHfmNwe/ShABzLw4YKDHoWFC4X0lGxdsTmpsJxx3cCratyaal9vTlndRfsw7DYB0Nr5k/8OuZJWZmO7tg5opn2v5z4fShYoKMpxVCIduujgR0AziWxcxrP/6pjVK+2H3XgkBOPYO67NW4M2r0ogSQalT31syBsyG4eH/xBsaPe2UIVPt+y8nWhFJDnaawQn/DbYXlimaAaRS9EvZQXH4ckJ1W9eRQg3HbtyKv7/ozdiElVWj5tMIJD+uPxUnfEdwYzX3iwWU01qQZXRT3uq6bLwXSGbPS0OteJaL3Ota3s0zs8Y6PshKzqSfjN9xu7bA2yPq4ZegPXo2lWErpxLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BcJfHW7V7WCx4Bghj5Ua12hi3VvRDijDqJLLw2enHlE=;
 b=BknAOm16mkaedBkNVqG0dCPQCfKT6KjfKiwuSU/BJv+KBAuSq/19pbjsbgsOCsjhUPxnpyMwi4SK01PwFpOSbOBgVSmaofg59y72d4emH+Z+mA7Li91KwC5uId6AML9cO/grCccwCYjiNxeIdsUOJtCEp15vdH4c4zrsaVkycv3zoG97iObASBrLQYlfRsfybK+ncgtmkoNNMxvxdmy955a1M/7wV01v4RR01QacLWDv+c0PGWCyguckL9VsC5CRqNhL65bC/DGulwm2Nuec4oBexEut11Q2Gch44J4eNfCt6u8OzNOlxSTv/FQKWk8TzleT0ovyARsTcK0qkpTRLA==
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
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=BcJfHW7V7WCx4Bghj5Ua12hi3VvRDijDqJLLw2enHlE=;
 b=2GLuAM/6Ee2TpIKPcoSoRqfEumpM8Xy1bUzNlQ2ubSsGKwmnh8Tujf9mrXzSFjjzp/zMDwzDXqK4PdHvxYDJEUOIcUb6RU6vvzyn4CnOk63do1joEejDCKISkaRbYBNoTxGO9XfJRKrBOa+pNLA1VBbTjOAANQARUepmhaZqrI4=
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: <66a3b439-478c-64c9-c713-b3ce6d3b779b@amd.com>
Date: Mon, 20 Mar 2023 13:07:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3] xen/console: Skip switching serial input to non
 existing domains
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: <20230320081935.18367-1-michal.orzel@amd.com>
 <39426526-c576-e3e3-4cb2-d3741d447bdd@suse.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <39426526-c576-e3e3-4cb2-d3741d447bdd@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT057:EE_|BL1PR12MB5803:EE_
X-MS-Office365-Filtering-Correlation-Id: 14b416e4-2169-4115-f7ff-08db293bbd45
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	h4/DHCgN3UIBFwLVmQ8JyjsO++dL3/KvcYUDRQOR2iJQxgo7BxSJnzIrMERW0x3CJiui0sYZVs0zO+z603bpj0/yTjIOOdV1AFZ+UbvmgX612jE54vBuOUXkm8Phcm89ax0EDZiveW1j2yYzsYInr/8nZn3NARlAWbFJV6f+lUzEMeNBMGToaCAPO7N7CkQnt0XBpeBXyUZme7Gci8Lw2Z8aqOf05o1eqnxud7UzX0nYc8n+58uLCiey7XsqMcFKvhHIwjjb4csSzatT6MOuuZB4oxke4+qQIQa9uR8ih3i/b7x8NmbiyzUAnCxV/VLcr5ITHHnXVbMbzjtJbYqASDA2l5S9NcUtmVSwd9DYHB3oQCyKkipwFSS18kHHqerT6HMdu0ECNpN9/wKaEbukVBhWUaUJS0uYY+1dC6YaqlUmLS5D5vtK2ogGW2oeBdbftHwXHSrlnmVlilC4YFPNCL8feByFoZ1vYjYHojQMnJOrg5IVzx1mCvLUUwjW8RxClE6n3MJ8lKvO6hq/mBIUnOz1xAYyldYvACkU7ctg8+clYYOZKaTZM5sia2fe1J7BB6ikf5LNC6LX2PUI+aqMLG3R9OXbfAmh8yuUR3/7psSwuLzj0vflrNABq7yO2eUR03JAWY4DQr5FWQS1JyWMrT6cvNYb6xqBOt8d164aqSIESzKFzLL/lSiVS9wKdMxu87cnbKobdtq7PMGVet1RxGL0CHrHynEfytd9ulLgvAMmPQrxJ0YN2BSqNRoNPycJCwWKNXMoXo7bFcTIabFblw==
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:(13230025)(4636009)(346002)(39860400002)(136003)(376002)(396003)(451199018)(40470700004)(36840700001)(46966006)(8936002)(5660300002)(2906002)(426003)(47076005)(31696002)(86362001)(83380400001)(36756003)(40460700003)(53546011)(26005)(186003)(40480700001)(2616005)(336012)(44832011)(6916009)(8676002)(4326008)(316002)(16576012)(356005)(41300700001)(81166007)(31686004)(70586007)(70206006)(82740400003)(478600001)(36860700001)(54906003)(82310400005)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 12:07:55.7564
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 14b416e4-2169-4115-f7ff-08db293bbd45
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:
	DM6NAM11FT057.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5803



On 20/03/2023 12:17, Jan Beulich wrote:
> 
> 
> On 20.03.2023 09:19, Michal Orzel wrote:
>> @@ -483,15 +485,34 @@ struct domain *console_input_domain(void)
>>
>>  static void switch_serial_input(void)
>>  {
>> -    if ( console_rx == max_init_domid + 1 )
>> -    {
>> -        console_rx = 0;
>> -        printk("*** Serial input to Xen");
>> -    }
>> -    else
>> +    unsigned int next_rx = console_rx + 1;
>> +
>> +    /*
>> +     * Rotate among Xen, dom0 and boot-time created domUs while skipping
>> +     * switching serial input to non existing domains.
>> +     */
>> +    while ( next_rx <= max_console_rx + 1 )
>>      {
>> -        console_rx++;
>> -        printk("*** Serial input to DOM%d", console_rx - 1);
>> +        if ( next_rx == max_console_rx + 1 )
> 
> Part of the earlier problems stemmed from the comparison being == here.
> Could I talk you into using >= instead?
With the loop condition unmodified it would not make sense as it would be impossible.
However, because of what you wrote below, I will do this together with other modifications.

> 
>> +        {
>> +            console_rx = 0;
>> +            printk("*** Serial input to Xen");
>> +            break;
>> +        }
>> +        else
> 
> No need for "else" after "break" (or alike). Omitting it will not only
> decrease indentation, but also make more visible that the earlier if()
> won't "fall through".
> 
ok.

>> +        {
>> +            struct domain *d = rcu_lock_domain_by_id(next_rx - 1);
>> +
>> +            if ( d )
>> +            {
>> +                rcu_unlock_domain(d);
>> +                console_rx = next_rx;
>> +                printk("*** Serial input to DOM%d", console_rx - 1);
> 
> While I expect the compiler will transform this to using "next_rx"
> here anyway, I think it would be nice if it was written like this
> right away.
ok.

> 
> Since you touch the printk() anyway, please also switch to using the
> more applicable %u.
ok.

> 
> With the adjustments
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> 
> One other transformation for you to consider is to switch to a base
> layout like
> 
>     unsigned int next_rx = console_rx;
>     while ( next_rx++ <= max_console_rx )
>     {
>         ...
>     }
> 
> i.e. without a separate increment at the bottom of the loop. Which,
> now that I've spelled it out, raises the question of why the outer
> loop needs a condition in the first place (because as written above
> it clearly is always true). So perhaps better (and more directly
> showing what's going on)
> 
>     unsigned int next_rx = console_rx;
>     for ( ; ; )
>     {
>         if ( next_rx++ >= max_console_rx )
>         ...
>     }
Makes sense to me so I will do this assuming that you agree on adding your Rb tag also
for this approach.

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 12:08:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 12:08:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511868.791234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peEJq-0005wA-7M; Mon, 20 Mar 2023 12:08:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511868.791234; Mon, 20 Mar 2023 12: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 1peEJq-0005w3-42; Mon, 20 Mar 2023 12:08:54 +0000
Received: by outflank-mailman (input) for mailman id 511868;
 Mon, 20 Mar 2023 12: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peEJo-0005qL-K3
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 12:08:53 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2061b.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f9e4f32c-c717-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 13:08:51 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8634.eurprd04.prod.outlook.com (2603:10a6:20b:43d::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 12:08:49 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 12:08: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: f9e4f32c-c717-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YjIpXweCocXv64xhxg3vAZfWoaqSnzbWmoOgzDV7QQDmX5lGmxFedPB5odPkXfI/qZ6u3sjJgBl+8TeDQIzrXNhLTE6mOvQsL+/hYsQK1tqtEneYoizs4bLkL+EZQQAzombv5AgnVSHYwLwjZm3XhvcvfkkoPL9g7AA2boFWzzH9iaQ0dJrwJFw0u/HdO6XZz9/eBMGk45DQ9+K/L2XGuv5/3vGvP5jFiEEfvd62F6P/pkHawljR8dU95kZDIbO6xNtT2FODHeEDiaNZ5ZbIJgwR0SeoaczmWhoGltyUwn4yg39yUBLIUR1gitZAtqrXtmrD97eZhxx1ZXwsRzFj1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0aX1D+jW2ekavLXtYE+acfXo7BYGCmJYogoMLUO++a4=;
 b=VAKcz50ExzW/i51WYpZ4/RviOBB28Rn716q5a1tmjxR/kyt4/vy97vSd9tsKEAxSeIJ76A8BqemAgn5iJcoPVsU4waoIjVwYN5nqLprOIitIcNufKVhTQz0JW/ms2xmekQy0jpF0l7V6dn+J8JTt6scT9kzyfuovI4KIoCO4r/fu5eKKFmGm+Yp/z5cbf1FWWe6Qh+9VB+XWFFpIC4yH/go+wTRGbE2IV3BgX3RYUhYsbvS7a7RFa/ZnVAlziMzfx/9DXipyNS12pBkxt+BEZfkcpjHSddNYTjtpg4QKuf17/Vqu9vWbzVBaEwxbWS2ZGm2Ekug/EBAcuPGIPaQszQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0aX1D+jW2ekavLXtYE+acfXo7BYGCmJYogoMLUO++a4=;
 b=OIiG76lijIViEBUZA9EhRCHXswDfZVsJM32hVZ22F71tlqmh+y6CTxD3Jj/XsdRZygCHl8TOqbOtxFpDm0hVuKI6xzQiHCS9ETRXSAJdtJWwU3FPex+u89r5M/gORX56eyZY2frG/aDVJOc8iRyPj+jXVCoKihAL6g6Zuo52ds6M4OmOJVOV7+FiaxgxaZlQPtNtQgwCQ7aOEdZ58IV46t5XOyHqeNUWbYGQuqn3YaI5WwsswtLr8BEeoNphBECyLF7IZPB8Tw4FJ7Iyud1lLOcwY6PemrX7Qd923pIONmNNnA0TKhwOl9QOXkyUcDZUzVU8F4YC7AQpuwbTkKOKIQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <aa9bf8f2-5ff1-27b0-bc41-b7b639648e85@suse.com>
Date: Mon, 20 Mar 2023 13:08:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] vpci/msix: handle accesses adjacent to the MSI-X table
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
References: <20230316120710.38817-1-roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230316120710.38817-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0135.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8634:EE_
X-MS-Office365-Filtering-Correlation-Id: b16c4090-d61d-48b0-b82e-08db293bda4e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3FyjLRjr0+FCmHrJ3oCw1XK+3Bwp/QvMPLn5y8tc1l2fVRoPodFe7cU/tWH1ongKffoqJpeaeW5HmxTxsNKVHGHFFJrpi+wNQvmcpJ8WToSjuiWpywtQm8ERdyvP1a+lwaD7Eqkw0al+klIrxtUMNzbrW0F/8HFEXWfS/MwgBLUpO9Ivd5Upf99D2PIgRwQbxR0RzYRtbUpC+avoeWX/Mg2pgrN/te+16EJ9FVbGOjwbZ3VOsC4ebadzNWiOWUZ2sO7k8Pl80RrgQCMq6I3ivqJURV0QbNjbu9x4urhnsG/mgJOq20cHnYaWJqvNi64YFjYfvexQlKD/77PZR1ZJG3zL4l3LuzmmY3zOqKsoDDS46WUbZNkkpn7v14bICpXFO+AyIZ4H+jXvqmF40BjOen9nrV0UR0ZHGNWwn61AFDn5t9vdiQrAGtH3Vv0w3lMq5EKFYJoEvYmqkMU0aroFUEi2ZrdXEu8zvKVCROC5N1SEkHETw+d9WSVU81LhrpVkp2iGwVGvz0gkFwQxgf/C6wjNiFcUT+osQCNyL0WbufUmQz4evTK2Bl2FOyWT1FPJT91ldLv+zj/tuzuoXRrC4qfs4xt3BBF83NNf2kh5wNFD+EOPAnsyYcBjlAW7o+HuBlU/h9N8gBUIX/ZhdeWZNrmHZTV11GU9T8FW8EoH6rcVh8EidbsZJ6RgOkNcg2YuYnEzfFfYVjv6Xd0pFuVdcH43cQcMl2RcQgZuk6KeYeA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(346002)(376002)(136003)(366004)(451199018)(26005)(53546011)(6512007)(6506007)(2616005)(31686004)(6486002)(316002)(83380400001)(6916009)(4326008)(8676002)(186003)(66476007)(66946007)(478600001)(8936002)(5660300002)(2906002)(41300700001)(38100700002)(66556008)(31696002)(86362001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V0hYSUNVVmpKRkpoVEM2TWZoYm5WcEEyaWVWWW1sOUZ1NjlTRURUT3JnRnk2?=
 =?utf-8?B?Uy9SMGN0WnZ6cXRtaGZBcmNnbEJZaUVNajVrcTBVN25JOGgxSm1FM21EbnZa?=
 =?utf-8?B?NXVwek15R256Ym92ZDBWTG14NE5rMnlLNjEwc2o4K1ZENEFPc1h2bUhyd2N4?=
 =?utf-8?B?WDY0Y3dtMXJxWDAxVDA0T0F5bVpXVlRaTjhxMFcrVVlCTy9Semd2cnpLazlu?=
 =?utf-8?B?REo2clRJa3J2UnJvamJtbzd3NnN6cXoyNmJRTVVNSm5WNkxtSDhZcVdhSC9z?=
 =?utf-8?B?aDNPMExmZDU2TFRCR0dhTzlCV0JWK2o5UldpZUpCdnFFYVZqdDlXNWRod3JX?=
 =?utf-8?B?TGVOSUYwUEd2M3NGR2ZnRVNVaWczb2Q4YnFjeUsyekpob0FKdEtTTVVNYXFY?=
 =?utf-8?B?T2E2YWdRS2dRc0o5OG1CL1g2SWpNT2RTYnBsN2NvN2RXQjFwekhhdjBYVXJD?=
 =?utf-8?B?ZmxTaWJrbE9QdmZlQ0MyTXdEMzh2ZThQc01xQWhOSmRDSDZGZGtEOHpNMVBw?=
 =?utf-8?B?MGRxSXQ3TGMwQlZoTEdwNGlMYmltc0ZNWXM5a3pGV1l4V3dVbklhWU92Z1FL?=
 =?utf-8?B?WUx2MzBMUFEvVUcwbEgrMGZGRnkvdk9tRlBnOTFwUHJyTS93eHRiaGRkZ2la?=
 =?utf-8?B?bGJ4YlBleW03SVhnak9lQU82citvMWk2bkpsbWppcDYyeEpob0diRlJ0NW1I?=
 =?utf-8?B?T2hCcHByWGoyZVBhcm50anNzaWZiUTJzTXl2T0RZRXcvOXYwS3JqMnVacE11?=
 =?utf-8?B?YmdPUCtPS0hFYUNkRVNOcmY3RitCeHVxNnl5NW1yZ0dMT1g0dXEvdFlDSWZW?=
 =?utf-8?B?eTEzeStZdDg4Vjh0dmJjNkhkelZRVGJZTXliNU1pNTR0U3lTYzF1d1lXeDlS?=
 =?utf-8?B?NXl2aUg3ekYzbWtDeFo1empuNGwxNzQ3Q3lOQ0NlbGFIYmF3b2ZlSGFrMXRv?=
 =?utf-8?B?M2RVR0laaDlWVW5TWDcwMnh6MXEreVgxWGczNjR5SUlJMXBic040TU9NcDBV?=
 =?utf-8?B?MFB0V2Q4dTV0QkhoVWpTTVozOXQrUHQ5dUlBcXdsdnIyQW1DOXNVb3FnYXB0?=
 =?utf-8?B?cy9yR1VISFlFZFBNV1greHkzbXQ5QXN4akJPNE91ZkJzSnVWampkTXlFaXZr?=
 =?utf-8?B?NTBrZE9LdllFKzQrUnF0ZmplN0Y4ZFRwbkNLbElDemttT09jYUVCUTBEcXRV?=
 =?utf-8?B?VGY1SFh4SnpEUDhXLytqRldRV0w5VStyM01OZTUrOWdRZ1RZZ3FudDBtemgw?=
 =?utf-8?B?UWhMUjFiaHJNRm5ZUGF5L2JGOVFjQlIrM3VURmVZTTIvTmpBdHZ1TTk5S3BE?=
 =?utf-8?B?aGtoTkxrNXNwcndtSVJTRWRUWnloRHFPVC9ENTdwclhSK2E1dDJCT2g5NFFV?=
 =?utf-8?B?YUpSRDdVUGJrbk9XLzJCaGJTSm5OUXVnOVdyQ2p6M2NqWEw3cEcwMDJycUxX?=
 =?utf-8?B?ZW9jYnlmbCtZaE1BNkFTMEp0UVZSWFlZRHE3eHZYdFFJYkJNTDQrN0NxVHJH?=
 =?utf-8?B?RllGRVU2alhtaS9vWTFnZGFjSkZEWCtHM0J5WndrdlVWdU85Qjc0RWNyL0I2?=
 =?utf-8?B?N0pMUitlMUYyODNOTzlUOUc1cXltZFhDUVZHZVNYYmh4MWFHSjZhRVFueDZ5?=
 =?utf-8?B?RkkzRXAxVUZyMEdUYmFQNGFIaG1Wc2Z5NUF2VEdiRmlTdXVsMlR0ZEtidTFX?=
 =?utf-8?B?dTllQlRGSHdwS25DQlFHOFRRQ1hVUnJpY2dwVThESGNydzJtbmFLTERIdFZG?=
 =?utf-8?B?SWhwWnF1MTVnUHdWNWhjUzlGa1M2Y2pBRXIyTHVDWTRSd1FJU1BrSHBiOHJY?=
 =?utf-8?B?S0F4ZEtnQVZEanFROG5scUt1eVFmckwwbDhzM0gxRjcxeTRiWlhadEtMcmdT?=
 =?utf-8?B?ZHhJMEVBWTFFUjV3QnVnOGlXSXVrWmthc3dsejI5V0c3STNoRExieXh2dkQ1?=
 =?utf-8?B?bHFOc0xDQmU5MlpzOGZheWpsWVFXc3ExYXNLaDNpcnd3cGdwbStOOVRpUVV0?=
 =?utf-8?B?akdwYUZHVUpiU085Y0JTc0NnckpGVjNrdDNOMHFlYnF0b284RlNGZ0FUOTZ4?=
 =?utf-8?B?MExwc3JxVWw5TGR3UWtkSzg0Z1YrNkZFTmNibG1sazNTNDROYTFiR2N0SWxn?=
 =?utf-8?Q?gNl4VnHaYYX7a0M3pBk6CrN7m?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b16c4090-d61d-48b0-b82e-08db293bda4e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 12:08:44.6708
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ORduoWPoYbn9yfPShbrlMzb1zYSG+Y6AAxTKzDK6ERdtDpMxdwPMp+fvGS/8q3BpjajjwP+mp2NvXGetcGbOeA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8634

On 16.03.2023 13:07, Roger Pau Monne wrote:
> --- a/xen/drivers/vpci/msix.c
> +++ b/xen/drivers/vpci/msix.c
> @@ -27,6 +27,11 @@
>      ((addr) >= vmsix_table_addr(vpci, nr) &&                              \
>       (addr) < vmsix_table_addr(vpci, nr) + vmsix_table_size(vpci, nr))
>  
> +#define VMSIX_ADDR_SAME_PAGE(addr, vpci, nr)                              \
> +    (PFN_DOWN(addr) >= PFN_DOWN(vmsix_table_addr(vpci, nr)) &&            \
> +     PFN_DOWN((addr)) < PFN_UP(vmsix_table_addr(vpci, nr) +               \
> +                               vmsix_table_size(vpci, nr) - 1))

Looks like this would be better in line with get_slot() (and slightly
cheaper) if the 2nd comparison was ... <= PFN_DOWN().

> @@ -149,7 +154,7 @@ static struct vpci_msix *msix_find(const struct domain *d, unsigned long addr)
>  
>          for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
>              if ( bars[msix->tables[i] & PCI_MSIX_BIRMASK].enabled &&
> -                 VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, i) )
> +                 VMSIX_ADDR_SAME_PAGE(addr, msix->pdev->vpci, i) )
>                  return msix;
>      }
>  
> @@ -182,93 +187,201 @@ static struct vpci_msix_entry *get_entry(struct vpci_msix *msix,
>      return &msix->entries[(addr - start) / PCI_MSIX_ENTRY_SIZE];
>  }
>  
> -static void __iomem *get_pba(struct vpci *vpci)
> +static void __iomem *get_table(struct vpci *vpci, unsigned int slot)
>  {
>      struct vpci_msix *msix = vpci->msix;
>      /*
> -     * PBA will only be unmapped when the device is deassigned, so access it
> -     * without holding the vpci lock.
> +     * Regions will only be unmapped when the device is deassigned, so access
> +     * them without holding the vpci lock.
>       */
> -    void __iomem *pba = read_atomic(&msix->pba);
> +    void __iomem *table = read_atomic(&msix->table[slot]);
> +    paddr_t addr = 0;
>  
> -    if ( likely(pba) )
> -        return pba;
> +    if ( likely(table) )
> +        return table;
>  
> -    pba = ioremap(vmsix_table_addr(vpci, VPCI_MSIX_PBA),
> -                  vmsix_table_size(vpci, VPCI_MSIX_PBA));
> -    if ( !pba )
> -        return read_atomic(&msix->pba);
> +    switch ( slot )
> +    {
> +    case VPCI_MSIX_TBL_TAIL:
> +        addr = vmsix_table_size(vpci, VPCI_MSIX_TABLE);
> +        fallthrough;
> +    case VPCI_MSIX_TBL_HEAD:
> +        addr += vmsix_table_addr(vpci, VPCI_MSIX_TABLE);
> +        break;
> +
> +    case VPCI_MSIX_PBA_TAIL:
> +        addr = vmsix_table_size(vpci, VPCI_MSIX_PBA);
> +        fallthrough;
> +    case VPCI_MSIX_PBA_HEAD:
> +        addr += vmsix_table_addr(vpci, VPCI_MSIX_PBA);
> +        break;

Hmm, wasn't the plan to stop special-casing the PBA, including its
special treatment wrt the p2m? Reading on I realize you need this for
the (future) DomU case (to enforce r/o-ness, albeit having looked at
the spec again the other day I'm not really convinced anymore we
really need to squash writes), but we should be able to avoid the
extra overhead for Dom0? (Granted it may make sense to leave this to
a separate patch, if we want to keep the DomU handling despite not
presently needing it.)

> +    }
> +
> +    table = ioremap(round_pgdown(addr), PAGE_SIZE);
> +    if ( !table )
> +        return read_atomic(&msix->table[slot]);
>  
>      spin_lock(&vpci->lock);
> -    if ( !msix->pba )
> +    if ( !msix->table[slot] )
>      {
> -        write_atomic(&msix->pba, pba);
> +        write_atomic(&msix->table[slot], table);
>          spin_unlock(&vpci->lock);
>      }
>      else
>      {
>          spin_unlock(&vpci->lock);
> -        iounmap(pba);
> +        iounmap(table);
>      }
>  
> -    return read_atomic(&msix->pba);
> +    return read_atomic(&msix->table[slot]);
>  }
>  
> -static int cf_check msix_read(
> -    struct vcpu *v, unsigned long addr, unsigned int len, unsigned long *data)
> +unsigned int get_slot(const struct vpci *vpci, unsigned long addr)
>  {
> -    const struct domain *d = v->domain;
> -    struct vpci_msix *msix = msix_find(d, addr);
> -    const struct vpci_msix_entry *entry;
> -    unsigned int offset;
> +    unsigned long pfn = PFN_DOWN(addr);
>  
> -    *data = ~0ul;
> +    /*
> +     * The logic below relies on having the tables identity mapped to the guest
> +     * address space, or for the `addr` parameter to be translated into its
> +     * host physical memory address equivalent.
> +     */
>  
> -    if ( !msix )
> -        return X86EMUL_RETRY;
> +    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_TABLE)) )
> +        return VPCI_MSIX_TBL_HEAD;
> +    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_TABLE) +
> +                         vmsix_table_size(vpci, VPCI_MSIX_TABLE) - 1) )
> +        return VPCI_MSIX_TBL_TAIL;
> +    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_PBA)) )
> +        return VPCI_MSIX_PBA_HEAD;
> +    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_PBA) +
> +                         vmsix_table_size(vpci, VPCI_MSIX_PBA) - 1) )
> +        return VPCI_MSIX_PBA_TAIL;
> +
> +    ASSERT_UNREACHABLE();
> +    return -1;
> +}
>  
> -    if ( !access_allowed(msix->pdev, addr, len) )
> -        return X86EMUL_OKAY;
> +static bool adjacent_handle(const struct vpci_msix *msix, unsigned long addr)
> +{
> +    unsigned int i;
>  
>      if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) )
> +        return true;
> +
> +    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_TABLE) )
> +        return false;
> +
> +    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
> +        if ( VMSIX_ADDR_SAME_PAGE(addr, msix->pdev->vpci, i) )
> +            return true;
> +
> +    return false;
> +}
> +
> +static int adjacent_read(const struct domain *d, const struct vpci_msix *msix,
> +                         unsigned long addr, unsigned int len,
> +                         unsigned long *data)
> +{
> +    const void __iomem *mem;
> +    struct vpci *vpci = msix->pdev->vpci;
> +    unsigned int slot;
> +
> +    *data = ~0ul;
> +
> +    if ( !adjacent_handle(msix, addr + len - 1) )
> +        return X86EMUL_OKAY;
> +
> +    if ( addr & (len - 1) )

unlikely()?

>      {
> -        struct vpci *vpci = msix->pdev->vpci;
> -        unsigned int idx = addr - vmsix_table_addr(vpci, VPCI_MSIX_PBA);
> -        const void __iomem *pba = get_pba(vpci);
> +        unsigned int i;
> +
> +        gprintk(XENLOG_DEBUG, "%pp: unaligned read to MSI-X related page\n",
> +                &msix->pdev->sbdf);
>  
>          /*
> -         * Access to PBA.
> +         * Split unaligned accesses into byte sized ones. Shouldn't happen in
> +         * the first place, but devices shouldn't have registers in the same 4K
> +         * page as the MSIX tables either.
>           *
> -         * TODO: note that this relies on having the PBA identity mapped to the
> -         * guest address space. If this changes the address will need to be
> -         * translated.
> +         * It's unclear whether this could cause issues if a guest expects a
> +         * registers to be accessed atomically, it better use an aligned access
> +         * if it has such expectations.
>           */
> -        if ( !pba )
> -        {
> -            gprintk(XENLOG_WARNING,
> -                    "%pp: unable to map MSI-X PBA, report all pending\n",
> -                    &msix->pdev->sbdf);
> -            return X86EMUL_OKAY;
> -        }
>  
> -        switch ( len )
> +        for ( i = 0; i < len; i++ )
>          {
> -        case 4:
> -            *data = readl(pba + idx);
> -            break;
> +            unsigned long partial = ~0ul;

Pointless initializer (~0ul is written first thing above, i.e. also in
the recursive invocation). Then again that setting is also redundant
with msix_read()'s. So I guess the initializer wants to stay but the
setting at the top of the function can be dropped.

> +            int rc = adjacent_read(d, msix, addr + i, 1, &partial);
>  
> -        case 8:
> -            *data = readq(pba + idx);
> -            break;
> +            if ( rc != X86EMUL_OKAY )
> +                return rc;
>  
> -        default:
> -            ASSERT_UNREACHABLE();
> -            break;
> +            *data &= ~(0xfful << (i * 8));
> +            *data |= ((uint8_t)partial) << (i * 8);

This is UB for i >= 4; you'd need to cast back to unsigned long, at which
point I think the cast-free variant of masking by 0xff is to be preferred.

>          }
>  
>          return X86EMUL_OKAY;
>      }
>  
> +    slot = get_slot(vpci, addr);
> +    if ( slot >= ARRAY_SIZE(msix->table) )
> +        return X86EMUL_OKAY;
> +
> +    mem = get_table(vpci, slot);
> +    if ( !mem )
> +    {
> +        gprintk(XENLOG_WARNING,
> +                "%pp: unable to map MSI-X page, returning all bits set\n",
> +                &msix->pdev->sbdf);
> +        return X86EMUL_OKAY;
> +    }

Could this be moved ahead of the unaligned handling, so there would be
(commonly) only one such log message even for accesses we split?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 12:14:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 12:14:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511873.791245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peEOi-0007Yj-RI; Mon, 20 Mar 2023 12:13:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511873.791245; Mon, 20 Mar 2023 12: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 1peEOi-0007Yc-OI; Mon, 20 Mar 2023 12:13:56 +0000
Received: by outflank-mailman (input) for mailman id 511873;
 Mon, 20 Mar 2023 12: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peEOh-0007YU-LS
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 12:13:55 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061e.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id adf2dce5-c718-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 13:13:53 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9626.eurprd04.prod.outlook.com (2603:10a6:10:309::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 12:13:50 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 12:13: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: adf2dce5-c718-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QxmPTqKxXuWb+ndm6lsEAJDDwbU9gdO7C6TGJiJDX2ceU97Qr6FnY8FbCX9bZYo+ff09K9nFX4tWiRg97F2Oqa1GRehaSqSqkmZqTL/cmUSTZ33bbE8zsoSiKxd+HOBLxmqVgdghbiquVw11hAtKiay9b4eKMDjztffkpHwivB9wgXNgMyVzgSYSFV+y0eEhGwppooPJjfxYEYDDiiNXpUfJVnVYtSRJrthNzXsHc9jkchUB3Pj07CMI8rvAmrCejMYd+EUNPxOaRNOcuC8TLOA77YXzHQLz1eo8G9pMCzdw88rDJUw6xc7MV+g8uhaczmhreIGSiNXxrSGHUuOkcw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CzKOI6iVSjEoLgjJ/8u8+fttePmh6/XEFxae61/6/Mg=;
 b=Qbaaut1RbZ1gWEE0MT4F3vMjQnmqTdC9jItp7t9KRdkGyLCNcm8vFwQximn7iBgRcjnENwsztCpfaKuB3RvmQUToAEdUZRBPD1tm59zX8hYA+Ou69Rkdiv08qoux4p5gPk7TCi2xioKx83ZWTwknzKtMx7sL7kq+Z2IRm/UgJuNnatmCLVY+6xnw7lD92gG3XB8aF7F5k/Dj3r1fC8BrSyyM23cDlGDIuQKo3ae+t3FGjystvMRutuuNeDeZCyL6rpSeToiUm+o9yW/Ci/kw3ZXcuT6VwME7ffCi6cfLMiGX0am92xbOg1o27VDowBStz9gwPEhhTDtFmVZGdRG/YQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CzKOI6iVSjEoLgjJ/8u8+fttePmh6/XEFxae61/6/Mg=;
 b=s/zdBrT45C7uC+W1td0LFX48LJ+Vrw0kdHDoilB7TX9FSZQji49ErdCKq+HWDUiTUtBp5M+Pg07RI9H7fDuvo33euAQashMZQKYPg08FTv6P8W6XZwm1Gr7viUfe5Im4HYViB7uBW8b/DYBh+HR8XvKqW0rtWfFjbOblZYVgBQFoE230XVBRKMOb5hzE3JysJnBbpEzMBC+577CJn9rDxR1uY4vBFS96G3TjLKxtjFd9pZH268BV4ahWKXDQf41513kWKG+ZbFkwrg3I/y2DuMsrNeM/bHOavQGZDOuUg5/lw8uJUT3VaAyCUi4qmSzsETcXO5inJRhLElZHFn32Zg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f4421e0d-1346-4837-8fef-ec1d4d589219@suse.com>
Date: Mon, 20 Mar 2023 13:13:50 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3] xen/console: Skip switching serial input to non
 existing domains
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.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: <20230320081935.18367-1-michal.orzel@amd.com>
 <39426526-c576-e3e3-4cb2-d3741d447bdd@suse.com>
 <66a3b439-478c-64c9-c713-b3ce6d3b779b@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <66a3b439-478c-64c9-c713-b3ce6d3b779b@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0094.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9626:EE_
X-MS-Office365-Filtering-Correlation-Id: fd25bd51-1bb0-46cf-6308-08db293c8e37
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	526XgKodr+df/NYRHM8lYOmjS8ePufJnyM2wYZ48Y6JEdJbIAYlQf7owhtna0qdyWAotMZf5V+N+WaNktw94fVV7sAqCipj62/L1OZx/sLAkhLrKVbZnUy7RPSYZhqeomnURqjdamatt7qank7w5D9WECJeNve/rgvqKZZKKabS2CSfz7WNT64RIZOsaJf1qZcPRBNKdNdcJFB8GUAgkoFjZCKrNb2USujQ4CHU8kHrxZT8yFMb4kUXpvZR9U9S0SVeX0DOaUKnzzSQKkH6m6JTBrA9kOptCPPKQrrA1SQTN2YNgsLIDaioB8yXMRVcwYSj+XcplsPszvcWHgpdheooJqMkjhGkgwjQPgegMoesMVl/GldmenrfFnbrFC2cRbKZyZCZfyEbNNp4sEPurKLAyr+mBYMG7fF11z7o2EGrobbZ2nw92YcTnL462yQGGax2KtbD2m9kKV1xdqoHexzy2iP+qBU69VGz1bcxnuV53Kbbg5+RKVLSB1toeXpY1yq8pK9bFI00Ij7H0zVtS9Qb2ztrb3+IAlcBnkyJF/72Sc5tZnCFeXTrDn1TRI2ujoWzsz2q/HomdTCu7P9Gszc0lv0GPvoAZDXKY85+2dPulDOcRJfNMcAN5uNs+vAdnvQtPX6Grj9jf90TVxFMyGhDz57xAcNjmTN/rG2xlLdYYZ+GmdGlQptuQ4AgGU5+12mhAMAYS4V0J5ARjcHOzb1lzn/pYJcLqn0VxlIJSRyY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(346002)(136003)(366004)(376002)(451199018)(38100700002)(66556008)(2616005)(2906002)(478600001)(31686004)(316002)(186003)(66476007)(8676002)(6916009)(66946007)(6506007)(6512007)(36756003)(53546011)(31696002)(86362001)(4326008)(54906003)(26005)(4744005)(6666004)(41300700001)(5660300002)(8936002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WTdPK3RBQVJaNGZaZUxBZGlNaEUwakJRUXB3WEVwdnpVWDVhM21KUVJIYUtu?=
 =?utf-8?B?NTIrMUF0c2xmOFRCdGgwWXpkdGJtZWFLY2l6TUR3M0tVa3pBREt6Q3hIdHgz?=
 =?utf-8?B?VTBaOEo4SUVxWkhYalVrWGVqdGF2MVN1T2Jab1lSYmtVKzIyT0dWREtFRDJR?=
 =?utf-8?B?R09SbW9uTXExMWl3ZHg1dU96T2FWUTJLMUw1OUF1Z3lXR1RMOVdrbGZxYTg5?=
 =?utf-8?B?ajVYY1dpN0pYZ3VnQTJGWHhId282bitKWnBManV2K09rb3BiRDZ3aXVFWnov?=
 =?utf-8?B?eGx3ZnJFU01DRlE2WTFnMWNpZndpc0loQkF1cTVaeFptNDFCZk4vU3RWUXFR?=
 =?utf-8?B?KzdzZUlRbWRtY1ZaRmR5UWV5RW5yWHdieGRNSDZ3aitJcDRhUHNnUXVxK201?=
 =?utf-8?B?aVpjSWVubURTaGRWekl1dFhldytmRVVCRFVHSUtmSW1MYy92VGJ5TUNHVlZF?=
 =?utf-8?B?VEx2eUpDL2NneENKbWp0V2kraGtjbmdoQnN2cGlQL3RhckY1UzkxZnhVUVZX?=
 =?utf-8?B?RTQxazFNR1VzU2FzdWRkMXZ5WEc0VDF5ZEdoRzhrMWxTUytDQlF2TjVXQnBi?=
 =?utf-8?B?VHpBaU5XMHAyQU5QT28wMCsvUUQ0MGNKMXI3OHd1clBDQ0d5YzJDanpoL1M1?=
 =?utf-8?B?blhWN3pPZGZ2b01wVTV3OUJrWlpIMHVKVkNnWjBNK3ErSUdXT3V6aWNRYWNt?=
 =?utf-8?B?eUJzSW5vaVA4ZU15S1RQZHFoL3F3a1NLODFsZkhiVFNNZVdOUjZ0cHZxVkxW?=
 =?utf-8?B?c0tOSU13Vm14d3ZMNWRPN25jWVZEMk1NaStDNUVEM1QvbU8reSs4ZjhWMWRR?=
 =?utf-8?B?RllleFRDdGxmckhkQnVzdnpwVGtsRC8zSU9WUlVzS2JuZitnOEwzdzhNN1RY?=
 =?utf-8?B?Ri9FMGdiSmFSV2dYM0luMS9yME9TWUVVWW5jdXFSMWxFYXh2TTBicWFkNTlq?=
 =?utf-8?B?SnprK0swanVxd3paRjZIYWI2ajI1dkFWbXpiLzIrZzA5MmQ1UzhRT2RHSWRO?=
 =?utf-8?B?S2hxY01IQWRUdVp0WTBWTHI0MmxBUkh4dWFGQTF4QUZQbVlicnRTMHhHQ2xK?=
 =?utf-8?B?dFFtVnZibmJuYi9pNTVWdVk2ZlgzcnN5T3plbDBJWjBqdHB0NU5EUFZzWFNZ?=
 =?utf-8?B?M1hyeitXdHBlT1RLRzlZTzlIWTV1MlBmdkRuVlBiRDdXVFJaT09yanNsRmxE?=
 =?utf-8?B?NGNVUWJrQWFDWlJXckM3MmJnci8wTy9rNDdtR1ZwbEw0Sy8zUzBKNVQ1NnpF?=
 =?utf-8?B?Mi9KUUdSaldHdzI1anM3UXRuZW9wVU5LT2RtSWhlSkVQcXVGSmRjNGlURDcv?=
 =?utf-8?B?eWpyTVo5Vk9BMkpyVldZL0JpVWMra01wbDZMOTAxWVpnc3J4VzdsVHFIRHBQ?=
 =?utf-8?B?aUgyRHEyZk8xWEI3NTdpbGdBcGRYdm8rZlVWSUFzVmhHUjdURUo3bDJlS1or?=
 =?utf-8?B?Z2o4ang5NjQ0V3J3eGwvT1VScW80TTE0ekg5MURIKzAyNElRR3ZQME9DS2V5?=
 =?utf-8?B?TEtxcmhSSHNWR2VGNUNjc0E0Y1ltWGV0eUk0cE9RUWhoc1NWVERSc25Gb1BU?=
 =?utf-8?B?T28zNG1DSUZGdVRZWlhpbVYwYWZ6cWswbWlkTnQ3Yk51c2dqNmFWM2Fvd3Jy?=
 =?utf-8?B?QjBCVUdOTThIckdEbjdrR3llWkp3dTFPd0tZMm1QZnlYZDdXMDM0dXFvTits?=
 =?utf-8?B?Y0tDTlE2KzJoWmlMU1dlQ2xVMGp0TVRId2hpOVUvTWVsQmdETnNpZ0RyK0cr?=
 =?utf-8?B?S1BTNTNSeWhUTHoyWTZoZjM4SGR2ZUJNYkVJbFhmRExLRjNBVG5ONzhPY3JL?=
 =?utf-8?B?QVkzNXkzRnc0ajlyQmZFN3lqL1ZZMW9HNkwwUGpxK0FrUDU0Qkk2RFhmRVN2?=
 =?utf-8?B?cmpJSnMwUVBxWUZZdGJhdit6UW5RZFZiRnpMVHB0NE5jWjY3MDUxVXdTQUh3?=
 =?utf-8?B?ZmRGRmRrR0NQMXN1YUYzOWdML21SRFJRUGNEamozalhLdWRZRVJ5cDFvM0o4?=
 =?utf-8?B?SkZOU2pBOGRNdU43OG5pQTRLMmk2MGhQaFRRaVphMUdXeDMyaTNHOFJMQ3FD?=
 =?utf-8?B?cWxSN3FyTWM5V0JCeDB1Y1JqWkF6QU40UkMrVk9Lazc3aWVhaUc5S3Z6STI0?=
 =?utf-8?Q?nw61j/XTIbjBHwQ5WsGeHM+b4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fd25bd51-1bb0-46cf-6308-08db293c8e37
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 12:13:46.6799
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gxL89ayz+oCMpyWIdbSyNPQkx9cdM/zYsax+qJCYLNCTTAA7nYjGe84Id0UHYexo/+Jk5e87a9TSOKm/R/6cyg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9626

On 20.03.2023 13:07, Michal Orzel wrote:
> On 20/03/2023 12:17, Jan Beulich wrote:
>> One other transformation for you to consider is to switch to a base
>> layout like
>>
>>     unsigned int next_rx = console_rx;
>>     while ( next_rx++ <= max_console_rx )
>>     {
>>         ...
>>     }
>>
>> i.e. without a separate increment at the bottom of the loop. Which,
>> now that I've spelled it out, raises the question of why the outer
>> loop needs a condition in the first place (because as written above
>> it clearly is always true). So perhaps better (and more directly
>> showing what's going on)
>>
>>     unsigned int next_rx = console_rx;
>>     for ( ; ; )
>>     {
>>         if ( next_rx++ >= max_console_rx )
>>         ...
>>     }
> Makes sense to me so I will do this assuming that you agree on adding your Rb tag also
> for this approach.

I do, yes.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 12:21:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 12:21:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511878.791255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peEVe-0000ok-OV; Mon, 20 Mar 2023 12:21:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511878.791255; Mon, 20 Mar 2023 12:21: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 1peEVe-0000od-KZ; Mon, 20 Mar 2023 12:21:06 +0000
Received: by outflank-mailman (input) for mailman id 511878;
 Mon, 20 Mar 2023 12:21: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 1peEVc-0000oP-SF; Mon, 20 Mar 2023 12:21: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 1peEVc-0002FY-Nw; Mon, 20 Mar 2023 12:21: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 1peEVc-0003Oo-76; Mon, 20 Mar 2023 12:21:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1peEVc-0000de-6d; Mon, 20 Mar 2023 12:21: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=zauX0JWeXmt3e/erbw31nyB89+yVdryT2xXH+ilp2TE=; b=i/xB8CfnZPekIgIdydIpMfhivx
	27btZ0uDIORpp309bd8rxAfIKlBg+3/mICCLI3V8TWx+ikBal72xF0qbKcpb9CjtSpdceqtlcPXob
	fLp7DGU/dWr7Xo952rJp8nR2Xoo+owR8WvBtj+sHg2gGQrKCWczM4Nm+uqS31ZoR4uo0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179799-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179799: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=9bf21fcaef07f68ab52d0382ff554616a1cf66d8
X-Osstest-Versions-That:
    xen=9bf21fcaef07f68ab52d0382ff554616a1cf66d8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Mar 2023 12:21:04 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail in 179770 pass in 179799
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail pass in 179770
 test-amd64-amd64-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail pass in 179770

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat    fail  like 179742
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179770
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179770
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179770
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179770
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179770
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179770
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179770
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179770
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179770
 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-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  9bf21fcaef07f68ab52d0382ff554616a1cf66d8
baseline version:
 xen                  9bf21fcaef07f68ab52d0382ff554616a1cf66d8

Last test of basis   179799  2023-03-20 02:03:59 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 Mar 20 12:37:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 12:37:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511884.791265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peEl1-0002X1-4S; Mon, 20 Mar 2023 12:36:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511884.791265; Mon, 20 Mar 2023 12:36:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peEl1-0002Wu-0v; Mon, 20 Mar 2023 12:36:59 +0000
Received: by outflank-mailman (input) for mailman id 511884;
 Mon, 20 Mar 2023 12:36: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=K00X=7M=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1peEkz-0002Wo-7N
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 12:36:57 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20620.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e24d643a-c71b-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 13:36:50 +0100 (CET)
Received: from BN9PR03CA0959.namprd03.prod.outlook.com (2603:10b6:408:108::34)
 by SA1PR12MB7174.namprd12.prod.outlook.com (2603:10b6:806:2b1::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 12:36:47 +0000
Received: from BL02EPF0000EE3E.namprd05.prod.outlook.com
 (2603:10b6:408:108:cafe::c6) by BN9PR03CA0959.outlook.office365.com
 (2603:10b6:408:108::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Mon, 20 Mar 2023 12:36:46 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0000EE3E.mail.protection.outlook.com (10.167.241.135) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.30 via Frontend Transport; Mon, 20 Mar 2023 12:36:46 +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.2375.34; Mon, 20 Mar
 2023 07:36:45 -0500
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.2375.34
 via Frontend Transport; Mon, 20 Mar 2023 07:36:44 -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: e24d643a-c71b-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hpMDwvg2Zvaf4XLf2CMN7bqlUFpq1ktlaRGM+zwpmoA5t3O3PB6H0v3fnWUL6fcxQyQ9sR/RPPwG9Ivh/IPDdCmuYnue89HEUuuKVGfIHfjv5s9kGYOZ/l7vYML+zJVvYdcPXChvIjUGHB+bpVw/FdQvzYvJXNzDu8H+rNydo/gsiPTBvHQ5pXZvboe/adpRK4JpbLzjLq5mo0vMFPEElDp5Do8tsSjMR6VEopA+0TOighzUi0xOgYC73cVv+1v17Ez3DdsLhBZe5LU2bA+W1KyqYLqmds63gzV7D0vJf/Z0POn77IUGeT+r3qyGQyNfdf4QUGDdEBaP2gMjHX6IUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bbAstaqj1D4syKfDH9cZqEhlVQIZW/tPsy1JkWBTql0=;
 b=EDI/+yBcpeY/4YSbDk5MxdJ917qjxihgQe1N4EJvR+CU2xLQSCzOlxkLXOcTtiEWgxU7wpoggeKB4BWFuItoXoxP6zeyoxXRr+qMmyBSmnugqtCGLH8/cPClVnhM1iQcDMMA1odsV8GoQ/NVdmqmEfK6WouDeVK4OEPnGwx8iSwVziDPI3rpezMpGzyqFjuhZLAEauLDaHaTHbL/7V1Npgfe0EITrYFSgpWJmlZupLUgoQ5oGR1KvFQtv2dNth3JXhyQUI47qDNogyzwCKC2Y4HsDKg9NgPXIwjxnBcCxIPImqgMWbCu6tPrbrnLcv2Dqm/56ZFU78+OO+POZSigNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bbAstaqj1D4syKfDH9cZqEhlVQIZW/tPsy1JkWBTql0=;
 b=L8pHFWCYzxexHupVT6DqftRVC1/lAmXzcpAWGWYWLOQwW2Qdz/n/6DB5ccDPSSPPMiLx9taYG2BXhrYZcvvDH/U5fWCpWCHCcB3rJDQFde4oYoxCQ2GFYLojjBAkk+O7znIqwJfQGSog1XhTT02MGBP6ZoNG6KaVJIpfm3vM1j8=
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 v4] xen/console: Skip switching serial input to non existing domains
Date: Mon, 20 Mar 2023 13:36:43 +0100
Message-ID: <20230320123643.7210-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: BL02EPF0000EE3E:EE_|SA1PR12MB7174:EE_
X-MS-Office365-Filtering-Correlation-Id: 1a6b4e29-1c97-4c61-5092-08db293fc4ab
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uQzkhaaDgtQrZIa1C8vTNDdp2XvB3dzIAESvMnvHvl1mHvdRQxy1rerL0BOuljAgi4xq8xm/kpqVBOIKoOIu9CdnbHgT7JCIf7rEioTF6KV5+LvdUFOA+uxlZjJEYmNhBaAGh6GPD4tw7V1OPTd6uFDOAJIPlGTIIWXJ3OZjG3NeFQ4dsbhJrVcC9Ua8+p2VMytdZRaSL2Ldozfa99WskVe1vm3i2AFX/WIWOo7cmdhDbufNVZCEPRcfExoqmmdJXtPO+wvtibaWV0J8Yc/oJaa3sOnHnTkpJZclcfOz/+Ghw5QtENZ3dpadBHaeB4TtAVvz9MSE9NmigU/rrlapocIXzQuYI8YhnOgoiILAK3V7fcLTWpElKTSHjm0G8J3pgVlAxJ2rfndm6a8HLgby+jqKCTRwpPJyi5DOKdttFbLxftDyXuWliIe+AxVgk1R0r9Hg9r0eLWUve6vNpF3uK5AJmv4SQutDb5+BNLBMP0CKWkZAQ9MBVGon7JocQDeaRCVeTEKiPqTKNN76bKAzkvk7ummwOOy5I4FGsA3r0a2iZTb9FewHHwGjYTENBUSi8Bg0sWtVWdxmnzjeQDKZhbGMgxj95A7pham3RrYhRDYepMcg/VBMZL2AWvz/TUS9wvYnRxHtY6lz1NUv/TaoGtCsprApCCLw0L50AY6cu+ChmFVWGrTGN9l8+xloedZDiRtnHNDSymp8DTrOP23poSZgXMhRuD0xA0K9jH8Hjf8=
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:(13230025)(4636009)(346002)(39860400002)(376002)(396003)(136003)(451199018)(46966006)(40470700004)(36840700001)(40460700003)(41300700001)(2906002)(8936002)(44832011)(5660300002)(81166007)(82740400003)(356005)(86362001)(36756003)(36860700001)(4326008)(6916009)(70586007)(8676002)(478600001)(70206006)(83380400001)(40480700001)(82310400005)(2616005)(47076005)(426003)(336012)(54906003)(316002)(26005)(186003)(1076003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 12:36:46.1828
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a6b4e29-1c97-4c61-5092-08db293fc4ab
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:
	BL02EPF0000EE3E.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7174

At the moment, we direct serial input to hardware domain by default.
This does not make any sense when running in true dom0less mode, since
such domain does not exist. As a result, users wishing to write to
an emulated UART of a domU are always forced to execute CTRL-AAA first.
The same issue is when rotating among serial inputs, where we always
have to go through hardware domain case. This problem can be elaborated
further to all the domains that no longer exist.

Modify switch_serial_input() so that we skip switching serial input to
non existing domains. Take the opportunity to define and make use of
macro max_console_rx to make it clear what 'max_init_domid + 1' means
in the console code context. Also, modify call to printk() to use correct
format specifier for unsigned int.

For now, to minimize the required changes and to match the current
behavior with hwdom, the default input goes to the first real domain.
The choice is more or less arbitrary since dom0less domUs are supposedly
equal. This will be handled in the future by adding support in boot time
configuration for marking a specific domain preferred in terms of
directing serial input to.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4:
 - use infinite loop approach
 - remove unneeded else
 - take the opportunity to fix printk format specifier
Changes in v3:
 - properly handle case where domain with highest ID no longer exists
 - define max_console_rx
Changes in v2:
 - was: xen/console: Handle true dom0less case when switching serial input
 - use a more generic approach to handle all non-existing domains
---
 xen/drivers/char/console.c | 36 +++++++++++++++++++++++++++---------
 1 file changed, 27 insertions(+), 9 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 51e5408f2114..0e410fa086df 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -473,6 +473,8 @@ static void cf_check dump_console_ring_key(unsigned char key)
  */
 static unsigned int __read_mostly console_rx = 0;
 
+#define max_console_rx (max_init_domid + 1)
+
 /* Make sure to rcu_unlock_domain after use */
 struct domain *console_input_domain(void)
 {
@@ -483,15 +485,31 @@ struct domain *console_input_domain(void)
 
 static void switch_serial_input(void)
 {
-    if ( console_rx == max_init_domid + 1 )
-    {
-        console_rx = 0;
-        printk("*** Serial input to Xen");
-    }
-    else
+    unsigned int next_rx = console_rx;
+
+    /*
+     * Rotate among Xen, dom0 and boot-time created domUs while skipping
+     * switching serial input to non existing domains.
+     */
+    for ( ; ; )
     {
-        console_rx++;
-        printk("*** Serial input to DOM%d", console_rx - 1);
+        struct domain *d;
+
+        if ( next_rx++ >= max_console_rx )
+        {
+            console_rx = 0;
+            printk("*** Serial input to Xen");
+            break;
+        }
+
+        d = rcu_lock_domain_by_id(next_rx - 1);
+        if ( d )
+        {
+            rcu_unlock_domain(d);
+            console_rx = next_rx;
+            printk("*** Serial input to DOM%u", next_rx - 1);
+            break;
+        }
     }
 
     if ( switch_code )
@@ -1089,7 +1107,7 @@ void __init console_endboot(void)
      * a useful 'how to switch' message.
      */
     if ( opt_conswitch[1] == 'x' )
-        console_rx = max_init_domid + 1;
+        console_rx = max_console_rx;
 
     register_keyhandler('w', dump_console_ring_key,
                         "synchronously dump console ring buffer (dmesg)", 0);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 12:46:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 12:46:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511891.791275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peEuI-0004F1-3U; Mon, 20 Mar 2023 12:46:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511891.791275; Mon, 20 Mar 2023 12: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 1peEuI-0004Eu-0l; Mon, 20 Mar 2023 12:46:34 +0000
Received: by outflank-mailman (input) for mailman id 511891;
 Mon, 20 Mar 2023 12:46: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=39Nd=7M=web.de=tachyon_gun@srs-se1.protection.inumbo.net>)
 id 1peEuH-0004Eo-84
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 12:46:33 +0000
Received: from mout.web.de (mout.web.de [212.227.17.11])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3bdcd39a-c71d-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 13:46:29 +0100 (CET)
Received: from [92.76.123.191] ([92.76.123.191]) by web-mail.web.de
 (3c-app-webde-bap20.server.lan [172.19.172.20]) (via HTTP); Mon, 20 Mar
 2023 13:46:28 +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: 3bdcd39a-c71d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=s29768273;
	t=1679316388; i=tachyon_gun@web.de;
	bh=l/cNGqnVuYZkqvKSq8AyaZo6WjrxLCuuhzL4hhL47Oo=;
	h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References;
	b=KqVIWJjbr3ZlwbVUcL0A/THvE2Va4q7kircE6FIC2xXa7iU96wVIKnTPqW+iPExYw
	 6dEMX7oHQJ2UkD/H7deDFFJsQHLLsWeVQFoLguH+e3jUGZE/EH2iJgwUEqhJguEfb8
	 wAD0y64LkSbnXuE3QlQ7JNxlsVa3zE0H7rb5+AgDq88ebOnMXGns2Sd6dE06FWxhg8
	 pZKkQLy3jQcQ935m9tjK3dbTZHxqEhRqGbED1Y/J4Hc2ssbk3IraQdLgMsBmU3JtEB
	 PUEy5kIZ2SLfR4LO30+pXoufbqpYLCMGZDeb4zQYVIGn5WAf87oV/St94s3bGKpZkN
	 8FzityoXVqebg==
X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6
MIME-Version: 1.0
Message-ID: <trinity-3058fb41-1250-49d2-88bc-4fbf3ef196f0-1679316388437@3c-app-webde-bap20>
From: Denis <tachyon_gun@web.de>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Subject: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from Xen
 4.0.1
Content-Type: multipart/mixed;
 boundary=rehcsed-13d9dd57-108b-435f-b80f-c82a81507656
Date: Mon, 20 Mar 2023 13:46:28 +0100
Importance: normal
Sensitivity: Normal
In-Reply-To: <f68e2621-2858-38b2-f989-32178e9f5ab2@citrix.com>
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
 <e5a4689e-27e1-6992-65f8-c59b669aeaf1@citrix.com>
 <trinity-b7bc2797-26a7-455a-8080-8d33234171c9-1679254738309@3c-app-webde-bap20>
 <f68e2621-2858-38b2-f989-32178e9f5ab2@citrix.com>
X-UI-Message-Type: mail
X-Priority: 3
X-Provags-ID: V03:K1:OYzs3+KLPfOPmpFi1d0KgdBnxe8HID6WPRXOXCh+EK+O9h8kd2PpVL4shIact0mKys4ir
 W21Y+bCSdL9N5Am7FWqIBILNc/QE0QB+I/qf75uHF2HbMm/inX2gXGr3Hikuh13aC1UxQtVZ+92L
 rNspvQyYHrbQcQKqJnyHm6pVfvZYDG8g1pRcoFQEopY1Y0vus7LG3AVjA37msUxcjGiShpX00LXP
 ctMCOPzRZk90hMdkDzWZqOT4DlOx5PROvYJWRKXNXx8866TpW+iBtIkfLPY6ZjvRt1oN3lsbsVo6
 DQ=
X-Spam-Flag: NO
UI-OutboundReport: notjunk:1;M01:P0:5h7jsF0OYmA=;AQQV2xwnhWXL7KEOzRDZ2ECCCxU
 Ii11wuNbIpUWRYAuHMOS2t3ESQgIY5H9l7fxIkXyPffNc7tDtkYG3eJdCXt+yZHzmoQhCk9S4
 H7wYJXwXKo0/+gvhHC//LQJ6hFlwu9L/DTp3w4xRhy6a0CuQBh5b6ytKuUMQBNNg7/NEOG4oI
 NkErbNQMY0JlHQg+c52KOd21Hpt+NsFLkLICcaQauJXihxboA//lONvJo/ucOq/TrlLiZAUuH
 K09cgm2TO9Q+V93BvTjWC6BNZYFlG4xLVUWi8aZCl1sIqVGDUMPTvEDGSF1plNZUwy8MDGfVe
 42f6G/HpvfdOSMICX42FcFgbah4TyMk+ULdVEggDCFyXz+S6RdZ+lxQ1LaWWWo3JC/eletaHd
 skEVNZY8jTVSquDCUj+4qHLer6IMD9xGxCP89pZV+b0W7wxM+B1voO12KozejowRdI6TV5pA1
 CHNTUHnEwcnt/a0yka/9Q/9Sif/kBg7DS336XHj1kx77DaGwjFdX7H36AhRQamA74GeQdgVi4
 baVJiJbz/fvlGKhIjrUPJZ2Di7cA8M0pK4lHF3bsgPdWJ9WPLuWyMP6Vy42i1Osv0J0q3GDD1
 bCg+o4aRNWYfOXc7urUPw48RJhe+NnDoC3Ao+UfAAK4sYjHf3FTnAp7dTsj+zKyFJwJSiyYFb
 A9KCVYS1Dpr8LyiU+ep3QjKplL2o4GrWP0q8o4tR7XSM2rAMffLPpuuOpUsWa70MOtO4/+RXU
 zltqC4ek0OXIAOoTzGQGcs0bR232Vdbf3LRAODFqhlVZxUWf9wbCLAK6rA29sa3K5tPpMnfnl
 NfJfSSw1w3n2Qv27IN0Z3yYaylOV11ELixTS4pGDOidbM=

--rehcsed-13d9dd57-108b-435f-b80f-c82a81507656
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On 20=2E03=2E2023 12:01, Andrew Cooper wrote:
> On 19/03/2023 7:38 pm, Denis wrote:
> > On 14=2E03=2E2023 16:11, Andrew Cooper wrote:
> >> On 14/03/2023 2:53 pm, Denis wrote:
> >>> On 14=2E03=2E2023 07:37; Jan Beulich wrote:
> >>>> On 14=2E03=2E2023 02:15, Denis wrote:
> >>>>> On 13=2E03=2E2023 10:36, Jan wrote
> >>>>>> On 10=2E03=2E2023 21:50, Denis wrote:
> >>>>>>> Should I test something else?
> >>>>>> =2E=2E=2E there was no request for any further testing here, for =
the moment=2E
> >>>>> ah=2E=2E=2Esorry, going by "Would be nice to have this confirmed f=
orthe system
> >>>>> in question, i=2Ee=2E without Xen underneath Linux" I thought I co=
uld test
> >>>>> something which might help shed some light on all of this=2E
> >>>> Well, yes, that Linux-without-Xen test would still be useful to hav=
e
> >>>> results from=2E I didn't account for this in my earlier reply becau=
se
> >>>> I had asked for it before already, and I did take "something else"
> >>>> for meaning anything that might have turned up as useful from the n=
ew
> >>>> data you had provided=2E
> >>> What tests could I do or what info should I provide to help?
> >> Can you please rebuild Xen with this patch:
> >>
> >> diff --git a/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> >> b/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> >> index 2fdebd2d74c9=2E=2E747eae25f56c 100644
> >> --- a/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> >> +++ b/xen/drivers/passthrough/amd/iommu_acpi=2Ec
> >> @@ -1033,7 +1033,7 @@ static int __init parse_ivrs_table(struct
> >> acpi_table_header *table)
> >> =C2=A0=C2=A0=C2=A0=C2=A0 const struct acpi_ivrs_header *ivrs_block;
> >> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long length;
> >> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned int apic;
> >> -=C2=A0=C2=A0=C2=A0 bool_t sb_ioapic =3D !iommu_intremap;
> >> +=C2=A0=C2=A0=C2=A0 bool_t sb_ioapic =3D 1;
> >> =C2=A0=C2=A0=C2=A0=C2=A0 int error =3D 0;
> >> =C2=A0
> >> =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON(!table);
> >>
> >> which should cause the behaviour to revert back to that of Xen 4=2E0=
=2E1=C2=A0
> >> (i=2Ee=2E it will fully ignore the checks relating to the southbridge=
 ioapic)=2E
> >>
> >> Confirm that with this, and booting Xen simply with `iommu=3D1` that =
full
> >> DMA remapping and interrupt remapping is considered active=2E
> >>
> >>
> >> Then, can you play around with passing the soundblaster through to VM=
s=2E=C2=A0
> >> Looking at the LSPCI you provided, it only supports legacy line inter=
rupts=2E
> >>
> >> Does the device work fine, or do you get a bunch of errors on `xl dme=
sg`
> >> about IO page faults (which is a generic "IOMMU said no to something"
> >> message)?
> > Sorry, it took my awhile to get it done=2E
> >
> > The relevant things are enabled again, passthrough works (even the PCI=
 Audigy2)=20
> > and the devices are recognzied in the HVM domU=2E
> >
> > As you suspected, there are a few IO page faults at the end of the boo=
t process
> > (from my limited understanding it's maybe related to=20
> > "00:14=2E0 SMBus: Advanced Micro Devices, Inc=2E [AMD/ATI] SBx00 SMBus=
 Controller (rev 41)")
> >
> > I'll attach the "xl dmesg" output file=2E
>=20
> Do you have this file?
>=20
> If they're only at the end of boot and not later around passthrough,
> then they might be from other functionality in the Southbridge=2E

Sorry, my bad, forgot to attach it :(

After booting, the messages appear only ant the end, yet when running the =
HVM domU,
a few lines pop up there as well=2E

Also, the domU in question seems to use more CPU that it did on the old sy=
stem=2E
I don't know if this is a downside of the newer Xen versions and the chnge=
s made
over time=2E=20
=20

Denis
--rehcsed-13d9dd57-108b-435f-b80f-c82a81507656
Content-Type: text/plain
Content-Disposition: attachment; filename=xl_dmesg_patched_iommu.txt

(XEN) Xen version 4.14.5 (Devuan 4.14.5+86-g1c354767d5-1) (pkg-xen-devel@lists.alioth.debian.org) (x86_64-linux-gnu-gcc (Debian 10.2.1-6) 10.2.1 20210110) debug=n  Fri Nov  4 19:25:46 UTC 2022
(XEN) build-id: 0f2f44d0ec7833c8466e02314aff674d56788116
(XEN) Bootloader: GRUB 2.06-3~deb11u5
(XEN) Command line: placeholder dom0_mem=768M,max:768M iommu=1,debug loglvl=all guest_loglvl=all
(XEN) Xen image load base address: 0xcf400000
(XEN) Video information:
(XEN)  VGA is text mode 80x25, font 8x16
(XEN)  VBE/DDC methods: V2; EDID transfer time: 1 seconds
(XEN) Disc information:
(XEN)  Found 1 MBR signatures
(XEN)  Found 1 EDD information structures
(XEN) CPU Vendor: AMD, Family 16 (0x10), Model 4 (0x4), Stepping 3 (raw 00100f43)
(XEN) Xen-e820 RAM map:
(XEN)  [0000000000000000, 000000000009b7ff] (usable)
(XEN)  [000000000009f800, 000000000009ffff] (reserved)
(XEN)  [00000000000f0000, 00000000000fffff] (reserved)
(XEN)  [0000000000100000, 00000000cfceffff] (usable)
(XEN)  [00000000cfcf0000, 00000000cfcf0fff] (ACPI NVS)
(XEN)  [00000000cfcf1000, 00000000cfcfffff] (ACPI data)
(XEN)  [00000000cfd00000, 00000000cfdfffff] (reserved)
(XEN)  [00000000e0000000, 00000000efffffff] (reserved)
(XEN)  [00000000fec00000, 00000000ffffffff] (reserved)
(XEN)  [0000000100000000, 000000042fffffff] (usable)
(XEN) ACPI: RSDP 000F6100, 0014 (r0 GBT   )
(XEN) ACPI: RSDT CFCF1000, 0044 (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: FACP CFCF1080, 0074 (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: DSDT CFCF1100, 7BE3 (r1 GBT    GBTUACPI     1000 MSFT  3000000)
(XEN) ACPI: FACS CFCF0000, 0040
(XEN) ACPI: SSDT CFCF8DC0, 088C (r1 PTLTD  POWERNOW        1  LTP        1)
(XEN) ACPI: HPET CFCF9680, 0038 (r1 GBT    GBTUACPI 42302E31 GBTU       98)
(XEN) ACPI: MCFG CFCF96C0, 003C (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: MATS CFCF9700, 0034 (r1 GBT                    0             0)
(XEN) ACPI: TAMG CFCF9770, 0202 (r1 GBT    GBT   B0 5455312E BG 53450101)
(XEN) ACPI: APIC CFCF8D00, 00BC (r1 GBT    GBTUACPI 42302E31 GBTU  1010101)
(XEN) ACPI: IVRS CFCF99F0, 00C0 (r1  AMD     RD890S   202031 AMD         0)
(XEN) System RAM: 16380MB (16773676kB)
(XEN) No NUMA configuration found
(XEN) Faking a node at 0000000000000000-0000000430000000
(XEN) Domain heap initialised
(XEN) found SMP MP-table at 000f46f0
(XEN) DMI 2.4 present.
(XEN) Using APIC driver default
(XEN) ACPI: PM-Timer IO Port: 0x808 (32 bits)
(XEN) ACPI: SLEEP INFO: pm1x_cnt[1:804,1:0], pm1x_evt[1:800,1:0]
(XEN) ACPI:             wakeup_vec[cfcf000c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x02] lapic_id[0x02] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x03] lapic_id[0x03] enabled)
(XEN) ACPI: LAPIC (acpi_id[0x04] lapic_id[0x04] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x05] lapic_id[0x05] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x06] lapic_id[0x06] disabled)
(XEN) ACPI: LAPIC (acpi_id[0x07] lapic_id[0x07] disabled)
(XEN) ACPI: LAPIC_NMI (acpi_id[0x00] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x01] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x02] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x03] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x05] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x06] dfl dfl lint[0x1])
(XEN) ACPI: LAPIC_NMI (acpi_id[0x07] dfl dfl lint[0x1])
(XEN) ACPI: IOAPIC (id[0x08] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 8, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: IRQ0 used by override.
(XEN) ACPI: IRQ2 used by override.
(XEN) ACPI: IRQ9 used by override.
(XEN) Enabling APIC mode:  Flat.  Using 1 I/O APICs
(XEN) ACPI: HPET id: 0x10b9a201 base: 0xfed00000
(XEN) PCI: MCFG configuration 0: base e0000000 segment 0000 buses 00 - ff
(XEN) PCI: MCFG area at e0000000 reserved in E820
(XEN) PCI: Using MCFG for segment 0000 bus 00-ff
(XEN) AMD-Vi: Found MSI capability block at 0x54
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) SMP: Allowing 8 CPUs (4 hotplug CPUs)
(XEN) IRQ limits: 24 GSI, 808 MSI/MSI-X
(XEN) No SSBD controls available
(XEN) CPU0: 800 ... 2600 MHz
(XEN) CPU0: AMD Fam10h machine check reporting enabled
(XEN) Speculative mitigation facilities:
(XEN)   Hardware hints:
(XEN)   Hardware features:
(XEN)   Compiled-in support: INDIRECT_THUNK SHADOW_PAGING
(XEN)   Xen settings: BTI-Thunk RETPOLINE, SPEC_CTRL: No, Other: BRANCH_HARDEN
(XEN)   Support for HVM VMs: RSB
(XEN)   Support for PV VMs: RSB
(XEN)   XPTI (64-bit PV only): Dom0 disabled, DomU disabled (without PCID)
(XEN)   PV L1TF shadowing: Dom0 disabled, DomU disabled
(XEN) Using scheduler: SMP Credit Scheduler rev2 (credit2)
(XEN) Initializing Credit2 scheduler
(XEN)  load_precision_shift: 18
(XEN)  load_window_shift: 30
(XEN)  underload_balance_tolerance: 0
(XEN)  overload_balance_tolerance: -3
(XEN)  runqueues arrangement: socket
(XEN)  cap enforcement granularity: 10ms
(XEN) load tracking window length 1073741824 ns
(XEN) Platform timer is 14.318MHz HPET
(XEN) Detected 2611.812 MHz processor.
(XEN) alt table ffff82d040451290 -> ffff82d04045c334
(XEN) AMD-Vi: IVRS Block: Found type 0x10 flags 0x3e len 0x90 id 0x2
(XEN) AMD-Vi: Using IVHD type 0x10
(XEN) AMD-Vi: ACPI Table:
(XEN) AMD-Vi:  Signature IVRS
(XEN) AMD-Vi:  Length 0xc0
(XEN) AMD-Vi:  Revision 0x1
(XEN) AMD-Vi:  CheckSum 0xac
(XEN) AMD-Vi:  OEM_Id AMD
(XEN) AMD-Vi:  OEM_Table_Id RD890S
(XEN) AMD-Vi:  OEM_Revision 0x202031
(XEN) AMD-Vi:  Creator_Id AMD
(XEN) AMD-Vi:  Creator_Revision 0
(XEN) AMD-Vi: IVRS Block: type 0x10 flags 0x3e len 0x90 id 0x2
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0 -> 0x2
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x10 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x100 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x100 -> 0x101
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x28 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x30 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x38 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x400 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x68 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x500 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x500 -> 0x503
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0x88 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x90 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x90 -> 0x92
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0x98 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x98 -> 0x9a
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa0 flags 0xd7
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa3 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa4 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x43 id 0x600 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0x600 -> 0x6ff alias 0xa4
(XEN) AMD-Vi: IVHD Device Entry: type 0x2 id 0xa5 flags 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x3 id 0xb0 flags 0
(XEN) AMD-Vi:  Dev_Id Range: 0xb0 -> 0xb2
(XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0 flags 0xd7
(XEN) AMD-Vi: IVHD Special: 0000:00:14.0 variety 0x2 handle 0
(XEN) AMD-Vi: IVHD Device Entry: type 0x48 id 0 flags 0
(XEN) AMD-Vi: IVHD Special: 0000:00:00.1 variety 0x1 handle 0x8
(XEN) AMD-Vi: Disabled HAP memory map sharing with IOMMU
(XEN) AMD-Vi: using 256-entry cmd ring(s)
(XEN) AMD-Vi: IOMMU 0 Enabled.
(XEN) I/O virtualisation enabled
(XEN)  - Dom0 mode: Relaxed
(XEN) Interrupt remapping enabled
(XEN) nr_sockets: 2
(XEN) ENABLING IO-APIC IRQs
(XEN)  -> Using new ACK method
(XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1
(XEN) ..no 8254 timer found - trying HPET Legacy Replacement Mode
(XEN) ..no HPET timer found - reverting Legacy Replacement Mode
(XEN) ..MP-BIOS bug: 8254 timer not connected to IO-APIC
(XEN) ...trying to set up timer (IRQ0) through the 8259A ...  failed.
(XEN) ...trying to set up timer as Virtual Wire IRQ... works.
(XEN) Allocated console ring of 32 KiB.
(XEN) mwait-idle: does not run on family 16 model 4
(XEN) HVM: ASIDs enabled.
(XEN) SVM: Supported advanced features:
(XEN)  - Nested Page Tables (NPT)
(XEN)  - Last Branch Record (LBR) Virtualisation
(XEN)  - Next-RIP Saved on #VMEXIT
(XEN) HVM: SVM enabled
(XEN) HVM: Hardware Assisted Paging (HAP) detected
(XEN) HVM: HAP page sizes: 4kB, 2MB, 1GB
(XEN) alt table ffff82d040451290 -> ffff82d04045c334
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8010140 flags 0x8 I
(XEN) CPU1: No irq handler for vector 20 (IRQ -2147483648)
(XEN) CPU2: No irq handler for vector 20 (IRQ -2147483648)
(XEN) Brought up 4 CPUs
(XEN) CPU3: No irq handler for vector 20 (IRQ -2147483648)
(XEN) Scheduling granularity: cpu, 1 CPU per sched-resource
(XEN) Adding cpu 0 to runqueue 0
(XEN)  First cpu on runqueue, activating
(XEN) Adding cpu 1 to runqueue 0
(XEN) Adding cpu 2 to runqueue 0
(XEN) Adding cpu 3 to runqueue 0
(XEN) MCA: Use hw thresholding to adjust polling frequency
(XEN) mcheck_poll: Machine check polling timer started.
(XEN) Xenoprofile: AMD IBS detected (0x1f)
(XEN) HPET: 0 timers usable for broadcast (3 total)
(XEN) NX (Execute Disable) protection active
(XEN) Dom0 has maximum 648 PIRQs
(XEN) *** Building a PV Dom0 ***
(XEN)  Xen  kernel: 64-bit, lsb, compat32
(XEN)  Dom0 kernel: 64-bit, PAE, lsb, paddr 0x1000000 -> 0x3a00000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN)  Dom0 alloc.:   0000000418000000->000000041c000000 (172699 pages to be allocated)
(XEN)  Init. ramdisk: 000000042e29b000->000000042ffff6a4
(XEN) VIRTUAL MEMORY ARRANGEMENT:
(XEN)  Loaded kernel: ffffffff81000000->ffffffff83a00000
(XEN)  Init. ramdisk: 0000000000000000->0000000000000000
(XEN)  Phys-Mach map: 0000008000000000->0000008000180000
(XEN)  Start info:    ffffffff83a00000->ffffffff83a004b8
(XEN)  Xenstore ring: 0000000000000000->0000000000000000
(XEN)  Console ring:  0000000000000000->0000000000000000
(XEN)  Page tables:   ffffffff83a01000->ffffffff83a22000
(XEN)  Boot stack:    ffffffff83a22000->ffffffff83a23000
(XEN)  TOTAL:         ffffffff80000000->ffffffff83c00000
(XEN)  ENTRY ADDRESS: ffffffff82c3d1c0
(XEN) Dom0 has maximum 4 VCPUs
(XEN) AMD-Vi: Setup I/O page table: device id = 0, type = 0x6, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x10, type = 0x2, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x28, type = 0x2, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x30, type = 0x2, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x38, type = 0x2, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x68, type = 0x2, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x88, type = 0x7, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x90, type = 0x7, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x92, type = 0x7, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x98, type = 0x7, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x9a, type = 0x7, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa0, type = 0x7, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa3, type = 0x7, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa4, type = 0x5, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa5, type = 0x7, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xb0, type = 0x7, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xb2, type = 0x7, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.0
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.1
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.2
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.3
(XEN) AMD-Vi: Skipping host bridge 0000:00:18.4
(XEN) AMD-Vi: Setup I/O page table: device id = 0x100, type = 0x1, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x101, type = 0x1, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x400, type = 0x1, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x500, type = 0x1, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x501, type = 0x1, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x502, type = 0x1, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0x503, type = 0x1, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa4, type = 0x7, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa4, type = 0x7, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) AMD-Vi: Setup I/O page table: device id = 0xa4, type = 0x7, root table = 0x42e205000, domain = 0, paging mode = 3
(XEN) Initial low memory virq threshold set at 0x4000 pages.
(XEN) Scrubbing Free RAM in background
(XEN) Std. Loglevel: All
(XEN) Guest Loglevel: All
(XEN) Xen is relinquishing VGA console.
(XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
(XEN) Freed 612kB init memory
(XEN) PCI add device 0000:00:00.0
(XEN) PCI add device 0000:00:00.2
(XEN) PCI add device 0000:00:02.0
(XEN) PCI add device 0000:00:05.0
(XEN) PCI add device 0000:00:06.0
(XEN) PCI add device 0000:00:07.0
(XEN) PCI add device 0000:00:0d.0
(XEN) PCI add device 0000:00:11.0
(XEN) PCI add device 0000:00:12.0
(XEN) PCI add device 0000:00:12.2
(XEN) PCI add device 0000:00:13.0
(XEN) PCI add device 0000:00:13.2
(XEN) PCI add device 0000:00:14.0
(XEN) PCI add device 0000:00:14.3
(XEN) PCI add device 0000:00:14.4
(XEN) PCI add device 0000:00:14.5
(XEN) PCI add device 0000:00:16.0
(XEN) PCI add device 0000:00:16.2
(XEN) PCI add device 0000:00:18.0
(XEN) PCI add device 0000:00:18.1
(XEN) PCI add device 0000:00:18.2
(XEN) PCI add device 0000:00:18.3
(XEN) PCI add device 0000:00:18.4
(XEN) PCI add device 0000:01:00.0
(XEN) PCI add device 0000:01:00.1
(XEN) PCI add device 0000:04:00.0
(XEN) PCI add device 0000:05:00.0
(XEN) PCI add device 0000:05:00.1
(XEN) PCI add device 0000:05:00.2
(XEN) PCI add device 0000:05:00.3
(XEN) PCI add device 0000:06:06.0
(XEN) PCI add device 0000:06:06.1
(XEN) PCI add device 0000:06:06.2
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8000140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf80f0160 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8100160 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8000140 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8110160 flags 0x8 I
(XEN) AMD-Vi: IO_PAGE_FAULT: 0000:00:14.0 d0 addr 000000fdf8070140 flags 0x8 I
--rehcsed-13d9dd57-108b-435f-b80f-c82a81507656--



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 13:02:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 13:02:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511894.791285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peF9J-0006xA-Dm; Mon, 20 Mar 2023 13:02:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511894.791285; Mon, 20 Mar 2023 13:02:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peF9J-0006x3-Am; Mon, 20 Mar 2023 13:02:05 +0000
Received: by outflank-mailman (input) for mailman id 511894;
 Mon, 20 Mar 2023 13:02: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=QRzq=7M=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1peF9I-0006wv-4w
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 13:02:04 +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 6888dddf-c71f-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 14:02: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 AA98E1F890;
 Mon, 20 Mar 2023 13:02: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 848C113A00;
 Mon, 20 Mar 2023 13:02:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id oWDKHkpZGGQQcAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Mar 2023 13:02:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6888dddf-c71f-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679317322; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=bE9jxlwnzRP2i5+gaGU1nUuSfWi3ABMne7ETypVdgII=;
	b=Zay2zV+W8DOczjVp6EdrIMfUZY6jZ9uHMlGa8HI656u2e0WyvwpkOBB9es7bdJARR0iJDU
	19zjkQv7pEI8VcopU6MlmrjiJfJxT0mogjcrjJgxOE+5VA4d7hrbqmigvsOdGCgOjyCJgY
	5gj+pPak8M6jP9tlp5P1e556rrKU30M=
Message-ID: <0303d8a7-722f-3c84-042a-1cdb059beee6@suse.com>
Date: Mon, 20 Mar 2023 14:02:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <06591b64-2f05-a4cc-a2f3-a74c3c4a76d6@suse.com>
 <51ae9cad-3644-02cb-9cc7-28229987487d@suse.com>
 <c4d2641f-7a99-fd8a-53c5-faa277c572a2@oracle.com>
 <4e66865b-11ce-cbd1-d115-13e3743eed7b@oracle.com>
 <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>
 <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
 <0834ffcb-978d-5c5b-4efc-64f3527e1038@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] x86/Xen: make use of IBPB controlling VM assist
In-Reply-To: <0834ffcb-978d-5c5b-4efc-64f3527e1038@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------j3e8JCrW3e0yyV9YXTA1EmY2"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------j3e8JCrW3e0yyV9YXTA1EmY2
Content-Type: multipart/mixed; boundary="------------fWSvfWXpM3502uD0fF3sRIRk";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <0303d8a7-722f-3c84-042a-1cdb059beee6@suse.com>
Subject: Re: [PATCH] x86/Xen: make use of IBPB controlling VM assist
References: <06591b64-2f05-a4cc-a2f3-a74c3c4a76d6@suse.com>
 <51ae9cad-3644-02cb-9cc7-28229987487d@suse.com>
 <c4d2641f-7a99-fd8a-53c5-faa277c572a2@oracle.com>
 <4e66865b-11ce-cbd1-d115-13e3743eed7b@oracle.com>
 <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>
 <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
 <0834ffcb-978d-5c5b-4efc-64f3527e1038@suse.com>
In-Reply-To: <0834ffcb-978d-5c5b-4efc-64f3527e1038@suse.com>

--------------fWSvfWXpM3502uD0fF3sRIRk
Content-Type: multipart/mixed; boundary="------------W7RQHYhloTQSrRAtF0PUx65f"

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

T24gMjAuMDMuMjMgMTE6MTksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAxNy4wMy4yMDIz
IDE0OjU2LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMTUuMDIuMjMgMDk6MzEsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IEV2ZW50dWFsbHkgeWVzLiBCdXQgSSB3b3VsZCBwcmVm
ZXIgdG8gc29ydCB0aGUgYWJvdmUgcXVlc3Rpb24gZmlyc3QNCj4+PiAod2hpY2ggSSdtIHN1
cmUgd291bGQgaGF2ZSBiZWVuIHJhaXNlZCBieSB0aGVtLCBpbiBwZXJoYXBzIG1vcmUNCj4+
PiBoYXJzaCBhIHdheSksIGhlbmNlIHRoZSBpbml0aWFsbHkgbGltaXRlZCBleHBvc3VyZS4N
Cj4+DQo+PiBJJ2QgcmF0aGVyIGFkZCBfb25lXyBob29rIGZvciBYZW4tUFYgaW4gY2hlY2tf
YnVncygpIGp1c3QgYmVmb3JlIHRoZSBjYWxsDQo+PiBvZiBhcmNoX3NtdF91cGRhdGUoKS4g
VGhpcyBjYW4gdGhlbiBjb3JyZWN0IGFueSBuZWVkZWQgbWl0aWdhdGlvbiBzZXR0aW5ncy4N
Cj4gDQo+IERvaW5nIHRoaXMgaW4gc2luZ2xlIGNlbnRyYWwgcGxhY2UgaXMgd2hhdCBJIHdh
cyBvcmlnaW5hbGx5IGhvcGluZyBJDQo+IGNvdWxkIGRvLiBCdXQgdGhhdCBzaW1wbHkgZG9l
c24ndCB3b3JrIChhZmFpY3QpOiBJdCBpcyBmb3IgYSByZWFzb24NCj4gdGhhdCBJIGFwcGx5
IHRoZSBhZGp1c3RtZW50IGluIHRoZSBSRVRCTEVFRF9NSVRJR0FUSU9OX0lCUEIgY2FzZSwg
YnkNCj4gc3VwcHJlc3NpbmcgdGhlIHNldHRpbmcgb2YgdGhlIGZlYXR1cmUgYml0LiBOb3Qg
dGhlIGxlYXN0IGJlY2F1c2UgLi4uDQo+IA0KPj4gU28gc29tZXRoaW5nIGxpa2UgKG5vdGUg
dGhhdCBkdWUgdG8gdXNpbmcgY3B1X2ZlYXR1cmVfZW5hYmxlZChYODZfRkVBVFVSRV9YRU5Q
VikNCj4+IERDRSBpcyBoYXBwZW5pbmcgaW4gY2FzZSBDT05GSUdfWEVOX1BWIGlzbid0IGRl
ZmluZWQpIjoNCj4+DQo+PiAtLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vaHlwZXJ2
aXNvci5oDQo+PiArKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vaHlwZXJ2aXNvci5o
DQo+PiBAQCAtNjMsNCArNjMsNyBAQCB2b2lkIF9faW5pdCB4ZW5fcHZoX2luaXQoc3RydWN0
IGJvb3RfcGFyYW1zICpib290X3BhcmFtcyk7DQo+PiAgICB2b2lkIF9faW5pdCBtZW1fbWFw
X3ZpYV9oY2FsbChzdHJ1Y3QgYm9vdF9wYXJhbXMgKmJvb3RfcGFyYW1zX3ApOw0KPj4gICAg
I2VuZGlmDQo+Pg0KPj4gK2ludCBfX2luaXQgeGVuX3ZtX2Fzc2lzdF9pYnBiKGJvb2wgZW5h
YmxlKTsNCj4+ICt2b2lkIF9faW5pdCB4ZW5fcHZfZml4X21pdGlnYXRpb25zKHZvaWQpOw0K
Pj4gKw0KPj4gICAgI2VuZGlmIC8qIF9BU01fWDg2X1hFTl9IWVBFUlZJU09SX0ggKi8NCj4+
IC0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvYnVncy5jDQo+PiArKysgYi9hcmNoL3g4Ni9r
ZXJuZWwvY3B1L2J1Z3MuYw0KPj4gQEAgLTE4LDYgKzE4LDggQEANCj4+ICAgICNpbmNsdWRl
IDxsaW51eC9wZ3RhYmxlLmg+DQo+PiAgICAjaW5jbHVkZSA8bGludXgvYnBmLmg+DQo+Pg0K
Pj4gKyNpbmNsdWRlIDx4ZW4veGVuLmg+DQo+PiArDQo+PiAgICAjaW5jbHVkZSA8YXNtL3Nw
ZWMtY3RybC5oPg0KPj4gICAgI2luY2x1ZGUgPGFzbS9jbWRsaW5lLmg+DQo+PiAgICAjaW5j
bHVkZSA8YXNtL2J1Z3MuaD4NCj4+IEBAIC0xNzcsNiArMTc5LDkgQEAgdm9pZCBfX2luaXQg
Y2hlY2tfYnVncyh2b2lkKQ0KPj4gICAgICAgICAgIHNyYmRzX3NlbGVjdF9taXRpZ2F0aW9u
KCk7DQo+PiAgICAgICAgICAgbDFkX2ZsdXNoX3NlbGVjdF9taXRpZ2F0aW9uKCk7DQo+Pg0K
Pj4gKyAgICAgICBpZiAoY3B1X2ZlYXR1cmVfZW5hYmxlZChYODZfRkVBVFVSRV9YRU5QVikp
DQo+PiArICAgICAgICAgICAgICAgeGVuX3B2X2ZpeF9taXRpZ2F0aW9ucygpOw0KPj4gKw0K
Pj4gICAgICAgICAgIGFyY2hfc210X3VwZGF0ZSgpOw0KPj4NCj4+ICAgICNpZmRlZiBDT05G
SUdfWDg2XzMyDQo+PiAtLS0gYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuX3B2LmMNCj4+ICsr
KyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW5fcHYuYw0KPj4gQEAgLTE0NzYsNiArMTQ3Niwy
MyBAQCBzdGF0aWMgdWludDMyX3QgX19pbml0IHhlbl9wbGF0Zm9ybV9wdih2b2lkKQ0KPj4g
ICAgICAgICAgIHJldHVybiAwOw0KPj4gICAgfQ0KPj4NCj4+ICtpbnQgX19pbml0IHhlbl92
bV9hc3Npc3RfaWJwYihib29sIGVuYWJsZSkNCj4+ICt7DQo+PiArICAgICAgIC8qDQo+PiAr
ICAgICAgICAqIE5vdGUgdGhhdCB0aGUgVk0tYXNzaXN0IGlzIGEgZGlzYWJsZSwgc28gYSBy
ZXF1ZXN0IHRvIGVuYWJsZSBJQlBCDQo+PiArICAgICAgICAqIG9uIG91ciBiZWhhbGYgbmVl
ZHMgdG8gdHVybiB0aGUgZnVuY3Rpb25hbGl0eSBvZmYgKGFuZCB2aWNlIHZlcnNhKS4NCj4+
ICsgICAgICAgICovDQo+PiArICAgICAgIHJldHVybiBIWVBFUlZJU09SX3ZtX2Fzc2lzdChl
bmFibGUgPyBWTUFTU1RfQ01EX2Rpc2FibGUNCj4+ICsgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6IFZNQVNTVF9DTURfZW5hYmxlLA0KPj4gKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgVk1BU1NUX1RZUEVfbW9kZV9zd2l0Y2hfbm9f
aWJwYik7DQo+PiArfQ0KPj4gKw0KPj4gK3ZvaWQgX19pbml0IHhlbl9wdl9maXhfbWl0aWdh
dGlvbnModm9pZCkNCj4+ICt7DQo+PiArICAgICAgIGlmICgheGVuX3ZtX2Fzc2lzdF9pYnBi
KHRydWUpKQ0KPj4gKyAgICAgICAgICAgICAgIHNldHVwX2NsZWFyX2NwdV9jYXAoWDg2X0ZF
QVRVUkVfRU5UUllfSUJQQik7DQo+IA0KPiAuLi4gdXNpbmcgYm90aCBzZXR1cF9jbGVhcl9j
cHVfY2FwKCkgKGhlcmUpIGFuZCBzZXR1cF9mb3JjZV9jcHVfY2FwKCkNCj4gKGluIHJldGJs
ZWVkX3NlbGVjdF9taXRpZ2F0aW9uKCkgd29uJ3Qgd29yazogVGhlIGxhdHRlciB3aW5zLCBk
dWUgdG8NCj4gaG93IGFwcGx5X2ZvcmNlZF9jYXBzKCkgd29ya3MuDQoNCk9oLCByaWdodC4N
Cg0KSnVzdCBhIHdpbGQgZ3Vlc3Mgb2YgbWluZTogcHJvYmFibHkgdGhlIHg4NiBtYWludGFp
bmVycyB3b3VsZCBzdGlsbCBwcmVmZXINCmEgc2luZ2xlIFhlbiBob29rIHBsdXMgc29tZXRo
aW5nIGxpa2UgYSBzZXR1cF91bmZvcmNlX2NwdV9jYXAoKSBhZGRpdGlvbi4NCg0KPiBCdXQg
b2YgY291cnNlIGNhbGxpbmcgYm90aCBmdW5jdGlvbnMgZm9yIHRoZSBzYW1lIGZlYXR1cmUg
aXMgYm9ndXMNCj4gYW55d2F5LiBJbiBmYWN0IEkgdGhpbmsgaXQgaXMgZm9yIGEgZ29vZCBy
ZWFzb24gdGhhdCBpbiBYZW4gd2UgbG9nIGENCj4gbWVzc2FnZSBpbiBzdWNoIGFuIGV2ZW50
Lg0KDQpEZXBlbmRzLiBGb3IgWGVuIHdlIGRvIHNvIGluIHRoZSBrZXJuZWwgZm9yIG11bHRp
cGxlIGZlYXR1cmVzLCBzZWUNCnhlbl9pbml0X2NhcGFiaWxpdGllcygpLg0KDQoNCkp1ZXJn
ZW4NCg0K
--------------W7RQHYhloTQSrRAtF0PUx65f
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-----

--------------W7RQHYhloTQSrRAtF0PUx65f--

--------------fWSvfWXpM3502uD0fF3sRIRk--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQYWUoFAwAAAAAACgkQsN6d1ii/Ey8s
7Qf/Z+Jy7QTg3PeySLoGko4dDGsipEJkxjXhz6brOK1AMWhGW82thcaYs+/NHWbpqVoGbUyth8KW
6ReokJ9SyHnyMcpeL+4M865sA+EAbc4axDKx72Jwuvzi3JRaOxb1P6C1Xlgnacp+7ZuQ7OGcu4Dv
eyDS5fDIwGAL4I3e4OuRSA7+BjIW2qNeICdaa6F0pvJfU1+3OGoT1uWzPjkrBdKMFEhK+WxyDTAR
o87Pj5kn1gSQNCf3RkugPuZKy+Bww/6kaGPoT5xGO3MbVdIfmB34irWi0lGWLgTgl36Zm40selDn
Bb/Llqi1oGAx59c2lg7C9ol6/oHDrM3S0PlIyCmtGQ==
=2PLo
-----END PGP SIGNATURE-----

--------------j3e8JCrW3e0yyV9YXTA1EmY2--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 13:16:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 13:16:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511900.791298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFN3-0000MR-TA; Mon, 20 Mar 2023 13:16:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511900.791298; Mon, 20 Mar 2023 13:16:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFN3-0000MK-QW; Mon, 20 Mar 2023 13:16:17 +0000
Received: by outflank-mailman (input) for mailman id 511900;
 Mon, 20 Mar 2023 13:16: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=NTqL=7M=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1peFN2-0000MD-1r
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 13:16:16 +0000
Received: from mga03.intel.com (mga03.intel.com [134.134.136.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60f94fe6-c721-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 14:16:11 +0100 (CET)
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 20 Mar 2023 06:16:07 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by fmsmga001.fm.intel.com with ESMTP; 20 Mar 2023 06:15:58 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 0FA3050B; Mon, 20 Mar 2023 15:16:44 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 60f94fe6-c721-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679318171; x=1710854171;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=pKBg2DWRtjN/3o0GQ+Gz1Jmqpx4HtRyfpegHo4oOuDE=;
  b=klH+DgYPQPZx2ycy+5yn2zuj8aR9pJKVoJ2yQjAZnahZzZo2FwZgHaBA
   ac/bnUS63+Trd+/e2Dx2YkZ4PqMi1XYhSPFxlHmQKoBZWSID+Vic+qjSM
   2+DJtOrSA1ESRFmETE9zFMKs1QmYvI1/eKlyGA+om1tgwMEihuE0iw9L6
   qk2nnUTI6KMvRmCrByKIBPKSB6L0DLRuNvxeUxJEWeAZ5LYv7dsNPTaRb
   7ht6eMWEAY17oXtWU9v30QGuXfpW+9JaXxVwWHYJv5u3nPHLIuTkh7yf0
   nGe1tlwFOUpssYysB0qQkaAYGCLe0ymE+x7/YI1r4j+9N7n8wvHuaT5uH
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10654"; a="341015302"
X-IronPort-AV: E=Sophos;i="5.98,274,1673942400"; 
   d="scan'208";a="341015302"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10654"; a="824468996"
X-IronPort-AV: E=Sophos;i="5.98,274,1673942400"; 
   d="scan'208";a="824468996"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v6 2/4] PCI: Split pci_bus_for_each_resource_p() out of pci_bus_for_each_resource()
Date: Mon, 20 Mar 2023 15:16:31 +0200
Message-Id: <20230320131633.61680-3-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230320131633.61680-1-andriy.shevchenko@linux.intel.com>
References: <20230320131633.61680-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Refactor pci_bus_for_each_resource() in the same way as it's done in
pci_dev_for_each_resource() case. This will allow to hide iterator
inside the loop, where it's not used otherwise.

No functional changes intended.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
---
 .clang-format                      |  1 +
 drivers/pci/bus.c                  |  7 +++----
 drivers/pci/hotplug/shpchp_sysfs.c |  8 ++++----
 drivers/pci/pci.c                  |  5 ++---
 drivers/pci/probe.c                |  2 +-
 drivers/pci/setup-bus.c            | 10 ++++------
 include/linux/pci.h                | 14 ++++++++++----
 7 files changed, 25 insertions(+), 22 deletions(-)

diff --git a/.clang-format b/.clang-format
index 266abb843654..81c9f055086f 100644
--- a/.clang-format
+++ b/.clang-format
@@ -520,6 +520,7 @@ ForEachMacros:
   - 'of_property_for_each_string'
   - 'of_property_for_each_u32'
   - 'pci_bus_for_each_resource'
+  - 'pci_bus_for_each_resource_p'
   - 'pci_dev_for_each_resource'
   - 'pci_dev_for_each_resource_p'
   - 'pci_doe_for_each_off'
diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c
index 549c4bd5caec..b0789d332d36 100644
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -182,13 +182,13 @@ static int pci_bus_alloc_from_region(struct pci_bus *bus, struct resource *res,
 		void *alignf_data,
 		struct pci_bus_region *region)
 {
-	int i, ret;
 	struct resource *r, avail;
 	resource_size_t max;
+	int ret;
 
 	type_mask |= IORESOURCE_TYPE_BITS;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource_p(bus, r) {
 		resource_size_t min_used = min;
 
 		if (!r)
@@ -289,9 +289,8 @@ bool pci_bus_clip_resource(struct pci_dev *dev, int idx)
 	struct resource *res = &dev->resource[idx];
 	struct resource orig_res = *res;
 	struct resource *r;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource_p(bus, r) {
 		resource_size_t start, end;
 
 		if (!r)
diff --git a/drivers/pci/hotplug/shpchp_sysfs.c b/drivers/pci/hotplug/shpchp_sysfs.c
index 64beed7a26be..ff04f0c5e7c3 100644
--- a/drivers/pci/hotplug/shpchp_sysfs.c
+++ b/drivers/pci/hotplug/shpchp_sysfs.c
@@ -24,16 +24,16 @@
 static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char *buf)
 {
 	struct pci_dev *pdev;
-	int index, busnr;
 	struct resource *res;
 	struct pci_bus *bus;
 	size_t len = 0;
+	int busnr;
 
 	pdev = to_pci_dev(dev);
 	bus = pdev->subordinate;
 
 	len += sysfs_emit_at(buf, len, "Free resources: memory\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource_p(bus, res) {
 		if (res && (res->flags & IORESOURCE_MEM) &&
 				!(res->flags & IORESOURCE_PREFETCH)) {
 			len += sysfs_emit_at(buf, len,
@@ -43,7 +43,7 @@ static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char
 		}
 	}
 	len += sysfs_emit_at(buf, len, "Free resources: prefetchable memory\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource_p(bus, res) {
 		if (res && (res->flags & IORESOURCE_MEM) &&
 			       (res->flags & IORESOURCE_PREFETCH)) {
 			len += sysfs_emit_at(buf, len,
@@ -53,7 +53,7 @@ static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char
 		}
 	}
 	len += sysfs_emit_at(buf, len, "Free resources: IO\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource_p(bus, res) {
 		if (res && (res->flags & IORESOURCE_IO)) {
 			len += sysfs_emit_at(buf, len,
 					     "start = %8.8llx, length = %8.8llx\n",
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 7a67611dc5f4..2f8915ab41ef 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -779,9 +779,8 @@ struct resource *pci_find_parent_resource(const struct pci_dev *dev,
 {
 	const struct pci_bus *bus = dev->bus;
 	struct resource *r;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource_p(bus, r) {
 		if (!r)
 			continue;
 		if (resource_contains(r, res)) {
@@ -799,7 +798,7 @@ struct resource *pci_find_parent_resource(const struct pci_dev *dev,
 			 * be both a positively-decoded aperture and a
 			 * subtractively-decoded region that contain the BAR.
 			 * We want the positively-decoded one, so this depends
-			 * on pci_bus_for_each_resource() giving us those
+			 * on pci_bus_for_each_resource_p() giving us those
 			 * first.
 			 */
 			return r;
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index a3f68b6ba6ac..5ada4c155d3c 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -533,7 +533,7 @@ void pci_read_bridge_bases(struct pci_bus *child)
 	pci_read_bridge_mmio_pref(child);
 
 	if (dev->transparent) {
-		pci_bus_for_each_resource(child->parent, res, i) {
+		pci_bus_for_each_resource_p(child->parent, res) {
 			if (res && res->flags) {
 				pci_bus_add_resource(child, res,
 						     PCI_SUBTRACTIVE_DECODE);
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index d4fc7665f70a..d6ead027255f 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -770,9 +770,8 @@ static struct resource *find_bus_resource_of_type(struct pci_bus *bus,
 						  unsigned long type)
 {
 	struct resource *r, *r_assigned = NULL;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource_p(bus, r) {
 		if (r == &ioport_resource || r == &iomem_resource)
 			continue;
 		if (r && (r->flags & type_mask) == type && !r->parent)
@@ -1204,7 +1203,7 @@ void __pci_bus_size_bridges(struct pci_bus *bus, struct list_head *realloc_head)
 			additional_mmio_pref_size = 0;
 	struct resource *pref;
 	struct pci_host_bridge *host;
-	int hdr_type, i, ret;
+	int hdr_type, ret;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
 		struct pci_bus *b = dev->subordinate;
@@ -1228,7 +1227,7 @@ void __pci_bus_size_bridges(struct pci_bus *bus, struct list_head *realloc_head)
 		host = to_pci_host_bridge(bus->bridge);
 		if (!host->size_windows)
 			return;
-		pci_bus_for_each_resource(bus, pref, i)
+		pci_bus_for_each_resource_p(bus, pref)
 			if (pref && (pref->flags & IORESOURCE_PREFETCH))
 				break;
 		hdr_type = -1;	/* Intentionally invalid - not a PCI device. */
@@ -1333,12 +1332,11 @@ EXPORT_SYMBOL(pci_bus_size_bridges);
 
 static void assign_fixed_resource_on_bus(struct pci_bus *b, struct resource *r)
 {
-	int i;
 	struct resource *parent_r;
 	unsigned long mask = IORESOURCE_IO | IORESOURCE_MEM |
 			     IORESOURCE_PREFETCH;
 
-	pci_bus_for_each_resource(b, parent_r, i) {
+	pci_bus_for_each_resource_p(b, parent_r) {
 		if (!parent_r)
 			continue;
 
diff --git a/include/linux/pci.h b/include/linux/pci.h
index a97f026afaed..f0be961fcd7e 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1445,10 +1445,16 @@ int devm_request_pci_bus_resources(struct device *dev,
 /* Temporary until new and working PCI SBR API in place */
 int pci_bridge_secondary_bus_reset(struct pci_dev *dev);
 
-#define pci_bus_for_each_resource(bus, res, i)				\
-	for (i = 0;							\
-	    (res = pci_bus_resource_n(bus, i)) || i < PCI_BRIDGE_RESOURCE_NUM; \
-	     i++)
+#define __pci_bus_for_each_resource(bus, res, __i, vartype)			\
+	for (vartype __i = 0;							\
+	     res = pci_bus_resource_n(bus, __i), __i < PCI_BRIDGE_RESOURCE_NUM;	\
+	     __i++)
+
+#define pci_bus_for_each_resource(bus, res, i)					\
+	__pci_bus_for_each_resource(bus, res, i, )
+
+#define pci_bus_for_each_resource_p(bus, res)					\
+	__pci_bus_for_each_resource(bus, res, __i, unsigned int)
 
 int __must_check pci_bus_alloc_resource(struct pci_bus *bus,
 			struct resource *res, resource_size_t size,
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 13:16:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 13:16:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511901.791307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFN5-0000bF-5Y; Mon, 20 Mar 2023 13:16:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511901.791307; Mon, 20 Mar 2023 13:16:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFN5-0000b8-2A; Mon, 20 Mar 2023 13:16:19 +0000
Received: by outflank-mailman (input) for mailman id 511901;
 Mon, 20 Mar 2023 13:16: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=NTqL=7M=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1peFN3-0000MD-H6
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 13:16:17 +0000
Received: from mga03.intel.com (mga03.intel.com [134.134.136.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64aeb9c4-c721-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 14:16:15 +0100 (CET)
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 20 Mar 2023 06:16:08 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by fmsmga001.fm.intel.com with ESMTP; 20 Mar 2023 06:15:58 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id F13BA3DD; Mon, 20 Mar 2023 15:16:43 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64aeb9c4-c721-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679318175; x=1710854175;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=03KpgEWjTRIOrghUDlJ37yTkg0WA7G7gXnWuRYLhmBU=;
  b=LIReAgqsJoamFtotMD2owxdqiD6Q9wcWTo4v6953XzUhui0e1FJqTRN5
   w+e6Irp9RVS4oyP4xDPEygjxiMIN3GcQNUMbBkVdOtEsXwNLa/KIwotpe
   p6xOPqRIGbKMumDgjPCKMs0UGdJrkTei4tkcOwz6Tq3AzxEiO1/sYuBbt
   B7VqVCYgRooIU+qO30TI6VSgan4iQYaUyoT9mw2hCQ0AepA/yL6R+7l9P
   HENbxpF5Drq/TDMDglXnwDiQ4yDRlpCCp924JNRWeupFCj/JdTwKwBV20
   qjISvLdI6IYUDeGuomzIKdx7gJQDjc+JSNTX6ii/lA0ZFoebcBU5Tj5DN
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10654"; a="341015322"
X-IronPort-AV: E=Sophos;i="5.98,274,1673942400"; 
   d="scan'208";a="341015322"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10654"; a="824468999"
X-IronPort-AV: E=Sophos;i="5.98,274,1673942400"; 
   d="scan'208";a="824468999"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v6 1/4] PCI: Introduce pci_dev_for_each_resource()
Date: Mon, 20 Mar 2023 15:16:30 +0200
Message-Id: <20230320131633.61680-2-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230320131633.61680-1-andriy.shevchenko@linux.intel.com>
References: <20230320131633.61680-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Mika Westerberg <mika.westerberg@linux.intel.com>

Instead of open-coding it everywhere introduce a tiny helper that can be
used to iterate over each resource of a PCI device, and convert the most
obvious users into it.

While at it drop doubled empty line before pdev_sort_resources().

No functional changes intended.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
---
 .clang-format                             |  2 ++
 arch/alpha/kernel/pci.c                   |  5 ++--
 arch/arm/kernel/bios32.c                  | 16 ++++++-------
 arch/arm/mach-dove/pcie.c                 | 10 ++++----
 arch/arm/mach-mv78xx0/pcie.c              | 10 ++++----
 arch/arm/mach-orion5x/pci.c               | 10 ++++----
 arch/mips/pci/ops-bcm63xx.c               |  8 +++----
 arch/mips/pci/pci-legacy.c                |  3 +--
 arch/powerpc/kernel/pci-common.c          | 21 ++++++++--------
 arch/powerpc/platforms/4xx/pci.c          |  8 +++----
 arch/powerpc/platforms/52xx/mpc52xx_pci.c |  5 ++--
 arch/powerpc/platforms/pseries/pci.c      | 16 ++++++-------
 arch/sh/drivers/pci/pcie-sh7786.c         | 10 ++++----
 arch/sparc/kernel/leon_pci.c              |  5 ++--
 arch/sparc/kernel/pci.c                   | 10 ++++----
 arch/sparc/kernel/pcic.c                  |  5 ++--
 drivers/pci/remove.c                      |  5 ++--
 drivers/pci/setup-bus.c                   | 27 ++++++++-------------
 drivers/pci/setup-res.c                   |  4 +---
 drivers/pci/vgaarb.c                      | 17 ++++---------
 drivers/pci/xen-pcifront.c                |  4 +---
 drivers/pnp/quirks.c                      | 29 ++++++++---------------
 include/linux/pci.h                       | 15 ++++++++++--
 23 files changed, 111 insertions(+), 134 deletions(-)

diff --git a/.clang-format b/.clang-format
index d988e9fa9b26..266abb843654 100644
--- a/.clang-format
+++ b/.clang-format
@@ -520,6 +520,8 @@ ForEachMacros:
   - 'of_property_for_each_string'
   - 'of_property_for_each_u32'
   - 'pci_bus_for_each_resource'
+  - 'pci_dev_for_each_resource'
+  - 'pci_dev_for_each_resource_p'
   - 'pci_doe_for_each_off'
   - 'pcl_for_each_chunk'
   - 'pcl_for_each_segment'
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c
index 64fbfb0763b2..4458eb7f44f0 100644
--- a/arch/alpha/kernel/pci.c
+++ b/arch/alpha/kernel/pci.c
@@ -288,11 +288,10 @@ pcibios_claim_one_bus(struct pci_bus *b)
 	struct pci_bus *child_bus;
 
 	list_for_each_entry(dev, &b->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 			if (pci_has_flag(PCI_PROBE_ONLY) ||
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c
index e7ef2b5bea9c..5254734b23e6 100644
--- a/arch/arm/kernel/bios32.c
+++ b/arch/arm/kernel/bios32.c
@@ -142,15 +142,15 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C940F,
  */
 static void pci_fixup_dec21285(struct pci_dev *dev)
 {
-	int i;
-
 	if (dev->devfn == 0) {
+		struct resource *r;
+
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start = 0;
+			r->end = 0;
+			r->flags = 0;
 		}
 	}
 }
@@ -162,13 +162,11 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, pci_fixup_d
 static void pci_fixup_ide_bases(struct pci_dev *dev)
 {
 	struct resource *r;
-	int i;
 
 	if ((dev->class >> 8) != PCI_CLASS_STORAGE_IDE)
 		return;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		r = dev->resource + i;
+	pci_dev_for_each_resource_p(dev, r) {
 		if ((r->start & ~0x80) == 0x374) {
 			r->start |= 2;
 			r->end = r->start;
diff --git a/arch/arm/mach-dove/pcie.c b/arch/arm/mach-dove/pcie.c
index 754ca381f600..58cecd79a204 100644
--- a/arch/arm/mach-dove/pcie.c
+++ b/arch/arm/mach-dove/pcie.c
@@ -142,14 +142,14 @@ static struct pci_ops pcie_ops = {
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start = 0;
+			r->end   = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/arm/mach-mv78xx0/pcie.c b/arch/arm/mach-mv78xx0/pcie.c
index 6190f538a124..f59f02150a36 100644
--- a/arch/arm/mach-mv78xx0/pcie.c
+++ b/arch/arm/mach-mv78xx0/pcie.c
@@ -186,14 +186,14 @@ static struct pci_ops pcie_ops = {
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start = 0;
+			r->end   = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c
index 888fdc9099c5..0933b47b601a 100644
--- a/arch/arm/mach-orion5x/pci.c
+++ b/arch/arm/mach-orion5x/pci.c
@@ -522,14 +522,14 @@ static int __init pci_setup(struct pci_sys_data *sys)
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start	= 0;
+			r->end		= 0;
+			r->flags	= 0;
 		}
 	}
 }
diff --git a/arch/mips/pci/ops-bcm63xx.c b/arch/mips/pci/ops-bcm63xx.c
index dc6dc2741272..c0efcbf3c63f 100644
--- a/arch/mips/pci/ops-bcm63xx.c
+++ b/arch/mips/pci/ops-bcm63xx.c
@@ -413,18 +413,18 @@ struct pci_ops bcm63xx_cb_ops = {
 static void bcm63xx_fixup(struct pci_dev *dev)
 {
 	static int io_window = -1;
-	int i, found, new_io_window;
+	int found, new_io_window;
+	struct resource *r;
 	u32 val;
 
 	/* look for any io resource */
 	found = 0;
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		if (pci_resource_flags(dev, i) & IORESOURCE_IO) {
+	pci_dev_for_each_resource_p(dev, r) {
+		if (resource_type(r) == IORESOURCE_IO) {
 			found = 1;
 			break;
 		}
 	}
-
 	if (!found)
 		return;
 
diff --git a/arch/mips/pci/pci-legacy.c b/arch/mips/pci/pci-legacy.c
index 468722c8a5c6..ec2567f8efd8 100644
--- a/arch/mips/pci/pci-legacy.c
+++ b/arch/mips/pci/pci-legacy.c
@@ -249,12 +249,11 @@ static int pcibios_enable_resources(struct pci_dev *dev, int mask)
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	old_cmd = cmd;
-	for (idx = 0; idx < PCI_NUM_RESOURCES; idx++) {
+	pci_dev_for_each_resource(dev, r, idx) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<idx)))
 			continue;
 
-		r = &dev->resource[idx];
 		if (!(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
 			continue;
 		if ((idx == PCI_ROM_RESOURCE) &&
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index d67cf79bf5d0..1908a46cad54 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -880,6 +880,7 @@ int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
 static void pcibios_fixup_resources(struct pci_dev *dev)
 {
 	struct pci_controller *hose = pci_bus_to_host(dev->bus);
+	struct resource *res;
 	int i;
 
 	if (!hose) {
@@ -891,9 +892,9 @@ static void pcibios_fixup_resources(struct pci_dev *dev)
 	if (dev->is_virtfn)
 		return;
 
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		struct resource *res = dev->resource + i;
+	pci_dev_for_each_resource(dev, res, i) {
 		struct pci_bus_region reg;
+
 		if (!res->flags)
 			continue;
 
@@ -1452,11 +1453,10 @@ void pcibios_claim_one_bus(struct pci_bus *bus)
 	struct pci_bus *child_bus;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 
@@ -1705,19 +1705,20 @@ EXPORT_SYMBOL_GPL(pcibios_scan_phb);
 
 static void fixup_hide_host_resource_fsl(struct pci_dev *dev)
 {
-	int i, class = dev->class >> 8;
+	int class = dev->class >> 8;
 	/* When configured as agent, programming interface = 1 */
 	int prog_if = dev->class & 0xf;
+	struct resource *r;
 
 	if ((class == PCI_CLASS_PROCESSOR_POWERPC ||
 	     class == PCI_CLASS_BRIDGE_OTHER) &&
 		(dev->hdr_type == PCI_HEADER_TYPE_NORMAL) &&
 		(prog_if == 0) &&
 		(dev->bus->parent == NULL)) {
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start = 0;
+			r->end = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/powerpc/platforms/4xx/pci.c b/arch/powerpc/platforms/4xx/pci.c
index ca5dd7a5842a..9d19123c0da8 100644
--- a/arch/powerpc/platforms/4xx/pci.c
+++ b/arch/powerpc/platforms/4xx/pci.c
@@ -57,7 +57,7 @@ static inline int ppc440spe_revA(void)
 static void fixup_ppc4xx_pci_bridge(struct pci_dev *dev)
 {
 	struct pci_controller *hose;
-	int i;
+	struct resource *r;
 
 	if (dev->devfn != 0 || dev->bus->self != NULL)
 		return;
@@ -79,9 +79,9 @@ static void fixup_ppc4xx_pci_bridge(struct pci_dev *dev)
 	/* Hide the PCI host BARs from the kernel as their content doesn't
 	 * fit well in the resource management
 	 */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		dev->resource[i].start = dev->resource[i].end = 0;
-		dev->resource[i].flags = 0;
+	pci_dev_for_each_resource_p(dev, r) {
+		r->start = r->end = 0;
+		r->flags = 0;
 	}
 
 	printk(KERN_INFO "PCI: Hiding 4xx host bridge resources %s\n",
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pci.c b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
index 859e2818c43d..ea72ef4fc63b 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_pci.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
@@ -327,14 +327,13 @@ mpc52xx_pci_setup(struct pci_controller *hose,
 static void
 mpc52xx_pci_fixup_resources(struct pci_dev *dev)
 {
-	int i;
+	struct resource *res;
 
 	pr_debug("%s() %.4x:%.4x\n", __func__, dev->vendor, dev->device);
 
 	/* We don't rely on boot loader for PCI and resets all
 	   devices */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		struct resource *res = &dev->resource[i];
+	pci_dev_for_each_resource_p(dev, res) {
 		if (res->end > res->start) {	/* Only valid resources */
 			res->end -= res->start;
 			res->start = 0;
diff --git a/arch/powerpc/platforms/pseries/pci.c b/arch/powerpc/platforms/pseries/pci.c
index 60e0a58928ef..ee7b2c737c92 100644
--- a/arch/powerpc/platforms/pseries/pci.c
+++ b/arch/powerpc/platforms/pseries/pci.c
@@ -240,7 +240,7 @@ void __init pSeries_final_fixup(void)
  */
 static void fixup_winbond_82c105(struct pci_dev* dev)
 {
-	int i;
+	struct resource *r;
 	unsigned int reg;
 
 	if (!machine_is(pseries))
@@ -251,14 +251,14 @@ static void fixup_winbond_82c105(struct pci_dev* dev)
 	/* Enable LEGIRQ to use INTC instead of ISA interrupts */
 	pci_write_config_dword(dev, 0x40, reg | (1<<11));
 
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; ++i) {
+	pci_dev_for_each_resource_p(dev, r) {
 		/* zap the 2nd function of the winbond chip */
-		if (dev->resource[i].flags & IORESOURCE_IO
-		    && dev->bus->number == 0 && dev->devfn == 0x81)
-			dev->resource[i].flags &= ~IORESOURCE_IO;
-		if (dev->resource[i].start == 0 && dev->resource[i].end) {
-			dev->resource[i].flags = 0;
-			dev->resource[i].end = 0;
+		if (dev->bus->number == 0 && dev->devfn == 0x81 &&
+		    r->flags & IORESOURCE_IO)
+			r->flags &= ~IORESOURCE_IO;
+		if (r->start == 0 && r->end) {
+			r->flags = 0;
+			r->end = 0;
 		}
 	}
 }
diff --git a/arch/sh/drivers/pci/pcie-sh7786.c b/arch/sh/drivers/pci/pcie-sh7786.c
index b0c2a5238d04..982f9aec2f2f 100644
--- a/arch/sh/drivers/pci/pcie-sh7786.c
+++ b/arch/sh/drivers/pci/pcie-sh7786.c
@@ -140,12 +140,12 @@ static void sh7786_pci_fixup(struct pci_dev *dev)
 	 * Prevent enumeration of root complex resources.
 	 */
 	if (pci_is_root_bus(dev->bus) && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start	= 0;
-			dev->resource[i].end	= 0;
-			dev->resource[i].flags	= 0;
+		pci_dev_for_each_resource_p(dev, r) {
+			r->start	= 0;
+			r->end		= 0;
+			r->flags	= 0;
 		}
 	}
 }
diff --git a/arch/sparc/kernel/leon_pci.c b/arch/sparc/kernel/leon_pci.c
index e5e5ff6b9a5c..b6663a3fbae9 100644
--- a/arch/sparc/kernel/leon_pci.c
+++ b/arch/sparc/kernel/leon_pci.c
@@ -62,15 +62,14 @@ void leon_pci_init(struct platform_device *ofdev, struct leon_pci_info *info)
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index cb1ef25116e9..a948a49817c7 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -663,11 +663,10 @@ static void pci_claim_bus_resources(struct pci_bus *bus)
 	struct pci_dev *dev;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 
@@ -724,15 +723,14 @@ struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm,
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/arch/sparc/kernel/pcic.c b/arch/sparc/kernel/pcic.c
index ee4c9a9a171c..25fe0a061732 100644
--- a/arch/sparc/kernel/pcic.c
+++ b/arch/sparc/kernel/pcic.c
@@ -643,15 +643,14 @@ void pcibios_fixup_bus(struct pci_bus *bus)
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c
index 0145aef1b930..1310e01fb540 100644
--- a/drivers/pci/remove.c
+++ b/drivers/pci/remove.c
@@ -5,10 +5,9 @@
 
 static void pci_free_resources(struct pci_dev *dev)
 {
-	int i;
+	struct resource *res;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = dev->resource + i;
+	pci_dev_for_each_resource_p(dev, res) {
 		if (res->parent)
 			release_resource(res);
 	}
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index c690572b10ce..d4fc7665f70a 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -124,20 +124,17 @@ static resource_size_t get_res_add_align(struct list_head *head,
 	return dev_res ? dev_res->min_align : 0;
 }
 
-
 /* Sort resources by alignment */
 static void pdev_sort_resources(struct pci_dev *dev, struct list_head *head)
 {
+	struct resource *r;
 	int i;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *r;
+	pci_dev_for_each_resource(dev, r, i) {
 		struct pci_dev_resource *dev_res, *tmp;
 		resource_size_t r_align;
 		struct list_head *n;
 
-		r = &dev->resource[i];
-
 		if (r->flags & IORESOURCE_PCI_FIXED)
 			continue;
 
@@ -895,10 +892,9 @@ static void pbus_size_io(struct pci_bus *bus, resource_size_t min_size,
 
 	min_align = window_alignment(bus, IORESOURCE_IO);
 	list_for_each_entry(dev, &bus->devices, bus_list) {
-		int i;
+		struct resource *r;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
+		pci_dev_for_each_resource_p(dev, r) {
 			unsigned long r_size;
 
 			if (r->parent || !(r->flags & IORESOURCE_IO))
@@ -1014,10 +1010,10 @@ static int pbus_size_mem(struct pci_bus *bus, unsigned long mask,
 	size = 0;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
+		pci_dev_for_each_resource(dev, r, i) {
 			resource_size_t r_size;
 
 			if (r->parent || (r->flags & IORESOURCE_PCI_FIXED) ||
@@ -1358,11 +1354,10 @@ static void assign_fixed_resource_on_bus(struct pci_bus *b, struct resource *r)
  */
 static void pdev_assign_fixed_resources(struct pci_dev *dev)
 {
-	int i;
+	struct resource *r;
 
-	for (i = 0; i <  PCI_NUM_RESOURCES; i++) {
+	pci_dev_for_each_resource_p(dev, r) {
 		struct pci_bus *b;
-		struct resource *r = &dev->resource[i];
 
 		if (r->parent || !(r->flags & IORESOURCE_PCI_FIXED) ||
 		    !(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
@@ -1795,11 +1790,9 @@ static void remove_dev_resources(struct pci_dev *dev, struct resource *io,
 				 struct resource *mmio,
 				 struct resource *mmio_pref)
 {
-	int i;
-
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
+	struct resource *res;
 
+	pci_dev_for_each_resource_p(dev, res) {
 		if (resource_type(res) == IORESOURCE_IO) {
 			remove_dev_resource(io, dev, res);
 		} else if (resource_type(res) == IORESOURCE_MEM) {
diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
index b492e67c3d87..967f9a758923 100644
--- a/drivers/pci/setup-res.c
+++ b/drivers/pci/setup-res.c
@@ -484,12 +484,10 @@ int pci_enable_resources(struct pci_dev *dev, int mask)
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	old_cmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
+	pci_dev_for_each_resource(dev, r, i) {
 		if (!(mask & (1 << i)))
 			continue;
 
-		r = &dev->resource[i];
-
 		if (!(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
 			continue;
 		if ((i == PCI_ROM_RESOURCE) &&
diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
index f80b6ec88dc3..3ec6a0b7dbf0 100644
--- a/drivers/pci/vgaarb.c
+++ b/drivers/pci/vgaarb.c
@@ -548,10 +548,8 @@ static bool vga_is_firmware_default(struct pci_dev *pdev)
 #if defined(CONFIG_X86) || defined(CONFIG_IA64)
 	u64 base = screen_info.lfb_base;
 	u64 size = screen_info.lfb_size;
+	struct resource *r;
 	u64 limit;
-	resource_size_t start, end;
-	unsigned long flags;
-	int i;
 
 	/* Select the device owning the boot framebuffer if there is one */
 
@@ -561,19 +559,14 @@ static bool vga_is_firmware_default(struct pci_dev *pdev)
 	limit = base + size;
 
 	/* Does firmware framebuffer belong to us? */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		flags = pci_resource_flags(pdev, i);
-
-		if ((flags & IORESOURCE_MEM) == 0)
+	pci_dev_for_each_resource_p(pdev, r) {
+		if (resource_type(r) != IORESOURCE_MEM)
 			continue;
 
-		start = pci_resource_start(pdev, i);
-		end  = pci_resource_end(pdev, i);
-
-		if (!start || !end)
+		if (!r->start || !r->end)
 			continue;
 
-		if (base < start || limit >= end)
+		if (base < r->start || limit >= r->end)
 			continue;
 
 		return true;
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index fcd029ca2eb1..83c0ab50676d 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -390,9 +390,7 @@ static int pcifront_claim_resource(struct pci_dev *dev, void *data)
 	int i;
 	struct resource *r;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		r = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, r, i) {
 		if (!r->parent && r->start && r->flags) {
 			dev_info(&pdev->xdev->dev, "claiming resource %s/%d\n",
 				pci_name(dev), i);
diff --git a/drivers/pnp/quirks.c b/drivers/pnp/quirks.c
index ac98b9919029..6085a1471de2 100644
--- a/drivers/pnp/quirks.c
+++ b/drivers/pnp/quirks.c
@@ -229,8 +229,7 @@ static void quirk_ad1815_mpu_resources(struct pnp_dev *dev)
 static void quirk_system_pci_resources(struct pnp_dev *dev)
 {
 	struct pci_dev *pdev = NULL;
-	struct resource *res;
-	resource_size_t pnp_start, pnp_end, pci_start, pci_end;
+	struct resource *res, *r;
 	int i, j;
 
 	/*
@@ -243,32 +242,26 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 	 * so they won't be claimed by the PNP system driver.
 	 */
 	for_each_pci_dev(pdev) {
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			unsigned long flags, type;
+		pci_dev_for_each_resource(pdev, r, i) {
+			unsigned long type = resource_type(r);
 
-			flags = pci_resource_flags(pdev, i);
-			type = flags & (IORESOURCE_IO | IORESOURCE_MEM);
-			if (!type || pci_resource_len(pdev, i) == 0)
+			if (!(type == IORESOURCE_IO || type == IORESOURCE_MEM) ||
+			    resource_size(r) == 0)
 				continue;
 
-			if (flags & IORESOURCE_UNSET)
+			if (r->flags & IORESOURCE_UNSET)
 				continue;
 
-			pci_start = pci_resource_start(pdev, i);
-			pci_end = pci_resource_end(pdev, i);
 			for (j = 0;
 			     (res = pnp_get_resource(dev, type, j)); j++) {
 				if (res->start == 0 && res->end == 0)
 					continue;
 
-				pnp_start = res->start;
-				pnp_end = res->end;
-
 				/*
 				 * If the PNP region doesn't overlap the PCI
 				 * region at all, there's no problem.
 				 */
-				if (pnp_end < pci_start || pnp_start > pci_end)
+				if (!resource_overlaps(res, r))
 					continue;
 
 				/*
@@ -278,8 +271,7 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 				 * PNP device describes a bridge with PCI
 				 * behind it.
 				 */
-				if (pnp_start <= pci_start &&
-				    pnp_end >= pci_end)
+				if (res->start <= r->start && res->end >= r->end)
 					continue;
 
 				/*
@@ -288,9 +280,8 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 				 * driver from requesting its resources.
 				 */
 				dev_warn(&dev->dev,
-					 "disabling %pR because it overlaps "
-					 "%s BAR %d %pR\n", res,
-					 pci_name(pdev), i, &pdev->resource[i]);
+					 "disabling %pR because it overlaps %s BAR %d %pR\n",
+					 res, pci_name(pdev), i, r);
 				res->flags |= IORESOURCE_DISABLED;
 			}
 		}
diff --git a/include/linux/pci.h b/include/linux/pci.h
index b50e5c79f7e3..a97f026afaed 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1995,14 +1995,25 @@ int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma);
  * These helpers provide future and backwards compatibility
  * for accessing popular PCI BAR info
  */
+#define pci_resource_n(dev, bar)	(&(dev)->resource[(bar)])
 #define pci_resource_start(dev, bar)	((dev)->resource[(bar)].start)
 #define pci_resource_end(dev, bar)	((dev)->resource[(bar)].end)
 #define pci_resource_flags(dev, bar)	((dev)->resource[(bar)].flags)
 #define pci_resource_len(dev,bar) \
 	((pci_resource_end((dev), (bar)) == 0) ? 0 :	\
 							\
-	 (pci_resource_end((dev), (bar)) -		\
-	  pci_resource_start((dev), (bar)) + 1))
+	 resource_size(pci_resource_n((dev), (bar))))
+
+#define __pci_dev_for_each_resource(dev, res, __i, vartype)		\
+	for (vartype __i = 0;						\
+	     res = pci_resource_n(dev, __i), __i < PCI_NUM_RESOURCES;	\
+	     __i++)
+
+#define pci_dev_for_each_resource(dev, res, i)				\
+       __pci_dev_for_each_resource(dev, res, i, )
+
+#define pci_dev_for_each_resource_p(dev, res)				\
+	__pci_dev_for_each_resource(dev, res, __i, unsigned int)
 
 /*
  * Similar to the helpers above, these manipulate per-pci_dev
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 13:17:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 13:17:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511906.791318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFNp-0001QY-Lx; Mon, 20 Mar 2023 13:17:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511906.791318; Mon, 20 Mar 2023 13:17: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 1peFNp-0001QR-JD; Mon, 20 Mar 2023 13:17:05 +0000
Received: by outflank-mailman (input) for mailman id 511906;
 Mon, 20 Mar 2023 13:17:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=NTqL=7M=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1peFNo-0001NQ-1N
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 13:17:04 +0000
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7dff85f9-c721-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 14:17:00 +0100 (CET)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 20 Mar 2023 06:16:08 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga007.jf.intel.com with ESMTP; 20 Mar 2023 06:15:58 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 2B4BE638; Mon, 20 Mar 2023 15:16:44 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7dff85f9-c721-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679318220; x=1710854220;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=3Bu5KEQ7VbEZVFxJWJ3dCxTl63qFR3TMO6ewhBoLJ+8=;
  b=LA3YhfLRz7BNnF/owpotRpyOX/rLtivqtb+sO01Fem6ULJNJpNjJwuhP
   ynST9OBv/0b43B8HAGNVI86euj10RDznK6MhWgecS2ACXq/6+H+gxvbGq
   BHArNBh/wq3N/9kEsZ17QFMz3pgs0Wud5rfC7iCKhWpprgAScCJQNtw0k
   YYxI+vzUw5fPmP6ZylovJCn3FaQJC/B4ncZVIDhRfzEsbpI1isv/dkBKB
   jSUajEg7aoqkuoqH47m4/uaDIacnpN9k8uEKUh4TOIE1t1yg9pmyD05KI
   pIGDQsGkWavGUwSXDAv8Cx7qjD7B0V0lS/GmhtUkf5H9B+E+W9iCZ0ova
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10655"; a="424932260"
X-IronPort-AV: E=Sophos;i="5.98,274,1673942400"; 
   d="scan'208";a="424932260"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10654"; a="674382651"
X-IronPort-AV: E=Sophos;i="5.98,274,1673942400"; 
   d="scan'208";a="674382651"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v6 4/4] pcmcia: Convert to use pci_bus_for_each_resource_p()
Date: Mon, 20 Mar 2023 15:16:33 +0200
Message-Id: <20230320131633.61680-5-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230320131633.61680-1-andriy.shevchenko@linux.intel.com>
References: <20230320131633.61680-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The pci_bus_for_each_resource_p() hides the iterator loop since
it may be not used otherwise. With this, we may drop that iterator
variable definition.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
---
 drivers/pcmcia/rsrc_nonstatic.c | 9 +++------
 drivers/pcmcia/yenta_socket.c   | 3 +--
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/drivers/pcmcia/rsrc_nonstatic.c
index ad1141fddb4c..9d92d4bb6239 100644
--- a/drivers/pcmcia/rsrc_nonstatic.c
+++ b/drivers/pcmcia/rsrc_nonstatic.c
@@ -934,7 +934,7 @@ static int adjust_io(struct pcmcia_socket *s, unsigned int action, unsigned long
 static int nonstatic_autoadd_resources(struct pcmcia_socket *s)
 {
 	struct resource *res;
-	int i, done = 0;
+	int done = 0;
 
 	if (!s->cb_dev || !s->cb_dev->bus)
 		return -ENODEV;
@@ -960,12 +960,9 @@ static int nonstatic_autoadd_resources(struct pcmcia_socket *s)
 	 */
 	if (s->cb_dev->bus->number == 0)
 		return -EINVAL;
-
-	for (i = 0; i < PCI_BRIDGE_RESOURCE_NUM; i++) {
-		res = s->cb_dev->bus->resource[i];
-#else
-	pci_bus_for_each_resource(s->cb_dev->bus, res, i) {
 #endif
+
+	pci_bus_for_each_resource_p(s->cb_dev->bus, res) {
 		if (!res)
 			continue;
 
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
index 1365eaa20ff4..2e5bdf3db0ba 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -673,9 +673,8 @@ static int yenta_search_res(struct yenta_socket *socket, struct resource *res,
 			    u32 min)
 {
 	struct resource *root;
-	int i;
 
-	pci_bus_for_each_resource(socket->dev->bus, root, i) {
+	pci_bus_for_each_resource_p(socket->dev->bus, root) {
 		if (!root)
 			continue;
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 13:17:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 13:17:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511907.791328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFNq-0001fq-TW; Mon, 20 Mar 2023 13:17:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511907.791328; Mon, 20 Mar 2023 13:17:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFNq-0001fg-QR; Mon, 20 Mar 2023 13:17:06 +0000
Received: by outflank-mailman (input) for mailman id 511907;
 Mon, 20 Mar 2023 13:17: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=NTqL=7M=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1peFNp-0001NQ-1c
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 13:17:05 +0000
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f5beaea-c721-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 14:17:02 +0100 (CET)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 20 Mar 2023 06:16:08 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga007.jf.intel.com with ESMTP; 20 Mar 2023 06:15:58 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id E4F3A4FF; Mon, 20 Mar 2023 15:16:43 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f5beaea-c721-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679318222; x=1710854222;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=KxlXRVH7N+45zvim8tIjdmWaRb89rG1+XDN/qvGgUbg=;
  b=bZkUpuYj/B3KIGy/Dfw8TygtMhZ24TJ+9OYByu5a4HyyqGsnU/YCG+Vx
   iArX7bAfj6r63j0JR7qk8xRR7Ar/9O6g3KyaMxXrZJEw06CYwh9XOiFwO
   vb3+ZMwNC1Gp2mQgNe61E2uOufdRIPw6d6JysmVRfI5ImDQMuvHn9qpbE
   kKbi6Z+65gWi/v1Ity+2XUUROLic14C385BaSt4fyJevpTjzHRGe/tv9u
   3D5fRVK/4r27FTNSEPIWIVtChq1ACYAU25faSRjjG9NVKlOTgsqgQ/xdd
   RAfMs9YnT9Yzg5O3Z5jkRSRSjODjcDe3SwkXFPjmTM9BgnD/l66JDGVZj
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10655"; a="424932288"
X-IronPort-AV: E=Sophos;i="5.98,274,1673942400"; 
   d="scan'208";a="424932288"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10654"; a="674382652"
X-IronPort-AV: E=Sophos;i="5.98,274,1673942400"; 
   d="scan'208";a="674382652"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v6 0/4] Add pci_dev_for_each_resource() helper and update users
Date: Mon, 20 Mar 2023 15:16:29 +0200
Message-Id: <20230320131633.61680-1-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Provide two new helper macros to iterate over PCI device resources and
convert users.

Looking at it, refactor existing pci_bus_for_each_resource() and convert
users accordingly.

Changelog v6:
- dropped unused variable in PPC code (LKP)

Changelog v5:
- renamed loop variable to minimize the clash (Keith)
- addressed smatch warning (Dan)
- addressed 0-day bot findings (LKP)

Changelog v4:
- rebased on top of v6.3-rc1
- added tag (Krzysztof)

Changelog v3:
- rebased on top of v2 by Mika, see above
- added tag to pcmcia patch (Dominik)

Changelog v2:
- refactor to have two macros
- refactor existing pci_bus_for_each_resource() in the same way and
  convert users

Andy Shevchenko (3):
  PCI: Split pci_bus_for_each_resource_p() out of
    pci_bus_for_each_resource()
  EISA: Convert to use pci_bus_for_each_resource_p()
  pcmcia: Convert to use pci_bus_for_each_resource_p()

Mika Westerberg (1):
  PCI: Introduce pci_dev_for_each_resource()

 .clang-format                             |  3 ++
 arch/alpha/kernel/pci.c                   |  5 ++-
 arch/arm/kernel/bios32.c                  | 16 +++++-----
 arch/arm/mach-dove/pcie.c                 | 10 +++---
 arch/arm/mach-mv78xx0/pcie.c              | 10 +++---
 arch/arm/mach-orion5x/pci.c               | 10 +++---
 arch/mips/pci/ops-bcm63xx.c               |  8 ++---
 arch/mips/pci/pci-legacy.c                |  3 +-
 arch/powerpc/kernel/pci-common.c          | 21 +++++++------
 arch/powerpc/platforms/4xx/pci.c          |  8 ++---
 arch/powerpc/platforms/52xx/mpc52xx_pci.c |  5 ++-
 arch/powerpc/platforms/pseries/pci.c      | 16 +++++-----
 arch/sh/drivers/pci/pcie-sh7786.c         | 10 +++---
 arch/sparc/kernel/leon_pci.c              |  5 ++-
 arch/sparc/kernel/pci.c                   | 10 +++---
 arch/sparc/kernel/pcic.c                  |  5 ++-
 drivers/eisa/pci_eisa.c                   |  4 +--
 drivers/pci/bus.c                         |  7 ++---
 drivers/pci/hotplug/shpchp_sysfs.c        |  8 ++---
 drivers/pci/pci.c                         |  5 ++-
 drivers/pci/probe.c                       |  2 +-
 drivers/pci/remove.c                      |  5 ++-
 drivers/pci/setup-bus.c                   | 37 +++++++++--------------
 drivers/pci/setup-res.c                   |  4 +--
 drivers/pci/vgaarb.c                      | 17 +++--------
 drivers/pci/xen-pcifront.c                |  4 +--
 drivers/pcmcia/rsrc_nonstatic.c           |  9 ++----
 drivers/pcmcia/yenta_socket.c             |  3 +-
 drivers/pnp/quirks.c                      | 29 ++++++------------
 include/linux/pci.h                       | 29 ++++++++++++++----
 30 files changed, 142 insertions(+), 166 deletions(-)

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 13:17:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 13:17:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511908.791338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFNs-0001vV-4Q; Mon, 20 Mar 2023 13:17:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511908.791338; Mon, 20 Mar 2023 13: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 1peFNs-0001vO-1B; Mon, 20 Mar 2023 13:17:08 +0000
Received: by outflank-mailman (input) for mailman id 511908;
 Mon, 20 Mar 2023 13: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=NTqL=7M=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1peFNq-0001NQ-Ht
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 13:17:06 +0000
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 81cbd1d3-c721-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 14:17:04 +0100 (CET)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 20 Mar 2023 06:16:08 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga007.jf.intel.com with ESMTP; 20 Mar 2023 06:15:58 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 1D5485A7; Mon, 20 Mar 2023 15:16:44 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81cbd1d3-c721-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679318224; x=1710854224;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=w+YdvYGhoz+V3BkfBUt2y8DW6u+jmfOhlK0R9Fvr/bI=;
  b=IlfaEk+tmbGFgPHlZpx15qQ9QJCVxcH4r8ylhmpETHsi7pDwG+CdUe8O
   7xSWT2bWXsYAeDAnHiLVCEmSohMagqKrm3NiqqjpKv9yWpFalK7eDzQFI
   1J+1K0HeTlUQByZb6BzBRfg9ZO9o2mMbgwrlISSfuBkje3R6V5zbnOQW4
   oeOZ8TO/G/RkxXAipp89IJg5/cuDJtIJn85gVdYsW/X8XZGZ8vGbUCKwv
   c9BXc/2dokoXOsDGcKJZFCtruIJiU6h+kXM+9g812T5vMqX2/2Lgxgf6B
   YnKTXTyHHZ9oNZ/AOGwcJglCrUO11uQvM2LMcx7/MTSwAd6UhM3MjhtL4
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10655"; a="424932317"
X-IronPort-AV: E=Sophos;i="5.98,274,1673942400"; 
   d="scan'208";a="424932317"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10654"; a="674382659"
X-IronPort-AV: E=Sophos;i="5.98,274,1673942400"; 
   d="scan'208";a="674382659"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v6 3/4] EISA: Convert to use pci_bus_for_each_resource_p()
Date: Mon, 20 Mar 2023 15:16:32 +0200
Message-Id: <20230320131633.61680-4-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230320131633.61680-1-andriy.shevchenko@linux.intel.com>
References: <20230320131633.61680-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The pci_bus_for_each_resource_p() hides the iterator loop since
it may be not used otherwise. With this, we may drop that iterator
variable definition.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
---
 drivers/eisa/pci_eisa.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/eisa/pci_eisa.c b/drivers/eisa/pci_eisa.c
index 930c2332c3c4..907b86384396 100644
--- a/drivers/eisa/pci_eisa.c
+++ b/drivers/eisa/pci_eisa.c
@@ -20,8 +20,8 @@ static struct eisa_root_device pci_eisa_root;
 
 static int __init pci_eisa_init(struct pci_dev *pdev)
 {
-	int rc, i;
 	struct resource *res, *bus_res = NULL;
+	int rc;
 
 	if ((rc = pci_enable_device (pdev))) {
 		dev_err(&pdev->dev, "Could not enable device\n");
@@ -38,7 +38,7 @@ static int __init pci_eisa_init(struct pci_dev *pdev)
 	 * eisa_root_register() can only deal with a single io port resource,
 	*  so we use the first valid io port resource.
 	 */
-	pci_bus_for_each_resource(pdev->bus, res, i)
+	pci_bus_for_each_resource_p(pdev->bus, res)
 		if (res && (res->flags & IORESOURCE_IO)) {
 			bus_res = res;
 			break;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 13:17:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 13:17:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511909.791347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFO4-0002Qy-D9; Mon, 20 Mar 2023 13:17:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511909.791347; Mon, 20 Mar 2023 13: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 1peFO4-0002Qr-AA; Mon, 20 Mar 2023 13:17:20 +0000
Received: by outflank-mailman (input) for mailman id 511909;
 Mon, 20 Mar 2023 13: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peFO3-0002Mf-IG
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 13:17:19 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe13::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 89efc233-c721-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 14:17:18 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9992.eurprd04.prod.outlook.com (2603:10a6:10:4c1::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.26; Mon, 20 Mar
 2023 13:17:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 13:17: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: 89efc233-c721-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jZ9Ia/E0VIM3OlTRGRwEGq+KN4/Oh34rgjez9Lb6Lre08d/av2AJfgUXvoLvcGw3fHlOPoMLhXDEBis1aR7aCP3qZdknYYSlFEwhKuUkghM7ViIGGpCdHSl3Itf/hPZMicXFeWQWmh5UyVLvlwl3c9WYfUfEgct+SW2ikvB3VvNSddWCYUqasUqfN7R7TuZPhoaQ8m3yujY37PsbAzi960NMpUYPqoCPXSIx1k2xUkQGCaes8DFJ6VWnziaqn6i62KVXFO74NcCBccvWQ407+AFAQuc0SqEP8KVWCCDnX3kO2EwzFCEl+8Nv5yT5J6j9lHV/Xm22oWmOas6Af8jlkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KjlVsSppr6HeIkwhJrbLyfv+0fzq8SvYNhBrFRK9OmE=;
 b=nL2y6hegM8VqFTBr969p/UVtuaa2MMbpzb8F3GsxGyjPv3VnEHVxesj0zskwsok/4NxqPmjTlvhZ9T+sQdcj1JQi8ee2ifmrID3F4a0uM+p8WnYJOLmwQEh/23ZBDmEo0ygKt1Rd7eMS7VA46plMKJ/uW3PPhhAnBbM3PjjQmV/4OZcMM9HXorJwlfTx9KtCPCBzgMcFFc8CGQZKJj8h6rTXXJyTMMjj06rYuFUz19gw77DM0wcV6YR6MA1SKCHWgoNzZbc75H5KZBfdrEmTNUPLP/mYkefaPzpWCvoJ4lvtrf6dUFJArRPVZbRx44eaSy/ar/a7ie9WZORgvjpaGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KjlVsSppr6HeIkwhJrbLyfv+0fzq8SvYNhBrFRK9OmE=;
 b=AEYMvsMZzu4MGStl632HcmgbqV/Mxs6Wbp/2IsD7O/AeYitOTr5sIczCCMUlbQa6m+EoUPeQk0GdQmLzlTnoNmpI7VNnGiGll1hYXXj1c53V7DXUGxz/+xJt30YNvNPwPw6S7CA7MgTw7Ex/zTW5qcSvlEhDwb1WhoDqCajuxfhtCZG5vNP0K008jGgaG4a0UqzAQC53CJj2gdYF8i+ODY2nZCHihPj6rc/8MWv3LoytAQpEYg4Iuz3CTd84hgWLtfxgsCfQWHL8RGJbG7iVT0lVyMwnV2O8oqjPlmdJT+5wP6Co5Uoi5ICTbCV7XqFjydknQdmsxmY867SbVrdRgg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <84b1afc7-26cc-75c8-b9db-1bec4656ff8f@suse.com>
Date: Mon, 20 Mar 2023 14:17:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86/Xen: make use of IBPB controlling VM assist
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <06591b64-2f05-a4cc-a2f3-a74c3c4a76d6@suse.com>
 <51ae9cad-3644-02cb-9cc7-28229987487d@suse.com>
 <c4d2641f-7a99-fd8a-53c5-faa277c572a2@oracle.com>
 <4e66865b-11ce-cbd1-d115-13e3743eed7b@oracle.com>
 <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>
 <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
 <0834ffcb-978d-5c5b-4efc-64f3527e1038@suse.com>
 <0303d8a7-722f-3c84-042a-1cdb059beee6@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0303d8a7-722f-3c84-042a-1cdb059beee6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0183.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9992:EE_
X-MS-Office365-Filtering-Correlation-Id: 039020ad-636c-4e61-dbac-08db29456a30
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:
	HP10HtbERzzRz1Se8IBIzswKHVNEfjJJd6EnoAMS7PnfTFsk2ClPnT3R6bqpyiMYdOoO/T10satFScwIMmMwHX8G5nyjl3QsvY9JCbXxZf40UesycpN7tAlIif8LNxCi+Pe2W6D95Y9B9+vEvo9RCtC/yBLwoSYAF+SO3hFebhEW77ERhlVM8fLy9Mv5thkzeB80HeEK9YvO28BuR5VirV2bwTe/zbgSlUVu9f7B+S1xCknc9BWcomNf59Caem/7o0xgupR6E4Lx5EKEzdXFOLVox8kDFr95qiipRtGgyL9E5GEm5Qzi6ByRlus9zVJpXkBCamrQ9rq/10sgqS7gLBQfK3gE5nI+6C8WdD+5Gf5CEITzEzgPQEGtZzirk2bIAifPEcgFKsHXOnZt4lQltmcjkV8hM1/Sf9RC3qayftJk0K8DHlN4b4sXEUilVja77ffKmAXQZy73DeJQZ8dAvpozKxtklJS012yv52X6sNyXvd5vv4jYqTBkysBZUD1JsgqmwDlIhVck3I6MyntFrBkoE8g3BVv+wcva8a86Mgwfw/gj3FXVVHnLcqxErl6ixd0uBLvfeUUT80kLfm21U5ysTGnMThQt3IbQ+c//nvQyXDa9bYIImCbRGmQm5asf8Cre7VTDSct/xxcJX+9WRRGOw/qIGI2zxaMA02wjX/4f+7bBf8Bb4/m2oeCoTE9Wqx3TrXw5oFLaBXBf5HmBq5xa4ZMA9OXATGS6Q5m76zI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(346002)(396003)(376002)(136003)(366004)(451199018)(83380400001)(6862004)(66476007)(316002)(8936002)(478600001)(5660300002)(66946007)(86362001)(66556008)(36756003)(31696002)(8676002)(41300700001)(6636002)(54906003)(4326008)(37006003)(6486002)(26005)(186003)(2616005)(38100700002)(6506007)(31686004)(53546011)(2906002)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OU9mQ1AraitZRHZLNzFUaXdVWjcrVlpFMDJyK1p0R3VXMUUzamNkZ0Y1a0NM?=
 =?utf-8?B?OTdITWdJb2NSNkFQZFFQSDlzUm9aZmk5bnNUMVluUE4xR2dPMkgxcGt1aVBD?=
 =?utf-8?B?RFcyWTRvaUxZRnBZUU5POW1jTCt4NEVaa2JqMXpBZnhWdHlrWG9GMC9FYkVT?=
 =?utf-8?B?NlQ3RXlKOW5icFVKa1o0cFRXeWxIWENDTVVYZDBBYUs0cko1dG1JdW9HOEN0?=
 =?utf-8?B?c3B6WVgxZlhlWDh0MVNzdXJyeVR4L3hxSS95M3JHeHBiaTIzRzM3d3VDcGJS?=
 =?utf-8?B?a0IzRlN4ejNQdUdhZ3RldTdTY01HWXgxWDFjbjNKT2dMb3pJMTZEdGYwV1lr?=
 =?utf-8?B?dS9adWtxRGlyT2gyUGVUbjVoRkNnZmhQdURhRjN0ZkZSTDFmN2U1RUVOQ1Jy?=
 =?utf-8?B?UnBVNDJqKzhVTDhDYm1IYktZRnpFRVBCTERwanpiNHErOVdybXA0YTh0UFVS?=
 =?utf-8?B?ZmpEN29NMFFaeEhpbWQ4REFWL1QxWnFGUWVUTHI5Y3h3a2tNL25Md1oyeTR1?=
 =?utf-8?B?N2REYXA1Sk85T1BmdXh0bTNZR0svOXdSVzFUSHBNYWFNOHNORTdDUjBGRzdZ?=
 =?utf-8?B?MzU1T0NzMzhuUTQvMTFrMk11WTFHRy8rMnNsQi9FOTlsZm1ZMUtoMmUvTStw?=
 =?utf-8?B?VVI5T3U2cjVUWVdwdHZ3OUJKRXlQK0FpWkV5YUVQeW9UZHovWXFlZjNnS2Ji?=
 =?utf-8?B?SlYxUDdpa3dLS0Z1UENlRlRQMmFjTWkzZFh4RlA4QkI3R2VCNnlidmNxNlQz?=
 =?utf-8?B?b1RkL0V5YUtkV3JRUnVoeG9BRzZkK2t5QXVCSmlITUpyT3hOU3FienlQdGls?=
 =?utf-8?B?dm00NXRUNVpacklwVVovSU9RTlhCaWZPdjk2VEsxMzg4aEdPeUpscXVhL242?=
 =?utf-8?B?V2ZYR1lXU3hsc2FxSWR4MFRzdTJvL3BIejJlSm1kSDFMdkRlN2hPRlk1NS9Q?=
 =?utf-8?B?QlVVUE1kbEhUcmtIQjRERTRkN1JTcDQzRmRMQ0J5SkxXalpSRFdRbmUwSGdl?=
 =?utf-8?B?N3cyNFlkclQ1ZGFxRUhUNmFlbWN6c2R3a3RHb0w2aWJ3WHFoOXpxcis3U1cz?=
 =?utf-8?B?NTZaWk9Ybk5INGRPME5tb1pTU3UvRThIQ3lSWkNzaU5SUGM0UDZ4U0QyS25j?=
 =?utf-8?B?d2VSbDlWNnp1dGMvNVFWajljcnl0SDRSUmNBOE9EMEtTa2U2T0g2bjRROXpT?=
 =?utf-8?B?TWkzMTMvdXlUM1hIeGdXc25raVVwZi9EY0JtL0FOb0NJcnN5QVVJa3gxZnpN?=
 =?utf-8?B?RzJpNjVYMnIxRjRUbFJZT1ZaRXJkYzlxandsMzlROEFXSEFyazl0bGJWKzVu?=
 =?utf-8?B?eU1EWlQ2T0UxOU1VbGR4THcxZ2d2eW1CZzhKWXhCZGhxUXAzKzZURmlXa0hO?=
 =?utf-8?B?U01wRlNsS0hIUjU3Y0g4NXN3ZXZmSVJNajBjamh1U2gyT2NHY3EyMnc1S0ZQ?=
 =?utf-8?B?LzB0dko3eVMrNmRFdW5EY1pTaHJ3UWh5ZE5YUXNqeG4rUk5vY1dSS2ZBVG4w?=
 =?utf-8?B?Qm40b0ZBQmFtcjM3T0FiT0ZheW1TUnFOT2g1VGN3dCtKS3JBWEhXU29CTUV1?=
 =?utf-8?B?cm5PZlplbjNmakNPRUExS1VnaDBLc1llY2N1NkprMm9VQURhTW01dnJrNzVu?=
 =?utf-8?B?Z3VyVjVYM1h1emVqNFJWdWZYQXQwbzdhcGJTaWVXL2pyUXhpd21OTGNkcHlx?=
 =?utf-8?B?VXVRQlNIcG1uczI5YWgrSytWUXlmWnVBaml4R3k5TldpZnZ2Lzl4bWF2ZjBy?=
 =?utf-8?B?dEcvbHRvVUFsRzJndGczTFdsWnhNNDNoczF4dXJ2OWdEMFlucVZGQjBTUlhR?=
 =?utf-8?B?NE5jK0hUTGJTZWp6ZlhhSmhmZ3B4S05nTUVmRk9neEFHTlpLcHpaWUFRT0NG?=
 =?utf-8?B?ejlyWGlHK1hYajhWRDBBYlNYQUhJQU93S3RiS1FDUTNVVkZjdU9NZk9KM0w0?=
 =?utf-8?B?MTY1NGdSeEJqUjZMeTRESjVjVVRuMThkQ2hvOUl0QzVIbnlZSUhSaURhbmxO?=
 =?utf-8?B?V2ZOc2hNclJ5d3diNEFrTkg3QmVSdUt2SU05WXVlRDJTL3pMcjdsVU4xK0s4?=
 =?utf-8?B?ZTNYMFJsMWdKblVYZ0NxK3NtcG41U2NGZnBjVDFRbm5SaUlZMmpHNlBWL0Ru?=
 =?utf-8?Q?0rrHcA1CUUIynC0IQ4DfF0AMN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 039020ad-636c-4e61-dbac-08db29456a30
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 13:17:11.5219
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XAyQ1cjD5TatxGY5aqZsbIXoIHlILvZFfX2+taoJVdRYpJ89H0JQ+sCn7MKXX7XvW/SIjSKp+DY9WgjkJEOB3g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9992

On 20.03.2023 14:02, Juergen Gross wrote:
> On 20.03.23 11:19, Jan Beulich wrote:
>> On 17.03.2023 14:56, Juergen Gross wrote:
>>> +void __init xen_pv_fix_mitigations(void)
>>> +{
>>> +       if (!xen_vm_assist_ibpb(true))
>>> +               setup_clear_cpu_cap(X86_FEATURE_ENTRY_IBPB);
>>
>> ... using both setup_clear_cpu_cap() (here) and setup_force_cpu_cap()
>> (in retbleed_select_mitigation() won't work: The latter wins, due to
>> how apply_forced_caps() works.
> 
> Oh, right.
> 
> Just a wild guess of mine: probably the x86 maintainers would still prefer
> a single Xen hook plus something like a setup_unforce_cpu_cap() addition.

If so, I'm not willing to make such a patch. That's clearly more fragile
than the approach chosen. I guess once I've made the one adjustment you
have pointed out, I'll resubmit otherwise unchanged and include x86 folks.
We'll see what the responses are going to be, if any at all.

>> But of course calling both functions for the same feature is bogus
>> anyway. In fact I think it is for a good reason that in Xen we log a
>> message in such an event.
> 
> Depends. For Xen we do so in the kernel for multiple features, see
> xen_init_capabilities().

I don't see anything there which looks like it might be both "force"d
and "clear"ed in a single session.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 13:35:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 13:35:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511921.791360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFfM-0005t5-4N; Mon, 20 Mar 2023 13:35:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511921.791360; Mon, 20 Mar 2023 13:35:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFfM-0005sy-1k; Mon, 20 Mar 2023 13:35:12 +0000
Received: by outflank-mailman (input) for mailman id 511921;
 Mon, 20 Mar 2023 13:35: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=QRzq=7M=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1peFfK-0005sp-SG
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 13:35:10 +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 08a173b7-c724-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 14: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 4A8931F85D;
 Mon, 20 Mar 2023 13: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 268B213416;
 Mon, 20 Mar 2023 13:35:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Xwy1Bw1hGGSCBAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Mar 2023 13: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: 08a173b7-c724-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679319309; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=xOdr1zjd9RkWQAsKzeOHd//+vNfzRRAAv6K6hzHu5ak=;
	b=lzv+idS/4NqKXojpm8P29nQrORF6vRVyOTISKcZe1b/tLpV3hQMxmaeTWCtPw7hi0XSm5g
	dHJJOogIVZ8eVuCwYWTrieqQ1kQC+01AVWtXr0kNXlyABsQgV40nJgoql8W/VlIQteZEak
	r2HXrBXj9HPFzCqxJ/YBflB/96loFO8=
Message-ID: <6ec137f7-d4c9-d9b9-eb07-098d48ede3e7@suse.com>
Date: Mon, 20 Mar 2023 14:35:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86/Xen: make use of IBPB controlling VM assist
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <06591b64-2f05-a4cc-a2f3-a74c3c4a76d6@suse.com>
 <51ae9cad-3644-02cb-9cc7-28229987487d@suse.com>
 <c4d2641f-7a99-fd8a-53c5-faa277c572a2@oracle.com>
 <4e66865b-11ce-cbd1-d115-13e3743eed7b@oracle.com>
 <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>
 <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
 <0834ffcb-978d-5c5b-4efc-64f3527e1038@suse.com>
 <0303d8a7-722f-3c84-042a-1cdb059beee6@suse.com>
 <84b1afc7-26cc-75c8-b9db-1bec4656ff8f@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <84b1afc7-26cc-75c8-b9db-1bec4656ff8f@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------C43BhrqPc03SSF6JfmozD7P9"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------C43BhrqPc03SSF6JfmozD7P9
Content-Type: multipart/mixed; boundary="------------AznWfkac3GNKSQlMOv3SdVp0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <6ec137f7-d4c9-d9b9-eb07-098d48ede3e7@suse.com>
Subject: Re: [PATCH] x86/Xen: make use of IBPB controlling VM assist
References: <06591b64-2f05-a4cc-a2f3-a74c3c4a76d6@suse.com>
 <51ae9cad-3644-02cb-9cc7-28229987487d@suse.com>
 <c4d2641f-7a99-fd8a-53c5-faa277c572a2@oracle.com>
 <4e66865b-11ce-cbd1-d115-13e3743eed7b@oracle.com>
 <f4f8c6ff-8d3a-92aa-66a0-7978c989a42f@suse.com>
 <cf55f9d9-42c2-f5e3-ed91-f75cc4ee9641@suse.com>
 <0834ffcb-978d-5c5b-4efc-64f3527e1038@suse.com>
 <0303d8a7-722f-3c84-042a-1cdb059beee6@suse.com>
 <84b1afc7-26cc-75c8-b9db-1bec4656ff8f@suse.com>
In-Reply-To: <84b1afc7-26cc-75c8-b9db-1bec4656ff8f@suse.com>

--------------AznWfkac3GNKSQlMOv3SdVp0
Content-Type: multipart/mixed; boundary="------------BlyJ1FWqLaySIv2YJxZemQ9I"

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

T24gMjAuMDMuMjMgMTQ6MTcsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMC4wMy4yMDIz
IDE0OjAyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjAuMDMuMjMgMTE6MTksIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDE3LjAzLjIwMjMgMTQ6NTYsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+ICt2b2lkIF9faW5pdCB4ZW5fcHZfZml4X21pdGlnYXRpb25zKHZv
aWQpDQo+Pj4+ICt7DQo+Pj4+ICsgICAgICAgaWYgKCF4ZW5fdm1fYXNzaXN0X2licGIodHJ1
ZSkpDQo+Pj4+ICsgICAgICAgICAgICAgICBzZXR1cF9jbGVhcl9jcHVfY2FwKFg4Nl9GRUFU
VVJFX0VOVFJZX0lCUEIpOw0KPj4+DQo+Pj4gLi4uIHVzaW5nIGJvdGggc2V0dXBfY2xlYXJf
Y3B1X2NhcCgpIChoZXJlKSBhbmQgc2V0dXBfZm9yY2VfY3B1X2NhcCgpDQo+Pj4gKGluIHJl
dGJsZWVkX3NlbGVjdF9taXRpZ2F0aW9uKCkgd29uJ3Qgd29yazogVGhlIGxhdHRlciB3aW5z
LCBkdWUgdG8NCj4+PiBob3cgYXBwbHlfZm9yY2VkX2NhcHMoKSB3b3Jrcy4NCj4+DQo+PiBP
aCwgcmlnaHQuDQo+Pg0KPj4gSnVzdCBhIHdpbGQgZ3Vlc3Mgb2YgbWluZTogcHJvYmFibHkg
dGhlIHg4NiBtYWludGFpbmVycyB3b3VsZCBzdGlsbCBwcmVmZXINCj4+IGEgc2luZ2xlIFhl
biBob29rIHBsdXMgc29tZXRoaW5nIGxpa2UgYSBzZXR1cF91bmZvcmNlX2NwdV9jYXAoKSBh
ZGRpdGlvbi4NCj4gDQo+IElmIHNvLCBJJ20gbm90IHdpbGxpbmcgdG8gbWFrZSBzdWNoIGEg
cGF0Y2guIFRoYXQncyBjbGVhcmx5IG1vcmUgZnJhZ2lsZQ0KPiB0aGFuIHRoZSBhcHByb2Fj
aCBjaG9zZW4uIEkgZ3Vlc3Mgb25jZSBJJ3ZlIG1hZGUgdGhlIG9uZSBhZGp1c3RtZW50IHlv
dQ0KPiBoYXZlIHBvaW50ZWQgb3V0LCBJJ2xsIHJlc3VibWl0IG90aGVyd2lzZSB1bmNoYW5n
ZWQgYW5kIGluY2x1ZGUgeDg2IGZvbGtzLg0KPiBXZSdsbCBzZWUgd2hhdCB0aGUgcmVzcG9u
c2VzIGFyZSBnb2luZyB0byBiZSwgaWYgYW55IGF0IGFsbC4NCg0KRmluZSB3aXRoIG1lLg0K
DQo+IA0KPj4+IEJ1dCBvZiBjb3Vyc2UgY2FsbGluZyBib3RoIGZ1bmN0aW9ucyBmb3IgdGhl
IHNhbWUgZmVhdHVyZSBpcyBib2d1cw0KPj4+IGFueXdheS4gSW4gZmFjdCBJIHRoaW5rIGl0
IGlzIGZvciBhIGdvb2QgcmVhc29uIHRoYXQgaW4gWGVuIHdlIGxvZyBhDQo+Pj4gbWVzc2Fn
ZSBpbiBzdWNoIGFuIGV2ZW50Lg0KPj4NCj4+IERlcGVuZHMuIEZvciBYZW4gd2UgZG8gc28g
aW4gdGhlIGtlcm5lbCBmb3IgbXVsdGlwbGUgZmVhdHVyZXMsIHNlZQ0KPj4geGVuX2luaXRf
Y2FwYWJpbGl0aWVzKCkuDQo+IA0KPiBJIGRvbid0IHNlZSBhbnl0aGluZyB0aGVyZSB3aGlj
aCBsb29rcyBsaWtlIGl0IG1pZ2h0IGJlIGJvdGggImZvcmNlImQNCj4gYW5kICJjbGVhciJl
ZCBpbiBhIHNpbmdsZSBzZXNzaW9uLg0KDQpPaCwgSSBtaXN1bmRlcnN0b29kIHlvdSB0aGVu
Lg0KDQoNCkp1ZXJnZW4NCg0K
--------------BlyJ1FWqLaySIv2YJxZemQ9I
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-----

--------------BlyJ1FWqLaySIv2YJxZemQ9I--

--------------AznWfkac3GNKSQlMOv3SdVp0--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQYYQwFAwAAAAAACgkQsN6d1ii/Ey9L
Ewf/US0xbOYjf415q/mkM2CysnhbxraDQCf3z25xW9CbTiOWDbw8SGE3WiTSC2ibr7orjmkRqg0C
2NrWFzDXC83MbQyO83Epbb7OptKk+ztGJEj7eXjQdSVkFJsqr7AEuT5/LbPecxsv+8AP2LPkJ/CR
pgYmo3yEk1BwbX8796r4B7/49xXLlYgnqCZDVsVgQTeuJL4WNUtkJrtzpsZiz1/5zSy6Iscb0FHJ
pWZvqHqzs6kAWN+8wlGqCblpuUEWzHTT8RAwuyoT0lvRjOwUOUdECYV+dTmyEsE+7QTGCI6fJchL
Bh94dSA+vU/74ZrJhQatDoINvC5mZnY+iRpiv7wTxA==
=pv5i
-----END PGP SIGNATURE-----

--------------C43BhrqPc03SSF6JfmozD7P9--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 13:36:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 13:36:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511923.791371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFg8-0006Pn-FZ; Mon, 20 Mar 2023 13:36:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511923.791371; Mon, 20 Mar 2023 13: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 1peFg8-0006Pg-Bx; Mon, 20 Mar 2023 13:36:00 +0000
Received: by outflank-mailman (input) for mailman id 511923;
 Mon, 20 Mar 2023 13:35: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 1peFg7-0006PB-Aw; Mon, 20 Mar 2023 13:35: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 1peFg7-0004AI-8t; Mon, 20 Mar 2023 13:35: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 1peFg6-0005XL-VQ; Mon, 20 Mar 2023 13:35:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1peFg6-0002T6-Uv; Mon, 20 Mar 2023 13: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GbKNROGYAKlxQ2l4gAwrNRiUUJgji61SG9W8CybnHK8=; b=oJ7E6wI86NdwkiTVAlETLK0AJa
	igc2dUTbHB2SaB//Duw/anwGW9fqPQVWJHemmwZVyOVL0aWg18/cAqH9/9KticjdomFqIIYClKhOo
	1egyJC7IkZ968Mv7Ss2lTVlb2ZIHjp66R5REJcHFpXLz5IFOnB2wd4BefjLDMoUz6Bcg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179808-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179808: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=b7a8264ae4704f781e70cc44dafdf07e4e5e690a
X-Osstest-Versions-That:
    ovmf=b17a3a133b18fb41493fba7d86e9b5804ea6a8cf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Mar 2023 13:35:58 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 b7a8264ae4704f781e70cc44dafdf07e4e5e690a
baseline version:
 ovmf                 b17a3a133b18fb41493fba7d86e9b5804ea6a8cf

Last test of basis   179730  2023-03-17 18:22:13 Z    2 days
Testing same since   179808  2023-03-20 11:40:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@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
   b17a3a133b..b7a8264ae4  b7a8264ae4704f781e70cc44dafdf07e4e5e690a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 13:43:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 13:43:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511929.791381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFmh-00081Z-8O; Mon, 20 Mar 2023 13:42:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511929.791381; Mon, 20 Mar 2023 13: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 1peFmh-00081S-3f; Mon, 20 Mar 2023 13:42:47 +0000
Received: by outflank-mailman (input) for mailman id 511929;
 Mon, 20 Mar 2023 13:42: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=Cnb9=7M=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1peFmf-00081M-6h
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 13:42:45 +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 1694cc03-c725-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 14:42:42 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id i9so10403031wrp.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 06:42:42 -0700 (PDT)
Received: from localhost.localdomain ([81.0.6.76])
 by smtp.gmail.com with ESMTPSA id
 w2-20020a5d6802000000b002cfe687fc7asm8906284wru.67.2023.03.20.06.42.40
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 20 Mar 2023 06: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: 1694cc03-c725-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1679319762;
        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=MqVaCNEoBxD2OYjKnMVbnNYKwGBdqFgS4EdXITIiD2w=;
        b=C1WkxWBEZEeQayjV81SHGc2BgnswrewoHK0RJxcI/xMOEwtFYvGrLSuoZGeM64JMuM
         naWeTc/Odb9cSzA26ctg5zoszvpKy9Fu2LiDf5xolfbSYOLp2RnrGLXe8NsUPLa68hDf
         qciTfgPSF6u1BPlMhzqh5QhNiLbOKp8a3wdrNn0AzyEMyXOKGRfZcNHOd3vtuktmhJdD
         IEpMWvn1MvL2916SY1RkfL0bcf24/24CSasDgEXA06r7XvHatS2E/fZYFThvFf2ORHCx
         51Y2IgzOJzXuVC3/2FEhFGy57zqQ3P09+QGpEJjMgubReXW/n77sYdg6unoerJFfcU+S
         0Wgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679319762;
        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=MqVaCNEoBxD2OYjKnMVbnNYKwGBdqFgS4EdXITIiD2w=;
        b=WDq8MiyWWej93D8zGtI7WVH/TMTKaAnznV3FEaBC92uL9UpaFuWLOAIV9xOJ2eteFF
         O2eMaDUZtbH1Vt1nVUwmvg+pvUn703v4hjWM3kmDqrVlkeDjAjz4AwHjt9A5EmHwKk0V
         /rdAwx9seOSk3FMWfZVToeUC6y9YN0CfyLG1dT4zHRghlX7TZZ0N2oHyCsUZbSokBwGQ
         eSPbSNEeQG7l427xbHl+rCe+kXQzKDTRgDg0Q9zFsoFz4AKHVDaaa05onP2eByu+3XVD
         E+A/QnFWvQ6KNRP8WnlViQaJNSvpDl44PEEWEup5vzldKScR+ZS2Mbq+aCkUShdB3X+J
         AxkQ==
X-Gm-Message-State: AO0yUKXrtWJ25LOP2yrvXUz3DEhl2/UT4v1so9PAT20PTEMUNMw5OzF8
	+MC2GzjGOf5OhSdT7TmGjDoWEg==
X-Google-Smtp-Source: AK7set8pH0vifuH+XtZzmIPEjf2UddtLUe1m0rXmh/+O07oIwIqXEF2KLDH75XlqC/Go7C5gfcNPWQ==
X-Received: by 2002:a5d:684e:0:b0:2c9:e585:84b0 with SMTP id o14-20020a5d684e000000b002c9e58584b0mr12828833wrw.1.1679319762050;
        Mon, 20 Mar 2023 06:42:42 -0700 (PDT)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: qemu-arm@nongnu.org,
	qemu-block@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Warner Losh <imp@bsdimp.com>,
	Kyle Evans <kevans@freebsd.org>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Andrew Jeffery <andrew@aj.id.au>,
	Joel Stanley <joel@jms.id.au>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Richard Henderson <richard.henderson@linaro.org>,
	Stefan Weil <sw@weilnetz.de>,
	Riku Voipio <riku.voipio@iki.fi>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PATCH-for-8.1 4/5] bulk: Do not declare function prototypes using extern keyword
Date: Mon, 20 Mar 2023 14:42:18 +0100
Message-Id: <20230320134219.22489-5-philmd@linaro.org>
X-Mailer: git-send-email 2.38.1
In-Reply-To: <20230320134219.22489-1-philmd@linaro.org>
References: <20230320134219.22489-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

By default, C function prototypes declared in headers are visible,
so there is no need to declare them as 'extern' functions.
Remove this redundancy in a single bulk commit; do not modify:

  - meson.build (used to check function availability at runtime)
  - pc-bios
  - libdecnumber
  - *.c

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 block/dmg.h                    |  8 +++----
 bsd-user/bsd-file.h            |  6 ++---
 crypto/hmacpriv.h              | 13 +++++------
 hw/xen/xen_pt.h                |  8 +++----
 include/crypto/secret_common.h | 14 +++++-------
 include/exec/page-vary.h       |  4 ++--
 include/hw/misc/aspeed_scu.h   |  2 +-
 include/hw/nvram/npcm7xx_otp.h |  4 ++--
 include/hw/qdev-core.h         |  4 ++--
 include/qemu/crc-ccitt.h       |  4 ++--
 include/qemu/osdep.h           |  2 +-
 include/qemu/rcu.h             | 14 ++++++------
 include/qemu/sys_membarrier.h  |  4 ++--
 include/qemu/uri.h             |  6 ++---
 include/sysemu/accel-blocker.h | 14 ++++++------
 include/sysemu/os-win32.h      |  4 ++--
 include/user/safe-syscall.h    |  4 ++--
 target/i386/sev.h              |  6 ++---
 target/mips/cpu.h              |  4 ++--
 tcg/tcg-internal.h             |  4 ++--
 tests/tcg/minilib/minilib.h    |  2 +-
 include/exec/memory_ldst.h.inc | 42 +++++++++++++++++-----------------
 roms/seabios                   |  2 +-
 23 files changed, 84 insertions(+), 91 deletions(-)

diff --git a/block/dmg.h b/block/dmg.h
index e488601b62..ed209b5dec 100644
--- a/block/dmg.h
+++ b/block/dmg.h
@@ -51,10 +51,10 @@ typedef struct BDRVDMGState {
     z_stream zstream;
 } BDRVDMGState;
 
-extern int (*dmg_uncompress_bz2)(char *next_in, unsigned int avail_in,
-                                 char *next_out, unsigned int avail_out);
+int (*dmg_uncompress_bz2)(char *next_in, unsigned int avail_in,
+                          char *next_out, unsigned int avail_out);
 
-extern int (*dmg_uncompress_lzfse)(char *next_in, unsigned int avail_in,
-                                   char *next_out, unsigned int avail_out);
+int (*dmg_uncompress_lzfse)(char *next_in, unsigned int avail_in,
+                            char *next_out, unsigned int avail_out);
 
 #endif
diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index 588e0c50d4..3c00dc0056 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -51,10 +51,8 @@ do {                                        \
     unlock_user(p1, arg1, 0);               \
 } while (0)
 
-extern struct iovec *lock_iovec(int type, abi_ulong target_addr, int count,
-        int copy);
-extern void unlock_iovec(struct iovec *vec, abi_ulong target_addr, int count,
-        int copy);
+struct iovec *lock_iovec(int type, abi_ulong target_addr, int count, int copy);
+void unlock_iovec(struct iovec *vec, abi_ulong target_addr, int count, int copy);
 
 int safe_open(const char *path, int flags, mode_t mode);
 int safe_openat(int fd, const char *path, int flags, mode_t mode);
diff --git a/crypto/hmacpriv.h b/crypto/hmacpriv.h
index 4387ca2587..62dfe8257a 100644
--- a/crypto/hmacpriv.h
+++ b/crypto/hmacpriv.h
@@ -28,19 +28,18 @@ struct QCryptoHmacDriver {
     void (*hmac_free)(QCryptoHmac *hmac);
 };
 
-extern void *qcrypto_hmac_ctx_new(QCryptoHashAlgorithm alg,
-                                  const uint8_t *key, size_t nkey,
-                                  Error **errp);
+void *qcrypto_hmac_ctx_new(QCryptoHashAlgorithm alg,
+                           const uint8_t *key, size_t nkey,
+                           Error **errp);
 extern QCryptoHmacDriver qcrypto_hmac_lib_driver;
 
 #ifdef CONFIG_AF_ALG
 
 #include "afalgpriv.h"
 
-extern QCryptoAFAlg *
-qcrypto_afalg_hmac_ctx_new(QCryptoHashAlgorithm alg,
-                           const uint8_t *key, size_t nkey,
-                           Error **errp);
+QCryptoAFAlg *qcrypto_afalg_hmac_ctx_new(QCryptoHashAlgorithm alg,
+                                         const uint8_t *key, size_t nkey,
+                                         Error **errp);
 extern QCryptoHmacDriver qcrypto_hmac_afalg_driver;
 
 #endif
diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
index b20744f7c7..31bcfdf705 100644
--- a/hw/xen/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -340,11 +340,9 @@ static inline bool xen_pt_has_msix_mapping(XenPCIPassthroughState *s, int bar)
     return s->msix && s->msix->bar_index == bar;
 }
 
-extern void *pci_assign_dev_load_option_rom(PCIDevice *dev,
-                                            int *size,
-                                            unsigned int domain,
-                                            unsigned int bus, unsigned int slot,
-                                            unsigned int function);
+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()
diff --git a/include/crypto/secret_common.h b/include/crypto/secret_common.h
index 42c7ff7af6..a0a22e1abd 100644
--- a/include/crypto/secret_common.h
+++ b/include/crypto/secret_common.h
@@ -48,13 +48,11 @@ struct QCryptoSecretCommonClass {
 };
 
 
-extern int qcrypto_secret_lookup(const char *secretid,
-                                 uint8_t **data,
-                                 size_t *datalen,
-                                 Error **errp);
-extern char *qcrypto_secret_lookup_as_utf8(const char *secretid,
-                                           Error **errp);
-extern char *qcrypto_secret_lookup_as_base64(const char *secretid,
-                                             Error **errp);
+int qcrypto_secret_lookup(const char *secretid,
+                          uint8_t **data,
+                          size_t *datalen,
+                          Error **errp);
+char *qcrypto_secret_lookup_as_utf8(const char *secretid, Error **errp);
+char *qcrypto_secret_lookup_as_base64(const char *secretid, Error **errp);
 
 #endif /* QCRYPTO_SECRET_COMMON_H */
diff --git a/include/exec/page-vary.h b/include/exec/page-vary.h
index ebbe9b169b..54ddde308a 100644
--- a/include/exec/page-vary.h
+++ b/include/exec/page-vary.h
@@ -27,8 +27,8 @@ typedef struct {
 } TargetPageBits;
 
 #ifdef IN_PAGE_VARY
-extern bool set_preferred_target_page_bits_common(int bits);
-extern void finalize_target_page_bits_common(int min);
+bool set_preferred_target_page_bits_common(int bits);
+void finalize_target_page_bits_common(int min);
 #endif
 
 /**
diff --git a/include/hw/misc/aspeed_scu.h b/include/hw/misc/aspeed_scu.h
index 5c7c04eedf..7cb6018dbc 100644
--- a/include/hw/misc/aspeed_scu.h
+++ b/include/hw/misc/aspeed_scu.h
@@ -51,7 +51,7 @@ struct AspeedSCUState {
 
 #define ASPEED_IS_AST2500(si_rev)     ((((si_rev) >> 24) & 0xff) == 0x04)
 
-extern bool is_supported_silicon_rev(uint32_t silicon_rev);
+bool is_supported_silicon_rev(uint32_t silicon_rev);
 
 
 struct AspeedSCUClass {
diff --git a/include/hw/nvram/npcm7xx_otp.h b/include/hw/nvram/npcm7xx_otp.h
index 156bbd151a..ea4b5d0731 100644
--- a/include/hw/nvram/npcm7xx_otp.h
+++ b/include/hw/nvram/npcm7xx_otp.h
@@ -73,7 +73,7 @@ typedef struct NPCM7xxOTPClass NPCM7xxOTPClass;
  * Each nibble of data is encoded into a byte, so the number of bytes written
  * to the array will be @len * 2.
  */
-extern void npcm7xx_otp_array_write(NPCM7xxOTPState *s, const void *data,
-                                    unsigned int offset, unsigned int len);
+void npcm7xx_otp_array_write(NPCM7xxOTPState *s, const void *data,
+                             unsigned int offset, unsigned int len);
 
 #endif /* NPCM7XX_OTP_H */
diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index bd50ad5ee1..84d971eed9 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -892,7 +892,7 @@ typedef enum MachineInitPhase {
     PHASE_MACHINE_READY,
 } MachineInitPhase;
 
-extern bool phase_check(MachineInitPhase phase);
-extern void phase_advance(MachineInitPhase phase);
+bool phase_check(MachineInitPhase phase);
+void phase_advance(MachineInitPhase phase);
 
 #endif
diff --git a/include/qemu/crc-ccitt.h b/include/qemu/crc-ccitt.h
index d6eb49146d..8918dafe07 100644
--- a/include/qemu/crc-ccitt.h
+++ b/include/qemu/crc-ccitt.h
@@ -17,8 +17,8 @@
 extern uint16_t const crc_ccitt_table[256];
 extern uint16_t const crc_ccitt_false_table[256];
 
-extern uint16_t crc_ccitt(uint16_t crc, const uint8_t *buffer, size_t len);
-extern uint16_t crc_ccitt_false(uint16_t crc, const uint8_t *buffer, size_t len);
+uint16_t crc_ccitt(uint16_t crc, const uint8_t *buffer, size_t len);
+uint16_t crc_ccitt_false(uint16_t crc, const uint8_t *buffer, size_t len);
 
 static inline uint16_t crc_ccitt_byte(uint16_t crc, const uint8_t c)
 {
diff --git a/include/qemu/osdep.h b/include/qemu/osdep.h
index 79c26c748a..98ca4d029d 100644
--- a/include/qemu/osdep.h
+++ b/include/qemu/osdep.h
@@ -496,7 +496,7 @@ void qemu_anon_ram_free(void *ptr, size_t size);
  * See MySQL bug #7156 (http://bugs.mysql.com/bug.php?id=7156) for discussion
  * about Solaris missing the madvise() prototype.
  */
-extern int madvise(char *, size_t, int);
+int madvise(char *, size_t, int);
 #endif
 
 #if defined(CONFIG_LINUX)
diff --git a/include/qemu/rcu.h b/include/qemu/rcu.h
index 313fc414bc..1e25cf9ebc 100644
--- a/include/qemu/rcu.h
+++ b/include/qemu/rcu.h
@@ -115,19 +115,19 @@ static inline void rcu_read_unlock(void)
     }
 }
 
-extern void synchronize_rcu(void);
+void synchronize_rcu(void);
 
 /*
  * Reader thread registration.
  */
-extern void rcu_register_thread(void);
-extern void rcu_unregister_thread(void);
+void rcu_register_thread(void);
+void rcu_unregister_thread(void);
 
 /*
  * Support for fork().  fork() support is enabled at startup.
  */
-extern void rcu_enable_atfork(void);
-extern void rcu_disable_atfork(void);
+void rcu_enable_atfork(void);
+void rcu_disable_atfork(void);
 
 struct rcu_head;
 typedef void RCUCBFunc(struct rcu_head *head);
@@ -137,8 +137,8 @@ struct rcu_head {
     RCUCBFunc *func;
 };
 
-extern void call_rcu1(struct rcu_head *head, RCUCBFunc *func);
-extern void drain_call_rcu(void);
+void call_rcu1(struct rcu_head *head, RCUCBFunc *func);
+void drain_call_rcu(void);
 
 /* The operands of the minus operator must have the same type,
  * which must be the one that we specify in the cast.
diff --git a/include/qemu/sys_membarrier.h b/include/qemu/sys_membarrier.h
index b5bfa21d52..e7774891f8 100644
--- a/include/qemu/sys_membarrier.h
+++ b/include/qemu/sys_membarrier.h
@@ -14,8 +14,8 @@
  * side.  The slow side forces processor-level ordering on all other cores
  * through a system call.
  */
-extern void smp_mb_global_init(void);
-extern void smp_mb_global(void);
+void smp_mb_global_init(void);
+void smp_mb_global(void);
 #define smp_mb_placeholder()       barrier()
 #else
 /* Keep it simple, execute a real memory barrier on both sides.  */
diff --git a/include/qemu/uri.h b/include/qemu/uri.h
index 10dff8aedd..60807b6de4 100644
--- a/include/qemu/uri.h
+++ b/include/qemu/uri.h
@@ -96,8 +96,8 @@ typedef struct QueryParams {
   QueryParam *p;		/* array of parameters */
 } QueryParams;
 
-QueryParams *query_params_new (int init_alloc);
-extern QueryParams *query_params_parse (const char *query);
-extern void query_params_free (QueryParams *ps);
+QueryParams *query_params_new(int init_alloc);
+QueryParams *query_params_parse(const char *query);
+void query_params_free(QueryParams *ps);
 
 #endif /* QEMU_URI_H */
diff --git a/include/sysemu/accel-blocker.h b/include/sysemu/accel-blocker.h
index 0733783bcc..f07f368358 100644
--- a/include/sysemu/accel-blocker.h
+++ b/include/sysemu/accel-blocker.h
@@ -16,7 +16,7 @@
 
 #include "sysemu/cpus.h"
 
-extern void accel_blocker_init(void);
+void accel_blocker_init(void);
 
 /*
  * accel_{cpu_}ioctl_begin/end:
@@ -26,10 +26,10 @@ extern void accel_blocker_init(void);
  * called, preventing new ioctls to run. They will continue only after
  * accel_ioctl_inibith_end().
  */
-extern void accel_ioctl_begin(void);
-extern void accel_ioctl_end(void);
-extern void accel_cpu_ioctl_begin(CPUState *cpu);
-extern void accel_cpu_ioctl_end(CPUState *cpu);
+void accel_ioctl_begin(void);
+void accel_ioctl_end(void);
+void accel_cpu_ioctl_begin(CPUState *cpu);
+void accel_cpu_ioctl_end(CPUState *cpu);
 
 /*
  * accel_ioctl_inhibit_begin: start critical section
@@ -42,7 +42,7 @@ extern void accel_cpu_ioctl_end(CPUState *cpu);
  * This allows the caller to access shared data or perform operations without
  * worrying of concurrent vcpus accesses.
  */
-extern void accel_ioctl_inhibit_begin(void);
+void accel_ioctl_inhibit_begin(void);
 
 /*
  * accel_ioctl_inhibit_end: end critical section started by
@@ -50,6 +50,6 @@ extern void accel_ioctl_inhibit_begin(void);
  *
  * This function allows blocked accel_{cpu_}ioctl_begin() to continue.
  */
-extern void accel_ioctl_inhibit_end(void);
+void accel_ioctl_inhibit_end(void);
 
 #endif /* ACCEL_BLOCKER_H */
diff --git a/include/sysemu/os-win32.h b/include/sysemu/os-win32.h
index e2849f88ab..0c00890a5e 100644
--- a/include/sysemu/os-win32.h
+++ b/include/sysemu/os-win32.h
@@ -66,8 +66,8 @@ extern "C" {
  * setjmp to _setjmpex instead. However, they are still defined in libmingwex.a,
  * which gets linked automatically.
  */
-extern int __mingw_setjmp(jmp_buf);
-extern void __attribute__((noreturn)) __mingw_longjmp(jmp_buf, int);
+int __mingw_setjmp(jmp_buf);
+void __attribute__((noreturn)) __mingw_longjmp(jmp_buf, int);
 #define setjmp(env) __mingw_setjmp(env)
 #define longjmp(env, val) __mingw_longjmp(env, val)
 #elif defined(_WIN64)
diff --git a/include/user/safe-syscall.h b/include/user/safe-syscall.h
index ddceef12e2..f06393c09e 100644
--- a/include/user/safe-syscall.h
+++ b/include/user/safe-syscall.h
@@ -126,8 +126,8 @@
  */
 
 /* The core part of this function is implemented in assembly */
-extern long safe_syscall_base(int *pending, long number, ...);
-extern long safe_syscall_set_errno_tail(int value);
+long safe_syscall_base(int *pending, long number, ...);
+long safe_syscall_set_errno_tail(int value);
 
 /* These are defined by the safe-syscall.inc.S file */
 extern char safe_syscall_start[];
diff --git a/target/i386/sev.h b/target/i386/sev.h
index 7b1528248a..e7499c95b1 100644
--- a/target/i386/sev.h
+++ b/target/i386/sev.h
@@ -46,9 +46,9 @@ bool sev_es_enabled(void);
 #define sev_es_enabled() 0
 #endif
 
-extern uint32_t sev_get_cbit_position(void);
-extern uint32_t sev_get_reduced_phys_bits(void);
-extern bool sev_add_kernel_loader_hashes(SevKernelLoaderContext *ctx, Error **errp);
+uint32_t sev_get_cbit_position(void);
+uint32_t sev_get_reduced_phys_bits(void);
+bool sev_add_kernel_loader_hashes(SevKernelLoaderContext *ctx, Error **errp);
 
 int sev_encrypt_flash(uint8_t *ptr, uint64_t len, Error **errp);
 int sev_inject_launch_secret(const char *hdr, const char *secret,
diff --git a/target/mips/cpu.h b/target/mips/cpu.h
index 142c55af47..2077cb29be 100644
--- a/target/mips/cpu.h
+++ b/target/mips/cpu.h
@@ -1187,8 +1187,8 @@ void mips_cpu_list(void);
 
 #define cpu_list mips_cpu_list
 
-extern void cpu_wrdsp(uint32_t rs, uint32_t mask_num, CPUMIPSState *env);
-extern uint32_t cpu_rddsp(uint32_t mask_num, CPUMIPSState *env);
+void cpu_wrdsp(uint32_t rs, uint32_t mask_num, CPUMIPSState *env);
+uint32_t cpu_rddsp(uint32_t mask_num, CPUMIPSState *env);
 
 /*
  * MMU modes definitions. We carefully match the indices with our
diff --git a/tcg/tcg-internal.h b/tcg/tcg-internal.h
index e542a4e9b7..285f9f7267 100644
--- a/tcg/tcg-internal.h
+++ b/tcg/tcg-internal.h
@@ -113,8 +113,8 @@ static inline TCGv_i32 TCGV_HIGH(TCGv_i64 t)
     return temp_tcgv_i32(tcgv_i64_temp(t) + !HOST_BIG_ENDIAN);
 }
 #else
-extern TCGv_i32 TCGV_LOW(TCGv_i64) QEMU_ERROR("32-bit code path is reachable");
-extern TCGv_i32 TCGV_HIGH(TCGv_i64) QEMU_ERROR("32-bit code path is reachable");
+TCGv_i32 TCGV_LOW(TCGv_i64) QEMU_ERROR("32-bit code path is reachable");
+TCGv_i32 TCGV_HIGH(TCGv_i64) QEMU_ERROR("32-bit code path is reachable");
 #endif
 
 static inline TCGv_i64 TCGV128_LOW(TCGv_i128 t)
diff --git a/tests/tcg/minilib/minilib.h b/tests/tcg/minilib/minilib.h
index 17d0f2f314..1ee47cfb61 100644
--- a/tests/tcg/minilib/minilib.h
+++ b/tests/tcg/minilib/minilib.h
@@ -15,7 +15,7 @@
 /*
  * Provided by the individual arch
  */
-extern void __sys_outc(char c);
+void __sys_outc(char c);
 
 /*
  * Provided by the common minilib
diff --git a/include/exec/memory_ldst.h.inc b/include/exec/memory_ldst.h.inc
index 7c3a641f7e..92ad74e956 100644
--- a/include/exec/memory_ldst.h.inc
+++ b/include/exec/memory_ldst.h.inc
@@ -20,48 +20,48 @@
  */
 
 #ifdef TARGET_ENDIANNESS
-extern uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL,
+uint16_t glue(address_space_lduw, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL,
+uint32_t glue(address_space_ldl, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint64_t glue(address_space_ldq, SUFFIX)(ARG1_DECL,
+uint64_t glue(address_space_ldq, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stl_notdirty, SUFFIX)(ARG1_DECL,
+void glue(address_space_stl_notdirty, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stw, SUFFIX)(ARG1_DECL,
+void glue(address_space_stw, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stl, SUFFIX)(ARG1_DECL,
+void glue(address_space_stl, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stq, SUFFIX)(ARG1_DECL,
+void glue(address_space_stq, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
 #else
-extern uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
+uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL,
+uint16_t glue(address_space_lduw_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint16_t glue(address_space_lduw_be, SUFFIX)(ARG1_DECL,
+uint16_t glue(address_space_lduw_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint32_t glue(address_space_ldl_le, SUFFIX)(ARG1_DECL,
+uint32_t glue(address_space_ldl_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint32_t glue(address_space_ldl_be, SUFFIX)(ARG1_DECL,
+uint32_t glue(address_space_ldl_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint64_t glue(address_space_ldq_le, SUFFIX)(ARG1_DECL,
+uint64_t glue(address_space_ldq_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern uint64_t glue(address_space_ldq_be, SUFFIX)(ARG1_DECL,
+uint64_t glue(address_space_ldq_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stb, SUFFIX)(ARG1_DECL,
+void glue(address_space_stb, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint8_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stw_le, SUFFIX)(ARG1_DECL,
+void glue(address_space_stw_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stw_be, SUFFIX)(ARG1_DECL,
+void glue(address_space_stw_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint16_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stl_le, SUFFIX)(ARG1_DECL,
+void glue(address_space_stl_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stl_be, SUFFIX)(ARG1_DECL,
+void glue(address_space_stl_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint32_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stq_le, SUFFIX)(ARG1_DECL,
+void glue(address_space_stq_le, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
-extern void glue(address_space_stq_be, SUFFIX)(ARG1_DECL,
+void glue(address_space_stq_be, SUFFIX)(ARG1_DECL,
     hwaddr addr, uint64_t val, MemTxAttrs attrs, MemTxResult *result);
 #endif
 
diff --git a/roms/seabios b/roms/seabios
index ea1b7a0733..3208b098f5 160000
--- a/roms/seabios
+++ b/roms/seabios
@@ -1 +1 @@
-Subproject commit ea1b7a0733906b8425d948ae94fba63c32b1d425
+Subproject commit 3208b098f51a9ef96d0dfa71d5ec3a3eaec88f0a
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 13:48:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 13:48:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511933.791391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peFsM-0000Hc-27; Mon, 20 Mar 2023 13:48:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511933.791391; Mon, 20 Mar 2023 13: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 1peFsL-0000HM-VB; Mon, 20 Mar 2023 13:48:37 +0000
Received: by outflank-mailman (input) for mailman id 511933;
 Mon, 20 Mar 2023 13: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=MnWT=7M=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1peFsK-0000HE-Hz
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 13:48:36 +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 e74e334f-c725-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 14:48:34 +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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-217-CV0XY9JSOlCYuAhr_QvM2g-1; Mon, 20 Mar 2023 09:48:28 -0400
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com
 [10.11.54.8])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5DACD800B23;
 Mon, 20 Mar 2023 13:48:27 +0000 (UTC)
Received: from redhat.com (unknown [10.33.36.143])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 957E8C15BA0;
 Mon, 20 Mar 2023 13:48: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: e74e334f-c725-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1679320112;
	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=nB8jDRvF4InxzdYsKwDk5IU8RqNst0djb4nl+V9qIeY=;
	b=bIeutRX8Z3wfQo0zeakwGDXdKrRCxs+rJ9JMbvICrDeUf8Zd1uYmfF84IgEJAvPojIKw7+
	U45Kzx7KIjNy0YZ+nYjew5zr5z4cH7P4gbX6giL56pJak+KqdsZ6hoZ9mM/YwEsRGcaSv4
	/XohY1KQCC8JOwhnrzwlFx/eHaRqRvM=
X-MC-Unique: CV0XY9JSOlCYuAhr_QvM2g-1
Date: Mon, 20 Mar 2023 13:48:18 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, qemu-arm@nongnu.org, qemu-block@nongnu.org,
	Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
	Warner Losh <imp@bsdimp.com>, Kyle Evans <kevans@freebsd.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?utf-8?Q?C=C3=A9dric?= Le Goater <clg@kaod.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>,
	Tyrone Ting <kfting@nuvoton.com>, Hao Wu <wuhaotsh@google.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Richard Henderson <richard.henderson@linaro.org>,
	Stefan Weil <sw@weilnetz.de>, Riku Voipio <riku.voipio@iki.fi>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	xen-devel@lists.xenproject.org, kvm@vger.kernel.org
Subject: Re: [PATCH-for-8.1 4/5] bulk: Do not declare function prototypes
 using extern keyword
Message-ID: <ZBhkIjelEtR7lckj@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20230320134219.22489-1-philmd@linaro.org>
 <20230320134219.22489-5-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230320134219.22489-5-philmd@linaro.org>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.8

On Mon, Mar 20, 2023 at 02:42:18PM +0100, Philippe Mathieu-Daudé wrote:
> By default, C function prototypes declared in headers are visible,
> so there is no need to declare them as 'extern' functions.
> Remove this redundancy in a single bulk commit; do not modify:
> 
>   - meson.build (used to check function availability at runtime)
>   - pc-bios
>   - libdecnumber
>   - *.c
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>  block/dmg.h                    |  8 +++----
>  bsd-user/bsd-file.h            |  6 ++---
>  crypto/hmacpriv.h              | 13 +++++------
>  hw/xen/xen_pt.h                |  8 +++----
>  include/crypto/secret_common.h | 14 +++++-------
>  include/exec/page-vary.h       |  4 ++--
>  include/hw/misc/aspeed_scu.h   |  2 +-
>  include/hw/nvram/npcm7xx_otp.h |  4 ++--
>  include/hw/qdev-core.h         |  4 ++--
>  include/qemu/crc-ccitt.h       |  4 ++--
>  include/qemu/osdep.h           |  2 +-
>  include/qemu/rcu.h             | 14 ++++++------
>  include/qemu/sys_membarrier.h  |  4 ++--
>  include/qemu/uri.h             |  6 ++---
>  include/sysemu/accel-blocker.h | 14 ++++++------
>  include/sysemu/os-win32.h      |  4 ++--
>  include/user/safe-syscall.h    |  4 ++--
>  target/i386/sev.h              |  6 ++---
>  target/mips/cpu.h              |  4 ++--
>  tcg/tcg-internal.h             |  4 ++--
>  tests/tcg/minilib/minilib.h    |  2 +-
>  include/exec/memory_ldst.h.inc | 42 +++++++++++++++++-----------------
>  roms/seabios                   |  2 +-

Accidental submodule commit.,

>  23 files changed, 84 insertions(+), 91 deletions(-)
> 
> diff --git a/block/dmg.h b/block/dmg.h
> index e488601b62..ed209b5dec 100644
> --- a/block/dmg.h
> +++ b/block/dmg.h
> @@ -51,10 +51,10 @@ typedef struct BDRVDMGState {
>      z_stream zstream;
>  } BDRVDMGState;
>  
> -extern int (*dmg_uncompress_bz2)(char *next_in, unsigned int avail_in,
> -                                 char *next_out, unsigned int avail_out);
> +int (*dmg_uncompress_bz2)(char *next_in, unsigned int avail_in,
> +                          char *next_out, unsigned int avail_out);
>  
> -extern int (*dmg_uncompress_lzfse)(char *next_in, unsigned int avail_in,
> -                                   char *next_out, unsigned int avail_out);
> +int (*dmg_uncompress_lzfse)(char *next_in, unsigned int avail_in,
> +                            char *next_out, unsigned int avail_out);

These are variable declarations, so with this change you'll get multiple
copies of the variable if this header is included from multiple source
files. IOW, the 'extern' usage is correct.

> diff --git a/roms/seabios b/roms/seabios
> index ea1b7a0733..3208b098f5 160000
> --- a/roms/seabios
> +++ b/roms/seabios
> @@ -1 +1 @@
> -Subproject commit ea1b7a0733906b8425d948ae94fba63c32b1d425
> +Subproject commit 3208b098f51a9ef96d0dfa71d5ec3a3eaec88f0a

Nope !

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



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 14:11:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 14:11:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511944.791401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peGEL-0004Ao-Tc; Mon, 20 Mar 2023 14:11:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511944.791401; Mon, 20 Mar 2023 14:11:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peGEL-0004Ac-QI; Mon, 20 Mar 2023 14:11:21 +0000
Received: by outflank-mailman (input) for mailman id 511944;
 Mon, 20 Mar 2023 14:11:20 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=W9b8=7M=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1peGEK-0004AK-F5
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 14:11:20 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1446c20d-c729-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 15:11:18 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32KEB013086069
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 20 Mar 2023 10:11:06 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32KEB0CI086068;
 Mon, 20 Mar 2023 07:11:00 -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: 1446c20d-c729-11ed-87f5-c1b5be75604c
Date: Mon, 20 Mar 2023 07:11:00 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 1/2] x86/APIC: include full string with
 error_interrupt() error messages
Message-ID: <ZBhpdP0PiJ+YNQJH@mattapan.m5p.com>
References: <cover.1679084101.git.ehem+xen@m5p.com>
 <b03e331fc242b4c46e2adab124c7657bc3bb1340.1679084101.git.ehem+xen@m5p.com>
 <50badf48-a0d0-8141-f409-42bf339bec36@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <50badf48-a0d0-8141-f409-42bf339bec36@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Mon, Mar 20, 2023 at 09:49:14AM +0100, Jan Beulich wrote:
> On 17.03.2023 20:45, Elliott Mitchell wrote:
> > Rather than adding ", " with each printf(), simply include them in the
> > string initially.
> 
> Why is this better? You're now using more space in .rodata. (I haven't
> looked at patch 2 yet to see whether there's a possible reason there
> for the change here, but if there was it would need saying here.)

I would expect this to give trivially better performance.  Instead of
needing to needing copy some data from the format string, then strcat()
from the arguments this turns it into a single strcat().

Other item is this sort of change is very often a precursor to replacing
the use of a *printf()-type function with a str*cat()-type function.
Though in this case I doubt there is a strlcatk() function so that is
unlikely.


-- 
(\___(\___(\______          --=> 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 Mon Mar 20 14:23:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 14:23:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511948.791410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peGQL-00061c-0E; Mon, 20 Mar 2023 14:23:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511948.791410; Mon, 20 Mar 2023 14: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 1peGQK-00061V-Ty; Mon, 20 Mar 2023 14:23:44 +0000
Received: by outflank-mailman (input) for mailman id 511948;
 Mon, 20 Mar 2023 14: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=Cnb9=7M=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1peGQJ-00061P-Ef
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 14:23:43 +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 d0030f8f-c72a-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 15:23:41 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 l15-20020a05600c4f0f00b003ed58a9a15eso7622675wmq.5
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 07:23:41 -0700 (PDT)
Received: from [192.168.30.216] ([81.0.6.76]) by smtp.gmail.com with ESMTPSA id
 p9-20020a1c5449000000b003dc1d668866sm16596895wmi.10.2023.03.20.07.23.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Mar 2023 07:23:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0030f8f-c72a-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1679322221;
        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=wDFPVnK26gTPvQ7OQnmaMHAo8uxTCxn0wjupc66n0+g=;
        b=iupUAOLOVvIo5M2FeGbu2pABScMqZ1WtjEgwgzAmbLp8n1wBphdMsJVh/nBr2ctxaq
         niYu4FF+KJTk+QSzJev4lNK//Wy/Yhv2xD0lLuBLZslRJqBIMiTdxNYJxSEs1KxrsHJR
         HXKgVtUZ7tM96cRGbKte3pAoXlUVUeGIklTPLppMnqAsDyzgnvesrxlGGjLmAxHwP2Z8
         oOTJXlxwRgHOZRq+NQU2XjlOeW0QinUZw0n+V/hg5OrnJccCE8/JVuMQzPi0BC01UBxH
         +gRQI2RsNKHxJHJ8loygXyNNQB1Q6krKKZ6IgKVxC7ORtE9QtzBgoDcVrwecwQ2JsPM+
         E8LQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679322221;
        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=wDFPVnK26gTPvQ7OQnmaMHAo8uxTCxn0wjupc66n0+g=;
        b=TzU5+94KNvpBQ4w3vBYaH7Y5s6uHb++owc5//HLcLZcr/dtlykDDtRGLJripO0vDqx
         40/QfPWFW55xK9Z0BxKvIZnCmXDT2rIi17tQpHaMWB/BUI5MvkVzLjXj7KJ0vAA7+Qev
         hRhK6HDFg8Ss+O3I2Ul+gBBItQA/5PKngskbyqbT2IHU7cTkOickA64cXZfJmBv3lh1b
         ciUV35kk19xgXS5k9jGql55q/qYgUNb9OMO+j3GYJT9u8X1ZmzrOd1X3XOcsyhtVIRk/
         3OLUcDAPmB9qKZJP/KIx5xzW53R1dBlgfNaEEEepXGRYbusJB71nCF7TgUHAMz1ZGxt1
         c4wA==
X-Gm-Message-State: AO0yUKVvPN7TgHXUm5ZZwFxcEQqzUVqVGrlgNC6xYKGwhrzAiAp9rJzT
	AWIcm9/MqboLhUJvSMGa60rDVQ==
X-Google-Smtp-Source: AK7set/aRqtnWw0m8lIYSvCcTJKy8bYXEjcr1/Crqm07tlo2b+OzQuFfio36H5QqfOmps9fL+g8D5g==
X-Received: by 2002:a05:600c:3b24:b0:3ed:296b:4899 with SMTP id m36-20020a05600c3b2400b003ed296b4899mr26844308wms.15.1679322220744;
        Mon, 20 Mar 2023 07:23:40 -0700 (PDT)
Message-ID: <cdf53d5e-d74d-9316-f1bc-3efc36e1c3bc@linaro.org>
Date: Mon, 20 Mar 2023 15:23:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH-for-8.1 4/5] bulk: Do not declare function prototypes
 using extern keyword
Content-Language: en-US
To: =?UTF-8?Q?Daniel_P=2e_Berrang=c3=a9?= <berrange@redhat.com>
Cc: qemu-devel@nongnu.org, qemu-arm@nongnu.org, qemu-block@nongnu.org,
 Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
 Warner Losh <imp@bsdimp.com>, Kyle Evans <kevans@freebsd.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?C=c3=a9dric_Le_Goater?= <clg@kaod.org>,
 Peter Maydell <peter.maydell@linaro.org>, Andrew Jeffery <andrew@aj.id.au>,
 Joel Stanley <joel@jms.id.au>, Tyrone Ting <kfting@nuvoton.com>,
 Hao Wu <wuhaotsh@google.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Eduardo Habkost <eduardo@habkost.net>,
 Richard Henderson <richard.henderson@linaro.org>,
 Stefan Weil <sw@weilnetz.de>, Riku Voipio <riku.voipio@iki.fi>,
 Marcelo Tosatti <mtosatti@redhat.com>, Aurelien Jarno
 <aurelien@aurel32.net>, Jiaxun Yang <jiaxun.yang@flygoat.com>,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 xen-devel@lists.xenproject.org, kvm@vger.kernel.org
References: <20230320134219.22489-1-philmd@linaro.org>
 <20230320134219.22489-5-philmd@linaro.org> <ZBhkIjelEtR7lckj@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <ZBhkIjelEtR7lckj@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 20/3/23 14:48, Daniel P. Berrangé wrote:
> On Mon, Mar 20, 2023 at 02:42:18PM +0100, Philippe Mathieu-Daudé wrote:
>> By default, C function prototypes declared in headers are visible,
>> so there is no need to declare them as 'extern' functions.
>> Remove this redundancy in a single bulk commit; do not modify:
>>
>>    - meson.build (used to check function availability at runtime)
>>    - pc-bios
>>    - libdecnumber
>>    - *.c
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>>   block/dmg.h                    |  8 +++----
>>   bsd-user/bsd-file.h            |  6 ++---
>>   crypto/hmacpriv.h              | 13 +++++------
>>   hw/xen/xen_pt.h                |  8 +++----
>>   include/crypto/secret_common.h | 14 +++++-------
>>   include/exec/page-vary.h       |  4 ++--
>>   include/hw/misc/aspeed_scu.h   |  2 +-
>>   include/hw/nvram/npcm7xx_otp.h |  4 ++--
>>   include/hw/qdev-core.h         |  4 ++--
>>   include/qemu/crc-ccitt.h       |  4 ++--
>>   include/qemu/osdep.h           |  2 +-
>>   include/qemu/rcu.h             | 14 ++++++------
>>   include/qemu/sys_membarrier.h  |  4 ++--
>>   include/qemu/uri.h             |  6 ++---
>>   include/sysemu/accel-blocker.h | 14 ++++++------
>>   include/sysemu/os-win32.h      |  4 ++--
>>   include/user/safe-syscall.h    |  4 ++--
>>   target/i386/sev.h              |  6 ++---
>>   target/mips/cpu.h              |  4 ++--
>>   tcg/tcg-internal.h             |  4 ++--
>>   tests/tcg/minilib/minilib.h    |  2 +-
>>   include/exec/memory_ldst.h.inc | 42 +++++++++++++++++-----------------
>>   roms/seabios                   |  2 +-
> 
> Accidental submodule commit.,
> 
>>   23 files changed, 84 insertions(+), 91 deletions(-)
>>
>> diff --git a/block/dmg.h b/block/dmg.h
>> index e488601b62..ed209b5dec 100644
>> --- a/block/dmg.h
>> +++ b/block/dmg.h
>> @@ -51,10 +51,10 @@ typedef struct BDRVDMGState {
>>       z_stream zstream;
>>   } BDRVDMGState;
>>   
>> -extern int (*dmg_uncompress_bz2)(char *next_in, unsigned int avail_in,
>> -                                 char *next_out, unsigned int avail_out);
>> +int (*dmg_uncompress_bz2)(char *next_in, unsigned int avail_in,
>> +                          char *next_out, unsigned int avail_out);
>>   
>> -extern int (*dmg_uncompress_lzfse)(char *next_in, unsigned int avail_in,
>> -                                   char *next_out, unsigned int avail_out);
>> +int (*dmg_uncompress_lzfse)(char *next_in, unsigned int avail_in,
>> +                            char *next_out, unsigned int avail_out);
> 
> These are variable declarations, so with this change you'll get multiple
> copies of the variable if this header is included from multiple source
> files. IOW, the 'extern' usage is correct.

Doh indeed, good catch, thanks.

>> diff --git a/roms/seabios b/roms/seabios
>> index ea1b7a0733..3208b098f5 160000
>> --- a/roms/seabios
>> +++ b/roms/seabios
>> @@ -1 +1 @@
>> -Subproject commit ea1b7a0733906b8425d948ae94fba63c32b1d425
>> +Subproject commit 3208b098f51a9ef96d0dfa71d5ec3a3eaec88f0a
> 
> Nope !

Oops...



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 14:23:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 14:23:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511949.791421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peGQO-0006H1-92; Mon, 20 Mar 2023 14:23:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511949.791421; Mon, 20 Mar 2023 14:23: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 1peGQO-0006Gu-5p; Mon, 20 Mar 2023 14:23:48 +0000
Received: by outflank-mailman (input) for mailman id 511949;
 Mon, 20 Mar 2023 14:23: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peGQM-0006GE-B7
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 14:23:46 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20601.outbound.protection.outlook.com
 [2a01:111:f400:fe16::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d112d46b-c72a-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 15:23:43 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB9712.eurprd04.prod.outlook.com (2603:10a6:102:26d::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 14:23:41 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 14:23: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: d112d46b-c72a-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SEgsfdXDRmT2DPYPE9JvCTFn0s/v5Y6p7BpvZoZ44bTRvJk+oU9xzAh/APtbKvRTeeua3CkshY/I7etsaRjK6hOk5S9TAcBXGOp8XO3dCJc5AeB0P89cQA9vYh7SEILBYxjSgTMV5UdN8ZraCyxiy1/8cNqMX4vAZ+RkK16yReUppf4CqQMPopSKUe8zAswUCCvgOHtIMiz8Ol4oUiNBdfgTS1vJCrAJraLt4VbDCLObNkfPtIMypzt2CkIFSp2Zm5a+6eg+2B1xSSkYbxca00kybEtBnMxE8ZD1064vXlHF5Bz2tGiTK8jOR9TGVvI0SVteqyGKQPMpuu6CF74h+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=VTC22lNN0+4Xcq0zRBBrQOmevMK3xXKAJ+CYPCwNYTI=;
 b=Xu0AClyJQevYL1vnKbx1kp4ksvRdW0tcCCEuRjZZV/spRolHpGJVCnazRHeW/OLLMCZ3XIyRLhJNx0ooq16cwxfTrKIin2+JGSTVdV7GKuLn4jri1WZTv6QH91UGWjUI2v2NchbAGGh1GoYPsWYPa67I7c/ZPOc+WYqiCfJM1iS79Hz3jjhk60kp1beTztucZj8NWGKYThpmFhu+1DKDvhdoVI52wAPOJznRWk4AOXEeMoDHE0tVzV+QsA2T/mzAgSBHG8S/ROWYbth3HZIj7vXh0EwdpbJ7mcn7wxgNstncuXJKZ5GuVqNumMUtyaCsrfe+pyS/FXdffLOyYnI31Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VTC22lNN0+4Xcq0zRBBrQOmevMK3xXKAJ+CYPCwNYTI=;
 b=AO004vgRwEd3IqoTi0j3rVVyFvJCrozlm0u013yEyNqUcItQeO9mFZBSQ9x2b1SVIqRp1y7hyI4LOSTyFQbZVqPILyrgMampL56uxAMfp81qoNTG3PYg4kP1ErUELbViOsNhe5xG8nU6QDQfRnXfWiE7G2kVcZ1YKpsT1UyCm52PBy/IUKG8NrdZFg65NQQKtzYEqA9J/sEwSdc7I23RjR8PFs6L4kkgFeLE8isZGVXQtSh77GTO6KkVi1q1XxrnKF6Snyb0aqfde+Dao19nuqyxa3I3V+pYyfUt9+VTCTNhyHJS0xeRxhBeu5O6n0VXeFQnlI/od0Ksj0qQmMpHjQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <032c5949-9723-b77d-6c6d-7f4f4f95e9bc@suse.com>
Date: Mon, 20 Mar 2023 15:23:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [help] Xen 4.14.5 on Devuan 4.0 Chimaera, regression from Xen
 4.0.1
Content-Language: en-US
To: Denis <tachyon_gun@web.de>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <trinity-8973751a-6742-4309-b02d-0b4c38f4206e-1678390468345@3c-app-webde-bap36>
 <84f66bc0-ae7c-febe-9a15-98453c48d051@citrix.com>
 <ce1a289e-6ed7-9b5c-42f5-069f16bd6984@suse.com>
 <trinity-429ff607-c131-4745-8c96-9d7f6f61234f-1678481409956@3c-app-webde-bs42>
 <31151e94-b8b3-15ab-3680-e1c6e2e97530@suse.com>
 <trinity-7e872635-20a4-4120-a08d-2d62a77d2da5-1678756503867@3c-app-webde-bs22>
 <2afa0abe-abe5-a3d8-658f-abc466d78101@suse.com>
 <trinity-7c345507-5695-4649-a62b-be4dd793cc00-1678805608384@3c-app-webde-bap40>
 <e5a4689e-27e1-6992-65f8-c59b669aeaf1@citrix.com>
 <trinity-b7bc2797-26a7-455a-8080-8d33234171c9-1679254738309@3c-app-webde-bap20>
 <f68e2621-2858-38b2-f989-32178e9f5ab2@citrix.com>
 <trinity-3058fb41-1250-49d2-88bc-4fbf3ef196f0-1679316388437@3c-app-webde-bap20>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <trinity-3058fb41-1250-49d2-88bc-4fbf3ef196f0-1679316388437@3c-app-webde-bap20>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0258.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB9712:EE_
X-MS-Office365-Filtering-Correlation-Id: eb51df2d-13c4-4098-f11a-08db294eb1d3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mQn1UJsyEmpRZOevzbqWr3OTn5hdOgGBvFkcUwd2cm0msjtDEjEPDmxe/fIH4yzELiuR9aRTBmsHj9EP0b4UzTSMod+4eyqNc6laDpwL1eZyaqSKRuQ4Mbn+0n2moJyHkNfTg7wxEkDXqvrMpUr8L27NF9boePmSG1lF0dr6At6BG5CYUWbQn4G9umVMW7MBjjf66vCmEKlKhrBFflnFBG02bX2Xgw7d6dUbelAFRJlCx2Ye2d8ZWkSYabX2EU7IPgvu5cs90ZMHW1FLQVKh/i7S9MnzaQMqqIS8mTFRxty1CeYthAwmm8m2Y1rY3/g8aIPIXSBkuNzqnYQAXwV18chYCfcYPEgGBAXgUDonET+QS86XT3SSahbZR/Yt5e2LNlkVkWZ6aZUtoLHh2kMcTKpZ+uy7FRbkxP0xz2qdfBBGAJxlPmKk1Up1DlUTk4NJK/IWF8kicvANR4EdOIu+MPr1LdoQaGVW1L6gF6xuCc2UNCMs1njyWop3hY1/oujEh397e+1ZQDB2pjUeRNi0Vd0Wp2A6Ao2Q/k7JtBdyIhYbUMos4E1/4n5nB8JryQh64Dcv55qaVB2XrEqT7vcsPC2gA++b/kukCEmbG0/lNJI7FJdCJ/BN2BnEqg8tawc4a9m+n/MlqqyFMhum7ZzUyX2+8fuj7zDRgYQefLfeVBzaLYQqMkF71P8Kjb9d2PJGKdJ+lXgamROeqewXyX6zk5ee2Dpx04IYQe0Rklc35dc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(136003)(39860400002)(376002)(366004)(346002)(451199018)(86362001)(31696002)(36756003)(83380400001)(66556008)(8676002)(316002)(4326008)(66946007)(478600001)(66476007)(186003)(6512007)(26005)(53546011)(6506007)(2616005)(110136005)(31686004)(6486002)(6666004)(38100700002)(5660300002)(8936002)(4744005)(41300700001)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TERxMXVhTHhUb0Z6YUd2M044ZVN4TTFKUUVNTGNDbFZDMjRqd1VBUUVwSGhW?=
 =?utf-8?B?Q3dsQUhvOGl3MWxTRDdUN1AxMGJZenV3R0QxWEh4SkZ3d0NldEp1R3RPeFRK?=
 =?utf-8?B?N0JpaVIzaUcvaCtjeTR2aXVqa0Z6eEo1RnRIVXV4a0J5YjFJYytCVGt0T09h?=
 =?utf-8?B?UkhyMW9FZTU4REsyd2I4RWtScVNWTFFHWXVhM1BRekc5bGdTTTZGcjdvR0Ru?=
 =?utf-8?B?Uy9DaThTbXpYTlBqNHgrNXRvbFdSdnA1UzZpcTZQaWw3VU9yRFZPMFhhK3J5?=
 =?utf-8?B?V0ZqL3JZSGsrZjhId0lHUm9RZnNGaW5HdC9zSUJ3bTRTZEZoSTI2R2R5NWxE?=
 =?utf-8?B?S3dKS25IQTd6YVZoanFCd0hWVDFycjFLcmVYVHBZVkdXQlFpRkZqMkRBNldJ?=
 =?utf-8?B?aVREWnlCT1hoVDd4YVZhRDdUYVp2cFNxTEh2ejdlT3JnYUNXZ1lLUFdzTGNQ?=
 =?utf-8?B?cG1yL0c0Tk9vMnV1RlQ2VWxpbjZibWhTR3lqVEk1SFpzOTRiUTZzbXNRb1hZ?=
 =?utf-8?B?aTZnSmFhWTlRQk95bnh4K2E3b29lcDlDSUNXQUhsWW05M09YRllURytBQWha?=
 =?utf-8?B?RHR4WmRYL2xMT2dSKy9DSFZ6dVNoK2Jmcm9ycUFtQ2MxNG9GUFNxazN5bFhh?=
 =?utf-8?B?SXREbndvQ0xrcVJ6Nzl6bGNuT0JLMzdvMjh0K3haU3NGS2EvaHVoQXNJcEJI?=
 =?utf-8?B?cWVQVTdvNzRHdm0vWklqSFBFallML01ibUJSc2ljNnRlK1B4STd2M2ptaTB0?=
 =?utf-8?B?cFV4djhNUWJKMEJlOTJ4czAyVTFkbUhSYXpsanIyd1JLYXorWk4xdEpRZ05x?=
 =?utf-8?B?RlFDL2dpN3VLU29pRzcydWZ5eXNPdERqZ2htcFp5Qml0YlhnWWMyNVZCZm1p?=
 =?utf-8?B?eFhuMmd5aG9mQnRvZjJSK0pEc2FrQVJuSXpmdk9GNnVHTUFqcEpkSEZ2cnEr?=
 =?utf-8?B?Q3o3bk4rZWpKMzBQMm9zWTdhNnRxOGR2Rm44RVltUTdrNEFucTlqVlhaazVO?=
 =?utf-8?B?dmxqcEkycTZxd2UyM1FubjhEZElPL2hJa2kyZG85UlA2L1lBM0k3bkJrRFQ2?=
 =?utf-8?B?OStSVEFIYnZjWnBIT0wvb1Y4amNma1NaME5XVmsrV0RCT3hwQjRxWDdCQVFv?=
 =?utf-8?B?cWlRdERyazR1NEduamhsL2pVaEJ1QUFpbjFuSWtaUGtBeU9NNTBqbXpxOFF4?=
 =?utf-8?B?U1ZyYWdCNklobTFKcVdWb21vM2JSZzBhNmJwZENaZ0l0NG10d0lKMmpYY01M?=
 =?utf-8?B?b0QvcUw4anZFajV3T2orcmM0dTAzMDlEWE1VcnBWa0hQTXIwU1BFK05XZW5Y?=
 =?utf-8?B?WEp5T3Q1NzBXbVh5eG16TEVWcUlMSEVXZkNwYnRoZzIrVjRjNFBIUmV1OTRa?=
 =?utf-8?B?S2VIT0lJbUg3anVGaDRtckhJMlBpYlQ1MDAwRFltcC9YY1pWQjhFaXptVi9w?=
 =?utf-8?B?SkVpYm9iSmlTM1VGcnFodndseEhJZFF6R01tQWw3S3dJT1N3TGRKVXVTWFk0?=
 =?utf-8?B?Sy9rTFNLVWhrYmZhMk55L3lMNTlzTEdaR2dlT2NNMXV4dHNOaGFJTFpsY3dP?=
 =?utf-8?B?WWswQmhVNko1aVA2R3hmWkdsNEp2dWJ0Slp1enpUSUtEaUU3djN6MnBadnpQ?=
 =?utf-8?B?aVhLM2xWWDlzVEdscWE5TUhxRU1ic0JNYkxRS0xYQzRYNmpNbmE4eVVTUFlM?=
 =?utf-8?B?NDFXMFpweHVLOGZYdTVQa0w1S05kVUJaeWNXOVFDZkJqbm13b0pNejM3RGc0?=
 =?utf-8?B?Tnl1YUxSVGoweUVlQ1YwYjRVQWNsMFFhWU5hbkJaWkJHLytxUi85VG9sTTV4?=
 =?utf-8?B?Tkx2U0RJOTZVKzlndWV2WnJPd0QxL05xMVF4TFdJUk4xU0p5K2hHdjR2eEhw?=
 =?utf-8?B?K1FHVEVwRW1IYU8vTFphUXZvRFZyNEE4dzJXRVpod1k1ZmRqM3RHSEdlMksr?=
 =?utf-8?B?MmNEQnVoOWd0cmZiK1A0N3BtN1h1akpBeDYya3JGaXRjalBobEMrbmE3R3da?=
 =?utf-8?B?Z25QN0k3a3hFcUVCaTF3YjR6blhmNkR3N2Q5ajFSTzNlUURQY1N3UnBsVVBo?=
 =?utf-8?B?cGhRL01iN01pdWFCZkFDc1NMM2dGRmFKMXJRdnFHM2c1ZzJQQ3IvVGtqOGg3?=
 =?utf-8?Q?Z5q68AxLFeRjyRzgwE3EppgHm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb51df2d-13c4-4098-f11a-08db294eb1d3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 14:23:37.2420
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DS91ZzXOSY6N8sHGUvQDUjaY4Bg3fIMXCXRlNRHbPRCjHPdaIGZhh7ijweWZDZctMRPbwAtadfB6UHEs35fyhQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9712

On 20.03.2023 13:46, Denis wrote:
> On 20.03.2023 12:01, Andrew Cooper wrote:
>> On 19/03/2023 7:38 pm, Denis wrote:
>>> As you suspected, there are a few IO page faults at the end of the boot process
>>> (from my limited understanding it's maybe related to 
>>> "00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD/ATI] SBx00 SMBus Controller (rev 41)")
>>>
>>> I'll attach the "xl dmesg" output file.
>>
>> Do you have this file?
>>
>> If they're only at the end of boot and not later around passthrough,
>> then they might be from other functionality in the Southbridge.
> 
> Sorry, my bad, forgot to attach it :(
> 
> After booting, the messages appear only ant the end, yet when running the HVM domU,
> a few lines pop up there as well.

The addresses are always in the HyperTransport interrupt remapping range,
so to me this is a fair indication of there being something amiss IO-APIC-
wise. As it stands I only view the "disable intremap" route as appropriate
for this system.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 14:30:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 14:30:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511957.791433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peGWD-0007O1-4G; Mon, 20 Mar 2023 14:29:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511957.791433; Mon, 20 Mar 2023 14:29: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 1peGWD-0007Nu-1W; Mon, 20 Mar 2023 14:29:49 +0000
Received: by outflank-mailman (input) for mailman id 511957;
 Mon, 20 Mar 2023 14: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=W9b8=7M=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1peGWC-0007No-L3
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 14:29:48 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a8860ee6-c72b-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 15:29:45 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32KETY6n086168
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 20 Mar 2023 10:29:40 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32KETXQn086167;
 Mon, 20 Mar 2023 07:29:33 -0700 (PDT) (envelope-from ehem)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8860ee6-c72b-11ed-b464-930f4c7d94ae
Date: Mon, 20 Mar 2023 07:29:33 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 2/2] x86/APIC: modify error_interrupt() to output
 using single printk()
Message-ID: <ZBhtzfhumm9AWqte@mattapan.m5p.com>
References: <cover.1679084101.git.ehem+xen@m5p.com>
 <4db49e192b6829e520cf497481a51deef227b23b.1679084101.git.ehem+xen@m5p.com>
 <f945860e-6a82-7070-3a1b-2e73a53040de@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f945860e-6a82-7070-3a1b-2e73a53040de@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Mon, Mar 20, 2023 at 09:56:54AM +0100, Jan Beulich wrote:
> On 17.03.2023 20:53, Elliott Mitchell wrote:
> > This takes care of the issue of APIC errors tending to occur on multiple
> > cores at one.  In turn this tends to causes the error messages to be
> 
> Nit: "at once"?

https://en.wiktionary.org/wiki/at_once

Adverb #2, synonym of "simultaneously".


> > @@ -1419,12 +1420,12 @@ static void cf_check error_interrupt(struct cpu_user_regs *regs)
> >      v1 = apic_read(APIC_ESR);
> >      ack_APIC_irq();
> >  
> > -    printk(XENLOG_DEBUG "APIC error on CPU%u: %02x(%02x)",
> > -            smp_processor_id(), v , v1);
> >      for ( i = 7; i >= 0; --i )
> > -        if ( v1 & (1 << i) )
> > -            printk("%s", esr_fields[i]);
> > -    printk("\n");
> > +        entries[i] = v1 & (1 << i) ? esr_fields[i] : "";
> > +    printk(XENLOG_DEBUG "APIC error on CPU%u: %02x(%02x)"
> > +            "%s%s%s%s%s%s%s%s" "\n",
> > +            smp_processor_id(), v , v1, entries[0], entries[1], entries[2],
> > +            entries[3], entries[4], entries[5], entries[6], entries[7]);
> 
> Two style nits: Indentation wants fixing here (it was wrong in the original
> code already), and the stray blank between v and the comma also wants
> dropping at this occasion.

There are several minor issues here which may be best handled during
commit as they're very small items about how precisely you want this to
look.

First, I later realized I goofed the argument order.  In order to match
the original implementation, it needs to be entries[7] ... entries[0]
(could though be the low-order bits should be reported first).

Second, the order of the for loop no longer matters.  Using
ARRAY_SIZE(esr_fields) and increment should now be more maintainable
(this would also allow i to be unsigned).

Third, I'm simply unsure how you would prefer to format the printk().
I imagine at some future point the register may have additional bits
allocated.  At such point esr_fields[] would grow, but this would also
require adding to the format string and adding an argument.

Seems like several fiddly bits which mostly effect look and don't really
effect the implementation.


-- 
(\___(\___(\______          --=> 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 Mon Mar 20 15:17:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 15:17:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511970.791447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peHFi-0004hl-Lx; Mon, 20 Mar 2023 15:16:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511970.791447; Mon, 20 Mar 2023 15: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 1peHFi-0004he-JC; Mon, 20 Mar 2023 15:16:50 +0000
Received: by outflank-mailman (input) for mailman id 511970;
 Mon, 20 Mar 2023 15:16: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=pxNw=7M=citrix.com=prvs=436835ee5=roger.pau@srs-se1.protection.inumbo.net>)
 id 1peHFh-0004hY-Gz
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 15:16:49 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 376b6a47-c732-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 16:16:44 +0100 (CET)
Received: from mail-co1nam11lp2173.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Mar 2023 11:16:28 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SA1PR03MB6451.namprd03.prod.outlook.com (2603:10b6:806:1c2::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 15:16:26 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 15:16: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: 376b6a47-c732-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679325403;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=eV4EfQXY4uKQgBNEx45Sl7N5TxfsxuuenMedl/NPqUA=;
  b=ILF2ATZVlAfQqC/3ctHwtiBq8OW/06NtSxbCI+2g9y1rBwIuowOa3j8q
   VZslDQC/H3LWT+CezylCrw/HoGNyXHzRfzW0I+/wE8/AA1oCph5HZS4N1
   K52lJFAzNAiNg0hMtjhj+flP/m8OiXxCIomMNmyZNYzKkjwaS9F9GzTRd
   g=;
X-IronPort-RemoteIP: 104.47.56.173
X-IronPort-MID: 100360486
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:danonauosHiPFVLUHEdLFRqjo+fnVD9eMUV32f8akzHdYApBsoF/q
 tZmKWDTOKrfN2GmeI9+Pd7gpE4E6J/czdRnGQduryg3QXkU+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASHxiFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwERYAS0y5rPCP5uzlY7lcq9UvcuDrFdZK0p1g5Wmx4fcOZ7nmGvyPzvgBmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osjv60b4G9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAuiANpJSuXkpqACbFu7wW0OAjQHUxyHmdqUoUevWfJ/c
 GoN0397xUQ13AnxJjXnZDWju2KNtBMYX9tWEsU55RuLx66S5ByWbkAGRDNcbN0ttOctWCcnk
 FSOmrvBHzV+9r2IQHSS3r6RoXW5Pi19BX8PY2oIQBUI5/HnoZovlVTfQ9B7Cqm3g9bpXzbqz
 FiipSwzl7wVgcMRkam24FvHjiiEr53FCAUy423/VWK/7xhlZYejIY+v5F7a4t5JKYrfRV6E1
 FA/h8WB5foSS7GMkCCASv8EGr2B7vOJdjbbhDZHFYQ75T2p/HKkYol47zR3JUMvOcEBERfpZ
 0ncvQ5QvdlTIXKsYod+Zo73AMMvpYDiCNDkX7bGbtNIbbB4cQPB9yZrDWay3nnsmU5quqEyP
 7+SdMrqBnEfYZmL1xKzTuYZlLQsnyY3wDqKQYihlkv8l72DeHSSVLEJdkOUafw057+FpwOT9
 MtDM8yNyFNUV+iWjjTrzLP/5GsidRATba0aYeQOHgJfCmKKwF0cNsI=
IronPort-HdrOrdr: A9a23:otjlWqperQITxtTZUSlgHicaV5u1L9V00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssSkb6Ku90KnpewK+yXcH2/hqAV7CZnivhILMFu1fBOTZslrd8kHFl9K1kJ
 0QC5SWa+eARmSS7/yKhjVQeuxIqLbozEnrv5am854Hd3AJV0gU1XYcNu/tKDwSeOApP/oEPa
 vZwvACiyureHwRYMj+LGICRfL/q9rCk4+jSQIaBjY8gTP+wA+A2frfKVy1zx0eWzRAzfMJ6m
 7eiTH04a2lrrWS1gLc7WnO9J5b8eGRhuerRfb8xfT9GA+cyzpAV74RG4FqiQpF7t1Hpmxa0+
 Uk6C1QQvibo0mhAl1d5yGdkTUImQxelEPK2BuWh2Durtf+Qy9/A81dhZhBeh+c8EY4uspguZ
 g7qF5xmqAneC8oph6Nk+TgRlVvjA65sHAimekcgzhWVpYfcqZYqcga8FlOGJkNESrm4MR/ed
 MeRf309bJTaxeXfnrZtm5gzJilWWkyBA6PRgwHttaO2zZbkXhlxw8TxdAZnH0H6JUhIqM0kd
 jsI+BtjvVDX8UWZaVyCKMIRta2EHXERVbWPGebMT3cZdM60rL22u3KCZkOlZGXkcYzveUPcb
 z6ISJliVI=
X-IronPort-AV: E=Sophos;i="5.98,274,1673931600"; 
   d="scan'208";a="100360486"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J9KkLJBoX6SPI4Orrq98w8J2DCpTA+8pQnHtac4P0Ay/f8z2RFCBsSLDMZTCw4pIT+TZ7fxc8OI3IGtego7Y0WQsy6Z4IIMjfKRhNXuiroIEeALKstHY1I70iwoFJiK424csH2191LwV+hBOBaU5I7V2rKtoEgcPhyVXSaaOGzbQ/vleE+eVN+jANZyGg58+oMM/IK/+aPvKkspMzepTTN8Ryc6YGVHKtv2eKkK8/kG+pYxaV2BC8JKaeXBjBFNOrWox314vx1LqUl1hMYwnoCE7gS3ieXQ0foTC3HLn3BmsSHbzNJDHnvv+pgqV+iZ6BCHNkTLhtYpef2RXck86BQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HOJPe8jia1WWPd+dfZ69rAAEZpsV7YEfpvQVOUWNEKo=;
 b=hqz8+Vxn3VbcGOE/S3V5XWVx6srFtHHSjXQV8P5R5+1/G9JZSck67GoOk5JosA9gYBo3e5LrK4tfPtFe7+PhHJw/CPL1O1KyOokJTpcB7xkpTmI/XsPdyNap60RDz+UbXJZJ6i2PsVKjIJO4k/s6QV8gpop8BXQEWdq8ATMpHpCsuai9bEKQXg6pfjDeAts9akP0PhRp8+M/zfHWOzdCekVvwy4qtc/Gw9l8/kzpzNrZuoyuayyRvvZD72Lwb7nz/4QaWVO2H/SjsqJ91yrexHXzfrqwQFoXOBezkukVuRviClaxxS7n7rloj9FOQ5IspVzfYT/s02x6Z68ZbFDuIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HOJPe8jia1WWPd+dfZ69rAAEZpsV7YEfpvQVOUWNEKo=;
 b=h52CuwDDJl3i8KZZ69EawihOnnjFLurknSoQj/wUZSczW2FNI/oUJa6Z8WCDDTijTMuBpnUjp7MvGIIf7nvYEx+E6Ow+rst1mSu9Ss2mSzr0CqfpJkylJQrgznpnTJlWBdYtoYXZeBlrtQCtNjetydLc6EuU0lISZFfBC5PUnJc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 20 Mar 2023 16:16:19 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, Huang Rui <ray.huang@amd.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Message-ID: <ZBh4w+hDajq06BU6@Air-de-Roger>
References: <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop>
 <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com>
 <ZBLg8WB8HCoZvwz5@Air-de-Roger>
 <df607690-0bfb-94a3-fac6-5e20f183dc20@suse.com>
 <alpine.DEB.2.22.394.2303161611220.3359@ubuntu-linux-20-04-desktop>
 <4edb59db-d2b8-122a-fc10-59001857bee0@suse.com>
 <ZBQ4DKJ8ZAroyPIQ@Air-de-Roger>
 <alpine.DEB.2.22.394.2303171115320.3359@ubuntu-linux-20-04-desktop>
 <ZBTEBkaI8q/mrJmv@Air-de-Roger>
 <alpine.DEB.2.22.394.2303171346410.3359@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.22.394.2303171346410.3359@ubuntu-linux-20-04-desktop>
X-ClientProxiedBy: BN0PR04CA0169.namprd04.prod.outlook.com
 (2603:10b6:408:eb::24) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SA1PR03MB6451:EE_
X-MS-Office365-Filtering-Correlation-Id: 2df87878-e276-4ce4-6b38-08db29561275
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aJzssWwLsz0ndj2+SCC6h2AUvM1dPY/k3yRiJf24sIizkayTcw5uI8bBCRFpKPZ1ZqdoKdr93zHNmvt/rdPpcyIovsa3PcNz0wZmTtJrm6EGmPjV1zEuot19MZykvhZKsZ26EUNoPHzS7SK5W+JwjqYHPm8eBOZ7jtV8CQMfm/C1JbGYOccqrYyd89hM7rSzbUXxSO3BXyL4lS7he+ueok/wvxrs86XijIKOeMzs2dzpW13IHDB3jddsCXy0KOZ4/doSI08fuMVLpYGN5qCgROT33QIY7sKui/Ipz46m2jZZM6s/W0Ouco6DcDeRT+MlfOSmOJET7Oo0P3Y0cuOemBNrwtkAgd2yPmVYqJg0oGdQ8JRDi822SBi0n2OnAYU3g50L+gWdyP9VJ3ArbC8/bo5dSHja+0ZVCzDQ0AuhwY+RLU8FWQr+R9ZAZkzXA+UZCzEeQcF+q76C06ymX79flqSbS3SMtHt5e4BCL00w1QJX7OI/SXwt/6jBGiQCxc0nkhElR2XWCOXKNqrH+qQBQrMB2AMNoYkkFNpCUjUBPmHTAuwUZVEZaFsK3jH9m/eDVxnrhXv7Yj8xdrUh9LXE+Ewchd9VpbB1+4M/iTo8J11ZKUKNzrpaVLF+oHOCGczqf0GlQN4FTQnkL8sYFOhCrsaoj+BC2R0uAG84jwIZn7/W+MJZzFKH0eP1GS2hPcmA
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(346002)(376002)(396003)(136003)(39860400002)(366004)(451199018)(38100700002)(33716001)(30864003)(316002)(54906003)(8676002)(66476007)(85182001)(66556008)(66946007)(4326008)(6916009)(8936002)(7416002)(41300700001)(5660300002)(478600001)(86362001)(2906002)(83380400001)(82960400001)(6666004)(26005)(6512007)(6506007)(186003)(53546011)(9686003)(6486002)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R3RBdVhHS2h6ZkpSeEt4VTc3ZVpHaWhGN2RwZEROOG9xT00veTRQQmtBMFVN?=
 =?utf-8?B?M1ltckZxdFoxVHh6Rk5mRW0xc0VGUExDRDZ1d3lqd0p6Y28xTjkwR2NsQzRM?=
 =?utf-8?B?Y0hHb0JTdEtZQ1NkNjdqbDVpSEEyT25jK1FXSWYrbXFJcVFJZi9jWmhIall4?=
 =?utf-8?B?MXFDRjFudUVXREM4dnJBMS9xemNRZjZzaXpPbW5pdXArQlA3K0xJaHN1Q3F1?=
 =?utf-8?B?MWJLUzYzTm53V1ZCNTFSRlRtRUpmNW1UM0hFNWFreE5TZnRBM1c4QnBZRzcw?=
 =?utf-8?B?Z25leW8wdGMvN0JaeWFyRTdMajE4UzNsa3QyY3cxMXNKZGV3Q0c2YVNGNUFr?=
 =?utf-8?B?WmxydGdWd0Y2WGNnNHFJUDhrdVF2dllFRnFKQmxUVi9pYjZNbnVtVWc0Uld6?=
 =?utf-8?B?TGYvZ1MwYTNOaVk5THFHWDdoY05jaVZMQ1B3NkdCQ2FNQmVPTUsyRDBVblpF?=
 =?utf-8?B?KzVQWWNhTktzVnJuYXRQWkhkRko4aXdVU3ZXOHIwVmx6TVE3WWp2bmxVVmRS?=
 =?utf-8?B?R1ZBelZDZ0tFVUsrTFMxd0FIbzM0T0g5akZHcDNyS3k2a3A3ZDBsR2RSK1k3?=
 =?utf-8?B?Wm5zZGRDeVN5OGRHL1FGdDk5Y0UveGJEUmVEcUd3ZE5BVE9UeWgxcjVjR0E5?=
 =?utf-8?B?MDVGa2QzRUw3ZGhnUWtJeURnVmpUeGxLRUJ0eE5pUndVRnYvcGxreWtiVnJF?=
 =?utf-8?B?QU0xa0pUSDJtbmFNUWlYV3F6OERINEovV0RtU0tDcWdaWkdndllQeDl6S2Zt?=
 =?utf-8?B?UnVhN2ZXNUh1TEhQUHJld0FIZFE4TnlrZnhhQXlhc2NLcDlLZU42YVZqYWdU?=
 =?utf-8?B?cEtTVkFnTlBSMVhSSURPdmxCa3FoYjQxZk1LOHZaUXhOQzFqZFNSN3ljT1FS?=
 =?utf-8?B?TVN4QmlUWmllSGRTSWM1ZENaTTljQ3BvMnVma21vNE82M3lUMlVBcW9sNFZu?=
 =?utf-8?B?YW1jam83eGJNVld5SUhkQkNMZVBZRzJTL1dESUJOTEltQW5UZmFIQVRCZWpS?=
 =?utf-8?B?ME1XL2Uzc1V4TGlSTEx6azYxNlBHZFpubTJFWm1yWHhRNEpzVXlJQkZPYVF5?=
 =?utf-8?B?Nlc2QmhoZmk4NjBPaEN1MG1EVWY2L3FBS3Zyamc0dGQ2c2FidjhmeHlhL1Rn?=
 =?utf-8?B?UmdhS2MwZFJ3Zm1OYWw3aHhvbHg2Mnk2WVU1bXRtQjA2V2dPeXExVHAvRjkx?=
 =?utf-8?B?QzZBVTY4TkpRYTB5Z1BtOGJKTFA0aEQwa2dZZWN2RTNJbWJsaDRGbUNRU2U4?=
 =?utf-8?B?QVp3eDM3TVExUE9rQitlcFlBcXpjT1EvV0pjTUg5RFZEaExvam9QeGovZ3Jj?=
 =?utf-8?B?cTQ3MnFSQmhNWGdQbU11cUk5akNiRWNkUExIeWpPVG4rNk8rZkJ1UktjaXNw?=
 =?utf-8?B?WlpTeHNOMjVlejY5bVkzTk1FU2doQ3RvYTRvbTZmMUd3NEdvY2RvaW4yY2xE?=
 =?utf-8?B?Sk92YVdJZExiYnlUeC9ZUmliaG5ERTR2YkpxZ09lQVdlRWR2M3JjVUgzR2VH?=
 =?utf-8?B?NkpSbURpU2pEQkU4QVQzb3RQa0Uva0dHWjdtTjZIbDZGZlhCYzkydUtOdUJ6?=
 =?utf-8?B?bXdlRUZ5S3lmWEE4N0toZ3RUZ0M1MFU2UHZHV3Q4UFFFNXBreURzTjg5cE00?=
 =?utf-8?B?Y2RDcHZNR1ZMcVFFaDZheXZ2WG5DNk5PZ0lmd2FPNjhOVWdkbmlhSngyZWNx?=
 =?utf-8?B?dkxLeWszTHRmdnF5c0N1ZnFhYTNHcXJzZ2FwajNMNTlVdXFvaklMT2NjQ08v?=
 =?utf-8?B?NzRjNE1BdUlIUlBQVHkxYWl2Z2JRZmhqbmV6VmhvNkZ1MXgxVElxR1JzMitr?=
 =?utf-8?B?OUVsdVU5ZmlQeTVxTXBic0g2clptR3JqWVQ5a3VQTVJ3NTN6MGIvT1Z4Nk1Y?=
 =?utf-8?B?UWY1QzdUcjduVlA5eHhyL2xlbi9CUDJrRm5reU53cW1HNVp4ZDh0cndja2d6?=
 =?utf-8?B?YVBmS000cmxsbmRSN29JWjFqc1laMGtvb2N0Y1YrNWpQQlRESkYvdDVoMTZO?=
 =?utf-8?B?ckZ4blBTVzFzdFBSVmVscnpBcXdwZHBvTVdJOGxSSTlsRy8xOWV5MWVIclFj?=
 =?utf-8?B?Yy9QcGJKZkdyUmpUZEFIYnRqT3oyWDRXYnhsY1lZd0czRVF2QS9tUmd5dzNF?=
 =?utf-8?B?dTJMWWRPU2x5U0xxeGpwT05uV3ZOVXNEakJlUkF0T0tNbUtxRGNCZEVSZzJX?=
 =?utf-8?B?UXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	pQVIQW0Cyc0/8J75lwmlFx+Lu9FYosZy2Y9aRRE3e64mWXOmtoO/xR5BmDf+6k2IXdXg0Xpwky/GMVmqX1+VQ2VlmcGHCFbOAnXZ6zXTASlfHfkc4h+rbflxgo8VnxglmXUVp56BNT5eFPTAk/mUE0g3KjyZJu4KG3vxzZmOAcZjgQXYg56d+QAhIJLnpOY/NWbNmzsFhMQk/xreKMMQk9ifZZBc5tFxqViHclhskd3TAr73Jx9DLBpsvLuEE5rpiY4LABvI5APwrjhTrP22KfnVEOljv0w//qcU09y+01432KuXA+AUDj9bQNRdF+yy/4D1gW1T3rGVg4bw/u07nBfn/gsiov7Zb693V0SDEs9Z9I9cp5ty4YZfxdyPjrQBNmnKV1y2faTAUc5GWRQAtVpA1nvZvoFvRImjOMvorbraLWLqT2hrXVFXv3bkVWulYBu+4Tg17Y6gaTGC5kDuc9kt/KOYQd6Ntmoo+bbJp8JD6kuwki7FTxDj7MSsvhXW+PjnUJBTU2ngrYomtmiAN2NWFYXeodr8XFYPfgTyasU8LEmrbDTnQX89qnT6E06y2nZTE5O3yz+WmibuOBBy7TgpFNtayiBfYNw/veUsmUfn2/l+k06E6dTIlgWPTvaxpbou23I8YxoupcKBGJfdrfmtju6v9EErPou27hj+zwUC8qYqfZn77OW3Xp31uvYja/fjaOQt9EqAwZS5fnruiT5qc8ddQkwcEgZMtvI1OeXc9l0EFoqs4yT3Q6YfQfKLXCp0N/Kk62T402n6A07mifsWq3Ei9kz/YgBKI2KbgRpUvVLS4eeb3EH2mhWVfsifSCLRer8rO9d0a9tPBYpGd/ryQm4n2KuZqXYCDyD90asY3K935ZwD1yvsd0FPQA6/
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2df87878-e276-4ce4-6b38-08db29561275
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 15:16:26.0417
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 27qOBb3lz7Bt75cZPwF6XUfrQb9gLjAeH5W0slscul0O5Wq+8Y3nMXQN+Y6fexRCib4jD0447khA5DbWmVoaQw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6451

On Fri, Mar 17, 2023 at 01:55:08PM -0700, Stefano Stabellini wrote:
> On Fri, 17 Mar 2023, Roger Pau Monné wrote:
> > On Fri, Mar 17, 2023 at 11:15:37AM -0700, Stefano Stabellini wrote:
> > > On Fri, 17 Mar 2023, Roger Pau Monné wrote:
> > > > On Fri, Mar 17, 2023 at 09:39:52AM +0100, Jan Beulich wrote:
> > > > > On 17.03.2023 00:19, Stefano Stabellini wrote:
> > > > > > On Thu, 16 Mar 2023, Jan Beulich wrote:
> > > > > >> So yes, it then all boils down to that Linux-
> > > > > >> internal question.
> > > > > > 
> > > > > > Excellent question but we'll have to wait for Ray as he is the one with
> > > > > > access to the hardware. But I have this data I can share in the
> > > > > > meantime:
> > > > > > 
> > > > > > [    1.260378] IRQ to pin mappings:
> > > > > > [    1.260387] IRQ1 -> 0:1
> > > > > > [    1.260395] IRQ2 -> 0:2
> > > > > > [    1.260403] IRQ3 -> 0:3
> > > > > > [    1.260410] IRQ4 -> 0:4
> > > > > > [    1.260418] IRQ5 -> 0:5
> > > > > > [    1.260425] IRQ6 -> 0:6
> > > > > > [    1.260432] IRQ7 -> 0:7
> > > > > > [    1.260440] IRQ8 -> 0:8
> > > > > > [    1.260447] IRQ9 -> 0:9
> > > > > > [    1.260455] IRQ10 -> 0:10
> > > > > > [    1.260462] IRQ11 -> 0:11
> > > > > > [    1.260470] IRQ12 -> 0:12
> > > > > > [    1.260478] IRQ13 -> 0:13
> > > > > > [    1.260485] IRQ14 -> 0:14
> > > > > > [    1.260493] IRQ15 -> 0:15
> > > > > > [    1.260505] IRQ106 -> 1:8
> > > > > > [    1.260513] IRQ112 -> 1:4
> > > > > > [    1.260521] IRQ116 -> 1:13
> > > > > > [    1.260529] IRQ117 -> 1:14
> > > > > > [    1.260537] IRQ118 -> 1:15
> > > > > > [    1.260544] .................................... done.
> > > > > 
> > > > > And what does Linux think are IRQs 16 ... 105? Have you compared with
> > > > > Linux running baremetal on the same hardware?
> > > > 
> > > > So I have some emails from Ray from he time he was looking into this,
> > > > and on Linux dom0 PVH dmesg there is:
> > > > 
> > > > [    0.065063] IOAPIC[0]: apic_id 33, version 17, address 0xfec00000, GSI 0-23
> > > > [    0.065096] IOAPIC[1]: apic_id 34, version 17, address 0xfec01000, GSI 24-55
> > > > 
> > > > So it seems the vIO-APIC data provided by Xen to dom0 is at least
> > > > consistent.
> > > >  
> > > > > > And I think Ray traced the point in Linux where Linux gives us an IRQ ==
> > > > > > 112 (which is the one causing issues):
> > > > > > 
> > > > > > __acpi_register_gsi->
> > > > > >         acpi_register_gsi_ioapic->
> > > > > >                 mp_map_gsi_to_irq->
> > > > > >                         mp_map_pin_to_irq->
> > > > > >                                 __irq_resolve_mapping()
> > > > > > 
> > > > > >         if (likely(data)) {
> > > > > >                 desc = irq_data_to_desc(data);
> > > > > >                 if (irq)
> > > > > >                         *irq = data->irq;
> > > > > >                 /* this IRQ is 112, IO-APIC-34 domain */
> > > > > >         }
> > > > 
> > > > 
> > > > Could this all be a result of patch 4/5 in the Linux series ("[RFC
> > > > PATCH 4/5] x86/xen: acpi registers gsi for xen pvh"), where a different
> > > > __acpi_register_gsi hook is installed for PVH in order to setup GSIs
> > > > using PHYSDEV ops instead of doing it natively from the IO-APIC?
> > > > 
> > > > FWIW, the introduced function in that patch
> > > > (acpi_register_gsi_xen_pvh()) seems to unconditionally call
> > > > acpi_register_gsi_ioapic() without checking if the GSI is already
> > > > registered, which might lead to multiple IRQs being allocated for the
> > > > same underlying GSI?
> > > 
> > > I understand this point and I think it needs investigating.
> > > 
> > > 
> > > > As I commented there, I think that approach is wrong.  If the GSI has
> > > > not been mapped in Xen (because dom0 hasn't unmasked the respective
> > > > IO-APIC pin) we should add some logic in the toolstack to map it
> > > > before attempting to bind.
> > > 
> > > But this statement confuses me. The toolstack doesn't get involved in
> > > IRQ setup for PCI devices for HVM guests?
> > 
> > It does for GSI interrupts AFAICT, see pci_add_dm_done() and the call
> > to xc_physdev_map_pirq().  I'm not sure whether that's a remnant that
> > cold be removed (maybe for qemu-trad only?) or it's also required by
> > QEMU upstream, I would have to investigate more.
> 
> You are right. I am not certain, but it seems like a mistake in the
> toolstack to me. In theory, pci_add_dm_done should only be needed for PV
> guests, not for HVM guests. I am not sure. But I can see the call to
> xc_physdev_map_pirq you were referring to now.
> 
> 
> > It's my understanding it's in pci_add_dm_done() where Ray was getting
> > the mismatched IRQ vs GSI number.
> 
> I think the mismatch was actually caused by the xc_physdev_map_pirq call
> from QEMU, which makes sense because in any case it should happen before
> the same call done by pci_add_dm_done (pci_add_dm_done is called after
> sending the pci passthrough QMP command to QEMU). So the first to hit
> the IRQ!=GSI problem would be QEMU.

I've been thinking about this a bit, and I think one of the possible
issues with the current handling of GSIs in a PVH dom0 is that GSIs
don't get registered until/unless they are unmasked.  I could see this
as a problem when doing passthrough: it's possible for a GSI (iow:
vIO-APIC pin) to never get unmasked on dom0, because the device
driver(s) are using MSI(-X) interrupts instead.  However, the IO-APIC
pin must be configured for it to be able to be mapped into a domU.

A possible solution is to propagate the vIO-APIC pin configuration
trigger/polarity when dom0 writes the low part of the redirection
table entry.

The patch below enables the usage of PHYSDEVOP_{un,}map_pirq from PVH
domains (I need to assert this is secure even for domUs) and also
propagates the vIO-APIC pin trigger/polarity mode on writes to the
low part of the RTE.  Such propagation leads to the following
interrupt setup in Xen:

IRQ:   0 vec:f0 IO-APIC-edge    status=000 aff:{0}/{0} arch/x86/time.c#timer_interrupt()
IRQ:   1 vec:38 IO-APIC-edge    status=002 aff:{0-7}/{0} mapped, unbound
IRQ:   2 vec:a8 IO-APIC-edge    status=000 aff:{0-7}/{0-7} no_action()
IRQ:   3 vec:f1 IO-APIC-edge    status=000 aff:{0-7}/{0-7} drivers/char/ns16550.c#ns16550_interrupt()
IRQ:   4 vec:40 IO-APIC-edge    status=002 aff:{0-7}/{0} mapped, unbound
IRQ:   5 vec:48 IO-APIC-edge    status=002 aff:{0-7}/{0} mapped, unbound
IRQ:   6 vec:50 IO-APIC-edge    status=002 aff:{0-7}/{0} mapped, unbound
IRQ:   7 vec:58 IO-APIC-edge    status=006 aff:{0-7}/{0} mapped, unbound
IRQ:   8 vec:60 IO-APIC-edge    status=010 aff:{0}/{0} in-flight=0 d0:  8(-M-)
IRQ:   9 vec:68 IO-APIC-edge    status=010 aff:{0}/{0} in-flight=0 d0:  9(-M-)
IRQ:  10 vec:70 IO-APIC-edge    status=002 aff:{0-7}/{0} mapped, unbound
IRQ:  11 vec:78 IO-APIC-edge    status=002 aff:{0-7}/{0} mapped, unbound
IRQ:  12 vec:88 IO-APIC-edge    status=002 aff:{0-7}/{0} mapped, unbound
IRQ:  13 vec:90 IO-APIC-edge    status=002 aff:{0-7}/{0} mapped, unbound
IRQ:  14 vec:98 IO-APIC-edge    status=002 aff:{0-7}/{0} mapped, unbound
IRQ:  15 vec:a0 IO-APIC-edge    status=002 aff:{0-7}/{0} mapped, unbound
IRQ:  16 vec:b0 IO-APIC-edge    status=010 aff:{1}/{0-7} in-flight=0 d0: 16(-M-)
IRQ:  17 vec:b8 IO-APIC-edge    status=002 aff:{0-7}/{0-7} mapped, unbound
IRQ:  18 vec:c0 IO-APIC-edge    status=002 aff:{0-7}/{0-7} mapped, unbound
IRQ:  19 vec:c8 IO-APIC-edge    status=002 aff:{0-7}/{0-7} mapped, unbound
IRQ:  20 vec:d0 IO-APIC-edge    status=010 aff:{1}/{0-7} in-flight=0 d0: 20(-M-)
IRQ:  21 vec:d8 IO-APIC-edge    status=002 aff:{0-7}/{0-7} mapped, unbound
IRQ:  22 vec:e0 IO-APIC-edge    status=002 aff:{0-7}/{0-7} mapped, unbound
IRQ:  23 vec:e8 IO-APIC-edge    status=002 aff:{0-7}/{0-7} mapped, unbound

Note how now all GSIs on my box are setup, even when not bound to
dom0 anymore.  The output without this patch looks like:

IRQ:   0 vec:f0 IO-APIC-edge    status=000 aff:{0}/{0} arch/x86/time.c#timer_interrupt()
IRQ:   1 vec:38 IO-APIC-edge    status=002 aff:{0}/{0} mapped, unbound
IRQ:   3 vec:f1 IO-APIC-edge    status=000 aff:{0-7}/{0-7} drivers/char/ns16550.c#ns16550_interrupt()
IRQ:   4 vec:40 IO-APIC-edge    status=002 aff:{0}/{0} mapped, unbound
IRQ:   5 vec:48 IO-APIC-edge    status=002 aff:{0}/{0} mapped, unbound
IRQ:   6 vec:50 IO-APIC-edge    status=002 aff:{0}/{0} mapped, unbound
IRQ:   7 vec:58 IO-APIC-edge    status=006 aff:{0}/{0} mapped, unbound
IRQ:   8 vec:d0 IO-APIC-edge    status=010 aff:{6}/{0-7} in-flight=0 d0:  8(-M-)
IRQ:   9 vec:a8 IO-APIC-level   status=010 aff:{2}/{0-7} in-flight=0 d0:  9(-M-)
IRQ:  10 vec:70 IO-APIC-edge    status=002 aff:{0}/{0} mapped, unbound
IRQ:  11 vec:78 IO-APIC-edge    status=002 aff:{0}/{0} mapped, unbound
IRQ:  12 vec:88 IO-APIC-edge    status=002 aff:{0}/{0} mapped, unbound
IRQ:  13 vec:90 IO-APIC-edge    status=002 aff:{0}/{0} mapped, unbound
IRQ:  14 vec:98 IO-APIC-edge    status=002 aff:{0}/{0} mapped, unbound
IRQ:  15 vec:a0 IO-APIC-edge    status=002 aff:{0}/{0} mapped, unbound
IRQ:  16 vec:e0 IO-APIC-level   status=010 aff:{6}/{0-7} in-flight=0 d0: 16(-M-),d1: 16(-M-)
IRQ:  20 vec:d8 IO-APIC-level   status=010 aff:{6}/{0-7} in-flight=0 d0: 20(-M-)

Legacy IRQs (below 16) are always registered.

With the patch above I seem to be able to do PCI passthrough to an HVM
domU from a PVH dom0.

Regards, Roger.

---
diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index 405d0a95af..cc53a3bd12 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -86,6 +86,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     {
     case PHYSDEVOP_map_pirq:
     case PHYSDEVOP_unmap_pirq:
+        break;
+
     case PHYSDEVOP_eoi:
     case PHYSDEVOP_irq_status_query:
     case PHYSDEVOP_get_free_pirq:
diff --git a/xen/arch/x86/hvm/vioapic.c b/xen/arch/x86/hvm/vioapic.c
index 41e3c4d5e4..50e23a093c 100644
--- a/xen/arch/x86/hvm/vioapic.c
+++ b/xen/arch/x86/hvm/vioapic.c
@@ -180,9 +180,7 @@ static int vioapic_hwdom_map_gsi(unsigned int gsi, unsigned int trig,
 
     /* Interrupt has been unmasked, bind it now. */
     ret = mp_register_gsi(gsi, trig, pol);
-    if ( ret == -EEXIST )
-        return 0;
-    if ( ret )
+    if ( ret && ret != -EEXIST )
     {
         gprintk(XENLOG_WARNING, "vioapic: error registering GSI %u: %d\n",
                  gsi, ret);
@@ -244,12 +242,18 @@ static void vioapic_write_redirent(
     }
     else
     {
+        int ret;
+
         unmasked = ent.fields.mask;
         /* Remote IRR and Delivery Status are read-only. */
         ent.bits = ((ent.bits >> 32) << 32) | val;
         ent.fields.delivery_status = 0;
         ent.fields.remote_irr = pent->fields.remote_irr;
         unmasked = unmasked && !ent.fields.mask;
+        ret = mp_register_gsi(gsi, ent.fields.trig_mode, ent.fields.polarity);
+        if ( ret && ret !=  -EEXIST )
+            gprintk(XENLOG_WARNING, "vioapic: error registering GSI %u: %d\n",
+                    gsi, ret);
     }
 
     *pent = ent;



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 15:29:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 15:29:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511974.791457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peHRT-0006Oq-TM; Mon, 20 Mar 2023 15:28:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511974.791457; Mon, 20 Mar 2023 15: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 1peHRT-0006Oj-P8; Mon, 20 Mar 2023 15:28:59 +0000
Received: by outflank-mailman (input) for mailman id 511974;
 Mon, 20 Mar 2023 15:28: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=Jf3z=7M=citrix.com=prvs=43647449e=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1peHRS-0006Nv-4T
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 15:28:58 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ebeef3df-c733-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 16:28: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: ebeef3df-c733-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679326135;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=Cae7xsatjdkk0Qd3/PgXTMzDa7IbBzEW0WkMnFrgwDc=;
  b=I/wuFKFdOb9G77ef6BTV0zAaHDGc3L8MNqKUZsiPgWYvv0H11ifk8Tmw
   AvNB1B4/O9tA+/Y67TANSEKI9fIjbeqiRfAbgHu4UdHaNEeDzwxjZQZTh
   9sijN4/Ck5N2GmtxvXn7+sD/bt/T8Cw2bM3qhJRzVZvvx7YMJMUG7LJ/f
   8=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100927263
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:D9MMD6/XEOA4d4p+Fq4IDrUD9n6TJUtcMsCJ2f8bNWPcYEJGY0x3z
 GAbXGGGaP7ZZTeke99+atm28R8HvsfVmNdlS1E4qyk8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqka5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklkx
 NlDFT5XYyqquNi8xJGJaMJJjfwKeZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGOkcUUrsUIMtWcOOAj3/jczpeuRSNqLA++WT7xw1tyrn9dtHSf7RmQO0Mxh7J/
 D2coT+R7hcyF4CY5hHYwmmVvczTnhH0BNgAEqSXz6s/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c9haHvA+6QqN4rHJ+AvfDW8BJhZDddgnuckeVTEsk
 FiTkLvBHidzubeYTXac8La8rj6oPyURa2gYakcsUg8t89Tl5oYpgXryos1LSfDvyIevQHepn
 m7M9XJl71kOsSIV/4+K2Av6jWihnLH2dAQxxTf1dUeu1iosMeZJeLeUBUjnAedoddjGHwHb4
 SBby6By/8hVU8jTyXXlrPElWejwuq3baGC0bUtHRcFJyti7x5K0kWm8ChlaLVwhDMsLcCSBj
 KT76VIIv8870JdHgMZKj2ON5ycCl/KI+SzNDKy8Uza3SsEZmPW7ENxGPxbMjwgBb3TAYYlgY
 MzGIK5A/F4RCLh9zSreetrxJYQDn3hkrUuKHMCT8vhS+ebGDJJjYetfYQTmgyFQxP/snTg5B
 P4FZpHSlUoECL2Wj+u+2dd7EG3m5EMTXfjew/G7vMbZSua6MAnN08Ps/I4=
IronPort-HdrOrdr: A9a23:5074h6svGN0yGkpRxdCusWP77skDddV00zEX/kB9WHVpmwKj5q
 eTdZUgpHnJYVMqMk3I9urwW5VoLUm9yXcX2+gs1NWZLWvbUQKTRekI0WKI+UyEJ8SRzJ846U
 6iScRD4R/LYGSSQfyU3OBwKbgd/OU=
X-IronPort-AV: E=Sophos;i="5.98,274,1673931600"; 
   d="scan'208";a="100927263"
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Anthony PERARD <anthony.perard@citrix.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2] build: detect compiler change to rerun kconfig
Date: Mon, 20 Mar 2023 15:28:36 +0000
Message-ID: <20230320152836.43205-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This simple comment allows to detect when $(CC) changes version.
Kconfig will be rerun in this case. (Rerun is forced by
include/config/auto.conf.cmd which detects changes of CC_VERSION_TEXT
value).

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Technically, it was acked by Andrew:
    https://lore.kernel.org/xen-devel/20200326135621.687685-1-anthony.perard@citrix.com/t/#ma1171775b9938bcdffc80b2fcb8d2a883cd3e32a

v2:
- s/upgrade/change/ in subject and in the comment in the Makefile
- Fix path in commit description
---
 xen/Kconfig  | 2 ++
 xen/Makefile | 4 ++++
 2 files changed, 6 insertions(+)

diff --git a/xen/Kconfig b/xen/Kconfig
index 134e6e68ad..756c7842e9 100644
--- a/xen/Kconfig
+++ b/xen/Kconfig
@@ -4,6 +4,8 @@
 #
 mainmenu "Xen/$(SRCARCH) $(XEN_FULLVERSION) Configuration"
 
+comment "Compiler: $(CC_VERSION_TEXT)"
+
 source "scripts/Kconfig.include"
 
 config BROKEN
diff --git a/xen/Makefile b/xen/Makefile
index 2710d7327e..12c6891a79 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -326,6 +326,10 @@ ifdef building_out_of_srctree
 	{ echo "# this is build directory, ignore it"; echo "*"; } > .gitignore
 endif
 
+# CC_VERSION_TEXT is referenced from Kconfig (so it needs export),
+# and from include/config/auto.conf.cmd to detect the compiler change.
+export CC_VERSION_TEXT := $(shell $(CC) --version 2>/dev/null | head -n 1)
+
 ifeq ($(config-build),y)
 # ===========================================================================
 # *config targets only - make sure prerequisites are updated, and descend
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 15:29:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 15:29:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511977.791467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peHRy-0006y5-Ao; Mon, 20 Mar 2023 15:29:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511977.791467; Mon, 20 Mar 2023 15:29: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 1peHRy-0006xy-7p; Mon, 20 Mar 2023 15:29:30 +0000
Received: by outflank-mailman (input) for mailman id 511977;
 Mon, 20 Mar 2023 15: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peHRx-0006xi-PB
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 15:29:29 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0610.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0018db96-c734-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 16:29:27 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8879.eurprd04.prod.outlook.com (2603:10a6:102:20e::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 15:29:21 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 15: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>
X-Inumbo-ID: 0018db96-c734-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Bsl1RPgsPprnc9mBxD6sZRz4caoSLb3hMNS2UmaGg9bi56+IM/BK4XAdByKc02ysYCVgnfjgTJrZmhbcCPd2j4C3QNs6BX5PRJ6Kp6w5h7/bcaEeRhm99ze1Qqwz9FIiwU1iz0JA1cKHBgLAVEe/zdvSyvJMxZFgTiXLyczgrcRd2BvtGpL+LuHeWMeTkOhXtt25RktXn3MHQUiZeCC+K/L+0SclXX+MIbIPmgmIX54ZxhzvrxSpeO8KpgSLIIpn4NMBGWlVPAW8KWKxp3INJxhD5hFNqH1xpFgSYeQ1f36fw8cXRRQBzpqB/aND/o8bwVFTDzZUXgmzHBBu5335sA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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/YNcxkdmj2cYMt1tizAh8QzH4XEYfIO9XVNzW1J/f4=;
 b=KmSckM+8zUUmt3RdrLzOxWZiXfPS+xUK/JfPyAL18y7EHBeWhWv/k1+QJbhKaTrWkBZdJe5Bn6/oNHcZOO26klKaeqa4dpcmi75pcFW3PWdYeZuVvApRFfrEefyE+fgFERamb9ZguYWBk0GONJxpzoLqAS6x3j4936Qaz95V5c0F7v6d+BbChqUgHpzLuIJSQK3a2+JuJx6LanSmcO3kqubQFAoUMp4QcFHnnUbNhdC9RkaXcA/gioLiRYRA18bw2P0NqsQIwQmmVOLCFPkaMa5Z5k9BKLJaCzrtRncORDYAdZFJYSjBkm2A/960Apu/wiClvCrAs6+NdwdNdn4uTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=u/YNcxkdmj2cYMt1tizAh8QzH4XEYfIO9XVNzW1J/f4=;
 b=3aCto92fg5MbDjVnPcky8T7UwPZ4YG9t0aACFnAwAVVm2Rdul8zihISOLjz9GceeoXwN1berwoEyHLNh5lJx2ka5Cim/uomHTOxBM3OJQ90o+mgLIW2gIj3l74so+fVVTM5zvPvCsbVClSgfu5mneNfcO8hBbzM2nKxq5GLokn3bcsfjsnTGRDd/7y9md2tgeuuTHHdCEsCaqCEnk/OtTMp2q3z7oLUtjKa3nvA2fg9r4v+7QNZ10Sy110cNkQmE/l7XJ8xVxzyEe5lkouW7kV9ZgJfaB9mO/PKL0lPEBAbOAewuW1kHh6IxC6WsAKG4fTPyV4Fk2IJ3EdXekmQeFQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f62de066-d17f-f513-9eef-73615ebaf645@suse.com>
Date: Mon, 20 Mar 2023 16:29:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Huang Rui <ray.huang@amd.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Alex Deucher <alexander.deucher@amd.com>,
 =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>,
 Stewart Hildebrand <Stewart.Hildebrand@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>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <alpine.DEB.2.22.394.2303151729590.3462@ubuntu-linux-20-04-desktop>
 <e8843d7a-eecc-373c-a6b3-6a893bc0eb2a@suse.com>
 <ZBLg8WB8HCoZvwz5@Air-de-Roger>
 <df607690-0bfb-94a3-fac6-5e20f183dc20@suse.com>
 <alpine.DEB.2.22.394.2303161611220.3359@ubuntu-linux-20-04-desktop>
 <4edb59db-d2b8-122a-fc10-59001857bee0@suse.com>
 <ZBQ4DKJ8ZAroyPIQ@Air-de-Roger>
 <alpine.DEB.2.22.394.2303171115320.3359@ubuntu-linux-20-04-desktop>
 <ZBTEBkaI8q/mrJmv@Air-de-Roger>
 <alpine.DEB.2.22.394.2303171346410.3359@ubuntu-linux-20-04-desktop>
 <ZBh4w+hDajq06BU6@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBh4w+hDajq06BU6@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0084.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8879:EE_
X-MS-Office365-Filtering-Correlation-Id: 42467c8e-3a05-46c4-0931-08db2957e0da
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HlasHkZ8vK1MJj6iOU8pmv/jf5571KGE+GRyx9RJIqPXYeOC0sNxFKYvPW4N/g+Co4UCeuD477eqnLrqlKycL3YC+orUJ3kqGdLE1QiEzKpa60FR2gDFxmOAbmB1YYm/n5HVdcx44FomuDpItFmYNS8aM7g0ly60G1atY3c14I78vsGgYai9Pp4yMlEmsuCibelNuZvu+74XX0bf8H5edQ7DWycYz00VGHw4Ff3pvTMvfy9rII7Umu48xTODLpoEgP9wy/Zw8VSm2R1bkKjyUfX8p83ptaypoy4yuaS2c2bMIJtDhIVzlZwplOJHioe9wTmUgCrVAoKe24Bq1oJ8sPc68s15qX52HHQxtf6fMENRoLwAuhwYH9flxWTK7K5JoNqA8Jma1g9u2WVqwmh7wbctdlcIO3dRonO6Hc8eWv8ubiKkh+PjeWqWLd5GMUnjnRycye1q2lWiPcaAiPXjNHkAQZFwe3meLevA4JgVH9/o6BrNrZoJBfmZGH48Ba38wvN7dojcKIOYQuW1YhVZx1QseEcOeQ9C3XM5qNFEIwn8vbX69qkzUvY5H+6Xmf+EvUBWn58T2cNgPdPlueft6LVteIFCLJWwB2XHo3N/HQJH2WWEF6II8RpIx8dNUexEYPX/qpU4Cmm//5RN//Y1e96WiuMkCwj8QMTClTOHslreU89e2hNXxYgo6i5BZhlsm5QdcCzFf81JmiiAVciQ2o8ZXzaWwzKlDL13mo+gGy4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(396003)(136003)(346002)(376002)(366004)(451199018)(83380400001)(36756003)(6486002)(54906003)(478600001)(2906002)(4744005)(7416002)(5660300002)(41300700001)(316002)(4326008)(6916009)(8936002)(66556008)(66476007)(66946007)(38100700002)(6512007)(31696002)(6506007)(86362001)(2616005)(53546011)(26005)(8676002)(186003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bE83K2hrb21nRVVlT1FCL1d0aFBUd1dTTHFRRENRN0x3endPR0VxUklIUDho?=
 =?utf-8?B?U1F3Qk5ZZHhKanRvZzlYSlZ3U2czTy9RbFlQaC8wWTJLM3hqcFFpTHRaUnA2?=
 =?utf-8?B?RHFrVmZRU1AvUlNNSitsMWdOSmUzYzRJRitlVEEzVHR5Uk15M0VQVGNKYS9a?=
 =?utf-8?B?SVFiS282NEJndkNqMkcvbmhZVXNabjc1bGVseWhHeTRWQ2FibFpmUVUwN0sw?=
 =?utf-8?B?MFBKUjBDTCtOcitsZXdocDlQRTlOOGgrT2FUWjZnNkNURnloZWFjMkRJUUFG?=
 =?utf-8?B?T25lZEViODNSMm91TUdsOHNscDB5UUFxY0RjOGZyYVZxaGR4VXA5VjNBeFF0?=
 =?utf-8?B?RysvMjdLRnlCNkR2MFhGVGhXT0JqaHRqOFI1YzRUUkxPNkx3bU1CZTUySk9M?=
 =?utf-8?B?Z0pDcHhNWEdkM29Nbk0rM2RIVDVpV29Bb1pmZUtSVitvNjBab2lWWFBUZ09T?=
 =?utf-8?B?MllIeEx5cDZrY0MxdDhTdlBVM3lzTVdFQ085b3FTMlpGLytweTlNTzNkdENi?=
 =?utf-8?B?dHQzSFArdjZLZWd2a1pBaHY3NFd0Zk0wY05zS2VGK1JRd1IxVEJaYTFTWWh2?=
 =?utf-8?B?RXk5bEFpOTMyYnVZbDNIS2RxUEhTUXlsRm9YQ0pTL2ZXM0NjVldxeFJDUjk5?=
 =?utf-8?B?dFVvRmd3L09RZHN4aGM3UW9QeGpsSkxHNWN4YzBGMVVrYkNrUzRhcjVWSnBh?=
 =?utf-8?B?Y1dJVkN3NU1uaFhXWkN3SmN6TkxjVExCcnJnaDZZOEpOV0Z3aXp2N1JYL0N6?=
 =?utf-8?B?SWZyNnBQSHpsbCs5U3dKa2RldDVyK2Y4cW5DV1Q2Tm4vZHNMbG5ocjRhVkVi?=
 =?utf-8?B?RmhRMUxwUlJHMks3M3BpdXBBbUtSZGpCcTJSMDZxSDY2QWlQbXdkeCtuemZX?=
 =?utf-8?B?cGdMTGdhVzRNYWpFZWZkRTlsV0x3YnJlbS8xYnhaRXEzR29iRUdpaVZXbXJp?=
 =?utf-8?B?bGZiWDkvUFYvZnZGZXFnQkdnSU5VY21YejQrb2JUazFwZE5SaG94T3lBTlhw?=
 =?utf-8?B?anZvVFV3TjUvL3p0L3RQY0JYRUU3ZFQ5ZTY4ZGpValozNWtIWE9xb0lCSW9F?=
 =?utf-8?B?SzF5MHNrcW5nSjNKMW1mQVIvMzVjNm1sSkdKYzM4ZXkyaGJURzhkdDVUN0Jm?=
 =?utf-8?B?MVRuWUVkeEpiVDZQRU5lYndHZXhwdFJZYzhHY1hrM0VKK24yNGFWc0xTMnRO?=
 =?utf-8?B?THgyN2pkT0VZYlAxR1hOZElqbk5rY3UyYlAwbFVLZVZKbzJYUTRESDkrTUYy?=
 =?utf-8?B?UkM4L0xnU1hmTUN2RzlpMWx4ZTVEMUVtVVAxeUhKU3FYbFB5VVBDaXNWVE82?=
 =?utf-8?B?blNFSG81WTg2aWxkN3N5Y0IySjVIa2FVTlVsa09ZdUwyZ0Q4dmtyNVVqOCt1?=
 =?utf-8?B?ejJyQ2tIZkk5Tk41ZHMxcG44aTRFckgyM2F5S0dLMWUrcDBVclB0ZWJKbk55?=
 =?utf-8?B?VEk4dy9xc0UvSlBoK1NNM043NlA0cmJIemprbmJ5UjVnVmMyY204SzNtMjN5?=
 =?utf-8?B?RkNHT25GTE13dHh0YUhiWlJMY3A2a2crT1BEYnJTRmRkUHlPbUJiY2JNVjFn?=
 =?utf-8?B?dTM3SnpXQ0JaZXdXV2tYWE5CU1ZvbmdnOGtLdHdJbkZNS21YOFNxbXhaQ3JC?=
 =?utf-8?B?U3ZLenhlUVBLVU85T0VPclBNVktwQW1haG5Mb0RSSTJiNUFwd1J0UHJZS3hF?=
 =?utf-8?B?dnMwb0NsRFV5bXJBOUhuYTVzVDlpRnFBMXJMN2FVeE1uWFphbVNETkprK0F2?=
 =?utf-8?B?OEkzaGkrU2dpT25ZR05ZeHFDeVdnVUtmYXMvZDlLa2t0UmJzSDdMK0djS3ll?=
 =?utf-8?B?eVNjTXJkaTR0WVBHWFlDand3V09NYnN2NDhPVlp1STNnODNKS0FnaXVPU05y?=
 =?utf-8?B?ZUJSRjFOdlBKZGFuOUkvS0x5OVJDQ0tqVEZYNm1KVzRsclAzY2pldDl4dW1O?=
 =?utf-8?B?VzZpN0owemdua21qb0JZYThDOG1BNlBSMzVEd0lpSWN4SytLdVozZ2NXTnIr?=
 =?utf-8?B?WlBlOC94ZklDdjJzVlA4eTdTYjBJUEJUVytnVytOcmVjcjFLYkRVaDNYa2hS?=
 =?utf-8?B?aWpQendRQlNTMVk0NVRId1FLWW05L2ZYOU1MZTlUZ05yaCtGM25TQWJ4MVJU?=
 =?utf-8?Q?I7I9//UrBbpQFQK72OjnK4lU5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42467c8e-3a05-46c4-0931-08db2957e0da
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 15:29:21.6054
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yby4e+KDTGQE0whbQjVFr+oKgv2FzIcljz9V4lxaRZFLIQqw1eaAMuF3S2bsQ7TfiRCPHX9yjmN0DQ+k3W4Jsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8879

On 20.03.2023 16:16, Roger Pau Monné wrote:
> @@ -244,12 +242,18 @@ static void vioapic_write_redirent(
>      }
>      else
>      {
> +        int ret;
> +
>          unmasked = ent.fields.mask;
>          /* Remote IRR and Delivery Status are read-only. */
>          ent.bits = ((ent.bits >> 32) << 32) | val;
>          ent.fields.delivery_status = 0;
>          ent.fields.remote_irr = pent->fields.remote_irr;
>          unmasked = unmasked && !ent.fields.mask;
> +        ret = mp_register_gsi(gsi, ent.fields.trig_mode, ent.fields.polarity);
> +        if ( ret && ret !=  -EEXIST )
> +            gprintk(XENLOG_WARNING, "vioapic: error registering GSI %u: %d\n",
> +                    gsi, ret);
>      }

I assume this is only meant to be experimental, as I'm missing confinement
to Dom0 here. I also question this when the mask bit as set, as in that
case neither the trigger mode bit nor the polarity one can be relied upon.
At which point it would look to me as if it was necessary for Dom0 to use
a hypercall instead (which naturally would then be PHYSDEVOP_setup_gsi).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 15:37:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 15:37:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511980.791477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peHZq-00007i-4A; Mon, 20 Mar 2023 15:37:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511980.791477; Mon, 20 Mar 2023 15:37:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peHZq-00007b-1T; Mon, 20 Mar 2023 15:37:38 +0000
Received: by outflank-mailman (input) for mailman id 511980;
 Mon, 20 Mar 2023 15:37: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=W9b8=7M=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1peHZp-00007V-4x
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 15:37:37 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2251d07a-c735-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 16:37:35 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32KFbNkn086507
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 20 Mar 2023 11:37:28 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32KFbMdc086506;
 Mon, 20 Mar 2023 08:37:22 -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: 2251d07a-c735-11ed-87f5-c1b5be75604c
Date: Mon, 20 Mar 2023 08:37:22 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Neowutran <xen@neowutran.ovh>
Subject: Re: [BUG] x2apic broken with current AMD hardware
Message-ID: <ZBh9sueCbOSX8iUu@mattapan.m5p.com>
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
 <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
 <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
 <e5b28dae-3699-cb0d-ab7e-42fdd42d3222@suse.com>
 <ZBSi2KfoQXo7hr6z@mattapan.m5p.com>
 <b2eaeacc-de5f-ebe9-a330-fbf9e20626b1@suse.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="9vDWc6VCGySS17fs"
Content-Disposition: inline
In-Reply-To: <b2eaeacc-de5f-ebe9-a330-fbf9e20626b1@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com


--9vDWc6VCGySS17fs
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Mon, Mar 20, 2023 at 09:14:17AM +0100, Jan Beulich wrote:
> On 17.03.2023 18:26, Elliott Mitchell wrote:
> > On Fri, Mar 17, 2023 at 09:22:09AM +0100, Jan Beulich wrote:
> >> On 16.03.2023 23:03, Elliott Mitchell wrote:
> >>> On Mon, Mar 13, 2023 at 08:01:02AM +0100, Jan Beulich wrote:
> >>>> On 11.03.2023 01:09, Elliott Mitchell wrote:
> >>>>> On Thu, Mar 09, 2023 at 10:03:23AM +0100, Jan Beulich wrote:
> >>>>>>
> >>>>>> In any event you will want to collect a serial log at maximum verbosity.
> >>>>>> It would also be of interest to know whether turning off the IOMMU avoids
> >>>>>> the issue as well (on the assumption that your system has less than 255
> >>>>>> CPUs).
> >>>>>
> >>>>> I think I might have figured out the situation in a different fashion.
> >>>>>
> >>>>> I was taking a look at the BIOS manual for this motherboard and noticed
> >>>>> a mention of a "Local APIC Mode" setting.  Four values are listed
> >>>>> "Compatibility", "xAPIC", "x2APIC", and "Auto".
> >>>>>
> >>>>> That is the sort of setting I likely left at "Auto" and that may well
> >>>>> result in x2 functionality being disabled.  Perhaps the x2APIC
> >>>>> functionality on AMD is detecting whether the hardware is present, and
> >>>>> failing to test whether it has been enabled?  (could be useful to output
> >>>>> a message suggesting enabling the hardware feature)
> >>>>
> >>>> Can we please move to a little more technical terms here? What is "present"
> >>>> and "enabled" in your view? I don't suppose you mean the CPUID bit (which
> >>>> we check) and the x2APIC-mode-enable one (which we drive as needed). It's
> >>>> also left unclear what the four modes of BIOS operation evaluate to. Even
> >>>> if we knew that, overriding e.g. "Compatibility" (which likely means some
> >>>> form of "disabled" / "hidden") isn't normally an appropriate thing to do.
> >>>> In "Auto" mode Xen likely should work - the only way I could interpret the
> >>>> the other modes are "xAPIC" meaning no x2APIC ACPI tables entries (and
> >>>> presumably the CPUID bit also masked), "x2APIC" meaning x2APIC mode pre-
> >>>> enabled by firmware, and "Auto" leaving it to the OS to select. Yet that's
> >>>> speculation on my part ...
> >>>
> >>> I provided the information I had discovered.  There is a setting for this
> >>> motherboard (likely present on some similar motherboards) which /may/
> >>> effect the issue.  I doubt I've tried "compatibility", but none of the
> >>> values I've tried have gotten the system to boot without "x2apic=false"
> >>> on Xen's command-line.
> >>>
> >>> When setting to "x2APIC" just after "(XEN) AMD-Vi: IOMMU Extended Features:"
> >>> I see the line "(XEN) - x2APIC".  Later is the line
> >>> "(XEN) x2APIC mode is already enabled by BIOS."  I'll guess "Auto"
> >>> leaves the x2APIC turned off since neither line is present.
> >>
> >> When "(XEN) - x2APIC" is absent the IOMMU can't be switched into x2APIC
> >> mode. Are you sure that's the case when using "Auto"?
> > 
> > grep -eAPIC\ driver -e-\ x2APIC:
> > 
> > "Auto":
> > (XEN) Using APIC driver default
> > (XEN) Overriding APIC driver with bigsmp
> > (XEN) Switched to APIC driver x2apic_cluster
> > 
> > "x2APIC":
> > (XEN) Using APIC driver x2apic_cluster
> > (XEN) - x2APIC
> > 
> > Yes, I'm sure.
> 
> Okay, this then means we're running in a mode we don't mean to run
> in: When the IOMMU claims to not support x2APIC mode (which is odd in
> the first place when at the same time the CPU reports x2APIC mode as
> supported), amd_iommu_prepare() is intended to switch interrupt
> remapping mode to "restricted" (which in turn would force x2APIC mode
> to "physical", not "clustered"). I notice though that there are a
> number of error paths in the function which bypass this setting. Could
> you add a couple of printk()s to understand which path is taken (each
> time; the function can be called more than once)?

If I'm reading the logs right, this could sugggest "Local APIC Mode"
setting was modifying the IOMMU side of the APIC, not the processor side
of the APIC setting.

There is also a "Compatibility" value which I haven't tried.  Perhaps
taking a look would be interesting.

> >>> Both cases the line "(XEN) Switched to APIC driver x2apic_cluster" is
> >>> present (so perhaps "Auto" merely doesn't activate it).
> >>
> >> Did you also try "x2apic_phys" on the Xen command line (just to be sure
> >> this isn't a clustered-mode only issue)?
> > 
> > No.  In fact x2apic_cluster is mentioned in all failure cases.
> 
> Could you give physical mode a try, please?

I had taken the previous message as an implicit request to do so.  I was
stating I had not previously done so.  While "x2apic=false" is functional
as a workaround, I really would like to get to the bottom of this.

> >>> Appears error_interrupt() needs locking or some concurrency handling
> >>> mechanism since the last error is jumbled.  With the setting "x2APIC"
> >>> I get a bunch of:
> >>> "(XEN) APIC error on CPU#: 00(08)(XEN) APIC error on CPU#: 00(08)"
> >>> (apparently one for each core)
> >>> Followed by "Receive accept error, Receive accept error," (again,
> >>> apparently one for each core).  Then a bunch of newlines (same pattern).
> >>
> >> This is a known issue, but since the messages shouldn't appear in the
> >> first place so far no-one has bothered to address this.
> > 
> > I won't claim it is the best solution, but see other message.
> > 
> > I'm tempted to propose allowing _Static_assert() since it is valuable
> > functionality for preventing issues.
> 
> How does _Static_assert() come into play here? Also note that we already
> use it when available ...

This is more in relation to the patch.  Appears GCC's C90 mode disables
_Static_assert(), so the _Static_assert(ARRAY_SIZE(args) == 8) had to be
dropped.


Come to think of it, I should have copied Neowutran on this thread as
everyone else has been running into this too.  Perhaps "x2apic=false" has
gotten less attention since it is a single-shot workaround.  Whereas
"tsc_mode = 1" needs to be repeated in every domain's configuration.


Neowutran, I'm unsure whether you remain subscribed to this list or not.
As such I'm attaching a copy of Jan Beulich's proposed patch, which may
(not yet tested) solve the "x2apic=false" issue.


-- 
(\___(\___(\______          --=> 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



--9vDWc6VCGySS17fs
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="x2apic.patch"

Date: Mon, 20 Mar 2023 09:28:20 +0100
From: Jan Beulich <jbeulich@suse.com>

AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode

An earlier change with the same title (commit 1ba66a870eba) altered only
the path where x2apic_phys was already set to false (perhaps from the
command line). The same of course needs applying when the variable
wasn't modified yet from its initial value.

Reported-by: Elliott Mitchell <ehem+xen@m5p.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- unstable.orig/xen/arch/x86/genapic/x2apic.c
+++ unstable/xen/arch/x86/genapic/x2apic.c
@@ -236,11 +236,11 @@ const struct genapic *__init apic_x2apic
     if ( x2apic_phys < 0 )
     {
         /*
-         * Force physical mode if there's no interrupt remapping support: The
-         * ID in clustered mode requires a 32 bit destination field due to
+         * 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 ||
+        x2apic_phys = iommu_intremap != iommu_intremap_full ||
                       (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
                       (IS_ENABLED(CONFIG_X2APIC_PHYSICAL) &&
                        !(acpi_gbl_FADT.flags & ACPI_FADT_APIC_CLUSTER));



--9vDWc6VCGySS17fs--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 15:39:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 15:39:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511983.791487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peHc1-0000ou-HD; Mon, 20 Mar 2023 15:39:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511983.791487; Mon, 20 Mar 2023 15: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 1peHc1-0000on-Dw; Mon, 20 Mar 2023 15:39:53 +0000
Received: by outflank-mailman (input) for mailman id 511983;
 Mon, 20 Mar 2023 15: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peHc0-0000od-64
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 15:39:52 +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 739ee765-c735-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 16:39:51 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8926.eurprd04.prod.outlook.com (2603:10a6:102:20d::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 15:39:48 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 15: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: 739ee765-c735-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VbvZsAizaTIMn5F+/JKvT5yW5n5aMhoaL24RCwzBURxINMNyVN6mehKCMAN4ZV5CBbgYJoInZsoIPjiVvJ6rq2cpLNTYQ4vdeFRm3zY79t4Nk82CjZumWHughsD2aAkQ7Kn17eV1uhCBPEU2zekcpW+qPwMq/wy8MQaPTUjCckZ9t03QGXUgrzFg+7VfwtMyuHslzgp6YOzZnbWztqs0J9PFvaHWKGfDvI+z/LjQUWLH8cjcS7MSE1RoVvUXLUZxXUiy9OKSjQCU47gYPHN6X7Jue4R3x6O0gD6SyDt8lTK6hbKerWKF+ib7lcZWOXsSzvDv1u5I0oZOtg6Xx00JJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hR9n7oQ6webP7Wzvmt7oADorvrNzqo0kEmiYBKy4PTw=;
 b=PVraYNrAqtUbXCxM160uRKMBwJpCaZiAXAg78Z6vwfH+VSQ8SmOgCz5VDAITqJNt+8rdDjttpR+kQVjdF6BRKH4Z9juof9dt8Gsrl8TamMLjEB7S7Khb3CVjEEJ0aucD7bEyVKID61XYCGWbucgHkHob5lNXpkbLhpHoH6bWn6Kxqgk+et794l4j3TcPR6VEuP7rK48ExTwsIgHvYqqBPxXa088Sz6r2QeImReK1zB7ndLgAyiqEbh3BzxNSILn8rCw4mCaQgbQDCAklTJ9/ubwH+KtcIJjA1nYvM3bM7qemOQYnC9b6B2iHb8y5KwnDMZe5EIhflHuzNvMFVLjctQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hR9n7oQ6webP7Wzvmt7oADorvrNzqo0kEmiYBKy4PTw=;
 b=FGU4vb5TDm1rvAh6UfL3MMVK/m3kcK25Cdg40yIks1yVu3XEPxMw7FJSeA8IOOaOmEJNX5FGztWLxm180RlYUDV282Pz61TErAbdA6nd6lQTVROpdYkplr2OsxlP9VSvVOY3N52ehsT4Mu+Kb0x27BYx4rmwIE9k1FUe8oImB7IXXHrCRvv/190uy0QcRaO7Y/ekAtnONVT8YFxemDLJtOCwbzO/8g7WaAGi4SMXsl7oBpp89m8aDA5u6oUxaN2p8HbE5luj8Y1HOWR/9rRFqhVusO27bBXPZ8jTcy1HZ6roK8zlhRD18nE1whz+npZ7SvJquGP9/MLCLYIftGBSJQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5b62c34e-5013-50ba-b218-925fe4eb6c0d@suse.com>
Date: Mon, 20 Mar 2023 16:39:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/2] x86/APIC: modify error_interrupt() to output using
 single printk()
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1679084101.git.ehem+xen@m5p.com>
 <4db49e192b6829e520cf497481a51deef227b23b.1679084101.git.ehem+xen@m5p.com>
 <f945860e-6a82-7070-3a1b-2e73a53040de@suse.com>
 <ZBhtzfhumm9AWqte@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBhtzfhumm9AWqte@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0165.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8926:EE_
X-MS-Office365-Filtering-Correlation-Id: 8247be91-fa91-4e4f-86e6-08db295953ed
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i4vP8RdLWwnze08xK6ANvrOr945Gq8O0ZBlD09Cj4Z1J51CI+xuKiSGaD1gNJZsbj9Bb5GMP/rXbB0eDbr/lAm8NmVHxRNopwErV+Pp+tz8FjDBJW+0Xqz+VIWUcmF/0k8dqSBkzpaN/ppNwlHdZZYFXZQuvoAIXAQr1PNhLZLADbJiBq7AmZYirRxCdD91I/oT4qwnXbCGs79NgKaBmWwAuQMRkPNqN7JIxKeft8AlSvxdGCse9Yy4oZhsi8KZAJtoZYB1JgwkmDo/6t77KfYszGTyzqe4ozYJnEbLPdDuskr/6H2Eb3wp1dyvM7nh5nMvAVW3V9gL9U/3FCWTBPVTNdgXcdIKMZWOhfyTDBD/qvWuX2EdXqw92sSuQcsZlhqDZERIRHpoRu0j4uxIYRnPBeUCymlox5iI47RxjlDFRkaGdJ/r0/kfmF3uhRpN15DtrM3ZAitF0q78jEVaIYv7BMaKJqMukqzAGzFx6AuqSVAo7h8b9BPzjecHYzdxhZ9P/i8ivmG8ukqhFnePtRgdECCIfV7OQb6ZPyOHCqtzke3Ppu6a+jFXsULZdpKTQKqmmmyjA82uCWAQ4rEF9D1sMlO3+e2LUYvHIKl+nH8GKJPqanR5Ha7AuU1GfLVPOaVY2/h7LPHkSy9PDiBhhx3zmHajYOSTd5jxNUWFDe4K0I+NOCfpj1XwnjiUBDhtsiII5nI/AEC3ohifhBb0nGdI1LdJoz99BK2DdwkYZQbg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(366004)(376002)(39850400004)(136003)(396003)(451199018)(31696002)(86362001)(36756003)(4326008)(316002)(8676002)(83380400001)(478600001)(66946007)(186003)(54906003)(966005)(66476007)(66556008)(26005)(6512007)(53546011)(2616005)(6506007)(31686004)(6486002)(38100700002)(5660300002)(2906002)(8936002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NE51eFVPVlZMai9tSENmamd3d0FtWWg4MUVpRTB0WjdsVk5mSnJKN003eHBW?=
 =?utf-8?B?VmJYRFNub1c1T2ZtR0FBTmJsQUthK0swbEcxb2x6L3dySHlQUGJ6SlFrc3Bj?=
 =?utf-8?B?bm1ZZWxTZUdGQXF2V3lyWTFkY3BsUkVRY3Z2YXI0NjNNTnU4QWNQTVdhUlpK?=
 =?utf-8?B?cVRPeDN3S3VHbjh1QldlakFZb0RZOXhITS9GOWVzQlVZdERUOXRLWjgybDN5?=
 =?utf-8?B?K1QwVGoySzNxRWJWSVErVDFoRGhtZG1XY2lUZnUxdzQybzg1bm9QaGlsaHBU?=
 =?utf-8?B?OVVRblVDTGY1NlVzSnY1d3BZT05JREhxNk4yN05Sb3g5YVRjbTJYZXJxTVZl?=
 =?utf-8?B?Njc5N2g5RFdXUU5zMWtldmZmWlpJR2JBdHhXWm5GRDJjNGY5MW9NOUdkVUox?=
 =?utf-8?B?MUdqYVNtV2xxVHc0UTYrUERVSjFBNEoxYUlzSDFidnRONmNBZW9qYzNjekNZ?=
 =?utf-8?B?ZzF5TEF6cVU5VVVVOFFXVTM2bTFZL2lEK2RJSktQZWZFMmVoakNJWFVzWmdz?=
 =?utf-8?B?T0dWU3dzUjE2K0hacW85VlRYNEFpWG9mSTJsNnJEYVlna1BhdmIvVDlUMVVV?=
 =?utf-8?B?Qm9Ic2lybFVmRGt3OWY1UTgvcHQvM3BONDdzOElsQ2ZxdWVKUkNVU3ZVaVZP?=
 =?utf-8?B?R2QyWExhS1VkbllJeWJySVBGcFovTFF6bFlWOTdSQVp3SGU3R0RadUhDU2p3?=
 =?utf-8?B?WmxnUmR1V2tHOXRPbGJoZWNVdC9KNjdEUmZxVHZXUE8xQVF0ZzBIUDJQZjA4?=
 =?utf-8?B?eFVUelVRaUMrYVlEKzlXeXdmbXNJZzlRT21tNWlKcVZETVJnZk5SZkUrbnNl?=
 =?utf-8?B?S1hSd0p6dWVtNGdaOWNhMUczb2hjdjFQMzI0c3FzMEtIODlyaHlmenhMdVRw?=
 =?utf-8?B?MDBScmtVV1JKMTd3ZzhpZjI1d01MbE0yWEpEek56SVNpdmxqUHJuVVNjL2dk?=
 =?utf-8?B?L1VodnBONUZxUklyNGFwTW4rS1o5Ym9HNnlhWUcvdlZsd2tWVDNyYU4zemNP?=
 =?utf-8?B?OVQ1emZuZ3h3ZjFBcEdLdHFxVDRoaS9Ga0RKVjcwR0Q4enhJV1BXY20xZ1hi?=
 =?utf-8?B?YldraGxHUjU2OGE3RHJpNnNGNmI4YitaUFh0Sk9XSk96d3pHRE5MaUhXVmc0?=
 =?utf-8?B?SE9zT1dCVDBKM1pTUjlKY3A3N2p5TFNwNndibG1OVkpaQWFMb04xd2RTeG5V?=
 =?utf-8?B?aUVteHJIY3FSRnUxK1NaY016eUhvOEZDVUdpQXUydE53Nmo3UndJVHBFUm9B?=
 =?utf-8?B?VmQ2N0NNR0ViWVZFajl4OUJndkNraVFlZ3FWU3AyMDNMSUNBbHlIQkVxR25B?=
 =?utf-8?B?blhJeDZmYktpQjhCQ3RGRjBkWEREeEN3amlXK1gwNUZMNnZYWWYwbUs1Rllp?=
 =?utf-8?B?cHNKbEhwbGdaY3VYYzlYRmVKYm5aa2lKVjZKZmRFTjR1UkZNa1JrK09OWnlW?=
 =?utf-8?B?TEp0RzZ1bzZSS2M4bHhydVdEY0RWeDJ4ZUcycktxc1ltVVFXdWpMZkZhOUI5?=
 =?utf-8?B?WUpsZU1sL25pbE4yWXBrWG04OE8xMEZKWEoxYXBBVTRYaEtHV2RWeXFtMkRX?=
 =?utf-8?B?Zksra1RFakc1ZlRMNitNR3dUTFY1SVArNzEranNHWk1hN1M4TDY2b2VBSk1z?=
 =?utf-8?B?R1RNaGFjUklETUlrMnNvTTdtdWoxZi9Zd2UrcHkvQlY0Uk1ZN2lZdHZacG5l?=
 =?utf-8?B?Ry8zdGo4cGZCOXBDYWtPcFphcGJONHJSZWNvL2VIb1BrZkRlQ3dwczgrSkVM?=
 =?utf-8?B?WVBmc1VjVnc3UmJPWjZQK2N1bDlKOE1Lbm1iU1ZmSlBseGJ1ejFZbDd3S3l0?=
 =?utf-8?B?dlJ5MHhPcVVQUTBLSWpQSVRYWUR1eHFpS25ibWtkc2xkb1A0VnBXTlpiMjcz?=
 =?utf-8?B?MnNJdDRmREFVa1J2WTcrSFAzQ05jWXN0SHE3YmloeVhOL3VxUjVkaURrWHlv?=
 =?utf-8?B?dXEwbEhUVmZ0QzNGdmR2RUUwOXRCMGF5ZFBON0RJUVZhVnhXOEwvNXVmQU9D?=
 =?utf-8?B?VmpjZWhpWEVjN0FpREpROXg3U0hCbDFtNzNsNGcvajM5Uy9KelpMdG9RZE9K?=
 =?utf-8?B?L3VLeE5qUUdhQmI1MzZja2RaZTdjMXF6T1FDMVlzMGxHdmMzY2Nzd242c2hy?=
 =?utf-8?Q?l6nzmIQVBbsALO4d9AV2Oo4bS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8247be91-fa91-4e4f-86e6-08db295953ed
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 15:39:44.1523
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LbduSw85ajGag+LLdBFTyM6CwLml6uhGRMq3b3Xf2c44e/PAx/wVLyGZZJec9eBqd9UrA5la/xoszBnrlKx4ng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8926

On 20.03.2023 15:29, Elliott Mitchell wrote:
> On Mon, Mar 20, 2023 at 09:56:54AM +0100, Jan Beulich wrote:
>> On 17.03.2023 20:53, Elliott Mitchell wrote:
>>> This takes care of the issue of APIC errors tending to occur on multiple
>>> cores at one.  In turn this tends to causes the error messages to be
>>
>> Nit: "at once"?
> 
> https://en.wiktionary.org/wiki/at_once
> 
> Adverb #2, synonym of "simultaneously".

And that's what you mean, I think? Not being a native speaker, I have no
idea what "at one" is meaning here.

>>> @@ -1419,12 +1420,12 @@ static void cf_check error_interrupt(struct cpu_user_regs *regs)
>>>      v1 = apic_read(APIC_ESR);
>>>      ack_APIC_irq();
>>>  
>>> -    printk(XENLOG_DEBUG "APIC error on CPU%u: %02x(%02x)",
>>> -            smp_processor_id(), v , v1);
>>>      for ( i = 7; i >= 0; --i )
>>> -        if ( v1 & (1 << i) )
>>> -            printk("%s", esr_fields[i]);
>>> -    printk("\n");
>>> +        entries[i] = v1 & (1 << i) ? esr_fields[i] : "";
>>> +    printk(XENLOG_DEBUG "APIC error on CPU%u: %02x(%02x)"
>>> +            "%s%s%s%s%s%s%s%s" "\n",
>>> +            smp_processor_id(), v , v1, entries[0], entries[1], entries[2],
>>> +            entries[3], entries[4], entries[5], entries[6], entries[7]);
>>
>> Two style nits: Indentation wants fixing here (it was wrong in the original
>> code already), and the stray blank between v and the comma also wants
>> dropping at this occasion.
> 
> There are several minor issues here which may be best handled during
> commit as they're very small items about how precisely you want this to
> look.
> 
> First, I later realized I goofed the argument order.  In order to match
> the original implementation, it needs to be entries[7] ... entries[0]
> (could though be the low-order bits should be reported first).

I'm not really concerned of the order. A change of order wants
mentioning in the description though.

> Second, the order of the for loop no longer matters.  Using
> ARRAY_SIZE(esr_fields) and increment should now be more maintainable
> (this would also allow i to be unsigned).

Indeed. But that would better done in a separate patch then anyway.

> Third, I'm simply unsure how you would prefer to format the printk().

About any way matching style guidelines is okay. There are two more
things to mention though (sorry for not noticing earlier): We aim at
keeping the entire format string on one line, for grep-ability. And
there's no need (and in fact no reason) to split the sequence of %s
from the \n. To summarize:

    printk(XENLOG_DEBUG
           "APIC error on CPU%u: %02x(%02x)%s%s%s%s%s%s%s%s\n",

(unless of course it all fits on one line, which it looks like it
does).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 15:52:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 15:52:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511988.791500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peHo6-0003P2-Ql; Mon, 20 Mar 2023 15:52:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511988.791500; Mon, 20 Mar 2023 15: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 1peHo6-0003Ov-Nt; Mon, 20 Mar 2023 15:52:22 +0000
Received: by outflank-mailman (input) for mailman id 511988;
 Mon, 20 Mar 2023 15: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peHo5-0003Op-G6
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 15:52:21 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0602.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31068a9e-c737-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 16:52:18 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by GVXPR04MB9759.eurprd04.prod.outlook.com (2603:10a6:150:111::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 15:52:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 15:52: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: 31068a9e-c737-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JNU8UU1C9nSSzG3pXKeeuMTMtlknPnlyI1ckpkztK9dQeI1Lteb/mWYMLyhhxHgMc/7IDofA9loyAQGgT3mQB1PcyzpEmiF1wtKo+sTwdi8XW14UlbhenUH3FTaJSSmGo7UyNLRpaiCtsvEEd6737rsZCM+TgZgvvGzeYnGXNFyFYbVYtYxpUlXFpq6Lnd0w4TjbCh8dKmkAhJ5saYvsi1wYgT9qtBuFnk6dpqgtet1NnAGNe8DAP07ZUZohYbjfXc/6kLaK/odQRANVIVeZAwoP/czzwYsW/ZdgmVbIDxTpW5MfPxHfWANen6/AfncJPs494W9knUZg5OFmQt6+dQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=whgh7E4wYCKa5w7i14KUbrAoNj8Edyj89uGBumGUEDk=;
 b=O/pdKBmLEWffyKYWWDk3OaW9uYvwin/v0bpTOvVCq3P2vy98WSyLj0MYvcZ1RpUk4zFPYh7CLi0hmnN9aE8TpIZXsOaKyZeKB3ZOKXZiQhHFkHMXwxKtXkA5fyz5L+J+wENsoldZ/6qrsqFphCObqFU0F4Qw5rILjIQ0RMfI/Pq6C0do0bZHp5KbBfssy2o13KsksY+ZpkU4ll2/uZdEo2dLhvGjinLscE9vLa6AhpmTBvIFfpzJTmqTPPk8zKsFtkSTT3XGJ5xbKYqPSMVgnq7UyarN6hPsHZwUVmq9wItXW4canxbrBwGuEMQ+aZOB4yn7jxl9DPbf/UL/ElSYsg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=whgh7E4wYCKa5w7i14KUbrAoNj8Edyj89uGBumGUEDk=;
 b=rIJF+E6e86ftEnmGdKe7YI5fRf8hvg0USUQL1bF7NMN+vGKz5d+mkC/A6RG8qCeZq2rng9piMiWukPzoqpMBYCZJ8StukSVjfZNWoVMd2tKWq5pv7LWW+qvvA1rkojjew5G6FsTNVGCPoO5VEb4X3Y8Wao5KgvWQ59yu4JVvCq0gXslUoSj/9s5NevR3wS/e8En8q8QBGtNpOKATkZSU7o+HQNRqPr4RPwNGFEHM0Q4p2BIuRnMquVe6VSLlx1LXk00W8JfBkjU56TCcmqx6+Eb4B5kInYbbiRgrcuau7fpuq6TFDc7HdlrgGWMxjEi62pPtPYhKrrQ94J5kR4Lu4g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9fc0babb-c3c3-1896-c5fa-e7f5ae2ede27@suse.com>
Date: Mon, 20 Mar 2023 16:52:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [BUG] x2apic broken with current AMD hardware
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: xen-devel@lists.xenproject.org, Neowutran <xen@neowutran.ovh>
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
 <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
 <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
 <e5b28dae-3699-cb0d-ab7e-42fdd42d3222@suse.com>
 <ZBSi2KfoQXo7hr6z@mattapan.m5p.com>
 <b2eaeacc-de5f-ebe9-a330-fbf9e20626b1@suse.com>
 <ZBh9sueCbOSX8iUu@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBh9sueCbOSX8iUu@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0072.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|GVXPR04MB9759:EE_
X-MS-Office365-Filtering-Correlation-Id: d23298f7-3313-4e2b-ecd0-08db295b1123
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cNjqnaNoRpP7tKStZX5NwfZDlXbcQ7Rtk5FnqHLk7WYJtFrE0HUEBV9dnRgn1tZaz6cOhBIW+fXattru3s8wATjc/m3PThL6RxaO7P5cGG9lPAGtuMUwnfjMXeWAZe+q+g1Sh/tz+vYCFL4Z4teU1ztGOcrapcXIo6NBrIPl73Un7zwb9AIw7RLu0bKH5jJex0vvydkr7uvhF3UJ6LRpKFev4t28HoC+Kz3ODsGJQw3bqQ8SdXYhf11XI7RTW0TgCG6YepuzqO0R8KkZklmousDpvdVMxmPjZ85ot/yfwVsT9r5QRmrCpnyaFDF1oLccDCbY1sIbBDe396xacDwQpGbcV0UwfhrG5HEMa5T/8dN7AmTQQIQFNpo39ySARUkKUAzGzZOJbAsgZIce0kloFY+qv+3rTBKF7DM3y/A/UmXxhNYFSz0UWIAgZIj45WBupTPQCahc9Yym+S4AnmLBK926EbhN4Kf4tBjT8sO6mP6seC7TIAQkh26kaxCxfURlagxCMAGcagTcy2aGRCBMIEfHj3QG9xTf/lmS8U2ySqXPx3PJJsVgrJG7HTZTlnaAFJ6bMb70PHVA/zxmIiYv3Oqb0WJDtHsAv6MiUl4d+5LvOAYqXst54UMcw2l2ney25kKVKAgCPYBdAUvvpuKVxcAUJF9iZgE0f4hH9W9XPbLFnZBxWtqA1yRMINf53GMerKdcFryQcfEdcACvDGqZDm8bDBZY1nttfmSsi/gT8cI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(136003)(346002)(39860400002)(366004)(396003)(451199018)(41300700001)(31686004)(4744005)(2906002)(8936002)(8676002)(66476007)(4326008)(66556008)(66946007)(5660300002)(316002)(31696002)(86362001)(6486002)(478600001)(36756003)(6512007)(53546011)(26005)(186003)(6506007)(38100700002)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDFCNkZ3MXJIalVCaStJemFXWWFObTdWd3QvcXV4WWcraS96cGZWUmZLZE16?=
 =?utf-8?B?ZWY5Q3dLUGF1OVJIR2phQk9jNWJ0NEdndFFMQWp1SktqTFdZS1dLak12c1dG?=
 =?utf-8?B?Q2RRT2JZYmIyRVhxS1JPUWJYemxTd1NuZHl0d2E0YU1rMmhJK3R4ZkliWWdK?=
 =?utf-8?B?WXJRMG8vTlJJNTBuQi9lc283M1gyTnpxVWdDYlJSaXdiQWJpUjJRNkYzT1k3?=
 =?utf-8?B?R014c281QW1UV1AwVEFXRC9DWXJDbkRkU1lhbjRweWZCOTduM3pPTWlmdTZh?=
 =?utf-8?B?ZkZ4aWx4RitrRFF1VjhlcnU1cFNZQy8rT1Y4anVETEwrVUFnOGNUM2FKVnZB?=
 =?utf-8?B?ODQzMlRVWTNPd2h5K1I2TWdPMmxDOWQvd25kUFJwNW1XVkk3Z1UwLzR1eHVa?=
 =?utf-8?B?ckJjdGZicEdBa1NBM3h0Nlk5TTc3Mlk0bXFFTk15NGdseVRKUFgyK3dmNHJi?=
 =?utf-8?B?R1kwYkViZCtSaU5DempITi9pWEJxdk96SUVGTDNCblBuaVZiRmowTlRoeEQz?=
 =?utf-8?B?VVlaamdVYTloNlJiV0RrZjF3YzRlNzBZZHVVQkhObHViR09NNjlkY3IrdG1k?=
 =?utf-8?B?QU1XcHNYTmdQNzNUL2k0UXVhZkYxNnFpb2NST1lCKzdiWFJwbGZlNkpBbWlo?=
 =?utf-8?B?VEY1dDB4eks2RVJNcDJFZmxmUnB5VDFPellmOU9MdUNnUkhoQlVYWFBjWGJn?=
 =?utf-8?B?a20vWEp5NFc2K2pKNUR0OGhFYVhhbG9BdSt0SG1OMldsQ1V1WUVlZUlIVno1?=
 =?utf-8?B?TWVSTW95ZzluNitXeElYNXhhRXE1R05DSm5QM3hhN2FXSUs5QTdUdW1LeHdR?=
 =?utf-8?B?Mm9ER3R2SVUyeWRxZkFEU1VSa1JGYjUreVM1RExHRXg4a2NNT3d6UWZ3SzRn?=
 =?utf-8?B?WHVEVVIxRUN0MDNLdmpaTEZrRkNDNUhLWStkaG0vd0wwVS9TRlZFRUJKZnJj?=
 =?utf-8?B?S2JjeFZVcHRhTWwvZ01KNkdjRmFhRXNGSytNZXErclJhd2hXTkt4OVJtRGlm?=
 =?utf-8?B?LzZVVUxnRVRNQThWZEsrY2pEMWhpcmF0VzlUOGV5WG9kMFJxRlZIMUJQRmFM?=
 =?utf-8?B?WFdmaGl5VGZuUjRHbk9BempBU213emxjSWE0UzRTZGIxOHo1R0VJK3Ryb0tl?=
 =?utf-8?B?aHdxaElGek96Z0FPUk10c3ZRU1RPbmY2ZE1ZbFZDQVI1elFlNUk1dDVjbkI3?=
 =?utf-8?B?Y1VRWGFWa3NUcTg5dlRoL0RLMkQ0V2ZoLzNDV2hhSW1wWm9JR0VQRThxWXJk?=
 =?utf-8?B?M2JKMGZrbXhPbU1od3VzRUxBYnRlQ2lxV0JNZ3VFbGdGZGNwUHU3Y1MrbEUr?=
 =?utf-8?B?cjJ3eExYMUMvUzRxMlJDaU1qTExaZlZjY0c2Y0JWWUxPdC93cVVXd0hiblAr?=
 =?utf-8?B?OFEvQk9EQUhjTzFvMjdJZTBwZDZsb2ZXby82QTFXdSswWkhmR0VWdk9ZQVVv?=
 =?utf-8?B?cDlidEhHRG0yYlVxY3VuVVp0TWwraitLUlhPdjR2YUFZQXJ2cXNNZjF2eDlx?=
 =?utf-8?B?ditnOGJha1d2Z3l1a3pxaStqOW9MM1I0MTZkdkJLd3JCTDhibDNnRDBKK3Np?=
 =?utf-8?B?d00vZnFCdkQ4c2F2R1FVR2JMSGFYR29xUFl0V3JnbU9IbkwreHlxc0JFem9N?=
 =?utf-8?B?Ri9iSVVKTis2N1hqY0RhUzBaWE4zbGJPM3dFOG80MjM2NE4yQzJBSVh6cU41?=
 =?utf-8?B?T1d5bTRlZ2d1UUtMYVZscjJYV2NmRlFESis0bkNHa1oreGx1bUxERUNYYWE4?=
 =?utf-8?B?Rk1hREtqcUIzMFdxcWJ4ZkFaTXlDTU94SHlLU1pRV0p5RW94d0JnbVJwMXNn?=
 =?utf-8?B?NGxGUlZZL1NPVDJnL3YyZVlSbk1FSVVQS2lrTXRvV2NzdUFpeWhDeUZRcGNn?=
 =?utf-8?B?dVNadmlXc00vcmttV3VJaHhscFpXVjFkZ0JTWUIyeVBoRm4rSHNaNmJ4Um1P?=
 =?utf-8?B?ZnZTWG5nVy9oS2wyNnNSWE5ydFVVY1R3akNaL1hDMENzWk9Ud0pTSGJiSjND?=
 =?utf-8?B?cWZnZXNrWCtVVGgrZWtnQmRtVU1pV1Vhd3grSjhhWjNyZzVzZS9ndUxJL3lE?=
 =?utf-8?B?U2dqRW9oNEZ4cDdwU0txbjdtQTFQQ2pQbE9aRktmZE9vQlRNTDBSVWxFOHlL?=
 =?utf-8?Q?Ae9AlbvDE5TaKbCfxMfrJJea5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d23298f7-3313-4e2b-ecd0-08db295b1123
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 15:52:11.1261
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zf2Js0Ev/I/GJLe4ygiEEXMomg47/MufVDQrUEb2Ng7VpJPONVhBWeCI89xParrR7F5M+ZGbLb9kNRL7wpVF8w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9759

On 20.03.2023 16:37, Elliott Mitchell wrote:
> On Mon, Mar 20, 2023 at 09:14:17AM +0100, Jan Beulich wrote:
>> On 17.03.2023 18:26, Elliott Mitchell wrote:
>>> I'm tempted to propose allowing _Static_assert() since it is valuable
>>> functionality for preventing issues.
>>
>> How does _Static_assert() come into play here? Also note that we already
>> use it when available ...
> 
> This is more in relation to the patch.  Appears GCC's C90 mode disables
> _Static_assert(), so the _Static_assert(ARRAY_SIZE(args) == 8) had to be
> dropped.

I'm puzzled by this. It's been for a long time that we've been building
with -std=gnu99. Plus you simply open-coded BUILD_BUG_ON() - if you had
used it, it would have taken care of the necessary abstraction for you
anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 15:54:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 15:54:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511991.791513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peHqP-0003xj-7Y; Mon, 20 Mar 2023 15:54:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511991.791513; Mon, 20 Mar 2023 15:54: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 1peHqP-0003xc-4N; Mon, 20 Mar 2023 15:54:45 +0000
Received: by outflank-mailman (input) for mailman id 511991;
 Mon, 20 Mar 2023 15: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=W9b8=7M=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1peHqN-0003xW-33
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 15:54:43 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86431f64-c737-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 16:54:41 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32KFsUNu086652
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 20 Mar 2023 11:54:35 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32KFsU1b086651;
 Mon, 20 Mar 2023 08:54:30 -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: 86431f64-c737-11ed-87f5-c1b5be75604c
Date: Mon, 20 Mar 2023 08:54:30 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 2/2] x86/APIC: modify error_interrupt() to output
 using single printk()
Message-ID: <ZBiBtiSKkaCmtMAB@mattapan.m5p.com>
References: <cover.1679084101.git.ehem+xen@m5p.com>
 <4db49e192b6829e520cf497481a51deef227b23b.1679084101.git.ehem+xen@m5p.com>
 <f945860e-6a82-7070-3a1b-2e73a53040de@suse.com>
 <ZBhtzfhumm9AWqte@mattapan.m5p.com>
 <5b62c34e-5013-50ba-b218-925fe4eb6c0d@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <5b62c34e-5013-50ba-b218-925fe4eb6c0d@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Mon, Mar 20, 2023 at 04:39:48PM +0100, Jan Beulich wrote:
> On 20.03.2023 15:29, Elliott Mitchell wrote:
> > 
> > There are several minor issues here which may be best handled during
> > commit as they're very small items about how precisely you want this to
> > look.
> > 
> > First, I later realized I goofed the argument order.  In order to match
> > the original implementation, it needs to be entries[7] ... entries[0]
> > (could though be the low-order bits should be reported first).
> 
> I'm not really concerned of the order. A change of order wants
> mentioning in the description though.

Seemed simple enough to fix on commit (simply switch the order of
numbers).

> > Second, the order of the for loop no longer matters.  Using
> > ARRAY_SIZE(esr_fields) and increment should now be more maintainable
> > (this would also allow i to be unsigned).
> 
> Indeed. But that would better done in a separate patch then anyway.

Feel free to split.

> > Third, I'm simply unsure how you would prefer to format the printk().
> 
> About any way matching style guidelines is okay. There are two more
> things to mention though (sorry for not noticing earlier): We aim at
> keeping the entire format string on one line, for grep-ability. And
> there's no need (and in fact no reason) to split the sequence of %s
> from the \n. To summarize:
> 
>     printk(XENLOG_DEBUG
>            "APIC error on CPU%u: %02x(%02x)%s%s%s%s%s%s%s%s\n",
> 
> (unless of course it all fits on one line, which it looks like it
> does).

I like keeping the "%s%s%s%s%s%s%s%s" section separated since it needs to
match the number of arguments.  In the future where more bits of the
register are defined, both sections will need to be modified together.


This seems to be a spot where there are large numbers of similarly
functional, but mildly different style variants.  As such I suspect this
is best left in your hands as this is a bog of trivial style
considerations which have no real functional effect.


-- 
(\___(\___(\______          --=> 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 Mon Mar 20 16:23:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 16:23:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.511999.791525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peII3-0008H4-Ho; Mon, 20 Mar 2023 16:23:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 511999.791525; Mon, 20 Mar 2023 16: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 1peII3-0008Gx-F8; Mon, 20 Mar 2023 16:23:19 +0000
Received: by outflank-mailman (input) for mailman id 511999;
 Mon, 20 Mar 2023 16: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=2oBA=7M=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1peII2-0008Gr-Ej
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 16:23:18 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062b.outbound.protection.outlook.com
 [2a01:111:f400:fe59::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 81ecf0d4-c73b-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 17:23:13 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 BY5PR12MB4116.namprd12.prod.outlook.com (2603:10b6:a03:210::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 16:23:09 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 16:23: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: 81ecf0d4-c73b-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nKWmqUsXRj1XPEtckTQnVar6B87oOXhozNWYRICBTC+ElsVNOAIAyo9f1fg7IVgOfjyXtSjJrP4OeiCiqvNBjSVW75K/33t6f4lgzk8TsTLR0ji7JlK1KN3bcrDdiZ1UNvNjZHbXtepiFUXp7ltuAvsoaEGj403NQDJbRBdrlgKedVq/i/vpWfHXTqgR18uvqQYSdwouPCNEI0I7BSuFft2A62BPq0OGtR9MGWWq/BIY9VFcpvr2mXNJIxDHw0jlBC5W01h6xb7hN+3TKCWuSl4VqQRmx4UviRGDAYq2lgqBGbZH5N9n8DnOQxV4vThFzQSoKIVM2wTPF/svmopnwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u7IqRMdvdrS53E+qKt20gbWhWqK6nmmuGlmIxf1ECNo=;
 b=J3+ZAhmkH5/DopQmoBBKGyG90+XqHO9ArpMESOdOUgljC8MUPGLuWZuqXuE3XxWu/zQQKRX4Dfz4kT94RDl/tEhar8qmwrdQUUasOXfj+d6dL0J7sD52mLASfUfBO+BSMvIJ7lmxAJFfm5LHsLEfWvEP9/u1jQadEYxyxTFvWTbe6dqik3wUwrk3mUG7mwwTUMVD5vGQAwS4f9R0r/2PtgMWOw5igdTwLe8AKkPSH6v9WfL4IN6hChS7rfmCLe5JsahV508hTlBvaWkpXzHeTqNHasyTSgb8mI73C1OZpxLDmjagFli9edSjrtQg2c6bqGfrs6p9PH/TPQTLBRnoaA==
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=u7IqRMdvdrS53E+qKt20gbWhWqK6nmmuGlmIxf1ECNo=;
 b=ddO9ixaZJKOPUfJCK3xo7eUvT2VCmCPwQtvaNTlWCq9kAPdu9zeT7rU5nrnPSjvltDmyJ414JXSM2tCbowufKv/EUnclOKtykifGh27wfNVg24j38641fCili6I8gTeam1qrDqF75qWZnKTMisXgIiBhueLYYxcy4dveer/20d8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Tue, 21 Mar 2023 00:22:39 +0800
From: Huang Rui <ray.huang@amd.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC XEN PATCH 0/6] Introduce VirtIO GPU and Passthrough GPU
 support on Xen PVH dom0
Message-ID: <ZBiIT+MLZtM6e4Dz@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230312075455.450187-1-ray.huang@amd.com>
X-ClientProxiedBy: SG2PR04CA0198.apcprd04.prod.outlook.com
 (2603:1096:4:14::36) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|BY5PR12MB4116:EE_
X-MS-Office365-Filtering-Correlation-Id: 67062da5-3483-4c66-0d9b-08db295f646b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8ivZEaZ6mk9EWSpTP2exO0d94yC2iWRrizHTwp9yBADa9cnwyXwlfYAodXyGD4m0Ak3Pe3mxBIEFA2TMf8B1S/HPfWhxveGCIaG/LbuYn+8euJq46xTbjKpnjg65uDpuUUexe3cCwRmsnR8NJ0U48k06w5YkS/LuxyEV1Cif2wPxQAvroEIoJlrzefgbiqEjKotr3cjTnRAJmlw45WHrVhB/gObqEBGn7iaxRYMdc+oai9jZRqnCCcwaU9+IugoDW3n76uy+UyfywAg5ZomcOMPvFfkraafqvtJ9JkuDShMx6y5qB719ObAWY9eC5ju+fxD5E1T3FqgJqvxkuR27os1J8hbYtwsUDzli/xAISH4j/U6PkEV1LSfhP6toLxyIQSlAVgkeFzmAOg0F10iwAcgn+tpgPR/SsXuM/MZpsUnpXxZkylFa4pHMeJAotzyOoMAZhF5MX0CpfgKZlV1gQe34ztZ/AM1Q4tFU7djIRPp1LzgdssgZlSRjO3qbMeZbvaKD9MFnBwwfKwzQQk+BNrjUD3mYquKOJuNnQ68hMdAApjEuOa9TJKStGV+fLtS+s/+7v3zfqlke8TbrYRrEXU4P+Dytl/ffOzSThLtlv1jxSTo4kMxr1yaHLVnN9NbW4p6JermuwR+3SpOIlMJFaCknq7Qvzyja7Xv7Q4zXxFnt9eSPxIek+YZgsz8Z3QxU1cR+khERHrwfRUYiMJS6i3WcWWsDmL5QrNIh+L3Y2YtY2UyyV3pXMhj3nQR8i9Fd
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(136003)(366004)(376002)(346002)(396003)(451199018)(38100700002)(66574015)(86362001)(54906003)(110136005)(316002)(5660300002)(36756003)(66946007)(66556008)(4326008)(8936002)(8676002)(41300700001)(66476007)(478600001)(2906002)(83380400001)(6666004)(2616005)(186003)(6506007)(6512007)(26005)(966005)(6486002)(5930299012)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?JNh1nHt1e3inuGKyeKUkkkBrcQOiDUx9ewIUT9rN4B8q2lZPiBPmZkmkLkEA?=
 =?us-ascii?Q?n2tD3KwvBM3BaNDCwFHuX2L1JyWs6B+hkywfVo9CPoQ9osPpOYVWL/1Lny7B?=
 =?us-ascii?Q?kTFoU2s3umLE64RsnJdXqkbJ6ph/tVDSRojOdX3EvOqem1Iscco7o0GwNkOX?=
 =?us-ascii?Q?TVmURacsgg3xWPfjH/30jryfu9T20vq5L9JbSSxLLn/2LWlW9ssgc0zSfdFj?=
 =?us-ascii?Q?KxroX3bBtdtHdeWtuflzzV9K+vrzXgjRYh7NpdLXRMTTl5PKJML0Hs9EMcgl?=
 =?us-ascii?Q?jAeFfXNu2/3yDttKIAlCHYZyAJQVVZ8kfF8Fc2Bm3rh40otCOZNattABSCmM?=
 =?us-ascii?Q?CQnMP8vscKIBt7yDkD9QWyaet6StvnxXmUPOb5uSIUaprHi8wtkN/Gv2kXbW?=
 =?us-ascii?Q?+xqW7p4g+LLrT38Cu3kfQgdrqNxB+5jY2pUcVLeF0yxUHRrzqU+BVvJdBJfA?=
 =?us-ascii?Q?q5xWJtGcIZd5NSmAjH56xZACArLHONOR+ELEbu9WAWkz+mIzmdcIs+BsB0Vu?=
 =?us-ascii?Q?hEqbYwf1E7/kC0ArcqxpYG0km3XT4L8AC9UU7KJQ/kuMQ3DmF1KxY49Jb6jo?=
 =?us-ascii?Q?MLmzGpzk78ZCPkgW0fpCPef4ztiAHXzr40mpevGw6bc0Rgmfv9xkHfmFykGr?=
 =?us-ascii?Q?ErHztvPxhoGHHf3JhOjL7C4m/xeJPNlMCJO4i57cNPPOxwJysMbMPBCmSZzT?=
 =?us-ascii?Q?YgaenpODdST9IwLKi8M7Hq5OQwL54VAMq4kMXOT/UMjS4rL9LU+1Nl/M8BoZ?=
 =?us-ascii?Q?0cZo38w6X5K6pvc5E7GVwsGHb+Cip77acPLcQJo6GwGNRHJqw6fpC4pReJh6?=
 =?us-ascii?Q?5hHtfCWSrr+43XFe8KXZCUxU6eIRAo92ld6BDiJKh0WZelF4Lxl8k0SZPIh4?=
 =?us-ascii?Q?oQwr67Mw6nYYYckegdNF4tToMnp9IGQdKJWXqyTWmlf1fC0MoH70UE+lwd4x?=
 =?us-ascii?Q?LyjhG+L3SchWCvdCZHwtwGPcDy/gXCxKajDKEcjRoXQTVzHP4dAHNzr4EUv8?=
 =?us-ascii?Q?RGb7ZqgAAL86rXYK9dq2Qz5uWdFLilrxqaQG4xqnjCQ7w8lYny/8xsYd23lA?=
 =?us-ascii?Q?B8rqzenqSItxptQAFIYaNn9FI/WdSKSfF6HOkZPShbXz0QpOgsN3kxXvLvT2?=
 =?us-ascii?Q?x8AybMEEFQxZamhkwyeEpibT+D87PNfjsNSeUqIlzdHj9ADLhpxUUqd73mXu?=
 =?us-ascii?Q?Xf9d9wV8x6fh0cmXtOGZ2Gaqz6DtGQ/NjxzHS6flyy++v509hlzMD/Q7h6WX?=
 =?us-ascii?Q?bM/11bkU5FiPKwlGGBIAMZ7Cn1zkFn2d+01llatiWF0ltdfJCCgkrIlSdtIJ?=
 =?us-ascii?Q?ysth2+LI7detTRZwLJ+E3wSJepFrudKHw7b4oJNZMS2Ba5psfhwfVHYJXkjm?=
 =?us-ascii?Q?MUfzwvY1db/bKrgGEhdU6zfZw09qY4APkpsRzK3GH94Ou4Zl5sqOkxPNhbpV?=
 =?us-ascii?Q?E0CKRMMUXZOmH9bEcONzewY0E1qCWebgB8fwAaF/ua7ASwKDupJnoGtQPw6J?=
 =?us-ascii?Q?mg+i0zsFhsfkWsAJsuWCPme7Pp+jRvSnSl9IWwPmQTX/7kRGh78rZkVePcQ9?=
 =?us-ascii?Q?EMs2dg9VNyDtLlihW+rMLabrjGdf/7JnOla0njas?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 67062da5-3483-4c66-0d9b-08db295f646b
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 16:23:08.8457
 (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: d1bntQwEggA8LB58QY3rbo4etMAY1IP3YTL+GLh8DSvTjGzEQZ6LW31zCr6BBi5OYVx6KO3heA/JD13hujAD+g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4116

Hi Jan, Roger, Stefano, Andrew,

Sorry to late response, I was fully occupied by another problem last week.
And I will give the reply one by one in the mail tomorrow. Thanks for your
patience. :-)

Thanks,
Ray

On Sun, Mar 12, 2023 at 03:54:49PM +0800, Huang, Ray wrote:
> Hi all,
> 
> In graphic world, the 3D applications/games are runing based on open
> graphic libraries such as OpenGL and Vulkan. Mesa is the Linux
> implemenatation of OpenGL and Vulkan for multiple hardware platforms.
> Because the graphic libraries would like to have the GPU hardware
> acceleration. In virtualization world, virtio-gpu and passthrough-gpu are
> two of gpu virtualization technologies.
> 
> Current Xen only supports OpenGL (virgl:
> https://docs.mesa3d.org/drivers/virgl.html) for virtio-gpu and passthrough
> gpu based on PV dom0 for x86 platform. Today, we would like to introduce
> Vulkan (venus: https://docs.mesa3d.org/drivers/venus.html) and another
> OpenGL on Vulkan (zink: https://docs.mesa3d.org/drivers/zink.html) support
> for VirtIO GPU on Xen. These functions are supported on KVM at this moment,
> but so far, they are not supported on Xen. And we also introduce the PCIe
> passthrough (GPU) function based on PVH dom0 for AMD x86 platform.
> 
> These supports required multiple repositories changes on kernel, xen, qemu,
> mesa, and virglrenderer. Please check below branches:
> 
> Kernel: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=upstream-fox-xen
> Xen: https://gitlab.com/huangrui123/xen/-/commits/upstream-for-xen
> QEMU: https://gitlab.com/huangrui123/qemu/-/commits/upstream-for-xen
> Mesa: https://gitlab.freedesktop.org/rui/mesa/-/commits/upstream-for-xen
> Virglrenderer: https://gitlab.freedesktop.org/rui/virglrenderer/-/commits/upstream-for-xen
> 
> In xen part, we mainly add the PCIe passthrough support on PVH dom0. It's
> using the QEMU to passthrough the GPU device into guest HVM domU. And
> mainly work is to transfer the interrupt by using gsi, vector, and pirq.
> 
> Below are the screenshot of these functions, please take a look.
> 
> Venus:
> https://drive.google.com/file/d/1_lPq6DMwHu1JQv7LUUVRx31dBj0HJYcL/view?usp=share_link
> 
> Zink:
> https://drive.google.com/file/d/1FxLmKu6X7uJOxx1ZzwOm1yA6IL5WMGzd/view?usp=share_link
> 
> Passthrough GPU:
> https://drive.google.com/file/d/17onr5gvDK8KM_LniHTSQEI2hGJZlI09L/view?usp=share_link
> 
> We are working to write the documentation that describe how to verify these
> functions in the xen wiki page. And will update it in the future version.
> 
> Thanks,
> Ray
> 
> Chen Jiqian (5):
>   vpci: accept BAR writes if dom0 is PVH
>   x86/pvh: shouldn't check pirq flag when map pirq in PVH
>   x86/pvh: PVH dom0 also need PHYSDEVOP_setup_gsi call
>   tools/libs/call: add linux os call to get gsi from irq
>   tools/libs/light: pci: translate irq to gsi
> 
> Roger Pau Monne (1):
>   x86/pvh: report ACPI VFCT table to dom0 if present
> 
>  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/dom0_build.c         |  1 +
>  xen/arch/x86/hvm/hypercall.c          |  3 +--
>  xen/drivers/vpci/header.c             |  2 +-
>  xen/include/acpi/actbl3.h             |  1 +
>  13 files changed, 50 insertions(+), 3 deletions(-)
> 
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 16:32:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 16:32:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512003.791539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peIQo-0001S0-Eg; Mon, 20 Mar 2023 16:32:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512003.791539; Mon, 20 Mar 2023 16:32:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peIQo-0001Rt-Bh; Mon, 20 Mar 2023 16:32:22 +0000
Received: by outflank-mailman (input) for mailman id 512003;
 Mon, 20 Mar 2023 16:32: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=GPvh=7M=list.ru=valor@srs-se1.protection.inumbo.net>)
 id 1peIQm-0001Rn-OM
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 16:32:21 +0000
Received: from smtp42.i.mail.ru (smtp42.i.mail.ru [95.163.41.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7deb5f4-c73c-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 17:32:19 +0100 (CET)
Received: by smtp42.i.mail.ru with esmtpa (envelope-from <valor@list.ru>)
 id 1peIQj-007BOZ-2A; Mon, 20 Mar 2023 19:32:17 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7deb5f4-c73c-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=list.ru; s=mail4;
	h=Content-Transfer-Encoding:Content-Type:Subject:Cc:To:From:MIME-Version:Date:Message-ID:From:Subject:Content-Type:Content-Transfer-Encoding:To:Cc; bh=xbcTXE0pjOZFNMucyDsOoThI2mQ4UaaP2AkkM/sHP04=;
	t=1679329939;x=1679419939; 
	b=AK/tJ41eQWzvTBDSe5b2lYr6ivhl0gn7o79xEAtE22V8isyitYuHfHqKuPG55bxVrgetQuDylE8VVO5/HjPi8Vm4yB+tC6SPPW2zQ/1to4f4Vf3zqTC1+mScV3wZyxQoLLDS6oi2G4jfLZG+SzvfOPYU+BYBt91paIuJiMJ1fbTN2+Q1Rnn+a0fgfOz//UVUZPlQYkkhcLBeVWHmr0F+HSSFFfuJo1ZQYfp/kTF1uzpG6dYPRLyAUo9+9wik9dosazyvl5KGjHSFJdJdh6LkEHAURWb87rcmvHxrbH6Yip6sq7y0snc7Ou621T0sSx5euYrMTsy7K/nqd2cQj5r41Q==;
Message-ID: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
Date: Mon, 20 Mar 2023 19:32:14 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: ru, en-US
From: =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg0KHQtdGA0LPQtdC5?= <valor@list.ru>
To: 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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Dmitry Isaykin <isaikin-dmitry@yandex.ru>
Subject: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp42.i.mail.ru; auth=pass smtp.auth=valor@list.ru smtp.mailfrom=valor@list.ru
X-Mailru-Src: smtp
X-7564579A: EEAE043A70213CC8
X-77F55803: 4F1203BC0FB41BD995AAF696F102E30FEC96FAA707C7F0DB2A515A2F6889BA781867C24CE74E72BB5FE18E9CBFBE7C070CFF8D46FA89665632B1D9D2BC62A6DFA8DEB5A5B6346E81CEE4813122F9A0DF
X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE709CF9AF650BAB6C1EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637539FDAA91738A5BD8638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8F0687002353604AEF2168676750B165B6F9789CCF6C18C3F8528715B7D10C86878DA827A17800CE74CF195F1528592878941B15DA834481FA18204E546F3947CAC824117EA787438117882F4460429724CE54428C33FAD30A8DF7F3B2552694AC26CFBAC0749D213D2E47CDBA5A9658378DA827A17800CE70BED4008E0EA3A469FA2833FD35BB23DF004C90652538430302FCEF25BFAB3454AD6D5ED66289B5278DA827A17800CE72006BFD5E60758D0D32BA5DBAC0009BE395957E7521B51C20BC6067A898B09E4090A508E0FED62991661749BA6B977358F9E841AEAEC4F2CCD04E86FAF290E2DB606B96278B59C421DD303D21008E29813377AFFFEAFD269A417C69337E82CC2E827F84554CEF50127C277FBC8AE2E8BA83251EDC214901ED5E8D9A59859A8B6936FEDF0B958011F089D37D7C0E48F6C5571747095F342E88FB05168BE4CE3AF
X-B7AD71C0: 4965CFDFE0519134C1FE400A9E48C5401DD40DE57556AFB266D16FC5F53507A1816E0A2A8F779BBED8D40077074E805C66D16FC5F53507A117535B0CF9F6D0C3EE9D5CB6078CC77CC508C16425419F6C71B50B874F048A7C
X-C1DE0DAB: 0D63561A33F958A59D2EB58E5D8A60CE1FF0A101C44190A85A203102514DED5DF87CCE6106E1FC07E67D4AC08A07B9B0FE4D9CDE3FF759CF9C5DF10A05D560A950611B66E3DA6D700B0A020F03D25A0997E3FB2386030E77
X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34B7CBFF60649FF266A548857E8CC46621F9A788114E5F7F11E3C20DE73D582431FF638E19F50703AE1D7E09C32AA3244CF53DB9EFEC813F95E6F722709734F021A90944CA99CF22E3ED98077840A144B9
X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojbL9S8ysBdXhHeifJXYUkcH6MIPZIPUpX
X-Mailru-Sender: 6C3E74F07C41AE944C83DF7F8E76CAD95376FBB362B0C406BEA0EE2103C1A06B5599D909BD042F55671A0538F0E0E4B8C77752E0C033A69E86F8B8EC1BECD1EECCC3E8BC0E932F7CB4A721A3011E896F
X-Mras: Ok

gva_to_gfn command used for fast address translation in LibVMI project.
With such a command it is possible to perform address translation in
single call instead of series of queries to get every page table.

Thanks to Dmitry Isaykin for involvement.

Signed-off-by: Sergey Kovalev <valor@list.ru>

---
Cc: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "Roger Pau Monné" <roger.pau@citrix.com>
Cc: Wei Liu <wl@xen.org>
Cc: George Dunlap <george.dunlap@citrix.com>
Cc: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>
Cc: Tamas K Lengyel <tamas@tklengyel.com>
Cc: xen-devel@lists.xenproject.org
---

---
  xen/arch/x86/domctl.c       | 17 +++++++++++++++++
  xen/include/public/domctl.h | 13 +++++++++++++
  2 files changed, 30 insertions(+)

diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 2118fcad5d..0c9706ea0a 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -1364,6 +1364,23 @@ long arch_do_domctl(
              copyback = true;
          break;

+    case XEN_DOMCTL_gva_to_gfn:
+    {
+        uint64_t ga = domctl->u.gva_to_gfn.addr;
+        uint64_t cr3 = domctl->u.gva_to_gfn.cr3;
+        struct vcpu* v = d->vcpu[0];
+        uint32_t pfec = PFEC_page_present;
+        unsigned int page_order;
+
+        uint64_t gfn = paging_ga_to_gfn_cr3(v, cr3, ga, &pfec, 
&page_order);
+        domctl->u.gva_to_gfn.addr = gfn;
+        domctl->u.gva_to_gfn.page_order = page_order;
+        if ( __copy_to_guest(u_domctl, domctl, 1) )
+            ret = -EFAULT;
+
+        break;
+    }
+
      default:
          ret = -ENOSYS;
          break;
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 51be28c3de..628dfc68fd 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -948,6 +948,17 @@ struct xen_domctl_paging_mempool {
      uint64_aligned_t size; /* Size in bytes. */
  };

+/*
+ * XEN_DOMCTL_gva_to_gfn.
+ *
+ * Get the guest virtual to guest physicall address translated.
+ */
+struct xen_domctl_gva_to_gfn {
+    uint64_aligned_t addr;
+    uint64_aligned_t cr3;
+    uint64_aligned_t page_order;
+};
+
  #if defined(__i386__) || defined(__x86_64__)
  struct xen_domctl_vcpu_msr {
      uint32_t         index;
@@ -1278,6 +1289,7 @@ struct xen_domctl {
  #define XEN_DOMCTL_vmtrace_op                    84
  #define XEN_DOMCTL_get_paging_mempool_size       85
  #define XEN_DOMCTL_set_paging_mempool_size       86
+#define XEN_DOMCTL_gva_to_gfn                    87
  #define XEN_DOMCTL_gdbsx_guestmemio            1000
  #define XEN_DOMCTL_gdbsx_pausevcpu             1001
  #define XEN_DOMCTL_gdbsx_unpausevcpu           1002
@@ -1340,6 +1352,7 @@ struct xen_domctl {
          struct xen_domctl_vuart_op          vuart_op;
          struct xen_domctl_vmtrace_op        vmtrace_op;
          struct xen_domctl_paging_mempool    paging_mempool;
+        struct xen_domctl_gva_to_gfn        gva_to_gfn;
          uint8_t                             pad[128];
      } u;
  };
-- 
2.38.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 16:42:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 16:42:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512009.791549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peIZv-00036L-Fm; Mon, 20 Mar 2023 16:41:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512009.791549; Mon, 20 Mar 2023 16: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 1peIZv-00036E-CG; Mon, 20 Mar 2023 16:41:47 +0000
Received: by outflank-mailman (input) for mailman id 512009;
 Mon, 20 Mar 2023 16: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peIZt-000368-CE
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 16:41:45 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20613.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 17544c14-c73e-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 17:41:43 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.37; Mon, 20 Mar
 2023 16:41:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 16:41: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: 17544c14-c73e-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PYcf0uTQk7o9e6zjYqWKn/GnpZZdA91hJthYWhAEl278X1nRSCpkWWgxejgPJaOQG/bwTV9E5iAgn1pHruvj9Gn4MUPdKx5uRhPyKKVWysKC+Tc4DTBxpxfy+C3YuLyQosUciIJ0aB0GZmXNrhZhmZXk8cM9WPEFBF4y693t5V/cUpwcaXqqJLOXqWK1j9dUTZA5/N24myvpPmUtI58kjZ2s6msAeBONBwljn8ZTKYEBGVtDtYo15uGoRvk9NGjNqKpTzIHGambScCyf/iCA4kms/21R60sgtX+INu6rZJw+zh3VpXqXhzViujZDrFOWECQDOWUQO2vl4ueLsPePPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Qziuh1sgoig5+OOG1khj/cI73IBt/HWzQfnBz0IjnmY=;
 b=IJmrKxpZe6i6EMHTh9qIBeGDyhaWUAwc/S53fRPL3QozHgy6hayhybVmz7ZRxAgydt56UjemwEYVgY6u+6HaqDK1x0k+vWXLtr1AbMXVHpP6zxoQTgofb6tpQPeK3QDlz+jdQDmGZfW6UE+5NwC7eaYta+DoZKdKRe0pOILM1GRoZj5cVyRNCCNmME1eOrR20NnKOy5oGFkqDGOG22dO3SUAidrbAkI4t4w8j5DRM2NyAumx/cEss1SPqAhaVHNnG9YFaTi1LPdvzsAeP91BwSE0lsd9vPnPlEKcBueyZWHTeB+6gI4REKB+IEvXvEe6UuisC9zZvfPCw1DQcgu+TA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Qziuh1sgoig5+OOG1khj/cI73IBt/HWzQfnBz0IjnmY=;
 b=LqKGFtyX5bWJM3Un3w+nCWbjUNtEk2g7gul5IM0UJPJUJma5g9V93uERKLyOwg718P2MROyWrjqcVFHO+0LqtI1sz3y9kBlgfn+N9u9VcRNzmveDl0grb/k+J5gp74dDwnPxmcwSf3DMPIBlmGBdsOsIeuAkTxHfPurGJTkc9mL1VQo6w/0pu515tg08iIWBtfn724jnah5q9j3ZSbT8WYd6Qx+CaC5vhMIdaMZMYBu15rqRTqCOV9VTfYN1y26VVzD25QTrL1U3JGwsLkKwGGg3KsUXeVnRHrujGNJPQi8VD1i2+1sFcja/XLBn7VnLZxY/2rSjaa57lJj77jnnEA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <27c2d76e-1f9e-01f2-846f-9f3bdddeefcf@suse.com>
Date: Mon, 20 Mar 2023 17:41:37 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0042.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7376:EE_
X-MS-Office365-Filtering-Correlation-Id: cee3d1d8-d5d5-4749-edcf-08db2961f6d7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LCrf3bqFTdpiF7rQFg7Ke0hqDvyF794DCwImQS3uRSYaK/y/qx+/tKasbN0NQfwnflXjm7QF7rfVdaNL9mzj+7j7E6L7fNviZuSw/lYNrItfZOXzsDUkX82/Qrt9c5im7fNbYfd512lI93lCn1aLv68kmSNwOwiVgfkG7TrOscq2Bh5gevzEP2qWEvvK1uTTG9/WIOvcIaD/eurCZrgcSMik9clzFoaxYCAeGH+numl4j1yCzcLRgR0L2EoRag8pham6JXrSgXLADTyz9gcGZLZaQMbwRSE2e0M+y3M1mKsF01iTYO2oujz5xgwz1CdC89tZ5U+u8rhYBAx4wwKdmMMAX1kNyAwp2OYpgRCeXiRF/1m2q24Qw86tRjZ+EQRSJGmKkoKbT08CjX8rp7nB3Bf/WIMJCATWkocHuLHZdgItDg8z9vHNv/S9BmnB3pC6HphStLDeigfvWrllwNYnfLBrGiW2xUu3YEVtT7vrd4uquBOHk/ASVVGlEGX1F3pIkAvL76+0AQ6/1w/kBnMGcgGNwXDS6GuwMYRSUBPrO+9DcXTBSdVSOYv2cbJ1Vq9CFF2EiX/g/y2P+vmP9A2zc5F4JH8fAycekSfZ3+VepD8qm1V8D35+7+V4o/iI7c5aCxzNnuR6vWIapp/xoAlClo/08D6Bdzc7wAY/P55p6qEMcMjVKH/arc10TOJVv2h75oYzfCDu15dpOSkmsG8Qw21i9RQ+eFiPh1p89TaY66I=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39850400004)(346002)(396003)(366004)(376002)(136003)(451199018)(8936002)(5660300002)(41300700001)(86362001)(31696002)(36756003)(38100700002)(2906002)(4326008)(6486002)(83380400001)(478600001)(2616005)(186003)(26005)(53546011)(6506007)(6512007)(31686004)(54906003)(66476007)(316002)(8676002)(66946007)(66556008)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dGZiU0o1QldGTnVQd0lCaDJZRWFpaklQK3orNm9TTVE5ZC94bGozQk1ZMGZX?=
 =?utf-8?B?WGxDTW9GZWdwNDZSeDExNnZ4V3UzbmJUNUp3V3BRbkw0M2YvQU02V2lpTHVR?=
 =?utf-8?B?SzZtcWhPVll1TjhaK1J0NWVZNEdaUkNkWnk0bURSdUlhL01NUFN5ajI3K28r?=
 =?utf-8?B?WXdqd1dOeUk1NVJtN1Q2VzJjMG5qLzAvR1lkWXVTbk5qVzNkN2hHR2szdkJu?=
 =?utf-8?B?WnYyVy85RWIvdSsvbzVFWG1PNnczekJ1UVNHUi93RFRmL3RXMVZrQjN2WDJw?=
 =?utf-8?B?bnFxZE5zWUZSQ1prZGNhSU1JaHJkSk80aVdQeEpJTk1pc2lPbktxaGRHaVc3?=
 =?utf-8?B?K0tmdkg0L2t1TWpsQ3RoMTlYNG9Rb0hKMUZZVEtzQVFuZjBadWdBU0RsSGln?=
 =?utf-8?B?bVVINHZDY1hLODUvTGFkNDhHa1dRMTlrRjdMcWgvZ1BaUlhEQmxnc0kyQlBV?=
 =?utf-8?B?RHFXY1AvZWFKZzJON1VhSENKdXkxc2VNR21kMlRoMXowQ0ZLeW9wU25ORUFn?=
 =?utf-8?B?VVpmMjRab2JQUXFwck5DYVBFWjJLR0xmOUtnRllZVGRFeEl0TmJ5L2F4NlBI?=
 =?utf-8?B?ZFVQY1VFU25RVzdIUWlvdzkvaHZad3l6dWNETWpabDB3SnNuNlpQY2hCNWJH?=
 =?utf-8?B?MS91bmRDSmZ5TmpmSTA3YWlwNEg3UnBNVFQzU1RodC9NSGJEVkxyYVV6SzNY?=
 =?utf-8?B?S2FBa3ZwYVZUZTEwSS8vSzVRY1dtMjFnOERPc1Bhc3F0ci81eFJNUWhPVnh2?=
 =?utf-8?B?VmNMMlJnR3RScEFPWDIzRVJBUmlmMGRwVmRUS254aXdnRUhES2dIQ2VHaG4x?=
 =?utf-8?B?UWEzV2R5R3pwYUR2bnZWUFVZYklZK3RNZ1pOc3VKZnpoVlkySUp4VXkzNXFE?=
 =?utf-8?B?NVlTRFphSEduMFh2bVpJMHVGN0JtTkVoUmlyVGRReGI3dG1xbmFHcVFycHJC?=
 =?utf-8?B?dGpGNXdvRHJtc3pmNmNUOGRtOVBBcDlhK1ltRDY0UzBNMkU5bHgyQzUvbGRu?=
 =?utf-8?B?UHloTTZkNy8rbkNOM3ZEYU9xbmlPbEZpSjE2Rnh3a3g4RGE5SnkyRjM1MGty?=
 =?utf-8?B?RGR0YkxrQjNVeUdGM3c3UGUvUkQzN1Rnb2VBZEZIQm1XWmVTNHVkS3MrRjhM?=
 =?utf-8?B?L015b1l0anlDSjQ5KzRqd2M3L1haODVrVGpTekF4VnVFY2R0UklGRnp0TFQr?=
 =?utf-8?B?SUFFUW5ENVc1RlEvcGRHdDRadUZTUmd1YW1iTFcwTncyYzJGSEIrK1VUMjR3?=
 =?utf-8?B?eGpSYkhZckVra2VhZlJzVmljWGpWYjlsQm5Jb20rcWcvRmtzdjA2Nm5sZFZm?=
 =?utf-8?B?aDUvZTdLZWtHTThaQjk5QkF6ZjVmYWJmaHNoaDcxVXFOa0o2c3p2czlZVlhP?=
 =?utf-8?B?QlJOOGhZc3dsK0haZm44RENwQTg5VVRWQnZIbXFOWmp0UkwvYUFVUHVQaFBn?=
 =?utf-8?B?eXVoU3Y4b0ZVbmRPcE0rQkxyWUdCQ21ZNzB4WndXcWRrSjl0MzJXUC91U3FM?=
 =?utf-8?B?NjhTMVRhY0tpdDAvdjVhcStXSzZWdEExTFcwcWVYZWtBZGxlSmJkalBmOU1n?=
 =?utf-8?B?ZWNldXJGWHVlc1NLQ2VXNVpGTVg2QkZSV3V4R1lHSjY4OE41d0VCY0YvS2xV?=
 =?utf-8?B?U2F6Mk5hWVdLMDE2QjljQ1BHeXNXTHFRSVdib1BPaTJGKzFaWGVRblcybVdq?=
 =?utf-8?B?M3FJMWdjVEtYaTZ4YXFvay9JNk03cDJYeUFnNG1KdWdEd3ZCRHZwQTlaUCtF?=
 =?utf-8?B?T0doc01uMHVqeG0rN0xraWQwbmxKU25nSTFDTHpnbHVKK0QrYWo3WWJ2QUpV?=
 =?utf-8?B?ajMwbG1aT2pQWWZ5WkFIZ1FISWF5VXEwN2FqT2RZYnZsUEVTa2xSUXBtV2xW?=
 =?utf-8?B?RjlVcEl4VmxQdVJQY2NnZmdxblJKK0R2WlBTUzArb0ZTQy9YSmpYOHVBRlBP?=
 =?utf-8?B?MFNRN3ZKVkRxdjBhb242M1VQWkh4M3ZhODdqSGdwSEZ0emVDcnBZV2tya3po?=
 =?utf-8?B?UFRONTBqQXBHTkNFNTNiancvRHFUSXdTYTFHVmVkTko4cTR0aFVKbjkxR3dD?=
 =?utf-8?B?Y0dUdVQ4ZWdJUVQ0MUJJbkVlRjQvMFpwMkFhQ3dLMXBvaVkwNllHd2gycDlC?=
 =?utf-8?Q?XPFKqbPPg/x+2wHjvpJYb1Dmk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cee3d1d8-d5d5-4749-edcf-08db2961f6d7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 16:41:33.4376
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4kj/bHTvzt7QzEQCCUVB4z7cr2qnmqoujy31kqe7x0sVdTuBYKG/3op/Q4ZkSANKl5iSAA4229ZBJmJSq94Kjg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7376

On 16.03.2023 17:43, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/mm.h
> @@ -0,0 +1,8 @@
> +#ifndef _ASM_RISCV_MM_H
> +#define _ASM_RISCV_MM_H
> +
> +void setup_initial_pagetables(void);
> +
> +extern void enable_mmu(void);

Nit: At least within a single header you probably want to be consistent
about the use of "extern". Personally I think it would better be omitted
from function declarations.

> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/page.h
> @@ -0,0 +1,67 @@
> +#ifndef _ASM_RISCV_PAGE_H
> +#define _ASM_RISCV_PAGE_H
> +
> +#include <xen/const.h>
> +#include <xen/types.h>
> +
> +#define PAGE_ENTRIES                (1 << PAGETABLE_ORDER)
> +#define VPN_MASK                    ((unsigned long)(PAGE_ENTRIES - 1))
> +
> +#define PAGE_ORDER                  (12)

DYM PAGE_SHIFT here, as used elsewhere in Xen?

Also are you aware of page-bits.h, where I think some of these constants
should go?

> +#ifdef CONFIG_RISCV_64
> +#define PAGETABLE_ORDER             (9)
> +#else /* CONFIG_RISCV_32 */
> +#define PAGETABLE_ORDER             (10)
> +#endif
> +
> +#define LEVEL_ORDER(lvl)            (lvl * PAGETABLE_ORDER)
> +#define LEVEL_SHIFT(lvl)            (LEVEL_ORDER(lvl) + PAGE_ORDER)
> +#define LEVEL_SIZE(lvl)             (_AT(paddr_t, 1) << LEVEL_SHIFT(lvl))
> +
> +#define XEN_PT_LEVEL_SHIFT(lvl)     LEVEL_SHIFT(lvl)
> +#define XEN_PT_LEVEL_ORDER(lvl)     LEVEL_ORDER(lvl)
> +#define XEN_PT_LEVEL_SIZE(lvl)      LEVEL_SIZE(lvl)

Mind me asking what these are good for? Doesn't one set of macros
suffice?

> +#define XEN_PT_LEVEL_MAP_MASK(lvl)  (~(XEN_PT_LEVEL_SIZE(lvl) - 1))
> +#define XEN_PT_LEVEL_MASK(lvl)      (VPN_MASK << XEN_PT_LEVEL_SHIFT(lvl))
> +
> +#define PTE_SHIFT                   10

What does this describe? According to its single use here it may
simply require a better name.

> +#define PTE_VALID                   BIT(0, UL)
> +#define PTE_READABLE                BIT(1, UL)
> +#define PTE_WRITABLE                BIT(2, UL)
> +#define PTE_EXECUTABLE              BIT(3, UL)
> +#define PTE_USER                    BIT(4, UL)
> +#define PTE_GLOBAL                  BIT(5, UL)
> +#define PTE_ACCESSED                BIT(6, UL)
> +#define PTE_DIRTY                   BIT(7, UL)
> +#define PTE_RSW                     (BIT(8, UL) | BIT(9, UL))
> +
> +#define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_EXECUTABLE)
> +#define PTE_TABLE                   (PTE_VALID)
> +
> +/* Calculate the offsets into the pagetables for a given VA */
> +#define pt_linear_offset(lvl, va)   ((va) >> XEN_PT_LEVEL_SHIFT(lvl))
> +
> +#define pt_index(lvl, va)   pt_linear_offset(lvl, (va) & XEN_PT_LEVEL_MASK(lvl))
> +
> +/* Page Table entry */
> +typedef struct {
> +    uint64_t pte;
> +} pte_t;

Not having read the respective spec (yet) I'm wondering if this really
is this way also for RV32 (despite the different PAGETABLE_ORDER).

> --- /dev/null
> +++ b/xen/arch/riscv/mm.c
> @@ -0,0 +1,121 @@
> +#include <xen/compiler.h>
> +#include <xen/init.h>
> +#include <xen/kernel.h>
> +#include <xen/lib.h>
> +#include <xen/page-size.h>
> +
> +#include <asm/boot-info.h>
> +#include <asm/config.h>
> +#include <asm/csr.h>
> +#include <asm/mm.h>
> +#include <asm/page.h>
> +#include <asm/traps.h>
> +
> +/*
> + * xen_second_pagetable is indexed with the VPN[2] page table entry field
> + * xen_first_pagetable is accessed from the VPN[1] page table entry field
> + * xen_zeroeth_pagetable is accessed from the VPN[0] page table entry field
> + */
> +pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
> +    xen_second_pagetable[PAGE_ENTRIES];
> +static pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
> +    xen_first_pagetable[PAGE_ENTRIES];
> +static pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
> +    xen_zeroeth_pagetable[PAGE_ENTRIES];

I would assume Andrew's comment on the earlier version also extended to
the names used here (and then also to various local variables or function
parameters further down).

> +extern unsigned long __init_begin[];
> +extern unsigned long __init_end[];
> +extern unsigned char cpu0_boot_stack[STACK_SIZE];
> +
> +static void __init
> +setup_initial_mapping(pte_t *second, pte_t *first, pte_t *zeroeth,
> +                      unsigned long map_start,
> +                      unsigned long map_end,
> +                      unsigned long pa_start,
> +                      unsigned long flags)
> +{
> +    unsigned long page_addr;
> +
> +    // /* align start addresses */
> +    // map_start &= XEN_PT_LEVEL_MAP_MASK(0);
> +    // pa_start &= XEN_PT_LEVEL_MAP_MASK(0);

It's not clear what this is about, but in any event the comment is malformed.

> +    page_addr = map_start;
> +    while ( page_addr < map_end )
> +    {
> +        unsigned long index2 = pt_index(2, page_addr);
> +        unsigned long index1 = pt_index(1, page_addr);
> +        unsigned long index0 = pt_index(0, page_addr);
> +
> +        /* Setup level2 table */
> +        second[index2] = paddr_to_pte((unsigned long)first);
> +        second[index2].pte |= PTE_TABLE;
> +
> +        /* Setup level1 table */
> +        first[index1] = paddr_to_pte((unsigned long)zeroeth);
> +        first[index1].pte |= PTE_TABLE;

Whould it make sense to have paddr_to_pte() take attributes right
away as 2nd argument?

> +
> +

Nit: No double blank lines please.

> +        /* Setup level0 table */
> +        if ( !pte_is_valid(&zeroeth[index0]) )
> +        {
> +            /* Update level0 table */
> +            zeroeth[index0] = paddr_to_pte((page_addr - map_start) + pa_start);
> +            zeroeth[index0].pte |= flags;
> +        }
> +
> +        /* Point to next page */
> +        page_addr += XEN_PT_LEVEL_SIZE(0);
> +    }
> +}
> +
> +/*
> + * setup_initial_pagetables:
> + *
> + * Build the page tables for Xen that map the following:
> + *   load addresses to linker addresses
> + */
> +void __init setup_initial_pagetables(void)
> +{
> +    pte_t *second;
> +    pte_t *first;
> +    pte_t *zeroeth;
> +
> +    unsigned long load_addr_start   = boot_info.load_start;
> +    unsigned long load_addr_end     = boot_info.load_end;
> +    unsigned long linker_addr_start = boot_info.linker_start;
> +    unsigned long linker_addr_end   = boot_info.linker_end;
> +
> +    BUG_ON(load_addr_start % (PAGE_ENTRIES * PAGE_SIZE) != 0);
> +    if (load_addr_start != linker_addr_start)

Nit: Style (missing blanks).

> +        BUG_ON((linker_addr_end > load_addr_start && load_addr_end > linker_addr_start));
> +
> +    /* Get the addresses where the page tables were loaded */
> +    second  = (pte_t *)(&xen_second_pagetable);
> +    first   = (pte_t *)(&xen_first_pagetable);
> +    zeroeth = (pte_t *)(&xen_zeroeth_pagetable);

Please avoid casts whenever possible.

> @@ -32,3 +33,67 @@ ENTRY(start)
>          add     sp, sp, t0
>  
>          tail    start_xen
> +
> +ENTRY(enable_mmu)
> +        /* Calculate physical offset between linker and load addresses */
> +        la      t0, boot_info
> +        REG_L   t1, BI_LINKER_START(t0)
> +        REG_L   t2, BI_LOAD_START(t0)
> +        sub     t1, t1, t2
> +
> +        /*
> +         * Calculate and update a linker time address of the .L_mmu_is_enabled
> +         * label and update CSR_STVEC with it.
> +         * MMU is configured in a way where linker addresses are mapped
> +         * on load addresses so case when linker addresses are not equal to
> +         * load addresses, and thereby, after MMU is enabled, it will cause
> +         * an exception and jump to linker time addresses
> +         */
> +        la      t3, .L_mmu_is_enabled
> +        add     t3, t3, t1
> +        csrw    CSR_STVEC, t3
> +
> +        /* Calculate a value for SATP register */
> +        li      t5, SATP_MODE_SV39
> +        li      t6, SATP_MODE_SHIFT
> +        sll     t5, t5, t6
> +
> +        la      t4, xen_second_pagetable
> +        srl     t4, t4, PAGE_SHIFT
> +        or      t4, t4, t5
> +        sfence.vma
> +        csrw    CSR_SATP, t4
> +
> +        .align 2
> +.L_mmu_is_enabled:
> +        /*
> +         * Stack should be re-inited as:
> +         * 1. Right now an address of the stack is relative to load time
> +         *    addresses what will cause an issue in case of load start address
> +         *    isn't equal to linker start address.
> +         * 2. Addresses in stack are all load time relative which can be an
> +         *    issue in case when load start address isn't equal to linker
> +         *    start address.
> +         */
> +        la      sp, cpu0_boot_stack
> +        li      t0, STACK_SIZE
> +        add     sp, sp, t0
> +
> +        /*
> +         * Re-init an address of exception handler as it was overwritten  with
> +         * the address of the .L_mmu_is_enabled label.
> +         * Before jump to trap_init save return address of enable_mmu() to
> +         * know where we should back after enable_mmu() will be finished.
> +         */
> +        mv      s0, ra

Don't you need to preserve s0 for your caller?

> +        lla     t0, trap_init

Any reason for lla here when elsewhere above you use la? And aren't ...

> +        jalr    ra, t0

... these two together "call" anyway?

> +        /*
> +         * Re-calculate the return address of enable_mmu() function for case
> +         * when linker start address isn't equal to load start address
> +         */
> +        add     s0, s0, t1
> +        mv      ra, s0

"add ra, s0, t1"?

But then - can't t1 be clobbered by trap_init()?

> --- a/xen/arch/riscv/xen.lds.S
> +++ b/xen/arch/riscv/xen.lds.S
> @@ -179,3 +179,5 @@ SECTIONS
>  
>  ASSERT(!SIZEOF(.got),      ".got non-empty")
>  ASSERT(!SIZEOF(.got.plt),  ".got.plt non-empty")
> +
> +ASSERT(_end - _start <= MB(2), "Xen too large for early-boot assumptions")

Again the question whether this is also applicable to RV32.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 16:50:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 16:50:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512016.791558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peIiK-0004gx-A6; Mon, 20 Mar 2023 16:50:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512016.791558; Mon, 20 Mar 2023 16: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 1peIiK-0004gq-7A; Mon, 20 Mar 2023 16:50:28 +0000
Received: by outflank-mailman (input) for mailman id 512016;
 Mon, 20 Mar 2023 16:50:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=pxNw=7M=citrix.com=prvs=436835ee5=roger.pau@srs-se1.protection.inumbo.net>)
 id 1peIiI-0004gh-OP
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 16:50:27 +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 4d03ad9b-c73f-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 17:50:23 +0100 (CET)
Received: from mail-bn7nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Mar 2023 12:50:17 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB7021.namprd03.prod.outlook.com (2603:10b6:a03:381::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 16:50:13 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 16: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: 4d03ad9b-c73f-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679331023;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=QllHSoatFSrZQQVqMe4GPJ1t3+5LKCZgPuq1JqD777A=;
  b=eX72ggOPKzhkPjIQq2K7y48PFgKRPyXzJ8No/YIa2Tgg8BO1+TvLl9hi
   11L/VFkHZhL8KMXKg67KZ0gNnQdb2QyG1yIVgg/reWlubr8OUOw14Mvop
   c4RKgdTxZs1ci7Mrlm0P327X8xNdt8/0PY/Z7HNVFf3HdoLRLhqAcEc9R
   U=;
X-IronPort-RemoteIP: 104.47.70.104
X-IronPort-MID: 101485969
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:O7R68Kxsvc3WW/f7l0V6t+dexirEfRIJ4+MujC+fZmUNrF6WrkVSm
 zROUTuAPPqDY2LxeNlya4rj8k9TvZ/WzYRlGgVkpSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6gT5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KSZPr
 sxfFAAUVzfdhtidmLOyWPl3g/12eaEHPKtH0p1h5RfwKK9+BLrlHODN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvDCVlVQtuFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE37eWwXOmCdxDfFG+3qNbpHaC5D0CMRQpcmmdnceShnHkaesKf
 iT4/QJr98De7neDTNPwQhm5q36spQMHVpxbFOhSwBuE2+zU/g+fCUANSzIHY9sj3OcmSDpv2
 lKXktfBAT10rKbTWX+b7q2Trz65JW4SN2BqTSYAQBsM5dXuusc/gw/ETtt5OKewgpv+HjSY6
 zuKtiklm7Qai4gI0Ki9/F/vijeg4JPOS2Yd3RnaQWu/8kVZZYqpaoay4F7Xxf9FIMCSSVzpl
 HIZgdqX6OcCCo6EvCOISeQJWrqu4p6tMDrajlpiHsBn9ymk/XGLdIVcpjp5IS9BMNsAeDavc
 k/avwx57ZpfenCtaMdfQYOoCs0si4PgGNLNX/XYKNFJZ/BZbxSb9StjYUqR2WHFk0U2l6w7f
 5CBfq6R4W0yDK1myH+8Qbgb2LpyniQmnzqLGdb80git1qeYaDiNU7AZPVCSb+c/qqSZvAHS9
 NUZPMyPo/lCbNDDjuDs2dZ7BTg3wbITXvgad+Q/mja/Hzdb
IronPort-HdrOrdr: A9a23:T76ieaCKCqlbOzblHem955DYdb4zR+YMi2TDtnoddfUxSKfzqy
 nApoV56faKskdyZJhNo7690cq7LU80l6QU3WB5B97LYOCMggSVxe9ZjLcKygeQfhHDyg==
X-IronPort-AV: E=Sophos;i="5.98,276,1673931600"; 
   d="scan'208";a="101485969"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bdQbEd3Xg/jzBGiuggjdeZhqaIUma19sBTB9D9JWBB6SU6Uu4QISpnLp1Zt01fZj42BmDmWJlmV1n54DiZlb6fyuXRYzc+x2avkJ3IPl8GZzaQyHF56sN70+3p5Cqi5jc1UKjfzvPZKrS8VQYwpKxcDseTaz7VaIRsyR2hGpEZCcFCYqSqNy8UekLgMIa3xKXaFikO+u6Expq/0ABehAZ5oEeq06vjiszUuL5muepdFQCazi6Mwjx+sVjllqrzRcUk0/J+V6TQvr2WFrF0/5R/z0aFmHL9DJlWgFACMI1thsJHtDUgcqBvsdEplkm620TfvRed9xPOm4o3orNZ2lxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d7UanYDhUnrqnRK0v00GLIfHsL2xnjDQWkwY6wpmlFI=;
 b=REfghXuEXHsf2ThaFvozAWx9008fSCDUTxz6JcXarL7lnIZqZXRRhTY+yCwFLloNeHxVmOM3Lrnm4Jwl4kcK5ivXPyoChDEdImgZr0OUguxy1oWb4e6aPPuwpBwflW7ab4g8dRMw/OWPJSnyINA27miN7UaayN9YRJnetoIMl5ifZmNz6L9TVPzFIV2ZAi44NeaZY089ZAYY9pTQDyTJHuhEYDhOjnYt9Q28zO42RLqE13lhEAEbOUYVi+kuDbvGfJsPnja7/eE11QsRigKGzyfZS1ZWu0JyK1BZqyGof0q1Kk1ArZ9cWPPC+lQ+S6aqMj6FbXrAU34aMfxvZ5rbiw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d7UanYDhUnrqnRK0v00GLIfHsL2xnjDQWkwY6wpmlFI=;
 b=qA/eHZUdPod5s/pONK4DKfxwLAF0Pp/BsYd7m1gNZUxyKbBW22Sspfy37TiE6d2XARbZan1ofdozvCOHlDMPAM5r1Jkq9hI/QJmz2nTNnr3fsA6JnxxX0nZDBk5tOccBaUFkIg9Rw176JFfkFN4TADPmgrwxvhKmPBcqiCGSlWo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 20 Mar 2023 17:50:05 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Huang Rui <ray.huang@amd.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Alex Deucher <alexander.deucher@amd.com>,
	Christian =?utf-8?B?S8O2bmln?= <christian.koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@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>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [RFC XEN PATCH 6/6] tools/libs/light: pci: translate irq to gsi
Message-ID: <ZBiOvYKtF7OPNsm3@Air-de-Roger>
References: <ZBLg8WB8HCoZvwz5@Air-de-Roger>
 <df607690-0bfb-94a3-fac6-5e20f183dc20@suse.com>
 <alpine.DEB.2.22.394.2303161611220.3359@ubuntu-linux-20-04-desktop>
 <4edb59db-d2b8-122a-fc10-59001857bee0@suse.com>
 <ZBQ4DKJ8ZAroyPIQ@Air-de-Roger>
 <alpine.DEB.2.22.394.2303171115320.3359@ubuntu-linux-20-04-desktop>
 <ZBTEBkaI8q/mrJmv@Air-de-Roger>
 <alpine.DEB.2.22.394.2303171346410.3359@ubuntu-linux-20-04-desktop>
 <ZBh4w+hDajq06BU6@Air-de-Roger>
 <f62de066-d17f-f513-9eef-73615ebaf645@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f62de066-d17f-f513-9eef-73615ebaf645@suse.com>
X-ClientProxiedBy: LO4P123CA0157.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:188::18) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB7021:EE_
X-MS-Office365-Filtering-Correlation-Id: ca6681f3-015a-4590-4c76-08db29632bcf
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uWWDSKQiuB+mYMaQHNCFpBW/NCJxdaqP4p6X/ROSUPKEN8Dot/izEEiHhPPnzAd1QJKmpWW5D8nVJpLN3BzPFhXFYwulAIOKGPU1Kl5PdiAt0gPU77iR0TK64SAQLtuWWIJew1NdFi81zVVs5DTLjFk26zRb6BBCV+3TeqWdDpr3MBQAHXjvna85knh+p2/mJR/R891LIGGAW3D6YgQjbKwuH194VJSx9xGnod8vn/2bkbQOKRwyggVRuEzeCh5lYUZ5Zu3/Zdc5c6vTQrAecDBzbiVVNHCWNuKEjyYID0688M06YhL5pumjGVAKPskXr3rkPxSOju2lXxFQWesfw/df+RGEN3eN7N4fvEEEmZzct7rnuCBoTH4MnZ2ZbMBW1xBKpOuaa9lKHtkH08tZpZWJKF+zlJ/G0Ki0RAbXpnNK0OI7iB5fQ59CL/BinR+lTyz4OB2LBXWYVhhB1aumAs6+7yHRScvrD6UUndw8Uqtrc0ZXVjYap8sNRJgCrq733aYUjWe0FN8CT7Au/FWQIgfGosh+s3Un5iYtNppb7hTo3dB97PtZcTbhNJOsPPGOT08M+1w5a6JKNnFXj2MkBu3tXH4laPR1bRu3sVHht5Jm+3GhySZfwVqmGqBQyfxfxc+93RQhsicb6+YfOtHQMA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(376002)(366004)(136003)(39860400002)(396003)(346002)(451199018)(86362001)(33716001)(6512007)(26005)(6666004)(6506007)(9686003)(53546011)(38100700002)(6486002)(2906002)(85182001)(82960400001)(5660300002)(7416002)(8936002)(41300700001)(83380400001)(478600001)(186003)(54906003)(6916009)(66476007)(316002)(66946007)(66556008)(4326008)(8676002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z2lCOHg4dC9OZUQydjdaTHNzclZZNUgzaGZzNXRtR1RRR2xBWWM2a0h0RkY5?=
 =?utf-8?B?a3VsNHdNRjc0aHZXL3Zxa3ZyVFdrREpSNU5hSnZlbVFsSnFvL0RNdWFubFcw?=
 =?utf-8?B?RnlrbkhTZkpSOFdSei9xcnIyQWpjanUyZFF1WVUzbDVvL1lEb0NvWEFTTmVj?=
 =?utf-8?B?TUtzVXNPK3NpKy9mbG1OSVNpTlJnbWVWekRPVldqeDFqNk1vV0FYcTRURjFy?=
 =?utf-8?B?OUJMUlNaeHBOdU9JU1REa2UwS2twWFlVYm10eW5xVzVZdjJ0WENSN28wY2pC?=
 =?utf-8?B?ZjJ0N2xHbDRvZHRvTk8wZmxYTzdyUUJKbzBBb3JFV0ZVUGVkSVl3TldWSkwx?=
 =?utf-8?B?UXVvOWUycFhJY3VFNmE2WTdSTkw3ckIxOEVBSm9xemJtdFBPWExjajNja1B4?=
 =?utf-8?B?REJ2RUdtMEU3R1RqRFZoTnBoWUoralhSRGdhZ0NNRDNuUlVQQWVWVzNOUUlT?=
 =?utf-8?B?Ylg3ZndsRDZ3WlRnNU91VVFMTHByRXRibkwxS2hMWXdkT1VuYmE2ditRenpP?=
 =?utf-8?B?TlVTOGZEVU1jQ3hwalU0WHlDVndpN2xwQUtKcUdmek03cWdwWDUxMzJrVFk1?=
 =?utf-8?B?aGhXbEY2cmpLZE9ubnMwWUxXd1VYWGl0WGw4RWdFTkd4NXdFazNreHZ0KzFx?=
 =?utf-8?B?QjZTV2RzMmVlZ01lb0RWalZVOU1aQkswV0cyZEUweWZadlgwTTBZRUplZTk0?=
 =?utf-8?B?UUlhMlo5SWFzdWVkYXh0T0VvVGsvMVZGdy94OWszRzZJUjZ2Q3NiT2VDSHRz?=
 =?utf-8?B?YklGWWJTVUpvejFYSkRpSThXQStpVWFOdks5VVVURzFValpXTWNKV0x0RU1B?=
 =?utf-8?B?L0VIS1UwSWlpQTBlOEtDMXBFUnBIeXZPU2gwUVBRK0kxQ1hFdU1pRlR5T3VK?=
 =?utf-8?B?WVJFVFBab2JHSGVnVmEwMzZqMDJ6b1FOeXgzdlBKWWl3dnZWUkV5cVJxQ1hB?=
 =?utf-8?B?YTZkSjlBNFErQnZJdXllOStwVFRwZjByemhDb2hGMDcwSmFqdEprMDZaWVVL?=
 =?utf-8?B?WUdUTFlVTzJjcGdobmlNbHoyalBKRzNYblIvWFR3bzhwd25hUGdjQVZFU0lE?=
 =?utf-8?B?NWt4TFVQNmY1cWRUQldEVGhObzdRaUxjNlhQcjVYajVtNEllZDhWYUhIcGtX?=
 =?utf-8?B?VHZsZ3JUdDl6d2NlU1NXUzFhanFMSzBZckFaa3Bab3oyVXJONzB6RkxoMkZD?=
 =?utf-8?B?ZVMyZlZnai81bUF3bnQxT2dwOWVrSVlMRWcrUHE5NkJ4LzUyZFhqVHJ4M0U2?=
 =?utf-8?B?dUx2UG1NRWpZZ2NiYkY3ODRRQ3FsTXlKL293aU1GbFA1WktrMnNnazRMRGJE?=
 =?utf-8?B?aTNqVTZSUmtUN0NtWGlwQ2JaRENCcHdSeVhHcGJ2eWNIMEc5ekhneVQ4M3NO?=
 =?utf-8?B?VTRnUmRyRjdpNGhKVHZNVEdCdUhHdGpxS2d2TjhpRStacitKYUV5VUZWSFZp?=
 =?utf-8?B?ZnhuSW9nWkc5TjlDdHFldXpOQ0YybXdoQittaVNlV2I2SE11Q0tWUGdiWDUy?=
 =?utf-8?B?K2tTVVI3cGxrMW45a0dXVFgzY3NYTC9DZDFjeUxRTzIxNUxmLzdORkhBZjFR?=
 =?utf-8?B?Z0ZodjBYekhlUzNYTW9TemF4NVJsTXhscStpV0hXUGw5ODVqSVgyV1hWWWZL?=
 =?utf-8?B?VGN0a2piblJab2ozZC9nVUlLUjUvZmlpQnFyY0FLRnplYnJNSzdoK0lCQklw?=
 =?utf-8?B?MzFsRHg0RVRjK3A3bXE3eHFTWElkcHdRL1dDbU9QaURVRWJMT3hDMmYvbG1p?=
 =?utf-8?B?SmFxYkFka1JaanJzbDlYWGJDdlhLb3pwUGVwZnRoNmRHbnZJeDZrODdhRTJ1?=
 =?utf-8?B?bEo3RERCaC9QYUhMazJ1NlcvNWExTmN1KzNRNlExTDR3cHVkbStPSUMyZ2hY?=
 =?utf-8?B?d1lMWjc5czVyb2lFMGJqbC9MWmdXcWNhT01hTmZmbGVBVjg1cjR0eHdrOFFC?=
 =?utf-8?B?OVhTNmF4eTFJSXBYZEsvQkZuUlcwaEZPdzdNNzFvWm5WaExxWUhJMHNjWitK?=
 =?utf-8?B?Z1h5bzRkZDJacGh2Z3ZZWVl5WWt2T3FlZnp1RFludTVtclpZVmFqRk1pTzUv?=
 =?utf-8?B?OWxEcEZmM3VYMGVJWnQrWDE1NWFXM1FZMXROSVp1Zi9KUEc0dWZPMVNMMm1i?=
 =?utf-8?B?dTBCczRTbHIzYWpwZHdoalpIWFNrQ3B1Q1VmUFV4dXVZL0lmUUxJL1k0VHBR?=
 =?utf-8?B?emc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	T0zZDIAR6LxgMitnJ7HteaFXg7bPkaHKHGBDzbunQ3nJ1ExogJuK37P3CY/2i8NWSkr4CANUC3ji0hPxqcHhkaE5Df9I/REzg9p235L2pZA4iKb1uMp/dq7nL57hjzgonCWQz006WldKbCow+S1rS0l+PiPW9MJEI684tEpPOyQ473i7sO4tLIXHGuW9GbVrAGZr1NXP/wP03ghMqZiiph5IZeSRp3VT6WL7tMGsOziMqV7ediMPPStzpE/GFgmoaqph5xBhbcJ7BwNSBuwcqbf8OcGrxlK/Xfjc1PfVkSNQqX2bXwe8dkn62QVM0OWlhU32J8f89tjZ6j5Rl3+UacbL28i0ip+2LBnyenveVAW+/rwEBz9o5w5dtk5DU5wSU+aUJez0PlrK1gEiBETHUQxzcWhXXNpIGlFArTv0VOIEaNV+4GXqwgxpmEE6NYw7Fdsfv2rzm6imt+fto894iWjL6S+dZGRrgXUo9DKJS8HrIfswf5DvelRq7uzjNKsLPn8skaIpqjwBWHc+yZQwyjuPR5dcsT8goePM/FTqAPX1ZVlhFzS6c0pfwwoo0I5BoB+JihZ/SdjftU4ezunb2+MvTRomyFRwjer4FF55TWK8qCiq/pjOnakNIFUWpW5oPUVrDOVMHsLeE6HyUSMASGG5OsSRIYKFif+TVG3c60Pp6WWaXVqBGiZGWV7aKaJ/cyK29r0/2up8hHcp+FIp1ZHJ5nEAu+BP+NhWsq6kn5IJvceCO3Pr4DZMWiJeHAp/nrUqe+xQAUg/6vC3xAjF0oOOH+bSsK+TPLtEVjAaOxK7s2oTsiPIx1Ht/i2EuGdfmjr5spUlS7icdN3CFy1TGsq1ea3ewnUr2zhP+K+TR2JeQNfvqQzGZPQXI7sH1ZTR
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ca6681f3-015a-4590-4c76-08db29632bcf
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 16:50:12.0938
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PSB7mxepNGwqHIow18/GCkXMxDYEYYLiqI9TDOjq9fPS++sB1cpan1dp5pdr9oqhCk3ga5niQUpgXjcNblAtaA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7021

On Mon, Mar 20, 2023 at 04:29:25PM +0100, Jan Beulich wrote:
> On 20.03.2023 16:16, Roger Pau Monné wrote:
> > @@ -244,12 +242,18 @@ static void vioapic_write_redirent(
> >      }
> >      else
> >      {
> > +        int ret;
> > +
> >          unmasked = ent.fields.mask;
> >          /* Remote IRR and Delivery Status are read-only. */
> >          ent.bits = ((ent.bits >> 32) << 32) | val;
> >          ent.fields.delivery_status = 0;
> >          ent.fields.remote_irr = pent->fields.remote_irr;
> >          unmasked = unmasked && !ent.fields.mask;
> > +        ret = mp_register_gsi(gsi, ent.fields.trig_mode, ent.fields.polarity);
> > +        if ( ret && ret !=  -EEXIST )
> > +            gprintk(XENLOG_WARNING, "vioapic: error registering GSI %u: %d\n",
> > +                    gsi, ret);
> >      }
> 
> I assume this is only meant to be experimental, as I'm missing confinement
> to Dom0 here.

Indeed.  I've attached a fixed version below, let's make sure this
doesn't influence testing.

> I also question this when the mask bit as set, as in that
> case neither the trigger mode bit nor the polarity one can be relied upon.
> At which point it would look to me as if it was necessary for Dom0 to use
> a hypercall instead (which naturally would then be PHYSDEVOP_setup_gsi).

AFAICT Linux does correctly set the trigger/polarity even when the
pins are masked, so this should be safe as a proof of concept. Let's
first figure out whether the issue is really with the lack of setup of
the IO-APIC pins.  At the end without input from Ray this is just a
wild guess.

Regards, Roger.
----
diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index 405d0a95af..cc53a3bd12 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -86,6 +86,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     {
     case PHYSDEVOP_map_pirq:
     case PHYSDEVOP_unmap_pirq:
+        break;
+
     case PHYSDEVOP_eoi:
     case PHYSDEVOP_irq_status_query:
     case PHYSDEVOP_get_free_pirq:
diff --git a/xen/arch/x86/hvm/vioapic.c b/xen/arch/x86/hvm/vioapic.c
index 41e3c4d5e4..64f7b5bcc5 100644
--- a/xen/arch/x86/hvm/vioapic.c
+++ b/xen/arch/x86/hvm/vioapic.c
@@ -180,9 +180,7 @@ static int vioapic_hwdom_map_gsi(unsigned int gsi, unsigned int trig,
 
     /* Interrupt has been unmasked, bind it now. */
     ret = mp_register_gsi(gsi, trig, pol);
-    if ( ret == -EEXIST )
-        return 0;
-    if ( ret )
+    if ( ret && ret != -EEXIST )
     {
         gprintk(XENLOG_WARNING, "vioapic: error registering GSI %u: %d\n",
                  gsi, ret);
@@ -250,6 +248,16 @@ static void vioapic_write_redirent(
         ent.fields.delivery_status = 0;
         ent.fields.remote_irr = pent->fields.remote_irr;
         unmasked = unmasked && !ent.fields.mask;
+        if ( is_hardware_domain(d) )
+        {
+            int ret = mp_register_gsi(gsi, ent.fields.trig_mode,
+                                      ent.fields.polarity);
+
+            if ( ret && ret !=  -EEXIST )
+                gprintk(XENLOG_WARNING,
+                        "vioapic: error registering GSI %u: %d\n",
+                        gsi, ret);
+        }
     }
 
     *pent = ent;



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 17:00:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 17:00:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512020.791568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peIra-0005el-Az; Mon, 20 Mar 2023 17:00:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512020.791568; Mon, 20 Mar 2023 17:00:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peIra-0005eA-8C; Mon, 20 Mar 2023 17:00:02 +0000
Received: by outflank-mailman (input) for mailman id 512020;
 Mon, 20 Mar 2023 17:00: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peIrY-0005V3-Tq
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 17:00:00 +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 a505c8f9-c740-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 17:59:58 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7912.eurprd04.prod.outlook.com (2603:10a6:20b:2ae::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 16:59:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 16:59:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a505c8f9-c740-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yp4BjthC4XTzROGGliVfuCCAMQ2gV942d62Q4o5s99nZECZp4UtzvpBDwvmWbSBVxAjy8P/iPT81/6tQ/gPvvCjG5HR+57eS1q8+yYgIiciVYCTsG+tD0RFStOMlLrbESdgwdl8g88qgzUsj8XyQChLWqgxB5YtRvYx4OVX5jO7d/Hm3xna9ihytFCPxyI+xK6MnyiFn6SozZClTy6eA1UjpDe7e0xYPwQUjERzwwYKaZJeev2BWOb9EiEFXbpxloseVqrH9EpnK2uIpGH99ZW2qsdI++Qp0P+70Bihj9wU/uEPfmOsXBwBCIpY/fV/ZbcfEqs0QfcCxnN6eA2O8sA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0sYTxr06Na9EFC+Yir9pzobnPKK96xE+BCTSE7UeaOc=;
 b=T0oRjGGUmhzrtL3RplxDAwyRwy96ecuJ8YQtwFUTEBjl1FofiE2zUVqggmTsJSepxomaga/adZgG0k5gldK4yCQg9ErYMOqTDKFUQ+EDYhd6mEDQjVFI+etIzvPWFNXLUIOvmdXdg9biX3z+606VsoCO4M1e+1U5KYrDqi54wI2BHTQlEWuUWGyFw8J/wRCDnEc5IWNXiZd3ZPKDk10WKHhWw/3YF6SUzr83cRuwmz+3fKxjeRHYencAq1zZalDqdR8h8kkaHT4mXwyzNTkH8W6x2Tu2KCdr815fhqaUqMkVfuS1u+UDNDLMXu0i98dXggwuFcZuuRk0COME1oUwJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0sYTxr06Na9EFC+Yir9pzobnPKK96xE+BCTSE7UeaOc=;
 b=VVKMTd5N6AuOgKytKAcKxJ/pH49oskgq8/mPKiNDHy5mN51s6uElD2ONdGEiPEV65lotz5eqtjYPhUgIR+rc8r3uIoXbR0hCTqaLptcV/liQScGpTkfeQ75Il+pEPlv5XsDeO5E80QoAlGx8mznuCUiZO+FEqpH/qcDhFI5T/eQlAC98qVoK9KZvBZFvG5YohDUfBd22JHF1AtWKTAZXRt+BJ2pgcCkGc94T/EuQmy/pgvxLAQ9dmsZBkcd5h8fTfzn+45uijsGsIsvPViYeWndc2P0YKNzL0VNTskFZqyHuZtfYOqCUtPIohwLYxOZL8IN/oFj/Pj+QuDZREW0+4Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <82c163bc-7feb-7256-0a24-f565e9b7bc33@suse.com>
Date: Mon, 20 Mar 2023 17:59:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/2] x86/APIC: modify error_interrupt() to output using
 single printk()
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1679084101.git.ehem+xen@m5p.com>
 <4db49e192b6829e520cf497481a51deef227b23b.1679084101.git.ehem+xen@m5p.com>
 <f945860e-6a82-7070-3a1b-2e73a53040de@suse.com>
 <ZBhtzfhumm9AWqte@mattapan.m5p.com>
 <5b62c34e-5013-50ba-b218-925fe4eb6c0d@suse.com>
 <ZBiBtiSKkaCmtMAB@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBiBtiSKkaCmtMAB@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0085.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7912:EE_
X-MS-Office365-Filtering-Correlation-Id: 90b09d40-9fc0-4734-9f66-08db296485c1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7iNtt9i3h3GASS0CxaJM7AZuSODpR4fPanZkSztg3DCXRCy7Z4hyHp7PLIAQ5tE/p6twONZ3kzPp/bHjykKHCjutHks0H/84jdTcuYkt3AzVSQ2Z89puiVKNdZTiOMcLPfXlq8eutbUe/qIDKUpgkI5QPV9DwKUeV/GBjQBgbMAXGWX5ea43blDUcPEzBRxC7u5Dz/jfc1uM1rwlYg3VGeWEuzKz+Bx1SvmqnhTb2WB0BieOSjrJjR/fUat1kVi3lZlfPTSZ03zjY49NxL+tjcDjuLo8WQ8ZK3s5BU+KX/HfbxhEgQXBGRuImEySX5LlOEk2PCyLeUDcvC8R2Mo4N4SinHHKwEAQUQ1M7Djk1VWl4i/HhB5M+jgdtPDBiGaiG/lLZm6xEKSfGsNqiyGKLTKuk7AxRpm2PDrftN4P/j7wn/mkSB5gjiF/mbrM3zdmQjOquPyMGNbZajcynMbGb4DpBUNIUuIMsORWRZKpblAxz/uNQVb9Wx1+pgv2GXFQ0KV+avz1M4ZZNuxIATxEUIuYqLqRTPEsbpwXx77lz4sgLd/mVhTQmrh0rrhtxa8+kfxWssj/Fvr0ZY87eD+mUaIP11zqi8cutMDNMoXDhom7DExjw4jRFgD+726/DmpDm+YSF/pNitrIuiIJd/ypaOYHvuKTks4GnabrFzn+td+rZrk8Y0KS3X+CVs56JDzErb2wly4GZDqPzGUEy4gUpxosVaeRQzDvKuajebIPt6w=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(39860400002)(366004)(396003)(376002)(346002)(451199018)(2616005)(83380400001)(6486002)(4326008)(478600001)(316002)(66476007)(66946007)(66556008)(8676002)(53546011)(6512007)(6506007)(186003)(26005)(54906003)(31686004)(8936002)(41300700001)(5660300002)(38100700002)(2906002)(36756003)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dVU1Z25JbzdwSUJSZUI1RVlvc0lubmY4TkdzRmdVMU93TS9sa3RsRHRlQzZI?=
 =?utf-8?B?cDlEd1NMTFkvZ3RrUXFkN1BVVlpHUUlsSnl6R1lIWGhIbjRqOW0vZVdFUGh6?=
 =?utf-8?B?WnZsYzBRZkxCNXg5L1NPTC82NFcwNjB5SUU2UE0wMlUvTWxVTEhTQXd6dDMr?=
 =?utf-8?B?KzRhMTNtQ0REZWRGenBhbitwVk4wSk1XL01qejRva0IwUzBPbXBoVDRPekw1?=
 =?utf-8?B?NHFidlplallDaFRoY1VrWG5rNHYzdERkc3dkQTdYbTFpbWxkT1FpTTQ4T0J5?=
 =?utf-8?B?YXRaLzduUTRIRlFLYjdYbFEyY2FMelpRcEs4ZXZhMmtzelNyZHRvR3V5eHVy?=
 =?utf-8?B?bnFsbm9NT2NqYjFlbkxYdnA3em9LVk1Vd2w5aU5IZXhLbnlzQkRVM1d3WThz?=
 =?utf-8?B?bEt2bkFobjlXWTBxejZEUHBIUTZ0dERFbEZSajlWN21kOTlYbjBxL0R6SmhG?=
 =?utf-8?B?anpUQ09YU0l4WWtCNGRWVzhVaEswMllncE0zeklVby83MnczWlJ1bWQ0Z1pU?=
 =?utf-8?B?bklZODczOFZ6SU9DOXppbDM5ZUE2WmV2cTNUK1ZHQnQ5MWVuekl4VUJ2dXpC?=
 =?utf-8?B?MFFhTzFqTHdqYmJkZzBVdmxoSll2b3ArTUZZeitndHlIUkJHUExMQmt2Mm9x?=
 =?utf-8?B?emFITHJmbXNDNHVGSWpmcWlhTmlMZUpTSnQ0TmJYTGMrY200NkNvZHZFSUJO?=
 =?utf-8?B?dE1WQk5XWVBOcEtnUnFObDZheW16Ull5Y3pXUERNMXJ5Q1pZVDJmc1JqQTZj?=
 =?utf-8?B?N0trKzhJZDF4cExRZDhJYlVnbG1aemszaTlhMjc0b1lsK08wRGJNMEdQRWla?=
 =?utf-8?B?OFh2R1dESnZMMk9jSzZiY1pxcmhMdHFkNkU0b3d2TVFVQmlGUlQ3QnpmTUJj?=
 =?utf-8?B?MkxwdDNkSVhLOVlqRGZad1diN2ZLMTNtanZLaHJSUWxodUVnMDdFL1NvK2hD?=
 =?utf-8?B?cGExbktxMWoweVowbnFFUUZ6d0NFRWtFVGFJdHpOY3prQ29nV29MdWQ4WHN4?=
 =?utf-8?B?VEx1OGdQQW82cXNZeDdkRVpDVXJCRnh0azRIMmU5ajY0NnBTRyt5OVV3UDl3?=
 =?utf-8?B?aWl5YUxBZkFMZW42QzhnWGI5Si92bE40dS92aTV1Q2E4azkvb3M4dHk1RnVl?=
 =?utf-8?B?MWI0RmVFeDV1S1JPTUp0ZytJYnJ0L0hLWFBxQ0lINVF2RWw5S3RhSDFZRTQ0?=
 =?utf-8?B?ckhMREFnNExnclordENPbjU1dnpIZTd2ZEFSQWMxdnpIZmowamVZYUtKaURB?=
 =?utf-8?B?Q0lKSnVGNmNvL0hyYUJVUzE1UWdxTXhBaDMrd2VPMkZhVU5pd1ZQbEhlS0wr?=
 =?utf-8?B?cWlSS0ZhVzBCaFJjbzVrYUFoQ1NHNU5HVWpucnJhZCtKVDl3bUpaMzRkZEk4?=
 =?utf-8?B?eHl3cWRmaGRSYURDNEpBZHhjeGdJNzNsNW9pQ090RDBndnZwWDVvcmFEZFFr?=
 =?utf-8?B?YkhLd2RWOC8xTTNPTWxVempBVWZ0bVA0QlZDNy9sakdEWTgxek5MT0krK1Z2?=
 =?utf-8?B?clFucFo1cUJYdHhLYVIya2tVL1ZrYWNaKzdJV0VHS2xEQ0YybnBoS0NQNFp4?=
 =?utf-8?B?UEVBbkZadHROdUsvM0x0eG9EYzV1VU5DK2llQWNnZ21XTFRLUUVYRTdtQlBR?=
 =?utf-8?B?QVllZlRlbFpPS0xCMUJOWFViZmZITnRxaDhCc21zT2pxTGdCMDdRalJiV3Zw?=
 =?utf-8?B?U1RUMWlXLzFlRTlZdVJXOEJUTnFFM0taSVNHQkN2UUVNckhFL3JvWjlsZGNV?=
 =?utf-8?B?YWZUSHpLZ1pLSU1zd3N5WnpFeHpFdGVqQkpTZXhBUzRQakQycnpMUllCd3Rv?=
 =?utf-8?B?WkVKL2Uvc29ac3dLMkdDOG5FdTZiR1E4WEdCWUhJYmthNThUMU4xUU8vZDhl?=
 =?utf-8?B?Wk41UmE0bXZLMDJsdGZFdGNIWDBsYy9iRDlpNVhTaWtkTjdNM1JXdUJLZ1kv?=
 =?utf-8?B?NUlzc2IyY2ZPNExWUEdCZVI5Mkh1MnR4WUcyMDlaV1JyMTBONFNEejFraSti?=
 =?utf-8?B?aXhudENvL2VhRXo3V0tFRVhjRGRmVzhHeTREOHdCOU95UTVjSzVXVmc3SzRF?=
 =?utf-8?B?ZDAvUlRtNG9ncG91R3Rjd0R1Q1FRd3o2U2RsNmdNNUhUWEJPbGdYRkozTzZy?=
 =?utf-8?Q?InTSKAWAUr9QPKgQgTIh4YdZr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 90b09d40-9fc0-4734-9f66-08db296485c1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 16:59:52.1678
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CU2vD3YSaV9ahAsB3NV0GPbJWsdbxaGAa4M4pytyi9qID0LMx0gag/svs/dVWs5DqJcKB6HDOjhNp0cmnqXXsQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7912

On 20.03.2023 16:54, Elliott Mitchell wrote:
> On Mon, Mar 20, 2023 at 04:39:48PM +0100, Jan Beulich wrote:
>> On 20.03.2023 15:29, Elliott Mitchell wrote:
>>>
>>> There are several minor issues here which may be best handled during
>>> commit as they're very small items about how precisely you want this to
>>> look.
>>>
>>> First, I later realized I goofed the argument order.  In order to match
>>> the original implementation, it needs to be entries[7] ... entries[0]
>>> (could though be the low-order bits should be reported first).
>>
>> I'm not really concerned of the order. A change of order wants
>> mentioning in the description though.
> 
> Seemed simple enough to fix on commit (simply switch the order of
> numbers).
> 
>>> Second, the order of the for loop no longer matters.  Using
>>> ARRAY_SIZE(esr_fields) and increment should now be more maintainable
>>> (this would also allow i to be unsigned).
>>
>> Indeed. But that would better done in a separate patch then anyway.
> 
> Feel free to split.
> 
>>> Third, I'm simply unsure how you would prefer to format the printk().
>>
>> About any way matching style guidelines is okay. There are two more
>> things to mention though (sorry for not noticing earlier): We aim at
>> keeping the entire format string on one line, for grep-ability. And
>> there's no need (and in fact no reason) to split the sequence of %s
>> from the \n. To summarize:
>>
>>     printk(XENLOG_DEBUG
>>            "APIC error on CPU%u: %02x(%02x)%s%s%s%s%s%s%s%s\n",
>>
>> (unless of course it all fits on one line, which it looks like it
>> does).
> 
> I like keeping the "%s%s%s%s%s%s%s%s" section separated since it needs to
> match the number of arguments.  In the future where more bits of the
> register are defined, both sections will need to be modified together.
> 
> 
> This seems to be a spot where there are large numbers of similarly
> functional, but mildly different style variants.  As such I suspect this
> is best left in your hands as this is a bog of trivial style
> considerations which have no real functional effect.

Just to clarify: What is or is not adjusted on commit is a decision of
the committer. A no longer as active committer was actually of the
opinion that it is a mistake to ever make any changes while committing.
In the case here you're asking for far more changes (including either
one to the description of patch 1, or the folding of both patches) than
I personally would be willing to do. I'm sorry for that.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 17:03:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 17:03:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512022.791578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peIv3-0006vK-Ro; Mon, 20 Mar 2023 17:03:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512022.791578; Mon, 20 Mar 2023 17:03:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peIv3-0006vD-P1; Mon, 20 Mar 2023 17:03:37 +0000
Received: by outflank-mailman (input) for mailman id 512022;
 Mon, 20 Mar 2023 17:03: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=AUe7=7M=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peIv2-0006v3-K3
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 17:03:36 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20604.outbound.protection.outlook.com
 [2a01:111:f400:fe12::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25fb439a-c741-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 18:03:34 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU0PR04MB9672.eurprd04.prod.outlook.com (2603:10a6:10:31d::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 17:03:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 17:03: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: 25fb439a-c741-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XPLdZAiccLfXp+TIzKzsLbzGcZWKl99rSJyC9iB2yDw2iXVj5YxRskfZ4VXLNqAt7TZH92HQIkWribtmeQYlMqxcB7TSNiU6fuoBkOis2iGa37HQAh56vWmbQXS4SAnlQcCEiJdzOmSTlPdDo49emoMQpvnoRv3hjBFrVmnkrXvfFqkfg6f/YdCWPWU0O19a5PVhu3KtVUm+WfJF0pVKP8IEFwpbbBF+Sm8wyJHfSnqSgU/SL5oEL19DoRI9ETJ1T8nu5lki3oboENQD3tZ/QkdVWt5WwTQLILrp7bSexKPmfbaxLSicQTb2+z8scqck6EkSWC4XhM8qZ1zPGZoStg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7NtW3vTh8nFYUMoR1l36xhprAKNfvyviu4dU0C+8wBA=;
 b=HYdNnJuKJb0vgm4z2EPQQIPjmcqcr7QINhllbON2SZ9rOkZSZxoYR6Nn1nFdSBEDSGK3LWh51H8cSfs7yDoascK1n1j1jgx4BZtnAghBTfy3lxA3IZKqb9v60VJPU501EJe233iVRS/PJn7bBmUqFhcgZQ84HB6xDIdsFOGmzEX2+L1IGB+A3IZ5TWPIBTK5MFPVuWoyeoUq9buHdQIMOg/E0z8vDuufMJ5OINuGddLAC3qbz6WAoHmFjYMqwvUaftEAYlSXM3UXUFPyijdlNNBQy4YbGRL0RKneJUrrFILpAp1PHZ9GmUwQwKqw0VtfTBbCgFF1wgZXpmRc43a4rA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7NtW3vTh8nFYUMoR1l36xhprAKNfvyviu4dU0C+8wBA=;
 b=AqN2S9AKGN0Hd43RTp8q++kZgdW9FrV8p6hs7mjZS0zeaLgKyakhBSV9B8XGoMYK/KG/VprHEUrDxuY3501PUS0e/uzNOwqQ4SX6jcVZYjLuthpgm9L5LaTpasvXhHviXQ6mOqVL4iYZ+ffGiA3rtRV36rUskX1HhB6pDp/YT8S9pwh6hR7ul1YgBdGZTascJQARrM3/GHOmAhCPa04yjwhRfOKcaVxS01YlnE1IyCq0S3SakiD1enYqzprlzC6St/zhH1BZTbgFhR8ra2bEbG5ZezuAqDUb7DbJfuTxovSOGJaCnl4Q522M3kXY4R+nKhAOPEuY4/sibgrBfeBO3g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fd290ce1-d1d3-9266-1b90-2b9df052a9e3@suse.com>
Date: Mon, 20 Mar 2023 18:03:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/3] xen/riscv: setup initial pagetables
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
 <a748d8cf94fbf4ffee3ca3acb553a9caad1f423c.1678984041.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a748d8cf94fbf4ffee3ca3acb553a9caad1f423c.1678984041.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0100.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU0PR04MB9672:EE_
X-MS-Office365-Filtering-Correlation-Id: 047e9e1b-dbd9-4766-bf65-08db296506d8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FW4eb7ZVazyEE0/+tUQnqCXiYv9JNo3ctUITYHHHHwNDUKz/oLz53Ikqrzrv5Ley/7AU079n2aRI/iF9uRgnK9bj+UrDm/7HQPUePrzfY8/zwI4jFRW4Eoir0ycvLwr+q4YJ+fj4zAsw6Wb/ny1soUvX8SONKdXI7LRJl4UIdvrmVAzlcocXWBUbv+L07PAdcckqbQsafxfwwI9fPDs6iWy/L/GNq8eHcepJThOsKijPrXXgZZIvp+W543CYwyxwKio4CLvdQMlfcqf7gTvKZGfkpM6qcltvrkyEoD//hS83Ep4XUtej4sHSgSMu6qiAA4MXO5jcHbbf022OTUzhI3Z+HO70IHgdb2MZc6Dc8ctJIgo2PkM/0qox97HLqfIGI3Mc4loq/xW8Wu/KioqcUUi5v1Qja9RzringrrnrPh68M4Igk0z5+f24khTAVTR2P5shvq/RZojOS+fs4NakCtRGTdaTnM7mOvDKLxQ4v/jU1lT+6igzJjrTGV+HTnndMy+XqMEoEuRcHf2uy44yxaGcD+R7ymH8SBfGquSJjIZ8k0n7V9+++847mRfyPnwnKKWD7kpSg3iWh8UsHihIAJBcVyq7Tm1xae8bdA3QsTz2CIxKMHfk7IzrqyLw5pVreNYfQvkCqa+tWTw+G0zhEN5XOsJOEEA2aBTKrlr93PT3aV0u1r3l0r8ST1NQjpDVJvlLXLHMHmzUUBU9g9cA0szcBh1y+pV5Z41RpJ5asQI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(366004)(376002)(136003)(39860400002)(451199018)(8936002)(5660300002)(4744005)(31696002)(86362001)(38100700002)(41300700001)(2906002)(36756003)(4326008)(6486002)(478600001)(83380400001)(6666004)(2616005)(186003)(6512007)(26005)(6506007)(53546011)(31686004)(54906003)(316002)(66556008)(66946007)(8676002)(66476007)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dlhub1Iya3BSUGE0bWkrRnRZR2RIZERFdjZWWEhETUdsTHdCbWtVVjNBQzZ6?=
 =?utf-8?B?SG41NlNKS2NRVURPVkswVHN4V1c4aGV4dXl2Z21XTG1DOHlTT29raytMYTRT?=
 =?utf-8?B?MEVRT0QrdmhmWkwxNzVlM29yVldQNGU4TTlLVU9kaXppZkUvOHNNd1hhUWZk?=
 =?utf-8?B?VDZWSFNFZHJjbC9Zb2xuNGVoWVFLYk1aYlljTW5uaDdoaFhBRG14cjJGb0lt?=
 =?utf-8?B?Qmo5djd4cWRDUUVoR1FLODVBVUJYaUtSUHlTSThkSGdaM1Z0c0xIcmdhWHl3?=
 =?utf-8?B?MW95SFZqNVVjd1hXK1Z0bHNhSGxVRFBlYjh3WUFsV2FNZ2xDMXZGZW9IdHds?=
 =?utf-8?B?ZERibTVqVE9yb0swT0cvMmxUUzBiV2NYcnFQMGhOamZiRVF0Ujk4QnhCNkEr?=
 =?utf-8?B?dkNxTm1odTZUZ2VxN3IrTDRHVWtESGduNDFYMGFWamV4Y1ZnVUVqd1lZa05K?=
 =?utf-8?B?MFdEYUt6SHVzZUVqcUdXTWNUdWFhaW9SYjBZa3d5aEZtQXhIcklzUDI1UkxU?=
 =?utf-8?B?Zm1hak1Pdkd3QWlWR1dHMCtZWklWTzhqRkY0aWFRWm5xNFFES1NqUHNHcmhL?=
 =?utf-8?B?bFhxQ0NkeWpQOXpTVy9odVViVTBkbk9RcUNSdUdaeFp1UytIeSt2VkRQeHBZ?=
 =?utf-8?B?VnBBNXJwVGMwaVhJeVdySDhNcDVlY01iZlVJR0EzaDJidk02cmJmaGRpRXVj?=
 =?utf-8?B?TGVZcFM3YmVPK1VZRGtuU05DSm5mYW9xTjNySWIxZTh3N21DRy8xd0NyQ2pr?=
 =?utf-8?B?TXJmTHNCbDkyWGhxbUgreEFXWE8xKytVS3ZEVWtIOTZhZDZLWGEyK1dhakRC?=
 =?utf-8?B?dGE0ci84U3ZKRUFnWjNCVy8zdnhBQ1F4cS9JUlo1Q2RjRVcwRFZ3NUVseVdH?=
 =?utf-8?B?aUZCR25VUEZiKzFxQVpoTStlbGdmWjBrVWxaKzgwMjY1bGRQSGJqcTE1ZTlB?=
 =?utf-8?B?b1kveENkcWtvenNQUTlDR3V5aC9CVWtCQW1Tb3NmcExvciszYmh6TVQzd1lK?=
 =?utf-8?B?Yi83cDE0Sm1IQmlGS08rQkQxQmorZllxUVZoV3MySUhsWUFKdS8vb3M4OTZG?=
 =?utf-8?B?Q2dqd1Znb05pWUdvMlNmQkk4ekswRnBHL1cwY3VTYXJsSWgvWmgwRVJQNVg1?=
 =?utf-8?B?R3RPN1E4SkU5Y21MK0VweHlIRkRzNGo1YzI3emRsOXhsb3RjeFl6NTkxQkNF?=
 =?utf-8?B?Y0hJUVFKdjZyRkFrNnlXdFBsV1FXVFN0TEJidDZMTmJZRnlBNUo1czZaWnFz?=
 =?utf-8?B?NGRqWGtnRVQwZmx1a0M4M0FlWVlnT2d0UUNIWkVySUttR282T3l0VlNYWHRK?=
 =?utf-8?B?LytlUlJ4aEJ6VXN2bENsSjlKK082MldJbjlaY0JCYlBzMzVsNW9Sd1BrYUJ4?=
 =?utf-8?B?ek1qRlRXRDBueXlKU3hnRVpNK1ZxeDZGNTVYaEwzQ3dIQXFpYThGME9pOFNx?=
 =?utf-8?B?anE5VzQ4d2NJeThXQk93Si9MQ2dWOHlaUDFzK0NLTHQvMFNFUHV0RVRJcmN0?=
 =?utf-8?B?NW5ob2tRQ2ZCUDJMNHFvMjJuNXdjUWk2R3dUUG1jL2VMUFN4dTI5VzRqVndP?=
 =?utf-8?B?NmxuOHJ3ZSthWTZGTnZKbXRIYmNiUlZFaDVwZ3NZdjh2M3JKQzNJWC9OUk1R?=
 =?utf-8?B?VDJ6WmJEOEJWUm1JRWVnenVyUGp5c0hGWWlKYkdWT0VxRjJGSlkyb1BQWDll?=
 =?utf-8?B?TkNEd0JZV1J6QUQ4L3RTMlF1MERhUVFVVXphUENrZDh3VjVIVlovblg3OVVW?=
 =?utf-8?B?QWNQcFhyQUVNV3lpT0xYbGJBWHlVM0JqL2JkMnIyRXlJd2V4WkNoSDQwNFlC?=
 =?utf-8?B?cmJqZndLRmo2QmtjamNMZlFHTmp3c0w3OWZvZDZ1V2dsdi9PbzFkaGo1TUNV?=
 =?utf-8?B?eTVTSHZxbTJtYTB1bmVUM2dzQ2Z4VW90b0RTR2x2VHRhTW5OdGtPU2ZTMmtn?=
 =?utf-8?B?eDJYUllKOWxrWitoL3o5ZTBVY1E3UC9UYUVpZjMrY0RncldVd0JIdXJXVlQ3?=
 =?utf-8?B?MzFJaHdMdUlEbys5RENudHdhL3pmSzdMUE53cGtrMjRYME05bElkcDVjRjZZ?=
 =?utf-8?B?WmVQK1VRdjFDN0lRaDdBUVRMYm51VEZjZEtoQTMzVmxvaEkwbXpUVTdscTdr?=
 =?utf-8?Q?T4FyPGZmQE4mGMrRL9AeeBZyy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 047e9e1b-dbd9-4766-bf65-08db296506d8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 17:03:28.7923
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qYa+I0mLxIHVqvh6vyYlsvd/X33vEh4JzcZvIsLSjITfvqZ8g0B3QP5vBJBy8qkFY+eg261fMJMH0WhYyTj+TA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9672

On 16.03.2023 17:43, Oleksii Kurochko wrote:
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V2:
>  * Update the commit message

Odd: It's empty. Since it's not part of the title, you could at least
say that you're also enabling the MMU. (Most of the time entirely
empty descriptions are suspicious.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 17:05:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 17:05:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512024.791588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peIwr-0007Um-6m; Mon, 20 Mar 2023 17:05:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512024.791588; Mon, 20 Mar 2023 17:05: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 1peIwr-0007Uf-4D; Mon, 20 Mar 2023 17:05:29 +0000
Received: by outflank-mailman (input) for mailman id 512024;
 Mon, 20 Mar 2023 17: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=FkzI=7M=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1peIwp-0007UX-L7
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 17:05:27 +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 6869fdf8-c741-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 18:05:25 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id ek18so49515167edb.6
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 10:05:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6869fdf8-c741-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679331925;
        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=F1RlGWtFAWXAkW6KnPCPP7mmudBI6zSj2ZOHsatP0z8=;
        b=BT5l/2kD8nPb6T2bXDqn+MTrYRkHb1A3ivn7H3rmmTMa81OLt8JyP3KHdrr4QP0Jvx
         BZV+Mgk3DAXzBfaOcmJRsMtzNBMmXME1ZCrZ9aqvgGzMbFeD3nqWOo6hEZJmQUY1dq8Y
         22eG20cPLShTJFMYkEGGiZLIHlI6gu4imG0bC3X4n6/kdiGIJztCplTUVsXoRFKEXPir
         SPpXHgaVXH1lXW9pAOrlyZ+SaeRhIC7YH++uiYc3potPLbgxLnk8CYo31iICjK4b3oSG
         FMRKm4LbcU0P2PK+4ukIqCDZm8pEJjJka1KsW3N4rSg86We+uxIC4nHKSluqVjX1YcID
         nUNA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679331925;
        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=F1RlGWtFAWXAkW6KnPCPP7mmudBI6zSj2ZOHsatP0z8=;
        b=lgW2yDwpFkH8eZ08+i63jLGJd4Td/U3Z4AfMqx0fIpzUgLf5Rimejkb5kO5cX4lz5h
         BRLRh9qDUdtytI6ajP3J438fkSsKcf4KYKzoCw0lA8Mm3SAhSPMkbvUsoqC4EhSVIkeK
         U8mA5H/r4YwZSey+24e2EmAtAz4Eq6+UmhHh+FxdI3RYiKQmQR8uWZtXPGp5l5Zkqb5y
         QxAsWIB2Orsmj9N7t7I9PORUch5pwBGkiUJqkidvPWy4izY5tjOCkSwygSwxQ0Iy53a6
         WXpgsB4cc2RLTut0jw4so3t+6SAL6e4z7o/9rlO0U2Dv1fDAJXQezp5VRZV44i0tVIiU
         dE2w==
X-Gm-Message-State: AO0yUKUGIYZCNXUI+OMHzZFIpGyGV1aUpmu9D1BMf4tAxTy6sgTcSuIK
	1+x3KOevfoRgeUP185hWjhOXC7JWI9Innj4cOI0=
X-Google-Smtp-Source: AK7set84f6EtMlpoLBbvzGlls+jGWah5pOyTn54gXmZkhegUw191EFYoaFGZ0uk9mVGpWymPFJRnapggYD3z2q9zvxY=
X-Received: by 2002:a50:9fad:0:b0:4ad:7439:cec7 with SMTP id
 c42-20020a509fad000000b004ad7439cec7mr121561edf.7.1679331925296; Mon, 20 Mar
 2023 10:05:25 -0700 (PDT)
MIME-Version: 1.0
References: <20230317111546.18061-1-jgross@suse.com> <20230317111546.18061-2-jgross@suse.com>
In-Reply-To: <20230317111546.18061-2-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 20 Mar 2023 13:05:13 -0400
Message-ID: <CAKf6xpsV1Xq0PiK_iqBDV0fpvkA0K6E-cbFXvhS3grjiuAkMGA@mail.gmail.com>
Subject: Re: [PATCH 1/2] tools/xl: allow split_string_into_pair() to trim values
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, Mar 17, 2023 at 7:16=E2=80=AFAM Juergen Gross <jgross@suse.com> wro=
te:
>
> Most use cases of split_string_into_pair() are requiring the returned
> strings to be white space trimmed.
>
> In order to avoid the same code pattern multiple times, add a predicate
> parameter to split_string_into_pair() which can be specified to call
> trim() with that predicate for the string pair returned. Specifying
> NULL for the predicate will avoid the call of trim().
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 17:10:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 17:10:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512026.791598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peJ1e-0000dI-QK; Mon, 20 Mar 2023 17:10:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512026.791598; Mon, 20 Mar 2023 17:10: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 1peJ1e-0000dB-Ne; Mon, 20 Mar 2023 17:10:26 +0000
Received: by outflank-mailman (input) for mailman id 512026;
 Mon, 20 Mar 2023 17:10: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 1peJ1d-0000cy-B5; Mon, 20 Mar 2023 17:10: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 1peJ1d-0001YP-70; Mon, 20 Mar 2023 17:10: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 1peJ1c-0002tu-PC; Mon, 20 Mar 2023 17:10:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1peJ1c-0004SA-Og; Mon, 20 Mar 2023 17:10: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=eJjrOq+SSD+ChsJ9TOLdhBjBbrVn7YY6PIfmKIgS5n8=; b=ETtgNIHNOQ/HpSN7nEPlT94Zvy
	X35WIB87otvHwCyT88bjJzr01ahI6rSNFeqnmjKEvDyit3C3RPXEnT70CsgDtHAANttDQHOS3cZsk
	sTtSRfMo2MbN4EYHAnv82XQhZUQu6+PKaJ7swE3jXvFcMBbJZ1Lm0M2II866Al/ikOAg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179802-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179802: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=74c581b6452394e591f13beba9fea2ec0688e2f5
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Mar 2023 17:10:24 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                74c581b6452394e591f13beba9fea2ec0688e2f5
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z   11 days
Failing since        179526  2023-03-10 01:53:40 Z   10 days   18 attempts
Testing same since   179733  2023-03-17 21:10:25 Z    2 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Steve Sistare <steven.sistare@oracle.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Wei Wang <wei.w.wang@intel.com>
  Willem van de Velde <williamvdvelde@gmail.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 17:12:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 17:12:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512033.791612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peJ3c-0001Fa-EV; Mon, 20 Mar 2023 17:12:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512033.791612; Mon, 20 Mar 2023 17:12: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 1peJ3c-0001FT-BJ; Mon, 20 Mar 2023 17:12:28 +0000
Received: by outflank-mailman (input) for mailman id 512033;
 Mon, 20 Mar 2023 17: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=FkzI=7M=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1peJ3b-0001FN-UO
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 17:12:27 +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 62b6cddd-c742-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 18:12:25 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id x3so49534321edb.10
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 10:12:25 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62b6cddd-c742-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679332345;
        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=OGN6e1q74LQ5QCSwzWx/x0h7n+AXpgaDAdt+Y9beFxw=;
        b=TduIEY4FulqwkNzsly48VAc2YnHBventC0+oFJDHznhXB7JKnXmemV3h7CrJ/BNOLG
         OcwUaAzr2YwslVMHQ74Ray9WhDoATGC6iRMGV8CP/ZBciWKp0pDluXtyVel54RRRZINk
         Rt1/2a0y9ZIWV5LI15jxIicVhaGUREbEoGCrn0Cj70ywb2A2ttAyF+x2ysAtS2z3m9CP
         dbzjuGTgJP/Impc5wE0RDSBe2kIUefb+QuqGIebMm0Iai1y4NIyHPuECp4+PFnZxjq79
         ST3o0p2hYrjTuYBbrXy1Huv2DEpqHnVgFVgDEjoPFSVqwoOQdZ6kMV9IKVeytvGA925G
         rqAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679332345;
        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=OGN6e1q74LQ5QCSwzWx/x0h7n+AXpgaDAdt+Y9beFxw=;
        b=MMTAzGvvqP1cNygEPtKXFoR8Z/LVZZimhQ4b0zyoyu867mg5djNipD+6p19k/4y6ci
         ptidwLhKy5L7xFiqWczNP/kYnqZ8+I9DR5PoSfpRL7DN843VdbNZ9OBMG7owUfGYF4mV
         xqg62F1khoMSFxOuoxwR0NBHF3eBwnEOZ7O8rnDAheYTCwnUoObpInPadLbGwmfPpC0A
         wEYdNMb8UFr+pL9Vn7oBiF+ajezS212OZH7E9SNlYcfUf4nCvatHH2WAE/KDkM5+VLFq
         q1/p/ktvnb5VlBnjHhXfZ26O+6gh5oWtPYExxvJhSQqoGMTacAtOP/JClLKHTB+6kxLh
         II/w==
X-Gm-Message-State: AO0yUKXCvkkBUp86WQjNQriM+oV5bEO1Yc+bFHjPhCrk/RLYg3bDVccl
	6kCIufW3te7Xipb81A3aOt172ziz/Xf+lCLsM1s=
X-Google-Smtp-Source: AK7set+y2Ayhl0AQddHC3jf3Mkig6zRhs0nQIwphp8tRgFFr7PmS8d7T/yBQvDF/Z7w/tSmIbzcBZybCsUbUBBnXu30=
X-Received: by 2002:a50:d55d:0:b0:4ad:6052:ee90 with SMTP id
 f29-20020a50d55d000000b004ad6052ee90mr150308edj.7.1679332345189; Mon, 20 Mar
 2023 10:12:25 -0700 (PDT)
MIME-Version: 1.0
References: <20230317111546.18061-1-jgross@suse.com> <20230317111546.18061-3-jgross@suse.com>
In-Reply-To: <20230317111546.18061-3-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 20 Mar 2023 13:12:13 -0400
Message-ID: <CAKf6xpuaXyPqP72QwjaZZM2ana68ZG9kXQyHr9Vd7Y-_1YDV2A@mail.gmail.com>
Subject: Re: [PATCH 2/2] tools/xl: rework p9 config parsing
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, Mar 17, 2023 at 7:16=E2=80=AFAM Juergen Gross <jgross@suse.com> wro=
te:
>
> Rework the config parsing of a p9 device to use the
> split_string_into_pair() function instead of open coding it.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  tools/xl/xl_parse.c | 72 ++++++++++++++++++++++-----------------------
>  1 file changed, 35 insertions(+), 37 deletions(-)
>
> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> index 2f9dfea05c..715e14f95f 100644
> --- a/tools/xl/xl_parse.c
> +++ b/tools/xl/xl_parse.c
> @@ -2111,54 +2111,52 @@ void parse_config_data(const char *config_source,
>
>      if (!xlu_cfg_get_list(config, "p9", &p9devs, 0, 0)) {
>          libxl_device_p9 *p9;
> -        char *security_model =3D NULL;
> -        char *path =3D NULL;
> -        char *tag =3D NULL;
> -        char *backend =3D NULL;
> -        char *p, *p2, *buf2;
>
>          d_config->num_p9s =3D 0;
>          d_config->p9s =3D NULL;
>          while ((buf =3D xlu_cfg_get_listitem (p9devs, d_config->num_p9s)=
) !=3D NULL) {
> +            libxl_string_list pairs;
> +            int len;
> +
>              p9 =3D ARRAY_EXTEND_INIT(d_config->p9s,
>                                     d_config->num_p9s,
>                                     libxl_device_p9_init);
>              libxl_device_p9_init(p9);
>
> -            buf2 =3D strdup(buf);
> -            p =3D strtok(buf2, ",");
> -            if(p) {
> -               do {
> -                  while(*p =3D=3D ' ')
> -                     ++p;
> -                  if ((p2 =3D strchr(p, '=3D')) =3D=3D NULL)
> -                     break;
> -                  *p2 =3D '\0';
> -                  if (!strcmp(p, "security_model")) {
> -                     security_model =3D strdup(p2 + 1);
> -                  } else if(!strcmp(p, "path")) {
> -                     path =3D strdup(p2 + 1);
> -                  } else if(!strcmp(p, "tag")) {
> -                     tag =3D strdup(p2 + 1);
> -                  } else if(!strcmp(p, "backend")) {
> -                     backend =3D strdup(p2 + 1);
> -                  } else {
> -                     fprintf(stderr, "Unknown string `%s' in 9pfs spec\n=
", p);
> -                     exit(1);
> -                  }
> -               } while ((p =3D strtok(NULL, ",")) !=3D NULL);
> -            }
> -            if (!path || !security_model || !tag) {
> -               fprintf(stderr, "9pfs spec missing required field!\n");
> -               exit(1);
> +            split_string_into_string_list(buf, ",", &pairs);
> +            len =3D libxl_string_list_length(&pairs);
> +            for (i =3D 0; i < len; i++) {
> +                char *key, *value;
> +                int rc;
> +
> +                rc =3D split_string_into_pair(pairs[i], "=3D", &key, &va=
lue,
> +                                            isspace);
> +                if (rc !=3D 0) {
> +                    fprintf(stderr, "failed to parse 9pfs configuration:=
 %s",
> +                            pairs[i]);
> +                    exit(1);
> +                }
> +
> +                if (!strcmp(key, "security_model")) {
> +                    replace_string(&p9->security_model, value);
> +                } else if (!strcmp(key, "path")) {
> +                    replace_string(&p9->path, value);
> +                } else if (!strcmp(key, "tag")) {
> +                    replace_string(&p9->tag, value);
> +                } else if (!strcmp(key, "backend")) {
> +                    replace_string(&p9->backend_domname, value);
> +                } else {
> +                    fprintf(stderr, "Unknown 9pfs parameter '%s'\n", key=
);
> +                    exit(1);
> +                }
> +                free(key);
> +                free(value);
>              }
> -            free(buf2);

I think you need libxl_string_list_dispose(&pairs); somewhere around here?

The rest looks good.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 17:50:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 17:50:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512038.791625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peJeU-0005zq-A5; Mon, 20 Mar 2023 17:50:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512038.791625; Mon, 20 Mar 2023 17:50: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 1peJeU-0005zj-6j; Mon, 20 Mar 2023 17:50:34 +0000
Received: by outflank-mailman (input) for mailman id 512038;
 Mon, 20 Mar 2023 17:50: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=xqGy=7M=citrix.com=prvs=436e66757=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1peJeS-0005zd-NX
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 17:50:32 +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 ad9ad99d-c747-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 18:50:29 +0100 (CET)
Received: from mail-dm6nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Mar 2023 13:50:08 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB7125.namprd03.prod.outlook.com (2603:10b6:a03:4e4::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 17:50:03 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 17:50: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: ad9ad99d-c747-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679334629;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=sk4hA6h7Bjyvk3aZ8cSe5deHsiLR8bA3E6PIAMeNHgg=;
  b=IuOqdx+Wxo+FKH5K1QSIgb+PDe9MiTi4Qa5fRcRpQAztt6gzfxGiBryp
   jNLraOwvB+BqZ9Jj3M5EP0nLDwlV4WiEoiWA1EOkw2qGWJH/eQp/pG+NV
   0CCEuWjouQGiwRiSt2cEv3xKuBCybPYrwiQfA7szToZ82tKlGMQoa5bUL
   4=;
X-IronPort-RemoteIP: 104.47.58.108
X-IronPort-MID: 104002259
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:V8ANaKNoW1gOIITvrR2OlsFynXyQoLVcMsEvi/4bfWQNrUp3gmZWy
 WMZWziFMq2DN2ejft5zbNy+9E8G78TXx9c1QQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5ARmPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0shYG1Np9
 +EzEz4yNTCvpvKN2JSSYPY506zPLOGzVG8ekldJ6GiBSNoDH9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PpxujCDpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8eWxX+jANhISezQGvhCunu591MwBQYsaXC6q8TjqkCXecl6J
 BlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wmlx6rZ5kWJC24sS2NZLtchsaceVTEsk
 1OEgd7tLThuq6GOD2KQ8K+OqjG/MjRTKnUNDRLoViMA6tjn5Y020BTGS487FLbv14WlXzbt3
 zqNsS4ywa0JitIG3Lm6+laBhC+wop/OTUg+4QC/sn+Z0z6VrbWNP+SAgWU3J94ZRGpFZjFtZ
 EQ5pvU=
IronPort-HdrOrdr: A9a23:4L5rTqj3u1LApiMOW2a40d7ISnBQX6R23DAbv31ZSRFFG/Fwz/
 re7MjzECWE/Ar5K0tQyuxoWZPwE080kKQf3WB/B8bfYOCLghrQEGgm1/qS/9SCIVyzygc+79
 YeT0EWMrSZZzQU7KaKh3jfLz9j+qj4zEnBv5aR854Hd3AQV0gU1XYFNu/tKDwNeOApP+tAKH
 Op3LsHmxOQPVgHZMGyBn0IRMnEvcDGmajnbxkPGgI95BPLqT+z8rb1HyGC2B0TSSlCzN4ZgA
 v4uj28yrSotvm6zhPG92vL9JRQhfPq19tEA6W3+6woAwSpphejYYxgX7GYnDQtu+Gp9XMjjd
 XKqQdIBbUX11rhOk2lqx7k2w3tyw807W7z7FeEjXzosaXCNVAH4od69MVkmtSw0TtsgDnQu5
 gn40up875sST/QliX04NbFEzlsi0qPuHIn1dUeinROOLFuIIO4+eYkkn99IdMlJmbX+YonGO
 5hAIX3//BNa26XaHjfoy1G3MGsdm5bJGbbfmEy/uiulxRGlnFwyEUVgOYFmG0byZ47Q55Yo8
 zZL6VTkq1URMN+V9MhOA44e7rpNoXxe2OWDIvSGyW+KEg/AQOVl3cj2sRu2AmoEKZ4hafa1q
 6xHyIHiYb1E3ieSfFml6c7gSwle1/NKwgEEKllltpEU43HNfnW2GW4OSITeuub0rAi657gKr
 KO0GQ/OY6oEYMYcbw5lDEX3PJpWCkjuBl/gKdrZ7vJmLOMFmXn29arBco7DICdZgoZZg==
X-IronPort-AV: E=Sophos;i="5.98,276,1673931600"; 
   d="scan'208";a="104002259"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y2TAvtQeZ8WYltUU4bv1ETFmHuVMYvMD7Faepdm7ZX/lJgz1jC/K5Xoq7zf0sQ5W4k+TLHquY0WNsfgnnHifVZ7vFTT4MrO3CGiqaGz/xRGnUv2JaEQKwRoKtVfD5OxKvs1hGIDU7RDfL2pZOYr3Og9iIDS669TmOjJg83zaQKZ9HezFjFP6STOJG+88UnUMGsdOPL38T4vDqItagF+pILcEHEhoAmptrg+d8NCARo+gEqMhYy0REqZVXNcifaAKib1MKZllU4ti5NYyXgK3wMV0WWQwguhYjLzzxJWsFFfWt0YO4aV3b2uROT0K4PeSyjqmUBIou0FnnhF/ZXeskw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FuN1LeBsUXFBsm+OrJGaDhnAvkYG6aUiE64AVMrKfc0=;
 b=Qjz0FNpKA3ReM4HoeqyiBn3fyylSJGo7vdnstweqkr8f8IXJ0EJRyK/UIkde/IlpX1phEz/p2/8/DfSi6PeO6BsMGbGlsAvZ+L0eoYCIE4AEJjDKec1jJKU7L/zKJqq0G8jEGaU2S7w5iLcaYo0Zby07e280/Z+Xy1Rs9XVLY929tqgY/201AgLaYke49T56IquD/EG29NppHrvcLzRC8GDjSfsWiPznIE4kCZSgJrg3wlvgGn4yA5eLCqxXK75lDcsiOq7xu2z4y6OC1h30bXEK9rFykwlRBrsvGMFQG7wv+a3l46Vuc/ennActLoy1nPe7ddrxusc2S06vJZnW+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FuN1LeBsUXFBsm+OrJGaDhnAvkYG6aUiE64AVMrKfc0=;
 b=mQCX5Tef5+C/MG3i8GKmy9ima5Q8rKZhrKz58uT9zcDXsczuN7uWFCkJxs+WBhEx2Oll0U7qT4lqJnopwVXqf2bWoPKBAQ/ub5m9TTXByG0C/sL2HL1LR6jU3SAZ2E2++dk4YzlMkKcbGiAW6JN3emW1q4grWvEt2Au3TcXwJh0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <57438451-920f-2f59-333c-3ed0b5a1558b@citrix.com>
Date: Mon, 20 Mar 2023 17:50:00 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [BUG] x2apic broken with current AMD hardware
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Elliott Mitchell <ehem+xen@m5p.com>
Cc: xen-devel@lists.xenproject.org
References: <ZAiobgH4L0OAS6XP@mattapan.m5p.com>
 <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
 <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
 <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
 <e5b28dae-3699-cb0d-ab7e-42fdd42d3222@suse.com>
 <ZBSi2KfoQXo7hr6z@mattapan.m5p.com>
 <b2eaeacc-de5f-ebe9-a330-fbf9e20626b1@suse.com>
 <a2de5d87-ada8-46b9-090b-00dc43309362@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <a2de5d87-ada8-46b9-090b-00dc43309362@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0065.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:153::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB7125:EE_
X-MS-Office365-Filtering-Correlation-Id: e20bdb03-a53f-4eeb-5626-08db296b87b3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tT2zgiaI58g1xDXebYh40jFlQJOc1ppPbBXrb0NTZhQKyiUI3aSnfSP471IcixERhGMfork2tI3UH+eGcANGqOHySES+6NCT78pnVOSORs93IeuoCi/mSSn5zFBaltwTrd6SL7+BvvsK1JmJcHgABxUfFGuD286AQlQurd2waMD/bzJo8P5RreA7SNsHOamn9bAJ8hCVPsbAdRDgY0lo8jT01FBIEGF2FzKm0ZoyXTFeiWmQ8mjcdjhTIxBht15RpZafMzswYvYENiCkIf858VzWk8DAFaxgnFVAyLS9B8Q0CBpqX2Z32ZTDCOjJY/pJHwBm7uSXw8O2YPwvOcGLXHFjnqgj2YBUkXKcPSSaMN327/teu9bdTauf2Sc+TkNTrpeIxtPBq0v9q9TxQQl2wTvF7YJLiMBOmqz1FMiQUohwKzvFFK6ot4C4UguOciqATHsFu3v9ChnxGV5dvr30x0QMmvqnfx0XowzxjVtT2vpwNdJ818iAYFrsy/Fe3Ux/jCElqhKpk51GLNDvTZxzve9mwrznBShZzG/d5sptI58bqJbx1IpE8pJCYBPGrW00944pl10l625VqBmJvffYF5wsz1k1iV40udSf5Oarr2uq0EfktUV4MDu6fGfAMdY0T3USTCPwCMnbPVP9dpnWVfhk6p+SSIeJdp+7SUWEMjZX98LAaF4YX7hUlbGykJtrO6yNFtCjsAsDLkeoKLoXnLLmNkS/lAT+cbjsrT570eo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(39860400002)(136003)(376002)(396003)(366004)(451199018)(83380400001)(6506007)(6512007)(66476007)(26005)(84970400001)(2616005)(478600001)(186003)(66556008)(66946007)(8676002)(316002)(110136005)(4326008)(53546011)(31686004)(6486002)(5660300002)(41300700001)(8936002)(82960400001)(38100700002)(2906002)(86362001)(31696002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NUV3WmlKMkMyUVhzSXZWbnI1QjQ0bnNJYXBFWE8zVjlSNWNncnhYaWVzWGtz?=
 =?utf-8?B?S2RyOGtIcnkxVlVJNUNOTHdJZyt3VTViZTI4am52NkJkR2dwczY0aVBwUktj?=
 =?utf-8?B?OHR1UHNkRGpYWVBzOHpTYWx1aWx4eEpYWlN3NVRINnhZeG5CbjNyOUdaZ2N3?=
 =?utf-8?B?NHZhc3FKVjR6ZzZBR3ozUXdSTEpvYTFtVE5UVmtYNlNSRW1lTVJzUjFodnV2?=
 =?utf-8?B?SVBLc1ZBV1Z1YUVVcFdac1ZlM1dudnREeVEzRVBnYlRmQlZQU0tzamlyUWVq?=
 =?utf-8?B?ZjJuL1IwK2lzOHk2Vi9FZGFYMm1VeWd2TW5zMTZCQll1WlFTUHZtMlN2Z2Zq?=
 =?utf-8?B?dXVlanZKSlBhbmExK3JaZjQxeitDU0ZDUEJLWDIrNWZBVG54YzNDK0ljeGl6?=
 =?utf-8?B?VmdybDY4WjJ4WTFJR2loUVVaQ1QxQjJHYmVFL1dTN3JOY3N3ZDRRM1JIWnRz?=
 =?utf-8?B?cS83R1l4SE0wL0o0eDBJckcrUWtSV3JrRThsSUEvTFUrMER5MGZsZjZqSnZo?=
 =?utf-8?B?eVlnalBUWmx4aEhuMDh4aEdQQi9hRFpwc3g2ckRPOC9JUVk3ZXFyR1MweHMy?=
 =?utf-8?B?elpZQmZ2Y0pxZjAwRytKczkvRmdpVG5ienJRcTFDaHRzVUQ2NmtLUVBvUTVH?=
 =?utf-8?B?VFZQOWx0WlN1TFF5VFExQjhYQXhlcXBRQXBidFA3LzhVNDdReGxGM0kycEZx?=
 =?utf-8?B?VGtxaEIvMm9WZ05aU2lhdjJ0K0RQU0V0Q3FOak5rVDVqSUVJYzZ0d1F6QktG?=
 =?utf-8?B?ZlpRbmdZbitGZmFwWnVXckUxVkkvM0tsTTRkVnhFRnZjU1UyTnUxWUpXSGhp?=
 =?utf-8?B?czVxaVB2V2hneFY3ak9IYVRHSTZLY2pWRHNsNVFyK3JQQXNjRmFjTCtMM3Vz?=
 =?utf-8?B?dk5oYmd6K3VDTVVEQWJlZDFKQnhnTG45T3AyNzVCNi9xaWVWcS9sejVScjBQ?=
 =?utf-8?B?TTNuTXo3bW9vMnY3R2ovYVYreCt4RlZIMWcraUFJa1NvdGpGNG1QVWlPZ0FM?=
 =?utf-8?B?QUI3M2EzNWNITC9hVmNjTW5naTZUZ1RGQ0cvazdIZHNqeXJ6bGM5N0p6MnFO?=
 =?utf-8?B?cWZXSkpJQzFEQjJ4OXdBbTdVRXptcHNnQ3NpUHkvUXphbEdPMHlNQ2pUeGg0?=
 =?utf-8?B?SElZaHE4Vk5OSnF0VUxDaVhJZWREVjk5V2lvQ3Fkb2JWeDY0ZDhKSkcxQWtO?=
 =?utf-8?B?K1NVZFdEUzBSTnI4cW9Fc2FGbW9aMU95TDBxcUJXMHM5R1EvTEdBZXhzRHE5?=
 =?utf-8?B?OEZPOStidkxpWnhyWjVGbFpKU2cyL0xDQ3JMVUZaUkxZNGE4Tk4xVFdDNmlk?=
 =?utf-8?B?MWt4RUVVU3RITG9xOFRTWGNDSCs3UGtuVGR2ZHJaTzRyZklSK2JTTlNXOHVE?=
 =?utf-8?B?YWdqekVNUCtPVzg0T0g5VEFEMEcyc0hiMkpObGcvb1JzeCtsc2J2NGtRZFdP?=
 =?utf-8?B?Y2s3aW1iakkzN2V1K0lOQ0lkdUd2eVlFZC8zZHBGaXE5WEpVR0x6SHJOcVJW?=
 =?utf-8?B?NThzR29PbTZmbVJNVERCdXdrZGQ1VmRwSVZUTFRPd2d3U05UMG1mM3dXYW9H?=
 =?utf-8?B?K3JXTTF4azBtcUlTQVVkeXMzMi9pNlFqZk9vZGtpWUc4eDFXUkF2d2o2K2Iz?=
 =?utf-8?B?VTJYN0dEZy9lVHAvclBtSFRnL1R4RElxeTlyd3VoRjF6NytPOWJVanNrUlo1?=
 =?utf-8?B?TWdja3B0Z3JYNU9lMWpXNHpkQkNoeUxidjZqUTM2c1IvNjhWUW5ZRHIvdmJI?=
 =?utf-8?B?ZUg5ZUFrQ0ZNT3RlNTRZN0tWSVdiVnR0UE9BemR4Y3lLd05MODNRd2UzRmlR?=
 =?utf-8?B?MnNkQjQxa3lwZHVEN2E5ejBpanBFam1UdTVkYUpXYWZIU0V0RWpUZ1NXWmtk?=
 =?utf-8?B?dlBKQ1BrdjBMYkVhRGxTcDR3cEtSUkRySXJORTIrNnpQTjBoZDRHSXl3cksr?=
 =?utf-8?B?b2Y0bkQ2bjNla2FIKzRva1dqVFd4WmpqVGdWM1JvbVREelBIOEQrM1BINGo3?=
 =?utf-8?B?aStncEtPODZ4dTQ5Si9TcWRrWjFsNzVFbzNxaDJkZC83RTVheWZJbXJ1NVVS?=
 =?utf-8?B?bnMvUjRzR0lQajl1YnFPclBUWXRoazJoSUdWbDFNempTdUxoc2lremErd1JP?=
 =?utf-8?B?Z0pTaUp6RGZxbFZHdGpFUEtqK01KdzN4THc3Z2wwSkVJRENEdDBqYitMMERl?=
 =?utf-8?B?MkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	MmaSOFztW/3vRfD1+DCy6Yl5n6TvvRx1viG9caN6GN/NpcFHNII+zZNC8AZlJ67NsulzDbFOpqfEvg6PVtPVS8GXW4V476j9/CdAiCRXB8K+3ZMS75Zf/LmSmquh+Z2DFMYKmuXey+zNeNVs46mQT0fU/GyKOf0B/pskHY9uNx8vgY1f+NVfuD5o2RCUXxE+1Jrxgffj5Lyj5iT1F16iaWUxWvq8HgtwsXeaRL3fhUflmTttw6+nBaPFFLrvlx1cn3ztbskYbZec9jmzrTboConCHSpUOl3/g1xYKltjV3c2EDhHmUXgrPQyMwgHq3TvY0e9/HW2cT8kAG/KTfCNgakoBJRHhv62wnV8MftxlzRECku3lG+/LPKm+EsIWzZz0J3Foninq0wmvHLQd38j02Z3bsqSHk9fIzLigkE6pGvTWXyJK5rOWRWm5dnwQvoUMZDfNy9YLjRiLYi35mwqRfZZHLC7fduAaP0JvQbFn6Wb//Jvq9drLBU1aENnSj1bR5/DpWdXeu9Q2Il74xoDiSxEjjrfDI++uvHvg2ahUUinJOtGJE8YOfxPZXO8wMXhIfFnEs3IQ5ZS+BZa3Dw7e4TruC4YozSaznNdOryzEalLlDODVGlcfeftM2bGqPwXK7iVKFlA29MN/w8GoLHMTh6rnXPnjE75DbvdVOp33FjWJiN2QVk3xcRIiSAOFUHhpdgqNYQEcC1UXnFZoC2/5sxJkNIdIehmR2ewiepgOt3YYiJblUWi5CIYTA6BluUB3V/e3EXyZQlmdQTcGhLkQYfoNu9cEgGhXVe5YwOYqtISQSygCy1iRqndtaYgp1uj
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e20bdb03-a53f-4eeb-5626-08db296b87b3
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 17:50:02.8910
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: unhC1sYQFfahWjSUd8o2xDqpMgU90sNi4RTT34QVBmmea/HjR0MTSrEPSOAEb5h1+BqHRlU/Z67ZydXQD2QRAwnQ2eLxZKSJmkE+WMckiDo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7125

On 20/03/2023 8:28 am, Jan Beulich wrote:
> On 20.03.2023 09:14, Jan Beulich wrote:
>> On 17.03.2023 18:26, Elliott Mitchell wrote:
>>> On Fri, Mar 17, 2023 at 09:22:09AM +0100, Jan Beulich wrote:
>>>> On 16.03.2023 23:03, Elliott Mitchell wrote:
>>>>> On Mon, Mar 13, 2023 at 08:01:02AM +0100, Jan Beulich wrote:
>>>>>> On 11.03.2023 01:09, Elliott Mitchell wrote:
>>>>>>> On Thu, Mar 09, 2023 at 10:03:23AM +0100, Jan Beulich wrote:
>>>>>>>> In any event you will want to collect a serial log at maximum verbosity.
>>>>>>>> It would also be of interest to know whether turning off the IOMMU avoids
>>>>>>>> the issue as well (on the assumption that your system has less than 255
>>>>>>>> CPUs).
>>>>>>> I think I might have figured out the situation in a different fashion.
>>>>>>>
>>>>>>> I was taking a look at the BIOS manual for this motherboard and noticed
>>>>>>> a mention of a "Local APIC Mode" setting.  Four values are listed
>>>>>>> "Compatibility", "xAPIC", "x2APIC", and "Auto".
>>>>>>>
>>>>>>> That is the sort of setting I likely left at "Auto" and that may well
>>>>>>> result in x2 functionality being disabled.  Perhaps the x2APIC
>>>>>>> functionality on AMD is detecting whether the hardware is present, and
>>>>>>> failing to test whether it has been enabled?  (could be useful to output
>>>>>>> a message suggesting enabling the hardware feature)
>>>>>> Can we please move to a little more technical terms here? What is "present"
>>>>>> and "enabled" in your view? I don't suppose you mean the CPUID bit (which
>>>>>> we check) and the x2APIC-mode-enable one (which we drive as needed). It's
>>>>>> also left unclear what the four modes of BIOS operation evaluate to. Even
>>>>>> if we knew that, overriding e.g. "Compatibility" (which likely means some
>>>>>> form of "disabled" / "hidden") isn't normally an appropriate thing to do.
>>>>>> In "Auto" mode Xen likely should work - the only way I could interpret the
>>>>>> the other modes are "xAPIC" meaning no x2APIC ACPI tables entries (and
>>>>>> presumably the CPUID bit also masked), "x2APIC" meaning x2APIC mode pre-
>>>>>> enabled by firmware, and "Auto" leaving it to the OS to select. Yet that's
>>>>>> speculation on my part ...
>>>>> I provided the information I had discovered.  There is a setting for this
>>>>> motherboard (likely present on some similar motherboards) which /may/
>>>>> effect the issue.  I doubt I've tried "compatibility", but none of the
>>>>> values I've tried have gotten the system to boot without "x2apic=false"
>>>>> on Xen's command-line.
>>>>>
>>>>> When setting to "x2APIC" just after "(XEN) AMD-Vi: IOMMU Extended Features:"
>>>>> I see the line "(XEN) - x2APIC".  Later is the line
>>>>> "(XEN) x2APIC mode is already enabled by BIOS."  I'll guess "Auto"
>>>>> leaves the x2APIC turned off since neither line is present.
>>>> When "(XEN) - x2APIC" is absent the IOMMU can't be switched into x2APIC
>>>> mode. Are you sure that's the case when using "Auto"?
>>> grep -eAPIC\ driver -e-\ x2APIC:
>>>
>>> "Auto":
>>> (XEN) Using APIC driver default
>>> (XEN) Overriding APIC driver with bigsmp
>>> (XEN) Switched to APIC driver x2apic_cluster
>>>
>>> "x2APIC":
>>> (XEN) Using APIC driver x2apic_cluster
>>> (XEN) - x2APIC
>>>
>>> Yes, I'm sure.
>> Okay, this then means we're running in a mode we don't mean to run
>> in: When the IOMMU claims to not support x2APIC mode (which is odd in
>> the first place when at the same time the CPU reports x2APIC mode as
>> supported), amd_iommu_prepare() is intended to switch interrupt
>> remapping mode to "restricted" (which in turn would force x2APIC mode
>> to "physical", not "clustered"). I notice though that there are a
>> number of error paths in the function which bypass this setting. Could
>> you add a couple of printk()s to understand which path is taken (each
>> time; the function can be called more than once)?
> I think I've spotted at least one issue. Could you give the patch below
> a try please? (Patch is fine for master and 4.17 but would need context
> adjustment for 4.16.)
>
> Jan
>
> AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode
>
> An earlier change with the same title (commit 1ba66a870eba) altered only
> the path where x2apic_phys was already set to false (perhaps from the
> command line). The same of course needs applying when the variable
> wasn't modified yet from its initial value.
>
> Reported-by: Elliott Mitchell <ehem+xen@m5p.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

I think it's worth saying that for diagnosing purposes, if
x2apic_phys=true also resolves the issue, then it is likely related to this.

~Andrew

>
> --- unstable.orig/xen/arch/x86/genapic/x2apic.c
> +++ unstable/xen/arch/x86/genapic/x2apic.c
> @@ -236,11 +236,11 @@ const struct genapic *__init apic_x2apic
>      if ( x2apic_phys < 0 )
>      {
>          /*
> -         * Force physical mode if there's no interrupt remapping support: The
> -         * ID in clustered mode requires a 32 bit destination field due to
> +         * 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 ||
> +        x2apic_phys = iommu_intremap != iommu_intremap_full ||
>                        (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
>                        (IS_ENABLED(CONFIG_X2APIC_PHYSICAL) &&
>                         !(acpi_gbl_FADT.flags & ACPI_FADT_APIC_CLUSTER));
>
>
>



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 17:51:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 17:51:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512039.791635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peJew-0006Ra-JX; Mon, 20 Mar 2023 17:51:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512039.791635; Mon, 20 Mar 2023 17: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 1peJew-0006RT-GP; Mon, 20 Mar 2023 17:51:02 +0000
Received: by outflank-mailman (input) for mailman id 512039;
 Mon, 20 Mar 2023 17:51: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 1peJeu-0006Ot-Sf; Mon, 20 Mar 2023 17:51: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 1peJeu-0002Vx-ON; Mon, 20 Mar 2023 17:51: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 1peJeu-0003q8-8Y; Mon, 20 Mar 2023 17:51:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1peJeu-00005l-83; Mon, 20 Mar 2023 17:51: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=6KUJ1NShm/XxfvoXudUZ+KI0m6LS8CZuXln2iosUaTg=; b=zD6YPEgXrxM6G4DfpZVztLlQLZ
	UOyJw2QeJ8U1c3XzqC7UGhdt2iDdfbqsLZfqkWh6LJ8sR24sf/p4ypM2Tvh1ENr0m/3tEHThgMsLc
	EQfPHJQlvXnGTyKGsVgiqp4eGdxQrm1nt35i+1x61HZuh4voKS27bPmtlMmVtrvQ9PKc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179805-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179805: regressions - trouble: blocked/fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:build-arm64:xen-build:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:build-i386-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-saverestore:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:nested-setup:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    linux-linus:test-arm64-arm64-xl-xsm: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-examine:build-check(1):blocked:nonblocking
    linux-linus:build-arm64-libvirt: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-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-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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=e8d018dd0257f744ca50a729e3d042cf2ec9da65
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Mar 2023 17:51:00 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 18 guest-localmigrate      fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 19 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 18 guest-start/debianhvm.repeat fail REGR. vs. 178042
 build-arm64                   6 xen-build                fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 build-i386-pvops              6 kernel-build             fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-amd64-amd64-xl       17 guest-saverestore fail in 179791 REGR. vs. 178042
 test-amd64-amd64-xl-shadow 20 guest-localmigrate/x10 fail in 179791 REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 27 guest-migrate/dst_host/src_host fail in 179791 REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail in 179791 REGR. vs. 178042
 build-arm64-pvops             6 kernel-build   fail in 179791 REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 16 guest-saverestore fail in 179797 REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 16 guest-saverestore fail in 179797 REGR. vs. 178042
 test-amd64-coresched-amd64-xl 17 guest-saverestore fail in 179797 REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 13 nested-setup fail in 179797 REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 17 guest-saverestore.2 fail in 179797 REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start    fail in 179797 REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 13 guest-stop fail in 179797 REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start    fail in 179797 REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start    fail in 179797 REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop     fail in 179797 REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail in 179797 REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 179797 REGR. vs. 178042
 test-arm64-arm64-xl-vhd   12 debian-di-install fail in 179797 REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install fail in 179797 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-xsm 14 guest-start      fail in 179791 pass in 179805
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 15 guest-saverestore fail in 179791 pass in 179805
 test-amd64-amd64-xl-credit2 20 guest-localmigrate/x10 fail in 179797 pass in 179791
 test-amd64-amd64-xl-credit1 17 guest-saverestore fail in 179797 pass in 179805
 test-amd64-amd64-xl-xsm      14 guest-start      fail in 179797 pass in 179805
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start     fail in 179797 pass in 179805
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2 fail in 179797 pass in 179805
 test-amd64-amd64-xl-rtds     14 guest-start      fail in 179797 pass in 179805
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail in 179797 pass in 179805
 test-amd64-amd64-xl-multivcpu 14 guest-start     fail in 179797 pass in 179805
 test-amd64-amd64-xl-shadow   17 guest-saverestore          fail pass in 179791
 test-amd64-amd64-xl          14 guest-start                fail pass in 179791
 test-amd64-amd64-libvirt-pair 25 guest-start/debian        fail pass in 179791
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail pass in 179791
 test-amd64-amd64-freebsd12-amd64 13 guest-start            fail pass in 179797
 test-amd64-amd64-freebsd11-amd64 13 guest-start            fail pass in 179797
 test-amd64-amd64-xl-credit2  17 guest-saverestore          fail pass in 179797
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 16 guest-localmigrate fail pass in 179797
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install  fail pass in 179797
 test-amd64-coresched-amd64-xl 14 guest-start               fail pass in 179797
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail pass in 179797
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail pass in 179797

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail in 179791 REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 179791 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-examine      1 build-check(1)               blocked  n/a
 build-arm64-libvirt           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-credit2 15 migrate-support-check fail in 179797 never pass
 test-arm64-arm64-xl-credit2 16 saverestore-support-check fail in 179797 never pass
 test-arm64-arm64-xl-credit1 15 migrate-support-check fail in 179797 never pass
 test-arm64-arm64-xl-credit1 16 saverestore-support-check fail in 179797 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                e8d018dd0257f744ca50a729e3d042cf2ec9da65
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   27 days
Failing since        178093  2023-02-22 05:02:47 Z   26 days   51 attempts
Testing same since   179791  2023-03-19 20:40:14 Z    0 days    3 attempts

------------------------------------------------------------
2198 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                                                  fail    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             fail    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 17:59:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 17:59:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512049.791648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peJnN-0007Nr-Ot; Mon, 20 Mar 2023 17:59:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512049.791648; Mon, 20 Mar 2023 17: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 1peJnN-0007Nk-MC; Mon, 20 Mar 2023 17:59:45 +0000
Received: by outflank-mailman (input) for mailman id 512049;
 Mon, 20 Mar 2023 17:59:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UDcb=7M=gmail.com=rjwysocki@srs-se1.protection.inumbo.net>)
 id 1peJnM-0007Ne-B8
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 17:59:44 +0000
Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com
 [209.85.208.43]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd179840-c748-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 18:59:41 +0100 (CET)
Received: by mail-ed1-f43.google.com with SMTP id o12so50122717edb.9
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 10:59: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: fd179840-c748-11ed-b464-930f4c7d94ae
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679335181;
        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=a7sGwAEHU4rAw3qBsGFuv5yZFvS6onzoI7msIxY22vg=;
        b=NDXcFQrHCteELZJwWPHeicfk20QefuNBUqcrpUiDdTiF37j1S8QjR5rpr9bfDjyMrL
         OCbUF8cdn4K2XPslt20+iLDZY8oDST9++0DhV/WRv1jzash1hE0vF0fLcIic04dq9nXL
         qDknyDyHaNS4dzKb7P7RTgq7zJfMLdAsoMkzpR2Vq1DQ73VXiR5oPwPklQ0JUCCWpcfc
         7Y5EgjalFwAcP0Wm8Hlipu8pCq93ePI5X/AAmIYU9kjdq4cf4x4CWfjFDJlvtKYPybDr
         H/97ze3ZVkAb5IBWqBZUt5M2KrkrUG6CPwxFMhIHdyExBtGiQo/VVg5e5cfmnPr5M6W6
         rjsQ==
X-Gm-Message-State: AO0yUKXttYivAiNblWjLHy1V+Cr/u9JrJijy6P7LzyKwU+xST9X/ndRx
	pi3lFzLdq5RKSyt9ChTuXnLeAhZkXnAbL5T0w+E=
X-Google-Smtp-Source: AK7set/in7G2WHAmc6rnFdSqsx1ce37uXlEGwdE3zMTPqOaxqAVJfdLtNMLdGm8j32jUt5evhqvSJZnucvSipaxI6fw=
X-Received: by 2002:a50:8d04:0:b0:4fc:ebe2:2fc9 with SMTP id
 s4-20020a508d04000000b004fcebe22fc9mr223808eds.3.1679335181185; Mon, 20 Mar
 2023 10:59:41 -0700 (PDT)
MIME-Version: 1.0
References: <20230316164257.42590-1-roger.pau@citrix.com> <17ffe417-8ea0-df98-a8b7-8c370839134f@suse.com>
In-Reply-To: <17ffe417-8ea0-df98-a8b7-8c370839134f@suse.com>
From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: Mon, 20 Mar 2023 18:59:30 +0100
Message-ID: <CAJZ5v0i-RGRQbkVFu0RUyhPrsbiJ1DpAM0rKU-xM4U3Yddvufg@mail.gmail.com>
Subject: Re: [PATCH v4] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
To: Juergen Gross <jgross@suse.com>, Roger Pau Monne <roger.pau@citrix.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
	josef@oderland.se, Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
	Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, 
	Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>, Alex Chiang <achiang@hp.com>, 
	linux-acpi@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Mar 17, 2023 at 1:42=E2=80=AFPM Juergen Gross <jgross@suse.com> wro=
te:
>
> On 16.03.23 17:42, Roger Pau Monne wrote:
> > In ACPI systems, the OS can direct power management, as opposed to the
> > firmware.  This OS-directed Power Management is called OSPM.  Part of
> > telling the firmware that the OS going to direct power management is
> > making ACPI "_PDC" (Processor Driver Capabilities) calls.  These _PDC
> > methods must be evaluated for every processor object.  If these _PDC
> > calls are not completed for every processor it can lead to
> > inconsistency and later failures in things like the CPU frequency
> > driver.
> >
> > In a Xen system, the dom0 kernel is responsible for system-wide power
> > management.  The dom0 kernel is in charge of OSPM.  However, the
> > number of CPUs available to dom0 can be different than the number of
> > CPUs physically present on the system.
> >
> > This leads to a problem: the dom0 kernel needs to evaluate _PDC for
> > all the processors, but it can't always see them.
> >
> > In dom0 kernels, ignore the existing ACPI method for determining if a
> > processor is physically present because it might not be accurate.
> > Instead, ask the hypervisor for this information.
> >
> > Fix this by introducing a custom function to use when running as Xen
> > dom0 in order to check whether a processor object matches a CPU that's
> > online.  Such checking is done using the existing information fetched
> > by the Xen pCPU subsystem, extending it to also store the ACPI ID.
> >
> > This ensures that _PDC method gets evaluated for all physically online
> > CPUs, regardless of the number of CPUs made available to dom0.
> >
> > Fixes: 5d554a7bb064 ('ACPI: processor: add internal processor_physicall=
y_present()')
> > Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
>
> Reviewed-by: Juergen Gross <jgross@suse.com>

Applied as 6.4 material under a slightly edited subject, thanks!


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 18:11:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 18:11:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512058.791661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peJyh-0001Vd-QK; Mon, 20 Mar 2023 18:11:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512058.791661; Mon, 20 Mar 2023 18: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 1peJyh-0001VW-NY; Mon, 20 Mar 2023 18:11:27 +0000
Received: by outflank-mailman (input) for mailman id 512058;
 Mon, 20 Mar 2023 18:11: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 1peJyg-0001VN-3n
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 18:11: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 1peJyc-0003Av-9K; Mon, 20 Mar 2023 18:11:22 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.17.111]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1peJyc-000430-2A; Mon, 20 Mar 2023 18:11: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=UwjuBidChx0Z7MpRJ7V+++PDtlGWZdl8Riz1mFgubiM=; b=0xr2OvVtjJ+3IoDbAuFNG6WzDd
	QdN/JBn+h4l4Gs2hBBJ26BSDT7m3mR/KFwC2IsXb42xj0p9FrAbCk6hI3in52cajvdR3INygZzkfi
	aIKzKKcJYJPCJfvbhf/b/h1PiuVcs+3bUh9JwOIfJZoUb33SlSGxDWtL02pp9IsJOMzk=;
Message-ID: <c870f9dd-797d-095d-9bd2-5869bc6193ad@xen.org>
Date: Mon, 20 Mar 2023 18:11:18 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [XEN PATCH v3] x86/monitor: Add new monitor event to catch I/O
 instructions
Content-Language: en-US
To: Dmitry Isaykin <isaikin-dmitry@yandex.ru>, xen-devel@lists.xenproject.org
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>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Anton Belousov <abelousov@ptsecurity.com>
References: <858e4c67d14ec9d9c6737dd0b33056e3610c00f6.1679054228.git.isaikin-dmitry@yandex.ru>
From: Julien Grall <julien@xen.org>
In-Reply-To: <858e4c67d14ec9d9c6737dd0b33056e3610c00f6.1679054228.git.isaikin-dmitry@yandex.ru>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 17/03/2023 12:01, Dmitry Isaykin wrote:
> diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
> index 51be28c3de..7280e9f968 100644
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -1063,6 +1063,7 @@ struct xen_domctl_psr_cmt_op {
>   /* Enabled by default */
>   #define XEN_DOMCTL_MONITOR_EVENT_INGUEST_PAGEFAULT     11
>   #define XEN_DOMCTL_MONITOR_EVENT_VMEXIT                12
> +#define XEN_DOMCTL_MONITOR_EVENT_IO                    13
>   
>   struct xen_domctl_monitor_op {
>       uint32_t op; /* XEN_DOMCTL_MONITOR_OP_* */
> diff --git a/xen/include/public/vm_event.h b/xen/include/public/vm_event.h
> index 0035c26e12..1e4b6063f5 100644
> --- a/xen/include/public/vm_event.h
> +++ b/xen/include/public/vm_event.h
> @@ -160,6 +160,8 @@
>   #define VM_EVENT_REASON_EMUL_UNIMPLEMENTED      14
>   /* VMEXIT */
>   #define VM_EVENT_REASON_VMEXIT                  15
> +/* IN/OUT Instruction executed */
> +#define VM_EVENT_REASON_IO_INSTRUCTION          16
>   
>   /* Supported values for the vm_event_write_ctrlreg index. */
>   #define VM_EVENT_X86_CR0    0
> @@ -388,6 +390,13 @@ struct vm_event_vmexit {
>       } arch;
>   };
>   
> +struct vm_event_io {
> +    uint32_t data_size;
> +    uint16_t port;
> +    uint8_t  dir; /* IOREQ_READ or IOREQ_WRITE */
> +    uint8_t  string_ins;
It would be good to comment what the value is meant to be? Is it 0 and 1 
(extra meaning to be confirmed) with the other values reserved for 
future purpose?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 18:21:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 18:21:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512062.791671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peK80-00036a-N9; Mon, 20 Mar 2023 18:21:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512062.791671; Mon, 20 Mar 2023 18:21: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 1peK80-00036T-IG; Mon, 20 Mar 2023 18:21:04 +0000
Received: by outflank-mailman (input) for mailman id 512062;
 Mon, 20 Mar 2023 18:21: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=xqGy=7M=citrix.com=prvs=436e66757=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1peK7y-000367-Mh
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 18:21: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 f52cc2e3-c74b-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 19:20: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: f52cc2e3-c74b-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679336459;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=ewB48VVVTqCfeKXnvd51+6AIJ1OC9YPhA6YX0qasxSI=;
  b=JTljJy2VeVa7GIpnDpSMgwFp4l7Zcwvc5rpwrNHeVugOaR/TZLfxjUJR
   A9WHK6srMRxL0vLNAQ0BPYzWO3GGkLEw578+4i6dXCjeDZMoESlzsJolD
   nhtb/i8/cHFD6P0g21avUGchpmaeMW9k3Y1fj68T+db5CTWS12AZeXVfX
   8=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 102000891
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:s0hAPq6EESZUaL0TGCG1tgxRtFbHchMFZxGqfqrLsTDasY5as4F+v
 jMfUT+HM/uONzDyKNlyaI6wpEgB6J7Xy4BrGQBl/nxnHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasR5AeH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m6
 +YkNWAVfgy6hv/u/emLWO51gNZyFZy+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrlD5fydVtxS+oq0v7nKI5AdwzKLsIJzefdniqcB9xx7C/
 jqerzWgav0cHP3ClQOc8FyLvL7SmA/0RNwDG5qo1PE/1TV/wURMUUZLBDNXu8KRlUqWS99Zb
 UsO9UIGrqUs9UrtUtj0WTW5pmKJulgXXN84O/037kSBx7TZ5y6dB3MYVXhRZdo+rsg0SDc2k
 FiTkLvBJxZirbmUQnK17aqPoHW5Pi19EIMZTXZaF01fuYCl+dxtyEuVFb6PDZJZkPXrAw3tk
 yiasBE/mu0u1v4Z0Ly97wH+1mfESofycuIl2unGdjv7sVIhPtP9ONzABUvztqgZctvAJrWVl
 D1dwpXFsrhTZX2YvHbVKNjhCo1F8Bps3Nf0pVd0V6cs+D22k5JIVdABuWouTKuF3yttRNMIX
 KMwkVkLjHOrFCH2BZKbmb5d9uxwlfSwfTgaahwkRoUXOcUgHON21CpveVSRzwjQraTYqolmY
 c3zWZ/1XR4n5VFPkGLeb/0DyoUi2i1W7TqVHfgXOTz7i+vBDJNUIJ9ZWGazghcRtf3U+VqJq
 I0BbKNnCXx3CYXDX8UeyqZLRXhiEJTxLcqeRxB/HgJbHjdbJQ==
IronPort-HdrOrdr: A9a23:4F9A+aFzr2eqgFxPpLqEOceALOsnbusQ8zAXPidKOH5om62j5q
 OTdZEgvnXJYVkqNU3I5urwX5VoLUmxyXcX2+ks1NWZMjUO0VHARL2KhrGC/9SPIULDH+dmpM
 FdWrk7ANniSUJ8l4L/7BOjG9gthNmLmZrY4Nv23jNkSRIvcaZ7qx1kARyQCU1uWQlBAt4wD5
 303Lsimwad
X-IronPort-AV: E=Sophos;i="5.98,276,1673931600"; 
   d="scan'208";a="102000891"
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>, Kevin Tian
	<kevin.tian@intel.com>
Subject: [PATCH] x86/vmx: Provide named fields for IO exit qualification
Date: Mon, 20 Mar 2023 18:20:52 +0000
Message-ID: <20230320182052.1831486-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 removes most of the opencoded bit logic on the exit qualification.
Unfortunately, size is 1-based not 0-based, so need adjusting in a separate
variable.

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: Kevin Tian <kevin.tian@intel.com>
---
 xen/arch/x86/hvm/vmx/vmx.c | 30 ++++++++++++++++++++++--------
 1 file changed, 22 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 00b531f76cbf..a96c601efded 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4560,23 +4560,37 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         break;
 
     case EXIT_REASON_IO_INSTRUCTION:
-        __vmread(EXIT_QUALIFICATION, &exit_qualification);
-        if ( exit_qualification & 0x10 )
+    {
+        union {
+            unsigned long raw;
+            struct {
+                uint32_t size:3;
+                bool     in:1;
+                bool     str:1;
+                bool     rep:1;
+                bool     imm:1;
+                uint32_t :9;
+                uint16_t port;
+            };
+        } io_qual;
+        unsigned int bytes;
+
+        __vmread(EXIT_QUALIFICATION, &io_qual.raw);
+        bytes = io_qual.size + 1;
+
+        if ( io_qual.str )
         {
-            /* INS, OUTS */
             if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
                 hvm_inject_hw_exception(TRAP_gp_fault, 0);
         }
         else
         {
-            /* IN, OUT */
-            uint16_t port = (exit_qualification >> 16) & 0xFFFF;
-            int bytes = (exit_qualification & 0x07) + 1;
-            int dir = (exit_qualification & 0x08) ? IOREQ_READ : IOREQ_WRITE;
-            if ( handle_pio(port, bytes, dir) )
+            if ( handle_pio(io_qual.port, bytes,
+                            io_qual.in ? IOREQ_READ : IOREQ_WRITE) )
                 update_guest_eip(); /* Safe: IN, OUT */
         }
         break;
+    }
 
     case EXIT_REASON_INVD:
     case EXIT_REASON_WBINVD:
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 18:39:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 18:39:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512066.791684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peKPj-0004vK-8h; Mon, 20 Mar 2023 18:39:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512066.791684; Mon, 20 Mar 2023 18: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 1peKPj-0004vD-5u; Mon, 20 Mar 2023 18:39:23 +0000
Received: by outflank-mailman (input) for mailman id 512066;
 Mon, 20 Mar 2023 18:39:21 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z4LM=7M=tklengyel.com=bounce+e181d6.cd840-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1peKPh-0004v7-Lu
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 18:39:21 +0000
Received: from rs227.mailgun.us (rs227.mailgun.us [209.61.151.227])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 859ddeac-c74e-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 19:39:19 +0100 (CET)
Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com
 [209.85.128.177]) by
 88001cc23a1c with SMTP id 6418a854061a559e84d33861 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 20 Mar 2023 18:39:16 GMT
Received: by mail-yw1-f177.google.com with SMTP id
 00721157ae682-544787916d9so239634527b3.13
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 11:39: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
X-Inumbo-ID: 859ddeac-c74e-11ed-b464-930f4c7d94ae
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=tklengyel.com;
 q=dns/txt; s=mailo; t=1679337556; x=1679344756; h=Content-Type: Cc: To: To:
 Subject: Subject: Message-ID: Date: From: From: In-Reply-To: References:
 MIME-Version: Sender: Sender;
 bh=hrDp51DhFoX/YZk/0G0Jzcc7Cdfae+rRAMlZRhBZKec=;
 b=TLaQL98yuivPyr5h5Y8IVKn4dWEUKCDbThKYnnHZRBebfZJX1DiBZzhFITE8svjthgcHZwIdAQ0Ojfna/Ytvb95hB5o5BJjKW5uGld/LIjW42rFEs5BWXyvIPv3ONgielMqjp2I3kx2+6tQMYg05QMtidEzHUfcd+wDguPvBd9if3ob92EWG85SWivsgOs0L+k50shyikFgEpYdBmul7x5q9sTy5rLkC6x4T1SGk5rVohHnXIPVd5pg3UuOECiMqaPIQG8DoZYmTyiXvMjvx6+gswtvfwrbErpO5bKP7BsHpPuQ0/umTLz7B7D/uv0G/gFteN8OTRdCFUSgv6J2BYw==
X-Mailgun-Sending-Ip: 209.61.151.227
X-Mailgun-Sid: WyIyYTNmOCIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsImNkODQwIl0=
Sender: tamas@tklengyel.com
X-Gm-Message-State: AO0yUKUcwSX7CYUV0wSpWGYt5iOK+B6uu0FSObPJWxsF+o13tVLJz9Uf
	DI/MMls7UdCGoM1YYFpZDA4cE/ExkneFNizCbsE=
X-Google-Smtp-Source: AK7set+teOTIitWntHCNKc8hIZreEClezJzRgGX6bocZI9eevsFe0hPJ0YEETDGnfQaCb7TBR1PKf5ha+qyQDzNSzXY=
X-Received: by 2002:a81:4302:0:b0:541:7266:3fd7 with SMTP id
 q2-20020a814302000000b0054172663fd7mr10045070ywa.3.1679337556022; Mon, 20 Mar
 2023 11:39:16 -0700 (PDT)
MIME-Version: 1.0
References: <858e4c67d14ec9d9c6737dd0b33056e3610c00f6.1679054228.git.isaikin-dmitry@yandex.ru>
 <8aeee329-460f-0f79-a381-2dd0559e01d6@suse.com>
In-Reply-To: <8aeee329-460f-0f79-a381-2dd0559e01d6@suse.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Mon, 20 Mar 2023 18:38:39 -0400
X-Gmail-Original-Message-ID: <CABfawhnWGezKs5YmH=KkrLVVJgrRKLJtDi_9oFKGE7wzPYeDqA@mail.gmail.com>
Message-ID: <CABfawhnWGezKs5YmH=KkrLVVJgrRKLJtDi_9oFKGE7wzPYeDqA@mail.gmail.com>
Subject: Re: [XEN PATCH v3] x86/monitor: Add new monitor event to catch I/O instructions
To: Jan Beulich <jbeulich@suse.com>
Cc: Dmitry Isaykin <isaikin-dmitry@yandex.ru>, 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>, 
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, 
	Anton Belousov <abelousov@ptsecurity.com>, xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000007c1ffd05f7593ef7"

--0000000000007c1ffd05f7593ef7
Content-Type: text/plain; charset="UTF-8"

> Are you actually sure you want to tie the vm-event interface to the ioreq
> one (this is also a question to you, Tamas)? It would look slightly better
> to me if this was a simple boolean named after its purpose (e.g. "write"
> or "out" when it's meant to be set for OUT / OUTS and clear for IN / INS).

A boolean would be preferred indeed.

Tamas

--0000000000007c1ffd05f7593ef7
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br>&gt; Are you actually sure you want to tie the vm-even=
t interface to the ioreq<br>&gt; one (this is also a question to you, Tamas=
)? It would look slightly better<br>&gt; to me if this was a simple boolean=
 named after its purpose (e.g. &quot;write&quot;<br>&gt; or &quot;out&quot;=
 when it&#39;s meant to be set for OUT / OUTS and clear for IN / INS).<br><=
div><br></div><div>A boolean would be preferred indeed.</div><div><br></div=
><div>Tamas<br></div></div>

--0000000000007c1ffd05f7593ef7--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 18:42:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 18:42:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512069.791693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peKSH-0006If-MV; Mon, 20 Mar 2023 18:42:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512069.791693; Mon, 20 Mar 2023 18:42:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peKSH-0006IY-Jh; Mon, 20 Mar 2023 18:42:01 +0000
Received: by outflank-mailman (input) for mailman id 512069;
 Mon, 20 Mar 2023 18:42:00 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QJTx=7M=gmail.com=shentey@srs-se1.protection.inumbo.net>)
 id 1peKSG-0006IO-2H
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 18:42:00 +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 e48e5c41-c74e-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 19:41:57 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id cy23so50505840edb.12
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 11:41:57 -0700 (PDT)
Received: from [127.0.0.1] ([62.214.191.67]) by smtp.gmail.com with ESMTPSA id
 g26-20020a1709064e5a00b00930525d89e2sm4713481ejw.89.2023.03.20.11.41.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Mar 2023 11:41:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e48e5c41-c74e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679337717;
        h=content-transfer-encoding:mime-version:message-id:references
         :in-reply-to:subject:to:from:date:from:to:cc:subject:date:message-id
         :reply-to;
        bh=a5sYjg0jBsL2jJxH4vrRssLuchzA6izTtqncZVVtxao=;
        b=BPcliWQNMk87obcfpHKQn+9EIZdm/nKv7VmGPjqf8NmCPcbqWd64SHe1gdCIn5kE5r
         M7E0jOnV0G/ZUJqHZXiO9rrJg0gU2yex5+L7DUmgrSfGIhSPZTJf/SrUJlCQd7NEzdPt
         tSwrrMLk+6NAtosG+ePj/Fsgh82yi4sNBrDBv+xZBXzvoFyQlLLNkVyzAs15NLpp1LD9
         MapLkrYOrFo+Z05O9C1/O0fM7hyT8DqPcHaJBHv2UbdQwosRSUWNibJEjuoUbEcHyYln
         cLWmYN6sfqxhAQGOluSLMy953Y2oPx5anxrFsBw8fYhemCs7Z46CoV20c4Uc+YWmRjZ6
         CW9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679337717;
        h=content-transfer-encoding:mime-version:message-id:references
         :in-reply-to:subject:to:from:date:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=a5sYjg0jBsL2jJxH4vrRssLuchzA6izTtqncZVVtxao=;
        b=4CYpvcW2gTBOECkK2JGuoC4S8CdC02bGNRbm+ARClADJYVJb2rb5zRz1KrXyslrPpK
         Ndavrku7qFUF1NNdlBsUaa3/D2JiFII9qFovUPeh6P8IEbQLrz5Fh4RNDLAbLDVNCkBP
         xHyuTYqVaD9e2j8vwYvAX0ht2Nf3U1eyb4t222iX6e63XbdofYncXBRQZ4NPrPBNpi7Q
         6Bolx10zYbsmKNiU1j1LtdrOeRRalzlzaQHm619fP4HNhPiK+4hU5+N7nzKYKXWErtXy
         r9sV8a0CofEEu+MTdo9EKaDbCtpkQrCx8yu6Rf7+H/0GfxLNL+jJwQjp1enl8UKj1ZVX
         zutw==
X-Gm-Message-State: AO0yUKUIUis2kml/rrV8161+G5GdxtcoggGFYBRhYB8nkYNhCu5zRv2y
	7dt1FD5lqaEnWL6UMoXKxtQ=
X-Google-Smtp-Source: AK7set9VO64wcT0abmsv0BNocsxIcxyAwMbDZanuQ0HX+CoKRj3lv9bbGeRi67LYQZpXQlie0tlxYA==
X-Received: by 2002:a17:906:d146:b0:90b:208:6179 with SMTP id br6-20020a170906d14600b0090b02086179mr591925ejb.28.1679337717020;
        Mon, 20 Mar 2023 11:41:57 -0700 (PDT)
Date: Mon, 20 Mar 2023 09:13:08 +0000
From: Bernhard Beschow <shentey@gmail.com>
To: qemu-devel@nongnu.org, Jason Andryuk <jandryuk@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org,
 =?ISO-8859-1?Q?Marek_Marczykowski-G=F3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: [PATCH] xen: Fix host pci for stubdom
In-Reply-To: <20230320000554.8219-1-jandryuk@gmail.com>
References: <20230320000554.8219-1-jandryuk@gmail.com>
Message-ID: <A6498A22-B701-4B0A-884E-575EEBD77EAB@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable



Am 20=2E M=C3=A4rz 2023 00:05:54 UTC schrieb Jason Andryuk <jandryuk@gmail=
=2Ecom>:
>PCI passthrough for an HVM with a stubdom is PV PCI passthrough from
>dom0 to the stubdom, and then QEMU passthrough of the PCI device inside
>the stubdom=2E  xen-pciback has boolean module param passthrough which
>controls "how to export PCI topology to guest"=2E  If passthrough=3D1, th=
e
>frontend shows a PCI SBDF matching the backend host device=2E  When
>passthough=3D0, the frontend will get a sequentially allocated SBDF=2E
>
>libxl passes the host SBDF over QMP to QEMU=2E  For non-stubdom or stubdo=
m
>with passthrough=3D1, this works fine=2E  However, it fails for
>passthrough=3D0 when QEMU can't find the sysfs node for the host SBDF=2E
>
>Handle all these cases=2E  Look for the xenstore frontend nodes=2E  If th=
ey
>are missing, then default to using the QMP command provided SBDF=2E  This
>is the non-stubdom case=2E  If xenstore nodes are found, then read the
>local SBDF from the xenstore nodes=2E  This will handle either
>passthrough=3D0/1 case=2E
>
>Based on a stubdom-specific patch originally by Marek
>Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab=2Ecom>, which is b=
ased
>on earlier work by HW42 <hw42@ipsumj=2Ede>
>
>Signed-off-by: Jason Andryuk <jandryuk@gmail=2Ecom>
>---
> hw/xen/xen-host-pci-device=2Ec | 96 +++++++++++++++++++++++++++++++++++-
> hw/xen/xen-host-pci-device=2Eh |  6 +++
> 2 files changed, 101 insertions(+), 1 deletion(-)
>
>diff --git a/hw/xen/xen-host-pci-device=2Ec b/hw/xen/xen-host-pci-device=
=2Ec
>index 8c6e9a1716=2E=2E51a72b432d 100644
>--- a/hw/xen/xen-host-pci-device=2Ec
>+++ b/hw/xen/xen-host-pci-device=2Ec
>@@ -9,6 +9,7 @@
> #include "qemu/osdep=2Eh"
> #include "qapi/error=2Eh"
> #include "qemu/cutils=2Eh"
>+#include "hw/xen/xen-legacy-backend=2Eh"
> #include "xen-host-pci-device=2Eh"
>=20
> #define XEN_HOST_PCI_MAX_EXT_CAP \
>@@ -33,13 +34,101 @@
> #define IORESOURCE_PREFETCH     0x00001000      /* No side effects */
> #define IORESOURCE_MEM_64       0x00100000
>=20
>+/*
>+ * Non-passthrough (dom0) accesses are local PCI devices and use the giv=
en BDF
>+ * Passthough (stubdom) accesses are through PV frontend PCI device=2E  =
Those

I'm unable to parse this sentence, which may be due to my unfamiliarity wi=
th Xen terminology=2E

There is also an extra space before "Those"=2E

Best regards,
Bernhard

>+ * either have a BDF identical to the backend's BFD (xen-backend=2Epasst=
hrough=3D1)
>+ * or a local virtual BDF (xen-backend=2Epassthrough=3D0)
>+ *
>+ * We are always given the backend's BDF and need to lookup the appropri=
ate
>+ * local BDF for sysfs access=2E
>+ */
>+static void xen_host_pci_fill_local_addr(XenHostPCIDevice *d, Error **er=
rp)
>+{
>+    unsigned int num_devs, len, i;
>+    unsigned int domain, bus, dev, func;
>+    char *be_path;
>+    char path[80];
>+    char *msg;
>+
>+    be_path =3D qemu_xen_xs_read(xenstore, 0, "device/pci/0/backend", &l=
en);
>+    if (!be_path) {
>+        /*
>+         * be_path doesn't exist, so we are dealing with a local
>+         * (non-passthough) device=2E
>+         */
>+        d->local_domain =3D d->domain;
>+        d->local_bus =3D d->bus;
>+        d->local_dev =3D d->dev;
>+        d->local_func =3D d->func;
>+
>+        return;
>+    }
>+
>+    snprintf(path, sizeof(path), "%s/num_devs", be_path);
>+    msg =3D qemu_xen_xs_read(xenstore, 0, path, &len);
>+    if (!msg) {
>+        goto err_out;
>+    }
>+
>+    if (sscanf(msg, "%u", &num_devs) !=3D 1) {
>+        error_setg(errp, "Failed to parse %s (%s)", msg, path);
>+        goto err_out;
>+    }
>+    free(msg);
>+
>+    for (i =3D 0; i < num_devs; i++) {
>+        snprintf(path, sizeof(path), "%s/dev-%u", be_path, i);
>+        msg =3D qemu_xen_xs_read(xenstore, 0, path, &len);
>+        if (!msg) {
>+            error_setg(errp, "Failed to read %s", path);
>+            goto err_out;
>+        }
>+        if (sscanf(msg, "%x:%x:%x=2E%x", &domain, &bus, &dev, &func) !=
=3D 4) {
>+            error_setg(errp, "Failed to parse %s (%s)", msg, path);
>+            goto err_out;
>+        }
>+        free(msg);
>+        if (domain !=3D d->domain ||
>+            bus !=3D d->bus ||
>+            dev !=3D d->dev ||
>+            func !=3D d->func)
>+            continue;
>+        snprintf(path, sizeof(path), "%s/vdev-%u", be_path, i);
>+        msg =3D qemu_xen_xs_read(xenstore, 0, path, &len);
>+        if (!msg) {
>+            error_setg(errp, "Failed to read %s", path);
>+            goto out;
>+        }
>+        if (sscanf(msg, "%x:%x:%x=2E%x", &domain, &bus, &dev, &func) !=
=3D 4) {
>+            error_setg(errp, "Failed to parse %s (%s)", msg, path);
>+            goto err_out;
>+        }
>+        free(msg);
>+        d->local_domain =3D domain;
>+        d->local_bus =3D bus;
>+        d->local_dev =3D dev;
>+        d->local_func =3D func;
>+        goto out;
>+    }
>+
>+    error_setg(errp, "Failed to find local %x:%x:%x=2E%x", d->domain, d-=
>bus,
>+               d->dev, d->func);
>+
>+err_out:
>+    free(msg);
>+out:
>+    free(be_path);
>+}
>+
> static void xen_host_pci_sysfs_path(const XenHostPCIDevice *d,
>                                     const char *name, char *buf, ssize_t=
 size)
> {
>     int rc;
>=20
>     rc =3D snprintf(buf, size, "/sys/bus/pci/devices/%04x:%02x:%02x=2E%d=
/%s",
>-                  d->domain, d->bus, d->dev, d->func, name);
>+                  d->local_domain, d->local_bus, d->local_dev, d->local_=
func,
>+                  name);
>     assert(rc >=3D 0 && rc < size);
> }
>=20
>@@ -342,6 +431,11 @@ void xen_host_pci_device_get(XenHostPCIDevice *d, ui=
nt16_t domain,
>     d->dev =3D dev;
>     d->func =3D func;
>=20
>+    xen_host_pci_fill_local_addr(d, errp);
>+    if (*errp) {
>+        goto error;
>+    }
>+
>     xen_host_pci_config_open(d, errp);
>     if (*errp) {
>         goto error;
>diff --git a/hw/xen/xen-host-pci-device=2Eh b/hw/xen/xen-host-pci-device=
=2Eh
>index 4d8d34ecb0=2E=2E270dcb27f7 100644
>--- a/hw/xen/xen-host-pci-device=2Eh
>+++ b/hw/xen/xen-host-pci-device=2Eh
>@@ -23,6 +23,12 @@ typedef struct XenHostPCIDevice {
>     uint8_t dev;
>     uint8_t func;
>=20
>+    /* different from the above in case of stubdomain */
>+    uint16_t local_domain;
>+    uint8_t local_bus;
>+    uint8_t local_dev;
>+    uint8_t local_func;
>+
>     uint16_t vendor_id;
>     uint16_t device_id;
>     uint32_t class_code;


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 18:42:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 18:42:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512071.791704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peKSn-0006os-2o; Mon, 20 Mar 2023 18:42:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512071.791704; Mon, 20 Mar 2023 18:42: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 1peKSm-0006ol-Vt; Mon, 20 Mar 2023 18:42:32 +0000
Received: by outflank-mailman (input) for mailman id 512071;
 Mon, 20 Mar 2023 18:42: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 1peKSl-0006n3-NL; Mon, 20 Mar 2023 18:42: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 1peKSl-0003sd-M0; Mon, 20 Mar 2023 18:42: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 1peKSl-00056F-95; Mon, 20 Mar 2023 18:42:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1peKSl-0005Q7-8c; Mon, 20 Mar 2023 18: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=t983TZUw63pTX4YI7CiTatnFwIXAu0k7SbYca1m3f34=; b=h58rYxACa/zhJdc9NyUHe06d0k
	S2LGD/kS+4m8BSPqRta7s5kgqd+HJn32DFL9KeRaeZ+diUiaU6XFS54glL9E7R+pNMUQ0M2CkQMAm
	jRE7CL8FtIaMbuaeDM938DlKJxmvDXCqBwDlP4D3xAkYzeiWTVNBRyH1pB5U7IoBav4A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179814-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179814: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=c2581c58bec96afa450ebaca3fa2a33bcb0a9974
X-Osstest-Versions-That:
    xen=9bf21fcaef07f68ab52d0382ff554616a1cf66d8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Mar 2023 18:42:31 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  c2581c58bec96afa450ebaca3fa2a33bcb0a9974
baseline version:
 xen                  9bf21fcaef07f68ab52d0382ff554616a1cf66d8

Last test of basis   179720  2023-03-17 13:01:58 Z    3 days
Testing same since   179814  2023-03-20 17:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Michal Orzel <michal.orzel@amd.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   9bf21fcaef..c2581c58be  c2581c58bec96afa450ebaca3fa2a33bcb0a9974 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 18:47:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 18:47:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512082.791717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peKXS-0007Y9-OA; Mon, 20 Mar 2023 18:47:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512082.791717; Mon, 20 Mar 2023 18: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 1peKXS-0007Y2-Kf; Mon, 20 Mar 2023 18:47:22 +0000
Received: by outflank-mailman (input) for mailman id 512082;
 Mon, 20 Mar 2023 18:47: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 1peKXQ-0007Xw-Uh
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 18:47: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 1peKXQ-0003yA-Ij; Mon, 20 Mar 2023 18:47:20 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.17.111]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1peKXQ-0005YN-Ca; Mon, 20 Mar 2023 18:47: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=hI5aEs5rSGIzo4cfMLVN9wt9+EdBSxMRZVInUWpTs3A=; b=Vg+NGEmn2XuNATvriCco2dlr5I
	d/nLPW92Lo/eqBwmS587RimT0SI+icq04aaK6Q7XJ5EqTYeMcazVkuLZg/oSf4w8VPOT7Jc4UcKAn
	ENZEDzNZY2ARH3e+q2fhi+fgrQ8ZZJYKiLLaVhDaVT9qosASsBr6sPQgUsPk9Vym8rao=;
Message-ID: <8bc6c861-40dd-5dae-4fd6-68bd092c06f7@xen.org>
Date: Mon, 20 Mar 2023 18:47:18 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v2 2/4] xen/arm: Rename vgic_cpu_base and vgic_dist_base
 for new vGIC
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Wei Chen <wei.chen@arm.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230130040614.188296-1-Henry.Wang@arm.com>
 <20230130040614.188296-3-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230130040614.188296-3-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 30/01/2023 04:06, Henry Wang wrote:
> In the follow-up patch from this series, the GICv2 CPU interface
> mapping will be deferred until the first access in the stage-2
> data abort trap handling code. Since the data abort trap handling
> code is common for the current and the new vGIC implementation,
> it is necessary to unify the variable names in struct vgic_dist
> for these two implementations.
> 
> Therefore, this commit renames the vgic_cpu_base and vgic_dist_base
> for new vGIC to cbase and dbase. So we can use the same code in
> the data abort trap handling code for both vGIC implementations.
> 
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 18:52:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 18:52:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512085.791728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peKbn-0000fE-BK; Mon, 20 Mar 2023 18:51:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512085.791728; Mon, 20 Mar 2023 18:51: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 1peKbn-0000f7-5z; Mon, 20 Mar 2023 18:51:51 +0000
Received: by outflank-mailman (input) for mailman id 512085;
 Mon, 20 Mar 2023 18:51: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=Z4LM=7M=tklengyel.com=bounce+e181d6.cd840-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1peKbl-0000f1-RK
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 18:51:49 +0000
Received: from rs227.mailgun.us (rs227.mailgun.us [209.61.151.227])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 42bec707-c750-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 19:51:48 +0100 (CET)
Received: from mail-yw1-f176.google.com (mail-yw1-f176.google.com
 [209.85.128.176]) by
 bf63b0cb016b with SMTP id 6418ab3f85ccd20ed5e02b59 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 20 Mar 2023 18:51:43 GMT
Received: by mail-yw1-f176.google.com with SMTP id
 00721157ae682-541a05e4124so240895617b3.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 11:51:43 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 42bec707-c750-11ed-87f5-c1b5be75604c
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=tklengyel.com;
 q=dns/txt; s=mailo; t=1679338303; x=1679345503; h=Content-Type: Cc: To: To:
 Subject: Subject: Message-ID: Date: From: From: In-Reply-To: References:
 MIME-Version: Sender: Sender;
 bh=Vx9rvlCpMmPqNkWDhSmWbEotSXnq3MI9J8H6DNWuZv8=;
 b=yC5v8aa6DtnV7/d/frbd4LHKhl5skxvrczzzUK4+aGIVXQzpGPm3pjPLQhV7MFrMevbrvtGv7yazVBquUANjI/e6wksbaIo6OM6rDLNl0plcH/1MGaaTGPRW2/5gPphZvRYBKklGy/SmnMzkgjHd4Z2I/C5h5M9eVxnCrgYQV7SAxk60pFZBcLSaBR0YQ3Tu0nh30PTsMBd8PUImHbAtU/4rslFWbO6561b2S6VqCq6h7ASqkCsBERtLJzVbdys4cG4VzoKCuonNQ5+w3wUIxHXnfCyQcohpzXGx22Ehk4mhaGBARHRPbZ2Yqop7HLMIOk2o7JDO2GXkAxjCNvRyjA==
X-Mailgun-Sending-Ip: 209.61.151.227
X-Mailgun-Sid: WyIyYTNmOCIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsImNkODQwIl0=
Sender: tamas@tklengyel.com
X-Gm-Message-State: AO0yUKVJFevaFCH98WdNRS6DWSq9qzupeve0SGai/QWMmAAKH1xmtjmE
	ZwFEJ4kXjtGxHptRCDbAG9owIiqRBIa7vEpB7/U=
X-Google-Smtp-Source: AK7set88vnkr4x/+KCSzP3U/mlHYM4D2UP4wt5zk9HLSIoW7JELoZKPLsVakG+r+g4xLZMHjrlRaWWumeS6ztPP5m7M=
X-Received: by 2002:a81:b649:0:b0:541:8995:5334 with SMTP id
 h9-20020a81b649000000b0054189955334mr10726914ywk.3.1679338303187; Mon, 20 Mar
 2023 11:51:43 -0700 (PDT)
MIME-Version: 1.0
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
In-Reply-To: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Mon, 20 Mar 2023 18:51:06 -0400
X-Gmail-Original-Message-ID: <CABfawhncTLzRvHYF3SyhdidfobP9PB3YOZ9oTjRREjKs07KtXQ@mail.gmail.com>
Message-ID: <CABfawhncTLzRvHYF3SyhdidfobP9PB3YOZ9oTjRREjKs07KtXQ@mail.gmail.com>
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
To: =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg0KHQtdGA0LPQtdC5?= <valor@list.ru>
Cc: 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>, 
	Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Dmitry Isaykin <isaikin-dmitry@yandex.ru>
Content-Type: multipart/alternative; boundary="00000000000004f28205f7596b04"

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

On Mon, Mar 20, 2023 at 12:32=E2=80=AFPM =D0=9A=D0=BE=D0=B2=D0=B0=D0=BB=D1=
=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 <valor@list.ru> wrote:
>
> gva_to_gfn command used for fast address translation in LibVMI project.
> With such a command it is possible to perform address translation in
> single call instead of series of queries to get every page table.

You have a couple assumptions here:
 - Xen will always have a direct map of the entire guest memory - there are
already plans to move away from that. Without that this approach won't have
any advantage over doing the same mapping by LibVMI
 - LibVMI has to map every page for each page table for every lookup - you
have to do that only for the first, afterwards the pages on which the
pagetable is are kept in a cache and subsequent lookups would be actually
faster then having to do this domctl since you can keep being in the same
process instead of having to jump to Xen.

With these perspectives in mind I don't think this would be a useful
addition. Please prove me wrong with performance numbers and a specific
use-case that warrants adding this and how you plan to introduce it into
LibVMI without causing performance regression to all other use-cases.

Tamas

--00000000000004f28205f7596b04
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Mon, Mar 20, 2023 at 12:32=E2=80=AFPM =D0=9A=D0=
=BE=D0=B2=D0=B0=D0=BB=D1=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 &lt;=
<a href=3D"mailto:valor@list.ru">valor@list.ru</a>&gt; wrote:<br>&gt;<br>&g=
t; gva_to_gfn command used for fast address translation in LibVMI project.<=
br>&gt; With such a command it is possible to perform address translation i=
n<br>&gt; single call instead of series of queries to get every page table.=
<br><div><br></div><div>You have a couple assumptions here:</div><div>=C2=
=A0- Xen will always have a direct map of the entire guest memory - there a=
re already plans to move away from that. Without that this approach won&#39=
;t have any advantage over doing the same mapping by LibVMI<br></div><div>=
=C2=A0- LibVMI has to map every page for each page table for every lookup -=
 you have to do that only for the first, afterwards the pages on which the =
pagetable is are kept in a cache and subsequent lookups would be actually f=
aster then having to do this domctl since you can keep being in the same pr=
ocess instead of having to jump to Xen.<br></div><div><br></div><div>With t=
hese perspectives in mind I don&#39;t think this would be a useful addition=
. Please prove me wrong with performance numbers and a specific use-case th=
at warrants adding this and how you plan to introduce it into LibVMI withou=
t causing performance regression to all other use-cases.<br></div><div><br>=
</div><div>Tamas<br></div></div>

--00000000000004f28205f7596b04--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 19:08:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 19:08:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512090.791737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peKrN-0002Mq-O8; Mon, 20 Mar 2023 19:07:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512090.791737; Mon, 20 Mar 2023 19: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 1peKrN-0002Mj-JF; Mon, 20 Mar 2023 19:07:57 +0000
Received: by outflank-mailman (input) for mailman id 512090;
 Mon, 20 Mar 2023 19:07: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=xqGy=7M=citrix.com=prvs=436e66757=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1peKrM-0002Md-At
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 19:07:56 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82d81390-c752-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 20:07:54 +0100 (CET)
Received: from mail-co1nam11lp2172.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Mar 2023 15:07:41 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5422.namprd03.prod.outlook.com (2603:10b6:a03:27b::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 19:07:35 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 19: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: 82d81390-c752-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679339274;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=NWkE4U5R8b9rVxOOkuBEXz2iY0fCUUxNYMZ0IKqmnLk=;
  b=C6DF6pGCZHccpJZ+2lfrFsePSQX2SsXvz7J4KOfB6CH76SxRoOiWXUo4
   7LBTei7OTSjx3ND/giwSxC1miU9lCjOHNSs82HmsSwaLwXEa88thra9Zt
   7u8lAB1rzSoRTwKqcRdK1K2JWGrjJ69/NbUviWbATFQDbnY2lHeopPfbn
   w=;
X-IronPort-RemoteIP: 104.47.56.172
X-IronPort-MID: 104012571
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:KhBzVqv5IFG6euQTeLeKx9ZjOOfnVN1fMUV32f8akzHdYApBsoF/q
 tZmKW/UbP2PYjShctxxbIXn9BsD6MXQz99gGwJt+Ck0EC8U+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASEzyFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwJCpTbynYgfiM77eSac5jluEtFtbnBdZK0p1g5Wmx4fcOZ7nmGvyPzvgBmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osjv60b4C9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgqqYz2gDMnwT/DjUGcVuUm8u+03W1Wu5hE
 GUM/DUotIstoRnDot7VGkfQTGS/lgAVX91KO+k78x3L0Le8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq19L2ZsDezMig9NnIZaGkPSg5ty8bniJE+iFTIVNkLOKyoitz4Hxngz
 jbMqzIx750IltIC3ai/+VHBghqvq4LPQwpz4R/YNkq55wZwf6a5ZIil71fK4PIGJ4GcJnGAp
 3EFmMmYqewLDI2XhQScSeMBEaHv/evtDdHHqVtmHp1k/DP0/XemJNlU+Gsnex0vNdsYczj0Z
 kOVoRlW+JJYIHqta+lwfp61DMMpi6PnELwJS8zpUzaHWbApHCfvwc2kTRT4M7zF+KT0rZwCB
 A==
IronPort-HdrOrdr: A9a23:OZJXI6jGBvAEh3lnn+vZS8YlTHBQX6l23DAbv31ZSRFFG/FwyP
 rAoB1L73PJYWgqNU3IwerwQJVpQRvnlaKdkrNhRotKPTOW8FdASbsJ0WKM+UyFJ8STzIBgPO
 JbAtFD4b7LfBNHZKTBkW6FOu8a5v+p2oGFr8W29QYqcegCUcgJhDuRSDzrdHGeLzM2ZqbRYa
 Dsg/av0ADQG0j/AP7bOlA1G8z44/HbnpPvZhALQzQ97hOVsD+u4LnmVzCFwxY3SVp0sPof2F
 mAtza8yrSosvm9xBOZ/XTU9Y5qlNzozcYGLNCQi/ISNi7nhm+TFchcsvy5zX8ISdOUmRcXee
 r30lcd1gNImjDsl1SO0FXQMs/boXQTAjHZuBqlaDDY0LbErXoBerd8bMRiA1Hkwntlhcp71q
 1T2WKfqt54MTPs9R6No+TgZlVSjUyzrmMlkekPy1plcaVbRoNwgOUkjQRo+LFpJlOi1Kk3VO
 NiEoXG6PNfYTqhHgDkl3gqz9q2UnspGBCaBkAEp8yOyjBT2Gt01k0C2aUk7wA9HT0GOuh5Ds
 n/Q9FVfYt1P7srRLM4AP1ETdq8C2TLTx6JOGWOIU7/HKVCP37WsZb47Lg8+envIfUzvdIPsY
 WEVEkduX85ekroB8HL1JpX8grVSGH4WTj20MlR65Vwp7W5Trv2Ni+ITkwojqKb0oMiK9yeX+
 z2NINdAvflI2erEYFV3xfmU50XMnUaWN19gKdIZ7tPmLO5FmTHjJ2kTB+IHsuQLd8NYBKBPk
 c+
X-IronPort-AV: E=Sophos;i="5.98,276,1673931600"; 
   d="scan'208";a="104012571"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FxeThuUmAGBV8swnvpIPJddL5PyrOpMYvpu84J5q0ii73Eiq6vK+KWQjMb7C5MzomG/SD4s4GvH4yxMF7AnQkkvEzPzqaK0ivQ9NLrI79u2aeCmHROYZ794yO5c3Ss5579GlgZqzNE9+FvPZyIDp77JpKY6cdP8ArixeOLNEZgOjT3JxcGKpekCRahcUjnp+06sSnbyE4y1DuS5AqPqis3nIniUYKfBw3Fr/te98N7UuASsebVmgssq3ZBDY3q0uKwzYZ7rxFwqpVqIEtcmUhfE2puDkikydVFZOicAqehAkQ72LSGhxQBGCCdUbgu6eTGDG2Ld0yXoOG3XTsf4wmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NWkE4U5R8b9rVxOOkuBEXz2iY0fCUUxNYMZ0IKqmnLk=;
 b=ajF82OX6oDAA2koYZK9G0v0Oz8KYXmNNBXzWXo9scEe4N4Ymm/9KhtC7nAqAXR/bF5AgimLIIPKKNSVeyisFbZzCIvz+Coput3IagdKUHuqG9rPSIJduG67zMOkQ4kyaqzkvPY2/47fvY0wh71v+PD3G8ejFrWDsaX+W7Ffs2nU0Wp0e4lqB/KJGGatsUEzQit4zZralwrvqLda0lOifZVDWLuIUam0YteKfxqKorns6OMdQhDUrmv4ZPXrx7oTLmCkSbuf1tfhz0xh7JP1JNOehv6x/uUU8mX6Gd4F87q6n6pc7+FBftFOF82/QVhMZ2spSCLgMzvqHJ4g9lqAauw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NWkE4U5R8b9rVxOOkuBEXz2iY0fCUUxNYMZ0IKqmnLk=;
 b=Zf7beOgf0XXbTD37sr9Y1cZf+do+MFFUNwgdx+I4oi1Mk2d+UvWU5PgZOjrFjKOvd11Wryudm1+8qwLAsVmJpvlz7/Sp8dA3NMx/CQucn1Qx8r7Gi2LEfDP65Jyd3H+LEIcunIIW1VdObFboWj46ziTKv9ou3m1wYy/0qH4YVyc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f2231607-b29c-b54b-874f-4e30ee84ae80@citrix.com>
Date: Mon, 20 Mar 2023 19:07:32 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
Content-Language: en-GB
To: =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg0KHQtdGA0LPQtdC5?= <valor@list.ru>,
 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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Dmitry Isaykin <isaikin-dmitry@yandex.ru>
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
In-Reply-To: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0071.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2af::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB5422:EE_
X-MS-Office365-Filtering-Correlation-Id: 04139fca-af81-4f7d-9135-08db29765d1d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WZxrw9LedUWO58m3o/1G9c26oAWoIfOs6KPMvPx2zVkooitEQWtccSVbQ3cxhpZzkYgraZXKQ7YqJqHo2VGHNVJ1H5496+2QqzVenCENURusxWnTKArjE2bX8XIlVAScUg1ooufMTp5XS1ONSEtZk100HiGlcSiIKe7Te+8NWF/YfWXcrgZSS8+M/zUafv4eJLRX50dTC5BnUXnrskUUM/H5+VVxofgkATBr6S6au6xaNatGaOx5tZ/djNFw9cVgyrV80bVTRsrxe+YeK2MDzNsa53Tq8TnvXgBe6MpkjJE3KcVPAY+9u0Bi6PTMn0v2c4iEqFVV+03sfLyXN7dBq1NxVtjVNBs+pzk6aTZJInPgadp1XzEZUmrIsIjCk0TAILh4dCOE4e9zdLXwYq5av8fAOktfuQ2Occ1Pi5NSyEKKm2asCAP9iSWGS06layXAjOXWcbbKdQWGqvtSuJL994LUOJLIPZUI4lgwB+Z+8bdgZA23xerDZDErOE5pBR2Awpta0CUElnnMMx/WQ9vcdOfPQRqVNi6AvjnvMMDSElsepeA9x9SngvSmA1jpzkcLSDRIniK7cjASqfdOLhhV4tMnppJaCL6pO+gdmuKFMeThq3oUBm03jtLE76fJ/AQQoPVu8aDgB5luhSqHOg+TbgPnViTWH3QcgEeD9/U5v/mhqYjYzxCOT167lLaSqGTq8CmFA3TgLhYoxPHzfUdx3nGU6SESt/s7H6brobL2BnE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(396003)(136003)(376002)(39860400002)(346002)(451199018)(86362001)(31696002)(38100700002)(82960400001)(6506007)(4326008)(36756003)(7416002)(5660300002)(2906002)(66476007)(66556008)(8936002)(66946007)(41300700001)(2616005)(186003)(83380400001)(316002)(6486002)(54906003)(478600001)(6512007)(6666004)(26005)(53546011)(31686004)(8676002)(66899018)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SmlwOHVORzBaQ0VEQ0g2WDJia2p6TWpKaEN6WUtqTzFJM0FwVDlRRTFZeUhp?=
 =?utf-8?B?d09EZThrNEFhTlFSeUJqbnFQUGlBcEhKcGgwcVk5eFVLQkt2Vkh1bnpjbmVR?=
 =?utf-8?B?MGlBNXRhV1I3dnYvc0JZcGtJZjdEcTdxVkNrOEdSanRKSTNaSjVXYTJrdDBv?=
 =?utf-8?B?bW50eXk5bVYvYjlkUTVMaWhCaXZDVytPdGRuSi81c1kwcXJoVERvQURZV2lO?=
 =?utf-8?B?Q3BtVHlOL1JZTmZvZ295Y1hXZnZKWE4zYjNmVkRxS0g0clhqTENrQlJuSDhk?=
 =?utf-8?B?bWk1ZGRpWW50NDgwamEwckZuTTQwRFNnLzNpR1laQklBOWhWRGRyZkNobDlr?=
 =?utf-8?B?eEhub0hnMzFHRThwL2lNd3JIVUJTOEtLRHZ1bUgvdzVtaWxWV1lOVUl0UHlK?=
 =?utf-8?B?YnB3MUxnSTRYK0Q4dUNReGdkYjE1cTV0bEg2RlZvT3lvdTZtN0wzcUM3WHFi?=
 =?utf-8?B?dU0yU2lNSCt1N0FsbWlPTUhIYlZSTmhZTjArUm1iN2cyNy9oaW1zaE44dmRu?=
 =?utf-8?B?TWFxa1hJcENnYXo5cnZGY21vSHRWelF6QldzcERZVGFuUVA1TFhCSkJMZUsx?=
 =?utf-8?B?cTRJczVkRkIwUkV5Um5zdTArbHQvYWkrWW0zQUZ2V3ZuSDljVG9ZcjNUOS9R?=
 =?utf-8?B?VVF4WWcyY1RvWXBsa3pxcll6dzRrWVR3OFdLS1ZKYis5S0FnbFhGZDJZeXE0?=
 =?utf-8?B?Q1RhemFkbkhmdzI3Rm9NbEM5UGQzQkNMbWFZSlllbERNQ1FIcUF4SFBEMXdx?=
 =?utf-8?B?LzlGYlhDK1MzZ3EyRkRHQ3lCUFpxT05ibUo5eURMQlZkUzc2b09Vd0p6Zmha?=
 =?utf-8?B?OHIwS3ZkT1loaHdwdWxNMlhXNW5ycVpYMXZ4UXZaZXIxSE1IbUFzTVl1RGdE?=
 =?utf-8?B?endqb1pFbFNsamxiVENSblFZOHVWK3hXRWV4SEx5cUJrbnpDSzhLdVBuTWsr?=
 =?utf-8?B?eGd6NElRZGNMbzl6dzRMcCtUYVc5NUxvWWx3a0hWYkhBK2Z6RE9VWEJSdUFp?=
 =?utf-8?B?REgwUk04REY5Unhjbkx0OHpmUlViMlBsaWNFTXp2TlZUdVJNWWJvaUZOa2d4?=
 =?utf-8?B?RkNveVdFRHpZbTM3R2cyMVZ0U1UrUVlMMm9FT21sNVoza0VOWkhadUJwb3lJ?=
 =?utf-8?B?YStpSHlQL0NkODZWZnU2T0lOVWh2WmcyUGlxMmhrS1ZpSkRhSFdrdk94YjBm?=
 =?utf-8?B?K1ZnVHRxQmRlYlhZWFc0MFBDSXBKQ2JtYzN6cGNWckkzUjcvT1M4U1pXcUE1?=
 =?utf-8?B?TVFUdnQ3UEFqb0krSlVjU1l0dGdrZ1VUYjgvWW9kUnJLSXg1ZTFzNDZlUTd0?=
 =?utf-8?B?YjdVdXh5alBNL01iRm5rMExFajJKRThWZkM0c0FHWHNZdUpVb1lzaGVxQWVq?=
 =?utf-8?B?ZXk2UWhvc3kxMi8rTGdlaGdldFJmUFhwNEh3K1ppMnUrUldyellQQWo2NVV2?=
 =?utf-8?B?ejYrL0dvOTZ4dW0veFNXN1pOZGpheGM0SGt6VjJUMWJEVnA3aXZrWitWUldV?=
 =?utf-8?B?MVlRM1VkaUtxdVVUeVVZTWdHOTg0RE96dmROVjRDSmR3U05MSXhLTHI3eHV3?=
 =?utf-8?B?cmc1YTFZK05SK0ZTbnIyRE1wNHo2YmV5bmRGSWJ4Q3FheFN4MW5CcTZaRVh5?=
 =?utf-8?B?NGZqa3pWcnZlMFk1dU5SbHlLczZGWFE2bkVDeFkvY2xrRGs0djdOVGlHU2VT?=
 =?utf-8?B?cjlwVjRub3RlcW5UQTVHTVMxcDlxT3lobHJGOWhadXFqSFl0eW5yZ1pXQnk0?=
 =?utf-8?B?RTVTbzM1VFhGNzcrMUJmb05KclRrWTRybVVuSXhIYVkzT0dVZlRGbG1DQkQy?=
 =?utf-8?B?UzRpYWwzRkVjcUQzQnIvMUtaS1lwU3JXbnFiQk5xaVIyaXNULzBjU2l2ZTdk?=
 =?utf-8?B?SGhCYUZuZWN1UTQwV25wU1JqQU5GT2FVaFJ3K2QwMko4djFNdDU5cnhFNFc1?=
 =?utf-8?B?QklLQUJRZ2REb1MrUi9Tb3pmbHRYSExweUtzQ25ya3JvMDVia3QxVmdSZXNk?=
 =?utf-8?B?V3ZkVnlXWFpxdDZMOU4vTTZ5OGpsQTQwaE1oK2d1VitOa0RVZjM2cU5nMG16?=
 =?utf-8?B?M0lUbHNaTFdQaGhyNU1OSE5OSVRVSyt2aFRxYmpqSmFPSHh4b285T2M1Yjdy?=
 =?utf-8?B?RzVoQjRheFM4U2YxdWtCVWJwc2l0Uk5iZFJ4cWVWR1hHM3lSWmdta0lqdi94?=
 =?utf-8?B?REE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?M1ZxamZGUzVMdjNSWkdwZ0haaDllSzZVaDNyNkVrVGpOVkcyMWpjNlRuUzY4?=
 =?utf-8?B?eUxNaUFzWUdteitZb0QxYzIxT0xHMjZVeFVtak83eEJBYkh5emh6MTlCbEt6?=
 =?utf-8?B?aFNQaVZoN1FXa0FLQlY5K1ZJSnhYdnpvdGVyQW5qSGNVK1NtS3c0UzNpbjVE?=
 =?utf-8?B?YWZ4MDJGSURTODh2Mk9HeHp4eUxJWDVPdVdNMUpIblJxWng2bTRodWwvUVZp?=
 =?utf-8?B?V2Q5Zlhzb1hVdTEyWlFCSk9vVkdmZlBkRENlcmlLT0ZIbTFJeXpCSjZUTEZY?=
 =?utf-8?B?dXR2N0RXcGkyVGgrRVNyVG9VcSs0U2ppNXpEblJrUy9YbDhDd1dZUWFiUVVu?=
 =?utf-8?B?N0dwVDBYazJ4blZhSWcrWEx1Q3VSek8zWXhyVVBCWVhtRW9KYytRWVN2V1p6?=
 =?utf-8?B?NjZpSFM3RW5pSUx3WEUxZ3QwQXFWMzFLVEp1WFhSajFoaGttdHNybmlkeWVm?=
 =?utf-8?B?b3RyZUR6aCttaS9oL0dEVWpHUnFlK3VNUVVGNi8rU0xNc05CeUhXZU5tSkIy?=
 =?utf-8?B?NmlXNm9KUEVObjk4R3p2VEJkdGZpeHc4cDZ5WjU1ZURqc1JiRWhSRHFsbmRx?=
 =?utf-8?B?Q0wrOFVSMFdFZmRZMDRONXlvVkFTQXl2Y2hDZnA1R3BJbG9POGZ2UG8xdUt1?=
 =?utf-8?B?RG81dmhUbWZEc3hZR1VMNlhDeS94TzFybWV0a2o4ejBEMGZwL2FoTU5qN0Fm?=
 =?utf-8?B?YncrN1pIODd5NU5ON0c0aU11dE5YU0hVSUU0eGlFV2xsbjdiMXc1N1V4cy9v?=
 =?utf-8?B?Tk15WTAreXRhOTdpaHBxaTFNNFBtcVZieXlGN3hldm9YUjdNZmJnTTdnUlJ4?=
 =?utf-8?B?MEY1RjhzYzhxdWVaeHk0MXlVa29TZi9lZnNaMzV5OGhuclhpR3l0UStCdXk1?=
 =?utf-8?B?dUlwTlMxc3U0SzJyaW9WbzBMcTk0VmpRQjIxYmxvT2FKNG9Da09JL3Fsb0NH?=
 =?utf-8?B?Zm5mQWFRZURwZXltN0YrWnppVE1UWGJHT1c5TWRPc0lJaXlaUGJOLzgxUVdt?=
 =?utf-8?B?L2Q2dFdoUjhUUE5JVkprTmpsRmh1QVZMTDlvNlpQamtBb3YrZ2p6c2YwOHlK?=
 =?utf-8?B?ZTZMNExEbFdLbXBOa0lONFlJZzdldlpjS1Q0L1VkZkd3QkpGQU9CVEZ3Wm9P?=
 =?utf-8?B?dzE4UDFyTGd1RWJhRjJEczF0bmtETlZmUkh3OGNkTXhnemNWZkZDeDRBSDMy?=
 =?utf-8?B?dXhkYVppUlIzZ3lXNkdTYzZ1N2NaZFRCYmRYMTJWOW1lcWd1SVRDcDBhQ25z?=
 =?utf-8?Q?Y5V9UZ/d6PzHBIw?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 04139fca-af81-4f7d-9135-08db29765d1d
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 19:07:35.2530
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CZ0dgyfaOoDAxjYk3cUaZaJD++B01jBHTrnMYJmVVSFA/qEf/Q2z37qLfIxUihL4s0iaSPDBU3y/l7fCRhCdpHv50DfBydiIAJmjTtCgXTs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5422

On 20/03/2023 4:32 pm, Ковалёв Сергей wrote:
> gva_to_gfn command used for fast address translation in LibVMI project.
> With such a command it is possible to perform address translation in
> single call instead of series of queries to get every page table.
>
> Thanks to Dmitry Isaykin for involvement.
>
> Signed-off-by: Sergey Kovalev <valor@list.ru>

I fully appreciate why you want this hypercall, and I've said several
times that libvmi wants something better than it has, but...

> diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
> index 2118fcad5d..0c9706ea0a 100644
> --- a/xen/arch/x86/domctl.c
> +++ b/xen/arch/x86/domctl.c
> @@ -1364,6 +1364,23 @@ long arch_do_domctl(
>              copyback = true;
>          break;
>
> +    case XEN_DOMCTL_gva_to_gfn:
> +    {
> +        uint64_t ga = domctl->u.gva_to_gfn.addr;
> +        uint64_t cr3 = domctl->u.gva_to_gfn.cr3;
> +        struct vcpu* v = d->vcpu[0];

... this isn't safe if you happen to issue this hypercall too early in a
domain's lifecycle.

If nothing else, you want to do a domain_vcpu() check and return -ENOENT
in the failure case.

More generally, issuing the hypercall under vcpu0 isn't necessarily
correct.  It is common for all vCPUs to have equivalent paging settings,
but e.g. Xen transiently disables CR4.CET and CR0.WP in order to make
self-modifying code changes.

Furthermore, the setting of CR4.{PAE,PSE} determines reserved bits, so
you can't even ignore the access rights and hope that the translation
works out correctly.

Ideally we'd have a pagewalk algorithm which didn't require taking a
vcpu, and instead just took a set of paging configuration, but it is all
chronically entangled right now.

I think, at a minimum, you need to take a vcpu_id as an input, but I
suspect to make this a usable API you want an altp2m view id too.

Also, I'm pretty sure this is only safe for a paused vCPU.  If the vCPU
isn't paused, then there's a TOCTOU race in the pagewalk code when
inspecting control registers.

> +        uint32_t pfec = PFEC_page_present;
> +        unsigned int page_order;
> +
> +        uint64_t gfn = paging_ga_to_gfn_cr3(v, cr3, ga, &pfec,
> &page_order);
> +        domctl->u.gva_to_gfn.addr = gfn;
> +        domctl->u.gva_to_gfn.page_order = page_order;

page_order is only not stack rubble if gfn is different to INVALID_GFN.

> +        if ( __copy_to_guest(u_domctl, domctl, 1) )
> +            ret = -EFAULT;

You want to restrict this to just the gva_to_gfn sub-portion.  No point
copying back more than necessary.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 19:23:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 19:23:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512096.791747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peL5n-00050l-2Q; Mon, 20 Mar 2023 19:22:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512096.791747; Mon, 20 Mar 2023 19: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 1peL5m-00050e-Us; Mon, 20 Mar 2023 19:22:50 +0000
Received: by outflank-mailman (input) for mailman id 512096;
 Mon, 20 Mar 2023 19:22: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=GPvh=7M=list.ru=valor@srs-se1.protection.inumbo.net>)
 id 1peL5l-00050X-6W
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 19:22:49 +0000
Received: from smtp59.i.mail.ru (smtp59.i.mail.ru [95.163.41.97])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 97b4cf65-c754-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 20:22:46 +0100 (CET)
Received: by smtp59.i.mail.ru with esmtpa (envelope-from <valor@list.ru>)
 id 1peL5g-007fv9-EO; Mon, 20 Mar 2023 22:22:45 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97b4cf65-c754-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=list.ru; s=mail4;
	h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:From:Subject:Content-Type:Content-Transfer-Encoding:To:Cc; bh=TVLpv2R8EjXC92ZLE3YQikJhIO/MrUq+5Ry6oAbXq2s=;
	t=1679340166;x=1679430166; 
	b=lbXHHImB2k/Dx2MIg2dbr3sU5efnnculWlQruWm9OvP9fhytaw/ZuO/f9ShTzgzMWb4Dwk75R9OaZhGoLNhcXsYaJMDggs0JaPyV4FiRCzttLna6fP+j6ctIQkNzDh6dvQIkd29V9I0zLkTI43DpcdaoScR+UHvBP+JwHV/h4mYNMyQkEHgjDBzOpmcG1tffRK8jKHnwnrqwO3wuDC9YylPfEtHETw7uMNd/WyZc1OuQr1mpOgEQtYf9LCfF6RV8OVpyreQPA5bDuMFigWbcZYpJt6wXUSgt6zxE80UuANU4j6BOiipdF3dp811Ho+RB86LH2VwkEwjrQjSHP6XdXQ==;
Message-ID: <c5ea0f53-8cc9-509e-6c82-deea00f1ed74@list.ru>
Date: Mon, 20 Mar 2023 22:22:43 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
Content-Language: ru, en-US
To: Tamas K Lengyel <tamas@tklengyel.com>
Cc: 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>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Dmitry Isaykin <isaikin-dmitry@yandex.ru>
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
 <CABfawhncTLzRvHYF3SyhdidfobP9PB3YOZ9oTjRREjKs07KtXQ@mail.gmail.com>
From: =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg0KHQtdGA0LPQtdC5?= <valor@list.ru>
In-Reply-To: <CABfawhncTLzRvHYF3SyhdidfobP9PB3YOZ9oTjRREjKs07KtXQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp59.i.mail.ru; auth=pass smtp.auth=valor@list.ru smtp.mailfrom=valor@list.ru
X-Mailru-Src: smtp
X-4EC0790: 10
X-7564579A: B8F34718100C35BD
X-77F55803: 4F1203BC0FB41BD9303C7CA6F8B0D1AB35EB92D1D7235ABBB2D71FE7B71EFC36182A05F53808504001BE95F248C8772D12AB927C928AFDDF6D34D7AD2FCD7853A3011C0662A8FD08
X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE71BB7708D34E2BFDAEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F790063770519A3AF4A224F58638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8D2E1ACF7608D463E6D5721B2BDAFF0D66F9789CCF6C18C3F8528715B7D10C86878DA827A17800CE746CC513BB44FBA1D9FA2833FD35BB23D9E625A9149C048EECCD848CCB6FE560CC26CFBAC0749D213D2E47CDBA5A96583BD4B6F7A4D31EC0BC014FD901B82EE079FA2833FD35BB23D27C277FBC8AE2E8B317C7E487E00003AA471835C12D1D977C4224003CC836476EB9C4185024447017B076A6E789B0E975F5C1EE8F4F765FC03C2644391C455E83AA81AA40904B5D9CF19DD082D7633A078D18283394535A93AA81AA40904B5D98AA50765F7900637A28A502E88DD91B5D81D268191BDAD3D3666184CF4C3C14F3FC91FA280E0CE3D1A620F70A64A45A98AA50765F79006372E808ACE2090B5E1725E5C173C3A84C3C5EA940A35A165FF2DBA43225CD8A89F00AD5422731CA18C42539A7722CA490CB5C8C57E37DE458BEDA766A37F9254B7
X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D343F22CE0A71FDB37EDABA773E2D92384F8E5A4C6A0DCD5F9197EAFA0D7F1437339D215E88C548ACA41D7E09C32AA3244C9D5C9865B7C3989B4208942C1BA2010764EE5813BBCA3A9DED98077840A144B9
X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojrPvsFeLNXrVGfy8Eo+s3BA==
X-Mailru-Sender: 6C3E74F07C41AE944C83DF7F8E76CAD98D61B4B1ECF62AA8FE367B51D0645A45E1E1E2713883DFAD671A0538F0E0E4B8C77752E0C033A69E86F8B8EC1BECD1EECCC3E8BC0E932F7CB4A721A3011E896F
X-Mras: Ok



21.03.2023 1:51, Tamas K Lengyel wrote:
> 
> 
> On Mon, Mar 20, 2023 at 12:32 PM Ковалёв Сергей <valor@list.ru 
> <mailto:valor@list.ru>> wrote:
>  >
>  > gva_to_gfn command used for fast address translation in LibVMI project.
>  > With such a command it is possible to perform address translation in
>  > single call instead of series of queries to get every page table.
> 
> You have a couple assumptions here:
>   - Xen will always have a direct map of the entire guest memory - there 
> are already plans to move away from that. Without that this approach 
> won't have any advantage over doing the same mapping by LibVMI

Thanks! I didn't know about the plan. Though I use this patch
back ported into 4.16.

>   - LibVMI has to map every page for each page table for every lookup - 
> you have to do that only for the first, afterwards the pages on which 
> the pagetable is are kept in a cache and subsequent lookups would be 
> actually faster then having to do this domctl since you can keep being 
> in the same process instead of having to jump to Xen.

Yes. I know about the page cache. But I have faced with several issues
with cache like this one https://github.com/libvmi/libvmi/pull/1058 .
So I had to disable the cache.

> 
> With these perspectives in mind I don't think this would be a useful 
> addition. Please prove me wrong with performance numbers and a specific 
> use-case that warrants adding this and how you plan to introduce it into 
> LibVMI without causing performance regression to all other use-cases.

I will send You a PR into LibVMI in a day or two. I don't have any
performance numbers at the time. I send this patch to share my current
work as soon as possible.

To prevent regression in all use-cases we could add a configure option.
Thanks to make me notice that!

> 
> Tamas


-- 
С уважением,
Ковалёв Сергей.



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 19:26:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 19:26:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512099.791757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peL9H-0005cO-GB; Mon, 20 Mar 2023 19:26:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512099.791757; Mon, 20 Mar 2023 19: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 1peL9H-0005cH-DD; Mon, 20 Mar 2023 19:26:27 +0000
Received: by outflank-mailman (input) for mailman id 512099;
 Mon, 20 Mar 2023 19:26: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 1peL9F-0005cB-GG
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 19:26: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 1peL9F-0004qg-2Q; Mon, 20 Mar 2023 19:26:25 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.17.111]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1peL9E-0007DG-Sp; Mon, 20 Mar 2023 19:26: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=tpG0w0svoHQeZid+3mQ2b0MZYs4LSF0sjBdWJ/TRKh8=; b=QQmdaTn4dFrv/dj6/ohTJmCCQ8
	LJCThm8jVztJy5w2r7dBpIBeI35tggJxQ2TwU9GLspq72Ney9xvS9KTCLtusXzZbEY1K/dWeBSfzj
	peiTJ0zPOC82DEyPFlQcU0lXAX+wCSmQ8mwDBZ+aXjV5vtqMrPr5ZomuoJOAWB/XcZ4o=;
Message-ID: <e2421c2d-6ae1-bf70-530d-0683d943f519@xen.org>
Date: Mon, 20 Mar 2023 19:26:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [PATCH v2 3/4] xen/arm: Defer GICv2 CPU interface mapping until
 the first access
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Wei Chen <wei.chen@arm.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230130040614.188296-1-Henry.Wang@arm.com>
 <20230130040614.188296-4-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230130040614.188296-4-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 30/01/2023 04:06, Henry Wang wrote:
> Currently, the mapping of the GICv2 CPU interface is created in
> arch_domain_create(). This causes some troubles in populating and
> freeing of the domain P2M pages pool. For example, a default 16
> P2M pages are required in p2m_init() to cope with the P2M mapping
> of 8KB GICv2 CPU interface area, and these 16 P2M pages would cause
> the complexity of P2M destroy in the failure path of
> arch_domain_create().
> 
> As per discussion in [1], similarly as the MMIO access for ACPI, this
> patch defers the GICv2 CPU interface mapping until the first MMIO
> access. This is achieved by moving the GICv2 CPU interface mapping
> code from vgic_v2_domain_init()/vgic_v2_map_resources() to the
> stage-2 data abort trap handling code. The original CPU interface
> size and virtual CPU interface base address is now saved in
> `struct vgic_dist` instead of the local variable of
> vgic_v2_domain_init()/vgic_v2_map_resources().
> 
> Take the opportunity to unify the way of data access using the
> existing pointer to struct vgic_dist in vgic_v2_map_resources() for
> new GICv2.
> 
> Since the hardware domain (Dom0) has an unlimited size P2M pool, the
> gicv2_map_hwdom_extra_mappings() is also not touched by this patch.

I didn't notice this in the previous version. The fact that dom0 has 
unlimited size P2M pool doesn't matter here (this could also change in 
the future). Even if the P2M pool was limited, then it would be fine 
because the extra mappings happen after domain_create(). So there is no 
need to map them on-demand as the code could be order the way we want.

So this paragraph needs to be reworded.

>   #ifdef CONFIG_GICV3
>       /* GIC V3 addressing */
>       /* List of contiguous occupied by the redistributors */
> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
> index 061c92acbd..9dd703f661 100644
> --- a/xen/arch/arm/traps.c
> +++ b/xen/arch/arm/traps.c
> @@ -1787,9 +1787,12 @@ static inline bool hpfar_is_valid(bool s1ptw, uint8_t fsc)
>   }
>   
>   /*
> - * When using ACPI, most of the MMIO regions will be mapped on-demand
> - * in stage-2 page tables for the hardware domain because Xen is not
> - * able to know from the EFI memory map the MMIO regions.
> + * Try to map the MMIO regions for some special cases:
> + * 1. When using ACPI, most of the MMIO regions will be mapped on-demand
> + *    in stage-2 page tables for the hardware domain because Xen is not
> + *    able to know from the EFI memory map the MMIO regions.
> + * 2. For guests using GICv2, the GICv2 CPU interface mapping is created
> + *    on the first access of the MMIO region.
>    */
>   static bool try_map_mmio(gfn_t gfn)
>   {
> @@ -1798,6 +1801,15 @@ static bool try_map_mmio(gfn_t gfn)
>       /* For the hardware domain, all MMIOs are mapped with GFN == MFN */
>       mfn_t mfn = _mfn(gfn_x(gfn));
>   
> +    /*
> +     * Map the GICv2 virtual CPU interface in the GIC CPU interface
> +     * region of the guest on the first access of the MMIO region.
> +     */
> +    if ( d->arch.vgic.version == GIC_V2 &&
> +         gfn_eq(gfn, gaddr_to_gfn(d->arch.vgic.cbase)) )

The CPU interface size is 8KB (bigger in some cases) but here you only 
check for the access to be in the first 4KB.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 19:34:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 19:34:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512102.791767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peLGo-0007BJ-AM; Mon, 20 Mar 2023 19:34:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512102.791767; Mon, 20 Mar 2023 19:34: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 1peLGo-0007BC-6J; Mon, 20 Mar 2023 19:34:14 +0000
Received: by outflank-mailman (input) for mailman id 512102;
 Mon, 20 Mar 2023 19:34: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=xqGy=7M=citrix.com=prvs=436e66757=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1peLGm-0007B6-6E
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 19:34:12 +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 2f2f5417-c756-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 20:34:10 +0100 (CET)
Received: from mail-bn1nam02lp2040.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.40])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Mar 2023 15:34:01 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH2PR03MB5222.namprd03.prod.outlook.com (2603:10b6:610:9b::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 19:33:59 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 19:33:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f2f5417-c756-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679340850;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=wMr/9WMDlsPA5t1KEY7ZQGsJwyaalNilTtd8N1Kuf3o=;
  b=Rf8uHH8diNYMVv+umEKcC6ylJlsGVhXTeUaHo9xSH2xh7dV9gXEW+GN9
   bQI0myzgAnXYnKkxUzWe+T85wrHVQy3JEjKx8TZVn+M6wSz5B29sLnCvJ
   FVpwC864OCPXknC7EuILClQeoNjz2Tt6PnIjKqEgjt2xk0q5yidVI6eDU
   M=;
X-IronPort-RemoteIP: 104.47.51.40
X-IronPort-MID: 104015811
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:TYTb1K6Nttda8YYcdfC5YAxRtLPGchMFZxGqfqrLsTDasY5as4F+v
 jEYDWzQb6rcZmfyf91xOY+28ElT6JaHxoJkQFA9ri0wHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasR5AeH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m5
 /lAFCsQSja/rt2V7e/ndMkyoeUNFZy+VG8fkikIITDxK98DGcqGaYOToNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OlUotiNABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdpOTOTlpqcz6LGV7jwQNkM0X1CXmvCwjX++SdUcN
 2BMojV7+MDe82TuFLERRSaQvneAuQQ0X9tLD6sg9Wml1qPR6h2xGmsAQzhOedEi8sQxQFQCx
 lKP2t/kGzFrmLmUUm6GsKeZqyuoPioYJnNEYjULJSMH6dT+pIA4jjrUU81uVqWyi7XdBjXY0
 z2M6i8kiN07j9MP1qi91UDKhXSrvJehZhUu+gzdU2ah7wV4TI2ofYql7R7c9/koBIeCR1iCv
 X5Bl82f8PofJYCEkiCAUKMXAdmUC+2tNTTdhRtlGcAn/jH1oXq7J9gMuHd5OVtjNdsCdXnxe
 kjPtAhN5ZhVeny3catwZIH3AMMvpUT9KenYujnvRoImSvBMmMWvpX4GiZK4t4w1rHURrA==
IronPort-HdrOrdr: A9a23:2rT55qmwbjcN9Td+wf0My4PIES3pDfMxiWdD5ihNYBxZY6Wkfp
 +V8cjzhCWftN9OYhodcLC7V5Voj0msjKKdkrNhWotKOzOWxVdATbsSl7cKpgeNJ8SQzJ8/6U
 4NSdkaNDS0NykAsS+Y2njHLz9D+rm6GcmT7I+xrkuFDzsaE52Ihz0JdTpzeXcGIDWua6BJcq
 Z0qvA3xQZJLh8sH7iG7zQ+LqD+T5qhruOVXTc2QzocrCWehzKh77D3VzCewxclSjtKhZsy7G
 TflAT9x6O799W20AXV2WP/54lf3IKJ8KoOOOW8zuwubhn8gAehY4psH5WEoTAOuemqrHo6jd
 XWpB8kHsJrr1fcZHu8rxfB0xTplBwu93jh41mFhmaLm721eBsKT+56wa5JeBrQ7EQt+Pl6za
 Jwxmqc875aFwnJkijR78XBE0gCrDv/nVMS1cooy1BPW4oXb7Fc6aQZ4UNuCZ8FWAb38pouHu
 VCBNzVoNxWbVSZRXbEuXQH+q3mYl0DWjO9BmQSsM2c1DZb2Fh/0ksj3cQa2kwN8ZosIqM0kN
 jsA+BNrvVjX8UWZaVyCKMqWs2sEFHARhrKLSa7PUnnPLtvAQOMl7fHpJEOoM26cp0By5U/3L
 7bVklDiGI0c0XyTeWTwZxw9AzXSmnVZ0Wt9ihn3ek6hlTAfsuvDcXaI2pe1/dI4s9vTPEzYs
 zDe66/WJTYXCzT8YUg5XyLZ3AdEwhZbCQvgKdJZ7u/mLO7FmTUjJ2qTB/yHsuaLd92YBK3Pl
 IzGB7OGe5n0meHHlfFvTm5YQKZRqW4x+M+LJTn
X-IronPort-AV: E=Sophos;i="5.98,276,1673931600"; 
   d="scan'208";a="104015811"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m8zZYe/DkHhkoKp/XHJJckWxIExGKPFtD9OT6BjG7qbVJeLK/Ee/ZerCMk9y/aNp6SPQRPYEYPxmfFPF4sUVwuFcSYkXltY9GJBSGpfjsFrEPP8NWXcnQFeLQ/TTMKXH8HUsipgKTl6rAWTT9C/05HbaGxW6LmmcXvADGiTkYAM+fUlEKSKPl3CCqxbcLEi68cOnhK2v0BaNvqGtPZ5uWFtQdy5vFVgtPxcx6gGyvjgNwdwvxxbc1q+RjMNG8mYTvFc2TF9O1Xex55LdZlUFJdlSfVBet8MqwxONl3AgeMH8tHMVezR6COYUi3mPHkY5AfOZK9X5kP4QNFZ+TaavKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wMr/9WMDlsPA5t1KEY7ZQGsJwyaalNilTtd8N1Kuf3o=;
 b=ZGckpRpcyX+QMytjTt881EVUYLSEeBXzcrNivpTe76LrZOnhh4QE9K2fhA1/CwBPg4/PcRO/MCLFSCwq9PbJuZmaepcNFXLyVgFYBNXYrFTraQhBk6pDHuybo6wfDqhIDlXFNWTQaGBPoW4+ydFoa6vfqfGBdwGNdBujpB0/8LniKYXvNCDtDcYkWNpYIVFQ35SrBMCZJsZ1QR7bLfg6ARegyW8HE2IpX9Z2J8JPIdHSwBrBCSLFTY3AV9FdOk9vPyFLOTMA6wf+gidCEPpagjVWKLhH96Ltr3cGJEV9EXrSUMIlqNMF1o1TaBJAlmq5n7D1nQL+yj2nXcBEeB4btA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wMr/9WMDlsPA5t1KEY7ZQGsJwyaalNilTtd8N1Kuf3o=;
 b=vp0NdlHhCxy3HZGsa9Bumptqg4QngDD1FSYxv+mEEvw3KGgwdM01H+zDuiehWL9yJd3ltrTvo7JzrsSvy79k8zCFy3pH/sYHBopzTnNK3D01W3yvp/o1/KEF6F1LxEUOygT5jBMAg8Rbx1K+d9afgxc/5TNC8k9dITDfUnWVtFM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <615872d7-b118-374c-a89a-3d46b5e5f2f8@citrix.com>
Date: Mon, 20 Mar 2023 19:33:52 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
Content-Language: en-GB
To: =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg0KHQtdGA0LPQtdC5?= <valor@list.ru>,
 Tamas K Lengyel <tamas@tklengyel.com>
Cc: 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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Dmitry Isaykin <isaikin-dmitry@yandex.ru>
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
 <CABfawhncTLzRvHYF3SyhdidfobP9PB3YOZ9oTjRREjKs07KtXQ@mail.gmail.com>
 <c5ea0f53-8cc9-509e-6c82-deea00f1ed74@list.ru>
In-Reply-To: <c5ea0f53-8cc9-509e-6c82-deea00f1ed74@list.ru>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO3P123CA0015.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:ba::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CH2PR03MB5222:EE_
X-MS-Office365-Filtering-Correlation-Id: e8f05491-2055-448c-1f30-08db297a0a8e
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JUemW1l8pmliebN+2IwpB+uD38m9zoLU9iYbuarRH9m22lPttEMD//mJy0P4PlBPe6cJ1AdPo/xjIQKu356GN2hz3pTpHzz88BobY3Wr5JeIZqwPySCq9RopYxb+Xs3i+dpdp2EOyOtHFkbot322d6CFutXKP1jLb/Ibyw5L4HEb1Vic3M0MIka3bE6XtzMX0wyZeOCJN876eg6fE4KdO+QO0zfNRV048iMutuPNOP+COIydtd4dKOO+PM+LKklcDTYOY9S9b9m2iLun9yvyjG543ERXYN4aLAkcieUWuYfwMhs8TKaNjB7IAa9Erqbm3TRhW2c8BqmIA/pblz0a8y+jwP7e3xtipZnbKBsHOLxZrprHgxi9afcI6LfTBFv+nkzAYCzlpNjOXGKuPgAjS/ZjY6TnUAhiTgXRAVMi19t9K5q4cKDiAVSITAQq2g/dsa3sN4j0TGyo9iWuqwlzkHvMy6c9gTURPBdEcSxKrwtrgULtd6fq2RbyrlGCiN1dlQFX6hnP02ZGGPLKeDRdljtXbsoKu1LCLg8YLlJdH7i+PkHiJ0Qy4BvDKEW6WF7s3WrwD71ZrfjD38/E6ML1osXWQfFMvSeoHzsgzYVImrUoYKE9cCpwWFhdnRRJiTVP+gqiMaB4yjC4HxGAo8KqBGs9b10gUFHP38SFI2v6nXcXwhlC2j69j/Dtodr0lb3I21acDwltmpWxZ6x6jx3jl6HX6On5ruhsVrjJINu0jp4fL/hbTpoMMy4TXrY/yU/2KYeA4Ihc8OjiJ4LEMCmqJA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(376002)(366004)(136003)(39860400002)(346002)(451199018)(66556008)(2616005)(6506007)(26005)(6512007)(110136005)(31686004)(6486002)(4326008)(8676002)(316002)(83380400001)(53546011)(54906003)(66476007)(478600001)(66946007)(186003)(5660300002)(7416002)(8936002)(82960400001)(2906002)(41300700001)(38100700002)(86362001)(31696002)(36756003)(45980500001)(43740500002)(179675005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SCtLNnlQbWduSWVtTFpoTlR4SlQ0dnFRaEhCRTliekNVMkx0MFhGTWkxYVA4?=
 =?utf-8?B?OTBxazE5ZzBJREtvWEhyTElhWnlSZnk2U1Z5dTBncE9vbzBOcjdjUDlnZ2Ry?=
 =?utf-8?B?dEE5d1ZkZDZGZkI2WVAwMVZNYkFFbStKQnVIWERGdWx3M0NiSUc2dlN6YUJa?=
 =?utf-8?B?b0ZaTUtkdXFoWkJXdXczbmUwRHU3Zm4yWHpsV2VDV0U4b2lRLzFJYmpMZW5n?=
 =?utf-8?B?NjNDV0tPS3J2K2xsQnJFQU53UTFOV3V0cGN4Qmdkbk1CUEpIeUtsRk5WVk5q?=
 =?utf-8?B?OW9uZXptNmVYa2lNcnVsbTBUcVc2NkMvMkdYK2xSZjZoY1RnT1dXQWFZa212?=
 =?utf-8?B?RDNYLzRRbzBOUE1zSURLcW1YOERPZ2o3Q2t4Q3ppR3F1MjZFQXIrU0dXYXNC?=
 =?utf-8?B?dEEreEQ3OXJkTlM4OTlpdFNVSURiWFZDSjZvM0tlNnFaVkRhSXRPcldxbTZC?=
 =?utf-8?B?L0dWZ1NjMnFMektMcElOSjByMGFHemtpcGlQbWJXTXFFa0kwMW9aOU1oekEw?=
 =?utf-8?B?dFE3UCtyMnZlSkpHeUlkd0xGcDV2MGZmVkFSbitRZFVwV1dFZXRsVG9zdkI1?=
 =?utf-8?B?OE1ITzVJZ1Z3aWNKbGFhMDJoc29GbUxIWktvVmI1dTRhck9IMUIwZmlDNG15?=
 =?utf-8?B?R0d2bCt0TTlPbW4rQks5UXdldDkvbUNqYnZraG9abUNVYnRpWk03M3hPTUxS?=
 =?utf-8?B?MGY1ZXo3NFdkQlIzTkw2REM5LzZPRzJudDh1S0czQzFlQllrRzRGa1pJSEZs?=
 =?utf-8?B?dnhablA3UTRyZGZoWmREMXFqS2RuTGZYSUpoNWpjeEJOVHRKMjhqcEc4aCtI?=
 =?utf-8?B?YVN5KzRvdjY3QlhMRzNaNytwdTBSeHlhZVBUb2M3UmFxNzFkMGVwZGRMcnMy?=
 =?utf-8?B?bFU1MnY1YUNGTWR0amhlcGhPVERqY0U2SGV3b1NjMGY5RHNtc2UxNWpqUDlL?=
 =?utf-8?B?QW9TRWV1Tld5QnZvaUV1YlBueGxicGoyZGkvU0dEOUtWdDFwRlFxa2ZWSFpl?=
 =?utf-8?B?OW1LeGdPSU54cXhaRFEwTVlJRjRBWTlMTitMVGRNYXMrWEJjVG1uai82TTRl?=
 =?utf-8?B?ajNQZzlYNFJSZlpScFpFODIvRjVKaVFKVFNBU1ZKZG1Mc2RDOGorcXpvVlRR?=
 =?utf-8?B?WDgrYzVTLzFEakxuakloWGRlMk95aXFlQ0VuWUl1aXRHckVLMkFJOTJ2ekd1?=
 =?utf-8?B?TzN1b1I2eXpEOHZGb0U0QXd1NExYbEFlcVh6bUtOVTNPZzBaNElnS09TMFF6?=
 =?utf-8?B?Ylgzd2VWYXdZMXBxLzhUWEd1cTZaY1lDYUU2dFJKZCtyenpTK29wQUp2YVJX?=
 =?utf-8?B?c0l3YkRBYXNHVXN3YjVNWUl4V09ydTIrNVdNeVM4MGxqb0xFTHBJeXhQNVpG?=
 =?utf-8?B?Umx1ZGY5UDFyK09BZTkwQkFFdHdFMm04UGorRzN3T3FITGgwSTZQWVJTOFF1?=
 =?utf-8?B?aVAzMmg2SEtEK1JMaVZtdTNudkZwaCswcitwNEVkTThKYjJlWXVLNDQvVG9W?=
 =?utf-8?B?ek5TSVQvZDBBeTdVaVUzTkdtUUtPQk1Bdlk5VjBUR3BFYlhhV1cvR3pGOTNM?=
 =?utf-8?B?MkdjRFREb2FYeGhyRFZybUVUY0VqOVBzbmhYaHRJaU5Pamc5amM2SGNJUU1Z?=
 =?utf-8?B?Umo4T212a25lV3FGOU9YOXBVMEgrNFF0eXNJaDZyV1FpNzhaSU1FelBNSmZi?=
 =?utf-8?B?Nk1uRFhwaGE2Rm1zdElmdFArbnFvanptWlpIeEtKUi93Ym9yc0Y3THJtTHVr?=
 =?utf-8?B?bjF4MzlISnNWaHY1UWgwTFRiNkllTW92ckxmUDJKVHQvQXh3M3JmSjN1THVG?=
 =?utf-8?B?V05GRlEyUU5RZ1dvR1ZiZEdmV2hxcHJuYXhYRjI3dGgwU3VBc2VVUW04UVZI?=
 =?utf-8?B?NUpaUVFzejZ0VXJxMU5Qdm5hbk1CRVc1NEM3Zk4zRFZ5QmtJRGRqMTQrYXk4?=
 =?utf-8?B?NjRsYlFXLy96eHhkTEJZWFIreCtBdnVqRXlGNFJLRmoyMDhVWEZoWFQxU281?=
 =?utf-8?B?VlVpSHliL2FGTTFIMDBBb2U5a01VVFkrd2xEbzAzZDZVNUpZTEhaNmZ4TlA0?=
 =?utf-8?B?UHg3S010MG1Tcy9xbmlNam1OY2ZwUzBWM2d0UStXWngyRWVwMElIMHVwblRS?=
 =?utf-8?B?VWsyZnI0RVZYcVcvWFRvMXhQZVEvdHh1aW9UQm9ZbjRtOG9idUZJR2NKS0ZF?=
 =?utf-8?B?clE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?Rnk4K0EvSVg4SERXRUxnWmhYTjRFY0cvZVZYRFhVSitHR3pyR0lxOFdabjRv?=
 =?utf-8?B?ZnBVUTc5dURIWE9UVjg4NllxQ1hYWUxTRlhuUjNLd3hoT1llQ1JLdFJKSlp1?=
 =?utf-8?B?NmpxYWJCN1JIa1MzaTl0RTB1TDBjZWNzN0VoNGZWVmFRMEdMUHlFVFNNeGc1?=
 =?utf-8?B?dlJKTG5LZHk1V3c5RHNjeFIrNW9FK2U4S0FWVG00UVdYZHVzWEt3OWdKLzlv?=
 =?utf-8?B?NTlDbXd1aUV4WjczcXR3TTZLV01QdGV1c29aL3lQNGlWUXdkcGUwSm9mbjly?=
 =?utf-8?B?TVdBUURBNTV5UEhvc2pOeXJEb1E0bVc4RnR5Mm9vMy9WRVFTRzYxcU5lekov?=
 =?utf-8?B?Q0ovTVMyL0o0Q3pMM0hGQm5SRDZYTllGa0lUNUJGcmEyWEZMUld3bnpIU0NW?=
 =?utf-8?B?S3gyaXU1Zk5rVGpoMWt2eU1LNndsYnMvOVE1YWU5UHlpUVRwOGZhb0h0MlFJ?=
 =?utf-8?B?RmlnVXlSdzdXUGJ3M0tycEgwZ1RKNmFoMGF0ZUY3YTFXQnQrTXNvZHYyZVVX?=
 =?utf-8?B?M0lMT1Y3d1ZId0h0dktHN1FyeXVIR0Vmc3pqRU5mcWZSTGRIT0t4QnArcDdk?=
 =?utf-8?B?L3lkUlBFRm9CTGpzOUlIUVc1eUVGbTBFOWRVRVExelRxM0ZVRzZLNU0vT2Vp?=
 =?utf-8?B?SU5RdlI1OU12RnZraEtPSENFdDNPckw5OXhJMDhUMXlSZ3dFazNVekRsMjBC?=
 =?utf-8?B?eXdCZnFDNFFGVCt6a0RtbG0xZ29ZeW4vdllyamhlbXpOQzVtNEczYzE3ZDBS?=
 =?utf-8?B?bmwxQS9nMVpLUXRGY0xOUzA5SmlxYmd4bDlWdWt6RnFkSWRPSE5qaFFyYkph?=
 =?utf-8?B?SHJaUFlka1ZGVDU2OXlwcEZlSVFjdUVMeXJuN08vQjdqQzFQdDBqVlM4ZTJZ?=
 =?utf-8?B?a1hvbTR3VXR6TnZDR3NnR09ZWmY0QjRoYk0xSzlXeUE1a240RmVvNWJkZHNH?=
 =?utf-8?B?RnlGT3VEVW5XeVZWUk5VTmJPS2tUenlVbjBSb2V1R3hlWVVEZ1YzaWVnMUhF?=
 =?utf-8?B?TEVoR0pNMTZETS9sb0dkR3dId2JlOEVCNEE5ckdySmNoS2ViSy92OGZBMFVI?=
 =?utf-8?B?eGVxSytkbXNXVkpLdVR0dEpNODMvRGxlai9lZGNvQ1ViNnpPWGtSQ09qREhI?=
 =?utf-8?B?T1hHTWhrMDNrcCtZZGFLTG51aXloVmJ0WDQ2Vk8yeEVVTmpmSXhRQzI0SEVV?=
 =?utf-8?B?ZUZqdXVFUkZSeUZVL0VVLzMyUk93ZGtlK0FBb1R4dzV2UE5RQVhLeUg5RVJq?=
 =?utf-8?Q?AZhmeLhgIadrHwi?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e8f05491-2055-448c-1f30-08db297a0a8e
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 19:33:54.5548
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fWFhF5Y8h3QfngxlYAATJRut4dhz2nIIIMG5UNyOEJwIoljN2+QiW/jSUYIQxos+eceSbWzBVdg62EDLEJNiNPc93FYJU/U3+P8yj+9kA8o=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5222

On 20/03/2023 7:22 pm, Ковалёв Сергей wrote:
>
> 21.03.2023 1:51, Tamas K Lengyel wrote:
>> On Mon, Mar 20, 2023 at 12:32 PM Ковалёв Сергей <valor@list.ru
>> <mailto:valor@list.ru>> wrote:
>>  >
>>  > gva_to_gfn command used for fast address translation in LibVMI
>> project.
>>  > With such a command it is possible to perform address translation in
>>  > single call instead of series of queries to get every page table.
>>
>> You have a couple assumptions here:
>>   - Xen will always have a direct map of the entire guest memory -
>> there are already plans to move away from that. Without that this
>> approach won't have any advantage over doing the same mapping by LibVMI
>
> Thanks! I didn't know about the plan.

To be clear, "not mapping the guest by default" is for speculative
safety/hardening reasons.

Xen will always need to be capable of mapping arbitrary parts of the
guest, even if only transiently, so there's no relevant interaction with
this new proposed hypercall.


The truth is that Xen will always be able to do a single pagewalk faster
than libvmi can do it (via mappings, or otherwise), but if libvmi does
properly maintain a cache of mappings then it will be faster that
repeated hypercalls into Xen.  Where the split lies depends heavily on
the libvmi workload.

I don't see a problem in principle with a hypercall like this - it is
"just" a performance optimisation over capabilities that libvmi already
has - but the version presented here is overly simplistic.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 19:35:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 19:35:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512105.791776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peLIB-0007k2-Ju; Mon, 20 Mar 2023 19:35:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512105.791776; Mon, 20 Mar 2023 19:35:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peLIB-0007jv-H9; Mon, 20 Mar 2023 19:35:39 +0000
Received: by outflank-mailman (input) for mailman id 512105;
 Mon, 20 Mar 2023 19:35: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=GPvh=7M=list.ru=valor@srs-se1.protection.inumbo.net>)
 id 1peLIA-0007jp-TE
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 19:35:38 +0000
Received: from smtp35.i.mail.ru (smtp35.i.mail.ru [95.163.41.76])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 61686425-c756-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 20:35:34 +0100 (CET)
Received: by smtp35.i.mail.ru with esmtpa (envelope-from <valor@list.ru>)
 id 1peLI4-00DKph-Cf; Mon, 20 Mar 2023 22:35:33 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61686425-c756-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=list.ru; s=mail4;
	h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:From:Subject:Content-Type:Content-Transfer-Encoding:To:Cc; bh=Xi6xwze9ipiWlZ9k95YT37vror7kseeF93EZ2Xg8+l8=;
	t=1679340934;x=1679430934; 
	b=OrVeQ0bRgRcqdQS2j6LUfjbkCw/Ib/CKpaKR9OixPE2Addi/RPvhiFa4KFNiGnEeOXEtQ7zaiR5PC+T8gUsqXd4LIuSURtP+y/x6q9tRkE5uS2AivABFEPKcRZ2+4n1jmXefxwu6lfwmdOQ4U7AN4FN5ta9HBes6IiYWAnmeWFazNwMaL78hzFR8cXXOs6rqekVldgABp/411uQSx3HcGIX/4+CFgdjn+dcxcw5PZzvxouWsvdtc4vgGPngdmjUyV9U3s6hozvVdLjZxnmLt1uTrZKdZKZlT/RQrEs8QpiTFgIO5djV0atdfcV+K40UA3lB94uIRZBMonfc2M3LnCA==;
Message-ID: <3db374f7-4c87-f39f-dbad-a1a242d4914f@list.ru>
Date: Mon, 20 Mar 2023 22:35:31 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
Content-Language: ru, en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, 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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Dmitry Isaykin <isaikin-dmitry@yandex.ru>
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
 <f2231607-b29c-b54b-874f-4e30ee84ae80@citrix.com>
From: =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg0KHQtdGA0LPQtdC5?= <valor@list.ru>
In-Reply-To: <f2231607-b29c-b54b-874f-4e30ee84ae80@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp35.i.mail.ru; auth=pass smtp.auth=valor@list.ru smtp.mailfrom=valor@list.ru
X-Mailru-Src: smtp
X-4EC0790: 10
X-7564579A: 646B95376F6C166E
X-77F55803: 4F1203BC0FB41BD9303C7CA6F8B0D1AB73F6BB652401FCBD9A00615D1C3A0754182A05F5380850408843CD233744C354BA45385A74E66A000AC342144BE2492737EEE8B237D9E276
X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7FACE2B07D13A236DEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637835928C62272F24E8638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8A42872D32DBF4FB62548E8D85C0B1F1C6F9789CCF6C18C3F8528715B7D10C86878DA827A17800CE740D0B15A1445ACA99FA2833FD35BB23D9E625A9149C048EE437C869540D2AB0FC26CFBAC0749D213D2E47CDBA5A96583BD4B6F7A4D31EC0BC014FD901B82EE079FA2833FD35BB23D27C277FBC8AE2E8BDCBA8CBAA3833548A471835C12D1D977C4224003CC836476EB9C4185024447017B076A6E789B0E975F5C1EE8F4F765FC27E72F19B8D56CD43AA81AA40904B5D9CF19DD082D7633A078D18283394535A93AA81AA40904B5D98AA50765F7900637C770107576E8A7DFD81D268191BDAD3D3666184CF4C3C14F3FC91FA280E0CE3D1A620F70A64A45A98AA50765F7900637F9425D8FA97DB4396D1867E19FE1407959CC434672EE6371089D37D7C0E48F6C8AA50765F7900637BC615C5154A25A8BEFF80C71ABB335746BA297DBC24807EABDAD6C7F3747799A
X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D348E5EF936B2E46EBA97A3AA3AD6665CC40C1FF6F982B06A55BA3BB7AB1ACCFF5310590B5EF6DF2CE01D7E09C32AA3244C8392FA78F2C0BB34F0B1EEE2AC195E271DD47778AE04E04DED98077840A144B9
X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojrPvsFeLNXrWKgEwFB58lvg==
X-Mailru-Sender: 6C3E74F07C41AE944C83DF7F8E76CAD9F6D1D0808FA1D948E8B19DE89B8DE62478DA84BECF987551671A0538F0E0E4B8C77752E0C033A69E86F8B8EC1BECD1EECCC3E8BC0E932F7CB4A721A3011E896F
X-Mras: Ok



20.03.2023 22:07, Andrew Cooper пишет:
> On 20/03/2023 4:32 pm, Ковалёв Сергей wrote:
>> gva_to_gfn command used for fast address translation in LibVMI project.
>> With such a command it is possible to perform address translation in
>> single call instead of series of queries to get every page table.
>>
>> Thanks to Dmitry Isaykin for involvement.
>>
>> Signed-off-by: Sergey Kovalev <valor@list.ru>
> 
> I fully appreciate why you want this hypercall, and I've said several
> times that libvmi wants something better than it has, but...
> 
>> diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
>> index 2118fcad5d..0c9706ea0a 100644
>> --- a/xen/arch/x86/domctl.c
>> +++ b/xen/arch/x86/domctl.c
>> @@ -1364,6 +1364,23 @@ long arch_do_domctl(
>>               copyback = true;
>>           break;
>>
>> +    case XEN_DOMCTL_gva_to_gfn:
>> +    {
>> +        uint64_t ga = domctl->u.gva_to_gfn.addr;
>> +        uint64_t cr3 = domctl->u.gva_to_gfn.cr3;
>> +        struct vcpu* v = d->vcpu[0];
> 
> ... this isn't safe if you happen to issue this hypercall too early in a
> domain's lifecycle.
> 
> If nothing else, you want to do a domain_vcpu() check and return -ENOENT
> in the failure case.

Thanks!

> 
> More generally, issuing the hypercall under vcpu0 isn't necessarily
> correct.  It is common for all vCPUs to have equivalent paging settings,
> but e.g. Xen transiently disables CR4.CET and CR0.WP in order to make
> self-modifying code changes.
> 
> Furthermore, the setting of CR4.{PAE,PSE} determines reserved bits, so
> you can't even ignore the access rights and hope that the translation
> works out correctly.

Thanks! I didn't think about such things earlier. I should to think
this know carefully.

> 
> Ideally we'd have a pagewalk algorithm which didn't require taking a
> vcpu, and instead just took a set of paging configuration, but it is all
> chronically entangled right now.
> 

Do You mean to add new implementation of "paging_ga_to_gfn_cr3"?

> I think, at a minimum, you need to take a vcpu_id as an input, but I
> suspect to make this a usable API you want an altp2m view id too.
> 

Why we should consider altp2m while translating guest virtual address to
guest physical one?

> Also, I'm pretty sure this is only safe for a paused vCPU.  If the vCPU
> isn't paused, then there's a TOCTOU race in the pagewalk code when
> inspecting control registers.
> 

Thanks! Should we pause the domain?

>> +        uint32_t pfec = PFEC_page_present;
>> +        unsigned int page_order;
>> +
>> +        uint64_t gfn = paging_ga_to_gfn_cr3(v, cr3, ga, &pfec,
>> &page_order);
>> +        domctl->u.gva_to_gfn.addr = gfn;
>> +        domctl->u.gva_to_gfn.page_order = page_order;
> 
> page_order is only not stack rubble if gfn is different to INVALID_GFN.
> 

Sorry but I don't understand "is only not stack rubble". Do you mean
that I should initialize "page_order" while defining it?

>> +        if ( __copy_to_guest(u_domctl, domctl, 1) )
>> +            ret = -EFAULT;
> 
> You want to restrict this to just the gva_to_gfn sub-portion.  No point
> copying back more than necessary.
> 
> ~Andrew

Thanks a lot!

-- 
Best regards,
Sergey Kovalev



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 19:47:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 19:47:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512112.791790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peLSz-00012Y-Q1; Mon, 20 Mar 2023 19:46:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512112.791790; Mon, 20 Mar 2023 19: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 1peLSz-00012R-N6; Mon, 20 Mar 2023 19:46:49 +0000
Received: by outflank-mailman (input) for mailman id 512112;
 Mon, 20 Mar 2023 19:46: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=xqGy=7M=citrix.com=prvs=436e66757=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1peLSy-00012L-5a
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 19:46:48 +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 f0d698d7-c757-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 20:46:46 +0100 (CET)
Received: from mail-bn8nam12lp2168.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 20 Mar 2023 15:46:41 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DS7PR03MB5528.namprd03.prod.outlook.com (2603:10b6:5:2c5::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar
 2023 19:46:32 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023
 19:46: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: f0d698d7-c757-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679341606;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=rRdq8SeMNqBhRW5k0lO2KCQHkrOHIO8uhBcHaFzTd8o=;
  b=OIqHJ6Pgcp4uwVDHmBZ4UoJCkvvmfea9MlYhGi6BcCUZn/CVQ1G9NqC5
   xF5uBdP5sFRxzJ+auShW5n0DcVXvibsNPi98VgrxEQ49SMiQ/5QCPmstn
   HrTR3jr+/uCFIOAtgPsgNXObyr/+vXb5TwuO+fDvWrViOoUJbSs6ZeXL9
   Q=;
X-IronPort-RemoteIP: 104.47.55.168
X-IronPort-MID: 101601411
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:6eMK6q4Tywywv8VjWYaRzgxRtLPGchMFZxGqfqrLsTDasY5as4F+v
 mYaDWiDbP+NM2Tyct52advi8EtSvZfdmNJgSAZrqnpmHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasR5AeH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m1
 8UzdikRaCm/q6H1+qDkQ+tvv8M6M5y+VG8fkikIITDxK98DGMqGaYOaoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUoojuiF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtKTePgr6Iz2TV/wEQxJToUUlyis8W5i1+gRdFbL
 FIe9QAX+P1aGEuDC4OVsweDiGCNuhkGc95RCPF88hzl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9S3iQ67OVpjOaIjUOICkJYipsZRQBy8nupsc0lB2nZtR+FK+4iPXlFDe2x
 CqFxAAlnKkah8MP06S9/HjEjiiqq5yPSRQ6ji3LV2es9StlZ4qoYYO55Fyd5vFFRK6YVVCAv
 3kC3sSb7fwUHLmcnSqBTfVLBqzB2hqeGDjVgFoqFZ9x8T2ooiSnZdoJvmE4I1p1OMEZfzOve
 FXUpQ5a+J5UOj2tcLNzZIWyTc8tyMAMCOjYaxwdVfIWCrAZSeNN1H0GiZK4t4w1rHURrA==
IronPort-HdrOrdr: A9a23:6ptGEKC2r0V1kgXlHelw55DYdb4zR+YMi2TDtnoBMiC9F/byqy
 nAppomPHPP5Qr5G0tQ/exoQZPgfZqEz/5ICOoqTNWftWvdyROVxehZhOOJ/9SHIVyaygc378
 hdmsZFZOEYQmIK6voSTTPIdeoI0Z2syojtr+Hb1nJsRQZhZ+Vb6RtjAArzKDwUeOADP+tBKK
 ah
X-IronPort-AV: E=Sophos;i="5.98,276,1673931600"; 
   d="scan'208";a="101601411"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f3JV3hRHJUXeJbfM+yFy2REeMHNaSJewK6H9vxnR/dgP49wOm2AfD0T91udN5x2RVniG6UHFy0fz9Gft9nHhNvARzbn4mnX/nhcsxScbP0nmZVyFrG8QSIRxfJY933AcJbRoBT20ROIpL1gFpi/JsKBB0qL/SLsH3y6FFcVTLtMOuFJr3TX6N+cI+OKYfPr4ks+50kBVBLy3ZePtrYmAs6xLTfH8wOVGSzdKDBd0ntob+1WRYjV0mK62L8iJC0uYf5/DVy3lDzzEqu5FgP1JOoXsEo9av7QtEYpZweVp/pda5uNyyJpYNSM49AaNOmTF3DHoqQ8/W/JuUzXxMs8I1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rRdq8SeMNqBhRW5k0lO2KCQHkrOHIO8uhBcHaFzTd8o=;
 b=LReuzUNYXIK6qtIn7hANwpq9FGwsIIWXPxVBmgYcVX21ZH42U12luJh9XTbJD+Z6wvs60sv1aIBxVxGfPyRgD7D+i7ElK0WxXzzEsxMP6+s7v/m8QKMvLBbUJ4YSO+soiR6dZDnnIxNvKf1j6JTNjwJVXrFlUCnSIoQd3trcoXCsJCHT3Jr/hGk0dBAMoRYg66vX8YMNu2crsacbUsulc6sYcS0GRjSf9Bem6yy4oiRriyn+jC2ZO1ljK0KcL+2s5IZ9Q4qkexlBejm+2mEXknjry3FSO5F5vugvxO0/TSB3imsqumDAszDG7WbvXY6M4i5gonKfhutpr3GtHCaWsg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rRdq8SeMNqBhRW5k0lO2KCQHkrOHIO8uhBcHaFzTd8o=;
 b=vU+nGkh5QpZ9NliyZpPRRoGs+oYdzO9wX5L8X3he0E+89XtNIU3B6ZyKMdj3nWYhI5CFmUS0TEtWy0u3o/vpOagogqbSOskVeFifPJuXyszj1Ql5pE7qd02ABsBgblp+qhbksdl2W60mCfpBfgcYXspeC+RzyJo4cmmrBcbP99k=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <22919956-a35f-1710-3fb7-6a8b37233a04@citrix.com>
Date: Mon, 20 Mar 2023 19:46:27 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
Content-Language: en-GB
To: =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg0KHQtdGA0LPQtdC5?= <valor@list.ru>,
 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>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Dmitry Isaykin <isaikin-dmitry@yandex.ru>
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
 <f2231607-b29c-b54b-874f-4e30ee84ae80@citrix.com>
 <3db374f7-4c87-f39f-dbad-a1a242d4914f@list.ru>
In-Reply-To: <3db374f7-4c87-f39f-dbad-a1a242d4914f@list.ru>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0504.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:13b::11) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DS7PR03MB5528:EE_
X-MS-Office365-Filtering-Correlation-Id: 9f0acf11-fe92-43c9-6772-08db297bcd34
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mFlbnNYtUpqpAaL44pTVyEDv5etxIabLFEBqUaG/M26iqOBvt8yTupK2tVye5FtYA11hU6Sd1YtaFU9CkUIDfGw6ERt/oUG3/eVIB9EsAxhgORnIYonNtGdur2rtiUd4t2UU8CY66k94YAMAq6R1GwCoo3nJCfQgHXZpCX/ODeL+NbQL7PG8Q2TtTp/TKMGofUVCxWtVVXCDAFf97nMTiN+Qko5ZJwgHMfkeAKKQaXx7uWU+98KynHw1kz2UzIZfNTKRJQW0C8m2t24rXeSQ9XnknKV797I/dQW8a+dWzBIfN0LX79OWwKugcNWKSwqSFPlvYNFLssHjsEUBZUhUIAChBQIh4oQ2I6cmKV8nLhIHM/+v31S5q1fmnQF2eBo8SN5qlPbqZcXo2Len3dgApNXvlg2Xp6FcxH5CLNfSHxy2Kh4t4//xKtGdNhdIv4c9y5Lz8bqy3ACrW0cNZ7CgWnQ06bOlfnIDyuiyJTTXjSgwz2+DjxwwL+SPafI0dLzOj7akAR+s9JIIOD7s18aFmMzRmvmVmp2bJJOHyIO9Ct9W5RTfadETYKuUYdj0LnBzpifRHKtAXoEjVQOqJnCa9+3jAC3zR3VkYUP5G7o08br+zLtWPmKrvRdMt9YvOHBqdTX4ud608janJlI11HSll6QhtB4nvXbqs0JhBIdIF+lSRWAJqQrcSgyxVyE5VvdYrvzi9NOYRuVtX3Tk7BpOq0+LObD1+hy/tivj5Gq7ssorofJrHxDfAil65+OvdgDdzb+tXd8rgMYPDGvca0APTQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(136003)(376002)(39860400002)(346002)(396003)(451199018)(82960400001)(2906002)(83380400001)(6506007)(31696002)(6512007)(8936002)(7416002)(36756003)(53546011)(5660300002)(6486002)(966005)(41300700001)(2616005)(86362001)(26005)(6666004)(186003)(316002)(54906003)(478600001)(31686004)(66556008)(66476007)(66899018)(66946007)(38100700002)(4326008)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a1ZZb09zbVFNaS9qYXk5ZjVmSnhnZm0rSkFhVi9zckZRdEg5RWdDbGNaTnN0?=
 =?utf-8?B?aXQ4U0VDYWYzK3BLYWlaMnhRMmRYbXRreUN4UUFtOThQZURPLzBGRkRnM0xC?=
 =?utf-8?B?TjNVZ1NySTlLZHB1dFkwTFBDRXl3Rnlqc01pRWhNSWpWSVhjdTkzeUhCK0Zn?=
 =?utf-8?B?S0tEVmZ6SmJIeWZ2ajdCNlVPRDlVLzZlK1gwUzJ1S1F2OTJQRXREemREeEdx?=
 =?utf-8?B?VW5NTEtybU9BRVFIUlgvNFJpMjMxb0NsQXQ1cHJMMUxSaUNCWWxqMVZiSXpk?=
 =?utf-8?B?eFc2dys0V1Z5ekQ2UUFXNEpUc0srMzZQQjliaXFXYlhSR2NOdUlPS25YTkMv?=
 =?utf-8?B?YkRmckV1enlQSnpubmU4S1JFQSt5bThDK0dNVnM1YTFRMXQ5ejZDN2gxN1Q4?=
 =?utf-8?B?bVN1ZXF5SFJMcUgrU2xVOGt4aUJRSGZjV0wrZTBqYTZ1Nm9EWEVhaHdCMmVj?=
 =?utf-8?B?VU51K0gwdkt5cEE1UkI0bWRvWjZjMUJPT0UvWEs0UGg4NXg1c2Z4dlNwdGUr?=
 =?utf-8?B?S1NUL1hES0JkNm95TmpvV2ZkY29FZ0NMb1YvdDMreDJEUWRFRjN0RkcxZ1k3?=
 =?utf-8?B?cjJHM0VrSUFJUDV0UE50Q21qQmR2YjVaemdTY2dnejF4NCtrWlRoWGFOdWJZ?=
 =?utf-8?B?OSthcnBBM1pqUVlpbnZ6dWJGZlNrd1NiMkdhbVMwcjR4OGVzMUFPN21vMFha?=
 =?utf-8?B?azNCcDVDUWp3ZUY2TW1TWG45NFJ2UUkrczFLRUlxdng4aEN6aDE1eHk2aDNS?=
 =?utf-8?B?SENqV3hyZFlKaWtpU1NRYjI1ekRvNTgvSC9lam0wZC9vZXJIT3BJd0dQS0dq?=
 =?utf-8?B?dDk5MmlCWTlxQTZGTVo0TG1hNU95eFM2REoreGZlSmh4MmxwN1BvU1lxTnZk?=
 =?utf-8?B?cDVFWFphZlV6cFhIUWR2dmc5NnJkVXA3SGd0eXhqaWh6cFhBaWcrckozZEdG?=
 =?utf-8?B?NjBiVENKUlk4bnFMRlF3UFBvdjNDeVVXQ2Radmp2ZVQvZzViYnZKQ3JPM1lt?=
 =?utf-8?B?NEVUa3V5MkVKZ0JKU1o0Vk0rSmdHN296MVg3R056b3ZZeTh2bGd1MUFqcGxI?=
 =?utf-8?B?U0M2eTA0Zm13Zmdva1ByMlVJZmtqdXZOaG5ibVhNWHg5SVYyOHNHaWV2UGov?=
 =?utf-8?B?TUwvYVFta25QdXZWWnlRWGNjREdaMkFJcm5ISnp5Z2RaTzVKaXJaR2E0UmEv?=
 =?utf-8?B?bjhZcnBDdVp4alNRYkxFTGYrdDJDMjVlZ0JrNmlTcXI2TlF0MStuYXVZMGdy?=
 =?utf-8?B?b2hDaWtKR2JESFBNay90bHJYN1hDY2FkQ3JnYUVpVkJxWWx2bW1LMDBBRGJ6?=
 =?utf-8?B?UWFCMHdBR0hNeExnanFmWDNCbGhnK1Y5R0FhYktOYzFtU0dMRUxtbFpLamV4?=
 =?utf-8?B?TnVOek1xaFEzOWF1VE91Mk1RS2g2Q0t3eUtTZXdydlRXRGlYd1kvL1ppbWJI?=
 =?utf-8?B?VlpPc2tzSFhjWW9hVVdmdWJNdm1wZldNdlVUTHpabW5uUk1xbWxzQzkySzhT?=
 =?utf-8?B?OTg5M1gvT0laWXZEWEFUTlRuUWUzcVFVMnBIWWdtSExQNUI3QTN0V0kwWHhZ?=
 =?utf-8?B?UVNPdFdwQktuNUFRMFcvT3I2ditTYnJ0SjhPYTZkQWNRa2pOMENReTJjT2da?=
 =?utf-8?B?OFVPdUdXZ2RiK1hOVXpXMnNRdFpyeGhra2dWeFJPZm9IUU9oUjJqbUNrNmRq?=
 =?utf-8?B?UEp5MlMyTWNmeUY4elhTZmVON1dMWkIrRml6YTQ4WUM5WHhzRjd3eDhyZ0ly?=
 =?utf-8?B?RjVkRmlYZUZzQWJISkpGRU45SXp4Z3pSQkxWRDFRSXZPWTg5amE5d1U1MUJx?=
 =?utf-8?B?d1VBVzlnQ3VwZnlPTFhlUDF1OWFRTDV1dDZQQmtiU2lOU3AvdXowbkV2OXEv?=
 =?utf-8?B?T3o2MjZBK0FRVlhneVZ5SHl1Q2RwQ1A5d2hRWm0xVExRM1Z2bml1RW1pT01x?=
 =?utf-8?B?ZjFvZGhtYTBYSlhpYW8ySXNJMEJWaTNoMStORCtRUm5YQ0hRS3dFWFRrQnV3?=
 =?utf-8?B?emhMekJDNWdTNm8wS3pIZWQxWUtIWElueW93ZG8rdzI0YnovaWpLNUVUcFBF?=
 =?utf-8?B?V01hamxUeEJhSTNMcnhnUUhMWCtuMm1pSWVtSlBuRElNQTlrRW9GeU00ZVRF?=
 =?utf-8?B?RlRPeGZpOXhNQjd0WWoxUHpKdkczc0VaSEJ1NmNVN1dNamN5MTRoQVVwamU3?=
 =?utf-8?B?SFE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?QUp1MDcrMUZaZUVFRUhSUVZCSGpCOEdwUFNBWVJKZm5RTGxCYm9OejZrQWMr?=
 =?utf-8?B?cUxOSTN2RElQYUdpWTZHdU42OVd1d0lrc29GYUE5ZjFOUzBqbm5PcDVjZmhF?=
 =?utf-8?B?Wmx0cElkWHVvOE5PazNkd052Qnd0cEdRV1k2Szh4b3paVXJrWDViR3g1Z0hP?=
 =?utf-8?B?OVpqWDRKdHV0ZnA0SGtTbGU0Z1pvcFlWMlZ2UVpYR3JBR2htRmdDM1VNaHV3?=
 =?utf-8?B?VTNrYk9jVVVYdUNkWm95WmRiNExQSGF2MmpEM0ZVazRteXczTGcrYVFSc0Vu?=
 =?utf-8?B?aUtaQ1dXaXlCb1JXS3FuRzBDSzVUSDl6SFFBbG9aQ3hWZ1A0NDdxVmNRQ0Nx?=
 =?utf-8?B?K1hvU1lQMW1RUDBCWTlxN1FtTTBoRzBLMmZUS295YTl5RFR3TXcyNk9DNkFI?=
 =?utf-8?B?RXE5Y0dlM3ZUV2JTSXVGZGVvOHp0UnZRT3IwZnBQc0lWK1kvUUl5UkZXQWlS?=
 =?utf-8?B?bHMwVUo3TUN0WE8yNUNLejJlczdhaytUK1Nad3VvSXF6RHVmVmUvTER4STc5?=
 =?utf-8?B?MlUxbUVSQWhQeEZPNXVKakJmSFN6dGgvTWFqNFg3aEZNakx3VDR2SkJCeFpl?=
 =?utf-8?B?cmhSemxQdnNNdEF5aFgxMlV3bHAwQTRoWDNWZ2h5cUJQYWE3bUxRcWhjOXBY?=
 =?utf-8?B?Qm16SG9ZSHgyZW0vYVFkdlE5S0h5a1U5QnY5RVdCQ2hpdW8yV1NuQk1sVjc5?=
 =?utf-8?B?M2c2T252U0Q3eFZIV0Zoc0VZVEZpRUZzWnRyQncxWXBWSHZ3QURuLzdZdE9Q?=
 =?utf-8?B?L2dEWjhEMHFGWm1PSFU5VVcrRU05eitpU2wxaUp2Ni8yRi83MTJpbldHZXly?=
 =?utf-8?B?WVNzdHhoQUNYUlIwbUJGekpFTXpVd1U0SHNxR2hFbDVXck1BbWZJbmV4eXk4?=
 =?utf-8?B?OVdDOFB6Um9JMU5VZUR3aDF1RzQrUTNsYVlsenNkamVVaVJReGs0SnFJaHB2?=
 =?utf-8?B?R3pYVzIra0pDNGVNRXhUbFNJZmgvbUVXcVkraENTR29UTFYyaks4em5BVlFz?=
 =?utf-8?B?eDFiZTUrUDg2YitjS2phQVk1eTBZdWJDRVdlU2ladUhyVGVub3BWcXF0RW9u?=
 =?utf-8?B?K2RaeFFEVW9taW5GMVdlUlNHOTlQNzhGUG8wd2g4WHlwQnVxblJ2SVdIeFdI?=
 =?utf-8?B?ZnNJOTNpengwMmwwOXFpOEZZV2FUc2RpSFdoeXpMTXE4bGRYQU1UbWlISGRW?=
 =?utf-8?B?Ykt6L3FNTEdQZS9zQWlpOFRsS3NydFg1R2lFbUZuUzZyN01hcTMzckwwY3NF?=
 =?utf-8?Q?vwl5B6rcSDnbL1Z?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9f0acf11-fe92-43c9-6772-08db297bcd34
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2023 19:46:30.5880
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XTyi280uGTzkA+HcYu2Aw5qj/cx4H7jDMatyWOY/SGAluKW8obfAQFsXQW289Hjqi/SzPe40ebJknJobd7sOY3kBnh1sQBkhkMlzOt+HQWM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5528

On 20/03/2023 7:35 pm, Ковалёв Сергей wrote:
> 20.03.2023 22:07, Andrew Cooper пишет:
>>
>> More generally, issuing the hypercall under vcpu0 isn't necessarily
>> correct.  It is common for all vCPUs to have equivalent paging settings,
>> but e.g. Xen transiently disables CR4.CET and CR0.WP in order to make
>> self-modifying code changes.
>>
>> Furthermore, the setting of CR4.{PAE,PSE} determines reserved bits, so
>> you can't even ignore the access rights and hope that the translation
>> works out correctly.
>
> Thanks! I didn't think about such things earlier. I should to think
> this know carefully.

If you haven't already, read

https://github.com/xen-project/xen/blob/master/xen/arch/x86/mm/guest_walk.c

and

https://github.com/andyhhp/xtf/blob/pagetable-emulation/tests/pagetable-emulation/main.c

These are various notes and tests I made last time I had to rewrite
Xen's pagewalk from scratch.

>
>>
>> Ideally we'd have a pagewalk algorithm which didn't require taking a
>> vcpu, and instead just took a set of paging configuration, but it is all
>> chronically entangled right now.
>>
>
> Do You mean to add new implementation of "paging_ga_to_gfn_cr3"?

Yes, but I didn't mean for this to be taken as a suggestion.  It's far
more work than it sounds...

>
>> I think, at a minimum, you need to take a vcpu_id as an input, but I
>> suspect to make this a usable API you want an altp2m view id too.
>>
>
> Why we should consider altp2m while translating guest virtual address to
> guest physical one?

Because altp2m can change the gfn mappings, and therefore the contents
of the pagetables.

A pagewalk from cr3 in one view can end up being totally different to a
walk from the same cr3 in a different view.

>
>> Also, I'm pretty sure this is only safe for a paused vCPU.  If the vCPU
>> isn't paused, then there's a TOCTOU race in the pagewalk code when
>> inspecting control registers.
>>
>
> Thanks! Should we pause the domain?

Certainly the vCPU.  Chances are that if you're making this hypercall
from a libvmi callback, the vCPU in question is already paused, at which
point taking one extra pause ref on it is very quick.

>
>>> +        uint32_t pfec = PFEC_page_present;
>>> +        unsigned int page_order;
>>> +
>>> +        uint64_t gfn = paging_ga_to_gfn_cr3(v, cr3, ga, &pfec,
>>> &page_order);
>>> +        domctl->u.gva_to_gfn.addr = gfn;
>>> +        domctl->u.gva_to_gfn.page_order = page_order;
>>
>> page_order is only not stack rubble if gfn is different to INVALID_GFN.
>>
>
> Sorry but I don't understand "is only not stack rubble". Do you mean
> that I should initialize "page_order" while defining it?

page_order is only initialised when gfn returns != INVALID_GFN.

See the function description.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 20:09:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 20:09:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512116.791803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peLoL-0003nS-J6; Mon, 20 Mar 2023 20:08:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512116.791803; Mon, 20 Mar 2023 20:08: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 1peLoL-0003nL-G5; Mon, 20 Mar 2023 20:08:53 +0000
Received: by outflank-mailman (input) for mailman id 512116;
 Mon, 20 Mar 2023 20:08: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=uSrZ=7M=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1peLoJ-0003nF-Pm
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 20:08:52 +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 0598d0cf-c75b-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 21:08:47 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 26B23B810A7;
 Mon, 20 Mar 2023 20:08:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4C261C433D2;
 Mon, 20 Mar 2023 20:08: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: 0598d0cf-c75b-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679342924;
	bh=DPP8AZIfqNebb5gjsJGLu2mkGF9Ql7aXErVeNmlYwJg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=T21miy+zL3OWegUllHcx4Yc7Q2AhTjGLTVKAUIStvdDkgVFW71kPceHhtBBFJc9mA
	 eK5JoREfgWW/gnoL3Ng9C70rJEw2oG/FrWTdRxNM/KzTRyp1A3K0mtXVj9/N+KqPhf
	 27i3UvNOLbtvEHtmuDRZRCq5+kDWyugrIR9KpCg9bcq15pJZcl3xvQbUO9djgUZtsA
	 XvQ071eyCQ4VTQvcR7FRoh72ZpF0Jmrcnj+681yU/iGymcdop7pcV1hH8lCJkXSY3d
	 jamknQNyHDyvIZJnkl5XWw+4SOBQWMgxCca6bnxOob15QeBcHU7w0KGY+/uMislJkd
	 mfAluGUS5NG2w==
Date: Mon, 20 Mar 2023 13:08:42 -0700 (PDT)
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: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 2/2] automation: add a suspend test on an Alder Lake
 system
In-Reply-To: <ZBULiU0222GlcC1W@mail-itl>
Message-ID: <alpine.DEB.2.22.394.2303201258140.3359@ubuntu-linux-20-04-desktop>
References: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com> <aa4385f5291ebc06551414e4d8cbf7cdd3996eef.1679023966.git-series.marmarek@invisiblethingslab.com> <alpine.DEB.2.22.394.2303171539520.3359@ubuntu-linux-20-04-desktop>
 <ZBULiU0222GlcC1W@mail-itl>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-517235040-1679342692=:3359"
Content-ID: <alpine.DEB.2.22.394.2303201304550.3359@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-517235040-1679342692=:3359
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2303201304551.3359@ubuntu-linux-20-04-desktop>

On Sat, 18 Mar 2023, Marek Marczykowski-Górecki wrote:
> On Fri, Mar 17, 2023 at 04:10:22PM -0700, Stefano Stabellini wrote:
> > On Fri, 17 Mar 2023, Marek Marczykowski-Górecki wrote:
> > > This is a first test using Qubes OS CI infra. The gitlab-runner has
> > > access to ssh-based control interface (control@thor.testnet, ssh key
> > > exposed to the test via ssh-agent) and pre-configured HTTP dir for boot
> > > files (mapped under /scratch/gitlab-runner/tftp inside the container).
> > > Details about the setup are described on
> > > https://www.qubes-os.org/news/2022/05/05/automated-os-testing-on-physical-laptops/
> > > 
> > > This test boots Xen, and try if S3 works. It runs on a ADL-based desktop
> > > system. The test script is based on the Xilinx one.
> > > 
> > > The machine needs newer kernel than other x86 tests run, so use 6.1.x
> > > kernel added in previous commit.
> > > 
> > > When building rootfs, use fakeroot to preserve device files when
> > > repacking rootfs archives in a non-privileged container.
> > > 
> > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > 
> > This is awesome!! Thanks Marek!
> > 
> > 
> > > ---
> > > I'm bad at naming things. Things that I could use naming suggestions:
> > >  - test script (qubes-x86-64-suspend.sh) - this might be okay?
> > >  - test template job name (.adl-x86-64)
> > >  - test job name (adl-suspend-x86-64-gcc)
> > >  - tag (qubes-hw2)
> > 
> > I think these names are OK. I would maybe rename the tag "qubes-hw2" to
> > "qubes" because so far there is only one but I am fine with qubes-hw2
> > also.
> 
> I have 10 of them (and growing), so I'd like to keep tag name at least
> somehow referencing which runner it uses. For example, this one is
> a desktop with Alder Lake, but some other tests I may want to use a laptop
> with Tiger Lake, for example. The mapping name -> hw spec isn't publicly
> written down (although our openQA publishes all kind of logs from them,
> so it's possible to infer this info).

That's fine by me, use whatever naming scheme works for you :-)


> > > For context, our CI has several machines, named test-X or hwX, each
> > > controlled with matching hal900X RPi (this is where gitlab-runner is).
> > > This test uses only one specific hw, but I plan adding few others too.
> > > ---
> > >  automation/gitlab-ci/test.yaml             |  31 ++++-
> > >  automation/scripts/qubes-x86-64-suspend.sh | 155 ++++++++++++++++++++++-
> > >  2 files changed, 186 insertions(+)
> > >  create mode 100755 automation/scripts/qubes-x86-64-suspend.sh
> > > 
> > > diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> > > index 2e1a6886df7f..f5511dd6da70 100644
> > > --- a/automation/gitlab-ci/test.yaml
> > > +++ b/automation/gitlab-ci/test.yaml
> > > @@ -15,6 +15,10 @@
> > >  .arm32-test-needs: &arm32-test-needs
> > >    - qemu-system-aarch64-6.0.0-arm32-export
> > >  
> > > +.x86-64-test-needs: &x86-64-test-needs
> > > +  - alpine-3.12-rootfs-export
> > > +  - kernel-6.1.19-export
> > 
> > As you know, the jobs starting with a "." are template jobs to avoid
> > repeating the same things over and over. .x86-64-test-needs could be
> > used in qemu-alpine-x86_64-gcc also.
> 
> Right, when switching all of them to 6.1 kernel, that makes sense.
> 
> > >  .qemu-arm64:
> > >    extends: .test-jobs-common
> > >    variables:
> > > @@ -84,6 +88,25 @@
> > >    tags:
> > >      - xilinx
> > >  
> > > +.adl-x86-64:
> > > +  extends: .test-jobs-common
> > > +  variables:
> > > +    # the test controller runs on RPi4
> > > +    CONTAINER: alpine:3.12-arm64v8
> > > +    LOGFILE: smoke-test.log
> > > +  artifacts:
> > > +    paths:
> > > +      - smoke.serial
> > > +      - '*.log'
> > > +    when: always
> > > +  only:
> > > +    variables:
> > > +      - $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
> > 
> > Let me know which trees should have QUBES_JOBS set to true (thus able to
> > start Qubes jobs.) At a minimum, I think we would want
> > https://gitlab.com/xen-project/xen to test "staging" and "master". I can
> > set QUBES_JOBS to true to https://gitlab.com/xen-project/xen if you are
> > OK with it.
> 
> Yes, that's perfectly okay. I'd like at least also staging-4.17, but
> depending on push frequency other staging-* are probably fine too (I
> very much doubt long queue would be an issue). Of course that assumes
> those tests would be backported, which I'm not sure if is planned. I'm
> also okay with allowing committers and/or other maintainers to use it on
> demand, but preferably not all patchew branches.

Yes that makes sense. Let's start with
https://gitlab.com/xen-project/xen for now, then we'll figure out a way
to implement more precisely what you wrote above, which also matches the
requirements for the xilinx runner.


> BTW, if you trigger job manually via a web interface or API, you can
> specify variables for just a single pipeline. And if you use that
> feature, you can also make gitlab present you a bit more convenient
> interface with variables listed already. See example here:
> https://gitlab.com/QubesOS/qubes-continuous-integration/-/blob/main/.gitlab-ci.yml#L15-26
> This could be useful to start only a subset of tests.

Good to know!


> > > +  before_script:
> > > +    - apk --no-cache add openssh-client fakeroot
> > 
> > This would work but we typically try to avoid installing more packages
> > in the test jobs for speed and efficiency. 
> 
> Yes, I was being lazy and wanted to avoid rebuilding container (and
> changing from where it's pulled) when developing the test. Sure, will
> fold that into the dockerfile.

Thanks!


> > Instead, add those packages
> > directly to the build container dockerfile
> > (automation/build/alpine/3.12-arm64v8.dockerfile), e.g.:
> > 
> > diff --git a/automation/build/alpine/3.12-arm64v8.dockerfile b/automation/build/alpine/3.12-arm64v8.dockerfile
> > index 180c978964..3f1e6a3fc6 100644
> > --- a/automation/build/alpine/3.12-arm64v8.dockerfile
> > +++ b/automation/build/alpine/3.12-arm64v8.dockerfile
> > @@ -41,3 +41,6 @@ RUN apk --no-cache add \
> >    libattr \
> >    libcap-ng-dev \
> >    pixman-dev \
> > +  # qubes test deps
> > +  openssh-client \
> > +  fakeroot \
> > 
> > But I am not sure why you need fakeroot, more questions below about it
> > 
> > 
> > > +  tags:
> > > +    - qubes-hw2
> > > +
> > >  # Test jobs
> > >  build-each-commit-gcc:
> > >    extends: .test-jobs-common
> > > @@ -110,6 +133,14 @@ xilinx-smoke-dom0less-arm64-gcc:
> > >      - *arm64-test-needs
> > >      - alpine-3.12-gcc-arm64
> > >  
> > > +adl-suspend-x86-64-gcc:
> > > +  extends: .adl-x86-64
> > > +  script:
> > > +    - ./automation/scripts/qubes-x86-64-suspend.sh s3 2>&1 | tee ${LOGFILE}
> > > +  needs:
> > > +    - *x86-64-test-needs
> > > +    - alpine-3.12-gcc
> > 
> > This up to you, but qubes-x86-64-suspend.sh is very cool and
> > sophisticated and I would use it to create at least 2 jobs:
> > - a plain dom0 + domU boot (no suspend)
> > - a suspend/resume job
> 
> Indeed both tests are implemented there already, just a matter of
> creating another job with a different parameter.
> 
> But then, the script name isn't really accurate. qubes-x86-64.sh then?

Yes good idea to rename the script


> FWIW, next tests I'm planning to contribute:
>  - PCI passthrough to HVM with qemu in dom0
>  - linux stubdomain
>  - PCI passthrough with linux stubdomain
> 
> And possibly some of the above exercising other systems, maybe something
> on AMD (currently only one runner is on AMD, Ryzen 5 4500U specifically,
> and is rather busy because of that, but we can try).

That's very cool! I am looking forward to it.


> I'm not sure yet if putting them all in a single script is a smart idea.
> On the other hand, quite a bit of boilerplate would be duplicated
> otherwise.

There is no hard rule on this. I'd say try to put them on a single
script because it tends to help with maintainability. But if one of the
tests is sufficiently different and would make things complicated is
also OK to move it to a new script.


> > I am happy either way
> > 
> > 
> > >  qemu-smoke-dom0-arm64-gcc:
> > >    extends: .qemu-arm64
> > >    script:
> > > diff --git a/automation/scripts/qubes-x86-64-suspend.sh b/automation/scripts/qubes-x86-64-suspend.sh
> > > new file mode 100755
> > > index 000000000000..fc479c9faaec
> > > --- /dev/null
> > > +++ b/automation/scripts/qubes-x86-64-suspend.sh
> > > @@ -0,0 +1,155 @@
> > > +#!/bin/sh
> > > +
> > > +set -ex
> > > +
> > > +test_variant=$1
> > > +
> > > +wait_and_wakeup=
> > > +if [ -z "${test_variant}" ]; then
> > > +    passed="ping test passed"
> > > +    domU_check="
> > > +until ifconfig eth0 192.168.0.2 &> /dev/null && ping -c 10 192.168.0.1; do
> > > +    sleep 30
> > > +done
> > > +echo \"${passed}\"
> > > +"
> > > +elif [ "${test_variant}" = "s3" ]; then
> > > +    passed="suspend test passed"
> > > +    wait_and_wakeup="started, suspending"
> > > +    domU_check="
> > > +ifconfig eth0 192.168.0.2
> > > +echo domU started
> > > +"
> > > +    dom0_check="
> > > +until grep 'domU started' /var/log/xen/console/guest-domU.log; do
> > > +    sleep 1
> > > +done
> > > +echo \"${wait_and_wakeup}\"
> > > +set -x
> > > +echo deep > /sys/power/mem_sleep
> > > +echo mem > /sys/power/state
> > > +# now wait for resume
> > > +sleep 5
> > > +# get domU console content into test log
> > > +tail -n 100 /var/log/xen/console/guest-domU.log
> > > +xl list
> > > +xl dmesg | grep 'Finishing wakeup from ACPI S3 state' || exit 1
> > > +# check if domU is still alive
> > > +ping -c 10 192.168.0.2 || exit 1
> > > +echo \"${passed}\"
> > > +"
> > > +fi
> > 
> > Very nice!
> > 
> > 
> > > +# DomU
> > > +mkdir -p rootfs
> > > +cd rootfs
> > > +fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
> > 
> > I am a bit confused about it: are you sure you need fakeroot for this?
> > This script is running inside a container as root already? Are you using
> > Docker on the RPi4 to run this job?
> 
> This is running in a rootless podman container. But even with docker,
> for device files to work (see commit message) it would need to run
> privileged container, which I'd like to avoid.

Are you sure? I can run a non-privileged container with device assigned
just fine with Docker and
 
  devices = ["/dev/ttyUSB0:/dev/ttyUSB0"]

in the gitlab-runner config.toml.

Maybe it is just a matter of access permissions on your devices?


In any case, if your podman environment requires fakeroot, that is a
good enough reason for me. Just please add a note about it in the
commit message or as in-code comment in the script.


> > > +mkdir proc
> > > +mkdir run
> > > +mkdir srv
> > > +mkdir sys
> > > +rm var/run
> > > +echo "#!/bin/sh
> > > +
> > > +${domU_check}
> > > +/bin/sh" > etc/local.d/xen.start
> > > +chmod +x etc/local.d/xen.start
> > > +echo "rc_verbose=yes" >> etc/rc.conf
> > > +find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz
> > 
> > same here
> 
> Same answer :)
> 
> Specifically it's required to preserve dev/null, dev/console etc.
> 
> > > +cd ..
> > > +rm -rf rootfs
> > > +
> > > +# DOM0 rootfs
> > > +mkdir -p rootfs
> > > +cd rootfs
> > > +fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
> > > +mkdir boot
> > > +mkdir proc
> > > +mkdir run
> > > +mkdir srv
> > > +mkdir sys
> > > +rm var/run
> > > +cp -ar ../binaries/dist/install/* .
> > > +
> > > +echo "#!/bin/bash
> > > +
> > > +export LD_LIBRARY_PATH=/usr/local/lib
> > > +bash /etc/init.d/xencommons start
> > > +
> > > +brctl addbr xenbr0
> > > +brctl addif xenbr0 eth0
> > > +ifconfig eth0 up
> > > +ifconfig xenbr0 up
> > > +ifconfig xenbr0 192.168.0.1
> > > +
> > > +xl create /etc/xen/domU.cfg
> > > +${dom0_check}
> > > +" > etc/local.d/xen.start
> > > +chmod +x etc/local.d/xen.start
> > > +# just PVH for now
> > > +echo '
> > > +type = "pvh"
> > > +name = "domU"
> > > +kernel = "/boot/vmlinuz"
> > > +ramdisk = "/boot/initrd-domU"
> > > +extra = "root=/dev/ram0 console=hvc0"
> > > +memory = 512
> > > +vif = [ "bridge=xenbr0", ]
> > > +disk = [ ]
> > > +' > etc/xen/domU.cfg
> > > +
> > > +echo "rc_verbose=yes" >> etc/rc.conf
> > > +echo "XENCONSOLED_TRACE=all" >> etc/default/xencommons
> > > +echo "QEMU_XEN=/bin/false" >> etc/default/xencommons
> > > +mkdir -p var/log/xen/console
> > > +cp ../binaries/bzImage boot/vmlinuz
> > > +cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
> > > +find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
> > > +cd ..
> > > +
> > > +
> > > +TFTP=/scratch/gitlab-runner/tftp
> > > +
> > > +echo '
> > > +multiboot2 (http)/gitlab-ci/xen console=com1 com1=115200,8n1 loglvl=all guest_loglvl=all
> > > +module2 (http)/gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0
> > > +module2 (http)/gitlab-ci/initrd-dom0
> > > +' > $TFTP/grub.cfg
> > > +
> > > +cp -f binaries/xen $TFTP/xen
> > > +cp -f binaries/bzImage $TFTP/vmlinuz
> > > +cp -f binaries/dom0-rootfs.cpio.gz $TFTP/initrd-dom0
> > > +
> > > +# start logging the serial; this gives interactive console, don't close its
> > > +# stdin to not close it; the 'cat' is important, plain redirection would hang
> > > +# until somebody opens the pipe; opening and closing the pipe is used to close
> > > +# the console
> > > +mkfifo /tmp/console-stdin
> > > +cat /tmp/console-stdin |\
> > > +ssh control@thor.testnet console | tee smoke.serial &
> > 
> > For clarity I would add a variable just below TFTP above to store the
> > controller node. This will make it easier to change in the future and
> > also makes it easier to see that it is runner-specific detail, e.g.:
> > 
> > TFTP=/scratch/gitlab-runner/tftp
> > CONTROLLER=control@thor.testnet
> > 
> > then here:
> > 
> > ssh $CONTROLLER console | tee smoke.serial &
> 
> Ok.
> 
> > > +# start the system pointing at gitlab-ci predefined config
> > > +ssh control@thor.testnet gitlabci poweron
> > > +trap "ssh control@thor.testnet poweroff; : > /tmp/console-stdin" EXIT
> > > +
> > > +if [ -n "$wait_and_wakeup" ]; then
> > > +    # wait for suspend or a timeout
> > > +    timeout=120
> > > +    until grep "$wait_and_wakeup" smoke.serial || [ $timeout -le 0 ]; do
> > > +        sleep 1;
> > > +        : $((--timeout))
> > > +    done
> > > +    if [ $timeout -le 0 ]; then
> > > +        echo "ERROR: suspend timeout, aborting"
> > > +        exit 1
> > > +    fi
> > > +    # keep it suspended a bit, then wakeup
> > > +    sleep 30
> > > +    ssh control@thor.testnet wake
> > > +fi
> > 
> > I like this. It will shorten the duration of the test job. I am not
> > asking you to do anything, but I think it would be a good idea to have
> > all test scripts loop around like this if possible to poll for success
> > every second rather than wait a pre-determined amount of time, which is
> > usually several minutes longer than necessary.
> > 
> > 
> > > +# give the test time to run a bit, and then check
> > > +sleep 30
> > > +
> > > +(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
> > > +exit 0
> > > -- 
> > > git-series 0.9.1
> > > 
> 
> 
> -- 
> Best Regards,
> Marek Marczykowski-Górecki
> Invisible Things Lab
> 
--8323329-517235040-1679342692=:3359--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 20:28:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 20:28:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512121.791812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peM73-0006VM-BZ; Mon, 20 Mar 2023 20:28:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512121.791812; Mon, 20 Mar 2023 20: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 1peM73-0006VF-8j; Mon, 20 Mar 2023 20:28:13 +0000
Received: by outflank-mailman (input) for mailman id 512121;
 Mon, 20 Mar 2023 20: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=uSrZ=7M=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1peM72-0006V7-8P
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 20:28:12 +0000
Received: from ams.source.kernel.org (ams.source.kernel.org
 [2604:1380:4601:e00::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9e5e325-c75d-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 21:28:09 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id D0DACB810C2;
 Mon, 20 Mar 2023 20:28:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E18AAC4339C;
 Mon, 20 Mar 2023 20:28: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: b9e5e325-c75d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679344086;
	bh=t27e7lzzJdpdv3310dLYIhe+jtc06iWP2gDO8wMDM2k=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=eYGSSgHVRgcSjs2DIGk4RdEoSfmbMiaO9kdrEoFbEawc1w8zovDJ3Ms5OrkUwZLuF
	 1IlOmu0PMyTwrwS7Znfo20wTyqnmVtMiZOlaJr61IVufZy2noznpb5g1Na7bFHqB/G
	 ti2x3l5Z5ejLKZ8V32WTxiCg0IBpl9ysefag5drtQN9oZ9b9gpnePr05ZqD6GsYoYz
	 yZI2xgJTx2zcc7OOAyjnu38CeKpvVHUIFTMORSOQxP33Tc04+UycZ7MvX12JoxSymd
	 jwBtsDaWAyIvxeWzhRYEIWLpfjgFcrx2/yXvnw8zVWTrMADsGM9fGrpdSwNcyCKyO9
	 ICN1UCYrVGewA==
Date: Mon, 20 Mar 2023 13:28:04 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "jiamei.xie" <jiamei.xie@arm.com>
cc: xen-devel@lists.xenproject.org, wei.chen@arm.com, sstabellini@kernel.org
Subject: Re: [ImageBuilder][PATCH v3 2/2] uboot-script-gen: add support for
 static shared memory
In-Reply-To: <20230320062718.365896-3-jiamei.xie@arm.com>
Message-ID: <alpine.DEB.2.22.394.2303201327200.3359@ubuntu-linux-20-04-desktop>
References: <20230320062718.365896-1-jiamei.xie@arm.com> <20230320062718.365896-3-jiamei.xie@arm.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 Mar 2023, jiamei.xie wrote:
> Introduce support for creating shared-mem node for dom0less domUs in
> the device tree. Add the following option:
> - DOMU_SHARED_MEM[number]="SHM-ID HPA GPA size"
>   if specified, indicate the unique identifier of the shared memory
>   region is SHM-ID, the host physical address HPA will get mapped at
>   guest address GPA in domU and the memory of size will be reserved to
>   be shared memory.
> 
> The static shared memory is used between two dom0less domUs.
> 
> Below is an example:
> NUM_DOMUS=2
> DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
> DOMU_SHARED_MEM[1]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
> 
> This static shared memory region is identified as "my-shared-mem-0",
> host physical address starting at 0x50000000 of 256MB will be reserved
> to be shared between two domUs. It will get mapped at 0x6000000 in both
> guest physical address space. Both DomUs are the borrower domain, the
> owner domain is the default owner domain DOMID_IO.
> 
> Signed-off-by: jiamei.xie <jiamei.xie@arm.com>

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


> ---
> Changes from v2:
>  - Remove "domid" parameter
>  - Use lower capital letters for local variables
> Changes from v1:
>  - Rather than two separate properties and just use one like follows:
>    Change
>      DOMU_SHARED_MEM[0]="0x50000000 0x6000000 0x10000000"
>      DOMU_SHARED_MEM_ID[0]="my-shared-mem-0"
>    to
>      DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
>  - Use split_value function instead of opencoding it.
> ---
>  README.md                | 17 +++++++++++++++++
>  scripts/uboot-script-gen | 26 ++++++++++++++++++++++++++
>  2 files changed, 43 insertions(+)
> 
> diff --git a/README.md b/README.md
> index 78b83f1..fe5d205 100644
> --- a/README.md
> +++ b/README.md
> @@ -196,6 +196,23 @@ Where:
>    if specified, indicates the host physical address regions
>    [baseaddr, baseaddr + size) to be reserved to the VM for static allocation.
>  
> +- DOMU_SHARED_MEM[number]="SHM-ID HPA GPA size"
> +  if specified, indicate SHM-ID represents the unique identifier of the shared
> +  memory region, the host physical address HPA will get mapped at guest
> +  address GPA in domU and the memory of size will be reserved to be shared
> +  memory. The shared memory is used between two dom0less domUs.
> +
> +  Below is an example:
> +  NUM_DOMUS=2
> +  DOMU_SHARED_MEM[0]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
> +  DOMU_SHARED_MEM[1]="my-shared-mem-0 0x50000000 0x6000000 0x10000000"
> +
> +  This static shared memory region is identified as "my-shared-mem-0", host
> +  physical address starting at 0x50000000 of 256MB will be reserved to be
> +  shared between two domUs. It will get mapped at 0x6000000 in both guest
> +  physical address space. Both DomUs are the borrower domain, the owner
> +  domain is the default owner domain DOMID_IO.
> +
>  - DOMU_DIRECT_MAP[number] can be set to 1 or 0.
>    If set to 1, the VM is direct mapped. The default is 1.
>    This is only applicable when DOMU_STATIC_MEM is specified.
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index cca3e59..9656a45 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -204,6 +204,27 @@ function add_device_tree_xen_static_heap()
>      dt_set "$path" "xen,static-heap" "hex" "${cells[*]}"
>  }
>  
> +function add_device_tree_static_shared_mem()
> +{
> +    local path=$1
> +    local shared_mem=$2
> +    local shared_mem_id=${shared_mem%% *}
> +    local regions="${shared_mem#* }"
> +    local cells=()
> +    local shared_mem_host=${regions%% *}
> +
> +    dt_mknode "${path}" "shared-mem@${shared_mem_host}"
> +
> +    for val in ${regions[@]}
> +    do
> +        cells+=("$(split_value $val)")
> +    done
> +
> +    dt_set "${path}/shared-mem@${shared_mem_host}" "compatible" "str" "xen,domain-shared-memory-v1"
> +    dt_set "${path}/shared-mem@${shared_mem_host}" "xen,shm-id" "str" "${shared_mem_id}"
> +    dt_set "${path}/shared-mem@${shared_mem_host}" "xen,shared-mem" "hex" "${cells[*]}"
> +}
> +
>  function add_device_tree_cpupools()
>  {
>      local cpu
> @@ -329,6 +350,11 @@ function xen_device_tree_editing()
>              dt_set "/chosen/domU$i" "xen,enhanced" "str" "enabled"
>          fi
>  
> +        if test -n "${DOMU_SHARED_MEM[i]}"
> +        then
> +            add_device_tree_static_shared_mem "/chosen/domU${i}" "${DOMU_SHARED_MEM[i]}"
> +        fi
> +
>          if test "${DOMU_COLORS[$i]}"
>          then
>              local startcolor=$(echo "${DOMU_COLORS[$i]}"  | cut -d "-" -f 1)
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 20:36:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 20:36:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512124.791822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peMEz-00085U-4Z; Mon, 20 Mar 2023 20:36:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512124.791822; Mon, 20 Mar 2023 20: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 1peMEz-00085N-1r; Mon, 20 Mar 2023 20:36:25 +0000
Received: by outflank-mailman (input) for mailman id 512124;
 Mon, 20 Mar 2023 20:36:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=gj8w=7M=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1peMEx-00085H-D9
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 20:36:23 +0000
Received: from wout1-smtp.messagingengine.com (wout1-smtp.messagingengine.com
 [64.147.123.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ddeb0598-c75e-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 21:36:20 +0100 (CET)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.west.internal (Postfix) with ESMTP id C1ADB32007D7;
 Mon, 20 Mar 2023 16:36:16 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Mon, 20 Mar 2023 16:36:17 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 20 Mar 2023 16:36:15 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ddeb0598-c75e-11ed-87f5-c1b5be75604c
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=fm2; t=
	1679344576; x=1679430976; bh=hvuKvPCswA+4GGF4uZhCiMM3DTbXMxPWRVe
	Fy5E0JSo=; b=ml2ogotx/A4/63gn0pDGaAcFAjvBvtNIiqTAdIanvEv4dBsO7Ha
	ZoDeVuYpk6cvbouH2VbI4FjfHX7R9BX6+MG2tPMtcy3zONWqd/O18FHWXauEFxcf
	qaNTr/cOOJ/unRWssx184NpBM+pQxXKm0oCPuBJv62FF27Vn+En0tg731RWVAEL8
	7B9eo7WrmLhsn+F/t7l2rstgWDAknhlDkAUpIzYk7zNfDwIEB3AAyfXYkU6g1zV6
	MDvHYDsC8ncfcx1X2r0AIQ6enbMhZGWSB57XIFKXpwMY9N2hy27Z14f39qIGmM25
	MO3fw7QTx7uHGgv6eR99W3SL3UeJTgyHA8w==
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=fm2; t=1679344576; x=1679430976; bh=hvuKvPCswA+4G
	GF4uZhCiMM3DTbXMxPWRVeFy5E0JSo=; b=mq3/jqJbu7FtmYBmu24lmrNfs+eTN
	k/1JIkWcuOt7LDlsMi5TgGIzsFWHGi/2g7ySe/tLEt/PZrkMUOObAGVBrxFc0QO6
	Ht23rcmayiaZX2QDdQJBvBMaa/ooKHxduVCM4OnTVxD9V0WjC7P48K6SHqIPF4ey
	X+56BclVOAMMV8Gs174CWEqTWyuwna25A4NKOqk61X7ZUQu8grpfnR9koZdHJ5bw
	CswyWvE6puhI8RJMkhAxzgc7+6fpv9bsylg5XQEfLikEW26XNuEuOr7ysekqCDpQ
	J4f+ZipVoDRoX6OkJL8zrUHUcnezzH3ZCX713BBKOYUP8k2hVJb1FvHrQ==
X-ME-Sender: <xms:wMMYZAjaiFM52FqFVrq6Kno3OhZUDCGpa0eE4dGSGieYZtUwfUMfDg>
    <xme:wMMYZJAhfrxbw5_paNmjsFF5S_dAkiQUIzFhSGyHEULivdLfxU-8_ONeyXU-ZkAuc
    B0FG8Pd0Uf8mA>
X-ME-Received: <xmr:wMMYZIEC_FuIUyOe_yYrRr9J2bxIG-RPUVP9a3s580Q8_6XuDVdQxkCeKzG_iuhjk4C1kiHOKNrpnnSMZRonVDg6GEaobUCniAs>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdefkedgudefjecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeeh
    gfeludfhieeihfdugfduheehgeeuvdeutefhleeugfduudfhtdetfeetvdfffeenucffoh
    hmrghinhepthhomhhlrdhithenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhep
    mhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgshhlrg
    gsrdgtohhm
X-ME-Proxy: <xmx:wMMYZBRjXAYV9z-C78p3-O4hfyJFBl_GxGILUaSaxoe8amooqrvA9Q>
    <xmx:wMMYZNzrDaEiR-owgw6UNxZdzbF47wG2n3TJkCdfDFJmvaJRDvVbCg>
    <xmx:wMMYZP6wi8ysRC_yFrMpheFitwnsbw5ihvaIj7QLhRQwbi8UheOvCw>
    <xmx:wMMYZLaO_ASejkEsa4HVxKFvz4j5PQ5YEbS50v29L11KLcO9XGn2Ag>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 20 Mar 2023 21:36:11 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 2/2] automation: add a suspend test on an Alder Lake
 system
Message-ID: <ZBjDu+EEvQ51hWFU@mail-itl>
References: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com>
 <aa4385f5291ebc06551414e4d8cbf7cdd3996eef.1679023966.git-series.marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2303171539520.3359@ubuntu-linux-20-04-desktop>
 <ZBULiU0222GlcC1W@mail-itl>
 <alpine.DEB.2.22.394.2303201258140.3359@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="M005QHqNLzh7gz7I"
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2303201258140.3359@ubuntu-linux-20-04-desktop>


--M005QHqNLzh7gz7I
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 20 Mar 2023 21:36:11 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 2/2] automation: add a suspend test on an Alder Lake
 system

On Mon, Mar 20, 2023 at 01:08:42PM -0700, Stefano Stabellini wrote:
> On Sat, 18 Mar 2023, Marek Marczykowski-G=C3=B3recki wrote:
> > On Fri, Mar 17, 2023 at 04:10:22PM -0700, Stefano Stabellini wrote:
> > > On Fri, 17 Mar 2023, Marek Marczykowski-G=C3=B3recki wrote:
> > > > +fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
> > >=20
> > > I am a bit confused about it: are you sure you need fakeroot for this?
> > > This script is running inside a container as root already? Are you us=
ing
> > > Docker on the RPi4 to run this job?
> >=20
> > This is running in a rootless podman container. But even with docker,
> > for device files to work (see commit message) it would need to run
> > privileged container, which I'd like to avoid.
>=20
> Are you sure? I can run a non-privileged container with device assigned
> just fine with Docker and
> =20
>   devices =3D ["/dev/ttyUSB0:/dev/ttyUSB0"]
>=20
> in the gitlab-runner config.toml.

It isn't about accessing existing devices, it's about creating them
(unpacking rootfs which contains static /dev) and then packing it back
still having those devices.

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQYw7sACgkQ24/THMrX
1yzwQAgAk9aBEvEZhZxllxPgi6EUxj9ghdRiYO1ZXSi7obOvl+eFMAtXuqO0nviB
FpQ/yFlyYEzUKWhFa27HJ6cuBl7wgWOSvdvLqPdtemlyYzO0dd4/M9ZoSLqaD3uE
UWeitNcWy8cZ7I5r1LUsPFNHfr7aJGSLilGnvnL07nuddLEuFDodIbHw7RIzq7nO
Fn/fWNTmkmTuW+XKqgbznungwlC9s7qQB3aEfJNFhQqOR6OkA00aHVL1XSG+oitY
bJ8V9vZUy+Bf8z7bgXNmPFz/waYc+T1AVb1+N/3nCBppEdDZMhO/tzyTOw1cYRRq
ie8LnTjSeg4WlkPd2JQHvo9MF9DXVQ==
=LDwy
-----END PGP SIGNATURE-----

--M005QHqNLzh7gz7I--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 20:41:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 20:41:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512128.791833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peMKG-0001Dh-Nn; Mon, 20 Mar 2023 20:41:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512128.791833; Mon, 20 Mar 2023 20:41: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 1peMKG-0001Da-L2; Mon, 20 Mar 2023 20:41:52 +0000
Received: by outflank-mailman (input) for mailman id 512128;
 Mon, 20 Mar 2023 20:41: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=uSrZ=7M=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1peMKF-0001DU-Lr
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 20:41:51 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a33800f9-c75f-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 21:41:50 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 6732B61800;
 Mon, 20 Mar 2023 20:41:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1101EC433D2;
 Mon, 20 Mar 2023 20:41: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: a33800f9-c75f-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679344907;
	bh=hONGXQ7/6TrMEBm/7OQ2PJ6hG20wQyi7r12+gnrU4TM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=UPbXOtIWIpobJep02jBoqyl5O9uOd0hxl9zvj3TSloc5Q4pZKFt6HjHqM4NciRSUn
	 6OR6Ud2MMmThLpfZM9ulZhsay8RDAcM8RLLmCdpkkI3h+G7ViV71ak++JBhYl6KIY+
	 8cIbz/dBNhhtKHH8ImHjJlr7yI4NhsNHhZBWmPK3ho2uciYD4YKcSiDwYyR7bTEdOv
	 Q/VQH4/p5ioytZP6+olpkX1lACcfkEGKSdI6GxZRrdcc7yTIMnL3sHcMOjiCz5cxHB
	 pi/5l9Bw0IoGNGxoO3DghM/lfwtYhqJfCIDd/vqrX2w2mlUDO3OFtusLcb8flFl899
	 7z7m9RSjH4csA==
Date: Mon, 20 Mar 2023 13:41:45 -0700 (PDT)
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: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 2/2] automation: add a suspend test on an Alder Lake
 system
In-Reply-To: <ZBjDu+EEvQ51hWFU@mail-itl>
Message-ID: <alpine.DEB.2.22.394.2303201337580.3359@ubuntu-linux-20-04-desktop>
References: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com> <aa4385f5291ebc06551414e4d8cbf7cdd3996eef.1679023966.git-series.marmarek@invisiblethingslab.com> <alpine.DEB.2.22.394.2303171539520.3359@ubuntu-linux-20-04-desktop>
 <ZBULiU0222GlcC1W@mail-itl> <alpine.DEB.2.22.394.2303201258140.3359@ubuntu-linux-20-04-desktop> <ZBjDu+EEvQ51hWFU@mail-itl>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1753774809-1679344907=:3359"

  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-1753774809-1679344907=:3359
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 20 Mar 2023, Marek Marczykowski-Górecki wrote:
> On Mon, Mar 20, 2023 at 01:08:42PM -0700, Stefano Stabellini wrote:
> > On Sat, 18 Mar 2023, Marek Marczykowski-Górecki wrote:
> > > On Fri, Mar 17, 2023 at 04:10:22PM -0700, Stefano Stabellini wrote:
> > > > On Fri, 17 Mar 2023, Marek Marczykowski-Górecki wrote:
> > > > > +fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
> > > > 
> > > > I am a bit confused about it: are you sure you need fakeroot for this?
> > > > This script is running inside a container as root already? Are you using
> > > > Docker on the RPi4 to run this job?
> > > 
> > > This is running in a rootless podman container. But even with docker,
> > > for device files to work (see commit message) it would need to run
> > > privileged container, which I'd like to avoid.
> > 
> > Are you sure? I can run a non-privileged container with device assigned
> > just fine with Docker and
> >  
> >   devices = ["/dev/ttyUSB0:/dev/ttyUSB0"]
> > 
> > in the gitlab-runner config.toml.
> 
> It isn't about accessing existing devices, it's about creating them
> (unpacking rootfs which contains static /dev) and then packing it back
> still having those devices.

OK for that definitely you don't need a privileged container. A regular
container comes with "root" by default, but without all the privileges
that "root" normally allows outside of a container. That is enough (at
least in my environments) to pack/unpack a rootfs successfully without
fakeroot. Maybe this is a podman-specific limitation?

If you are curious to try, you should be able to run a simple
pack/unpack rootfs with Docker (of course without --privileged) without
issues.
--8323329-1753774809-1679344907=:3359--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 20:55:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 20:55:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512131.791842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peMXM-0002s2-Tf; Mon, 20 Mar 2023 20:55:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512131.791842; Mon, 20 Mar 2023 20: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 1peMXM-0002rv-R3; Mon, 20 Mar 2023 20:55:24 +0000
Received: by outflank-mailman (input) for mailman id 512131;
 Mon, 20 Mar 2023 20:55: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=gj8w=7M=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1peMXL-0002rp-Uz
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 20:55:23 +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 83a82d10-c761-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 21:55:18 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id D6B42320092D;
 Mon, 20 Mar 2023 16:55:13 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Mon, 20 Mar 2023 16:55:14 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 20 Mar 2023 16:55:12 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83a82d10-c761-11ed-b464-930f4c7d94ae
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=fm2; t=
	1679345713; x=1679432113; bh=tPdEHJrDWu35SXj7s5oJv+WkSuBYmRSustA
	PqJd6BuE=; b=FTA/06kbyHxLYNnJeJoXkr23kjdgH5MO2qrrsSYXFk7xhmnX7BL
	LixFhO8gxVwf8WOIvh8jIJevnZAdV2sH53+SGuOX63dUN95rmvyadFf4bFxDl+36
	SKjNbf0SEvUai2CEoFW3Fsr1eYr3OMjlB/g0ip/IRVkNVytHHHxyfq3ujqxk/iAK
	u0Lt2O4EYd8ngB35XyY4XX4xF9K84+wKWfvEtYtwemXO3Gs1uS+IgqUbXTSdycGP
	DDVzHN7Lv+Y94FTXfl5WLHcb+9bYF2vRmgwwEVlsw+QB3PZOloS5rI0+UBPNoGmK
	WqqcD7AiIkm6CiD2Ls5E4wq0pbJic308/og==
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=fm2; t=1679345713; x=1679432113; bh=tPdEHJrDWu35S
	Xj7s5oJv+WkSuBYmRSustAPqJd6BuE=; b=AZCHBRScufC1BtzkiWTLDQPLAsPTn
	FZVNDPOLSIS9sQzWsrmIV73JhbZ16w05hXm4i4TZSOpmtGoi4QlzIdGiS/ffBdvZ
	r86CacryV1vVwqSKboHaPmWpdZ6faemC/Tlhth/pJPc4jg6dUUY2kT8EE/QJcCDv
	1pRR3RWmSyswz2To6vkXlv04dxLMBfDDCUyPCSxLPI22KMqbHvCf8wd4HY/9HNji
	tAVc8t6wnezHPzWXfouh1fr6e5F3mOZzNhDX7mBFSW+y/i63oeTiG/XRkd08zyzu
	EXiZj2arUh1Ei8MiW8W2kvkUFwQGnaQiRhDYBSXP30v1MOzNdOV6SM+nA==
X-ME-Sender: <xms:McgYZO5AWlXdClB8TVIwS4muLm5BAgHZR__mvNGa6kqsx3Z5nzffwA>
    <xme:McgYZH6VIfU263N3VHJm3ovXZH_k7ifGR4lJNxhPQgPw4UhF_vRAeVWmqyQzmeJt8
    ok9HubFoincRQ>
X-ME-Received: <xmr:McgYZNcyJJdPr_2MObzmboRxGxTRCZ4JfwIiPopWR86TYfx43YdrbHNnmOWltT0TFnjcxRlUU8IIHi9q6tIOWjai96eDWr4D_k0>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdefkedgudegvdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeek
    gfeuffeggeeikeffhfduhedtkeeuhfeivdfhtdeghfefffevtddtieetjeefgfenucffoh
    hmrghinhepthhomhhlrdhithdpughotghkvghrrdgtohhmnecuvehluhhsthgvrhfuihii
    vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsih
    gslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:McgYZLI7LnWX0QC532OM-XImFzi7fuerlcwjRHg29KPPsTqDZA46MQ>
    <xmx:McgYZCIbrQ5cJ6OrAlM3KPP-tI1Fnr2Na2mv5dR3jcXdYrBeOzMr4w>
    <xmx:McgYZMy1U8bFoPBKz8Xx4I-xTWWiBoudLQIYMcG0GZDqw6GU7JFCCg>
    <xmx:McgYZMwzngGygZ55emvWiQJ5B7yCkHnVzR9a00CRg6lw4UZYwCTCXw>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 20 Mar 2023 21:55:09 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 2/2] automation: add a suspend test on an Alder Lake
 system
Message-ID: <ZBjILVMZd3vRwrel@mail-itl>
References: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com>
 <aa4385f5291ebc06551414e4d8cbf7cdd3996eef.1679023966.git-series.marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2303171539520.3359@ubuntu-linux-20-04-desktop>
 <ZBULiU0222GlcC1W@mail-itl>
 <alpine.DEB.2.22.394.2303201258140.3359@ubuntu-linux-20-04-desktop>
 <ZBjDu+EEvQ51hWFU@mail-itl>
 <alpine.DEB.2.22.394.2303201337580.3359@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="LgCbvsMqQZD1sKVN"
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2303201337580.3359@ubuntu-linux-20-04-desktop>


--LgCbvsMqQZD1sKVN
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 20 Mar 2023 21:55:09 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 2/2] automation: add a suspend test on an Alder Lake
 system

On Mon, Mar 20, 2023 at 01:41:45PM -0700, Stefano Stabellini wrote:
> On Mon, 20 Mar 2023, Marek Marczykowski-G=C3=B3recki wrote:
> > On Mon, Mar 20, 2023 at 01:08:42PM -0700, Stefano Stabellini wrote:
> > > On Sat, 18 Mar 2023, Marek Marczykowski-G=C3=B3recki wrote:
> > > > On Fri, Mar 17, 2023 at 04:10:22PM -0700, Stefano Stabellini wrote:
> > > > > On Fri, 17 Mar 2023, Marek Marczykowski-G=C3=B3recki wrote:
> > > > > > +fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
> > > > >=20
> > > > > I am a bit confused about it: are you sure you need fakeroot for =
this?
> > > > > This script is running inside a container as root already? Are yo=
u using
> > > > > Docker on the RPi4 to run this job?
> > > >=20
> > > > This is running in a rootless podman container. But even with docke=
r,
> > > > for device files to work (see commit message) it would need to run
> > > > privileged container, which I'd like to avoid.
> > >=20
> > > Are you sure? I can run a non-privileged container with device assign=
ed
> > > just fine with Docker and
> > > =20
> > >   devices =3D ["/dev/ttyUSB0:/dev/ttyUSB0"]
> > >=20
> > > in the gitlab-runner config.toml.
> >=20
> > It isn't about accessing existing devices, it's about creating them
> > (unpacking rootfs which contains static /dev) and then packing it back
> > still having those devices.
>=20
> OK for that definitely you don't need a privileged container. A regular
> container comes with "root" by default, but without all the privileges
> that "root" normally allows outside of a container. That is enough (at
> least in my environments) to pack/unpack a rootfs successfully without
> fakeroot. Maybe this is a podman-specific limitation?

It seems so, as rootless podman isn't running commands as root on the
"host", but instead in a separate user namespace.

> If you are curious to try, you should be able to run a simple
> pack/unpack rootfs with Docker (of course without --privileged) without
> issues.

In fact, the same issue happens in docker, if I enable this extra
protection there[1].

[1] https://docs.docker.com/engine/security/userns-remap/

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQYyC4ACgkQ24/THMrX
1ywvfwf/c4sqwC2SxM41ziSp2VKcQ/UBfspFfPE7ia9MTkEXBXPfgEBpc5Nqs5tr
A5BX/MaDyzX0RPl00fLQWRIAdys0L3gDGuDLR2VmXn7a11XZ7COB1Z6/Mt2kq+2c
LToTQ45YuniRfA8CasHpgnkxbu+qVKzHQ3yJU+8lF5VF9pu9p2Mdw+40YEbvnxDZ
A5NA98xFj6W5+m/qXQUyOUwj9nXy+ixceCZ0sdXI5fPBHbTS9oXJlD3KhZQVtnJO
bd7/1KlWeRAIdD9IXLPYQHBh16h9xovHkf30zyRO92s+5UKv+cI63DQGVMksqfXb
Yu1qk55EXD+pblWNANnJK0JsQR31/g==
=aUOH
-----END PGP SIGNATURE-----

--LgCbvsMqQZD1sKVN--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 21:00:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 21:00:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512135.791852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peMcM-0004RF-GL; Mon, 20 Mar 2023 21:00:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512135.791852; Mon, 20 Mar 2023 21: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 1peMcM-0004R8-Dk; Mon, 20 Mar 2023 21:00:34 +0000
Received: by outflank-mailman (input) for mailman id 512135;
 Mon, 20 Mar 2023 21:00: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=FkzI=7M=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1peMcK-0004R2-CK
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 21:00:32 +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 3f5fe1f7-c762-11ed-b464-930f4c7d94ae;
 Mon, 20 Mar 2023 22:00:30 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id j24so2818655wrd.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 14:00: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: 3f5fe1f7-c762-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679346030;
        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=aqJWahcMA1W2uh/BtssTHtJ1R/mZUz2vXzd48/3uLn0=;
        b=q3CzNCU+tpjnyUzR1KUARZjmYYg9E+/ABzmcwLkDaS+iGU/gh8hVtTThyhXJfzUSu7
         iNB0K6GSpwQkAPitBDV0dVTZkePOJBa0jYbMiHWfgg/YceICAt2k199b0xgeSKd988Pt
         dH5Gg5OaFpBexI6x6UTbKGfcs3MrWDf/CAdC1DpiAh0vbxvu/MQRmEltd3K2/R6m03Wj
         NNOmrFLqYQlNBHAmfearN+Ez7zvabsZ8cW/csi/yi+TNQdgSJJUXMwbnNJr8BqQIIbbx
         CBYPLRmoA7vpb+2zEkh8VLn4NkA+Vr2n0JwazjRqGKmMHEe78zgYpHikg3Rwy9anAU2h
         z7YA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679346030;
        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=aqJWahcMA1W2uh/BtssTHtJ1R/mZUz2vXzd48/3uLn0=;
        b=j72EtwmNICCHfqEnWq/zT008fqK5UDzmCX5evJK6umJ4RwHZt2yB0f3RcfcxvlEa0C
         CnMc0ROi5f3oATWGKKwzK0oJIQ6sULD3PNBWEVPnrenaJ8D5NS/CojUopkKzXSdPwfr8
         pocjYdwvrYai+x/j2BYmk9pw4NGa0h5tbVIglw0GWtDiov/+4AKj4e4dGhwYRkHn2Duk
         WMQtQn0o31vt/yYbcE+1N/+JHiSvNzgSGQ/khrg3zj8Pux2Cz+kHIyppv4JptTq/QWJv
         z1k4SnNiYjDOnkfzxxtIhCBU10OkVxQUbhkMyeUpExVujpH7tjBmv4oojPmvC/49jNNu
         bg9g==
X-Gm-Message-State: AO0yUKWV4PgI/r+cjlJXbYco3KoGU16oFp088PMBSUjJLIm2Tq9g4Bls
	brCKGtGTPIG+ZpwDz1Nn7Zp2/yJw73CHFcUhiBE+UMlxzz4=
X-Google-Smtp-Source: AK7set9elKwJ8zTMBum2ABjr6yOytTdy2Eh2mSPOxO1w52FCIEOIJp14m5KKsvESLB7SGV0Fu3+RlDQwd4nsDxr6pBM=
X-Received: by 2002:a50:ce45:0:b0:4fb:80cf:898b with SMTP id
 k5-20020a50ce45000000b004fb80cf898bmr460182edj.7.1679346008983; Mon, 20 Mar
 2023 14:00:08 -0700 (PDT)
MIME-Version: 1.0
References: <20230320000554.8219-1-jandryuk@gmail.com> <A6498A22-B701-4B0A-884E-575EEBD77EAB@gmail.com>
In-Reply-To: <A6498A22-B701-4B0A-884E-575EEBD77EAB@gmail.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 20 Mar 2023 16:59:57 -0400
Message-ID: <CAKf6xpsnUambc26RFktFRmj3z5o4wBz9qBBMvVzCBH_BO6n0Rw@mail.gmail.com>
Subject: Re: [PATCH] xen: Fix host pci for stubdom
To: Bernhard Beschow <shentey@gmail.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, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Mar 20, 2023 at 2:41=E2=80=AFPM Bernhard Beschow <shentey@gmail.com=
> wrote:
>
>
>
> Am 20. M=C3=A4rz 2023 00:05:54 UTC schrieb Jason Andryuk <jandryuk@gmail.=
com>:
> >PCI passthrough for an HVM with a stubdom is PV PCI passthrough from
> >dom0 to the stubdom, and then QEMU passthrough of the PCI device inside
> >the stubdom.  xen-pciback has boolean module param passthrough which
> >controls "how to export PCI topology to guest".  If passthrough=3D1, the
> >frontend shows a PCI SBDF matching the backend host device.  When
> >passthough=3D0, the frontend will get a sequentially allocated SBDF.
> >
> >libxl passes the host SBDF over QMP to QEMU.  For non-stubdom or stubdom
> >with passthrough=3D1, this works fine.  However, it fails for
> >passthrough=3D0 when QEMU can't find the sysfs node for the host SBDF.
> >
> >Handle all these cases.  Look for the xenstore frontend nodes.  If they
> >are missing, then default to using the QMP command provided SBDF.  This
> >is the non-stubdom case.  If xenstore nodes are found, then read the
> >local SBDF from the xenstore nodes.  This will handle either
> >passthrough=3D0/1 case.
> >
> >Based on a stubdom-specific patch originally by Marek
> >Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com>, which is ba=
sed
> >on earlier work by HW42 <hw42@ipsumj.de>
> >
> >Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> >---
> > hw/xen/xen-host-pci-device.c | 96 +++++++++++++++++++++++++++++++++++-
> > hw/xen/xen-host-pci-device.h |  6 +++
> > 2 files changed, 101 insertions(+), 1 deletion(-)
> >
> >diff --git a/hw/xen/xen-host-pci-device.c b/hw/xen/xen-host-pci-device.c
> >index 8c6e9a1716..51a72b432d 100644
> >--- a/hw/xen/xen-host-pci-device.c
> >+++ b/hw/xen/xen-host-pci-device.c
> >@@ -9,6 +9,7 @@
> > #include "qemu/osdep.h"
> > #include "qapi/error.h"
> > #include "qemu/cutils.h"
> >+#include "hw/xen/xen-legacy-backend.h"
> > #include "xen-host-pci-device.h"
> >
> > #define XEN_HOST_PCI_MAX_EXT_CAP \
> >@@ -33,13 +34,101 @@
> > #define IORESOURCE_PREFETCH     0x00001000      /* No side effects */
> > #define IORESOURCE_MEM_64       0x00100000
> >
> >+/*
> >+ * Non-passthrough (dom0) accesses are local PCI devices and use the gi=
ven BDF
> >+ * Passthough (stubdom) accesses are through PV frontend PCI device.  T=
hose
>
> I'm unable to parse this sentence, which may be due to my unfamiliarity w=
ith Xen terminology.

It's two sentences, but it's missing a period.
"Non-passthrough (dom0) accesses are local PCI devices and use the
given BDF."  and "Passthough (stubdom) accesses are through PV
frontend PCI device."

> There is also an extra space before "Those".

It's two spaces between sentences, which visually separates the
sentences.  It's a common formatting, so I think it's okay.

Thanks for taking a look.

> >+ * either have a BDF identical to the backend's BFD (xen-backend.passth=
rough=3D1)

(And a typo here: s/BFD/BDF/)

> >+ * or a local virtual BDF (xen-backend.passthrough=3D0)
> >+ *
> >+ * We are always given the backend's BDF and need to lookup the appropr=
iate
> >+ * local BDF for sysfs access.
> >+ */

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 21:40:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 21:40:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512142.791868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peNEg-0000r4-Mh; Mon, 20 Mar 2023 21:40:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512142.791868; Mon, 20 Mar 2023 21:40:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peNEg-0000qx-K3; Mon, 20 Mar 2023 21:40:10 +0000
Received: by outflank-mailman (input) for mailman id 512142;
 Mon, 20 Mar 2023 21:40:09 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=uSrZ=7M=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1peNEf-0000qr-F4
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 21:40:09 +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 c7e9c45f-c767-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 22:40:07 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id EF62861807;
 Mon, 20 Mar 2023 21:40:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id AEDFEC433EF;
 Mon, 20 Mar 2023 21:40: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: c7e9c45f-c767-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679348405;
	bh=b3KPHT0XTFP922ZYzUcPnf388APk4zogrz7TJvBOu0k=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=XpEwuyyg9JpgxePv2LDIrwcGlsyzygVazrDOAoYYV++qevhkpmtAGTblPY7gw3nBs
	 gmqTj3NMXomnSg6ot2NS9PGDSBs8pbMOz4EEpKRAz1iDG+R0k+8xCx+/E87SE7Ijpz
	 3M0zjw6nmn2XE/BsbNbqtrxpcMQhWnro0NSof6N4w4OLvyrHD+K6vpo3khgBjjp26c
	 0EMKQLwuSuLxeIU9gdHzqLkmHhIZzfh7FzWEAubYeidEWH9Kkkh3MhqK5ybbOe/xfI
	 uUgrPQk0bVVMi11OBSE90tahasNVzZXEhs6iKLfpPuPvEYBtp2JMbAwGj/5VJAVByk
	 gcQJJ7gNP0pEg==
Date: Mon, 20 Mar 2023 14:40:03 -0700 (PDT)
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: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 2/2] automation: add a suspend test on an Alder Lake
 system
In-Reply-To: <ZBjILVMZd3vRwrel@mail-itl>
Message-ID: <alpine.DEB.2.22.394.2303201439510.3359@ubuntu-linux-20-04-desktop>
References: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com> <aa4385f5291ebc06551414e4d8cbf7cdd3996eef.1679023966.git-series.marmarek@invisiblethingslab.com> <alpine.DEB.2.22.394.2303171539520.3359@ubuntu-linux-20-04-desktop>
 <ZBULiU0222GlcC1W@mail-itl> <alpine.DEB.2.22.394.2303201258140.3359@ubuntu-linux-20-04-desktop> <ZBjDu+EEvQ51hWFU@mail-itl> <alpine.DEB.2.22.394.2303201337580.3359@ubuntu-linux-20-04-desktop> <ZBjILVMZd3vRwrel@mail-itl>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-669432876-1679345967=:3359"
Content-ID: <alpine.DEB.2.22.394.2303201438580.3359@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-669432876-1679345967=:3359
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2303201438581.3359@ubuntu-linux-20-04-desktop>

On Mon, 20 Mar 2023, Marek Marczykowski-Górecki wrote:
> On Mon, Mar 20, 2023 at 01:41:45PM -0700, Stefano Stabellini wrote:
> > On Mon, 20 Mar 2023, Marek Marczykowski-Górecki wrote:
> > > On Mon, Mar 20, 2023 at 01:08:42PM -0700, Stefano Stabellini wrote:
> > > > On Sat, 18 Mar 2023, Marek Marczykowski-Górecki wrote:
> > > > > On Fri, Mar 17, 2023 at 04:10:22PM -0700, Stefano Stabellini wrote:
> > > > > > On Fri, 17 Mar 2023, Marek Marczykowski-Górecki wrote:
> > > > > > > +fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
> > > > > > 
> > > > > > I am a bit confused about it: are you sure you need fakeroot for this?
> > > > > > This script is running inside a container as root already? Are you using
> > > > > > Docker on the RPi4 to run this job?
> > > > > 
> > > > > This is running in a rootless podman container. But even with docker,
> > > > > for device files to work (see commit message) it would need to run
> > > > > privileged container, which I'd like to avoid.
> > > > 
> > > > Are you sure? I can run a non-privileged container with device assigned
> > > > just fine with Docker and
> > > >  
> > > >   devices = ["/dev/ttyUSB0:/dev/ttyUSB0"]
> > > > 
> > > > in the gitlab-runner config.toml.
> > > 
> > > It isn't about accessing existing devices, it's about creating them
> > > (unpacking rootfs which contains static /dev) and then packing it back
> > > still having those devices.
> > 
> > OK for that definitely you don't need a privileged container. A regular
> > container comes with "root" by default, but without all the privileges
> > that "root" normally allows outside of a container. That is enough (at
> > least in my environments) to pack/unpack a rootfs successfully without
> > fakeroot. Maybe this is a podman-specific limitation?
> 
> It seems so, as rootless podman isn't running commands as root on the
> "host", but instead in a separate user namespace.
> 
> > If you are curious to try, you should be able to run a simple
> > pack/unpack rootfs with Docker (of course without --privileged) without
> > issues.
> 
> In fact, the same issue happens in docker, if I enable this extra
> protection there[1].
> 
> [1] https://docs.docker.com/engine/security/userns-remap/
 
Useful to know! Please add all the info to the commit message or
a in-code comment. I am fine with using fakeroot for this (and in fact we
might want to add it to the other scripts as well at some point, given
that it shouldn't hurt in the "root" case either).
--8323329-669432876-1679345967=:3359--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 21:56:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 21:56:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512145.791878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peNUP-0002Z7-3c; Mon, 20 Mar 2023 21:56:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512145.791878; Mon, 20 Mar 2023 21:56:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peNUP-0002Z0-0p; Mon, 20 Mar 2023 21:56:25 +0000
Received: by outflank-mailman (input) for mailman id 512145;
 Mon, 20 Mar 2023 21:56: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=c5Rx=7M=yandex.ru=isaikin-dmitry@srs-se1.protection.inumbo.net>)
 id 1peNUN-0002Yu-A7
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 21:56:23 +0000
Received: from forward200b.mail.yandex.net (forward200b.mail.yandex.net
 [178.154.239.157]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0c3db831-c76a-11ed-87f5-c1b5be75604c;
 Mon, 20 Mar 2023 22:56:21 +0100 (CET)
Received: from mail-nwsmtp-smtp-production-main-45.sas.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-45.sas.yp-c.yandex.net
 [IPv6:2a02:6b8:c08:6413:0:640:1bc4:0])
 by forward200b.mail.yandex.net (Yandex) with ESMTP id 8A920600C0;
 Tue, 21 Mar 2023 00:56:18 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-45.sas.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id EuwiEDUWkuQ0-aa6KDLgg; 
 Tue, 21 Mar 2023 00:56:17 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c3db831-c76a-11ed-87f5-c1b5be75604c
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1679349377;
	bh=cPHulWu7xT33kLucFe1NjIiDqlIPl0UWOtkZ4jCoB7k=;
	h=Message-Id:Date:Cc:Subject:To:From;
	b=RtNcE1cm4wLdFk3oVuWqQ2Kc1+CjjCamkZ5Aa9+dCth+XKY1D63opTOWe80fNtMrg
	 Qex1LVdn3b4rAyRkE0fXdJVaWr5JZoKwR1lEDmtxQZbm8tEcaWdB59cTVIo/YC8QQo
	 j3Dso3h4GA3x/RLgpbXn/jk8I9jccWoCWlXYRGRw=
Authentication-Results: mail-nwsmtp-smtp-production-main-45.sas.yp-c.yandex.net; dkim=pass header.i=@yandex.ru
From: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
To: xen-devel@lists.xenproject.org
Cc: Dmitry Isaykin <isaikin-dmitry@yandex.ru>,
	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>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Anton Belousov <abelousov@ptsecurity.com>
Subject: [XEN PATCH v4] x86/monitor: Add new monitor event to catch I/O instructions
Date: Tue, 21 Mar 2023 00:56:12 +0300
Message-Id: <1d3e2081fba9a1ce07c3e2a28eddcd6f51d52854.1679348946.git.isaikin-dmitry@yandex.ru>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Adds monitor support for I/O instructions.

Signed-off-by: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
Signed-off-by: Anton Belousov <abelousov@ptsecurity.com>
---
Changes in v4:
 * Avoid the use of fixed-width types
 * Document vm_event_io structure fields
 * Untie vm-event interface from ioreq one

Changes in v3:
 * Rebase on staging
 * Refactor branch logic on monitor_traps response

Changes in v2:
 * Handled INS and OUTS instructions too
 * Added I/O monitoring support for AMD
 * Rename functions and structures (remove "_instruction" part)
 * Reorder parameters of hvm_monitor_io to match handle_pio's order
 * Change type of string_ins parameter to bool
 * Change vm_event_io structure
 * Handle monitor_traps's return status
---
 tools/include/xenctrl.h                |  1 +
 tools/libs/ctrl/xc_monitor.c           | 13 +++++++++++++
 xen/arch/x86/hvm/monitor.c             | 21 +++++++++++++++++++++
 xen/arch/x86/hvm/svm/svm.c             |  9 +++++++++
 xen/arch/x86/hvm/vmx/vmx.c             | 24 +++++++++++++++++++-----
 xen/arch/x86/include/asm/domain.h      |  1 +
 xen/arch/x86/include/asm/hvm/monitor.h |  3 +++
 xen/arch/x86/include/asm/monitor.h     |  3 ++-
 xen/arch/x86/monitor.c                 | 13 +++++++++++++
 xen/include/public/domctl.h            |  1 +
 xen/include/public/vm_event.h          | 10 ++++++++++
 11 files changed, 93 insertions(+), 6 deletions(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 23037874d3..05967ecc92 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2102,6 +2102,7 @@ int xc_monitor_emul_unimplemented(xc_interface *xch, uint32_t domain_id,
                                   bool enable);
 int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
                       bool sync);
+int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable);
 /**
  * This function enables / disables emulation for each REP for a
  * REP-compatible instruction.
diff --git a/tools/libs/ctrl/xc_monitor.c b/tools/libs/ctrl/xc_monitor.c
index c5fa62ff30..3cb96f444f 100644
--- a/tools/libs/ctrl/xc_monitor.c
+++ b/tools/libs/ctrl/xc_monitor.c
@@ -261,6 +261,19 @@ int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
     return do_domctl(xch, &domctl);
 }
 
+int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable)
+{
+    DECLARE_DOMCTL;
+
+    domctl.cmd = XEN_DOMCTL_monitor_op;
+    domctl.domain = domain_id;
+    domctl.u.monitor_op.op = enable ? XEN_DOMCTL_MONITOR_OP_ENABLE
+                                    : XEN_DOMCTL_MONITOR_OP_DISABLE;
+    domctl.u.monitor_op.event = XEN_DOMCTL_MONITOR_EVENT_IO;
+
+    return do_domctl(xch, &domctl);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/hvm/monitor.c b/xen/arch/x86/hvm/monitor.c
index a11cd76f4d..4f500beaf5 100644
--- a/xen/arch/x86/hvm/monitor.c
+++ b/xen/arch/x86/hvm/monitor.c
@@ -346,6 +346,27 @@ int hvm_monitor_vmexit(unsigned long exit_reason,
     return monitor_traps(curr, ad->monitor.vmexit_sync, &req);
 }
 
+int hvm_monitor_io(unsigned int port, unsigned int bytes,
+                   bool in, bool str)
+{
+    struct vcpu *curr = current;
+    struct arch_domain *ad = &curr->domain->arch;
+    vm_event_request_t req = {
+        .reason = VM_EVENT_REASON_IO_INSTRUCTION,
+        .u.io.bytes = bytes,
+        .u.io.port = port,
+        .u.io.in = in,
+        .u.io.str = str,
+    };
+
+    if ( !ad->monitor.io_enabled )
+        return 0;
+
+    set_npt_base(curr, &req);
+
+    return monitor_traps(curr, true, &req);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index bfe03316de..02563e4b70 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2939,6 +2939,15 @@ void svm_vmexit_handler(void)
         break;
 
     case VMEXIT_IOIO:
+        rc = hvm_monitor_io(vmcb->ei.io.port,
+                            vmcb->ei.io.bytes,
+                            vmcb->ei.io.in,
+                            vmcb->ei.io.str);
+        if ( rc < 0 )
+            goto unexpected_exit_type;
+        if ( rc )
+            break;
+
         if ( !vmcb->ei.io.str )
         {
             if ( handle_pio(vmcb->ei.io.port,
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 00b531f76c..0b7a302928 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4560,8 +4560,24 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         break;
 
     case EXIT_REASON_IO_INSTRUCTION:
+    {
+        unsigned int port, bytes;
+        bool in, str;
+        int rc;
+
         __vmread(EXIT_QUALIFICATION, &exit_qualification);
-        if ( exit_qualification & 0x10 )
+
+        port = (exit_qualification >> 16) & 0xFFFF;
+        bytes = (exit_qualification & 0x07) + 1;
+        in = (exit_qualification & 0x08);
+        str = (exit_qualification & 0x10);
+        rc = hvm_monitor_io(port, bytes, in, str);
+        if ( rc < 0 )
+            goto exit_and_crash;
+        if ( rc )
+            break;
+
+        if ( str )
         {
             /* INS, OUTS */
             if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
@@ -4570,13 +4586,11 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         else
         {
             /* IN, OUT */
-            uint16_t port = (exit_qualification >> 16) & 0xFFFF;
-            int bytes = (exit_qualification & 0x07) + 1;
-            int dir = (exit_qualification & 0x08) ? IOREQ_READ : IOREQ_WRITE;
-            if ( handle_pio(port, bytes, dir) )
+            if ( handle_pio(port, bytes, in ? IOREQ_READ : IOREQ_WRITE) )
                 update_guest_eip(); /* Safe: IN, OUT */
         }
         break;
+    }
 
     case EXIT_REASON_INVD:
     case EXIT_REASON_WBINVD:
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index 7bc126587d..29027ffd29 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -435,6 +435,7 @@ struct arch_domain
         unsigned int descriptor_access_enabled                             : 1;
         unsigned int guest_request_userspace_enabled                       : 1;
         unsigned int emul_unimplemented_enabled                            : 1;
+        unsigned int io_enabled                                            : 1;
         /*
          * By default all events are sent.
          * This is used to filter out pagefaults.
diff --git a/xen/arch/x86/include/asm/hvm/monitor.h b/xen/arch/x86/include/asm/hvm/monitor.h
index 639f6dfa37..6884f38d73 100644
--- a/xen/arch/x86/include/asm/hvm/monitor.h
+++ b/xen/arch/x86/include/asm/hvm/monitor.h
@@ -54,6 +54,9 @@ bool hvm_monitor_check_p2m(unsigned long gla, gfn_t gfn, uint32_t pfec,
 int hvm_monitor_vmexit(unsigned long exit_reason,
                        unsigned long exit_qualification);
 
+int hvm_monitor_io(unsigned int port, unsigned int bytes,
+                   bool in, bool str);
+
 #endif /* __ASM_X86_HVM_MONITOR_H__ */
 
 /*
diff --git a/xen/arch/x86/include/asm/monitor.h b/xen/arch/x86/include/asm/monitor.h
index d8d54c5f23..96e6a9d0d8 100644
--- a/xen/arch/x86/include/asm/monitor.h
+++ b/xen/arch/x86/include/asm/monitor.h
@@ -90,7 +90,8 @@ static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
                     (1U << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) |
                     (1U << XEN_DOMCTL_MONITOR_EVENT_EMUL_UNIMPLEMENTED) |
                     (1U << XEN_DOMCTL_MONITOR_EVENT_INGUEST_PAGEFAULT) |
-                    (1U << XEN_DOMCTL_MONITOR_EVENT_VMEXIT));
+                    (1U << XEN_DOMCTL_MONITOR_EVENT_VMEXIT) |
+                    (1U << XEN_DOMCTL_MONITOR_EVENT_IO));
 
     if ( hvm_is_singlestep_supported() )
         capabilities |= (1U << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP);
diff --git a/xen/arch/x86/monitor.c b/xen/arch/x86/monitor.c
index 30ca71432c..d4857faf8a 100644
--- a/xen/arch/x86/monitor.c
+++ b/xen/arch/x86/monitor.c
@@ -346,6 +346,19 @@ int arch_monitor_domctl_event(struct domain *d,
         break;
     }
 
+    case XEN_DOMCTL_MONITOR_EVENT_IO:
+    {
+        bool old_status = ad->monitor.io_enabled;
+
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
+
+        domain_pause(d);
+        ad->monitor.io_enabled = requested_status;
+        domain_unpause(d);
+        break;
+    }
+
     default:
         /*
          * Should not be reached unless arch_monitor_get_capabilities() is
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 51be28c3de..7280e9f968 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -1063,6 +1063,7 @@ struct xen_domctl_psr_cmt_op {
 /* Enabled by default */
 #define XEN_DOMCTL_MONITOR_EVENT_INGUEST_PAGEFAULT     11
 #define XEN_DOMCTL_MONITOR_EVENT_VMEXIT                12
+#define XEN_DOMCTL_MONITOR_EVENT_IO                    13
 
 struct xen_domctl_monitor_op {
     uint32_t op; /* XEN_DOMCTL_MONITOR_OP_* */
diff --git a/xen/include/public/vm_event.h b/xen/include/public/vm_event.h
index 0035c26e12..3a86f0e208 100644
--- a/xen/include/public/vm_event.h
+++ b/xen/include/public/vm_event.h
@@ -160,6 +160,8 @@
 #define VM_EVENT_REASON_EMUL_UNIMPLEMENTED      14
 /* VMEXIT */
 #define VM_EVENT_REASON_VMEXIT                  15
+/* IN/OUT Instruction executed */
+#define VM_EVENT_REASON_IO_INSTRUCTION          16
 
 /* Supported values for the vm_event_write_ctrlreg index. */
 #define VM_EVENT_X86_CR0    0
@@ -388,6 +390,13 @@ struct vm_event_vmexit {
     } arch;
 };
 
+struct vm_event_io {
+    uint32_t bytes; /* size of access */
+    uint16_t port;  /* port number */
+    uint8_t  in;    /* direction (0 = OUT, 1 = IN) */
+    uint8_t  str;   /* string instruction (0 = not string, 1 = string) */
+};
+
 typedef struct vm_event_st {
     uint32_t version;   /* VM_EVENT_INTERFACE_VERSION */
     uint32_t flags;     /* VM_EVENT_FLAG_* */
@@ -409,6 +418,7 @@ typedef struct vm_event_st {
         struct vm_event_debug                 debug_exception;
         struct vm_event_cpuid                 cpuid;
         struct vm_event_vmexit                vmexit;
+        struct vm_event_io                    io;
         union {
             struct vm_event_interrupt_x86     x86;
         } interrupt;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 20 23:35:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 23:35:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512150.791895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peP1w-0005Sx-AE; Mon, 20 Mar 2023 23:35:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512150.791895; Mon, 20 Mar 2023 23:35:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peP1w-0005Sq-6t; Mon, 20 Mar 2023 23:35:08 +0000
Received: by outflank-mailman (input) for mailman id 512150;
 Mon, 20 Mar 2023 23:35:07 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Z4LM=7M=tklengyel.com=bounce+e181d6.cd840-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1peP1u-0005SU-PD
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 23:35:07 +0000
Received: from rs227.mailgun.us (rs227.mailgun.us [209.61.151.227])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id d6926686-c777-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 00:35:04 +0100 (CET)
Received: from mail-yb1-f173.google.com (mail-yb1-f173.google.com
 [209.85.219.173]) by
 95303ccc4d02 with SMTP id 6418eda54699828fae8ef4b2 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 20 Mar 2023 23:35:01 GMT
Received: by mail-yb1-f173.google.com with SMTP id z83so15207013ybb.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 16:35:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: d6926686-c777-11ed-87f5-c1b5be75604c
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=tklengyel.com;
 q=dns/txt; s=mailo; t=1679355301; x=1679362501; h=Content-Type: Cc: To: To:
 Subject: Subject: Message-ID: Date: From: From: In-Reply-To: References:
 MIME-Version: Sender: Sender;
 bh=jDFVo1Kvy4xvlr3ArcU6O89+q/naVyly7oLes1oNCj4=;
 b=Sozea4O88uvnW2fNZN/OGtnN1dhmjHm9rxTl61hwT3HA49VjQGLzV/0QBWKeiOnTzdw044Mpczyp9NjmXnfEKwOLLGySIAasxf1r0J2fytmt6Fyvy0A5BQvdhjf14JnuvCibl4t/LX1zGbejaEwkPlVn2QSmOGkoH4k9px219G3+kqFtyfcO+54QRgpYlqpqVfYTz4RFjKBzB30G4jSK4ek3eUX28p621vBV5cMaetcnu2X7+/JQMPGRSaVbIVO1VOaimNJPP8xfe8beC562syzk7GAPUtp/wyKRm8XS8fyuJ0sMHNafDhhrGlGRKRgLbJH7Euw918hLYuPm0LB0GA==
X-Mailgun-Sending-Ip: 209.61.151.227
X-Mailgun-Sid: WyIyYTNmOCIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsImNkODQwIl0=
Sender: tamas@tklengyel.com
X-Gm-Message-State: AAQBX9fa1Mu1RmljZ+bC4ITJ8hVfEj+SH/6p+4P8qxItUptgzuYD91PF
	thuJtI5xuBFMTAEDMOJn029qKkc2Kk84L0DzOvw=
X-Google-Smtp-Source: AKy350b9GPRARXyPIivWMZTR+1EUO3Uu+CpqMF6NZ/o7JhPykqzlTyTOVsxI/Anp+KHx6O/XCdBqjI5l7uyWagwsvhA=
X-Received: by 2002:a5b:24e:0:b0:b69:f11b:690f with SMTP id
 g14-20020a5b024e000000b00b69f11b690fmr147340ybp.6.1679355301739; Mon, 20 Mar
 2023 16:35:01 -0700 (PDT)
MIME-Version: 1.0
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru> <CABfawhncTLzRvHYF3SyhdidfobP9PB3YOZ9oTjRREjKs07KtXQ@mail.gmail.com>
 <c5ea0f53-8cc9-509e-6c82-deea00f1ed74@list.ru>
In-Reply-To: <c5ea0f53-8cc9-509e-6c82-deea00f1ed74@list.ru>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Mon, 20 Mar 2023 19:34:25 -0400
X-Gmail-Original-Message-ID: <CABfawhnRmGwB4VTx2i9Wg2c8dfyKqU5zM6MnWsMHBOfXA43+qA@mail.gmail.com>
Message-ID: <CABfawhnRmGwB4VTx2i9Wg2c8dfyKqU5zM6MnWsMHBOfXA43+qA@mail.gmail.com>
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
To: =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg0KHQtdGA0LPQtdC5?= <valor@list.ru>
Cc: 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>, 
	Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Dmitry Isaykin <isaikin-dmitry@yandex.ru>
Content-Type: multipart/alternative; boundary="00000000000036429d05f75d601d"

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

On Mon, Mar 20, 2023 at 3:23=E2=80=AFPM =D0=9A=D0=BE=D0=B2=D0=B0=D0=BB=D1=
=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 <valor@list.ru> wrote:
>
>
>
> 21.03.2023 1:51, Tamas K Lengyel wrote:
> >
> >
> > On Mon, Mar 20, 2023 at 12:32=E2=80=AFPM =D0=9A=D0=BE=D0=B2=D0=B0=D0=BB=
=D1=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 <valor@list.ru
> > <mailto:valor@list.ru>> wrote:
> >  >
> >  > gva_to_gfn command used for fast address translation in LibVMI
project.
> >  > With such a command it is possible to perform address translation in
> >  > single call instead of series of queries to get every page table.
> >
> > You have a couple assumptions here:
> >   - Xen will always have a direct map of the entire guest memory - ther=
e
> > are already plans to move away from that. Without that this approach
> > won't have any advantage over doing the same mapping by LibVMI
>
> Thanks! I didn't know about the plan. Though I use this patch
> back ported into 4.16.
>
> >   - LibVMI has to map every page for each page table for every lookup -
> > you have to do that only for the first, afterwards the pages on which
> > the pagetable is are kept in a cache and subsequent lookups would be
> > actually faster then having to do this domctl since you can keep being
> > in the same process instead of having to jump to Xen.
>
> Yes. I know about the page cache. But I have faced with several issues
> with cache like this one https://github.com/libvmi/libvmi/pull/1058 .
> So I had to disable the cache.

The issue you linked to is an issue with a stale v2p cache, which is a
virtual TLB. The cache I talked about is the page cache, which is just
maintaining a list of the pages that were accessed by LibVMI for future
accesses. You can have one and not the other (ie. ./configure
--disable-address-cache --enable-page-cache).

Tamas

--00000000000036429d05f75d601d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><br><br>On Mon, Mar 20, 2023 at 3:23=E2=80=AFPM =D0=
=9A=D0=BE=D0=B2=D0=B0=D0=BB=D1=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=
=B9 &lt;<a href=3D"mailto:valor@list.ru">valor@list.ru</a>&gt; wrote:<br>&g=
t;<br>&gt;<br>&gt;<br>&gt; 21.03.2023 1:51, Tamas K Lengyel wrote:<br>&gt; =
&gt;<br>&gt; &gt;<br>&gt; &gt; On Mon, Mar 20, 2023 at 12:32=E2=80=AFPM =D0=
=9A=D0=BE=D0=B2=D0=B0=D0=BB=D1=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=
=B9 &lt;<a href=3D"mailto:valor@list.ru">valor@list.ru</a><br>&gt; &gt; &lt=
;mailto:<a href=3D"mailto:valor@list.ru">valor@list.ru</a>&gt;&gt; wrote:<b=
r>&gt; &gt; =C2=A0&gt;<br>&gt; &gt; =C2=A0&gt; gva_to_gfn command used for =
fast address translation in LibVMI project.<br>&gt; &gt; =C2=A0&gt; With su=
ch a command it is possible to perform address translation in<br>&gt; &gt; =
=C2=A0&gt; single call instead of series of queries to get every page table=
.<br>&gt; &gt;<br>&gt; &gt; You have a couple assumptions here:<br>&gt; &gt=
; =C2=A0 - Xen will always have a direct map of the entire guest memory - t=
here<br>&gt; &gt; are already plans to move away from that. Without that th=
is approach<br>&gt; &gt; won&#39;t have any advantage over doing the same m=
apping by LibVMI<br>&gt;<br>&gt; Thanks! I didn&#39;t know about the plan. =
Though I use this patch<br>&gt; back ported into 4.16.<br>&gt;<br>&gt; &gt;=
 =C2=A0 - LibVMI has to map every page for each page table for every lookup=
 -<br>&gt; &gt; you have to do that only for the first, afterwards the page=
s on which<br>&gt; &gt; the pagetable is are kept in a cache and subsequent=
 lookups would be<br>&gt; &gt; actually faster then having to do this domct=
l since you can keep being<br>&gt; &gt; in the same process instead of havi=
ng to jump to Xen.<br>&gt;<br>&gt; Yes. I know about the page cache. But I =
have faced with several issues<br>&gt; with cache like this one <a href=3D"=
https://github.com/libvmi/libvmi/pull/1058">https://github.com/libvmi/libvm=
i/pull/1058</a> .<br>&gt; So I had to disable the cache.<br><br></div><div>=
The issue you linked to is an issue with a stale v2p cache, which is a virt=
ual TLB. The cache I talked about is the page cache, which is just maintain=
ing a list of the pages that were accessed by LibVMI for future accesses. Y=
ou can have one and not the other (ie. ./configure=C2=A0 --disable-address-=
cache --enable-page-cache). <br></div><div><br></div><div>Tamas<br></div></=
div>

--00000000000036429d05f75d601d--


From xen-devel-bounces@lists.xenproject.org Mon Mar 20 23:44:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Mar 2023 23:44:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512153.791905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pePAX-00078t-4v; Mon, 20 Mar 2023 23:44:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512153.791905; Mon, 20 Mar 2023 23: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 1pePAX-00078m-25; Mon, 20 Mar 2023 23:44:01 +0000
Received: by outflank-mailman (input) for mailman id 512153;
 Mon, 20 Mar 2023 23: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=Z4LM=7M=tklengyel.com=bounce+e181d6.cd840-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1pePAV-00078c-L4
 for xen-devel@lists.xenproject.org; Mon, 20 Mar 2023 23:43:59 +0000
Received: from so254-35.mailgun.net (so254-35.mailgun.net [198.61.254.35])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 151fb4a8-c779-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 00:43:58 +0100 (CET)
Received: from mail-yb1-f169.google.com (mail-yb1-f169.google.com
 [209.85.219.169]) by
 7a2039c4603b with SMTP id 6418efbca30a5ed72569b589 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 20 Mar 2023 23:43:56 GMT
Received: by mail-yb1-f169.google.com with SMTP id k17so4467488ybm.11
 for <xen-devel@lists.xenproject.org>; Mon, 20 Mar 2023 16:43:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 151fb4a8-c779-11ed-87f5-c1b5be75604c
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=tklengyel.com;
 q=dns/txt; s=mailo; t=1679355836; x=1679363036; h=Content-Type: Cc: To: To:
 Subject: Subject: Message-ID: Date: From: From: In-Reply-To: References:
 MIME-Version: Sender: Sender;
 bh=Ss9SZAIfLoBmgPZ+I3riaZwjUT2RVhV59wXQsNNOMvA=;
 b=ynCyfLBKs2K2eD8ocPN6/Uql+vmprFz4QzVxHMjWx6yQKY1vArX56iLk+ZKH7NV/DxUBAiSSp5amtB3teSlutga9x+hxVoBsmB4apwfS+A3SUp85HsnEGTEy07/mNj6dYCu11feVOlx2zycx/wYrcbNWGKGAd5ebXbvI9Iss97iVjbKKwysa6LP6YGQS0j2uNIDK9iszgq7TmpcO12yueQEUqDBF3FChrlP02dShqbSo9V830ok4+uBc1LsWeFs5ZuGz1tFRDXVChC/gQQhyJve+06uzGNVBMoJ0HXb+gswqS4haoyoh9P11Z98kT/QLyjc/YUpPR0aoq/BKZPfIvg==
X-Mailgun-Sending-Ip: 198.61.254.35
X-Mailgun-Sid: WyIyYTNmOCIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsImNkODQwIl0=
Sender: tamas@tklengyel.com
X-Gm-Message-State: AAQBX9fpqgK3DnSXxEsF3s1tW7m30Z+p8jLnFrxh/fMDDjA5xHa+fBFs
	MlCH1GlpHwuQNNmvti6RDGx0fTZrrwc5WE1ggVY=
X-Google-Smtp-Source: AKy350YkEZ7DPocvQmWFKLrVI1fJDIIt2oyxGcJb6z8oonIKkl82GeA1p0fu9/GFHQkxK0XyjZBf8kx7WJhgtoDcESo=
X-Received: by 2002:a05:6902:72d:b0:b6b:6a39:949c with SMTP id
 l13-20020a056902072d00b00b6b6a39949cmr157310ybt.6.1679355836264; Mon, 20 Mar
 2023 16:43:56 -0700 (PDT)
MIME-Version: 1.0
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru> <CABfawhncTLzRvHYF3SyhdidfobP9PB3YOZ9oTjRREjKs07KtXQ@mail.gmail.com>
 <c5ea0f53-8cc9-509e-6c82-deea00f1ed74@list.ru> <615872d7-b118-374c-a89a-3d46b5e5f2f8@citrix.com>
In-Reply-To: <615872d7-b118-374c-a89a-3d46b5e5f2f8@citrix.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Mon, 20 Mar 2023 19:43:20 -0400
X-Gmail-Original-Message-ID: <CABfawhnvMEcD-az1o=C7ae0Wy9XZLFHJMWpVudVX3Q3pqM0wsA@mail.gmail.com>
Message-ID: <CABfawhnvMEcD-az1o=C7ae0Wy9XZLFHJMWpVudVX3Q3pqM0wsA@mail.gmail.com>
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg0KHQtdGA0LPQtdC5?= <valor@list.ru>, 
	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>, 
	George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Dmitry Isaykin <isaikin-dmitry@yandex.ru>
Content-Type: multipart/alternative; boundary="00000000000012776605f75d805f"

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

On Mon, Mar 20, 2023 at 3:34=E2=80=AFPM Andrew Cooper <andrew.cooper3@citri=
x.com>
wrote:
>
> On 20/03/2023 7:22 pm, =D0=9A=D0=BE=D0=B2=D0=B0=D0=BB=D1=91=D0=B2 =D0=A1=
=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 wrote:
> >
> > 21.03.2023 1:51, Tamas K Lengyel wrote:
> >> On Mon, Mar 20, 2023 at 12:32=E2=80=AFPM =D0=9A=D0=BE=D0=B2=D0=B0=D0=
=BB=D1=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 <valor@list.ru
> >> <mailto:valor@list.ru>> wrote:
> >>  >
> >>  > gva_to_gfn command used for fast address translation in LibVMI
> >> project.
> >>  > With such a command it is possible to perform address translation i=
n
> >>  > single call instead of series of queries to get every page table.
> >>
> >> You have a couple assumptions here:
> >>   - Xen will always have a direct map of the entire guest memory -
> >> there are already plans to move away from that. Without that this
> >> approach won't have any advantage over doing the same mapping by LibVM=
I
> >
> > Thanks! I didn't know about the plan.
>
> To be clear, "not mapping the guest by default" is for speculative
> safety/hardening reasons.
>
> Xen will always need to be capable of mapping arbitrary parts of the
> guest, even if only transiently, so there's no relevant interaction with
> this new proposed hypercall.
>
>
> The truth is that Xen will always be able to do a single pagewalk faster
> than libvmi can do it (via mappings, or otherwise), but if libvmi does
> properly maintain a cache of mappings then it will be faster that
> repeated hypercalls into Xen.  Where the split lies depends heavily on
> the libvmi workload.
>
> I don't see a problem in principle with a hypercall like this - it is
> "just" a performance optimisation over capabilities that libvmi already
> has - but the version presented here is overly simplistic.

For debugging purposes sure it would be fine to have this hypercall but I
wouldn't set it as the default for LibVMI. Oftentimes the lookup needs to
be more nuanced then what Xen understands about paging. For example, on
Windows guests you can have transition pages that don't have the present
bit set yet are perfectly valid for introspection purposes (
https://citeseerx.ist.psu.edu/document?repid=3Drep1&type=3Dpdf&doi=3D3311ed=
0c63d4ca707c49256655e401f37f25ec50).
Xen would need to be enlightened about this type of OS-specific tidbits for
which I think LibVMI is a much better place to keep the logic for.

Tamas

--00000000000012776605f75d805f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Mon, Mar 20, 2023 at 3:34=E2=80=AFPM Andrew Coo=
per &lt;<a href=3D"mailto:andrew.cooper3@citrix.com">andrew.cooper3@citrix.=
com</a>&gt; wrote:<br>&gt;<br>&gt; On 20/03/2023 7:22 pm, =D0=9A=D0=BE=D0=
=B2=D0=B0=D0=BB=D1=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 wrote:<br>=
&gt; &gt;<br>&gt; &gt; 21.03.2023 1:51, Tamas K Lengyel wrote:<br>&gt; &gt;=
&gt; On Mon, Mar 20, 2023 at 12:32=E2=80=AFPM =D0=9A=D0=BE=D0=B2=D0=B0=D0=
=BB=D1=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 &lt;<a href=3D"mailto:=
valor@list.ru">valor@list.ru</a><br>&gt; &gt;&gt; &lt;mailto:<a href=3D"mai=
lto:valor@list.ru">valor@list.ru</a>&gt;&gt; wrote:<br>&gt; &gt;&gt; =C2=A0=
&gt;<br>&gt; &gt;&gt; =C2=A0&gt; gva_to_gfn command used for fast address t=
ranslation in LibVMI<br>&gt; &gt;&gt; project.<br>&gt; &gt;&gt; =C2=A0&gt; =
With such a command it is possible to perform address translation in<br>&gt=
; &gt;&gt; =C2=A0&gt; single call instead of series of queries to get every=
 page table.<br>&gt; &gt;&gt;<br>&gt; &gt;&gt; You have a couple assumption=
s here:<br>&gt; &gt;&gt; =C2=A0 - Xen will always have a direct map of the =
entire guest memory -<br>&gt; &gt;&gt; there are already plans to move away=
 from that. Without that this<br>&gt; &gt;&gt; approach won&#39;t have any =
advantage over doing the same mapping by LibVMI<br>&gt; &gt;<br>&gt; &gt; T=
hanks! I didn&#39;t know about the plan.<br>&gt;<br>&gt; To be clear, &quot=
;not mapping the guest by default&quot; is for speculative<br>&gt; safety/h=
ardening reasons.<br>&gt;<br>&gt; Xen will always need to be capable of map=
ping arbitrary parts of the<br>&gt; guest, even if only transiently, so the=
re&#39;s no relevant interaction with<br>&gt; this new proposed hypercall.<=
br>&gt;<br>&gt;<br>&gt; The truth is that Xen will always be able to do a s=
ingle pagewalk faster<br>&gt; than libvmi can do it (via mappings, or other=
wise), but if libvmi does<br>&gt; properly maintain a cache of mappings the=
n it will be faster that<br>&gt; repeated hypercalls into Xen.=C2=A0 Where =
the split lies depends heavily on<br>&gt; the libvmi workload.<br>&gt;<br>&=
gt; I don&#39;t see a problem in principle with a hypercall like this - it =
is<br>&gt; &quot;just&quot; a performance optimisation over capabilities th=
at libvmi already<br>&gt; has - but the version presented here is overly si=
mplistic.<br><div><br></div><div>For debugging purposes sure it would be fi=
ne to have this hypercall but I wouldn&#39;t set it as the default for LibV=
MI. Oftentimes the lookup needs to be more nuanced then what Xen understand=
s about paging. For example, on Windows guests you can have transition page=
s that don&#39;t have the present bit set yet are perfectly valid for intro=
spection purposes (<a href=3D"https://citeseerx.ist.psu.edu/document?repid=
=3Drep1&amp;type=3Dpdf&amp;doi=3D3311ed0c63d4ca707c49256655e401f37f25ec50">=
https://citeseerx.ist.psu.edu/document?repid=3Drep1&amp;type=3Dpdf&amp;doi=
=3D3311ed0c63d4ca707c49256655e401f37f25ec50</a>). Xen would need to be enli=
ghtened about this type of OS-specific tidbits for which I think LibVMI is =
a much better place to keep the logic for.<br></div><div><br></div><div>Tam=
as<br></div></div>

--00000000000012776605f75d805f--


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 00:35:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 00:35:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512158.791915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pePy3-0007px-6q; Tue, 21 Mar 2023 00:35:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512158.791915; Tue, 21 Mar 2023 00:35: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 1pePy3-0007pq-3d; Tue, 21 Mar 2023 00:35:11 +0000
Received: by outflank-mailman (input) for mailman id 512158;
 Tue, 21 Mar 2023 00:35: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 1pePy1-0007pa-GW; Tue, 21 Mar 2023 00:35: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 1pePy1-000416-7y; Tue, 21 Mar 2023 00:35: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 1pePy0-000083-W6; Tue, 21 Mar 2023 00:35:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pePy0-0002pI-Ve; Tue, 21 Mar 2023 00: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GFmWLtOGc9711T9GLk1mLPpAHIxbq00UXkF4qQVQE5U=; b=CZxFC9Ri3MK/UIsxLjUxqOBwKK
	nVy98El1ewEwLJGBqWsz8ofxbK5g6XtEy6zqojanV5RkcLxBpIAiGn/kKm9oLlPuNu3h8XvXSMhmV
	OEF2X3NpZGvRT7bKQV8OFGttLWoJ0GGF4la+l0S/dwaJ0U/2OnZ7027REZXS5eRCd4gw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179816-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179816: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-i386-pair:xen-install/src_host:fail:heisenbug
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=74c581b6452394e591f13beba9fea2ec0688e2f5
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Mar 2023 00:35:08 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which are failing intermittently (not blocking):
 test-amd64-i386-pair         10 xen-install/src_host       fail pass in 179802
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install          fail pass in 179802

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                74c581b6452394e591f13beba9fea2ec0688e2f5
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z   11 days
Failing since        179526  2023-03-10 01:53:40 Z   10 days   19 attempts
Testing same since   179733  2023-03-17 21:10:25 Z    3 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Steve Sistare <steven.sistare@oracle.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Wei Wang <wei.w.wang@intel.com>
  Willem van de Velde <williamvdvelde@gmail.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 02:52:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 02:52:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512172.791934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peS6C-0003tN-Uj; Tue, 21 Mar 2023 02:51:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512172.791934; Tue, 21 Mar 2023 02: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 1peS6C-0003tD-Ov; Tue, 21 Mar 2023 02:51:44 +0000
Received: by outflank-mailman (input) for mailman id 512172;
 Tue, 21 Mar 2023 02:51: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 1peS6C-0003t1-2u; Tue, 21 Mar 2023 02:51: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 1peS6C-0005m5-1J; Tue, 21 Mar 2023 02:51: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 1peS6B-00067v-KA; Tue, 21 Mar 2023 02:51:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1peS6B-0007w9-Jb; Tue, 21 Mar 2023 02:51:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Ur2zp8M84pDUBMhupBRPg6ZVU7DJBJrTu89tWHlth30=; b=WJi7xQmtOyHyJme7wpEdLVQMkX
	NYHmLwRmXYKe3vPJcLENm8QJNs0TxhhuddGo4e543k1WEuZ05L1Rh1YdDdA1X3VRNsz3HyYJ81PwI
	qB3es7FNUg+pw8CB1GluevgyIdVKU5StIF5ySSkRj+pKHMa90FTWlGowlInFkneJzk+Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179826-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179826: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=0bbf102d8794fb961cb103ada00999768547916e
X-Osstest-Versions-That:
    xen=c2581c58bec96afa450ebaca3fa2a33bcb0a9974
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Mar 2023 02:51:43 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  0bbf102d8794fb961cb103ada00999768547916e
baseline version:
 xen                  c2581c58bec96afa450ebaca3fa2a33bcb0a9974

Last test of basis   179814  2023-03-20 17:00:25 Z    0 days
Testing same since   179826  2023-03-21 01:05:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jiamei Xie <jiamei.xie@arm.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   c2581c58be..0bbf102d87  0bbf102d8794fb961cb103ada00999768547916e -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 03:58:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 03:58:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512182.791950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peT8T-0005TP-OS; Tue, 21 Mar 2023 03:58:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512182.791950; Tue, 21 Mar 2023 03: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 1peT8T-0005TI-LZ; Tue, 21 Mar 2023 03:58:09 +0000
Received: by outflank-mailman (input) for mailman id 512182;
 Tue, 21 Mar 2023 03: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=g8nM=7N=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1peT8S-0005Sp-86
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 03:58:08 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20612.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94d8dbf7-c79c-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 04:58:04 +0100 (CET)
Received: from AM6P192CA0020.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::33)
 by DB3PR08MB9036.eurprd08.prod.outlook.com (2603:10a6:10:430::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 03:58:02 +0000
Received: from AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:83:cafe::27) by AM6P192CA0020.outlook.office365.com
 (2603:10a6:209:83::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28 via Frontend
 Transport; Tue, 21 Mar 2023 03:58:02 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT032.mail.protection.outlook.com (100.127.140.65) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.16 via Frontend Transport; Tue, 21 Mar 2023 03:58:01 +0000
Received: ("Tessian outbound 0df938784972:v135");
 Tue, 21 Mar 2023 03:58:01 +0000
Received: from 4ad288051037.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 90D56DBD-1904-4DCC-B713-C303927511FB.1; 
 Tue, 21 Mar 2023 03:57:54 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4ad288051037.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 21 Mar 2023 03:57:54 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB8682.eurprd08.prod.outlook.com (2603:10a6:20b:564::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 03:57:48 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03%4]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 03: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: 94d8dbf7-c79c-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xb3UNfuZqvbXOKhi0QGLZ8JbSSwquB9K/9g1hl4rZDw=;
 b=hP41igmrkQplxdBeHMTqjnmOnR+ur7rw1YsxS/iabT8c7/ZEQdIXm7fH2/C6dU+XYO6R0yXGNBG1u7Lw5g9DBEjmuSKHLdti1FMPWS677tE2EZjtO3x+zuolhFcPZjsuobPyWrDiAo4kcPYTpNCY+Vqy5mXNL3Ey2lTyemzn6HY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qt/7O6u//XEWBDnQWsQRJn5ewBRNHXCrKUQ3V+UHU1L2V2yM+0/yMH7cqqu5cMdWN6VKLafFXVO6Lka0hnV/PQZy/91TqARMS83C8NYyjiiftLQ7dFEgQaQFnBvwoVqYTeXmXGEIlCSUdXjN1DFI3b0dWbjLBjopNR5YgTWNPH7hwuky7Scmto9KbEmHUwRJU7o2NCA7JA8K/vW0KkcHLT8tuwz0JJxl3arGXYUERhHBFEA5Hl3sZNNUK15k1yorX98BJ60G3zcAE7xb4RK5HhC+VOjDv+x1BSOy7LsrG4SBifwBI3p4sSRLgLfxt+Q0fz4V2n/26pBlvD6UzHbkcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xb3UNfuZqvbXOKhi0QGLZ8JbSSwquB9K/9g1hl4rZDw=;
 b=JbqBUE6TJVWC1DEliBsWrgJmyzpYCN9j0tWbwF16+eZggPpYcPzyJyvfrz+LL9u4oA2yrCTu2COGEgQ7IkgmKWYSxoRvkuwnRI/G5sLx3UFcuNHJZD7FfHsIfd+eMCTgff+3TYgMA8qJloGSNqaVpM1abiEjh+0xIs+EXMQM8X4Lw7oJshI6FrU0KpHLUzZ45YGJT5JTTUPTaV0F4kcxrB+eZ5j1oxeohTBpdKmfyzGQgVw4IygpZ9MUGHryI6CY0PBJbiRmkon1BNuNhAG0Vp8oeMIk7xtUy1QBLMsTqzxGtxGKlUzaF9LObRvlRo0XR/XIUnGQEE5TWXmytY07tQ==
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=xb3UNfuZqvbXOKhi0QGLZ8JbSSwquB9K/9g1hl4rZDw=;
 b=hP41igmrkQplxdBeHMTqjnmOnR+ur7rw1YsxS/iabT8c7/ZEQdIXm7fH2/C6dU+XYO6R0yXGNBG1u7Lw5g9DBEjmuSKHLdti1FMPWS677tE2EZjtO3x+zuolhFcPZjsuobPyWrDiAo4kcPYTpNCY+Vqy5mXNL3Ey2lTyemzn6HY=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Wei Chen <Wei.Chen@arm.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH v2 3/4] xen/arm: Defer GICv2 CPU interface mapping until
 the first access
Thread-Topic: [PATCH v2 3/4] xen/arm: Defer GICv2 CPU interface mapping until
 the first access
Thread-Index: AQHZNGBES9GND13bPU+mzqer9SysH68EWvQAgACL1MA=
Date: Tue, 21 Mar 2023 03:57:47 +0000
Message-ID:
 <AS8PR08MB799142447DF4749065ABAF5992819@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230130040614.188296-1-Henry.Wang@arm.com>
 <20230130040614.188296-4-Henry.Wang@arm.com>
 <e2421c2d-6ae1-bf70-530d-0683d943f519@xen.org>
In-Reply-To: <e2421c2d-6ae1-bf70-530d-0683d943f519@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 91B2D2A6E269794BA938972B9CDB6295.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB8682:EE_|AM7EUR03FT032:EE_|DB3PR08MB9036:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b2279c0-480f-4b07-54c2-08db29c07778
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:
 9/FcN4j3XWb5WXqAmXk4jaiSpdzsObtQCgrTS6dvlHs98MMyh46iPZvYBy3ugH7dA38nWU06QwSkjNHFgwDe0ss2FBMsPFOgKwsB9QXeVZHSqLQ2hHSZsSQnDuEWIMkUwVsoR5dKUQIpko1Cj1doW0MhN8gOrtj7Y31RxeHVZqA9gu88e7JFc/t6zb79dH73AJCeSVjVx+XkXwLfueV/YmoiDyUpeakPsAbacD8eg7KhyCWtQTJdfHbsWWIGPV4yNUCE6DTTx/oqEjC5nt4RgJ/h2nnfGPdyLXoohxWb1uRVzW6cmE3MEjQTQea6EfkYvjDfTeZbmkVEPRK4LGKNRE52rHTW3vlotKXZCLxSNWrGjI2J4woj2A/lOd5KAG+a27VC2AOx0UFIfAEQE5cr91itrahw+mDlGMyUugsImjIklpz+aDptKJ0lmO8ddHnlXwaM4ZO0Rq+iz/4Xl3Jr9cVnFFwRW7lkLhMrZkDIANncDg4mUd/9Kr5RQ2z/ufmEiJt7QPbZXxLzLrI11jodzQjqb6oo6uETY1wVXXCsyI0BXbp6qpm8BK6jWYS0eZ/Sa3wMcqncNSugAlKSk8UCdOl0jaZG2HeHtLGsQHGtgvTNu0I5VzQ5fc4nNRj1WeR0OoUwGKRs4HI40myu3ufEOHLHEwVby/02HyhTP3lj3dMrS9mCq7QScPdrWyp6kvcP1PYtwnXLq757XcVzgDqW4w==
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:(13230025)(4636009)(346002)(396003)(366004)(39860400002)(376002)(136003)(451199018)(8936002)(5660300002)(41300700001)(52536014)(55016003)(86362001)(38070700005)(33656002)(38100700002)(2906002)(122000001)(4326008)(478600001)(83380400001)(71200400001)(7696005)(186003)(53546011)(6506007)(26005)(9686003)(54906003)(110136005)(66476007)(316002)(8676002)(66556008)(66946007)(64756008)(76116006)(66446008);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8682
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cf73b8ee-f043-4b50-c621-08db29c06f15
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+Dj85RXBYgvCq/6nBzfBz8hG66hv/c98/a8x8AaG6SleJGq3t0S9yYvsyLhz3emH+7psOnOVE1/7Ypp1fDqyc7r8tRThm7ZNcXf9PZY+vKea1as/OihIh7SB2/gIX2TcMRkTpPdaawxXJwFuHAN6T9erShQQpvL25FOjjiOY3576hsHk9p6jY/3q3zBAjhZoDnzn5ocOChLhIceDoBggukMvqIRnXdQm0no2YksSMjV4EOWv0wy224tPNAWQ7l1Y+t08LiKW7l1JnXnrHScIlu6512WZ0tnbap/bu0E3j7eZG7B/4E7RUMLLjBWwt/2JjZwDQtza66S7icY0CutS7jSyzs4Kz3F/M5WqcwusS4R8nx2rSQBCQ+q3C6D+iqeUstF/Q3SIjDQnhxPsYqpdWptiYfeFsuNAp5QsAJtOK7zN0m/pXfcrmz4qStf5mM2XKGN5EV4jUtY/M7RXbzTZ9WXNRmaGvTOixcR2mQ4Deb8Pr5DEK8NzNTKXCHpNiRZs3EMpNOuK91Fscgk7RfWC57ehu1mttMtCZRUgKpGgwm5ur/VhgG5P8WC+/uJ0nse+LQk5+7BDmCmzf+nKYPmddjSb1jK3StZi2tpFWKI3t/es1fH4BreR9ii2Cr+9N3JTX6f4tH2cvj0MZndbkVA5D8c0S04ZrN5cHyqRPRHLe3ZjByhft3OI2Erv5xrkiHdNZDe18i3eqrGl0TanOYBmKg==
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:(13230025)(4636009)(396003)(136003)(39860400002)(376002)(346002)(451199018)(46966006)(40470700004)(36840700001)(47076005)(86362001)(7696005)(83380400001)(33656002)(54906003)(110136005)(316002)(40480700001)(8936002)(55016003)(8676002)(5660300002)(70586007)(70206006)(4326008)(52536014)(41300700001)(36860700001)(478600001)(40460700003)(81166007)(2906002)(82310400005)(82740400003)(356005)(107886003)(336012)(186003)(53546011)(6506007)(26005)(9686003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 03:58:01.7266
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b2279c0-480f-4b07-54c2-08db29c07778
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT032.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB9036

SGkgSnVsaWVuLA0KDQpUaGFua3MgdmVyeSBtdWNoIGZvciB5b3VyIHRpbWUgYW5kIHJldmlldyA6
KQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjIgMy80XSB4ZW4vYXJtOiBE
ZWZlciBHSUN2MiBDUFUgaW50ZXJmYWNlIG1hcHBpbmcgdW50aWwNCj4gdGhlIGZpcnN0IGFjY2Vz
cw0KPiANCj4gSGkgSGVucnksDQo+IA0KPiBPbiAzMC8wMS8yMDIzIDA0OjA2LCBIZW5yeSBXYW5n
IHdyb3RlOg0KPiA+IFNpbmNlIHRoZSBoYXJkd2FyZSBkb21haW4gKERvbTApIGhhcyBhbiB1bmxp
bWl0ZWQgc2l6ZSBQMk0gcG9vbCwgdGhlDQo+ID4gZ2ljdjJfbWFwX2h3ZG9tX2V4dHJhX21hcHBp
bmdzKCkgaXMgYWxzbyBub3QgdG91Y2hlZCBieSB0aGlzIHBhdGNoLg0KPiANCj4gSSBkaWRuJ3Qg
bm90aWNlIHRoaXMgaW4gdGhlIHByZXZpb3VzIHZlcnNpb24uIFRoZSBmYWN0IHRoYXQgZG9tMCBo
YXMNCj4gdW5saW1pdGVkIHNpemUgUDJNIHBvb2wgZG9lc24ndCBtYXR0ZXIgaGVyZSAodGhpcyBj
b3VsZCBhbHNvIGNoYW5nZSBpbg0KPiB0aGUgZnV0dXJlKS4gRXZlbiBpZiB0aGUgUDJNIHBvb2wg
d2FzIGxpbWl0ZWQsIHRoZW4gaXQgd291bGQgYmUgZmluZQ0KPiBiZWNhdXNlIHRoZSBleHRyYSBt
YXBwaW5ncyBoYXBwZW4gYWZ0ZXIgZG9tYWluX2NyZWF0ZSgpLiBTbyB0aGVyZSBpcyBubw0KPiBu
ZWVkIHRvIG1hcCB0aGVtIG9uLWRlbWFuZCBhcyB0aGUgY29kZSBjb3VsZCBiZSBvcmRlciB0aGUg
d2F5IHdlIHdhbnQuDQo+IA0KPiBTbyB0aGlzIHBhcmFncmFwaCBuZWVkcyB0byBiZSByZXdvcmRl
ZC4NCg0KU3VyZSwgSSd2ZSByZXdvcmRlZCB0aGlzIHBhcmFncmFwaCB0byBiZWxvdzoNCiJTaW5j
ZSBnaWN2Ml9tYXBfaHdkb21fZXh0cmFfbWFwcGluZ3MoKSBoYXBwZW5zIGFmdGVyIGRvbWFpbl9j
cmVhdGUoKSwNCnNvIHRoZXJlIGlzIG5vIG5lZWQgdG8gbWFwIHRoZSBleHRyYSBtYXBwaW5ncyBv
bi1kZW1hbmQsIGFuZCB0aGVyZWZvcmUNCmtlZXAgdGhlIGh3ZG9tIGV4dHJhIG1hcHBpbmdzIGFz
IHVudG91Y2hlZC4iDQoNCj4gDQo+ID4gKyAgICAvKg0KPiA+ICsgICAgICogTWFwIHRoZSBHSUN2
MiB2aXJ0dWFsIENQVSBpbnRlcmZhY2UgaW4gdGhlIEdJQyBDUFUgaW50ZXJmYWNlDQo+ID4gKyAg
ICAgKiByZWdpb24gb2YgdGhlIGd1ZXN0IG9uIHRoZSBmaXJzdCBhY2Nlc3Mgb2YgdGhlIE1NSU8g
cmVnaW9uLg0KPiA+ICsgICAgICovDQo+ID4gKyAgICBpZiAoIGQtPmFyY2gudmdpYy52ZXJzaW9u
ID09IEdJQ19WMiAmJg0KPiA+ICsgICAgICAgICBnZm5fZXEoZ2ZuLCBnYWRkcl90b19nZm4oZC0+
YXJjaC52Z2ljLmNiYXNlKSkgKQ0KPiANCj4gVGhlIENQVSBpbnRlcmZhY2Ugc2l6ZSBpcyA4S0Ig
KGJpZ2dlciBpbiBzb21lIGNhc2VzKSBidXQgaGVyZSB5b3Ugb25seQ0KPiBjaGVjayBmb3IgdGhl
IGFjY2VzcyB0byBiZSBpbiB0aGUgZmlyc3QgNEtCLg0KDQpZZWFoIGluZGVlZCwgZ2ZuIG1pZ2h0
IGZhbGwgaW50byB0aGUgcmFuZ2UgYmV0d2VlbiA0S0IgYW5kIDhLQiwgc29ycnkNCmFib3V0IHRo
YXQuDQoNCkNvbnNpZGVyaW5nIHRoYXQgdGhlIENQVSBpbnRlcmZhY2UgaXMgY29udGludW91cyAo
SSBzdXBwb3NlKSwgSSBoYXZlIHR3bw0Kd2F5cyBvZiByZXdyaXRpbmcgdGhlIGdmbiBjaGVjaywg
d2UgY2FuIGRvIGVpdGhlcjoNCg0KZ2ZuX2VxKGdmbiwgZ2FkZHJfdG9fZ2ZuKGQtPmFyY2gudmdp
Yy5jYmFzZSkpIHx8DQpnZm5fZXEoZ2ZuLCBnZm5fYWRkKGdhZGRyX3RvX2dmbihkLT5hcmNoLnZn
aWMuY2Jhc2UpLCAxKSkNCg0Kb3INCg0KZ2ZuX3RvX2dhZGRyKGdmbikgPj0gZC0+YXJjaC52Z2lj
LmNiYXNlIHx8DQpnZm5fdG9fZ2FkZHIoZ2ZuKSA8IGQtPmFyY2gudmdpYy5jYmFzZSArIGQtPmFy
Y2gudmdpYy5jc2l6ZQ0KDQpNYXkgSSBhc2sgd2hpY2ggb25lIHdvdWxkIHlvdSB0aGluayBpcyBi
ZXR0ZXI/IFRoYW5rcyENCg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg0KPiANCj4gQ2hlZXJzLA0K
PiANCj4gLS0NCj4gSnVsaWVuIEdyYWxsDQo=


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 04:00:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 04:00:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512187.791960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peTB9-00076m-Ap; Tue, 21 Mar 2023 04:00:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512187.791960; Tue, 21 Mar 2023 04:00:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peTB9-00076f-7L; Tue, 21 Mar 2023 04:00:55 +0000
Received: by outflank-mailman (input) for mailman id 512187;
 Tue, 21 Mar 2023 04:00:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=g8nM=7N=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1peTB8-00076Z-DY
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 04:00:54 +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 f8b9c3fd-c79c-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 05:00:52 +0100 (CET)
Received: from DB8PR06CA0004.eurprd06.prod.outlook.com (2603:10a6:10:100::17)
 by GV2PR08MB8100.eurprd08.prod.outlook.com (2603:10a6:150:7a::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 04:00:48 +0000
Received: from DBAEUR03FT059.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:100:cafe::2) by DB8PR06CA0004.outlook.office365.com
 (2603:10a6:10:100::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Tue, 21 Mar 2023 04:00:48 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT059.mail.protection.outlook.com (100.127.142.102) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.15 via Frontend Transport; Tue, 21 Mar 2023 04:00:48 +0000
Received: ("Tessian outbound 2ba0ed2ebb9f:v135");
 Tue, 21 Mar 2023 04:00:48 +0000
Received: from f9cfb6e5e6ed.3
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3AEB0655-E32B-435F-B159-DAB447982EF3.1; 
 Tue, 21 Mar 2023 04:00:39 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f9cfb6e5e6ed.3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 21 Mar 2023 04:00:39 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB8682.eurprd08.prod.outlook.com (2603:10a6:20b:564::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 04:00:36 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03%4]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 04:00: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: f8b9c3fd-c79c-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UJskrjMcZrSEAEGhTrwn91eVNosNnQuC4RXr0Iur/Cs=;
 b=x0p5Jt2WwLJOeH4uaVGorEtRSeFxDOfOGTyXXmuUmtNX4zQjBn9wsH/ePAvpOGE3GRN3YuMFE+fs/02fk/yEJaNExlze2PrgWG/WgwogDnQoNHTp3WuJ5Xg31FBY1TadiABh0CjNYhTV2kFTujjXq2MMXzgqhFRSofAt605tKgY=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZtZq0HTSRuSpWR1P5mG/qVQZTARErncwn2+SgruUDj4aq8h8vrOUyweNsOD4J03ikfkTuPyBXrskGIisJtVQJJDPeXDWMOI8JlKwgJd6W5/OvphIFH7LCU11PzL4zfOqELftmnz8BbWlYCNcN0gEJp5/3XyKnchP8xi7nXvPRuE7DmAVJIDwpyfO7DlFVICqk55M0mTLzkLYe1Hi6VkQviVCbo54DFOdx9h3Dv6bc44cg7WJY3fjqTU0kmg+bzO+r0gSPOhU17sy/s3ioxn5kyPY9cr4/6QzMkn8SVVUTMYMURf5EhojnvgWgUyUBst+oYV2TWgltNSC4uGARyhLpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UJskrjMcZrSEAEGhTrwn91eVNosNnQuC4RXr0Iur/Cs=;
 b=Vz6UBDmKrmbfwOUsOyN9YbxiS4icwcrx5e4MZxqqpnd/v8YA5eG0pGjXGRBP1b+JqCT5vAsoPALy3qpvUIM2gJlLzuUfHPJ4rfEOun7xmrXIxHUF2pzzpYn8FNctS8ntspCq18/XQamEJSNexAMkuQbdq4USaL8fcxI3rdhgd5j+rMpQnmwcHLm4QyquaBFk9Yg7ma+npnPb5czsOBzmFE77TVVCD8W/PQlfuBK0SDPFlZexJiz7+YzYmDYCyu6eoC1M3lT1CY0uwvqFXYDjpH2Lf6nDNvA1B/nnshtDM76wsxo4y/ICQmzkSakyHpXMeVza0fm6RSTuW6qHZtSwMA==
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=UJskrjMcZrSEAEGhTrwn91eVNosNnQuC4RXr0Iur/Cs=;
 b=x0p5Jt2WwLJOeH4uaVGorEtRSeFxDOfOGTyXXmuUmtNX4zQjBn9wsH/ePAvpOGE3GRN3YuMFE+fs/02fk/yEJaNExlze2PrgWG/WgwogDnQoNHTp3WuJ5Xg31FBY1TadiABh0CjNYhTV2kFTujjXq2MMXzgqhFRSofAt605tKgY=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Wei Chen <Wei.Chen@arm.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Henry Wang <Henry.Wang@arm.com>
Subject: RE: [PATCH v2 3/4] xen/arm: Defer GICv2 CPU interface mapping until
 the first access
Thread-Topic: [PATCH v2 3/4] xen/arm: Defer GICv2 CPU interface mapping until
 the first access
Thread-Index: AQHZNGBES9GND13bPU+mzqer9SysH68EWvQAgACL1MCAAAODEA==
Date: Tue, 21 Mar 2023 04:00:35 +0000
Message-ID:
 <AS8PR08MB7991EBC30CCEACFE7DBEBE3292819@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230130040614.188296-1-Henry.Wang@arm.com>
 <20230130040614.188296-4-Henry.Wang@arm.com>
 <e2421c2d-6ae1-bf70-530d-0683d943f519@xen.org>
 <AS8PR08MB799142447DF4749065ABAF5992819@AS8PR08MB7991.eurprd08.prod.outlook.com>
In-Reply-To:
 <AS8PR08MB799142447DF4749065ABAF5992819@AS8PR08MB7991.eurprd08.prod.outlook.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: FED937253BF12C459DCDE6A0A0D7AF80.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB8682:EE_|DBAEUR03FT059:EE_|GV2PR08MB8100:EE_
X-MS-Office365-Filtering-Correlation-Id: 2d1d650b-80e6-4e37-e598-08db29c0db05
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:
 M48MtzT1jJtld5VNo/oZfoEX6UgVUbjoIVdhDyjSycRtvNyLA9ggWwdbeCPLn5cx0cb715NicRSlspBLDMkOh9X1t1N02r3ByI6VZI8WUdb6Q6nqCyDpWb0UMQ9jp0TFY86Tgrv4EgKezHKARKvQ6CUmU5gUuXzEC1BzZ8aej43heWye3XZ5+s/wgAXIhGUMASVVaj1Lk0l5y/bgsfzngquRApLOBuyLnf7wxpBb+6d0Og2l4s0Hl0HS0UFPVJCigLJwvnAFrq7CQ42SSi4Avlu3XVJtsmiL0G/jCSyiBrsKyiSmOvXrkOqoaStNvDt6kkYLL9KbRwmLJMqJLjV8LyVxRctNUB0MdN1mvUU9KB0nWgsEjphcUPdoS7VdAS1IoADy8Uz0VRT6q7/wPJmYMB1m3w86VnhoFp/ygzr+KlWg6ZOdU1P0lEHPFqXgXrt5wXNnuIPUN36GT8PVp9t5UwCUW6+xY/IL7Zt/nxysXKevp/5CJwdHCDIbcbyupApScRWC4tb3ZvZ/c9N6MroZDeSTcJR0HXmaOWxH0wAsesYx0miX4p2xrBfK7mnabEwXpJB0mI2M7V3beSkLygiiRriHI1ao7h8Fif7DTnAK5Kc0XPgelNOL0ZWRJP5FoaDRMwv7OWNhHVqA81tWLZmwBKsN8pfGPyfe42kUtgTpY89Kbb5hlDqdrgZ/B/Dfl9lxRpQSfwecwM8W/+CBGtxZvw==
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:(13230025)(4636009)(346002)(396003)(366004)(39860400002)(376002)(136003)(451199018)(8936002)(5660300002)(4744005)(41300700001)(52536014)(55016003)(86362001)(38070700005)(33656002)(38100700002)(2906002)(122000001)(4326008)(478600001)(71200400001)(7696005)(2940100002)(186003)(6506007)(26005)(9686003)(54906003)(110136005)(66476007)(316002)(8676002)(66556008)(66946007)(64756008)(76116006)(66446008);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8682
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	feebd4f6-7825-4dd1-8e63-08db29c0d364
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y0XEEpg3R2d4yz2iusLuqU3XlnSya/633Ed6zFDtdUuP+sAywwvUSrbvXh8rkIl/lqsvZm2AfJKo1PCFfRdnqWKuFwCP0kVV/6aXnaew8j1otAMxcPofeG7sUELLujGwYMd+xEE5dw1pIcf9/j4TluFwxJIvcz8MeEQaysyBbCjZmcxLo5fXvRphDhvtWoExYxmUvTVXB26sZPstE5uCbEkPrvw1MXBXwMHBIkD6haHKatW2glJm7smBgLFtJT0wVDjwHhoFtyJpHpF6dzjYZNmobq9SCIW+HoseB4zmOOgaQ14H/urZaZjNgQGDYNkizhSK+CPV0987/OLMTcev4sxQru2K8Q/cBLwlLE/j2RBvrGZc1f/QpHxr8d9Z1lZ0JZgJTyVMsgs/pFuEd9D0VudyjVwI8Pz31QiYODnP2CJG7W3ZDJXaP8R2suslG3rzBJ8XB3Hp3WPBvWlLkbhToWRmKeUpNNzNCPMfug3iqa/kHKfR9yumThwcETOExG/M2/inbazN7KERoNCTTaIw5AzONfg0AkvcHMSKh5GZ/kl44z9huLH1kVjNeMtcmgsH4KXZYxhb5C28fHlL/RJYwmimn6Q0Wlv0/ItlsJmsH2yEWmyKs2c1tdgRWuT3MWXF6Y5mE2NdgW+ok6Oymx7VVMnYuzXIHwF93GLka20Zz9U5PAwDrPFdbAt/furAsE/LG3DRdTIy7D9mCuA08DRXvA==
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:(13230025)(4636009)(39860400002)(346002)(376002)(396003)(136003)(451199018)(36840700001)(46966006)(40470700004)(82310400005)(47076005)(2940100002)(86362001)(82740400003)(336012)(81166007)(55016003)(110136005)(356005)(36860700001)(40460700003)(8936002)(4326008)(8676002)(2906002)(70206006)(70586007)(52536014)(41300700001)(40480700001)(4744005)(316002)(5660300002)(26005)(33656002)(478600001)(9686003)(186003)(6506007)(54906003)(7696005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 04:00:48.7957
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2d1d650b-80e6-4e37-e598-08db29c0db05
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT059.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8100

SGksDQoNCj4gQ29uc2lkZXJpbmcgdGhhdCB0aGUgQ1BVIGludGVyZmFjZSBpcyBjb250aW51b3Vz
IChJIHN1cHBvc2UpLCBJIGhhdmUgdHdvDQo+IHdheXMgb2YgcmV3cml0aW5nIHRoZSBnZm4gY2hl
Y2ssIHdlIGNhbiBkbyBlaXRoZXI6DQo+IA0KPiBnZm5fZXEoZ2ZuLCBnYWRkcl90b19nZm4oZC0+
YXJjaC52Z2ljLmNiYXNlKSkgfHwNCj4gZ2ZuX2VxKGdmbiwgZ2ZuX2FkZChnYWRkcl90b19nZm4o
ZC0+YXJjaC52Z2ljLmNiYXNlKSwgMSkpDQo+IA0KPiBvcg0KPiANCj4gZ2ZuX3RvX2dhZGRyKGdm
bikgPj0gZC0+YXJjaC52Z2ljLmNiYXNlIHx8DQo+IGdmbl90b19nYWRkcihnZm4pIDwgZC0+YXJj
aC52Z2ljLmNiYXNlICsgZC0+YXJjaC52Z2ljLmNzaXplDQoNCk9vcHMsIGNvcHkgcGFzdGUgZXJy
b3IsIHRoaXMgc2hvdWxkIGJlIA0KDQpnZm5fdG9fZ2FkZHIoZ2ZuKSA+PSBkLT5hcmNoLnZnaWMu
Y2Jhc2UgJiYNCmdmbl90b19nYWRkcihnZm4pIDwgZC0+YXJjaC52Z2ljLmNiYXNlICsgZC0+YXJj
aC52Z2ljLmNzaXplDQoNCktpbmQgcmVnYXJkcywNCkhlbnJ5DQo=


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 04:20:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 04:20:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512191.791973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peTTp-0001Kh-SP; Tue, 21 Mar 2023 04:20:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512191.791973; Tue, 21 Mar 2023 04:20: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 1peTTp-0001Ka-Ok; Tue, 21 Mar 2023 04:20:13 +0000
Received: by outflank-mailman (input) for mailman id 512191;
 Tue, 21 Mar 2023 04:20: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=rDWK=7N=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1peTTo-0001JB-6R
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 04:20:12 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9c22e56-c79f-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 05:20:09 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32L4JxMp089288
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Tue, 21 Mar 2023 00:20:04 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32L4Jwk3089287;
 Mon, 20 Mar 2023 21:19:58 -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: a9c22e56-c79f-11ed-b464-930f4c7d94ae
Date: Mon, 20 Mar 2023 21:19:58 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Neowutran <xen@neowutran.ovh>
Subject: Re: [BUG] x2apic broken with current AMD hardware
Message-ID: <ZBkwboNcQu6ooSRC@mattapan.m5p.com>
References: <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
 <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
 <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
 <e5b28dae-3699-cb0d-ab7e-42fdd42d3222@suse.com>
 <ZBSi2KfoQXo7hr6z@mattapan.m5p.com>
 <b2eaeacc-de5f-ebe9-a330-fbf9e20626b1@suse.com>
 <a2de5d87-ada8-46b9-090b-00dc43309362@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <a2de5d87-ada8-46b9-090b-00dc43309362@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Mon, Mar 20, 2023 at 09:28:20AM +0100, Jan Beulich wrote:
> On 20.03.2023 09:14, Jan Beulich wrote:
> > On 17.03.2023 18:26, Elliott Mitchell wrote:
> >> On Fri, Mar 17, 2023 at 09:22:09AM +0100, Jan Beulich wrote:
> >>> On 16.03.2023 23:03, Elliott Mitchell wrote:
> >>>> On Mon, Mar 13, 2023 at 08:01:02AM +0100, Jan Beulich wrote:
> >>>>> On 11.03.2023 01:09, Elliott Mitchell wrote:
> >>>>>> On Thu, Mar 09, 2023 at 10:03:23AM +0100, Jan Beulich wrote:
> >>>>>>>
> >>>>>>> In any event you will want to collect a serial log at maximum verbosity.
> >>>>>>> It would also be of interest to know whether turning off the IOMMU avoids
> >>>>>>> the issue as well (on the assumption that your system has less than 255
> >>>>>>> CPUs).
> >>>>>>
> >>>>>> I think I might have figured out the situation in a different fashion.
> >>>>>>
> >>>>>> I was taking a look at the BIOS manual for this motherboard and noticed
> >>>>>> a mention of a "Local APIC Mode" setting.  Four values are listed
> >>>>>> "Compatibility", "xAPIC", "x2APIC", and "Auto".
> >>>>>>
> >>>>>> That is the sort of setting I likely left at "Auto" and that may well
> >>>>>> result in x2 functionality being disabled.  Perhaps the x2APIC
> >>>>>> functionality on AMD is detecting whether the hardware is present, and
> >>>>>> failing to test whether it has been enabled?  (could be useful to output
> >>>>>> a message suggesting enabling the hardware feature)
> >>>>>
> >>>>> Can we please move to a little more technical terms here? What is "present"
> >>>>> and "enabled" in your view? I don't suppose you mean the CPUID bit (which
> >>>>> we check) and the x2APIC-mode-enable one (which we drive as needed). It's
> >>>>> also left unclear what the four modes of BIOS operation evaluate to. Even
> >>>>> if we knew that, overriding e.g. "Compatibility" (which likely means some
> >>>>> form of "disabled" / "hidden") isn't normally an appropriate thing to do.
> >>>>> In "Auto" mode Xen likely should work - the only way I could interpret the
> >>>>> the other modes are "xAPIC" meaning no x2APIC ACPI tables entries (and
> >>>>> presumably the CPUID bit also masked), "x2APIC" meaning x2APIC mode pre-
> >>>>> enabled by firmware, and "Auto" leaving it to the OS to select. Yet that's
> >>>>> speculation on my part ...
> >>>>
> >>>> I provided the information I had discovered.  There is a setting for this
> >>>> motherboard (likely present on some similar motherboards) which /may/
> >>>> effect the issue.  I doubt I've tried "compatibility", but none of the
> >>>> values I've tried have gotten the system to boot without "x2apic=false"
> >>>> on Xen's command-line.
> >>>>
> >>>> When setting to "x2APIC" just after "(XEN) AMD-Vi: IOMMU Extended Features:"
> >>>> I see the line "(XEN) - x2APIC".  Later is the line
> >>>> "(XEN) x2APIC mode is already enabled by BIOS."  I'll guess "Auto"
> >>>> leaves the x2APIC turned off since neither line is present.
> >>>
> >>> When "(XEN) - x2APIC" is absent the IOMMU can't be switched into x2APIC
> >>> mode. Are you sure that's the case when using "Auto"?
> >>
> >> grep -eAPIC\ driver -e-\ x2APIC:
> >>
> >> "Auto":
> >> (XEN) Using APIC driver default
> >> (XEN) Overriding APIC driver with bigsmp
> >> (XEN) Switched to APIC driver x2apic_cluster
> >>
> >> "x2APIC":
> >> (XEN) Using APIC driver x2apic_cluster
> >> (XEN) - x2APIC
> >>
> >> Yes, I'm sure.
> > 
> > Okay, this then means we're running in a mode we don't mean to run
> > in: When the IOMMU claims to not support x2APIC mode (which is odd in
> > the first place when at the same time the CPU reports x2APIC mode as
> > supported), amd_iommu_prepare() is intended to switch interrupt
> > remapping mode to "restricted" (which in turn would force x2APIC mode
> > to "physical", not "clustered"). I notice though that there are a
> > number of error paths in the function which bypass this setting. Could
> > you add a couple of printk()s to understand which path is taken (each
> > time; the function can be called more than once)?
> 
> I think I've spotted at least one issue. Could you give the patch below
> a try please? (Patch is fine for master and 4.17 but would need context
> adjustment for 4.16.)


> AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode
> 
> An earlier change with the same title (commit 1ba66a870eba) altered only
> the path where x2apic_phys was already set to false (perhaps from the
> command line). The same of course needs applying when the variable
> wasn't modified yet from its initial value.
> 
> Reported-by: Elliott Mitchell <ehem+xen@m5p.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

This does appear to be an improvement.  With this the system boots if
the "Local APIC Mode" setting is "auto".  As you may have guessed,
"(XEN) Switched to APIC driver x2apic_phys".



When I tried setting "Local APIC Mode" to "x2APIC" though things didn't
go so well.  Sometime >15 seconds after Domain 0 boots, first:

"(XEN) APIC error on CPU#: 00(08), Receive accept error" (looks to be
for every core)

Then:
"(XEN) APIC error on CPU#: 08(08), Receive accept error" (again for
every core, but *after* the above has appeared for all cores)

The above appears about twice for each core, then I start seeing
"(XEN) CPU#: No irq handler for vector ?? (IRQ -2147483648, LAPIC)"

The core doesn't vary too much with this, but the vector varies some.

Upon looking "(XEN) Using APIC driver x2apic_cluster".  Unfortunately
I didn't try booting with x2apic_phys forced with this setting.

So x2apic_cluster is looking like a <ahem> on recent AMD processors.


I'm unsure this qualifies as "Tested-by".  Certainly it IS an
improvement, but the problem certainly isn't 100% solved.


-- 
(\___(\___(\______          --=> 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 Mar 21 04:30:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 04:30:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512195.791983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peTd9-0002Fu-NZ; Tue, 21 Mar 2023 04:29:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512195.791983; Tue, 21 Mar 2023 04: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 1peTd9-0002Fn-K5; Tue, 21 Mar 2023 04:29:51 +0000
Received: by outflank-mailman (input) for mailman id 512195;
 Tue, 21 Mar 2023 04:29: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 1peTd8-0002Fd-KR; Tue, 21 Mar 2023 04:29: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 1peTd8-0008Pc-Hb; Tue, 21 Mar 2023 04:29: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 1peTd8-0001FW-3M; Tue, 21 Mar 2023 04:29:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1peTd8-000680-2t; Tue, 21 Mar 2023 04:29:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7E+BKYzmmumdx6FYfKcusv/WYB97okWx0pVmiqvw50g=; b=Qb/aR7ctm74lNR0/2rXHgkRNuR
	N8Zve5axGvUQgopAMnExJjtTdKZU1S507r9w3RJdN1/lO1FFXsg3Ghsk3pq7vTfYUVUXsUlje2pcm
	zOvC8vIHbXmvPVRkEWvmJOi8PaXSwetkveyvN91m5RHFz1c6xkRMICI0aIvUVcwKBMkw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179818-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179818: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:build-i386-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-saverestore:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:nested-setup:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:build-arm64:xen-build:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit1:guest-stop:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore.2:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:allowable
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:build-arm64-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=e8d018dd0257f744ca50a729e3d042cf2ec9da65
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Mar 2023 04:29:50 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-xsm      18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 27 guest-migrate/dst_host/src_host fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 17 guest-saverestore.2 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt    20 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl         18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 build-i386-pvops              6 kernel-build             fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl       17 guest-saverestore fail in 179791 REGR. vs. 178042
 test-amd64-amd64-xl-shadow 20 guest-localmigrate/x10 fail in 179791 REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail in 179791 REGR. vs. 178042
 build-arm64-pvops             6 kernel-build   fail in 179791 REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 16 guest-saverestore fail in 179797 REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 16 guest-saverestore fail in 179797 REGR. vs. 178042
 test-amd64-coresched-amd64-xl 17 guest-saverestore fail in 179797 REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 13 nested-setup fail in 179797 REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 17 guest-saverestore.2 fail in 179797 REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 13 guest-stop fail in 179797 REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail in 179797 REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 179797 REGR. vs. 178042
 test-amd64-amd64-xl-credit1 20 guest-localmigrate/x10 fail in 179805 REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 18 guest-localmigrate fail in 179805 REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10 fail in 179805 REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 19 guest-stop     fail in 179805 REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 18 guest-start/debianhvm.repeat fail in 179805 REGR. vs. 178042
 build-arm64                   6 xen-build      fail in 179805 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-xsm 14 guest-start      fail in 179791 pass in 179818
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail in 179791 pass in 179818
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 15 guest-saverestore fail in 179791 pass in 179818
 test-amd64-amd64-xl-credit2 20 guest-localmigrate/x10 fail in 179797 pass in 179791
 test-amd64-amd64-xl-credit1 17 guest-saverestore fail in 179797 pass in 179805
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2 fail in 179797 pass in 179805
 test-amd64-amd64-xl-xsm      14 guest-start      fail in 179797 pass in 179818
 test-arm64-arm64-xl          14 guest-start      fail in 179797 pass in 179818
 test-arm64-arm64-xl-credit2  17 guest-stop       fail in 179797 pass in 179818
 test-amd64-amd64-xl-multivcpu 14 guest-start     fail in 179797 pass in 179818
 test-amd64-amd64-xl-xsm     17 guest-saverestore fail in 179805 pass in 179818
 test-amd64-amd64-libvirt-pair 25 guest-start/debian fail in 179805 pass in 179818
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail in 179805 pass in 179818
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 16 guest-localmigrate fail in 179805 pass in 179818
 test-amd64-amd64-libvirt     14 guest-start      fail in 179805 pass in 179818
 test-amd64-amd64-xl-shadow   17 guest-saverestore          fail pass in 179791
 test-amd64-amd64-xl          14 guest-start                fail pass in 179791
 test-amd64-amd64-freebsd12-amd64 13 guest-start            fail pass in 179797
 test-amd64-amd64-freebsd11-amd64 13 guest-start            fail pass in 179797
 test-amd64-amd64-xl-credit2  17 guest-saverestore          fail pass in 179797
 test-arm64-arm64-xl-credit1  17 guest-stop                 fail pass in 179797
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 17 guest-saverestore.2 fail pass in 179797
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install  fail pass in 179797
 test-amd64-coresched-amd64-xl 14 guest-start               fail pass in 179797
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail pass in 179797
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail pass in 179797
 test-amd64-amd64-xl-credit1  14 guest-start                fail pass in 179805
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start               fail pass in 179805
 test-amd64-amd64-libvirt-xsm 17 guest-saverestore          fail pass in 179805
 test-amd64-amd64-xl-rtds     14 guest-start                fail pass in 179805
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail pass in 179805
 test-amd64-amd64-xl-multivcpu 17 guest-saverestore         fail pass in 179805

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds 18 guest-localmigrate fail in 179805 REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 179791 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 179805 n/a
 build-arm64-libvirt           1 build-check(1)           blocked in 179805 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 179805 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 179805 n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 179805 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 179805 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 179805 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 179805 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 179805 n/a
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail in 179805 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                e8d018dd0257f744ca50a729e3d042cf2ec9da65
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   27 days
Failing since        178093  2023-02-22 05:02:47 Z   26 days   52 attempts
Testing same since   179791  2023-03-19 20:40:14 Z    1 days    4 attempts

------------------------------------------------------------
2198 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             fail    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 05:46:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 05:46:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512205.791999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peUoz-00030L-Ho; Tue, 21 Mar 2023 05:46:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512205.791999; Tue, 21 Mar 2023 05: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 1peUoz-00030E-Dc; Tue, 21 Mar 2023 05:46:09 +0000
Received: by outflank-mailman (input) for mailman id 512205;
 Tue, 21 Mar 2023 05:46:08 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=YM/b=7N=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1peUox-000308-Sw
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 05:46:08 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a90548a9-c7ab-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 06:46: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 5999B21A70;
 Tue, 21 Mar 2023 05:46: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 3612713443;
 Tue, 21 Mar 2023 05:46:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id CXKJC5hEGWSWSAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Mar 2023 05:46:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a90548a9-c7ab-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679377560; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=pswkUkxlRFMc/GMwBiiT50Ayi8etmPNuzZUGTe1LIJU=;
	b=NqNJcFTkWGMaX5rc6Yp4aNrdKFFn+18FtWIXrLngkIHMcad4BCwFZeB5JsYVDWx5bGudrl
	N5+/XIRISKd3WcUXcm7BPf4s91D/hr3lJYvLkmp5BPfJIVKxtcWSY4g/a3padde3liP//w
	XrLKkxMetECrcbFqBw2wDxqVbVIL898=
Message-ID: <46c79eed-e141-1eda-26ed-04e3837715f0@suse.com>
Date: Tue, 21 Mar 2023 06:45:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 2/2] tools/xl: rework p9 config parsing
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: <20230317111546.18061-1-jgross@suse.com>
 <20230317111546.18061-3-jgross@suse.com>
 <CAKf6xpuaXyPqP72QwjaZZM2ana68ZG9kXQyHr9Vd7Y-_1YDV2A@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <CAKf6xpuaXyPqP72QwjaZZM2ana68ZG9kXQyHr9Vd7Y-_1YDV2A@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------T0Du6TjBb5uHOYe08tudX36N"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------T0Du6TjBb5uHOYe08tudX36N
Content-Type: multipart/mixed; boundary="------------0OkP78cPCGziWeBATIvG9Vfx";
 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: <46c79eed-e141-1eda-26ed-04e3837715f0@suse.com>
Subject: Re: [PATCH 2/2] tools/xl: rework p9 config parsing
References: <20230317111546.18061-1-jgross@suse.com>
 <20230317111546.18061-3-jgross@suse.com>
 <CAKf6xpuaXyPqP72QwjaZZM2ana68ZG9kXQyHr9Vd7Y-_1YDV2A@mail.gmail.com>
In-Reply-To: <CAKf6xpuaXyPqP72QwjaZZM2ana68ZG9kXQyHr9Vd7Y-_1YDV2A@mail.gmail.com>

--------------0OkP78cPCGziWeBATIvG9Vfx
Content-Type: multipart/mixed; boundary="------------CO4qJRD5JpikSAG8iZPH3nVN"

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

T24gMjAuMDMuMjMgMTg6MTIsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIEZyaSwgTWFy
IDE3LCAyMDIzIGF0IDc6MTbigK9BTSBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+
IHdyb3RlOg0KPj4NCj4+IFJld29yayB0aGUgY29uZmlnIHBhcnNpbmcgb2YgYSBwOSBkZXZp
Y2UgdG8gdXNlIHRoZQ0KPj4gc3BsaXRfc3RyaW5nX2ludG9fcGFpcigpIGZ1bmN0aW9uIGlu
c3RlYWQgb2Ygb3BlbiBjb2RpbmcgaXQuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdl
biBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4gLS0tDQo+PiAgIHRvb2xzL3hsL3hsX3Bh
cnNlLmMgfCA3MiArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0NCj4+ICAgMSBmaWxlIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9u
cygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS90b29scy94bC94bF9wYXJzZS5jIGIvdG9vbHMv
eGwveGxfcGFyc2UuYw0KPj4gaW5kZXggMmY5ZGZlYTA1Yy4uNzE1ZTE0Zjk1ZiAxMDA2NDQN
Cj4+IC0tLSBhL3Rvb2xzL3hsL3hsX3BhcnNlLmMNCj4+ICsrKyBiL3Rvb2xzL3hsL3hsX3Bh
cnNlLmMNCj4+IEBAIC0yMTExLDU0ICsyMTExLDUyIEBAIHZvaWQgcGFyc2VfY29uZmlnX2Rh
dGEoY29uc3QgY2hhciAqY29uZmlnX3NvdXJjZSwNCj4+DQo+PiAgICAgICBpZiAoIXhsdV9j
ZmdfZ2V0X2xpc3QoY29uZmlnLCAicDkiLCAmcDlkZXZzLCAwLCAwKSkgew0KPj4gICAgICAg
ICAgIGxpYnhsX2RldmljZV9wOSAqcDk7DQo+PiAtICAgICAgICBjaGFyICpzZWN1cml0eV9t
b2RlbCA9IE5VTEw7DQo+PiAtICAgICAgICBjaGFyICpwYXRoID0gTlVMTDsNCj4+IC0gICAg
ICAgIGNoYXIgKnRhZyA9IE5VTEw7DQo+PiAtICAgICAgICBjaGFyICpiYWNrZW5kID0gTlVM
TDsNCj4+IC0gICAgICAgIGNoYXIgKnAsICpwMiwgKmJ1ZjI7DQo+Pg0KPj4gICAgICAgICAg
IGRfY29uZmlnLT5udW1fcDlzID0gMDsNCj4+ICAgICAgICAgICBkX2NvbmZpZy0+cDlzID0g
TlVMTDsNCj4+ICAgICAgICAgICB3aGlsZSAoKGJ1ZiA9IHhsdV9jZmdfZ2V0X2xpc3RpdGVt
IChwOWRldnMsIGRfY29uZmlnLT5udW1fcDlzKSkgIT0gTlVMTCkgew0KPj4gKyAgICAgICAg
ICAgIGxpYnhsX3N0cmluZ19saXN0IHBhaXJzOw0KPj4gKyAgICAgICAgICAgIGludCBsZW47
DQo+PiArDQo+PiAgICAgICAgICAgICAgIHA5ID0gQVJSQVlfRVhURU5EX0lOSVQoZF9jb25m
aWctPnA5cywNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkX2Nv
bmZpZy0+bnVtX3A5cywNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBsaWJ4bF9kZXZpY2VfcDlfaW5pdCk7DQo+PiAgICAgICAgICAgICAgIGxpYnhsX2Rldmlj
ZV9wOV9pbml0KHA5KTsNCj4+DQo+PiAtICAgICAgICAgICAgYnVmMiA9IHN0cmR1cChidWYp
Ow0KPj4gLSAgICAgICAgICAgIHAgPSBzdHJ0b2soYnVmMiwgIiwiKTsNCj4+IC0gICAgICAg
ICAgICBpZihwKSB7DQo+PiAtICAgICAgICAgICAgICAgZG8gew0KPj4gLSAgICAgICAgICAg
ICAgICAgIHdoaWxlKCpwID09ICcgJykNCj4+IC0gICAgICAgICAgICAgICAgICAgICArK3A7
DQo+PiAtICAgICAgICAgICAgICAgICAgaWYgKChwMiA9IHN0cmNocihwLCAnPScpKSA9PSBO
VUxMKQ0KPj4gLSAgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPj4gLSAgICAgICAgICAg
ICAgICAgICpwMiA9ICdcMCc7DQo+PiAtICAgICAgICAgICAgICAgICAgaWYgKCFzdHJjbXAo
cCwgInNlY3VyaXR5X21vZGVsIikpIHsNCj4+IC0gICAgICAgICAgICAgICAgICAgICBzZWN1
cml0eV9tb2RlbCA9IHN0cmR1cChwMiArIDEpOw0KPj4gLSAgICAgICAgICAgICAgICAgIH0g
ZWxzZSBpZighc3RyY21wKHAsICJwYXRoIikpIHsNCj4+IC0gICAgICAgICAgICAgICAgICAg
ICBwYXRoID0gc3RyZHVwKHAyICsgMSk7DQo+PiAtICAgICAgICAgICAgICAgICAgfSBlbHNl
IGlmKCFzdHJjbXAocCwgInRhZyIpKSB7DQo+PiAtICAgICAgICAgICAgICAgICAgICAgdGFn
ID0gc3RyZHVwKHAyICsgMSk7DQo+PiAtICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmKCFz
dHJjbXAocCwgImJhY2tlbmQiKSkgew0KPj4gLSAgICAgICAgICAgICAgICAgICAgIGJhY2tl
bmQgPSBzdHJkdXAocDIgKyAxKTsNCj4+IC0gICAgICAgICAgICAgICAgICB9IGVsc2Ugew0K
Pj4gLSAgICAgICAgICAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiVW5rbm93biBzdHJp
bmcgYCVzJyBpbiA5cGZzIHNwZWNcbiIsIHApOw0KPj4gLSAgICAgICAgICAgICAgICAgICAg
IGV4aXQoMSk7DQo+PiAtICAgICAgICAgICAgICAgICAgfQ0KPj4gLSAgICAgICAgICAgICAg
IH0gd2hpbGUgKChwID0gc3RydG9rKE5VTEwsICIsIikpICE9IE5VTEwpOw0KPj4gLSAgICAg
ICAgICAgIH0NCj4+IC0gICAgICAgICAgICBpZiAoIXBhdGggfHwgIXNlY3VyaXR5X21vZGVs
IHx8ICF0YWcpIHsNCj4+IC0gICAgICAgICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIjlwZnMg
c3BlYyBtaXNzaW5nIHJlcXVpcmVkIGZpZWxkIVxuIik7DQo+PiAtICAgICAgICAgICAgICAg
ZXhpdCgxKTsNCj4+ICsgICAgICAgICAgICBzcGxpdF9zdHJpbmdfaW50b19zdHJpbmdfbGlz
dChidWYsICIsIiwgJnBhaXJzKTsNCj4+ICsgICAgICAgICAgICBsZW4gPSBsaWJ4bF9zdHJp
bmdfbGlzdF9sZW5ndGgoJnBhaXJzKTsNCj4+ICsgICAgICAgICAgICBmb3IgKGkgPSAwOyBp
IDwgbGVuOyBpKyspIHsNCj4+ICsgICAgICAgICAgICAgICAgY2hhciAqa2V5LCAqdmFsdWU7
DQo+PiArICAgICAgICAgICAgICAgIGludCByYzsNCj4+ICsNCj4+ICsgICAgICAgICAgICAg
ICAgcmMgPSBzcGxpdF9zdHJpbmdfaW50b19wYWlyKHBhaXJzW2ldLCAiPSIsICZrZXksICZ2
YWx1ZSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGlzc3BhY2UpOw0KPj4gKyAgICAgICAgICAgICAgICBpZiAocmMgIT0gMCkgew0KPj4gKyAg
ICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJmYWlsZWQgdG8gcGFyc2UgOXBm
cyBjb25maWd1cmF0aW9uOiAlcyIsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHBhaXJzW2ldKTsNCj4+ICsgICAgICAgICAgICAgICAgICAgIGV4aXQoMSk7DQo+PiArICAg
ICAgICAgICAgICAgIH0NCj4+ICsNCj4+ICsgICAgICAgICAgICAgICAgaWYgKCFzdHJjbXAo
a2V5LCAic2VjdXJpdHlfbW9kZWwiKSkgew0KPj4gKyAgICAgICAgICAgICAgICAgICAgcmVw
bGFjZV9zdHJpbmcoJnA5LT5zZWN1cml0eV9tb2RlbCwgdmFsdWUpOw0KPj4gKyAgICAgICAg
ICAgICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoa2V5LCAicGF0aCIpKSB7DQo+PiArICAgICAg
ICAgICAgICAgICAgICByZXBsYWNlX3N0cmluZygmcDktPnBhdGgsIHZhbHVlKTsNCj4+ICsg
ICAgICAgICAgICAgICAgfSBlbHNlIGlmICghc3RyY21wKGtleSwgInRhZyIpKSB7DQo+PiAr
ICAgICAgICAgICAgICAgICAgICByZXBsYWNlX3N0cmluZygmcDktPnRhZywgdmFsdWUpOw0K
Pj4gKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFzdHJjbXAoa2V5LCAiYmFja2VuZCIp
KSB7DQo+PiArICAgICAgICAgICAgICAgICAgICByZXBsYWNlX3N0cmluZygmcDktPmJhY2tl
bmRfZG9tbmFtZSwgdmFsdWUpOw0KPj4gKyAgICAgICAgICAgICAgICB9IGVsc2Ugew0KPj4g
KyAgICAgICAgICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJVbmtub3duIDlwZnMgcGFy
YW1ldGVyICclcydcbiIsIGtleSk7DQo+PiArICAgICAgICAgICAgICAgICAgICBleGl0KDEp
Ow0KPj4gKyAgICAgICAgICAgICAgICB9DQo+PiArICAgICAgICAgICAgICAgIGZyZWUoa2V5
KTsNCj4+ICsgICAgICAgICAgICAgICAgZnJlZSh2YWx1ZSk7DQo+PiAgICAgICAgICAgICAg
IH0NCj4+IC0gICAgICAgICAgICBmcmVlKGJ1ZjIpOw0KPiANCj4gSSB0aGluayB5b3UgbmVl
ZCBsaWJ4bF9zdHJpbmdfbGlzdF9kaXNwb3NlKCZwYWlycyk7IHNvbWV3aGVyZSBhcm91bmQg
aGVyZT8NCg0KQWggeWVzLCB0aGFua3MgZm9yIG5vdGljaW5nLg0KDQoNCkp1ZXJnZW4NCg0K

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

--------------CO4qJRD5JpikSAG8iZPH3nVN--

--------------0OkP78cPCGziWeBATIvG9Vfx--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQZRJcFAwAAAAAACgkQsN6d1ii/Ey+F
rwf+JplMGwJm4iSt9igP5g1LKi8Z3v+cL9auUnz8I+/zyuxy+bzWBIp3EW0q5eiVlTmKfAIQtN41
oLIRuust7IeGkxJ3ojZvnKxmV0SaMr8fEi+0hLZH3cS8bYWm9btcT47HYGYNayPx6lagLBgtb0yr
Z+XWkNl4A+M7OCUo2zVtIxXuXLAsVlNQV4Q0HKv7qJXthYXvYM65t/LNu5B306+gGvMcSeEBJL++
fEnKaS2dQ+zIUDlEvXFJ4xicOh2982NjlPLYfTHMkzBpHsrVjrDQQ+0KBea5Wm3zWeYznSABGEKF
ZBnILYMFGvqpDR/TL31Qi7NQnaHk8ggxVA8SAs5JEw==
=6XN7
-----END PGP SIGNATURE-----

--------------T0Du6TjBb5uHOYe08tudX36N--


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 06:27:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 06:27:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512209.792012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peVSo-0007sE-Kc; Tue, 21 Mar 2023 06:27:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512209.792012; Tue, 21 Mar 2023 06:27:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peVSo-0007s7-Hk; Tue, 21 Mar 2023 06:27:18 +0000
Received: by outflank-mailman (input) for mailman id 512209;
 Tue, 21 Mar 2023 06:27:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=gvkR=7N=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1peVSn-0007rz-Tm
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 06:27:17 +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 6b2995fa-c7b1-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 07:27:15 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 PH7PR12MB7210.namprd12.prod.outlook.com (2603:10b6:510:205::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 06:27:08 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 06:27:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b2995fa-c7b1-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ijX4iDruhMtzse4irA9xX850/whBeNAwRKgo2Kbw1r5IbUXYNgVW/2Nhitz8aIWLgKyJvQHXxtSA0XtyM0XVYLnKbNzoVyKlC3WNLvPBJdAVjQSbLr40jxh6exQy9PpjSJ6/+px2Tx6nZ9Zxs+TWz8IR27SRc9Gbav4THRGC9YMRRX6vaMbSNQlohuUaw7l+Y7vmt7rADZ13ZaQimjUBjTqS6Q/SDgPOmBxt81lIC4XoF8J+CUYDLWwUN05Rys8h/rDHvtw75PQiFGaY6P3l5oLgbMPQZPRVY0BpWOUP9+FVl4DJDQF4lTg4ButiMrckND59i5dUte5rlwmXw0Ndpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Gy9MYKsv2ZV7QNyvLDQHuWHSm9KeQXfhJouOZGc4auQ=;
 b=lWqkWg0c3tieyuknImN9CAw0kiSxQ5gQzo9aF4Y9ecyniokm/RrKX2Ws9Y1LX/zS/m+ofUTxiSByxFL2jmaJuWUUDWGcLy0LD7G7Lo2nBdezzmWOpW8c0Bfe9J6V36d2j1NeD9asAFRTcTeKOzmK+GWuUwJAS7m7E2vr8KuU8do9C6FlfHdKDImEzsZ27yOwxWfvFOPFaqT35Gg4X9LE0RQGzrVDFU1LW1C5DHvfvVICbDuajbslmnR/14JmWW1hScbHctUk3VwJGlQS7lRozbqwLdmLvFnroq8qDRsCHRpSFUHdpepdSJuvBB1Eocguh2j9jd4uPFzPA0K9TfdKxQ==
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=Gy9MYKsv2ZV7QNyvLDQHuWHSm9KeQXfhJouOZGc4auQ=;
 b=zg6wolFe5dk1CX76yt5ZyLxAWM5dEdmoSL6g7BEbvonWRaql7XX0xOjAgp7xrI4q8aE+UTXmiWe6cadMOfs6fh6wQuRv/NC8gABFJbkznv+wWVU6Aw856CwlffX0aEW1q7kCev4zhyROEc1KobnsHWw7ysLoXpwCzNtmGv1/DzI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Tue, 21 Mar 2023 14:26:39 +0800
From: Huang Rui <ray.huang@amd.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: Re: [RFC XEN PATCH 1/6] x86/pvh: report ACPI VFCT table to dom0 if
 present
Message-ID: <ZBlOH/WBueITZnor@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-2-ray.huang@amd.com>
 <682beaa7-736e-432a-3525-1368891641c6@citrix.com>
 <ZA8VNkfHUMjvtUnR@Air-de-Roger>
 <93b735ba-ac00-0190-f8aa-0d85af3b8c13@citrix.com>
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <93b735ba-ac00-0190-f8aa-0d85af3b8c13@citrix.com>
X-ClientProxiedBy: SGXP274CA0021.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::33)
 To DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|PH7PR12MB7210:EE_
X-MS-Office365-Filtering-Correlation-Id: ed733299-8213-4585-ea31-08db29d54ba2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oiUp239Om2Te54iPA+5qNCwTgV/3chojgi37RVH5De8OxXIILhj9nmRx3T2ZB3wCM+pxiCeeOuQlUjq5TbhveqHrpQrKHu7QcuipyyaESxIxUEfAcJYft+iQT0CqNmtK7OfOm1G/PPkPYy+quI+ogUK6CYKXkIrTRdqzora5pL9b94IWesU8FydOLUHkWxl/TEqfNHqzyR2BN41zFeE0l0RzfZfJwhJr4xoZSUN9a1IdMs6DRRbLDdhh5cT5afy7XlXSdcwUiB5Q1vlGYC/P/d3dcBaGgQqJc9V458haqtDca+TdzD2rfTszR9bNz6h0Ip8vZ8K8oeR6AFnjJ8b4pMhiIr8+ub5dxVHiTlg7u/LSBGDpKhG7zud7Y8nDjAXYw+tMsuG3F4MQ71xXA2w5gOlcKI4yY5ypTf6ReraKnEpINU2qqn/ZHBXbA3KrXHfnjQJ53SA0KFUFbDZM+7Q0VlDWMiQy8W11qw3Qb75MBKFU6+Jr8/B8UUOMJN7O0lf62aHahzjELkrEp3SrMIFscvvdMfhsvLLgVfhCDfkZhQuMgsMs0d2p0VKyWqAvTc2hWiAWbhA3cxp/T/PgEA/0KU8xyUgELWhb8i3XEYyfYIcGKE0LE77p2xNIy6FYpvvK6B3HEmzy3j+y9cs4D5trvg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(366004)(136003)(39860400002)(396003)(376002)(451199018)(2616005)(54906003)(83380400001)(38100700002)(86362001)(36756003)(4326008)(41300700001)(8676002)(66556008)(66476007)(66946007)(2906002)(8936002)(6916009)(53546011)(6666004)(316002)(26005)(5660300002)(186003)(6506007)(478600001)(6512007)(6486002)(66899018);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?iso-8859-1?Q?OsSFN4pSWDSCaA9oJ7zdMXTGoNDmo1tGIcQBy37iXLXINbfHqqzJjL8AjV?=
 =?iso-8859-1?Q?mBGptyLVgtQI9cylWsWb1jhNAKbh0dJDlOxyyg36fA3bWG31VO2g8tkpMv?=
 =?iso-8859-1?Q?Uy4FOWdD6kiSqQrMO43gB8fjSHV6WEattwEpKofDOUBF1JhXok1Kt0XTeU?=
 =?iso-8859-1?Q?c7JAqGMty4b+LOBIgVE5taJoppXzHJJnTlE4bt7X2YkGRnEpjIDPj5RCEe?=
 =?iso-8859-1?Q?YM2VDA6BQfDO/eIgbd3kmssULxhcC0/E89foM7NNw9VgULgypV9o60tP6X?=
 =?iso-8859-1?Q?A2RtjqCvVbRnSbuF7meuauhqAK573FAGs4I9kiStTo3z9+cVM3oYCwRxXK?=
 =?iso-8859-1?Q?zeH1v+aaO5asjQgH19jKU8Ahm3b12CpThJwnVungg17lwpvef43G/NlA1d?=
 =?iso-8859-1?Q?EkKELwtFMykk/h0H3aBFJBPG6d8XELcEYPuqh7DHSajHD40i8aWXv7a9Ge?=
 =?iso-8859-1?Q?+EZzLBtbqaeoUEz1djRRfU2MX16y5RsB8RtJIGkBkSdZw01ancZMCfOVyE?=
 =?iso-8859-1?Q?h+PZWRkwoBeOO1Eb3PjOMBf6XuBHZc55jByO4SKlFF9WXllafghFewcpDZ?=
 =?iso-8859-1?Q?QrY9H5nLaGHJ64OylPVDOdsyBrwrou1UkOrTc5yVi/z0SRnJFIoKn4ntme?=
 =?iso-8859-1?Q?xywggoDiaIFS8FL7QGoQ5BJR0H7KRdWz+4PFEf+SwbyLXZB6dOCf0CAzJ6?=
 =?iso-8859-1?Q?OCTJQQdeMvtcpQaejX56Q1VboUgrV4zFM8Sovm2y+ELCAyaCGYXCagSEDz?=
 =?iso-8859-1?Q?Coef8rJKhIpyK8gqJZrHJYYCdXCerFGUul02t6i3lMf3LdUmyebue1Vyjl?=
 =?iso-8859-1?Q?SU6lf3eYHToKAe8kEEgUp6M2aGI0MXs7u/BP6fKDGFgnLp6OWhGaCSMxR1?=
 =?iso-8859-1?Q?qXVIJ4fYsLRxv3efr4BKRgWBRLb4ykIKrXlw/25ewYq1VfvRhK8kO1IFJp?=
 =?iso-8859-1?Q?48BiEZeEflquh35qtGWDQ1KNTqSgOzSTAPSVsBmw2esTFhXvWsC5X7Up/s?=
 =?iso-8859-1?Q?nPJYdSxm4Jp9OjC3g+4MH5NaFyff4KGlFVHyVLFUuMLO6t9bQqXnPtVu6J?=
 =?iso-8859-1?Q?BIPenLm44cA1Iy4qAw4tLyAhofNVdn9nkCo8MVSpAe6KJ/i2LsnKeMCEi3?=
 =?iso-8859-1?Q?LiPlv/Go7kZoCVVwVJhhi/VT5cgCnKCOn2Zai6BqIaJ4+IOZ5lxSI2GMEU?=
 =?iso-8859-1?Q?+bNWEgcnSMaP7Lkop7K3F7gu86YgUvJXEIx0uCU49BeqCDi7C0wm1odJYQ?=
 =?iso-8859-1?Q?wTxE9qekC/bqVHOI9hiIhLZATwVub1zfM9jDAsXZ6HLPLv8b/18qLQLdCr?=
 =?iso-8859-1?Q?CfvxNVZv6BjfdvPrJGTnauIyrj8e8ArTXfH2IQOBfU7k5BfE+0jOWcg9iH?=
 =?iso-8859-1?Q?znvbysOSYCk3UQwJur5D7TcE8aKjzSY0NtVVS5e0ZOMyAnSTCU/AjuyUUH?=
 =?iso-8859-1?Q?J04N3kZw1qN4zApPl6ObnnjyBf+EHrL/kZARldmSI9htnRpe64rDPDGB/K?=
 =?iso-8859-1?Q?O6ZpCMK0K3noAScWqSAEJXPkzAnnLNq6Zgvh6qOZRy8Wna+mfqkEtBppwA?=
 =?iso-8859-1?Q?ICN0CD433FBsDDSrICa+vvOOjp9eERF94RDnGCsTc86A39rPV7Bnb/IvcS?=
 =?iso-8859-1?Q?2hwNE2Vy+OGBTyII+RGSXJ/KLBW+5EiTjG?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ed733299-8213-4585-ea31-08db29d54ba2
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 06:27:07.8985
 (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: Pbp8Uivqd3qPAJMgEFBiSQ+Dcc7KyjFgpgCg0anr06a+TfNn42i/qXrayLt81kLlv0kLnFemSvQz3Eb9HlHZ+Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7210

On Mon, Mar 13, 2023 at 08:27:02PM +0800, Andrew Cooper wrote:
> On 13/03/2023 12:21 pm, Roger Pau Monn wrote:
> > On Mon, Mar 13, 2023 at 11:55:56AM +0000, Andrew Cooper wrote:
> >> On 12/03/2023 7:54 am, Huang Rui wrote:
> >>> From: Roger Pau Monne <roger.pau@citrix.com>
> >>>
> >>> The VFCT ACPI table is used by AMD GPUs to expose the vbios ROM image
> >>> from the firmware instead of doing it on the PCI ROM on the physical
> >>> device.
> >>>
> >>> As such, this needs to be available for PVH dom0 to access, or else
> >>> the GPU won't work.
> >>>
> >>> Reported-by: Huang Rui <ray.huang@amd.com>
> >>> Signed-off-by: Roger Pau Monn <roger.pau@citrix.com>
> >>> Acked-and-Tested-by: Huang Rui <ray.huang@amd.com>
> >>> Release-acked-by: Henry Wang <Henry.Wang@arm.com>
> >>> Signed-off-by: Huang Rui <ray.huang@amd.com>
> >> Huh... Despite the release ack, this didn't get committed for 4.17.
> > There was a pending query from Jan as to where was this table
> > signature documented or at least registered, as it's not in the ACPI
> > spec or any related files.
> >
> > I don't oppose to the change, as it's already used by Linux, so I
> > think it's impossible for the table signature to be reused, even if
> > not properly documented (it would cause havoc).
> >
> > It's however not ideal to set this kind of precedents.
> 
> It's not great, but this exists in real systems, for several generations
> it seems.
> 
> Making things work for users trumps any idealistic beliefs about
> firmware actually conforming to spec.
> 

Thanks Andrew for understanding! These tables have been there for more than
10+ years on all AMD GPU platforms.

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 07:13:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 07:13:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512215.792024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peWBR-0005Gs-5G; Tue, 21 Mar 2023 07:13:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512215.792024; Tue, 21 Mar 2023 07:13: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 1peWBR-0005Gl-2I; Tue, 21 Mar 2023 07:13:25 +0000
Received: by outflank-mailman (input) for mailman id 512215;
 Tue, 21 Mar 2023 07:13: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peWBP-0005Gf-Oj
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 07:13:23 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dafcabb1-c7b7-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 08:13:19 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6917.eurprd04.prod.outlook.com (2603:10a6:20b:109::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.24; Tue, 21 Mar
 2023 07:13:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 07:13: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: dafcabb1-c7b7-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DRjVEXBfEXC17VaD1/1C6L9ZHFQgNQwE3u7NfowS/pHGGSgVyrjMzGDyIKpQKtmqxyvrgFrFxtBpKUPkK3wZUSHK8h1xS7u+zNfqT90UX/w6mLGIgDgWLRrNTGg3aL6JoIukCuXNwsbLGaKHomdCX3L8X23i5ELKtpj2r9BmoRblCwSTrvfgYNgTGmkjxheM69Sti6MmCLbh4NqGsia8dh7bZUThDAPUflle1AaPJaWvLxyasy/my9XvA6VXbJJrAJ6ic80QZVumdAWxXLLTarUG5Q4GfSDPtyaX4PBA96JrS7MWzcjKS2Vdi5ylPUFd5mufOjuNial5qp/J4g7FCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=txfMLxfdsC7xPBvjI7isx1WEOEcBv2c99H5fK7IJ0SA=;
 b=Br+LWjqfs5fclmKDBe00uDCavqaNglmQNVeGg2+oOv7wmLkdJyw+JyVPwt/F8Fwbj1HUsRZ5lMr2STcyOV7tnjXU75uIiPNnV7FcOIv0wkqCiP/1MFyzQtp2zIYgqSKRGkFn23z1I18xf2nbnbRQhflaT4s7a5tuSZ76zyidNxcklLB8hbCZlZjnIEk02rchecxKQ/FOzQhvA2yYK7bmjRuisGW/6ArNmZEDTh43+qJcxgW1CuGVizDEKnJRffv5pde7NHY07uA0qT0tUaB+4dk2F7Dgx+UlsBmzeCe7aTHG+IeZotx/SljZF1hJoEaGD1Ytmb/9/fgG75/714daEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=txfMLxfdsC7xPBvjI7isx1WEOEcBv2c99H5fK7IJ0SA=;
 b=aZfwgXe52njl+JVQfJPM+gnAqfeQxOo+RBFamEc3OIXDIIXd3ty4VwxYsh9LyJeIgYuKpPLEeSNEzSathY7XrwncxBydmduBV3Woxa+WaEoc1i1LZSjq4YI1w/vz4zTz8IGTB9CdQtLmwsV2qZlPUiUWXzh2NMQ1b9ZLdnFiZhC7a0dlvI9g7JqlxWyCJpNTqwhM1B+0jHV1a0UJhOstF8X7QblkGdAN5fKHvODwbW24l7ju1gX1rgUMx5YAjAuJaJZjivVhI6yQMnp4DNjLMoJiYIRyzomPZ4OjX7gsM4VHdJwWgUnalXs9NjaHpgvN/L+5fTalUrSuEFhVYpvPLA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1c019d72-93d5-f820-7079-2a9c3fee8822@suse.com>
Date: Tue, 21 Mar 2023 08:13:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [BUG] x2apic broken with current AMD hardware
Content-Language: en-US
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: xen-devel@lists.xenproject.org, Neowutran <xen@neowutran.ovh>
References: <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
 <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
 <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
 <e5b28dae-3699-cb0d-ab7e-42fdd42d3222@suse.com>
 <ZBSi2KfoQXo7hr6z@mattapan.m5p.com>
 <b2eaeacc-de5f-ebe9-a330-fbf9e20626b1@suse.com>
 <a2de5d87-ada8-46b9-090b-00dc43309362@suse.com>
 <ZBkwboNcQu6ooSRC@mattapan.m5p.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBkwboNcQu6ooSRC@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0152.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB6917:EE_
X-MS-Office365-Filtering-Correlation-Id: 6401f6ee-5234-45f9-c84e-08db29dbbe47
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ikyt8Q2CNaYGNfPO1Vr7WrGSIciMj/uZG+6xMVrFpK1FBacn3Q4tC2RdjZR3J0rkTnbNlDsEISS88cLwBN0j6fXgIQn3EGrIrGghfHXQf/+xSKsx0vmn52AjYlFPcaKaatBMWggX1aqjJ6FIqro8ur8VSCdVhSmTxGiE6g+YTADoWKqu59Wcsav8lEowWT/b/ChiUSTA81lercI0QDlBPA2aFJQ+JyCLSw3yX8a4xcu6iM6jZFoZJ29IQYxTHurZN/Cczl3fSpGOdKv5zDGZ7o8n4xmwmSk+Lyn3OUil2YM6+P9pPV97znBaPWJrlGjy31WI0s6eZ/4I2vQwxCWWZ31qH1TE6cNDt/efRwLK7zetr2+xSWnaqm0FBNFv0+MZm8Ym6iSFZGEsZEEjiHcg2KSWlotrZGTs0nLB7g8ABdBnJWuaRxPF85mRpDEFAlCjAbTFVaMduCqBc8N2hr4rIZzqpVgJj9pLCEcpFCsF/CHEoHdX4/OjrZKFZf9yv9mD9YFvacvqyORQu47j1Q+bPSdtfhv5OXmpje2fAGxYe5VX5CQKIvAgh2mXtfNxC7gebO9dOeVYstbvJfZg1ZS9jfRS2UI6PzEZvm/uycEbOc/5YCNBcJUtQEJ+pYreb2zctDNjftZ6QljaJ1jkZFZTvsgbwCmnIlyoKcnVqT/vBveFnntEwLs6kuAmTjJvuRTEXr9i+txo1wkXIamgkFLG7GYouZDaaXmSDWf+zf91Tww=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(376002)(136003)(39850400004)(346002)(396003)(451199018)(316002)(478600001)(31686004)(36756003)(6506007)(8676002)(6512007)(26005)(53546011)(6486002)(66899018)(4326008)(66946007)(66556008)(66476007)(83380400001)(86362001)(2906002)(31696002)(2616005)(41300700001)(186003)(5660300002)(38100700002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M3FPTTE3TC9nalYrLzhxK0VFVmlwMDh4OVZLTU9iMEk2K3NqcTViTHBjaGd0?=
 =?utf-8?B?Y1kzNzVlR1M2NGlvb2VVSk5zblVWeHUxTjBoZzdXUU95QzNjSnd1ZVlRRlk4?=
 =?utf-8?B?U0xHL2UwMU1DRHNYOU90NURZVlpvc1RpQ2MvOWR6QmhOUERyMElPNXBKelox?=
 =?utf-8?B?aVdKY3l1OW10dVdEcjEyVDdieVdLYkU2UkZGdkRRVDNCZjBzUkl2RkdkK05U?=
 =?utf-8?B?L1JYeTVDVUw1TGxxeWY1ZXRSTnpxc21rRzBkVWNWclAzVng0Q0NkMURPRjA0?=
 =?utf-8?B?QTJ4UEJTbUdZV1FiaUpUSXhjdWVlR3BtOVh4aFRqZlBsNFF6dVo5WTB3SHNP?=
 =?utf-8?B?eTZnR1BrdWlzZWN2c0Y0M1Z1MGZ0cEZJRThIUDUzbkdvU0dZMmVMTk5Qc1pl?=
 =?utf-8?B?UTRmZjhkMklwMWZiS1RsQjNLdC8vbnZUZjZEWHJpenRORHpJRCtyQVQ4WWcz?=
 =?utf-8?B?NWFsYzl0anF1R0ZoeW1iMlYwZ25oVUJsa1lnMi9kaFVQRVB1L2VDRkt0TG4v?=
 =?utf-8?B?blJKV0RjSDRKaWtuUng5UWZRNkFEdFNkVVB1SUtHTmlVM1hEa0pTQ01iRUoy?=
 =?utf-8?B?UEVEUVZnWWxHaUNZdm95ellab0w1czBzTS85RUFsaFoyVitheXcxTmhUaTRa?=
 =?utf-8?B?WktsSUxxZVhaa1JzQzVsUVV1YlczR3NuUWpaTDYxanA1d1hqUGRGMkI1dGdt?=
 =?utf-8?B?MENjcmpUSC9ISHVZcWNtbWVVSTRZRFZHY29QVkQxMk5zNmw2YXVHdVp2dmRy?=
 =?utf-8?B?T0J6U2tiaTdjanRMcndnSHdsc2tldHBMdmZPVWtIV3pjS3pjZlNTZ1hicW9K?=
 =?utf-8?B?Wi8zWDdZZ0dhdFBQcXJOcEd6U1c0TDVEQUZYcUU5VzV3QjRiUWhVTUhIbUI1?=
 =?utf-8?B?eVU0ZXU2bnJDcVFmTTRBcGwyREV3N3QyMUVKODk4aXB1UDdNTDYybzlhdjVx?=
 =?utf-8?B?WHdQQ2YvS01Vam14SlZtR1NHMExOMjJCQmZiZFg3dVhTK1p4NU5KVlUvdm5w?=
 =?utf-8?B?S0NsWW16d2puY1NZUDhNOGhCQnlwYlhTcjlyaTF1OHMzR3FpN2tFeHlFRHAz?=
 =?utf-8?B?cWVyMkpDYk56NEM1NlZzUTcya1lRYnZKTjVGbVN0RU5kYTFPY045Y2ppOWJy?=
 =?utf-8?B?blY0dHNOc0ZwRVplbHlkWTdMNCs5M2ZtYXkxOFRoZklGYlEzNTVpbUdZNEEz?=
 =?utf-8?B?Q1NsRU5lUTVjQkZkbU9hNVF2b0pCTk5NZzQ0Q3VBdEpZMm5lWkhZNk5RSXk2?=
 =?utf-8?B?Q0VsZWpzcGdzWDJhZkxXckNscUQ5cDh4ZVRQL2xSTlBad3g0UVgwbmYwNUJo?=
 =?utf-8?B?aC9SNWpNQkwwWGFOL3FtSklrM2dENUdJTnNmbXV3US9ia2ZSdGJycVVCbVRS?=
 =?utf-8?B?Yng5eWJ0bTdSNjJhZVMwSkY2SVRKT3didVNVUklzQmlLREtNMkZrNmxRZC95?=
 =?utf-8?B?VFZMQ04xNmI4ZEpuSUhTaVVGSXpiNy9aRmRzT3FJQW5VUE9MK3RsMldrZ2JN?=
 =?utf-8?B?YmRBemV1ejRkOGFlR2E5bzVtQllLdFJPdmt1YmQ3ZEdyWFVBQndodE5sejhB?=
 =?utf-8?B?SjRRSW4rcGRTbGxBbjl6dnFScWxTcDBsOXpOVkR2OHBuYjlOdVJvSlVCdEZF?=
 =?utf-8?B?TTVVNTVWUmNyWUJvRENjNWZxWVVkSkpMbXNBMThWU1VVTHhiZEg0YUlmS1Jv?=
 =?utf-8?B?R3h1aVJhWkZGWmp5a25QUXhzc0ZGdGJiZmhMWmY0TGVQU1FOdWJRa2JCNlJ1?=
 =?utf-8?B?SE5hd1IrRXJEK25ORFFKSnpPV1BVbHRQUzhKU2FudGpIT3dGY0Q1Qkl2amVE?=
 =?utf-8?B?anNxVWZodGdhUmhYR0VzYnVYeXBEVnZTdE1Wdm9sVHJ0QjRIWlJlV01qVlBY?=
 =?utf-8?B?OVhDeVk3YnhjMkpwZWdxeHo3dFdSWkFXWllUN0w5WkYva3QyY1hqTUFzM3J6?=
 =?utf-8?B?bFNKWWpIVVVQd1B0WUFhNDhiNjNFR2lkQW82Mk9XUFhZdTZwVDNyRTlwOFpB?=
 =?utf-8?B?YmpSVWFVSWdKZEJaUkV0aUpiczNhN3pTcHVmc1FzR205WC9EUzdmQk1ndDRt?=
 =?utf-8?B?MHZMRi9NQ2g0b2IxYnZnajJHU1NIY0xzNXVmcVVzcWE4REVlWTFGOUFaeVh0?=
 =?utf-8?Q?vxfyn36dmL26j594Rk8AQ4WNI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6401f6ee-5234-45f9-c84e-08db29dbbe47
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 07:13:17.3290
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: k4eFI0knKNtPXDV/Gld/GR/cr2RBisYfXQG6MLln7GJZzd1AWqx+CPLcHMGoaJAULIBXTCK2YIxaVMB3OXptRQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6917

On 21.03.2023 05:19, Elliott Mitchell wrote:
> On Mon, Mar 20, 2023 at 09:28:20AM +0100, Jan Beulich wrote:
>> AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode
>>
>> An earlier change with the same title (commit 1ba66a870eba) altered only
>> the path where x2apic_phys was already set to false (perhaps from the
>> command line). The same of course needs applying when the variable
>> wasn't modified yet from its initial value.
>>
>> Reported-by: Elliott Mitchell <ehem+xen@m5p.com>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> This does appear to be an improvement.  With this the system boots if
> the "Local APIC Mode" setting is "auto".  As you may have guessed,
> "(XEN) Switched to APIC driver x2apic_phys".
> 
> 
> 
> When I tried setting "Local APIC Mode" to "x2APIC" though things didn't
> go so well.  Sometime >15 seconds after Domain 0 boots, first:
> 
> "(XEN) APIC error on CPU#: 00(08), Receive accept error" (looks to be
> for every core)
> 
> Then:
> "(XEN) APIC error on CPU#: 08(08), Receive accept error" (again for
> every core, but *after* the above has appeared for all cores)

Receive accept errors generally mean a bad vector was received, yet the
sending side deemed it fine. That could be a bad I/O APIC RTE, a bad MSI
message data value, or a bad translation thereof into an IRTE (albeit
iirc we never alter the vector).

> The above appears about twice for each core, then I start seeing
> "(XEN) CPU#: No irq handler for vector ?? (IRQ -2147483648, LAPIC)"
> 
> The core doesn't vary too much with this, but the vector varies some.
> 
> Upon looking "(XEN) Using APIC driver x2apic_cluster".  Unfortunately
> I didn't try booting with x2apic_phys forced with this setting.

My guess is that this would also help. But the system should still work
correctly in clustered mode. As a first step I guess debug key 'i', 'z',
and 'M' output may provide some insight. But the request for a full log
at maximum verbosity also remains (ideally with a debug hypervisor).

> So x2apic_cluster is looking like a <ahem> on recent AMD processors.
> 
> 
> I'm unsure this qualifies as "Tested-by".  Certainly it IS an
> improvement, but the problem certainly isn't 100% solved.

There simply are multiple problems; one looks to be solved now.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 07:28:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 07:28:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512220.792035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peWQM-00072R-KY; Tue, 21 Mar 2023 07:28:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512220.792035; Tue, 21 Mar 2023 07:28: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 1peWQM-00072K-GM; Tue, 21 Mar 2023 07:28:50 +0000
Received: by outflank-mailman (input) for mailman id 512220;
 Tue, 21 Mar 2023 07: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peWQL-00072A-BY
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 07:28:49 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0601.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 03ccbc10-c7ba-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 08:28:46 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7783.eurprd04.prod.outlook.com (2603:10a6:20b:2a4::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 07:28:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 07:28: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: 03ccbc10-c7ba-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KhL964rdVXkjPbk2X7imMFYc/yzUAs8U4swnEn6K0NAMEy4wfZRuw0qg/OQaxkUGbLq3kIu5QlFET0smjrvcAyd31JJ1KmUqqZjCmeMDL9pUUq5HYUTO0a2q7wUmtJU7fVcD0GzaiyRvj/49Y0864ctdDiWYq0jWLYnDLOn3RKu+FGfOqk6u9lAzmTdAHY342xEupUO+OWDSeuQuqZUeZaLwe5kfH+ftgU2EYY7hf2hlFnPE7rz7W6delvAOJYC6kx2YTkUZOxUQkCfC3hDJppyht0YDKPK0OwGtUUaHQ9gLQwYMFAAL4/O8h+2777HS6qp6z09/PiSflwU61m2ynQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Foz6/LL/2ZSWntFeiRZIfbGZLNrXiM170+k1o1TzyFc=;
 b=bgWd59WcXozFYX9Mk62xejHvt95bBvpsusNExqET4+6u2ofTMhnUNaKECI/femuABA4JJbinz6l3f9A6YaVD2FgLp2YxdH5aOMt+sRYAkzwc9qVrHztERNvUxbtNVHbOHjpKOiXGBFTFhxYrwhJK9LCWUKNR4OD+HJbTz1C64MW3ND5OT9ylzRHrzWn7OnYNvcaNuAhk2s2ZYXWKVJLqFAyH7V6F9NaRB0YyDpW/3Z48jgYmz0plb1QI+xa6QCBDH8TrY+umOaNcMj/JZz0tFbLuT3F82/oYsAFpmg5Os+ALb5k4ukT7Xex53sRnt99k9KUqW+5fh4KLEiM/SuCoaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Foz6/LL/2ZSWntFeiRZIfbGZLNrXiM170+k1o1TzyFc=;
 b=Lu1aaKbS0T9IcS4U+6AAusVokYWiqXGV6OpaeeOPloQ4EqdCs9FlS+tqP7KBR0dsJLtJgzXqrriCOUCx6PA3Igq2HIoObP6yuz2P3/FpchnIrxti7gj0+Q5ngzqm1DdYGsRrKBO41kSJbR+foyhS0/u1VOLDciGIcrK6djsADSh8LEqoCpqWmQ78YhR9a4GgWq700zQe+pTXgN2O6hjwe6XMQfApMOjbPGOofNs8QOh9k2B4+Yiyh/jaS9en0Ypum8g0BMHDeKm8Kn6hqNWmAURR63vYb2UqJzX+WeQsHRASO14NlZIgNeFVJHSXcHMd2ZKMV3RsLfL5lOSF/x5SsA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5f14bdb8-86cb-9c42-e1a4-751625ead2e7@suse.com>
Date: Tue, 21 Mar 2023 08:28:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Dmitry Isaykin <isaikin-dmitry@yandex.ru>, =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg?=
 =?UTF-8?B?0KHQtdGA0LPQtdC5?= <valor@list.ru>, xen-devel@lists.xenproject.org
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
 <f2231607-b29c-b54b-874f-4e30ee84ae80@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f2231607-b29c-b54b-874f-4e30ee84ae80@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0003.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7783:EE_
X-MS-Office365-Filtering-Correlation-Id: 86133720-70a1-4116-631b-08db29dde73b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	o70r8VOkogCPisbYSEoOaGZbDWDhAEbAiR9LsSJgDbDRbcosCDMqptNi9mAvpzhavEQMwzv3jkMuefHIYQBUTK4MFPi3Zo6OV/9wk+jjsWP3PeCZ7Hvz1bzarXLJeSzgDgIOU2r3YnQzCpagd8iDrF0wROmH2hZUMQcv+p+2uCGXuD1ytkjj5zx6ui3hWhhziKM8ANWiSHzWVLatAazIEseWmUPPuiOPNrsDAHVj7cv27yZG8mmy23uAX7KFN/0Ck3LSdzkLD6rcRqfD8XPye3NOhGMasxx90TAgUBNrqivZEkb6nOqQJc35g6T3pVIMmwcGnn/vuTTd5z5JsSw6ukBR84BwEDo8NNPtDLTo23vpREU8KINM1GCI2dC3rZRja91JndL6fQDq5hP61nV8CRnkQCNrKkzc8/3y/T3IgF9QYoacSGyiqgtg2mzXQKBbeNxoYTGFOBwwpY/7hzXvsJsERW0t+YY3RrMYFIQNpIFdZbOEsOPGzEeZSAJlw8qPXk8r4IPDO6Oi+2fWiRhmtsIgRCiWvJ66XM21pBQQD24fx9TYU+j8Vgtf6+/1LGCWWh9Y0IWkz3rbhdkjcWzRZvewJ75JLRSFab04VKpCOtnzcRyr1U2+t98MMfzEP5NaxLasHWvYPYP3FPfggG41HfS1hYR5z0wkm2b+SYXlEkFRUDL+A9thY4UhMxM/+4spcfJh5zmaGIYkgz3l+hZlvNXnDxeO0z5TAVrgAiTMgBU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(136003)(39860400002)(346002)(376002)(451199018)(8936002)(5660300002)(4744005)(7416002)(86362001)(31696002)(38100700002)(2906002)(36756003)(4326008)(6486002)(478600001)(6666004)(41300700001)(2616005)(6512007)(186003)(53546011)(26005)(6506007)(31686004)(54906003)(316002)(8676002)(66556008)(66476007)(66946007)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGNLTTcwYWF0OUZ2S3hMT253RzNIc3dJL0lUem1VeVNmRjI0RmJJY3ZJR05s?=
 =?utf-8?B?ZXNJSjA3cCs4aktaNE1HbHRSMThpU0F3YXBhMFNZNmhVUmVqeGRzM0FjLzc1?=
 =?utf-8?B?OWlTbkc0cDJEOHlLQUtTMjhOQ29OUGxKYmYvZTZ2SGd6bFQwcDdCNUMvelBE?=
 =?utf-8?B?RUp6M0pQN29pcXJwTEY0MFVBbHpBWE1peGtxSVhvOTRGNEZNa1hrdkNDRFU2?=
 =?utf-8?B?YmpNNEtmZUJBbS9WTjhDU0dmZmtPUzIxcXV0Sm9Pd083ck9QMnVaUHpuNTdX?=
 =?utf-8?B?VGhwQzI0a0dMQ08vakNkOWZZd2VVQnA4S29NaDlDa0FUa1NGS2FnVlhaSGpk?=
 =?utf-8?B?dTQvclNXR1hQY05uRFhzOVNVNHBWbmlNdVZYZmFoZkRjMnZoTy9pLzBYcjk0?=
 =?utf-8?B?Y2RRRzAxdXhzRUZrRWtUUWFpeHJoZ2Z6Y3pPRFUwY3dScUVBSEpncG9nek15?=
 =?utf-8?B?ZFQ2NXYyUU1lOTNzOXlHNG42Z01uUlQ3TmhhQlUzUUFSWFhxaUx2MzhCWU1n?=
 =?utf-8?B?aXVuN1BydWh1dGtuMjZ3cEZkRlgyTFFsQzZhS284Vm02S3Y5UHYyRW5Dbk95?=
 =?utf-8?B?VmV6UTYwbGxDVUFDbzFyaEgwNldPNHdlL0xQYnBIck00a1lFcGxFV3I1ajZ1?=
 =?utf-8?B?V1NUME9HbmpBdTBPYmEzRFBvKzJ0TmhvM3hHck83Y2Q0aStra2s2MnVaSWJW?=
 =?utf-8?B?L0ZYUmxIUHpjZkdmdUZVMVZPazZzMHRTMjdvWDdCVVN5UHVmK2tZbWM3azZv?=
 =?utf-8?B?NXFEaStNK1VZZDUwK0ZDR3NlbVFkVTJseUVmRlduYmNXREI3UUo5VW9Yc0Ri?=
 =?utf-8?B?Qk9uVWVjdVpQNnVaUUNsWTdPUzBzcmd0TDF3Y3VlNTViNzNncHVsVWZzeUZa?=
 =?utf-8?B?ektPZCtsVEpyVEVhZzhXU29qb1ZrZmllOThoYTBiVnVFSnJ3aG14b2ZQTHZW?=
 =?utf-8?B?VDF1amZnNlc5V1FSazhTV05jS0s3N0pFMzJoSjRqSkQ3VmtXbHFjeTlnWHdy?=
 =?utf-8?B?Wjk2b1QrTXYvS0dqdXM0VTNuRmlQZUJHQ1lQcmR4Qk1OSUZ6RlROT0ZsM3l0?=
 =?utf-8?B?NU5XK0p3OVIyK3dQT0wvQ2lCeURtZEZaOVg4UG1TMDRtbXo2WnRNYWpSTE0r?=
 =?utf-8?B?S0lHVUpPWG90Qy9yays0SDhlWFVVNWhkZkNaMW9icXMxM1JMWUxUZ1J5N2dI?=
 =?utf-8?B?ZnFQTjhFZG16UkxPOVM3M1FLZkNUYVlpMzd1cFQrYi9oT00yMW4xMlNTTWdU?=
 =?utf-8?B?SWtYWjRNN0M3a2JIejd0bS9RV05jSk9CRlhsU21DdnhnenpZRDJjTWJjTDM5?=
 =?utf-8?B?TGN5VlNwdWpHSDF3ck85Y0RHQlNDVHZjb0V6dGFmRWQ1MzEyemczR0VLQ2Zy?=
 =?utf-8?B?djg4eFlqUGlpU0x0SDc2OFpIQ2sydHdyNVN1M0pVUjZDRnArUzIwNEZJV0lP?=
 =?utf-8?B?YjR5bHZ5OTY1NVVTTjhHVW9rdWgwZ1h4V1dMbTV3S3JrNHk5dGxOMDh3S3I5?=
 =?utf-8?B?bXhBcEVYRXd1aUxlT3ZrcXpxMUNRek1idVlOK3V0bnZWUmgzazJVbG96UTlm?=
 =?utf-8?B?ZlA1bU5YSzc2L0JXTncrQnVjZTd0RjVHSmZiUXlJeHFQaHFWQVFmdlhnbFZx?=
 =?utf-8?B?ZU1MS1lxNnpoTmo2MjdoREppVzVZVEloZzN5ejZ6MTVPbnFORkloYmp1b2dQ?=
 =?utf-8?B?b05WblpRdzMySWpJaS9ZQmw4dXYxR1FlazNXckJQL1ZUSzdYbGM3NHl6OWJq?=
 =?utf-8?B?US9iS3N3cjVjdFUreTdoTzlSeVVFOHpsUHlZYlhGSnU3WG1vZG5YODBxMVRV?=
 =?utf-8?B?dEhpeUNTNld1c0k2dVNqSVpYcXV6bmNIbXBERUUycC9Dd3NqQS9zSi8zMk1s?=
 =?utf-8?B?ajlhMVNMZ0FWdDJyM1VocGU0K2llTktPNU5yQVRpWE01b08rdW1ZS2FwS2t1?=
 =?utf-8?B?dGx3aW94ODc3ZzFOUGJWSmN6ZE4rVForUlNqNkJVelJqQTFGSGFRZmY4QUxs?=
 =?utf-8?B?YTQrcU1rM3k2eXhMK1k3WDFFY21weW91SlZIQkY4ZVBRUXpteXVxeUgrNEsw?=
 =?utf-8?B?NUZBZ3BrdG45WmhMQVdxNGdscisxR2Q4eTM5bi9PM01qa2NZUm8vWHpHTlhU?=
 =?utf-8?Q?gYbDjb3f6gFRtDbGJPV9FS2zQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 86133720-70a1-4116-631b-08db29dde73b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 07:28:44.9653
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hZP9WeSMTZJXri6DdTpAvbP0xHm3/r4AN67+zEq5iKnKOuckHRtrsB+CwHfVYjIRovPMBNeBit+MImoXkqaFBw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7783

On 20.03.2023 20:07, Andrew Cooper wrote:
> On 20/03/2023 4:32 pm, Ковалёв Сергей wrote:
>> gva_to_gfn command used for fast address translation in LibVMI project.
>> With such a command it is possible to perform address translation in
>> single call instead of series of queries to get every page table.
>>
>> Thanks to Dmitry Isaykin for involvement.
>>
>> Signed-off-by: Sergey Kovalev <valor@list.ru>
> 
> I fully appreciate why you want this hypercall, and I've said several
> times that libvmi wants something better than it has, but...

But is a domctl really the right vehicle? While not strictly intended for
device models, a dm-op would seem more suitable to me. Considering you
already brought altp2m into play, it could also be a sub-op of HVMOP_altp2m.

Jan



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 07:38:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 07:38:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512223.792045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peWZs-0000Jf-G0; Tue, 21 Mar 2023 07:38:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512223.792045; Tue, 21 Mar 2023 07:38: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 1peWZs-0000JY-DT; Tue, 21 Mar 2023 07:38:40 +0000
Received: by outflank-mailman (input) for mailman id 512223;
 Tue, 21 Mar 2023 07:38: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peWZq-0000JQ-Og
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 07:38:38 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20627.outbound.protection.outlook.com
 [2a01:111:f400:fe13::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63a25cd3-c7bb-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 08:38:36 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9449.eurprd04.prod.outlook.com (2603:10a6:10:36a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 07:38:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 07:38:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63a25cd3-c7bb-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AxJNGtGuGOleN8D3WP8eOxiw0x9uTRSfUnPqIZXmZ/BkPOtRQvvEHhztcjycFXygiF97L3+l2vq4Oj42KcbX7XE1BtTXVE+4ywKEQuM0LoLvR3gLAaY1GdtcAauSnrSX2WnNmBcc56Tb7SCvqsjtzLsEqTDPhQ82SUqfgAPsldSTwnakPlkPdq++TpX3NL9cGvav4FuJPmDi5mHW0vpQlQ3I8DuI93Pj1od0HKVz7qVMbdZBCXg+KtUka1mcVWFGl308Wxrbd9+jTk8xWWraR0nrZB1BCmF2C3XTHKBSbx2ONYhmOKUzE71CQbtPHmMULpeseXCkyPsebW/HiZRCTw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7p6hnCsZ4CH2tRtL52Nynf8f20biR//O/xdlliJ2064=;
 b=BhxFASDY8Ff46Yv0+Nl1KCsHyCbmq/H+GlavIzqvgzO0AzUieasu4rU/pXTaSIODgDL/Xu4aub02MPFmGv4orxd81AV1YK6gwJLc54QiGFjq7n8nlF0Q0KSRr0zCWzbX+Ekl+5sG/0KxvrFhQcjse+hMqE6k7WIvPZIQXzEmBFuJK5bOPo1ggzOIi/Pmp4u9kOIxiCsQJHKBFfbJAT0tNHzY8OkWuiWBLxVb0swF0xghovUHWhlm1otBbUY/yhbV2XeCHPFf9fPjjzPXXidBVZFHZQ4sKcY2vPvsv7UaSmfV+9FYtiDi7NI+XzUFmk46anltLNgaEqIBWRhRFGe4FA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7p6hnCsZ4CH2tRtL52Nynf8f20biR//O/xdlliJ2064=;
 b=Ece21dhSVtyFUSjI7C5Adp8RFHIeJT07/fJkh1EW3gpVKUW/7Fytfjf/LjUj30tg3wYh90KIRgHaFfB0q1OHIdZUzOWzHSUqyJMK1601uRFYE/v+hYFsUTIEIwqbr7hsc8iIilKJfLEQuWOJHGCyCxgjbnMOGU0whJ/cWv7+EWX//DCLswEl14GO7T5hiFOTZCbjINdv7ce8HHddzQ5CnKXh9f83dZgdLJIhn735R/F9fKPAxMMpdiYbMZyj6aKNCO8iLiqtd1hufYy4w/9WR6ru5EPUZNV/XCJOBIbk19ZxAEKqQMfgv5nPdAPqVJbOvHT75zkqGFKbJpz16aHALA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d33e4a43-2018-0f19-1596-169a78ca539a@suse.com>
Date: Tue, 21 Mar 2023 08:38:33 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
Content-Language: en-US
To: =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg0KHQtdGA0LPQtdC5?= <valor@list.ru>
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>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Dmitry Isaykin <isaikin-dmitry@yandex.ru>, xen-devel@lists.xenproject.org
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0254.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9449:EE_
X-MS-Office365-Filtering-Correlation-Id: 7254d765-017a-41b0-8af7-08db29df46fb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3UB/ZwZHz7FlK89gNdyEo7kGNmfCVgDgRNmvh7mMqf3deNGJjck3Ehno5L5NfADcsjgbR60xIjpQNLhNTL94TGkZANyN5j+pDAm/SfjtMwcWEplsRYwBVE7gp0p8Dfbfs3aO60W7dtJMZ2tADuyf/EctHX+BS96xpyQhEKokaTGBVah/1KN14jDHzQcAcVEH/wM571WBtTwManaU9mKFjz9LZjl1qPub2byA+CFVrR8FyGT8YQey0IdAwktGZFLL9eXKz4+en+bn0Evv5n/VDhVO6VU1vNTqnbgfG+ctX7p/p+ZNgmtm619Zve/0IZnAmg3KOGC537528ZUs402S/6ViforL87fvXji5VyPOpRvhiXHhAJ7f4knVHzY/C1ak7V5vZlRpC/8pOdpUsBeFD3XIuhg5Vb+6cUFHtB968skOqOt0tcNGCGTvoOSwLxbgG3eZGJuPkNCYzcrxXRCK6DHRon4jqUummWxgK6GuzomJt7bzoNcFna41wRo/7+2BKLvQv9iojGfpSQ/U79ht05+wOGRCYuLopBHBLtR3ifUTiK0wWMGDxeulMaaHNUK9nVLk+KA18LDrGpYISF7E3/Bd4dfeqzjMx6S5L6A5ZfELKVZgdONiCw5YB08zZsG5UR+rp3kt8gy/DPche28F2YHRzK3G/sg6RE3KWl+AV6rPk76ZcN2yQO3H1AC4uOZouHO/7BH8dPmX0nVNFvyJR9nSwer3j4nlMVobN1kLPZI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(39860400002)(366004)(376002)(396003)(136003)(451199018)(31696002)(86362001)(36756003)(316002)(54906003)(83380400001)(4326008)(8676002)(6916009)(6486002)(66946007)(478600001)(186003)(66476007)(53546011)(26005)(6506007)(6512007)(2616005)(31686004)(66556008)(38100700002)(8936002)(7416002)(5660300002)(41300700001)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OHVwU2lNazBHMGtzRGxSQ2FFeUFELzVrSHNHc3JvajVFM0gyNlhYVnM2TkNx?=
 =?utf-8?B?SWFYZ2orb29ZSEVpcnR6NTdpNnRXVUJEU2VtK3QreGYyb2ZNUzBOOUtEMk1Z?=
 =?utf-8?B?WmZXdGNjNkZveksxSEExTk9sNEVicXBCbEo5azBPem9sVkx2R0txTEpKenFo?=
 =?utf-8?B?a0ZOZ2N2MGREL2Vrb0lhNmxwdCtCSDVZdTlyK29CTjdEUXlZY2JiQ1Zma0c5?=
 =?utf-8?B?V0FVMU9qL3VranlpMUF3R3NNczZqeDhpc01mdzRld3dzNDdQVWV2VkR5ajBC?=
 =?utf-8?B?c2loOEx2WkhsaWpGRm5kM3ZTeXllckpWbmFVNGx0blN6Mklpa1ZXdmtmaVBI?=
 =?utf-8?B?VE81UlZTL3liNWxTU3lDcjlmUlpPa2RTYzFTU2l3ck1KTm02UGxjdk9CQUxK?=
 =?utf-8?B?dHI0bEp1dFVNVkZLbkMzVUNIUVJFeVNYVDdvTTVKY1pyQWdOWFZxOEpEVHlM?=
 =?utf-8?B?ZzBvSVFaU2s1WllKajJLWEc1d2tOZk9SUUpzNXp0QXRrUE95SXllVTlVdWYy?=
 =?utf-8?B?ZFU5cWcrajJwS2ZGVlp4eUgvQWxMNS9RY1dYV0dnNm5vbXJiMk9GenpKSk13?=
 =?utf-8?B?bHV0aHhWUXY3dCtZZ2Z3VWRyN3pLUmQ1cjJYU2F1TlE4QVFOQTFpendUdVU5?=
 =?utf-8?B?dWpVVjNhZnBlaTFSTVZ5UFllc1Q4N2UrNUxQZTBEKzcydHpKanBnS3Q4UGUr?=
 =?utf-8?B?TG16bWMzY1ZlR3FFYjNtOVM1U29pSnR4YmRMWTRsUEYveVJEVkFNV1d6STd2?=
 =?utf-8?B?S3VDMnorTUN6QTk5SjRnZTBFU2gvN1A1bjUwS0pqeHByNjNTUkQxRlNLd2Q5?=
 =?utf-8?B?aVBhZmJQMmxiRi9HaEVVMG9ncDhUdlVkdTFRdTZBYjAyUVZYYi9KSmNKcTFV?=
 =?utf-8?B?ZllUV0J3K2FOU1lZSnNWSWNEeUdMV1hnQW9PZDJZbU1tMEFHM3dGSk1NM2pt?=
 =?utf-8?B?YnJlYjNvU1VpdkFOVC9GUUlFQ1UwQ0JwVTZreEZWR1Avb0hGeG5OS3RLZ2s4?=
 =?utf-8?B?dXpGYkR6NG9WUXJIcFpSSEpCenM3ZlhWOFl4RW0ydXZ5K3h5Nk82VFVNam9q?=
 =?utf-8?B?TmVac0FHYnNyZkNHdWVGUjg2ME9zTVRNMGZOZGg2VVVXNE9oU3VsSU5YNFpG?=
 =?utf-8?B?R2RUVHp1RjhkaHdHdzBrbmVpTzJhSTJPL05vV3hEUXRjOWxFRFBBS0hIa2xl?=
 =?utf-8?B?YktmM3BFTnJpNzNnYzRtQkVydFF5cXVyRkxuTkVpWGQrNzZ3NW52T1NnUUh1?=
 =?utf-8?B?QWg3NzJQLzloR2dMZEdBeEdzREJqUjhML0U1T3FvS093TURLYXVtZUxUMW1w?=
 =?utf-8?B?QTF6MG16UG9KMDFnbDAzWUFFNkZyNWpDR1ZxWTVZa1czSWYrR3NiQ2ZrMXpw?=
 =?utf-8?B?Y0Jpb2pYbCs3NEFhRmdCbmxjQURLTllEMnZBQWNqNzE0VTRCbEdiY1p1WHAx?=
 =?utf-8?B?eGpzYTZYL1N6TERhSk85am1FVVZSMlpWMXN2ZVB1aHROZHpuQVRhNEg0Rjdo?=
 =?utf-8?B?dkwwR1M2SnN3anpaNmZlMnZqamU0bGVDL1hTR1BEc2x0VDZkcUpqUEE3SE9B?=
 =?utf-8?B?cVRCOHQvQkFrR1JpSHlRUWw5bnBnbEhMdzQ2bDhmMlhJZzlyMTU3YlRLejIw?=
 =?utf-8?B?RHY0WVd2VWJIdTBWa1ByZkk3QVhPMGtDMndiODMwZXg2TzVWTGQzRm4vblBE?=
 =?utf-8?B?bFlaZ1ZCeHY0Qm9yejlCZGxML0RIcmFZOVBzNy9tUFlFQTlSbVlIeitqSXFB?=
 =?utf-8?B?WklKek51ankvOHpIeFpyRHBoZGVhRm11Z3d2TjAyb3ZLb3pDUUY2UVJ5Y01q?=
 =?utf-8?B?TTFsdUcyZ0RFRC82SG5RS0hmUE1YQ2dPcWpOYVBHTUJ0NWlhWDBVQk5CNmhO?=
 =?utf-8?B?L3QxZFMzRjVJZDdUUnM4c3dsWWRib3JzWW51emhMUjJKZ0VzR2ExNlFJN0F2?=
 =?utf-8?B?WldSVUQ0L1JzMzRndTgxWE85V3I2bGh1dGp6QzNhRlNzSklLeW1qSEErVE1i?=
 =?utf-8?B?ZzRoOVY1NDkyVGwxUWQ4Q29jQ1c5bjBpelJ5WXpOZEplOGhmQjF4anFjSGlO?=
 =?utf-8?B?N3RXcjVNK0NEZlQ5TlRhek02UHh0S2NHVUlUcFdMblo2cVJ5Tm1acEE2K3cx?=
 =?utf-8?Q?sSF6deaUJI7xskthn7lterEHM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7254d765-017a-41b0-8af7-08db29df46fb
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 07:38:35.0736
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /358Tn/RYHCBR3SjYjQmMiu8uqbd8wl9YGAeDT7hovTezvhG57ARYGgq1XtRfiBp6RZRKkNKQj36GpDozDqGuw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9449

On 20.03.2023 17:32, Ковалёв Сергей wrote:
> gva_to_gfn command used for fast address translation in LibVMI project.
> With such a command it is possible to perform address translation in
> single call instead of series of queries to get every page table.
> 
> Thanks to Dmitry Isaykin for involvement.
> 
> Signed-off-by: Sergey Kovalev <valor@list.ru>

Along with other comment which were given already, a few more largely style
related nits. First of all when sending patches you want to make sure they
make it through intact. You have some line wrapping and white space
corruption in what actually ended up on the list.

> --- a/xen/arch/x86/domctl.c
> +++ b/xen/arch/x86/domctl.c
> @@ -1364,6 +1364,23 @@ long arch_do_domctl(
>               copyback = true;
>           break;
> 
> +    case XEN_DOMCTL_gva_to_gfn:
> +    {
> +        uint64_t ga = domctl->u.gva_to_gfn.addr;
> +        uint64_t cr3 = domctl->u.gva_to_gfn.cr3;

Please avoid fixed width types where they're not actually needed. In the
two examples above I guess the 1st wants to be paddr_t while the 2nd
wants to be unsigned long (and pfec below unsigned int).

> +        struct vcpu* v = d->vcpu[0];

* and blank want to switch places.

> +        uint32_t pfec = PFEC_page_present;
> +        unsigned int page_order;
> +
> +        uint64_t gfn = paging_ga_to_gfn_cr3(v, cr3, ga, &pfec, 
> &page_order);
> +        domctl->u.gva_to_gfn.addr = gfn;

Blank line between declaration(s) and statement(s) please (and not in
the middle of declarations).

> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -948,6 +948,17 @@ struct xen_domctl_paging_mempool {
>       uint64_aligned_t size; /* Size in bytes. */
>   };
> 
> +/*
> + * XEN_DOMCTL_gva_to_gfn.
> + *
> + * Get the guest virtual to guest physicall address translated.
> + */
> +struct xen_domctl_gva_to_gfn {
> +    uint64_aligned_t addr;
> +    uint64_aligned_t cr3;

This is x86-specific. If it's meant to be an x86-only interface, then
it needs to be marked as such by suitable #ifdef around it (you'll
find other examples higher up in the file). Otherwise, if it's meant
to be generic in principle (which I think would be better), but
implemented only on x86 for the time being, the name wants to change
(e.g. "root_pt").

If it remained "cr3", you'd also need to clarify what the non-address
bits of the field mean: They hardly will have their CR3 meaning.

> +    uint64_aligned_t page_order;

This certainly doesn't need to be 64 bits wide. For the foreseeable
future 8 bits will suffice, with explicit padding added as necessary
(though Andrew's request for further inputs may consume some of that
padding).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 07:42:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 07:42:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512226.792055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peWdt-0001rT-2N; Tue, 21 Mar 2023 07:42:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512226.792055; Tue, 21 Mar 2023 07:42: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 1peWds-0001rM-Un; Tue, 21 Mar 2023 07:42:48 +0000
Received: by outflank-mailman (input) for mailman id 512226;
 Tue, 21 Mar 2023 07:42: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 1peWdr-0001rA-0w; Tue, 21 Mar 2023 07:42: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 1peWdq-0004ly-TG; Tue, 21 Mar 2023 07:42:46 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1peWdq-0008Jj-HT; Tue, 21 Mar 2023 07:42:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1peWdq-0001Pk-H0; Tue, 21 Mar 2023 07:42:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5E3miRLP+h6McwjGKxZ+cJitz5yL8o2BOgTvNFJEdqQ=; b=o+2JfreiAk9R0rOO5C6/Q/DXKc
	LYlHi6WvvKhLVdHM8STjcDF81SygK45xUK+bjjRIy5caatYguqdsJwkHy3y0eNcfnjG+PHZf6q8mH
	Gjifp9MSdWZKLFh+BS8gng2QABHR6Bc1zcLSCDT1TGblwIwQ1PYubUwqo0WGwt5apScc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179820-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179820: tolerable trouble: fail/pass/starved - 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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=c2581c58bec96afa450ebaca3fa2a33bcb0a9974
X-Osstest-Versions-That:
    xen=9bf21fcaef07f68ab52d0382ff554616a1cf66d8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Mar 2023 07:42:46 +0000

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

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 179799
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179799
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179799
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179799
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179799
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179799
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179799
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179799
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179799
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  c2581c58bec96afa450ebaca3fa2a33bcb0a9974
baseline version:
 xen                  9bf21fcaef07f68ab52d0382ff554616a1cf66d8

Last test of basis   179799  2023-03-20 02:03:59 Z    1 days
Testing same since   179820  2023-03-20 19:12:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Michal Orzel <michal.orzel@amd.com>
  Oleksii Kurochko <oleksii.kurochko@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   9bf21fcaef..c2581c58be  c2581c58bec96afa450ebaca3fa2a33bcb0a9974 -> master


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 07:49:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 07:49:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512239.792087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peWjt-0002t3-38; Tue, 21 Mar 2023 07:49:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512239.792087; Tue, 21 Mar 2023 07:49:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peWjt-0002sw-0M; Tue, 21 Mar 2023 07:49:01 +0000
Received: by outflank-mailman (input) for mailman id 512239;
 Tue, 21 Mar 2023 07:49:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=03cH=7N=list.ru=valor@srs-se1.protection.inumbo.net>)
 id 1peWjs-0002rq-0C
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 07:49:00 +0000
Received: from smtp58.i.mail.ru (smtp58.i.mail.ru [95.163.41.96])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d5c9ee2b-c7bc-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 08:48:58 +0100 (CET)
Received: by smtp58.i.mail.ru with esmtpa (envelope-from <valor@list.ru>)
 id 1peWjo-00Bbo8-4v; Tue, 21 Mar 2023 10:48:57 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5c9ee2b-c7bc-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=list.ru; s=mail4;
	h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:From:Subject:Content-Type:Content-Transfer-Encoding:To:Cc; bh=rm4lFmRhnhCtpFnCGdOmtaxQPpjHbE0PTOio5aX/mjg=;
	t=1679384938;x=1679474938; 
	b=KkBzjNnNIBdUutiDxbTZGgS7huk458cwkaeYwRc5f91jSFnqYUC+AoK8j/jjfD949a09gIoc3QkLkdYgMKQywI5QHh2Xo+2113iMtFCMumOXiQo7DJVbfBYyPDSmfc0IOaK7RPkFw/vPw5DdSpKkJOD4cFDJeh81VGeVsi6QITkeFyGsh2V90QDp4Xfz+0QaWRiHKqz4cJqCYspqeHuw7Js0MUDSup8khK2ZDZzmbgU23m9E3tpWYkXM+YRQF1TqwDy9zKpBqwTbBnfdzXU1qYnt/eG9NP+b+ttthYUNXWgHQrEiHBy54RZ6wdhwnqTJIlVuXvgK7uiVv3/Ebb0mTA==;
Message-ID: <d6c137a1-4662-68ef-1ed4-8e9355e0290c@list.ru>
Date: Tue, 21 Mar 2023 10:48:55 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
Content-Language: ru, en-US
To: Tamas K Lengyel <tamas@tklengyel.com>
Cc: 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>, Wei Liu
 <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Dmitry Isaykin <isaikin-dmitry@yandex.ru>
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
 <CABfawhncTLzRvHYF3SyhdidfobP9PB3YOZ9oTjRREjKs07KtXQ@mail.gmail.com>
 <c5ea0f53-8cc9-509e-6c82-deea00f1ed74@list.ru>
 <CABfawhnRmGwB4VTx2i9Wg2c8dfyKqU5zM6MnWsMHBOfXA43+qA@mail.gmail.com>
From: =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg0KHQtdGA0LPQtdC5?= <valor@list.ru>
In-Reply-To: <CABfawhnRmGwB4VTx2i9Wg2c8dfyKqU5zM6MnWsMHBOfXA43+qA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp58.i.mail.ru; auth=pass smtp.auth=valor@list.ru smtp.mailfrom=valor@list.ru
X-Mailru-Src: smtp
X-4EC0790: 10
X-7564579A: B8F34718100C35BD
X-77F55803: 4F1203BC0FB41BD9303C7CA6F8B0D1AB35EB92D1D7235ABBB2D71FE7B71EFC36182A05F538085040B3B2A4491582B9D0B4409C5E98B4AA487321488680DBAA986769183B56D8482F
X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE721AF84DC1D70954DEA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006372D850D7477D401F58638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8ABF722410259389B709A486A888324376F9789CCF6C18C3F8528715B7D10C86878DA827A17800CE7E4DF6D1C10F22F599FA2833FD35BB23D9E625A9149C048EE9647ADFADE5905B128451B159A507268D2E47CDBA5A96583BD4B6F7A4D31EC0BC014FD901B82EE079FA2833FD35BB23D27C277FBC8AE2E8BE1488AC3D4DED311A471835C12D1D977C4224003CC836476EB9C4185024447017B076A6E789B0E975F5C1EE8F4F765FC69C563AEBEC0BF273AA81AA40904B5D9CF19DD082D7633A078D18283394535A93AA81AA40904B5D98AA50765F790063792C1D1031C6F1331D81D268191BDAD3D3666184CF4C3C14F3FC91FA280E0CE3D1A620F70A64A45A98AA50765F79006372E808ACE2090B5E1725E5C173C3A84C3C5EA940A35A165FF2DBA43225CD8A89F9FFED5BD9FB417556D8C47C27EEC5E9FB5C8C57E37DE458BEDA766A37F9254B7
X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D3416EA6E382A5BB176B748332226D92AABE31E2C7F6FA447C936C81C9F7B47CAB05B8AEC4CF85C180B1D7E09C32AA3244C2F761FAA2E72069B50725F6FDAF3CE9A60759606DA2E136AED98077840A144B9
X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojrPvsFeLNXrWN08JvUjIaRw==
X-Mailru-Sender: 9422C5FC7C00AE69302EDEBB3FCEDF4FEC27E2FA55CDC1951FFD25A93A0411793AB249A19D58F90376E790B0992C7B54B52423DB74AF18EABD4DCABF7D1B4669C77752E0C033A69E3453F38A29522196
X-Mras: Ok



21.03.2023 2:34, Tamas K Lengyel пишет:
> 
> 
> On Mon, Mar 20, 2023 at 3:23 PM Ковалёв Сергей <valor@list.ru 
> <mailto:valor@list.ru>> wrote:
>  >
>  >
>  >
>  > 21.03.2023 1:51, Tamas K Lengyel wrote:
>  > >
>  > >
>  > > On Mon, Mar 20, 2023 at 12:32 PM Ковалёв Сергей <valor@list.ru 
> <mailto:valor@list.ru>
>  > > <mailto:valor@list.ru <mailto:valor@list.ru>>> wrote:
>  > >  >
>  > >  > gva_to_gfn command used for fast address translation in LibVMI 
> project.
>  > >  > With such a command it is possible to perform address translation in
>  > >  > single call instead of series of queries to get every page table.
>  > >
>  > > You have a couple assumptions here:
>  > >   - Xen will always have a direct map of the entire guest memory - 
> there
>  > > are already plans to move away from that. Without that this approach
>  > > won't have any advantage over doing the same mapping by LibVMI
>  >
>  > Thanks! I didn't know about the plan. Though I use this patch
>  > back ported into 4.16.
>  >
>  > >   - LibVMI has to map every page for each page table for every lookup -
>  > > you have to do that only for the first, afterwards the pages on which
>  > > the pagetable is are kept in a cache and subsequent lookups would be
>  > > actually faster then having to do this domctl since you can keep being
>  > > in the same process instead of having to jump to Xen.
>  >
>  > Yes. I know about the page cache. But I have faced with several issues
>  > with cache like this one https://github.com/libvmi/libvmi/pull/1058 
> <https://github.com/libvmi/libvmi/pull/1058> .
>  > So I had to disable the cache.
> 
> The issue you linked to is an issue with a stale v2p cache, which is a 
> virtual TLB. The cache I talked about is the page cache, which is just 
> maintaining a list of the pages that were accessed by LibVMI for future 
> accesses. You can have one and not the other (ie. ./configure  
> --disable-address-cache --enable-page-cache).
> 
> Tamas

Thanks. I know about the page cache. Though I'm not familiar with
it close enough.

As far as I understand at the time the page cache implementation in
LibVMI looks like this:
1. Call sequence: vmi_read > vmi_read_page > driver_read_page >
    xen_read_page > memory_cache_insert ..> get_memory_data >
    xen_get_memory > xen_get_memory_pfn > xc_map_foreign_range
2. This is perfectly valid while guest OS keeps page there. And
    physical pages are always there.
3. To renew cache the "age_limit" counter is used.
4. In Xen driver implementation in LibVMI the "age_limit" is
    disabled.
5. Also it is possible to invalidate cache with "xen_write" or
    "vmi_pagecache_flush". But it is not used.
6. Other way to avoid too big cache is cache size limit. So on
    every insert half of the cache is dropped on size overflow.

So the only thing we should know is valid mapping of guest
virtual address to guest physical address.

And the slow paths are:
1. A first traversal of new page table set. E.g. for the new process.
2. Or new subset of page tables for known process.
3. Subsequent page access after cache clean on size overflow.

Am I right?

The main idea behind the patch:
1. For the very first time it would be done faster with hypercall.
2. For subsequent calls v2p translation cache could be used (used in
    my current work in LibVMI).
3. To avoid errors with stale cache v2p cache could be invalidated
    on every event (VMI_FLUSH_RATE = 1).

-- 
Best regards,
Sergey Kovalev



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 07:59:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 07:59:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512242.792097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peWu9-0004bt-27; Tue, 21 Mar 2023 07:59:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512242.792097; Tue, 21 Mar 2023 07: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 1peWu8-0004bm-Vh; Tue, 21 Mar 2023 07:59:36 +0000
Received: by outflank-mailman (input) for mailman id 512242;
 Tue, 21 Mar 2023 07:59: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peWu7-0004bc-Fj
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 07:59:35 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20609.outbound.protection.outlook.com
 [2a01:111:f400:fe13::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 511d5cc1-c7be-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 08:59:34 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8890.eurprd04.prod.outlook.com (2603:10a6:20b:409::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 07:59:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 07:59:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 511d5cc1-c7be-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JZBvULcIMhto7xLHrq+sRo/lV0f2S6xiEXPTBCW3sZTTMWzbQVfbTn5Si9ydGuMb3yVz4QNJx3qSGyX64vY88INQDa3L9YC/9G8A6WS1b7l9mYfxtlrlc2CfRlz2PFcIpjQh8ftKKy3Gc2wGOx0WQoWjU4EHdWyTLU23cf84NUapARlenHHJPFcPI58BxN/90N/gLGOlldSJ9lFPiWxIWUKw98kTe6IFnAYviDd+7DEkno3gly1wbiZQg0wcWEriLhADhD+EdZZS2dRJ19ok7GDVIx/IR7mlybcNARqGIoKB+Q6bX1ETgHXkFIBnUX4EaY8k7SuPq/s0bUfhGQ7F3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vQYifz2OlWKxooXUkRR8VTHS7EPBZTPD+DSl5TxfZl8=;
 b=nZghbGsaasHEZIxVT9CFPgRREuxv7UMCuSAStch0bUrD0SAZEdJiZXcSbU2t7ppy/1oYwJfULZbYqDdVaSXaXesixrX/K0gocQmAG82xf22px+VkYpAfhTiR81sHR44LlKdc20rXn5ibgX0jZoODytE2CR+DXPVAvislTTDJ6LBiIha8C1/GhDkiLSHW7MQ0Usyw8PN4gMNyEp0RY8Hs6rsvGOmx2dBMsl+VJy7RtEM7oKID3jQbRLpoZqhdHm005YKicaygPw9C616MvBCRgwqjniiKVzZKoGWnySBeK/7qzNHoiiSokNiMfSGg4dVUx1fympLb/0g3crgiXT3waw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vQYifz2OlWKxooXUkRR8VTHS7EPBZTPD+DSl5TxfZl8=;
 b=oFX6EaBA7gbe9Rmbc50Ax8NrYjZma0vaMJIQthfKzt2bCCxj5Je37UhjqvJ356HgK1fteNEZSOOkRIxhKUoI7pVsMT6jJIsfWaPJ2uJeOuvLnBLxSFF21TRZG/bqdjJ6U1HRLVgKc671dpwCCXJUgTfC9khg4WVdhbZ41MAJcM2Ihu+80rhFwmFRqM5xxmgyj1iIO9bjtz11/EchrgDjvrAD8lZek1bGggyaic/YMz82ImCWJ8acGrtM/64ctEgjK5tkO41dp6qiPDB4lIIyjvr37m4pQsCY0dyUZ/o1aqbXrLZjE803sFFYcFIqE7skPGuD9su2KzLsbUDkzmFXiQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8e247141-a210-64c5-3831-a39f252de1e5@suse.com>
Date: Tue, 21 Mar 2023 08:59:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86/vmx: Provide named fields for IO exit qualification
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>, Kevin Tian <kevin.tian@intel.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230320182052.1831486-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230320182052.1831486-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0008.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::18)
 To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8890:EE_
X-MS-Office365-Filtering-Correlation-Id: 6ef1cef8-c7c2-4c40-f51f-08db29e234bf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LXOIkTmGKEcYsfCoSNMGGJgc1NbNsEuXTqxf7iB3aFv+j883RZsVtHx8/CSInhSc0fo/aBPd9BINO3nb53eh2W56jzXBKXuEXdlmAv2OqQHygoBRfWgceh/WXsPVog/t+oa7j+4RXchTanJL6to93if++bWLxIIvTUkz325lM7JrFjeUw0mgeUDzx6L3q0gXKwc7WrJOb3yCsvOUIQq7UnjZrm1xyTp/0KEGUBhTKOmRMc9qX+/h3M+1X7MqPb1y4jHzXzXzoNHEjXy6ebmYxOjlqy1yCQQxzdUIotn3B13WGLS8kSH/rLQNWr3tSxrAb9Ae6S9dPnwP1uo9GkKSrAcw/6C0Fgfzrty3HX/isyfEU7F3hpB4j+K8WP/bcjH/Sht3xNeqM/xV/1iClWpA6vlK0WFqhR7KPbY1DITQfO9Qp3t7P0rtPMMY0VTC3cgvJQKCC2pkLVOL58wq8I+22oYT3/d0d4BmJJFSQqgv4yELS3hpqFR8Nm5mOYT8VpF9/wM3StBlKTlvB4RzXBgkDmv4CNWZpEIDRj0mMw3Ta5sAfGJqKCdNTRrjFlC0uZruxCYsx9FGxUmBFu4aX+5Va8Oht41LBxG/ZzSNy31Pc7OGzwkI/Ag0aidVFqBQOV11/x/cQ4j+luOF9EC0/Vl7n+gI3TxLNOnwNDp2Hhho5oBiJshYqahLjw9KCc4+1jx9/7npzuJ2/DijwVMJvBMkyQ7Z5CLvM2R13jptosm+i64=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(396003)(136003)(376002)(346002)(366004)(451199018)(31696002)(86362001)(36756003)(6506007)(66556008)(4326008)(41300700001)(8936002)(5660300002)(2906002)(66476007)(478600001)(6916009)(54906003)(8676002)(66946007)(316002)(38100700002)(53546011)(6512007)(6486002)(26005)(186003)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1JFS0g4VHByc1ExYmpIdDN6NU5IdExhaU9SS0xQUlY0Umlwc01acU9jREhF?=
 =?utf-8?B?RDVjUkN5bzI4bHRvZ04vQUdCSEQ1aGhGUEVZMXl1QjVkZ1FIdTB3T1RrUUN1?=
 =?utf-8?B?NElPZjZnaUFveEpKYmZRakpIb2VIcWhvbDlJTW43SFFRN0o2TS9UWTJUMThX?=
 =?utf-8?B?emtUTnhiNkdYbCtDakd4UFVaOWd4NVcwUWQ5K3BlVTV1cTN3bjc0eGYzejFy?=
 =?utf-8?B?SnZIc21UcjNhN1RkWDg2TEM2MkV2V1duaVlVZFZXaHdtY0IyeTlRc0x5NDBz?=
 =?utf-8?B?MkZhNTA2SWdIbHUrK2JnWUNOS24xV0h1aHBhV2tmRHg0Z2hkdkRKWnlCTTJl?=
 =?utf-8?B?L1E4ajRXZkVqNWtQNGtBZGhDQlFCdTNCaUJjTVJOd3RuOThpeFdsTUtNWHhX?=
 =?utf-8?B?UWtIbWtpOTlXQU9Ia3p5bVhIbTZBTU1KcU1oVW13Z3JnTWZZUjZUNDE1MWRB?=
 =?utf-8?B?cDIzWHhhNVphTUt4OE1CWVE2T0liQ0RnUjBHaWJPdVM0bE1PbmQyUjI4d25U?=
 =?utf-8?B?ZmFyNUd6MHY3TmlzYmJPVjZHdUR1ZmNRSnpPZDBSL1ZFUnpJYmVxcGo1cHFk?=
 =?utf-8?B?aGpPVTZLMWx0T0QxUSthdUVNaUt6ZytQWXJzSDBiajd2V3NDSFlmVW5xdXhM?=
 =?utf-8?B?VGRybDc5UGRocTVhbndhNlNqSzdUSkp0Y0ZKV1ltd2RtSVRyd2dMcnRjdTB0?=
 =?utf-8?B?WFZHSzRMemNZOEVtVDgyZ1B6cUtCK25xNnBoRXR0VGxscFpjdGd6bUEwQ3FF?=
 =?utf-8?B?QVYwTko1N2o2RVhITS9NZlBmTFFzYng1WVJ0TGRjcGZycENTSGtKdmkyNGdT?=
 =?utf-8?B?TGVjZHhzQ1RmczNjMzI3SmFRRUVUNUFXMW9EQWUzdUcwakdFWjVQdzNTWjl2?=
 =?utf-8?B?Ny9iVEtCRmVFUEh2cHFBeVA2NU00OW9yWGtPejBLMDdkV0VTTnNZemgrQ1oy?=
 =?utf-8?B?RGlTejd0Yit5TnhvRnhZaFZ2VUt0L2M3VUJ2c2pxNkRXL0NFMkpzdWVaUlpF?=
 =?utf-8?B?S0E3SDdnM1NSNDE0WTRYTmp2UnRUWjczMjlRR1NBS2hQamhuUnd0Wm0rdU1n?=
 =?utf-8?B?VUhuYzRQODB4cE5FY3JIU201Lzd1UlFJcTUxMDZvc1ZrU0ZpaXo2aWx2WVh3?=
 =?utf-8?B?cTh4U2dMYVdhZzFHcTRVMXQzamEwYTVCc0drUjQ4WW9zWjFKblY3L3JMTk5n?=
 =?utf-8?B?TWl2UFpyTXBJWnQzMk40ekhxYlorQ0RlaGs1d2Vac2oxMWpDZENUVmJOZGVr?=
 =?utf-8?B?M1ZJdTBUZDk3RGRTbjdVbVRjc0lzYVVoamZWQllxMnl5WFZwNEphcWpNTEpi?=
 =?utf-8?B?MmpCVlc1UXNmVmc4SFN4SHFiNTlTSUlnRFhZdHIzYXZWajBMdVVEcmhCMy9M?=
 =?utf-8?B?bTdBb0ZOYlN2cmcxLzhwMndPVG5wdTRLVDlQVDNWRnIzVUhMY0h4Q2RJS3lM?=
 =?utf-8?B?RG1OZGdENzZiT0p1TXpIcnQ0OWVlNEpITDRmNVllc01lajBuTGdKNklSc2pX?=
 =?utf-8?B?QW5JczJRRk05bXRRQXFoVVNIWnY0K0hhVjQ3RGlHK21lTHVCcDNmT3g3N2xF?=
 =?utf-8?B?aklxQkQ2YUptL1NoZHYwV0tMbFZCYVhpY254K2RaZ2hMMjZHNTA3cFQrNmp0?=
 =?utf-8?B?NWtzdEZYT25jQTVCYjVqalB6OXk0Z3pHTktrWG5lc0Jhc0Jqdk1RdnBqOTY3?=
 =?utf-8?B?VTh1Y09kUWJXMERTR1IxWW93KzltY3VaakQ4WitXM1hYUEh4eC9lZlB1MHBL?=
 =?utf-8?B?V3VVY0RMdjV5VFJFU3FTUlNlT2pLdEJkc0QzYVQzcnF1cjFCWFFySFdEa1RX?=
 =?utf-8?B?RDdKekVIajZKUGhHM3BuNmJNakhBQzN3QmllbnloaGN0YmZnYnF3UVJXU0Fh?=
 =?utf-8?B?KzhoZW9PTGdZL3MvaFFBOE91VzU4RUVsU254ZnFYOUI4WVYvRnEySDFxTjU3?=
 =?utf-8?B?YjZFOW9mVVh0RlhtL1dGd0NReXlUWnNQUTFLVVJnemlPZXRQKzMvOXhaZ3E0?=
 =?utf-8?B?bDdYajNZalRTQnF3WGkrNkFKdmxaVTVCZWMwbTB6SHNLVkF6Z3lZMVJJTHpr?=
 =?utf-8?B?eGxBbzhMK2NjdEF4ck9NN0ZCWGdrS0ZKQ3lpelpuS3hRSG91ZVpPZDdIWXZ2?=
 =?utf-8?Q?LPbNfogAFFJ3ibudQ1R/64tUO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6ef1cef8-c7c2-4c40-f51f-08db29e234bf
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 07:59:32.8806
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: p2sbTTTAAPH1jUXt8/USCnvS/UOvf1xs81fQUNvRPZuqpZlyI1O4o6IjOoElavIXUWObsy+AzReafkK1abEoGQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8890

On 20.03.2023 19:20, Andrew Cooper wrote:
> This removes most of the opencoded bit logic on the exit qualification.
> Unfortunately, size is 1-based not 0-based, so need adjusting in a separate
> variable.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -4560,23 +4560,37 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>          break;
>  
>      case EXIT_REASON_IO_INSTRUCTION:
> -        __vmread(EXIT_QUALIFICATION, &exit_qualification);
> -        if ( exit_qualification & 0x10 )
> +    {
> +        union {
> +            unsigned long raw;
> +            struct {
> +                uint32_t size:3;
> +                bool     in:1;
> +                bool     str:1;
> +                bool     rep:1;
> +                bool     imm:1;
> +                uint32_t :9;
> +                uint16_t port;

... I'm not sure this is sufficiently portable: Whether a bitfield of type
uint32_t followed by a non-bitfield is padded to fill the rest of the
containing 32-bit field is left unspecified by C99; this particular aspect
isn't even "implementation defined" (afaics). Therefore I think it would
be better if either uint32_t was replaced by uint16_t, or if port also was
made a bit field (and then perhaps also of type uint32_t, or unsigned int).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 08:03:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 08:03:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512249.792110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peWxw-0006a8-1u; Tue, 21 Mar 2023 08:03:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512249.792110; Tue, 21 Mar 2023 08: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 1peWxv-0006a1-VV; Tue, 21 Mar 2023 08:03:31 +0000
Received: by outflank-mailman (input) for mailman id 512249;
 Tue, 21 Mar 2023 08:03: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peWxu-0006Zu-Mk
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 08:03:30 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd9c52c9-c7be-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 09:03:29 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7686.eurprd04.prod.outlook.com (2603:10a6:20b:290::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 08:03:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 08: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: dd9c52c9-c7be-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VYyIf9rywEStpQAfDz+JReRR23sd/fbD6t1nEtTtTpHJI/guLZq15pab4XdJle4/nybb4fMF4fActAq2H3Wo+zZHB4M1so7DF86ZNm6vm4VPAz0P6MfS7Z0ef6soP7bor6NwQir+ThYGJNx/UeXPgAB75H1RcRlKZMoJW8u5GS4RFjDlrFlBxyd69+SzfSt3ghM6WLpEibZDqK8B/3hn+PeZ+tVhcxWbcNzwvJI4S9mwgOkO6rRIXbUxNOiUkpLHwJG9MXTTEjUSjJQ3pdcNY6WPREtQ7er3rY4Vzv1ucop0TGpSsM9I7bYu+V415///smjZyVLHpVITw5dRh+dYbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=koRo8zcUEQZe8q+4HcGJaqbTevf8UXXSvHLf3tkcOw8=;
 b=fu4+Hru9KqBo5HSC1vUoorlwF9OwoOshWQZyQvPpLcoiNHKMJ1RMcIIV0yd3T/2Re3VNJEiLUO0/ocgujR1ZP0sbIVC9D+3PITsiWSvr3zWVoXlZJ4FybAF2lcCqcZJeSCThHPzhShCj7lYUalLhKWauCfuhGJbrzijh1AruzKUmSi9Y5SrrNsO+3WJrZa1mtdzmR6UKo4PbYJ3oy1ZxEfZLiaDxakFK2k2gdq5pToHAlmyJnTHy8NmbH6Ar3bGUAySlZO7BjelFLbZkcs862PKnoDL0XXISCWkqyNISTbSNa1hvX7neToerWzFOZPU2p3m5ImbFvVzs9BPsQSVCGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=koRo8zcUEQZe8q+4HcGJaqbTevf8UXXSvHLf3tkcOw8=;
 b=RPytEYVl+AyMK6jaDKEBeKaIL1bjEwtO4GNnrVAfvnbDfQIf2g6tbjFrW6m/WoN3JxCfYUM+wFSsC9KmRBhPfna2fJ1YfXe6FmYB9fRd57HMJYVTFP7st/TBOIB/ti2/I9Kuva2YxnZxrhsNuaYmS8ZsYRpOcnpcauVlJ9vc2WFTk3/WsWIop1/LHI4zDGyK5EJNnq7+svHQZNyAUdPaOtG6nSUtauFhxldQBtwcFD/3zEU76QDCecqSTOBGaJWSJjELEnYZRVNjmvrFfBAsHrQsyvMMus4LqDqdJ2uOHQKJHZkq9VgCVRIaa9SZOjv9volMW+I9tfLptVEA3OfHxA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2d2193ff-670b-0a27-e12d-2c5c4c121c79@suse.com>
Date: Tue, 21 Mar 2023 09:03:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/PVH: avoid 32-bit build warning when obtaining VGA
 console info
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Juergen Gross <jgross@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0022.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7686:EE_
X-MS-Office365-Filtering-Correlation-Id: 2211c9b2-63de-4972-f7ec-08db29e2c0b3
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:
	H4TgTkxGWNDNgYyBCb14pieDAOyV6MIeGuQdoka7ipQM/Rqzt7WRisqB8UA9iWLMPxp5sSAZ8ypz/dnb7eieJiNy7v6sr2MZscwMxExPrxCxBtUPBgg72grLQz/6RJeh3Cizwd+tgrzHYT05vMRxpC3Wxew+CZcLqkqWxtPJV4YY5a/cY/mNRLYipCMqzzFo37V1vUhcyYQVbn7kEur/G3g1GinwR29UM0S6HxxUlUchHH0WFx1isxMp+9x14YRlGMKgOStUFy4tncLdKf1WWQEAHGBrZYn3cQSR9ScEjd1zOKxKB2C1z3RWkqxQd64hjr94b3mulKm0RCoqxYNkQXzUMbBqHqQx/L0dg/EHdj80LUq5gjQ9cY5d4Z9IZet606+YdKJtXn25tEmmV8khRhmW7PIhzw/lR6mZ0DBNGJr7EOc05MdO5ULXa3y4hS8POCoaqbA9tkzAzZIcGn/ouuM/9W0ULLU7Pwd96s/msciHSGFA2Kzt05h819sfyGXzpl3zH42NjSoeVJrwNJMyh7t6Mzw9IZ+3Py4JWo4a+N26SkayGn2mqop7CLvwbHmZcS7jrkXd3hQiR4soHUFFyV0QKMlDwHQRmc6dKGV3zTPyb1qR6c4s3BrVySnWLgxPTgZCS1mVw1sdFyZsyqwMPbImVUPuKj3+ACyS1NgoeNral/4gsblrMRPVGnMA+7ibbv/D7HYkkPetQgWU1vw/mE5cBGeYauePNZurjEuCPQk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(366004)(39860400002)(376002)(136003)(451199018)(8936002)(5660300002)(4744005)(41300700001)(86362001)(31696002)(36756003)(38100700002)(2906002)(4326008)(6486002)(478600001)(2616005)(186003)(6512007)(6506007)(26005)(31686004)(54906003)(66476007)(316002)(8676002)(66556008)(66946007)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aFk1ZG4yeS8xQlJVWlQ4cjNmSk4rTDZ5T2lRdFdvK1dwc0lqTUZvd1lUMHJl?=
 =?utf-8?B?N2JCKzRKdStRZk4yMFZUQW9aNVEwTElkdGxUY0pIWm9uOFp6ZnRZVlM1am10?=
 =?utf-8?B?UDhEeER3c1ZpcHRZdENCMFVsQWxXVFl1cWwxZTI4UnU0ejJjcjRqN2o5R05m?=
 =?utf-8?B?a1dUaTYyNUlMQkdZTUhBUFFKWXZpd1AzY1NoWGpDR0F5aUlzWWFxQ2lxR1FU?=
 =?utf-8?B?SXRjQXNJWlpaL3o1YTMvVFl6SkU4SGpOQS9Ybk83a0RxZzNMell5MUF3eUpM?=
 =?utf-8?B?MEx0U3RrdlA3cWlsalU5VWN3M3d0UUlNV3ZzYWpQdEJiSjg1SXBEMHdYRXVZ?=
 =?utf-8?B?MEUvNjN4b2pIK01rZHMwa2ROaktwRmFlanFFV3RlMUx5SUJoNkVTQWlPOE9X?=
 =?utf-8?B?dHR1ci9lbjJabjI2d3QwcEY3MCtqcmJHSmpGOWtQNFE2elo5ODJoc1VWb1E0?=
 =?utf-8?B?N2tWM0hLU3V3T2RubUkxMFhFb3ZIcERYL3lZa1F6MTI3RncxejFVZGp1bG4r?=
 =?utf-8?B?d011Ni81TmRlTm1KTUp0TkJickhaZ0gySU9ZT2lLTElwa250L2J1MW5tOWYx?=
 =?utf-8?B?RnFnWEZGOCtXZWlWU3FFbm9LMnYxL09YM3J2Q09xL29BVWtSQitHOTZuekxJ?=
 =?utf-8?B?U3Y2OEFnRUFlVWFVZXFSK3NtRlkza3BDVmNXR2FucTBzRlJzNmlJOHVwQ0Ru?=
 =?utf-8?B?QjdJdDlYaEFJckRtUWErNGphRFlSK2Z1MXBkYTFxYmVPc2ZzblNoa2M0RTZn?=
 =?utf-8?B?MFdRcWJiZHYxVmJDcXR1K1BDZmkvV1FQU05HdlgwcWVRUDA1TEhYRjAzbFBm?=
 =?utf-8?B?bk4rVytmQ3p4RmRaU1BHajBSb1A3MnY5cnR5UHJuUXdoZW9hRFFXN25VREZi?=
 =?utf-8?B?Sk1DNHRqTkpyMkJ2ek84N21zSDB1THR4TUVSSzhoYnNiRVgwdm1HZEQycGpP?=
 =?utf-8?B?ZmV5Z2VnM0Q4N0J1NHd2U1FkbXBRNmtVTERZSHczSnI1Ry9EcGN1NlhRbzRs?=
 =?utf-8?B?Y0pZZkhBMW41Rk92UGJjcnhIN0ZudXA5QmxEQ2N0UVhGcWxFM1N1VFBpLzZs?=
 =?utf-8?B?S1hXeUlFSjRaUnIzVm5tbSsvTy9Lb3VrSm1SOHh4M0ZIeVYxd25oSDdsaWVa?=
 =?utf-8?B?WjhXTGNwNXFwck9YYmg3VDhRUXEyMGduK3F4UlJRbkVHUkJST09CYWFWQmx5?=
 =?utf-8?B?V2MySmZ4REZXMWNsNGVFUHF6R1c2MkdtOW1tODYzMHlHMloraGlWVDBPelIz?=
 =?utf-8?B?VkJDcUJUV3JYeUkzQzBtSnE1NDJNUHVaVTZCRUhkVk9RTzYrVWE2aTRhOFlU?=
 =?utf-8?B?SEtxczN6enBqMFVYMVdDOFBwUHN3cU5MWWZpVDJ1R3VEVDlONkppcnpVanhH?=
 =?utf-8?B?WTRJbDF1Vyt5azhMbTk1Qk5vZkJpdmNhamdDR1ZXcnloUlNLeE8wZmFPUE5D?=
 =?utf-8?B?SXE1RnlISmNFTFprUDFTUU9KWHJXQ3pIaW5URGxBcEVybUlrSDM4MXdUNmo0?=
 =?utf-8?B?cXBaeWYyazJkSTRBZnNUcG9jUFB3ZEtHK09CRXdzRTAxQmFyWkxqT3JjMkJB?=
 =?utf-8?B?U1RNQzg3b1NEa00rdnZ6ZnRUZ3B1b1cyaHl5cGtORGNtRksrMHRGcnpyUHcv?=
 =?utf-8?B?SFVGWmczWnRleGdmTnJWU0tvS0lpOW1INDlFRGZNNE9YYXVhWHBMdjlvRDc2?=
 =?utf-8?B?cmk4NHpPamtTQkxTY3MzMlBSQitFMmJPaHZ2SWUyRW1NTWU5bEttSUtld24y?=
 =?utf-8?B?RVFHNG50MWsxOWo0ekZIZytlRDJOazhXdm5meTZUb3Q5TDM5VktwMFMxYlB2?=
 =?utf-8?B?UW1FaVcrajNtTDVlemw4KzVaMzcveFJwcWd6TTZ1bGJzL1ZDK05TakJvWHRs?=
 =?utf-8?B?c1JwWFl4SUgxZUtYNHR4Z0FzazV2d0JwZXF3RWZhckZoTFg2b0hhZ2R1RlJ2?=
 =?utf-8?B?ajdxc1dXSWc2SGg2eHlURmhZV25hYTNUdTFEaVpXSURCQ2tWdStoNExRQnl1?=
 =?utf-8?B?QnpWeHpLQk5ka24vbXMyQTlJMkE0MW16QW1GekVzZnRrWFFib0pteko0V1FK?=
 =?utf-8?B?Q2FLZUJCa093blhtaHpnMmFtUDhkb1NvMGZEbWxXbHMvRW5EL3I3ZGgxN2Fk?=
 =?utf-8?Q?3HG/fKRLelzSryxWN/K0puTxA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2211c9b2-63de-4972-f7ec-08db29e2c0b3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 08:03:27.7612
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cACM9AGQkgdswCJv8krcoVzhbAa4pqAfOuIokvsDdc5ithA+5ogqx3uKF+VTzR+JZbf4BHqoSEXfM0D6h8J7Iw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7686

In the commit referenced below I failed to pay attention to this code
also being buildable as 32-bit. Adjust the type of "ret" - there's no
real need for it to be wider than 32 bits.

Fixes: 934ef33ee75c ("x86/PVH: obtain VGA console info in Dom0")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -48,7 +48,7 @@ void __init xen_pvh_init(struct boot_par
 		struct xen_platform_op op = {
 			.cmd = XENPF_get_dom0_console,
 		};
-		long ret = HYPERVISOR_platform_op(&op);
+		int ret = HYPERVISOR_platform_op(&op);
 
 		if (ret > 0)
 			xen_init_vga(&op.u.dom0_console,


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 08:08:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 08:08:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512252.792121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peX2h-0007Cm-Kq; Tue, 21 Mar 2023 08:08:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512252.792121; Tue, 21 Mar 2023 08:08:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peX2h-0007Cf-Ho; Tue, 21 Mar 2023 08:08:27 +0000
Received: by outflank-mailman (input) for mailman id 512252;
 Tue, 21 Mar 2023 08: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peX2g-0007CZ-RY
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 08:08:26 +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 8d4a6c47-c7bf-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 09:08:24 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB7147.eurprd04.prod.outlook.com (2603:10a6:10:126::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 08:08:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 08:08: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: 8d4a6c47-c7bf-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lu57ijytlLtm91SPZXOUrKKlnY+Y0onhBScWivPLYjAAvh2cpsGSStZUwuhdx7g11KYyVoYOlQOIc2cH2c6YLpQihTb1bJU1DH0OzNbLXycGnieay8XVL51XaLLgKhG7LJ3sd72tKp6mdyZcYqXjCE0uEBoRaonx2gGYGK3FS1yI1h5bW/VU6jiy6r/VER+G78xr+xewsx5dzN4+NtEkC7mZArEbu9H1jqQVQSJiDtzP9aLLTGEzzNcGXatJ/1R5zmXVGD+p32m129xwQDQT2Dtw5cCITJ0TOjcqEX2jKeWobJbYoK20Y/fxrA+PXP0W+0nBT+lgrayqr2GCmrR+dQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q2/AOBkMmISvTuLIzyxYbeTH30ey/d2N7zX6Zcu19sI=;
 b=bin0p+S04XoMd8swnuX+mdt/fdCA0AzHG83qto3LF2DXf+2AolO0K5rSaFdcgeUEGlPwr3rEWadBYPJdwyf6pK0BxzhYIa502gYUfQmomUe+W1u6BlApWs/7RAs6duWLN19SC+sSSUdN6svrsN+j86KjsUOcfaSdIC0nabDObTSqAfMRSIacTWoe74J9gHey0RRv7N/x6n6b/61Z8up+tbEEtM/ULALbrSuRbl/7XiJxXvvdfINnnzTV5+YUVtoJT5oSMTjzolTqN8TaspGDp47kxyS9rak49XXtfu/pLsBjnlkWM/G1tEFBfMQ7sg/d9Kc8bafPG6Vw/GAqQDZdFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q2/AOBkMmISvTuLIzyxYbeTH30ey/d2N7zX6Zcu19sI=;
 b=q6IuLUmeSKWoLIDlJh2ILwrJyrZZWrb16EtcNYF7Xou3vHS/YxUSFDZibXSx3IV75+imZcJ/yS8PmSA8bKgt5K5OmBQF28LU89Um+m3L7sAs0nrolnvmmui+YrVsPnbPuIwvgg6ZsEQ2Dlt9Nfg1bMVCxwWJHlpHbbBtCaFFXgNRAzV5i6Galo0EhU0BWviy46/nKVnZ6fD4+USMJEaWcYBur9pb3EWiI060G+cjsP5njKYKPl2Emlf3tekrhe7KeCz9nk+6nQE2lxGrlTUypdhve3BJc+6VHJLcqjykqJ7Q42fL5C5Ksmm7GL3D1qAh9JwmdPBMbO3kGV1sEngK0A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <33912bbc-2796-b2f9-1e82-bb88e070fa4d@suse.com>
Date: Tue, 21 Mar 2023 09:08:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN PATCH v4] x86/monitor: Add new monitor event to catch I/O
 instructions
Content-Language: en-US
To: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
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>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Anton Belousov <abelousov@ptsecurity.com>, xen-devel@lists.xenproject.org
References: <1d3e2081fba9a1ce07c3e2a28eddcd6f51d52854.1679348946.git.isaikin-dmitry@yandex.ru>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1d3e2081fba9a1ce07c3e2a28eddcd6f51d52854.1679348946.git.isaikin-dmitry@yandex.ru>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0053.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB7147:EE_
X-MS-Office365-Filtering-Correlation-Id: 745d28c2-513b-4eb4-b2fe-08db29e36ff9
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:
	59FobW9XdqGeXLtKRimm+uJDkCOWjOfrtQcUsfNiBXmqkwWVABssrc9avvbjoj3LCmqDFFK/oKaSRisO38lr93pJ7BdkjELe0ym+iCfqCpy/GqmyI7K5iCs3jhAIye4rAfQNLy+UxIcwOdzNoSjLHDKuzxTy4OQVGNffN0uBUvjCrYf10CxAdQSUkSwOkwMboGWj1q93bVWH1bQsaoEIIgawPfdE2MPFnRu7qIu01R6rrCysVmLKFZfr0tpbvZzcmbhC9u5N1HK7b3x2T1FRLtTvtSfCdHwcoozihoBZR9GEUKNq5zGXufRNl2hI856KHkwL7cRFLdv5TtzS5AuhcpMTGrupiUNrJU+2J2bwGiTDt8hm9+eUHtRJebW90AOdf7F6UyO1deNkrtBHR5/xN/3ByjCzR/oh4klPTX6DM99bZ/7UcHUvh5h2MVtD0cQOa7lkLRPHLYIIkOgKKB8rnJs8tAzIQbfVtW39ITsNQJER5oyADy+gVutKrrJ9hNfUJq7ERZr+nE60qmaEaldOfJWtrjHMZbX3KyRx4pZRdguL3KprU4Z8TJ2SPcBKQ5bPRTmwPnxLMZYrEmG66nCCbhW3p+KS5asUnEkCLpvRHwKRSuPl6GKzV0Ew/43eMdM3zJ38MxSd2jhgE+1pGWx5ufekSSFGz+YrMlXMGprfvust3HhCRCvqqBrY/J/p/5Xqx7nV+6Ggi/QB3hJJR5daYvMb3nMLgvg0u40EGd5LnKX6wmydgpg7/6W2K/iSGqhwHOTxCRN8ToCzNx0Fs1SzOA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(136003)(366004)(396003)(39860400002)(376002)(451199018)(2616005)(54906003)(83380400001)(86362001)(38100700002)(31696002)(8936002)(4326008)(8676002)(66556008)(36756003)(66476007)(6916009)(66946007)(2906002)(41300700001)(5660300002)(53546011)(186003)(26005)(6486002)(6506007)(478600001)(6512007)(316002)(7416002)(31686004)(23180200003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UjA3TDN4cC9Cd05WQUpVUVVSb3krVzRIdWY4TmRwSHBBWGZWSlRRWWFHUEt5?=
 =?utf-8?B?bnNhdGJEVFNmQU5xU01GalJjeldFeWw1M0lPemFyRnlzd21vUUxIRkFkZEU2?=
 =?utf-8?B?bmRXQXRZTHBCc3oxSUxsSklzRFVBOVlhV1JaSFhBakFQaVVZZmhQZWkwbFhZ?=
 =?utf-8?B?MG9jbVEzNGRnUG1MUVZSWmZLY1ZZcjZhVEYwbnVTaGJkT2RVcUd3c1hEZFR6?=
 =?utf-8?B?V0x4b1JqQVdXODgrMnIxVVlnSjdiVnVVb1FpSkh2Y1FsbnAreFB1bVQ1NGxR?=
 =?utf-8?B?ZFlIbVgwdVFMTlMxTFRRK1VsOFB5TXNZS3ZCSkg3NU4veEpYWjAvVnpic0hW?=
 =?utf-8?B?dVlIQ3JSSVF2a0FJSHBRWXB0NFJEYWFtcTFrcm1ib2xZeUp6SHdjVkhtMG9N?=
 =?utf-8?B?Qm4waDdUNU4rSCtSVUljeDAxQndGU1lTODZZMDRCSEtqbEVQdFg2V2NCSWFW?=
 =?utf-8?B?cDdNbGJwYmJmeURCaGJLZ0pWQitLdVJ3a2pPdGN2cWpzb1lZdnR4eEdYc2Ey?=
 =?utf-8?B?RDA2dTF0QnUvMk0yeWpWRFpnTHhleXJqOVV6T1BQYUIwSDIyRTBKNStac1Nz?=
 =?utf-8?B?V1kwUTdLQnRzTk5vU1l3UE5CaXg0MERib0ZQQXIwMDJkeXdtanZMTVp3QlJU?=
 =?utf-8?B?YzBlR2JsVzM2dGJyeXZVQ1RqalgrY201TTg1OWRmRHR4UGYwY0M1eDVqVUd6?=
 =?utf-8?B?YVlWalRQTzBqZ0JhUTdPTFFCOUk1TE5QdWlldFlTNzNhSFFqRDJXcEpmWGF2?=
 =?utf-8?B?eHEyZnkrQ3czbXNRWWFCQ0RSL2owalV4Wk1DL2l6YW9Vek9GUDFjN3ZaTUdS?=
 =?utf-8?B?ckZIM3JzZVc5VmY5TXhLa0tUZCtyZjVGN3BDVndtNFVsbTBET3Jjd1Jib1hS?=
 =?utf-8?B?S2JjaHVlNjdRYjVKcTh0NjJtZmpZdFB1ZUpxRmxRS2craHV6VERVNS9OUnkv?=
 =?utf-8?B?eW9rS2VZWlI4djNiQ2tWeUU1KzYzVlNPWlRyVUNBTnNWd2xiaHB5bkFLWEhH?=
 =?utf-8?B?SzhXdURzS1NUdTM3bWVJRk5rMjZuRmhGVTlpWXJab0l1dFMxQitCK3pxVjAr?=
 =?utf-8?B?Vmo1ZExtK0VrSkhrOFBFRzQxMm5WQmZ2SkNjSVFoQWc4LzJqekNJWGtjZmFo?=
 =?utf-8?B?UWxsY2F3NUc3clNycERJQ29tOTJoRFVTb08zMTlVOFpKbmlzZ3pjVkRVREZ4?=
 =?utf-8?B?VE9RVmhka3VhTTErQzMycjIwVFduV2dQSHVtNlZaM3JiSDF4YzAwQkNML0RF?=
 =?utf-8?B?S2xhcnBlNHIzVlRHam1pNHpMMUtXQy9xVEZkaTQ4ZGpmc096WFF6NzF5K1Iy?=
 =?utf-8?B?QlJnaTltTmd0YXdmejR6YjMzYmRtdnVlQlhGZTM2TlhVNyt3OXF5dVZySlN1?=
 =?utf-8?B?K1A2dkl3U3NzbU43anZZMVBnbURmNUtoRVgxWVRpb0RkZk1MNlJwOTZlVEpI?=
 =?utf-8?B?cGZvRXEwbit4WHRub3NnNGozTzJ2N2RWb1pBL0xKd1dwUWp3QlJlREQ0aUwr?=
 =?utf-8?B?dGlZMzBOaHQ3NFZocy9XcWxpdHpRMHlOV1ZQR3RERVByaDhXR0c0eGZwdXdJ?=
 =?utf-8?B?MSsyVERINThkUWZhL1VzamVzc2ViZWpTbGsrVVhja0pZUkJXTXVydTBUT21T?=
 =?utf-8?B?S3dHSjJrR1FjVWVwSVZNM1dkNVpraXZBYTNmOU14Wm5VdGkwM0hjYjZDNFFh?=
 =?utf-8?B?eEQ0VnMzQU8zYnNaQWxXanFZVnloR0E2azBaOFBNKzZMTEE5REJaWU1WNGZL?=
 =?utf-8?B?bVNvSDBSRDVLUzBBblRsTlc1Ymx3bTlHVEFOWGlvM05OS29GUjRpKzI2SUFH?=
 =?utf-8?B?Y2M5anhoMzh0TmJocXpwODRibWN0RWF6c3VoeWZrMFBPME1zdkdXWFZJd2RX?=
 =?utf-8?B?bmNTQkZ3bzZyVmh2aVA3bFgyZ2xrMkwxVllaaHF6MDdFbDFmSHlFSzg4N2NQ?=
 =?utf-8?B?L1lsR2Z5d2ZaWWMrMzVhUXp6ZVUxTE94dmlDaUVFdVZ1V0gzMGM4ODdNRUE0?=
 =?utf-8?B?VWJyYnJPYTgxSEphWmk4dW5jTnFMelRuMVdudGQyWFRUcTlhQmR0ZTgxcmNB?=
 =?utf-8?B?dkFXc0xuSGNKbTZaRkJpWm1mSHZCRkw5aVkyODR0dVRCWFQ1WGg1ME5weFBV?=
 =?utf-8?Q?6j0f6y5Y8BGVU3OQpVnxd7Phu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 745d28c2-513b-4eb4-b2fe-08db29e36ff9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 08:08:21.7725
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EO0uJiM6apIxsdetv2c2zf3ZhsXZXa2K4L5ltgmyJyVu1ZbTLzkyPiBZf8HRQWCEFnq0JmqhYiLRmAYtAK+GyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7147

On 20.03.2023 22:56, Dmitry Isaykin wrote:
> Adds monitor support for I/O instructions.
> 
> Signed-off-by: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
> Signed-off-by: Anton Belousov <abelousov@ptsecurity.com>

LGTM now FWIW, but this part ...

> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -4560,8 +4560,24 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>          break;
>  
>      case EXIT_REASON_IO_INSTRUCTION:
> +    {
> +        unsigned int port, bytes;
> +        bool in, str;
> +        int rc;
> +
>          __vmread(EXIT_QUALIFICATION, &exit_qualification);
> -        if ( exit_qualification & 0x10 )
> +
> +        port = (exit_qualification >> 16) & 0xFFFF;
> +        bytes = (exit_qualification & 0x07) + 1;
> +        in = (exit_qualification & 0x08);
> +        str = (exit_qualification & 0x10);
> +        rc = hvm_monitor_io(port, bytes, in, str);
> +        if ( rc < 0 )
> +            goto exit_and_crash;
> +        if ( rc )
> +            break;
> +
> +        if ( str )
>          {
>              /* INS, OUTS */
>              if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
> @@ -4570,13 +4586,11 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>          else
>          {
>              /* IN, OUT */
> -            uint16_t port = (exit_qualification >> 16) & 0xFFFF;
> -            int bytes = (exit_qualification & 0x07) + 1;
> -            int dir = (exit_qualification & 0x08) ? IOREQ_READ : IOREQ_WRITE;
> -            if ( handle_pio(port, bytes, dir) )
> +            if ( handle_pio(port, bytes, in ? IOREQ_READ : IOREQ_WRITE) )
>                  update_guest_eip(); /* Safe: IN, OUT */
>          }
>          break;
> +    }

... would preferably be re-based over Andrew's change to use bitfields here
as well (just like was already done by him for SVM).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 09:06:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 09:06:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512265.792134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peXwz-0005ri-1o; Tue, 21 Mar 2023 09:06:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512265.792134; Tue, 21 Mar 2023 09: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 1peXwy-0005rb-VO; Tue, 21 Mar 2023 09:06:36 +0000
Received: by outflank-mailman (input) for mailman id 512265;
 Tue, 21 Mar 2023 09:06: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 1peXwy-0005rR-1q; Tue, 21 Mar 2023 09:06: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 1peXwx-0007Ke-W3; Tue, 21 Mar 2023 09:06: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 1peXwx-0003YI-J2; Tue, 21 Mar 2023 09:06:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1peXwx-0007Pd-IP; Tue, 21 Mar 2023 09:06: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=dhaZxWUzoxw5aKUosK9BLXJYLz7ICYJkoc7Ya5QnKck=; b=HzzOuLvsLxyYnP3gbyh0ttjAvj
	bmylk2jEXMOfrqTSND1Ce7FaF/aXxo7dvLsJQfkT4DPlfvZGByB258lu2ithevRsNYXcOeWNb7QWh
	hdvnb8cVui66M/asmxS05O1z6Qp0RIa6jHKrYaPWcjHiCfoblzYccw6htcvHeixGFGe4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179832-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179832: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=494127613b36e870250649b02cd4ce5f1969d9bd
X-Osstest-Versions-That:
    ovmf=b7a8264ae4704f781e70cc44dafdf07e4e5e690a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Mar 2023 09:06:35 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 494127613b36e870250649b02cd4ce5f1969d9bd
baseline version:
 ovmf                 b7a8264ae4704f781e70cc44dafdf07e4e5e690a

Last test of basis   179808  2023-03-20 11:40:43 Z    0 days
Testing same since   179832  2023-03-21 06:12:14 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-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
   b7a8264ae4..494127613b  494127613b36e870250649b02cd4ce5f1969d9bd -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 09:36:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 09:36:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512274.792146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peYQA-00018B-Ef; Tue, 21 Mar 2023 09:36:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512274.792146; Tue, 21 Mar 2023 09: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 1peYQA-000184-Bn; Tue, 21 Mar 2023 09:36:46 +0000
Received: by outflank-mailman (input) for mailman id 512274;
 Tue, 21 Mar 2023 09:36: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=gvkR=7N=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1peYQ8-00017y-DK
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 09:36:44 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20629.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e27175ed-c7cb-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 10:36:41 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 IA0PR12MB8085.namprd12.prod.outlook.com (2603:10b6:208:400::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 09:36:37 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 09:36:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e27175ed-c7cb-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RzXuDvUnM5hfmes0La22d/LwdhPetIJynkd3d49Y6UqyHkrzKiVKWV3h1IXp8uLSr82EKZPruBHXeZV8vzn5sLcfeub0FCnI1+wSRCkbTFox1t9mtS15f4Nzlx9bX8X8X/cQMgGpxLwW1hRCc50z8dj8ATsCkhnKwn5XZ20pzuDobwMDh4E8ZItpuJP2I8R8Aoo45Csoa9Dz8Chg7hr4ojusVjR1E2HGvrOTeWHxlNx/C6GPEdObuc2Hg7qh7WRxGSTlxFchpmLJrHZ4OE0uXEDZG/Soh9NEoKSEYfFiGWa3doFsIyH4Oqk9vVWhc+WNlSu8ydOU9ZEU8gvqqc56tg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G6O+SpqqaInD7XyHgyeS+tF8D5u0zNWAXjzU6g2AX/M=;
 b=UufdGQL8gxwB/iShqCl5590hgwEgylvaZOIH7UswqvOACcdxUmxEMPXoUpzrq/LOGs1uuiD+4Rv0p5blbWRIS30nwtMKvaToUwImeSxgr/Vn2NVAZq8m7R+2CU+aV/JnP+aqIDtjngLqeKqZVyK0IUTqzVTxs5yu1vZIH8yHi4kmQde9xmx9Az9hTUvo8uFui01yVyLmI/YBbYaQPsB5qnfniKkhNfuOT0IiTAj9TYK46T2C9sLNdDE3FcqLrZ+vuc6V4VYR25G1tHwj4C+T6/18aFuE/VXh6NUEAjBAr3XuBIyYHBFDm2g6zLDZT+fK5lOSG18q0k3z+/PVuhWnLw==
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=G6O+SpqqaInD7XyHgyeS+tF8D5u0zNWAXjzU6g2AX/M=;
 b=0ofg+PEr0xQOhon3ahlqKk1wTLvEgLDwRiorpjPKScGEbTmGB3kP1xrkKWYdIOwfiCFWqKkMLhd744zA2fbFzxTbFb7odFGFvtlghfKjfjaaB/9ZinXn/7SPhND5lr/1chJDOCxJfMM6Y8CXWEx2RMlEvUsywYRU0O8dXKEWkRY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Tue, 21 Mar 2023 17:36:09 +0800
From: Huang Rui <ray.huang@amd.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZBl6iU6T1CsWqVx9@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com>
X-ClientProxiedBy: SI2P153CA0023.APCP153.PROD.OUTLOOK.COM (2603:1096:4:190::6)
 To DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|IA0PR12MB8085:EE_
X-MS-Office365-Filtering-Correlation-Id: af96429a-2994-4436-fda1-08db29efc450
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SfCNa/QcFQT1KS+YMsUnevCeoNWD4TDvK++E3AqaxBge66d91vuxQB+uRVIcfOHNcAmOIHc6iajgSuP5XDOWY9oYtvCBeP4QmXguxL0IU/Gac+d0fJRPNnBHHZo4F5HRasC+SIO2nuy/r52Cp4gKWFyY53ivsDHWSXxtFtqk5N1mzNbtNFZVyA2hNkn4c3c9Fzrgv1/aAECaAN+uokz+dEPmuP3okpHXhZfAThTlWKYKOyCMqr7GLzTsNzuRFPDB3LmNjGP5PHuTCePmnbuH4UQ1IKmVuOnlghFSJLEuqrK2OCy7mwn4GgGHHvfg5nfntcMYk4XRQyWmfH+1iE+CjR6t/5JfVqTLiOoW/Wm7fmcUL25vKX/suqZHXHgEvCK3j4i8tYPef5HhBQ3Df/T+w6WD+Aqnca4rPfXU00uoZMjHWRsxXQCl1kMaAM+EYjqY235+a8guij28m6tzjrWLa5/zeTU0F9w8s/el1hMRDVhXc1gPxv2J58FYEaNoMQmAQ0Qz2XFC7xpzkgs+2I0m42dTUbUKpOUL6cdKh/nPm2WH9GUqV8Eluz4aRr0JN0cC29IAbFR4x6o5PUBws8MfGVlDeHa/v1r+EOpGzG5em5sMdKHgeOpshpO1FbyV3nePOiJ/HrpGXFztpd2PlJDZWw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(346002)(396003)(39860400002)(376002)(366004)(451199018)(66946007)(41300700001)(4326008)(6916009)(8676002)(66556008)(66476007)(38100700002)(36756003)(2906002)(8936002)(26005)(6512007)(6506007)(53546011)(6666004)(6486002)(186003)(2616005)(86362001)(83380400001)(5660300002)(316002)(478600001)(54906003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?AEBeJS1f4TpT+3PG6w0gPpHHET8KxLVhTfhfJImRBXNzXTBxsftqM3tckYix?=
 =?us-ascii?Q?sG5zcYzygvU1n9SsGnKSfwLkIZFXvPtfFcmNaVyd5lWulhZvtdNVwPsVqABt?=
 =?us-ascii?Q?499Y6f0NaF9CkyJeU/XI8Wn+esTG9qSLGPZal27bDY4/qZfnRvFgVKGFMr8v?=
 =?us-ascii?Q?eh3v+hsQ0JtwurWgUADxpNmXpGrF63w1QNuMgue2qXlPL2v4fP5GJtdzJfxI?=
 =?us-ascii?Q?Z5wsM+MvTsD3x7qVCQXVazhNZdNfOba4or5ILpA+QwBOnao/oy2SYgvNbvKr?=
 =?us-ascii?Q?0trkMb1hTk7EaIno9XyaEs6FtyDmlAcgf9/rO7kMNF9vW83XhWF9BXokNMCl?=
 =?us-ascii?Q?+TOU8b/VPRPQjDTev+aH685vWHn/KMUg2fwV1wlJ+rq4FTeWAfteis/VU2y4?=
 =?us-ascii?Q?rL8AI9DxbE8bNqFNiOjNfb08ULaNP9wP+6Zz6+yHxPwPDLeBCv/tfMN4yfS/?=
 =?us-ascii?Q?Y8hKRJ2hzqLvGQN1yPJJesEiO26BDV6vUcQ0qcTOpoS42N6oxBTBLmYDL0CY?=
 =?us-ascii?Q?33L0EHYDJ7sM7Rt556MiEnFjTWcMw420d3ubuaUKwHNBN3emxOZII5aYMI56?=
 =?us-ascii?Q?JvehGzgWlq/plzogzSIp0EKFpHiJlxRAc5+aAJICwv5vDOjUi+gu/baGZf2j?=
 =?us-ascii?Q?98hAzVLaJ745NHmZ65nC3SIzWjsuCIYin6K3GhWKB6WHeT04UwLkWLAsJgHH?=
 =?us-ascii?Q?L1WQL4RyyA4oaq7svEz8SQAmvDKld6Waiqz3MGh/ESj6Hx8tzM+xFfCJi5NG?=
 =?us-ascii?Q?kPsNlT7BlZdP2tBXyJFrBEae+/a7JfE6GmA4nfG1Dr4pev3lHt9oSrmbUP+s?=
 =?us-ascii?Q?qZvtMPkL5i6UJPVpSrX0T/UOQlrwkKNmnocmetKV4flFyAXZY3YudARtZBew?=
 =?us-ascii?Q?Ay0S1A17yk7fRb0+UE1hzAD/snWu1Kdt+xIECun693xSYYNXhZRqBOL5+1dp?=
 =?us-ascii?Q?1srv8GrFpX1ftJj5IvoX1pU+pL7Bay8de5QVPR49LEwIxZ/10GiybuBSjZ1M?=
 =?us-ascii?Q?m2xkQIlGzo8Yio7WVNOcfhTwAC2WEios9vhGOc34jOLoVKpbDOHHskIU+JbK?=
 =?us-ascii?Q?X5E/lERE4nFZKOrBCo9aR3DzFkOFRlcjMt6Rx9WjeHB+Mt/X+H1MtOmBREfr?=
 =?us-ascii?Q?sPowqSU3+shWhIW80LAJTPJ7XV7RWF9ec3MoKvLcRNrlcFl/thyLQRV42QJV?=
 =?us-ascii?Q?3UYG/g3Uo6KdxSE0qBN/n5s3eZhD/2g/ApDQkCiCn6h7/udFgPjjl1u8bnzt?=
 =?us-ascii?Q?lsx8JV48uAMJG6Qfsw2LJ2u69YFbuJ2h6rmDquLMg/9bTMfgKuqJCggDXACj?=
 =?us-ascii?Q?dYZBFWvuBH3VVWhT6Gd37uN370YiCWxlJrH+IekeiUXyGWhSrq6wms7vAK/s?=
 =?us-ascii?Q?NISKT1n9qkYo21q4R5dyddkatURaONjuA9cNoUne4Caeef6tWLwpm593F3Tu?=
 =?us-ascii?Q?nQHgN+IZDcGlLTyEjbLq2UCBJu0UvJSTOQuc5lBwwTkwyKTLWM9GEtk2aa61?=
 =?us-ascii?Q?0hGsKTuxQ05LA4KD6zMrKi/v79p6PwzmwujT/c0aQ/z8FNyzN0yLs39URwmw?=
 =?us-ascii?Q?mrN/G8fwR1yV4CaMKo44LwfcKDRahoOP2B7plBZP?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: af96429a-2994-4436-fda1-08db29efc450
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 09:36:37.2496
 (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: dq1VdMzV5pONys4zHXhVqYZQ7nH8p15jQHpDn1B8yRhdV+3UtrBnCLdu4dnLR8qi/QesYSik8wFY+bGKfj9/LA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8085

Hi Jan,

On Wed, Mar 15, 2023 at 12:02:35AM +0800, Jan Beulich wrote:
> On 12.03.2023 08:54, Huang Rui wrote:
> > From: Chen Jiqian <Jiqian.Chen@amd.com>
> > 
> > When dom0 is PVH and we want to passthrough gpu to guest,
> > we should allow BAR writes even through BAR is mapped. If
> > not, the value of BARs are not initialized when guest firstly
> > start.
> 
> From this it doesn't become clear why a GPU would be special in this
> regard, or what (if any) prior bug there was. Are you suggesting ...
> 

You're right. This is in fact a buggy we encountered while we start the
guest domU.

> > --- a/xen/drivers/vpci/header.c
> > +++ b/xen/drivers/vpci/header.c
> > @@ -392,7 +392,7 @@ static void cf_check bar_write(
> >       * Xen only cares whether the BAR is mapped into the p2m, so allow BAR
> >       * writes as long as the BAR is not mapped into the p2m.
> >       */
> > -    if ( bar->enabled )
> > +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
> >      {
> >          /* If the value written is the current one avoid printing a warning. */
> >          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
> 
> ... bar->enabled doesn't properly reflect the necessary state? It
> generally shouldn't be necessary to look at the physical device's
> state here.
> 
> Furthermore when you make a change in a case like this, the
> accompanying comment also needs updating (which might have clarified
> what, if anything, has been wrong).
> 

That is the problem that we start domU at the first time, the enable flag
will be set while the passthrough device would like to write the real pcie
bar on the host. And yes, it's temporary workaround, we should figure out
the root cause.

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 09:42:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 09:42:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512278.792157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peYVI-0002fg-3y; Tue, 21 Mar 2023 09:42:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512278.792157; Tue, 21 Mar 2023 09: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 1peYVI-0002fZ-0s; Tue, 21 Mar 2023 09:42:04 +0000
Received: by outflank-mailman (input) for mailman id 512278;
 Tue, 21 Mar 2023 09: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peYVG-0002fT-Sb
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 09:42:03 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a1484807-c7cc-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 10:42:01 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7914.eurprd04.prod.outlook.com (2603:10a6:10:1f0::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 09:42:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 09:42:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1484807-c7cc-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UQZiM5Pcw7mo+yXvW8A4n+gpI0GlTK6IKkibvEYPSMpAudXewQuFUjNGcWTFOPZm1DLPgqHUrafju+aNcUYo+eG5/YYmf1UqySXcc6N3VdW+g7yowx9aNmyrQXEagP9d5jxQwX/cBlNTUzq7nZvDifbWS6ijDf7RMXpWnypTOweAtLtm95RGe3cPoVg7aG9J4CJxATu0WP6JPf+MRnSGzQJ9pikoEnoYZA2Ls/mkoXAC3Q5mTpOBHJWcJd7E/tyfJf+YwEWGJrSdvgdqg1pJjMtFBiGoTHWT+p+31TsUUrnfZLvRpZgafjRU2jfgLPJViuXK7Tug9sQF9Y01KCj3Sg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cRLETKrmPFmeuv6Msyzw0vYfmB3716cf/eITO9505cc=;
 b=aB+2Aw+BWvX5TNGKCqkWC34dDiCVWKdeTmJfWwVja/ufbAjgsoZkrQFWohBJcvjIyo/kEAG/08fSPH51P2dhIrbIWRWcPpYQEI0oMf7hL+qzssrPgRbDP38ucdrRvLfpMAES3MH4c8WxOGnuPFYDrABwy2BOETibI2mRBo98vyr/EMEgwJ0nm8uoen/q2YK85jz5WQaVz82XJpHgytCFOXWCDtvA7RUQaSnvOpjcbRQVAsvx7VmrcDj5BCRhqsMPs7hBIRPy5oDay3dw/kuFaG4HXoCeCktKeHisf208PP0zIBulyvK+ebDa9Dvn4loNwAZ+DQDRFGZih1dmWGitPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cRLETKrmPFmeuv6Msyzw0vYfmB3716cf/eITO9505cc=;
 b=PaGdNBE0EjydYjpXXHH2yBBoZnWE08qwgQ39FfySNmHGKUchTOIg6sYSLMyuiqzEcNFjWfYzfYWBVbabH/ZyyxnXItAX7DbPgS2w/ViIh36v5vCBPe30wvitiZ8hDB2QkOlT/+cQcYnA1CGdcu9Uy1EfzEUBoB6ZilT550uxgBM7hEYghScEjy2nt4tkIOC8ksugDKbC5ghK91/rhSGgMS3fPlh6I65wVSXrEnx46RJPxjc/AVs6yzUd8kykSluBWC24OLA8mvl1QbmmDIBR/ZawoWvVmwHp8SbnsDh18WBs7MaA1Y7qfaqkFNnKQXI3Lzb9zDTzPh4f+o19BgW7bQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
Date: Tue, 21 Mar 2023 10:41:57 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
 "Koenig, Christian" <Christian.Koenig@amd.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 "Huang, Honglei1" <Honglei1.Huang@amd.com>,
 "Zhang, Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com> <ZBl6iU6T1CsWqVx9@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBl6iU6T1CsWqVx9@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0154.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7914:EE_
X-MS-Office365-Filtering-Correlation-Id: 68b5040c-0253-4362-9cd9-08db29f08471
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kTklTb3Jr76GkjlkNDIV/2oJA3NTd/e4meIO+VDMJ7B/CJ9UosgVnqDY2lfTK+siiOWfyOtmQ0YIchJRlPqVUKEjPm/YQum9xz70+VMFoQff0qWeeQxCriO5AVx6arwSwqqyehwhIPzhAp3mod/U6gfzrUApvKkWoDAgmTj+DQv7XiJy8xToUg1CUr47lXMzohVG/KYGly8kqK1O6Co2+GzwIWT9hM2OM1fZEULjXWzq/dzZ4eA6OoNszznyBldUtfowzt5r0+E7eE0mRm4tnE1+Qs97ao+Mjb3dVDFskyrfvBhBaCJSLli9vPL6DfkfkqepftxxsDAVy3i4P+qcoXQn/QVzdE4B2SovBYwn9jnK/n6aGELVTTkpPLL8G8envsUaYyoqCEyohGVEregmF8X4jr45YdyxwTKygGWK6hQzELSvzs7G10+PWMsQXH7rv8QWOoahJOUl71td/d75wDvb5qdDpQ+iKyai7c7PZQKa67cvvenc8VBZTatoHxJ/G3tbU1OZ9mfWT3aoiNwdFHTiFU/sHUH3nE31BY8BaXYoUnqLO+nqle8oDDJ1BjUtWK6yrNNUtZxNqGFz4zz6qENTY/LGHhNy8qgGzRWnkipcvBrAD5Nd15snivtJVXWvM9KaPYbb0JbtyDz0yq05WxcKO9pbOp02n+FsHUFbzNLINBaB/x5WdWBWlnUobrg49QiQ24DjlWnRCXJzsXPqRM7yeixNUiDs36s1SWUkmzg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(376002)(39860400002)(346002)(366004)(136003)(451199018)(31686004)(2616005)(83380400001)(6486002)(6506007)(6512007)(316002)(478600001)(54906003)(7416002)(26005)(6666004)(53546011)(186003)(31696002)(6916009)(86362001)(38100700002)(2906002)(66946007)(5660300002)(8936002)(66556008)(4326008)(36756003)(66476007)(41300700001)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z1RidGFtUDZ5akMwOURtbVJrZE5lSGUzcHVEZzFqYmdyTTFOVW9vclBsZ05N?=
 =?utf-8?B?OTlaOTYvV0VWV1JqbGVOYmRHQlFLTlBCQ3R3dzh5TTRWMkRpYk1hZThnNVdm?=
 =?utf-8?B?K25zcG9odUNRa1g1YmRvQTZXbjR0SDYzVnVxcWdvaW1OWTlaN1ozMmtJT1da?=
 =?utf-8?B?a3ZiaDRoU1hCNndQeUVwN0o3QzhaVTNodTYvQWtRMHJrMDdHaS9xVk1RUEFr?=
 =?utf-8?B?MHQyL01lTHg5ZmFlNGxEcFV1U0R6OTdaNTE0bEJGR2NkY2V0emgxb3Q4VjhY?=
 =?utf-8?B?bXBNeHYzem82WlBycnlyRm82TytLdXZ4MlA2ZmZ2a0NrODFXaFAvZUc1cGNm?=
 =?utf-8?B?MjZYQm1kK0FmUzdtelNIVW5ZQk5idzJzQ25xZzJYM3czMWZJSGNwZlhrRGZP?=
 =?utf-8?B?WnRNbWFlWHV3L2hiWW1Ra3JWRnB6T0RXVzMyR3JxZHdoNTloRXd5a09GWkNq?=
 =?utf-8?B?MUI3WmtRdVNVbnVobDB0cXdXUDhpMzdtcGxjOHdCQkR1YlNwajFCMDFSRGkx?=
 =?utf-8?B?ZXdGZVNpVXd1QlZJQnVZK0R6d1MyL0tUNVh2UnVZZWRTOElVc3dPRjBncmZB?=
 =?utf-8?B?eGlJd3hFckg4Y1I4aHFBSXNudzRtanRFU2NzUVNWRUJMcmMxZ2RtaVdrUUI5?=
 =?utf-8?B?R2c0a2VmWEE4VGtmV1ZQL1EzNWlXdEpIQ2tpR3JzTFdudHQ3MnhmOHRQV21E?=
 =?utf-8?B?b0FEMW42VExHSU0ydXhwekhIUU1nbDJrbTBZRHVoUld4MkdnZnNqcjlQaG84?=
 =?utf-8?B?MWViR3dFYlBoVXYxOGNnK3EvejdwZDB0R2VaTmRCYml0TGV2enRpRHcrY0pq?=
 =?utf-8?B?VUdHblZzSFJ3c3B0Q0FqczZZOTN2QVZ2ZGJDaGJFZ25wVFJCMTQ4emx4ZXJH?=
 =?utf-8?B?dTdGTFZSNWFoUWhLdUU4QlNFL1JiUGNUWGZzNWl5NENGRTFuYURtYk9LS3Bp?=
 =?utf-8?B?U1lmWGowWlU2aG1xVUNrdVlveWdzbkljT0g0WFd5YW9wYW4zYXI2MDExSVI2?=
 =?utf-8?B?dDBLL1p4ckpJSUp6bjR3aGFkV2dtM1VJamVmQmdmdGZyYnlKY1d4a3BTR1VR?=
 =?utf-8?B?Y0gvZmJlOHpMcUxQNXdJVnNPdWRrTDIzTWxMN21CblhiL0Vad1d5aGJCOWVx?=
 =?utf-8?B?QmM2UHprRER0Rzk0MkI0Si96MFBRblEreU91RE9nUmIyUit1a2JSRnBEdy9W?=
 =?utf-8?B?N1hsU3BzN1VScUJnYUEwdHdmTngyVXA4WWxWQklISElySVZMRGdrZFVSejlB?=
 =?utf-8?B?elNvQ0F3ckM2S0J0RzRlU0d5Tm5uMmdabHpESE9uYWJ4dGpMeDVseStUd0hJ?=
 =?utf-8?B?N2xSNHltbVZubVgrSkJRU1BxN0xFbDdTejNDNTROR0xBWGVoR0RuV3h2OEtt?=
 =?utf-8?B?NXRsM3E0bjRyOG1TRTg2bE5kWGdyRWY5ZndsMGhvVnE2N0FaSlRra2QwSTZp?=
 =?utf-8?B?eE9lckFHSWxkeFRDWWU5YjUyWklZcDF6eFhzOHpiWTcvaDczdUhUTFRNUzV0?=
 =?utf-8?B?V3l6QSszMTVUZGJPci9zdmpPaDRNZVlMS3h6SHhhTDZ5VCtvVlVIM0FYcFpy?=
 =?utf-8?B?c0NaR2liYmQxZktQcXVGR0hYb1JCZmlZeWZWQ2lwMEhwMUF4Tm1OZGtoaTJ1?=
 =?utf-8?B?WGRka0ErMnpndUI1QzN3TEdlSmZqZFRBcmpRMjNWc3Z2SjBRL2FvRS9FMmZ2?=
 =?utf-8?B?d1NJVkFVMTZ4WGpXTWFhS0NKQW9QbDFNcTdaRmE0amJJd1JwTGhtdFB3YXNE?=
 =?utf-8?B?T0pwQXhGbGJpZWtmMmkwdk5Bd2dZb29qdnZXZnVSbHl0eGdiMlljUTBqbmZu?=
 =?utf-8?B?UGQrSjk2MjNwcmNmNXRXaVE5emxIZlZickRFQ3VLRVhrYjlMQi9NUWdxM3Q1?=
 =?utf-8?B?L1EvaThlUWM5WktpUzlTSSs5STYwUzVyVDJvcVZEV3c2am9ldkN1bklQN0Ns?=
 =?utf-8?B?cXdRRktZZzUrTFlIcU9DRGpOa2Vwb1RDU2hPaHBHb2wrb20xSHlkTVdYRmVo?=
 =?utf-8?B?KzMrVDVPeXhyckplMDUxRmJDdGc4cTM3eGZSNExtdXVLWVdMVmI3clR6LzJj?=
 =?utf-8?B?RWp1Yk9CUi9INDlJM3FTaHRkT0NSWmlibmU3cWltNXpKejVyd2RkdzF0Lzli?=
 =?utf-8?Q?FuRvSsdCvYTCsyndlbngO5r97?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 68b5040c-0253-4362-9cd9-08db29f08471
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 09:41:59.6485
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: N9nZDQLIPCRsU8DGkUH8Aj97SsiTB6A5hFBzDsmXAzxQKE6OSciJ5/kaxpoUFPbuqkhafb+U0W4lWM1oUZQSxA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7914

On 21.03.2023 10:36, Huang Rui wrote:
> On Wed, Mar 15, 2023 at 12:02:35AM +0800, Jan Beulich wrote:
>> On 12.03.2023 08:54, Huang Rui wrote:
>>> --- a/xen/drivers/vpci/header.c
>>> +++ b/xen/drivers/vpci/header.c
>>> @@ -392,7 +392,7 @@ static void cf_check bar_write(
>>>       * Xen only cares whether the BAR is mapped into the p2m, so allow BAR
>>>       * writes as long as the BAR is not mapped into the p2m.
>>>       */
>>> -    if ( bar->enabled )
>>> +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
>>>      {
>>>          /* If the value written is the current one avoid printing a warning. */
>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
>>
>> ... bar->enabled doesn't properly reflect the necessary state? It
>> generally shouldn't be necessary to look at the physical device's
>> state here.
>>
>> Furthermore when you make a change in a case like this, the
>> accompanying comment also needs updating (which might have clarified
>> what, if anything, has been wrong).
>>
> 
> That is the problem that we start domU at the first time, the enable flag
> will be set while the passthrough device would like to write the real pcie
> bar on the host.

A pass-through device (i.e. one already owned by a DomU) should never
be allowed to write to the real BAR. But it's not clear whether I'm not
misinterpreting what you said ...

> And yes, it's temporary workaround, we should figure out
> the root cause.

Right, that's the only way to approach this, imo.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 10:10:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 10:10:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512283.792167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peYwm-0006SJ-AL; Tue, 21 Mar 2023 10:10:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512283.792167; Tue, 21 Mar 2023 10:10: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 1peYwm-0006SC-6N; Tue, 21 Mar 2023 10:10:28 +0000
Received: by outflank-mailman (input) for mailman id 512283;
 Tue, 21 Mar 2023 10:10: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=gvkR=7N=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1peYwj-0006S3-V4
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 10:10:26 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 95dfe18c-c7d0-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 11:10:22 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 MN2PR12MB4568.namprd12.prod.outlook.com (2603:10b6:208:260::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 10:10:16 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 10:10:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95dfe18c-c7d0-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TBed0m6L2HTS7LvuSgkmN6kta5XjDRttBs1HpmxJHnvrQ+s5ItHK3qqGKbmr3VUiX8zYpFM/WF0X3kFiTcoaV1QM3c2ma6r1H+u2CjPDizQ6eLsRl+KD1gOZqXJ/9fZM48B0fABoCp48JtnAgnqHGBTJozqphux7D7g8e4Pkv6yRy/bX8EdPNWiFQ6Zon2mNfVQI5mblSGqAy1/od6IBtMELxBj41wBnJr9NMdOG6kFRAwpUQLq03xSsVONTKd2LiK1IUQ+zUqC20Yby3E45JeEOSVyPy1rRi36uEdQ1qK6X12qli0d5KnBtrw3k4ZRl6CAQmR3UD8sFnOtLuO/r3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4KR8SS7bAJAEyjjkp2H+c3Jo+wmQy4iL5rXZ577QZr4=;
 b=Wj47Kzp3JjCaxBwpPvu+KFRkDCEuRnHYLtid7yvhRoFgiYGsRbg+/0grAKYCBIYZrYZXbN/vpPNnbmoNpjK+v2uYAHTVDULieCA4xe9osbvHz2fRIxyJd8DRc342OmwucD2cp4cYEaVBkgT2BjXZazNciEtkqicuhWXik8WFnXCmhvRL87bWSXde3wUVmoaRuAw+YdRv+2AMl4cbgB8/xF8fExCGdlFteUaQtCDOYj2Cxe61pqTFKsnyGxJXMHyD7MVNJN4SeBB3Ogx+2tUJ2QhLKQaKKfgqC8l+/+GZhwLBDXcnw4hfDWLxIvIyTtG2MLFaUvxSMHr+gikElnlX4g==
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=4KR8SS7bAJAEyjjkp2H+c3Jo+wmQy4iL5rXZ577QZr4=;
 b=m8JTzizn138kYoax9CfFggszzsYDHSEsDM0VFfsCakPefVNnzsHxWjvM+tA0w8C0FtvlrsJj9pqDmYnDhoYXvZEmZ0i79DZb2U3HgtHk9k9QrEGBQQA8xVE/rmDmTizYC6ICsfoDUJUvEmwdg2j67qb2SCCx3oYFYIQ5BU6RBF0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Tue, 21 Mar 2023 18:09:48 +0800
From: Huang Rui <ray.huang@amd.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC XEN PATCH 3/6] x86/pvh: shouldn't check pirq flag when map
 pirq in PVH
Message-ID: <ZBmCbORdc5+xxF9R@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-4-ray.huang@amd.com>
 <ZBHq+UeK/lBj3s8l@Air-de-Roger>
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZBHq+UeK/lBj3s8l@Air-de-Roger>
X-ClientProxiedBy: SG2PR02CA0023.apcprd02.prod.outlook.com
 (2603:1096:3:17::35) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|MN2PR12MB4568:EE_
X-MS-Office365-Filtering-Correlation-Id: ececc15e-1f67-4798-23cf-08db29f4778c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	p2ISpOzuNlqt7ZW8Y5C6+0IN/2zyHnUzlgYPwL9kUASwYJ/mZgbfUnfbnHouk8L15MfIzDdESMNE1wkvIosU2dwgPUH/jN4YyrraVIM+TD4yJPju/QayzfZ0hKGLg4skxahE5EVVi8g2w8TbxcyddWO3PIKfdUhDTdsKutReHuAOjzm7pRRaLxCu5jaLaaizbjozDRTYtPDU9PXqgcMtAUyDMFky+s5JWNW0onlIU1Tzo7MTSeBibPXEAMKuXaAzmlJd7GF08pB7kDKV+j2vgSwSr4lNqM1vjpYRxnKsAc/zTGisApiRE5giGAiCJBn0EVFB5RpcZrS37nXLH4h82Cn5qL0PfIogIj/0pupcT1Zv8V4Gk9rkoR4+EWTza24di3ao2eJsOM76G7txPZU97kQTmLj6I0E2BgjXIDLvdGnm/iw3Hul0Zh1EUYnfMDRMtCyYRxInGBRHLTX0a7ZXCv+G0sslErII1PPuVbJIbmlDg+J8/y6fo4duQa23foOuzExNYsUE1HBXKBWbHq7WXrDkZL3AKpn73FpKtzcp1rnZzfYC2aXosFuOE1Y+0ufvzrRb7qDG5TR66+XyhLY7bQFGUPhRbScM04lQeI47FmNTnoKXFrgZ3Jdoc5NVr0rbIJJAnv3XyI+NLWg1vZmVxT8ND0bTr/5wWanylanwn85gaGAZjYcTN1JgcbhCNt7+
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(346002)(396003)(366004)(136003)(376002)(451199018)(2616005)(6512007)(6506007)(6666004)(26005)(6486002)(6916009)(478600001)(8676002)(54906003)(186003)(66476007)(66556008)(66946007)(4326008)(83380400001)(316002)(8936002)(2906002)(41300700001)(5660300002)(38100700002)(86362001)(36756003)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?iso-8859-1?Q?j7EapjRERsVsy+XuspMpmDd22qa61ldBR7o1DwMR1/VcG06bJzzsAl2IJu?=
 =?iso-8859-1?Q?CBXn26xY0Mz9CJF/NCC9jUeKKoyYL+xySE9MYTEqfi/84YXk2RwTULUlIB?=
 =?iso-8859-1?Q?0YaW4HS0Oxzg/gQbo6Kpn1ApirzZvxLPfO42q6699crSak8sHbcVBIwv0k?=
 =?iso-8859-1?Q?7CXwS/VUyBx+YnpYBusDDLJ8PZKZdwoXJHc/l1DM3UrVyUVg8nGZyZdAEi?=
 =?iso-8859-1?Q?ga48/ZSkq0yGS5+y3E+FcaNvVuHpiTh3aSj0EG++b3iEMNdFTRE14+kbWZ?=
 =?iso-8859-1?Q?a/cGC1B9ApIbzey9Co/PB9aaYokKwyiv3HAokcNjJGz3Z8tgOonQJVDLfG?=
 =?iso-8859-1?Q?/xoU6cpoTjkMvacUd3XDJrON9gWibS8T8onv7/3+OCvHRSv1ZXVb4fu9HR?=
 =?iso-8859-1?Q?KLzJ5PU/MJTcIlJX7QWg3HOY1pTdiN/bn+MPi7YZyAkZfAcLp6BnyW4rph?=
 =?iso-8859-1?Q?szG+WkZkrpMR37BOGhJWKj2L76Faxwy7vPXUdPGI/X8OBWl4o60c8v2edg?=
 =?iso-8859-1?Q?Ai1WvfpbvU0R8l8iU6QvBbgQfzSlp8zLubrJagjoC2mVrs5coA9sOdsuJu?=
 =?iso-8859-1?Q?QVeV7qKdM7YYHxGe9ANxijgXAeCBmOJkvvs31bpzO/jUAfAe16dSoTftwE?=
 =?iso-8859-1?Q?+uXPSupOclstDov3gh2ChcrBtYLKVyz4HanXjYEMnfWPcj23peJI7BrEFY?=
 =?iso-8859-1?Q?kqTSAudQhmXM6Jgfd7JnuVmnFJBee5ltA8y4AYvlRuFx0vINas/rnPbrWa?=
 =?iso-8859-1?Q?mPLvudN3qpYYDlKHhOT/KLeNbKSQhb+UuhrxT+T1h5cNl3BEcR8lXV8KbL?=
 =?iso-8859-1?Q?fWSYyONfDDEkzJoYglmmij/fIhPDg89ducGv9UJJczbStz6anu3V3l+Sgd?=
 =?iso-8859-1?Q?I8HFSU7Ja5Y9lAv2mCvmbme8lAF3c+9LP8cYGdVLVSNVPxXU6bJytEiBuq?=
 =?iso-8859-1?Q?6F5hziMt+ze4cJBfeNMzrA15RXXbthGigLSp0ImNHgqiiTC80Ghkmyoxa/?=
 =?iso-8859-1?Q?6o7Ehq66HSWC500XYy2h5CH0duMfsO1EGATJn/2WASiNJpDANwIKc4TySU?=
 =?iso-8859-1?Q?XRUymBAYvR7CfRu2A8yZhZZye5EBPiH1qMgoKIfgJb+lUQLLmBV+c49x7G?=
 =?iso-8859-1?Q?E3Lilu0+5/bItaj01LByEHPNtjeXqH7uhkHgR3+SYWAJohLKcNTOB/LXuE?=
 =?iso-8859-1?Q?wIQegq1kbP/fD1iPa+QvzT58wb7EgxDSn7Smx0funRHfEUue1ywfPujBf0?=
 =?iso-8859-1?Q?p7MrnJOuV6M8cfYHbxBUEO50Z9HUmrJfzSu6mKNd+MI/xTqpNy8jWNzkRT?=
 =?iso-8859-1?Q?ISlgcZRJcMiI3BIYtEKwqlSj1PNr2YuXY6DorzZUfAgoJyWFgtKxy7DiWE?=
 =?iso-8859-1?Q?jRv8EBk13Gf12uzl+Gs/KPKAUroTV3hDPwgKHU6rFhPNIDRLhz/oGT7mvx?=
 =?iso-8859-1?Q?/ylUdEa+W3yhtSMKfQA5UXyoCcUxBNgcOkxP4B09NgZZhTedHX8g5IwMdC?=
 =?iso-8859-1?Q?ruoSsb10/cmk2JxZm/pRqk20h0PSv3uyjkdcs22D+9Lb2G7p4X8kfe8qse?=
 =?iso-8859-1?Q?sUqV9TwI2Ly3QqB41gzCXDdsD4wE7CE/TQtixjanv+57gLuUhPpC0ZplDf?=
 =?iso-8859-1?Q?PAnAzsL6GXQY2WxeMucnxHpaASDBYu8jhh?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ececc15e-1f67-4798-23cf-08db29f4778c
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 10:10:16.1082
 (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: 9YlXXKYeOy1wK/X7drn+u2b/EPU2sjPXzmW6L87xvE0L8C7qZnIyLbSboMjr5bkeKyCyWas1X51UEGSOAu/xOA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4568

On Wed, Mar 15, 2023 at 11:57:45PM +0800, Roger Pau Monn wrote:
> On Sun, Mar 12, 2023 at 03:54:52PM +0800, Huang Rui wrote:
> > From: Chen Jiqian <Jiqian.Chen@amd.com>
> > 
> > PVH is also hvm type domain, but PVH hasn't X86_EMU_USE_PIRQ
> > flag. So, when dom0 is PVH and call PHYSDEVOP_map_pirq, it
> > will fail at check has_pirq();
> > 
> > Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
> > Signed-off-by: Huang Rui <ray.huang@amd.com>
> > ---
> >  xen/arch/x86/hvm/hypercall.c | 2 --
> >  1 file changed, 2 deletions(-)
> > 
> > diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
> > index 405d0a95af..16a2f5c0b3 100644
> > --- a/xen/arch/x86/hvm/hypercall.c
> > +++ b/xen/arch/x86/hvm/hypercall.c
> > @@ -89,8 +89,6 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> >      case PHYSDEVOP_eoi:
> >      case PHYSDEVOP_irq_status_query:
> >      case PHYSDEVOP_get_free_pirq:
> > -        if ( !has_pirq(currd) )
> > -            return -ENOSYS;
> 
> Since I've taken a look at the Linux side of this, it seems like you
> need PHYSDEVOP_map_pirq and PHYSDEVOP_setup_gsi, but the later is not
> in this list because has never been available to HVM type guests.

Do you mean HVM guest only support MSI(-X)?

> 
> I would like to better understand the usage by PVH dom0 for GSI
> passthrough before deciding on what to do here.  IIRC QEMU also uses
> PHYSDEVOP_{un,}map_pirq in order to allocate MSI(-X) interrupts.
> 

The MSI(-X) interrupt doesn't work even on the passthrough device at domU
even the dom0 is PV domain. It seems a common problem, I remember Christian
encountered the similar issue as well. So we fallback to use the GSI
interrupt instead.

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 10:15:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 10:15:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512289.792176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZ1W-00078w-1I; Tue, 21 Mar 2023 10:15:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512289.792176; Tue, 21 Mar 2023 10:15:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZ1V-00078p-Um; Tue, 21 Mar 2023 10:15:21 +0000
Received: by outflank-mailman (input) for mailman id 512289;
 Tue, 21 Mar 2023 10:15: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=gvkR=7N=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1peZ1U-00078j-QO
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 10:15:20 +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 4723b389-c7d1-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 11:15:18 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 MW4PR12MB6755.namprd12.prod.outlook.com (2603:10b6:303:1ea::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 10:15:14 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 10:15:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4723b389-c7d1-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AamAU+1VZSIFWuc5Q5AG3M0les/oec7t45GS9ww1HNWRYUhpFZxEQFBa94FAv1i7fyTUVtErU93yaeIPDqX3KcWtxnVOG/SMMZVU52+x4RtEzILrPoeTNp4UACIeV2Ko6GXbstfQ0BYRdQjT9y+oh9dcbNCN4Pp+Se4NAKuxsAqdjDDSn81Uz9yze8j6nNkGLPAdfJTTJVVqlrXwfAO0R5s1Yn93dVZJG6PU8fnBz4M5MKSgZNNtCWIM05yrcKFvSkZ2HbV+OAaZQUumW89G7B6ei/l5Z0Xm5nv8YneX+QR3JlWDG0AcSFwYOql7C4on+5B15Zx5u09RYjAiGGSRcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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/L66D0EHJX+zoLAQNHzE3LetCDlJU+g+0kpEWgTWY=;
 b=LH8ddLviFjlULF/+K3qFRoBNOQwNJwHtmcXJKGypgQN3H5quTSbehwM+4xQtushaYD9vXIUpaP4Scs93apCag3nE8kMwRTNwu5jK2Sbu2W2BMFP7rn6wYtbTvh0C0LgR+eq+0TnoGNENZO1cXFeG7av/AM6QakE+MSTLz9MnQk236C0LjD9y8OmUKzOM6DIEC6I6/YIfwE7pdDroTMxtGF+bOrwmJso+rvSyjckRVn2+63b0WDYmstxpxje83AUAyiqdZllES22HM8XopOGfHTXUK9ySE9ACiTIQJ8YJZ9PVzN6lla4rrHw2Ap8IL2FBSrcadffFFWgr0hOyugJBQA==
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=+v/L66D0EHJX+zoLAQNHzE3LetCDlJU+g+0kpEWgTWY=;
 b=lsQu48piaRA+9+W5SvsKFrNFT6qEfW1b5pDQDhlnDerHJU766znhwdIoiBR1ve5DGk/xeYIuyZ8K42l0+Qvb5KOVtC2IfXO+fHljkL5gvNMHZGmXUgUBhfvl1xJZB1p4dxrfqj+tV8dngyE/GeC9QtnNUzOl2ECY6Bck6dgNFQ8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Tue, 21 Mar 2023 18:14:47 +0800
From: Huang Rui <ray.huang@amd.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZBmDl8XjIos57EIy@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com>
 <ZBl6iU6T1CsWqVx9@amd.com>
 <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
X-ClientProxiedBy: SG2PR06CA0198.apcprd06.prod.outlook.com (2603:1096:4:1::30)
 To DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|MW4PR12MB6755:EE_
X-MS-Office365-Filtering-Correlation-Id: 2b121e6a-0ac9-41fc-2b6e-08db29f52996
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Kadieq83MGbKFrir4vkby82Gd1kYEVUyUFmFUeY+SjpZKKPoeB3amkPTZkhHvL3J8KfGFRbZeo+fCZi41xeYYidoyynnBN4Lb+1t53+kXWG/TT9TcyuYz1IRr0W7G/uaGP1Vn/PXbffxiw/FXrFgYDILNa6+jZ7uxLm7N83zs+KlF+uluGhdFGWZINk8CWSVfuCiHWlTICBpp7+zd4gyZqz1pPXwMYwrYiyJHkURJlLHo4cR6quSZLxgFgdDYrzQFzIor1QYOOFg1rUTN43yVpdcutMijpDwVUWsq0zk6YNq9rZKQb2TPQge9/xBZDtLsO1pH3HWPjdyonv9T61VgdmA4m/20XXenga8sVs3MxLd7LJywBciwITp/sfLgspq+5okZl/8R3yuQ8TsCP7yBE2A+9oe1cYrOPEBzl1k2SpbBHKzQpVRorOnTnSSS8nPnWGizefmhrQVZAEfQCleupE0LDtplWmIQTlitjnCGKI4LY0DEhGSBaGNxgzDCwpSoG/Fjc2OJB7zPeRQltSMeSspNdzG/yNOvZisgge08FEZFqBZbUd0amDqKnfoj68uAp1YJ77icl7rHcXMr2zszXp/i6CS4iZ6pB2B6iVN6ZpDvEnBT2hj6X6Y5XjzOWIXOM3tw3qpg9T4m52PxdVHzw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(366004)(346002)(396003)(376002)(39860400002)(451199018)(6666004)(186003)(478600001)(6486002)(6506007)(53546011)(6512007)(26005)(83380400001)(2616005)(54906003)(316002)(8676002)(66476007)(6916009)(66556008)(66946007)(4326008)(5660300002)(41300700001)(8936002)(38100700002)(2906002)(36756003)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?EeD9Z0hCbgXyT0Bwa9HWZBcMtXIMQdDWoSMSOoytZYHAEPYufXSP8y4JbHU4?=
 =?us-ascii?Q?3khaJx1/ZsvHxyXin24NTxqWcdMU791RE/CHr0GzY7vOq28PPOdh0NE1xqJe?=
 =?us-ascii?Q?odCCKAaAV9f+DHMA3v/MiBmdKXjxunxMETxUfpNyg6loRB5eKkWSfcU7Qivg?=
 =?us-ascii?Q?bcbpEGRTG40vI5hxcu05TSwGdsMoV3HXLIWIh6+tUpzclb5iw+em7LepcpOt?=
 =?us-ascii?Q?ZYHU7kNFGyCjCkCAJHl7UmDUkpkXP0l0n3LO5SG8FXWM2eAphd9CNft/A+za?=
 =?us-ascii?Q?FwSQfWz4ZlZLeRFkpzydG8tUrFJ+5A9ZzTMfksv1kS2/7X0G+3ce2kfXzw22?=
 =?us-ascii?Q?IOX4ibF/9Q8mtsbwP1KXZ/wbS9tby7snR7JyiLf8NqxAnxkEpTTsvtfye+Kl?=
 =?us-ascii?Q?OhKfOTrtgrrndfHbaX399T5Ed6ycQL+13ArIAEyZvlXQ8DR6SOXikhOYieYC?=
 =?us-ascii?Q?9d4TA4jPh4lrkRcuvtgNpoJOWkS81aU4eT1YRQIx1oGZIKwUnnCk3VTr+s/F?=
 =?us-ascii?Q?UYAnV4o4Mu5KC+Fad+lE8PkJP0nyUsH5JY/SXtyxKVSlFLjmwbwZ3X4CuT9i?=
 =?us-ascii?Q?dETWlNJEVM5eMMufRF5ZOH5hLqQ5h3GBoBYRZRCTAZCdNZ+ZT1Kb3dGk6X0u?=
 =?us-ascii?Q?q3LRnLeQi3R0IOlxFLZiI63AoYx2RYocuNEm0tsA3WVwQMGkvUy3Xpa1kqVq?=
 =?us-ascii?Q?pAYxaSU6kbQo382WBuJS302eA94zaaIXUzlTU59az8H7RPJrIyebKW32ZJCp?=
 =?us-ascii?Q?qxDmi43yhVsJoAQJy+R1m1i1l/He7W7YbOnUW/JA8AS7R8R8C/hp9z8cVaIu?=
 =?us-ascii?Q?8uNDWh/nXc3PGCPIaaQxFria1m05tjt1ISNY5G3SuUo8HrLlZjUxVP6cFqaX?=
 =?us-ascii?Q?0jeIsFD2erQ4242mm8ksKhor3bu0UfH5bpMYBGJh3ruun8YumRmnEP6ACdjG?=
 =?us-ascii?Q?HprYtmti/RvJbp4o3WtoPy5oSFEygFqkzV79BZG5wORSXfUymt76LAbpIbdY?=
 =?us-ascii?Q?hZtll6VtWH4I+TjA1vdZYo8ujkMDohqcQekODDQOWehhHIIr00qKFB/XvoNn?=
 =?us-ascii?Q?5X/Mln1aDWriIkSjz2L6zWPE4aFloMdvr1XZviKEIU4aNErY48Sn+PZzRhhG?=
 =?us-ascii?Q?NHtGiIc2Z0Ti90g69CWsnQSRseOdVoeK8JyQrJrwnOHhd2D1ls2Dv+JX9dmT?=
 =?us-ascii?Q?PpRQNL6FOx4jf5vf25zuFgxjBACpC8ZTWB5NnImbp2PCkiovbHdfB2Ye6bWu?=
 =?us-ascii?Q?IJnUMYlUFp1YFOWl/vkR6i5c2VPxC3CPOp18torL4t7CHEy2DY8AEEhYnanH?=
 =?us-ascii?Q?M22tiEFgvyQ6QDNxoLft/ozA1FkMCdvkSXge+mI3shDSZw+wWM6S88A1IXkn?=
 =?us-ascii?Q?tTl+oR8aAgWAmiBd2vFz+VIR9ebGBIytkeCLkc8UFvLOxAXu4y5crQPMNPff?=
 =?us-ascii?Q?1QDWhujX7hwodHEYXDOz8oELY150uDFF6rIOFMbZ379omxG1SbfmIzYSSnmA?=
 =?us-ascii?Q?GD2m/rFr1cNgKMp8JhOvsFhx0/gGk6XK+94l0toW630cgLIK0I4tdUvB6f4Y?=
 =?us-ascii?Q?j4Ix7lZ7vIiCuXfWeS/dA3RJEMXcmFNn86La1Xci?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b121e6a-0ac9-41fc-2b6e-08db29f52996
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 10:15:14.6209
 (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: 6U6ceJq8z9Dj+HUGt8BrmrdYvRxkdUz10TntsKm7GAl93Bq+hTuDrC6IjOAG0rzCfIs5IyrDEfIoKtYLoKhMXQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6755

On Tue, Mar 21, 2023 at 05:41:57PM +0800, Jan Beulich wrote:
> On 21.03.2023 10:36, Huang Rui wrote:
> > On Wed, Mar 15, 2023 at 12:02:35AM +0800, Jan Beulich wrote:
> >> On 12.03.2023 08:54, Huang Rui wrote:
> >>> --- a/xen/drivers/vpci/header.c
> >>> +++ b/xen/drivers/vpci/header.c
> >>> @@ -392,7 +392,7 @@ static void cf_check bar_write(
> >>>       * Xen only cares whether the BAR is mapped into the p2m, so allow BAR
> >>>       * writes as long as the BAR is not mapped into the p2m.
> >>>       */
> >>> -    if ( bar->enabled )
> >>> +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
> >>>      {
> >>>          /* If the value written is the current one avoid printing a warning. */
> >>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
> >>
> >> ... bar->enabled doesn't properly reflect the necessary state? It
> >> generally shouldn't be necessary to look at the physical device's
> >> state here.
> >>
> >> Furthermore when you make a change in a case like this, the
> >> accompanying comment also needs updating (which might have clarified
> >> what, if anything, has been wrong).
> >>
> > 
> > That is the problem that we start domU at the first time, the enable flag
> > will be set while the passthrough device would like to write the real pcie
> > bar on the host.
> 
> A pass-through device (i.e. one already owned by a DomU) should never
> be allowed to write to the real BAR. But it's not clear whether I'm not
> misinterpreting what you said ...
> 

OK. Thanks to clarify this. May I know how does a passthrough device modify
pci bar with correct behavior on Xen?

Thanks,
Ray

> > And yes, it's temporary workaround, we should figure out
> > the root cause.
> 
> Right, that's the only way to approach this, imo.
> 
> Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 10:17:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 10:17:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512292.792187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZ3s-0007hQ-Gv; Tue, 21 Mar 2023 10:17:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512292.792187; Tue, 21 Mar 2023 10: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 1peZ3s-0007hJ-Cb; Tue, 21 Mar 2023 10:17:48 +0000
Received: by outflank-mailman (input) for mailman id 512292;
 Tue, 21 Mar 2023 10: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peZ3r-0007hD-Eh
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 10:17:47 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060f.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9eca8618-c7d1-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 11:17:45 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DUZPR04MB9898.eurprd04.prod.outlook.com (2603:10a6:10:4d2::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 10:17:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 10:17: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: 9eca8618-c7d1-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fPscaiVsMH3w8ceA7QbPYBfVohRPc/FglKfhgEiT02Q9CbkKxubhx2XzX0GAlwon8DITnEcbHBSnjkrC7CEaG8SCsa5VWBdWiKahyvbYdH+QWHvComar30nszruo6gL1YD+qGkJimyH/jlntrtxBSa9FYw+YfqUMBGOzeaTW6YMtoNrYj5UEUdE34d61ZvyNyy2v9JNYMGblB+wD95lDf1Q9WCdwZCCZnGaMaBXzlOetFtkT8WYDdaCtAE9f3pbigr25bRulB+Ii7ireY3IyueilSL2lmyhoViO8/iMeW5O11fZqWpUcAkPD2sSoodNCbIRc76UuhDmlCC0KwV/RsA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FYdFNzOjWtfWRDJZXDxLk/6F3Q8pA0+6+Xj+s121WLE=;
 b=WzsbyInjIpUoaijIepe98VoG5L7GEMOy4FkOtLRCfeJ5DV5I/Mi+PFozmjPY7jQNhrCFQuDtXBtdNme2Wu5UZTbJ7Mliq1BRFuWNll+jOEtku0KrfIWqh5boRRv1GAr8UsO7I0H8k8jtN75yAmnrd8sC+5IRHGTqiBSiU92eQn8vK8hKpMAG6MXnVSh+gUDL7p/SYok3aXFcUhvg6d6xvSDC01xIO7bCWD+xTjvII/SuwBJI2053c3QT5CkYOovFDf4clxYCPxMelVKg2PPXJbfPC7bA285suRAQmymh/qfs90gAESGz6m/TVcMumezyPA1NyhO+aHMFV+EE5MXAjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FYdFNzOjWtfWRDJZXDxLk/6F3Q8pA0+6+Xj+s121WLE=;
 b=ez+juJySpVSHbpnEryXDv1uwJew8DKPo5d8h2LtBJt6kR+oEwfHfcbhebg4Fq7ewLewg9moedDLRCjN2fKEtszBmNAnHJTs2B/aQ4sk4rgEZl0GLpAlmgDNuG5QzceYkFY8bDPfVphqb4YQxF8Faq3C2z9JHgKXOcoR//Bb7yEujPQ/+oKgT6+Qd3WvYba7IqQKdIWmuRRZomQDTjVo6F8cQdQZggcVl8YWlLOl292U9phL1Xwa9xlitBsIuDP7uHUwUCqWpKGXkhCAjpk34preqE4TLRCrS+Qa02WX3f/DiGXgLHhZHXGqLQQ2NcLEHSRQBIsXNbVcFvfAThXOdLA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <39365475-a6f8-3aa3-889b-0026381c8616@suse.com>
Date: Tue, 21 Mar 2023 11:17:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 3/6] x86/pvh: shouldn't check pirq flag when map
 pirq in PVH
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Deucher, Alexander" <Alexander.Deucher@amd.com>,
 "Koenig, Christian" <Christian.Koenig@amd.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 "Huang, Honglei1" <Honglei1.Huang@amd.com>,
 "Zhang, Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-4-ray.huang@amd.com> <ZBHq+UeK/lBj3s8l@Air-de-Roger>
 <ZBmCbORdc5+xxF9R@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBmCbORdc5+xxF9R@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0145.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DUZPR04MB9898:EE_
X-MS-Office365-Filtering-Correlation-Id: 3ad4c7a7-fd59-41bc-0b83-08db29f5821c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JMirOnkZPT+N6n6ZRYOL7/Q7MOOSyOd0WyT+Ilnb6eZCeA689pZGo+sHm/7ZZiNHi756NvzdmJW9AzS575dDklULZi2zU6LgG76Ch4u14+mp4/SAEKYkVwEaxYtLLwhMuF7yHfJkxYUxITGqVTeoUOyHe4uvoLnrHe9miyFslsEVjPhJ1nc92JEi5iWyCMcHVMpdTnvj23P5FPTNQ8EYJIelHfVHXRd+di+ZP0SHt7P+aMeT5Io09nqqURfN0YKh0LvCceRt3yyj78xu2ee5CtD46FsNA3ryYunZIUupdOODkZVsGno8z0LCYRhP9XkigZHJ74Hl08nJUMMwjFbH5qFfrFpyZcg1hYwqKPcwcWjhWzEXJR90oCfxRmUww15Y34k6WmaDh9NE727WjcLVphyBJN2FHnSdl9XTGQssAjqYN1t7wE02tcnBbXqORAKfXeNQuKQTsynj6Q5e63HfH6wGP7tG3dmiRxR1663Sod1IQ1vxXwPwt3jbMlzasDFPzDzwiuPvny+WdGz3MEvDOqZZ/wLtvuqqSjtq++XDzh2MbBltE6IeNQxPYC4OFiTXfPq7KZx3uZT8v37F2EIiYEQi2/Clo/e2A+HA50Le48zn5GQknLwXd8k/giv5Pbo3I1/2A1gBim5C2JBrCY+u/PlbU2tuH8UXH3x5GMKpRak3I6O7xsWfvck9DJHvN1cabs2y8grFMjgXfnTTB3qW9ysy3h2NMREg2eOnyFDwDQI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(396003)(136003)(376002)(346002)(451199018)(41300700001)(8936002)(4326008)(66946007)(6916009)(8676002)(66476007)(66556008)(38100700002)(86362001)(2906002)(31696002)(36756003)(5660300002)(7416002)(31686004)(6486002)(186003)(6506007)(6512007)(26005)(53546011)(316002)(478600001)(54906003)(2616005)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZE96eDdtVjdsZ1gvMkc1TGhDMS9GbVFVblh2RG1CYUZsem5GV1Z5d0ZlYXov?=
 =?utf-8?B?UUNVMmQ2RUtyNDVkOHdTQm5KYUh3VzAzc0hWajZqNFR1SnIwempGS3BmOFoz?=
 =?utf-8?B?amoxZkNJQTRvWlhwcUx5QXQ5eUtOWWhGRUp1cXNZNEFUWmVFb0VDcmx0RkVy?=
 =?utf-8?B?NTU4WHdJRnNmM3lQenpWRXgrMUtaaEppR0pGcm1ZamJwd2c5NHVRaG9Yc1Jq?=
 =?utf-8?B?bUR6dW5kc2JocndqcnNycVRHbTNzRkNrRXJUbjVNVXFvclJ3Sno1OWZrK1pj?=
 =?utf-8?B?OHI5cGVqWXRXL2t5dmxoVU16NjhXcW9yMlFhTTRlWW96R21sckg4Uko3YkNu?=
 =?utf-8?B?Vjd2c0pBc3RUQnk5NEVucWlRT1g0L1lYWjJXWVdyS21icFh4eXl4QVBRMXRE?=
 =?utf-8?B?M3grSHpRVjUzR3lRMFpUNE9KUTFIMWM4Tm1Pb1FETlM4L1RWZDE3Q0N1cm9C?=
 =?utf-8?B?bVA3bzZMOEpuQ1dOR3hoUVBxVUJvS1AzZ25WYkVPY0R0WGlMVTlITXJKNFAx?=
 =?utf-8?B?eDV1bmxzZEhXVHlwcTloZnhRUWQyU0pWTFpCdkxFOXh5a085WHZGNVFDWkNZ?=
 =?utf-8?B?dG9zUjliSmRWZEh2V0tSbTJqRW5tMUxtVktlOC8rNHExd0NleHE1c3ZFdFZo?=
 =?utf-8?B?elYxTy8wVmhPZUl3NDZoWUUrOVVxaFpMckJTWWRIaGJyOUxNZmJ3NDIrTENn?=
 =?utf-8?B?ZnN3dWlxaXZSeDJEYUxmeW5mWEhEQmRBWEN4VGhvcXN0dnh5ZUdNWllCNncw?=
 =?utf-8?B?Uml5WGlrbnptVnd2SHFMMUptQStIcTNEZVJYZ1VhK1JhMGJXaVVQU1dvLzF0?=
 =?utf-8?B?TDdzSTdpUkJUMVFKOU14QWVRZmg3UUNuVnYyNjhpQ2Q1T1BSSlU2cTZsWHNh?=
 =?utf-8?B?WmNyNEdYaE1iSzdteEZsSGdlZkJONUQrMHpZUHlxZUlMOUc4TzJpT0JUdkpF?=
 =?utf-8?B?Q2xSTXlrOVhyUW9tOW1qTDdUZTdCUTZoWi9UZTFqdm5zV0JDNDNSUUZFTlc2?=
 =?utf-8?B?b3hBUlFTWm9YMDBIVjNTcTlwMENXbGNyMGs0dGtPUWZGcXZRanVNM1RqeWNN?=
 =?utf-8?B?OUxEaTFuSjdtUlNVMWh5Q1pCQUpBa0RwYm9pcGFaRmFGNzh3aFBTRUo2UUR0?=
 =?utf-8?B?Qkh6MlprbCt6NFZ5b1ZGeVB6Vzczb2h5QkNWUEtNREoxcXBSZ0g1Szl2eG5w?=
 =?utf-8?B?a1AwRkJvNjNzQklBVEZZMXdjVVpzMkhSQllqNGFSVHc2VUhPVHkxTTd0R0xh?=
 =?utf-8?B?YmYvZWNiMFNtRUlZSzAvUXFSdVFjYjhMR2tQSk1qZmhiTVdOU3hpN2ZtNm9h?=
 =?utf-8?B?c09rbnI2bTd5NE9DYnM5L3ZjSjliaUZmaVNzZ1Q3QUdIamdBREhBdjN5NzF0?=
 =?utf-8?B?dmQ2ZEpkTW9xQ1NZaXBuZ0ZFd1JTK3h5WUlBdTYzYjVWejRqUGE0dEh6bEZz?=
 =?utf-8?B?bGxTV0JXTEd6clJyYUE2NFQrcDhzekdCVTN4VW01Ump6TWdYdG1USkplWkRM?=
 =?utf-8?B?b0JtOW11OU00U1lYZ0xGZm1DMlQ1UnF2aUxxaFhMRWk4NHdoYTB3LyswY3Zr?=
 =?utf-8?B?Rm1WYkFPUXNSYThLZmp2ZW1jMURtZ1Jkek8rTzJBVXQrU2RERjFrOGRDSGR5?=
 =?utf-8?B?YndRMVp1Q3pXd29SRjdpU0FyU3hGK3RVZDk4T3ZWVjF1U3JibDUzdk5BYVpJ?=
 =?utf-8?B?RE81R1ZyUnhiSmQvdGQ0MEZ1RE9GNFZuZm43dVpnejcwbUJwY01xSnR5T29w?=
 =?utf-8?B?VG4wVStReWhiZ1p2UWp1WlE1QitUY3BWZUJ0YTliT2J2Ky9qZ1pJcnNqWkUv?=
 =?utf-8?B?aUJrTStLR0FwUWc4L1NCL1k3WE9wYmV6U0crTU1uWVByVyt0L05ueWdyY3pl?=
 =?utf-8?B?ZnJNNm5HZjJIcmJzUlF4UUpmdU5YMURqdGpjMXpFa3lNdytmS0gzWFUrNVh1?=
 =?utf-8?B?cFFNSTRXZ0ZLa2pBajRKb2U5U3VUczZidGdmWklCOUNoM0dJYXZnK0lFMU1K?=
 =?utf-8?B?dFpwSjJiR2pDalk2MXVIUXNmckNKdFlsVGFpNjJPYzV0ZlVQWUxrcUpidHlT?=
 =?utf-8?B?MjZVS2tWR3RCclAvejU5RHVUMGh6Rm9Oa0xCTlhPYm9CeHkyMDVJaFoxSUI1?=
 =?utf-8?Q?NpQgqQFRfTNqXi1NWNUaRHeAZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3ad4c7a7-fd59-41bc-0b83-08db29f5821c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 10:17:43.1065
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7wlWipdCnJB0NvBNLTys7zeCRc2y1Z+LU1K0orOTa42XO55IuLroIPtkDs9MUBBqX5OVkPpYwEwYn/OKVj0RGA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9898

On 21.03.2023 11:09, Huang Rui wrote:
> On Wed, Mar 15, 2023 at 11:57:45PM +0800, Roger Pau Monné wrote:
>> On Sun, Mar 12, 2023 at 03:54:52PM +0800, Huang Rui wrote:
>>> From: Chen Jiqian <Jiqian.Chen@amd.com>
>>>
>>> PVH is also hvm type domain, but PVH hasn't X86_EMU_USE_PIRQ
>>> flag. So, when dom0 is PVH and call PHYSDEVOP_map_pirq, it
>>> will fail at check has_pirq();
>>>
>>> Signed-off-by: Chen Jiqian <Jiqian.Chen@amd.com>
>>> Signed-off-by: Huang Rui <ray.huang@amd.com>
>>> ---
>>>  xen/arch/x86/hvm/hypercall.c | 2 --
>>>  1 file changed, 2 deletions(-)
>>>
>>> diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
>>> index 405d0a95af..16a2f5c0b3 100644
>>> --- a/xen/arch/x86/hvm/hypercall.c
>>> +++ b/xen/arch/x86/hvm/hypercall.c
>>> @@ -89,8 +89,6 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>      case PHYSDEVOP_eoi:
>>>      case PHYSDEVOP_irq_status_query:
>>>      case PHYSDEVOP_get_free_pirq:
>>> -        if ( !has_pirq(currd) )
>>> -            return -ENOSYS;
>>
>> Since I've taken a look at the Linux side of this, it seems like you
>> need PHYSDEVOP_map_pirq and PHYSDEVOP_setup_gsi, but the later is not
>> in this list because has never been available to HVM type guests.
> 
> Do you mean HVM guest only support MSI(-X)?

I don't think that was meant. Instead, as per discussion elsewhere, we
may need to make PHYSDEVOP_setup_gsi available to PVH Dom0. (DomU-s
wouldn't be allowed to use this sub-op, so the statement Roger made
simply doesn't apply to "HVM guest".)

>> I would like to better understand the usage by PVH dom0 for GSI
>> passthrough before deciding on what to do here.  IIRC QEMU also uses
>> PHYSDEVOP_{un,}map_pirq in order to allocate MSI(-X) interrupts.
>>
> 
> The MSI(-X) interrupt doesn't work even on the passthrough device at domU
> even the dom0 is PV domain. It seems a common problem, I remember Christian
> encountered the similar issue as well. So we fallback to use the GSI
> interrupt instead.

Looks like this wants figuring out properly as well then. MSI(-X)
generally works for pass-through devices, from all I know.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 10:18:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 10:18:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512295.792197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZ4V-0008DM-Oo; Tue, 21 Mar 2023 10:18:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512295.792197; Tue, 21 Mar 2023 10: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 1peZ4V-0008DD-Lj; Tue, 21 Mar 2023 10:18:27 +0000
Received: by outflank-mailman (input) for mailman id 512295;
 Tue, 21 Mar 2023 10:18: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=gNSa=7N=citrix.com=prvs=4373eb648=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1peZ4U-0008D3-8I
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 10:18:26 +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 b491823c-c7d1-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 11:18:23 +0100 (CET)
Received: from mail-bn1nam02lp2040.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.40])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 06:18:19 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6592.namprd03.prod.outlook.com (2603:10b6:510:bb::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 10:18:17 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 10:18:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b491823c-c7d1-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679393903;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=cVLAeorRfOJNodM8Cgsl+D4JfekTvFt3q9/CyxQDbbA=;
  b=dylsnFJApy5bw2iMFrgTlR3jFae/EASjptHz6LfEPhM3Z4E2oa1Bh3vt
   In0KkzcD9ptqNuWoLsiWPMhDO3gvsu5Y6GcvpYEx3UFeolEDFPkQK65i5
   n53Jn+rHZ8F4OxQu7EyLhP1UscRaHaqhD0ItwV9BT6rBItv5Fjlrabs/K
   E=;
X-IronPort-RemoteIP: 104.47.51.40
X-IronPort-MID: 101682582
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:drNyMaLI9CMGnGMlFE+R6ZQlxSXFcZb7ZxGr2PjKsXjdYENS1D0An
 zMYWDuDPqnbMDb8Lo0nb4yx/R9V757XxodjQAJlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZnPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5FOmNy7
 LsUBQxdUQqllsy82Z2VQ9Vz05FLwMnDZOvzu1lG5BSBV7MMZ8mGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dupTSLpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8eWxXqlCNhPROfQGvhChmyInTQ3LRMqcUqAguL+sHCnXOwcA
 hlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml1a788wufQG8eQVZpa9E4tclwWT0j0
 HeImc/kAXpkt7j9YWKQ8PKYoC2/PQARLHQefmkUQA0d+d7hrYovyBXVQb5e/LWdi9T0HXT6x
 WmMpS1m3bEL15ZXj+O84EzNhC+qqt7RVAkp6w7LX2WjqARkeIqiYI/u4l/ehRpdELukopC6l
 CBss6CjAComVPlhSATlrD0xIYyU
IronPort-HdrOrdr: A9a23:OTGeJ685V+T9N2pW2CJuk+DjI+orL9Y04lQ7vn2ZKCYlCvBw8v
 rF8cjzuiWE7Ar5NEtQ/+xoW5PgfZq/z+8R3WB5B97LNzUO3lHYT72KwrGSoQEIcBeOkdK1u5
 0QCpSWy+eeMbG5t6rHCcWDferICePmzJyV
X-IronPort-AV: E=Sophos;i="5.98,278,1673931600"; 
   d="scan'208";a="101682582"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QV89mGK+2aSMQeDTgUIEa1g3fQXQPMK/PDPhW+WFgqzFnrUoa9tJsLUaL+q5qviKOXtQC+j0ozzJlKKAjR2pumPotxw4X6ZW3MiZx9CsQ77Oky22caP3DHAd9jPwJO2X92Os1vA6tE1b3GghQwvqficgSD9COKOFd0hPeLtmuUMEfc84veNMa5jMRs96shmidUoCwjnDVhFaPTMMsjZUGzhl2TPz9NVFGeKnQQKbgyM6VStkjtBceZ26KynIfYbvqk8+A1cgSsj495xta/dsXU0CVUZxuCSg14Cjvlna+2Quw+K+X7xWxBw6j+HQxzsX8FTkYdZnX6+mlkitVO06oQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w7pNI2lOTWTJSy3yy4DlRG2H2RV1SYngs6WL/wKhKxY=;
 b=TIhTUSQI2fhNI4STQKN+YnCMGhWlqodsCpqkYfEKFyEkoEpevA5srwxCyfNgMysaxz2Q1vezIUAbyY0sQexFJWixf0HGs840TMtb/KXBFDFU5V6w4rhQq8U06dgDjVRgXLjtcTTQXjY5wS2CrEX3XACXXE2/oPAywjAZHccEdVnCKQiWFp7j1lNoAWLN2W4vapnMy0l8ZNzAOxvRIBWknRcLxYh0dlZAur9WqMBwxeGh/xd3WzGRS4UU5LL9G+abEK1sHwkty7EpXm9kxhOPopK0IMjkBQcbQWd3OuW7xDuRG00WJIXZUISKaKAUxrwEQmFoSzNYHGO1fi5hnx0RMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w7pNI2lOTWTJSy3yy4DlRG2H2RV1SYngs6WL/wKhKxY=;
 b=ffkqkYH9i4wgl6xkVKFJjbDvXx+sSZ9wGGDN5KbrmevqyM07yAZo/lYpJV03K8kUdJ0Yg4uikt3Vk+legS2pxW5g/WsOMfdyYdrueHOXGwPTtDwfWpY82RSyBg0wThO9zVTWLZlZ0aKiolxDKkbUzOFU46mcxaRS3PBnwP1avuo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <a5c65e6f-c764-17ea-3e60-fe04d0ed4982@citrix.com>
Date: Tue, 21 Mar 2023 10:18:11 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/vmx: Provide named fields for IO exit qualification
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>, Kevin Tian <kevin.tian@intel.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230320182052.1831486-1-andrew.cooper3@citrix.com>
 <8e247141-a210-64c5-3831-a39f252de1e5@suse.com>
In-Reply-To: <8e247141-a210-64c5-3831-a39f252de1e5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0660.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:316::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB6592:EE_
X-MS-Office365-Filtering-Correlation-Id: a595558b-5760-43e6-4e77-08db29f5964e
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kENrDAT/+JjoMeBpHkiVWeElPoNWAs5f/qARnK60F/4c+aGBvadqqF5Itn9sw9MZpIVMh/RL177Wyg4c16zNralIBIY0a9yveMZlUJZS+xySG2vdh6hnX4x0K17z1ufd7iPVfi0uEsqJlf81AlL5aDSU0z+YevdjIWewzj9PWVcNGSXmiRO8eanDvkTMMVWo4Kii8qxCdvou1PU32WoXzXzL5Msm5wmLjN5uwtmZWORVDHkZeegFK1bhfg1IcZCMBYRGknOMVyWmYecpEmc+8ZqkTp3T5zRYE0s/BlLASkrKINPpt9XH0GWfKq0n76dyyb3g2poLAt903cbHaniQO7jgJBhfmRWDe7/Z3c+t0736hYgO6/nBRXUAFjt9TtNREHgqhaO/hWHEb974JXBgaX10hqFopS6rlQWgmVN2kQIuQxbQh8FA3zUeYmKSTnuQABKKTgOJZJpWbB08Qly3RTMz9haxZ1Vjpyq4h4ApzcqBIgwvy7I+qSmL2AJqzg748Wg5V0daXOmng8Gs6uKiYBVfixcZ/KwxhzL/ExzkHS0LQeczPuqspYqTlCrilkVHtRxvQgi873jTtKSi91rfp0PddSAgqVQE6T86X7B0k5Stw2MlNi8adA4kTKJ/NEQn0LlWrGxuiiXa+heuirTwyr0KCkwJO9iBWUCWv98RmEPWfusN3rfoQLT4uyOtriCYoYcz2hPPunrmmK1YuO+CRu6DUwGDKbZT5A1GnPhDr0A=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(346002)(366004)(396003)(376002)(39860400002)(451199018)(38100700002)(31696002)(86362001)(6486002)(54906003)(316002)(8676002)(66556008)(6916009)(5660300002)(8936002)(36756003)(66946007)(66476007)(41300700001)(4326008)(478600001)(2906002)(82960400001)(186003)(2616005)(6666004)(6512007)(26005)(53546011)(6506007)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YUJUNHNzak1IQmV3dGFDUUxFdWduZmx5MEREbG1SVzJoV3dkWk1aWmQxSEVS?=
 =?utf-8?B?QUhpdzZOdnpaMFcvNURVdkhxaGZFK2ZTc09PVzdyL2RjbDNXK0E0TEROYWZn?=
 =?utf-8?B?Q3d0OVRQNUlwQWw2Um9RaVI5Y0FNTWRhOGsrR281ZU9vdnQxVHVhLy9nQTRp?=
 =?utf-8?B?ZDNXS1RydzZYQURpcEpkNTU4WlVjTkI3K0FOVzFGTUZYVTV5bGRSaU1Cd3di?=
 =?utf-8?B?ZDhRNU5PRksvMytBZVkzMDdvUG5oOU9wOHlwd2l4MkRjd1ZodmFxemwrV1Fa?=
 =?utf-8?B?blNEZFl4VE5Sbkh1Y0NtSlRVSGJvdTBhbkVDTEsvbXQ1ZUYreStuUXpBUmRk?=
 =?utf-8?B?d0g3VEVrK3N4UTdpTXc5L29TN0tjZ1o4SlhvbEdiNmUydk5Sckk1TUxBSmpT?=
 =?utf-8?B?Y2JSdW9tbC9NeEFWeHd4YVZVUUQyQWw1VmtaVDBYbDVTc0gyY05nM0NhUDhS?=
 =?utf-8?B?bWdCQmMvbkovVzlZMUZhVU1rdkVubVBRclY5NnBXV1lHS1BaU3E2REF4eito?=
 =?utf-8?B?SGwzM2RZczJnR0F5UVN2KzdkOU1oaUhibDJKVytOMXdpK3AyU1VVNEJNUGpr?=
 =?utf-8?B?QTNKN01XeFptUXhmOWFoZHVwSytYOGxLOTdoU0psa25VMTlHZ1R0QkZhUllP?=
 =?utf-8?B?aVRIRjExTURIT2FubnpEWHFFVEZQOU5NeWlIMzg0ZnFMS1hKRmlwMmlQbEFX?=
 =?utf-8?B?OFM3VEQzNGl3NmFWRC9DejNJbi9mS3NFT3FoclBkQUNrQ0pPZ3k2QkkwKzNo?=
 =?utf-8?B?N0hVVWlRRThFVHU1RFFkNDcvRnlrdjF0Q1FPQlB3cFhmUkM3ZFM1RHFyMXNY?=
 =?utf-8?B?eFpnbEtoQVkyejJubmFlWW9LWk5PVjhpSmFlcW4vQUtXdmEwVDZOc01uUXlV?=
 =?utf-8?B?eHZuNkRYaENMWmRiUEd5c0NwbkJ1cHYrN0sxK3Z5eXoxZHZKSEttVFJrYyt6?=
 =?utf-8?B?UlE5elJUZC9FcEZFS01VZS9OSENoRWlONVhkdlFuQWhXR29rUEVoK1cwdHNE?=
 =?utf-8?B?K0JabUhSd21QMTRMRDZIMGUzanFHZlpTcGlnY3hQeXhDU3YwUUdqUXYybjN2?=
 =?utf-8?B?d3p0TGk2L3B3eVZKcGlIVjZiQXFPM3ZxTEVXRXdRcU1aRVlMR3BvN3hSZWdr?=
 =?utf-8?B?bVpmNWI5RGFpeS9hOFdiV1I4Rlo4TjYwUWdMTVk0ZS9SOXVtdGJSNEVSWTE3?=
 =?utf-8?B?KzFoRmlENUZpRC9LR3JjODZSb0huUnFkR0wrZFZNeTFibmJISXhzSHhrcnBP?=
 =?utf-8?B?T0p3Z255WXh2SklRbnVRMDFwQ3Fic0lORmxLK0xuaXljZ2V2aCtGaTNhblAr?=
 =?utf-8?B?cEF1ZmxxakN3RGVRTml5d0pmWUQ0cGpSQnpsQnlialVXYWZORVpGSEc0Ujdl?=
 =?utf-8?B?bmNLUUo2RWRyRE9USmROcXNJc2lRWXpWalErdHdVRVA2SGlzeXlXeityNkJE?=
 =?utf-8?B?elZiNXhtQVF3TE9RT0ZZZVQxeStlNWEwSlE4Q3BKa1A5UDBhMjh4Y3BTQmxk?=
 =?utf-8?B?VGhUSk9Ud3lIUE1RQWFvNnVqN1V6NVVwSTRTZHBjTldaWVlTcUZLNmMyYWdP?=
 =?utf-8?B?aVAzUWpMZTRyV05LdlJLSk5SMjZzbjRqaWJOMHBUZXNkZENKWUlDUFNPRkxu?=
 =?utf-8?B?di9lUVZvZFZvSjlSNVVMM21pZzc2bld2VTdPZXNnZ0FKK3RjbG5DekpEdWox?=
 =?utf-8?B?d1V0S1VVU3h2Y0UxTFNDaUIxcEM0aGxvaCsxZWhsUnBmOUxqYUhtdllVN1pP?=
 =?utf-8?B?eHRaQ0JNN3l5M0d6QitSKzF1Ni95eU9uOFB0amtUWndtaytoZDFJR3hTMTk2?=
 =?utf-8?B?RUZZQlgxTjlZWDVINCs4akN3amNESmsyeE1oZUV0Kyt4QTdVQVIxQzVVRWM4?=
 =?utf-8?B?SkZXczVkQTAyb29BaWlxZUswTVc3aXY1VUJmS1JSUVp2YmVGQTVXcm5UUlp5?=
 =?utf-8?B?NVlyd0xDWnpMYWI1R0ExV0Z1WU4zZXFVWXNOVG9ReG9oeGEzcDVmOVJhaklL?=
 =?utf-8?B?dEF0WHc2NytubTRULzJkc3pwcG0vOWc2dWxyVTVuUXVnTVJHSFJibFRiRzhl?=
 =?utf-8?B?T2gzSklvdHdKRUJlSjBvaEgzZ0NGMUpMNUtMQnJFTjdVaXFHd1B4dnY2SlZR?=
 =?utf-8?B?b0FaMFdFN2swdlhXMDhEcjZKaTRFUW4wYXphbU9uZTRsTGNLOC93UU5CVGRO?=
 =?utf-8?B?blE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	TZCRJPCFW9TIVMtNQD47Hcbwj8JJhF80Fg2bc4IxiFyv4a0PPBYbC0qjh8HVVj5kem0ZAL0YMuhkGHg34W+sZDQwtah3AYVtLWuV0CfdNMShglXoADTAPviHY5c7kWGm4O+WQNtpdQqT+N3j1JDPyF8es95oDy3ou7gghIAmYjyeQf+JvNJ1tT5FmRnPshUY1ZuVjk2dhcXlWZBEsrsLh/VLrtQ0olshPMx0mLt9MdEbxlbb+XF4BH/9SvS1PSy3W6blyi0ePexsO87lYHYDGQ9QPhRuccBDGaSJ8bLMJZ2oNV7Fg2dytZYqtX1GcWcRBQph+tEauKe6tN0INSofQ0Y0q1ShyMuFARpYcjGInXBmpHSPITng2zK0wW1x0N3kVjE7haDkzZYmXdkk22Y5DAQegkgcQSO/VWCxnAiY81OFpvF5sdx/Ba62Ak8Vu9Rw7RN1LDJzEQkfbJHcH3roOqNmtNcQDmkpVNerdeSS9j3yRN+IzxR03of3iCX4wZH850/UNv+m7Z+85R1M1Et9j+gD5x62mNYgDGC5/bG11b+G2QJKhkyqNHrjR3IZxJcpKwtO9fq649hshCiQzsE5LqKE9AEFJaZL9xpopyJjHeOk+qU8uL7k0eezWF0T4whyk+o2ZR/77xedljKF5WPh24Cwq53QqGvg/sKp/MIXh0Vw2tAA4VRHYIqRYGnYUucPCliMrA0T6WNJfFJjgjwkBKrPeKPO3I5H5jlVoaqPxVfjyluPxGW99j9L3lj2Bptj4oqyLmZFsfevCRCxMmBRGYSWCFGKfJ0rkPKMRbuxTaNsmXm1cIP9vNF6Tu76f4WyKf6nj9cycS9Q5BlG+zEFhAZ8JgUj8lUaks600GuS3oc=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a595558b-5760-43e6-4e77-08db29f5964e
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 10:18:17.1935
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jlh3gM/A6bC52WLEcP0K+TCbFf3lObiAkoF6uQTbC+r1QJaoVEDFfkQjuarDNaIFv0Pq763dOEWg8rFIoLRkaWWNbPkP19epKE7nJc451WQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6592

On 21/03/2023 7:59 am, Jan Beulich wrote:
> On 20.03.2023 19:20, Andrew Cooper wrote:
>> This removes most of the opencoded bit logic on the exit qualification.
>> Unfortunately, size is 1-based not 0-based, so need adjusting in a separate
>> variable.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> In principle
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> but ...
>
>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -4560,23 +4560,37 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>>          break;
>>  
>>      case EXIT_REASON_IO_INSTRUCTION:
>> -        __vmread(EXIT_QUALIFICATION, &exit_qualification);
>> -        if ( exit_qualification & 0x10 )
>> +    {
>> +        union {
>> +            unsigned long raw;
>> +            struct {
>> +                uint32_t size:3;
>> +                bool     in:1;
>> +                bool     str:1;
>> +                bool     rep:1;
>> +                bool     imm:1;
>> +                uint32_t :9;
>> +                uint16_t port;
> ... I'm not sure this is sufficiently portable: Whether a bitfield of type
> uint32_t followed by a non-bitfield is padded to fill the rest of the
> containing 32-bit field is left unspecified by C99; this particular aspect
> isn't even "implementation defined" (afaics). Therefore I think it would
> be better if either uint32_t was replaced by uint16_t, or if port also was
> made a bit field (and then perhaps also of type uint32_t, or unsigned int).

Port is a naturally aligned uint16_t field so I'd prefer to keep it as is.

I'll drop the others to uint16_t.  Furthermore, as it's simple cleanup
specifically for another pending patch, I'll commit this now and follow
up on the other thread.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 10:20:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 10:20:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512301.792207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZ69-0001Lk-Af; Tue, 21 Mar 2023 10:20:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512301.792207; Tue, 21 Mar 2023 10: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 1peZ69-0001Ld-7P; Tue, 21 Mar 2023 10:20:09 +0000
Received: by outflank-mailman (input) for mailman id 512301;
 Tue, 21 Mar 2023 10:20: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peZ68-0001LX-My
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 10:20:08 +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 f3fa759c-c7d1-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 11:20:07 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8350.eurprd04.prod.outlook.com (2603:10a6:102:1ce::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 10:20:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 10:20: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: f3fa759c-c7d1-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hyvKgq+9nhdaDq25iyJD4+nOTdqBtKPkB84AktQJi7EDeTQwIdF1+/gpUEdJ2PzwkeN0vWiYvL8qw6k/M2Q5V5G+yBQWDUT1nQFSIc9TCqj2NwWoLnl5aJVLxmtjkHR22QzxxIj0Kfw2/RjTTKppu/0+Mf2NX1UR22KI800bny7DiKgNhV1cUjBhCgXLnu3XD1HQPip6cdniABO842tQj3+35oiQNwn+srhsd8uMpBMI5oaOR2j3if4v4f7sUujLV+V0Kyz+hakWOa2WKMV/LxvSuRW/fkvNba6pLx3wfTXu5VTKfVrECvkT7rvPhSK8IGiJntffBiRmawK68HtsXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=G7Htdve0SQ3Y3tsPQp5D5V+al7+vdnQg8kbz/lS9jdU=;
 b=hKbGU7mYaU4Vna9KzETv9Vhp100j+ySahEBuNaZ1c3O/GwmrGOxao5MYjin6BJBATJvZudr9IgboLgBs0tRjsrRSREQ28PngxxjRmQwIkJBJ6XbkWQRkdjpbBYeVIO79JVfMJ4c2LBKcQvBjpAZikG5RtI2FGR/l2i8mA6imfXJlWRMLOPwjUUZ7lz2+Dw/Kom6+3ofIwIpEKd+OKtN9l7cwnQW+rgaybqJCO1LNFXu3QmbdztpTc/tz9piNuLsoNbVZCKS7xFNi9meQI4Gl+Zhea5TpvLPLGE62K4csR+JZaOB/xh5uEcqCLWq8eyMSmBLw26+DKNUQhG59DtINqw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=G7Htdve0SQ3Y3tsPQp5D5V+al7+vdnQg8kbz/lS9jdU=;
 b=13Sbolnot6v3vQgcX+K+tFFXTJ1lK4mJrTDXYnzEA6jfJFusmiuM7vZa8zwuukOMSaLEBhxfj0n7RipjpHw+dSzYLGaZ7uTnL+SG4V2vYPJUIrBrrTzzKTRJlELDWncvMrHh/eMNLu1Rkhyz095fZIzAmSI5Bd1EtyOjtHIIZvj5Pf3P0BbK1JyO9ywCQYkM4QsRq4I3IR477EdJosP2GmGr85b56/S88geNsTOUDoSuXtUREgoNN8ODpNHtTNeHZSKzg+oN+V04AQvJD9ksn4nGY+0JCTBmbVNODXNAeJd+lw8IyKctu/dBQEPJs+21z8VhSX71euQ6IgKo2ngrhw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
Date: Tue, 21 Mar 2023 11:20:03 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
 "Koenig, Christian" <Christian.Koenig@amd.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 "Huang, Honglei1" <Honglei1.Huang@amd.com>,
 "Zhang, Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com> <ZBl6iU6T1CsWqVx9@amd.com>
 <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com> <ZBmDl8XjIos57EIy@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBmDl8XjIos57EIy@amd.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8350:EE_
X-MS-Office365-Filtering-Correlation-Id: f9acfe9f-e588-46ae-b116-08db29f5d6f0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sg36CV+/sioBzl2AWEFJ7bu3CeGTUK2irtIW76HXTg+9ilGC5mkpBps43HfhNNlDIJw6Awz+VxvgbGeV4rNTpxnVvVf960n8sJmszlrX34C3GdtuiFt/Sa/a6MCgcuRT5BvIeDuAT6X+279qQiXxEaqZi0+440qBzBhdAqGZn5C2dF6BMxQIy6aKvsbIMcfG/4AVVIZdUQmR6CCMBOhW0KJX52vZ+xncjQINMHMrdTQHyejcYi6xLVvYDJCGb3lsJMXKQ3ykDB5Pawy+cqEkoWbxNWptrg8ShOX36ag1y9ATi8TeZhPeO0KutNxTKMuArDW5ZtlBwWRNvqr6v2JUO63j8hFXmqIlEK1T8gZqVWu/5uiPUAWPHG2Wn3/5cMd9ftM9uQV0cYZw0+BGerGU7BmyFqE5cgcEoYouFRe4c/rbWqWxmf2+8jWX9uZRN13af5dfNHOD37yX/eGbTgBdYd4Ij6aE6gbidIPwOMeONcmnOU7Wj8OH4cZvJrf53x1t2YRVYVnoFpSe2LhgK+zz164jakALR2TwopMbF+m46AVOfwpir67QxuWUHwoB67GcdN8ClAIUllsWd5WlDmQws+GjkPLzi2TIUYd/g3puzslFGMIDEdz3l4CLnIXBS77P/Av1jofzyFUr4nlOHndKD7NibFphDeAXwL595iJycRfGmgT94xdIXyODfaNXmBhZjfXVvy90Wj3w7jX+1AgJVEDVidT6NyW2c75IoiHFtBA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(396003)(136003)(39860400002)(346002)(376002)(451199018)(8936002)(5660300002)(7416002)(86362001)(31696002)(38100700002)(2906002)(36756003)(4326008)(6486002)(478600001)(83380400001)(41300700001)(2616005)(6512007)(186003)(53546011)(26005)(6506007)(31686004)(54906003)(316002)(8676002)(66556008)(66476007)(66946007)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L3RKTlZZVlRBMVNTeHlQN1dhNGlQaWJ5ZEM1aTRVM0tkV3lsMEoyVHE2MWhI?=
 =?utf-8?B?VVlQdFE4QW1heG9JY245aTFaSnN4NE5YdDYyUzZnTW16R2NQeDhETWtJOHo3?=
 =?utf-8?B?K2NvelppZ3RhWjhFYzJpR0dzRzgvT2ExZEZHL3cxOHhjUy9zUzI3b3Y2ZzhX?=
 =?utf-8?B?MVFqUG5zSjBpZXM5NWJiMW9YN09sOFFBWXVWMVkrdVM4a0VSUHVXMGRjM3Zi?=
 =?utf-8?B?OE1NeXZJNForMGZSd3VheDNlZ3dmUHVJNzlIVVhaM3V0Y2RCakRJelF1blA5?=
 =?utf-8?B?Tm50Mnd5eGpiT0ZFK01mUVlxbm4zV2grQmNOUy9GOWdLVldPZTNQYmswSTBN?=
 =?utf-8?B?VHhWZzZxMkdrS1dyN2VSMDhBRGNPVFl5QlFJYkttZjRyMGV5RUNWZnNyeVYv?=
 =?utf-8?B?eTlIUmNMUGNnUE5odXo0V2Jsb05DdTJEY082M3pxcW44dDJ4bzNSVlpxL1BB?=
 =?utf-8?B?akg2NnJIYzQ1MHJxbnNONTRjREU3WkVPL2xvdElmcnp4MDRCYzlNYzNpaFJG?=
 =?utf-8?B?WTAzOEZQYXFxcjhKdm5kQ3E0RmxTS2t0VVg5QnBNR1VpUHZBUWRja29tNll0?=
 =?utf-8?B?clpkRUZKYkdUSldZZ0ZrYzNJaUtIZ2lPZ3NFYnBVSk9nSEpZZjY0TkNGNXJE?=
 =?utf-8?B?b1l2RXpZZ01QVW1uSHcvSXg5WTdScnNSM3F0bEphK25mQ1RMdldlWFM5VFlM?=
 =?utf-8?B?MVo2bS9RNk42K3VsRmg0ZjNJVGdYSzJJVGxKejJyWENCSWxMUUFGSXVtZE0y?=
 =?utf-8?B?U1d0TWUxSVUwYXBlRWQ4MDNHSnp0TXhtSGs0WFhlczUwYXRMSmtvNHVGQTdR?=
 =?utf-8?B?MEMvRHU0N1RnNGhaNXlYTERsYk94cTRkY1ZRRFFRV2xtdVpKQ2ovREVidFZO?=
 =?utf-8?B?dzdMSElIWUlFZHRaYVVVQTlreWtJcmVDaWIzZS82bDR0eFdYVGF5cWNseVll?=
 =?utf-8?B?bXByWWVGeU9mUytjeUxsZGJXSzVIa3Q5TXdvbFJQOGtVNTMveElJeU56eEgv?=
 =?utf-8?B?TnorUG5LaHk3R2YrUmFJK1ZwNTlqdllxUkxoTGhoREdyZGxVcXJjd3hOQUNz?=
 =?utf-8?B?NzhtZDlEVGFpVkxLV1NSMlp2OFVEcmpMdFRxVFFaa3JIeTBiRmhOWmxkZTJR?=
 =?utf-8?B?bFJjUW4wZXRYQS9ZMUZ5SUYwb2IwbTI2ZWZXS3ppdXhJcTl1ellLNXFFQWtE?=
 =?utf-8?B?MExBNURWVGZ5bG16S3liMW5rYlBzQm1WYUhWQUw4ZFo5YVJsR1VFWFAvZ3Az?=
 =?utf-8?B?MHI3eXR0eDU0dzNsbm50Q0xVUkZxT0FreGtieSswalFpdVBnU3pVZW01UTlS?=
 =?utf-8?B?QVNCa3NKb1hPS2wrQmptREZTdGhTZlA1M3JrYnNQOWhEZXBPSlpXNzZJN0hq?=
 =?utf-8?B?a1QyZnBreVp1N09ra1N4WEpQeWlMd2dKV3VqWkVyaEdRMGhhZXMvWXZsc2xY?=
 =?utf-8?B?YmlaeFM3eXRvTit5RE5Jd3p6K0ZRYUVnNldHZ0E1Q0hkNkM0OHl3elhrREhZ?=
 =?utf-8?B?NWRPZFcxdnhpSVBITEZhdlNmOXZKZGdqSWxLSjhSN0NQWHJkc3hLY1NGZ0Fa?=
 =?utf-8?B?dTNXVHg1WTJOOU9UcDZkMEJPOG9TTXNYSEN5NEJLenFvQ1BFMC9FdTFJWEpH?=
 =?utf-8?B?VHlKZTFhSGcxTldiR09ONnFBMlM5ajN6Q2VxYThmcmR2bUtVNWJKVjBqdHNP?=
 =?utf-8?B?SHRlZ1dLRkRJb3VWcTdKUG5KQmpwMTRuakEwTDZ4SFVaeCsvWnFoZmgxZmZ5?=
 =?utf-8?B?OStnSlNuVURTcC9PQlRIK0JtU3lXSEt0Y1hsemt4cS9sOXY0bGJzNzlaZGYv?=
 =?utf-8?B?RXh5Vmd6cis3MjFOYUJNQmVxQldLbkhhMCs1MDlncEc5OEo2VEdxdzhhR3lZ?=
 =?utf-8?B?VzdnOS9xR1FOOHNUUTg5QTlEalQ3eWMzVWMwMkYrTE5XQ3o0amlNWEFvWnRw?=
 =?utf-8?B?cE9waGNXa0Y5blFTd3RwVVBOR2x3VjlkYy9iZHdvT3FSUXlMSi9VbllTV0RY?=
 =?utf-8?B?bzBBOVo2Si9qdktjM3QrUDFCTUlyK0hneFlPWW1GVUZGdmtBdWdXSC9JSzRi?=
 =?utf-8?B?SXUyVElTWGVKa2k1VlVrZ3MzZVhjL2hWUDM5cmRxSyt4NnZSb0Jxa1Y2OUxP?=
 =?utf-8?Q?Ipu2rPSmfH/CKh946I7XRwW7w?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f9acfe9f-e588-46ae-b116-08db29f5d6f0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 10:20:05.6475
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tXldqQox4X68tufAlhVwRoqBRRXLQLaoBn5TDlJX+Jk3ww5Xmqhpz0z3EavWFWRBWkTJZYrSSi/I+DDbd94n2w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8350

On 21.03.2023 11:14, Huang Rui wrote:
> On Tue, Mar 21, 2023 at 05:41:57PM +0800, Jan Beulich wrote:
>> On 21.03.2023 10:36, Huang Rui wrote:
>>> On Wed, Mar 15, 2023 at 12:02:35AM +0800, Jan Beulich wrote:
>>>> On 12.03.2023 08:54, Huang Rui wrote:
>>>>> --- a/xen/drivers/vpci/header.c
>>>>> +++ b/xen/drivers/vpci/header.c
>>>>> @@ -392,7 +392,7 @@ static void cf_check bar_write(
>>>>>       * Xen only cares whether the BAR is mapped into the p2m, so allow BAR
>>>>>       * writes as long as the BAR is not mapped into the p2m.
>>>>>       */
>>>>> -    if ( bar->enabled )
>>>>> +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
>>>>>      {
>>>>>          /* If the value written is the current one avoid printing a warning. */
>>>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
>>>>
>>>> ... bar->enabled doesn't properly reflect the necessary state? It
>>>> generally shouldn't be necessary to look at the physical device's
>>>> state here.
>>>>
>>>> Furthermore when you make a change in a case like this, the
>>>> accompanying comment also needs updating (which might have clarified
>>>> what, if anything, has been wrong).
>>>>
>>>
>>> That is the problem that we start domU at the first time, the enable flag
>>> will be set while the passthrough device would like to write the real pcie
>>> bar on the host.
>>
>> A pass-through device (i.e. one already owned by a DomU) should never
>> be allowed to write to the real BAR. But it's not clear whether I'm not
>> misinterpreting what you said ...
>>
> 
> OK. Thanks to clarify this. May I know how does a passthrough device modify
> pci bar with correct behavior on Xen?

A pass-through device may write to the virtual BAR, changing where in its
own memory space the MMIO range appears. But it cannot (and may not) alter
where in host memory space the (physical) MMIO range appears.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 10:24:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 10:24:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512304.792217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZAG-00020U-SY; Tue, 21 Mar 2023 10:24:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512304.792217; Tue, 21 Mar 2023 10: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 1peZAG-00020N-P2; Tue, 21 Mar 2023 10:24:24 +0000
Received: by outflank-mailman (input) for mailman id 512304;
 Tue, 21 Mar 2023 10:24: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=/aZB=7N=citrix.com=prvs=43775ecc5=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1peZAF-00020H-6S
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 10:24:23 +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 89702918-c7d2-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 11:24: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: 89702918-c7d2-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679394260;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=B476DAs0DWiIC9ZHrxZxpowmSvC2692orHcMW30yFDg=;
  b=hEoX68eSt/LEkze9fU0LD5bQzIzXTFewofKqS0kx+sQM7hrKi/f/Amf4
   w6SBQbt8j527zFhaceQRE62S+K5QXFP7NFZHMO1LlK7hlHSCusXdSKaeb
   T33S0i4CHBvYEaU3zylIXP/Py+BmQr4S9sSBGXdRaIKEmLc05/fZmXW++
   A=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 101046303
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:zYrTq64Q2Y7SPGnfxXTY/wxRtCPHchMFZxGqfqrLsTDasY5as4F+v
 jNMUTqOPfyNMWv9KYt3YYi//EkO6J/cxtRjTlM4+XsyHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasR5QeH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5my
 vIJdzMoNAG6tdmLkZW4RetPoPkjFZy+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrnD5bz1frkPTvact6nLf5AdwzKLsIJzefdniqcB9xx7B/
 j6YpDyiav0cHNrP4AqP7SyPv+vCrAXSBdNOSbP/1sc/1TV/wURMUUZLBDNXu8KRlUqWS99Zb
 UsO9UIGpLA/7kWxQvHhXhezpziPuRt0c8pdFag25R+AzoLQ4h2FHS4UQzhZctskucQqAzsw2
 TehndrvCSZ+rb69RneU97PSpjS3UQAXInUFfjQsVhYe7p/op4Rbs/7UZo89Sujv1ISzQGyuh
 WnQ90DSmon/k+Y02bTk/nWdkguenaWYaQ065CbxY2Kcu1YRiJGeW2C41bTKxa8ec9fCEATR5
 SNsd9u2t75XU8zU/MCZaKBURezyua7YWNHJqQQ3d6TN4QhB7JJKkWp4xDhlbHlkPc8fEdMCS
 B+C4FgBjHO/0ZbDUEOWX25SI55wpUQYPY65Ps04l/IXCnSLSCeJ/Tt1eWmb1H33nU4nnMkXY
 MnEIJ33Ui5EUvw3llJaotvxN5dxnkgDKZ77H8inn3xLLoZylFbKEOxYYTNin8gy7b+eoRW9z
 uuzw/Cikk0FOMWnO3G/2ddKfTg3wY0TWMmeRzp/LbXYfGKL2QgJVpfs/F/WU9U4wv8PzbuYo
 BlQmCZwkTLCuJEOEi3SAlgLVV8ldc8XQa4TVcD0AWuV5g==
IronPort-HdrOrdr: A9a23:b96nqa/r6KvHlSM04QZuk+DPI+orL9Y04lQ7vn2ZLiYlEfBw9v
 rPoB1/73SftN9/Yh8dcK+7Scy9qB/nmaKdgrN9AV7BZniFhILAFugL0WKI+Vzd8kPFmdK13J
 0QF5RDNA==
X-IronPort-AV: E=Sophos;i="5.98,278,1673931600"; 
   d="scan'208";a="101046303"
Date: Tue, 21 Mar 2023 10:24:10 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: Juergen Gross <jgross@suse.com>, <xen-devel@lists.xenproject.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH 1/2] tools/xl: allow split_string_into_pair() to trim
 values
Message-ID: <a9c4430b-3205-402c-9eba-37aaffbf0c29@perard>
References: <20230317111546.18061-1-jgross@suse.com>
 <20230317111546.18061-2-jgross@suse.com>
 <CAKf6xpsV1Xq0PiK_iqBDV0fpvkA0K6E-cbFXvhS3grjiuAkMGA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAKf6xpsV1Xq0PiK_iqBDV0fpvkA0K6E-cbFXvhS3grjiuAkMGA@mail.gmail.com>

On Mon, Mar 20, 2023 at 01:05:13PM -0400, Jason Andryuk wrote:
> On Fri, Mar 17, 2023 at 7:16 AM Juergen Gross <jgross@suse.com> wrote:
> >
> > Most use cases of split_string_into_pair() are requiring the returned
> > strings to be white space trimmed.
> >
> > In order to avoid the same code pattern multiple times, add a predicate
> > parameter to split_string_into_pair() which can be specified to call
> > trim() with that predicate for the string pair returned. Specifying
> > NULL for the predicate will avoid the call of trim().
> >
> > Signed-off-by: Juergen Gross <jgross@suse.com>
> 
> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 10:26:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 10:26:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512307.792227 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZCW-0002bG-8S; Tue, 21 Mar 2023 10:26:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512307.792227; Tue, 21 Mar 2023 10: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 1peZCW-0002b9-5Q; Tue, 21 Mar 2023 10:26:44 +0000
Received: by outflank-mailman (input) for mailman id 512307;
 Tue, 21 Mar 2023 10:26: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=gvkR=7N=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1peZCU-0002b1-HE
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 10:26: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 de1f810c-c7d2-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 11:26:41 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 BL0PR12MB4961.namprd12.prod.outlook.com (2603:10b6:208:1c9::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 10:26:38 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 10:26: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: de1f810c-c7d2-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FnlIhzyOQleGwleTZHUxlygQEW4UsWyeLrsWAljI1WcapKAY0XdXLEV9y76zjSmB/2Pvtfnspp5Di/Hrty9ZnrYQ7KlRycZD4jUc2PfRJPwsc49XERT8+/6hyjWj0t0sEbDH5tyDVlGpv6wJVWRCUxbwbhYaOU/VQrMRGuRnjwAmnfgD/QW/iUU5U1PzJMhb/tMQ+2MN6FtPHKfbkLmOWb8IBm70XEw+FKD9n7GlnWjXkof6BNUmPTaopuID8YW06F8qjZZ4EZbhdOiF2UZw5GvO+gvUPBVxH/fLpCbW5kDhM+QNSRmPqDtMcTdZ4RoUVZhdZtoi+QZ1cgm0z/8BYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jmzInlVEA9Um9i4v7ttmI2ehcEwXQMSIvu+TQR330sQ=;
 b=KUmYiRqel0A8t54Y/5RqG3+NScA+83ubVxYSk2iTEt+CjG/kGN6ylQT7uwGu1JObPhVO3ubQ4BTLM4OA2wynJmdt4CAD6THkrACtWz8SqSgnMpS/9NlqTnEdT+lTyEARBc+GibjKt5sCTj1ecbuCZmhbBtJSxZ3wGmQR7bqhOBDTPQLzz3I1wxQdH7PVv8f4g7wNz+np9sT8GAnp3FCxm9qE3dh83wvwKJRHnH51ixtIKKJUKElBeS5Xs1vcJqXveD9PgeqMdhmDuHcAm+Gb6sp/rZyy/V9pSyElUAtOjflOkUaZSr0OebY9dtJoBpiWY1k7nnnB9+LM0GlStNK1SQ==
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=jmzInlVEA9Um9i4v7ttmI2ehcEwXQMSIvu+TQR330sQ=;
 b=Kuk3OBlzfSOs12QJI1vDS2Nz+cXm66HOG/ZLeZxMy+dv9RvRqLG7pH82C7KXl9jN5Flw9rAXy9ErO+N7p5VFOPT58IQbG9lB4AI8iXNCXvMKxtWQIYoARJmlU55FVpbpvNmbh8KRN0qhMYEeDgeR2tN5Y7slVlRp9RLfNpttIzQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Tue, 21 Mar 2023 18:26:10 +0800
From: Huang Rui <ray.huang@amd.com>
To: "Koenig, Christian" <Christian.Koenig@amd.com>
Cc: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC XEN PATCH 0/6] Introduce VirtIO GPU and Passthrough GPU
 support on Xen PVH dom0
Message-ID: <ZBmGQiJ1pnorhI1j@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <e8e2a3e7-5191-e310-0900-a6a9b76c0458@amd.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <e8e2a3e7-5191-e310-0900-a6a9b76c0458@amd.com>
X-ClientProxiedBy: SG2PR04CA0214.apcprd04.prod.outlook.com
 (2603:1096:4:187::17) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|BL0PR12MB4961:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c4c1918-fb5f-46a5-9c51-08db29f6c0cf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	o/FX3S6Sw1pCgHg5PtGR1SM0YPijjt6AM0F4P4MYfxMy9HdGFfNDWLLkee9uSUjf2CydgIEo4IsKDN21LmwNhTSNjPy5Tl0NfnxVwMYGY8Af6/6iahy8IyeuiNhjXh4MNcCWRYlAR1ih/DUIdcJ+dhSaS7AY4kLOt4JZr1Ps+rFxvW/lHGPOmsq2g6fZYmPO/N2EvwQLV7kc/joKw4ZZs5Ia8l9CrT4D4X/Yui6VqOIwMsc92B5UIuOfXnMj/TtfL8RS2k7XMJYZP+03nC7P+Wx081thgk2gU1ds+yOP3zgFPEaqp2p8ysCRJZYfrjg4nUjlxOvX8Ql0aH+qDDre2FOfFx34PKOgFRPLc3CkVf1UTmdmt1Ivory2gudzEYiLkvIGgjmwPh7QdMC3h0/XanZ3UwrY4/qb8Dg7+G2ZBA7ut74SedHN99Wru3peeq/tOIhDcuvsEY5VMUSe0nsOmCk2HIUWvU+9zaeiF2nOcua9q6sxW2I8DO+iQl3Tq/fWCvnrh7FR4vZF2KeKlQ6NSciDOwAYtfGMyZI7oFXMBYwaQl+ccyL9Y5zGcs/BAUUbM/A21EmZXZlnGv/yb3oCfI4aAQ/NX56+otvqP9SqsWNUMb43rwmqeCkSZGC+3p/w1T8mez+knAQNtpH/17Gq3uuI9maeqQ/yP5VVFW/G0gvUj8Zq6QrbgBNTaAVUrjMpE/t6Spggfu1OCZXOYj2X8lRl+5UzFtvA5mAEAuQei4U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(376002)(39860400002)(136003)(396003)(346002)(451199018)(66574015)(38100700002)(86362001)(316002)(37006003)(6636002)(54906003)(8676002)(36756003)(66946007)(66556008)(66476007)(5660300002)(6862004)(8936002)(4326008)(41300700001)(478600001)(2906002)(83380400001)(6666004)(2616005)(186003)(6506007)(26005)(6512007)(5930299012)(6486002)(966005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?cSw91TssLnQNNoD4vSuwaB8UrWYFORLtq9nPGEPi0S/Sb5TbtSDiqQd0/0g4?=
 =?us-ascii?Q?anjLq/WHjTiDEswLetLXjZ7uwoBrpsNZIjAJefYF1yt3RaWSsFV+LMKrHjq0?=
 =?us-ascii?Q?GN0uS11dNDZq8koLOd0j8sVCazsUVAh5T7zEFrG+t/mqEZv5PW9Lhj7zSDrl?=
 =?us-ascii?Q?rRO0KJ+5T2+X2QvFsfwEnuyb0tb7l8Lygw7p1L8gF7rD/oS56fYWJOEMCixy?=
 =?us-ascii?Q?vHURSkGVv2zRv6iYU7AA5i49NUleLW7YIY4qfaM0+A+VIwQSQrD/nq9Akj1a?=
 =?us-ascii?Q?JYmVhGwsgx/DX1CNodsyO+lk45w2SgpXrXLfpKElB7GlTx/i+XH/eqM8EEq6?=
 =?us-ascii?Q?zt8NJtYJpU8Q8H8iPEXpJT3VbvbgCHtj9VGxDishLZNazD2eB/PY4HgwKgfY?=
 =?us-ascii?Q?v3fLvPpbwOYqg7ZY4ciExDaonwmQ0JbYHvC4zydzucBf/B+qbx54yQouOziA?=
 =?us-ascii?Q?Sq010mCBlR9QUGI9UqaXv4Azm6iTLTgEazI9MfBqh87q2a0wgckDQao3tQnU?=
 =?us-ascii?Q?BOB5jDlcIGOcNVFpW/TnBvuwB62Hr40nQZ/jBBNwCY8WkX6eYCIeLLhIEy6V?=
 =?us-ascii?Q?Oa905ccBzw+u9sN+KEkJB+UQSR1iW7BJspjfPxgxqEe9dkF/ZClA+t5N0lSB?=
 =?us-ascii?Q?3ebJkJSj8PjdWFVrWQksL7wdfEMvIR6Knli/NitF4hkoyUO22S3RiU3/hBL+?=
 =?us-ascii?Q?fvTKM9aJvcPjQwaiOqmPLGhp+5KG2On458hrJBnlCdqlzCjkGCtNYrtIb9Cg?=
 =?us-ascii?Q?T/hQzO4sPdfI+CBfiPYJCgO9bFDO3kl48r0tma9k2ulHiSAo6cbJBK0zrHOg?=
 =?us-ascii?Q?Fux73q7EAzEU/7J3KM8cBvy5NsAx62RQKnBr1YbOfSU+eLqkrqNB9dXyFNQb?=
 =?us-ascii?Q?CC9Dt+XbFujai+DKoYnoub8JHZdIaaWHbVrBMvAPzxnrjmnN5Ig0rAmzrYMs?=
 =?us-ascii?Q?OMXqm9UgMgW4UQIOm8wg7fhmEARuZovchC35oWdirf8OUWiO5jr8l2pkSj9N?=
 =?us-ascii?Q?V+hmhd7lHDhFaZuzQLsu1igC3UVF9eiRGTSpQwQUWk+VbaFFkwrzwOpj97V9?=
 =?us-ascii?Q?95hzqhikDPBml5cQpLd1+rGFJCSfFL2UjU41QMCWc5pIsAz5FUVyM2yPPvqw?=
 =?us-ascii?Q?Ft0SDg5ejyhJQSacWcDKnaFqUfvSUazyilEILH6pkMi99Bvyl3juCdV/0rSa?=
 =?us-ascii?Q?fOilVnMn8bE3c2ihHPp/8isCQqYXwQ0uIimLbZb3+cuPOTNiw+u5S4PXs9VX?=
 =?us-ascii?Q?scYsD4IABDp/zszQ8SNq5ZVM18RA+KheSXRukuVMDkjteO0HuL09eOrdvgKR?=
 =?us-ascii?Q?J6+onfMXhOr6+vl7gCTSnFgnBo+9vna6dwRZXtZE7tT/VKds58VqRRFvVlHF?=
 =?us-ascii?Q?d+H2SAuEmD5LjT+1zhbzMdQNlzYWnT4g94kYHs/NgsJMLDSFgujAzxzxkCJm?=
 =?us-ascii?Q?up9F2kvIko+xZZcYxWvJh+PESt56iWg4mBlBXt1tI7yQjKEpXQ4vXpyBrkgG?=
 =?us-ascii?Q?DY2uIaCdd1F090Ji6JJ9xGL5Z76DtSVyxvwE4YjbhyRkMCktqyF28iiy8t9r?=
 =?us-ascii?Q?IrG5CMIFJuQQgJt3njs9ZBypgx2w/t/mCnTEDNx4?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c4c1918-fb5f-46a5-9c51-08db29f6c0cf
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 10:26:37.9707
 (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: Vn6haXK5joa6zXxsXUZ3usIDGR9syzdYCMsEhUTG6d15+Y1NdfvFL+jBY7awM0b3WLJfQUCrR1t5kR6TJfIv8w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB4961

On Mon, Mar 13, 2023 at 03:24:55PM +0800, Koenig, Christian wrote:
> Hi Ray,
> 
> one nit comment on the style, apart from that looks technical correct.
> 
> But I'm *really* not and expert on all that stuff.

Christian, thanks anyway. :-)

Thanks,
Ray

> 
> Regards,
> Christian.
> 
> Am 12.03.23 um 08:54 schrieb Huang Rui:
> > Hi all,
> >
> > In graphic world, the 3D applications/games are runing based on open
> > graphic libraries such as OpenGL and Vulkan. Mesa is the Linux
> > implemenatation of OpenGL and Vulkan for multiple hardware platforms.
> > Because the graphic libraries would like to have the GPU hardware
> > acceleration. In virtualization world, virtio-gpu and passthrough-gpu are
> > two of gpu virtualization technologies.
> >
> > Current Xen only supports OpenGL (virgl:
> > https://docs.mesa3d.org/drivers/virgl.html) for virtio-gpu and passthrough
> > gpu based on PV dom0 for x86 platform. Today, we would like to introduce
> > Vulkan (venus: https://docs.mesa3d.org/drivers/venus.html) and another
> > OpenGL on Vulkan (zink: https://docs.mesa3d.org/drivers/zink.html) support
> > for VirtIO GPU on Xen. These functions are supported on KVM at this moment,
> > but so far, they are not supported on Xen. And we also introduce the PCIe
> > passthrough (GPU) function based on PVH dom0 for AMD x86 platform.
> >
> > These supports required multiple repositories changes on kernel, xen, qemu,
> > mesa, and virglrenderer. Please check below branches:
> >
> > Kernel: https://git.kernel.org/pub/scm/linux/kernel/git/rui/linux.git/log/?h=upstream-fox-xen
> > Xen: https://gitlab.com/huangrui123/xen/-/commits/upstream-for-xen
> > QEMU: https://gitlab.com/huangrui123/qemu/-/commits/upstream-for-xen
> > Mesa: https://gitlab.freedesktop.org/rui/mesa/-/commits/upstream-for-xen
> > Virglrenderer: https://gitlab.freedesktop.org/rui/virglrenderer/-/commits/upstream-for-xen
> >
> > In xen part, we mainly add the PCIe passthrough support on PVH dom0. It's
> > using the QEMU to passthrough the GPU device into guest HVM domU. And
> > mainly work is to transfer the interrupt by using gsi, vector, and pirq.
> >
> > Below are the screenshot of these functions, please take a look.
> >
> > Venus:
> > https://drive.google.com/file/d/1_lPq6DMwHu1JQv7LUUVRx31dBj0HJYcL/view?usp=share_link
> >
> > Zink:
> > https://drive.google.com/file/d/1FxLmKu6X7uJOxx1ZzwOm1yA6IL5WMGzd/view?usp=share_link
> >
> > Passthrough GPU:
> > https://drive.google.com/file/d/17onr5gvDK8KM_LniHTSQEI2hGJZlI09L/view?usp=share_link
> >
> > We are working to write the documentation that describe how to verify these
> > functions in the xen wiki page. And will update it in the future version.
> >
> > Thanks,
> > Ray
> >
> > Chen Jiqian (5):
> >    vpci: accept BAR writes if dom0 is PVH
> >    x86/pvh: shouldn't check pirq flag when map pirq in PVH
> >    x86/pvh: PVH dom0 also need PHYSDEVOP_setup_gsi call
> >    tools/libs/call: add linux os call to get gsi from irq
> >    tools/libs/light: pci: translate irq to gsi
> >
> > Roger Pau Monne (1):
> >    x86/pvh: report ACPI VFCT table to dom0 if present
> >
> >   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/dom0_build.c         |  1 +
> >   xen/arch/x86/hvm/hypercall.c          |  3 +--
> >   xen/drivers/vpci/header.c             |  2 +-
> >   xen/include/acpi/actbl3.h             |  1 +
> >   13 files changed, 50 insertions(+), 3 deletions(-)
> >
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 10:44:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 10:44:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512314.792237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZTq-0005Ie-Pk; Tue, 21 Mar 2023 10:44:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512314.792237; Tue, 21 Mar 2023 10: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 1peZTq-0005IX-MV; Tue, 21 Mar 2023 10:44:38 +0000
Received: by outflank-mailman (input) for mailman id 512314;
 Tue, 21 Mar 2023 10: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=/aZB=7N=citrix.com=prvs=43775ecc5=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1peZTp-0005IR-0t
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 10:44:37 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a6b5e44-c7d5-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 11:44: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: 5a6b5e44-c7d5-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679395470;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=eUR2Me9OkY3DT08WKo08mc5oUMlfDofz9Ul/ixMujNY=;
  b=dqR2OgR9ZcpBCy23i/xfUWR4cUXYpa9NN/0ZWuOL3qEBEHoSRgO6E/8Z
   CcOpAXKd/+hbTcuzNbyQ3Vo1Z2dgehMaqnw8cukU0ic1F9heYKhqgZRFx
   eZvDvy/X4hMRdeukMTEtoI8iUTv8xiHYiEDwGuEnh0DaKkoM6sB/7cP6O
   w=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 101594441
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:jjbuFqI+S4uS99LGFE+R3pUlxSXFcZb7ZxGr2PjKsXjdYENS0DBVz
 WsZW2CBafqNNmKjKox+bIyzphtX7J/Xx4MyTwRlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZnPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5KAnpPq
 acpdQk2Z0DcoMOmnIq/ENRF05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWleG0hn75YntApUicv6Yf6GnP1g1hlrPqNbI5f/TTHZwIzxrE+
 juuE2LRBCM4JoW8zT6+tWOPgcnehi/FAKlPG+jtnhJtqALKnTFCYPEMbnO5ruO+kVWWQM9EJ
 gof/S9Ghbg/8gmnQ8fwWzW8oWWYpVgMVtxICeo45QqRjK3O7G6xGWwsXjNHLts8u6ceTCQnz
 FaTk/v1BDZkt/ueTnf1y1uPhWrsY25PdzZEPHJaC1JfuLEPvb3fkDryTc1iTPWE0+TOEGGv5
 BGa8BA63Yg62JtjO7qAwbzXv969jsGXEV9uuFiHBznNAhBRP9D8OdHxgbTPxbMZddvCEAHc1
 JQRs5LGhN3iG61hg8BkrA8lOLiyr8iIPzTH6bKEN8lwrm/9k5JPkG053d2fGKuKGpxeEdMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QRM8MqK1fZp3k+PyZ8OlwBdmB2yckC1
 WqzK57wXR729piLPBLpHrxAgNfHNwg1xH/JRICT8ilLJYG2PSbPIZ9caQPmRrlgvMu5TPD9r
 o832z2ikE4EDoUTo0D/rOYuELz9BSFmWMus8JAHKIZu4GNOQQkcNhMY+pt5E6QNokifvr2gE
 q2VMqOA9GfCuA==
IronPort-HdrOrdr: A9a23:nsYtvatUijwdarnYtV1TVQIp7skDeNV00zEX/kB9WHVpm62j+/
 xG+c5x6faaslkssR0b9+xoWpPhfZqsz/9ICOAqVN/JMTUO01HYT72Kg7GSpgHIKmnT8fNcyL
 clU4UWMqyVMbGit7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.98,278,1673931600"; 
   d="scan'208";a="101594441"
Date: Tue, 21 Mar 2023 10:44:18 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 2/2] tools/xl: rework p9 config parsing
Message-ID: <319f2c2a-0166-4311-96a4-77ab54b6b853@perard>
References: <20230317111546.18061-1-jgross@suse.com>
 <20230317111546.18061-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230317111546.18061-3-jgross@suse.com>

On Fri, Mar 17, 2023 at 12:15:46PM +0100, Juergen Gross wrote:
> Rework the config parsing of a p9 device to use the
> split_string_into_pair() function instead of open coding it.

But that wasn't an open codded version of split_string_into_pair(). Now
if a value contains a '=', everything after it is ignored.

split_string_into_pair() would split the string "foo=bar=void" into just
"foo" and "bar".

As the man page doesn't say that VALUE can't contains '=', this patch
looks like a regression.

I start to think that split_string_into_pair() is broken. I've notice
the same issue when reviewing the "smbios" addition, and did proposed to
"open code" split_string_into_pair(). But maybe that function needs
fixing instead.

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 10:46:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 10:46:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512319.792247 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZVk-0005w9-8s; Tue, 21 Mar 2023 10:46:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512319.792247; Tue, 21 Mar 2023 10:46:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZVk-0005w2-66; Tue, 21 Mar 2023 10:46:36 +0000
Received: by outflank-mailman (input) for mailman id 512319;
 Tue, 21 Mar 2023 10:46: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=FNBb=7N=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1peZVj-0005vs-2P
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 10:46:35 +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 a290ebfc-c7d5-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 11:46:32 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.nyi.internal (Postfix) with ESMTP id 701E85C00F1;
 Tue, 21 Mar 2023 06:46:28 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Tue, 21 Mar 2023 06:46:28 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 21 Mar 2023 06:46:27 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a290ebfc-c7d5-11ed-87f5-c1b5be75604c
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=fm2; t=
	1679395588; x=1679481988; bh=95FKhddyLdCren1wAuCBkt9IZsvu1ZQ8OPN
	6M/vtTys=; b=POfzLuZIoJz8W6janyBsvixjJ6wEojvPAZKC8jkTrYBITbGWOEP
	nUo4j69c6cO4W+qKr8ihRlVzWpd5qkCS9n3TiMtZw2REJ8gJ7YwXDuYBtF+0GwgI
	fuSctgyZdPLNRlygsuney3h8YsvigN4VzodrIuYvpzbk4ugzO7DeHWSkxOWE63in
	JqmjvpYka2M8lFKe7s4MdbtV3Qc2o+i39xEg0f4lOiWyAOZhJgMC+Z8gFjVf5oI+
	hDDKwt0k/NNcwF8dAiG3YbEJrXfUmc69JypObqgo8RbOvKzdTYLBBi89ofCyRzSx
	UcPk09gENJhnfcBlsoMT+LdyCz/D3KZJgSw==
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=fm2; t=1679395588; x=1679481988; bh=95FKhddyLdCre
	n1wAuCBkt9IZsvu1ZQ8OPN6M/vtTys=; b=C4n0jxKDXpgEFjfz7MswTtlme+0Rq
	XBSPEUM1TZpccNe7t4qqTQqhd5hzhGRJ0nFzh63qWAbe6MowHW0yiaAXjoZFpF5+
	TJCgic6pxElb475iz4U4jopfNvYpP/3udYOU+jHomkuX7W0uiC2O7oavynmIgPhS
	63ZQbw4IgeYtOnTVNhxldhLZhjmh1Y+//pQnzXCMTX0DrvNOv0Xkzqr9bZWbpoGc
	mwznQwnx1P4jd1VXRPd+Lj4Le/WJPb+evzWzyYubCCxZn09cIRz7/UYyPnTpBETF
	OoLtyZ/dLCbwwLUJnUy6KhxyYBpA8D/Pj5VGSCUjST23U/3v4Gk/KGrYg==
X-ME-Sender: <xms:BIsZZBck4nyHTr1VxPibO_i9ITZHNlmRn5VTv8A88QyMw4t_rh-2bQ>
    <xme:BIsZZPMj4Nf6WtAFeQOq5MOaeap_-AF-cQAs5jEOKhVMhqtxm1a5a9aVb6W8d6EBg
    VSbnmwYqyq_8g>
X-ME-Received: <xmr:BIsZZKj4HyBVd_FZaducBJYHn2D_j-XoIY5jrjQ3vsctafs-hJaIzNyj3J450NnUd2AfUhl2UYSPTM9LNn1_MY4RPtXK5ADUesc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegtddgudekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:BIsZZK87x5ZOvyXxvLtGMQP_OUTlMe7X8JykaqiyX2r1xXB05bHeOw>
    <xmx:BIsZZNtnCzaDM_aAZGEpZUoz5XFs0bePWzHYYWZs_SXwaC38ZMkhfQ>
    <xmx:BIsZZJGW9GqR_35PN38UQo-3qEUKXd0fPLOAW_jNadjgJQkvrvIcAA>
    <xmx:BIsZZL2CJHDyf4lEYHqXhXzQlf_m1gubUwSVTnMnMJvtJEMY1H7NHQ>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 21 Mar 2023 11:46:24 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Elliott Mitchell <ehem+xen@m5p.com>, xen-devel@lists.xenproject.org
Subject: Re: [BUG] x2apic broken with current AMD hardware
Message-ID: <ZBmLADOlOF7n97vJ@mail-itl>
References: <a2e5cb62-9aef-4f91-b5e9-35fee6739fc8@suse.com>
 <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
 <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
 <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
 <e5b28dae-3699-cb0d-ab7e-42fdd42d3222@suse.com>
 <ZBSi2KfoQXo7hr6z@mattapan.m5p.com>
 <b2eaeacc-de5f-ebe9-a330-fbf9e20626b1@suse.com>
 <a2de5d87-ada8-46b9-090b-00dc43309362@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="nOKd/PPi4/T/vYBv"
Content-Disposition: inline
In-Reply-To: <a2de5d87-ada8-46b9-090b-00dc43309362@suse.com>


--nOKd/PPi4/T/vYBv
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 21 Mar 2023 11:46:24 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Elliott Mitchell <ehem+xen@m5p.com>, xen-devel@lists.xenproject.org
Subject: Re: [BUG] x2apic broken with current AMD hardware

On Mon, Mar 20, 2023 at 09:28:20AM +0100, Jan Beulich wrote:
> On 20.03.2023 09:14, Jan Beulich wrote:
> > On 17.03.2023 18:26, Elliott Mitchell wrote:
> >> On Fri, Mar 17, 2023 at 09:22:09AM +0100, Jan Beulich wrote:
> >>> On 16.03.2023 23:03, Elliott Mitchell wrote:
> >>>> On Mon, Mar 13, 2023 at 08:01:02AM +0100, Jan Beulich wrote:
> >>>>> On 11.03.2023 01:09, Elliott Mitchell wrote:
> >>>>>> On Thu, Mar 09, 2023 at 10:03:23AM +0100, Jan Beulich wrote:
> >>>>>>>
> >>>>>>> In any event you will want to collect a serial log at maximum ver=
bosity.
> >>>>>>> It would also be of interest to know whether turning off the IOMM=
U avoids
> >>>>>>> the issue as well (on the assumption that your system has less th=
an 255
> >>>>>>> CPUs).
> >>>>>>
> >>>>>> I think I might have figured out the situation in a different fash=
ion.
> >>>>>>
> >>>>>> I was taking a look at the BIOS manual for this motherboard and no=
ticed
> >>>>>> a mention of a "Local APIC Mode" setting.  Four values are listed
> >>>>>> "Compatibility", "xAPIC", "x2APIC", and "Auto".
> >>>>>>
> >>>>>> That is the sort of setting I likely left at "Auto" and that may w=
ell
> >>>>>> result in x2 functionality being disabled.  Perhaps the x2APIC
> >>>>>> functionality on AMD is detecting whether the hardware is present,=
 and
> >>>>>> failing to test whether it has been enabled?  (could be useful to =
output
> >>>>>> a message suggesting enabling the hardware feature)
> >>>>>
> >>>>> Can we please move to a little more technical terms here? What is "=
present"
> >>>>> and "enabled" in your view? I don't suppose you mean the CPUID bit =
(which
> >>>>> we check) and the x2APIC-mode-enable one (which we drive as needed)=
=2E It's
> >>>>> also left unclear what the four modes of BIOS operation evaluate to=
=2E Even
> >>>>> if we knew that, overriding e.g. "Compatibility" (which likely mean=
s some
> >>>>> form of "disabled" / "hidden") isn't normally an appropriate thing =
to do.
> >>>>> In "Auto" mode Xen likely should work - the only way I could interp=
ret the
> >>>>> the other modes are "xAPIC" meaning no x2APIC ACPI tables entries (=
and
> >>>>> presumably the CPUID bit also masked), "x2APIC" meaning x2APIC mode=
 pre-
> >>>>> enabled by firmware, and "Auto" leaving it to the OS to select. Yet=
 that's
> >>>>> speculation on my part ...
> >>>>
> >>>> I provided the information I had discovered.  There is a setting for=
 this
> >>>> motherboard (likely present on some similar motherboards) which /may/
> >>>> effect the issue.  I doubt I've tried "compatibility", but none of t=
he
> >>>> values I've tried have gotten the system to boot without "x2apic=3Df=
alse"
> >>>> on Xen's command-line.
> >>>>
> >>>> When setting to "x2APIC" just after "(XEN) AMD-Vi: IOMMU Extended Fe=
atures:"
> >>>> I see the line "(XEN) - x2APIC".  Later is the line
> >>>> "(XEN) x2APIC mode is already enabled by BIOS."  I'll guess "Auto"
> >>>> leaves the x2APIC turned off since neither line is present.
> >>>
> >>> When "(XEN) - x2APIC" is absent the IOMMU can't be switched into x2AP=
IC
> >>> mode. Are you sure that's the case when using "Auto"?
> >>
> >> grep -eAPIC\ driver -e-\ x2APIC:
> >>
> >> "Auto":
> >> (XEN) Using APIC driver default
> >> (XEN) Overriding APIC driver with bigsmp
> >> (XEN) Switched to APIC driver x2apic_cluster
> >>
> >> "x2APIC":
> >> (XEN) Using APIC driver x2apic_cluster
> >> (XEN) - x2APIC
> >>
> >> Yes, I'm sure.
> >=20
> > Okay, this then means we're running in a mode we don't mean to run
> > in: When the IOMMU claims to not support x2APIC mode (which is odd in
> > the first place when at the same time the CPU reports x2APIC mode as
> > supported), amd_iommu_prepare() is intended to switch interrupt
> > remapping mode to "restricted" (which in turn would force x2APIC mode
> > to "physical", not "clustered"). I notice though that there are a
> > number of error paths in the function which bypass this setting. Could
> > you add a couple of printk()s to understand which path is taken (each
> > time; the function can be called more than once)?
>=20
> I think I've spotted at least one issue. Could you give the patch below
> a try please? (Patch is fine for master and 4.17 but would need context
> adjustment for 4.16.)

A college has similar issue, where an AMD system hangs during PV dom0
boot, seems like (at least) nvme's interrupts are not delivered. Setting
x2apic_phys=3Dtrue solves the issue, which hopefully means the patch below
will help too (unfortunately can't test it right now). It's Xen 4.14.

> Jan
>=20
> AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode
>=20
> An earlier change with the same title (commit 1ba66a870eba) altered only
> the path where x2apic_phys was already set to false (perhaps from the
> command line). The same of course needs applying when the variable
> wasn't modified yet from its initial value.
>=20
> Reported-by: Elliott Mitchell <ehem+xen@m5p.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>=20
> --- unstable.orig/xen/arch/x86/genapic/x2apic.c
> +++ unstable/xen/arch/x86/genapic/x2apic.c
> @@ -236,11 +236,11 @@ const struct genapic *__init apic_x2apic
>      if ( x2apic_phys < 0 )
>      {
>          /*
> -         * Force physical mode if there's no interrupt remapping support=
: The
> -         * ID in clustered mode requires a 32 bit destination field due =
to
> +         * 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 =3D !iommu_intremap ||
> +        x2apic_phys =3D iommu_intremap !=3D iommu_intremap_full ||
>                        (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
>                        (IS_ENABLED(CONFIG_X2APIC_PHYSICAL) &&
>                         !(acpi_gbl_FADT.flags & ACPI_FADT_APIC_CLUSTER));
>=20
>=20
>=20

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

--nOKd/PPi4/T/vYBv
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQZiwAACgkQ24/THMrX
1yxMIwf9FkpMmf6cStW+EKcy44x4QbDEdzoL+sKCptHe4zhnHAFrk/kzJ/GbeI4f
9cnRPHfWGkk5mKTzpYLMjcXEnMsQiAUT8c+INwwbs9zqyrcVdKodOoTv3A9zrwsN
PQZj5l5cJJXa3hNSmMzhLjF0VvxTNUtIMqtdDsDPqZPWFgdndhC7ZQgcTK265KLA
BtnfjTGXhK9dz+RwlAdvw9uj1G1G32Vo440xgzXTAuGPy9k7CkD3QIkzJweINnFL
jLo1bg+QIm9tNhhqf8KXu7TelVR8xm2ttbYOG/LqkwFGUp15GFMBVGDkpOW0rbWD
ntTZ/+52EsRJzZDQ3H9RgqEruOx8gg==
=KXnC
-----END PGP SIGNATURE-----

--nOKd/PPi4/T/vYBv--


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 10:52:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 10:52:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512323.792256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZav-0007Vc-Rz; Tue, 21 Mar 2023 10:51:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512323.792256; Tue, 21 Mar 2023 10:51:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZav-0007VV-PG; Tue, 21 Mar 2023 10:51:57 +0000
Received: by outflank-mailman (input) for mailman id 512323;
 Tue, 21 Mar 2023 10:51: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=gNSa=7N=citrix.com=prvs=4373eb648=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1peZau-0007VP-SR
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 10:51:56 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 636fa344-c7d6-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 11:51:54 +0100 (CET)
Received: from mail-bn8nam04lp2046.outbound.protection.outlook.com (HELO
 NAM04-BN8-obe.outbound.protection.outlook.com) ([104.47.74.46])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 06:51:43 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6871.namprd03.prod.outlook.com (2603:10b6:510:168::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 10:51:37 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 10: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: 636fa344-c7d6-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679395914;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=4vslB0tTKMsZlt6+hf3BpgdH/Ju4JrT4X+OEl1YRGmE=;
  b=Pl7qDt3ZOr4GIZ5pJhJ4PYWtSzU3XE2haSOnFJpMrAbcyLj+J4U7ic2c
   be1eCpme3MVX0sf0ZgX+YOTWvA5OLtVb2JI27odHZ4AD3kra8PnHxU5K6
   PQRLA6kBHzX02ItbSIy67529iLaDu9+6WOQ47fykK4o3bNT2Jr6qfLRRg
   M=;
X-IronPort-RemoteIP: 104.47.74.46
X-IronPort-MID: 104101751
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:b6dXt6wG9TyE1UEyLld6t+c+xirEfRIJ4+MujC+fZmUNrF6WrkUPy
 GsbCmGEaf7bNmrycoonYIW+8RsF75WGnNFhGwFo/iAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6kT5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KTkX5
 9kTdCgAVUqkpeGT5pObR8p1pst2eaEHPKtH0p1h5RfwKK56BLrlE+DN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvDSVkFIZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqjBNtKTeLlr5aGhnXPm1ZNJww2SWGaqKLhl23jA4JjB
 FELr39GQa8asRbDosPGdxyjqX+HvxhZV99RD/crwBCEzKbZ80CDGwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxRutPQAFIGlEYjULJSMH7MPku5oblQ/UQ5BoF6vdpt//FCz0w
 juKhDMjnLhVhskOv4254FTGjjSEtpXPCAkv6W3/RXm55wl0YIqkYY2A6lXB6/tEaoGDQTGpo
 HEBktO28OMKAJeChSGJBu4KGdmB7veeOTzYiHZlHoUt+jqg/XKuZ8Zb5zQWDF9xM9wPcDvga
 lL7swJN6JJdMX2mYLUxaIW0Y+wo0K6mE93mX/LVa9NmY55teQvB9yZrDWaT0n7slg4wkKg5E
 ZadbcuoS30dDMxPxTC7Q+AAyrg17jgi3m7YWIr60wXh2r2bDEN5Up8AOVqKK+o/vKWNpV2J9
 84Fb5fUjRJCTOf5fy/bt5YJKkwHJmQ6ApawrNFLcumEIUxtH2RJ5+Lt/I7NsrdNx8x9/tokN
 FnnMqOE4DITXUH6FDg=
IronPort-HdrOrdr: A9a23:fUBB66nRG11mAsPJLSZFL/uO7o7pDfIT3DAbv31ZSRFFG/FwWf
 re5cjztCWE8Ar5PUtLpTnuAtjkfZqxz+8W3WBVB8bAYOCEggqVxeNZnO/fKlTbckWUygce78
 ddmsNFebrN5DZB/KDHCcqDf+rIAuPrzEllv4jjJr5WIz1XVw==
X-IronPort-AV: E=Sophos;i="5.98,278,1673931600"; 
   d="scan'208";a="104101751"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kks2GbL/NCXvSl4mWY5/YGwe1chpJcNv0ndbDcHD26P6Rlfg718E9Yka2zYNsmpkisV2fT1z8PTAOd3uE8Xo+jo6b7ySeqDVTPRF2p6qP26RdA6q9kHpOSFntEdRDrdLKx1++6aI9aKSnDSCl9kD2V0CViSBr6gwawSmr/Nhr1+s0Wx20FVkvVWNq0zD6GF3J9n66aFesi3EntNBU6BI0sb5ZSvuynourJ1yduQ2x0JjNcLoJq7dpPV/Ti+zAl93OPR4tD5PKhPXIKW/MNgR0ePNK/FBh0nXwph7Yim8wCIsDiN5GIXykbMm34JNB0qMSCl07p/2KxtwrcGc7qlFuw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NuO4yvFDd0U8oYpY90zXZiyXZhPKJMpiGHyQ7KKGbzs=;
 b=L+ZIFN+HasQMCKm23HbjdQKvOETTkFgKmfmkyBlN0pfVB+ddUveGu1I9obp/kcUMZMi9lr3AKWgVH36Zn+pZOnP+YyuGZUUNwdzkLcclj3PAViW1Jrsjh7Rex5QG4kjVm6xekpdVFR9dN+1QZYdlf6P8U7QWWvZ119ndVY9z3HTrvvvymuM66nLPqJlVcUpgpPK2KdVhWYXVk+4oJ9qrnUChEAbEal+XjHHG0KpnYKatNlr2oLhlVNs0xWlahVO9DUEpohRdIgjO/61aJ9VoIfeBlo/vvtU1uVRChFMUkMaEkwH7geYcdpow0brr6j30Hp99soJoyjyAy381503Zuw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NuO4yvFDd0U8oYpY90zXZiyXZhPKJMpiGHyQ7KKGbzs=;
 b=IJU6iQkEPFZVH5Vt4qz2xVSS7/pKwm26Og+yG6Qo1LqRT8Fsg4Q5E/c//OFkc4HzOftrkk03hZ14sKoJuURjtlFFbyx+f3Gg6w7b64mGST/qt4v2Ts6L6uV85j0Jqwx+d9/Qmmeaq7OZ6NAxUk2q0iWGYWiCLUkHP1cLI4qSg2E=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <61f94060-010d-2b28-d947-e5790d6d57e6@citrix.com>
Date: Tue, 21 Mar 2023 10:51:30 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH v4] x86/monitor: Add new monitor event to catch I/O
 instructions
Content-Language: en-GB
To: Dmitry Isaykin <isaikin-dmitry@yandex.ru>, 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>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Anton Belousov <abelousov@ptsecurity.com>
References: <1d3e2081fba9a1ce07c3e2a28eddcd6f51d52854.1679348946.git.isaikin-dmitry@yandex.ru>
In-Reply-To: <1d3e2081fba9a1ce07c3e2a28eddcd6f51d52854.1679348946.git.isaikin-dmitry@yandex.ru>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0253.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:194::6) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB6871:EE_
X-MS-Office365-Filtering-Correlation-Id: cbeb3ced-c12f-4bb0-1a2f-08db29fa3e9d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JPKpK1Y5O+bHHWp7d+ZXH44Ou0NPfrqrcDocD33WoDXTA2/AqH9n056YDPQF/3iKlSYDDKQSuNm+x+JyuIGYY4cgu0YSq7TQl0/GPMHuNMghs6vu4sN1PLJf8cMyd1hNgD8FJIxlW1PRO39E7b1p2p3ZpeIpuJDM0ABW6GJSzPqa2/iUCJR/rwLtsgDJE6kyCoyx2RxNQt23x8kxfVmctndFe3vJw6TXzp7puUXasAlxw00jCnDEM8sh6zcVjCUHe582r/Q2K06S347HXpWFekUzVyxGKpzsjcFlXWJBPQfWelUFQaiwYMo7sMTWEJ+uDPsBGnH41bPHiiReIi+ylWX513GtU6/YmlA9RJYXyS+TFc31UtkQynHChrRkh4020wPom/dygakhLCYtPtSZOHsk/0VDZfDuwWJccYQyS83uHIWKHNJcaU3n8hzyFHitViishbVACXNXnhNDXgb+brcyOAGlFilCnNXUH0XHOVNVxDXogtC9d8eCh6PhtEOWiTxa6T2MlaDJvV5mSifBhWQaDuUpsQax09xYFc6/WfR11FFZVPiBobjK5U9c/TI2QRtOrM0dGDgtqjdf/p7biEk0VDbkNZV7YhsAc3u0x6cx1WtvdTzLSPHMm08aPXTx0d7zjwYl+OgCEGiWfXZT0yVne/c5cKcj4pidU1JB4+se2hULgL+DsU4OxsjcZYGEQ07wTqAG9wsM4OHDLac9pU62DZq0FjptRD2vXyzCjNo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(376002)(366004)(346002)(136003)(396003)(451199018)(31686004)(2616005)(54906003)(83380400001)(478600001)(6512007)(6486002)(6506007)(7416002)(316002)(966005)(26005)(5660300002)(53546011)(6666004)(186003)(31696002)(86362001)(38100700002)(82960400001)(2906002)(66946007)(41300700001)(4326008)(8676002)(8936002)(66476007)(66556008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QnU2dnBZa2hDam9VeXN1OUpTdWFiTkkyVHQrNUg5SlR1L0grQkxST1kwdW1u?=
 =?utf-8?B?bEVMZlBkMVVrR3BKWkw1Lys2eFRRZmZhZ1V1b1VpU2dyOWxVTmRTV0ZkTUtp?=
 =?utf-8?B?VVBqMm5uZWtsRllXMGdiblFYQkNFeWc3YWZqRDdDN3NpQUNzK3BpUU44bEd0?=
 =?utf-8?B?TVpvYW82RHJPWDR5akszL0diOTgrbWJIZHR4czd5ZDFmUXFuSmZvSzlrRGUx?=
 =?utf-8?B?dmRObVV4N2M2VWtDbWdVbFZnUjFsR20vWFZycDNkd2RZSndWM1B2WXNXSnpD?=
 =?utf-8?B?dGxJK3phK2syU283MTZGNFkvSG5sWmQyOTFnZXZMZWVTNzBIcWRPOW16bmo5?=
 =?utf-8?B?TENNTkdzV3BERXY0SWhBYUpKbmNmeHpGamxtWlJwMDRmUExrRFZHNWJwajlC?=
 =?utf-8?B?NGYwanNlQ1c1Q01VWjd1TjR2VElJTUF5U1Erdm5DL0w2Vmdtb1c2VHJXeEVS?=
 =?utf-8?B?Tmd6dWVHQ0RzdlE1cEY3THU1U1FLVXorbmdlcVRIZnY0TGF4WlZybXRPWkd3?=
 =?utf-8?B?NlFNNzd6VDg3aWhUbGcyVWtJVWpwWjNobnZiM2JFTWRYQVY2MHJRUFZESWFv?=
 =?utf-8?B?QUtKOTN5MmhRMzA1YXlvc3RQNEpCNXRrMFM3VFhvZnVYRG9QdFhpTngxTjVl?=
 =?utf-8?B?YVVzV1RmVGhMZkNmUnBTb2dFWkNNeTFuSFhOcndHWmpMRFhpQ0gxVHB2N0JK?=
 =?utf-8?B?Y3BqbHZpWmVRalA0YlJNQ0pUZ0p5MWs4ZEdpRVdEcEJ4MmZ0M1JzODNiMVhm?=
 =?utf-8?B?ZnRCV3E2T3VOazU5UGFrWkwvemhsaUdqbHI0UUFVaG95ZzRIMi9wYlFZWEtv?=
 =?utf-8?B?M0FXTzJrVkZPbGNEd0YxL0tqYWxFYWY3U0FQUkM2eVdtM24ycitvRndlT3pa?=
 =?utf-8?B?d25icUN0M2dIMHNwemhlS0xaS3Z1SFBNUXBQVWZ0RFlqZDkyYzVMNHhyQWVz?=
 =?utf-8?B?UlVmbk1OQkhKWXkxNEZhcEJhZ2hicUNDMWhCY0FWdFUwOHIweFpwS2tqUGJj?=
 =?utf-8?B?UGoxT3NFU0EyWDVzTVN2UjZvUWJKaGlVOERQSmpCQW9UZnhCcGt4cVcvdTJh?=
 =?utf-8?B?b2duRU1rVEtjM1N3UTZySVJnNTdsbmJRdERUQ2lxQTE1UndRZWZLUnowQUIv?=
 =?utf-8?B?QzY5Q0ZXb29GVVdWOG92Mkl1UUNZcmZHRVFZWXVuamwyMGxDMDgrKzNRMHB1?=
 =?utf-8?B?MnN4THVMN0gzRldhQWJ5bUZqODBOMHZ2RldnTldZZ1l3TUNjY3RFUGVTYndK?=
 =?utf-8?B?c2RaZHh4RzdNYUZCM3JIWjIyVUR2WGx3T214MXVyY040b2Zqc0Q0WmxKMFlS?=
 =?utf-8?B?cmNyT0lZYWZ0SHFtbTZiT21YR2Q2MFJDRWNXSjQ3WEhNRkFFcmFRb3FuZHNm?=
 =?utf-8?B?MXhMVHRhWS9GakpMNHRsUGJESG5rcFRMWnh0c0pHcTBxUkpEaGxGM0gwSG9R?=
 =?utf-8?B?a2lINzJONVJoL0lCK2NRSjBib1I5c0xXczBTcHN5WWJ6cUxjU20vaEEzazk1?=
 =?utf-8?B?d3BpMGl1WXJoUlBIdXBhcldaYVV2TVNIYnl1OEJISTRsaEoyaVhxRFJaOUVO?=
 =?utf-8?B?U2psQ1VrdHE2OU5yWDJrekNiRGs1R09vUkprSkxCZzZ1cDNEMjJVZ2Mraklx?=
 =?utf-8?B?UlNhcTFpMi9oWDlNRWxINUt0VkZrQS9IMWFHNjNXRXBOakFVS3hzZFJaeUV5?=
 =?utf-8?B?ZWJjNzl1bS9mVzlZc2Y1SWhYUGtPeW5Ncjd6cmg4OVFwODBtQVdTdEtFYWpY?=
 =?utf-8?B?UXQyMkpvSDB4alRZOFRSbjV6M2Q1clFBOEY1ZSt4Z05JOFM0aCtKaHkzRzha?=
 =?utf-8?B?Q0ExNGswZ1BUUTFjbU42Z2pkSDRLS1lVMVNlWDlLYVFkS3pWYUlUUjBrOFhW?=
 =?utf-8?B?eTc5dTJRMFFVRDl0NU1VNlNoWXFySEF2MVhraFlhN3pmMWgyT3BRUXQrUDhC?=
 =?utf-8?B?T2FUS3JyWU5XSE5aUUJlNG0zNTFjL1ltTGhkbDBJaGhCMWFoTGw1d1FPQ1FQ?=
 =?utf-8?B?Szg2VlVRZHB1VTNFdTFEQXFvSEg3ZkZEKzI0SFBxcUR0S3A3T09TMFFpRURY?=
 =?utf-8?B?Q0Q0ekJtSGcvNzFPMXVSYU5YdlVybnUwVGh3Z2M2UU51eVlUaURHR1R4ai9t?=
 =?utf-8?B?SHczR3RWZGlhN1BtRS9aejhnemo3M3BzSmRYZEJ1OVY2UjBWNEEzQndramJn?=
 =?utf-8?B?a2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?bG56VGJ2M25jejUzYTd0S2tCNGVFeEdaZGxXUUNuS01SbU0vWng2QXpqald2?=
 =?utf-8?B?SXE0dDBLRG42WUkybkpVaEc0OHRPMWRCZm04cGo4UUYyeWdDWkZma3FGRi81?=
 =?utf-8?B?MFFWZ21IWStLc0duckZTcGhkR1dLUHBJNE5Dd1RKUHFMY054REFDUkE1dDRS?=
 =?utf-8?B?V2JQYjB4TE01VnBwN0JPRGtPY09FTnNXTllUOFNzd2pzUWxwM0FWOENhWkFl?=
 =?utf-8?B?R3dhTWJYSHpPMkFWZWwzeFVQMGJKMVBVK1BnK003TTRoTEhwVXJMRWg0Q0ZR?=
 =?utf-8?B?M0YvQjhvZm02ZmY3UDdqKzFuYWh2cm03VVJWNzFRSThzNVRWOU1EL0FQZ1pJ?=
 =?utf-8?B?M3ZVK1podzhSZWs5WDYwVWwwTy94a3p2V09GNXh3K0ZmUmpiNkJFcnBTVmg5?=
 =?utf-8?B?aCsvNkxKN2hzWGJzTHBVWEluT2d5U3BYemVyZ20vL3ZpWkFTeWJlaXF0ZUFq?=
 =?utf-8?B?UmVjQm9WNUI0c1N4dWNnSEdpdFk2REw4NHhxd3NmTTlMSXJad05uYzdGTUcv?=
 =?utf-8?B?bm1qY3hHUUFsbWpDZHl2RFE2Z3QySDZyNjNiUGxEd2ZrMVRuOWR4M0pmZEZI?=
 =?utf-8?B?LzRqVDdrYjVUaUJOdGNxM1N4SkJTMVE5eEVBL0xhbldlUU9NZ0NseDdCQ054?=
 =?utf-8?B?aEJWSUs4NHExQTVsSzBQWEZkY2VBZThwSmZvcVdyNXN2M2M5Tm5MQ2laZU1Z?=
 =?utf-8?B?WG0vT3BSL1puTGRnMzVCY2ZwRjZDZ3RYb3JZQklmellBQW9YOGdZeGs3S0Fx?=
 =?utf-8?B?cmJOUDdPVi93Y2g2ajdTOHRIQjZDVE9SS1h2a1Q0RHdZN0xhZFZUUkhzSlM5?=
 =?utf-8?B?N084dkNtZzZMSVZpZUFCaXdRYU9yVEpaV3NpNXlGdnU3YjhLM1J2K2RkWWlB?=
 =?utf-8?B?L3hTTHd2WjFBd09uVTloQklKOTR0OGd0bUUwdjcrVVJUVGYxajJvYWt0cmQ0?=
 =?utf-8?B?SWY1amhLLy9iK0wwa3M2M2xINzkrZkpmQjFkeWJwbk9YY3A2YTcrWGxPWDNK?=
 =?utf-8?B?T0QzSUZZZkErTmdMNVprUElxbitVZm85RkNHV0FVSU5YK2FrL1IvR2V2c1dz?=
 =?utf-8?B?akpwd1FWNEFGM3JucGpiMkpndkx6QUc4RW5zQld1eldWaXhLMitxUXI0b2xW?=
 =?utf-8?B?dnFRN1JvaGpZdjJTbTVyR0hRei9rbUdnMm9vZGx5cXdLVDE5RjhGTXEyQ2Uy?=
 =?utf-8?B?cHlTS1k3OHZ5WTZjTTRsSXZIaFp5cXBIVm5OUXRaUkd1YU1qQUJPRE9ScW8w?=
 =?utf-8?B?c2J4NHBuZ1N5SWtoMmR6RWFMTTlpRU00aTNXQzNIQTFKVGRrckJMd1ZLL0VF?=
 =?utf-8?B?Rk8zRGE4NEdCS0dwbjVZeWE0NDM0b3ZycytyLzJ5RWZwVWJiSmJPb05XNTd5?=
 =?utf-8?B?OW5JRk5sS1gzR2c9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cbeb3ced-c12f-4bb0-1a2f-08db29fa3e9d
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 10:51:37.4915
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yed3D46V7qc8S6m7qEq8jNsWXk5mFHeETJXeg8l9eiwz2jxEXcNETRh3kPRVQJJlhusQU9xsWHh5c87MsZXlhp8UuXnTc8v/d6LbGO6tR+c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6871

On 20/03/2023 9:56 pm, Dmitry Isaykin wrote:
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 00b531f76c..0b7a302928 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -4560,8 +4560,24 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>          break;
>  
>      case EXIT_REASON_IO_INSTRUCTION:
> +    {
> +        unsigned int port, bytes;
> +        bool in, str;
> +        int rc;
> +
>          __vmread(EXIT_QUALIFICATION, &exit_qualification);
> -        if ( exit_qualification & 0x10 )
> +
> +        port = (exit_qualification >> 16) & 0xFFFF;
> +        bytes = (exit_qualification & 0x07) + 1;
> +        in = (exit_qualification & 0x08);
> +        str = (exit_qualification & 0x10);
> +        rc = hvm_monitor_io(port, bytes, in, str);
> +        if ( rc < 0 )
> +            goto exit_and_crash;
> +        if ( rc )
> +            break;
> +
> +        if ( str )
>          {
>              /* INS, OUTS */
>              if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
> @@ -4570,13 +4586,11 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>          else
>          {
>              /* IN, OUT */
> -            uint16_t port = (exit_qualification >> 16) & 0xFFFF;
> -            int bytes = (exit_qualification & 0x07) + 1;
> -            int dir = (exit_qualification & 0x08) ? IOREQ_READ : IOREQ_WRITE;
> -            if ( handle_pio(port, bytes, dir) )
> +            if ( handle_pio(port, bytes, in ? IOREQ_READ : IOREQ_WRITE) )
>                  update_guest_eip(); /* Safe: IN, OUT */
>          }
>          break;
> +    }

Sorry for the delay.  I've got the Intel side sorted now too with
https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=f71f8e95c34fedb0d9ae21a100bfa9f012543abf

The rebase is:

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 78ac9ece6ff2..7233e805a905 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4578,6 +4578,14 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         __vmread(EXIT_QUALIFICATION, &io_qual.raw);
         bytes = io_qual.size + 1;
 
+        rc = hvm_monitor_io(io_qual.port, bytes,
+                            io_qual.in ? IOREQ_READ : IOREQ_WRITE,
+                            io_qual.str);
+        if ( rc < 0 )
+            goto exit_and_crash;
+        if ( rc )
+            break;
+
         if ( io_qual.str )
         {
             if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )


~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 10:52:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 10:52:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512326.792267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZbt-00081o-6I; Tue, 21 Mar 2023 10:52:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512326.792267; Tue, 21 Mar 2023 10:52:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZbt-00081h-3P; Tue, 21 Mar 2023 10:52:57 +0000
Received: by outflank-mailman (input) for mailman id 512326;
 Tue, 21 Mar 2023 10:52: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 1peZbr-00081T-Vk; Tue, 21 Mar 2023 10:52:55 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1peZbr-0001NC-SO; Tue, 21 Mar 2023 10:52:55 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1peZbr-0000GV-KB; Tue, 21 Mar 2023 10:52:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1peZbr-0007U8-Ji; Tue, 21 Mar 2023 10:52:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=6cQdzmEdHwDyAkxFAJNOHtsX/vGn0xUHkVuNoTxveJw=; b=Zbp4jvis+Zdgwk/4nl1FiA9gPi
	J2CyKRxNHpetteTvvS2Hgaq7d6+6+dnUJ5BMxzAJ7lzr/BPt+kGccEdnkflFgAozgvWjMKjIeyHTq
	VdkLDwN5gjXpaKbSeEDK+XytXhOGR3vMMg7EV5aw0ygpOwL0bC2OzrRfDd7yajDNvezE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179837-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179837: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=0d2686f6b66b4b1b3c72c3525083b0ce02830054
X-Osstest-Versions-That:
    xen=0bbf102d8794fb961cb103ada00999768547916e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Mar 2023 10:52:55 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  0d2686f6b66b4b1b3c72c3525083b0ce02830054
baseline version:
 xen                  0bbf102d8794fb961cb103ada00999768547916e

Last test of basis   179826  2023-03-21 01:05:01 Z    0 days
Testing same since   179837  2023-03-21 09:16:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   0bbf102d87..0d2686f6b6  0d2686f6b66b4b1b3c72c3525083b0ce02830054 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 11:06:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 11:06:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512333.792277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZom-0001Pl-GW; Tue, 21 Mar 2023 11:06:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512333.792277; Tue, 21 Mar 2023 11: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 1peZom-0001Pe-D9; Tue, 21 Mar 2023 11:06:16 +0000
Received: by outflank-mailman (input) for mailman id 512333;
 Tue, 21 Mar 2023 11: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peZol-0001PY-5n
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 11:06:15 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63db9dbe-c7d8-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 12:06:12 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7720.eurprd04.prod.outlook.com (2603:10a6:20b:299::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 11:06:10 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 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: 63db9dbe-c7d8-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fxdCieTJ/z0tnAezdNgwz7nFIsp1i4zk4TAvMGx29mYRXwJkOgabKl+aBMPlR/dQ+uEs5BlFECpXAvJGXFDwsz1GcWcHW7I8Vou8R/Lxq1g/IJ9HHqWOUKWSFuRnXuoGLAAWhI5X96IKn7Xpp16prfqb0ANVp6f61QXVDRrEX+bxoFpJq2uYYiQw2O3xdqxEk2Z6X2YwLbxhmRUNiDRRo0X225iDZJ4oM23sH25tb8xh5lSOJlp3MzXnEiCWaEBgxBwZCY8PurT8/DV8sl5PInSET6c4lHgCr9mJnDKXb7Vq+j4MAvCnMYfPqiF7e/k7pNbW22VbvO34G5Upym6tRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MSchx/4MgpMuciJuO4p+NjH1X9ySZ+yhPNiUtH8k0PA=;
 b=kf12n19SOLtyclpyguGfZ6T5wuOn2ZpS7tscJ4+AJZjYHIO60OCZ7y4iMGMkRkL0hIplN615CJmG+EO4KdiAxXX4gNPYoC94+6JtL0nWKOK4MQL5yI6xMs8YlRb13VVQorme6YAhxU/ct2p3ljidAdpF9yxTgqxobtkLkjNqo1lCGf1afQnQWSpOs4eI0QZEfo5zIjSarhPFXNbEbQEzm79wyDEPs8keWw+y3tYoPptTALGE565/JfiKpnUFGp6bxA5e3sxdV6BWd9cW9oivjKFzuYeWio5lIL+zVsw3QVxaTLZ41GMgE/fUmJ1yxEaDmH6xFhc8vfdiW6YMNj4cog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MSchx/4MgpMuciJuO4p+NjH1X9ySZ+yhPNiUtH8k0PA=;
 b=ljs6u/S/r/rvRBk2gdfO5yMjtA+InFHz7VsuvMVPFsAIjv/mmK6yL8MCSQEHLAHaG/LSBVm28DOs1hd7+3rSTLpWGMDNK/NdtuezGQfHAi616ctVhzy0WmAIJShobMmfoTHtZCeCSXWkMkt2HCJXGKrKe5X+pl4AWSJBi1k9AtfoHDjQIAYjB964TeSyVbXSZpsASdQRy+j0yesTmDdt60UvavPdNs9YpguYX011kmU3mvMgiKm5pXz6zIiiTAiaPlFwcw3+uaX/7KJES3vAi89TYJ8x9hyFkfYSnKNLUjlfq0f/I/EArEUOKBngFfiaNVArihu0x+d4sJ+QkkmM0Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2072a771-5aab-22b0-7421-bf061d9bd582@suse.com>
Date: Tue, 21 Mar 2023 12:06:07 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN PATCH v4] x86/monitor: Add new monitor event to catch I/O
 instructions
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Dmitry Isaykin <isaikin-dmitry@yandex.ru>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Anton Belousov <abelousov@ptsecurity.com>, xen-devel@lists.xenproject.org
References: <1d3e2081fba9a1ce07c3e2a28eddcd6f51d52854.1679348946.git.isaikin-dmitry@yandex.ru>
 <61f94060-010d-2b28-d947-e5790d6d57e6@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <61f94060-010d-2b28-d947-e5790d6d57e6@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0068.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7720:EE_
X-MS-Office365-Filtering-Correlation-Id: 3f663d20-f74f-4fe5-946f-08db29fc4682
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:
	eSfNfJKuvu8SOE6PcLYHbHnjx8yH1o7znKofxV09FRbxWFqaKsxD8ZpTJkeYCiY2IkcerEdkxZI0q2pdsAANoWlx0xhFugG9At3hHNqGLlHQOcbrxUvvV7Vzreb7EbQZsEDCqBE40KWNgmEisvBE9Jit7w+8fI51xBepvONIIe06ULK7+wq3EYJjj9iAsT71a9NlsdYbC2rl5C5O9CPvt7M6gkd50tqO+002DZwXMIBYfNl5ISJM32fO1f1a5OHpZnlkHbKIDu8XLBWNUlSf+obW8j9eJg/2hbFnc05Q9Yf8l21Sm0oQbeLWuVyByVGtHxLvskARN/kwtdoD50LU2jq8jrS/NOp0lT8ZN2KHfh3n+juGpTR0ZfCHaPUsvhZL9akiItxOqK3u1WpZrR9fMD3x93MGRey5LRUds21owqnwcfONIQeMYV/cYPVh0pP5VFFVS6Sx4kqSGTXx3VBP5S81o4ejnmUkViNr71QSAWI+MgcidrI3Epfo0YmCY4Y+n+oiynJexwmpqDDHsLvbOQ4WLLAeMOiNRtz2Zc6602TMLbSgThxV5eZCOW5YXoudB+B4cVad+ES81R+9MH90XqBDGVq6yTXqVra2H8sVjdF0y2rffQnDRJWblE+2NOKPR67k9Ry3uU7DLiBSqOy4yBbqOEzYP3IT1sZESbjkD6tblh8/ZXRZJXoBwWXC9qFAM3++B5Mm/VLw1Ie5CONt/A8MnQq0clvvX2KNDmOr43E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(136003)(366004)(396003)(39860400002)(346002)(451199018)(31686004)(2616005)(83380400001)(966005)(6512007)(110136005)(54906003)(316002)(6506007)(53546011)(26005)(186003)(6666004)(478600001)(31696002)(66556008)(6486002)(86362001)(38100700002)(7416002)(66946007)(2906002)(8936002)(5660300002)(4326008)(41300700001)(66476007)(8676002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UHpuZE56VE9QUFVRdk1hcFFUYW5ZdHNkVHd0U0hIdkQxR0pvMVpiZGdTOXg0?=
 =?utf-8?B?RHd1eWp2Uml6YzRLRHlnc0F5VjQ1YnpmdDlVQ2F4UzdUUEhnYVM5SlVpeStk?=
 =?utf-8?B?K2RIdFJ1Q3lHOEVsTE9BaElqMUVhd25FL1QzZ254a1Fha0FudXg1eUxJM1Qx?=
 =?utf-8?B?Z1pYU3Z4MTJHSmdVSXZ1a2VPYythOUZ2UFVkTGI4d3dGS2VDVmpBVWlwWk0x?=
 =?utf-8?B?RkZzOGR6R2o0UVphdVY3Y3NXYlFzc015dFhMdXg2TkcybmVkdG9mRVl6cDdQ?=
 =?utf-8?B?ZHlsbkpxM1dZbmJjaEhrNGFjRlpxbFE4bzA0K21oRStOUVdrd0Z0Sk8yc2lt?=
 =?utf-8?B?SWJGRkgvL21IMGNxZlZaUW8vSk9PYmNDSU0vUWZhMWRGamZzNGVhUUhVRFFL?=
 =?utf-8?B?cTFVVjY3M0hLK3MxSXBILzQycWxHblFjRWxBZENaMmZ1WkovaURWSU53UmNk?=
 =?utf-8?B?WURYVmJySkxmZnMvQ1hZU0RkcGlHV3V4TXB0Zk5pc0lGNW9SYThQcXhwMXFi?=
 =?utf-8?B?b081dm5MSy9CRGtiZCsrV0ZlRUliQUlpTU1aUXdTWnhDK0p4blE2KytFd0g5?=
 =?utf-8?B?ekRRY1RRUzdKSlJCOVVCZDlta3pESTYyYkZha1RLaWMvVEUwU3NHNTBvdXhW?=
 =?utf-8?B?T2hoK2N2VE1FY0ZqaFAySlN6dENSR29QQ2N3aHFNMDEzL3FlSi9VaUlxS0xi?=
 =?utf-8?B?WWZ4Q0N6V2pvVFpzYllkb290WlJBdVRkV0ZWdi81K3BTSENjM0dlamVER3Vm?=
 =?utf-8?B?MyswUWNraE5VUmRNWnFYQ1Q0U3N5WWlwUkRFUDNiS0wycWtEVjJ0ak1HWXQ3?=
 =?utf-8?B?bDlZYWxlazBMTDRpYTRJd2F0c3ZtclFMNzRNMUFYVWtTa1VRUkZWTUNQcktB?=
 =?utf-8?B?ZEpZY3JMdG1SdTRDTW1aMzh4bWJ0b2p0dnVMZU1vY0F1RkhzOVBMQnhPdXFX?=
 =?utf-8?B?QW1BUGo3N2ROTEkrb3NGQm9la1dRSzF3UURoTG5na0UyT3ZuRUJrbjZEcHRB?=
 =?utf-8?B?ajlSK0grSHN1bXpTVVFQMi9GSTRVejJtS3ZMSWlqUXJyK3F2TnI0bUFnbnh4?=
 =?utf-8?B?QzZRUmdQM1ZJQitYU2s5U21ETmI3MmlNS2V4bGs2OWk4M0JXdWxYcDVjRmYy?=
 =?utf-8?B?Zjk5NVRYdlhHZmdxczFhelFJd2VTZm02K1RQdXo3MFNIRkJ0Q2toSHBvNFhG?=
 =?utf-8?B?aWx4VGRqNzhQdHhqRU84NUdSOHFseTk3QmgyMkVzQXJrZVFweElpQldtK2Rp?=
 =?utf-8?B?YjV4Rk5zbzA0Qlo5b0RDaS9yeEdXYWJnYTNLVTVVWmliRW8wZkRpR2RYTHJJ?=
 =?utf-8?B?ZGxuZXRqUlY2eUNzcndlUitJMWtJMmhud01KMjJvdy9rc3hzdG4waXZhYjAr?=
 =?utf-8?B?akFDS2JlR1ZpU1U0UHArdzRPcUxmeDVYOEk0dG56eEtmZEVnVDFTNTkzVEJv?=
 =?utf-8?B?N3c4T3dYOTFHWG5JY3ZWNGdKQ2tjN01DbWRWNUlPU0pyVVBQeTg0T3RpcXYr?=
 =?utf-8?B?d1B1U0hHRzF0MDZCZVFWbkQ4Nm5lb08xOW5wQmJrSVNEMHp5dkNYT2NNRWZX?=
 =?utf-8?B?c0RaRVoyWWZKOXB5Um54Nkh5Ylp1MlRZdjlyQlpET1FYQ0pUcHpVV0RhVDZm?=
 =?utf-8?B?WG5iUEtGUzVGU3FnL3o5VFJRZlV3bzF0Rmd4RSs4TzhLN1dESzNoWndMZUJT?=
 =?utf-8?B?SFNNUzdYeXZ3TmJzcmFqRVhmekNGMG5GQytIVnc2R1Boc3lldnRzMzFKM2tm?=
 =?utf-8?B?VnBOalJkMlU0aTFHREdtL0VLMFR6YVlQTzhNTVBVUWFibTJwMUNEaFptVFlT?=
 =?utf-8?B?bFR6dU1CWFEwd0tLT0xta0ZvN0FSS1NPNWJRVlEwL09SaGFCS25Od29oUHpK?=
 =?utf-8?B?R0tWbDR0a2l4MEFGOTRkQTlkOEpIbTk4c01JeFBoS1JMQVhvcm10a0YrY2ds?=
 =?utf-8?B?bUZ1S1ByV0ZOcndlQ0ZYR2lONXVMRkdpNnVZOEg1RDRKVjAyZlVucWplSUhJ?=
 =?utf-8?B?VGFLbm0xSnhVVHFJcnQrcXpYTkY2WStpcUdaOGMyemdCd0Y0K3E1dXNiSklZ?=
 =?utf-8?B?VGNubWZMVlBEa2g1UUo3NnhORko2RDIzQ28zWkJBQzV1akZERmdoVHB0QTNi?=
 =?utf-8?Q?mByh2U0K/rJ5g6YF06x8PlYoN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f663d20-f74f-4fe5-946f-08db29fc4682
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 11:06:09.9517
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CkehWhashfQxxaPlW2QKnVdke+AqqrHrCe3St0eHpQDEQt5t255EMNaHibRnhEuAUZuMCi7Gq/muj15x9bd/RQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7720

On 21.03.2023 11:51, Andrew Cooper wrote:
> On 20/03/2023 9:56 pm, Dmitry Isaykin wrote:
>> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
>> index 00b531f76c..0b7a302928 100644
>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -4560,8 +4560,24 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>>          break;
>>  
>>      case EXIT_REASON_IO_INSTRUCTION:
>> +    {
>> +        unsigned int port, bytes;
>> +        bool in, str;
>> +        int rc;
>> +
>>          __vmread(EXIT_QUALIFICATION, &exit_qualification);
>> -        if ( exit_qualification & 0x10 )
>> +
>> +        port = (exit_qualification >> 16) & 0xFFFF;
>> +        bytes = (exit_qualification & 0x07) + 1;
>> +        in = (exit_qualification & 0x08);
>> +        str = (exit_qualification & 0x10);
>> +        rc = hvm_monitor_io(port, bytes, in, str);
>> +        if ( rc < 0 )
>> +            goto exit_and_crash;
>> +        if ( rc )
>> +            break;
>> +
>> +        if ( str )
>>          {
>>              /* INS, OUTS */
>>              if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
>> @@ -4570,13 +4586,11 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>>          else
>>          {
>>              /* IN, OUT */
>> -            uint16_t port = (exit_qualification >> 16) & 0xFFFF;
>> -            int bytes = (exit_qualification & 0x07) + 1;
>> -            int dir = (exit_qualification & 0x08) ? IOREQ_READ : IOREQ_WRITE;
>> -            if ( handle_pio(port, bytes, dir) )
>> +            if ( handle_pio(port, bytes, in ? IOREQ_READ : IOREQ_WRITE) )
>>                  update_guest_eip(); /* Safe: IN, OUT */
>>          }
>>          break;
>> +    }
> 
> Sorry for the delay.  I've got the Intel side sorted now too with
> https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=f71f8e95c34fedb0d9ae21a100bfa9f012543abf
> 
> The rebase is:
> 
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 78ac9ece6ff2..7233e805a905 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -4578,6 +4578,14 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>          __vmread(EXIT_QUALIFICATION, &io_qual.raw);
>          bytes = io_qual.size + 1;
>  
> +        rc = hvm_monitor_io(io_qual.port, bytes,
> +                            io_qual.in ? IOREQ_READ : IOREQ_WRITE,

Here the conditional operator needs dropping; it just "io_qual.in" which
wants passing.

Jan

> +                            io_qual.str);
> +        if ( rc < 0 )
> +            goto exit_and_crash;
> +        if ( rc )
> +            break;
> +
>          if ( io_qual.str )
>          {
>              if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
> 
> 
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 11:12:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 11:12:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512336.792287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZua-0002yv-4Z; Tue, 21 Mar 2023 11:12:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512336.792287; Tue, 21 Mar 2023 11: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 1peZua-0002yo-1n; Tue, 21 Mar 2023 11:12:16 +0000
Received: by outflank-mailman (input) for mailman id 512336;
 Tue, 21 Mar 2023 11:12: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=gNSa=7N=citrix.com=prvs=4373eb648=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1peZuX-0002yP-Vz
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 11:12:14 +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 38b82a17-c7d9-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 12:12:10 +0100 (CET)
Received: from mail-co1nam11lp2173.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 07:12:04 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA1PR03MB6532.namprd03.prod.outlook.com (2603:10b6:806:1c7::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.23; Tue, 21 Mar
 2023 11:11:59 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 11: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: 38b82a17-c7d9-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679397130;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=SHB0j67T5gZ9IfsONSlpYUlbDjY6WaZ6W/tCQBIoD5k=;
  b=Un/r3C2l5WvYB5HaAw38QdyqZ4tkXvf3mITuNQf2v7k818zh5AwQLs2k
   S3vOSo5zSL4NG4QhHGcTIgIhhsOCtJeR6FJz/IeMc5YLgwlEWwMP6RRvM
   TybQTbhZ7+04PvZ021QqmPbDRa+LDqctLnbi4YLaK6IBkxvdh8kcSoTHF
   s=;
X-IronPort-RemoteIP: 104.47.56.173
X-IronPort-MID: 101052691
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:zBbUfKNIdIxkEFXvrR2tl8FynXyQoLVcMsEvi/4bfWQNrUp23zdUx
 mYbD2iAa6rZZWf0eIskb47l9UIHsZaBztNjGgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5AVmPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0uBTK1hk1
 eAgE2sQPjKih/+33+yxDeY506zPLOGzVG8ekldJ6GiASN0BGNXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PRxujeIpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8eWxXqjBdhMReTQGvhChwSN9DUtAhgqR17rs9efqGKYVNhcN
 BlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wmly7Hd4gWYAC0ISz9dcs0OpcYwSTE6k
 EWU9/v2ARR/vbvTTmiSnp+Woim1IjM9NnIZaGkPSg5ty9v+pIA+iDrfQ9AlF7S65vXuAi35y
 T2OqCk4hp0QgNQN2qH9+krI6xqwr53AVSYp5QHaWG204wc/b4mgD6Sh6EPS7PJJBIyYUlWMs
 nUCl8WEqusJCPmljDSMWu4EGLij+t6PMSHQjFBiGZUs7XKm/HvLVYJN5nd4LURgMMcBcBfoZ
 lPevUVa45o7FHinc65xJZ6wAsICzK78GNCjXffRBvJHaJV1cxKc+z9GfVKL0mvwikkwgOc0P
 pLzWdahCzMWBLpqyBKyRvwByvk7yyYm32TRSJvniRO93tKjiGW9TL4ENB6Fabk/5abd+QHNq
 Y8AbI2N1glVV/D4bm/P64kPIFsWLH89Q5frt8hQce3FKQ1jcI08N8LsLXoaU9QNt8xoei3gp
 xlRhmcwJILDuED6
IronPort-HdrOrdr: A9a23:JCGDiKh+wPiM1C4M8kKyyd6opnBQXgUji2hC6mlwRA09TyX4rb
 HToB1/73TJYVkqOU3I5urwXpVoLUmxyXc32/hpAV7aZnidhILwFvAe0WKA+UyeJ8SdzI5gPP
 xbAtBD4bTLZDARsS+d2maF+r0breVvnprHuQ+ip00dNj2Cv5sQjTuQdm6gYypLrXF9dPkE/W
 2nl656TpObCBEqUvg=
X-IronPort-AV: E=Sophos;i="5.98,278,1673931600"; 
   d="scan'208";a="101052691"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jm4UxFqv/QOaJ04mKVOU94/U0z17TRiF4Rug8cIROAnuvtcDQPjd+PNWi7xqPbkyBy4fQq4AsGxdPRATS21SIJAcIAAvofq2wKAP7cG3qpSLTfoc9yuVzUbtPjXlrNyyrQfxKZAWRd2g7Z27l6erXnW5e2YNo/ELlEPPktKi4kISgEEJrJXu4ADXzLgRBQe95JKTw61ICkpJ6fn5wD1mZQMOj/6cfrJs09FxScleKap2USdAFyHB0a1LOlGrgZ6wSIvVBU2G1v1wDRhMQdkpcVCl+OlsIt0dZM7bbPR8xavGTZk00fHSKW6NBe34xGqLk49ugpI1lIxhaU+4DDzHkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MbVTdAGfEFnddb7vG3JmWr0SevDNGKZ1xcz8GRHgQUw=;
 b=SGJ/MUuqQ4YFsntwkD3eDRdlPOTVw1DTv1Z8EgCrYOkP834nHL2zeYTX04TmlZWIpZj1/yP8h3zsDqprGyGgn3LRMAWTUp7wDjcpbcW9sfJK5ep1VRHvLlXtDS0otgTyZHOtT8hkIvwYbYbQ6huwmZAMTp77ghnYbgfCn0vOUF06jNjefVdIjpRjqH52ZCVXqvkQKXrIoa3C2zw3satTX8kn/iL/zvJpQITplW5+MkUNkDB2KUqWY2eZTrJiQf3uM8mCHoz3ygg+yTZRWcHo9Jx4GE/zoaZvUpkWH9Q2JP8dRnwQrcjpWKulitGpwDsduknWl8yiYbfKSnPWXHC6vQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MbVTdAGfEFnddb7vG3JmWr0SevDNGKZ1xcz8GRHgQUw=;
 b=k3QeH20+wXQWBUMC3+W3mNS8j2dNSVHiHbQNCG/wjHuSmbRaa2dE1QibchVZ1i1wVdGo8+VgW1GpmoDkJsBVN6QwHmmiAvZ8EJW52uSNHgQ+L4HUw4Y2dflvJoO4JWG6uWfN/DZ5iTMv6YEEP8CIfY3dYUhNsegs3nGq3L9VJfE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b2d1fbd8-1135-7d90-4402-ddd17a55f0d2@citrix.com>
Date: Tue, 21 Mar 2023 11:11:51 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH v4] x86/monitor: Add new monitor event to catch I/O
 instructions
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Dmitry Isaykin <isaikin-dmitry@yandex.ru>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Anton Belousov <abelousov@ptsecurity.com>, xen-devel@lists.xenproject.org
References: <1d3e2081fba9a1ce07c3e2a28eddcd6f51d52854.1679348946.git.isaikin-dmitry@yandex.ru>
 <61f94060-010d-2b28-d947-e5790d6d57e6@citrix.com>
 <2072a771-5aab-22b0-7421-bf061d9bd582@suse.com>
In-Reply-To: <2072a771-5aab-22b0-7421-bf061d9bd582@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0051.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1::15) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA1PR03MB6532:EE_
X-MS-Office365-Filtering-Correlation-Id: aee7ec09-01f9-49fa-bf81-08db29fd16a8
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sPiVjsNSHJOkzdNslqKc/CENHuq2Wh367TidFwGzXSHhzuYr9cUWXiTdQplMFi5ehD8NOUsghtAGtKWIpvfUTsL0KryuJjOcOAnp0wcIOeoMfCtZlxlznr/6ih+iP1q41rHxBXuB+CdlmID2D97sSy2pwx+8d4sby+UqImQLVjw/9iGQYWA1ZyLP2iBptFovhR9n8O6KiWWr3ouvLmv72SU3NkoqlIvsYrPlq6TTJ5iZUDwkjJHk3kghQK7wSmf5ugTiSCxZhpgRbDpRqQaI2Y3v9mXPJ5/rlnIiY2XsZx3Z/YR0XbVm5Uot19qehLiXX/1L5Ne1ot3lVM49/+gohhvNKwHG70Z3yJCUhFQsBwHHyxhz66oJ8zpedb5LVzqgdsKZNnNyIzdYSqC7EyBfHqslfukemxr2+czsQUxQZLnwyFNYinfQI22iVBsuSSc6nC15IW+PqnafeYxHkFXVr9eSG0DBuelGj0ndDk0+mECZjeYjTxgHDmkNZGcsjAG5xpymo2OpSEuN2zp6TGrMxzpBsO/qLuG/j7BCpd/0RhiGDElO5KMDPQoIebkFnorn9wQJOv6mjzt9al2CaVNr/i4XJ7xAhakesuV8BJPRVtp6wY89jwEb0GYWRRAEKm8g8lBdFwMk+UsC5pmIpiTc3i/36eJesw50YXM3G+Rl6D/QnxVzxyAjvToI00fQTM2cZ5RZkFIo8vC8BM+8/fjWRt0jLqKBy4TBtUG9RFkoKI0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(136003)(366004)(396003)(376002)(39860400002)(451199018)(8936002)(5660300002)(7416002)(66556008)(4326008)(966005)(36756003)(478600001)(6666004)(83380400001)(66946007)(41300700001)(54906003)(8676002)(6486002)(66476007)(86362001)(316002)(110136005)(6506007)(186003)(2906002)(31696002)(31686004)(82960400001)(2616005)(26005)(53546011)(38100700002)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VTI3Q3lCSlRraDFWQ0hqakZNKzY5RWdHSklzNE1aYVRSMytyUFU3a3pBSElD?=
 =?utf-8?B?a2cyam0rcjh3MTZSNGpsTi9uMFJoRklxMUdhYktKMjNqY2FRWmg3T05PRzB6?=
 =?utf-8?B?ckR2K0pUWnl0T0UyMlZGaWNsWUdBQlNDUE1ubmk2YjBwTGlOMGxwMjNzVlFX?=
 =?utf-8?B?OUkxWElZSzNBb2VPakZRdHRoT1dWbStOQUlYYXI5aWdrQ3MySDRuN3Zudzd1?=
 =?utf-8?B?MWw5Y2lZbVVmdFI3bHpBRXdKb1MyUzZHNVNKcldnVm1lVE9zQzBvay9kMkh6?=
 =?utf-8?B?Mjg3VnhQVWFmUktTUXdiYm5yQXlTRlZCQlFpNkYrVGYvVXBwcGJ5dlcwM0g4?=
 =?utf-8?B?QTlnUGpROElpQnlHT0Z1NGZXdlNVMCtBaWo1aEFqR1BISkdlUXZxZVlCS1B4?=
 =?utf-8?B?NGJyalI1RGRSdUJDWmNLZEVHd0dIRWFFWmFuUlRxbDdxOHg1SThXbFQ2V2dV?=
 =?utf-8?B?MDRpYVJjNTBTUzJZb2lhUER2SjdFUjJVU3pJNXVpaEN3cjVUU1piQmpCNEIz?=
 =?utf-8?B?Vm95blVCMXFlTnlENmwrQzNvaFI3TWdKd0FLU0NUeXB6eDdyUWVFNUxjZ0NJ?=
 =?utf-8?B?eGxYT3pkTEh4ZWhSZHdxM0l5NFk0QmlKTDI3ejNQaTdYcGFJQ042aSsyLzNn?=
 =?utf-8?B?MVZsekE5Vzl5QzUxVXhxTDhZNGo4a0FRSldtRVg0L0E3OXhzbWNVek1wbGxq?=
 =?utf-8?B?Z3RYakdJVUFIc3FVK3YxYTVkTVcvWmk2SzR1clYzOVN6aXMxSThhSmFDOTRl?=
 =?utf-8?B?ZXRtb0IyTWx5RndLMUJ0eGEvelJPVHVuaXBPUWVrdlFDbWhZOHJCZGQyR2lQ?=
 =?utf-8?B?NnM4VXlaN3RNcFFVRXpERksvYmI4dVRodnUrWWJBaUNKOGVva3VFZDU3RVhB?=
 =?utf-8?B?cTVGckNQK2NCUldoUTI2ZW5Vc29UaFJ0WnVmTGh0VWpXdWlpWXgxd05KUWUv?=
 =?utf-8?B?bGc0cm9ZQlU4UWQ3akIvTHA1bldRYWhUV0RtdDM4Sk16TDJsRHhiWjU0WkFY?=
 =?utf-8?B?QnBnb0hObWxSQ01QdjR0cEpueDQxWjMxUDUxVjJYM0ZKbWpNdXVFcmVRbHNX?=
 =?utf-8?B?dWdkOWN0OGpQQlJtMllxa0ZybGtTUjd5UFFrQXFYWDJaUTh6RWNmY3crSnNp?=
 =?utf-8?B?YlFXeHdFRmw0NVRUWHMzQ3lUY0tFaVFJVjhjQnYrcTZ6SUdNeEN2RjA5MjJB?=
 =?utf-8?B?TXhuVEY1S2s1SmNMT1FsUnI5WHF4ekJONnZRQ21KT0lTZkFETWhSWWttcVdR?=
 =?utf-8?B?cXB1K0JTVTFQVk4zRTNmVUhvR0xqYWMwcWxUUHFjWjhIYS9rN1hocXVudUhR?=
 =?utf-8?B?RThuKzVMNGQwS1FGMFFzVzZDWkJkYVFmcytuNDdjNXpQUFFWbDBMbU1kKy9u?=
 =?utf-8?B?WGRNVWxibHJnY3hZWGFIZU0yL2gyOGtKbGVJY1lsNzl1ZEQ0cUt1OWhONTh5?=
 =?utf-8?B?QVIxY21uQVN0NGl0bHZpeEJNYTFWbnNDdlA3L2Q1MGhUMExVVlY2Wk1tRENm?=
 =?utf-8?B?SUp1c2NwZm10d3hBODJaQlJFdklQUzBvcE14QmVFNzJoNWl6aXhoK2k2ZjQ3?=
 =?utf-8?B?UWJKS2FKZmowaTEwNjdiOEVOS1FzQkdNNHFXWTJTMDRubld4VUJHSzB0cFN5?=
 =?utf-8?B?R1g1dVQ5QXAySjd2ZW5ObDlFYVc0eTR3c0ZjSDM4ZjVWbmxheHdwcEtnY2Qy?=
 =?utf-8?B?N3o0M3p6dVhZOEFWSWFONVlHQkxldy9rWlVQNnhXMk55ZWFYcUNOcmRHVEJh?=
 =?utf-8?B?ZkpFeGJxSExjN09WTzN1UmsxSHVONFZPTVVSRFQrRjJSWGJTcTlTODhibk5H?=
 =?utf-8?B?dU5XYklkbUl2amJiV1FBaVdEWXJUZ01FYW8ydnNSSnVhbXFsQ0JqNVNVemhv?=
 =?utf-8?B?cHhTMFpndTVZUG40QjBDRlluVkpKM2t0WmlXNGpGb0xZOSs1L012RStjU3Zs?=
 =?utf-8?B?N1h1Nkx6UEpzekpoanp3U1ZZRW8vT2hhaDAwMUVxZzdqQVUwTlltNDVmS2Vx?=
 =?utf-8?B?c3BMZVg2dnRqMUN3dFN2cWcxTW9WR3NZQkN5dEsreFYyS2ZBSG1MK054QjNB?=
 =?utf-8?B?SnAyU0FtM0RmTUpibzhMV2dmMk9ReTFCV0tleHM0Q3V1SzdoYXlyamsvTk94?=
 =?utf-8?B?WEwwYUxVemhXNmlzVlpxc01kTXBUREVzcGVNQnIxVi9WeXA5QW5LeHlicjYv?=
 =?utf-8?B?TEE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?N0FkbUkvY3A2MHRQRnlpOGlJZnAxYjRPNUcrNXYzQy9pV3huSUhRYmE4SXVX?=
 =?utf-8?B?VmlCY2FObW16ci9hc0R3a1FxdUlPWjh2bWxUOEFSVm14QmpoU1ZkVmxqMEp5?=
 =?utf-8?B?QkF4Um1XMTJqMUpBR0svbTF6OXVIME9qY09oSTYzY0p5WERTNklKNGI4SFBr?=
 =?utf-8?B?UC9yWExzUk03cnYrWTdWRFRSMkl5WVhnWko2d252RnZZNW5EWWhzMFZiUlNP?=
 =?utf-8?B?UUpNZTZORzdnaktLZW0zQXVFSHdOZENLZ1lMUW5zbk9NNlFFTmNLN2x4Q3Ix?=
 =?utf-8?B?Q1VieE94VXRqNmlocVJIa1c3alloZmZ4MVZ4VXBGcU0ySFV1ck1QSjhHa1cv?=
 =?utf-8?B?VXM5SmdjVWloakxPM1MzWW9OWHd3UEtpSEZGN3hQYmhXR1lzZ3Y2WFBCVVcv?=
 =?utf-8?B?S083bXhHdC9FeWkvS0VvWWJPbG9Ma0RDdnVnb05HcjZSVXhTT0NEalJ0bTl4?=
 =?utf-8?B?c1NSc3V4S2RvYmNkcFpBdnhiSHVlMTV1Q3l1QVB6OGIySW9STHYvallNTzBY?=
 =?utf-8?B?aGNQL2lHLy9lYTZiMTFjejY4cXJRYk9DeWJJNGgwWDF5bW1UeUtUKzBJaWRJ?=
 =?utf-8?B?aEFCNGRrVFhPZ20zVmJrRlQrVmN4QjFrc0VqcDlZWUo2cWhPQ2tNUCtVVGlm?=
 =?utf-8?B?dkhqSHZpcTZKMlFLaEt5eTVUUGtZK3VJQ24yQ2ZCU1hSb1ltVC9XMlFrY1BX?=
 =?utf-8?B?aUR3QWgzMXVwS09iMGZtaXI1cnhkSEpCSERXNmR4cWRCR3RmcDVpRnh1bU1G?=
 =?utf-8?B?RlZkN2Uxd000QjhXSEpoVU9LcGpOMkxialgxMWtoeXEyeXpmMjQ2TU9FWFk0?=
 =?utf-8?B?VTBQR09uRHZ5TWtoT0s2MTFySnVES3c3Ujl2N3Era0wvcnVJa3djd2NyVkNS?=
 =?utf-8?B?Y0QxRk9TTUxWTG5RSmZ6anpqQXdjQWkvSnlibHpMWU85WFJoMGFtdk11Vkpj?=
 =?utf-8?B?N1VlQU5SUzUwRFFOY1ZNR0xYU0gzaXpmOUlQR01nOWNCN0ZzSTFFUlFlbkk0?=
 =?utf-8?B?VHpERmU5Qllqc0hGRFZvd3l0a2FTK1FpVnlRMmVzTVczamtWaXRLOEVxeGRI?=
 =?utf-8?B?TVJDdnkxWFlDRGJObzJXdTRjZU9LNGFhMlFsd3R3bkwzd3d2SGZOYU9nVlg0?=
 =?utf-8?B?RUI4ZG9mYkhHVXNvVUR4YTBJenJHYU5CVW83cERZcnhFbUloQ21ycit0b0FC?=
 =?utf-8?B?Vm02UWRtdFphRGJObDBQS056NEs0bW5hcllzV2lLWkswc3dzRGNYM0NWMmJN?=
 =?utf-8?B?RlhLNmMzdHd5cW1IZS9VdzBlVGhCK1ROaGJMSU55RFQvQ0pkUWRqOE13Q3Q3?=
 =?utf-8?B?cFJJY1ptV280STQraEJQczVBUERSbSs1MS9zcFNZbUdWbDVSVEUwQkh3UmQ0?=
 =?utf-8?B?MGxUamFEZVBPVUE9PQ==?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aee7ec09-01f9-49fa-bf81-08db29fd16a8
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 11:11:58.9491
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xaJaTCb6rdo8/iTwkUTFNWwtvcglSdISnQhkZGx676OGuXcegclX2p+tNlE7Ftbm2hsl5RUH1tTkVyngYz3aslP4zatQw9aeTLukvwQY/OI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6532

On 21/03/2023 11:06 am, Jan Beulich wrote:
> On 21.03.2023 11:51, Andrew Cooper wrote:
>> On 20/03/2023 9:56 pm, Dmitry Isaykin wrote:
>>> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
>>> index 00b531f76c..0b7a302928 100644
>>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>>> @@ -4560,8 +4560,24 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>>>          break;
>>>  
>>>      case EXIT_REASON_IO_INSTRUCTION:
>>> +    {
>>> +        unsigned int port, bytes;
>>> +        bool in, str;
>>> +        int rc;
>>> +
>>>          __vmread(EXIT_QUALIFICATION, &exit_qualification);
>>> -        if ( exit_qualification & 0x10 )
>>> +
>>> +        port = (exit_qualification >> 16) & 0xFFFF;
>>> +        bytes = (exit_qualification & 0x07) + 1;
>>> +        in = (exit_qualification & 0x08);
>>> +        str = (exit_qualification & 0x10);
>>> +        rc = hvm_monitor_io(port, bytes, in, str);
>>> +        if ( rc < 0 )
>>> +            goto exit_and_crash;
>>> +        if ( rc )
>>> +            break;
>>> +
>>> +        if ( str )
>>>          {
>>>              /* INS, OUTS */
>>>              if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
>>> @@ -4570,13 +4586,11 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>>>          else
>>>          {
>>>              /* IN, OUT */
>>> -            uint16_t port = (exit_qualification >> 16) & 0xFFFF;
>>> -            int bytes = (exit_qualification & 0x07) + 1;
>>> -            int dir = (exit_qualification & 0x08) ? IOREQ_READ : IOREQ_WRITE;
>>> -            if ( handle_pio(port, bytes, dir) )
>>> +            if ( handle_pio(port, bytes, in ? IOREQ_READ : IOREQ_WRITE) )
>>>                  update_guest_eip(); /* Safe: IN, OUT */
>>>          }
>>>          break;
>>> +    }
>> Sorry for the delay.  I've got the Intel side sorted now too with
>> https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=f71f8e95c34fedb0d9ae21a100bfa9f012543abf
>>
>> The rebase is:
>>
>> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
>> index 78ac9ece6ff2..7233e805a905 100644
>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -4578,6 +4578,14 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>>          __vmread(EXIT_QUALIFICATION, &io_qual.raw);
>>          bytes = io_qual.size + 1;
>>  
>> +        rc = hvm_monitor_io(io_qual.port, bytes,
>> +                            io_qual.in ? IOREQ_READ : IOREQ_WRITE,
> Here the conditional operator needs dropping; it just "io_qual.in" which
> wants passing.

Oh, of course.  In which case the delta is even smaller:

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 78ac9ece6ff2..076752d9e84b 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4578,6 +4578,12 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         __vmread(EXIT_QUALIFICATION, &io_qual.raw);
         bytes = io_qual.size + 1;
 
+        rc = hvm_monitor_io(io_qual.port, bytes, io_qual.in, io_qual.str);
+        if ( rc < 0 )
+            goto exit_and_crash;
+        if ( rc )
+            break;
+
         if ( io_qual.str )
         {
             if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )


~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 11:17:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 11:17:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512342.792300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peZze-0003fT-Sn; Tue, 21 Mar 2023 11:17:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512342.792300; Tue, 21 Mar 2023 11: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 1peZze-0003fM-PG; Tue, 21 Mar 2023 11:17:30 +0000
Received: by outflank-mailman (input) for mailman id 512342;
 Tue, 21 Mar 2023 11:17: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=YM/b=7N=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1peZzd-0003fG-Bk
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 11:17:29 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f6610f44-c7d9-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 12:17: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 E283D21C2D;
 Tue, 21 Mar 2023 11:17: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 BEDD413451;
 Tue, 21 Mar 2023 11:17:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id hmPnLEaSGWT9WwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Mar 2023 11:17: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: f6610f44-c7d9-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679397446; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=nGLK7P3XT7gEMPVvoCZZg9QAGZqWjG+kt2i5cEPILq8=;
	b=RL4ioPHKpY2WHJN0CdZBcxx193GacRXqkEzrymvN3CfIJGd68wDiO03WcaU9cLkQTOYNIC
	j72ZGhKcogXzDeNqUywuKs7ITM7N6R1ZMRHWFZHeOl6TDuPvn44a5iABzbcM6k2s4WkJCf
	uSVIkB8aGuG6uF3Cb60mmkSlfwCaUAQ=
Message-ID: <c658ce3d-a61b-6dcd-92f9-566412a52cd6@suse.com>
Date: Tue, 21 Mar 2023 12:17:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH 2/2] tools/xl: rework p9 config parsing
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
References: <20230317111546.18061-1-jgross@suse.com>
 <20230317111546.18061-3-jgross@suse.com>
 <319f2c2a-0166-4311-96a4-77ab54b6b853@perard>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <319f2c2a-0166-4311-96a4-77ab54b6b853@perard>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------uPKQfbay0k7QPPyGIJ8rUKvd"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------uPKQfbay0k7QPPyGIJ8rUKvd
Content-Type: multipart/mixed; boundary="------------YY0MkQchyLEyxsbC0Wfp16pV";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
Message-ID: <c658ce3d-a61b-6dcd-92f9-566412a52cd6@suse.com>
Subject: Re: [PATCH 2/2] tools/xl: rework p9 config parsing
References: <20230317111546.18061-1-jgross@suse.com>
 <20230317111546.18061-3-jgross@suse.com>
 <319f2c2a-0166-4311-96a4-77ab54b6b853@perard>
In-Reply-To: <319f2c2a-0166-4311-96a4-77ab54b6b853@perard>

--------------YY0MkQchyLEyxsbC0Wfp16pV
Content-Type: multipart/mixed; boundary="------------8ppRBQX0JnJHeHqd00GroAVJ"

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

T24gMjEuMDMuMjMgMTE6NDQsIEFudGhvbnkgUEVSQVJEIHdyb3RlOg0KPiBPbiBGcmksIE1h
ciAxNywgMjAyMyBhdCAxMjoxNTo0NlBNICswMTAwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4gUmV3b3JrIHRoZSBjb25maWcgcGFyc2luZyBvZiBhIHA5IGRldmljZSB0byB1c2UgdGhl
DQo+PiBzcGxpdF9zdHJpbmdfaW50b19wYWlyKCkgZnVuY3Rpb24gaW5zdGVhZCBvZiBvcGVu
IGNvZGluZyBpdC4NCj4gDQo+IEJ1dCB0aGF0IHdhc24ndCBhbiBvcGVuIGNvZGRlZCB2ZXJz
aW9uIG9mIHNwbGl0X3N0cmluZ19pbnRvX3BhaXIoKS4gTm93DQo+IGlmIGEgdmFsdWUgY29u
dGFpbnMgYSAnPScsIGV2ZXJ5dGhpbmcgYWZ0ZXIgaXQgaXMgaWdub3JlZC4NCj4gDQo+IHNw
bGl0X3N0cmluZ19pbnRvX3BhaXIoKSB3b3VsZCBzcGxpdCB0aGUgc3RyaW5nICJmb289YmFy
PXZvaWQiIGludG8ganVzdA0KPiAiZm9vIiBhbmQgImJhciIuDQo+IA0KPiBBcyB0aGUgbWFu
IHBhZ2UgZG9lc24ndCBzYXkgdGhhdCBWQUxVRSBjYW4ndCBjb250YWlucyAnPScsIHRoaXMg
cGF0Y2gNCj4gbG9va3MgbGlrZSBhIHJlZ3Jlc3Npb24uDQo+IA0KPiBJIHN0YXJ0IHRvIHRo
aW5rIHRoYXQgc3BsaXRfc3RyaW5nX2ludG9fcGFpcigpIGlzIGJyb2tlbi4gSSd2ZSBub3Rp
Y2UNCj4gdGhlIHNhbWUgaXNzdWUgd2hlbiByZXZpZXdpbmcgdGhlICJzbWJpb3MiIGFkZGl0
aW9uLCBhbmQgZGlkIHByb3Bvc2VkIHRvDQo+ICJvcGVuIGNvZGUiIHNwbGl0X3N0cmluZ19p
bnRvX3BhaXIoKS4gQnV0IG1heWJlIHRoYXQgZnVuY3Rpb24gbmVlZHMNCj4gZml4aW5nIGlu
c3RlYWQuDQoNClllcywgSSdsbCBhZGQgYSBwYXRjaCBmaXhpbmcgc3BsaXRfc3RyaW5nX2lu
dG9fcGFpcigpLg0KDQoNCkp1ZXJnZW4NCg0K
--------------8ppRBQX0JnJHeHqd00GroAVJ
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-----

--------------8ppRBQX0JnJHeHqd00GroAVJ--

--------------YY0MkQchyLEyxsbC0Wfp16pV--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQZkkYFAwAAAAAACgkQsN6d1ii/Ey+x
uAf8CUcrc5NOIFlsjgYMxLFXbq2khmTIokA1defC0s/vMexCdA5SyaUhXr0xybA0nackjdbaZWF5
r+RSVVMNJ9IRz30f9f30IY54XlaaqgeJAK+SsgMxELP4af7WN8nEvbt7YRU9eA+mElVyN2Pg0htc
eF9NixmTeMkB/lbf1tPkl9icVWmaXen9bJWCzU/i8kEQdHdwjM0ZP7tu5jpOIPzOcBc6v9iqhXYo
vXUQNmOb62a2ycMqmG9k8VC4liXOu2so5xlGOiyC6ezHR4QK/TpxiWLcVIBZMRcTIaw4xSAOh8xY
2lEPoaV1RRvvZ+ZbUI2VuD/5LT6aI3brp+jtL8Bx8Q==
=OEQ2
-----END PGP SIGNATURE-----

--------------uPKQfbay0k7QPPyGIJ8rUKvd--


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 11:18:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 11:18:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512344.792310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pea08-00049N-54; Tue, 21 Mar 2023 11:18:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512344.792310; Tue, 21 Mar 2023 11:18: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 1pea08-00049G-1T; Tue, 21 Mar 2023 11:18:00 +0000
Received: by outflank-mailman (input) for mailman id 512344;
 Tue, 21 Mar 2023 11: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pea07-00047q-6m
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 11:17:59 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20630.outbound.protection.outlook.com
 [2a01:111:f400:7d00::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 07f84325-c7da-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 12:17:57 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8309.eurprd04.prod.outlook.com (2603:10a6:20b:3fe::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 11:17:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 11:17:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07f84325-c7da-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aQpykAnt+cxFGVajXgYDQJ62IXVcqD6ib9CtTHmLt+a2wzo1dp39QmKEfmLq6icJx8MQrNHzZRGtk99mPxHBvmWIi/SR0soQNoOvEGc7oE0+EwJiXicbPvJxapBpgsossp7g+WeLYQn/9wkyvEMME+3MTTRKHH1HoQJIzsPGKjuK16mkpG8EScU92dCOOm0PQ9BR7DLWa3iCnh310MnCv5FMh3eDPl3PWYacVbS7tiEFpw1hYVHNat5uhhNdbDBIJNyQsMkSMMETzqfvl4K8CPS4ye1cLOppsnbHz1CqcyjBBhE6Tv8ItXhkrUMEJTwmZZsqhSKfLxeNaJAAGD5o5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=znDf5s9/3LltS0fPY5nb1DsJ8gluU+1uUoXM5F/4f4M=;
 b=hYab4R3C5zde0HMRNDILQjE8h3P1pA8WWRY0tZDhtoKfyfn5B1TMLWoDfQT7dJHCB3rYFeQgEogAQBuzwc94ikntg73Ce/fDro4vtHTrS3D1MuFFYsqeplB8vqM1FnTL7xMF1bXTCtJg/QjvMaM08PT4IM3HjuvC2Tj3iKAvY2707A1PxJ7peiBOIdqEvs9HK8HjlxLmChPE6Q2RxeZVKgGLjlvA2JHMR8Qs0dgflzjUVqlySghtieb01lXL2t1B1oR4L/ajW8fNCjNAOYrScQska/CyybXLpHCOxo7rdeCjx3EM7BBd3KJ3ZxPJUEEZ8mYy7ee3CKbSPFMvfccjDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=znDf5s9/3LltS0fPY5nb1DsJ8gluU+1uUoXM5F/4f4M=;
 b=3Yb00Jr4lnahUutL0KJi18cDXSKja7gSapaSsDTX7ry2j4DwORoTm32+Ily3zNwAkdZURF3tOsfJbn0Qwp39X654UUACfVPvwleeo1wU/5eTFiWdCyJOAzAms2tESWj+iwZzJ7c42MlPTbRgaQ1p+yeGKdPmfsT3198ejx8YFh1dhFMA+vNLxpWAzqys4RBbZrni2Zb75iZoRDZOqqm5M3ZdlBqtkG08+h72LBFMb2/53ONnub5+q3NOQEJJRX2mJf7z75BBjvQSqotbBCD+iT9b2WUvXnu8lPZn7+zpCXr8r4wDb6JnaU7NkppmsCdRKqKI1/E3p7xWK4OhTtKpmg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <674d6337-dbff-fc22-fb32-d196c7bf6b63@suse.com>
Date: Tue, 21 Mar 2023 12:17:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 1/7] xen/riscv: introduce boot information structure
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
 <553b07e967f56b78eba2d27c9115cce707a45c08.1678976127.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <553b07e967f56b78eba2d27c9115cce707a45c08.1678976127.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0011.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8309:EE_
X-MS-Office365-Filtering-Correlation-Id: 2db161fe-f3a5-4913-d528-08db29fdeb39
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9lPZaH5WUreolgIoxLvAx9oaOOQSjnFriZw5QtpJ1Fnb+6WpTAzaSq3Fdp0XNxIaohuoRpzQ3yx5BWrcDhv8ppT96sAcCvDKIb3mJ+GkctZkFmuNxKWpNrT32TWx+cfonFSR6OIZrEtS6JTLnzal/l0BWNMkupeQjaL2UX+PbJTeMYgN8J1yVqOYa4QJ+ZCXzLYoF8/GLaFrUMlyciWhKn+vgHYPcvfnnxnPRWMVNVdBU2nDtLX+97he4YONI/Ix/NVOdIBjYqEkjHRWPYcZUEnxb/C3TWyCqEi4gUFtSU0TnVh+F9zauZ/WHZFa8x0gIjkDD2qOy8VwF9OFgzTsbuYIKntNvywpE8YV5ieixnQhc+CL+X/b9DelYJMPG3URu4dqG8OTvGoYUbXZqNWdp3xojO9uv3qx2Zr9OcqHyTOQ/snzS6KyKDNKoNOTHJDrnQZ6ukLM8xlofOKMke9vuo4QN17mINCMGLgzm2Ii6P2o8WeDHEiBknLz6t75fKK0gUizHNXPhs9NdqUUECV8pO5fyCdiafS3JRiKWcaBWLrgRtNVzBnkYo+WntEhZWbWdvvxIUVgrNBJ+zNkf85vDxPqY0MpWrX2BAf44xTRm8LG1wpQN/oMy0cFkT3DOcIwAgCGZhPkfEu5OkVinkFozZY2rGCCpyVbFNUM86YcUkhoeuEKjNr+UaEbizDteYE0vxoFZS6WqMQZyGzVZeafdrzBn0XlVGGBUmpCO3Apv5Q=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(376002)(396003)(39860400002)(136003)(366004)(451199018)(2616005)(54906003)(86362001)(38100700002)(31696002)(4326008)(8676002)(8936002)(36756003)(66476007)(66556008)(2906002)(66946007)(6916009)(4744005)(41300700001)(53546011)(5660300002)(6506007)(478600001)(6512007)(6486002)(26005)(316002)(186003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RDF3dERtZEVjNWZ4ZzBFaXBRUzVoRklyZk5VWHhTQnc0bGNUTXhPRjhDWGhZ?=
 =?utf-8?B?VllxSDhQVDBSRzVtNEtJVFNQcFZ0dDJYV0FzN3RldXlEVWh3NlE1NFNaaXFT?=
 =?utf-8?B?cmIvZ2kveFUxUTlTS1labll6c2F3SDZZQ1JWOGh4eXJKR3JQWDludUtOaVBw?=
 =?utf-8?B?RFo2bFJxZlJqbDhxQ1hjeG1XM09vaGZKWkNVNmhwQjN3OHFDcjFwT3dPNnpR?=
 =?utf-8?B?Um5WZWd0aUF2U0tQR3hvSStiQkVBRlN6UEozN3pBU3lFN2pyaUpJQmJFeUU3?=
 =?utf-8?B?Snh1cUR4NzNvSDhRVUZzWWYwZ25tK3lybUtWOEQyajhXbmRmQzF4UW9pNk1p?=
 =?utf-8?B?MmtxcksyNUluOGNnWFNoTy8xVDJVdHAzTmFvSk5FVDgrU1E3YTY2N1NZRDE1?=
 =?utf-8?B?QjdrTFI2bHhicm9UQlpDclRIVEFqK1d5alo2WHdwcVUycTNGRjNwK3dPNjZR?=
 =?utf-8?B?SzR6dnFpUjJTWGhoYU9qS3RrVVZOUGpjbzREN3FVcmtFY3h3SGVIM1hIN05w?=
 =?utf-8?B?bjd4NWpVTHYwcDdaWUJpaEppUUFDcW1PT094M2pxMGJBY3JBRWl6OGQ2R3BT?=
 =?utf-8?B?R0w3TDIrTWRTRnFNZGJaZkRnQ09TbDVzTC92ZU9vNFROM2U5NDF2M0VSSzhz?=
 =?utf-8?B?N3lTd0pteXArT3NvaXZVK0pWYTlsTGp5c3E3R3RNQUxJVkhtOUcrZklkeDht?=
 =?utf-8?B?NC9MVU9LZ3JNZGtndmlPZlpoUGlUQ0JsdXd3VHY1WHRxeG9pZlpDTzhkbzFq?=
 =?utf-8?B?VTA0VlQ3enVodlVBQU5kZjFJOTZkbkd4L3ljUndURnhwQzluSVpMT1hzbm41?=
 =?utf-8?B?K0RvK3IyM1VoZk1rUjVaRUw5d0dFeWdKL1FwYXhMQ0FyaUF6TlJsUGd4ZmpI?=
 =?utf-8?B?dFBXSmh5WGxLOGUwY2llQ0llZ2xUd2pwNVdOeDlWZlZaNVFlelgxOUpzQ3hj?=
 =?utf-8?B?SGdTT1IvZW85NVh4Wk96NGlDOGI4MFdmTGxldTBmRG1ZQzlJdWdxS3pYVXpO?=
 =?utf-8?B?ZDcyQ1FEYWY1UlpTeVFyKys3WUQwNnAwZGZrODZ1VXc5aGZLVkFhbk1WY3dr?=
 =?utf-8?B?SXhZckpNOE9lR2xKenMybnBlOUtDSmswN1dqNE02NkxtdndETi9ublpPVW5G?=
 =?utf-8?B?aGZEbGluaDRpbVdXK2NPeWh1bDR5NkJBTTJhck04R29rRkM2cUNFd1JyWUYv?=
 =?utf-8?B?L0hINGRtbXBudlcvbzRpcDFDOFUyUG1PamRpQ3NxR201Q2I2K1ZqbnBtVmtj?=
 =?utf-8?B?bUxVK0MvZURmZUorYkY2anJYVTYvckQwS2VZUW5KL2YyNis1V21wN0c0NUFO?=
 =?utf-8?B?VlBkOTJqRFo1c201aWZkMlNEN3h2RDhSVS9taXoyYjhXNXR2alVGR0ZRS3Ji?=
 =?utf-8?B?WUNpOThRN3cyYmNVZGtWZkdFQWN3dkZRNjN5MDBFSEE5VDVZSWpITTRvblUr?=
 =?utf-8?B?dXJvQkpRdkxqREdhdHI0ZlpJOHlGZmtIeWxvSkNITHpBbUVJOU8vNTBBRmth?=
 =?utf-8?B?VjZlVW0yZjBIbjA0MGNJSjU0YVJyMVFUOE9KK1NyS3hnbkJON3pKOXdoM1dj?=
 =?utf-8?B?N051QXd4NjB2eWlEc1FPTXJqWGRZODZvMitBYUhsdGtLbHJoRjNOemRXdCth?=
 =?utf-8?B?OHJ5V0VHMUJFbGUzM0daelZFVDNjY1pKeXFMY3BOWVlGa0hXbjlMaW9SZHcz?=
 =?utf-8?B?bFhiRjRCeHpabTlFcXlOdE51RThwaUh1T2ZmeVRIZHJwWkQrUDN4Z3ZFNkZF?=
 =?utf-8?B?NkNEVkVQdUNhR01WQUQwY0s1YXFpdXFqcG5VdFNtUzdqeHRXWTRJSmVCRFZU?=
 =?utf-8?B?eFlxdkxrV0hYUnAxZjdxREJEMTFOcW9sZDIyd0NIcm1rMEg2Um9CNHpYQ0Fr?=
 =?utf-8?B?YkVXbThVb3Nrc3JnYXFRR3hYYjhvdnVtblZlcXJYUkdvUjh2ZVdNWHUrUFd4?=
 =?utf-8?B?d243ZlQ4UnM1ZE8vTHNJckRLOVlaM3ZLWEFHUW5hVm9uaktZK1Q4OUlRekxs?=
 =?utf-8?B?amlBZ29JWEduTnRUeUFEdWlrblF5TXNKcDU0Q0dSVmJQMzk4UHhXaEJFMzNE?=
 =?utf-8?B?cU5CWUh4OGszdTZPWWJPd2d5emprN2NzMm5Jd2Z2Um5MRm9VMVlFcFpZMmZS?=
 =?utf-8?Q?4q95qXmw8Ou0+CxLjGbJYShxO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2db161fe-f3a5-4913-d528-08db29fdeb39
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 11:17:55.4520
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H1oAau/ZyR9F2h8rE5u0OiJOyE7Q3pdiY3X0YqX58FC5tDosnuzORjskEM4rTMtUcfmlv3sweW/tgPygKsjBLg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8309

On 16.03.2023 15:39, Oleksii Kurochko wrote:
> @@ -50,4 +51,6 @@ void asm_offsets(void)
>      OFFSET(CPU_USER_REGS_SEPC, struct cpu_user_regs, sepc);
>      OFFSET(CPU_USER_REGS_SSTATUS, struct cpu_user_regs, sstatus);
>      OFFSET(CPU_USER_REGS_PREGS, struct cpu_user_regs, pregs);
> +    OFFSET(BI_LINKER_START, struct boot_info, linker_start);
> +    OFFSET(BI_LOAD_START, struct boot_info, load_start);
>  }

May I suggest that you add BLANK(); and a blank line between separate
groups of OFFSET() uses? This may not matter much right now, but it'll
help readability and findability once the file further grows.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 11:18:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 11:18:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512348.792320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pea0h-0004gn-E3; Tue, 21 Mar 2023 11:18:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512348.792320; Tue, 21 Mar 2023 11: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 1pea0h-0004gg-AQ; Tue, 21 Mar 2023 11:18:35 +0000
Received: by outflank-mailman (input) for mailman id 512348;
 Tue, 21 Mar 2023 11:18:34 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Mk2b=7N=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pea0g-00047q-4h
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 11:18:34 +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 1ceb7eb7-c7da-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 12:18:32 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id cy23so58066180edb.12
 for <xen-devel@lists.xenproject.org>; Tue, 21 Mar 2023 04:18:32 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 by22-20020a170906a2d600b008cecb8f374asm5634295ejb.0.2023.03.21.04.18.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Mar 2023 04:18:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ceb7eb7-c7da-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679397511;
        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=eANDa77IRrpaj+pRw4c324GGJgMmDsa6GxlgKh791i8=;
        b=O9sCvIBin8n+4MuFFuoclBoI93u8Y0wXDcm8b3tlNmn7Yl8vvKYBQJqw0EvECoAqyM
         AyGjqx64XRcpgUzf+cRAeUGnjSMAjnr0rWzOPpox2+dQRFdDqm+BRSa7NB2Qoj3n/2DJ
         ONZvWxp+I9IsA2nteL1aJbyGZRzzov0Lmd8e4uX0jkpGM4FSK/77v4Crjnfr7SJ4lzzY
         Ao+uMC6I+7I3evUiTy8bkD9imY4sHYbPv61mcZZ/IpacQ5YhVNb2e3t6cR/vwZmidwwm
         fw/U3JTVcV2MXBL90tSg1wkq6Z1GJG0yLqRH3V8POLhUhUmGP7SCt0F9deW90XocUrdC
         cnGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679397511;
        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=eANDa77IRrpaj+pRw4c324GGJgMmDsa6GxlgKh791i8=;
        b=mBEus0bY0hES4Utxn325wPWSVyWrI0JyMU028F7wLdNDblAzW+dCcgg8ZWYfQjYOL6
         enEAMOJpL1n6gCX4iZD4tW+eWVUAzGTQ6mEb7kkCPa3VeHyzzPYv9oAqFMWplS/9SQLx
         AjoV1Bs1LeD7c3x+/iiWUkXw00OF6TWxGbNIUBot7xwnYe/Fr9w1JApzut5sBkQ+yHyk
         6Wakj07DEkES31qDdgua+La8tkxxOvuqs4e0SYA24vSEc62SyMkjRRpdJECzzO2LoZfC
         bHdnw7muovEI3F7o2Qw4GYEY8aPvOurypiMQpBlk6e1HZxC+aMQdObGu5hAeLhVwaGLD
         827A==
X-Gm-Message-State: AO0yUKUQFR3E93uQCRgq17549lWQVstSFwfGGe9KtMEpOsyu+Gqdmyzu
	JuH9DmrEWZYBIS94OOqx2xg=
X-Google-Smtp-Source: AK7set9/Ib+nLdk6+HFwWeKHgFS843kSWpYoAxzHi9V1w76OVbgUHifVTFT60eYDgASvpncK/9YAGg==
X-Received: by 2002:a17:906:d54f:b0:8e9:afb1:65c6 with SMTP id cr15-20020a170906d54f00b008e9afb165c6mr15281514ejc.13.1679397511557;
        Tue, 21 Mar 2023 04:18:31 -0700 (PDT)
Message-ID: <390dd04d369fad707fd786ed37992ec27a63b7cf.camel@gmail.com>
Subject: Re: [PATCH v8 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Tue, 21 Mar 2023 13:18:29 +0200
In-Reply-To: <02a815ffe1d3839f6f82ab4d16ec8d124642617d.camel@gmail.com>
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
	 <2afad972cd8da98dcb0ba509ba29ff239dc47cd0.1678900513.git.oleksii.kurochko@gmail.com>
	 <3bc211fa-a8f7-70ce-bfa9-5e4380776070@suse.com>
	 <99354bbeabf11e86cbf3fd46019c08fb36bf0098.camel@gmail.com>
	 <6af7a3ea-f454-7027-590d-f883e6c2a523@suse.com>
	 <02a815ffe1d3839f6f82ab4d16ec8d124642617d.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Mon, 2023-03-20 at 13:36 +0200, Oleksii wrote:
> On Fri, 2023-03-17 at 15:59 +0100, Jan Beulich wrote:
> > On 17.03.2023 10:23, Oleksii wrote:
> > > On Thu, 2023-03-16 at 12:26 +0100, Jan Beulich wrote:
> > > > On 15.03.2023 18:21, Oleksii Kurochko wrote:
> > > > > --- /dev/null
> > > > > +++ b/xen/common/bug.c
> > > > > @@ -0,0 +1,108 @@
> > > > > +#include <xen/bug.h>
> > > > > +#include <xen/debugger.h>
> > > > > +#include <xen/errno.h>
> > > > > +#include <xen/kernel.h>
> > > > > +#include <xen/livepatch.h>
> > > > > +#include <xen/string.h>
> > > > > +#include <xen/types.h>
> > > > > +#include <xen/virtual_region.h>
> > > > > +
> > > > > +#include <asm/processor.h>
> > > >=20
> > > > I actually meant to also ask: What is this needed for? Glancing
> > > > over
> > > > the
> > > > code ...
> > > >=20
> > > > > +/*
> > > > > + * Returns a negative value in case of an error otherwise
> > > > > + * BUGFRAME_{run_fn, warn, bug, assert}
> > > > > + */
> > > > > +int do_bug_frame(struct cpu_user_regs *regs, unsigned long
> > > > > pc)
> > > > > +{
> > > > > +=C2=A0=C2=A0=C2=A0 const struct bug_frame *bug =3D NULL;
> > > > > +=C2=A0=C2=A0=C2=A0 const struct virtual_region *region;
> > > > > +=C2=A0=C2=A0=C2=A0 const char *prefix =3D "", *filename, *predic=
ate;
> > > > > +=C2=A0=C2=A0=C2=A0 unsigned long fixup;
> > > > > +=C2=A0=C2=A0=C2=A0 unsigned int id, lineno;
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0 region =3D find_text_region(pc);
> > > > > +=C2=A0=C2=A0=C2=A0 if ( !region )
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -EINVAL;
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0 for ( id =3D 0; id < BUGFRAME_NR; id++ )
> > > > > +=C2=A0=C2=A0=C2=A0 {
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 const struct bug_fram=
e *b;
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 size_t i;
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for ( i =3D 0, b =3D =
region->frame[id].bugs;
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 i < region->frame[id].n_bugs; b++, i++ )
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 if ( bug_loc(b) =3D=3D pc )
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 {
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 bug =3D b;
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto found;
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 }
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > > > > +=C2=A0=C2=A0=C2=A0 }
> > > > > +
> > > > > + found:
> > > > > +=C2=A0=C2=A0=C2=A0 if ( !bug )
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -ENOENT;
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0 if ( id =3D=3D BUGFRAME_run_fn )
> > > > > +=C2=A0=C2=A0=C2=A0 {
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 void (*fn)(struct cpu=
_user_regs *) =3D bug_ptr(bug);
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fn(regs);
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Re-enforce consist=
ent types, because of the casts
> > > > > involved. */
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( false )
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 run_in_exception_handler(fn);
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return id;
> > > > > +=C2=A0=C2=A0=C2=A0 }
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0 /* WARN, BUG or ASSERT: decode the filename p=
ointer and
> > > > > line
> > > > > number. */
> > > > > +=C2=A0=C2=A0=C2=A0 filename =3D bug_ptr(bug);
> > > > > +=C2=A0=C2=A0=C2=A0 if ( !is_kernel(filename) && !is_patch(filena=
me) )
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -EINVAL;
> > > > > +=C2=A0=C2=A0=C2=A0 fixup =3D strlen(filename);
> > > > > +=C2=A0=C2=A0=C2=A0 if ( fixup > 50 )
> > > > > +=C2=A0=C2=A0=C2=A0 {
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 filename +=3D fixup -=
 47;
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 prefix =3D "...";
> > > > > +=C2=A0=C2=A0=C2=A0 }
> > > > > +=C2=A0=C2=A0=C2=A0 lineno =3D bug_line(bug);
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0 switch ( id )
> > > > > +=C2=A0=C2=A0=C2=A0 {
> > > > > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_warn:
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Xen WARN at %=
s%s:%d\n", prefix, filename,
> > > > > lineno);
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(=
regs);
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break;
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_bug:
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Xen BUG at %s=
%s:%d\n", prefix, filename,
> > > > > lineno);
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( BUG_DEBUGGER_TRA=
P_FATAL(regs) )
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 break;
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(=
regs);
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 panic("Xen BUG at %s%=
s:%d\n", prefix, filename,
> > > > > lineno);
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_assert:
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* ASSERT: decode the=
 predicate string pointer. */
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 predicate =3D bug_msg=
(bug);
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !is_kernel(predi=
cate) && !is_patch(predicate) )
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 predicate =3D "<unknown>";
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Assertion '%s=
' failed at %s%s:%d\n",
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 predicate, prefix, filename, lineno);
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( BUG_DEBUGGER_TRA=
P_FATAL(regs) )
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 break;
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_state(=
regs);
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 panic("Assertion '%s'=
 failed at %s%s:%d\n",
> > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 predicate, prefix, filename, lineno);
> > > > > +=C2=A0=C2=A0=C2=A0 }
> > > > > +
> > > > > +=C2=A0=C2=A0=C2=A0 return id;
> > > > > +}
> > > >=20
> > > > ... I can't really spot what it might be that comes from that
> > > > header.
> > > > Oh, on the N+1st run I've spotted it - it's
> > > > show_execution_state().
> > > > The declaration of which, already being used from common code
> > > > ahead
> > > > of this series, should imo be moved to a common header. I guess
> > > > I'll
> > > > make yet another patch ...
> > > As mentioned above. Not only show_execution_state() but also
> > > cpu_user_regs structure. ( at lest, for ARM & RISCV )
> >=20
> > Do we deref "regs" anywhere? I can't seem to be able to spot an
> > instance.
> > Without a deref (or alike) a forward decl is all that's needed for
> > this
> > code to compile.
> You are there is no a deref so let's swich to a forward decl.
>=20
> I'll add it to a new version of the patch series.
I just realized that show_execution_state() is declared in
<asm/processor.h>.

So we have to leave an inclusion of the header or declare the function
explicitly.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 11:26:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 11:26:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512354.792331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pea8Z-0006Qb-Ex; Tue, 21 Mar 2023 11:26:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512354.792331; Tue, 21 Mar 2023 11: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 1pea8Z-0006QU-9x; Tue, 21 Mar 2023 11:26:43 +0000
Received: by outflank-mailman (input) for mailman id 512354;
 Tue, 21 Mar 2023 11:26: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=oKE/=7N=citrix.com=prvs=437062dd9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pea8Y-0006QO-45
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 11:26:42 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3ef51d3d-c7db-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 12:26:40 +0100 (CET)
Received: from mail-dm6nam12lp2168.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 07:26:36 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB6955.namprd03.prod.outlook.com (2603:10b6:510:172::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 11:26:32 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 11: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: 3ef51d3d-c7db-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679398000;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=eYhdfcpS5FFs+7N4O42zvLiZRhVnXCQFa3Y53oTxeT4=;
  b=N28M0nOX1FvJuVLKRwv2YV4TbGtnRWmkU0XML+cUGK5RdJ7zZFoG5LjV
   aUySloUsUxXQxQHi1Vh5Fd3m1ZKTEXlGlkomM8Ck/xfKQojT6zO5mA/oa
   2ASgPRW7Xeq8tosquf66lrjetGnfAvqwwdf+8nUmgic5zpOHB4cwMkxJY
   A=;
X-IronPort-RemoteIP: 104.47.59.168
X-IronPort-MID: 101599409
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:tfGNGKujIeqd+CWH5yy/sIANRefnVEteMUV32f8akzHdYApBsoF/q
 tZmKTuHPfmMZGejKY8gbYzi8B9Sv5GHzoRqSVE6/CE2F3sR+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASEziFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwcyAtVzyKqMuN0K+LQMhgl8UjC8i2FdZK0p1g5Wmx4fcOZ7nmGv+PyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgf60boq9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAuiANtPRezkrq8CbFu7z24xOD03DASBpNqQjGHjZdcGN
 g870397xUQ13AnxJjXnZDW8oXiZrlsfVsBWHukS9g6A0OzX7hyfC2xCSSROAPQ2uclzSTE02
 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9BXULayYJSSMG7sPlrYV1iQjAJv5nE7adj9vpFDW2y
 DePxAA8iK8UltUjzLig8BbMhDfEjpLOVA8uoALMQnii8Bh6daaifYWj7VWd5vFFRK6FQV2Rl
 HwFndWC9ucIDIHLmCHlaOAMGr6uz+yIPD3VnRhkGJxJ3z6103enfI1WsHdyKS9BPs8adHnpa
 UnItAV54J5VIWvsbKlrbob3AMMvpYDwRYrNVf3OaNdKJJ9re2ev/DlnTVyBw2f31kMrlMkXI
 oyHeMyhCXIbD6VPzzesQeoZl7gxyUgWwmfeRovyyRi95qaPf36eSboDM1ymY/gw6eWPpwC9z
 jpEH86DyhEaXOigZCDSqNQXNQpTcyh9Ao3qoctKcOLFOhBhBGwqF/7Wx/UmZpBhmKNW0OzP+
 xlRR3Nl9bY2vlWfQS3iV5ypQOqHsUpXxZ7jARERAA==
IronPort-HdrOrdr: A9a23:w6DEt6MWzAnRrcBcT0L255DYdb4zR+YMi2TDiHoBLiC9I/bo8/
 xGws5rsCMc0AxhKE3IXOrwT5VpQRvnhORICPoqTMSftWjdySWVxeRZnKbfKlLbalPDH4JmpN
 9dmstFeZzN5DpB/LfHCWCDer5KrLbogcPY45am85p0d2FXgspbnnpE43OgYzJLrX59dOYE/f
 Snl7F6T+bJQwV0Uu2LQlQIQuTIutvRtL+jWAUBDRI88gWC5AnYoIISJyLonSv2Hgk/mIvLPg
 D+4kPEz5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJptkJJi7qggOIYp0kf7GZpjg6rMym9V5vyb
 D30kwdFvU2z0mUUnC+oBPr1QWl+DEy60X6wVvdrWr/rdf/TDcaDdMEoY5CaBPW52cpodk5+q
 NW2GCysYZREHr77XzAzumNcysvulu/oHIkn+JWp3tDUbEGYLsUloAb9FM9KuZLIMqvgrpHLM
 BeSOXnoNpGe1KTaH7U+kN1xsa3Y3g1FhCaBmAfp828yVFt7SBE5npd4PZasmYL9Zo7RZUBzf
 /DKL5UmLZHSdJTRb5hBd0GXdC8BgX2MEPx2VqpUAfa/Zw8Si3wQt/MkekIDdiRCcE1JU4J6c
 r8uFAxjx94R6uhM7zPrc92GtakehT+Yd2n8LAt23FDgMy0eFIwWRfzDGzGo/HQ5sn3SverLs
 pbGKgmRMMLflGeX7qgKWXFKtVvwY53arxZhj98YSPVniqnQrea49DzQbLvAP7EHDslXSfWHm
 YDNQKDD/lo3wSXfjvRjRXQXDfVYUrz4ZhsOq7W84EouaIwH7wJjyxQpFi95t6GMnl5sqIwdF
 ZjO7+PqNKSmUCGuVvtq0FAGj8YNWp+zJXef14PmC8vHyrPG4oripGjXSR39FujYiNCb+6+Km
 NiT5Eew9PgE3RVrRpSXO5O9Qqh/i8ujUPPcrM1oIHG1OnIXbkcKKoKMZYBPDkiG3FO6HJXQU
 94GXk5enM=
X-IronPort-AV: E=Sophos;i="5.98,278,1673931600"; 
   d="scan'208";a="101599409"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=USXbQxlXwsJ35PS6GoSN/RpmapSlqR7wFaGBYxXe4JktFa5OFH2Hnnnt1WhuUYIGI6OI0IJBlctCd/OqjSVixKO2CSvZJqR5Hbvm9koRVZtnpSdPWgg5+vuzJ6yHrup0IehcJNdouMn92VKQ6BnWmiPJbG7hletnkLEWHri3efeSM3g/d7/DM6IcvRn7oI1+Gput+S/OpAdJ4ENzD8WrQ7El67rIM9456bGWSxygslOh/8oGgDjPw4jbRhrqSFXejDOoIdoKuhLeJA5QsMxS2VZPJqoxo+kCS5e8lQaOg1/MH/cF6JV1t75GVdJD3zaEF5XPtLGIUUjFJt0FeP52Tg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gMHe2DakAJR71lo6we96Oa53JRvpTPWRAJgRDRsBjjM=;
 b=emnKWTZ2hAq4t4HXuxfJYM8lA2q53I6Ceg+Xsr3terbFZHNKhpqvCOeGHaTUsvxJBMFzzudd7d33QStlFvDURNZexS6qkbUPieg3dkv3uqRzVC0b64KTEjOXEqzzmbgYAJtVvb0lRE4u1vWTStMmCnWWj2iknigEqZkm4fih+htCYai4+ijPKxUIJIXUaUeFYAWEG18TrMeL6RHiHv61msnQ5xW1d/6K1xkXZh1ZBcs12gsjkVHaLY7kFDueMZj1JK+xnr/mBJ3AunJAjWJReOLgp4YCvCpalfiRGwl2BFJAawwxkTeVn+0xfvYSUEKlICtJ19ZLIhZOYju5bBFW4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gMHe2DakAJR71lo6we96Oa53JRvpTPWRAJgRDRsBjjM=;
 b=EgHUN7hmlBxj41magmGbqyDsVFAmQxAyr4r4MAq415ZTDFgEZ2DiOTHAvsyyY3n2LAju4zcWrfFB/bg722CrIlYFSyScN4/MNLvfyCQT1dk73f3ABpjRS+MV0KjxrNc/wnAwUi3VXrq/E2zmK1xsvBh0vlUgq41PMbTZxxIl4jo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.org,
	rafael@kernel.org,
	Roger Pau Monne <roger.pau@citrix.com>,
	kernel test robot <lkp@intel.com>,
	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>,
	x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH] x86/xen: move declaration/definition of xen_processor_present()
Date: Tue, 21 Mar 2023 12:25:21 +0100
Message-Id: <20230321112522.46806-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.40.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO6P123CA0033.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:2fe::6) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB6955:EE_
X-MS-Office365-Filtering-Correlation-Id: ae903580-a0e5-4a35-a426-08db29ff1eca
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ELEkkvTH7g6nD+VCJG0HdzuSjL47fZTOuu04hX01Za/jipDCzyY1awuYsE3k5GrhMRieI74vcYrujbEWO6alcrKGjgDBxdhDcnbJ+DZi7h2ECRB5phAwcIgAVxYA5gjh7ccJkCYH+xc51/dpylEEMLJUyU2R6NM02c6SlqKoFv8vogyYJku0TY7S6FYPA9L6kJuyI95yfoS+v7JYys5t/1Sc92rl5haft+Om+qwIqEH5bW1qcSp/Aw+njNHmM79NJWckFW/3Ma22rNGHzOdpqrz1Pv6sesp7WvKpKtRJfpgVdZYLSvpTlLaKf1t9JjNV0yuhFucg770TY+C6hsM9nHCL6ZOXjzAY6kyZH54B/HVBGpuH652RleK6kM5LSRuAsWrvqwKRG4ePj2gqkiSwrLd+qW4jQNKnbGl7pKsVxLZlbXfRNH112XNlSAE4f48BUbz0Z+ugJQMFG7FBeg/OHk0k6DIi2E3T79DVNyT1qtwMskpOV3YWRJFsgMui1nD+SL5Xu60LzcBDzkrJsKfaYCFdLAoiL9H2C3fqk1ZzQ1wFjpaMwrreACZKY0pbXw2Sfvdz8TgGRJBZtakBS12KS0rR8x6lka1rGlhnv2wIE2saW77mS6brz+NuqxxnBnVl
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(346002)(396003)(39860400002)(376002)(366004)(451199018)(86362001)(36756003)(83380400001)(66556008)(316002)(6916009)(4326008)(66946007)(478600001)(8676002)(186003)(66476007)(54906003)(966005)(6512007)(26005)(6506007)(2616005)(6666004)(6486002)(1076003)(38100700002)(8936002)(7416002)(5660300002)(41300700001)(2906002)(82960400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c1VGWGp6b3pQUXl0Ullrb2RsbjFSWkxUNjcwNlJ6ZFRVdlJOdDVwcDAxczVj?=
 =?utf-8?B?VmhQNFJLMW9DSWExQVkxNFBMbWpzdmRKSE9NTmdiaFJnNHVQbEVKbE1mVGVo?=
 =?utf-8?B?c3o5dk5td2Y1NkJPTUdlSEcxeGxiVHN0SmZLc004dnZ0ODdQdEpseFNFZHN3?=
 =?utf-8?B?RTFpL1dvUFpEU3NZcXR5OEFUcDMwSWY0cTVpVFRnb1RERnlMb0xkVnl5d1A1?=
 =?utf-8?B?QWZDdllNKzAySjdTamRxR1N1OVk0RDVxRFQveUJBQVRhRUd5S1VHZ1BLNlFB?=
 =?utf-8?B?a1ZGWUNEbjFRZ1l2bVVNaGErRTY1MTkyNmRKTGFSUit1ZWU1bGlVdFRqcCtJ?=
 =?utf-8?B?SFdCZC9hd1RXTVJmQ2VuRlNOWXAwNzRPS2haOHQ0TE1zVnBBZVF5eE9oR05P?=
 =?utf-8?B?NE1kdWtreDE2amFpSURnZ2Z6SHpwVjBmU0tuaml6T1BXWVU5dUVpME5YU09i?=
 =?utf-8?B?NFk3SzRyeGlPMERRRE02eTNFcCswMkJiNVhjZ0xhZFM2Q01Zczk5OEY5dmdN?=
 =?utf-8?B?dkJ5RnFjSXpqNWdQV0o2bHBiSXVQUWE3dWc5M3N3V3FCK1pJNFlsVEkxNDdG?=
 =?utf-8?B?RXB1dVZQNUppeDdTTUhuKzBDcEJDcFpwR3FXUGhWVzh5dkJhMjNuc0dON1Ru?=
 =?utf-8?B?dnc4UFBXZGxmY3hOMnNLbjcvck9tN3hhbWFDbVYwa1JPdDk1cVZ6YjBIc0Zi?=
 =?utf-8?B?NVVRSTRRQjkwZXYvcm9wYzd3b2pQbTQrRHNwS2MyUXhsdFhFYll5aXRIcHps?=
 =?utf-8?B?emNRVUMzR1pmSHhoeFhzQTBtZEhCNFhCamNlMmJJSDRzTm9lVTF6VkdwK0Fi?=
 =?utf-8?B?dkhIT0Y0Q255M3QwcUkxeUVmOC9WaGZTa24yMlRPMnJ5Nnd6b0hGYVZEV3Zv?=
 =?utf-8?B?NEdDNVNKbWVsKytVUWc1c0QxWGNOejVQMytQYVNTVkROT2wwekxaTXJwZTRB?=
 =?utf-8?B?NFVjUEFscUxwdnVoVlQwMVpXVjZ1dnNOakt6V0xQdXZRVEJHRlpqbFpzTlM3?=
 =?utf-8?B?MUVDb3g3UFE4ajJTR2F2b1JwQU9iWnVJWkhaM3EyNHFLR0JtMzJCU2N2YjNv?=
 =?utf-8?B?NmU3Zk9NMWd6ZFhEeU9zR3ZSZDJKR2lvNzV5V2hKeW1GaTlTTUlVTjBkZ2RL?=
 =?utf-8?B?ZDBNK01WS1E5dXpOam5ZbWNVK21EMTJINkhtTmxmMkVZZUFnekZ4TTZyTDJU?=
 =?utf-8?B?dVZwcWE1M0JiUStJbXhQS2tyL2RlYkpUYnJsREtRN29FME1OVzVNV0IyNU9J?=
 =?utf-8?B?TE5HRjlPTC82TTdSWTNWTlhsSHdnd01PcGlXdjY3ekxyVkszK0tza0YrejN6?=
 =?utf-8?B?UjVRWUE0NitxQUJpNGx0SitWUWNZNWIweHZFcHlVbUJPdnROTUpkYmorOWtW?=
 =?utf-8?B?WXdsTmZrR0JJYnZ5RDdHKy96a3BxV1hkNjdvTytkV0lsOE96M1RwekRkVWl1?=
 =?utf-8?B?eHV5SXJ6ekM4blJkMm1VaU1TbjhoVWZIeHo1bWJZeTZHbFR0QmJMTmFlNFNC?=
 =?utf-8?B?Z0tEaGx3Y05hOGdReUhmYTcyTGRWekFDR3QxK3RLQ3kyOXJ0NE4rYzlRR3Zl?=
 =?utf-8?B?YjJuNWdjVzNtR2M3V3NwNDBPZWFFQmU2dWc5YjJYV0ZBZ1F4NnptdGxvbHM2?=
 =?utf-8?B?R3d3RG92eDQrVXhyQjhLUGNSbVpxL0hxL3h0eXJ4cjg1VWZDNGZCbTFZb09Z?=
 =?utf-8?B?MmVDVWpOUzdrempTK3RWaDFuelRuZEdsaStqc1RHTkFHeURCQmhSSDdrRUNL?=
 =?utf-8?B?Tk1VYUhGQ256K1BGOGVHZ2treGw3Ulg2TDZOUUVjUlRtN0ttVUhhUWRnakRK?=
 =?utf-8?B?SEZGVFN5bXdCODFFUmVLbDFKNzliaDNwd21rRnRQQXd3cDI5emRjSzBHbVBU?=
 =?utf-8?B?UmxHbWJqVEkrQjFoUGRxUWY2YmI2NW9kaktleEdrUUorOEh5ZGZuZTRYTzZ4?=
 =?utf-8?B?M0Q2MG5yZUN2cEZVZjc0eWRIdGR4Z1k5d0EyWWVhUnljVitXZzZNd2tHZGNG?=
 =?utf-8?B?Q3hObzJTbVdGaGZKbm5GamRWc20vRVg5OXFyY0RKd09aNzNkek5jWk0yN0lR?=
 =?utf-8?B?Ynh2WS9ndi94WVdLNFlXUzdFaTk3dVpyblZrZzBVOFVtbmlXeWtTZ2F2SFNQ?=
 =?utf-8?B?VkU3VzVFaXpaK1VGVmtHT3h5amNpZTFWRldUYm41b3NRVHpFc25kU1pTTUt0?=
 =?utf-8?B?U1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?ZDVEWUYzOWNRS0VScEZrTmRkRDY3dGJRc1k5K1g3ZmhXZ3BpZUVNZXc1T0tQ?=
 =?utf-8?B?RDRxd0ppUkM3amJjNG5XdHRXcmFYSlY5L0VlNHFPKzYvT0x0b1p6bVpicDR6?=
 =?utf-8?B?ZFJ5UG95aHZEWmRNVmZ1elBYOG1rMHB6UHZIYWUxTXdJU3k2TWFMRDVWc0Fa?=
 =?utf-8?B?cU8va1E3NjQxbHE0ODV6eUp0SmdyRjRpck8yZWYydlJiNnhjZmkzdERyL29S?=
 =?utf-8?B?eXlXQkxKWEV4T1dHMW54QXUyV2lKRzhZa2NZOHdtMWhscUxpZ0pEM295TWM5?=
 =?utf-8?B?NzdrdC8vc2RNSkFtcENycXBkeDRORkE5eDRCZ3B2UVdlUlFoM3paQmZETS90?=
 =?utf-8?B?dEplSnA0THlHdVQ4N1ZjL05qUHRTRGNIM2lTSVYybXNoVU1RZEJzSzR3ZXZ0?=
 =?utf-8?B?LzJ6bVN2Vklid1d4YkZpRmM3U05WdTIzZEh4QzBsRzlMZVJ6NjhSdStJRitI?=
 =?utf-8?B?YUkyUUNkY25qOXFmbzdzSCtuRmt4Z3I5empFQngwd29hNml3a0U4djFESVJK?=
 =?utf-8?B?WFM3dmhmWkZSMmcxWjhGSCtNaWRJKy9lUUN5NUQzVVJTTVIySzdDTkFPT3FP?=
 =?utf-8?B?QWI2YmhxOXhSak93NGVqRW9CYlhncDNKN1AyOENsUDY4ZmVJamRJREZwT2hD?=
 =?utf-8?B?UGhGcnF2QUNBemh0QjlycmpmSGRZdVZSMTZVVWhwVVRNOG9ra1pMNThZZzUy?=
 =?utf-8?B?aGMva3I0STNnWDg0YXo3OHNYYlBhU3dJVlQ5SzBkTUtCMzhEdjd1RVh0MmxN?=
 =?utf-8?B?aEZLVkZSTVc0R2ovSXA4RUlRWUxqQy9kSXE5U1RaQklDUTJnalloekhCMWNN?=
 =?utf-8?B?dlNQWXFETUlYMkJrTVYwSk1IOVBYNWJacDRZdysycmJUbXVqQnFYZmQrNUxx?=
 =?utf-8?B?SnN5VDRHaDBjUE4xeUpkMzQxLzJyc3lXYWFaM2VYa0h1a1FVcDVKNDZsMSts?=
 =?utf-8?B?OE5Ja1h4Y3laYkROZld6NThoTzNLc0ttbWNWa0NNVDFZMktZdnY1cEluemdj?=
 =?utf-8?B?d1lMemIwTDVUS1EzRUkwS083WVd6QUJLd1F2alh3WklUT003c2d1Q2pSN29l?=
 =?utf-8?B?aGRERTAzVXhBTmQ0bDRIcU1LeFNFZW82ZzBSbzJWMGUzNlZWSC96a2Y0YXBB?=
 =?utf-8?B?YWF1bXhPTGlPUUtsL1VyeHZmZGhrWk5nS1M2UEZ6aFhoZXJtTmxNRFVOVTJI?=
 =?utf-8?B?SzI3L2srQVhTbWppcVRzV2pRenRteElUMEtqNDBHckRMeERudy9tRXNLRFpw?=
 =?utf-8?B?T3Y2b1NYSjhsQm0zYk1KaDhFRVZEbnlHMTR4RW0zczlLbnVQb3VIdUVvempQ?=
 =?utf-8?B?UDJIdHQ4YnMyZi9UNlB2YlJlNjVPelE2aXYrUmFHeFhmM0NCY1NYMVN1SkNV?=
 =?utf-8?B?b09ZOXJIV1p0WFRxWncyK1c0cGwxQ0JjNUFmYjM5TGJwSFgrWjdzaTdIUWdC?=
 =?utf-8?B?eWlDSTllSHdkTkF5ZGQ3UTNoTGgwQ280eVJKL09DdGo2aFlhM3NLekxWc3BV?=
 =?utf-8?Q?AvM7gA=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae903580-a0e5-4a35-a426-08db29ff1eca
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 11:26:31.6352
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nSENi+80jsuyj0W8Ct5d7gXSNCwDuO3JRDnUDK3e1KDYCadRVEjBxhwmJw1+M8zABk5k9uQlo3gPACkXcTQSGg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6955

So that it doesn't break the build when CONFIG_XEN or CONFIG_XEN_DOM0
are not enabled.

The current header is only included when CONFIG_XEN_DOM0 is selected,
so instead place it in the top level xen.h header, and also use the
dummy helper when CONFIG_X86 is not selected, as the current
implementation is x86 only.

Reported-by: kernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/oe-kbuild-all/202303210729.DvRvIUla-lkp@intel.com/
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 arch/x86/include/asm/xen/hypervisor.h | 10 ----------
 include/xen/xen.h                     | 10 ++++++++++
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
index 990a1609677e..5fc35f889cd1 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -63,14 +63,4 @@ void __init xen_pvh_init(struct boot_params *boot_params);
 void __init mem_map_via_hcall(struct boot_params *boot_params_p);
 #endif
 
-#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI)
-bool __init xen_processor_present(uint32_t acpi_id);
-#else
-static inline bool xen_processor_present(uint32_t acpi_id)
-{
-	BUG();
-	return false;
-}
-#endif
-
 #endif /* _ASM_X86_XEN_HYPERVISOR_H */
diff --git a/include/xen/xen.h b/include/xen/xen.h
index 7adf59837c25..4410e74f3eb5 100644
--- a/include/xen/xen.h
+++ b/include/xen/xen.h
@@ -71,4 +71,14 @@ static inline void xen_free_unpopulated_pages(unsigned int nr_pages,
 }
 #endif
 
+#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI) && defined(CONFIG_X86)
+bool __init xen_processor_present(uint32_t acpi_id);
+#else
+static inline bool xen_processor_present(uint32_t acpi_id)
+{
+	BUG();
+	return false;
+}
+#endif
+
 #endif	/* _XEN_XEN_H */
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 11:27:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 11:27:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512357.792340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pea9W-0006w5-OP; Tue, 21 Mar 2023 11:27:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512357.792340; Tue, 21 Mar 2023 11:27:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pea9W-0006vy-K4; Tue, 21 Mar 2023 11:27:42 +0000
Received: by outflank-mailman (input) for mailman id 512357;
 Tue, 21 Mar 2023 11: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pea9V-0006tf-2Q
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 11:27:41 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 623c3c7d-c7db-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 12:27:39 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7710.eurprd04.prod.outlook.com (2603:10a6:102:e6::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 11:27:36 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 11: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: 623c3c7d-c7db-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Zr4+XbpWeWTJRrzAlV1paATsvAHHAGyrPA5E6teJrOjmfGLEVuVrztGucPKl/U3eDN3L2+uJWhk63nN/0eHjPc/cPKfG16DBYOX1vHwwXeTyTGQ4LEET9uzp4nVxZwd24binkxy+3K424gZjEFa1AuT/Izd8pFZrOup7+Ogk0QiySbu2EbidHWDLvU8EsEURPuPdmk3U5AYCKAE1+DRfKHSCDV0iTCy/lz0A9ZHuGWN0r/xE1+rnLg9FEi/i2WEILxiFRF51tcJv9F8OF9wE+Lxm5/56gtSddQtQjMTJrYPEbyF3+ftIoPZgQPmgznvqXN58fjvRm9TOemhJOIlq7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bbQAeUsV36rUNqz9uTU9a3E1pL9/cgy3Ba8/+0SuuVc=;
 b=adjclk+Bz1ohycSC/VRSdghB5s4S5vCLTYwPkAvulwlhXDbd89Sf9elhFmpFMNAF2tfjli0TjXj//9EtvZUMAMO+FZGkoBPt4ssJQIUXxiKd4/X8Dhqq9LdsO7EXQaa3DHGZgXhxY43LMhn/MTZD/kE/9LlskvYRDguLyaOhzAiWWrtKctHpY24n3ouHwo+uH/ZQZU1zApqPN2ksDKS4ZK9n+Pcd6/aFiOsw3vU+J+YshHrHSgI9qEKmZXxX6kdWZIuhsDCQRFUVg1KjQP4GhRIWwJzs4InfRNG7EaFEZ+LG2TSrPGxAx5DhxwraJIiVJ++3SiKEDbWwG+lhv/zWgQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bbQAeUsV36rUNqz9uTU9a3E1pL9/cgy3Ba8/+0SuuVc=;
 b=1NqXPEoASF/nC6Dmj4cwRO7P6DLp7vdoCiSrinaz7t+deLN41WUMArvcKMC1amQhifMxQikt1KzpgbhVQtM1NL5a8lM1I+/BGbRmnQa3Ne3TVY4bEWaFZ9BATJHQY2jUnoNrhZflyQXHo0hoBd1h8WV01yfcPXwwbWyRJMYGc4SEcjGUmtoWSWeN2TJdtD02dBoqh7Kd1x6T4e18IifZPFQKeSY1R51drqadBOERX8E3DXXu2aP14r9OPj6VZMpFV+BgJqdN6omIlpY22YXCzz9UwgH6/oZC3B3R52ZlFCSIsD40uRsg76Mr7rH09JyYDM29dcGk/5sbXamKP1dP/g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b0581373-bc41-f05b-d3c9-d5e12b0111fc@suse.com>
Date: Tue, 21 Mar 2023 12:27:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 2/7] xen/riscv: initialize boot_info structure
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
 <1941d4ed64ff6edcc6354d09d6a40db4d6f63c44.1678976127.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1941d4ed64ff6edcc6354d09d6a40db4d6f63c44.1678976127.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0005.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7710:EE_
X-MS-Office365-Filtering-Correlation-Id: 53efe73d-d2ed-44a7-66ea-08db29ff4533
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6B2ATbSfEmtDVsgZgqiH/AH/ApouOcxEbD4W3EJPqqlb7zaquQq30DYDtv2CHtUi26fryoGOfwZ1Z5P4uAeybzP0BJHBVW+u7l8TEUBwkI32vTCkUiMITMxiQ0MSRm2C51T7L3X4bmoFOa6T/YhoXQiyGSnsAUdoLj7/k7kRl/hYuK75hNF9iH6Tscz7kxKcQDycZc4zpByoUrkbOxeQDlpJPTvyeZCsKwE9wu+u30+OSgsDpF6bjbqqdxMd9tliV9hgTZtE0Kz/MEoBPxU4fYz502rUVWaCkJWI06lKYfVISHCwoNPphp2TDQ4/JeMvhXiYwKbZAePQ+1RZ1yj0pYlpIpU+IvUVvd+xbhSydSWXFGFYNaI12HrfOdvmR/Fv8CTyZgpy7p9btX+rOGYzTIjvt8XOsMcveANIGPFbWm2Vk3q3daI3mfyQBzJ6gxIcA9jRkgqgbi5xMuZX5ENanuSIksQ0BYYoeUPpB61KOtC9zJJA/ahdc3Stn/s0TmlpxfOrQab0Y2su5XBbwWzvZ2IUXLQz6j8lV2OOQF8trFXLW4cn1FAxV5i0Q3+HjF/OA8x4FvXMA0H7yVSJ6EBQM8cqy7FM6ejsWmQk5wU5SRrflIA2CTbpYU9pTS/SX62npWJhi8taVTptDVhCMxjnrmuCfRXsJbCEmMp0D6sQAKGK2V08db4+4svxr3inUzOVpZxk3CfyIZmFDvl7ZEBCO6vrEmGBoRlDwyFwGV/zOabkRoG4tux2EHng5MPf5BwWFOsIB9n2Qh+L3mT9va2kY/y5UMyPFNTUDyx/1omoo4Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(136003)(366004)(346002)(376002)(396003)(451199018)(86362001)(31696002)(36756003)(4326008)(8676002)(6916009)(53546011)(478600001)(66946007)(316002)(54906003)(66476007)(6506007)(6512007)(66556008)(2616005)(31686004)(6486002)(186003)(26005)(38100700002)(8936002)(5660300002)(41300700001)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WG9PQmJMY2dFOEZLSlA0Y1dkVFFicnVYMWhtN1N6dEw2UTk4OVh6SWdrem4z?=
 =?utf-8?B?WXUrY1hyYkwrSXlQckQwcURzVnFuY3Q2cEMwSDZ2eVBRRmdSL1RWL0JiM2dH?=
 =?utf-8?B?bk9QbHBBTEVvckRxdHEvZnZtdWRqUGVpYjJ5RXRTRmhuLzRRTEpUSG1sMU43?=
 =?utf-8?B?OTR3UUlCOGxhQ1l5bUVIN0RQbGpMOTVEeWgvbURjcnQ2dGpidjhGTlJyWXpI?=
 =?utf-8?B?WldkT1RvY1I3QVRvNlF0YmZaUXpSaDVmM25TR1BzeDBiUlFiL1VzZUh0ejV0?=
 =?utf-8?B?TjVMeUJRTjNXSWpIMWc2UHJDaUhIOWZZY3hiZXV4MWUzRjd5MVYzdktIZDNa?=
 =?utf-8?B?TW94dFUrOFFJRFhIbEc0eDJYTGpiM1U1VkQrMFRzNFR2TnN4TDg5UklIRmEy?=
 =?utf-8?B?bUtWbi9HZVAvREE0VlptWnZETm9RWVFVZ3p2L0tDN0tKNTNJeEFRNWIyZk9a?=
 =?utf-8?B?b1VBanNIWTRrMW1JTE5JR3BPYVNSSE9JcTdjd2V1UEtqTlZ4RENGMWhpSTRG?=
 =?utf-8?B?ZzQ2SEFBa1VubHBiQ0xzQUVtYUVmTEZKbnV2TG1PM1VnMmIyTmJPRThDRjAx?=
 =?utf-8?B?RUZZVEFwam5UYlFBMkJrbHJhWWk2TFMyakVKVFZWdlRxdnBHYnV3Q1NTd01L?=
 =?utf-8?B?MUVjbTh5ckFWNTZTNENNOHdUZVhLTlBPRzFzRTBsMUFjYW4yRDlZTiszRXd4?=
 =?utf-8?B?SVNuK1QvcVZ4VkFvQlRHYzJKTGhMbU5MaGtxb2M4d2dQc21yQWdWK0pHL2g1?=
 =?utf-8?B?bnduTnRpdkhWUlNhQnJsajNNOFIrL2FRZjB3YkhUbTlPb2dIRWlRWXJGVDZo?=
 =?utf-8?B?MVgyejhJb01UR2RwOU01LzM4di9wQmdyTDYvU09Ta0h0bTRaTncwSlpLM2Mz?=
 =?utf-8?B?UmlYOHJqaFdneGVyMDJpaFhzKzVNK2o3ejRuc0kyeS9ncDR1c25hbkNIUm0w?=
 =?utf-8?B?WDBOR0Z6TEtja3lkNWJYd2RsWUVkOThvaGZRYlNtZWV0Y3QySFJRYmNyNlVR?=
 =?utf-8?B?VW9ZTy9WSEZaMHplMndVSmYzU0h5clpLTHFyeDByU3VKcFY1OUlRQ05mcHlV?=
 =?utf-8?B?OWlvOWw1UFNoRktOUmIrenlYOFFpWE0ycnNxME8wR2E2SFltNmJkOWRaWkx6?=
 =?utf-8?B?MEZUaUNxdVVxam5qaG5kRVZMbEd1TVY5dnhLekZOS2E4dHE4SjlLNzhLZWFP?=
 =?utf-8?B?cXpGeFlHcS9JbzZvNGcxWUFCdUlubzJadUptSFlINnMvV2wwLzU1b2kvVnVS?=
 =?utf-8?B?aGl4VUZMTkVUWDJRNGNJQm1RamdaTWk4YmxRT0JyS1Z2TWRIbm5yOHdETFhL?=
 =?utf-8?B?WkQ4emVTTW8rM3ljVEdseFJlcjA2Tlh0dFRnWnpBRDNHUlFtditWTkN2T2x3?=
 =?utf-8?B?VUhHQ3ZFaUllT0EzRFJZVWRtRFkwYVUzbWRvbnpTKy93MGRYSkgvUGFEZm96?=
 =?utf-8?B?bDBWQTdBWVVWYnN6VkF3WU5iKzF1ZFkzK1J3QmFaeWNZRHVUMmx6M0JmMC9N?=
 =?utf-8?B?U09rQzl3Z3NWVW1YbVBBdkdzeU5hakpKZDU4eUpoL1lHRlA1VWFHa1BKcFhz?=
 =?utf-8?B?bkgydWVkVGJVM0NZZWZHazlDem1STFZXbkdOQkw2RmhEL1FLRWpNWjJEMGFw?=
 =?utf-8?B?b2JmVWh1R0hkSUtSUllXZkxFMENGNVc4SGpTUGNvMUhkY0QvUThLQmpCV0E1?=
 =?utf-8?B?UHdZNmpKUXBMRHlxK3NBV2wvMk9SOTl4a2pkYUcvNzdCZXFDVDRTQVNMVHov?=
 =?utf-8?B?Y3hUczZ6ck50QU1IanRXOFhQc2t5UkxlV3NtKytWeG5vL0VFYW43MUQzd2xa?=
 =?utf-8?B?dVBoOGFEcDFCQUg3Rk85MXZlZk9lV0h0eXExcCs4a2JxU3BVZjBsSU0xaE9z?=
 =?utf-8?B?NlhWL005SHZwMTNvWW5PeUllZUtGRlpsY0V5aVA3alJib3JsczdrOWtCMGVQ?=
 =?utf-8?B?NGpWRWZ5NFBGWGFvUERWUHZyK2srY1ZaUkk4NDVQK05DNXlGYkllWHRUMFlu?=
 =?utf-8?B?WFZ1dWxGSHg2dTU2SlIxVzhLem9qdWtNZXEzc1RIUlZNcWVUdVZlV2F2VkVR?=
 =?utf-8?B?Z1RxT2ZSdW1sZE9jQyt1UkpYVGF0Ty9WVFdsSE9mWE1maEJibjJtSHV6M1Vh?=
 =?utf-8?Q?9G2lE5w3BuY2obMH5kmd67OSQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 53efe73d-d2ed-44a7-66ea-08db29ff4533
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 11:27:35.9327
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DPSVEFlP/XANiAuYbuVL33d9xjROrGC/Tda5Be/LmbdC4rN1NPTWnSmFvhPAwDTslxbWB2tw44xOokWGjDYY9g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7710

On 16.03.2023 15:39, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/setup.c
> +++ b/xen/arch/riscv/setup.c
> @@ -1,12 +1,16 @@
>  #include <xen/compile.h>
>  #include <xen/init.h>
> +#include <xen/kernel.h>
>  
> +#include <asm/boot-info.h>
>  #include <asm/early_printk.h>
>  
>  /* Xen stack for bringing up the first CPU. */
>  unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
>      __aligned(STACK_SIZE);
>  
> +struct boot_info boot_info = { (unsigned long)&_start, (unsigned long)&_end, 0UL, 0UL };

You add no declaration in a header, in which case this wants to be static.
It may also want to be __initdata, depending on further planned uses. I
would also like to suggest using C99 dedicated initializers and in any
event omit the 0UL initializer values (as that's what the compiler will
use anyway). Yet even then I think the line is still too long and hence
needs wrapping.

> @@ -15,11 +19,19 @@ unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
>   */
>  int dummy_bss __attribute__((unused));
>  
> +static void fill_boot_info(void)

__init?

> +{
> +    boot_info.load_start = (unsigned long)_start;
> +    boot_info.load_end   = (unsigned long)_end;
> +}

I'd like to understand how this is intended to work: _start and _end
are known at compile time, and their value won't change (unless you
process relocations alongside switching from 1:1 mapping to some
other virtual memory layout). Therefore - why can't these be put in
the initializer as well? Guessing that the values derived here are
different because of being calculated in a PC-relative way, I think
this really needs a comment. If, of course, this can be relied upon
in the first place.

Also please be consistent about the use of unary & when taking the
address of arrays (or functions). Personally I prefer the & to be
omitted in such cases, but what I consider relevant is that there
be no mix (in new code at least).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 11:48:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 11:48:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512363.792373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peaTB-0001hP-56; Tue, 21 Mar 2023 11:48:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512363.792373; Tue, 21 Mar 2023 11:48:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peaTB-0001hI-1P; Tue, 21 Mar 2023 11:48:01 +0000
Received: by outflank-mailman (input) for mailman id 512363;
 Tue, 21 Mar 2023 11:47: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=h9ZV=7N=citrix.com=prvs=437435c1e=sergey.dyasli@srs-se1.protection.inumbo.net>)
 id 1peaT8-0001D8-Ud
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 11:47:59 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 381d7b49-c7de-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 12:47: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: 381d7b49-c7de-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679399277;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=fGE0T9aXdCXHzzRWPZzgGMfJeXlC0Uh4tsC4r6B01fo=;
  b=Me3RD6DpJ8hqAfGt4HfYVG7VhQBuAxMG3lPN+TE2irto9wV0yy4ITVv4
   XrhKXC3GfWY9EMGCfLNrjx6Tc3nLZ0TC7FPreBQUunYiJU/yX8Jy1/dyE
   AbW7qsCtoIoepkLLdI5ecjYJkLt3XS1bCaRaQxROZYJ7qvQVhu9xDs0sU
   8=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 101693125
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:wKH6oq4df3XJpcQbzXry6QxRtAzHchMFZxGqfqrLsTDasY5as4F+v
 jQZDGjTbq2LZmr3Kdp/bojioU0C65/WyNZhSQNsrSkxHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasR5QeH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m8
 PYRFxtKPh65nrys0J2pGs5B3u0CFZy+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrmLyaTJVuRSZtKMs52n7xw1tyrn9dtHSf7RmQO0Mxh/G9
 zmfpTmR7hcyEIbG9mO88WCX1sDspi/RWJ5VFI2H36s/6LGU7jNKU0BHPbehmtG7hVS5QMl3M
 FEP92wlqq1a3E62StjwWTWorXjCuQQTM/JLCPEz4gyJzqvS4i6aC3ICQzoHb8Yp3Oc0TzE30
 l6Cn/vyGCdi9raSTBq15rqS6D+/JyURBWsDfjMfCxsI5cH5p4M+hQ6JScxseIaqivXlFDe2x
 CqFxBXSnJ1K05RNjf/iuwma3XT1/MOhohMJChv/W2is0Sg+NICfftKy+XfJvdFtdK+4dwzU1
 JQboPRy/NziHLnUynPcG7tQTOjyjxqWGGaC2AAyRvHN4xzooif+Jt4IvVmSMW8zaq45lSnVj
 Fg/UO+7zLtaJzOUYKB+eOpd4Ox6nPG7RbwJuh05B+eig6SdlyfdpkmCnWbKgwjQfLEEyMnTw
 6uzf8e2Fmo9Aq961jewTOp1+eZ1mXFlnjyLG8ujn07PPV+iiJi9E+9tDbdzRrphsPPsTPrpH
 yZ3aJLRlkQ3vBzWaSjL648DRW03wYwALcmu8aR/L7fbSiI/QTFJNhMk6e54E2CTt/8OzbmgE
 7DUchIw9WcTclWedFjRMCs/OO2HsFQWhStTABHA9G2AgxALCbtDJo9GH3frVdHLLNBe8MM=
IronPort-HdrOrdr: A9a23:+ZASzK4Wu5SatQ3fgAPXwOrXdLJyesId70hD6qkRc20xTiX8ra
 rCoB1173PJYVoqN03I4OrwX5VoIkmsl6Kdg7NwAV7KZmCPhILPFu9fBODZsl7d8kPFl9K14p
 0QF5SWWOeaMbGjt7eB3OBjKadZ/DBbytHPuQ4D9QYXcei1UdAc0+8XYjzra3FLeA==
X-IronPort-AV: E=Sophos;i="5.98,278,1673931600"; 
   d="scan'208";a="101693125"
From: Sergey Dyasli <sergey.dyasli@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Sergey Dyasli <sergey.dyasli@citrix.com>
Subject: [PATCH v3 2/3] x86/platform: introduce XENPF_get_ucode_version
Date: Tue, 21 Mar 2023 11:47:44 +0000
Message-ID: <20230321114745.11044-3-sergey.dyasli@citrix.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321114745.11044-1-sergey.dyasli@citrix.com>
References: <20230321114745.11044-1-sergey.dyasli@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

Currently it's impossible to get CPU's microcode revision after late
loading without looking into Xen logs which is not always convenient.

Add a new platform op in order to get the required data from Xen and
provide a wrapper for libxenctrl.

Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>
---
 tools/include/xenctrl.h                  |  2 ++
 tools/libs/ctrl/xc_misc.c                | 21 +++++++++++++++++
 xen/arch/x86/platform_hypercall.c        | 30 ++++++++++++++++++++++++
 xen/arch/x86/x86_64/platform_hypercall.c |  4 ++++
 xen/include/public/platform.h            | 12 ++++++++++
 xen/include/xlat.lst                     |  1 +
 6 files changed, 70 insertions(+)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 8aa747dc2e..d3ef7a48a5 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1187,6 +1187,8 @@ int xc_cputopoinfo(xc_interface *xch, unsigned *max_cpus,
                    xc_cputopo_t *cputopo);
 int xc_microcode_update(xc_interface *xch, const void *buf, size_t len);
 int xc_get_cpu_version(xc_interface *xch, struct xenpf_pcpu_version *cpu_ver);
+int xc_get_ucode_version(xc_interface *xch,
+                         struct xenpf_ucode_version *ucode_ver);
 int xc_numainfo(xc_interface *xch, unsigned *max_nodes,
                 xc_meminfo_t *meminfo, uint32_t *distance);
 int xc_pcitopoinfo(xc_interface *xch, unsigned num_devs,
diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
index f2f6e4348e..b93477d189 100644
--- a/tools/libs/ctrl/xc_misc.c
+++ b/tools/libs/ctrl/xc_misc.c
@@ -246,6 +246,27 @@ int xc_get_cpu_version(xc_interface *xch, struct xenpf_pcpu_version *cpu_ver)
     return 0;
 }
 
+int xc_get_ucode_version(xc_interface *xch,
+                         struct xenpf_ucode_version *ucode_ver)
+{
+    int ret;
+    DECLARE_PLATFORM_OP;
+
+    if ( !xch || !ucode_ver )
+        return -1;
+
+    platform_op.cmd = XENPF_get_ucode_version;
+    platform_op.u.ucode_version.xen_cpuid = ucode_ver->xen_cpuid;
+
+    ret = do_platform_op(xch, &platform_op);
+    if ( ret != 0 )
+        return ret;
+
+    *ucode_ver = platform_op.u.ucode_version;
+
+    return 0;
+}
+
 int xc_cputopoinfo(xc_interface *xch, unsigned *max_cpus,
                    xc_cputopo_t *cputopo)
 {
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index a2d9526355..d0818fea47 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -640,6 +640,36 @@ ret_t do_platform_op(
     }
     break;
 
+    case XENPF_get_ucode_version:
+    {
+        struct xenpf_ucode_version *ver = &op->u.ucode_version;
+
+        if ( !get_cpu_maps() )
+        {
+            ret = -EBUSY;
+            break;
+        }
+
+        if ( (ver->xen_cpuid >= nr_cpu_ids) || !cpu_online(ver->xen_cpuid) )
+        {
+            ret = -ENOENT;
+        }
+        else
+        {
+            const struct cpu_signature *sig = &per_cpu(cpu_sig, ver->xen_cpuid);
+
+            ver->cpu_signature = sig->sig;
+            ver->pf = sig->pf;
+            ver->ucode_revision = sig->rev;
+        }
+
+        put_cpu_maps();
+
+        if ( __copy_field_to_guest(u_xenpf_op, op, u.ucode_version) )
+            ret = -EFAULT;
+    }
+    break;
+
     case XENPF_cpu_online:
     {
         int cpu = op->u.cpu_ol.cpuid;
diff --git a/xen/arch/x86/x86_64/platform_hypercall.c b/xen/arch/x86/x86_64/platform_hypercall.c
index 5bf6b958d2..b876fd0c4a 100644
--- a/xen/arch/x86/x86_64/platform_hypercall.c
+++ b/xen/arch/x86/x86_64/platform_hypercall.c
@@ -28,6 +28,10 @@ CHECK_pf_pcpuinfo;
 CHECK_pf_pcpu_version;
 #undef xen_pf_pcpu_version
 
+#define xen_pf_ucode_version xenpf_ucode_version
+CHECK_pf_ucode_version;
+#undef xen_pf_pucode_version
+
 #define xen_pf_enter_acpi_sleep xenpf_enter_acpi_sleep
 CHECK_pf_enter_acpi_sleep;
 #undef xen_pf_enter_acpi_sleep
diff --git a/xen/include/public/platform.h b/xen/include/public/platform.h
index 60caa5ce7e..232df79d5f 100644
--- a/xen/include/public/platform.h
+++ b/xen/include/public/platform.h
@@ -614,6 +614,17 @@ DEFINE_XEN_GUEST_HANDLE(xenpf_symdata_t);
 typedef struct dom0_vga_console_info xenpf_dom0_console_t;
 DEFINE_XEN_GUEST_HANDLE(xenpf_dom0_console_t);
 
+#define XENPF_get_ucode_version 65
+struct xenpf_ucode_version {
+    uint32_t xen_cpuid;       /* IN:  CPU number to get the revision from.  */
+    uint32_t cpu_signature;   /* OUT: CPU signature (CPUID.1.EAX).          */
+    uint32_t pf;              /* OUT: Processor Flags.                      */
+                              /*      Only applicable to Intel.             */
+    uint32_t ucode_revision;  /* OUT: Microcode Revision.                   */
+};
+typedef struct xenpf_ucode_version xenpf_ucode_version_t;
+DEFINE_XEN_GUEST_HANDLE(xenpf_ucode_version_t);
+
 /*
  * ` enum neg_errnoval
  * ` HYPERVISOR_platform_op(const struct xen_platform_op*);
@@ -645,6 +656,7 @@ struct xen_platform_op {
         xenpf_resource_op_t           resource_op;
         xenpf_symdata_t               symdata;
         xenpf_dom0_console_t          dom0_console;
+        xenpf_ucode_version_t         ucode_version;
         uint8_t                       pad[128];
     } u;
 };
diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
index d601a8a984..164f700eb6 100644
--- a/xen/include/xlat.lst
+++ b/xen/include/xlat.lst
@@ -157,6 +157,7 @@
 ?	xenpf_pcpuinfo			platform.h
 ?	xenpf_pcpu_version		platform.h
 ?	xenpf_resource_entry		platform.h
+?	xenpf_ucode_version		platform.h
 ?	pmu_data			pmu.h
 ?	pmu_params			pmu.h
 !	sched_poll			sched.h
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 11:48:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 11:48:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512362.792358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peaT9-0001HG-OW; Tue, 21 Mar 2023 11:47:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512362.792358; Tue, 21 Mar 2023 11:47:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peaT9-0001Fk-Kg; Tue, 21 Mar 2023 11:47:59 +0000
Received: by outflank-mailman (input) for mailman id 512362;
 Tue, 21 Mar 2023 11:47: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=h9ZV=7N=citrix.com=prvs=437435c1e=sergey.dyasli@srs-se1.protection.inumbo.net>)
 id 1peaT8-0001DD-HP
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 11:47:58 +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 34ed4f05-c7de-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 12:47: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: 34ed4f05-c7de-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679399275;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=rAIZjgG2rZhi1dnmrxQUcW0cV4W0rLAdPQfcshNxphA=;
  b=fCMxaM8Ubi/wDKg6cftGfBSHsyl8ikjHhU3RNK0M1AXD8blO93tiQuK8
   /RcljHY8ZPd/hXSjUbKKk6H0zUBHxVSuB5CbcxwJ8kULQwQanKO1qI14N
   kM8skblN7236E0rbiVT/G2j37YRiGoduuPI3ICbE/VB0N6IkRRgANa8gM
   Y=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 101601995
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:N8rruaKvguahVR2pFE+R5ZUlxSXFcZb7ZxGr2PjKsXjdYENS0zRVz
 2pJWmrQOfaKM2TxeNhzO4jn8B9Xv8eHm4NqQQRlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZnPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5cXTpny
 v0lcgk0LSCZm9mM8YmDTMJV05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWh+qyiXTuNTFJoUmRpII84nTJzRw327/oWDbQUoXSHJsNxxfJ+
 woq+UzmCBIza+O/7AC6zWCh3fHgzST+Bac7QejQGvlC3wTImz175ActfVm0u/6ikWalRslSb
 UcT/0IGr7U29UGtZsnwWVu/unHslgUHR9NaHuk+6QeM4qnZ+QCUAi4DVDEpQN4sudIyRDcq/
 kSUhN6vDjtq2JWFRHTY+rqKoDeaPSkOMXREdSICVREC4dTovMc0lB2nZslnOL64iJvyAz6Y/
 tyRhHFg3fNJ15dNjvjluwmd2FpAu6QlUCYeul7+YWOYtDpAJ76/e7eS2GPj6915edPxoka6g
 JQUpySPxLlQUsDWynHdGb5l8KKBvKjcbmCF6bJ7N9x4rmn2pSb+FWxFyGsmTHqFJProbtMAj
 KX7nQpKrKFeM3KxBUOcS9LgUp96pUQM+DmMaxw1UjatSsIrHON/1HsyDXN8Jki0+KTWrYkxO
 I2AbeGnBmsABKJswVKeHrlCgORwmXhgnjuDH/gXKihLN5LEPBaopUotagPSPojVE59oUC2Kq
 o0CZqNmOj1UUfHkYzm/zLP/2WsidCBhbbiv8pQ/XrfacmJb9JQJVqa5LUUJINc+wcy4V47go
 xmAZ6Ov4AOi2CadclnaNBiOqtrHBP5CkJ7yBgR0VX7A5pTpSdzHAHs3H3fvQYQayQ==
IronPort-HdrOrdr: A9a23:a6l1kqiduUyw9BiB1SwzKeJljXBQXwh13DAbv31ZSRFFG/FwyP
 rCoB1L73XJYWgqM03I+OrwXpVoJEmxyXcb2/h0AV7PZniFhILKFvAA0WKB+UyYJ8SWzIc0us
 kBT0EXMqyJMbEQt7ec3ODXKadE/DCyytHSuQ6S9QYfcShaL4VbqytpAAeSFUN7ACFAGJoCDZ
 KZou5KvSCpd3g7ZtmyQiBtZZm3m/T70LbdJTIWDR8u7weDyRuu9b7BChCdmjMTSSlGz7sO+X
 XM1yb5+qKgmfemzQK07R6g071m3P/ajvdTDs2FjcYYbh3qlwaTfYxkH4aPuTgkydvflmrDxL
 P3wisIDoBW0Tf8b2u1qRzi103LyzA18ULvzleenD/KvdH5bChSMbsKuatpNj/ir2YwttB116
 xGm0iDsYBMMB/GlCPho/DVShBRkFauq3ZKq59Zs5Vma/pSVFZtl/1XwKoVKuZ3IMvC0vFRLA
 C6NrCV2B5UGWnqEEwx8FMfjOBEZU5DYitucnJyx/B97AIm5kyR73FotfD3zU1whK7VDaM0k9
 j5Dg==
X-IronPort-AV: E=Sophos;i="5.98,278,1673931600"; 
   d="scan'208";a="101601995"
From: Sergey Dyasli <sergey.dyasli@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Sergey Dyasli <sergey.dyasli@citrix.com>
Subject: [PATCH v3 0/3] xen-ucode: print information about currently loaded ucode
Date: Tue, 21 Mar 2023 11:47:42 +0000
Message-ID: <20230321114745.11044-1-sergey.dyasli@citrix.com>
X-Mailer: git-send-email 2.17.1
MIME-Version: 1.0
Content-Type: text/plain

For v3 I've removed the usage of xenhypfs and gone back to adding
a new platform op.

Sergey Dyasli (3):
  tools/xenctrl: add xc_get_cpu_version()
  x86/platform: introduce XENPF_get_ucode_version
  tools/xen-ucode: print information about currently loaded ucode

 tools/include/xenctrl.h                  |  3 ++
 tools/libs/ctrl/xc_misc.c                | 41 +++++++++++++++
 tools/misc/xen-ucode.c                   | 66 ++++++++++++++++++++++++
 xen/arch/x86/platform_hypercall.c        | 30 +++++++++++
 xen/arch/x86/x86_64/platform_hypercall.c |  4 ++
 xen/include/public/platform.h            | 12 +++++
 xen/include/xlat.lst                     |  1 +
 7 files changed, 157 insertions(+)

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 11:48:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 11:48:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512364.792383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peaTC-0001wx-Eo; Tue, 21 Mar 2023 11:48:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512364.792383; Tue, 21 Mar 2023 11: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 1peaTC-0001wq-9c; Tue, 21 Mar 2023 11:48:02 +0000
Received: by outflank-mailman (input) for mailman id 512364;
 Tue, 21 Mar 2023 11: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=h9ZV=7N=citrix.com=prvs=437435c1e=sergey.dyasli@srs-se1.protection.inumbo.net>)
 id 1peaTA-0001D8-7A
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 11:48:00 +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 3a1cc7c3-c7de-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 12:47: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: 3a1cc7c3-c7de-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679399279;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=yPgkIRATgOC2FbBBzbnMPFmEbRwaB2aFJyQAh88EYlA=;
  b=AdhU3IvIKBPjkN4jzRJ4ZW4AaVYe816RnLOvqD/JpGVsg0v541heBy7G
   Repi88XW0IE3Y5ts4Gx1JyAixgOyuY299OuV9Zca4G1qWM+4YuCffD92g
   71PWjt63LWRWZ0gxuVpq5NStMt4Py6C7LlW4q1QAg6CPAfZgEKDeoYmkl
   k=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 101693127
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:5LsfWaxu2AIDQ8YbeFN6t+cDxirEfRIJ4+MujC+fZmUNrF6WrkVRn
 WQfDG3QO/iJMGf8LdEkOonl9RgEv8LRzYI1HlY9qyAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6kT5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KXBzz
 PgqJA8yVRmOo/CV+JGeV/lhict2eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKZOUYn1lQ/UfrSmM+zi2PwfiwepEOcvq42y2PS0BZwwP7mN9+9ltmiHJ0MwBfD/
 ziZl4j/Ki5AMYOT5X2/zk2xvveMrXyjCKEjSLLto5aGh3XMnzdOWXX6T2CTo/ajjVWlc8lCM
 EFS8S0rxYAw6UiqQ9/VTxC+5nmesXY0QMFMGuc37AWMzKv84AuDAGUACDlbZ7QOtsU7WDgr3
 V+hhM7yCHpkt7j9YWKQ8PKYoC2/PQARLHQefmkUQA0d+d7hrYovyBXVQb5LD6qdntDzXzbqz
 Fi3QDMW3utJy5RRjuPioA6B2mj3znTUcuIrzhTqZ2aX4jxGX4eoQ56L0Xv+8OZNI4nMGzFto
 0M4d9iiAPEmVM/SxXfTHbVUR9lF9N7ebmSC3AcH840Jsm30piX9Jd04DCRWfh8BDyoSRdP+j
 KY/Uyt17YQbAnalZLQfj2mZW5VzlviI+TgIu5npgjtyjntZLlXvENlGPxL44owUuBFEfVsDE
 Zmaa92wKn0RFL5qyjG7L89Ej+B6nXthnT2IHcChp/hC7VZ4TCTNIYrpzXPUNrxphE97nOkl2
 4kGbJbbo/mueOb/fjPW4eYuELz+FlBiXcqeg5UOLoare1M2cFzN/teMmNvNjaQ+xP8L/goJl
 1ngMnJlJK3X3CCacl/RNiA9AF4tNL4mxU8G0eUXFQ7A8xAejUyHts/zq7NfkWEbydFe
IronPort-HdrOrdr: A9a23:mdADxqxh7kdHM7ognWX1KrPwDr1zdoMgy1knxilNoH1uA6mlfq
 WV9pkmPHDP5Ar5NEtOpTn4AtjmfZq+z+8W3WByB9eftWDd0QOVxedZg7cKqAeQeBEWmNQ96U
 5WSdkbNDShNzNHZB7BkXOF+gwbsaG6GX2T9IHjJqtWPHpXgn9bnnpE4mnyKDwOeDV7
X-IronPort-AV: E=Sophos;i="5.98,278,1673931600"; 
   d="scan'208";a="101693127"
From: Sergey Dyasli <sergey.dyasli@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Sergey Dyasli <sergey.dyasli@citrix.com>
Subject: [PATCH v3 3/3] tools/xen-ucode: print information about currently loaded ucode
Date: Tue, 21 Mar 2023 11:47:45 +0000
Message-ID: <20230321114745.11044-4-sergey.dyasli@citrix.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321114745.11044-1-sergey.dyasli@citrix.com>
References: <20230321114745.11044-1-sergey.dyasli@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

Add an option to xen-ucode tool to print the currently loaded ucode
version and also print it during usage info.  Print CPU signature and
processor flags as well.  The raw data comes from XENPF_get_cpu_version
and XENPF_get_ucode_version platform ops.

Example output:
    Intel:
    Current CPU signature is: 06-55-04 (raw 0x50654)
    Current CPU microcode revision is: 0x2006e05
    Current CPU processor flags are: 0x1

    AMD:
    Current CPU signature is: fam19h (raw 0xa00f11)
    Current CPU microcode revision is: 0xa0011a8

Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>
---
 tools/misc/xen-ucode.c | 66 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 66 insertions(+)

diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
index ad32face2b..b9037ce6a1 100644
--- a/tools/misc/xen-ucode.c
+++ b/tools/misc/xen-ucode.c
@@ -12,6 +12,65 @@
 #include <fcntl.h>
 #include <xenctrl.h>
 
+static const char intel_id[] = "GenuineIntel";
+static const char   amd_id[] = "AuthenticAMD";
+
+static void show_curr_cpu(FILE *f)
+{
+    int ret;
+    xc_interface *xch;
+    struct xenpf_pcpu_version cpu_ver = { .xen_cpuid = 0 };
+    struct xenpf_ucode_version ucode_ver = { .xen_cpuid = 0 };
+    bool intel = false, amd = false;
+
+    xch = xc_interface_open(0, 0, 0);
+    if ( xch == NULL )
+        return;
+
+    ret = xc_get_cpu_version(xch, &cpu_ver);
+    if ( ret )
+        return;
+
+    ret = xc_get_ucode_version(xch, &ucode_ver);
+    if ( ret )
+        return;
+
+    if ( memcmp(cpu_ver.vendor_id, intel_id,
+                sizeof(cpu_ver.vendor_id)) == 0 )
+        intel = true;
+    else if ( memcmp(cpu_ver.vendor_id, amd_id,
+                     sizeof(cpu_ver.vendor_id)) == 0 )
+        amd = true;
+
+    /*
+     * Print signature in a form that allows to quickly identify which ucode
+     * blob to load, e.g.:
+     *
+     *      Intel:   /lib/firmware/intel-ucode/06-55-04
+     *      AMD:     /lib/firmware/amd-ucode/microcode_amd_fam19h.bin
+     */
+    if ( intel )
+    {
+        fprintf(f, "Current CPU signature is: %02x-%02x-%02x (raw %#x)\n",
+                   cpu_ver.family, cpu_ver.model, cpu_ver.stepping,
+                   ucode_ver.cpu_signature);
+    }
+    else if ( amd )
+    {
+        fprintf(f, "Current CPU signature is: fam%xh (raw %#x)\n",
+                   cpu_ver.family, ucode_ver.cpu_signature);
+    }
+
+    if ( intel || amd )
+        fprintf(f, "Current CPU microcode revision is: %#x\n",
+                   ucode_ver.ucode_revision);
+
+    if ( intel )
+        fprintf(f, "Current CPU processor flags are: %#x\n", ucode_ver.pf);
+
+    xc_interface_close(xch);
+}
+
 int main(int argc, char *argv[])
 {
     int fd, ret;
@@ -25,9 +84,16 @@ int main(int argc, char *argv[])
         fprintf(stderr,
                 "xen-ucode: Xen microcode updating tool\n"
                 "Usage: %s <microcode blob>\n", argv[0]);
+        show_curr_cpu(stderr);
         exit(2);
     }
 
+    if ( !strcmp(argv[1], "show-cpu-info") )
+    {
+        show_curr_cpu(stdout);
+        return 0;
+    }
+
     filename = argv[1];
     fd = open(filename, O_RDONLY);
     if ( fd < 0 )
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 11:48:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 11:48:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512361.792353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peaT9-0001DW-HV; Tue, 21 Mar 2023 11:47:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512361.792353; Tue, 21 Mar 2023 11:47:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peaT9-0001DP-CT; Tue, 21 Mar 2023 11:47:59 +0000
Received: by outflank-mailman (input) for mailman id 512361;
 Tue, 21 Mar 2023 11:47:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=h9ZV=7N=citrix.com=prvs=437435c1e=sergey.dyasli@srs-se1.protection.inumbo.net>)
 id 1peaT8-0001D8-0x
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 11:47:58 +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 367e2b73-c7de-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 12:47: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: 367e2b73-c7de-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679399275;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version;
  bh=U9Ac8kfawVwJyTiVqm0kbmJdZ36EQ83/TJ8nOn83CLs=;
  b=Drvn3K4fAOsjBqKHJD5V8VQPZIPWLGrQFjPTiQY1B5h2SWony8oBd3eD
   JLo6NFSYWMwzEnSWWn1U4qBsYMNC0tg6ZG9W5Gli6O66NbW/MumfxnhFl
   ug519Ko1rPQRq7nQjuI7I0yIR/xMoDH7NehUZtEWy98/qkNkHArqPmJPQ
   w=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 101602006
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:j1AOMaJH058XRtNXFE+R5ZUlxSXFcZb7ZxGr2PjKsXjdYENS1TZRz
 TBMUGmEb/mKY2r2fNsjbY+1oUNQ65LVzdNiGwFlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZnPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5cGXth6
 6M8Dwood0yJgs2W3L+6cshj05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWh+qyiXTuNTFJoUmRpII84nTJzRw327/oWDbQUoXSHJsNxB7A+
 Aoq+Uz6AEAWK/LPxACo90iJhrTNpDnDaac7QejQGvlC3wTImz175ActfUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxasvBQRRt5RGO0S8xyWx+zf5APxLncAZi5MbpohrsBebT4lz
 FiShPvyGCdi9raSTBq19KqQrD60ETgYKykFfyBsZRAe/9DprYU3jxTOZtVuCqi4ipvyAz6Y/
 tyRhHFg3fNJ15dNjvjluwmd2FpAu6QlUCYe/h/4QD2ByTlcfdKvYqOI9VXa1ddPedPxoka6g
 JQUpySPxLlQUsDWynHdGb5l8KKBvKjcbmCF6bJ7N9x4rmn2pSb+FWxFyGsmTHqFJProbtMAj
 KX7nQpKrKFeM3KxBUOcS9LgUp96pUQM+DmMaxw1UjatSsIrHON/1HsyDXN8Jki0+KTWrYkxO
 I2AbeGnBmsABKJswVKeHrlCgORwmXhgnjuDH/gXKihLN5LEPBaopUotagPSPojVE59oUC2Kq
 o0CZqNmOj1UUfHkYzm/zLP/2WsidCBhbbiv8pQ/XrfacmJb9JQJVqa5LUUJINc+wcy4V47go
 xmAZ6Ov4AOi2CadclnaNBiOqtrHBP5CkJ7yBgR0VX7A5pTpSd3HAHs3H3fvQYQayQ==
IronPort-HdrOrdr: A9a23:LiKQ46hEUK1UdSstc2eIy4eMcHBQXrkji2hC6mlwRA09TyX4ra
 CTdZEgviMc5wx9ZJhNo7q90cq7IE80i6Qb3WB5B97LYOCMggeVxe9Zg7ff/w==
X-IronPort-AV: E=Sophos;i="5.98,278,1673931600"; 
   d="scan'208";a="101602006"
From: Sergey Dyasli <sergey.dyasli@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Sergey Dyasli <sergey.dyasli@citrix.com>
Subject: [PATCH v3 1/3] tools/xenctrl: add xc_get_cpu_version()
Date: Tue, 21 Mar 2023 11:47:43 +0000
Message-ID: <20230321114745.11044-2-sergey.dyasli@citrix.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321114745.11044-1-sergey.dyasli@citrix.com>
References: <20230321114745.11044-1-sergey.dyasli@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain

As a wrapper for XENPF_get_cpu_version platform op.

Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>
---
 tools/include/xenctrl.h   |  1 +
 tools/libs/ctrl/xc_misc.c | 20 ++++++++++++++++++++
 2 files changed, 21 insertions(+)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 23037874d3..8aa747dc2e 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1186,6 +1186,7 @@ int xc_physinfo(xc_interface *xch, xc_physinfo_t *info);
 int xc_cputopoinfo(xc_interface *xch, unsigned *max_cpus,
                    xc_cputopo_t *cputopo);
 int xc_microcode_update(xc_interface *xch, const void *buf, size_t len);
+int xc_get_cpu_version(xc_interface *xch, struct xenpf_pcpu_version *cpu_ver);
 int xc_numainfo(xc_interface *xch, unsigned *max_nodes,
                 xc_meminfo_t *meminfo, uint32_t *distance);
 int xc_pcitopoinfo(xc_interface *xch, unsigned num_devs,
diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
index 265f15ec2d..f2f6e4348e 100644
--- a/tools/libs/ctrl/xc_misc.c
+++ b/tools/libs/ctrl/xc_misc.c
@@ -226,6 +226,26 @@ int xc_microcode_update(xc_interface *xch, const void *buf, size_t len)
     return ret;
 }
 
+int xc_get_cpu_version(xc_interface *xch, struct xenpf_pcpu_version *cpu_ver)
+{
+    int ret;
+    DECLARE_PLATFORM_OP;
+
+    if ( !xch || !cpu_ver )
+        return -1;
+
+    platform_op.cmd = XENPF_get_cpu_version;
+    platform_op.u.pcpu_version.xen_cpuid = cpu_ver->xen_cpuid;
+
+    ret = do_platform_op(xch, &platform_op);
+    if ( ret != 0 )
+        return ret;
+
+    *cpu_ver = platform_op.u.pcpu_version;
+
+    return 0;
+}
+
 int xc_cputopoinfo(xc_interface *xch, unsigned *max_cpus,
                    xc_cputopo_t *cputopo)
 {
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 11:50:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 11:50:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512376.792394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peaV8-0003m7-SE; Tue, 21 Mar 2023 11:50:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512376.792394; Tue, 21 Mar 2023 11:50: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 1peaV8-0003lm-M7; Tue, 21 Mar 2023 11:50:02 +0000
Received: by outflank-mailman (input) for mailman id 512376;
 Tue, 21 Mar 2023 11:50:02 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=gvkR=7N=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1peaV7-0003bG-SX
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 11:50:02 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7e89::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80c17fcf-c7de-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 12:49:59 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 PH7PR12MB6587.namprd12.prod.outlook.com (2603:10b6:510:211::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 11:49:52 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 11:49: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: 80c17fcf-c7de-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Pl18X6tIdvTsbHoVWX0/jkeyQwpGnPld5+zAeWI/IZyGWtstIwi0EBQ6tubX3pn6xZO6Lg1CFgIso3xFPS2Va/jHOulBx27jQWgg/gGzFofh9ICr+QdBfDIjAziBZC7wprrk6fjpXzBfEfa7QmFf0Tf9wjeirTeY+VNuKAS1Eu2tqGeKH+ZgPtrEBYVxVL0CPHn4uVknzKQ/cMqa6qnBF/4SXZeT3/yne5tD5kQ70omj6PzgGUbRJQX8RPHVLsZ7LaD1FE7B5BSIAsuGW+ftbwBGSqS9zRKXQnYSXOccDMacgscbQK8cjFlhnozF78AutwRaMGUFf09YjdsP83nqcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=deYyMrxKmMPRYDfalKKcUxLxBW36RW5FouMROlO/dNc=;
 b=LGykWlWn3XgjUYd3zmUB4hFawrz49+fkxJrcofki4DH0sdycIhglmIUJBh0XYu6piT0NIISu9fr3WOJYfkTOJ96s7sd3mN8M/ajAidt5ycYo3j2DZZAr7N7cP5LPpz/rhZcNA+LdtjO/B23vzy4ai4bGhou36fEplb8mwxGzoNLLnjcmDFf5w7pCq1tXKiuSHjJOtOPqActFWGI02JJQc/Xnc7ZKEBmdhOgE6U8GZ5h9skpKa+BCfStHhBlGhiDen9ZzF/htgZBdAW2/m/9ABVS58UhhTFTcQhaYDzS07b4mkyXXUTgEcd947CT2robvLDgJ6DbX24kFy8xQjtzs2A==
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=deYyMrxKmMPRYDfalKKcUxLxBW36RW5FouMROlO/dNc=;
 b=eS8rtjsUaIj1cvtFO3IqMbuLADSCA12xCAG2xIizJqP+xTQ+LkOaGdau9MDWmoaidp1vPr5tBt9RPbVlOK5Nxi6VMWAfi+jUi+lmLYLfgYfnp6zzAC4m8YNy6dqcMlfY6msrwU4Wpcya3nc0YwiuSWchnTl43j07MKKv8Q+9dCA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Tue, 21 Mar 2023 19:49:26 +0800
From: Huang Rui <ray.huang@amd.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZBmZxnyZWrni57Ry@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com>
 <ZBl6iU6T1CsWqVx9@amd.com>
 <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
 <ZBmDl8XjIos57EIy@amd.com>
 <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
X-ClientProxiedBy: SI2PR02CA0043.apcprd02.prod.outlook.com
 (2603:1096:4:196::12) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|PH7PR12MB6587:EE_
X-MS-Office365-Filtering-Correlation-Id: ddf92983-3b62-4926-893b-08db2a0261f7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SRLzvXct8t0maynRUwUHzm6RdzVjBrWGqy8JfrZDapThJZIb3vtZrYFxS9vmlJRfUA59kWg12Jk9nwkDclD+QvpGfDr+TFL4EkV8gtIGCu/U1caLWKCk9e/PlXqYQSRTzNS7X45XX3bImKCuZjnF6AGqYwJoR4HHVVxrxm5EOZ8ZaBsncxh05pFi/KLksAjFN5kbPU7vxSm0cLLdahxsXyPARzAlCURN7xC0MpLGRWOFAnNLSm7DPDIR5m9AxY/jddZilSXwOc3rccXKdPIMiBO2CsXUo4hxUw3jct48Zpv3waN5CzW231hJmLYxbqaY8Sdrf3VX5WbtUE6w4VpBY84MFYwnsTG4ersQ9Qbs8BCaMYdCbOmeLNl//xZfMPst5hb6MocbyoN0n2XlnmXiUeW155DLfOt6uiGXiHk6DVEg884Hvvdmr7elm+RZNkFq1CRJEw5gzOBrE+bslLQMnaPyHJWrtvnjsXXkOwIwkewnP5WqBmgMJgHwlfbLG5d4ND5kY1Rc2F999KsJfISzt6gOepgav7GUYxXjT+VjdxUyk7BCbzHV3jatePxlBlY3Z7MWPFci2uKU07PNVrfej4GozuhxD3kjN/VKy1TcHd5JT/hME9xQh56UxuwsDDjxoO8vGXWAJEbLlIdsd3IrDg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(376002)(396003)(346002)(136003)(366004)(451199018)(86362001)(38100700002)(83380400001)(6512007)(8676002)(54906003)(316002)(66946007)(41300700001)(36756003)(8936002)(66556008)(5660300002)(6916009)(4326008)(66476007)(2906002)(478600001)(6666004)(2616005)(6506007)(53546011)(26005)(186003)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?CIL1kzDjdYtIkzcgFbWHlQfoP5sEEvbk2QGYWmkH2wTGk7fs55UeyXlCbULH?=
 =?us-ascii?Q?E/J4CN/FmakEGt0SVXab80qtERSqHIFpS3gBLU0TSLXn0PB1fvDLMw/NpJvm?=
 =?us-ascii?Q?R743OEDwvnD0iHqxzY/k6UNcmUttca3Jb6y0eEBb2LTbcvyd8tw3A+hFYKnj?=
 =?us-ascii?Q?pVimGpaRRtTpQu/dlnpq/lnwgIHjq55Yyzc7pb//BQpIqX1l9d5s3vthqPM/?=
 =?us-ascii?Q?jkNWlJ/PnLrQBis1hKxB3O1psVATvadTJMmI8b+sNfPL1kVSV33xkwVwc5H4?=
 =?us-ascii?Q?saxNC1V/b5Adq9zdhRkWdf1qdWBMGs+k3KoA5omKIU4cY8w7vvklq36mQsRn?=
 =?us-ascii?Q?Z34GorWbz7VuDwP+uv3td7F1KMCFAlRIKDRp9LkA1lQC1dYEJbOrjBaCveak?=
 =?us-ascii?Q?tJxDbjQYvqtPRhGhTgM82Fb6ChKTFrFJlNBsiSLVlM4zdkZPOUJ6nwU0vPdT?=
 =?us-ascii?Q?teMlczPTuCF4gefvzzrsI3OJLPd61g1xJf2GXhL5UC/Ex58ISZ39ncncOi0M?=
 =?us-ascii?Q?AWf4bSJBRBGcZxgxgwAXKrQPbk8fLS2FHfLti8g3NTK/Xi6823oWuZjmNOES?=
 =?us-ascii?Q?kUEIwLf/ZphM/DXqiuhRDeOYzUKKEEsctxMyLFIr5D/1X+5Thnw/GKN9kqUb?=
 =?us-ascii?Q?Yk2f3ltZTMC2qzTZfc49pZrB9eKVJqFhq58yjpqO0mKOjw8dx+grqiiJVZMP?=
 =?us-ascii?Q?GzFHf7ojZpEUKr9l4BGBMCNhNqQbU5Jtj3edLJgPRNrXmKEBsjqYGGp5A9lJ?=
 =?us-ascii?Q?VSnJdizGXGlOWlhFr9SUzdEiLijx0TTCzc9vPEEUkS74g/vBVtd2ip7v/F9G?=
 =?us-ascii?Q?j+0HpVHXdOB3TXXRoFPHor20DXFiP0rVZ0GV3VfmKwOM8QkE0Np/MJxCyjJv?=
 =?us-ascii?Q?iGhxtM0NkW59baTZOYHtx0Oc6xFy5nmWTXuqmwcg5m5BwBGOuS81cvEcs5+F?=
 =?us-ascii?Q?rVwvY18BVmQuCrCHyEZbYAwX1TxKUKNOAldgPqEe85cWb03QDJnq9cgDaW63?=
 =?us-ascii?Q?ikzklXSMOFJXnvfkwnPQ3QVn7Z6PNBkWrHU6rUHi3zKazbaegwaJ4TVxilnv?=
 =?us-ascii?Q?AHLohDClequbugEJoTT+I4qnUSIhNjbRx0REnRGoIoNhJVw0Fp/5A9U0nt8s?=
 =?us-ascii?Q?3m/+1KsmuzqECsx5moez/ueEvv10AZ29COzXqF1o/YFc7fP6hx4aD+anOIEh?=
 =?us-ascii?Q?OsfUb1mfGi1P+M4XtUQ+08yY47mKRUmiM/PpVz74Z0v9ZW76MFSTWKmmZsoR?=
 =?us-ascii?Q?T4wkF+0s7fLmBoR1+8LE/EfeSfsJjYUIEwMby0hOp/hqZZUa4JJW/ybdtpL9?=
 =?us-ascii?Q?1W/k4ewRzHjE2g49+N2V5qTC6UOK1/HOt/vPsBL+Aowhrinb3Uxo3YFxwe5B?=
 =?us-ascii?Q?Z6+0UwEXVGb1843QD1fdXdB2bWzVvhTEmXhPGOZLpZS2Jh+tM9cJ3ebR2kNJ?=
 =?us-ascii?Q?mFi8K1a3VAw/cCsVMB78gNgHzO2t/BwI/TOFrBcCLAH1h/CBVBXlzCKuqYFU?=
 =?us-ascii?Q?uhwLHmP+WUtYdexLWTopMsFi/fhmb+CKgjS0KQWNXfcx05CDB1qENw4DIT57?=
 =?us-ascii?Q?rCcxtMo/Ia6YDjo727SCNF88XSMWOhhwg7fi5mXF?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ddf92983-3b62-4926-893b-08db2a0261f7
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 11:49:52.7314
 (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: bQfUEp3ps8ATbndS4S7AivAE/6BVPnnogJ2i3RvlJBoQXEdwFkPXDDw29Z1hB7yXQepGb0fE0OgndXDphZ3kqA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6587

On Tue, Mar 21, 2023 at 06:20:03PM +0800, Jan Beulich wrote:
> On 21.03.2023 11:14, Huang Rui wrote:
> > On Tue, Mar 21, 2023 at 05:41:57PM +0800, Jan Beulich wrote:
> >> On 21.03.2023 10:36, Huang Rui wrote:
> >>> On Wed, Mar 15, 2023 at 12:02:35AM +0800, Jan Beulich wrote:
> >>>> On 12.03.2023 08:54, Huang Rui wrote:
> >>>>> --- a/xen/drivers/vpci/header.c
> >>>>> +++ b/xen/drivers/vpci/header.c
> >>>>> @@ -392,7 +392,7 @@ static void cf_check bar_write(
> >>>>>       * Xen only cares whether the BAR is mapped into the p2m, so allow BAR
> >>>>>       * writes as long as the BAR is not mapped into the p2m.
> >>>>>       */
> >>>>> -    if ( bar->enabled )
> >>>>> +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
> >>>>>      {
> >>>>>          /* If the value written is the current one avoid printing a warning. */
> >>>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
> >>>>
> >>>> ... bar->enabled doesn't properly reflect the necessary state? It
> >>>> generally shouldn't be necessary to look at the physical device's
> >>>> state here.
> >>>>
> >>>> Furthermore when you make a change in a case like this, the
> >>>> accompanying comment also needs updating (which might have clarified
> >>>> what, if anything, has been wrong).
> >>>>
> >>>
> >>> That is the problem that we start domU at the first time, the enable flag
> >>> will be set while the passthrough device would like to write the real pcie
> >>> bar on the host.
> >>
> >> A pass-through device (i.e. one already owned by a DomU) should never
> >> be allowed to write to the real BAR. But it's not clear whether I'm not
> >> misinterpreting what you said ...
> >>
> > 
> > OK. Thanks to clarify this. May I know how does a passthrough device modify
> > pci bar with correct behavior on Xen?
> 
> A pass-through device may write to the virtual BAR, changing where in its
> own memory space the MMIO range appears. But it cannot (and may not) alter
> where in host memory space the (physical) MMIO range appears.
> 

Thanks, but we found if dom0 is PV domain, the passthrough device will
access this function to write the real bar.

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 11:57:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 11:57:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512381.792403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peacE-00059j-Mq; Tue, 21 Mar 2023 11:57:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512381.792403; Tue, 21 Mar 2023 11: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 1peacE-00059c-K2; Tue, 21 Mar 2023 11:57:22 +0000
Received: by outflank-mailman (input) for mailman id 512381;
 Tue, 21 Mar 2023 11:57: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=gNSa=7N=citrix.com=prvs=4373eb648=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1peacC-00059U-SE
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 11:57:20 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87136f64-c7df-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 12:57:19 +0100 (CET)
Received: from mail-bn8nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 07:57:10 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6681.namprd03.prod.outlook.com (2603:10b6:a03:400::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 11:57:05 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 11:57: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: 87136f64-c7df-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679399839;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Aha0monVYwLxxG/mAxKH1zVIuRgQ+5Mujn13hPhmNog=;
  b=WCCDXE3cfGAu33tqaLRrPPe74bilIdmS2b6rOYJ0wgIgrQCAsiAyogyg
   dakSmbGGxV9zU9I0h8FtX3tuwXkQTE6nJpbAeK0wtYWTJDk0Rt/dOWYrf
   NfjeFQPMKNa9fY9SUu6+PPSglB5LgoUi3AFx3hRDVBMVMMUmLUB8GXSmc
   k=;
X-IronPort-RemoteIP: 104.47.55.174
X-IronPort-MID: 104109953
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:VAwrZq9ZfuAK37Yi8Tm/DrUDxH6TJUtcMsCJ2f8bNWPcYEJGY0x3n
 GcXDGmEPKqPMDP2eI0kaomx90IHucKBndI1SQts/ik8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqoS5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklpy
 Po8BxkJciq73dy156vlScxwxfsseZyD0IM34hmMzBn/JNN/G9XpZfWP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWOilUujNABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdpOTeXpp6Mx6LGV7k4aWSYzbQq8mtqWoAm3BMBOd
 EII9CV7+MDe82TuFLERRSaQp3qJvQUdWpxTDvc94wGOzYLb5g+YAi4PSTspQMwrsoo6SCIn0
 neNnsj1Hnp/vbuNU3Wf+7yI6zSoNkA9L3IGZCICZRsI5Z/kuo5bphDFQ8tnEaW1psboAjy2y
 DePxAAlnKkah8MP06S9/HjEjiiqq5yPSRQ6ji3YX2uj6h5ybaa/ZpKv8lnd5rBLK4PxZlOGt
 nIVltOe6O0LBJelmymEQeFLF7asj96MNDzHnVduBd8v7T2r8H+4VZ9c63d1I0IBGs0DfznuY
 kPapwJKzJBWNXquK6RwZuqM598CyKHhEZHvUKDSZ98XOJxpLlbYoGdpeFKa2H3rnA40i6YjN
 JyHcMGqS3EHFaBgyznwTOAYuVM2+h0DKarobciT53yaPXC2PRZ5lZ9t3IOyU90E
IronPort-HdrOrdr: A9a23:6YW9cqgl9M8s+I4X5mUBMjOIgnBQXg4ji2hC6mlwRA09TySZ//
 re+cjzsiWE8wr5OUtQ4+xoXZPtfZqyz+8T3WB8B8bAYOCkghrXEGgA1/qb/9SDIVyZygcH79
 YeT0EWMrSZZjIW46eb3ODSKadF/DDoytHLuQ7Z9RhQpHlRGthdxjY8Lg6aF01wSk1iBYAlfa
 Dsl/avvwDQBUj/cP7Le0U4Yw==
X-IronPort-AV: E=Sophos;i="5.98,278,1673931600"; 
   d="scan'208";a="104109953"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hFUNsko8SxFM6HC1ujOAHC87/BMs6/q4kdPb22JleMZsy7rMM7cm9Tk4V/0w/Q3VD/9cQd/fDvUm6GZ1776lMuauj3KCbwJ/XffXbaqEQVLSGaWHK6hWnRtUgZmh690gOInmuIGvDDjF4bkhiOwjc87RBgWVFDhmBSeVOi6ydt0dohbHby1vuG8C2LrLiccRrrNsoB/EwfoD/zSn1/35ye87zB+83vef6i/nX2s6lzdL/ozrAmMGjcZ0ybZLW+HGFgMp/KQ32TQLQYopd/dDBzA1pkyEcT8+0fwgrpWFuNvhJx3lCevLnmai/P+jqDbILcqRTIv+J/M6/YI3If9j2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FTu87o57m8+2mucMQg98cYlH9LpZQWWQjrhThqWhdF0=;
 b=Q0axLU1ne+N++Fzp2mMRi5H3ZME89o+sB2H2EoMoPmapxLw6v+8FBkB36h99Ul7WWJrgG1aEN43dHz3UvFqBDr571Ax7aqYIMmZHN/1QlFfYK8fwq4AAVIoQ3Jqj5VIkQatoYXNEy9wT0ZWyLQAOxO367n7XwGxjT8uw3ycyjFxZrlkn9JlGbqz2mTVqzLOfhqkRY84fU5mKuz698AYkVxCRBslxk6hfSkRqyPb4kjZCHMV5ga4aXgZkrDE3n/y36kzqO/Iu76nYeDVovgG19yT3SGTz5bLQZOMnyyVsUUh/kLSQSADvyJxMCgqHurhP/mhnvyUWVxRcvHGxPPopGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FTu87o57m8+2mucMQg98cYlH9LpZQWWQjrhThqWhdF0=;
 b=IOfEHJg1gOWHCsFA2LB/9MAlhA3ZISnsgD36ZLGpEggp6RmJLtaaiXbvOm7rRfhs88v6ySg7lp4X7CfefZgOm5FPd6QVyADNC4oprPVRXhoyK4gME56RRfBNwyLd7R+clweO7QoIM6DF+YQ5ZD3g01eg1NwrOzsy8nAN7cX3an4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <05b04f94-9867-64f4-53e1-57e8238b049d@citrix.com>
Date: Tue, 21 Mar 2023 11:56:57 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v5 1/7] xen/riscv: introduce boot information structure
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
 <553b07e967f56b78eba2d27c9115cce707a45c08.1678976127.git.oleksii.kurochko@gmail.com>
In-Reply-To: <553b07e967f56b78eba2d27c9115cce707a45c08.1678976127.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0276.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:195::11) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6681:EE_
X-MS-Office365-Filtering-Correlation-Id: 649bb050-b367-4e1b-9ed4-08db2a0363d1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oj16bkHVujLgm0LKj2Ub1kylBtzG8FfI19HlMLrj7kpXUeGXQ2uwZDK4PnYdo9uSYf9MJzcLciiSlPflksqMmdHIb+rWQyTrLaDdKjO7t3++3hCXKRnL2OEBxO2oexIjiG5ME8F7MkNlNa9lcBU/uiO3l8U/Shzn6AJ2wfMuU77iLXcs4OBaj2G8DmmOKbaghrsh50WSyrqfyamKRiiQp/YrN1jkb/IrNb2w3KpXtPJuBOx6epl9InQZ4uvISw1bBAEy7KXU9ZPqVaAXj9jXkU2x2wp0yTf62OpC8g3xlfNqznIRrIYg6/to2+llw4nNNuzDZQxGTWRngAbtEUsp1DvfM8x4M/VkZfg4+HNfnpoe96/WahtHTtWsUsnRCZREIAJxPM7TjOQrSdA5tLcPHHm9hkGNyp63wN+xR5G79fSwkaUO62z5ON/k2ybj1SaQFlpH9pY1VPQWIuHJoHEKFWi++oOo6xSnTlo+r66a5Pchh2xuG6aNaVCSSCEFNEPcuqOmcmiTa81EkvL966rhdVxAMXDgoOquXN3QEbgLMGAPSMFPFvTp5/RvJ+Ru+p+2x+NN56UAvEccs2e1+NEg+E8aJ5/lhszKlkiRdJNkM7MDKF8z4ACWiIO40GKPNX4bLpSpFIPMb0+drOtCdT3BMJpZVBSgQq5SspZinMDJsK5XoQRecOlriXbKfB2aIibQCxClArkpHTqHCd7VKbLHhfv3iITwzhzv5XYmJnKhfeU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(366004)(376002)(396003)(136003)(39860400002)(451199018)(6486002)(2616005)(966005)(478600001)(83380400001)(6666004)(316002)(66946007)(66556008)(66476007)(8676002)(186003)(26005)(6506007)(54906003)(53546011)(4326008)(6512007)(31686004)(5660300002)(8936002)(41300700001)(82960400001)(38100700002)(2906002)(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?NDJDVys4NFFidERaeFRaSFBPb1pQeEsxZmgrdTRaMVVtVXFYeGVQVWpzMC82?=
 =?utf-8?B?S0tIeUlUdXN5aE8zSHk3Nmp3bExlLzl5UHdCN2VPb0MxeGtzV3BDM0ZSV0FE?=
 =?utf-8?B?Q3pWeDJPQ3UwcW9tMktqbk1DdXVsRWtiMWdQbEVhR1FCSXJOK3FZVGVEamRH?=
 =?utf-8?B?a0tIeEpBeHYzVjlWSnZQWTFZS2k5SjhLT2hFN2pnNWQzV0FOcmJ2K1A5OHJ1?=
 =?utf-8?B?U09DQXZncC9TVktsK1NUbmxYZENVT2ZGK29xTEVjS1IzRmdKTzRWdzNDZG5y?=
 =?utf-8?B?Wm5EV1RKVDNJYkQ1ME84dm1xT1hyaHpDK3BySXdvRGR5V25SOVpOaTFYU2Zt?=
 =?utf-8?B?ZENSbUpBRDBOSktxQXBuM0Z6LzFPVnBHMEpmNWM2OE9EZXlqYjh0NmZ6Nmxz?=
 =?utf-8?B?SGdtK0pCcWxSdFNwRk9MTy9mMXBBeUJlOTRhZ0tPeXlYMGU3VWZJc1AwN1gv?=
 =?utf-8?B?ZXVoSlgrMUgyN2wzWmxBcXJPWGZ4c1dOUEhuQ09XTm5FcEZMaGVQdkJsa3RQ?=
 =?utf-8?B?VFZ0VWtMZE1wTEcwSDNyV1gzN3grOU9hQmh2Y0xRNGN1YkdVbktqL25KNU9v?=
 =?utf-8?B?TFdKM0dMcWgxZ0Rrb1BaNWhpamZkMWlvWVg0dVdwSU1ydUFFaTNwenBzSTRi?=
 =?utf-8?B?R2w3MmhnT1RUbzVGaXNhVUJmeTFydHVxYXpDQmI0dWw5aHgvRmt3TlNiN0dR?=
 =?utf-8?B?VS9yTVFja29hY1pWaDRYejVuVDJwNXF4TGljUWU2SDQzQnBsUmh3bWtkNWRL?=
 =?utf-8?B?WTJBVldHbXkzVTN3MEQ0QWZFUDg1ZlQvbDY5Y0Zma2NST0thajNOOWhQMy91?=
 =?utf-8?B?SHJMeVY4Uys1dGtQeFdqdjNNelVlU09SNUx2b2hWcm93Z3A4NHpLQnd5ZnQ5?=
 =?utf-8?B?YXZmQk84ek4yazQ4QlkrRnB5cGtxZlNFWmJKaGhFY0JjV0hkb01MQlVuNktS?=
 =?utf-8?B?cnJpKzlFMWhDL3pIdGNoK0FNbHhrOE9mVGkwbFF4WCtDc0NnWUxhS0Y5eUFL?=
 =?utf-8?B?ZGJud3BWUlJnYUdIQTd1MzEyZGk0OU9kOEdXK0NEdVVaM2dVajNCNkZGdGNn?=
 =?utf-8?B?RmJmRVNOSkplZXoxSWxxMnhBMGtRNEpxbDB4b08wSnU0UGVRWmFqYlVBS1Yx?=
 =?utf-8?B?QWxVdTAvdCtiV3l5OGh6ZjFZcmRBOE51SGhqbEsvVk1JQUhmWDhuQ3Z1UDhv?=
 =?utf-8?B?NGdPQllpTTExRDlsV2xFT1BteTlhK2VRWG94MzlJaW0wUUVyTkJ1b2J0Q3N3?=
 =?utf-8?B?ZVhGMHRkaWZQNWt3eDZIU2xSbTF3SmVRbHpjUm5uYVlEcWZNLzluemI1aldK?=
 =?utf-8?B?YlY0T3YvOWwyU1huOE4zQ0FuTHFWbjUzdmYwTmVoWGN3VkhNRHo3S2hBTDVS?=
 =?utf-8?B?NTR5eDI3bGNkT09yM1RqR1Q5TDhwR05wdTgzaGowV3h3c05PaUlIcDNCc3BO?=
 =?utf-8?B?a1lPSVZIMHVjbGhXeTBMUHZqWEpSNjh3MDFhM1dkWGNQMnplWGlrcTY3eGY2?=
 =?utf-8?B?c1gvREpvNy9QckZjSGFXK3pQL25UNTAyL2pvTTZSV1Rqay9pNldmT3pVRWlw?=
 =?utf-8?B?ZXpRMkg5U0pqTEVFSS9lQUl0Wnc0WlJxeVFPZ09OUDlVcjgvNHkrbEtVY0RW?=
 =?utf-8?B?d04zc0JRaTdlTUVIVDhFSDJtMkJsYkJRODAzWHFEL3RjVFBPeWhaTzBVbisw?=
 =?utf-8?B?NGpYdjViMWJoRGg1TWFmanA0Z2d0QURJL2tPc3pGNURqNkVWdS9sVVVvcFZC?=
 =?utf-8?B?RWhTMUxEcW1EWEwvelJvL2Y5WCtFSEttdm9xQ3BWQ0puVVNDQW9CMHZseUNo?=
 =?utf-8?B?UEFIMlFveTVLZ3NEZlgxTnoybnh6dll4djZSQit5V1NjcFFaQm1mOTl3K0Q2?=
 =?utf-8?B?OHJ5UEI5VWNwZG5PWElDdWJtUSt5WFQvamsxb0syMUJ3M0FPRVRxRHY5YnA2?=
 =?utf-8?B?VzJmd285VFRYTDZMbEhDRFlTM015WTEvMll2dzR5NXpSUlVKeUlYQTJLTEdn?=
 =?utf-8?B?V3lxOUxOdFRoMnpDYzlHNnhPbzZXZVJDOVNNaEJuRXZldHNjdGFTa2xVd3l4?=
 =?utf-8?B?ZTZHRVdZVVV2VC9ZN0JjQktwRTIxSy9waFA3N0t1c2JkSjBDTjBvN3h5OWdu?=
 =?utf-8?B?dm93amErakRUbHZqcGxkb2ozTkZpR1hDdVZuYlF1a1BEMGY2TnQ1NVhNVVJr?=
 =?utf-8?B?Ync9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?YlZZdXArN0h2MlVMMWViNDkyTkZvczBwTkVrV3ljQlkyTmVVQ0hScTNwQWZM?=
 =?utf-8?B?Q1EvVmFjUHlhK2o4ZVlXU1kxY1lDRWNTRGlxMGpiYkFWaDllWDIrNU5pdDhu?=
 =?utf-8?B?ZE90UzlVZ1JYY2hMcSs4TnU1T2Y3ODZvN2dkcWJEWGU5Z0gvSm12L2lqYlVS?=
 =?utf-8?B?NXNPekQrSFBwbHRFOFk0Z3JqR1F1SkJsbmpSb3ZrZW5rZC9DUm9nMjZ6ODNh?=
 =?utf-8?B?M3d0WHEwbEVrdDhNZXlibWg2SURHMDdBYWlOZkMzYmUwci9xdm40ckpQN0d6?=
 =?utf-8?B?bUE1djJOVG5HL1hScVRYYlFQOVJWcGZBdnl0VUprN1A2VUJqZlUrNzVHVVFQ?=
 =?utf-8?B?R3lZQlpBTWdDMk5jUytVdUgzdW44ZldyeEl5UGtFYzgvTm1uSkRQdnR3T2Zj?=
 =?utf-8?B?SWhlK3NRTzAvQS9rclQzN0tMRDBCVEZPQXNWMmExU3dGNEIyaENBdkdPeUk0?=
 =?utf-8?B?RktpUDBrVlJSMkZlSFlBWmR5Z0JYT2U2bDlacGpCdkdmWHR0WmdhcnpKNElu?=
 =?utf-8?B?enV6OVQza0QxbUZMNU9qaWJYc3pWZTE0enMvRjl1aitpSHdnUkxlTzZFeXho?=
 =?utf-8?B?eE5RSFNPaG9LQnI1eFJ3N251QXB1STJFcU9Ibk5PZ3RsTkRPV3ZpY1dWRVBB?=
 =?utf-8?B?N2tsVnFuNlVYMnVnRUtucGp1OVZoaGs0TFlZU3QyNmxuQ0szY3J6b3F2Rnpp?=
 =?utf-8?B?TGpRc1F4Uk5oemtxZFVwQndjN1QwMEFwTVZDWGphelFPQ21iUkVsUlI2dzlD?=
 =?utf-8?B?aFhrTWhSTHhCTW9LV1VnZ0tYQkpHOWxGSEJCbFlBaGpRL0RWNDc4LzhtclhL?=
 =?utf-8?B?Q0pWU3V3NnlRRTg3WXFycVNwcW5POHRQQTZsMU1JVThOd2JGNXRpQmljWVBY?=
 =?utf-8?B?dGJSaml2V1c2ZGxRL091NWxDdUtSVytSbDNXRHpEUEM3dHRXOVkvMkJoYjVJ?=
 =?utf-8?B?bFBLcmdJWDJLcENTbTRHdytDQk9yZ0x4cTAxdUtMMFhyZGdUZWZrdjIxYzlH?=
 =?utf-8?B?ZmlwK0JnUmVsSWtjMDFneUtCaG5POGVPd3dWU2lsTUw5UmZONmxSRVByazIv?=
 =?utf-8?B?RUVVeE44VlZFeVVVcVJLZGVoR05iQ2NqWFRWUU90QWtOZE0wS25Qb0tQTUNp?=
 =?utf-8?B?ZGlrcmxic2cwTkhubmtCK3VqT3ZMZUxMVThYbzlWeXY2S0FLc3VuZWpCTWt2?=
 =?utf-8?B?TGVqNDJGYjRZK3g5QldYSEdkWGZJSjU1K21sekN5UWRpV1JtcTIrLzlzU0xC?=
 =?utf-8?Q?qTXGduBX9hN4GHE?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 649bb050-b367-4e1b-9ed4-08db2a0363d1
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 11:57:05.2570
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5+rbHGGqRMFbxBRi/tZgHG40aSzdR7lZ54eo5vRvQFrbQl71beftK+z/K1SIfal8ygWQMLU9PCetOunRAufQ/kXuB6V+O3WUDalpVsOG8IE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6681

On 16/03/2023 2:39 pm, Oleksii Kurochko wrote:
> The structure holds information about:
> 1. linker start/end address
> 2. load start/end address
>
> Also the patch introduces offsets for boot information structure
> members to access them in assembly code.
>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V5:
>  * the patch was introduced in the current patch series (V5)
> ---
>  xen/arch/riscv/include/asm/boot-info.h | 15 +++++++++++++++
>  xen/arch/riscv/riscv64/asm-offsets.c   |  3 +++
>  2 files changed, 18 insertions(+)
>  create mode 100644 xen/arch/riscv/include/asm/boot-info.h
>
> diff --git a/xen/arch/riscv/include/asm/boot-info.h b/xen/arch/riscv/include/asm/boot-info.h
> new file mode 100644
> index 0000000000..cda3d278f5
> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/boot-info.h
> @@ -0,0 +1,15 @@
> +#ifndef _ASM_BOOT_INFO_H
> +#define _ASM_BOOT_INFO_H
> +
> +extern struct boot_info {
> +    unsigned long linker_start;
> +    unsigned long linker_end;
> +    unsigned long load_start;
> +    unsigned long load_end;
> +} boot_info;
> +
> +/* LINK_TO_LOAD() and LOAD_TO_LINK() works only when MMU isn't enabled. */
> +#define LINK_TO_LOAD(addr) ((addr) - boot_info.linker_start + boot_info.load_start)
> +#define LOAD_TO_LINK(addr) ((addr) - boot_info.load_start + boot_info.linker_start)
> +
> +#endif
> \ No newline at end of file

As a minor point, you should have newlines at the end of each file.

However, I'm not sure boot info like this is a clever move.  You're
creating a 3rd different way of doing something which should be entirely
common.  Some details are in
https://lore.kernel.org/xen-devel/115c178b-f0a7-cf6e-3e33-e6aa49b17baf@srcf.net/
and note how many errors I already found in x86 and ARM.

Perhaps its time to dust that plan off again.  As Jan says, there's
_start and _end (or future variations therefore), and xen_phys_start
which is all that ought to exist in order to build the common functionality.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 12:01:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 12:01:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512388.792419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peafg-0006qC-EI; Tue, 21 Mar 2023 12:00:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512388.792419; Tue, 21 Mar 2023 12:00:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peafg-0006q5-Ax; Tue, 21 Mar 2023 12:00:56 +0000
Received: by outflank-mailman (input) for mailman id 512388;
 Tue, 21 Mar 2023 12:00:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hojv=7N=xenbits.xen.org=andrewcoop@srs-se1.protection.inumbo.net>)
 id 1peafe-0006my-M6
 for xen-devel@lists.xen.org; Tue, 21 Mar 2023 12:00:55 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 068921ef-c7e0-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 13:00:52 +0100 (CET)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1peafT-000327-5Q; Tue, 21 Mar 2023 12:00:43 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1peafT-0000E9-4J; Tue, 21 Mar 2023 12: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: 068921ef-c7e0-11ed-87f5-c1b5be75604c
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=L2NRhNiCpH3oAn0h6UZXjX2qXN/JuWq044e6t35cwIw=; b=3/ya04fbJzQzotl3griPE4weiY
	OfwRL+ExS2TwpQr6wklKOg4XZrKbjBPOkCKX/A82o6Z38AzTEKNWBaKyE8V0XMBeog2smY3uklxo+
	t/cb72cZjEMO7eebFXpHn8d8XiIA06lkziy+sdXqYim9C3dJHdPt/t92+M21xCcnoIxY=;
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 428 v3 (CVE-2022-42333,CVE-2022-42334) -
 x86/HVM pinned cache attributes mis-handling
Message-Id: <E1peafT-0000E9-4J@xenbits.xenproject.org>
Date: Tue, 21 Mar 2023 12:00:43 +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-2022-42333,CVE-2022-42334 / XSA-428
                               version 3

             x86/HVM pinned cache attributes mis-handling

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

To allow cachability control for HVM guests with passed through devices,
an interface exists to explicitly override defaults which would
otherwise be put in place.  While not exposed to the affected guests
themselves, the interface specifically exists for domains controlling
such guests.  This interface may therefore be used by not fully
privileged entities, e.g. qemu running deprivileged in Dom0 or qemu
running in a so called stub-domain.  With this exposure it is an issue
that
 - the number of the such controlled regions was unbounded
   (CVE-2022-42333),
 - installation and removal of such regions was not properly serialized
   (CVE-2022-42334).

IMPACT
======

Entities controlling HVM guests can run the host out of resources or
stall execution of a physical CPU for effectively unbounded periods of
time, resulting in a Denial of Servis (DoS) affecting the entire host.
Crashes, information leaks, or elevation of privilege cannot be ruled
out.

VULNERABLE SYSTEMS
==================

Xen versions 4.11 through 4.17 are vulnerable.  Older versions contain
the same functionality, but it is exposed there only via an interface
which is subject to XSA-77's constraints.

Only x86 systems are potentially vulnerable.  Arm systems are not
vulnerable.

Only entities controlling HVM guests can leverage the vulnerability.
These are device models running in either a stub domain or de-privileged
in Dom0.

MITIGATION
==========

Running only PV or PVH guests will avoid the vulnerability.

(Switching from a device model stub domain or a de-privileged device
model to a fully privileged Dom0 device model does NOT mitigate this
vulnerability.  Rather, it simply recategorises the vulnerability to
hostile management code, regarding it "as designed"; thus it merely
reclassifies these issues as "not a bug".  The security of a Xen system
using stub domains is still better than with a qemu-dm running as a Dom0
process.  Users and vendors of stub qemu dm systems should not change
their configuration to use a Dom0 qemu process.)

CREDITS
=======

Aspects of this issue were discovered by Andrew Cooper of XenServer and
Jan Beulich of SUSE.

RESOLUTION
==========

Applying the appropriate set of attached patches 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.

xsa428-?.patch           xen-unstable
xsa428-4.17-?.patch      Xen 4.17.x
xsa428-4.16-?.patch      Xen 4.16.x - 4.14.x

$ sha256sum xsa428*
a7bd8d4c1e8579aeda47564efdc960cac92472387ba57d7f7a6d5d79470ebd6f  xsa428.meta
85a421d9123a56894124bed54731b8b6f2e86ad4e286871dee86efff519f4c68  xsa428-1.patch
3b691ca228592539a751ce5af69f31e09d9c477218d53af0602ac5f39f1e74d7  xsa428-2.patch
da60e01a17f9073c83098d187c07bad3a868a6b7f97dbc538cb5ea5698c51b39  xsa428-4.16-1.patch
27718a7a86fd57624cd8500df83eb42ff3499670bc807c6555686c25e7f7b01a  xsa428-4.16-2.patch
da60e01a17f9073c83098d187c07bad3a868a6b7f97dbc538cb5ea5698c51b39  xsa428-4.17-1.patch
20d3b66da8fe06d7e92992218e519f4f9746791d4ba5610d84a335f38a824fcb  xsa428-4.17-2.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/4UyVfoK9kFAmQZlkwMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZevEH/R0hCjoC/n2AJSr2dOU97c4bZmjeB5mTnWrOtOMA
AZnP68nvEzQ7OYfI4ihl+wgtKUvyVXLOWaBH9lKL8CySxrCX1r3BILMGhtDKViV4
opnKOoy0Ejg3H68x5McPhdr+PkvXWTzoNqbkUYMbNTw7ktB4Ze0mbsmKoXDUiLru
QZZ0XxtL4jc+d8GUM0k3Msy0p3lLYvIob8k6DWg7RdWxiIOxL43pKNvShgh7ZehN
P0S/PknVLpoPKzKFzMWrzakhZYYsOWoNM9U7C0zEozX4qrnsyQp3o3mvW/8MrPA+
5BKsIjSYxdleUzLSNks7Xn0nG+ki6kOrwPjFGGOGAwoR8aE=
=ILYn
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa428.meta"
Content-Disposition: attachment; filename="xsa428.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiA0MjgsCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNyIsCiAgICAiNC4xNiIsCiAgICAiNC4xNSIs
CiAgICAiNC4xNCIKICBdLAogICJUcmVlcyI6IFsKICAgICJ4ZW4iCiAgXSwK
ICAiUmVjaXBlcyI6IHsKICAgICI0LjE0IjogewogICAgICAiUmVjaXBlcyI6
IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICJj
MjY3YWJmYWYyZDgxNzYzNzFlZGEwMzdmOWI5MTUyNDU4ZTA2NTZkIiwKICAg
ICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICA0MjcKICAgICAgICAg
IF0sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTQy
OC00LjE2LT8ucGF0Y2giCiAgICAgICAgICBdCiAgICAgICAgfQogICAgICB9
CiAgICB9LAogICAgIjQuMTUiOiB7CiAgICAgICJSZWNpcGVzIjogewogICAg
ICAgICJ4ZW4iOiB7CiAgICAgICAgICAiU3RhYmxlUmVmIjogImZhODc1NTc0
YjczNjE4ZGFmM2JjNzBlNmZmNGQzNDI0OTNmYTExZDkiLAogICAgICAgICAg
IlByZXJlcXMiOiBbCiAgICAgICAgICAgIDQyNwogICAgICAgICAgXSwKICAg
ICAgICAgICJQYXRjaGVzIjogWwogICAgICAgICAgICAieHNhNDI4LTQuMTYt
Py5wYXRjaCIKICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH0s
CiAgICAiNC4xNiI6IHsKICAgICAgIlJlY2lwZXMiOiB7CiAgICAgICAgInhl
biI6IHsKICAgICAgICAgICJTdGFibGVSZWYiOiAiODRkZmU3YTU2ZjA0YTc0
MTJmYTQ4NjliM2U3NTZjNDllMWNmYmU3NSIsCiAgICAgICAgICAiUHJlcmVx
cyI6IFsKICAgICAgICAgICAgNDI3CiAgICAgICAgICBdLAogICAgICAgICAg
IlBhdGNoZXMiOiBbCiAgICAgICAgICAgICJ4c2E0MjgtNC4xNi0/LnBhdGNo
IgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICI0
LjE3IjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewog
ICAgICAgICAgIlN0YWJsZVJlZiI6ICJlYzViMDU4ZDJhNjQzNmEyZTE4MDMx
NTUyMmZjZjE2NDVhODE1M2I0IiwKICAgICAgICAgICJQcmVyZXFzIjogWwog
ICAgICAgICAgICA0MjcKICAgICAgICAgIF0sCiAgICAgICAgICAiUGF0Y2hl
cyI6IFsKICAgICAgICAgICAgInhzYTQyOC00LjE3LT8ucGF0Y2giCiAgICAg
ICAgICBdCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIm1hc3RlciI6
IHsKICAgICAgIlJlY2lwZXMiOiB7CiAgICAgICAgInhlbiI6IHsKICAgICAg
ICAgICJTdGFibGVSZWYiOiAiMzEyNzBmMTFhOTZlYmI4NzVjZDcwNjYxZTJk
ZjllNWM2ZWRkNzU2NCIsCiAgICAgICAgICAiUHJlcmVxcyI6IFsKICAgICAg
ICAgICAgNDI3CiAgICAgICAgICBdLAogICAgICAgICAgIlBhdGNoZXMiOiBb
CiAgICAgICAgICAgICJ4c2E0MjgtPy5wYXRjaCIKICAgICAgICAgIF0KICAg
ICAgICB9CiAgICAgIH0KICAgIH0KICB9Cn0=

--=separator
Content-Type: application/octet-stream; name="xsa428-1.patch"
Content-Disposition: attachment; filename="xsa428-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvSFZNOiBib3VuZCBudW1iZXIgb2YgcGlubmVkIGNhY2hlIGF0dHJp
YnV0ZSByZWdpb25zCgpUaGlzIGlzIGV4cG9zZWQgdmlhIERNT1AsIGkuZS4g
dG8gcG90ZW50aWFsbHkgbm90IGZ1bGx5IHByaXZpbGVnZWQKZGV2aWNlIG1v
ZGVscy4gV2l0aCB0aGF0IHdlIG1heSBub3QgcGVybWl0IHJlZ2lzdHJhdGlv
biBvZiBhbiAoYWxtb3N0KQp1bmJvdW5kZWQgYW1vdW50IG9mIHN1Y2ggcmVn
aW9ucy4KClRoaXMgaXMgQ1ZFLTIwMjItNDIzMzMgLyBwYXJ0IG9mIFhTQS00
MjguCgpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3Bl
cjNAY2l0cml4LmNvbT4KRml4ZXM6IDY0MjEyM2M1MTIzZiAoIng4Ni9odm06
IHByb3ZpZGUgWEVOX0RNT1BfcGluX21lbW9yeV9jYWNoZWF0dHIiKQpTaWdu
ZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJl
dmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy
aXguY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9tdHJyLmMKKysrIGIv
eGVuL2FyY2gveDg2L2h2bS9tdHJyLmMKQEAgLTU4OCw2ICs1ODgsNyBAQCBp
bnQgaHZtX3NldF9tZW1fcGlubmVkX2NhY2hlYXR0cihzdHJ1Y3QKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGdmbl9lbmQs
IHVpbnQzMl90IHR5cGUpCiB7CiAgICAgc3RydWN0IGh2bV9tZW1fcGlubmVk
X2NhY2hlYXR0cl9yYW5nZSAqcmFuZ2U7CisgICAgdW5zaWduZWQgaW50IG5y
ID0gMDsKICAgICBpbnQgcmMgPSAxOwogCiAgICAgaWYgKCAhaXNfaHZtX2Rv
bWFpbihkKSApCkBAIC02NTksMTEgKzY2MCwxNSBAQCBpbnQgaHZtX3NldF9t
ZW1fcGlubmVkX2NhY2hlYXR0cihzdHJ1Y3QKICAgICAgICAgICAgIHJjID0g
LUVCVVNZOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAg
ICAgKytucjsKICAgICB9CiAgICAgcmN1X3JlYWRfdW5sb2NrKCZwaW5uZWRf
Y2FjaGVhdHRyX3JjdV9sb2NrKTsKICAgICBpZiAoIHJjIDw9IDAgKQogICAg
ICAgICByZXR1cm4gcmM7CiAKKyAgICBpZiAoIG5yID49IDY0IC8qIFRoZSBs
aW1pdCBpcyBhcmJpdHJhcnkuICovICkKKyAgICAgICAgcmV0dXJuIC1FTk9T
UEM7CisKICAgICByYW5nZSA9IHh6YWxsb2Moc3RydWN0IGh2bV9tZW1fcGlu
bmVkX2NhY2hlYXR0cl9yYW5nZSk7CiAgICAgaWYgKCByYW5nZSA9PSBOVUxM
ICkKICAgICAgICAgcmV0dXJuIC1FTk9NRU07Cg==

--=separator
Content-Type: application/octet-stream; name="xsa428-2.patch"
Content-Disposition: attachment; filename="xsa428-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvSFZNOiBzZXJpYWxpemUgcGlubmVkIGNhY2hlIGF0dHJpYnV0ZSBs
aXN0IG1hbmlwdWxhdGlvbgoKV2hpbGUgdGhlIFJDVSB2YXJpYW50cyBvZiBs
aXN0IGluc2VydGlvbiBhbmQgcmVtb3ZhbCBhbGxvdyBsb2NrbGVzcyBsaXN0
CnRyYXZlcnNhbCAod2l0aCBSQ1UganVzdCByZWFkLWxvY2tlZCksIGluc2Vy
dGlvbnMgYW5kIHJlbW92YWxzIHN0aWxsCm5lZWQgc2VyaWFsaXppbmcgYW1v
bmdzdCB0aGVtc2VsdmVzLiBUbyBrZWVwIHRoaW5ncyBzaW1wbGUsIHVzZSB0
aGUKZG9tYWluIGxvY2sgZm9yIHRoaXMgcHVycG9zZS4KClRoaXMgaXMgQ1ZF
LTIwMjItNDIzMzQgLyBwYXJ0IG9mIFhTQS00MjguCgpGaXhlczogNjQyMTIz
YzUxMjNmICgieDg2L2h2bTogcHJvdmlkZSBYRU5fRE1PUF9waW5fbWVtb3J5
X2NhY2hlYXR0ciIpClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IEp1bGllbiBHcmFsbCA8amdy
YWxsQGFtYXpvbi5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvaHZtL210cnIu
YworKysgYi94ZW4vYXJjaC94ODYvaHZtL210cnIuYwpAQCAtNTg3LDcgKzU4
Nyw3IEBAIHN0YXRpYyB2b2lkIGNmX2NoZWNrIGZyZWVfcGlubmVkX2NhY2hl
YXQKIGludCBodm1fc2V0X21lbV9waW5uZWRfY2FjaGVhdHRyKHN0cnVjdCBk
b21haW4gKmQsIHVpbnQ2NF90IGdmbl9zdGFydCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGdmbl9lbmQsIHVpbnQzMl90
IHR5cGUpCiB7Ci0gICAgc3RydWN0IGh2bV9tZW1fcGlubmVkX2NhY2hlYXR0
cl9yYW5nZSAqcmFuZ2U7CisgICAgc3RydWN0IGh2bV9tZW1fcGlubmVkX2Nh
Y2hlYXR0cl9yYW5nZSAqcmFuZ2UsICpuZXdyOwogICAgIHVuc2lnbmVkIGlu
dCBuciA9IDA7CiAgICAgaW50IHJjID0gMTsKIApAQCAtNjAxLDE0ICs2MDEs
MTUgQEAgaW50IGh2bV9zZXRfbWVtX3Bpbm5lZF9jYWNoZWF0dHIoc3RydWN0
CiAgICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9ERUxFVEVfTUVNX0NBQ0hF
QVRUUjoKICAgICAgICAgLyogUmVtb3ZlIHRoZSByZXF1ZXN0ZWQgcmFuZ2Uu
ICovCi0gICAgICAgIHJjdV9yZWFkX2xvY2soJnBpbm5lZF9jYWNoZWF0dHJf
cmN1X2xvY2spOwotICAgICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSAo
IHJhbmdlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZk
LT5hcmNoLmh2bS5waW5uZWRfY2FjaGVhdHRyX3JhbmdlcywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ICkKKyAgICAgICAgZG9t
YWluX2xvY2soZCk7CisgICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnkgKCBy
YW5nZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkLT5hcmNo
Lmh2bS5waW5uZWRfY2FjaGVhdHRyX3JhbmdlcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpc3QgKQogICAgICAgICAgICAgaWYgKCByYW5n
ZS0+c3RhcnQgPT0gZ2ZuX3N0YXJ0ICYmIHJhbmdlLT5lbmQgPT0gZ2ZuX2Vu
ZCApCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmN1X3JlYWRf
dW5sb2NrKCZwaW5uZWRfY2FjaGVhdHRyX3JjdV9sb2NrKTsKICAgICAgICAg
ICAgICAgICBsaXN0X2RlbF9yY3UoJnJhbmdlLT5saXN0KTsKKyAgICAgICAg
ICAgICAgICBkb21haW5fdW5sb2NrKGQpOworCiAgICAgICAgICAgICAgICAg
dHlwZSA9IHJhbmdlLT50eXBlOwogICAgICAgICAgICAgICAgIGNhbGxfcmN1
KCZyYW5nZS0+cmN1LCBmcmVlX3Bpbm5lZF9jYWNoZWF0dHJfZW50cnkpOwog
ICAgICAgICAgICAgICAgIHAybV9tZW1vcnlfdHlwZV9jaGFuZ2VkKGQpOwpA
QCAtNjI5LDcgKzYzMCw3IEBAIGludCBodm1fc2V0X21lbV9waW5uZWRfY2Fj
aGVhdHRyKHN0cnVjdAogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIH0KLSAgICAgICAgcmN1X3Jl
YWRfdW5sb2NrKCZwaW5uZWRfY2FjaGVhdHRyX3JjdV9sb2NrKTsKKyAgICAg
ICAgZG9tYWluX3VubG9jayhkKTsKICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7
CiAKICAgICBjYXNlIFg4Nl9NVF9VQ006CkBAIC02NDQsNyArNjQ1LDEwIEBA
IGludCBodm1fc2V0X21lbV9waW5uZWRfY2FjaGVhdHRyKHN0cnVjdAogICAg
ICAgICByZXR1cm4gLUVJTlZBTDsKICAgICB9CiAKLSAgICByY3VfcmVhZF9s
b2NrKCZwaW5uZWRfY2FjaGVhdHRyX3JjdV9sb2NrKTsKKyAgICBuZXdyID0g
eHphbGxvYyhzdHJ1Y3QgaHZtX21lbV9waW5uZWRfY2FjaGVhdHRyX3Jhbmdl
KTsKKworICAgIGRvbWFpbl9sb2NrKGQpOworCiAgICAgbGlzdF9mb3JfZWFj
aF9lbnRyeV9yY3UgKCByYW5nZSwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZkLT5hcmNoLmh2bS5waW5uZWRfY2FjaGVhdHRyX3JhbmdlcywK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QgKQpAQCAtNjYy
LDI3ICs2NjYsMzQgQEAgaW50IGh2bV9zZXRfbWVtX3Bpbm5lZF9jYWNoZWF0
dHIoc3RydWN0CiAgICAgICAgIH0KICAgICAgICAgKytucjsKICAgICB9Ci0g
ICAgcmN1X3JlYWRfdW5sb2NrKCZwaW5uZWRfY2FjaGVhdHRyX3JjdV9sb2Nr
KTsKKwogICAgIGlmICggcmMgPD0gMCApCi0gICAgICAgIHJldHVybiByYzsK
KyAgICAgICAgLyogbm90aGluZyAqLzsKKyAgICBlbHNlIGlmICggbnIgPj0g
NjQgLyogVGhlIGxpbWl0IGlzIGFyYml0cmFyeS4gKi8gKQorICAgICAgICBy
YyA9IC1FTk9TUEM7CisgICAgZWxzZSBpZiAoICFuZXdyICkKKyAgICAgICAg
cmMgPSAtRU5PTUVNOworICAgIGVsc2UKKyAgICB7CisgICAgICAgIG5ld3It
PnN0YXJ0ID0gZ2ZuX3N0YXJ0OworICAgICAgICBuZXdyLT5lbmQgPSBnZm5f
ZW5kOworICAgICAgICBuZXdyLT50eXBlID0gdHlwZTsKIAotICAgIGlmICgg
bnIgPj0gNjQgLyogVGhlIGxpbWl0IGlzIGFyYml0cmFyeS4gKi8gKQotICAg
ICAgICByZXR1cm4gLUVOT1NQQzsKKyAgICAgICAgbGlzdF9hZGRfcmN1KCZu
ZXdyLT5saXN0LCAmZC0+YXJjaC5odm0ucGlubmVkX2NhY2hlYXR0cl9yYW5n
ZXMpOworCisgICAgICAgIG5ld3IgPSBOVUxMOworICAgICAgICByYyA9IDA7
CisgICAgfQogCi0gICAgcmFuZ2UgPSB4emFsbG9jKHN0cnVjdCBodm1fbWVt
X3Bpbm5lZF9jYWNoZWF0dHJfcmFuZ2UpOwotICAgIGlmICggcmFuZ2UgPT0g
TlVMTCApCi0gICAgICAgIHJldHVybiAtRU5PTUVNOworICAgIGRvbWFpbl91
bmxvY2soZCk7CiAKLSAgICByYW5nZS0+c3RhcnQgPSBnZm5fc3RhcnQ7Ci0g
ICAgcmFuZ2UtPmVuZCA9IGdmbl9lbmQ7Ci0gICAgcmFuZ2UtPnR5cGUgPSB0
eXBlOworICAgIHhmcmVlKG5ld3IpOwogCi0gICAgbGlzdF9hZGRfcmN1KCZy
YW5nZS0+bGlzdCwgJmQtPmFyY2guaHZtLnBpbm5lZF9jYWNoZWF0dHJfcmFu
Z2VzKTsKICAgICBwMm1fbWVtb3J5X3R5cGVfY2hhbmdlZChkKTsKICAgICBp
ZiAoIHR5cGUgIT0gWDg2X01UX1dCICkKICAgICAgICAgZmx1c2hfYWxsKEZM
VVNIX0NBQ0hFKTsKIAotICAgIHJldHVybiAwOworICAgIHJldHVybiByYzsK
IH0KIAogc3RhdGljIGludCBjZl9jaGVjayBodm1fc2F2ZV9tdHJyX21zcihz
dHJ1Y3QgdmNwdSAqdiwgaHZtX2RvbWFpbl9jb250ZXh0X3QgKmgpCg==

--=separator
Content-Type: application/octet-stream; name="xsa428-4.16-1.patch"
Content-Disposition: attachment; filename="xsa428-4.16-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvSFZNOiBib3VuZCBudW1iZXIgb2YgcGlubmVkIGNhY2hlIGF0dHJp
YnV0ZSByZWdpb25zCgpUaGlzIGlzIGV4cG9zZWQgdmlhIERNT1AsIGkuZS4g
dG8gcG90ZW50aWFsbHkgbm90IGZ1bGx5IHByaXZpbGVnZWQKZGV2aWNlIG1v
ZGVscy4gV2l0aCB0aGF0IHdlIG1heSBub3QgcGVybWl0IHJlZ2lzdHJhdGlv
biBvZiBhbiAoYWxtb3N0KQp1bmJvdW5kZWQgYW1vdW50IG9mIHN1Y2ggcmVn
aW9ucy4KClRoaXMgaXMgQ1ZFLTIwMjItNDIzMzMgLyBwYXJ0IG9mIFhTQS00
MjguCgpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3Bl
cjNAY2l0cml4LmNvbT4KRml4ZXM6IDY0MjEyM2M1MTIzZiAoIng4Ni9odm06
IHByb3ZpZGUgWEVOX0RNT1BfcGluX21lbW9yeV9jYWNoZWF0dHIiKQpTaWdu
ZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJl
dmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy
aXguY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9tdHJyLmMKKysrIGIv
eGVuL2FyY2gveDg2L2h2bS9tdHJyLmMKQEAgLTU5NSw2ICs1OTUsNyBAQCBp
bnQgaHZtX3NldF9tZW1fcGlubmVkX2NhY2hlYXR0cihzdHJ1Y3QKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGdmbl9lbmQs
IHVpbnQzMl90IHR5cGUpCiB7CiAgICAgc3RydWN0IGh2bV9tZW1fcGlubmVk
X2NhY2hlYXR0cl9yYW5nZSAqcmFuZ2U7CisgICAgdW5zaWduZWQgaW50IG5y
ID0gMDsKICAgICBpbnQgcmMgPSAxOwogCiAgICAgaWYgKCAhaXNfaHZtX2Rv
bWFpbihkKSApCkBAIC02NjYsMTEgKzY2NywxNSBAQCBpbnQgaHZtX3NldF9t
ZW1fcGlubmVkX2NhY2hlYXR0cihzdHJ1Y3QKICAgICAgICAgICAgIHJjID0g
LUVCVVNZOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAg
ICAgKytucjsKICAgICB9CiAgICAgcmN1X3JlYWRfdW5sb2NrKCZwaW5uZWRf
Y2FjaGVhdHRyX3JjdV9sb2NrKTsKICAgICBpZiAoIHJjIDw9IDAgKQogICAg
ICAgICByZXR1cm4gcmM7CiAKKyAgICBpZiAoIG5yID49IDY0IC8qIFRoZSBs
aW1pdCBpcyBhcmJpdHJhcnkuICovICkKKyAgICAgICAgcmV0dXJuIC1FTk9T
UEM7CisKICAgICByYW5nZSA9IHh6YWxsb2Moc3RydWN0IGh2bV9tZW1fcGlu
bmVkX2NhY2hlYXR0cl9yYW5nZSk7CiAgICAgaWYgKCByYW5nZSA9PSBOVUxM
ICkKICAgICAgICAgcmV0dXJuIC1FTk9NRU07Cg==

--=separator
Content-Type: application/octet-stream; name="xsa428-4.16-2.patch"
Content-Disposition: attachment; filename="xsa428-4.16-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvSFZNOiBzZXJpYWxpemUgcGlubmVkIGNhY2hlIGF0dHJpYnV0ZSBs
aXN0IG1hbmlwdWxhdGlvbgoKV2hpbGUgdGhlIFJDVSB2YXJpYW50cyBvZiBs
aXN0IGluc2VydGlvbiBhbmQgcmVtb3ZhbCBhbGxvdyBsb2NrbGVzcyBsaXN0
CnRyYXZlcnNhbCAod2l0aCBSQ1UganVzdCByZWFkLWxvY2tlZCksIGluc2Vy
dGlvbnMgYW5kIHJlbW92YWxzIHN0aWxsCm5lZWQgc2VyaWFsaXppbmcgYW1v
bmdzdCB0aGVtc2VsdmVzLiBUbyBrZWVwIHRoaW5ncyBzaW1wbGUsIHVzZSB0
aGUKZG9tYWluIGxvY2sgZm9yIHRoaXMgcHVycG9zZS4KClRoaXMgaXMgQ1ZF
LTIwMjItNDIzMzQgLyBwYXJ0IG9mIFhTQS00MjguCgpGaXhlczogNjQyMTIz
YzUxMjNmICgieDg2L2h2bTogcHJvdmlkZSBYRU5fRE1PUF9waW5fbWVtb3J5
X2NhY2hlYXR0ciIpClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IEp1bGllbiBHcmFsbCA8amdy
YWxsQGFtYXpvbi5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvaHZtL210cnIu
YworKysgYi94ZW4vYXJjaC94ODYvaHZtL210cnIuYwpAQCAtNTk0LDcgKzU5
NCw3IEBAIHN0YXRpYyB2b2lkIGZyZWVfcGlubmVkX2NhY2hlYXR0cl9lbnRy
eSgKIGludCBodm1fc2V0X21lbV9waW5uZWRfY2FjaGVhdHRyKHN0cnVjdCBk
b21haW4gKmQsIHVpbnQ2NF90IGdmbl9zdGFydCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGdmbl9lbmQsIHVpbnQzMl90
IHR5cGUpCiB7Ci0gICAgc3RydWN0IGh2bV9tZW1fcGlubmVkX2NhY2hlYXR0
cl9yYW5nZSAqcmFuZ2U7CisgICAgc3RydWN0IGh2bV9tZW1fcGlubmVkX2Nh
Y2hlYXR0cl9yYW5nZSAqcmFuZ2UsICpuZXdyOwogICAgIHVuc2lnbmVkIGlu
dCBuciA9IDA7CiAgICAgaW50IHJjID0gMTsKIApAQCAtNjA4LDE0ICs2MDgs
MTUgQEAgaW50IGh2bV9zZXRfbWVtX3Bpbm5lZF9jYWNoZWF0dHIoc3RydWN0
CiAgICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9ERUxFVEVfTUVNX0NBQ0hF
QVRUUjoKICAgICAgICAgLyogUmVtb3ZlIHRoZSByZXF1ZXN0ZWQgcmFuZ2Uu
ICovCi0gICAgICAgIHJjdV9yZWFkX2xvY2soJnBpbm5lZF9jYWNoZWF0dHJf
cmN1X2xvY2spOwotICAgICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSAo
IHJhbmdlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZk
LT5hcmNoLmh2bS5waW5uZWRfY2FjaGVhdHRyX3JhbmdlcywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ICkKKyAgICAgICAgZG9t
YWluX2xvY2soZCk7CisgICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnkgKCBy
YW5nZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkLT5hcmNo
Lmh2bS5waW5uZWRfY2FjaGVhdHRyX3JhbmdlcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpc3QgKQogICAgICAgICAgICAgaWYgKCByYW5n
ZS0+c3RhcnQgPT0gZ2ZuX3N0YXJ0ICYmIHJhbmdlLT5lbmQgPT0gZ2ZuX2Vu
ZCApCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmN1X3JlYWRf
dW5sb2NrKCZwaW5uZWRfY2FjaGVhdHRyX3JjdV9sb2NrKTsKICAgICAgICAg
ICAgICAgICBsaXN0X2RlbF9yY3UoJnJhbmdlLT5saXN0KTsKKyAgICAgICAg
ICAgICAgICBkb21haW5fdW5sb2NrKGQpOworCiAgICAgICAgICAgICAgICAg
dHlwZSA9IHJhbmdlLT50eXBlOwogICAgICAgICAgICAgICAgIGNhbGxfcmN1
KCZyYW5nZS0+cmN1LCBmcmVlX3Bpbm5lZF9jYWNoZWF0dHJfZW50cnkpOwog
ICAgICAgICAgICAgICAgIHAybV9tZW1vcnlfdHlwZV9jaGFuZ2VkKGQpOwpA
QCAtNjM2LDcgKzYzNyw3IEBAIGludCBodm1fc2V0X21lbV9waW5uZWRfY2Fj
aGVhdHRyKHN0cnVjdAogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIH0KLSAgICAgICAgcmN1X3Jl
YWRfdW5sb2NrKCZwaW5uZWRfY2FjaGVhdHRyX3JjdV9sb2NrKTsKKyAgICAg
ICAgZG9tYWluX3VubG9jayhkKTsKICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7
CiAKICAgICBjYXNlIFBBVF9UWVBFX1VDX01JTlVTOgpAQCAtNjUxLDcgKzY1
MiwxMCBAQCBpbnQgaHZtX3NldF9tZW1fcGlubmVkX2NhY2hlYXR0cihzdHJ1
Y3QKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgfQogCi0gICAgcmN1
X3JlYWRfbG9jaygmcGlubmVkX2NhY2hlYXR0cl9yY3VfbG9jayk7CisgICAg
bmV3ciA9IHh6YWxsb2Moc3RydWN0IGh2bV9tZW1fcGlubmVkX2NhY2hlYXR0
cl9yYW5nZSk7CisKKyAgICBkb21haW5fbG9jayhkKTsKKwogICAgIGxpc3Rf
Zm9yX2VhY2hfZW50cnlfcmN1ICggcmFuZ2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmZC0+YXJjaC5odm0ucGlubmVkX2NhY2hlYXR0cl9y
YW5nZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ICkK
QEAgLTY2OSwyNyArNjczLDM0IEBAIGludCBodm1fc2V0X21lbV9waW5uZWRf
Y2FjaGVhdHRyKHN0cnVjdAogICAgICAgICB9CiAgICAgICAgICsrbnI7CiAg
ICAgfQotICAgIHJjdV9yZWFkX3VubG9jaygmcGlubmVkX2NhY2hlYXR0cl9y
Y3VfbG9jayk7CisKICAgICBpZiAoIHJjIDw9IDAgKQotICAgICAgICByZXR1
cm4gcmM7CisgICAgICAgIC8qIG5vdGhpbmcgKi87CisgICAgZWxzZSBpZiAo
IG5yID49IDY0IC8qIFRoZSBsaW1pdCBpcyBhcmJpdHJhcnkuICovICkKKyAg
ICAgICAgcmMgPSAtRU5PU1BDOworICAgIGVsc2UgaWYgKCAhbmV3ciApCisg
ICAgICAgIHJjID0gLUVOT01FTTsKKyAgICBlbHNlCisgICAgeworICAgICAg
ICBuZXdyLT5zdGFydCA9IGdmbl9zdGFydDsKKyAgICAgICAgbmV3ci0+ZW5k
ID0gZ2ZuX2VuZDsKKyAgICAgICAgbmV3ci0+dHlwZSA9IHR5cGU7CiAKLSAg
ICBpZiAoIG5yID49IDY0IC8qIFRoZSBsaW1pdCBpcyBhcmJpdHJhcnkuICov
ICkKLSAgICAgICAgcmV0dXJuIC1FTk9TUEM7CisgICAgICAgIGxpc3RfYWRk
X3JjdSgmbmV3ci0+bGlzdCwgJmQtPmFyY2guaHZtLnBpbm5lZF9jYWNoZWF0
dHJfcmFuZ2VzKTsKKworICAgICAgICBuZXdyID0gTlVMTDsKKyAgICAgICAg
cmMgPSAwOworICAgIH0KIAotICAgIHJhbmdlID0geHphbGxvYyhzdHJ1Y3Qg
aHZtX21lbV9waW5uZWRfY2FjaGVhdHRyX3JhbmdlKTsKLSAgICBpZiAoIHJh
bmdlID09IE5VTEwgKQotICAgICAgICByZXR1cm4gLUVOT01FTTsKKyAgICBk
b21haW5fdW5sb2NrKGQpOwogCi0gICAgcmFuZ2UtPnN0YXJ0ID0gZ2ZuX3N0
YXJ0OwotICAgIHJhbmdlLT5lbmQgPSBnZm5fZW5kOwotICAgIHJhbmdlLT50
eXBlID0gdHlwZTsKKyAgICB4ZnJlZShuZXdyKTsKIAotICAgIGxpc3RfYWRk
X3JjdSgmcmFuZ2UtPmxpc3QsICZkLT5hcmNoLmh2bS5waW5uZWRfY2FjaGVh
dHRyX3Jhbmdlcyk7CiAgICAgcDJtX21lbW9yeV90eXBlX2NoYW5nZWQoZCk7
CiAgICAgaWYgKCB0eXBlICE9IFBBVF9UWVBFX1dSQkFDSyApCiAgICAgICAg
IGZsdXNoX2FsbChGTFVTSF9DQUNIRSk7CiAKLSAgICByZXR1cm4gMDsKKyAg
ICByZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBpbnQgaHZtX3NhdmVfbXRycl9t
c3Ioc3RydWN0IHZjcHUgKnYsIGh2bV9kb21haW5fY29udGV4dF90ICpoKQo=

--=separator
Content-Type: application/octet-stream; name="xsa428-4.17-1.patch"
Content-Disposition: attachment; filename="xsa428-4.17-1.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvSFZNOiBib3VuZCBudW1iZXIgb2YgcGlubmVkIGNhY2hlIGF0dHJp
YnV0ZSByZWdpb25zCgpUaGlzIGlzIGV4cG9zZWQgdmlhIERNT1AsIGkuZS4g
dG8gcG90ZW50aWFsbHkgbm90IGZ1bGx5IHByaXZpbGVnZWQKZGV2aWNlIG1v
ZGVscy4gV2l0aCB0aGF0IHdlIG1heSBub3QgcGVybWl0IHJlZ2lzdHJhdGlv
biBvZiBhbiAoYWxtb3N0KQp1bmJvdW5kZWQgYW1vdW50IG9mIHN1Y2ggcmVn
aW9ucy4KClRoaXMgaXMgQ1ZFLTIwMjItNDIzMzMgLyBwYXJ0IG9mIFhTQS00
MjguCgpSZXBvcnRlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3Bl
cjNAY2l0cml4LmNvbT4KRml4ZXM6IDY0MjEyM2M1MTIzZiAoIng4Ni9odm06
IHByb3ZpZGUgWEVOX0RNT1BfcGluX21lbW9yeV9jYWNoZWF0dHIiKQpTaWdu
ZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+ClJl
dmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy
aXguY29tPgoKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9tdHJyLmMKKysrIGIv
eGVuL2FyY2gveDg2L2h2bS9tdHJyLmMKQEAgLTU5NSw2ICs1OTUsNyBAQCBp
bnQgaHZtX3NldF9tZW1fcGlubmVkX2NhY2hlYXR0cihzdHJ1Y3QKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGdmbl9lbmQs
IHVpbnQzMl90IHR5cGUpCiB7CiAgICAgc3RydWN0IGh2bV9tZW1fcGlubmVk
X2NhY2hlYXR0cl9yYW5nZSAqcmFuZ2U7CisgICAgdW5zaWduZWQgaW50IG5y
ID0gMDsKICAgICBpbnQgcmMgPSAxOwogCiAgICAgaWYgKCAhaXNfaHZtX2Rv
bWFpbihkKSApCkBAIC02NjYsMTEgKzY2NywxNSBAQCBpbnQgaHZtX3NldF9t
ZW1fcGlubmVkX2NhY2hlYXR0cihzdHJ1Y3QKICAgICAgICAgICAgIHJjID0g
LUVCVVNZOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAg
ICAgKytucjsKICAgICB9CiAgICAgcmN1X3JlYWRfdW5sb2NrKCZwaW5uZWRf
Y2FjaGVhdHRyX3JjdV9sb2NrKTsKICAgICBpZiAoIHJjIDw9IDAgKQogICAg
ICAgICByZXR1cm4gcmM7CiAKKyAgICBpZiAoIG5yID49IDY0IC8qIFRoZSBs
aW1pdCBpcyBhcmJpdHJhcnkuICovICkKKyAgICAgICAgcmV0dXJuIC1FTk9T
UEM7CisKICAgICByYW5nZSA9IHh6YWxsb2Moc3RydWN0IGh2bV9tZW1fcGlu
bmVkX2NhY2hlYXR0cl9yYW5nZSk7CiAgICAgaWYgKCByYW5nZSA9PSBOVUxM
ICkKICAgICAgICAgcmV0dXJuIC1FTk9NRU07Cg==

--=separator
Content-Type: application/octet-stream; name="xsa428-4.17-2.patch"
Content-Disposition: attachment; filename="xsa428-4.17-2.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvSFZNOiBzZXJpYWxpemUgcGlubmVkIGNhY2hlIGF0dHJpYnV0ZSBs
aXN0IG1hbmlwdWxhdGlvbgoKV2hpbGUgdGhlIFJDVSB2YXJpYW50cyBvZiBs
aXN0IGluc2VydGlvbiBhbmQgcmVtb3ZhbCBhbGxvdyBsb2NrbGVzcyBsaXN0
CnRyYXZlcnNhbCAod2l0aCBSQ1UganVzdCByZWFkLWxvY2tlZCksIGluc2Vy
dGlvbnMgYW5kIHJlbW92YWxzIHN0aWxsCm5lZWQgc2VyaWFsaXppbmcgYW1v
bmdzdCB0aGVtc2VsdmVzLiBUbyBrZWVwIHRoaW5ncyBzaW1wbGUsIHVzZSB0
aGUKZG9tYWluIGxvY2sgZm9yIHRoaXMgcHVycG9zZS4KClRoaXMgaXMgQ1ZF
LTIwMjItNDIzMzQgLyBwYXJ0IG9mIFhTQS00MjguCgpGaXhlczogNjQyMTIz
YzUxMjNmICgieDg2L2h2bTogcHJvdmlkZSBYRU5fRE1PUF9waW5fbWVtb3J5
X2NhY2hlYXR0ciIpClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1
bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IEp1bGllbiBHcmFsbCA8amdy
YWxsQGFtYXpvbi5jb20+CgotLS0gYS94ZW4vYXJjaC94ODYvaHZtL210cnIu
YworKysgYi94ZW4vYXJjaC94ODYvaHZtL210cnIuYwpAQCAtNTk0LDcgKzU5
NCw3IEBAIHN0YXRpYyB2b2lkIGNmX2NoZWNrIGZyZWVfcGlubmVkX2NhY2hl
YXQKIGludCBodm1fc2V0X21lbV9waW5uZWRfY2FjaGVhdHRyKHN0cnVjdCBk
b21haW4gKmQsIHVpbnQ2NF90IGdmbl9zdGFydCwKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGdmbl9lbmQsIHVpbnQzMl90
IHR5cGUpCiB7Ci0gICAgc3RydWN0IGh2bV9tZW1fcGlubmVkX2NhY2hlYXR0
cl9yYW5nZSAqcmFuZ2U7CisgICAgc3RydWN0IGh2bV9tZW1fcGlubmVkX2Nh
Y2hlYXR0cl9yYW5nZSAqcmFuZ2UsICpuZXdyOwogICAgIHVuc2lnbmVkIGlu
dCBuciA9IDA7CiAgICAgaW50IHJjID0gMTsKIApAQCAtNjA4LDE0ICs2MDgs
MTUgQEAgaW50IGh2bV9zZXRfbWVtX3Bpbm5lZF9jYWNoZWF0dHIoc3RydWN0
CiAgICAgewogICAgIGNhc2UgWEVOX0RPTUNUTF9ERUxFVEVfTUVNX0NBQ0hF
QVRUUjoKICAgICAgICAgLyogUmVtb3ZlIHRoZSByZXF1ZXN0ZWQgcmFuZ2Uu
ICovCi0gICAgICAgIHJjdV9yZWFkX2xvY2soJnBpbm5lZF9jYWNoZWF0dHJf
cmN1X2xvY2spOwotICAgICAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5X3JjdSAo
IHJhbmdlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZk
LT5hcmNoLmh2bS5waW5uZWRfY2FjaGVhdHRyX3JhbmdlcywKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ICkKKyAgICAgICAgZG9t
YWluX2xvY2soZCk7CisgICAgICAgIGxpc3RfZm9yX2VhY2hfZW50cnkgKCBy
YW5nZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkLT5hcmNo
Lmh2bS5waW5uZWRfY2FjaGVhdHRyX3JhbmdlcywKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGxpc3QgKQogICAgICAgICAgICAgaWYgKCByYW5n
ZS0+c3RhcnQgPT0gZ2ZuX3N0YXJ0ICYmIHJhbmdlLT5lbmQgPT0gZ2ZuX2Vu
ZCApCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgcmN1X3JlYWRf
dW5sb2NrKCZwaW5uZWRfY2FjaGVhdHRyX3JjdV9sb2NrKTsKICAgICAgICAg
ICAgICAgICBsaXN0X2RlbF9yY3UoJnJhbmdlLT5saXN0KTsKKyAgICAgICAg
ICAgICAgICBkb21haW5fdW5sb2NrKGQpOworCiAgICAgICAgICAgICAgICAg
dHlwZSA9IHJhbmdlLT50eXBlOwogICAgICAgICAgICAgICAgIGNhbGxfcmN1
KCZyYW5nZS0+cmN1LCBmcmVlX3Bpbm5lZF9jYWNoZWF0dHJfZW50cnkpOwog
ICAgICAgICAgICAgICAgIHAybV9tZW1vcnlfdHlwZV9jaGFuZ2VkKGQpOwpA
QCAtNjM2LDcgKzYzNyw3IEBAIGludCBodm1fc2V0X21lbV9waW5uZWRfY2Fj
aGVhdHRyKHN0cnVjdAogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg
ICAgICByZXR1cm4gMDsKICAgICAgICAgICAgIH0KLSAgICAgICAgcmN1X3Jl
YWRfdW5sb2NrKCZwaW5uZWRfY2FjaGVhdHRyX3JjdV9sb2NrKTsKKyAgICAg
ICAgZG9tYWluX3VubG9jayhkKTsKICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7
CiAKICAgICBjYXNlIFBBVF9UWVBFX1VDX01JTlVTOgpAQCAtNjUxLDcgKzY1
MiwxMCBAQCBpbnQgaHZtX3NldF9tZW1fcGlubmVkX2NhY2hlYXR0cihzdHJ1
Y3QKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgfQogCi0gICAgcmN1
X3JlYWRfbG9jaygmcGlubmVkX2NhY2hlYXR0cl9yY3VfbG9jayk7CisgICAg
bmV3ciA9IHh6YWxsb2Moc3RydWN0IGh2bV9tZW1fcGlubmVkX2NhY2hlYXR0
cl9yYW5nZSk7CisKKyAgICBkb21haW5fbG9jayhkKTsKKwogICAgIGxpc3Rf
Zm9yX2VhY2hfZW50cnlfcmN1ICggcmFuZ2UsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAmZC0+YXJjaC5odm0ucGlubmVkX2NhY2hlYXR0cl9y
YW5nZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ICkK
QEAgLTY2OSwyNyArNjczLDM0IEBAIGludCBodm1fc2V0X21lbV9waW5uZWRf
Y2FjaGVhdHRyKHN0cnVjdAogICAgICAgICB9CiAgICAgICAgICsrbnI7CiAg
ICAgfQotICAgIHJjdV9yZWFkX3VubG9jaygmcGlubmVkX2NhY2hlYXR0cl9y
Y3VfbG9jayk7CisKICAgICBpZiAoIHJjIDw9IDAgKQotICAgICAgICByZXR1
cm4gcmM7CisgICAgICAgIC8qIG5vdGhpbmcgKi87CisgICAgZWxzZSBpZiAo
IG5yID49IDY0IC8qIFRoZSBsaW1pdCBpcyBhcmJpdHJhcnkuICovICkKKyAg
ICAgICAgcmMgPSAtRU5PU1BDOworICAgIGVsc2UgaWYgKCAhbmV3ciApCisg
ICAgICAgIHJjID0gLUVOT01FTTsKKyAgICBlbHNlCisgICAgeworICAgICAg
ICBuZXdyLT5zdGFydCA9IGdmbl9zdGFydDsKKyAgICAgICAgbmV3ci0+ZW5k
ID0gZ2ZuX2VuZDsKKyAgICAgICAgbmV3ci0+dHlwZSA9IHR5cGU7CiAKLSAg
ICBpZiAoIG5yID49IDY0IC8qIFRoZSBsaW1pdCBpcyBhcmJpdHJhcnkuICov
ICkKLSAgICAgICAgcmV0dXJuIC1FTk9TUEM7CisgICAgICAgIGxpc3RfYWRk
X3JjdSgmbmV3ci0+bGlzdCwgJmQtPmFyY2guaHZtLnBpbm5lZF9jYWNoZWF0
dHJfcmFuZ2VzKTsKKworICAgICAgICBuZXdyID0gTlVMTDsKKyAgICAgICAg
cmMgPSAwOworICAgIH0KIAotICAgIHJhbmdlID0geHphbGxvYyhzdHJ1Y3Qg
aHZtX21lbV9waW5uZWRfY2FjaGVhdHRyX3JhbmdlKTsKLSAgICBpZiAoIHJh
bmdlID09IE5VTEwgKQotICAgICAgICByZXR1cm4gLUVOT01FTTsKKyAgICBk
b21haW5fdW5sb2NrKGQpOwogCi0gICAgcmFuZ2UtPnN0YXJ0ID0gZ2ZuX3N0
YXJ0OwotICAgIHJhbmdlLT5lbmQgPSBnZm5fZW5kOwotICAgIHJhbmdlLT50
eXBlID0gdHlwZTsKKyAgICB4ZnJlZShuZXdyKTsKIAotICAgIGxpc3RfYWRk
X3JjdSgmcmFuZ2UtPmxpc3QsICZkLT5hcmNoLmh2bS5waW5uZWRfY2FjaGVh
dHRyX3Jhbmdlcyk7CiAgICAgcDJtX21lbW9yeV90eXBlX2NoYW5nZWQoZCk7
CiAgICAgaWYgKCB0eXBlICE9IFBBVF9UWVBFX1dSQkFDSyApCiAgICAgICAg
IGZsdXNoX2FsbChGTFVTSF9DQUNIRSk7CiAKLSAgICByZXR1cm4gMDsKKyAg
ICByZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBpbnQgY2ZfY2hlY2sgaHZtX3Nh
dmVfbXRycl9tc3Ioc3RydWN0IHZjcHUgKnYsIGh2bV9kb21haW5fY29udGV4
dF90ICpoKQo=

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 12:01:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 12:01:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512392.792454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peafj-0007V4-2y; Tue, 21 Mar 2023 12:00:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512392.792454; Tue, 21 Mar 2023 12:00: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 1peafi-0007UU-Pu; Tue, 21 Mar 2023 12:00:58 +0000
Received: by outflank-mailman (input) for mailman id 512392;
 Tue, 21 Mar 2023 12:00:58 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=hojv=7N=xenbits.xen.org=andrewcoop@srs-se1.protection.inumbo.net>)
 id 1peafh-0006my-MJ
 for xen-devel@lists.xen.org; Tue, 21 Mar 2023 12:00:58 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0520b88e-c7e0-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 13:00:52 +0100 (CET)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1peafP-00031n-MN; Tue, 21 Mar 2023 12:00:39 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1peafP-0000Ca-Ko; Tue, 21 Mar 2023 12: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: 0520b88e-c7e0-11ed-87f5-c1b5be75604c
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=qJpzbqFfBV6lXHuKcxpZTx3thPo+2f4kK2BgZkQtjpE=; b=I1IpmoNQCS2vbtqtWazOam0O4u
	W6I4J6iEyJ3yrs10NSYc5F8ZMkzJIfvGrb1WeSalAg58mAXjiRs3SLNWKxFxRZvSoEtOtCbhle5aD
	Zx5YZpvMKH64xsSepMYpKEmMtjMupQiZnR59QEq4R+IJAaqcJX9HRZZlXA8vpofKkTko=;
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 427 v2 (CVE-2022-42332) - x86 shadow plus
 log-dirty mode use-after-free
Message-Id: <E1peafP-0000Ca-Ko@xenbits.xenproject.org>
Date: Tue, 21 Mar 2023 12:00:39 +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-2022-42332 / XSA-427
                               version 2

             x86 shadow plus log-dirty mode use-after-free

UPDATES IN VERSION 2
====================

Public release.

ISSUE DESCRIPTION
=================

In environments where host assisted address translation is necessary
but Hardware Assisted Paging (HAP) is unavailable, Xen will run guests
in so called shadow mode.  Shadow mode maintains a pool of memory used
for both shadow page tables as well as auxiliary data structures.  To
migrate or snapshot guests, Xen additionally runs them in so called
log-dirty mode.  The data structures needed by the log-dirty tracking
are part of aformentioned auxiliary data.

In order to keep error handling efforts within reasonable bounds, for
operations which may require memory allocations shadow mode logic
ensures up front that enough memory is available for the worst case
requirements.  Unfortunately, while page table memory is properly
accounted for on the code path requiring the potential establishing of
new shadows, demands by the log-dirty infrastructure were not taken into
consideration.  As a result, just established shadow page tables could
be freed again immediately, while other code is still accessing them on
the assumption that they would remain allocated.

IMPACT
======

Guests running in shadow mode and being subject to migration or
snapshotting may be able to cause Denial of Service and other problems,
including escalation of privilege.

VULNERABLE SYSTEMS
==================

All Xen versions from at least 3.2 onwards are vulnerable.  Earlier
versions have not been inspected.

Only x86 systems are vulnerable.  The vulnerability is limited to
migration and snapshotting of guests, and only to PV ones as well as
HVM or PVH ones run with shadow paging.

MITIGATION
==========

Not migrating or snapshotting guests will avoid the vulnerability.

Running only HVM or PVH guests and only in HAP (Hardware Assisted
Paging) mode will also avoid the vulnerability.

CREDITS
=======

This issue was discovered by Jan Beulich of SUSE.

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.

xsa427.patch           xen-unstable - Xen 4.17.x
xsa427-4.16.patch      Xen 4.16.x
xsa427-4.15.patch      Xen 4.15.x
xsa427-4.14.patch      Xen 4.14.x

$ sha256sum xsa427*
5ebcdc495ba6f439e47be7e17dbb8fbdecf4de66d2fac560d460f6841bd3bef3  xsa427.meta
aa39316cbb81478c62b3d5c5aea7edfb6ade3bc5e6d0aa8c4677f9ea7bcc97a2  xsa427.patch
5ba679bc2170b0d9cd4c6ce139057e3287a6ee00434fa0e9a7a02441420030ff  xsa427-4.14.patch
410ee6be28412841ab5aba1131f7dd7b84b9983f6c93974605f196fd278562e1  xsa427-4.15.patch
76c1850eb9a274c1feb5a8645f61ecf394a0551278f4e40e123ec07ea307f101  xsa427-4.16.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/4UyVfoK9kFAmQZlVkMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZgRMH/RU6mB8M/feJeZDkYbrLPmT3yLiw6BpWroMTUTpv
5kIlixxlfQqyv8gqd25p5WMMKUsZlPZdLCT0iOlyMTNz6EUPRBME2Yb3ByiM7O7/
kFtlFDk5ZY5c/Vk1w0XuLm+YcABj0xnsn003YvgknmZfBJ2HWdR2iIayT/NjfQ+u
twErqUqa7il2Em5M8ZwHZeJjCUN9t+g2sv5sdI/rQeRge8ofjsquLubpgUVMGjiV
xwwUPCn3co0/2WArB4mHjWCNcoATk1NVZ3CTUyKGl5Mr+EvdmYWvzmlDa4wc8QPV
tNoASqXw0MbOOTy+RnZQHwappCDP371MirPq4IaTwiXy7eo=
=0flx
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa427.meta"
Content-Disposition: attachment; filename="xsa427.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiA0MjcsCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNyIsCiAgICAiNC4xNiIsCiAgICAiNC4xNSIs
CiAgICAiNC4xNCIKICBdLAogICJUcmVlcyI6IFsKICAgICJ4ZW4iCiAgXSwK
ICAiUmVjaXBlcyI6IHsKICAgICI0LjE0IjogewogICAgICAiUmVjaXBlcyI6
IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICJj
MjY3YWJmYWYyZDgxNzYzNzFlZGEwMzdmOWI5MTUyNDU4ZTA2NTZkIiwKICAg
ICAgICAgICJQcmVyZXFzIjogW10sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsK
ICAgICAgICAgICAgInhzYTQyNy00LjE0LnBhdGNoIgogICAgICAgICAgXQog
ICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICI0LjE1IjogewogICAgICAi
UmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJs
ZVJlZiI6ICJmYTg3NTU3NGI3MzYxOGRhZjNiYzcwZTZmZjRkMzQyNDkzZmEx
MWQ5IiwKICAgICAgICAgICJQcmVyZXFzIjogW10sCiAgICAgICAgICAiUGF0
Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTQyNy00LjE1LnBhdGNoIgogICAg
ICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICI0LjE2Ijog
ewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewogICAgICAg
ICAgIlN0YWJsZVJlZiI6ICI4NGRmZTdhNTZmMDRhNzQxMmZhNDg2OWIzZTc1
NmM0OWUxY2ZiZTc1IiwKICAgICAgICAgICJQcmVyZXFzIjogW10sCiAgICAg
ICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTQyNy00LjE2LnBh
dGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfSwKICAg
ICI0LjE3IjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjog
ewogICAgICAgICAgIlN0YWJsZVJlZiI6ICJlYzViMDU4ZDJhNjQzNmEyZTE4
MDMxNTUyMmZjZjE2NDVhODE1M2I0IiwKICAgICAgICAgICJQcmVyZXFzIjog
W10sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTQy
Ny5wYXRjaCIKICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH0s
CiAgICAibWFzdGVyIjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAi
eGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICIzMTI3MGYxMWE5NmVi
Yjg3NWNkNzA2NjFlMmRmOWU1YzZlZGQ3NTY0IiwKICAgICAgICAgICJQcmVy
ZXFzIjogW10sCiAgICAgICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAg
InhzYTQyNy5wYXRjaCIKICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIH0K
ICAgIH0KICB9Cn0=

--=separator
Content-Type: application/octet-stream; name="xsa427.patch"
Content-Disposition: attachment; filename="xsa427.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvc2hhZG93OiBhY2NvdW50IGZvciBsb2ctZGlydHkgbW9kZSB3aGVu
IHByZS1hbGxvY2F0aW5nCgpQcmUtYWxsb2NhdGlvbiBpcyBpbnRlbmRlZCB0
byBlbnN1cmUgdGhhdCBpbiB0aGUgY291cnNlIG9mIGNvbnN0cnVjdGluZwpv
ciB1cGRhdGluZyBzaGFkb3dzIHRoZXJlIHdvbid0IGJlIGFueSByaXNrIG9m
IGp1c3QgbWFkZSBzaGFkb3dzIG9yCnNoYWRvd3MgYmVpbmcgYWN0ZWQgdXBv
biBjYW4gZGlzYXBwZWFyIHVuZGVyIG91ciBmZWV0LiBUaGUgYW1vdW50IG9m
CnBhZ2VzIHByZS1hbGxvY2F0ZWQgdGhlbiwgaG93ZXZlciwgbmVlZHMgdG8g
YWNjb3VudCBmb3IgYWxsIHBvc3NpYmxlCnN1YnNlcXVlbnQgYWxsb2NhdGlv
bnMuIFdoaWxlIHRoZSB1c2UgaW4gc2hfcGFnZV9mYXVsdCgpIGFjY291bnRz
IGZvcgphbGwgc2hhZG93cyB3aGljaCBtYXkgbmVlZCBtYWtpbmcsIHNvIGZh
ciBpdCBkaWRuJ3QgYWNjb3VudCBmb3IKYWxsb2NhdGlvbnMgY29taW5nIGZy
b20gbG9nLWRpcnR5IHRyYWNraW5nICh3aGljaCBwaWdneWJhY2tzIG9udG8g
dGhlClAyTSBhbGxvY2F0aW9uIGZ1bmN0aW9ucykuCgpTaW5jZSBzaGFkb3df
cHJlYWxsb2MoKSB0YWtlcyBhIGNvdW50IG9mIHNoYWRvd3MgKG9yIG90aGVy
IGRhdGEKc3RydWN0dXJlcykgcmF0aGVyIHRoYW4gYSBjb3VudCBvZiBwYWdl
cywgcHV0dGluZyB0aGUgYWRqdXN0bWVudCBhdCB0aGUKY2FsbCBzaXRlIG9m
IHRoaXMgZnVuY3Rpb24gd29uJ3Qgd29yayB2ZXJ5IHdlbGw6IFdlIHNpbXBs
eSBjYW4ndCBleHByZXNzCnRoZSBjb3JyZWN0IGNvdW50IHRoYXQgd2F5IGlu
IGFsbCBjYXNlcy4gSW5zdGVhZCB0YWtlIGNhcmUgb2YgdGhpcyBpbgp0aGUg
ZnVuY3Rpb24gaXRzZWxmLCBieSAic25vb3BpbmciIGZvciBMMSB0eXBlIHJl
cXVlc3RzLiAoV2hpbGUgbm90CmFwcGxpY2FibGUgcmlnaHQgbm93LCBmdXR1
cmUgbmV3IHJlcXVlc3Qgc2l0ZXMgb2YgTDEgdGFibGVzIHdvdWxkIHRoZW4K
YWxzbyBiZSBjb3ZlcmVkIHJpZ2h0IGF3YXkuKQoKSXQgaXMgcmVsZXZhbnQg
dG8gbm90ZSBoZXJlIHRoYXQgcHJlLWFsbG9jYXRpb25zIGxpa2UgdGhlIG9u
ZSBkb25lIGZyb20Kc2hhZG93X2FsbG9jX3AybV9wYWdlKCkgYXJlIGJlbmln
biB3aGVuIHRoZXkgZmFsbCBpbiB0aGUgInNjb3BlIiBvZiBhbgplYXJsaWVy
IHByZS1hbGxvYyB3aGljaCBhbHJlYWR5IGluY2x1ZGVkIHRoYXQgY291bnQ6
IFRoZSBpbm5lciBjYWxsIHdpbGwKc2ltcGx5IGZpbmQgZW5vdWdoIHBhZ2Vz
IGF2YWlsYWJsZSB0aGVuOyBpdCdsbCBiYWlsIHJpZ2h0IGF3YXkuCgpUaGlz
IGlzIENWRS0yMDIyLTQyMzMyIC8gWFNBLTQyNy4KClNpZ25lZC1vZmYtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6
IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgotLS0KdjI6IEVudGlyZWx5IGRp
ZmZlcmVudCBhcHByb2FjaC4KCi0tLSBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRl
L2FzbS9wYWdpbmcuaAorKysgYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20v
cGFnaW5nLmgKQEAgLTE4OSw2ICsxODksMTAgQEAgYm9vbCBwYWdpbmdfbWZu
X2lzX2RpcnR5KGNvbnN0IHN0cnVjdCBkbwogI2RlZmluZSBMNF9MT0dESVJU
WV9JRFgocGZuKSAoKHBmbl94KHBmbikgPj4gKFBBR0VfU0hJRlQgKyAzICsg
UEFHRVRBQkxFX09SREVSICogMikpICYgXAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKExPR0RJUlRZX05PREVfRU5UUklFUy0xKSkKIAorI2Rl
ZmluZSBwYWdpbmdfbG9nZGlydHlfbGV2ZWxzKCkgXAorICAgIChESVZfUk9V
TkRfVVAoUEFERFJfQklUUyAtIFBBR0VfU0hJRlQgLSAoUEFHRV9TSElGVCAr
IDMpLCBcCisgICAgICAgICAgICAgICAgICBQQUdFX1NISUZUIC0gaWxvZzIo
c2l6ZW9mKG1mbl90KSkpICsgMSkKKwogI2lmZGVmIENPTkZJR19IVk0KIC8q
IFZSQU0gZGlydHkgdHJhY2tpbmcgc3VwcG9ydCAqLwogc3RydWN0IHNoX2Rp
cnR5X3ZyYW0gewotLS0gYS94ZW4vYXJjaC94ODYvbW0vcGFnaW5nLmMKKysr
IGIveGVuL2FyY2gveDg2L21tL3BhZ2luZy5jCkBAIC0yODIsNiArMjgyLDcg
QEAgdm9pZCBwYWdpbmdfbWFya19wZm5fZGlydHkoc3RydWN0IGRvbWFpbgog
ICAgIGlmICggdW5saWtlbHkoIVZBTElEX00yUChwZm5feChwZm4pKSkgKQog
ICAgICAgICByZXR1cm47CiAKKyAgICBCVUlMRF9CVUdfT04ocGFnaW5nX2xv
Z2RpcnR5X2xldmVscygpICE9IDQpOwogICAgIGkxID0gTDFfTE9HRElSVFlf
SURYKHBmbik7CiAgICAgaTIgPSBMMl9MT0dESVJUWV9JRFgocGZuKTsKICAg
ICBpMyA9IEwzX0xPR0RJUlRZX0lEWChwZm4pOwotLS0gYS94ZW4vYXJjaC94
ODYvbW0vc2hhZG93L2NvbW1vbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9z
aGFkb3cvY29tbW9uLmMKQEAgLTEwMTEsNyArMTAxMSwxNyBAQCBib29sIHNo
YWRvd19wcmVhbGxvYyhzdHJ1Y3QgZG9tYWluICpkLCB1CiAgICAgaWYgKCB1
bmxpa2VseShkLT5pc19keWluZykgKQogICAgICAgIHJldHVybiBmYWxzZTsK
IAotICAgIHJldCA9IF9zaGFkb3dfcHJlYWxsb2MoZCwgc2hhZG93X3NpemUo
dHlwZSkgKiBjb3VudCk7CisgICAgY291bnQgKj0gc2hhZG93X3NpemUodHlw
ZSk7CisgICAgLyoKKyAgICAgKiBMb2ctZGlydHkgaGFuZGxpbmcgbWF5IHJl
c3VsdCBpbiBhbGxvY2F0aW9ucyB3aGVuIHBvcHVsYXRpbmcgaXRzCisgICAg
ICogdHJhY2tpbmcgc3RydWN0dXJlcy4gIFRpZSB0aGlzIHRvIHRoZSBjYWxs
ZXIgcmVxdWVzdGluZyBzcGFjZSBmb3IgTDEKKyAgICAgKiBzaGFkb3dzLgor
ICAgICAqLworICAgIGlmICggcGFnaW5nX21vZGVfbG9nX2RpcnR5KGQpICYm
CisgICAgICAgICAoKFNIRl9MMV9BTlkgfCBTSEZfRkwxX0FOWSkgJiAoMXUg
PDwgdHlwZSkpICkKKyAgICAgICAgY291bnQgKz0gcGFnaW5nX2xvZ2RpcnR5
X2xldmVscygpOworCisgICAgcmV0ID0gX3NoYWRvd19wcmVhbGxvYyhkLCBj
b3VudCk7CiAgICAgaWYgKCAhcmV0ICYmICghZC0+aXNfc2h1dHRpbmdfZG93
biB8fCBkLT5zaHV0ZG93bl9jb2RlICE9IFNIVVRET1dOX2NyYXNoKSApCiAg
ICAgICAgIC8qCiAgICAgICAgICAqIEZhaWxpbmcgdG8gYWxsb2NhdGUgbWVt
b3J5IHJlcXVpcmVkIGZvciBzaGFkb3cgdXNhZ2UgY2FuIG9ubHkgcmVzdWx0
IGluCg==

--=separator
Content-Type: application/octet-stream; name="xsa427-4.14.patch"
Content-Disposition: attachment; filename="xsa427-4.14.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvc2hhZG93OiBhY2NvdW50IGZvciBsb2ctZGlydHkgbW9kZSB3aGVu
IHByZS1hbGxvY2F0aW5nCgpQcmUtYWxsb2NhdGlvbiBpcyBpbnRlbmRlZCB0
byBlbnN1cmUgdGhhdCBpbiB0aGUgY291cnNlIG9mIGNvbnN0cnVjdGluZwpv
ciB1cGRhdGluZyBzaGFkb3dzIHRoZXJlIHdvbid0IGJlIGFueSByaXNrIG9m
IGp1c3QgbWFkZSBzaGFkb3dzIG9yCnNoYWRvd3MgYmVpbmcgYWN0ZWQgdXBv
biBjYW4gZGlzYXBwZWFyIHVuZGVyIG91ciBmZWV0LiBUaGUgYW1vdW50IG9m
CnBhZ2VzIHByZS1hbGxvY2F0ZWQgdGhlbiwgaG93ZXZlciwgbmVlZHMgdG8g
YWNjb3VudCBmb3IgYWxsIHBvc3NpYmxlCnN1YnNlcXVlbnQgYWxsb2NhdGlv
bnMuIFdoaWxlIHRoZSB1c2UgaW4gc2hfcGFnZV9mYXVsdCgpIGFjY291bnRz
IGZvcgphbGwgc2hhZG93cyB3aGljaCBtYXkgbmVlZCBtYWtpbmcsIHNvIGZh
ciBpdCBkaWRuJ3QgYWNjb3VudCBmb3IKYWxsb2NhdGlvbnMgY29taW5nIGZy
b20gbG9nLWRpcnR5IHRyYWNraW5nICh3aGljaCBwaWdneWJhY2tzIG9udG8g
dGhlClAyTSBhbGxvY2F0aW9uIGZ1bmN0aW9ucykuCgpTaW5jZSBzaGFkb3df
cHJlYWxsb2MoKSB0YWtlcyBhIGNvdW50IG9mIHNoYWRvd3MgKG9yIG90aGVy
IGRhdGEKc3RydWN0dXJlcykgcmF0aGVyIHRoYW4gYSBjb3VudCBvZiBwYWdl
cywgcHV0dGluZyB0aGUgYWRqdXN0bWVudCBhdCB0aGUKY2FsbCBzaXRlIG9m
IHRoaXMgZnVuY3Rpb24gd29uJ3Qgd29yayB2ZXJ5IHdlbGw6IFdlIHNpbXBs
eSBjYW4ndCBleHByZXNzCnRoZSBjb3JyZWN0IGNvdW50IHRoYXQgd2F5IGlu
IGFsbCBjYXNlcy4gSW5zdGVhZCB0YWtlIGNhcmUgb2YgdGhpcyBpbgp0aGUg
ZnVuY3Rpb24gaXRzZWxmLCBieSAic25vb3BpbmciIGZvciBMMSB0eXBlIHJl
cXVlc3RzLiAoV2hpbGUgbm90CmFwcGxpY2FibGUgcmlnaHQgbm93LCBmdXR1
cmUgbmV3IHJlcXVlc3Qgc2l0ZXMgb2YgTDEgdGFibGVzIHdvdWxkIHRoZW4K
YWxzbyBiZSBjb3ZlcmVkIHJpZ2h0IGF3YXkuKQoKSXQgaXMgcmVsZXZhbnQg
dG8gbm90ZSBoZXJlIHRoYXQgcHJlLWFsbG9jYXRpb25zIGxpa2UgdGhlIG9u
ZSBkb25lIGZyb20Kc2hhZG93X2FsbG9jX3AybV9wYWdlKCkgYXJlIGJlbmln
biB3aGVuIHRoZXkgZmFsbCBpbiB0aGUgInNjb3BlIiBvZiBhbgplYXJsaWVy
IHByZS1hbGxvYyB3aGljaCBhbHJlYWR5IGluY2x1ZGVkIHRoYXQgY291bnQ6
IFRoZSBpbm5lciBjYWxsIHdpbGwKc2ltcGx5IGZpbmQgZW5vdWdoIHBhZ2Vz
IGF2YWlsYWJsZSB0aGVuOyBpdCdsbCBiYWlsIHJpZ2h0IGF3YXkuCgpUaGlz
IGlzIENWRS0yMDIyLTQyMzMyIC8gWFNBLTQyNy4KClNpZ25lZC1vZmYtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6
IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgoKLS0tIGEveGVuL2luY2x1ZGUv
YXNtLXg4Ni9wYWdpbmcuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3Bh
Z2luZy5oCkBAIC0xOTAsNiArMTkwLDEwIEBAIGludCBwYWdpbmdfbWZuX2lz
X2RpcnR5KHN0cnVjdCBkb21haW4gKmQKICNkZWZpbmUgTDRfTE9HRElSVFlf
SURYKHBmbikgKChwZm5feChwZm4pID4+IChQQUdFX1NISUZUICsgMyArIFBB
R0VUQUJMRV9PUkRFUiAqIDIpKSAmIFwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChMT0dESVJUWV9OT0RFX0VOVFJJRVMtMSkpCiAKKyNkZWZp
bmUgcGFnaW5nX2xvZ2RpcnR5X2xldmVscygpIFwKKyAgICAoRElWX1JPVU5E
X1VQKFBBRERSX0JJVFMgLSBQQUdFX1NISUZUIC0gKFBBR0VfU0hJRlQgKyAz
KSwgXAorICAgICAgICAgICAgICAgICAgUEFHRV9TSElGVCAtIGlsb2cyKHNp
emVvZihtZm5fdCkpKSArIDEpCisKIC8qIFZSQU0gZGlydHkgdHJhY2tpbmcg
c3VwcG9ydCAqLwogc3RydWN0IHNoX2RpcnR5X3ZyYW0gewogICAgIHVuc2ln
bmVkIGxvbmcgYmVnaW5fcGZuOwotLS0gYS94ZW4vYXJjaC94ODYvbW0vcGFn
aW5nLmMKKysrIGIveGVuL2FyY2gveDg2L21tL3BhZ2luZy5jCkBAIC0yNzgs
NiArMjc4LDcgQEAgdm9pZCBwYWdpbmdfbWFya19wZm5fZGlydHkoc3RydWN0
IGRvbWFpbgogICAgIGlmICggdW5saWtlbHkoIVZBTElEX00yUChwZm5feChw
Zm4pKSkgKQogICAgICAgICByZXR1cm47CiAKKyAgICBCVUlMRF9CVUdfT04o
cGFnaW5nX2xvZ2RpcnR5X2xldmVscygpICE9IDQpOwogICAgIGkxID0gTDFf
TE9HRElSVFlfSURYKHBmbik7CiAgICAgaTIgPSBMMl9MT0dESVJUWV9JRFgo
cGZuKTsKICAgICBpMyA9IEwzX0xPR0RJUlRZX0lEWChwZm4pOwotLS0gYS94
ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCisrKyBiL3hlbi9hcmNo
L3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKQEAgLTEwMTIsNyArMTAxMiwxNyBA
QCBib29sIHNoYWRvd19wcmVhbGxvYyhzdHJ1Y3QgZG9tYWluICpkLCB1CiAg
ICAgaWYgKCB1bmxpa2VseShkLT5pc19keWluZykgKQogICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIHJldCA9IF9zaGFkb3dfcHJlYWxsb2MoZCwgc2hh
ZG93X3NpemUodHlwZSkgKiBjb3VudCk7CisgICAgY291bnQgKj0gc2hhZG93
X3NpemUodHlwZSk7CisgICAgLyoKKyAgICAgKiBMb2ctZGlydHkgaGFuZGxp
bmcgbWF5IHJlc3VsdCBpbiBhbGxvY2F0aW9ucyB3aGVuIHBvcHVsYXRpbmcg
aXRzCisgICAgICogdHJhY2tpbmcgc3RydWN0dXJlcy4gIFRpZSB0aGlzIHRv
IHRoZSBjYWxsZXIgcmVxdWVzdGluZyBzcGFjZSBmb3IgTDEKKyAgICAgKiBz
aGFkb3dzLgorICAgICAqLworICAgIGlmICggcGFnaW5nX21vZGVfbG9nX2Rp
cnR5KGQpICYmCisgICAgICAgICAoKFNIRl9MMV9BTlkgfCBTSEZfRkwxX0FO
WSkgJiAoMXUgPDwgdHlwZSkpICkKKyAgICAgICAgY291bnQgKz0gcGFnaW5n
X2xvZ2RpcnR5X2xldmVscygpOworCisgICAgcmV0ID0gX3NoYWRvd19wcmVh
bGxvYyhkLCBjb3VudCk7CiAgICAgaWYgKCAhcmV0ICYmICghZC0+aXNfc2h1
dHRpbmdfZG93biB8fCBkLT5zaHV0ZG93bl9jb2RlICE9IFNIVVRET1dOX2Ny
YXNoKSApCiAgICAgICAgIC8qCiAgICAgICAgICAqIEZhaWxpbmcgdG8gYWxs
b2NhdGUgbWVtb3J5IHJlcXVpcmVkIGZvciBzaGFkb3cgdXNhZ2UgY2FuIG9u
bHkgcmVzdWx0IGluCi0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvcHJp
dmF0ZS5oCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvcHJpdmF0ZS5o
CkBAIC0yNjksNiArMjY5LDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHNoX3Rl
cm1pbmF0ZV9saXN0KHN0cgogI2RlZmluZSBTSEZfNjQgIChTSEZfTDFfNjR8
U0hGX0ZMMV82NHxTSEZfTDJfNjR8U0hGX0wySF82NHxTSEZfTDNfNjR8U0hG
X0w0XzY0KQogCiAjZGVmaW5lIFNIRl9MMV9BTlkgIChTSEZfTDFfMzJ8U0hG
X0wxX1BBRXxTSEZfTDFfNjQpCisjZGVmaW5lIFNIRl9GTDFfQU5ZIChTSEZf
RkwxXzMyfFNIRl9GTDFfUEFFfFNIRl9GTDFfNjQpCiAKICNpZiAoU0hBRE9X
X09QVElNSVpBVElPTlMgJiBTSE9QVF9PVVRfT0ZfU1lOQykKIC8qIE1hcmtz
IGEgZ3Vlc3QgTDEgcGFnZSB0YWJsZSB3aGljaCBpcyBzaGFkb3dlZCBidXQg
bm90IHdyaXRlLXByb3RlY3RlZC4K

--=separator
Content-Type: application/octet-stream; name="xsa427-4.15.patch"
Content-Disposition: attachment; filename="xsa427-4.15.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvc2hhZG93OiBhY2NvdW50IGZvciBsb2ctZGlydHkgbW9kZSB3aGVu
IHByZS1hbGxvY2F0aW5nCgpQcmUtYWxsb2NhdGlvbiBpcyBpbnRlbmRlZCB0
byBlbnN1cmUgdGhhdCBpbiB0aGUgY291cnNlIG9mIGNvbnN0cnVjdGluZwpv
ciB1cGRhdGluZyBzaGFkb3dzIHRoZXJlIHdvbid0IGJlIGFueSByaXNrIG9m
IGp1c3QgbWFkZSBzaGFkb3dzIG9yCnNoYWRvd3MgYmVpbmcgYWN0ZWQgdXBv
biBjYW4gZGlzYXBwZWFyIHVuZGVyIG91ciBmZWV0LiBUaGUgYW1vdW50IG9m
CnBhZ2VzIHByZS1hbGxvY2F0ZWQgdGhlbiwgaG93ZXZlciwgbmVlZHMgdG8g
YWNjb3VudCBmb3IgYWxsIHBvc3NpYmxlCnN1YnNlcXVlbnQgYWxsb2NhdGlv
bnMuIFdoaWxlIHRoZSB1c2UgaW4gc2hfcGFnZV9mYXVsdCgpIGFjY291bnRz
IGZvcgphbGwgc2hhZG93cyB3aGljaCBtYXkgbmVlZCBtYWtpbmcsIHNvIGZh
ciBpdCBkaWRuJ3QgYWNjb3VudCBmb3IKYWxsb2NhdGlvbnMgY29taW5nIGZy
b20gbG9nLWRpcnR5IHRyYWNraW5nICh3aGljaCBwaWdneWJhY2tzIG9udG8g
dGhlClAyTSBhbGxvY2F0aW9uIGZ1bmN0aW9ucykuCgpTaW5jZSBzaGFkb3df
cHJlYWxsb2MoKSB0YWtlcyBhIGNvdW50IG9mIHNoYWRvd3MgKG9yIG90aGVy
IGRhdGEKc3RydWN0dXJlcykgcmF0aGVyIHRoYW4gYSBjb3VudCBvZiBwYWdl
cywgcHV0dGluZyB0aGUgYWRqdXN0bWVudCBhdCB0aGUKY2FsbCBzaXRlIG9m
IHRoaXMgZnVuY3Rpb24gd29uJ3Qgd29yayB2ZXJ5IHdlbGw6IFdlIHNpbXBs
eSBjYW4ndCBleHByZXNzCnRoZSBjb3JyZWN0IGNvdW50IHRoYXQgd2F5IGlu
IGFsbCBjYXNlcy4gSW5zdGVhZCB0YWtlIGNhcmUgb2YgdGhpcyBpbgp0aGUg
ZnVuY3Rpb24gaXRzZWxmLCBieSAic25vb3BpbmciIGZvciBMMSB0eXBlIHJl
cXVlc3RzLiAoV2hpbGUgbm90CmFwcGxpY2FibGUgcmlnaHQgbm93LCBmdXR1
cmUgbmV3IHJlcXVlc3Qgc2l0ZXMgb2YgTDEgdGFibGVzIHdvdWxkIHRoZW4K
YWxzbyBiZSBjb3ZlcmVkIHJpZ2h0IGF3YXkuKQoKSXQgaXMgcmVsZXZhbnQg
dG8gbm90ZSBoZXJlIHRoYXQgcHJlLWFsbG9jYXRpb25zIGxpa2UgdGhlIG9u
ZSBkb25lIGZyb20Kc2hhZG93X2FsbG9jX3AybV9wYWdlKCkgYXJlIGJlbmln
biB3aGVuIHRoZXkgZmFsbCBpbiB0aGUgInNjb3BlIiBvZiBhbgplYXJsaWVy
IHByZS1hbGxvYyB3aGljaCBhbHJlYWR5IGluY2x1ZGVkIHRoYXQgY291bnQ6
IFRoZSBpbm5lciBjYWxsIHdpbGwKc2ltcGx5IGZpbmQgZW5vdWdoIHBhZ2Vz
IGF2YWlsYWJsZSB0aGVuOyBpdCdsbCBiYWlsIHJpZ2h0IGF3YXkuCgpUaGlz
IGlzIENWRS0yMDIyLTQyMzMyIC8gWFNBLTQyNy4KClNpZ25lZC1vZmYtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6
IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgoKLS0tIGEveGVuL2luY2x1ZGUv
YXNtLXg4Ni9wYWdpbmcuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3Bh
Z2luZy5oCkBAIC0xOTAsNiArMTkwLDEwIEBAIGludCBwYWdpbmdfbWZuX2lz
X2RpcnR5KHN0cnVjdCBkb21haW4gKmQKICNkZWZpbmUgTDRfTE9HRElSVFlf
SURYKHBmbikgKChwZm5feChwZm4pID4+IChQQUdFX1NISUZUICsgMyArIFBB
R0VUQUJMRV9PUkRFUiAqIDIpKSAmIFwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChMT0dESVJUWV9OT0RFX0VOVFJJRVMtMSkpCiAKKyNkZWZp
bmUgcGFnaW5nX2xvZ2RpcnR5X2xldmVscygpIFwKKyAgICAoRElWX1JPVU5E
X1VQKFBBRERSX0JJVFMgLSBQQUdFX1NISUZUIC0gKFBBR0VfU0hJRlQgKyAz
KSwgXAorICAgICAgICAgICAgICAgICAgUEFHRV9TSElGVCAtIGlsb2cyKHNp
emVvZihtZm5fdCkpKSArIDEpCisKICNpZmRlZiBDT05GSUdfSFZNCiAvKiBW
UkFNIGRpcnR5IHRyYWNraW5nIHN1cHBvcnQgKi8KIHN0cnVjdCBzaF9kaXJ0
eV92cmFtIHsKLS0tIGEveGVuL2FyY2gveDg2L21tL3BhZ2luZy5jCisrKyBi
L3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwpAQCAtMjgwLDYgKzI4MCw3IEBA
IHZvaWQgcGFnaW5nX21hcmtfcGZuX2RpcnR5KHN0cnVjdCBkb21haW4KICAg
ICBpZiAoIHVubGlrZWx5KCFWQUxJRF9NMlAocGZuX3gocGZuKSkpICkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgQlVJTERfQlVHX09OKHBhZ2luZ19sb2dk
aXJ0eV9sZXZlbHMoKSAhPSA0KTsKICAgICBpMSA9IEwxX0xPR0RJUlRZX0lE
WChwZm4pOwogICAgIGkyID0gTDJfTE9HRElSVFlfSURYKHBmbik7CiAgICAg
aTMgPSBMM19MT0dESVJUWV9JRFgocGZuKTsKLS0tIGEveGVuL2FyY2gveDg2
L21tL3NoYWRvdy9jb21tb24uYworKysgYi94ZW4vYXJjaC94ODYvbW0vc2hh
ZG93L2NvbW1vbi5jCkBAIC0xMDE0LDcgKzEwMTQsMTcgQEAgYm9vbCBzaGFk
b3dfcHJlYWxsb2Moc3RydWN0IGRvbWFpbiAqZCwgdQogICAgIGlmICggdW5s
aWtlbHkoZC0+aXNfZHlpbmcpICkKICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICByZXQgPSBfc2hhZG93X3ByZWFsbG9jKGQsIHNoYWRvd19zaXplKHR5
cGUpICogY291bnQpOworICAgIGNvdW50ICo9IHNoYWRvd19zaXplKHR5cGUp
OworICAgIC8qCisgICAgICogTG9nLWRpcnR5IGhhbmRsaW5nIG1heSByZXN1
bHQgaW4gYWxsb2NhdGlvbnMgd2hlbiBwb3B1bGF0aW5nIGl0cworICAgICAq
IHRyYWNraW5nIHN0cnVjdHVyZXMuICBUaWUgdGhpcyB0byB0aGUgY2FsbGVy
IHJlcXVlc3Rpbmcgc3BhY2UgZm9yIEwxCisgICAgICogc2hhZG93cy4KKyAg
ICAgKi8KKyAgICBpZiAoIHBhZ2luZ19tb2RlX2xvZ19kaXJ0eShkKSAmJgor
ICAgICAgICAgKChTSEZfTDFfQU5ZIHwgU0hGX0ZMMV9BTlkpICYgKDF1IDw8
IHR5cGUpKSApCisgICAgICAgIGNvdW50ICs9IHBhZ2luZ19sb2dkaXJ0eV9s
ZXZlbHMoKTsKKworICAgIHJldCA9IF9zaGFkb3dfcHJlYWxsb2MoZCwgY291
bnQpOwogICAgIGlmICggIXJldCAmJiAoIWQtPmlzX3NodXR0aW5nX2Rvd24g
fHwgZC0+c2h1dGRvd25fY29kZSAhPSBTSFVURE9XTl9jcmFzaCkgKQogICAg
ICAgICAvKgogICAgICAgICAgKiBGYWlsaW5nIHRvIGFsbG9jYXRlIG1lbW9y
eSByZXF1aXJlZCBmb3Igc2hhZG93IHVzYWdlIGNhbiBvbmx5IHJlc3VsdCBp
bgotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L3ByaXZhdGUuaAorKysg
Yi94ZW4vYXJjaC94ODYvbW0vc2hhZG93L3ByaXZhdGUuaApAQCAtMjY5LDYg
KzI2OSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzaF90ZXJtaW5hdGVfbGlz
dChzdHIKICNkZWZpbmUgU0hGXzY0ICAoU0hGX0wxXzY0fFNIRl9GTDFfNjR8
U0hGX0wyXzY0fFNIRl9MMkhfNjR8U0hGX0wzXzY0fFNIRl9MNF82NCkKIAog
I2RlZmluZSBTSEZfTDFfQU5ZICAoU0hGX0wxXzMyfFNIRl9MMV9QQUV8U0hG
X0wxXzY0KQorI2RlZmluZSBTSEZfRkwxX0FOWSAoU0hGX0ZMMV8zMnxTSEZf
RkwxX1BBRXxTSEZfRkwxXzY0KQogCiAjaWYgKFNIQURPV19PUFRJTUlaQVRJ
T05TICYgU0hPUFRfT1VUX09GX1NZTkMpCiAvKiBNYXJrcyBhIGd1ZXN0IEwx
IHBhZ2UgdGFibGUgd2hpY2ggaXMgc2hhZG93ZWQgYnV0IG5vdCB3cml0ZS1w
cm90ZWN0ZWQuCg==

--=separator
Content-Type: application/octet-stream; name="xsa427-4.16.patch"
Content-Disposition: attachment; filename="xsa427-4.16.patch"
Content-Transfer-Encoding: base64

RnJvbTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpTdWJqZWN0
OiB4ODYvc2hhZG93OiBhY2NvdW50IGZvciBsb2ctZGlydHkgbW9kZSB3aGVu
IHByZS1hbGxvY2F0aW5nCgpQcmUtYWxsb2NhdGlvbiBpcyBpbnRlbmRlZCB0
byBlbnN1cmUgdGhhdCBpbiB0aGUgY291cnNlIG9mIGNvbnN0cnVjdGluZwpv
ciB1cGRhdGluZyBzaGFkb3dzIHRoZXJlIHdvbid0IGJlIGFueSByaXNrIG9m
IGp1c3QgbWFkZSBzaGFkb3dzIG9yCnNoYWRvd3MgYmVpbmcgYWN0ZWQgdXBv
biBjYW4gZGlzYXBwZWFyIHVuZGVyIG91ciBmZWV0LiBUaGUgYW1vdW50IG9m
CnBhZ2VzIHByZS1hbGxvY2F0ZWQgdGhlbiwgaG93ZXZlciwgbmVlZHMgdG8g
YWNjb3VudCBmb3IgYWxsIHBvc3NpYmxlCnN1YnNlcXVlbnQgYWxsb2NhdGlv
bnMuIFdoaWxlIHRoZSB1c2UgaW4gc2hfcGFnZV9mYXVsdCgpIGFjY291bnRz
IGZvcgphbGwgc2hhZG93cyB3aGljaCBtYXkgbmVlZCBtYWtpbmcsIHNvIGZh
ciBpdCBkaWRuJ3QgYWNjb3VudCBmb3IKYWxsb2NhdGlvbnMgY29taW5nIGZy
b20gbG9nLWRpcnR5IHRyYWNraW5nICh3aGljaCBwaWdneWJhY2tzIG9udG8g
dGhlClAyTSBhbGxvY2F0aW9uIGZ1bmN0aW9ucykuCgpTaW5jZSBzaGFkb3df
cHJlYWxsb2MoKSB0YWtlcyBhIGNvdW50IG9mIHNoYWRvd3MgKG9yIG90aGVy
IGRhdGEKc3RydWN0dXJlcykgcmF0aGVyIHRoYW4gYSBjb3VudCBvZiBwYWdl
cywgcHV0dGluZyB0aGUgYWRqdXN0bWVudCBhdCB0aGUKY2FsbCBzaXRlIG9m
IHRoaXMgZnVuY3Rpb24gd29uJ3Qgd29yayB2ZXJ5IHdlbGw6IFdlIHNpbXBs
eSBjYW4ndCBleHByZXNzCnRoZSBjb3JyZWN0IGNvdW50IHRoYXQgd2F5IGlu
IGFsbCBjYXNlcy4gSW5zdGVhZCB0YWtlIGNhcmUgb2YgdGhpcyBpbgp0aGUg
ZnVuY3Rpb24gaXRzZWxmLCBieSAic25vb3BpbmciIGZvciBMMSB0eXBlIHJl
cXVlc3RzLiAoV2hpbGUgbm90CmFwcGxpY2FibGUgcmlnaHQgbm93LCBmdXR1
cmUgbmV3IHJlcXVlc3Qgc2l0ZXMgb2YgTDEgdGFibGVzIHdvdWxkIHRoZW4K
YWxzbyBiZSBjb3ZlcmVkIHJpZ2h0IGF3YXkuKQoKSXQgaXMgcmVsZXZhbnQg
dG8gbm90ZSBoZXJlIHRoYXQgcHJlLWFsbG9jYXRpb25zIGxpa2UgdGhlIG9u
ZSBkb25lIGZyb20Kc2hhZG93X2FsbG9jX3AybV9wYWdlKCkgYXJlIGJlbmln
biB3aGVuIHRoZXkgZmFsbCBpbiB0aGUgInNjb3BlIiBvZiBhbgplYXJsaWVy
IHByZS1hbGxvYyB3aGljaCBhbHJlYWR5IGluY2x1ZGVkIHRoYXQgY291bnQ6
IFRoZSBpbm5lciBjYWxsIHdpbGwKc2ltcGx5IGZpbmQgZW5vdWdoIHBhZ2Vz
IGF2YWlsYWJsZSB0aGVuOyBpdCdsbCBiYWlsIHJpZ2h0IGF3YXkuCgpUaGlz
IGlzIENWRS0yMDIyLTQyMzMyIC8gWFNBLTQyNy4KClNpZ25lZC1vZmYtYnk6
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6
IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgoKLS0tIGEveGVuL2luY2x1ZGUv
YXNtLXg4Ni9wYWdpbmcuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3Bh
Z2luZy5oCkBAIC0xOTIsNiArMTkyLDEwIEBAIGludCBwYWdpbmdfbWZuX2lz
X2RpcnR5KHN0cnVjdCBkb21haW4gKmQKICNkZWZpbmUgTDRfTE9HRElSVFlf
SURYKHBmbikgKChwZm5feChwZm4pID4+IChQQUdFX1NISUZUICsgMyArIFBB
R0VUQUJMRV9PUkRFUiAqIDIpKSAmIFwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChMT0dESVJUWV9OT0RFX0VOVFJJRVMtMSkpCiAKKyNkZWZp
bmUgcGFnaW5nX2xvZ2RpcnR5X2xldmVscygpIFwKKyAgICAoRElWX1JPVU5E
X1VQKFBBRERSX0JJVFMgLSBQQUdFX1NISUZUIC0gKFBBR0VfU0hJRlQgKyAz
KSwgXAorICAgICAgICAgICAgICAgICAgUEFHRV9TSElGVCAtIGlsb2cyKHNp
emVvZihtZm5fdCkpKSArIDEpCisKICNpZmRlZiBDT05GSUdfSFZNCiAvKiBW
UkFNIGRpcnR5IHRyYWNraW5nIHN1cHBvcnQgKi8KIHN0cnVjdCBzaF9kaXJ0
eV92cmFtIHsKLS0tIGEveGVuL2FyY2gveDg2L21tL3BhZ2luZy5jCisrKyBi
L3hlbi9hcmNoL3g4Ni9tbS9wYWdpbmcuYwpAQCAtMjgwLDYgKzI4MCw3IEBA
IHZvaWQgcGFnaW5nX21hcmtfcGZuX2RpcnR5KHN0cnVjdCBkb21haW4KICAg
ICBpZiAoIHVubGlrZWx5KCFWQUxJRF9NMlAocGZuX3gocGZuKSkpICkKICAg
ICAgICAgcmV0dXJuOwogCisgICAgQlVJTERfQlVHX09OKHBhZ2luZ19sb2dk
aXJ0eV9sZXZlbHMoKSAhPSA0KTsKICAgICBpMSA9IEwxX0xPR0RJUlRZX0lE
WChwZm4pOwogICAgIGkyID0gTDJfTE9HRElSVFlfSURYKHBmbik7CiAgICAg
aTMgPSBMM19MT0dESVJUWV9JRFgocGZuKTsKLS0tIGEveGVuL2FyY2gveDg2
L21tL3NoYWRvdy9jb21tb24uYworKysgYi94ZW4vYXJjaC94ODYvbW0vc2hh
ZG93L2NvbW1vbi5jCkBAIC0xMDE1LDcgKzEwMTUsMTcgQEAgYm9vbCBzaGFk
b3dfcHJlYWxsb2Moc3RydWN0IGRvbWFpbiAqZCwgdQogICAgIGlmICggdW5s
aWtlbHkoZC0+aXNfZHlpbmcpICkKICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICByZXQgPSBfc2hhZG93X3ByZWFsbG9jKGQsIHNoYWRvd19zaXplKHR5
cGUpICogY291bnQpOworICAgIGNvdW50ICo9IHNoYWRvd19zaXplKHR5cGUp
OworICAgIC8qCisgICAgICogTG9nLWRpcnR5IGhhbmRsaW5nIG1heSByZXN1
bHQgaW4gYWxsb2NhdGlvbnMgd2hlbiBwb3B1bGF0aW5nIGl0cworICAgICAq
IHRyYWNraW5nIHN0cnVjdHVyZXMuICBUaWUgdGhpcyB0byB0aGUgY2FsbGVy
IHJlcXVlc3Rpbmcgc3BhY2UgZm9yIEwxCisgICAgICogc2hhZG93cy4KKyAg
ICAgKi8KKyAgICBpZiAoIHBhZ2luZ19tb2RlX2xvZ19kaXJ0eShkKSAmJgor
ICAgICAgICAgKChTSEZfTDFfQU5ZIHwgU0hGX0ZMMV9BTlkpICYgKDF1IDw8
IHR5cGUpKSApCisgICAgICAgIGNvdW50ICs9IHBhZ2luZ19sb2dkaXJ0eV9s
ZXZlbHMoKTsKKworICAgIHJldCA9IF9zaGFkb3dfcHJlYWxsb2MoZCwgY291
bnQpOwogICAgIGlmICggIXJldCAmJiAoIWQtPmlzX3NodXR0aW5nX2Rvd24g
fHwgZC0+c2h1dGRvd25fY29kZSAhPSBTSFVURE9XTl9jcmFzaCkgKQogICAg
ICAgICAvKgogICAgICAgICAgKiBGYWlsaW5nIHRvIGFsbG9jYXRlIG1lbW9y
eSByZXF1aXJlZCBmb3Igc2hhZG93IHVzYWdlIGNhbiBvbmx5IHJlc3VsdCBp
bgo=

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 12:01:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 12:01:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512397.792519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peafp-0000hx-3r; Tue, 21 Mar 2023 12:01:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512397.792519; Tue, 21 Mar 2023 12: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 1peafo-0000h7-JX; Tue, 21 Mar 2023 12:01:04 +0000
Received: by outflank-mailman (input) for mailman id 512397;
 Tue, 21 Mar 2023 12: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=hojv=7N=xenbits.xen.org=andrewcoop@srs-se1.protection.inumbo.net>)
 id 1peafm-0006jQ-W3
 for xen-devel@lists.xen.org; Tue, 21 Mar 2023 12:01:03 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 08a9e9d1-c7e0-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 13:00:56 +0100 (CET)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1peafW-00032f-Vc; Tue, 21 Mar 2023 12:00:46 +0000
Received: from andrewcoop by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <andrewcoop@xenbits.xen.org>)
 id 1peafW-0000G3-UU; Tue, 21 Mar 2023 12:00:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 08a9e9d1-c7e0-11ed-b464-930f4c7d94ae
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=BNYP1Dv8uG/bHThSnhfkWPM3dVwF/6evTsYsRlnLLhM=; b=vvHTAhAUdf3ak/OfzwLNFEGKO5
	UJwMOHC8Ie34RPlIiUxyWPhJ8l0WCoAArCxlWmmP3gbNQ22fp1klqR+EX0ifTNWIlwtRQCfoWlrsc
	kcNA/FYi0eEzKA9quhRYI4JmxaZxAD7/pXDKj190x0Bu/ByYLK5OvoWFUnVfUpHcw2vw=;
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 429 v3 (CVE-2022-42331) - x86: speculative
 vulnerability in 32bit SYSCALL path
Message-Id: <E1peafW-0000G3-UU@xenbits.xenproject.org>
Date: Tue, 21 Mar 2023 12:00:46 +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-2022-42331 / XSA-429
                               version 3

          x86: speculative vulnerability in 32bit SYSCALL path

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

Due to an oversight in the very original Spectre/Meltdown security work
(XSA-254), one entrypath performs its speculation-safety actions too
late.

In some configurations, there is an unprotected RET instruction which
can be attacked with a variety of speculative attacks.

IMPACT
======

An attacker might be able to infer the contents of arbitrary host
memory, including memory assigned to other guests.

VULNERABLE SYSTEMS
==================

Xen versions 4.5 through 4.17 are vulnerable.  Older versions are not
vulnerable.

Only x86 CPUs are potentially vulnerable.  CPUs of other architectures
are not vulnerable.

The problematic codepath is only reachable on x86 CPUs which follow
AMD's behaviour with respect to SYSCALL instructions from compatibility
mode segments.  This means that AMD and Hygon CPUs are potentially
vulnerable, whereas Intel CPUs are not.  Other vendors have not been
checked.

Only PV guests can leverage the vulnerability.

On Xen 4.16 and later, the vulnerability is only present if 32bit PV
guest support is compiled in - i.e. CONFIG_PV32=y.  On Xen 4.15 and
older, all supported build configurations are vulnerable.

The vulnerability is only present when booting on hardware that supports
SMEP or SMAP (Supervisor Mode Execution/Access Prevention).  This is
believed to be some Family 0x16 models, and all later CPUs.

MITIGATION
==========

Not running untrusted PV guests will avoid the issue.

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.

xsa429.patch           xen-unstable - Xen 4.16
xsa429-4.15.patch      Xen 4.15 - Xen 4.14

$ sha256sum xsa429*
2d7be90d917c475ab5217e657d2b44f5d8b107d9023dca034fcfb7feab07b2f0  xsa429.meta
36ed36dbfaad9e5df5fa87b9a3d9e9c531f476f97eeb2afe280aa238032a0540  xsa429.patch
7ac3d4182585e5d2d39231f10e7c0c9fcb972c82cf81cb884e95b628187de3a7  xsa429-4.15.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/4UyVfoK9kFAmQZlWMMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZil4H/2b1DkLLz4RQqAgvaB8+SBeVLPqoZ7QxGLl8QXWT
AMjFdy+M5T1OtbrMvEYCZNYhZnGOJgmVagERUvg/yZbPYx28NIHjG4+u90Ot6OId
AQPqdrJ0wjEzN/ppNpnu1ALofAGbjsnAypEouGPh12gh5fcpcLQdT0rvpl2ff5f6
Qi4ShtUXhBiduBQcJ0TSneSCf5s7cq1+sMenntenK5Nrsvg7gu51YR45FyKyXdZc
raonkGDny9kmDAjdKkywS2Au2763ph9nHbW5TbD17s65AKUDTupzk+QlFPhJLIP+
/gxDoUjKFiD/eY0AABWMAFGGvHFRNvdhTfUd6ImmWhqdEeE=
=HxUJ
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa429.meta"
Content-Disposition: attachment; filename="xsa429.meta"
Content-Transfer-Encoding: base64

ewogICJYU0EiOiA0MjksCiAgIlN1cHBvcnRlZFZlcnNpb25zIjogWwogICAg
Im1hc3RlciIsCiAgICAiNC4xNyIsCiAgICAiNC4xNiIsCiAgICAiNC4xNSIs
CiAgICAiNC4xNCIKICBdLAogICJUcmVlcyI6IFsKICAgICJ4ZW4iCiAgXSwK
ICAiUmVjaXBlcyI6IHsKICAgICI0LjE0IjogewogICAgICAiUmVjaXBlcyI6
IHsKICAgICAgICAieGVuIjogewogICAgICAgICAgIlN0YWJsZVJlZiI6ICJj
MjY3YWJmYWYyZDgxNzYzNzFlZGEwMzdmOWI5MTUyNDU4ZTA2NTZkIiwKICAg
ICAgICAgICJQcmVyZXFzIjogWwogICAgICAgICAgICA0MjcsCiAgICAgICAg
ICAgIDQyOAogICAgICAgICAgXSwKICAgICAgICAgICJQYXRjaGVzIjogWwog
ICAgICAgICAgICAieHNhNDI5LTQuMTUucGF0Y2giCiAgICAgICAgICBdCiAg
ICAgICAgfQogICAgICB9CiAgICB9LAogICAgIjQuMTUiOiB7CiAgICAgICJS
ZWNpcGVzIjogewogICAgICAgICJ4ZW4iOiB7CiAgICAgICAgICAiU3RhYmxl
UmVmIjogImZhODc1NTc0YjczNjE4ZGFmM2JjNzBlNmZmNGQzNDI0OTNmYTEx
ZDkiLAogICAgICAgICAgIlByZXJlcXMiOiBbCiAgICAgICAgICAgIDQyNywK
ICAgICAgICAgICAgNDI4CiAgICAgICAgICBdLAogICAgICAgICAgIlBhdGNo
ZXMiOiBbCiAgICAgICAgICAgICJ4c2E0MjktNC4xNS5wYXRjaCIKICAgICAg
ICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiNC4xNiI6IHsK
ICAgICAgIlJlY2lwZXMiOiB7CiAgICAgICAgInhlbiI6IHsKICAgICAgICAg
ICJTdGFibGVSZWYiOiAiODRkZmU3YTU2ZjA0YTc0MTJmYTQ4NjliM2U3NTZj
NDllMWNmYmU3NSIsCiAgICAgICAgICAiUHJlcmVxcyI6IFsKICAgICAgICAg
ICAgNDI3LAogICAgICAgICAgICA0MjgKICAgICAgICAgIF0sCiAgICAgICAg
ICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTQyOS5wYXRjaCIKICAg
ICAgICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiNC4xNyI6
IHsKICAgICAgIlJlY2lwZXMiOiB7CiAgICAgICAgInhlbiI6IHsKICAgICAg
ICAgICJTdGFibGVSZWYiOiAiZWM1YjA1OGQyYTY0MzZhMmUxODAzMTU1MjJm
Y2YxNjQ1YTgxNTNiNCIsCiAgICAgICAgICAiUHJlcmVxcyI6IFsKICAgICAg
ICAgICAgNDI3LAogICAgICAgICAgICA0MjgKICAgICAgICAgIF0sCiAgICAg
ICAgICAiUGF0Y2hlcyI6IFsKICAgICAgICAgICAgInhzYTQyOS5wYXRjaCIK
ICAgICAgICAgIF0KICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAibWFz
dGVyIjogewogICAgICAiUmVjaXBlcyI6IHsKICAgICAgICAieGVuIjogewog
ICAgICAgICAgIlN0YWJsZVJlZiI6ICIzMTI3MGYxMWE5NmViYjg3NWNkNzA2
NjFlMmRmOWU1YzZlZGQ3NTY0IiwKICAgICAgICAgICJQcmVyZXFzIjogWwog
ICAgICAgICAgICA0MjcsCiAgICAgICAgICAgIDQyOAogICAgICAgICAgXSwK
ICAgICAgICAgICJQYXRjaGVzIjogWwogICAgICAgICAgICAieHNhNDI5LnBh
dGNoIgogICAgICAgICAgXQogICAgICAgIH0KICAgICAgfQogICAgfQogIH0K
fQ==

--=separator
Content-Type: application/octet-stream; name="xsa429.patch"
Content-Disposition: attachment; filename="xsa429.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogRGVmZXIgQ1I0X1BWMzJfUkVT
VE9SRSBvbiB0aGUgY3N0YXJfZW50ZXIgcGF0aAoKQXMgc3RhdGVkIChjb3Jy
ZWN0bHkpIGJ5IHRoZSBjb21tZW50IG5leHQgdG8gU1BFQ19DVFJMX0VOVFJZ
X0ZST01fUFYsIGJldHdlZW4KdGhlIHR3byBodW5rcyB2aXNpYmxlIGluIHRo
ZSBwYXRjaCwgUkVUJ3MgYXJlIG5vdCBzYWZlIHByaW9yIHRvIHRoaXMgcG9p
bnQuCgpDUjRfUFYzMl9SRVNUT1JFIGhpZGVzIGEgQ0FMTC9SRVQgcGFpciBp
biBjZXJ0YWluIGNvbmZpZ3VyYXRpb25zIChQVjMyCmNvbXBpbGVkIGluLCBT
TUVQIG9yIFNNQVAgYWN0aXZlKSwgYW5kIHRoZSBSRVQgY2FuIGJlIGF0dGFj
a2VkIHdpdGggb25lIG9mCnNldmVyYWwga25vd24gc3BlY3VsYXRpdmUgaXNz
dWVzLgoKRnVydGhlcm1vcmUsIENSNF9QVjMyX1JFU1RPUkUgYWxzbyBoaWRl
cyBhIHJlZmVyZW5jZSB0byB0aGUgY3I0X3B2MzJfbWFzawpnbG9iYWwgdmFy
aWFibGUsIHdoaWNoIGlzIG5vdCBzYWZlIHdoZW4gWFBUSSBpcyBhY3RpdmUg
YmVmb3JlIHJlc3RvcmluZyBYZW4ncwpmdWxsIHBhZ2V0YWJsZXMuCgpUaGlz
IGNyYXNoIGhhcyBnb25lIHVubm90aWNlZCBiZWNhdXNlIGl0IGlzIG9ubHkg
QU1EIENQVXMgd2hpY2ggcGVybWl0IHRoZQpTWVNDQUxMIGluc3RydWN0aW9u
IGluIGNvbXBhdGliaWxpdHkgbW9kZSwgYW5kIHRoZXNlIGFyZSBub3QgdnVs
bmVyYWJsZSB0bwpNZWx0ZG93biBzbyBkb24ndCBhY3RpdmF0ZSBYUFRJIGJ5
IGRlZmF1bHQuCgpUaGlzIGlzIFhTQS00MjkgLyBDVkUtMjAyMi00MjMzMQoK
Rml4ZXM6IDVlNzk2MjkwMTEzMSAoIng4Ni9lbnRyeTogT3JnYW5pc2UgdGhl
IHVzZSBvZiBNU1JfU1BFQ19DVFJMIGF0IGVhY2ggZW50cnkvZXhpdCBwb2lu
dCIpCkZpeGVzOiA1Nzg0ZGUzZTIwNjcgKCJ4ODY6IE1lbHRkb3duIGJhbmQt
YWlkIGFnYWluc3QgbWFsaWNpb3VzIDY0LWJpdCBQViBndWVzdHMiKQpTaWdu
ZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy
aXguY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50
cnkuUyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUwppbmRleCBhZTAx
Mjg1MTgxOWEuLjc2NzVhNTlmZjA1NyAxMDA2NDQKLS0tIGEveGVuL2FyY2gv
eDg2L3g4Nl82NC9lbnRyeS5TCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQv
ZW50cnkuUwpAQCAtMjg4LDcgKzI4OCw2IEBAIEVOVFJZKGNzdGFyX2VudGVy
KQogICAgICAgICBBTFRFUk5BVElWRSAiIiwgInNldHNzYnN5IiwgWDg2X0ZF
QVRVUkVfWEVOX1NIU1RLCiAjZW5kaWYKICAgICAgICAgcHVzaCAgJXJheCAg
ICAgICAgICAvKiBHdWVzdCAlcnNwICovCi0gICAgICAgIENSNF9QVjMyX1JF
U1RPUkUKICAgICAgICAgbW92cSAgOCglcnNwKSwgJXJheCAvKiBSZXN0b3Jl
IGd1ZXN0ICVyYXguICovCiAgICAgICAgIG1vdnEgICRGTEFUX1VTRVJfU1Mz
MiwgOCglcnNwKSAvKiBBc3N1bWUgYSA2NGJpdCBkb21haW4uICBDb21wYXQg
aGFuZGxlZCBsb3dlci4gKi8KICAgICAgICAgcHVzaHEgJXIxMQpAQCAtMzEy
LDYgKzMxMSw4IEBAIEVOVFJZKGNzdGFyX2VudGVyKQogLkxjc3Rhcl9jcjNf
b2theToKICAgICAgICAgc3RpCiAKKyAgICAgICAgQ1I0X1BWMzJfUkVTVE9S
RQorCiAgICAgICAgIG1vdnEgIFNUQUNLX0NQVUlORk9fRklFTEQoY3VycmVu
dF92Y3B1KSglcmJ4KSwgJXJieAogCiAjaWZkZWYgQ09ORklHX1BWMzIK

--=separator
Content-Type: application/octet-stream; name="xsa429-4.15.patch"
Content-Disposition: attachment; filename="xsa429-4.15.patch"
Content-Transfer-Encoding: base64

RnJvbTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv
bT4KU3ViamVjdDogeDg2L3NwZWMtY3RybDogRGVmZXIgQ1I0X1BWMzJfUkVT
VE9SRSBvbiB0aGUgY3N0YXJfZW50ZXIgcGF0aAoKQXMgc3RhdGVkIChjb3Jy
ZWN0bHkpIGJ5IHRoZSBjb21tZW50IG5leHQgdG8gU1BFQ19DVFJMX0VOVFJZ
X0ZST01fUFYsIGJldHdlZW4KdGhlIHR3byBodW5rcyB2aXNpYmxlIGluIHRo
ZSBwYXRjaCwgUkVUJ3MgYXJlIG5vdCBzYWZlIHByaW9yIHRvIHRoaXMgcG9p
bnQuCgpDUjRfUFYzMl9SRVNUT1JFIGhpZGVzIGEgQ0FMTC9SRVQgcGFpciBp
biBjZXJ0YWluIGNvbmZpZ3VyYXRpb25zIChQVjMyCmNvbXBpbGVkIGluLCBT
TUVQIG9yIFNNQVAgYWN0aXZlKSwgYW5kIHRoZSBSRVQgY2FuIGJlIGF0dGFj
a2VkIHdpdGggb25lIG9mCnNldmVyYWwga25vd24gc3BlY3VsYXRpdmUgaXNz
dWVzLgoKRnVydGhlcm1vcmUsIENSNF9QVjMyX1JFU1RPUkUgYWxzbyBoaWRl
cyBhIHJlZmVyZW5jZSB0byB0aGUgY3I0X3B2MzJfbWFzawpnbG9iYWwgdmFy
aWFibGUsIHdoaWNoIGlzIG5vdCBzYWZlIHdoZW4gWFBUSSBpcyBhY3RpdmUg
YmVmb3JlIHJlc3RvcmluZyBYZW4ncwpmdWxsIHBhZ2V0YWJsZXMuCgpUaGlz
IGNyYXNoIGhhcyBnb25lIHVubm90aWNlZCBiZWNhdXNlIGl0IGlzIG9ubHkg
QU1EIENQVXMgd2hpY2ggcGVybWl0IHRoZQpTWVNDQUxMIGluc3RydWN0aW9u
IGluIGNvbXBhdGliaWxpdHkgbW9kZSwgYW5kIHRoZXNlIGFyZSBub3QgdnVs
bmVyYWJsZSB0bwpNZWx0ZG93biBzbyBkb24ndCBhY3RpdmF0ZSBYUFRJIGJ5
IGRlZmF1bHQuCgpUaGlzIGlzIFhTQS00MjkgLyBDVkUtMjAyMi00MjMzMQoK
Rml4ZXM6IDVlNzk2MjkwMTEzMSAoIng4Ni9lbnRyeTogT3JnYW5pc2UgdGhl
IHVzZSBvZiBNU1JfU1BFQ19DVFJMIGF0IGVhY2ggZW50cnkvZXhpdCBwb2lu
dCIpCkZpeGVzOiA1Nzg0ZGUzZTIwNjcgKCJ4ODY6IE1lbHRkb3duIGJhbmQt
YWlkIGFnYWluc3QgbWFsaWNpb3VzIDY0LWJpdCBQViBndWVzdHMiKQpTaWdu
ZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy
aXguY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1
c2UuY29tPgoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvY29t
cGF0L2VudHJ5LlMgYi94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRy
eS5TCmluZGV4IDVjOTk5MjcxZTYxNy4uMDlhODY3NjhhYzAyIDEwMDY0NAot
LS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TCisrKyBi
L3hlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0L2VudHJ5LlMKQEAgLTIwNiw3
ICsyMDYsNiBAQCBFTlRSWShjc3Rhcl9lbnRlcikKICAgICAgICAgQUxURVJO
QVRJVkUgIiIsICJzZXRzc2JzeSIsIFg4Nl9GRUFUVVJFX1hFTl9TSFNUSwog
I2VuZGlmCiAgICAgICAgIHB1c2ggICVyYXggICAgICAgICAgLyogR3Vlc3Qg
JXJzcCAqLwotICAgICAgICBDUjRfUFYzMl9SRVNUT1JFCiAgICAgICAgIG1v
dnEgIDgoJXJzcCksICVyYXggLyogUmVzdG9yZSBndWVzdCAlcmF4LiAqLwog
ICAgICAgICBtb3ZxICAkRkxBVF9VU0VSX1NTMzIsIDgoJXJzcCkgLyogQXNz
dW1lIGEgNjRiaXQgZG9tYWluLiAgQ29tcGF0IGhhbmRsZWQgbG93ZXIuICov
CiAgICAgICAgIHB1c2hxICVyMTEKQEAgLTIzMCw2ICsyMjksOCBAQCBFTlRS
WShjc3Rhcl9lbnRlcikKIC5MY3N0YXJfY3IzX29rYXk6CiAgICAgICAgIHN0
aQogCisgICAgICAgIENSNF9QVjMyX1JFU1RPUkUKKwogICAgICAgICBtb3Zx
ICBTVEFDS19DUFVJTkZPX0ZJRUxEKGN1cnJlbnRfdmNwdSkoJXJieCksICVy
YngKICAgICAgICAgbW92cSAgVkNQVV9kb21haW4oJXJieCksJXJjeAogICAg
ICAgICBjbXBiICAkMCxET01BSU5faXNfMzJiaXRfcHYoJXJjeCkK

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 12:21:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 12:21:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512582.792541 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peazD-00087n-2I; Tue, 21 Mar 2023 12:21:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512582.792541; Tue, 21 Mar 2023 12:21: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 1peazC-00087g-Vu; Tue, 21 Mar 2023 12:21:06 +0000
Received: by outflank-mailman (input) for mailman id 512582;
 Tue, 21 Mar 2023 12:21: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=oKE/=7N=citrix.com=prvs=437062dd9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1peazB-00087a-Nv
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 12:21:05 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d8ace678-c7e2-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 13:21:04 +0100 (CET)
Received: from mail-co1nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 08:21:00 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SN7PR03MB7058.namprd03.prod.outlook.com (2603:10b6:806:353::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 12:20:59 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 12: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>
X-Inumbo-ID: d8ace678-c7e2-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679401264;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=RjLxWxBX2FlI+vCKPPgm0AeutULjUDatqgPLyRR/Cx4=;
  b=Wa8nh0+8rKSWaaCPUpXwFx/rINnDc0VT8mTjF3hXlOV+E2XFY1b3wyRe
   d5epiJ0URaFbFAgkTSllp2iapwo/EeoL724mzI9e/bCDVqB//QEwIdT8u
   IxnYre9HR6yb/mRBy7N1mJ8UqIeE8Uxiu/us+PUtijQDiNh93aFEJXuhf
   I=;
X-IronPort-RemoteIP: 104.47.56.176
X-IronPort-MID: 104113848
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:7CAhWKjK5r2v/AWxia8JUp8WX161CRAKZh0ujC45NGQN5FlHY01je
 htvUWDSbPyDYWbzf9Agadm2/EIP75SDxtVrHAM5/H0yEi0b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wWHzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQjczA0RDSG39mI+7W2e+lKmO58F9H0adZ3VnFIlVk1DN4AaLWaGuDhwoYd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEvluGybrI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjBNtLT+3kppaGhnWc3kA3BRErf2KQoMb+hneRZ5VZD
 FQbr39GQa8asRbDosPGdwexsTiEoxcaVPJZFuF84waIooLW6QuEAmkPThZadccr8sQxQFQC/
 1uEj9rvCTF19pGYVHmd+628pDa+fyMSKAcqTi8eTBAZ4tDl5qI0gxTOQf5qFaLzhdrwcRnL3
 z2VpTIiwZUSicIG3b+y+1zvijeg4JPOS2Yd7BjNTGuh6Q9+e4eNaImh6Fyd5vFFRK65SV+Ou
 HUFwo6+8ekIArmEkSDLS+IIdJmL+vKEOXvugVdpELEo8jjr8HmmFahy4Sh/LUEvGcYJfxfgZ
 UOVsgRUjLdIJ2ejZ6JzZ4O3CuwpwLLmGNCjUerbBvJeb540eAKZ8SVGYU+Lw3urgEUqibs4O
 5qQbYCrF3lyNEh85D+/RuNY2rhywCk7nDrXXcqikErh1qeCbnmIT7tDKEGJcu0y8KKDpkPS7
 spbMMyJjR5YVYUSfxXqzGLaFnhSRVBTOHw8g5U/mjKrSua+JFwcNg==
IronPort-HdrOrdr: A9a23:/sDPeKC2TxuWMVflHeg/sceALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPEfP+U4ssQIb6Ku90ci7MDrhHPtOjbX5Uo3SODUO1FHIEGgm1/qa/9SCIVy3ygc+79
 YGT0EWMrSZYjZHZITBkW+F+r0bsbq6GdWT9ILjJgBWPGNXgs9bjztRO0K+KAlbVQNGDZ02GN
 63/cxcvQetfnwRc4CSGmQFd/KrnayAqLvWJTo9QzI34giHij2lrJTgFQKD4xsYWzRThZ8/7G
 n+lRDj7KnLiYD39vac7R6e031loqqu9jJxPr3MtiHTEESttu+cXvUvZ1RFhkF3nAjg0idprD
 CGmWZbAy060QKtQojym2qn5+Co6kdT11byjVCfmnftusr/WXYzDNdAn5tQdl/D51Mnp8wU6t
 M+44u1jeskMfr7plWJ2/HYExVx0kakq3srluAey3RZTIsFcbdU6YgS5llcHpsMFD/zrNlPKp
 gZMOjMoPJNNV+KZXHQuWdihNSqQ3QoBx+DBkwPoNac3TRalG1wi0EY2MsclHEd849Vcegy28
 3UdqBz0L1eRM4faqxwQO8HXMusE2TIBQnBNWqDSG6XZ53v+0i926IfzI9Fld1CIqZ4s6fasK
 6xLm9liQ==
X-IronPort-AV: E=Sophos;i="5.98,278,1673931600"; 
   d="scan'208";a="104113848"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AoKiFESH8TwSR5jr8tmoPbx0RNbjTuG61rELXO8VEQV8K8kgTAyt3gdwuxlbliq6Y1RfWYdhPEd1ez6MnQE8kDHfjRr1rlNYwvwkJRHACVHV8zHXKctvCUThOvSmePkQbz/JXWB7VU7dZZis57TdyOPAYUuLX/jgCpqYQw9YTMA8CvKWUBSBxkSD3V+PjA//G3umkUpNXAtX9EcNNHWldThZ106gKT44eJYo5Wg1QgQaf2JWD22pkFevMJq6/lmp6JufB9yEuqHu55fIlnyO2+nIUSAJ1E4rb380kF6S0X2+gLT3LatoDh7NtUEkECRWWX9u5aCK2wuQ7vCYhF8dcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Mphh6myKqhkw1jrGBoQ+QE7HbFwLDebccK1H7a1gCig=;
 b=l3mJLvjbLWqiTeLK/YUInXJ0+u/3lNdEeVPTLKo5awfJvZxGQlCsk5qTFG+9tcTMA2JWJCLJEXNxmIhtpDdYbLGYiPwqLQ+7tG/qlkD/LtdeiSYknH8BFg24tJDxIoHk7i7VDIRCcEWs+mswDp6tAxd6VngQs+E4Q3ntoyAoE11HogBskirwnbVdMkklLzunpfPtmbi+xuEl2KqoSplzOgbVwMX2EtKGhpI97/CHRm/89YdtaEIh0a+vQG91mtN2D3hdTrPS1CAkMeqAivAwkcXN3voBcW+ZxFkSMqMR74Owso9TQbinxgHr+US+8wA6GtuMrRPJrPYYl9R7OzVohw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Mphh6myKqhkw1jrGBoQ+QE7HbFwLDebccK1H7a1gCig=;
 b=w6XxOQTr7wmkV3aEEJlvA3E4aRNe70lXcgf3oO8diCLapyVz/1LhsvBVgGTRvTKuQHY+S3TjQVD2r7oJf83LvjG9JtdLvT9SwYOBIulmqWX1NdwTR44nroRp4A+GmLj4J3SuCiEGZfulawzJ3NMW+nJErkXvqPKrpcgJZHTqAeg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Mar 2023 13:20:53 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Huang Rui <ray.huang@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZBmhJfBPtdLPi7X/@Air-de-Roger>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com>
 <ZBl6iU6T1CsWqVx9@amd.com>
 <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
 <ZBmDl8XjIos57EIy@amd.com>
 <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
 <ZBmZxnyZWrni57Ry@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <ZBmZxnyZWrni57Ry@amd.com>
X-ClientProxiedBy: LO2P265CA0236.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:b::32) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SN7PR03MB7058:EE_
X-MS-Office365-Filtering-Correlation-Id: 63d35e30-b103-46f0-6571-08db2a06ba4d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+WK12ynwRckkmgSE8nSSbdq/SOoUYy5kvqNZ4irU3hpBI63nMWG/rqxS4OAzKAvqjGGDV9kzr3zfN/C90WIOxbXw5CK2iaDkM4kkVXicxDNueb5ZQyfhwqgbCmYGxSDhH0TYwZ4TlBfNMt4hSBa33kHGKOIGhxinBij0+wZcxwUJ3FLAXS231eWd5rL9RzEWaUn2uv1v6j4D/dMGAzc/kB6lxu/i9Hy9u4oCt4S6rbHgFTu2pdtXdFZ36s7aXis8gwpMnmHfb+/ghP/3cYcl3xSvdvvdWLK6em3dcgzYOfjyWnay26wBIk9t7Yzp+Y5Pu7MIMC+Frd8tOhVGNUiM87IfDrhJn9G/NZDA3Xid+UX+mXU1zKeYxdejWHQQg+61ddYfsNSHIbhM7RMVTpW3ORz5gNvZqEJLrotSdILZ4DgvoFd+h+NsRwDWKPj1L4H+sDTIsPC9EkeJYjQF5Rvvw0o8o9semVryZIyCLbz0FJWI5d2A8MJFmNMg1bdTCstXJ12FvioixIlcdu5gdWXB7QNu9TIXPHUz5ynwqmaIfvdyS7WT1WCjFOzXeA2nGZbTKf7qFGhapGuX7G8s+ZvzsIW35FQNGRr4X99NjCT2AYZqgENXvLOvKfzjL1D0eKDP0WghrPDf9QX+VvvHA6J0JA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(136003)(396003)(366004)(39860400002)(346002)(376002)(451199018)(6666004)(186003)(9686003)(478600001)(26005)(8676002)(6486002)(83380400001)(6506007)(54906003)(6512007)(53546011)(316002)(66556008)(66476007)(6916009)(66946007)(8936002)(5660300002)(41300700001)(7416002)(38100700002)(4326008)(82960400001)(2906002)(85182001)(86362001)(33716001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T1hNbjFERlZneGlnb2tCV1JpU1RoV3ptZWdwbHNBVGxmR203WDJzNFZvdkVs?=
 =?utf-8?B?bHpSN2t6UlJXeFF0SE1UdnBrOWtUTFJnNUxvM09sMkdtQTBKc0dLaVFPc1JO?=
 =?utf-8?B?TWE0RGJKb21UQzFDTHlMRnppOWlqUjdtUzllWENWQnNFUFpqL1NJTjhjc25l?=
 =?utf-8?B?b3dMTlJPbjhmUEhldGp4Yzhha2lMWGJySUpMMVVIQnJJdkpONkk0MzJubVNa?=
 =?utf-8?B?QzJRK2xmTVJsUEI5bTY0NXdMcmNnSHltckJ1RXk5eTZmdjd4RWkrSFhiTHQ4?=
 =?utf-8?B?MjRrUnQxNG9qamxMZExjVGRUMStuSG1HWmEweEo0eUtzb0ZQaVl2Y1FxQnd0?=
 =?utf-8?B?VlM1eVVVT0hDdXRGUjRDUHFQL2lMUVUyLzA3M0tIVHN1US9sS0kvVzNlc2pm?=
 =?utf-8?B?cUJqQlRGdXFSbWEwTkV4MFBlMjhiSkpsQW5yR2ZqYVBEOG9XVUs5T3BYYVZN?=
 =?utf-8?B?bnV0VEluR2FnakRRY3JCOGozTnJEL2d3TEZZMWNSTVR5SHJRSU1aUE8vbThB?=
 =?utf-8?B?akhaNHIrdXBVRTFzZzA0RzducEcxbFlVTkh4OElhSmNXeXVYUFlycmNhaFZ4?=
 =?utf-8?B?ZHNMT0ZUYlRyWlRUUndrWnJjTmRmTlVJOXplL2VnYVoxZnlPcnJ4eHNPQUIy?=
 =?utf-8?B?OGR4eUJvdnNpa2c0ZHNCYWpnS05LOGNGUDJPbkRiblBDaEI1ZTdBWjZXWVdh?=
 =?utf-8?B?b1FSZld4a2t2OFFpdW9tNm9uRVhzaUFwK09OKzNhVTlYMEZ2ZURzZlJYNEFm?=
 =?utf-8?B?NkxYTTJYc0VQM204U25NSUtXekxvWWNnQWZsdGF5SEtSS290akZGWFdzcDdz?=
 =?utf-8?B?c2ZkUDlHMjNzRlUycFpHelRLUUVYdjBvREh2dzhwN096a3B0R21WQUhSSlZ0?=
 =?utf-8?B?YXZZSnRnc0t1UStvTWdEeXBNd3BONENxUkNEK3hYUmVFeGRWejhNUHlubUFm?=
 =?utf-8?B?WW1iYkR1QlVCTm1Dajg3NXBGSVBycGkvQ00zdjZ0TnkyZ3VvQlpDUDZacldo?=
 =?utf-8?B?Q0V0K2dpa0FuRHppS0JET2lpejhUalZ0eTduSjJRbGpmRVFnYnM4RjQ0QTl6?=
 =?utf-8?B?TFp5Um8vVTBQMDR0M1RIMmRMNWM4ZzlBOG9neDFrTWNoVmVYYWdGSnlQTitq?=
 =?utf-8?B?ek5iT3hFR29KY00waU9Id2pjTWFqZXRRRHE5UG5ib2QzeTVoK3hpSlBubVRK?=
 =?utf-8?B?Q1l6dmt2YThwamVsNkcyM1FHQkcwcnI4ZjJjbVBqOXBiUG5keXA1QkR4ZDNh?=
 =?utf-8?B?ZnVhS0x5WW1mZGUzaDBYK1lhOHRpU1N5WnU1UmJOOWFmcVRCMTBtRTdZVEx5?=
 =?utf-8?B?K0xsWnZzRDViVEZ5cjhmYnlZbHZpU29aRjd1N3Uwa2R2QmF6bmNXbmRSL21z?=
 =?utf-8?B?NVJ5NlZnNEhUNHZRRDN0SFJwZXdOZ2htR25RaS9lRCtwYklLa1ZaSWI4Q3VO?=
 =?utf-8?B?bm9kUGZCK1NHVm5YYmN4aHlWcnczK0dmeUYwL1JEcTlUbXFKWkJFZmVRL08z?=
 =?utf-8?B?UEpmY3BGZjVOZXpnemU2OEZMK2x3QkhFeTk2cExaVEZMWENrc2huRGhwU2VD?=
 =?utf-8?B?RE9ET05OOHBKR2dUNy9RbVF3RUwzdE9rcDlnbU9SNEQwMEhYcDVZcHlEaEU0?=
 =?utf-8?B?WmhoUFIzVFQ0cmV2U05WMWhaS2RIVnVOWDl0dlpSaVhtNTZ3Zlo3NzZYYUtv?=
 =?utf-8?B?dENMQ29OakhhMHBONXlqRkxqb0grN2tWNnFMdFBoTXFTbWoya1dXU0VXWHgw?=
 =?utf-8?B?dTQ5WWZlWmxKci9zQllOTzRWS25YMC9UWGZTNTlDeVJ1ZlQ2OFZ1N3NEa2pR?=
 =?utf-8?B?TEM1U01rdFZvU2ZNV1FwQUJpa2ZORnIyZlpzN21LYlZmV2wxMVBnV1JLQzM4?=
 =?utf-8?B?L3o5SDI0bVRmc3FoR3ZZa08vWWlZODZWUlJ3ODd4MExlRDNtK0FzRldyemZX?=
 =?utf-8?B?WnA1b2JCQ0pUVjBzRGVIbHZYOGpxL3NMZWdxOG16RUJBL2ltS25MTUR0bzhV?=
 =?utf-8?B?SGVqNVlsaXpJUEVYWmJheHNvNHVqdFdUcTlyWjA2ZzRZYjZiRG8rVytoNnVU?=
 =?utf-8?B?Y1I4Vkl5WDdqWVM2dnZoR1lWVzlhNzRSbVdCNVRSdWNxVmF1WUllMkVFbGdL?=
 =?utf-8?B?bW1kSnJOUVFTeWpOV3VVQkNaK0NWWjBPQXl6aUNIWWt3cWpSOTU4bmhhZE5C?=
 =?utf-8?B?ZlE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Gdt5cZsH/dl3QOPIA9OHfqYuKlgHjHIsYsacHWuG4sphefqEn9MnkH1lWt4BDodEcVc4yYpB9bJE8aMjr0A76RHg9hfKIN+9hPiOYCr2a5ettkcxyrOZ4RV3QY1PDXnjMYSODP+TciykndAnpyXJ2/PcNiw+YJi2vtcW7M/9w2KGNXPhiy2zwT7ACnooVvmfYwAvZmhowH79Y4QBgXxJcYF5tf4e6R+TASGXlcOfaBoZ1S/sFI4E1vDlSA90B8iXeW4bzocgjcznxdH8PE613syEwBdSgu08Cw9u0muxeaf3Cayri4WSrI/8fe/Zt1T6g3htuPVFzSCHhhCgG1cu/y0T3FFvZDvPsq8jpI3ehJ/jmLnt2el2snrqegx+Xu3zK26H9uKfIxrLcnxSd7G8WHy5IAnC3Oo7FR2Lzy3XjbiEabRUkIW27hP+TGjWjk9Zys9TPDpn0cWS51bOKAuiS+Z77pwM0LRXZ8T2K9C6Uw8CpfCcajMDZNHqYYxa+cv2Icqw5efoSng5Eu7QSKjXyl9wcivgDc7OJv7tSsr6Ej0yz0p42//LhfD0SymEOWhM05stLvHemTQLgDSLBo+8oiYPFFUp8//kpOAFgazRNNOmDBurrU1Hl26Ptud5W7fIYrxHFf01RMV/zzJWIyaRnhJcL7p8pP4b1GRf08NhcvW1bCGpRX7AAwcCPOEUEejLwKVmRJNXB8kk824QTO9hgc39cq1l+VbwQrEZ/UIRnHP3De0RxsyhtWznG/L6RelLZ8I+MOJ3M6R5KmxpPLYzgyyLiBcGvYAN+CrrXTp9c0s9t4cu1ETl0LVDj84i86wFYzo2ZENvE1AsNt9uYzvDXaKdyNGZ6jUT+qmzN/6lS2S8Ex4kesTTTPU5x8M6nV95
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 63d35e30-b103-46f0-6571-08db2a06ba4d
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 12:20:58.8736
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hef5/41JcP4TiuSw+Q50BMW310ZR4IpZ0cb9+0amfnxTEZ6VIFYrQngJiZr7nB8DSDEXFC7J4zHJXopE0v+QRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR03MB7058

On Tue, Mar 21, 2023 at 07:49:26PM +0800, Huang Rui wrote:
> On Tue, Mar 21, 2023 at 06:20:03PM +0800, Jan Beulich wrote:
> > On 21.03.2023 11:14, Huang Rui wrote:
> > > On Tue, Mar 21, 2023 at 05:41:57PM +0800, Jan Beulich wrote:
> > >> On 21.03.2023 10:36, Huang Rui wrote:
> > >>> On Wed, Mar 15, 2023 at 12:02:35AM +0800, Jan Beulich wrote:
> > >>>> On 12.03.2023 08:54, Huang Rui wrote:
> > >>>>> --- a/xen/drivers/vpci/header.c
> > >>>>> +++ b/xen/drivers/vpci/header.c
> > >>>>> @@ -392,7 +392,7 @@ static void cf_check bar_write(
> > >>>>>       * Xen only cares whether the BAR is mapped into the p2m, so allow BAR
> > >>>>>       * writes as long as the BAR is not mapped into the p2m.
> > >>>>>       */
> > >>>>> -    if ( bar->enabled )
> > >>>>> +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
> > >>>>>      {
> > >>>>>          /* If the value written is the current one avoid printing a warning. */
> > >>>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
> > >>>>
> > >>>> ... bar->enabled doesn't properly reflect the necessary state? It
> > >>>> generally shouldn't be necessary to look at the physical device's
> > >>>> state here.
> > >>>>
> > >>>> Furthermore when you make a change in a case like this, the
> > >>>> accompanying comment also needs updating (which might have clarified
> > >>>> what, if anything, has been wrong).
> > >>>>
> > >>>
> > >>> That is the problem that we start domU at the first time, the enable flag
> > >>> will be set while the passthrough device would like to write the real pcie
> > >>> bar on the host.
> > >>
> > >> A pass-through device (i.e. one already owned by a DomU) should never
> > >> be allowed to write to the real BAR. But it's not clear whether I'm not
> > >> misinterpreting what you said ...
> > >>
> > > 
> > > OK. Thanks to clarify this. May I know how does a passthrough device modify
> > > pci bar with correct behavior on Xen?
> > 
> > A pass-through device may write to the virtual BAR, changing where in its
> > own memory space the MMIO range appears. But it cannot (and may not) alter
> > where in host memory space the (physical) MMIO range appears.
> > 
> 
> Thanks, but we found if dom0 is PV domain, the passthrough device will
> access this function to write the real bar.

I'm very confused now, are you trying to use vPCI with HVM domains?

As I understood it you are attempting to enable PCI passthrough for
HVM guests from a PVH dom0, but now you say your dom0 is PV?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 12:23:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 12:23:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512587.792551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peb16-0000IV-Dg; Tue, 21 Mar 2023 12:23:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512587.792551; Tue, 21 Mar 2023 12: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 1peb16-0000IO-Ag; Tue, 21 Mar 2023 12:23:04 +0000
Received: by outflank-mailman (input) for mailman id 512587;
 Tue, 21 Mar 2023 12:23:03 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=gvkR=7N=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1peb14-0000IG-QD
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 12:23:03 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20619.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e36cbad-c7e3-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 13:23:01 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 SN7PR12MB6912.namprd12.prod.outlook.com (2603:10b6:806:26d::5) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.37; Tue, 21 Mar 2023 12:22:56 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 12:22: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: 1e36cbad-c7e3-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OIjbrWx3eZmcwFf0/GonipsgAk8YaYPBKyGLYzIqfg+ZwJK/VSQvgUq4JmD8vvgW0JXxne4Rad6SKjEiPbjuF+bd5RcYMtabL6Cyi25QJnKQsqGd4UXDL7JCkel+n/ThMFkdKWGI+uaTc6Zw8RI2Vhm/OViUCF1mC02uPiMfN/f36hxnkSmSjI5vSzzqU+8mwNl4gakfdg4uKHLprNtctL+aaUWVtbKftWtm+EMgLgEukdYXsbiORtDWxQGubimlRTuPqCizOCExwRf+V3JxZvzN8eLhc3F6RQo6+7B9l1cwQI7kbBfug7oTfQ3Q0guSm1T9WoMdAOXLdiYQEg6kCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UGgYn+wNjM5yjTo/02eNpIuzXSxxPxUypxrk+F7jdn8=;
 b=WP3x8X8WsWvVK/KEPnZXMUuL1xD2pcSA21qsLl7WcEeC4AhlsURZQ5RM546qE/TYCIA1vj40eqMZ7Md7OcV5/cYEX+Wyt76rerw5MAKcT71NVpft6fZQRqZDALBNRiun6BNvh1/ayzXi7LHM9O5vSGE4Wwn9jpQwsjOXbWMtWxo9aG/YQRJeHH+Xr6vrDys8wUpc/kfrs5K1tvoJdB/4D3zDEfjD5BEBnoXqQWiPcIOvNLbpUo4gqiUZFsyfdEUjrMlUUuCUpj0d6e0OyKaQ4olDbqwTLT+5TcvkSPYRTMrIzeMfokGolakkYNjqmJsSKETjrddnclhPUYKWeIaDvg==
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=UGgYn+wNjM5yjTo/02eNpIuzXSxxPxUypxrk+F7jdn8=;
 b=LhfB25RWhPq1mEQg/M8e8zkGqmFHzwEAtCNPqrTepRZIwskRv1VBy5TaJ28EfbO/oc1Faf8jFSe85wgwVYCpPrOznv5/+gnGITUwEMYEmEPrAAlpbDaDLYVMbO3afv98lLtmHrJKJdL0BYq7g1OkFyBp7Kjt6KVznsZvALYILiY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Tue, 21 Mar 2023 20:22:28 +0800
From: Huang Rui <ray.huang@amd.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 4/6] x86/pvh: PVH dom0 also need
 PHYSDEVOP_setup_gsi call
Message-ID: <ZBmhhHT8P5wUjxX6@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-5-ray.huang@amd.com>
 <c51bcc5b-4f90-5651-de3d-df47bdf4a04a@suse.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <c51bcc5b-4f90-5651-de3d-df47bdf4a04a@suse.com>
X-ClientProxiedBy: SG2PR02CA0138.apcprd02.prod.outlook.com
 (2603:1096:4:188::12) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|SN7PR12MB6912:EE_
X-MS-Office365-Filtering-Correlation-Id: 8f2da7cd-666b-4eff-289c-08db2a070053
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5yx06cquLRJBYIDWyrkO/hED7rg3M9P65dB3jhOEHoh6OjGbsoClZ6AOUDEeKhwxdihc2cIy3urMMiPfAekc1icv4s0fukUHqNBQMntXchU26jc/PNUPH58IiskUW6a+e9ry5ldnKIsdY+CG8q8AINU0//Cfc+EA8fDWWoV7y7ZYIjk792IJKDe/xeLHUvJP0mb1klo6cqoRcbUBjMcpoC7HqiLT9Irw/0I0s5O2fCJ2sGD3tqcJQnBbexhPU/bvUpCdDqFBjWM8UIq2ExPCBlSVeCr6VIWBDBw/HSZYyFC7S0z4ghWk+BUI2Kd1Gb8azZ8xVwLIJMb/G/fAvYnJfkxbYGsUhAp6gRqQTcb0cjjKVOzsugfzOsR7XgorKCiq8kgXGcQ9RAzT0IQPWqbVBPDhsbV1UI6HGv1NYYE0S0h6PfZE+QBHwelGoBvZAEteCITer+cXrJG6TQ+y9ZHVFjHY2E5hCe0XJz2PH3SKKNe9UZ/4HvysNqdCjlK9de0AkluWNdOQO1RZKVfyjDtJ1x0kzuYo5X/ZgdXyX1IXAS6VvuhTUXM7gdkuuJondyytaQUFWB72/DfW/I17Mp0voyEg+BWJwPVuBxuNPn5yfkDRDwBt2j78m0S0VEiKxB9K5KQ6KHNjXzIViTKb3Hpy2A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(396003)(376002)(39860400002)(136003)(366004)(451199018)(316002)(54906003)(6666004)(38100700002)(66946007)(6916009)(8676002)(4326008)(478600001)(66476007)(66556008)(6486002)(2906002)(41300700001)(2616005)(86362001)(186003)(26005)(6512007)(8936002)(5660300002)(83380400001)(6506007)(36756003)(53546011)(4744005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?SmuSCK7FYzU5KLXrLY8UCCSt5u6zoOKBJFIBRrBRIywew1cZYGaeO2jOE4VV?=
 =?us-ascii?Q?OL0kU0FkzW1VTYFkTGOfeTOEr8QfHCEw4ETj1BLJrcYXI6o5366TX7D5TuKG?=
 =?us-ascii?Q?HHPiloVHQ+MgQMY1qUR53zdf/WD46NlyM/wue+Hc2ePb7UPpik+zq0prc/pf?=
 =?us-ascii?Q?tU0RGiCTVAhf8s1k3ECfLsH7m/fL7Lb28wv2TRN56TKMtIkYNGYfsoRPPDqc?=
 =?us-ascii?Q?k3TERuqai8TM+05iA7jWZEy8cT8355n24GZziixVfe1UtRZLuLkcgrafhWDm?=
 =?us-ascii?Q?LK0BIL8DqOgcfEEhCXjL5NMq7cbSuh4jrIdXdMP0rsxBHnUf+kD9+0OzkIJ2?=
 =?us-ascii?Q?UDaix/+rthkol7n7NjJjhpFKzARdqrceRNj96/M4qIwHmTRJiITneBsPrvw6?=
 =?us-ascii?Q?C4dn+eNC2SoxtPbBP9W1Crp6wCsTClLCh5VWp8uhLDJ1s3yzW6Q5H3tw8ZXN?=
 =?us-ascii?Q?wBYVSFX0g5t30uet2wANieEg2P0KI7vnUwQRLXUeTfoRZW7UcPitZEWX6hSk?=
 =?us-ascii?Q?NDn7+QpkLLLm3cbzZ2WiNInUnWNa1XrMgXYdp8xr9BdneUY3vvzCH8BS3+Iv?=
 =?us-ascii?Q?O7//Q+tGbq4whIss4PD4DMkPlFeDSUSK+8CrkaSKo+HKysgc/1aq2A/Y6hUB?=
 =?us-ascii?Q?j+5U3YqSezZexttwJ3FCKieGsrguG/VeVozBrvzKbol3XcmXTE+yKTXCMmUQ?=
 =?us-ascii?Q?O2MXTbxnYfM8nM22bqmqCI8Zn4ktNIE60SdVuMrljYYLaNZJKlNDBmVeKEuJ?=
 =?us-ascii?Q?8GaA6Zvijf1LFOfz46FM8VWqUBxuGefIsTrdtOKIvVdLr4dl3zcZjAm0jaIf?=
 =?us-ascii?Q?skena28KFmwTV1P+exc7cV4SNRgZVf1CUZWYfAqNOBD9V9VhM5UgLH+ra3J7?=
 =?us-ascii?Q?BXnoYaHzDn6n9Dbk440yXPBjIflQsKALfNIFJUFjkRqbI9BQPyD53c1BH0RM?=
 =?us-ascii?Q?q/u3QSJdLk7YeQU2oG9/6PZ2IMU9Ge3BNYafeRL9Ni956o2aiXHwG5U0u7SJ?=
 =?us-ascii?Q?D8dAx0n1RFlMB9JkxOzxmp5AODq9ftC6EpRSbTQfPRt7s+OmbR+veuDQmKQR?=
 =?us-ascii?Q?FKggQ8AHy5VUIJo2x4j+zT/vIZcwt8tdCpCHeWm3C4Pm4DctC2NZbdJAJzJj?=
 =?us-ascii?Q?/ZniNfqbR49QIpxJ7l3tf9cstMeKiop9BY3nLHcUb3OVJ5iDb8xsaqLC7Ebg?=
 =?us-ascii?Q?D+SjWVl1XoshCCwRPYcdZ0hWy7Lnn89scP93coyrABtUMoRXFVqzxV72L2jz?=
 =?us-ascii?Q?Bn0ud6OBE1I60EAbLUzYJcWA44sBfeqeiRrJ11t2a2uT7pdhdP5KD/peVSdG?=
 =?us-ascii?Q?iyd4jFvZwxcl/tCiEL0np5zyV9zADio+Vq/ItkHBrd7pFeqOPrS5Ychp/noH?=
 =?us-ascii?Q?WGYrp5pc9AyLLHDCDFGKWdtQxKXtEx3k4SHg/+ZEOqNW9MASUgeR/MzmLvNX?=
 =?us-ascii?Q?zM6qJsfsw5pOaUTwjzdn8caVJP7Zbn50PADWp8nhPfi9Vne7hNlp2rj+ywMY?=
 =?us-ascii?Q?EdTct2ZOBQ4P1HYe8Y1CpH0WEZ2ej0VlaQMqKgtW9HrxV8Ztd2MS6bIeCWb5?=
 =?us-ascii?Q?NtIM1H6EQosntfku0eEs2QjJRO71KmKIsXvUkjJd?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f2da7cd-666b-4eff-289c-08db2a070053
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 12:22:56.3519
 (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: w3ySoJw0NeZ3Nz5ZVvgliIHa5Z9pPVjCGFn7poExwU5qrSpVAu327aelOQY29U2cqJHWcIEWFS1U0WRfjUYlPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6912

On Wed, Mar 15, 2023 at 12:30:21AM +0800, Jan Beulich wrote:
> On 12.03.2023 08:54, Huang Rui wrote:
> > From: Chen Jiqian <Jiqian.Chen@amd.com>
> 
> An empty description won't do here. First of all you need to address the Why?
> As already hinted at in the reply to the earlier patch, it looks like you're
> breaking the intended IRQ model for PVH.
> 

Sorry, I used a wrong patch without commit message. Will fix in next
version.

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 12:26:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 12:26:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512590.792561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peb3o-0000uX-RL; Tue, 21 Mar 2023 12:25:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512590.792561; Tue, 21 Mar 2023 12:25: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 1peb3o-0000uQ-O4; Tue, 21 Mar 2023 12:25:52 +0000
Received: by outflank-mailman (input) for mailman id 512590;
 Tue, 21 Mar 2023 12:25: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peb3m-0000uF-Qr
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 12:25:51 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20612.outbound.protection.outlook.com
 [2a01:111:f400:fe12::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 835ebe2d-c7e3-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 13:25:49 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7802.eurprd04.prod.outlook.com (2603:10a6:10:1f0::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 12:25:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 12: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: 835ebe2d-c7e3-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B+2HSoMlMzUiWrR8nrt0T/+WgDfROa/EcolIVp/36e6W5p7wIUWOCDJY6CDr81SJOdfiH78QsV7r3g2srr7J8pA87+xJuRf/lisH8jLjPR1fkwetRdDoCMcANibPlkqz9HcJkJtSsXvtjjM5z5ZxXmTSd9QJJOENw4zuOOfdCk2DkIqpGOc+WH0XSGUN0Q1utnNHl1iBQGml8NBLILieA45ZKv/Mq5ElTWUjvkb4xQfG1zfF+ZiJrDnESiLvNOF1eQy6vjk6w3JvXGDeZF4jClJ8wboZ761l4X4vAUU/snLz93NmT4EJ4Kncwva4y6RQ6Qf0giiOykLmGF15NsTYSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vlIaqC24WMIFu8eL1diLFlepMfSKBdYGNtCaSxkvIYA=;
 b=kjTwffTMAX1cEEmQjG7Yo040QFawN4xb2NA4uGOnIQyHr80SH3AmgcnQ/rchcjSS4EsPi6T82muEc5P33RC1EIICyUvhqz8brjvEFsNS0mAft3ZsqxpnIGYLTgcW43Held6d/vESbxYodOVVLzN5Osvq4Lr4EVGHnRRpVPb+fufdnjp2WBjVB0D4Oz7j3yluoFLM7527DQraqGXJD4O2H5p3p5VScWAeyEWt4deh8ZxKJVYmAtqAONr9eN18y7uKhA9FMwAOs5tu5Rug8GBDxD9t02yXiuVf0luLwMjc7BnjSNVEidVuWyWmfYucsYdmCp+/TKAiwndYRLkPwMlXKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vlIaqC24WMIFu8eL1diLFlepMfSKBdYGNtCaSxkvIYA=;
 b=vTz1kGAaEPe2XOEZH3LjkwRXuSH+B+Yug2BVcnEbFVO/qbS3PRHJVuC/jXaDeawnaYatV4bAPe+pH14i4C5pzbQQKaKts92jfYf/0eO3wCqTjpM/N9i648XluP07NpKoMqNTTWVwD82Om5OL4BcFZlfhasoGpXHpbwM1AzAxtp8Cr7XYoVq/f9p36EoD3zXpA4hIAuPlOTBMWK3xMfOrrz6XhDMcrBwLnIT0WmR2UhKl58VBPOaRWt0iJoTyllWgKKy+5L2fKHyiGLipVxuAd8QWvGXJKQCrBrNJX26y4ODBp/3Z3CHnGA0lkxlDlDQpFAwaniUruUZTE8HVu+bBsA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <820e1aff-a6a8-83c0-c4ae-82c6cf903192@suse.com>
Date: Tue, 21 Mar 2023 13:25:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
 "Koenig, Christian" <Christian.Koenig@amd.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 "Huang, Honglei1" <Honglei1.Huang@amd.com>,
 "Zhang, Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Huang Rui <ray.huang@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com> <ZBl6iU6T1CsWqVx9@amd.com>
 <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com> <ZBmDl8XjIos57EIy@amd.com>
 <cae4e673-65d8-273b-66b8-08d374797da2@suse.com> <ZBmZxnyZWrni57Ry@amd.com>
 <ZBmhJfBPtdLPi7X/@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBmhJfBPtdLPi7X/@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0071.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7802:EE_
X-MS-Office365-Filtering-Correlation-Id: c8db8544-1e1f-42d1-0361-08db2a076625
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1P0kqCKsGGa8z6PdnpxaVUvXy6ETjruBdmUru3e+F68YdO7mC9of0Ehn8v+XsekvlyHc2QW+M8du37iL++0QMpKGwRvibIfxtTmbH10IwE7U4MdzCWT8SK/WhxJs7Pb6/VD6fTk99yRLFrnk/re7YluRbzY1nAsVgnLeCQr6EHgWRBNEjfJt4xYaZYUgtKazrbAWhUXhSQT8wQIMAJAHkDKvsZl3ueVMI6m7IPZlz30d9In/v6jurYhyzRMd7WKLumJfjgSFaBz3KoEV4L/yl3SmUOiSmh/CFr9CX9U++B7KLW5i6D/33/zF658Te9qTqKUv9Cm5PkuRQymia/h/gPMgQhsXJiJHmFdMgS2CfQwu8VMmbN8F1N6eesAdN+9ac0Hgzj1pjLATl0l9tAFNdZHTrBhHUM6IYZ7HObtwXmXLTCk5Cdq9xDz9GgBZ/Z7D7CcwBvP8CLnSibHYFDzBlmPrjp6cQ22m2Y4DBYNVUqWiCSIt1n9PLLEZWcaQFuvEUS+Dtpq5NnYO8cn+i5J1k04r7hYbvzlJMPaCgLIN3Ya9Rw5/mN8q+fbwB83fbcJS7FNw0i6WZfZ9eb+8Ldf+bdi5sc0ETp+wJkbBsIss8YgO2EABVGLt2mtP46L4J669TteoiRG/7Inp8/IyULRWzCAtGC/CE7Xust9vcaRLIjrAuVv4FXAbbdn2Xj7KltAi1zZNZ6E+yB9cKmUuWrT5J8UBIqTDRpfgdQ5FiMsu1z4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(39860400002)(376002)(396003)(366004)(346002)(451199018)(6486002)(31686004)(41300700001)(54906003)(66476007)(66556008)(7416002)(6916009)(478600001)(66946007)(5660300002)(316002)(8936002)(8676002)(4326008)(36756003)(31696002)(86362001)(6512007)(53546011)(6506007)(186003)(26005)(2616005)(2906002)(83380400001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c0JhZk9WejNhcWN4NGdHOGVFa0l4enBiaTlqN2hraVRQZS9DSXZITjJMaEZB?=
 =?utf-8?B?L1cwME5adTlDVXVuSFZpV21NbnhXRDB5WEdzTW9iWWRYUy9CVS8zcGRGWFR0?=
 =?utf-8?B?ZVNTUlJpb0lqdGxSWmhzZVE1T0JjaVU0TEJJa1BHbmtoc1FRNTcveWFZWTJo?=
 =?utf-8?B?K2t2VWFpTE4wM0hNOTZESWtxYitGVHNZN3FCekg3Rm94ZFhLYWdJbEkvcHph?=
 =?utf-8?B?eHpLWk9xWjZ4V1F2elVOditpOUNSc2Q3Sk10dlFidCtJVWErQWIweDhmYkNR?=
 =?utf-8?B?UHR0RHRqU2JSU1g5TXZEajBpYTltV0xLWVozZVlPb282ekUveE9sLzRHNC9o?=
 =?utf-8?B?S1BFbU1VZUZJOVZmRXd4bTM3MVJ4OHlNZjJBTGN3M2x3VkxGUHo2VlNYNkMz?=
 =?utf-8?B?KzZpRVUyUjZPS1RmMUxTMlVKaWZUNWV3QXZmQWNqaTlFM2htWEhwTkFFT1FX?=
 =?utf-8?B?QXpZRFJrRllGOXFjM0htSnFMSk1hcjdSY0JhMEwybE5LOEwzM3BnanBDQnR0?=
 =?utf-8?B?dFpLVmNXdlNMRzEzS3E2ZFBQZGZ2VVZ1SVAwQzk4c1QzVGg3bkQ4Yk1xdGtI?=
 =?utf-8?B?MTI3bGdXbjJzVUZ6MkpSVEswb25xOHZsdGlsMWpWVkxQV2RBRkhEMFBzQ1Rw?=
 =?utf-8?B?dHJLVDNwMzF5YVlEaGszcnFWMmgyOTJWZmZKWE1xRVpuZzlTanFscjR0QnZU?=
 =?utf-8?B?dmFJbzNsSG5Kai9ZN3E5V1E2QnpyYklhVllMdXVUblZjWnhvSzZpTEJkRm54?=
 =?utf-8?B?UzFCZmFCQ0UrZDBXY04wTk1NMFBrYytmWVdObnlVVEZtbHYxVEpwakU1V0or?=
 =?utf-8?B?QWhadndUdnFEQTd6OXcyem8xQ2IweDdzblVVckRlS3BpZFRaTW5WaW9kU2Nk?=
 =?utf-8?B?RVFFRTNUUzFhVzV1YWY5bCsxaWRZMm9tZGlPMCtLRVdoZlY4OS82dFVlWHNk?=
 =?utf-8?B?QTEwdlNtMHZWODdEU2NLSERNd3JaUHlZV04ySGNKNjliekRUZFBueW5nWkFw?=
 =?utf-8?B?bUY3V3RVcUdPVVlaWVRMTzU3djg0OHBMZ250OGN5NWpMNFRPQ3NoNEV5aFd5?=
 =?utf-8?B?UHdDenR5N2hCcUJjeEVBS1lLRnY0Szl0Ti9Fc05hdUwxaU9PVUhST3VNakRy?=
 =?utf-8?B?R0FoenVZb1djY0tRN0NXY2lLQnNYSHhrUEd1QXBEYUFVVnc4Q2c5UVl2eXNP?=
 =?utf-8?B?K1lyRFhDaUFydUlQWFovQS9zZ3VVR0JINTBzQklmY2M3YUVwVHJkYisxcXIv?=
 =?utf-8?B?QkN2OHlQVFVXc3Q2cmU5Y0lidk5XM2lLQ0I2WE1NanBvYTlnWGg5OEJ6Q3cw?=
 =?utf-8?B?SlNHVENQekxnTkd4ckhxOWM5RDBYTEF3cExqSkYydm5VVzNIOUxkVjVnR1hZ?=
 =?utf-8?B?TUEvYytCeWZ3V3JwcmdYNmFRdG9BM3V2U3BGTGpObDlHTWhReDZVWkNFV0hU?=
 =?utf-8?B?OWNkZURQTzFDWVp5K2R3a1NXU0IrTnd1ZkdGUm9hcEUxblhqa2dMUENZODNs?=
 =?utf-8?B?RXcyZUREaEhndHUzTTluaFBBNW9xR2IydGtoUWd3eWNPL0MvNGIvbFF6SERu?=
 =?utf-8?B?N3ZzeWNjRVZ6bGpMbzltVXpaNmFiektva0kzUysvdjlGSmlxTXBuaitQb0xn?=
 =?utf-8?B?SzF3enhwSTN1azg5Zis2US9qTzAzMXluYW5MTFdHL2tjU2xoMzBUSkNLK1E4?=
 =?utf-8?B?UUd1cXl4ay8yQ1FTN1FBeHZDZFhGTkhrcEVmUFJhcEY3RFpqbmZra1I0a09v?=
 =?utf-8?B?Q0dMZ09nNW0xaitJazVtV0VMY0FMWE1CV1hGdmFmdjN3VWNHKzhNMFgyQmhS?=
 =?utf-8?B?d2tQWHEyYXd6dXNMUzJycHpIRmVUMGRacVVZWW5uSE5TTDN5S2c3SGhoVXRW?=
 =?utf-8?B?eEJ6ZHgxYmJ0ZDErY0FjRU83RTJtUmtiS1d3YncvdnQ3elNiZGpYRFdiNS80?=
 =?utf-8?B?dGVwY0NpUlRneVBxYytlYXNiSnNtTDM1VlIxamdlRk9JWFlBMkJtMjdVVTBa?=
 =?utf-8?B?RHpnWFhQenRNK1ZMbGRUNmJzWUdYRVdsZmV0cEpKQnZ6dlVKenpnU0doVzVL?=
 =?utf-8?B?Uy8wcHluYlhUajIvVDR5b085blE3aEx5ZzhKcDlZY3dha2Ztck9qZUZVZkd4?=
 =?utf-8?Q?SzNlXKtCj2jFzhzbvVfeGq3xj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8db8544-1e1f-42d1-0361-08db2a076625
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 12:25:47.1458
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qc9SSrWreGufCLOp8m1n2Y9/CNhcLR6+NESr0XkTAKARc/rNIqqcZ/7LFZJQzQa3jNI8bntkfAlRGe+9agCw6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7802

On 21.03.2023 13:20, Roger Pau Monné wrote:
> On Tue, Mar 21, 2023 at 07:49:26PM +0800, Huang Rui wrote:
>> On Tue, Mar 21, 2023 at 06:20:03PM +0800, Jan Beulich wrote:
>>> On 21.03.2023 11:14, Huang Rui wrote:
>>>> On Tue, Mar 21, 2023 at 05:41:57PM +0800, Jan Beulich wrote:
>>>>> On 21.03.2023 10:36, Huang Rui wrote:
>>>>>> On Wed, Mar 15, 2023 at 12:02:35AM +0800, Jan Beulich wrote:
>>>>>>> On 12.03.2023 08:54, Huang Rui wrote:
>>>>>>>> --- a/xen/drivers/vpci/header.c
>>>>>>>> +++ b/xen/drivers/vpci/header.c
>>>>>>>> @@ -392,7 +392,7 @@ static void cf_check bar_write(
>>>>>>>>       * Xen only cares whether the BAR is mapped into the p2m, so allow BAR
>>>>>>>>       * writes as long as the BAR is not mapped into the p2m.
>>>>>>>>       */
>>>>>>>> -    if ( bar->enabled )
>>>>>>>> +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
>>>>>>>>      {
>>>>>>>>          /* If the value written is the current one avoid printing a warning. */
>>>>>>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
>>>>>>>
>>>>>>> ... bar->enabled doesn't properly reflect the necessary state? It
>>>>>>> generally shouldn't be necessary to look at the physical device's
>>>>>>> state here.
>>>>>>>
>>>>>>> Furthermore when you make a change in a case like this, the
>>>>>>> accompanying comment also needs updating (which might have clarified
>>>>>>> what, if anything, has been wrong).
>>>>>>>
>>>>>>
>>>>>> That is the problem that we start domU at the first time, the enable flag
>>>>>> will be set while the passthrough device would like to write the real pcie
>>>>>> bar on the host.
>>>>>
>>>>> A pass-through device (i.e. one already owned by a DomU) should never
>>>>> be allowed to write to the real BAR. But it's not clear whether I'm not
>>>>> misinterpreting what you said ...
>>>>>
>>>>
>>>> OK. Thanks to clarify this. May I know how does a passthrough device modify
>>>> pci bar with correct behavior on Xen?
>>>
>>> A pass-through device may write to the virtual BAR, changing where in its
>>> own memory space the MMIO range appears. But it cannot (and may not) alter
>>> where in host memory space the (physical) MMIO range appears.
>>>
>>
>> Thanks, but we found if dom0 is PV domain, the passthrough device will
>> access this function to write the real bar.
> 
> I'm very confused now, are you trying to use vPCI with HVM domains?
> 
> As I understood it you are attempting to enable PCI passthrough for
> HVM guests from a PVH dom0, but now you say your dom0 is PV?

I didn't read it like this. Instead my way of understanding the reply
is that they try to mimic on PVH Dom0 what they observe on PV Dom0.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 12:27:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 12:27:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512595.792572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peb5M-0001Wd-At; Tue, 21 Mar 2023 12:27:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512595.792572; Tue, 21 Mar 2023 12: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 1peb5M-0001WW-7q; Tue, 21 Mar 2023 12:27:28 +0000
Received: by outflank-mailman (input) for mailman id 512595;
 Tue, 21 Mar 2023 12:27: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peb5K-0001WQ-UO
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 12:27:26 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20614.outbound.protection.outlook.com
 [2a01:111:f400:fe12::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bbbc27b8-c7e3-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 13:27:24 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7802.eurprd04.prod.outlook.com (2603:10a6:10:1f0::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 12:27:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 12: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>
X-Inumbo-ID: bbbc27b8-c7e3-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WS+pBu/kzI2bXjJJe8H7VCdUP+ujSi7BUZhlmcJZAZSM0qYzg7EPW+PIqAVgLyOnOTqMwEXpu4QdFVopf9JR0mA/E83bry2PTIrBEMZaCP/cogdpesTcHGTlpYXu1HIaFXrLYPyoyPuO8SLWb/+Xtn8iMjX370ooADXYglQdT/hFOxO9daVxJirQh3Kx8IkF3DxXL/L1iaPlqEI6zDWZIwyibd2wEq6F9hnqWxANrSFsNul6Y9jvKJ008e/a3RvLI0YZe/QVkxz++tv+TNKBLNumOpwRCFArXH7l85BLZEkBsr26TlSMBUso68tIsVyl9/Jc7FnOBIKoV8gQA6H78Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7H1nQUHjmcghyj3QG0m+JVLw5INiVwQQhaFUDWyjJR4=;
 b=Jgqe8YDA+iLNCe/4QC3CE8R2nGdOM12lkmEsTerXbLf1I82w1gfRyJPgv9u164NqUiUjDNyCmiqAJrd0AFKoLBEotFslgBvMajI14aS5CU9KDvbXvajfAGSNHR4/uKhirBQgq54/sX4w0pjgwt/UEsMCqSlLZDL8HHr1itrCz/WO17GHvSKLspkOewHTjfxA/nji9mFG8IFJIIzHRZzbN/B5PFgmB05zvKHmKg3PXsJUMP1drFviw/5TJDJeQbcA25QFRSqA6RlhzsfxDsTE7GRB2VHCQgyAiQjv2n1ZxTIPJ/ZxbgoFmUS+/iRkcr+baQKtKLqDkLn9k0E2b+EVrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7H1nQUHjmcghyj3QG0m+JVLw5INiVwQQhaFUDWyjJR4=;
 b=Ndd1ImrtXfnzFR0NjKlAvufZkE2L8WkdUMTaGtJpCtRw0nHDXCiMmP57ln/zoVyfKGbUhRSWOE0AS88Z1N1dlRUUUE/c/t5LZ8WWGVGiE7UlT8ROq7TtCVx0LN6psPns2V8l6OtwT8drLv90SJaoac5AvUZGB4yJtISRdj/Kn8JBUEcrmlSJ4mzp4HtkppLgvh1IvY49pyf8SmsfB/Fchwlfa06K47NbJvqqvfGkNBGzCJfxzEt4iSetsBrK1iQnRPnJb8423NMh4bITk0GP0ib/E109/U6ydRUESS7CJszJFgStolduQO1iuoUQB2a931jEuad2X986vajyhZ1rxA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com>
Date: Tue, 21 Mar 2023 13:27:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
 "Koenig, Christian" <Christian.Koenig@amd.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 "Huang, Honglei1" <Honglei1.Huang@amd.com>,
 "Zhang, Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com> <ZBl6iU6T1CsWqVx9@amd.com>
 <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com> <ZBmDl8XjIos57EIy@amd.com>
 <cae4e673-65d8-273b-66b8-08d374797da2@suse.com> <ZBmZxnyZWrni57Ry@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBmZxnyZWrni57Ry@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0125.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7802:EE_
X-MS-Office365-Filtering-Correlation-Id: 780625cd-289d-4b2a-5867-08db2a079f95
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Nqw89zdRNjRY4LMe3eBJVKUaw02tcF6MgNMUDLrePFSkXYG4xw39lWy3sRUAKkv6K2rkiK8IFUwrFvs+1JUuJ0vxUfN8uJl3uT5vpgkgXfF324OYDULlfK2VN5cSHviayDOnWY9dkWzkdMLHR5tn2DMTolETo2z5UDd0lpEqNdWVNONvq3Hm49sX6RFaEZ0+Rm1JGGHLvImirJjmMRDO1i3otGHF46U9qiMS1eKpIuGgypvqF9SE78ya7/8bV89velgYXveVgWszzozkyfllhPic4CzBlEEha8UTql3sAkxHDvjJy5Y/Q9w4YHNGFrg3Jy3d9SSkBIPp2PHIpn8Q+BcnLQ+KgA7joa83665Ii4Ti2RZFqSPT73pvKscgBJTiMJKihB7xda41R311hdCIwDgbzMvsnkUE3qtJ3do07Q6UJYGEtIBeFUDwyTbceveJvYX+Loa1cM/WsfwCuowKZdugH92Gj7hrgDxXBsjN5tlZWMt8LVvXbXtmz5TMPwMyfUQkiAYSrPlH4o6I475UL79Hgin41DcbAFH/ofTSASVhwLRy5ajSCNHSZiJycBaWEx0GgLJRZuINjAzznZGhbmGIzEXriimtEAWbcXbjDUDclbelZzghQjKQvejutv2ZyGBleavt/oCWltZKvExYa1dAsI1p64zHSEvvwec8XKcRtOx1kvpiNlG9XcXm6Rv/0UQDvIkus4tUmcO2NnsJJNa8BBnAVu1JI1HqhuUFEWA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(39860400002)(376002)(396003)(366004)(346002)(451199018)(6486002)(31686004)(41300700001)(54906003)(66476007)(66556008)(7416002)(6916009)(478600001)(66946007)(5660300002)(4744005)(316002)(8936002)(8676002)(4326008)(36756003)(31696002)(86362001)(6512007)(53546011)(6506007)(186003)(26005)(2616005)(2906002)(83380400001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Tng5YnZkUmxnRmoxUllUZ2xKR0hvNnZPWGZXY20yeVM1bk5sQms0ajVJY3VY?=
 =?utf-8?B?NjdmSHhNTW9Qc3QvNXBXYjNOcXBOQk82NGViazQ1bGZObUtZdG44Rml5bGp0?=
 =?utf-8?B?L0VNK0FIQmF0c0dzQkFFWnNvSmRicjIzUW5KcHowRGpnS0tlOTlpOFByS1ZG?=
 =?utf-8?B?R1NzUGM5cmZrRTFtUEhkMWJBZjA0N1MyNThqa2JqemJVa2tVVnpsV1RCcUxB?=
 =?utf-8?B?WVMySW5MWTBleTFHVnU4MHJoK1Jaakd2ZC9OMHQvQzU0c1N2ZjZzRkEwWXRW?=
 =?utf-8?B?QytrY3pDTHZFaUNoalJQM091d1hvdzlsdWJUckFWS0JMZ2RidytDNGdnYTFJ?=
 =?utf-8?B?UE1zbDFBdXBlRmV6OU8vYVlsbGNQcEl5MWNBWTg0WnJieGFZZ0RKSmRmMDVh?=
 =?utf-8?B?U1RpSUFsaWx6UnFxZFBUZHBuN2E2bWg4K1lKOTJUVDRXdWYzMDgzQnNsem43?=
 =?utf-8?B?QTFnenorTWREMDlwL3FUaUQ2TzFxQnFhRHFWSTZYZlFUWnhuRFArU2phRWd4?=
 =?utf-8?B?dVEwTlRxSjJXU014clBKdGtkc2ttUU8wVkNMenNvK3lpRFYyV0FQLzMrdmNQ?=
 =?utf-8?B?d3EzUkpOcUxXREVaTlhmY2Z3VmZsZ3pYaitDeUtFNHpCaTFjZXVIY3NiemhN?=
 =?utf-8?B?ZjI1bWxVUXJ4WGVsQ0hqdERjQXpzdklrdm5BMmx0NndRMm8rYnNrMG9BTVhR?=
 =?utf-8?B?QzBHRG9Na09EdjM5VlJCYWVNWE5uV1Nyb0ZySUJ4dWNPUFJ4QWJNQ1QzUHV4?=
 =?utf-8?B?blU1bkZHWWhoT1dpNnVJaHo2dU9RQzljVEFKWXJkaEd1N0dXZHJjU1JNM2Rt?=
 =?utf-8?B?SmVzVUVIL2RsV0hNOVZnOE5tWlhuSUZjU2lucXJiUE15c29PMmgyMWZlRnR6?=
 =?utf-8?B?aG1EMzFXa3RkazZnZzlhdnRxRmRCL0pmYUE5aGtWTUtEbjUzYVpVSmI3M1dz?=
 =?utf-8?B?UmdaNXNhU3dsbTdwU0YzSGQxcnlyQm1va1BGMW5PbnZHTWhiOGk3OFpjSVpL?=
 =?utf-8?B?S1kraTVTSm11Y0o5a3JjTDMxM1Q5MllvM2Q2OEtqZGRjUmxZREJjN0wwSnBj?=
 =?utf-8?B?Yy9hbk9pNHc4cHRVYTlhbFJaYURCeUdQcDVmdndqZGloUWYzU0JtQ3NoL29F?=
 =?utf-8?B?dVpXS1huVjFtaUR2dWM2dUIzVjlURjhXYjdsaEFXdE5QT0RnKzFLVXFyVW40?=
 =?utf-8?B?MWRXUUtBbG0vcTFrOGlSTnhEZUgzVGJSUGJXVFZoZ0czZzEwUGRzcTdFM29Q?=
 =?utf-8?B?RWNrZXllbW5waUh0M1VwNHUyTzk2cHA2OEdtNDBSOFNhTzdOci9FWE1HL2Ew?=
 =?utf-8?B?anE1YVRHUEpaVGJQVml6WEJ1aGMzRlJNWTUyYkRnUGZYVk9TbmtrQUh0ZkJV?=
 =?utf-8?B?ZWVuVVdydkFvRXl1Vk5rYnlZd2RDTTBxM0NQYzU5MEVTNzJZRFFjUU9sbE82?=
 =?utf-8?B?WkRsd3ZCQ2RuaDBHR2F2TU9BNGorc1BpZmw4WjN1eEttRkMrcXJEM0pqZTFk?=
 =?utf-8?B?eUplVG9nbW9seS9hZ1FzOWlMUTEyMjNWZ2lRZDhLckVvM0dpbTUyMW43UWF1?=
 =?utf-8?B?cTRTK3p0L1crZTg5Q2s4ZzhZbmFQVGZRY3ZlVDliZ2FUQ1luQUd2dWpXRDRq?=
 =?utf-8?B?YjFIUXdzamx2dEdJZlNTVXltbnd6L1JFRS9yT2gzVVpkbGdNanErT2paMFYv?=
 =?utf-8?B?R3gxWDNEdGFYVG9tOGxHQzl0TG4xVkVKSy9ld21sVWlnZWd6eExOS0JWYmRW?=
 =?utf-8?B?alVQTTZpVjN5NUZzKzg1KzRFUHVDSG52K1B3Yld4ZDZGRW9veE5zU055QWZR?=
 =?utf-8?B?WVFuS054bWdsb0pPWFUveU1sN2JCdE1NWFVaakM3aWtDYWlpUXNUNjZMM01i?=
 =?utf-8?B?YmhHS1p5cTNMSjN2ajFTQ01HME4wTWZ1TldSaEZzWTJNc1lqK1V1eE5tdzJT?=
 =?utf-8?B?eUNEUkxlMFptS3hwaE5BUVY2aC9wUU9hRGhpSEdKOUlLZkh1VkNycWlhVG9V?=
 =?utf-8?B?VmRHVldadE9PWjRpS21hMkxRUEwzSHpwb3F4bW9jL1hqOTQvdFEwZmhyNDk0?=
 =?utf-8?B?QkFOazFUT1YyeTF5OFAxV2Q5MGFMK1ArTlU4WW9ma05IUUdLeCtQMVIybmk4?=
 =?utf-8?Q?3kPPu+y8Z0+dau/Q9Ms03xrFz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 780625cd-289d-4b2a-5867-08db2a079f95
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 12:27:23.4965
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UNkbRwDZhWKBoZxAVN04rn0Szs4mAEWE/FhCMcF8wpskD41pfKXZ8glh9eNkPW5Qvh0xR6iufUEZDZuPC2VvXg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7802

On 21.03.2023 12:49, Huang Rui wrote:
> Thanks, but we found if dom0 is PV domain, the passthrough device will
> access this function to write the real bar.

Can you please be quite a bit more detailed about this? The specific code
paths taken (in upstream software) to result in such would of of interest.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 12:42:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 12:42:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512598.792582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pebK9-00040v-Kx; Tue, 21 Mar 2023 12:42:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512598.792582; Tue, 21 Mar 2023 12: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 1pebK9-00040o-I9; Tue, 21 Mar 2023 12:42:45 +0000
Received: by outflank-mailman (input) for mailman id 512598;
 Tue, 21 Mar 2023 12: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=gvkR=7N=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pebK8-00040i-QQ
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 12:42:44 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::60b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id deeae6dc-c7e5-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 13:42:43 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 PH7PR12MB6761.namprd12.prod.outlook.com (2603:10b6:510:1ab::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 12:42:38 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 12:42: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: deeae6dc-c7e5-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GxWJNcBhHBVfAFlI+eE461b/2/ulFVZFyXS5W4jT8Gvs0ccAXZ9mrrYfEosXJbvqD4+xMIZiRK5oAl1qPEe/e7VKWpUPlP7YAy+rKs54jREMo9Vm3YENZD+uAzS3ZauFJo+PK+X2A4f9XdTjdttvEB8/DNq5oxv/i89RFlVGNwIVI8O4qaPBwn8JSAX/dwojp3+UiBK9ExRFEZKDa0sJ0EV7j6p/xJMGKpfPFG/Z7SdApAM9w+ctee+Y+FSr20Nj+3VhQ5n0bA2t66MSvy3NJqv5LGSpEeoArzDF2IrU6tENUSRKoqchrOraROxsyWqr9/ITwEAIhpkM8XkzqutsKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jNQqY1lHRIpnYmj/0DUh7O3AApFcb0K1Mt8IbaocVko=;
 b=bca0qf1SGcl+6N53CiBbQN8XpvvAVWyjE2s56vJaQTcqG38XeNQTmXYAiBl/+uE7jfsTMtTOMjwtSDZwUgmONyCyS550D6X0KKPvAXpotpqc7zhV0zOcR1qfYEbdrE5C5dw5sppwMyhnfcNFu68GQ88F5BOFZxmtoxSI6OCs5yAEjkz5izOWgs+oYDlmCKL46FXUar4qWTsAD17HrhO8E2Q4OIZ0mu2+mz9Gex4DvQIpFeXNhDoaxl31PkQtQQmSM361HgA+wzLJltZ1/YsxW3H3feAnkI4IxZAm6x9ZdI1zacA1pXQjoxZG1GaNnebaOImifAQfsFAV0Wr+TeFSHQ==
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=jNQqY1lHRIpnYmj/0DUh7O3AApFcb0K1Mt8IbaocVko=;
 b=SwcBpsI0pMOZ3gDAxjfj+XQ5jq5RbStZqmlLUtbCzoD9IUNIEMaObMSzJXsByjtFnVIk8GTPN99/sztDKBJ3h9zR878e3EpKcw3WGSuetxAXrh2aAMrx8GjPr2sLGT+nM+YM5ilg+cfm26zdL2lk9FTMDfWnHC0w00Zby/STl+c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Tue, 21 Mar 2023 20:42:10 +0800
From: Huang Rui <ray.huang@amd.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 4/6] x86/pvh: PVH dom0 also need
 PHYSDEVOP_setup_gsi call
Message-ID: <ZBmmIhNpEfLsVBQo@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-5-ray.huang@amd.com>
 <c51bcc5b-4f90-5651-de3d-df47bdf4a04a@suse.com>
 <521ccacd-a45a-f55a-72ed-de6b64bca050@citrix.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <521ccacd-a45a-f55a-72ed-de6b64bca050@citrix.com>
X-ClientProxiedBy: SG2PR01CA0155.apcprd01.prod.exchangelabs.com
 (2603:1096:4:8f::35) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|PH7PR12MB6761:EE_
X-MS-Office365-Filtering-Correlation-Id: 62ad7729-26ab-4eaa-8e32-08db2a09c105
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JRVO417ceCHXV+SHTRALRRy5M4fKje/NPPp52v8KfsGIzz0pkQt8PHQ3bcRk1sMErai9m+T6+/yRNXoTGU11b/ZqVUkvcKwVPyvY0TZrUN21wDLuhvJG0w2s4xjP5seU8zxJMpZF/VZLy362tJlo/b9bRQcdvofCFOEQrM5YzMqlIqANLh5DZcWh1p2tdZ2XSxXbBq1XNr4UJ11yMfJxD3qwcSU04Ozp+C/5mxoWE82Ry3zmg+PdepGH6YmV3ZTMDbB5ndfXa/60TmUYN8yf+b7HCKIbO9FONFqDirM5WdAk1pgjni12njFEQ3laCDYyWkFC1Rje9dla8CUQKw1CiuJxZKGqcPcT2LaBoyHoLNOAPjl7PjuDFLt17MukseDAJHrQCn0mDcWdaoPbrLEaturFHA81cWQP8GkMEJWurnY7iG2OgN0A1ptCopLTXTPC5Xg6e2hsEkTsYDPmpH9bAG3uWTne+Z1sIz1Y0mPloHfTvK5+fAWwUgGVjJY7UkRzwnpudkPNioDwFrIYHLR6kHx/HiPzgzF93Styt2ROgAdoxmMq4taTz8rQdjVd/ZBtG2ah2BC49z1L8qS98VPkgl2p8jk5D/VyCnx8Yq7qGgPxseeL+4qsFZ4Bhca09id2edYOfd+Fq2Hee8wOaSeKGQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(39860400002)(366004)(396003)(376002)(136003)(451199018)(41300700001)(478600001)(316002)(66946007)(6916009)(8676002)(66476007)(66556008)(4326008)(54906003)(186003)(2616005)(6512007)(26005)(53546011)(6506007)(86362001)(36756003)(6666004)(2906002)(5660300002)(8936002)(4744005)(6486002)(38100700002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?k8+gzXPHKyzW3QstT8hK4KtoZbpnvZmmJlKxvyCHZhlYiaVh45raflVQqouw?=
 =?us-ascii?Q?NANe0IRJxJZEJ6CjM7X8r8CxvA4dfitjf9isbE33N/rAoM+ggFSOMndt9o+P?=
 =?us-ascii?Q?lqH+XAav5lBFNWfz1vsqmeGSHo0RcueWMkfjNWdTlVrq1xB2Pse9v6WfHQG/?=
 =?us-ascii?Q?2UULSDM6b6XMF1L8kqc9r6+dTOmbRAJdaw2k8tUYvDQryUqEBhHMHR99NvjQ?=
 =?us-ascii?Q?PakJeZim2iz3/wKDPRw4zODo+A66beNbz4YCHw7NeZR0UmjE9V5kUBVVDzoY?=
 =?us-ascii?Q?EauRZPv4Zj7u9C5vXrrB0tQlmjzkNuhrTiTvm/W2PXV2lmC0MRZ75c4Dx38q?=
 =?us-ascii?Q?yLu3nPgTOXkx4+jk0dkJFLJjP3cona/w/3se3RyxLulIlW5fEUJzzbvxwVSG?=
 =?us-ascii?Q?oksWKft8DL+pgb2hZnl4OOn6xtAnT00S0OkBiRDaatvFhM2JWXYV0b9F9CFp?=
 =?us-ascii?Q?zb+phA9KKuj1m2goSj59spefeSfDLrPdtquyhWz4YvJUr1GF5KRryD4NKCEp?=
 =?us-ascii?Q?1ztgqh5VjG8so3AfgpwlC7RmhOkAVgLnT8La5zN1cs5NQq2rz6jElDiPdffe?=
 =?us-ascii?Q?IhOeImOhIXjw7ees/5r6D8+x01ETMXCS1Yi4vUXr+gMv92iwzNRAUn8heBet?=
 =?us-ascii?Q?0mZxsjQpsKeYNntCUtYRNIouLg+vIibG95yYBSu+zOF9eQkQIYJqbURdeUIw?=
 =?us-ascii?Q?CUbgSjrl/AIgP6GfgwyEErTRKIREN/+r16BXzoZ6hGkgtkL4KeiDvF9GdQFj?=
 =?us-ascii?Q?yV+9znfAOaXTXoNVPXV63YXY1h48TJ8DXEXO6ATn9wNJxwVc5EioUPwE9nmZ?=
 =?us-ascii?Q?na2DB7hPha+dZcEk8mUXcHlsiVsJ0H6hDAqbIl0tAa7E1xdRnhjFfcGM4CmN?=
 =?us-ascii?Q?rliwAdChv+Vi61PdHSwXlQCAwXYIRAK/C4JeX3ZHiRNtrKtxd1wU1gjljRqm?=
 =?us-ascii?Q?m3OeaMoAG0y+6HGowzAs/P0emdIW/r6cn/7XaNO9yMqY7yqvQupMce1BmJLb?=
 =?us-ascii?Q?OQAkP5w2XBTSV7UMsZuDRsyAmjE3pSVqgCGm3ppF/bHFTVO4KvL0W2jUSEmM?=
 =?us-ascii?Q?P3whuWCvzlLFUvFngY0673IM6XiFFPkO7MaXhh1cMMnPQ3b/drqY/qES6Djs?=
 =?us-ascii?Q?y3vG9c3t3iDCkp84GCBAe5gi8fSgX7penB5APtLl8h5J78p9v4bn7N0pDZKT?=
 =?us-ascii?Q?EN+8MCg2Y9WClTdbfkf+EYAur1lyi1P1AdeMef7X+ASMQ2ze0wCpF7rZ1iX4?=
 =?us-ascii?Q?Ihe7+Z+trEpvx5y5guKBEwVwI5sUXh/mHQ9wZPdxkkQX+tB9vPnMxj7n/7G+?=
 =?us-ascii?Q?fWY2zRs4BEi9oER+kepZUuWyd9lxI4CSwmClDjKk08BVlTVOHVWad3zqeDXa?=
 =?us-ascii?Q?4eml8KWxsGChyVAEKXm5zTBEzBE2yZZDpnUzKlCg2WA/y9nLPInAPAgV2ZrA?=
 =?us-ascii?Q?U/AyVTloC0iexDCy3DDIGLP9g8M01kWqzFWOaOatZpe+lR4fz1gg7DEyWEJU?=
 =?us-ascii?Q?zRsc1U68aEQCUNvZ8VQ5Ri+6kgqSAc1SwJ+NBqB6JCwNImPEhC7InYc4QSBS?=
 =?us-ascii?Q?wThK0LLI5EohgI0XjlJFiz2Wka/Y4Py2RZWLRVhb?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 62ad7729-26ab-4eaa-8e32-08db2a09c105
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 12:42:38.6683
 (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: 4q18uJxNk5Jk+UoA3T0YiTZT4MRZGCSI3NiRgTRVupGutBR59aYd3s7clsSZbDRVwBbQICZ2UJr/YRm17YxXrg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6761

On Thu, Mar 16, 2023 at 01:01:52AM +0800, Andrew Cooper wrote:
> On 14/03/2023 4:30 pm, Jan Beulich wrote:
> > On 12.03.2023 08:54, Huang Rui wrote:
> >> From: Chen Jiqian <Jiqian.Chen@amd.com>
> > An empty description won't do here. First of all you need to address the Why?
> > As already hinted at in the reply to the earlier patch, it looks like you're
> > breaking the intended IRQ model for PVH.
> 
> I think this is rather unfair.
> 
> Until you can point to the document which describes how IRQs are
> intended to work in PVH, I'd say this series is pretty damn good attempt
> to make something that functions, in the absence of any guidance.
> 

Thank you, Andrew! This is the first time we submit Xen patches, any
comments are warm for us. :-)

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 12:58:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 12:58:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512604.792598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pebZB-0005uO-1k; Tue, 21 Mar 2023 12:58:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512604.792598; Tue, 21 Mar 2023 12:58: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 1pebZA-0005uH-UW; Tue, 21 Mar 2023 12:58:16 +0000
Received: by outflank-mailman (input) for mailman id 512604;
 Tue, 21 Mar 2023 12:58: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=gNSa=7N=citrix.com=prvs=4373eb648=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pebZ9-0005ts-Ex
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 12:58:15 +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 08516baa-c7e8-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 13:58:13 +0100 (CET)
Received: from mail-co1nam11lp2170.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 08:57:44 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH2PR03MB5320.namprd03.prod.outlook.com (2603:10b6:610:9a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 12:57:41 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 12: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: 08516baa-c7e8-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679403493;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=6Cj64h/Vu6F25WCo3ZjQJFnKPjft5Q48BTc032XcliU=;
  b=M6Qvov17RVlKhjidMlgaNuap2YYgY7R4LJTnUXb5FGTHjfvOitGDqEWm
   hX3fPl3gLbZcTt4JxYHa6vWNS/f55T1/NxtEt+2FRopvxE7rmRT9+YLJN
   DBLsW3g88u9a+j8tgiOQSGF5yA5CBKbdCFISccXeJJPGmHWRty3hmNhCk
   c=;
X-IronPort-RemoteIP: 104.47.56.170
X-IronPort-MID: 101611370
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:xzSH+KIbzVdqptSXFE+RNZQlxSXFcZb7ZxGr2PjKsXjdYENS0mRSz
 DAdXG2PaamPNmv9KY11PY/i9BgGvJ/WzIIyTAdlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZnPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5oBE1V0
 fgzLgtKdx2+pf2L+b6CQONj05FLwMnDZOvzu1lG5BSAVLMNZsmGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dppTGMlGSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHuiBttLT+LgnhJsqFGz6zY6VSwwbF+ijtLhg3T5WvRid
 2VBr0LCqoB3riRHVOLVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQkvsIrQT0h1
 neSgsjkQzdotdW9Vna15rqS6zSoNkA9L2AYYjQfZRAY+NSlq4Y25jrNU9JiHaidntDzXzbqz
 FiitzMijr8eicoK0aST/l3dhT+o4J/TQWYICh7/W2uk6kZyY9ejbonxsFzDt68fdMCeU0WLu
 2UCl46G9ucSAJqRlSuLBuIQALWu4PXDOzrZ6bJyI6QcG/2W0ybLVehtDPtWei+F7u5slefVX
 XLu
IronPort-HdrOrdr: A9a23:mZJ7LazokMygj7EgB6JmKrPw/b1zdoMgy1knxilNoHtuA66lfq
 GV7ZcmPHrP41wssR4b9OxoR5PwJk80maQY3WBzB9eftWvd1ldARbsKhbcKqAeAJ8SRzIFgPK
 5bAs5DIcy1BVxoydz8+k29H8w7yNeKtKCk7N2uqktFXEVjb7Il9QBiThyGGVd9XwleGJo+E9
 6V/c0vnUvFRUgq
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="101611370"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ev4kVfNGOQo74V6n21J+vWxWq32XxmPRLQVDXm5qbyqGOQ5CZ8VivGnPCaVhPVXiVqEQWcqACccJLd5LLD3sbBjxzLy3N2P7pP0VRFI3EVVedwlCsnAzILgViDK0I1LZIqkrzQLzTd1O9/aQp6xRzXZVW+34pUa14fqmg0V3+K4fOdX15rhP4+1vs9nOtQRxO4pTrNTRJpqz4HvOiGIvai1c3VbGQqhaijQT7qLLKhTaPLrRaJphyp7w60Mijt3t9PLE/T3xoA73aj83JrilUseCwn4MNb1c451H1ecXidZFdwMgz/EbGmBekJ9epUB+qMxrQLVTUVWppxi4DTQUbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sNFyh/9oxcyVIn2jiben5GD1DjE53W2DkVAi1UAnoE8=;
 b=I3l6vulGmzxKEoi+ZFAd0Ruz9mx8hTncF5e4NNNlIqVh5usv/QZ9LFNyw5vMzmQgQxiMtj3/zkcqQ3aAFu0NwVvcox9bSvQBJAsHcjjrz/1qedbPpqKuVAppHYklqhtZHi1tJYouUoSiH2NbmXuYkued5b4f+DYBebi5ZeIc4itKpTbmjE5piLpmOelHPol7HGQXqqYnRjdWJKNjDICak45Vy6KsloLwoYEKLX6BqXV2f3B3uHBsZJRrfYM5wIASLYcb+56AWXzBf5F0eXkRqS61zZohytVIrx/cOqzMvwqXxx5o8uUWeg4hMrON0/qcMYviE4G/FDiQbHA5k1okLQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sNFyh/9oxcyVIn2jiben5GD1DjE53W2DkVAi1UAnoE8=;
 b=ueyNGwTDBbemy17jxLQQ8gEqq6XJdnr222Aaa85oUMHuBpjtVdI0oFnw85dz8VY0tVWkGW33DsE8k5KzwAO848youFIAGZvOhynYFWBHJwQ+aw60Cfb7xSQF47F8urszh5a/GW6+8WHE8DuZom1wuldcM5s5wkPMdMaXm4t3Cis=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <dc60938e-50db-2fa0-bfd0-8f9e1d0a5b61@citrix.com>
Date: Tue, 21 Mar 2023 12:57:34 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 1/3] tools/xenctrl: add xc_get_cpu_version()
Content-Language: en-GB
To: Sergey Dyasli <sergey.dyasli@citrix.com>, 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>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20230321114745.11044-1-sergey.dyasli@citrix.com>
 <20230321114745.11044-2-sergey.dyasli@citrix.com>
In-Reply-To: <20230321114745.11044-2-sergey.dyasli@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0116.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:192::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CH2PR03MB5320:EE_
X-MS-Office365-Filtering-Correlation-Id: 14f42a90-d42f-46fd-fba3-08db2a0bdaf8
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7+JVVMRoUoPMiqs4yKbiuZ0y+nKxvAujJxgucVmDsGtvlPo6EtG/pXYo1ow1H2XEycmpJbm2IuRS2DIN4D47HSpeffggEA07fxwn7tZgmzPW1ByM84h8CQLsT9+53ihtEWrrkByLW3+TMLRhdTy7mnBulBRxqlp5veyf5VAbF7JnlgsmRAO9Gflgt6tqQ3DS8bRJVbhJvpY2GDxeLPHbTl6UJz12Kz4Qxg5u64DCbjfjEnw/wus9wJeXNEMUO1C+I3Y1uiD+hXi+/H8PKyqmccMW4yGIKUcpjryeW5YnFx58IpRbSk2LnwODZ6YXCqVxc+Lq2dIbLSmDnMRCh8l+rsyqIiVBYJrS9Vss4yakAj73KvYpPvc7Ke83CpaBHILov+R7l3CUH4Qzrsa2I5xEtpUKgzXyHGU5gjKbR/l9Ek5Vdr+UHUPty9BKn42Cpz88arIFp4/c9IaPMg9A7FU/AO66aPltUEVCbMdxvKZnOu7uFaSao8sDt6mFx7vWhwQ8JI3h/p3KIZVxPNXa/JQoiPFIX+RqSnpjsMuWS0SmFP+YrzbzWxvxQD76riPWlf2v61TdwjO9OnUE3yspBcAkM3hqGa9kslzVcpAac2/M9kRH7QPLBppsH5KlnFpYoAGjOCIs/eigljKQ/d9C/Uw4+te8WIKOmf37gnKs9w/HLUkj8vj65Oej4RV+bvHI6VYD5sWdUnyxKvwmsTaiUmJKcDzYq9QWOIkQB8Yh9kFGV1Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(346002)(366004)(39860400002)(396003)(136003)(451199018)(8936002)(4744005)(41300700001)(7416002)(5660300002)(31696002)(36756003)(86362001)(38100700002)(4326008)(82960400001)(2906002)(54906003)(83380400001)(6506007)(31686004)(53546011)(6512007)(478600001)(6666004)(186003)(6486002)(26005)(8676002)(66476007)(66556008)(66946007)(2616005)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d2xqOVBIc1JlY2VyQWlEMGxNaGs5WE00Zmg1aVYzZWtxaUs5Nmd2WmQzSjN2?=
 =?utf-8?B?c1NsSUNSekpUczFMK3doTjFDZExTOFFFSEg4eEwyNEh2TXNQamRpOE1KRTFu?=
 =?utf-8?B?RFZ2QTE4QnNiMEU0YW1nZFdXK2ZwOTZIQi84MzVaWWRHV05YOHllTG9FTmFn?=
 =?utf-8?B?YTNHYy95WmdYTDdjQmVER2RJbGN2OE9ub3dUZDVOZzRIeFltTHY0TXpvSm82?=
 =?utf-8?B?eGhIZTJyajJXd3pBTFcvRDh4NlMxcVJnT3dTRy8vbVdUaWpldUw2VFBKRHJq?=
 =?utf-8?B?ajEwRVhoNURRY2FoRVkzOHcrVEd4S29PQTRId0kvdkFhSGxoVm5qZ1h0Q2hW?=
 =?utf-8?B?REo1NlBoUkpza0Y3UnhLOGIyVU5kZVdKMVRVWktMRHRNYTRMZVVmTVlMY0sv?=
 =?utf-8?B?dk9ZbG5CT0srVG0zYUFBT2IrT1NzRXZ6Rk0yQXdEUVNiY2JqMVY3LzNBUFhz?=
 =?utf-8?B?eUI5RVd6Q25ZSmE0NFM5eXBBYnJXSWJ0WkVzQ2ZhRWtaNmdDNW90Q1RXaHRO?=
 =?utf-8?B?TThtSDFWTE5pTjQzdTVPWDRHcTdzalBPdU5mNXR1MnlxOVk5Ykk4VkVZWEN5?=
 =?utf-8?B?eUJqMktFN3NqSmlGcDI1S1p2VFhKb0FOaXRMUElFalRaVEJVbjQ3dStic1c5?=
 =?utf-8?B?US9YVWVVRWwrRWFSVXJCSGxyVHhoM2FZTThjc09leWh6MEJ1ZGZPUS9XNEli?=
 =?utf-8?B?Mk9jdk50dTRFYUg1YzhVV2NnTExXUXd5ZzIwRlBmRmZHM3VWT05oZEJ1UXJC?=
 =?utf-8?B?ZU1QTHZ1V25sMHJXVlhKUE54cXFydThETVc3cU1uMnJiZVZmQmhqMDlzNzgx?=
 =?utf-8?B?UDNiMjd5all0V0tTUXRpdjRLdlVZRXA3MlcrSmQrRXZoRmRRUXpyOVdtZy9U?=
 =?utf-8?B?WmRib1Y1d2hqWkFaVXlKSmlNTlp4YSs5OHQ1aEpQbGVhL0xFUm4vUnh2cFZy?=
 =?utf-8?B?d3FUQzNtakNYL2RIMW1aMituazZsbEtXQWx6OUhNMlhyc1lINjhxNFZoU1pR?=
 =?utf-8?B?QU9ZVS9Sa2hLQXMzZ2l2WHVJd2ppZUNzTURVMnpFbmNVV3BhbUxobXNsa0JV?=
 =?utf-8?B?emoyY25XMDk0SU9wbTZOSlNBTitJWGdmMGQvUXV6QVoyZ1FkZ1N0dGh6YVlq?=
 =?utf-8?B?RzMwdzNUU2VPcW9vTkNKRGlScEVBMzc1aXBwd0plNmk5SFNNWm1QN21xRUlZ?=
 =?utf-8?B?SnYxNHNBVlJnczZUSW9rOWNjYkVNUW9OM3phbGgvMmxNelQ1eTV6QmFHS2V2?=
 =?utf-8?B?R1J3VE1XOVdtQ1JIMDdnLyt0cDQxM0FWS3F1VHhTaE55NXRzVmxLc0hzcHBh?=
 =?utf-8?B?eXJIK3paK0JCS004ODRySldFMzIxQmxVd2ZQTTljcGkrZThYaVBPQjB2Rm1m?=
 =?utf-8?B?Y3RleWp2NjFMUWVwb2x3Q3RBLzVWNHJUa1dMYWtibGNDWnZBVTZDbGg5eEs2?=
 =?utf-8?B?Nkh5UFpBZGlpMHU5ZFlxeXZiYnA0WWxlTTZFUzNFYVRuM0QxMndJb25Rb2tR?=
 =?utf-8?B?Q2RKbmlzckp3SGVBZkRtNi94RUNBaDVzbGFjSnB2cXFoWUQyVTVwYmtzTjZY?=
 =?utf-8?B?WE1ibk1NbDVHZ1pzeVZrcGwwZHpPTHZSU3V2dmM2ZE80NCtvQ2VJZ3RjTlFz?=
 =?utf-8?B?dTN1c0lRempscDJNbjBRN2d3MlJnNDJtbVdYVHY1YjZvY0dEVm94UFpVV1c0?=
 =?utf-8?B?SmZON2ZQUEwzbkFFUnZoQzJjbGxsOUdYQnlGTHFCNU9ZMzJrQW5jUnlWZllQ?=
 =?utf-8?B?dzRPNDJ6MUI4dUtOaXB3eDBBemVnN1NVQ1N5Tk5NRzZGckhXbFdQN3d4YlNk?=
 =?utf-8?B?Uzc0SkxSVEd2T3ErRGJob1BPQ3JTKzJmdmpCWlI3bDN0N3dGSEVMaXdTRDdB?=
 =?utf-8?B?aW82eURoQ0ZlNFMrTDBUYkFlOUxPbC81c2gzSVR0WXlhVjB0WlFtbWZUNm5q?=
 =?utf-8?B?OXVFOGY5RkptVFYxWWEvWER2UjN5RHVaSW5YbElmLzJ0eVZRaVRlYTZIdUFD?=
 =?utf-8?B?UGtOM0VpQS9EeTN5cnlxRDJXR1A4NmN6Yi95VWRQZHBhL25MRm16WFFBWW9S?=
 =?utf-8?B?Z2hkdHBndTNSRm1DTVNwV0lXZ3dNcXB2N1BSV0xUajJmNEo3M3ZPVzhTSXIz?=
 =?utf-8?B?bk1ZVHNDd1NMVUdDZlZTQkNwSU81bjhIUUtuR0QxR3N1T1VRTzJGWEovSE9v?=
 =?utf-8?B?OEE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	g+mnfhaFl4JAwUtXn0CZZanYPhbPM/xV6AkFELiLyE2bi2hXwURUjiJ0xL5hQk8lzEN3lkPW7LAlFCmD1vNxbeTsUV1lOrSVJkYH4rF1ZVHRCo2Zar0uDZCvF6R45kDkMXZMVIs2m/SONJDlUoFmP8rc3UzJocbxsEYpMmp1hXrPHEkgZugPdfUWlGxCH1c12KH+fdoA1IXlN7aeHpHoutsRMMSJatNS6EsiGZABbsUPOKP9NcK8L/Q0M9pm1dbCDEFPsH/96hzYGLdzCQTzOeyWbdJ2XbRkNYMYZ+rXCMvvP+6DdFc4Yg2nPr+iLL/e13oV42kKXOVE7wXa8aUTZHN+0ASDdT9N9z7if/9kgkK6UZ6NIzmdrhqzjEwdtxSD6ai1SqmZaAzRumNoHno8LuEzrFo3089bHDOxugcgnRvPKa/K8cNTPH79QKdLm8pQCXNezykYNbIeU2aRwhTfK3fes/HoKyiLY9XvUhycsrVRgNb52pt0ghLIVKRVkCvG/dw6YBJUO4r4ywqd1LxBpD2ueFoO6zZUT9T28sB0I2VZnYcN85k+mJr6hzrF4ljJRuyBazGx7rj2HL+/v01QM2HoTTGgCRBxq0MfkQO4hWXYjRq/qf9d2DTOU25CKyw7TBs8BQ5AtMtig8HLi03UOSDPFP9bx+lHuTNXmixwODShxlHtcOop6agiBaxHnAGZ2kkcUukaRLuFgimB2Hw/crZN3fLPrmIxA+LCW1edkCOeZBaovKa73aa/DNsUr3G4SEInovCznTAKCO0k2LZRJuW+Z8MDbbjpMRrT6XYKc+lfW9aKMhb0Yj/M+DyEed3Tbi+ptB68kojAcUafOLYvcx1DMXprvGDlEMVq3XxXd9A=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 14f42a90-d42f-46fd-fba3-08db2a0bdaf8
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 12:57:41.4032
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kkhiou9ehYX7E2jK7hQXJwpSIcQ8hj3PhXvvQQpN79M1sk393prQWSTsk0YNtpHbvDmR+nbGokaT+tYBqQDV1GqDMBZI3qiQo0MasDWMzLQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5320

On 21/03/2023 11:47 am, Sergey Dyasli wrote:
> diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
> index 265f15ec2d..f2f6e4348e 100644
> --- a/tools/libs/ctrl/xc_misc.c
> +++ b/tools/libs/ctrl/xc_misc.c
> @@ -226,6 +226,26 @@ int xc_microcode_update(xc_interface *xch, const void *buf, size_t len)
>      return ret;
>  }
>  
> +int xc_get_cpu_version(xc_interface *xch, struct xenpf_pcpu_version *cpu_ver)
> +{
> +    int ret;
> +    DECLARE_PLATFORM_OP;
> +
> +    if ( !xch || !cpu_ver )
> +        return -1;

We don't check parameters like this anywhere else.  It's library code,
and the caller is required to DTRT.

Also, we're phasing out the use of the DECLARE macros.  This wants to
change to

struct xen_platform_op op = {
    .cmd = XENPF_get_cpu_version,
    .u.pcpu_version.xen_cpuid = cpu_ver->xen_cpuid,
};

Both can be fixed on commit, if you're happy.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 12:59:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 12:59:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512610.792608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pebaV-0006eJ-FU; Tue, 21 Mar 2023 12:59:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512610.792608; Tue, 21 Mar 2023 12:59:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pebaV-0006eC-Cs; Tue, 21 Mar 2023 12:59:39 +0000
Received: by outflank-mailman (input) for mailman id 512610;
 Tue, 21 Mar 2023 12:59:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=gvkR=7N=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pebaT-0006e2-Qt
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 12:59:37 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a6061cf-c7e8-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 13:59:36 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 CY8PR12MB8298.namprd12.prod.outlook.com (2603:10b6:930:7c::20) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.37; Tue, 21 Mar 2023 12:59:32 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 12: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: 3a6061cf-c7e8-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GExDihwFaTWNKejISg/vq75K+wnv0aHUCQXFdjsjFcWPPqgG2JLZGVbg21b094C8qxoHgKFH/ugA+qnGcETUP5sYMrTBkYBxYfe9PkOOlCYaMLVVkln744YJAJvb1lkM7wvDlbFdcm0UL0COBPUrChae5lvVEJvPuAPlnmafU69/SS2wVchfiL7iYdSWt6/6ZxgmXHHFlZIIvIfRUipE4tH2vXflkLWa/FMVHPm3F1L3fWmV1faZZdBGnkC/UGycDpval4vbYzjh2p5OkwuP6Dq00LdZZG1RRKkqgoAQtVI3OGlI0TDBD+CY+ID7L1bChjkFMC90NLKp5DyRmfHDtg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JY/S3ATxP/+0mwpGLVVfmO21NZOswhDnZIU04JyGf7s=;
 b=SUMAYRIbydVHzTXxwY0j68gTWVZi+Kl/LGWHk/CghO678IV5yUCbcMxIl8oDCPrB1Yke8jV92ihGzSsffYPz+b0BdD2k60JQg47NvPiinFCjHuqbAv8sFJA8Ilyy5HOjS1IUYyq8HfTp/QWhYovR1qHe1oQBJBYRvxop0fUDUju/oxL+Rv6pUA3656EJfp2hOKhYYhIxm0hBrkAiq4Sfs866riA2o5FhUNRD+9G+UD7JJSBnS/od4WzGBjvH9GKgRjm5RxxsJFaVdJcMO6sBmtZxtB45CSmfS3CG50xRtvMszxAuMk/oCcOqllH5hiKmvtRS/KvlO11PClwU0lhzbQ==
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=JY/S3ATxP/+0mwpGLVVfmO21NZOswhDnZIU04JyGf7s=;
 b=dddBdx8+C3VI6DBuN1jo4/pXtaJQRwCfuH3+TVu7TI2/zKV/xpA9Z8NjLy7FG2+Lk7aqGmPnl/cOl7+wpT8r+7eYuPDi2N1s+cCnJEXst5l1Lwbg8clvSJgEazuREksCcK4lRK9YrIdHLJAvFTcMHcNfdres3wvqO/uEREh9sGU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Tue, 21 Mar 2023 20:59:03 +0800
From: Huang Rui <ray.huang@amd.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZBmqFyvCarjGS/qF@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com>
 <ZBl6iU6T1CsWqVx9@amd.com>
 <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
 <ZBmDl8XjIos57EIy@amd.com>
 <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
 <ZBmZxnyZWrni57Ry@amd.com>
 <ZBmhJfBPtdLPi7X/@Air-de-Roger>
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZBmhJfBPtdLPi7X/@Air-de-Roger>
X-ClientProxiedBy: SG2PR03CA0111.apcprd03.prod.outlook.com
 (2603:1096:4:91::15) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|CY8PR12MB8298:EE_
X-MS-Office365-Filtering-Correlation-Id: 2de9a5f2-d426-4efa-893c-08db2a0c1d18
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PtyQXHi8pkXq0bkwK8Q2hBlXlCav/fcmg8G9IdIKgUXVttZ3QI55Z6TSd8nx2V9QSql+sOKABglOZcihlDyRcJj04e6z/UaBUvf3rajy98foaJnk+dAa76vzi5M7kPRvjpAd1uLzND+2epwbz8GhTQz6GQav26U8KF+MGizCZiB4gtwg7V4U99FYxVTc1bR1LFibSpkykAREtfCrQPC0wcF8V1+BSWFc/5NxkdSPSGYvQoHgQVJKP3n5r66+SSpr39rJV6q3M05wLq29hzsU1NGC0LFoTSbkOVXwnqqoARp1B3GUucrEnc9ve3r0stqbuzomsHH7dX5S+CcOFbFdUZtIZzU/1pVcwLd7LyMqthTF2s8AJSxtw1s53zUMn0Glemn4FicQbjunAwLxZnb9NpUHc9qHB6Uqh++QUkVW/T7R3D2bxcqX56DS11oxI6juiVEUjWEs3j5vJ4hqG/zfE2HwfFAlYZVi11+y2gwW/k5kFUfAJaM77h7Ph0vYiHkYoXz0G2IkBGfitEs4EN7A711Ac148/JLtNgndBT4mYUZXxCxSeoBUNRx33xqqh3hnZ9/rHVgCnVtzt/nDCmHl0N95p3yPfgdi+usqycu9SYkqv0ExayaQ7MsG1A7aJjSr5nNvbwm31nmCYtfZKsSiZA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(136003)(366004)(346002)(396003)(376002)(451199018)(38100700002)(86362001)(316002)(54906003)(8676002)(66476007)(66946007)(36756003)(66556008)(8936002)(4326008)(6916009)(5660300002)(41300700001)(478600001)(2906002)(83380400001)(6666004)(2616005)(186003)(6506007)(6512007)(26005)(6486002)(53546011);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?iso-8859-1?Q?TR1EzD2wJArNgjRNV1820GFPN1V5xj2fmRQBX/vLRl18OS955muoyU/KET?=
 =?iso-8859-1?Q?gH4fRuGIF2lmyAS/ptpd3aUYb6LiEKTyeRxIoYZOQlwNuMqkl8DLjIBU9m?=
 =?iso-8859-1?Q?cMTk7B0hZUf+nKxIZNs3r414KYhmcy5tQCjLegjTArtYC+hv+wXbCZtue+?=
 =?iso-8859-1?Q?zoyOf0gMMuvq28rg+y7KVn1u8yZncpcIwK24EVOF8YVhkVVQsATc5MN2xi?=
 =?iso-8859-1?Q?VI8nseHwDpQMt0sumcZCw7BAbewiaQsYBkYqVPgS2eSgwZDHqiBzpo6iQa?=
 =?iso-8859-1?Q?wxyhftrcb1162ShsCANhkfHy7VbfbUEzCzdL8rVbzaGkGy+EJXtnScd5yh?=
 =?iso-8859-1?Q?4uN/MM8Midoo73iTS/roaOL2YOa4QYW/gZrNfPUmuUo1C+hp7d/LNwcnoS?=
 =?iso-8859-1?Q?uIJXfWzSC5oeVwxDJYvVNtG3ksvXWmHrGHh5yRKPHIPwhSPjHnuvKHKGx3?=
 =?iso-8859-1?Q?1xa5RFNmHT73Wd+aFHpqJ2nNlE+57HQH/f8r5BeLt4POlQxllISad0v1xl?=
 =?iso-8859-1?Q?OGWlWGUQfYYjMbRMnCeummZJTzFUHEmBr5ReeH1ICMgpz18k2RY63xs6YR?=
 =?iso-8859-1?Q?cQWkS6vH7dUxzBNLpRFDR4TlmwYkWS8QTdDKT9sFMHR09p7/opyQg+Ts8M?=
 =?iso-8859-1?Q?hZ4cLX9NjmHFVUMZ2q5Rw9xa3HUlxJnbgvIKtl2ca6Txp+x0q7aTLYW8Wo?=
 =?iso-8859-1?Q?C2JuQlUtET6MobV7+GHDT2FfA/uN80pum+6gizX4yb8OHbwiox+7oIiR4e?=
 =?iso-8859-1?Q?xTz5bzafvJynUlhbS1B7We17gVVAkwgLk01dVk7Hewi4Pz4GdbsnSdsRUL?=
 =?iso-8859-1?Q?OEFPwma9qB1MzDXyHAbOpwaB3V2laa5Rw74pThi7+cs5tIJGeF4hGA/O/D?=
 =?iso-8859-1?Q?vm5RuzKvNTk26K3JcASRf7pBQYCaR8mHQwgXdoIhNdhPuY61DVUDtDExFS?=
 =?iso-8859-1?Q?mw2/48eQoMlqbdfZJpZPjLTnjD3EzI6DhAYSyOPyyw0MHBYg1OfR1ddG72?=
 =?iso-8859-1?Q?5qxTU7d+rsy5qF1wJJ8JhZ4W1keaTTkpM1TTPY97glSAhZN7SgXd5rXPSj?=
 =?iso-8859-1?Q?cHNgFKreOe5xUJUP2iOQQeKRWHP7NSI13SKAxmPXaHbYw3wjVCKlbhhWph?=
 =?iso-8859-1?Q?Nejx5DcxZPZ8Gdg1q7ykSybDBXqBSYDyCDN5kqZwve2JkJSRrUpvaTiRTP?=
 =?iso-8859-1?Q?AuRyA3KbZmSpsnrQP2QAMvv7QumxO2HYn9nPc0CCn9BD+LB987ESamvi2A?=
 =?iso-8859-1?Q?ZVc/mc8OTsSTYWzydI0IPfsj1GYAPw1rBLBwZZLZ9qUkKwTizZh1lxXIQs?=
 =?iso-8859-1?Q?kO2qTkmzG4WnXC2K+fyzlV3E7fVZssotInUNxqXI80l7GYpQYlY9+gzAfI?=
 =?iso-8859-1?Q?xmVlP+SUJJg/9pphfIPfY3QzAb8oe63cFUlqh4czEkHF0QaHi6KLy+SbG2?=
 =?iso-8859-1?Q?ShLg2SgEwwGVXZkQC+S7VrVSEFSIf2ajNtedZhzdw6XuQxSr7to7xARYQL?=
 =?iso-8859-1?Q?Mb8NajERxAxb6L/6xz8eR8EpWSnZk0DWxhDR3AtBVE2T0WL/ADRfWS2LCy?=
 =?iso-8859-1?Q?sZPWwoPQDgASgCxVBgbBlTwCmPNnt98X6YblbbdJgyEGN3A6RWBirTn688?=
 =?iso-8859-1?Q?LOBSt9IP5IYXd054d7xHPTRMKAVOGB182V?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2de9a5f2-d426-4efa-893c-08db2a0c1d18
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 12:59:32.2303
 (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: 9ivCBATVz4qsqrRhNJyF+hihNV+Z+QdTT8TD0XAHgaJ0w1X+xzLceHb7Oy3O7vRFpngmmadIxkreftxJq+S3GQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB8298

On Tue, Mar 21, 2023 at 08:20:53PM +0800, Roger Pau Monn wrote:
> On Tue, Mar 21, 2023 at 07:49:26PM +0800, Huang Rui wrote:
> > On Tue, Mar 21, 2023 at 06:20:03PM +0800, Jan Beulich wrote:
> > > On 21.03.2023 11:14, Huang Rui wrote:
> > > > On Tue, Mar 21, 2023 at 05:41:57PM +0800, Jan Beulich wrote:
> > > >> On 21.03.2023 10:36, Huang Rui wrote:
> > > >>> On Wed, Mar 15, 2023 at 12:02:35AM +0800, Jan Beulich wrote:
> > > >>>> On 12.03.2023 08:54, Huang Rui wrote:
> > > >>>>> --- a/xen/drivers/vpci/header.c
> > > >>>>> +++ b/xen/drivers/vpci/header.c
> > > >>>>> @@ -392,7 +392,7 @@ static void cf_check bar_write(
> > > >>>>>       * Xen only cares whether the BAR is mapped into the p2m, so allow BAR
> > > >>>>>       * writes as long as the BAR is not mapped into the p2m.
> > > >>>>>       */
> > > >>>>> -    if ( bar->enabled )
> > > >>>>> +    if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
> > > >>>>>      {
> > > >>>>>          /* If the value written is the current one avoid printing a warning. */
> > > >>>>>          if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
> > > >>>>
> > > >>>> ... bar->enabled doesn't properly reflect the necessary state? It
> > > >>>> generally shouldn't be necessary to look at the physical device's
> > > >>>> state here.
> > > >>>>
> > > >>>> Furthermore when you make a change in a case like this, the
> > > >>>> accompanying comment also needs updating (which might have clarified
> > > >>>> what, if anything, has been wrong).
> > > >>>>
> > > >>>
> > > >>> That is the problem that we start domU at the first time, the enable flag
> > > >>> will be set while the passthrough device would like to write the real pcie
> > > >>> bar on the host.
> > > >>
> > > >> A pass-through device (i.e. one already owned by a DomU) should never
> > > >> be allowed to write to the real BAR. But it's not clear whether I'm not
> > > >> misinterpreting what you said ...
> > > >>
> > > > 
> > > > OK. Thanks to clarify this. May I know how does a passthrough device modify
> > > > pci bar with correct behavior on Xen?
> > > 
> > > A pass-through device may write to the virtual BAR, changing where in its
> > > own memory space the MMIO range appears. But it cannot (and may not) alter
> > > where in host memory space the (physical) MMIO range appears.
> > > 
> > 
> > Thanks, but we found if dom0 is PV domain, the passthrough device will
> > access this function to write the real bar.
> 
> I'm very confused now, are you trying to use vPCI with HVM domains?

We are using QEMU for passthrough at this moment.

> 
> As I understood it you are attempting to enable PCI passthrough for
> HVM guests from a PVH dom0, but now you say your dom0 is PV?
> 

Ah, sorry to make you confused, you're right. I am using PVH dom0 + HVM
domU. But we are comparing passthrough function on PV dom0 + HVM domU as a
reference.

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 13:04:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 13:04:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512614.792617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pebep-000879-0p; Tue, 21 Mar 2023 13:04:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512614.792617; Tue, 21 Mar 2023 13: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 1pebeo-000872-UO; Tue, 21 Mar 2023 13:04:06 +0000
Received: by outflank-mailman (input) for mailman id 512614;
 Tue, 21 Mar 2023 13: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=gvkR=7N=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1peben-00086u-44
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 13:04:05 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20602.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d8e35107-c7e8-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 14:04:01 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 PH0PR12MB5451.namprd12.prod.outlook.com (2603:10b6:510:ee::20) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.37; Tue, 21 Mar 2023 13:03:58 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 13:03:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8e35107-c7e8-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QZFNFoMG4EkrVY94BOq09YUIbFxNy6lsKchTHeFAXXrsf7Ydz1REeoeWQt8bYcb7+B9pSekqL+GQbOZjrj9qa6Ob9pdd1OFG5rxZ5jQbxmeWYXAChCHrbPdph8qij3c1QbOB4+IMX5wU3GCuc6GPk2ymAMCRykfETUez5fj59uqe+kBJWZ6k85yh/K8ojY6aDiVODIZ5E8RLqapZmhgAYUZNs8fLNKZdns9Y+K7tdvpYSn8fN+fSuOlTnvLug/rsjahxPyiGvHb7CJtHskV+yLQtm755rDDcBWpRO8ucjFO1cdqbBnJw7SOpmozYbWqCc3xe50BQkeAnI6UNdhgCKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZNsBw1f0c9VM2c4M+5DsjAFNfnwqeTLoDS+Q9oCWx/U=;
 b=TSaZwo8Bzuz98gNQUnearfNztrF42Gb6y1xg7b+kSyPIwK+y53CRG+gEeFdCS1/mjugjHVNC4B8qT+5rQcdV3Xvy+jIrwLcdULTGxNBUTqwOp6eY/XkOwr95lPra2jODmR0r0DSHVLn9iqq4RIgNzQF9KoZ8ziuesnOXG2Bu5KlWAnvsF6y1dSd3z9SwCKi1hZv99EKLeplFGgOKhQvKiumQO+mBE0OlZIGLndUP3B+ayAyJ1h+pys3BEa4OB+zN3Kc5lnetAEBeGyD3Y53h3pN14QfYGfth2dgGhx0vlyXlVbGES6SwOZtX12SaMFwxhx9G+2rS+MW0ClJdH0g/wA==
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=ZNsBw1f0c9VM2c4M+5DsjAFNfnwqeTLoDS+Q9oCWx/U=;
 b=ql4uPnRTPbaT7p3y1gzIHe0IMkaJhuxE9m279NoCWo24xE0pX6ofYw3yQxtV08tP8auxUtx1Svuw8hGNkp6cAbb7cYZSXSbSTsByLRJ62bYwQLlO9VQ8LFv48VFHwZO9YoQZd9geHG4AYdV8gt3BGiMR9j+O2nDMwF350rQN/Ps=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Tue, 21 Mar 2023 21:03:31 +0800
From: Huang Rui <ray.huang@amd.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZBmrI3wrrwsK5Q+0@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com>
 <ZBl6iU6T1CsWqVx9@amd.com>
 <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
 <ZBmDl8XjIos57EIy@amd.com>
 <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
 <ZBmZxnyZWrni57Ry@amd.com>
 <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com>
X-ClientProxiedBy: SI2P153CA0007.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::8)
 To DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|PH0PR12MB5451:EE_
X-MS-Office365-Filtering-Correlation-Id: 78611c81-86fe-4e69-e277-08db2a0cbbb7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+z/xr6i2SSthK7hodvQT41ZHnTr2Ypsaig/fYIKfc0umoqKwJS3lJlDwsWa/oYDP3rlz1XLy5ZfVj3c1VcabQMa49A3HRzFz0b5pT2Qgkdz9zfR7dNnL2oks+4KjcgTyLmLO/q37/dAFXutaWmSW3tB5lvP/zbwH/IBIbiusXN5q45pF/Zs8z7FcTnSumPf9QuhekXS7SfMpGHvvz0fHrAfxWbgKUbdjPQEOyBTHBUaAW0VlthJJrqbl+cDoynOjbXz6HWaRtIOHFRgqdsWOFukv93tkLDTf1iDzG22+V5u6ima4I8neC8bl4TmfLw3MqS/Jw4egSlLgDdT2GsUybjmLnX+HB34G8+l6rGjhNQX0eiSg4mQXkHSqUc8L4usLMEjMNNj608Es/Xf1C5Mf+yZ4JyjrqgDmFrNyhAll8tydbGN93n2C1Fij+59lUhhl8e4m03W6xNQJiYt75izf5RFR1axKBS33/340b+e6IswzsOxAIJOeZBioKQJCt6f8WOZE5v0uvgkkKTnnX+kQJaG0166woMeWPDVngQKj78gsZ3Gi4ayl9jDEyffocS+y8kRq+Gb9fn7BsgMOGjASleyVWE5Nvnp3dLoZD4V24ZS5lWt5HP5gHEYb/K5xQYZhO+B0XAx859Qv72eaBeSkH8wkO/gjxOkkUa21+EptXDeUJsLfxk6tc7/B0BaN4g+/
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(396003)(136003)(346002)(366004)(39860400002)(451199018)(83380400001)(2616005)(38100700002)(86362001)(66476007)(6486002)(66946007)(54906003)(41300700001)(66556008)(36756003)(8936002)(8676002)(6916009)(2906002)(5660300002)(4744005)(186003)(4326008)(26005)(478600001)(316002)(6512007)(53546011)(6506007)(6666004)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?Jz+K/YwArp7Ljhey2EowOkvpTELtWQgor1LpkWIPPE2BJJiWvDxpIcoheuyI?=
 =?us-ascii?Q?OgtF+SlJ5OdJbJE5hV1FZsOIje9xAQhBuFwcqqzz/OiFq1j2ub8Amj61ci14?=
 =?us-ascii?Q?1nULoYncj3rziw9vVK8/yBtCSt0elJagFMmuRZh37MD2y43LZxf413n0fhI/?=
 =?us-ascii?Q?A0+DSyYyUk/20077JcJ/TO6kKkkuHc3SKlWytfijBx6fK8kGLieVGtpeE9iz?=
 =?us-ascii?Q?qjeUQs1EsBldADf2DrUyJFa6J7YEYdIYZ9aeYA+GmZ6Lf82fh9oXT/WksA+f?=
 =?us-ascii?Q?ykL0q0Yp/VL1d4Mr0o9uWjdDnU+yVs95tcBx17xfVKx2ZNwFSRUTkI0p4t1+?=
 =?us-ascii?Q?WprTyGQUmlOUIogPGBHwAQif7jrqWuufK78IUsiWvw84EGFY6hFbwWiyPRUZ?=
 =?us-ascii?Q?atqTlb9Q7K4MoECqtDDae00qjkzD9p5umWZjBglD/YBA5RqaF3UOhugV1ZPe?=
 =?us-ascii?Q?rqgZfsGVa+a2Ls2JEC2086M1JDt1MlfU2zBv+sHkgwmTbooQTDFzDf9UI6Ix?=
 =?us-ascii?Q?j6MjHfMHfddSODHUgm/yRwN/k+Qd0amlQvEPR8sbMVZ49WA2SVO9eVFNCvZk?=
 =?us-ascii?Q?k58ixHJZoPdN3uPwxRXEK1WITkR4CIPb0q0urIFey8mmWYtkbTV7PFaHCk/b?=
 =?us-ascii?Q?xrEQrEBF2jG3ufxL+JZ3ztBUdm/zMVFomTnM7lRK8fhselJ2BQ1aOKvOVrB8?=
 =?us-ascii?Q?UmPV421qlAnihMYiLSfVcnVrLZ7JLcDGtekxTU20pT6cE9tonY8NCwbOQi8M?=
 =?us-ascii?Q?4sfKFUnq5ESu9H1AwzczIwvwvtfRIGvTU79NIEtO4rD6WS8YEoenEgJ+xg4c?=
 =?us-ascii?Q?zjFEQxAI3neZS1YmST+T1JWNcA8+SQ8DspTsYeo4Tv+tHoLrySue8Xme4e+s?=
 =?us-ascii?Q?XgUoZe+n5kw1Gx+qk70UKVicrAMCoDtaNAWJNySDHCPTHwJnKou33u/4zVIh?=
 =?us-ascii?Q?9tSLuhllxWUnV2tGoDVDn4sxraelQiOBLAEqGyfskvn/JK3/3dhl7KKQCkqy?=
 =?us-ascii?Q?DIT1ROAjo7bIOIWRBcseso1qsojvPpVJCyv4QcMHMbuJ9NyzjybZkCZYUg0A?=
 =?us-ascii?Q?ePeOGBg19Lu/MC2oH5oVvF2cwvoji69muNl05wEHc5SIPZxYg8So/gANTkJX?=
 =?us-ascii?Q?ovQ1lzwgs6cMhZ0hSK5nDjLJ7//601ATKYVtNqU55+WbYge/XvWgbm47Unvj?=
 =?us-ascii?Q?N2XifMmWs+H7C5T9yyNdtMDAnspGtVi9PHHlHlUqycUHeScZXX7VrzemV962?=
 =?us-ascii?Q?MQkr2zZasgDHzCLvjTTApNVn2sv4ziUYIMnKwIijiytLwjkA5h3G/0LBNuOr?=
 =?us-ascii?Q?y6AaPqkd+LcSwucVEykNypGKHFBF+srPV5CHhNdtw4wHMLT0b82vtZ0bDSdN?=
 =?us-ascii?Q?Um5xCB+rHXXb1DGWSv1NYpVPmMEtooAgp0F6qRsYCRp2jwSPr9Vt66q8jgIx?=
 =?us-ascii?Q?SJRbhWv9hDJqosoOzZZgtdF3er2TdGDYY/REJfr1NJggKnRIkwUa9HevM5Uj?=
 =?us-ascii?Q?iW60n0BmPNj30R352PbPtbN8a1iybz1VxsIrAQ+MkbJDrwVUFNZwigXB5Y+W?=
 =?us-ascii?Q?xH0KuTozPHTINrN3e0XkSFf47QRSxxzZ/wOz8+ft?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 78611c81-86fe-4e69-e277-08db2a0cbbb7
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 13:03:58.3234
 (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: 5Hby9UtYHWHofbebKzWBrL3zHXE5/oNn/6Fe+JTCcRKO799mZuqPxrT5YfNTOkpm7bsaPa4g3CKAv4wJuDr9UA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB5451

On Tue, Mar 21, 2023 at 08:27:21PM +0800, Jan Beulich wrote:
> On 21.03.2023 12:49, Huang Rui wrote:
> > Thanks, but we found if dom0 is PV domain, the passthrough device will
> > access this function to write the real bar.
> 
> Can you please be quite a bit more detailed about this? The specific code
> paths taken (in upstream software) to result in such would of of interest.
> 

yes, please wait for a moment. let me capture a trace dump in my side.

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 13:07:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 13:07:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512617.792628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pebhx-0000HN-Fn; Tue, 21 Mar 2023 13:07:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512617.792628; Tue, 21 Mar 2023 13:07: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 1pebhx-0000HG-CM; Tue, 21 Mar 2023 13:07:21 +0000
Received: by outflank-mailman (input) for mailman id 512617;
 Tue, 21 Mar 2023 13:07: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=gNSa=7N=citrix.com=prvs=4373eb648=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pebhv-0000H3-5u
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 13:07:19 +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 4ba770ce-c7e9-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 14:07:14 +0100 (CET)
Received: from mail-dm6nam11lp2175.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 09:07:11 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6252.namprd03.prod.outlook.com (2603:10b6:510:e6::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 13:07:08 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 13:07:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ba770ce-c7e9-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679404034;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=UCdRnpvaXdLJEzjo/YsHzG5xvQmWuhDQ4uE8Tm6cjjc=;
  b=SL1feEPLoYQFe9jgreQDIMESxGnwrSqm+WzHFckj/xjhihjViBbrmLrg
   z2ph3D5bfV7zBl2LShcTBkJXYUZv5RBHvBaz4yvYzC+/Dag3e+r0Ejoif
   F1eNdIzPtI6bRXSHdmY1/nap+MoThacDQakiosKmw2E6eYdP9hnaGCzwf
   8=;
X-IronPort-RemoteIP: 104.47.57.175
X-IronPort-MID: 102116501
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:B50XH6p0M24lrBtqlsx+o5oiIIBeBmL8ZBIvgKrLsJaIsI4StFCzt
 garIBmGOq2NYWume4x/bo6/oEpV6MeGyoNkTgo9qis2RSoT+ZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSBNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXABQkXxfTnb3o+a+ERM82oMYKFfXRGLpK7xmMzRmBZRonabbqZvyToPN9gnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeeraYWIEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhrqQz2QPOnjV75Bs+XFq6+vKyiEqHddMCM
 EAb4REeo/Jo3Rn+JjX6d1jiyJKehTYMVtwVH+Ak5QWlzqvP/x3fFmUCViRGatEtqIkxXzNC/
 l2Dks7tBDdvmKaIUn/b/bCRxRutPQAFIGlEYjULJSMH7MPku5oblQ/UQ5BoF6vdpt/oHTD9x
 RiaoS54gK8c5eYQzLmy913DhzOqp7DKQxQz6wGRWXiqhj6Vf6agbo2srFTes/BJKd/ASkHb5
 SdZ3c+D8OoJEJeB0jSXR/kAF62o4PDDNyDAhVloHN8q8DHFF2OfQL28KQpWfC9BWvvosxewC
 KMPkWu9PKNuAUY=
IronPort-HdrOrdr: A9a23:cgYRb6pvjGXiGye56cHfl9saV5okeYIsimQD101hICG9Evbzqy
 nIpoV/6faUskdyZJhOo7y90cW7Lk80lqQFgrX5X43CYOCOggLBQb2KhbGI/9SKIU3DH4Bmu5
 uJccJFebnN5VsRt7ec3DWF
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="102116501"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EcxF3/RQCeL7OtEjuAmKf1+m5BXkzE6av17jdHI17rXKZszQIDPD4gpHtIvEX9XZOVggjHKVwD/+XmDDPo/G8qN+49DyD/X7L6F24eYCLInZwQfx8dDxA7WHA4OpfUYHhsWjmnlmWboxOBk2ddqB/uE5x3dxrrz9oRSFayqjRe4eKr/RRsgEQII9wqMYgcctjiaU8JNw2ze7CrkBeu9uMFGWU5k1X93UXrW16YbwVpZeIu66ODGm2ecRFzEwf+099aOLyb+DdupmHAp2+mwv27jXn9BLOPUhu0qhJRJJ8akX3DXnm791lWf0uLN4b5E5a7379rQFsUFlLcU+IPEr1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E1q5RwVhqWVRc9D7jH/SZU5ZE68C1KdZ5LX16hTcv50=;
 b=Ok7V1SIhe1z4zlg45HgyLGadGcVme/M0aRY2w+VvCs5+4ksQYtn7C2nWxjWUwH8Z1S04Uazb1W2CBMP315ROlmJS8rfoRFf/WV98x4EVNL68PCIA0oID+YVpZ8Ew+5t4iBjQlkkqKU0gTk/g1n1UrCrt79EefmMPMkvSoE6Sz1UK8NgVd1Vkw19JmFz9aD1hwap9gnMXdRNO7vrvHTUq9iqDzpQ9lIpHQhKMxAJ/Yd9z8CLZ86YQZIxcQVpSgpiWcUrL/DtT3/IvioYMM0p28Yp2Rbf2YbZSnwLR+Q6qG2D2cRzLeCF6bWhcsHtMdrc+lQPUgJg+HqVBvA1juIrC1g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E1q5RwVhqWVRc9D7jH/SZU5ZE68C1KdZ5LX16hTcv50=;
 b=qXVRGpjchHgzXez5izmm7xLKfDcO/qfZ68BOf4vRg+QOSTDsYIqtO+UoHYrmXm88xzuV+1sy9k4ouEMiWQHEYz0Dqmy/4rTEd6XDKUKfMYvG8WXsJYW5WI5e3tkdy1qqEVkufApw3gewmHhu39nJlmuvvQFuf/czKdj3I9jp7Dg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <7736223f-ee49-5708-f871-60b45ed1ffe7@citrix.com>
Date: Tue, 21 Mar 2023 13:07:02 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 2/3] x86/platform: introduce XENPF_get_ucode_version
Content-Language: en-GB
To: Sergey Dyasli <sergey.dyasli@citrix.com>, 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>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20230321114745.11044-1-sergey.dyasli@citrix.com>
 <20230321114745.11044-3-sergey.dyasli@citrix.com>
In-Reply-To: <20230321114745.11044-3-sergey.dyasli@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0271.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a1::19) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB6252:EE_
X-MS-Office365-Filtering-Correlation-Id: f05185b4-f43d-4fe3-2b54-08db2a0d2d20
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PiJnPa1+9T25HY+mhn4PJd5Y1SY717tjnRG2Tvez/BoE+6FPgIOqt+LUl6oDCTRYAK6kTXkHQEBivKkMfntbkvzc1jBlLdz/C/2jbDEYM9p5cZxFIRqsNpaEjd1Wa+eHvt3j3NNTiYOEeyXUGh1fE4gMFia4HP6sHWbc6GT7GVgHo2ZsNWSVTDRn2CC2Rfz1k1lkI+9lt0J2lReSfOOQKWxFFr/v1Nd5suCrcCeTfM/8wcwihzHlOpbN1B+Bzr8a7c6J7IGtIKIZdrBIkUCQbGMF4pBjdZGmT6pIfslOqw2Mo5c4OLIzf6eVjGPZyJpspECYGvgcxiDBBX6AXWByojrfoqLzcsf7iyCleZMyr9TeP5+IfiUHNkzmUJdfqkviw9brsqV0uFaSOH5uej3pHGknyzGlbCykf7A6CGutYp7OB3gGoNvlfB9g4dSud0sYw9a5B7q776wMfOOm6BJyd+84tQibq6PRR5dGud7kg9RcNlPCBfGYmVwpshnWkhx/E96yvhSs0MVujj9maX9XKsgRIz8gTjI9doSV1ZcP5Nc9JP6KH6DCKoFVPV2GLlAGWVsNXKxk5zeJP1qgZdZ5nSc+8UoIx0Pha9E9/M23HpX+W/CPWjEXhHwTNQonoCacuJE8Bv4Bh+YMOJgP0vvawn8bbyOxJu7tiaWP9QTghGCVTMk//GjMdXQHrDsByRUV6M8eFyes+lfNtwB9De/RP/u1+3odYuJZmhXlNQ0KTwM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(366004)(376002)(39860400002)(396003)(346002)(451199018)(8936002)(5660300002)(7416002)(41300700001)(86362001)(31696002)(36756003)(38100700002)(2906002)(82960400001)(4326008)(6486002)(478600001)(83380400001)(6666004)(2616005)(186003)(53546011)(6506007)(6512007)(26005)(31686004)(54906003)(66476007)(316002)(66946007)(8676002)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YzZoU1gvWmJsTHFUNU9qM2RlbCt1bVNNbGJvYld1clhqRXhGak5rbE5IZ1pR?=
 =?utf-8?B?aXQ0NnRmRGVJVE1KcHFlZkdjcnpzMVRHd1dtUVNzMjJiSjdVRHhQdDZ6ZWJn?=
 =?utf-8?B?QkFlM2VqQlNQbHZzbmZycVlieDdjQlNmZldrckFOMFd5TzMzWEduWDZaMFRj?=
 =?utf-8?B?Z1VEZk1oY0FrS0x5VWJpNVpTVXkwOU0rREJYdXZuZTJXelIybWlmdlhMWVlY?=
 =?utf-8?B?Q1ZRMmVGUjBxSjNreTVLcGg2Q0lGSlk0YmduZFB1M2hzdm5UUnIwK050SHMy?=
 =?utf-8?B?d3l3MUpNN1VpZGN1cGRkNTNpNlcwVnl6a28wWlZLQy9BaUtsVzRzZUZCZW5s?=
 =?utf-8?B?emRRVnhOZW9JTjhBajNUSzZZYTlmU1o0YkVOUStuZE5ZbXR5eDNObm1qY0Vi?=
 =?utf-8?B?SmM3NnB4cmdDSEhiMEpnVVBnOU9uOTI3ZXY1eXBDbkFMbmxhZDBxc1Rld0RV?=
 =?utf-8?B?UXNqT0dWTTFBcnZoSThQRnRVYVkySEliTkFBdDYrUFRMdW9xZWdsVDQzYThL?=
 =?utf-8?B?QS9jd0xQWG1CaWcrbnVqbjlXdmt1OThtZWt6YlpsbW14UU5WSnVFT2UwbWhh?=
 =?utf-8?B?My9kWGRJWnhHcE9tVzM2b0Zxa2pzVDBndFpZUGFuQzRUOW9NUnRjTTBPcGhH?=
 =?utf-8?B?L0pWaFFXSEptaitiWnF1dTRlcStrdGErVVdkQWl0SW5SZSsxU2o2bWdXRHQx?=
 =?utf-8?B?dFZHSWRkMk9nNEtsemdPQnZrVEw1aU9VSXZYTlBaa3JRVkNmeEEzTzc0eTRV?=
 =?utf-8?B?djI4OTFHUTN3eUU1YlFNUFVaQVgwU1VrL1RnMG1WVzJXNG5tWW9lSi9kN1F0?=
 =?utf-8?B?SUU4N2VDV0VQdlZRVHUvUmNXM0RsdjVta2w2UWRJYkJZVG9JeXg3bmxNRm02?=
 =?utf-8?B?emxQL0IrdlVZenhCN3BIZnRCbTBhdkE5czNzYUNoUEJGQm9Bck5Oak9yWnJ2?=
 =?utf-8?B?K0hKREE5VzdWR09CRWNncU1IeldxK3cwSXc1UVF5VHlwYit0ayt2ck5RcG1Q?=
 =?utf-8?B?WGFVQ1M2czdwU01EUFlWOWczWkVidG43NWZ1akRBZE9KSlRnbWt4UVZmS3F1?=
 =?utf-8?B?aUd6ZmdQUUVYYVlDTEZGenJnNHpsV2Y4S0ZBYmljOFZZVUw1OVV5YTdRYnlz?=
 =?utf-8?B?RnpwOHA1MHlqZTZ6Rjl5NW5HcHpxc3ZPVFBmc09ISlZobnZCWDR6NUlGd1BT?=
 =?utf-8?B?UHJzdTZ6THJucmczd3h4ZzM2QUlMcGdMcUlyNjhPWXlmWW5MYW84ekM0cVFN?=
 =?utf-8?B?aFZkaVJwclJhTE10MFlMNCtVTjhqc3UvRm5hY1prekE2dnpSbXZZNm5icEdm?=
 =?utf-8?B?SFZYVkUySEdadWZ5dlBlTkpYT2twd1FTUGtXQUJ4RnYzdnR1RTRuNG1mZ2NK?=
 =?utf-8?B?ZklZMWZDREZtZnBiZk1IM3B4RHlXeGZ3T3ljRVVEWVVKa2FuK3lTZEtnYU9C?=
 =?utf-8?B?NnpNNEk0N3pNdWdURVdRZjBHZGVDSGpyMUt5Rkx0VXBnNjZPVGVPZlZFVHNK?=
 =?utf-8?B?S0toYkhUbXlLdlppOFNUZ1RDU3JUMm1HeWRZb1VESXNhRUEwN1l3aDc1OXZ5?=
 =?utf-8?B?VlpOcUc2UXhTVkFSKzc5YXJwUURZNnJOZWJnUjRKRzJIR0t6d2ZJekttZ3dW?=
 =?utf-8?B?byttZTY0Uk5nZ29LOXI3ejg5NGNjYzZwK2daNlhJY3lQeFE2UXl6NVp1Slhq?=
 =?utf-8?B?QnJhVE91Z2JZc0JHcDluSXhPc3NNbHJPdkdyc2ZVUXZ3SlZZYzhSL1VYZEpm?=
 =?utf-8?B?eEp2ZzJjUzA4WURCU3IwK2JOVFpMZSs0TEFrMGY1RStSNGh3cDIza2J5VVJt?=
 =?utf-8?B?YVExQUxKaE1oS0R6QkpaVGFzemNQZSt0UWw3UVh2enU2U0ltOGJYU01vN0tO?=
 =?utf-8?B?MVVoQklxTTcwQjduT29EWWVWcFVGSHlnMG9PV0luaEZLbHZKZmtJYUdrZndL?=
 =?utf-8?B?M2lnSkdNK0tyVDAyc2MxN0NaeHRMUzhiaHNtM0pjbGxKVVRJZXMvM0xzUzBu?=
 =?utf-8?B?K0Rya1h3STkxcUdUQnpsamg2MEhqSmMzVjBDcGZQblBLQzJYSno3TnQyeGhU?=
 =?utf-8?B?WCtoSkVuKzNuVmczZzhhUGsvQVI1Y1NOQ1JPZis2ci9sNXN2cWpheW9raVhh?=
 =?utf-8?B?ellwNjFLYjBRMVdjeTZlRWxaYTYvZGduTzRDaENEbjJCcTI4Ui81RzRzOTFL?=
 =?utf-8?B?V2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	AbeQrnncYEEx9z2+b17wrYjdHogStFWKqw6+nXUiVuIY7vynvlOrspTfJoEtwRirnKiMAWzwG3aZARCUW3YXYFrh+yMCOus7HeFLu12Ft13UaS5Vk7esceDBcDyECKtJa2cdRyB88ejuDLctTkX/+qRmsDtRiW/9FozBqODFNIAMZz0kWyu/Sds9ey9LIB+KFz8ZuGA+6obSPAwSJyjNjcYU2Cz8Alkemqzla+AtjyPvacjYyMc4fPGuv3iVArWwWkVc6YSfyWfeZj+yboTqWACOvlZj7B/tS2HHPHMDaSKK6+iF6VDUsqP/+fDDHVTWhlu/Iu186t7OBCBdxTaFLUl50nGeumrhBWGQPEjO7bwO7L+vr94hfjf6Gvlvv1g9q2rAviX+JfDUYmUW1ZUNE87Xgz4bJuh1L94CtJRw0SFtfAajeACIXiSbRBbFFgp0cKGWlHlnAWtwpa07gSlRPXtdH9oFDYYiPcD2cQM9+RB39JKJuToYXFcvncoh7++BCcocTchkx5HsoVYcaovqOBZfFvx5PR1xwmjeq9LMin9OT6QLf4yvsmvX03ezUWPtwfWPtsJKclMWQBrgC+wzSSleHb+/rkqa/0FYgz1p395BNVIVCwPIsAVIRVvdsBVkUPwfl2GG0umlmfziNw0Z8XBpgqFVgeEkGOlBhdX2i5DsQBixacjwYAQa1/4EljXaIaTITTFAz8HyauLLyGKrH3MRY0RCU2beHwQ4eWgYSRYMmHpAuWIXCFdFD4pI50zUgG1jEGMwC6odrycNEMzvNcnW7PB1aU6mksyTfQxy8J6T9kI3mAkXgePwpcSnZc6ym5i6TO/8Rz5zu3hZ65IvxFYFXN+1I4GXDyhEZjbhQdI=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f05185b4-f43d-4fe3-2b54-08db2a0d2d20
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 13:07:08.5737
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RrL3vkR6+K//iUUTK1FMVO3dC4cH/1HMMn/LAehbasBkshd3F3sRYAE+puBAjkMjzSZMHrWLxN4pWwM6s2usxXMrdVEF2MI0LabE0WYDkr4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6252

On 21/03/2023 11:47 am, Sergey Dyasli wrote:
> Currently it's impossible to get CPU's microcode revision after late
> loading without looking into Xen logs which is not always convenient.

It's not impossible (you can do `modprobe msr; rdmsr 0x8b`), but it is
inconvenient for library code.

>
> Add a new platform op in order to get the required data from Xen and
> provide a wrapper for libxenctrl.
>
> Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>
> ---
>  tools/include/xenctrl.h                  |  2 ++
>  tools/libs/ctrl/xc_misc.c                | 21 +++++++++++++++++
>  xen/arch/x86/platform_hypercall.c        | 30 ++++++++++++++++++++++++
>  xen/arch/x86/x86_64/platform_hypercall.c |  4 ++++
>  xen/include/public/platform.h            | 12 ++++++++++
>  xen/include/xlat.lst                     |  1 +
>  6 files changed, 70 insertions(+)
>
> diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
> index 8aa747dc2e..d3ef7a48a5 100644
> --- a/tools/include/xenctrl.h
> +++ b/tools/include/xenctrl.h
> @@ -1187,6 +1187,8 @@ int xc_cputopoinfo(xc_interface *xch, unsigned *max_cpus,
>                     xc_cputopo_t *cputopo);
>  int xc_microcode_update(xc_interface *xch, const void *buf, size_t len);
>  int xc_get_cpu_version(xc_interface *xch, struct xenpf_pcpu_version *cpu_ver);
> +int xc_get_ucode_version(xc_interface *xch,
> +                         struct xenpf_ucode_version *ucode_ver);

Throughout, we should use "revision" rather than "version" as that is
the terminology used by both Intel and AMD.

>  int xc_numainfo(xc_interface *xch, unsigned *max_nodes,
>                  xc_meminfo_t *meminfo, uint32_t *distance);
>  int xc_pcitopoinfo(xc_interface *xch, unsigned num_devs,
> diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
> index f2f6e4348e..b93477d189 100644
> --- a/tools/libs/ctrl/xc_misc.c
> +++ b/tools/libs/ctrl/xc_misc.c
> @@ -246,6 +246,27 @@ int xc_get_cpu_version(xc_interface *xch, struct xenpf_pcpu_version *cpu_ver)
>      return 0;
>  }
>  
> +int xc_get_ucode_version(xc_interface *xch,
> +                         struct xenpf_ucode_version *ucode_ver)
> +{
> +    int ret;
> +    DECLARE_PLATFORM_OP;
> +
> +    if ( !xch || !ucode_ver )
> +        return -1;
> +
> +    platform_op.cmd = XENPF_get_ucode_version;
> +    platform_op.u.ucode_version.xen_cpuid = ucode_ver->xen_cpuid;

Same notes as per patch 1.

> diff --git a/xen/include/public/platform.h b/xen/include/public/platform.h
> index 60caa5ce7e..232df79d5f 100644
> --- a/xen/include/public/platform.h
> +++ b/xen/include/public/platform.h
> @@ -614,6 +614,17 @@ DEFINE_XEN_GUEST_HANDLE(xenpf_symdata_t);
>  typedef struct dom0_vga_console_info xenpf_dom0_console_t;
>  DEFINE_XEN_GUEST_HANDLE(xenpf_dom0_console_t);
>  
> +#define XENPF_get_ucode_version 65
> +struct xenpf_ucode_version {
> +    uint32_t xen_cpuid;       /* IN:  CPU number to get the revision from.  */

We commonly call this just "cpu".  As a platform op pertaining to
microcode, it cannot plausibly be confused with vcpus.

> +    uint32_t cpu_signature;   /* OUT: CPU signature (CPUID.1.EAX).          */

The cpu_ prefix can be dropped, as can ...

> +    uint32_t pf;              /* OUT: Processor Flags.                      */
> +                              /*      Only applicable to Intel.             */
> +    uint32_t ucode_revision;  /* OUT: Microcode Revision.                   */

the ucode_ prefix here.

I'm tempted to say that I'm happy to fix all of this on commit as it's
all mechanical changes.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 13:08:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 13:08:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512622.792637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pebiu-0000rn-TD; Tue, 21 Mar 2023 13:08:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512622.792637; Tue, 21 Mar 2023 13: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 1pebiu-0000rg-QQ; Tue, 21 Mar 2023 13:08:20 +0000
Received: by outflank-mailman (input) for mailman id 512622;
 Tue, 21 Mar 2023 13:08: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=FZzN=7N=tklengyel.com=bounce+e181d6.cd840-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1pebit-0000rU-CG
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 13:08:19 +0000
Received: from so254-35.mailgun.net (so254-35.mailgun.net [198.61.254.35])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 710fbd5c-c7e9-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 14:08:16 +0100 (CET)
Received: from mail-yb1-f177.google.com (mail-yb1-f177.google.com
 [209.85.219.177]) by
 88001cc23a1c with SMTP id 6419ac3e061a559e845abd7d (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Tue, 21 Mar 2023 13:08:14 GMT
Received: by mail-yb1-f177.google.com with SMTP id y5so16997754ybu.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Mar 2023 06:08:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
X-Inumbo-ID: 710fbd5c-c7e9-11ed-b464-930f4c7d94ae
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=tklengyel.com;
 q=dns/txt; s=mailo; t=1679404094; x=1679411294; h=Content-Type: Cc: To: To:
 Subject: Subject: Message-ID: Date: From: From: In-Reply-To: References:
 MIME-Version: Sender: Sender;
 bh=C76n9MzvuFEiEuZhT6ZAcEqNaf6oKUJutM+tFNJKj90=;
 b=Gh6Ry2qaQM7gm67UxLxC8juK4sLARCoVvsathWCbPRxtuurF8tlrczgtnUfH2z8ObfQp6fp0y3BvdSQaH1vNLCvCdzJV2f6MUHLPE9xw+kXWy+RUzDxwCdnqbO9hVjgHc7p1ij9B6uo7z3hPVLvQft/gfJIJksa615rPaR851tmIylUfpVOSVpLTpf3HfN+7Sd6e3CUd14yyYz17UO4/Cc/uODaod6JDU4ZdlpMDApVo7WkPgjEy1uxrPUyg2ogGvb0AY3U5AEzRAeNDJADb08DMbX132Y4OOspQR/W1MFMoKHnqk5XEw9UGtrn4CTVKZobSNZNJ2hy39MJsdKO3/Q==
X-Mailgun-Sending-Ip: 198.61.254.35
X-Mailgun-Sid: WyIyYTNmOCIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsImNkODQwIl0=
Sender: tamas@tklengyel.com
X-Gm-Message-State: AAQBX9fQ9h5pnUDm7Rg4MoD35Ps63heeHZih9jC4oH5FLbzwFmcpR4pQ
	Fffh3nYc6KzcrFs5cxR5y7gHyMWE+C8ygmq39Zk=
X-Google-Smtp-Source: AKy350Zs5bxYRV3+naK4t19NxKzg/7whL0BXfNUZcnW4yap2r/O7pcjH/2kUYsqNGK0cj96HDCTAL3YvvfQw0pZ15VE=
X-Received: by 2002:a05:6902:102e:b0:b47:9e93:47a0 with SMTP id
 x14-20020a056902102e00b00b479e9347a0mr1460849ybt.6.1679404094509; Tue, 21 Mar
 2023 06:08:14 -0700 (PDT)
MIME-Version: 1.0
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru> <CABfawhncTLzRvHYF3SyhdidfobP9PB3YOZ9oTjRREjKs07KtXQ@mail.gmail.com>
 <c5ea0f53-8cc9-509e-6c82-deea00f1ed74@list.ru> <CABfawhnRmGwB4VTx2i9Wg2c8dfyKqU5zM6MnWsMHBOfXA43+qA@mail.gmail.com>
 <d6c137a1-4662-68ef-1ed4-8e9355e0290c@list.ru>
In-Reply-To: <d6c137a1-4662-68ef-1ed4-8e9355e0290c@list.ru>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Tue, 21 Mar 2023 09:07:37 -0400
X-Gmail-Original-Message-ID: <CABfawhkbEkLOpQE6ZquAW5FnOmH7j-B+CCSUaYuDtM2_VKoXpg@mail.gmail.com>
Message-ID: <CABfawhkbEkLOpQE6ZquAW5FnOmH7j-B+CCSUaYuDtM2_VKoXpg@mail.gmail.com>
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
To: =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg0KHQtdGA0LPQtdC5?= <valor@list.ru>
Cc: 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>, 
	Wei Liu <wl@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Dmitry Isaykin <isaikin-dmitry@yandex.ru>
Content-Type: multipart/alternative; boundary="0000000000007cda4105f768bcb8"

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

On Tue, Mar 21, 2023 at 3:49=E2=80=AFAM =D0=9A=D0=BE=D0=B2=D0=B0=D0=BB=D1=
=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 <valor@list.ru> wrote:
>
>
>
> 21.03.2023 2:34, Tamas K Lengyel =D0=BF=D0=B8=D1=88=D0=B5=D1=82:
> >
> >
> > On Mon, Mar 20, 2023 at 3:23=E2=80=AFPM =D0=9A=D0=BE=D0=B2=D0=B0=D0=BB=
=D1=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 <valor@list.ru
> > <mailto:valor@list.ru>> wrote:
> >  >
> >  >
> >  >
> >  > 21.03.2023 1:51, Tamas K Lengyel wrote:
> >  > >
> >  > >
> >  > > On Mon, Mar 20, 2023 at 12:32=E2=80=AFPM =D0=9A=D0=BE=D0=B2=D0=B0=
=D0=BB=D1=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 <valor@list.ru
> > <mailto:valor@list.ru>
> >  > > <mailto:valor@list.ru <mailto:valor@list.ru>>> wrote:
> >  > >  >
> >  > >  > gva_to_gfn command used for fast address translation in LibVMI
> > project.
> >  > >  > With such a command it is possible to perform address
translation in
> >  > >  > single call instead of series of queries to get every page
table.
> >  > >
> >  > > You have a couple assumptions here:
> >  > >   - Xen will always have a direct map of the entire guest memory -
> > there
> >  > > are already plans to move away from that. Without that this
approach
> >  > > won't have any advantage over doing the same mapping by LibVMI
> >  >
> >  > Thanks! I didn't know about the plan. Though I use this patch
> >  > back ported into 4.16.
> >  >
> >  > >   - LibVMI has to map every page for each page table for every
lookup -
> >  > > you have to do that only for the first, afterwards the pages on
which
> >  > > the pagetable is are kept in a cache and subsequent lookups would
be
> >  > > actually faster then having to do this domctl since you can keep
being
> >  > > in the same process instead of having to jump to Xen.
> >  >
> >  > Yes. I know about the page cache. But I have faced with several
issues
> >  > with cache like this one https://github.com/libvmi/libvmi/pull/1058
> > <https://github.com/libvmi/libvmi/pull/1058> .
> >  > So I had to disable the cache.
> >
> > The issue you linked to is an issue with a stale v2p cache, which is a
> > virtual TLB. The cache I talked about is the page cache, which is just
> > maintaining a list of the pages that were accessed by LibVMI for future
> > accesses. You can have one and not the other (ie. ./configure
> > --disable-address-cache --enable-page-cache).
> >
> > Tamas
>
> Thanks. I know about the page cache. Though I'm not familiar with
> it close enough.
>
> As far as I understand at the time the page cache implementation in
> LibVMI looks like this:
> 1. Call sequence: vmi_read > vmi_read_page > driver_read_page >
>     xen_read_page > memory_cache_insert ..> get_memory_data >
>     xen_get_memory > xen_get_memory_pfn > xc_map_foreign_range
> 2. This is perfectly valid while guest OS keeps page there. And
>     physical pages are always there.
> 3. To renew cache the "age_limit" counter is used.
> 4. In Xen driver implementation in LibVMI the "age_limit" is
>     disabled.
> 5. Also it is possible to invalidate cache with "xen_write" or
>     "vmi_pagecache_flush". But it is not used.
> 6. Other way to avoid too big cache is cache size limit. So on
>     every insert half of the cache is dropped on size overflow.
>
> So the only thing we should know is valid mapping of guest
> virtual address to guest physical address.
>
> And the slow paths are:
> 1. A first traversal of new page table set. E.g. for the new process.
> 2. Or new subset of page tables for known process.
> 3. Subsequent page access after cache clean on size overflow.
>
> Am I right?
>
> The main idea behind the patch:
> 1. For the very first time it would be done faster with hypercall.
> 2. For subsequent calls v2p translation cache could be used (used in
>     my current work in LibVMI).
> 3. To avoid errors with stale cache v2p cache could be invalidated
>     on every event (VMI_FLUSH_RATE =3D 1).

If you set a flush rate to 1 then you would effectively run without any
caching between events. It will still be costly. Yes, you save some
performance on having to map the pages because Xen already has them but
overall this is still a subpar solution.

IMHO you are not addressing the real issue, which is just the lack of hooks
into the OS that would tell you when the v2p cache actually needs to be
invalidated. The OS does TLB maintenance already when it updates its
pagetables. If you wrote logic to hook into that, you wouldn't have to
disable the caches or run with flush rate =3D 1. On the DRAKVUF side this h=
as
been a TODO for a long time
https://github.com/tklengyel/drakvuf/blob/df2d274dfe349bbdacdb121229707f6c9=
1449b38/src/libdrakvuf/private.h#L140.
If you had those hooks into the TLB maintenance logic you could just use
the existing page-cache and be done with it. Yes, the very first access may
still be slower than the hypercall but I doubt it would be noticeable in
the long run.

Tamas

--0000000000007cda4105f768bcb8
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Tue, Mar 21, 2023 at 3:49=E2=80=AFAM =D0=9A=D0=
=BE=D0=B2=D0=B0=D0=BB=D1=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 &lt;=
<a href=3D"mailto:valor@list.ru">valor@list.ru</a>&gt; wrote:<br>&gt;<br>&g=
t;<br>&gt;<br>&gt; 21.03.2023 2:34, Tamas K Lengyel =D0=BF=D0=B8=D1=88=D0=
=B5=D1=82:<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; On Mon, Mar 20, 2023 at 3=
:23=E2=80=AFPM =D0=9A=D0=BE=D0=B2=D0=B0=D0=BB=D1=91=D0=B2 =D0=A1=D0=B5=D1=
=80=D0=B3=D0=B5=D0=B9 &lt;<a href=3D"mailto:valor@list.ru">valor@list.ru</a=
><br>&gt; &gt; &lt;mailto:<a href=3D"mailto:valor@list.ru">valor@list.ru</a=
>&gt;&gt; wrote:<br>&gt; &gt; =C2=A0&gt;<br>&gt; &gt; =C2=A0&gt;<br>&gt; &g=
t; =C2=A0&gt;<br>&gt; &gt; =C2=A0&gt; 21.03.2023 1:51, Tamas K Lengyel wrot=
e:<br>&gt; &gt; =C2=A0&gt; &gt;<br>&gt; &gt; =C2=A0&gt; &gt;<br>&gt; &gt; =
=C2=A0&gt; &gt; On Mon, Mar 20, 2023 at 12:32=E2=80=AFPM =D0=9A=D0=BE=D0=B2=
=D0=B0=D0=BB=D1=91=D0=B2 =D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9 &lt;<a href=
=3D"mailto:valor@list.ru">valor@list.ru</a><br>&gt; &gt; &lt;mailto:<a href=
=3D"mailto:valor@list.ru">valor@list.ru</a>&gt;<br>&gt; &gt; =C2=A0&gt; &gt=
; &lt;mailto:<a href=3D"mailto:valor@list.ru">valor@list.ru</a> &lt;mailto:=
<a href=3D"mailto:valor@list.ru">valor@list.ru</a>&gt;&gt;&gt; wrote:<br>&g=
t; &gt; =C2=A0&gt; &gt; =C2=A0&gt;<br>&gt; &gt; =C2=A0&gt; &gt; =C2=A0&gt; =
gva_to_gfn command used for fast address translation in LibVMI<br>&gt; &gt;=
 project.<br>&gt; &gt; =C2=A0&gt; &gt; =C2=A0&gt; With such a command it is=
 possible to perform address translation in<br>&gt; &gt; =C2=A0&gt; &gt; =
=C2=A0&gt; single call instead of series of queries to get every page table=
.<br>&gt; &gt; =C2=A0&gt; &gt;<br>&gt; &gt; =C2=A0&gt; &gt; You have a coup=
le assumptions here:<br>&gt; &gt; =C2=A0&gt; &gt; =C2=A0 - Xen will always =
have a direct map of the entire guest memory -<br>&gt; &gt; there<br>&gt; &=
gt; =C2=A0&gt; &gt; are already plans to move away from that. Without that =
this approach<br>&gt; &gt; =C2=A0&gt; &gt; won&#39;t have any advantage ove=
r doing the same mapping by LibVMI<br>&gt; &gt; =C2=A0&gt;<br>&gt; &gt; =C2=
=A0&gt; Thanks! I didn&#39;t know about the plan. Though I use this patch<b=
r>&gt; &gt; =C2=A0&gt; back ported into 4.16.<br>&gt; &gt; =C2=A0&gt;<br>&g=
t; &gt; =C2=A0&gt; &gt; =C2=A0 - LibVMI has to map every page for each page=
 table for every lookup -<br>&gt; &gt; =C2=A0&gt; &gt; you have to do that =
only for the first, afterwards the pages on which<br>&gt; &gt; =C2=A0&gt; &=
gt; the pagetable is are kept in a cache and subsequent lookups would be<br=
>&gt; &gt; =C2=A0&gt; &gt; actually faster then having to do this domctl si=
nce you can keep being<br>&gt; &gt; =C2=A0&gt; &gt; in the same process ins=
tead of having to jump to Xen.<br>&gt; &gt; =C2=A0&gt;<br>&gt; &gt; =C2=A0&=
gt; Yes. I know about the page cache. But I have faced with several issues<=
br>&gt; &gt; =C2=A0&gt; with cache like this one <a href=3D"https://github.=
com/libvmi/libvmi/pull/1058">https://github.com/libvmi/libvmi/pull/1058</a>=
<br>&gt; &gt; &lt;<a href=3D"https://github.com/libvmi/libvmi/pull/1058">ht=
tps://github.com/libvmi/libvmi/pull/1058</a>&gt; .<br>&gt; &gt; =C2=A0&gt; =
So I had to disable the cache.<br>&gt; &gt;<br>&gt; &gt; The issue you link=
ed to is an issue with a stale v2p cache, which is a<br>&gt; &gt; virtual T=
LB. The cache I talked about is the page cache, which is just<br>&gt; &gt; =
maintaining a list of the pages that were accessed by LibVMI for future<br>=
&gt; &gt; accesses. You can have one and not the other (ie. ./configure <br=
>&gt; &gt; --disable-address-cache --enable-page-cache).<br>&gt; &gt;<br>&g=
t; &gt; Tamas<br>&gt;<br>&gt; Thanks. I know about the page cache. Though I=
&#39;m not familiar with<br>&gt; it close enough.<br>&gt;<br>&gt; As far as=
 I understand at the time the page cache implementation in<br>&gt; LibVMI l=
ooks like this:<br>&gt; 1. Call sequence: vmi_read &gt; vmi_read_page &gt; =
driver_read_page &gt;<br>&gt; =C2=A0 =C2=A0 xen_read_page &gt; memory_cache=
_insert ..&gt; get_memory_data &gt;<br>&gt; =C2=A0 =C2=A0 xen_get_memory &g=
t; xen_get_memory_pfn &gt; xc_map_foreign_range<br>&gt; 2. This is perfectl=
y valid while guest OS keeps page there. And<br>&gt; =C2=A0 =C2=A0 physical=
 pages are always there.<br>&gt; 3. To renew cache the &quot;age_limit&quot=
; counter is used.<br>&gt; 4. In Xen driver implementation in LibVMI the &q=
uot;age_limit&quot; is<br>&gt; =C2=A0 =C2=A0 disabled.<br>&gt; 5. Also it i=
s possible to invalidate cache with &quot;xen_write&quot; or<br>&gt; =C2=A0=
 =C2=A0 &quot;vmi_pagecache_flush&quot;. But it is not used.<br>&gt; 6. Oth=
er way to avoid too big cache is cache size limit. So on<br><div>&gt; =C2=
=A0 =C2=A0 every insert half of the cache is dropped on size overflow.</div=
>&gt;<br>&gt; So the only thing we should know is valid mapping of guest<br=
>&gt; virtual address to guest physical address.<br>&gt;<br>&gt; And the sl=
ow paths are:<br>&gt; 1. A first traversal of new page table set. E.g. for =
the new process.<br>&gt; 2. Or new subset of page tables for known process.=
<br>&gt; 3. Subsequent page access after cache clean on size overflow.<br>&=
gt;<br>&gt; Am I right?<br>&gt;<br>&gt; The main idea behind the patch:<br>=
&gt; 1. For the very first time it would be done faster with hypercall.<br>=
&gt; 2. For subsequent calls v2p translation cache could be used (used in<b=
r>&gt; =C2=A0 =C2=A0 my current work in LibVMI).<br>&gt; 3. To avoid errors=
 with stale cache v2p cache could be invalidated<br>&gt; =C2=A0 =C2=A0 on e=
very event (VMI_FLUSH_RATE =3D 1).<br><div><br></div><div>If you set a flus=
h rate to 1 then you would effectively run without any caching between even=
ts. It will still be costly. Yes, you save some performance on having to ma=
p the pages because Xen already has them but overall this is still a subpar=
 solution.<br></div><div><br></div><div>IMHO you are not addressing the rea=
l issue, which is just the lack of hooks into the OS that would tell you wh=
en the v2p cache actually needs to be invalidated. The OS does TLB maintena=
nce already when it updates its pagetables. If you wrote logic to hook into=
 that, you wouldn&#39;t have to disable the caches or run with flush rate =
=3D 1. On the DRAKVUF side this has been a TODO for a long time <a href=3D"=
https://github.com/tklengyel/drakvuf/blob/df2d274dfe349bbdacdb121229707f6c9=
1449b38/src/libdrakvuf/private.h#L140">https://github.com/tklengyel/drakvuf=
/blob/df2d274dfe349bbdacdb121229707f6c91449b38/src/libdrakvuf/private.h#L14=
0</a>. If you had those hooks into the TLB maintenance logic you could just=
 use the existing page-cache and be done with it. Yes, the very first acces=
s may still be slower than the hypercall but I doubt it would be noticeable=
 in the long run.<br></div><div><br></div><div>Tamas<br></div></div>

--0000000000007cda4105f768bcb8--


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 13:10:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 13:10:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512625.792648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pebkw-0002Jj-8r; Tue, 21 Mar 2023 13:10:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512625.792648; Tue, 21 Mar 2023 13:10: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 1pebkw-0002Ja-60; Tue, 21 Mar 2023 13:10:26 +0000
Received: by outflank-mailman (input) for mailman id 512625;
 Tue, 21 Mar 2023 13:10: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 1pebkv-0002JM-1f; Tue, 21 Mar 2023 13:10: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 1pebku-0004pE-V2; Tue, 21 Mar 2023 13:10: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 1pebku-0006YX-Fw; Tue, 21 Mar 2023 13:10:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pebku-0006vf-FK; Tue, 21 Mar 2023 13:10: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=+aMr6ObBRZf24SzlcbPKYrP5Os9pSUWFzmUUtFnrmT4=; b=bprzav5beAiLv4OmAt7+mTLosG
	wVi5g2+LrxMtiAFyl8zwVKuUPBN1pUojLpYhXCpc4ArpAsjQXurHZm7OlwJiNz9+KXtWaBAj9voqt
	uBm4tXf6VY6xb1D4yw93UlbN6R7bkaFgauM6xqua5I98ymxrfy5L5H+byL0sL0rbnOAA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179838-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179838: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=f71f8e95c34fedb0d9ae21a100bfa9f012543abf
X-Osstest-Versions-That:
    xen=0d2686f6b66b4b1b3c72c3525083b0ce02830054
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Mar 2023 13:10:24 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  f71f8e95c34fedb0d9ae21a100bfa9f012543abf
baseline version:
 xen                  0d2686f6b66b4b1b3c72c3525083b0ce02830054

Last test of basis   179837  2023-03-21 09:16:50 Z    0 days
Testing same since   179838  2023-03-21 11:01:58 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                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   0d2686f6b6..f71f8e95c3  f71f8e95c34fedb0d9ae21a100bfa9f012543abf -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 13:32:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 13:32:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512630.792657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pec5n-0005CE-1G; Tue, 21 Mar 2023 13:31:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512630.792657; Tue, 21 Mar 2023 13: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 1pec5m-0005C7-Un; Tue, 21 Mar 2023 13:31:58 +0000
Received: by outflank-mailman (input) for mailman id 512630;
 Tue, 21 Mar 2023 13: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pec5l-0005C1-9E
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 13:31:57 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20622.outbound.protection.outlook.com
 [2a01:111:f400:7d00::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be7082a6-c7ec-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 14:31:54 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8288.eurprd04.prod.outlook.com (2603:10a6:102:1bc::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 13:31:51 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 13:31: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: be7082a6-c7ec-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kLxFnQSpeoXLRL0apQyheaYfGctP8184I2GKQXTdb38bOh8KWm3tbLVNT6TgDtuTTmEaiYXsQDWjx0M+/hgsJXy+sRwqJm1PxhoGeV8KWj7NSC/ZhXR2UbzNc6UEnxyCHthQZ7eAjPmhEPV09q4+xKUPxt6NMQd5R4MTlJDqGBlL8z2lAO1eBm+gXgA9DsWt0f9W6TmeqI4W2eLWcItzqRNT1gaKoD1DvHQTQy5eAtyGGE2Uc7YF5AST9KQFZn8Dg+qxS+wQLDsOwwi/OWPKMnjxh5ZZ+sIHLdBxMG3hUWmyiYdtltXugL9XiKMUb/d0WOJKvZEXO9idalYx+mXW2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sYlXL0vljiEbWbR7SY1Gkw0Ha7VVch68JKUN/LVLS9M=;
 b=V1iQ5OVh037uQz75tUP8CmOOXdZCoKT7S+/h2hj84XmmLxehFbOm22Faz9cJZFPlpOyDJOyHwEFoBkqCQ9nN1UQ+lPlCif7KTPVkNnPZ6Sk+LEmqpKNqfeYwlHlwA9HRhZ99pGzQrNVHF6lvpNQSEqP6PHA+kj//k/MfidYhlvzeem4sVAzoF83qVULDatBbQS1eeoRkexYGblTqIKEdtKN4IDhIiDROgEon0Da+lwM7od4JzPFU8hGbUFHZHgAB89G+eZQ/CGPprzzF7vk1yYnlWZue3rzdv989scsX4WGEWzCYIFj5HpfzMd6CUl5XxK+Y21edpM+n3lqQikObQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sYlXL0vljiEbWbR7SY1Gkw0Ha7VVch68JKUN/LVLS9M=;
 b=4CwApFFk3T5zOF+rzYIn+WfoZbbdLGCdWmBzTfxbfi/2BMvJIcqf6oPxyRSS5FPZDKE9yatgb3w+97mN5iMFrZKMMdEDku6o0pyFWgwwRCG5zyYFLQ3YDMxTkE7S6tQGbqDcp/YlcVSsdeYJLg883wh6xWATqp8uDUes0AXnSAI7kw//DEbzS61flkXZ7oX5Qk2IMWRXC/C62hstTVWbRsGGt2lut23bluRUB90c4Uaq4xkQ8Cr+Tl18rXYDqw0ITZvV4+Cl71WOzTd3kVLy7KCjLOW4pn8kjhRlvfLRj9j4/Ml3F6Ritkr0oTTnQq2EtHKgEDzH2qJLdnd/EYC8ZA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1f265a82-85aa-b2db-c2fb-182095446316@suse.com>
Date: Tue, 21 Mar 2023 14:31:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 2/3] x86/platform: introduce XENPF_get_ucode_version
Content-Language: en-US
To: Sergey Dyasli <sergey.dyasli@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <20230321114745.11044-1-sergey.dyasli@citrix.com>
 <20230321114745.11044-3-sergey.dyasli@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230321114745.11044-3-sergey.dyasli@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0068.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8288:EE_
X-MS-Office365-Filtering-Correlation-Id: 57dd17e9-1b4d-4a6b-2468-08db2a10a0c4
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:
	fzRug64DGFa7tLIYzFDUJ19hj+dCoGGZ1FqBwfkytX8jDAzRF0nedsG+MnpyYZFVd0RPcedZnSMv2CvO/oCpn+hTLAX1C64yjd8qEky2RybFCs+B9hWECvjOBwPQlSrWhMykAs8YsiO1x4JvIFuFih1tARPfV85CM32UIfINNv+Ew+ObtId3BEqpQ9r0FIVDOKW2whtQhLbOYa1970fnMD/wWh0oe+kVllRWnTg+V968wIH7UOcjvHrYbQ00GIMXr4vZJocP9zCP/jT65lNMWIiS1GjvHhnfTS3fGlRCvm1zEAfb9vq/plq+z5gvMgtPahaEQOrCg07Cdl1LqlI7xyTtga1UWQnwEPJi0nDembTtiIPiR3/KKooLDlzw4p9tFcz0hNAyrbWmN6r77j2+tVkFRTYKWgGybUm7Z5EQX6+sEMfqtklRblm2goEdLdHdVp2IuS+QCJp97ig+VFez9Ee43eruVZ/ZF9qyoZDYKhL92AjOeH1h3lc0ZkhTyBzGsoa9VoTFVec56aoBGNKVm3X3cpmfdPbaU/CzbgGyn8DdO8zCaS38NITuuFV63g0JKtZywbkScqNsmBASjErEhIsJL+VhJigvjd5b8TQ+1YRzqzf3LkYkqv1v90+hSi+segd2UojJZ161Z9ADjG7JAr+Q+v4wYEm/i4hfD1qtP3W2vPxGGZHIer/dgivxSR2tklfKJKgWrWUn2Vh9Cejkf+6oYXhbfb97fDNO1dvxnm0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(39860400002)(376002)(366004)(136003)(451199018)(2616005)(186003)(6486002)(4326008)(478600001)(83380400001)(53546011)(66476007)(316002)(6916009)(8676002)(66946007)(66556008)(31686004)(6512007)(6506007)(26005)(54906003)(41300700001)(8936002)(5660300002)(38100700002)(2906002)(86362001)(36756003)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U3JPVXRWOUs0VUh3WXQ1Y2NPdk1hazBtUWsrQ1lPbS9zelpXcE1wQkEwa1Q3?=
 =?utf-8?B?STc3MXl1S1hBcTNRRWlPd1JSdUhuWEJlNWlFS1UvSVVmbTdQZTRVenNReFAz?=
 =?utf-8?B?d0dqU2hnK1orbDM3Uk05cWF4MDBFbjVYaEYrMFFRU3IvaWVzVFBuZlFvSTVW?=
 =?utf-8?B?Y1A4SVA3OG9SYU9uR2x0MVJLd0lnYXZEdU9IWWp2MFJzeXNEYkdkamgxTm4z?=
 =?utf-8?B?YWJYYjVOenQ2YTlhTjNJbk8xUW5rSHJRcE82RklqZ0hFMWozbjhBUGpmdFZw?=
 =?utf-8?B?OFVlMTJ0RWZLQ3ZoNkU1YW5BbFN5WDhtaTd5cHN1ZFMyTmwrbnJLdnRtWWc1?=
 =?utf-8?B?LzJENXdVcktZWm52dE5mcWZZRUZwNU1MdjcveThYQTlaWVlNWTF3ZkNCTFZs?=
 =?utf-8?B?eDhoSHdXUmxVWFpmYkdzRHR5ci96ME1NWXphUmozNWtYZXE5VEx2cWFueW5B?=
 =?utf-8?B?ZnNYV0Q1cDRyRjZETUhuRnJzalBKemp5TWNGM2xPZDViVHZ0eHV2MG84UlN3?=
 =?utf-8?B?L0s4bVgwWmtjU09OamthVVhyczJxcG5xQTU5bkxtdXR1YUNKOGdMUVRmSy83?=
 =?utf-8?B?WmRQNUtHaGM4Q3BTOGFpVWlYMk9qNXJhMkxLY0pzNTB2RzZWWW1HTVVDdkR3?=
 =?utf-8?B?S3liRG82Y1VRRDZCN0FTc1M3SlAwRVRESjBNQlZtdFZHVjRGejN1NTJpdmt3?=
 =?utf-8?B?NFBmd0FmYkJIVlNrR0FGaVArOEhaSGxab0d0TlZ2NFNncCtrc2ZsQ1BRNGIx?=
 =?utf-8?B?VTVxRmpiZDBYdVBERXhiNDBmR3Q2K3I4Z1pkN1VPVkNySXV6VUFNOXNTZ3ZP?=
 =?utf-8?B?OE1ZQW1adk5tZk9Bc1pUemVaNW5LY0g3U0lqSi9qaDl6VE5BckUzcmhhRlpO?=
 =?utf-8?B?aktaNlJQYklVVDNIazkxWm9rUWtEdkMvZW96bHZ0M2tBMXhxU1dLWGdhLzlC?=
 =?utf-8?B?aTREUzg4VHcxbkZWS0pzYTVCRnE0N0FnWk5aeDIxR0NRZ2ZEb0ZXbVM2Mjls?=
 =?utf-8?B?M0drN2FlVmhINVkvM055ZXNlMWhabVAyaHJIaTRkQjgreUhFbXRFdEkxM2Nw?=
 =?utf-8?B?N1VwbHozOVdVTFYrOVlUL2FXMzcrUEFqSFpoK0pCRW9wWCtSOXV0aDZCenlC?=
 =?utf-8?B?SnN6MUhNbXdCdGF6TGZEamFSR0Vxb1RMZFovREk0NUo2Sm1lZkk1NGMvcjEv?=
 =?utf-8?B?WVI4cm9VL0F6VjlIb0JYM3hwMU1RN0pOcU5QeGdXdDV2K3ZxQVAzVWhuRk1o?=
 =?utf-8?B?ZFdDWU9hbDFmL3dKdGFjdi9wOE9HQTJGMERDdVNXeUhsbjZoSSs2ZVlieTVv?=
 =?utf-8?B?dG1VV3FvRmdkejMvYTVRQncxcjBJb0xsSlR6VlgzSGlUdFI2QzRHcktZOGNZ?=
 =?utf-8?B?L2x1WXlzR1RjcEl2WSt0UDYxS0pCTmZUWFhkZlI2eGNBK1ROT3FPZU4xbDE2?=
 =?utf-8?B?Ky9TcTVnZjU2UlRpZ0g5ODREUlprc1c2eTE2YXJZQWZRcS93bnZTWFgrK1ds?=
 =?utf-8?B?cEo0L254S0VBYjR6NjQ3L0wrd3M4WGU3UEw3ZStCVHNpLzMxSmV5eFFPcS9I?=
 =?utf-8?B?RFlMOGNvTUV1Q1lJU3JKL0ZtZWNOU2VITGdtK3dpbWVFNzV1TFN1cDF0bWtL?=
 =?utf-8?B?Z3Rjdm9ZUW5BWjk3ZHRFdWRacnRZL0MxZTM1bzVManhkUXpvRDVXaTZDVW9X?=
 =?utf-8?B?RU1wL1ZsY2ZUZUVaVFNzM3hiTkRSVTBOMWFFTmRCK1A3ZTFUTjR2NlRmUFpX?=
 =?utf-8?B?VXcxa2tJVlZJUCttNEE4Q05jb2ZKdUQ2QTJGajY5VGkza0pGVmkzSHVqMkRw?=
 =?utf-8?B?Mm9JZVRidWdxZ1VuMmdWM2orckxZaktwN2dwUDhSY3dIVUt1Nk1aSHhvRGFZ?=
 =?utf-8?B?Y09nZFhkU0tUTmpueElRanZTQmVLRVBoOVNvZzhYZ0h4Ym5lQWxSTTRqbDFP?=
 =?utf-8?B?dkFPQ0ZXOWRoVHpWenB5SGFSYXlEUGJyaVRiQ0RpdEtBakUySzIyRDZlYllw?=
 =?utf-8?B?c3BBSE1mbFlkZC9JSmk2ZEVpTU02Z0lKTTVTdWg3VXBLUCtvdVRBZXprNUhN?=
 =?utf-8?B?d1EyYzJxMEVyY1NpR3RvKzBFM2dYVHlrU3V2NmUyV1RYRnA0eVRWUzNVdnNM?=
 =?utf-8?Q?0K83AUAojJ75fqXbtnbdROoL5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 57dd17e9-1b4d-4a6b-2468-08db2a10a0c4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 13:31:50.9984
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: B5h3wIyrZUiHZulT3+Jt2vYh0l6K1080Lk46Ht1DHHM25N362LZv6ceAwxTQ2J4tmG09kdSrcBgeyc8Z/XrkUw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8288

On 21.03.2023 12:47, Sergey Dyasli wrote:
> --- a/xen/arch/x86/platform_hypercall.c
> +++ b/xen/arch/x86/platform_hypercall.c
> @@ -640,6 +640,36 @@ ret_t do_platform_op(
>      }
>      break;
>  
> +    case XENPF_get_ucode_version:
> +    {
> +        struct xenpf_ucode_version *ver = &op->u.ucode_version;
> +
> +        if ( !get_cpu_maps() )
> +        {
> +            ret = -EBUSY;
> +            break;
> +        }
> +
> +        if ( (ver->xen_cpuid >= nr_cpu_ids) || !cpu_online(ver->xen_cpuid) )
> +        {
> +            ret = -ENOENT;
> +        }

Nit: Unnecessary braces.

> +        else
> +        {
> +            const struct cpu_signature *sig = &per_cpu(cpu_sig, ver->xen_cpuid);
> +
> +            ver->cpu_signature = sig->sig;
> +            ver->pf = sig->pf;
> +            ver->ucode_revision = sig->rev;
> +        }

While I don't mean to insist on making this work right in this patch, I'd
like to re-raise my earlier comment regarding it also being of possible
interest to know ucode revisions for parked CPUs (they are, after all, an
active entity in the system). Parked CPUs have their per-CPU data retained,
so getting at that data shouldn't be overly difficult (the main aspect
being to tell parked from fully offline CPUs).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 13:35:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 13:35:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512638.792668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pec8p-0005wj-Ji; Tue, 21 Mar 2023 13:35:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512638.792668; Tue, 21 Mar 2023 13:35:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pec8p-0005wc-Gn; Tue, 21 Mar 2023 13:35:07 +0000
Received: by outflank-mailman (input) for mailman id 512638;
 Tue, 21 Mar 2023 13:35: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pec8n-0005wU-HT
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 13:35:05 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20605.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2fbb048b-c7ed-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 14:35:04 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8288.eurprd04.prod.outlook.com (2603:10a6:102:1bc::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 13:35:02 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 13:35: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: 2fbb048b-c7ed-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I1SgaVQDw5dDwTtO9j6n4YOTWP3bavNLnSzM0ETj8HiO7wmWOIUFPP1hyyZ6TsBVs55P1oo0FQv/NefDvr79IZ1EmPHc9Y9vS0GFJeBxt5kWV/kje/yVU8If7MuP1SSRrzqsac9b+hxEDpXFiKi67QuY7spGhmy6f26NVb40YkhBviCclZgEPIuS75rek7Er5Ytb9G+2ij/1wKk7x7SBPE+Djo03P9GPUYQndH+Txtu3q5hsXgEe8X4BehWOS/pmJ0h5iato1EEGyBbkWUrgqLtfFyN1OCEai8fCnUTF25/4RBDbBLVTO3dUnJtaOpuisvJUzDPNbrwKPYMaknAl8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y1Sddv7mPOy04AljTxgKHzjxeYzcYqbtbN+CLQsf2Ig=;
 b=KzgAW9GUygLG7X5DmwbMF6jR2AAIOtkGQ3qiJz1GiIJwH4yJavGL6QY99e5w2/Wl89GmUNsAMYBq8nkoFkYh25OY1/ZbccIeU5z0cNreM3VssdjMYptS2v8GTsCwk6O/tgegWbkJerVb8J8Ih08jf0jm4kPb5ZizP659j8f/SDvdGcUHziM2iyTPhSIqkW16RafoeR4td1N+lFdvvB1VSBj9Vo4aUfbG48AHSVEg+uOzW/HiFTLZRrpV7dcy9HVwvmK9VowVSVnVkvDxxKz/8KM7J1WixYtSY8n5s6YEk5fNJLoi0U8eaFZSP2vhPM5GF6HSRZAXgMnYqSUEzSVbQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y1Sddv7mPOy04AljTxgKHzjxeYzcYqbtbN+CLQsf2Ig=;
 b=dKymkrIQirQMNHQoIyqMYlu8PS5QuNWKTB39a2Jv23RXTMb2yQaLdrQV9hBxVq6bX2iPuG/zmw4NzODNyil63M6ejhBVMIWEHd7HrfjUVVNEaK31+nw4n/M5LUl1hSyiI0hSMswijsgaCN5kc/QtNCL14WKzqofzEvfcIDyoTJEicnB5skNZHdWQ22/3s/QSQuuMV48SRrp3xnQYnk6k0g3hAqvzSjxbydGrAScUc81s76nSqRtJhRVD5WLBhs5GMUJFDjUAzuiVFGhN49Pi+TDdIrW7pVuoY/G2RQf9bIL3FA4M0yCbzC51rwGDbf5TR0rnzjAK9lFfuCXgQb1piQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7ebd7064-8ebd-a072-fc2e-2629cc99f7eb@suse.com>
Date: Tue, 21 Mar 2023 14:35:00 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v8 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
 <2afad972cd8da98dcb0ba509ba29ff239dc47cd0.1678900513.git.oleksii.kurochko@gmail.com>
 <3bc211fa-a8f7-70ce-bfa9-5e4380776070@suse.com>
 <99354bbeabf11e86cbf3fd46019c08fb36bf0098.camel@gmail.com>
 <6af7a3ea-f454-7027-590d-f883e6c2a523@suse.com>
 <02a815ffe1d3839f6f82ab4d16ec8d124642617d.camel@gmail.com>
 <390dd04d369fad707fd786ed37992ec27a63b7cf.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <390dd04d369fad707fd786ed37992ec27a63b7cf.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0172.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8288:EE_
X-MS-Office365-Filtering-Correlation-Id: 104dd74d-b51b-47cb-d98b-08db2a11130b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oMGKGz92x0c4B2AuZMngdFLUeWE2nQJeiggax1P7AH1JQ3JOcPcSNKdi/Xg1mtTQdcy4MMt+G2wqUbcrqfv/kkzjG+f+CoQgiO2HHUa9THlsJi2vVTp9MM9MlyPjF9QTPnzsg1oXwh1u6frvvJhiX564tilKsX7z3yvCINafRQx8yl1JPQLgcRe7foJ0IXju2PQo8b81AzaejWC92zq3Ot7edtXg/mvXOVymJQQ453uZhJe91pW2DMuZSjtIltJt2t0C/xdm0aZUl/ni7WCav91dJYoy5X/Sh2G4bG0snZ87cXXNYjUGl+5xy09MupaJpMpgXW0FVn6i9oKC26DDtBl1PrxCY58HxS1Bw83vF+Fj4z2ivxXjeprvKsMwf5ynQYXXLBoh88t60nv5yFlHGx5K6i2mNFLojJAmR7bHtpBf3/BUZ0gyAtym30fuHra/rtkdYASN5lyz9qUvMDsTkCSKMaQmD2tt39UpovQg7hgt82NuKrvatZCmWaWhYwzMfCUKeLB0sc/HeRZHRr5GnHvq1rQOkMR39xdMz7gpsqvPnrZSIb0R+1tNhsxpykE92xsyMlXuRRjE8vunUUFLu7/DHU0QKLHz0VVOdKCuK0O9WiCgq1yV0wXCmgcaxMWjSVfIL7GmNEA/WSxA84Ox3wmmWdou6xIhBT/jDeDzVaFm4LHfCp9Xx+rTHWC+5PkhoBfmsUs6Ufx51ZqJX7l+NjLf7s9OIorBuTMB/Sd7N4j2WcePBNlQSyiSmxusWEob
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(39860400002)(376002)(366004)(136003)(451199018)(2616005)(186003)(6486002)(4326008)(478600001)(53546011)(66476007)(316002)(6916009)(8676002)(66946007)(66556008)(31686004)(6512007)(6506007)(26005)(54906003)(41300700001)(8936002)(5660300002)(38100700002)(2906002)(86362001)(36756003)(31696002)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UDRDOU5LazFSdFpVTDIyU0s2bFpoZG5SUTZYcG1VWUNaQSszcjFJNlBSOGRW?=
 =?utf-8?B?cE8wd1ZLMDJld0FodUZmZWhwQlR5ZTFra1dJQkt3dmZ5Smp3QWp6cWFxbGsy?=
 =?utf-8?B?QXovY3dPVlpFcmRzSk5iazJMZmVHSWdRVTNxZjJLNkhWcEhocTliSEJ1ZExa?=
 =?utf-8?B?NFhzZU9HelZidnNkekh6bFlNOVNyMWFGanlFSjZmMXUzcHdMN2llZVE1S0Iy?=
 =?utf-8?B?cnpram81aGRWOVQ3L3J3bTdGR3IrOUZWSytrQTBia1VmbkFyaE03TXJycVVV?=
 =?utf-8?B?R0l0REhHOFNEckY2Y1kvZ1hwV1hIUHlPekkvaXlLSDkxR1d1Wjh3MDY0UVhs?=
 =?utf-8?B?THJ5cDBFT0tablJTTHEwRDQ5YTlRb2tucWw3REtNS3RMcTN6clVkSElPQ3BW?=
 =?utf-8?B?aVZ4UVlEQ2VpVGVvZnRlNDUyT2hkNS9zVHA4TjZxZTV4enoxRW9RUG43SWNi?=
 =?utf-8?B?dy9uNDE3eVc4UEoxMDhKMGFIc0pPYU0xcHVzOGJ3Z3UrQytYRDJ3RHZtM1NB?=
 =?utf-8?B?c2VFNS9udFZXK0hhMllueHNKTWJ4ZmUyVzFJTFZzc0RMUTdiTHBnczUrRDFU?=
 =?utf-8?B?M2VMT2dxUEFNa2FzZEQ0ZUloOVozTERKMkFsT2dWb0RFbklXYmxuVXhHMEln?=
 =?utf-8?B?NUJIVXF3SGs5WkE4MnBMZlpza1JXM1d6K3lXZ0NvVjQwRmcxM3F1MXk0OWRh?=
 =?utf-8?B?WUhMVmptVFhNNi92UWcvc0RzMjlvcFFNNVdqS0hJZ04yNEFON3JrTWZsUThB?=
 =?utf-8?B?T0RGbUJyZm5yTXhCL1RwWVpVRHBLaStVcGFHYlBsQ2tSeWJEdkNMNytCRFN4?=
 =?utf-8?B?NHgxaXRmTGlyMHdDNVhIUlVSMlJWTFVNcy9KZHBPTzBCZnhQak9EOEpXSGFT?=
 =?utf-8?B?VklLemlCOXlPTm5OWnZhSnRpWlpQZUtERHAvZDlUTXVHUmxmSnoyaDJOaXNv?=
 =?utf-8?B?T1V3dnJ2NjZqK1NVNVhSSGhBa2ROSkxzS3dDYnhLSW9UTWNZR09ZMjRjdmFw?=
 =?utf-8?B?T0ZqV3VVaFQ0MGwvOERWei9INVNiTC9DY3RqS24vOEMzZFFUMk5DZkRnUk05?=
 =?utf-8?B?RW5VeHl1NzBMckZyTXFja1BHcVJ6cXdDSmdseHpJTkFSR3AzUjU0dkMrWVNk?=
 =?utf-8?B?MzVNZTQyNEJDTFUzQzZKUkJWZU5ESGkzYVJTeHMxa2FMb3FmVElRL0g1UnpY?=
 =?utf-8?B?VHRDTXRzTkREODRHUk1wSjBObW90b2FveHZxQlZzL25UWUVXNWM5U2hMYm10?=
 =?utf-8?B?T0VqV1hVeWVicWhqT0RXSjRjdnlsYnBEY2dGZDhOQTlRNllwZll0eUF1RnZj?=
 =?utf-8?B?SjNILzlsNmhPNTlGdTFnb21ZMGk5b05LNnQ0TXM1TU00M1ZqSllGL2VSaXZm?=
 =?utf-8?B?RE8wNUdpcm5ub3c2SEdRRW5Rb3puaS8xc2R2Zi9SN0VaWWZvc2p4emxDTzIw?=
 =?utf-8?B?QmFaeGVMQmdBc2JMS0xPd0loZXIxUU5PN2VMM2RWR3B1RllhYjlrSVNvVTNj?=
 =?utf-8?B?ZW9tUHo3Q0hkY2lKbHJOVFhVcG8zZzh3ZXN6bjRUUDNTV2VGWTJJY29QT0ky?=
 =?utf-8?B?c3pCS0tvMU0vWVlZWUNGdS9taCsyNHFRb2VPRnBvc3hQWHBLYXg2WjRKQnpL?=
 =?utf-8?B?bFhsejF1bzhWVUt4RmpRTFZSVlN5ZGpYeWRFaWVTWEVNcVRjNW4rVFQ2bWcz?=
 =?utf-8?B?VGRPTGRyUWsxZzM2YkUwKzBxWnlJYllwVS9xaDJ3dnNYZjZ2Vjlta3RnVmFo?=
 =?utf-8?B?OGZjenV1OC9uRDlRemVBMlpsUHlBTzRTYXE1Z0lZMEFmTmpZajBNanR1R2dQ?=
 =?utf-8?B?TDlxdmxmc0dHZlllMk9WekNKNENXbmhQQ3B2dHArNnJhQnRXcmN1cUlhTGVD?=
 =?utf-8?B?ZEFuNFZLZ3pRRVZEWXg0UVpkNW0xU3k3cDA3QkQ4bys2STV4MkJrMnpXQzlv?=
 =?utf-8?B?aVNYbHpMallsVmwxWXBQa2Q1b3ZVcGZHSmtyL3RDODdDOVBrbUt5Q2QyVm5y?=
 =?utf-8?B?emIzYU1oMlJlaGNNT25RUTFESE1nakUza3F1WDA0S0I1TFk3L0xIOHVscGJm?=
 =?utf-8?B?SVFORkZPN1phTmoxU2NTNkYrVlRXdlFiV2lRODNUdzZQWTZMY21USHdRUVBS?=
 =?utf-8?Q?nmo8Su9t4d+9TQXnH5Fpz9UBg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 104dd74d-b51b-47cb-d98b-08db2a11130b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 13:35:02.6973
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AVdWgO4Ipowyhk4JSK7Pm9lMHWF7RosyRWKPWs7gEF+tAaI7W0B4OEit1A53HVhBmD3AWwNFFOfSJyak5EEuzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8288

On 21.03.2023 12:18, Oleksii wrote:
> On Mon, 2023-03-20 at 13:36 +0200, Oleksii wrote:
>> On Fri, 2023-03-17 at 15:59 +0100, Jan Beulich wrote:
>>> On 17.03.2023 10:23, Oleksii wrote:
>>>> On Thu, 2023-03-16 at 12:26 +0100, Jan Beulich wrote:
>>>>> On 15.03.2023 18:21, Oleksii Kurochko wrote:
>>>>>> --- /dev/null
>>>>>> +++ b/xen/common/bug.c
>>>>>> @@ -0,0 +1,108 @@
>>>>>> +#include <xen/bug.h>
>>>>>> +#include <xen/debugger.h>
>>>>>> +#include <xen/errno.h>
>>>>>> +#include <xen/kernel.h>
>>>>>> +#include <xen/livepatch.h>
>>>>>> +#include <xen/string.h>
>>>>>> +#include <xen/types.h>
>>>>>> +#include <xen/virtual_region.h>
>>>>>> +
>>>>>> +#include <asm/processor.h>
>>>>>
>>>>> I actually meant to also ask: What is this needed for? Glancing
>>>>> over
>>>>> the
>>>>> code ...
>>>>>
>>>>>> +/*
>>>>>> + * Returns a negative value in case of an error otherwise
>>>>>> + * BUGFRAME_{run_fn, warn, bug, assert}
>>>>>> + */
>>>>>> +int do_bug_frame(struct cpu_user_regs *regs, unsigned long
>>>>>> pc)
>>>>>> +{
>>>>>> +    const struct bug_frame *bug = NULL;
>>>>>> +    const struct virtual_region *region;
>>>>>> +    const char *prefix = "", *filename, *predicate;
>>>>>> +    unsigned long fixup;
>>>>>> +    unsigned int id, lineno;
>>>>>> +
>>>>>> +    region = find_text_region(pc);
>>>>>> +    if ( !region )
>>>>>> +        return -EINVAL;
>>>>>> +
>>>>>> +    for ( id = 0; id < BUGFRAME_NR; id++ )
>>>>>> +    {
>>>>>> +        const struct bug_frame *b;
>>>>>> +        size_t i;
>>>>>> +
>>>>>> +        for ( i = 0, b = region->frame[id].bugs;
>>>>>> +              i < region->frame[id].n_bugs; b++, i++ )
>>>>>> +        {
>>>>>> +            if ( bug_loc(b) == pc )
>>>>>> +            {
>>>>>> +                bug = b;
>>>>>> +                goto found;
>>>>>> +            }
>>>>>> +        }
>>>>>> +    }
>>>>>> +
>>>>>> + found:
>>>>>> +    if ( !bug )
>>>>>> +        return -ENOENT;
>>>>>> +
>>>>>> +    if ( id == BUGFRAME_run_fn )
>>>>>> +    {
>>>>>> +        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
>>>>>> +
>>>>>> +        fn(regs);
>>>>>> +
>>>>>> +        /* Re-enforce consistent types, because of the casts
>>>>>> involved. */
>>>>>> +        if ( false )
>>>>>> +            run_in_exception_handler(fn);
>>>>>> +
>>>>>> +        return id;
>>>>>> +    }
>>>>>> +
>>>>>> +    /* WARN, BUG or ASSERT: decode the filename pointer and
>>>>>> line
>>>>>> number. */
>>>>>> +    filename = bug_ptr(bug);
>>>>>> +    if ( !is_kernel(filename) && !is_patch(filename) )
>>>>>> +        return -EINVAL;
>>>>>> +    fixup = strlen(filename);
>>>>>> +    if ( fixup > 50 )
>>>>>> +    {
>>>>>> +        filename += fixup - 47;
>>>>>> +        prefix = "...";
>>>>>> +    }
>>>>>> +    lineno = bug_line(bug);
>>>>>> +
>>>>>> +    switch ( id )
>>>>>> +    {
>>>>>> +    case BUGFRAME_warn:
>>>>>> +        printk("Xen WARN at %s%s:%d\n", prefix, filename,
>>>>>> lineno);
>>>>>> +        show_execution_state(regs);
>>>>>> +
>>>>>> +        break;
>>>>>> +
>>>>>> +    case BUGFRAME_bug:
>>>>>> +        printk("Xen BUG at %s%s:%d\n", prefix, filename,
>>>>>> lineno);
>>>>>> +
>>>>>> +        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
>>>>>> +            break;
>>>>>> +
>>>>>> +        show_execution_state(regs);
>>>>>> +        panic("Xen BUG at %s%s:%d\n", prefix, filename,
>>>>>> lineno);
>>>>>> +
>>>>>> +    case BUGFRAME_assert:
>>>>>> +        /* ASSERT: decode the predicate string pointer. */
>>>>>> +        predicate = bug_msg(bug);
>>>>>> +        if ( !is_kernel(predicate) && !is_patch(predicate) )
>>>>>> +            predicate = "<unknown>";
>>>>>> +
>>>>>> +        printk("Assertion '%s' failed at %s%s:%d\n",
>>>>>> +               predicate, prefix, filename, lineno);
>>>>>> +
>>>>>> +        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
>>>>>> +            break;
>>>>>> +
>>>>>> +        show_execution_state(regs);
>>>>>> +        panic("Assertion '%s' failed at %s%s:%d\n",
>>>>>> +              predicate, prefix, filename, lineno);
>>>>>> +    }
>>>>>> +
>>>>>> +    return id;
>>>>>> +}
>>>>>
>>>>> ... I can't really spot what it might be that comes from that
>>>>> header.
>>>>> Oh, on the N+1st run I've spotted it - it's
>>>>> show_execution_state().
>>>>> The declaration of which, already being used from common code
>>>>> ahead
>>>>> of this series, should imo be moved to a common header. I guess
>>>>> I'll
>>>>> make yet another patch ...
>>>> As mentioned above. Not only show_execution_state() but also
>>>> cpu_user_regs structure. ( at lest, for ARM & RISCV )
>>>
>>> Do we deref "regs" anywhere? I can't seem to be able to spot an
>>> instance.
>>> Without a deref (or alike) a forward decl is all that's needed for
>>> this
>>> code to compile.
>> You are there is no a deref so let's swich to a forward decl.
>>
>> I'll add it to a new version of the patch series.
> I just realized that show_execution_state() is declared in
> <asm/processor.h>.

Not anymore with "move {,vcpu_}show_execution_state() declarations
to common header", which was specifically made ...

> So we have to leave an inclusion of the header or declare the function
> explicitly.

... to eliminate this dependency, but which sadly is still pending an
Arm side ack.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 13:35:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 13:35:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512640.792678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pec99-0006NL-U0; Tue, 21 Mar 2023 13:35:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512640.792678; Tue, 21 Mar 2023 13: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 1pec99-0006NE-Ph; Tue, 21 Mar 2023 13:35:27 +0000
Received: by outflank-mailman (input) for mailman id 512640;
 Tue, 21 Mar 2023 13:35: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=gNSa=7N=citrix.com=prvs=4373eb648=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pec98-0005wU-4g
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 13:35:26 +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 3b268b55-c7ed-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 14:35:24 +0100 (CET)
Received: from mail-bn8nam12lp2175.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 09:35:21 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6341.namprd03.prod.outlook.com (2603:10b6:a03:38c::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 13:35:14 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 13: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: 3b268b55-c7ed-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679405724;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=9oq4q91OofRR1GTz3tDhX40FzsgdoxmMttSCyvp+seA=;
  b=X8yDAo3m5VfTzGU//W+57DLGQGkW5v44Rw/O8luBpbqZupCZXH4Z0Df9
   cp6kesRMx6RZk1/m1pHIPE+ZXLwwEX5XTHgPEtZtMmOo3zI5fHAoflwfC
   XFAi/A/zZY3rxM2lTHymatNbkwuIC0L4cqdvlq8rPNev4aquajbxTy5O0
   4=;
X-IronPort-RemoteIP: 104.47.55.175
X-IronPort-MID: 101708836
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:RopNgqqev9hJidH/7Coac3/7I6FeBmL8ZBIvgKrLsJaIsI4StFCzt
 garIBmGbP6OZ2D2eNojOozk8UsB7MfdyodkHldrq3pjH3wT85uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSBNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAAtXbjC5uOGR/K2iW8p+lPktN4rMIKpK7xmMzRmBZRonabbqZvyQoPV+jHI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeWraYWIEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhrqc12A3DnTJ75Bs+FkOWreC6l1+CXflce
 0skpSowrvI86xn+JjX6d1jiyJKehTYMVtwVH+Ak5QWlzqvP/x3fFmUCViRGatEtqIkxXzNC/
 l2Dks7tBDdvmKaIUn/b/bCRxRutPQAFIGlEYjULJSMH7MPku5oblQ/UQ5BoF6vdpt/oHTD9x
 RiaoS54gK8c5eYQzLmy913DhzOqp7DKQxQz6wGRWXiqhj6Vf6agbo2srFLdvfBJKd/DSkHb5
 SdZ3c+D8OoJEJeB0jSXR/kAF62o4PDDNyDAhVloHN8q8DHFF2OfQL28KQpWfC9BWvvosxewC
 KMPkWu9PKNuAUY=
IronPort-HdrOrdr: A9a23:MJfNdqmdyn3kShpBXZkhfQq7r/3pDfLo3DAbv31ZSRFFG/Fw9/
 rCoB17726QtN91YhsdcL+7V5VoLUmzyXcX2/hyAV7BZmnbUQKTRekP0WKL+Vbd8kbFh41gPM
 lbEpSXCLfLfCJHZcSR2njELz73quP3jJxBho3lvghQpRkBUdAF0+/gYDzranGfQmN9dP0EPa
 vZ3OVrjRy6d08aa8yqb0N1JNQq97Xw5fTbiQdtPW9f1DWz
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="101708836"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IN0A5mfcjCVF65y8YYxBOUXUulpWLe3aOxeBxmVXAkxaLOm0UhfxxSPiZbVkZTjJ2a1JiyTkhYCqgLsKsdA/dKRz9u6FuJcE72VGW74chphHuzUT+LaMogOndwS+TI+PL1alBFAyttW5sTtCh2ENLIJbeFgZK6yFg0O71ujmoIwJR+tiMPcljcL7rbyvb7KE60cmrpefKo7tDh5Ry3tMVySwf2fynRc7GNY71Ih+GW7KdqYlnHKAHxaeQ+eUDe7nWAMUcn/XTQZxttyTQtf8IquSB1mGyLZZHxyz76slD9V6iwoZkH12DcNimktEPSXHramV6rDtQ8UNsU/f67dHjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Uqi9T+zBKoiUa3LvTRNINQZp3sp/ice/UZEQL1pAw+c=;
 b=kSHUpdUn3fZplyadMLaFF8RQY6aSKCznzxWXCpiM22YZ/lirO3TDsfRy7C62eFrEj1PtzKbMPqRpeyhFGdQ14bieqCePb6u0jhO3WS+TPUgz1ClJORP9SdmIpIP6IvHvadWjkeA4BPADQsg/i5BZkEcBaK8ot/OZ1lnyhYxlOHnexYbQ+LUlQdAsCNGL5tfaMVT+XaUXfWy3hfCO1nD6M+G7kdN0b2L8Sg8o9QbqLEOEKNzQBQTECeK+4PR7D9dACkf2sv4DMSe7tfcYG/OWwVL4GoJcqmxhD0Qjpn6v5kDgiJaWAMXiuZMWlr2qQH/mQVV5uuIMDBUTpYrDgMX43Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Uqi9T+zBKoiUa3LvTRNINQZp3sp/ice/UZEQL1pAw+c=;
 b=nu6OH2ql3/EofKX5dsCWEHkdLkgOnJOkz6SKxR7ftZcaKNbuTJjJ1pnzXe1bA1k0ZrJDC41zwpjMzSABqZFAbfmlkce7nUfN0Uwhhf9xyWkefi4GMn8F5/C0F3eKFMO3FFLXqeTbaFUmx/YngUDvMyMg6kKrBe2lVQA9rktxM5o=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c3eb2a84-ff3e-7d95-ec22-2d7c94367809@citrix.com>
Date: Tue, 21 Mar 2023 13:35:07 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3 3/3] tools/xen-ucode: print information about currently
 loaded ucode
Content-Language: en-GB
To: Sergey Dyasli <sergey.dyasli@citrix.com>, 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>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20230321114745.11044-1-sergey.dyasli@citrix.com>
 <20230321114745.11044-4-sergey.dyasli@citrix.com>
In-Reply-To: <20230321114745.11044-4-sergey.dyasli@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0162.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c7::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6341:EE_
X-MS-Office365-Filtering-Correlation-Id: b3e89fbb-e663-4e87-1786-08db2a1119c1
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7c8ZiD21/oPpK84bg7iMs/TkhtK5ImqaGxMiwlmYZVExFv89yvUfbYuRgAftd0stWLCd8k7XdkN7IFIQjmy57J/+ot5Q2bE0KG5c+HZTw56xr/J0b4EDC9PopLAWgvrvmCACtQakaKuptb1a9etZZtILYdOI9f5dtDtlO+mrj8Q2tPNqyrg+wK24ylbnYJlmjqM+SzEic0OSSg4OUafyc73l9lREI1DaydO6jSoXJQE7p6rXFrIMfkQC3i9W2Lv7nv+w/tMgCTY65qFE9AEoCPp4+FhX5+NUeiD+HtWdv2/m4jotCh92HWhDb/qA1VYEhrWfh715fBkmX1rsAYN5ZnX3Af4i/rF4Vezl889IWNFS0QEDpRF4DYPHAI/JI8ceM6ISIdNiSKfYk/rco6H851fY4W1GBL5fsrR0FGa0AWm6ThTA+t9i0NkxirATSlQgKOK67yaAkRFRFIc4jU2AKaDreGvZb9o0sD3JeOAUzLAgeTKtRrXfwLOQnk5dESwQhV85cAGAxZzxgeW/ZCM6eeHWnDNFqA/wJCMeBYiai1A3jOk8AR7kfrFNx1pfS6yaZ3ldZ20dtlGgq9Vy2z73XPknTck03EF6j+9Zsy2klcaro76qIey5qPFsHXxXRvqh2ZjLfTfD109Y3NOv+q8yYyLE4jL7JlKsk9q5k4xJ7+/+RkZypeJyVPntJw2kfF7na5qppeZgYxsV3O/QaWgHaXAW7gGN6WwDBi3aM0ztAOQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(396003)(39860400002)(366004)(346002)(376002)(451199018)(6666004)(186003)(478600001)(26005)(8676002)(6486002)(83380400001)(6506007)(54906003)(6512007)(53546011)(31686004)(2616005)(316002)(66556008)(66476007)(66946007)(8936002)(5660300002)(7416002)(41300700001)(38100700002)(4326008)(82960400001)(2906002)(31696002)(36756003)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z1g5bTFzc28yR0xSY0ptT3lUbzBXZTByUndUaGFTTkZIU0JQSEVDU3dZZUtM?=
 =?utf-8?B?eitJbWdJaDl5b3RhN1gvK0ZsdThFLytRdFgzbEpocnppUTFEcnJEdTlQQWow?=
 =?utf-8?B?NzZvSlZnUnYycVNrdjhDcTV1eUJNdVRDNlBIK0J4WjRHQzExWXZzbFoxRnlz?=
 =?utf-8?B?SHFTVmJHdXVySENudThqV2dYZnFxYTFZQWxkdGs0L2hMaHlMN0dUVFdXVWIw?=
 =?utf-8?B?YUtONlRzWlduMmp0M0pPQ2w0U2hlVTlXdUUyc3Y3MjdNRU1qQWlyUTRUY3VK?=
 =?utf-8?B?bXJ4RThsenJDWFhyMnBHOTUzaHFqU0JXQzFLVlUwN1N5bUdxUVZFaHJua0FS?=
 =?utf-8?B?TWY0YVI4cjMrOGpxRHJNM2NLbk41QjB0WEljUUFHWVd1NDkycVczREtPbUcz?=
 =?utf-8?B?dTdrUlJXbmRYTHBmcjBIUGtNUGlxY29yM05xemNKNzgzSWZLRnEvM2hrYjcw?=
 =?utf-8?B?bkdaTWtXcDkzVGQ2RFcxWmRyZmRyNk80WHlXZ3VxV3kwNFlZTmVENGh4VzB1?=
 =?utf-8?B?ZE1KaDdkNDFnbXNjejN2WklNT08zRlJjQUlvV2VqUDNueDNIRWJLLyswdE1C?=
 =?utf-8?B?M1EvRFZVR25tNDJIUzJBN2xMbCt6RlgyZDZrZGcyQStEZ1dOTXpQMmE1eDRY?=
 =?utf-8?B?VC9sUzUvNWlQcm91NHRRYlJXdTlveTBaYWNOTVA1UGtvYlFtanBhcDFCa2lk?=
 =?utf-8?B?dU9KNkpWcU5IUEFkbmIxM1VrZlRwemxRUzFmMnRxays5RlRXM2ZNWUsrbCtN?=
 =?utf-8?B?QWR6aTFIOFZ1NENpdDV5Ym1iclhTNFQvM3dxTWIzWS9jR3VnM2NTY25nbXJ2?=
 =?utf-8?B?U21heDA5bWFoaFNEZWo4TGZXcEEyMkphbW9PeFhGMkNzYi9ERE5yQWZtWE9z?=
 =?utf-8?B?M1dzdXYxdEhpcDFZTDZZb1lLeGc2ZmxnTThCVnpwYXV5RzhiM0k3VWFIZmV5?=
 =?utf-8?B?TDFqYkVEUXQveEoxQU9UN1dWTldUdHhmUS96STJHS2N6MXc5QTVTL2FMM255?=
 =?utf-8?B?RXIvbHo0cjE5WktTWHdhVUhicjZzd09uUHdQaDcxdGRENFB2SVZXRjV3b3M0?=
 =?utf-8?B?TmVTZjhJUVJTSjNQSVJhS3lGaUx4aUt2M2hIaFh6TU5aVnlieHJzVDlmVW5l?=
 =?utf-8?B?YUtxcjk4OWdzanZJRjh4Y2lDdXViV01WZ1NsV1B5d2piNllyell2K0x0K3ph?=
 =?utf-8?B?QW9EZHJNMlNmSTY1SUtONWcrRHdxOHRVd2o3Nk9XNGhVSWVKQUYrK2RBaXA4?=
 =?utf-8?B?Wm1DMnNZZW4wNXY5SkZ1TFkzK2FSZ1dmdk1INjg3QXJYQTJUaGxCTnJyRkZW?=
 =?utf-8?B?bmVXcnd4KzBvdVpNY1RGSHA0RzQ4Q1owK3puOVpuczUzNVp6QndqeUx3ZEZ5?=
 =?utf-8?B?YlRWbEJ4NlR6N1o0VlRTYm5WcSt0U2Qwb2Z1SFlhYVpTb1duYVBQc0srZHpt?=
 =?utf-8?B?ejZVaHJmWUIyaXMvbGVNNE9NRUFPNFpHbGVHbUpzN2xGYlpaaU9QUlpLZnI5?=
 =?utf-8?B?VTQvRGFOSlZVMmxTU1J1U3RSMTVBUXMrNmdRdkRQM1NNV29oMXpxQ091OWZI?=
 =?utf-8?B?eEZnSld1Y25yWlhyRzhDSm1kOGJhV3d4elVidEJmQ3dhL3dadkhDS0licmpN?=
 =?utf-8?B?bGNjKytrazlSZ3NFYTJKRGN2aWdsZkNwejArY2UzeW0yUyt2MTI3Q01ZQnVX?=
 =?utf-8?B?NUhXZnNtRVVsODJwM2tlWDBvMklCeXFZeGtUYmJLM3JvQXlkY0JnMWV5ZXJX?=
 =?utf-8?B?NEFZcHVoWDNFMTJCb1Z3MFVTVDRZZ1VpTHNXRWpiVmlORmNDb2JCYlp2L0Rx?=
 =?utf-8?B?VkxmZ2RaZUhTMi9oOGJFTElpYkpvT2s2RDZKRVdsTjRJcEdPQ2JtQjR3aVFx?=
 =?utf-8?B?eEZwTnBreVdNdjI0bmoraG9sN1RoeHdoN2t2ZjlJaFFpNDBzb3BDOU5ldjFv?=
 =?utf-8?B?Y29EYWcvcTRhN0xFRldSUmFpSGRGM29hTVkwQzJuUmFtVTBOU3FrbEdjRHdw?=
 =?utf-8?B?MUNIUWVJNittR1Mvb3Z6REVpSXh1VS93MGtETzNKbUhmUlRCZERoT2ZFdWox?=
 =?utf-8?B?VVp4UjJTNGhLVFBEbCtIMWQyVmpVbnFtOFFyUzd3c0lLMUtIYmxhb3NVdVhQ?=
 =?utf-8?B?cUdpdm1QWG1lQ3FaazBLRzYrM0lKM3gweVpjYXBvVDN4NWdjQU9wWkpCWmdC?=
 =?utf-8?B?bHc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	UiP3Cf0aXLJSBRXytkNPdEA05uvlEVoi/bqcz5k6L8x+Z5kWDuG8/iORTg0MGK92uCAOGuNDCY8b4Ky/IiN5OtyUalPqv9NWMzqxBA7NPSNDyGeO8RmEyH9ceRvLUd5S0HMSJ15LmjFwRYOhSD6xngyNfRuaHjs/LUjdiG+1T9S2xYtib4oLqrP3MNAZICBVNLKs2J/eaiJ8XMzArmXTmcRDVPnx685W8dehchfSUp4Rs0Od2kbzwRQCVYEJUzh1y7dsE8ci4RqaWXa8tyHxhuwvde4AhayH5WG2BMjB0aOuGcOBPjgW9CUy8x2jL8Zl+VEziDwqciZpTnVcnyM+qSjgLgv+x2UaUq1W20hCiZqHQsW+vvpNBUNVUt2bpn2bZpJvGqQmin1xBJ6KN1WX4O+Tb5MFZ5b0boonI6FWP7o2nfB+rH39REI+ikFOEw7hirdEFOqwI7jkbAE8UAW9IzRTA4faQHcUxzoe3T//bziGSsdRj9R/I03JZ1jJDhm+F/4v+mEh2Cm9s/KWwJ27C0bV2MgakqlQlr9agUTlBAmIi91IQju7yDcYWMbRfMYYiD6T5q8DWpLt1KyqBc08OOGclxIyRDvnWyd+NkOk/j8XbzICf6mMrIgWUShPEelBT695IzI6060FBEEiZAf+7C1DtRvr9XHcpYktiCS1xnAh3WYhPeMlU1gT7uGBm24R+z1kTYSmiKxVKq8Pky64hA6G+JAUHkngIb6qn3l8gFz1ddlkWaWjiiBCd+pDyQCXnGwhnBnCUZusjFaz6h2v9tcuxg1U7jP/ZZQC+GCEotmdXxO6dwEXaah7FuJoOWw4YRbhQTUDtlJsplWNOpeYSF+cEBlWadO/9YRY+zwyH74=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b3e89fbb-e663-4e87-1786-08db2a1119c1
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 13:35:13.9201
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: u+C8rGCh0+Bcq0UCVLACXGnSKhL/hkbZPZ0bcKKPjtlO8BKrJYRFZJxc/m+Ld8kKl6RJ2PzDEeYuSApFxOsmYMNFgS0oPc3bzjaz6aCsyOg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6341

On 21/03/2023 11:47 am, Sergey Dyasli wrote:
> Add an option to xen-ucode tool to print the currently loaded ucode
> version and also print it during usage info.  Print CPU signature and
> processor flags as well.  The raw data comes from XENPF_get_cpu_version
> and XENPF_get_ucode_version platform ops.
>
> Example output:
>     Intel:
>     Current CPU signature is: 06-55-04 (raw 0x50654)
>     Current CPU microcode revision is: 0x2006e05
>     Current CPU processor flags are: 0x1

It's platform flags, not processor flags.  (And sadly, doesn't actually
capture all the platform specific data these days either...)

>
>     AMD:
>     Current CPU signature is: fam19h (raw 0xa00f11)
>     Current CPU microcode revision is: 0xa0011a8

This is unnecessarily verbose, and can fit into a single line.

CPU signature {XX-YY-ZZ / FamXXh} (raw X) {pf Y} revision Z.

> Signed-off-by: Sergey Dyasli <sergey.dyasli@citrix.com>
> ---
>  tools/misc/xen-ucode.c | 66 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 66 insertions(+)
>
> diff --git a/tools/misc/xen-ucode.c b/tools/misc/xen-ucode.c
> index ad32face2b..b9037ce6a1 100644
> --- a/tools/misc/xen-ucode.c
> +++ b/tools/misc/xen-ucode.c
> @@ -12,6 +12,65 @@
>  #include <fcntl.h>
>  #include <xenctrl.h>
>  
> +static const char intel_id[] = "GenuineIntel";
> +static const char   amd_id[] = "AuthenticAMD";
> +
> +static void show_curr_cpu(FILE *f)
> +{
> +    int ret;
> +    xc_interface *xch;
> +    struct xenpf_pcpu_version cpu_ver = { .xen_cpuid = 0 };
> +    struct xenpf_ucode_version ucode_ver = { .xen_cpuid = 0 };
> +    bool intel = false, amd = false;
> +
> +    xch = xc_interface_open(0, 0, 0);

NULL, NULL, 0

but xch wants to be a global and opened once, rather than in each piece
of sub-functionality.

> +    if ( xch == NULL )
> +        return;
> +
> +    ret = xc_get_cpu_version(xch, &cpu_ver);
> +    if ( ret )
> +        return;
> +
> +    ret = xc_get_ucode_version(xch, &ucode_ver);
> +    if ( ret )
> +        return;

All 3 of these want to complain, rather than exiting silently.

See test-tsx/test-resource as examples.  It's fine to use err(1,
"message") to terminate fairly cleanly, and it renders errno to the user
which is far more useful than printing nothing and exiting success.

> +
> +    if ( memcmp(cpu_ver.vendor_id, intel_id,
> +                sizeof(cpu_ver.vendor_id)) == 0 )
> +        intel = true;
> +    else if ( memcmp(cpu_ver.vendor_id, amd_id,
> +                     sizeof(cpu_ver.vendor_id)) == 0 )
> +        amd = true;

else some kind of error, again so we don't exit silently.

> +
> +    /*
> +     * Print signature in a form that allows to quickly identify which ucode
> +     * blob to load, e.g.:
> +     *
> +     *      Intel:   /lib/firmware/intel-ucode/06-55-04
> +     *      AMD:     /lib/firmware/amd-ucode/microcode_amd_fam19h.bin

I'm not sure if this is relevant any more, but for Fam < 0x15,
everything is combined in microcode_amd.bin

In some copious free time (but not this patch), it might be nice to
support `xen-ucode --auto` to try and pick the right firmware file out
of the filesystem.  One less thing for end users to get wrong.

> +     */
> +    if ( intel )
> +    {
> +        fprintf(f, "Current CPU signature is: %02x-%02x-%02x (raw %#x)\n",
> +                   cpu_ver.family, cpu_ver.model, cpu_ver.stepping,
> +                   ucode_ver.cpu_signature);
> +    }
> +    else if ( amd )
> +    {
> +        fprintf(f, "Current CPU signature is: fam%xh (raw %#x)\n",
> +                   cpu_ver.family, ucode_ver.cpu_signature);
> +    }
> +
> +    if ( intel || amd )
> +        fprintf(f, "Current CPU microcode revision is: %#x\n",
> +                   ucode_ver.ucode_revision);

For the two raw fields, and the revision field, it's important to use 0x08x.

They're all exactly 32bit quantities, and both vendors encode data in
the higher bits, so visually it's very useful to know if you're looking
at the top of penultimate nibble.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 13:46:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 13:46:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512646.792687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecK7-0008Im-2k; Tue, 21 Mar 2023 13:46:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512646.792687; Tue, 21 Mar 2023 13: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 1pecK6-0008If-WB; Tue, 21 Mar 2023 13:46:46 +0000
Received: by outflank-mailman (input) for mailman id 512646;
 Tue, 21 Mar 2023 13:46: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=gNSa=7N=citrix.com=prvs=4373eb648=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pecK5-0008IX-Ex
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 13:46: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 cfc57d99-c7ee-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 14:46:43 +0100 (CET)
Received: from mail-bn8nam12lp2172.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 09:46:36 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB6106.namprd03.prod.outlook.com (2603:10b6:408:11b::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 13:46:29 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 13:46:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfc57d99-c7ee-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679406403;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=O4wx3K4RP4vqWaw4elVAW8Z1CkxXv1HhIOAo/6EYLeE=;
  b=KpcOwOIZDxWuu5u/LPB2EAgFdD3wMB6tRdkWuBnhdGr3Q1PYEJzyEXFo
   6pIZNF9zL6Ar52Qu5fQDXY3hsaS6q1RM+m6DQ4YYkpi+5997jNtLD4u7a
   u35HEtXHKn7592dfkz0f8rBU65KJN8GEzsrMZ8Ll7UcgnE4DktcAcWjAA
   Q=;
X-IronPort-RemoteIP: 104.47.55.172
X-IronPort-MID: 104125860
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:kPkk+aucWpjD7FtueUScU5kA9efnVN1fMUV32f8akzHdYApBsoF/q
 tZmKW6PPP3fM2umKN4iPomz9x4B6sKGx9IwTwE6/ik9RC8R+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASEziFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwAXcrZzSdg9+MnJ34cbdXu8hzPcPzM9ZK0p1g5Wmx4fcOZ7nmGv+Pz/kImTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osjf60b4C9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgqqcw3Q3NngT/DjUYcHSjpcSo0HebVtlWE
 WcYxi4jkPQ9oRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LRQoy
 1uIktXBFTFp9rqPRhq17ayIpDm/PSwUK24qZiIeSwYBpd75r+kbkhvKR81LDK2xg9v6CDz0h
 TuNqUAWhq4ajM0K0eC3+FHbmSOEt5HPQgMloB/KNkq75wd+fqahZpe0r0LGhd5QIYDcQlSfs
 Xwsn8mF8PtIHZyLjDaKQugGAPeu/fntDdHHqVtmHp1k/TL9/XemJNpU+Gsnex0vNdsYczj0Z
 kOVoRlW+JJYIHqta+lwfp61DMMpi6PnELwJS8zpUzaHWbApHCfvwc2kTRf4M7zF+KT0rZwCB
 A==
IronPort-HdrOrdr: A9a23:KrvbTK8L6ypTjZHif/Juk+AcI+orL9Y04lQ7vn2ZKSY5TiX4rb
 HKoB1/73XJYVkqN03I9ervBEDiewK/yXcW2+ks1N6ZNWGLhILBFupfBODZsl7d8kPFl9K01c
 1bAtJD4N+bNykGsS4tijPIb+rJw7O8gd+Vbf+19QYIcenzAZsQlzuQDGygYypLbTgDP7UVPr
 yG6PFKojKxEE5nFfhSVhE+Lo7+T8SgruOeXSI7
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="104125860"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VrSBL2fdV7umGmLLqa1G2gQCJQe8vHlUeE6esY7O8cuEPwtoe4Lah2kvZuOSj4yrW/SkULQ+u2P+QWBNp/dC/pL+w/h+6fle1u+WXp18CLHFWnM4W0Az2zyB/M/GHfI01LAduL3kCOIevvVAKsdh+a8CDZC1c1XH3egRiyJYeac2yj/hF6jfrEsN+sKFPapG8NvAtT9CIAqrFn5i5zPjuWePPQDrRz31psx4fAnu1EKPDDAGrFhn3cUkUf8fErRU6xk0VXupZ8t9f6cw2he/fEDI/98YCF2PHMrzTDqY11vkWOdwTHu/Kr5vH2btlFwOhn/95/O2mj0fcvfsEm/YpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O4wx3K4RP4vqWaw4elVAW8Z1CkxXv1HhIOAo/6EYLeE=;
 b=obsZf81jFXunMXd1M18O5LPbwK62lxZTDU47nLbXObIBQU6aH8WCil4To50UAkmcaIQfWJF4EHcie/k813/cQ2YvVHQSDT+4NfWQ5i7HZfCwHax3Z3Ily0gd3LKGrHGfA85gA7nGNKo4JoRZuwyV/xQ0O97zZFiJSv31advnEJPtR7uGEsRuukLeFDziShRAV2RAKZRY9O8/8hVCekIrewbzJfVDkPRWMqXvpKN0rEeeTzK6zvBfpPwpBqYdTkCWufWt3k62i7G+MIV70INRP7yXtgGcr8/0fL3tTFlT9/VkLka/oduWDbyblAnzR34LAqYrxUWBHFgtwOSPjFl6JQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O4wx3K4RP4vqWaw4elVAW8Z1CkxXv1HhIOAo/6EYLeE=;
 b=admx9ZCue1sWZhTyDUa9EX2mTEHmqbYhwKkhDkzSHl+Jlzd1YPrQNnLu52EWt+bRbtomCIx6Ryfjy7RnBRp9Y6adZT5llkEb+Kmb9VdUdjz7ZT30PZq6JVj5M5ixTmW5OSPsM6nfSCE3vcX0XnawYlNM2bG4UKF1DpyenNumzgU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <78ea015d-b713-fc6d-900a-92a9543e762d@citrix.com>
Date: Tue, 21 Mar 2023 13:46:23 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Dmitry Isaykin <isaikin-dmitry@yandex.ru>, =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg?=
 =?UTF-8?B?0KHQtdGA0LPQtdC5?= <valor@list.ru>, xen-devel@lists.xenproject.org
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
 <f2231607-b29c-b54b-874f-4e30ee84ae80@citrix.com>
 <5f14bdb8-86cb-9c42-e1a4-751625ead2e7@suse.com>
In-Reply-To: <5f14bdb8-86cb-9c42-e1a4-751625ead2e7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0216.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:33a::8) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BN9PR03MB6106:EE_
X-MS-Office365-Filtering-Correlation-Id: 3dd8ed68-87ee-48f6-042a-08db2a12ac81
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6govDVRziTJe0HwZJvK4oLS/ztngAsT5/A4CenNjALU9sf3wBOezn3+ON0DGtjDdCWR+eZHPu92AU5KVDuWKRijZGra71psyZVx+wU7Oto73B2XK6IW2otlFzVHxyI2wQy8h3Y+7aTOTqv7Ft38RkqOIOCRNoPzljWB9ocKoXRaFSNr35N00VGsErKZHUNtakaLrOwY9DI9uHrX2MJNVERQmqk0aVIgHqAJXugNNzL5cZ40zMlHC38hLlBNgpQly92i4vZH4y8LvEmSfyyUJ1mnxXjgDTz/rje7UFDjx9H1kALFarKAq8KVJmgYemlue0VUPbbZOHgFImtQ4y/DT3rQnqgZiUJ/VqVuXtTPCQP5t5JL7g/03RQYiJCCU/SMtJsw4/jm3mX71chYl+4svdhKv/kJVwW9LZyB81LmCKCIUPpoL1yi3H5TdLQzdfF3k/OgG87AxZmIRKfzjhLxmGrpe6jlvyDdFFr7rrjT/2B1jFvq+irLZq1hXf4PZAtfwAaxz60rJWsv6JzTHdOwMXTf2+NhCnKr1xsRtQh8dsnvUnjoLgeM8kO8VDWN2HlLTL587tQWr8q1dYKpPf7jw+mP8bYcloCVmGmEh6859csQKRp9cd4xnylZtoylv5IFHOzD0HM92RX2XWNjGK17B43J2+sNeuxdQ8tRWCU/W54Z5k6Tz+EZ7xuszqkEOy5SNfTVf1oJZbTTCmorXUWnkFuboFodjZ3QYa4/lKrX6/yDahN6xJa76niGJI2Wj4mPt43AA+/XStSBEgRhnwnmFF18fUhIFnKPhMcttRcM3rhA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(376002)(346002)(366004)(136003)(39860400002)(451199018)(2616005)(6512007)(26005)(6506007)(53546011)(31686004)(6666004)(8676002)(6486002)(4326008)(6916009)(316002)(54906003)(66476007)(66946007)(478600001)(186003)(5660300002)(8936002)(7416002)(2906002)(82960400001)(41300700001)(38100700002)(66556008)(86362001)(31696002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dUc1REJLVUJDd2lLenNlcnpsUDBEckhQSUVOTjNndVhnRm9Kby9EWkFzM2NR?=
 =?utf-8?B?bTdMUTdRd2pGQUwzK3Rrc25GVURwNHM5TGtrY2V2R0FWN3AyRHZJWHlPR0Zy?=
 =?utf-8?B?VHVtVGF2dFFWdmtmLzk1SWl4TEpWcEdoS0dFdHV2OS9MTWRVRWMyeDVXeEY1?=
 =?utf-8?B?aFNWUXplc0pmelI5VWkrczhGdUpYelNoOTVsY0thaEdJRDJCWStsY2hOa1BZ?=
 =?utf-8?B?YnlKU2ZHMkNiSTRiV1JsQnhJYnRHN1QyNmFXWXY3amZyNStCc0ZDQVEwSjZy?=
 =?utf-8?B?WDRjenRFQjd5VEFTQzVsc0NxMlVidWFLaEZNWUdrN29BcjZtMDJVcktRdCto?=
 =?utf-8?B?NjBIN3hrUHFUVCtIbUgrZjMvQXd3YXBrMGdZSm5yRENpRElVb1dMamhVdDM4?=
 =?utf-8?B?TytGR0prMmlXakVXeVJBb2MyYmF1QWhNc2R2KzlReVRPY0V0YU9FTEpObjB3?=
 =?utf-8?B?ZjM5RG9LVVQraHBpMTNuNG80Y2JSQ053WWVnZWQ5QlVXaElnYVRoOGtNTE5U?=
 =?utf-8?B?NGlCcHcxWnZNYlJ4NlhQaTQ2WUlHSlJwVjdxV0Q3U1oyRjVZdnpiREdMbXFW?=
 =?utf-8?B?N1hVUDcrSDhjVGdWNnkxVHBySlJaRjdENkJ2Y2d0WXRhM3ZHYUxISnJSNU5M?=
 =?utf-8?B?OC83SnhKVzZVS2Y0RzRCajZBZ1VQY2M0MmxMSmlPNlhZQngzTlVzY2NySlps?=
 =?utf-8?B?dkFCRi9zbXhZb2FGUEVSMG83SW1DY25hVU1lemRPWlJZYWQ2WVBIM1krK2xn?=
 =?utf-8?B?WWI2Y1BlY3gzVzBIMjZpeUNwYmhpLy83a3VWNDN5VUswSmkwWCtWR0ozYXBo?=
 =?utf-8?B?QjQzMTAyQlNzZnQ5WUJZZGI1VFMwY3lhUWxwNk5YUzBLSnNIdE1EWFJkT1Zn?=
 =?utf-8?B?SnA0eEppQVZYNnRwQkFqODI2ckFqM0lkN0dKZ3VTbUZkTGIzajNHT1hyMU52?=
 =?utf-8?B?TGFWcGwxREVSNy9GRTE1V3YrUW9lOFl0VmQ5bWFWalIxakpsYzl2bEhxR3dj?=
 =?utf-8?B?alI1UHRNaUhFWXpqZU80Q3B3Yk1BQlJPaEgxellFZnZzR09wWFdVMEZrbUtP?=
 =?utf-8?B?NjVwY25vYXdRbUV6WFlyNW41a2V3cG5CaURtTi9od2xtc2Z2WjdCRzNWTHdt?=
 =?utf-8?B?QkRuOENEdStqbE5rd2QwTWprS0praW1SN2hlNnFZdnhFS3FuN2JSYit2M0tv?=
 =?utf-8?B?TjdhN0Q1VDBsK0luR3NoNUd3dmxGSFRUTVZyTVRTQzdYVU8vQlRnNE9XSDdz?=
 =?utf-8?B?N3hqNk9jTndEMjJVcmZucE1la2dUdWpGMXQxMWx1eWRCYi84bVJWM2cwcDhH?=
 =?utf-8?B?a29pL1JBNDRZWEx5Ynd3ZTJHek5yc2FvQkI4VHl3QW1vU2hYUnkwOG1CQkVB?=
 =?utf-8?B?OWVITEpzeWZ4RlhadXhuS1ptR2ZtRzlSWlhPMjBUK1hXQnlSL3hVa0hzL3o0?=
 =?utf-8?B?OFhGN0RzZWp5aTdVRkZrNG1XN0lnR1AvVUJLeDJ1NG5Eem9nclhWUitXSnFW?=
 =?utf-8?B?NWZCbVVtU3R1VFUxK0VKcHUwOExUWm1QSTRqc0Z2RmVYV05hbzNGMjZ2azJ2?=
 =?utf-8?B?ekcxRHo0aTZiMjBxUHoxZmM5b1lZOUxuK0w1WS9pNEpKV1ByRzdUTVpROGYy?=
 =?utf-8?B?S1pJMkM4Z0VDMEVGakdSN0N2M2pMZ1pZM2tjZ3dTclNlVlRPWW9jMWFoczBy?=
 =?utf-8?B?SDFaWS9XSFp3QzUzZ3lxOVFNeHptWnNmdUVQVGpQRStJQUZTSUxvaGswa1c0?=
 =?utf-8?B?anh3VER3QjNpOWd0NGM2R01BQVdma1l5M3Z6azFGUlhiak1tcWRIWS9YY29V?=
 =?utf-8?B?Wmd1SW5vbE1EMXp6R0NaUGJqWGVzMmNPT0lwOU1NNTU5ZVJTVkZ3eVFjaXdT?=
 =?utf-8?B?UjBaOFB1L2R4SVR1bzU2bGloVDg4eHhLN3BZWGwvMnh6UlB1YWNKcGdCMXRO?=
 =?utf-8?B?emFMZE9Ubmo4V3RjUW5XdEV1ZTlUbnVQR1pFcmZmYldMYnl2eVQzZ2VCV1Fu?=
 =?utf-8?B?Mk1Qd001ejVRd3hVYmVBbHE0b2tLUG1rSWQyd09VV09oR1FGNDQwZURKRjBt?=
 =?utf-8?B?MUJrMEhmcTFEeE52eHpOU2pWemp1YXJYT3JEdDdzc0htMzBnR2dJWHBkY2ZZ?=
 =?utf-8?B?MldNbDhvUk9FLzNHMGlUckkvbGdkQ0d4dDNwd2pjTzdFR3RDNnZTU2IxWlNj?=
 =?utf-8?B?OVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?Q042d0VKQmdGY2tGekh2R2xGaWR6RUMrR2Fta0NCR0FiZFRzdTFOZjNZdzJh?=
 =?utf-8?B?dmhlTzhQK1duVlBFL3AvMzB1UnhVb3A5SGlwdkMrT0FrNk9IKzVVL3BuTjJk?=
 =?utf-8?B?TXFma2s5b1hQNlFkMDZKMi9DTlBEYnhHSWNBV3YvMEoxOEpMNG5WZ3FkdnJs?=
 =?utf-8?B?MGYrMzZsSzd2eU05MitYZHptMHlQU0VRNEp5MlYzam13SHA0NHNLRmpGdWdM?=
 =?utf-8?B?RVdsdWJPcXkreWxxNERtVWd3Tk9FbGI3T0xud3hrbldrQjJQRVp2UkhNWHpU?=
 =?utf-8?B?V2t5UnlFTnlDVGlDQzU1aHNwZUNJYThVZ2VhdWF2VkRvcjR3RG5QcVBZSU41?=
 =?utf-8?B?QU02clBRaUQ1SnovakEwcTliMnY3bDA1QitHWTBheFNoSU1tdlQwQ3dURG9N?=
 =?utf-8?B?amN1OUhORDNOSzFoN01zUVZWdXBtVTZwU3duSHBhT0Evam1qSjNVSDB1SXRx?=
 =?utf-8?B?eFpueHpDeEVVUXh6anZ0TXZSUEVWbzhkMnlnSDFWWG1BMWs0WHN5VUJ3RXRD?=
 =?utf-8?B?dGo3TWxOTjZnaEZaeTFVSUZRc1YveHBiWTM4Wk5SZGNUNVd3ZW8vRmhWeFln?=
 =?utf-8?B?KzhSc1pFRDFDQnNyVENnaVpQMlRQT1BPTVJkVFNmUVluek4yd0NsUU90UDQr?=
 =?utf-8?B?Zll4Sm9FSHRERFhIMm92OE9wcDdQdlFWSkNOR3lzWmIxOC92N3J6d1RCV3dl?=
 =?utf-8?B?TStwdGhBcytyUnY5cDJOOTE3TEZqQitwU1NUdk80OE15clZJaUF0RXJOZTR0?=
 =?utf-8?B?THNXR3pnS095NUJhR0g5alR4d2tsT0h0R0EwdEhqOUFVMDFOdzkrTExGeC95?=
 =?utf-8?B?T2EzL0EwRW5QSWpqZm9vLzBONGJHRWpBZDIxYkFTZm0vS2l4TjVkSjBSOVlF?=
 =?utf-8?B?M3dtUkhZMFdMcjUxTDRYRUhaR0JnUWpVSkRpRkNhUTlxQjh2YkZJTmJPemFh?=
 =?utf-8?B?Tno3UWhKR2I0TzNyUGlVQ3R1d2UzK052UDN3WDBVYnJrN3VuMzdMaGxSaFpO?=
 =?utf-8?B?OHhkMkFNK2JBazZyV01EV2dSbFUza1poVzlIL3JUR3hGbSt4aEpMbDN4TC84?=
 =?utf-8?B?U1dXb2toRSsrWkkvSmtkR24vSXFzaktEWnBBNmd6OEU5elJzOWc4WHRFczg4?=
 =?utf-8?B?UGRLTGovL3MzcGNkRnJPSVJvMjFYK1EzL1V3ZFYyeG9NOFRSN0NlYTUrWGVI?=
 =?utf-8?B?UXp6Q0Q0MEJRb29wTWRoQlcwUmZwUDdOOW94Y2xWUWFMUzNyRUhhRjkvTjdv?=
 =?utf-8?Q?Xe/oxvEfpaqGQq7?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3dd8ed68-87ee-48f6-042a-08db2a12ac81
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 13:46:29.8096
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tYPvKoOnARjfHcbPXpJUsxrwVzR+LFlqOdytOUhqvkXWX+e5J2u+HUa/dQ1NikUAzwHL453WN7CMQ2fZmS2cCLH9HM4T9jobKjOL/A/MGyg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6106

On 21/03/2023 7:28 am, Jan Beulich wrote:
> On 20.03.2023 20:07, Andrew Cooper wrote:
>> On 20/03/2023 4:32 pm, Ковалёв Сергей wrote:
>>> gva_to_gfn command used for fast address translation in LibVMI project.
>>> With such a command it is possible to perform address translation in
>>> single call instead of series of queries to get every page table.
>>>
>>> Thanks to Dmitry Isaykin for involvement.
>>>
>>> Signed-off-by: Sergey Kovalev <valor@list.ru>
>> I fully appreciate why you want this hypercall, and I've said several
>> times that libvmi wants something better than it has, but...
> But is a domctl really the right vehicle? While not strictly intended for
> device models, a dm-op would seem more suitable to me. Considering you
> already brought altp2m into play, it could also be a sub-op of HVMOP_altp2m.

It definitely feels wrong to be using an altp2m op if you're not using
altp2m, and there introspection usecases that don't use altp2m.

dm-op would be the place to put this, if I wasn't pretty sure it would
be modified over time.

As I say - I can see why this might be useful, but pagewalking is more
complicated than the interface presented here.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 13:48:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 13:48:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512649.792697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecLK-0000PI-EJ; Tue, 21 Mar 2023 13:48:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512649.792697; Tue, 21 Mar 2023 13: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 1pecLK-0000PB-BA; Tue, 21 Mar 2023 13:48:02 +0000
Received: by outflank-mailman (input) for mailman id 512649;
 Tue, 21 Mar 2023 13:48: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=LvxA=7N=gmail.com=rjwysocki@srs-se1.protection.inumbo.net>)
 id 1pecLJ-0000P1-Dn
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 13:48:01 +0000
Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com
 [209.85.208.43]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd2cfcef-c7ee-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 14:47:58 +0100 (CET)
Received: by mail-ed1-f43.google.com with SMTP id x3so59844475edb.10
 for <xen-devel@lists.xenproject.org>; Tue, 21 Mar 2023 06:47: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: fd2cfcef-c7ee-11ed-b464-930f4c7d94ae
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679406478;
        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=vvR60g3tFXEBQYgwVwbIXJyQcGxQhx5VhvptYm3eERQ=;
        b=DYwjmbaSsPTpk78VASOclEmfRGn0BPTpdsONr83iJDVkXhVWMWm617zYbyoql9gFam
         olsO5V2YBYpMTjm9y+IVcLiwGvdG4vdkwtXENxnLxHjSf4w6vxiy5qYL5CUvwDGyRf75
         Tf7bIOi06yLxM4sUOLeHEzQHRV2rfejVep9nx87Lam9fv5N9hS278QpYljocFtft72fx
         kRDcnyntoDJWQBcCn+qpPzCohRV5QvLNUfo5Fsul1nEwktyjzYT9pjgL1bpy0jOe/1Fg
         aJNeVInYhI7mOZ2vxFZ11KKPXzazOKtvAak9leO2tvom+WairrJxPrQ7qx+uZ/0p7us7
         I1/A==
X-Gm-Message-State: AO0yUKUVRlGegmhKAsBWzoOyeWPzosAQ1QnCM+Rq5FtNiqld+4TypK1I
	SRERnJ7rv47xsNaceVitRVpo2MBe+5pD55k3kSk=
X-Google-Smtp-Source: AK7set/h/NZ/VGvn4gefABgUQDp9XIpghr+brUfqQ2nYQUkGxKqbJrSGm8oBcbUzqE6/gClu2VFHaojfHaqc9llz62M=
X-Received: by 2002:a50:cd1d:0:b0:4fc:8749:cd77 with SMTP id
 z29-20020a50cd1d000000b004fc8749cd77mr1690914edi.3.1679406477635; Tue, 21 Mar
 2023 06:47:57 -0700 (PDT)
MIME-Version: 1.0
References: <20230316164257.42590-1-roger.pau@citrix.com>
In-Reply-To: <20230316164257.42590-1-roger.pau@citrix.com>
From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: Tue, 21 Mar 2023 14:47:46 +0100
Message-ID: <CAJZ5v0jskeE8nJt04vyEkDO3rOwOHp36mcKcV=L9LGXD0HL6Mw@mail.gmail.com>
Subject: Re: [PATCH v4] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
	josef@oderland.se, 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>, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, "Rafael J. Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>, Alex Chiang <achiang@hp.com>, 
	linux-acpi@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Mar 16, 2023 at 5:43=E2=80=AFPM Roger Pau Monne <roger.pau@citrix.c=
om> wrote:
>
> In ACPI systems, the OS can direct power management, as opposed to the
> firmware.  This OS-directed Power Management is called OSPM.  Part of
> telling the firmware that the OS going to direct power management is
> making ACPI "_PDC" (Processor Driver Capabilities) calls.  These _PDC
> methods must be evaluated for every processor object.  If these _PDC
> calls are not completed for every processor it can lead to
> inconsistency and later failures in things like the CPU frequency
> driver.
>
> In a Xen system, the dom0 kernel is responsible for system-wide power
> management.  The dom0 kernel is in charge of OSPM.  However, the
> number of CPUs available to dom0 can be different than the number of
> CPUs physically present on the system.
>
> This leads to a problem: the dom0 kernel needs to evaluate _PDC for
> all the processors, but it can't always see them.
>
> In dom0 kernels, ignore the existing ACPI method for determining if a
> processor is physically present because it might not be accurate.
> Instead, ask the hypervisor for this information.
>
> Fix this by introducing a custom function to use when running as Xen
> dom0 in order to check whether a processor object matches a CPU that's
> online.  Such checking is done using the existing information fetched
> by the Xen pCPU subsystem, extending it to also store the ACPI ID.
>
> This ensures that _PDC method gets evaluated for all physically online
> CPUs, regardless of the number of CPUs made available to dom0.
>
> Fixes: 5d554a7bb064 ('ACPI: processor: add internal processor_physically_=
present()')
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> ---
> Changes since v3:
>  - Protect xen_processor_present() definition with CONFIG_ACPI.
>
> Changes since v2:
>  - Extend and use the existing pcpu functionality.
>
> Changes since v1:
>  - Reword commit message.
> ---
>  arch/x86/include/asm/xen/hypervisor.h | 10 ++++++++++
>  drivers/acpi/processor_pdc.c          | 11 +++++++++++
>  drivers/xen/pcpu.c                    | 21 +++++++++++++++++++++
>  3 files changed, 42 insertions(+)
>
> diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm=
/xen/hypervisor.h
> index 5fc35f889cd1..990a1609677e 100644
> --- a/arch/x86/include/asm/xen/hypervisor.h
> +++ b/arch/x86/include/asm/xen/hypervisor.h
> @@ -63,4 +63,14 @@ void __init xen_pvh_init(struct boot_params *boot_para=
ms);
>  void __init mem_map_via_hcall(struct boot_params *boot_params_p);
>  #endif
>
> +#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI)
> +bool __init xen_processor_present(uint32_t acpi_id);
> +#else
> +static inline bool xen_processor_present(uint32_t acpi_id)
> +{
> +       BUG();
> +       return false;
> +}
> +#endif
> +
>  #endif /* _ASM_X86_XEN_HYPERVISOR_H */
> diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c
> index 8c3f82c9fff3..18fb04523f93 100644
> --- a/drivers/acpi/processor_pdc.c
> +++ b/drivers/acpi/processor_pdc.c
> @@ -14,6 +14,8 @@
>  #include <linux/acpi.h>
>  #include <acpi/processor.h>
>
> +#include <xen/xen.h>

This along with the definition above is evidently insufficient for
xen_processor_present() to always be defined.  See
https://lore.kernel.org/linux-acpi/64198b60.bO+m9o5w+Hd8hcF3%25lkp@intel.co=
m/T/#u
for example.

I'm dropping the patch now, please fix and resend.

> +
>  #include "internal.h"
>
>  static bool __init processor_physically_present(acpi_handle handle)
> @@ -47,6 +49,15 @@ static bool __init processor_physically_present(acpi_h=
andle handle)
>                 return false;
>         }
>
> +       if (xen_initial_domain())
> +               /*
> +                * When running as a Xen dom0 the number of processors Li=
nux
> +                * sees can be different from the real number of processo=
rs on
> +                * the system, and we still need to execute _PDC for all =
of
> +                * them.
> +                */
> +               return xen_processor_present(acpi_id);
> +
>         type =3D (acpi_type =3D=3D ACPI_TYPE_DEVICE) ? 1 : 0;
>         cpuid =3D acpi_get_cpuid(handle, type, acpi_id);
>
> diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
> index fd3a644b0855..034d05e56507 100644
> --- a/drivers/xen/pcpu.c
> +++ b/drivers/xen/pcpu.c
> @@ -58,6 +58,7 @@ struct pcpu {
>         struct list_head list;
>         struct device dev;
>         uint32_t cpu_id;
> +       uint32_t acpi_id;
>         uint32_t flags;
>  };
>
> @@ -249,6 +250,7 @@ static struct pcpu *create_and_register_pcpu(struct x=
enpf_pcpuinfo *info)
>
>         INIT_LIST_HEAD(&pcpu->list);
>         pcpu->cpu_id =3D info->xen_cpuid;
> +       pcpu->acpi_id =3D info->acpi_id;
>         pcpu->flags =3D info->flags;
>
>         /* Need hold on xen_pcpu_lock before pcpu list manipulations */
> @@ -381,3 +383,22 @@ static int __init xen_pcpu_init(void)
>         return ret;
>  }
>  arch_initcall(xen_pcpu_init);
> +
> +#ifdef CONFIG_ACPI
> +bool __init xen_processor_present(uint32_t acpi_id)
> +{
> +       struct pcpu *pcpu;
> +       bool online =3D false;
> +
> +       mutex_lock(&xen_pcpu_lock);
> +       list_for_each_entry(pcpu, &xen_pcpus, list)
> +               if (pcpu->acpi_id =3D=3D acpi_id) {
> +                       online =3D pcpu->flags & XEN_PCPU_FLAGS_ONLINE;
> +                       break;
> +               }
> +
> +       mutex_unlock(&xen_pcpu_lock);
> +
> +       return online;
> +}
> +#endif
> --
> 2.39.0
>


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 13:59:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 13:59:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512654.792708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecW6-0002HB-E4; Tue, 21 Mar 2023 13:59:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512654.792708; Tue, 21 Mar 2023 13: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 1pecW6-0002H4-B9; Tue, 21 Mar 2023 13:59:10 +0000
Received: by outflank-mailman (input) for mailman id 512654;
 Tue, 21 Mar 2023 13:59: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=xciR=7N=yandex.ru=isaikin-dmitry@srs-se1.protection.inumbo.net>)
 id 1pecW4-0002Ec-2G
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 13:59:08 +0000
Received: from forward107j.mail.yandex.net (forward107j.mail.yandex.net
 [5.45.198.252]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8afe5b26-c7f0-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 14:59:06 +0100 (CET)
Received: from mail-nwsmtp-smtp-production-main-90.myt.yp-c.yandex.net
 (mail-nwsmtp-smtp-production-main-90.myt.yp-c.yandex.net
 [IPv6:2a02:6b8:c12:4584:0:640:afb7:0])
 by forward107j.mail.yandex.net (Yandex) with ESMTP id C41A5884B46;
 Tue, 21 Mar 2023 16:59:03 +0300 (MSK)
Received: by mail-nwsmtp-smtp-production-main-90.myt.yp-c.yandex.net
 (smtp/Yandex) with ESMTPSA id 0xpUErRRfSw0-6HwIeWGh; 
 Tue, 21 Mar 2023 16:59:02 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8afe5b26-c7f0-11ed-87f5-c1b5be75604c
X-Yandex-Fwd: 1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1679407142;
	bh=x4oFSUpFOoascCBkAa0+7rS1W1m1rJ362Mp4iq7EZzw=;
	h=Message-Id:Date:Cc:Subject:To:From;
	b=KwFynVWEPmX8zRj5DUuTr6CJEJCEFibz84ROoVKeD4/SuVKnH5wGbCUiGurW/zW8a
	 0WIM3gVVXkDBeUsf0mrwEYWPEO9jjwm+SUv+rh7j6BRzSjPntpEfyJH3GPxhKFj8Nk
	 biTsCZOCMLHFA7iYIIFZZo6jHCqQuq/3tt8uE/y8=
Authentication-Results: mail-nwsmtp-smtp-production-main-90.myt.yp-c.yandex.net; dkim=pass header.i=@yandex.ru
From: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
To: xen-devel@lists.xenproject.org
Cc: Dmitry Isaykin <isaikin-dmitry@yandex.ru>,
	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>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Anton Belousov <abelousov@ptsecurity.com>
Subject: [XEN PATCH v5] x86/monitor: Add new monitor event to catch I/O instructions
Date: Tue, 21 Mar 2023 16:58:58 +0300
Message-Id: <7bd5ec4ff75ea0157d782f8820db1d17b6ad1289.1679406554.git.isaikin-dmitry@yandex.ru>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Adds monitor support for I/O instructions.

Signed-off-by: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
Signed-off-by: Anton Belousov <abelousov@ptsecurity.com>
---
Changes in v5:
 * Rebase on staging

Changes in v4:
 * Avoid the use of fixed-width types
 * Document vm_event_io structure fields
 * Untie vm-event interface from ioreq one

Changes in v3:
 * Rebase on staging
 * Refactor branch logic on monitor_traps response

Changes in v2:
 * Handled INS and OUTS instructions too
 * Added I/O monitoring support for AMD
 * Rename functions and structures (remove "_instruction" part)
 * Reorder parameters of hvm_monitor_io to match handle_pio's order
 * Change type of string_ins parameter to bool
 * Change vm_event_io structure
 * Handle monitor_traps's return status
---
 tools/include/xenctrl.h                |  1 +
 tools/libs/ctrl/xc_monitor.c           | 13 +++++++++++++
 xen/arch/x86/hvm/monitor.c             | 21 +++++++++++++++++++++
 xen/arch/x86/hvm/svm/svm.c             |  9 +++++++++
 xen/arch/x86/hvm/vmx/vmx.c             |  7 +++++++
 xen/arch/x86/include/asm/domain.h      |  1 +
 xen/arch/x86/include/asm/hvm/monitor.h |  3 +++
 xen/arch/x86/include/asm/monitor.h     |  3 ++-
 xen/arch/x86/monitor.c                 | 13 +++++++++++++
 xen/include/public/domctl.h            |  1 +
 xen/include/public/vm_event.h          | 10 ++++++++++
 11 files changed, 81 insertions(+), 1 deletion(-)

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 23037874d3..05967ecc92 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2102,6 +2102,7 @@ int xc_monitor_emul_unimplemented(xc_interface *xch, uint32_t domain_id,
                                   bool enable);
 int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
                       bool sync);
+int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable);
 /**
  * This function enables / disables emulation for each REP for a
  * REP-compatible instruction.
diff --git a/tools/libs/ctrl/xc_monitor.c b/tools/libs/ctrl/xc_monitor.c
index c5fa62ff30..3cb96f444f 100644
--- a/tools/libs/ctrl/xc_monitor.c
+++ b/tools/libs/ctrl/xc_monitor.c
@@ -261,6 +261,19 @@ int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
     return do_domctl(xch, &domctl);
 }
 
+int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable)
+{
+    DECLARE_DOMCTL;
+
+    domctl.cmd = XEN_DOMCTL_monitor_op;
+    domctl.domain = domain_id;
+    domctl.u.monitor_op.op = enable ? XEN_DOMCTL_MONITOR_OP_ENABLE
+                                    : XEN_DOMCTL_MONITOR_OP_DISABLE;
+    domctl.u.monitor_op.event = XEN_DOMCTL_MONITOR_EVENT_IO;
+
+    return do_domctl(xch, &domctl);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/hvm/monitor.c b/xen/arch/x86/hvm/monitor.c
index a11cd76f4d..4f500beaf5 100644
--- a/xen/arch/x86/hvm/monitor.c
+++ b/xen/arch/x86/hvm/monitor.c
@@ -346,6 +346,27 @@ int hvm_monitor_vmexit(unsigned long exit_reason,
     return monitor_traps(curr, ad->monitor.vmexit_sync, &req);
 }
 
+int hvm_monitor_io(unsigned int port, unsigned int bytes,
+                   bool in, bool str)
+{
+    struct vcpu *curr = current;
+    struct arch_domain *ad = &curr->domain->arch;
+    vm_event_request_t req = {
+        .reason = VM_EVENT_REASON_IO_INSTRUCTION,
+        .u.io.bytes = bytes,
+        .u.io.port = port,
+        .u.io.in = in,
+        .u.io.str = str,
+    };
+
+    if ( !ad->monitor.io_enabled )
+        return 0;
+
+    set_npt_base(curr, &req);
+
+    return monitor_traps(curr, true, &req);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index bfe03316de..02563e4b70 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2939,6 +2939,15 @@ void svm_vmexit_handler(void)
         break;
 
     case VMEXIT_IOIO:
+        rc = hvm_monitor_io(vmcb->ei.io.port,
+                            vmcb->ei.io.bytes,
+                            vmcb->ei.io.in,
+                            vmcb->ei.io.str);
+        if ( rc < 0 )
+            goto unexpected_exit_type;
+        if ( rc )
+            break;
+
         if ( !vmcb->ei.io.str )
         {
             if ( handle_pio(vmcb->ei.io.port,
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 78ac9ece6f..bc7d36aa03 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4574,10 +4574,17 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
             };
         } io_qual;
         unsigned int bytes;
+        int rc;
 
         __vmread(EXIT_QUALIFICATION, &io_qual.raw);
         bytes = io_qual.size + 1;
 
+        rc = hvm_monitor_io(io_qual.port, bytes, io_qual.in, io_qual.str);
+        if ( rc < 0 )
+            goto exit_and_crash;
+        if ( rc )
+            break;
+
         if ( io_qual.str )
         {
             if ( !hvm_emulate_one_insn(x86_insn_is_portio, "port I/O") )
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index 7bc126587d..29027ffd29 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -435,6 +435,7 @@ struct arch_domain
         unsigned int descriptor_access_enabled                             : 1;
         unsigned int guest_request_userspace_enabled                       : 1;
         unsigned int emul_unimplemented_enabled                            : 1;
+        unsigned int io_enabled                                            : 1;
         /*
          * By default all events are sent.
          * This is used to filter out pagefaults.
diff --git a/xen/arch/x86/include/asm/hvm/monitor.h b/xen/arch/x86/include/asm/hvm/monitor.h
index 639f6dfa37..6884f38d73 100644
--- a/xen/arch/x86/include/asm/hvm/monitor.h
+++ b/xen/arch/x86/include/asm/hvm/monitor.h
@@ -54,6 +54,9 @@ bool hvm_monitor_check_p2m(unsigned long gla, gfn_t gfn, uint32_t pfec,
 int hvm_monitor_vmexit(unsigned long exit_reason,
                        unsigned long exit_qualification);
 
+int hvm_monitor_io(unsigned int port, unsigned int bytes,
+                   bool in, bool str);
+
 #endif /* __ASM_X86_HVM_MONITOR_H__ */
 
 /*
diff --git a/xen/arch/x86/include/asm/monitor.h b/xen/arch/x86/include/asm/monitor.h
index d8d54c5f23..96e6a9d0d8 100644
--- a/xen/arch/x86/include/asm/monitor.h
+++ b/xen/arch/x86/include/asm/monitor.h
@@ -90,7 +90,8 @@ static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
                     (1U << XEN_DOMCTL_MONITOR_EVENT_WRITE_CTRLREG) |
                     (1U << XEN_DOMCTL_MONITOR_EVENT_EMUL_UNIMPLEMENTED) |
                     (1U << XEN_DOMCTL_MONITOR_EVENT_INGUEST_PAGEFAULT) |
-                    (1U << XEN_DOMCTL_MONITOR_EVENT_VMEXIT));
+                    (1U << XEN_DOMCTL_MONITOR_EVENT_VMEXIT) |
+                    (1U << XEN_DOMCTL_MONITOR_EVENT_IO));
 
     if ( hvm_is_singlestep_supported() )
         capabilities |= (1U << XEN_DOMCTL_MONITOR_EVENT_SINGLESTEP);
diff --git a/xen/arch/x86/monitor.c b/xen/arch/x86/monitor.c
index 30ca71432c..d4857faf8a 100644
--- a/xen/arch/x86/monitor.c
+++ b/xen/arch/x86/monitor.c
@@ -346,6 +346,19 @@ int arch_monitor_domctl_event(struct domain *d,
         break;
     }
 
+    case XEN_DOMCTL_MONITOR_EVENT_IO:
+    {
+        bool old_status = ad->monitor.io_enabled;
+
+        if ( unlikely(old_status == requested_status) )
+            return -EEXIST;
+
+        domain_pause(d);
+        ad->monitor.io_enabled = requested_status;
+        domain_unpause(d);
+        break;
+    }
+
     default:
         /*
          * Should not be reached unless arch_monitor_get_capabilities() is
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 51be28c3de..7280e9f968 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -1063,6 +1063,7 @@ struct xen_domctl_psr_cmt_op {
 /* Enabled by default */
 #define XEN_DOMCTL_MONITOR_EVENT_INGUEST_PAGEFAULT     11
 #define XEN_DOMCTL_MONITOR_EVENT_VMEXIT                12
+#define XEN_DOMCTL_MONITOR_EVENT_IO                    13
 
 struct xen_domctl_monitor_op {
     uint32_t op; /* XEN_DOMCTL_MONITOR_OP_* */
diff --git a/xen/include/public/vm_event.h b/xen/include/public/vm_event.h
index 0035c26e12..3a86f0e208 100644
--- a/xen/include/public/vm_event.h
+++ b/xen/include/public/vm_event.h
@@ -160,6 +160,8 @@
 #define VM_EVENT_REASON_EMUL_UNIMPLEMENTED      14
 /* VMEXIT */
 #define VM_EVENT_REASON_VMEXIT                  15
+/* IN/OUT Instruction executed */
+#define VM_EVENT_REASON_IO_INSTRUCTION          16
 
 /* Supported values for the vm_event_write_ctrlreg index. */
 #define VM_EVENT_X86_CR0    0
@@ -388,6 +390,13 @@ struct vm_event_vmexit {
     } arch;
 };
 
+struct vm_event_io {
+    uint32_t bytes; /* size of access */
+    uint16_t port;  /* port number */
+    uint8_t  in;    /* direction (0 = OUT, 1 = IN) */
+    uint8_t  str;   /* string instruction (0 = not string, 1 = string) */
+};
+
 typedef struct vm_event_st {
     uint32_t version;   /* VM_EVENT_INTERFACE_VERSION */
     uint32_t flags;     /* VM_EVENT_FLAG_* */
@@ -409,6 +418,7 @@ typedef struct vm_event_st {
         struct vm_event_debug                 debug_exception;
         struct vm_event_cpuid                 cpuid;
         struct vm_event_vmexit                vmexit;
+        struct vm_event_io                    io;
         union {
             struct vm_event_interrupt_x86     x86;
         } interrupt;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:02:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:02:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512659.792718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecZR-0003rW-1h; Tue, 21 Mar 2023 14:02:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512659.792718; Tue, 21 Mar 2023 14: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 1pecZQ-0003rP-V0; Tue, 21 Mar 2023 14:02:36 +0000
Received: by outflank-mailman (input) for mailman id 512659;
 Tue, 21 Mar 2023 14: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=oKE/=7N=citrix.com=prvs=437062dd9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pecZP-0003rE-SS
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:02:35 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 03e19926-c7f1-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:02:31 +0100 (CET)
Received: from mail-mw2nam04lp2169.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 10:02:14 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BY1PR03MB7288.namprd03.prod.outlook.com (2603:10b6:a03:52a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:02:09 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 14:02: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: 03e19926-c7f1-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679407351;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=Hg8QiyNc0Vom899KCM+alR/CySnDjyKMfq/pvLmP2DI=;
  b=Ns+8GtKF/PIUg8ZoJ6SvPBOMHvA72qcMZuYIyExlrHbtMiPzUlZqv+dY
   OHM9CVLRdOhsPUQQjSWrv+ZASIVqBxKQejDiNGbchB84BnaZ4enBCpXFc
   0N+5FlUUh7PSLjkNaRQE3WJI8fjZc68NeYTwoiOY7ujNfJMCuCRcd9uSD
   o=;
X-IronPort-RemoteIP: 104.47.73.169
X-IronPort-MID: 100512262
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:802wmqIG5Z2bpZr+FE+RLJUlxSXFcZb7ZxGr2PjKsXjdYENS0GYFx
 mMfD2HUafyOMzajeNEkPI/n/UoCu8fQm95iG1NlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZnPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5IUU4Jp
 NEzCQkxZz66q9Kz/7GjFdJV05FLwMnDZOvzu1lG5BSBUbMDfsqGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/VspTGNnWSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03rKWx3mlAur+EpX7rMZsj32Om1UeERIdeVCasfSkmHSxDoc3x
 0s8v3BGQbIJ3FaiQNDwWzW7rWSCsxpaXMBfe8Uk5QeOw7bZ+AbfHmEASj9ZYdAnnM4wWTEuk
 FSOmrvBAjhis6acT36HwauFtjO5OSUTLmgqaDcNSE0O5NyLiJookhvFQ9JnEai0pt74Azf9x
 3aNtidWr7Eei8Qj1Kih+13DxTW2qfDhThY8zhfGQmW/qAh+YeaNd9z2wVvW9/BNKMCeVFbpl
 HQNhcXY7OkIFpyLvCiMRvgdWrCv+/uBdjbbhDZHFYEJ/jCs9njzO4xdiBl7JUFmNe4edDPpa
 VOVsgRUjLdPM3+6Rat2ZZ+tEcMszLimGdmNfvrTdNtVJJ9qaBWA4jptdGaXxWnmlEVqmqY6U
 b+ZftyrFm0yErl8wXy9QOJ1+b0s3S0w7WTfSIr/xhKrl6GTDFaFRLFAPFaQY+QR6KKfvB6T4
 9tZL9GNyRhUTKv5eCa/2YoSK00aaHs2H5b7r+RJeeOZZAlrAmcsD7nW27xJU4Vun6VckOjg/
 mn7UUhdoHL7hHvaOUCDYWhiQK3gUIw5rn8hOyEoe1Gy1BAejZ2H6a4ec94yYuMh/ek7kfpsF
 aBbKoOHH+hFTSnB93IFd57hoYd+dROtwwWTIy6iZzt5dJllL+DUxuLZksLU3HFmJkKKWQEW+
 NVMCiuzrUI/ejlf
IronPort-HdrOrdr: A9a23:JISsQ6txuMpoN/qiOX3s/5ew7skDstV00zEX/kB9WHVpm6yj+v
 xG/c5rsCMc7Qx6ZJhOo7+90cW7L080lqQFg7X5X43DYOCOggLBQL2KhbGI/9SKIVycygcy78
 Zdm6gVMqyLMbB55/yKnTVRxbwbsaW6GKPDv5ag8590JzsaD52Jd21Ce36m+ksdfnggObMJUK
 Cyy+BgvDSadXEefq2AdwI4t7iqnaysqHr+CyR2fiIa1A==
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="100512262"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZtKVRR0lR6Ro1CqYtAQ75HgBqhLDGkQXpOrdBl4QbfRihydMn7iU9AsLAzPXdrPqwZVWnaAI5yifJmYawPjgekliDrArpEy6m8ZMHmMmBB+6AT9Hxn/zBvGzPjsscIVKyrsjReT7TLFf9Imf0XZm/ZBdYpNlGR9r4RGwBJsMiEvCoTjNK9x4tS63KHC9jeYgKuIBDl80NhtrK/BMHad+Jj9QIFRko/YPqS7lv62mb+GgJz3RnT+Kl67jzRBypTe25sxPAOYgl7POCwvRspCFNj5JAwhF5b09MPD8wQoaemLWjAQNMoj6KCItpNhThTciTM/SACPayQJSJg03E4OMzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=23A/TFIJGEo0EFuDgc/krWX2pmswq4Db1Ol0EjHKRbY=;
 b=FdSMH9vnfEYvxJxpv9oObjbOoooCLiC69ry2NqYwonkbmy3jafWykgYfNnJaJFUsbhv8CAtHvDpLJ4WKZsAEGPzzU1mB2q6mphGT5vdCqQPVpaODe6LbT1uegREEsfXzYZedoAh95zwBHHsotjPVpWe6RJey+1mP+LyNgVMZ3G4Y0KM5mxWvvpyYm4A/d3dCnV3cNix0paq4Rn+XnfUr+dagEPJ0u78yM/BAemesVLgs4R0J9olyAhPp0f5vCz+ScDcx2bJYegVo0E/KE65Pyclt8j+EoQ36XD7MMAfMwmlpB4LT5/pIQVlzc3dQj77kYDBf9oSaiOoB4upwG4NwIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=23A/TFIJGEo0EFuDgc/krWX2pmswq4Db1Ol0EjHKRbY=;
 b=ZKmEuaPScZm/382hCsWsXb4zJr7PNH+xuTPfy8pbSaIyvAWkEjv5kjgkWx4AU3s66xKU3EOcPTU5AwmJF9kgiAEOP9MzslaI8eHZW2dxGG9afVT8C2PXoYkkxtUkU/Whqp8sTy2DeP+USESpkcgyvRyZLSV1f80aokSaA1BI3Xo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Mar 2023 15:02:02 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	josef@oderland.se, 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>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, Len Brown <lenb@kernel.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org
Subject: Re: [PATCH v4] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
Message-ID: <ZBm42pgVCvsv6dzK@Air-de-Roger>
References: <20230316164257.42590-1-roger.pau@citrix.com>
 <CAJZ5v0jskeE8nJt04vyEkDO3rOwOHp36mcKcV=L9LGXD0HL6Mw@mail.gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAJZ5v0jskeE8nJt04vyEkDO3rOwOHp36mcKcV=L9LGXD0HL6Mw@mail.gmail.com>
X-ClientProxiedBy: LO4P123CA0448.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a9::21) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BY1PR03MB7288:EE_
X-MS-Office365-Filtering-Correlation-Id: 5ddcf53b-3591-45d3-9bb3-08db2a14dc62
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nMkrDfpD+WZqPvh3pH9z0o46/8a3sEAkjjwLCVYeyGyVWZpnfu2wT7APuDkMtuy2ZwtFMB3p+qXlP1Drz+cF8saOEaAxIukPOKdw5/dQVDZRkhPg4INmtKqL51AINKO+sHpsUwdyyjEnKB2ZHIbr3aSPNFrZ/78kOOOb0PbZtpI2VNXMybM8UCoMCg39tGYsQis4CKQAgECNQZfbPIMYbsx0E2ZULVKjPem4wRG0q/idtw9zPGAcGwz3lfOYZcH2dPMuf9nMYhVyk8yi7L5VJgJFtNGEs0Tutn4YZfR1nhw9dRwIi5lcZLs2sdKzoGXqBMJ2PlLvHAug7ZM3mQfcf655lWtGJa9qjLMV2oQaLBh7FI7G+Eu6ySHOdPtVuGc/DxjFhOrVhlhS464dQeF2jua4oF9hgEmslyipNZj/Bsu4/fY73xp3uesUeTujHBe9awbxDBtf1eAQ/hA6K7JlVaIl1ASLEQZiGqFuu13/D6kvu7QHZrpofG+moSyMF/NvAvqKeuJvlYMyqm7tjNndShLMdGOXRz0SUlDIrrvrtekk6wxVDrNbQ5nr0jFa4wFbngthWmqiCq7IDuosCk395Zl/Vf9Wnw1B4t8dV1DdNdBFMWOjP2RQQQQMQhhJxNF83aHSPTcvAYx3t2arRNI2TBsaF7+KIdhrF6Ds5RcLWRY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(376002)(136003)(346002)(39860400002)(366004)(396003)(451199018)(316002)(54906003)(6666004)(478600001)(6916009)(38100700002)(66946007)(8676002)(4326008)(66556008)(66476007)(6486002)(2906002)(966005)(41300700001)(82960400001)(86362001)(26005)(186003)(6506007)(8936002)(6512007)(9686003)(83380400001)(53546011)(85182001)(33716001)(5660300002)(7416002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Tm5UQzl0dWF1N3YySitFbHVhb3VQSkJhTmlDTVpyRWVKQ1BFUXc2MlVaOFY3?=
 =?utf-8?B?MEh5bVNNMlJFdkRwVjl0S0lvaXYzUnZIaTN1YnhEdmgwMEZWK2wrL29WdkFK?=
 =?utf-8?B?dVZ6dysySmtYaUxyWGxWNklhMk8wTDljRUZ4Mk53Vk1XbW5vYXJpbGlzSG13?=
 =?utf-8?B?clh5d1F0amFkNVh2MWpFY2dWVGxKZHlZWmd3Q2dldHhSMEtNTURhQTZCbmdT?=
 =?utf-8?B?SjdkeFhjUzlvSHQ4Zy9xb3VITXlrUFBXT1NmNEd3TXZhMFkxaFBoWHRYMUpC?=
 =?utf-8?B?aXgxd1hnc092SFRFak9JZ01Vbkw2YW5selZCVzI2RjZxakY0MVFjb2J2WC9S?=
 =?utf-8?B?Wlk5aFVyVmk4RnBZVUFaQ3FaRWhVbEJ1MzREUjQwYm0wZy9tL1BhTElGVlM1?=
 =?utf-8?B?a2g0MGVPT2s1eldiZFl3TWxuZGJLc1IyUkMyM0Z0cmlYWTFXbTRZeXBYYjN0?=
 =?utf-8?B?VWhsZHQ5T3V5VWtDbEtlZFJXaXhSZWV5bCtHN3R3VGU2Z1lDaFRhVDJyM0x6?=
 =?utf-8?B?amMyQmZxUXM4NHBWT3lURnVZNDAwZFp2RkptRUpWaTRISXBHcjN4d2pmaVAr?=
 =?utf-8?B?ZWR6emRqMUZQbk9aYzdZL1NvUUxxUENKN2ZWT01tSHJ5VXVCU21va1N6c3R6?=
 =?utf-8?B?QnZ2QTM2NEVMZ2o2bzRJeUl1R2p0aS9VeERrZzhwNk5HUGZWV1dwRnhKVlhq?=
 =?utf-8?B?Y1RadXU0V0E3QzVTbFYvbjRCaENnY1ZhQXhSVHpvbGIxSDJwZERLN0p4Vzd6?=
 =?utf-8?B?MExNK2RhVWtDNmhaLzgxRlpET1JSQkdKMlBEV094V1huem5JVHZUNjFua3ky?=
 =?utf-8?B?OWJ4SXRUSU5OWmQwTWtZNUsvdXlsMnlHcUExRGpkczFlUmM2RGtidjB5S1BT?=
 =?utf-8?B?MU1iVXVlSjAzdGhmSzdaSEVzQlpONitiSTJEWDVKM0JVNnpzTlUxemJsaVBh?=
 =?utf-8?B?MzdBSmVTYlF2Q0lJZ2FmakhhY1VCNkJUMkNLc2R4STQvVjgzQSs0dWdJRUd2?=
 =?utf-8?B?UXZCU1ZQZmRlSzBWZzkrN2ZHMExHdWoxek4vU1A0dnlNK1V3UDZFUFAxYjJY?=
 =?utf-8?B?ZjA5ZFJudzZxNmVjK3g3TkFscjNTVjB1dzR1NTQwQndYVzk2Uk9CTWVXZWRw?=
 =?utf-8?B?YlFYa1FhbTVHdkd5dHdTdzl5UDRtVHk2OHhHNEowSWlKQVdPNlJ1VUYvdERn?=
 =?utf-8?B?TkQyRGozaGtyaDVIN2N6ZXFGYzkxZ3lHTnJqUUVQZ0QxRGViY2gxNzNQTWVF?=
 =?utf-8?B?L25QRzdpTHFCa1REbWtiL1FWTWk0eVR6bS9sWE9pNXJDeGtyQ1VDK25iK1NT?=
 =?utf-8?B?NzlndjdReDJtK2JSVDhPY1dQeEtNV21XZzJUZFBESENOWkN6MW1GVGJKYkx2?=
 =?utf-8?B?OHZ2UXdocTR4cUZVZG1WNitjbTFWUjM2Mkk2L0ZXYWpDTFZ3ZG9jNU1zbGhp?=
 =?utf-8?B?ZFY1T0FMcTNJdnVlV2RoTDkvb1pNN1YrbmFLeExpWkRZanlocHFsWThqQUNU?=
 =?utf-8?B?NWlKeG1leS9KVjcxalhVbFpzbzd5MnJ1RmpoMWI2RHYvdVdGSytETUdYQkxV?=
 =?utf-8?B?MmhIazBuaDEwN203MHFBc0lNQ2V5cDlTQllUK0tDeXFvajlBK3E5NDUzRmhk?=
 =?utf-8?B?S1lQdGVwL2F0Qk9EbUMvdnZqVHBySmVkWENGcG5KV3cyb3BQRzRCSkQ3SnFi?=
 =?utf-8?B?d2JkRmRLQS9QQ0ZzWEFkZXkvdWx6ZmtxSjFHYjY4M3V0QnVncW44RmkvVWRJ?=
 =?utf-8?B?R0R0Q2tHMCtudVIvb05JNngwbEVQMUphNllUNjRqWWtKS1NETXNXZXc0anlS?=
 =?utf-8?B?OGdRRjBvNUg5VHZQQ0JrYXlRa0RKTzUyOGx2VVJEVysxWUU0emNoNEl4M1dl?=
 =?utf-8?B?a0dCSzVhUVJreG0yZmYrK0ZTTHNUVW10b2VQSXVhZ2ppS2x4NXI1T1orTWE3?=
 =?utf-8?B?RG1CdDlLWVh4NmFJSDUzS1RPRTZoK0s2RXZMbnJXRThHelVqM3VFZm1FWDlB?=
 =?utf-8?B?TENnSE9UK1hreVJWL0V4VzBheDFHZXlXUXhxaGgzU1BDZFplc2tGTTBqQ2s3?=
 =?utf-8?B?ckFaaTM2VkI0ZlRJQ21HMzFUMSsvTGtHOEFTRkZSakZXV1hITjhkV0tzZTZv?=
 =?utf-8?B?b2s2clpnUjBySFJZVlVQWE1rZjY3Ti9YY1cveWwyNE1HQkpMb0J0dnA3NXdu?=
 =?utf-8?B?ZEE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?aUtOZ1YzK2RKUEd1bDhjQm1GZjFZeXZWYXFSYWk1SHBIRXFSMC9EZEVaODFC?=
 =?utf-8?B?N0hyZk5DNlVyVmF3ZlRneTJROVZaTm1hcjRDOUVXZGtPVDVjY1p0K1p5Q2Zr?=
 =?utf-8?B?VmY5dXdWWDAxMkkwcGZ2TmFCRys1SUZQRjYvdVJ3QndYNFJnVHpIQ1FISTQv?=
 =?utf-8?B?d1JXSjhyeWRGTEllcmxBd0Q3MEU5K1RRNjI2dGJDMGVuaTRkeDJ2bG9jMGc3?=
 =?utf-8?B?U1d0d0RkaThCcVV1Wjd1cDBJMmF2WmU2YXhPaU5NYkRtajhxMXpLSG9KK003?=
 =?utf-8?B?bnF6UFIrd2UvNWdDcjJZb25VWDExRmhPclJIWFBoQVp3MmpUSnExRXdmWlBs?=
 =?utf-8?B?YU1ma3A4RjMyY0UxNnpsSERJOG9wNXlpU0duQjJiRk8zZnlCSXp4MWJxNHp0?=
 =?utf-8?B?cWpVQXNudTRVZ1RBK1JyOFNoZUJQSGV1THJMbGVHdUJROGRieDdvanpobFRa?=
 =?utf-8?B?RVdoZVdScXByTG5mT1NkeFk3dG5pOG9qQ3k5WWJaNzN0Zmxzdm5OcWFUS25h?=
 =?utf-8?B?Z2ZaUm1RU0Mwa3pydWpHQ1lDNERzc3RXaFJ4TUgxdnY4VU12ZUVweWlTUzBO?=
 =?utf-8?B?K1N6NXhIU3RQT2lNK0hEUFFZNGE2VmdxUC8reTlBU014aXJESzdCWk5oL1RB?=
 =?utf-8?B?Qm9LcHRIS2Flb0c5QkpBbEVpQ0JkM2JlajA1OHZrVFYrNitTSUN3eXhEVkdo?=
 =?utf-8?B?OXB2RE9lam53RFVLREF1Zk9DRGZjQnJ5VEg4U0tES0E4TkNKTGFLY0tmRkN5?=
 =?utf-8?B?WmhlZnVKcStGM3JCL0RycDRscGlEa2R3OUxDdXo1TGZ5UnVaSTF5OEFQUXM3?=
 =?utf-8?B?dEc4SlJhQmdnWXJ5Yk1LeEFKY3pOUWhXcmVtYVB4emlONi93N25zc0VoL0tZ?=
 =?utf-8?B?WFVmYnZuK09ScXcva2Jjb09tREJ2Q3orSlJnWTlGVnRaUFBMUlpZT0dpdkVm?=
 =?utf-8?B?SWt6OFRmempaUkhaL2VXMVhsb3ZFdnZXMGdlSDFvWkVOUjhTaHNDVUdqck9n?=
 =?utf-8?B?bitjSFRzUHpxTE50Ni9KcWlXUU5NVnNGRDNoek9NZSt2T3VKMWFQMkJPZjNT?=
 =?utf-8?B?Qlo3TTgvUUVYQUx0dUIzN3FNa2ExTjJDeXJ3RjdVRGpUNWgzQ2I0eEFLc2lY?=
 =?utf-8?B?VWh2T0VNSkp4eGlaS3RYa2krR250UzBGaXB1Q0ltRzR6Ylh1QmZOQi9JejRt?=
 =?utf-8?B?ajlUYjhidXJBaW9zSjRESU9NN2tGWUo3bmt1bDhVYWtZb1ZJTDJPTjQvTHNx?=
 =?utf-8?B?WTVhc2Erbzl1Qm1zVkVpZlZBL0Q2Y1ZLRjdEK2dVUjJETm4xY21OUlZnd3JJ?=
 =?utf-8?B?dUVIQWtleS9Xa1hFNUI5WnQwUGRaUG9DQitEcGVGc3pRV3BHRHJXcjZIVHZC?=
 =?utf-8?B?R2IrTzVtY3hwQ1FQWCtFR29Gb1JEbTZ6Qlh2R3JjNFQ4TUlmNW1PUlN3T3h4?=
 =?utf-8?B?dGFTbWdFOWFaN21JWWVybE1QTmFhSC9WbFFweE9QS0hIdnJ4Q01PRGgzeDZW?=
 =?utf-8?B?cnY5NExTMDR3eStiV05Wd2hRRGZaVFdMY3VhUDRNamN4ajBZcHBZWmxKZHdV?=
 =?utf-8?Q?gKWnhp/SJlX16/kgYiMzv6W0k=3D?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5ddcf53b-3591-45d3-9bb3-08db2a14dc62
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:02:09.1523
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mFFYSZTmgmA8feQV2h7ObcVv0jX4mVX8L5m4mrZW5hUZMA8PqfkUSvvBBoBqdUQ2Vsq0D6KjukU86WB/5mE02g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR03MB7288

On Tue, Mar 21, 2023 at 02:47:46PM +0100, Rafael J. Wysocki wrote:
> On Thu, Mar 16, 2023 at 5:43 PM Roger Pau Monne <roger.pau@citrix.com> wrote:
> >
> > In ACPI systems, the OS can direct power management, as opposed to the
> > firmware.  This OS-directed Power Management is called OSPM.  Part of
> > telling the firmware that the OS going to direct power management is
> > making ACPI "_PDC" (Processor Driver Capabilities) calls.  These _PDC
> > methods must be evaluated for every processor object.  If these _PDC
> > calls are not completed for every processor it can lead to
> > inconsistency and later failures in things like the CPU frequency
> > driver.
> >
> > In a Xen system, the dom0 kernel is responsible for system-wide power
> > management.  The dom0 kernel is in charge of OSPM.  However, the
> > number of CPUs available to dom0 can be different than the number of
> > CPUs physically present on the system.
> >
> > This leads to a problem: the dom0 kernel needs to evaluate _PDC for
> > all the processors, but it can't always see them.
> >
> > In dom0 kernels, ignore the existing ACPI method for determining if a
> > processor is physically present because it might not be accurate.
> > Instead, ask the hypervisor for this information.
> >
> > Fix this by introducing a custom function to use when running as Xen
> > dom0 in order to check whether a processor object matches a CPU that's
> > online.  Such checking is done using the existing information fetched
> > by the Xen pCPU subsystem, extending it to also store the ACPI ID.
> >
> > This ensures that _PDC method gets evaluated for all physically online
> > CPUs, regardless of the number of CPUs made available to dom0.
> >
> > Fixes: 5d554a7bb064 ('ACPI: processor: add internal processor_physically_present()')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> > Changes since v3:
> >  - Protect xen_processor_present() definition with CONFIG_ACPI.
> >
> > Changes since v2:
> >  - Extend and use the existing pcpu functionality.
> >
> > Changes since v1:
> >  - Reword commit message.
> > ---
> >  arch/x86/include/asm/xen/hypervisor.h | 10 ++++++++++
> >  drivers/acpi/processor_pdc.c          | 11 +++++++++++
> >  drivers/xen/pcpu.c                    | 21 +++++++++++++++++++++
> >  3 files changed, 42 insertions(+)
> >
> > diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
> > index 5fc35f889cd1..990a1609677e 100644
> > --- a/arch/x86/include/asm/xen/hypervisor.h
> > +++ b/arch/x86/include/asm/xen/hypervisor.h
> > @@ -63,4 +63,14 @@ void __init xen_pvh_init(struct boot_params *boot_params);
> >  void __init mem_map_via_hcall(struct boot_params *boot_params_p);
> >  #endif
> >
> > +#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI)
> > +bool __init xen_processor_present(uint32_t acpi_id);
> > +#else
> > +static inline bool xen_processor_present(uint32_t acpi_id)
> > +{
> > +       BUG();
> > +       return false;
> > +}
> > +#endif
> > +
> >  #endif /* _ASM_X86_XEN_HYPERVISOR_H */
> > diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c
> > index 8c3f82c9fff3..18fb04523f93 100644
> > --- a/drivers/acpi/processor_pdc.c
> > +++ b/drivers/acpi/processor_pdc.c
> > @@ -14,6 +14,8 @@
> >  #include <linux/acpi.h>
> >  #include <acpi/processor.h>
> >
> > +#include <xen/xen.h>
> 
> This along with the definition above is evidently insufficient for
> xen_processor_present() to always be defined.  See
> https://lore.kernel.org/linux-acpi/64198b60.bO+m9o5w+Hd8hcF3%25lkp@intel.com/T/#u
> for example.
> 
> I'm dropping the patch now, please fix and resend.

Hello,

Sorry.  I've sent a followup fix:

https://lore.kernel.org/xen-devel/20230321112522.46806-1-roger.pau@citrix.com/T/#u

Would you be fine with taking such followup, or would rather prefer
for me to send the original fixed patch as v5?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:04:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:04:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512662.792728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecb1-0004PD-C8; Tue, 21 Mar 2023 14:04:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512662.792728; Tue, 21 Mar 2023 14:04: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 1pecb1-0004P6-9M; Tue, 21 Mar 2023 14:04:15 +0000
Received: by outflank-mailman (input) for mailman id 512662;
 Tue, 21 Mar 2023 14: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=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1pecb0-0004P0-Gz
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:04:14 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062a.outbound.protection.outlook.com
 [2a01:111:f400:fe59::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3faba1ad-c7f1-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:04:10 +0100 (CET)
Received: from DM6PR03CA0086.namprd03.prod.outlook.com (2603:10b6:5:333::19)
 by PH0PR12MB7469.namprd12.prod.outlook.com (2603:10b6:510:1e9::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:04:06 +0000
Received: from DS1PEPF0000B079.namprd05.prod.outlook.com
 (2603:10b6:5:333:cafe::fd) by DM6PR03CA0086.outlook.office365.com
 (2603:10b6:5:333::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Tue, 21 Mar 2023 14:04:06 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000B079.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.6178.30 via Frontend Transport; Tue, 21 Mar 2023 14:04:05 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 09:04:05 -0500
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 21 Mar 2023 09:04: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: 3faba1ad-c7f1-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M8GdumUuqMLaF4IcpoM0qCgDaMtk7tzyMZ9dtcyhgdp7hGy2aisyKT2+qo2c9pE9g8gAehP5+JZtpuZ/Vj2mykOC27tf3gbY+daXAroRKFB/+Z+PSZrE2n0JqnG4vr9sCO8htEUV13BtxpfGojJbfvwDk1Fl3jT3hMCOuQ+zPkieIK+KgICCyUyVgMI/7xL6wso2RrUga4/XidEpgzqI+pFETzGhA/+i8SaBJjfQ7SOAK0O+bIwtir3rDTQpvpcPgf6wxfrhHQf2GHyH/dZXWmUZk9jfeQv29nTyma740pmBzgGqMRZGKc6ykJwbL7FfufW0yhmfPNgnwCHaJm+tLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6VMK1rMIsJo/CaQpJQaobl6RRkT3j8z9G+KL4/Hqqb0=;
 b=EAeVwmhi9+MhiGGHQhrZYEVNGA1OBA3CGSZWESh1hUsv/v/xopngyftjAuNUAZVcdyX2kF0VnY/HJu1rB3O8HNnP55xXi8JMWlTbmX3ZOLG4I5BuBuA8drc4eS8Eb9PgWI77FTh9Tk0pqNQsp2ila+GYAkxoUoxFaVdNPxypwgTfgk9Z0+XWlc0+DrdaXfI4jOc2C6ENCRzZry0+eKOBpscrIV0kHHgLEVsULe02hT7QEV/SrOloyS3XwIwV3QaV9JFEydyI+oXHZXUs3fkNKGb+lyny7RZchXH4pGrZjQA7lYPcUeM/LS5yMtm8VtJkBUMKpbcfJ5qAkiIqlguylg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6VMK1rMIsJo/CaQpJQaobl6RRkT3j8z9G+KL4/Hqqb0=;
 b=IjmiFz/U4kYS9pAlcW4xOa4EKoKSH0gO5FyWleaR89O05p7ayByMyMwxFZ6wrOMGok50fgpsvvSdUtV2NOOIZ0K0/3YYaejPgflJe2C9ITs0BolLQeLKLkFEkiWSg7KH4Dwt79Wrc416T1rO9ve1ZSV5BQ7vlxeyIujId8hKQRw=
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>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, <rahul.singh@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v4 00/11] Add support for 32 bit physical address
Date: Tue, 21 Mar 2023 14:03:46 +0000
Message-ID: <20230321140357.24094-1-ayan.kumar.halder@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: DS1PEPF0000B079:EE_|PH0PR12MB7469:EE_
X-MS-Office365-Filtering-Correlation-Id: 330283ae-2484-4c66-3728-08db2a152244
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y2Affj73BM01k34cz7xKysgPALLU3HrJYo5EL4an2B5S05DL7dwndnU84GGrSskbG6JY8wQ3oOrJ9MIk57BL6iTeQopcaKBZcQT6Mm45koNKQx3Du3lG4mIqE2fcr2AEKmAcEWEThMOLXAXYquGZ925r7you5kLusVjWI++fWf6gqA0Z7d7KUE7v2Gko6bwr2Ge4x5bCoY1zirHqsfen8Brc7G5c7UZkqxPXzfSbmZuUfXKLemc8QORvvi0/JM8Hi4BLBy22kXFTwiG6vq/zXEaFNSQYD+FFDT8tFJtLThxQPUNqhNpe2mEWRNYKcnueR3WV3mtVK4L0fIyp19DPJhJpcYeUArZB48v2BPs1t5GwJZTQkggDHavNBMQpkTD5sl2E+QKUaa6V4CK6/PsnMjYLZt/eZMcO1wZ6eF9Bh8o2Sq/2bfBmOWjBVXfv18QG2ybiHixUlVSSSqj6P/0kBw7NKuRPCxDrF1rRYqQGG1NhL2W5ReikPfC+MAoM+D29qdGaGDhg7hZHzwSEadDj7uNO6uqVRFNr/l9mSNNxWT0jU9udVG1kLlStYJMb9XlTCyG9Ro7WqRrssIu4c9EfjgWRuBrp062oMJde93SCTCG1h2h92UorRq0er/2btbGf9Uf+vYvr7dbBcrLDI3cPyk6YUKvsHA+8oDP21CHOlrM/LKakdJxZEYb0Y8LLB03DYvs9pC8zxO2ROPsbVvQoQ3tn7le4GTPHaptqRmJ4KHdZv0Oi53LIYSNPqZG/AZ/F/YSYsKSFfTVhVr7p8xRQFA==
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:(13230025)(4636009)(136003)(376002)(39860400002)(396003)(346002)(451199018)(40470700004)(46966006)(36840700001)(356005)(8936002)(2616005)(7416002)(5660300002)(36860700001)(82740400003)(81166007)(2906002)(186003)(41300700001)(26005)(1076003)(4326008)(6916009)(336012)(8676002)(40460700003)(40480700001)(47076005)(70206006)(70586007)(6666004)(478600001)(316002)(54906003)(36756003)(426003)(82310400005)(83380400001)(86362001)(966005)(103116003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:04:05.9851
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 330283ae-2484-4c66-3728-08db2a152244
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:
	DS1PEPF0000B079.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB7469

Hi All,

Please have a look at https://lists.xenproject.org/archives/html/xen-devel/2022-11/msg01465.html
for the context.

The benefits of using 32 bit physical addresses are as follows :-

1. It helps to use Xen on platforms (for eg R52) which supports 32 bit
physical addresses and has no support for large physical address extension.
On 32 bit MPU systems which supports flat-mapping (for eg R52), it helps
to translate 32 bit VA into 32 bit PA.

2. It also helps in code optimization when the underlying platform does not
use large physical address extension.

The current patch serie depends on :-
"[XEN v5] xen/arm: Use the correct format specifier"
https://lists.xenproject.org/archives/html/xen-devel/2023-01/msg01896.html
I did not send out the patch again as it has already been reviewed and acked and
is waiting to be committed to staging.

The following points are to be noted :-
1. Device tree always use u64 for address and size. The caller needs to
translate between u64 and u32 (when 32 bit physical addressing is used).
2. Currently, we have enabled this option for Arm_32 as the MMU for Arm_64
uses 48 bit physical addressing.
3. https://lists.xenproject.org/archives/html/xen-devel/2022-12/msg00117.html
has been added to this series.

Changes from :

v1 - 1. Reordered the patches such that the first three patches fixes issues in
the existing codebase. These can be applied independent of the remaining patches
in this serie,

2. Dropped translate_dt_address_size() for the address/size translation between
paddr_t and u64 (as parsed from the device tree). Also, dropped the check for
truncation (while converting u64 to paddr_t).
Instead now we have modified device_tree_get_reg() and typecasted the return for
dt_read_number(), to obtain paddr_t. Also, introduced wrappers for
fdt_get_mem_rsv() and dt_device_get_address() for the same purpose. These can be
found in patch 4/11 and patch 6/11.

3. Split "Other adaptations required to support 32bit paddr" into the following
individual patches for each adaptation :
  xen/arm: smmu: Use writeq_relaxed_non_atomic() for writing to
    SMMU_CBn_TTBR0
  xen/arm: guest_walk: LPAE specific bits should be enclosed within
    "ifndef CONFIG_ARM_PA_32"

4. Introduced "xen/arm: p2m: Enable support for 32bit IPA".

v2 - 1. Dropped patches 1/11, 2/11 and 3/11 from the v2 as it has already been
committed (except 2/11 - "[XEN v5] xen/arm: Use the correct format specifier"
which is waiting to be committed).

2. Introduced a new patch "xen/drivers: ns16550: Use paddr_t for io_base/io_size".

v3 - 1. Combined the patches from https://lists.xenproject.org/archives/html/xen-devel/2023-02/msg00656.html in this series.

Ayan Kumar Halder (11):
  xen/arm: Use the correct format specifier
  xen/arm: domain_build: Track unallocated pages using the frame number
  xen/arm: Typecast the DT values into paddr_t
  xen/drivers: ns16550: Use paddr_t for io_base/io_size
  xen/arm: Introduce a wrapper for dt_device_get_address() to handle
    paddr_t
  xen/arm: smmu: Use writeq_relaxed_non_atomic() for writing to
    SMMU_CBn_TTBR0
  xen/arm: Introduce choice to enable 64/32 bit physical addressing
  xen/arm: guest_walk: LPAE specific bits should be enclosed within
    "ifndef CONFIG_PHYS_ADDR_T_32"
  xen/arm: Restrict zeroeth_table_offset for ARM_64
  xen/arm: p2m: Use the pa_range_info table to support Arm_32 and Arm_64
  xen/arm: p2m: Enable support for 32bit IPA for ARM_32

 xen/arch/Kconfig                           |   6 ++
 xen/arch/arm/Kconfig                       |  40 +++++++-
 xen/arch/arm/bootfdt.c                     |  41 ++++++--
 xen/arch/arm/domain_build.c                | 103 +++++++++++++--------
 xen/arch/arm/gic-v2.c                      |  16 ++--
 xen/arch/arm/gic-v3-its.c                  |   4 +-
 xen/arch/arm/gic-v3.c                      |  10 +-
 xen/arch/arm/guest_walk.c                  |   2 +
 xen/arch/arm/include/asm/lpae.h            |   4 +
 xen/arch/arm/include/asm/page-bits.h       |   6 +-
 xen/arch/arm/include/asm/setup.h           |   4 +-
 xen/arch/arm/include/asm/types.h           |   6 ++
 xen/arch/arm/mm.c                          |  10 +-
 xen/arch/arm/p2m.c                         |  29 +++---
 xen/arch/arm/pci/pci-host-common.c         |   6 +-
 xen/arch/arm/platforms/brcm-raspberry-pi.c |   2 +-
 xen/arch/arm/platforms/brcm.c              |   4 +-
 xen/arch/arm/platforms/exynos5.c           |  32 +++----
 xen/arch/arm/platforms/sunxi.c             |   2 +-
 xen/arch/arm/platforms/xgene-storm.c       |   2 +-
 xen/arch/arm/setup.c                       |  14 +--
 xen/arch/arm/smpboot.c                     |   2 +-
 xen/common/device_tree.c                   |  40 +++++++-
 xen/drivers/char/cadence-uart.c            |   4 +-
 xen/drivers/char/exynos4210-uart.c         |   4 +-
 xen/drivers/char/imx-lpuart.c              |   4 +-
 xen/drivers/char/meson-uart.c              |   4 +-
 xen/drivers/char/mvebu-uart.c              |   4 +-
 xen/drivers/char/ns16550.c                 |  43 ++++++---
 xen/drivers/char/omap-uart.c               |   4 +-
 xen/drivers/char/pl011.c                   |   6 +-
 xen/drivers/char/scif-uart.c               |   4 +-
 xen/drivers/passthrough/arm/ipmmu-vmsa.c   |   8 +-
 xen/drivers/passthrough/arm/smmu-v3.c      |   2 +-
 xen/drivers/passthrough/arm/smmu.c         |  23 ++---
 xen/include/xen/device_tree.h              |  27 +++++-
 xen/include/xen/libfdt/libfdt-xen.h        |  52 +++++++++++
 37 files changed, 397 insertions(+), 177 deletions(-)
 create mode 100644 xen/include/xen/libfdt/libfdt-xen.h

-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:04:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:04:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512663.792737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecb8-0004h2-OC; Tue, 21 Mar 2023 14:04:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512663.792737; Tue, 21 Mar 2023 14: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 1pecb8-0004gv-LJ; Tue, 21 Mar 2023 14:04:22 +0000
Received: by outflank-mailman (input) for mailman id 512663;
 Tue, 21 Mar 2023 14:04: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=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1pecb7-0004P0-IZ
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:04:21 +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 45306cc1-c7f1-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:04:19 +0100 (CET)
Received: from DM6PR03CA0087.namprd03.prod.outlook.com (2603:10b6:5:333::20)
 by MW4PR12MB7381.namprd12.prod.outlook.com (2603:10b6:303:219::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:04:15 +0000
Received: from DS1PEPF0000E652.namprd02.prod.outlook.com
 (2603:10b6:5:333:cafe::62) by DM6PR03CA0087.outlook.office365.com
 (2603:10b6:5:333::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Tue, 21 Mar 2023 14:04:15 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E652.mail.protection.outlook.com (10.167.18.8) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.30 via Frontend Transport; Tue, 21 Mar 2023 14:04:15 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 09:04:14 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 09:04:14 -0500
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 21 Mar 2023 09:04: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: 45306cc1-c7f1-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Mnk4f/IW8Apude2W2BgkqppFMEIWVbLHxT9H+FTDn7wKFlfB4MBD7dtOKn6O4ZNHCBQE0fuqaWuCOhZrbd/PxPtBiUqKVMQ6tHil1xlyy5d5uqiV/3quPCdgTpDk4WA0vIONcREMN82AB8wuxT7p/gORdtKRe6iBysoTRTkBk0CNaJgAdaLPlXZpzaWMNuzo9vmaVCIOyo3pyh6m5NU6hFlc607/pKffI8FO5c8StzNzF8wXEp6nkmq+pMSnUV79gmg33pPs941CgXsurO7Oa1Z8g2iSSZJe4JEFcAHNLGNY2O9sefOf743apH3Jbwv95PHAKI04BhhUc9UpfozpEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ncBJO/RfbUAwIX/h96U5Kf0lRRN5OSYULrCFIOtrXKk=;
 b=PJ3VXoh1dQy4ckWVhLLcnN+tfFdWct9kFCJNgr9ggpKG/I56cU3ZOO9AghLk54CDLuH1DqDacokUrNbICSreBXjLiRA1Slc8z+P34JzMYtrtMNw7U2IOwRLYFs5WtM5ixzQ7YjhUdp7GxX/Z2EGIJyQeeTdFxy5kFZoaZgb2hk5bCQdn71PCKv8jE9P4iS0fnOB3ef35oD+3lnmbsrfrKDrZb2wlYt3BhSSx1Zfh2z58tjrWapOOVeZE4zTnEMhhtB+jBwsMZT3ty77QZedHAFgB8uQJFXgdn9qt4S6n23TrRavgVag2ab5BxQ8kfjyiXT2bOs9Dt1Vvi7l7FwLdBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ncBJO/RfbUAwIX/h96U5Kf0lRRN5OSYULrCFIOtrXKk=;
 b=C/Ok2fW1Agsvvu7apxko/FuRZSHuG2mGm/pTN9HEx4Iep8aPQiFXBdBA1AXSzcrxGOh9U0FldEoMUysR+3+PfSKrDEAbgoPxTb8fb+C5leqytrZDgDXCWYcrxLkg2mvdocnATMaYNUr7/PcKdvclPcNUGwSPtNyxoqgMAJOCZDk=
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>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, <rahul.singh@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v4 01/11] xen/arm: Use the correct format specifier
Date: Tue, 21 Mar 2023 14:03:47 +0000
Message-ID: <20230321140357.24094-2-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E652:EE_|MW4PR12MB7381:EE_
X-MS-Office365-Filtering-Correlation-Id: 0cd21dab-a0d9-4a55-3ed1-08db2a1527a6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	16Bam4HOJdKdD2t+DXbG6+5Qv+pSPmM0DnY4bjy+daVlzR0Z7u7S2Xf4VKvIrqQMXWtl9teTrqvR0z4xihLHm6jfl/cYUZS6WEXPG/UiiN2ifrV66rJVzEh08/V4BzKvA7AqvWAdnJFBql66favQweXHKG/874WQAXy//CIx1FVfUdNSIt7ro0xFbPetfGQrKC1U2chNt+65abmPsRVS3zeFxMNGe0q8LmXHNBBqs+IvMUC6tjpr2P3y0vGRmdlO+pGrojAgaDN1+LgXXqLUSYuo/CZqn0LshyiaNYJpM1oqDoGRNFj0k3kPysjaOQGumtfaXAXYvdlQj9rAF4HHGhg/7Smvc7pCt2wbmaP27H4VASm83mCr/IUM1nHJ9pgE5aEKmlAPKcprwzHlXG0RQHpomRt3n25iKHvHXHUyS8ayNFRMuPLSUUoMpGMHKF8c9zyFfhJ8Or8iIuty81/YP4QSLCRAJ6NAoWBECvVkADIZelgCyDweTIm7pt6LfunX1lrN7hYMjM6Z0ujLBUCBaioqvfx8oVtaR/VML0AsuQC2LGkEwpNfvOWEz3rEvz5f6sJoka0bB2zrpN3I/YfhB6uQrC2DyfiH0Wqi7DLTt8gRy2skX6LO8ygR5gM5443ibFUm+xtDstRKH8x8VLdSVD/ZN6a5fCLmzsBmbS/bYSG1qsvxkf2iRP0dBfLw5tTWPWzVDFzBKn5MoukDVxnXRYWPvOUcuPlofpcPqHeFYI8=
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:(13230025)(4636009)(136003)(346002)(376002)(39860400002)(396003)(451199018)(46966006)(40470700004)(36840700001)(86362001)(82310400005)(40460700003)(36756003)(40480700001)(103116003)(4326008)(83380400001)(8676002)(6916009)(478600001)(70206006)(316002)(70586007)(54906003)(1076003)(336012)(2616005)(966005)(6666004)(47076005)(426003)(186003)(26005)(356005)(82740400003)(8936002)(5660300002)(7416002)(36860700001)(41300700001)(81166007)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:04:15.0162
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0cd21dab-a0d9-4a55-3ed1-08db2a1527a6
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:
	DS1PEPF0000E652.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7381

1. One should use 'PRIpaddr' to display 'paddr_t' variables. However,
while creating nodes in fdt, the address (if present in the node name)
should be represented using 'PRIx64'. This is to be in conformance
with the following rule present in https://elinux.org/Device_Tree_Linux

. node names
"unit-address does not have leading zeros"

As 'PRIpaddr' introduces leading zeros, we cannot use it.

So, we have introduced a wrapper ie domain_fdt_begin_node() which will
represent physical address using 'PRIx64'.

2. One should use 'PRIx64' to display 'u64' in hex format. The current
use of 'PRIpaddr' for printing PTE is buggy as this is not a physical
address.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Julien Grall <jgrall@amazon.com>
---

Changes from -

v3 - 1. Extracted the patch from https://lists.xenproject.org/archives/html/xen-devel/2023-02/msg00655.html
and added to this series.
2. No changes done.

 xen/arch/arm/domain_build.c | 64 +++++++++++++++++++++++--------------
 xen/arch/arm/gic-v2.c       |  6 ++--
 xen/arch/arm/mm.c           |  2 +-
 3 files changed, 44 insertions(+), 28 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 9707eb7b1b..15fa88e977 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1288,6 +1288,39 @@ static int __init fdt_property_interrupts(const struct kernel_info *kinfo,
     return res;
 }
 
+/*
+ * Wrapper to convert physical address from paddr_t to uint64_t and
+ * invoke fdt_begin_node(). This is required as the physical address
+ * provided as part of node name should not contain any leading
+ * zeroes. Thus, one should use PRIx64 (instead of PRIpaddr) to append
+ * 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)
+{
+    /*
+     * The size of the buffer to hold the longest possible string (i.e.
+     * interrupt-controller@ + a 64-bit number + \0).
+     */
+    char buf[38];
+    int ret;
+
+    /* ePAPR 3.4 */
+    ret = snprintf(buf, sizeof(buf), "%s@%"PRIx64, name, unit);
+
+    if ( ret >= sizeof(buf) )
+    {
+        printk(XENLOG_ERR
+               "Insufficient buffer. Minimum size required is %d\n",
+               (ret + 1));
+
+        return -FDT_ERR_TRUNCATED;
+    }
+
+    return fdt_begin_node(fdt, buf);
+}
+
 static int __init make_memory_node(const struct domain *d,
                                    void *fdt,
                                    int addrcells, int sizecells,
@@ -1296,8 +1329,6 @@ static int __init make_memory_node(const struct domain *d,
     unsigned int i;
     int res, reg_size = addrcells + sizecells;
     int nr_cells = 0;
-    /* Placeholder for memory@ + a 64-bit number + \0 */
-    char buf[24];
     __be32 reg[NR_MEM_BANKS * 4 /* Worst case addrcells + sizecells */];
     __be32 *cells;
 
@@ -1314,9 +1345,7 @@ static int __init make_memory_node(const struct domain *d,
 
     dt_dprintk("Create memory node\n");
 
-    /* ePAPR 3.4 */
-    snprintf(buf, sizeof(buf), "memory@%"PRIx64, mem->bank[i].start);
-    res = fdt_begin_node(fdt, buf);
+    res = domain_fdt_begin_node(fdt, "memory", mem->bank[i].start);
     if ( res )
         return res;
 
@@ -1375,16 +1404,13 @@ static int __init make_shm_memory_node(const struct domain *d,
     {
         uint64_t start = mem->bank[i].start;
         uint64_t size = mem->bank[i].size;
-        /* Placeholder for xen-shmem@ + a 64-bit number + \0 */
-        char buf[27];
         const char compat[] = "xen,shared-memory-v1";
         /* Worst case addrcells + sizecells */
         __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
         __be32 *cells;
         unsigned int len = (addrcells + sizecells) * sizeof(__be32);
 
-        snprintf(buf, sizeof(buf), "xen-shmem@%"PRIx64, mem->bank[i].start);
-        res = fdt_begin_node(fdt, buf);
+        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
         if ( res )
             return res;
 
@@ -2716,12 +2742,9 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
     __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
     __be32 *cells;
     const struct domain *d = kinfo->d;
-    /* Placeholder for interrupt-controller@ + a 64-bit number + \0 */
-    char buf[38];
 
-    snprintf(buf, sizeof(buf), "interrupt-controller@%"PRIx64,
-             vgic_dist_base(&d->arch.vgic));
-    res = fdt_begin_node(fdt, buf);
+    res = domain_fdt_begin_node(fdt, "interrupt-controller",
+                                vgic_dist_base(&d->arch.vgic));
     if ( res )
         return res;
 
@@ -2771,14 +2794,10 @@ static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
     int res = 0;
     __be32 *reg, *cells;
     const struct domain *d = kinfo->d;
-    /* Placeholder for interrupt-controller@ + a 64-bit number + \0 */
-    char buf[38];
     unsigned int i, len = 0;
 
-    snprintf(buf, sizeof(buf), "interrupt-controller@%"PRIx64,
-             vgic_dist_base(&d->arch.vgic));
-
-    res = fdt_begin_node(fdt, buf);
+    res = domain_fdt_begin_node(fdt, "interrupt-controller",
+                                vgic_dist_base(&d->arch.vgic));
     if ( res )
         return res;
 
@@ -2858,11 +2877,8 @@ static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
     __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
     __be32 *cells;
     struct domain *d = kinfo->d;
-    /* Placeholder for sbsa-uart@ + a 64-bit number + \0 */
-    char buf[27];
 
-    snprintf(buf, sizeof(buf), "sbsa-uart@%"PRIx64, d->arch.vpl011.base_addr);
-    res = fdt_begin_node(fdt, buf);
+    res = domain_fdt_begin_node(fdt, "sbsa-uart", d->arch.vpl011.base_addr);
     if ( res )
         return res;
 
diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
index 61802839cb..5d4d298b86 100644
--- a/xen/arch/arm/gic-v2.c
+++ b/xen/arch/arm/gic-v2.c
@@ -1049,7 +1049,7 @@ static void __init gicv2_dt_init(void)
     if ( csize < SZ_8K )
     {
         printk(XENLOG_WARNING "GICv2: WARNING: "
-               "The GICC size is too small: %#"PRIx64" expected %#x\n",
+               "The GICC size is too small: %#"PRIpaddr" expected %#x\n",
                csize, SZ_8K);
         if ( platform_has_quirk(PLATFORM_QUIRK_GIC_64K_STRIDE) )
         {
@@ -1280,11 +1280,11 @@ static int __init gicv2_init(void)
         gicv2.map_cbase += aliased_offset;
 
         printk(XENLOG_WARNING
-               "GICv2: Adjusting CPU interface base to %#"PRIx64"\n",
+               "GICv2: Adjusting CPU interface base to %#"PRIpaddr"\n",
                cbase + aliased_offset);
     } else if ( csize == SZ_128K )
         printk(XENLOG_WARNING
-               "GICv2: GICC size=%#"PRIx64" but not aliased\n",
+               "GICv2: GICC size=%#"PRIpaddr" but not aliased\n",
                csize);
 
     gicv2.map_hbase = ioremap_nocache(hbase, PAGE_SIZE);
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index f758cad545..b99806af99 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -263,7 +263,7 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
 
         pte = mapping[offsets[level]];
 
-        printk("%s[0x%03x] = 0x%"PRIpaddr"\n",
+        printk("%s[0x%03x] = 0x%"PRIx64"\n",
                level_strs[level], offsets[level], pte.bits);
 
         if ( level == 3 || !pte.walk.valid || !pte.walk.table )
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:04:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:04:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512667.792748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecbS-0005IG-W4; Tue, 21 Mar 2023 14:04:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512667.792748; Tue, 21 Mar 2023 14:04:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecbS-0005I9-T3; Tue, 21 Mar 2023 14:04:42 +0000
Received: by outflank-mailman (input) for mailman id 512667;
 Tue, 21 Mar 2023 14:04:41 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1pecbR-0004P0-6D
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:04:41 +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 51e0de28-c7f1-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:04:39 +0100 (CET)
Received: from DS7PR03CA0026.namprd03.prod.outlook.com (2603:10b6:5:3b8::31)
 by LV2PR12MB5965.namprd12.prod.outlook.com (2603:10b6:408:172::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:04:36 +0000
Received: from DS1PEPF0000B077.namprd05.prod.outlook.com
 (2603:10b6:5:3b8:cafe::d8) by DS7PR03CA0026.outlook.office365.com
 (2603:10b6:5:3b8::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Tue, 21 Mar 2023 14:04:36 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000B077.mail.protection.outlook.com (10.167.17.8) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.26 via Frontend Transport; Tue, 21 Mar 2023 14:04: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.2375.34; Tue, 21 Mar
 2023 09:04:35 -0500
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 21 Mar 2023 09:04:33 -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: 51e0de28-c7f1-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KazxDeyxAEIhuUt2sVHyxo7P6A80SkhwPXH/S2YH8ai75alZAHESkd4k0TyyDBMAnfN2QvQJTZ29YCNWJRaX6YA3ERhhFXYAcFk4O0UYHY7iXTjJI3wXVw3oNEzvc7tLDg3/8nTNRU0YmrqaD3DCU8zmblQramMf/MFI2LvFopHWXRS+8NK3GPNtgBkCImkxa7RpGq249UwpPsGYKDSz4itNQkOmtVGc8m8l2uUuVHapl2l6FiGPhX6UEN95a7dqrhUH6LdNWkX/zSuMm4OaoWkjz1k08n1TYJ7McKbyc24tF8an0kXAs7EpXU+0EnTwCaAgDAen7VBPc/VwZgFr2A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i56Rnyyp+qPWCXZNTAn/ehxYyAtGLo/fwDvX12J2mo0=;
 b=Ple4srQY2552nvbftlT8o75xnYS3kcJyO+/3Guar6sWNMmI+xR22QN9G5CxIHAXe7YzxRpsJIlj63L91MYmlrWtQUvnaGO8eCAv0wtM88UoH45Ya3EQ1yJOzsxNJP++vjG/oKpJBonwyDsbWZ2TIFlyjME+3y4wwzO91EgUBEmz4AukftPg54DgX8OgJlVFf8fNVl5vLjUj/5aVbgGuI2C+5F9DlGltbFOEvnDACp0qznFZQBtndgVFfJI2RRhSw6o/ObjWX1V8Foq7Ly73nCkO0omujNmbaZTAgLW84gaK1k1D482YeCXl88m/zt8DAYIofwnWg199AULdUgwo3pQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i56Rnyyp+qPWCXZNTAn/ehxYyAtGLo/fwDvX12J2mo0=;
 b=kWq+vITNgkErC1/fJJIm8rPU65ATcT06H6bL7AaemrE4vGR8RYS21N10vBBzuKf0Ip1q1SQs7pO9A63tp9Hkaej5zlyU7bWFdILZWYOGCNsL1IjhHIFRSZ84WbminciTxBvxDxD+tDXZMXaBlSJEteBLYH7rHP2kc8202lDhonE=
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>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, <rahul.singh@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v4 02/11] xen/arm: domain_build: Track unallocated pages using the frame number
Date: Tue, 21 Mar 2023 14:03:48 +0000
Message-ID: <20230321140357.24094-3-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000B077:EE_|LV2PR12MB5965:EE_
X-MS-Office365-Filtering-Correlation-Id: 5e1394ce-77dd-4191-09aa-08db2a15340c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BXRLJ4PEFZ9vsDvRrhvtdkSGg39sw9whwx4TQ7S3mGPzM8ec7wVpoYKYrSmWStRdsXoe5E3Zg/Mi1QFyfm8qL8bf+I5NUUAl6MKyPyoIaLsDeffT3UHjWkVvuwgB5yHWWeA3md7w69DZsc27v3qChqm/yO9HClLP1173YVW9n6e+zoJvI93tD0/kNHBLZeYroJRcYx/L3Kok76QxPwoTmqt59RL4Dt6drkpMATY7DeLujtTx7dXDVC7dOaeK6Zf+F2P4VpgjYwYb0xFKJVespH5e0+i1lxH4kxxzJIMvuWgDVllkp0cNvS5FTQlBK5euM0LBIrKJtRt2x6GDL2c9cGIYm3+cxgTB/0iWKEXP9yk+KBPhrxBaycrzVZHHs47JKiADGeImoPYDWUatl/ozB/Q4xOtUcFhtx+Ho8fSTfYHXmqnxXb1aNiF2hrwa2X7mb0EPS+NkMgtGF++yt9ewauLfjFmvZiV5rHwcFYm3l3kAnIqqjTQDMipRod7AqMbF3R6jrxySaqhyAZzWbWnRiEM+Te93hjawN3QghwmYlM4FiVHePE15ZGek+hY161X8t0CB0EMAkTNix+sTfhAl9fz5Zo6wDJY+FsXfwnlzrmCTgfEvb8Rna2nEjo+1N1b1mhbIus+cNKMFasrWsJcWe2jRkHAbVWliVO8mi2hcqGkm+dISt4DaTGToi9Ebykj1x69R/7zESg5V1UDQH1MOpjF/MSauFKK7I4MbdKC050LD/gZoyF7ym76NmireF59a
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:(13230025)(4636009)(376002)(39860400002)(396003)(136003)(346002)(451199018)(36840700001)(40470700004)(46966006)(478600001)(316002)(426003)(36756003)(26005)(1076003)(54906003)(47076005)(70586007)(8676002)(6916009)(4326008)(82740400003)(70206006)(966005)(83380400001)(36860700001)(2906002)(81166007)(86362001)(356005)(82310400005)(2616005)(40460700003)(41300700001)(7416002)(186003)(336012)(40480700001)(6666004)(8936002)(103116003)(5660300002)(21314003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:04:35.8159
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5e1394ce-77dd-4191-09aa-08db2a15340c
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:
	DS1PEPF0000B077.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5965

rangeset_{xxx}_range() functions are invoked with 'start' and 'size' as
arguments which are either 'uint64_t' or 'paddr_t'. However, the function
accepts 'unsigned long' for 'start' and 'size'. 'unsigned long' is 32 bits for
ARM_32. Thus, there is an implicit downcasting from 'uint64_t'/'paddr_t' to
'unsigned long' when invoking rangeset_{xxx}_range().

So, it may seem there is a possibility of lose of data due to truncation.

In reality, 'start' and 'size' are always page aligned. And ARM_32 currently
supports 40 bits as the width of physical address.
So if the addresses are page aligned, the last 12 bits contain zeroes.
Thus, we could instead pass page frame number which will contain 28 bits (40-12
on Arm_32) and this can be represented using 'unsigned long'.

On Arm_64, this change will not induce any adverse side effect as the width of
physical address is 48 bits. Thus, the width of 'mfn' (ie 48 - 12 = 36) can be
represented using 'unsigned long' (which is 64 bits wide).

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from -

v3 - 1. Extracted the patch from https://lists.xenproject.org/archives/html/xen-devel/2023-02/msg00657.html
and added it to this series.
2. Modified add_ext_regions(). This accepts a frame number instead of physical
address.

 xen/arch/arm/domain_build.c | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 15fa88e977..24b12b7512 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1500,10 +1500,13 @@ static int __init make_resv_memory_node(const struct domain *d,
     return res;
 }
 
-static int __init add_ext_regions(unsigned long s, unsigned long e, void *data)
+static int __init add_ext_regions(unsigned long s_pfn, unsigned long e_pfn,
+                                  void *data)
 {
     struct meminfo *ext_regions = data;
     paddr_t start, size;
+    paddr_t s = PFN_UP(s_pfn);
+    paddr_t e = PFN_UP(e_pfn);
 
     if ( ext_regions->nr_banks >= ARRAY_SIZE(ext_regions->bank) )
         return 0;
@@ -1566,7 +1569,8 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
     {
         start = bootinfo.mem.bank[i].start;
         end = bootinfo.mem.bank[i].start + bootinfo.mem.bank[i].size;
-        res = rangeset_add_range(unalloc_mem, start, end - 1);
+        res = rangeset_add_range(unalloc_mem, PFN_DOWN(start),
+                                 PFN_DOWN(end - 1));
         if ( res )
         {
             printk(XENLOG_ERR "Failed to add: %#"PRIpaddr"->%#"PRIpaddr"\n",
@@ -1580,7 +1584,8 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
     {
         start = assign_mem->bank[i].start;
         end = assign_mem->bank[i].start + assign_mem->bank[i].size;
-        res = rangeset_remove_range(unalloc_mem, start, end - 1);
+        res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
+                                    PFN_DOWN(end - 1));
         if ( res )
         {
             printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
@@ -1595,7 +1600,8 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
         start = bootinfo.reserved_mem.bank[i].start;
         end = bootinfo.reserved_mem.bank[i].start +
             bootinfo.reserved_mem.bank[i].size;
-        res = rangeset_remove_range(unalloc_mem, start, end - 1);
+        res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start),
+                                    PFN_DOWN(end - 1));
         if ( res )
         {
             printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
@@ -1607,7 +1613,7 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
     /* Remove grant table region */
     start = kinfo->gnttab_start;
     end = kinfo->gnttab_start + kinfo->gnttab_size;
-    res = rangeset_remove_range(unalloc_mem, start, end - 1);
+    res = rangeset_remove_range(unalloc_mem, PFN_DOWN(start), PFN_DOWN(end - 1));
     if ( res )
     {
         printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
@@ -1617,7 +1623,7 @@ static int __init find_unallocated_memory(const struct kernel_info *kinfo,
 
     start = 0;
     end = (1ULL << p2m_ipa_bits) - 1;
-    res = rangeset_report_ranges(unalloc_mem, start, end,
+    res = rangeset_report_ranges(unalloc_mem, PFN_DOWN(start), PFN_DOWN(end),
                                  add_ext_regions, ext_regions);
     if ( res )
         ext_regions->nr_banks = 0;
@@ -1639,7 +1645,7 @@ static int __init handle_pci_range(const struct dt_device_node *dev,
 
     start = addr & PAGE_MASK;
     end = PAGE_ALIGN(addr + len);
-    res = rangeset_remove_range(mem_holes, start, end - 1);
+    res = rangeset_remove_range(mem_holes, PFN_DOWN(start), PFN_DOWN(end - 1));
     if ( res )
     {
         printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
@@ -1677,7 +1683,7 @@ static int __init find_memory_holes(const struct kernel_info *kinfo,
     /* Start with maximum possible addressable physical memory range */
     start = 0;
     end = (1ULL << p2m_ipa_bits) - 1;
-    res = rangeset_add_range(mem_holes, start, end);
+    res = rangeset_add_range(mem_holes, PFN_DOWN(start), PFN_DOWN(end));
     if ( res )
     {
         printk(XENLOG_ERR "Failed to add: %#"PRIpaddr"->%#"PRIpaddr"\n",
@@ -1708,7 +1714,8 @@ static int __init find_memory_holes(const struct kernel_info *kinfo,
 
             start = addr & PAGE_MASK;
             end = PAGE_ALIGN(addr + size);
-            res = rangeset_remove_range(mem_holes, start, end - 1);
+            res = rangeset_remove_range(mem_holes, PFN_DOWN(start),
+                                        PFN_DOWN(end - 1));
             if ( res )
             {
                 printk(XENLOG_ERR "Failed to remove: %#"PRIpaddr"->%#"PRIpaddr"\n",
@@ -1735,7 +1742,7 @@ static int __init find_memory_holes(const struct kernel_info *kinfo,
 
     start = 0;
     end = (1ULL << p2m_ipa_bits) - 1;
-    res = rangeset_report_ranges(mem_holes, start, end,
+    res = rangeset_report_ranges(mem_holes, PFN_DOWN(start), PFN_DOWN(end),
                                  add_ext_regions,  ext_regions);
     if ( res )
         ext_regions->nr_banks = 0;
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:04:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:04:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512669.792758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecba-0005fA-9l; Tue, 21 Mar 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 512669.792758; Tue, 21 Mar 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 1pecba-0005eF-5y; Tue, 21 Mar 2023 14:04:50 +0000
Received: by outflank-mailman (input) for mailman id 512669;
 Tue, 21 Mar 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=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1pecbY-0005Xe-Gw
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:04:48 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20617.outbound.protection.outlook.com
 [2a01:111:f400:7e89::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 55720ebb-c7f1-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 15:04:46 +0100 (CET)
Received: from DM5PR07CA0059.namprd07.prod.outlook.com (2603:10b6:4:ad::24) by
 DM4PR12MB8570.namprd12.prod.outlook.com (2603:10b6:8:18b::14) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.37; Tue, 21 Mar 2023 14:04:43 +0000
Received: from DS1PEPF0000E653.namprd02.prod.outlook.com
 (2603:10b6:4:ad:cafe::2d) by DM5PR07CA0059.outlook.office365.com
 (2603:10b6:4:ad::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Tue, 21 Mar 2023 14:04:43 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E653.mail.protection.outlook.com (10.167.18.9) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.30 via Frontend Transport; Tue, 21 Mar 2023 14:04:42 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 09:04:41 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 07:04:41 -0700
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 21 Mar 2023 09:04:39 -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: 55720ebb-c7f1-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TyjyT/oOzRa9Fuubniy7nv2qIHV3FjuwzTkJ4/bHrUJ3jTUFDu4JHA3Qk2QYetPPGJuXTrt3sE4VY+VAkQbUT/O0nScbwxy/nGxmRPgdxhv/1qaOrL8vpG5jx2BS4e3+wHU+YKWrUei9//IklcWacJ9gzQSvjG2KxW6CUUtBdQgGOEg8C+WDC09KWK7wNltwk4GlVmYoflpQY7A8cqxZZYYqBuMX2ax3MqQpXIX69f+E5xucqIi3CziOldp2NRS8rbiqptVF9LhDhaYYkUnTJ4AZHxjS91f9KnxqT+aDNsPDoH+lk0ZXEWMWzp3A8RqoHTaLhtqHkKx1sZjjwF4zEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KDzxAY8EckX/4EZG10FOT1AXCf3RIv+DywbOAf1WGVU=;
 b=gu+D3i69nd8qbbqmOU0QLeS/CF3kkjONkE46pGU0md22h+rPKuj+U9QDhqJ6KxxTZK+dy9XQJX7w4R3KMpFmKz69K1S5+hhhmirvyW9ds52LiBPnMOM7yFwaL3v2xCHcNYqSBgd+WGFyvl7ob0zglS0skD4UMeby3xWmv0s66YOfmwVAJx+mMyxOW5mI9CbhPhOOfQ9Vhd2EdzDC+0awL8XYCulpK/4b5c89+vY3htY2WNOuRTjSyzuGwKWXHR9VYI0OFin8U36VO9MhX1RkraN71+AsOEd3VSnAcvame+xuaJ8kaCsxkYmcBh4FhwLEefBKVwlOVnzSDxhbyM6sfQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KDzxAY8EckX/4EZG10FOT1AXCf3RIv+DywbOAf1WGVU=;
 b=qlgfwxotvMcmb9quHxOomOumO2QxNzk8cCCEnIckOC6V5a8xVzG9gSToZwq+z34BVytGOFVejB+v3bv4MNhlhlB4lVnAs70AjMygIBW8B70Ur/19pTtKdPcqsFrxdtRhlpStjuucRFyvM/4jKfpWjngWICukAF7hTBc/GjOWPLs=
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>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, <rahul.singh@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v4 03/11] xen/arm: Typecast the DT values into paddr_t
Date: Tue, 21 Mar 2023 14:03:49 +0000
Message-ID: <20230321140357.24094-4-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E653:EE_|DM4PR12MB8570:EE_
X-MS-Office365-Filtering-Correlation-Id: ad916c65-605f-4a92-8d18-08db2a153826
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Qu7nSqp7DQl1GBXTapTs2grj2MNKqrYBQMWuQ22DeYp2El4SEsxnc4OcG99FizanYYtbuPfHJdXPXrbrMXsiTk+JIHpcC94ehk1EpVpLQ5RSgIs/UNPtYHfyqLxl80/Yc0z/B9vLVu4pchVKqgSSPt/bHf+RB6ZKxxbth8gi/HN/gpV4PaGJQ+eBT8GxjaSCFFktdSPZWIDWml5PKIY9+4LagmvuFk2dBusTkmKOeunmfuy4QB2Dly/dPmmG1e6EFm1oPDXN6jwEmFy9HdU3HFNVUweykAQ7t+FYytVsen3i4E4k8sVn/Yfu4v+VxZ9HTb3blvLHnab/drF/DUGVW1XgwKhtht/TqsWIzaphR/x0EnEsKX7vCR2VlJJpTQo5fqX8EsCpSj6rtAWmIcwI57OMwst6bzjGRCasqVWD0HFRr2zeX4gLbHev2uJye7SINQOFGhFFvyJXRGBZMp4eOXNC7LJg3ZWWtwHBj3X3ySq0Pe8/XM5eZiP4SiTP0uvoicTiSrbjDBxf9T/CDzWB1TTEsgk8AF2J9iO8uzl0GNW8dPxoh33ly7h9AxM97AyAGWXDrbd02JleE+ySI4UtFw3VRUDQIFwmBBiKNV+He3kci7R0lQ5+VQtspKQgEZAPK4fKgbp+OXFfJuuD4deDGWv4FJP/syFeWyI9bqaJKDliLHvlW7VdT0NdfREuUICndz8z22dFfK0U155xWfcOKFdQwVWePUPNfwb2ZFMj9XM=
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:(13230025)(4636009)(396003)(376002)(346002)(39860400002)(136003)(451199018)(36840700001)(40470700004)(46966006)(316002)(86362001)(83380400001)(36756003)(336012)(8936002)(40480700001)(41300700001)(47076005)(26005)(1076003)(186003)(2906002)(82310400005)(6916009)(4326008)(70586007)(70206006)(8676002)(40460700003)(426003)(6666004)(2616005)(30864003)(5660300002)(82740400003)(81166007)(54906003)(36860700001)(103116003)(356005)(7416002)(478600001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:04:42.7006
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ad916c65-605f-4a92-8d18-08db2a153826
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:
	DS1PEPF0000E653.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB8570

In future, we wish to support 32 bit physical address.
However, the current dt and fdt functions can only read u64 values.
We wish to make the DT functions read 32bit as well 64bit values
(depending on the width of physical address). Also, we wish to detect
if any truncation has occurred (ie while reading 32bit physical
addresses from 64bit values read from DT).

device_tree_get_reg() should now be able to return paddr_t. This is
invoked by various callers to get DT address and size.

For fdt_get_mem_rsv(), we have introduced wrapper ie
fdt_get_mem_rsv_paddr() while will invoke fdt_get_mem_rsv() and
translate uint64_t to paddr_t. The reason being we cannot modify
fdt_get_mem_rsv() as it has been imported from external source.

For dt_read_number(), we have also introduced a wrapper ie
dt_read_paddr() to read physical addresses. We chose not to modify the
original function as it been used in places where it needs to
specifically 64bit values from dt (For eg dt_property_read_u64()).

Xen prints an error when it detects a truncation (during typecast
between uint64_t and paddr_t). It is not possible to return an error in
all scenarios. So, it is user's responsibility to check the error logs.

Also, replaced u32/u64 with uint32_t/uint64_t in the functions touched
by the code changes.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---

Changes from

v1 - 1. Dropped "[XEN v1 2/9] xen/arm: Define translate_dt_address_size() for the translation between u64 and paddr_t" and
"[XEN v1 4/9] xen/arm: Use translate_dt_address_size() to translate between device tree addr/size and paddr_t", instead
this approach achieves the same purpose.

2. No need to check for truncation while converting values from u64 to paddr_t.

v2 - 1. Use "( (dt_start >> (PADDR_SHIFT - 1)) > 1 )" to detect truncation.
2. Introduced libfdt_xen.h to implement fdt_get_mem_rsv_paddr
3. Logged error messages in case truncation is detected.

v3 - 1. Renamed libfdt_xen.h to libfdt-xen.h.
2. Replaced u32/u64 with uint32_t/uint64_t
3. Use "(paddr_t)val != val" to check for truncation.
4. Removed the alias "#define PADDR_SHIFT PADDR_BITS". 

 xen/arch/arm/bootfdt.c              | 41 ++++++++++++++++++-----
 xen/arch/arm/domain_build.c         |  2 +-
 xen/arch/arm/include/asm/setup.h    |  4 +--
 xen/arch/arm/setup.c                | 14 ++++----
 xen/arch/arm/smpboot.c              |  2 +-
 xen/include/xen/device_tree.h       | 21 ++++++++++++
 xen/include/xen/libfdt/libfdt-xen.h | 52 +++++++++++++++++++++++++++++
 7 files changed, 116 insertions(+), 20 deletions(-)
 create mode 100644 xen/include/xen/libfdt/libfdt-xen.h

diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 0085c28d74..33bef1c15e 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -11,7 +11,7 @@
 #include <xen/efi.h>
 #include <xen/device_tree.h>
 #include <xen/lib.h>
-#include <xen/libfdt/libfdt.h>
+#include <xen/libfdt/libfdt-xen.h>
 #include <xen/sort.h>
 #include <xsm/xsm.h>
 #include <asm/setup.h>
@@ -52,11 +52,32 @@ static bool __init device_tree_node_compatible(const void *fdt, int node,
     return false;
 }
 
-void __init device_tree_get_reg(const __be32 **cell, u32 address_cells,
-                                u32 size_cells, u64 *start, u64 *size)
+void __init device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
+                                uint32_t size_cells, paddr_t *start,
+                                paddr_t *size)
 {
-    *start = dt_next_cell(address_cells, cell);
-    *size = dt_next_cell(size_cells, cell);
+    uint64_t dt_start, dt_size;
+
+    /*
+     * dt_next_cell will return u64 whereas paddr_t may be u64 or u32. Thus,
+     * there is an implicit cast from u64 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("Error: Physical address greater than max width supported\n");
+
+    if ( dt_size != (paddr_t)dt_size )
+        printk("Error: Physical size greater than max width supported\n");
+
+    /*
+     * Note: It is user's responsibility to check for the error messages.
+     * Xen will sliently truncate in case if the address/size is greater than
+     * the max supported width.
+     */
+    *start = dt_start;
+    *size = dt_size;
 }
 
 static int __init device_tree_get_meminfo(const void *fdt, int node,
@@ -326,7 +347,7 @@ static int __init process_chosen_node(const void *fdt, int node,
         printk("linux,initrd-start property has invalid length %d\n", len);
         return -EINVAL;
     }
-    start = dt_read_number((void *)&prop->data, dt_size_to_cells(len));
+    start = dt_read_paddr((void *)&prop->data, dt_size_to_cells(len));
 
     prop = fdt_get_property(fdt, node, "linux,initrd-end", &len);
     if ( !prop )
@@ -339,7 +360,7 @@ static int __init process_chosen_node(const void *fdt, int node,
         printk("linux,initrd-end property has invalid length %d\n", len);
         return -EINVAL;
     }
-    end = dt_read_number((void *)&prop->data, dt_size_to_cells(len));
+    end = dt_read_paddr((void *)&prop->data, dt_size_to_cells(len));
 
     if ( start >= end )
     {
@@ -594,9 +615,11 @@ static void __init early_print_info(void)
     for ( i = 0; i < nr_rsvd; i++ )
     {
         paddr_t s, e;
-        if ( fdt_get_mem_rsv(device_tree_flattened, i, &s, &e) < 0 )
+
+        if ( fdt_get_mem_rsv_paddr(device_tree_flattened, i, &s, &e) < 0 )
             continue;
-        /* fdt_get_mem_rsv returns length */
+
+        /* fdt_get_mem_rsv_paddr returns length */
         e += s;
         printk(" RESVD[%u]: %"PRIpaddr" - %"PRIpaddr"\n", i, s, e);
     }
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 24b12b7512..6573d15302 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -949,7 +949,7 @@ static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
         BUG_ON(!prop);
         cells = (const __be32 *)prop->value;
         device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
-        psize = dt_read_number(cells, size_cells);
+        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",
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index a926f30a2b..7b697d879e 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -157,8 +157,8 @@ const char *boot_module_kind_as_string(bootmodule_kind kind);
 extern uint32_t hyp_traps_vector[];
 void init_traps(void);
 
-void device_tree_get_reg(const __be32 **cell, u32 address_cells,
-                         u32 size_cells, u64 *start, u64 *size);
+void device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
+                         uint32_t size_cells, paddr_t *start, paddr_t *size);
 
 u32 device_tree_get_u32(const void *fdt, int node,
                         const char *prop_name, u32 dflt);
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 1f26f67b90..755173e5a3 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -29,7 +29,7 @@
 #include <xen/virtual_region.h>
 #include <xen/vmap.h>
 #include <xen/trace.h>
-#include <xen/libfdt/libfdt.h>
+#include <xen/libfdt/libfdt-xen.h>
 #include <xen/acpi.h>
 #include <xen/warning.h>
 #include <asm/alternative.h>
@@ -222,11 +222,11 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
     {
         paddr_t r_s, r_e;
 
-        if ( fdt_get_mem_rsv(device_tree_flattened, i, &r_s, &r_e ) < 0 )
+        if ( fdt_get_mem_rsv_paddr(device_tree_flattened, i, &r_s, &r_e ) < 0 )
             /* If we can't read it, pretend it doesn't exist... */
             continue;
 
-        r_e += r_s; /* fdt_get_mem_rsv returns length */
+        r_e += r_s; /* fdt_get_mem_rsv_paddr returns length */
 
         if ( s < r_e && r_s < e )
         {
@@ -502,13 +502,13 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
     {
         paddr_t mod_s, mod_e;
 
-        if ( fdt_get_mem_rsv(device_tree_flattened,
-                             i - mi->nr_mods,
-                             &mod_s, &mod_e ) < 0 )
+        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 returns length */
+        /* fdt_get_mem_rsv_paddr returns length */
         mod_e += mod_s;
 
         if ( s < mod_e && mod_s < e )
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 412ae22869..c15c177487 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -159,7 +159,7 @@ static void __init dt_smp_init_cpus(void)
             continue;
         }
 
-        addr = dt_read_number(prop, dt_n_addr_cells(cpu));
+        addr = dt_read_paddr(prop, dt_n_addr_cells(cpu));
 
         hwid = addr;
         if ( hwid != addr )
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index 19a74909ce..bbc7d7377a 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -241,6 +241,27 @@ static inline u64 dt_read_number(const __be32 *cell, int size)
     return r;
 }
 
+/* Wrapper for dt_read_number() to return paddr_t (instead of u64) */
+static inline paddr_t dt_read_paddr(const __be32 *cell, int size)
+{
+    uint64_t dt_r = 0;
+    paddr_t r;
+
+    dt_r = dt_read_number(cell, size);
+
+    if ( dt_r != (paddr_t)dt_r )
+        printk("Error: Physical address greater than max width supported\n");
+
+    /*
+     * Note: It is user's responsibility to check for the error messages.
+     * Xen will sliently truncate in case if the address/size is greater than
+     * the max supported width.
+     */
+    r = dt_r;
+
+    return r;
+}
+
 /* Helper to convert a number of cells to bytes */
 static inline int dt_cells_to_size(int size)
 {
diff --git a/xen/include/xen/libfdt/libfdt-xen.h b/xen/include/xen/libfdt/libfdt-xen.h
new file mode 100644
index 0000000000..648bf41be6
--- /dev/null
+++ b/xen/include/xen/libfdt/libfdt-xen.h
@@ -0,0 +1,52 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * xen/include/xen/libfdt/libfdt-xen.h
+ *
+ * Wrapper functions for device tree. This helps to convert dt values
+ * between u64 and paddr_t.
+ *
+ * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
+ */
+
+#ifndef LIBFDT_XEN_H
+#define LIBFDT_XEN_H
+
+#include <xen/libfdt/libfdt.h>
+
+inline int fdt_get_mem_rsv_paddr(const void *fdt, int n,
+                                 paddr_t *address,
+                                 paddr_t *size)
+{
+    uint64_t dt_addr;
+    uint64_t dt_size;
+    int ret = 0;
+
+    ret = fdt_get_mem_rsv(fdt, n, &dt_addr, &dt_size);
+
+    if ( dt_addr != (paddr_t)dt_addr )
+    {
+        printk("Error: Physical address greater than max width supported\n");
+        return -1;
+    }
+
+    if ( dt_size != (paddr_t)dt_size )
+    {
+        printk("Error: Physical size greater than max width supported\n");
+        return -1;
+    }
+
+    *address = dt_addr;
+    *size = dt_size;
+
+    return ret;
+}
+
+#endif /* LIBFDT_XEN_H */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:05:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:05:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512673.792768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecbk-00066Y-Lh; Tue, 21 Mar 2023 14:05:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512673.792768; Tue, 21 Mar 2023 14:05: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 1pecbk-00066R-Hy; Tue, 21 Mar 2023 14:05:00 +0000
Received: by outflank-mailman (input) for mailman id 512673;
 Tue, 21 Mar 2023 14:04: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=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1pecbj-0005Xe-Lf
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:04:59 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2061a.outbound.protection.outlook.com
 [2a01:111:f400:7e83::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ccc47e3-c7f1-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 15:04:58 +0100 (CET)
Received: from DS7PR03CA0075.namprd03.prod.outlook.com (2603:10b6:5:3bb::20)
 by DM4PR12MB6109.namprd12.prod.outlook.com (2603:10b6:8:ae::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:04:54 +0000
Received: from DS1PEPF0000B079.namprd05.prod.outlook.com
 (2603:10b6:5:3bb:cafe::fa) 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.6178.37 via Frontend
 Transport; Tue, 21 Mar 2023 14:04:54 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000B079.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.6178.30 via Frontend Transport; Tue, 21 Mar 2023 14:04:54 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 09:04:54 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 07:04:53 -0700
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 21 Mar 2023 09:04:52 -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: 5ccc47e3-c7f1-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j5/UsR0OMTH63kOPTxAUoORbsZmfimCJPslFN577hC1u2F+UoB9mkF7d0kAiNqOlz/5iJTNC6zaxin4h5dUi4G4sB77zI+vRMtqXiWygwr052bCKY6PA53VbjjCaPF0933NYlfWTJzawkWldIFoNLEgF3tq78JT4Ud6npDvNN0ZM707jiBokjmMcuSo8qmB6U2VjnpHuZ32GN5TZtya08gTNVEWRu958Hq0/i9p4wty287jp8i9ATokrN/Ud6mevwqldoN1f0pTMLfJve5kzhvElUugkzMvjDRhejVX2kAljHMggPLmVrS2v0YUj3UFilWadLZZ5ARJW/JSKrGO30g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wdACvSYIwIHbjiq6l1EcIfjcW/2ojwnGS2SvBnGV5RE=;
 b=W01jNm0s2iNjU7PePfqaIgFGWMSdJtpyfDmz5rTOph/9ZGwdA5V+z8L74WTDNV7ll3bNeaiFXuqoqp7PyOITqlYsJAmFitbWGGT3lZ/woHBw2U00EmHs8r3kVe3XL/7ioe98aqlGBv1a4hqSNDx73XEAJosF4u1In6l0s+Fp7kqxdmF6IHihlyUJdmFCgZNqitGbpkq0Dwnem4lJ2y96nYMcqxw+chc5MjIi40MRcMx0eJiLlx7Fke1QpoOvnHtii7sMiGg95ayr+vYLV7HUDo1QiMBHoIy5bpoFlq2y4xMot2oNwSJsv0MfgUbc2DNNWjYYvIpMVwTZNWauWQO7Iw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wdACvSYIwIHbjiq6l1EcIfjcW/2ojwnGS2SvBnGV5RE=;
 b=k4xPp/rRgWWRo4gg1BIqmoYxP8R9q2JENzfgvuLIATwbtMDR7bTWst6cAeDk+iozTtZxuleDJeUiCMMvblA+nFBwze9MNuAOcj4Wh9jVmqc2JTyOYkYD3CkYX6U3EqPQQPJiirexY7rkIBMz155MoLfvoKJ+HRPMhrKpZqQA1BE=
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>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, <rahul.singh@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v4 04/11] xen/drivers: ns16550: Use paddr_t for io_base/io_size
Date: Tue, 21 Mar 2023 14:03:50 +0000
Message-ID: <20230321140357.24094-5-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000B079:EE_|DM4PR12MB6109:EE_
X-MS-Office365-Filtering-Correlation-Id: 949069a3-f7ed-4abb-0902-08db2a153f3b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IDnR5HwcKAwQLqka5JAFJ0CpHFBemdfa6np4LpRSa11VQbqOCBaNZz9i48fmGcVl4Midp38qFfQquTq7JMTYuWn9oGX270/D2QLMJ8sEUUEKYxMQJYy06Wc994H83xuL2N6LJyAKJMYAW8r5S2r1SN/a56oH6tSwjI0xHXtDn6iiCvRH/zheHnO1qYBUUimBX9aaFSTDomg5dFthEGbkxUcgX/G6eWYG8N94E5LkZJlCK5IOfKflWSaZCr91ap1pgxnuWPh/UeDR/n3xaJSfzPUuAWIM3s+5Z55ZBDkZ8kzHD/glTC0fyISc3wI1I48Tre8auRtLj7JC3rAwu4PeI3EakISmKSCsjzzzE3aEzm+ZZfh8bRyV/CFJEvCr9HulkrQ/ueoYWe+8i7g3IQfwWz9qwStq19Ka0jkbZPvgnxSvTla/XXXVDWLr1cJ+vDSwXzj6ZBtYRxQz80E8/8H2skouJ6b8N4B/685vKZ/iIdeAj+k2tQI9GwejlNK6YJZWWS+XIeRXwY+WHuDfJ8isZ2X0F8f66/bUU0vdKjh7mdwZnjAmjurJZECWk+F2b6B029ygYDXxhTDfX/CaDwCe+wbTr2Uo+ZMziSvZaJmmVm/59PzadqVYwLl15nH2RE79lihWyP+PKiW2xfaXIqBdToyOP2vmsqp1VIXI8e/xAefWKxS5V2Sk8jcYTPfrzQ8SXu30NMWCD5Ram83M0rTkk9cQVQA5ptvGKhBksyR22IA=
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:(13230025)(4636009)(376002)(396003)(39860400002)(136003)(346002)(451199018)(40470700004)(36840700001)(46966006)(86362001)(82310400005)(40460700003)(103116003)(36756003)(40480700001)(70206006)(83380400001)(6916009)(316002)(4326008)(478600001)(70586007)(8676002)(186003)(54906003)(26005)(336012)(2616005)(426003)(47076005)(1076003)(356005)(8936002)(5660300002)(7416002)(36860700001)(41300700001)(81166007)(2906002)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:04:54.5789
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 949069a3-f7ed-4abb-0902-08db2a153f3b
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:
	DS1PEPF0000B079.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6109

io_base and io_size represent physical addresses. So they should use
paddr_t (instead of u64).

However in future, paddr_t may be defined as u32. So when typecasting
values from u64 to paddr_t, one should always check for any possible
truncation. If any truncation is discovered, Xen needs to return an
appropriate an error message for this.

Also moved the definition of PARSE_ERR_RET before its first usage.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from -
v1 - NA

v2 - 1. Extracted the patch from "[XEN v2 05/11] xen/arm: Use paddr_t instead of u64 for address/size"
into a separate patch of its own.

v3 - 1. Reduced the scope of pci_uart_io_base and uart_io_base definitions.
2. Instead of crashing, invoke PARSE_ERR_RET().
3. Moved PARSE_ERR_RET() so that it is defined before its first use.

 xen/drivers/char/ns16550.c | 41 ++++++++++++++++++++++++++------------
 1 file changed, 28 insertions(+), 13 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 092f6b9c4b..2e8a9cfb24 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -42,8 +42,8 @@
 
 static struct ns16550 {
     int baud, clock_hz, data_bits, parity, stop_bits, fifo_size, irq;
-    u64 io_base;   /* I/O port or memory-mapped I/O address. */
-    u64 io_size;
+    paddr_t io_base;   /* I/O port or memory-mapped I/O address. */
+    paddr_t io_size;
     int reg_shift; /* Bits to shift register offset by */
     int reg_width; /* Size of access to use, the registers
                     * themselves are still bytes */
@@ -1163,10 +1163,16 @@ static const struct ns16550_config __initconst uart_config[] =
     },
 };
 
+#define PARSE_ERR_RET(_f, _a...)             \
+    do {                                     \
+        printk( "ERROR: " _f "\n" , ## _a ); \
+        return false;                        \
+    } while ( 0 )
+
 static int __init
 pci_uart_config(struct ns16550 *uart, bool_t skip_amt, unsigned int idx)
 {
-    u64 orig_base = uart->io_base;
+    paddr_t orig_base = uart->io_base;
     unsigned int b, d, f, nextf, i;
 
     /* NB. Start at bus 1 to avoid AMT: a plug-in card cannot be on bus 0. */
@@ -1235,6 +1241,8 @@ pci_uart_config(struct ns16550 *uart, bool_t skip_amt, unsigned int idx)
                 /* MMIO based */
                 if ( param->mmio && !(bar & PCI_BASE_ADDRESS_SPACE_IO) )
                 {
+                    uint64_t pci_uart_io_base;
+
                     pci_conf_write32(PCI_SBDF(0, b, d, f),
                                      PCI_BASE_ADDRESS_0 + bar_idx*4, ~0u);
                     len = pci_conf_read32(PCI_SBDF(0, b, d, f),
@@ -1259,8 +1267,14 @@ pci_uart_config(struct ns16550 *uart, bool_t skip_amt, unsigned int idx)
                     else
                         size = len & PCI_BASE_ADDRESS_MEM_MASK;
 
-                    uart->io_base = ((u64)bar_64 << 32) |
-                                    (bar & PCI_BASE_ADDRESS_MEM_MASK);
+                    pci_uart_io_base = ((u64)bar_64 << 32) |
+                                        (bar & PCI_BASE_ADDRESS_MEM_MASK);
+
+                    /* Truncation detected while converting to paddr_t */
+                    if ( (pci_uart_io_base >> (PADDR_BITS - 1)) > 1 )
+                        PARSE_ERR_RET("Truncation detected for io_base address");
+
+                    uart->io_base = pci_uart_io_base;
                 }
                 /* IO based */
                 else if ( !param->mmio && (bar & PCI_BASE_ADDRESS_SPACE_IO) )
@@ -1456,13 +1470,6 @@ static enum __init serial_param_type get_token(char *token, char **value)
         return;                              \
     } while ( 0 )
 
-#define PARSE_ERR_RET(_f, _a...)             \
-    do {                                     \
-        printk( "ERROR: " _f "\n" , ## _a ); \
-        return false;                        \
-    } while ( 0 )
-
-
 static bool __init parse_positional(struct ns16550 *uart, char **str)
 {
     int baud;
@@ -1532,7 +1539,15 @@ static bool __init parse_positional(struct ns16550 *uart, char **str)
         else
 #endif
         {
-            uart->io_base = simple_strtoull(conf, &conf, 0);
+            uint64_t uart_io_base;
+
+            uart_io_base = simple_strtoull(conf, &conf, 0);
+
+            /* Truncation detected while converting to paddr_t */
+            if ( (uart_io_base >> (PADDR_BITS - 1)) > 1 )
+                PARSE_ERR_RET("Truncation detected for uart_io_base address");
+
+            uart->io_base = uart_io_base;
         }
     }
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:05:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:05:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512678.792777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecby-0006hZ-Up; Tue, 21 Mar 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 512678.792777; Tue, 21 Mar 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 1pecby-0006hS-S2; Tue, 21 Mar 2023 14:05:14 +0000
Received: by outflank-mailman (input) for mailman id 512678;
 Tue, 21 Mar 2023 14:05: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=LvxA=7N=gmail.com=rjwysocki@srs-se1.protection.inumbo.net>)
 id 1pecbx-0006ai-IM
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:05:13 +0000
Received: from mail-ed1-f46.google.com (mail-ed1-f46.google.com
 [209.85.208.46]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 64c43291-c7f1-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:05:11 +0100 (CET)
Received: by mail-ed1-f46.google.com with SMTP id i5so13224897eda.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Mar 2023 07:05: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: 64c43291-c7f1-11ed-b464-930f4c7d94ae
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679407510;
        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=haBPYj/XDzU0eh284RB5Ofq6oaj5HEMamthlq2TXC24=;
        b=fZa22rGWARuPHa+xGkL9qWPZS0MWRDSQOc3MbjkXcJzDF03JNdVLhbRcTSBU8rOelU
         CWi7stIUKZBb8YYmJDJUJ7Oj24HJHydxP0dbo/pAHFW9tpEI9n5HUvycy3BD0y2gZuZQ
         tSxeyWO5BBlvQ1U4qE6tgJeCLxkXy0EyP+Wjp2CFWxH/C2xAF6w9uxNEDHtzf4Vy9AO7
         W2xOVhNMwaTV5OhY3snwDgCAIcIau6PNUH+wQ1z+LGW3J7Rq6G4nSTfaeVLlFBl/aoK9
         aExjSYjnxXtX8NdNETMrSedwzkbFSaU3oNWLWmyG2+7skMVixmYA6KotcHkbb9YYwj43
         Ccag==
X-Gm-Message-State: AO0yUKULirhwVQALv5pfzwOH7V+S+SVQ1CNDJs8socI6iyIz+YYTXX+z
	f3u2Gll2s1qx9Zwy2zeca0e6r2xNhOc1Ce0ikSQ=
X-Google-Smtp-Source: AK7set/4Zz6ut7/h8w7nzIGz5caU0PYESQW7O7xQDY0ROd3s/dX3cmcW4UqA9dxlhc4jvY/zE/BzH6OwM3gLCg+5dBM=
X-Received: by 2002:a50:bac7:0:b0:4fb:f19:87f with SMTP id x65-20020a50bac7000000b004fb0f19087fmr1778235ede.3.1679407510501;
 Tue, 21 Mar 2023 07:05:10 -0700 (PDT)
MIME-Version: 1.0
References: <20230316164257.42590-1-roger.pau@citrix.com> <CAJZ5v0jskeE8nJt04vyEkDO3rOwOHp36mcKcV=L9LGXD0HL6Mw@mail.gmail.com>
 <ZBm42pgVCvsv6dzK@Air-de-Roger>
In-Reply-To: <ZBm42pgVCvsv6dzK@Air-de-Roger>
From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: Tue, 21 Mar 2023 15:04:59 +0100
Message-ID: <CAJZ5v0hy0DeOp7YPerhbn26Vxpk=uhfE5YcmRLquWk5Hw9Kyzg@mail.gmail.com>
Subject: Re: [PATCH v4] acpi/processor: fix evaluating _PDC method when
 running as Xen dom0
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "Rafael J. Wysocki" <rafael@kernel.org>, linux-kernel@vger.kernel.org, 
	xen-devel@lists.xenproject.org, josef@oderland.se, 
	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>, x86@kernel.org, 
	"H. Peter Anvin" <hpa@zytor.com>, Len Brown <lenb@kernel.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Alex Chiang <achiang@hp.com>, 
	linux-acpi@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 21, 2023 at 3:02=E2=80=AFPM Roger Pau Monn=C3=A9 <roger.pau@cit=
rix.com> wrote:
>
> On Tue, Mar 21, 2023 at 02:47:46PM +0100, Rafael J. Wysocki wrote:
> > On Thu, Mar 16, 2023 at 5:43=E2=80=AFPM Roger Pau Monne <roger.pau@citr=
ix.com> wrote:
> > >
> > > In ACPI systems, the OS can direct power management, as opposed to th=
e
> > > firmware.  This OS-directed Power Management is called OSPM.  Part of
> > > telling the firmware that the OS going to direct power management is
> > > making ACPI "_PDC" (Processor Driver Capabilities) calls.  These _PDC
> > > methods must be evaluated for every processor object.  If these _PDC
> > > calls are not completed for every processor it can lead to
> > > inconsistency and later failures in things like the CPU frequency
> > > driver.
> > >
> > > In a Xen system, the dom0 kernel is responsible for system-wide power
> > > management.  The dom0 kernel is in charge of OSPM.  However, the
> > > number of CPUs available to dom0 can be different than the number of
> > > CPUs physically present on the system.
> > >
> > > This leads to a problem: the dom0 kernel needs to evaluate _PDC for
> > > all the processors, but it can't always see them.
> > >
> > > In dom0 kernels, ignore the existing ACPI method for determining if a
> > > processor is physically present because it might not be accurate.
> > > Instead, ask the hypervisor for this information.
> > >
> > > Fix this by introducing a custom function to use when running as Xen
> > > dom0 in order to check whether a processor object matches a CPU that'=
s
> > > online.  Such checking is done using the existing information fetched
> > > by the Xen pCPU subsystem, extending it to also store the ACPI ID.
> > >
> > > This ensures that _PDC method gets evaluated for all physically onlin=
e
> > > CPUs, regardless of the number of CPUs made available to dom0.
> > >
> > > Fixes: 5d554a7bb064 ('ACPI: processor: add internal processor_physica=
lly_present()')
> > > Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> > > ---
> > > Changes since v3:
> > >  - Protect xen_processor_present() definition with CONFIG_ACPI.
> > >
> > > Changes since v2:
> > >  - Extend and use the existing pcpu functionality.
> > >
> > > Changes since v1:
> > >  - Reword commit message.
> > > ---
> > >  arch/x86/include/asm/xen/hypervisor.h | 10 ++++++++++
> > >  drivers/acpi/processor_pdc.c          | 11 +++++++++++
> > >  drivers/xen/pcpu.c                    | 21 +++++++++++++++++++++
> > >  3 files changed, 42 insertions(+)
> > >
> > > diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include=
/asm/xen/hypervisor.h
> > > index 5fc35f889cd1..990a1609677e 100644
> > > --- a/arch/x86/include/asm/xen/hypervisor.h
> > > +++ b/arch/x86/include/asm/xen/hypervisor.h
> > > @@ -63,4 +63,14 @@ void __init xen_pvh_init(struct boot_params *boot_=
params);
> > >  void __init mem_map_via_hcall(struct boot_params *boot_params_p);
> > >  #endif
> > >
> > > +#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI)
> > > +bool __init xen_processor_present(uint32_t acpi_id);
> > > +#else
> > > +static inline bool xen_processor_present(uint32_t acpi_id)
> > > +{
> > > +       BUG();
> > > +       return false;
> > > +}
> > > +#endif
> > > +
> > >  #endif /* _ASM_X86_XEN_HYPERVISOR_H */
> > > diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pd=
c.c
> > > index 8c3f82c9fff3..18fb04523f93 100644
> > > --- a/drivers/acpi/processor_pdc.c
> > > +++ b/drivers/acpi/processor_pdc.c
> > > @@ -14,6 +14,8 @@
> > >  #include <linux/acpi.h>
> > >  #include <acpi/processor.h>
> > >
> > > +#include <xen/xen.h>
> >
> > This along with the definition above is evidently insufficient for
> > xen_processor_present() to always be defined.  See
> > https://lore.kernel.org/linux-acpi/64198b60.bO+m9o5w+Hd8hcF3%25lkp@inte=
l.com/T/#u
> > for example.
> >
> > I'm dropping the patch now, please fix and resend.
>
> Hello,
>
> Sorry.  I've sent a followup fix:
>
> https://lore.kernel.org/xen-devel/20230321112522.46806-1-roger.pau@citrix=
.com/T/#u
>
> Would you be fine with taking such followup, or would rather prefer
> for me to send the original fixed patch as v5?

Please fold the fix into the original patch and resend.


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:05:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:05:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512683.792808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peccE-0007xD-V8; Tue, 21 Mar 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 512683.792808; Tue, 21 Mar 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 1peccE-0007x3-Rb; Tue, 21 Mar 2023 14:05:30 +0000
Received: by outflank-mailman (input) for mailman id 512683;
 Tue, 21 Mar 2023 14:05: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=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1peccD-0005Xe-Tk
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:05:30 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20627.outbound.protection.outlook.com
 [2a01:111:f400:fe59::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6edae5c5-c7f1-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 15:05:29 +0100 (CET)
Received: from DM6PR10CA0006.namprd10.prod.outlook.com (2603:10b6:5:60::19) by
 BL3PR12MB6380.namprd12.prod.outlook.com (2603:10b6:208:3b3::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.37; Tue, 21 Mar 2023 14:05:25 +0000
Received: from DS1PEPF0000B07A.namprd05.prod.outlook.com
 (2603:10b6:5:60:cafe::77) by DM6PR10CA0006.outlook.office365.com
 (2603:10b6:5:60::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Tue, 21 Mar 2023 14:05:25 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000B07A.mail.protection.outlook.com (10.167.17.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.30 via Frontend Transport; Tue, 21 Mar 2023 14:05:25 +0000
Received: from SATLEXMB08.amd.com (10.181.40.132) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 09:05:24 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB08.amd.com
 (10.181.40.132) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 07:05:24 -0700
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 21 Mar 2023 09:05:22 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6edae5c5-c7f1-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=co2c2MdnaSN4B9I7b621o2t3zp1mDslw2Oe7GDwpXaH0BOCLFjDXdPaQSNZAyOF1q7d0gZfMBN5NgRQk58+n0swbwQTserFGcfmM16Utvg9JloqzoOLlGgPPwmsvrQMVVaNjlZz0gcEqZ4uNNEj+8BUa/Gn0Z9/DOr6NN3ZtJIYEId5N8Uq/Ox5mpTS+z4PkuzUCbEBkF7gb2tgEiQ8Oi/SSMGkTIL+jKBbJKcLfR9D6VoQnQPD/5IGF1vKbVzmAsDfsVUbGRBv4fGZ/n1DT7RIKvxLM2hqcPY980oQydfFDe1bSwnc+CPgqR6mCMLnAQ5jXwVDwqSRjT8nGaUJ/IA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YVw45C8rVy7+9H7135cJVOJglF13yYQFx7MyOjqge1Y=;
 b=ANKGfAWOCZnnIvomCb4FmmmC1+k1JMU104BVqW5fP6xHjm1/ZjcUHCFP5gCqBjOQbVVnU98x6dPHIrl0B2ZfqdGhr7fr7ObU6t99TAs5XTjygsWDj/3Qvk3TNUEHhKrhCP2X8dSe4nw/6PR5znY1pe7vR14/CWtIGeHkFa1itPOe4OO/7SnS5C9vrxokRZR4N+ag/2ZXsEjZrgQzSgM1ueFijDupxQxznEEZK8EtrtmLaD4Wm15hdgUDwTg8gWr2sdnu34ee4GBVdBi0RuK4++KGwnYA1DzHxfeQKznT8yBPivbXmkZGk/sYE+kwInnyBtKraVHfUUVzJ8xZ/n3MPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YVw45C8rVy7+9H7135cJVOJglF13yYQFx7MyOjqge1Y=;
 b=zslQaGiXD+CDP4M8Oi7oAE821Zttq5lhxLGn42H05pZb2hUT+GlNoEH25AcDT+OeisUR6I4W3Lf5u4JoZD7SXWJC0YPzsXWgfDASwl0kdcTwkRHGEI9IAZd5hg8p+6UxpX6pdQPDCrinMd1oIp8k88csfpfztGW1iJ2T+gJMHl8=
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>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, <rahul.singh@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v4 07/11] xen/arm: Introduce choice to enable 64/32 bit physical addressing
Date: Tue, 21 Mar 2023 14:03:53 +0000
Message-ID: <20230321140357.24094-8-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000B07A:EE_|BL3PR12MB6380:EE_
X-MS-Office365-Filtering-Correlation-Id: cb5c4778-6cdd-495e-c86d-08db2a155175
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KJ5BXV9+rUMDlzzgdxXTTPWX0fpUndJ4juSmMFoDEEQXQEeDr86rnmyzKnwl2zlYRQ/s9E4knsya8ZInEzF646RkY9+A3sx3wUsJPgj/nDE9SL/wMkrEE/qVhnbDS98QODAk3T35h5wy9uPzYdnQqc4bH2OqmdtGECajhnTEjzdywVE+wZvCdznELWj+EF+VACUehIMK8U5+C+D9HhU0hPNM7QGdw4NkKQBTgz75qgqUZDm/XxtLSEq6EtqIL0oG4J4woDmrHVJFqkA0d1LlCodhAFrvjeRm5LTXguwVkpaTMuCMVDdWSZ2x9pP3GiqJqEsgc0DLSiCNtccvBStyBpU0ecj+V1x6y+BsaE2X9sYlqwsxM3OMrZsiVVPMX3tS02BBGXFDFMmpR1mb1DGb80HXwfSEJhZcQkqDw8NlE+mzed2GvZQ9zlidOjolLd6g2ZqlUL2FRZAfxAhSx6MSc2q9l1E6FBAjuIV/s7dZAui/maPBQXzhT8bFbjwAUiY07krnk1LC2zl21dIhQHUQYk3XiqV+UkSSYvbPeEWCFblax2iMZB9o2vqPn0LcPjngWEgRtQwNQhB5dfTCey0kOoIzU8HuFigVsqL7FUICkvhmeKDuS+Q0MTFCC7yJo7uaBHAFupE2LxPqEhwvxNkLep4hcDSLAXFPfpQNb4gWo4EbDQSPT4tYjc+2YuVXA6cgwyPezaLvZ7zxQ+Uk00iJhIrR63YjstZOEj2E7YSxvVU=
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:(13230025)(4636009)(396003)(376002)(136003)(346002)(39860400002)(451199018)(36840700001)(40470700004)(46966006)(26005)(2906002)(4326008)(8936002)(8676002)(70206006)(6916009)(70586007)(5660300002)(7416002)(36756003)(86362001)(356005)(81166007)(36860700001)(82740400003)(103116003)(316002)(40480700001)(54906003)(6666004)(1076003)(478600001)(41300700001)(82310400005)(426003)(47076005)(336012)(83380400001)(2616005)(186003)(40460700003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:05:25.1629
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cb5c4778-6cdd-495e-c86d-08db2a155175
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:
	DS1PEPF0000B07A.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6380

Some Arm based hardware platforms which does not support LPAE
(eg Cortex-R52), uses 32 bit physical addresses.
Also, users may choose to use 32 bits to represent physical addresses
for optimization.

To support the above use cases, we have introduced arch independent
configs to choose if the physical address can be represented using
32 bits (PHYS_ADDR_T_32) or 64 bits (PHYS_ADDR_T_64).
For now only ARM_32 provides support to enable 32 bit physical
addressing.

When PHYS_ADDR_T_32 is defined, PADDR_BITS is set to 32.
When PHYS_ADDR_T_64 is defined with ARM_32, PADDR_BITS is set to 40.
When PHYS_ADDR_T_64 is defined with ARM_64, PADDR_BITS is set to 48.
The last two are same as the current configuration used today on Xen.

PADDR_BITS is also set to 48 when ARM_64 is defined. The reason being
the choice to select ARM_PA_BITS_32/ARM_PA_BITS_40/ARM_PA_BITS_48 is
currently allowed when ARM_32 is defined.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from -
v1 - 1. Extracted from "[XEN v1 8/9] xen/arm: Other adaptations required to support 32bit paddr".

v2 - 1. Introduced Kconfig choice. ARM_64 can select PHYS_ADDR_64 only whereas
ARM_32 can select PHYS_ADDR_32 or PHYS_ADDR_64.
2. For CONFIG_ARM_PA_32, paddr_t is defined as 'unsigned long'. 

v3 - 1. Allow user to define PADDR_BITS by selecting different config options
ARM_PA_BITS_32, ARM_PA_BITS_40 and ARM_PA_BITS_48.
2. Add the choice under "Architecture Features".

 xen/arch/Kconfig                     |  6 +++++
 xen/arch/arm/Kconfig                 | 40 ++++++++++++++++++++++++++--
 xen/arch/arm/include/asm/page-bits.h |  6 +----
 xen/arch/arm/include/asm/types.h     |  6 +++++
 xen/arch/arm/mm.c                    |  1 +
 5 files changed, 52 insertions(+), 7 deletions(-)

diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
index 7028f7b74f..89096c77a4 100644
--- a/xen/arch/Kconfig
+++ b/xen/arch/Kconfig
@@ -1,6 +1,12 @@
 config 64BIT
 	bool
 
+config PHYS_ADDR_T_32
+	bool
+
+config PHYS_ADDR_T_64
+	bool
+
 config NR_CPUS
 	int "Maximum number of CPUs"
 	range 1 4095
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 239d3aed3c..13e3a23911 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -9,6 +9,7 @@ config ARM_64
 	select 64BIT
 	select ARM_EFI
 	select HAS_FAST_MULTIPLY
+	select PHYS_ADDR_T_64
 
 config ARM
 	def_bool y
@@ -19,13 +20,48 @@ config ARM
 	select HAS_PMAP
 	select IOMMU_FORCE_PT_SHARE
 
+menu "Architecture Features"
+
+choice
+	prompt "Physical address space size" if ARM_32
+	default ARM_PA_BITS_48 if ARM_64
+	default ARM_PA_BITS_40 if ARM_32
+	help
+	  User can choose to represent the width of physical address. This can
+	  sometimes help in optimizing the size of image when user chooses a
+	  smaller size to represent physical address.
+
+config ARM_PA_BITS_32
+	bool "32-bit"
+	help
+	  On platforms where any physical address can be represented within 32 bits
+	  , user should choose this option. This will help is reduced size of the
+	  binary.
+	select PHYS_ADDR_T_32
+	depends on ARM_32
+
+config ARM_PA_BITS_40
+	bool "40-bit"
+	select PHYS_ADDR_T_64
+	depends on ARM_32
+
+config ARM_PA_BITS_48
+	bool "40-bit"
+	select PHYS_ADDR_T_64
+	depends on ARM_48
+endchoice
+
+config PADDR_BITS
+	int
+	default 32 if ARM_PA_BITS_32
+	default 40 if ARM_PA_BITS_40
+	default 48 if ARM_PA_BITS_48 || ARM_64
+
 config ARCH_DEFCONFIG
 	string
 	default "arch/arm/configs/arm32_defconfig" if ARM_32
 	default "arch/arm/configs/arm64_defconfig" if ARM_64
 
-menu "Architecture Features"
-
 source "arch/Kconfig"
 
 config ACPI
diff --git a/xen/arch/arm/include/asm/page-bits.h b/xen/arch/arm/include/asm/page-bits.h
index 5d6477e599..deb381ceeb 100644
--- a/xen/arch/arm/include/asm/page-bits.h
+++ b/xen/arch/arm/include/asm/page-bits.h
@@ -3,10 +3,6 @@
 
 #define PAGE_SHIFT              12
 
-#ifdef CONFIG_ARM_64
-#define PADDR_BITS              48
-#else
-#define PADDR_BITS              40
-#endif
+#define PADDR_BITS              CONFIG_PADDR_BITS
 
 #endif /* __ARM_PAGE_SHIFT_H__ */
diff --git a/xen/arch/arm/include/asm/types.h b/xen/arch/arm/include/asm/types.h
index e218ed77bd..e3cfbbb060 100644
--- a/xen/arch/arm/include/asm/types.h
+++ b/xen/arch/arm/include/asm/types.h
@@ -34,9 +34,15 @@ typedef signed long long s64;
 typedef unsigned long long u64;
 typedef u32 vaddr_t;
 #define PRIvaddr PRIx32
+#if defined(CONFIG_PHYS_ADDR_T_32)
+typedef unsigned long paddr_t;
+#define INVALID_PADDR (~0UL)
+#define PRIpaddr "08lx"
+#else
 typedef u64 paddr_t;
 #define INVALID_PADDR (~0ULL)
 #define PRIpaddr "016llx"
+#endif
 typedef u32 register_t;
 #define PRIregister "08x"
 #elif defined (CONFIG_ARM_64)
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index b99806af99..d8b43ef38c 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -690,6 +690,7 @@ void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
     const unsigned long mapping_size = frametable_size < MB(32) ? MB(2) : MB(32);
     int rc;
 
+    BUILD_BUG_ON((sizeof(paddr_t) * 8) < PADDR_BITS);
     BUILD_BUG_ON(sizeof(struct page_info) != PAGE_INFO_SIZE);
 
     if ( frametable_size > FRAMETABLE_SIZE )
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:05:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:05:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512682.792798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peccD-0007fj-LP; Tue, 21 Mar 2023 14:05:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512682.792798; Tue, 21 Mar 2023 14:05: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 1peccD-0007fc-IU; Tue, 21 Mar 2023 14:05:29 +0000
Received: by outflank-mailman (input) for mailman id 512682;
 Tue, 21 Mar 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=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1peccC-0006ai-4t
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:05:28 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6d6146bd-c7f1-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:05:25 +0100 (CET)
Received: from DS7PR03CA0073.namprd03.prod.outlook.com (2603:10b6:5:3bb::18)
 by DS0PR12MB6415.namprd12.prod.outlook.com (2603:10b6:8:cc::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:05:22 +0000
Received: from DS1PEPF0000B079.namprd05.prod.outlook.com
 (2603:10b6:5:3bb:cafe::a8) by DS7PR03CA0073.outlook.office365.com
 (2603:10b6:5:3bb::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Tue, 21 Mar 2023 14:05:22 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS1PEPF0000B079.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.6178.30 via Frontend Transport; Tue, 21 Mar 2023 14:05:22 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 09:05:21 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 07:05:20 -0700
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 21 Mar 2023 09:05:18 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d6146bd-c7f1-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TVuiIhp9xTP1TzDB7R0lPnM/Q94Sodd1w6h6itlfUL2BoeIbZGQ3Mrllbl8cdxFCsPHV6er9xvOqZnD6KAXbOGdcJoqVOVUjxCO4HZHK/4ztu/SxShz+YqSMI/Tn7l/qRxgnqCgaewjoI854kFgyKMibvmcAZPhHA6ONsoWeVk6Xvi/uDW4Nh+q1YJavBriI1yP0Lc5KPp6Zc3oh8wCBZGtlNa+9M6Dm0UaDiMKHgvnv8CyAuzSO8jgmiMCwm4H1cGRyjhQO2b6koofe+m7czNUEVv1njRdVanxXs4lmoNRFDEpbv8hEecXC/aSS9MkOXSTRBeWDi8mqaA0tdgtpww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MyaKuKEF+X/1Kr4Tl9QPLAvUvFva7QxbH99CVqus0xY=;
 b=ZlL5afim+rGFkX4/PtYQ7xqPVuvpLYXzAdbCw49UfwqnF7Zv6GTf9NMri6XL5GeBj3cWMpWFtJEAF8VxDpGiKjIHvwYdU2owC7WKUK+TEcLLu3Rh4Z3S5MR5fjOqERe2nbBB0WF2hRWwyeu37YnaPs53T8fbltiABkRoOqRiBpKmS1n9HPM6rnWAuCsCxFsVimHb5lNcIfmHBSrc9wNUH39n5iQw7DbKvOOuoQoZWiwyiWlDW6RPITsJabNIsaJ1Z/DeO+Igb+bPXfL9u5MIebffGDI8EhIMRPczFV59564mxGbhMFf8vekfzLWaERUey8iWLviwnCmwxvixe7/Wpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MyaKuKEF+X/1Kr4Tl9QPLAvUvFva7QxbH99CVqus0xY=;
 b=ReoJnGhJpRrTwTUGAOIN2plpdNSMUgqBLHz/wclSUQ7nybq9povoBYQOTWk7Y5QWOa6X0eamfVlkHrfpJZQD1S6Gr+ukc6PayDsyKf/xjLYhH3bScywAEF/fz74NE/uHEQu8WC/IbQmQFyOSH0lf6cKoBkR7cp1BhRa7wzIUVgw=
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>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, <rahul.singh@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v4 06/11] xen/arm: smmu: Use writeq_relaxed_non_atomic() for writing to SMMU_CBn_TTBR0
Date: Tue, 21 Mar 2023 14:03:52 +0000
Message-ID: <20230321140357.24094-7-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000B079:EE_|DS0PR12MB6415:EE_
X-MS-Office365-Filtering-Correlation-Id: 8f74f5e1-0f78-44d8-bd2f-08db2a154fc7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DkQet4KD9tM/vlmph+nkGnsmiH9mWPc4NxUcqsJbMNmkEd4ZT3jjs932in0GNf4f//xGdlqGYgoZmWC11y06m7EIL5agmypUJ7bn8k6GYE8oMVOj622nmH86jKZmM+B4Brod+Pu8ArS5+b9b+V4GA5eua+x1XwGB/7fNKCKHWMUYNkXkqUvdYA1cntAOsUTlIVO87E+VFZDK3a5D0y+ErAr6/g52gwwKpX0DNthaGYkeTDcYCT7d+IVY2sZPbFs0ll1CWXRL8crFMDVuDkVqTXZzCBNncChESLom+06w4zVuTe+/HEn/nT1bC8yNBZCUPgYsMhexPW8miDDMglMaeoI0YWPk5sFva4/kvtF8EmfErRysKl83d8O7TGDE8TxQtPND7++WXMsn5DMDRC+Opo091LpPaQ2CJsKVoHnmhTxAPL7MbzRbyiYCbiXOxTRwL/IHNp6UPs+QS+9ujzxo9YCLaf8woPuI2nkGu08cLMLzAd3KSxd5mdkA7kofYMK6JxfSb1XOLcuEPKeGSeaqB23HkI/3CLAaxH/QqKQZCVvwfQyg4MXNhYu9L2WJpCyAvw0JAKza7ZZdhApeN8PAIzyAiG1StWhxQsK74UWvD4ogSOr5259LQ5iWT0ACssSJFFavoZj5q8I9nUEd1UjiKNN26BU85MC15V796o8LQN7ad6Hw3E+sojFnPuv1UiMg8Gopd4Nz1gihg1ctqqgylnZ3mX14srpfJYr8nwUsbpo=
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:(13230025)(4636009)(136003)(39860400002)(376002)(346002)(396003)(451199018)(46966006)(36840700001)(40470700004)(41300700001)(7416002)(8936002)(5660300002)(4326008)(36860700001)(40480700001)(82310400005)(356005)(103116003)(86362001)(36756003)(40460700003)(81166007)(82740400003)(2906002)(6666004)(336012)(83380400001)(426003)(47076005)(478600001)(2616005)(26005)(186003)(1076003)(54906003)(316002)(70586007)(6916009)(70206006)(8676002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:05:22.3289
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f74f5e1-0f78-44d8-bd2f-08db2a154fc7
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:
	DS1PEPF0000B079.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6415

Refer ARM IHI 0062D.c ID070116 (SMMU 2.0 spec), 17-360, 17.3.9,
SMMU_CBn_TTBR0 is a 64 bit register. Thus, one can use
writeq_relaxed_non_atomic() to write to it instead of invoking
writel_relaxed() twice for lower half and upper half of the register.

This also helps us as p2maddr is 'paddr_t' (which may be u32 in future).
Thus, one can assign p2maddr to a 64 bit register and do the bit
manipulations on it, to generate the value for SMMU_CBn_TTBR0.

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from -

v1 - 1. Extracted the patch from "[XEN v1 8/9] xen/arm: Other adaptations required to support 32bit paddr".
Use writeq_relaxed_non_atomic() to write u64 register in a non-atomic
fashion.

v2 - 1. Added R-b.

v3 - 1. No changes.

 xen/drivers/passthrough/arm/smmu.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index 79281075ba..c8ef2a925f 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -499,8 +499,7 @@ enum arm_smmu_s2cr_privcfg {
 #define ARM_SMMU_CB_SCTLR		0x0
 #define ARM_SMMU_CB_RESUME		0x8
 #define ARM_SMMU_CB_TTBCR2		0x10
-#define ARM_SMMU_CB_TTBR0_LO		0x20
-#define ARM_SMMU_CB_TTBR0_HI		0x24
+#define ARM_SMMU_CB_TTBR0		0x20
 #define ARM_SMMU_CB_TTBCR		0x30
 #define ARM_SMMU_CB_S1_MAIR0		0x38
 #define ARM_SMMU_CB_FSR			0x58
@@ -1083,6 +1082,7 @@ static void arm_smmu_flush_pgtable(struct arm_smmu_device *smmu, void *addr,
 static void arm_smmu_init_context_bank(struct arm_smmu_domain *smmu_domain)
 {
 	u32 reg;
+	u64 reg64;
 	bool stage1;
 	struct arm_smmu_cfg *cfg = &smmu_domain->cfg;
 	struct arm_smmu_device *smmu = smmu_domain->smmu;
@@ -1177,12 +1177,13 @@ static void arm_smmu_init_context_bank(struct arm_smmu_domain *smmu_domain)
 	dev_notice(smmu->dev, "d%u: p2maddr 0x%"PRIpaddr"\n",
 		   smmu_domain->cfg.domain->domain_id, p2maddr);
 
-	reg = (p2maddr & ((1ULL << 32) - 1));
-	writel_relaxed(reg, cb_base + ARM_SMMU_CB_TTBR0_LO);
-	reg = (p2maddr >> 32);
+	reg64 = p2maddr;
+
 	if (stage1)
-		reg |= ARM_SMMU_CB_ASID(cfg) << TTBRn_HI_ASID_SHIFT;
-	writel_relaxed(reg, cb_base + ARM_SMMU_CB_TTBR0_HI);
+		reg64 |= (((uint64_t) (ARM_SMMU_CB_ASID(cfg) << TTBRn_HI_ASID_SHIFT))
+		         << 32);
+
+	writeq_relaxed_non_atomic(reg64, cb_base + ARM_SMMU_CB_TTBR0);
 
 	/*
 	 * TTBCR
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:05:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512680.792788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peccB-0007Lh-9H; Tue, 21 Mar 2023 14:05:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512680.792788; Tue, 21 Mar 2023 14:05: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 1peccB-0007La-5b; Tue, 21 Mar 2023 14:05:27 +0000
Received: by outflank-mailman (input) for mailman id 512680;
 Tue, 21 Mar 2023 14:05: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=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1pecc9-0006ai-Rs
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:05:26 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2060d.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6b5c9cba-c7f1-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:05:23 +0100 (CET)
Received: from DM6PR11CA0016.namprd11.prod.outlook.com (2603:10b6:5:190::29)
 by BL3PR12MB6450.namprd12.prod.outlook.com (2603:10b6:208:3b9::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6156.28; Tue, 21 Mar
 2023 14:05:19 +0000
Received: from DS1PEPF0000E651.namprd02.prod.outlook.com
 (2603:10b6:5:190:cafe::67) by DM6PR11CA0016.outlook.office365.com
 (2603:10b6:5:190::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Tue, 21 Mar 2023 14:05:18 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E651.mail.protection.outlook.com (10.167.18.7) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.30 via Frontend Transport; Tue, 21 Mar 2023 14:05:18 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 09:04:57 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 07:04:56 -0700
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 21 Mar 2023 09:04: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: 6b5c9cba-c7f1-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J2FVm2VlfD1TF+Ul4CNvNF2Xks2b8HHe6jC4SZfWmN6+4YUbRahAuUHbZ53kao12RyNga5M/vChdUMW2ZuEytByZbPUSJQdRISZy7cP9shCVzo4K9ru8N2rCoNlz6qMVy3H+Ejr3YFpTsXVMrKclE3jq9GYZ1bnrj8tSAgDpqWzzSo3cUm/aG/qt+7P+TxXsSfzjo6J1AqYWDwz++gc/cuVX3pum0Ue/023rqhYmABTjtSiaSHHMMwxmDTPIOVdXZ57MVa2pVhcElDOLXOAx0AwKW+IcMK45JTFg9V9wdkIbutdK8AciPh9nHxL4ZGOi37PKUOA1JN1rSh1uKBG9hw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P4RP/khVYxFpfabYrxxnK0TXYG+4GHlNXLJPkm8V9rs=;
 b=Hzt2eubqp1swpkIv6WnEGcAdTpxHMzXY8iswQptp1hGweFk/CMNnCBTV8p+D5CP7F9asaM2dqW8XtD4nEBgBkWb9aZgD4LI/Iw0Ucr0WuBeAsbKu+aY8xakrqQnkjmMOvN+kyKD6zGUgrSdQjdwH7coUu/FqpkAuJBKFe1i/ErDmil3BTCmRdkP6bvTsp75mQt4pF0JO4XPudesmoov2/41+Gum5dpBO8q7/MihOyKS+NUdYWJLzxgZk2yNu2a3HWcb/UsVvxYaHMvus9kBIAnD1eAYalLybqQchlfGaEKYtW8MthlpJndH+UTuBHZ2Wu8hObr3YqmBsCcBq5y7tCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=P4RP/khVYxFpfabYrxxnK0TXYG+4GHlNXLJPkm8V9rs=;
 b=er98oIPrUwDBQnj13JChgRWz5fb4TZlfwVeCYFTZj2paxon9V6QbBsXn1dEv6LfvXntzXGog4HRKjIKVMb5o9x0XwRUjUgUNhRnWdxrac3T8U3wfUWYlZ7RFcY9bLdKbyky2a+TQDwTBmHlQlhGOohNdYnB78gopoglKxvE3ZI4=
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>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, <rahul.singh@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v4 05/11] xen/arm: Introduce a wrapper for dt_device_get_address() to handle paddr_t
Date: Tue, 21 Mar 2023 14:03:51 +0000
Message-ID: <20230321140357.24094-6-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E651:EE_|BL3PR12MB6450:EE_
X-MS-Office365-Filtering-Correlation-Id: c502188b-93bd-4bc2-f470-08db2a154d93
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pucUKH0FJQTQegx7RyKochWNgwpX4eY+/RMYmKWEDxGSHmThLp1qSWp9hVnYiI4NxEkM6JS2fMAsKHcsk1sLuAP1Js8t4Bs8H6h463I5NY2pwxhwAV90BrmEApQUe7cXAKLElgBRSaN6HPJdoguCsw+/69WHI0cUaWWyK4Y4Sxh1yCarhBfoqQOPgAYb803nmK/YxTVcUMSss+Ck8jdQAgivrn+XwMdGevC9BSY752BpwOeJD8TxSYk2Hr/Mh02/NjKT645bpSt3Z6hEJusHN0MNr3s/f/amHGv8uI1kFdKbf6fVPMfCSARnxQrUwfwp9sJc0hsw5mf3+xdTkg6FB1Ha+6eR/+vFsrXc5V3Wh7brRqKMe+VRQrhZTcHu9FBTy9MiKSd/nsHzwlti4sGIAun0JB+LUTHDPSij7ggPGs73iCXaMF0Kcnj5lkgcox0ccGEHVAILloLW4WPYMmNIbtDiLue1OrHaS9nEk47ZjIfxFFS9QwE9OC+ydCjJIqwUF8/3O2okgV2ENwwmkoXwyXAAAhL2PyOGurV5ucb2BRpDAvGN4ljhibFF9rbS4P3cgSBU882odmjMl2HofF/7AapgGwq3klhGKhlIhBONuY160Dk5HXz51sRhhbXxczJBfMjC/aimC/j3vAfmkkEF2ZkzIuJ9cqCCG7bBA1z2t7mhEsrytiMnlWv1HjG5P0RlqYAkrvDRH0aK5M2p1DvYpGp3MoTzK4tW5Kjo5YxKQfo=
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:(13230025)(4636009)(376002)(136003)(346002)(396003)(39860400002)(451199018)(46966006)(36840700001)(40470700004)(478600001)(70586007)(8936002)(7416002)(30864003)(5660300002)(2906002)(316002)(70206006)(4326008)(54906003)(356005)(103116003)(81166007)(47076005)(36860700001)(426003)(1076003)(6916009)(8676002)(336012)(41300700001)(6666004)(2616005)(36756003)(82310400005)(82740400003)(40460700003)(186003)(86362001)(26005)(40480700001)(83380400001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:05:18.6497
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c502188b-93bd-4bc2-f470-08db2a154d93
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:
	DS1PEPF0000E651.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6450

dt_device_get_address() can accept uint64_t only for address and size.
However, the address/size denotes physical addresses. Thus, they should
be represented by 'paddr_t'.
Consequently, we introduce a wrapper for dt_device_get_address() ie
dt_device_get_paddr() which accepts address/size as paddr_t and inturn
invokes dt_device_get_address() after converting address/size to
uint64_t.

The reason for introducing doing this is that in future 'paddr_t' may
be defined as uint32_t. Thus, we need an explicit wrapper to do the type
conversion and return an error in case of truncation.

With this, callers now invoke dt_device_get_paddr().
dt_device_get_address() is invoked by dt_device_get_paddr() only.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from -

v1 - 1. New patch.

v2 - 1. Extracted part of "[XEN v2 05/11] xen/arm: Use paddr_t instead of u64 for address/size"
into this patch.

2. dt_device_get_address() callers now invoke dt_device_get_paddr() instead.

3. Logged error in case of truncation.

v3 - 1. Modified the truncation checks as "dt_addr != (paddr_t)dt_addr".
2. Some sanity fixes. 

 xen/arch/arm/domain_build.c                | 10 +++---
 xen/arch/arm/gic-v2.c                      | 10 +++---
 xen/arch/arm/gic-v3-its.c                  |  4 +--
 xen/arch/arm/gic-v3.c                      | 10 +++---
 xen/arch/arm/pci/pci-host-common.c         |  6 ++--
 xen/arch/arm/platforms/brcm-raspberry-pi.c |  2 +-
 xen/arch/arm/platforms/brcm.c              |  4 +--
 xen/arch/arm/platforms/exynos5.c           | 32 ++++++++---------
 xen/arch/arm/platforms/sunxi.c             |  2 +-
 xen/arch/arm/platforms/xgene-storm.c       |  2 +-
 xen/common/device_tree.c                   | 40 ++++++++++++++++++++--
 xen/drivers/char/cadence-uart.c            |  4 +--
 xen/drivers/char/exynos4210-uart.c         |  4 +--
 xen/drivers/char/imx-lpuart.c              |  4 +--
 xen/drivers/char/meson-uart.c              |  4 +--
 xen/drivers/char/mvebu-uart.c              |  4 +--
 xen/drivers/char/ns16550.c                 |  2 +-
 xen/drivers/char/omap-uart.c               |  4 +--
 xen/drivers/char/pl011.c                   |  6 ++--
 xen/drivers/char/scif-uart.c               |  4 +--
 xen/drivers/passthrough/arm/ipmmu-vmsa.c   |  8 ++---
 xen/drivers/passthrough/arm/smmu-v3.c      |  2 +-
 xen/drivers/passthrough/arm/smmu.c         |  8 ++---
 xen/include/xen/device_tree.h              |  6 ++--
 24 files changed, 109 insertions(+), 73 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 6573d15302..b4ae6a2548 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1698,13 +1698,13 @@ static int __init find_memory_holes(const struct kernel_info *kinfo,
     dt_for_each_device_node( dt_host, np )
     {
         unsigned int naddr;
-        u64 addr, size;
+        paddr_t addr, size;
 
         naddr = dt_number_of_address(np);
 
         for ( i = 0; i < naddr; i++ )
         {
-            res = dt_device_get_address(np, i, &addr, &size);
+            res = dt_device_get_paddr(np, i, &addr, &size);
             if ( res )
             {
                 printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
@@ -2478,7 +2478,7 @@ static int __init handle_device(struct domain *d, struct dt_device_node *dev,
     unsigned int naddr;
     unsigned int i;
     int res;
-    u64 addr, size;
+    paddr_t addr, size;
     bool own_device = !dt_device_for_passthrough(dev);
     /*
      * We want to avoid mapping the MMIO in dom0 for the following cases:
@@ -2533,7 +2533,7 @@ static int __init handle_device(struct domain *d, struct dt_device_node *dev,
     /* Give permission and map MMIOs */
     for ( i = 0; i < naddr; i++ )
     {
-        res = dt_device_get_address(dev, i, &addr, &size);
+        res = dt_device_get_paddr(dev, i, &addr, &size);
         if ( res )
         {
             printk(XENLOG_ERR "Unable to retrieve address %u for %s\n",
@@ -2964,7 +2964,7 @@ static int __init handle_passthrough_prop(struct kernel_info *kinfo,
         if ( res )
         {
             printk(XENLOG_ERR "Unable to permit to dom%d access to"
-                   " 0x%"PRIx64" - 0x%"PRIx64"\n",
+                   " 0x%"PRIpaddr" - 0x%"PRIpaddr"\n",
                    kinfo->d->domain_id,
                    mstart & PAGE_MASK, PAGE_ALIGN(mstart + size) - 1);
             return res;
diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
index 5d4d298b86..6476ff4230 100644
--- a/xen/arch/arm/gic-v2.c
+++ b/xen/arch/arm/gic-v2.c
@@ -993,7 +993,7 @@ static void gicv2_extension_dt_init(const struct dt_device_node *node)
             continue;
 
         /* Get register frame resource from DT. */
-        if ( dt_device_get_address(v2m, 0, &addr, &size) )
+        if ( dt_device_get_paddr(v2m, 0, &addr, &size) )
             panic("GICv2: Cannot find a valid v2m frame address\n");
 
         /*
@@ -1018,19 +1018,19 @@ static void __init gicv2_dt_init(void)
     paddr_t vsize;
     const struct dt_device_node *node = gicv2_info.node;
 
-    res = dt_device_get_address(node, 0, &dbase, NULL);
+    res = dt_device_get_paddr(node, 0, &dbase, NULL);
     if ( res )
         panic("GICv2: Cannot find a valid address for the distributor\n");
 
-    res = dt_device_get_address(node, 1, &cbase, &csize);
+    res = dt_device_get_paddr(node, 1, &cbase, &csize);
     if ( res )
         panic("GICv2: Cannot find a valid address for the CPU\n");
 
-    res = dt_device_get_address(node, 2, &hbase, NULL);
+    res = dt_device_get_paddr(node, 2, &hbase, NULL);
     if ( res )
         panic("GICv2: Cannot find a valid address for the hypervisor\n");
 
-    res = dt_device_get_address(node, 3, &vbase, &vsize);
+    res = dt_device_get_paddr(node, 3, &vbase, &vsize);
     if ( res )
         panic("GICv2: Cannot find a valid address for the virtual CPU\n");
 
diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
index 1ec9934191..3aa4edda10 100644
--- a/xen/arch/arm/gic-v3-its.c
+++ b/xen/arch/arm/gic-v3-its.c
@@ -1004,12 +1004,12 @@ static void gicv3_its_dt_init(const struct dt_device_node *node)
      */
     dt_for_each_child_node(node, its)
     {
-        uint64_t addr, size;
+        paddr_t addr, size;
 
         if ( !dt_device_is_compatible(its, "arm,gic-v3-its") )
             continue;
 
-        if ( dt_device_get_address(its, 0, &addr, &size) )
+        if ( dt_device_get_paddr(its, 0, &addr, &size) )
             panic("GICv3: Cannot find a valid ITS frame address\n");
 
         add_to_host_its_list(addr, size, its);
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index bb59ea94cd..4e6c98bada 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1377,7 +1377,7 @@ static void __init gicv3_dt_init(void)
     int res, i;
     const struct dt_device_node *node = gicv3_info.node;
 
-    res = dt_device_get_address(node, 0, &dbase, NULL);
+    res = dt_device_get_paddr(node, 0, &dbase, NULL);
     if ( res )
         panic("GICv3: Cannot find a valid distributor address\n");
 
@@ -1393,9 +1393,9 @@ static void __init gicv3_dt_init(void)
 
     for ( i = 0; i < gicv3.rdist_count; i++ )
     {
-        uint64_t rdist_base, rdist_size;
+        paddr_t rdist_base, rdist_size;
 
-        res = dt_device_get_address(node, 1 + i, &rdist_base, &rdist_size);
+        res = dt_device_get_paddr(node, 1 + i, &rdist_base, &rdist_size);
         if ( res )
             panic("GICv3: No rdist base found for region %d\n", i);
 
@@ -1417,10 +1417,10 @@ static void __init gicv3_dt_init(void)
      * For GICv3 supporting GICv2, GICC and GICV base address will be
      * provided.
      */
-    res = dt_device_get_address(node, 1 + gicv3.rdist_count,
+    res = dt_device_get_paddr(node, 1 + gicv3.rdist_count,
                                 &cbase, &csize);
     if ( !res )
-        dt_device_get_address(node, 1 + gicv3.rdist_count + 2,
+        dt_device_get_paddr(node, 1 + gicv3.rdist_count + 2,
                               &vbase, &vsize);
 }
 
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host-common.c
index a8ece94303..5550f9478d 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -93,7 +93,7 @@ gen_pci_init(struct dt_device_node *dev, const struct pci_ecam_ops *ops)
         cfg_reg_idx = 0;
 
     /* Parse our PCI ecam register address */
-    err = dt_device_get_address(dev, cfg_reg_idx, &addr, &size);
+    err = dt_device_get_paddr(dev, cfg_reg_idx, &addr, &size);
     if ( err )
         goto err_exit;
 
@@ -349,10 +349,10 @@ int __init pci_host_bridge_mappings(struct domain *d)
 
         for ( i = 0; i < dt_number_of_address(dev); i++ )
         {
-            uint64_t addr, size;
+            paddr_t addr, size;
             int err;
 
-            err = dt_device_get_address(dev, i, &addr, &size);
+            err = dt_device_get_paddr(dev, i, &addr, &size);
             if ( err )
             {
                 printk(XENLOG_ERR
diff --git a/xen/arch/arm/platforms/brcm-raspberry-pi.c b/xen/arch/arm/platforms/brcm-raspberry-pi.c
index 811b40b1a6..407ec07f63 100644
--- a/xen/arch/arm/platforms/brcm-raspberry-pi.c
+++ b/xen/arch/arm/platforms/brcm-raspberry-pi.c
@@ -64,7 +64,7 @@ static void __iomem *rpi4_map_watchdog(void)
     if ( !node )
         return NULL;
 
-    ret = dt_device_get_address(node, 0, &start, &len);
+    ret = dt_device_get_paddr(node, 0, &start, &len);
     if ( ret )
     {
         printk("Cannot read watchdog register address\n");
diff --git a/xen/arch/arm/platforms/brcm.c b/xen/arch/arm/platforms/brcm.c
index d481b2c60f..4310feee73 100644
--- a/xen/arch/arm/platforms/brcm.c
+++ b/xen/arch/arm/platforms/brcm.c
@@ -40,7 +40,7 @@ static __init int brcm_get_dt_node(char *compat_str,
                                    u32 *reg_base)
 {
     const struct dt_device_node *node;
-    u64 reg_base_64;
+    paddr_t reg_base_64;
     int rc;
 
     node = dt_find_compatible_node(NULL, NULL, compat_str);
@@ -50,7 +50,7 @@ static __init int brcm_get_dt_node(char *compat_str,
         return -ENOENT;
     }
 
-    rc = dt_device_get_address(node, 0, &reg_base_64, NULL);
+    rc = dt_device_get_paddr(node, 0, &reg_base_64, NULL);
     if ( rc )
     {
         dprintk(XENLOG_ERR, "%s: missing \"reg\" prop\n", __func__);
diff --git a/xen/arch/arm/platforms/exynos5.c b/xen/arch/arm/platforms/exynos5.c
index 6560507092..c48093cd4f 100644
--- a/xen/arch/arm/platforms/exynos5.c
+++ b/xen/arch/arm/platforms/exynos5.c
@@ -42,8 +42,8 @@ static int exynos5_init_time(void)
     void __iomem *mct;
     int rc;
     struct dt_device_node *node;
-    u64 mct_base_addr;
-    u64 size;
+    paddr_t mct_base_addr;
+    paddr_t size;
 
     node = dt_find_compatible_node(NULL, NULL, "samsung,exynos4210-mct");
     if ( !node )
@@ -52,14 +52,14 @@ static int exynos5_init_time(void)
         return -ENXIO;
     }
 
-    rc = dt_device_get_address(node, 0, &mct_base_addr, &size);
+    rc = dt_device_get_paddr(node, 0, &mct_base_addr, &size);
     if ( rc )
     {
         dprintk(XENLOG_ERR, "Error in \"samsung,exynos4210-mct\"\n");
         return -ENXIO;
     }
 
-    dprintk(XENLOG_INFO, "mct_base_addr: %016llx size: %016llx\n",
+    dprintk(XENLOG_INFO, "mct_base_addr: 0x%"PRIpaddr" size: 0x%"PRIpaddr"\n",
             mct_base_addr, size);
 
     mct = ioremap_nocache(mct_base_addr, size);
@@ -97,9 +97,9 @@ static int __init exynos5_smp_init(void)
     struct dt_device_node *node;
     void __iomem *sysram;
     char *compatible;
-    u64 sysram_addr;
-    u64 size;
-    u64 sysram_offset;
+    paddr_t sysram_addr;
+    paddr_t size;
+    paddr_t sysram_offset;
     int rc;
 
     node = dt_find_compatible_node(NULL, NULL, "samsung,secure-firmware");
@@ -125,13 +125,13 @@ static int __init exynos5_smp_init(void)
         return -ENXIO;
     }
 
-    rc = dt_device_get_address(node, 0, &sysram_addr, &size);
+    rc = dt_device_get_paddr(node, 0, &sysram_addr, &size);
     if ( rc )
     {
         dprintk(XENLOG_ERR, "Error in %s\n", compatible);
         return -ENXIO;
     }
-    dprintk(XENLOG_INFO, "sysram_addr: %016llx size: %016llx offset: %016llx\n",
+    dprintk(XENLOG_INFO,"sysram_addr: 0x%"PRIpaddr" size: 0x%"PRIpaddr"offset: 0x%"PRIpaddr"\n",
             sysram_addr, size, sysram_offset);
 
     sysram = ioremap_nocache(sysram_addr, size);
@@ -189,7 +189,7 @@ static int exynos5_cpu_power_up(void __iomem *power, int cpu)
     return 0;
 }
 
-static int exynos5_get_pmu_baseandsize(u64 *power_base_addr, u64 *size)
+static int exynos5_get_pmu_baseandsize(paddr_t *power_base_addr, paddr_t *size)
 {
     struct dt_device_node *node;
     int rc;
@@ -208,14 +208,14 @@ static int exynos5_get_pmu_baseandsize(u64 *power_base_addr, u64 *size)
         return -ENXIO;
     }
 
-    rc = dt_device_get_address(node, 0, power_base_addr, size);
+    rc = dt_device_get_paddr(node, 0, power_base_addr, size);
     if ( rc )
     {
         dprintk(XENLOG_ERR, "Error in \"samsung,exynos5XXX-pmu\"\n");
         return -ENXIO;
     }
 
-    dprintk(XENLOG_DEBUG, "power_base_addr: %016llx size: %016llx\n",
+    dprintk(XENLOG_DEBUG, "power_base_addr: 0x%"PRIpaddr" size: 0x%"PRIpaddr"\n",
             *power_base_addr, *size);
 
     return 0;
@@ -223,8 +223,8 @@ static int exynos5_get_pmu_baseandsize(u64 *power_base_addr, u64 *size)
 
 static int exynos5_cpu_up(int cpu)
 {
-    u64 power_base_addr;
-    u64 size;
+    paddr_t power_base_addr;
+    paddr_t size;
     void __iomem *power;
     int rc;
 
@@ -256,8 +256,8 @@ static int exynos5_cpu_up(int cpu)
 
 static void exynos5_reset(void)
 {
-    u64 power_base_addr;
-    u64 size;
+    paddr_t power_base_addr;
+    paddr_t size;
     void __iomem *pmu;
     int rc;
 
diff --git a/xen/arch/arm/platforms/sunxi.c b/xen/arch/arm/platforms/sunxi.c
index e8e4d88bef..2b2c215f20 100644
--- a/xen/arch/arm/platforms/sunxi.c
+++ b/xen/arch/arm/platforms/sunxi.c
@@ -50,7 +50,7 @@ static void __iomem *sunxi_map_watchdog(bool *new_wdt)
         return NULL;
     }
 
-    ret = dt_device_get_address(node, 0, &wdt_start, &wdt_len);
+    ret = dt_device_get_paddr(node, 0, &wdt_start, &wdt_len);
     if ( ret )
     {
         dprintk(XENLOG_ERR, "Cannot read watchdog register address\n");
diff --git a/xen/arch/arm/platforms/xgene-storm.c b/xen/arch/arm/platforms/xgene-storm.c
index befd0c3c2d..6fc2f9679e 100644
--- a/xen/arch/arm/platforms/xgene-storm.c
+++ b/xen/arch/arm/platforms/xgene-storm.c
@@ -50,7 +50,7 @@ static void __init xgene_check_pirq_eoi(void)
     if ( !node )
         panic("%s: Can not find interrupt controller node\n", __func__);
 
-    res = dt_device_get_address(node, 0, &dbase, NULL);
+    res = dt_device_get_paddr(node, 0, &dbase, NULL);
     if ( res )
         panic("%s: Cannot find a valid address for the distributor\n", __func__);
 
diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index 6c9712ab7b..0d2922ad85 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -934,8 +934,9 @@ bail:
 }
 
 /* dt_device_address - Translate device tree address and return it */
-int dt_device_get_address(const struct dt_device_node *dev, unsigned int index,
-                          u64 *addr, u64 *size)
+static int dt_device_get_address(const struct dt_device_node *dev,
+                                 unsigned int index,
+                                 u64 *addr, u64 *size)
 {
     const __be32 *addrp;
     unsigned int flags;
@@ -955,6 +956,41 @@ int dt_device_get_address(const struct dt_device_node *dev, unsigned int index,
     return 0;
 }
 
+int dt_device_get_paddr(const struct dt_device_node *dev, unsigned int index,
+                        paddr_t *addr, paddr_t *size)
+{
+    uint64_t dt_addr = 0, dt_size = 0;
+    int ret;
+
+    ret = dt_device_get_address(dev, index, &dt_addr, &dt_size);
+    if ( ret )
+        return ret;
+
+    if ( addr )
+    {
+        if ( dt_addr != (paddr_t)dt_addr )
+        {
+            printk("Error: Physical address 0x%"PRIx64" for node=%s is greater than max width (%zu bytes) supported\n",
+                   dt_addr, dev->name, sizeof(paddr_t));
+            return -ERANGE;
+        }
+
+        *addr = dt_addr;
+    }
+
+    if ( size )
+    {
+        if ( dt_size != (paddr_t)dt_size )
+        {
+            printk("Error: Physical size 0x%"PRIx64" for node=%s is greater than max width (%zu bytes) supported\n",
+                   dt_size, dev->name, sizeof(paddr_t));
+            return -ERANGE;
+        }
+        *size = dt_size;
+    }
+
+    return ret;
+}
 
 int dt_for_each_range(const struct dt_device_node *dev,
                       int (*cb)(const struct dt_device_node *,
diff --git a/xen/drivers/char/cadence-uart.c b/xen/drivers/char/cadence-uart.c
index 22905ba66c..c38d7ed143 100644
--- a/xen/drivers/char/cadence-uart.c
+++ b/xen/drivers/char/cadence-uart.c
@@ -158,14 +158,14 @@ static int __init cuart_init(struct dt_device_node *dev, const void *data)
     const char *config = data;
     struct cuart *uart;
     int res;
-    u64 addr, size;
+    paddr_t addr, size;
 
     if ( strcmp(config, "") )
         printk("WARNING: UART configuration is not supported\n");
 
     uart = &cuart_com;
 
-    res = dt_device_get_address(dev, 0, &addr, &size);
+    res = dt_device_get_paddr(dev, 0, &addr, &size);
     if ( res )
     {
         printk("cadence: Unable to retrieve the base"
diff --git a/xen/drivers/char/exynos4210-uart.c b/xen/drivers/char/exynos4210-uart.c
index 43aaf02e18..2503392ccd 100644
--- a/xen/drivers/char/exynos4210-uart.c
+++ b/xen/drivers/char/exynos4210-uart.c
@@ -303,7 +303,7 @@ static int __init exynos4210_uart_init(struct dt_device_node *dev,
     const char *config = data;
     struct exynos4210_uart *uart;
     int res;
-    u64 addr, size;
+    paddr_t addr, size;
 
     if ( strcmp(config, "") )
         printk("WARNING: UART configuration is not supported\n");
@@ -316,7 +316,7 @@ static int __init exynos4210_uart_init(struct dt_device_node *dev,
     uart->parity    = PARITY_NONE;
     uart->stop_bits = 1;
 
-    res = dt_device_get_address(dev, 0, &addr, &size);
+    res = dt_device_get_paddr(dev, 0, &addr, &size);
     if ( res )
     {
         printk("exynos4210: Unable to retrieve the base"
diff --git a/xen/drivers/char/imx-lpuart.c b/xen/drivers/char/imx-lpuart.c
index 9c1f3b71a3..77f70c2719 100644
--- a/xen/drivers/char/imx-lpuart.c
+++ b/xen/drivers/char/imx-lpuart.c
@@ -204,7 +204,7 @@ static int __init imx_lpuart_init(struct dt_device_node *dev,
     const char *config = data;
     struct imx_lpuart *uart;
     int res;
-    u64 addr, size;
+    paddr_t addr, size;
 
     if ( strcmp(config, "") )
         printk("WARNING: UART configuration is not supported\n");
@@ -216,7 +216,7 @@ static int __init imx_lpuart_init(struct dt_device_node *dev,
     uart->parity = 0;
     uart->stop_bits = 1;
 
-    res = dt_device_get_address(dev, 0, &addr, &size);
+    res = dt_device_get_paddr(dev, 0, &addr, &size);
     if ( res )
     {
         printk("imx8-lpuart: Unable to retrieve the base"
diff --git a/xen/drivers/char/meson-uart.c b/xen/drivers/char/meson-uart.c
index b1e25e0468..c627328122 100644
--- a/xen/drivers/char/meson-uart.c
+++ b/xen/drivers/char/meson-uart.c
@@ -209,14 +209,14 @@ static int __init meson_uart_init(struct dt_device_node *dev, const void *data)
     const char *config = data;
     struct meson_uart *uart;
     int res;
-    u64 addr, size;
+    paddr_t addr, size;
 
     if ( strcmp(config, "") )
         printk("WARNING: UART configuration is not supported\n");
 
     uart = &meson_com;
 
-    res = dt_device_get_address(dev, 0, &addr, &size);
+    res = dt_device_get_paddr(dev, 0, &addr, &size);
     if ( res )
     {
         printk("meson: Unable to retrieve the base address of the UART\n");
diff --git a/xen/drivers/char/mvebu-uart.c b/xen/drivers/char/mvebu-uart.c
index a00618b96f..cc55173513 100644
--- a/xen/drivers/char/mvebu-uart.c
+++ b/xen/drivers/char/mvebu-uart.c
@@ -231,14 +231,14 @@ static int __init mvebu_uart_init(struct dt_device_node *dev, const void *data)
     const char *config = data;
     struct mvebu3700_uart *uart;
     int res;
-    u64 addr, size;
+    paddr_t addr, size;
 
     if ( strcmp(config, "") )
         printk("WARNING: UART configuration is not supported\n");
 
     uart = &mvebu3700_com;
 
-    res = dt_device_get_address(dev, 0, &addr, &size);
+    res = dt_device_get_paddr(dev, 0, &addr, &size);
     if ( res )
     {
         printk("mvebu3700: Unable to retrieve the base address of the UART\n");
diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 2e8a9cfb24..732c1e5c71 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -1772,7 +1772,7 @@ static int __init ns16550_uart_dt_init(struct dt_device_node *dev,
     uart->parity    = UART_PARITY_NONE;
     uart->stop_bits = 1;
 
-    res = dt_device_get_address(dev, 0, &uart->io_base, &uart->io_size);
+    res = dt_device_get_paddr(dev, 0, &uart->io_base, &uart->io_size);
     if ( res )
         return res;
 
diff --git a/xen/drivers/char/omap-uart.c b/xen/drivers/char/omap-uart.c
index d6a5d59aa2..8e643cb039 100644
--- a/xen/drivers/char/omap-uart.c
+++ b/xen/drivers/char/omap-uart.c
@@ -324,7 +324,7 @@ static int __init omap_uart_init(struct dt_device_node *dev,
     struct omap_uart *uart;
     u32 clkspec;
     int res;
-    u64 addr, size;
+    paddr_t addr, size;
 
     if ( strcmp(config, "") )
         printk("WARNING: UART configuration is not supported\n");
@@ -344,7 +344,7 @@ static int __init omap_uart_init(struct dt_device_node *dev,
     uart->parity = UART_PARITY_NONE;
     uart->stop_bits = 1;
 
-    res = dt_device_get_address(dev, 0, &addr, &size);
+    res = dt_device_get_paddr(dev, 0, &addr, &size);
     if ( res )
     {
         printk("omap-uart: Unable to retrieve the base"
diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index be67242bc0..052a651251 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -222,7 +222,7 @@ static struct uart_driver __read_mostly pl011_driver = {
     .vuart_info   = pl011_vuart,
 };
 
-static int __init pl011_uart_init(int irq, u64 addr, u64 size, bool sbsa)
+static int __init pl011_uart_init(int irq, paddr_t addr, paddr_t size, bool sbsa)
 {
     struct pl011 *uart;
 
@@ -258,14 +258,14 @@ static int __init pl011_dt_uart_init(struct dt_device_node *dev,
 {
     const char *config = data;
     int res;
-    u64 addr, size;
+    paddr_t addr, size;
 
     if ( strcmp(config, "") )
     {
         printk("WARNING: UART configuration is not supported\n");
     }
 
-    res = dt_device_get_address(dev, 0, &addr, &size);
+    res = dt_device_get_paddr(dev, 0, &addr, &size);
     if ( res )
     {
         printk("pl011: Unable to retrieve the base"
diff --git a/xen/drivers/char/scif-uart.c b/xen/drivers/char/scif-uart.c
index 2fccafe340..1b28ba90e9 100644
--- a/xen/drivers/char/scif-uart.c
+++ b/xen/drivers/char/scif-uart.c
@@ -311,14 +311,14 @@ static int __init scif_uart_init(struct dt_device_node *dev,
     const char *config = data;
     struct scif_uart *uart;
     int res;
-    u64 addr, size;
+    paddr_t addr, size;
 
     if ( strcmp(config, "") )
         printk("WARNING: UART configuration is not supported\n");
 
     uart = &scif_com;
 
-    res = dt_device_get_address(dev, 0, &addr, &size);
+    res = dt_device_get_paddr(dev, 0, &addr, &size);
     if ( res )
     {
         printk("scif-uart: Unable to retrieve the base"
diff --git a/xen/drivers/passthrough/arm/ipmmu-vmsa.c b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
index 091f09b217..611d9eeba5 100644
--- a/xen/drivers/passthrough/arm/ipmmu-vmsa.c
+++ b/xen/drivers/passthrough/arm/ipmmu-vmsa.c
@@ -794,7 +794,7 @@ static void ipmmu_device_reset(struct ipmmu_vmsa_device *mmu)
 static __init bool ipmmu_stage2_supported(void)
 {
     struct dt_device_node *np;
-    uint64_t addr, size;
+    paddr_t addr, size;
     void __iomem *base;
     uint32_t product, cut;
     bool stage2_supported = false;
@@ -806,7 +806,7 @@ static __init bool ipmmu_stage2_supported(void)
         return false;
     }
 
-    if ( dt_device_get_address(np, 0, &addr, &size) )
+    if ( dt_device_get_paddr(np, 0, &addr, &size) )
     {
         printk(XENLOG_ERR "ipmmu: Failed to get PRR MMIO\n");
         return false;
@@ -884,7 +884,7 @@ static int ipmmu_probe(struct dt_device_node *node)
 {
     const struct dt_device_match *match;
     struct ipmmu_vmsa_device *mmu;
-    uint64_t addr, size;
+    paddr_t addr, size;
     uint32_t reg;
     int irq, ret;
 
@@ -905,7 +905,7 @@ static int ipmmu_probe(struct dt_device_node *node)
     bitmap_zero(mmu->ctx, IPMMU_CTX_MAX);
 
     /* Map I/O memory and request IRQ. */
-    ret = dt_device_get_address(node, 0, &addr, &size);
+    ret = dt_device_get_paddr(node, 0, &addr, &size);
     if ( ret )
     {
         dev_err(&node->dev, "Failed to get MMIO\n");
diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index bfdb62b395..b7fa2e90f7 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -2428,7 +2428,7 @@ static int arm_smmu_device_probe(struct platform_device *pdev)
 	}
 
 	/* Base address */
-	ret = dt_device_get_address(np, 0, &ioaddr, &iosize);
+	ret = dt_device_get_paddr(np, 0, &ioaddr, &iosize);
 	if (ret)
 		goto out_free_smmu;
 
diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index 0a514821b3..79281075ba 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -73,8 +73,8 @@
 /* Xen: Helpers to get device MMIO and IRQs */
 struct resource
 {
-	u64 addr;
-	u64 size;
+	paddr_t addr;
+	paddr_t size;
 	unsigned int type;
 };
 
@@ -101,7 +101,7 @@ static struct resource *platform_get_resource(struct platform_device *pdev,
 
 	switch (type) {
 	case IORESOURCE_MEM:
-		ret = dt_device_get_address(pdev, num, &res.addr, &res.size);
+		ret = dt_device_get_paddr(pdev, num, &res.addr, &res.size);
 
 		return ((ret) ? NULL : &res);
 
@@ -169,7 +169,7 @@ static void __iomem *devm_ioremap_resource(struct device *dev,
 	ptr = ioremap_nocache(res->addr, res->size);
 	if (!ptr) {
 		dev_err(dev,
-			"ioremap failed (addr 0x%"PRIx64" size 0x%"PRIx64")\n",
+			"ioremap failed (addr 0x%"PRIpaddr" size 0x%"PRIpaddr")\n",
 			res->addr, res->size);
 		return ERR_PTR(-ENOMEM);
 	}
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index bbc7d7377a..d72dc7c788 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -580,7 +580,7 @@ int dt_find_node_by_gpath(XEN_GUEST_HANDLE(char) u_path, uint32_t u_plen,
 const struct dt_device_node *dt_get_parent(const struct dt_device_node *node);
 
 /**
- * dt_device_get_address - Resolve an address for a device
+ * dt_device_get_paddr - Resolve an address for a device
  * @device: the device whose address is to be resolved
  * @index: index of the address to resolve
  * @addr: address filled by this function
@@ -589,8 +589,8 @@ const struct dt_device_node *dt_get_parent(const struct dt_device_node *node);
  * This function resolves an address, walking the tree, for a give
  * device-tree node. It returns 0 on success.
  */
-int dt_device_get_address(const struct dt_device_node *dev, unsigned int index,
-                          u64 *addr, u64 *size);
+int dt_device_get_paddr(const struct dt_device_node *dev, unsigned int index,
+                        paddr_t *addr, paddr_t *size);
 
 /**
  * dt_number_of_irq - Get the number of IRQ for a device
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:05:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:05:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512684.792818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peccH-0008GM-8N; Tue, 21 Mar 2023 14:05:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512684.792818; Tue, 21 Mar 2023 14:05:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peccH-0008GC-57; Tue, 21 Mar 2023 14:05:33 +0000
Received: by outflank-mailman (input) for mailman id 512684;
 Tue, 21 Mar 2023 14:05: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=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1peccF-0005Xe-M7
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:05:31 +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 704d1fda-c7f1-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 15:05:31 +0100 (CET)
Received: from DS7PR03CA0041.namprd03.prod.outlook.com (2603:10b6:5:3b5::16)
 by DM6PR12MB4418.namprd12.prod.outlook.com (2603:10b6:5:28e::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:05:28 +0000
Received: from DS1PEPF0000E654.namprd02.prod.outlook.com
 (2603:10b6:5:3b5:cafe::3) by DS7PR03CA0041.outlook.office365.com
 (2603:10b6:5:3b5::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Tue, 21 Mar 2023 14:05:28 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E654.mail.protection.outlook.com (10.167.18.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.30 via Frontend Transport; Tue, 21 Mar 2023 14:05:28 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 09:05:27 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 07:05:27 -0700
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 21 Mar 2023 09:05:25 -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: 704d1fda-c7f1-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eKQkFU6qLgeXsZSkzbsYKSUCw+eAg2PjpPUJwphMFl2Fd4cN2E7ZbdPCGhegR9Rmas1laObM0UB6mRdIhwutaelI704zce2gYVcfr1Q8O41Oq1uXIQRI4xvj0En+SIyyLoPOKLhLBAbuRo/u4FJipeLwHMBbt5w/JkjjARmTGH9JdBC6y1/lp4JYOEYMWhukK2ae2wEL3s+NFmGgZM45z8i3WDJ4UkmMQB0p/jeNNQDTykphkQZWuTHNMq+dnTr4z3YbIpPDXPVJBTEwDCofBkh2MNcJwuTXD+lM+kupjjNo8GlLn/6zbMQqVxPpHZgxsotyK05D1y3RHHT4rutVww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Xotrsbhl/FLSUoI3qOBJKeSy4Rd9/LSb5Psg/+0wEqU=;
 b=bUzfJM1zV+yvkVC0kxWJLCcsItL4rvcTP+U5ZswMGS08JAbCGvfUgR0AB5NPTS6cXOxJbhtbezO7B76cte3v7VV6Amj3VwU7LCKrWDxGEYW38UFSbDaq+5oEFS3vOyK/hSmFR2pHC9f59rEqcWxK0fwlvVFoZgvnMIkK47JpwXWEpB9IPvxU0evVpa1uS7bDPHDoRyXef72INohWEtgWAm3DeYYk5Pwn0Fz32agFv2H6qEov/U++GS8wD7NkK0T8Gddixs8x2u4sL84MKryItcqlqeySiGQP5PN5hr55RVk0EjwvYtiLsj/LegVEr/8IZWIp+afdU+BefNwXRQcr8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Xotrsbhl/FLSUoI3qOBJKeSy4Rd9/LSb5Psg/+0wEqU=;
 b=UJegmBtONBMdn8jgImCM1TXmpzonBv6AAiueDvVkVWynJOKOXw0P557KDY2Gu/CBLaakrj7OtirbhexPNVMjsVosamGBdP1IrUC8AIiEchHwWFLfnRse/V54qQPrpnzIuTGt/ajBBNPvbrbj4K2Ccq7xYudA1Mi0FUpFr9SXn6U=
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>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, <rahul.singh@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v4 08/11] xen/arm: guest_walk: LPAE specific bits should be enclosed within "ifndef CONFIG_PHYS_ADDR_T_32"
Date: Tue, 21 Mar 2023 14:03:54 +0000
Message-ID: <20230321140357.24094-9-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E654:EE_|DM6PR12MB4418:EE_
X-MS-Office365-Filtering-Correlation-Id: c6eedad3-5752-4a2e-a25d-08db2a15535c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CkiNa0e6jA+iwUsJ8pNb0VrmRzsXrTGXY0VVNugihxXXm+jVQW8GgoLHOktiJZiEGlVVRXckKStjw5X0rLvxlEtrBvceAiPVjY1Pu43FxgoUHpirdf6Rdbi8E3vjdv7nB43OXQ6QFP9jZa66qWF/TQ1qMsr0YKQLDpWG2xZoO4uHWwo//B4UZFkmxaCQ80cSXLwCcWBPbJ/iavbMTUfRdn2GofDh6pB3DjzHJd1d+fduJIza6eGHI94IP8Q7lbyiqlw2JN4C6utW9nSRtv/ejgQ4KbLH4I4YLfJMvHJuJ7UO81wCMScq392DcR2qmU4gqpQj71EEwMETYWsAFW22I+cwqW/9RYofOKDDQrMP6S084N5L1u4Uf29J4JdKyVHJ9noijBoGCXcehljV89seYiKEqnxGb6H6iOOsCPi6tTENOJW07Dm95yQMyastqQbplEepjgsC8v7T6464xr2DYTFZLuC1+xmoC+vd2cXZJXTj2UBoJUqsEqSrBZkxhFADK81I9PtrVVKgOdOreJ/fxzWE+sB3GMYj7qlbGSABaUCilff+heNtYhoeT9ZSAfXAawr553UIZ0CeFpZgfnMrjmGpwMr4Ru26A2YbD/Du032F4tXwTwellBCGojPdDE7z4Y8oQUDJFsk0dZwUc9rLn6s4rPKue6qcr36SE5FTWVnVBAB3QMUBQDCJ5SmdHkg4ynxy5OQ7emweg/jvvmi84HUK/XWx9PqUFe0qDcTrqaE=
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:(13230025)(4636009)(136003)(376002)(39860400002)(396003)(346002)(451199018)(40470700004)(36840700001)(46966006)(8936002)(5660300002)(7416002)(36860700001)(41300700001)(356005)(40480700001)(36756003)(82310400005)(103116003)(86362001)(82740400003)(40460700003)(81166007)(2906002)(4326008)(47076005)(426003)(186003)(336012)(83380400001)(6666004)(478600001)(2616005)(1076003)(54906003)(26005)(316002)(8676002)(70586007)(6916009)(70206006)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:05:28.3380
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c6eedad3-5752-4a2e-a25d-08db2a15535c
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:
	DS1PEPF0000E654.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4418

As the previous patch introduces CONFIG_PHYS_ADDR_T_32 to support 32 bit
physical addresses, the code specific to "Large Physical Address Extension"
(ie LPAE) should be enclosed within "ifndef CONFIG_PHYS_ADDR_T_32".

Refer xen/arch/arm/include/asm/short-desc.h, "short_desc_l1_supersec_t"
unsigned int extbase1:4;    /* Extended base address, PA[35:32] */
unsigned int extbase2:4;    /* Extended base address, PA[39:36] */

Thus, extbase1 and extbase2 are not valid when 32 bit physical addresses
are supported.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes from -
v1 - 1. Extracted from "[XEN v1 8/9] xen/arm: Other adaptations required to support 32bit paddr".

v2 - 1. Reordered this patch so that it appears after CONFIG_ARM_PA_32 is
introduced (in 6/9).

v3 - 1. Updated the commit message.
2. Added Ack.

 xen/arch/arm/guest_walk.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/arm/guest_walk.c b/xen/arch/arm/guest_walk.c
index 43d3215304..c80a0ce55b 100644
--- a/xen/arch/arm/guest_walk.c
+++ b/xen/arch/arm/guest_walk.c
@@ -154,8 +154,10 @@ static bool guest_walk_sd(const struct vcpu *v,
             mask = (1ULL << L1DESC_SUPERSECTION_SHIFT) - 1;
             *ipa = gva & mask;
             *ipa |= (paddr_t)(pte.supersec.base) << L1DESC_SUPERSECTION_SHIFT;
+#ifndef CONFIG_PHYS_ADDR_T_32
             *ipa |= (paddr_t)(pte.supersec.extbase1) << L1DESC_SUPERSECTION_EXT_BASE1_SHIFT;
             *ipa |= (paddr_t)(pte.supersec.extbase2) << L1DESC_SUPERSECTION_EXT_BASE2_SHIFT;
+#endif /* CONFIG_PHYS_ADDR_T_32 */
         }
 
         /* Set permissions so that the caller can check the flags by herself. */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:05:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:05:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512686.792828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peccT-0000Yf-Mw; Tue, 21 Mar 2023 14:05:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512686.792828; Tue, 21 Mar 2023 14:05:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peccT-0000YU-Ji; Tue, 21 Mar 2023 14:05:45 +0000
Received: by outflank-mailman (input) for mailman id 512686;
 Tue, 21 Mar 2023 14:05: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=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1peccS-0006ai-7i
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:05:44 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7eab::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76b3d2ff-c7f1-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:05:42 +0100 (CET)
Received: from BN9PR03CA0749.namprd03.prod.outlook.com (2603:10b6:408:110::34)
 by DS7PR12MB6144.namprd12.prod.outlook.com (2603:10b6:8:98::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.37; Tue, 21 Mar 2023 14:05:38 +0000
Received: from BN8NAM11FT076.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:110:cafe::19) by BN9PR03CA0749.outlook.office365.com
 (2603:10b6:408:110::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Tue, 21 Mar 2023 14:05:38 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT076.mail.protection.outlook.com (10.13.176.174) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6222.16 via Frontend Transport; Tue, 21 Mar 2023 14:05:38 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 09:05:37 -0500
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 21 Mar 2023 09:05:36 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76b3d2ff-c7f1-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hpIGEp87UMZy/0S4wlZ8kVStTNu4ahW5pBJGxhCvLwpf5wXdLlmW0nVsBhEPnO2lNrgf1hsaRhnKqT6Pkz1CeA/Mjrg2TKB7WZM2EbJYxN7Dui8e94zb5uuMiI6LbgGsOFed4hIg4b8mbQDp1R5p6BvsolYVart4+js0K8hsERiETn7YOTZ+h01Bxt3bwojvnRpjNBcZNxHrLveM7i0/RYAZbA6fNoe156jWMvtv7ZoclqTXc7/cYtedQzyxzDZLjQ18le4fZuA9GIE7JeXzGNigNZdgkB4n9oHRn6iFMVyS/v8WA1Dvm/edaEh6SNEUzijvqwvGmwGwt4PeVGIidQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8Gza/rKHn3LPp6u594sFCTvWeeH53eu8mXZJgsCI0aY=;
 b=f+kuTK6bQoWNtPga0XbKr9uhobwRbA5PyVdbXUSgPx3s1sWYOVO9d390s3UXa7yp2nBnbu042FC4w7iw//yck02pN3bp/7m1f4uGP/dw8Uy4o6VvL9SChT4gw65nj5lq/JkWf58GL6M508le8L6M/E/B1BuqcUur10SDw76hkNKzVpCLOTImJtIgi4mJn9nY9LSmMFO6enVcw+ikFPPiTKRb/tFse/9e9lYoZCbkA5sYVSiWDfNsIuebleGOCIYvNSPwJjoVbt8+jwMVAnAkiaYx2QcYmM6jgXTl7YJ/q2l0Kq2mgUB5kSVoe5kul8YF+Td1PM5PRHbC/OhYJ1Rgaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8Gza/rKHn3LPp6u594sFCTvWeeH53eu8mXZJgsCI0aY=;
 b=m6qzY3J2d7Nwz1sotbeQS6pRgHSavsjMALGb9iA9wrWD/TjUEkKAgbbjxxxeC9a19lMbTFN/h4nFGOnTo5w0w6Ov5enxJMtUQKLd0SmXYob3NMuanz/55SDvVAV5L1AA0E7i8CQuVPv3qgTVAOROq+iCrresDbBlkkYILU/BSg0=
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>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, <rahul.singh@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v4 11/11] xen/arm: p2m: Enable support for 32bit IPA for ARM_32
Date: Tue, 21 Mar 2023 14:03:57 +0000
Message-ID: <20230321140357.24094-12-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT076:EE_|DS7PR12MB6144:EE_
X-MS-Office365-Filtering-Correlation-Id: 6928ca25-aba4-4dda-565d-08db2a155954
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/L9Mp41VgxEyTa6nySoFqhOa1yKn+2tXdcaVHLhkW+3YO6U7UuEBCmMZ9G57SSEOZS8ikGMdGauCHLMgX1ePdJXtA875x+xK1O/dDdqrTDsafYeOX0T8CpgIUSA3aeGwsaTm/S2j9ipJegi76117pDD40fFUMone2woRcGHZQu0alJ0sG24FtzRiv/we1bnDaMTXvsLg+yo6POtCuUiKV7ZYCULIDXIoTU3WqNKce1u5KDjdHOeaRyJVwfQEBqM8kzPaAABZGrNSGnAwHZvkinZjKIBqF62SFkjQ1cHUeDDQbntNhU4lTS7VBNTU+9g19yWl4jZd8Q/Hze67250T7KDxVjOj7QSMcerv+RnFVSwuFpBAQCmAHmAF7mWG12LmUpUtWRvVJ3UJCeLlWKsQjYHO2MPVv3ZcDRMyVx9tyhVbk779cPD0AT50RbEQfciSeuWw4/6f1xt4JvHYK55xqRVYCpaJCMrYFBRSSPX68xdMDOycgavFubIzs9StJVKyB27j4aiiO+d8khpG884EHhD1b7v1kj8Bp4SIfOc3aGJsdTRvOOFZeGMQ0IrO1+3hj8yt/ojk7eKaRmvDwB31iq33K7WnGjD4i6Fn7sJy1900aN2GR5ERSiSn4oW+loVXDzA/0ivGsVaXmhoK5IOwXRvQCF9ggmMXWpcvYsbf4teSK85FmCeCXaL2bwr1GGYD2gwJDMvCQ8kGvdwWcsRyCIGZcElcStxPil5zqyq7E9I=
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:(13230025)(4636009)(346002)(39860400002)(136003)(396003)(376002)(451199018)(36840700001)(46966006)(40470700004)(47076005)(103116003)(356005)(1076003)(82310400005)(336012)(26005)(7416002)(6666004)(478600001)(316002)(54906003)(2616005)(426003)(186003)(83380400001)(86362001)(5660300002)(8676002)(4326008)(6916009)(70586007)(70206006)(40480700001)(41300700001)(36860700001)(8936002)(40460700003)(4744005)(36756003)(82740400003)(81166007)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:05:38.4123
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6928ca25-aba4-4dda-565d-08db2a155954
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:
	BN8NAM11FT076.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6144

The pabits, t0sz, root_order and sl0 values are the same as those for
ARM_64.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---

Changes from -

v1 - New patch.

v2 - 1. Added Ack.

v3 - 1. Dropped Ack. 
2. Rebased the patch based on the previous change.

 xen/arch/arm/p2m.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index f34b6e6f11..20beecc6e8 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -2272,8 +2272,9 @@ void __init setup_virt_paging(void)
         unsigned int sl0;    /* Desired SL0, maximum in comment */
     } pa_range_info[] __initconst = {
 #ifdef CONFIG_ARM_32
-        [0] = { 40,      24/*24*/,  1,          1 },
-        [1] = { 0 } /* Invalid */
+        [0] = { 32,      32/*32*/,  0,          1 },
+        [1] = { 40,      24/*24*/,  1,          1 },
+        [2] = { 0 } /* Invalid */
 #else
         /* T0SZ minimum and SL0 maximum from ARM DDI 0487H.a Table D5-6 */
         /*      PA size, t0sz(min), root-order, sl0(max) */
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:12:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:12:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512701.792838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecj2-0003GM-EM; Tue, 21 Mar 2023 14:12:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512701.792838; Tue, 21 Mar 2023 14: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 1pecj2-0003GF-Bk; Tue, 21 Mar 2023 14:12:32 +0000
Received: by outflank-mailman (input) for mailman id 512701;
 Tue, 21 Mar 2023 14: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=oKE/=7N=citrix.com=prvs=437062dd9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pecj1-0003G9-H7
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:12: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 66d999d7-c7f2-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:12:27 +0100 (CET)
Received: from mail-bn8nam12lp2168.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 10:12:17 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB6764.namprd03.prod.outlook.com (2603:10b6:a03:40b::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:12:14 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 14:12: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: 66d999d7-c7f2-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679407947;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=8Iu05Fgb8n7Yzh60Dmw8spipcps9kXT/KUq5SpIs5tg=;
  b=Bd7prwJQ8FvRcMSdVh6yoz/2OMQ26Qxwca52OIrB8G4pEBGyjdIiZeo7
   7FrZeX/LE0Nyqx90XElxAl9+BmQKXAeouuZGxTiVvgsP1i4tBtOv0ymne
   BSwsu2IQXO8s2cR+xpK1t3W+z2qaAhKfYo9Lj7Hy154l+w7m9iqReru4a
   4=;
X-IronPort-RemoteIP: 104.47.55.168
X-IronPort-MID: 101079609
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:7mwt/6PxB4DCZ+fvrR2RlsFynXyQoLVcMsEvi/4bfWQNrUon1jwHz
 WYaWm6DbqrYYjemKt0nbt+3oE5SuZGDndQyTAto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5AVmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0r4sPztu1
 Pg9FBVXQjubl/qY2J+QYMA506zPLOGzVG8ekldJ6GiDSNwAEdXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PdxujaDpOBy+OGF3N79YNuFSN8Thk+Fj
 mnH4374ElcRM9n3JT+tqyr13rCew3uqMG4UPLGU8NM62VSa+mwwCzQuCET8jMKrrGfrDrqzL
 GRRoELCt5Ma9kamU938VB2Qu2Ofs1gXXN84O/037kSBx7TZ5y6dB3MYVXhRZdo+rsg0SDc2k
 FiTkLvBHTVytJWFRHTb8a2bxRutPQAFIGlEYjULJTbp+PHmqYA3yxjJHtBqFffvisWvQG+gh
 TeXsCI5mrMfy9YR0Lm29kzGhDTqoYXVSgky5UPcWWfNAh5FWbNJrreAsTDzhcus5q7DJrVdl
 BDoQ/Sj0d0=
IronPort-HdrOrdr: A9a23:j/TUHqx56qmyJiYbJo2mKrPwKL1zdoMgy1knxilNoEpuA6ilfq
 GV/MjzuiWetN98YhsdcLO7WZVoI0myyXcv2/h1AV7KZmCPhILPFuxfBODZrQEIdReTygbzv5
 0QFJSXpLfLfDtHZWeR2njbL+od
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="101079609"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lrAvjMBqxx5jAZ/6Xhxvx1fhJjaIopv1HM4Gz1q2D07kys9ci0wW/78bxubCZzTmuQLVBT4IufU/KN0sImPG3hNOc5jkMKzOEe9MAqu8ZHw6yyKSkNMwULLMAos80WhqOmUXIVlW92dBzmlpWKYRHZvyFpmKU1PmhPwZvHdkjvui4EEEQH/xXdy/eDX9hKhQu8mb0Oc4tvyhPjoyu6ivLfPpe5JXHrhf8jdG+oLEGtZUugGRFWnkqGWVs6ZQ4sHOCQ8ZgySsTMYGQSCfgnNsewSgF8tRw9Ow0WQKg2EbQ4i4YoZzeNkh8fGTsnG/QwMRljxLX74SRWL0YEljHWs/gg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HCnVkib/T414/cDllS1/34kDxVQyBuWOgh7LngwejbU=;
 b=MyH+2vriW2092tPoXVGOr58uXzDyRSHVvT/mGNRUUDl0Jbz+nlk516fjPfmN664VyzTsDD5klbzeZbijSGQiKa9voYYW95CCiG5gXPjO6tNfc78K/46HQykFYnMJfCWLIPsClmg/EtgpAGRCzsXm8xrdPmnHD34L1eHWfWe1UkAsCCJ6cwM3xtIjcjYljGDe+yNn2G5dDfHhKbBsfV9v1rAcJzK9fz4dpJExqd61yflvteQhMoosd1mwWcfiNvM9mo+YOHY+ps8DdCTk6N/06VqSoURmkq0LbkOq1aSpTMnV7BQywsIbM+XkZGwbj2b8/YhMOw8ekgNdGyIz1LZDHg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HCnVkib/T414/cDllS1/34kDxVQyBuWOgh7LngwejbU=;
 b=sIZgPhIwtI/uWZUMDorStOfBc5WlcsHvfEyYunZcnSJnNCJujQ90G9EPHdFJ16SyjoOqPeStQ5MVxXP8VcrgEWpjlAfC+xokVpbJ+5FC5RSX7gnfBDUe5sLDLN3JSGBWAW/e6WDoDO54Jh0uutEg55g+rLa6cGEO7yovK6Fa6ts=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Mar 2023 15:12: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>,
	Paul Durrant <paul@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v4] x86: detect CMOS aliasing on ports other than
 0x70/0x71
Message-ID: <ZBm7N7oEDPlPmZ87@Air-de-Roger>
References: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
 <367d0223-d481-b7a3-3b79-a9bc6f00531e@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <367d0223-d481-b7a3-3b79-a9bc6f00531e@suse.com>
X-ClientProxiedBy: LO0P123CA0001.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:354::10) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB6764:EE_
X-MS-Office365-Filtering-Correlation-Id: 5818b3ca-ca55-47b5-da2a-08db2a1644cf
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3h/gaAO6j/TClrl+L80l0QV9s2t5ae7ZnXrZ7vZbFVV8czSMpDL4pPHN7IYczljONUstXHMKzlmrZHYpJhL/nbUZmVQQxl7ik47DvJE5hlmfnZvv4TA0/WK7zkLm42wBTBgk7CHQxNeqPTFGRAqY/f5sm40xAMI6255s0TZ454KKbJLCCkjXBYfRTYEcyBk2k/GhtumcPlo/q/ALS3v0814ecn6uGduwq/92r/nVlg7yetSNDd8r1UA8TJl5Srs8fmjMOmjr7XVEaXQmwQNDt16gfnhS7UfW0op+qpwjtX/qCprAfikUrTpGY6hz/31N5xXlLOF9QP+Jr6ECztS7NETzU5KTrdIFpHvQ2v3BN1y6RK7YAlYBAD6GPgB7fAGD0Cmy+7sqQZqkSNMBzBmBQPueF1voLdbDic0Lu1OSlFcxS3MAo/ANn/xZRh2z82zKuU2jIxuwPokztOURn9VpZKBR+oorn5e400RmrBYKjVeCwPKmXOKS4pXsn2+i8Up3R4z11XsMjYeDVScBsPURZ8xbKVgVYRdPWfJy9x1+nnBIPSehHlhQQnSMvJGxP5GD+kULnS88+PtisEPXS6aFxZdY0Onicp581/4UV6oKMBBrlgvuuKgRO7X6FJra31rs9OTpX5eYWcFtq2UXXs7a5A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(376002)(346002)(366004)(39860400002)(396003)(136003)(451199018)(4744005)(8936002)(41300700001)(5660300002)(4326008)(86362001)(33716001)(85182001)(82960400001)(38100700002)(2906002)(26005)(83380400001)(6512007)(6506007)(478600001)(6666004)(186003)(9686003)(6486002)(66476007)(66556008)(66946007)(6916009)(8676002)(54906003)(316002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OU01VUJOQ1BVMUhSMTVxd0l6S3pJRldpYlZ1bCtWOXY1Q0xvQnpYSkJveWhp?=
 =?utf-8?B?Y2FON2J3eHh5RFQ2L1lWOEV3V1hYaVdmbnRyVlFEM09ZblcxMlNFY3hhdEdK?=
 =?utf-8?B?b1pYUXNaQ2JHcGV5YS84Smk4dVhaQVJ5L3M5aGdLcFlxdFc4OGlRbHVnbnN5?=
 =?utf-8?B?ZjQ2ZjErNEp3RUtxaVJIL3NMR3dIQ3hMTEZsQ3h6TElGaXV6eGdCdHZVNDVt?=
 =?utf-8?B?dlc4Ymk5K0RZOXhPTG1QZ1A3S05McHNiUDVTdHJ1MHg1SytMVHBKak9XMTlx?=
 =?utf-8?B?OHFFYzJlSVlRR3RNZFJUTnIzL2d0N2IvUjV0QkVmMlRaU1FwNzcxVjE5M3BM?=
 =?utf-8?B?aENSQjhoK2Y5ZjErSWV5YkhiTFdhdWJyMVpkK0NDSUFuejBRTkp0YVU2ck1r?=
 =?utf-8?B?SVF2emFNZVI2cVhYaUVjVXA1MnV2VW5ia2luNUZpTFIvaDVCTTZaWTdSQnhH?=
 =?utf-8?B?cE84aktEOTVkUGhvZm9ldm55WFRjSEg1MzZWRjRXMjlYbStVL0FaK3JDTC9S?=
 =?utf-8?B?TE1lRCtuWUJYQWJLSWVQNFpkckJiOHU5SXEwYkRQeGF5WWpSSFZIRTY3Nndy?=
 =?utf-8?B?NE90Nm9xVkZ6MVl2SXJkaXVQejZjbEwwUndzbWF6MEtyZmt2QjViNk82UkNM?=
 =?utf-8?B?RHJjU3NBc29hUFVjWjBtd0lkY3gvbjNlaE1DeG1ZdlhaM0hiaEtoQ1Vnc3JG?=
 =?utf-8?B?eGNKQytMdDhZTzhRRUhtSmR1dzRUNS9SLy9OMFFLc0x0bGErVlYzL2dHOWp4?=
 =?utf-8?B?clZwZ3lqK3RiUkRyY0hEdEZ0bEkyZ0tTaW5CMEdCemFzV0JkeHFWMnkzcVBZ?=
 =?utf-8?B?ZTBNaHlHNWltUFpQMFZIdFRqOUpBWEpKZ2NoNFZnWVNWbE1MV2JzTk15ZkY0?=
 =?utf-8?B?WGJKb3NXMVBrZmZCbUhDaXV4ZXl2blNoZ01UWStSc3NQWnRhcFdtMVZhKzhk?=
 =?utf-8?B?TDdQVS9JU3R4SGR1WXNoelNOSXI0Mk1sM3RMSjR6NmF2TnBGQjVTelQxZG1O?=
 =?utf-8?B?dm5icldpWVBvWU9KNkpZamQ1UlR5TEJBSDZvS0dOaytqSkpYTktsUDB4ek12?=
 =?utf-8?B?dHdCdzRWSy9BZEo0WW9ZWFArcHpDeC9GZzhXKzM1aWE4Z2pJdk9uY1djalhY?=
 =?utf-8?B?eU1QQkZNRjVPeFY5QWd4K2Zkc01kTXQzNm0rMmhVZElINHFqc2JiRWJ6Zytt?=
 =?utf-8?B?elJlZlZXakRwVWdMMVNJTnI4NnI0cG13dVRua2ZBZXVNQzJJSFFObHFoT1dR?=
 =?utf-8?B?cjlPVllTNXFiUnIwS0lzS3FWTEUwUWhmWnNFdzYvS3gwS29UeUsvKy9lZHBJ?=
 =?utf-8?B?RE5rSDdYZ01kdEs3aVhBa2JFUW8rK2cxSWkwdDJGeFZOd0VyejdzbW1aelNO?=
 =?utf-8?B?bXUyUk82Kzg2K1JjTlRKNDN4eGpNZ0RpNnozOUxkelBCUnhFSmNyMlQrTnBy?=
 =?utf-8?B?MElSZzNpRGlOczRTUjJjR1VsVHVBUzA1bmxxV1dva0loNkZsV3ZZYmJaWFdz?=
 =?utf-8?B?VHgzZnJjVjZHM3N4UzUyOVN2YUZIdHNMUUt2MDFsYjhNUXdJSU5sUmlUSTRt?=
 =?utf-8?B?KzVJYmZhOStjaXFZUFJSejJRa2JVSEg0bmtYbEJJOWJodGJUQlBmVGcyand4?=
 =?utf-8?B?UVBzRmFGWmJ1ajJ2M0FpMVk5WFFCMzlCMEpDcndEeXBCdzJBVmZlMWRrMU5X?=
 =?utf-8?B?cHMrQVVxT3Q5NC9kNWRsSWFCODZLYzdIZEVjYXd3L3V6d0VmM1kxZCtwS2Jq?=
 =?utf-8?B?QXVDRTdyOXcyVUN5emZHQVNDMzVxVWludlJzRlloQ2xDSTdpVVRVZW1WNk1x?=
 =?utf-8?B?WisvY3lkOUtFNlZaVUNWbm9rNnhteFdrWkpnMGtiMlU0UmNpRGRMa0paNkhB?=
 =?utf-8?B?bVh4bWR0WkVOMXJLZmV6VWdvT1ZyOUR4MS9BVUJ1WEtabS9wK2FPeHAwTTRW?=
 =?utf-8?B?TlBLcEFYSStDL2ZRVnlTTk4wOGJJVlF2T1hTZHRDRXdZYUE0MWFMSkY1ckVZ?=
 =?utf-8?B?RzJvanA3cXR0NGw1TkZaZVEyUDlHS0xBdXFCb2ZCT3BCSWZHcDR5aFpMZXF5?=
 =?utf-8?B?UHJCNVo3M3VuZ2k0dUhHdFJnd0d0aW9mOTJ2MDZ6Zm0vOEdrQUVDZlIzM2ZV?=
 =?utf-8?B?bnVUUEZzQlBva25vbGJ0aUU4R2NpYWtkTnZoa3NMNGo1VGhzSnlWcVdnWndW?=
 =?utf-8?B?TGc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	jU6jNHQTJ73tfByNq6EpN8/naj0tZqPlZcO9KGIyz6+xgiLuPJMevOR1Px0gf6zZGUByn/FACLwvdpwEVo/34G9U8y1Y+oKwAN0Q8UQ3fUB2Yg4VDkWbzw4hkB3WWl/zEOa6gBtx/kefiJCJvwkxp0jODsav5eXMA/Yn3MK7wDOFZ3u0D975U1Axj6y0/9WTUAHejUaj2wDwHLFGFEkfUq3X9wYwP7zcfODfXSnFhEQpSFwv5m+WruJTVfWuoRSAo93mna623zNm6b64Ynzc5xrFUfYedgXjyuED5uaH1cBGMTZSJKwjkeKRobzd4DQ7jACJjVHsKTecoVmJvUuGrlfIKe0V4WMIVjmhpxGYRKoPfazxlqEmemEB0ZavgPZ7h3SMIovB+mNmVmZ/wQcSQhvFeUh/hG9n/6knO25MtX0WMkcgR/gDANR/QH5+UMyI+81BMfHzIuICVgPBlk59FLqS4CuWI1isdZ/rDZpj8C3l+hmYyohwQJcU4gWxZyvVx+GJcmGWLKnx16gzkNTs4tdTDFgZ2iLY7jFCDSOliQyVbPPr2dSQGyRWa3tWb0w7tFaCxhsWmDbuJqcc7YCOr5gul+X+XW+sdmzXYAykl9EjKjut0U/WEVcR1bShXQfFzG/EZ1qfQ+AbKK8wx96UpRArgtzCXaIW8oAoXmCyQKy3YupEWtmcg45uGvnDCtE5+0kygPEGXvcL8Yor+MOKCBsgEaWfwi1MW/c2DkmHyEvBRjV0YNQwPiwNFp8FUmGCbMrDZukTuOl20iy9/I+vrp435W1JHs3hKlS5TPrN3k7hfOmxSEDnGhAfT1YMnH2L
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5818b3ca-ca55-47b5-da2a-08db2a1644cf
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:12:13.8769
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hlmZnyvZuZzh3ixN2qE4tys0z3OGfWxOupTuCQi2nj7Lx1yVI5hEujYzL2BCczyNdAxLlySMAYu1W+r6Ix2Jhw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6764

On Mon, Mar 20, 2023 at 09:32:26AM +0100, Jan Beulich wrote:
> ... in order to also intercept Dom0 accesses through the alias ports.

I'm trying to get some documentation about this aliasing, but so far I
haven't been able to find any.  Do you have any references of where I
might be able to find it?

> Also stop intercepting accesses to the CMOS ports if we won't ourselves
> use the CMOS RTC.

Could this create any concerns with the ability to disable NMIs if we
no longer filter accesses to the RTC?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:14:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:14:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512708.792848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peckV-0003wT-Pi; Tue, 21 Mar 2023 14:14:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512708.792848; Tue, 21 Mar 2023 14:14: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 1peckV-0003wH-Mq; Tue, 21 Mar 2023 14:14:03 +0000
Received: by outflank-mailman (input) for mailman id 512708;
 Tue, 21 Mar 2023 14:14: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=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1peccK-0005Xe-IM
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:05:36 +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 7274bfca-c7f1-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 15:05:35 +0100 (CET)
Received: from DM5PR07CA0055.namprd07.prod.outlook.com (2603:10b6:4:ad::20) by
 PH8PR12MB7027.namprd12.prod.outlook.com (2603:10b6:510:1be::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:05:32 +0000
Received: from DS1PEPF0000E653.namprd02.prod.outlook.com
 (2603:10b6:4:ad:cafe::e1) by DM5PR07CA0055.outlook.office365.com
 (2603:10b6:4:ad::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Tue, 21 Mar 2023 14:05:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0000E653.mail.protection.outlook.com (10.167.18.9) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.30 via Frontend Transport; Tue, 21 Mar 2023 14:05:31 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 09:05:31 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 07:05:31 -0700
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 21 Mar 2023 09:05:29 -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: 7274bfca-c7f1-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TLlNUz0q2HF7VaYmKOyaW48YpWAkzONTwJbMTAZnusmo1h/q7iYJotbJs6GVdAUPGprfpgUtc0Y4vfDmiyoQWYcaZba2X17WJM13uXOCl0E6Ojrr9D5Gi+VopEfMvVjcEPKLIvAkKdYw2HtSnbbq3wR+b3Pc+tXauiCQq7bbYqAZsiQCgQY2VWj/r67ahqKlkqs4Mr7UPSBMrniALKIWHi1Vr3U/EoMsn0ywvOoX7goBLaGUgD/9LPIcEFvOmYrKq4JQxYuQH0X1/KxLLImPs92lpCHirtJsXu4TMj/3ydQnOFZmfKOB1sEOTU4YQwP+g3jxtq0HaeLowhcv5OlmXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iKVGGJrESWsLzoLGHnzYf6BFviRvh/CY/WThQ1yLYG8=;
 b=iBCFAqrxDr2vzZ28n356106xsJQiYS2byQNbYzkm0wgcCFGsargYmb4R5pSstphROvfxuMFY4dUKRqQNl4276ajLqFA/KnOQ4tHD8eD5q5tbyl+9OXSnPzbKw8Hczcj8CqRCm2CR82FuM7WItmG34bqvHveGdGVa4cjYssm/TPn4lwJc8JDwX3T5J8bsJojDq6c2krLm4ykoKiduJucsWpmAiK+gTqTjBZMMNBE13y4dNIFlVlWCHrTi7R3vlMxr/6zzAJ5i3gMEO4CSDzdIgX5hrQ+w8BhuYR0WnBu4CDR0wWxfUSL6ISvrszvWNgeFE8jW2amDlJpcaUEfqENMJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iKVGGJrESWsLzoLGHnzYf6BFviRvh/CY/WThQ1yLYG8=;
 b=j2FtKS7BjLjLwRpWnzBUMVTQDXNP9vJGYCUv0p6JrsakkaQ/2EP6SFu+rYw7kMMoXBmC6fgKdLiVEuawbd4hPdfwBrTyOAJ+5+6eS/pxFoBsKtKXhjVKUap63JVavFi5pP2srBo0FNGNw4AhigCcj/Ly8A3dVmMXH7hn7R8CCkA=
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>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, <rahul.singh@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v4 09/11] xen/arm: Restrict zeroeth_table_offset for ARM_64
Date: Tue, 21 Mar 2023 14:03:55 +0000
Message-ID: <20230321140357.24094-10-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0000E653:EE_|PH8PR12MB7027:EE_
X-MS-Office365-Filtering-Correlation-Id: 1a272155-57fc-44ff-ffbe-08db2a155570
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RVpWBf5UMAPc3JtIylwptdldEDvP6JP5Fh4aDED56U4ShaWcROHsucl2ScnMgjMFSPC/7I1IEkTxF3BrbZWHJqNIuPPiW7niqCWyR6d4qdakBWFqe/98bu5dXNzy9AGunDvN8QUaUeG6Jv/YdMUNGSe6wsPtwa+fOkMWheU6APBYtXVLJZ4xA8uX4srzFz/dCBa5H/mi+LM3oTaaFkGdZOty6xZdrdLW08pwXAxlMMH8r2lLfcbsGv2GXhRU64d425VIYgpQOOf5FUebo410u4/jOz4Lk75os424jsU0qCvvKZfVT5o0u0V72asHtz2Pt37UAq8VX5JkuyBVpKwn7Ah3ehcoECFuns094EWpxlbqmu/29s1/+CVNR/8n2I+uyZPdt9vtTwoc8sdKNOzvMLtGDLpUcBWxBqerkZOUtw4vcA70mDXcueBpaX+yq1YODA5Ue5oh3hRLPzInoh+Arw8I8Fxsw5uvLjTXgSv5ojh4NeQdLlFMyQWevOx7yHjOIN1xxtqz8iA9KVg1JVvxu61MHDQmtgK5A8lUWIG7fO/7dkiqrlEO7+hzGPC2ZB6RgdKZrvWL4Dn9KNSN7U+BehixwJTamA39Vp+PSwy9kMXbhM/u9/ohLiXT9DKKzmZfOhHArMpOQWNZIyj+A+OEi5EzKAVc02VM0y0t5LX2OWXt98HRUsnopbQHovU6ywhLfMyZAyHZbZbU8XXoKiprvX+UzAUNicmYX6Ni/C0HrAGbVCPnI6wCTnFkBNwS2rNVGlF7uQA0GXIchJO/LpN5weHDwHNN4DtX/4V5d3/dq6E=
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:(13230025)(4636009)(396003)(346002)(39860400002)(136003)(376002)(451199018)(46966006)(40470700004)(36840700001)(82310400005)(2616005)(426003)(47076005)(83380400001)(86362001)(336012)(81166007)(82740400003)(36860700001)(40460700003)(356005)(36756003)(8936002)(6916009)(4326008)(8676002)(2906002)(70206006)(70586007)(41300700001)(40480700001)(478600001)(26005)(5660300002)(186003)(103116003)(54906003)(1076003)(7416002)(6666004)(316002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:05:31.8268
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1a272155-57fc-44ff-ffbe-08db2a155570
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:
	DS1PEPF0000E653.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7027

When 32 bit physical addresses are used (ie ARM_PA_32=y),
"va >> ZEROETH_SHIFT" causes an overflow.
Also, there is no zeroeth level page table on Arm 32-bit.

Also took the opportunity to clean up dump_pt_walk(). One could use
DECLARE_OFFSETS() macro instead of declaring the declaring an array
of page table offsets.

Acked-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from -

v1 - Removed the duplicate declaration for DECLARE_OFFSETS.

v2 - 1. Reworded the commit message. 
2. Use CONFIG_ARM_PA_32 to restrict zeroeth_table_offset.

v3 - 1. Added R-b and Ack.

 xen/arch/arm/include/asm/lpae.h | 4 ++++
 xen/arch/arm/mm.c               | 7 +------
 2 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/xen/arch/arm/include/asm/lpae.h b/xen/arch/arm/include/asm/lpae.h
index 3fdd5d0de2..0d40388f93 100644
--- a/xen/arch/arm/include/asm/lpae.h
+++ b/xen/arch/arm/include/asm/lpae.h
@@ -259,7 +259,11 @@ lpae_t mfn_to_xen_entry(mfn_t mfn, unsigned int attr);
 #define first_table_offset(va)  TABLE_OFFSET(first_linear_offset(va))
 #define second_table_offset(va) TABLE_OFFSET(second_linear_offset(va))
 #define third_table_offset(va)  TABLE_OFFSET(third_linear_offset(va))
+#ifdef CONFIG_ARM_PA_BITS_32
+#define zeroeth_table_offset(va)  0
+#else
 #define zeroeth_table_offset(va)  TABLE_OFFSET(zeroeth_linear_offset(va))
+#endif
 
 /*
  * Macros to define page-tables:
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index d8b43ef38c..41e0896b0f 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -221,12 +221,7 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
 {
     static const char *level_strs[4] = { "0TH", "1ST", "2ND", "3RD" };
     const mfn_t root_mfn = maddr_to_mfn(ttbr);
-    const unsigned int offsets[4] = {
-        zeroeth_table_offset(addr),
-        first_table_offset(addr),
-        second_table_offset(addr),
-        third_table_offset(addr)
-    };
+    DECLARE_OFFSETS(offsets, addr);
     lpae_t pte, *mapping;
     unsigned int level, root_table;
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:14:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:14:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512709.792858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecka-0004Eu-6Z; Tue, 21 Mar 2023 14:14:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512709.792858; Tue, 21 Mar 2023 14: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 1pecka-0004En-33; Tue, 21 Mar 2023 14:14:08 +0000
Received: by outflank-mailman (input) for mailman id 512709;
 Tue, 21 Mar 2023 14: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=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1peccY-0005Xe-1P
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:05:50 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20630.outbound.protection.outlook.com
 [2a01:111:f400:fe59::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7ad39153-c7f1-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 15:05:49 +0100 (CET)
Received: from BN9PR03CA0538.namprd03.prod.outlook.com (2603:10b6:408:131::33)
 by IA1PR12MB6330.namprd12.prod.outlook.com (2603:10b6:208:3e4::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:05:46 +0000
Received: from BN8NAM11FT013.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:131:cafe::19) by BN9PR03CA0538.outlook.office365.com
 (2603:10b6:408:131::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Tue, 21 Mar 2023 14:05:46 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT013.mail.protection.outlook.com (10.13.176.182) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6222.16 via Frontend Transport; Tue, 21 Mar 2023 14:05: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.2375.34; Tue, 21 Mar
 2023 09:05:34 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB05.amd.com
 (10.181.40.146) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 09:05:34 -0500
Received: from xcbayankuma41x.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34
 via Frontend Transport; Tue, 21 Mar 2023 09:05:32 -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: 7ad39153-c7f1-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=frXxxiAUk2BWq6Bj1p8JCFrPG4NhhXZoO0V5Ar+6KZupDBZJoHy6l2WoUnRDR9QmjwmueUGvtlfP1FUC+gyXuOTHNB5OLo5eaoWwyRKrQqGTpG26EBCuw8gVnU0vvXxFNAZeTjU9o6MNWau+zXxRCjwirGw92oHmadYpjsE5kwdQIoZWc6yWVImr084T4HTTgc9WzY3w2vljIMAPVMNxLrIeTTGCfo190MIjSrSpaKB9+iSpGcQinS03D/Yyb8Nj1YLPnX7FDmdsJPVxT7l5romUdqaW0ASLWWRCFHTZYXyie5QjQK8+qiHWWYhzLrYL51felky5mvrSF8M5N7/e9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bcfEw0YmhpLuK5yfYdcOma+HR1pKGZ8HcIt8DLoLQyI=;
 b=PJ1lfEkhNJP0+C4rK58bp1ggPHUE/1GNsRYXRPapJfS9hDAYy3lBDaA42QxxLqSYcOzyVv3Qkw8Wpr3QD3pvmB0oYiHQrXaP2Cqw24kYMBwVUxASg7LsSfXOTJT6+BGd2/JDXgTg4t336PWRmJOujVIlutM/UVzBGwJfosQCCrHlAeuzn/jKQMPl96GLRywAqC9wTVKuvj5phOvx8tyWFwct6Xw43vh/b9ZqSup5KHktSV6Wpcq/N53ENLFDAghf/If3hi24nE9hDg2qiGVual30/691hJxgCwdlBepO1Oi6OFitJIjk7lK1XKi6k4groKYC/Ym+Aw8hCabX+BP6RQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bcfEw0YmhpLuK5yfYdcOma+HR1pKGZ8HcIt8DLoLQyI=;
 b=qnS6WYbUuTw4AXb16ZtPssyvHsbcivqPAGQtQ8n68PFNRWMxy6AXZK7jYM16DinY6IaCTsNUQt5704a/YAA+7XZdcQirnfg5lW/Kun9ZCWP9pRzM/yAaay6c/U/5IU1PgoGsBcLXGW+Pf0QbNXAmnIJVG9mnCTkAziitc6Ez65c=
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>,
	<andrew.cooper3@citrix.com>, <george.dunlap@citrix.com>, <jbeulich@suse.com>,
	<wl@xen.org>, <rahul.singh@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>
Subject: [XEN v4 10/11] xen/arm: p2m: Use the pa_range_info table to support Arm_32 and Arm_64
Date: Tue, 21 Mar 2023 14:03:56 +0000
Message-ID: <20230321140357.24094-11-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT013:EE_|IA1PR12MB6330:EE_
X-MS-Office365-Filtering-Correlation-Id: 79928000-796f-4c80-5b07-08db2a155dac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ik9um8+jW5gbh+FSQaoI1hhsId6tDt21Xczjpc8Pb/FUJnlu+G1MWcsQlDu0a0X01icqHURgD9d7kiP4DQnPgJWFQTJcnp01r5gs/G57RLR/HYR8ei0w6XL6bCkiy4HNcn99FSagv7XME37y5G+WYyZqVnHLSF1zpgIGdbmWmWjyIG38giY6Ork5Ue5DZye1hAgb+CccmBwnIo4Z4yZE9WU/2yoFW+spGxCgkZpUuevxrruret/5s/VMWtldrtC1XfDPPFeFmo9Aa/MYwVkzx+qHX6jAUxhG2VQnQ8uie1sUKfMze2ub8sG8sSXpKfZSXot2QzTwTDo9nr+9YFY/T/bZnao5iO/Gsp+iVKKxspCoXBM9GPz0fsidML8W4lYkP8FluonFMy1zXcUT6bxkP1ax1+zRVrk5f99VZ2/pdypLYs4FRK9REyc4WreFctu0xQpvnDXD7vJLQCyIcX4AZK5IyNgcmSISLjOghWEqU6C0w7lFN8Ha41N1lvl/pLiEyajQyGWNqIUhWvNvxzZVPxdWzRRAiQfCIbB/O+VoFf/QWpyw5F5d50A8OHOMGu5CQF1zW7jZdNiPhHytB5rKeWJDVZujC218zOPTpSiG5o+GIbZAq2GLKZEKKWr9Xs/FWb85cyGRH6kh4bjunBT2suSt9EhZefcM/PFwLZwGatmtjPKyX3bEneWLEftSTRxBLcQmNy6VNpH06t0igMoeJJqkzv91Fh+C1hlYPwcQGdk=
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:(13230025)(4636009)(396003)(346002)(39860400002)(136003)(376002)(451199018)(46966006)(36840700001)(40470700004)(426003)(2616005)(316002)(47076005)(478600001)(83380400001)(82310400005)(54906003)(186003)(336012)(1076003)(26005)(6666004)(103116003)(36860700001)(7416002)(70206006)(356005)(8936002)(81166007)(86362001)(40460700003)(2906002)(5660300002)(6916009)(82740400003)(4326008)(70586007)(36756003)(40480700001)(41300700001)(8676002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:05:45.7001
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 79928000-796f-4c80-5b07-08db2a155dac
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:
	BN8NAM11FT013.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6330

Restructure the code so that one can use pa_range_info[] table for both
ARM_32 as well as ARM_64.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from -

v3 - 1. New patch introduced in v4.
2. Restructure the code such that pa_range_info[] is used both by ARM_32 as
well as ARM_64.

 xen/arch/arm/p2m.c | 28 +++++++++++++++-------------
 1 file changed, 15 insertions(+), 13 deletions(-)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 948f199d84..f34b6e6f11 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -2265,22 +2265,16 @@ 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;
 
-#ifdef CONFIG_ARM_32
-    if ( p2m_ipa_bits < 40 )
-        panic("P2M: Not able to support %u-bit IPA at the moment\n",
-              p2m_ipa_bits);
-
-    printk("P2M: 40-bit IPA\n");
-    p2m_ipa_bits = 40;
-    val |= VTCR_T0SZ(0x18); /* 40 bit IPA */
-    val |= VTCR_SL0(0x1); /* P2M starts at first level */
-#else /* CONFIG_ARM_64 */
     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 = {
+#ifdef CONFIG_ARM_32
+        [0] = { 40,      24/*24*/,  1,          1 },
+        [1] = { 0 } /* Invalid */
+#else
         /* T0SZ minimum and SL0 maximum from ARM DDI 0487H.a Table D5-6 */
         /*      PA size, t0sz(min), root-order, sl0(max) */
         [0] = { 32,      32/*32*/,  0,          1 },
@@ -2291,11 +2285,13 @@ void __init setup_virt_paging(void)
         [5] = { 48,      16/*16*/,  0,          2 },
         [6] = { 52,      12/*12*/,  4,          2 },
         [7] = { 0 }  /* Invalid */
+#endif
     };
 
     unsigned int i;
     unsigned int pa_range = 0x10; /* Larger than any possible value */
 
+#ifdef CONFIG_ARM_64
     /*
      * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
      * with IPA bits == PA bits, compare against "pabits".
@@ -2309,6 +2305,9 @@ void __init setup_virt_paging(void)
      */
     if ( system_cpuinfo.mm64.vmid_bits == MM64_VMID_16_BITS_SUPPORT )
         max_vmid = MAX_VMID_16_BIT;
+#else
+    p2m_ipa_bits = PADDR_BITS;
+#endif
 
     /* Choose suitable "pa_range" according to the resulted "p2m_ipa_bits". */
     for ( i = 0; i < ARRAY_SIZE(pa_range_info); i++ )
@@ -2324,14 +2323,13 @@ void __init setup_virt_paging(void)
     if ( pa_range >= ARRAY_SIZE(pa_range_info) || !pa_range_info[pa_range].pabits )
         panic("Unknown encoding of ID_AA64MMFR0_EL1.PARange %x\n", pa_range);
 
-    val |= VTCR_PS(pa_range);
+#ifdef CONFIG_ARM_64
     val |= VTCR_TG0_4K;
+    val |= VTCR_PS(pa_range);
 
     /* Set the VS bit only if 16 bit VMID is supported. */
     if ( MAX_VMID == MAX_VMID_16_BIT )
         val |= VTCR_VS;
-    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;
@@ -2342,6 +2340,10 @@ void __init setup_virt_paging(void)
            pa_range_info[pa_range].pabits,
            ( MAX_VMID == MAX_VMID_16_BIT ) ? 16 : 8);
 #endif
+
+    val |= VTCR_SL0(pa_range_info[pa_range].sl0);
+    val |= VTCR_T0SZ(pa_range_info[pa_range].t0sz);
+
     printk("P2M: %d levels with order-%d root, VTCR 0x%"PRIregister"\n",
            4 - P2M_ROOT_LEVEL, P2M_ROOT_ORDER, val);
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:16:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:16:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512717.792868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecmk-0005BD-JD; Tue, 21 Mar 2023 14:16:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512717.792868; Tue, 21 Mar 2023 14:16: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 1pecmk-0005B6-GH; Tue, 21 Mar 2023 14:16:22 +0000
Received: by outflank-mailman (input) for mailman id 512717;
 Tue, 21 Mar 2023 14:16: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pecmi-00059u-Oz
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:16:20 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20604.outbound.protection.outlook.com
 [2a01:111:f400:fe16::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f355e2a4-c7f2-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 15:16:20 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8533.eurprd04.prod.outlook.com (2603:10a6:10:2d4::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:16:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 14:16:15 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f355e2a4-c7f2-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HsVjAKwQMzcgcYLfxlKdUQIS0glcaLVoMxCAVGUyqoZxRrw79BkDYhT8H2eZNoYtOVwxXKCgpPxXq+3vPMLS0/H83XnM7r4sKVkh0Qp83MOONJYo8HYGHUFX6DtM2gwPk4VQ3mupEwYkNPqUJH7h7lINo8p/KgNYUrKZB8t7A9TxcVmXHZ22vkwom11h8OE90ypVP83FdVczQOsVr2d8mqx740YTKtEVukGoSVcxolIXGSHEqIbNRo0pa8lAdCZOrfQhba3cazDoIDtpgzRKpcQ3fUvpNju68UOif8AsNmp1VQzygD0fgI+hKijpuiT1cIJiK/GsHyZ7k1s2LKVMkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vmLdBnh+eDAXV3tNCr8h2itPWwIGIlAM+hXFVkNH9Dk=;
 b=AakKS+fR8PLJcvlgs0OYTNOpMFWdt1lM67Lk9bdmMAqOqpFQ/VXUC9VGHpXEekvvTsbcQW7TlRYlqSRnsMIfrGn/Ij7qhLcOXoJ3E8mm/Jm9jEd1U1OxIqUpnvCMLus11klv25rVG0mHVHpyfSxcQN9G51p6bptd/O0VmQxJCYyJmQvWemeJeEcJmOtSBQQpVaUAGxRPO+XDNm1Hlz33QkDcvg24EVg82mtu24GKkZ6aWRRpkNLWR/5CIesIFL+UuUuY+YeHcU1JdbiCjTrRPjjH86q4NBDUVfC8yQVGvzvQ7YT4svidJOE9Tqusg3XHm421Kpwtn4m3S3IQmM9+0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vmLdBnh+eDAXV3tNCr8h2itPWwIGIlAM+hXFVkNH9Dk=;
 b=IEM/Ge0VhojXV1cRFqr/X7oipRwaKmZnt8eBYHFe/cGRYoe6/aBDvIbh6IUdhrL3eq92keZeMuFXhil64dhoJQ1Q2+kLHT790kwjZFl2K/8kTIdwLHRCig7U7Z9Qe+TTPVj+fzNWyYEknGBgBcv6xF7WoBjdcy0zpF5LJ68OuDqxt9dGsZ5KZvdgfzodMimbCirJ4HetyM6llAgHaXE8RXs5n3T/YZldNvHxxwRpS+/xzLhnFbgA02QFmiBD4g2bfWZF6TRLiTlkyvvphupwQvd9Ajm1Zr2zmQrentyYO0RI2HH6Cqm3FL6IwYlECr23MT883hGrrkDjBTahxZluWQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <197973ce-2361-f3e4-fd38-40b4ad802acf@suse.com>
Date: Tue, 21 Mar 2023 15:16:13 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN v4 04/11] xen/drivers: ns16550: Use paddr_t for
 io_base/io_size
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com, julien@xen.org,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 rahul.singh@arm.com, xen-devel@lists.xenproject.org
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-5-ayan.kumar.halder@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230321140357.24094-5-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0029.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::22) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8533:EE_
X-MS-Office365-Filtering-Correlation-Id: e4006f75-d454-4eec-1abd-08db2a16d511
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	U5kAmIK3k5a7EiLay5JFfVSWN2FWslcJHmYlBV0x+Wa0XW+RNHPb4nVCi5dXW5S+eK0j+pD3UBrsyBcvaeKrxx6EYwQV5DTibkZllfMGJZsKZ1ipET8UQ0FTfLb1UKF/14MKGThFCEg0S7MiOtiY7JiGRPPwjtwzyB2wS7kYpr0ff3nI0n23lH6Q90EMJFwiX/FbOJGurjsP9rZohXR8lLJZaWjCYDO20dBHRD2l6so4+/mcWXOVz8DF0LYCMTGA8A67kOImCVT2PpjpCcGBadZnsgDqD1CQ0AHHd37DMOZngblFLMRx9kzo3YqlwKJxDUzxXicz9KemHO2kYWp+G52WvJcc2Uvpz96BBrZB8TLU1Q2pK+Ch/cayxH7CkbDIFZX+tbBGoqNPRZ1ChUargY4jUIU7id/vooR8aIIAZ0qE2srkbP4/q5mt6eC1Ywxp3aAbdrNDWuIjZGEhsg3cSSjtBX30qpuC5skceWhZ6jwku/MOUQZL4ONYFxPfI1C2JNKSk/ChxU4T/pNzi//dgu9eiQkHpAyn+Cv5lFu8eES160+suDBCfRFzZYe6Ok2nH5nQJyvol7vHkS3VbHLAX78SQGlT+eg7SS36BXF1uyPg7BT89Zr4lSB7fbZ5+QEw3vs/iyZ58uFDI/c/Ufmoka5knrHoyrXvUpqxH/7MTPeGJW01xXzvvXvH8IN+O8NDDN/a8cJdk4/pCK59P7pqN7D/g3pFKn4FEMjs/KmWJqg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(376002)(366004)(396003)(39860400002)(136003)(451199018)(2616005)(83380400001)(38100700002)(31696002)(2906002)(86362001)(36756003)(41300700001)(66476007)(4326008)(66556008)(8676002)(8936002)(66946007)(6916009)(316002)(5660300002)(186003)(6506007)(478600001)(6512007)(6486002)(7416002)(26005)(53546011)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dTA0YXZtVUQ0Nm5oajFaSXh4aW9pdm0vdVR2MnJRbjhVNjRrU2pmN09HNlBV?=
 =?utf-8?B?V2d0K3JQcHJoMjNpbDNJVExpNi9pakRZUXNHanlSVGQ5WmFOTVpINzNhdUVP?=
 =?utf-8?B?K1BHRTJSTnMxdW5CWWRvZ21UanhOcTRrOEo4NVpNVGE3Y3VpdlFaQ3NMRG14?=
 =?utf-8?B?bUJZZEVrZ2NUcHl0WnZtemFYL09tQkRYLzJzbWlSMVlDMFc0Y2prcXZCWUtK?=
 =?utf-8?B?TUh4TTV1SHdZUFp5MjFhOHpGRkVIcmRXNnZSbFF0aXhXR0o5WGF0TjFrMXFG?=
 =?utf-8?B?NlhtVUtiUlJmNDR0NThXUDY0VkNKNFlSZVRKWjFzSWRBUW5xcW5Pa0IxdnBB?=
 =?utf-8?B?bWc1Tko4WlBJOW5Dc2FNSHg5UXJpNW0vMzVuWkp2UE5DMjdEUWUxUlRoblh5?=
 =?utf-8?B?TVdDVVB6S1RSZ1poNDVUYTh6amxReEdtWkZiN3ZVLytRSDVtWENxS2pCK3Rh?=
 =?utf-8?B?ajJZNDJTMFR3bWNlZHdDNC95Wi9lUklIajhLUllrL3dlL3Z1ejJDRWlySm1E?=
 =?utf-8?B?WTRiamwxTnRHZU45QkExUjg3ZkFlMi9ab0RyMktUMnVueTZYTFBnTEYzRHBw?=
 =?utf-8?B?UHQwZE9sV3Z5OWIvN1ZQM2V5MUtXc2ZjVUNHK0NxRmYyWTdkMEhwQy8xYm5p?=
 =?utf-8?B?RkYrTVdoMDFNUGFLS3VJU1JPNjA2Q05KQWVxeWpZZGhwWmNSWDYyT3R5em14?=
 =?utf-8?B?cHkrUHBMamlZM3FLOUlEV0lvUXpJWXBwMjdxMTNaeXRzdGM4MkhuWVdpd003?=
 =?utf-8?B?emdZMWwwelhMUzk5dzBydjNEazFlUVpITGRNOWNiUE5tSTMxTnNtTjJhNkZY?=
 =?utf-8?B?V3cwd1FqaWJMSndaYWxNa2x4Yk5hT2NxMFEzMFpsNmtKcVhqM09MRnpwU3BS?=
 =?utf-8?B?NDJPbm9YS0ZxdTFiMC84LzdjMlFJczdqUUNvOXQwWUxtNEdJbStrUndENE05?=
 =?utf-8?B?enIzYkV1VDRYUEZJMHkzSnJBMWxYL3hRaDk3aEt5RUNDUlBxS2lEQnZkU3hZ?=
 =?utf-8?B?Snc2N2dYTENuQ2h0MDlza2F0SFZLZkdCZmVHQ0FZbXh0ek9mcldJMVM3ei95?=
 =?utf-8?B?WEdKYTcvbWN2YnhxaXd5VTlzSkVWYm05U1RlOEFRZlIzQ2NKU3dIRTZBT2ZB?=
 =?utf-8?B?Q1JxN2Y2WkN2OVdsVmhhcjdKU2RTb2dEc1Izd0NPdHNhd0MrWEJMdmtxajBm?=
 =?utf-8?B?Slc2YlRmRVdQZTFlVEs2amdzNTBkS3ViazZUNEY4NDgvUVo1V2VhdVoxVlhn?=
 =?utf-8?B?RDg5OStYaUU3aWpqSktPSjJGQWE1OEIzZHlpR1hEZEVSS3o3dVZBdGxxRld2?=
 =?utf-8?B?aHVwRmNybGdDNW1NSWpmKzJVcjBZalF6bTJrWTBzWmQ1OUx5TjFOUGFOTEpz?=
 =?utf-8?B?OTl4czRPTzJISGc5RjNTWUR2My9FTkdheFYrQzNqVDM5eEJtWmlUSnBLS0Nt?=
 =?utf-8?B?UXd1WmlPZHhOblA3ZGY1UER1bXZZb1QrcW95MUJEV1NSZWV3b2VoeHBUR1U3?=
 =?utf-8?B?VUoxUEFRZjZ0QmpmOGMzTVNKUXFXZG1JbFh2TEF2eGg2Z2I0a3NHYURTei9i?=
 =?utf-8?B?TFJDbVd1RVVRVTJpVWZFNVdiaW5qWDR6K0l2azdtSm1sZllpV1BvSjNnQ09N?=
 =?utf-8?B?MGJtUlNPQ0VZeTE1TTFsNVlTU3dwQTFnM21nNFdCTWdCRFpPYTYyamswYUJL?=
 =?utf-8?B?L0doalV5azhLbVFxY0U0UHNuUVAybXY2UWhrQ0tibCtkK0xENk5vQ2o1eGNN?=
 =?utf-8?B?UGUweWxjYzE1QUgxMU9Gb3g1MStsVGVsVnE1OGpqN2t3eDUrN3cxOXV5Q2ZS?=
 =?utf-8?B?ektGZE8rNW5ESDE2cjFvUURGOUFJV2tkeVl5NDBHMUNlTjB1ZUpOakZVcDA4?=
 =?utf-8?B?UHFqUXA3M1hHR2cyUUdtUVFEY0U2ektzU3VObWhHanI3RFJnRmR2UGhKcWtZ?=
 =?utf-8?B?eHUxQkNzL1FQbFF4cVo5ZjYrU3h1SDFXS1U2QllvbTZ6UUtickcxd0c5ZUY1?=
 =?utf-8?B?akdSVFdZeUxIcllwUXd5bEJ3cFFORXhCUUIyL1JIMWxEN1R3YngvSE9Vd2gw?=
 =?utf-8?B?cnlPb3IxME9sMXJOZ2dZUUJYMGF0enZ6NVQvK2hESEN0WjJvVkM0SzBpdXVP?=
 =?utf-8?Q?cwp6kXBxkY4uMn4gXRkUaDRSK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e4006f75-d454-4eec-1abd-08db2a16d511
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:16:15.6934
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DoUV4o8+KJc+6zjsTK3N9tIlVod5pwE3KExqPhg3f42aaSzWaSXp6Mq2IdIexH5DWdgcMlGnUZEXkOppyHN39A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8533

On 21.03.2023 15:03, Ayan Kumar Halder wrote:
> @@ -1163,10 +1163,16 @@ static const struct ns16550_config __initconst uart_config[] =
>      },
>  };
>  
> +#define PARSE_ERR_RET(_f, _a...)             \
> +    do {                                     \
> +        printk( "ERROR: " _f "\n" , ## _a ); \
> +        return false;                        \
> +    } while ( 0 )

You can't really re-use this construct unchanged (and perhaps it's also
not worth changing for this single use that you need): Note the "return
false", which ...

>  static int __init
>  pci_uart_config(struct ns16550 *uart, bool_t skip_amt, unsigned int idx)

... for a function returning "int" is equivalent to "return 0", which
is kind of a success indicator here. Whatever adjustment you make
needs to be in line with (at least) the two callers checking the
return value (the other two not doing so is suspicious, but then the
way the return values are used is somewhat odd, too).

> @@ -1235,6 +1241,8 @@ pci_uart_config(struct ns16550 *uart, bool_t skip_amt, unsigned int idx)
>                  /* MMIO based */
>                  if ( param->mmio && !(bar & PCI_BASE_ADDRESS_SPACE_IO) )
>                  {
> +                    uint64_t pci_uart_io_base;
> +
>                      pci_conf_write32(PCI_SBDF(0, b, d, f),
>                                       PCI_BASE_ADDRESS_0 + bar_idx*4, ~0u);
>                      len = pci_conf_read32(PCI_SBDF(0, b, d, f),
> @@ -1259,8 +1267,14 @@ pci_uart_config(struct ns16550 *uart, bool_t skip_amt, unsigned int idx)
>                      else
>                          size = len & PCI_BASE_ADDRESS_MEM_MASK;
>  
> -                    uart->io_base = ((u64)bar_64 << 32) |
> -                                    (bar & PCI_BASE_ADDRESS_MEM_MASK);
> +                    pci_uart_io_base = ((u64)bar_64 << 32) |

As you touch this code, please be so kind and also switch to using
uint64_t here.

Also why do you change parse_positional() but not (also)
parse_namevalue_pairs()?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:19:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:19:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512720.792878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecpf-0005uT-0w; Tue, 21 Mar 2023 14:19:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512720.792878; Tue, 21 Mar 2023 14:19: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 1pecpe-0005uM-UI; Tue, 21 Mar 2023 14:19:22 +0000
Received: by outflank-mailman (input) for mailman id 512720;
 Tue, 21 Mar 2023 14:19: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=oKE/=7N=citrix.com=prvs=437062dd9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pecpd-0005u0-Ig
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:19:21 +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 5cc6c16c-c7f3-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:19:18 +0100 (CET)
Received: from mail-bn8nam12lp2177.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 10:19:14 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by CO3PR03MB6775.namprd03.prod.outlook.com (2603:10b6:303:175::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:19:11 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 14: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: 5cc6c16c-c7f3-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679408358;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=5LmAvDBTWRDOqdDmpDUoEIMQDZqxfw78ew8VuXI53No=;
  b=CXGOSvxfDwzB75rXW60r/UojETj1kNy4rblEbQ0xOBs26qV42dDGHhCG
   7U/RaUVxvIoD/46ecEOMk4xhRTOZCv4zqY5Evf6tOTRfkyoT2CfdZEjOx
   pEwdCXIvI0gmv2TjzW3nS07zi+Kp3ajQgAjLJ4jC6Ll0gnZYhBBpsDODg
   U=;
X-IronPort-RemoteIP: 104.47.55.177
X-IronPort-MID: 101716948
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:BRkLEK7wM2S56s8WspsuzwxRtGTHchMFZxGqfqrLsTDasY5as4F+v
 jRKCGCPPanfZGKnc4x2a9i2o0oD7ZOEmN9qG1M+rXg1Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasR5QeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5mz
 aEEEiEdZBK6ldn14JKwcPBcl8MOBZy+VG8fkikIITDxK98DGMqGaYOaoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUooj+eF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eWxXqkAdxDSO3QGvhChnOM4UgpOAIqT2C4iKG/tXTldfJeN
 BlBksYphe1onKCxdfH5XhulsDuHswQaVt54DeI38keOx7DS7gLfAXILJhZRZdpjuMIoSDgC0
 l6Sg8ivFTFpqKeSS3+W6vGTtzzaETIcI2YPYQcHQBED7t2lp5s85jrLQ9BpOK24lNv4HXf32
 T/ihCoxnbIIluYQyr62u1vAhlqEvYPVRwQ44gHWWGON7Q5jYoOhIYuy5jDz6vJNL52QSFWbi
 2QVgMiV7O0IDpalmTSERaMGG7TBz+iINj7VnVN0H985/jCp+maqcYF44TdiKUMvOcEBERfga
 0/SsAVezJ9LenCtaMdfZ4O3FtRvxKP4FPz7Wf3OKNlDeJ58cEmA5i4GWKKL92XkkUxpm6dvP
 56eKJyoFSxDVvshyyeqTeAA17Nt3jo52W7YWZH8yVKgzKaaY3mWD7wCNTNic9wE0U9Nmy2Nm
 /43CidA40w3vDHWCsUPzbMuEA==
IronPort-HdrOrdr: A9a23:LCc9BaO4IiRHNcBcThajsMiBIKoaSvp037Dk7TEXdfUnSL38qy
 nIpoVg6faUskdrZJhOo7G90cW7MArhHNtOkPEs1PSZLXfbUQiTTL2Kj7GN/9S6IVyAygc178
 4JGMISZLLN5BpB/KDHCWKDYrQdKbe8gcSVbKvlvhRQZDAvT6lh6gd/BEK/EldqLTM2dKbRDK
 DsmvavuQDQBEgqUg==
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="101716948"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MSU8oulaMZ1ptrCSz+h5oWjKWq5IJiyTZtONuEAF1JXv/+RTJhfPEtUNwBucfEvyhYeCc7632bLZ+2hbPtcmxAmv+B4b2crbAFti9sZpqgK50DfmyfdqnSNICyLTlNoJYbncJK567N24/doYgbdGOAosOqwLtknFbfhlen1aqZyjUbgPVO6qdUpE74evq6JQDKpAh7pESJK8dTzr+zN9AlbwlAcjlqry2sttigDIPHJAYsI24iSFWyeuQsYOQoVf+FQG+qQEhrh2Zsy98x++WnqWRrrdHfrd/VwxWEAjqsA0+gzLmLkMcTOHKQk1JDM789sprH7QUzT7iGgWWydW+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=pVwGHov7/G5EPBSgvaEw0y/gpmVnGy2Bpc97qeTApaI=;
 b=MZ4kNbf85dPdDLwGp6Qqdc6Ij4i/Jk6gd6DRQIif3ar+fY+QyaNNv6QPPE74hQkF/cGTAg2v85oTwd0vJbtrqcvDADnBVycsYrq8okdTfBRi/GoPf6EMqdsmGjGMeV0PJL+7Ma4RoQpXPQddoWWSE8I1tV4vA03ZXDbT9FW+ZyqNI5zU+Zpd6kAkIT1zMDQgQ394mMDbiCZex4NBvdsuuF6JeHbt63roRmCG9goHUXA4SWAwwKYtNQV0ApW3RhAu5dU2xsM7AA+6P9Cr3SM5jQAwrJgkk6I8xkDN2YuJhDl0TM24qsa12OrEjCEp9qw5gVj6nFkfhiHk/oz2m6gxnw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pVwGHov7/G5EPBSgvaEw0y/gpmVnGy2Bpc97qeTApaI=;
 b=v44X4u7yCOujmg0wLYoSb9FQjIRQEwnNTZOscJhagPDGHrcqK0zH/+Og8TVulAAih63v3qTAjg+e/nYsxc9EpJZe9dHFUsyP7mgoaGrPlS6f5CKwpEwneJdOLlPNK2fzK/e5NSt12WvBE5sOliQjnqdjixjWEvh9KrIuayoj17c=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.org,
	Roger Pau Monne <roger.pau@citrix.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Alex Chiang <achiang@hp.com>,
	linux-acpi@vger.kernel.org
Subject: [PATCH v5] ACPI: processor: Fix evaluating _PDC method when running as Xen dom0
Date: Tue, 21 Mar 2023 15:19:03 +0100
Message-Id: <20230321141904.49177-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.40.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0390.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18f::17) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|CO3PR03MB6775:EE_
X-MS-Office365-Filtering-Correlation-Id: 184262f4-7a47-4563-eac8-08db2a173d7d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TL+zIuY5jbXGA0beUnf0t7RbBnEvVmwi8hLHGWey3Coepek6SvNQFYkV9u7H7VOGW0ddsdOrN/r6d/g1oloR5MV0dulYIAAKiOhXrkyw1KnlRR5iKP6MvIopUxZik+ccKn3vaa6eputjGxVEpx/qEaUS3P4E45yWrcpH4cKKqCfEENKiJ/LVDhwFDunUuDzF3JkdKloqWw9lTRlWZ4T/lz9TrIYdXlZw1ExUc3TspQuBqxzdAHgfNv5hNW3wOoJXuTDGJH7kXFgE2aKq6MHvUOkhYxqwSwXOc5El5iO3rH43sXjpTbHln7LtDXcF1jRUkcM/UIYVRn8Wod2UgS/WYP2wpuOzn/vp6mPj5qA+mlNoVg+W8pd+J1gV4NsCds7EbrmbfJ8mJ9ocXN1nMZ6bt9RLtENgBFguDCgwI3lqE7HaG2u62uLxJAZsXNtazmT/lBt6U/FsIquLxDvALCGtwMyvX4FNW3KYAjupor07hbEwfciQ1q3r7A8IuYgyOqe1MDtgAjRJpNpWiRrnpd9dwegu1aDSJoXclOdVH7lHpZF406dkq5ixWaVXzVaLT5tJSfl7C/uNVj2mZRH6F0aU/SuLmzTSb1E5jNyM+bGFF4zqK4jD5WcBZ3xh/EZEZrsN+P17Wh9v66nWqUWjxZin3A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(376002)(136003)(366004)(346002)(396003)(451199018)(5660300002)(7416002)(6666004)(66476007)(6486002)(41300700001)(66556008)(6916009)(83380400001)(478600001)(316002)(4326008)(54906003)(8936002)(36756003)(86362001)(8676002)(66946007)(2906002)(2616005)(82960400001)(186003)(38100700002)(26005)(1076003)(6512007)(6506007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?azBuTXp0c3Y3VGJ2c0xmNGRHMk9yN0ZFeTdocnBRd0JuVEhXMFQ1bWNZYS9z?=
 =?utf-8?B?NVBiZkROU2VIaWpreEwzQlN3V2dQL21ZenNpQ2g3Yi9FVFJtSWVwbWNNK1Zp?=
 =?utf-8?B?NmxJOEVEVll1UHp3eDc3TjVyTkxUNERXeWpFY0p6ZlVXbXVZSWNuWWNQQm9a?=
 =?utf-8?B?VFpHQzY1YXVkdkZFRTFmeU13a0w4ODVNR2pnWWtxQmZRMFV0dmdaeXVOQmM2?=
 =?utf-8?B?YmtFb2hmY2dWb3dhMkgyR3cvc2M5dHgySEdZZ01TUjhhOHJVRy9ydHJ0QU9z?=
 =?utf-8?B?a2hoL3lCMHhGMmJTL0Y4YnVQOHRLUXpzeFBVYkJtemZoL2gxT0RtRkJHcGF4?=
 =?utf-8?B?UXJ2Z21nRUNDTDFRWVNIMzUyV29hMENRUlFxdDYwSHN2bHFweVhORTM0Vm82?=
 =?utf-8?B?R3N0U0FHaVdDMG9hWXJmWDFrWjMwWWV6RGpocFlodWh2cW00ZU9sa0ljdlhH?=
 =?utf-8?B?Y2NhZ1Y5czBTTW03TkxkelNqNit3ZkdOK29lNUV2NWdDSDRQN3dQenoySmdZ?=
 =?utf-8?B?YmdaQmVXbTJFL0ZtQlUrOEpmY3R5VUE5bGZYdjFVVndRa2tzY1RaaGV6VWpy?=
 =?utf-8?B?bDhTVU1EKzdsWjdrT3VKd2VKU24vZjAyYVRPWEw4VXkyUEtHekt6OUhkdFNH?=
 =?utf-8?B?VzA2ZDJnVEJINVA0TjkvelNFUjJWRDkxRGdLdStRK0xMWTQrYUlnODdDcjl0?=
 =?utf-8?B?T0gxNUNGUzhXekNiWERORkZwN3V5RmZiM094SFVVQU03SElVZGlCUlBLcndI?=
 =?utf-8?B?Z1NsSkdHMjBFMjJhNjZHZXBPRVZMZ3BwbW0yVWRaSGdpVnM3UDA0SWhuNmkz?=
 =?utf-8?B?Q2ZVOENrMFRLQ0txM0VVVEJMY1JtaEc4L05hTEJSelpPU2tiK1EydTRKdEt3?=
 =?utf-8?B?VnFvZnYwUkE5WURMVm5OR1IvalBiZU4wK3l2c0RkZDhKakMwM1BtWGlHREZB?=
 =?utf-8?B?dWhPYzRWUTEwcUIyTCt3Vmk3T3VhRDhuNkJsN1h6REpJb3FiWkRIaUVVVWVq?=
 =?utf-8?B?YlBMYmRrY2xacjhOYXBiZ0VjeFVCS0RTZWh3MzE4S2hUTFdzMXNic2wvNU5C?=
 =?utf-8?B?QU1PdUtteGNoOEJsSWVLcVBuS0xxY2UybHpzaS8rbkI3SmdKdStHeHVCYWh5?=
 =?utf-8?B?UFErNWQ5RnQ0OCsrYXZ4blBwZnRGRGN2U3pHTWlzaFpnWDN6ekV5M2NLVzZJ?=
 =?utf-8?B?RlJCbGlWQzZYYnJ6R09kOFVpSDhsalJDaXVrL2pZVVNDcXBmZGRieHBEVGU1?=
 =?utf-8?B?YzJESDFLOVF2ZjEzbDc4ZVBHcEp3RVpIVERTYmVPc1FpTnRBWE9lekhOOUJD?=
 =?utf-8?B?dXdORlJrNU5LOVA2c2syUkZnVlc5dWhRWmxlL1JoWDNSM3J5clhhRWYrQ0Rm?=
 =?utf-8?B?Sk1pMkVBS2plbHkwaHhKdmR3c1hTMC8wazdibXFpclZhendBRGFpcVhicjZn?=
 =?utf-8?B?blZxQUZ2TXlDU0ZiRmpWdCtHVThxT1MzcUlIQitpTlRVbWlYK2lpSUNtTkJT?=
 =?utf-8?B?QnIzV09XUWxjOUpqZVBRWGpUT0hOalY5TTcwV2tSdG56NVZLdXZkNFl5YlhI?=
 =?utf-8?B?Z1FMSDYySzd1WklRMGhnUDh3cWI1UC9Wd1dQdFFEL3FEdkNCemJoMXBWazV0?=
 =?utf-8?B?YVEzR2pRNXM0cHlCWm1qSWo1Q3NoT0l6Z0VvRCtERVppclcxOGE2cllwNk5L?=
 =?utf-8?B?SzRCcHNPK2MzVlVxenJpbHhPd0pZejBmaXh0SGRVd2d5ajJPdHMyL0w5K3du?=
 =?utf-8?B?WmlORHprcHVQR3RzWVRXSUNHYU1wRGJObG9KU0hFTldTdUk4RXB6OGZuOXdv?=
 =?utf-8?B?QTQ4anFEbHZlTVo1cW1xSlpId24ySDRhdUZUbTZPUFlPbSs4N1Joc2ZHaG1k?=
 =?utf-8?B?SCtlM1VSTWtDQjdLb1IzclRBNWI0bFNXdk5UZVJXMjNFaXhZOTAyRTJNMVBz?=
 =?utf-8?B?WVMwT3VVY0t6em9TSWpJUTE2YTV3TkJVTDJRTFhNMld4SjJDend4ekM0NjZw?=
 =?utf-8?B?YnphaHlOdk1rUzZ4SWhvUGlOc1RHakk0R3dzUE5ZMGFCdnZOaTlSMVBJOW94?=
 =?utf-8?B?anhEVFVDaW53dlNQYitNUXlpRjVpb0tTOWV3T29UTStPWDJiVjdLQitYWFVN?=
 =?utf-8?B?clRTdm1RakRycnZEcGNhWE5IdU1BMjRzcVJLN1BKU3RHaXhvNVpJUHJwMmpW?=
 =?utf-8?B?dWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?N2c2RWR5WW1hUlRMTUl6M1IxbWwrcW1GbitiUVduM1R2bklEd3RsWEN3Tmp4?=
 =?utf-8?B?TlBGZ0hYNjM3YlQ4VFVwaGxKTkVzZXl5eFY2NXRIMmwwNmNKMGdMYzJKbk5T?=
 =?utf-8?B?ZXJJeTNzQTRvYlFiV2RwM0pvU1h1b2pOeTZQSmw5WmxCZTdzV01yRWFTcHg5?=
 =?utf-8?B?eTNUNWtoWlZkZlhvam1waSttYzFKN1JGampGOGFUdEZ1NXJ6cTVYMUNSVVFp?=
 =?utf-8?B?aVZyT3k5dEV0Y1pYb25MaGdjdmxFUWk2bm9KYlI4UmU3c25uQ1NpY0tjdzZS?=
 =?utf-8?B?ZzQwOGdadExLdUZRQjYxbDd1bUx2ZFRmNjBSUE5wbVhCQXB6RXVrdW5JT1VU?=
 =?utf-8?B?d083N0JTWjFDNzBTZlZTWGR5eEhoVWFCU0ZZamh6OTA0OVZPOCtiWEtOSk1h?=
 =?utf-8?B?TXFYdjE3VEk4UlFOTVlZY0paWUtOTW9DcXh4Z3E5bHhJV3pEMm5BRmFaMzVx?=
 =?utf-8?B?dVpSUHZZQ3cyaWRIS0NWeVYvSnl5dStDdkE3WGVpdHJNaE10dm9BcVZYdkR3?=
 =?utf-8?B?bFNRUjRtZFZldUFXK0ZNZGc4Rk9NQ3hSNmgrR3B0aHV6WTNlVXd1WDc0STR6?=
 =?utf-8?B?cnBwbkUxVEFiamZ5dHdJMjF5RFg0YnVXQzFUWUZ5ZjNmVG96OVR5UG1BSzlP?=
 =?utf-8?B?TzlBNTBvSk9JZHU5QlBYRy9HTHpBK0dCbFVhWDYxTlR0Y1pac3hWMVZiV0Q3?=
 =?utf-8?B?clJNRFJTMHNPWE9xZ042dVpQZTdsR1h2dkFPNElLbEY1dHVKaEFnNGNTRW1S?=
 =?utf-8?B?dXY1Vm83VHNQMnBYL2JRTURSMUJRT1dxR1lzRHBhUGxmNG5JNW5SM1JOd2JQ?=
 =?utf-8?B?NUhIN0FkeGwxeXRqWkE3NHpEZEJqWGdjY3Z0bWZ2WnU1bFR2NmdzQk5RMGJn?=
 =?utf-8?B?bjMrZXhTWmo0WGc1UERsY21QcDRhSDlLRGErdVEzSGViQ2YrNVh5NzVaak5S?=
 =?utf-8?B?UkxHbjF5ckY5K0hZZWRtc3E2VTE5U0FoRnpycG02VUJ6cmthTnljdmN1Q0Mr?=
 =?utf-8?B?c3Q4L2M5S2ljNFUzN3VkM0toZ3RkQ0huRHpuS3VhWkx6ZXJnTVMxYkt5aW9O?=
 =?utf-8?B?ZGZvNytQOHVUV3UzK21LRlBDVHQ4QnZZamVZWXpZWlo5UVBBMktCTm9SeVkz?=
 =?utf-8?B?dm5GTnR0ZGFWZDdMcy9PNTFGN3dhUjc0UVdsT0s5a3N6aWZmSGk4b25ZTEtn?=
 =?utf-8?B?dUZ3WGhMcUdKSlFtVjBZOHNta2loQ2xCZmpHbjBPc3Mvall3RXdpc3FXTUty?=
 =?utf-8?Q?rCa/6NZPrq1z138?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 184262f4-7a47-4563-eac8-08db2a173d7d
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:19:11.0458
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7CwDR/J2dQlklzPJ+v9pjy7wLS5SjY/uQI4vunzOOp4JIcAxKAM+KbxK/OOQUyUM2Xy+Jy3HGQskRRlYSL/rAQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR03MB6775

In ACPI systems, the OS can direct power management, as opposed to the
firmware.  This OS-directed Power Management is called OSPM.  Part of
telling the firmware that the OS going to direct power management is
making ACPI "_PDC" (Processor Driver Capabilities) calls.  These _PDC
methods must be evaluated for every processor object.  If these _PDC
calls are not completed for every processor it can lead to
inconsistency and later failures in things like the CPU frequency
driver.

In a Xen system, the dom0 kernel is responsible for system-wide power
management.  The dom0 kernel is in charge of OSPM.  However, the
number of CPUs available to dom0 can be different than the number of
CPUs physically present on the system.

This leads to a problem: the dom0 kernel needs to evaluate _PDC for
all the processors, but it can't always see them.

In dom0 kernels, ignore the existing ACPI method for determining if a
processor is physically present because it might not be accurate.
Instead, ask the hypervisor for this information.

Fix this by introducing a custom function to use when running as Xen
dom0 in order to check whether a processor object matches a CPU that's
online.  Such checking is done using the existing information fetched
by the Xen pCPU subsystem, extending it to also store the ACPI ID.

This ensures that _PDC method gets evaluated for all physically online
CPUs, regardless of the number of CPUs made available to dom0.

Fixes: 5d554a7bb064 ('ACPI: processor: add internal processor_physically_present()')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v4:
 - Move definition/declaration of xen_processor_present() to different
   header.
 - Fold subject edit.

Changes since v3:
 - Protect xen_processor_present() definition with CONFIG_ACPI.

Changes since v2:
 - Extend and use the existing pcpu functionality.

Changes since v1:
 - Reword commit message.
---
 drivers/acpi/processor_pdc.c | 11 +++++++++++
 drivers/xen/pcpu.c           | 20 ++++++++++++++++++++
 include/xen/xen.h            | 10 ++++++++++
 3 files changed, 41 insertions(+)

diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c
index 8c3f82c9fff3..18fb04523f93 100644
--- a/drivers/acpi/processor_pdc.c
+++ b/drivers/acpi/processor_pdc.c
@@ -14,6 +14,8 @@
 #include <linux/acpi.h>
 #include <acpi/processor.h>
 
+#include <xen/xen.h>
+
 #include "internal.h"
 
 static bool __init processor_physically_present(acpi_handle handle)
@@ -47,6 +49,15 @@ static bool __init processor_physically_present(acpi_handle handle)
 		return false;
 	}
 
+	if (xen_initial_domain())
+		/*
+		 * When running as a Xen dom0 the number of processors Linux
+		 * sees can be different from the real number of processors on
+		 * the system, and we still need to execute _PDC for all of
+		 * them.
+		 */
+		return xen_processor_present(acpi_id);
+
 	type = (acpi_type == ACPI_TYPE_DEVICE) ? 1 : 0;
 	cpuid = acpi_get_cpuid(handle, type, acpi_id);
 
diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
index fd3a644b0855..1814f8762f54 100644
--- a/drivers/xen/pcpu.c
+++ b/drivers/xen/pcpu.c
@@ -58,6 +58,7 @@ struct pcpu {
 	struct list_head list;
 	struct device dev;
 	uint32_t cpu_id;
+	uint32_t acpi_id;
 	uint32_t flags;
 };
 
@@ -249,6 +250,7 @@ static struct pcpu *create_and_register_pcpu(struct xenpf_pcpuinfo *info)
 
 	INIT_LIST_HEAD(&pcpu->list);
 	pcpu->cpu_id = info->xen_cpuid;
+	pcpu->acpi_id = info->acpi_id;
 	pcpu->flags = info->flags;
 
 	/* Need hold on xen_pcpu_lock before pcpu list manipulations */
@@ -381,3 +383,21 @@ static int __init xen_pcpu_init(void)
 	return ret;
 }
 arch_initcall(xen_pcpu_init);
+
+#ifdef CONFIG_ACPI
+bool __init xen_processor_present(uint32_t acpi_id)
+{
+	struct pcpu *pcpu;
+	bool online = false;
+
+	mutex_lock(&xen_pcpu_lock);
+	list_for_each_entry(pcpu, &xen_pcpus, list)
+		if (pcpu->acpi_id == acpi_id) {
+			online = pcpu->flags & XEN_PCPU_FLAGS_ONLINE;
+			break;
+		}
+	mutex_unlock(&xen_pcpu_lock);
+
+	return online;
+}
+#endif
diff --git a/include/xen/xen.h b/include/xen/xen.h
index 7adf59837c25..4410e74f3eb5 100644
--- a/include/xen/xen.h
+++ b/include/xen/xen.h
@@ -71,4 +71,14 @@ static inline void xen_free_unpopulated_pages(unsigned int nr_pages,
 }
 #endif
 
+#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI) && defined(CONFIG_X86)
+bool __init xen_processor_present(uint32_t acpi_id);
+#else
+static inline bool xen_processor_present(uint32_t acpi_id)
+{
+	BUG();
+	return false;
+}
+#endif
+
 #endif	/* _XEN_XEN_H */
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:22:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:22:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512726.792888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pecsS-0007QJ-JN; Tue, 21 Mar 2023 14:22:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512726.792888; Tue, 21 Mar 2023 14:22: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 1pecsS-0007QC-GS; Tue, 21 Mar 2023 14:22:16 +0000
Received: by outflank-mailman (input) for mailman id 512726;
 Tue, 21 Mar 2023 14:22: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pecsR-0007Pn-ED
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:22:15 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20631.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c5f84aa0-c7f3-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:22:13 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6895.eurprd04.prod.outlook.com (2603:10a6:803:13b::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:22:10 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 14:22: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: c5f84aa0-c7f3-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=neunr9UrFpUkMxgv2kpg21BouF5jpO6xrpqZWUrnV/hlHnXKv6SwpC8dUV7rLJ2reACEfhwZ6nTySxsigs/1/CTyc2QnhH9FGCyx9LQ10z8qVjueHkotPHD2jWV1CwWCbTn4M51iWAioayz6ZvADj1sBO/c2LTqnPMhSJgcEy04ys+mWV2OWSMs2DHT0tVtO3KV1RMRw4mNRp0W2tDuZ1WaZRu3ees5KnPsMhVdgYVjvROCHyB9lh3emAyW2VotjNEYou4pn2TiuE1ae0opsMM2RyrhcTuFyHWHxdLUriv5aO9ptlbqMI74LY6XMksZ4eOgW0+DdH6Cp9L1oBuOZKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=B1EnL6983SI0TKLh3dr0X/w3dETG+vIo/DRpVGM2Gt0=;
 b=eu2jxdCUNt6r2YGwDJ4U1oPtP0qZiGE/BcCIi0JMesnkzxBrFIPRDCqKZ12h4bGD1KVVW8REsguGRSl7q3YEpuNHm52Ybd7jzwsDhVh+IR/9oY09cNY6V3HHRmlxBUN+czL/ezEBc6MP1CuQ3tx7+7SEO6XunLvEOxnuIbJRCF+p9863B6nrc+0/30MaflTQIFIvPvI4IYwhcYglH/uVSVX0baiEXUsN8cLfspZyGwb14XiXLcIbaqd+EZjwnk2Nka9HceK8TS2/6/quEw668NqBRV4m8K+KLnFzkfLmHYPAf9ofiUP4KAL8rOOSGg4VzBtks3xBPaeyD/RFdSPVxA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=B1EnL6983SI0TKLh3dr0X/w3dETG+vIo/DRpVGM2Gt0=;
 b=LXLHpFSZ6/j/Cjb102ZQKjVAto1caNNP0UKnNlmaOO2J00ToaTh9vH/cOtoaEcqU8XbfsXyRJnyk+Q/jpI4vSXDzZH11iAVTPKrJcgKBGQ9EkxaKEV5/nV3yxB+m20EY/gNDed8JDUBzAmX+qV7BXZZ0u+DC9nsB3LxXjZr3uR+PLOwuuI9bVZiiBHyOwBQEREOSrTinHH+tqv0Mi8V5Yatz4a/C0vBeMDMpDYTzWDEBjDSLEtSsLFHyeQDjABUpfHpDhTahW+hKMnFQfQdaKwIWWifrKODUhzlzfjY2T6RXEy7CwcdNkTQi/Cy9aaryn3kQGyqAeC0/+biy7jvQiw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7d90ad7a-5daf-915c-2055-a27ca50d8581@suse.com>
Date: Tue, 21 Mar 2023 15:22:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN v4 07/11] xen/arm: Introduce choice to enable 64/32 bit
 physical addressing
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com, julien@xen.org,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 rahul.singh@arm.com, xen-devel@lists.xenproject.org
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-8-ayan.kumar.halder@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230321140357.24094-8-ayan.kumar.halder@amd.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB6895:EE_
X-MS-Office365-Filtering-Correlation-Id: c35257de-81a7-42bd-5dc0-08db2a17a8ba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JL6OowKw+Hg30qkyBPyLoeyixTCzUcL4gnG1epUnkBIIkYVxfzUDIOVcGrF8Vb1A9izrZYcR37rVMYVLxBDFw7O73uWJtw9tSBNCfduLB+s4GMMI7tJpR6YI2L3eQuVsNWZsOZUo98s+A2+0Trhb56youeM59o2IjC3OhNSMsJzoM3YY2NR9mPkMgj8g5Id3qWvTZmkHoirVNEvotfIn07uXj8aXBkrk4LhZSUZ6azu5TObaMwKWHgvgSlxmlyt+UniIgpEfzWzT7UE9D/FMEIHb/yriMdhcuo9k6I3+2RTRawuPqKS2sEAn6bENWRzLStEq7PvlX6AAMBFCsx4uKhiLfYUSEEjCmm6ZQgQB4qmW45QZa3oXQkGdqjF/YKF/ROdIwsDuEN7KPmIXhX3NqKUGV8vINgJD+MvgrmAJIRe5ZyKOTKLSpdr3QwWzyIGSppB0dE+8/TyqBQ5bPtlCh1wiBSW1OJLqR9C5YunQoxniWxj1VP+kpiWYrW/2HhKh3ofyFKLO0gZeohMnr3bLQAnp6H1CFqlsNdQoUt5d0jp4l9Lcsb/l0vzjWy/dmfnn3GKtOzqHQqdd4J1tjtXrKD1ID7AMh7VMFRJ+AyqZ4jvZuQl2gFnJn5cKde1GFv/W9O0F4zjL2ti41ud9yxqt/RPSnG1Zf7bRYKQ1R1B1HhePxmnqF6cvscj+vDKFpHWOGcmtTiFRWSaDzSXNoZNwb4kk5qND+KT3vmuZM8RZk5o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(366004)(136003)(39850400004)(346002)(396003)(451199018)(316002)(31696002)(38100700002)(7416002)(36756003)(8676002)(66476007)(66946007)(6916009)(5660300002)(66556008)(4326008)(8936002)(41300700001)(2906002)(86362001)(478600001)(83380400001)(31686004)(53546011)(186003)(2616005)(26005)(6512007)(6506007)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QTJrdlRvVU8rY2N1a0RJeHVKWHhDVDJEWEpoOXZXRjBzNWM3RWVUczZSNW9r?=
 =?utf-8?B?U280ZysyK29VSWJ3bnhqLzRHb29LRmdOU2k1R1JTUm9Kb2tuS0F2Sk03a1ZL?=
 =?utf-8?B?Qnc3eGpucVA2ZHpmeHJmc1hSUDBTaWF4K3J2RzZxTmlzYzRrR1FFSnhBd2Vw?=
 =?utf-8?B?QmlibmtsV0VwOTRoQmVUTng3ZTFLTE5sWEtucUR3Q3VUeEMxaWNJK3VLRU81?=
 =?utf-8?B?ODhXekhvbXQzdUpSZk5ZWXJLdDVlME5EekdFZVdJZlgzdWlRUXFlZG13M2pr?=
 =?utf-8?B?bElwMGRPM0hRN3djV2g5c1pNUEZTTUFTWmk0VGpGT2FDRnkvb0lwNnEzcTJr?=
 =?utf-8?B?amRuNjVZb00zUkluY0lWYy9Pa0svdDUvNWU5aWFlR3lia0hQMnlzbXJ6L2th?=
 =?utf-8?B?NS81NkdQbzUrbVV3ajc3djcwUGJ1VHVPQitib08rYkxhNitiRFRBQ2tKeG5R?=
 =?utf-8?B?RmFubURHOVdyZ2xsNDhRV0VMMG9VWExVYncxZUxRYjZQbUg2MGNTeWRJZnlG?=
 =?utf-8?B?ZXRyN3g5SXRrei9JNkJZcFNoK05VNy9VckJvSEVCSkhiN2pCUEdsUUh3bXV5?=
 =?utf-8?B?Y2E5V1N0RDREZGwwVFJIVzg3Y1RRbjVNeXhaM2hmVTJSUk1sWkNTUjlSb2RO?=
 =?utf-8?B?azhyaExDb3FqT2xKbGRObWtab3JkYkJ2d2RSdW9mcDdUN0ErTUN4VnN4bTg5?=
 =?utf-8?B?V1k5a1BwME1pYVpZVnhiNlZFYkxxTDN3em01TFYvcFR4VHNKZnp2VDJKYnh4?=
 =?utf-8?B?MkVXUlZPNVM1OEdmZWZNcjU2djQxamZYZHUveDlpMVkwcWswSkFPNDhCR3Ux?=
 =?utf-8?B?ZjErVlNBL21MMmkvbGNPM2JJNGxqK0lLOXllOXpXTzZNZFlVdDBoT0YrVjUv?=
 =?utf-8?B?V081bEF6RnZlZUxEUWEwa0FNL29aTlllME5XV2N1REZ0ZmkyM0pNT2lETDZE?=
 =?utf-8?B?cHhZUGZwZ29tVTM4bmg5em1rK0VCRU5iM1dQVVNpU25aVURHck9qVEpTak9L?=
 =?utf-8?B?cU1paEEyQzI2SDlCbU9KT1dtcUY4ZEFUckFDei9BUHNWU1VUYUJNa1o2S2Zv?=
 =?utf-8?B?REc1V2x1cjdmQ0dPNzhycUYxM3BCMVhQaVFnWitrbXBPOE1YdHgyY2w0T3Vk?=
 =?utf-8?B?UEF6aXlMRlAwQlpaSlA4WU9CMlRvQUtjN25sQXB1RkNJNm1aMlp6ZjJIaW5x?=
 =?utf-8?B?cTZMVWVYZVptODlNWURzU2dKZktRY2dWb3B6cy9zSjQ4YmVWVGZDam83WEFR?=
 =?utf-8?B?Q01lem5FQnNlWURibDgzTkpRN01EZWpxOFFzQjkybDlsbysrOEozL0YrMmZ0?=
 =?utf-8?B?U1NqakQwY01xdDhMVWRwSWt6K0NmandONk1iMTJmVkgxMlFaOVNLSGFIdnRN?=
 =?utf-8?B?NUZ1bzNkZW9kdS8vTFF1OWE3Q1lPVFczUWlBckVZWm82dDNnSEh5SGcybDND?=
 =?utf-8?B?ejExYUVPZnBqS2s3VWtObk9TMG4waXFGZk92bkUvalpMRFhidnd1UnFLTlAw?=
 =?utf-8?B?MmllWHNTcFNhS2hWTGxQSVNVYy80cEs0Vlczd200N0ptY0hlVnFXRHc4NmZh?=
 =?utf-8?B?TUdMOGNPcXc3R29Nc3pIUU11dnp6anVwbk1RdWRObGEyRC9yZzN5bXRwMEk0?=
 =?utf-8?B?MmUyb3JMSjhaMW1PWVgrc3NZRTJOeGhLWW40bVNkN0h6Sk5IbmdCaldLWkVC?=
 =?utf-8?B?SFl1c2pQTXgwd1VNamJMTHdTeTkzazF4WjFRVmd6eitMa21xSXlROFVtOHBV?=
 =?utf-8?B?UGJycnZjT1FDaWY0aGJTMlJseFZqQWRrMDFYSkw5QnpJOC9WYjhKQy9JWjhx?=
 =?utf-8?B?THdDY2l3WjZGOEt3RHBpdFJVVlFoRkxJZWlramI1YVBjTXNFYlZjRzMzS1JZ?=
 =?utf-8?B?bitBcmM4eFBaOGk3bDBlMUdObzdKQzlQTThNY3pVTWtSZDJVTENwUWwxZlZT?=
 =?utf-8?B?WitwZUZDeXFVZkhqL0Q2aDcyT1B1WUM0QzVudUtTVm5vemJuMHI3dnNpOVVX?=
 =?utf-8?B?ckhFRm5lV0ZqUnJsODhWay9jUERBWjE5T1cyZVlFaFJKaWxKS3I1cU1OQTla?=
 =?utf-8?B?TlV3ZUxlZUVFa3RNQnF1NTVFN0ZuZ3doN2JMRHJVWURtSGJMYSs3MnN6aGY2?=
 =?utf-8?Q?dB6vw86ezpCm0xdx6xf1O+1Jf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c35257de-81a7-42bd-5dc0-08db2a17a8ba
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:22:10.8332
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E+U1du458DbHdA4Zd0v2BLygqeOmdiGrNQPDraiASSIMZ8hrF9nlDECjQBai509mtTH2KTX3Nb87hlIAsiLGwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6895

On 21.03.2023 15:03, Ayan Kumar Halder wrote:
> --- a/xen/arch/Kconfig
> +++ b/xen/arch/Kconfig
> @@ -1,6 +1,12 @@
>  config 64BIT
>  	bool
>  
> +config PHYS_ADDR_T_32
> +	bool
> +
> +config PHYS_ADDR_T_64
> +	bool

Do we really need both? If so, what guards against both being selected
at the same time?

Them being put in common code I consider it an at least latent issue
that you add "select"s ...

> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -9,6 +9,7 @@ config ARM_64
>  	select 64BIT
>  	select ARM_EFI
>  	select HAS_FAST_MULTIPLY
> +	select PHYS_ADDR_T_64
>  
>  config ARM
>  	def_bool y
> @@ -19,13 +20,48 @@ config ARM
>  	select HAS_PMAP
>  	select IOMMU_FORCE_PT_SHARE
>  
> +menu "Architecture Features"
> +
> +choice
> +	prompt "Physical address space size" if ARM_32
> +	default ARM_PA_BITS_48 if ARM_64
> +	default ARM_PA_BITS_40 if ARM_32
> +	help
> +	  User can choose to represent the width of physical address. This can
> +	  sometimes help in optimizing the size of image when user chooses a
> +	  smaller size to represent physical address.
> +
> +config ARM_PA_BITS_32
> +	bool "32-bit"
> +	help
> +	  On platforms where any physical address can be represented within 32 bits
> +	  , user should choose this option. This will help is reduced size of the
> +	  binary.
> +	select PHYS_ADDR_T_32
> +	depends on ARM_32
> +
> +config ARM_PA_BITS_40
> +	bool "40-bit"
> +	select PHYS_ADDR_T_64
> +	depends on ARM_32
> +
> +config ARM_PA_BITS_48
> +	bool "40-bit"
> +	select PHYS_ADDR_T_64
> +	depends on ARM_48
> +endchoice

... only for Arm. You get away with this only because ...

> --- a/xen/arch/arm/include/asm/types.h
> +++ b/xen/arch/arm/include/asm/types.h
> @@ -34,9 +34,15 @@ typedef signed long long s64;
>  typedef unsigned long long u64;
>  typedef u32 vaddr_t;
>  #define PRIvaddr PRIx32
> +#if defined(CONFIG_PHYS_ADDR_T_32)
> +typedef unsigned long paddr_t;
> +#define INVALID_PADDR (~0UL)
> +#define PRIpaddr "08lx"
> +#else
>  typedef u64 paddr_t;
>  #define INVALID_PADDR (~0ULL)
>  #define PRIpaddr "016llx"
> +#endif
>  typedef u32 register_t;
>  #define PRIregister "08x"
>  #elif defined (CONFIG_ARM_64)

... you tweak things here, when we're in the process of moving stuff
out of asm/types.h. (Using "unsigned long" for a 32-bit paddr_t is of
course suspicious as well - this ought to be uint32_t.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:30:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:30:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512731.792898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ped0M-0000gQ-CU; Tue, 21 Mar 2023 14:30:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512731.792898; Tue, 21 Mar 2023 14: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 1ped0M-0000gJ-9d; Tue, 21 Mar 2023 14:30:26 +0000
Received: by outflank-mailman (input) for mailman id 512731;
 Tue, 21 Mar 2023 14: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ped0K-0000gD-Fk
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:30:24 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on060d.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea268075-c7f4-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 15:30:23 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.37; Tue, 21 Mar
 2023 14:30:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 14: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: ea268075-c7f4-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LHi7IykZhIOEGTexY9rvAMwV66Os9kTo3DpqiwV5E2zA4qAyma6K51v4bdsu/uJRmwCSQ2gJyFxzfhC3UKxMitKLySQFXvx4hlEvY02UI6EdorNlWSPMNzILDYexJDg135DHDOhZbRJ60e8U9pnR0AEX0AuESqC8NkxPOFHbUg9naUEoWSTC2soQWlx5Sxr5w76s904tQ1Z+ZjrGaBhZhPeG7VnIR+TRx2x5P1gik225qO+oT/3adjJv/Y5P/HPKroGxijBM5k92qnjP0I7FTiY1XB4nIx0OgkHVOh6QsNztpRRW5Ufb1V2mcfAH7ELL74GvPo/0d3FbF6x60zPShQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HZypPJmiYu7nEBsosuf5VNByzCo847OfKNrgINYlgBY=;
 b=jzu+cwl1nyjuYJ0fLtNI3os/uPwjGqfcxeRCG+WPM93NgVMxj6Ha3nNOzrjvafw9q7drrasSrLRQDZPd7ZgG6qBWkNrenRirrO0ZGd2R2qY7ddXxrFQIjR5j52GuhGdjiplYkhURMuyUKxsfrqSb9ZRo89lYbKy0GdvbATnEJuC8Qpo08BZsmsU28abExrJzJ1vTLQhBDL60uNHdqr4TV7aq0QHdatcLgKG6XoNPhHot8sqp4X8Yrct11r1Dq08As92ZbqIEPHoSoBQ2W/tVeGz4pnsIoKOMA7Eml8br8HwhZ89T0O4nl9H/NIpI89YzTvk3LBOE0WhM6UfZjAQMiA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HZypPJmiYu7nEBsosuf5VNByzCo847OfKNrgINYlgBY=;
 b=V49TQ9YIbeQsxusFvZEDr/Tc3P53PgEDz+TWJYHLc/b2IvxqGTogPe45klMrc+SPjwetczFJjnN3PrU/bkpEH0pRbwcQ3gU1u3aI3vh3x9P7FybVdGkutYJKL0PN3NPtQUvLXOLM+bqdIW7A4eJAPwoCUiFeLF1WN8hBUy6rBgTw2Zt8Mw1GeO02DIAynfN/hWuucmBQFYwrIDx7Sz5uPjO5L5WpXkryjvH9L44rlvLzpdr0e6RJb9IwWW5M+bJCYP+ZG7yNep52ZLczV2KalrwzXqBlPxFjaoYwDuO/5qefCmf8BbBQQKrAkTubSIThR2Tv/eM7K/PnW9UAFdzJSQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7bc583e8-6ca4-2197-2d3f-c4325c024407@suse.com>
Date: Tue, 21 Mar 2023 15:30:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Jan Beulich <jbeulich@suse.com>
Subject: preparations for 4.16.4 and 4.17.1
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0135.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8160:EE_
X-MS-Office365-Filtering-Correlation-Id: b9936d9e-acfc-48fe-9e9a-08db2a18cd74
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	43rC1QBA7PJ99Nj17P72Ypwj0HTsubHKdJfdND4ozQ3nuP3u/zHzMVuK1oRsH1vpSPuBT3suho3jZmY2QxYe/JUZzDpf7HagDuxHh0fRYQbwmF26mOviPlyfqTOp3DVdQRt2hAF2N4481FdlZS2f2RUIFjUG5vZ0jjuXQCdopBo7D3xU4w8vZ6eFvf2YRpNCk0SLJdgMqoAxC0vHzgg5KLskB6OC+aMaSVy/CrAtt/iaIO/W/DKRmFGeIHOMgpJNehTtrRT+iqIAlZotiiuaE77SZLoM6KjXblYp8FoX/EcTdG4t3dcRLCR/An3OW1UmMXT4WlnuYMMwKzSiMbpRqyYingR2+q34kr1Z/N3ObRikaWbMTCeQG7qwfdHF71v4YcH6UNJIDuFt/2vn+BZJXqu8TwPh2DBlLB3F3b4td34xjtQDh2vCvlVEeVrgFGSgKw7q14AVXQIGorv7l0z6bygydaNg6A7ktMJ0M7EdDHS7uXQzyS74SWbnzL7JNNFyEdkjW8oKUAmfdeNF2d1LVsiuEpRe0/V/AkVXmmMUwfr4dXw0yBP+AFtr/v/MgVTXBMURtTkbaia5a2aIkCKMO2ZH2NNiDo7EZ5x/YEzHhuu3XG2j7MSSleJq8LqI/CkWE/3T2MrFqeugLTtBZ7GdlL63xVt46f7Li0a6G0M+0DG7psEndb/OpfAnzhqXWeQ0M21qbNbYSpIxf2hgX6FECAQtrFEXu7I60z3OjAzAsl8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(376002)(136003)(396003)(39860400002)(451199018)(54906003)(31696002)(86362001)(38100700002)(2616005)(6486002)(478600001)(26005)(186003)(316002)(6506007)(6512007)(36756003)(2906002)(4744005)(31686004)(8936002)(41300700001)(66556008)(6916009)(5660300002)(8676002)(66946007)(66476007)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UzhCdWFFbUdyL3Q1WXp5WEp4NjdYQmtBQjI2RS91anoveVlUNXJhczREVHRH?=
 =?utf-8?B?MHBIMEFSZFZTbVdvQngxUlEwYlZHYkNRaWtsU05IOXF3ZzNYNzJkMkErdkU1?=
 =?utf-8?B?YWNPenk1RmFPTGQ0Qll0MzF2NnpMQndvV1JoMnAxaWhPcko1MjhaWXEydmlB?=
 =?utf-8?B?enQyVUFBUDNyUGxKaGhyTEkrT29FZ2pEMURINVBQUVd1MzBESGg3Z3JvZjY1?=
 =?utf-8?B?MzF0UjIzKzNEMHhyNjFiSmVod0VUVXNFNVpTUlRJMFVJY1c2aU1TSnp2RVNx?=
 =?utf-8?B?aCtpNitic2xUYjhVS0liS0NlQWZiT3h3bm5EWjh6NXJrWFRodzM5OFg1WmEw?=
 =?utf-8?B?eVBnaEI0MStkSGRrNnNVaGhhbTdoeDNOT0xjN2JSN2sxd3AyMjdZZW1rUWhZ?=
 =?utf-8?B?aVBkekhCVW9ubWRkQjhpMmkzM2FFTi9uUjJXQXpsUkthSGlWdHYxL0Y1VW5T?=
 =?utf-8?B?WThSRWsxWHBRQkVBVTRzOXdnQnBhdnQxQk15Yi9TZHI2VjBleXRCYnVHeVcr?=
 =?utf-8?B?U0tITnQ2dURweTJhdGZzMzhIdklPSGUwbWtBWXcwOHoyR1EwRmpIcDh1Vitj?=
 =?utf-8?B?Z3V2aVRHbkh3OE9NZVNyd2lCd3hLSExYanJsOXVLZEVvUXBURXlRQkhGVFlQ?=
 =?utf-8?B?Ukx2OGJJRHlDbVd5WHl5MzMwYUR3MEZUUkNReW5XQ1ZZNy9yZnZreDl5d3JQ?=
 =?utf-8?B?cU93RzAvU3hOOEZTMG9KQ0M4aHByRmFaU0hCMk1aZ04xczVsdGptZTVmbmZs?=
 =?utf-8?B?VGwyN2Nsd3BKREtwRDVjWkhGcHZHRWFWQW1YR2k2YTB3czdSdlRpcEtNRVdt?=
 =?utf-8?B?N2JKOCtEemZ4VWJnQlRPYXp2bHMxRVRuU0dGQVBidGM1S0kxZ0QrV1Boem05?=
 =?utf-8?B?dUZSTHdVM1ptSTJML0hJYU1ucUxBZk9BdWhpeGJ2QmNhUVdGY2hadEIxSTJ5?=
 =?utf-8?B?VHp3dStPdjRRbkI3bXpkYmlrdEdPT2tVOHVnNDB3a0VEMFBqdHBMTk9rL3Zm?=
 =?utf-8?B?QzNxV3AvMEpvdzQ1V3ZQRlJWZkNaeDhHc3ptdER1MlBxMHJBaWRDSzRMYVl5?=
 =?utf-8?B?V1VtMnIxSW55Z0ZaTEtxVmpHUCtESDU5cG1OMDA3V2lMdGpYMTlycGdSMW5V?=
 =?utf-8?B?c1drZ2h6bHYvcDArQ3psNnR2bzBVRGYwYlhNZzNDQTlMcGtXUjdrUnozM3Z4?=
 =?utf-8?B?bEdXV2dpSjZncUlUbWxpYkpTcEh4VWNZY1F5ZlZnS1RpNjZ4WmR4N1haTENm?=
 =?utf-8?B?ckFPN3FjR2thdGgrWFhzR0NUdHo1TjE1b1JNRC9SMUJGNTlqSWZoYjBkaFdm?=
 =?utf-8?B?Mk53a0ZWZWNreUtzdmEyUk1vSTRDTmhXRzdHK21DTFZKSVRVd1o4dWlVd3Mv?=
 =?utf-8?B?aGIvdC96M3ZmWHFQQzQ4QjJUOHpjclNPZ25NTUZ3UTIzYzl2U2pyMWpVcXpI?=
 =?utf-8?B?RlhZWTFmLzdaL0c3M0dWeUlDWFJQdkRqeHBQeHArNE05alpNemtiWHNlSGpm?=
 =?utf-8?B?UWlQZU5WSHJ3bXNDU3NqY1FvRVBoa0wyZXBaZnZJSlFubTBOZGRia3YvbUJm?=
 =?utf-8?B?UDlpaUcxRysvdmtyU0hKZHFhSXlWOHJmVnYya3h0cE1QWms2MjlCcEhxb3py?=
 =?utf-8?B?SmZiOGtxVm9uSkxFQXpsNXNDVFArSjdvTDY0bUFPTHpOVFJFbVJmcjJaMHlm?=
 =?utf-8?B?VmFCVzBKSU1vaEttbC9QTkxMQzZMVVNOUUxCdjRldzZVdVdXTDFoWjlZSzBz?=
 =?utf-8?B?KzdFSEVaQmRyK2IyUlNnSnpnR3lnL2o3QllWdzQ2aFZua21WMFZUZVJsK3kx?=
 =?utf-8?B?ek9UN1VMNE0vN1lseWVCRjkzaCtiVnlVSm50ckhIZUl2ZkJmdjdkY21GVEhT?=
 =?utf-8?B?WStCYVpFKzlEbXNlc2lHYi91SC9STkgvZ1UwbWRYOU1yRU81QTJ4eXIwVWRl?=
 =?utf-8?B?bk51MzdWK0NQaUNya0RKc2xpeSs0UnhORnB5TTBDL1lxK2VubUU5OUdrYjUy?=
 =?utf-8?B?ZStVaGx5QVh1anpmRk9GTE8yZmo2bEg2MTcvdWhPL0tpZW1JeWV3TWM4aUdq?=
 =?utf-8?B?b05QVTI4V0EwdFJya2F6SUpUdmFVK1J0RzZTNTVpRGpwQmNDQUs2VW0xcjV3?=
 =?utf-8?Q?vptk1Fx8ZIuSoQcCg7W8oqVWI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b9936d9e-acfc-48fe-9e9a-08db2a18cd74
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:30:21.9329
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DIqThrVUHhnbi11BDrsGkQM8ZIyn0f5a5bNksQ1jCODN0iA3cikSYa5UUrv7ML7A3vI/78HAP3k1O/1bfWhJJw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8160

All,

the former release is due in a couple of weeks time, the latter a week
or two later. Note that with us following the 4 month cadence pretty
strictly this time, 4.16.4 isn't expected to be the last ordinary stable
release from the 4.16 branch, yet (unless, of course, we end up slipping
significantly).

Please point out backports you find missing from the respective staging
branch, but which you consider relevant. I have one change queued on top
of what I've pushed to the branches earlier today, simply because it
hasn't passed the push gate on master yet:

0d2686f6b66b AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:30:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:30:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512733.792907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ped0e-00011e-KY; Tue, 21 Mar 2023 14:30:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512733.792907; Tue, 21 Mar 2023 14:30:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ped0e-00011X-HR; Tue, 21 Mar 2023 14:30:44 +0000
Received: by outflank-mailman (input) for mailman id 512733;
 Tue, 21 Mar 2023 14:30: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=Mk2b=7N=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1ped0d-0000zf-8s
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:30:43 +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 f4c8b15b-c7f4-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:30:41 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id x3so60407184edb.10
 for <xen-devel@lists.xenproject.org>; Tue, 21 Mar 2023 07:30:41 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 jj4-20020a170907984400b009323f08827dsm5490602ejc.13.2023.03.21.07.30.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Mar 2023 07:30:40 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4c8b15b-c7f4-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679409040;
        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=Dw5DwR90ObyH+956CPpSyKACGHfi9ATtygTds2rSG+0=;
        b=OnyqGXAmd4KXsDVvIof3uTryEQJEGtaA+TfC4ozxKfoLzpWam11Qwom04SlgFt67NF
         QCYJ76acQ0IRYsvlYygAeeGOtP4fwJg4EkpF2p4oQM/8Ou4fNYQu9KDzqXkSMLG1Xh2T
         pZic+OSiIjNCdizPs7/tIvcHtqkgd2/YJAtdfhxA5uEC8bdFaOXpdnK2CK5hMLiIf9Ti
         7/5U5xlzxQRNeZKEig2u5bCOMDhGnrpOmT8KM6dU/SntqCTA7IDqsXDCbev4OLFuk0MP
         dTPjO7cx/j2aI+lV3Z0WHWzJVAWvfQOHMkBAWZwUXpUZYwpCQLxwAaYvnnY/MFz+68BJ
         7BRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679409040;
        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=Dw5DwR90ObyH+956CPpSyKACGHfi9ATtygTds2rSG+0=;
        b=zsVBHXY4scQFK5ERQin3nIQi9OT2jKuKdtRuidVf9InJSh1srcN/mlJMAVi0Awv8v5
         382gz/h5moQxFgC6N1D8iPQ+BhCwnoFteupsNE7jyfzItJvsrwXsRdg0zxw3NQLCyoLp
         dh9G8q0fZrP7hTEdX8FAEhQXYstl9bzWkr9yLswKTqtuFEytS06N5k/jVtVvESX5pZRW
         HEtnF86m+biVoFABT2IVFh5IzDSBaqGcI2CMTvA86YcVL0/aGkDJccsTJDcDrfnyHIVR
         9gUV5k/mcsrgEwYHtEfEqy5kGPyUOkGuy9aNq8lUEBoXSDVtzPmgzykzdOGo3LDjYgeh
         Z83w==
X-Gm-Message-State: AO0yUKXtLb7+mPIUK8aEhS3nLVdQFidUAbTxY7MKsRT5rVrPKc6aRtTa
	Ia9lRIcxKapVe2fFPMnqJrI=
X-Google-Smtp-Source: AK7set/X7Gtid0hKqDBSEi4mOpHQ/H0XpoLL83keBvCG1he/9arG47ae2gn5VJNNkJdqY+grBAexxg==
X-Received: by 2002:a17:906:7e14:b0:928:c92e:d112 with SMTP id e20-20020a1709067e1400b00928c92ed112mr3212104ejr.50.1679409040443;
        Tue, 21 Mar 2023 07:30:40 -0700 (PDT)
Message-ID: <d7f5482704816920de94b44eb1ffffb1f8941667.camel@gmail.com>
Subject: Re: [PATCH v5 1/7] xen/riscv: introduce boot information structure
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Tue, 21 Mar 2023 16:30:38 +0200
In-Reply-To: <674d6337-dbff-fc22-fb32-d196c7bf6b63@suse.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
	 <553b07e967f56b78eba2d27c9115cce707a45c08.1678976127.git.oleksii.kurochko@gmail.com>
	 <674d6337-dbff-fc22-fb32-d196c7bf6b63@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Tue, 2023-03-21 at 12:17 +0100, Jan Beulich wrote:
> On 16.03.2023 15:39, Oleksii Kurochko wrote:
> > @@ -50,4 +51,6 @@ void asm_offsets(void)
> > =C2=A0=C2=A0=C2=A0=C2=A0 OFFSET(CPU_USER_REGS_SEPC, struct cpu_user_reg=
s, sepc);
> > =C2=A0=C2=A0=C2=A0=C2=A0 OFFSET(CPU_USER_REGS_SSTATUS, struct cpu_user_=
regs, sstatus);
> > =C2=A0=C2=A0=C2=A0=C2=A0 OFFSET(CPU_USER_REGS_PREGS, struct cpu_user_re=
gs, pregs);
> > +=C2=A0=C2=A0=C2=A0 OFFSET(BI_LINKER_START, struct boot_info, linker_st=
art);
> > +=C2=A0=C2=A0=C2=A0 OFFSET(BI_LOAD_START, struct boot_info, load_start)=
;
> > =C2=A0}
>=20
> May I suggest that you add BLANK(); and a blank line between separate
> groups of OFFSET() uses? This may not matter much right now, but
> it'll
> help readability and findability once the file further grows.
Sure. I'll update it in the next version of the patch.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:35:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:35:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512738.792921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ped4u-0001q9-9C; Tue, 21 Mar 2023 14:35:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512738.792921; Tue, 21 Mar 2023 14:35:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ped4u-0001q2-5W; Tue, 21 Mar 2023 14:35:08 +0000
Received: by outflank-mailman (input) for mailman id 512738;
 Tue, 21 Mar 2023 14:34: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=s3fm=7N=neowutran.ovh=me@srs-se1.protection.inumbo.net>)
 id 1ped4B-0001oZ-VB
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:34:24 +0000
Received: from neowutran.ovh (vps-eb112777.vps.ovh.net [51.83.40.211])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 783f7876-c7f5-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 15:34:22 +0100 (CET)
Received: from neowutran.ovh (82-65-208-184.subs.proxad.net [82.65.208.184])
 (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 9CEB560D1C;
 Tue, 21 Mar 2023 14:34: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: 783f7876-c7f5-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=neowutran.ovh;
	s=my-selector-name; t=1679409256;
	bh=R6slRKmJiDjS9tbt+LavBYIjU2VjgXHVJjgyVAFJPOo=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To;
	b=kkMEPdQYvQJsFIfjRsXYY+3G3pv/frgQE3ZEmEPZOOnaXVKbBYOmP+HgaohxQK2E+
	 SdQAYBcgyU9bN8mdSYl7EnieZhq1cLvm1Q4iLx5anr8eo4CXkNxQV9by1+31TGWP+e
	 64gVKoZ1plzu5VNJBAQLLmcfGWDwaONTZPUZh+L+YSNacfFD+DtFZh3JIdQV/uCtWG
	 71E+MUDs+RdiIIOTFSe6fGlKvJuxR/XiuDKh7x87AgS5w1RsjDE1VRypi/WFwV64at
	 1t0pVNrlmeypq5Tf37PjlE5XUboxd/MWrvvhMyvY3Ek8LL9X5Pm4MKkvSjO7df1eTv
	 WovfWVI+w71k14tXYNWOSSuqmJ8QzaGXo6vthd0dG5DtOaUbOeI1jebvZGYEOsHfVL
	 I9q6ABr9jzpZmys6b9fCMepFcmqAG4RMwhCrWasTGSozVIua80pYTXfSJzArayvJhY
	 WNxjDIfXw4ARsbDxnhB5iGX5BY7exKH9NVAEiZOKlXbSbiYSGU4zBSMnZh1hJKtzqJ
	 1Fqkk3WqrIMUKEqmOYj1kXp5PbrQkmklJTaDH1Zd1R1nkhDqtwOum3fd6l1AgQ/wlt
	 jlzu5bRgVIF4aWNcF7Dap/YKWwGX38QHxE9ZFQ6houuU5ecGm9slf5zVbJmL/wrU7Z
	 iMKcwWC14Re4+TtH+n278IqE=
Date: Tue, 21 Mar 2023 15:34:19 +0100
From: Neowutran <me@neowutran.ovh>
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
	Neowutran <xen@neowutran.ovh>
Subject: Re: [BUG] x2apic broken with current AMD hardware
Message-ID: <20230321143419.p3q74rpoqhm6tk6k@archlinux>
References: <ZAkVVhIldUv/xQqt@mattapan.m5p.com>
 <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
 <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
 <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
 <e5b28dae-3699-cb0d-ab7e-42fdd42d3222@suse.com>
 <ZBSi2KfoQXo7hr6z@mattapan.m5p.com>
 <b2eaeacc-de5f-ebe9-a330-fbf9e20626b1@suse.com>
 <a2de5d87-ada8-46b9-090b-00dc43309362@suse.com>
 <ZBkwboNcQu6ooSRC@mattapan.m5p.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="6k3iv5lldr5zkjvz"
Content-Disposition: inline
In-Reply-To: <ZBkwboNcQu6ooSRC@mattapan.m5p.com>


--6k3iv5lldr5zkjvz
Content-Type: text/p
lain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

> > >>>>>> I was taking a look at the BIOS manual for this motherboard and =
noticed
> > >>>>>> a mention of a "Local APIC Mode" setting.  Four values are listed
> > >>>>>> "Compatibility", "xAPIC", "x2APIC", and "Auto".
>=20
> This does appear to be an improvement.  With this the system boots if
> the "Local APIC Mode" setting is "auto".  As you may have guessed,
> "(XEN) Switched to APIC driver x2apic_phys".
>=20
>=20
>=20
> When I tried setting "Local APIC Mode" to "x2APIC" though things didn't
> go so well. =20

I confirm what Elliott said, just tested the patch on my computer (ryzen 70=
00 series).=20

Before, I was using the workaround "x2apic=3Dfalse" in the xen boot
option.=20

After applying the patch, when "Local APIC Mode" is set to "auto" ( or
at least not "x2APIC"), then it work without needing the "x2apic=3Dfalse"
workaround.=20
If "Local APIC Mode" is set to "X2APIC", then it is stuck waiting for
nvme  
information, like without the patch and without the "x2apic=3Dfalse"
workaround.=20

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

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

iHUEARYKAB0WIQQOCLfH+LKMwBsqlpoBUK/6/4MojwUCZBnAXgAKCRABUK/6/4Mo
jxnXAP9NQrW6d7c3vzdk6hWWDv/mB8oMcTYIkIjrRveLmuPOqQD/Z4bmrzCOniu3
mRI1LGCpp3cP90ApzV+ZMkb3KD5NzQ4=
=3cdz
-----END PGP SIGNATURE-----

--6k3iv5lldr5zkjvz--
 


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:43:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:43:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512758.792931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pedCa-0003aH-8P; Tue, 21 Mar 2023 14:43:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512758.792931; Tue, 21 Mar 2023 14:43:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pedCa-0003aA-5I; Tue, 21 Mar 2023 14:43:04 +0000
Received: by outflank-mailman (input) for mailman id 512758;
 Tue, 21 Mar 2023 14:43: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=oKE/=7N=citrix.com=prvs=437062dd9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pedCY-0003a4-Of
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:43:03 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ac164e33-c7f6-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:42:59 +0100 (CET)
Received: from mail-bn8nam12lp2175.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 10:42:32 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BL1PR03MB5992.namprd03.prod.outlook.com (2603:10b6:208:30a::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:42:27 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 14: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: ac164e33-c7f6-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679409779;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=q69BJjjxzvy1g59CHA2wgDjOX1sMsS/kAJlmneorvLo=;
  b=KxEug5Nure8SWoQKqJQLHfFdPLYpX0qVp3Dek1ukMZmFblD5fRMuIyJ8
   8oLJwjvIpwxYdzmsNZKcqDImEo2r7ju8YSv4y++9FfBUSVLZV32fDIt90
   +TV1vdoVnD4gYxpbzgxK0Ju5fAvkTKxuRTOUTHLU6hmBS+aK87B5dwLmz
   4=;
X-IronPort-RemoteIP: 104.47.55.175
X-IronPort-MID: 104135651
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:qufN8qIaxLIjdwYbFE+R8JQlxSXFcZb7ZxGr2PjKsXjdYENS1GEHy
 GUdCzzTOqveYWuncoxyPdy1/BtU7MeDzdZiS1dlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZnPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5KUGZQ+
 vkHdQkVbxusu8OPzr6EDcBF05FLwMnDZOvzu1lG5BSAV7MMZ8CGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dqpTGMkWSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv02raUwH2mAer+EpW96cBJo1a1m1coCQ9NWwSdnNbio3+XDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBLSNrmK2YTzSa7Lj8kN+pES0cLGtHbylUSwIAuoPnuNtq0U+JSct/GqmoiNGzASv33
 z2BsCk5gfMUkNIP0KK4u1vAhlpAu6T0c+L83S2PNkrN0++zTNL9D2B0wTA3Ncp9Ebs=
IronPort-HdrOrdr: A9a23:uy6gZKMwlliX88BcT6D255DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jztSWatN/eYgBEpTmlAtj5fZq8z+8N3WB1B9uftWbd2FdAQLsSjrcKhgeQYBEWldQtqZ
 uIEZIOb+EYZGIS5aia3OD7KadH/DDuytHUuQ609QYIcegFUdAD0+8vYTzraHGeCTM2c6bQU/
 Gnl7p6jgvlXU5SQtWwB3EDUeSGj9rXlKj+aRpDKw875BKIhTaI7qe/NxSDxB8RXx5G3L9nqA
 H+4kbEz5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJptkJJi7qggOIYp0kf7GZpjg6rMym9V5vut
 jRpBULOdh19hrqDyqIiCqo/zOl/Ccl6nfkx1PdqXz/ofbhTDZ/L8Zan4pWfjbQ9kJl5bhHoe
 p29lPck6ASIQLLnSz76dSNfxZ2lnCsqX5nteIIlXRQXaYXdbcUh40C+0F+FosGAUvBmckaOd
 grKPuZyOddcFucYXyclm5zwOa0VnB2JRuCSlhqgL3h7xFm2FRCi2cIzs0WmXkNsLgnTYNf2u
 jCOqN00JlTU84/d8tGdak8aPryLlaIbQPHMWqUL1iiProAIWjxp5n+56hwzP22eaYP0IA5lP
 36IRxlXFYJCgLT4PC1rd52GkinehT+Yd2t8LAT23FBgMy8eFKxWhfzDWzHkKOb0oci64PgKr
 KO0altco7exFvVaPl0NjLFKudvwFklIbkoU4UAKiWzi/OODLHWncrmV9uWDIbRMF8fKxDC6z
 04LXXOGPk=
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="104135651"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OyRNkf/O6kinnptel4PLHadsA4Cj6D4rr+jvS2MeEb+Cy4eMVWGUarSf72ndgcLZ2wKW9BjB6MCgVjMd4jF7PFryWLUU4coSOjX0eh0YK+ajMDd0ONs3SQMrr5zRGyqHjE8bmuaP01PyGVTC7CVxyw7uNZwQFHEWRyUgB7zq92i3Ct6dAHfHkp/VemU+LkeLGTujn+BegAT0ovn37oSVJfkbfwTX3+QaLkwUnJjoEYzxWZtqD10nF8qXbTCBKGht4CL/vGycc6m6INRGJQ4ERAFqlc94VhQOhucT6m46pU6dm3gVdCKlVqZJEaO+LREA6vybghBLd3Z2UwURdu7jNA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AeQAI9vZlGE1dlhx/KtV9AURRZ5PbouGONNGGsznaXI=;
 b=AL6cX1y+gP3r2TSuRwlNb/KXN45xxT7yhavDIYkJGCE+FQai7o7LlTurk8ZIewU55hmPT4kEFExIxi8qKdjczY7yQSzpFFDXwkMAmdm9T5+SCAaVKpd2HZzxvmLTDkZXn3sZIAUsf+97zYm9WU0ySTGCSBv2mUrCtRnvRJ6QtuKgk+0zkxphRixmKllvhFjDQGmUhlo/xLYNvprCkGTQcdF+WH1XNzwjjM4jaRhAy2i0b93iz8IfHzZEnXnC3rAUSL1PxLZR0UK85u7Ck5E0KdgGdePWbl7HRl4yZnSwpRZ8AeptJSvFrjwSCqR+z5FyPvvBEp79e9ofPwYv3RmepQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AeQAI9vZlGE1dlhx/KtV9AURRZ5PbouGONNGGsznaXI=;
 b=d06ljqdDTQXZ97UlgYPj17WjsxJPgkjBAqRIEub5gLv/EGZUF7h3bi6Nv+oMmhTb9ph4B+b3axTI57RWqOi4VkOyg8ysMmwx7OFwrPihqckqDZEnRD8kLKi+6QD/DRJ08NpGbz0ftgVS3KDnnfY8DD0O9dx8n+kkuAF9yk0tX2A=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Mar 2023 15:42: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: extend coverage of HLE "bad page" workaround
Message-ID: <ZBnCTAw3Fj/BpvTl@Air-de-Roger>
References: <b238f66d-37a9-3080-4f2b-90225ea17102@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <b238f66d-37a9-3080-4f2b-90225ea17102@suse.com>
X-ClientProxiedBy: LO4P123CA0671.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:351::11) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BL1PR03MB5992:EE_
X-MS-Office365-Filtering-Correlation-Id: 234f2d6f-924f-4aa9-710a-08db2a1a7d78
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8UbZLiRybaDF62+tn7SEZt3s1IbqlR0v84FRPHI0Dxedwx9z83xpvyI4kNbFCjLjboy8fpbybH3Ap+00VDCpOuKqxSygB6GpF3zjP7aEAQhEfhxfmmSQIM7HF4gJa4Z1P2wnt/c/dR/hV+ecxdO58cyvWxi7NzixYpnXAzEdGcFyuf3RAWCx9Z5ITkeJDMK/pV5NfOeT58Gmcqy5ua4hiISWqWdyhCW7+4zHRdiHSXb59JVrMXbshDiIPRk59wW3WDncpORyoSESnGSFR+dtUc5uccbjcgHpzYdzWadv95WNv9BCHm3bdKbzfnI7PI4JahDOYT/qS2/oE9S7oN7ve1B4qFSmJa/VdgZsktOhWbQbt9XHQ93OD4nTOX8D3aTU8iB87a2v9p7MhakREFkjyyp4Ja6kOQl7goOIPQqW21lYBim5lkCAaEf6h/R+IB0YAIP3upkV01piwe2sv3p4OFvfvSXedcaptSJsnJwb2I/zPvdqr1k2ZJanVGYcGGk5gofSsJ0qQBj7cIT0Q44w1m9KLKK1FJTIiGTSSUR0cMsy/vhz9TxXNc14GOzJ6hDCKqBA6vnvlYp1YOW4Jfov3ILmdykB/F7UEjTPcwHrSVZvw+khFh0hPmIJBre4jzr69mObTpTfjZMBfFUbN+/whA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(396003)(39860400002)(346002)(376002)(366004)(136003)(451199018)(6506007)(26005)(9686003)(6512007)(6666004)(6486002)(4326008)(316002)(6916009)(66476007)(8676002)(66556008)(66946007)(478600001)(186003)(54906003)(8936002)(5660300002)(4744005)(2906002)(41300700001)(82960400001)(38100700002)(86362001)(33716001)(85182001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VDVBeWJXREtXY3NhdVczMUF0Q1dlN05SendtUHpMSytDT3locXFhcCtVa2tj?=
 =?utf-8?B?bm1TMk5lcVJDYWZZVnhZZGtHTHVmdHMzQ1JOTjZaY0JWLytoRUNLWVk3akpk?=
 =?utf-8?B?Wk5wOGxRZGtOSk0xNUp3SDNXaUlEVDNwL3lMdTZtOW95KzF4d2RqYmpkSjVa?=
 =?utf-8?B?UnkxUFRSeUhIRkh6TVVXQ2xxZTFvVG5tcnQyZ1JtczVVMXRoekRYRXV6bjA0?=
 =?utf-8?B?S2JpbGxiNlNGNGhwcGhXRFZJZWMzaUNDZDJKZFpDaUo3SVFWUUVUdG9jV3Zz?=
 =?utf-8?B?K1NFYUFnVzdpMVRqZnhINDh4TkdYQ0xoSjlnQk9kV1dncThJTXYyOUFCKzVv?=
 =?utf-8?B?TnFjdGFqbGtlQ3YySFc5Q1lmQjBCazZvcjlwRXlRVTVpQmJLeEFnUkZrdC9q?=
 =?utf-8?B?R3libkt6SC9OTGFxMjFCaXNUSVErQ2Z4L2YxVTRkeUNkV0NtZ1Y4eU42TnBj?=
 =?utf-8?B?VFRCa3pMUVV3MW8rS2M5YTcvNmxGY1F1cGZ5aEJLdjZaTksxZnVVYW5QdEQv?=
 =?utf-8?B?WU04TU1ySGhkMEFLT1hiclVPY1ptNjgyY2VDSmo1cDJ4SzJmKzRRUFZKY0Vw?=
 =?utf-8?B?cG56M2pvbmtsaXEydGVkVzBWUHNaV0RqdExtL0VTS2NaYUNuNS8xTTVxb3lk?=
 =?utf-8?B?VFYvWGZIUzFPMFJ1SUhraTQ2bmRmYmxLYXM3d1pVVElPemkwR1VFK05wOVVp?=
 =?utf-8?B?clhYdlh2R3VHaXlWbnJ4Q3AvQVJpa1kvcEZ0c1UxY2ZCemFRNkRBNFBWTHVK?=
 =?utf-8?B?TXl2UXRWcmJ6K1NVY1dDN2wvSkdYRTRRWDFJTEplV0VEZmdLQVR6UEx3RUVl?=
 =?utf-8?B?RGNHclM4MWE2OWltREEvL2YzZmxSbVdlcHlOMEh4UEVXSGpQWUUvSG5HSmw0?=
 =?utf-8?B?cENLZ1dBalJrMUNpKytQRFdhQjRHU0ZFa2RsWnRjRmJuMHpmb0VXM25ZaGVt?=
 =?utf-8?B?WW9sVjdIajgybE9PTEVQNXAzUFhNNDVpMjZLYVJwekpNQ0J0Um81VHJQWnh2?=
 =?utf-8?B?bXphZjQ4Qll2aXBzWnBjNkxxZnhDUm5vYno1QllIaSs4Z09OK285Z0FQQXFV?=
 =?utf-8?B?MmRyN0t0NVFoTzZ4U0pNOUdXRXZQdE1sWDFLbTFZQkRHbnl2aHg5Q2JXUzM2?=
 =?utf-8?B?SnNTTmN5N2I4NzFteWdsUzdXQmMvTW1taXRGYmFOMnV1QUlXdnZFbUxxT0k5?=
 =?utf-8?B?VlByT0I4QzhQTU5rQUhFMXBKU0J1cWVUQWVUS0RsSDJpQzdFQ2pDVWh5U0Rl?=
 =?utf-8?B?bThkVnBISlV1dWJ4dkF2Uld6WVh2WTExNm9SdFprNFdQV0RDMWJ0WHhOR3JG?=
 =?utf-8?B?K2FzcGZvbFRQdzNuOWRKcUdpT0R6Q2Nac290elEzY2lCU1ZjTGtiS0wxV3JK?=
 =?utf-8?B?Y3Jqdk51TDJDNTZZekhvUWk5a2RvUGJzODVvRStlaHUwckM3ZGNRN2dRbFIz?=
 =?utf-8?B?WjN0VitEMjRqYnk4S0JML2czZk82bml5dFBSYnN2TjVRdUJSd3A0WlVQL3Fv?=
 =?utf-8?B?WlFDVll1dzU4TnJEOXp5TWtPcmJxSnllWE9DcVpqM1VwY1FqdkFHZkR1Y0ZR?=
 =?utf-8?B?SmtFNDFKVGp1VU41dXdCOWVhZW5lSXpzWWZjaGVyQjd6WTdHaU8zYXpBWHph?=
 =?utf-8?B?MGdGTkZuT0tkcUl0cHNPZldBY3dKU1lhV2V0VTZJcTRyKzZ4cWpxSVFXTWZU?=
 =?utf-8?B?a2tWTDZFdWQ0MDdUY1hyNEM2QjFCSjVrc09rZUt4VldTaEwyQko3ZlFBQXVY?=
 =?utf-8?B?bllDaXNUSkg4WDRNT1Rqb3RweTZSVndvVFRXd21zVEhpeEZkdVJUTjJzV0du?=
 =?utf-8?B?dzIvd2tjTWd0MXM1em1lanpXbzV3Yjh3ZGN3TzhIN01rT3JWd1RVTzQ5bzdx?=
 =?utf-8?B?clZZTFR5ZGpjeXhyUUJ1VWZHRFZvNXRRV2JiK2hWbEVtUC94QnJwU0Fpaitu?=
 =?utf-8?B?VCtoVTRZa0NJZ2EwaVoxU3dON2dodGI3UkdzaE15cjZpQURFMDNYd3hFRVo4?=
 =?utf-8?B?ZU4yRml5bEVVYVN0RGdwZytMMWNpR0tvN3RDaVlUV3BBOUlsTUtoc2VmVzc0?=
 =?utf-8?B?WHFwMFkzbTRQNUczdDcyaEJMeFo5ckRKWG5Kcm5jNGJ2TjN2aU5WazhaR3lI?=
 =?utf-8?B?bEgwZk5MSEpaMFRtQlhRdE4rNXJFRzA5RGIwb0U1LzE4WndmYit5Z0Zsc0pR?=
 =?utf-8?B?c3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	MB4tY3yD/zQLsAUcwdEuMkxDgfg7de+ZRiHotH33Yc0cWY0SZweb0dmwTMKrBG0LNRjnY8I0HSlbLhIar0PDkwJEiAVmwbeCJy+rBJK8qicKAMSiNf85cm2NPBlXzVeau9mjuyXCYG2rdea2occhhPO/fR69cKfT3AGTvEEMSJHX2dOEUUWVJubxvrI/MasmaRfUCSUmPDBImK4Kjckiz/LzrvNxYFGxM2qCFXExE0CsiyWoqWjNCASWWPAcc2f6aFFyCujfbwfAfkll8F309UnKTPtsFy2z0NNVfFgtpe8Ic+CkQpIiLSp6fL1WKdNNDZZmmfdfszVx4a/sc2yqwl/uysX8HsxSmlA3s3ajLQSCarAFGx9gH7W5nPgQCyrQur6HQLmCLoexHP+ZRvwofjry503EPesYeL/+b0pToPlAmSRB2VLgQLYSyakxtbef/IhQc7IVAI1bIdqtrgtTBfvqHa0P+0HwH2PTDgMbSxqK10JM2PHgW2vpbaPUbvNR4+DL60p7tmz8EHExi93DMPhX04T1U/RWL0xygnf1Rp9zGEAZS76Nzbemgnt9Y465Wyqjaaut26ADDkhNe4oDC6FO2NQMhTvEuA6A7KGU6Wfp/dz8vA+OYumktq7eDJwZ0GAk70JQMn6iZ53i++ORbkLeBpyMNW1/tVFuR6ykMvNi1+8NOmKxvfwsub6fsB5IQNtJj/54eNnX7j+YnWXhHNsPuQkwV/NovjIHQeLVxkLNg0Rk/xpIUZrh0Ohsmb2/MRFyqWu0ZRCSGVUCbTFfJhOkObh6oK4BfJLHDIkdtGRD+TVrJTBd6LnhtSC+wC6m
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 234f2d6f-924f-4aa9-710a-08db2a1a7d78
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:42:26.7962
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Li+jZJQpALo3aQedWQuPr8gowIeWx7C5QI+dO7opWcfBQZTsELtI6R+KFYAtpFDJhAEHzfkhzrpu/L9hmE+25w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB5992

On Tue, May 26, 2020 at 08:49:52AM +0200, Jan Beulich wrote:
> Respective Core Gen10 processor lines are affected, too.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -6045,6 +6045,8 @@ const struct platform_bad_page *__init g
>      case 0x000506e0: /* errata SKL167 / SKW159 */
>      case 0x000806e0: /* erratum KBL??? */
>      case 0x000906e0: /* errata KBL??? / KBW114 / CFW103 */
> +    case 0x000a0650: /* erratum Core Gen10 U/H/S 101 */
> +    case 0x000a0660: /* erratum Core Gen10 U/H/S 101 */

I think this is errata CML101, I would add that at the end of the
comment.

Also you seem to be missing the '806ec' model (806e0 case)? (listed as
'U 4+2 V1')

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:43:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:43:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512759.792940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pedCs-0003yY-Gc; Tue, 21 Mar 2023 14:43:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512759.792940; Tue, 21 Mar 2023 14:43:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pedCs-0003yR-Dm; Tue, 21 Mar 2023 14:43:22 +0000
Received: by outflank-mailman (input) for mailman id 512759;
 Tue, 21 Mar 2023 14:43: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=Mk2b=7N=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pedCq-0003we-MY
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:43:20 +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 b8dd7111-c7f6-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 15:43:19 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id eg48so60519491edb.13
 for <xen-devel@lists.xenproject.org>; Tue, 21 Mar 2023 07:43:19 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 hy14-20020a1709068a6e00b009351546fb54sm2282501ejc.28.2023.03.21.07.43.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Mar 2023 07:43: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: b8dd7111-c7f6-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679409799;
        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=XThZ6lmuLQxDd9DKefQ+06Tp1xtXj4lVszU4dtYqqkk=;
        b=oq4UrdunKqOULpXfch7xlL5BRXTnk2YuD7gMl+5Hql8QAGxFlKB8HTPkPxBvbPvoVh
         9QmnxtKy+oUaAhJ+kRGIiu8Nr/AEqkw+ZAswCfH2Ug6rc86sTm5tUJIr6b63n9i5pF4d
         Q9PrudH11sUgeSiQyx4cOx1ZVeja3s4TZteDxlj3j3bwfWsvudAnwKkAFsjuG9LFY5GX
         Lo9O6XKr8VctwPYksYbXrO35XNSaFTBi5nHncFCz2jJ6zz1/4LIHuR8SOk1n3/fgco1M
         ct/Wo3t40lXACI3+H+HyVHv26klfaASkYObEfHq+c5DgMJPZB5SgyBpTmeGzTEFxubfG
         atPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679409799;
        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=XThZ6lmuLQxDd9DKefQ+06Tp1xtXj4lVszU4dtYqqkk=;
        b=P9qHxCS1cLUk5HaNJNQZHpmdOTPIdU6wpodtkhW7EagDtShETuF4Ut9zDQLxDOckVn
         eO5ySbVOd9xPQXwKsYwLLGidwARGBz8Ag+n+2qgFTFUoIFR8z71tAEFMXLkOvW7oDSCV
         oF23O5QAcIMrmIx3t5RMpP4w2WPPHWdZwonc06Mc9uvE7CWUq/146rKOBO6CNkUT0XKW
         wA9X3BM6cBp0YDCb4cXJpPzZv9AcMN2jVKSGQEcqybXJUDPMNGdt0CCT1DW9oiFg7Qxx
         MKUv8k8WIVHMd3/BnMexzCU3CSCTtoCcv5QTd7mKZAl3xVUoUd7Zrv6PJiv1gdqyDBRa
         TXfQ==
X-Gm-Message-State: AO0yUKXa9EvAeO31XYWuaoEE+EyJj+nRc22k0CTBn5sTIQVV7DaCKES6
	oEMKgawoDKZJEttGkY89JYY=
X-Google-Smtp-Source: AK7set/3zOqKmmCG8FMCeyhHRo12kUoi03AUOExVtnBOe1OcK7zjVYP43L5JIGpPepVQqY2a7eJbQA==
X-Received: by 2002:a17:906:4ec8:b0:931:95a1:a05a with SMTP id i8-20020a1709064ec800b0093195a1a05amr3108545ejv.62.1679409799147;
        Tue, 21 Mar 2023 07:43:19 -0700 (PDT)
Message-ID: <0c5f4d3a33012c3f7fab163214f49ffa5afe69f2.camel@gmail.com>
Subject: Re: [PATCH v5 2/7] xen/riscv: initialize boot_info structure
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Tue, 21 Mar 2023 16:43:17 +0200
In-Reply-To: <b0581373-bc41-f05b-d3c9-d5e12b0111fc@suse.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
	 <1941d4ed64ff6edcc6354d09d6a40db4d6f63c44.1678976127.git.oleksii.kurochko@gmail.com>
	 <b0581373-bc41-f05b-d3c9-d5e12b0111fc@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Tue, 2023-03-21 at 12:27 +0100, Jan Beulich wrote:
> On 16.03.2023 15:39, Oleksii Kurochko wrote:
> > --- a/xen/arch/riscv/setup.c
> > +++ b/xen/arch/riscv/setup.c
> > @@ -1,12 +1,16 @@
> > =C2=A0#include <xen/compile.h>
> > =C2=A0#include <xen/init.h>
> > +#include <xen/kernel.h>
> > =C2=A0
> > +#include <asm/boot-info.h>
> > =C2=A0#include <asm/early_printk.h>
> > =C2=A0
> > =C2=A0/* Xen stack for bringing up the first CPU. */
> > =C2=A0unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
> > =C2=A0=C2=A0=C2=A0=C2=A0 __aligned(STACK_SIZE);
> > =C2=A0
> > +struct boot_info boot_info =3D { (unsigned long)&_start, (unsigned
> > long)&_end, 0UL, 0UL };
>=20
> You add no declaration in a header, in which case this wants to be
> static.
Sure.
> It may also want to be __initdata, depending on further planned uses.
I am going to use it only for initial page table initialization.
At least for now.
> I
> would also like to suggest using C99 dedicated initializers and in
> any
> event omit the 0UL initializer values (as that's what the compiler
> will
> use anyway). Yet even then I think the line is still too long and
> hence
> needs wrapping.
>=20
> > @@ -15,11 +19,19 @@ unsigned char __initdata
> > cpu0_boot_stack[STACK_SIZE]
> > =C2=A0 */
> > =C2=A0int dummy_bss __attribute__((unused));
> > =C2=A0
> > +static void fill_boot_info(void)
>=20
> __init?
Yes, should it be __init.
>=20
> > +{
> > +=C2=A0=C2=A0=C2=A0 boot_info.load_start =3D (unsigned long)_start;
> > +=C2=A0=C2=A0=C2=A0 boot_info.load_end=C2=A0=C2=A0 =3D (unsigned long)_=
end;
> > +}
>=20
> I'd like to understand how this is intended to work: _start and _end
> are known at compile time, and their value won't change (unless you
> process relocations alongside switching from 1:1 mapping to some
> other virtual memory layout). Therefore - why can't these be put in
> the initializer as well? Guessing that the values derived here are
> different because of being calculated in a PC-relative way, I think
> this really needs a comment. If, of course, this can be relied upon
> in the first place.
Your guessing is correct. In this case addresses of _start and _end
will be calculated in a PC-relative way.
So I'll add a comment.

>=20
> Also please be consistent about the use of unary & when taking the
> address of arrays (or functions). Personally I prefer the & to be
> omitted in such cases, but what I consider relevant is that there
> be no mix (in new code at least).
Sure.

Thanks for the comments.
I'll fix that in the new version of the
patch.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:44:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:44:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512764.792951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pedEH-0004eh-RG; Tue, 21 Mar 2023 14:44:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512764.792951; Tue, 21 Mar 2023 14:44:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pedEH-0004ea-O1; Tue, 21 Mar 2023 14:44:49 +0000
Received: by outflank-mailman (input) for mailman id 512764;
 Tue, 21 Mar 2023 14:44: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=Mk2b=7N=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pedEF-0004eU-UD
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:44:47 +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 ec1f4cca-c7f6-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:44:45 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id x3so60587639edb.10
 for <xen-devel@lists.xenproject.org>; Tue, 21 Mar 2023 07:44:45 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 k12-20020a50ce4c000000b004af70c546dasm6399342edj.87.2023.03.21.07.44.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Mar 2023 07:44:44 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec1f4cca-c7f6-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679409885;
        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=o0eKAm3w+MLMO2xDlQnRXgMFej2WGE/ICARDnwgXa7c=;
        b=oQJbWYsPId/o0jWqV5SRbUS/UveX7E4rAXBbzlKb6A9Cn1JKLVwMbFqidO5T4lW97Q
         7hP1w9Mi0hH2Cr+Qd+g8wHiNR6Uv8w7PKUnblq6pimHeqWS2Xkw45W4MOTTWkSXHYuPZ
         M/7zeoz1Hqxv5SWugBC6Wli7k8yPDXoUcIwPD0/pVZWpHi0YK/ltSvl+o4Zrs2Qlql2u
         SQa00Q3OvXoJxhkUi+6ggGrdfOFGgw9WL9GkS7ELD/3w0R3J+9LO/ZrV02x8B8Beu8vO
         AhTAqW2thom4p+rPgdVdHx6CSNZPIaznG7TQOoBi9dTlixdCsxqcnoeMuGIe0F1JJplr
         hgsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679409885;
        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=o0eKAm3w+MLMO2xDlQnRXgMFej2WGE/ICARDnwgXa7c=;
        b=F0wrWYW4Nd6vwupyk67dpULNkjvSJhcADZU4Z2TdWAy9z4IU/r9WCLej9Mby7GmrkT
         xwoK+5env1yJy2NuHcqsWE8CuRvdm6lipZQizbP2V0LIf9XrGMhP+gOhx33GGT00YBUC
         Zd1coZA3B/vMqc1cIlvDrlpdIXdbi97I1JZW+zGsa0V5NeTRcCdEJn1BxshB7hLqNrYi
         ms6MRBybKaX+/j5FucP2mzEeZYQ4KevBLZ8bS59HTurpN+OAsjaP1EGYheeBbMZLhU0y
         M9yfTkg7gpVRMTry5aBq452SOhFTaq9UJ+5XySCg734skLakbceQM3/Ca6Kh3sYTAwEp
         zkRA==
X-Gm-Message-State: AO0yUKUWYi00EwGgPXzK4bUts1vjQrSCWfewAyMaA6rDlREaZwh+gf6T
	KRxGSQ2f6NZoCOhQB/x7zho=
X-Google-Smtp-Source: AK7set9f61HcPFlCMHkDuP9JxsiemFJF4/KHd8NhfnPy8N/krM62MWw4Tm4t92h/AFmqReFDkKpcwQ==
X-Received: by 2002:aa7:ce09:0:b0:4ad:1e35:771f with SMTP id d9-20020aa7ce09000000b004ad1e35771fmr3939981edv.35.1679409885174;
        Tue, 21 Mar 2023 07:44:45 -0700 (PDT)
Message-ID: <f06280271a75c8d52202b8dc621e07178986e065.camel@gmail.com>
Subject: Re: [PATCH v8 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
 xen-devel@lists.xenproject.org
Date: Tue, 21 Mar 2023 16:44:43 +0200
In-Reply-To: <7ebd7064-8ebd-a072-fc2e-2629cc99f7eb@suse.com>
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
	 <2afad972cd8da98dcb0ba509ba29ff239dc47cd0.1678900513.git.oleksii.kurochko@gmail.com>
	 <3bc211fa-a8f7-70ce-bfa9-5e4380776070@suse.com>
	 <99354bbeabf11e86cbf3fd46019c08fb36bf0098.camel@gmail.com>
	 <6af7a3ea-f454-7027-590d-f883e6c2a523@suse.com>
	 <02a815ffe1d3839f6f82ab4d16ec8d124642617d.camel@gmail.com>
	 <390dd04d369fad707fd786ed37992ec27a63b7cf.camel@gmail.com>
	 <7ebd7064-8ebd-a072-fc2e-2629cc99f7eb@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Tue, 2023-03-21 at 14:35 +0100, Jan Beulich wrote:
> On 21.03.2023 12:18, Oleksii wrote:
> > On Mon, 2023-03-20 at 13:36 +0200, Oleksii wrote:
> > > On Fri, 2023-03-17 at 15:59 +0100, Jan Beulich wrote:
> > > > On 17.03.2023 10:23, Oleksii wrote:
> > > > > On Thu, 2023-03-16 at 12:26 +0100, Jan Beulich wrote:
> > > > > > On 15.03.2023 18:21, Oleksii Kurochko wrote:
> > > > > > > --- /dev/null
> > > > > > > +++ b/xen/common/bug.c
> > > > > > > @@ -0,0 +1,108 @@
> > > > > > > +#include <xen/bug.h>
> > > > > > > +#include <xen/debugger.h>
> > > > > > > +#include <xen/errno.h>
> > > > > > > +#include <xen/kernel.h>
> > > > > > > +#include <xen/livepatch.h>
> > > > > > > +#include <xen/string.h>
> > > > > > > +#include <xen/types.h>
> > > > > > > +#include <xen/virtual_region.h>
> > > > > > > +
> > > > > > > +#include <asm/processor.h>
> > > > > >=20
> > > > > > I actually meant to also ask: What is this needed for?
> > > > > > Glancing
> > > > > > over
> > > > > > the
> > > > > > code ...
> > > > > >=20
> > > > > > > +/*
> > > > > > > + * Returns a negative value in case of an error
> > > > > > > otherwise
> > > > > > > + * BUGFRAME_{run_fn, warn, bug, assert}
> > > > > > > + */
> > > > > > > +int do_bug_frame(struct cpu_user_regs *regs, unsigned
> > > > > > > long
> > > > > > > pc)
> > > > > > > +{
> > > > > > > +=C2=A0=C2=A0=C2=A0 const struct bug_frame *bug =3D NULL;
> > > > > > > +=C2=A0=C2=A0=C2=A0 const struct virtual_region *region;
> > > > > > > +=C2=A0=C2=A0=C2=A0 const char *prefix =3D "", *filename, *pr=
edicate;
> > > > > > > +=C2=A0=C2=A0=C2=A0 unsigned long fixup;
> > > > > > > +=C2=A0=C2=A0=C2=A0 unsigned int id, lineno;
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0 region =3D find_text_region(pc);
> > > > > > > +=C2=A0=C2=A0=C2=A0 if ( !region )
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -EINVAL;
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0 for ( id =3D 0; id < BUGFRAME_NR; id++ )
> > > > > > > +=C2=A0=C2=A0=C2=A0 {
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 const struct bug_=
frame *b;
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 size_t i;
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for ( i =3D 0, b =
=3D region->frame[id].bugs;
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 i < region->frame[id].n_bugs; b++, i++ )
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 if ( bug_loc(b) =3D=3D pc )
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 {
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 bug =3D b;
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 goto found;
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 }
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > > > > > > +=C2=A0=C2=A0=C2=A0 }
> > > > > > > +
> > > > > > > + found:
> > > > > > > +=C2=A0=C2=A0=C2=A0 if ( !bug )
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -ENOENT;
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0 if ( id =3D=3D BUGFRAME_run_fn )
> > > > > > > +=C2=A0=C2=A0=C2=A0 {
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 void (*fn)(struct=
 cpu_user_regs *) =3D
> > > > > > > bug_ptr(bug);
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fn(regs);
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Re-enforce con=
sistent types, because of the
> > > > > > > casts
> > > > > > > involved. */
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( false )
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 run_in_exception_handler(fn);
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return id;
> > > > > > > +=C2=A0=C2=A0=C2=A0 }
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0 /* WARN, BUG or ASSERT: decode the filena=
me pointer
> > > > > > > and
> > > > > > > line
> > > > > > > number. */
> > > > > > > +=C2=A0=C2=A0=C2=A0 filename =3D bug_ptr(bug);
> > > > > > > +=C2=A0=C2=A0=C2=A0 if ( !is_kernel(filename) && !is_patch(fi=
lename) )
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return -EINVAL;
> > > > > > > +=C2=A0=C2=A0=C2=A0 fixup =3D strlen(filename);
> > > > > > > +=C2=A0=C2=A0=C2=A0 if ( fixup > 50 )
> > > > > > > +=C2=A0=C2=A0=C2=A0 {
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 filename +=3D fix=
up - 47;
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 prefix =3D "...";
> > > > > > > +=C2=A0=C2=A0=C2=A0 }
> > > > > > > +=C2=A0=C2=A0=C2=A0 lineno =3D bug_line(bug);
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0 switch ( id )
> > > > > > > +=C2=A0=C2=A0=C2=A0 {
> > > > > > > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_warn:
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Xen WARN =
at %s%s:%d\n", prefix,
> > > > > > > filename,
> > > > > > > lineno);
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_st=
ate(regs);
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 break;
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_bug:
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Xen BUG a=
t %s%s:%d\n", prefix, filename,
> > > > > > > lineno);
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( BUG_DEBUGGER=
_TRAP_FATAL(regs) )
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 break;
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_st=
ate(regs);
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 panic("Xen BUG at=
 %s%s:%d\n", prefix, filename,
> > > > > > > lineno);
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0 case BUGFRAME_assert:
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* ASSERT: decode=
 the predicate string pointer.
> > > > > > > */
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 predicate =3D bug=
_msg(bug);
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !is_kernel(p=
redicate) &&
> > > > > > > !is_patch(predicate) )
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 predicate =3D "<unknown>";
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk("Assertion=
 '%s' failed at %s%s:%d\n",
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 predicate, prefix, filename, lineno);
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( BUG_DEBUGGER=
_TRAP_FATAL(regs) )
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 break;
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 show_execution_st=
ate(regs);
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 panic("Assertion =
'%s' failed at %s%s:%d\n",
> > > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 predicate, prefix, filename, lineno);
> > > > > > > +=C2=A0=C2=A0=C2=A0 }
> > > > > > > +
> > > > > > > +=C2=A0=C2=A0=C2=A0 return id;
> > > > > > > +}
> > > > > >=20
> > > > > > ... I can't really spot what it might be that comes from
> > > > > > that
> > > > > > header.
> > > > > > Oh, on the N+1st run I've spotted it - it's
> > > > > > show_execution_state().
> > > > > > The declaration of which, already being used from common
> > > > > > code
> > > > > > ahead
> > > > > > of this series, should imo be moved to a common header. I
> > > > > > guess
> > > > > > I'll
> > > > > > make yet another patch ...
> > > > > As mentioned above. Not only show_execution_state() but also
> > > > > cpu_user_regs structure. ( at lest, for ARM & RISCV )
> > > >=20
> > > > Do we deref "regs" anywhere? I can't seem to be able to spot an
> > > > instance.
> > > > Without a deref (or alike) a forward decl is all that's needed
> > > > for
> > > > this
> > > > code to compile.
> > > You are there is no a deref so let's swich to a forward decl.
> > >=20
> > > I'll add it to a new version of the patch series.
> > I just realized that show_execution_state() is declared in
> > <asm/processor.h>.
>=20
> Not anymore with "move {,vcpu_}show_execution_state() declarations
> to common header", which was specifically made ...
>=20
> > So we have to leave an inclusion of the header or declare the
> > function
> > explicitly.
>=20
> ... to eliminate this dependency, but which sadly is still pending an
> Arm side ack.
Oh, I forgot about that patch.
Then you are right there is no any sense in the inclusion of
<asm/processor.h>.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:44:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:44:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512765.792961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pedEL-0004vC-9q; Tue, 21 Mar 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 512765.792961; Tue, 21 Mar 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 1pedEL-0004v3-4Z; Tue, 21 Mar 2023 14:44:53 +0000
Received: by outflank-mailman (input) for mailman id 512765;
 Tue, 21 Mar 2023 14:44:52 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pedEK-0004uf-Ll; Tue, 21 Mar 2023 14:44:52 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pedEK-00077B-Hn; Tue, 21 Mar 2023 14:44:52 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pedEK-0003ZM-0r; Tue, 21 Mar 2023 14:44:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pedEK-0000zw-0J; Tue, 21 Mar 2023 14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=gdPkOWRihXdFYIoJU2WVpIAYOEmiv7vd8Q7e6F6YAAo=; b=XZnvpZDd/3OP6FSNrZN/QRqnY0
	+wp0Z1gkmLHmHoTddL4vYvjDT/XANzv4jYY/9Akdgs2zSUUiZ0npWF/cPc4tHfabOyfVm9GX4Vu+E
	ooRGm16dGDWZkaMOUyPAww7ff6Ey7B9grzznIC/1YpzPYn4oJ8ZLIQlZFlEkp3NR30kY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179824-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179824: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=aa9e7fa4689d1becb2faf67f65aafcbcf664f1ce
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Mar 2023 14:44:52 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                aa9e7fa4689d1becb2faf67f65aafcbcf664f1ce
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z   12 days
Failing since        179526  2023-03-10 01:53:40 Z   11 days   20 attempts
Testing same since   179824  2023-03-21 00:40:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Steve Sistare <steven.sistare@oracle.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Wei Wang <wei.w.wang@intel.com>
  Willem van de Velde <williamvdvelde@gmail.com>
  Yeqi Fu <fufuyqqqqqq@gmail.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:52:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:52:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512777.792974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pedL7-0006xo-4D; Tue, 21 Mar 2023 14:51:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512777.792974; Tue, 21 Mar 2023 14:51:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pedL7-0006xh-0U; Tue, 21 Mar 2023 14:51:53 +0000
Received: by outflank-mailman (input) for mailman id 512777;
 Tue, 21 Mar 2023 14:51: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=gNSa=7N=citrix.com=prvs=4373eb648=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pedL6-0006xb-27
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:51:52 +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 e80af326-c7f7-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:51:49 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 10:51:39 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH7PR03MB6942.namprd03.prod.outlook.com (2603:10b6:510:157::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:51:36 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 14:51:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e80af326-c7f7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679410309;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=ABS3/fMU3ONbnQRjUAtsQkLqmZTkk2QyiHHdhyytP98=;
  b=XGrgWxaIKdRLkbkHmdteoGUO0976aQSs8WxGWQOXSeUCXk8a0FVlTy2W
   1hu/eST9jT4D19T7zrU0c307x43tqpyrd4cSCHpn9Ui0+SSOLvEqGcunG
   yhFZ+2LtEMquHdBhwymcEpvkxiFaSwtI+hoqQLKxFMTImKgu82PYrPMVB
   w=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 101086739
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:mQWa+aAzbaFUYBVW/wTiw5YqxClBgxIJ4kV8jS/XYbTApDoi0TdVx
 mVKXz/UMviDa2r0e4hzYYm0pE9S75PQx9JrQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhC5wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw+OJTXVBl5
 8cjMjUhdzmHtviQ+pu5Vbw57igjBJGD0II3nFhFlGicJ9B2BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI9exuvTm7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prraXxHurBt1JRdVU8NZYoE+W6GYfEiY3C0SnvPn6iX+cXNhAf
 hl8Fi0G6PJaGFaQZtv3UgC8oXWElgUBQNcWGOo/gCmdx6yR7wuHC2wsSj9adMdgpMIwXSYt1
 FKCg5XuHzMHmKKRYWKQ8PGTtzzaBMQOBWoLZCtBRw1V5dDm+dg3lkiWEIclF7OphNroHz222
 yqNsCU1m7QUi4gMyrm/+lfExTmro/AlUzII2+keZUr9hisRWWJvT9XABYTzhRqYELukcw==
IronPort-HdrOrdr: A9a23:gfbIpK01RDm/0Wxh9gekDQqjBLUkLtp133Aq2lEZdPU1SL3/qy
 nKpp536faaslcssR0b+exoQZPvfZq+z+8T3WByB8bGYOCOggLBR72Ki7GSoAEIcxeTygc379
 YFT0ERMqyTMbCk5fyU3OHee+xQueW6zA==
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="101086739"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Vr07UTXqOs/gq141VfJZHkwlV7MP7WjVTK0JZ0DOPFx8fJUP9+jwml3VU0gYXYJCt+2OdLebxZAsa0W15Rtm0NgKjdwpAaKcZqpZtuIAyw0sQhwMaa/8x1W9QalUfRu+jjbVBqTH62R6Y2Y2MlAxYeitzruQ5h8IoWVKslIX8mIeYRGpVdUPLvsojLwgFpQOWcTKPMU/4RXjy+HR0KVLfTnOvtNc3kNzXQD7JR2ntJtPuUMOooiwNmdGJNmWCfTPbvZnw3/e/wEZAjiClg0vcu/k+hvVb4UurSd0kEtUG/cwYIfwk/UB3A7tg7yjnSCR26iq0V1B9jzA6F4Yk47Czg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t9BJe+0y/uYdfgD0pS0o33L7+hpL4Z1mB0nGrbYNQWQ=;
 b=IXslA+c1X4UGd/NFz37nXJD2vyWhYStp9U8+w31YtrVYH6c/IvyxdSVWWfS6i88H3xsRDVGQlRxNSDRcozwRq2DkwSwDg6GNy+IKSSV/N+KwBPZ7MeP1sn8WM9Sg2yQFaCFaBkgmbNXbbOz0HxQxBGdMkC9jnIXbA8rYNuTDKESlO6jw1TnxQEIJv8wYPOVexopXV3XiRLRvht0rJy1c2g4qLMrhRM69vigB2lvxDBQyeDl5ABZIq4OWsCJEpmYt1BthlUStv1ca1GkYopFxrM56/WmLo0yuvBB4+jyr8v5+SEaUXkTcXhVcq9ORvlMPDxf1fVeCVsyMklnT5BAOAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t9BJe+0y/uYdfgD0pS0o33L7+hpL4Z1mB0nGrbYNQWQ=;
 b=Xr3Ow54ALNvV+9QNhG9Nl+7TnbzcrUpbS6UkKmP0wHFjGz/z6ShAfJEgWvbTthuTHE93bhl0mNp/DN7mPM4nKnGbCPjHvD4sC9bM0I8Ebjs8p1MCcmzIMf+TEy1Ihqg4XiHFR0K2/foozaQQR/+HjRU4F9k2fc3otmsDvB2Wfi8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <70e49a82-f027-6315-e11d-b2e16bdfdcab@citrix.com>
Date: Tue, 21 Mar 2023 14:51:30 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86: extend coverage of HLE "bad page" workaround
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>
References: <b238f66d-37a9-3080-4f2b-90225ea17102@suse.com>
 <424d1b72-5eb6-f2bc-20fe-e59bacda8dd9@citrix.com>
 <c27d838e-0331-3cab-25bf-dd16b4645152@suse.com>
 <2c0ff1f3-ee0c-6d14-a51c-d82b65338005@citrix.com>
 <0df22405-bda8-8f4d-63b4-e9c4d57843b1@suse.com>
 <ZBRRbnBjWHXAM1ug@Air-de-Roger>
 <02cc1db2-90e6-a60e-4922-d88b4ca98b45@suse.com>
In-Reply-To: <02cc1db2-90e6-a60e-4922-d88b4ca98b45@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0349.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:d::25) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH7PR03MB6942:EE_
X-MS-Office365-Filtering-Correlation-Id: b67847a3-36cf-45e9-20cf-08db2a1bc4c6
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Q8NgGwyUY7P82VSvxy7NmoH6J4jMZKXlif5HfWSFZnhLVCbVSyzHhrTDiNLdaqrtM+eVhidefORnqzIk4eWlwxQOaQJPaflxudTPh69oAu+P/dN5n59jy0sphLIu9RHKTZozs9NHL5f6ErnTQwbUNnuuWhLH+Kxx1e7sCjGuneApc3S30KMqy22m5RBVEhV0Csl8p5BYVipexS8tXffjATj33PAr8gXScuc6vpy94DzJhUz1erKjUopwVDEnzxgJQX+/8phhRfUs6wHbuBycUn6KCZ5mN8gK/M2UvkjwkypYMmzkcp1po40rIbt0X4c2cWi8cHoi43Car+Mh7r+7r4inDlAPveu6YSno1jKjFnRwagMeyYY7EMYRvlnB1zFkU3v0C73cMT+1+DHLwD4eneVfkWYCEMSXHSz/9nfyhjO25ES0dICUUzTx20By/ofFPRlh475/F0iiJo4VDb6HJt7xCp7XhRya5bWAUgFhlOQJy+8VrkfJR0Mga6OrnW5VYU7zq9WFTc526fcU7fsTJC1hccOrB8VXnrdixl4HIBkVNLh4aDFVDY6Sn1kLELXsbIgXPXH/ZwKbyH0oq0yt7XieA4/S7fC9Tl6qRz+Z2o8TRJS+hgRpjXBUOoMVrmpNKID55x9U6RTVMwocN70BCpZlMoeN670GUMvl3170WlXioRKUBNolbYF4RvfaFqdrMEXDMwFn2Keb4KWi6GwvVy99IH0fdgt+uYhl4tQ7OmU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(396003)(346002)(39860400002)(366004)(376002)(451199018)(53546011)(8936002)(5660300002)(26005)(6512007)(6506007)(6666004)(82960400001)(478600001)(66946007)(66476007)(8676002)(66556008)(2906002)(83380400001)(4326008)(86362001)(54906003)(110136005)(316002)(6636002)(31686004)(31696002)(36756003)(41300700001)(6486002)(66899018)(2616005)(38100700002)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dXd1OHpDYy9yZFIvVG8rSlVLbVJUYjA4RHYzNmNmdWFhL2ZmTXN2NkhqWTVC?=
 =?utf-8?B?bjBLWHBXY1JqT1c5RmVrR2x1VkF3QUtSWmhzZStvcFpiM0Q1dDVCVHVFWklF?=
 =?utf-8?B?RHUrNEJkQnhnemVqVE9mckRqbStPMkVDWFdqTXgyNFBuNWYzNEdsN29rQVdS?=
 =?utf-8?B?RklHTm4vS2Vacys4UXNnTkVWeUdIeU9YSGJCNFkzWm4xRWlvTEQ2RmxMaFZB?=
 =?utf-8?B?Rit5UmNPMngwQkdGZ3VjaDdsbWNPMnc0UmNmU2t1Z0lGQVpQS21lUHk3SGhP?=
 =?utf-8?B?OWU4VUNLWGtqVTZNb1c2TkhqTjBnK0ppUjNxQmxYSWF1NFVGcEI4b0tRZ1lU?=
 =?utf-8?B?RDZtK1JpM0h3bkk1YThraWRZcDlOSFRBVVJNeitpWS9TcjVZKy8rUlVZOExu?=
 =?utf-8?B?YWliWUx0N01CdE5pQnd6bnlHQ3l0ZTEwQTV6TXdha1BHMnN6VHgwdUpwZld4?=
 =?utf-8?B?eER1UVMxT0Vld2NxNjRiazhkOE8wU3BOR245U1lGWHRWejkydHp4ZVAyUGRJ?=
 =?utf-8?B?UTJHWjFpdTZqU0xqaXNvZUdHZHpBVklodmx0dXBTSGJSQzB4MlhNT0FqcDYx?=
 =?utf-8?B?eDFSTVEwQWlkb2ZYVEU2eE9vWUQ2OUlkS2xaZE42V3dwNEZOcFVnUm9DNnlF?=
 =?utf-8?B?c1hWVWRsL1ViUEY3elFZaXp3RWlQMEZWcDV5T0t5NXovbU5PUU53dklxa0hl?=
 =?utf-8?B?ZG9ucGFnSisvektROVh0aThpWGRHRGI4cmNsZXBwNUVXZTN2U0V5cWVvQlRT?=
 =?utf-8?B?by9HamJyNzBlNWdIcmY4RG1yRENLcGxBK1Y0ZDNaNTVJZ1ZXNklYUGk4OVpI?=
 =?utf-8?B?V0krang4aGpYM09QWEdvZ21RYWsvOHZCSStYVTJrZkNLZmJCUXcrNklqSjFa?=
 =?utf-8?B?ZklVMFNNMmNSYlpZQTNuTGk1enhwWU85eEFFNEUvQ3RBN2hlczJ4NWFxaFBP?=
 =?utf-8?B?Q1ExZTRjN05aWkE5ay9KRmE1YXUrVytpQktMUkF4cjRzbG10cTVzZ3VLbEJ0?=
 =?utf-8?B?aUFKUlU5N1B4TzVDYVJLMDJ3WTlyc2JSaXU1VDA0aUlIdFNxcHhMOGlXSHpr?=
 =?utf-8?B?ZHkvL0JpVEltc3pzSDN5QmQzcEl6N0w0Z0FxWmJpL3FYSUFLbjZKeWIxQjdo?=
 =?utf-8?B?Wm5KZitrbHhvTXpWTkMvTmRlbjd3eHNBSmRoc1JDTEV2VnFoVE9xVjdvUUFE?=
 =?utf-8?B?ZFlTK0Y4ekNEcmFBOGFQZDh2Z093ZWlJYW52V1BSK2JTbjZ0bklsakw1dUhP?=
 =?utf-8?B?QzhwM1VjbHIwbXdTU0RNamtmVVlKQ21Ob0FqbnZjbjdLYnh4cStMOVRFV3BH?=
 =?utf-8?B?Zkx6QXNzclZLKytnM3hGTXNqTGJ5VTd6cU1rRkdnUzZBUUt4eVZtVHhCRklE?=
 =?utf-8?B?YTZJNFNtcmZhZVl0ODE3VXEydXJ4WDZySXRLUDRQbFpja1ZYK3JpNmx2d0h1?=
 =?utf-8?B?SmszeGUvd2IzaDFxaDdzcEFtdmpvU1Z4anZnVUdYZFEwYkhlM2hxZjV0amdw?=
 =?utf-8?B?SjZIczB2MHorZ2J3UjlUTnVJRmlzVExPc1Y1RHNCb1VwNjV2STJDUUZYaHZq?=
 =?utf-8?B?STl0Rm1YZEpiUHNnYlBjMEdHanJuampySXpzVWErQ2FLVXVVQWhVVS9TUEw4?=
 =?utf-8?B?MldtMy9hcklBTGd5bXZnL2xySmhKVFNjd3dSNUNab01RS3RHanhkWVZkaWZS?=
 =?utf-8?B?Y2ZnTnpieDlHRXg1VXp1ek5ZNGhQMDFoN0I5YXprWnhIcTBONUZEcEhoaDBH?=
 =?utf-8?B?djA0QzdWRFRKaHJFOE1TWmlPdzRGNzZ0ZldJWjczeTEycVF0b3dqMmdWV09h?=
 =?utf-8?B?RzAxNzdpSDBnZHdrNG8wQmkyVmhFZzl3YXdMMVJtZjBES2pINEwvRTJEUndx?=
 =?utf-8?B?U0E2NWNDMFVaN0Nmb3ZaczEyR3NJM1BvVGxEeWJPcitZdzZyblRIa1VWdDI2?=
 =?utf-8?B?bndsMER2c3FqaGV5bVZiRk4vRXNYK1YxR1dtaVdXY2xiblVlWkkxZ1dHOVlj?=
 =?utf-8?B?S0FJWGFNYjNjS0I3TXovSmVqdTR3SGxPZEZkQWZuQmpqWmxMQW1nUGpvNVNJ?=
 =?utf-8?B?ZVdoTmlzVkdTdjZIODF2VHVucTdHamJ5T0JzSG1hWFNyMisvdVBTcU4wMVhI?=
 =?utf-8?B?TlNqZ1ZEdHIyN1lLSDQzOXRZbzlhMXpxUzdmRVJZVFQ5emZwK1JZeXZyUC9T?=
 =?utf-8?B?Z2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	KfMuYCXetp//AwuXf73LHb4DWX6SrQhtHg6f8QPLXT5E5VaemCWED7xj2/fOeY4FLTgdUnnFC/Xxp83mtxZuh+rztzmR2jG/nFuhpa1W6Dg+7N44150oqOvd6YjKfRC53X6xii01ww+tWRzmnMSlERkRLGiSCHk+anaq/CxOZfhfCsHGSogdZr5hJi3jZOrGD5W9wnyXp15oBvhM1rbz45TS3jGYlCUIdbSYvh8DqTp+z+Chwt6CV13sOZuSstjHc2N5OtxK9gGVRC7FWCZdwOQdm23akQqCbdNuDjrNuOwgasmmq7ehPMGCK2/YOqZoCZ+81mHYwvpzYnXDJf7+IADf7pO5Vq/EHjGt1N++BrAf7Lz53cUvoCyTa9zWfkJ01KaPAu9L4srZZ6OZ0OYdWf0vJXTATc7kgafNWie2o/g7Bm3IfwrVL/Trb3ldZW4x6BwI/t07voGBpIKhFExRqXacXfhWQZsUYNDx5LY215/VTobo56v7ls+zkVMCj+eOR+lyBBPlKyKtAedxijFgOi4WQx9WbPWm6PWbs1xZQxSi86rO3O/dzrJwj5vVCwOgpFiGYAG9acV2yAXcJLC6ex2fcWINkmuPVmHQMR8lQbK4TvIlxoC2W4x/+4SeorXThy3JqTpPYeZrceh4rk91zLk9gvedN0kzgKhBpylDyj2HnPqOgvjEjln4N8NtCQ0ynyWdloMJH0QuqLywa+xlLiC8NJz9aZtbDiIoDX9VR5Ze3rpN1dQCJpWs70HQ48ZTvKfWe02ROUSHT0wjyO3gBGlrBS+BNsvI+IqHgeFD5xpp+f5KFvmhL5xEuQRrQaQ5
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b67847a3-36cf-45e9-20cf-08db2a1bc4c6
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:51:36.1703
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: os6SK0ASxvh5UdWXFKLZh+eD6PjKsom8scddsogiHLB1GKz3ox3qaYSTAqn0GKvDFXapOrDNUQwv5+O8pjNchnJ41o4WlnAizE+fkVgTvpY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB6942

On 20/03/2023 9:24 am, Jan Beulich wrote:
> On 17.03.2023 12:39, Roger Pau Monné wrote:
>> On Tue, May 26, 2020 at 06:40:16PM +0200, Jan Beulich wrote:
>>> On 26.05.2020 17:01, Andrew Cooper wrote:
>>>> On 26/05/2020 14:35, Jan Beulich wrote:
>>>>> On 26.05.2020 13:17, Andrew Cooper wrote:
>>>>>> On 26/05/2020 07:49, Jan Beulich wrote:
>>>>>>> Respective Core Gen10 processor lines are affected, too.
>>>>>>>
>>>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>>>>
>>>>>>> --- a/xen/arch/x86/mm.c
>>>>>>> +++ b/xen/arch/x86/mm.c
>>>>>>> @@ -6045,6 +6045,8 @@ const struct platform_bad_page *__init g
>>>>>>>      case 0x000506e0: /* errata SKL167 / SKW159 */
>>>>>>>      case 0x000806e0: /* erratum KBL??? */
>>>>>>>      case 0x000906e0: /* errata KBL??? / KBW114 / CFW103 */
>>>>>>> +    case 0x000a0650: /* erratum Core Gen10 U/H/S 101 */
>>>>>>> +    case 0x000a0660: /* erratum Core Gen10 U/H/S 101 */
>>>>>> This is marred in complexity.
>>>>>>
>>>>>> The enumeration of MSR_TSX_CTRL (from the TAA fix, but architectural
>>>>>> moving forwards on any TSX-enabled CPU) includes a confirmation that HLE
>>>>>> no longer exists/works.  This applies to IceLake systems, but possibly
>>>>>> not their initial release configuration (hence, via a later microcode
>>>>>> update).
>>>>>>
>>>>>> HLE is also disabled in microcode on all older parts for errata reasons,
>>>>>> so in practice it doesn't exist anywhere now.
>>>>>>
>>>>>> I think it is safe to drop this workaround, and this does seem a more
>>>>>> simple option than encoding which microcode turned HLE off (which sadly
>>>>>> isn't covered by the spec updates, as even when turned off, HLE is still
>>>>>> functioning according to its spec of "may speed things up, may do
>>>>>> nothing"), or the interactions with the CPUID hiding capabilities of
>>>>>> MSR_TSX_CTRL.
>>>>> I'm afraid I don't fully follow: For one, does what you say imply HLE is
>>>>> no longer enumerated in CPUID?
>>>> No - sadly not.  For reasons of "not repeating the Haswell/Broadwell
>>>> microcode fiasco", the HLE bit will continue to exist and be set. 
>>>> (Although on CascadeLake and later, you can turn it off with MSR_TSX_CTRL.)
>>>>
>>>> It was always a weird CPUID bit.  You were supposed to put
>>>> XACQUIRE/XRELEASE prefixes on your legacy locking, and it would be a nop
>>>> on old hardware and go faster on newer hardware.
>>>>
>>>> There is nothing runtime code needs to look at the HLE bit for, except
>>>> perhaps for UI reporting purposes.
>>> Do you know of some public Intel doc I could reference for all of this,
>>> which I would kind of need in the description of a patch ...
>>>
>>>>> But then this
>>>>> erratum does not have the usual text effectively meaning that an ucode
>>>>> update is or will be available to address the issue; instead it says
>>>>> that BIOS or VMM can reserve the respective address range.
>>>> This is not surprising at all.  Turning off HLE was an unrelated
>>>> activity, and I bet the link went unnoticed.
>>>>
>>>>> This - assuming the alternative you describe is indeed viable - then is surely
>>>>> a much more intrusive workaround than needed. Which I wouldn't assume
>>>>> they would suggest in such a case.
>>>> My suggestion was to drop the workaround, not to complicated it with a
>>>> microcode revision matrix.
>>> ... doing this? I don't think I've seen any of this in writing so far,
>>> except by you. (I don't understand how this reply of yours relates to
>>> what I was saying about the spec update. I understand what you are
>>> suggesting. I merely tried to express that I'd have expected Intel to
>>> point out the much easier workaround, rather than just a pretty involved
>>> one.) Otherwise, may I suggest you make such a patch, to make sure it
>>> has an adequate description?
>> Seeing as there seems to be some data missing to justify the commit -
>> was has Linux done with those erratas?
> While they deal with the SNB erratum in a similar way, I'm afraid I'm
> unaware of Linux having or having had a workaround for the errata here.
> Which, granted, is a little surprising when we did actually even issue
> an XSA for this.
>
> In fact I find Andrew's request even more surprising with that fact (us
> having issued XSA-282 for it) in mind, which originally I don't think I
> had paid attention to (nor recalled).

No - I'm aware of it.  It probably was the right move at the time.

But, Intel have subsequently killed HLE in microcode updates update in
all CPUs it ever existed in (to fix a memory ordering erratum), and
removed it from the architecture moving forwards (the enumeration of
TSX_CTRL means HLE architecturally doesn't exist even if it is enumerated).

These errata no longer exist when you've got up to date microcode, and
if you've not got up to date microcode on these CPUs, you've got far
worse security problems.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 14:57:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 14:57:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512782.792984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pedQm-0007dq-S1; Tue, 21 Mar 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 512782.792984; Tue, 21 Mar 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 1pedQm-0007dj-OY; Tue, 21 Mar 2023 14:57:44 +0000
Received: by outflank-mailman (input) for mailman id 512782;
 Tue, 21 Mar 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=oKE/=7N=citrix.com=prvs=437062dd9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pedQl-0007dd-IO
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 14:57:43 +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 b9614777-c7f8-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 15:57:40 +0100 (CET)
Received: from mail-sn1nam02lp2047.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.47])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 10:57:38 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DM6PR03MB5002.namprd03.prod.outlook.com (2603:10b6:5:1e8::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 14:57:36 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 14: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>
X-Inumbo-ID: b9614777-c7f8-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679410660;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=n5r1Rg6ECGApg6dW5Clk9HVWQDsnPP2TRwow5d5vmgU=;
  b=KHdMKQdOeM/a5ZxcXwaiqScERZyeSJeLlOE6hIjH9cz9+jb5YKXIF0sG
   78vGcivsl0LiO/D60F40mR5TSQtfUS+PS2i/eoQZZgZFgWSJsU3jP6Nov
   K5x5b7g5uRGZogQGsP8U6F7Z7hSOQG0NMqDF4ym0sI2j0abkEGGNjs5Dm
   Q=;
X-IronPort-RemoteIP: 104.47.57.47
X-IronPort-MID: 101723558
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:4a+YEKt3gTDwAunArBi9L3AccufnVHFfMUV32f8akzHdYApBsoF/q
 tZmKT3QPvmIN2f0KdxwPIzi8h9VscTUyYI2TgRu/y9gFi5A+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASEziFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwBwtRXzvcismK/a+3Z8M9qs84MNP5BdZK0p1g5Wmx4fcOZ7nmG/+P3vkBmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osj/6xb7I5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjAd1IT+DlppaGhnW+gS8UVSJIBWDirN/is1C0WNB+d
 24tr39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLE7gDcCmUaQzppbN09qNRwVTEsz
 kWOnd7iGXpoqrL9YW2Z3qeZq3W1Iyd9EIMZTSoNTA9A+N+6pog21kjLVow7TPHzicDpEzbtx
 TzMtDI5m7gYkc8M0eO84EzDhDWv4JPOS2bZ+znqY45s1SshDKbNWmBiwQGzASpoRGpBcmS8g
 Q==
IronPort-HdrOrdr: A9a23:Lg6Sca9+hqkFi5glwNtuk+G/dr1zdoMgy1knxilNoENuH/Bwxv
 rFoB1E73TJYVYqN03IV+rwXZVoZUmsjaKdhrNhRotKPTOWwVdASbsP0WKM+V3d8kHFh41gPO
 JbAtJD4b7LfCdHZKTBkW6F+r8bqbHokZxAx92uqUuFJTsaF52IhD0JbjpzfHcGJjWvUvECZe
 ehD4d81nOdkTN9VLXJOlA1G8z44/HbnpPvZhALQzYh9Qm1lDutrJLqDhSC2R8acjVXhZMv63
 LMnQDV7riq96jT8G6Q60bjq7Bt3PfxwNpKA8KBzuATNzXXkw6tIKhxRrGYuzgxgee3rHInis
 PFrRsMN9l6r1nRYma2ix3w3BSI6kdl11bSjXujxVfzq83wQzw3T+JHmIJiaxPcr24tpst13q
 5n13+Q88M/N2KKoA3No/zzEz16nEu9pnQv1cYVknxkSIMbLJtct5YW8k95GIoJWAj69IckOu
 9zC9y03ocfTXqqK1Ti+kV/yt2lWXo+Wj+AX0g5o8SQlwNbmXhopnFosPA3rzMlztYQWpNE7+
 PLPuBDj7dVVPIbaqp7GaMoXda3Inale2OMDEuiZXDcUI0XMXPErJD6pJ8v4vuxRZAOxJwu3L
 zcTVJjs3IocU6GM7zB4HRyyGGPfIyBZ0Wu9ikHjKIJ/4EUBYCbfhFrcWpe0/dJ+J4kc4nms/
 XaAuMiPxasFxqoJW9z5XyPZ3BjEwhhbCQrgKdLZ7uvmLO9FmS4jJ2sTN/jYJzQLB0DZkTTRl
 M+YRmbHrQz0qnsYA61vCTs
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="101723558"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UcuCTJxfihyl5e+pnQm3C00seAruN8oFsOJuiN0WKSY6Kf+SoNZki1mvbMax5r77KH1PKCldzncHv3+gR1wgHBoEDBH5LfsL8LdGrT75ruHgOco1Rgc7BxULb407RQdKb0l35k5F3pEbylah26Pye1kdo8vQuvXmJpB20t8saYrqUfgSazMmDTF+RHb5dac5vt+1hQN6C6HGHe4oED+BKfYDKKk+iQpkbqJYeMWyTkgZ0Vn9/xWmSQzkCkjYeMMEd1ax3YYn6Z97hydi6ngGoxwib+KdeC6NU33WBhnw7cTfYCGLkb7o5iufZVydGX2cF75QpZZZLV5W/TzdahVqZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/D3X3/MDsPLqMzyhX7sxgf5gZeJBVXi2HUp0s1RMPvg=;
 b=iUd5Q3KIaJaq2o0PD47vGGRVL7pJob84I0jXECqXDRbsySV56PUuyXARVPvQZt7ysMgU3DWVbdg9/UCZ0BjHE5DhJVoKBv7bF0AWSfHkE++jQDYTGq3XhYBfaF9LtZ8pLM6jFwxP7qvWHot7xtxb1XRh1fBUwhusIU8+Ntgu/93CtDsEoZJX/tm+E7eGyTwxzXx1ib2zLzYlfqzgzd+wX2XXT0xQewCqq+fjkPJSrccqgP27X6tqL6iXc3n39z4/fMJ4Zl0Qr5OKFq1BE0nNOTjKZBXBdiAn1oV/aID3qZe17Kg9lbArhPOdjWca3g8P4CvOaF7Bub8l2L74V6xJkQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/D3X3/MDsPLqMzyhX7sxgf5gZeJBVXi2HUp0s1RMPvg=;
 b=X7aqytIrCl4VcVo8bNQjwxxW0YzqjFAeK34ROJ5UVOgXCPeto2N10z8U1j3kTKe7BbM9Ek4/XwBJ/ecU4BbXMP4cNzK8esZFpfBpBC5natGCTC8sn0K2xlKawVSEgxiaIKQnVu3u8SEvZliKrRyBiGYamhOdVdTHbUebZjKqsZ4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Mar 2023 15:57:30 +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" <xen-devel@lists.xenproject.org>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2] x86: use POPCNT for hweight<N>() when available
Message-ID: <ZBnF2oTLQjJtfZiK@Air-de-Roger>
References: <55a4a24d-7fac-527c-6bcf-8d689136bac2@suse.com>
 <ZBRNWhExetXH1OaS@Air-de-Roger>
 <011cb7d8-fb32-74b1-2b06-f57be67f5c6a@citrix.com>
 <f1b0e3be-cf23-6471-7a59-c130380be0f8@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f1b0e3be-cf23-6471-7a59-c130380be0f8@suse.com>
X-ClientProxiedBy: LO6P123CA0046.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:310::8) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DM6PR03MB5002:EE_
X-MS-Office365-Filtering-Correlation-Id: 9b951bc5-3d7e-4e3d-df8d-08db2a1c9b8e
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eKMJVVp34KhMlY4SvucHCPbKQfyHURGM7R1UJ29bvAfuMnaPJSqf4/Di7x2kpcIZGcAAU+u/KOeyQmL0Qo3GN+hkyIp/6SQL/GMsNYIXCA+NRpsk7l7e+LcDiQQLvuuLb/+/0a1mmKkJbxJK30korsDDzjgq0FcdMC/vhhHpNNfdCSJOSwk4EGyzvp8Tcuhe/sHSFIUKQxxF0H7SgVc85jbncrTzQo3JHU65nrqhea1fyzSKsKGd1nUwKAFZHqId93PEXOULRWChwDAb9+Ei12qEcgFlMnVp6xqqSiCu9seZfsqKvzUcOLTmPiwklMdHjG7HjlHszO8ai2BQBRKY8EJqV1SAGUcAkvikYlEZPlzmISa6UzQ1rdkNj3rbd7HxhIeTfsspS5Pax8CSBSSL/M0kDYxMLtnhfeE9YQ92AsFfh3gG2+VGARTlqby1J2HyQQNw/9G4HYAfWM9JAzakvngTj0xrP3C9wLhT3WrATwc/3prPIZBpzbkCqMAwtN/IjBcNW75aiEl8Lc9KuvJQTuki8mTWFGRzgfYgZAK2trMDMLEPW+0YW+e5YOebh1FYFTZC1NYd26OQ1OJShI2+sG7gF1KXaEFQByOVCaq+R5NhIYkDkXd3IHQowGBobIh2g8h46DGSmJs9GcI1q03oOp1tsJpcDlzWzxjRmbc3ujIxu25+RGIMt7V1J7b5nXqpddVQ61ahbZp9PxRAIMARwQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(39860400002)(346002)(376002)(396003)(366004)(136003)(451199018)(186003)(6486002)(4326008)(6666004)(478600001)(66476007)(316002)(8676002)(6916009)(66946007)(66556008)(9686003)(6512007)(6506007)(26005)(53546011)(54906003)(41300700001)(8936002)(5660300002)(38100700002)(82960400001)(2906002)(86362001)(33716001)(85182001)(16393002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SmtiNnFFZnlBME8zRE54WDI1TGt6MXVVYXQrN3FZWnlVNm9LU1Nab0ZuWkZw?=
 =?utf-8?B?cG5BdS9LeGhZcDJabGlxY1FPSjExQUZ0NmJsUE5MYkNxSkI1QnU2ZXNiVlpj?=
 =?utf-8?B?aXZ4OUVIWkUwbG5Gc3BJcFBJdnN0bTUzbnVPUHNicVJVcXlkUEFXVG44eVJj?=
 =?utf-8?B?YzhRR2lzeVAwTlVUNk5MeGsvVEtKVzJRMUt2dVdiWHRRK3FGTGN2UncwT3Zs?=
 =?utf-8?B?cnlQOVVaTDN5WDVDMHhhdWNIam5pdmIzQlFGNy9xb0pwSkk2SnA3VUpjWlha?=
 =?utf-8?B?ekE3OWYrN04rV1cwZ3YzV3NneFVaNHppOUdpdFdTQ09xSmRCaHJtZnBiVDBB?=
 =?utf-8?B?N2JiRkFHTHo2MFY0d0FnMmN5TDc1Y2UxOXFrK3NhQjF6RTZQRklyTE8rSFYz?=
 =?utf-8?B?Y2lGOVFJWncwLytxMFJiMG5XRk9OckZ6NDRYeU9GK3Bpc28zRDJITFVLU2J3?=
 =?utf-8?B?Z0hBTkdIM1ZhcHRMOFlBSHlLdEVMNjJJaWRMZGpFRUZmRENLQzdSTExmNExk?=
 =?utf-8?B?aFE5MGpPV3JXc3RQSVFSRkNydXJPNlNDQ0txN0hFd1pQNk94N0pBRkFpMFpS?=
 =?utf-8?B?R3BSbzI2WG1jOFNhaFR1VkJsa2NCYlRKeFYvWW9sWFNsSHpNaXM2eHBIdUpP?=
 =?utf-8?B?RzdqMmhFVlE3ajFUdVVYYzROYlJKKzNDd2F6UjFRT0h0TCt3MFoyWjMrM0JZ?=
 =?utf-8?B?ZmtDb25hcmVweCtLWEFJdmk5UWQrQmc0bkxUV2tka0pSbEtkNEU0RGNaQUNu?=
 =?utf-8?B?bTlRVEwzaTk4WWlwRGR6bnNqV09ybXN1L1FkT1QzZjNyOU9nRWNCNGIvSUtF?=
 =?utf-8?B?d0p4SjdFaDdrQlQ2Z0NFaHJNbWNJV0FiQ2dwT0Q5b29yVkJFazZGTE8wV0N2?=
 =?utf-8?B?UksrOVk5Y25VSG9iUmI3VnVmb0JNREdZVEpDWVVEelNjN0M1N2ZxVjh6UDlB?=
 =?utf-8?B?ajVpVEUyVDdRckRRcVNWVU5qVE13d3Y1S0ZnZWtjY09iOFJ5VDhCTm1yRHhj?=
 =?utf-8?B?Vm5LUDZpZkd5SGhOSko2Y3FTWjluQ0VvU3lvaXV4eWVUOHlYUjU3aTRyYnE1?=
 =?utf-8?B?NHFxZG9BUHNZWC9xdE1qN296UXlPVmgzdXFTcGtBOFpNY2o4Ly9SQyttc0VZ?=
 =?utf-8?B?V3ZiMFVuQm8yWnFhd0tqZzdvN0VPOGNoaDdseG1sYzJqeFNsUmVBVWZxWFdG?=
 =?utf-8?B?SUlOQTNjRVEydVB2NVJQNVV2bmhsMkJITmxuV3FsQi9LcWFtWTFVYUtJVmdn?=
 =?utf-8?B?aUJHRUV5anBBZFRLbHN4TDlKS1dENm5rSlg4M1p5WUY2ck5idDd4a2wydHBF?=
 =?utf-8?B?WWdleVV6Ukk4Nm9kVXNSUkl4L1kwRzB1c25yOHpSS0krZC9MYzNzblZtV3FV?=
 =?utf-8?B?WUpGdlFHMEZSRTFzS2FYRHFlbVc0dkVtMWhyZUdiZ0NLRm5jdXRPb0ZsNzlx?=
 =?utf-8?B?WEsrd3duekJ3N2lGVll3eVRnZ0h6VE5MRSs3VVFyS2JQZk1FSzdmOGNac3NI?=
 =?utf-8?B?UGRkSHJtS2Q3Y0w2RTJpNU9wQ1pZTGs3elFXY1NETWtraTlxdldEd051T0dz?=
 =?utf-8?B?VVo1aERqTkRrR1RMOVFWTDIvMXlORzVJY1Z4MUNZR3JzTnJMZzV0K3BxQnJ6?=
 =?utf-8?B?Y25XbXVQcHZNZVgvaVdLQU54M2xTdUR6ZEFUZXc4bVIxMXluTU9nT29pQVZo?=
 =?utf-8?B?UHl3VDE3TDIrcFVHeS80WiszY3VldWp5Z1haVHhPYis5blF1ejcyY0dVU2JX?=
 =?utf-8?B?TzBtUGs4T2wzTGFPMkdGZHRvcTg3L21qV1RWQWVSb2Y2SU5iaXBNZ3RxQ2hN?=
 =?utf-8?B?V3d5dFlQR2ZhdkNQKzNBMHk1cm8rMWc5VUhsMW5IM2l2Ni9lb085aHVUOUtP?=
 =?utf-8?B?U3puaEEzclUvOUpuWXo1R0JGczhBRW04WFkzb1ZDbTY4RThrV282b2ZmTCtk?=
 =?utf-8?B?Nk1lQ3JaYTFsdG5nYkVQbitXZW1FVVYrNmRxVkp1SDVqOWg3SUUzN29HT3dD?=
 =?utf-8?B?M3hyTFNkcWladTV3NDhteGxjOXlldmZ1TEhoMmNsbnFQNk9HRTZaTkM4WWIr?=
 =?utf-8?B?cjhxSUhnaG9pelV5a05xSlU3M09kRm1rUjBqZzZPMkI0U2NFdUNEUm5DeFJx?=
 =?utf-8?B?ajZDdlhPTUNaZENpaFA4aVYzT2U1eXYwbVNKM1l5UEpzbkE0dFVjS1dCcnM1?=
 =?utf-8?B?MEE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	/95Xd2lfcYlN8OAnQ9zmcQbhKtDcns0SwnI5p4w6ZZs/TlSMVOo9YOQQVQbWM7IbQNEPtL4kRjqf/vzRBVNPUvixPMk6rEz1kr3G4iF92b1UF6MpLflLM54QtMRJ6AHHIYF1MX4Ao+PyU3sDh/fbRAfgZNCzYZt1CAHCmQUOsIIeiAlMfDtLzqOL+7WWtRBpP/3XlUmcG/9Bo2zrrSywMXgtVvpsONxe9y+hMc9iYHs2N5yZhfBWkogiFj+fwAMW8WAXMD0T5yXRvKfdFBEaOr3G5XSpKp2CvVbzcNAwY9xtB3ZJSa47/vU04rJgsKwG6xI0MB5KHXJJJOzu9S6QosSSv+iRRW5ZJL5WT+7AF51Gm3G/NlV4Y2UPy7nbicF/dG2S2eh1SLOXU7yUSDRQ50ugoEa5w6JsKhmNTf+MH6xHbUsoP0THUIPEjLfDJxtPN/K2PEV649F+QeJJefGN85mQIQVvXlUtDI5fmBd2sFwTLwe9KMn5Ijwkt8XMi2fG35ZUIvnScfdE4a2qN/0nAkwbgoFXP72OBAr0nVZUSsJVfU2p5KFAPahg33vRMf2+iw1g2k4UCnvcltOoyQAgwmQPNaMKtvZFwD0HXxeVJMmJLyY/owednMeZbeWaQZVI4xndl8b0/v9Xk0RcfY2g1rcJ7LLRloNszXE0Cstlbl8Rs3kqSPuiz7YN/QyGbFp4eyVWonWihc9JQjVxgIZ/3GPrf3LXDjkvPsnRUfturTcOrNvhmoYXIi62xId41AZGZdufpm/mF7iTbCO7t/0kdfb2xA50I2RWF3GEqn+n1Z0KYGsUxOo24aN2Ttjt2Sgs
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b951bc5-3d7e-4e3d-df8d-08db2a1c9b8e
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 14:57:36.3165
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jyqYzTr+Own3sw/s0A4RTeu8bq0ka5800WUC/zYQAQEo95G0JS/imOb0xwucVMfUBR++co2oGExIkKm4HN3NGw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5002

On Mon, Mar 20, 2023 at 10:48:45AM +0100, Jan Beulich wrote:
> On 17.03.2023 13:26, Andrew Cooper wrote:
> > On 17/03/2023 11:22 am, Roger Pau Monné wrote:
> >> On Mon, Jul 15, 2019 at 02:39:04PM +0000, Jan Beulich wrote:
> >>> This is faster than using the software implementation, and the insn is
> >>> available on all half-way recent hardware. Therefore convert
> >>> generic_hweight<N>() to out-of-line functions (without affecting Arm)
> >>> and use alternatives patching to replace the function calls.
> >>>
> >>> Note that the approach doesn#t work for clang, due to it not recognizing
> >>> -ffixed-*.
> >> I've been giving this a look, and I wonder if it would be fine to
> >> simply push and pop the scratch registers in the 'call' path of the
> >> alternative, as that won't require any specific compiler option.
> 
> Hmm, ...
> 
> > It's been a long while, and in that time I've learnt a lot more about
> > performance, but my root objection to the approach taken here still
> > stands - it is penalising the common case to optimise some pointless
> > corner cases.
> > 
> > Yes - on the call path, an extra push/pop pair (or few) to get temp
> > registers is basically free.
> 
> ... what is "a few"? We'd need to push/pop all call-clobbered registers
> except %rax, i.e. a total of eight. I consider this too much. Unless,
> as you suggest further down, we wrote the fallback in assembly. Which I
> have to admit I'm surprised you propose when we strive to reduce the
> amount of assembly we have to maintain.

AMD added popcnt in 2007 and Intel in 2008.  While we shouldn't
mandate popcnt support, I think we also shouldn't overly worry about
the non-popcnt path.

Also, how can you assert that the code generated without the scratch
registers being usable won't be worse than the penalty of pushing and
popping such registers on the stack and letting the routines use all
registers freely?

I very much prefer to have a non-optimal non-popcnt path, but have
popcnt support for both gcc and clang, and without requiring any
compiler options.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 15:03:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 15:03:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512787.792994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pedVe-0000q6-Fr; Tue, 21 Mar 2023 15:02:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512787.792994; Tue, 21 Mar 2023 15:02: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 1pedVe-0000pz-BK; Tue, 21 Mar 2023 15:02:46 +0000
Received: by outflank-mailman (input) for mailman id 512787;
 Tue, 21 Mar 2023 15:02: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=/aZB=7N=citrix.com=prvs=43775ecc5=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pedVd-0000pt-ED
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 15:02:45 +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 6e299eb4-c7f9-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 16:02: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: 6e299eb4-c7f9-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679410964;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=L9SCTAVMMYkr7BIFLkf7x/7u6+aCX6Pig8uQ5GWaVuU=;
  b=YocS+MhHyJ7RZNA1ij7fQnDkmXkuzFsuoZLYxq/2deXA3AitWRIwvnB8
   FvRqN+8rQX5ru8RMbzLCL2wY5k3Z3lIr1MWKokz5WZtrZo3L9cljxIc7e
   Y7ntCPlYV6IlIDDKucSsEsRm+rKMwlvSS+OpeiH+yIV66drcbb1kqVdSW
   g=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 101088654
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:K7a9lqBJwhq4bBVW/yfjw5YqxClBgxIJ4kV8jS/XYbTApGslhDYBn
 GdKWzzUaf+PNGugKot0Pd6wp0MA6MPUyYAwQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhC5wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw5r9+EVBU9
 84hczkqfz3Su8nsmei5c7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTIJs4gOevgGi5azBCoUiZjaE2/3LS3Ep6172F3N/9I4TTHZUFwBvEz
 o7A1zj9PiwCaPnC9T+i1n+OhdPKpSDQXbtHQdVU8dY12QbOlwT/EiY+Sl+TsfS/zEmkVLp3I
 lQZ4CM0oYAu9UagSZ/2WBjQiHyLpBkHQPJLDvY3rgqKz8L88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIU9x7Z/N82n0Y3JMazZfO2ldF1BtD8TfTJ8bkkvGXud5EpyM1dTSCByh/
 xvQ9XI8vuBG5SIU7JlX7Wwrkhr1+MeYFVBotlyMNo62xlgnPdD4PuRE/XCetK8dd9jBEzFtq
 VBew6CjAPYy4YZhfcBnaMEEB/mX6vmMK1UwanY/TsB6p1xBF5NOFL28AQ2Sx28zaK7ogRezP
 CfuVfp5vfe/xkeCY65teJ6WAM8316XmHtmNfqmKMYsVOccpKlTfrHsGiausM4bFyhBErE3CE
 c3DLZbE4Ykm5VRPk2PtGrZ1PU4DzSEi32LDLa3GI+Cc+ePGPha9EO5dWHPXN7BR0U9xiFiMm
 zqpH5DRkEs3vSyXSnS/zLP/2nhTdyFmXsCq8JwPHgNBSyI/cFwc5zbq6etJU+RYc259zY8kI
 lnVtpdk9WfC
IronPort-HdrOrdr: A9a23:ESoW3a+25k79lxOFmnpuk+AbI+orL9Y04lQ7vn2ZLiYlC/Bw9v
 re+sjzsCWetN9/YhAdcLy7WJVoIkmskqKdg7NhX4tKNTOO0AGVxedZnOjfKhLbalXDH4VmuZ
 uIHZISNDXUZWIK9reBkXTIb6de/DGlmJrY9Ns39B9WPH9XgtlbnmNE4tDyKCNLrEUqP/UE/e
 Gnl696TwjJQwVmUiyMbkN1LNQqkLXw5eDbXSI=
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="101088654"
Date: Tue, 21 Mar 2023 15:02:36 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] tools: use libxenlight for writing xenstore-stubdom
 console nodes
Message-ID: <49c631aa-2a88-4223-a63d-0058bfdbc9e6@perard>
References: <20230315154226.4238-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230315154226.4238-1-jgross@suse.com>

On Wed, Mar 15, 2023 at 04:42:26PM +0100, Juergen Gross wrote:
> @@ -1982,6 +1987,13 @@ int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num,
>   */
>  int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path);
>  
> +/* libxl_console_add_xenstore writes the Xenstore entries for a domain's
> + * primary console based on domid, event channel port and the guest frame
> + * number of the PV console's ring page.
> + */
> +int libxl_console_add_xenstore(libxl_ctx *ctx, uint32_t domid, uint32_t backend,
> +                               int evtch, uint64_t gfn);

Could you make this function async, by adding "const libxl_asyncop_how
*ao_how" parameter in last position?

You can follow libxl_domain_pause() example has to write an async
function that is actually synchronous (AO_CREATE, libxl__ao_complete,
AO_INPROGRESS, AO_CREATE_FAIL).

Adding the async capability now means that we won't need to change the
API if the function actually need to be async one day.

> +
>  /* 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_console.c b/tools/libs/light/libxl_console.c
> index d8b2bc5465..ce3de100cc 100644
> --- a/tools/libs/light/libxl_console.c
> +++ b/tools/libs/light/libxl_console.c
> @@ -346,6 +346,26 @@ out:
>      return rc;
>  }
>  
> +int libxl_console_add_xenstore(libxl_ctx *ctx, uint32_t domid, uint32_t backend,
> +                               int evtch, uint64_t gfn)
> +{
> +    GC_INIT(ctx);
> +    int rc;
> +    libxl__device_console console = { .backend_domid = backend,
> +                                      .output = "pty",
> +                                      .consback = LIBXL__CONSOLE_BACKEND_XENCONSOLED,
> +                                    };
> +    libxl__domain_build_state state = { .console_port = evtch,

`console_port` is "uint32_t", shouldn't `evtchn` be the same type, or at
least also be unsigned?

> +                                        .console_mfn = gfn,

I wonder if we should check if `gfn` fit in `console_mfn`, as it could
be smaller when building the toolstack on 32bit platform.


Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 15:14:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 15:14:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512793.793004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pedgI-0002W9-Ei; Tue, 21 Mar 2023 15:13:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512793.793004; Tue, 21 Mar 2023 15: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 1pedgI-0002W2-Bg; Tue, 21 Mar 2023 15:13:46 +0000
Received: by outflank-mailman (input) for mailman id 512793;
 Tue, 21 Mar 2023 15:13: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=03cH=7N=list.ru=valor@srs-se1.protection.inumbo.net>)
 id 1pedgG-0002Vw-Mn
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 15:13:45 +0000
Received: from smtp17.i.mail.ru (smtp17.i.mail.ru [95.163.41.70])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f69535f1-c7fa-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 16:13:42 +0100 (CET)
Received: by smtp17.i.mail.ru with esmtpa (envelope-from <valor@list.ru>)
 id 1pedgC-00E7Yu-1r; Tue, 21 Mar 2023 18:13:40 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f69535f1-c7fa-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=list.ru; s=mail4;
	h=Content-Transfer-Encoding:Content-Type:In-Reply-To:References:Cc:To:From:Subject:MIME-Version:Date:Message-ID:From:Subject:Content-Type:Content-Transfer-Encoding:To:Cc; bh=qPP1M5IFSH9zx1ZzxjJLvXoDsj1nz98BxuwTlaMrt7Q=;
	t=1679411622;x=1679501622; 
	b=tNf1DHiChGb6Z/orxCUGpnoNJOsR76HjZSLuR3Cp42cBG3lAEkA99eeI3JP02LhfLqyWsLdj4p/ZZavdYRu4bZ38tPxR60mKl5unnc10QW/F/AP5rfLeo0JkmX9Z2sTs/Xe3brvTTh2r1ADXB3wG0qxJToSGDFtHJJw4+JRDnavYxK/J4TwsiStYtST9xYcIyogq+691Gw6NaXrkXDlYnH1hzS8TeOhLGJQ9AcacOxQoc//VMFLeHsTZGaKNxyQdQ5fVfOem4SI1eUBd+4Nfu8jpjG6G1W8vvnD7pTSqQ9mGyuR+0IVnww7E1v5he12/3N9tQB/iq2LEcRFfB4i8gg==;
Message-ID: <49dda9cd-3e6e-1062-1851-ca6601018e51@list.ru>
Date: Tue, 21 Mar 2023 18:13:39 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [XEN PATCH v1 1/1] x86/domctl: add gva_to_gfn command
Content-Language: ru, en-US
From: =?UTF-8?B?0JrQvtCy0LDQu9GR0LIg0KHQtdGA0LPQtdC5?= <valor@list.ru>
To: 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>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Dmitry Isaykin <isaikin-dmitry@yandex.ru>
References: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
In-Reply-To: <e047a7a7-2e45-48de-2cb4-69001e95e1a8@list.ru>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp17.i.mail.ru; auth=pass smtp.auth=valor@list.ru smtp.mailfrom=valor@list.ru
X-Mailru-Src: smtp
X-7564579A: 78E4E2B564C1792B
X-77F55803: 4F1203BC0FB41BD992B47CBA3690DD1E33C7708EBC2A8DFD233A4A8259E5758300894C459B0CD1B9F0C83F24E9F18DA8B1447A49C28AFEF7F0664F603B66ED770A58214F65DFC571
X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE7ABF4E7777AC3C096EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F79006372094AD700861FA748638F802B75D45FF36EB9D2243A4F8B5A6FCA7DBDB1FC311F39EFFDF887939037866D6147AF826D8BE663010BC51B312A345823404F49A5C6F9789CCF6C18C3F8528715B7D10C86878DA827A17800CE7F15BD2ADF938F0759FA2833FD35BB23D9E625A9149C048EEC24E1E72F37C03A02CC0D3CB04F14752D2E47CDBA5A96583BD4B6F7A4D31EC0BC014FD901B82EE079FA2833FD35BB23D27C277FBC8AE2E8BC7A3838EBC35966AA471835C12D1D977C4224003CC836476EB9C4185024447017B076A6E789B0E975F5C1EE8F4F765FC69CA9D5DD3A960893AA81AA40904B5D9CF19DD082D7633A078D18283394535A93AA81AA40904B5D98AA50765F79006373D42D4F566CB30C1D81D268191BDAD3D3666184CF4C3C14F3FC91FA280E0CE3D1A620F70A64A45A98AA50765F7900637F9425D8FA97DB4396D1867E19FE1407959CC434672EE6371089D37D7C0E48F6C8AA50765F790063789CC3F4C0027555EEFF80C71ABB335746BA297DBC24807EABDAD6C7F3747799A
X-C8649E89: 4E36BF7865823D7055A7F0CF078B5EC49A30900B95165D34AC6E62257D6CD1C9805869C331FEA2A1DB98AB3CDE934B789E7CD4AA204B119532AD9AB561D841D91D7E09C32AA3244C78FC672409C2BE6EDABE2F7EACDD3A8D3A76366E8A9DE7CAED98077840A144B9
X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu530nj6fImhcD4MUrOEAnl0W826KZ9Q+tr5ycPtXkTV4k65bRjmOUUP8cvGozZ33TWg5HZplvhhXbhDGzqmQDTd6OAevLeAnq3Ra9uf7zvY2zzsIhlcp/Y7m53TZgf2aB4JOg4gkr2biojTmvmcsmE6tiRB+N2lU5/Ow==
X-Mailru-Sender: 9422C5FC7C00AE69302EDEBB3FCEDF4FE1672C4618465B79F21C6400DB605B6C3AB249A19D58F90376E790B0992C7B54B52423DB74AF18EABD4DCABF7D1B4669C77752E0C033A69E3453F38A29522196
X-Mras: Ok

Thanks to all for suggestions and notes.

Though as Andrew Cooper noticed current approach is too over simplified.
As Tams K Lengyel noticed the effect could be too negligible and some
OS specific logic should be present.

So as for today we could drop the patch.

20.03.2023 19:32, Ковалёв Сергей пишет:
> gva_to_gfn command used for fast address translation in LibVMI project.
> With such a command it is possible to perform address translation in
> single call instead of series of queries to get every page table.
> 
> Thanks to Dmitry Isaykin for involvement.
> 
> Signed-off-by: Sergey Kovalev <valor@list.ru>
> 
> ---
> Cc: Jan Beulich <jbeulich@suse.com>
> Cc: Andrew Cooper <andrew.cooper3@citrix.com>
> Cc: "Roger Pau Monné" <roger.pau@citrix.com>
> Cc: Wei Liu <wl@xen.org>
> Cc: George Dunlap <george.dunlap@citrix.com>
> Cc: Julien Grall <julien@xen.org>
> Cc: Stefano Stabellini <sstabellini@kernel.org>
> Cc: Tamas K Lengyel <tamas@tklengyel.com>
> Cc: xen-devel@lists.xenproject.org
> ---
> 
> ---
>   xen/arch/x86/domctl.c       | 17 +++++++++++++++++
>   xen/include/public/domctl.h | 13 +++++++++++++
>   2 files changed, 30 insertions(+)
> 
> diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
> index 2118fcad5d..0c9706ea0a 100644
> --- a/xen/arch/x86/domctl.c
> +++ b/xen/arch/x86/domctl.c
> @@ -1364,6 +1364,23 @@ long arch_do_domctl(
>               copyback = true;
>           break;
> 
> +    case XEN_DOMCTL_gva_to_gfn:
> +    {
> +        uint64_t ga = domctl->u.gva_to_gfn.addr;
> +        uint64_t cr3 = domctl->u.gva_to_gfn.cr3;
> +        struct vcpu* v = d->vcpu[0];
> +        uint32_t pfec = PFEC_page_present;
> +        unsigned int page_order;
> +
> +        uint64_t gfn = paging_ga_to_gfn_cr3(v, cr3, ga, &pfec, 
> &page_order);
> +        domctl->u.gva_to_gfn.addr = gfn;
> +        domctl->u.gva_to_gfn.page_order = page_order;
> +        if ( __copy_to_guest(u_domctl, domctl, 1) )
> +            ret = -EFAULT;
> +
> +        break;
> +    }
> +
>       default:
>           ret = -ENOSYS;
>           break;
> diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
> index 51be28c3de..628dfc68fd 100644
> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -948,6 +948,17 @@ struct xen_domctl_paging_mempool {
>       uint64_aligned_t size; /* Size in bytes. */
>   };
> 
> +/*
> + * XEN_DOMCTL_gva_to_gfn.
> + *
> + * Get the guest virtual to guest physicall address translated.
> + */
> +struct xen_domctl_gva_to_gfn {
> +    uint64_aligned_t addr;
> +    uint64_aligned_t cr3;
> +    uint64_aligned_t page_order;
> +};
> +
>   #if defined(__i386__) || defined(__x86_64__)
>   struct xen_domctl_vcpu_msr {
>       uint32_t         index;
> @@ -1278,6 +1289,7 @@ struct xen_domctl {
>   #define XEN_DOMCTL_vmtrace_op                    84
>   #define XEN_DOMCTL_get_paging_mempool_size       85
>   #define XEN_DOMCTL_set_paging_mempool_size       86
> +#define XEN_DOMCTL_gva_to_gfn                    87
>   #define XEN_DOMCTL_gdbsx_guestmemio            1000
>   #define XEN_DOMCTL_gdbsx_pausevcpu             1001
>   #define XEN_DOMCTL_gdbsx_unpausevcpu           1002
> @@ -1340,6 +1352,7 @@ struct xen_domctl {
>           struct xen_domctl_vuart_op          vuart_op;
>           struct xen_domctl_vmtrace_op        vmtrace_op;
>           struct xen_domctl_paging_mempool    paging_mempool;
> +        struct xen_domctl_gva_to_gfn        gva_to_gfn;
>           uint8_t                             pad[128];
>       } u;
>   };

-- 
Best regards,
Sergey Kovalev



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 15:32:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 15:32:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512798.793013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pedxt-0005Mg-1c; Tue, 21 Mar 2023 15:31:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512798.793013; Tue, 21 Mar 2023 15:31: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 1pedxs-0005MZ-Ux; Tue, 21 Mar 2023 15:31:56 +0000
Received: by outflank-mailman (input) for mailman id 512798;
 Tue, 21 Mar 2023 15:31: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=oKE/=7N=citrix.com=prvs=437062dd9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pedxs-0005MT-1e
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 15:31:56 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f80a2be-c7fd-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 16:31:52 +0100 (CET)
Received: from mail-dm6nam12lp2169.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 11:31:43 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by CO1PR03MB5762.namprd03.prod.outlook.com (2603:10b6:303:90::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 15:31:41 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 15:31: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: 7f80a2be-c7fd-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679412712;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=OxYxRObeEdwV3yyDPTVqfkwmcc/AnBAJdIJG9kkWKoM=;
  b=PZty0aMEzwPAXwPiycBunhxygvuDwFIVrXtFpuk8qAIqM13TCPlVdvWu
   A1EWL9xO2JvdoBJ3r16Sn9xFuSt/VG47mGa5t6ymRoN6FlIHWkT3JiPct
   8p5kqMZ8J8HpRdC3IPXDlWxVdL8LlfMKN9T4eKC0CSfj/FZ75XR/IYo0G
   Q=;
X-IronPort-RemoteIP: 104.47.59.169
X-IronPort-MID: 101094580
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:lZNgFa6LttoEibRlKKcBAAxRtCrGchMFZxGqfqrLsTDasY5as4F+v
 mYWUD/QMv+NNjSnc4siOou/phkC68SBn982SAQ6rSozHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasR5QeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m0
 tsSKywqVxW4v92G8OuFSPdlgeh+BZy+VG8fkikIITDxK98DGMqGb4CUoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OnUoojumF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eWxXqjCd5PROXQGvhCjG2oxEUVET0tckrkmaWXqG2zdcx5N
 BlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2IB5UlqY/7aQ6D+3Zy4cKDZYYTdeFFVUpd7+vIs0kxTDCM55F7K4hcH0Hje2x
 C2WqC85hPMYistjO7iHwG0rSgmE/vDhJjPZLC2NNo55xmuVvLKYWrE=
IronPort-HdrOrdr: A9a23:nOwGV6rF/l8fxNE+RdMlYhIaV5rseYIsimQD101hICG8cqSj5q
 aTdZUgtSMc7Qx7ZJhOo7G90cW7MBbhHP1OkPAs1NWZLXHbUQKTRekMg7cKqweQYBEWndQtsZ
 uIHZIOb+HYPBxWt+u/xi+SeuxN/DCAysqVrNab9VtWCStNTI5BwTtDIju6NGozfiV6bKBJd6
 a0145Jpz+tY3QFYt7TPBQ4duLevcDMkJ78QTNuPW9E1DWz
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="101094580"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ef3keST0LUYZ8E3odAu5uO60BL72RLUn/HT3WCshn73M1dx7NXmQ1Cw+rdzgYqdmZzrNkeQCgq2xRdE/4PmTuIgye0HOY7PJbypz4JYYOaM+qk+0YWFQNPPlbmHF+fV0oyqOiMqD8e4ipcdgA9+AQK7NG2n2aI97xPH67hd/qwkq6Y5xSLHauDRs6P4twQZaueEgd92WjH1JZosg3Bub5q2MTiHBcMFjd4pnWDOWrLWdIYABITkloeAKOPFHqNR3j3r1k2rNTEKZV3xtK7LlpNXl1CZ3lBIXzeu2h/wud/MnU2nVs+W+Z91jYxf+ulpnbAYGbEubdgTilH+gRZW8fQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tgOVzEkNbKiUX/cfupqbNE3o/J6r+GiPvKYpvQl18h0=;
 b=AWd+gOxH7RW2M1hl3O9PIo64ApnQDh/fhEGkPmTPbugr/503HmtFy0RWxwWjsI7eU3J39iXIIP2gWNexdFkJSPHXDqbbGZ6VQQfOijMEDMIK8e5/9YDqoaszhnAJkjfluukZWVMjH9y+ECx2q7HcyHwAImGR6Art104lifUOs+WEoIHYVQl+rebGrcL29yhyc6tLTpnYg9IlbnGiXhfgeZUfPMqkZGRMh0284DO4iJGuZoFevy7/ptJMF02oJZVyUSWY+2tbn+DFfCtSTtzIxiKQdeB/w+eZko4ptNc5BqZkZpR2OfFtARZkM4uLK61UvPUF+exaFJvTAWYOrK5Efg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tgOVzEkNbKiUX/cfupqbNE3o/J6r+GiPvKYpvQl18h0=;
 b=QfgVC1oBf2ktJ6NA3m9OiVHG+RriIrHnhwa8CBhCxZPmMju1tRdXhCgr54HOcRO2I2JkLYZq31eWU0bYlkbQXJgUQqs2G8gpgVbB1+gpaA2XiVzfAnOXAwF66AncfdYo+SJCKmc/Y8ZSfXQwwW20gaS6wvhH4IdtPCZPapIQ/m0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Mar 2023 16:31:33 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2] vpci/msix: handle accesses adjacent to the MSI-X table
Message-ID: <ZBnN1VRLBtuoO/b0@Air-de-Roger>
References: <20230316120710.38817-1-roger.pau@citrix.com>
 <aa9bf8f2-5ff1-27b0-bc41-b7b639648e85@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <aa9bf8f2-5ff1-27b0-bc41-b7b639648e85@suse.com>
X-ClientProxiedBy: LO2P265CA0153.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9::21) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|CO1PR03MB5762:EE_
X-MS-Office365-Filtering-Correlation-Id: c80c5ef1-164b-4f83-f230-08db2a215e1f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aEgzhagbdnEKzy7FwbDK2ZCZQZyVTBMMnLEFvhnayrUaAer98locZPYcdFG/LZzarv/RGIT6V+cR1TQNArVpXSbPatdf/TFavf4fnoM6QI5ndfeHvSIjQSgk1wRCG5qyBRP7ZZR2gW+34t69lxF9lDEaANWC7/attjO5xbvWl6TTeIlzWzG005sEh4ELTzOzHXWg8l68BadXv3Vg91gKWWLdezszTKO+xVXD8s1I5Ioi84ksfDVuJOu4PedpqyBbt/pyr/CDz3FmM/2qPry8rkTUXyz9xu800JWbuP2dZWpFCnSFVEri+Rh+lWPCp1llSCoF8VLsBLi/mb8H0FxMD/fcKm1QlIqWIgaTk/q9VB1cI/WBElAQXcWVr81OAkrXLrRAgMuoMsfCC+hUolGsDlA6wU8EIwLnWGriQiGUJS/ijdpgx5Y4fq8UQs1T4hkVa1Ps5dvy1DPQN6PQisNfO2TBJh2i+4CIFOC5RUnIOnLs1pQl3MCoJ07ux2NMmY9e1Z72RSQIT2VOo7wlGGHkX6TBty3gCj3/h7VWfSzle3W5vxTPXt5XOH6LJzcO3rbqtP0cjpRC64Brhm6Snf4f1UXImGvNtWBCi+/zPKIqAtIIeZfffWDWR+lJhCfHPbBiBZcRiHyDgCOT0Kgz/MkKjA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(39860400002)(396003)(376002)(346002)(366004)(136003)(451199018)(66946007)(41300700001)(6916009)(4326008)(8676002)(66476007)(66556008)(38100700002)(82960400001)(2906002)(85182001)(8936002)(5660300002)(26005)(6512007)(6506007)(53546011)(6666004)(6486002)(186003)(86362001)(9686003)(83380400001)(33716001)(316002)(478600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SW1lTWswSHhEVFpndDQ5T2lzRDBxVmJDQjFmZndPT2cwamEzbVNQdWxhOGdK?=
 =?utf-8?B?cnNTeWRxRWY0eDBMVDFNZ05kbnZLbjVhUjdyU2Q5N2FJWFY1S1VidXo5dWt3?=
 =?utf-8?B?Ukozc3oxMTZqMjkzUkR5d0JyYXozVzFIY1lvK0ljcW1WempBankyVHV1UDBF?=
 =?utf-8?B?YklsK1RZRVpJRkJhVnRWMCtDQkJNTkExOHpuVm5oMGF2dmxjcHZQSmVFc0gw?=
 =?utf-8?B?VFBQWmRiRkZ2Mkl0dHlUVVZkOTl2TEIvUFR5UVlHejQ2Qk5OeTNBNGxqVmZj?=
 =?utf-8?B?SXNiYU03bjEzbTA3aGlXWU5wNUVFMFBRQ21vSnNhSTFoRDUvSnpGa0tveFc1?=
 =?utf-8?B?Q2MzZnh6QVpadXBqa0dKTVRRVGlPaEJSd1lGMG9aSUpsZGh5V2tuRldIV201?=
 =?utf-8?B?QmtMMEgrek5UOXc0azBSR3ptaWZnU2Y2ZFNRQWY4bXN4MW1LTTlPUlBXdGQ5?=
 =?utf-8?B?bnBNUE82RGxZN05JdU8zZUZkbU5ib0ZLU3ROejdiQzk2cjFxYTEyK0ZDUWVU?=
 =?utf-8?B?L3lvdW5PVFNNT2FkbEs5QThVblZoUUsxTzFhVTc0NFZnQUsvMk5rOXprUGhq?=
 =?utf-8?B?VG1pNmN0dStmTDIrcHZFcnlmUGNPbnBJeGc5WSszWDhWOWFMcUtjMFlNMUZy?=
 =?utf-8?B?OUgrOUQwTWxyVStCK2R1cTA3MFlyNk9rSVc4M1ZWNG1XVUtGQ0dYSmQ4NU5V?=
 =?utf-8?B?Nyt6RWVUb2cyejVROVBFQk1FelN5VzFTRy9CN0RaektDcmtEZ1RROEI4UU1p?=
 =?utf-8?B?RjBDSjZVYmpId21jZExsK0JobWdtYVo2U29ZOU5tOHc1NCs4ajlaQkJsUjhS?=
 =?utf-8?B?UU00Nk1PRmkzcWpmeXRtZUw3NkljZENuMTNRcktIVnVQazliaTlsTVd6L0tD?=
 =?utf-8?B?UlpwL0d3K3BNc2VwaHhwRHZUNFBVWXhTU09pSzVXbGRXTitXNmNUdGRRY0tx?=
 =?utf-8?B?cUUwZ2JSa0w5TjlBM0k3bC9MNjJZWTllMmJLMFBTRG4zNllxKzhueDNkcXgx?=
 =?utf-8?B?V2YzZlU3a2Z2eU9XeVlhcFZqTzNQM3dFZGNRT3NwZFAvOU5FZ2k1N250aFV1?=
 =?utf-8?B?aVdKR25VdWRFbCtZVjYvTkdKSkc5K2NuTUd0MjhTSHl2VmtqQi94bGhTUkJK?=
 =?utf-8?B?Q0dQQnZ6aXl1VmZ5N2luelVibVAzOTJ6djlHU3NOWktSYXJKZGV1MC9zdDZ4?=
 =?utf-8?B?YWIzRngremRNUXY4UGNsa0hmZjdTa2Y0NDMrUjdVVHBSZmphMHc0Q3NROWw1?=
 =?utf-8?B?K3ZEbE9iQk1xZ0I3Mlh2L1I4VllyN0FjRW5HWG9Za3RJNmRyQ0d5ZXdPYmxW?=
 =?utf-8?B?dnlOVkNMYnFyREVGSkpwbXpXZmZqdTN4Tmd0SlVzYUVsNTRkb1g1bHlyaUVa?=
 =?utf-8?B?bk1mY3J0VVBPdXhTZ085N3JaT1UxU0JmQVBKaitCRjh5TVYvRlhyK0xtQ0kr?=
 =?utf-8?B?c2QyK2lwemxEVjRQNGpEbXZueWFUd3lhdENDNFJ3SkFFajA3eVFHbDNHUVNl?=
 =?utf-8?B?ckk1V3JVckFnOE1wMkRsYWNyYUtvUUJCcVdOSXBpV0NIVTVxN3I4Yy9NWW9t?=
 =?utf-8?B?RTI4MHJqVEtyb0o4bWNkaWdjbnFnWmxBSE1aQVpGSjlrK2NvSHZlS0EzUUVB?=
 =?utf-8?B?Z2o3Vk40ZVhxSDNWOUlWYW5jbERjWHhUcktkTXlpRFVseDkwUzcrNFdaZWVr?=
 =?utf-8?B?RWdEUy8xM2lnSm13RGhrS2ZxV1BEYTdPYnhJTkRwaGcrbzBDa0M4V3ptYk1N?=
 =?utf-8?B?STcwTUtQbDdrM2gzdXNJNStDNFZUR0pvV2o3c0lMeHBmU1R4OFhScUUzS3ox?=
 =?utf-8?B?eURleEZwb2JFdEt5NXpNTEUvZEMwTkVvYUtIaFBYc0hZQ1k5c3V3RjRSUU5p?=
 =?utf-8?B?a3V5dXJMamNWekVkQVEwM1QyNEtER1lyM2czd3c0cStnL0ZwQS8xQ3d4QTF2?=
 =?utf-8?B?YnVlamlWQktFeERsaHBMb0dCS1h2TzkwK2o2QThDNEFVN1J0L2RtR29SdmRR?=
 =?utf-8?B?SDlhMWRieVk1REIwbndzN2FyTmRqRms5dVYyM2xMTWNzYUJGYklMdnZINHk2?=
 =?utf-8?B?Z3UwV0dDK2pGbWNNRFliR0Z0cUJQNHFXSDNCaEZiWFVJNGNHUU9SZ04wdVF2?=
 =?utf-8?B?dmdtdHlmc0tPK2FKalZmbW9GSEZGVENzVlhucnJZRStCWUNJU2hXSWZEWHpZ?=
 =?utf-8?B?QkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	xRww33umi3ZjM+9TK9IRFwODyAogo9O78qzxH0PXCzG6q1WIFPRKVexQu85kmskZUITRKl2nP07jdkVsGI210bDEDqNLIxHYW/BCOv8ajxgCnrAy6SPoAGJtTZjQLjO1blkcS8GqVfaRLQgMnWVEJa1ZlNJyAQxvDGBtiQWAgdARzk6HGUWvxDA0Ca/QL54JyV0P3RYlozUqAcYa7GgwHgSX0Mt75zc09TG1KTMgoicei4Iyh3yPSmjGNgFMxu7yniyiifPxWCmrQInzkgP7HH/vKqVFJP0rYBp1Mj5oBr7tqGjCtxhsP2Q3hnhKZxriq4y/uX9Axv/KsyZYd1epka6K2uloNKNS2i5ooBpPG54oYDpAeA1q7Yix9SJhiiuMzcFEYuP0UJpyyqQWpJ/QjZjg+gnJnxXaf/TmbBAoaK2sF7T8e2hX7MLK7uWMfIlj+hn2BTApgPEcjMrmtAoDgJjAxnMv1ZgT1pbhKb9KLW8X2LtzJnP9kUPcfe3A83+mjkh97gzjOFtSvfxs4W5XeK9mL5+65F4RCmVmk4GFuFfJIkTaUQXkpS/77YuP8D2cUUeyOm066e0JjC1d6GV7LZb4SAXwSdWvANcPUcv/llwHH//6sQi5lcduGSQ4HYR1A4JlBR6KuvM6ozgcaQdC6QQ+6FgiBp3NvaGsXqueKE/Mq1nQ3799bdcaoAkLR4RRzlrEZb11DptPlXkDlyvb9l+L3E6dDZstbK41qV++oPHgM0XdhWFr/24gqKcO8vR1AO8j+DD4jfDGX17hM1hVYIXj0Z1FAKCUkUosSUJEfGE=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c80c5ef1-164b-4f83-f230-08db2a215e1f
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 15:31:40.6995
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1wr5PgZ1P4gjPIFqfrJ0C9bsXX+ikxj5ruSyk+0YyR2SWA8R/qnF8uPlW1C0sMfMaO6VIkZStHYRalyc9oEIHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5762

On Mon, Mar 20, 2023 at 01:08:48PM +0100, Jan Beulich wrote:
> On 16.03.2023 13:07, Roger Pau Monne wrote:
> > --- a/xen/drivers/vpci/msix.c
> > +++ b/xen/drivers/vpci/msix.c
> > @@ -27,6 +27,11 @@
> >      ((addr) >= vmsix_table_addr(vpci, nr) &&                              \
> >       (addr) < vmsix_table_addr(vpci, nr) + vmsix_table_size(vpci, nr))
> >  
> > +#define VMSIX_ADDR_SAME_PAGE(addr, vpci, nr)                              \
> > +    (PFN_DOWN(addr) >= PFN_DOWN(vmsix_table_addr(vpci, nr)) &&            \
> > +     PFN_DOWN((addr)) < PFN_UP(vmsix_table_addr(vpci, nr) +               \
> > +                               vmsix_table_size(vpci, nr) - 1))
> 
> Looks like this would be better in line with get_slot() (and slightly
> cheaper) if the 2nd comparison was ... <= PFN_DOWN().

Can adjust, I don't have a strong opinion.

> 
> > @@ -149,7 +154,7 @@ static struct vpci_msix *msix_find(const struct domain *d, unsigned long addr)
> >  
> >          for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
> >              if ( bars[msix->tables[i] & PCI_MSIX_BIRMASK].enabled &&
> > -                 VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, i) )
> > +                 VMSIX_ADDR_SAME_PAGE(addr, msix->pdev->vpci, i) )
> >                  return msix;
> >      }
> >  
> > @@ -182,93 +187,201 @@ static struct vpci_msix_entry *get_entry(struct vpci_msix *msix,
> >      return &msix->entries[(addr - start) / PCI_MSIX_ENTRY_SIZE];
> >  }
> >  
> > -static void __iomem *get_pba(struct vpci *vpci)
> > +static void __iomem *get_table(struct vpci *vpci, unsigned int slot)
> >  {
> >      struct vpci_msix *msix = vpci->msix;
> >      /*
> > -     * PBA will only be unmapped when the device is deassigned, so access it
> > -     * without holding the vpci lock.
> > +     * Regions will only be unmapped when the device is deassigned, so access
> > +     * them without holding the vpci lock.
> >       */
> > -    void __iomem *pba = read_atomic(&msix->pba);
> > +    void __iomem *table = read_atomic(&msix->table[slot]);
> > +    paddr_t addr = 0;
> >  
> > -    if ( likely(pba) )
> > -        return pba;
> > +    if ( likely(table) )
> > +        return table;
> >  
> > -    pba = ioremap(vmsix_table_addr(vpci, VPCI_MSIX_PBA),
> > -                  vmsix_table_size(vpci, VPCI_MSIX_PBA));
> > -    if ( !pba )
> > -        return read_atomic(&msix->pba);
> > +    switch ( slot )
> > +    {
> > +    case VPCI_MSIX_TBL_TAIL:
> > +        addr = vmsix_table_size(vpci, VPCI_MSIX_TABLE);
> > +        fallthrough;
> > +    case VPCI_MSIX_TBL_HEAD:
> > +        addr += vmsix_table_addr(vpci, VPCI_MSIX_TABLE);
> > +        break;
> > +
> > +    case VPCI_MSIX_PBA_TAIL:
> > +        addr = vmsix_table_size(vpci, VPCI_MSIX_PBA);
> > +        fallthrough;
> > +    case VPCI_MSIX_PBA_HEAD:
> > +        addr += vmsix_table_addr(vpci, VPCI_MSIX_PBA);
> > +        break;
> 
> Hmm, wasn't the plan to stop special-casing the PBA, including its
> special treatment wrt the p2m?

I had a pre-patch to do that, but TBH I'm not sure it's worth handling
dom0 vs domU different here, the more that PBA accesses aren't that
common anyway.

> Reading on I realize you need this for
> the (future) DomU case (to enforce r/o-ness, albeit having looked at
> the spec again the other day I'm not really convinced anymore we
> really need to squash writes), but we should be able to avoid the
> extra overhead for Dom0? (Granted it may make sense to leave this to
> a separate patch, if we want to keep the DomU handling despite not
> presently needing it.)

I can indeed avoid the trapping for dom0, it's just a 2 line change to
vpci_make_msix_hole() IIRC.  Since I've already done the code, let's
try to get the handling done for both dom0 and domU, and I can submit
the improvement for dom0 as a separate patch.

> > +    }
> > +
> > +    table = ioremap(round_pgdown(addr), PAGE_SIZE);
> > +    if ( !table )
> > +        return read_atomic(&msix->table[slot]);
> >  
> >      spin_lock(&vpci->lock);
> > -    if ( !msix->pba )
> > +    if ( !msix->table[slot] )
> >      {
> > -        write_atomic(&msix->pba, pba);
> > +        write_atomic(&msix->table[slot], table);
> >          spin_unlock(&vpci->lock);
> >      }
> >      else
> >      {
> >          spin_unlock(&vpci->lock);
> > -        iounmap(pba);
> > +        iounmap(table);
> >      }
> >  
> > -    return read_atomic(&msix->pba);
> > +    return read_atomic(&msix->table[slot]);
> >  }
> >  
> > -static int cf_check msix_read(
> > -    struct vcpu *v, unsigned long addr, unsigned int len, unsigned long *data)
> > +unsigned int get_slot(const struct vpci *vpci, unsigned long addr)
> >  {
> > -    const struct domain *d = v->domain;
> > -    struct vpci_msix *msix = msix_find(d, addr);
> > -    const struct vpci_msix_entry *entry;
> > -    unsigned int offset;
> > +    unsigned long pfn = PFN_DOWN(addr);
> >  
> > -    *data = ~0ul;
> > +    /*
> > +     * The logic below relies on having the tables identity mapped to the guest
> > +     * address space, or for the `addr` parameter to be translated into its
> > +     * host physical memory address equivalent.
> > +     */
> >  
> > -    if ( !msix )
> > -        return X86EMUL_RETRY;
> > +    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_TABLE)) )
> > +        return VPCI_MSIX_TBL_HEAD;
> > +    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_TABLE) +
> > +                         vmsix_table_size(vpci, VPCI_MSIX_TABLE) - 1) )
> > +        return VPCI_MSIX_TBL_TAIL;
> > +    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_PBA)) )
> > +        return VPCI_MSIX_PBA_HEAD;
> > +    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_PBA) +
> > +                         vmsix_table_size(vpci, VPCI_MSIX_PBA) - 1) )
> > +        return VPCI_MSIX_PBA_TAIL;
> > +
> > +    ASSERT_UNREACHABLE();
> > +    return -1;
> > +}
> >  
> > -    if ( !access_allowed(msix->pdev, addr, len) )
> > -        return X86EMUL_OKAY;
> > +static bool adjacent_handle(const struct vpci_msix *msix, unsigned long addr)
> > +{
> > +    unsigned int i;
> >  
> >      if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) )
> > +        return true;
> > +
> > +    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_TABLE) )
> > +        return false;
> > +
> > +    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
> > +        if ( VMSIX_ADDR_SAME_PAGE(addr, msix->pdev->vpci, i) )
> > +            return true;
> > +
> > +    return false;
> > +}
> > +
> > +static int adjacent_read(const struct domain *d, const struct vpci_msix *msix,
> > +                         unsigned long addr, unsigned int len,
> > +                         unsigned long *data)
> > +{
> > +    const void __iomem *mem;
> > +    struct vpci *vpci = msix->pdev->vpci;
> > +    unsigned int slot;
> > +
> > +    *data = ~0ul;
> > +
> > +    if ( !adjacent_handle(msix, addr + len - 1) )
> > +        return X86EMUL_OKAY;
> > +
> > +    if ( addr & (len - 1) )
> 
> unlikely()?

Done.

> >      {
> > -        struct vpci *vpci = msix->pdev->vpci;
> > -        unsigned int idx = addr - vmsix_table_addr(vpci, VPCI_MSIX_PBA);
> > -        const void __iomem *pba = get_pba(vpci);
> > +        unsigned int i;
> > +
> > +        gprintk(XENLOG_DEBUG, "%pp: unaligned read to MSI-X related page\n",
> > +                &msix->pdev->sbdf);
> >  
> >          /*
> > -         * Access to PBA.
> > +         * Split unaligned accesses into byte sized ones. Shouldn't happen in
> > +         * the first place, but devices shouldn't have registers in the same 4K
> > +         * page as the MSIX tables either.
> >           *
> > -         * TODO: note that this relies on having the PBA identity mapped to the
> > -         * guest address space. If this changes the address will need to be
> > -         * translated.
> > +         * It's unclear whether this could cause issues if a guest expects a
> > +         * registers to be accessed atomically, it better use an aligned access
> > +         * if it has such expectations.
> >           */
> > -        if ( !pba )
> > -        {
> > -            gprintk(XENLOG_WARNING,
> > -                    "%pp: unable to map MSI-X PBA, report all pending\n",
> > -                    &msix->pdev->sbdf);
> > -            return X86EMUL_OKAY;
> > -        }
> >  
> > -        switch ( len )
> > +        for ( i = 0; i < len; i++ )
> >          {
> > -        case 4:
> > -            *data = readl(pba + idx);
> > -            break;
> > +            unsigned long partial = ~0ul;
> 
> Pointless initializer (~0ul is written first thing above, i.e. also in
> the recursive invocation). Then again that setting is also redundant
> with msix_read()'s. So I guess the initializer wants to stay but the
> setting at the top of the function can be dropped.

I'm always extra cautious with variables on the stack that contain
data to be returned to the guest.  All your points are valid and
correct, but I like to explicitly initialize them so that further
changes in the functions don't end up leaking them.  If you don't mind
that much I would rather leave it as-is.

> 
> > +            int rc = adjacent_read(d, msix, addr + i, 1, &partial);
> >  
> > -        case 8:
> > -            *data = readq(pba + idx);
> > -            break;
> > +            if ( rc != X86EMUL_OKAY )
> > +                return rc;
> >  
> > -        default:
> > -            ASSERT_UNREACHABLE();
> > -            break;
> > +            *data &= ~(0xfful << (i * 8));
> > +            *data |= ((uint8_t)partial) << (i * 8);
> 
> This is UB for i >= 4; you'd need to cast back to unsigned long, at which
> point I think the cast-free variant of masking by 0xff is to be preferred.

Indeed.

> >          }
> >  
> >          return X86EMUL_OKAY;
> >      }
> >  
> > +    slot = get_slot(vpci, addr);
> > +    if ( slot >= ARRAY_SIZE(msix->table) )
> > +        return X86EMUL_OKAY;
> > +
> > +    mem = get_table(vpci, slot);
> > +    if ( !mem )
> > +    {
> > +        gprintk(XENLOG_WARNING,
> > +                "%pp: unable to map MSI-X page, returning all bits set\n",
> > +                &msix->pdev->sbdf);
> > +        return X86EMUL_OKAY;
> > +    }
> 
> Could this be moved ahead of the unaligned handling, so there would be
> (commonly) only one such log message even for accesses we split?

Quite likely, let me take a look.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 15:36:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 15:36:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512802.793034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pee1p-0006Dn-QP; Tue, 21 Mar 2023 15:36:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512802.793034; Tue, 21 Mar 2023 15: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 1pee1p-0006Dg-Mk; Tue, 21 Mar 2023 15:36:01 +0000
Received: by outflank-mailman (input) for mailman id 512802;
 Tue, 21 Mar 2023 15:36: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pee1o-0006DH-Ri
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 15:36:00 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on062d.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 13539413-c7fe-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 16:35:58 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB8020.eurprd04.prod.outlook.com (2603:10a6:20b:244::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 15:35:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 15:35: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: 13539413-c7fe-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c3PZf+Mlqte9NHyhpcrPxtL0JqnazYv9m4ilEUviAy1Zz8g653f2fBfCUPiS2YSmV6RDozrzxR+ACU7pbwqEnJzFzfFirscmRClUnbvrDxWMVlQvXYLN9RS2e6Ic+ByPTpY/mSmI1ADIlJVSoyWdRP7Ata3nfTOm6itE09unm/jLMzOPvGqYw2BmjKDI6XYHWLukI3XvE3wW6v/T1Gm9dzC0ayWQUIaZfg/2DC1ELpc/PgElrHpbj8qYKN/8ZNmNcZe3So2lqUzVMv9HNqXBHcK0u/Wjgb/TVUkw24iaiA8eI1jm0/M+5dVwia/8ys+TOYju3lLoeeyVY0EtOzv2Ng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OR8m9vyw3SSyqFlEWe4IM1KY+3kZKb6AbxwRWneImdo=;
 b=VPMZwb4RFzE77eBbjy02kdMx71TtmmVSRRBeG1wZcQgMH22qoMvlPlB4KmNHrnvUy7+EP91bkqRyI4+yUNxpjfdyHXJo2kIEcguwhjFhc1CSqg3N2aZGaRCbE3TBBWaw3XGUGRtvpf4KmPoQTTyjzLmQ0VgO2XYK3+CKlPRK+s1ItUQ5LPWlCd3+VYX5qfhqUow91kLPinfpQthnTkCJHdQOSC8T/JB1FQrAkU7iu6VEJPrsvvPJ3BYTVXQ6tZgke79m+IW1jl9IfR7S2y40BV3fG1n379qEG3YUBobG8h7cET6tHEtZviZ6roIy0s0rATXOSfEpWUmzqg1e/wJ2qQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OR8m9vyw3SSyqFlEWe4IM1KY+3kZKb6AbxwRWneImdo=;
 b=2GL7PYEcBPSiMYUZ8PIM9Avp34XSZ31aGRv0K0f3jbEN7r6NudF8nHfJpZP2nZS2QTlnAZwlY4UCOLGnCY8R7pbMoNjJewKvpLo4A2CtlxCqeI2z+0+nsadWiS4YvW17nQSe4e9kHPS9nkNDqPjqLE4BA3yK+7WO07Y3bQsl0Vc7Vc/+VB6Erl/S3ld2NlUYcF0cikDDzvdCGXe6pLz2Zv6dDbgLSaWmYVi5nJHRT7wetx7/VT499YTyVsCBnQAb7Ujkxm0gddxCyReSjYEpP8TbDRjX7zlmAsBY5h3NtA6pKrCvRF7t+RQIvB8LXHDEhGMdrVImtDNNVdOXVwNFgQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e18b997f-48ba-4090-0c0e-67475f5b3329@suse.com>
Date: Tue, 21 Mar 2023 16:35:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] x86: use POPCNT for hweight<N>() when available
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" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>
References: <55a4a24d-7fac-527c-6bcf-8d689136bac2@suse.com>
 <ZBRNWhExetXH1OaS@Air-de-Roger>
 <011cb7d8-fb32-74b1-2b06-f57be67f5c6a@citrix.com>
 <f1b0e3be-cf23-6471-7a59-c130380be0f8@suse.com>
 <ZBnF2oTLQjJtfZiK@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBnF2oTLQjJtfZiK@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0111.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB8020:EE_
X-MS-Office365-Filtering-Correlation-Id: 94d85914-26e2-47c2-dee2-08db2a21f661
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BJ0cvuuCgQHiqgakW5lwh6f+cTT3ui03fqoiFl3jUlZw6VB+UBQWoItLZRmh7Kp6naLWTXwdhcEKnv0yWUNjmaWNJrECGmbKVS3h8YIehaZBDM6/6tjUW6gFqvsupoFF+2AYRa3aPNI9ewPqIoi5EqOvW354VNVT2/X/mrqsr7Bj0Hvj2WPo8uRqg56x2cZdY3aGy1aU3WE2atuCF2/MYJG2fNxLBWdQ1J1+OjL8qq/oPv88gdUiPLmsMcYMkm9Hfvj0qCFflR9GOslOkhQkHOPshrOwR1YVRw0leK0G7sv0/m0477E2ANbBSqUMRBnLHiXaRjkv4YoVqCfSBviyfMA/crMiwTAZq0bp8l7UOAMK2NIA+YN9n3qdlZy6iwbp10ZOBZuKkqJnEWbMXP4a1tWmsRqycP++IqI3l3tqjAfVokPINFgk5km8cenRnz6LaU1mUhlt5zIo4HTOL6nhJF80m5ghi8aA6hvT+Gw8i5FlMqjWQRgYCBkJ9StpBGx9CeSz4a5YKKCstLef3XwsAWwsVciSpFujVIPbiBcx79G84bsSDAn8LUqRAisuQfWEUjYgahknkpZ8aP3PBEoP/3N/5jQ6B9S2NzQscVdOczj1PjZC4/ZyI0RgP+gW7vVQ1yOSivG4ouAmisEThLwdV9x4t2amM1UIVn1AOpp9QINfoFmYiFk3J4fKTEeE/i8SQPQ1gGAcCPwvQyI/gD+wou7vL8kZcgaq2ndhNyyZoVJvlArLKHgmR1YwB3ulzDpVvRe09kY0Xvzo4V+Q+sOzzg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(346002)(366004)(39860400002)(376002)(136003)(451199018)(2906002)(31696002)(86362001)(83380400001)(186003)(5660300002)(38100700002)(8936002)(2616005)(41300700001)(26005)(6512007)(31686004)(6506007)(53546011)(54906003)(478600001)(316002)(36756003)(4326008)(6916009)(8676002)(66946007)(66556008)(66476007)(6486002)(16393002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Zit1OUUzdGtLMXdlQklZZTlsNVZMK1FxSjBScXNvQ3NmMjFnbUg4QklGcFMv?=
 =?utf-8?B?elJoZFE0QUhhVitxRmg2dCswWmhKSTR4S2UxdlhsSEdpY3lpYlYzNGJHQzA1?=
 =?utf-8?B?TDBvbi8xTVRsRFM1WngxcHJEb1FyWXNSUkJ3d2htUDNsdHNvZ0t1UVNYWHFt?=
 =?utf-8?B?Z2FDcU5JUlJDU0lNTHpzOTlRZlE2MEI1SllKeEdHd0NUOU1jd2RFeFpYS2dN?=
 =?utf-8?B?UlpEQytVcmEweG0yZ1ZSejlzMFEyZCsvSjdYSEtGUUdLc1YrVFgrWksrMG9x?=
 =?utf-8?B?V1lhTEpoeDYyTzZCaFNVNUpSM3RHeEIrMzdsSFkyQmhlZlBrd2FXMHdtekU2?=
 =?utf-8?B?akEwZjE4VTRUUC9JRnZOZkQzK1YwNlNnWVhvODFLdytIL3M4eWRmdFVyeWNl?=
 =?utf-8?B?Q2JxaGRNN1lPWmhiT2ZKOTNxeEl4MmN1WjhlN3JhUUthUVA1eEd0NENzOHZM?=
 =?utf-8?B?c3RzQnBrSmZyK1NLUERYK2l2bHViYm4wY0NuNEFQOCtOSVU4Sy8rMXc2ekFq?=
 =?utf-8?B?NXBMN3NsOHQyWmtaelNKSGZFbGpBU2crL1N4TkhkSVhMQisxc3hWbHFxNUg3?=
 =?utf-8?B?d0JpTDlheVdvcDg4R0tYdXowcUFIN1BpSUFWazNFZ1N3Umd0MHZheFJCRzFP?=
 =?utf-8?B?TkozTkY3amtOS2hTTWZSTjZvVTVVZHBkVjJWN3V2cFNjYXI1Q3owejh5K0d1?=
 =?utf-8?B?TThwTEFMZzFLYi9JV2k2RXBzb0lLbEozZzNoUUxzc2ZSdWVoMGNrdG9zNXds?=
 =?utf-8?B?YlZUbGt6Zi9HdU5laHFuNUhTdlE4b0ZDMlpPSFNMQTR5UlJEUHR4WFJQQk42?=
 =?utf-8?B?ZWl5eTRDdHBzZXBkMVJjR2F5YUlZNllmL3EyMHNNelZwMkh3bDRtbXRLb1lv?=
 =?utf-8?B?SFBLRzhhMEFIT3BibEVhNjJ2SytkVXVKaVhLM21SRFp5dU9zWW5oc1pBNFVy?=
 =?utf-8?B?Y1pkSllqNGIxdzdBckZFemZremU4UG1iRHNuMUN1RVloQUN6djZtYVlqTTdW?=
 =?utf-8?B?NW9VWlZqb01ZYnNZdFhZV01HWFNVZGpQVSt3Wnh4bmk1Y1ZxVzZCbmVkYXB6?=
 =?utf-8?B?MGJzUEpqZ2E4b09SMGlxMGJMSFFQazRPQUZUUE5XR0g5MzdFY3ZLb3dZaXBH?=
 =?utf-8?B?UG1FS3lLZHA2cm9TRkZkZHpaZFJjNDd3SXEzVEVHYm45blNzRWp1SlA2STlJ?=
 =?utf-8?B?S1lXYzZIb0dYQldCd1dMTHBQWHBWNytsMmF0Wi9ZS01rdFVycllteURYYVN3?=
 =?utf-8?B?T2xsWjVQM25jQWhLb0NlNEhaM3V1enVnZmdIWk81U1E3ZVpObWpqN0d2VENF?=
 =?utf-8?B?RU50bGladStzL3IxZTBtU3F5TFJreHA2U1JrYTg2K1ZaL2xrNjVzSzR3SENu?=
 =?utf-8?B?UDNOa1NXUGNPMk9VSGZ0Qy9CT3JvWVpsMnE5bTFHa0VSZzR1SE82dzRIL1pT?=
 =?utf-8?B?TUpHbmVDTVRXQVhDT01RU29qam9XZmw5Yk1vcThhQlc2RE5KL2dtOTJwK0lM?=
 =?utf-8?B?ODg1cWh6QmFDVXlXNHBETktCR29FcVRDR3pIN3ltTy9WRzdobWxOb2R5RmNR?=
 =?utf-8?B?V2VvU0ErYU5taWFpTWZuWDZJRTE2VzNJcVdjejE2enNJQnkwRVBaM0MzbVkr?=
 =?utf-8?B?N1JpOGFSNUk1N1Nyb1pneENqejArZEROVzBuRkovR210M3luaXZRNThicmtO?=
 =?utf-8?B?VnpDT091ME45S3R0K1NHNVh0OXpQTW5oNmRDbEErRUFkT3g2QlI5UW5wUy9K?=
 =?utf-8?B?K0Q1YlFKdTROQWJRanFtZWh5eHJHRUo5WDdXUUEwaWl1RTFpNjV0NjljN0FS?=
 =?utf-8?B?VEZ1dVl4VXJzY2V3ci80Q0h1VDZQbUNoWm1wNGxjZWhteFlreENBY2ZITTY0?=
 =?utf-8?B?c0R1ZHN6b1I1bnNJbG1LSGFObnZKU2VFaE5XRVlueHJZYmtGQVZTQVVSTyt5?=
 =?utf-8?B?a1FTaG5XbEM3RzdHTnh0SUFLNThNTnB2T1dlR0JuZklrS2NpRlg0WHFVNFJS?=
 =?utf-8?B?YkdOVGovamUwWXVvd0FvQlhsOFZHZHNnWWdhN0taRkJYNHg5bkUxUGs2aGov?=
 =?utf-8?B?NkY5L1AvNUdzdjhPU3JhWjljK3lPMnhFTVkycmZ4TEpZOHFqZUJwUXV3ODNj?=
 =?utf-8?Q?1sRttmer0rCQjGlvc8SK1vPIe?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 94d85914-26e2-47c2-dee2-08db2a21f661
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 15:35:56.0359
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2bM5DanKSP0JDIUFHcma8n6/34K4WrMaeQehg3Prs7eO2jLcRh42g43NQZSaO4Gqvppni4XGuV4fLUOzDfLeVw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8020

On 21.03.2023 15:57, Roger Pau Monné wrote:
> On Mon, Mar 20, 2023 at 10:48:45AM +0100, Jan Beulich wrote:
>> On 17.03.2023 13:26, Andrew Cooper wrote:
>>> On 17/03/2023 11:22 am, Roger Pau Monné wrote:
>>>> On Mon, Jul 15, 2019 at 02:39:04PM +0000, Jan Beulich wrote:
>>>>> This is faster than using the software implementation, and the insn is
>>>>> available on all half-way recent hardware. Therefore convert
>>>>> generic_hweight<N>() to out-of-line functions (without affecting Arm)
>>>>> and use alternatives patching to replace the function calls.
>>>>>
>>>>> Note that the approach doesn#t work for clang, due to it not recognizing
>>>>> -ffixed-*.
>>>> I've been giving this a look, and I wonder if it would be fine to
>>>> simply push and pop the scratch registers in the 'call' path of the
>>>> alternative, as that won't require any specific compiler option.
>>
>> Hmm, ...
>>
>>> It's been a long while, and in that time I've learnt a lot more about
>>> performance, but my root objection to the approach taken here still
>>> stands - it is penalising the common case to optimise some pointless
>>> corner cases.
>>>
>>> Yes - on the call path, an extra push/pop pair (or few) to get temp
>>> registers is basically free.
>>
>> ... what is "a few"? We'd need to push/pop all call-clobbered registers
>> except %rax, i.e. a total of eight. I consider this too much. Unless,
>> as you suggest further down, we wrote the fallback in assembly. Which I
>> have to admit I'm surprised you propose when we strive to reduce the
>> amount of assembly we have to maintain.
> 
> AMD added popcnt in 2007 and Intel in 2008.  While we shouldn't
> mandate popcnt support, I think we also shouldn't overly worry about
> the non-popcnt path.

We agree here.

> Also, how can you assert that the code generated without the scratch
> registers being usable won't be worse than the penalty of pushing and
> popping such registers on the stack and letting the routines use all
> registers freely?

Irrespective of the -ffixed-* the compiler can make itself sufficiently
many registers available to use, by preserving just the ones it actually
uses. So that's pretty certainly not more PUSH/POP than when we would
blindly preserve all which may need preserving (no matter whether
they're actually used).

Yet then both this question and ...

> I very much prefer to have a non-optimal non-popcnt path, but have
> popcnt support for both gcc and clang, and without requiring any
> compiler options.

... this makes me wonder whether we're thinking of fundamentally
different generated code that we would end up with. Since the
(apparently agreed upon) goal is to optimize for the "popcnt
available" case, mainline code should be not significantly longer that
what's needed for the single instruction itself, or alternatively a
CALL insn. Adding pushes/pops of all call clobbered registers around
the CALL would grow mainline code too much (for my taste), i.e.
irrespective of these PUSH/POP all getting NOP-ed out by alternatives
patching. (As an aside I consider fiddling with the stack pointer in
inline asm() risky, and hence I would prefer to avoid such whenever
possible. Yes, it can be written so it's independent of what the
compiler thinks the stack pointer points at, but such constructs are
fragile as soon as one wants to change them a little later on.)

Are you perhaps thinking of indeed having the PUSH/POP in mainline
code? Or some entirely different model?

What I could see us doing to accommodate Clang is to have wrappers
around the actual functions which do as you suggest and preserve all
relevant registers, no matter whether they're used. That'll still be
assembly code to maintain, but imo less of a concern than in Andrew's
model of writing hweight<N>() themselves in assembly (provided I
understood him correctly), for being purely mechanical operations.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 15:36:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 15:36:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512801.793024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pee1l-0005yA-HU; Tue, 21 Mar 2023 15:35:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512801.793024; Tue, 21 Mar 2023 15: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 1pee1l-0005y3-Ev; Tue, 21 Mar 2023 15:35:57 +0000
Received: by outflank-mailman (input) for mailman id 512801;
 Tue, 21 Mar 2023 15:35: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 1pee1k-0005xx-IP
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 15:35: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 1pee1k-00089k-6w; Tue, 21 Mar 2023 15:35:56 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[192.168.4.43])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pee1j-0003pK-U8; Tue, 21 Mar 2023 15:35: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=8OkT+LBGgDvL/XcYS+A/q5e14HSk+HJtPBBqpQ4y/NE=; b=vbTjrPyEJK/FeU8VW1nuTa6x5n
	i//R60hr5hzll9/mKf49ravTqo7M7k311oCf4eBqiZdAeB23vp7wdf9dJh3Pee7tNcNK72EvrsCxE
	wqy7zZqRo0fxKUTeMnkZsV8kyKrLYU7CMlPY2IHM6CbtM4VlIzbPm7ayCxJR1SDVMDLo=;
Message-ID: <d82e7ed7-50d7-0c4c-532a-df50a4801110@xen.org>
Date: Tue, 21 Mar 2023 15:35:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v2 3/4] xen/arm: Defer GICv2 CPU interface mapping until
 the first access
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Wei Chen <Wei.Chen@arm.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230130040614.188296-1-Henry.Wang@arm.com>
 <20230130040614.188296-4-Henry.Wang@arm.com>
 <e2421c2d-6ae1-bf70-530d-0683d943f519@xen.org>
 <AS8PR08MB799142447DF4749065ABAF5992819@AS8PR08MB7991.eurprd08.prod.outlook.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AS8PR08MB799142447DF4749065ABAF5992819@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 21/03/2023 03:57, Henry Wang wrote:
> Hi Julien,

Hi Henry,

>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Subject: Re: [PATCH v2 3/4] xen/arm: Defer GICv2 CPU interface mapping until
>> the first access
>>
>> Hi Henry,
>>
>> On 30/01/2023 04:06, Henry Wang wrote:
>>> Since the hardware domain (Dom0) has an unlimited size P2M pool, the
>>> gicv2_map_hwdom_extra_mappings() is also not touched by this patch.
>>
>> I didn't notice this in the previous version. The fact that dom0 has
>> unlimited size P2M pool doesn't matter here (this could also change in
>> the future). Even if the P2M pool was limited, then it would be fine
>> because the extra mappings happen after domain_create(). So there is no
>> need to map them on-demand as the code could be order the way we want.
>>
>> So this paragraph needs to be reworded.
> 
> Sure, I've reworded this paragraph to below:
> "Since gicv2_map_hwdom_extra_mappings() happens after domain_create(),
> so there is no need to map the extra mappings on-demand, and therefore
> keep the hwdom extra mappings as untouched."

Looks good to me.

> 
>>
>>> +    /*
>>> +     * Map the GICv2 virtual CPU interface in the GIC CPU interface
>>> +     * region of the guest on the first access of the MMIO region.
>>> +     */
>>> +    if ( d->arch.vgic.version == GIC_V2 &&
>>> +         gfn_eq(gfn, gaddr_to_gfn(d->arch.vgic.cbase)) )
>>
>> The CPU interface size is 8KB (bigger in some cases) but here you only
>> check for the access to be in the first 4KB.
> 
> Yeah indeed, gfn might fall into the range between 4KB and 8KB, sorry
> about that.
> 
> Considering that the CPU interface is continuous (I suppose), I have two
> ways of rewriting the gfn check, we can do either:
> 
> gfn_eq(gfn, gaddr_to_gfn(d->arch.vgic.cbase)) ||
> gfn_eq(gfn, gfn_add(gaddr_to_gfn(d->arch.vgic.cbase), 1))

This check is incorrect as you are making the assumption that the size 
is 8KB. As I hinted in the previous e-mail, the size could be bigger. 
For instance, for dom0, it could be up to 128KB when the GICC is aliased.

So you want to...

> 
> or
> 
> gfn_to_gaddr(gfn) >= d->arch.vgic.cbase ||
> gfn_to_gaddr(gfn) < d->arch.vgic.cbase + d->arch.vgic.csize

... use the size in the check. With the || switch to &&, my preference 
would be to use:

((d->arch.vgic.cbase - gfn_to_addr(gfn)) < d->arch.vgic.csize)

to avoid a potential overflow in the unlikely case the CPU interface is 
at the top of the address space.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 15:37:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 15:37:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512809.793044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pee36-00075V-BO; Tue, 21 Mar 2023 15:37:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512809.793044; Tue, 21 Mar 2023 15:37: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 1pee36-00075O-8f; Tue, 21 Mar 2023 15:37:20 +0000
Received: by outflank-mailman (input) for mailman id 512809;
 Tue, 21 Mar 2023 15:37: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=YM/b=7N=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pee34-00075G-Lk
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 15:37:18 +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 42d4d4e3-c7fe-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 16:37: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 306B7220E2;
 Tue, 21 Mar 2023 15:37: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 0D3EE13440;
 Tue, 21 Mar 2023 15:37:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id O2u6AS3PGWRaXwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Mar 2023 15:37:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42d4d4e3-c7fe-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679413037; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=QGlEnMj44Txv1AZjZ7/liK4karD/v1E0kNljsQ6EyW8=;
	b=ugokkivbjwJTiPEHks7FT2jC2BE891caMYlsgGtdmh3NcIygHHeo+unBjqOwh9smeyYaWp
	MVywfHZFrciAz09TBYyWApeadl9OjQ1YEzfHgJJ9Z17FwLtOQOVETRF0Yeq5vRQvgp3JCF
	1MVIvJ7UPFOvWvr4W2SG2e+VF6pv4iQ=
Message-ID: <551027c3-04be-be47-96fa-8375b99dcb53@suse.com>
Date: Tue, 21 Mar 2023 16:37:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
References: <20230315154226.4238-1-jgross@suse.com>
 <49c631aa-2a88-4223-a63d-0058bfdbc9e6@perard>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] tools: use libxenlight for writing xenstore-stubdom
 console nodes
In-Reply-To: <49c631aa-2a88-4223-a63d-0058bfdbc9e6@perard>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------oSsARvdk4LLrFaIfC0EvKV4r"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------oSsARvdk4LLrFaIfC0EvKV4r
Content-Type: multipart/mixed; boundary="------------Piopm5Z2n3yCmH7vA8lrc4Wu";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
Message-ID: <551027c3-04be-be47-96fa-8375b99dcb53@suse.com>
Subject: Re: [PATCH] tools: use libxenlight for writing xenstore-stubdom
 console nodes
References: <20230315154226.4238-1-jgross@suse.com>
 <49c631aa-2a88-4223-a63d-0058bfdbc9e6@perard>
In-Reply-To: <49c631aa-2a88-4223-a63d-0058bfdbc9e6@perard>

--------------Piopm5Z2n3yCmH7vA8lrc4Wu
Content-Type: multipart/mixed; boundary="------------9ehZyCyypbLKvRJldfgkqpzB"

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

T24gMjEuMDMuMjMgMTY6MDIsIEFudGhvbnkgUEVSQVJEIHdyb3RlOg0KPiBPbiBXZWQsIE1h
ciAxNSwgMjAyMyBhdCAwNDo0MjoyNlBNICswMTAwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4gQEAgLTE5ODIsNiArMTk4NywxMyBAQCBpbnQgbGlieGxfY29uc29sZV9nZXRfdHR5KGxp
YnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgaW50IGNvbnNfbnVtLA0KPj4gICAgKi8N
Cj4+ICAgaW50IGxpYnhsX3ByaW1hcnlfY29uc29sZV9nZXRfdHR5KGxpYnhsX2N0eCAqY3R4
LCB1aW50MzJfdCBkb21pZF92bSwgY2hhciAqKnBhdGgpOw0KPj4gICANCj4+ICsvKiBsaWJ4
bF9jb25zb2xlX2FkZF94ZW5zdG9yZSB3cml0ZXMgdGhlIFhlbnN0b3JlIGVudHJpZXMgZm9y
IGEgZG9tYWluJ3MNCj4+ICsgKiBwcmltYXJ5IGNvbnNvbGUgYmFzZWQgb24gZG9taWQsIGV2
ZW50IGNoYW5uZWwgcG9ydCBhbmQgdGhlIGd1ZXN0IGZyYW1lDQo+PiArICogbnVtYmVyIG9m
IHRoZSBQViBjb25zb2xlJ3MgcmluZyBwYWdlLg0KPj4gKyAqLw0KPj4gK2ludCBsaWJ4bF9j
b25zb2xlX2FkZF94ZW5zdG9yZShsaWJ4bF9jdHggKmN0eCwgdWludDMyX3QgZG9taWQsIHVp
bnQzMl90IGJhY2tlbmQsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
dCBldnRjaCwgdWludDY0X3QgZ2ZuKTsNCj4gDQo+IENvdWxkIHlvdSBtYWtlIHRoaXMgZnVu
Y3Rpb24gYXN5bmMsIGJ5IGFkZGluZyAiY29uc3QgbGlieGxfYXN5bmNvcF9ob3cNCj4gKmFv
X2hvdyIgcGFyYW1ldGVyIGluIGxhc3QgcG9zaXRpb24/DQo+IA0KPiBZb3UgY2FuIGZvbGxv
dyBsaWJ4bF9kb21haW5fcGF1c2UoKSBleGFtcGxlIGhhcyB0byB3cml0ZSBhbiBhc3luYw0K
PiBmdW5jdGlvbiB0aGF0IGlzIGFjdHVhbGx5IHN5bmNocm9ub3VzIChBT19DUkVBVEUsIGxp
YnhsX19hb19jb21wbGV0ZSwNCj4gQU9fSU5QUk9HUkVTUywgQU9fQ1JFQVRFX0ZBSUwpLg0K
PiANCj4gQWRkaW5nIHRoZSBhc3luYyBjYXBhYmlsaXR5IG5vdyBtZWFucyB0aGF0IHdlIHdv
bid0IG5lZWQgdG8gY2hhbmdlIHRoZQ0KPiBBUEkgaWYgdGhlIGZ1bmN0aW9uIGFjdHVhbGx5
IG5lZWQgdG8gYmUgYXN5bmMgb25lIGRheS4NCg0KT2theS4NCg0KPiANCj4+ICsNCj4+ICAg
LyogTWF5IGJlIGNhbGxlZCB3aXRoIGluZm9fciA9PSBOVUxMIHRvIGNoZWNrIGZvciBkb21h
aW4ncyBleGlzdGVuY2UuDQo+PiAgICAqIFJldHVybnMgRVJST1JfRE9NQUlOX05PVEZPVU5E
IGlmIGRvbWFpbiBkb2VzIG5vdCBleGlzdCAodXNlZCB0byByZXR1cm4NCj4+ICAgICogRVJS
T1JfSU5WQUwgZm9yIHRoaXMgc2NlbmFyaW8pLiAqLw0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xz
L2xpYnMvbGlnaHQvbGlieGxfY29uc29sZS5jIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9j
b25zb2xlLmMNCj4+IGluZGV4IGQ4YjJiYzU0NjUuLmNlM2RlMTAwY2MgMTAwNjQ0DQo+PiAt
LS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX2NvbnNvbGUuYw0KPj4gKysrIGIvdG9vbHMv
bGlicy9saWdodC9saWJ4bF9jb25zb2xlLmMNCj4+IEBAIC0zNDYsNiArMzQ2LDI2IEBAIG91
dDoNCj4+ICAgICAgIHJldHVybiByYzsNCj4+ICAgfQ0KPj4gICANCj4+ICtpbnQgbGlieGxf
Y29uc29sZV9hZGRfeGVuc3RvcmUobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IGRvbWlkLCB1
aW50MzJfdCBiYWNrZW5kLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp
bnQgZXZ0Y2gsIHVpbnQ2NF90IGdmbikNCj4+ICt7DQo+PiArICAgIEdDX0lOSVQoY3R4KTsN
Cj4+ICsgICAgaW50IHJjOw0KPj4gKyAgICBsaWJ4bF9fZGV2aWNlX2NvbnNvbGUgY29uc29s
ZSA9IHsgLmJhY2tlbmRfZG9taWQgPSBiYWNrZW5kLA0KPj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgLm91dHB1dCA9ICJwdHkiLA0KPj4gKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvbnNiYWNrID0gTElCWExfX0NPTlNPTEVf
QkFDS0VORF9YRU5DT05TT0xFRCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9Ow0KPj4gKyAgICBsaWJ4bF9fZG9tYWluX2J1aWxkX3N0YXRlIHN0YXRlID0g
eyAuY29uc29sZV9wb3J0ID0gZXZ0Y2gsDQo+IA0KPiBgY29uc29sZV9wb3J0YCBpcyAidWlu
dDMyX3QiLCBzaG91bGRuJ3QgYGV2dGNobmAgYmUgdGhlIHNhbWUgdHlwZSwgb3IgYXQNCj4g
bGVhc3QgYWxzbyBiZSB1bnNpZ25lZD8NCg0KSSBjYW4gc3dpdGNoIHRoZSB0eXBlIHRvIHVu
c2lnbmVkIGludC4NCg0KPiANCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLmNvbnNvbGVfbWZuID0gZ2ZuLA0KPiANCj4gSSB3b25kZXIgaWYgd2Ugc2hv
dWxkIGNoZWNrIGlmIGBnZm5gIGZpdCBpbiBgY29uc29sZV9tZm5gLCBhcyBpdCBjb3VsZA0K
PiBiZSBzbWFsbGVyIHdoZW4gYnVpbGRpbmcgdGhlIHRvb2xzdGFjayBvbiAzMmJpdCBwbGF0
Zm9ybS4NCg0KSSdsbCBtYWtlIGNvbnNvbGVfbWZuICJ1bnNpZ25lZCBsb25nIiBqdXN0IGxp
a2UgaW4gdGhlIGJ1aWxkIHN0YXRlLg0KDQoNCkp1ZXJnZW4NCg==
--------------9ehZyCyypbLKvRJldfgkqpzB
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-----

--------------9ehZyCyypbLKvRJldfgkqpzB--

--------------Piopm5Z2n3yCmH7vA8lrc4Wu--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQZzywFAwAAAAAACgkQsN6d1ii/Ey8Y
+gf/W73q0ouf+2ezHZgfAdiqWV0/uTq+jkp+6Q3IZVJtye/yKtGcVRlwObmigw9kyyQfvMWOiZAK
gtrt35SgLTyHtWEmOlKoEpYi7JRFd/LDKIVlYh0c2vYFG5RmWoJjGX7uKW+1IJoQNqAOmssTFTH2
jC+PiaDxfsWuYtCa63+GOAe0pRPOsn4qbkMJ6BgS1PayMFpCnG2z021z1Dnuyg3A4Bm5lVyrPGJV
pKynUilzqYGstLtH1sEzo4IVIgKSL6VTsqPWsFLgZK/UtAehh8364/vD0PIqAOvlTSgojQuOVbSa
siUsPRTaENFq2o+mOmrjOqX4IiDkHmQWbiLR/5Bmmw==
=AHRh
-----END PGP SIGNATURE-----

--------------oSsARvdk4LLrFaIfC0EvKV4r--


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 15:39:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 15:39:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512812.793054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pee5V-0007oo-OJ; Tue, 21 Mar 2023 15:39:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512812.793054; Tue, 21 Mar 2023 15: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 1pee5V-0007oh-LI; Tue, 21 Mar 2023 15:39:49 +0000
Received: by outflank-mailman (input) for mailman id 512812;
 Tue, 21 Mar 2023 15: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pee5V-0007oY-AV
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 15:39:49 +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 9bf4c803-c7fe-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 16:39:47 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9469.eurprd04.prod.outlook.com (2603:10a6:102:2b4::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 15:39:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 15:39:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9bf4c803-c7fe-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DymPyIb21amqI4ak2d9TE446Au1vh9RdRUUkSFedHEVzIhL1CR21rBmU6mbCVAdYfmvCVzmMtnpeJnRsEAaISAuXK6PToxUPeedihH1X1CgS7rV7wQ5mv0P9oDC6UMv9+OxW8XNRBOpSSyEPuyiR2O88A4didaxaUMwdOY+eQ+UHWxY8QehllyfH9F75uiQ7N2Vc8Nj1ze0Rlrsl/juT/7yQCdD1njwRLcYscBd7m9I7OhCB0A3fommS/XbIg47Ss0eCggBJnxc5spumup1u3MQpxTsaDG+i9Rr8yb3AWl1/ur6b93WtwoBpI0mpjFPZBk56oh5PNuG9qb/N8HYw3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6aPeiQ9ffIgYgvyxSUaYaydPyVm0vnc9BWpICLVdN78=;
 b=WFIwAVxvE8x5FmLveJv3XSD/QIVqtr+VOJzAbuf+cK+6Q+9GOWWWqvyL/WUdnB2+kTQ0xKN0K9yNSsh26RQ3zRyVV2QFn7HJcFqV6RP2wjh3gwwTtjIRoMEnSgwIUMlrXYTOddKv8WWM2RoyTXD2aXBeOokyEB82Kk/oZct2yu5yGVsnmZ4bF/UHvYR1QVwxmNmAoN9qtq4a7WvhvPkV0RKWfoJJ+PucnDVqHcEnBbAyeZzgt7jv2w2v7DpEgu1e1jHOnIIQkhZq/NdgxN8R6Qx6hD8lza9HIDwtoG8DQ0C1oTZBU7DwggpDmCLnKdW5o4EMD7Drf5XlRWnV4224Mw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6aPeiQ9ffIgYgvyxSUaYaydPyVm0vnc9BWpICLVdN78=;
 b=WcdJ2+9EPUj6Mak3JDUmCh80J3CgOvcJVnKG01D8JxJqKnzmM82xabAjGi4dryrsbnKUbU/Q1l4etwpy5cnuIdamNwqQ78U2I2TeNyPtzdLtt+8O/p8AnPdvz1CCs8V/WZgO+pNdFSxpACh++jqCaFRgfwRB2SHpLj8J8BBiDN4DjiKFeR3O2LAWEsgN1ldjblnpZCWQYlfXbtk485MthpS/r8sXS9uasZg0LKrarbs/mCk/Z0F0hwEvNn0/z7Mh3W3KvU4BBMJ89oLfRp8Ey3JDYnuMNN1gIJX6/PkAac9nnaXiNRTbZXNiWyGdIvnNCUYX17ic9UtYThGBVV1IAQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f42e0638-b4bc-394d-25bc-317657b0d581@suse.com>
Date: Tue, 21 Mar 2023 16:39:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] vpci/msix: handle accesses adjacent to the MSI-X table
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <20230316120710.38817-1-roger.pau@citrix.com>
 <aa9bf8f2-5ff1-27b0-bc41-b7b639648e85@suse.com>
 <ZBnN1VRLBtuoO/b0@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBnN1VRLBtuoO/b0@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0241.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9469:EE_
X-MS-Office365-Filtering-Correlation-Id: c2d50bea-bbe9-4030-2a03-08db2a227e29
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	opKOkKxGFIx09/cDDMqnh8MfPsn/6vIJ1LSOiGOL+CpkMBYDkucIxiA9oij9cQTfdxeUOF6Q9gzl/yENE3U8ETQfILS/xqoyxLVlj4mN49EmsS10XqKJd6N2D+Qb0plzEz7LVfYoVbDBy+nvKo2uWkr2vZqX+uqoW/aIb732NM8GH1u9E+nTOyTaFjauwxs2AfWK0pmBPWrnEznakMrmFyjRLnSV+dSi3IYYWrBZNe5M9LrftUqELgr4Da7V1IW1bkTcoPJ/o6T3pDjIv21QLcPNr3ZvGhDmjY86I9s8N1pSMA6gJF6vpR8pReNSOG2/ZHPVX1N3c27yaMT+HLxzj+sZ11eupQyJoTMaapFsPPe0ibI8Tzr7CPM93v5NKanh1gHs8aKZ9OJfnSqQvGE4atPzaEfGAmyVeDAwNcxvtElStladPa9SplGzBK42Znz28rBUMaFYuF/cZ2o5ITUcvewztSYZ5GDm6fd7Z2rI+RBUCJbvvYXm2NY2tdUns9Q4qJ1n0x+fUzanKjEfgnRtbIilo01VoNopd1tGm78K+yUEvacJJDFMuDLiP7hWtpiN3GlYaSW1xdS7mB3rERRcRZuMMU3cOn5YbDEblG9KYvNHm9QvFj8t3xvRVdi/3Ae8S1JMlHJbmw11oCELbBs/MkwL9C/nKsOzROMVZj1XV8T9xUr8rjbTNW3m5LtrvR8HNY2TNor3uZ6UvVtQvFYI2Rm5PbnaUCGdh1kbc38LI3o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(346002)(366004)(39860400002)(376002)(136003)(451199018)(2906002)(31696002)(86362001)(83380400001)(186003)(5660300002)(38100700002)(8936002)(2616005)(41300700001)(26005)(6512007)(31686004)(6506007)(53546011)(478600001)(316002)(36756003)(4326008)(6916009)(8676002)(66946007)(66556008)(66476007)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SDRtNU1FQ2lOZWQycnZMV2NXYnU2aEM4RlVNbElhV0p0ek5Vdjl1cHRUbkFk?=
 =?utf-8?B?ajl0R2phL2Rpenprd2g2SENzRmNWY2JSdHNVcVAzU09BSmFrSUkrTzMxTnhx?=
 =?utf-8?B?UmxqUDlocHdTT2ZNK3lVNGRURTdlT3FtTzd3Zm5UNkVSQ0pJb3RXSncxU0J4?=
 =?utf-8?B?YktkK0oyYzlTTDk2T1N0cTNyMHNuRkFDUmh5SGppQzd0S05oV1E5T2Q0N2xJ?=
 =?utf-8?B?bVh5WVkvUWxoZ3pOVjVvUzd2Z291MTh4Nk1FVkp3SGYvamx3Wnc0aGNrZGlT?=
 =?utf-8?B?RStaYmZjallTcXVCNURvTzZlejI4YVdYTTRKL1BvYmhpVE54MmpPY2dYS0Zm?=
 =?utf-8?B?K1RhcmFKL2JDT2grU1FaN3hnZzhHMDhsaUUyZThUeXNKanVFbDZSZTd3d2hO?=
 =?utf-8?B?NE56N1hDT1FacjdKTFVoa3pUazNvSEJOUDBZVVFVM0g2K2JRZlFpNmJpak5p?=
 =?utf-8?B?clVISUQ0WUwxZFBEK2V0M1p0eEg4aHRZZGhZRGlrRXQ1RU5GRkRnck1Wcjkv?=
 =?utf-8?B?VmgyeEFXbGtjSW5EbWlWekxlRXc1RlE5a0JDRnUwTVhRM3ZJVEo5bXIvbjM1?=
 =?utf-8?B?NWN6OHRSc3ZTMnJOdGtsYWltTm5nL3U5WUw1SnY1WTVaR1RvSVh0UzU3ZWlM?=
 =?utf-8?B?RXVvSnNvTDd5eFl5bE5wL0NndCtITU9vencxck9ydmw0czZkNDA3K0VYbXRM?=
 =?utf-8?B?SHdDY29LbnJwRC9vSFF1bTJ6Mi9KRko1M2h3dVYvalA3SmJtRUlXSU1ZRG1J?=
 =?utf-8?B?d3BEaWswY0IzbHUrK3F1RHYvSUJHM0ZQMG1JeXpFN3FsV3VZTEcrVmlQYnhx?=
 =?utf-8?B?anlaWGd3dFl3RSttZ3ZHeC9XaXFhNDd4UXNUOUdYb2dldEplYXpqZTZocTkw?=
 =?utf-8?B?Szh1WUU2SHZWelJCY0JsTFJTSCtHejhpQTZBSmhoc25tMFh3OXUxZmhCWG9o?=
 =?utf-8?B?R0Q1eUdHQmRGQlJwUTZYSDU3c29FbDRuOENwQ2NWODZkWVNZK2x0S0RWdXp2?=
 =?utf-8?B?TXU1bTV6MzhjQ2hjV1ZvcHJiSXkzcW4zbDZEV2ZtR1cvNlVsZEpGcGFWSWlp?=
 =?utf-8?B?WjdHSXRIVUVYZit0U1BkRmRtRDZwSHE4T0o5eEJ4d1BBdmFXQkVZS1NKczV6?=
 =?utf-8?B?bC8zT2hnSUVUNE42dXJpb3JGT24rVDJqM3Q0cTd6U201VGcwYi9pSlFWaXFp?=
 =?utf-8?B?azBZNUs2bUlSSklIM0lOZjlUWmcwWlMvaUUwWmxKdEVFSjRwRkdKU0NVRUw1?=
 =?utf-8?B?enNZVTFuK3haQWJ3NzJsU2N5NWxBdnZMTDI3VlJyaHgxemxDdERBRWx5SGNz?=
 =?utf-8?B?ZzZrQTFlWkFiOVZ3MzM1dDJiOTQwZW9TdWVpMWZ3WkxLcmc5R1JCamdLWE0r?=
 =?utf-8?B?d0hlN2xQT3hoOGJUMkR3TjNCSFlOUi91aG5NOUVlT0o3VXVjRzhDb1B6SkJN?=
 =?utf-8?B?YWl6WjRLR2hoRXAyZE0wU1oyQXEzSGgrcFJST2VZM2ppZ09VVTlBNWkvOUFa?=
 =?utf-8?B?MjNmVUswcWt4cVFsYlBFVlBxcVIyR0xFcmYzWnlRNzg5OHFBdWsxUUhsMVBR?=
 =?utf-8?B?UlNkZDZIc2ZUTXZBelRxUzQvUHZWN3dYT3BTbDdMSG1ZRWM5ZUxyV2QwODNE?=
 =?utf-8?B?WjNJcTlYbVA0SDI0WFh1Z0pEUWppWDB4NUhwakk0aURJMGFTTDdmYmNtUXQw?=
 =?utf-8?B?UVpFWDkzSktCTGFtK3FMekpLWTB4VEQwbUozc3JKcnJjN3FSbTF2WExBQ0xM?=
 =?utf-8?B?L09XK1pGNmJxZ0l5NlRVZVFzOW9hNStaMHRWZEtHV05FM0YydERzTjlxRXRt?=
 =?utf-8?B?UWJ4QjlMYmdsT1lDa1VhS1paZlphTWVoeDVyRG54VFdrOUJ4M2tndk12SnF1?=
 =?utf-8?B?RS8reDVrTHo0RWFxemVqSmowaWsvck9pdi9GUjhzbXh5M3ZsSW9RVytibktr?=
 =?utf-8?B?M3lUSGxhQlVJSlNWN2J6enAzVk9GT0kzUU84RzdPVmRpcFg4YysvN01hMDVP?=
 =?utf-8?B?R2FGQmViQVBSQTR5S2YxQzQycnpaZHpTbHg4NEhNR2IxNFE2dVlLV3N3djhx?=
 =?utf-8?B?SCtZVktGdHFMdzFjSU1KTVA1N0h6SWhKbE5hMHlzdFZKaXB3b1JQM1FWM3lH?=
 =?utf-8?Q?JqGYf5rXedj4NXWGF6ClasVGR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c2d50bea-bbe9-4030-2a03-08db2a227e29
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 15:39:43.8344
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DLPyKsYJs3SQU9GxcKwS73yo4fOTr+0tvSIB8khRFcTBbq72h8r6Lo1rGkcVD8YeaU2/IfQd26wSkj+hNbVwuQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9469

On 21.03.2023 16:31, Roger Pau Monné wrote:
> On Mon, Mar 20, 2023 at 01:08:48PM +0100, Jan Beulich wrote:
>> On 16.03.2023 13:07, Roger Pau Monne wrote:
>>>      {
>>> -        struct vpci *vpci = msix->pdev->vpci;
>>> -        unsigned int idx = addr - vmsix_table_addr(vpci, VPCI_MSIX_PBA);
>>> -        const void __iomem *pba = get_pba(vpci);
>>> +        unsigned int i;
>>> +
>>> +        gprintk(XENLOG_DEBUG, "%pp: unaligned read to MSI-X related page\n",
>>> +                &msix->pdev->sbdf);
>>>  
>>>          /*
>>> -         * Access to PBA.
>>> +         * Split unaligned accesses into byte sized ones. Shouldn't happen in
>>> +         * the first place, but devices shouldn't have registers in the same 4K
>>> +         * page as the MSIX tables either.
>>>           *
>>> -         * TODO: note that this relies on having the PBA identity mapped to the
>>> -         * guest address space. If this changes the address will need to be
>>> -         * translated.
>>> +         * It's unclear whether this could cause issues if a guest expects a
>>> +         * registers to be accessed atomically, it better use an aligned access
>>> +         * if it has such expectations.
>>>           */
>>> -        if ( !pba )
>>> -        {
>>> -            gprintk(XENLOG_WARNING,
>>> -                    "%pp: unable to map MSI-X PBA, report all pending\n",
>>> -                    &msix->pdev->sbdf);
>>> -            return X86EMUL_OKAY;
>>> -        }
>>>  
>>> -        switch ( len )
>>> +        for ( i = 0; i < len; i++ )
>>>          {
>>> -        case 4:
>>> -            *data = readl(pba + idx);
>>> -            break;
>>> +            unsigned long partial = ~0ul;
>>
>> Pointless initializer (~0ul is written first thing above, i.e. also in
>> the recursive invocation). Then again that setting is also redundant
>> with msix_read()'s. So I guess the initializer wants to stay but the
>> setting at the top of the function can be dropped.
> 
> I'm always extra cautious with variables on the stack that contain
> data to be returned to the guest.  All your points are valid and
> correct, but I like to explicitly initialize them so that further
> changes in the functions don't end up leaking them.  If you don't mind
> that much I would rather leave it as-is.

Well, such extra code always raises the question "Why is this here?"
But no, I won't insist if you prefer to keep the redundancy.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 15:44:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 15:44:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512815.793064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pee9k-0000s8-9Z; Tue, 21 Mar 2023 15:44:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512815.793064; Tue, 21 Mar 2023 15:44: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 1pee9k-0000s1-6C; Tue, 21 Mar 2023 15:44:12 +0000
Received: by outflank-mailman (input) for mailman id 512815;
 Tue, 21 Mar 2023 15: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=YM/b=7N=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pee9j-0000rv-Fk
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 15:44: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 37ad581d-c7ff-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 16:44: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 02D25201D5;
 Tue, 21 Mar 2023 15:44: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 C804413451;
 Tue, 21 Mar 2023 15:44:07 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id B4k+L8fQGWTeYwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Mar 2023 15:44: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: 37ad581d-c7ff-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679413448; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=cs0RIVOuOrRExxACRp7tinOrmRFwUbNcPjHfU20lu24=;
	b=i1npv0uuQt27ofu/NZWTJhu/ouizJpfXXtSlKsKJJxlOYzhf9aHNS6jMMua36NF2cZj8An
	k2k93byO3gcG2iBS8OZg4TRfFhsQSjSwZ6bAhZb76Ombh+RfV07Xq2Gjtf9A/FdOmUxDj4
	ngXhk2KjAEf+M9sEWwQOQZ/dfPpag5U=
Message-ID: <6882959a-2231-f3d9-ae6e-2d8ea15bf4b3@suse.com>
Date: Tue, 21 Mar 2023 16:44:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] x86: use POPCNT for hweight<N>() when available
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>
References: <55a4a24d-7fac-527c-6bcf-8d689136bac2@suse.com>
 <ZBRNWhExetXH1OaS@Air-de-Roger>
 <011cb7d8-fb32-74b1-2b06-f57be67f5c6a@citrix.com>
 <f1b0e3be-cf23-6471-7a59-c130380be0f8@suse.com>
 <ZBnF2oTLQjJtfZiK@Air-de-Roger>
 <e18b997f-48ba-4090-0c0e-67475f5b3329@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <e18b997f-48ba-4090-0c0e-67475f5b3329@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0CSo0th7XjUyej916pgs0GMo"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0CSo0th7XjUyej916pgs0GMo
Content-Type: multipart/mixed; boundary="------------nozffwBIoxK8YREfFeIjB0KR";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>
Message-ID: <6882959a-2231-f3d9-ae6e-2d8ea15bf4b3@suse.com>
Subject: Re: [PATCH v2] x86: use POPCNT for hweight<N>() when available
References: <55a4a24d-7fac-527c-6bcf-8d689136bac2@suse.com>
 <ZBRNWhExetXH1OaS@Air-de-Roger>
 <011cb7d8-fb32-74b1-2b06-f57be67f5c6a@citrix.com>
 <f1b0e3be-cf23-6471-7a59-c130380be0f8@suse.com>
 <ZBnF2oTLQjJtfZiK@Air-de-Roger>
 <e18b997f-48ba-4090-0c0e-67475f5b3329@suse.com>
In-Reply-To: <e18b997f-48ba-4090-0c0e-67475f5b3329@suse.com>

--------------nozffwBIoxK8YREfFeIjB0KR
Content-Type: multipart/mixed; boundary="------------xLIlOx5t0M64KDhNyxp2k7jk"

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

T24gMjEuMDMuMjMgMTY6MzUsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMS4wMy4yMDIz
IDE1OjU3LCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0KPj4gT24gTW9uLCBNYXIgMjAsIDIw
MjMgYXQgMTA6NDg6NDVBTSArMDEwMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+Pj4gT24gMTcu
MDMuMjAyMyAxMzoyNiwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4+Pj4gT24gMTcvMDMvMjAy
MyAxMToyMiBhbSwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4+Pj4+IE9uIE1vbiwgSnVs
IDE1LCAyMDE5IGF0IDAyOjM5OjA0UE0gKzAwMDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4+
Pj4+IFRoaXMgaXMgZmFzdGVyIHRoYW4gdXNpbmcgdGhlIHNvZnR3YXJlIGltcGxlbWVudGF0
aW9uLCBhbmQgdGhlIGluc24gaXMNCj4+Pj4+PiBhdmFpbGFibGUgb24gYWxsIGhhbGYtd2F5
IHJlY2VudCBoYXJkd2FyZS4gVGhlcmVmb3JlIGNvbnZlcnQNCj4+Pj4+PiBnZW5lcmljX2h3
ZWlnaHQ8Tj4oKSB0byBvdXQtb2YtbGluZSBmdW5jdGlvbnMgKHdpdGhvdXQgYWZmZWN0aW5n
IEFybSkNCj4+Pj4+PiBhbmQgdXNlIGFsdGVybmF0aXZlcyBwYXRjaGluZyB0byByZXBsYWNl
IHRoZSBmdW5jdGlvbiBjYWxscy4NCj4+Pj4+Pg0KPj4+Pj4+IE5vdGUgdGhhdCB0aGUgYXBw
cm9hY2ggZG9lc24jdCB3b3JrIGZvciBjbGFuZywgZHVlIHRvIGl0IG5vdCByZWNvZ25pemlu
Zw0KPj4+Pj4+IC1mZml4ZWQtKi4NCj4+Pj4+IEkndmUgYmVlbiBnaXZpbmcgdGhpcyBhIGxv
b2ssIGFuZCBJIHdvbmRlciBpZiBpdCB3b3VsZCBiZSBmaW5lIHRvDQo+Pj4+PiBzaW1wbHkg
cHVzaCBhbmQgcG9wIHRoZSBzY3JhdGNoIHJlZ2lzdGVycyBpbiB0aGUgJ2NhbGwnIHBhdGgg
b2YgdGhlDQo+Pj4+PiBhbHRlcm5hdGl2ZSwgYXMgdGhhdCB3b24ndCByZXF1aXJlIGFueSBz
cGVjaWZpYyBjb21waWxlciBvcHRpb24uDQo+Pj4NCj4+PiBIbW0sIC4uLg0KPj4+DQo+Pj4+
IEl0J3MgYmVlbiBhIGxvbmcgd2hpbGUsIGFuZCBpbiB0aGF0IHRpbWUgSSd2ZSBsZWFybnQg
YSBsb3QgbW9yZSBhYm91dA0KPj4+PiBwZXJmb3JtYW5jZSwgYnV0IG15IHJvb3Qgb2JqZWN0
aW9uIHRvIHRoZSBhcHByb2FjaCB0YWtlbiBoZXJlIHN0aWxsDQo+Pj4+IHN0YW5kcyAtIGl0
IGlzIHBlbmFsaXNpbmcgdGhlIGNvbW1vbiBjYXNlIHRvIG9wdGltaXNlIHNvbWUgcG9pbnRs
ZXNzDQo+Pj4+IGNvcm5lciBjYXNlcy4NCj4+Pj4NCj4+Pj4gWWVzIC0gb24gdGhlIGNhbGwg
cGF0aCwgYW4gZXh0cmEgcHVzaC9wb3AgcGFpciAob3IgZmV3KSB0byBnZXQgdGVtcA0KPj4+
PiByZWdpc3RlcnMgaXMgYmFzaWNhbGx5IGZyZWUuDQo+Pj4NCj4+PiAuLi4gd2hhdCBpcyAi
YSBmZXciPyBXZSdkIG5lZWQgdG8gcHVzaC9wb3AgYWxsIGNhbGwtY2xvYmJlcmVkIHJlZ2lz
dGVycw0KPj4+IGV4Y2VwdCAlcmF4LCBpLmUuIGEgdG90YWwgb2YgZWlnaHQuIEkgY29uc2lk
ZXIgdGhpcyB0b28gbXVjaC4gVW5sZXNzLA0KPj4+IGFzIHlvdSBzdWdnZXN0IGZ1cnRoZXIg
ZG93biwgd2Ugd3JvdGUgdGhlIGZhbGxiYWNrIGluIGFzc2VtYmx5LiBXaGljaCBJDQo+Pj4g
aGF2ZSB0byBhZG1pdCBJJ20gc3VycHJpc2VkIHlvdSBwcm9wb3NlIHdoZW4gd2Ugc3RyaXZl
IHRvIHJlZHVjZSB0aGUNCj4+PiBhbW91bnQgb2YgYXNzZW1ibHkgd2UgaGF2ZSB0byBtYWlu
dGFpbi4NCj4+DQo+PiBBTUQgYWRkZWQgcG9wY250IGluIDIwMDcgYW5kIEludGVsIGluIDIw
MDguICBXaGlsZSB3ZSBzaG91bGRuJ3QNCj4+IG1hbmRhdGUgcG9wY250IHN1cHBvcnQsIEkg
dGhpbmsgd2UgYWxzbyBzaG91bGRuJ3Qgb3Zlcmx5IHdvcnJ5IGFib3V0DQo+PiB0aGUgbm9u
LXBvcGNudCBwYXRoLg0KPiANCj4gV2UgYWdyZWUgaGVyZS4NCj4gDQo+PiBBbHNvLCBob3cg
Y2FuIHlvdSBhc3NlcnQgdGhhdCB0aGUgY29kZSBnZW5lcmF0ZWQgd2l0aG91dCB0aGUgc2Ny
YXRjaA0KPj4gcmVnaXN0ZXJzIGJlaW5nIHVzYWJsZSB3b24ndCBiZSB3b3JzZSB0aGFuIHRo
ZSBwZW5hbHR5IG9mIHB1c2hpbmcgYW5kDQo+PiBwb3BwaW5nIHN1Y2ggcmVnaXN0ZXJzIG9u
IHRoZSBzdGFjayBhbmQgbGV0dGluZyB0aGUgcm91dGluZXMgdXNlIGFsbA0KPj4gcmVnaXN0
ZXJzIGZyZWVseT8NCj4gDQo+IElycmVzcGVjdGl2ZSBvZiB0aGUgLWZmaXhlZC0qIHRoZSBj
b21waWxlciBjYW4gbWFrZSBpdHNlbGYgc3VmZmljaWVudGx5DQo+IG1hbnkgcmVnaXN0ZXJz
IGF2YWlsYWJsZSB0byB1c2UsIGJ5IHByZXNlcnZpbmcganVzdCB0aGUgb25lcyBpdCBhY3R1
YWxseQ0KPiB1c2VzLiBTbyB0aGF0J3MgcHJldHR5IGNlcnRhaW5seSBub3QgbW9yZSBQVVNI
L1BPUCB0aGFuIHdoZW4gd2Ugd291bGQNCj4gYmxpbmRseSBwcmVzZXJ2ZSBhbGwgd2hpY2gg
bWF5IG5lZWQgcHJlc2VydmluZyAobm8gbWF0dGVyIHdoZXRoZXINCj4gdGhleSdyZSBhY3R1
YWxseSB1c2VkKS4NCj4gDQo+IFlldCB0aGVuIGJvdGggdGhpcyBxdWVzdGlvbiBhbmQgLi4u
DQo+IA0KPj4gSSB2ZXJ5IG11Y2ggcHJlZmVyIHRvIGhhdmUgYSBub24tb3B0aW1hbCBub24t
cG9wY250IHBhdGgsIGJ1dCBoYXZlDQo+PiBwb3BjbnQgc3VwcG9ydCBmb3IgYm90aCBnY2Mg
YW5kIGNsYW5nLCBhbmQgd2l0aG91dCByZXF1aXJpbmcgYW55DQo+PiBjb21waWxlciBvcHRp
b25zLg0KPiANCj4gLi4uIHRoaXMgbWFrZXMgbWUgd29uZGVyIHdoZXRoZXIgd2UncmUgdGhp
bmtpbmcgb2YgZnVuZGFtZW50YWxseQ0KPiBkaWZmZXJlbnQgZ2VuZXJhdGVkIGNvZGUgdGhh
dCB3ZSB3b3VsZCBlbmQgdXAgd2l0aC4gU2luY2UgdGhlDQo+IChhcHBhcmVudGx5IGFncmVl
ZCB1cG9uKSBnb2FsIGlzIHRvIG9wdGltaXplIGZvciB0aGUgInBvcGNudA0KPiBhdmFpbGFi
bGUiIGNhc2UsIG1haW5saW5lIGNvZGUgc2hvdWxkIGJlIG5vdCBzaWduaWZpY2FudGx5IGxv
bmdlciB0aGF0DQo+IHdoYXQncyBuZWVkZWQgZm9yIHRoZSBzaW5nbGUgaW5zdHJ1Y3Rpb24g
aXRzZWxmLCBvciBhbHRlcm5hdGl2ZWx5IGENCj4gQ0FMTCBpbnNuLiBBZGRpbmcgcHVzaGVz
L3BvcHMgb2YgYWxsIGNhbGwgY2xvYmJlcmVkIHJlZ2lzdGVycyBhcm91bmQNCj4gdGhlIENB
TEwgd291bGQgZ3JvdyBtYWlubGluZSBjb2RlIHRvbyBtdWNoIChmb3IgbXkgdGFzdGUpLCBp
LmUuDQo+IGlycmVzcGVjdGl2ZSBvZiB0aGVzZSBQVVNIL1BPUCBhbGwgZ2V0dGluZyBOT1At
ZWQgb3V0IGJ5IGFsdGVybmF0aXZlcw0KPiBwYXRjaGluZy4gKEFzIGFuIGFzaWRlIEkgY29u
c2lkZXIgZmlkZGxpbmcgd2l0aCB0aGUgc3RhY2sgcG9pbnRlciBpbg0KPiBpbmxpbmUgYXNt
KCkgcmlza3ksIGFuZCBoZW5jZSBJIHdvdWxkIHByZWZlciB0byBhdm9pZCBzdWNoIHdoZW5l
dmVyDQo+IHBvc3NpYmxlLiBZZXMsIGl0IGNhbiBiZSB3cml0dGVuIHNvIGl0J3MgaW5kZXBl
bmRlbnQgb2Ygd2hhdCB0aGUNCj4gY29tcGlsZXIgdGhpbmtzIHRoZSBzdGFjayBwb2ludGVy
IHBvaW50cyBhdCwgYnV0IHN1Y2ggY29uc3RydWN0cyBhcmUNCj4gZnJhZ2lsZSBhcyBzb29u
IGFzIG9uZSB3YW50cyB0byBjaGFuZ2UgdGhlbSBhIGxpdHRsZSBsYXRlciBvbi4pDQo+IA0K
PiBBcmUgeW91IHBlcmhhcHMgdGhpbmtpbmcgb2YgaW5kZWVkIGhhdmluZyB0aGUgUFVTSC9Q
T1AgaW4gbWFpbmxpbmUNCj4gY29kZT8gT3Igc29tZSBlbnRpcmVseSBkaWZmZXJlbnQgbW9k
ZWw/DQo+IA0KPiBXaGF0IEkgY291bGQgc2VlIHVzIGRvaW5nIHRvIGFjY29tbW9kYXRlIENs
YW5nIGlzIHRvIGhhdmUgd3JhcHBlcnMNCj4gYXJvdW5kIHRoZSBhY3R1YWwgZnVuY3Rpb25z
IHdoaWNoIGRvIGFzIHlvdSBzdWdnZXN0IGFuZCBwcmVzZXJ2ZSBhbGwNCj4gcmVsZXZhbnQg
cmVnaXN0ZXJzLCBubyBtYXR0ZXIgd2hldGhlciB0aGV5J3JlIHVzZWQuDQoNCllvdSBjb3Vs
ZCBqdXN0IGNvcHkgdGhlIFBWX0NBTExFRV9TQVZFX1JFR1NfVEhVTksoKSBtYWNybyBmcm9t
IHRoZSBMaW51eA0Ka2VybmVsLCB3aGljaCBpcyBkb2luZyBleGFjdGx5IHRoYXQuDQoNCg0K
SnVlcmdlbg0K
--------------xLIlOx5t0M64KDhNyxp2k7jk
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-----

--------------xLIlOx5t0M64KDhNyxp2k7jk--

--------------nozffwBIoxK8YREfFeIjB0KR--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQZ0McFAwAAAAAACgkQsN6d1ii/Ey8a
2Qf+OjnyXy2pjtZfZB24P1ncgiULTIGRioSz5TXi1PhRAIzg3qIn4Ji3cN4W2CoitATvPYVQRRre
WS5zqskl1jLAAOQy4qsVC4wvDPh4Tx7RP4cj0L9AFy2dHXVrU8JP6qkyFYF/hKXrjojB4Huek/he
57XdRDlfBZI6Q0DLy5En+BXTAJikP4jIbA1RW0YOIKwF6q9qyLOKO6xtDGylxBNv/R2nPBa7EuND
ltQ+0cPOBCdQ8PakJ/JkDfUmDtC9G7+NP0GAzGMGJBCIfhPZ5AmFvQvrNADEq4NjlSC0+vW0M5oK
HWRDzdEVHlU+SpINYtOEV67Fl6NtsccHsGSKMGpBeg==
=hfVr
-----END PGP SIGNATURE-----

--------------0CSo0th7XjUyej916pgs0GMo--


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 15:50:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 15:50:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512820.793073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peeFw-0002bD-4I; Tue, 21 Mar 2023 15:50:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512820.793073; Tue, 21 Mar 2023 15:50: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 1peeFw-0002b6-1X; Tue, 21 Mar 2023 15:50:36 +0000
Received: by outflank-mailman (input) for mailman id 512820;
 Tue, 21 Mar 2023 15:50: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 1peeFu-0002ay-Eq
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 15:50: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 1peeFt-00008m-VM; Tue, 21 Mar 2023 15:50:33 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[192.168.4.43])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1peeFt-0004SQ-N8; Tue, 21 Mar 2023 15:50:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=7qcG3vGboJGyIVkf/yyaD3BX1m9CaJ6xngUC2gsd1gw=; b=uK6pZkHoITLbHH4nVknyLf8huL
	N474WbBprSa0Gi9bqrSnJI1Hoy5bI7cBmCA7KFh9a7lcT5zwGdqzql9jPtwAGTcF9cca7aHjNEa3q
	yHJznmNgtt+m4us9T0FnXWwwbt0gR5jJB/HFXh5IT7dsOgEna5vfCp9pycz+hQK4r2nk=;
Message-ID: <a2287b5b-40b1-aeab-8f07-413853d2484d@xen.org>
Date: Tue, 21 Mar 2023 15:50:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v2 4/4] xen/arm: Clean-up in p2m_init() and
 p2m_final_teardown()
Content-Language: en-US
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>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <20230130040614.188296-1-Henry.Wang@arm.com>
 <20230130040614.188296-5-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230130040614.188296-5-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 30/01/2023 04:06, Henry Wang wrote:
> With the change in previous patch, the initial 16 pages in the P2M
> pool is not necessary anymore. Drop them for code simplification.
> 
> Also the call to p2m_teardown() from arch_domain_destroy() is not
> necessary anymore since the movement of the P2M allocation out of
> arch_domain_create(). Drop the code and the above in-code comment
> mentioning it.
> 
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> ---
> I am not entirely sure if I should also drop the "TODO" on top of
> the p2m_set_entry(). Because although we are sure there is no
> p2m pages populated in domain_create() stage now, but we are not
> sure if anyone will add more in the future...Any comments?

I would keep it.

> v1 -> v2:
> 1. Add Reviewed-by tag from Michal.
> ---
>   xen/arch/arm/include/asm/p2m.h |  4 ----
>   xen/arch/arm/p2m.c             | 20 +-------------------
>   2 files changed, 1 insertion(+), 23 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
> index bf5183e53a..cf06d3cc21 100644
> --- a/xen/arch/arm/include/asm/p2m.h
> +++ b/xen/arch/arm/include/asm/p2m.h
> @@ -200,10 +200,6 @@ int p2m_init(struct domain *d);
>    *  - p2m_final_teardown() will be called when domain struct is been
>    *    freed. This *cannot* be preempted and therefore one small

NIT: As you are touching the comment, would you mind to fix the typo 
s/one/only/.

>    *    resources should be freed here.
> - *  Note that p2m_final_teardown() will also call p2m_teardown(), to properly
> - *  free the P2M when failures happen in the domain creation with P2M pages
> - *  already in use. In this case p2m_teardown() is called non-preemptively and
> - *  p2m_teardown() will always return 0.
>    */
>   int p2m_teardown(struct domain *d, bool allow_preemption);
>   void p2m_final_teardown(struct domain *d);
> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> index f1ccd7efbd..46406a9eb1 100644
> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -1750,13 +1750,9 @@ void p2m_final_teardown(struct domain *d)
>       /*
>        * 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, or from failure path of
> -     * domain_create()/arch_domain_create() where mappings that require
> -     * p2m_put_l3_page() should never be created. For the latter case, also see
> -     * comment on top of the p2m_set_entry() for more info.
> +     * where relinquish_p2m_mapping() has been called.
>        */
>   
> -    BUG_ON(p2m_teardown(d, false));

With this change, I think we can also drop the second parameter of 
p2m_teardown(). Preferably with this change in the patch:

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

Preferably, I would like this to happen in this patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 15:51:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 15:51:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512823.793083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peeH7-00038D-E3; Tue, 21 Mar 2023 15:51:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512823.793083; Tue, 21 Mar 2023 15: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 1peeH7-000384-Az; Tue, 21 Mar 2023 15:51:49 +0000
Received: by outflank-mailman (input) for mailman id 512823;
 Tue, 21 Mar 2023 15: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peeH6-00037n-0k
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 15:51:48 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on061c.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 48e6b1fb-c800-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 16:51:47 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7618.eurprd04.prod.outlook.com (2603:10a6:20b:2dc::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 15:51:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 15: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: 48e6b1fb-c800-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SJOXO1sr0h54gPrtStyVYhU8lXw1NG4hEqH/7eenebjwOHcIgCuKkmqbEM/jltlh3XslG0uFhrvtkCKsbNMC287SUN17K+c7X86+V5pTq4fd+Xf2sSbaeUC161wH5Ey0c0DNiY/xPusbzVsdgiZZJW6GcLyPAyBY1+GNOjWCxwobWrodm5S973EwdhI6wHj3TVzvSl+7Q2yxfG7hXzBAjg6oYH95ZLB+fv/bgRtPZJGPh1/e8BooJk8hZ/Y10Km9piParAm2OEpaJoXfy0l6lIYflTOLSCn7flDnWs4CFPXQE4tQ0J5pND+j14ZyP+IUjMrengEMQlbrK1qTq33UDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Tz1FPxSiR3gHB9mkWGNHc5/b4SJYixoHadvH5ZPGXXQ=;
 b=NyqsbOPq81pY+ULi5uZb7vhWth5tzHnTjjWP8YB0kqZi1NXdORfvIQePLC7yzocopwMt6DL8aWfb7P9EeJ7Bfc7Td235eEGtvZHQ3niMPsYcnfNDk3kywCEcOB9/hXfiBLLMDgewy3Ct3r5UdDyBsvhS6/8ik4e8K+NqVFZLEctPbSNtOJLriSm9V/mJWDDCJvB9asw2MrFR03t2mLF6+Hf2rjI7Mj5Z4h1nDWVbmxWtmOWRWRs+5RthDK3K5RVII1/3rpEu7MO2hqM6N5yOrq5NaYNGaw8UKqJlFzpPgg4UL6mMU8YmtLpuTHY6w9fnJMJF71oTcHKdTopDecz0pA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Tz1FPxSiR3gHB9mkWGNHc5/b4SJYixoHadvH5ZPGXXQ=;
 b=Vb4z0aqMvSufBnDUBKO0w6mqynuWR9HuCkNQJqNMwk7uYoYtQ3vpryl3wM3ibLJgmbRj38wdLXikHn00W69Is6/Nrfq2YwKuwkDH/cRWU433FtLsbd7u720mUuB3+QGg9YxGVCZZoGVtey0AK7wFxTsQ6cLytx6D1Dng5F2IfMObn/21OiAzELeva6XNC0VFfLZNHl/stusxNxSQzO3dV+LCJ26dLJRjGnHW1vDfnwLV2jTh1GK2eFMUbxCOCniD+Gj9Ut7ZwRb10sD03Ze5DS+NgTug0N4/d8QTb4210/arFbaXEiAKx3Eqd9XN70Iqrg4vL9/9xsKWHZSJ/nufbQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9864c24a-6d08-5a5f-3de5-3b34b68a6edd@suse.com>
Date: Tue, 21 Mar 2023 16:51:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86: extend coverage of HLE "bad page" workaround
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: <b238f66d-37a9-3080-4f2b-90225ea17102@suse.com>
 <ZBnCTAw3Fj/BpvTl@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBnCTAw3Fj/BpvTl@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0248.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7618:EE_
X-MS-Office365-Filtering-Correlation-Id: 06ce958f-e3ed-4c06-a4d3-08db2a242bc7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dHBxsfzeDILsSprfGkXLLilq2xbJsRl739G9oXFemtzwMSsOnsS40BWDR0iOjXCAOiiFd/t8WmUcPxvbs0eXRVT5554YEJiQWaSkAW1RTmRGOsFcqzDZvbYaP4y7tnyEbAUkIKMFVsEjEfY2AJyQJ5ZrkJ+PqHlcF8Rqtp/Ntt+IqYKIbPibSL34Sew0FffCqOsu4amAQWz8fEtSgV8WNiv6XSOV6hBOz0bFMmVe3EXCy5gBsB2Kk+8rKqaSp/W5uL4w7RPK7DjAXafLN2bPlY/OSWN8GrultjX9NYWEXPW7up4VFi65ou300c2qkYQQC9NJYt0GAohe/umJcLHvYcuJfN5MU06hOv6gfHEL/SGwbPO1ZOzCvpDbEE6y/4Lvg+yCGNMykRZiltzEh23kPO3+pXVO/ajoodzjN+GaKJWVPfHohDoX1rnTnmKGQvgtH4oaEbjjQwMPP5qLhRcH/VisjcxUDvJVmuIo6xCJvmPMmoritL+GK3NHFIlnOSo7WZKuhU1QRp7JFkp/1ANuvFf7ARpNzEizIvxSjCO7+uBf8gnvPj0Mo0tOdKFyTG5sgRyCmnemw1ou/MrScZ5XpFFN3AzZuo9Eggig52gelB/KjzvTxQH2YtAkbqr9VEn36Yr/eXwemxM6dpx8rQgL4Vw8UoCmP2QtMdiaSK9wu/gD+aV+HUp1aLkiVJj+tsd2cDqXomGn8nPY0VHWyUEOQghAnR3f5++cqjDn+uN0USI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(376002)(136003)(346002)(39860400002)(451199018)(8936002)(41300700001)(5660300002)(86362001)(31696002)(38100700002)(2906002)(36756003)(4326008)(6486002)(83380400001)(478600001)(2616005)(54906003)(6506007)(186003)(26005)(6512007)(53546011)(31686004)(316002)(8676002)(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?NWhIbEdKdEZoRm55a3pwY0xQVFNJZ0lmdFAvNnZlVWZQQldWZmY3eGM2SUdD?=
 =?utf-8?B?VmxJeWJacncvNTRNNmtxWDEzQWRFbWRLM1NaOHFJYXk2RWxtcStpTngxaFZK?=
 =?utf-8?B?TlBvajA2M1FJcEFIUlVBWUMveVF3cGdtWkNrQk9vQ0d0alhiZUFUaklZOU5K?=
 =?utf-8?B?ZE0yVWU5T0NadWlkZmtPYnloU29Vb1phbjdGQ3ZuVmc0T1NPUXBuakRIYmg2?=
 =?utf-8?B?WkhualI1ejhoZFg1ZXFTclc1RDJjNzVTSlNBaHlCT1E3TStxVDQ1UndkT01S?=
 =?utf-8?B?RHhBTVNwc3JDdzhsNHZPbmF0UzBMNnl6TlBtajNDM0tQcUd3ekhaaWtYOG9T?=
 =?utf-8?B?dWVZNmRNeTk2elA0MkVlUVNLQ2Q3bDFyU0NBT2JmUmNGakNKaXJDeHlrT0ZM?=
 =?utf-8?B?K1M0NnpNK09Vek9Xd1VuTGFXR2lUTmI1QVAzS1RMVG95RGRzQ3ZHU3pGcGcz?=
 =?utf-8?B?VkRFRmVjSXNHdEdsUS9qRmNDK1RiTXIvSksxejVjamROYjdaMzlHSmxDQXJ1?=
 =?utf-8?B?VmZ2R1JyTElMM1NWWnA4MzZtRUdDaGlZa0tMMWtxbTdnTlBJT0YwNis5QmFW?=
 =?utf-8?B?bUVYbzFiMTdyd3E5QjRIS2Fwd2xJQnhQUUtndmUrOFA2VnJYY1NnenFsOFNo?=
 =?utf-8?B?QU9KSTd5TWZsNXAxZklUNXBWODBac0lhLzRlN0oxL3F5aGhOanM2S1ZIbjkw?=
 =?utf-8?B?NUVjYndRTGwzYktHSnNTTXNHUEJYVHV0UE9lR3lmNmlQaFUxNnViVWNDUkNl?=
 =?utf-8?B?K0V0Tk4wUjYrcXV2dmErc1FvZkdUSldpanNLZzcwSzU5RFppajJJeHRCdWk2?=
 =?utf-8?B?aDg3VGNTelR6TE0rSFk4QkNwT3A4Nmt4Tm5vRndJUzR0R3JOazVhY1IzS3U1?=
 =?utf-8?B?a09CMzd3T05yb2x1SDkzeVRCdzhDUU1GQSs1dGxyNjlQelJSdXZQRVBzOGta?=
 =?utf-8?B?Y1FnZnVKalhySlMwb0x4MUdpdm52bWFvKzJkVkN4d1VhYjNuQWVHVzBNcVM2?=
 =?utf-8?B?Y3MzSVBBWk5abGgzdHl1bTJ5alVZRnpCeUl4S1UyMFpFSUFwN05qTWkzVHVu?=
 =?utf-8?B?T25Id1R5Zi93bWdTbzk4aW9oYzhuRXJ6YzF5MGt6SHF0WFY4MWMwTzBxWDJB?=
 =?utf-8?B?ZEFrWGs4N1pSc1ArckozUGN1ajJpS3NYUk8rbHJIMmxGd1QzREtBNndPZTRB?=
 =?utf-8?B?N2JObm1sUXNBVE14NjFFWlVBZGhkQ0pRRWJsakZLMmRDYVNOcVdPdWhHWkFo?=
 =?utf-8?B?NllvTzRacW94c3Qvak1JYVFMV3pSSXE0SDRnQnlkYVVUOEp2V050ek9TWGg1?=
 =?utf-8?B?WHdLVVEvYThlOEI3NWhFS1Jrc2c5cGduY1lzNjYxdXdRUkEySHYvZkZrc1o0?=
 =?utf-8?B?UTdYZFRhNit6QmtqYkZZT25BU1RERFc3MU90NG5YZFRUZ3J1SW5wWllhWHlI?=
 =?utf-8?B?QndnL1Y3UHlLb2lXbkl1cSsvbmozdjBoZUFWVE5Ibzg2UXo5SDFRMUZVNjE1?=
 =?utf-8?B?TUZCTnZXRGNjS01aWWlnSmg3L0RJMnV0a3U0NzNJZyswTHpCTUM0NGxDYnZU?=
 =?utf-8?B?RUl3eDNtNVhjVUFyOWV5OS9MSmwvc1N5QStkcTlkazRRa1BhVVE3VEYzbkZw?=
 =?utf-8?B?TkRQYjFUaVVpVkV6YWpPUVhRWDAySVpBT09QdjVaWG01ZGZDUGhUb3BzUzZN?=
 =?utf-8?B?b3dyTmloN3NWZk9YcEhtZEV0cnV2ZXFlNXJEVG9IWjF4b3pvUDZCaVdzNSto?=
 =?utf-8?B?NzQ2cDR6WXRhSGpXTGphaVJXaERkdXpRVk1RcTVqZlNFY0tSOEg3U1UvTXRx?=
 =?utf-8?B?TG9KSWxFTWRxM2x3d1Vvbk1wemhjaVN3QzBhUTdhZWRPdmhxNzhSQjBwQ0kr?=
 =?utf-8?B?M0YzQStCcjkxSkYyZ2RHQ0VZMEFSSDV4Uzdlcks5T3dvWTdsUmRJd1JyeXFE?=
 =?utf-8?B?WHpLQUhPNzV6a3JNb3BMeGpZVTB1Nlc0Qnl3S1RXNnF3Y09tMktrQkxKS1Nn?=
 =?utf-8?B?Z3p3SGhYSHl1bGdpWnpHMVBZakJhVWkyT0kzV1VlUHB3OVE5QVg2U2tjaWcr?=
 =?utf-8?B?a3MrRzNSYWVDendXd05yclNzYzE0WmRlMWFrZGpFSDNIdVJWU0xkME92dXp1?=
 =?utf-8?Q?uJ6yh+EE+ZAVEzGqsxrpfyTmX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 06ce958f-e3ed-4c06-a4d3-08db2a242bc7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 15:51:44.5844
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2n1sM9f2m3u+v40cefbz3rEomjFoE/1dEUOzH0kIGb1sW5F1hYTYZpUY+sNpJJukxUnc86dlnH+82Hd9vJZD8A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7618

On 21.03.2023 15:42, Roger Pau Monné wrote:
> On Tue, May 26, 2020 at 08:49:52AM +0200, Jan Beulich wrote:
>> Respective Core Gen10 processor lines are affected, too.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/mm.c
>> +++ b/xen/arch/x86/mm.c
>> @@ -6045,6 +6045,8 @@ const struct platform_bad_page *__init g
>>      case 0x000506e0: /* errata SKL167 / SKW159 */
>>      case 0x000806e0: /* erratum KBL??? */
>>      case 0x000906e0: /* errata KBL??? / KBW114 / CFW103 */
>> +    case 0x000a0650: /* erratum Core Gen10 U/H/S 101 */
>> +    case 0x000a0660: /* erratum Core Gen10 U/H/S 101 */
> 
> I think this is errata CML101, I would add that at the end of the
> comment.

Indeed in the current version of the document CML prefix exist. The older
document I've been looking at has no such letter acronyms in front of the
errata numbers. I can certainly update.

> Also you seem to be missing the '806ec' model (806e0 case)? (listed as
> 'U 4+2 V1')

Isn't that pre-existing (see 2nd line of context above)?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 15:58:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 15:58:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512826.793093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peeNl-0003mV-3z; Tue, 21 Mar 2023 15:58:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512826.793093; Tue, 21 Mar 2023 15:58:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peeNl-0003mO-1Q; Tue, 21 Mar 2023 15:58:41 +0000
Received: by outflank-mailman (input) for mailman id 512826;
 Tue, 21 Mar 2023 15:58:39 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oKE/=7N=citrix.com=prvs=437062dd9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1peeNj-0003mI-Ed
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 15:58:39 +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 3c8dbf1c-c801-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 16:58:37 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 11:58:33 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by MW5PR03MB6908.namprd03.prod.outlook.com (2603:10b6:303:1c3::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 15:58:30 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 15:58:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c8dbf1c-c801-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679414317;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=fd5EnBrdx/N9ypagAmNXlfSKtlJYWrUiUACWDb1luBE=;
  b=BYborFh/KIHOG7z5I1I6OaINaBDt+AXvliX0Xf4P1z1DYUJ7PUanM2g3
   fltVEQAjxUidCbYGsSzSr31fNMlhKofKyPyXGHB4wvsr16vnNx4AebjAt
   4PBhxJ6fMJo0OevMQ3r3jwyajLioJWUh/ZAEYy+wgJfflnYf7JqefuDWg
   E=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 101643843
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:zx7KSKlnupa1lKGBvvw6EFLo5gynJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJOXWiPPPjZMWD2c412bonj9EkPupPSztMwGgptrHo3QiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5gaGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 cAlFjwySQqCu9/177CVY8Axqvo8B+C+aevzulk4pd3YJdAPZMmaBo/stZpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVw3iea8WDbWUoXiqcF9hEGXq
 3iA523kKhobKMae2XyO9XfEaurnxHuiBt5JROHjnhJsqFuvnHUXChwqbASindiHk1S/C/h6C
 GVBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9Vna15rqS6zSoNkAowXQqYCYFSU4P5YnlqYRq1xbXFI89Qeiyk8H/Hiz2z
 3aSti8iir4PjMkNkaKm4VTAhDHqrZ/MJuIo2jjqsquexlsRTOaYi0aAszA3Md4owF6lc2S8
IronPort-HdrOrdr: A9a23:alfhKqNA6NJn78BcTvejsMiBIKoaSvp037Dk7TEXdfUzSL3hqy
 nOpoVj6faQsl0ssR4b9exoVJPufZq+z+8X3WByB9aftWDd0QPDQb2Ki7GSoQEIcBeRygcy79
 YFT4FOTPH2EFhmnYLbzWCDYrAdKaG8kJxAXN2uqktQcQ==
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="101643843"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YXU1CMVejM7Kn4QpqKVqbOFJwjEPpdx0MxuuCI/11BoXOIyIOKaf3uWV6kSxJaDjvqk7ZHspEOCCMD0ylCOBtb5du+/0Y8Yr81pcR6xuyC/fs99wAH+LP/hvCo0M6aaXqh56PfP7T7oNKJpphc+t+J2tLK/f9F2gUD/XDZ/lMhQJAGKy/QKphEHL6ALN3nG/epukJs4baTLTPzCmLFguYG32aG0xWA7nYb+PI9oXkJ3m1yellQ51hM3tyeizM/CaWnoeksk8AMbyTrG8tWUheujV/y76E4qLdds5xqx55JA5xG+LJ6u2YQTg/1bNS595tf+HBmcsOrTkGXbxnNvzhg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TjRnAdKTnGMf8ytIdDz0drTY6lFbThODyVm2NRpa2Ns=;
 b=aA/vQVs01wnO0f69EJ3N3aWePMBzQKv/weHkQ2e8re0EEJ9rLy0Q92eMBVghLarY2vq9VRSrD42oylIV3CCaqM+qA0DGJDcr4jsJ7hgovi50oaGq2H+Kk5nSeDGNkA4qcvBcUhQ9Vk5a+irBSaepV/1CSftLC3ZgZo1Eob385RBH1VjQ8QAkGbcKYKvw22qG+Sa4qmeKK5/vYDOjTNRv+nWAcadn0tRtjYfBsx8Gaalbd3EG9zr+M7FOJWMHZr0pI6QSmIWvFHQl3a3+gZfT7DBkl039kkR6g1PGf0YHe/ug8hm1DMTjKzaU2ryNyGIOppi3xl+S8c8sDyPaAdZ+gA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TjRnAdKTnGMf8ytIdDz0drTY6lFbThODyVm2NRpa2Ns=;
 b=KCd2F+L5v0HlyNbcjQJRdXVHKbHOtkIMbDsA9lQgeVqW4P4gaE2ZyAdcmpEHc77Cyzy/Nv7o93FNJme7noGeUZyiLLbpr5T/YLnA+UWae2ENlZbwivMWgB6NztVlrO4L/O0Qzd3za/lPnH98dxTzHTKftNO22PSYtM0kcmEUAvk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Mar 2023 16:58:24 +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: extend coverage of HLE "bad page" workaround
Message-ID: <ZBnUIJLHJSBTlwLe@Air-de-Roger>
References: <b238f66d-37a9-3080-4f2b-90225ea17102@suse.com>
 <ZBnCTAw3Fj/BpvTl@Air-de-Roger>
 <9864c24a-6d08-5a5f-3de5-3b34b68a6edd@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9864c24a-6d08-5a5f-3de5-3b34b68a6edd@suse.com>
X-ClientProxiedBy: LO4P123CA0280.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:195::15) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|MW5PR03MB6908:EE_
X-MS-Office365-Filtering-Correlation-Id: 146f9a96-ba01-4ceb-e0c5-08db2a251d7c
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TMWUnsI0bTDMEFETk3+yLc4v+rLBMNkMQLCEwQdRzvcXep8TMCyhfMKWoSdxj+gwoen1h5u8KMhjF61F+3QbabmY3A1wzjb+i0rxkxK1MG07sJckrIiAiOn4hPxEgUW/y7YSQPt/dCY0sngbzAP4AEwWYnOUmhGdXJiXoLLZg+Jd/4NmDs6maQWBiZe3U8bJmIDdhZohOQHj4SA17tk25meXxjEkKZF/qsRIgk+M5en4Zy1LkngyOtKFc5HkGIY1oTtcfy0p/mWTvpnjTt/rXnehruTOSlpL71v6WMbOlTnU70s4c9CIYWMdQDhVu3SikBTnUXB+HQqXxiFEwsuY5ZVlBqbHBipQZA6m8UIZ/luPIZpuKHNXJr8MxMdQ6biPN6oq/pJVOLbEH60KhcqFCMacdVaN6PdDt2zVqXW8dlujB1TIddFJAm+iT1HZmnbloYp8CpKvGEPxYwLnOOG0DC2EaBFQvenMI6GTCu2lH+9gwRa6KZv7NHcKY0iiF6mh5YR8CGoygfP5kNxWAqzZrX/4eloXO5R8Ki+srdeQfy/hXWVkbMvw5nn+Q0J9Ep+zv6FdsqT6yzJtCrsRpbNka3xKgju47ev5pSjng3RRD64BM0YgUKOMFIo0qxLTeFi777JfoVrcVMjFCSK2OBNing==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(346002)(396003)(366004)(136003)(376002)(39860400002)(451199018)(33716001)(83380400001)(6512007)(316002)(54906003)(6506007)(53546011)(26005)(186003)(9686003)(6666004)(478600001)(66556008)(6486002)(86362001)(38100700002)(66946007)(2906002)(6916009)(5660300002)(4326008)(8936002)(41300700001)(85182001)(8676002)(82960400001)(66476007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R1ZYbGxmN0tnQjJ1c1hpSHRwZlJwVEhmUDh1YnJJT1doODBvS2xuTnJmd2Nz?=
 =?utf-8?B?LzVrcnM2N2paOCt4OEJVZTgvTnZ6RVlEU1RTdnhpNmpsMVYwUlBOWWJOa0pI?=
 =?utf-8?B?K3VvanBFMDVxTUdhaEZDZUZTZkM2K243alhZcGpiR3NwSzJoMTVRNS94T20z?=
 =?utf-8?B?OUlMN3NiVFlYc250Y2s2VzlxditBZ0dRS256M3hGQU8wZ1FCa3FUK0RRTVdN?=
 =?utf-8?B?YVlPZjBtZ1VhVDZKN3hYSFpwcUVWY2w4YnZvd3ZuUUF5cjRVbzFTME5KY1Mv?=
 =?utf-8?B?WXpqeFExSzY3Zy9VUDlOdVNtYkJxTG83UUFuV1JVNmR3SGJCZXdiV3N2Nnp3?=
 =?utf-8?B?a0ZRN0FYdE5yd05uVE1oZUIrRTByVUVDK1J3ZXBoYll4YjZ5dWhpU09yMXBz?=
 =?utf-8?B?NGF6Uk9QVXNjS1VWb0xqaldFNHNEWlEyNnBHVUl5YUtuQWUxZXZySUU3S2cw?=
 =?utf-8?B?ditEdURLK2lXTGRiTkF6TEtOc0RlWTgrWFduMWRtT3R6T21LbUxKSnNuRCtq?=
 =?utf-8?B?dkh2OW9yem44aEFXaUljV2tTYXdQbXErOVVhQ1lldVBZL0d4N3JGZ2JQTGJt?=
 =?utf-8?B?eDc5NnhGREhMUzA4TlZveTk0TEtoTjRqQXZaOTlicERaaWdIYmZBL24wU1dG?=
 =?utf-8?B?OHhrR2pBWGl3RTJzeWNhNmp5Mkw4c2ljV2Q1bUh0Z0hFY3U3UVZKR3ZkQU5n?=
 =?utf-8?B?Y3oxV205KzNqNTlKTTlBOFFoYkhuSk5ra0laS2k2NFlCWVNxWXk5U1hEV1BK?=
 =?utf-8?B?NUllU1JLQ2JZbkJHbGdlcDJhRitlTlV5Z0YrQUlEZ2lNYkJDNEVER2wwdGo1?=
 =?utf-8?B?NnhnMWpkZzRuQmk2cXBHTlY2cS9rWnUxaFdleXFDR1RvamhyUHBxaktTMkFP?=
 =?utf-8?B?RTRNZGcxNnAyaHVhNHpkcGVHY1YzSmFTWmNQeVNCbWJuSWcwbjJCV2FMcXRr?=
 =?utf-8?B?T084djRxaDFGREU4S1B4WlRxZTVvdEpzNWNheTh4Q3lpTGpEQ1JCTDNXQlZ0?=
 =?utf-8?B?QVJvLzhiU0czMGZIdnpHa1JSQUgzTmFlVDZNQzlnd01RNGZ6SW95b2h3WE1R?=
 =?utf-8?B?OHZ4eklZYWpGV2JWUjQ5UDdia0c1NzV0cUtERVE3NnZxTkpCQnk3OS9WTDU1?=
 =?utf-8?B?K0hpQ0tXa0FRV2tkZjVQWEtYK2x3Y1BwRjFZT2xYS2wydXZ2MWNtRXpMcS91?=
 =?utf-8?B?VFJSOEI1NDRBd24reDN1bjY1RTdLVHNBZTNUY3Z6Njk5NE4xMXp2RlhQRkth?=
 =?utf-8?B?eUFjampISGZTWHFLWmRQR0NweW9IcThhS0MyTldLQlBCZkw1TWR6MFF1L0xt?=
 =?utf-8?B?NWhzclUzYUVZeGZsWmRGY3NuQXU1MG5ibDU3ZlVXS2JJNkhDM3F3OTZERGw3?=
 =?utf-8?B?aHpXREU4UFBrdXc4SzBhZ0FvWmp0eUVUeEludVBKcTBlNnQyU3EvbWxIWHRN?=
 =?utf-8?B?VVpuQjhJYWZTSVpaWndjd2lLR0ljMlh2ZUdZaFI1WHBaamE4REtEZ2QrSktZ?=
 =?utf-8?B?cWRvVk5tVmQ3ZUZMZ0FROGZQQUxNbGRVSWxaUTAwK1k0N1NzS25ZTTRrMHda?=
 =?utf-8?B?SWpoU0NLN3JtUWJQWU5BYUc5bU5ycUZ3MEZMeVFhQUY3ZEdZVTJhQ1d6Z1Vm?=
 =?utf-8?B?WnpDQjBYaHpWZFZsVVVlWUZjaU9DUFNxQm50RXVnVkQxVEsycWxxVWJvb3Bv?=
 =?utf-8?B?em9EVUpJM2tnNnhWNzg0b2E5cVp1U1d5aGVDN1F4VDNEVFViekdqU3ZVcUZQ?=
 =?utf-8?B?MjFaVUF5RFZ6WHVJRGkwUUFhYnUyOHVST3UvUWx4K1JGb05QU2lMakVHOGJH?=
 =?utf-8?B?SkthTjdtUGt4NlVvV3hyRlNlbTI1clM5aVp4ek9ubDFMT3BYa0xJWTBYdDlm?=
 =?utf-8?B?clZpVThaWEhYK2V1UUhRMjdJRmJTVllUYmdYUFBXTXZndThjck80MnVoU0g4?=
 =?utf-8?B?SnVWUXlMdUlIKzRzQU5sM29IZnVKZE5ObFlwUnF2QXl2cUwxVEpCa3dsQUlo?=
 =?utf-8?B?U1JlU256dWR6M1lHK3NGVUxPSTFWNGxod2RlWU1yelBpRTlISi9Vc0tMdmti?=
 =?utf-8?B?ZFRsTzd3YlRzSmI0Y0VraGh6Rm9OQjU3c1drelFqQS8xYmljUUVUV2VQTG1v?=
 =?utf-8?B?SUdvNy9weFVBc25iQXJXa21jQXhZUHk3S25FZWpKejl2ZFRWNVR0Nit3MytY?=
 =?utf-8?B?MHc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	zm+z8qxjkIpjkLCH+W2irjEBiZJJamfMBw2AjasRrC+7oMIs+98hRlQeRNGoiGh6y5ZHC9Qvp22lLocS9BHIodfZsobpODt/wKbnwEEawQQSGklnOk+ZIBM/BhVUjWwdX1X5iuzEH/yoN9PeDYXT7slLP4aHO9B868X/mVby/z+XHtJ0CiLZsazTQm6j3CwCwPZyEUOf8rq0qYMNI+anTUVfvkhKuZ5pkstBpdVEiMiJf8nBFr1nRDO4dvr5ckh4ptU4C65sRia3jyg+YM2/FKmm05p4UxS7+BBerqAGh3IPc1waDg6WPRHiwxg9NV/imt9smRQtpr9fIGOgKWyEm8r7V+wjiHvuajAtf6Jy0KWh3niSJ7QK1rUB+7sRpBdTtJ8l4d093Xe1TnrMrNf/ZcfJyOc8FGSDnCVgqFt8O6rdsd2J8XtMu0OKd2Q2XvRDk+Wil35mE1VV/kYvgLkcuNOEiTPJBH5DVHTv6bUnE/floUVmFpbU8IB8tJTFpmt7AA7Bz5sSeQYrN3/ord0fByS92TJKXbbYBTmC1OqNX6dW+iUrwItL6HnE9h0nZRKUFLXpMwuqW1of3KQIUQ+uPKH1/6WfG/2P3k+gL4QGsHbGgR2t7+4YqYs+mrPmRqYd7e8jd1HWVAriD2OQZSmYRaAivHRTlyNucaajlfCrUU0dZMcfNqp/HLFqF/YulqZyM87k8zasjLGpJ/FVksqyHPqkmW1hVSNyKKaqh6rVPyX558SQSO7EkKp0/3jjP1VAU9o3GeEZmbKjEkoLCarGStQ51iePEyvtunvDTzcBFSaynVRyIdWQ5bir09DsNXD+
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 146f9a96-ba01-4ceb-e0c5-08db2a251d7c
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 15:58:30.2280
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HC13pHJ7TLwR1aWpFwNdIBaw4AdPaxI5hc7rqStVwBvYV2vjIpJ1c9otgqv2fTa5Rn8T4gZQ7nLhyU8p8Gy89Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR03MB6908

On Tue, Mar 21, 2023 at 04:51:43PM +0100, Jan Beulich wrote:
> On 21.03.2023 15:42, Roger Pau Monné wrote:
> > On Tue, May 26, 2020 at 08:49:52AM +0200, Jan Beulich wrote:
> >> Respective Core Gen10 processor lines are affected, too.
> >>
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >>
> >> --- a/xen/arch/x86/mm.c
> >> +++ b/xen/arch/x86/mm.c
> >> @@ -6045,6 +6045,8 @@ const struct platform_bad_page *__init g
> >>      case 0x000506e0: /* errata SKL167 / SKW159 */
> >>      case 0x000806e0: /* erratum KBL??? */
> >>      case 0x000906e0: /* errata KBL??? / KBW114 / CFW103 */
> >> +    case 0x000a0650: /* erratum Core Gen10 U/H/S 101 */
> >> +    case 0x000a0660: /* erratum Core Gen10 U/H/S 101 */
> > 
> > I think this is errata CML101, I would add that at the end of the
> > comment.
> 
> Indeed in the current version of the document CML prefix exist. The older
> document I've been looking at has no such letter acronyms in front of the
> errata numbers. I can certainly update.
> 
> > Also you seem to be missing the '806ec' model (806e0 case)? (listed as
> > 'U 4+2 V1')
> 
> Isn't that pre-existing (see 2nd line of context above)?

Oh, indeed.  Would you mind also adding a reference to CML101 for
0x000806e0 then?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 16:00:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 16:00:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512829.793104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peeP8-0005VN-GW; Tue, 21 Mar 2023 16:00:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512829.793104; Tue, 21 Mar 2023 16: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 1peeP8-0005Uh-Bw; Tue, 21 Mar 2023 16:00:06 +0000
Received: by outflank-mailman (input) for mailman id 512829;
 Tue, 21 Mar 2023 16:00: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=oKE/=7N=citrix.com=prvs=437062dd9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1peeP7-0005H4-89
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 16:00:05 +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 6f4fe3c2-c801-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 17:00:02 +0100 (CET)
Received: from mail-dm6nam12lp2169.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 11:59:59 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DM6PR03MB4939.namprd03.prod.outlook.com (2603:10b6:5:1e1::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 15:59:52 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 15:59:52 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f4fe3c2-c801-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679414402;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=a472dS60VC4m2Toa/1TxKoenmpjlK+3a/8atnko3/to=;
  b=Q7eY3Qa98Ivqs4mUKp8Ffrwl22C4ivhOgcg/bOyNlLQI+pClz98kGIJZ
   CtQiX5DH2sTfxAA9JR/2WNR/Qm/By5kV5il40ylREKUEZFDoZg+PAl/Im
   auMfiedrQWYH/y7KkU+ATUMLPf8qWXuEXui6hYWHsyVNztOZ1VVjHn3XE
   o=;
X-IronPort-RemoteIP: 104.47.59.169
X-IronPort-MID: 102146307
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:l7cQmKtLk9f+eWMoCS86ncmhDOfnVHBfMUV32f8akzHdYApBsoF/q
 tZmKTqAb6veY2TzfY90Otnj9xkO7cDRnIRrTwpkrSE8F3wV+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASEziFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwNioEMT7Su/+KkJm1a+pSiP87Bvi0M9ZK0p1g5Wmx4fcOZ7nmGv+PyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgf60bou9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAuiANhLSOPjrqECbFu79lE6Iy8NSWSCjqOHoUv5Y8JPA
 nUX0397xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIVqC8p+EoDX0PjIaRVLufgcBRAoBptXm/oc6i0uVSs45SfDkyNroBTv33
 jaG6jAkgKkehtIK0KP9+k3bhzWrpd7CSQtdChjrY19JJzhRPOaND7FEI3CChRqcBO51lmW8g
 UU=
IronPort-HdrOrdr: A9a23:y3P2C6knAGQqPRNJiuig2VHJX4XpDfIa3DAbv31ZSRFFG/FwWf
 re+8jzsiWE8Ar5OUtQ4OxoXZPqfZqyz/JICOUqUotKPzOW21dATrsC0WKK+VSJcUDDH4hmpM
 VdmsNFZuEYY2IK6frS0U2VFMsh3cnC0I3Av5a5854Ud2FXgnhbnmJENjo=
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="102146307"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RNWFUw5s7ll9wLilSbN0astfBOqKOzi+i8rlras2hAE7oTsNt158mFabZkFGgFLtUK4r784YHWlh/DP3a93QEV/ULKsjPLqMfPRz6V0eIFM3eGX/249SyWjM5S/xSZT3EtHa0Bfk8wxOzAYCPKRp56mloTc0jpTpcvOD5I86GZAoDryTqIH5EfaVQNYVlOMkQ1GXt3jMUPzh0WD/cDr6k6plpDjNFeecm7kLs8K6/YuEyze1lokg6weSqJdp+YQqHgbVtR1S1J9Wdqv7WcA1vx9Hy4l1mcZps/dO9gTEUBTJiZxdh4kN5F7WmP57Nb+BNsrKVVz0gnP33Tz4Xlh2OA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HyS+hGNztbzOeytP96LD6T29LdGdaVn8WQ2qiDVudeU=;
 b=RrHlU/MyIqK5jZWTz7Yk1GByDFKPj7H6YFmIQduzniZvC+Kmypv4WVmcopPTk8Fe0rND0eYwpZClfF9TY82b5qdnQiLeFW67eHJYSzxjnjqaYLoiAdxxXrV64VXL6jUvr27dF9DJizfnQ0/ZKx5DljjmAWOsNvWCvIkRyChk7WmGxSBi43BMKAEJmGfCDXQzVQo9gTXsBvzhWc8o/UkKaGiQ23CSTaKPWOnJrPOdQIRoFNS8DqNFAc0dV90SjZCuty76s5/1kUHiZr+vI6ZoN0NlX83GMuwCyQHW10v7yyXMXpbt7BghOBIPKZzGgtA+GsrcCzMJZKYNuDQoXxYLpg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HyS+hGNztbzOeytP96LD6T29LdGdaVn8WQ2qiDVudeU=;
 b=CsAs403ip5AvGkKpmhzIFpUWJCdO0oQlITK+Pxl38RqHEuGe3mB1WVsJ37HqxFk0rdvV+02yU8/EotZdjkX9RfDvR7YIm/UUi7ciRRM6HDvMzxqDMbiBEjzIIN8Av3/a7kpxJeSh6rUNj8J63Vc5EcMb9wC3pbasyLdMYla/0Lg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Mar 2023 16:59:47 +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>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86: extend coverage of HLE "bad page" workaround
Message-ID: <ZBnUc5mBYg7QhSBn@Air-de-Roger>
References: <b238f66d-37a9-3080-4f2b-90225ea17102@suse.com>
 <424d1b72-5eb6-f2bc-20fe-e59bacda8dd9@citrix.com>
 <c27d838e-0331-3cab-25bf-dd16b4645152@suse.com>
 <2c0ff1f3-ee0c-6d14-a51c-d82b65338005@citrix.com>
 <0df22405-bda8-8f4d-63b4-e9c4d57843b1@suse.com>
 <ZBRRbnBjWHXAM1ug@Air-de-Roger>
 <02cc1db2-90e6-a60e-4922-d88b4ca98b45@suse.com>
 <70e49a82-f027-6315-e11d-b2e16bdfdcab@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <70e49a82-f027-6315-e11d-b2e16bdfdcab@citrix.com>
X-ClientProxiedBy: LO4P265CA0235.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:315::12) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DM6PR03MB4939:EE_
X-MS-Office365-Filtering-Correlation-Id: ce8dd9f0-9837-4234-e576-08db2a254ea8
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0FQL8SEVKJGaX+sHyoAXIsLLTh4NxDx7AhN42p+CsRSrJWNcP0yE5Bx9aqIZcnJjSvFY6dEh+q8nR41EZfbJhJqM0ebw+Tq4OddUWJR0LIuafgGloKyH6Jfm+eJkKzJkAs4ttAzMNA4S+slkGGglVEtq1qTVMRMuaIRm3o4IagafZzfYFg3sdUwSFjHTpAJtWisBX0ri6ENbMiMcRtmj4s4pxcjHku2M8vvydhqljXMPYRFhKSBHrNPrnyJSSqK0XgAoMu69JMggSyDCGt27t5H7Muvj2Y7sygjs3FFMxuZl7qE+7Bxv6iNCP/P09qcNl+GcbEUdL44UB+B9qSXpNT9j6R2rLWvaLPKbfyT1Z1dHLewrFNENk8P6rfsK7JbPQCskjMhlYFJv/ZGBuU2I+WxF62fwFOTcuIqhlEpFyWaFku+GtbrvWLTtgstpyYaYZRy2pV0MbY/k39xK1UMuhcXj6FF0sU9gTVWVlkGcHBP6aDQNr8veMK2tBKhtSHtn+E+xVvVz2c4WnYgdECHUQc+BsmJpW/ic/WW+oSHA7PONoqcp0e3hVHeCGyDaIGzeFxJFvtjeKD5qKmHe95B7UgOsujZAjpu65pTrmI/LwVtCrBUMlobZv1K3Vs/GpSRfachNKXzfxqqQLVw3BgH+Fw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(376002)(39860400002)(136003)(346002)(366004)(396003)(451199018)(186003)(6486002)(4326008)(83380400001)(6666004)(478600001)(6636002)(66476007)(316002)(8676002)(66946007)(66556008)(53546011)(9686003)(6512007)(6506007)(26005)(54906003)(66899018)(41300700001)(6862004)(8936002)(5660300002)(38100700002)(82960400001)(2906002)(86362001)(33716001)(85182001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b29OamxuOTE5K1p4M1lXZ3UxK1h6R2ZVYnRQT3FFZCt2dk9GMWJXRE9yb0VV?=
 =?utf-8?B?TnNRSUJodFJEOFBkeWhReHRFWFNhcDJuRXJ6djljUUU4alJnOFVLVkJIOFBx?=
 =?utf-8?B?eHVLWjhqdEdUcUJLYUJvZXBRRlR1aVNQM0NuMGhQam02RmdkRUE4WDNHekNi?=
 =?utf-8?B?RS8wQUNEc2JvYWtzd2RKZGVUM0k5azE4eE1UUDNYNzgxRmFSb1ltdHkwWFVy?=
 =?utf-8?B?NGs5aHZqc1lXZUE4eno4c1FuSmJZSGJ6R2F4TlpyMkpKeE9aSC85WDc1OHBq?=
 =?utf-8?B?UHgrSU5vTmFmcE4vc2ZnZ2dtRUwxL3FJRHZWVFU5cHhSZkxVZnRUOENiTktX?=
 =?utf-8?B?cWh5UnhGWGtnNEI3RzdQcWNDdmlJOFQ0dHBvTHF0bktEellwUWw5NmdIU3Bj?=
 =?utf-8?B?S3lDSnU2U1U2cGxvbmhyN1Q2bXZNVTBvTFJITDZsOTBtcVRqdXdKM2hFM1Zr?=
 =?utf-8?B?VkJreFo1eGNXTnU1b1ZRRFFtaWtqdkFpd0pJcTMvNlhQYUVpcy9xaUhxK296?=
 =?utf-8?B?OGtSQ1FLWkl5SkdNc0F2THBqTGlzY1BFaWJ0djc5VnZ2aElkZThQakxobFJi?=
 =?utf-8?B?L001SE53ZXhLYWVPK1YwamFXZGkydmhmdStlaGJoUTEyOCsxMXZSTjNrY1Rx?=
 =?utf-8?B?a1NPZU5ZSUkrdExPNGdjNzBYclIvRDdRWWVoSUVLTlBFeGxYdHIzT29wTmNh?=
 =?utf-8?B?QXc1YlpKemFZWloyaE02anBaeWlKVWszUk4yS3FVT29kZ09VTHBHK2RuS2Fk?=
 =?utf-8?B?cUVVNWZTSVhLM0xyM1g3Q2pYQ083SlVRKytLY2NubHk5aThlTjFhQkREV3Nu?=
 =?utf-8?B?aVJyQ01iTDVCbHFxeVQrSVFVUE1CVVJvRjlRTER4dzVsMytrZTdyWWJOM2w3?=
 =?utf-8?B?TkdMS3hKb2VTVXB5eTcyUVVBdFVMM2lDb3Y4NWJTc2xvcktrRXczWi8wYnFZ?=
 =?utf-8?B?WFVVMm9lZHRQRnBlOU5TZ3VwOTliUDBIZEhvd2xVQXQ3bkFwTVMwNmtkRXVq?=
 =?utf-8?B?dVNkUTNMeTZGb3JNKy8wVnI2ZWhCYVd6WDN5Z1RlSUs3bENvQlo4UnVlUjNB?=
 =?utf-8?B?M2h3U2VSd2JQa2JCanVLdk1OYXE2VElDRzBIUjlqWVhSSTRERHpvR2JmbC9y?=
 =?utf-8?B?dk9BQ0FpRXR2VkVoNUlWbStKRG8zV0NYQzhaS1dPdEQvTnhUOHNSLzRjWkVi?=
 =?utf-8?B?K0hGY0tiWDhrZ1pYMjkvZ1FrSkFYaDhDWVQzZk13eWcwVlU2MUdOWlNTTDdD?=
 =?utf-8?B?anpZRERmcVZhK1hobkxmRy9lSURxK05TakEycGZRSmVjVzhiNjZmdWNJYXZW?=
 =?utf-8?B?Z08yaGc5VlBjeXMxUU95NHJvOXdJbEIzQXE0T2J5Nmd1K0wyT3c0VGNaQXBu?=
 =?utf-8?B?TDB6K1REQlQ4clloY0laVjkxa1dOS0VXaldDOXVVK1BueElCbEtZbG0rYU1F?=
 =?utf-8?B?eGM4MWhHSm1pZytQVlNBMDYwb0RzSmdqaEdZYmlFTGlUUzZjRlJybkNtbm4y?=
 =?utf-8?B?cTRGQ2VrZDk4YVR4b2h1Nkl1eGoyTitmVU1yamRGYzFVSTBaQ2RReGZxTUpS?=
 =?utf-8?B?bFNXcVFDdUV5bXVtM2ZKZzRHTkN5MmtoZWZXaWJmamJ2T2l1OFpPM3lpZXFu?=
 =?utf-8?B?SnFENWlwRy9KN0JBeFRVYjZsdUlFTnlUWDBMcWQ0MEp1dVFKc2xHcVB0MUl5?=
 =?utf-8?B?RUQyY0MxV09ORVNlSkhuc3loSWJ6ZENNQm1RVFhKMHNDbThJWWw0ZWR5QUdM?=
 =?utf-8?B?cTU4aUI4Z0ppNjQvZkpsVk5DTXNNVTIwRjVWbzBlYXVDOGcvUW1zUXRPck5T?=
 =?utf-8?B?WWpuTEtxOVJCSnFzeHNUc1dsTktFWmZoV3B1NHlXZVp5RXg4UEN1T2NISHJF?=
 =?utf-8?B?S0Y3aDcxZXJxL3hmeG9PSlBXaXJNTjZJa1ppTVBjNklsMkdYbXhhVFkrUHFa?=
 =?utf-8?B?U2hwa1NSdyt5em45STAvZy9WcDdlUEl4WmFwWXh0UFFTRWpXUU00cEhhMjF3?=
 =?utf-8?B?Qkh1eUdDcjBQZDE2TWlRL29WRVlMVjhyeEQ4cVNEdFkrcitzbkd2d1RpMmFM?=
 =?utf-8?B?ZktmY2xML1ExTURBMmp1ME1UTmlQM0ptVzcvYWdUNDE5SnJsVHhrY05wTFll?=
 =?utf-8?B?K1lvWkViYWIyRUZIaHcrMnd5WllFSFNISmhSVEdvQm04bEVlZTV2ZTVaUGRi?=
 =?utf-8?B?amc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	+tHKm7yWm21VKL4xBQ4AHRlOsdlGKhC6pk+44nEjWzvYwB/XsBriJYdYI8/XTQhlUeRiwSmm+yghjMXsh9hjL2MFGUglek5SXZD+tOUjMIo1FDtKijyCYnuOfk+1VRkNdsZjzdpyvJooCobQ0kauZpohfSayKjdL0hEDCFCoM1I94idXKvQGNODa7GtzMv8CjILeNFLLHAMClDfZzhFpdqyWY3Fqd0VXP3TSu2TRxzgrX8fPx3WiES13DEwm6F6yqsY9GFQcFFcf47+WU25mFiEvOLL664B0UTG9UXC3XRRSE6orWZMuMrxprhGP4cPKvPGVFP3WutPR1lLiFdx58SQxKzlLmzZTyB/ZZd1Awg4mX7B2V3H3J1PZ8P9if8WnN2N/c0Bdjt1EN6T2FGoIfEzg+VsC2xrhBgaWK8muXwN5lf8nYL7Opm6LjK6x6rbln/WE5VP5XKxfsdvDnfMu53lM4SDW1MVTfoZW1N5KuaUR7u44PYAAyVcLEyiSFDINAxbulF8RFzefEFLODBZWI2WNmh2BnNvKF6mH8yyjxFfCOK8hZgq8dbKRRN57NjPFTqIwcDGqozpwPt3vP7p15EvwX6h28ZFSAR/bcSYrjWec2wngPnmPYBdGBO6JnZffiCCjSwdvPCixvQ26bkeXMGtYStBpGXYlF/71OBCmxsxjpKsYhbU4JPCkw30KOlClpAV0QuORWMR+qBIDoIKP43Vi/Exr3FoteaXH5KHImN3fVmTQavMAXPwC7XDccoER/2ool6KlLasxu3WANVKWRp4Sj3X331A0nd0IoZbClzidNa2AEDAMKiOXh6nCNi3K
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce8dd9f0-9837-4234-e576-08db2a254ea8
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 15:59:52.6467
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /gsa7eqUab8Lh0gylo1UKKKSZfi5zhpMEk+5QH46JYnNGRyXyRExfU0ijj2bZILtp4syJs6ysfzwDf4B+rCyNQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4939

On Tue, Mar 21, 2023 at 02:51:30PM +0000, Andrew Cooper wrote:
> On 20/03/2023 9:24 am, Jan Beulich wrote:
> > On 17.03.2023 12:39, Roger Pau Monné wrote:
> >> On Tue, May 26, 2020 at 06:40:16PM +0200, Jan Beulich wrote:
> >>> On 26.05.2020 17:01, Andrew Cooper wrote:
> >>>> On 26/05/2020 14:35, Jan Beulich wrote:
> >>>>> On 26.05.2020 13:17, Andrew Cooper wrote:
> >>>>>> On 26/05/2020 07:49, Jan Beulich wrote:
> >>>>>>> Respective Core Gen10 processor lines are affected, too.
> >>>>>>>
> >>>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >>>>>>>
> >>>>>>> --- a/xen/arch/x86/mm.c
> >>>>>>> +++ b/xen/arch/x86/mm.c
> >>>>>>> @@ -6045,6 +6045,8 @@ const struct platform_bad_page *__init g
> >>>>>>>      case 0x000506e0: /* errata SKL167 / SKW159 */
> >>>>>>>      case 0x000806e0: /* erratum KBL??? */
> >>>>>>>      case 0x000906e0: /* errata KBL??? / KBW114 / CFW103 */
> >>>>>>> +    case 0x000a0650: /* erratum Core Gen10 U/H/S 101 */
> >>>>>>> +    case 0x000a0660: /* erratum Core Gen10 U/H/S 101 */
> >>>>>> This is marred in complexity.
> >>>>>>
> >>>>>> The enumeration of MSR_TSX_CTRL (from the TAA fix, but architectural
> >>>>>> moving forwards on any TSX-enabled CPU) includes a confirmation that HLE
> >>>>>> no longer exists/works.  This applies to IceLake systems, but possibly
> >>>>>> not their initial release configuration (hence, via a later microcode
> >>>>>> update).
> >>>>>>
> >>>>>> HLE is also disabled in microcode on all older parts for errata reasons,
> >>>>>> so in practice it doesn't exist anywhere now.
> >>>>>>
> >>>>>> I think it is safe to drop this workaround, and this does seem a more
> >>>>>> simple option than encoding which microcode turned HLE off (which sadly
> >>>>>> isn't covered by the spec updates, as even when turned off, HLE is still
> >>>>>> functioning according to its spec of "may speed things up, may do
> >>>>>> nothing"), or the interactions with the CPUID hiding capabilities of
> >>>>>> MSR_TSX_CTRL.
> >>>>> I'm afraid I don't fully follow: For one, does what you say imply HLE is
> >>>>> no longer enumerated in CPUID?
> >>>> No - sadly not.  For reasons of "not repeating the Haswell/Broadwell
> >>>> microcode fiasco", the HLE bit will continue to exist and be set. 
> >>>> (Although on CascadeLake and later, you can turn it off with MSR_TSX_CTRL.)
> >>>>
> >>>> It was always a weird CPUID bit.  You were supposed to put
> >>>> XACQUIRE/XRELEASE prefixes on your legacy locking, and it would be a nop
> >>>> on old hardware and go faster on newer hardware.
> >>>>
> >>>> There is nothing runtime code needs to look at the HLE bit for, except
> >>>> perhaps for UI reporting purposes.
> >>> Do you know of some public Intel doc I could reference for all of this,
> >>> which I would kind of need in the description of a patch ...
> >>>
> >>>>> But then this
> >>>>> erratum does not have the usual text effectively meaning that an ucode
> >>>>> update is or will be available to address the issue; instead it says
> >>>>> that BIOS or VMM can reserve the respective address range.
> >>>> This is not surprising at all.  Turning off HLE was an unrelated
> >>>> activity, and I bet the link went unnoticed.
> >>>>
> >>>>> This - assuming the alternative you describe is indeed viable - then is surely
> >>>>> a much more intrusive workaround than needed. Which I wouldn't assume
> >>>>> they would suggest in such a case.
> >>>> My suggestion was to drop the workaround, not to complicated it with a
> >>>> microcode revision matrix.
> >>> ... doing this? I don't think I've seen any of this in writing so far,
> >>> except by you. (I don't understand how this reply of yours relates to
> >>> what I was saying about the spec update. I understand what you are
> >>> suggesting. I merely tried to express that I'd have expected Intel to
> >>> point out the much easier workaround, rather than just a pretty involved
> >>> one.) Otherwise, may I suggest you make such a patch, to make sure it
> >>> has an adequate description?
> >> Seeing as there seems to be some data missing to justify the commit -
> >> was has Linux done with those erratas?
> > While they deal with the SNB erratum in a similar way, I'm afraid I'm
> > unaware of Linux having or having had a workaround for the errata here.
> > Which, granted, is a little surprising when we did actually even issue
> > an XSA for this.
> >
> > In fact I find Andrew's request even more surprising with that fact (us
> > having issued XSA-282 for it) in mind, which originally I don't think I
> > had paid attention to (nor recalled).
> 
> No - I'm aware of it.  It probably was the right move at the time.
> 
> But, Intel have subsequently killed HLE in microcode updates update in
> all CPUs it ever existed in (to fix a memory ordering erratum), and
> removed it from the architecture moving forwards (the enumeration of
> TSX_CTRL means HLE architecturally doesn't exist even if it is enumerated).

Should we then check for TSX_CTRL in order to check whether to engage
the workaround?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 16:04:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 16:04:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512834.793114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peeSw-0006XY-5U; Tue, 21 Mar 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 512834.793114; Tue, 21 Mar 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 1peeSw-0006XR-2G; Tue, 21 Mar 2023 16:04:02 +0000
Received: by outflank-mailman (input) for mailman id 512834;
 Tue, 21 Mar 2023 16:04:01 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peeSv-0006XL-6E
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 16:04:01 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2061c.outbound.protection.outlook.com
 [2a01:111:f400:fe12::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd0da108-c801-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 17:03:59 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8404.eurprd04.prod.outlook.com (2603:10a6:20b:3f8::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 16:03:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 16:03: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: fd0da108-c801-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Js+dcOqgTaO5bRca/ApyvfYNdHFJd5qcIvP45m5SiuNXLvP0smiXiCEuFjEz1VnIzT13IzGqmVfOXuqJGilQ1p8t+iKL0SPrttB3lR8GyusCYVwck0LQlx5BRC6smAaPU58fm+/aaO+BVLeateIATb7DTYVVf8lAYXtSvGosF+/JMydNHTyxO/Dm40sxPKY7j7IbpADwab+vGpmzlsSkXSdVoyePckq4uYiJPuF3ME1+hlsoRzJbqlRXrNDxySdNR1FJl9Ehw2diLk2zKw5TPx4qyTvlhZ5OMK+3P22YcSvoiRQZKG7c+Z9E8ucdV7mHQQuRZcX3N+sU9mTQWIBuQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SlJDbu1FlW8ZxTKqy3Vjn0gQyyL06P+7Nqw3mGCGkfo=;
 b=SAeib/DoQ7xW47RMBFmebC/ccpQRmGeLaUNKwB8rTFU/im2fB9uK6nvY6Y9bGix9payGKujtNfeVmcXMVe10yQ614vTi3JYEyaccL+D8rPq36u+WGXQDfAk5itx90b55itQzhXak+lNbZKwNXeO1iH4Go1KFnBhd0VUyeO9dK/W1oMWPkO1doyMKroyb6q2OhSBDnCrV0qX8Qr4NKx3/qNPb4I8mIH+3raYFfo+3ES/4O2cevGChwOCrDTMBfB+UQxILazRF+ol2/uIprO+H47xFbU+fKsIm/NQ0hF607dqI9qddZiO1WLdqMLfcHKZzCpCPWOK/LstTGjlvtly3sQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SlJDbu1FlW8ZxTKqy3Vjn0gQyyL06P+7Nqw3mGCGkfo=;
 b=g7xQykrNcO0SGWIeurZ+7Jv4j8hyKbDJs7HtAzqjuBRNqWWw8Yp3RlzUhoP7gpgXpPFU7nwYhklMZpwg825v/qUhuVQEeLSKq4kz0NJKxOYcDUTrRrvjFHPhZfZNhJ3qmGiY6Jvpxlf/n7CnbXC6O2EssAcTInMN5TiybhF5Ti9TjFDFaiMnrrKZssfMoBs+DGFu6TuIzJGOMkyL53xLTjyU+qhVIVZ0Javv6Mv2ocAWwtiJS4plFypb761dnYd2T2Rl4Ygj2j0d//lt6RJV0epmigcnGj7VEmDvPwUxbflOIsxlvU0AayTKlCf3WKH5u4nsRq6KweojpAezhs9Fyg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a10e515e-3157-2a1e-1ae6-f6ed7c7d7296@suse.com>
Date: Tue, 21 Mar 2023 17:03:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86: extend coverage of HLE "bad page" workaround
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: <b238f66d-37a9-3080-4f2b-90225ea17102@suse.com>
 <ZBnCTAw3Fj/BpvTl@Air-de-Roger>
 <9864c24a-6d08-5a5f-3de5-3b34b68a6edd@suse.com>
 <ZBnUIJLHJSBTlwLe@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBnUIJLHJSBTlwLe@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0042.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8404:EE_
X-MS-Office365-Filtering-Correlation-Id: 89ad9911-3c77-4c2c-c1f4-08db2a25e00f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Usyq7zoDRCCwioTcztJ/wgEJ0+4BNj9Utdyv4Jnn9kP5f3KvibO3BFwMlk/zsT3A3MTp9hRWwX7H7RSWlEXiPCkZ7nuA59wEqxSGKd7aSNqahwfXNzFK3pqcySYdwSAaekfcibQ9qpbRXDGmQzAL5k7xqV/W+Yz54kwXaddsPa3YxnLah3c5BtdcIXm5kVUZMDRM2kWZD30QklKZz9M6O0cDtQSthldzl/8xMph21gmRKF5oYUIaL8N09RpeomLzRDNZwFtwjNU2pGmj8lXaUUv3iJ6dRN7KU65kYgB+5ZUlzpWv9+Lf53FxoutiTOlnIiCCbiondjbBv8vPadI1mLnKDD1YRxpbsiJB3Yrprc+vZklWEW391hxmvzwInIeuB4Vzc5XbbE7PhkGvuaEQpDPGTgPQE/Ox/S2MDRnsEpNMLee+94ge3T1W+xcBD/vGPbqej1Taz3wyauXaFKXbBOpNA3FaDhH1kVfZoAASh0WFhYrKbRVwqkl+dyBRJj3vMK71u65+GzlMl18x2Fkx0hjQDHejnEj9E+YMd/I4BXdxSUeYdJnTB20fzucNoyJIL1w1qJvGGQHPVLxY2th5P4RffvNNJ2lOtPvMmRnJkDxd/NaWHtBPLe3f9bkAU/076vsNUfBJ34ImBGhZ2shJgqq4AL4ZOGN5TgFjBkZW8S/A/EwjItkIXPBG3PE9DWLmY+2+Y+yhmpU0AgMj2hn2gNmjRc2JS6DEm1StfOYC6bo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(346002)(136003)(366004)(376002)(39860400002)(451199018)(66556008)(2616005)(6506007)(6512007)(186003)(26005)(31686004)(6486002)(8676002)(6916009)(83380400001)(53546011)(4326008)(66476007)(316002)(478600001)(54906003)(66946007)(5660300002)(8936002)(2906002)(41300700001)(38100700002)(31696002)(86362001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c211K1ZYRndIenR4STN3VUlabWVZZXlUS2Z5bmh2SjlqNi9Uc1Jnb3dkV0Zt?=
 =?utf-8?B?elZKY0dZcjBQZjhpZk1WQVhrTnR0YzVCYkxFVGVPa0NSeGFzZ2xSUnRTWUVk?=
 =?utf-8?B?M3p2aVo3cFlGNXJiZVBzR1psTkkvOFBMVnFYaWRMUElyME5zNldOVDZqMnFD?=
 =?utf-8?B?SkxSMG1rRGEyaFVWYzhaWTZpM1d2MS90SlA4eGdLTmk1NDJiWE1Jemw1MnJU?=
 =?utf-8?B?N09HVUhnZy9iNEpFMjg5UVF4RDN3SjJ3VStDbnkwbk96bWdDSWtzUER2RjRK?=
 =?utf-8?B?M2liTkpRa3FtTGx3M3B2ZWNSZVRHOFk4THpNR3ZXaHc2UUNncTRWMUJQNWJ3?=
 =?utf-8?B?eHlEbk84NTNIdFFGenhQcGpHQk9hcDc4M3Jkemk4cE9mcEJjUVREc2hhZTc1?=
 =?utf-8?B?K0FQZkd4WmF3SEhuWDcwVFVlT3padEVGLzcvYThUMUIxRmZQZ0ozS1BxSHZX?=
 =?utf-8?B?YUpISU9Ic3VmZ3VQNHUycVN2UlNDOXoxWUpCTThzS3I4SjBCUTRqTVd5R1p0?=
 =?utf-8?B?YllYRS84WjRFK0YvU2tXUFNSMGhjS0Y0UG84OGpGd09ZTm9MZm15TVkveFFq?=
 =?utf-8?B?ZlJlTjBleks1K1JvNzByOStVZ3ArZGFnazFvaWN1Q1VhNGdHQkxrMkNvMkU3?=
 =?utf-8?B?ZTFrK25FcTNSZklLbXlYOFFpWXhzaGNQendwZ3c1UmlLSVgyQXd5aitpR0tK?=
 =?utf-8?B?VTd1VHRJOFh5WjB3eXdtYnJEUEExeHF3U211RlFFOG5MVHVGb0NPUWE4eVJ4?=
 =?utf-8?B?bFQwTGxKZlJQU3NCN3ZtdVc0YXBROGYzM3ZFcGFjVUJ6RCsrZUNxbWlhK0VW?=
 =?utf-8?B?c1VyMUJ0aFlxV2M1Rnl4K2o2SXNoZld1OGNlKzdpTnROL3R1c05IQ0VBUEts?=
 =?utf-8?B?SzcrZzFlVmhGV0w2OWdqZFduUDFtODRhclAxdFVIMW44L3RIMWZlQkcxWXdj?=
 =?utf-8?B?SzZFMUpxakJoY1Yxd3hUdWVwUjBCbGN0L1JUTENndDhTa296R3E2U0RodENL?=
 =?utf-8?B?WEZFWlN0ZUVIMTFSYlpsbXp5S0pheXZvUnREalpvK2tmZXJ1VDRqQ1BQMUNi?=
 =?utf-8?B?bkFLUnRDMXF3eHp2UkxnZEwvWUFDaTFtNnVRbjhjUHFhWENnU1dJRGp0Yk5K?=
 =?utf-8?B?SkRhNlhRbXZUOVN5V3J6cHpqd3hGbW8zbkhydUhrMGcwRkJabm5Cd0lDUHI0?=
 =?utf-8?B?c0lIZXlLQWJVeWFDUGdGU0VZM2NJQWlHT0h0dVp3RERoT3VXaGkwem5PSVBi?=
 =?utf-8?B?QlVmdi9HcXJKdWpxMTdOcUZoRjhOSzBUb2o5eWRkOTZYQmlBNy8xNXBDKy9C?=
 =?utf-8?B?VEMrSWJJUWhNZUdqRHZtdi8xdHArN1I4dkNlMi9vSWpKSENQdzcxQUdyMGE3?=
 =?utf-8?B?SjZYN01ORHpCd3JtKzRNM2F3blRiaFdVdHVoaHc5ejIwZjBKY3BpV2tZR0dm?=
 =?utf-8?B?T0p2eU9mWUlxRGxXVFEyNm1jc0hqbTF5dGtPZEc5dkt2YkRnb2ttaVB0VTUv?=
 =?utf-8?B?SjRPd0NUT2ZsYWl1YlQvT1VDRlUyd3lPSHUwZ3FIV1lYV0hJdFBDb1FpcjMy?=
 =?utf-8?B?M0Q5VW9xM1dZdGFzNVh4Nk5IUE5PcG1Ed080M0tkNGxiaVZsa1k4SU80SU1k?=
 =?utf-8?B?dTRQVHZLZzdUTkdyOUdOYWMyK0p0NXE3NnYrWVBFcjlyR0xnN3d4Q011TllL?=
 =?utf-8?B?RTZzaFF0WU1GQnNsRmVPMTdRM1U0QUhpMlF1RTJMZDJwOHhCak4za0k0aVpM?=
 =?utf-8?B?Zmw1dGdMdi9UajY3bXFmOUhQQ2ZKYWpwSTRyeHlRTnd3QkJFQ1FBMnZ1dGZX?=
 =?utf-8?B?bUZwTnFYZ1VxejF3VXozUndyeGpvSlI5S3ZhSmdOZ29RMGQ1ODdFWUVHS2FM?=
 =?utf-8?B?TVA1czlYTFcwSlh0TksrQVJIYUdKYUZPSW5KSXRZU1doTGtOeWdJaFVWT09H?=
 =?utf-8?B?U1B1djlld2hNckM2cDBHVDFjdVdCa0s5Y3poU0t2Tzk4ZGtNdkhMV3pLdnZO?=
 =?utf-8?B?Q2p1b0xuTXlHci9vaXQveDMrQjVjWmJsMk5obnNhOWlDMlhGa1hSalVSTVJL?=
 =?utf-8?B?OU9iR1Mva0Z5TDFjMmNsQU16UmxORDZPRHJTWkI5MURXOHQzZGFXVDhNM3R2?=
 =?utf-8?Q?ko/lsYE1e6uRs6VdkL++c4XmG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 89ad9911-3c77-4c2c-c1f4-08db2a25e00f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 16:03:56.5592
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: d3V1mzVxv/OMiKKHp5mvper1HL0bYv33aqtmiI/VOMg5WGxWV/lRyuVzArsrLgeulppApKeEsrvqDd322crE0A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8404

On 21.03.2023 16:58, Roger Pau Monné wrote:
> On Tue, Mar 21, 2023 at 04:51:43PM +0100, Jan Beulich wrote:
>> On 21.03.2023 15:42, Roger Pau Monné wrote:
>>> On Tue, May 26, 2020 at 08:49:52AM +0200, Jan Beulich wrote:
>>>> Respective Core Gen10 processor lines are affected, too.
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>
>>>> --- a/xen/arch/x86/mm.c
>>>> +++ b/xen/arch/x86/mm.c
>>>> @@ -6045,6 +6045,8 @@ const struct platform_bad_page *__init g
>>>>      case 0x000506e0: /* errata SKL167 / SKW159 */
>>>>      case 0x000806e0: /* erratum KBL??? */
>>>>      case 0x000906e0: /* errata KBL??? / KBW114 / CFW103 */
>>>> +    case 0x000a0650: /* erratum Core Gen10 U/H/S 101 */
>>>> +    case 0x000a0660: /* erratum Core Gen10 U/H/S 101 */
>>>
>>> I think this is errata CML101, I would add that at the end of the
>>> comment.
>>
>> Indeed in the current version of the document CML prefix exist. The older
>> document I've been looking at has no such letter acronyms in front of the
>> errata numbers. I can certainly update.
>>
>>> Also you seem to be missing the '806ec' model (806e0 case)? (listed as
>>> 'U 4+2 V1')
>>
>> Isn't that pre-existing (see 2nd line of context above)?
> 
> Oh, indeed.  Would you mind also adding a reference to CML101 for
> 0x000806e0 then?

Already done. Provided there'll be a v2 in the first place, considering
Andrew's comments (which I still need to properly consume).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 16:15:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 16:15:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512839.793127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peedi-0008EA-5Z; Tue, 21 Mar 2023 16:15:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512839.793127; Tue, 21 Mar 2023 16:15:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peedi-0008E3-2m; Tue, 21 Mar 2023 16:15:10 +0000
Received: by outflank-mailman (input) for mailman id 512839;
 Tue, 21 Mar 2023 16: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=gNSa=7N=citrix.com=prvs=4373eb648=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1peedg-0008Dx-Rk
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 16:15:09 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 87c76cd7-c803-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 17:15:03 +0100 (CET)
Received: from mail-bn8nam12lp2169.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 12:14:57 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BLAPR03MB5474.namprd03.prod.outlook.com (2603:10b6:208:285::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 16:14:55 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 16:14:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87c76cd7-c803-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679415303;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=p3FiB33m67FA/cjm3th09kkNtNm/lCOAXoE8z32dsQc=;
  b=IIzz40WrdGUfRu039NezBgFhz70S4AvcrrpL9E47Kmekb4oSPjNFrWzv
   /fEL2kGmKbTKn2jZht3Bjcxz5YY2AqZIRiPWdL4LuB2T+jGqRxRC3IrWA
   PfIv/EQj4h26ViwtbxiaexhC0kBgOhgEXQxFXcgiStJF8kNne9oSR/e1a
   I=;
X-IronPort-RemoteIP: 104.47.55.169
X-IronPort-MID: 100538098
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:POPLa6uwr/stO92a/tgGNS4bKOfnVHtfMUV32f8akzHdYApBsoF/q
 tZmKW2GPvmIazOhethzb4iy8EoP6JLWzNU3TgA/qSAzRiJE+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASEziFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwdBswfyqji+KM3JWkb8ZppM57KZDKM9ZK0p1g5Wmx4fcOZ7nmGv+Pz/kImTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osjf60bou9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgrqMx0AXClgT/DjUYSlmHjOvhuHeaUv52d
 UlM6zg/8vQLoRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8hSy2ETgYKykFfyBscOcey9zqoYV2hBSfSN9mSfSxloesR2C2x
 C2Wpi8jgblVldQMy6iw4VHAhXSru4TNSQk2oA7QWwpJ8z9EWWJsXKTwgXCz0BqKBN/xooWp1
 JTcp/Wj0Q==
IronPort-HdrOrdr: A9a23:khSp0q3OD89yqwJNnCZ5OgqjBLUkLtp133Aq2lEZdPU1SKylfq
 WV98jzuiWbtN98YgBDpTn/AtjnfZqsz/9ICOAqVN/PYODIggSVxepZnOjfKlPbakjDHqY078
 1dm+IXMrDN5RYQt7ef3OFZe+xQp+W6zA==
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="100538098"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UkxbT3EuhOoNFKcPDrKAZtKT6hFDkS/PFSN0akvZJhOLpWUDxd6/vAzgj9fSF5tahcCfSUczNxnYR8T2DGQoCM4cEQ+mmrTrLtB8PT3IlKIgSMo8kSzIhiu45GIexH87rAELBj/RnNs+Y9fepYx5YZxTP+69THpKUkMTujRDkyQZltO4Cv3kjjIIbioalZGG02dwqQKexEg/i7DVRw361q/CNoX1xPM5R4VR/s10z3I+yAdQmhl4PAhMGWRR4cMRUb1k+64H6RGxNneB+JyZhV4a2kdO9N9xAyoV1y3OycUBTatX5MMeV2QAWkz1Boo8EQr1UDc0CKDkAYIvRqexow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Qgl1SNCikB0E3GRs8+5G0W5EN0ZRe6MsxwBXFxE8y4I=;
 b=Rg2Ta6OT9sN6zfS3ICCI7BznZZg1i+Vm3c+DLVy9hTZajjGOEmLrqSdqFhoQQAR3scl/UFnYdyiSqBaAUtBc12HmP3aNuXE/W6pyNqCIcE1Rq7SXQbj1ctDpdRdVO8nZAMGJJhgWuRWH9qfwPiz4t3gKgZh97HhrIouqM5S9Oe3jAUo2X5TkbU0xn9fCRusjnXVpO1n46UVAyBrPF03ynsLgjWMaf4/OhVlm4kIfr1mpg4I6X8Y5AFlCYJfRPlP6BfFr4iz/0V46eZGutKS7fq2w+s7mpVDEXJwtPrfFDi3R+helGbxTMxqotnEXWk6sKWIPeZI6SUkb6aVy3M+JFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Qgl1SNCikB0E3GRs8+5G0W5EN0ZRe6MsxwBXFxE8y4I=;
 b=uriCVSh5W6dckoBfAa32JguRglq3Is/uuOJrFj5g5L6XpFySzMVx+NLQcTsav1IDubuE9sBYEarS4BrPqYmSJ7itUP1kZvppcXbHyZ/qtjcgo2dskWBx+jx31HIhy2xJzOSQEx80vxUeyQvC4OlCbnHzo1OSY0hYdsJT9lo7hWE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <87803c26-2f0f-8153-4678-273e320ab19f@citrix.com>
Date: Tue, 21 Mar 2023 16:14:48 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86: extend coverage of HLE "bad page" workaround
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>
References: <b238f66d-37a9-3080-4f2b-90225ea17102@suse.com>
 <424d1b72-5eb6-f2bc-20fe-e59bacda8dd9@citrix.com>
 <c27d838e-0331-3cab-25bf-dd16b4645152@suse.com>
 <2c0ff1f3-ee0c-6d14-a51c-d82b65338005@citrix.com>
 <0df22405-bda8-8f4d-63b4-e9c4d57843b1@suse.com>
 <ZBRRbnBjWHXAM1ug@Air-de-Roger>
 <02cc1db2-90e6-a60e-4922-d88b4ca98b45@suse.com>
 <70e49a82-f027-6315-e11d-b2e16bdfdcab@citrix.com>
 <ZBnUc5mBYg7QhSBn@Air-de-Roger>
In-Reply-To: <ZBnUc5mBYg7QhSBn@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P302CA0041.GBRP302.PROD.OUTLOOK.COM
 (2603:10a6:600:317::19) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BLAPR03MB5474:EE_
X-MS-Office365-Filtering-Correlation-Id: be6862c1-e7eb-4f25-8173-08db2a27682b
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Lof6zXNJS5gxSOHmv/YZRDrAwYV3thfS/JepHUTdXIj0acigj8Cmm/0j1pluMslav4m1ijqEKKGafUg3yrF7E1Ch8wXz/C1SVZcMOyF0040EpchaBggB9vmaX7DTPULmkfzNoyebyporsTsdjcWR9LdCYHd11GgQIouCpCNBvu3BCdXUgfGtgJ9N22iG75u2EVpO2yp6YQwxijr9C266XQD+lHuN9VJTuMnT6hUk8ERiOIXouYWIZiZyBkC9SQc0mfTvKWWP2q3h+8pbBEMm/81VjmmmETGtYq2zVe55nrCIPxLAyQwxJmfpPjhtM5n2Rg1y5uW9Pc3gK4mVErQV9oRkZ87Jl/L+55qRCB7a08H6TptbKmpLRFGSPlW4vuHLGWupA7PcReG1+vOaSn3PYlff6qQnC9dnI5sOGjK+OnmxtRyY7hJBumYdPljbL59xPNqH50RNut5XKHAQti94ezm3n2g3IllEDz0yt+Vliz5lyZw+SxKQekaxtn7gDSD7/rUs/EXK386BVJSkBE9qkkXrUcGu7Ia3MuvpckzZZwqJmgIJ9WdzDMKQXUftC1U9zBw3/Yu3P22h05ZKW2s6Wa6OcNFOeuIE45hwftrIhrl5kGkJh7v7+a99T07tGyg08k7UQN3FBI/SrPCF0oc6YUmUNFkJizIXdLiEAHsDHSL1BlA83lop3dBd/UBprd5pz0p6i/CUlK8BIzASMHpYuzItaO8XrNGD/ixlX3m7TvY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(366004)(136003)(346002)(396003)(376002)(451199018)(2616005)(6666004)(6506007)(186003)(966005)(6486002)(83380400001)(478600001)(316002)(6512007)(8676002)(66556008)(66946007)(66476007)(37006003)(31686004)(26005)(54906003)(66899018)(53546011)(6636002)(4326008)(8936002)(41300700001)(6862004)(5660300002)(82960400001)(38100700002)(2906002)(36756003)(31696002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WEZ3REdiSjhPNGpmb0hqMktoU1dtNmhaTzNEK090d0xRai8yd1FGQ3dReXFx?=
 =?utf-8?B?WHZ2Zm4xd1g1K05teUU3RDhsK3ZnRkRrZDdIUUMwekd3RlE2Z2ZHTmJZK2pG?=
 =?utf-8?B?T0txNzZVNjdiV2luYml5WmkvNFQ3elBaSVY1dmNLUjNPM1daaWFkVEVncGVZ?=
 =?utf-8?B?RHZEZnJEOFAxZVJwOUExb2tPNFFCR2E0L0U2ZFM4d1hPRTlYdk1NM1RNK1VT?=
 =?utf-8?B?elNGcmdVWXZkeFo5UUdKVW5veGsvNjFSeGVVNGFCdlQ2K0s2bnZHcS84UTUy?=
 =?utf-8?B?UW9HNkgrS2xCdFQzMzVKWUpNWHF2Mmh0WVd0b05lTGtNYitHdlVGbStSYmJY?=
 =?utf-8?B?N0ovQk5lSHFuSERXTkprSXVGV0NuaFY1dUNieURuRzl3dDl2TTBiZ3kxWTho?=
 =?utf-8?B?MitWa3IxZnZ2MXpqVE0xczRpRC9PK1pHRnlnTS9TQldEcUxLOWR1MHJSb09l?=
 =?utf-8?B?b2xnZXdMeXlkTjVZYU56UktlSG5qZWQ2QXRrbzZZZy9MT2ErWXB6Z1YyMEtD?=
 =?utf-8?B?RUp2elp6Nk03SnpQWGNqaHlNSGRNR2wzakdOQkRBaUpodXdOWVRtaXJQekhp?=
 =?utf-8?B?SEN4bURFWEhvalZKejhnem1aQWZyeHdIUUI3MDdjVzNzYUpXNDJuREt3SHZK?=
 =?utf-8?B?TWVqT1dmY3RQREdUd0pzSlZBSzI0NjFBNTBWa0V1UnFZNFNkbCt4R1pOT2VP?=
 =?utf-8?B?NWJaTkg0VWtMOWdyazJ3WjdtZjR5RlBWRGFVejlyeklvaTgzRWx5Q0wwMkU4?=
 =?utf-8?B?ZnpHeE9MeG9LK1Vja1BZNHhJRm1TUlVBN3d2Q1dTaWc5OEhLb0tYYk1hUS9Q?=
 =?utf-8?B?WmhKRkxLQk55bkhyaUMzbWIzMU82eFZpdjVPWVNzSVBySVptaXdkMWdhci91?=
 =?utf-8?B?eDQvbHgzYWVIZ0pIY0d4UStoMkppTGlQcVAwR01zb2FhVU1KekpTYW9ZWlJm?=
 =?utf-8?B?Uk5wekFXVlpBNXBMclRzM2Q5b210WnV1aU5Dbjg0U3JxY2FKUTVtbDJjcVEz?=
 =?utf-8?B?S3BFUDBvQnZJRDh2STlBY3BvM0MzRkZzQmdaUlFwekdBUXlMc2U2cDI5ZWp3?=
 =?utf-8?B?cTkreFVFSmxwdDBRa3FSa2RPSU5pMjFveXNIWkRYZG9lZkhQTFVieGJmYW9T?=
 =?utf-8?B?RTc3dFdtdUFLMTFnWXhkUytOb3pKOXZ6LzBSQVNsU3lCaU00K3dYeG56QnNX?=
 =?utf-8?B?OUpDeTFwdWE3MnoycTFxSUovb2xBM0ltQjFGVzdiM2I4WU1qVUE2cjE2cjBH?=
 =?utf-8?B?b3FQOElYQ0VsQ0dkcGpqM0UvUXJSZkxDRG1TUGRrdU9aVmJBcExtZkVkMUwz?=
 =?utf-8?B?eHNDT0ttbW1sNXhlL2ozdWRJQlViUm9rcnV0NXdJcmozZVVzWmpKalF6elFF?=
 =?utf-8?B?bUt2MWlKQmcvZFhLSGlsajlvdWs4RlJjcGhNL0p2NUF2ZEJzbWxlRjROR3V5?=
 =?utf-8?B?VkdadVhDWkMrekc4eEZab2p6NU4xZU5CN0s0azNQOU9aUVpGVEZZckl1a0x0?=
 =?utf-8?B?MXFyTUM2VEFBNEZ3bUdyL2dJSGpVVURidU5weGJkQnB3WDNnUTloNHpENVpy?=
 =?utf-8?B?VlBzL0pBWGEzRXhTVUVReXNmc2dNaVNtc01MRTZIdGtOQ2dSbDFkdmREWVBS?=
 =?utf-8?B?NXk3N09YTkszRHNjUlFUK3Fxc0JXeVpIeXhzVjVncGVNbXQyZWlWQjNHZ1Z3?=
 =?utf-8?B?VnZkUmRKSDNZOTRES3pUcVdFSW1RdlJ4eXBGMWE2VlJFSWdydmpFV0lBTGxC?=
 =?utf-8?B?a2dSS0piYXBrUG1NZkxvQk5VSmdLdmhQUmRQdjFiUXFoSGQ4UGdVeXlpcUx3?=
 =?utf-8?B?SitocXhvY25FVDIxNzVFUkdHdEdQbHZWRGJ3WWhoNTY1YlRyTVR0UjI2VHdL?=
 =?utf-8?B?MXRSZTlDcld1MUltd1Q3ODVNdTlWbjlZRDRQZmxvdC9mWWIrNjNUOWZGUjdT?=
 =?utf-8?B?Y1NNVWhGK1N0UysrTnVjT1NzWGVmUkt3TU11MWxkMGN5RzRpeTVSdjdxZm85?=
 =?utf-8?B?aDFaK3JUUTVUeEFMcTFDYWlHSks5Y2E3WEVSdEFVanZZUkpqTVdkNi9hSjQy?=
 =?utf-8?B?ZmJ2YkpSSFROeG5UZFExcXhuNGVnTC9jSmFUVzJXS1lOWG9MMVNRYTRiZnJr?=
 =?utf-8?B?SCtDQkgwMHlqcXpDN09wSjhMTWJCVU5FQ1ptNzFBd0pGM2VhWlVZMkFCRGY4?=
 =?utf-8?B?aGc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Jp8YxxYIHG7cwN/8qu6M2qYwugJ/9xBuCyFI0sxxCxrwn1yPtQHMMeufcX2GToYXWxdv75t5sNhmRvbVxUelRHQxWZSSlH/IGolt62KCsUy5NFKEDq4dwrWXtQUbMw/6aw3Rp9cNrM5L9NjecGO7foEWLZVBL45gDwFLTwBFX2byvjmnd8cSgFmbKn6RXvRW93BvsYzALJXzkX0RptgxtNLr671htYtkgyP03JcfZFk4UpNb1300s1cFAoH92E0rDV9q5H4uhcHQCY1L2T5Yx6JpdqsGZM74Q+NpRbRJu9UI4KhruOthYciFOHjMNq3D9eHS5N+/byEGqovBWaZBhW9zl9a80lh8CVuHeqL5O6+jDmscI8pUbK8mXKNNwa9m5dquF+KwNQ3tWDiOC10esOzm+vH9oNgBqCM8znnnVk9uS0PDUktNZuTMEgNSLkWDIFcPd78+v9T+bdiknkGyxzVATrN1aXdvVKwgXk0x2ib9vte/taZJWMJmOv/F4ooAfn2mve0AEDxN3VFU3TbJCyqrCUYYPy7sa6IX5McYw2d/mFwY13c+dEJRQe2rQM9EGJgnqtK2CtmIikGoGJUlbOCVhdw6063cmWlHnlA5HVok0xL3AbsDmFtsARc+IQGBoFPXbu4LS81gH9imnIWgHM4xvnwc9irSNSY4LIKnhJ4s+SJvmhZxik7a9wFXXR/K0qL+SFafh5xd5STS8SgY0n2L901hMka9TyY4Pdy96DjUZvSxK8+YTFWvhiG/ngh2ZFCizr44HcTWDpEQYpjlBQbqkEvdUYgOfxh2ps4xZyoSnJ1mB7INwn/ysZraCpyR
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: be6862c1-e7eb-4f25-8173-08db2a27682b
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 16:14:54.6267
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 32hLMa2CR4quzDh5eCiUvsoWi6HarLK4TMUTbn3XBZyQKf/ERkv9JHH3GImahKwx9Zd+ZfyYgNMBCS3A+VNbgQaOCi4Ljeaw6bZY2Bl4eBI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5474

On 21/03/2023 3:59 pm, Roger Pau Monné wrote:
> On Tue, Mar 21, 2023 at 02:51:30PM +0000, Andrew Cooper wrote:
>> On 20/03/2023 9:24 am, Jan Beulich wrote:
>>> On 17.03.2023 12:39, Roger Pau Monné wrote:
>>>> On Tue, May 26, 2020 at 06:40:16PM +0200, Jan Beulich wrote:
>>>>> On 26.05.2020 17:01, Andrew Cooper wrote:
>>>>>> On 26/05/2020 14:35, Jan Beulich wrote:
>>>>>>> On 26.05.2020 13:17, Andrew Cooper wrote:
>>>>>>>> On 26/05/2020 07:49, Jan Beulich wrote:
>>>>>>>>> Respective Core Gen10 processor lines are affected, too.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>>>>>>
>>>>>>>>> --- a/xen/arch/x86/mm.c
>>>>>>>>> +++ b/xen/arch/x86/mm.c
>>>>>>>>> @@ -6045,6 +6045,8 @@ const struct platform_bad_page *__init g
>>>>>>>>>      case 0x000506e0: /* errata SKL167 / SKW159 */
>>>>>>>>>      case 0x000806e0: /* erratum KBL??? */
>>>>>>>>>      case 0x000906e0: /* errata KBL??? / KBW114 / CFW103 */
>>>>>>>>> +    case 0x000a0650: /* erratum Core Gen10 U/H/S 101 */
>>>>>>>>> +    case 0x000a0660: /* erratum Core Gen10 U/H/S 101 */
>>>>>>>> This is marred in complexity.
>>>>>>>>
>>>>>>>> The enumeration of MSR_TSX_CTRL (from the TAA fix, but architectural
>>>>>>>> moving forwards on any TSX-enabled CPU) includes a confirmation that HLE
>>>>>>>> no longer exists/works.  This applies to IceLake systems, but possibly
>>>>>>>> not their initial release configuration (hence, via a later microcode
>>>>>>>> update).
>>>>>>>>
>>>>>>>> HLE is also disabled in microcode on all older parts for errata reasons,
>>>>>>>> so in practice it doesn't exist anywhere now.
>>>>>>>>
>>>>>>>> I think it is safe to drop this workaround, and this does seem a more
>>>>>>>> simple option than encoding which microcode turned HLE off (which sadly
>>>>>>>> isn't covered by the spec updates, as even when turned off, HLE is still
>>>>>>>> functioning according to its spec of "may speed things up, may do
>>>>>>>> nothing"), or the interactions with the CPUID hiding capabilities of
>>>>>>>> MSR_TSX_CTRL.
>>>>>>> I'm afraid I don't fully follow: For one, does what you say imply HLE is
>>>>>>> no longer enumerated in CPUID?
>>>>>> No - sadly not.  For reasons of "not repeating the Haswell/Broadwell
>>>>>> microcode fiasco", the HLE bit will continue to exist and be set. 
>>>>>> (Although on CascadeLake and later, you can turn it off with MSR_TSX_CTRL.)
>>>>>>
>>>>>> It was always a weird CPUID bit.  You were supposed to put
>>>>>> XACQUIRE/XRELEASE prefixes on your legacy locking, and it would be a nop
>>>>>> on old hardware and go faster on newer hardware.
>>>>>>
>>>>>> There is nothing runtime code needs to look at the HLE bit for, except
>>>>>> perhaps for UI reporting purposes.
>>>>> Do you know of some public Intel doc I could reference for all of this,
>>>>> which I would kind of need in the description of a patch ...
>>>>>
>>>>>>> But then this
>>>>>>> erratum does not have the usual text effectively meaning that an ucode
>>>>>>> update is or will be available to address the issue; instead it says
>>>>>>> that BIOS or VMM can reserve the respective address range.
>>>>>> This is not surprising at all.  Turning off HLE was an unrelated
>>>>>> activity, and I bet the link went unnoticed.
>>>>>>
>>>>>>> This - assuming the alternative you describe is indeed viable - then is surely
>>>>>>> a much more intrusive workaround than needed. Which I wouldn't assume
>>>>>>> they would suggest in such a case.
>>>>>> My suggestion was to drop the workaround, not to complicated it with a
>>>>>> microcode revision matrix.
>>>>> ... doing this? I don't think I've seen any of this in writing so far,
>>>>> except by you. (I don't understand how this reply of yours relates to
>>>>> what I was saying about the spec update. I understand what you are
>>>>> suggesting. I merely tried to express that I'd have expected Intel to
>>>>> point out the much easier workaround, rather than just a pretty involved
>>>>> one.) Otherwise, may I suggest you make such a patch, to make sure it
>>>>> has an adequate description?
>>>> Seeing as there seems to be some data missing to justify the commit -
>>>> was has Linux done with those erratas?
>>> While they deal with the SNB erratum in a similar way, I'm afraid I'm
>>> unaware of Linux having or having had a workaround for the errata here.
>>> Which, granted, is a little surprising when we did actually even issue
>>> an XSA for this.
>>>
>>> In fact I find Andrew's request even more surprising with that fact (us
>>> having issued XSA-282 for it) in mind, which originally I don't think I
>>> had paid attention to (nor recalled).
>> No - I'm aware of it.  It probably was the right move at the time.
>>
>> But, Intel have subsequently killed HLE in microcode updates update in
>> all CPUs it ever existed in (to fix a memory ordering erratum), and
>> removed it from the architecture moving forwards (the enumeration of
>> TSX_CTRL means HLE architecturally doesn't exist even if it is enumerated).
> Should we then check for TSX_CTRL in order to check whether to engage
> the workaround?

By the looks of the current model list, TSX_CTRL doesn't exist on any of
those CPUs.

https://xenbits.xen.org/docs/unstable/misc/xen-command-line.html#tsx

It was the March 2019 ucode which turned off HLE everywhere, which was
only shortly after we released XSA-282.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 16:15:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 16:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512840.793137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peee6-00007V-Dl; Tue, 21 Mar 2023 16:15:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512840.793137; Tue, 21 Mar 2023 16: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 1peee6-00007N-AW; Tue, 21 Mar 2023 16:15:34 +0000
Received: by outflank-mailman (input) for mailman id 512840;
 Tue, 21 Mar 2023 16: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=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1peee4-0008Dx-7G
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 16:15:32 +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 985af3d3-c803-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 17:15:29 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by MW6PR12MB8661.namprd12.prod.outlook.com (2603:10b6:303:23f::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 16:15:25 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242%4]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 16:15: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: 985af3d3-c803-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k0/ITNYdkhTwfke+3LqWRsJtjkWyVy5EW9qt0wgu6/YSzRTxEA55AIu03xS5hR2YnunATN6Onv2qX1zXiIE350JDAyBsLgau5UqR0WZMqbHsPVxJmK5CwbdCmcEXqpLFFqA78NTtPbI8eUfWNJOp28RlJ6FTv7lxAFRQfDjmX+O+QCRvmvvu/PvfoPArQyKEMa09bCBhC3LrBi9S8gGZ+wQO0zwnQ+kAxy7cembP3nrgG7uqXKatESuJCPH1u6m2gDQtpKqxfft/NQrWFuPSCIjyh5mA/qoceS1B88SWcLG0rHrX6e2UfBeoEc7x/qiWQKCryp/Om2Pu6hv8Iv0trQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dHtSISLH68EpiASz9hiF8dzGhW5nKhvNYPavTHkzq9Y=;
 b=kPHxI1zNY+g1wJb+tQucAMnEc1adv1s2lzhI8fr2sCsQ4A51mpURCu1A/IDqGlKQ96sZXo3SA/REsRSYkcNDctL5De/CTlgVwX3vCEU6lfmt6mtxb0QZ9ajDuIvgugv/s3Jfg1RxMKO7mYXaKquCzKDylL4MzKg1tXXkzWxOranMBexCKYTs3gROfLDGAfwG3G1FafpiJMv+fVyVuk3vaGXFRgpPqUo+T5E93pbrqX4FTlttY3ibgTuDGhG+Qtj7Lww89uwn2rt74G/o6UjLIW+cc+ZokJOmRHTSMY9uBmSXKaovt6XR8VwjonkbQNgBm7Tc2lzGX/ZmIzl096Z7+A==
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=dHtSISLH68EpiASz9hiF8dzGhW5nKhvNYPavTHkzq9Y=;
 b=05CR6GgsCWZeIR851uo+c4XZ7L/eRbeXuU5aq/my6gX2+0Hwo7VLo2Uck4AMesgH4AmcEUnp+4kD5tXSCHFDu2Xq4B9utMqE0WB8Tppaczlj2vNKUC84+TXhsKPpVa0be4rqloly91yj00oYAKO2HFbu5poKbyxRssOtEHiHZ+U=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <e268e11b-8e93-c506-668b-c5c004b3aa06@amd.com>
Date: Tue, 21 Mar 2023 16:15:18 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [XEN v4 07/11] xen/arm: Introduce choice to enable 64/32 bit
 physical addressing
To: Jan Beulich <jbeulich@suse.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com, julien@xen.org,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 rahul.singh@arm.com, xen-devel@lists.xenproject.org
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-8-ayan.kumar.halder@amd.com>
 <7d90ad7a-5daf-915c-2055-a27ca50d8581@suse.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <7d90ad7a-5daf-915c-2055-a27ca50d8581@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0616.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:314::16) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|MW6PR12MB8661:EE_
X-MS-Office365-Filtering-Correlation-Id: 068f88f8-0fcd-4a54-ff8e-08db2a277acf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MQ3PNFepoW3IzKLYDBhYSka0Vtm5IRNp3PfbJB/TEXBDlI0380jjkwgbm4yghJNd8NCvZvv109NkfnIsGAfefp9vHOj9nws/VEf+37y4daiLsc/BYwx+a4PUaa92O9+kwnQYSrk7WA1dufhfWiqDipaYMsBWRZ/YhEoIFYMT4BBR38DfIGN9TOdhpQQUPrDBSHv+MTkpvmnXkXVori+lcTPsQ750AURHRdz1rllUs5Em+Rwu3BpKc508wyGSRb5mWaDqalnwMMBZnMZA+LdcwZbN4TU+al/ShHWyx+Uzfryuu8gH+NkN7YRbOy6LFKF1TCyCiTszajHmAoHKuE4IqPKqr9mptyaYC7hX09daeDhl3Cc2o8k7YpYCkDjqsdMhGcZGGnTSaolL+NNtlDZC3wgz6dbDG+CSSTgt1Jd2g/zXPFhQ3HWttBJXJQZ58yBdb2S68Wx3IIWudYLFXgbIoVRUaaAk/4WzifVrEaVRZNRkGZ9p51k2RqY22ugb4sVbMk2xvMAJgYOVkM3Q57RnG4Zq3K+cYQ9YEvECjl4YU01OLjfK7CynCNumQcm+sTcqPHN9v1Wu5o5jVCS2tRmXu9NdugziThrUY/c0cW2JjZHym7mOF5tseU/xm0jq2daXSUcBpjK+MOzo15Iv3L7SYObeiDkL45t2dfpXu82uf3gW1bGHlFxkc9CBfp26r6IAqwLfTS8/65Fepn1mG2584OvVlsx23K3DsSAtTAO6k08=
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:(13230025)(4636009)(366004)(396003)(39860400002)(376002)(346002)(136003)(451199018)(31686004)(83380400001)(6636002)(2616005)(316002)(110136005)(6512007)(6486002)(53546011)(26005)(5660300002)(186003)(6506007)(6666004)(478600001)(7416002)(66946007)(31696002)(4326008)(38100700002)(2906002)(66556008)(8936002)(66476007)(8676002)(36756003)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDA1S0hVS0VERm02S0taS3pjenNZenBhaE5OWkVtTy8vR0lzZTlMU3FNclhT?=
 =?utf-8?B?RlRrellHYmkxcjVRZVp2QjY2K3V6YUpBWityeGJaWFZZTkhDSUU0N3NHU0NW?=
 =?utf-8?B?cngvM21IZGM5U2VmakozTjdXL09WLzN2S1dRaE1mck9TUHhya09SY3BpVFV2?=
 =?utf-8?B?VE1UUlFpbTRrZDV2WHdTNnZZU1RvWE1FZ1RSeTFMSHpTSEkyaVhRc2Y1MmFw?=
 =?utf-8?B?QmUwYmF3YVhKVzhEN1Y2dzlvODNlYzd6cW5pMVJNUHZIWVhmUnJEZU9TWG1K?=
 =?utf-8?B?NUZRRHgwSjBUR2dmL3k0OE1PRFBLWEFHaVpsOHdSWUxTNGJnRUxpQ2dLcjUy?=
 =?utf-8?B?WGUrL04wMUN4eXg1b0pXK2xtdGJ6TWFrY3dHRyszU1VBMlJ0ZzZ0N0Z2TkxN?=
 =?utf-8?B?eG9aRHVLRXBOTVh5bllvUHd4ZzRKYlFDUVVZMm5TZWpIRVFsZUhjeC85RG5P?=
 =?utf-8?B?WEphYS9FY2owdUgzT2drd0RTMVU2QjZHL0l3NEJOOUkxVE9idGxQeS93eHJH?=
 =?utf-8?B?UHExQVpodXd2U2JCdlZIdzRXL0RsVU1lUmExVDJYMElncjN3bzNHNDZHUXpE?=
 =?utf-8?B?R1J3RlA1SmxyR3ZrYlU0dUJ3dFdlVU5ESG1tU1VIbVB5VnZNT09kdWdxRzVv?=
 =?utf-8?B?amVBaWFWNDBDZU9QeURwVWNrcERSelZ2UHlSQVRadFZPR0pRUkVCb2l1MG8x?=
 =?utf-8?B?WFg2WndmWlU4YzRRbXNwVW5YOTVURC82SG5meVZlMFc5WlBacVhQOVl5VGZr?=
 =?utf-8?B?bVMvdEQvUjUxTmUvWC80Qm52d0F5c0o0TjhDOVNIQ3hqRVBjY29uZUR0S1Zz?=
 =?utf-8?B?NTdNRGlJcFl6M05OL2x6a0kvMlc2L1dSZVRkbHNIcGdGeHpZNm9ZVmc3ZU8v?=
 =?utf-8?B?NXlmR0NlM3lRa00zZGswRWZLYzhheXV3WGNndEJMNnlWWngrNWsyUVZnSE8v?=
 =?utf-8?B?WGR2aEZkV0lLbXliT2JkeHAvQmZwRHYzQ2VWUTZXcnJhYUZaVnhDYmppbTlr?=
 =?utf-8?B?aUFNS1gyN3laRlJTN2t6WlpHWDd5UzFkemdDN3pGcEo0dEd4THBTbnpKcWtR?=
 =?utf-8?B?M3FIUE9rcWZ2TWtLMm12UEZHRXdDcnpnSGsvcUZmVnJhdU51aVUwWjlKcHhi?=
 =?utf-8?B?bzBJL1lpbzFvUjdUcEtIYWJLK0I5Ym54bmw4RE5vUnhneVJHaEw5NHpMaDUv?=
 =?utf-8?B?VGcwSW1waEtBdlQ2ZUNUYS9yckx5a095b2phM1N6dHdKa1l1NmhoeUt4T2Vs?=
 =?utf-8?B?TlJpeTUxMkwwUGdDNWVCTFV5d0M4OC85VCtrc045TEppYlVUM3NEZHdZWlQ2?=
 =?utf-8?B?c2YrOHcrNXNBbHcxanM3V3hEWDJWZHhONzhnWkN1VCs4U2o4b0hVc2FwQ0RW?=
 =?utf-8?B?T3Z0elJOQ2l5T3lDbEJRWERIU09MTmcvaEVlNmZzRGZsTzY4c2lGRVNpbXc5?=
 =?utf-8?B?ZFV2L0Y5eCt6UTY4VUZibno3RHBzek0rMVhHYmJGZUlrOTRKS0ZwRVh3aTlH?=
 =?utf-8?B?ZjRsVTlpUWdEVzRLays0YitjM2x5MVh3QzErU05VRTRhRjJXUFBSdVk4elBl?=
 =?utf-8?B?MlgyZk0xUFFlUUxYOCtTTUZWbnZqRTRyZHJTaXFaNER1MTZNUENvaHZoejZE?=
 =?utf-8?B?VEhNL1BveHVhYlo4bzhBRk43THdoZmlJUnpLRDM3dE9UQzhMSGNnN1EyNU4y?=
 =?utf-8?B?d01RZG1NV3VPYXp1d2EzQXBxNTI2VEFMV1dXN3VxL29tRVVxcUJlMUZVK3FB?=
 =?utf-8?B?MjN4R29lb3NjRW1kUFBtNW9HRFlLR3l1OHVNZlZacjd1S005NXhxVUdqNzls?=
 =?utf-8?B?ZFo2VjZGMVVxT3krZTFXcVh2RTV2WEkwSkF4M3NMT0JwSlNoY3FOZVZhRGRl?=
 =?utf-8?B?aXpWaWxQc0N5ZUJLY0x4TS9FbUh4b2EzMjZWaTduMUtxb1NubjhXNmlQUDU2?=
 =?utf-8?B?TDhMNWcwM3JpenpoWU05L3ErWXVrZjBycWs4TzJMUmx0OGl6UHZDeG4zOUxM?=
 =?utf-8?B?ZDZoZVJGNW1DRlZHSGNKdnV4UmtUTm5MdDdkWXhURjVKWmJPaUk0dEN5SkZa?=
 =?utf-8?B?Q3BIMTNIRS94Smd1b0NTRUtvTmVyOXZ1SmU3a0NoL29sb09tN29CTVBYYmIv?=
 =?utf-8?Q?5/dcM46Kf9BZSBcYYbL5dhbJV?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 068f88f8-0fcd-4a54-ff8e-08db2a277acf
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 16:15:25.7943
 (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: BTerexqoXW/hFaMaS1veLhrBNSgyE1u+aYIMuJa72+9wzbPVneuGFPVzkQWaDzFQzQWrlMlbkHNqHFNeRZxnZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8661

Hi Jan,

On 21/03/2023 14:22, Jan Beulich wrote:
> On 21.03.2023 15:03, Ayan Kumar Halder wrote:
>> --- a/xen/arch/Kconfig
>> +++ b/xen/arch/Kconfig
>> @@ -1,6 +1,12 @@
>>   config 64BIT
>>   	bool
>>   
>> +config PHYS_ADDR_T_32
>> +	bool
>> +
>> +config PHYS_ADDR_T_64
>> +	bool
> Do we really need both?
I was thinking the same. I am assuming that in future we may have

PHYS_ADDR_T_16, PHYS_ADDR_T_128. So, I am hoping that defining them explicitly might help.
Also, the user cannot select these configs directly.

However, I am open to defining only one of them if it makes sense.

> If so, what guards against both being selected
> at the same time?
At present, we rely on "select".
>
> Them being put in common code I consider it an at least latent issue
> that you add "select"s ...
>
>> --- a/xen/arch/arm/Kconfig
>> +++ b/xen/arch/arm/Kconfig
>> @@ -9,6 +9,7 @@ config ARM_64
>>   	select 64BIT
>>   	select ARM_EFI
>>   	select HAS_FAST_MULTIPLY
>> +	select PHYS_ADDR_T_64
>>   
>>   config ARM
>>   	def_bool y
>> @@ -19,13 +20,48 @@ config ARM
>>   	select HAS_PMAP
>>   	select IOMMU_FORCE_PT_SHARE
>>   
>> +menu "Architecture Features"
>> +
>> +choice
>> +	prompt "Physical address space size" if ARM_32
>> +	default ARM_PA_BITS_48 if ARM_64
>> +	default ARM_PA_BITS_40 if ARM_32
>> +	help
>> +	  User can choose to represent the width of physical address. This can
>> +	  sometimes help in optimizing the size of image when user chooses a
>> +	  smaller size to represent physical address.
>> +
>> +config ARM_PA_BITS_32
>> +	bool "32-bit"
>> +	help
>> +	  On platforms where any physical address can be represented within 32 bits
>> +	  , user should choose this option. This will help is reduced size of the
>> +	  binary.
>> +	select PHYS_ADDR_T_32
>> +	depends on ARM_32
>> +
>> +config ARM_PA_BITS_40
>> +	bool "40-bit"
>> +	select PHYS_ADDR_T_64
>> +	depends on ARM_32
>> +
>> +config ARM_PA_BITS_48
>> +	bool "40-bit"
>> +	select PHYS_ADDR_T_64
>> +	depends on ARM_48
>> +endchoice
> ... only for Arm. You get away with this only because ...
>
>> --- a/xen/arch/arm/include/asm/types.h
>> +++ b/xen/arch/arm/include/asm/types.h
>> @@ -34,9 +34,15 @@ typedef signed long long s64;
>>   typedef unsigned long long u64;
>>   typedef u32 vaddr_t;
>>   #define PRIvaddr PRIx32in
>> +#if defined(CONFIG_PHYS_ADDR_T_32)
>> +typedef unsigned long paddr_t;
>> +#define INVALID_PADDR (~0UL)
>> +#define PRIpaddr "08lx"
>> +#else
>>   typedef u64 paddr_t;
>>   #define INVALID_PADDR (~0ULL)
>>   #define PRIpaddr "016llx"
>> +#endif
>>   typedef u32 register_t;
>>   #define PRIregister "08x"
>>   #elif defined (CONFIG_ARM_64)
> ... you tweak things here, when we're in the process of moving stuff
> out of asm/types.h.

Are you suggesting not to add anything to asm/types.h ? IOW, the above 
snippet should

be added to xen/include/xen/types.h.

> (Using "unsigned long" for a 32-bit paddr_t is of
> course suspicious as well - this ought to be uint32_t.)

The problem with using uint32_t for paddr_t is that there are instances 
where the paddr_t is modified with PAGE_MASK or PAGE_ALIGN.

For eg , handle_passthrough_prop()

             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);

And in xen/include/xen/page-size.h,

#define PAGE_SIZE           (_AC(1,L) << PAGE_SHIFT)
#define PAGE_MASK           (~(PAGE_SIZE-1))

Thus, the resulting types are unsigned long. This cannot be printed 
using %u for PRIpaddr.

I remember some discussion (or comment) that the physical addresses 
should be represented using 'unsigned long'.

- Ayan


>
> Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 16:25:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 16:25:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512849.793149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peenn-00028E-FG; Tue, 21 Mar 2023 16:25:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512849.793149; Tue, 21 Mar 2023 16:25: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 1peenn-000287-Cd; Tue, 21 Mar 2023 16:25:35 +0000
Received: by outflank-mailman (input) for mailman id 512849;
 Tue, 21 Mar 2023 16:25: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 1peenm-000281-GH
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 16:25: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 1peenm-0001SY-4D; Tue, 21 Mar 2023 16:25:34 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[192.168.4.43])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1peenl-000635-Uk; Tue, 21 Mar 2023 16:25: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=ROw/gtgEDVcuG20bWaUK2AIC70BtOrz5OPS+Z5KExHo=; b=2+Wyq7054z30OEqPxpVH4rB5Pd
	GwxmttIRfZayeVZ17xBsjtzaVdShEKNe8YeWokp9yKGrkQNBvYuFow69nopnaAW7yfCr9IV5ngCTB
	C7v4nhpSuaTcZTPDbx0+EBg8rJhVOpFLUuYSLyAeZTQQezkeyih0iPjJPX/f1FgxCTfY=;
Message-ID: <07088184-3aa4-0e1f-2794-60219c358283@xen.org>
Date: Tue, 21 Mar 2023 16:25:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v1 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1677250203.git.oleksii.kurochko@gmail.com>
 <a145fbbfb166d9f6bd4859b669d23a1f52004b2b.1677250203.git.oleksii.kurochko@gmail.com>
 <fca300ad-0fd1-70ed-4cd4-82e89f5c3351@xen.org>
 <a0f3f1ca4277c1f8aeeaf6531d90c5b04c244af9.camel@gmail.com>
 <98d45f93-b611-1016-45b5-3d7487af261f@xen.org>
 <e0722b2323c78478f8fd07b515bb607ef168ef1e.camel@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e0722b2323c78478f8fd07b515bb607ef168ef1e.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 05/03/2023 16:25, Oleksii wrote:
> Hi Julien,

Hi,

Sorry for the late answer. I was away for the past couple of weeks.

> On Mon, 2023-02-27 at 17:36 +0000, Julien Grall wrote:
>> Hi Oleksii,
>>
>> On 27/02/2023 16:52, Oleksii wrote:
>>> On Sat, 2023-02-25 at 17:53 +0000, Julien Grall wrote:
>>>>> +/*
>>>>> + * WARNING: load_addr() and linker_addr() are to be called
>>>>> only
>>>>> when the MMU is
>>>>> + * disabled and only when executed by the primary CPU.  They
>>>>> cannot refer to
>>>>> + * any global variable or functions.
>>>>
>>>> I find interesting you are saying when
>>>> _setup_initial_pagetables() is
>>>> called from setup_initial_pagetables(). Would you be able to
>>>> explain
>>>> how
>>>> this is different?
>>> I am not sure that I understand your question correctly but
>>> _setup_initial_pagetables() was introduced to map some addresses
>>> with
>>> write/read flag. Probably I have to rename it to something that is
>>> more
>>> clear.
>>
>> So the comment suggests that you code cannot refer to global
>> functions/variables when the MMU is off. So I have multiple
>> questions:
>>     * Why only global? IOW, why static would be OK?
>>     * setup_initial_pagetables() has a call to
>> _setup_initial_pagetables() (IOW referring to another function). Why
>> is
>> it fine?
>>     * You have code in the next patch referring to global variables
>> (mainly _start and _end). How is this different?
>>
>>>>
>>>>> + */
>>>>> +
>>>>> +/*
>>>>> + * Convert an addressed layed out at link time to the address
>>>>> where it was loaded
>>>>
>>>> Typo: s/addressed/address/ ?
>>> Yes, it should be address. and 'layed out' should be changed to
>>> 'laid
>>> out'...
>>>>
>>>>> + * by the bootloader.
>>>>> + */
>>>>
>>>> Looking at the implementation, you seem to consider that any
>>>> address
>>>> not
>>>> in the range [linker_addr_start, linker_addr_end[ will have a 1:1
>>>> mappings.
>>>>
>>>> I am not sure this is what you want. So I would consider to throw
>>>> an
>>>> error if such address is passed.
>>> I thought that at this stage and if no relocation was done it is
>>> 1:1
>>> except the case when load_addr_start != linker_addr_start.
>>
>> The problem is what you try to map one to one may clash with the
>> linked
>> region for Xen. So it is not always possible to map the region 1:1.
>>
>> Therefore, I don't see any use for the else part here.
> Got it. Thanks.
> 
> I am curious than what is the correct approach in general to handle
> this situation?
There are multiple approach to handle it and I don't know which one 
would be best :). Relocation is one...

> I mean that throw an error it is one option but if I would like to do
> that w/o throwing an error. Should it done some relocation in that
> case?
... solution. For Arm, I decided to avoid relocation it requires more 
work in assembly.

Let me describe what we did and you can decide what you want to do in 
RISC-V.

For Arm64, as we have plenty of virtual address space, I decided to 
reshuffle the layout so Xen is running a very high address (so it is 
unlikely to clash).

For Arm32, we have a smaller address space (4GB) so instead we are going 
through a temporary area to enable the MMU when the load and runtime 
region clash. The sequence is:

   1) Map Xen to a temporary area
   2) Enable the MMU and jump to the temporary area
   3) Map Xen to the runtime area
   4) Jump to the runtime area
   5) Remove the temporary area

[...]

>>>> Hmmm... I would actually expect the address to be properly
>>>> aligned
>>>> and
>>>> therefore not require an alignment here.
>>>>
>>>> Otherwise, this raise the question of what happen if you have
>>>> region
>>>> using the same page?
>>> That map_start &=  ZEROETH_MAP_MASK is needed to page number of
>>> address
>>> w/o page offset.
>>
>> My point is why would the page offset be non-zero?
> I checked a linker script and addresses that passed to
> setup_initial_mapping() and they are really always aligned so there is
> no any sense in additional alignment.

Ok. I would suggest to add some ASSERT()/BUG_ON() in order to confirm 
this is always the case.

[...]

>>>>
>>>>> +
>>>>> +    /*
>>>>> +     * Create a mapping of the load time address range to...
>>>>> the
>>>>> load time address range.
>>>>
>>>> Same about the line length here.
>>>>
>>>>> +     * This mapping is used at boot time only.
>>>>> +     */
>>>>> +    _setup_initial_pagetables(second, first, zeroeth,
>>>>
>>>> This can only work if Xen is loaded at its linked address. So you
>>>> need a
>>>> separate set of L0, L1 tables for the identity mapping.
>>>>
>>>> That said, this would not be sufficient because:
>>>>      1) Xen may not be loaded at a 2M boundary (you can control
>>>> with
>>>> U-boot, but not with EFI). So this may cross a boundary and
>>>> therefore
>>>> need multiple pages.
>>>>      2) The load region may overlap the link address
>>>>
>>>> While I think it would be good to handle those cases from the
>>>> start,
>>>> I
>>>> would understand why are not easy to solve. So I think the
>>>> minimum is
>>>> to
>>>> throw some errors if you are in a case you can't support.
>>> Do you mean to throw some error in load_addr()/linkder_addr()?
>>
>> In this case, I meant to check if load_addr != linker_addr, then
>> throw
>> an error.
> I am not sure that it is needed now and it is easier to throw an error
> but is option exist to handler situation when load_addr != linker_addr
> except throwing an error? relocate?

I believe I answered this above.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 16:28:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 16:28:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512852.793160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peeq9-0002ga-Ru; Tue, 21 Mar 2023 16:28:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512852.793160; Tue, 21 Mar 2023 16: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 1peeq9-0002gT-Oo; Tue, 21 Mar 2023 16:28:01 +0000
Received: by outflank-mailman (input) for mailman id 512852;
 Tue, 21 Mar 2023 16: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 1peeq8-0002gJ-Lu; Tue, 21 Mar 2023 16: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 1peeq8-0001UI-Fl; Tue, 21 Mar 2023 16: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 1peeq8-0000k3-4b; Tue, 21 Mar 2023 16:28:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1peeq8-0006n4-49; Tue, 21 Mar 2023 16: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wDnKOWh26+r4lY9kDTtdWicn171wh+WhcimHvO2xJf0=; b=x+zv6KuHniTtpzalzL+lszWU/d
	mWJDDjuJJnYFCSQDPAx8ZX8Mjb3jQ9nK73LoYxtAYWggqWncrEeq7/o/o5p6obpFLE6IOem0O5BwK
	ub7iZ0iJjTrI6MWss6W2OBTJc9d9ykMRL2H2pYagC2EEkLYA2SkC6Hi4V8VJsfE/vDYU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179845-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179845: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=245d030f4aa79f766e575684127f86748c63bb32
X-Osstest-Versions-That:
    xen=f71f8e95c34fedb0d9ae21a100bfa9f012543abf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Mar 2023 16:28:00 +0000

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

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  245d030f4aa79f766e575684127f86748c63bb32
baseline version:
 xen                  f71f8e95c34fedb0d9ae21a100bfa9f012543abf

Last test of basis   179838  2023-03-21 11:01:58 Z    0 days
Testing same since   179845  2023-03-21 14:02:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   f71f8e95c3..245d030f4a  245d030f4aa79f766e575684127f86748c63bb32 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 16:31:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 16:31:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512857.793170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peetT-0004Il-BX; Tue, 21 Mar 2023 16:31:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512857.793170; Tue, 21 Mar 2023 16: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 1peetT-0004Ie-8h; Tue, 21 Mar 2023 16:31:27 +0000
Received: by outflank-mailman (input) for mailman id 512857;
 Tue, 21 Mar 2023 16:31:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peetS-0004IX-DF
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 16:31:26 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20605.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d267c80a-c805-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 17:31:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9938.eurprd04.prod.outlook.com (2603:10a6:10:4ee::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 16:31:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 16:31: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: d267c80a-c805-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dXr3F0rr3uSDiyRQBEzYCn5NwXnur0fMIaXGkruYbqJATtuDXFR3xFUlZ/E2m98AKjf83AmypHwBH10bIy2/InE5sCZXBhanrmnzJFx6WgwnK8Tkl4Ih+BXYnNi48F5Bo7ttyghFrvSqIIcSCyjyISLobmuDemyC4zCpIES5owC7XBLB7+Y7Vu3HEFLEmAO7FXwjD9Wo2FqvqLScvHHqMB//TvUc2wBt78eXfHhXms0LuTEM8UvivwiE6ux/H3ynmlEJYxEjkOstLZVr5eXbO7yKuNnVUBxN6sftY08V3oSwaojRJcoHdejr6/ScJ8VvBTk9TGxq3bGLxTb2jeouLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9q7lY/UVgGiuACc9uA82VVKQjT+iIHV20ir0gmJVEoc=;
 b=ne7/4YD9SyhFBdk95Mz4n+eugXRxQhOQPsoHNPv1ZaBV4nrPgqtyFsK6buyUeuULqFL4ub1OnPizOHQ/zAeoN41ZQv3ZOiBhgxNijQ+Yb6Hmo3Ewn43onuHCuukN1L0nqlvg6zSvd8T32t8xDcAY/FIngOSUVmCC+zlEX/OrG4+ZAyFtQ+Gtfh25JT50p15Y6+6uclR4is3o/4AqRixWKfteMSlKVKUK+XYR9kcAL4K1ItXVSMnnHvhrcrJRZ6p+G+7zGt6ddkECckcCwkf6XuIMq37z6rRiSLQuElVHQzWQqTet/jYpW9oE2MWegWozQbTMiBiTNE4o2Ws/6extKw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9q7lY/UVgGiuACc9uA82VVKQjT+iIHV20ir0gmJVEoc=;
 b=KAOGRwYA2YUSH6SkoQFt0ysrwxo63yyPPSorGXjkvXFfg9HIGuwuMojFdgC10auU5jRSZ4bOpgBZyKLaLBDxlRPTs/nr6PHgug2D/xnSPu2q+nv/B13ICb+a4OMDjkaqEPLObIiuxovzmB5s6qmu9gtjUJGKKvblHa3sHI5EHMIhClFMQ1NM6Xhk2wsyDC/LmiLHNxwRY9lCsJo736u4DzybtrVWyDc/VkWWHmT/8755T6yOdnExqXwrfXKyZ6cdzSOT6Ls7bzFQweUDA0gypcg9tnMd1KJHxIpBYiiQF+c0vdCJnGSveatC4zpVnV1SGgDLEPxzLuD2OzUzjcLIPw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <046b16fd-5619-8fe2-979f-b9fb4d07bfbd@suse.com>
Date: Tue, 21 Mar 2023 17:31:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86: extend coverage of HLE "bad page" workaround
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <b238f66d-37a9-3080-4f2b-90225ea17102@suse.com>
 <424d1b72-5eb6-f2bc-20fe-e59bacda8dd9@citrix.com>
 <c27d838e-0331-3cab-25bf-dd16b4645152@suse.com>
 <2c0ff1f3-ee0c-6d14-a51c-d82b65338005@citrix.com>
 <0df22405-bda8-8f4d-63b4-e9c4d57843b1@suse.com>
 <ZBRRbnBjWHXAM1ug@Air-de-Roger>
 <02cc1db2-90e6-a60e-4922-d88b4ca98b45@suse.com>
 <70e49a82-f027-6315-e11d-b2e16bdfdcab@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <70e49a82-f027-6315-e11d-b2e16bdfdcab@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0169.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9938:EE_
X-MS-Office365-Filtering-Correlation-Id: 834d73d3-caa4-4504-2de5-08db2a29b4b9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	luPxAXhbGT5vK/s9eHVCOwmVQVysDf3vQgY7/VjHG3KgZANDX51HnvP/OSrh3Sn2VstK1WYWAxYh4A8CSbaPdl5meIIOgw8sJUp/jNs2bywQJEGshMl9WajMei0p0nyoyAQINBEHTQjNE/0THmqUMss5682V5jD1bLXyLmAmTTgogAzCyJj3CSvV4JrMIfEctZ4JxwdF7oLfCMSeRvVd/21LGTG5kwwQjf0FmoH/FoMGOIZ72QV8bHfA/XxKLnpaeWb95jyQo0zYlMgqrLRoJdDVcTyOTUZkti1b6pF+zRmKCDrbEqTcHOHtlBILgGSHvjOutkReK9kwYuS91HzEo9bWlgJf7tmKOe+4UcJ0ZgzH8bjFU66ALEy0C8o3BNzg7st/7jnS0oaXLqL0ceiGlM770lmPNqFizWog1/jgXZrebZ7GDy9CtFy7icAVCs+Ht40AsTR/gJhdCik5F79DSPD7dhox/GdvdzmoK/Sl4EWuk5I+Ty3Cf2/tsGgRKrpu9UFRSoUAHKjRr3BXMBFsu7aedy7fD/GTeIiJ2QhQR6mI5pX8C9DknObuNVzDvF6rYgwP6MhCrO4IgbT6/FRwA8ouO4YVtfsQiT5xIgz5xyH5OXwYuK63QgyLR4Ur6ho+6emdRgC8DxRtkbxmxkN5cMEVR4o9M5XqFrh8F7RdoHo3YP6RjVhAJ3XziJVgVmH1m9BoCZOTEXFxn/g/JJVSbZF+ZJm9oGcp1vpMogeHbfM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(39860400002)(136003)(376002)(366004)(396003)(451199018)(2616005)(6512007)(478600001)(6506007)(83380400001)(6486002)(54906003)(316002)(66946007)(8676002)(66556008)(66476007)(186003)(26005)(66899018)(53546011)(31686004)(4326008)(5660300002)(41300700001)(8936002)(6916009)(38100700002)(2906002)(36756003)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z2VTcU9TVk1XNVB5SXFjenBYNW96M0g5M1lwV2NybkxvUStRWHVMektkRFNR?=
 =?utf-8?B?cjFJOExjS3hLbGY3aC9VbXRJR0VDRGltNTdHS2xQa3EvMEFVZWNPcVBUSWl6?=
 =?utf-8?B?VTFFNHpFdWZiYVRzRzNWSVFra2Qzd3ZXSUYyS0JqY09JTkNOdHJYMWZ6WWRI?=
 =?utf-8?B?V2oyRHJBRmdnaHhvbDcvOVFORldjR1pLcW5IU0tjN1laWjUvckgzSE91UVhT?=
 =?utf-8?B?MjBPS3Q5Q0pES1hlSTk3dlkvOHNRTEFrd3RJblRkZzZYYzVCbEpoQkZVWkFy?=
 =?utf-8?B?Sm4xUHpJc3YxdWtEaUxBUVAvUkhzV2RNWW5wRVh4Z2dqNnBLRXdwbStUd0cr?=
 =?utf-8?B?UjRLT0NYK1EvcTY2bzlKWXBtLzJGUkRNRWkvL0hSQ0hsZjBYb3dTREpJK1Vp?=
 =?utf-8?B?WDZ1NHBzbnlWSk9VTUc5OUFSajhTdjFJU2N2ZkF3dlFQZ0NDcnJYNEkvajNE?=
 =?utf-8?B?OHZlcjUyeDJpNy9wQWZoQnRrc3R0aUJaTHQ3YzlIUElrVjRxQzAzY21QZzFG?=
 =?utf-8?B?YUpvSlp3MFE5T0IzR0M0Z1dyU3N5TnFRbkY4SVBTbTNmVmFrUjJ5SUVOQVlk?=
 =?utf-8?B?T1NYcXY4VW9xRHpRRldiZVB1S2tzT0JZVVdEZFIzenRsakM5MklUMjhQbU12?=
 =?utf-8?B?V3pObjhIYmNheXBUV2c3ZzIxdlNVeXAxRndBWVhnZS9Pci9uL1pYNHFpNzFL?=
 =?utf-8?B?aDY2SVBnM0dZbTNCQXRub3g5NjVySFFKVTVXc2RrNW05bWZyUWo2MXVvM2xl?=
 =?utf-8?B?RmphNWlueit1TG9Pbjk1cXNRdyswWnRhNlhac2RxeUVicndNclJOYUhmWWFu?=
 =?utf-8?B?Vk5JNWU2SzVvb1VHa1BxT25JQXBHYmhhb1owS01ZM3l3OWNDcGsyZFBEWnhL?=
 =?utf-8?B?YkNsYWtxd0s5alYrUlpxbnJTRitlaGlPU2Nhd1pIaXZuakk3dFAzS3d0dGE3?=
 =?utf-8?B?MWJ6c3NxUHpuU1V2SHpTOVN1MEFHelQ4cnFEeDB0SU9oRXZFRUExRHJKaWxR?=
 =?utf-8?B?L2xVNVBQengzbkNDUXNPT3JDODZnbzVwUFlUNWRMOE44eTlpbGV0QVFiOG5C?=
 =?utf-8?B?RDNwWWJjU05MRWtqUUhScU4rbkFreU5GaWZWQU9qTmR5NDNnVEN0TWVVTUhW?=
 =?utf-8?B?cGRvdzhjVGtoRUxvOU1TZGplUTJFWW41enJNc1Q3L2xETXhnMWZZaEtuWjI0?=
 =?utf-8?B?cGcvL2xkUURBL2JwSm1iSzQ2cUF1STB3OHp4VmFjalVBbkUxd3h5K2lwKy9w?=
 =?utf-8?B?ckcvRHVZMHFYbURGbTI0RDc2Q1drNk5rUlNsMTJDZmJxelIwQnEzQ2NCY21N?=
 =?utf-8?B?QVZNZXl3N2hkUWlHazdOb0c5WnQ1QWI5L0g4TEo0dTgvcWZCcmlnWHZsRE1q?=
 =?utf-8?B?OW1aTUZoUmdDS1FXQi8zd1k5bGozZ3FRT0Vic3JHTzdxZzBiMGxIcTg5L09P?=
 =?utf-8?B?dTNNanZDZUw1Wm05WndjdVowVDl3T3FwdUJSS1p1citPZ3UvM1NZT0VPZkJu?=
 =?utf-8?B?Z3RmTWFlajcrbmw2Kyt5V0RHU3lKdWpIT2pFdHFNL1lCQlRLMDJIYnRkbTNx?=
 =?utf-8?B?QW82M0FWNUlraTBrbjRFd2pvS2JxVzUzbXB3OEZ3YlBxUlY0ejhMRWhkVnIx?=
 =?utf-8?B?aGdxSS92WTZENkNvZ0dpVkR4QmFKTFgybEhjWjlldys1K3M0NXg1MDZyMVBP?=
 =?utf-8?B?a1Fscmx3N0ZDdWtVb2V5Q0VUMGRPOEd5VG1tbzcxZFo4K2VxYWJQWmRQais1?=
 =?utf-8?B?K01mTElsQ3B6UFZsa09HSFErSTY4VG5Ga3J2WHJlZklzM3BndlJUZWdYNmcv?=
 =?utf-8?B?Z2dEK2NwMWN2S2tJSFExY2tScy8xUlYrNzFXbFlkcWc0Y0Y2S1BYQ3Zabk9X?=
 =?utf-8?B?VW4yeWs3VmJYbG1qS2IvZVAwUVduTkJ0UUxiWmJSMEcxc1NPYzZJVGUwcU1t?=
 =?utf-8?B?M1pIb3MzVUZKaGdqNXo4Y3RMeThScUJ0RHNwUXlFR0dQQ0dPWG41a3dRVWlG?=
 =?utf-8?B?NFM0OHduck8rd2FDZ0VBV3RIRWUyOEx3WGFnanMwOFVsbnc2alhsRDZ4ODAz?=
 =?utf-8?B?T2x3a2RHSjNBa21iZjkrWWZrRmlBNWxuUUEyTkZvYkt1TmJub0paenlMQWdy?=
 =?utf-8?Q?x41dv54pfLxSmNunnWmIlyMji?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 834d73d3-caa4-4504-2de5-08db2a29b4b9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 16:31:21.9930
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: u0dkeAZg2KZlqIkUDpzrlArlIvffEpEJ2B/f+DGlWlYTFSTAI7Uv1uvpoVOY/W5oTdm342XYevr67rf55gW8sw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9938

On 21.03.2023 15:51, Andrew Cooper wrote:
> On 20/03/2023 9:24 am, Jan Beulich wrote:
>> On 17.03.2023 12:39, Roger Pau Monné wrote:
>>> On Tue, May 26, 2020 at 06:40:16PM +0200, Jan Beulich wrote:
>>>> On 26.05.2020 17:01, Andrew Cooper wrote:
>>>>> On 26/05/2020 14:35, Jan Beulich wrote:
>>>>>> On 26.05.2020 13:17, Andrew Cooper wrote:
>>>>>>> On 26/05/2020 07:49, Jan Beulich wrote:
>>>>>>>> Respective Core Gen10 processor lines are affected, too.
>>>>>>>>
>>>>>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>>>>>
>>>>>>>> --- a/xen/arch/x86/mm.c
>>>>>>>> +++ b/xen/arch/x86/mm.c
>>>>>>>> @@ -6045,6 +6045,8 @@ const struct platform_bad_page *__init g
>>>>>>>>      case 0x000506e0: /* errata SKL167 / SKW159 */
>>>>>>>>      case 0x000806e0: /* erratum KBL??? */
>>>>>>>>      case 0x000906e0: /* errata KBL??? / KBW114 / CFW103 */
>>>>>>>> +    case 0x000a0650: /* erratum Core Gen10 U/H/S 101 */
>>>>>>>> +    case 0x000a0660: /* erratum Core Gen10 U/H/S 101 */
>>>>>>> This is marred in complexity.
>>>>>>>
>>>>>>> The enumeration of MSR_TSX_CTRL (from the TAA fix, but architectural
>>>>>>> moving forwards on any TSX-enabled CPU) includes a confirmation that HLE
>>>>>>> no longer exists/works.  This applies to IceLake systems, but possibly
>>>>>>> not their initial release configuration (hence, via a later microcode
>>>>>>> update).
>>>>>>>
>>>>>>> HLE is also disabled in microcode on all older parts for errata reasons,
>>>>>>> so in practice it doesn't exist anywhere now.
>>>>>>>
>>>>>>> I think it is safe to drop this workaround, and this does seem a more
>>>>>>> simple option than encoding which microcode turned HLE off (which sadly
>>>>>>> isn't covered by the spec updates, as even when turned off, HLE is still
>>>>>>> functioning according to its spec of "may speed things up, may do
>>>>>>> nothing"), or the interactions with the CPUID hiding capabilities of
>>>>>>> MSR_TSX_CTRL.
>>>>>> I'm afraid I don't fully follow: For one, does what you say imply HLE is
>>>>>> no longer enumerated in CPUID?
>>>>> No - sadly not.  For reasons of "not repeating the Haswell/Broadwell
>>>>> microcode fiasco", the HLE bit will continue to exist and be set. 
>>>>> (Although on CascadeLake and later, you can turn it off with MSR_TSX_CTRL.)
>>>>>
>>>>> It was always a weird CPUID bit.  You were supposed to put
>>>>> XACQUIRE/XRELEASE prefixes on your legacy locking, and it would be a nop
>>>>> on old hardware and go faster on newer hardware.
>>>>>
>>>>> There is nothing runtime code needs to look at the HLE bit for, except
>>>>> perhaps for UI reporting purposes.
>>>> Do you know of some public Intel doc I could reference for all of this,
>>>> which I would kind of need in the description of a patch ...
>>>>
>>>>>> But then this
>>>>>> erratum does not have the usual text effectively meaning that an ucode
>>>>>> update is or will be available to address the issue; instead it says
>>>>>> that BIOS or VMM can reserve the respective address range.
>>>>> This is not surprising at all.  Turning off HLE was an unrelated
>>>>> activity, and I bet the link went unnoticed.
>>>>>
>>>>>> This - assuming the alternative you describe is indeed viable - then is surely
>>>>>> a much more intrusive workaround than needed. Which I wouldn't assume
>>>>>> they would suggest in such a case.
>>>>> My suggestion was to drop the workaround, not to complicated it with a
>>>>> microcode revision matrix.
>>>> ... doing this? I don't think I've seen any of this in writing so far,
>>>> except by you. (I don't understand how this reply of yours relates to
>>>> what I was saying about the spec update. I understand what you are
>>>> suggesting. I merely tried to express that I'd have expected Intel to
>>>> point out the much easier workaround, rather than just a pretty involved
>>>> one.) Otherwise, may I suggest you make such a patch, to make sure it
>>>> has an adequate description?
>>> Seeing as there seems to be some data missing to justify the commit -
>>> was has Linux done with those erratas?
>> While they deal with the SNB erratum in a similar way, I'm afraid I'm
>> unaware of Linux having or having had a workaround for the errata here.
>> Which, granted, is a little surprising when we did actually even issue
>> an XSA for this.
>>
>> In fact I find Andrew's request even more surprising with that fact (us
>> having issued XSA-282 for it) in mind, which originally I don't think I
>> had paid attention to (nor recalled).
> 
> No - I'm aware of it.  It probably was the right move at the time.
> 
> But, Intel have subsequently killed HLE in microcode updates update in
> all CPUs it ever existed in (to fix a memory ordering erratum), and
> removed it from the architecture moving forwards (the enumeration of
> TSX_CTRL means HLE architecturally doesn't exist even if it is enumerated).
> 
> These errata no longer exist when you've got up to date microcode, and
> if you've not got up to date microcode on these CPUs, you've got far
> worse security problems.

Are you sure such ucode was issued for _all_ affected CPUs? I think I
agree for the models being added by the patch here, so I guess I can
accept the argument for this change to not really be needed. But for
removing the workaround I'd expect that suitable microcode exists for
the respective models. Yet at the very least 06-55-05 - consisting of
just a single blob - has a date of 2018-Nov-16, i.e. older than March
2019. That's Xeon D-2100 and perhaps at least one other product (I
didn't go hunt further to see where SKZ is used as the acronym).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 16:32:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 16:32:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512860.793180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peeu3-0004mB-N2; Tue, 21 Mar 2023 16:32:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512860.793180; Tue, 21 Mar 2023 16: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 1peeu3-0004m4-JN; Tue, 21 Mar 2023 16:32:03 +0000
Received: by outflank-mailman (input) for mailman id 512860;
 Tue, 21 Mar 2023 16: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=oKE/=7N=citrix.com=prvs=437062dd9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1peeu1-0004lm-V7
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 16:32:02 +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 e5ac51e6-c805-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 17:31:59 +0100 (CET)
Received: from mail-sn1nam02lp2047.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.47])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 12:31:55 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB6328.namprd03.prod.outlook.com (2603:10b6:a03:395::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.36; Tue, 21 Mar
 2023 16:31:50 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 16:31: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: e5ac51e6-c805-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679416319;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=z47n4n+gS5fEkoQ9JMPCtVYQMplr5axJE+aJRnonHPU=;
  b=UH0MLkB8gL2VA9CXdiZb6X6+U8x2fcU6ww9o6C42XLDHKknDou8a4OFL
   mZMWzu7hCnP6gxs36bw5gLqMj4SPXSFcT0EFmjfO4uQ74dkV+5EKVcDPj
   hQlNZ6TOjqSrt4cMyxLo3ADNk5CZ+uxV3C0ZPdUnSJ7YFhYIuGeMUMzRS
   k=;
X-IronPort-RemoteIP: 104.47.57.47
X-IronPort-MID: 101742101
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:u3/rWqm8uehNSQ81QNHP15Lo5gymJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJKXWvXP6vcY2r0KY9/YITl8hwB6pbSn9ViQQM5rX0yFCMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5gaGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 bsoLWozYiCku/m/65yLEOBmvvoADta+aevzulk4pd3YJdAPZMiZBp7svJpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVM3jOeF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eWxXqkBNhLTOTQGvhCh3eqhU83OiMtBXiQn9mw1kjlXdhnE
 hlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWKTVqN+7HSqim9URX5NkcHbC4ACBADut/qpdlpigqVFoo8VqmoktfyBDf8h
 SiQqzQzjKkSishN0Lin+VfAgHSnoZ2hohMJ2zg7l1mNtmtRDLNJraTygbQHxZ6s9Lqkc2Q=
IronPort-HdrOrdr: A9a23:5gZGAKs5Igk0stIWBgseTO957skDstV00zEX/kB9WHVpm6yj+v
 xG/c5rsCMc7Qx6ZJhOo7+90cW7L080lqQFg7X5X43DYOCOggLBQL2KhbGI/9SKIVycygcy78
 Zdm6gVMqyLMbB55/yKnTVRxbwbsaW6GKPDv5ag8590JzsaD52Jd21Ce36m+ksdfnggObMJUK
 Cyy+BgvDSadXEefq2AdwI4t7iqnaysqHr+CyR2fiIa1A==
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="101742101"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h8+xO3iz+c+U6zT7YqlBpNjvBSUkyHRcm2vA3Ye5ozgANqC5M6Q+B+3uZvvjQooo4lINoTYpFrdZjPanKp6LuYGXS7b6JgXh2AGGQhyTz1CbFq2X/gJPCJKCrQFJ+88JKiKzQ1Aq9N4ohj8+5x55wS9uXOhEIYL3k2AJH/0SAhCjOc+72L9o+nNS1rHBl47BgWmXMp6AQ7p48QLPi917M5dFJRCoRMLj1xxCjWZJiyE9VszXjGvbrogsFcKV6+iH8/07AvI25Tc6DKS6BubXyfXwB6BayrHBSrK8B3hkKmXwaMP0LyxD79iHQGR9W65UWQpCU9bJgHSKSBIESr39bg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3D/1CYGdKpvMDBEEWWPkgDar4XcmsQuGKLFgHUD7qy8=;
 b=fydPyrV5Cx4kUcy/K5kS8fMehtPZr/q2y69lROSEAmPZHUJ6AOUA0iIjL81WCTqWfs3Saxi1topQqvjcnyZEwknMG6i/15GXOSmGp2EC78ZAdGSLQf0XLpyVOehnnkOEWBI2+dk6LHsIcvb/+qjW5WBM2+pOXxVC5xZR7iku5nLuBaTf/xsUyCmVi2mMwIOBfvaQdf4an9w3mMeZzkpjkSnmyJVxuwQaFMxc1tsQtr/XuBJTH7lft9Je/6OooCHKXpAOmBXkrbZ4ZGnQNJ8lqNDH7gCRXkKGKBvgsoGeoc3juk0DH+ZGYrLIZim3qGzLTJ+aWw2VTCt65Mc2qsRgjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3D/1CYGdKpvMDBEEWWPkgDar4XcmsQuGKLFgHUD7qy8=;
 b=jimSr1v7BfbgyT2e9dSfsbzQ4G0SElOUsuW036jtJ9rFPcYkQSdFTaUEDniM+3wYIHIEIWmkt2s+RmyGGs642kHIzZuAd3mSw5+dymj5eoWRtCT2JOphhe0n4SiwkhnROqzASh3vhawxljnYeRLP25EYc0ri9QlwlvcYR+R3psM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Mar 2023 17:31:44 +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" <xen-devel@lists.xenproject.org>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2] x86: use POPCNT for hweight<N>() when available
Message-ID: <ZBnb8Dv08XZm+a3t@Air-de-Roger>
References: <55a4a24d-7fac-527c-6bcf-8d689136bac2@suse.com>
 <ZBRNWhExetXH1OaS@Air-de-Roger>
 <011cb7d8-fb32-74b1-2b06-f57be67f5c6a@citrix.com>
 <f1b0e3be-cf23-6471-7a59-c130380be0f8@suse.com>
 <ZBnF2oTLQjJtfZiK@Air-de-Roger>
 <e18b997f-48ba-4090-0c0e-67475f5b3329@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <e18b997f-48ba-4090-0c0e-67475f5b3329@suse.com>
X-ClientProxiedBy: LO2P265CA0432.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a0::36) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB6328:EE_
X-MS-Office365-Filtering-Correlation-Id: def6ec31-a7d7-4682-941c-08db2a29c59c
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FambRrIWBjOs5o+ot4EGvjycnyf7UWQW1Ulp7kn9t4edJzRcLJ6boB4vbPOpeKj7OdoALVjd1XeLcnMOlxn7ltg77Sd68d+c3L/Ok1pV9Zq1GGd8gVNTtEVC0ILt/qHo5mOk0J2RdNYln9SdVufJB2hpL8V5aO75FHTtck0BsJLvq11PNC8RR0VxMy4BIMfjB1XpfFGWnHpvhBoRwqq5C7G+iWOOfo9sRKlVKPeYcmEIgWA1BETDXw3gDSqLFrinHU576zU4E5wFzVRry97y2WZdgIZe00sE6uwcs+do63xCWWXoZPgEdIiIlWlavihFAefIXkJsQ9V8Ohk304BOxr16kaaFFVhEIUUCzH4qYDFOUkuUvrzXO4kwS87ZhYvzJF8oVoJumdVHAHac3z2872c7mPyFaczd388gOIBhwEcx72XUoT8DYYWnSjDdtXto1i1vui+wUEgvcOIzjUVy6fmHdOvLFs0FLtWHg4GJeBP9DdLvvR64Xmi0OLDm2Y4giRXzVEeLf/12ChJ2HrLm0R12tMK2TDllXisYdA7f0VTFTVYvSb+3kAuvlaQ/r2CcsaT+C5DKhoX6dJIYRBj6SZrBz8mHXaFWr3dCMhgY/tf9Lb5dUBuxt1epf6oRtYOJYOHC5oIgR0f4Myk9D4ZWzsyD0nzl2MYWhFemkOkbizF3uzwztv5CxMENHPQNFG1uPiyAeHDeOlfl9+YzBQyCn1QSZH2/Q9YWWZnfO5fIr5g=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(39860400002)(396003)(376002)(346002)(366004)(136003)(451199018)(186003)(9686003)(54906003)(38100700002)(316002)(478600001)(41300700001)(8676002)(82960400001)(4326008)(66556008)(6916009)(2906002)(8936002)(66476007)(5660300002)(26005)(6666004)(85182001)(6512007)(53546011)(6506007)(83380400001)(33716001)(86362001)(6486002)(66946007)(16393002)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aG9zK3JJRHcwRXE1OGZ2cm91WUZKTTg3ZktSeTU0WUVOaWxMVHB1d2JEa2Jm?=
 =?utf-8?B?OEM2MTlCRkxxNXJtNG1UYUpkU3BFN2ZSSmI0U2tib1EzS2xRQ2d1NVNoeTB6?=
 =?utf-8?B?bWIxV200aThCd0UrZGlaMXNFS0YrSFNVZFVBaUtsYVBaNmttSll4RU40bEVI?=
 =?utf-8?B?c1FhSjk2b1lxNlhHU3c2b0VtaGJ6RVZVY1FUNHl5MHNLa3FCZ05EV2hUYVpv?=
 =?utf-8?B?RGR2cnR2QTNlb3RrbkpaSzAzVjkxTEtMeWo3dGNQSzhTT0l0T0YzZGl2a3JC?=
 =?utf-8?B?VlIxQW45TERNSXJLUXBVL0dMa0N1MjVGd1V4d1hUYVA0NVpaaEgwMXpHRTUz?=
 =?utf-8?B?WGpRakVpd0tRVUNPTEYyb3lLUUl5TndYUEVBeUJXOFpGRFV2b3gxaFhUd2dF?=
 =?utf-8?B?Q1pIcGJvNUlud3VSVVZ0dVlQZHNhWHhndVRIa0wyVHFJcktGd2NkNnlKTEgx?=
 =?utf-8?B?Z2ZNeVFpcmovZ3YrL09BRTdwWkVCaXdDS2JhY3FyN3ZMbFNkcVd5Sm84NldR?=
 =?utf-8?B?SFA2K3VtakUzQ3hYdDErNFFsTkdGd1ZMb1ViSTVKZjlBaEtKYkt3VlFZUEY2?=
 =?utf-8?B?QkhuRUgvNFhRQzJ2UUxXT0dCKzZOZHJKTDMzMjFtQUowU1ZJOUVXWkJDZE1l?=
 =?utf-8?B?QUFBVXU4d3Q3RWtCNkt4anVDR3hGVkxZY2J5UHkvYTQ1UnpTdEtOaWduaUpM?=
 =?utf-8?B?djlOR09Udm9NQWYzTWJuWWZqTVExclVKdTNPcVZwSHliWEgweUV1WEc5bmxQ?=
 =?utf-8?B?c21DTTdPRFpPeU5ZQ0NFTkdBdHNES1JCdDNseE9paEF6Nis3aFdyWm1ZZXU3?=
 =?utf-8?B?Y0NaQkszNlZBN0s0aElubWUrVjRYWFJBY1RPZHlYcWNRSmN6QWdPdlBqK2xH?=
 =?utf-8?B?eXRnQW1OQ1dWUUhadXJGbVhaNit1Y0ozOWNKb2xnTlBydjVuczB0WndQaWpP?=
 =?utf-8?B?WThOMTEwQnp2WER3NHVyYjNzVUZmbWRpa1dqZzExNDhQbFBNYUNKeGpFTDVZ?=
 =?utf-8?B?TStmV3BNa3gzUUpVcXFzQ0dVZm94MmdFdkJOKzZLakVISnVtSENCM1h5M0d5?=
 =?utf-8?B?THhmSlNmOXVDVWpFanhjVDdHUU1KdGdwd0F6OU5mOHlCbDRFVkZWSVpwVi9p?=
 =?utf-8?B?MFRQM0lNT1FRckYvQjJIMmw4QjVxT0Y0RE52dGxkRWZjTG1YK3dPLzdDOVNz?=
 =?utf-8?B?OUJkblo1K2FlckU2a3JrTXIxcnRJRXE5NVRsOFd4WEFaV3dabzM5TU0zSG1X?=
 =?utf-8?B?WE81TlMwUmZhRUZIQ1JmUzYyYWt5YTA0cmZWVE02Rk9QYm9Nb1BCMEVCeThY?=
 =?utf-8?B?b0ZRZzBiRDZNMkJLeVJnMkNoQ0c1MThUWTlRNHhlYzlZa2RxUG1HUEkxOVo5?=
 =?utf-8?B?bEk1dTFFc0NDenUrcjYrSGJtUFU5VnNUUGwrL0lDYmtEaHNWanptMUFqSzdR?=
 =?utf-8?B?aEdOZUp2N3BCM0FxTnl3RzdRR243dStZbmtqWG4zTStkaTRyN2YzNk5icVNU?=
 =?utf-8?B?ZExSdE1HVlFUNldTbkFGR2F3VXQvNmFPaHVTUEppOGY1UFhCUkIzUjgyb0x0?=
 =?utf-8?B?ZWppUm9RM2dFMEhKeUZsbm04THJXSkpOR2pPZDRDcnZqam5lc085cURHZU0z?=
 =?utf-8?B?cldDQ2FIaXRoUHE2UVh6NVlWWXR4VGUvY29DaU13MWhUYjZ4QmFtOFY1Sjhu?=
 =?utf-8?B?VlpWT0tpMTFPRldyNlA4djh3YjYwSFV2STFEUk9OUmtjQ2ZDeVpMWkgzUkxy?=
 =?utf-8?B?anpsejRtcUdtcDJnZXlsT2o0Szkwc21VejlFbFkxUmJVaTUzczludHRpN0VB?=
 =?utf-8?B?amNYQXdhMTh1MFpncTVDSDFJRTN6WVkzdVhjR2k4M2tGMFhkT3ZmT0JrMmZt?=
 =?utf-8?B?YTBIU0NTNnlwQVdBNmJYNVoreFFqRWJrc2NlSmhQM09Hd1Ixcm9XY0JzMHlB?=
 =?utf-8?B?SUE2ZjV2R01ZdkhXbUJHWURpMjJZWUpNS0VzcVFYRG5OTVlPcm85ZWhFMVlW?=
 =?utf-8?B?SDBNaVdUNHgydXJZelcvT2tXQVlIc1NnbDNFb1RCV2xkL0VYWi9WYjI0YmNi?=
 =?utf-8?B?ZDBGNHAzc1A2Wkx2d0d3c2pBOXVHL3BmNHlNandCSGJxY2dEaytGZkJkZXZm?=
 =?utf-8?B?ZnFIYWZaQ2hTTXVZOEFNSGxwejdQc1l4RDZ3b05GdkZERGkxUjh5VHlUcEs3?=
 =?utf-8?B?ZGc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	zVDEfedoYgefLUNec0lP9f3qlI/mkLhh/U8eRs4MiN0QBNEXeGC/eje+G0RPR1wMSDMmxrVJjdt/e9nzKT6rPT4h5QPgVUyJE+daYW8RwiPVTaVZWbK0k7nK6b4fU8ZT+fyHmJR/bZf2q0B3UET1xXhdf1vM9luOvhAChdksG5e+BIq1XtOhIfhU4qOr10w5y5dub3TpefKj6MobydjovO+dRA6encCUfMQMw6aVfnUhnokSqwy38Hm/xMPTnDInxdWaQy150rKxJVkQTOrTqbPWUYXPVm7KsrsEhvaTxHdKKYKhLleRW/hTfg/q6SSXwxpItrgwXDaWkJBh/lBnQ2NksP2JGFEFti/j71Fck9YtbDL29LUVV59hVcB0bxkb85+gn39HD5L7q+cHGV6H2D1HdgCSGW8Ti6NgX2aw+mgcln+spnG81Ge9L7RvA7HTzSlQYpbSBx7IlEe9kvyv3PtsI3jIlrZ09pN4bf9NWjBX+fNE0ho3bJ/m/69hCUFkSIU3UPIFBRVTTzNdNuTmf8iZkodSah0CDERuoVkVfOugPvHOPxZcgsdPYkr2T0jinzovt+IPr9OKpSOcksGqLqiIX0BCqzNfAbR2lCMAGBedumZ/qLMWBQ6BmYm1A2o3590ucGARHgK14X0ZYLaKJr+HWizb/79qX1y1E80pWkOhQizXFxayiwzsc3yOUf7iYZ6Q2TY5UQrsgpi6Vp55KM0CS09gLBa8vlYK4yRUhze7OnmINQaqWq8QBLCB5KHoE4NE7mpVE0q94Bizrp3a98hl8esP3DiHnYw/weO9k9zwhjgRjPSakou49NpdcuM/
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: def6ec31-a7d7-4682-941c-08db2a29c59c
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 16:31:50.2330
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: C7Tm2mSzgUmq4HsXNokRFGz4sRiOH8UxYihQTOGcEOtOTUopx5jIH2nkjX0jmc5K+hpSEyGxG5g54m4SAAaeLw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6328

On Tue, Mar 21, 2023 at 04:35:54PM +0100, Jan Beulich wrote:
> On 21.03.2023 15:57, Roger Pau Monné wrote:
> > On Mon, Mar 20, 2023 at 10:48:45AM +0100, Jan Beulich wrote:
> >> On 17.03.2023 13:26, Andrew Cooper wrote:
> >>> On 17/03/2023 11:22 am, Roger Pau Monné wrote:
> >>>> On Mon, Jul 15, 2019 at 02:39:04PM +0000, Jan Beulich wrote:
> >>>>> This is faster than using the software implementation, and the insn is
> >>>>> available on all half-way recent hardware. Therefore convert
> >>>>> generic_hweight<N>() to out-of-line functions (without affecting Arm)
> >>>>> and use alternatives patching to replace the function calls.
> >>>>>
> >>>>> Note that the approach doesn#t work for clang, due to it not recognizing
> >>>>> -ffixed-*.
> >>>> I've been giving this a look, and I wonder if it would be fine to
> >>>> simply push and pop the scratch registers in the 'call' path of the
> >>>> alternative, as that won't require any specific compiler option.
> >>
> >> Hmm, ...
> >>
> >>> It's been a long while, and in that time I've learnt a lot more about
> >>> performance, but my root objection to the approach taken here still
> >>> stands - it is penalising the common case to optimise some pointless
> >>> corner cases.
> >>>
> >>> Yes - on the call path, an extra push/pop pair (or few) to get temp
> >>> registers is basically free.
> >>
> >> ... what is "a few"? We'd need to push/pop all call-clobbered registers
> >> except %rax, i.e. a total of eight. I consider this too much. Unless,
> >> as you suggest further down, we wrote the fallback in assembly. Which I
> >> have to admit I'm surprised you propose when we strive to reduce the
> >> amount of assembly we have to maintain.
> > 
> > AMD added popcnt in 2007 and Intel in 2008.  While we shouldn't
> > mandate popcnt support, I think we also shouldn't overly worry about
> > the non-popcnt path.
> 
> We agree here.
> 
> > Also, how can you assert that the code generated without the scratch
> > registers being usable won't be worse than the penalty of pushing and
> > popping such registers on the stack and letting the routines use all
> > registers freely?
> 
> Irrespective of the -ffixed-* the compiler can make itself sufficiently
> many registers available to use, by preserving just the ones it actually
> uses. So that's pretty certainly not more PUSH/POP than when we would
> blindly preserve all which may need preserving (no matter whether
> they're actually used).
> 
> Yet then both this question and ...
> 
> > I very much prefer to have a non-optimal non-popcnt path, but have
> > popcnt support for both gcc and clang, and without requiring any
> > compiler options.
> 
> ... this makes me wonder whether we're thinking of fundamentally
> different generated code that we would end up with. Since the
> (apparently agreed upon) goal is to optimize for the "popcnt
> available" case, mainline code should be not significantly longer that
> what's needed for the single instruction itself, or alternatively a
> CALL insn. Adding pushes/pops of all call clobbered registers around
> the CALL would grow mainline code too much (for my taste), i.e.
> irrespective of these PUSH/POP all getting NOP-ed out by alternatives
> patching. (As an aside I consider fiddling with the stack pointer in
> inline asm() risky, and hence I would prefer to avoid such whenever
> possible.

Is this because we are likely to not end up with a proper trace if we
mess up with the stack pointer before a function call?  I would like
to better understand your concerns with the stack pointer and inline
asm().

Other options would be using no_caller_saved_registers, but that's not
available in all supported gcc versions, likely the same with clang,
but I wouldn't mind upping the minimal clang version.

What about allocating the size of the registers that need saving as an
on-stack variable visible to the compiler and then moving to/from
there in the inline asm()?

> Yes, it can be written so it's independent of what the
> compiler thinks the stack pointer points at, but such constructs are
> fragile as soon as one wants to change them a little later on.)
> 
> Are you perhaps thinking of indeed having the PUSH/POP in mainline
> code? Or some entirely different model?
> 
> What I could see us doing to accommodate Clang is to have wrappers
> around the actual functions which do as you suggest and preserve all
> relevant registers, no matter whether they're used. That'll still be
> assembly code to maintain, but imo less of a concern than in Andrew's
> model of writing hweight<N>() themselves in assembly (provided I
> understood him correctly), for being purely mechanical operations.

If possible I would prefer to use the same model for both gcc and
clang, or else things tend to get more complicated than strictly
needed.

I also wonder whether we could also get away without disabling of
coverage and ubsan for the hweight object file.  But I assume as long
ass we do the function call in inline asm() (and thus kind of hidden
from the compiler) we need to disable any instrumentation because the
changed function context.  I don't think there's anyway we can
manually add the function call prefix/suffix in the inline asm()?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 16:42:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 16:42:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512866.793190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pef3f-0006UK-PI; Tue, 21 Mar 2023 16:41:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512866.793190; Tue, 21 Mar 2023 16: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 1pef3f-0006UD-Lr; Tue, 21 Mar 2023 16:41:59 +0000
Received: by outflank-mailman (input) for mailman id 512866;
 Tue, 21 Mar 2023 16:41: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pef3d-0006TJ-Kd
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 16:41:57 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061f.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ac40e13-c807-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 17:41:56 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8285.eurprd04.prod.outlook.com (2603:10a6:102:1ca::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 16:41:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 16:41:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ac40e13-c807-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AKTe0Kocyr9SuhErSVn+lOjnqM/IbQ1GSabJDs1fjQm+mgEGmxoMlmv9EUhVBGJ3mazATajvzXDjqx0eqHiOURfmezDaRw9jcNVGx2Uz7xOaA3xGuK1eH6YI+pjh6/M7GvPm+DaR94+5dzjfhNvtKdI7BIPbn0BkxdX09DAZkd1G9+iShZLufV5mnjiLkMGC4pxvMwevPZR5UkxgXLPlqb95ZyNnYnpvMgtBoUmKIGhlKzJWUeCrZrD+oNoyu5jVhbMAjMKaSwlxNSWSA2gRH1ev6CmUkqwSf0PwqnHwzSXbCJsXdKmnbftcpDDrh3SSDTZmDF1Fy8wYMselkAK4Yw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=x/Vou/ms3DNalNmyKcATd53uigoc2UDDML55OSJfa2I=;
 b=F7IAZGbzz2t0A5GyKELPgM2rijtsVsI1gUGcKUiqY2jo6oeh65zLmTirYXfoDbN59Wg1mzRB1cC+NHhOdySKrvQVSHTPvWNO7f2Ox1HQ8IT/vHRUGc5znYkrtqBiAX8/115Y82GsRLx4HSi1dVQBz2rUSGleKGbz4LhT61HlkqJsuCK0ewguzaEPy29qBEOjGHcJJQ+Lfcs3mj8LwQ3ZBhJTvx9PNqKnSfvlFI8zlid973RAcw9oqxqvVMGNiEnd/rOAzfdrZwCb3RdFheWuzSppDepzMRznUdv6nSuz6EHq3iEttgK35QG4VGb+gPvY+b/zH7WaXSsGKW6Yz1ZN8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=x/Vou/ms3DNalNmyKcATd53uigoc2UDDML55OSJfa2I=;
 b=XzgsSSG5IkL2pKEWT/AT0ttT10G7nIKT4IB7LyciLnNEs79vzKdX7/SOZEqYDOyYK+FYMgcWITVZ9asMwWsePjpUHS+UFrZ605Hn2qeuF8osYWM0O+KFx3uB0A/D7ltDgEXRWS93SXzg506oV3sLmYLx+feW1EpaD3CQHutEQ0Pl7llxbeFIocmUNEZdC6rTgwyiqddpL9rTEn+Wo06NfM7Fohgx7xMeTxil3ypej1EFiOGU1x7rT3EuL2HgKyYInMOID5HPwmVjEciAUh5hfys3iR7nm99JcyyPj3Ckx1tq9YS3d2/3MS4RJhyjBABTkcx1C4GWiiIsyTEC7AsYeQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3d866810-f33e-fc37-abbd-daf7aacc053a@suse.com>
Date: Tue, 21 Mar 2023 17:41:52 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] x86: use POPCNT for hweight<N>() when available
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" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>
References: <55a4a24d-7fac-527c-6bcf-8d689136bac2@suse.com>
 <ZBRNWhExetXH1OaS@Air-de-Roger>
 <011cb7d8-fb32-74b1-2b06-f57be67f5c6a@citrix.com>
 <f1b0e3be-cf23-6471-7a59-c130380be0f8@suse.com>
 <ZBnF2oTLQjJtfZiK@Air-de-Roger>
 <e18b997f-48ba-4090-0c0e-67475f5b3329@suse.com>
 <ZBnb8Dv08XZm+a3t@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBnb8Dv08XZm+a3t@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0132.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8285:EE_
X-MS-Office365-Filtering-Correlation-Id: 149fce9e-6925-42b0-75ef-08db2a2b2dee
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Egl8HnyYHfgHroS1s0wj+miD3dJMh2nKUJOn4BSLE0NM3N/BL3jeOmNmbpJfbyAfjfXDtbXVi88WMA95sDNXbGAtOc6i5x6QctDyYV9REsn3Cda+BVLE0exGEEMedfpk8pqMgyTFgKXOHh/KtHJZYkWe9Fk4kp3UlPa/h0aB0QkJLSj1U/GvOJXCFLDuphPNaR4GBWmHlNFV5ZiYwM6vQ4yhL7vawrueXKkPt0BYBdFoyTP2Bik9O8ez2MecROOfFasyJCH0RXyYOQRERoScFw7kqOoHWsVuUPhpIxtutOnuYvfKeAKhK4/PpQ0Vp6oX9Tp71KZ1toXpqKmkS1lUMa6jr2njyqKQudDPIrAP25Xe270aDLxKPyjKJXfayLrlHdruTuhpd3tj7SkBzj47gnR0wpr7XQ+M1SW8PW2YXbIIMNW75+01Dawmelyt0tJTtbg+1VISfBI5R81tCFdrPcurgebavgX5m8ZmjgbtMatTJPW/zTrdD++JcT5IBDQUfD6HUAaoWJUJqgVKPy4+Bx+ORZnOpqCulilkC4ieBsgqBnArtX5rg5XuJhoR9Y0kfTmFjH6nLybkSd7eHUI7/BbL/fDmDT+w0gdMSbjLStaySDx/I8/4Prnw9zaVW5I3YYl77HqhMNdT2QVvBpcRfoNXdWvqkx6P73/hGEulsOyEkYPWHkm+f6DoQ/ZPQ53QBaIElRigiY44xowu7G+zQXneDeEp6wy6PXpOmpQ0UuImG0PmPyQ4F7tZiHoIU0CLYwHOHM5NGgKwsmsEGOGB4g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(136003)(39860400002)(346002)(376002)(451199018)(8936002)(41300700001)(5660300002)(31696002)(36756003)(86362001)(4326008)(2906002)(38100700002)(54906003)(83380400001)(6506007)(31686004)(53546011)(6512007)(478600001)(186003)(26005)(6486002)(8676002)(66476007)(66556008)(6916009)(66946007)(2616005)(316002)(16393002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R0JiT25yazNmNlBVaDhwTHQzYWZBSzVMTmw1WFQ1cU5SREhER20zdkNlNmZX?=
 =?utf-8?B?UWpwa2xRSGpLWnZCZlJZUi9FY1NpcStMdGlpOTVDT1N0M3BHOU40S3dpUmVE?=
 =?utf-8?B?bHdEa1ZLSitYRWpnUTVySU11YkRzenllTVl0ZmVMUU9KaUVNZnVta1V4bDMw?=
 =?utf-8?B?RXI4MmNjSmJqREp5Qk0zTE91MXZrU2QyY3VqSFZiYWg2V0dxYmh4QmJZN2px?=
 =?utf-8?B?aHdGWjBsUGZEQjRzaUZIeGVWaVVMNlhJd0lUMkdvc3NJUnUxMktvQXByYU9I?=
 =?utf-8?B?d3dZUjNUcFZscUZwRUsrd3l5VkdROGtPWURwZUE3Z3NJVEtMNU1XMkhaWFht?=
 =?utf-8?B?WE5vS08yOFptM3E3NlNGRDQ0QlJhVHIzcHVTSm9aYXhqckNORVNaTHk1emtS?=
 =?utf-8?B?ZXdJU0VodlR3aW92aXlPaU5FMGZiZTBUTlY5WlJNVEtKZS95ME11WWNRQW8w?=
 =?utf-8?B?dG9OWGk4MXFHd285MVJNZlpmVDNKdm5ZRDVua05IOS9KUDEraU9wbWFTMmVY?=
 =?utf-8?B?OHR4cVVhaktrdWxZdlczL0d1T0NGY0E0QzFpSEV5c0lzRWhWT0w4MEFlSEw1?=
 =?utf-8?B?V3dSSUFYbmpJallhcGR2VVJUY1A3VTlsdEt2bjdNRjJuK1R2SGEvYzlSU3V1?=
 =?utf-8?B?U1FhcFBQUDJqN0pTWkphbmplTC9mSC9CeG5UTlVac3JxQ0JPZ3cwRXVIcnh1?=
 =?utf-8?B?ZEs4SFRaazJjd0tTNFl3Ty9JeVU5Zy9NWW5PYmM4ak9sYU9IUVRwV1Y5cjdG?=
 =?utf-8?B?dXRIcnhqUXV4NEtSRFMyMHR6TWhYV2RpdU9IRWpWTFBGcElvT0U0WHhxK1RN?=
 =?utf-8?B?bVZFNjVtUy8wL0VyampiaTh2SEJsMUN3QmpDYlNSUWpVRFh6Mm5acitzTWkz?=
 =?utf-8?B?YjFaVzllb1l1dUZvOGIwMGtNNHlDVDR3TTRXT29WK0lWWjZaS1hFV0llbDN4?=
 =?utf-8?B?VU05TXRPMHlJNlVjaHBRekYxTWhWQVFneWZGeEp3U29BaGpSaXNoekdCaDV0?=
 =?utf-8?B?bVUyTE1pR0Y5TFNSMFpXZmR1TGx1aitxTzhqSHpEU212U3lxVUV3TUNMa1Ns?=
 =?utf-8?B?cDV5OE92N3FaaG0vR1p3aU5VaG84OVFnU0kzSU1RZmk4aVJzVGs5SDhPdmNa?=
 =?utf-8?B?dWR6a1c1NzhKbmlnWHpqZU44bmxPRDhQdDZFT0xaanQweVg0RDYwa09FMVNK?=
 =?utf-8?B?emtWaGp0Y0JPVTYvNnk0MnlLSSt0YlZVdmxKbi8za2ZvYnNZU1l6NzMwQUJh?=
 =?utf-8?B?NVlGT0NQY3lJQTZaalVLSTFVZlZRMyttdXJ5R1VYRmFMVC9oS2pUU3pJU2Fq?=
 =?utf-8?B?WnErTmlvZXFsMTlnTnl4ejFldzRNRGJpREdCVDhyUllMeWdaa01TYkh3bGNu?=
 =?utf-8?B?QXBWZm11cmJwZW5WVHBYVUU5aFh0MTB0WjIySUs5UzR5UXhYQjhTZGt3c2Mv?=
 =?utf-8?B?N0FWL1ZZYjAzUFYwTmpKMC9PRVdEbVRtWS8yYW5ITWxYaWJ1VC9VY1dORm4x?=
 =?utf-8?B?RUVhVnprQjJmL1oyVVlnMExjRURKR1RjbWVjUklBVUswWXkxZXI0bmNwdXdV?=
 =?utf-8?B?bThNNklBOTJhUjlRSHB6UDRpaXFPTkdFRHB1dU44VlBoUkhqekRDUHJVcmhq?=
 =?utf-8?B?TGZtOURHUWlaNnhWRzhHSnk4dU91QWpucE9ydkhLVElDQURlU0tzUkpIMEdL?=
 =?utf-8?B?WnV3UzlSTDF5OW5KS0pjdXQ2cnBFSnVTMFJnTkpZOTl0dTFrSmhTZVVUV2g4?=
 =?utf-8?B?dU81Q05oaWszOCttRUFpeVhzSFk3REo5S3IzMzdZUTM3NG1WckZ6a0RaVGxD?=
 =?utf-8?B?T2l4TXhlakVWLzlLV2twc1ZSd3hxeVJydUlLWDR0Y0FXUFdOZ21TZFJyY2FE?=
 =?utf-8?B?RG1XdzBZRUtvK1NPQStCNUJ0S3pmdmZDTnNEdTl1Zm02M29GVDhWVUZFSGV2?=
 =?utf-8?B?aGduUkV2dUozQ2hCSmRza2VwdEROaStrdUxnK0ZQcHo3Q2UrU3k5NnRRaG1w?=
 =?utf-8?B?Q3YwTnRoc0FxZUlrcHN4MUVsemVJcWpCaEk3Zkt1RGk2U1lYSUJocGltaVk1?=
 =?utf-8?B?ZzVOR01JU3BXSHBRYmVSdDFHd09YckpjZXJxanlEWnFLZmt1U1VraWQrUnA5?=
 =?utf-8?Q?PiZO4EeyJmP/OydXW8tXBoW7O?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 149fce9e-6925-42b0-75ef-08db2a2b2dee
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 16:41:54.7651
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xjC35K31DE3l5aTo4yjitr/50lti9pymfKjwn7MjlLXNDzCY8jKjAlSDuFpdZisUr+ySefHbwptSqzwujYelSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8285

On 21.03.2023 17:31, Roger Pau Monné wrote:
> On Tue, Mar 21, 2023 at 04:35:54PM +0100, Jan Beulich wrote:
>> On 21.03.2023 15:57, Roger Pau Monné wrote:
>>> On Mon, Mar 20, 2023 at 10:48:45AM +0100, Jan Beulich wrote:
>>>> On 17.03.2023 13:26, Andrew Cooper wrote:
>>>>> On 17/03/2023 11:22 am, Roger Pau Monné wrote:
>>>>>> On Mon, Jul 15, 2019 at 02:39:04PM +0000, Jan Beulich wrote:
>>>>>>> This is faster than using the software implementation, and the insn is
>>>>>>> available on all half-way recent hardware. Therefore convert
>>>>>>> generic_hweight<N>() to out-of-line functions (without affecting Arm)
>>>>>>> and use alternatives patching to replace the function calls.
>>>>>>>
>>>>>>> Note that the approach doesn#t work for clang, due to it not recognizing
>>>>>>> -ffixed-*.
>>>>>> I've been giving this a look, and I wonder if it would be fine to
>>>>>> simply push and pop the scratch registers in the 'call' path of the
>>>>>> alternative, as that won't require any specific compiler option.
>>>>
>>>> Hmm, ...
>>>>
>>>>> It's been a long while, and in that time I've learnt a lot more about
>>>>> performance, but my root objection to the approach taken here still
>>>>> stands - it is penalising the common case to optimise some pointless
>>>>> corner cases.
>>>>>
>>>>> Yes - on the call path, an extra push/pop pair (or few) to get temp
>>>>> registers is basically free.
>>>>
>>>> ... what is "a few"? We'd need to push/pop all call-clobbered registers
>>>> except %rax, i.e. a total of eight. I consider this too much. Unless,
>>>> as you suggest further down, we wrote the fallback in assembly. Which I
>>>> have to admit I'm surprised you propose when we strive to reduce the
>>>> amount of assembly we have to maintain.
>>>
>>> AMD added popcnt in 2007 and Intel in 2008.  While we shouldn't
>>> mandate popcnt support, I think we also shouldn't overly worry about
>>> the non-popcnt path.
>>
>> We agree here.
>>
>>> Also, how can you assert that the code generated without the scratch
>>> registers being usable won't be worse than the penalty of pushing and
>>> popping such registers on the stack and letting the routines use all
>>> registers freely?
>>
>> Irrespective of the -ffixed-* the compiler can make itself sufficiently
>> many registers available to use, by preserving just the ones it actually
>> uses. So that's pretty certainly not more PUSH/POP than when we would
>> blindly preserve all which may need preserving (no matter whether
>> they're actually used).
>>
>> Yet then both this question and ...
>>
>>> I very much prefer to have a non-optimal non-popcnt path, but have
>>> popcnt support for both gcc and clang, and without requiring any
>>> compiler options.
>>
>> ... this makes me wonder whether we're thinking of fundamentally
>> different generated code that we would end up with. Since the
>> (apparently agreed upon) goal is to optimize for the "popcnt
>> available" case, mainline code should be not significantly longer that
>> what's needed for the single instruction itself, or alternatively a
>> CALL insn. Adding pushes/pops of all call clobbered registers around
>> the CALL would grow mainline code too much (for my taste), i.e.
>> irrespective of these PUSH/POP all getting NOP-ed out by alternatives
>> patching. (As an aside I consider fiddling with the stack pointer in
>> inline asm() risky, and hence I would prefer to avoid such whenever
>> possible.
> 
> Is this because we are likely to not end up with a proper trace if we
> mess up with the stack pointer before a function call?

That's a related issue, but not what I was thinking about.

>  I would like
> to better understand your concerns with the stack pointer and inline
> asm().

You can't use local variables anymore with "m" or "rm" constraints, as
they might be accessed via %rsp.

> Other options would be using no_caller_saved_registers, but that's not
> available in all supported gcc versions, likely the same with clang,
> but I wouldn't mind upping the minimal clang version.

Right, you did suggest using this attribute before. But we continue to
support older gcc.

> What about allocating the size of the registers that need saving as an
> on-stack variable visible to the compiler and then moving to/from
> there in the inline asm()?

That would address the fiddling-with-%rsp concern, but would further
grow mainline code size.

>> Yes, it can be written so it's independent of what the
>> compiler thinks the stack pointer points at, but such constructs are
>> fragile as soon as one wants to change them a little later on.)
>>
>> Are you perhaps thinking of indeed having the PUSH/POP in mainline
>> code? Or some entirely different model?
>>
>> What I could see us doing to accommodate Clang is to have wrappers
>> around the actual functions which do as you suggest and preserve all
>> relevant registers, no matter whether they're used. That'll still be
>> assembly code to maintain, but imo less of a concern than in Andrew's
>> model of writing hweight<N>() themselves in assembly (provided I
>> understood him correctly), for being purely mechanical operations.
> 
> If possible I would prefer to use the same model for both gcc and
> clang, or else things tend to get more complicated than strictly
> needed.

We can always decide to accept the extra overhead even with gcc.

> I also wonder whether we could also get away without disabling of
> coverage and ubsan for the hweight object file.  But I assume as long
> ass we do the function call in inline asm() (and thus kind of hidden
> from the compiler) we need to disable any instrumentation because the
> changed function context.  I don't think there's anyway we can
> manually add the function call prefix/suffix in the inline asm()?

I don't know whether that would be possible (and portable across
versions). But what I'm more concerned about is that such functions
may also end up clobbering certain call-clobbered registers. (Note
that when writing these in assembly, as suggested by Andrew, no such
hooks would be used either.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 16:44:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 16:44:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512871.793200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pef63-00079O-5I; Tue, 21 Mar 2023 16:44:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512871.793200; Tue, 21 Mar 2023 16:44: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 1pef63-00079H-2M; Tue, 21 Mar 2023 16:44:27 +0000
Received: by outflank-mailman (input) for mailman id 512871;
 Tue, 21 Mar 2023 16:44: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 1pef61-00079B-PV
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 16:44: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 1pef60-0001vW-PW; Tue, 21 Mar 2023 16:44:24 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[192.168.4.43])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pef60-000726-HR; Tue, 21 Mar 2023 16:44: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=HOdVSw2Iot42M4WodtXfxoqTSOTOe559RQCueu43VE8=; b=I/LCFazIA5O8tBogboXsuqm+y0
	fP3sk8krzV2O09Hp0K/Xmng0sUmvymKi8CsyLc+0byikd8oMAkCkaFwtah1jTIqTUEyH9IqnPIXPR
	+8iVOXJCieztcPt2S/x/PJ941T1joqoMnKPtL3q2LBZKauUc1wCjdNr2VoE68mZjlUN8=;
Message-ID: <c41b6b39-5ed3-cddb-18f8-41d895aceada@xen.org>
Date: Tue, 21 Mar 2023 16:44:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH] move {,vcpu_}show_execution_state() declarations to
 common header
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <fc2156d8-76d7-b6d2-3d39-266dbbf4a0fb@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <fc2156d8-76d7-b6d2-3d39-266dbbf4a0fb@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 16/03/2023 11:55, Jan Beulich wrote:
> These are used from common code, so their signatures should be
> consistent across architectures. This is achieved / guaranteed easiest
> when their declarations are in a common header.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> There's no really good header to put the decls, imo; I wanted to avoid
> the already overcrowded sched.h. show_execution_state_nonconst(), being
> there solely for dump_execution_state(), could of course live in the
> upcoming xen/bug.h ...
> 
> Is there a reason that Arm (still) expands dump_execution_state() to
> WARN()? Without that moving x86's show_execution_state_nonconst()
> definition to common code would also make sense (it could be done
> anyway, but then at the expense of introducing dead code to Arm),
> perhaps (see also above) into the upcoming common/bug.c.

run_in_exception_handler() was only properly implemented a couple of 
years ago on Arm and we didn't switch dump_execution_state() to use it.

That said, the current implementation of run_in_exception_handler() 
would not be correct for dump_execution_state() because it clobbers 
x0/r0 on Arm.

This should be addressed with Oleksandr work to consolidate the bug 
infrastructure. So it would be fine to move the helper to common code now.

Alternatively this can be left as a clean-up because 
dump_executation_state() could now be common.

Anyway:

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

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 16:54:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 16:54:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512874.793210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefF7-0000PE-1z; Tue, 21 Mar 2023 16:53:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512874.793210; Tue, 21 Mar 2023 16: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 1pefF6-0000P7-Va; Tue, 21 Mar 2023 16:53:48 +0000
Received: by outflank-mailman (input) for mailman id 512874;
 Tue, 21 Mar 2023 16:53: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pefF6-0000P1-96
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 16:53:48 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0612.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f149f93f-c808-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 17:53:45 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8913.eurprd04.prod.outlook.com (2603:10a6:20b:42c::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 16:53:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 16:53: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: f149f93f-c808-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GZ1VkEWNLV/yn6/0jk6eOGNf3G1duDA+5tf5JnKZSZShMB5uM72LvZG6sIeFWbV3WUTBAyQ2+SKkcGI+/dJBmvkFbWkCAlCS9An5pZkgaPdfRa7dblUx0NR+lLyh1QuL/4nghcM1aewP+6FFHcCmoaIpETBrIOncMAIO+2IeOTKjzkzf+2kVa16ylxdwcvubEfoBsAzVnmQ2H27udMb5GcV+E5pV74XsebTgXo3GWvpYNEv6t7pplJMkgnMRpDIo/yFKSe0IrjQcxu6nn/599XuXoNeGFMAByxY/fiPx+pgtYlNyQK4JATIM8HLEEcIePt90D1swUX+4q+Mz8povaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ov2QLAsh0Ur82YKHKClnz/dBB/typ6O84bEaZ56jzRo=;
 b=OYkag5pfpofnEEZ9guMpqbiIPkHPytXyvlnTJ2Mf+dmKePCelkD7D0qjxlYGHSe6CoLi77r1OJj5RngB0FKL+idxO5V5rtg92GmwIEQpg5+qOL9vSTVY/eAaidOKovu58yhMC9TCWSsajJPGryVIoR8xfBpZR1kIoIY7KXPont+GUn9Xf/WWJ7iQ0IzSkaaiZ7f1O8a3oiOg0JHxvCIK0RwM5OGnO3a98+2UgtsiLMf44YcMGR5IHJIWsPFdBSzZym4Fi5epnmQNIf0o97WFE9NmCLYM/XuBqtXkXu+GR10yoT0igRUfqy4Z4KAolNy+aGUALbFT3ExAgXRQmInDEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ov2QLAsh0Ur82YKHKClnz/dBB/typ6O84bEaZ56jzRo=;
 b=kSmqKuL8cI/4hy9KoYV65b1Z+tPBdhbijNjCpU9IOeLek+dNX9MawIpFy+Saf7Cra5nwEgRg2o0OdVPHx/rRiTxI+y+eC4FQh+TWMq0fNDTz2oK/AhdBm1gZUn8QRdY2pENR6udfmvMriOv41+LJgvayOfuPN2fvJgVkd7UXxN4JiSyE91i1bqElw8A5bRbsR3MqbAM9YcH3crex1n/AzedpWedk3pAl5zwj+ZcsoucNxncdABVFIo8s9EkXZ6xClLULVEMQ7BZUE34Q7BBcVpZ91RuM+58On+xxg+NubKjtSyI/nNjZteu55/CL/hO8hXlvfePtaIyMZzAbrUdEpw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1883c9a3-ad25-ac45-b1fa-d29e19b3cc14@suse.com>
Date: Tue, 21 Mar 2023 17:53:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN v4 07/11] xen/arm: Introduce choice to enable 64/32 bit
 physical addressing
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com, julien@xen.org,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 rahul.singh@arm.com, xen-devel@lists.xenproject.org
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-8-ayan.kumar.halder@amd.com>
 <7d90ad7a-5daf-915c-2055-a27ca50d8581@suse.com>
 <e268e11b-8e93-c506-668b-c5c004b3aa06@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e268e11b-8e93-c506-668b-c5c004b3aa06@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0031.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8913:EE_
X-MS-Office365-Filtering-Correlation-Id: d2e41ffe-59ae-4646-ed96-08db2a2cd455
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZbLGtN2Ty48j3bNVigoFOHr1Jv789qtN4Zoqcrh9jPytSIkFJb7u4a+wzYghC9cDbJMhBr81PMFE416q/cVjhtEt/LV06M2ZOr7UgXXWW0FEkqkLmhHvJfl0aIKeVnlvGWlkkwg7F2Yo/qE5Xs4mT/ey6iWhIVUP/K49H1Emw/PMAYQhihFJWiT0lNHp2oFtyHpP21vLiX89D2Bmqnu2GdhAD+z9v6M2IDUOmH6YX4JcOsNm4UzhnMkGFFUK8wI8P94vmK0uSJuWRcPscPAfjY4YNb4FIdZhG0eTiiz7ZVT8NL+d5pLPa3uTAHyWBipiyxWLVrtDfRXJv263SbBbVv3J4VTm+f1DNYUBVXwLZJHpz3SV9mLOpAGsoB0+55ukrg/TVnxU8q+to0nONy2Y0QWRYKCJmSIs/eA2/JvpLmC/o20G1N/uB4y2chPtVTNZZMKGbNpd8ClrGie5DyPiJmrZpzH7UO6AivTLyzukofcah3msmcRPcohR8af1QmgqIw1uaAz7HQyZLAZlDRnYF4DH8Yl6U1GYKIhzt2Rno7bsP6/Eag1yYXYN6XjIQg6hKdgTaY0Ftz0OdB8+F30G2VLP4IFGbwIBXZP7r7McCciKDCCoi9LShsgS3tM3MliQEAKV0bENS3MFE0DDR404y/nbSCQDdolVFIaFUCAp1GEykCl1Q9u1tBWQIYe62yhhBUCy2yXU2c4w5C46mHswejFCzhsFCi+v2uuvTEMm3JY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(396003)(376002)(136003)(346002)(39860400002)(451199018)(31696002)(86362001)(36756003)(316002)(4326008)(66946007)(66476007)(186003)(478600001)(66556008)(110136005)(8676002)(53546011)(6506007)(2616005)(6486002)(31686004)(6512007)(83380400001)(26005)(38100700002)(7416002)(5660300002)(8936002)(2906002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UTZaSmd3U1BKVm15S0hacnRDSGlOMFVsTUxha0lvMTVvMTRidnVTVUMzaDZO?=
 =?utf-8?B?Uytkc09yVU5ZM1d3Y1ZuSytvc1c4dXBUdkdnYjZiSUZlYTF3SGZsTm16aE9h?=
 =?utf-8?B?NDlOMVVOcXU5WEI4Y1FVdXlhOG8vbmIva0VLQkoySi8vK0twT0RaSFNxeXJr?=
 =?utf-8?B?L3U2U2xpaTFYVjk1OFNuQnlUNlNlVW03aWpmOW1Gclp6VmxITVBHNEpWYmhj?=
 =?utf-8?B?Z3FKM0xwR3FHU1BxVWFYMGEzbDB5bkRhMEhjb1Z3azlUSGNGUDNWMmN6QW54?=
 =?utf-8?B?QnJ0d2YvR1JnZE5STnc4NndiVDlicm54REo3QlhxMHVacFpyeEJSQ3BCR3FW?=
 =?utf-8?B?ZGljN0M5aXIveDIwRSt6Q0xVeGhTODJheXJBRzd2aGJ3Q2dkMVFCRnJGZHlC?=
 =?utf-8?B?OVF1amNqUmtsMEpiWU1vMjBMMmxPbGRNZ1FKRlZoVjBzVkZkYkxCSHNBN0VW?=
 =?utf-8?B?dHZYR0tJNTRoR3Fhcnlqa2NwZ3F4QlF6ZW0zaEhTYzQxajM5VVIwNzlwdFVN?=
 =?utf-8?B?WGs0Q1hhZE9qUHFzU2ZMUmZuWEQ4ZTRhN3ZRdTRqcVVMcUs2cFo3ek45ME5Z?=
 =?utf-8?B?RGt1QzhVUnZ2b3RrVUphU3lVZ0tPVXF2VmYvZzM5YnNNeEdvZ3VJbEx1RldY?=
 =?utf-8?B?UHJzaGhFVlhocytKb3VoSUVJcURJcGtMNkt1c1FGbndNVm1zME1jQ012L0NS?=
 =?utf-8?B?QXdISytjTk5kMmxUbk9DZlIyTGxveE1la0RMYVM0R2xiUitTQ3BSVWZVRlVl?=
 =?utf-8?B?cTdBWHBWSldhd003WmozakVnUDVRNVNZQXd4SmtNc09BTmFFYlQ2UlBJZkFw?=
 =?utf-8?B?OUlwRXlEN1VUMnhmWTd1dHUzR0lGZXR2YmhOVURwbFlKM05UWXFZTnp1UzY5?=
 =?utf-8?B?UFBQRnMwT1hubnQrVWxTNUZUcVV3aWhwMXcvelZNNE1nc0NjU3dwZmZLYTJB?=
 =?utf-8?B?QlZYZEIrc0RLcVBsTFJ0MmdhMUduSjlZSncvaWwxWmVnNEtFWW5CajUyQ2xu?=
 =?utf-8?B?Sklxb3ptbmJIcFBNdUlhMjlXWDlxUDVORjBEMzc4VGM1S2Y0MmdQbDBROGRY?=
 =?utf-8?B?K082cEdUUG1vYS8yQlhJcU50WlkzeGdxZzFYSjgzRkV3Y2dhSml2MDM4bGpx?=
 =?utf-8?B?ZVBqMjlBeG01SGxkMk5Kei92bFE5U3NkQm10YlQ4RUIrOHFsQnNuVzhzSDBV?=
 =?utf-8?B?UTZtZUJiVmREdmtpV1hzYy96WUV1Z3BPVlM2THdDZW9aMTVFdEIxS3pRdDBM?=
 =?utf-8?B?eVJHR3ZXTFFEY0hhTVBQdEZnNHdmWVVsQVJDa3FhekRGYUc0UFIyMVFDemhz?=
 =?utf-8?B?dW9Bd0J1MGZOR2k3cGw3aUhxclJkMS83dHF1ZFJkMHBNNTU2enEvRXl2UUhi?=
 =?utf-8?B?Q0YxMXZUaElXTTR0S01ndlh2Z0xpNTFlYklEUU43U0VWcEk0QjlpcG1VL29W?=
 =?utf-8?B?VDQ5Wm5mMFd1V25ISUlQeEtEdElYcjB5b0RjNHFiNjJlbmtxbHBjMUNOQkNW?=
 =?utf-8?B?V2pNakVCNmVqMXhVeHFYKzByUHh6SzAxNVhydVZXTlZlbGRGWW1yb045eEVi?=
 =?utf-8?B?cDZYanFSb1FWYUxiME9BdUYwMVFUekpabDVDeEFwbG12UHJEa2JHY2J5UlNw?=
 =?utf-8?B?YkQ2QUdZK0c5TEFUWFB3WFV2U1lNSjliaWl0cjlnYTJkR1JTOG1zQWxEWEJt?=
 =?utf-8?B?Zmozc2lXT0JuL2hJa3Jzakw1STJsaXpYcjdKSHE4YWs1b0pOZVlpSjNPb0Vs?=
 =?utf-8?B?amJTZmhtbDBwMHVBNkdQSW1zWEM4NURBNmp6U1dHWTduUVRhTVV3eUFFZ0ZS?=
 =?utf-8?B?UEc0WEZmckM4WWgxMzMyM2lrWUZPb3NoZkh5QXBxMC9Gdm1ZbzI2ZWtzV0tw?=
 =?utf-8?B?VHc4NlFGcDNmcnhnK3d6U3hPdFJXZUh5SHEwTHNjUVZ5YjIvUEViNmlBOXFJ?=
 =?utf-8?B?U3lLWjVlSUFGdFZZNFFWa2FHOUEwV01IZTkxS3cyME5ZQ2RKbXNmZ1d1Qnl1?=
 =?utf-8?B?cVNFRlhPeThueEdVQk5uejVFQUdaVXg1OEVoQTdsRXJJQTF2NDJjR3lURkdF?=
 =?utf-8?B?VkdSdE8wUHBnbHJPcEFDNE5hTUY1bUw3Qk8raCs3MUROeHhqNTQ2L1RIaDVn?=
 =?utf-8?Q?e+q4ipYt49lSHBw4eprKZas92?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d2e41ffe-59ae-4646-ed96-08db2a2cd455
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 16:53:43.3792
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lPg5qjzwmldRlRwRlNCpqsfFKaJQ5l9yeAIBY4jHxSRHCzX2jZbILJd4TcQyG19sGTPaoMUdNb1oAV57lUlHGA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8913

On 21.03.2023 17:15, Ayan Kumar Halder wrote:
> On 21/03/2023 14:22, Jan Beulich wrote:
>> On 21.03.2023 15:03, Ayan Kumar Halder wrote:
>>> --- a/xen/arch/Kconfig
>>> +++ b/xen/arch/Kconfig
>>> @@ -1,6 +1,12 @@
>>>   config 64BIT
>>>   	bool
>>>   
>>> +config PHYS_ADDR_T_32
>>> +	bool
>>> +
>>> +config PHYS_ADDR_T_64
>>> +	bool
>> Do we really need both?
> I was thinking the same. I am assuming that in future we may have
> 
> PHYS_ADDR_T_16,

Really? What contemporary system would be able to run in just 64k?
Certainly not Xen, let alone any Dom0 on top of it.

> PHYS_ADDR_T_128. So, I am hoping that defining them explicitly might help.

Yes, 128-bit addresses may appear at some point. Then (and only then)
we'll need two controls, and we can then think about how to represent
them properly without risking issues.

> Also, the user cannot select these configs directly.

Sure, but at some point some strange combination of options might that
randconfig manages to construct.

>> If so, what guards against both being selected
>> at the same time?
> At present, we rely on "select".

You mean 'we rely on there being only one "select"'? Else I'm afraid I
don't understand your reply.

>> Them being put in common code I consider it an at least latent issue
>> that you add "select"s ...
>>
>>> --- a/xen/arch/arm/Kconfig
>>> +++ b/xen/arch/arm/Kconfig
>>> @@ -9,6 +9,7 @@ config ARM_64
>>>   	select 64BIT
>>>   	select ARM_EFI
>>>   	select HAS_FAST_MULTIPLY
>>> +	select PHYS_ADDR_T_64
>>>   
>>>   config ARM
>>>   	def_bool y
>>> @@ -19,13 +20,48 @@ config ARM
>>>   	select HAS_PMAP
>>>   	select IOMMU_FORCE_PT_SHARE
>>>   
>>> +menu "Architecture Features"
>>> +
>>> +choice
>>> +	prompt "Physical address space size" if ARM_32
>>> +	default ARM_PA_BITS_48 if ARM_64
>>> +	default ARM_PA_BITS_40 if ARM_32
>>> +	help
>>> +	  User can choose to represent the width of physical address. This can
>>> +	  sometimes help in optimizing the size of image when user chooses a
>>> +	  smaller size to represent physical address.
>>> +
>>> +config ARM_PA_BITS_32
>>> +	bool "32-bit"
>>> +	help
>>> +	  On platforms where any physical address can be represented within 32 bits
>>> +	  , user should choose this option. This will help is reduced size of the
>>> +	  binary.
>>> +	select PHYS_ADDR_T_32
>>> +	depends on ARM_32
>>> +
>>> +config ARM_PA_BITS_40
>>> +	bool "40-bit"
>>> +	select PHYS_ADDR_T_64
>>> +	depends on ARM_32
>>> +
>>> +config ARM_PA_BITS_48
>>> +	bool "40-bit"
>>> +	select PHYS_ADDR_T_64
>>> +	depends on ARM_48
>>> +endchoice
>> ... only for Arm. You get away with this only because ...
>>
>>> --- a/xen/arch/arm/include/asm/types.h
>>> +++ b/xen/arch/arm/include/asm/types.h
>>> @@ -34,9 +34,15 @@ typedef signed long long s64;
>>>   typedef unsigned long long u64;
>>>   typedef u32 vaddr_t;
>>>   #define PRIvaddr PRIx32in
>>> +#if defined(CONFIG_PHYS_ADDR_T_32)
>>> +typedef unsigned long paddr_t;
>>> +#define INVALID_PADDR (~0UL)
>>> +#define PRIpaddr "08lx"
>>> +#else
>>>   typedef u64 paddr_t;
>>>   #define INVALID_PADDR (~0ULL)
>>>   #define PRIpaddr "016llx"
>>> +#endif
>>>   typedef u32 register_t;
>>>   #define PRIregister "08x"
>>>   #elif defined (CONFIG_ARM_64)
>> ... you tweak things here, when we're in the process of moving stuff
>> out of asm/types.h.
> 
> Are you suggesting not to add anything to asm/types.h ? IOW, the above 
> snippet should
> 
> be added to xen/include/xen/types.h.

It's not your snippet alone, but the definition of paddr_t in general
which should imo be moved (as a follow-on to "common: move standard C
fixed width type declarations to common header"). If your patch in its
present shape landed first, that movement would become more
complicated - first and foremost "select"ing the appropriate
PHYS_ADDR_T_* on x86 and RISC-V would then need to be done there, when
it really doesn't belong there.

>> (Using "unsigned long" for a 32-bit paddr_t is of
>> course suspicious as well - this ought to be uint32_t.)
> 
> The problem with using uint32_t for paddr_t is that there are instances 
> where the paddr_t is modified with PAGE_MASK or PAGE_ALIGN.
> 
> For eg , handle_passthrough_prop()
> 
>              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);
> 
> And in xen/include/xen/page-size.h,
> 
> #define PAGE_SIZE           (_AC(1,L) << PAGE_SHIFT)
> #define PAGE_MASK           (~(PAGE_SIZE-1))
> 
> Thus, the resulting types are unsigned long. This cannot be printed 
> using %u for PRIpaddr.

Is there anything wrong with making PAGE_SIZE expand to (1 << PAGE_SHIFT)
when physical addresses are only 32 bits wide?

> I remember some discussion (or comment) that the physical addresses 
> should be represented using 'unsigned long'.

A reference would be helpful.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 16:56:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 16:56:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512879.793219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefHr-000132-Ie; Tue, 21 Mar 2023 16:56:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512879.793219; Tue, 21 Mar 2023 16: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 1pefHr-00012v-G1; Tue, 21 Mar 2023 16:56:39 +0000
Received: by outflank-mailman (input) for mailman id 512879;
 Tue, 21 Mar 2023 16:56: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 1pefHq-00012n-Ly
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 16:56: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 1pefHq-0002B8-4P; Tue, 21 Mar 2023 16:56:38 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[192.168.4.43])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pefHp-0004G8-Tf; Tue, 21 Mar 2023 16:56: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=bk62vuHNI2EF7EdnUeevlR0Ko/mNTHWO6EDlw+aoXVE=; b=VsWnlqyN35r7n7GiEteSif2SFg
	RVndrCasTFv9hfgCsQqbitIIgQ+366tKVRJNLUccEIc4Zji8CcR1aSKtzBTH/+wbSJBQCc2Ld3h9Y
	MakGObM0Jz7uxPpPaaue2WeRCsazubuLT0mJiKCuJK6GW4DIkMzB8bT1IWaJfb9x3CPo=;
Message-ID: <b0fe586a-1a55-dbc3-a673-2c3809b3c1d3@xen.org>
Date: Tue, 21 Mar 2023 16:56:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v3 1/2] arch/arm: irq: Add platform_get_irq_byname()
 implementation
Content-Language: en-US
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>,
 xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, Bertrand.Marquis@arm.com,
 Volodymyr_Babchuk@epam.com, rahul.singh@arm.com,
 Andrei Cherechesu <andrei.cherechesu@nxp.com>
References: <20230313130803.3499098-1-andrei.cherechesu@oss.nxp.com>
 <20230313130803.3499098-2-andrei.cherechesu@oss.nxp.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230313130803.3499098-2-andrei.cherechesu@oss.nxp.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Andrei,

I realized this has already been merged. But I would like to point out a 
few things for future series.

On 13/03/2023 13:08, Andrei Cherechesu (OSS) wrote:
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> Moved implementation for the function which parses the IRQs of a DT
> node by the "interrupt-names" property from the SMMU-v3 driver
> to the IRQ core code and made it non-static to be used as helper.
> 
> Also changed it to receive a "struct dt_device_node*" as parameter,
> like its counterpart, platform_get_irq(). Updated its usage inside
> the SMMU-v3 driver accordingly.
> 
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
> ---
>   xen/arch/arm/include/asm/irq.h        |  2 ++
>   xen/arch/arm/irq.c                    | 14 +++++++++++
>   xen/drivers/passthrough/arm/smmu-v3.c | 35 +++++----------------------
>   3 files changed, 22 insertions(+), 29 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/irq.h b/xen/arch/arm/include/asm/irq.h
> index 245f49dcba..af94f41994 100644
> --- a/xen/arch/arm/include/asm/irq.h
> +++ b/xen/arch/arm/include/asm/irq.h
> @@ -89,6 +89,8 @@ int irq_set_type(unsigned int irq, unsigned int type);
>   
>   int platform_get_irq(const struct dt_device_node *device, int index);
>   
> +int platform_get_irq_byname(struct dt_device_node *np, const char *name);
> +
>   void irq_set_affinity(struct irq_desc *desc, const cpumask_t *cpu_mask);
>   
>   /*
> diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
> index 79718f68e7..ded495792b 100644
> --- a/xen/arch/arm/irq.c
> +++ b/xen/arch/arm/irq.c
> @@ -718,6 +718,20 @@ int platform_get_irq(const struct dt_device_node *device, int index)
>       return irq;
>   }
>   
> +int platform_get_irq_byname(struct dt_device_node *np, const char *name)

You are changing the name but don't really explain why. "np" also ought 
to be const as this is not meant to be modified.

> +{
> +	int index;
> +
> +	if ( unlikely(!name) )
> +		return -EINVAL;
> +
> +	index = dt_property_match_string(np, "interrupt-names", name);
> +	if ( index < 0 )
> +		return index;
> +
> +	return platform_get_irq(np, index);

The existing helper was returning -ENODEV when there is an error. But 
here, you went differently. This is the sort of thing that ought to be 
explained in the commit message because it is not obvious why you 
changed it *and* that you actually checked the callers are OK with that.

Thankfully they are all.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 16:58:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 16:58:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512882.793230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefJE-0001b2-U7; Tue, 21 Mar 2023 16:58:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512882.793230; Tue, 21 Mar 2023 16:58: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 1pefJE-0001av-QW; Tue, 21 Mar 2023 16:58:04 +0000
Received: by outflank-mailman (input) for mailman id 512882;
 Tue, 21 Mar 2023 16:58: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=NAJ/=7N=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pefJC-0001ap-Te
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 16:58:02 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe02::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 891bdd10-c809-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 17:58:00 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8522.eurprd04.prod.outlook.com (2603:10a6:20b:431::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 16:57:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 16:57: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: 891bdd10-c809-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EpGVprCSIueOR58k+eOsxA1P4eY3IxUE/R7jbxaNgm50fohF0VSgj1flUfitMDq96ovCxOE3S+/QJ0MgMy0FgPWOOYCw0xQWAUuRVbRfq1H4geThaoTGp0Pt4bdMIC/8VZjewwdYtleq9nKSCN0vKqc6jbg8GZi8ZuUPygGnsSTrSd4RMSgX8syMnssYtlFH/bFJ9UxYS+Qh6ijfvSikD48UYYn6UMzs15NTAOsNI4DLC1MFK3TCdLhsS4IWpjsSSUsf+Ln3UYqGVyjcgDEGTf0bsRTxxlJ+Y/uxYm1ZU0gTTqCnV5CXrfWVrbldBQu3Hu1UioKGVzzuYFJCnQS31g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+JWnvlmSS/rEgkcKvReQNnqmSqyhEp8rVlYj9l55BmM=;
 b=fFREadssMqBJ+jJBUcXW8qrD0s8f3VcMIFGOoiLN/FClPSo/R+oYhkQXFiV8yCJii4OYylg8AZ3kQwt9XGa+DdF0ZL9FPqPToLIPF6HTYNCD62gZlgs32CHG9vhXb7u4mtFX2MgJb6eQCsqNwZWDwFrjv/2xvUB0RxUs9WUZfqIBHrlb6hFrL2n4h2sYcBW0GuRsQBH+NOcjKajKzgBWWtppAtRd9hAWjVb3ZQ3ngaGTpNu0YbuEMcO+hVLbqbVB3STNXgTUF3MMoX6wyxfugm0LRf+dfqG7ys3dEDAc5F7GbUnNP6Ns6MpHX3wcn6RYumsPVx4pKpgp+9tzOlg96w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+JWnvlmSS/rEgkcKvReQNnqmSqyhEp8rVlYj9l55BmM=;
 b=dtK1rEl6ShMftp7/vXfkd3rCliYB3wB6beeWJEbjdzyDqJc2oi4nPWxYajIhUyTrvtaUzxYmjgiF3NTAZVlikb8rNhlSsXkKXoRgWk8B+4efru58jEqyy0JhjgK6UGKrqkVv0U6pIXEMgQJ/amxeB0+nmzLQJBwCb5c8Z/cnXtXqOnzqb3IPVJ+nvHhv+svf4m3Khl5KDY2UvUKtiylP7SSzQCVbHUTXFJQ4eX9403wXaRsMjU6pdwmNtQNb8vgrQL+Ffk/ZuSKpbCroI4VfslzJHTF35ejgvFHPCGKu0F3vzKxJ19Hnq0GedEhbOOihMqiHFeUJ1yrt8tDRmJdWxQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1690457c-6986-065f-524b-92db1dc8ce09@suse.com>
Date: Tue, 21 Mar 2023 17:57:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] move {,vcpu_}show_execution_state() declarations to
 common header
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <volodymyr_babchuk@epam.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <fc2156d8-76d7-b6d2-3d39-266dbbf4a0fb@suse.com>
 <c41b6b39-5ed3-cddb-18f8-41d895aceada@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c41b6b39-5ed3-cddb-18f8-41d895aceada@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0062.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8522:EE_
X-MS-Office365-Filtering-Correlation-Id: 499b3aa6-a65e-488d-5a6a-08db2a2d6c34
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mWHz/15sWDbuX4AaUpmxPBS4GY8iGhMtdUqRz+xcDL2stDyfBRH5X62/9/J4VTc23LjXufGqZTDuI7pWph0PHELTsppZWJ+JCT2Mb2DlGJud8H1rDXUNdT+M4o/o1CHIAZcM7ddFOFDb4ySBI/0d2vDtBkNCRsU3t9Xq1HgRi+1WSEQ//VPEa4pWNhISgzzlODEuvffhSQR09VDIxW2AXqwrEtgAbUG1pItRj3gfXUPtPDIv7EAl49vzX2DWgGlAGlNuvJZcnardVNKE+mHc4RmaqjrSinz9ATMtUHN0muKnL44zQMKzaEbd2N1mgYE0hHJ6zufkWY2q8beL3m16yHjSbZ6z9XTRWUcAf6DkDcxd9uTXJH3FHAC4CRK0J6w0JuOwr3ARNw8XsbFfyRdktEfaNbpUSuCeVwnzWu63W66FfVaJtu/NlM5lddom9KbLuRQm3SnAgZTEhcXfXXO3jOdkEjsnNPneVd6tSVuZX9KQBJmQA315gNj0TjhR710tFvAoeaiwRJN7zzOITRebdhV/Z3kKuZXNr3+nFU5ibx9LzjV/p0smZ7HlVg0DXt+eX1fu56dwY9b1Gaz8o17aWGxsov5t8HJvXEKXtYVHttAlfMmxHySDIZOG5x1VMcFjTsNsOk0a+QxKRGMTAEZngeb/Nte9mKUOpoE92DLbdij7D/QVp0wPS5Dy1fnPLsUMJG2l35Rr14wKh3yLYfi/0TAv2N85dix/1RoDWXGQZjg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199018)(36756003)(6486002)(54906003)(478600001)(38100700002)(5660300002)(66556008)(41300700001)(2906002)(7416002)(66476007)(4326008)(66946007)(6916009)(316002)(8936002)(186003)(2616005)(53546011)(6512007)(6506007)(31696002)(86362001)(8676002)(26005)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MWVPMHl2QUszRE9wNW1QTEFac29KcityNnlPbUx2WVdYR3lZNm9ZQnZBQ2t4?=
 =?utf-8?B?d1c5MUJMZFd1dkl3OWlVRENicG81VTRCazh5Zm1EOUt4dU9wRXI1NUl3c09E?=
 =?utf-8?B?WTVsWGM4cnpiVWVnaG1vM21kam8xTThQMVdHclJTV3hzckdyN01zL2xxMUh5?=
 =?utf-8?B?S1hkc3dQa2VsVmkwSUdjbFFrci9UYlVXeGJmb3pPaStOVGxGQkVBSDFUN0J4?=
 =?utf-8?B?TDVnNTlZWGNCcFhwR00xQjZFVWRqZWZHVTc4WTVDcFl6ZXV2WUxkb2ZhUHZn?=
 =?utf-8?B?ZTArU0tKZ2REU093eVZ0VC96bTVPYWpVdTVEelYzNFFTazUxSE9nYnFqZG5v?=
 =?utf-8?B?dXJiSlpGTWhPLzM5cG9iam1hRHRsS3RtMDAxR2pkZjdIZy9DYVZYUmpMZ3Vh?=
 =?utf-8?B?bmFmN09YUFdTYm9TVFFWOEFIbTVvZmo5TzJhYTd5cnd3Sm5QS2hQbGZhUEg4?=
 =?utf-8?B?dVZlcmxwNWdieS9Pa1VPNzNaNDdYdzNKMERiMk9xdEh3RU1iOFBvK0J1S0Fy?=
 =?utf-8?B?TVk2ZjBjcXEzeTB1cHFCQnVyeDRZTStsaGkvSEhjU0pWQlJPTzNBd3dPNG5r?=
 =?utf-8?B?Yk5pZXI2NWhPUmtXQTNPSG11OXdCU0pzdC8zQTQzOW9oR1MwR2ZCWXVEa1BF?=
 =?utf-8?B?bjhORXNMYktWdGxYMlFtMnJHbVFwQ1pka3I4Nm1LTGw1Z0t6SkpJM1JQMmtZ?=
 =?utf-8?B?VlBVVEkyeVlMUEdMNzNkKzJ4L3lISG44bjhPaXFSamxBTGxwOWthRnJ5dDZw?=
 =?utf-8?B?NXZNVVJZYVdTMkxES0hlUEQyWHprYkZIYlNnZ21GdXhpS1dvREMrT24vTG51?=
 =?utf-8?B?NXhXeWxkenVqMDhnR3Z1M25tL0VLQ0pheFY2bVQwSDRmblA4VFRQbmF6dCtZ?=
 =?utf-8?B?YjdYY2VwYlFwZm5pT2dVTm45ZksvcTBqb1NBQVdKdm4vMSsxNmJjMEJJNWlt?=
 =?utf-8?B?dEFIWmV1cXFublphKzlHMDdLc2c5T0FCcHZ1ZlFkOEUvZm5lMXdaWFR1alMv?=
 =?utf-8?B?NEZWK0ZYVmtNWHdhTDEva01GN2NNY1lqUUEvVTcxWDhDNHBsUjhNV1VzUnRY?=
 =?utf-8?B?MGZ0SjRaWTZTNUpZT0pCNlBtL1psV1Ara0wwNDZ1NkcvOUFvMERFby9mRHdB?=
 =?utf-8?B?b1NzVm9wMTZSTDgxcHdpMUExcVR2ajBOamhsRERLUUpuM3BWUU5DWklBTDJY?=
 =?utf-8?B?NWhwRWcvVzhOa0pxUEozRzhoVjdPNFB3d2NIaE9hQUdIWEROeU9jQlhOWnhU?=
 =?utf-8?B?TmVMUmZWekUrZDJDRUVuNXJCZXRXV0dxQTVDU0V0SElFSHp0clRXY282N0J3?=
 =?utf-8?B?OU9WSE5MSGMwTjUxRmxHUzJKWDBSaXRvaFVTcTN2YjFPNFBRbTV5V1lvUm9k?=
 =?utf-8?B?aVVVekFNMGJQWWhXSldzNWJSL2Fua1BoUmN6enhNS0xhaVlSR0tubU9pWktJ?=
 =?utf-8?B?em83RFoxQW44MTV0d0I4NUM4WUNsS1VXK3FjQWJwMEVoWWFLVlZOVTdVT3Y4?=
 =?utf-8?B?bVBaTkkvdEZ6WlNSSEdlZTdLdnlGa2NpRGRHTW41a0Q4S2FiUGtlRXFaU3o3?=
 =?utf-8?B?UStFR1Y2SUp3THpUS1VEcCtoRkdHRGlFM0JvRnFCZ25BbTdiLzR6QTBnN2Nt?=
 =?utf-8?B?R0tnSGJLMitKTXdsek4vUXRJWDlCUzhvVkdIWXh4UHNSZ1djVitKQ3ZyZWFz?=
 =?utf-8?B?YzFwNkNCL25XYTdzTXJpR1JBWG0xWU54ZTNsTGlaaEMwd1IrRkhNMWhqdmtP?=
 =?utf-8?B?cUZkS2JjZEJrTk9nWWdoT0s2QU9oK2xLOHU0VUVtVUhzdzV4N1Y4L21OYnc1?=
 =?utf-8?B?amE1aW1qM0F1YVhSVTNYQkQ0d3dQN2NyY3JQaVF2emp5TnJrajVFWjhLZzlh?=
 =?utf-8?B?REw2Zk10Q05ydmxGQ2lmblIwSDRWR3NZMk1DQlZTaEdxNFlkSHpTYUI1S1Vw?=
 =?utf-8?B?MGZWL0dGUkJQTTJuKzdBanVBbklObDhWNlovVERJU0cvWU1UOHBkRWIybUlp?=
 =?utf-8?B?cndGNHd4UENFcCtyV2g4TE1iTzc4ZzJHNk91Q1hmUWxTUXJWMXFWaWFlNWY3?=
 =?utf-8?B?a0ZUOERWR0VEUzlSakpTZGloRHVYRFJOTFVDUkVxQi9YMjFLQ1Urb3d5aFVR?=
 =?utf-8?Q?0UIQ1P9vvX5MRkaoGl2gWhnII?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 499b3aa6-a65e-488d-5a6a-08db2a2d6c34
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 16:57:58.1728
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3WD8zGsGVlstRZml9SolfEugJKGptg0/r1PrM7Qrslcnyug4yrpTjgGnwx/mPg9VkWrVBGQjmIVvaW2Gd/nxxQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8522

On 21.03.2023 17:44, Julien Grall wrote:
> On 16/03/2023 11:55, Jan Beulich wrote:
>> These are used from common code, so their signatures should be
>> consistent across architectures. This is achieved / guaranteed easiest
>> when their declarations are in a common header.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> There's no really good header to put the decls, imo; I wanted to avoid
>> the already overcrowded sched.h. show_execution_state_nonconst(), being
>> there solely for dump_execution_state(), could of course live in the
>> upcoming xen/bug.h ...
>>
>> Is there a reason that Arm (still) expands dump_execution_state() to
>> WARN()? Without that moving x86's show_execution_state_nonconst()
>> definition to common code would also make sense (it could be done
>> anyway, but then at the expense of introducing dead code to Arm),
>> perhaps (see also above) into the upcoming common/bug.c.
> 
> run_in_exception_handler() was only properly implemented a couple of 
> years ago on Arm and we didn't switch dump_execution_state() to use it.
> 
> That said, the current implementation of run_in_exception_handler() 
> would not be correct for dump_execution_state() because it clobbers 
> x0/r0 on Arm.
> 
> This should be addressed with Oleksandr work to consolidate the bug 
> infrastructure. So it would be fine to move the helper to common code now.

Well, Oleksii's work hasn't landed yet. I'll try to remember to follow
up once it has.

> Alternatively this can be left as a clean-up because 
> dump_executation_state() could now be common.
> 
> Anyway:
> 
> Acked-by: Julien Grall <jgrall@amazon.com>

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:02:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:02:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512885.793240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefNS-00036M-Ej; Tue, 21 Mar 2023 17:02:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512885.793240; Tue, 21 Mar 2023 17: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 1pefNS-00036F-Bh; Tue, 21 Mar 2023 17:02:26 +0000
Received: by outflank-mailman (input) for mailman id 512885;
 Tue, 21 Mar 2023 17:02: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=oKE/=7N=citrix.com=prvs=437062dd9=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pefNQ-000369-Eg
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:02:24 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 23f8550d-c80a-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 18:02:21 +0100 (CET)
Received: from mail-bn8nam12lp2173.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 21 Mar 2023 13:02:18 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN9PR03MB6026.namprd03.prod.outlook.com (2603:10b6:408:137::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 17:02:15 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 17:02:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 23f8550d-c80a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679418141;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=LpgM0Y2qRpi9rxznwCbimtBiAKclAW78pqYBWUtyn2Q=;
  b=Nnj7Mvh1ScUCW6+icHO1QnJaBScHEhp42eiEx/L1d9KNIsdq6vvIdO2b
   rU2TN+hFf2FSC8zvrX8OhqdKB7Tlwy62DBxKqOMCMIDLaZsOmasrl5Rn5
   H6ci2qCwGG44nJ7ym6BAhUMEv3YfDJI8Zud0lBx9IVaOvo0lEfyJfPlsI
   I=;
X-IronPort-RemoteIP: 104.47.55.173
X-IronPort-MID: 102156610
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Hrf+Z6nOX5cG8UWQq4kuBCPo5gynJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJNDTvTbKzeZWfyKdknPI2w8E4P65KGy4MwTAM+pHhkRCMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5gaGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 aU7cS1WQkG4vrOzzeuRVel32tY8HMa+aevzulk4pd3YJdAPZMmZBo/stZpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVE3iee2WDbWUoXiqcF9hEGXq
 3iA523kKhobKMae2XyO9XfEaurnxHuhAd9MSuTgnhJsqAyM6WsaMTkvbAG2mMuyiGycavxDB
 nVBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9Vna15rqS6zSoNkAowXQqYCYFSU4P5YnlqYRq1BbXFI88S+iyk8H/Hiz2z
 3aSti8iir4PjMkNkaKm4VTAhDHqrZ/MJuIo2jjqsquexlsRTOaYi0aAtTA3Md4owF6lc2S8
IronPort-HdrOrdr: A9a23:ilTnBaDABQLktUPlHejLsseALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPH/P5wr5lktQ/OxoHJPwOU80kqQFmrX5XI3SJTUO3VHFEGgM1+vfKlHbak7DH6tmpN
 1dmstFeaLN5DpB/KHHCWCDer5PoeVvsprY49s2p00dMT2CAJsQizuRZDzrcHGfE2J9dOcE/d
 enl4N6T33KQwVlUu2LQl0+G8TTrdzCk5zrJTYAGh4c8QGLyR+49bLgFBCc/xEGFxdC260r/2
 TpmxHwovzLiYD39jbsk0voq7hGktrozdVOQOSKl8guMz3pziq4eYh7XLWGnTYt5MWi8kwjnt
 Xgqwope+5z93TSVGeopgaF4Xir7B8er1vZjXOIi3rqpsL0ABo8Fsp6nIpcNj/U8VApst1Q2L
 9CmzvxjesdMTrw2ADGo/TYXRBjkUS55VIkjO4olnRaFa8TcqVYo4Az9F5cVL0AACX5woY6F/
 QGNrCV2N9mNXehK1zJtGhmx9KhGlw1Axe9W0AH/veY1jBH9UoJu3cw9Yg6pDMt5Zg9Q55L66
 DvKaJzjoxDSccQcOZUGPoBadHfMB2NfTv8dEapZXj3HqAOPHzA77Tt5q8u2e2scJsUiLMvhZ
 X6Vk9Cv2JaQTOhNSS35uwJzvnxehT+Ydy0ofsuoqSR+4eMC4YDCBfzCGzHyKCb0rEi6s6yYY
 fHBHsZOY6lEYLUI/c44+TPYegtFZAgarxlhj8aYSP4niuZEPydisXrNNDuGZHKLREIHkvCP1
 prZkmAGCwH1DHmZkPF
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="102156610"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aRfP5smR6/nr2/p8SPiQ0cNm+hIQUWmumzEbxRyP5sivf4OjK8aTUy31z8DVr+u+fxMCZLVk+a6oelNQE3OAFXC60d8wUDV1dbP+7WOgA4rYnGDMR18kBbVg/UfIXR4F+GU2RB9GkhsFPvwcpfB7T23kEoiO7MFh75zWYrJ60uuuTNMqGaW4g/al+lYm4vacLij7n8LdBVTj5lIYto8VLYuqQcGyDBHud5ASOg4FFk2ApA995cv1ugDLSttlbOmAbblmeseV4ILtrFlF72F+vYjrVzG0DO5tLkBVGgUJMfcA3fhK5p/46roMVKgN6mrsL24VeYBE3yPHoVBxXqBvBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BA+WzcR8xh0aD68iDNMC6IbMvR0wFWFv5Phxvyr4UnI=;
 b=lxVr/lxiXpzeLVFn6GKolp1RltecCRA8L33qmvQhABwlgRihp60e2ng7NzrarhrjVoG184SkR/pHcH1ojgR5DCyZiQzlG0bgyKLFTpHD7+Bt76VvPNImjdzn8EM0/yPrS/RNFgQnwSEEUW8VWNw+x7mwk4BAyDSHzdpg+NtDVFeuHRA5pD+jpwxxNPvOzc670RthbC0PJxpYLVzj101GDbmToqYYjC/k8/TFVu81LXI+rAzI1ETzgIO4HxoHqXEXpEc49N2xhVNc1wNlLDubSOLnKMH7y4ECJ8cxITx4jdPTc/80UhOpKqW9esK/C/+dRmVDiZmVena8uZ+/zWDfZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BA+WzcR8xh0aD68iDNMC6IbMvR0wFWFv5Phxvyr4UnI=;
 b=iX/RWH2pBj2KMeWHP02OEnXZnTDP9FolrEKPDcgXU9RFaJ03+CBWBUkongk2J5htFOaM7tmBb7pK7R+8ZNQS1fT/j0ILc2oKHSLrpO6k3/KvSf/e8mMDoauHkf0myBW4jcFPdqkdIbcVAj4NSvMLoybZ++yEsZ89j7kl0ifBlUw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 21 Mar 2023 18:02:08 +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" <xen-devel@lists.xenproject.org>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2] x86: use POPCNT for hweight<N>() when available
Message-ID: <ZBnjEPf3cg8ecHlD@Air-de-Roger>
References: <55a4a24d-7fac-527c-6bcf-8d689136bac2@suse.com>
 <ZBRNWhExetXH1OaS@Air-de-Roger>
 <011cb7d8-fb32-74b1-2b06-f57be67f5c6a@citrix.com>
 <f1b0e3be-cf23-6471-7a59-c130380be0f8@suse.com>
 <ZBnF2oTLQjJtfZiK@Air-de-Roger>
 <e18b997f-48ba-4090-0c0e-67475f5b3329@suse.com>
 <ZBnb8Dv08XZm+a3t@Air-de-Roger>
 <3d866810-f33e-fc37-abbd-daf7aacc053a@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <3d866810-f33e-fc37-abbd-daf7aacc053a@suse.com>
X-ClientProxiedBy: LO4P123CA0699.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:37b::6) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN9PR03MB6026:EE_
X-MS-Office365-Filtering-Correlation-Id: 6583e723-4ee3-4663-04bf-08db2a2e051b
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RAK1wC0Eg45y1GSHgN3zQZEdwkD+DwAXtr+IGe5OMz6GkwP2M9ChLR/mXestprJm2ZQYvHikjz+Bor+mzf7CVTsWqONdgtlEToNLNuFotkPacgs8L4EiGeQPLUUZDcep6y5vBxQz5BINcroDmP+KfJeF3jtmgoy571MHlZ8n7YATYqqixwwX7TDLt3Iw+NBkDM8Zz/PQ07nkqSzMvyaYtxxMNrjSeV76tubZ6bLKIzAhy1PPSZHp3/mcqxP/XJJKrL4jHNyVMcvKdgEoYppL/Kks5N75dtUFD3m8/z5ekvVFowX11y0Mzk6Wo6T0a2Fj4PeTRvQPpBetjh2sCBOwmTCulU7GZKFdXdcVttjdZwVvqUNqe5RziKvB3f3XSP2zaD+1tS+gjyv948msYTpMjT0gL36cTbz52I1K7eBJJrLeRiehMkxC5Hk9o7prs1fj2P3hkkwnU22FwydPy04/QNGu46qj5jfvKt9ObhQRELfZY0FyQfRbi6/EH/nqBOfdF0R3ZNc7e1+IogmO0NrbaJyBjxkpvj8+EDahgZpVLNipK2SMCnFjXSUT6yrZb05Vjk1btYQ8jc6/EfNUEmD03upHOhK1KrIYPrTtrFLYmBoPcXjO4TrF0ISQjG06xaWStuRWTWtWpdCnJmi1tKkB0ZuYRTG0a8Gp6Fispv5Q3Lo7SKBD7yEV/mqY0SMWsxkRHVOY1OYNB+QoRt/43AFOwg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(136003)(396003)(39860400002)(376002)(346002)(366004)(451199018)(316002)(33716001)(38100700002)(54906003)(85182001)(8676002)(66476007)(66946007)(6916009)(5660300002)(66556008)(4326008)(8936002)(41300700001)(2906002)(86362001)(478600001)(83380400001)(82960400001)(6666004)(53546011)(186003)(9686003)(26005)(6512007)(6506007)(6486002)(16393002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MGQwY1I4VFo4TjZNSHN1MkJIdWd1dFZNRWt4ZGtBUnE0bGh6WUdMT0xXTzN3?=
 =?utf-8?B?VXRSRlhGZlV5QkdURXlsaUNFeFVtUTdqLzkvNXFDNzlPUWFkMWdNUFNlWFRv?=
 =?utf-8?B?RHU2QVhJTE5DRFF1bkJNczBKZGVWbktkc25wWERqcUVtbVZwYlAzT1ZteCt5?=
 =?utf-8?B?dU4wMFhZSHFwQ2orNUIyR1lRZDdMNUhENzV4TmtYbXcxSnYrdis5WktXbDBF?=
 =?utf-8?B?Skh5Y250M3ArSkhNMHYyS1lNUzRqd2hNYkc4cEcrSm4vTmhwdXE5bzJFWUFJ?=
 =?utf-8?B?aE0yU1JpbzM1ZFlUQVFoTW1DMEJ2UWFvb2tBNXZrd1hQUmlaL1IrcXFsY3k4?=
 =?utf-8?B?WFJEbVI1eGxnLzVHS0tBZWZCdHJnTXNkbTlLcEtCM3N4cyt3WUlrbWMrSVQw?=
 =?utf-8?B?QUwyRUd0a0dnRFYzNUpsOUdMcUVWdW8yVWRON0JONE1mSDhBUFgzanV5dFht?=
 =?utf-8?B?U0IzaHpFcG8rdzExUFdGR2V2dzVxMXFPUnJMd21pT2NrZEtEbDhVY3RVV1pW?=
 =?utf-8?B?b1hxMGpKTmVvaGZpdlNaUjNrQzErLzlxN001MExlaS9tamtYOW00RDJBdzky?=
 =?utf-8?B?VnhuM29SSWxuVEhSbHQ0QTJrelNUVXBLRDRRd1UzRFVMQ2dCVXZoZkFXeGFT?=
 =?utf-8?B?UUtyLy9DUjZIRWtES1IrQ3NpT0EzYnRpSnM0eUpPNVJiMnRnWHp0ajZ2c3NR?=
 =?utf-8?B?VzFNTXprM3RVTndPN2VpVDNOU1ZFOVJTTEE5Z0FHWE9SeE1admJXeHV0WnNk?=
 =?utf-8?B?YkZoeGRpZmhLeXV3eUp3VHZTNEdNb01IL2NoWXJ4ZzJjWnFZc29ZNDRFWWdE?=
 =?utf-8?B?TkRndCtxQjdna0NVR1I2UWlwdE5aWDloNVMraFFMemdEUnYyRHFCYktMbVFz?=
 =?utf-8?B?Q04yekR0T1AyRTJHM0dBTkYvbVFmMUtpcnZFdGlROWV5bFNOQTdYUEJmQzNx?=
 =?utf-8?B?aXE4VU5ndGQ0d01qN3YvUm1rSCtHbW1SQzFTUTNpNk93Umw2SG1Sb2VCb0JN?=
 =?utf-8?B?MnZnald2MFBSY3lGZzlCRnRTQzlDaWUveGZ6M3FISncwRkZFNFVPV1prbllu?=
 =?utf-8?B?bzBZaVk1THZPQ0ZhbHB6UTVmNkhYVGdtVjFRMStFQjl3cnBiS21kdjdUcDhk?=
 =?utf-8?B?cHlVNEIraklGcGY5Q25GRlNBdHpyMkloYURUZ0RubU4xSHJvOFZuU0lJWURE?=
 =?utf-8?B?YXlBQXNRaFl5dkpnN2ZjSVFVV2VpN0hKNlgzd2pPQ04yYThWU3NMblcyS0JX?=
 =?utf-8?B?YzFKMVFDSW1yM0UxTm5wS2pBUFJFRklnY3poRUpxMnpVL3ptbVkvcDcyRjU2?=
 =?utf-8?B?YUZrMHN6eWdLakttT1NhTzNCbEZQU3lpZUIyK1p2cmFHcUY0bHpCZmNGVTMz?=
 =?utf-8?B?UlZVVkZVWUZNNFhwY2h6Z0pEMVRiRGVqRUdaU0k3c2R2K3RZWEtQSlZaRFNx?=
 =?utf-8?B?VDdEMUo1Z1FQdHI3QnVTR2ZBc09uT0RhZnNMK2k1RjRUaW1adVZGaG9Dc2FG?=
 =?utf-8?B?RUtKdi9TOFdTL3A0Ulc0MjA1TDF5ZzZvS2hZWjFpRlR6WmhLSmU3UmpzM0da?=
 =?utf-8?B?azh2bTVRMGhhVStxUVVHWmVURDdyMlg1TXFWRFU2Y2xtUFZvQjVxemhiUkk0?=
 =?utf-8?B?YnRxVlRqOXJkZGxsMU9vSTFEcnpPemV1WTdMVlRFb0huVFVkQXFDN0lVRzlN?=
 =?utf-8?B?U1ZkV1lqbUUrdE1yWitqY09pVllFc2pGSEhXbFlEOU9CRUlUWkVBbjZscDRh?=
 =?utf-8?B?SjNCbzlPMjRQdVU3a2k0TkRRbS9zLzJBNUJOSk93SU53Z1hGZHl0cXo5Ym1t?=
 =?utf-8?B?QkdNcnlVM1NnRi9STXAyNE5Yb2FFTkN2cDNSaHM2a0FlR3hpNWtITzlSd1Rq?=
 =?utf-8?B?TVVvbE94eEF2Mnc0MXptV3dRL3M4dVhNUjRaT1BrUkxWbE1pYzhYa0I0TXFa?=
 =?utf-8?B?Qi9OTGdidzRIc2Fibnl0dWlwYk1pbldseHlPRi85blc5bElsMUxxa3VMY3Nn?=
 =?utf-8?B?OGs5RkF3WVNVNXpKV1l2Zzd1N3lZN1Y3Vll3R245U1dYRWxDZ0xGZkZVSjBy?=
 =?utf-8?B?VHBCRnhFa1FxRFBORm9xZnNaQ3R3ckl3dXNJV0dzdndRSnNDUEhtbEkxa05y?=
 =?utf-8?B?UXhPZmJ4ZzJEeUp4WnV1QW5XZTkrY0hpZjVzV2xidnZDSHord3JUY3ovWGV0?=
 =?utf-8?B?ZkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	stWcNKTe+7iYy0qVHc7JQzY/9aVsik9IFAcvPnmjKyclhKkCl1UQSDZk8Fz5pxwcSjBfr7w8zcHuDVLLXq7WCLdBIBAKs8SlMchFW4N1U8nO2yaWtAKd9I4hGAV1eZlYch0CQj8tZ5HhpvXr6QU7kGNQ+PE2dxv3hEFIKWQDHcq7sM5VZwVzQwmRwsnTxxj8TyadgvPI3qNiixnBgF6zHRitZx2f4IerrsOcAzs11Rmnu+OgjDNwwgZJBLQgswrtk/LMOZ8hHbP+WUPAU3wIj3eqmLAlUSjlT++K9PUda6G0IyQfxOVz3j2eCj/scJmv9gI/s+043NNrWIHlwD3B1jY5fkiznqhox9JQIQfSCBBjZZ8r2iSr+vHNdyD5m20e7axouuJhshQg5qrE/TEMjje9BuvgJTOJTT7LsCA4B3fYGWfMWLN1eCyQcJip1Vr0/oSMeSFUx1u6pyk3Fxy8V1j5sYlVlqZMszP2jsSJPgNCVqEGJxu2IMeT9q0eXkK5uT4yXnHztSN1jnDZ/oSgONSPFVMyDy79E8UTh02hVnA8qr22BBKuK9FhjStqrF2FTlVwJZUvmLlUtfCfFu4X9baLD5QFVIZ+DmAPcmeCrhx5CFuyRg30wDvD2SUOdRrLxFAp1jVWcNcdTUAxM4WJnWIcHUl+pPMfSTaTL+JvofLWQX8CSSTg1S8W2D5T53suLbHfw/BDv2k3PP89E0XCfj9W3FgL6ykQbWNMinljWDzxTacWM75fUj/XA/G6Ib1FyrcKscg7Xv6EOowhW5LqYqWfRcAplRRYMToMl46k4NX5sZEsnCXOKwEZ1/P6jQNS
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6583e723-4ee3-4663-04bf-08db2a2e051b
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 17:02:14.8401
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ut9rCnVRuYwwZyApEOzJaC/SSruCq2aDe/fPnWjTbY485ASEJYLMc6TzCY4Z53xBkkN+JE4DeDcpTcB9qTNsyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB6026

On Tue, Mar 21, 2023 at 05:41:52PM +0100, Jan Beulich wrote:
> On 21.03.2023 17:31, Roger Pau Monné wrote:
> > On Tue, Mar 21, 2023 at 04:35:54PM +0100, Jan Beulich wrote:
> >> On 21.03.2023 15:57, Roger Pau Monné wrote:
> >>> On Mon, Mar 20, 2023 at 10:48:45AM +0100, Jan Beulich wrote:
> >>>> On 17.03.2023 13:26, Andrew Cooper wrote:
> >>>>> On 17/03/2023 11:22 am, Roger Pau Monné wrote:
> >>>>>> On Mon, Jul 15, 2019 at 02:39:04PM +0000, Jan Beulich wrote:
> >>>>>>> This is faster than using the software implementation, and the insn is
> >>>>>>> available on all half-way recent hardware. Therefore convert
> >>>>>>> generic_hweight<N>() to out-of-line functions (without affecting Arm)
> >>>>>>> and use alternatives patching to replace the function calls.
> >>>>>>>
> >>>>>>> Note that the approach doesn#t work for clang, due to it not recognizing
> >>>>>>> -ffixed-*.
> >>>>>> I've been giving this a look, and I wonder if it would be fine to
> >>>>>> simply push and pop the scratch registers in the 'call' path of the
> >>>>>> alternative, as that won't require any specific compiler option.
> >>>>
> >>>> Hmm, ...
> >>>>
> >>>>> It's been a long while, and in that time I've learnt a lot more about
> >>>>> performance, but my root objection to the approach taken here still
> >>>>> stands - it is penalising the common case to optimise some pointless
> >>>>> corner cases.
> >>>>>
> >>>>> Yes - on the call path, an extra push/pop pair (or few) to get temp
> >>>>> registers is basically free.
> >>>>
> >>>> ... what is "a few"? We'd need to push/pop all call-clobbered registers
> >>>> except %rax, i.e. a total of eight. I consider this too much. Unless,
> >>>> as you suggest further down, we wrote the fallback in assembly. Which I
> >>>> have to admit I'm surprised you propose when we strive to reduce the
> >>>> amount of assembly we have to maintain.
> >>>
> >>> AMD added popcnt in 2007 and Intel in 2008.  While we shouldn't
> >>> mandate popcnt support, I think we also shouldn't overly worry about
> >>> the non-popcnt path.
> >>
> >> We agree here.
> >>
> >>> Also, how can you assert that the code generated without the scratch
> >>> registers being usable won't be worse than the penalty of pushing and
> >>> popping such registers on the stack and letting the routines use all
> >>> registers freely?
> >>
> >> Irrespective of the -ffixed-* the compiler can make itself sufficiently
> >> many registers available to use, by preserving just the ones it actually
> >> uses. So that's pretty certainly not more PUSH/POP than when we would
> >> blindly preserve all which may need preserving (no matter whether
> >> they're actually used).
> >>
> >> Yet then both this question and ...
> >>
> >>> I very much prefer to have a non-optimal non-popcnt path, but have
> >>> popcnt support for both gcc and clang, and without requiring any
> >>> compiler options.
> >>
> >> ... this makes me wonder whether we're thinking of fundamentally
> >> different generated code that we would end up with. Since the
> >> (apparently agreed upon) goal is to optimize for the "popcnt
> >> available" case, mainline code should be not significantly longer that
> >> what's needed for the single instruction itself, or alternatively a
> >> CALL insn. Adding pushes/pops of all call clobbered registers around
> >> the CALL would grow mainline code too much (for my taste), i.e.
> >> irrespective of these PUSH/POP all getting NOP-ed out by alternatives
> >> patching. (As an aside I consider fiddling with the stack pointer in
> >> inline asm() risky, and hence I would prefer to avoid such whenever
> >> possible.
> > 
> > Is this because we are likely to not end up with a proper trace if we
> > mess up with the stack pointer before a function call?
> 
> That's a related issue, but not what I was thinking about.
> 
> >  I would like
> > to better understand your concerns with the stack pointer and inline
> > asm().
> 
> You can't use local variables anymore with "m" or "rm" constraints, as
> they might be accessed via %rsp.
> 
> > Other options would be using no_caller_saved_registers, but that's not
> > available in all supported gcc versions, likely the same with clang,
> > but I wouldn't mind upping the minimal clang version.
> 
> Right, you did suggest using this attribute before. But we continue to
> support older gcc.

FWIW, I would be fine with not enabling the optimization if the
attribute is not available, but then again this means adding more
logic.  At the end this is just an optimization, so I think it's fine
to request a version of gcc greater than the supported baseline.

> > What about allocating the size of the registers that need saving as an
> > on-stack variable visible to the compiler and then moving to/from
> > there in the inline asm()?
> 
> That would address the fiddling-with-%rsp concern, but would further
> grow mainline code size.

I'm fine with such growth, unless you can prove the growth in code
size shadows the performance win from the usage of popcnt.

> >> Yes, it can be written so it's independent of what the
> >> compiler thinks the stack pointer points at, but such constructs are
> >> fragile as soon as one wants to change them a little later on.)
> >>
> >> Are you perhaps thinking of indeed having the PUSH/POP in mainline
> >> code? Or some entirely different model?
> >>
> >> What I could see us doing to accommodate Clang is to have wrappers
> >> around the actual functions which do as you suggest and preserve all
> >> relevant registers, no matter whether they're used. That'll still be
> >> assembly code to maintain, but imo less of a concern than in Andrew's
> >> model of writing hweight<N>() themselves in assembly (provided I
> >> understood him correctly), for being purely mechanical operations.
> > 
> > If possible I would prefer to use the same model for both gcc and
> > clang, or else things tend to get more complicated than strictly
> > needed.
> 
> We can always decide to accept the extra overhead even with gcc.
> 
> > I also wonder whether we could also get away without disabling of
> > coverage and ubsan for the hweight object file.  But I assume as long
> > ass we do the function call in inline asm() (and thus kind of hidden
> > from the compiler) we need to disable any instrumentation because the
> > changed function context.  I don't think there's anyway we can
> > manually add the function call prefix/suffix in the inline asm()?
> 
> I don't know whether that would be possible (and portable across
> versions). But what I'm more concerned about is that such functions
> may also end up clobbering certain call-clobbered registers. (Note
> that when writing these in assembly, as suggested by Andrew, no such
> hooks would be used either.)

Right, we would just pick the Linux assembly for those helpers.  I
have to admit it feels weird, because I generally try to avoid growing
our usage of assembly, and hence this would seem like a step backwards
towards that goal.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:08:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:08:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512890.793250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefT2-0003wf-8I; Tue, 21 Mar 2023 17:08:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512890.793250; Tue, 21 Mar 2023 17:08: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 1pefT2-0003wY-5P; Tue, 21 Mar 2023 17:08:12 +0000
Received: by outflank-mailman (input) for mailman id 512890;
 Tue, 21 Mar 2023 17:08: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=Mk2b=7N=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pefT1-0003wQ-D9
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:08:11 +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 f3d45d16-c80a-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 18:08:08 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id b20so29517022edd.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Mar 2023 10:08:08 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 q18-20020a170906b29200b008c607dd7cefsm6033260ejz.79.2023.03.21.10.08.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Mar 2023 10:08:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3d45d16-c80a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679418488;
        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=IWFhDX4w8IvQKiiOX7jcfJmtLZQcMzmmRXrew1GNQpo=;
        b=F2ve48DzHKA/evCtuLNfMOfG5ZbEcV3FGdnfUYNCIfNM5qkGeSoS794k/tHidLukdt
         GDo8lMPSY/s6FukpxnuYZXPUM1crL/QYlWH/VwJ6dtlQ1t2QwpVMaXAShmq97UNteX89
         gABKb25La/al1pWZH0Oig8dNylnhE0RmPdl8DWrq4LuPH0JiF01lvjXOc4cmPtl+tVlf
         XFmlmLCdMzrtF3m3+g+4mn7/4nsVzhLzmxM1o/ROQDV3Pwjnm0rl6Bel7dRQwOn7myma
         rCupMJbYq49xGB27/3kBhyChifDrqPbj5tOqVHlBkF7NcKrSPIM0G1tNjJc2eusCu0+F
         OZAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679418488;
        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=IWFhDX4w8IvQKiiOX7jcfJmtLZQcMzmmRXrew1GNQpo=;
        b=vg4O0W+HmJdL9utpQhwqiA9KF2DtC25+n/9QrxK45n60awMYuObG6lUISj+53K91kg
         lgluMdlz2voNilZC7yetI0YeNn2unM+g0UKaT/Q1ldIMnQDBdLIc9HLnT0n62fxBMtQi
         iE9+wFs3CzzaTMlvGCA9tok2YW1ZlTXwQkr6wBKiEnJVmtmlMWCnIaEPYYpbR1/8befv
         3xsnROyUHTbTOw0vb4ih1NOP1eCK8QC9VzsITl4HXZHer0vMDkskyUPr1rxc9NxqclsC
         ud7PyNQEggOtOg/kWoLHJWaSVodQxNsbVtwjzH1w0J3Ctpx1YVecLvPUJiMuIHb33rHg
         K06w==
X-Gm-Message-State: AO0yUKWXc9igBpqcTRt8VtuJKgs5XF8zoQ/HerA/PrwyhVu9gIDtWdYz
	vHeBsdBOXC3wgvJj2UBIp54=
X-Google-Smtp-Source: AK7set8Gw2RYi9P+RcToQ+SiStjmiBa+qoMuj75tHctxuJ14bUmcksm0uomKtaA5H/JB1xI/JlEPSQ==
X-Received: by 2002:a17:906:4b11:b0:92f:9fee:522 with SMTP id y17-20020a1709064b1100b0092f9fee0522mr3646437eju.27.1679418487915;
        Tue, 21 Mar 2023 10:08:07 -0700 (PDT)
Message-ID: <d5e9a5750e7cd32337b98ad39b60d3e95321caed.camel@gmail.com>
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Tue, 21 Mar 2023 19:08:06 +0200
In-Reply-To: <27c2d76e-1f9e-01f2-846f-9f3bdddeefcf@suse.com>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
	 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
	 <27c2d76e-1f9e-01f2-846f-9f3bdddeefcf@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

T24gTW9uLCAyMDIzLTAzLTIwIGF0IDE3OjQxICswMTAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAxNi4wMy4yMDIzIDE3OjQzLCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gLS0tIC9kZXYv
bnVsbAo+ID4gKysrIGIveGVuL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vbW0uaAo+ID4gQEAgLTAs
MCArMSw4IEBACj4gPiArI2lmbmRlZiBfQVNNX1JJU0NWX01NX0gKPiA+ICsjZGVmaW5lIF9BU01f
UklTQ1ZfTU1fSAo+ID4gKwo+ID4gK3ZvaWQgc2V0dXBfaW5pdGlhbF9wYWdldGFibGVzKHZvaWQp
Owo+ID4gKwo+ID4gK2V4dGVybiB2b2lkIGVuYWJsZV9tbXUodm9pZCk7Cj4gCj4gTml0OiBBdCBs
ZWFzdCB3aXRoaW4gYSBzaW5nbGUgaGVhZGVyIHlvdSBwcm9iYWJseSB3YW50IHRvIGJlCj4gY29u
c2lzdGVudAo+IGFib3V0IHRoZSB1c2Ugb2YgImV4dGVybiIuIFBlcnNvbmFsbHkgSSB0aGluayBp
dCB3b3VsZCBiZXR0ZXIgYmUKPiBvbWl0dGVkCj4gZnJvbSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMu
CkFncmVlLiBJdCB3b3VsZCBiZSBiZXR0ZXIgdG8gcmVtb3ZlIGV4dGVybi4KCj4gCj4gPiAtLS0g
L2Rldi9udWxsCj4gPiArKysgYi94ZW4vYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wYWdlLmgKPiA+
IEBAIC0wLDAgKzEsNjcgQEAKPiA+ICsjaWZuZGVmIF9BU01fUklTQ1ZfUEFHRV9ICj4gPiArI2Rl
ZmluZSBfQVNNX1JJU0NWX1BBR0VfSAo+ID4gKwo+ID4gKyNpbmNsdWRlIDx4ZW4vY29uc3QuaD4K
PiA+ICsjaW5jbHVkZSA8eGVuL3R5cGVzLmg+Cj4gPiArCj4gPiArI2RlZmluZSBQQUdFX0VOVFJJ
RVPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKDEgPDwgUEFHRVRBQkxFX09SREVSKQo+
ID4gKyNkZWZpbmUgVlBOX01BU0vCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAoKHVuc2lnbmVkIGxvbmcpKFBBR0VfRU5UUklFUwo+ID4gLSAxKSkKPiA+ICsKPiA+ICsjZGVm
aW5lIFBBR0VfT1JERVLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgxMikKPiAK
PiBEWU0gUEFHRV9TSElGVCBoZXJlLCBhcyB1c2VkIGVsc2V3aGVyZSBpbiBYZW4/CnllcywgUEFH
RV9TSElGVCBpcyBtZWFudCBoZXJlLgoKPiAKPiBBbHNvIGFyZSB5b3UgYXdhcmUgb2YgcGFnZS1i
aXRzLmgsIHdoZXJlIEkgdGhpbmsgc29tZSBvZiB0aGVzZQo+IGNvbnN0YW50cwo+IHNob3VsZCBn
bz8KSSdsbCBtb3ZlIHNvbWUgY29uc3RhbnRzIHRvIHBhZ2UtYml0cy5oCgo+IAo+ID4gKyNpZmRl
ZiBDT05GSUdfUklTQ1ZfNjQKPiA+ICsjZGVmaW5lIFBBR0VUQUJMRV9PUkRFUsKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCAoOSkKPiA+ICsjZWxzZSAvKiBDT05GSUdfUklTQ1ZfMzIgKi8KPiA+ICsj
ZGVmaW5lIFBBR0VUQUJMRV9PUkRFUsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoMTApCj4gPiAr
I2VuZGlmCj4gPiArCj4gPiArI2RlZmluZSBMRVZFTF9PUkRFUihsdmwpwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCAobHZsICogUEFHRVRBQkxFX09SREVSKQo+ID4gKyNkZWZpbmUgTEVWRUxfU0hJRlQo
bHZsKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKExFVkVMX09SREVSKGx2bCkgKwo+ID4gUEFHRV9P
UkRFUikKPiA+ICsjZGVmaW5lIExFVkVMX1NJWkUobHZsKcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAoX0FUKHBhZGRyX3QsIDEpIDw8Cj4gPiBMRVZFTF9TSElGVChsdmwpKQo+ID4gKwo+ID4gKyNk
ZWZpbmUgWEVOX1BUX0xFVkVMX1NISUZUKGx2bCnCoMKgwqDCoCBMRVZFTF9TSElGVChsdmwpCj4g
PiArI2RlZmluZSBYRU5fUFRfTEVWRUxfT1JERVIobHZsKcKgwqDCoMKgIExFVkVMX09SREVSKGx2
bCkKPiA+ICsjZGVmaW5lIFhFTl9QVF9MRVZFTF9TSVpFKGx2bCnCoMKgwqDCoMKgIExFVkVMX1NJ
WkUobHZsKQo+IAo+IE1pbmQgbWUgYXNraW5nIHdoYXQgdGhlc2UgYXJlIGdvb2QgZm9yPyBEb2Vz
bid0IG9uZSBzZXQgb2YgbWFjcm9zCj4gc3VmZmljZT8KRG8geW91IG1lYW4gWEVOX1BUX0xFVkVM
X3tTSElGVC4uLn0/IGl0IGNhbiBiZSB1c2VkIG9ubHkgb25lIHBhaXIgb2YKbWFjcm9zLiBJJ2xs
IGNoZWNrIGhvdyB0aGV5IGFyZSB1c2VkIGluIEFSTSAoIEkgY29waWVkIHRoYXQgbWFjcm9zIGZy
b20KdGhlcmUgKS4KPiAKPiA+ICsjZGVmaW5lIFhFTl9QVF9MRVZFTF9NQVBfTUFTSyhsdmwpwqAg
KH4oWEVOX1BUX0xFVkVMX1NJWkUobHZsKSAtCj4gPiAxKSkKPiA+ICsjZGVmaW5lIFhFTl9QVF9M
RVZFTF9NQVNLKGx2bCnCoMKgwqDCoMKgIChWUE5fTUFTSyA8PAo+ID4gWEVOX1BUX0xFVkVMX1NI
SUZUKGx2bCkpCj4gPiArCj4gPiArI2RlZmluZSBQVEVfU0hJRlTCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgMTAKPiAKPiBXaGF0IGRvZXMgdGhpcyBkZXNjcmliZT8gQWNjb3Jk
aW5nIHRvIGl0cyBzaW5nbGUgdXNlIGhlcmUgaXQgbWF5Cj4gc2ltcGx5IHJlcXVpcmUgYSBiZXR0
ZXIgbmFtZS4KSWYgbG9vayBhdCBTdjM5IHBhZ2UgdGFibGUgZW50cnkgaW4gcmlzY3YtcHJpdmls
aWdlZC5wZGYuIEl0IGhhcyB0aGUKZm9sbG93aW5nIGRlc2NyaXB0aW9uOgogIDYzIDYyIDYxICA2
MCAgICA1NCAgNTMgIDI4IDI3ICAxOSAxOCAgMTAgOSA4IDcgNiA1IDQgMyAyIDEgMAogIE4gIFBC
TVQgICBSZXJlcnZlZCAgUFBOWzJdIFBQTlsxXSBQUE5bMF0gUlNXIEQgQSBHIFUgWCBXIFIgVgpT
byAxMCBpdCBtZWFucyB0aGUgMC05IGJpdHMuCgo+IAo+ID4gKyNkZWZpbmUgUFRFX1ZBTElEwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJJVCgwLCBVTCkKPiA+ICsjZGVmaW5l
IFBURV9SRUFEQUJMRcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBCSVQoMSwgVUwpCj4g
PiArI2RlZmluZSBQVEVfV1JJVEFCTEXCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQklU
KDIsIFVMKQo+ID4gKyNkZWZpbmUgUFRFX0VYRUNVVEFCTEXCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBCSVQoMywgVUwpCj4gPiArI2RlZmluZSBQVEVfVVNFUsKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIEJJVCg0LCBVTCkKPiA+ICsjZGVmaW5lIFBURV9HTE9CQUzCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJJVCg1LCBVTCkKPiA+ICsjZGVmaW5lIFBU
RV9BQ0NFU1NFRMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBCSVQoNiwgVUwpCj4gPiAr
I2RlZmluZSBQVEVfRElSVFnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQklU
KDcsIFVMKQo+ID4gKyNkZWZpbmUgUFRFX1JTV8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgKEJJVCg4LCBVTCkgfCBCSVQoOSwgVUwpKQo+ID4gKwo+ID4gKyNkZWZpbmUg
UFRFX0xFQUZfREVGQVVMVMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKFBURV9WQUxJRCB8IFBURV9S
RUFEQUJMRSB8Cj4gPiBQVEVfRVhFQ1VUQUJMRSkKPiA+ICsjZGVmaW5lIFBURV9UQUJMRcKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoUFRFX1ZBTElEKQo+ID4gKwo+ID4gKy8q
IENhbGN1bGF0ZSB0aGUgb2Zmc2V0cyBpbnRvIHRoZSBwYWdldGFibGVzIGZvciBhIGdpdmVuIFZB
ICovCj4gPiArI2RlZmluZSBwdF9saW5lYXJfb2Zmc2V0KGx2bCwgdmEpwqDCoCAoKHZhKSA+Pgo+
ID4gWEVOX1BUX0xFVkVMX1NISUZUKGx2bCkpCj4gPiArCj4gPiArI2RlZmluZSBwdF9pbmRleChs
dmwsIHZhKcKgwqAgcHRfbGluZWFyX29mZnNldChsdmwsICh2YSkgJgo+ID4gWEVOX1BUX0xFVkVM
X01BU0sobHZsKSkKPiA+ICsKPiA+ICsvKiBQYWdlIFRhYmxlIGVudHJ5ICovCj4gPiArdHlwZWRl
ZiBzdHJ1Y3Qgewo+ID4gK8KgwqDCoCB1aW50NjRfdCBwdGU7Cj4gPiArfSBwdGVfdDsKPiAKPiBO
b3QgaGF2aW5nIHJlYWQgdGhlIHJlc3BlY3RpdmUgc3BlYyAoeWV0KSBJJ20gd29uZGVyaW5nIGlm
IHRoaXMKPiByZWFsbHkKPiBpcyB0aGlzIHdheSBhbHNvIGZvciBSVjMyIChkZXNwaXRlIHRoZSBk
aWZmZXJlbnQgUEFHRVRBQkxFX09SREVSKS4KUklTQy1WIGFyY2hpdGVjdHVyZSBzdXBwb3J0IHNl
dmVyYWwgTU1VIG1vZGUgdG8gdHJhbnNsYXRlIFZBIHRvIFBBLgpUaGUgZm9sbG93aW5nIG1vZGUg
Y2FuIGJlOiBTdjMyLCBTdjM5LCBTdjQ4LCBTdjU3IGFuZCBQQUdFU0laRSBpcyBlcXVhbAp0byA4
IGluIGFsbCBjYXNlcyBleGNlcHQgU3YzMiAoIGl0IGlzIGVxdWFsIHRvIDQgKS4gYnV0IEkgbG9v
a2VkIGF0CmRpZmZlcmVudCBiaWcgcHJvamVjdHMgd2hvIGhhdmUgUklTQy1WIHN1cHBvcnQgYW5k
IG5vIG9uZSBzdXBwb3J0cwpTdjMyLgoKU28gaXQgd2lsbCBiZSBjb3JyZWN0IGZvciBSVjMyIGFz
IGl0IHN1cHBvcnRzIHRoZSBzYW1lIFN2MzIgYW5kIFN2MzkKbW9kZXMgdG9vLgo+IAo+ID4gLS0t
IC9kZXYvbnVsbAo+ID4gKysrIGIveGVuL2FyY2gvcmlzY3YvbW0uYwo+ID4gQEAgLTAsMCArMSwx
MjEgQEAKPiA+ICsjaW5jbHVkZSA8eGVuL2NvbXBpbGVyLmg+Cj4gPiArI2luY2x1ZGUgPHhlbi9p
bml0Lmg+Cj4gPiArI2luY2x1ZGUgPHhlbi9rZXJuZWwuaD4KPiA+ICsjaW5jbHVkZSA8eGVuL2xp
Yi5oPgo+ID4gKyNpbmNsdWRlIDx4ZW4vcGFnZS1zaXplLmg+Cj4gPiArCj4gPiArI2luY2x1ZGUg
PGFzbS9ib290LWluZm8uaD4KPiA+ICsjaW5jbHVkZSA8YXNtL2NvbmZpZy5oPgo+ID4gKyNpbmNs
dWRlIDxhc20vY3NyLmg+Cj4gPiArI2luY2x1ZGUgPGFzbS9tbS5oPgo+ID4gKyNpbmNsdWRlIDxh
c20vcGFnZS5oPgo+ID4gKyNpbmNsdWRlIDxhc20vdHJhcHMuaD4KPiA+ICsKPiA+ICsvKgo+ID4g
KyAqIHhlbl9zZWNvbmRfcGFnZXRhYmxlIGlzIGluZGV4ZWQgd2l0aCB0aGUgVlBOWzJdIHBhZ2Ug
dGFibGUKPiA+IGVudHJ5IGZpZWxkCj4gPiArICogeGVuX2ZpcnN0X3BhZ2V0YWJsZSBpcyBhY2Nl
c3NlZCBmcm9tIHRoZSBWUE5bMV0gcGFnZSB0YWJsZQo+ID4gZW50cnkgZmllbGQKPiA+ICsgKiB4
ZW5femVyb2V0aF9wYWdldGFibGUgaXMgYWNjZXNzZWQgZnJvbSB0aGUgVlBOWzBdIHBhZ2UgdGFi
bGUKPiA+IGVudHJ5IGZpZWxkCj4gPiArICovCj4gPiArcHRlX3QgX19zZWN0aW9uKCIuYnNzLnBh
Z2VfYWxpZ25lZCIpIF9fYWxpZ25lZChQQUdFX1NJWkUpCj4gPiArwqDCoMKgIHhlbl9zZWNvbmRf
cGFnZXRhYmxlW1BBR0VfRU5UUklFU107Cj4gPiArc3RhdGljIHB0ZV90IF9fc2VjdGlvbigiLmJz
cy5wYWdlX2FsaWduZWQiKSBfX2FsaWduZWQoUEFHRV9TSVpFKQo+ID4gK8KgwqDCoCB4ZW5fZmly
c3RfcGFnZXRhYmxlW1BBR0VfRU5UUklFU107Cj4gPiArc3RhdGljIHB0ZV90IF9fc2VjdGlvbigi
LmJzcy5wYWdlX2FsaWduZWQiKSBfX2FsaWduZWQoUEFHRV9TSVpFKQo+ID4gK8KgwqDCoCB4ZW5f
emVyb2V0aF9wYWdldGFibGVbUEFHRV9FTlRSSUVTXTsKPiAKPiBJIHdvdWxkIGFzc3VtZSBBbmRy
ZXcncyBjb21tZW50IG9uIHRoZSBlYXJsaWVyIHZlcnNpb24gYWxzbyBleHRlbmRlZAo+IHRvCj4g
dGhlIG5hbWVzIHVzZWQgaGVyZSAoYW5kIHRoZW4gYWxzbyB0byB2YXJpb3VzIGxvY2FsIHZhcmlh
YmxlcyBvcgo+IGZ1bmN0aW9uCj4gcGFyYW1ldGVycyBmdXJ0aGVyIGRvd24pLgpUaGFua3MgZm9y
IGNsYXJpZmljYXRpb24uIEl0IGxvb2tzIGxpa2UgSSBtaXN1bmRlcnN0b29kIGhpbS4KCj4gCj4g
PiArZXh0ZXJuIHVuc2lnbmVkIGxvbmcgX19pbml0X2JlZ2luW107Cj4gPiArZXh0ZXJuIHVuc2ln
bmVkIGxvbmcgX19pbml0X2VuZFtdOwo+ID4gK2V4dGVybiB1bnNpZ25lZCBjaGFyIGNwdTBfYm9v
dF9zdGFja1tTVEFDS19TSVpFXTsKPiA+ICsKPiA+ICtzdGF0aWMgdm9pZCBfX2luaXQKPiA+ICtz
ZXR1cF9pbml0aWFsX21hcHBpbmcocHRlX3QgKnNlY29uZCwgcHRlX3QgKmZpcnN0LCBwdGVfdCAq
emVyb2V0aCwKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
dW5zaWduZWQgbG9uZyBtYXBfc3RhcnQsCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgbWFwX2VuZCwKPiA+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgbG9uZyBwYV9zdGFydCwKPiA+
ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgbG9u
ZyBmbGFncykKPiA+ICt7Cj4gPiArwqDCoMKgIHVuc2lnbmVkIGxvbmcgcGFnZV9hZGRyOwo+ID4g
Kwo+ID4gK8KgwqDCoCAvLyAvKiBhbGlnbiBzdGFydCBhZGRyZXNzZXMgKi8KPiA+ICvCoMKgwqAg
Ly8gbWFwX3N0YXJ0ICY9IFhFTl9QVF9MRVZFTF9NQVBfTUFTSygwKTsKPiA+ICvCoMKgwqAgLy8g
cGFfc3RhcnQgJj0gWEVOX1BUX0xFVkVMX01BUF9NQVNLKDApOwo+IAo+IEl0J3Mgbm90IGNsZWFy
IHdoYXQgdGhpcyBpcyBhYm91dCwgYnV0IGluIGFueSBldmVudCB0aGUgY29tbWVudCBpcwo+IG1h
bGZvcm1lZC4KSSBmb3Jnb3QgdG8gcmVtb3ZlIHNvIGl0IHNob3VsZCBiZSByZW1vdmVkIGFuZCBp
dCB3YXNuJ3Qgc3VwcG9zZWQgdG8gYmUKaW4gdGhlIGZpbmFsIGNvZGUgYWZ0ZXIgdGhlIGNvbW1l
bnQgZm9yIHBhdGNoIHYxLgo+IAo+ID4gK8KgwqDCoCBwYWdlX2FkZHIgPSBtYXBfc3RhcnQ7Cj4g
PiArwqDCoMKgIHdoaWxlICggcGFnZV9hZGRyIDwgbWFwX2VuZCApCj4gPiArwqDCoMKgIHsKPiA+
ICvCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBsb25nIGluZGV4MiA9IHB0X2luZGV4KDIsIHBhZ2Vf
YWRkcik7Cj4gPiArwqDCoMKgwqDCoMKgwqAgdW5zaWduZWQgbG9uZyBpbmRleDEgPSBwdF9pbmRl
eCgxLCBwYWdlX2FkZHIpOwo+ID4gK8KgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgaW5kZXgw
ID0gcHRfaW5kZXgoMCwgcGFnZV9hZGRyKTsKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoCAvKiBT
ZXR1cCBsZXZlbDIgdGFibGUgKi8KPiA+ICvCoMKgwqDCoMKgwqDCoCBzZWNvbmRbaW5kZXgyXSA9
IHBhZGRyX3RvX3B0ZSgodW5zaWduZWQgbG9uZylmaXJzdCk7Cj4gPiArwqDCoMKgwqDCoMKgwqAg
c2Vjb25kW2luZGV4Ml0ucHRlIHw9IFBURV9UQUJMRTsKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDC
oCAvKiBTZXR1cCBsZXZlbDEgdGFibGUgKi8KPiA+ICvCoMKgwqDCoMKgwqDCoCBmaXJzdFtpbmRl
eDFdID0gcGFkZHJfdG9fcHRlKCh1bnNpZ25lZCBsb25nKXplcm9ldGgpOwo+ID4gK8KgwqDCoMKg
wqDCoMKgIGZpcnN0W2luZGV4MV0ucHRlIHw9IFBURV9UQUJMRTsKPiAKPiBXaG91bGQgaXQgbWFr
ZSBzZW5zZSB0byBoYXZlIHBhZGRyX3RvX3B0ZSgpIHRha2UgYXR0cmlidXRlcyByaWdodAo+IGF3
YXkgYXMgMm5kIGFyZ3VtZW50PwpZZXMsIGl0IG1ha2VzIHNlbnNlLiBJdCBpcyBhbHdheXMgLnB0
ZSB8PSBGTEFHIGFmdGVyIHBhZGRyX3RvX3B0ZSgpLgpJJ2xsIHVwZGF0ZSB0aGUgbWFjcm9zLgo+
IAo+ID4gKwo+ID4gKwo+IAo+IE5pdDogTm8gZG91YmxlIGJsYW5rIGxpbmVzIHBsZWFzZS4KU3Vy
ZS4gVGhhbmtzLgoKPiAKPiA+ICvCoMKgwqDCoMKgwqDCoCAvKiBTZXR1cCBsZXZlbDAgdGFibGUg
Ki8KPiA+ICvCoMKgwqDCoMKgwqDCoCBpZiAoICFwdGVfaXNfdmFsaWQoJnplcm9ldGhbaW5kZXgw
XSkgKQo+ID4gK8KgwqDCoMKgwqDCoMKgIHsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC8q
IFVwZGF0ZSBsZXZlbDAgdGFibGUgKi8KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHplcm9l
dGhbaW5kZXgwXSA9IHBhZGRyX3RvX3B0ZSgocGFnZV9hZGRyIC0gbWFwX3N0YXJ0KQo+ID4gKyBw
YV9zdGFydCk7Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB6ZXJvZXRoW2luZGV4MF0ucHRl
IHw9IGZsYWdzOwo+ID4gK8KgwqDCoMKgwqDCoMKgIH0KPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDC
oCAvKiBQb2ludCB0byBuZXh0IHBhZ2UgKi8KPiA+ICvCoMKgwqDCoMKgwqDCoCBwYWdlX2FkZHIg
Kz0gWEVOX1BUX0xFVkVMX1NJWkUoMCk7Cj4gPiArwqDCoMKgIH0KPiA+ICt9Cj4gPiArCj4gPiAr
LyoKPiA+ICsgKiBzZXR1cF9pbml0aWFsX3BhZ2V0YWJsZXM6Cj4gPiArICoKPiA+ICsgKiBCdWls
ZCB0aGUgcGFnZSB0YWJsZXMgZm9yIFhlbiB0aGF0IG1hcCB0aGUgZm9sbG93aW5nOgo+ID4gKyAq
wqDCoCBsb2FkIGFkZHJlc3NlcyB0byBsaW5rZXIgYWRkcmVzc2VzCj4gPiArICovCj4gPiArdm9p
ZCBfX2luaXQgc2V0dXBfaW5pdGlhbF9wYWdldGFibGVzKHZvaWQpCj4gPiArewo+ID4gK8KgwqDC
oCBwdGVfdCAqc2Vjb25kOwo+ID4gK8KgwqDCoCBwdGVfdCAqZmlyc3Q7Cj4gPiArwqDCoMKgIHB0
ZV90ICp6ZXJvZXRoOwo+ID4gKwo+ID4gK8KgwqDCoCB1bnNpZ25lZCBsb25nIGxvYWRfYWRkcl9z
dGFydMKgwqAgPSBib290X2luZm8ubG9hZF9zdGFydDsKPiA+ICvCoMKgwqAgdW5zaWduZWQgbG9u
ZyBsb2FkX2FkZHJfZW5kwqDCoMKgwqAgPSBib290X2luZm8ubG9hZF9lbmQ7Cj4gPiArwqDCoMKg
IHVuc2lnbmVkIGxvbmcgbGlua2VyX2FkZHJfc3RhcnQgPSBib290X2luZm8ubGlua2VyX3N0YXJ0
Owo+ID4gK8KgwqDCoCB1bnNpZ25lZCBsb25nIGxpbmtlcl9hZGRyX2VuZMKgwqAgPSBib290X2lu
Zm8ubGlua2VyX2VuZDsKPiA+ICsKPiA+ICvCoMKgwqAgQlVHX09OKGxvYWRfYWRkcl9zdGFydCAl
IChQQUdFX0VOVFJJRVMgKiBQQUdFX1NJWkUpICE9IDApOwo+ID4gK8KgwqDCoCBpZiAobG9hZF9h
ZGRyX3N0YXJ0ICE9IGxpbmtlcl9hZGRyX3N0YXJ0KQo+IAo+IE5pdDogU3R5bGUgKG1pc3Npbmcg
YmxhbmtzKS4KVGhhbmtzIGZvciBub3RpY2luZy4KCj4gCj4gPiArwqDCoMKgwqDCoMKgwqAgQlVH
X09OKChsaW5rZXJfYWRkcl9lbmQgPiBsb2FkX2FkZHJfc3RhcnQgJiYgbG9hZF9hZGRyX2VuZAo+
ID4gPiBsaW5rZXJfYWRkcl9zdGFydCkpOwo+ID4gKwo+ID4gK8KgwqDCoCAvKiBHZXQgdGhlIGFk
ZHJlc3NlcyB3aGVyZSB0aGUgcGFnZSB0YWJsZXMgd2VyZSBsb2FkZWQgKi8KPiA+ICvCoMKgwqAg
c2Vjb25kwqAgPSAocHRlX3QgKikoJnhlbl9zZWNvbmRfcGFnZXRhYmxlKTsKPiA+ICvCoMKgwqAg
Zmlyc3TCoMKgID0gKHB0ZV90ICopKCZ4ZW5fZmlyc3RfcGFnZXRhYmxlKTsKPiA+ICvCoMKgwqAg
emVyb2V0aCA9IChwdGVfdCAqKSgmeGVuX3plcm9ldGhfcGFnZXRhYmxlKTsKPiAKPiBQbGVhc2Ug
YXZvaWQgY2FzdHMgd2hlbmV2ZXIgcG9zc2libGUuCkknbGwgdGFrZSBpbnRvIGFjY291bnQgZHVy
aW5nIHRoZSB3b3JrIG9uIG5ldyBwYXRjaCB2ZXJzaW9uLiBUaGFua3MuCj4gCj4gPiBAQCAtMzIs
MyArMzMsNjcgQEAgRU5UUlkoc3RhcnQpCj4gPiDCoMKgwqDCoMKgwqDCoMKgIGFkZMKgwqDCoMKg
IHNwLCBzcCwgdDAKPiA+IMKgCj4gPiDCoMKgwqDCoMKgwqDCoMKgIHRhaWzCoMKgwqAgc3RhcnRf
eGVuCj4gPiArCj4gPiArRU5UUlkoZW5hYmxlX21tdSkKPiA+ICvCoMKgwqDCoMKgwqDCoCAvKiBD
YWxjdWxhdGUgcGh5c2ljYWwgb2Zmc2V0IGJldHdlZW4gbGlua2VyIGFuZCBsb2FkCj4gPiBhZGRy
ZXNzZXMgKi8KPiA+ICvCoMKgwqDCoMKgwqDCoCBsYcKgwqDCoMKgwqAgdDAsIGJvb3RfaW5mbwo+
ID4gK8KgwqDCoMKgwqDCoMKgIFJFR19MwqDCoCB0MSwgQklfTElOS0VSX1NUQVJUKHQwKQo+ID4g
K8KgwqDCoMKgwqDCoMKgIFJFR19MwqDCoCB0MiwgQklfTE9BRF9TVEFSVCh0MCkKPiA+ICvCoMKg
wqDCoMKgwqDCoCBzdWLCoMKgwqDCoCB0MSwgdDEsIHQyCj4gPiArCj4gPiArwqDCoMKgwqDCoMKg
wqAgLyoKPiA+ICvCoMKgwqDCoMKgwqDCoMKgICogQ2FsY3VsYXRlIGFuZCB1cGRhdGUgYSBsaW5r
ZXIgdGltZSBhZGRyZXNzIG9mIHRoZQo+ID4gLkxfbW11X2lzX2VuYWJsZWQKPiA+ICvCoMKgwqDC
oMKgwqDCoMKgICogbGFiZWwgYW5kIHVwZGF0ZSBDU1JfU1RWRUMgd2l0aCBpdC4KPiA+ICvCoMKg
wqDCoMKgwqDCoMKgICogTU1VIGlzIGNvbmZpZ3VyZWQgaW4gYSB3YXkgd2hlcmUgbGlua2VyIGFk
ZHJlc3NlcyBhcmUKPiA+IG1hcHBlZAo+ID4gK8KgwqDCoMKgwqDCoMKgwqAgKiBvbiBsb2FkIGFk
ZHJlc3NlcyBzbyBjYXNlIHdoZW4gbGlua2VyIGFkZHJlc3NlcyBhcmUgbm90Cj4gPiBlcXVhbCB0
bwo+ID4gK8KgwqDCoMKgwqDCoMKgwqAgKiBsb2FkIGFkZHJlc3NlcywgYW5kIHRoZXJlYnksIGFm
dGVyIE1NVSBpcyBlbmFibGVkLCBpdAo+ID4gd2lsbCBjYXVzZQo+ID4gK8KgwqDCoMKgwqDCoMKg
wqAgKiBhbiBleGNlcHRpb24gYW5kIGp1bXAgdG8gbGlua2VyIHRpbWUgYWRkcmVzc2VzCj4gPiAr
wqDCoMKgwqDCoMKgwqDCoCAqLwo+ID4gK8KgwqDCoMKgwqDCoMKgIGxhwqDCoMKgwqDCoCB0Mywg
LkxfbW11X2lzX2VuYWJsZWQKPiA+ICvCoMKgwqDCoMKgwqDCoCBhZGTCoMKgwqDCoCB0MywgdDMs
IHQxCj4gPiArwqDCoMKgwqDCoMKgwqAgY3Nyd8KgwqDCoCBDU1JfU1RWRUMsIHQzCj4gPiArCj4g
PiArwqDCoMKgwqDCoMKgwqAgLyogQ2FsY3VsYXRlIGEgdmFsdWUgZm9yIFNBVFAgcmVnaXN0ZXIg
Ki8KPiA+ICvCoMKgwqDCoMKgwqDCoCBsacKgwqDCoMKgwqAgdDUsIFNBVFBfTU9ERV9TVjM5Cj4g
PiArwqDCoMKgwqDCoMKgwqAgbGnCoMKgwqDCoMKgIHQ2LCBTQVRQX01PREVfU0hJRlQKPiA+ICvC
oMKgwqDCoMKgwqDCoCBzbGzCoMKgwqDCoCB0NSwgdDUsIHQ2Cj4gPiArCj4gPiArwqDCoMKgwqDC
oMKgwqAgbGHCoMKgwqDCoMKgIHQ0LCB4ZW5fc2Vjb25kX3BhZ2V0YWJsZQo+ID4gK8KgwqDCoMKg
wqDCoMKgIHNybMKgwqDCoMKgIHQ0LCB0NCwgUEFHRV9TSElGVAo+ID4gK8KgwqDCoMKgwqDCoMKg
IG9ywqDCoMKgwqDCoCB0NCwgdDQsIHQ1Cj4gPiArwqDCoMKgwqDCoMKgwqAgc2ZlbmNlLnZtYQo+
ID4gK8KgwqDCoMKgwqDCoMKgIGNzcnfCoMKgwqAgQ1NSX1NBVFAsIHQ0Cj4gPiArCj4gPiArwqDC
oMKgwqDCoMKgwqAgLmFsaWduIDIKPiA+ICsuTF9tbXVfaXNfZW5hYmxlZDoKPiA+ICvCoMKgwqDC
oMKgwqDCoCAvKgo+ID4gK8KgwqDCoMKgwqDCoMKgwqAgKiBTdGFjayBzaG91bGQgYmUgcmUtaW5p
dGVkIGFzOgo+ID4gK8KgwqDCoMKgwqDCoMKgwqAgKiAxLiBSaWdodCBub3cgYW4gYWRkcmVzcyBv
ZiB0aGUgc3RhY2sgaXMgcmVsYXRpdmUgdG8KPiA+IGxvYWQgdGltZQo+ID4gK8KgwqDCoMKgwqDC
oMKgwqAgKsKgwqDCoCBhZGRyZXNzZXMgd2hhdCB3aWxsIGNhdXNlIGFuIGlzc3VlIGluIGNhc2Ug
b2YgbG9hZAo+ID4gc3RhcnQgYWRkcmVzcwo+ID4gK8KgwqDCoMKgwqDCoMKgwqAgKsKgwqDCoCBp
c24ndCBlcXVhbCB0byBsaW5rZXIgc3RhcnQgYWRkcmVzcy4KPiA+ICvCoMKgwqDCoMKgwqDCoMKg
ICogMi4gQWRkcmVzc2VzIGluIHN0YWNrIGFyZSBhbGwgbG9hZCB0aW1lIHJlbGF0aXZlIHdoaWNo
Cj4gPiBjYW4gYmUgYW4KPiA+ICvCoMKgwqDCoMKgwqDCoMKgICrCoMKgwqAgaXNzdWUgaW4gY2Fz
ZSB3aGVuIGxvYWQgc3RhcnQgYWRkcmVzcyBpc24ndCBlcXVhbCB0bwo+ID4gbGlua2VyCj4gPiAr
wqDCoMKgwqDCoMKgwqDCoCAqwqDCoMKgIHN0YXJ0IGFkZHJlc3MuCj4gPiArwqDCoMKgwqDCoMKg
wqDCoCAqLwo+ID4gK8KgwqDCoMKgwqDCoMKgIGxhwqDCoMKgwqDCoCBzcCwgY3B1MF9ib290X3N0
YWNrCj4gPiArwqDCoMKgwqDCoMKgwqAgbGnCoMKgwqDCoMKgIHQwLCBTVEFDS19TSVpFCj4gPiAr
wqDCoMKgwqDCoMKgwqAgYWRkwqDCoMKgwqAgc3AsIHNwLCB0MAo+ID4gKwo+ID4gK8KgwqDCoMKg
wqDCoMKgIC8qCj4gPiArwqDCoMKgwqDCoMKgwqDCoCAqIFJlLWluaXQgYW4gYWRkcmVzcyBvZiBl
eGNlcHRpb24gaGFuZGxlciBhcyBpdCB3YXMKPiA+IG92ZXJ3cml0dGVuwqAgd2l0aAo+ID4gK8Kg
wqDCoMKgwqDCoMKgwqAgKiB0aGUgYWRkcmVzcyBvZiB0aGUgLkxfbW11X2lzX2VuYWJsZWQgbGFi
ZWwuCj4gPiArwqDCoMKgwqDCoMKgwqDCoCAqIEJlZm9yZSBqdW1wIHRvIHRyYXBfaW5pdCBzYXZl
IHJldHVybiBhZGRyZXNzIG9mCj4gPiBlbmFibGVfbW11KCkgdG8KPiA+ICvCoMKgwqDCoMKgwqDC
oMKgICoga25vdyB3aGVyZSB3ZSBzaG91bGQgYmFjayBhZnRlciBlbmFibGVfbW11KCkgd2lsbCBi
ZQo+ID4gZmluaXNoZWQuCj4gPiArwqDCoMKgwqDCoMKgwqDCoCAqLwo+ID4gK8KgwqDCoMKgwqDC
oMKgIG12wqDCoMKgwqDCoCBzMCwgcmEKPiAKPiBEb24ndCB5b3UgbmVlZCB0byBwcmVzZXJ2ZSBz
MCBmb3IgeW91ciBjYWxsZXI/ClllYWgsIGl0IGlzIG5lZWRlZCBhY2NvcmRpbmcgdG8gUklTQy1W
IEFCSSBzcGVjLiBUaGFua3MuCj4gCj4gPiArwqDCoMKgwqDCoMKgwqAgbGxhwqDCoMKgwqAgdDAs
IHRyYXBfaW5pdAo+IAo+IEFueSByZWFzb24gZm9yIGxsYSBoZXJlIHdoZW4gZWxzZXdoZXJlIGFi
b3ZlIHlvdSB1c2UgbGE/IEFuZCBhcmVuJ3QKVGhlcmUgaXMgbm8gYW55IHJlYXNvbiBmb3IgdGhh
dCBhZnRlciBwYXRjaGVzIHdoaWNoIHJlc29sdmUgYW4gaXNzdWUKd2l0aCBsYSBwc2V1ZG8taW5z
dHJ1Y3Rpb24gd2VyZSBpbnRyb2R1Y2VkOgpodHRwczovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2
ZWwvY292ZXIuMTY3ODk3MDA2NS5naXQub2xla3NpaS5rdXJvY2hrb0BnbWFpbC5jb20vCj4gLi4u
Cj4gCj4gPiArwqDCoMKgwqDCoMKgwqAgamFscsKgwqDCoCByYSwgdDAKPiAKPiAuLi4gdGhlc2Ug
dHdvIHRvZ2V0aGVyICJjYWxsIiBhbnl3YXk/CkkgdGhpbmsgaXQgY2FuIGJlIHJlcGxhY2VkIHdp
dGggImNhbGwiLgo+IAo+ID4gK8KgwqDCoMKgwqDCoMKgIC8qCj4gPiArwqDCoMKgwqDCoMKgwqDC
oCAqIFJlLWNhbGN1bGF0ZSB0aGUgcmV0dXJuIGFkZHJlc3Mgb2YgZW5hYmxlX21tdSgpCj4gPiBm
dW5jdGlvbiBmb3IgY2FzZQo+ID4gK8KgwqDCoMKgwqDCoMKgwqAgKiB3aGVuIGxpbmtlciBzdGFy
dCBhZGRyZXNzIGlzbid0IGVxdWFsIHRvIGxvYWQgc3RhcnQKPiA+IGFkZHJlc3MKPiA+ICvCoMKg
wqDCoMKgwqDCoMKgICovCj4gPiArwqDCoMKgwqDCoMKgwqAgYWRkwqDCoMKgwqAgczAsIHMwLCB0
MQo+ID4gK8KgwqDCoMKgwqDCoMKgIG12wqDCoMKgwqDCoCByYSwgczAKPiAKPiAiYWRkIHJhLCBz
MCwgdDEiPwo+IAo+IEJ1dCB0aGVuIC0gY2FuJ3QgdDEgYmUgY2xvYmJlcmVkIGJ5IHRyYXBfaW5p
dCgpPwpZZWFoLCBpdCBjYW4uIEkgZGlkbid0IHRoaW5rIGFib3V0IHRoYXQuClRoYW5rcy4gSSds
bCB1cGRhdGUgdGhhdCBpbiBuZXcgdmVyc2lvbiBvZiB0aGUgcGF0Y2ggc2VyaWVzLgo+IAo+ID4g
LS0tIGEveGVuL2FyY2gvcmlzY3YveGVuLmxkcy5TCj4gPiArKysgYi94ZW4vYXJjaC9yaXNjdi94
ZW4ubGRzLlMKPiA+IEBAIC0xNzksMyArMTc5LDUgQEAgU0VDVElPTlMKPiA+IMKgCj4gPiDCoEFT
U0VSVCghU0laRU9GKC5nb3QpLMKgwqDCoMKgwqAgIi5nb3Qgbm9uLWVtcHR5IikKPiA+IMKgQVNT
RVJUKCFTSVpFT0YoLmdvdC5wbHQpLMKgICIuZ290LnBsdCBub24tZW1wdHkiKQo+ID4gKwo+ID4g
K0FTU0VSVChfZW5kIC0gX3N0YXJ0IDw9IE1CKDIpLCAiWGVuIHRvbyBsYXJnZSBmb3IgZWFybHkt
Ym9vdAo+ID4gYXNzdW1wdGlvbnMiKQo+IAo+IEFnYWluIHRoZSBxdWVzdGlvbiB3aGV0aGVyIHRo
aXMgaXMgYWxzbyBhcHBsaWNhYmxlIHRvIFJWMzIuCkFzIG1lbnRpb25lZCBiZWZvcmUgaXQgd2ls
bCBhcHBsaWNhYmxlIHRvIFJWMzIgb25seSBpbiAgY2FzZSBpZiBTdjMyCndvbid0IGJlIHVzZWQg
YXMgYWRkcmVzc2luZyBtb2RlLiBJbiB0aGF0IGNhc2UgaXQgc2hvdWxkIDJeMTAgKiAyXjEyID0K
NCBNYi4KQnV0IGFzIEkgbWVudGlvbmVkIGJlZm9yZSBJIGFtIG5vdCBzdXJlIHRoYXQgd2Ugd2ls
bCBzdXBwb3J0IFN2MzIuClByb2JhYmx5IGl0IHdpbGwgYmUgZ29vZCB0byBhZGQgI2lmZGVmLi4u
Cgp+IE9sZWtzaWkK



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:09:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:09:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512894.793261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefUI-0004gQ-Kn; Tue, 21 Mar 2023 17:09:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512894.793261; Tue, 21 Mar 2023 17:09: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 1pefUI-0004gJ-Fn; Tue, 21 Mar 2023 17:09:30 +0000
Received: by outflank-mailman (input) for mailman id 512894;
 Tue, 21 Mar 2023 17: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=Mk2b=7N=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pefUH-0004g9-K7
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:09: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 2301f83d-c80b-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 18:09:27 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id o12so62460731edb.9
 for <xen-devel@lists.xenproject.org>; Tue, 21 Mar 2023 10:09:27 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 a25-20020a50c319000000b004bc15a440f1sm6629228edb.78.2023.03.21.10.09.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Mar 2023 10:09: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: 2301f83d-c80b-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679418567;
        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=6OT3X8Qmdr7B+VGDfyXkLy18kkcGdEG9aiwdI2sOxQw=;
        b=TVFX5ncQ5r8vHjDtBepeIUNvW2ZJbTgQWXQleRgAdXtkb1lMpy/WCDsUoLqZc5Ew5x
         xKGpJKLKEf8KbCnV0C+C+mV+jATuBCrqh1LgbRl3MnTQpGQACKmHQKteLVUCauU+MplT
         JyxV//aiSIpxqeAqcEmAOEZE+pIQuPkUzAE1A2Ltegy8TzqSu6ZcEjKpTQWnGWcRscoZ
         +nrZTy8/jQj8x615EpUoKFp39GHV8DGtB0mxKu/RipbDTb4bOlQZvuv70Yb53qz44RTG
         djKBUiYZtIwYg3vJQcqnownJe9u0vsB0WLNOTfGvUkFMRtuOGjlkZn+TrX4BC65O9BrU
         OQOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679418567;
        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=6OT3X8Qmdr7B+VGDfyXkLy18kkcGdEG9aiwdI2sOxQw=;
        b=7Pl2R2e7EGz0k0B01+mLR0FjUaTkVnyMGPO2LnJGsMS/sc+TLIWwPb+9KDByztPKzh
         1bpgiwUul/Do1FWzhsAGf/kUTnA19WYgRbQ0XCtETbQAQZntoftLUz1DTaizcxz+7scI
         VtTuh1ErLBJyMeMv4wxHOGbM1DjBGhFPyukfWsEwTdEmF+ozBdCGceI1zvWT5YRTaFob
         wOYI0zFYS1eSYxa+XOGL7Qi4lc0wVGNBGCaEB7yD99kJz7NwNY8Zg+eJ837LyqR+ydwY
         C3zEpjKiMrpsKrt8d3yUWommO+R33nlhbEuMyE3hx9xkTQyNF7i6b3+CTj7D/7MrzaSC
         9fdQ==
X-Gm-Message-State: AO0yUKU/xBvOwL3SkEq7kz9uShgaK8qx9Uq2GajjvufAw8yfSgmSXGP1
	VwqHGzgOzLM6Ut2p1A7J7RI=
X-Google-Smtp-Source: AK7set9qUjHyXVlx2JBO0rkrd08N41EIwUX7emkviSwAMdtAQwBL310lcCrO1nFY45TOtgQ8l2pHlQ==
X-Received: by 2002:a17:906:7054:b0:932:4eea:17ce with SMTP id r20-20020a170906705400b009324eea17cemr3455727ejj.39.1679418567209;
        Tue, 21 Mar 2023 10:09:27 -0700 (PDT)
Message-ID: <73991bae430bfb8af270d055aa1c21255e61b488.camel@gmail.com>
Subject: Re: [PATCH v2 2/3] xen/riscv: setup initial pagetables
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Tue, 21 Mar 2023 19:09:25 +0200
In-Reply-To: <fd290ce1-d1d3-9266-1b90-2b9df052a9e3@suse.com>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
	 <a748d8cf94fbf4ffee3ca3acb553a9caad1f423c.1678984041.git.oleksii.kurochko@gmail.com>
	 <fd290ce1-d1d3-9266-1b90-2b9df052a9e3@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Mon, 2023-03-20 at 18:03 +0100, Jan Beulich wrote:
> On 16.03.2023 17:43, Oleksii Kurochko wrote:
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V2:
> > =C2=A0* Update the commit message
>=20
> Odd: It's empty. Since it's not part of the title, you could at least
> say that you're also enabling the MMU. (Most of the time entirely
> empty descriptions are suspicious.)
I thought that 'setup' includes 'enable' too.
Probably I have to reword the commit message.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:12:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:12:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512897.793269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefXe-00066x-1i; Tue, 21 Mar 2023 17:12:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512897.793269; Tue, 21 Mar 2023 17: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 1pefXd-00066q-VH; Tue, 21 Mar 2023 17:12:57 +0000
Received: by outflank-mailman (input) for mailman id 512897;
 Tue, 21 Mar 2023 17: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 1pefXc-00066k-RA
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17: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 1pefXc-0002hU-DT; Tue, 21 Mar 2023 17:12:56 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[192.168.4.43])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pefXc-0005EH-7K; Tue, 21 Mar 2023 17:12: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=AiyGBRpXAIpWpwsb/8jvxqx3RSNKwWNRlHp0b4xxg7U=; b=tq64rLpRTvh33Qx7GcVjacR54k
	+q5eufMJcwxTidX6ey+5boQeIC7Xbhr1toFRSAxCWnOxs2+E0WJnqU9Ez2N/to1aNqqHF0NkuzcBx
	8qUbKYeclRr7JxFpk7NUwZfOAv5q9urBNde2XEHeDFtUyQ91WwDhGrGXRH1AbPRyA6zY=;
Message-ID: <eb17b973-2e2b-d9aa-8e99-a1b28e874919@xen.org>
Date: Tue, 21 Mar 2023 17:12:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v3 2/2] arch/arm: time: Add support for parsing interrupts
 by names
Content-Language: en-US
To: "Andrei Cherechesu (OSS)" <andrei.cherechesu@oss.nxp.com>,
 xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, Bertrand.Marquis@arm.com,
 Volodymyr_Babchuk@epam.com, rahul.singh@arm.com,
 Andrei Cherechesu <andrei.cherechesu@nxp.com>
References: <20230313130803.3499098-1-andrei.cherechesu@oss.nxp.com>
 <20230313130803.3499098-3-andrei.cherechesu@oss.nxp.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230313130803.3499098-3-andrei.cherechesu@oss.nxp.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 13/03/2023 13:08, Andrei Cherechesu (OSS) wrote:
> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> 
> Added support for parsing the ARM generic timer interrupts DT
> node by the "interrupt-names" property, if it is available.
> 
> If not available, the usual parsing based on the expected
> IRQ order is performed.
> 
> Also treated returning 0 as an error case for the
> platform_get_irq() calls, since it is not a valid PPI ID and
> treating it as a valid case would only cause Xen to BUG() later,
> when trying to reserve vIRQ being SGI.
> 
> Added the "hyp-virt" PPI to the timer PPI list, even
> though it's currently not in use. If the "hyp-virt" PPI is
> not found, the hypervisor won't panic.

I know this was already merged. But it would have been nice to explain 
why this is added. As this stands, it looks unnecessary dead code which 
would have been okay if ...

> 
> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
> ---
>   xen/arch/arm/include/asm/time.h |  3 ++-
>   xen/arch/arm/time.c             | 26 ++++++++++++++++++++++----
>   2 files changed, 24 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/time.h b/xen/arch/arm/include/asm/time.h
> index 4b401c1110..49ad8c1a6d 100644
> --- a/xen/arch/arm/include/asm/time.h
> +++ b/xen/arch/arm/include/asm/time.h
> @@ -82,7 +82,8 @@ enum timer_ppi
>       TIMER_PHYS_NONSECURE_PPI = 1,
>       TIMER_VIRT_PPI = 2,
>       TIMER_HYP_PPI = 3,
> -    MAX_TIMER_PPI = 4,
> +    TIMER_HYP_VIRT_PPI = 4,
> +    MAX_TIMER_PPI = 5,
>   };
>   
>   /*
> diff --git a/xen/arch/arm/time.c b/xen/arch/arm/time.c
> index 433d7be909..0b482d7db3 100644
> --- a/xen/arch/arm/time.c
> +++ b/xen/arch/arm/time.c
> @@ -149,15 +149,33 @@ static void __init init_dt_xen_time(void)
>   {
>       int res;
>       unsigned int i;
> +    bool has_names;
> +    static const char * const timer_irq_names[MAX_TIMER_PPI] __initconst = {
> +        [TIMER_PHYS_SECURE_PPI] = "sec-phys",
> +        [TIMER_PHYS_NONSECURE_PPI] = "phys",
> +        [TIMER_VIRT_PPI] = "virt",
> +        [TIMER_HYP_PPI] = "hyp-phys",
> +        [TIMER_HYP_VIRT_PPI] = "hyp-virt",
> +    };
> +
> +    has_names = dt_property_read_bool(timer, "interrupt-names");
>   
>       /* Retrieve all IRQs for the timer */
>       for ( i = TIMER_PHYS_SECURE_PPI; i < MAX_TIMER_PPI; i++ )
>       {
> -        res = platform_get_irq(timer, i);
> -
> -        if ( res < 0 )
> +        if ( has_names )
> +            res = platform_get_irq_byname(timer, timer_irq_names[i]);
> +        else
> +            res = platform_get_irq(timer, i);
> +
> +        if ( res > 0 )
> +            timer_irq[i] = res;
> +        /*
> +         * Do not panic if "hyp-virt" PPI is not found, since it's not
> +         * currently used.
> +         */
> +        else if ( i != TIMER_HYP_VIRT_PPI )
>               panic("Timer: Unable to retrieve IRQ %u from the device tree\n", i);

... this wasn't necessary.

> -        timer_irq[i] = res;
>       }
>   }
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:17:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:17:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512902.793279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefcG-0006mI-N5; Tue, 21 Mar 2023 17:17:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512902.793279; Tue, 21 Mar 2023 17: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 1pefcG-0006mB-KY; Tue, 21 Mar 2023 17:17:44 +0000
Received: by outflank-mailman (input) for mailman id 512902;
 Tue, 21 Mar 2023 17:17: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 1pefcE-0006m5-HI
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:17: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 1pefcE-0002o1-3m; Tue, 21 Mar 2023 17:17:42 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pefcD-0005KL-RD; Tue, 21 Mar 2023 17:17: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:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=lg7n5v5ou7uw1fzn2Vt3F7Zl0Qr0cNq1qteLi9rcgOg=; b=3FbC+a
	tuJjMnWqmou6r2wlh/zGMYhMOpFJPdaPuysf4zilRmhMpt8ogqFxoOGHjK+ogR3qYJ5CxfKTFWmfL
	+BL9N8WENez8Pr4GfEpFDGYf0IpYdNnJZ+dch9stFemA3vuMjehXdqqX5fp3VVNdU7iSS4NMAhY5b
	OcYdb6CeodI=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: andrei.cherechesu@oss.nxp.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] xen/arm: irq: Constify the first parameter of platform_get_irq_byname()
Date: Tue, 21 Mar 2023 17:17:21 +0000
Message-Id: <20230321171721.2502-1-julien@xen.org>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

platform_get_irq_byname() is not meant to modify the parameter 'np'. So
constify it.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/include/asm/irq.h | 2 +-
 xen/arch/arm/irq.c             | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/include/asm/irq.h b/xen/arch/arm/include/asm/irq.h
index af94f41994f1..11bc85d1110c 100644
--- a/xen/arch/arm/include/asm/irq.h
+++ b/xen/arch/arm/include/asm/irq.h
@@ -89,7 +89,7 @@ int irq_set_type(unsigned int irq, unsigned int type);
 
 int platform_get_irq(const struct dt_device_node *device, int index);
 
-int platform_get_irq_byname(struct dt_device_node *np, const char *name);
+int platform_get_irq_byname(const struct dt_device_node *np, const char *name);
 
 void irq_set_affinity(struct irq_desc *desc, const cpumask_t *cpu_mask);
 
diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
index ded495792b7c..16e56f8945a8 100644
--- a/xen/arch/arm/irq.c
+++ b/xen/arch/arm/irq.c
@@ -718,7 +718,7 @@ int platform_get_irq(const struct dt_device_node *device, int index)
     return irq;
 }
 
-int platform_get_irq_byname(struct dt_device_node *np, const char *name)
+int platform_get_irq_byname(const struct dt_device_node *np, const char *name)
 {
 	int index;
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:20:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:20:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512906.793289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peff4-0008MT-4y; Tue, 21 Mar 2023 17:20:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512906.793289; Tue, 21 Mar 2023 17: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 1peff4-0008MM-2N; Tue, 21 Mar 2023 17:20:38 +0000
Received: by outflank-mailman (input) for mailman id 512906;
 Tue, 21 Mar 2023 17: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=/aZB=7N=citrix.com=prvs=43775ecc5=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1peff3-0008MG-EX
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:20:37 +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 b0b2fab4-c80c-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 18:20: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: b0b2fab4-c80c-11ed-87f5-c1b5be75604c
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679419236;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=MgKd1eJ00uejEFhhx33/vJ84bMAK9HPuqXzE+ky54pw=;
  b=It6DyoQp+Kw3FYoPEg6DY39OH0VX1Rlw0EiXAEbYVaciYrCkM/41KGlr
   rvbpfmQLXvbSKEQs9vweYBxeyh1XRs6yAgE6i48z0btDZr9k01XF43Fjh
   Ae9valgR0z3ca1sfV6X+axThcfVZftq2sgzVppG7ilx69Ft63A0NjeLEq
   c=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 104163658
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:2jDyRK9m53xEk9/wREKvDrUDx3mTJUtcMsCJ2f8bNWPcYEJGY0x3y
 GoYDW6GMv7cYzSjfooiYd/i90sDv5+Dm94xSgdv/Ck8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqoS5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkl/z
 9NHDDRTYCuuoO6P/JSHcNlW3dYKeZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGOkcUUrsUIMtWcOOAj3/jczpeuRSNqLA++WT7xw1tyrn9dtHSf7RmQO0MxhrB+
 DmYojSR7hcyOOzD6wOC00qV2fLMxhr3BactNYWaz6s/6LGU7jNKU0BHPbehmtG7hVS5QMl3M
 FEP92wlqq1a3FymSJzxUgO1pFaAvwUAQJxAHusi8gaPx6HIpQGDCQAsUTppeNEg8sgsSlQC1
 FWEgtfoDjxHq6CORDSW8bL8hS+7PCEOBXMBYSICQhoI55/op4RbphvOVd9iFKedhNzpFTz+z
 jaGoTJ4jLIW5eYTz6Sh9lnDijixjpLIUgI46AjRUm+/qAh+YeaNZIuu81HXq+lBKIWxSUOIt
 3wJ3cOZ6YgmAZiTmQSXTe4KHbXv4OyKWBXZiERqFoMs9Bys/WCiZoFa5DxiJEZvPd0AcDWva
 0jW0StT+ZtSMX2CfaJxJYWrBKwCxLDtD93/WtjIb9BFZd56cwrvwc11TRfOhSa3yhFqyPxhf
 87BKq5AEEr2F4xW9hXpY+ND34QG4SwH+UXvf6DBlAaOhO/2iGGudVsVDLefRrlns/Lf/liFq
 o0329iikEsGDrCnCsXD2ctKdA1RcyBmbXzjg5YPHtNvNDaKD43I5xX55bo6M7JokK1O/gsj1
 iHsAxQIoLYTaJCuFOlrVpyAQOm1NXqHhShnVRHAxH7xs5TZXa6h7b0Ea7w8dqQ9+epowJZcF
 qdaKp7bXawREWyXoVzxiKURSqQ4LHyWaf+mZXL5MFDTgKKMtySWo4S5L2MDBQEFDzattNtWn
 oBMIjjzGMJZLyw7VZ6+QKv2nzuMUY01xbsas73geYIIJi0BMeFCdkTMsxPAC5tRckWZnWbAj
 l/+7NVxjbClnrLZOeLh3cisx7pF2cMjdqaGNwE3NYqLCBQ=
IronPort-HdrOrdr: A9a23:zkN2SapboiKcRu6y4RUIHPMaV5oteYIsimQD101hICG8cqSj+f
 xGuM5rsSMc7wxhP03I+OrwXZVoLkmwyXcY2+Us1PKZLW/bUQiTXeNfBOnZowEIcheWnoU26U
 4jSdkcNDSZNykCsS+Q2miF+rgbr+W6zA==
X-IronPort-AV: E=Sophos;i="5.98,279,1673931600"; 
   d="scan'208";a="104163658"
Date: Tue, 21 Mar 2023 17:20:05 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, Jan Beulich
	<jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.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>, Konrad Rzeszutek Wilk
	<konrad.wilk@oracle.com>, Ross Lagerwall <ross.lagerwall@citrix.com>,
	Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?=
	<marmarek@invisiblethingslab.com>, Julien Grall <julien@xen.org>, "George
 Dunlap" <george.dunlap@citrix.com>, Christian Lindig
	<christian.lindig@cloud.com>
Subject: Re: [PATCH v3 1/4] tools: rename xen-tools/libs.h file to
 common-macros.h
Message-ID: <4b2fbe78-89e6-4d97-bc9b-36668e1f0568@perard>
References: <20230306072140.28402-1-jgross@suse.com>
 <20230306072140.28402-2-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230306072140.28402-2-jgross@suse.com>

On Mon, Mar 06, 2023 at 08:21:37AM +0100, Juergen Gross wrote:
> In order to better reflect the contents of the header and to make it
> more appropriate to use it for different runtime environments like
> programs, libraries, and firmware, rename the libs.h include file to
> common-macros.h. Additionally add a comment pointing out the need to be
> self-contained.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Acked-by: Marek Marczykowski-Grecki <marmarek@invisiblethingslab.com> # tools/python/xen/lowlevel/xc/xc.c
> Acked-by: Christian Lindig <christian.lindig@cloud.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:22:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:22:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512909.793299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefgL-0000U6-GX; Tue, 21 Mar 2023 17:21:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512909.793299; Tue, 21 Mar 2023 17: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 1pefgL-0000Tz-D5; Tue, 21 Mar 2023 17:21:57 +0000
Received: by outflank-mailman (input) for mailman id 512909;
 Tue, 21 Mar 2023 17:21: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 1pefgK-0000Tt-HY
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:21: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 1pefgK-0002tk-0O; Tue, 21 Mar 2023 17:21:56 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[192.168.4.43])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pefgJ-0005Oo-Q1; Tue, 21 Mar 2023 17: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>
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=K4F66Pc08VkcdT8EBQGXzI1MQrADHUOOinzPCBX44D4=; b=b7JuiNU+3dc0hPKZ9T6vckqzRm
	DXf2nNQP0nhgN3XBWRsdgf6jCY4tIM8Bl7XhRI9cK/YKyxzdumZsmEkpUotO+/2kr9ycRn+1fWN2t
	P50uwYjSyMhlCxXLq+KpUwiUHi0a3nI/ZL951SbTSKb+HuU0Jh2cTCqqv3/7NWQxCaZM=;
Message-ID: <b28bc3fc-c38d-502b-409b-092e7398dd3a@xen.org>
Date: Tue, 21 Mar 2023 17:21:53 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v5 3/7] xen/riscv: introduce dummy <asm/bug.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
 <82aa35ce27ca11076bbafbb565e9c85e1ce7624d.1678976127.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <82aa35ce27ca11076bbafbb565e9c85e1ce7624d.1678976127.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 16/03/2023 14:39, Oleksii Kurochko wrote:
> <xen/lib.h> will be used in the patch "xen/riscv: introduce
> decode_cause() stuff" and requires <asm/bug.h>
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V5:
>   * the patch was introduced in the current patch series (V5)
> ---
>   xen/arch/riscv/include/asm/bug.h | 10 ++++++++++
>   1 file changed, 10 insertions(+)
>   create mode 100644 xen/arch/riscv/include/asm/bug.h
> 
> diff --git a/xen/arch/riscv/include/asm/bug.h b/xen/arch/riscv/include/asm/bug.h
> new file mode 100644
> index 0000000000..e8b1e40823
> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/bug.h
> @@ -0,0 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * Copyright (C) 2012 Regents of the University of California
> + * Copyright (C) 2021-2023 Vates

I am a bit puzzled with those copyright given the header is empty.

But is there any reason this can't be folded in #6 or part of #6 moved 
forward?

> + *

NIT: Drop the line.

> + */
> +#ifndef _ASM_RISCV_BUG_H
> +#define _ASM_RISCV_BUG_H
> +
> +#endif /* _ASM_RISCV_BUG_H */

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:23:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:23:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512912.793309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefhw-00012T-Qr; Tue, 21 Mar 2023 17:23:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512912.793309; Tue, 21 Mar 2023 17: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 1pefhw-00012M-OE; Tue, 21 Mar 2023 17:23:36 +0000
Received: by outflank-mailman (input) for mailman id 512912;
 Tue, 21 Mar 2023 17:23: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 1pefhv-000124-T1; Tue, 21 Mar 2023 17:23: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 1pefhv-0002wF-Rt; Tue, 21 Mar 2023 17:23: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 1pefhv-00035d-Gn; Tue, 21 Mar 2023 17:23:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pefhv-00011v-GF; Tue, 21 Mar 2023 17:23:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7X9aXhPiGHetenhE1p8iF7eqYCDwZoUYkcd9jaFWGv0=; b=FZCpiqzSvneNYcBGdLttuG0th1
	F0nsDrSa7Jtac6+Ye/Pb19KxHhCf1npO3mh6ZGJ+oICcXpF4ztrsowT6fsOvonHbVipEhvQocJfcb
	dULeOaP5eW2BWFRDRMYB45pksOlDDQ/1BXOu4SHOb2lXQQLPYQN43adVCXfGr75NMbMQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179829-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179829: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    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-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=4be3ba0226ec2816ba202e9aac1e4ad049c7e818
X-Osstest-Versions-That:
    libvirt=27d8bcc337c45f08af56211deccf8f77d9561888
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Mar 2023 17:23:35 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              4be3ba0226ec2816ba202e9aac1e4ad049c7e818
baseline version:
 libvirt              27d8bcc337c45f08af56211deccf8f77d9561888

Last test of basis   179746  2023-03-18 04:30:36 Z    3 days
Testing same since   179829  2023-03-21 04:18:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ján Tomko <jtomko@redhat.com>
  Shaleen Bathla <shaleen.bathla@oracle.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   27d8bcc337..4be3ba0226  4be3ba0226ec2816ba202e9aac1e4ad049c7e818 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:33:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:33:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512917.793320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefrQ-0002lu-OI; Tue, 21 Mar 2023 17:33:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512917.793320; Tue, 21 Mar 2023 17:33: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 1pefrQ-0002ln-Ki; Tue, 21 Mar 2023 17:33:24 +0000
Received: by outflank-mailman (input) for mailman id 512917;
 Tue, 21 Mar 2023 17:33: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 1pefrP-0002lh-1F
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:33: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 1pefrN-00038I-N9; Tue, 21 Mar 2023 17:33:21 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[192.168.4.43])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pefrN-0005yF-GY; Tue, 21 Mar 2023 17:33:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=HfCLoWMuf8B55rZTkUj91ltsOpTx+7jXwQ5Zm1Ezhx0=; b=f+6iNqh69IevGRYB0IoxMIc7+q
	VxftfO2/OwJkl+VLFRczC4NATtCrk8zYNtBS6PMmahawew7AaD9j28XSAZQy4tDQWVbcYFl8rxCO2
	8smN1qFGElwnzW/Ocl85EgzRFg3fGMHaSgoyV5wqEVwaQBbLit8nCE1JrF+OQ4RQeoCo=;
Message-ID: <0b94be57-b8fb-6c38-9ed8-dc8482694153@xen.org>
Date: Tue, 21 Mar 2023 17:33:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v5 4/7] xen/riscv: introduce decode_cause() stuff
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
 <8c7b4a5d328be8b1cd2aa99c8d9a7883e4969600.1678976127.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <8c7b4a5d328be8b1cd2aa99c8d9a7883e4969600.1678976127.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 16/03/2023 14:39, Oleksii Kurochko wrote:
> The patch introduces stuff needed to decode a reason of an
> exception.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V5:
>    - Remove <xen/error.h> from riscv/traps/c as nothing would require
>      inclusion.
>    - decode_reserved_interrupt_cause(), decode_interrupt_cause(), decode_cause, do_unexpected_trap()
>      were made as static they are expected to be used only in traps.c
>    - use LINK_TO_LOAD() for addresses which can be linker time relative.
> ---
> Changes in V4:
>    - fix string in decode_reserved_interrupt_cause()
> ---
> Changes in V3:
>    - Nothing changed
> ---
> Changes in V2:
>    - Make decode_trap_cause() more optimization friendly.
>    - Merge the pathc which introduces do_unexpected_trap() to the current one.
> ---
>   xen/arch/riscv/traps.c | 87 +++++++++++++++++++++++++++++++++++++++++-
>   1 file changed, 86 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
> index ccd3593f5a..8a1529e0c5 100644
> --- a/xen/arch/riscv/traps.c
> +++ b/xen/arch/riscv/traps.c
> @@ -4,10 +4,95 @@
>    *
>    * RISC-V Trap handlers
>    */
> +
> +#include <xen/lib.h>
> +
> +#include <asm/boot-info.h>
> +#include <asm/csr.h>
> +#include <asm/early_printk.h>
>   #include <asm/processor.h>
>   #include <asm/traps.h>
>   
> -void do_trap(struct cpu_user_regs *cpu_regs)
> +static const char *decode_trap_cause(unsigned long cause)
> +{
> +    static const char *const trap_causes[] = {
> +        [CAUSE_MISALIGNED_FETCH] = "Instruction Address Misaligned",
> +        [CAUSE_FETCH_ACCESS] = "Instruction Access Fault",
> +        [CAUSE_ILLEGAL_INSTRUCTION] = "Illegal Instruction",
> +        [CAUSE_BREAKPOINT] = "Breakpoint",
> +        [CAUSE_MISALIGNED_LOAD] = "Load Address Misaligned",
> +        [CAUSE_LOAD_ACCESS] = "Load Access Fault",
> +        [CAUSE_MISALIGNED_STORE] = "Store/AMO Address Misaligned",
> +        [CAUSE_STORE_ACCESS] = "Store/AMO Access Fault",
> +        [CAUSE_USER_ECALL] = "Environment Call from U-Mode",
> +        [CAUSE_SUPERVISOR_ECALL] = "Environment Call from S-Mode",
> +        [CAUSE_MACHINE_ECALL] = "Environment Call from M-Mode",
> +        [CAUSE_FETCH_PAGE_FAULT] = "Instruction Page Fault",
> +        [CAUSE_LOAD_PAGE_FAULT] = "Load Page Fault",
> +        [CAUSE_STORE_PAGE_FAULT] = "Store/AMO Page Fault",
> +        [CAUSE_FETCH_GUEST_PAGE_FAULT] = "Instruction Guest Page Fault",
> +        [CAUSE_LOAD_GUEST_PAGE_FAULT] = "Load Guest Page Fault",
> +        [CAUSE_VIRTUAL_INST_FAULT] = "Virtualized Instruction Fault",
> +        [CAUSE_STORE_GUEST_PAGE_FAULT] = "Guest Store/AMO Page Fault",
> +    };
> +
> +    if ( cause < ARRAY_SIZE(trap_causes) && trap_causes[cause] )
> +        return trap_causes[cause];
> +    return "UNKNOWN";
> +}
> +
> +static const char *decode_reserved_interrupt_cause(unsigned long irq_cause)
> +{
> +    switch ( irq_cause )
> +    {
> +    case IRQ_M_SOFT:
> +        return "M-mode Software Interrupt";
> +    case IRQ_M_TIMER:
> +        return "M-mode TIMER Interrupt";
> +    case IRQ_M_EXT:
> +        return "M-mode External Interrupt";
> +    default:
> +        return "UNKNOWN IRQ type";
> +    }
> +}
> +
> +static const char *decode_interrupt_cause(unsigned long cause)
> +{
> +    unsigned long irq_cause = cause & ~CAUSE_IRQ_FLAG;
> +
> +    switch ( irq_cause )
> +    {
> +    case IRQ_S_SOFT:
> +        return "Supervisor Software Interrupt";
> +    case IRQ_S_TIMER:
> +        return "Supervisor Timer Interrupt";
> +    case IRQ_S_EXT:
> +        return "Supervisor External Interrupt";
> +    default:
> +        return decode_reserved_interrupt_cause(irq_cause);
> +    }
> +}
> +
> +static const char *decode_cause(unsigned long cause)
> +{
> +    if ( cause & CAUSE_IRQ_FLAG )
> +        return decode_interrupt_cause(cause);
> +
> +    return decode_trap_cause(cause);
> +}
> +
> +static void do_unexpected_trap(const struct cpu_user_regs *regs)
>   {
> +    unsigned long cause = csr_read(CSR_SCAUSE);
> +
> +    early_printk("Unhandled exception: ");
> +    early_printk(LINK_TO_LOAD(decode_cause(cause)));

The use of LINK_TO_LOAD is the sort of things that is worth documenting 
because this would raise quite a few questions.

The comment on top of LINK_TO_LOAD suggests the macro can only be used 
while the MMU is off. But I would expect do_unexpected_trap() to be used 
also after the MMU is on. Isn't it going to be the case?

Furthermore, AFAICT LINK_TO_LOAD() assumes that a runtime address is 
given. While I believe this could be true for pointer returned by 
decode_trap_cause() (I remember seen on Arm that an array of string 
would store the runtime address), I am not convinced this is the case 
for pointer returned by decode_interrupt_cause().

Lastly, I think you will want to document what functions can be used 
when the MMU is off and possibly splitting the code. So it is easier for 
someone to figure out in which context the function and if this is safe 
to use.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:34:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:34:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512922.793330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefsX-0003Lq-7c; Tue, 21 Mar 2023 17:34:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512922.793330; Tue, 21 Mar 2023 17:34:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefsX-0003Lj-4F; Tue, 21 Mar 2023 17:34:33 +0000
Received: by outflank-mailman (input) for mailman id 512922;
 Tue, 21 Mar 2023 17: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=kq8e=7N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1pefsV-0003LR-3X
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:34:31 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a0855cd5-c80e-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 18:34:28 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 80A9932009D5;
 Tue, 21 Mar 2023 13:34:24 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Tue, 21 Mar 2023 13:34:25 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 21 Mar 2023 13:34:22 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0855cd5-c80e-11ed-87f5-c1b5be75604c
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=fm2; t=1679420064; x=1679506464; bh=xt7fuRhGoG
	03MApmGYoRbTeNtA+ZdGyv+4DhR9yPms0=; b=c3RL3R2x06Hx9BJYjQgI7+vDPh
	rTdGja9F9vCHkefJpd3UlCCh/1p7zQ78bNVjJ6bWYm/w82Li64Gzo4Ty9QihVGUb
	x/BDvzO2Vac3kT/Y1mLmMvUnNPogW3bp1XK040arpVXvEdjBDJB5nb8mIvRmVV7/
	xqrf2LrrHn0pzJiGHkfXcIS1oAezVxpQSTdk4iOiCELDILX9/Zox73whbb7lhTgq
	w7Ru4LvEVS5OTv/evDCBvKqCBu03FnY0Eu4p/TVWOyYwi/OMQZBNSocu4ekaw9vd
	k9cKu4DBybaANkj1PJRYwTPcB8OTlkDYgCZ1VocFDnP999eERSEe0UtMJq1w==
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=fm2; t=1679420064; x=
	1679506464; bh=xt7fuRhGoG03MApmGYoRbTeNtA+ZdGyv+4DhR9yPms0=; b=C
	+1VN/pF99UvATlmiMwvZjElTK3GEaFsy4AVJAVx4blA+99NgOZvJgkpZ0Eragzj9
	biEpmPA8rwyyOO+kbCxtN15X4ZWKYewwyX75bD+tAJAKNoJqhThhq7k0gDtgv9O7
	//r/jdb+1G1CC5TWs8vwjfVI14ga8jj1MdSUski+Lj+NSFDO2bwmCvJNqj+wMoph
	8sMoptdbx/KoIAT52LsnvD/1WUGpOH8FACWoKaHKqqIPcyEWeuEXgMVMML1Smytx
	nC6dPi92C/WeVw4OpbbLvLd2DqOKbOHyoBd8QWSGKGwjNycDxiqkEurw9fDK+Sv8
	YU3JHd6Rz8PHHq1pyXDug==
X-ME-Sender: <xms:n-oZZEscPGWjZC9lVYLigt32VzkySDn1MxLHcnO8Ms3tP_1zHfkERg>
    <xme:n-oZZBeKHYNrvk5BYZT4_HLe1sfUEgGmf_nbwk0jaKYRX86Rqwv-xg1wRI46Cl1Zu
    p6hI2pcQlCIgmk>
X-ME-Received: <xmr:n-oZZPzNOJTrTPgGiy1_vekUtq7iKuZdiF5L23KX-ZDBGhYL-DVjov1ku2Yjk146nMbig6Nu6t0>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegtddguddtudcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghm
    ihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefgtedtgeehvdeltdehhfehkeeg
    teegfeefheeffeevfeehheduhefhteduueejtdenucffohhmrghinhepgigvnhhprhhojh
    gvtghtrdhorhhgpdigvghnrdhorhhgpdgtohhnfhhighdrmhhknecuvehluhhsthgvrhfu
    ihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslh
    gvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:n-oZZHOIc9YhIOdoj5gNPbmwgpG1fSeE0EfAzXo5aXMP3NIQDZ3SWQ>
    <xmx:n-oZZE8vENxh2lH-6EY_bw33LHAokwEyETyZyrNzthWrQKxqWoz0nw>
    <xmx:n-oZZPW6H90XL2EanP5ASI_F-EKMfswu6R26SRG6OONGZPkzNLwBZw>
    <xmx:oOoZZPV0HjpItN9_AJZksjB77-ND-mjNJZRJDZIuFjdVojb1qQcUNA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@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>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v6 0/5] Stop using insecure transports
Date: Tue, 21 Mar 2023 13:33:32 -0400
Message-Id: <cover.1679412247.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1677356813.git.demi@invisiblethingslab.com>
References: <cover.1677356813.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Obtaining code over an insecure transport is a terrible idea for
blatently obvious reasons.  Even for non-executable data, insecure
transports are considered deprecated.

Changes since v5:

- Rebase on top of the staging branch.

- Do not replace a xenbits.xenproject.org link with a xenbits.xen.org
  link.

Changes since v4:

- Remove known-broken links entirely.  They only mislead users into
  believing the code can be obtained there when it cannot.

Changes since v3:

- Drop patch 4, which is an unrelated removal of unused code.

- Do not fail with an error if one tries to build the I/O emulator,
  vTPM, or vTPM manager stubdomains and passes --enable-extfiles.  The
  user may have provided alternate download URLs via environment
  variables.

Changes since v2:

- Drop patches 5 and 6, which changed links not used by automated tools.
  These patches are the least urgent and hardest to review.

- Ensure that no links are broken, and fail with an error instead of
  trying to use links that *are* broken.

Demi Marie Obenour (5):
  Use HTTPS for all xenbits.xen.org Git repos
  Change remaining xenbits.xen.org link to HTTPS
  Build system: Do not try to use broken links
  Build system: Replace git:// and http:// with https://
  Automation and CI: Replace git:// and http:// with https://

 Config.mk                                   | 20 ++++---------
 README                                      |  4 +--
 automation/build/debian/stretch-llvm-8.list |  4 +--
 docs/misc/livepatch.pandoc                  |  2 +-
 docs/process/xen-release-management.pandoc  |  2 +-
 m4/stubdom.m4                               |  5 ++--
 scripts/get_maintainer.pl                   |  2 +-
 stubdom/configure                           | 33 ++++++---------------
 stubdom/configure.ac                        | 18 +++++------
 tools/firmware/etherboot/Makefile           |  6 +---
 10 files changed, 35 insertions(+), 61 deletions(-)

-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:34:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:34:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512923.793340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefsj-0003en-EB; Tue, 21 Mar 2023 17:34:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512923.793340; Tue, 21 Mar 2023 17: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 1pefsj-0003eg-BW; Tue, 21 Mar 2023 17:34:45 +0000
Received: by outflank-mailman (input) for mailman id 512923;
 Tue, 21 Mar 2023 17:34: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=kq8e=7N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1pefsh-0003LR-4h
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:34:43 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9314462-c80e-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 18:34:42 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 03DA33200900;
 Tue, 21 Mar 2023 13:34:39 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Tue, 21 Mar 2023 13:34:40 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 21 Mar 2023 13:34:38 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9314462-c80e-11ed-87f5-c1b5be75604c
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=fm2; t=1679420079; x=1679506479; bh=+fUifg3+9S
	x5Ngno/T4jBLJLFOiv4d2p9UYHj/k/F/0=; b=FKm5VKycRTtDrQgjQNcDM4m1HS
	eJQxKeRpDalsQ8MfENUCUe35Opl7e4/wBASg4BY5VC1WuQUsoEKXHH6PBODy6tEc
	7zMjWIns/fPJV/puPoHCEQmTKiIB5ED1XWugbE04UFXfHIYO8DnDxk7/ldAMoyvS
	okB/f/CEVTX3MSNdUcNklOEOodVoi69TogmangfkztenG78hmesJXtTw3lkUtt7K
	aeEoLjc+2KqaNwRg9Ux7AVNRZfkchQZETFA+NU4KdoMDkI8NF2hrWdBSvcLaZK+N
	3ICbcVQQNhYi3mRLpPO6SKByQ6olBu0TzlLQEl/xBSgsf4QyXriuxhG4Gm/w==
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=fm2; t=1679420079; x=
	1679506479; bh=+fUifg3+9Sx5Ngno/T4jBLJLFOiv4d2p9UYHj/k/F/0=; b=N
	Er67vUgALb8ZGILOTlAOVnfZGsgCLIZtnvBvkeQfYpZJA1r8tYz4NRDfFzhlBAYL
	5h03hI4I6gm/3wZcQK95q7w87JcDOBak7cEu+LW9JUuQVhdbwT6ex6I4xg1GgJLW
	2f8KXkMk2L6DXyLSpUUn7yLaZwzErUm96FgQdeVmzPzIAzaik1ldC82ZjvPmzFXs
	sGEN7ne/+dIQaoOzS0KSZXHM4rP/XDUlNxvCFlLTBY3WOUnoXiSraQvPcEbeDoLd
	u3D5niA05TcYt3ZthZiRyn3mXjxvhKfSexg8Kym5OnGkDkIG+y1HTxOpa5gO0T59
	y316d0GqIL8H/LIaHI8WA==
X-ME-Sender: <xms:r-oZZHFsv3J0pjkzeB9t1VJF2b3hFLUolZBYpPaKSPf8dvHPnTAWfA>
    <xme:r-oZZEXOEBXbPjGtKRk_cRChfPXooAdLE5AnlQSoBA1Rd5a_HK4On_wwUW-t8mp-6
    bwusgQ6f_aN00w>
X-ME-Received: <xmr:r-oZZJIpdga_Y2KZdMpYPuuOUpb0g8CKPqdIBmHcBu-9S8lSQwIjaVg8cxG0nsjrrLw9fQ5d4R0>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegtddguddtudcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghm
    ihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeeugfffieehhfffleekheffleej
    ueetiefhiedujeegueffhfehuefgkefhieffieenucffohhmrghinhepgigvnhdrohhrgh
    dpgigvnhhprhhojhgvtghtrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghr
    rghmpehmrghilhhfrhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgrsg
    drtghomh
X-ME-Proxy: <xmx:r-oZZFFLJB2UbLRMPomwod_bwABNCnLuCVpBu1IkD3J2LfkU29PSPg>
    <xmx:r-oZZNWbDu3FndGIl-hZKkqjsJf57n2UNv4wamQh_jysAvPlHVyEtg>
    <xmx:r-oZZANUfO7gWHPpRpAQLoy4n6ETVTZiz3qY9amIAOMNxOuh-cswaw>
    <xmx:r-oZZJqaKl62Y7dPeNuD68jKB7DShzlBNxq3EX8zhtv8YGTU5gWZAA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@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>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v6 1/5] Use HTTPS for all xenbits.xen.org Git repos
Date: Tue, 21 Mar 2023 13:33:34 -0400
Message-Id: <69fdc220c4cf7cd571e60a9e5bc89150cfb52017.1679412247.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1679412247.git.demi@invisiblethingslab.com>
References: <cover.1679412247.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Obtaining code over an insecure transport is a terrible idea for
blatently obvious reasons.  Even for non-executable data, insecure
transports are considered deprecated.

This patch enforces the use of secure transports for all xenbits.xen.org
Git repositories.  It was generated with the following shell script:

    git ls-files -z |
    xargs -0 -- sed -Ei -- 's@(git://xenbits\.xen\.org|http://xenbits\.xen\.org/git-http)/@https://xenbits.xen.org/git-http/@g'

All altered links have been tested and are known to work.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 Config.mk                                  | 18 +++++-------------
 docs/misc/livepatch.pandoc                 |  2 +-
 docs/process/xen-release-management.pandoc |  2 +-
 scripts/get_maintainer.pl                  |  2 +-
 4 files changed, 8 insertions(+), 16 deletions(-)

diff --git a/Config.mk b/Config.mk
index 10eb443b17d85381b2d1e2282f8965c3e99767e0..75f1975e5e78af44d36c2372cba6e89b425267a5 100644
--- a/Config.mk
+++ b/Config.mk
@@ -215,19 +215,11 @@ ifneq (,$(QEMU_TAG))
 QEMU_TRADITIONAL_REVISION ?= $(QEMU_TAG)
 endif
 
-ifeq ($(GIT_HTTP),y)
-OVMF_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/ovmf.git
-QEMU_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/qemu-xen.git
-QEMU_TRADITIONAL_URL ?= http://xenbits.xen.org/git-http/qemu-xen-traditional.git
-SEABIOS_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/seabios.git
-MINIOS_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/mini-os.git
-else
-OVMF_UPSTREAM_URL ?= git://xenbits.xen.org/ovmf.git
-QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/qemu-xen.git
-QEMU_TRADITIONAL_URL ?= git://xenbits.xen.org/qemu-xen-traditional.git
-SEABIOS_UPSTREAM_URL ?= git://xenbits.xen.org/seabios.git
-MINIOS_UPSTREAM_URL ?= git://xenbits.xen.org/mini-os.git
-endif
+OVMF_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/ovmf.git
+QEMU_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/qemu-xen.git
+QEMU_TRADITIONAL_URL ?= https://xenbits.xen.org/git-http/qemu-xen-traditional.git
+SEABIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/seabios.git
+MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
 OVMF_UPSTREAM_REVISION ?= 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5
 QEMU_UPSTREAM_REVISION ?= master
 MINIOS_UPSTREAM_REVISION ?= 5bcb28aaeba1c2506a82fab0cdad0201cd9b54b3
diff --git a/docs/misc/livepatch.pandoc b/docs/misc/livepatch.pandoc
index d38e4ce074b399946aecdaedb4cb6fe5b8043b66..a94fb57eb568e85a25c93bf6a988f123d4e48443 100644
--- a/docs/misc/livepatch.pandoc
+++ b/docs/misc/livepatch.pandoc
@@ -993,7 +993,7 @@ The design of that is not discussed in this design.
 This is implemented in a seperate tool which lives in a seperate
 GIT repo.
 
-Currently it resides at git://xenbits.xen.org/livepatch-build-tools.git
+Currently it resides at https://xenbits.xen.org/git-http/livepatch-build-tools.git
 
 ### Exception tables and symbol tables growth
 
diff --git a/docs/process/xen-release-management.pandoc b/docs/process/xen-release-management.pandoc
index 8f80d61d2f1aa9e63da9b1e61b77a67c826efe6f..7826419dad563a3b70c3c97fc4c0fb5339bd58e9 100644
--- a/docs/process/xen-release-management.pandoc
+++ b/docs/process/xen-release-management.pandoc
@@ -271,7 +271,7 @@ Hi all,
 
 Xen X.Y rcZ is tagged. You can check that out from xen.git:
 
-git://xenbits.xen.org/xen.git X.Y.0-rcZ
+https://xenbits.xen.org/git-http/xen.git X.Y.0-rcZ
 
 For your convenience there is also a tarball at:
 https://downloads.xenproject.org/release/xen/X.Y.0-rcZ/xen-X.Y.0-rcZ.tar.gz
diff --git a/scripts/get_maintainer.pl b/scripts/get_maintainer.pl
index 48e07370e8d462ced70a1de13ec8134b4eed65ba..cf629cdf3c44e4abe67214378c49a3a9d858d9b5 100755
--- a/scripts/get_maintainer.pl
+++ b/scripts/get_maintainer.pl
@@ -1457,7 +1457,7 @@ sub vcs_exists {
 	warn("$P: No supported VCS found.  Add --nogit to options?\n");
 	warn("Using a git repository produces better results.\n");
 	warn("Try latest git repository using:\n");
-	warn("git clone git://xenbits.xen.org/xen.git\n");
+	warn("git clone https://xenbits.xen.org/git-http/xen.git\n");
 	$printed_novcs = 1;
     }
     return 0;
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:34:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:34:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512927.793350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefsu-00043D-MB; Tue, 21 Mar 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 512927.793350; Tue, 21 Mar 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 1pefsu-000434-JD; Tue, 21 Mar 2023 17:34:56 +0000
Received: by outflank-mailman (input) for mailman id 512927;
 Tue, 21 Mar 2023 17: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=kq8e=7N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1pefst-0003LR-JO
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:34:55 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b0a2f051-c80e-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 18:34:54 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id 9EAEB320094B;
 Tue, 21 Mar 2023 13:34:52 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Tue, 21 Mar 2023 13:34:53 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 21 Mar 2023 13:34:51 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0a2f051-c80e-11ed-87f5-c1b5be75604c
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=fm2; t=1679420092; x=1679506492; bh=gFurLUccyP
	8dzt8i0ZAYhJyKpISa7TOferCBAzCBeLY=; b=YDpgObAU1jd5cGwmErURQP2faI
	kMe220jC2Mdr4P6eRecV9FAFu5nVVLIYawPZBusT+X3LRPjW1Uuu7zFKImoj+aj3
	otl2C4X2wnUqnST94R4EnUbx70QsHn7MycUjICJpccTGo5ZpzneEI0aXm6C4SGlt
	cahpl2S7nrljTVvLLX3DHknMA7WnwC9fh2yWqYI1K1mseCqB6R8exsx+Pp4aNoi9
	EB3J0Gm5fXhDrX6dyRoQyrX4AMwZJJsQlAa5VPSsvUbAd7DfmLVRdgnqYdLzKiNr
	UI2PBeOYPK6XtSDyd3ofFMxNRAGRSmiIaPDaiBZtr5+SHQprzYMfobu/Ryxw==
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=fm2; t=1679420092; x=
	1679506492; bh=gFurLUccyP8dzt8i0ZAYhJyKpISa7TOferCBAzCBeLY=; b=I
	QfpzgG8/X+ulreQWEitia1eVuk4qgXcM7R+roRseP3KDxYIRPjfNA1jbjLCTtBfd
	3a7hY64U/wMTTxqpusKdpJrisY9dBdd6hACDAQzgQ/AaegqVIS+FldjzBfeuEuvW
	qmecKudqnk4iqGmh+KLtxtQvTNIsgLDp/KgC2NylnpFuAVtU/KMrb4dbAB7wN+UR
	OQ7Udd6V+SU/EDQx2q4ZZPBW/LaB4vOAw1gKlNGG14yO2vBW82VnBVfdm6gCjrkU
	kKwwJKRmOmOOZ+bHN2ewSu8fELC0mY4fDwJlkc8GmejPc6XixzyGmjI6XoZxzmIx
	OizgFjw79Pjt9w0TrkDKQ==
X-ME-Sender: <xms:vOoZZL5Gn48bM9St-vMU6TAxNVwBSFPY6xputj4Wk-yeZeN3N9xpVw>
    <xme:vOoZZA7vfYOe3zV5W3_NDJNulr1n8YAFjCU3QQzu_kjcM1C4UkwDynYbUdw8d6FRU
    6O0r28S5BX4m24>
X-ME-Received: <xmr:vOoZZCe1rZ2XddziqPQ1aBlHVmWlfbJIAbGvgPdTXZmk-YDQtkxGYJ7awywKD8rdg7_rnaujGb8>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegtddguddtudcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghm
    ihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevieekgeehfeekjeeuhfeutddv
    ueejgeekiedtgfdtgeekudfgleffvedvgeetueenucffohhmrghinhepgigvnhdrohhrgh
    enucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeguvghm
    ihesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:vOoZZMKXjkrlUCFrpqLpMRGxBbbKm1o66G9N_yWlqj0Iv6eCM6UKgQ>
    <xmx:vOoZZPKtKjp3fwt2zhivAEYMfESAxpsWCQ3AZCNaqX2KRqn0eJt4hQ>
    <xmx:vOoZZFwYctRKmscLjO3S11JTTD-2DZtzoSrIMOhsTn7f00riqZjIJw>
    <xmx:vOoZZH_Xg68c3r2QUgHrrwCUDWgahq6HGogJcT_qo1tX83_rVG_saw>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v6 2/5] Change remaining xenbits.xen.org link to HTTPS
Date: Tue, 21 Mar 2023 13:33:36 -0400
Message-Id: <ee6b94ac9b10776a87ac71814fcaeb51121037ba.1679412247.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1679412247.git.demi@invisiblethingslab.com>
References: <cover.1679412247.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Obtaining code over an insecure transport is a terrible idea for
blatently obvious reasons.  Even for non-executable data, insecure
transports are considered deprecated.

This patch enforces the use of secure transports for all xenbits.xen.org
URLs.  All altered links have been tested and are known to work.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 Config.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index 75f1975e5e78af44d36c2372cba6e89b425267a5..b2bef45b059976d5a6320eabada6073004eb22ee 100644
--- a/Config.mk
+++ b/Config.mk
@@ -191,7 +191,7 @@ APPEND_CFLAGS += $(foreach i, $(APPEND_INCLUDES), -I$(i))
 EMBEDDED_EXTRA_CFLAGS := -fno-pie -fno-stack-protector -fno-stack-protector-all
 EMBEDDED_EXTRA_CFLAGS += -fno-exceptions -fno-asynchronous-unwind-tables
 
-XEN_EXTFILES_URL ?= http://xenbits.xen.org/xen-extfiles
+XEN_EXTFILES_URL ?= https://xenbits.xen.org/xen-extfiles
 # All the files at that location were downloaded from elsewhere on
 # the internet.  The original download URL is preserved as a comment
 # near the place in the Xen Makefiles where the file is used.
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:35:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:35:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512929.793360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peft7-0004be-W4; Tue, 21 Mar 2023 17:35:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512929.793360; Tue, 21 Mar 2023 17:35: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 1peft7-0004bP-R3; Tue, 21 Mar 2023 17:35:09 +0000
Received: by outflank-mailman (input) for mailman id 512929;
 Tue, 21 Mar 2023 17:35: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=kq8e=7N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1peft6-0003LR-B4
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:35:08 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b83f8a5c-c80e-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 18:35:07 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 9B8743200C42;
 Tue, 21 Mar 2023 13:35:05 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Tue, 21 Mar 2023 13:35:06 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 21 Mar 2023 13:35:04 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b83f8a5c-c80e-11ed-87f5-c1b5be75604c
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=fm2; t=1679420105; x=1679506505; bh=FZjY6VSlLE
	Va0awh+ywsTVIuCBsoJnJElTE5z586qAs=; b=iMKiVS3puAJJ+SH81sqEeG32sT
	0wM43vtIRhKwGgKJLZyhqk253i8+FIGUFC1Lx19qbH8FwSp50E0TMrcqLeg5FPZS
	Tu8dlncxaLsplO7I0hJH+SaZrGYgvOODDC1/8Jb6tL0ml+PdAnIvnfJWlMz++VWp
	b7HCkEUUsuyXWVSe1cGgZ5S6l9c8SU7vjtVUP162jfom2E2DxSyR1AOpDdZdJpZN
	N2FNhxad3uAv3sWwdt0pU3k8jtlbzpKfqcfhAuR+gLN5JfvIuIY5eI9H21fnxrFT
	GFxxS5xxNx5Whkd7YLXaK8PPyFtnPTNzhFu/e5ICOXtqr/1b2oWqSgOowA1w==
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=fm2; t=1679420105; x=
	1679506505; bh=FZjY6VSlLEVa0awh+ywsTVIuCBsoJnJElTE5z586qAs=; b=j
	F6WaTOUdJ/zFGc4cmB8u+RBg1aIseHQBr6L71rWB1QyfYccfGixkZZDQOR0wGEEB
	eeMQUVzcXzw9I1ChkbZ+XpqUFYi4NWqjj6Cads9FLM9pMlFgqi6a9uoH6CSDAvLo
	nv/PAvPTPIaA58elEvON7cRi6Jool2ll5aCQkDK4T+dY6xPmqSsroC4ysDrWiyfU
	ZMlKvSPsr/PgiWKSQsdudotK+SisvbDYELs6T5UN0ZK6txG9GUkYhZ7d3XOUh3kf
	UKS2bX+6djorgITIuHgPIa+ctHiuiE82veEpv3H4RncpkVhEM/9ICXEwr1+zgK3W
	L3A3SsyltCo0gORarcrvg==
X-ME-Sender: <xms:yeoZZDX2du_9mBoBWgNljKCGQSAEZ7aqc6SVgj3b5aSH3wY1mt3duw>
    <xme:yeoZZLmOrA2nPAxJUypE5M9q2kuFxkqxz6GC1U7E3h6yLBo_TOpSPViVFul3CheuX
    YL2IKpwnWsBIh4>
X-ME-Received: <xmr:yeoZZPZSn9KV_Lo7yBjuniy3BV4KA7q7IWtt6sGS9hxjimZV5dL48_cBFQU4P6kBboV0LgTXbZE>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegtddguddtudcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghm
    ihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeehheeggffhvdeiuddutdehhffh
    uefghfejtdegvdfhteehheegudeigeejkeefteenucffohhmrghinhepiihlihgsrdhnvg
    htpdhpohhlrghrshhslhdrohhrghdpsggvrhhlihhoshdruggvpdhkvghrnhgvlhdrohhr
    ghdprhgvughhrghtrdgtohhmpdhgnhhurdhorhhgpdhinhhrihgrrdhfrhdpghhmphhlih
    gsrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho
    mhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:yeoZZOXCCuY1dyFH6sVoDXZlGQiGzpbN6WmKSzRubOFMqRN6ppuZ8Q>
    <xmx:yeoZZNl9Dhuzt3kkttl2AJQA-0-Edyj8nRkHQWpgSLStAsgbe60oXw>
    <xmx:yeoZZLcnLz3YhtwYkplgsLP0USbPnC8gWU4Pzfy93ldYMsCXi_SX6A>
    <xmx:yeoZZDgt2nhLt5JsheYceYBg31VuKFVSvqBc0IqnixfdZ9poCU_0BA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.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 v6 3/5] Build system: Do not try to use broken links
Date: Tue, 21 Mar 2023 13:33:38 -0400
Message-Id: <8f6abc421d428b9897b529b7809a978f72a59c3e.1679412247.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1679412247.git.demi@invisiblethingslab.com>
References: <cover.1679412247.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The upstream URLs for zlib, PolarSSL, and the TPM emulator do not work
anymore, so do not attempt to use them.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 m4/stubdom.m4        |  5 +++--
 stubdom/configure    | 21 +++------------------
 stubdom/configure.ac |  6 +++---
 3 files changed, 9 insertions(+), 23 deletions(-)

diff --git a/m4/stubdom.m4 b/m4/stubdom.m4
index 6aa488b8e229dabbe107cfe115b5f2ac7e5ae824..26f10595d1c1250b1dc8a5be626142325e8d4673 100644
--- a/m4/stubdom.m4
+++ b/m4/stubdom.m4
@@ -78,10 +78,11 @@ done
 AC_DEFUN([AX_STUBDOM_LIB], [
 AC_ARG_VAR([$1_URL], [Download url for $2])
 AS_IF([test "x$$1_URL" = "x"], [
-	AS_IF([test "x$extfiles" = "xy"],
+	m4_if([$#],[3],[$1_URL=\@S|@\@{:@XEN_EXTFILES_URL\@:}@],
+	      [$#],[4],[AS_IF([test "x$extfiles" = "xy"],
 		[$1_URL=\@S|@\@{:@XEN_EXTFILES_URL\@:}@],
 		[$1_URL="$4"])
-	])
+],[m4_fatal([AX_STUBDOM_LIB expects 3 or 4 arguments, not $#])])])
 $1_VERSION="$3"
 AC_SUBST($1_URL)
 AC_SUBST($1_VERSION)
diff --git a/stubdom/configure b/stubdom/configure
index b8bffceafdd46181e26a79b85405aefb8bc3ff7d..4ea95baa9192f3b319349ac2a14a3055a21ce705 100755
--- a/stubdom/configure
+++ b/stubdom/configure
@@ -3532,12 +3532,7 @@ fi
 
 if test "x$ZLIB_URL" = "x"; then :
 
-	if test "x$extfiles" = "xy"; then :
-  ZLIB_URL=\$\(XEN_EXTFILES_URL\)
-else
-  ZLIB_URL="http://www.zlib.net"
-fi
-
+	ZLIB_URL=\$\(XEN_EXTFILES_URL\)
 fi
 ZLIB_VERSION="1.2.3"
 
@@ -3633,12 +3628,7 @@ GMP_VERSION="4.3.2"
 
 if test "x$POLARSSL_URL" = "x"; then :
 
-	if test "x$extfiles" = "xy"; then :
-  POLARSSL_URL=\$\(XEN_EXTFILES_URL\)
-else
-  POLARSSL_URL="http://polarssl.org/code/releases"
-fi
-
+	POLARSSL_URL=\$\(XEN_EXTFILES_URL\)
 fi
 POLARSSL_VERSION="1.1.4"
 
@@ -3648,12 +3638,7 @@ POLARSSL_VERSION="1.1.4"
 
 if test "x$TPMEMU_URL" = "x"; then :
 
-	if test "x$extfiles" = "xy"; then :
-  TPMEMU_URL=\$\(XEN_EXTFILES_URL\)
-else
-  TPMEMU_URL="http://download.berlios.de/tpm-emulator"
-fi
-
+	TPMEMU_URL=\$\(XEN_EXTFILES_URL\)
 fi
 TPMEMU_VERSION="0.7.4"
 
diff --git a/stubdom/configure.ac b/stubdom/configure.ac
index e20d99edac0da88098f4806333edde9f31dbc1a7..c648b1602c227ed5fe63b9fbdf3fa52fd2e1654b 100644
--- a/stubdom/configure.ac
+++ b/stubdom/configure.ac
@@ -55,15 +55,15 @@ AC_PROG_INSTALL
 AX_DEPENDS_PATH_PROG([vtpm], [CMAKE], [cmake])
 
 # Stubdom libraries version and url setup
-AX_STUBDOM_LIB([ZLIB], [zlib], [1.2.3], [http://www.zlib.net])
+AX_STUBDOM_LIB([ZLIB], [zlib], [1.2.3])
 AX_STUBDOM_LIB([LIBPCI], [libpci], [2.2.9], [http://www.kernel.org/pub/software/utils/pciutils])
 AX_STUBDOM_LIB([NEWLIB], [newlib], [1.16.0], [ftp://sources.redhat.com/pub/newlib])
 AX_STUBDOM_LIB([LWIP], [lwip], [1.3.0], [http://download.savannah.gnu.org/releases/lwip])
 AX_STUBDOM_LIB([GRUB], [grub], [0.97], [http://alpha.gnu.org/gnu/grub])
 AX_STUBDOM_LIB_NOEXT([OCAML], [ocaml], [4.02.0], [http://caml.inria.fr/pub/distrib/ocaml-4.02])
 AX_STUBDOM_LIB([GMP], [libgmp], [4.3.2], [ftp://ftp.gmplib.org/pub/gmp-4.3.2])
-AX_STUBDOM_LIB([POLARSSL], [polarssl], [1.1.4], [http://polarssl.org/code/releases])
-AX_STUBDOM_LIB([TPMEMU], [berlios tpm emulator], [0.7.4], [http://download.berlios.de/tpm-emulator])
+AX_STUBDOM_LIB([POLARSSL], [polarssl], [1.1.4])
+AX_STUBDOM_LIB([TPMEMU], [berlios tpm emulator], [0.7.4])
 
 #These stubdoms should be enabled if the dependent one is
 AX_STUBDOM_AUTO_DEPENDS([vtpmmgr], [vtpm])
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:35:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:35:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512934.793370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peftI-00057q-BO; Tue, 21 Mar 2023 17:35:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512934.793370; Tue, 21 Mar 2023 17: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 1peftI-00057h-84; Tue, 21 Mar 2023 17:35:20 +0000
Received: by outflank-mailman (input) for mailman id 512934;
 Tue, 21 Mar 2023 17:35: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=kq8e=7N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1peftG-0004aq-Dj
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:35:18 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd3cfc90-c80e-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 18:35:15 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.west.internal (Postfix) with ESMTP id A12033200C42;
 Tue, 21 Mar 2023 13:35:14 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Tue, 21 Mar 2023 13:35:15 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 21 Mar 2023 13:35:13 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd3cfc90-c80e-11ed-b464-930f4c7d94ae
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=fm2; t=1679420114; x=1679506514; bh=eE9rMkFJ8S
	K3XCHPmE4xntol477kdYevv8FtOH7Fe3I=; b=exeBpAaykN0QHnsIUhQ1G2VxT3
	0gY8FiyNql1wHGB4OZ2DHn7fmDZY8MafhCL4/n65DT0lumXc6RrqFrdR0QN1reiJ
	Y49fSXLmswTitcpxXkwX4ggsYy9EJipk+GX1RLS2TPTurNcEmj3iv++oZtV18v2R
	zuk+znLKuYKpuebZcpOqaRBezL2Q/p/T5I/aKXABHYfNHnNJuHZg4qA4pn8JotWP
	jJYLx5Oosh69IjPTFlwF6HlKNmJG0/ubkBA4sF64lOdb9Zkkh7MW20DuR3eLR3vF
	gYumoOT6X2afF+vsJ6m8evIovFUogqrPuOvRlodnuwO16anV2m5lsABR+LCQ==
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=fm2; t=1679420114; x=
	1679506514; bh=eE9rMkFJ8SK3XCHPmE4xntol477kdYevv8FtOH7Fe3I=; b=H
	1BdlVBRBZhHT8HoH2kX92qePwInQjPg4Ja5U2RJiTjrFLsllt5L3DB3JoIaOYamv
	6U937PxsPj6WEwdzEi0WZyDywjrJ5qRt5rU1cy47JtDU9G0e7ZvSH/nAEZWLT6ij
	1Zj9aBH7ME5lpJGA5DqxbPwechHLk2tCWJYrH6jk+7T/CGvWefg6OxLXuFU96ZIO
	TwJMkBwmehjFzMmG7/usj56OmRfiaRwsE7IhqA9ClYBj2L0jJ7cIRDEz6OTvuRjP
	h5tvt8SmXUWiMIYcImylYDjP4hcIPBu2Xo1UcOfcEq6kJJV/159IdaW2pbWKWjij
	kyynll2mguBHWnEXHoohQ==
X-ME-Sender: <xms:0uoZZA_jSPMitMhthtnyKKoE6epDRO8vl1uBVPxBKo4Eg1mMjm7bOw>
    <xme:0uoZZItD0q3PpKxhDelzl6IpnKmj4k5UihybTYCkVQoa_723cPs8KEep17ir_GAh9
    mzU6uHzo9cmyS4>
X-ME-Received: <xmr:0uoZZGD8ubC9XLAugHm5TqdJq09Y5gFc55de24QxuTVsYZUA7-wJvrq-idXzcxNeYf5y40zhkgE>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegtddguddtudcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghm
    ihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeeutdeuueettdefgfektdeufeet
    ueffvdeutddukeekvdfhgfffhfehfeeguedtjeenucffohhmrghinhepkhgvrhhnvghlrd
    horhhgpdhrvgguhhgrthdrtghomhdpshhouhhrtggvfigrrhgvrdhorhhgpdhgnhhurdho
    rhhgpdhinhhrihgrrdhfrhdpghhmphhlihgsrdhorhhgpdhiphigvgdrohhrghdpghhith
    hhuhgsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepuggvmhhisehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:0uoZZAchUoXXpQKOk2v3x5DkNaQ2HLIYtGEi0JDrtFodFZDRXY5Ljg>
    <xmx:0uoZZFMeXE4QcnW1tXS2iWGQ_2nEaqZ51a6_shICczCQxSTs_1NlMw>
    <xmx:0uoZZKkX4o8IpftlC215okVfjXY23tvp198nwvCVXpGnzlR1HaEuMQ>
    <xmx:0uoZZGpp7EDJYEW9UHOm9372Y_azR6mjglxi6Wv1vXOXdOzak8ktoA>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.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 v6 4/5] Build system: Replace git:// and http:// with https://
Date: Tue, 21 Mar 2023 13:33:40 -0400
Message-Id: <cb23cf003905fa56119985a4ac9a84e9510ad235.1679412247.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1679412247.git.demi@invisiblethingslab.com>
References: <cover.1679412247.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Obtaining code over an insecure transport is a terrible idea for
blatently obvious reasons.  Even for non-executable data, insecure
transports are considered deprecated.

This patch enforces the use of secure transports in the build system.
Some URLs returned 301 or 302 redirects, so I replaced them with the
URLs that were redirected to.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 stubdom/configure                 | 12 ++++++------
 stubdom/configure.ac              | 12 ++++++------
 tools/firmware/etherboot/Makefile |  6 +-----
 3 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/stubdom/configure b/stubdom/configure
index 4ea95baa9192f3b319349ac2a14a3055a21ce705..540e9cd331888449b0e24c1aa974bc22c5bcab54 100755
--- a/stubdom/configure
+++ b/stubdom/configure
@@ -3545,7 +3545,7 @@ if test "x$LIBPCI_URL" = "x"; then :
 	if test "x$extfiles" = "xy"; then :
   LIBPCI_URL=\$\(XEN_EXTFILES_URL\)
 else
-  LIBPCI_URL="http://www.kernel.org/pub/software/utils/pciutils"
+  LIBPCI_URL="https://mirrors.edge.kernel.org/pub/software/utils/pciutils"
 fi
 
 fi
@@ -3560,7 +3560,7 @@ if test "x$NEWLIB_URL" = "x"; then :
 	if test "x$extfiles" = "xy"; then :
   NEWLIB_URL=\$\(XEN_EXTFILES_URL\)
 else
-  NEWLIB_URL="ftp://sources.redhat.com/pub/newlib"
+  NEWLIB_URL="https://sourceware.org/ftp/newlib"
 fi
 
 fi
@@ -3575,7 +3575,7 @@ if test "x$LWIP_URL" = "x"; then :
 	if test "x$extfiles" = "xy"; then :
   LWIP_URL=\$\(XEN_EXTFILES_URL\)
 else
-  LWIP_URL="http://download.savannah.gnu.org/releases/lwip"
+  LWIP_URL="https://download.savannah.gnu.org/releases/lwip"
 fi
 
 fi
@@ -3590,7 +3590,7 @@ if test "x$GRUB_URL" = "x"; then :
 	if test "x$extfiles" = "xy"; then :
   GRUB_URL=\$\(XEN_EXTFILES_URL\)
 else
-  GRUB_URL="http://alpha.gnu.org/gnu/grub"
+  GRUB_URL="https://alpha.gnu.org/gnu/grub"
 fi
 
 fi
@@ -3602,7 +3602,7 @@ GRUB_VERSION="0.97"
 
 if test "x$OCAML_URL" = "x"; then :
 
-	OCAML_URL="http://caml.inria.fr/pub/distrib/ocaml-4.02"
+	OCAML_URL="https://caml.inria.fr/pub/distrib/ocaml-4.02"
 
 fi
 OCAML_VERSION="4.02.0"
@@ -3616,7 +3616,7 @@ if test "x$GMP_URL" = "x"; then :
 	if test "x$extfiles" = "xy"; then :
   GMP_URL=\$\(XEN_EXTFILES_URL\)
 else
-  GMP_URL="ftp://ftp.gmplib.org/pub/gmp-4.3.2"
+  GMP_URL="https://gmplib.org/download/gmp/archive"
 fi
 
 fi
diff --git a/stubdom/configure.ac b/stubdom/configure.ac
index c648b1602c227ed5fe63b9fbdf3fa52fd2e1654b..471e371e14a82aedc10314c95bcaf39ce9f89f90 100644
--- a/stubdom/configure.ac
+++ b/stubdom/configure.ac
@@ -56,12 +56,12 @@ AX_DEPENDS_PATH_PROG([vtpm], [CMAKE], [cmake])
 
 # Stubdom libraries version and url setup
 AX_STUBDOM_LIB([ZLIB], [zlib], [1.2.3])
-AX_STUBDOM_LIB([LIBPCI], [libpci], [2.2.9], [http://www.kernel.org/pub/software/utils/pciutils])
-AX_STUBDOM_LIB([NEWLIB], [newlib], [1.16.0], [ftp://sources.redhat.com/pub/newlib])
-AX_STUBDOM_LIB([LWIP], [lwip], [1.3.0], [http://download.savannah.gnu.org/releases/lwip])
-AX_STUBDOM_LIB([GRUB], [grub], [0.97], [http://alpha.gnu.org/gnu/grub])
-AX_STUBDOM_LIB_NOEXT([OCAML], [ocaml], [4.02.0], [http://caml.inria.fr/pub/distrib/ocaml-4.02])
-AX_STUBDOM_LIB([GMP], [libgmp], [4.3.2], [ftp://ftp.gmplib.org/pub/gmp-4.3.2])
+AX_STUBDOM_LIB([LIBPCI], [libpci], [2.2.9], [https://mirrors.edge.kernel.org/pub/software/utils/pciutils])
+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/tools/firmware/etherboot/Makefile b/tools/firmware/etherboot/Makefile
index 4bc3633ba3d67ff9f52a9cb7923afea73c861da9..6ab9e5bc6b4cc750f2e802128fbc71e9150397b1 100644
--- a/tools/firmware/etherboot/Makefile
+++ b/tools/firmware/etherboot/Makefile
@@ -4,11 +4,7 @@ XEN_ROOT = $(CURDIR)/../../..
 include $(XEN_ROOT)/tools/Rules.mk
 include Config
 
-ifeq ($(GIT_HTTP),y)
-IPXE_GIT_URL ?= http://git.ipxe.org/ipxe.git
-else
-IPXE_GIT_URL ?= git://git.ipxe.org/ipxe.git
-endif
+IPXE_GIT_URL ?= https://github.com/ipxe/ipxe.git
 
 # put an updated tar.gz on xenbits after changes to this variable
 IPXE_GIT_TAG := 3c040ad387099483102708bb1839110bc788cefb
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:35:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:35:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512937.793380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peftS-0005cZ-Jb; Tue, 21 Mar 2023 17:35:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512937.793380; Tue, 21 Mar 2023 17:35: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 1peftS-0005cS-GZ; Tue, 21 Mar 2023 17:35:30 +0000
Received: by outflank-mailman (input) for mailman id 512937;
 Tue, 21 Mar 2023 17:35: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=kq8e=7N=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1peftQ-0003LR-PW
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:35:28 +0000
Received: from wout5-smtp.messagingengine.com (wout5-smtp.messagingengine.com
 [64.147.123.21]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c43538fb-c80e-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 18:35:27 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 66A793200900;
 Tue, 21 Mar 2023 13:35:25 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Tue, 21 Mar 2023 13:35:26 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 21 Mar 2023 13:35:24 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c43538fb-c80e-11ed-87f5-c1b5be75604c
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=fm2; t=1679420125; x=1679506525; bh=EdSxOH/DvP
	fgJJdpKCG9kK9DWDf/bTe5jrk5GM6DX40=; b=oAMTJFqdjAJVe440lHv33Iv1gw
	15vWHAcnEn2LkrakwJ2/W/xjrDBPufbAQyl57SAjQUGj2VEpaZiKkxHa5UK9+McI
	hVi3/yWsgNDZN95otrEBEFFhwJo22qzQFd19wQr4PU+wzHsDAa5bP4nDURfOQDNu
	5958WAGKw5GNHYCdnL6mmmT8X3ehuvsagqBtBTV6LzSrVlKJ+LrL0D7rvP4KBwpK
	1sUukX/3wuuFqZtkVHi9bBEIChyFDFYBfD4oGkT/3DzNbDQKO4Y0QoJndzdhn2GM
	q8HfPKfWU4c8M6g1NXKNAQE40EAT2yqNpXUWk26sX3LqraJvE+4cXoCAg2+g==
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=fm2; t=1679420125; x=
	1679506525; bh=EdSxOH/DvPfgJJdpKCG9kK9DWDf/bTe5jrk5GM6DX40=; b=d
	NIpYlJ4csbB3JuUFQAJGZMX7wbxlZYZnK0PMqmPFZg7Lex6DbCAwgoAZUyE/lV8d
	OXmkELgFS8m2tLQlldlv7mDiT+UucG1U6HE8CS3DDbIBEtCQu3UvaoBlZhl5gsMm
	FV5E0pbzilRJ+EMFJPlglKo5blEliY625uMGIDG5OdtcuYq/zYEU6DcAFigsYkjG
	iQzIUfKSBDTYawtgwjpjD9oTpeuPUzlVXY5+g1TBtuTSqywNFcvswcwKKTvQkkEP
	e5oA3qcwqwJseN9mA2mr78CiaaHJv66B5oCkuJ+QQ86f1+TX41kMA0CL0+8W5ndv
	ApIndtAIUwmswVSOEAPRQ==
X-ME-Sender: <xms:3OoZZKmOrouIrTpTKfaxQtxdvpjofOf9BjOhnmPXZQE1VFKSo28KPw>
    <xme:3OoZZB2wQKfts90pKhTeMMjZdXe3Yd2vjbiUH8HMrw-EajwCxF69lluMxoT-7kqki
    oBHNar4T4s5qas>
X-ME-Received: <xmr:3OoZZIpi4cx_nAyNb0y34ao1z53rmYw6GYU-1H1ucYPBCEFYllFeUVoTgWWodwnRJsOkCjhi8Oc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegtddguddttdcutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeffvghm
    ihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpedvueejvefgffevgfdvvdegtedv
    veeiffeileffleevteeifeeviedufeejudduvdenucffohhmrghinhepphihthhhohhnrd
    horhhgpdhinhhtvghlrdgtohhmpdhllhhvmhdrohhrghenucevlhhushhtvghrufhiiigv
    pedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthh
    hinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:3OoZZOlcmoKd2b50fBd6wWvrG7Kp74uKFFHkLkmST_kHc5O2e_6uqg>
    <xmx:3OoZZI2pQjwLreNDLhdemj-tKVMvJj5riL_rMtqGDZNp_vbTGpbc-g>
    <xmx:3OoZZFt7maFIatdUSjIMv_GlMEYkWq2MVBITmGO4aT-sj5l2YgMiLg>
    <xmx:3eoZZJl7WpjpbrDkBzGE-p37NjutydYpIakMIY5cfI6C6q9SHycU2Q>
Feedback-ID: iac594737:Fastmail
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Demi Marie Obenour <demi@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>,
	Doug Goldstein <cardoe@cardoe.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v6 5/5] Automation and CI: Replace git:// and http:// with https://
Date: Tue, 21 Mar 2023 13:33:42 -0400
Message-Id: <d311daf2c5b0b03e8000b3b1ba6a405b19d8c461.1679412247.git.demi@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1679412247.git.demi@invisiblethingslab.com>
References: <cover.1679412247.git.demi@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Obtaining code over an insecure transport is a terrible idea for
blatently obvious reasons.  Even for non-executable data, insecure
transports are considered deprecated.

This patch enforces the use of secure transports in automation and CI.
All URLs are known to work.

Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
---
 README                                      | 4 ++--
 automation/build/debian/stretch-llvm-8.list | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/README b/README
index 755b3d8eaf8f7a58a945b7594e68a3fe455a7bdf..f8cc426f78d690f37e013242e81d4e440556c330 100644
--- a/README
+++ b/README
@@ -181,7 +181,7 @@ Python Runtime Libraries
 Various tools, such as pygrub, have the following runtime dependencies:
 
     * Python 2.6 or later.
-          URL:    http://www.python.org/
+          URL:    https://www.python.org/
           Debian: python
 
 Note that the build system expects `python` to be available. If your system
@@ -197,7 +197,7 @@ Intel(R) Trusted Execution Technology Support
 Intel's technology for safer computing, Intel(R) Trusted Execution Technology
 (Intel(R) TXT), defines platform-level enhancements that provide the building
 blocks for creating trusted platforms.  For more information, see
-http://www.intel.com/technology/security/.
+https://www.intel.com/technology/security/.
 
 Intel(R) TXT support is provided by the Trusted Boot (tboot) module in
 conjunction with minimal logic in the Xen hypervisor.
diff --git a/automation/build/debian/stretch-llvm-8.list b/automation/build/debian/stretch-llvm-8.list
index 09fe843fb2a31ae38f752d7c8c71cf97f5b14513..590001ca81e826ab624ba9185423adf4b0c51a21 100644
--- a/automation/build/debian/stretch-llvm-8.list
+++ b/automation/build/debian/stretch-llvm-8.list
@@ -1,3 +1,3 @@
 # Strech LLVM 8 repos
-deb http://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main
-deb-src http://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main
+deb https://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main
+deb-src https://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main
-- 
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:42:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:42:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512948.793390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefzu-0007sv-7G; Tue, 21 Mar 2023 17:42:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512948.793390; Tue, 21 Mar 2023 17:42:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pefzu-0007so-48; Tue, 21 Mar 2023 17:42:10 +0000
Received: by outflank-mailman (input) for mailman id 512948;
 Tue, 21 Mar 2023 17:42: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 1pefzs-0007si-5A
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:42: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 1pefzr-0003Tr-NI; Tue, 21 Mar 2023 17:42:07 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[192.168.4.43])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pefzr-0006NJ-Fp; Tue, 21 Mar 2023 17:42:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=DzqWankbKixyR4LXDjKKPfrHuj/UCIASiyO+mR7/tn8=; b=Qxr5t8B4vHI/lJ1auL8Zgx5t0E
	alDgSUKN6cyXRyayK/GIho/S2PKu6YA5OajaE3V0mKOrJVsU4uop2sdtxXNZyfASY/wapReCMBhyD
	wNz6lHqbiAQco4UJXGNCkZX12zFqi9ZkOQ065AeLBcpGCFRqfCY+JQ7nkFY1TPUNJEkM=;
Message-ID: <5a2c6f35-373a-de3c-1db2-aeeb1b39635f@xen.org>
Date: Tue, 21 Mar 2023 17:42:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v5 5/7] xen/riscv: introduce trap_init()
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
 <91b0284d20f530f2795a119ccb7436ee0b800256.1678976127.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <91b0284d20f530f2795a119ccb7436ee0b800256.1678976127.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 16/03/2023 14:39, Oleksii Kurochko wrote:
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
> ---
> Changes in V5:
>    - Nothing changed
> ---
> Changes in V4:
>    - Nothing changed
> ---
> Changes in V3:
>    - Nothing changed
> ---
> Changes in V2:
>    - Rename setup_trap_handler() to trap_init().
>    - Add Reviewed-by to the commit message.
> ---
>   xen/arch/riscv/include/asm/traps.h | 1 +
>   xen/arch/riscv/setup.c             | 5 +++++
>   xen/arch/riscv/traps.c             | 7 +++++++
>   3 files changed, 13 insertions(+)
> 
> diff --git a/xen/arch/riscv/include/asm/traps.h b/xen/arch/riscv/include/asm/traps.h
> index f3fb6b25d1..f1879294ef 100644
> --- a/xen/arch/riscv/include/asm/traps.h
> +++ b/xen/arch/riscv/include/asm/traps.h
> @@ -7,6 +7,7 @@
>   
>   void do_trap(struct cpu_user_regs *cpu_regs);
>   void handle_trap(void);
> +void trap_init(void);
>   
>   #endif /* __ASSEMBLY__ */
>   
> diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> index 36556eb779..b44d105b5f 100644
> --- a/xen/arch/riscv/setup.c
> +++ b/xen/arch/riscv/setup.c
> @@ -3,7 +3,9 @@
>   #include <xen/kernel.h>
>   
>   #include <asm/boot-info.h>
> +#include <asm/csr.h>
>   #include <asm/early_printk.h>
> +#include <asm/traps.h>
>   
>   /* Xen stack for bringing up the first CPU. */
>   unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
> @@ -32,7 +34,10 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
>   
>       fill_boot_info();
>   
> +    trap_init();
> +
>       early_printk("All set up\n");
> +
>       for ( ;; )
>           asm volatile ("wfi");
>   
> diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
> index 8a1529e0c5..581f34efbc 100644
> --- a/xen/arch/riscv/traps.c
> +++ b/xen/arch/riscv/traps.c
> @@ -13,6 +13,13 @@
>   #include <asm/processor.h>
>   #include <asm/traps.h>
>   
> +void trap_init(void)
> +{
> +    unsigned long addr = (unsigned long)&handle_trap;

It is not super clear to me whether this is going to store the virtual 
or physical address.

Depending on the answer, the next would be whether the value would still 
be valid after the MMU is turned on?

> +
> +    csr_write(CSR_STVEC, addr);
> +}
> +
>   static const char *decode_trap_cause(unsigned long cause)
>   {
>       static const char *const trap_causes[] = {

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:52:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:52:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512951.793399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peg9l-0001A8-4z; Tue, 21 Mar 2023 17:52:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512951.793399; Tue, 21 Mar 2023 17: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 1peg9l-0001A1-24; Tue, 21 Mar 2023 17:52:21 +0000
Received: by outflank-mailman (input) for mailman id 512951;
 Tue, 21 Mar 2023 17: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=y6SQ=7N=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1peg9j-00019v-Vl
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:52:20 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe59::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f33a905-c811-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 18:52:18 +0100 (CET)
Received: from MW2PR2101CA0018.namprd21.prod.outlook.com (2603:10b6:302:1::31)
 by LV2PR12MB5798.namprd12.prod.outlook.com (2603:10b6:408:17a::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 17:52:15 +0000
Received: from CO1NAM11FT052.eop-nam11.prod.protection.outlook.com
 (2603:10b6:302:1:cafe::fc) by MW2PR2101CA0018.outlook.office365.com
 (2603:10b6:302:1::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.3 via Frontend
 Transport; Tue, 21 Mar 2023 17:52:14 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1NAM11FT052.mail.protection.outlook.com (10.13.174.225) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6222.16 via Frontend Transport; Tue, 21 Mar 2023 17:52:14 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 12:52:13 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Tue, 21 Mar
 2023 10:52:12 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Tue, 21 Mar 2023 12:52:11 -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: 1f33a905-c811-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=foc1zUkv8myYaE/AaGBxhlsJXz47qiX171LFLJkqzPd221zxUBi20TQ1+N0YnQKXgnOkj1GpWB31Eqs/5ez89ZcVHLc4xwXip9PN0oU0eysf1gCv2BAjQeoWu5zTXXnHQJZxCfGCni837jJ+piO2vxCTMcLK+Jd/VZZao6hI3gRaEzKsNmLWdnf6Ze2ZPHoB/KrSfgXn77NXpzv1Nl25QyiXR+WQkf5l9sTQSasOJU9SyeC+9zHOG85VD2RBSvg+ZOneITs9h+j3MUGH1P5eX7AXChJMIo3dQeXb54TWDBN7pdunKMc/95V3Kl8gor7mp0VeKcqwsoYbc5i8l3GEUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g3fF1i+jW0UPGJxpZ3us0lVn8AiP/nB+AD92GhayYiA=;
 b=V7i2Hoel+ELvbaJKK32anJALVQhq9F0foPbVqr2O6Gzd3mUA5TVr/YsGwQLmpsI15693tVNY+kmd4rVSMnx6qExSoXXzfLqwBJw3L2yZI7TmHwKWbcDkrGiINsSy/C6xvmAdyxQbCs87eNbmcObTelMI82R213e+VN25AAdSoJS8XbXCosNjEzUCSrcsGybyQeY2vMt5bAA1O9VPSYenqCcx74AJrWeWbXfURlu5lvhG/DQh6CLkoHBv/fgM9Y74lgYBMA2nwDAS3DwHmEbziqjeEmxJRyXnMdi/KXZkz+G9YYNKzwhnkocuRrxOnUz+byvbb4Ri5l8ksNoRB1ZdCA==
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
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=g3fF1i+jW0UPGJxpZ3us0lVn8AiP/nB+AD92GhayYiA=;
 b=yr8r31T1oJKuD9gHexH7tBSQiX1rD+5czZTl2v1uNjrSgMzBn/wMR+m2Y8TQtyU9b2+cn0x+zvdoy4skMD/8apwRKhsF5tcykSf+eHzzc5tcvcZxWBLxfzeqd81wL2kZoe3G9CnajQiR71Gz3UMTQ6z9prN4P+MkcZsQ0SUV05E=
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: <73c0df32-844d-b2ba-f212-3e04c1753236@amd.com>
Date: Tue, 21 Mar 2023 18:52:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH] xen/arm: irq: Constify the first parameter of
 platform_get_irq_byname()
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: <andrei.cherechesu@oss.nxp.com>, Julien Grall <jgrall@amazon.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230321171721.2502-1-julien@xen.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20230321171721.2502-1-julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT052:EE_|LV2PR12MB5798:EE_
X-MS-Office365-Filtering-Correlation-Id: 9948c18b-0378-43a5-d270-08db2a350118
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Uu/LBErmAP1QdqOEaW0Jz+aq0B8edc27d4q2EsWlB42x4m5ftAK0p43yM+5o+/5MXmGjr1Cn6VXDDRF+2X0Vfv5cMO6HDF2Mg8RNT6IJagyypKseQZutU2K13n1pe1B76mhlHFwJU21ii7OGzIWlhG4JP0woOET3jZrUDYNoEd1irzEsVpPeYyMlGhu+orv/2gPy5zDMiTenAQQNW/zCkye7GR/NvSWnIXNleif1he/6Dgfl4TKrxIg+cmsS1mfiyVW9zBP1TN3rluSTcIlTrsotVNzO7g3U7+raF2Fn2HKC8393dZDDQqYOwn10n/+GwxOLTxgwb2J3OzxRsGI40NXpeFaQymNRZHS5l5INoylOCCA/yro50X4Y5P7mqKji9TZFiCPNvn++deFWApa9RMRy9DCZsP41C4ZEIT4oksbu+pBDqf284WZF7ykWSWPergBnnoUvLQYmQj1Km5dY0b5nKTxBXWFdtURCr3jfRddcWQGdHbJjTBSt+c3sGn/BWlYUbbouzC7ynevr3No+B9rZERB2M0oCyBpRA9+lPdUUR+lloNDUdbiS6v3ivGphW7PpK3V52mc3CQJEf5gVX324RHgOcxvFZM4DRMbhaV6fopGotMRODssYuhdPRifpIn2hZL+Y1XCSMdZsNxPcGkRcxwsrXmXRBdirem4u3qlWr8AEWrgD0rgY8zjs7bM9wloMky09p1zFBrJ30ds8KQoSE5cuC2nQ0QqfwKlVWpd+chQjZikfKjJhvWIuG4Fzzd9k/Baoj8f+ACpTXr4tCg==
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:(13230025)(4636009)(396003)(376002)(136003)(346002)(39860400002)(451199018)(40470700004)(46966006)(36840700001)(31696002)(86362001)(40460700003)(558084003)(40480700001)(82310400005)(36756003)(316002)(4326008)(186003)(478600001)(70206006)(110136005)(16576012)(8676002)(70586007)(53546011)(2616005)(426003)(31686004)(6666004)(336012)(47076005)(54906003)(26005)(356005)(5660300002)(44832011)(36860700001)(8936002)(2906002)(81166007)(41300700001)(82740400003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 17:52:14.1531
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9948c18b-0378-43a5-d270-08db2a350118
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:
	CO1NAM11FT052.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5798

Hi Julien,

On 21/03/2023 18:17, Julien Grall wrote:
> 
> 
> From: Julien Grall <jgrall@amazon.com>
> 
> platform_get_irq_byname() is not meant to modify the parameter 'np'. So
> constify it.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 17:58:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 17:58:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.512955.793410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pegFm-0001qU-Ud; Tue, 21 Mar 2023 17:58:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 512955.793410; Tue, 21 Mar 2023 17: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 1pegFm-0001qN-Qe; Tue, 21 Mar 2023 17:58:34 +0000
Received: by outflank-mailman (input) for mailman id 512955;
 Tue, 21 Mar 2023 17:58: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 1pegFl-0001qH-Vc
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 17:58:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pegFl-0003lm-DM; Tue, 21 Mar 2023 17:58:33 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235] helo=[192.168.4.43])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pegFl-00075Y-2G; Tue, 21 Mar 2023 17:58:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=Iht9NO9toJ7ieYXjfIHkAbEUfZq5lOGMrsYwFJYQcL4=; b=I0fgsPHaZdXM8rKbTE0e9oCxjt
	OADbRTSjivZ7eo6ApRnGfUs4052GBElMgdx5RhyXgNf/p1UjarToQnnWQ4au/MY1ZMfTbSASrHMgu
	7DhmIg/reio3ycfhriCl4Z9w6AAYqYuYM+NwRNrta5WQJKUl2fAruwh0Y8l7TJcXud2c=;
Message-ID: <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
Date: Tue, 21 Mar 2023 17:58:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

I will try to not repeat the comment already made.

On 16/03/2023 16:43, Oleksii Kurochko wrote:
> Mostly the code for setup_initial_pages was taken from Bobby's
> repo except for the following changes:
> * Use only a minimal part of the code enough to enable MMU
> * rename {_}setup_initial_pagetables functions
> * add an argument for setup_initial_mapping to have
>    an opportunity to make set PTE flags.
> * update setup_initial_pagetables function to map sections
>    with correct PTE flags.
> * introduce separate enable_mmu() to be able for proper
>    handling the case when load start address isn't equal to
>    linker start address.
> * map linker addresses range to load addresses range without
>    1:1 mapping.
> * add safety checks such as:
>    * Xen size is less than page size
>    * linker addresses range doesn't overlap load addresses
>      range
> * Rework macros {THIRD,SECOND,FIRST,ZEROETH}_{SHIFT,MASK}
> * change PTE_LEAF_DEFAULT to RX instead of RWX.
> * Remove phys_offset as it isn't used now.
> * Remove alignment  of {map, pa}_start &= XEN_PT_LEVEL_MAP_MASK(0); in
>    setup_inital_mapping() as they should be already aligned.
> * Remove clear_pagetables() as initial pagetables will be
>    zeroed during bss initialization
> * Remove __attribute__((section(".entry")) for setup_initial_pagetables()
>    as there is no such section in xen.lds.S
> * Update the argument of pte_is_valid() to "const pte_t *p"
> 
> Origin: https://gitlab.com/xen-on-risc-v/xen/-/tree/riscv-rebase 4af165b468af
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V2:
>   * update the commit message:
>   * Remove {ZEROETH,FIRST,...}_{SHIFT,MASK, SIZE,...} and
>     introduce instead of them XEN_PT_LEVEL_*() and LEVEL_*
>   * Rework pt_linear_offset() and pt_index based on  XEN_PT_LEVEL_*()
>   * Remove clear_pagetables() functions as pagetables were zeroed during
>     .bss initialization
>   * Rename _setup_initial_pagetables() to setup_initial_mapping()
>   * Make PTE_DEFAULT equal to RX.
>   * Update prototype of setup_initial_mapping(..., bool writable) ->
>     setup_initial_mapping(..., UL flags)
>   * Update calls of setup_initial_mapping according to new prototype
>   * Remove unnecessary call of:
>     _setup_initial_pagetables(..., load_addr_start, load_addr_end, load_addr_start, ...)
>   * Define index* in the loop of setup_initial_mapping
>   * Remove attribute "__attribute__((section(".entry")))" for setup_initial_pagetables()
>     as we don't have such section
>   * make arguments of paddr_to_pte() and pte_is_valid() as const.
>   * make xen_second_pagetable static.
>   * use <xen/kernel.h> instead of declaring extern unsigned long _stext, 0etext, _srodata, _erodata
>   * update  'extern unsigned long __init_begin' to 'extern unsigned long __init_begin[]'
>   * use aligned() instead of "__attribute__((__aligned__(PAGE_SIZE)))"
>   * set __section(".bss.page_aligned") for page tables arrays
>   * fix identatations
>   * Change '__attribute__((section(".entry")))' to '__init'
>   * Remove phys_offset as it isn't used now.
>   * Remove alignment  of {map, pa}_start &= XEN_PT_LEVEL_MAP_MASK(0); in
>     setup_inital_mapping() as they should be already aligned.
>   * Remove clear_pagetables() as initial pagetables will be
>     zeroed during bss initialization
>   * Remove __attribute__((section(".entry")) for setup_initial_pagetables()
>     as there is no such section in xen.lds.S
>   * Update the argument of pte_is_valid() to "const pte_t *p"
> ---
>   xen/arch/riscv/Makefile           |   1 +
>   xen/arch/riscv/include/asm/mm.h   |   8 ++
>   xen/arch/riscv/include/asm/page.h |  67 +++++++++++++++++
>   xen/arch/riscv/mm.c               | 121 ++++++++++++++++++++++++++++++
>   xen/arch/riscv/riscv64/head.S     |  65 ++++++++++++++++
>   xen/arch/riscv/xen.lds.S          |   2 +
>   6 files changed, 264 insertions(+)
>   create mode 100644 xen/arch/riscv/include/asm/mm.h
>   create mode 100644 xen/arch/riscv/include/asm/page.h
>   create mode 100644 xen/arch/riscv/mm.c
> 
> diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
> index 443f6bf15f..956ceb02df 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 += mm.o
>   obj-$(CONFIG_RISCV_64) += riscv64/
>   obj-y += sbi.o
>   obj-y += setup.o
> diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
> new file mode 100644
> index 0000000000..3cc98fe45b
> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/mm.h
> @@ -0,0 +1,8 @@
> +#ifndef _ASM_RISCV_MM_H
> +#define _ASM_RISCV_MM_H
> +
> +void setup_initial_pagetables(void);
> +
> +extern void enable_mmu(void);
> +
> +#endif /* _ASM_RISCV_MM_H */
> diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
> new file mode 100644
> index 0000000000..fb8329a191
> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/page.h
> @@ -0,0 +1,67 @@
> +#ifndef _ASM_RISCV_PAGE_H
> +#define _ASM_RISCV_PAGE_H
> +
> +#include <xen/const.h>
> +#include <xen/types.h>
> +
> +#define PAGE_ENTRIES                (1 << PAGETABLE_ORDER)
> +#define VPN_MASK                    ((unsigned long)(PAGE_ENTRIES - 1))
> +
> +#define PAGE_ORDER                  (12)
> +
> +#ifdef CONFIG_RISCV_64
> +#define PAGETABLE_ORDER             (9)
> +#else /* CONFIG_RISCV_32 */
> +#define PAGETABLE_ORDER             (10)
> +#endif
> +
> +#define LEVEL_ORDER(lvl)            (lvl * PAGETABLE_ORDER)
> +#define LEVEL_SHIFT(lvl)            (LEVEL_ORDER(lvl) + PAGE_ORDER)
> +#define LEVEL_SIZE(lvl)             (_AT(paddr_t, 1) << LEVEL_SHIFT(lvl))
> +
> +#define XEN_PT_LEVEL_SHIFT(lvl)     LEVEL_SHIFT(lvl)
> +#define XEN_PT_LEVEL_ORDER(lvl)     LEVEL_ORDER(lvl)
> +#define XEN_PT_LEVEL_SIZE(lvl)      LEVEL_SIZE(lvl)
> +#define XEN_PT_LEVEL_MAP_MASK(lvl)  (~(XEN_PT_LEVEL_SIZE(lvl) - 1))
> +#define XEN_PT_LEVEL_MASK(lvl)      (VPN_MASK << XEN_PT_LEVEL_SHIFT(lvl))
> +
> +#define PTE_SHIFT                   10
> +
> +#define PTE_VALID                   BIT(0, UL)
> +#define PTE_READABLE                BIT(1, UL)
> +#define PTE_WRITABLE                BIT(2, UL)
> +#define PTE_EXECUTABLE              BIT(3, UL)
> +#define PTE_USER                    BIT(4, UL)
> +#define PTE_GLOBAL                  BIT(5, UL)
> +#define PTE_ACCESSED                BIT(6, UL)
> +#define PTE_DIRTY                   BIT(7, UL)
> +#define PTE_RSW                     (BIT(8, UL) | BIT(9, UL))
> +
> +#define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_EXECUTABLE)
> +#define PTE_TABLE                   (PTE_VALID)
> +
> +/* Calculate the offsets into the pagetables for a given VA */
> +#define pt_linear_offset(lvl, va)   ((va) >> XEN_PT_LEVEL_SHIFT(lvl))
> +
> +#define pt_index(lvl, va)   pt_linear_offset(lvl, (va) & XEN_PT_LEVEL_MASK(lvl))
> +
> +/* Page Table entry */
> +typedef struct {
> +    uint64_t pte;
> +} pte_t;
> +
> +/* Shift the VPN[x] or PPN[x] fields of a virtual or physical address
> + * to become the shifted PPN[x] fields of a page table entry */
> +#define addr_to_ppn(x) (((x) >> PAGE_SHIFT) << PTE_SHIFT)
> +
> +static inline pte_t paddr_to_pte(const unsigned long paddr)
> +{
> +    return (pte_t) { .pte = addr_to_ppn(paddr) };
> +}
> +
> +static inline bool pte_is_valid(const pte_t *p)
> +{
> +    return p->pte & PTE_VALID;
> +}
> +
> +#endif /* _ASM_RISCV_PAGE_H */
> diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
> new file mode 100644
> index 0000000000..0df6b47441
> --- /dev/null
> +++ b/xen/arch/riscv/mm.c
> @@ -0,0 +1,121 @@
> +#include <xen/compiler.h>
> +#include <xen/init.h>
> +#include <xen/kernel.h>
> +#include <xen/lib.h>
> +#include <xen/page-size.h>
> +
> +#include <asm/boot-info.h>
> +#include <asm/config.h>
> +#include <asm/csr.h>
> +#include <asm/mm.h>
> +#include <asm/page.h>
> +#include <asm/traps.h>
> +
> +/*
> + * xen_second_pagetable is indexed with the VPN[2] page table entry field
> + * xen_first_pagetable is accessed from the VPN[1] page table entry field
> + * xen_zeroeth_pagetable is accessed from the VPN[0] page table entry field
> + */
> +pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
> +    xen_second_pagetable[PAGE_ENTRIES];
> +static pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
> +    xen_first_pagetable[PAGE_ENTRIES];
> +static pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
> +    xen_zeroeth_pagetable[PAGE_ENTRIES];
> +
> +extern unsigned long __init_begin[];
> +extern unsigned long __init_end[];
> +extern unsigned char cpu0_boot_stack[STACK_SIZE];
> +
> +static void __init
> +setup_initial_mapping(pte_t *second, pte_t *first, pte_t *zeroeth,
> +                      unsigned long map_start,
> +                      unsigned long map_end,
> +                      unsigned long pa_start,
> +                      unsigned long flags)
> +{
> +    unsigned long page_addr;
> +
> +    // /* align start addresses */
> +    // map_start &= XEN_PT_LEVEL_MAP_MASK(0);
> +    // pa_start &= XEN_PT_LEVEL_MAP_MASK(0);

They should be switched to ASSERT() or BUG_ON().

> +
> +    page_addr = map_start;
> +    while ( page_addr < map_end )

This loop is continue to assume that only the mapping can first in 2MB 
section (or less if the start is not 2MB aligned).

I am OK if you want to assume it, but I think this should be documented 
(with words and ASSERT()/BUG_ON()) to avoid any mistake.

> +    {
> +        unsigned long index2 = pt_index(2, page_addr);
> +        unsigned long index1 = pt_index(1, page_addr);
> +        unsigned long index0 = pt_index(0, page_addr);
> +
> +        /* Setup level2 table */
> +        second[index2] = paddr_to_pte((unsigned long)first);
> +        second[index2].pte |= PTE_TABLE;
> +
> +        /* Setup level1 table */
> +        first[index1] = paddr_to_pte((unsigned long)zeroeth);
> +        first[index1].pte |= PTE_TABLE;
> +
> +

NIT: Spurious line?

> +        /* Setup level0 table */
> +        if ( !pte_is_valid(&zeroeth[index0]) )

On the previous version, you said it should be checked for each level. 
But here you still only check for a single level.

Furthermore, I would strongly suggest to also check the valid PTE is the 
same as you intend to write to catch any override (they are a pain to 
debug).

> +        {
> +            /* Update level0 table */
> +            zeroeth[index0] = paddr_to_pte((page_addr - map_start) + pa_start);
> +            zeroeth[index0].pte |= flags;
> +        }
> +
> +        /* Point to next page */
> +        page_addr += XEN_PT_LEVEL_SIZE(0);
> +    }
> +}
> +
> +/*
> + * setup_initial_pagetables:
> + *
> + * Build the page tables for Xen that map the following:
> + *   load addresses to linker addresses
> + */
> +void __init setup_initial_pagetables(void)
> +{
> +    pte_t *second;
> +    pte_t *first;
> +    pte_t *zeroeth;
> +
> +    unsigned long load_addr_start   = boot_info.load_start;
> +    unsigned long load_addr_end     = boot_info.load_end;
> +    unsigned long linker_addr_start = boot_info.linker_start;
> +    unsigned long linker_addr_end   = boot_info.linker_end;
> +
> +    BUG_ON(load_addr_start % (PAGE_ENTRIES * PAGE_SIZE) != 0);
> +    if (load_addr_start != linker_addr_start)
> +        BUG_ON((linker_addr_end > load_addr_start && load_addr_end > linker_addr_start));

I would suggest to switch to a panic() with an error message as this 
would help the user understanding what this is breaking.

Alternatively, you could document what this check is for.

> +
> +    /* Get the addresses where the page tables were loaded */
> +    second  = (pte_t *)(&xen_second_pagetable);
> +    first   = (pte_t *)(&xen_first_pagetable);
> +    zeroeth = (pte_t *)(&xen_zeroeth_pagetable);
> +
> +    setup_initial_mapping(second, first, zeroeth,
> +                          LOAD_TO_LINK((unsigned long)&_stext),
> +                          LOAD_TO_LINK((unsigned long)&_etext),
> +                          (unsigned long)&_stext,
> +                          PTE_LEAF_DEFAULT);
> +
> +    setup_initial_mapping(second, first, zeroeth,
> +                          LOAD_TO_LINK((unsigned long)&__init_begin),
> +                          LOAD_TO_LINK((unsigned long)&__init_end),
> +                          (unsigned long)&__init_begin,
> +                          PTE_LEAF_DEFAULT | PTE_WRITABLE);
> +
> +    setup_initial_mapping(second, first, zeroeth,
> +                          LOAD_TO_LINK((unsigned long)&_srodata),
> +                          LOAD_TO_LINK((unsigned long)&_erodata),
> +                          (unsigned long)(&_srodata),
> +                          PTE_VALID | PTE_READABLE);
> +
> +    setup_initial_mapping(second, first, zeroeth,
> +                          linker_addr_start,
> +                          linker_addr_end,
> +                          load_addr_start,
> +                          PTE_LEAF_DEFAULT | PTE_READABLE);

As I said in v1, you need to use a different set of page-table here. 
Also, where do you guarantee that Xen will be loaded at a 2MB aligned 
address? (For a fact I know that UEFI is only guarantee 4KB alignment).

> +}
> diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
> index 8887f0cbd4..f4a0582727 100644
> --- a/xen/arch/riscv/riscv64/head.S
> +++ b/xen/arch/riscv/riscv64/head.S
> @@ -1,4 +1,5 @@
>   #include <asm/asm.h>
> +#include <asm/asm-offsets.h>
>   #include <asm/riscv_encoding.h>
>   
>           .section .text.header, "ax", %progbits
> @@ -32,3 +33,67 @@ ENTRY(start)
>           add     sp, sp, t0
>   
>           tail    start_xen
> +
> +ENTRY(enable_mmu)
> +        /* Calculate physical offset between linker and load addresses */
> +        la      t0, boot_info
> +        REG_L   t1, BI_LINKER_START(t0)
> +        REG_L   t2, BI_LOAD_START(t0)
> +        sub     t1, t1, t2
> +
> +        /*
> +         * Calculate and update a linker time address of the .L_mmu_is_enabled
> +         * label and update CSR_STVEC with it.
> +         * MMU is configured in a way where linker addresses are mapped
> +         * on load addresses so case when linker addresses are not equal to
> +         * load addresses, and thereby, after MMU is enabled, it will cause
> +         * an exception and jump to linker time addresses
> +         */
> +        la      t3, .L_mmu_is_enabled
> +        add     t3, t3, t1
> +        csrw    CSR_STVEC, t3
> +
> +        /* Calculate a value for SATP register */
> +        li      t5, SATP_MODE_SV39
> +        li      t6, SATP_MODE_SHIFT
> +        sll     t5, t5, t6
> +
> +        la      t4, xen_second_pagetable
> +        srl     t4, t4, PAGE_SHIFT
> +        or      t4, t4, t5
> +        sfence.vma
> +        csrw    CSR_SATP, t4
> +
> +        .align 2
> +.L_mmu_is_enabled:
> +        /*
> +         * Stack should be re-inited as:
> +         * 1. Right now an address of the stack is relative to load time
> +         *    addresses what will cause an issue in case of load start address
> +         *    isn't equal to linker start address.
> +         * 2. Addresses in stack are all load time relative which can be an
> +         *    issue in case when load start address isn't equal to linker
> +         *    start address.
> +         */

Hmmm... I am not sure you can reset the stack and then return to the 
caller because it may have stash some variable on the stack.

So if you want to reset, then you should jump to a brand new function.

> +        la      sp, cpu0_boot_stack
> +        li      t0, STACK_SIZE
> +        add     sp, sp, t0
> +
> +        /*
> +         * Re-init an address of exception handler as it was overwritten  with
> +         * the address of the .L_mmu_is_enabled label.
> +         * Before jump to trap_init save return address of enable_mmu() to
> +         * know where we should back after enable_mmu() will be finished.
> +         */
> +        mv      s0, ra
> +        lla     t0, trap_init
> +        jalr    ra, t0
> +
> +        /*
> +         * Re-calculate the return address of enable_mmu() function for case
> +         * when linker start address isn't equal to load start address
> +         */
> +        add     s0, s0, t1
> +        mv      ra, s0
> +
> +        ret

Missing ENDPROC?

> diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
> index eed457c492..e4ac4e84b6 100644
> --- a/xen/arch/riscv/xen.lds.S
> +++ b/xen/arch/riscv/xen.lds.S
> @@ -179,3 +179,5 @@ SECTIONS
>   
>   ASSERT(!SIZEOF(.got),      ".got non-empty")
>   ASSERT(!SIZEOF(.got.plt),  ".got.plt non-empty")
> +
> +ASSERT(_end - _start <= MB(2), "Xen too large for early-boot assumptions")

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 18:34:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 18:34:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513015.793419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pegnx-00073N-JJ; Tue, 21 Mar 2023 18:33:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513015.793419; Tue, 21 Mar 2023 18: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 1pegnx-00073G-Ga; Tue, 21 Mar 2023 18:33:53 +0000
Received: by outflank-mailman (input) for mailman id 513015;
 Tue, 21 Mar 2023 18:33:52 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=CsWt=7N=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1pegnv-00073A-Ul
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 18:33:52 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20613.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea68a6c2-c816-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 19:33:48 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by CH2PR12MB4101.namprd12.prod.outlook.com (2603:10b6:610:a8::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 18:33:44 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242%4]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 18:33:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea68a6c2-c816-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jg1TplbqW8pZWSQzLCj0lYm0OXWPRQUVB5utsA5ZlrfPBBroQQwvWEnPznnVXt8YRibVvw3AJ85U3V08JF1QW7h6osbPuAMID1UbD2oa8XyLFmGKdJY57H4kaElrkkv1HF8A8Jd8qZ5EcjncHyGyNEFVHG0c+TrWeIRBo/cizKks3abhlI3/B5R2vXbWZy4V+5fxHX+i2plWVJaqf1WHigCwmfD+seWBqCXmkxFR3YcSdAtSTYxyworuBon5qSww9ZW1cAzThkf8nnCfqyO2NCMYayNR/oJVgdEeeRsT9METErNOwfQlu+CsjF3Bsdu/kkkZllbfOc/vR9BgsJWn1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r3AWmQytbyq6lVxqpKpF05l0Xi9x/G2roTeBtxMBBdo=;
 b=Axv41nfJrleKRzGCN2gkuRbpZ5bPGDdV0uNxoOrV6ES64XavRu06i7mg/UE7osVN4vdrkd4W8jUAd32nyBMaOq+JIpK5cUEC/IBR+i6NaZuEqQweIL2dNRS/iJl0OKvRj1SkoV1EJwEfViBTkJaSrFpwpmfaG3gm1wMTrupjbk0rsJctfmKpYr3Ssdu5XFHi9o1xnXWAYZKJqYOC8vBd4mCpIKY/3EH0vb4o7KgG8dRGRY+d+LqMlOyYqXmVosAnMu5YrvGhXstIs8jYNBjFJjZ4FIZJ5Y5Yc3FqfS0lZ/vx3ARxuub5dvpbI+hSuGFZbQiuKJR+IC+iCevCRTWyeQ==
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=r3AWmQytbyq6lVxqpKpF05l0Xi9x/G2roTeBtxMBBdo=;
 b=VPGzmbEgnw0wMtxOqHvZwCXiN2iVwoXA1jB4uuGF34Tfs1adFjBGz3wgjeygXdFNxY3xLlf3iuLGP886iltp06x7xXLg+81VYau7t3PHVmR8jtxOoAZkFOkFc9kkEiPW3pzPPGlC200/569xBIc+yHegLLZln9Mj1xKkORPOev8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <01a800a5-1c0d-b9d4-05c7-c886b3e3009d@amd.com>
Date: Tue, 21 Mar 2023 18:33:37 +0000
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.8.0
Subject: Re: [XEN v4 07/11] xen/arm: Introduce choice to enable 64/32 bit
 physical addressing
To: Jan Beulich <jbeulich@suse.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com, julien@xen.org,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 rahul.singh@arm.com, xen-devel@lists.xenproject.org
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-8-ayan.kumar.halder@amd.com>
 <7d90ad7a-5daf-915c-2055-a27ca50d8581@suse.com>
 <e268e11b-8e93-c506-668b-c5c004b3aa06@amd.com>
 <1883c9a3-ad25-ac45-b1fa-d29e19b3cc14@suse.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <1883c9a3-ad25-ac45-b1fa-d29e19b3cc14@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0229.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:315::18) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|CH2PR12MB4101:EE_
X-MS-Office365-Filtering-Correlation-Id: 399259d4-85c4-40de-39ee-08db2a3acd17
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k4fMiH4ZZsOH2omWkvMmyf8M7OGo2wKV+GMt8KIkTm3ovBznuk/94E7wePWZITzKw+qZXkWk35MCYMNXUmZQmdMgTHBidLRzPXBKbE5jBsz5oMtx4RCZdWy6mNoORYRBvG3gKg7n/TFIs3gyBk9p8+wqiXVsfBMIIvYlJt6p7BdcrwUihfrFWrUpivH7aeIfemakgLW470eps/R74aJkLBzAQmFtohQCJ6/4ZhsI+TafgyCWswUYf6I27NrI90brqnk0MZomjfPcdC9dxXOc41vq47e5ysoIFnEPlpyZqJoBagHzCR/jyNs6JJdZm9jwJ0BpcNedh9UX5Jf78OZAuber9Iy5vQQbKMZqwUj+x2BL75B8BMiJT5W2VlKIvvAJsecGIr8+CVZVB7ApHIXfOlIrRjsxsqMOM3ZoCMUJgGd8Yn1g5Xohrzbb5W2cpRus+OSaFG8OUQhJRbtRl7Xcxh25kxA6sw+WBOmIvQxaeCfAjeTJICAu7VxOu2TlxqtzMYimvISHR3DchSX1vM6e+O5aOYg4aYpiBYRZAA/KvTW56zUboduU2yFc3cHWgaxr/Ial5d3e4gGFoYXw7sP7Pmzk0J9xyFigMSgcSMUr4emCqiG+X1XSOxb65qah4X+cGK1RfCznV5Wiq4Q7a0AGBOTG1Dpbba110r+/PE/mcXeg2b8B3LZlj8CNUvc3mU8lbcsnV+Wk8RxMMoa4/o2Bkt23GxTmzlCsA5K388ehZuQJ50dKTxmhrRupMdHQy8FeYxS6CJsEnN4PYbrHhvF8jw==
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:(13230025)(4636009)(376002)(366004)(39860400002)(346002)(136003)(396003)(451199018)(38100700002)(6636002)(31696002)(110136005)(7416002)(8676002)(316002)(66946007)(66476007)(36756003)(66556008)(8936002)(4326008)(5660300002)(41300700001)(2906002)(83380400001)(478600001)(6666004)(2616005)(31686004)(6506007)(26005)(186003)(53546011)(6512007)(6486002)(966005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NVNIZXN1M2d6ZHJDNGlBekRDUmFoRnFJR1FTY0tQZ2tISzBFMExPemFycmps?=
 =?utf-8?B?SitpLzlCZmpuakltbXNzVmZrMkgzd0VheC85aklPMG5pRXkyZTZsL1VIc0w3?=
 =?utf-8?B?dTJHMm5MZmpBM2tkMVlXTVg1aFN0cXlxdW1uRytnUnhhSWFReUVrbysyTTJx?=
 =?utf-8?B?NVlxRE5ON09aeGJqclFxK2VVL25UZjVXMVBNQ3c5cnBRa1RBZE5QZnI3Q2tH?=
 =?utf-8?B?a2ZwWFlhK2JVRDBOaTJoWndPUDdPTG5lZUZ2eXlpUXd5VWVQdTN4K01ieW9F?=
 =?utf-8?B?ZG1lMXIycERhMCtPcCtyay94NEdmUW93Q0pySzZGOFd1Z2Y2dUhieVNjKzhz?=
 =?utf-8?B?VVEzdHlXK1NvUU42aVFpTVVRWFpyY1ZtUG4xZExsMEpGc3BNMndjS3gvdWla?=
 =?utf-8?B?VFA4Ukk0SE9ZaFRGd0xrMUdhN2RwVVJQV1ZwTXZtTWd5R2M1ejR4ditBNFAz?=
 =?utf-8?B?bS84bFBwT2M5MHZOMHlHbkJoTzNaTUFHR295L2wvcXRtMmF0Qkp1QWxqRE1a?=
 =?utf-8?B?a09hTWhEMm1tbnBwYkRxOGZiamJWZFB0QW5oTDNaS1J3bHRQQUtsOCtZTUVR?=
 =?utf-8?B?OXcxS20yOVFkUnhzc0dCSW93cXdyWXFpeTQwZExZcUU5ZGNha3dMYlJWZHNa?=
 =?utf-8?B?d09VRTRUeXNVNFZZY1ozbDhDRUgyNkNPK1BZQzZYcDRQcEl3aGZBL3dabi9x?=
 =?utf-8?B?Y2ZXU3R4ZkRXNDdNUGZBd1NKOTRyWktuS1JkMksvdUQvRldvNEtpVmp3TEtC?=
 =?utf-8?B?U0NTcUdFZ202NDIvTnBsOU54ZTdoczFnRUVTcHJ3UEhhQjZhdWljZkdncHJT?=
 =?utf-8?B?SHVxZHJ1U1pmb0RHYlhHUmhBckJJdGp0aG1MTWE3STZtbEVDM1Z5bmpyUWw4?=
 =?utf-8?B?eTk2NmN2M0xxcGw4OFdKbHVzWkFLVTIyYVVuTS9TeWpoRmJqWHhpNjVONEZG?=
 =?utf-8?B?MDZSdVozNlpoUjBjUlNYY08reUsrMjNCWHFpczlEU3Jaa29HbHlMOVFzbTFz?=
 =?utf-8?B?YjJqSmVLV3E1TlpBMHV3eXdwL2hQR3ZpRkVyYThqTThCeWQvVU5KeVExYlRo?=
 =?utf-8?B?WnJjSlJCbW8yYWszU3ZkV0JZMjhqK1dDMTVUajJZaWNrbFFBUHNjOWtHcXIw?=
 =?utf-8?B?NGQ2akt6cDE2WHN5OHJLOWZxZkttb25Oc0Z2TXdVOXFxT2JlUDNHRFhyalZP?=
 =?utf-8?B?cUkzZnBvNGFWQ1RRYk42OVp2T3hreGFzNFNhbngxTFZ2dTZDL0tiSXc5V2tr?=
 =?utf-8?B?bmpxNWJ6WVd2eEd2TmdSUzRKV1ZoYWYrNnhNajV0ZzBrSmk5b0U4ajNXN3pk?=
 =?utf-8?B?RWFpbXVCVEFiRFlSYWNDZzBTV0pMZ3BxbmNrMjhLZjhwRmF2OVY1MU1yRnpv?=
 =?utf-8?B?dWc2djZkdVFEWXZ0NEM5NkhXUVRKRlcvWTFYYWNrRElZNUNlWnlPcUtjandz?=
 =?utf-8?B?c2hZTS9ZVExSRTQ5TFk4dllQVlJwbG9mSFg1ZDF0d2tRRXM4SlhPd2daWm1L?=
 =?utf-8?B?STRMTE9nVy9nNGhPTEZDZUQxc0FqNFdiTDFLNWVJRzNvZ0FKSzVMOHZLNmJr?=
 =?utf-8?B?VzVkUXdMdmZ0LzNuRE10NWxaazZYNnBkeVNMT21Gc0R0c2RBZ1BrSGVIWU9k?=
 =?utf-8?B?Zk9yMzhFclA0RjFGeFdndWJTUzNNWGhaZDVjVy8wanZKZm9jcnVTZ053NW5l?=
 =?utf-8?B?SUxKU2ZrU0RVVWdBVE5kNXFvL09ZUlZBaGZrS3BYU0xvYW9WbU5QYlBEMkhG?=
 =?utf-8?B?ME44UDVwOUN0ZkM4bUxZdFNpbTZFa1BLOFh0QURXaklOakVub095RFo3VkJq?=
 =?utf-8?B?bDROK1RWdGlDR0E0TnlNYnpVWnJVL2wxSlJiZis4NGcwNE9Bc0dVWXV1ZlRz?=
 =?utf-8?B?b05QODUzZEJUQzAyQ1hLRGd0VU8wbUkzWjNVaURsZXpFemMrUXJ3V2NOeEc5?=
 =?utf-8?B?UFFWQWcvZDVFSThjVGU1SXVmaXNod24zbkxhTnE2VHBlcEJ0WkFaMWcxUUFR?=
 =?utf-8?B?VlJibjA2K29UOHRmWWx4U3pLMG83RWJzRmtVT0Nuak5NWHQvRkxFM24wSC96?=
 =?utf-8?B?NCtVNG5MRTQwS0FKb2JiOHJ6NWVTRCtqSEQrcHEwRUFUWVQvUWRjM3RMUmI4?=
 =?utf-8?Q?MgJyaxq5ZNFydXYcHN2nGkqPn?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 399259d4-85c4-40de-39ee-08db2a3acd17
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 18:33:44.2409
 (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: fPnIXSxX6OCdQmbL6Xb4ma1SxKi4VFOKryIZltiLoXmJoRv+GJdhsk/PoOppWTJEL34858P/n+A6Pf+7nWStcA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4101

Hi Jan,

On 21/03/2023 16:53, Jan Beulich wrote:
> On 21.03.2023 17:15, Ayan Kumar Halder wrote:
>> On 21/03/2023 14:22, Jan Beulich wrote:
>>> On 21.03.2023 15:03, Ayan Kumar Halder wrote:
>>>> --- a/xen/arch/Kconfig
>>>> +++ b/xen/arch/Kconfig
>>>> @@ -1,6 +1,12 @@
>>>>    config 64BIT
>>>>    	bool
>>>>    
>>>> +config PHYS_ADDR_T_32
>>>> +	bool
>>>> +
>>>> +config PHYS_ADDR_T_64
>>>> +	bool
>>> Do we really need both?
>> I was thinking the same. I am assuming that in future we may have
>>
>> PHYS_ADDR_T_16,
> Really? What contemporary system would be able to run in just 64k?
> Certainly not Xen, let alone any Dom0 on top of it.
>
>> PHYS_ADDR_T_128. So, I am hoping that defining them explicitly might help.
> Yes, 128-bit addresses may appear at some point. Then (and only then)
> we'll need two controls, and we can then think about how to represent
> them properly without risking issues.
>
>> Also, the user cannot select these configs directly.
> Sure, but at some point some strange combination of options might that
> randconfig manages to construct.
>
>>> If so, what guards against both being selected
>>> at the same time?
>> At present, we rely on "select".
> You mean 'we rely on there being only one "select"'?
Yes, that was what I meant.
> Else I'm afraid I
> don't understand your reply.
>
>>> Them being put in common code I consider it an at least latent issue
>>> that you add "select"s ...
>>>
>>>> --- a/xen/arch/arm/Kconfig
>>>> +++ b/xen/arch/arm/Kconfig
>>>> @@ -9,6 +9,7 @@ config ARM_64
>>>>    	select 64BIT
>>>>    	select ARM_EFI
>>>>    	select HAS_FAST_MULTIPLY
>>>> +	select PHYS_ADDR_T_64
>>>>    
>>>>    config ARM
>>>>    	def_bool y
>>>> @@ -19,13 +20,48 @@ config ARM
>>>>    	select HAS_PMAP
>>>>    	select IOMMU_FORCE_PT_SHARE
>>>>    
>>>> +menu "Architecture Features"
>>>> +
>>>> +choice
>>>> +	prompt "Physical address space size" if ARM_32
>>>> +	default ARM_PA_BITS_48 if ARM_64
>>>> +	default ARM_PA_BITS_40 if ARM_32
>>>> +	help
>>>> +	  User can choose to represent the width of physical address. This can
>>>> +	  sometimes help in optimizing the size of image when user chooses a
>>>> +	  smaller size to represent physical address.
>>>> +
>>>> +config ARM_PA_BITS_32
>>>> +	bool "32-bit"
>>>> +	help
>>>> +	  On platforms where any physical address can be represented within 32 bits
>>>> +	  , user should choose this option. This will help is reduced size of the
>>>> +	  binary.
>>>> +	select PHYS_ADDR_T_32
>>>> +	depends on ARM_32
>>>> +
>>>> +config ARM_PA_BITS_40
>>>> +	bool "40-bit"
>>>> +	select PHYS_ADDR_T_64
>>>> +	depends on ARM_32
>>>> +
>>>> +config ARM_PA_BITS_48
>>>> +	bool "40-bit"
>>>> +	select PHYS_ADDR_T_64
>>>> +	depends on ARM_48
>>>> +endchoice
>>> ... only for Arm. You get away with this only because ...
>>>
>>>> --- a/xen/arch/arm/include/asm/types.h
>>>> +++ b/xen/arch/arm/include/asm/types.h
>>>> @@ -34,9 +34,15 @@ typedef signed long long s64;
>>>>    typedef unsigned long long u64;
>>>>    typedef u32 vaddr_t;
>>>>    #define PRIvaddr PRIx32in
>>>> +#if defined(CONFIG_PHYS_ADDR_T_32)
>>>> +typedef unsigned long paddr_t;
>>>> +#define INVALID_PADDR (~0UL)
>>>> +#define PRIpaddr "08lx"
>>>> +#else
>>>>    typedef u64 paddr_t;
>>>>    #define INVALID_PADDR (~0ULL)
>>>>    #define PRIpaddr "016llx"
>>>> +#endif
>>>>    typedef u32 register_t;
>>>>    #define PRIregister "08x"
>>>>    #elif defined (CONFIG_ARM_64)
>>> ... you tweak things here, when we're in the process of moving stuff
>>> out of asm/types.h.
>> Are you suggesting not to add anything to asm/types.h ? IOW, the above
>> snippet should
>>
>> be added to xen/include/xen/types.h.
> It's not your snippet alone, but the definition of paddr_t in general
> which should imo be moved (as a follow-on to "common: move standard C
> fixed width type declarations to common header"). If your patch in its
> present shape landed first, that movement would become more
> complicated - first and foremost "select"ing the appropriate
> PHYS_ADDR_T_* on x86 and RISC-V would then need to be done there, when
> it really doesn't belong there.

I understand your point. I am assuming that as PHYS_ADDR_T_* is now 
introduced at xen/arch/Kconfig, so x86 or RISC-V should be able to 
select the option.

As I see today, for :-

RISCV defines PADDR_BITS to 56. Thus, it will select PHYS_ADDR_T_64 only.

X86 defines PADDR_BITS to 52. Thus, it will also select PHYS_ADDR_T_64 only.

For Arm, there will be at least two configurations 1. which selects 
PHYS_ADDR_T_64   2. not select PHYS_ADDR_T_64 (ie for 32 bit physical 
address).

>
>>> (Using "unsigned long" for a 32-bit paddr_t is of
>>> course suspicious as well - this ought to be uint32_t.)
>> The problem with using uint32_t for paddr_t is that there are instances
>> where the paddr_t is modified with PAGE_MASK or PAGE_ALIGN.
>>
>> For eg , handle_passthrough_prop()
>>
>>               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);
>>
>> And in xen/include/xen/page-size.h,
>>
>> #define PAGE_SIZE           (_AC(1,L) << PAGE_SHIFT)
>> #define PAGE_MASK           (~(PAGE_SIZE-1))
>>
>> Thus, the resulting types are unsigned long. This cannot be printed
>> using %u for PRIpaddr.
> Is there anything wrong with making PAGE_SIZE expand to (1 << PAGE_SHIFT)
> when physical addresses are only 32 bits wide?

I don't have a strong objection except that this is similar to what 
linux is doing today.

https://elixir.bootlin.com/linux/latest/source/arch/arm/include/asm/page.h#L12

>
>> I remember some discussion (or comment) that the physical addresses
>> should be represented using 'unsigned long'.
> A reference would be helpful.

https://lists.xenproject.org/archives/html/xen-devel/2023-02/msg00305.html

- Ayan

>
> Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 18:55:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 18:55:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513020.793430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peh90-0001Vm-IG; Tue, 21 Mar 2023 18:55:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513020.793430; Tue, 21 Mar 2023 18: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 1peh90-0001Vf-FS; Tue, 21 Mar 2023 18:55:38 +0000
Received: by outflank-mailman (input) for mailman id 513020;
 Tue, 21 Mar 2023 18:55:37 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=5e6f=7N=amd.com=Christian.Koenig@srs-se1.protection.inumbo.net>)
 id 1peh8z-0001VZ-3S
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 18:55:37 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20624.outbound.protection.outlook.com
 [2a01:111:f400:7e89::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f4094a7e-c819-11ed-87f5-c1b5be75604c;
 Tue, 21 Mar 2023 19:55:34 +0100 (CET)
Received: from BN8PR12MB3587.namprd12.prod.outlook.com (2603:10b6:408:43::13)
 by BL1PR12MB5239.namprd12.prod.outlook.com (2603:10b6:208:315::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Tue, 21 Mar
 2023 18:55:28 +0000
Received: from BN8PR12MB3587.namprd12.prod.outlook.com
 ([fe80::d23f:bb1:df95:3918]) by BN8PR12MB3587.namprd12.prod.outlook.com
 ([fe80::d23f:bb1:df95:3918%4]) with mapi id 15.20.6178.037; Tue, 21 Mar 2023
 18:55: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: f4094a7e-c819-11ed-87f5-c1b5be75604c
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H7pkNXMgQqmaJ3UqpDNpQs4fkpF9LO7Ruuhq0uwujX+tyIgPRMZJKSAffXdrZQBhZuPz83awoExqoP9RMU22ATyYEHklrtEO3jdkZ27/75XxF0cLndSU4NGjlY6GJd4QrC/QOEnQ89vlcm2qU5YbnZhOaIm+qVGyBFzXLmUf3kJyznjXpczFF25BSFpwTQsgdApp3Sr7FOY3Z0jh0G58hEIEqpbUOfHeMFSpCRYDeW3xTn48QJdogoJHNAziSUNa6Iyj4wtkZcgTlgswx2CEtOocUXxkWFn8EXq6lG633B5avcpAzSs8smIGXm6sPAV5PWWGe5hYMpZSwL5L55482w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HV5tAZkMTA86CnxwVywC1hyOWM5EHGs520IjmM0K8Gg=;
 b=WbPs7ohsONHpWW1XVJssmHYCsjvPbFUAcqaJdUAZ6H8bkUO/Zja1O8NjRV4wNyWV32cYujmoHKQ+oDgxqoUA1rsLcomRIZt60RBmT/oTOrQzRhH3wk48pwR3BLKG0gVnoW7e0IY8abkN8S+aupkv9rY3Ts+xLRUXy8nbQmDeiohyuZoj0xyt/Ds5XlpKHcYrzCz14gWNJ6IwZjGJTo9esU5SNsSGzApOusUWGmqYI68wBt3LOHi0ha6VPcNZAqzp7UGkn5gYPVnmrrbXTqO7WBRgx+7jC2XvuLObnlNpXNZYCTWoCmJ+YNUOeadBRGgHtXEdzzysETHj5LvKyE883A==
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=HV5tAZkMTA86CnxwVywC1hyOWM5EHGs520IjmM0K8Gg=;
 b=Z1QGzfeQZwpR/cl8QSudiwCeWSHybMLVGPXCXk4v4yZFqPuodtOD/N05WVJ4cYTAkD+5k/YqAAODCbDlsLhlvwp3sAyehWjQD3PzYjxFBKjvWDBbd59NZAqgc5oGx/8RGhgcBnG44x6c+xw4akQ2J+1I0LnHL/3RDTF6rtW8Ab8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <69f0ba3b-c7a7-a059-3cd4-181a9d474320@amd.com>
Date: Tue, 21 Mar 2023 19:55:20 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC PATCH 1/5] x86/xen: disable swiotlb for xen pvh
Content-Language: en-US
To: Alex Deucher <alexdeucher@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Juergen Gross <jgross@suse.com>, Jan Beulich <jbeulich@suse.com>,
 Honglei Huang <honglei1.huang@amd.com>, amd-gfx@lists.freedesktop.org,
 dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
 Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Huang Rui <ray.huang@amd.com>, Chen Jiqian <Jiqian.Chen@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 Alex Deucher <alexander.deucher@amd.com>, xen-devel@lists.xenproject.org,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Julia Zhang <julia.zhang@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20230312120157.452859-1-ray.huang@amd.com>
 <20230312120157.452859-2-ray.huang@amd.com>
 <ea0e3852-87ba-984b-4010-5eeac3d6c507@suse.com>
 <alpine.DEB.2.22.394.2303141747350.863724@ubuntu-linux-20-04-desktop>
 <f5e03f2a-8176-528f-e885-9a97940367c0@suse.com>
 <alpine.DEB.2.22.394.2303151616200.3462@ubuntu-linux-20-04-desktop>
 <5e22a45d-6f12-da9b-94f6-3112a30e8574@suse.com>
 <CADnq5_PH9ZqDqpPES74V3fB3NVpaexDoGTyu_+-zoux5vgagyg@mail.gmail.com>
 <dcb54275-b21f-a837-76bb-e19e331a0666@suse.com>
 <CADnq5_PpCWrZzQdE_X6ZnuNU3ktVeC6TbmE5vq3K6rCAdB8GTg@mail.gmail.com>
 <d256a967-f50e-2e19-1985-aa9cfc0e8b18@suse.com>
 <alpine.DEB.2.22.394.2303161603200.3359@ubuntu-linux-20-04-desktop>
 <CADnq5_NnOApcpkKb3UqAKAcS9s_gG3Lq4ssJDgCjq5ZQty2rnw@mail.gmail.com>
From: =?UTF-8?Q?Christian_K=c3=b6nig?= <christian.koenig@amd.com>
In-Reply-To: <CADnq5_NnOApcpkKb3UqAKAcS9s_gG3Lq4ssJDgCjq5ZQty2rnw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0096.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::9) To BN8PR12MB3587.namprd12.prod.outlook.com
 (2603:10b6:408:43::13)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8PR12MB3587:EE_|BL1PR12MB5239:EE_
X-MS-Office365-Filtering-Correlation-Id: 04968f21-c04e-4f23-876f-08db2a3dd654
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	upyAIgScAZ4yXuW85QaOIok1B3L97K3FKfrBnIKaNyye0XKPTHqW5h7NWB68IbY+kAf75mwzcIcBKj8r3d8Qyk1vt+iQ7sBrMGAVpUsujNsCYwElvJRhUE1ItS3GnTUL1G5tFJKHzHlhDp0LywgZJAe/jLABydSfgmKsFfQnHiRlOoUMJETYG786aSL2/ynwKUtblzAI3ot9XhaFxQLpw5t1LsW3iqXFrYcNTOqtmUJJyA8BKv3SmuPi12Jxg5F/8f/0RDpRs9rrQ4fVJv549O1lU1/i7JsAqJo6g5xA54GRdrhywZ+DamcKpFaXblgcjc3FA40JMUqmk8SovZHyIXUhXkKhIaIuID1XKYwPl7ceuAhXMSkEbUWTUEbr9Xb2MHgKx0Voz8OYBzm5mdIC6xicLiBVWVPbjUxuTnX0z20k6RBS1IstM031i6jpT41hQAWJcIZ4zmPU4siwQ+fPHLNPtqMbfDpMAkiTAGD++t3sPDVJgO8i4JWzeomluc5v49UaKI8CY1CakCgtvMr/ztA/Lg2JKZCsVkJRy4IKKeLsus6S4TLPKp5Wn1h+MxoPMv0DgJ0RBkwuy4JTLwkdLz+NXVzHDWYN+OevWvA2xj+UK01l1h0njHNk0ZFvaplsJPUaHjxRY1PM7Bn6PLAVj5mDhEymuAqywlA7gYV54gMXQTW64POi7AXbUs8BrALs1lVKjapzOIdx5e0S+Lt/QNWkcXc95f9DiXmAo1EMFw8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN8PR12MB3587.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(136003)(376002)(396003)(366004)(39860400002)(451199018)(31686004)(66899018)(2616005)(54906003)(83380400001)(6512007)(7416002)(53546011)(6506007)(6486002)(478600001)(316002)(5660300002)(6666004)(186003)(31696002)(110136005)(86362001)(38100700002)(66946007)(41300700001)(2906002)(8936002)(66476007)(66556008)(8676002)(4326008)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d0hCVlgyNUhjbm42NUtOdGx3cUhuQm1CQnBoYlplaFhmTFVibzM2TGthN1Zm?=
 =?utf-8?B?ZkIwckFzV1g2MmRPNlRVR0RsYStnem5lT2VydFNKUWxpRTJWOS9UUEVrWWMr?=
 =?utf-8?B?VFNpN3paektrMVJramJmNTVzSkticllndDVldnNXSUFJOTF5ZkhodkhTNVlt?=
 =?utf-8?B?R0dRSjQrbzBWTVRIQUlMMlF6MWNaY2NrZUxuQkY1RGQ0dUI0TkZZa1JvSHRO?=
 =?utf-8?B?NytsL2ljb29rczIyZWcvckJ4Wkp6a2REVUFkdU43VXpCdWVkKzFzZTdjR1lD?=
 =?utf-8?B?WXNiRGZXdjVaMkFSV2kxRUVORDNJTElqMHFXZGhLTDlaZ1ZYb2JLb2txYlp5?=
 =?utf-8?B?d1BKL3ZkcEZsN1BocDVWTjdlRW0zbko4OXpMN25BTkM2cUFGUW4xVzdPbnBT?=
 =?utf-8?B?eS93aS9XTzhGZk1MWmtIb3ZhTVVvM3B6N1pLSzlJM0M1SDNoTHdrSlB2b0Z6?=
 =?utf-8?B?RWRhT3JFVHNKSW80TUUzbm1kRnBLSzU3MEowaTBDemRpbCtVNHlJdHBCRU0z?=
 =?utf-8?B?RXpMUXJ6M0t6Ukc0aEQrdUIwb1BjVFV2b3k5MmhkR2JDbDhTZFFhYy9RcjY1?=
 =?utf-8?B?L0tkV1VoVHY1ZzRvUCtsZmVBTWRiR29KWm9oaHFwaG1JaUNObHNKbFlPdlpX?=
 =?utf-8?B?cTd3OVB1VXlNUFpoMXBBblM2WkFRdzR3NE4xZ1lMM3lpV3lCYmdQU3NIMGcz?=
 =?utf-8?B?bW0wU0xabEV6N01taVhnbHlTVXcxZXRHVGxJWm1OZ0lIQTVPa25JWTl5T0d0?=
 =?utf-8?B?SmFUNklQN1huRzBEaXcwKytCWFJJM1ZmZFdkcWw5SW9uRFFoVzhmN3Y2aVhz?=
 =?utf-8?B?UnBiSFc3TkxZZzUwTlFhOE05SVROMDFwNWlmTldFOXVhNGtVZXZJaEtyS0cw?=
 =?utf-8?B?OXdrQnRTVFhENGdBZVlVWjR5c0ZLTlVtY3FpWTBYOWxROXRmTTRob2RIM2kr?=
 =?utf-8?B?UFhHenFLYW1iME5LWVJKSVBnTHNLMlE4Wml3UW1FZ2xWR1VqeHY1NWh4UzQw?=
 =?utf-8?B?V0NvZGlNV0hzVXBrUll4M3k0TkJwM0FhQUx2WDc1SHVFeGNnVmlXVzUzUm9z?=
 =?utf-8?B?MFIvYkp6bEdCcjU4dkVYY0I1WjNJL2ZxNGVWK0JWREZLWDhEWlFOemlQbWd0?=
 =?utf-8?B?aEpZNnpZcDc1cFRxTElsWExDK1BqR0xhVTBqU1IzdXV4L2hTSDF2NVJWRzZ1?=
 =?utf-8?B?ZU8xb1NteVI3NGZLRmFLZ09NdjJ4TS9aMHZsNk1zTG9leFpkRXlCYUFja2VC?=
 =?utf-8?B?SVZWTDgzcWozTERFRXhBVWEyWmFiWTZHTGI4WFA4a0UvM3lnMVQvNDR2UmYr?=
 =?utf-8?B?RGlUMHIyUWw1REVtNDlLZWJiLzhoMjVxdTJ3WlhVUXRnZnpidGJGUldRRVd3?=
 =?utf-8?B?NG1iV1lJU3Nzb2t4YWVVZDNhbWtQeE1wTitUM0JvcTI4U3h6OUN2dzhlMSt5?=
 =?utf-8?B?dFpHMEE4OUhmNU03aFFHK25iZm5HSmhML1d2SHZ6dzd4b3BQdzFIbjhONUR6?=
 =?utf-8?B?QVNYNlF4bjAvMHhsc0NsSEN2NHFPaDBvNHdsSU01SWgxMXBtTUxnL3ErU3dN?=
 =?utf-8?B?TUhVN1cveFJleHVncVJmR3kzQ0pVd3JvZ1JFUG1KMGE3YVNqYU9MTDdUd0pW?=
 =?utf-8?B?QkRPNWRVWnE2Ym5DSWhJRnBkamJ4NUhMM01rdWZzSWphNUJ3VllWTy9sTDha?=
 =?utf-8?B?NEp2VGg3M1g1alJJcXVaak5SVGRKRklZUG5MSDgySXpiUzFxY0txd2NuZXkw?=
 =?utf-8?B?cU5GY1hpRStDNDVIMVZDOW9PbWt2amN3R2pab1g2cGlIOG5qYityeG8vRlBV?=
 =?utf-8?B?ZkRtL0FLTHpNVU8yWHU5bzc1UDY5dEV6V05NVjVxVHplNjFncE1pRjEvY2JZ?=
 =?utf-8?B?My9Bd29meTNxNHgvWnBIM2Z2dFBUMnFVa3VSQXd4UGE0SnU4UStOcCt0SFZO?=
 =?utf-8?B?bmhZODhMR2pHVmVXOFVPcTFYRlp1eXA5WDRXaXZXOWkyTXd0MEYrajFrbW10?=
 =?utf-8?B?OUtDdEJ3UFhMVEVtY0tJeFhZa1NsQ28vUU5qeFp2bVVzV1FWVGsxdVRESnpo?=
 =?utf-8?B?QmdVb1kvK3VScnNhMGh2Z1RQVXJFeU5CbldhY2MzNkhyeFNCcFJQSkcwMjlm?=
 =?utf-8?B?ZFluWFNsTlY2anVWTE5nR0YveHpLT3BSNXErdXdTREVHa2FnMGdiWDZaTXZC?=
 =?utf-8?Q?I4/LN4AFkDkiyX37jnGjFAg6x8C656fmxT996YZ62jsn?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 04968f21-c04e-4f23-876f-08db2a3dd654
X-MS-Exchange-CrossTenant-AuthSource: BN8PR12MB3587.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Mar 2023 18:55:28.2636
 (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: BVkc48WqdHlFqzYAggFI/RtiIAxjqxcaZ8aZLZwZcsYsaARJd84s519Jkb/62Sso
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5239

Am 17.03.23 um 15:45 schrieb Alex Deucher:
> On Thu, Mar 16, 2023 at 7:09 PM Stefano Stabellini
> <sstabellini@kernel.org> wrote:
>> On Thu, 16 Mar 2023, Juergen Gross wrote:
>>> On 16.03.23 14:53, Alex Deucher wrote:
>>>> On Thu, Mar 16, 2023 at 9:48 AM Juergen Gross <jgross@suse.com> wrote:
>>>>> On 16.03.23 14:45, Alex Deucher wrote:
>>>>>> On Thu, Mar 16, 2023 at 3:50 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>>>>> On 16.03.2023 00:25, Stefano Stabellini wrote:
>>>>>>>> On Wed, 15 Mar 2023, Jan Beulich wrote:
>>>>>>>>> On 15.03.2023 01:52, Stefano Stabellini wrote:
>>>>>>>>>> On Mon, 13 Mar 2023, Jan Beulich wrote:
>>>>>>>>>>> On 12.03.2023 13:01, Huang Rui wrote:
>>>>>>>>>>>> Xen PVH is the paravirtualized mode and takes advantage of
>>>>>>>>>>>> hardware
>>>>>>>>>>>> virtualization support when possible. It will using the
>>>>>>>>>>>> hardware IOMMU
>>>>>>>>>>>> support instead of xen-swiotlb, so disable swiotlb if
>>>>>>>>>>>> current domain is
>>>>>>>>>>>> Xen PVH.
>>>>>>>>>>> But the kernel has no way (yet) to drive the IOMMU, so how can
>>>>>>>>>>> it get
>>>>>>>>>>> away without resorting to swiotlb in certain cases (like I/O
>>>>>>>>>>> to an
>>>>>>>>>>> address-restricted device)?
>>>>>>>>>> I think Ray meant that, thanks to the IOMMU setup by Xen, there
>>>>>>>>>> is no
>>>>>>>>>> need for swiotlb-xen in Dom0. Address translations are done by
>>>>>>>>>> the IOMMU
>>>>>>>>>> so we can use guest physical addresses instead of machine
>>>>>>>>>> addresses for
>>>>>>>>>> DMA. This is a similar case to Dom0 on ARM when the IOMMU is
>>>>>>>>>> available
>>>>>>>>>> (see include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect, the
>>>>>>>>>> corresponding
>>>>>>>>>> case is XENFEAT_not_direct_mapped).
>>>>>>>>> But how does Xen using an IOMMU help with, as said,
>>>>>>>>> address-restricted
>>>>>>>>> devices? They may still need e.g. a 32-bit address to be
>>>>>>>>> programmed in,
>>>>>>>>> and if the kernel has memory beyond the 4G boundary not all I/O
>>>>>>>>> buffers
>>>>>>>>> may fulfill this requirement.
>>>>>>>> In short, it is going to work as long as Linux has guest physical
>>>>>>>> addresses (not machine addresses, those could be anything) lower
>>>>>>>> than
>>>>>>>> 4GB.
>>>>>>>>
>>>>>>>> If the address-restricted device does DMA via an IOMMU, then the
>>>>>>>> device
>>>>>>>> gets programmed by Linux using its guest physical addresses (not
>>>>>>>> machine
>>>>>>>> addresses).
>>>>>>>>
>>>>>>>> The 32-bit restriction would be applied by Linux to its choice of
>>>>>>>> guest
>>>>>>>> physical address to use to program the device, the same way it does
>>>>>>>> on
>>>>>>>> native. The device would be fine as it always uses Linux-provided
>>>>>>>> <4GB
>>>>>>>> addresses. After the IOMMU translation (pagetable setup by Xen), we
>>>>>>>> could get any address, including >4GB addresses, and that is
>>>>>>>> expected to
>>>>>>>> work.
>>>>>>> I understand that's the "normal" way of working. But whatever the
>>>>>>> swiotlb
>>>>>>> is used for in baremetal Linux, that would similarly require its use
>>>>>>> in
>>>>>>> PVH (or HVM) aiui. So unconditionally disabling it in PVH would look
>>>>>>> to
>>>>>>> me like an incomplete attempt to disable its use altogether on x86.
>>>>>>> What
>>>>>>> difference of PVH vs baremetal am I missing here?
>>>>>> swiotlb is not usable for GPUs even on bare metal.  They often have
>>>>>> hundreds or megs or even gigs of memory mapped on the device at any
>>>>>> given time.  Also, AMD GPUs support 44-48 bit DMA masks (depending on
>>>>>> the chip family).
>>>>> But the swiotlb isn't per device, but system global.
>>>> Sure, but if the swiotlb is in use, then you can't really use the GPU.
>>>> So you get to pick one.
>>> The swiotlb is used only for buffers which are not within the DMA mask of a
>>> device (see dma_direct_map_page()). So an AMD GPU supporting a 44 bit DMA mask
>>> won't use the swiotlb unless you have a buffer above guest physical address of
>>> 16TB (so basically never).
>>>
>>> Disabling swiotlb in such a guest would OTOH mean, that a device with only
>>> 32 bit DMA mask passed through to this guest couldn't work with buffers
>>> above 4GB.
>>>
>>> I don't think this is acceptable.
>>  From the Xen subsystem in Linux point of view, the only thing we need to
>> do is to make sure *not* to enable swiotlb_xen (yes "swiotlb_xen", not
>> the global swiotlb) on PVH because it is not needed anyway.
>>
>> I think we should leave the global "swiotlb" setting alone. The global
>> swiotlb is not relevant to Xen anyway, and surely baremetal Linux has to
>> have a way to deal with swiotlb/GPU incompatibilities.
>>
>> We just have to avoid making things worse on Xen, and for that we just
>> need to avoid unconditionally enabling swiotlb-xen. If the Xen subsystem
>> doesn't enable swiotlb_xen/swiotlb, and no other subsystem enables
>> swiotlb, then we have a good Linux configuration capable of handling the
>> GPU properly.
>>
>> Alex, please correct me if I am wrong. How is x86_swiotlb_enable set to
>> false on native (non-Xen) x86?
> In most cases we have an IOMMU enabled and IIRC, TTM has slightly
> different behavior for memory allocation depending on whether swiotlb
> would be needed or not.

Well "slightly different" is an understatement. We need to disable quite 
a bunch of features to make swiotlb work with GPUs.

Especially userptr and inter device sharing won't work any more.

Regards,
Christian.

>
> Alex



From xen-devel-bounces@lists.xenproject.org Tue Mar 21 20:26:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 20:26:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513028.793446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peiYO-00041k-2c; Tue, 21 Mar 2023 20:25:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513028.793446; Tue, 21 Mar 2023 20:25: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 1peiYN-00041d-W2; Tue, 21 Mar 2023 20:25:55 +0000
Received: by outflank-mailman (input) for mailman id 513028;
 Tue, 21 Mar 2023 20:25: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=FQx+=7N=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1peiYM-00041X-Nw
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 20:25:54 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91cb98be-c826-11ed-b464-930f4c7d94ae;
 Tue, 21 Mar 2023 21:25:51 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 4037D61E1C;
 Tue, 21 Mar 2023 20:25:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 983ACC433D2;
 Tue, 21 Mar 2023 20:25: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: 91cb98be-c826-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679430348;
	bh=Av15hlHZQ3088JRjrBhen0sRxP9ma23lTYkFxQa66v0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nFnvhbQyT9+4f0mwCnf83Wv4To8aXj+3bKfgdbEaMpmh0dsN6SwA+DX+YuyEnbbZv
	 fT4Dh0JhOZO4ZrnXBOJXrlbdAAdS1hgEJzcyBVVIkIgftosSHQowyAMMIvtfkgbpce
	 bD/PVC8RbVuMcCTQaEu7FcTvGvnOeu4CDeKcuYR7eP+W8a60WdasEu2Kz4FwwTnt+e
	 9zgH+bnF0SIFekWkvEFZHGaEddB9K2i88Qd4y1nsymm1kfBGp0WhZru4RQDTSGXKIB
	 8l9/fMvt8t2/GbcQ8n//c9wZUKpGNww5Ug3TCMERw9uXwDZiUDlTgB/OBYRDoMV2nB
	 729jjkU+m3oQA==
Date: Tue, 21 Mar 2023 13:25:46 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org, 
    andrei.cherechesu@oss.nxp.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] xen/arm: irq: Constify the first parameter of
 platform_get_irq_byname()
In-Reply-To: <73c0df32-844d-b2ba-f212-3e04c1753236@amd.com>
Message-ID: <alpine.DEB.2.22.394.2303211325400.3359@ubuntu-linux-20-04-desktop>
References: <20230321171721.2502-1-julien@xen.org> <73c0df32-844d-b2ba-f212-3e04c1753236@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, 20 Mar 2023, Michal Orzel wrote:
> Hi Julien,
> 
> On 21/03/2023 18:17, Julien Grall wrote:
> > 
> > 
> > From: Julien Grall <jgrall@amazon.com>
> > 
> > platform_get_irq_byname() is not meant to modify the parameter 'np'. So
> > constify it.
> > 
> > Signed-off-by: Julien Grall <jgrall@amazon.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
 
Acked-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 21:29:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 21:29:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513035.793456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pejXs-0003Ai-QG; Tue, 21 Mar 2023 21:29:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513035.793456; Tue, 21 Mar 2023 21: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 1pejXs-0003Ab-Ml; Tue, 21 Mar 2023 21:29:28 +0000
Received: by outflank-mailman (input) for mailman id 513035;
 Tue, 21 Mar 2023 21:29: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 1pejXr-0003AN-Ew; Tue, 21 Mar 2023 21:29: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 1pejXr-0000Jd-BF; Tue, 21 Mar 2023 21:29: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 1pejXq-0000dP-WC; Tue, 21 Mar 2023 21:29:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pejXq-0008Tg-VX; Tue, 21 Mar 2023 21:29: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=aUfEqhX/r9SKaJs7MA/CgyNhX8pRMzKwXKu6qOoJ924=; b=lHZGk0FOWHpJCAOiY357VbeF+P
	lYod34rhaQLzNMkgzShWGeVHAnbqU28jjut3BxqZ2iYRugNoSWHixsergr6qNUxV1nQK1LazroU87
	bhqrd04JxSFz1y/5F3Qto8fWOxVVH/XgwElsEPkf4JaBSz3kJEIyDTjYZyaJ0pqQFY8s=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179830-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179830: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:build-i386-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-saverestore:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=17214b70a159c6547df9ae204a6275d983146f6b
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Mar 2023 21:29:26 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 27 guest-migrate/dst_host/src_host fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  21 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl         18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 18 guest-start/debianhvm.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 build-i386-pvops              6 kernel-build             fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-xl-rtds     17 guest-saverestore        fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 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-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                17214b70a159c6547df9ae204a6275d983146f6b
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   28 days
Failing since        178093  2023-02-22 05:02:47 Z   27 days   53 attempts
Testing same since   179830  2023-03-21 04:33:11 Z    0 days    1 attempts

------------------------------------------------------------
2199 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             fail    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 21:48:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 21:48:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513044.793474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pejqc-0005wL-KZ; Tue, 21 Mar 2023 21:48:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513044.793474; Tue, 21 Mar 2023 21: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 1pejqc-0005wE-Hi; Tue, 21 Mar 2023 21:48:50 +0000
Received: by outflank-mailman (input) for mailman id 513044;
 Tue, 21 Mar 2023 21:48: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 1pejqb-0005w4-6e; Tue, 21 Mar 2023 21:48: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 1pejqb-0000nm-4p; Tue, 21 Mar 2023 21:48: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 1pejqa-0001M1-Os; Tue, 21 Mar 2023 21:48:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pejqa-0003lC-OO; Tue, 21 Mar 2023 21:48:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=la4wAROzri5+Ah0MlVjUV4CeBa1mnkB31Sg34cPxplQ=; b=dpo0bwFPm+djWx1NvulD7lNALV
	Ta9Qa+dFFVwXzxG8L1Tvb5TZY3BMlLyj3KmrXfxBgZ1+VQcfkw5VUUoHkMNYP5/ePPShKtdmQtpKd
	fhmbC0mFD82Q2fKWCbqEfmgQSYzYnTLSMe0j2034y8bsguGEXDAb05mCSsFMFYqcilnA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179834-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179834: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd:guest-start.2: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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: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-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=0bbf102d8794fb961cb103ada00999768547916e
X-Osstest-Versions-That:
    xen=c2581c58bec96afa450ebaca3fa2a33bcb0a9974
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Mar 2023 21:48:48 +0000

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

Failures :-/ but no regressions.

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

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179820
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179820
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179820
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179820
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179820
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179820
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179820
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179820
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179820
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 test-arm64-arm64-libvirt-xsm  3 hosts-allocate               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-raw  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-xsm       3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-vhd       3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit2   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl           3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-thunderx  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  0bbf102d8794fb961cb103ada00999768547916e
baseline version:
 xen                  c2581c58bec96afa450ebaca3fa2a33bcb0a9974

Last test of basis   179820  2023-03-20 19:12:14 Z    1 days
Testing same since   179834  2023-03-21 07:48:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jiamei Xie <jiamei.xie@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-armhf-armhf-xl                                          starved 
 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                                 starved 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  starved 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  starved 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 starved 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


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

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

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

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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c2581c58be..0bbf102d87  0bbf102d8794fb961cb103ada00999768547916e -> master


From xen-devel-bounces@lists.xenproject.org Tue Mar 21 22:20:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Mar 2023 22:20:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513049.793484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pekKp-0001yB-64; Tue, 21 Mar 2023 22:20:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513049.793484; Tue, 21 Mar 2023 22: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 1pekKp-0001y4-1t; Tue, 21 Mar 2023 22:20:03 +0000
Received: by outflank-mailman (input) for mailman id 513049;
 Tue, 21 Mar 2023 22:20: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=rDWK=7N=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1pekKn-0001kx-Tb
 for xen-devel@lists.xenproject.org; Tue, 21 Mar 2023 22:20:01 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82b05856-c836-11ed-85db-49a42c6b2330;
 Tue, 21 Mar 2023 23:19:59 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.16.1/8.15.2) with ESMTPS id 32LMJjqo095927
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Tue, 21 Mar 2023 18:19:50 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.16.1/8.15.2/Submit) id 32LMJidg095926;
 Tue, 21 Mar 2023 15:19:44 -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: 82b05856-c836-11ed-85db-49a42c6b2330
Date: Tue, 21 Mar 2023 15:19:43 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Neowutran <xen@neowutran.ovh>
Subject: Re: [BUG] x2apic broken with current AMD hardware
Message-ID: <ZBotf4lkIog9HfJF@mattapan.m5p.com>
References: <21436010-8212-7b09-a577-09d3f57156bf@suse.com>
 <ZAvGvokloPf+ltr9@mattapan.m5p.com>
 <f33c9b8a-f25d-caab-659d-d34ba21ebc25@suse.com>
 <ZBOSKo+sT/FtWY9C@mattapan.m5p.com>
 <e5b28dae-3699-cb0d-ab7e-42fdd42d3222@suse.com>
 <ZBSi2KfoQXo7hr6z@mattapan.m5p.com>
 <b2eaeacc-de5f-ebe9-a330-fbf9e20626b1@suse.com>
 <a2de5d87-ada8-46b9-090b-00dc43309362@suse.com>
 <ZBkwboNcQu6ooSRC@mattapan.m5p.com>
 <1c019d72-93d5-f820-7079-2a9c3fee8822@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1c019d72-93d5-f820-7079-2a9c3fee8822@suse.com>
X-Spam-Status: No, score=0.4 required=10.0 tests=KHOP_HELO_FCRDNS autolearn=no
	autolearn_force=no version=3.4.6
X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mattapan.m5p.com

On Tue, Mar 21, 2023 at 08:13:15AM +0100, Jan Beulich wrote:
> On 21.03.2023 05:19, Elliott Mitchell wrote:
> 
> > The above appears about twice for each core, then I start seeing
> > "(XEN) CPU#: No irq handler for vector ?? (IRQ -2147483648, LAPIC)"
> > 
> > The core doesn't vary too much with this, but the vector varies some.
> > 
> > Upon looking "(XEN) Using APIC driver x2apic_cluster".  Unfortunately
> > I didn't try booting with x2apic_phys forced with this setting.
> 
> My guess is that this would also help. But the system should still work
> correctly in clustered mode. As a first step I guess debug key 'i', 'z',
> and 'M' output may provide some insight. But the request for a full log
> at maximum verbosity also remains (ideally with a debug hypervisor).

Needs a secure channel (PGP most likely) for everything, since there is
too much information in there.  Serial numbers and MAC addresses are a
potential source of attack (or faking returns).  Smaller segments can be
had more readily:

(XEN) SMBIOS 3.5 present.
(XEN) x2APIC mode is already enabled by BIOS.
(XEN) Using APIC driver x2apic_cluster
(XEN) ACPI: PM-Timer IO Port: 0x808 (32 bits)
(XEN) ACPI: v5 SLEEP INFO: control[0:0], status[0:0]
(XEN) ACPI: SLEEP INFO: pm1x_cnt[1:804,1:0], pm1x_evt[1:800,1:0]
(XEN) ACPI: 32/64X FACS address mismatch in FADT - 785a3000/0000000000000000, using 32
(XEN) ACPI:             wakeup_vec[785a300c], vec_size[20]
(XEN) ACPI: Local APIC address 0xfee00000
(XEN) ACPI: IOAPIC (id[0x20] address[0xfec00000] gsi_base[0])
(XEN) IOAPIC[0]: apic_id 32, version 33, address 0xfec00000, GSI 0-23
(XEN) ACPI: IOAPIC (id[0x21] address[0xfec01000] gsi_base[24])
(XEN) IOAPIC[1]: apic_id 33, version 33, address 0xfec01000, GSI 24-55
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
(XEN) ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 low level)
(XEN) ACPI: HPET id: 0x######## base: 0xfed00000
(XEN) Using ACPI (MADT) for SMP configuration information
(XEN) IRQ limits: 56 GSI, 6600 MSI/MSI-X
(XEN) AMD-Vi: IOMMU Extended Features:
(XEN) - Peripheral Page Service Request
(XEN) - x2APIC
(XEN) - NX bit
(XEN) - Guest APIC Physical Processor Interrupt
(XEN) - Invalidate All Command
(XEN) - Guest APIC
(XEN) - Performance Counters
(XEN) - Host Address Translation Size: 0x2
(XEN) - Guest Address Translation Size: 0
(XEN) - Guest CR3 Root Table Level: 0x1
(XEN) - Maximum PASID: 0xf
(XEN) - SMI Filter Register: 0x1
(XEN) - SMI Filter Register Count: 0x1
(XEN) - Guest Virtual APIC Modes: 0x1
(XEN) - Dual PPR Log: 0x2
(XEN) - Dual Event Log: 0x2
(XEN) - Secure ATS
(XEN) - User / Supervisor Page Protection
(XEN) - Device Table Segmentation: 0x3
(XEN) - PPR Log Overflow Early Warning
(XEN) - PPR Automatic Response
(XEN) - Memory Access Routing and Control: 0x1
(XEN) - Block StopMark Message
(XEN) - Performance Optimization
(XEN) - MSI Capability MMIO Access
(XEN) - Guest I/O Protection
(XEN) - Enhanced PPR Handling
(XEN) - Invalidate IOTLB Type
(XEN) - VM Table Size: 0x2
(XEN) - Guest Access Bit Update Disable
(XEN) AMD-Vi: Disabled HAP memory map sharing with IOMMU
(XEN) AMD-Vi: IOMMU 0 Enabled.

I'm a bit concerned how all the reports so far are ASUS motherboards.
This could mean people getting the latest, greatest and using Xen tend
towards ASUS motherboards.  This could also mean ASUS's engineering team
did something to their latest round.  Both are possible.

Could well be the latest round from AMD include more pieces from their
server processors, which trigger x2apic_cluster as default.  Yet didn't
bring some extra portion(s) which are required by x2apic_cluster.


> > So x2apic_cluster is looking like a <ahem> on recent AMD processors.
> > 
> > 
> > I'm unsure this qualifies as "Tested-by".  Certainly it IS an
> > improvement, but the problem certainly isn't 100% solved.
> 
> There simply are multiple problems; one looks to be solved now.

I agree with that assessment.  Just I'm unsure whether this step is
enough to include "Tested-by".  I'm concerned there could be a single
deeper problem which solves everything at once.


-- 
(\___(\___(\______          --=> 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 Mar 22 02:15:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 02:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513060.793506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peo0Y-00031j-Qt; Wed, 22 Mar 2023 02:15:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513060.793506; Wed, 22 Mar 2023 02:15:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peo0Y-00031b-Lz; Wed, 22 Mar 2023 02:15:22 +0000
Received: by outflank-mailman (input) for mailman id 513060;
 Wed, 22 Mar 2023 02:15: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=Fm+Y=7O=intel.com=lkp@srs-se1.protection.inumbo.net>)
 id 1peo0X-00031V-Mn
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 02:15:22 +0000
Received: from mga06.intel.com (mga06b.intel.com [134.134.136.31])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 61ba9056-c857-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 03:15:17 +0100 (CET)
Received: from fmsmga008.fm.intel.com ([10.253.24.58])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 21 Mar 2023 19:15:12 -0700
Received: from lkp-server01.sh.intel.com (HELO b613635ddfff) ([10.239.97.150])
 by fmsmga008.fm.intel.com with ESMTP; 21 Mar 2023 19:15:09 -0700
Received: from kbuild by b613635ddfff with local (Exim 4.96)
 (envelope-from <lkp@intel.com>) id 1peo0K-000Ch8-0k;
 Wed, 22 Mar 2023 02:15:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61ba9056-c857-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679451317; x=1710987317;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=Zkutf1Yva2S5sDuaQ/5qW6PUkaAWInQ2qoCKwvKC4ms=;
  b=B09rYJUrbJ5Klv/eBD3JgENNj3lMSVriOqOHofQ2BrJ1PGpIb4/3CU9A
   bGilSM0IL8S92FLyvZoUZu+c9owCLAK0+VyFMz1SLgXDjXa5SB4ChLYBf
   qeKuWbFHaF7uRbCE5+YxPRynWplWqBdAu47JbqCV/PkelsciY0O6Les/F
   NLEdlsqIDU0i/fgKz4h1O1mHBlTIRUnIQNMucEekNADdgkZc+1+UgfU6R
   MbDd7i9sueMxWw+G6hbPu12+oxWVbkCUeoZ+phox7MfFNNhuEqfi7FIZt
   ITcoaKOZEiGT70yh7JuSLe8QsVZxaY3luQOc+wMc0A73jbH9xwSyKix1p
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10656"; a="401677805"
X-IronPort-AV: E=Sophos;i="5.98,280,1673942400"; 
   d="scan'208";a="401677805"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10656"; a="746127578"
X-IronPort-AV: E=Sophos;i="5.98,280,1673942400"; 
   d="scan'208";a="746127578"
Date: Wed, 22 Mar 2023 10:14:09 +0800
From: kernel test robot <lkp@intel.com>
To: Roger Pau Monne <roger.pau@citrix.com>, linux-kernel@vger.kernel.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	Roger Pau Monne <roger.pau@citrix.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org
Subject: Re: [PATCH v5] ACPI: processor: Fix evaluating _PDC method when
 running as Xen dom0
Message-ID: <202303221035.BFY5kyh1-lkp@intel.com>
References: <20230321141904.49177-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230321141904.49177-1-roger.pau@citrix.com>

Hi Roger,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on xen-tip/linux-next]
[also build test ERROR on rafael-pm/linux-next linus/master v6.3-rc3 next-20230321]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Roger-Pau-Monne/ACPI-processor-Fix-evaluating-_PDC-method-when-running-as-Xen-dom0/20230321-221950
base:   https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git linux-next
patch link:    https://lore.kernel.org/r/20230321141904.49177-1-roger.pau%40citrix.com
patch subject: [PATCH v5] ACPI: processor: Fix evaluating _PDC method when running as Xen dom0
config: x86_64-randconfig-a005 (https://download.01.org/0day-ci/archive/20230322/202303221035.BFY5kyh1-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/4232c8b37a0415e1e828fef4ce522c93a0b925fc
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Roger-Pau-Monne/ACPI-processor-Fix-evaluating-_PDC-method-when-running-as-Xen-dom0/20230321-221950
        git checkout 4232c8b37a0415e1e828fef4ce522c93a0b925fc
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303221035.BFY5kyh1-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from arch/x86/xen/suspend_hvm.c:4:
>> include/xen/xen.h:79:2: error: implicit declaration of function 'BUG' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
           BUG();
           ^
   1 error generated.


vim +/BUG +79 include/xen/xen.h

    73	
    74	#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI) && defined(CONFIG_X86)
    75	bool __init xen_processor_present(uint32_t acpi_id);
    76	#else
    77	static inline bool xen_processor_present(uint32_t acpi_id)
    78	{
  > 79		BUG();
    80		return false;
    81	}
    82	#endif
    83	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 02:21:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 02:21:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513066.793519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peo6Z-0004hL-Jv; Wed, 22 Mar 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 513066.793519; Wed, 22 Mar 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 1peo6Z-0004hE-H6; Wed, 22 Mar 2023 02:21:35 +0000
Received: by outflank-mailman (input) for mailman id 513066;
 Wed, 22 Mar 2023 02:21:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UaYW=7O=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1peo6Y-0004h8-9I
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 02:21:34 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4279734b-c858-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 03:21:31 +0100 (CET)
Received: from AM6P192CA0100.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:8d::41)
 by PAWPR08MB8840.eurprd08.prod.outlook.com (2603:10a6:102:339::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 02:21:28 +0000
Received: from AM7EUR03FT035.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:209:8d:cafe::a2) by AM6P192CA0100.outlook.office365.com
 (2603:10a6:209:8d::41) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Wed, 22 Mar 2023 02:21:28 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT035.mail.protection.outlook.com (100.127.141.24) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.17 via Frontend Transport; Wed, 22 Mar 2023 02:21:26 +0000
Received: ("Tessian outbound f2a8d6d66d12:v135");
 Wed, 22 Mar 2023 02:21:26 +0000
Received: from e467c43e15f7.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 494C51E2-3D69-4FBB-AD05-AF91679B3BE3.1; 
 Wed, 22 Mar 2023 02:21:16 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e467c43e15f7.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 22 Mar 2023 02:21:16 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB9696.eurprd08.prod.outlook.com (2603:10a6:20b:614::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 02:21:14 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03%4]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 02:21: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: 4279734b-c858-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5YANSb+1dILny/uitSvvBZZbQO6b+qpyxq3gSZbc+oM=;
 b=QPfqt3XfxG039k2LS3nn+RGPQEmku0W5MoTJNEy534gQTpWd4wg9nT7v7tY3f1jIX0G21bpOHMTfiitaXtJ9C+dJudrhhfdj3X2Lek3GO7WDyBnZp9uaQiFTjKlvR6cKpvOj9ZFl/WKw/VQVPnLKwyx9mDumaMHcvbRa++UywoM=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jSozDFuifPmER5GxgS95+0O3O3j0UAVDTWKFMLs3FCEaySGLTjZmX/KADh23fBFx2OB+CdKkXV6TMOhuGjojeJBh3rq0ATfLXDVp7yoZvCYTOEBmDdVnhq0naJt4AFJ6H/ebKy0vQvLwriHXk1NGVKB93zS36/zpFSW8Kw8Q3SGQNRBjoPm/+uTXRC672OYMG5HS1yT5EE8gHVsTSP8QaOEEAX0oiyWupm7VWMgni+vCtjRBnsWlC601Ykk+inOdrGCh6bbNUILcOzCmPBieL+oHD9BTr9f83GdsheikuS1TdyDyywq2QqvsoYy32x5CBNwlFpC393pcF5EMqrltUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5YANSb+1dILny/uitSvvBZZbQO6b+qpyxq3gSZbc+oM=;
 b=B3Yynb/OJT7Q07hX2aDvu1cNt/lXEax4mB6eExiXAHKXOyPEA+D+JyijJrFUdQnOTV4791kgxNTSpV44Tafhq0TADuKp1NLEL7k83X3jgMM3xg4NzQWkxCJzeRkwHfMcqGgTHcquN223KzI08wsFmxbdD8mV8YlJee8Qb3hoRAhHkflx6xHmtn0eC/M2RfFeMWeaDjk8vMIB78HTIUnfaPhnZ3woGgTioA65FACFwbA77RSCnLP7pT3IXqb5ZP3QtciqVhJqDP5t/7e979pIsCUBzGhhk+pqOpxgsAHXeTRJxbJHGa6htUdJXqWt+7srzzYJN+MY0af8GXBImUwM7A==
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=5YANSb+1dILny/uitSvvBZZbQO6b+qpyxq3gSZbc+oM=;
 b=QPfqt3XfxG039k2LS3nn+RGPQEmku0W5MoTJNEy534gQTpWd4wg9nT7v7tY3f1jIX0G21bpOHMTfiitaXtJ9C+dJudrhhfdj3X2Lek3GO7WDyBnZp9uaQiFTjKlvR6cKpvOj9ZFl/WKw/VQVPnLKwyx9mDumaMHcvbRa++UywoM=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Michal Orzel <michal.orzel@amd.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH v2 4/4] xen/arm: Clean-up in p2m_init() and
 p2m_final_teardown()
Thread-Topic: [PATCH v2 4/4] xen/arm: Clean-up in p2m_init() and
 p2m_final_teardown()
Thread-Index: AQHZNGBFU1FB2zU45UWPsIKl0/PSm68FsPqAgACrD/A=
Date: Wed, 22 Mar 2023 02:21:12 +0000
Message-ID:
 <AS8PR08MB7991321C63BE43F1C54D21E092869@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230130040614.188296-1-Henry.Wang@arm.com>
 <20230130040614.188296-5-Henry.Wang@arm.com>
 <a2287b5b-40b1-aeab-8f07-413853d2484d@xen.org>
In-Reply-To: <a2287b5b-40b1-aeab-8f07-413853d2484d@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 70D57D6502E6CC439CE8095EA612E6F5.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB9696:EE_|AM7EUR03FT035:EE_|PAWPR08MB8840:EE_
X-MS-Office365-Filtering-Correlation-Id: 207df8a1-d6c2-44c1-5587-08db2a7c23f1
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:
 w1vhsXnI3WcIsV6EqDC6DGrNvmdSwx6TBniDJNx42WDf4jkYo4mDFUYisJH7gZ8voPjFVcr8LW1vAaucPmvPlo5ZHuLVsTdMtTWF3ShEG1mBHB0ZKUmrQcSIlmNp912XaXZ7bAsS4B8D/wyaN6O4EGdmYUdaLtjIhYMPzz539hAi7y+fDE7G0jjg3stkl2Tpiwe4Kph1i7OXhP/IKPWcCluSC2YOUDrB8c56bEcX6dPH6zRb72kxlMKyPA+zNOgnAXKVuY3AoBiq2gbzskbtocC7zG6m7eytnIC9u6x9qQRO28kDV4wAc70TV5ZPjsi83VJv/PgSa+25v4IkPPiFYLC2TieVn7+Apzcgm8Ae194wcOQbNWbHPAxL9h2ybdi3M2qGidX/uFS20v9ECteE7Pek3sEfpKaoYaEg7b1KpaihwMzOp+xNfUHEaLL5iSd4ZN8qmHdblmDGgprk8GRiVf0YipIMcd5ZDP6f5xZMF1munzGqmeRFsFooGBNUX3pmD6YHqO8Xz14DYiKQPvCQuwCWEmK25QuA47o0iBW+n/+uwD9qoVkM31GreCVbPrmbr2/R3rPHxFHGHFx5myGczFZiMqI4yfEwL8kMoX+asRCLwiqtdoZCLNcNeb2Gmody+QQOan13224C9KTQRcLH0n9V5uQfo/PiBSMfooFBU+dUMP11VpI6H6pXAMx0aSBbsErVhCYN78a9mXLoq+cFlw==
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:(13230025)(4636009)(366004)(376002)(346002)(136003)(39860400002)(396003)(451199018)(110136005)(6506007)(26005)(64756008)(4326008)(52536014)(76116006)(316002)(66556008)(71200400001)(83380400001)(186003)(66476007)(9686003)(66946007)(54906003)(478600001)(8676002)(66446008)(8936002)(5660300002)(122000001)(2906002)(41300700001)(7696005)(38070700005)(38100700002)(86362001)(55016003)(33656002);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9696
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:
 AM7EUR03FT035.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6d4ee0ea-db1c-4266-e4b6-08db2a7c1b93
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ob8MyBrbpP4kgSIvPoWU0Dv60bKav2bDQLJyTGUuXy0OHHK97d4CZGyAhZTBuA8uE48Xhwu2RxyxU7Upbcgk+M14Bz1b6L1ObKVhdpK3ieP4yGfxCbLqKBdftBe8Zir/inmr8uhrhBvjmOEzTKq0cZS5TqN8aBSCLnTs5Qg1TDmNA+hiCrwBqZYggSg8UgBzBZ6rNHSGRlSJDtTHvfskavG1fF+LKCikXY/42bFp2Z0wS1fYPHj1qoGpMLEcqUmwwmVCZxUrGn/nGAsIzZGE73hqCMPBV7+/rwmY0N/yTk7pJGEByLPl63I5ljyvq5JZ+XQgUE9ksognnVx28jEuRgcUOZYvGePcifDM2Rv5IhFWmL4rde7adXljCzpaCIYMnWVtcCrT5aBwPnkm6wk4NLx95QfzuI8nIKTHM40RCRt2QfVdi+DTXJjkde3xnzL8tpFrGpJ4rfuVRgXWiDkK+gJPIwr9MD5qBbq9JMD1TWF6ap845luGqX6cm9fj2zit4xhXg73V8b+FXKxT88ZdFgt+YzGabTrXVNAHPmENfZ+kQIWtkscStOIZskyd2lgfLM8uhrdo36LgWrUrnYIskxEeRR65dG3eDcfAiZHv+OWTnLqnIayuUjck61EqDANvoqS07YigMNWbK7kSPqBN2bNsa3uuXSiuUj6E4I57pgPm/hgLyAaEqrA59HErs1OJxS8aE8DSUGIT6nuW8ELE9Q==
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:(13230025)(4636009)(346002)(396003)(376002)(39860400002)(136003)(451199018)(46966006)(40470700004)(36840700001)(186003)(107886003)(356005)(336012)(6506007)(26005)(9686003)(110136005)(7696005)(40480700001)(316002)(47076005)(81166007)(478600001)(2906002)(86362001)(40460700003)(82740400003)(82310400005)(83380400001)(55016003)(54906003)(33656002)(4326008)(5660300002)(8936002)(41300700001)(8676002)(52536014)(36860700001)(70586007)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 02:21:26.9918
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 207df8a1-d6c2-44c1-5587-08db2a7c23f1
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:
	AM7EUR03FT035.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB8840

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjIgNC80XSB4
ZW4vYXJtOiBDbGVhbi11cCBpbiBwMm1faW5pdCgpIGFuZA0KPiBwMm1fZmluYWxfdGVhcmRvd24o
KQ0KPiANCj4gSGkgSGVucnksDQo+IA0KPiA+IC0tLQ0KPiA+IEkgYW0gbm90IGVudGlyZWx5IHN1
cmUgaWYgSSBzaG91bGQgYWxzbyBkcm9wIHRoZSAiVE9ETyIgb24gdG9wIG9mDQo+ID4gdGhlIHAy
bV9zZXRfZW50cnkoKS4gQmVjYXVzZSBhbHRob3VnaCB3ZSBhcmUgc3VyZSB0aGVyZSBpcyBubw0K
PiA+IHAybSBwYWdlcyBwb3B1bGF0ZWQgaW4gZG9tYWluX2NyZWF0ZSgpIHN0YWdlIG5vdywgYnV0
IHdlIGFyZSBub3QNCj4gPiBzdXJlIGlmIGFueW9uZSB3aWxsIGFkZCBtb3JlIGluIHRoZSBmdXR1
cmUuLi5BbnkgY29tbWVudHM/DQo+IA0KPiBJIHdvdWxkIGtlZXAgaXQuDQoNClN1cmUuDQoNCj4g
DQo+ID4gQEAgLTIwMCwxMCArMjAwLDYgQEAgaW50IHAybV9pbml0KHN0cnVjdCBkb21haW4gKmQp
Ow0KPiA+ICAgICogIC0gcDJtX2ZpbmFsX3RlYXJkb3duKCkgd2lsbCBiZSBjYWxsZWQgd2hlbiBk
b21haW4gc3RydWN0IGlzIGJlZW4NCj4gPiAgICAqICAgIGZyZWVkLiBUaGlzICpjYW5ub3QqIGJl
IHByZWVtcHRlZCBhbmQgdGhlcmVmb3JlIG9uZSBzbWFsbA0KPiANCj4gTklUOiBBcyB5b3UgYXJl
IHRvdWNoaW5nIHRoZSBjb21tZW50LCB3b3VsZCB5b3UgbWluZCB0byBmaXggdGhlIHR5cG8NCj4g
cy9vbmUvb25seS8uDQoNCkkgd291bGQgYmUgbW9yZSB0aGFuIGhhcHB5IHRvIGZpeCBpdC4gVGhh
bmtzIGZvciBub3RpY2luZyB0aGlzIDopDQoNCj4gDQo+ID4gLSAgICBCVUdfT04ocDJtX3RlYXJk
b3duKGQsIGZhbHNlKSk7DQo+IA0KPiBXaXRoIHRoaXMgY2hhbmdlLCBJIHRoaW5rIHdlIGNhbiBh
bHNvIGRyb3AgdGhlIHNlY29uZCBwYXJhbWV0ZXIgb2YNCj4gcDJtX3RlYXJkb3duKCkuIFByZWZl
cmFibHkgd2l0aCB0aGlzIGNoYW5nZSBpbiB0aGUgcGF0Y2g6DQoNClllcyBpbmRlZWQsIEkgd2Fz
IGFsc28gdGhpbmtpbmcgb2YgdGhpcyB3aGVuIHdyaXRpbmcgdGhpcyBwYXRjaCBidXQgaW4NCnRo
ZSBlbmQgZGVjaWRlZCB0byBkbyBtaW5pbWFsIGNoYW5nZS4uDQoNCj4gDQo+IEFja2VkLWJ5OiBK
dWxpZW4gR3JhbGwgPGpncmFsbEBhbWF6b24uY29tPg0KDQpUaGFua3MhIEkgYW0gbm90IDEwMCUg
Y29tZm9ydGFibGUgdG8gdGFrZSB0aGlzIHRhZyBiZWNhdXNlIEkgbWFkZQ0Kc29tZSBleHRyYSBj
b2RlIGNoYW5nZSwgYmVsb3cgaXMgdGhlIGRpZmYgdG8gZHJvcCB0aGUgc2Vjb25kIHBhcmFtDQpv
ZiBwMm1fdGVhcmRvd24oKToNCg0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW4uYyBi
L3hlbi9hcmNoL2FybS9kb21haW4uYw0KQEAgLTEwMzAsNyArMTAzMCw3IEBAIGludCBkb21haW5f
cmVsaW5xdWlzaF9yZXNvdXJjZXMoc3RydWN0IGRvbWFpbiAqZCkNCiAgICAgICAgIHAybV9jbGVh
cl9yb290X3BhZ2VzKCZkLT5hcmNoLnAybSk7DQoNCiAgICAgUFJPR1JFU1MocDJtKToNCi0gICAg
ICAgIHJldCA9IHAybV90ZWFyZG93bihkLCB0cnVlKTsNCisgICAgICAgIHJldCA9IHAybV90ZWFy
ZG93bihkKTsNCiAgICAgICAgIGlmICggcmV0ICkNCiAgICAgICAgICAgICByZXR1cm4gcmV0Ow0K
DQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3AybS5oIGIveGVuL2FyY2gv
YXJtL2luY2x1ZGUvYXNtL3AybS5oDQpAQCAtMjAxLDcgKzIwMSw3IEBAIGludCBwMm1faW5pdChz
dHJ1Y3QgZG9tYWluICpkKTsNCiAgKiAgICBmcmVlZC4gVGhpcyAqY2Fubm90KiBiZSBwcmVlbXB0
ZWQgYW5kIHRoZXJlZm9yZSBvbmx5IHNtYWxsDQogICogICAgcmVzb3VyY2VzIHNob3VsZCBiZSBm
cmVlZCBoZXJlLg0KICAqLw0KLWludCBwMm1fdGVhcmRvd24oc3RydWN0IGRvbWFpbiAqZCwgYm9v
bCBhbGxvd19wcmVlbXB0aW9uKTsNCitpbnQgcDJtX3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQp
Ow0KIHZvaWQgcDJtX2ZpbmFsX3RlYXJkb3duKHN0cnVjdCBkb21haW4gKmQpOw0KDQpkaWZmIC0t
Z2l0IGEveGVuL2FyY2gvYXJtL3AybS5jIGIveGVuL2FyY2gvYXJtL3AybS5jDQotaW50IHAybV90
ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpkLCBib29sIGFsbG93X3ByZWVtcHRpb24pDQoraW50IHAy
bV90ZWFyZG93bihzdHJ1Y3QgZG9tYWluICpkKQ0KIHsNClsuLi5dDQogICAgICAgICAvKiBBcmJp
dHJhcmlseSBwcmVlbXB0IGV2ZXJ5IDUxMiBpdGVyYXRpb25zICovDQotICAgICAgICBpZiAoIGFs
bG93X3ByZWVtcHRpb24gJiYgIShjb3VudCAlIDUxMikgJiYgaHlwZXJjYWxsX3ByZWVtcHRfY2hl
Y2soKSApDQorICAgICAgICBpZiAoICEoY291bnQgJSA1MTIpICYmIGh5cGVyY2FsbF9wcmVlbXB0
X2NoZWNrKCkgKQ0KDQpJZiB5b3UgYXJlIGhhcHB5LCBJIHdpbGwgdGFrZSB0aGlzIGFja2VkLWJ5
LiBTYW1lIHF1ZXN0aW9uIHRvIE1pY2hhbCBmb3IgaGlzDQpSZXZpZXdlZC1ieS4NCg0KS2luZCBy
ZWdhcmRzLA0KSGVucnkNCg0KPiANCj4gUHJlZmVyYWJseSwgSSB3b3VsZCBsaWtlIHRoaXMgdG8g
aGFwcGVuIGluIHRoaXMgcGF0Y2guDQo+IA0KPiBDaGVlcnMsDQo+IA0KPiAtLQ0KPiBKdWxpZW4g
R3JhbGwNCg==


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 02:31:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 02:31:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513069.793529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peoG4-0006MV-GS; Wed, 22 Mar 2023 02:31:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513069.793529; Wed, 22 Mar 2023 02: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 1peoG4-0006MO-Dd; Wed, 22 Mar 2023 02:31:24 +0000
Received: by outflank-mailman (input) for mailman id 513069;
 Wed, 22 Mar 2023 02: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=UaYW=7O=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1peoG2-0006M0-Oc
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 02:31:22 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20614.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a1d54529-c859-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 03:31:21 +0100 (CET)
Received: from DB6PR0202CA0020.eurprd02.prod.outlook.com (2603:10a6:4:29::30)
 by VI1PR08MB5438.eurprd08.prod.outlook.com (2603:10a6:803:12e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 02:31:18 +0000
Received: from DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:29:cafe::41) by DB6PR0202CA0020.outlook.office365.com
 (2603:10a6:4:29::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Wed, 22 Mar 2023 02:31:17 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT003.mail.protection.outlook.com (100.127.142.89) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.17 via Frontend Transport; Wed, 22 Mar 2023 02:31:17 +0000
Received: ("Tessian outbound 55ffa3012b8f:v135");
 Wed, 22 Mar 2023 02:31:17 +0000
Received: from 954c2049bc83.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F73AEDBB-3EC1-4CBC-80BC-EB90B9D4E540.1; 
 Wed, 22 Mar 2023 02:31:11 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 954c2049bc83.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 22 Mar 2023 02:31:11 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU2PR08MB10015.eurprd08.prod.outlook.com (2603:10a6:10:49f::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 02:31:09 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03%4]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 02:31: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: a1d54529-c859-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7jX1oG3+XeOgGd/2zNpMQRzPXLeF5fWkKbcjXabcumg=;
 b=62eSkUr/4zW7hXbChAPEcs1XjZlTm4H/ow+7UrnsmRE9AdjcC3xOGgHCaC330Z6FT19yLsinZZEonRLJg1OzA8WNLY5xmAo8UTPs4Wb2GAsWLkg7FbvZiaOtNuaRqnavJkOFqXiwyENxGt8WOeApfKWpsAneWkK0KR6s4FsUbxI=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=isaYhQaO8WkrY6ptLLPvOE6kKv26qRXGII1aG/WnQ245+4e8Dep6cVs6w+RFX7LzAjybyqDAxejnQH8V39x1WAM9Vh5iiC4wPQgrXDwFlD5PyQlPsOxFj7WcHbowC/7G17dmPuTVUTC8JmOEXLJ1UPvtOCqzC8S8GLty5gkGRhiyd3mZQj9FlDMXTaJRaL7nDpZlb8574+6T0Me9ihRj3fqprNqFUbtjfREZIJJZkFAYCE/XU6Ck/rn5RBx6xEHcJraZzhIqBMMTjhWY8ADNeeNGf05IcIV70PsLi2Cm1xDeMK2G6MKCx1HdzFLjtf9bOWRV+uCunfHIOnUws1Eo1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7jX1oG3+XeOgGd/2zNpMQRzPXLeF5fWkKbcjXabcumg=;
 b=l0ydcZjOjAF8zUDlzClfR7s3aB9hpvLoA5YoSErOg633JM2MjcTJRtiy4t+tucsXXRI/PZSi8MdR0OnJ4lAhTQ8Q2H0QeYR7SvV8BVprKbHFOXRK+Gdu7D/lCR5fRgGJDcie/gbvpaKcEJpM6ucsg1qk+5KW1oKvpAy4JYTbeTwPEKSn/tij8NDx5gihbQpMAjQSywCaXcOzWY/5+80GzmT7/1ZFRmrfQgv6nc18FEQxQesjzJn52SYkfbE6i+cPO2iSFo+JM/bppH+7PMY+Nit61Es3p6z2XEfoNDc9NXm+41UnW99e+cokdSgvRBSWgqA7kiESXLpC9J++XiX43g==
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=7jX1oG3+XeOgGd/2zNpMQRzPXLeF5fWkKbcjXabcumg=;
 b=62eSkUr/4zW7hXbChAPEcs1XjZlTm4H/ow+7UrnsmRE9AdjcC3xOGgHCaC330Z6FT19yLsinZZEonRLJg1OzA8WNLY5xmAo8UTPs4Wb2GAsWLkg7FbvZiaOtNuaRqnavJkOFqXiwyENxGt8WOeApfKWpsAneWkK0KR6s4FsUbxI=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Wei Chen <Wei.Chen@arm.com>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH v2 3/4] xen/arm: Defer GICv2 CPU interface mapping until
 the first access
Thread-Topic: [PATCH v2 3/4] xen/arm: Defer GICv2 CPU interface mapping until
 the first access
Thread-Index: AQHZNGBES9GND13bPU+mzqer9SysH68EWvQAgACL1MCAAMYdAIAAtLIg
Date: Wed, 22 Mar 2023 02:31:09 +0000
Message-ID:
 <AS8PR08MB7991DDECF6CC44096369A1FD92869@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230130040614.188296-1-Henry.Wang@arm.com>
 <20230130040614.188296-4-Henry.Wang@arm.com>
 <e2421c2d-6ae1-bf70-530d-0683d943f519@xen.org>
 <AS8PR08MB799142447DF4749065ABAF5992819@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <d82e7ed7-50d7-0c4c-532a-df50a4801110@xen.org>
In-Reply-To: <d82e7ed7-50d7-0c4c-532a-df50a4801110@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: B77AEC499BEBF44987ADA5D54D6E32DB.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU2PR08MB10015:EE_|DBAEUR03FT003:EE_|VI1PR08MB5438:EE_
X-MS-Office365-Filtering-Correlation-Id: 53545ef7-c7a8-404e-e107-08db2a7d83dc
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:
 gIIfy/swsS7doUql+XrGbSvV5CSaStBYBKGCufKj3eDvF3tUdvGNokrVBskxkA3uoAAd/6U+iK9SsbPJYReK6GHxdlO80bausd8xiy1oMR8t4mfxtFz/VE2obJ/tP1OJPiu58rVBTIe+UG7DdD7SVi3lPVMPmKsDkuXdqEG7/rujM/QVtI7StM2T+blDrfMjcfwzOJkPmD9tOaxtGgCTy9ojIzqo6XmknVIMm+f9SeZUuDXbej6xeFg+E6+IF5J9GbHVjLjg3jWpEtLUBlppLXJZzE/00ColL2Lx9VeZwvifgWe9wAE2SNGyuqYccuyx/VxG8nCt7kg9MjCYIU6h5iz/SRA1fg5S6/lxov1vmBmp+NuMM0t8l5xATPernIy/Bn0nxLFRc/INMrQ2xtmFnx0bI7LRE/NPmrFa52mFLxdGIcHSiF3GNXe49mWkMezn55k+FuHwOGKKSu/9GQBffbJK+osk/M0pOwbfd0nPuzqh4BedYYsNmDbZGYSFT8/4i5fzJhMSHcKEUPwXiNomFnjDmYyrW7Llwbek9FzP4+/A973LOEcDFTOA/6vWBO+5eypyskAm+QLS81TNTjNUs7DJNm8b6HF1AA+N1QEGsnwDtc41hyzD6+5FlAPg53jtZIv7EMfyK3ro0ukFk4x0gjvbYWaFPctM0c6QfigoCgdRPaWBpcuaQIa1v4CKHdsMN47wF/SSOCcvziv+hd4JyQ==
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:(13230025)(4636009)(39860400002)(346002)(136003)(366004)(396003)(376002)(451199018)(38100700002)(86362001)(55016003)(71200400001)(7696005)(316002)(54906003)(110136005)(33656002)(66476007)(8676002)(52536014)(66556008)(64756008)(4326008)(8936002)(76116006)(66946007)(5660300002)(66446008)(41300700001)(478600001)(2906002)(83380400001)(122000001)(38070700005)(9686003)(26005)(186003)(6506007);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB10015
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e8e14d2a-c6a0-4a4b-8ff7-08db2a7d7f1e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	F+UztT6UoADv+82NuJp40UaTVhC8AhCV7EA9bH9rDWWukmMc3QaSmH5R1X5exPb4987ur52xZ2lJqMLifPHKUQCXLNGvPEijBa4Rinhgzml4NZO73mTLQKWBF1iFe71Z2q9RIWGICnPe0WO5tb3aPaP8rM6SE032MQnOTbLLyBrh0xefBmUHHY7H/hBUYH7dfx4MaELHNaQHM52UqLfWX+Fmmp0ttIKidvte6B57GN/oubyNwW8CRF+1b6laPwCnCaYl/+10WhfNdee+YR0vUBqpDaIh3rDKvHkKl5I4Sh0HQPRyfwkD7B3aLJveKZU8GVe50wQ1L37QIN/2574bv+nqaa4p6kwdShMGseYhvObCs/SIkJwDro19jbPrNFYnbQhC8Hbyaei0a1TbDVzt8xY07Rv8ycmgshQ0sb4QSdjzVeOWa+Xx26pvmNCP0FRg23OU8ytQZjRhnwKE2jS1dDwtSt8oa2sUSMWUszPTfcSfPSO8qXmiq5mfDjqe8A3CkqFXSxjAAEsCz1nBQ0fgoTBEX0rpoPBrBFOb447K+m3l2OAR0RxWz+pTdOumB0KKazGn1DSLnkeYNEULeFhlp5kooIqKo+K1zwflbh3icTFKBGF2lHKQQb49va9fIkP9yTaHv9ITyXgIUtAd7KE6srR5ooaUU5PtY8P3EgseAQ7CtshkLOcl1G/zkvlXLq3rolFOzJCXgwv5QCinrZTr4Q==
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:(13230025)(4636009)(376002)(39860400002)(346002)(396003)(136003)(451199018)(40470700004)(46966006)(36840700001)(86362001)(82310400005)(40460700003)(40480700001)(55016003)(316002)(8676002)(8936002)(70586007)(4326008)(478600001)(54906003)(70206006)(336012)(6506007)(26005)(107886003)(33656002)(110136005)(9686003)(47076005)(7696005)(83380400001)(356005)(186003)(82740400003)(5660300002)(52536014)(36860700001)(41300700001)(2906002)(81166007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 02:31:17.4626
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 53545ef7-c7a8-404e-e107-08db2a7d83dc
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5438

SGkgSnVsaWVuLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEp1bGll
biBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjIgMy80XSB4
ZW4vYXJtOiBEZWZlciBHSUN2MiBDUFUgaW50ZXJmYWNlIG1hcHBpbmcgdW50aWwNCj4gdGhlIGZp
cnN0IGFjY2Vzcw0KPg0KPiA+IGdmbl90b19nYWRkcihnZm4pID49IGQtPmFyY2gudmdpYy5jYmFz
ZSB8fA0KPiA+IGdmbl90b19nYWRkcihnZm4pIDwgZC0+YXJjaC52Z2ljLmNiYXNlICsgZC0+YXJj
aC52Z2ljLmNzaXplDQo+IA0KPiAuLi4gdXNlIHRoZSBzaXplIGluIHRoZSBjaGVjay4gV2l0aCB0
aGUgfHwgc3dpdGNoIHRvICYmLCBteSBwcmVmZXJlbmNlDQo+IHdvdWxkIGJlIHRvIHVzZToNCj4g
DQo+ICgoZC0+YXJjaC52Z2ljLmNiYXNlIC0gZ2ZuX3RvX2FkZHIoZ2ZuKSkgPCBkLT5hcmNoLnZn
aWMuY3NpemUpDQo+IA0KPiB0byBhdm9pZCBhIHBvdGVudGlhbCBvdmVyZmxvdyBpbiB0aGUgdW5s
aWtlbHkgY2FzZSB0aGUgQ1BVIGludGVyZmFjZSBpcw0KPiBhdCB0aGUgdG9wIG9mIHRoZSBhZGRy
ZXNzIHNwYWNlLg0KDQpPaCBJIGxpa2UgdGhlIGlkZWEgb2YgdXNpbmcgdGhlICJtaW51cyBhcHBy
b2FjaCIgdG8gYXZvaWQgdGhlIG92ZXJmbG93DQp2ZXJ5IG11Y2guIFRoYW5rcyEgSSB3aWxsIGtl
ZXAgdGhpcyBpbiBtaW5kIGluIG15IGZ1dHVyZSBkZXZlbG9wbWVudC4NCg0KT25lIG1vcmUgcXVl
c3Rpb24sIHNpbmNlIHRoaXMgIm1pbnVzIGFwcHJvYWNoIiBpcyBkaXJlY3RseSBkZXJpdmVkIGZy
b20NCmBnZm5fdG9fZ2FkZHIoZ2ZuKSA8IGQtPmFyY2gudmdpYy5jYmFzZSArIGQtPmFyY2gudmdp
Yy5jc2l6ZWAsDQpzaG91bGRuJ3QgaXQgYmUNCmAoZ2ZuX3RvX2FkZHIoZ2ZuKSAtIGQtPmFyY2gu
dmdpYy5jYmFzZSkgPCBkLT5hcmNoLnZnaWMuY3NpemVgIGluc3RlYWQ/DQoNCk90aGVyd2lzZSBJ
IHRoaW5rIGBkLT5hcmNoLnZnaWMuY2Jhc2UgLSBnZm5fdG9fYWRkcihnZm4pYCB3aWxsIHByb2R1
Y2UNCmEgaHVnZSB1NjQgYW5kIHRoaXMgY2hlY2sgd291bGQgYWx3YXlzIGZhaWw/DQoNCktpbmQg
cmVnYXJkcywNCkhlbnJ5DQoNCj4gDQo+IENoZWVycywNCj4gDQo+IC0tDQo+IEp1bGllbiBHcmFs
bA0K


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 03:32:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 03:32:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513074.793542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pepCo-0005I2-0g; Wed, 22 Mar 2023 03:32:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513074.793542; Wed, 22 Mar 2023 03: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 1pepCn-0005Hv-Sp; Wed, 22 Mar 2023 03:32:05 +0000
Received: by outflank-mailman (input) for mailman id 513074;
 Wed, 22 Mar 2023 03:32:04 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pepCm-0005Hl-0c; Wed, 22 Mar 2023 03:32:04 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pepCl-0007jy-TQ; Wed, 22 Mar 2023 03:32: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 1pepCl-00054Y-FD; Wed, 22 Mar 2023 03:32:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pepCl-0008GF-Ej; Wed, 22 Mar 2023 03:32:03 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Rcf1tDWLYJWUAcDSuKT29Z4nFmuRHc3MFgCZsVa2Pqg=; b=OD4Tv4WIJJIh+jQA+vUxbS3Ikq
	DTYTbw9jZmkoeTYwIuqT7q1D3ovozoQzRPcNI6e9UUJ5YcjbpxvuQHJj+FRX9CvhKkfQpWA7mRmI6
	kXByf4tmK4pzmQUXI5DzlNC7qQaBpsrgVr1SSw6btL8g3SXZ/OCBdnOFDmHFQGcb4wKU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179842-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 179842: regressions - trouble: blocked/fail/pass/starved
X-Osstest-Failures:
    xen-4.16-testing:build-arm64-pvops:kernel-build:fail:regression
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-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-xl-pvshim:guest-start: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-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-4.16-testing:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=3c924fe46b455834b5c04268db6b528b549668d1
X-Osstest-Versions-That:
    xen=84dfe7a56f04a7412fa4869b3e756c49e1cfbe75
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Mar 2023 03:32:03 +0000

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

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. 179065

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl           1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               blocked  n/a
 test-arm64-arm64-xl-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-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179065
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179065
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179065
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179065
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179065
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179065
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179065
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179065
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179065
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  3c924fe46b455834b5c04268db6b528b549668d1
baseline version:
 xen                  84dfe7a56f04a7412fa4869b3e756c49e1cfbe75

Last test of basis   179065  2023-03-03 07:37:09 Z   18 days
Testing same since   179842  2023-03-21 12:36:57 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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                              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-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      starved 
 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 3c924fe46b455834b5c04268db6b528b549668d1
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Fri Feb 10 21:11:14 2023 +0000

    x86/spec-ctrl: Defer CR4_PV32_RESTORE on the cstar_enter path
    
    As stated (correctly) by the comment next to SPEC_CTRL_ENTRY_FROM_PV, between
    the two hunks visible in the patch, RET's are not safe prior to this point.
    
    CR4_PV32_RESTORE hides a CALL/RET pair in certain configurations (PV32
    compiled in, SMEP or SMAP active), and the RET can be attacked with one of
    several known speculative issues.
    
    Furthermore, CR4_PV32_RESTORE also hides a reference to the cr4_pv32_mask
    global variable, which is not safe when XPTI is active before restoring Xen's
    full pagetables.
    
    This crash has gone unnoticed because it is only AMD CPUs which permit the
    SYSCALL instruction in compatibility mode, and these are not vulnerable to
    Meltdown so don't activate XPTI by default.
    
    This is XSA-429 / CVE-2022-42331
    
    Fixes: 5e7962901131 ("x86/entry: Organise the use of MSR_SPEC_CTRL at each entry/exit point")
    Fixes: 5784de3e2067 ("x86: Meltdown band-aid against malicious 64-bit PV guests")
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    (cherry picked from commit df5b055b12116d9e63ced59ae5389e69a2a3de48)

commit 564de020d29fbc4efd20ef8052051e86b2465a1a
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Mar 21 12:01:01 2023 +0000

    x86/HVM: serialize pinned cache attribute list manipulation
    
    While the RCU variants of list insertion and removal allow lockless list
    traversal (with RCU just read-locked), insertions and removals still
    need serializing amongst themselves. To keep things simple, use the
    domain lock for this purpose.
    
    This is CVE-2022-42334 / part of XSA-428.
    
    Fixes: 642123c5123f ("x86/hvm: provide XEN_DMOP_pin_memory_cacheattr")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Julien Grall <jgrall@amazon.com>
    (cherry picked from commit 829ec245cf66560e3b50d140ccb3168e7fb7c945)

commit 2fe1517a00e088f6b1f1aff7d4ea1b477b288987
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Mar 21 12:01:01 2023 +0000

    x86/HVM: bound number of pinned cache attribute regions
    
    This is exposed via DMOP, i.e. to potentially not fully privileged
    device models. With that we may not permit registration of an (almost)
    unbounded amount of such regions.
    
    This is CVE-2022-42333 / part of XSA-428.
    
    Fixes: 642123c5123f ("x86/hvm: provide XEN_DMOP_pin_memory_cacheattr")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    (cherry picked from commit a5e768640f786b681063f4e08af45d0c4e91debf)

commit b0d6684ee58f7252940f5a62e4b85bdc56307eef
Author: Jan Beulich <jbeulich@suse.com>
Date:   Tue Mar 21 11:59:44 2023 +0000

    x86/shadow: account for log-dirty mode when pre-allocating
    
    Pre-allocation is intended to ensure that in the course of constructing
    or updating shadows there won't be any risk of just made shadows or
    shadows being acted upon can disappear under our feet. The amount of
    pages pre-allocated then, however, needs to account for all possible
    subsequent allocations. While the use in sh_page_fault() accounts for
    all shadows which may need making, so far it didn't account for
    allocations coming from log-dirty tracking (which piggybacks onto the
    P2M allocation functions).
    
    Since shadow_prealloc() takes a count of shadows (or other data
    structures) rather than a count of pages, putting the adjustment at the
    call site of this function won't work very well: We simply can't express
    the correct count that way in all cases. Instead take care of this in
    the function itself, by "snooping" for L1 type requests. (While not
    applicable right now, future new request sites of L1 tables would then
    also be covered right away.)
    
    It is relevant to note here that pre-allocations like the one done from
    shadow_alloc_p2m_page() are benign when they fall in the "scope" of an
    earlier pre-alloc which already included that count: The inner call will
    simply find enough pages available then; it'll bail right away.
    
    This is CVE-2022-42332 / XSA-427.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Tim Deegan <tim@xen.org>
    (cherry picked from commit 91767a71061035ae42be93de495cd976f863a41a)
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 03:47:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 03:47:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513082.793554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pepRf-00077i-HV; Wed, 22 Mar 2023 03:47:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513082.793554; Wed, 22 Mar 2023 03:47:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pepRf-00077b-Eh; Wed, 22 Mar 2023 03:47:27 +0000
Received: by outflank-mailman (input) for mailman id 513082;
 Wed, 22 Mar 2023 03:47: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=Fm+Y=7O=intel.com=lkp@srs-se1.protection.inumbo.net>)
 id 1pepRe-00077V-69
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 03:47:26 +0000
Received: from mga09.intel.com (mga09.intel.com [134.134.136.24])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3e848e2b-c864-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 04:47:21 +0100 (CET)
Received: from fmsmga001.fm.intel.com ([10.253.24.23])
 by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 21 Mar 2023 20:47:18 -0700
Received: from lkp-server01.sh.intel.com (HELO b613635ddfff) ([10.239.97.150])
 by fmsmga001.fm.intel.com with ESMTP; 21 Mar 2023 20:47:15 -0700
Received: from kbuild by b613635ddfff with local (Exim 4.96)
 (envelope-from <lkp@intel.com>) id 1pepRS-000Cpm-1r;
 Wed, 22 Mar 2023 03:47: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: 3e848e2b-c864-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679456841; x=1710992841;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=Ax/5HXwsD/I9SKeAJs9UglIbzGQ09dU9mhXvqOtMefU=;
  b=Azf2EEsr3J5rs+wvT9HSH1Lyl4A+0hy9pUJuFiVITyUmXtp39srggHT4
   erk0rn3qbLi6/FFRbcq3DHD8kB7UKERIV3VGDR/e8FkUqxT4fNk3P1+5h
   k1Fxws9ImFKORU68LAlmNgnxQfCjjJsDUam2ulrzVmVRxJYK577cFBSf/
   brWXynpbAEzcZkG0uvQ1YImBymrEJg9SpUOYS2Sl3LVo08JoJPOAeKxKn
   InDKg3EDP2dmqqp7rzXqWBfy8k86vN4zHH7tsj0S0RFh1vCcSun0rtj3s
   lDob2+SXyV9jjfxMT8bG0b+I58f2lrifJoPsJET5QZiMpXjf6IDlNslj2
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10656"; a="340655840"
X-IronPort-AV: E=Sophos;i="5.98,280,1673942400"; 
   d="scan'208";a="340655840"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10656"; a="825227609"
X-IronPort-AV: E=Sophos;i="5.98,280,1673942400"; 
   d="scan'208";a="825227609"
Date: Wed, 22 Mar 2023 11:47:04 +0800
From: kernel test robot <lkp@intel.com>
To: Roger Pau Monne <roger.pau@citrix.com>, linux-kernel@vger.kernel.org
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	xen-devel@lists.xenproject.org,
	Roger Pau Monne <roger.pau@citrix.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org
Subject: Re: [PATCH v5] ACPI: processor: Fix evaluating _PDC method when
 running as Xen dom0
Message-ID: <202303221107.hgKqaZl0-lkp@intel.com>
References: <20230321141904.49177-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230321141904.49177-1-roger.pau@citrix.com>

Hi Roger,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on xen-tip/linux-next]
[also build test ERROR on rafael-pm/linux-next linus/master v6.3-rc3 next-20230321]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Roger-Pau-Monne/ACPI-processor-Fix-evaluating-_PDC-method-when-running-as-Xen-dom0/20230321-221950
base:   https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git linux-next
patch link:    https://lore.kernel.org/r/20230321141904.49177-1-roger.pau%40citrix.com
patch subject: [PATCH v5] ACPI: processor: Fix evaluating _PDC method when running as Xen dom0
config: arm64-randconfig-r013-20230319 (https://download.01.org/0day-ci/archive/20230322/202303221107.hgKqaZl0-lkp@intel.com/config)
compiler: clang version 17.0.0 (https://github.com/llvm/llvm-project 67409911353323ca5edf2049ef0df54132fa1ca7)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/intel-lab-lkp/linux/commit/4232c8b37a0415e1e828fef4ce522c93a0b925fc
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Roger-Pau-Monne/ACPI-processor-Fix-evaluating-_PDC-method-when-running-as-Xen-dom0/20230321-221950
        git checkout 4232c8b37a0415e1e828fef4ce522c93a0b925fc
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303221107.hgKqaZl0-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from arch/arm64/xen/../../arm/xen/enlighten.c:2:
>> include/xen/xen.h:79:2: error: call to undeclared function 'BUG'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
           BUG();
           ^
   In file included from arch/arm64/xen/../../arm/xen/enlighten.c:4:
   In file included from include/xen/grant_table.h:48:
   In file included from include/xen/page.h:28:
   In file included from arch/arm64/include/asm/xen/page.h:1:
   In file included from include/xen/arm/page.h:9:
   In file included from include/linux/dma-mapping.h:7:
   In file included from include/linux/device.h:32:
   In file included from include/linux/device/driver.h:21:
   In file included from include/linux/module.h:19:
   In file included from include/linux/elf.h:6:
   In file included from arch/arm64/include/asm/elf.h:141:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:97:11: warning: array index 3 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
                   return (set->sig[3] | set->sig[2] |
                           ^        ~
   include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
           unsigned long sig[_NSIG_WORDS];
           ^
   In file included from arch/arm64/xen/../../arm/xen/enlighten.c:4:
   In file included from include/xen/grant_table.h:48:
   In file included from include/xen/page.h:28:
   In file included from arch/arm64/include/asm/xen/page.h:1:
   In file included from include/xen/arm/page.h:9:
   In file included from include/linux/dma-mapping.h:7:
   In file included from include/linux/device.h:32:
   In file included from include/linux/device/driver.h:21:
   In file included from include/linux/module.h:19:
   In file included from include/linux/elf.h:6:
   In file included from arch/arm64/include/asm/elf.h:141:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:97:25: warning: array index 2 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
                   return (set->sig[3] | set->sig[2] |
                                         ^        ~
   include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
           unsigned long sig[_NSIG_WORDS];
           ^
   In file included from arch/arm64/xen/../../arm/xen/enlighten.c:4:
   In file included from include/xen/grant_table.h:48:
   In file included from include/xen/page.h:28:
   In file included from arch/arm64/include/asm/xen/page.h:1:
   In file included from include/xen/arm/page.h:9:
   In file included from include/linux/dma-mapping.h:7:
   In file included from include/linux/device.h:32:
   In file included from include/linux/device/driver.h:21:
   In file included from include/linux/module.h:19:
   In file included from include/linux/elf.h:6:
   In file included from arch/arm64/include/asm/elf.h:141:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:98:4: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
                           set->sig[1] | set->sig[0]) == 0;
                           ^        ~
   include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
           unsigned long sig[_NSIG_WORDS];
           ^
   In file included from arch/arm64/xen/../../arm/xen/enlighten.c:4:
   In file included from include/xen/grant_table.h:48:
   In file included from include/xen/page.h:28:
   In file included from arch/arm64/include/asm/xen/page.h:1:
   In file included from include/xen/arm/page.h:9:
   In file included from include/linux/dma-mapping.h:7:
   In file included from include/linux/device.h:32:
   In file included from include/linux/device/driver.h:21:
   In file included from include/linux/module.h:19:
   In file included from include/linux/elf.h:6:
   In file included from arch/arm64/include/asm/elf.h:141:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:
   In file included from include/linux/sched/signal.h:6:
   include/linux/signal.h:100:11: warning: array index 1 is past the end of the array (that has type 'unsigned long[1]') [-Warray-bounds]
                   return (set->sig[1] | set->sig[0]) == 0;
                           ^        ~
   include/uapi/asm-generic/signal.h:62:2: note: array 'sig' declared here
           unsigned long sig[_NSIG_WORDS];
           ^
   In file included from arch/arm64/xen/../../arm/xen/enlighten.c:4:
   In file included from include/xen/grant_table.h:48:
   In file included from include/xen/page.h:28:
   In file included from arch/arm64/include/asm/xen/page.h:1:
   In file included from include/xen/arm/page.h:9:
   In file included from include/linux/dma-mapping.h:7:
   In file included from include/linux/device.h:32:
   In file included from include/linux/device/driver.h:21:
   In file included from include/linux/module.h:19:
   In file included from include/linux/elf.h:6:
   In file included from arch/arm64/include/asm/elf.h:141:
   In file included from include/linux/fs.h:33:
   In file included from include/linux/percpu-rwsem.h:7:
   In file included from include/linux/rcuwait.h:6:


vim +/BUG +79 include/xen/xen.h

    73	
    74	#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI) && defined(CONFIG_X86)
    75	bool __init xen_processor_present(uint32_t acpi_id);
    76	#else
    77	static inline bool xen_processor_present(uint32_t acpi_id)
    78	{
  > 79		BUG();
    80		return false;
    81	}
    82	#endif
    83	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 04:41:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 04:41:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513085.793565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peqHT-000673-F8; Wed, 22 Mar 2023 04:40:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513085.793565; Wed, 22 Mar 2023 04:40:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peqHT-00066w-CH; Wed, 22 Mar 2023 04:40:59 +0000
Received: by outflank-mailman (input) for mailman id 513085;
 Wed, 22 Mar 2023 04:40: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 1peqHS-00066m-J1; Wed, 22 Mar 2023 04:40: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 1peqHS-00010X-G2; Wed, 22 Mar 2023 04:40: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 1peqHS-0000ge-53; Wed, 22 Mar 2023 04:40:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1peqHS-00088D-4a; Wed, 22 Mar 2023 04:40: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=9+Qyopy4fZRCLFs7oCDc0F7ch2QpUeOAwDrJtKcz3mE=; b=eQEJXv5CLHMTD/JwPH4lkv/EXZ
	id08mDHo5CpfJFSEs7qYRYzXJyYDSCETu+gg+2K+vXjXJdEzZDvG0+XLCRqGU2uyRqieIWPFKC0Ew
	oLckQmCnKoxeWOXVvCKTjqtis328dvX72YkpNJcuxd099vMcDkE6ORBMslnac5uEx7EM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179840-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.14-testing test] 179840: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-4.14-testing:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-4.14-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-4.14-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.14-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.14-testing:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-4.14-testing:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-4.14-testing:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-4.14-testing:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=e49571868d67944b9f4a546ade130e0b6e506b65
X-Osstest-Versions-That:
    xen=c267abfaf2d8176371eda037f9b9152458e0656d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Mar 2023 04:40:58 +0000

flight 179840 xen-4.14-testing real [real]
flight 179857 xen-4.14-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179840/
http://logs.test-lab.xenproject.org/osstest/logs/179857/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-amd  7 xen-install   fail pass in 179857-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 179857-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 178273
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178273
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178273
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178273
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178273
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 178273
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178273
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 178273
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 178273
 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-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-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  e49571868d67944b9f4a546ade130e0b6e506b65
baseline version:
 xen                  c267abfaf2d8176371eda037f9b9152458e0656d

Last test of basis   178273  2023-02-23 19:26:18 Z   26 days
Testing same since   179840  2023-03-21 12:36:28 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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                           fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   c267abfaf2..e49571868d  e49571868d67944b9f4a546ade130e0b6e506b65 -> stable-4.14


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 06:50:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 06:50:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513099.793597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pesId-000512-Vl; Wed, 22 Mar 2023 06:50:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513099.793597; Wed, 22 Mar 2023 06: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 1pesId-00050u-S0; Wed, 22 Mar 2023 06:50:19 +0000
Received: by outflank-mailman (input) for mailman id 513099;
 Wed, 22 Mar 2023 06: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pesIb-00050i-F9
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 06:50:17 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0629.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb5dd8d5-c87d-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 07:50:13 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7404.eurprd04.prod.outlook.com (2603:10a6:102:8f::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 06:50:11 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 06:50: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: cb5dd8d5-c87d-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AFdiYyevWYDUrPOMRbfUcnMbO0MgB3YMmfAFGtJYFsuAUBj2soK0HWqstxkBcKnpzJyURap1ObmpcSnwQzQV8mmMEw5ysl6o1s94cWuRVIHkk57wgCqiLkBFMyGVIFDuXyoQObBjIviZjvRbNJs3R7FxoZOJqDmPojUFMg9svpU0/kkE5fGteLz0e043PV+9cqezPjmCr8MBf2ywhhUPElLtVADBxvUJ7wK+TKFq1/g+wwv9AlFq/JXOQ2t9Rl8aJfuQLhzrzMqFcdK+5joeemTsFpku62en5iah1gW6b3ryL8vguLUdrTiHqAmGwdteCkIr+g5/nN1BI84oE0OU4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TZ2B/+PSfbweO2EOadT4u03RuDriTFODuo3jKuiQPU0=;
 b=cu3wVkHfihNCOLowW8N/9RzTBQ9iFeH8vpp/A7V+V/FyyxSBM8QQ1N5TFNx4RJ+Yc6nmN3Me81oDJ/BMye8YWkfzTrcc3ECIjdG3UfJKCmOBSU5+aSbljykDRNP2Ma5o9c6Td8eZAur+o+gTkMr+5PGFxd35YUKmYtocJxueCfJ1U+lc5pkZ9NTugPWi1BHZI+KovBUpDPt6IjewwxubKDi8Xs1R/Zp2LECie2ZdL+2R40sa0kQ87PItrr6wQjAb/sdnN0t5OD3+kxbTX+i7zV2opmYFRxaaJIeh4n/axfJeKdp4KwQSbW+P94C5fHaJzudectmeXZOsldODfWePgA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TZ2B/+PSfbweO2EOadT4u03RuDriTFODuo3jKuiQPU0=;
 b=viQuq9FSrScx+X4v1evUr18ty5/AGT7M+655vq5B4HQivxlN/FzUb3q+NqPVonkEwieETJEv1CZqlMfhb74cGDizBbH28hfj71Rr/EWhTWt80RKCgdT6s8489xw8oqhjEnWbPKh9kE9ZPghb8LO2K5rjFDC4CeBOp2aeCQfKUr42D7lSTwvmF8zMMWB8ReXfX4h7l/2kl0shRkdr/RiVzi7W47HEEenhe8AMvePScrM9tmuaj2bNof5uzeNy0LgLCY5wHFok8fthiTCRzAvYK22tskxIKtImXqfFBRECiMGKinCYW3jH+Kc3ixL+kyCIpiL9UE986QyNyffNC39kSw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <42d40da1-bc38-82fb-154a-e1fc876b0c24@suse.com>
Date: Wed, 22 Mar 2023 07:50:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/HVM: restrict use of pinned cache attributes as well as
 associated flushing
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0146.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7404:EE_
X-MS-Office365-Filtering-Correlation-Id: da6f1a4e-599b-441c-8573-08db2aa1ae33
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qQ+BnbKgoLrJ61L8i3e6vLIrplfYie//qegARXQVEEqNfKUealHjRidEUGf3R3tZ/OZaXp8p++0ENNsJ8xuOgu4X4wzrDljCHFmoezW6rtbTNylrohYpND7b9ZItnz8JdPqSKMhJOkjb7ZMdp6yCAtXcSC3SVRw9i+DrGTpQ/i1wz340Zgu8nu62BosLYPTrq7uifzkd3p9FLMeQQAmSexLzhtVCblJMPYt1rlArGH8q5aCjaMzn06Wf9uJerCFObTTjM652/9jA+RaMEyGCKCoYepWqO0YCc/pL7AmJhJgQz216gnmS5NwF8bXBKuvrJtgbDRPTYYcdNp+HS4mDzMvtAZo14jFO0ZX6mfcZtCMa9bvVaHyWH9xvGAZBScPU9BnihC4H+j6FBEAggNN7g/jz5sz2xA+GwTVjHZyk8PieUC6hn0kEm3PWoStzlEJyvsFtKEZWvD9ttT/64UHzDeXFyxJaDVuoCgM7OVhoftI5j6Vp4m9YZuI8FZFDj9cu0BlYje0ST+S1KP/gHxRjuJRad6bx2f+Mg4M3rYBcltZmwOpk6I0H7zGRiSToFUHZKuZ+pLe88RKs/lV9q1pqsX9SJV/pmxLmr0DpN/kvIc1f+hauR7PeicV0LTsPVzEzxCjwTvlvR7Lo4tzX5KTEcQCIF9R6x8r8dj2Zx2jPf+neroluemTU/RZjoMkvYZ4J59D3lVBmiC1zlQi26E2N2aD8rEVYBD8HMrk4zfn9O4Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(39860400002)(366004)(376002)(396003)(346002)(451199018)(2616005)(6506007)(6486002)(4326008)(186003)(478600001)(83380400001)(316002)(54906003)(6916009)(66476007)(66556008)(66946007)(8676002)(31686004)(6512007)(26005)(66899018)(8936002)(5660300002)(41300700001)(38100700002)(36756003)(2906002)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R3NSNnB4R0E0blFDUy9Xdlh1eEhuRG5zd2hnMkQzNjNpYjZSTFpoajFDMXBx?=
 =?utf-8?B?UGFBSTl4aXhSc3FtSVc0VmVhS2lObHBhWW43ZzBiRys3bmF6YTA5ZTJLZzF4?=
 =?utf-8?B?elN1V3NUTFFxZklwbENFeTFuUjhyZ1dXNjlveXdQblIvYTJ3eTZGalpVZ1pN?=
 =?utf-8?B?bjMzYjd3aDg3QUxabTBlRXV4VHhuaDg4blZxSlFuTTJyRzY1QVZIN2hQTHJS?=
 =?utf-8?B?bFRFVkxHQWIrQzd2K2RhMjdpNHQ5clplczByTUJxWTNKNTI5b2hnUVM2S1VU?=
 =?utf-8?B?VFRaWFpZMHhES2hoL1lDTVoxczBSWEFQSUNiNHVlSS9BK3plYnh1SGZNSkpL?=
 =?utf-8?B?RHZCVDBpU1BrUGhrbEpienIwaTBiVzMwR0JMWldBbEtTWDVzZjhSeEhsNUk5?=
 =?utf-8?B?VDB5YTVKNlBtQWQ3ekM3SEhuOEtxSk41aDBVTWZtb2tCc3doR3JxbWo1NVBo?=
 =?utf-8?B?eFl2YWdOWktSTTZWTGJXT0REYi9OaVBhZHhPdUtXb3hIMXYwMXYvQytyb0gx?=
 =?utf-8?B?V3pmbzBDRkJBdGRtSGxGMFU0K2ZZKzFIOTJsMTQ4bDh2OEZNSjhFU0MxWXlS?=
 =?utf-8?B?NVlvV0c4ZHlLYUhYMnhLWE1vSVVkUTRVMG9OQkNnUXpTVkRQT2tqVTc2MW5u?=
 =?utf-8?B?Sm1GUEhob0Zob2lYMmpZUi9uZUJYWHBDdktmUW85SjZYemV6b2JTTDhDaWI5?=
 =?utf-8?B?b0dIQ1JFSUhRL3I1aXUrNVVlcGdBU3RvT1dVR0ZDaGJqSnlQTVd4c3F6S3RY?=
 =?utf-8?B?TWU4c1Joa0ZZbGtnUU41SXFGZTRJUWpNY2E2WnhiM2hIUVl3VzBmVzg1djVa?=
 =?utf-8?B?UXpweStNZG40WGtjU1pRM1FlaUwvMkU4cVdiZ0VMcXErTTk2ck5NMFVnT2Ra?=
 =?utf-8?B?U2kxT2tBUGl0TzdHK0lWOHNQVzhTTVo3TTh3TG5lck5Eajl2Vys5RmFYNWpH?=
 =?utf-8?B?U1pyVWN0RTIxbXpkYjc1RmZRellzMzYwN1dsVXZXQzI3RCtiOU1UZlhRTEJ5?=
 =?utf-8?B?eHB5ZXZqbXJ2b3kxNy85T2ZvYnhKU2NHRVpTYi9YdFVIQjdtL21LdU5EM3dP?=
 =?utf-8?B?aHFtcXI3czJ1ZGdKTXNhT2NHWjd6amNGTEVmdWVJRzNTRnN1aHNsZ0t4Y3Zl?=
 =?utf-8?B?ak9UbnBpZE5JcDJMeHJsMWtwSkNUU3RXWFB3SS9BMzBZc1phV3liL0UzNGNU?=
 =?utf-8?B?NzdwSk5sTXF5NnZvWGNGVHU3Q2EyQTB3d2hPbkowaTdreVFZQVhxSkl5T3o2?=
 =?utf-8?B?VXFjWXpweE9lTWtyd1psZlM0dDdpRDNUSTlXVWlxb25lYVBsSDRqVTc3cWt6?=
 =?utf-8?B?aGJxaFFzc0Z0Q0c1NC84UWVibXVldlp0SWlGdzF0bHRXbEw4VkJ6OEd1NEtz?=
 =?utf-8?B?YmZXMHc5RjdJc01jWGdTM1dlbzB0MExDZHB5TTR4RlJOaWZEUVRYODVMTXc3?=
 =?utf-8?B?U0ZDa3JUc3Z5NytYbjJCTnloZnA3VVJoV29kaHNsbklEd2NrdUJoVDVDckpO?=
 =?utf-8?B?N0F3Z2k3YzgzVHA2VGU1dXBZanpoSXcrVWlOcjN5QVNnWEY2M0pKejRFc0xS?=
 =?utf-8?B?RjN5eEtCMWJwajdha0QvVzFVUXBzOE03dHhJUW1GancvWW0vK2F2WHZCdDYv?=
 =?utf-8?B?MUhQS01oekxENVVoVUVxTTNQQStlSGhXcCtvWUJ4VFRXemt1dCs2SHNHZFJx?=
 =?utf-8?B?WlVOeFZPLzVsWlZJb1pGS0UyME5lNEUzd21mNVF0NHdxODlXUmNGU0htczNm?=
 =?utf-8?B?SWRnVWxMM3FQSUVENUhqd2pseE9rdVBNUS9BUjZwUnljbWZadUtsMlpGUlJn?=
 =?utf-8?B?Q1h4enZUWVgrd3ZCWEtyYkNsR0FtWjROZ1NtS25sRUd2NldsRjUyMUorTTZU?=
 =?utf-8?B?VjZjR01pMklCOWJ6SkVwSjNUd200OXRtR2NlT1hzSVM2ckQ4WjRhQmg4TzJn?=
 =?utf-8?B?UUV2VGU3UitFckxLVE5sejJqWnFKMVZ0QmNsWmhhWGJmZktRaFYvUzVxWHZp?=
 =?utf-8?B?R2cya2s0MWQwZyswMzJab3pOcUEyYTZPTjhlaFh4UHY2NkxMcUVLRjBlWXRq?=
 =?utf-8?B?TXpDdWtwMHBSZThjSlQ1R1BzV3VZY21NbnBSWDA5M244Q3MwSHhmMWRSNGR6?=
 =?utf-8?Q?YxUuA5k6EUsRrn1wRmGaaVv+H?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: da6f1a4e-599b-441c-8573-08db2aa1ae33
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 06:50:10.5489
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EyYLKRsdbkpBdjXRdrUqC8uEnweUdjM7sCVUk0YVpNhp11PrcrNnAkCkyNkDfD9/HseF4soTjQt5ZwukX3rnGQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7404

We don't permit use of uncachable memory types elsewhere unless a domain
meets certain criteria. Enforce this also during registration of pinned
cache attribute ranges.

Furthermore restrict cache flushing to just uncachable range registration.
While there, also
- take CPU self-snoop as well as IOMMU snoop into account (albeit the
  latter still is a global property rather than a per-domain one),
- avoid flushes when the domain isn't running yet (which ought to be the
  common case).

Reported-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
At the expense of yet larger a diff it would be possible to get away
without any "goto", by moving the whole "new entry" handling into the
switch(). Personally I'd prefer that, but the larger diff may be
unwelcome.

I have to admit that I can't spot what part of epte_get_entry_emt() the
comment refers to that is being deleted. The function does use
hvm_get_mem_pinned_cacheattr(), yes, but there's nothing there that talks
about cache flushes (and their avoiding) in any way.

Is it really sensible to add/remove ranges once the guest is already
running? (If it is, limiting the scope of the flush would be nice, but
would require knowing dirtyness for the domain wrt the caches, which
currently we don't track.)

This is kind of amending XSA-428.

--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -589,6 +589,7 @@ int hvm_set_mem_pinned_cacheattr(struct
 {
     struct hvm_mem_pinned_cacheattr_range *range, *newr;
     unsigned int nr = 0;
+    bool flush = false;
     int rc = 1;
 
     if ( !is_hvm_domain(d) )
@@ -612,31 +613,35 @@ int hvm_set_mem_pinned_cacheattr(struct
 
                 type = range->type;
                 call_rcu(&range->rcu, free_pinned_cacheattr_entry);
-                p2m_memory_type_changed(d);
                 switch ( type )
                 {
-                case X86_MT_UCM:
+                case X86_MT_WB:
+                case X86_MT_WP:
+                case X86_MT_WT:
                     /*
-                     * For EPT we can also avoid the flush in this case;
-                     * see epte_get_entry_emt().
+                     * Flush since we don't know what the cachability is going
+                     * to be.
                      */
-                    if ( hap_enabled(d) && cpu_has_vmx )
-                case X86_MT_UC:
-                        break;
-                    /* fall through */
-                default:
-                    flush_all(FLUSH_CACHE);
+                    if ( is_iommu_enabled(d) || cache_flush_permitted(d) )
+                        flush = true;
                     break;
                 }
-                return 0;
+                rc = 0;
+                goto finish;
             }
         domain_unlock(d);
         return -ENOENT;
 
     case X86_MT_UCM:
     case X86_MT_UC:
-    case X86_MT_WB:
     case X86_MT_WC:
+        /* Flush since we don't know what the cachability was. */
+        if ( !is_iommu_enabled(d) && !cache_flush_permitted(d) )
+            return -EPERM;
+        flush = true;
+        break;
+
+    case X86_MT_WB:
     case X86_MT_WP:
     case X86_MT_WT:
         break;
@@ -689,8 +694,12 @@ int hvm_set_mem_pinned_cacheattr(struct
 
     xfree(newr);
 
+ finish:
     p2m_memory_type_changed(d);
-    if ( type != X86_MT_WB )
+
+    if ( flush && d->creation_finished &&
+         (!boot_cpu_has(X86_FEATURE_XEN_SELFSNOOP) ||
+          (is_iommu_enabled(d) && !iommu_snoop)) )
         flush_all(FLUSH_CACHE);
 
     return rc;


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 06:59:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 06:59:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513102.793607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pesRd-0005rO-S8; Wed, 22 Mar 2023 06:59:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513102.793607; Wed, 22 Mar 2023 06: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 1pesRd-0005rH-Oj; Wed, 22 Mar 2023 06:59:37 +0000
Received: by outflank-mailman (input) for mailman id 513102;
 Wed, 22 Mar 2023 06:59:36 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pesRc-0005rB-HG
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 06:59:36 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2061a.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1a328de1-c87f-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 07:59:34 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9091.eurprd04.prod.outlook.com (2603:10a6:102:229::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 06:59:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 06: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: 1a328de1-c87f-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PAr8rne+VDXuGC9ei52Hw/uY11qhwscAeYNg3VfAFV+ynhzw680GVltxK00D3UsN737M90QomKjAPCkLvwz9K+UQarsX4/YZdSfyqVsf3zwnIH6fRTf5dgqUPRRlic8V5A6MwVW976qL5OH4pMrHAKv+DK6G3TcVygSkaAYSnI7QRWbViKIxfM0tKgLe3cud3Irtr7klCsbEql3y9ONn6PbOz2LEAFleQi0OwVYmPSuSQqWLVzkwzE0uPi84+rqkD5eeyyH8Q3if+z2HrSOwmlQSGVaZWIxlQKA1JuYqYkQ4mtCZ9Mnd3rXybL3rG3Bo6PxqpkbXi+U9z0mJ6lO/xw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Azqc6YVWAQyr/PmMldzzABVgRpIjCYiYyTdO7M0cbDQ=;
 b=FaYJmGSMVmdV5eDvo7lb6zjQRAZWrB1Fml8aNZn7Cfpno/U6fs9gGPuYTNiyx4ImifrWFb88kbHhxVgSgmpHESzsRkUf9OBD7uE997nrdLu7Cy5P4xdzkqH6AK+S29by2xzreIZI47+i1WKCccvuitzVqMVo7+TnsZ9tzHQ4OGh+ZLdwiMJsfc6YXLVTDCvtfL+tFaQK+x+nKBq9G4UkXAheWYTYUNny2FoWnhT8XHo1aOZ7sZiJxZX2FVITmYKr58QvcQI6cGEu0Q5PQS5UOqlZ96N/HoMg1I32CzjesmKyZ5SYxyFK0NcwniVu3olZz1+nWlE+yDWjOmt3jKLUKw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Azqc6YVWAQyr/PmMldzzABVgRpIjCYiYyTdO7M0cbDQ=;
 b=Vb0jNZUPU7aoYxUK4usPaxwFNxV70BphZbwzyCY1KzW+JKHeyUMduQgqpiDZzvopY43iefj9Ij2KNw70zvzZVswm0b9ynnyri2Ks1nLj57a/zYTE3DOqcoM//ClHsBLWbF/d4rg4cKItI1EIjQ2iD5GJ++v9Hx2Ri6mvGXeJaXqgspNqKmpUd7u+udnrUWq0/NmPsk9VSvB6lLG2aMFGf8UZdDkbhEeYln4qrlqQ/Twizx9IQF6s/Uih3uoMon1SGWq+WqiKbl2yaVrd2ToaDBrldH+UGtz4bDs7BkpsXloeCADGVScHl8MK4vSgkoujY8X/D9psTUnkqexAtrFJpQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <205658ff-e0ac-1656-2d12-099abd891fcd@suse.com>
Date: Wed, 22 Mar 2023 07:59:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN v4 07/11] xen/arm: Introduce choice to enable 64/32 bit
 physical addressing
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com, julien@xen.org,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 rahul.singh@arm.com, xen-devel@lists.xenproject.org
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-8-ayan.kumar.halder@amd.com>
 <7d90ad7a-5daf-915c-2055-a27ca50d8581@suse.com>
 <e268e11b-8e93-c506-668b-c5c004b3aa06@amd.com>
 <1883c9a3-ad25-ac45-b1fa-d29e19b3cc14@suse.com>
 <01a800a5-1c0d-b9d4-05c7-c886b3e3009d@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <01a800a5-1c0d-b9d4-05c7-c886b3e3009d@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0078.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9091:EE_
X-MS-Office365-Filtering-Correlation-Id: 961f7442-c7eb-4e07-59d9-08db2aa2fcf1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ka5WznXt7B0KkoZNKb4jN6Btj8Tq4X0dfX2VjX5QLEohbhagTT4XvJ61Uz9zNyc9zw4PgpeHsEnU/CEv39nB7QrsGNeM6//B5XJemQJRvaokV5dh0vGbbjN4HG71RHLFqGtZa66OWy8P5JE+8FfzyAjdYHdmAAZTYsTR2JZnbHDCxvyLwVuyHPvHfn4gOdjJtt0reHfoNjj3uUOhDsfmwnw+jRzD1kyqMELC5q6JviGALDqXIpKyTZPzXTH9jFaGHm0SwWnc/D79PLTXv3f9UjteoaeJj/1sJ1mSEagXCh5/ZFUqVu2uARGorI+jdIKfSvmvJpOKPj7Hxy7BwFbHvTj3qbQokw52b0Wcj6wjXcSjnDX6vQaHiywVeem2J1qAAODqgfqk07YK0pWigg+ufajU1MaLFBxnSW/eD+l3DVdrtAOOFG+RRwIezSt+TCXOm5ysjNSwF8zgVgP2FWV3XPaEs0XNlVVPOXoegsGtDJFhgBkLUOkHBEbCimgXs/vKp3zK/+Q/zumuJpBXw+fJfA2T0PKW8iedyJ0zvLNcMj4eGcTDhiT7TjU2lrO+ryyauqS+JVvuf9t53pbirnIqm/K6piJuuDoU9v4Lu/s4uSKqNpUxGkIfMfgDdOclYVXLfVp4ee2fRsLj93wIgTkV+l/PD+qQsYKsSkaEW0i5wfARRkstQCSi5haezov1r3/erumxbZdmA8IfrOAbMvpNtoulYFRRx8XqVZ8Tlk+semsOYb1vXUNKg6Hw+zfxyg5H
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(376002)(136003)(346002)(366004)(396003)(451199018)(2616005)(66476007)(6486002)(186003)(966005)(4326008)(478600001)(83380400001)(6666004)(316002)(26005)(110136005)(66556008)(66946007)(8676002)(31686004)(53546011)(6506007)(6512007)(41300700001)(5660300002)(7416002)(38100700002)(2906002)(36756003)(31696002)(86362001)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?anJCbU1ZcytjSUllaEhRc1UwcUhzMWFHU3dKWFlZY213dmNaSmtUR1RxWitR?=
 =?utf-8?B?VFVEdXQ4YUd6ZDV1b2VOWHh1TnZUeWZXczI1WWJCSml2SVkwMnlvdG1HUXpY?=
 =?utf-8?B?d0MyUnFkaFRzZC91bnl5Y2Y0aVNCTm1xdjFNZkRiMUFNMXU2K3lTT3ppKzVR?=
 =?utf-8?B?VGgxYlBxOTh5Sk5FaWRpMGdEa0NUYkxiSXJRM2NYVzlxUmEzRGlrK2RMcEdn?=
 =?utf-8?B?U0laUE1RVjV1T0cvYWhkeENiTUMzT3R2VHJLVnFFM0NBVzlFT2RTZDBSc0ts?=
 =?utf-8?B?aHZnOGluTnBKZngxcEVWem53b3R5SmVsdW9PVWhRRCszV3NHLzdFMzBVbXBK?=
 =?utf-8?B?MnNhY0tOVXBpRzVIT1BTbFBRRlQ4WHJhVGQwaXlSaDRVbjhjRUdiOXF6cjNh?=
 =?utf-8?B?SDJmQ0NMS21BYkdJcVB6ZWpTNnJkN3BnNXZoaGE0ZFFDcUpQZWFWS0Fmd0Rv?=
 =?utf-8?B?NVI3dEFwLy8vb1JqOWhwN0h0YkZSWW5yRkcxWEJuUlhiTk9MTlNZWDExMGxU?=
 =?utf-8?B?WGwrSFhtWFFFRUFxcjEyZVZpemhNK3NyREN5VFhDQ1lUd245U2JmTVpRbkhY?=
 =?utf-8?B?MU9uZVNSdG0wNmNMVVFJU2thSTI1WlFFRXJZcDcxUkdaSlArL1I4NjZzNmJ3?=
 =?utf-8?B?aGhyZ09YUkh4K3pERDB0OTJIZC9pZG81T1Y3TUN5T3VwQVRVR0tPQVBQS2hy?=
 =?utf-8?B?Nk5EbHpZbzhXTWZ3Y0d4R1lhd001Vnd1bDg1Q1grTWE0THZrQmpJV1ZGQVpp?=
 =?utf-8?B?ZlVQL1VqUGF2WDRTVTZ2WUpqdjA4NWFFeHQ4Ynd6aWZpaGFaYzFGNGE5UDFr?=
 =?utf-8?B?MDJHOTFocFRGczA5aytTcHNpUVFGVlpwMiszcjhvWG01OU53QXpLTEc1RHRw?=
 =?utf-8?B?SW54T3gxY2dUUUJUbzRUNnVQYVVKc0hESEI3Zkg3NXFSR29WM3J0MWU1cHZj?=
 =?utf-8?B?aGdTdWVMZ1g5RzVnc0VKSmdrMWE3dE9uYXFYU0VwV1dLSlVwTkhIanlGNi8v?=
 =?utf-8?B?eXc4azJFTFFwSXBaUWdBNzFsNGpFQWpZNm5tVFdmczl0OWt2WFZ3cnBXOHk5?=
 =?utf-8?B?MlhIWGp5YlNVT0VmYzJzRjZCVUNIVXpYVEIwQVFWRlhqMXhsQ05OUGM1TkNO?=
 =?utf-8?B?SVl6RmFTcGlNczdNcEUwaU9JOEhQMktxZEF6WXlrVHhBN1hwdU9peFFXRTBr?=
 =?utf-8?B?SFgzN3FNYTB0elZoL3ZMdC9sbXRsYkhEVWlEZE5BbjZvU0g1dTJoTzB3TlB6?=
 =?utf-8?B?c2JQdlZaZkdmL2xHKzRtdkd2RFJUYm5rUkl3aTBjZFlDM2RpSk00WmswNlpy?=
 =?utf-8?B?dzd4dHBub2taeUhjcHNHTm0zbjhQekVUMXJQMXcxZ3FodjlHTkZiMkQ0MDF1?=
 =?utf-8?B?QUxibXJjV2VsTFg4cmVBU3VlZ3EvWUhLVnVtWlZPSmtrRTl3QTF0d2F2VXFF?=
 =?utf-8?B?eFJUaTZ1WkhkbmwzTE5RR3ZxRjc4MHl6UldnYkdsT0VNZ0JpRTBQQnFKbXRC?=
 =?utf-8?B?MW85RGlaYWN2TFFWNEF2SnRkSDUzeE5GWXl5R09YUlkxcEJTZnh2ZjVOVSt3?=
 =?utf-8?B?N1BuYTJxMHlkajcyRjhBL1poMXZ6VVA3RlI2NjQwTEdTeTlVQ2hSanlLeWNy?=
 =?utf-8?B?UDZPSzF0TEJNUjlNeGUvZEtmRmRNOEhQMXRzeWN0dTJVVk1KMTQrVWxKYU5D?=
 =?utf-8?B?MEcyNjV1cWNsNU9TUVdZVEZWVHpvdkQzR3BWcnd5OUhkWW03M3kzM0k3d1FO?=
 =?utf-8?B?MG81VjYzcVFVbDdPNFJZUFJBYWk0U2t1VUhpMDc2dUtPQUdaZ09sVlc5UDc4?=
 =?utf-8?B?VWJTeVBhNUw3Yks2RDFmbGR0Vy92eUY4dkhIS3lwbVBJcTh4emZSaWQvZzNB?=
 =?utf-8?B?UTNHVVBycm9scDRZOE1oUFE3ZEtpeW42Q3dvR1dvR1VjQVIrWlFRK0VtUFN5?=
 =?utf-8?B?aHYyV1NObjhhVE85MjB6aWNLVytIU29UeDViY1FUb0lPanJFYjdKaTBmeEFz?=
 =?utf-8?B?Wm1tRHY1TVBISUFVWUlHTFZydm5Gek9ZcWFpSEZ3ZlFtZk56NzVLYnVYNFlC?=
 =?utf-8?B?SSsyMEtGTW9OTjJBckFkNXg4Vm5oaHFCL3RYRDl4L3FkNDJSUFlSQXFlMGx6?=
 =?utf-8?Q?uxKZ9CWWZd70ai74HHfHPcsZ5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 961f7442-c7eb-4e07-59d9-08db2aa2fcf1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 06:59:32.5113
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oRnIjDwye/XQPGoyl4b73QRzzrHCglPwf6xfE2RakLVZk8mhDChbIjUFWEuasKqTpCNcbc7V8DUP7P2YUclZeg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9091

On 21.03.2023 19:33, Ayan Kumar Halder wrote:
> On 21/03/2023 16:53, Jan Beulich wrote:
>> On 21.03.2023 17:15, Ayan Kumar Halder wrote:
>>> On 21/03/2023 14:22, Jan Beulich wrote:
>>>> (Using "unsigned long" for a 32-bit paddr_t is of
>>>> course suspicious as well - this ought to be uint32_t.)
>>> The problem with using uint32_t for paddr_t is that there are instances
>>> where the paddr_t is modified with PAGE_MASK or PAGE_ALIGN.
>>>
>>> For eg , handle_passthrough_prop()
>>>
>>>               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);
>>>
>>> And in xen/include/xen/page-size.h,
>>>
>>> #define PAGE_SIZE           (_AC(1,L) << PAGE_SHIFT)
>>> #define PAGE_MASK           (~(PAGE_SIZE-1))
>>>
>>> Thus, the resulting types are unsigned long. This cannot be printed
>>> using %u for PRIpaddr.
>> Is there anything wrong with making PAGE_SIZE expand to (1 << PAGE_SHIFT)
>> when physical addresses are only 32 bits wide?
> 
> I don't have a strong objection except that this is similar to what 
> linux is doing today.
> 
> https://elixir.bootlin.com/linux/latest/source/arch/arm/include/asm/page.h#L12
> 
>>
>>> I remember some discussion (or comment) that the physical addresses
>>> should be represented using 'unsigned long'.
>> A reference would be helpful.
> 
> https://lists.xenproject.org/archives/html/xen-devel/2023-02/msg00305.html

I see. I guess this will be okay as long as only 32-bit arches elect to
use 32-bit physical addresses. Maybe there should be a BUILD_BUG_ON()
somewhere, accompanied by a suitable comment?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 07:03:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 07:03:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513105.793617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pesUx-0007L9-Ax; Wed, 22 Mar 2023 07:03:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513105.793617; Wed, 22 Mar 2023 07: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 1pesUx-0007L2-6s; Wed, 22 Mar 2023 07:03:03 +0000
Received: by outflank-mailman (input) for mailman id 513105;
 Wed, 22 Mar 2023 07: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=MxM9=7O=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1pesUw-0007Kt-C0
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 07:03:02 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0608.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9471e09c-c87f-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 08:03:00 +0100 (CET)
Received: from DU2PR04CA0258.eurprd04.prod.outlook.com (2603:10a6:10:28e::23)
 by AS8PR08MB8393.eurprd08.prod.outlook.com (2603:10a6:20b:569::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 07:02:57 +0000
Received: from DBAEUR03FT010.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:28e:cafe::32) by DU2PR04CA0258.outlook.office365.com
 (2603:10a6:10:28e::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Wed, 22 Mar 2023 07:02:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT010.mail.protection.outlook.com (100.127.142.78) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.17 via Frontend Transport; Wed, 22 Mar 2023 07:02:57 +0000
Received: ("Tessian outbound c2bcb4c18c29:v135");
 Wed, 22 Mar 2023 07:02:57 +0000
Received: from a6a2712a17c4.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 77F657A4-E69D-4B09-8E02-C54CD8C8DCCE.1; 
 Wed, 22 Mar 2023 07:02:51 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a6a2712a17c4.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 22 Mar 2023 07:02:51 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by GV2PR08MB9278.eurprd08.prod.outlook.com (2603:10a6:150:e1::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 07:02:40 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 07:02:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9471e09c-c87f-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Vt6K8YXPVCTU62et5xXQBcb2D3BNDzhTqy4aWhR5wNc=;
 b=E4siJss+YPGNknm+ixwBPtoMTxQR/uDvVYJ5B3p06bWKkX9xjst2FnhmkVfmB/ZD2ZBFmurjFJ3pUFgxJ40JbvJg8PHKoah3MCTPBQVbJ/6KGEnyuvvfGaVt6Bvul7OSkPrAPtTenCcGFtRKpne3dRUb0jftXOyWC+3zKGmi1Cg=
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: 6098d7911aa1db06
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HKlyf6AdzKrn575jhDZ2edw6tZhPHqfASHf/RzkK6bhfxwlbg9BZDGqL7WmZcgoEg0CED9xCowvPFtW6qunrsp/6Am/oUJk/uvOQdqWd9v7+m4l2u/upKecsKBLb13vYhXTxq9PZjuYnAPholdI+FR6v8d4aU/jAssn2x4NH7nl1kjitAilcQUiUF/ubT8aIYxkQ77U0swd0koGsqAXNPAi+paFPTyAa1zdsta8MBUL5RlffVHZEg2DKOOeUdES6zZ1p6EiWyXJz+c9kwuGgOcrw1kOSAQPDdZIG+7cjnj+V8p4luZie0qa1XPv1DQL4RGLEaWLhUHdOuNUBAKEE7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Vt6K8YXPVCTU62et5xXQBcb2D3BNDzhTqy4aWhR5wNc=;
 b=PVsIJwVsamnjcRXRoAynKHb057Hn4fn8h5JVhZuRCDPzEA1IxrImF+xJ1ITUN/QGvFTrHblIG1A5W6oD69oKr8yN+CWBQOXtonJjzAqsWdhDsuVOjd3DR2GsgkiqxLYvL1F1tMy8mpn9Fzx5A+gqt+If1UbkAjXqc0nUw2vdVoK/WiTxuJZuQYmSgrP27O2Jod1wRZ0IWZIT0sKHWTgzzEoRTWQmV0O573g/B0DOrJsouNbz/TYepX5XcHc1Ej5AoX0a55rfGt6iBcBU9gwWtTg6H+aps8kshQLMK79kFOwNCcxABEPAHGzaGxv6n2NmxIYRsL75CyPlD/KA6nyBWw==
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=Vt6K8YXPVCTU62et5xXQBcb2D3BNDzhTqy4aWhR5wNc=;
 b=E4siJss+YPGNknm+ixwBPtoMTxQR/uDvVYJ5B3p06bWKkX9xjst2FnhmkVfmB/ZD2ZBFmurjFJ3pUFgxJ40JbvJg8PHKoah3MCTPBQVbJ/6KGEnyuvvfGaVt6Bvul7OSkPrAPtTenCcGFtRKpne3dRUb0jftXOyWC+3zKGmi1Cg=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Christian Lindig <christian.lindig@cloud.com>
CC: =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, George Dunlap
	<george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Christian Lindig <christian.lindig@citrix.com>, David
 Scott <dave@recoil.org>, =?utf-8?B?TWFyZWsgTWFyY3p5a293c2tpLUfDs3JlY2tp?=
	<marmarek@invisiblethingslab.com>
Subject: Re: [PATCH v3 08/10] tools: add physinfo arch_capabilities handling
 for Arm
Thread-Topic: [PATCH v3 08/10] tools: add physinfo arch_capabilities handling
 for Arm
Thread-Index: AQHZWNNJv7KxtCj5PE2Y2ezKy93ynK8DhO2AgALh9IA=
Date: Wed, 22 Mar 2023 07:02:40 +0000
Message-ID: <947E57EC-84AC-4B4E-8146-ADEC9FD518EF@arm.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
 <20230317131949.4031014-9-luca.fancellu@arm.com>
 <5C1E6204-51FD-4C97-8182-848F30A4A58B@cloud.com>
In-Reply-To: <5C1E6204-51FD-4C97-8182-848F30A4A58B@cloud.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.400.51.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_|GV2PR08MB9278:EE_|DBAEUR03FT010:EE_|AS8PR08MB8393:EE_
X-MS-Office365-Filtering-Correlation-Id: 3e831d7d-75a1-41be-319f-08db2aa37791
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:
 kcbKmQJTe2lHfO+7EBZ8PGep3MR6edv3M1U8wdfUQobq23WqgsIIhdDoxtPf4mENlJvkEZgimmy7FqmqTr58X/W5s5E+/sTy5IWJw0X3a/2isP5fSQg8oPqQO3o8e8zv8W8YeBEZST8gL7QjaLfT5KRlhKNpZHQlKZ0z7LhGzgKcarE5TcngiDcHqTXe2b3jsLj7pB/Up7wm+1gnqnQOVFZ7KJ8KFM5PWv47UFmvSDJyD3qKppSxYd1JadVaDK+hrRyVRQO2IA3KP4MMAmosgQAF7BMvXi1RTMkAer5tRQYs0gcaGCeCZvN4k3gyBPpbdeXLZUlXEjcbSxz3GLFPL+c32K5PBu+hfpUFQqv0q5AtbzIU+YQ81zAZ/36rdmzJ9do2TQuOoXb3pj4iFBNuLKFzWXemDsmBeTPlo5TIu4qCwaHcWJF9XPmTAx+XG6Y5+DXSLO5RgL1sDD/DibhL41wmG0TuPxenRuDe+HSRWmSM91FJ3sbm3AHAxRvzUvt1rV/JEnxaPWfTmvVu4ovhk0DCGVaJcYhHLsfGdxKjIYhqJ24MWz7Z1ipmZHVFBxnZ8s0fz2ZX/X8//1fDsRgOpQvTqcPVzFsf5wwIGOF2MHTlklHw5XRxT2kppQKGF6U5w0wHDK24+9H1Q3RnXngKE1asSkUOdMc2QY5S/1Ti0wmVS8h/f8jFYLTwgaq3nj/m/SZgN4Ms3XPWg8nBhwgZe+028NQ4wCoSKKFMYwkvhiA=
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:(13230025)(4636009)(39860400002)(366004)(376002)(346002)(396003)(136003)(451199018)(66446008)(6512007)(6506007)(2616005)(26005)(6486002)(8676002)(53546011)(64756008)(316002)(186003)(71200400001)(66476007)(91956017)(54906003)(478600001)(76116006)(66946007)(6916009)(4326008)(7416002)(8936002)(4744005)(5660300002)(2906002)(122000001)(41300700001)(66556008)(38100700002)(38070700005)(86362001)(36756003)(33656002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <2287D2772FCD184DA00BC7EA17E981C1@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB9278
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:
 DBAEUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c8ee3ad7-bfab-4e2d-10d4-08db2aa36d41
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cge24kzpKf61OplpMhRHGjY4CZtVwX0PEetgug1IdMAgRC/F08oSqs4N295ZBH53U/KjqHx4JOjaZcbVF3MBFvXaAPTOcpRfGTr4yYP2LLQmusq4jVLK0z2qFC0iRq4KNTEFdz8ohB3yCdeDxoD9JbBgTLnzPFouTBOaX0dC4dDxZXyA30stLURkUDY7dfj06H1W8FMzqBewEMUdlRIPZtTKMmrGHk/Ki/zYRSxylEl9b2tBXD9JGi2nOPVcpRDZoI/KLUq4wArdUohM0iKSBoRSapLJf2vkIDz6U6QMs3DsKraREm4i6u+2o/SDjmD6AepEMickGQioQHFamTGUWRGd/UjPtzE0lKPvTNMXAeJIDE8jPBoeyvbP7nGCThNsfAdwuiw7TSDUNHIPk3F+MZ2lAWkzn+t+0a6QK04aTnNm83qWRu1jviOakWfJW6GFL6o3XdT6RElf39sE9Awnyq5zLH/LSY7VDlgdcmxqqWLX2akST498yJNwNAITKJBK+OXlC1Hoj9cgOgVdZWAAFh6A0xDlekQUTTwXG3o2Ou5eOblDTJtN684kBMY9GSF4/mPEX0jA91vB1XQ8AMWCYP151e7RPJuqCeEqlTwniEWLzx71EXaNazd03b/teAikHizKlIwfAHflOqnImz1dNKiiqAB+ziCFV+t8g5xpQBefY07+tuk+HLsnMw3KJK5bjyRxLneMhNpoN1qI7moVOA==
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:(13230025)(4636009)(376002)(39860400002)(396003)(346002)(136003)(451199018)(36840700001)(40470700004)(46966006)(478600001)(6486002)(2616005)(47076005)(107886003)(336012)(316002)(70586007)(70206006)(8676002)(186003)(6506007)(26005)(53546011)(54906003)(4326008)(6862004)(36860700001)(4744005)(5660300002)(6512007)(41300700001)(8936002)(81166007)(2906002)(82740400003)(40460700003)(40480700001)(82310400005)(36756003)(86362001)(356005)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 07:02:57.7097
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e831d7d-75a1-41be-319f-08db2aa37791
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:
	DBAEUR03FT010.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8393

DQoNCj4gT24gMjAgTWFyIDIwMjMsIGF0IDExOjAxLCBDaHJpc3RpYW4gTGluZGlnIDxjaHJpc3Rp
YW4ubGluZGlnQGNsb3VkLmNvbT4gd3JvdGU6DQo+IA0KPiANCj4gDQo+PiBPbiAxNyBNYXIgMjAy
MywgYXQgMTM6MTksIEx1Y2EgRmFuY2VsbHUgPGx1Y2EuZmFuY2VsbHVAYXJtLmNvbT4gd3JvdGU6
DQo+PiANCj4+IA0KPj4gYXJjaF9jYXBfZmxhZ3MgPSBjYW1sX2FsbG9jX3NtYWxsKDEsIGFyY2hf
Y2FwX2ZsYWdzX3RhZyk7DQo+PiBTdG9yZV9maWVsZChhcmNoX2NhcF9mbGFncywgMCwgYXJjaF9j
YXBfbGlzdCk7DQo+PiBTdG9yZV9maWVsZChwaHlzaW5mbywgMTAsIGFyY2hfY2FwX2ZsYWdzKTsN
Cj4+ICsjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQ0KPj4gKyBTdG9yZV9maWVsZChwaHlzaW5m
bywgMTAsIFZhbF9pbnQoY19waHlzaW5mby5hcmNoX2NhcGFiaWxpdGllcykpOw0KPj4gKyNlbHNl
DQo+PiArIGNhbWxfZmFpbHdpdGgoIlVuaGFuZGxlZCBhcmNoaXRlY3R1cmUiKTsNCj4+ICsjZW5k
aWYNCj4+IA0KPiANCj4gSXMgdGhpcyBjb2RlIG92ZXJ3cml0aW5nIGFuIGV4aXN0aW5nIGVudHJ5
IHRoYXQgd2FzIGNvbXB1dGVkIGJ1dCBub3cgaXNu4oCZdCB1c2VkPyBJZiBzbywgc2hvdWxkIHRo
ZSBjb25kaXRpb25hbCBjb21waWxhdGlvbiBub3QgYXZvaWQgdGhpcz8NCg0KSGkgQ2hyaXN0aWFu
LA0KDQpJIGRvbuKAmXQgdW5kZXJzdGFuZCwgd2hhdCBlbnRyeSBpcyBiZWluZyBvdmVyd3JpdHRl
bj8gSWYgSSB1bmRlcnN0b29kIGl0IGNvcnJlY3RseSwgSeKAmW0gd3JpdGluZyB0aGUgcG9zaXRp
b24gMTAgb2YgcGh5c2luZm8NCndoaWNoIGlzIG5vdCB3cml0dGVuIGJlZm9yZS4NCg0KQ2hlZXJz
LA0KTHVjYQ0KDQo+IA0KPiDigJQgQw0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 07:07:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 07:07:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513110.793627 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pesZV-00080m-1x; Wed, 22 Mar 2023 07:07:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513110.793627; Wed, 22 Mar 2023 07: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 1pesZU-00080f-UH; Wed, 22 Mar 2023 07:07:44 +0000
Received: by outflank-mailman (input) for mailman id 513110;
 Wed, 22 Mar 2023 07:07:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=MxM9=7O=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1pesZT-00080Z-BN
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 07:07:43 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c72c228-c880-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 08:07:42 +0100 (CET)
Received: from DUZPR01CA0063.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:3c2::13) by DB9PR08MB7626.eurprd08.prod.outlook.com
 (2603:10a6:10:30a::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 07:07:38 +0000
Received: from DBAEUR03FT040.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:3c2:cafe::86) by DUZPR01CA0063.outlook.office365.com
 (2603:10a6:10:3c2::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Wed, 22 Mar 2023 07:07:38 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT040.mail.protection.outlook.com (100.127.142.157) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.17 via Frontend Transport; Wed, 22 Mar 2023 07:07:38 +0000
Received: ("Tessian outbound 0df938784972:v135");
 Wed, 22 Mar 2023 07:07:38 +0000
Received: from fb6b34b52245.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EF78EDFF-5FA2-49FA-AF1D-A214B6F03FB3.1; 
 Wed, 22 Mar 2023 07:07:31 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fb6b34b52245.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 22 Mar 2023 07:07:31 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS1PR08MB7634.eurprd08.prod.outlook.com (2603:10a6:20b:476::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 07:07:30 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 07:07: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: 3c72c228-c880-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zx67raBl15RTTLZh5+eCLx2dxPgny+lf0JL25kdUpAM=;
 b=B3LQnE0PVEmVW8t0WzLyn/7SQA5s1Qq9D8v/yLU/+mf1VDLNTBykNLIokY5zt4D+VGAF8hXswbCkKYG0u5oHtr9EHFR7HcyFSrDx7r0coBPM+hhZ87fC1dzbzaaIWAvWkULH9hxLHnHy48UiQZXRPM6a3NmAmdX91qDATNNXv1A=
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: 0a6d3e2287c35f9e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PMU6uDQ8e0W8QZLipdhhcRpLoHGFA4AbRidQew5eZ+2riDUtQMlaYSbRLIIpArKI9efIZRx1vesydMY+SJ03hivirLC4ariFvxQYURVebKUI39NZuvvAkAuPw0QB9miDsStgr6mC/3VEwW8R1kf2xcxIrjPvmZwuNE05sDBgEgJglQwBdh+xONQpwju3fUA43c9Bk7qM3t8twcph/nOqAMTlTcEuTwmAciWCXKLuskWG2t24kA6Q2uMHhXvNaXMC78i3yYuUCl7MpPRHQY+we8Ay+QDb4IuYKz1sVI+WLf33Fhn/nB+HY8qlEKSTBzYQpegD+w1dAwJ884+JEIPTDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zx67raBl15RTTLZh5+eCLx2dxPgny+lf0JL25kdUpAM=;
 b=C6JEGsfE7fZq4l3Zvb3hGfFsFpsniteldnq8atYeNoTK/6qHyr9dX8Fqsv5yafn2idx8o7wIUuSOLn7dX5vQsHNxzkOATFHlgOi/ncaJubqRqr/WgOlvAHAWvKMBbozb8RfM3uyqaSTvMSF2mhntU+MMEuFpMEXi1PilvrnlmQP3KXQy18qTAmx5DkMnaaFAhG5NWt8kVZnWeKd2QFGAFz/lP85UFP4jK4R5U2O4RQ809DqlBWcZ6sz0pvc2aYlaZHV2UN+CrsJE+F5A+o1av9egitEKUYLQFZYCBjPZM6lC++TS9Mh7ujX00xU3tBbSsfnsXHGXW/KPQMM1KXs9Tw==
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=zx67raBl15RTTLZh5+eCLx2dxPgny+lf0JL25kdUpAM=;
 b=B3LQnE0PVEmVW8t0WzLyn/7SQA5s1Qq9D8v/yLU/+mf1VDLNTBykNLIokY5zt4D+VGAF8hXswbCkKYG0u5oHtr9EHFR7HcyFSrDx7r0coBPM+hhZ87fC1dzbzaaIWAvWkULH9hxLHnHy48UiQZXRPM6a3NmAmdX91qDATNNXv1A=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 02/10] xen/arm: add SVE vector length field to the
 domain
Thread-Topic: [PATCH v3 02/10] xen/arm: add SVE vector length field to the
 domain
Thread-Index: AQHZWNND7RB779g4ZEeiitO407LYja8DZZUAgAMCpoA=
Date: Wed, 22 Mar 2023 07:07:30 +0000
Message-ID: <33D53928-371F-4649-96FF-7EC4EABF5D48@arm.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
 <20230317131949.4031014-3-luca.fancellu@arm.com>
 <204dbe14-c1e9-8d56-4923-4a867c3d2c4b@suse.com>
In-Reply-To: <204dbe14-c1e9-8d56-4923-4a867c3d2c4b@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.3731.400.51.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_|AS1PR08MB7634:EE_|DBAEUR03FT040:EE_|DB9PR08MB7626:EE_
X-MS-Office365-Filtering-Correlation-Id: 5cc7b4b8-143b-42b1-a835-08db2aa41ed4
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:
 s9OrrPNUOSzRDIV5ZbtH7X9HR182W32XqZvnyQNAMH4w87GSEkfQk9sj+W0i7+TYM3YL8HOzU3003sTmu9RPG2ZHQQDEJ8DAW2Q94jzp6qOS3xcTdz39QMqkICgrS1q4FTuFVsa0JFBysG/p2kQs6rBq6fvJbs0aGiFvuy+dMKhyCPyGwpJmzxygpUpkz2WRb4DhL+kgicVOoHyQAfg9c6gDBT7MvEz2AgnCOu4QeyHqTyexYID01snwyF6ezVn8CIhOJ4k0h3wRtox8+pwiP3q2X21vxl8KCpI9NXuyHA34dGjXzIV7leHw0fH8GRrlvPhbAs7Jm4OJXz4V/vAcd0jhc4VA04jdCcItFV/uEy+8RAUM2bdlUtB3KEKNZJfYOfRah+RsnDUTDXmYJy1IqZdNlROAJ4VwFFESSz9cldJbyh2zigmJlDkN7lKPkDXDpxKGdeWHs8hVcCXBj+k2yMp7HCqEDlzC519nR427SyU6XvrrCJ+OrnjoT3dfoIKdwkaNih131ckhe2PK/L6/SuPsvyfPIjl+/5ifu3p4UqE7AY4JDXoXcrIo1GKThchb0NUYEozEzqL2juBGO/F/cjA6OmR/zdkaPvNAev+NM8ELMDGXxxPoRDv/12Y9Eft1Ja4xcyZAhL8hXa24czOydt+EPOsGKJom7XZ6f2teIBAceaeET+bu79w7VDXj3rBUoHpZROn+DeOivdNMTsCYY2OKuQymm4oLvzfkQBqB//A=
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:(13230025)(4636009)(376002)(346002)(136003)(39860400002)(366004)(396003)(451199018)(186003)(478600001)(26005)(6486002)(8676002)(6506007)(83380400001)(54906003)(71200400001)(6512007)(53546011)(2616005)(91956017)(316002)(66556008)(66476007)(66446008)(64756008)(66946007)(76116006)(6916009)(8936002)(5660300002)(41300700001)(122000001)(4326008)(2906002)(38100700002)(86362001)(33656002)(38070700005)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <E0E5FCF1D1E48245AF5984EF53610470@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7634
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:
 DBAEUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f295a9b3-5ae3-4e31-3250-08db2aa419f2
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZblVolvMxh9oDzX1dvaHU2cIuK5ZpaRzWZx+qlOzzTvH19DTbjqjNxX48OAQUh4rBdEOOTIftlrjPObLQ0+3MfV/UFHDQA1voM1zecf8ii3pQbQVl+vWSQ/Jo5FcpPEydw95SeXVxqgjyDe1J73qrFY+Gk44WfzKxDl9VTTFCDqFlDoVAeLP0JR4XVjh3ZSeB7y6rj4kO/JHSz72dmINkTRTIl8iUwMcFH3x5xUS6zY8MhSMBdcRwD8iOnMP/SKV3HhlbQRY4IIc3qFvAfJD1vhGh56VmxCg1TSKIy4uF0esfnw+SSmXVDyjbVyDsMcslqJvfU+cNqD3Z0QtrE57sDIbUtVSWJ7M/2oQxCqgXQ7y4zmhs8PPwNugXCTaloHMvSEp0xz2KXp8AHThN5V1Cds2T5CvBCh00oSUJE/vMTT5FKyiTLkWUq0Eas34fcqNzX3EPE2nrBWQCrqjbHTV9MbCDA1c9mJtgXA+biAv22KkKKQMAONWErDYiiMTVZV1IQ5k/du1LzaPVdJwYUv3P1XAiSYuZG0MvsWVvOTC4FfxinGkKacBvRuQRK8PQ+ozlPiZWF54rO3KTMA2psGrX6jFGlGuevCIhdbp5qpuAIB0IYy/LpE/a1v2FDI8ad9YFJh7eoIYqe1+BWt8CaFJjv9pllipHmkW+y3boZtc56hgiEyqVXHa8HNIBvcIZA6hXxwG8YPF/XxRowIOXfhngw==
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:(13230025)(4636009)(39860400002)(376002)(346002)(136003)(396003)(451199018)(36840700001)(40470700004)(46966006)(186003)(2616005)(316002)(6486002)(336012)(83380400001)(47076005)(478600001)(70586007)(70206006)(8676002)(6512007)(6506007)(26005)(54906003)(53546011)(4326008)(36860700001)(41300700001)(5660300002)(6862004)(81166007)(82740400003)(40460700003)(2906002)(8936002)(82310400005)(40480700001)(356005)(36756003)(86362001)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 07:07:38.3157
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5cc7b4b8-143b-42b1-a835-08db2aa41ed4
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:
	DBAEUR03FT040.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7626

DQoNCj4gT24gMjAgTWFyIDIwMjMsIGF0IDA5OjA5LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMTcuMDMuMjAyMyAxNDoxOSwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+IEBAIC03NDQsNiArNzczLDkgQEAgaW50IGFyY2hfZG9tYWluX2NyZWF0ZShzdHJ1
Y3QgZG9tYWluICpkLA0KPj4gICAgIGlmICggKHJjID0gZG9tYWluX3ZwY2lfaW5pdChkKSkgIT0g
MCApDQo+PiAgICAgICAgIGdvdG8gZmFpbDsNCj4+IA0KPj4gKyAgICAvKiBDb3B5IGFuZCBkZWNv
ZGUgc3ZlX3ZsIGZyb20gdGhlIGRvbWFpbiBjb25maWd1cmF0aW9uICovDQo+PiArICAgIGQtPmFy
Y2guc3ZlX3ZsX2JpdHMgPSBkb21haW5jb25maWdfZGVjb2RlX3ZsKGNvbmZpZy0+YXJjaC5zdmVf
dmwpOw0KPiANCj4gQ29uc2lkZXJpbmcgdGhhdCB5b3Ugbm93ICJlbmNvZGUiIGFuZCAiZGVjb2Rl
IiB0aGUgdmFsdWUgd2hlbiBjb21pbmcgaW4gLw0KPiBnb2luZyBvdXQgZm9yIGEgaHlwZXJjYWxs
LCB3b3VsZG4ndCBpdCBtYWtlIHNlbnNlIHRvIGFsc28gaGF2ZSBpbiBpbnRlcm5hbGx5DQo+IHN0
b3JlZCB2YWx1ZSBpbiB0aGUgc2FtZSBtb3JlIGNvbXBhY3QgZm9ybWF0Pw0KDQpBdCB0aGUgYmVn
aW5uaW5nIEkgdGhvdWdodCBpdCB3YXMgbW9yZSB1c2VmdWwgdGhlIHBsYWluIGZvcm1hdCwgYnV0
IHByb2JhYmx5DQpJdOKAmXMgYmV0dGVyIHRvIGtlZXAgdGhhdCBzdHJ1Y3R1cmUgc21hbGwuIEni
gJlsbCBjaGFuZ2UgaXQuDQoNCj4gDQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20v
YXJtNjQvc3ZlLmgNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9hcm02NC9zdmUu
aA0KPj4gQEAgLTEzLDEwICsxMywyMyBAQA0KPj4gLyogVmVjdG9yIGxlbmd0aCBtdXN0IGJlIG11
bHRpcGxlIG9mIDEyOCAqLw0KPj4gI2RlZmluZSBTVkVfVkxfTVVMVElQTEVfVkFMICgxMjhVKQ0K
Pj4gDQo+PiArc3RhdGljIGlubGluZSBib29sIGlzX3ZsX3ZhbGlkKHVpbnQxNl90IHZsKQ0KPj4g
K3sNCj4+ICsgICAgLyogU1ZFIHZlY3RvciBsZW5ndGggaXMgbXVsdGlwbGUgb2YgMTI4IGFuZCBt
YXhpbXVtIDIwNDggKi8NCj4+ICsgICAgcmV0dXJuICgodmwgJSBTVkVfVkxfTVVMVElQTEVfVkFM
KSA9PSAwKSAmJiAodmwgPD0gU1ZFX1ZMX01BWF9CSVRTKTsNCj4+ICt9DQo+PiArDQo+PiArc3Rh
dGljIGlubGluZSB1aW50MTZfdCBkb21haW5jb25maWdfZGVjb2RlX3ZsKHVpbnQ4X3Qgc3ZlX3Zs
KQ0KPj4gK3sNCj4+ICsgICAgLyogU1ZFIHZlY3RvciBsZW5ndGggaXMgc3RvcmVkIGFzIFZMLzEy
OCBpbiB4ZW5fYXJjaF9kb21haW5jb25maWcgKi8NCj4+ICsgICAgcmV0dXJuIHN2ZV92bCAqIFNW
RV9WTF9NVUxUSVBMRV9WQUw7DQo+PiArfQ0KPj4gKw0KPj4gI2lmZGVmIENPTkZJR19BUk02NF9T
VkUNCj4+IA0KPj4gcmVnaXN0ZXJfdCBjb21wdXRlX21heF96Y3Iodm9pZCk7DQo+PiByZWdpc3Rl
cl90IHZsX3RvX3pjcih1aW50MTZfdCB2bCk7DQo+PiArdWludDE2X3QgZ2V0X3N5c192bF9sZW4o
dm9pZCk7DQo+PiANCj4+ICNlbHNlIC8qICFDT05GSUdfQVJNNjRfU1ZFICovDQo+PiANCj4+IEBA
IC0zMCw2ICs0MywxMSBAQCBzdGF0aWMgaW5saW5lIHJlZ2lzdGVyX3QgdmxfdG9femNyKHVpbnQx
Nl90IHZsKQ0KPj4gICAgIHJldHVybiAwOw0KPj4gfQ0KPj4gDQo+PiArc3RhdGljIGlubGluZSB1
aW50MTZfdCBnZXRfc3lzX3ZsX2xlbih2b2lkKQ0KPj4gK3sNCj4+ICsgICAgcmV0dXJuIDA7DQo+
PiArfQ0KPiANCj4gVGhyb3VnaG91dCBoZXJlOiBTdHlsZSAtIHBsZWFzZSBsaW1pdCB0aGUgdXNl
IG9mIGZpeGVkIHdpZHRoIHR5cGVzIHRvDQo+IGNhc2VzIHdoZXJlIHRoZXkncmUgYWN0dWFsbHkg
bmVjZXNzYXJ5IHRvIHVzZSB0byBhY2hpZXZlIGEgY2VydGFpbg0KPiBlZmZlY3QgKHNlZSAuL0NP
RElOR19TVFlMRSkuIE5vbmUgb2YgdGhlIGNhc2VzIGFib3ZlIGxvb2sgdG8gbWF0Y2ggdGhhdA0K
PiBjcml0ZXJpYSwgbWVyZWx5IC4uLg0KDQpPayBJ4oCZbGwgY2hhbmdlIHRoZW0NCg0KPiANCj4+
IEBAIC0xMTQsNiArMTE2LDkgQEAgc3RydWN0IGFyY2hfZG9tYWluDQo+PiAgICAgdm9pZCAqdGVl
Ow0KPj4gI2VuZGlmDQo+PiANCj4+ICsgICAgLyogbWF4IFNWRSB2ZWN0b3IgbGVuZ3RoIGluIGJp
dHMgKi8NCj4+ICsgICAgdWludDE2X3Qgc3ZlX3ZsX2JpdHM7DQo+IA0KPiAuLi4gdGhpcyBtYXkg
YmUganVzdGlmaWVkIChmb3Igc3BhY2UgZWZmaWNpZW5jeSksIHdoaWxlIC4uLg0KPiANCj4+ICsN
Cj4+IH0gIF9fY2FjaGVsaW5lX2FsaWduZWQ7DQo+IA0KPiAobml0OiBzdHJheSBpbnNlcnRpb24g
b2YgYSBibGFuayBsaW5lKQ0KDQpBY2sNCg0KPiANCj4+IC0tLSBhL3hlbi9pbmNsdWRlL3B1Ymxp
Yy9hcmNoLWFybS5oDQo+PiArKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1hcm0uaA0KPj4g
QEAgLTMwMCw2ICszMDAsOCBAQCBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh2Y3B1X2d1ZXN0X2Nv
bnRleHRfdCk7DQo+PiBzdHJ1Y3QgeGVuX2FyY2hfZG9tYWluY29uZmlnIHsNCj4+ICAgICAvKiBJ
Ti9PVVQgKi8NCj4+ICAgICB1aW50OF90IGdpY192ZXJzaW9uOw0KPj4gKyAgICAvKiBJTiAtIENv
bnRhaW5zIFNWRSB2ZWN0b3IgbGVuZ3RoIGRpdmlkZWQgYnkgMTI4ICovDQo+PiArICAgIHVpbnQ4
X3Qgc3ZlX3ZsOw0KPiANCj4gLi4uIGluIHRoZSBwdWJsaWMgaW50ZXJmYWNlIGl0J3Mgb2YgY291
cnNlIG1hbmRhdG9yeSB0byB1c2UuDQo+IA0KPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 07:29:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 07:29:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513115.793640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pesuc-0002Yt-TH; Wed, 22 Mar 2023 07:29:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513115.793640; Wed, 22 Mar 2023 07:29: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 1pesuc-0002Ym-PC; Wed, 22 Mar 2023 07:29:34 +0000
Received: by outflank-mailman (input) for mailman id 513115;
 Wed, 22 Mar 2023 07:29: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=pl0Y=7O=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pesua-0002YX-V3
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 07:29:33 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e83::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 475ea007-c883-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 08:29:30 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 SA3PR12MB7879.namprd12.prod.outlook.com (2603:10b6:806:306::5) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.37; Wed, 22 Mar 2023 07:29:25 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 07:29: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: 475ea007-c883-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kQcNTCvG4of6X23xWN+J/uXB5DKvgUzOAvSY8KiqStQXTy8zP3hlUQJedxb7q/PLuis03dB1ibuoWLBVo+/lE0xP1BAXWDF8bF4ovAp0+Gqwh470WhGZyB3D6ibErRdpW8BAgdWDHqAInzhAPy4E+a4ppqMwv1zgf1h7pYpoyqxt1ISJntgbe+efvSRHYKt2XylngCKKQNLMiKsGcitW6wCPN7qF1m014qwLOr7LDyfUTyU2GMVZF2LQXYdagd/XNv/C7C9S68UGkTBrvTVPEbQViairqURLjukyGhB1oaqU/QRTVEe2Gurfmw+Fx4G5YEo+W5pKuoPpfDgeHeKBLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6E98sY3omzEpwiKLXUq5L2DY1IcaLnLCIrWhwbWnvt8=;
 b=MDH8GPh0P0pwchE+BeQ/EkVFNT3w2EwyjNMWXTxCMTbm+hEpXYd5X+0UvrFKkqeeTpqMLRvCgktc8wsIfnkYkcFFCMU4G8VoIQE9q920zS6xZRqvb5V5gynTpuPygnk3MnwY3Q6dKvyDbPWlmbcrcqRKelUytVBS2Axr3DWhAxyjR2BurZcejiqnuwZTVkCBS9VbXeIYfe5hD5hdV+u4Jbs7vk9AWI/aj0eFQ5wbrfmdQ4PJnmatLWfFBFoS77Xj2BSk1CdfGznv9M0XmegRDUmQ9J8gaWUMzzxuOh23+EDAj7L9lQ4PEW23bgIqlTVSmi2x9I63iv4Xlhbi5UCjsg==
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=6E98sY3omzEpwiKLXUq5L2DY1IcaLnLCIrWhwbWnvt8=;
 b=J+7ch7r0dYI0HzfTuRnsda6I7Fusg1ezTxz9Mjoj+RMQRLTjcqI1DXL8UxlvufAw4yh+cWZaQuJLt1fHrDFKc45y0/JP0GBDf1l6JgrEbrEiLG3UHNte9JTBWU5ipnDShMmwTB54jwnwNIQ1aBQ5ANrjMdWwGmqsSoRi+gKmZxQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Wed, 22 Mar 2023 15:28:58 +0800
From: Huang Rui <ray.huang@amd.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Roger Pau =?utf-8?B?TW9ubu+/vQ==?= <roger.pau@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZBquOn8x7IyI33Pj@amd.com>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com>
 <ZBl6iU6T1CsWqVx9@amd.com>
 <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
 <ZBmDl8XjIos57EIy@amd.com>
 <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
 <ZBmZxnyZWrni57Ry@amd.com>
 <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com>
 <ZBmrI3wrrwsK5Q+0@amd.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ZBmrI3wrrwsK5Q+0@amd.com>
X-ClientProxiedBy: SI2PR02CA0042.apcprd02.prod.outlook.com
 (2603:1096:4:196::19) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|SA3PR12MB7879:EE_
X-MS-Office365-Filtering-Correlation-Id: 26b7a22c-e824-47d4-d230-08db2aa729e6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sQutX75z2i6c3P/ywjVWPhHK35TjJZrwu/3BbFMu0njqIxV1mtMbnIudiPMKPk95bAeRvlarm3IqC3KM6OjUWodKZACQz6lrnL3RHgJBkvrKC5iTeJT8VjcaNLgRVTgfTZ7ak/2O4/iaC9KQjeFFRy6kYBTE3NWCuyPS5kg2g5E2nALEZlkHTDLwuuHqwIfpHs9Hn1owpOmHTfQrGhxlnmvxw8od/ZjWeD3S8XEVKTkWOlCe4M6NXa5ZdJCNh3bgt3mDNQo8BvwDPTrB7jrbpGqP3m6gwKTDVVE3O0vu6TCQGLwRPz5bFbk1Ig058nQsD+gfDSAH92KVqkrPTpZTmqIEPJ1GYgS1H3skY8H23PtDgsoo2Asq5ybLFowgvqiF1FFZB/nqc7fF82Q74nOp/Fr+a7nkAJPIBP9OLbDutIx+0FqEluFf70biDC+6QSHUBENJ/rqbTeuNCFjGi1qKmg3Hb3338vtj3fHcn466IXnVJVuDpWNr6fDDlWtCBiHI5xZz5MrQvvPWBlF/AXr+peqR1Jh7ljV0as8ku1KBngFK4PQXMqp82uACgTP7Jq1yqyzkOTEDMM9ZjUe+o1o9Jwdn0XOtbbI/02ivCQcbuE14c0PZAhHQps1YivSxTrcdPnmOHz1eQckymqWTmukWkw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(376002)(39860400002)(136003)(366004)(346002)(451199018)(38100700002)(86362001)(26005)(36756003)(41300700001)(4326008)(66556008)(6512007)(6916009)(8676002)(5660300002)(8936002)(66476007)(2906002)(66946007)(478600001)(6486002)(186003)(2616005)(83380400001)(316002)(6666004)(54906003)(6506007)(53546011);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?dXC9i6WFPcOFW51pJiDwYRFsPwkrEjwSyfzoz78SRhMhHJmkQ440+ewghBhl?=
 =?us-ascii?Q?dXj+vkXWGxdKQEv74m3zO+EVzXgOWuPAWHepLje8LZP0o0ceMDjFmGnLB/lW?=
 =?us-ascii?Q?xprQq9ZALCq9QQglHWxL8W6o7jbVDwZppu+MUTuWCALLLYcGSKyjmrBKah9c?=
 =?us-ascii?Q?+bN1hRXuqVNsNEdv0mESovOz0s/hdvZAsv8uvN8/Epu2e1iQZgW1qBsBLrB1?=
 =?us-ascii?Q?3FXIi86jpmyyfaUIRkuFVjkTTUxUaNDMPXq/yor7455PUZA4+VK0TJbp1l1v?=
 =?us-ascii?Q?GY7Gl7E35N0ldexGigWq0cz1YF7c445ZJ+Z71nwT/Mbocs27X9UPzpWtyMpV?=
 =?us-ascii?Q?zV1tbWEeVljIyH7OXcPjiDzPO6JRpPikoMN+SaVTq4/jiglL4KgspNtfiSmE?=
 =?us-ascii?Q?inKMczEXN/Pnla/qklX2rSO28cQKB5dnLaFgh+hpjdSJJSriUKM1TTuq+39y?=
 =?us-ascii?Q?HdX/qlgD12Xvo+YTwfuSDdDNIlq7Itp24K6aP2LZ6OJblxb6zm8IG5ekS1iS?=
 =?us-ascii?Q?UWIEbyD8co4jvRJUIme3gbW5sa/P7kLCCh6vvaqcKSiv/4WGtrY+1HPhz70G?=
 =?us-ascii?Q?Ic1emjDhpFLI8h4OujFvTXiwoEUI3xEWkkIgU+YdqCkQLDLO9WLxvaUxMIvJ?=
 =?us-ascii?Q?BMR57KyCee4adkvJUxY6Bu8/hf8Xzou7yOYrnz6ZfmbAAQR0PWumINYAQfeB?=
 =?us-ascii?Q?mPGWpqUshfzmU5kxOh/RnNbEkRHST57RbB5qS7AnCVEp7f7RdTNm7AcPHSad?=
 =?us-ascii?Q?vTu80QH6GGtUZmSfSC7qFB5+zyybFNYz/ptp1gHancQ8DzFdyi3UwAly7jpC?=
 =?us-ascii?Q?W1Owp12vu3Aa2li7BuU+ux6h6Q489s6rmD/Wtu8fQTui6WXBUTftEfdp3hd0?=
 =?us-ascii?Q?HZ2cRBxrSM2oBq65bH16KeGYo++CRlXVOO/vTSUCvnus1yUb0IVtBxBYXMbh?=
 =?us-ascii?Q?sQqRFKrPtRUKSzCbIFD/+4zKDUJuYSgrjJ5g5y9YShCKJX9m9L3hjW0mf7d3?=
 =?us-ascii?Q?bw4yaXxzBPkXbk7+gsgXSbmQpUw02fJP7HJMO/yJa+VqW0afsPmg5OHP1PNy?=
 =?us-ascii?Q?l1OqXDHLQnmFyd7bjYh0WU39rKrHVO/YaKGh0D8Up5Il0fWrxCrZHIWbXl2B?=
 =?us-ascii?Q?f0Xgse8KEveu/H08jBNKPcL+N6PoV4fxtXbq9RQCU90tJEVlEgEfwSyperKp?=
 =?us-ascii?Q?cix0Mf5NgHLHQJ/g6HW137yckStKeDbH8BIop0Ixd+VDtYfmW0iprdx73W5l?=
 =?us-ascii?Q?+VOTanpfa8pany5rJA2d3qAl/ols6d9WnEBZqP2K7TCOC2tyIvtnIWt41aoD?=
 =?us-ascii?Q?owG0mZf8q3MjvVgHMpko9IFiZRReDO65RaQwQHk9Uklfz6T9V73Q1l1SbzLv?=
 =?us-ascii?Q?8eE7OtypW9QLahVfOoKzn6oRVI1LH7l2MEbfCqjaUubCs75dWU6qwe1CqTYv?=
 =?us-ascii?Q?4Ow4rbdMBDSrAV472u26fpsJuob1DZON5X3uf8YA384l2wSf6xtKYMD/BwEA?=
 =?us-ascii?Q?XIBLRPOQZbAcMbVwbYFF37aLlK1rk2egqwqNHPWbS3SCwsfeLn+ekDSmxUfv?=
 =?us-ascii?Q?xAESVDgadzVRkd0ryaj6lNorgYyS0EtCUBt1qZJr?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 26b7a22c-e824-47d4-d230-08db2aa729e6
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 07:29:25.6142
 (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: 9frEEaxbIhXrJ/pOZtYqKnaqHcVlrrfaOwStcBMe8rrEj4Tn2kLr3ubTylVTlwejcsB6+R+G0UVXijG4PYn4Lw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB7879

On Tue, Mar 21, 2023 at 09:03:58PM +0800, Huang Rui wrote:
> On Tue, Mar 21, 2023 at 08:27:21PM +0800, Jan Beulich wrote:
> > On 21.03.2023 12:49, Huang Rui wrote:
> > > Thanks, but we found if dom0 is PV domain, the passthrough device will
> > > access this function to write the real bar.
> > 
> > Can you please be quite a bit more detailed about this? The specific code
> > paths taken (in upstream software) to result in such would of of interest.
> > 
> 
> yes, please wait for a moment. let me capture a trace dump in my side.
> 

Sorry, we are wrong that if Xen PV dom0, bar_write() won't be called,
please ignore above information.

While xen is on initialization on PVH dom0, it will add all PCI devices in
the real bus including 0000:03:00.0 (VGA device: GPU) and 0000:03:00.1
(Audio device).

Audio is another function in the pcie device, but we won't use it here. So
we will remove it after that.

Please see below xl dmesg:

(XEN) PCI add device 0000:03:00.0
(XEN) d0v0 bar_write Ray line 391 0000:03:00.1 bar->enabled 0
(XEN) d0v0 bar_write Ray line 406 0000:03:00.1 bar->enabled 0
(XEN) d0v0 bar_write Ray line 391 0000:03:00.1 bar->enabled 0
(XEN) d0v0 bar_write Ray line 406 0000:03:00.1 bar->enabled 0
(XEN) PCI add device 0000:03:00.1
(XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
(XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
(XEN) PCI add device 0000:04:00.0

...

(XEN) PCI add device 0000:07:00.7
(XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc0010058 unimplemented
(XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc0011020 unimplemented
(XEN) PCI remove device 0000:03:00.1

We run below script to remove audio

echo -n "1" > /sys/bus/pci/devices/0000:03:00.1/remove

(XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc001029b unimplemented
(XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc001029a unimplemented

Then we will run "xl pci-assignable-add 03:00.0" to assign GPU as
passthrough. At this moment, the real bar is trying to be written.

(XEN) d0v7 bar_write Ray line 391 0000:03:00.0 bar->enabled 1
(XEN) d0v7 bar_write Ray line 406 0000:03:00.0 bar->enabled 1
(XEN) Xen WARN at drivers/vpci/header.c:408
(XEN) ----[ Xen-4.18-unstable  x86_64  debug=y  Not tainted ]----
(XEN) CPU:    8
(XEN) RIP:    e008:[<ffff82d040263cb9>] drivers/vpci/header.c#bar_write+0xc0/0x1ce
(XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor (d0v7)
(XEN) rax: ffff8303fc36d06c   rbx: ffff8303f90468b0   rcx: 0000000000000010
(XEN) rdx: 0000000000000002   rsi: ffff8303fc36a020   rdi: ffff8303fc36a018
(XEN) rbp: ffff8303fc367c18   rsp: ffff8303fc367be8   r8:  0000000000000001
(XEN) r9:  ffff8303fc36a010   r10: 0000000000000001   r11: 0000000000000001
(XEN) r12: 00000000d0700000   r13: ffff8303fc6d9230   r14: ffff8303fc6d9270
(XEN) r15: 0000000000000000   cr0: 0000000080050033   cr4: 00000000003506e0
(XEN) cr3: 00000003fc3c4000   cr2: 00007f180f6371e8
(XEN) fsb: 00007fce655edbc0   gsb: ffff88822f3c0000   gss: 0000000000000000
(XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
(XEN) Xen code around <ffff82d040263cb9> (drivers/vpci/header.c#bar_write+0xc0/0x1ce):
(XEN)  b6 53 14 f6 c2 02 74 02 <0f> 0b 48 8b 03 45 84 ff 0f 85 ec 00 00 00 48 b9
(XEN) Xen stack trace from rsp=ffff8303fc367be8:
(XEN)    00000024fc367bf8 ffff8303f9046a50 0000000000000000 0000000000000004
(XEN)    0000000000000004 0000000000000024 ffff8303fc367ca0 ffff82d040263683
(XEN)    00000300fc367ca0 d070000003003501 00000024d0700000 ffff8303fc6d9230
(XEN)    0000000000000000 0000000000000000 0000002400000004 0000000000000000
(XEN)    0000000000000000 0000000000000000 0000000000000004 00000000d0700000
(XEN)    0000000000000024 0000000000000000 ffff82d040404bc0 ffff8303fc367cd0
(XEN)    ffff82d0402c60a8 0000030000000001 ffff8303fc367d88 0000000000000000
(XEN)    ffff8303fc610800 ffff8303fc367d30 ffff82d0402c54da ffff8303fc367ce0
(XEN)    ffff8303fc367fff 0000000000000004 ffff830300000004 00000000d0700000
(XEN)    ffff8303fc610800 ffff8303fc367d88 0000000000000001 0000000000000000
(XEN)    0000000000000000 ffff8303fc367d58 ffff82d0402c5570 0000000000000004
(XEN)    ffff8304065ea000 ffff8303fc367e28 ffff8303fc367dd0 ffff82d0402b5357
(XEN)    0000000000000cfc ffff8303fc621000 0000000000000000 0000000000000000
(XEN)    0000000000000cfc 00000000d0700000 0000000400000001 0001000000000000
(XEN)    0000000000000004 0000000000000004 0000000000000000 ffff8303fc367e44
(XEN)    ffff8304065ea000 ffff8303fc367e10 ffff82d0402b56d6 0000000000000000
(XEN)    ffff8303fc367e44 0000000000000004 0000000000000cfc ffff8304065e6000
(XEN)    0000000000000000 ffff8303fc367e30 ffff82d0402b6bcc ffff8303fc367e44
(XEN)    0000000000000001 ffff8303fc367e70 ffff82d0402c5e80 d070000040203490
(XEN)    000000000000007b ffff8303fc367ef8 ffff8304065e6000 ffff8304065ea000
(XEN) Xen call trace:
(XEN)    [<ffff82d040263cb9>] R drivers/vpci/header.c#bar_write+0xc0/0x1ce
(XEN)    [<ffff82d040263683>] F vpci_write+0x123/0x26c
(XEN)    [<ffff82d0402c60a8>] F arch/x86/hvm/io.c#vpci_portio_write+0xa0/0xa7
(XEN)    [<ffff82d0402c54da>] F hvm_process_io_intercept+0x203/0x26f
(XEN)    [<ffff82d0402c5570>] F hvm_io_intercept+0x2a/0x4c
(XEN)    [<ffff82d0402b5357>] F arch/x86/hvm/emulate.c#hvmemul_do_io+0x29b/0x5eb
(XEN)    [<ffff82d0402b56d6>] F arch/x86/hvm/emulate.c#hvmemul_do_io_buffer+0x2f/0x6a
(XEN)    [<ffff82d0402b6bcc>] F hvmemul_do_pio_buffer+0x33/0x35
(XEN)    [<ffff82d0402c5e80>] F handle_pio+0x70/0x1b7
(XEN)    [<ffff82d04029dc7f>] F svm_vmexit_handler+0x10ba/0x18aa
(XEN)    [<ffff82d0402034e5>] F svm_stgi_label+0x8/0x18
(XEN)
(XEN) d0v7 bar_write Ray line 391 0000:03:00.0 bar->enabled 1
(XEN) d0v7 bar_write Ray line 406 0000:03:00.0 bar->enabled 1

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 07:29:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 07:29:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513116.793651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pesun-0002qX-Al; Wed, 22 Mar 2023 07:29:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513116.793651; Wed, 22 Mar 2023 07:29:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pesun-0002qQ-60; Wed, 22 Mar 2023 07:29:45 +0000
Received: by outflank-mailman (input) for mailman id 513116;
 Wed, 22 Mar 2023 07: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=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pesum-0002pm-29
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 07:29: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 4f7466e7-c883-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 08:29: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 86F4420ACD;
 Wed, 22 Mar 2023 07:29: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 5DF0F13416;
 Wed, 22 Mar 2023 07:29:41 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id TjV4FWWuGmS8BQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 07:29:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f7466e7-c883-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679470181; 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=JOKOOvRMYBast+P2ovuw88gKbObE7cL5tW4oNrKJdGQ=;
	b=UrF5XDI+jQfpduXz/iM0LcZ7/j04Q+Dz32XuuDhRYDJC/EKz8bi9np3tlNgbhR5PZRHQpY
	pigPPHr8R6zodXUQUtnwooglCS8o8jmeQVTsZKu+LozZditzo+zagXjLdu4FiGiEoSKrdD
	q6XyAziy6lWbXChehSwH31pOqTCOJG0=
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] tools: use libxenlight for writing xenstore-stubdom console nodes
Date: Wed, 22 Mar 2023 08:29:39 +0100
Message-Id: <20230322072939.7413-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of duplicating libxl__device_console_add() work in
init-xenstore-domain.c, just use libxenlight.

This requires to add a small wrapper function to libxenlight, as
libxl__device_console_add() is an internal function.

This at once removes a theoretical race between starting xenconsoled
and xenstore-stubdom, as the old code wasn't using a single
transaction for writing all the entries, leading to the possibility
that xenconsoled would see only some of the entries being written.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- make libxl_console_add_xenstore() async capable (Anthony Perard)
- change function parameter types (Anthony Perard)
---
 tools/helpers/init-xenstore-domain.c | 42 +++++++++-------------------
 tools/include/libxl.h                | 14 ++++++++++
 tools/libs/light/libxl_console.c     | 23 +++++++++++++++
 3 files changed, 50 insertions(+), 29 deletions(-)

diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
index 85cc9e8381..0950ba7dc5 100644
--- a/tools/helpers/init-xenstore-domain.c
+++ b/tools/helpers/init-xenstore-domain.c
@@ -11,6 +11,7 @@
 #include <xenguest.h>
 #include <xenstore.h>
 #include <xentoollog.h>
+#include <libxl.h>
 #include <xen/sys/xenbus_dev.h>
 #include <xen-xsm/flask/flask.h>
 #include <xen/io/xenbus.h>
@@ -403,15 +404,6 @@ static void do_xs_write(struct xs_handle *xsh, char *path, char *val)
         fprintf(stderr, "writing %s to xenstore failed.\n", path);
 }
 
-static void do_xs_write_dir_node(struct xs_handle *xsh, char *dir, char *node,
-                                 char *val)
-{
-    char full_path[100];
-
-    snprintf(full_path, 100, "%s/%s", dir, node);
-    do_xs_write(xsh, full_path, val);
-}
-
 static void do_xs_write_dom(struct xs_handle *xsh, char *path, char *val)
 {
     char full_path[64];
@@ -425,9 +417,10 @@ int main(int argc, char** argv)
     int opt;
     xc_interface *xch;
     struct xs_handle *xsh;
-    char buf[16], be_path[64], fe_path[64];
+    char buf[16];
     int rv, fd;
     char *maxmem_str = NULL;
+    libxl_ctx *ctx;
 
     while ( (opt = getopt_long(argc, argv, "v", options, NULL)) != -1 )
     {
@@ -528,27 +521,18 @@ int main(int argc, char** argv)
     if (maxmem)
         snprintf(buf, 16, "%d", maxmem * 1024);
     do_xs_write_dom(xsh, "memory/static-max", buf);
-    snprintf(be_path, 64, "/local/domain/0/backend/console/%d/0", domid);
-    snprintf(fe_path, 64, "/local/domain/%d/console", domid);
-    snprintf(buf, 16, "%d", domid);
-    do_xs_write_dir_node(xsh, be_path, "frontend-id", buf);
-    do_xs_write_dir_node(xsh, be_path, "frontend", fe_path);
-    do_xs_write_dir_node(xsh, be_path, "online", "1");
-    snprintf(buf, 16, "%d", XenbusStateInitialising);
-    do_xs_write_dir_node(xsh, be_path, "state", buf);
-    do_xs_write_dir_node(xsh, be_path, "protocol", "vt100");
-    do_xs_write_dir_node(xsh, fe_path, "backend", be_path);
-    do_xs_write_dir_node(xsh, fe_path, "backend-id", "0");
-    do_xs_write_dir_node(xsh, fe_path, "limit", "1048576");
-    do_xs_write_dir_node(xsh, fe_path, "type", "xenconsoled");
-    do_xs_write_dir_node(xsh, fe_path, "output", "pty");
-    do_xs_write_dir_node(xsh, fe_path, "tty", "");
-    snprintf(buf, 16, "%d", console_evtchn);
-    do_xs_write_dir_node(xsh, fe_path, "port", buf);
-    snprintf(buf, 16, "%ld", console_gfn);
-    do_xs_write_dir_node(xsh, fe_path, "ring-ref", buf);
     xs_close(xsh);
 
+    if ( libxl_ctx_alloc(&ctx, LIBXL_VERSION, 0, logger))
+    {
+        fprintf(stderr, "libxl_ctx_alloc() failed.\n");
+        rv = 3;
+        goto out;
+    }
+    libxl_console_add_xenstore(ctx, domid, 0, console_evtchn, console_gfn,
+                               NULL);
+    libxl_ctx_free(ctx);
+
     fd = creat(XEN_RUN_DIR "/xenstored.pid", 0666);
     if ( fd < 0 )
     {
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 5c65222f1e..cfa1a19131 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -547,6 +547,11 @@
  */
 #define LIBXL_HAVE_DEVICE_DISK_SPECIFICATION 1
 
+/*
+ * LIBXL_HAVE_CONSOLE_ADD_XENSTORE indicates presence of the function
+ * libxl_console_add_xenstore() in libxl.
+ */
+#define LIBXL_HAVE_CONSOLE_ADD_XENSTORE 1
 /*
  * libxl ABI compatibility
  *
@@ -1987,6 +1992,15 @@ int libxl_console_get_tty(libxl_ctx *ctx, uint32_t domid, int cons_num,
  */
 int libxl_primary_console_get_tty(libxl_ctx *ctx, uint32_t domid_vm, char **path);
 
+/* libxl_console_add_xenstore writes the Xenstore entries for a domain's
+ * primary console based on domid, event channel port and the guest frame
+ * number of the PV console's ring page.
+ */
+int libxl_console_add_xenstore(libxl_ctx *ctx, uint32_t domid, uint32_t backend,
+                               unsigned int evtch, unsigned long gfn,
+                               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_console.c b/tools/libs/light/libxl_console.c
index d8b2bc5465..f497be141b 100644
--- a/tools/libs/light/libxl_console.c
+++ b/tools/libs/light/libxl_console.c
@@ -346,6 +346,29 @@ out:
     return rc;
 }
 
+int libxl_console_add_xenstore(libxl_ctx *ctx, uint32_t domid, uint32_t backend,
+                               unsigned int evtch, unsigned long gfn,
+                               const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    int rc;
+    libxl__device_console console = { .backend_domid = backend,
+                                      .output = "pty",
+                                      .consback = LIBXL__CONSOLE_BACKEND_XENCONSOLED,
+                                    };
+    libxl__domain_build_state state = { .console_port = evtch,
+                                        .console_mfn = gfn,
+                                      };
+    libxl__device device = { };
+
+    rc = libxl__device_console_add(gc, domid, &console, &state, &device);
+    if (rc < 0)
+        LOGED(ERROR, domid, "Adding console Xenstore entries");
+
+    libxl__ao_complete(egc, ao, rc);
+    return AO_INPROGRESS;
+}
+
 int libxl__device_vuart_add(libxl__gc *gc, uint32_t domid,
                             libxl__device_console *console,
                             libxl__domain_build_state *state)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 07:32:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 07:32:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513122.793660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pesxW-0004Ws-OQ; Wed, 22 Mar 2023 07:32:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513122.793660; Wed, 22 Mar 2023 07:32:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pesxW-0004Wl-Kh; Wed, 22 Mar 2023 07:32:34 +0000
Received: by outflank-mailman (input) for mailman id 513122;
 Wed, 22 Mar 2023 07:32: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=MxM9=7O=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1pesxV-0004Wf-9i
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 07:32:33 +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 b4c93639-c883-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 08:32:32 +0100 (CET)
Received: from DB8PR09CA0019.eurprd09.prod.outlook.com (2603:10a6:10:a0::32)
 by DBAPR08MB5847.eurprd08.prod.outlook.com (2603:10a6:10:1a0::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 07:32:20 +0000
Received: from DBAEUR03FT021.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:a0:cafe::b9) by DB8PR09CA0019.outlook.office365.com
 (2603:10a6:10:a0::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Wed, 22 Mar 2023 07:32:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT021.mail.protection.outlook.com (100.127.142.184) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.17 via Frontend Transport; Wed, 22 Mar 2023 07:32:20 +0000
Received: ("Tessian outbound fcd8b5fba459:v135");
 Wed, 22 Mar 2023 07:32:19 +0000
Received: from c10ae3a453b7.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 15665632-D4AA-443C-928D-A44BE506BAEE.1; 
 Wed, 22 Mar 2023 07:32:09 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c10ae3a453b7.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 22 Mar 2023 07:32:09 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS8PR08MB6101.eurprd08.prod.outlook.com (2603:10a6:20b:29a::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 07:32:07 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 07:32: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: b4c93639-c883-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BX+PvCazbLN/TI5Yy64YzdGS0oCBehY3gXHK0MtU8wc=;
 b=5XyUKiwBQlFw6bHPRcv8vUgu/3qKiYNGdFV62XIIgI1zGrcrswnL/jwknHGo+ubPbIHZYZagkKoVE8ZhuSOBZUnUivcWqu1CVocLSGv+S9DF5xUOtX6LfTzNP9RIINChId5PAcLjdw5lnbN4B7oTUoXBSoGFWej4DZTI3NhHJ+c=
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: 5a7e61b466797a7c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IoQG2Vzr+B1XBvDzK3lKgQLY8lrrFt15hr+xlmn+KGrvlsB8KlP6ybwY33leNmB4YzeiistMA/wjiv9Kng88wSYK8mRSJd0odX1vUJ/v9ssNoBrncIXcy33o+ZPetSGpq+qlt22nKeS25mJns5Ed953T90A5rYJr5ZEhImZv5Tg9JMfr2HcqmRrhlK7iqNtJHk0+N7m+o/IYUAsGVrqgkc42/Y9lMzwbZ2+6g1MMfrm0+CBS10l9tzBJayx8uqmH2/XbuL3jlDDC/d/S8vF8dHn617DpcdNDrAt/B++e8bGLfXfuetk9M39dXxPy5LMWHhRbNQ7R0o4Pei7RSKP7dA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BX+PvCazbLN/TI5Yy64YzdGS0oCBehY3gXHK0MtU8wc=;
 b=GXnAg5/iVNYk/IYttoAkj9b32Jmbj6uMeeapsTJ31vLQRTxOGsPLMpurujDYFbaNSPIFKE64t1WGQ1YRYurKcAcoKTGckPtx7T+wNqpZM6ae/OITDszKZdhNOoZqHmf5qE2QEv2E++90rhywyH5wu7qvNT69GjoeYzPguNLGqLbnqFxahi2XyAVSqGmN//1tDb+XuGWfVTwY8vohWAMevvoXqXI09FjnObxQm2N0y+udKyaXYnSki0cWHbujTZTOyrx+ljnyJJrOSz5X+OeZ0ov1FPt0116Pjj7fx7lVIjY4HPsNO77xXdoc/JOdzLhPGGgrrSGc87C/Np22MjQjNw==
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=BX+PvCazbLN/TI5Yy64YzdGS0oCBehY3gXHK0MtU8wc=;
 b=5XyUKiwBQlFw6bHPRcv8vUgu/3qKiYNGdFV62XIIgI1zGrcrswnL/jwknHGo+ubPbIHZYZagkKoVE8ZhuSOBZUnUivcWqu1CVocLSGv+S9DF5xUOtX6LfTzNP9RIINChId5PAcLjdw5lnbN4B7oTUoXBSoGFWej4DZTI3NhHJ+c=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v3 06/10] xen/arm: enable Dom0 to use SVE feature
Thread-Topic: [PATCH v3 06/10] xen/arm: enable Dom0 to use SVE feature
Thread-Index: AQHZWNM/SE3smSw/xUO8BxhNV6gL4K8DZsqAgAMIUQA=
Date: Wed, 22 Mar 2023 07:32:06 +0000
Message-ID: <35B6524B-1AB1-4978-B887-91C4EC3D5231@arm.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
 <20230317131949.4031014-7-luca.fancellu@arm.com>
 <bfe68fee-dc22-dcf4-c4fa-d30ddc95718e@suse.com>
In-Reply-To: <bfe68fee-dc22-dcf4-c4fa-d30ddc95718e@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.3731.400.51.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_|AS8PR08MB6101:EE_|DBAEUR03FT021:EE_|DBAPR08MB5847:EE_
X-MS-Office365-Filtering-Correlation-Id: 50cad00f-fe0d-42da-5abd-08db2aa79204
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:
 Rcul+QHZSwzawBZ1889TtK2XHC81isCsoFFKnJ2HrfddRvD6vOmTWfSXCztLt4LDJ/fYAmFxqn+Q4RLq9V9N6GgqDesSlerM1taW6TNTcP6I9QMkOVHRQO7otfnFBJ1yJnkDZlqfOL9iQ1Y1ygL2Na96XP6xT+roV24Te1m6v7xceJtjSWuLULamlQ8z2M5tXugvcVruMhWQeN6vqSMOcLoMnF2suzazFwI+9Ef6h1bdSDSWz+FevbjP00OEhjyq/JujsqLHYgrfFyciYXeMqZV2/yS0VQUMdKJSYwGyOH0urbQmR6i+N9NECO9HJRBzE2rLYMB1pe7XZ6AUYym5tyaWqS4BvozhVg7xqF2gC0lleRW8L9dGt3RjbLLaxz/4JDREFlobldjiuMXqmJzGfjBesAZzMQm19+vy1H3+e/QvEVmesMVJWQx+SoX9C5gqjBhOqjXOivaJFKJ+fbSURwUYJdD2hFrQMvh0ryxg8quSRHm3GCWr2hk2VZcgwaKoh28XnpKzDl6swTrhMTQop/4L2k/yD3ko5HfvV5VPhSnnoh7Uwys4WpIKfyXjXCE5De+JwXmkiZKUqR8cCYCdChEHbQIp9+ro8A6w78pfhj55ZXZv0kng55IPDeL8S3pdnGjHQVtQK87XJAA8LMYYwszeDfVbKxHbLtw6qz9veQBqcbV0FEa4vrI7Q3sjxg0ESMm4rjLZgdlmj9JlpSeFSq6q90uzgtF89uj5rkyBt/c=
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:(13230025)(4636009)(396003)(376002)(346002)(366004)(39860400002)(136003)(451199018)(8936002)(5660300002)(41300700001)(38070700005)(33656002)(86362001)(122000001)(38100700002)(2906002)(36756003)(4326008)(6486002)(478600001)(2616005)(83380400001)(71200400001)(6506007)(26005)(6512007)(53546011)(54906003)(316002)(186003)(8676002)(66476007)(66446008)(91956017)(64756008)(66946007)(76116006)(66556008)(6916009)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <AE9815937CF8C7458D24145D93E58D82@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6101
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c4dd4a7c-e741-43a7-2941-08db2aa78a3e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dP4vjORVjDSnqdjrm3dBUxd+BkU+gHhLz55mE2GQf2w6Fg4qpjHjE1i9AaLCuE3wV9i2mjcKlK1/XRNtjdHBP2y7Zhj0y9Y30xRWuup4WIRVaIi6jmyZMpJw5tUz+t+b4f8oyxHfY2fbRuuCwJ6pjaTkzPVLKnvrcL5wUSf8Hu3KJheGXb0PZ56lfaXPlkorQFSMrcs7HW7tNh+Ak+TxG7uE6iiCn64s8fXWDiEqedurAdxn3mURcfQYR5/tI1kvgSXyvEW3c/USY4wSTTY0ILtH/pUdgcCAe3eyraIojPuN09NM/QoePutUtvzRyinJx+lmG8xPRDkWZGHm4Tuy0YFLYO9T2mLbWel8RIsKbE7KIukNszGCII4rF8pUtE45xsDpKPrjGRlcXjk15SPaDjHfCJOsuZHU0IqBqUi7Uh/oIGzxRZsMTxHVJXIv+6e4BfzLqD4EcAzNKLjQjOrylf/U69rqVEG6KNuG1M/Qjypybe7pFVU2z+yYjRA9z0SUhaYab0AUTCWqRCamXqV2QKQ2A1RbSNG536bSmlBQXXORtjElI1cMLsXni16msd2uEFkp9Ityb7UKnZwQKgvr1bSWObrIS+iKlf9ExfKuO9/oPx0veCVGyDxzXrBePksZWw6tNd9feikZQ1Foq+JdT5FaPfgdkjLfy2S23CFmEy4LsN963+cFHXl4nDX+yC+qSOfmT2IBl7iud+TR6FkZNA==
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:(13230025)(4636009)(396003)(376002)(346002)(39850400004)(136003)(451199018)(36840700001)(46966006)(40470700004)(6486002)(41300700001)(36860700001)(6862004)(5660300002)(70206006)(70586007)(8676002)(8936002)(4326008)(47076005)(40480700001)(356005)(86362001)(36756003)(82310400005)(82740400003)(33656002)(40460700003)(81166007)(336012)(26005)(6512007)(6506007)(2616005)(53546011)(186003)(2906002)(316002)(478600001)(54906003)(83380400001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 07:32:20.0721
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 50cad00f-fe0d-42da-5abd-08db2aa79204
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT021.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5847

DQoNCj4gT24gMjAgTWFyIDIwMjMsIGF0IDA5OjEzLCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMTcuMDMuMjAyMyAxNDoxOSwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+IC0tLSBhL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYw0KPj4gKysr
IGIvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jDQo+PiBAQCAtMTAwNSw2ICsxMDA1
LDE5IEBAIHJlc3RyaWN0aW9ucyBzZXQgdXAgaGVyZS4gTm90ZSB0aGF0IHRoZSB2YWx1ZXMgdG8g
YmUgc3BlY2lmaWVkIGhlcmUgYXJlDQo+PiBBQ1BJIFBYTSBvbmVzLCBub3QgWGVuIGludGVybmFs
IG5vZGUgbnVtYmVycy4gYHJlbGF4ZWRgIHNldHMgdXAgdkNQVQ0KPj4gYWZmaW5pdGllcyB0byBw
cmVmZXIgYnV0IGJlIG5vdCBsaW1pdGVkIHRvIHRoZSBzcGVjaWZpZWQgbm9kZShzKS4NCj4+IA0K
Pj4gKyMjIyBkb20wX3N2ZSAoYXJtKQ0KPj4gKz4gYD0gPGludGVnZXI+YA0KPj4gKw0KPj4gKz4g
RGVmYXVsdDogYDBgDQo+PiArDQo+PiArRW5hYmxlIGFybSBTVkUgdXNhZ2UgZm9yIERvbTAgZG9t
YWluIGFuZCBzZXRzIHRoZSBtYXhpbXVtIFNWRSB2ZWN0b3IgbGVuZ3RoLg0KPj4gK1ZhbHVlcyBh
Ym92ZSAwIG1lYW5zIGZlYXR1cmUgaXMgZW5hYmxlZCBmb3IgRG9tMCwgb3RoZXJ3aXNlIGZlYXR1
cmUgaXMgZGlzYWJsZWQuDQo+PiArUG9zc2libGUgdmFsdWVzIGFyZSBmcm9tIDAgdG8gbWF4aW11
bSAyMDQ4LCBiZWluZyBtdWx0aXBsZSBvZiAxMjgsIHRoYXQgd2lsbCBiZQ0KPj4gK3RoZSBtYXhp
bXVtIHZlY3RvciBsZW5ndGguDQo+PiArUGxlYXNlIG5vdGUgdGhhdCB0aGUgcGxhdGZvcm0gY2Fu
IHN1cHBvcnRzIGEgbG93ZXIgdmFsdWUsIGlmIHRoZSByZXF1ZXN0ZWQgdmFsdWUNCj4+ICtpcyBh
Ym92ZSB0aGUgc3VwcG9ydGVkIG9uZSwgdGhlIGRvbWFpbiBjcmVhdGlvbiB3aWxsIGZhaWwgYW5k
IHRoZSBzeXN0ZW0gd2lsbA0KPj4gK3N0b3AuDQo+PiArDQo+PiAjIyMgZG9tMF92Y3B1c19waW4N
Cj4+PiBgPSA8Ym9vbGVhbj5gDQo+IA0KPiBJJ2QgbGlrZSB0byByYWlzZSB0aGUgcXVlc3Rpb24g
b2YgcHJvbGlmZXJhdGlvbiBvZiB0b3AtbGV2ZWwgY29tbWFuZA0KPiBsaW5lIG9wdGlvbnMgY29u
dHJvbGxpbmcgRG9tMC4gSW4geDg2IHdlJ3ZlIHNwZWNpZmljYWxseSBzdGFydGVkIHRvIHVzZQ0K
PiAiZG9tMD0iIGFzIHRoZSBvbmUgdG9wLWxldmVsIG9wdGlvbiB3aGVyZSBhbG1vc3QgYWxsIG5l
dyBjb250cm9scyBzaG91bGQNCj4gYmUgYWRkZWQgYXMgc3ViLW9wdGlvbnMuDQo+IA0KPiBfSWZf
IGEgdG9wLWxldmVsIG9wdGlvbiBpcyBpbmRlZWQgcHJlZmVycmVkLCB0aGVuIHBsZWFzZSBhdm9p
ZCB0aGUgdXNlDQo+IG9mIGFuIHVuZGVyc2NvcmUgaW4gaXRzIG5hbWUsIHdoZW4gYSBkYXNoIGRv
ZXMgZmluZS4NCg0KWWVzLCBtYXliZSBzb21ldGhpbmcgbGlrZSBkb20wPXN2ZT08Vkw+LFsuLi5d
IGlzIG5pY2UgZm9yIG5ldyBwb3NzaWJsZSBpbmNvbWluZyBmZWF0dXJlcywNCldoaWxlIEkgd2Fz
IGJyb3dzaW5nIHRoZSBjb2RlLCBJIHNwb3R0ZWQgYSBwb3NzaWJsZSBidWcgaW4geDg2L2RvbTBf
YnVpbGQuYywgaW4NCnBhcnNlX2RvbTBfcGFyYW0oLi4uKSBpZiBhbiBvcHRpb24gaXMgbm90IHJl
Y29nbmlzZWQgd2Ugc2V0IHJjID0gLUVJTlZBTCwgYnV0IHdlIGRvbuKAmXQNCnN0b3AgdGhlIGxv
b3AgYW5kIHdlIGNvbnRpbnVlIHRvIHBhcnNlLg0KSXMgaXQgdGhlIGludGVuZGVkIGJlaGF2aW91
cj8NCg0KPiANCj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 07:35:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 07:35:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513126.793673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peszq-00057G-6Y; Wed, 22 Mar 2023 07:34:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513126.793673; Wed, 22 Mar 2023 07:34: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 1peszq-000579-3q; Wed, 22 Mar 2023 07:34:58 +0000
Received: by outflank-mailman (input) for mailman id 513126;
 Wed, 22 Mar 2023 07:34: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=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1peszo-000573-Rn
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 07:34:56 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ab3a617-c884-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 08:34: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 AEB4A20AD8;
 Wed, 22 Mar 2023 07:34: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 798C813416;
 Wed, 22 Mar 2023 07:34:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kWoDHJ+vGmSkDAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 07:34:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ab3a617-c884-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679470495; 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=7IUEaIWBLvz0fNCrqehVsUMPfBwf2mxSCzt4YFuTyNM=;
	b=Iz/CVyNAu8BmKFLEeI8skU0OhuAajQWAoh7kqmOU8QJPy9ANioO+dNF+BHKL4NF2sS8b3S
	SDmGLpRrA2F5pMp6M0aWGMZL6LGeqo4Rlxza/dTfVZvSiNy+9VykRgGSH9n40i3sh3DE8H
	BnC8qRorS/H79jn6pJn5Tr6sEQFXqA8=
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 0/3] tools/xl: small cleanup of parsing code
Date: Wed, 22 Mar 2023 08:34:50 +0100
Message-Id: <20230322073453.7853-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

3 small patches cleaning up the parsing code in xl a little bit.

Changes in V2:
- added patch 2
- addressed comments

Juergen Gross (3):
  tools/xl: allow split_string_into_pair() to trim values
  tools/xl: make split_string_into_pair() more usable
  tools/xl: rework p9 config parsing

 tools/xl/xl_parse.c | 127 +++++++++++++++++++++-----------------------
 tools/xl/xl_parse.h |   4 +-
 2 files changed, 64 insertions(+), 67 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 07:35:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 07:35:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513127.793682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peszw-0005O5-EA; Wed, 22 Mar 2023 07:35:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513127.793682; Wed, 22 Mar 2023 07:35:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peszw-0005Nw-B9; Wed, 22 Mar 2023 07:35:04 +0000
Received: by outflank-mailman (input) for mailman id 513127;
 Wed, 22 Mar 2023 07:35:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1peszu-000573-7W
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 07:35:02 +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 0df7312a-c884-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 08:35: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 4AF9F3382B;
 Wed, 22 Mar 2023 07:35: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 1EF4F13416;
 Wed, 22 Mar 2023 07:35:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id J7kgBqWvGmTEDAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 07:35: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: 0df7312a-c884-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679470501; 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=AqAAdYJutUgTcEYFEIRv9pmaALr54jUwXPZoDBAn7a8=;
	b=CTdafhiVTPmrVvUOTaP2NF+U9FyVdDyicV/O/GOQlLl6N/a+ehThQKDPeGdZfTFxhb0XCA
	rPlDs1bFBdAoSfgLomKOp3giYMwtvwrrJZnwXjr6QqWJNKwDDxUTIxoZkB+YUrU/sHiHW0
	OKa1tHP5Vkin19FujDOmlmTDowaUtyw=
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 1/3] tools/xl: allow split_string_into_pair() to trim values
Date: Wed, 22 Mar 2023 08:34:51 +0100
Message-Id: <20230322073453.7853-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230322073453.7853-1-jgross@suse.com>
References: <20230322073453.7853-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Most use cases of split_string_into_pair() are requiring the returned
strings to be white space trimmed.

In order to avoid the same code pattern multiple times, add a predicate
parameter to split_string_into_pair() which can be specified to call
trim() with that predicate for the string pair returned. Specifying
NULL for the predicate will avoid the call of trim().

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
Acked-by: Anthony PERARD <anthony.perard@citrix.com>
---
 tools/xl/xl_parse.c | 42 +++++++++++++++++++-----------------------
 tools/xl/xl_parse.h |  4 ++--
 2 files changed, 21 insertions(+), 25 deletions(-)

diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index e344d4fda3..0e1b6907fa 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -646,7 +646,7 @@ static void parse_vnuma_config(const XLU_Config *config,
              conf_count++) {
 
             if (xlu_cfg_value_type(conf_option) == XLU_STRING) {
-                char *buf, *option_untrimmed, *value_untrimmed;
+                char *buf;
                 char *option, *value;
                 unsigned long val;
 
@@ -654,15 +654,12 @@ static void parse_vnuma_config(const XLU_Config *config,
 
                 if (!buf) continue;
 
-                if (split_string_into_pair(buf, "=",
-                                           &option_untrimmed,
-                                           &value_untrimmed)) {
+                if (split_string_into_pair(buf, "=", &option, &value,
+                                           isspace)) {
                     fprintf(stderr, "xl: failed to split \"%s\" into pair\n",
                             buf);
                     exit(EXIT_FAILURE);
                 }
-                trim(isspace, option_untrimmed, &option);
-                trim(isspace, value_untrimmed, &value);
 
                 if (!strcmp("pnode", option)) {
                     val = parse_ulong(value);
@@ -715,8 +712,6 @@ static void parse_vnuma_config(const XLU_Config *config,
                 }
                 free(option);
                 free(value);
-                free(option_untrimmed);
-                free(value_untrimmed);
             }
         }
     }
@@ -838,7 +833,7 @@ int parse_vdispl_config(libxl_device_vdispl *vdispl, char *token)
 
             rc = split_string_into_pair(connectors[i], ":",
                                         &vdispl->connectors[i].unique_id,
-                                        &resolution);
+                                        &resolution, NULL);
 
             rc= sscanf(resolution, "%ux%u", &vdispl->connectors[i].width,
                        &vdispl->connectors[i].height);
@@ -2361,18 +2356,15 @@ void parse_config_data(const char *config_source,
             split_string_into_string_list(buf, ",", &pairs);
             len = libxl_string_list_length(&pairs);
             for (i = 0; i < len; i++) {
-                char *key, *key_untrimmed, *value, *value_untrimmed;
+                char *key, *value;
                 int rc;
-                rc = split_string_into_pair(pairs[i], "=",
-                                            &key_untrimmed,
-                                            &value_untrimmed);
+                rc = split_string_into_pair(pairs[i], "=", &key, &value,
+                                            isspace);
                 if (rc != 0) {
                     fprintf(stderr, "failed to parse channel configuration: %s",
                             pairs[i]);
                     exit(1);
                 }
-                trim(isspace, key_untrimmed, &key);
-                trim(isspace, value_untrimmed, &value);
 
                 if (!strcmp(key, "backend")) {
                     replace_string(&chn->backend_domname, value);
@@ -2395,9 +2387,7 @@ void parse_config_data(const char *config_source,
                                   " ignoring\n", key);
                 }
                 free(key);
-                free(key_untrimmed);
                 free(value);
-                free(value_untrimmed);
             }
             switch (chn->connection) {
             case LIBXL_CHANNEL_CONNECTION_UNKNOWN:
@@ -3021,10 +3011,8 @@ void trim(char_predicate_t predicate, const char *input, char **output)
     *output = result;
 }
 
-int split_string_into_pair(const char *str,
-                           const char *delim,
-                           char **a,
-                           char **b)
+int split_string_into_pair(const char *str, const char *delim,
+                           char **a, char **b, char_predicate_t predicate)
 {
     char *s, *p, *saveptr, *aa = NULL, *bb = NULL;
     int rc = 0;
@@ -3036,13 +3024,21 @@ int split_string_into_pair(const char *str,
         rc = ERROR_INVAL;
         goto out;
     }
-    aa = xstrdup(p);
+    if (predicate) {
+        trim(predicate, p, &aa);
+    } else {
+        aa = xstrdup(p);
+    }
     p = strtok_r(NULL, delim, &saveptr);
     if (p == NULL) {
         rc = ERROR_INVAL;
         goto out;
     }
-    bb = xstrdup(p);
+    if (predicate) {
+        trim(predicate, p, &bb);
+    } else {
+        bb = xstrdup(p);
+    }
 
     *a = aa;
     aa = NULL;
diff --git a/tools/xl/xl_parse.h b/tools/xl/xl_parse.h
index bab2861f8c..ab35c68545 100644
--- a/tools/xl/xl_parse.h
+++ b/tools/xl/xl_parse.h
@@ -45,14 +45,14 @@ int match_option_size(const char *prefix, size_t len,
 
 void split_string_into_string_list(const char *str, const char *delim,
                                    libxl_string_list *psl);
-int split_string_into_pair(const char *str, const char *delim,
-                           char **a, char **b);
 void replace_string(char **str, const char *val);
 
 /* NB: this follows the interface used by <ctype.h>. See 'man 3 ctype'
    and look for CTYPE in libxl_internal.h */
 typedef int (*char_predicate_t)(const int c);
 void trim(char_predicate_t predicate, const char *input, char **output);
+int split_string_into_pair(const char *str, const char *delim,
+                           char **a, char **b, char_predicate_t predicate);
 
 const char *get_action_on_shutdown_name(libxl_action_on_shutdown a);
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 07:35:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 07:35:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513128.793693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pet01-0005hp-RB; Wed, 22 Mar 2023 07:35:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513128.793693; Wed, 22 Mar 2023 07:35: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 1pet01-0005hi-O0; Wed, 22 Mar 2023 07:35:09 +0000
Received: by outflank-mailman (input) for mailman id 513128;
 Wed, 22 Mar 2023 07: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=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pet01-0005gx-3U
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 07:35:09 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 114a09b7-c884-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 08:35: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 DCB153382B;
 Wed, 22 Mar 2023 07: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 B203213416;
 Wed, 22 Mar 2023 07:35:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id GfwsKqqvGmTjDAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 07:35: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: 114a09b7-c884-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679470506; 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=PjEAqwHz5FepjmHP5AZRztMb7s0s81/7SZNZzGRzni4=;
	b=kMnWicPXpJAwWrrs9WAMz4UHTp3PAb4d7RziXIiG4P26B7NNtfYQsxzWuR67XpgxUPHgTY
	ftqaxULJLGd1CBtetv4Lp4jHJn+kxLV41WbopvhUE/1hy3/cWZ0o4Ji2B4krDmFC78lNDL
	e8tIVhtXbopql16JAsw6JdkGwG7cqX4=
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 2/3] tools/xl: make split_string_into_pair() more usable
Date: Wed, 22 Mar 2023 08:34:52 +0100
Message-Id: <20230322073453.7853-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230322073453.7853-1-jgross@suse.com>
References: <20230322073453.7853-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today split_string_into_pair() will not really do what its name is
suggesting: instead of splitting a string into a pair of strings using
a delimiter, it will return the first two strings of the initial string
by using the delimiter.

This is never what the callers want, so modify split_string_into_pair()
to split the string only at the first delimiter found, resulting in
something like "x=a=b" to be split into "x" and "a=b" when being called
with "=" as the delimiter. Today the returned strings would be "x" and
"a".

At the same time switch the delimiter from "const char *" (allowing
multiple delimiter characters) to "char" (a single character only), as
this makes the function more simple without breaking any use cases.

Suggested-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 tools/xl/xl_parse.c | 23 ++++++++++++-----------
 tools/xl/xl_parse.h |  4 ++--
 2 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 0e1b6907fa..09cabd2732 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -654,7 +654,7 @@ static void parse_vnuma_config(const XLU_Config *config,
 
                 if (!buf) continue;
 
-                if (split_string_into_pair(buf, "=", &option, &value,
+                if (split_string_into_pair(buf, '=', &option, &value,
                                            isspace)) {
                     fprintf(stderr, "xl: failed to split \"%s\" into pair\n",
                             buf);
@@ -831,7 +831,7 @@ int parse_vdispl_config(libxl_device_vdispl *vdispl, char *token)
         {
             char *resolution;
 
-            rc = split_string_into_pair(connectors[i], ":",
+            rc = split_string_into_pair(connectors[i], ':',
                                         &vdispl->connectors[i].unique_id,
                                         &resolution, NULL);
 
@@ -2358,7 +2358,7 @@ void parse_config_data(const char *config_source,
             for (i = 0; i < len; i++) {
                 char *key, *value;
                 int rc;
-                rc = split_string_into_pair(pairs[i], "=", &key, &value,
+                rc = split_string_into_pair(pairs[i], '=', &key, &value,
                                             isspace);
                 if (rc != 0) {
                     fprintf(stderr, "failed to parse channel configuration: %s",
@@ -3011,26 +3011,27 @@ void trim(char_predicate_t predicate, const char *input, char **output)
     *output = result;
 }
 
-int split_string_into_pair(const char *str, const char *delim,
-                           char **a, char **b, char_predicate_t predicate)
+int split_string_into_pair(const char *str, char delim, char **a, char **b,
+                           char_predicate_t predicate)
 {
-    char *s, *p, *saveptr, *aa = NULL, *bb = NULL;
+    char *s, *p, *aa = NULL, *bb = NULL;
     int rc = 0;
 
     s = xstrdup(str);
 
-    p = strtok_r(s, delim, &saveptr);
+    p = strchr(s, delim);
     if (p == NULL) {
         rc = ERROR_INVAL;
         goto out;
     }
+    *p = 0;
     if (predicate) {
-        trim(predicate, p, &aa);
+        trim(predicate, s, &aa);
     } else {
-        aa = xstrdup(p);
+        aa = xstrdup(s);
     }
-    p = strtok_r(NULL, delim, &saveptr);
-    if (p == NULL) {
+    p++;
+    if (!*p) {
         rc = ERROR_INVAL;
         goto out;
     }
diff --git a/tools/xl/xl_parse.h b/tools/xl/xl_parse.h
index ab35c68545..fe0d586cdd 100644
--- a/tools/xl/xl_parse.h
+++ b/tools/xl/xl_parse.h
@@ -51,8 +51,8 @@ void replace_string(char **str, const char *val);
    and look for CTYPE in libxl_internal.h */
 typedef int (*char_predicate_t)(const int c);
 void trim(char_predicate_t predicate, const char *input, char **output);
-int split_string_into_pair(const char *str, const char *delim,
-                           char **a, char **b, char_predicate_t predicate);
+int split_string_into_pair(const char *str, char delim, char **a, char **b,
+                           char_predicate_t predicate);
 
 const char *get_action_on_shutdown_name(libxl_action_on_shutdown a);
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 07:35:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 07:35:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513130.793703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pet08-0006ER-4P; Wed, 22 Mar 2023 07:35:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513130.793703; Wed, 22 Mar 2023 07: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 1pet08-0006EG-0r; Wed, 22 Mar 2023 07:35:16 +0000
Received: by outflank-mailman (input) for mailman id 513130;
 Wed, 22 Mar 2023 07:35: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=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pet06-0005gx-8w
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 07:35:14 +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 149c1540-c884-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 08:35:12 +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 74BAF20AD9;
 Wed, 22 Mar 2023 07:35: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 49C1D13416;
 Wed, 22 Mar 2023 07:35:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 38WeELCvGmQADQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 07:35: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: 149c1540-c884-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679470512; 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=YtiGh+qpU8bhgvUDsffds7Kvt+PAjE83auDMMPS8CWk=;
	b=P5Qud/Y725woH3pW9dgAoEv14k/3mIDTXLzYKPLAUoUM51zWeOKRWCYLP1bWB1qNjwMHSW
	syd5fSWzdofh6iDNgstloR1u6sU6hwHdMk/j7P9sZpE1xC5/NM5aweDg9bfBS/K4YFymtj
	q+/WeYrgaf3I7EmNq0eGhpU24UNM630=
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 3/3] tools/xl: rework p9 config parsing
Date: Wed, 22 Mar 2023 08:34:53 +0100
Message-Id: <20230322073453.7853-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230322073453.7853-1-jgross@suse.com>
References: <20230322073453.7853-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rework the config parsing of a p9 device to use the
split_string_into_pair() function instead of open coding it.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- add libxl_string_list_dispose() call (Jason Andryuk)
---
 tools/xl/xl_parse.c | 74 ++++++++++++++++++++++-----------------------
 1 file changed, 37 insertions(+), 37 deletions(-)

diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 09cabd2732..1f6f47daf4 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -2180,54 +2180,54 @@ void parse_config_data(const char *config_source,
 
     if (!xlu_cfg_get_list(config, "p9", &p9devs, 0, 0)) {
         libxl_device_p9 *p9;
-        char *security_model = NULL;
-        char *path = NULL;
-        char *tag = NULL;
-        char *backend = NULL;
-        char *p, *p2, *buf2;
 
         d_config->num_p9s = 0;
         d_config->p9s = NULL;
         while ((buf = xlu_cfg_get_listitem (p9devs, d_config->num_p9s)) != NULL) {
+            libxl_string_list pairs;
+            int len;
+
             p9 = ARRAY_EXTEND_INIT(d_config->p9s,
                                    d_config->num_p9s,
                                    libxl_device_p9_init);
             libxl_device_p9_init(p9);
 
-            buf2 = strdup(buf);
-            p = strtok(buf2, ",");
-            if(p) {
-               do {
-                  while(*p == ' ')
-                     ++p;
-                  if ((p2 = strchr(p, '=')) == NULL)
-                     break;
-                  *p2 = '\0';
-                  if (!strcmp(p, "security_model")) {
-                     security_model = strdup(p2 + 1);
-                  } else if(!strcmp(p, "path")) {
-                     path = strdup(p2 + 1);
-                  } else if(!strcmp(p, "tag")) {
-                     tag = strdup(p2 + 1);
-                  } else if(!strcmp(p, "backend")) {
-                     backend = strdup(p2 + 1);
-                  } else {
-                     fprintf(stderr, "Unknown string `%s' in 9pfs spec\n", p);
-                     exit(1);
-                  }
-               } while ((p = strtok(NULL, ",")) != NULL);
-            }
-            if (!path || !security_model || !tag) {
-               fprintf(stderr, "9pfs spec missing required field!\n");
-               exit(1);
+            split_string_into_string_list(buf, ",", &pairs);
+            len = libxl_string_list_length(&pairs);
+            for (i = 0; i < len; i++) {
+                char *key, *value;
+                int rc;
+
+                rc = split_string_into_pair(pairs[i], '=', &key, &value,
+                                            isspace);
+                if (rc != 0) {
+                    fprintf(stderr, "failed to parse 9pfs configuration: %s",
+                            pairs[i]);
+                    exit(1);
+                }
+
+                if (!strcmp(key, "security_model")) {
+                    replace_string(&p9->security_model, value);
+                } else if (!strcmp(key, "path")) {
+                    replace_string(&p9->path, value);
+                } else if (!strcmp(key, "tag")) {
+                    replace_string(&p9->tag, value);
+                } else if (!strcmp(key, "backend")) {
+                    replace_string(&p9->backend_domname, value);
+                } else {
+                    fprintf(stderr, "Unknown 9pfs parameter '%s'\n", key);
+                    exit(1);
+                }
+                free(key);
+                free(value);
             }
-            free(buf2);
 
-            replace_string(&p9->tag, tag);
-            replace_string(&p9->security_model, security_model);
-            replace_string(&p9->path, path);
-            if (backend)
-                    replace_string(&p9->backend_domname, backend);
+            libxl_string_list_dispose(&pairs);
+
+            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 Mar 22 07:45:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 07:45:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513141.793713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1petAH-00007s-2d; Wed, 22 Mar 2023 07:45:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513141.793713; Wed, 22 Mar 2023 07: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 1petAG-00007l-W5; Wed, 22 Mar 2023 07:45:44 +0000
Received: by outflank-mailman (input) for mailman id 513141;
 Wed, 22 Mar 2023 07: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1petAF-00007f-Jx
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 07:45:43 +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 8b057da9-c885-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 08:45:41 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6854.eurprd04.prod.outlook.com (2603:10a6:20b:10c::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 07:45:39 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 07:45: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: 8b057da9-c885-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GmHuOsVvi2JhrbGkV4CdHnhhXAl4y1LVpZjRcwtcWra68+BNV+QT6sFQJnwgVnD5cmDkbpk8eiOOI1Tr/yg6QHBHDra95llc4tNDiX0LYJoBsYOBILnexN5z+W7sRbO8TYAPvxYwmDF0p7r7u6VtoaSJexmX4gCAWaudvmsconjYYs+R4hz0ARid+T/Brd+O31dvhGfxTCbO0ja7m/iadnqOeL2T5hYQ6kuQAqt7kHcvWuuevq2t+vnIEmd6Ck87jCx/+GBlAYCK2g6a5fcweHvz0kb4wrLSDSgDP3QPY86MMA9mKvDEhJhtF+IVPj8pKLCU/IMWXNsjnaJXd9nrVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WmAoFQtrOSWqKVqGT0oPhflUTQhAY3VxACereX8y3AI=;
 b=oU1iF8wPGhn+WTYbSfOjWaVJdlDNW75/xJHRKNL3Bva6yNrWoSEVbO86M3eG3dIoWlaYLUnOvGc1RZY/yTVbX8xah9olwrZ4CAzvhvQdV0CYaGgVOJ6n5EJVKtrCtycoL01yRIpHH4woQlJ7h8f5P7sPswC+1MjywHMZ6JESc51SHDSQgN9HvBwbH9O29SyYlmuCmYi71HBV3ktRQDh2Xa2U+IY5Z7CQguFNEEcAUE4wH2whweikBcjbpsRTiOHHvId3/iEbDnc+dz3MeIs28X4QUjGwNrt0gPcrZdw2BV3soxkjo8Jninm+8707MVhev9O4P2QGO/TfBudpVOvfqA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WmAoFQtrOSWqKVqGT0oPhflUTQhAY3VxACereX8y3AI=;
 b=ktrTkf95ZLYfoRJZ6gumDyzff2Ywj66x16gEqPAi0gjv4x7hdg63hPIvby2icStk9YwLrfymZnvz1hQ8YbhrroBUAL45Kr+gMX7NNxhAEk7RBd10ksj+ip6v6rGzdK3N78rDblGq7juVZRllvtwOm8Vf/HPSghHf2WKCBIm2t9tHSGv4wykD1o/gQvLZ+sElbEsCNjNUyXlxT63MEpwRATkd+8E7+yXzWhf82cWd5YksnR4QdJMA1hqbcZN/+NM6P1icJli8EnpdG4CCkqoTOWwDXJJgxawsdR0NRRoLMbdyaOb5MvwqTudD1sZSgImI0UBUmBGUHXRwCT7xkiWf/A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7543a154-4ac6-ceec-dad5-69f275025c21@suse.com>
Date: Wed, 22 Mar 2023 08:45:37 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
 "Koenig, Christian" <Christian.Koenig@amd.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 "Huang, Honglei1" <Honglei1.Huang@amd.com>,
 "Zhang, Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=ef=bf=bd?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230312075455.450187-1-ray.huang@amd.com>
 <20230312075455.450187-3-ray.huang@amd.com>
 <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com> <ZBl6iU6T1CsWqVx9@amd.com>
 <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com> <ZBmDl8XjIos57EIy@amd.com>
 <cae4e673-65d8-273b-66b8-08d374797da2@suse.com> <ZBmZxnyZWrni57Ry@amd.com>
 <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com> <ZBmrI3wrrwsK5Q+0@amd.com>
 <ZBquOn8x7IyI33Pj@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBquOn8x7IyI33Pj@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0051.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB6854:EE_
X-MS-Office365-Filtering-Correlation-Id: ab0a4538-d535-43a2-d5d4-08db2aa96e29
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3IycOV+TlLEUxEU9LfI4MzoX+KZAugJ9jEMrSJwnZAf3ZOCFoLGQGpZQXqrgLVqVFmoQzhBWxXbLZXt/8arCCA6Ktdz3U0mckjDV2O19uQ0UGwScSjOYU1PVr94VJ3BMjFxc3wiEPb+twTVXye5NWy6ynh/jZO/tV9oJJX3Rh1h8t1jsM77onwNZMNpV/dgf8xAMDMnkmMi0hKB3WanRmdSwcmwWy4FNaq/tYcjizhVpZ6n8Qd7UnckUXfvbItLw2ywaEeypiM334b0/1k9TMCtYoM4d6yEllvG52iW6XeAsJJ5CU7AG2NM52Dl7q9Dgje+6FT3QdcCporiXYmAKa/Zdk+gggBWQelAC7bGDfYxJ2/M3zHNU6vVWmn0FAcvh+dEBVscZ+Qhvj/bBdiDan3xXC7aoU58Z3UmSUU6MY4UWN2FgUtNbVrNhg47+PpHltbv3K4v5JSNV0g0CR/MrYpt85BBzFRxlWvnaFmP3SntKHseqLp4Lc6XpEh31Rbd/RWa4PAYTvf98lk7hyCH5/sicDQiaJaLPzBlRcLKofcVNN1fGcdSfV3LW8W3LPROAY/bjtjLfOpKONJNKNpggfzj5q8Jl31xqHsKflm1xUvAPST4PXqWfUBeI1HuzSyhop9PgwaBUQLjojeN/yApiSh67ihBfAq+EWIJn3o7/HziNPA7sZKDO+EOmItel4kv5R6PcnVfLMjKzQU52ug2MM+wcPHFrIjNxb1mVpYxKJJQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(39850400004)(366004)(376002)(396003)(346002)(451199018)(2616005)(6506007)(6486002)(4326008)(186003)(478600001)(83380400001)(316002)(54906003)(6916009)(66476007)(66556008)(66946007)(8676002)(31686004)(6512007)(26005)(53546011)(8936002)(5660300002)(7416002)(41300700001)(38100700002)(36756003)(2906002)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZUliNjFUdWtOT0MrZWpQc3NZN09QZWxkMFY0UzVpVE52QUEzSWcwQ214Z2J5?=
 =?utf-8?B?MHh2ZWp6RzVsQmZJV3hJYmNOd09VbUVabGJOS3dYakdWT1NWdGk0VndKMWpw?=
 =?utf-8?B?SHNZQ0RYRmgveC81TkZQNmZXOTVyNnJtWHVoZDhibk5SUCs4d1FDZDBsODBn?=
 =?utf-8?B?c1lDaFpmYWVjbWxTTU5raS9sdG0xK29pYm1CTEQ1bVdxUW1PR1k2ZGhVYXUw?=
 =?utf-8?B?ZHd2VzlFWjdPS3BVUWlIbGgyTmxnbDRiS1JERDkvUWJUY3NTZjdlV295OWxz?=
 =?utf-8?B?OUtVTGpOb1h2VlFDUmxEMjgveGRZOEErcU5oMkp0blNiSDJtNFU2M2ZVQ1hj?=
 =?utf-8?B?b0Y3UGk0QmRLdDBPWjNVcVgvQUl3Y3ozTStFenE5R0lhbmljdVRaTTN4bFND?=
 =?utf-8?B?Vnp4R3R0cktURTF5WjFHUVN2VlgrVVhIdnIrcGIyM2pjOGh2WWJZSjF1VGhl?=
 =?utf-8?B?M1ArdXYyb3Mvd0RpMVNLSmJWSTdRR3k3ajY2RUNvOGF3SEVRT2JXUVFEWlla?=
 =?utf-8?B?KzNkT0puZE50eTdocW8reVErSzZSR0RqckVZd1p2ODJ4d1hXR0JQN1FBRHR3?=
 =?utf-8?B?Y25qNENTd0xrMWJ4WDdnSUMrL2gybDlXT29kR05Xdml4cXhrWlN1a0xkbUU5?=
 =?utf-8?B?VjBLY0VqenU3cWRmUnlXZUI0M1NCa1hhblowMUkxOXRaVHhhREdhdGxpVjJi?=
 =?utf-8?B?RnZzR2Y0VXQ3dVlFTjFKUUFlU25DaUtCczBBL0RJNGVUOWFLdUkwbk4wL3B1?=
 =?utf-8?B?MVplajlSd0dMajd4VXRCZlYvNXdLaUxmZTYzSDhPSkpzUjFuQjhkY0tyYTls?=
 =?utf-8?B?WCt6djJTbW1PZUFYdXUxSjJTSWs0NThQNTVhTlRQamJ1cm5VcGUydzl3OUY1?=
 =?utf-8?B?akExNUpnTkROTmR0RTV4am5BVGNza3k3cTFWSGFaVXhFOHZ4TnpXVVAwMDQ3?=
 =?utf-8?B?WWZaeGhkUWZpUWZUQVdBVmtneU1SWkU1RktDUFFXWnB5NTU4dmpWRW5Ua3VK?=
 =?utf-8?B?ZG1Gcm1PWXBVZlBDelZlZzIrclFBSkZLSmZvL3YxMGx1a3FiY2M0TVMzWVln?=
 =?utf-8?B?ZEdDeEdZclNWWXNCRDZITXR5UWRZdFh5NFVvd0RVOTA1TXQrOURuWDBteWlL?=
 =?utf-8?B?cGhNWThFRXg5UjdjRFJmNlcySVhZSFVPRzdxVWJDLzlEeXYyL2x4OEtOK2dr?=
 =?utf-8?B?K3QybmhNTW8zcENsM0VLa3JESXowcWZFR0R0ZE02c1R3NFQ0MERPTFZVMnR3?=
 =?utf-8?B?dkhuaFZrNGtpQlQ3QzZZVUM5N3Y4WG81NytkeEtrUnh0dnREQ2VFOUxxMC9M?=
 =?utf-8?B?dUFlMHgvSnBWMGxRVitOSmo5TEl0cFZQb0t3N2hLZE9JeWUyellEemxQRGxa?=
 =?utf-8?B?VEhKTG9OL0tFVDl3Y3ByZFRoUzU4eUREanU5UnkzaEtnaUFsMHh4clNLQURR?=
 =?utf-8?B?STgwU0ZNdDBKN0ZrS1hyRU5GR2tPelpwbEROdUoxWFlTdXpvKy9XSEt5a0gv?=
 =?utf-8?B?bzVmTTVrUW9FdkxIamFBcjZnL0dOVlVBUHJ4azF2Z2l2M0gzSnBCbG13aUNL?=
 =?utf-8?B?TFIxSmRhY2VzbWNCRzNpN3J6RVc4Umljb2pwK080bkVpbzE5dXM5Nk5Wdm1x?=
 =?utf-8?B?K1dXbVJQS1Vrb01ackdYQldGSHpNcUQzdEJCZUExL2w4K3c2bjJGaXZGVnRE?=
 =?utf-8?B?UHF4TTdmOEEzRTUwMmJPOHJhNkVyaExSU1ZVc0tGa1JpL0pFamdpcDFueUFK?=
 =?utf-8?B?N1daQ2g2ZmQrRFJadW1abkx0SEthUDFtRUgzOFBmTWhhZ0ZOMG9LSTdpb3Ey?=
 =?utf-8?B?YnZHMTRnM0dnaEhJYWZxTnVCUThHaXQzQjJDZThDcjdSM2FuMlFQODFWb2RD?=
 =?utf-8?B?ZFBLeVhIM290OXpyQVVRd01OVjNRbWhxWEQ5WHFDa01tcTQrdE5lSXoxWGh1?=
 =?utf-8?B?RUtZemduVVFacGdoOXdmSGV2S2Mzako3VVJ4MUlVM250aUZkWjBUaVJRSW9K?=
 =?utf-8?B?c0lVOVlsa0VuUjNvdFFlQjdiMzUyK01MT3dQcWM1a3NjcVF4UHhTdXRZcFVt?=
 =?utf-8?B?em9IdUxWNDFsODRJd293NkNlNy85RXE0QlF1dFJKb05scGZiM2xGeGI5T3JH?=
 =?utf-8?Q?ESyDkCXkVxRoYWOjt+5ZxNnmD?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ab0a4538-d535-43a2-d5d4-08db2aa96e29
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 07:45:39.0694
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CtYHZCfsQV7cpDAK36+umOU6qxznPrINFPyO2Rv3NNMboOCRw4Ai4+bQM2IR8Q2eHDAgUyveY0j/zKRuWU9R4g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6854

On 22.03.2023 08:28, Huang Rui wrote:
> On Tue, Mar 21, 2023 at 09:03:58PM +0800, Huang Rui wrote:
>> On Tue, Mar 21, 2023 at 08:27:21PM +0800, Jan Beulich wrote:
>>> On 21.03.2023 12:49, Huang Rui wrote:
>>>> Thanks, but we found if dom0 is PV domain, the passthrough device will
>>>> access this function to write the real bar.
>>>
>>> Can you please be quite a bit more detailed about this? The specific code
>>> paths taken (in upstream software) to result in such would of of interest.
>>>
>>
>> yes, please wait for a moment. let me capture a trace dump in my side.
>>
> 
> Sorry, we are wrong that if Xen PV dom0, bar_write() won't be called,
> please ignore above information.
> 
> While xen is on initialization on PVH dom0, it will add all PCI devices in
> the real bus including 0000:03:00.0 (VGA device: GPU) and 0000:03:00.1
> (Audio device).
> 
> Audio is another function in the pcie device, but we won't use it here. So
> we will remove it after that.
> 
> Please see below xl dmesg:
> 
> (XEN) PCI add device 0000:03:00.0
> (XEN) d0v0 bar_write Ray line 391 0000:03:00.1 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:03:00.1 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:03:00.1 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:03:00.1 bar->enabled 0
> (XEN) PCI add device 0000:03:00.1
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) PCI add device 0000:04:00.0
> 
> ...
> 
> (XEN) PCI add device 0000:07:00.7
> (XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc0010058 unimplemented
> (XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc0011020 unimplemented
> (XEN) PCI remove device 0000:03:00.1
> 
> We run below script to remove audio
> 
> echo -n "1" > /sys/bus/pci/devices/0000:03:00.1/remove

Why would you do that? Aiui this is a preparatory step to hot-unplug
the device, which surely you don't mean to do. (But this is largely
unrelated to the issue at hand; I'm merely curious.)

> (XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc001029b unimplemented
> (XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc001029a unimplemented
> 
> Then we will run "xl pci-assignable-add 03:00.0" to assign GPU as
> passthrough. At this moment, the real bar is trying to be written.

How do you conclude it's the "real" BAR? And where is this attempt
coming from? We refuse BAR updates for enabled BARs for a reason,
so possibly there's code elsewhere which needs adjusting.

> (XEN) d0v7 bar_write Ray line 391 0000:03:00.0 bar->enabled 1
> (XEN) d0v7 bar_write Ray line 406 0000:03:00.0 bar->enabled 1
> (XEN) Xen WARN at drivers/vpci/header.c:408

None of these exist in upstream code. Therefore, for the output you
supply to be meaningful, we also need to know what code changes you
made (which then tells us by how much line numbers have shifted, and
what e.g. the WARN_ON() condition is - it clearly isn't tied to
bar->enabled being true alone, or else there would have been a 2nd
instance at the bottom, unless of course you've stripped that).

Jan

> (XEN) ----[ Xen-4.18-unstable  x86_64  debug=y  Not tainted ]----
> (XEN) CPU:    8
> (XEN) RIP:    e008:[<ffff82d040263cb9>] drivers/vpci/header.c#bar_write+0xc0/0x1ce
> (XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor (d0v7)
> (XEN) rax: ffff8303fc36d06c   rbx: ffff8303f90468b0   rcx: 0000000000000010
> (XEN) rdx: 0000000000000002   rsi: ffff8303fc36a020   rdi: ffff8303fc36a018
> (XEN) rbp: ffff8303fc367c18   rsp: ffff8303fc367be8   r8:  0000000000000001
> (XEN) r9:  ffff8303fc36a010   r10: 0000000000000001   r11: 0000000000000001
> (XEN) r12: 00000000d0700000   r13: ffff8303fc6d9230   r14: ffff8303fc6d9270
> (XEN) r15: 0000000000000000   cr0: 0000000080050033   cr4: 00000000003506e0
> (XEN) cr3: 00000003fc3c4000   cr2: 00007f180f6371e8
> (XEN) fsb: 00007fce655edbc0   gsb: ffff88822f3c0000   gss: 0000000000000000
> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
> (XEN) Xen code around <ffff82d040263cb9> (drivers/vpci/header.c#bar_write+0xc0/0x1ce):
> (XEN)  b6 53 14 f6 c2 02 74 02 <0f> 0b 48 8b 03 45 84 ff 0f 85 ec 00 00 00 48 b9
> (XEN) Xen stack trace from rsp=ffff8303fc367be8:
> (XEN)    00000024fc367bf8 ffff8303f9046a50 0000000000000000 0000000000000004
> (XEN)    0000000000000004 0000000000000024 ffff8303fc367ca0 ffff82d040263683
> (XEN)    00000300fc367ca0 d070000003003501 00000024d0700000 ffff8303fc6d9230
> (XEN)    0000000000000000 0000000000000000 0000002400000004 0000000000000000
> (XEN)    0000000000000000 0000000000000000 0000000000000004 00000000d0700000
> (XEN)    0000000000000024 0000000000000000 ffff82d040404bc0 ffff8303fc367cd0
> (XEN)    ffff82d0402c60a8 0000030000000001 ffff8303fc367d88 0000000000000000
> (XEN)    ffff8303fc610800 ffff8303fc367d30 ffff82d0402c54da ffff8303fc367ce0
> (XEN)    ffff8303fc367fff 0000000000000004 ffff830300000004 00000000d0700000
> (XEN)    ffff8303fc610800 ffff8303fc367d88 0000000000000001 0000000000000000
> (XEN)    0000000000000000 ffff8303fc367d58 ffff82d0402c5570 0000000000000004
> (XEN)    ffff8304065ea000 ffff8303fc367e28 ffff8303fc367dd0 ffff82d0402b5357
> (XEN)    0000000000000cfc ffff8303fc621000 0000000000000000 0000000000000000
> (XEN)    0000000000000cfc 00000000d0700000 0000000400000001 0001000000000000
> (XEN)    0000000000000004 0000000000000004 0000000000000000 ffff8303fc367e44
> (XEN)    ffff8304065ea000 ffff8303fc367e10 ffff82d0402b56d6 0000000000000000
> (XEN)    ffff8303fc367e44 0000000000000004 0000000000000cfc ffff8304065e6000
> (XEN)    0000000000000000 ffff8303fc367e30 ffff82d0402b6bcc ffff8303fc367e44
> (XEN)    0000000000000001 ffff8303fc367e70 ffff82d0402c5e80 d070000040203490
> (XEN)    000000000000007b ffff8303fc367ef8 ffff8304065e6000 ffff8304065ea000
> (XEN) Xen call trace:
> (XEN)    [<ffff82d040263cb9>] R drivers/vpci/header.c#bar_write+0xc0/0x1ce
> (XEN)    [<ffff82d040263683>] F vpci_write+0x123/0x26c
> (XEN)    [<ffff82d0402c60a8>] F arch/x86/hvm/io.c#vpci_portio_write+0xa0/0xa7
> (XEN)    [<ffff82d0402c54da>] F hvm_process_io_intercept+0x203/0x26f
> (XEN)    [<ffff82d0402c5570>] F hvm_io_intercept+0x2a/0x4c
> (XEN)    [<ffff82d0402b5357>] F arch/x86/hvm/emulate.c#hvmemul_do_io+0x29b/0x5eb
> (XEN)    [<ffff82d0402b56d6>] F arch/x86/hvm/emulate.c#hvmemul_do_io_buffer+0x2f/0x6a
> (XEN)    [<ffff82d0402b6bcc>] F hvmemul_do_pio_buffer+0x33/0x35
> (XEN)    [<ffff82d0402c5e80>] F handle_pio+0x70/0x1b7
> (XEN)    [<ffff82d04029dc7f>] F svm_vmexit_handler+0x10ba/0x18aa
> (XEN)    [<ffff82d0402034e5>] F svm_stgi_label+0x8/0x18
> (XEN)
> (XEN) d0v7 bar_write Ray line 391 0000:03:00.0 bar->enabled 1
> (XEN) d0v7 bar_write Ray line 406 0000:03:00.0 bar->enabled 1
> 
> Thanks,
> Ray



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 07:51:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 07:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513146.793722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1petFm-0001oU-ST; Wed, 22 Mar 2023 07:51:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513146.793722; Wed, 22 Mar 2023 07:51:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1petFm-0001oN-Pn; Wed, 22 Mar 2023 07:51:26 +0000
Received: by outflank-mailman (input) for mailman id 513146;
 Wed, 22 Mar 2023 07: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1petFl-0001oH-Uh
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 07:51:26 +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 583384bf-c886-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 08:51:25 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB7000.eurprd04.prod.outlook.com (2603:10a6:20b:104::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 07:51:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 07:51: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: 583384bf-c886-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iUNsSwPnDUXaBBa4+9Kbrf8Cky3ojxSBhnH/Ad7U7110N5I11jvmIT1+qKP0Vnr07zXRSWRURKUGb7IliKOCcuDtJx718IQg7W5jykrRJj6IyFEvsN6IiXU7PLK//LR0dP3Zq8xk7T/wjk0NoS1yyiuCyMjvrnr3e5H79GDECAcHvi8i33ZAewxkge3I1R9vKvLcK8PbmrhtE57J3O8CLL0Uz+mn6DlOEE0CMAPu5r068wbKZAqkMgRA+Iuf54gr84/A5TG/MOudNzs87TmxVEYev7f5ln0fLWWIVrL0RHkKGEs7mNsrZsKmG9bHbEKEGBte7hbQE2hV3zRqR13P7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0A/j0taGy1Zf1ABWstIOrlCKjhX9BwMhwrK6NnO/ToY=;
 b=Rlq9XvHOVjZvgCDl4rJCi+DQElWQKWcCL3Gejgzgg7RyMD/oUH0fgOFrYDRSRBJ2mZLb6d4GnSm6wRHDeyCc4U2H/px24a4FLSURMPpSrYXKTfxCgaQZPDbreafyiIKMLtlKRWP8n3T/GYrhpLlCGINE5Oq+U4cRyj5EdYrulDkeCc7YbrJIqGTRaAd29kH24P8uwN06+XJKyxeZJG6RpJH+g2mWojzxKECvsQ5GBbuF43Xpf9Rsf262jdLlmkJkBoTKtRm1R9m3S2zBaLEnyKaP03ArNMNpzkVM0Y+R/k5P+9W4A7a5SvoQbPN2FbPAlSjLweXLFm8k/nVL5YCJYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0A/j0taGy1Zf1ABWstIOrlCKjhX9BwMhwrK6NnO/ToY=;
 b=ZbA/qAAbYqpuwdcfA7Ofgpuz5p14NhtKIu512Mc4C9ZJBPI+K1Jcbz6VTpoo9dWM8IAb8AG87/E8zdeTIVc4OHbq2cTcCH3bWrTVlbjgP1BMeHe1DnDpJIFa2+ji0Fh2rT/thssLKKgIs7mGMia8apTINjRM7peQeVqXGw/+wV0NsrH+hOX2mc39k8L+3yWjkgeiNd30YZIA+sROyG6Gp3mdLCa8D/lpzdyVzEo/VKtsxlU8Wmb9nMID5sOpX0ot9LAyT1HQBFIzaXQkqnV14SGAfwkfVHjLIgzysLbGldrjxuuJwbL2GuqrP9l2MM858+0+5PO6dSzx9Zy4xsYM+A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <78734ef5-724d-959e-ced6-23f84c14da29@suse.com>
Date: Wed, 22 Mar 2023 08:51:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 06/10] xen/arm: enable Dom0 to use SVE feature
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
 <20230317131949.4031014-7-luca.fancellu@arm.com>
 <bfe68fee-dc22-dcf4-c4fa-d30ddc95718e@suse.com>
 <35B6524B-1AB1-4978-B887-91C4EC3D5231@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <35B6524B-1AB1-4978-B887-91C4EC3D5231@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0045.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7000:EE_
X-MS-Office365-Filtering-Correlation-Id: 287a8c33-8760-4796-f8a1-08db2aaa3b45
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3HJGOuxxOLfR3UPeGrMphmXK+hE7xRuAYb2xiqM8us5eaLzyEeY+RaH7/yaGqzK+XX4ngeWmc83OT2WDa0Hrg9Id2BvLDGFKTKa+p8VoAPmE6ViyredjxXW0vXhgGrSr+eGqS2Xln41A6U/qhfVhOeaTNyX4yn/K3Sjyr0ZcJXkqUZIXEHbfG0G5SvwSWz2+Iu0rvk3CYMUxYp7EopZTlAef7NgJiLyU0CBPhlg85ceXQRikJyonXfzrrkQ8Tx/UHouZrDcvSmuxjSNhNuCH39ls179hwdNlJJlAe6/L0QOBpl92E5aoyH9uWp3QC5dshBukru4lGwK7QAkT5TPwz5JEG4Qrj1tb3QhLosK/av82UilO1sie1si9xUYcz03hPvJw8V+YzQPF8QcWuoowhZRUTI8LfVmD6DP8jyiwBgSwL7/AP0J5pBKZO3A/B4zHqfpqna9IsFpu0d/jgQdktxGKAokHZpIPyjSddW1DVl1L1uQMSCb+dAV+4bhozR1izcU17TNqISCujsoS6asPXTToKOmePYTgRqAhMyxtOO9fOhwHvvAT3jG6eAKIBtpyhedgoBfJyadurGKX1QTvt+jYXiDr2M7IDbJGneDl+HDfjiGo8bUxvwNwHuZqkQLDBBYLY+ERpqU5kSCHCtZh5YRFL2vzs3fddquvnNP655Cl+lrf1NxtFaxgd0S7x9JRvBO/e96kNhB10MULaHCmLcIF2clrtqXQtZhPn4Y2iHs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(396003)(136003)(366004)(39850400004)(346002)(451199018)(38100700002)(31696002)(54906003)(4744005)(86362001)(26005)(8676002)(6916009)(8936002)(5660300002)(66946007)(36756003)(316002)(4326008)(7416002)(478600001)(66476007)(66556008)(41300700001)(2906002)(186003)(2616005)(31686004)(53546011)(6506007)(6512007)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SEh2OXVkZWtiVlBidzBCOHBQWEM0OXJjQ3JydEVlTUpaT3FXYVRPeFFmZzR3?=
 =?utf-8?B?U3dOQWh5V3lRTHpDQURKaS81dXJKNTRXdFNneGx1UC9KYlNYM2d0anNoclU2?=
 =?utf-8?B?d0FBbXoyK3NxcWNTTGROWERycE1Fc25nUzFadHNneVIzZGtCVFcwWUZlaXZo?=
 =?utf-8?B?Unh3NmFvOU5wVzQyVytlZVArcHdWM0VlMEtFY0RrQUVqWG9udEZtZW5DYi9S?=
 =?utf-8?B?Qy81Tm5PTDNFVGdNZjF4ZXBub3h0dlNSQ2tYalhJUzJPUk15OXZzQkhWaG1G?=
 =?utf-8?B?UkEwMGZndTFLbFZ2WkxqSkdUa3d5RnYxbytkZGowZE9QK1RncDZQUnRrdnI0?=
 =?utf-8?B?VlY4TWk0TWxrN3JITjdFOTlnaVRzVytJL0FYYVV1eThWbUp4TUFiNXIxdi9p?=
 =?utf-8?B?WmRnZitQNXU4RnZDWTREWjdCVXBRQ0dRZ1I3a0k4TmJoTzlYS0pSWnNlM2da?=
 =?utf-8?B?V3JFdEw0VENJODRMV2luKzJaZFlxWkJUVXIvcjBZTnArdC9ZVXU3dGVLaDRT?=
 =?utf-8?B?d0VrWno4UDNKcDVReC9QbUJMdXp4M2VpWENUc2lqS3F1NnM4UkhUUUFmVlhU?=
 =?utf-8?B?dHNpN1B0RVF2ODd2VC9Xc1o0Z2NmVWVIRncwc1RvSXVzQk13ajkwRTZGaEM1?=
 =?utf-8?B?aFowTWhGclZJQkZ0VUJBTnVvbTl1ai8xMzJKUGRXYmRHWTJMUkZVL3BYVWph?=
 =?utf-8?B?Y2hXbEZaY0NTRGxKQ2RKZWF0SlpHVjJOSzdDZUtzaEhrMTgwMXpHdW10RWpR?=
 =?utf-8?B?L0FLYk9LNnBXNXd4Tm1HRjZqNFNFaUZwUnM5SXZBU0U5ZGhMNk9lVXRNYkZG?=
 =?utf-8?B?WlQ0QVBDRUhiQkxxbkhhYnNsOVZpYm5kQWsxcmlIanY2VkpCdXVZZkxXRXZJ?=
 =?utf-8?B?azhXNUt0WGtSaDdkalgzVWpOc3puQXZiL29IaG9KYjlvV25kdnJ1NDZOdG5h?=
 =?utf-8?B?YWFGUW9Ud09WWHdBR2pEZ2FabFExZ2xLNUl2SXprbjlWaENCcklXb2h5cFZH?=
 =?utf-8?B?YnlyaGFEekpTeERGeGFDdXo1YjhBQ2ZLSVBDRVV6VEZsOXdSQzg0Q3QzWGNp?=
 =?utf-8?B?QlVpMDhWeHRvaTlQZ29JbHpRbFpDWTc1cFB6SFZnY0ZhMmNTUXBEZkcxNGcw?=
 =?utf-8?B?ZE5iRXNCZ2pDbFhwRk1SZktXTTBkVXl4MzBSRFU0ZWlZTEFSb2RFNjVhUDBl?=
 =?utf-8?B?Y3dzRHVxTWRtbU9hOFF4cjRSeisyUXJBbmZ1alVSVTQybFk5YW9QaDVnK1Y3?=
 =?utf-8?B?MEZEZEFwbWRtK2IzK2tFUDR1NlVoRmRPOW1KSUZnSUF3Vkc4cXQ3TW5OUnZP?=
 =?utf-8?B?ZFlLUzVseGpBeVBoM0JBQjl2cmRUMVUydTEwL0VTT3hJV2FqT09QNjlkOHZR?=
 =?utf-8?B?a3haYTkrTFhyNngxcmxDamFLcFlhamtYVThoN3UvTDEzeEFBS2o5alRKMjZQ?=
 =?utf-8?B?TXdIM2o2K1NuNVlqR215MDZ3aWZGOWpGOXI1M25aRTlwbnBGU0JoYkJGLzFs?=
 =?utf-8?B?Y1prLyswMUtTc3BrT00wbStKc1hETm1odzhoU0swRklHekM5d3JHRjhYZHZE?=
 =?utf-8?B?MThPYUdIbnhJVXlFL2kxMnFPRkVqd25seFV0OTJNaGQ4NFF5YmR2b0tFZE9p?=
 =?utf-8?B?YnlKTHJsK05KTFJZaExpa29NNlNYdC9VMy8wNE5uN1FPUEhGOUREV3RuMGEy?=
 =?utf-8?B?UmJ0WEdGK1lEM0VzSkw4RFYzYzdtNVh6dEFPVnRKQ1VJNjJVQWxaalBQR0xN?=
 =?utf-8?B?bzh0MWJTa3hYb0FtR3k5YUlTZkp4WFdaRlN6K1FFRWxpdzBpSVZjZVI4Uit1?=
 =?utf-8?B?Umk1aWFJcStFVmxrK242dEhiUmFQd3h6QlU5bFNQTnpvK3RyaFRvb3N5Vlhy?=
 =?utf-8?B?VS9PRTdLcC9NSFYzc29WRkpFeXRLL1NBWmlSalBXLzZkdUZCTFEzRS9DS2FU?=
 =?utf-8?B?WlpyK1VDc2FDRWJWN0dHRldvb3piK2VkTGVQWGhwUWs2SWNaTUJpcVJnbzQr?=
 =?utf-8?B?cVVnSXNFenBjTExnQ1RPc25JQVFhNnJaL2xUNFZUZXRPUTBJRFZwMk9zVjY3?=
 =?utf-8?B?NXZnTnR1TnhNTDZpV1pqWUhVQ0UyRnpTajdkK2ZwQjl5ZnRFNUplRnlIM1cr?=
 =?utf-8?Q?mnNPy74M3TDDdUjHhuaPq8yb9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 287a8c33-8760-4796-f8a1-08db2aaa3b45
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 07:51:23.2180
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ObI3N/GL4kPbrtUoAIszNXU3xqtJ5A58baQMFbY8FlEsp9BM9dB+frDTM4dAcKBY4JFLA8WdPrx6QsmsM7ZxyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7000

On 22.03.2023 08:32, Luca Fancellu wrote:
> While I was browsing the code, I spotted a possible bug in x86/dom0_build.c, in
> parse_dom0_param(...) if an option is not recognised we set rc = -EINVAL, but we don’t
> stop the loop and we continue to parse.
> Is it the intended behaviour?

My view: Yes. But I can see how one might look at this differently.
Yet iirc the same behavior can be found elsewhere as well, e.g. for
"spec-ctrl=". The goal is to parse everything we recognize, covering
for people using options on older hypervisors which are supported
only by newer ones.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 08:02:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 08:02:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513152.793733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1petQn-00043Z-8c; Wed, 22 Mar 2023 08:02:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513152.793733; Wed, 22 Mar 2023 08: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 1petQn-00043S-5i; Wed, 22 Mar 2023 08:02:49 +0000
Received: by outflank-mailman (input) for mailman id 513152;
 Wed, 22 Mar 2023 08: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=sCgZ=7O=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1petQm-00043L-6x
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 08:02:48 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20601.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ed580cd7-c887-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 09:02:46 +0100 (CET)
Received: from MW4PR03CA0260.namprd03.prod.outlook.com (2603:10b6:303:b4::25)
 by DM4PR12MB5867.namprd12.prod.outlook.com (2603:10b6:8:66::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 08:02:41 +0000
Received: from CO1NAM11FT065.eop-nam11.prod.protection.outlook.com
 (2603:10b6:303:b4:cafe::f7) by MW4PR03CA0260.outlook.office365.com
 (2603:10b6:303:b4::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Wed, 22 Mar 2023 08:02:41 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1NAM11FT065.mail.protection.outlook.com (10.13.174.62) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6222.17 via Frontend Transport; Wed, 22 Mar 2023 08:02:41 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 22 Mar
 2023 03:02:40 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 22 Mar
 2023 01:02:27 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Wed, 22 Mar 2023 03:02:26 -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: ed580cd7-c887-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ip1FXwsz7u5S6x0SX/8t3yALnj3Mpy/JdY57KKA9vMxafsXaV9hZiI+DjGW8F/JPHklvUvySZvE5dUhqUNDCtWe3h0y1l4SUUFfUpHoRa7SAFID3kzsYV+3TQq5Q2NCTY1egUK/3Q/5pb/P4OTFXN/KTyGq5yYOuLXlCiaulnpebINVN0pqcivUgKDQR8g6vcbRtIwW/eICsPQxfng01z8DE2019uOJHF+aiAuFSn1CBNhWg23ugS75NsFNyed4LZAGeqMsHNMEzdOzrFkj0sA+y9lQHAOmuhzLpHiFh8CtR0oQcRMLt1r+z56yMIbi2n70vsfsZbVaPsB2Zxeo2rQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EqAYsU3xAMp2oyVH7h8cB3+yNLdTVgONH9c5FbS3M2E=;
 b=NfxPA2Jncc7gNd58/6P+Py/Nv9GQ2d6TLJ+RD7uWmyDwi2E8fGbc2YTTzRQdqg3QdPmPBWoQzvXG/9apytOnKrYlVbUXa5yIxoDlmffmli44cRAwL5gGHRasFbhddtJVod0lFaSm4COCUW7/fuQWJfCR4XTUmJq5QW0nH6riCIQXDj0f8nunAI1CLuuXLkoyWKxTCAc+2bAwPGspXqM5q6SbcWw/m7xnbbcuX3gySargftpoUe5lcLq1irOUS+BBRbKPy9uVPfMSoQ3SoBuSmnG1ymxWECWvtxRaWDGJG638kklofPQJix00SqZOVVHXwvBCUz9cRfIZwBkk9CKtHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=arm.com smtp.mailfrom=amd.com; dmarc=pass
 (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com;
 dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EqAYsU3xAMp2oyVH7h8cB3+yNLdTVgONH9c5FbS3M2E=;
 b=yXINFmprWqBFo3tsq8QG2SfFIfzKrXWGzWQ4Y6qdQ9IrU5RT6rTYAMQoCgoCjDvzsqQBpYXDwTegTbz6VbdeMhLgVWrPfPuPiCGn/vy4nBZbPtwsloq7N9TL34YojksLjpx5grJg++TM54SCbOaoFQ5lXifTCLZBlKRlHX+qdPk=
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: <e3f3bc32-ab6e-cf8b-b3ae-e6922981d839@amd.com>
Date: Wed, 22 Mar 2023 09:02:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 4/4] xen/arm: Clean-up in p2m_init() and
 p2m_final_teardown()
To: Henry Wang <Henry.Wang@arm.com>, Julien Grall <julien@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
References: <20230130040614.188296-1-Henry.Wang@arm.com>
 <20230130040614.188296-5-Henry.Wang@arm.com>
 <a2287b5b-40b1-aeab-8f07-413853d2484d@xen.org>
 <AS8PR08MB7991321C63BE43F1C54D21E092869@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <AS8PR08MB7991321C63BE43F1C54D21E092869@AS8PR08MB7991.eurprd08.prod.outlook.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1NAM11FT065:EE_|DM4PR12MB5867:EE_
X-MS-Office365-Filtering-Correlation-Id: f7d3ee6a-97e9-49da-5547-08db2aabcfae
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MhLejSaDT8b75N2muEN229ToFTg24oX7t3Qw9eAGtVDOINvZxtkyLI5YzZGzUi3+9JQIiurNlACeUYz+GAtA279azA6YSYrLOpQY9PXyGv+iuSt1IJdfXTrWgVPxKTtsK3pfUuVxvnPY/ql+NBQyutmEaM386c3CSABzMuNau5ew0LVEGu01lv6ShSp7Frz0ubiHQDT/dgTMlQq1pCMZBaRNsXnzkuxfj3MKw0Uwu1dAbMXTCm0HxQ0BSDs5tSVvdVhkPAYP6iKIBo5M9FbaT74s0FZw1ahqdGQL0nUzziIvT5OT7CW4RT/GfXayxKHBBvArpgcNy5EctyiewKuJe1rZpjzlB7vv1/kKg4FgIFHCC1H58fjHan8WLWWZm+Uo+s5M3Wz8aV4WDBUbxBdyEFGuTBElt0xCQW/ZXGRAuZhPA2hUR169TnYf7bPOR/Iso3SE3/jFq2NC9y4aZiehFtZolRztNnXjlI/CwDHKX3L/etnd5++yEzFjKw57QecqAaN9C9+JjyR39fPwq5ecg+PDCwiqwEBfeLB9XsjS+Gr8M1TBdgWL7ffI0EbQcYsaM0Cm0WSd43hkekiClSM1ruuV3rR2dFR64IGdRShEUGBlPozXswampe1o2ZlbRyFAFC88lBfuZKjPU12YkSb8t0nPBUqb8KJJ9GskxAuKzT1aiy353eAqwn+kD/euMTw0duzhJ6LjzFAeRyv1ORscDhRkVZIw50ErYMbPCKhDUCopO5QEE2zFzApKmwK8orIvpKpg4nYN2UB8TH/I+Xdvqg==
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:(13230025)(4636009)(346002)(39860400002)(376002)(396003)(136003)(451199018)(36840700001)(46966006)(40470700004)(336012)(40460700003)(5660300002)(53546011)(356005)(8936002)(54906003)(426003)(47076005)(41300700001)(31696002)(86362001)(316002)(16576012)(110136005)(36756003)(82310400005)(70206006)(8676002)(478600001)(70586007)(83380400001)(4326008)(40480700001)(26005)(31686004)(186003)(44832011)(81166007)(2906002)(2616005)(82740400003)(36860700001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 08:02:41.3733
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f7d3ee6a-97e9-49da-5547-08db2aabcfae
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:
	CO1NAM11FT065.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5867

Hi Henry,

On 22/03/2023 03:21, Henry Wang wrote:
> 
> 
> Hi Julien,
> 
>> -----Original Message-----
>> From: Julien Grall <julien@xen.org>
>> Subject: Re: [PATCH v2 4/4] xen/arm: Clean-up in p2m_init() and
>> p2m_final_teardown()
>>
>> Hi Henry,
>>
>>> ---
>>> I am not entirely sure if I should also drop the "TODO" on top of
>>> the p2m_set_entry(). Because although we are sure there is no
>>> p2m pages populated in domain_create() stage now, but we are not
>>> sure if anyone will add more in the future...Any comments?
>>
>> I would keep it.
> 
> Sure.
> 
>>
>>> @@ -200,10 +200,6 @@ int p2m_init(struct domain *d);
>>>    *  - p2m_final_teardown() will be called when domain struct is been
>>>    *    freed. This *cannot* be preempted and therefore one small
>>
>> NIT: As you are touching the comment, would you mind to fix the typo
>> s/one/only/.
> 
> I would be more than happy to fix it. Thanks for noticing this :)
> 
>>
>>> -    BUG_ON(p2m_teardown(d, false));
>>
>> With this change, I think we can also drop the second parameter of
>> p2m_teardown(). Preferably with this change in the patch:
> 
> Yes indeed, I was also thinking of this when writing this patch but in
> the end decided to do minimal change..
> 
>>
>> Acked-by: Julien Grall <jgrall@amazon.com>
> 
> Thanks! I am not 100% comfortable to take this tag because I made
> some extra code change, below is the diff to drop the second param
> of p2m_teardown():
> 
> diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
> @@ -1030,7 +1030,7 @@ int domain_relinquish_resources(struct domain *d)
>          p2m_clear_root_pages(&d->arch.p2m);
> 
>      PROGRESS(p2m):
> -        ret = p2m_teardown(d, true);
> +        ret = p2m_teardown(d);
>          if ( ret )
>              return ret;
> 
> diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
> @@ -201,7 +201,7 @@ int p2m_init(struct domain *d);
>   *    freed. This *cannot* be preempted and therefore only small
>   *    resources should be freed here.
>   */
> -int p2m_teardown(struct domain *d, bool allow_preemption);
> +int p2m_teardown(struct domain *d);
>  void p2m_final_teardown(struct domain *d);
> 
> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> -int p2m_teardown(struct domain *d, bool allow_preemption)
> +int p2m_teardown(struct domain *d)
>  {
> [...]
>          /* Arbitrarily preempt every 512 iterations */
> -        if ( allow_preemption && !(count % 512) && hypercall_preempt_check() )
> +        if ( !(count % 512) && hypercall_preempt_check() )
> 
> If you are happy, I will take this acked-by. Same question to Michal for his
> Reviewed-by.
The diff looks good to me and surely you can keep my tag.
However, we might want to modify the comment on top of p2m_teardown() prototype as
it assumes presence of preemptive/non-preemptive p2m_teardown() call (at least this
is how I understand this).

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 08:13:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 08:13:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513159.793758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1petaX-0005uG-AP; Wed, 22 Mar 2023 08:12:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513159.793758; Wed, 22 Mar 2023 08:12: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 1petaX-0005u9-7m; Wed, 22 Mar 2023 08:12:53 +0000
Received: by outflank-mailman (input) for mailman id 513159;
 Wed, 22 Mar 2023 08:12:51 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1petaV-0005tt-93; Wed, 22 Mar 2023 08:12:51 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1petaV-0006uK-7A; Wed, 22 Mar 2023 08:12:51 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1petaU-0002tf-Mg; Wed, 22 Mar 2023 08:12:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1petaU-0007Pb-MD; Wed, 22 Mar 2023 08:12:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wIxMfPUNgE4pow0X/kF09m7G+Icfcdwo+7yZjXy5sLk=; b=1wU9r+iQyqn9lw0CKs8CoY25HW
	237NHhuqM3Mun+3hvOGwOmJrqtMqr6s38NamcFe8qdGTVPIvB30PcRvIR07x6Bx8Hl87KW5Umn+h/
	Z3JYfPRHgnGYluPGpz/CrFFOkF28c/mGl9dlenE9rR7gPBu6tLpOZ88zbcApo8nGuazI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179841-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 179841: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-libvirt-xsm:guest-start/debian.repeat:fail:heisenbug
    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-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-qemut-win7-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-amd64-i386-xl-pvshim:guest-start: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-amd64-amd64-libvirt: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-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-4.15-testing:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-4.15-testing:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-4.15-testing:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=11193e13e5359ba1896be46be3e9b468154c1295
X-Osstest-Versions-That:
    xen=fa875574b73618daf3bc70e6ff4d342493fa11d9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Mar 2023 08:12:50 +0000

flight 179841 xen-4.15-testing real [real]
flight 179863 xen-4.15-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179841/
http://logs.test-lab.xenproject.org/osstest/logs/179863/

Failures :-/ but no regressions.

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

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178137
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178137
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178137
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178137
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178137
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 178137
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 178137
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 178137
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 178137
 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     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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  11193e13e5359ba1896be46be3e9b468154c1295
baseline version:
 xen                  fa875574b73618daf3bc70e6ff4d342493fa11d9

Last test of basis   178137  2023-02-22 14:37:12 Z   27 days
Testing same since   179841  2023-03-21 12:36:45 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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                                 fail    
 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-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   fa875574b7..11193e13e5  11193e13e5359ba1896be46be3e9b468154c1295 -> stable-4.15


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 08:13:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 08:13:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513160.793764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1petaX-0005wt-Kj; Wed, 22 Mar 2023 08:12:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513160.793764; Wed, 22 Mar 2023 08:12: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 1petaX-0005wH-Fq; Wed, 22 Mar 2023 08:12:53 +0000
Received: by outflank-mailman (input) for mailman id 513160;
 Wed, 22 Mar 2023 08:12: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1petaV-0005ts-BS
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 08:12:51 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 55d16607-c889-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 09:12:50 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7895.eurprd04.prod.outlook.com (2603:10a6:20b:2a3::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 08:12:48 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 08:12:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55d16607-c889-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G07qpMEVAJNksx5wkpNrjqAeCBCn2Hg2tXd/J3ZwZ6l2q6YTxoJcOspsIk06PxnGo89ODCw9myWNjcynoXLhgOc6r2vFFCF3l2O83NdTrXVgFa4cgg+faStaGOBEE41a27GTRBRk0LA48LexJUK5AulNZbXlufhgrqypfjp0F/6eTuwpH2j5iFcdFnBnlKFp17sbDpMutLFOGIDeYgYf2F/KBZ+Ohhm5+o9fhEleAou+YjRwC7/AqBzUQLaIizC8H6RQniubBOOYvzIR1Hkb9rGnljp2AYp3hruImIMRzkxqB8se5NiSzjMu0EzsnLoUAmdVpzgNTo+XimSIBLKiHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kJCKsSkn+PTTF4nWoLglxHmvbjcZfYns4LxR5NN4OH8=;
 b=R8er6eWBZ3ctooU5WYDjO9gJj7fd9xLYwTSKMN/1HmWlOtcJQXl5wyktXvoNrcH+lgo1aMuaN18l6oEaMRX8YZqN+5YWSJkx1BABS/OcId70d8D4wzah8EBfc5H/I1fz02IJXxVfYapC1aehENCFVIwi6RqMBHPEpzm9Fc/uw0bIySpxWHWIYHrFgUOijVUzFe+d8XQDMglERZ+FErZyecjFwZIzbplc36KpukD7QOhcaDvia2LwPcNkZqD4C2tKJx9RKsji9wnHWk6N8m3ntPRhRKPWACsx2kPo567vhQBCVb/nHgXqzZ1VO0bX1WX5H7Xa2PuCdbyTJidAvEK2uA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kJCKsSkn+PTTF4nWoLglxHmvbjcZfYns4LxR5NN4OH8=;
 b=HU2RWq7LQUCrIAOAAh6RuCl3/2Q3QsrzFy6v9SXFBce67hmqgZ+/1YywhJm6paETh+vSzvuPXd7AUokN0fg6/ecMyk2FP1dx4BR4HUNp+ERNuukvQ2GnbBHl/Kj7yLGz/bw7U87jML5D3BB+Asi7JxaDAD7tKgRBjxNGfc9QxlzKLYB2oYfTC+SZs5UgFzZp/q3FR3jQmxZnXoLnTPpH0kpejDJrk+Wqkr0Qm3M5c6f64SC4hF0oRNLrvkVEAFw4+L2ttqgUI0FVffxx3iimbYfQfAzgpCJOfNsf5Y87mv9buY0WQhJeTsRypLeOrTiI5xeuDhhArj92V4535tEuNw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0d6cc462-8df6-bb49-5e24-5fb61df40a49@suse.com>
Date: Wed, 22 Mar 2023 09:12:45 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
 <27c2d76e-1f9e-01f2-846f-9f3bdddeefcf@suse.com>
 <d5e9a5750e7cd32337b98ad39b60d3e95321caed.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d5e9a5750e7cd32337b98ad39b60d3e95321caed.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0134.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7895:EE_
X-MS-Office365-Filtering-Correlation-Id: a18bae43-57df-4216-5b8b-08db2aad38cf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AIwVEGV3y4Ms+prMkpHUeLhxwc/xYts9eCfvTWZwOcKQhs9bD+KR35bFHTn2QPIQNXFjdPXopO7Ghv4psnmF0NHl/WobkAfYD7pnlP4Z2cHSbJhz6/JP8ATC8DXRYuXoWmMxIVL6jGn9+xquvhwN01MtISNVxRi7Bz3mGP+C2VNK3gX+k3ZTixJ2DRBAZHTK2vJpi0+Sa7RUgPzCUTiZCxgHANn7C0ZaZ49rfyfFPK7jcyzn1oz7LSPcJ4/+GenLBKkJxOSLvWr3BVeCuQE5NmibY29dtmsAJq0Y+Libz5fqYPOhiZurNKdOQQ9Vosto2IfgVbxsrAQARd87/Gatg9LySgvGKuJ5t5ZMFiZbWrvGvIc54A6yuGLIKbkc0a9M6jn3lW6HzoohtmmVrl63Qfscyfhk2E1qOLnTbSvV9qvxhv3hrIAf6sUrWWmH6kTOBDFrkizM4T9sFSb3H0+DCkxmGDLzElNmHL32OfMmZSPycPDM/H3w4RMC/lRbjR2XtFB6orULnW50FXyZgWjWYOsCCF2+EFY5yW7yFTE9KNAUeJ7lSeVo6QpIsWBwxdIgSKKpULdZc71hCkqkmSjMh1gzDzzHT09/X+3z0GmIot0MZC5LTrj/OVfB/42xNUzXWlVa8qSLn4LFXjauqE7co64flpcOV9Tceb7Yu7jGv1yKZUn8fWvNoL4rGe/rutWW5rDVcSDGRXGXe+PuqAwsjy0VkBphwUIVNkfg4VT7X8c=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(39860400002)(376002)(136003)(396003)(451199018)(2616005)(83380400001)(2906002)(86362001)(316002)(38100700002)(31696002)(66476007)(41300700001)(36756003)(66556008)(8676002)(6916009)(66946007)(4326008)(26005)(8936002)(6506007)(54906003)(53546011)(186003)(6486002)(6512007)(478600001)(5660300002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TXUrZ25MSXVKSlVzd2xUQkpiMHNhUHlhQVk3Nk1KTHUyb0tXZnQxTGFZeVlC?=
 =?utf-8?B?TlpBdFNVa2lycG1YSSt2eDF2Z1JwaWc5cmd2YmdkNWFFYnZGQnY2TlgyaC92?=
 =?utf-8?B?WThpbXRBQkw4TUNKeWd0OUhnaWZ6cTdwZ0JqTkxXQm1KNExNZzNUWmE0c01I?=
 =?utf-8?B?bFhwRHVoaUhjUlJkNjd1blFzbnhNNlZVVFNscDE4c0JwN015VXFGOWtRN1Nq?=
 =?utf-8?B?OFhJcHdFQ0IwbjlFZnFXV1JJZkRMR3gxaDVlcVJveHRucGVtMzRlMEpCMEgy?=
 =?utf-8?B?K1V6R3Z1bkFOZWRVV2VjaEVXSnVoZ3VaS1lsSVZHM1VKZHYzSmF3OFpKVUE4?=
 =?utf-8?B?aWhxQTlzeStpTVcvWkViRnlZRFdtaFBlQXc4bWhJVTJHN3JEaGQ1Zm9LQ3Ji?=
 =?utf-8?B?NENyVzVMY0pzTVhXK01ET25KWEZIRE9iR1MvblhvYzY5cm9vS1pYT3FSWGsv?=
 =?utf-8?B?amFWV0IxQU5VZ1E5bG43VmZrdzhEeWI3YWxtZVVTS3dacGJCalhZcFNZLzJ5?=
 =?utf-8?B?YzV0Y0VSVnJxa25SNlowQm5RdjllOVFVbnpJWU9jRk8xMG5XVVp1M0NqY1JL?=
 =?utf-8?B?dkRleGtaQUQxemNSazgrbXl1OXVZWHNnWGVhK0Q1SU0zaHBHY2hWcjN1c0dY?=
 =?utf-8?B?S01GeXZEZVlyaFJjWGovNnorWDFPV2tnR3VUSm5FaXdnVFN0RUszdzVKNk1P?=
 =?utf-8?B?anlMSHNsNmdtRmNOK0tlQVEvNDlGSm9uYUhKQjRuNXFIVytWekVxSFp5dHBU?=
 =?utf-8?B?dDl0K0RnZmcrTDhTRFdmZzJrMm9vYkRvcVZmanZ0RUNiRzRDNXkzdzB0YmlD?=
 =?utf-8?B?dHJaTytGQ2VTbEEyRDkyMUtiaTJrV3RXTHlaQVhINDNJYWM5VWxSNDVxMnZM?=
 =?utf-8?B?TjJxL1JzSnhwNHdMaVRSK3h4RVBLZzdOa2hka1lMVkdlbkY4MTNLeHBrQ082?=
 =?utf-8?B?dEVPOGxxUVgrRldLeWlwQ09BbTlFNjQrbytPU0k4Y0NjNGRybnJzcUhhVkRJ?=
 =?utf-8?B?S2JsU2ljOGtoUytLRDdwWko1Zk1HS2ZhQStDdGRySFd3T0J0anJBOWtKWmxV?=
 =?utf-8?B?UDJ2U1ZLYzBqUXoyOHVoMTl0Ky9xWTM3dFZ2ZmVuMndHdU5IOHdXSG9ibE5J?=
 =?utf-8?B?K1VpbmlJbnBMalNIZHpsK1EwUkdGSExwVTZBdkdIRGxzL2ZYcVJ5ZGd0SnY5?=
 =?utf-8?B?U1NZVGN0VzZrOTU2Rk04elViL2FqMkxCMjAwN2Iwc1p3WXpVa21CWmhwcERY?=
 =?utf-8?B?bng3cHN2eXgyZkEvQk1JS1NVbXlyU2V2dXFKZ1FDalhTRHZJMFpVY2gzZllp?=
 =?utf-8?B?Rk9JQVJzSURmT2NjU2gycllONWVhY0hzc29ERk9IWlhxYkpwV1VmZVVKandk?=
 =?utf-8?B?eXRUZk9NY3dud2ZvVmc2clVpNHR0eDBCS28xbFZOUGp2Mm1wbkNJTjhTMkxL?=
 =?utf-8?B?QkRYN1ZxYjhXc3BOZ294UzV2Z09PZ1BsdDI4L0JNWWZoOGZwdlE5aklCMjNu?=
 =?utf-8?B?RlNmRldVSmcvMHZSeHZNdlovN0trcm5xa3NZV3l1WTR1WE01MHlLNjQwN20y?=
 =?utf-8?B?azJTR0dkdnlZUitiYmRiNy9ibGZQRzBVRExibXNnc1N0bVltNzRpbmw1SGxy?=
 =?utf-8?B?ak9VTUZjVjZPUEhKYmFLVVBTSElqRjZjRDU1UlprMVlGVW9VekNpNHRlZHZ3?=
 =?utf-8?B?QTlrNjEwdkFQQmtXWWpUVTFaVEdXOTJlTGVKZGdPZlUwQ2NCQ2IrL1UyRlVy?=
 =?utf-8?B?WUJQVkk0QU90N2FSdmlHSTIzbmN1NGg1b2YxUmpORGhIaDNrSDd3ZWtPWm9w?=
 =?utf-8?B?ZnRMZmNKS09SVXR1SlMrdVFGL3ZoTUtNVmpjYkloanF0ZlNrMG1UbndOYTl5?=
 =?utf-8?B?SkpKSDNaSVM2akN4V3dlQVJLYnFsSVFzRUFsbTV3TnFXTmN0M2RnYm9PcU5j?=
 =?utf-8?B?dEVBUTF6U3ByWDVNQ0I2eTFIRnJYRU5ncmlVbEpVbzlDWWZicjU5Q0c0cm5B?=
 =?utf-8?B?VmNkWlZLNFBLdU9CQkZCU1ZOSjVtcG8xSjZTS3JMa3dOTWxNS3FjRHRvRFNB?=
 =?utf-8?B?SnRUcXBRcnNIbXFkVTZrRTJsdjlzSjlib2pLcWxPKzUrRUJyUFlRdXdyaHBp?=
 =?utf-8?Q?I+iq7qdV7chZsvRTdMG6LRCRU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a18bae43-57df-4216-5b8b-08db2aad38cf
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 08:12:47.5285
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jgGbIKOSmKpcZZyZaPVomCobEOutRZn2nY8ZfFcpIx33DLVS8cnxCjpuSI1aRCHZKcFEqqA+O4FcQolliygvvw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7895

On 21.03.2023 18:08, Oleksii wrote:
> On Mon, 2023-03-20 at 17:41 +0100, Jan Beulich wrote:
>> On 16.03.2023 17:43, Oleksii Kurochko wrote:
>>> +#define LEVEL_ORDER(lvl)            (lvl * PAGETABLE_ORDER)
>>> +#define LEVEL_SHIFT(lvl)            (LEVEL_ORDER(lvl) +
>>> PAGE_ORDER)
>>> +#define LEVEL_SIZE(lvl)             (_AT(paddr_t, 1) <<
>>> LEVEL_SHIFT(lvl))
>>> +
>>> +#define XEN_PT_LEVEL_SHIFT(lvl)     LEVEL_SHIFT(lvl)
>>> +#define XEN_PT_LEVEL_ORDER(lvl)     LEVEL_ORDER(lvl)
>>> +#define XEN_PT_LEVEL_SIZE(lvl)      LEVEL_SIZE(lvl)
>>
>> Mind me asking what these are good for? Doesn't one set of macros
>> suffice?
> Do you mean XEN_PT_LEVEL_{SHIFT...}? it can be used only one pair of
> macros. I'll check how they are used in ARM ( I copied that macros from
> there ).

There's no similar duplication in Arm code: They have LEVEL_..._GS(),
but that takes a second parameter.

>>> +#define XEN_PT_LEVEL_MAP_MASK(lvl)  (~(XEN_PT_LEVEL_SIZE(lvl) -
>>> 1))
>>> +#define XEN_PT_LEVEL_MASK(lvl)      (VPN_MASK <<
>>> XEN_PT_LEVEL_SHIFT(lvl))
>>> +
>>> +#define PTE_SHIFT                   10
>>
>> What does this describe? According to its single use here it may
>> simply require a better name.
> If look at Sv39 page table entry in riscv-priviliged.pdf. It has the
> following description:
>   63 62 61  60    54  53  28 27  19 18  10 9 8 7 6 5 4 3 2 1 0
>   N  PBMT   Rererved  PPN[2] PPN[1] PPN[0] RSW D A G U X W R V
> So 10 it means the 0-9 bits.

Right. As said, I think the name needs improving, so it becomes clear
what it refers to. Possibly PTE_PPN_SHIFT?

Another question: Do you really mean to only support Sv39?

>>> +/* Page Table entry */
>>> +typedef struct {
>>> +    uint64_t pte;
>>> +} pte_t;
>>
>> Not having read the respective spec (yet) I'm wondering if this
>> really
>> is this way also for RV32 (despite the different PAGETABLE_ORDER).
> RISC-V architecture support several MMU mode to translate VA to PA.
> The following mode can be: Sv32, Sv39, Sv48, Sv57 and PAGESIZE is equal
> to 8 in all cases except Sv32 ( it is equal to 4 ).

I guess you mean PTESIZE.

> but I looked at
> different big projects who have RISC-V support and no one supports
> Sv32.
> 
> So it will be correct for RV32 as it supports the same Sv32 and Sv39
> modes too.

Would you mind extending the comment then to mention that there's no
intention to support Sv32, even on RV32? (Alternatively, as per a
remark you had further down, some #ifdef-ary may be needed.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 08:16:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 08:16:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513169.793779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peteJ-00078H-Cd; Wed, 22 Mar 2023 08:16:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513169.793779; Wed, 22 Mar 2023 08:16:47 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peteJ-00078A-9h; Wed, 22 Mar 2023 08:16:47 +0000
Received: by outflank-mailman (input) for mailman id 513169;
 Wed, 22 Mar 2023 08:16: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=UaYW=7O=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1peteI-000784-Fb
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 08:16:46 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0609.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e11194c2-c889-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 09:16:43 +0100 (CET)
Received: from DB7PR05CA0030.eurprd05.prod.outlook.com (2603:10a6:10:36::43)
 by AM8PR08MB5826.eurprd08.prod.outlook.com (2603:10a6:20b:1c6::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 08:16:41 +0000
Received: from DBAEUR03FT047.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:36:cafe::82) by DB7PR05CA0030.outlook.office365.com
 (2603:10a6:10:36::43) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Wed, 22 Mar 2023 08:16:41 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT047.mail.protection.outlook.com (100.127.143.25) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.17 via Frontend Transport; Wed, 22 Mar 2023 08:16:40 +0000
Received: ("Tessian outbound 55ffa3012b8f:v135");
 Wed, 22 Mar 2023 08:16:40 +0000
Received: from ec6708ca4a6e.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 DFA685F7-F430-4B3B-9EBC-80C3D1FEFBF5.1; 
 Wed, 22 Mar 2023 08:16:34 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ec6708ca4a6e.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 22 Mar 2023 08:16:34 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PA4PR08MB6093.eurprd08.prod.outlook.com (2603:10a6:102:e8::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 08:16:25 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::f80a:7d16:3c36:8a03%4]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 08: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>
X-Inumbo-ID: e11194c2-c889-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mmjL4GQTBS8g/UNMWGpjhLDq161rA8RrBkoWZWp2SfU=;
 b=xxz0WcTRuC9oXdXMdWnOtelExKYbCO6LI2ZlhFBhhhs+qE8jIntKfuFCQ43bpU3gzD4upveH/nObSp88rTkltlPqPoFcqGTPk565p8HZqn30Cv86tXYcETKfDeSBI+uIUHGLddbpUfQTofHBydjJGyQwahACjEGDL4cDhA85Ln0=
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123)
 smtp.mailfrom=arm.com; dkim=pass (signature was verified)
 header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com;
Received-SPF: Pass (protection.outlook.com: domain of arm.com designates
 63.35.35.123 as permitted sender) receiver=protection.outlook.com;
 client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com;
 pr=C
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RglMv6FPvi2D8wYLz0+hz13Tm0RVhC6WSlH3hjs+GDc1pPETGEeVWizlbZOEMF1mqV7ZoejDn3V9pb3z3+3AAr8PioQQbLiwFJXNlGwqhFQVe9HqzcjPm3LUAO9JDkjzJ04z+ktkETrXVj6j69U/PiO/gHftgFvNbSco1BFCqC41+5TGO3mbYObNdp9ZzgoARxqIBgi/gLzLTS72w88pOQZ/Wse2B39Ny3KX6PxhYNshgK1v/DmGb1yNriWtbsQtib5WIBtskijY/39CdKyOA7CwQNuY/3prf8Yq2pqaY7LXO4qlSwbP7Y67HqoqGWbHJorOhzBQRhqHMWf0oPFADQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mmjL4GQTBS8g/UNMWGpjhLDq161rA8RrBkoWZWp2SfU=;
 b=jf5suM2p6y6C62ysJU8mJGPkz5Zcf1idDbJ8Cd6eTNKpiWPrKkXEU5MEDugMed30akI9rGgq62gKdrpzWNXV2+6jOSA5cdosnU8XxdYGS++CFH8zTCyGYX0TzgQ8TQqJGZN5SEDfSqRtEnAYWuv3mYp6sMz+cnAE0kf635UqmQz50AnPp4lVJmSixaSZvwRtwdcTBFl3KI5GW26AVRK1WveZ1Z50kSfKyzKnbbFUrRdX2vhHtMoS7M4L0P9Yz2vtdDg4Z8U2xAxiMWnR1G7U+Rz4RPI4lgpVxoDmINfB/Tn/SF/lVE3f5XpCH3zYNTLfWFj9kqPKB0uWqo/nPSF+9Q==
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=mmjL4GQTBS8g/UNMWGpjhLDq161rA8RrBkoWZWp2SfU=;
 b=xxz0WcTRuC9oXdXMdWnOtelExKYbCO6LI2ZlhFBhhhs+qE8jIntKfuFCQ43bpU3gzD4upveH/nObSp88rTkltlPqPoFcqGTPk565p8HZqn30Cv86tXYcETKfDeSBI+uIUHGLddbpUfQTofHBydjJGyQwahACjEGDL4cDhA85Ln0=
From: Henry Wang <Henry.Wang@arm.com>
To: Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: RE: [PATCH v2 4/4] xen/arm: Clean-up in p2m_init() and
 p2m_final_teardown()
Thread-Topic: [PATCH v2 4/4] xen/arm: Clean-up in p2m_init() and
 p2m_final_teardown()
Thread-Index: AQHZNGBFU1FB2zU45UWPsIKl0/PSm68FsPqAgACrD/CAAGR+AIAAAJlw
Date: Wed, 22 Mar 2023 08:16:24 +0000
Message-ID:
 <AS8PR08MB799115E41813D9193B96124292869@AS8PR08MB7991.eurprd08.prod.outlook.com>
References: <20230130040614.188296-1-Henry.Wang@arm.com>
 <20230130040614.188296-5-Henry.Wang@arm.com>
 <a2287b5b-40b1-aeab-8f07-413853d2484d@xen.org>
 <AS8PR08MB7991321C63BE43F1C54D21E092869@AS8PR08MB7991.eurprd08.prod.outlook.com>
 <e3f3bc32-ab6e-cf8b-b3ae-e6922981d839@amd.com>
In-Reply-To: <e3f3bc32-ab6e-cf8b-b3ae-e6922981d839@amd.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ts-tracking-id: 04774857D8AD074993AD1B2B724931BF.0
x-checkrecipientchecked: true
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PA4PR08MB6093:EE_|DBAEUR03FT047:EE_|AM8PR08MB5826:EE_
X-MS-Office365-Filtering-Correlation-Id: 41f415c6-6274-4d66-48b9-08db2aadc3c1
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:
 QxG/MLbIitMt1d2RGX0KxdrAsRZb8TLjJseexhsIMgdZvCJTxgRtV+5eBFBNdDmljYJCabukEu9QeRaw28oat2sQw5QBT2guIvjk2xC6ds9FnR/EtgLYTgoU3FBnGghUFJHjbGJ1uKC4Nbkm598X1DpUvxxZ/4Y6dcWaVpHPRGLSkzUZQBZjOaqX5GjsG0CIDa2C6zArU6AhWjB7JksTGVIdKlSxUV/44fvHGn9AJnXUmiWruP3K8kyZlDipMsqnoN/r4YAaxEUTYIDgFMeT0J3LGeQw+/xkwhgTt4S09QnEYz2CO/zL0p2E8CMJF/3C5qQxK02AZb+duloyPRe70EZi/jL9P6zyvp8lEnLcNBdBHH3Lm0va3HfrsFRdEFzWrqrjnb5F32kmFDovyDtU0Y//58csds2DHNC3sGRK/nduaIIW4meJ66Th7oHid6DoxiYggBHWASfbKgCK6j2e/rgJyku6s+wmSlCZs4RSlof468/4ypckZl0hR2eh+WqFoHx7ZGn/23q9JOvcrLHr0YwyCwrXfo5NK8jeD4XTXM+vCcULTXGOBfPuUFJY49bBQbPo2aQSO0tT5e5P6msYPxjom5T0p5biVGZKoB1of8G6dV1rbhJLJKkuAQsRoTRCx+mvLLJqe5NuAi6l7csPyoQjF4ndX/05fp/QUqSmJbZOhiAgOo/Et8aorQjcXwF3fAsawZUJn9QJiRJa6BhcgQ==
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:(13230025)(4636009)(396003)(366004)(136003)(39860400002)(346002)(376002)(451199018)(86362001)(33656002)(55016003)(316002)(66446008)(4326008)(66476007)(64756008)(66946007)(186003)(76116006)(110136005)(8676002)(66556008)(478600001)(9686003)(54906003)(26005)(83380400001)(6506007)(38100700002)(71200400001)(7696005)(38070700005)(5660300002)(4744005)(2906002)(52536014)(8936002)(41300700001)(122000001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6093
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	902a6748-4706-410b-7f7c-08db2aadba71
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u2GCe3b5sMF8nQRhISiW2xi96pBDvCooHKNrh1X9ngpsWDyn27gmm6/9lrBZsc+prWhd7PbjYFeU/MEL41zBIR9Pjnz6HcxKG+oUjr1oGwgTfqmZBs4XbW0AmGlDDlltgzVtOkzenFVk+JnxsDNj2n17kHl049kcvse9ts5lFiouLwn4MEiDOchsLemzWQJ2YAgs0NIZZVeq9a+feIS4yTUBafdTafTsxfxGtVmLcOmppqgVeT2v3rMVhq4MvK6NkhMzKVcp5FUdtEhrascwczQ3SOgUEitQktZqXQ/qk1ruTC8vEE1zkcKaOHroR61sJpRPHeWB007COkOu19vUFQVWT3o+exCT3LXY3ubyiGmAwciBSjhKHoPCq5J+91YW49Ac6ahTdAJwPCRwIDuAP+Eb86Vhs1oDzw3ERUTxwjLt839mSY3iao1m+vUnloc9PQ3Moe5bJCQzrYqG3F/6PllE70N7flpkIOM6xA6VLhbMLrDrN/Z6MW41dUbMYrWABiKVZNrry35EJuo73ooYjEwIbfugm2vVAfZmE5XVG9Rfpj8/uy0jFepFWoPKjEXOV+7fu7ZJzhMbQN5+AU7xFMhSR2iD9e3c8iGz5KKHhPGtaJ+tQ3rL/HhEtg3oAxDQ7+oruobv5S6vYVdnAWlf3yDDFRveBL+lgTudW6ZldwpIBgMdQuR9IGN4Csz985ZjelGcJ5qlJsV0j/+3uO4hiw==
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:(13230025)(4636009)(396003)(376002)(136003)(346002)(39860400002)(451199018)(46966006)(40470700004)(36840700001)(86362001)(40460700003)(33656002)(356005)(4326008)(54906003)(70586007)(41300700001)(70206006)(8676002)(316002)(478600001)(5660300002)(110136005)(8936002)(52536014)(4744005)(9686003)(82310400005)(2906002)(36860700001)(83380400001)(186003)(55016003)(26005)(82740400003)(6506007)(47076005)(40480700001)(107886003)(81166007)(336012)(7696005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 08:16:40.4990
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 41f415c6-6274-4d66-48b9-08db2aadc3c1
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT047.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5826

SGkgTWljaGFsLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1pY2hh
bCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjIg
NC80XSB4ZW4vYXJtOiBDbGVhbi11cCBpbiBwMm1faW5pdCgpIGFuZA0KPiBwMm1fZmluYWxfdGVh
cmRvd24oKQ0KPiA+IElmIHlvdSBhcmUgaGFwcHksIEkgd2lsbCB0YWtlIHRoaXMgYWNrZWQtYnku
IFNhbWUgcXVlc3Rpb24gdG8gTWljaGFsIGZvciBoaXMNCj4gPiBSZXZpZXdlZC1ieS4NCj4gVGhl
IGRpZmYgbG9va3MgZ29vZCB0byBtZSBhbmQgc3VyZWx5IHlvdSBjYW4ga2VlcCBteSB0YWcuDQoN
CkdyZWF0LCB0aGFua3MhDQoNCj4gSG93ZXZlciwgd2UgbWlnaHQgd2FudCB0byBtb2RpZnkgdGhl
IGNvbW1lbnQgb24gdG9wIG9mIHAybV90ZWFyZG93bigpDQo+IHByb3RvdHlwZSBhcw0KPiBpdCBh
c3N1bWVzIHByZXNlbmNlIG9mIHByZWVtcHRpdmUvbm9uLXByZWVtcHRpdmUgcDJtX3RlYXJkb3du
KCkgY2FsbCAoYXQNCj4gbGVhc3QgdGhpcw0KPiBpcyBob3cgSSB1bmRlcnN0YW5kIHRoaXMpLg0K
DQpJIHVuZGVyc3RhbmQgeW91ciBwb2ludC4gSSB3aWxsIHJldmVydCBpdCB0byBpdHMgb3JpZ2lu
YWwgZm9ybSB3cml0dGVuIGJ5IEp1bGllbjoNCg0KInAybV90ZWFyZG93bigpIHdpbGwgYmUgY2Fs
bGVkIHdoZW4gcmVsaW5xdWlzaCB0aGUgcmVzb3VyY2VzLiBJdA0Kd2lsbCBmcmVlIGxhcmdlIHJl
c291cmNlcyAoZS5nLiBpbnRlcm1lZGlhdGUgcGFnZS10YWJsZXMpIHRoYXQNCnJlcXVpcmVzIHBy
ZWVtcHRpb24uIg0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiB+TWljaGFsDQo=


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 08:19:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 08:19:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513172.793788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peth3-0007sf-QP; Wed, 22 Mar 2023 08:19:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513172.793788; Wed, 22 Mar 2023 08:19:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peth3-0007sY-Nr; Wed, 22 Mar 2023 08:19:37 +0000
Received: by outflank-mailman (input) for mailman id 513172;
 Wed, 22 Mar 2023 08:19: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peth2-0007sQ-Ma
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 08:19:36 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0609.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 478d3a27-c88a-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 09:19:35 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7617.eurprd04.prod.outlook.com (2603:10a6:20b:286::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 08:19:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 08:19: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: 478d3a27-c88a-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cBsesdPM58MQhJol1SHXS4m9Tea+Ug12io0AW2422ltcAz1O4VQIIsViTp8xmrQycomS6usVD9zA/9ZwWVbO7s3QEGbmBS+fpKcF6WydIXs3BFUww2pLr1/nwzXIBGZHCI9Q9ploL1hKWUMRif4zMaGkbPOl3U/mLVIEAzVugIqGnwgn3sbk7EmvUHwRJBKzP+pWI/l5i6vOushYNrE1tSyNakf+WA2tKvP466DnVE1PIhDR0gBSqGoI6qlGah0qoqlx+aLMTb2iCFw8UdwIQP8yVYigmY8Gp0YCmfDMDEzgORyY4IY34XK26UYUb0y7RLgmO3Ej1tCy3g40pt3AIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OcldQZI8nQGZP/xDaxcpXN0xpi9w/XXZ3KAXzU8H35k=;
 b=Cbc0cJ1vsLaRZW5uI9pV+Jc+8ioLCBGbijXZVdlbtBxs5epnnW7mgkQQjkF95e5ieDWXoq1odpHAv0Plq45Q+7LnZILqjrvbgTqKBMSYd4H5465fr161E1V+7P8XeGa7kDGzF40P2MbusDh6olxZNMn5RIePA6xFHKclpFUKlUmEUdU8qnmsMrywutdfrA2v8ZS/Gvves5oBHZFAu5H3J6Txs8bYXfK5itUKJwMpMnjxmthK2MJGxwWTdSBuMW7Er0B5LVMassqU/JAqOG3P8qK6nUahzqEkMMkaIBJ7iMDsacnhDwVqEMa4UogTA36+80f8niXQTYn2V5GbUlxe8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OcldQZI8nQGZP/xDaxcpXN0xpi9w/XXZ3KAXzU8H35k=;
 b=m8cnafQx3Lb0mz8g7T5h+nXk+nksjbMxXVS0dVevVMDe9s0m2sxorAWM0KvrwtGaCmEmk5tt8c+Kx5iY4cyY67D7O7iwRkomocM558onuFvV6j22dgA6PPmFuR/KvdjT0JYD/uVu0cgZptFk5uRqTOKuVL7mNN+qGngUcLv5zDiw0VvumUm5N8yqelB3QVe703i9HqFSjxC99S3q+VrFKCkyg6lZaCEsSHuFmGx7hb4W/hscidIci1CRGxXYSXV1lgjiE32Gx6fRtk1Co61TaREd3LtsGK+SpLe4akvK+H98gF1mvJzx3gkPN1yabEr9rt3QhURQH8T4mhfI85q8eA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c176f85b-7215-8526-fa59-a3c688c543bc@suse.com>
Date: Wed, 22 Mar 2023 09:19:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
 <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0077.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7617:EE_
X-MS-Office365-Filtering-Correlation-Id: d04b5c51-31c0-4d69-31bf-08db2aae29f1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XrhNXbP85JsaHlwtlf20e29sDOsaRlDdnVbRe+wp2d0hXlmjn++QuwhsOhStBwPplUCfKgiqovArrolORIgOFa6ZB06pAOSXCwisWL73Oj/8X9psf+PbG/50qCG/WJVSl50wPzOfagusJaBS/5wNJZ+ThIM3M1HcocAa/6b5zG+EiB0DJvXJD+i25zUZ9KA86BRgnmnQvysI/4Y80TkcDj/50ObPK8Ng9cocDxAvC9rV6lg3hDNVmCUyflvVGIkHbhmToiKYuN2E/k7RRdhuBp6mAurMJRgctRgsekkYT5rvDekYmKGuCU9QQhdkV4jN2LjTgb+JVIpFtT+snU+jY6prMeqqcabWHGH1AYpTdTHNBdOfnkBeDJUccpaJf+MEJofUwEFerBtfjoCQxx3yr2kZI143PrbK+v5SEhDEE2kN2CdleQIV/noLWI1uPghYR6dvoXxyCsP9uUOSXTlskatfyqOOTmwOM6VdEUJJRbZQsejXCKcuTEE49oAdX7qtV3UtjzY3bxfEufGx4zoWPctpxONGPZBL/0zYCVgKrVGDT14KX9qwjIrPsRDvr3mPUlJPi1LLVWFxKRruvI1ChKHOP2LG6BCMJ2tpNyk5PYvORgQbCTMPpURmFr1F8Ar41DhZOtHdcgqYG2KU5sVlga/RzqITDYLIR6KJAnzK40OiXGRq5LOBtdbH1GcZ15Qjhh6N/MvBTNIRwwLA69vO+u5zGgYt94SUeO78RYc4quQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(376002)(39860400002)(136003)(366004)(451199018)(8936002)(4744005)(5660300002)(41300700001)(31696002)(86362001)(38100700002)(2906002)(36756003)(4326008)(186003)(6486002)(478600001)(6666004)(2616005)(6506007)(26005)(6512007)(31686004)(53546011)(54906003)(316002)(8676002)(6916009)(66946007)(66476007)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UGlGeGFpQ0dzN2kxNGVQcUpYQWRKYjJzWlBEcVZ0YUpVTXNaY1pnODJidFBz?=
 =?utf-8?B?dmJWa2V5MXk0TDgwZGh4b3Jabm1zSW0xS0NNeE1NcGRqMjQ1Qk42YXdSUTBV?=
 =?utf-8?B?TnRvNWZOQWhMZlBsUzdiUy9VOU9tSDRQaGFwSXZWZ0xqWVVXSWp6dFc1Zith?=
 =?utf-8?B?cWdudGIxejNVRytIR3hpMzBhcjcyUzNrZll2aCtnR203ejJrRTU0dDVyN2FI?=
 =?utf-8?B?MGp0YWRXV2p0TmI3S0ZkaDRVc1l1bE9DbFRkc0gvdU1ZZDVDN1dVZ2owSUM4?=
 =?utf-8?B?SWI5MDFwYmYrYS9HMFVlWmN2R0QyeTNaNFVici95TUxFb1AvUktseDllR3NB?=
 =?utf-8?B?dUswS3lYbEZmajB6TGFPT3FSalJlMEJqV09TazRDUlc3cFdnbjhXTk1mNGZi?=
 =?utf-8?B?VnZQNHpYQ3IyVklNbmcrVWZLYWEwYTg1VmtGNjJObURYVnVMMGFPRXdYVHk3?=
 =?utf-8?B?NUJRQjlkMjNsMHBkbzJmd2ZDTDZjdzB2YnJsZkZOcGVDY3FVZUJKSVcveTkz?=
 =?utf-8?B?dnhoS3ZWUFg3R3Z2SmhtaXdqY1E4WFdwMy9BbDFHdWlWVll2YjZId3VYZ1FZ?=
 =?utf-8?B?NmtJZnNFVzlGOGdPcEpQTWlxcVZ3ZSswamFHWUlKMVpIM1FhbzdJMjBOb2Mv?=
 =?utf-8?B?ZVNKd1FhT3MvWUFyRlRXZkdWeG9Dcnh4STBGd2VmY3JnaWJueVVtMVRrT1FN?=
 =?utf-8?B?M3RkYzdwcGMzY25GUS9WYjJ2TmxmSEJqZC9yWEwzU04yK2lXMG1OOEhCdmtX?=
 =?utf-8?B?c2JoN29FYU1SQkZWUFAyRjJoSHJyaWFDMjlQRWM2c0RpQjhQY0ZCUHBDKzFR?=
 =?utf-8?B?VERjU1NZNC9VRkd0MEVuNEV4dThvR3Qzb2xIdS9QUndLUjhFQ0s3RDI1MVlj?=
 =?utf-8?B?T0JmeS96MEhIbmhvb1FaWVBjMWdTR3E1VDN1eC9kby9YZlV4SVFwaVlLc0dF?=
 =?utf-8?B?WFNRN0FBUG9oQUhUY0c1c2hYMmo3SXFKK1NlSjNMak9xOW4vWHhFT2VBRitY?=
 =?utf-8?B?NkVXYUJGYzhKREM5YXQxOURZbFZxNkdqZm5CNkZNMWNVelQ3UXY2WSs4dmFn?=
 =?utf-8?B?L1MrQkdmQXBmUnJaQlJ6VEkzSHNsa0crN3dqL0V5cWhOc2JVQTNialJtQWJh?=
 =?utf-8?B?aDEyOTVmS1FFM3lkOWZyN3VhdEZhOHI0T2kxWHp3Mk1jSWtwOTZ4UERiN3Vz?=
 =?utf-8?B?Y1pCNDVLVldnR05HbVVCajRrYm53N1VnR2U1UzhQT09uMllSUGdXR3VIRkJk?=
 =?utf-8?B?b1Q0TzBTT1hMdUxlNG9ISnNsbEc2YnBDby9XTTJPUjVONXh5UVQ1YnJvOFR1?=
 =?utf-8?B?dnRrK1NYWklIeWxVcHBHWlUxeTFpSmtFZVNob3VCOHNNN05LdHFNUUVNT2Ew?=
 =?utf-8?B?ZVdGMEtOLzFpSFBST2lLQkU2RVk0elNheEVtM0V2dUJxbThUaURFWFc0ZlUx?=
 =?utf-8?B?MmNXRmlqWE9pcGx4d0tTbzRHQWc5c1Vmclh4ZnlHalhaZTZwTmlYTGZaY0FF?=
 =?utf-8?B?aVB5V1ZnV1c1WWxmWXJUWkltc3JNNWhBNTdmUG1IcG11MVRzN2Z5VlpwWEND?=
 =?utf-8?B?TWNSWFFUSVRmdkxnR1Y4V2dqQTRibm5GZHRERGhLMGEvYnpQOVFlS1pLMGlr?=
 =?utf-8?B?ZFJmTnFNMVI4aHZwQ2pSdTVpVkcyU2x0bm5td0ZvN0dCRDZycjJvL2ZsM0Z4?=
 =?utf-8?B?d3JNenFXM3h2MTA3MmV6eVkwMkdPeEtVSWxJUFBIb3pneEREVnQyQmh0dnFy?=
 =?utf-8?B?aGFKbU9sYWdMSWhTdS9sMG14SzhoR1d1Q0FTSmtMUHFGL2hDTEtwaERpd2ls?=
 =?utf-8?B?VWhEV0xVUFRsa0JoNG9MaUlLRFprbFFmRTAvazdlclZZRGlNNmFuclZZNnBi?=
 =?utf-8?B?QzhRUGtWS21qTWZsMjRNRGxMajFGY2xUU1VIb1AvUjh6RVA2bHFERWp1eGQ5?=
 =?utf-8?B?Z1R2NUFMVGpiSSs0THJuM1dSYklYaFZZMGwwaWhFTnRhU1FlNE9lbmYyKzlo?=
 =?utf-8?B?cndpbjl0TlFFSEJnaDFlN2lBdjBKTFJwbkFaclM1ZXlFcGphL2h5K2d5YWY0?=
 =?utf-8?B?SWlqcEFHSEZISGJkTld3c0FhWmtHTmk4cUNpQiszdU54b2F5cHBIbWs1MExC?=
 =?utf-8?Q?Euw6ZmUNzn5cUMUMyZcD6AP3+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d04b5c51-31c0-4d69-31bf-08db2aae29f1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 08:19:32.0968
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WO3oGTijI2slbQcYewJM7srnxKnF8Q+20afylKwnlbqGwIs03BswonDWcE0GkbElMBoLOUzVoHXQmBtLeVcl6w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7617

On 21.03.2023 18:58, Julien Grall wrote:
> Also, where do you guarantee that Xen will be loaded at a 2MB aligned 
> address? (For a fact I know that UEFI is only guarantee 4KB alignment).

I don't think this is true. We rely on UEFI honoring larger alignment on
x86, and I believe the PE loader code is uniform across architectures.
Of course you need to specify large enough alignment in the PE header's
SectionAlignment field (right now in the Arm64 binary it's only 4k).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 08:33:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 08:33:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513177.793799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1petu1-0002Gb-6a; Wed, 22 Mar 2023 08:33:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513177.793799; Wed, 22 Mar 2023 08:33:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1petu1-0002GU-3L; Wed, 22 Mar 2023 08:33:01 +0000
Received: by outflank-mailman (input) for mailman id 513177;
 Wed, 22 Mar 2023 08:32: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pettz-0002GO-UZ
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 08:32:59 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on062a.outbound.protection.outlook.com
 [2a01:111:f400:fe1e::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 259e2c3c-c88c-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 09:32:57 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB6776.eurprd04.prod.outlook.com (2603:10a6:20b:103::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 08:32:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 08:32: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: 259e2c3c-c88c-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VxKMWscBeKNbao5edbGtQliVlDq6v2uiMwGfKkm095Nk0+uHFYjMo264oZET7h9LkwB4sBLrIDJHrfoyhHcSY00gTppO6Gaw3kLNR7Z8yyfHO0kGYcFTdMqnoSjBKL5Qa46R1Zfh6XUde2XxwgFLZiPX+99Yeewx/kPc/qexarmhfTCwaB6ufUbgoJsCYIUnjMf05vsiuScWzMnSXxoA/p0B7Y/GVUMQHg6Uv3KuGWv0iTcPctRvsIKc+KhhgKgfY4olzskN8KTUmMwoa7WU89F9IwS00cj9pdWgiEm4JiYiJcC68mK4t85e3SioGeK+TYauWpkmsH1RRwlRbHwA+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=JHyXxuU1Rhypu2bnUFIt+NLA3tWX8vHS5GOBOKlaYgQ=;
 b=n1Q3sTKNmbP7RtIytf2wxQdKLHESdNu5NjCMovKQFj0htWLDfdZnRJ8nl8Oyn+K9rD+LHbmz3HUlHRB+y7L2ZmzCqQt5p6MKrTFo3+JK8lhvVu+iPx8YDU7xrj7tVvPfi6cSKLMtM9pIecd8Ajm4AWPuZyOtEYw9e0rzfgq8srhxCEhidP6Pn8dU5qv6DiF4YARV65R6AJ7W4XTaZkOjytzHJijM4XzkNp5ysYuV7JlJeqFYaFHiGyX+k+9xid+L4lbMGy4GpWzPhhD1CtIvq9etjh9UYaC3439MA0nIdc/map4pK9W7IpuzuJzYtE4kwCWppLvI4t+X7UfdYM0GDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JHyXxuU1Rhypu2bnUFIt+NLA3tWX8vHS5GOBOKlaYgQ=;
 b=Jr4Ww8qsNxu9mQ/5s7ejz0Q23eFTTVUFZcfuLMu5UwhVwnA7jUYmPjr3+OKGzbibASy4qReHpr/zaq7bkcz2+9N9WhQ6XchPLJRPmMVepUB7JtVjdIiRmRkfuRemiPYlquBTCya7EkhOXqdIdvRTeRyL6t/BxN+mNTq2dYIZDRA5fRGvX9s71zLFYWoce7/u3GTpPSW/ItTKNNWLipDoq5TkFj5m3PnzEB5P0BGMP9yHxJ/zmOn1hzTOxfpj0oKAry06xd1q9OXi+RpKfRQIhpZgMkBETmbb/fDMrDvTAx0GuRBGtlN1I5CfnvKqqtQxJ+ahxd2s847Em0dNfQO7qA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0806d3d3-ebb1-f9cf-2746-4619ac1b125c@suse.com>
Date: Wed, 22 Mar 2023 09:32:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v6 1/5] Use HTTPS for all xenbits.xen.org Git repos
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <cover.1679412247.git.demi@invisiblethingslab.com>
 <69fdc220c4cf7cd571e60a9e5bc89150cfb52017.1679412247.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <69fdc220c4cf7cd571e60a9e5bc89150cfb52017.1679412247.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0048.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB6776:EE_
X-MS-Office365-Filtering-Correlation-Id: 1bcacb2c-4ba3-46a6-c05a-08db2ab0087d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jc4rc36x3mDCNQPpcdfEpNb9ygh7WG57XT/tfsPvWHD2yMeTgybkb2tgs6nAnBLPAa9w9Fgjb4knqpLc4Wo/ulkC1mkZcUiM91XbrZpo4/llUOJD+akw5qo0NZVzAkCMYUVkmf0fgUb05r1xrM5gFtQ1KQ8ZBlvS/b0uN5CcxCxD3GPf4kIm+sRSPiaJandQkqs3ZJMc/Q1kSDXdSylATSZ/E5QBaxXxZo2QQcT2k5gweImEfagKQPFlOgpFAIX6Q3cbKcQNqgBSSXw0F5E5cewpc4Wxidc6IZYh5GXc9HRuP+ua+f2EcxU95gAflFq6bf8Szly7Ns3e4LEDpRYnJxLanxKrw+yQ2rbcL3wRiKRn9wI9ehe6iP5yQHh/yxOnkDzaf7gCbmJQdnBCyVuwBqOELMoRf77FUD1cjT38a0R99NibFfHX0UBNIg4ksmXGLv2HptmJm1+fxXDo3FvXyk6ytAUtD6HDLAnqfAE4ZLg40YIggex+fy8wvuE2ejFhFFhuyiy/ey6pmG7/U9258sDhcFOllw81UXJE7hF+wHgNNo65OEuc5VduhNrVF3pz31zXm/hPA7CfbpgwlGoiSh+87sq8gMjannFJlxgOeEvAMM65A20aDeJiQv/sywNCm/Z8pHsSwfqNHvJ84J5jJAstA/QoFktaQpEvgOSgaIsZMO6FcaOBo6QyTHHThurSzPptliEhJBhj3cRSZNV0GLUyggIMNcE6DbKVzAjeBLQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(136003)(346002)(39850400004)(376002)(451199018)(8936002)(5660300002)(4744005)(7416002)(31696002)(86362001)(38100700002)(2906002)(36756003)(4326008)(6486002)(478600001)(2616005)(6512007)(41300700001)(186003)(26005)(6506007)(31686004)(54906003)(53546011)(316002)(8676002)(66556008)(66946007)(66476007)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OVZEMWlNcGNlNmYrR2lWMHlDcFIrcE1FODc3NElicXF6aWd2czIzM2pzYm11?=
 =?utf-8?B?dEZhbm14anoxQjZMNVphbUE3dm03Y3FUNU13c1hJbU92b3JaeDExbXpYbFpB?=
 =?utf-8?B?UXo1bGx5ZW9WWUg2NGNCeThSMmFjN2tQWFU2Vmk2Q1ZCUGlTbmZ3U1RINDhG?=
 =?utf-8?B?V3RlTzRlMnk5T2xCODArL3k2aW9hUTF4ZGZGanJSZWJmOEx5L2hFaWpUREdj?=
 =?utf-8?B?NEJnZUREQTRjK3IwNndTUVlFOUR5My91Z0FOUW4rSTNNNU5weFFFNDYyKzIx?=
 =?utf-8?B?Y092amFCWVV6WXJzK0QrVlM2VE5RalhFUVMvQ00zZzNuZnhHUEJ6TDMvbUNC?=
 =?utf-8?B?dncraC9IOURaWklQSlQ4V3owTS80OXpLZHoxTlBJWEJaK0JCRzhaWGRzUUVH?=
 =?utf-8?B?NWEyOHcrME8yYlpVL01oN1FQZ2hEUFVGck5EenRWM2hXL1h6a3Y3NXhYRWd1?=
 =?utf-8?B?YVdMQWo2ejhGUy9IYkNaT0htN1lpeGMvY1dpcVJFVmxkbStFTHdSbzdjbEk1?=
 =?utf-8?B?djFvelY0eFVQa1FjWSsyMm81YzNxQzRRbE5HeDdma2hYZEw0enhQOG5QaERZ?=
 =?utf-8?B?ZFlNNUd2SjZIRkFGYlVCMis0MTd6bXR6U0FRWlVGeVIrSm1iaEc1M3lGMUtu?=
 =?utf-8?B?ZFM2MmFBODdLRmE1ZWk2VlpFVW14ZkxpVTJtdG82TXA1M2Nub3U2UnhWdUds?=
 =?utf-8?B?S2xkaytnT2RxbXBlSFUwUDBFL2wzaUwxS1U1TU9ycVJhOUtpY0ZYVExBUWVR?=
 =?utf-8?B?LzQ2djNOVDFidEdXSjdQTGs2VTZUYzBIbDZFS3FUZUIydXBNak9HMktFbFdl?=
 =?utf-8?B?MEhtcTRnQXhYN090blEwdkYwVS8zalptZ0Mvc250Zlk1OGdFRVA2eHR5Z2Mz?=
 =?utf-8?B?L25jS0VjTDRoNkhpaG00U1lWV04vM1dSVmNjZ2VJQTU3cmZlQXhhZ09SUVdn?=
 =?utf-8?B?bEQ0Z0dxU21tajduRUVzTkUzK3ZrQ1VQQmxxV3k5TnFwSlo4ZEhDTE9YY0Ri?=
 =?utf-8?B?M1pESnIvbFUwS1R1ekZYbVlNUGYwT2g1Q0IxdFZYY0ppM3R1YThZajNXOHd4?=
 =?utf-8?B?WFpjZmliYkxncm92OHk3OTRMc2Z3RkVxQ0ZwOEc3TFk0MXYrMzRnMkpnTWlq?=
 =?utf-8?B?Q2xycEY0ZWFtOGhHdy9lQ1B4K3NXQUJMell5NzVtcmwwOHlEOE9Pcjl1Z1F3?=
 =?utf-8?B?UlV6NFlNMFRWK1hTRUhzODJvdFduS2M4QXpJdGRRMS9qbGhsVS8zZkdJZFhy?=
 =?utf-8?B?cDRGQVM4ZUNxbHA4V3pjU3lVZDlUNGMvVkxVdDQ0Wm44NmZ6cmIrd3F1NzM2?=
 =?utf-8?B?NzlsTHVmUGFLU2Q4VmxLaWkwUUFvRkVqVlBVS2tpMGV6UUV2c0d4TmVwOGxW?=
 =?utf-8?B?RHlnQnM3YzdxZ2ZFQzlVSk1rSzZ5UTU1TCt1cUlxcGN2dWR1OTlrbjhpMDl4?=
 =?utf-8?B?am1qNnBsb0hnUWVNem5sNFhXZnJFL1dQNEFSbHlvOXc2NTFUNkw4ZXQ2azl4?=
 =?utf-8?B?Uy9hWUNoY1cwS0lsb1NVejNnQUUvMzRDYTJaSURvdURzRlQyRDRQK240UXZi?=
 =?utf-8?B?MG1ZbzhwcmJmSng4RjVnNVc1Y1JKUmVtVEptNDRwVXhVSlN6MVRIck9vd1px?=
 =?utf-8?B?aUF3K2lMMDQ1Mm0xc20wV1RyZU0yaGQxNnJMQW1lZDhmK29DK01INUdCNlFQ?=
 =?utf-8?B?WVlRR1FvNFJwd2VmemtCdk9sVG5UNWpmUlcwTnllZFdBVWdoeDJzcUZabzhE?=
 =?utf-8?B?VzROYXFjMy9PM1ZyUG5ZN09mcjVXZTJpQTZlZUhVNzFJS2lEeDNOSGVVWkNF?=
 =?utf-8?B?cjhIU1MzamVyNW5WVm9oL2NCYVRaajA3R0FhVXpudXRIQmR4OHkwc1VCaktQ?=
 =?utf-8?B?ZDRka1lrOTNQaDhHV2RKbUJaZERFSkFhYVgyTGExNCtjUjRiYzFPVWMzR1d4?=
 =?utf-8?B?WUhYdEpIbms3ZWZzU00xWStwa2tQUnNGZC9obDBLLzd2YzlnZE9adm1EUVJl?=
 =?utf-8?B?SU9rdzhMNlVzNHllMlpKTG9yOVV6a3pBaC91eTRkV2FoSTVEbWh3STVKUGhE?=
 =?utf-8?B?a0FPaFVwUWNwbVcxanIrdW5oWnZDbkdBVXJZQzFLTForcVZDd3ZjTmh3Q2Iy?=
 =?utf-8?Q?PBfMN631zt2WU9OKGHBMI9hwE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1bcacb2c-4ba3-46a6-c05a-08db2ab0087d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 08:32:54.9689
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LgFER/xk4sw2w7Lyawh5ssYIQJQM5lZOBknQNoomvBM8bWLojcxjUGo3QsBMv8D0DhLxxl3ujhUnxMEALwP/AQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6776

On 21.03.2023 18:33, Demi Marie Obenour wrote:
> Obtaining code over an insecure transport is a terrible idea for
> blatently obvious reasons.  Even for non-executable data, insecure
> transports are considered deprecated.
> 
> This patch enforces the use of secure transports for all xenbits.xen.org
> Git repositories.  It was generated with the following shell script:
> 
>     git ls-files -z |
>     xargs -0 -- sed -Ei -- 's@(git://xenbits\.xen\.org|http://xenbits\.xen\.org/git-http)/@https://xenbits.xen.org/git-http/@g'

I thought I had asked already, but looking through earlier conversation
it looks like I only meant to: Why not git+ssh:// instead? Iirc there
are efficiency differences between http and git protocols.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 08:37:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 08:37:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513180.793808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1petxw-0002ro-MF; Wed, 22 Mar 2023 08:37:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513180.793808; Wed, 22 Mar 2023 08: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 1petxw-0002rh-JK; Wed, 22 Mar 2023 08:37:04 +0000
Received: by outflank-mailman (input) for mailman id 513180;
 Wed, 22 Mar 2023 08: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1petxu-0002ra-KH
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 08:37:02 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0625.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6a110d1-c88c-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 09:37:00 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7537.eurprd04.prod.outlook.com (2603:10a6:20b:282::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 08:36:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 08:36: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: b6a110d1-c88c-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bG/KMTTarxW3Id+DDQtIJI9QVYzMiYBRRf9bjTnVy/EenEqRRGRtWyEbhp7qDKiMFjhpJqCR6EbJYsw7yNhAHrR2DWQnmKbCQ84dYf46S2xUtr+NjQXUdCf7lYSTAXLV2UH9Gte0Mz24iSrjRCiGO7mp6MS2Fm+qEwvZZ+jf12L4e70pzFQIQbmR55KD85MhPcQPO1XHOKDC0CAfqWU2Iwo1LqWr8gZCA4Xom4xjVfm0oTKm6PsC5MnaUgZoEjueFc1flF5dFyEvn8QpjszYTmj0DGsjma7S1i6mNx7lGkJbAyDZ5qENgT2GQrqPLw7Sfn2gXA0NvQ8XiHv+wr55kQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gt2I6FLif50/FCRCNDZAKGgefhqwWH03i4HGUDAO/YY=;
 b=HwJq4rwvCqyLPFo6jd3hEGfKdmU/e2tH/zj8hrgYiiIKEoFhsQCZnO8iv3Mb7GOgJ0ik3brpmuMHKd4Y69D2uURID9WRATxrk1Aq/DwGn1jSwJX9PR0W5kIbu08VFiqrn9xTAVlFnI/wIqpaQF1hH1VuNqBJjMTZx5HSE9IEvapfnLOMdXWhzOqnc+PqOJZzoVpZtCLhmWCNUviXZBX/O9koEF5iELNAWLXxVBRDvVMIqp/DXwf/61ZZoR/jVGGOkSLtJkDmpJVacFlaikv9+CUGZunKW2ftDUc5HpRfzQAmgciMZGWLaHZz3NoaeE+GYNXPEkIcTV4QJDZ6NscoKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gt2I6FLif50/FCRCNDZAKGgefhqwWH03i4HGUDAO/YY=;
 b=OoMe5Hk/KlR3iiEk6Pm0341RyJTZYevqU6WEVBOo/2LlG1bW8pojcwt1Xzq2EgQlq0w9yoA0tqcFpKqVrgmLLubBO2ejiMTHqd+jxQet1Lx8M/ICwNUJqYOtEjg+4dx7bmfMErrxbaE+Bzd86fiGy1wGN8HD58HkFG1rUmAqu9kx1XnsMDYy0Sg89zfkdF6pWrq9WIqqncFK6+o1rZvnkGe5i9oksbWSMLxRSm4pas7PgzBX/D3fBrcnCCOqUmrqjnu4qfA+LaT5/l1i++D6CkM7e5baElIGrD67Xh9Vf7EKmEcQi6gwmUs/GkwhxZFqYNtk/hP8mgi4NCEgHs+/1g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e1705e8b-12ff-6d2c-e430-709fb668b2d4@suse.com>
Date: Wed, 22 Mar 2023 09:36:56 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v6 2/5] Change remaining xenbits.xen.org link to HTTPS
Content-Language: en-US
To: Demi Marie Obenour <demi@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <cover.1679412247.git.demi@invisiblethingslab.com>
 <ee6b94ac9b10776a87ac71814fcaeb51121037ba.1679412247.git.demi@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ee6b94ac9b10776a87ac71814fcaeb51121037ba.1679412247.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0054.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7537:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ae3f955-87d7-463b-10b9-08db2ab09971
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9hLcTfXdpf4ceELgDz6QWoW9sqZRE9eiDAL2dXo9uvnnLDeQFL6VAh0277EqSPIC/6wazEu/T+MbTYVEecW8wv1eEuif4W/gP7EVqxdXxdUMTiroWizcRwrpk7We1OdOmSGjm/Ic3t2PuqzvG/xUHyK+/L3K9zPDo4XdUiB2HPlQ16M4J+GKR/rEpN1u9WpXvXVu76XWHP2QP+EnuqmaBPj4suNVVvqxDBUUzgS49l8kBdPiIqSs6SgPcPtx4aseGzvXbD9PFnTWMWRsMQoKrd/+P0PIeZO1S8jVd6D3yNfTnZCx9hnZLhvbq12sow5mxT7KrCxZndn5f1mIY8CQGuLROhMnyyaVd2G8mMJ73Cdh40n5mTA36jUmpCOaZ6Qz3g4I0SpiuGUuEGgpw59QJVZ3+qMikofus4COwlj0w3WcLVpGGJ5Cb7+/Y8ekuApyjavXjTE7CtW9GUun+yxVmptwoqhCTEDriiOmZQ0JXoDlceASSBF2xE4RAs8frShNCKjVg9WdLO50mkijofIlI6txh8SyZBRpYDAXmNdcXWarpC7TnxHEOfFWU8JQsfLZgoD6/Kgp7vcNXGMjeuRS1FFZza5U+VPJ/Vmc4H5StOPYMc4DCudbkpexDgy9Y9GHYSkAcvMsdzJjv06Xk7cQeAGnXS6mifhHB3BCyLN2X5GU7MYy08Sx60Rp7uPEazi+zgjt2uHmDr4tHJoO0LN8oi1DQYpVZTflfshZLHshkMs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(39860400002)(396003)(376002)(346002)(366004)(451199018)(31696002)(86362001)(36756003)(54906003)(4326008)(8676002)(6916009)(316002)(478600001)(66556008)(66946007)(66476007)(53546011)(26005)(6506007)(2616005)(31686004)(966005)(6486002)(6512007)(38100700002)(186003)(2906002)(5660300002)(41300700001)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bkJsMXgxL2hRQnZWa1RpamNmUnkrSFA0MVpvVjZySDlFYVNFYzVKTEo3OGpG?=
 =?utf-8?B?V0twL2N5WlZTYjA0cEZKUGxSUnRadXQ3SmxzSTdjVS9wVVNyZjhyaW9ZNm0v?=
 =?utf-8?B?RUhJbVVrd0Q2cnlGSGx3YUFsMVNmUDFWRVEwSnhjVlRMYmpLRmtBYzVmeDRR?=
 =?utf-8?B?cWFWdTBYZUtpSzhVV2hjWDliTW1hYytuZ0tZTkxQblMwQktBODByZFVDZVJw?=
 =?utf-8?B?Ky81RTNGSTRaaXBkaDNNNm9yYUlLQmtJTnRaSWM4SFVORUJJVGtwcTR2QUs1?=
 =?utf-8?B?Wmsrd1JrZlJKUXBiZVVrUXpOZXBtU3hPM1J0Y2JwRWw3TzBZbHVsejZsQVd3?=
 =?utf-8?B?cWlPOHJ6Wm1kMHBhNlpFN2ROSmIwT2ErNDlMTWxMcFlmV0RGSkRhVWRyaFRE?=
 =?utf-8?B?NnNhUmFMQ1RMWldHc3JsYzJ0MjJWd0pVT1BHVVVZMW5MckFIbjZ3ajlDdU5r?=
 =?utf-8?B?bEhVc0hUZXNvdStyYjVsM0FhdzlwSktOQldGdUxpWFBXSkw1VkxkNWt1NzJU?=
 =?utf-8?B?MndiMmV5RTFMNU85aGdaVHpyVG05VWNGL0lNZ3dzR0JIYjh5MTk4MVdDL3ls?=
 =?utf-8?B?dDRFUWFtVVRmWlAwVjdzd0ZoVWF2SmlUY3d5ZlMwU3FsNTlleUs5ZndDcFdX?=
 =?utf-8?B?Q2REek16VUYwUzVwbkZVanJkU0NOTEhIMWV0QTdHUnNlbGpMbTRRM1dISEs2?=
 =?utf-8?B?VGxpcUFRMHIrQ1JGeS9mSThoTkhpQ2E3eVd1a09HUzNKcFhQUG9LLzZMOHc0?=
 =?utf-8?B?TGxidm1qWHA0WXJScDhSanRLWVJJd0J0K1BUb0JRUm1nV1duMzNRT0czY1po?=
 =?utf-8?B?Y2VRekJBQmZlTERYaENhZTQ5eXRmc3NSUUlyaWwvaVBSUG9RcER1MjBUZkFV?=
 =?utf-8?B?ZC80VE9mb21jWWZ6QmJSaUtDVStCTUtBa0ZCWGFVVXJhZlJRVVgyRUN2eHBR?=
 =?utf-8?B?NlJHalZ2dVU2MEpJaXZHZlhpUWtkWWtONjdDbVg3WVYzNmY3RzN2cDJieUVk?=
 =?utf-8?B?SytTNVQ1aXJ3Y0pUZzRuOHdlSm0ycVdtWmxnWlduYmI4b3V1Yi91M3lSR2Ey?=
 =?utf-8?B?ZHlzY2ZoTEIwN2lDSStHU0JHYUgvbjVPUk50a3lXckE1NkdmZlNuM2puVnFZ?=
 =?utf-8?B?dk9IeFNmRkprODF0Z0VBWHdJQ0lBK2Q4Vlh4ZTZMTHo5bkRoUGRSRzhnL2Zw?=
 =?utf-8?B?VUR3RjZVUzJFYlhJZk1LNU16dzNDWVZnUlMzY3VzcGpUdjc4OFJGNTVpdm5V?=
 =?utf-8?B?Z0pRWHFSazVDOGtpaWIrcGlUaDhoWksyK2F2V09vMEhrVzBPdnJrMFhMczQ2?=
 =?utf-8?B?UHhpSEE3WndVSGl0b28rU1A3NlZqeVFQVWZtc0E4Vk5ZVUtDZ0FyUEF3RUty?=
 =?utf-8?B?S2FwTDJwY0t1azl2dm16b3ZzYmRHaHlXTk5NRmhlNkUvWHR1WXdLalk5eVFj?=
 =?utf-8?B?RlJqRUgyZDl1ajJpQzBrd3piVWlLVlQ5L1lyOVU0VlZZN3E4aE9RSTI0b1VE?=
 =?utf-8?B?Q2ZqYlZ0UElZNW0rRFNDdS9TeU8weXZEL0NWcjJpQWd3WHdSdEVpWENVWDc5?=
 =?utf-8?B?T0QyV1hLK3h1bHRKcDN0YklaRldWV0YydlVWN1dXTmxpQ2E1OVVWbnRBQ3k3?=
 =?utf-8?B?Um1EdnI1Vnc1UGU2Rlg4bDB2RTFNMzRZamxXNGt4RldVVExWK1A4QnJ2MjBy?=
 =?utf-8?B?VGpWWjJuOVBTUTd4ZXlDMjRXanJhK3g2dWxEWC9XelNiZGdVbWRwMXZWeGhv?=
 =?utf-8?B?ajBWRERuZ1lKYlhCNzloci9IMWN1YWoxbDlLUHJSR1kzd3JoNGJOMnh5SFZE?=
 =?utf-8?B?VkVPRUNXV2VTT2hBbTFZRS9Ca2lOSXRWSjMyc1I4TWxtSElHb2RMSFl5OE1B?=
 =?utf-8?B?a2tjMzI0WU1STXFIWGNodWJhUXhSR2lXa1RWK2E1WHpqTldWODdmVnFtZjdU?=
 =?utf-8?B?dTRnQXpXOU9uODBhSWVJM01jaGlzQ0lHaWVrei8yeEVhZ0toYVlXcEZpaHBP?=
 =?utf-8?B?WHNXSi92b05nV3BBaUdvSWk3ckNtM21zWFBjRmRlcDZFU2FZM1ltaGpSNTRC?=
 =?utf-8?B?QkZ6WC84emtJM3hFOVlnVFhSYSt3V2crR01tbTlwcHhSbWNnSk5RMGpxdXRL?=
 =?utf-8?Q?k8ogF6Vde9Q4MtB5oiXYTE7tK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ae3f955-87d7-463b-10b9-08db2ab09971
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 08:36:58.1554
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ibawz1h1Y2JYSUNUMi7rrHrKo2jZMmF0lb8EnnXy/pNR/ANCKxQ7qpsBnpuR/ST8pK4gyrzqJC9Z+AB9YBpcbQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7537

On 21.03.2023 18:33, Demi Marie Obenour wrote:
> Obtaining code over an insecure transport is a terrible idea for
> blatently obvious reasons.  Even for non-executable data, insecure
> transports are considered deprecated.
> 
> This patch enforces the use of secure transports for all xenbits.xen.org
> URLs.  All altered links have been tested and are known to work.
> 
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>

A patch of (almost) this title was already committed and then partly reverted,
as it had become clear that ...

> --- a/Config.mk
> +++ b/Config.mk
> @@ -191,7 +191,7 @@ APPEND_CFLAGS += $(foreach i, $(APPEND_INCLUDES), -I$(i))
>  EMBEDDED_EXTRA_CFLAGS := -fno-pie -fno-stack-protector -fno-stack-protector-all
>  EMBEDDED_EXTRA_CFLAGS += -fno-exceptions -fno-asynchronous-unwind-tables
>  
> -XEN_EXTFILES_URL ?= http://xenbits.xen.org/xen-extfiles
> +XEN_EXTFILES_URL ?= https://xenbits.xen.org/xen-extfiles

... this really is part of the build system. Hence I wonder why this wasn't
folded into patch 4 (as it should have been from the beginning, which then
also would have avoided the noise about committing the patch too early).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 08:38:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 08:38:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513183.793819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1petyv-0003Nd-0h; Wed, 22 Mar 2023 08:38:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513183.793819; Wed, 22 Mar 2023 08: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 1petyu-0003NW-TW; Wed, 22 Mar 2023 08:38:04 +0000
Received: by outflank-mailman (input) for mailman id 513183;
 Wed, 22 Mar 2023 08:38: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=R7Yo=7O=citrix.com=prvs=438d02f35=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1petyt-0003NK-Ua
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 08:38:04 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d95b0a32-c88c-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 09:38:00 +0100 (CET)
Received: from mail-bn7nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 22 Mar 2023 04:37:56 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB5979.namprd03.prod.outlook.com (2603:10b6:408:134::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 08:37:51 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 08:37: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: d95b0a32-c88c-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679474280;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=koSEuckGgeFSPgsPxchK7FGfCjpN+n7EF6jC65HgeME=;
  b=GpiVrMXieZaX/hvwZrKv0unT1V+9rRM9etZBcag1A+Gw2bpb3eTF99yk
   Cjp+cOlCvc/HlMh8MeDoQC58deadYm8lV6gYZLSm8VtITUayw5tT+BVCh
   kH8gx3LoNZ4ML5cMnsSG51KJDQV+GMfk+ljFncQmyoHjcJ7cYX13VvilL
   Q=;
X-IronPort-RemoteIP: 104.47.70.104
X-IronPort-MID: 101835340
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:M+4YFqrcFqfR+qlrSfAd9FivrvVeBmJKZRIvgKrLsJaIsI4StFCzt
 garIBnVbKnYY2WgftoiPNnkpE0PsZbRyN83T1Bu/C0zQSNH+JuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSNNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAB4EUQrdg7y2+r2YTMpB180Ac+m3f6pK7xmMzRmBZRonabbqZvySoPV+g3I3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3j+CraYKJEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhrqc62wDImjR75Bs+aQaHs6im13aEf/FVO
 2MO9RY08vAJzRn+JjX6d1jiyJKehTYQVt9RO+w89gCWy6DQ7hqZB24LVTpIYpots8pebSwn0
 BqFks3kARRrsaaJUjSN+7GMtzSwNCMJa2gYakcsTwEI/t3iq4EblQ/UQ5BoF6vdpt/oHTD9x
 RiaoS54gK8c5eYQzLmy913DhzOqp7DKQxQz6wGRWXiqhitmYKa1aoru7kLUhd5DK4CDR1XHo
 3kAmOCZ9ukFCZzLnyuIKM0WFbS06vLDLD3di1dyG4UJ+jK2vnqyeoYW5ytxTG9iO9wIfjLBa
 0bJtQRcopRUOROCaKZtZourBscCzK7+FM/kXPTZctpPZJdqcAaNuippYCatM3vFlUEtleQ1P
 8ideMP1VXICU/0/kHyxWvsX1qItymYm32TPSJvnzhOhl72DeHqSTrRDO1yLBgwk0J65TMzu2
 443H6O3J993CoUSvgG/HVYvEG03
IronPort-HdrOrdr: A9a23:GH9KRqDj9Ez0WHrlHela55DYdb4zR+YMi2TDt3oddfWaSKylfq
 GV7ZImPHrP4gr5N0tOpTntAse9qDbnhPxICOoqTNCftWvdyQiVxehZhOOP/9SjIVyaygc078
 xdmsNFebnN5DZB7PoT4GODYqkdKNvsytHXuQ8JpU0dPD2DaMtbnndE4h7wKDwOeOHfb6BJaa
 Z14KB81kKdUEVSVOuXLF8fUdPOotXa/aiWHSLvV3YcmXKzZSrD0s+BLySl
X-IronPort-AV: E=Sophos;i="5.98,281,1673931600"; 
   d="scan'208";a="101835340"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TlTqM1P70MsO9MluvT2WXAVuRE3G1RroWLblUn8nQbpmVw4rFSxPdGdPRBsroQpLksDDaKCXM2l4X1G4rbl2FXU3BoOW9CgONfWFhSeAgiW6DbRHGrXq2kT56xs9FffvZO/9DlDx0LJ1sVjkNcEmoQFDlJP//pLJyXAUts3nxsxcR2t4Pd9Z6hE5YBTkmcM2UAVKoLzg5x+gMB6FKlixQppY1262RBqoO+gQ2FyJjFKdYEr19aEROhLyx6ncTet04vp006rnDigmqI+vxPlfnxY/mlyRRp8xlWih9nwP/VxEELcfSg0EC304xZ39PW/LPCrWD6r4kEOckdjmD83Wrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=niFMNroS5hDwAdYUuG33SBNFdN52TSek06VmkGZu0EU=;
 b=PCkH4qzBN/W2nlsqqG1Hlq827k1uIsTbHkyKuuYkjtjqDffz873T33KS3qG8T44ejdaCNMSQ8yyhE7tRlqBFCEwt5V1SJo825YgJryocJs/TYe+IEdDna4es6tZifItTlEWbnfTAbyyux8z97AxYbX2Zn2kexK53V8vC1BdDfqXzPH8/PujyYP95wGipveLZHG2tdIfSKSdmQifhjU/RHZMpP8ujpqGl4YVZK2R274lkCKbYNRwEYUZXDfffsz4sPYKUZwGZbBrw4wcI4btXuLoblErj2JDgjZPOWZx1T/MQaac6y0J8MLK/u1ta9iWNTrIPmZQNR2E6fJSLajNAOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=niFMNroS5hDwAdYUuG33SBNFdN52TSek06VmkGZu0EU=;
 b=GJlUPjIG/x3BQpaLjuUZ9wEBCxr/oQAMG+5Pb/4B+zFOzOB1SvKPyUS2dHVE2+h65cuLJPA3l7wDVpUx2plkcRWpPVzn5JdeoHGtMcN3qq0KP+UMTkY7/Cji2bXs7F4xhdmqybAAdJKYXDxnO1DSqQjPJsqTlRxShjZpAqF4VAs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <fa35a012-dd6c-426b-2c54-f03024b010cc@citrix.com>
Date: Wed, 22 Mar 2023 08:37:43 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v6 0/5] Stop using insecure transports
Content-Language: en-GB
To: Demi Marie Obenour <demi@invisiblethingslab.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>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <cover.1677356813.git.demi@invisiblethingslab.com>
 <cover.1679412247.git.demi@invisiblethingslab.com>
In-Reply-To: <cover.1679412247.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0690.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:37b::7) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BN9PR03MB5979:EE_
X-MS-Office365-Filtering-Correlation-Id: 4277c640-fc38-4694-7aac-08db2ab0b828
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HjY0QlZ/5vJ2ffdI0DIjzVpCYH+GNwy41Zy2qC87kpdxyy3JhPncQlau7tBE+dLzdgjitaSt5U4McO7SdtzY9Ra6NYURlFOJ85z9nuQytXT0Qy9pHECNR1yfrEFeXBdrloczJUNQboM3YioI97JTnSvuSi0sSHLU9uIQJEHGq/10KBZ6Dd2tOoDNAtwxA0VULsb1af7PmeCrzn6l7cAZQArWdaCPQ2j2D6sMYYP07xDHrLQj///NOq6QMP/bOw3nK2w2Uo1We0yl+9mAFUPMygGEJASEaFkZCT4IdBhZ4pplzUpSf+TxuRVrtHtPKi/bV+JeRJsjKuUJK75If8+HWs5zuvAfdyqffhAgowPYE6FGoZhaQuwCnPL4/+WwQWiyzpX0U8opAqg4mhAsb6t7CgFWVetZJSLUg1QUr0JFmZVV4Vp+zrBh4qMM4pb9QcUffnHTwRAmI/MacAzBc09jb9vm/uHNMZxAeiSuKJw1Pb4G6XLFs/JzJjTYv9kEQIbs+KFTRs8WIoyOSepm99Hrjw50SifX5FcrTDiJj1LF1IwEk2irxNq/61fiLlMY0j3PEyggdaRlynpU4jEUlhVCgz60GPx1v923W3cYzRwEOA1V/BBtL7b+iJ80QBq7dXj23jsrK/HN8C+PsM/Ep6Oqn58puC1s1q6kIcj0tQloe0JHPxcmE2+nrST+pxeMcBqZU5RLRRGeI9Vufsah06AAnv/333RVkHgg6LPkjTjLou4lO1qpYNkjUTxv8Fox8VDs
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(39860400002)(396003)(376002)(366004)(346002)(451199018)(316002)(31696002)(38100700002)(36756003)(4744005)(7416002)(54906003)(66476007)(8676002)(66946007)(5660300002)(4326008)(8936002)(41300700001)(66556008)(86362001)(2906002)(478600001)(82960400001)(31686004)(6666004)(53546011)(186003)(2616005)(26005)(6512007)(6506007)(6486002)(966005)(43740500002)(45980500001)(376185003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VVFHSFdoVDllSFJUZlV1aHNOZUhXbmlXTGtsRTV3NG8wZVduUkx0K01PUit5?=
 =?utf-8?B?YzcvdTVLMWJiTWd2bWlsMys5cGFWd0ttUlZuSEFueDBNOExqWXY0TDRDRllF?=
 =?utf-8?B?K2ptTjZCZ2hTTlYzUVY1SmVVV2FnQkRRRVdxWldLaEZacjRmdmI3MFZ1Rk1l?=
 =?utf-8?B?M3FRaVJtN1pOZUhPYmo2bU11U2EvbWU3WnFQRXh2QzJxcUxNUlZSVEllNXlr?=
 =?utf-8?B?ZitjWU9oVnprdnU3eW5ld3M3WndVcUJoNG5vaHJaYkdScTNrZ1M2VWx6RWRo?=
 =?utf-8?B?NXF3eWNyOC96TU9KVkd2aStwKzBDNWQ0RWR0TXZtY0xsNGoxWk00Y2Q0a3B5?=
 =?utf-8?B?bVc5bTR1MkxDNU1KdjlwQTE0Vm1UYzZzdDdnaG50WTNVUkZkam03NSt5dHlh?=
 =?utf-8?B?bHcrQzRwMGhpM2xkOUt5L0N6UXpRVi84YnhoK21QdHBjRzREdlJDSDFRMHdv?=
 =?utf-8?B?U2s2ZHVIRUpVejArMUV0clkvbnh4TGV0S08zNmVPYktKd2R5WkJxanFwSVRu?=
 =?utf-8?B?dWFHUnJCbHB4NnRSWjJPMy8wOHdlMmhuclFFWEhCNWFKaFltS0J1bzV4VFNr?=
 =?utf-8?B?KzRrdkgxdko3clFzbEtuNE55MGNDaWVRMGNVQlRuMkxwZWNNZ3lrZTFrVmhk?=
 =?utf-8?B?QUNrVlZhU2lWMGJRQzk1eHF5TlY3Qy9iMFN1ajY0cTFhRDN3M3o5QVhxM2RI?=
 =?utf-8?B?dWpsbWNnUEl0dmlDOTNjWFI2eHlMYy90ZWt2ZU5LdWliL0FtYnovQy9FLzhW?=
 =?utf-8?B?bHE3aHJQRS9iVjc4MDNoc2xpcHV1KzhQY3ZxbzA2RUkvc2xCdGVmeHFpOEJW?=
 =?utf-8?B?dW9iM1hpcFZGb0VTeVVpSW95Nks0eWxSL1UxVDBiTnVlclgxWVBlQ3FYUjZQ?=
 =?utf-8?B?MHc4SW9UckwyY3R1Nm1sTUpnZ2I4WVY1NFd2RzNLN0kwdTJKMzNMeVdGN3ND?=
 =?utf-8?B?YW1mUFFzQlVtZm1WNFhBMDIxamJwYUNZRExQWmMwSDZnSFk2QzlITlRPcTNW?=
 =?utf-8?B?T3hnYWVnQkM3c1RwcmFPenp6RDhVRlJtOFhuZElsNUgyTkFDeCt1NGdBNjRH?=
 =?utf-8?B?MzNYV2NzTUFneGoxMHdWRzdwdCs4Y1ZzSG9WWEtiTkcwN2VvMlE4RUNHQUUx?=
 =?utf-8?B?NlhmYVZqTngyVHJ4NlFTcVJzNHNLamZmaWluMk5ZVkE4LzcrbldMb09lUXBT?=
 =?utf-8?B?Q25ZL1p4c09HU1F4T1ZBdnhra1FzQ0JqMHJKbnBCTHBUUUZCTmZ3SjZYN3l3?=
 =?utf-8?B?M2pIT1RJSzd5MFZRRlJPY0NwYXRjaVozVFQ3TVBmUE85dCtMdnBVV3BRT3po?=
 =?utf-8?B?MzlEeE5ROVNEU1NWbkdjc3dNVTkwZkxRRVJHQ2NPV291ZkJiRVZmcnZXNysy?=
 =?utf-8?B?NlEzbXRnamkrNnh5VmxpVEFvQVQ1NTg1ODJvaVVrLzZERE5pRlBVRFFlZml2?=
 =?utf-8?B?a3I3cjRWc0Ewa1RuMGt4cmYyT3pieXNmdlFSV3hjTFdLalJPWjRrQWd4Smpr?=
 =?utf-8?B?dENHeFRQQ09tZXowUUVjSVpMdTVIeGR4Z2pybHQyb0R1L0pDMlMzYmVHUVJw?=
 =?utf-8?B?YkxsSkxWekRZWlVLS2J3SysxSldLdGhJQ3FEUE5YaVY4SDRseVB1bGRzQmsz?=
 =?utf-8?B?TXMyOW9yV01KN2ZiK1piM3VaR2xzRW45Z2I0dzJKZitzRVZHSTZOYWFFdzZw?=
 =?utf-8?B?anJNRTBrakxrRVlQTjU3QXhiZXFFNjAyc1RXMlU2ZFYrZklucDhxa0Nuc0RT?=
 =?utf-8?B?K3huOTFiUlJqM2FMTUlJOHpySnJWdWhIMS9FQmtlSzVqTUpCQ0l5L2E5Vzg1?=
 =?utf-8?B?YnVpYlFoTVBIbGR4ZThSVE1aK0pyNXFHYzErVmtvV1JWR1BqclM2T21vaG1z?=
 =?utf-8?B?ZzE1QzlIQ2wrcEJ6eVhTdjdyL21ZSW5oR1JkTGxnUHFleTFMckcwbzBMLzFF?=
 =?utf-8?B?WnpoUGREV1IxUjdCSlZnWnUzM0ViZys3ZEw5ZHh1ZmtKNi9UdFRuanlqR1o3?=
 =?utf-8?B?dEVpTGJXdm5XVlFSNEl1eVdJL1FXSnAzeTFhdWVGajR3WmVvRDhRL1QrTytQ?=
 =?utf-8?B?eFltbG1ZeDZNT2R2VDJ5RWg4V0x3bFVnTkNHcG9Ea2FuWk9zdjZsMTg3Mjc0?=
 =?utf-8?B?TzZZYUdvMS9KeUJ1MHJNT1Q1end6V000UjRGTjU4TlhOQVovcUdvSEJrcWJN?=
 =?utf-8?B?eVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?NzBmdEZlNXlCRjRBazNpYXNSUzFmWjY5T2VFaEpmdUM5VHkyUGlzTzN4d3lO?=
 =?utf-8?B?SG5XakFFekxjRGs5aDZ0UTdqR0ZpTlJxRFlxVHRiZE9WS3EvVWtuMlRuYUw2?=
 =?utf-8?B?NDJrVXRkb0JQQVU1L2ZIMlFKS1R3RTV2dHNiYzUwS0Y0SXRYK1IxdGZtaHdU?=
 =?utf-8?B?UlI3UTJvZDI1WVFXNWM1NzFPdStsOEJmWE9VcnZ4TFJ5enVIODNwWmJrRDc0?=
 =?utf-8?B?RW5SQTBPQk1yVWVaTHRQN1o1K05vaTd1M2NiMDNhdGtIZEIzeWdSYU5YTUQ4?=
 =?utf-8?B?MFhPU1Q3UDZ2V3MwY0hYc3J3Q3d3WTNESXhhZlBnRFhsZit1ckJPTForV1Br?=
 =?utf-8?B?bVJmZ1VuU1lZQXhTOHl6bUwyMUVwajV5RjRzRDdPOUM0eHJ1SW4zTDR6RUdm?=
 =?utf-8?B?YWJXcHNZbkxyUTdPRVlpUStDeFJWV1Znam5IQ3plWFp3ZWtYRFlQMkRWT0Fk?=
 =?utf-8?B?RmtiZ2ppYW44Y2xJMG45Q1lZNUQ3UVYrR3p1V3BFZXdYamM5djNlWS9uMW1X?=
 =?utf-8?B?K3JhRm92TUVma3FabHl2M2VGT0lTMytJS000bVBrZE9aWm5od3dseFpGOXhG?=
 =?utf-8?B?czRxQ2kwTll5Lyt0ZnFmcjNOKzBnaVlQcU9vZ1M1eXJLbVo5OUdISFhPVTVQ?=
 =?utf-8?B?K056SjVWT3R5RnVLOWI4UnNVRUVidHFlKytzQ2lkb0RGdEJKbElNSmE4N2Zm?=
 =?utf-8?B?YmZPV3hTRXZBNUp3bmxWbEFKbDNCaXRaTzJNUXJiV2tISXd1ZkpjNktES0Qw?=
 =?utf-8?B?aGl0Z3V6T0hvc1Ezc1c1dmYrSWVqQlpxa1NDajNjT3Nxdmlwcit5djBNQ1BJ?=
 =?utf-8?B?RnhMTG1iWjhHK0s4N1FkMFF0cVZUamZpRCtPbWphSDM0ZVdEUWhhUUw3RWEv?=
 =?utf-8?B?Y2dOTmdwQXdnMTdLY2UvcFNLenhmTjFrOGdyTmJueDg4aWJGMFVTdHhtRitZ?=
 =?utf-8?B?WjVqRU1nN0ZsU01QUmgwWngyZXJaWEZxRU9LNWxpbVFYdGE4VDBXb3lCSHc5?=
 =?utf-8?B?Vnc4MExJRlFvMHZxdHA0WUpZSjcxcnp3d3VMUjlnZ0FQYWRQeVkyODZiclIy?=
 =?utf-8?B?eWJOQUlwU2lRL1VQeDg1eGRVNXdBT2xTMS9yeStpU0lQK2RDQ0RIcTd1V1Nu?=
 =?utf-8?B?T25YL3A3ZUlDOFJvS2ZuQzVLMTM5ZS9HWmw3R1BQWGIyUFViTWhhU1Vrck9C?=
 =?utf-8?B?RVQ0RVlDSVJHZmI1dFc5RllxQ3crWTRjajRvMXo0ZHZjc1F3NGV3QWRwYm9C?=
 =?utf-8?B?ZFlwYjJrU3NaanV5cWVxWHl3MXBYb1MwaFFVUmVyc09wUWZST2cvS0YrbUxF?=
 =?utf-8?Q?2FDtl9RtXmYGiGUuHSnnW6MaBZLsN9J6yY?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4277c640-fc38-4694-7aac-08db2ab0b828
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 08:37:49.9703
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XmUx4nA5TEWBDWqLc5yGXx9ZtSnKYH7BqITSvXWRc6YJw/O9DnQ77w9Oobj+PLWeo2ATrjA2aCkXI99ZK6M8O8/i2NBM3weBl/RQhv2Icwg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB5979

On 21/03/2023 5:33 pm, Demi Marie Obenour wrote:
> Demi Marie Obenour (5):
>   Use HTTPS for all xenbits.xen.org Git repos
>   Change remaining xenbits.xen.org link to HTTPS
>   Build system: Do not try to use broken links
>   Build system: Replace git:// and http:// with https://
>   Automation and CI: Replace git:// and http:// with https://

https://gitlab.com/xen-project/patchew/xen/-/pipelines/813510934 from
patchew, so I think we're good now on the containers.

>
>  Config.mk                                   | 20 ++++---------
>  README                                      |  4 +--
>  automation/build/debian/stretch-llvm-8.list |  4 +--

Except for this, where I thought we'd already dropped it...

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 08:45:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 08:45:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513188.793829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peu5i-00056f-Tj; Wed, 22 Mar 2023 08:45:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513188.793829; Wed, 22 Mar 2023 08:45:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peu5i-00056Y-PR; Wed, 22 Mar 2023 08:45:06 +0000
Received: by outflank-mailman (input) for mailman id 513188;
 Wed, 22 Mar 2023 08:45: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=R7Yo=7O=citrix.com=prvs=438d02f35=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1peu5h-00056S-FL
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 08:45:05 +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 d50b0bb1-c88d-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 09:45:03 +0100 (CET)
Received: from mail-dm6nam10lp2102.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.102])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 22 Mar 2023 04:44:59 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN9PR03MB5979.namprd03.prod.outlook.com (2603:10b6:408:134::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 08:44:57 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 08:44: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: d50b0bb1-c88d-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679474703;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=WeyHVX45ve0XlQn+XS9F/19/HoiJ6Rt/ATiLQCwf930=;
  b=BQyXqv+vg7oslOLAWEvDAR2BGR12DUGhhFVAw7CrwcPiHIDp/WXVwY7k
   jldX4cI/JS6ChkQdOzFRgenma5hobeT9VcYxsQ8Z5LzS548JOfsCCORV3
   s4/hSen4d2Pj2vvRLvYU1Pue20MqS7aiTriBNPuMMF8T9IwzIhPD3+pa4
   0=;
X-IronPort-RemoteIP: 104.47.58.102
X-IronPort-MID: 101836089
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:YUAqOqskZ8MQ4d8Cpm7QxUf/l+fnVPVfMUV32f8akzHdYApBsoF/q
 tZmKWqAPP/eNjSmKo9zbNnj9UoP7ZCHyNYyGwE/+yljRiNB+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASEzSFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwBSkKYB6jhs+Nn43iTvhjmM1/PMTLFdZK0p1g5Wmx4fcOZ7nmGv2PyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgP60aIC9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgr64x3gXDlwT/DjUKD0fluemF0nSucPwEM
 GIo0ToPsK4boRnDot7VGkfQTGS/lhIRXtt4Eusk6RqMwK7Z/waYAGcfSjdLLtchsaceVTEsk
 1OEgd7tLThuq6GOD2KQ8K+OqjG/MjRTKnUNDQcGRwYY59jooKkokwnCCN1kFcadjMDxGDz26
 yCHqm45nbp7pdUQy6yx8FTDgjStjpvEVAg44kPQRG3Nxhx9TJ6oYcqv81ezxfVHKpyQQh+ev
 XwHs8+E5esKANeGkynlaOAEBrSg/fuGGDzan190HpMl+iit+nisZoRZ6nd1I0IBDyofUTrgY
 UuWtQYP4pZWZSOudfUuO9j3DNk2x6/9E9ijTurTctdFfpl2ckmA4T1qYkmTmWvqlSDAjJ0CB
 HtSSu70ZV5yNEit5GPeqzs1uVPz+h0D+A==
IronPort-HdrOrdr: A9a23:PUVmgKGhRV2hSBhGpLqE0seALOsnbusQ8zAXPhZKOHtom6uj5q
 OTdZUgtSMc5wx7ZJhNo7q90cq7IE80l6Qb3WBLB8bHYOCOggLBEGgF1+bfKlbbdREWmNQw6U
 /OGZIObuEZoTJB/KTHCKjTKadE/OW6
X-IronPort-AV: E=Sophos;i="5.98,281,1673931600"; 
   d="scan'208";a="101836089"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UQI5PsBBBJvWmLVW379qsrBvSZ8gYcGu4lLUdfmwaGav0UcaPGRleI62gzc38/F6gQ/53AXJ7vE454rksHpW5O8me8ifv3Qj1/K3+wTCzpgR1C7bwXDGAgv3aJK8Go2AuENQPrSUk7hphlIPJunk6fR44857yoKptOIQr0OBnReyvcbjggjrHIWEOUbC3AsOr/PsxAunt2gJkLzHfzRZN1cwF7MltLckSBo5jUKR0R4e33Ti/qhlMmmGraGtuxqolV8f4N46M2Jp9UmEwd4FjmS9MdIVrh96qvuHDesagelQcyo7cySFBPABQbJ6XcVymCl8dhMQCKuycu+cbDbH3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=V3ef+lCFsWBJqM5WPQAX71J0N0LnyXmPG9CnxUu7BEc=;
 b=RoroxJte6Ag9ZOjfhaxqRLSZ5GVHbeINI3u01xAifY1qCwBX+Zkk/TjG2Eupfpar2vcqT0orG8ZbNL/0co2mIVojxSdg4zox8kVGp8/R85gfQwnmpmNv5f2Itf7QoQbqLNfk4Um7eYHr5mnFQtaUNzHv1JHyjHWKf23nJjnTQ0lGMTUmelJXeaBKDOIKz/Urh44eoLcKUYO1KQaSUytt5nsD0u7RCZYnIMccSMSXeQ5rD+rf1fHLClwkJcv/VqVCq3yvVUiZ9JopkZSd3F8DVw6Ns8GbNcWICz3ZQtZ+gNfukDgBtm+EUZ0nroedXIHQxh80J2OBNsexql1wrtRQKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=V3ef+lCFsWBJqM5WPQAX71J0N0LnyXmPG9CnxUu7BEc=;
 b=O0R8Iu5cvqHooCxE4IfWcyiX6BdnhYu8IjR4/lnGuCbfFgATobe7psmbXReLmZ3UK8dvyjK0vHzoW0oVO9c3LlnIYtt06p1wZjjVGFofA1E2JBXXXou/zSsZNLHlKpVeftBo8QopNsQaAwb4WCfxpnENJRyTzBWeGXhZmVFuwQs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <866f4219-79e1-5bf1-34aa-1fddec16a750@citrix.com>
Date: Wed, 22 Mar 2023 08:44:50 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v6 1/5] Use HTTPS for all xenbits.xen.org Git repos
Content-Language: en-GB
To: Demi Marie Obenour <demi@invisiblethingslab.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>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <cover.1679412247.git.demi@invisiblethingslab.com>
 <69fdc220c4cf7cd571e60a9e5bc89150cfb52017.1679412247.git.demi@invisiblethingslab.com>
In-Reply-To: <69fdc220c4cf7cd571e60a9e5bc89150cfb52017.1679412247.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0144.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9f::36) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BN9PR03MB5979:EE_
X-MS-Office365-Filtering-Correlation-Id: 079b619c-a6b9-4d19-e6a5-08db2ab1b6d3
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M5I0+96WhPRjObfqAi4ZUsvhU6FT1DI347+B+nBvdYDcMbRysckDf3YCWgCeWi59irwHpMmh8DWUguir/3oWAdbd9YdY8GLkyYzOZkFoQXqKklrOoSQ1qXsj/s9hPUD7KiRMXuXv6/CXGm/RSpUhh1Xz/aivJzPCZ/WbXWibO8m6q4N9+L567sqAeNOS+eXG+y888pE32wLuw1T+N2AcN7eKk5R6NAyfyVGlw67D4iSsKCqXRp34P+1eTFDBxeAdJLFzeDGh5KqbPKiwECsmOXUenkhl5CD6KAjIikCW0qGXEKU79zmrZSrdOj/fnMMTttCCD9dq10eXAx/OdUYLCI5rIlxbmtNK6Ocd9KfeFAuSptLWc7iahH8Yc7ZiJZiz9Rjao+NGoDvkz56vWGVIJ43uZ0CYii1UIHNiNpGV2J8Eh8uhAHHlD5i3kh8kQtgYvLTmv0dqEDvcIlE1ZF85nWUFMcWo/XSDud3LIl3zbmwrVShn9wElMKu/EAdwmD79N7RbOCgU5dXF8GNE+zNzkOZ9s18s3Z6Y26hv0XQTduIq96EJyfcUIrMuUtbhJTZ4SQApGwcCVi593J+RZVJ4nQSvc/RIXUyHo4z6XKueto4bFDBhnw8661sjJJLecpdkuOtd6GwDt2T8InqL+KgnqI7BTzWYJ4Q1W6pnRxHK8JlTM+AJeEaYgrkwelMpMJ/5nXnzWLGtVcdQW5bpp49moYPQYQqUulfYtehGaWtE+/pd0ZJFL29mgbWYe6g8ZRA5Bmi6XT86FCoLUmktYU2Kyg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(39860400002)(396003)(376002)(366004)(346002)(451199018)(316002)(31696002)(38100700002)(36756003)(7416002)(54906003)(66476007)(8676002)(66946007)(5660300002)(4326008)(8936002)(41300700001)(66556008)(86362001)(2906002)(478600001)(83380400001)(82960400001)(31686004)(6666004)(53546011)(186003)(2616005)(26005)(6512007)(6506007)(6486002)(966005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MXQ0WmIzTEl4UmJTRXp1YWt5ZE5EY24zQUh1WXZTWUkyMlJkUVZhQmgyNDZX?=
 =?utf-8?B?blVCUGlKNko1aEk5dDFBTHJiL1VrenNyUTV4dy9XaXl4VWtBY05IOGpDeHpj?=
 =?utf-8?B?RHkvTWU4MEt0R29vdzFpS0tGaFlkVmN0NGdpZ3BzWHFwd1Rub25zSUtzZFBW?=
 =?utf-8?B?ZXZYUzlwM2lTOHFSM2F6RkFneUp0ejhaNnVhQ3RheUlDU1gyOWRXL1RKV0ZJ?=
 =?utf-8?B?VnpSMGdtZmFVTTZ2UGYwa0lJVGthZVZzTEVoWitiaFNkTlRIZ05QdnFPZm03?=
 =?utf-8?B?TTdzcVFEM0FlQW95bEJqZ2wrZWJIQmpnajB6T0NSNHlKdDZ5a3dDT2d3cXYr?=
 =?utf-8?B?NktUalZSbE0wcW9JT2taQVhIT2J4Ty9LOC9pMFNzMWlGaVNkWVg1aXZ6ZHpI?=
 =?utf-8?B?NWNqZUVKblpySGtiRHRCQmhsSDRvd2pvMG1FSVRnNHdRTnNqeGhCbmJuN2hq?=
 =?utf-8?B?SGZZSlVpR0N4S1RaN2VYOTJBeitQZEE2MTY3OW1ndy9jQUp1dHZHNkxMQjJX?=
 =?utf-8?B?bndrWW5SUFVwWllzYkdQenVEbVRtN1ZRZTFTZVE0SnlNZVVUZkNlSWlSazBE?=
 =?utf-8?B?d0xkbjVxQml2Sk5YdUVFQWd5Qmh3ZmxuTERsVTJvcWt1SUJwUHd1T0N3UjVl?=
 =?utf-8?B?L0JadlI2M1JyYlVmekdYcmlxZXNXQ09PVUdPZ3FzOHh6bzEwNTZtT3JFRno5?=
 =?utf-8?B?d1FXQ1hkcjRhLzZ0ekp3RGdIM0hML3d4R0h5YW9tQ1FkZmpnRnNrWW9UWHB0?=
 =?utf-8?B?MWJNWmpVMXRMeGVXTGxjaDZzeGEwbGhSZFd0a21sK2JlQnUxamJRMVlqWEJT?=
 =?utf-8?B?TFNlSUxnK3pGM2hVUzk4MmVqZzV1L1dLazI4NFloVDZEdWk1WndnOWNGck1C?=
 =?utf-8?B?TGV1V3B0am1hNk94L3Z3ZlJoNFJCU01TYkJRc2RwOVlGN1I1c2xtaHhibU82?=
 =?utf-8?B?aGdBUTREcS8zQmZucXk1Wng5UWQ4S0szNnBLb1pUQkVEQ3EzSGJ5eDhQdjg3?=
 =?utf-8?B?U29EdlBZS3dncFlYTlp3TG9KbzZDejVGTnZwTG5ENmd5TVkxWHdsREV1Mkpu?=
 =?utf-8?B?T3krQ0w5cU9nSlVhR0p5aGwrUVpvblluTFh3MlR2WjhQcGVYRU1IajZSM0k4?=
 =?utf-8?B?cmVSY3RsY3RhSDd6a085bnViK0RaZE9VbVpnTU9PUmJKQWJiUVoyQXNpMWda?=
 =?utf-8?B?QVNuMkVNVDF6dWdRUnI0b1V0K1ZlUXM3bXN0WG9VbDMrNXBVYVFGcEZqcFdj?=
 =?utf-8?B?c1oxb25tc1V1WkFKVkpZaWZKNkxPVEV5TTA0dC9ZamxLNTFaRExtMUdNN3ll?=
 =?utf-8?B?TUhqM05CdXdrTHRCNUUwQVdNV2JVVWl5VVZuQmpqTnZMeE4zc1hEYzBIZSta?=
 =?utf-8?B?LytYNnhZL0ErTzhLdlhqajE4Y3l1SHFuYWorTzJPdFg5TjZwbXZRaWZLSU5V?=
 =?utf-8?B?WWEzK1dacEx1ZnZFS1lQaEtXZTFuMlZ1ZnJGRkRocXV3VVpxSVlDbnZmQVhw?=
 =?utf-8?B?OXhWT1ZFWmhXdFpPLzNDTDdBd0lzT1ZjYXQwMkYyVHVCNE5ENzI3b0szSGJW?=
 =?utf-8?B?RUpIQ3hJZXF3OFAvRkdGVGRjeC9kN2ZlTkQ1S0hWM2czd2xod2FyVGFCeE1R?=
 =?utf-8?B?TGdNSVpUbk1ZSWtzckc3TUk4V0dmWjNsVkFNalVsLzZDVFRNckVaaURUK1Nn?=
 =?utf-8?B?NVJ2Vnh5bUdSL3pYUHU0cEVkR2Q3OENTWW54WVh5QjNBeGlKdHpFL1htKzU4?=
 =?utf-8?B?MUF2ZkhsQ3lOUmowK0tjQmRNZzNoK2J6Ty8vK2ZDMkN4c3BmUXZ5b1VNUDdw?=
 =?utf-8?B?QXNma3BaTmVHU0Yva1EyNDhYYVJDdGNQRkZMdURzclIrQXdzbUJiemtQYlJM?=
 =?utf-8?B?bUI0eUpCejZHajV6eXkvZmZwTUUvWU1Lbmk0ZzZ5RmthTTVSQXI0K2NVQm50?=
 =?utf-8?B?d2VSeStMU2lmRmFVcEFTNnBad0RhcDYxWWJNT25RNFZPeWMxTkhpVHRyQ1Bo?=
 =?utf-8?B?SHMrVmYrQjFpVmY5RHQvZS9tV1F3WW44NWpvbWlHdFE3UTVzenNhODllSC9U?=
 =?utf-8?B?TUN3OXF2d3RwQ2NFUkEyTWZGSlNsZWUrWjUybnZHWThtM0tBbThXamlhYkpY?=
 =?utf-8?B?VHl2ZVRCa2tXcTR0VFlnb2lUYSs5OUZ2VmovaGZFVzY5VnJJZnF5ZHJyaHB6?=
 =?utf-8?B?dmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?K012NHV3bDhnUWpjYVJvcTVmdFllbzF4YlFYN3VkVUlrKzcwYUl6WkVNYS9t?=
 =?utf-8?B?Y2NoQmltWGMzRkxjNEhLQXRSQWVDY3lid1drNlNKekJwTGF2dlpjd0NPa05q?=
 =?utf-8?B?ZXMxY0xNY2tVSFU0ZHpYVU5WN1VqeEV2alROaHlFWXIrY1lSUm44S01EeGVZ?=
 =?utf-8?B?L25TWjJmRk9abVlzaDBkdStkZDF6SkpkRk1BVXlRdkhtR1E0Tk0rVElyZVZK?=
 =?utf-8?B?b0xQMlJERk9zN2QyeGN0R3pZcmFMVS9RT0tVTFQybnk4alpFVXdLNiszRFgv?=
 =?utf-8?B?RTlXTThzQStSVnA0L3crbE1PWktiK0J2SlhOak1RR0xCZTlMOHNjN2E1S2Rm?=
 =?utf-8?B?aXFQYndsMi9GZE1Gbk5xV2FuemI1UVFtMng4RkJWcHJuQ0JLVEZIYWtYaEhM?=
 =?utf-8?B?NjB2TmtSMG91Z3dhSU9aZjdleWp2Z0p1eGFub1paeEdCazVUSE41UlZxY3Qy?=
 =?utf-8?B?ZjFQVFlUVFA0eVlTQUNSb1ZUazBJQlkyYkVITDVNbVVsZGkzNVNsZnYzYXV5?=
 =?utf-8?B?ZnN3UVRkTURIWW15NWhxdjRsUElwa3lidnBMRithN2x0Vm5xYmJBU3lwQUVz?=
 =?utf-8?B?ay9UV2xXMGw0Yjd6QmVwTDVtdGhWKzZJaC83MjI1dVFQUnFreEtTTlBtSTJU?=
 =?utf-8?B?TFhzd1lYMHAwcXZ5S3YzdFB2OG0rNU1ENnBXaWxEVTRZK1podmwrUEoxd3V0?=
 =?utf-8?B?d05oRUI0WFJSS1owQ2svb1FVS05qUHAvcUtIS0VNMlV3c3lFcUUzVGFpL0RQ?=
 =?utf-8?B?WFpTZmJwckd1K01GYjloanJOWDlMaVZ5V0ZYUGV5WlB4VzZ4OGJMWWVxZUQ2?=
 =?utf-8?B?bUxWSlBQRGFoL1N0UjRNTGJLUEkyR2lEUThpQm5mVExZVFVBbEY2QlBSMEJy?=
 =?utf-8?B?QUExU3E5K1k3TmF2c2NENGQ1cGNWdUIzVUdPUGM2aE9DbFdCb1QvMi9oK3Bw?=
 =?utf-8?B?YU1naUNuMzFuK3BVVGJJcCtvajE2Q2pjU0NjWTlISGE2OHpaek9NWldxa0pP?=
 =?utf-8?B?TjEvdmpGMGhMdjE4QlJUUGpnTnd2T3NFck9oVm9VQ3N0bi9qQ0tZSkxIckJS?=
 =?utf-8?B?ZWF0cFNGaWQ3bUtaNUQ2NVA5dFpKcTI4MWs3ZzlocVRLSWFPeEp1N2tXRDNX?=
 =?utf-8?B?c3E1SUp6VWI1aGJTUys5b0lTYmcyekE2Z0VvWURFdktoaVNyWkttRm4rNENE?=
 =?utf-8?B?azQ1a1ZUNU92YTk5TURMUDVFZVYwSFdTb3B1T2E4dzFQTC8reUkyNnpwYVUw?=
 =?utf-8?Q?q2F84Q/GZFKdszd?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 079b619c-a6b9-4d19-e6a5-08db2ab1b6d3
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 08:44:57.0787
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FgI+2uOkzoSa7eH3s31vBMx1o5kzxePahQHI4bfzBYfjrVCEt4Nt4uVnfqpnbK7rzPHZrzQs1aSDYjKpK3u+Z/qHdBWX61g/YkoobbmIUTM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR03MB5979

On 21/03/2023 5:33 pm, Demi Marie Obenour wrote:
> diff --git a/Config.mk b/Config.mk
> index 10eb443b17d85381b2d1e2282f8965c3e99767e0..75f1975e5e78af44d36c2372cba6e89b425267a5 100644
> --- a/Config.mk
> +++ b/Config.mk
> @@ -215,19 +215,11 @@ ifneq (,$(QEMU_TAG))
>  QEMU_TRADITIONAL_REVISION ?= $(QEMU_TAG)
>  endif
>  
> -ifeq ($(GIT_HTTP),y)
> -OVMF_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/ovmf.git
> -QEMU_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/qemu-xen.git
> -QEMU_TRADITIONAL_URL ?= http://xenbits.xen.org/git-http/qemu-xen-traditional.git
> -SEABIOS_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/seabios.git
> -MINIOS_UPSTREAM_URL ?= http://xenbits.xen.org/git-http/mini-os.git
> -else
> -OVMF_UPSTREAM_URL ?= git://xenbits.xen.org/ovmf.git
> -QEMU_UPSTREAM_URL ?= git://xenbits.xen.org/qemu-xen.git
> -QEMU_TRADITIONAL_URL ?= git://xenbits.xen.org/qemu-xen-traditional.git
> -SEABIOS_UPSTREAM_URL ?= git://xenbits.xen.org/seabios.git
> -MINIOS_UPSTREAM_URL ?= git://xenbits.xen.org/mini-os.git
> -endif
> +OVMF_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/ovmf.git
> +QEMU_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/qemu-xen.git
> +QEMU_TRADITIONAL_URL ?= https://xenbits.xen.org/git-http/qemu-xen-traditional.git
> +SEABIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/seabios.git
> +MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
>  OVMF_UPSTREAM_REVISION ?= 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5
>  QEMU_UPSTREAM_REVISION ?= master
>  MINIOS_UPSTREAM_REVISION ?= 5bcb28aaeba1c2506a82fab0cdad0201cd9b54b3

The prior layout was somewhat necessary to dedup the GIT_HTTP part, but
now we really do want pairs of {URL, REVISION} together, rather than one
block of URLs and then a block of REVISIONs.

This is just reordering the lines (and some newlines for clarity), so
I'm happy to sort it out on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 08:47:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 08:47:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513191.793839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peu8J-0005gN-9R; Wed, 22 Mar 2023 08:47:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513191.793839; Wed, 22 Mar 2023 08: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 1peu8J-0005gG-6f; Wed, 22 Mar 2023 08:47:47 +0000
Received: by outflank-mailman (input) for mailman id 513191;
 Wed, 22 Mar 2023 08:47: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=WEjj=7O=tibco.com=clindig@srs-se1.protection.inumbo.net>)
 id 1peu8I-0005gA-AO
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 08:47:46 +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 364239c4-c88e-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 09:47:44 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id j24so7251580wrd.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 01:47:44 -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
 q14-20020a05600000ce00b002be505ab59asm13250110wrx.97.2023.03.22.01.47.42
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 22 Mar 2023 01:47: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: 364239c4-c88e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1679474863;
        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=bbH+WCv8BNhc37zfPS03bncde4neJ9M5FS5k8XUUnXA=;
        b=ft12kcjsYJuXYVjQzS2ZvCcyWZX9NyD7WcNO4L8sUFVtY3dhjuTca+UByATOLpKApC
         +40BC1jBgDu6uGdm2rdoDDJhAUZE6aAfNqWK8A8VZmlIxuf7tMIzrohJHZ8MVnB9Yxij
         lTU4gT3EZIcyWyJSiMkDAs4wzpHWNbfQBPeiE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679474863;
        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=bbH+WCv8BNhc37zfPS03bncde4neJ9M5FS5k8XUUnXA=;
        b=fmpgDvUZDNs599vDus0GL04cx59pMIOd/oTT6pM5LEV6dgMNpYf4KdHW5FuWEkQRcl
         EKQ26r4E+BiJxDZpdn//d3lEvombV4fQ1Vy6XvYs0IapIxGAIUCQep2PuJ9FBi8hFmFc
         iC0STWMmxtgNQja1TH2uIfLihqIkiuW8pFn07VI3xI5XYEDU+dOSL2RKyr9xWur/hUwb
         jCTLiTs7LWMVMH0+TjaKyh5w+eMCXcHcWJFxEwi0o0CKNtzMzLMVisb3afdu9dzbbKnv
         ny0fvGNwY/sIXYK/nZ4gqI19BSB651eBEJQbe7Y5eTUMda5JRQoh72+xi83SsxLL6qaD
         lbdQ==
X-Gm-Message-State: AO0yUKVpl8fHZNp1HfImX1hpk5dzBol1fo+/DM5iT5bYidYqjpvf7irz
	7gKhv9aoVXxZEg+7TQwPGRsxaw==
X-Google-Smtp-Source: AK7set+2yU1zOAUPXFo0eFV8TG4u2ca2RAGgHFwa2l6/viWvOstD1fXz5HR0DdbCpNXC74bZ8C2J1Q==
X-Received: by 2002:a05:6000:1081:b0:2ce:ae4c:c42d with SMTP id y1-20020a056000108100b002ceae4cc42dmr4313907wrw.1.1679474863629;
        Wed, 22 Mar 2023 01:47:43 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
Subject: Re: [PATCH v3 08/10] tools: add physinfo arch_capabilities handling
 for Arm
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <947E57EC-84AC-4B4E-8146-ADEC9FD518EF@arm.com>
Date: Wed, 22 Mar 2023 08:47:42 +0000
Cc: =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Wei Chen <Wei.Chen@arm.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Nick Rosbrook <rosbrookn@gmail.com>,
 Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 =?utf-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <A8FB11F3-97A9-447B-8611-D992B6489C1A@cloud.com>
References: <20230317131949.4031014-1-luca.fancellu@arm.com>
 <20230317131949.4031014-9-luca.fancellu@arm.com>
 <5C1E6204-51FD-4C97-8182-848F30A4A58B@cloud.com>
 <947E57EC-84AC-4B4E-8146-ADEC9FD518EF@arm.com>
To: Luca Fancellu <Luca.Fancellu@arm.com>
X-Mailer: Apple Mail (2.3696.120.41.1.1)



> On 22 Mar 2023, at 07:02, Luca Fancellu <Luca.Fancellu@arm.com> wrote:
>=20
> I don=E2=80=99t understand, what entry is being overwritten? If I =
understood it correctly, I=E2=80=99m writing the position 10 of physinfo
> which is not written before.
>=20
> Cheers,

Sorry, I read this wrong. We are in #elif which I read as #ifdef in my =
head.

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


=E2=80=94 C=


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 08:50:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 08:50:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513194.793849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peuB8-0007K5-Pb; Wed, 22 Mar 2023 08:50:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513194.793849; Wed, 22 Mar 2023 08:50: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 1peuB8-0007Jy-L1; Wed, 22 Mar 2023 08:50:42 +0000
Received: by outflank-mailman (input) for mailman id 513194;
 Wed, 22 Mar 2023 08: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=R7Yo=7O=citrix.com=prvs=438d02f35=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1peuB6-0007Jq-P9
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 08:50:40 +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 9b1eabda-c88e-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 09:50:37 +0100 (CET)
Received: from mail-co1nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 22 Mar 2023 04:50:28 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6440.namprd03.prod.outlook.com (2603:10b6:a03:397::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 08:50:26 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 08:50: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: 9b1eabda-c88e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679475037;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=pY8exfx1IZjSKD7cLN9qpvZqQbbY4izfJf0/6noi6g0=;
  b=ZCwOGbYkyG53Wv9pCc2PtNqvZF5oYJrlbVWv+dpe7E0A+JWsOLTroGZs
   bqN7WBjL9zAlxVivPFjQTIm/d1yigdLkhEhqk4NawfXC4fXAYPtA92VLZ
   /2w50jevA7vyXzGY2GAgKoH1eOPa4UOpN+GACjDsx3dSRyOhw1+h64jLd
   E=;
X-IronPort-RemoteIP: 104.47.56.176
X-IronPort-MID: 102245043
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:2gFKMqhueWY5p6EUHMs75D2ZX161lxEKZh0ujC45NGQN5FlHY01je
 htvXW+CPqrcYmr0c9F+YYq2/B5Q65XXztAwGlQ/qSo2Qnwb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wWEzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQUNDchaS25pd7q7+KhYbA3iJQnLsbCadZ3VnFIlVk1DN4AaLWaGuDhwoYd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEvluGybrI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6TeXirKI32AHIroAVIDk4bQKrvfK1sVCdQd54C
 14d5jEjj7dnoSRHSfG4BXVUukWsshMZWvJRFfM78wCHzqfI4wefCXMARzQHY9sj3OcmSDpv2
 lKXktfBAT10rKbTWX+b7q2Trz65JW4SN2BqTTQNSBYI55//oIA5hw/LUv5uFrXwiszyH3f32
 T/ihDc6r6Uei4gMzarT1VXOmTelvJXKZg8z+ATMX2ih4x95ZYiqfIih4x7Q6vMoEWqCZlyIv
 XxBkM/H6ukLVMiJjHbUH7tLG6y17fGYNjGamURoA5Qq6zWq/TikYJxU5zZ9YkxuN67oZAPUX
 aMagisJjLc7AZdgRfUvC25tI6zGFZTdKOk=
IronPort-HdrOrdr: A9a23:HLTCXq4Z/zxNWfEISQPXwdWCI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc6Ax/ZJjvo6HnBEDyewK5yXcT2/htAV7CZnidhILMFu1fBOTZsl7d8kHFh5ZgPO
 JbAtND4b7LfCZHZKTBgDVQeuxIqLfnzEnrv5am854Ed3AUV0gK1XYdNu/0KDwQeOALP+taKH
 LKjfA32wZINE5nJvhSQRI+Lpr+juyOsKijTQ8NBhYh5gXLpTS06ITiGxzd8gYCXyhJybIC93
 GAtwDi/K2sv9yy1xeZjgbonthrseqk7uEGKN2Hi8ATJDmpogG0ZL55U7nHkCEprPqp4FMKls
 CJhxs7Jcx8517YY2nwixrw3AvL1ioo9hbZuBKlqEqmhfa8aCMxCsJHi44cWhzF63A4tNU59K
 5QxWqWu7deEBuFxU3GlpL1fiAvsnDxjWspkOYVgXAaeYwCaIVJpYha2E9OCp8PEA/z9YhiOu
 hzC8P34upQbDqhHjvkl1gq5ObpcmU4Hx+ATERHksuJ0wJOlHQ89EcczNx3pAZ2yLsND71/o8
 jUOKVhk79DCuUMa7hmOesHScyrTkTQXBPlKgupUBTaPZBCH0iIh4/84b0z6u3vUocP1oEOlJ
 PIV04dnXIuenjpFdaF0PRwg1HwqV2GLHbQI/xllt1EUuWWfsuuDcTDciFhryKYmYRdPiWBMM
 zDf66/AJfYXB/T8MhyrkvDsqJpWAojuf0uy6cGsm2107L2w63Rx5rmmaXoVfPQOAdhfF/DKV
 0+exW2DPl8zymQKwrFaV7qKjzQRnA=
X-IronPort-AV: E=Sophos;i="5.98,281,1673931600"; 
   d="scan'208";a="102245043"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lwpmqBYxMUxVG7j19eXDsIRNVG5KAjjTjW7Onbr4YlVHA8RwuiVVSEITBKxcJ2REu73tyOX874Oq66rwjxuoe8yXpnRmhYrA54GaPT7BC7QPeITH5lPD/9OKUFSSj4C2zvFV3S/GMiR7HPK9ClQTvs2B8WI//BxJZxiU4sAL/4LiodeYesDg2unbxlpxi/CZtt4OzxK1yNNN/0lyccI238jq977kv7Ha5t2eXXV4jVIz3pFxG1f+vmZKECwXaSF3U68Iy6vfX7xHjSa7WnOfxXpPndHg50gHxbtY2aOfCwvoTXdQwYi2Hv60eCegqvbh2zJXSrR32rhjBah7+3Msfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0pnfW6tg+autIO/0KDNhKos0hxzEv5nQYLdeAXdUE4w=;
 b=CLdvC4AFbHqKK2paf7DAD5HcRwkR8ZGPJnldtTJJ8otz+2UcC0UlDQK5U20OUkFvVlI19SdfbUBU1kaiHAEEJtx79q6YDYvT+wMmtka/EQFD7UqIFISzlyTyINUkljQh4FCdsSXGvjY7K8nc3lHHQwQeFp/uDcUvFC6/Iwp9H6MiBFIU94+OUPDWxLcDQbEacsupRj7bZ1tfPryIR7S/vyGb6YyfnGVB4U5Jv2kQ0dhUidei2FgBE/l8a4dNJmErN9RDslt8hkb88YlKGimKUOHD/Ds9BHxtVksC0MVq4IARsH15622mdfxbk+u8oHJ+JQi8qSSHssu+HjevfTdtLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0pnfW6tg+autIO/0KDNhKos0hxzEv5nQYLdeAXdUE4w=;
 b=O82rBspQYPiomHWsUJ0FguSdzqGjNHVS2XK/9wCb2dMW/n5a5Cm3Y/8rUcxWHSENJL93evDicC7Y/ZrFGGuBYQMfOjzn7iYZv22/6zkShgmTPQcow/qMeDUReMi0PX+SwS32TIoYjwtDUP5w6hOuQOHyDgGr74xWGup88k5lrZs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f8498416-ef2d-19a2-ca4a-521d93eb6be6@citrix.com>
Date: Wed, 22 Mar 2023 08:50:19 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v6 4/5] Build system: Replace git:// and http:// with
 https://
Content-Language: en-GB
To: Demi Marie Obenour <demi@invisiblethingslab.com>,
 xen-devel@lists.xenproject.org
Cc: Samuel Thibault <samuel.thibault@ens-lyon.org>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <cover.1679412247.git.demi@invisiblethingslab.com>
 <cb23cf003905fa56119985a4ac9a84e9510ad235.1679412247.git.demi@invisiblethingslab.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <cb23cf003905fa56119985a4ac9a84e9510ad235.1679412247.git.demi@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0269.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a1::17) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6440:EE_
X-MS-Office365-Filtering-Correlation-Id: 49eabae1-903e-4e7a-1a87-08db2ab27b04
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1LB/Q1pSIq3HeRPC+71+gXEBxqVKd/qMX57NVDgAboSS69OaXTHwIBO1yxpjopa8TLZoE/vV5TJ5xDC5TIFPJ0XdTVh+eYIrfhenDRA7i8CHfYO4F6uZ8ZonvWi1/NGbPbgIUGV50Cx4adS+k5ydloOxX6vCCcB4f2aG8z9vlfVC6tAfbR/yBLPq9fNp73uNlXCdJNf6UVVeK6DnHrPk0lee4Y7ETQ5bW5yayqaTKDE0h7E/7wklwTJIbW9BDTDMBksEUldhccLMEkVnuJSA8FjoTzhF3bk1jol7ZobJYCq6Cv6dwyaPYCCmMYTput7+ljSjugYS6JK+qemjRr0qSqlT+MQli5tEGCxmLZW8PVfAcS3Txx8aB4+r+1mCFEm4GSWNbcxWqjNBwOeGHSlFc4uX31rLLMuhYzIVrTw6IPS73VPn68jFJqskq4BTG472WEr3a9IHvBSRjSK6W5vLjA7zOiKSbvwaJqp6f40CC8joaJBPlmlA4AgA3W9wJzwG6BxQj2fdBggznohRcbUSEMMABzRWRCGE9QWWBKlMZk6HIm+9dWvMWdr1IU7mLtlk3FoPf+lp0R8zyHkRtZdq98TOwfBoANm0TKyFnI6eijAg3br8WDMMSYtdCP3Yap/diEth48LHVVkaWM2n7b1R+cjApADrDsJVag+Tx2ogWQ1DPDGF+Lnt3jJPXroHua9jxyN1qpPV1uK6qIv97GZ1s4aDWfV4t496M7dLKfbQP1w=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(366004)(376002)(346002)(39860400002)(396003)(451199018)(31686004)(2616005)(6512007)(54906003)(316002)(6506007)(26005)(186003)(4744005)(6666004)(53546011)(478600001)(66556008)(6486002)(86362001)(31696002)(38100700002)(66946007)(2906002)(5660300002)(4326008)(8936002)(36756003)(41300700001)(8676002)(66476007)(82960400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ODU1WGZhbGNhMVorb0JINGFjUHVFSk1idDczamgyR2VQVDJzWlZ3Z3l2UExu?=
 =?utf-8?B?dFFjN2pmYWsyRzFRVHpOSkg3Q3UxY2ltY3hzZjVxZSt6dC9tTWpYbXF0Y3dW?=
 =?utf-8?B?eDVGbXVHemJEelZveWo0alR5OVNBVFQrSmdzYkFsdHpqeTRRVGp5RDVvaHlw?=
 =?utf-8?B?YXJpUzNUQzhMMkVYd05zQkcvTFk5ZWlyd2RoOEFGMk1FWDVqUTFaVkdQZFNv?=
 =?utf-8?B?YWJ1YjRBSmwxZzFwM1drU0dwL0NJOWM4cnNWTTk5b2xLdWVTaEJHeTRBcUxi?=
 =?utf-8?B?UmE4OGlmaEhITnIxRzBZUitJeHA0VzZaL2VUV3ZqcHFyMWZVcDlSa1ZpVVRJ?=
 =?utf-8?B?ekFiUk5DNkZRdCtXUFpWcGJPZ2NyWU5lTTl5cjBCK3JWSlAwSmlSWEQrY051?=
 =?utf-8?B?U2NOc0p0Q2NJaE4yMGIxRllSSkJTL2wyZnUzc2JEa3lHbmNHU2lCU1RzUVRz?=
 =?utf-8?B?YlNZc2pTa0JhM3BJVzAyaFc4dDd6M3FSZU9IVE5zNVdYeERyTy9zZGdiakx6?=
 =?utf-8?B?MnFpVW8wWDVuSFpxWEVPbVFsYWJkbjFpTUJsZnVjcEpoVHN6NlpYbndhSUdU?=
 =?utf-8?B?eW42K1Zoc0ZDaWEyd3VENE5Ra1dFbGJwSWl2cWhhc1FJV1FnUEkrcmgwdWpN?=
 =?utf-8?B?K3M5T2ZPZmdRMU1GUG1wZnNPb0FDVXVUaUdDOERRTGlYc0JxMlV2Z1pGMit6?=
 =?utf-8?B?NkNyT2QzS1VmM25HRWdUTUg5eTRIQ3I1anU4L2RPT2k3a1BHL3grQkhmbHl1?=
 =?utf-8?B?T0pFT1doRDRsV3kwUnprNHpJdFVzWnBpL2RxNWlEc1psWitmaTVQN3ZGU2pR?=
 =?utf-8?B?L2pnVkRkaklMZlB1aGpjdXh4aWhqZ0w4WXlJWk91ZGgvK0J3eUZrRnNmNllC?=
 =?utf-8?B?WVNEaVF1L2FsY1BlZ296Znk4ZERKNDY0Z2ZWdlptZXFMTXc0RkZ4NmlKOHlF?=
 =?utf-8?B?S08rM24rMUlTTzk3WWFXcFFZbGRXOWF1Z2F4S0FPaDdWTlZDNXVUaE16SUhE?=
 =?utf-8?B?dzlYdTJQWUVmdW5sRTRkVk9LbG00YkFLZjJKWTA1QXFJblZaRkQzTFNRQUJT?=
 =?utf-8?B?cXpGMkpRZXJRVWd3Q29GMGR4M1lpNFZaQjJZUmZwWTdVQ2NXWEsyM2pwanVZ?=
 =?utf-8?B?Qk8reGRTRjlKWDd0TldDeE1IQjdiNHVvYkl5Vkl3dXllL2lVcERXZ2JnVGVL?=
 =?utf-8?B?SkdiUk5OOXNVRlZOQi80dzFtWGtIWXIwYkhqd0hHU2J3cnZnVXBxdUthTFdS?=
 =?utf-8?B?VGdHUVVIUnpiZzBDVmtvbE9Gam9WcVpwNEkxcS8wd2U0WWwvNm1namtVKzN2?=
 =?utf-8?B?bFRiMWduKzlvQjhEY0RMaXFsOG1jT3hWRmRsWVo0bVBsQUU3RUxvWTJQZkpH?=
 =?utf-8?B?a2JEYXovQVIrQ2hDZFg3Zjd2YllxVnpnOGtZeFcrcW1JSFgrcCtOQktQRnBX?=
 =?utf-8?B?ZnVwejVkVS9EeEIrSlQ2YnpqeUpHMkhJK0ZudS9oSkJZWEROMXd5Z2Q4UTlV?=
 =?utf-8?B?TzY0RHl1UHNoenBpdU92bkpybkVTMVlzZmNCM3hhVVJJSnd2SER4djBzTlhB?=
 =?utf-8?B?Sko4QSsza2dRSWZIU0FyWTRnNXNIVDAvY0l5MWhjVnh0WmszaUxXS1dBVjNu?=
 =?utf-8?B?aHByUGp6aDZlN0JvVVhaa1p4YzNYUEJEeDJBZ1FUTVNjK2tKOEJUVXNlT0Va?=
 =?utf-8?B?YXRBTU1oSG1DRmpSQkRNUjRaK282Q1BMZ0lqMlFHRHhRbjdRNUpDVHhWbkEy?=
 =?utf-8?B?Ulp0YkRZRkFQdmNZSmtQMVN0Ty9QVWZ3UTVNeWtYNGtRSkdYcEhkY0c0MFJ2?=
 =?utf-8?B?eW9YMVBNUGdBRUxTOXdDd3BycFdrc1hRdzl1c3cvTm0zOGVBT25pSVhJLzdE?=
 =?utf-8?B?ellJNGJETnA3RUN3QjNnWXhsOUEyczIyK2dKbnM3RnM4V3NyQVU2bkc2Ni82?=
 =?utf-8?B?a2ZVNGpCbkxYL2FKVTByalF3YVpSU256Q3VuMmVibnorNjF1Qk53V1k4TUh5?=
 =?utf-8?B?UU5MYXZuUnhQS2dFOGZqWTBwa3RFMm5sc0FpemgxRnhqOGROM0ZFT2xOVUlZ?=
 =?utf-8?B?SmVBazBibS8vanVuY05NYXR0NjhQVU9uT0w1UFkvYU8yOG51ZlJ4bGZpMXN2?=
 =?utf-8?B?S1N0NnN6R0N2TVptTTU5OUUzbXRiVmdHOHF0Y1RncUxFek1ONDF0Mm1sRDhZ?=
 =?utf-8?B?TUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	444LXPouWsC/auhb83HqEugmW1+5cCxZRtb495BSfRu7a87DEI4R/X7FkfZ/A4z0vGBKU8/+Vxes1Ql77o5C7CgXAwT+BAV+8pi72sGL7dLt70ze7oN5ghUgHIvNJi3k8vc4Qh9EaWvp77sjFC8XHh/BG68gGN4RjisUXykdY+aCcfiV68wvkHMTOqckpACsmoqmK1hUByjRQuc7IX/FXcpgnUVnvTsOdP/wFaE0OCDeSjwbVNxmDP9DQd2Zhe3Fg3hHaSnjV4IkQG0uyJXrQm63mJuLXAMSglw0E42G6gfCIzeTw1w1nHRK/lw+kPvG7pdhusfqM7B1HEKdEwX4YHH8ISOrca6qRJUg15Zu75nvxJMXUIEzG9rB45akBAv/VdccVpenBFwpXHRA+Q7QvpRiQyQkM4592yDGfZNHWSnyammwrGkzL1vQkSJIyqHlAsk7PLq89OA+T+B3fZemF72aABQxUmGwyIj4EAQVafnHo5rIQQo+JmrnxtowFPSJKoJ6KtIlQDsbqaXP+5nGPYQ8hwY4YhIBJQT4T8bn6gbQfXsBCcMPVG+ntH/XAq0iw9yiqZRQBtFxz9Lx/v/6BW+gzDzmym/2UUEQ/7yZi3Zg5igW1MbT3PSVoJR2o3mzfeB2eItXBmuAgzt1vExVl+YW00vt85qO0ICLD7JDyXHu7ozN4DFhfOKqSw1XmQzesCT9AF63TTKLfei6G8oUkMX1rP4BuUByHmFuSInyB5nY8+WJlMnEeaIxh/4sT5OBHHl2SkLQgTaW6OtIO7vJeKFmHd8uRr9w57Ko1KkwVswaBDV1nzkWWlvLuVcd7VP2usOKsD1klxilOIpFGGAvfJUWxr08fPwcoYGLnzNsZL3ZHzgsgH29239Mmod5LfN29rET+3/ormhMETMzMZ8DUA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 49eabae1-903e-4e7a-1a87-08db2ab27b04
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 08:50:26.2593
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: //1mRoYcKfisG3IPPgx4tp9spdhGehfmlTlpSnGJBGc3/jGkIYA1fk3UP/6QDdgOAxcUyU5MViNvqLsZhOFmq4BYpxjPl3Oj1IEQffFLpe8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6440

On 21/03/2023 5:33 pm, Demi Marie Obenour wrote:
> Obtaining code over an insecure transport is a terrible idea for
> blatently obvious reasons.  Even for non-executable data, insecure
> transports are considered deprecated.
>
> This patch enforces the use of secure transports in the build system.
> Some URLs returned 301 or 302 redirects, so I replaced them with the
> URLs that were redirected to.
>
> Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
> ---
>  stubdom/configure                 | 12 ++++++------
>  stubdom/configure.ac              | 12 ++++++------
>  tools/firmware/etherboot/Makefile |  6 +-----

This drops the final reference to GIT_HTTP.  As you're modifying
configure anyway, it would be preferable to drop this option too, for an
even more negative diffstat.

(Probably ok to be folded in on commit.)

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:14:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:14:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513199.793859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peuXr-0001ot-Qp; Wed, 22 Mar 2023 09:14:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513199.793859; Wed, 22 Mar 2023 09:14: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 1peuXr-0001om-Ne; Wed, 22 Mar 2023 09:14:11 +0000
Received: by outflank-mailman (input) for mailman id 513199;
 Wed, 22 Mar 2023 09:14: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=dhKM=7O=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1peuXq-0001og-Bw
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:14:10 +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 e52ac10b-c891-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 10:14:06 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id d17so7782837wrb.11
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 02:14:06 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 a6-20020a056000100600b002c8ed82c56csm13381170wrx.116.2023.03.22.02.14.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Mar 2023 02:14: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: e52ac10b-c891-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679476445;
        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=r0hejRiLXI+YUCS+m6+xaR+/dGB2HICt4bgjq4brH8k=;
        b=mIMMfBb9rSvAusCNtkWGInAAOj6baEAyZdYJXFo7GxO9Lt+vXxzGoCmyqDgCkZw/Qk
         JWFzXawjcdjIodD8ulAwOEmpf5sLZiaeq4aWXW5M0agcSLbyEvfQ1mQbw22+ETm/LJAC
         IccwBz2kBk1l1wYr30y1UM0lfC102EXRBagaDJrrm68wDPBiCpSLOZ4MV2LJgWtk2mIG
         fjO7+v+kGmOm0MpVy3OHWftDVysKlUXYdCy6e59Y9f3kTJeRMIYrDOgCztLG5GMjLtJ9
         klgEUsQCzi08KhvZgmUPnyIPvoBU411K5IwHVYVWMQ9jaPtla4s49fizKeRc86Ylq0i7
         /irA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679476445;
        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=r0hejRiLXI+YUCS+m6+xaR+/dGB2HICt4bgjq4brH8k=;
        b=caqcJ8w8klho+uNKbH+1jHkfmQSCjdmW4AQb+1Ld8bGJ7JWt3mAWBX+4xCFJXLOJzc
         6yOsaNpXKo8ZDcT1KkB6xEQGJ8HiLFjVjYN8MLRZ2ersEtkPaD63aXJa490wHAtgU3if
         v52MA7qzI3vJA5dscVQwBi34MsXKrbAZOEhY2fNzhnb/6a/cJQ3L4WYiso/RNLStYj+H
         GMDL60eJTGAVvxdkAhUpWglEQRCydyrIqS45vK17+UbZWhg+UrCyJNx25jJ5dB+2sA3c
         5mNTGLTxrAshmVFvFbhRpo+7crHCERowM+gqzWvF2N2Vxg2Z7jVbJ/ud9V/NcfrKPfW1
         w0mg==
X-Gm-Message-State: AO0yUKVVkd5Hw73k8ok55jd1vOLIoef7J6uj29frnGJiQoKPf9BP0yFH
	U61B8z9YOldhPWhgJ0kwOUc=
X-Google-Smtp-Source: AK7set8IA0C689XNhczCRONguLJH4Jse3bsqmYbipFVr4C9HKiNrzyXhyALSSOK+R9HPXzA4O0n4UA==
X-Received: by 2002:adf:e50e:0:b0:2d4:99f:6701 with SMTP id j14-20020adfe50e000000b002d4099f6701mr4599606wrm.58.1679476445395;
        Wed, 22 Mar 2023 02:14:05 -0700 (PDT)
Message-ID: <01180d39d049c55d24a16ec385e4c4733e5e64a9.camel@gmail.com>
Subject: Re: [PATCH v1 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>
Date: Wed, 22 Mar 2023 11:14:00 +0200
In-Reply-To: <07088184-3aa4-0e1f-2794-60219c358283@xen.org>
References: <cover.1677250203.git.oleksii.kurochko@gmail.com>
	 <a145fbbfb166d9f6bd4859b669d23a1f52004b2b.1677250203.git.oleksii.kurochko@gmail.com>
	 <fca300ad-0fd1-70ed-4cd4-82e89f5c3351@xen.org>
	 <a0f3f1ca4277c1f8aeeaf6531d90c5b04c244af9.camel@gmail.com>
	 <98d45f93-b611-1016-45b5-3d7487af261f@xen.org>
	 <e0722b2323c78478f8fd07b515bb607ef168ef1e.camel@gmail.com>
	 <07088184-3aa4-0e1f-2794-60219c358283@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

Hi Julien,

On Tue, 2023-03-21 at 16:25 +0000, Julien Grall wrote:
>=20
>=20
> On 05/03/2023 16:25, Oleksii wrote:
> > Hi Julien,
>=20
> Hi,
>=20
> Sorry for the late answer. I was away for the past couple of weeks.
>=20
> > On Mon, 2023-02-27 at 17:36 +0000, Julien Grall wrote:
> > > Hi Oleksii,
> > >=20
> > > On 27/02/2023 16:52, Oleksii wrote:
> > > > On Sat, 2023-02-25 at 17:53 +0000, Julien Grall wrote:
> > > > > > +/*
> > > > > > + * WARNING: load_addr() and linker_addr() are to be called
> > > > > > only
> > > > > > when the MMU is
> > > > > > + * disabled and only when executed by the primary CPU.=C2=A0
> > > > > > They
> > > > > > cannot refer to
> > > > > > + * any global variable or functions.
> > > > >=20
> > > > > I find interesting you are saying when
> > > > > _setup_initial_pagetables() is
> > > > > called from setup_initial_pagetables(). Would you be able to
> > > > > explain
> > > > > how
> > > > > this is different?
> > > > I am not sure that I understand your question correctly but
> > > > _setup_initial_pagetables() was introduced to map some
> > > > addresses
> > > > with
> > > > write/read flag. Probably I have to rename it to something that
> > > > is
> > > > more
> > > > clear.
> > >=20
> > > So the comment suggests that you code cannot refer to global
> > > functions/variables when the MMU is off. So I have multiple
> > > questions:
> > > =C2=A0=C2=A0=C2=A0 * Why only global? IOW, why static would be OK?
> > > =C2=A0=C2=A0=C2=A0 * setup_initial_pagetables() has a call to
> > > _setup_initial_pagetables() (IOW referring to another function).
> > > Why
> > > is
> > > it fine?
> > > =C2=A0=C2=A0=C2=A0 * You have code in the next patch referring to glo=
bal
> > > variables
> > > (mainly _start and _end). How is this different?
> > >=20
> > > > >=20
> > > > > > + */
> > > > > > +
> > > > > > +/*
> > > > > > + * Convert an addressed layed out at link time to the
> > > > > > address
> > > > > > where it was loaded
> > > > >=20
> > > > > Typo: s/addressed/address/ ?
> > > > Yes, it should be address. and 'layed out' should be changed to
> > > > 'laid
> > > > out'...
> > > > >=20
> > > > > > + * by the bootloader.
> > > > > > + */
> > > > >=20
> > > > > Looking at the implementation, you seem to consider that any
> > > > > address
> > > > > not
> > > > > in the range [linker_addr_start, linker_addr_end[ will have a
> > > > > 1:1
> > > > > mappings.
> > > > >=20
> > > > > I am not sure this is what you want. So I would consider to
> > > > > throw
> > > > > an
> > > > > error if such address is passed.
> > > > I thought that at this stage and if no relocation was done it
> > > > is
> > > > 1:1
> > > > except the case when load_addr_start !=3D linker_addr_start.
> > >=20
> > > The problem is what you try to map one to one may clash with the
> > > linked
> > > region for Xen. So it is not always possible to map the region
> > > 1:1.
> > >=20
> > > Therefore, I don't see any use for the else part here.
> > Got it. Thanks.
> >=20
> > I am curious than what is the correct approach in general to handle
> > this situation?
> There are multiple approach to handle it and I don't know which one=20
> would be best :). Relocation is one...
>=20
> > I mean that throw an error it is one option but if I would like to
> > do
> > that w/o throwing an error. Should it done some relocation in that
> > case?
> ... solution. For Arm, I decided to avoid relocation it requires more
> work in assembly.
>=20
> Let me describe what we did and you can decide what you want to do in
> RISC-V.
>=20
> For Arm64, as we have plenty of virtual address space, I decided to=20
> reshuffle the layout so Xen is running a very high address (so it is=20
> unlikely to clash).
I thought about running Xen very high address.
Thanks. I think it is a nice option to do the same for RISC-V64.

>=20
> For Arm32, we have a smaller address space (4GB) so instead we are
> going=20
> through a temporary area to enable the MMU when the load and runtime=20
> region clash. The sequence is:
>=20
> =C2=A0=C2=A0 1) Map Xen to a temporary area
> =C2=A0=C2=A0 2) Enable the MMU and jump to the temporary area
> =C2=A0=C2=A0 3) Map Xen to the runtime area
> =C2=A0=C2=A0 4) Jump to the runtime area
> =C2=A0=C2=A0 5) Remove the temporary area
>=20
It is the same for RV32. As we don't support RV32 I will use:
  #error "Add support of MMU for RV32"
> [...]
>=20
> > > > > Hmmm... I would actually expect the address to be properly
> > > > > aligned
> > > > > and
> > > > > therefore not require an alignment here.
> > > > >=20
> > > > > Otherwise, this raise the question of what happen if you have
> > > > > region
> > > > > using the same page?
> > > > That map_start &=3D=C2=A0 ZEROETH_MAP_MASK is needed to page number=
 of
> > > > address
> > > > w/o page offset.
> > >=20
> > > My point is why would the page offset be non-zero?
> > I checked a linker script and addresses that passed to
> > setup_initial_mapping() and they are really always aligned so there
> > is
> > no any sense in additional alignment.
>=20
> Ok. I would suggest to add some ASSERT()/BUG_ON() in order to confirm
> this is always the case.
>=20
> [...]
>=20
> > > > >=20
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0 /*
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0 * Create a mapping of the load time a=
ddress range
> > > > > > to...
> > > > > > the
> > > > > > load time address range.
> > > > >=20
> > > > > Same about the line length here.
> > > > >=20
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0 * This mapping is used at boot time o=
nly.
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0 */
> > > > > > +=C2=A0=C2=A0=C2=A0 _setup_initial_pagetables(second, first, ze=
roeth,
> > > > >=20
> > > > > This can only work if Xen is loaded at its linked address. So
> > > > > you
> > > > > need a
> > > > > separate set of L0, L1 tables for the identity mapping.
> > > > >=20
> > > > > That said, this would not be sufficient because:
> > > > > =C2=A0=C2=A0=C2=A0=C2=A0 1) Xen may not be loaded at a 2M boundar=
y (you can
> > > > > control
> > > > > with
> > > > > U-boot, but not with EFI). So this may cross a boundary and
> > > > > therefore
> > > > > need multiple pages.
> > > > > =C2=A0=C2=A0=C2=A0=C2=A0 2) The load region may overlap the link =
address
> > > > >=20
> > > > > While I think it would be good to handle those cases from the
> > > > > start,
> > > > > I
> > > > > would understand why are not easy to solve. So I think the
> > > > > minimum is
> > > > > to
> > > > > throw some errors if you are in a case you can't support.
> > > > Do you mean to throw some error in load_addr()/linkder_addr()?
> > >=20
> > > In this case, I meant to check if load_addr !=3D linker_addr, then
> > > throw
> > > an error.
> > I am not sure that it is needed now and it is easier to throw an
> > error
> > but is option exist to handler situation when load_addr !=3D
> > linker_addr
> > except throwing an error? relocate?
>=20
> I believe I answered this above.
Yeah, you answered my question completely. Thank you very much.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:22:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:22:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513202.793869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peufa-0003Tw-JP; Wed, 22 Mar 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 513202.793869; Wed, 22 Mar 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 1peufa-0003Tp-Fx; Wed, 22 Mar 2023 09:22:10 +0000
Received: by outflank-mailman (input) for mailman id 513202;
 Wed, 22 Mar 2023 09:22: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=dhKM=7O=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1peufY-0003Tj-RU
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:22:08 +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 03b57ced-c893-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 10:22:06 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id h17so16228756wrt.8
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 02:22:06 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 f11-20020a5d4dcb000000b002cfe3f842c8sm13278782wru.56.2023.03.22.02.22.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Mar 2023 02:22: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: 03b57ced-c893-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679476926;
        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=QaQ3Bks+uUu+l2tEoMBUkW+ahXxFo7K3SAvP9M93PaA=;
        b=h/LvyNWtndyjm1b2uppfUdYckxwnx357jh4/z45cR6PtP5gLikJ0fZRXZhQxztXW5q
         zXH7B8F0pOsPl18kG2tW5OT1sRuqQY6uAGfDFuuPCDsgE98SWrXD4ef3g/Vh8jyJAEq2
         tgzKiXHpP/N5d84obSd18FhwJl38Pf3fvugJD/w0IXUgX+JBM0Y9N3QP+RLNCZfJx3KL
         tys6fsWM0PBywTa0KlUEkN4l+T66uPh2dm8Ca7s7dWnZAxzDLCiCOTIrE/U6QkObiLFJ
         I5GB2TIdlzmFT36udTD6Q3IHaXdc8xOQDKRqrdK9dUhlIaPH9RQJOnj9QeTzKvVqT7Zn
         +h4g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679476926;
        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=QaQ3Bks+uUu+l2tEoMBUkW+ahXxFo7K3SAvP9M93PaA=;
        b=Jbn3eyzL8THom9HsvesiAj0t/b/cBI8N+LevVVUBQ3UnP9oPlFStBpBQ/YmU5rV6R3
         sTMkWXt51rlNthWKeuD2Q3x06LOgdz8Zjj5vu0yB6ojWifDJsxvFpiysBcaF1VqH2T/b
         Obo2N9MZCIsz8oKY9k6ifyNQzRzn9JkguLp7FdONnv9+mDeVbIFkUROyPTq8cwL+8/Av
         dkVtxAGEthsOpbTK0MO+UzjHXdqtRK2De+/9hhXErglfc77smYem5AariDWnlVhcLMS7
         u5pYiPPhiUnQwHiH7oAHUkqX9qz30np6XZ//NNQg0TkRJ23yylU5AUE7+NvI0BMwXSxQ
         85ew==
X-Gm-Message-State: AO0yUKW9h88cnaobye56dhSmheClVY9hGIPG/CPr1JC0P7hAu1JxPT1E
	7aLHbluAFlmuKiPqMTKgcIA=
X-Google-Smtp-Source: AK7set/wRjfdQrhUpp8KXiKARSpuZiBKIYIoQ8Vc3fjdO67FMAGjzVeYoyQRVBvDho3ZGrZSp7SorA==
X-Received: by 2002:adf:e583:0:b0:2d0:3584:27f with SMTP id l3-20020adfe583000000b002d03584027fmr4816630wrm.68.1679476926196;
        Wed, 22 Mar 2023 02:22:06 -0700 (PDT)
Message-ID: <9d01344703e6e96dc3de02fefa2203be52e1ca3b.camel@gmail.com>
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Wed, 22 Mar 2023 11:22:04 +0200
In-Reply-To: <0d6cc462-8df6-bb49-5e24-5fb61df40a49@suse.com>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
	 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
	 <27c2d76e-1f9e-01f2-846f-9f3bdddeefcf@suse.com>
	 <d5e9a5750e7cd32337b98ad39b60d3e95321caed.camel@gmail.com>
	 <0d6cc462-8df6-bb49-5e24-5fb61df40a49@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-22 at 09:12 +0100, Jan Beulich wrote:
> On 21.03.2023 18:08, Oleksii wrote:
> > On Mon, 2023-03-20 at 17:41 +0100, Jan Beulich wrote:
> > > On 16.03.2023 17:43, Oleksii Kurochko wrote:
> > > > +#define LEVEL_ORDER(lvl)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 (lvl * PAGETABLE_ORDER)
> > > > +#define LEVEL_SHIFT(lvl)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 (LEVEL_ORDER(lvl) +
> > > > PAGE_ORDER)
> > > > +#define LEVEL_SIZE(lvl)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (_AT(paddr_t, 1) <<
> > > > LEVEL_SHIFT(lvl))
> > > > +
> > > > +#define XEN_PT_LEVEL_SHIFT(lvl)=C2=A0=C2=A0=C2=A0=C2=A0 LEVEL_SHIF=
T(lvl)
> > > > +#define XEN_PT_LEVEL_ORDER(lvl)=C2=A0=C2=A0=C2=A0=C2=A0 LEVEL_ORDE=
R(lvl)
> > > > +#define XEN_PT_LEVEL_SIZE(lvl)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 LEVEL=
_SIZE(lvl)
> > >=20
> > > Mind me asking what these are good for? Doesn't one set of macros
> > > suffice?
> > Do you mean XEN_PT_LEVEL_{SHIFT...}? it can be used only one pair
> > of
> > macros. I'll check how they are used in ARM ( I copied that macros
> > from
> > there ).
>=20
> There's no similar duplication in Arm code: They have LEVEL_..._GS(),
> but that takes a second parameter.
>=20
> > > > +#define XEN_PT_LEVEL_MAP_MASK(lvl)=C2=A0 (~(XEN_PT_LEVEL_SIZE(lvl)
> > > > -
> > > > 1))
> > > > +#define XEN_PT_LEVEL_MASK(lvl)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (VPN_=
MASK <<
> > > > XEN_PT_LEVEL_SHIFT(lvl))
> > > > +
> > > > +#define PTE_SHIFT=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 10
> > >=20
> > > What does this describe? According to its single use here it may
> > > simply require a better name.
> > If look at Sv39 page table entry in riscv-priviliged.pdf. It has
> > the
> > following description:
> > =C2=A0 63 62 61=C2=A0 60=C2=A0=C2=A0=C2=A0 54=C2=A0 53=C2=A0 28 27=C2=
=A0 19 18=C2=A0 10 9 8 7 6 5 4 3 2 1 0
> > =C2=A0 N=C2=A0 PBMT=C2=A0=C2=A0 Rererved=C2=A0 PPN[2] PPN[1] PPN[0] RSW=
 D A G U X W R V
> > So 10 it means the 0-9 bits.
>=20
> Right. As said, I think the name needs improving, so it becomes clear
> what it refers to. Possibly PTE_PPN_SHIFT?
It will be better so I'll update it in new version of the aptch series.
>=20
> Another question: Do you really mean to only support Sv39?
At least for now yes, it looks like it is the most usable mode.
>=20
> > > > +/* Page Table entry */
> > > > +typedef struct {
> > > > +=C2=A0=C2=A0=C2=A0 uint64_t pte;
> > > > +} pte_t;
> > >=20
> > > Not having read the respective spec (yet) I'm wondering if this
> > > really
> > > is this way also for RV32 (despite the different
> > > PAGETABLE_ORDER).
> > RISC-V architecture support several MMU mode to translate VA to PA.
> > The following mode can be: Sv32, Sv39, Sv48, Sv57 and PAGESIZE is
> > equal
> > to 8 in all cases except Sv32 ( it is equal to 4 ).
>=20
> I guess you mean PTESIZE.
Yes, I mean PTESIZE.
>=20
> > but I looked at
> > different big projects who have RISC-V support and no one supports
> > Sv32.
> >=20
> > So it will be correct for RV32 as it supports the same Sv32 and
> > Sv39
> > modes too.
>=20
> Would you mind extending the comment then to mention that there's no
> intention to support Sv32, even on RV32? (Alternatively, as per a
> remark you had further down, some #ifdef-ary may be needed.)
I re-read documentation and it gave you incorrect information:

When SXLEN=3D32, the only other valid setting for MODE is Sv32, a paged
virtual-memory scheme described in Section 4.3.
When SXLEN=3D64, three paged virtual-memory schemes are defined: Sv39,
Sv48, and Sv57, described in Sections 4.4, 4.5, and 4.6, respectively.
One additional scheme, Sv64, will be defined in a later version of this
specification. The remaining MODE settings are reserved for future use
and may define different interpretations of the other fields in satp.

But I'll add #ifdef with the message that RV32 isn't supported now.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:28:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:28:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513206.793882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peulf-00046x-AC; Wed, 22 Mar 2023 09:28:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513206.793882; Wed, 22 Mar 2023 09: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 1peulf-00046q-7N; Wed, 22 Mar 2023 09:28:27 +0000
Received: by outflank-mailman (input) for mailman id 513206;
 Wed, 22 Mar 2023 09: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peuld-00046j-RU
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:28:26 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on062a.outbound.protection.outlook.com
 [2a01:111:f400:fe02::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e3d1c29f-c893-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 10:28:23 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS5PR04MB9896.eurprd04.prod.outlook.com (2603:10a6:20b:67d::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:28:21 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09: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: e3d1c29f-c893-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JXDSgnS4RDD7V0+ufBUNqLQxLXeXyb0gfnVaj5imtNUrt43zV9tFWGArGsgXBvZJlRxcyZl3PmO97GGvgKXb6e4uCyDZZR4ZSM8oYYUBzhcEd9+TfwMeMUD1TWilsgk//3TjHYBJJWiLWO2IpR2liw2F58rfyRGdaNJ4D1X7adELZkzGHDTagPX6OVxjV1C3B2PerY8a0o71T9qd5fPrpzAyo+v3VM4BP3GeQn1jazjMPD7JRD1pHeJAG/zICxnaZj2glBkI0Qcg35q9PLM4/rLD/pERAa522OR1zJ+6kdOF9qt03cSbvDx4FYmUZESW4gOE2jlK/QcI2uEGgMGR4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y3lh/XHrJ6mUqcRytNOoUcux+y7tpgfVkGIjWwByego=;
 b=hSzZKSYmizX8kd0xQG1rxFK+BoYPUqatq8ZHAnVnFJ9QEvnnSrHw6de3pod216MDYCotkseZahMKTOjrE9Rzfna8LfxVb7Wex/g77cmDKBW/g9q9/ipFuD340enHdAf8jzjSN/ryhwuW4sn1MALPnnDH6TfFK6caF2C9aousPnnc0OU3pMpz3FrKxc4C7BEIsBxjHqLcRZstuLbmtMVZWR/kQ/R8o8ptMqGf9K49xypMrXViwiVyYENIKtJtX2tuo7Pen5Nc88fPZSOyEKTCWL4wUMgayiwtB5jiEf4ozEZIN21u/iasKtH1m0rL1uC8SsG+O4nsU23l0zYtcoo3tQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y3lh/XHrJ6mUqcRytNOoUcux+y7tpgfVkGIjWwByego=;
 b=yKmqyYz+7j5UWJovoqVzMs8vRallz4PKkS65Y0epVSTc8BikVik5rojwADvwJHnmp9SI0zHTuikY/UITVvZ/Cl4q7TZMxFqz/UyL693a54wlUQQUd9Rpf7W5Dpiu/CkDb8zIyj7BKgsSJHIeENMHJmHmsv9hP/uLlIX3szBUCbo7FpboAR7Q/8C7MXAyWJMhGzBEOxi0VmW4JIGdUVhGTgryKc2M/eVFP9U3prVpvSMnXy82tM6/g5knf1ROIcw59CS7GA+oDkFaiyCssiLqoJJncJcbr3GlGANqRmyOZ4748dPSG2/mdEM6wcGvhIqfq9/YuhQbebYj3alPtMaeEQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Date: Wed, 22 Mar 2023 10:28:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 00/16] x86: assorted (mostly) shadow mode adjustments
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0109.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS5PR04MB9896:EE_
X-MS-Office365-Filtering-Correlation-Id: 6d589a55-ccd3-4be2-0354-08db2ab7c6fe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kq+Uk1pjo29Wn8XL/PmVX8ttVMturQHTsQyF5zFG491BorD3pZnz2IHxigmlLD5AZM7elzFIo5zWGzV/1L+wqkkveMxqpMMyq6YJfUikE+32ayviePLlr1lQJEr8xpoyHlG8ej9bV5OA5ANHxFzVC4qsodyJzaABCcQY5OtQCqJ1EU4vYiUkVrFGrwgNbvawes5kEqTVQZs0ApNQsf2Rzs3NoUwJFdyUtaGYNp7buemZfGFuoBceRwgBbcY6yxizYUT544uCJoRCPeULMA4HYUpSyY+E94ZIF2qRQbMR5oryQSPN7+K+nDy7qnA8wjcoyC1cAkwNmMIQNIaRK8tgD6lbMALMxNYWQ61+8NJ7A2pmsPwgQ8CgaqiH6isZBepybySD/oJGDCBlx0BLq3zgzTVYbuS3OFMvFd2fKXqYizlPspxAtuqMWECsw8i/VZT60ISyXiKcxQINuXhqXeS66j7PDYpXvGI8G98VEm71xES8ruTM9XPjGx0J3PsnHf8VbRx/iital0rOsY5b07mh/lZSX8aks0iEZ8VjZiAADtSx6gt4o6iP2Ity6PPvjFvJsbEndTQjtNWUBqS/CrNMHZwLcYbGqFTsROhZ2HlGHYmUO5WtBClOYs6jftnKXMcoDvRiStEhg1gN5nEEzPHhYErpLxyxmakkvQ5JzzZZTXhkIebOHYh90ptW9GRaJ3/u/GiQBx9fTM0WBvyrnZEbSmt+9Q3BR6EfUq3CCNrCbOs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(366004)(376002)(136003)(346002)(451199018)(36756003)(8936002)(5660300002)(41300700001)(83380400001)(2906002)(2616005)(316002)(478600001)(6486002)(54906003)(31696002)(86362001)(31686004)(38100700002)(6512007)(26005)(8676002)(6506007)(66476007)(6916009)(66556008)(66946007)(4326008)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dWFicy9MN0tuRXdMVklLVVVDK3BvRDVnNFlWTkpmWm5RNjFQQVNaeTZUZzd3?=
 =?utf-8?B?RUdyem50OWxKQXZieFgzdlBrbi9zL2VnM25VVURaY2E0MlFTdGQ3SWJaVXJG?=
 =?utf-8?B?eEJEeHowWE41eHBDM01EZnJzWkZPaVFsV1hnekluZzRwdW9lZGNjbDUrbzdw?=
 =?utf-8?B?cmF4aUY0cGlXR0V2d2Zkb21IT2FuaG0zVG1kcVhQR29BSVZBeTV6RTduTjBU?=
 =?utf-8?B?dFo2d1FtWkhHb3hxcWUyenNQZ0x6dFBsODZFR0s3bWxlNHZ4S2V1N0FkRUxz?=
 =?utf-8?B?WW1DVGR6VEp2Vk5jSEV6VDc5VXNIdWJSLzByUnlNalYxVnBzdVB5bldVNFBx?=
 =?utf-8?B?eTJhTGpxRHZ5aDFORGxjWHlVRmNaa0lpWmxaNjBxdGhNOE52UkRFb3NzdFZ4?=
 =?utf-8?B?bmZYM0w0TC9TRjl2dTExTTU0Y1NaNVphbFByTExVM3dia2xXalB5SVJMYUZW?=
 =?utf-8?B?UWJkNEgwbEZ4ZHJsVWJEUCtucTV4OEdIM0JIck9GMlZhN25QdVQ1dy9FZmU1?=
 =?utf-8?B?WGcrSnFVOVl3TGVJSUlCS2ZkaXptLzc3UHJkSUJ2TXlzYkozRUVYaWFCclBV?=
 =?utf-8?B?aDVpTXlvMnVpS1pDTTE0S0ROcHdLWlpvZ0wvSk5YZ09qb2wwMlAvL2VSRThV?=
 =?utf-8?B?cXgwNTBBTUNLc2ZoOGhPZFJnTGg2dGFncW1kV3JCeG5wUS9OSnV1eW1IS24v?=
 =?utf-8?B?NFpSMi8xV2x3b3hya1dmQkxpZlhyNFZUV24zMnZkSXdkbXNvMXkzcUM1VW9y?=
 =?utf-8?B?S0RyWmpSTE45dmJCdFYwSnlHMi9QdlZpRTVaeElRbGEzdGtrMUk4VE9FUXM0?=
 =?utf-8?B?QTl5SEZRT1djdks0Mk1DOVlVbTI3bjRWRTV0a0lsM1Njd1huNUtIS3Y5bEpW?=
 =?utf-8?B?dXliYkhTUzhaT1ppdFpFSjRHd2JpTE5PRkp0Q2dwK29ZS1o0WGFpT0xvdnky?=
 =?utf-8?B?dk5BWXgwSUV4VUpBL3RFdGZMUXJoUEJlLytVSWRIUkc1UlVPTm9Ucjk4UHBL?=
 =?utf-8?B?bjFYWEc4SEthbHVVc0RSdERJREh5Y1hJZ3dyaitST2lDV1J2d1Y0RjJ2LytG?=
 =?utf-8?B?VEk4anV2N2Q1czdQSGMxUVN0cmptdVZmWk1TQ2htN3hEZ0lxdGlBMGg5Z0xK?=
 =?utf-8?B?cS9DUlpzVEQyRGMvWkhNVjdEQnRhUkRYV1BrYmVWRGZWSDhYNnlISStHR2pM?=
 =?utf-8?B?UDRXaTJsbzdDTDlDNTNLMUE1T1dpWVYwMGJiR3BNM05kQzFZMkNVSGhMVTVM?=
 =?utf-8?B?OEFBTll5c0F0VVVHdDRhaHNaeC9hVzd1dmt6V2gyeWpZb2dtV0d5Nkhic3M3?=
 =?utf-8?B?ZlZiK01ROE1heUU1anNpWk14VFZqeHEvMXFCY25FWWZETDRPbG5TNjNDMlB6?=
 =?utf-8?B?aXlJT0p2YWxUVUdoaEtmZFh2eG1URU9QbjZic0FHaWxlcm9uZ3lBU2ZVZW9C?=
 =?utf-8?B?MEZYbm5PdW44dWJvNFd6VmNOcDNJMUNTbmNzR1h3cU5WRFJlREpBRkF1eFFo?=
 =?utf-8?B?Rzl6WndKREJPdUV0d1FNeWp2VEFQNWl5eGVSeWxHdUJoVjVXdGp0UktZYVNH?=
 =?utf-8?B?SjdYMTdKRTdFaEZ1R1MvOTVwV1FzVTh4YzBmN0pXVGp3UU5oTm9iYUVDcEhX?=
 =?utf-8?B?bm5DMXFMbE9RdGRaZWdadWdjYmczTGJtOUN5R3N4Z2huNkE4QjdtVzR4U1NQ?=
 =?utf-8?B?N2N2NkNPeEZZdXB2K1UwL0tnTnY0ekJxbFZXMmo5eVErL3M0T2Rnak04Y29m?=
 =?utf-8?B?Zk5WYjMzMG44QTJDa2Z0ZnRjbXpsM0JqTlZQdVhxd0JwN2V4Q0QwQVFscVMx?=
 =?utf-8?B?UzlGcGd2MXQrcTZrQkJOcFpTN29VeGxjVGxRblNheXlMRHdTVGcxcGsrR0du?=
 =?utf-8?B?MTc4cndFeWYvam5CdnhCb2lReERPRENQZXVpdUtnUnpIcXAybmUzY01hUXJy?=
 =?utf-8?B?RE9oUmQzNEhkUUFwRTdJUEdTWFJJUnBVZnJVSTlzbnpUTm05RFdQalFNelU3?=
 =?utf-8?B?YXRQVEozZnJmMXh0MTJuYU5PZGhVbFpxM0gzdVA4TGlNUWs2d3o4Nmt3VGhG?=
 =?utf-8?B?VnkxVGc3elhqWEFZTE4wdEkvZjdlTzkxdVFsVTZ6SWpwV0FoeEFkK204ZWg3?=
 =?utf-8?Q?uX3ZwQU1Z+SgkO2nfKSZr3IRR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d589a55-ccd3-4be2-0354-08db2ab7c6fe
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:28:21.0380
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zJY63BLJ9XvdaLI2eTrJIjI+gbu5Xwjii/Eo90h0PfU1YaC7goH/t9PQCBz52BR3xfY920UbcbLr28NmXacUvg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9896

This is kind of fallout from XSA-427 investigations, partly related to
there having been a more intrusive first approach. This is also the
reason why one of the patch has R-b already - that was a prereq for
the original approach.

Most patches aren't really dependent upon one another, so can probably
go in independently (as they get acked).

01: shadow: fix and improve sh_page_has_multiple_shadows()
02: shadow: fold/rename sh_unhook_*_mappings()
03: shadow: drop redundant present bit checks from SHADOW_FOREACH_L<N>E() "bodys"
04: shadow: replace memcmp() in sh_resync_l1()
05: shadow: reduce explicit log-dirty recording for HVM
06: shadow: purge {write,cmpxchg}_guest_entry() hooks
07: shadow: call sh_update_cr3() directly sh_page_fault()
08: shadow: use lighter weight mode checks
09: shadow: OOS mode is HVM-only
10: shadow: move OOS functions to their own file
11: shadow: drop is_hvm_...() where easily possible
12: shadow: make monitor table create/destroy more consistent
13: shadow: vCPU-s never have "no mode"
14: shadow: "monitor table" is a HVM-only concept
15: shadow: adjust monitor table prealloc amount
16: PV: conditionalize arch_set_info_guest()'s call to update_cr3()

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:30:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:30:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513211.793892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peun3-0004v1-Pk; Wed, 22 Mar 2023 09:29:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513211.793892; Wed, 22 Mar 2023 09:29: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 1peun3-0004uu-Mx; Wed, 22 Mar 2023 09:29:53 +0000
Received: by outflank-mailman (input) for mailman id 513211;
 Wed, 22 Mar 2023 09: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peun3-0004un-0O
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:29:53 +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 1903eb87-c894-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 10:29:52 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS1PR04MB9360.eurprd04.prod.outlook.com (2603:10a6:20b:4da::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:29:50 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:29:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1903eb87-c894-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Np8B34yAAi+uCh28eL8aUv+zYOLC4DV203h6mIYXSuXbZT3b+5sAs3Cndcf6tpvKH5SKZAtx45+ec5vUxeOKNh/XQMB/EBEo+zVg0brQBsHVgsz0CJxboqYoWVifCzEJ2i+f5Zqseizs5fzcWjVMY4rv3szybc+w0TJFlb6SGU33zYT7yfiah4KE6b8h/ZOGDV10ALNJkCEiL+IBYHjE19WNUpFxWtZiH4htfEYScZB8yQhQDtZtQp6zBC4OQi3vOAPdLB9sMLBvfExt0fTbnOfKnusb7tT09+ACHTcUSbKy+T0elYO7jri7PeD9/ea1e5UGRBpn3dZYQKaPwpxxuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S4LWW46rODj4dfG2ddfXP6R321VQnvo+mPhbiTw0dTo=;
 b=G9G47C2NYomvuPvJDEPCAPLwugsj4ZMw/pizXaondFXntH5F7/S/RKopRulVtctgW3V2gUndlulu81fJBAn6pBQ6nj4qw9vowaabhBNM3MMG5XlCyiyCut9pc0HIRVD1/YC57eT5DxoE3OiPavRavrAXaOofcfS5WY7xscM0caPjPFlvMfdfet2jCcFu2r+HFhHm2l34C9reFv/FFwg6uQL6Ymgoec26nrFkifV/T/XUknrphPB8DmFqdLINa5iIZ5aDLPDiafx7srJEiTmbrNud9xIn1QfHJHgGdK9/i7sufatVFQlQ9HXW0bJ4yxqQP4QbA2TelM7C9m5spRTSjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=S4LWW46rODj4dfG2ddfXP6R321VQnvo+mPhbiTw0dTo=;
 b=3j+kGm2VNPGDMaQ8AbqtqaIyj+T5wR0mS8V/P5EeyuuiQwzl5NySwHOeXAo1+cF2ieRWZzvFS2rByu+MdMNggJFgkxpIhdNUUlw/PzU7aMUzc8ucjoRyq3b4VgmKzeWOqjafOFhySI5ESbYsE6bvuUyan+h/V7nuhIMzQ+O+DgDhfpM2t23P9pM+SCBRSkbsrx9nmrlWo6nC4HyBql5kjSx9FwZxSnj4mqN2cbBo5uZ2f3JohRdmY7Xj9PgV8uzjnlBjnods6RhSNYHl/vucvCFLfcQPPy9WR5tWt5Ghon8GGklvx0sOhpQ2nTOZvV+YoL6y40gXuYfRVVzjp+e0xg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <290c9058-9907-4c6d-3fe8-987868a3a843@suse.com>
Date: Wed, 22 Mar 2023 10:29:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 01/16] x86/shadow: fix and improve
 sh_page_has_multiple_shadows()
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0046.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS1PR04MB9360:EE_
X-MS-Office365-Filtering-Correlation-Id: f24f22e1-3492-4fba-f9ce-08db2ab7fc63
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RezDjNVPMA9VCbN4A4doSODlSAbH5K/g09ZJbQ4Mn4Ih+vzdLpOjJ1vFmrhzGFfdKp90gMYEer19G+OCROaHx6emmOqFqoNt0sLCffq8UXDLAu+QNsckcSIubQD2yvKfHkvkJX3rxJl8Pk5kkkhZvKcgfoAIhnsdc+NXU8NCDcS5RnlEwrXw6zHZqAl+aYoENELHahMiTzEJHwBF54u2ZdYpI3uJQ09Rmd47p1W7cTAUPJOeuWeBpPv3TX4tFCOc2/jPHlbbSoDzLNgEAVH5Lpcdu24MyoNiZQ4tyNjX+yYQWbK2G3TkNng084ZYZ+l0gnHfMVLFWOeOr3bUlCf5KdiF+HVh1MBJG0NdkmkFOX+nBt79wzattCoCEkU+wyZxv/B2qlDqM04BNcyOSRndBd9oWGM4kANd7isgdolfFJ443NACUJ45DviRAP0C8W+vG6oGlf3mRufZTwQsV+gOeKniX3nee257LJE9Omx7A5jPDUATlx3Msg3WIE2L5D31pQa7ky3+0A8s20DuVtn7xoUyV11MCdeuJq5TzpRDzrU58GjdI8CcCgs9//hFRer53/7QkOPQxRF5mVieEU0Jq1+dc0SNHK9ya2/PL9AxeHbJGtG1BL1+gqDTe8UKs6rfieftPk//RoYQq4A9ml6yh9UzhZFfqU8V2p/kI8g3nT7sdobJ2jmtXd/TKqIRdGCtP8TnjUOnj7KLpzUAy5u5pIh9XYOp4uOTwl46kHZMKIE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199018)(5660300002)(41300700001)(8936002)(4326008)(186003)(36756003)(31696002)(86362001)(38100700002)(2906002)(6916009)(6506007)(6486002)(6512007)(478600001)(2616005)(26005)(31686004)(66946007)(316002)(54906003)(66476007)(66556008)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SmtTVlJzbkN4d3lvQzZvUkFWV3hYd1pUbk9UbzRqQ1NRUFJUbFNrTG14clZT?=
 =?utf-8?B?YWhOMDVTU0xvNlpwd0VES3Vna0ZiNnhleXJGQjZjbWQ2ZVVGQjNWcU1WbzJj?=
 =?utf-8?B?WUgwanJmcFFCM2JJWG5nZ1lsbmNYVHM4bCsyNzNwcEQ4TDhmUUVEcFRHNWZw?=
 =?utf-8?B?SVVWamNzUHJXL3VvSnZhTzlEd3ZkZlBMaVNRSjdRTFpob2Zjd1diVklZYjVz?=
 =?utf-8?B?bXZEcG5oWjBNSEJGbHRyY1VJM3FramFoa0o2TDFpMVNoY1FsMHhRQnVaa2x5?=
 =?utf-8?B?eThBTTFDMWMvR2txNStmcWR0emw2c1ZBbHBSZ0ljODlLNHdNTVl0S3N4cEFQ?=
 =?utf-8?B?TEpoR1V3Tk1MWXlHSU1hU2I2VnpOb1ZBcVBPVkhwakQrWXNwZklFRjEyQjZq?=
 =?utf-8?B?czhISTE5bncwZm4zOHZlSDgyNS8zMy9FM1c1czA1WDhpaUtHRXBSeVhIakRI?=
 =?utf-8?B?Sy9tTVBSK2YyVzRDOVJkRnp2ZFAxaEJLeWlINXhYbDI0MHhaaFJNeUdGZUE2?=
 =?utf-8?B?bi91SnFYVlQvMDJsVTdEN2piUWo3Z21mMzgvL1d3aG5DaTdrLzRKYWphclh6?=
 =?utf-8?B?WFpKeFM0TE9DVFoyQ0xGbmhqTGdVSkxmS0ZpMmtsdlJ2ekVDd2FIQ0tVaXFN?=
 =?utf-8?B?Qk1vaTFpT29wdmk2bXpVWmJKUVhLeHBHQ2dOSnozZ3M5dmNRQk14cE5IRkJB?=
 =?utf-8?B?VWw1dUFLWG1TQ1Ava25WblJ6K0ZmenVucWRPYXJlcUVPS0kyY2F4Qk1QL1FR?=
 =?utf-8?B?dWVJcy9BRzJSMGtTVDJYNlBVdmg0MktCeWYrZDVVaXZUeFo0TXFhVFFnZGl2?=
 =?utf-8?B?NUN3azQreWN4cVZuK0dWMGJUWThLdlBpWlhMYUI5OVp0ZzZrUjdUTEpGWXBt?=
 =?utf-8?B?MUJHYUZNSCsvTHovVDNnbmRTNlJEaHVlZlR2SUpjS09uWXlWUHQ3YXlxd1dl?=
 =?utf-8?B?dkVXWDVIZURIYjJBaGRSbUVuTE5QcVpsQXRCdWN1WVBXS2x6ZExlMWJLUEQw?=
 =?utf-8?B?NW9VaWNVSjhlYVpkRnZ4R252ZEF5Um9Ed2diT0ptdjIvVVdrTGQwZStRbGtk?=
 =?utf-8?B?UmI5Tk5jZ0RxNEI4SWtnUFFFUUFiZVdrY2RNS2h1VDNOblpvK0toM3NoaklL?=
 =?utf-8?B?elhxVkpaQVUrTWowNGp6V3g0V053MFFidEFtQ3BuSStaRTZPbEdEMzJOL2ND?=
 =?utf-8?B?cGJoSG9pSFpaUmo4NkFyQUZ1ZHhKV0ZCYWFHbnFablpJRHF1KzhDV0ZpT05u?=
 =?utf-8?B?WU1hZ1Zmb3NsaEZCV2tha1o5aGUvQkVIUEI5MjBxMUR3TzNXY1NyNk82NFlH?=
 =?utf-8?B?S2VVeHBIUXh3YnR3WFNiUHJ2cUdCZ1pBMjQxbzdpbHRLUHIvZEo5czBkczVs?=
 =?utf-8?B?b2NiWXJodjBSRjhwYVZuKzBMMyt3N1cvajRqSTJIVnYzMmhsb1d2akw5YzRy?=
 =?utf-8?B?c2xxaVdBK2p5UFJTYzVibURCd0FXY0dRTUtQc3dZYVN5TDFod3k4NjFYbUt5?=
 =?utf-8?B?OERzYU50T0dPazhoOEhONjFzZDdxMGNGaGlWSFFOeUxKZThyV2dMVnVUUVhh?=
 =?utf-8?B?NnBpb3RCcHd5YVlIZWJLUisvOVlib2lTRk54UXk0emd2RVJ2SHBydkIzOGp0?=
 =?utf-8?B?WjVVZGU4Vk5MQnNnV3pqWFRJbEJIdmZzbnhBNDZpK29hVUxsdzZiemY1cWVT?=
 =?utf-8?B?cEpKd3hMUGxYVlMwcStVOWR1NUliYUtCQmtneDU4d0F2UTVDTThlVklHU3oy?=
 =?utf-8?B?anFnRmJSOEtGUGJKK2dvVXNjOUtXSUlvTjZpbE9xYk5rV0lkbG1xOE9NRng4?=
 =?utf-8?B?QXlxOUFJZ0RuNHN3VGdNZWs0aVlHNGVPUG5iVU1ZUDNTWTJyeWVXSXNWR0pz?=
 =?utf-8?B?Qkt4a0d6dVBnWGoxRmNJdVl6aytFaXpYQ2pTZkl0amtjS1VWN0ZzdzB4RUxa?=
 =?utf-8?B?M2ZYdFJOTHpsazA4UnpDVHgvV1hJWEhKWDBxelpKRFlWYTUvcXFUdyt1WjRQ?=
 =?utf-8?B?UitYbEhQalBpK1h5YzZJMDF0Q1hJMHdzeWRaUFBFLzNWY3F1cTlHdStSK0ZX?=
 =?utf-8?B?WUFkSG4xSFowQnFmemZRL0l0VmxaYTJvd1BqbGl0NmVtTUpCOENSQ00zcXow?=
 =?utf-8?Q?h+Y/DtXU8H0ch/sv8bmK2L8Sk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f24f22e1-3492-4fba-f9ce-08db2ab7fc63
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:29:50.5943
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lj9jBZMbTGZlKrCTaKMQLUPOFyEx3NarKYLBkGXrlvMcB/mPU0aQEVsSSf07b5kYllmatL9jaobK/quoDbQ6rg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9360

While no caller currently invokes the function without first making sure
there is at least one shadow [1], we'd better eliminate UB here:
find_first_set_bit() requires input to be non-zero to return a well-
defined result.

Further, using find_first_set_bit() isn't very efficient in the first
place for the intended purpose.

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

[1] The function has exactly two uses, and both are from OOS code, which
    is HVM-only. For HVM (but not for PV) sh_mfn_is_a_page_table(),
    guarding the call to sh_unsync(), guarantees at least one shadow.
    Hence even if sh_page_has_multiple_shadows() returned a bogus value
    when invoked for a PV domain, the subsequent is_hvm_vcpu() and
    oos_active checks (the former being redundant with the latter) will
    compensate. (Arguably that oos_active check should come first, for
    both clarity and efficiency reasons.)
---
Considering present uses, ASSERT(shadows) might be an option as well,
instead of making the null check part of the return value expression.

--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -332,7 +332,7 @@ static inline int sh_page_has_multiple_s
         return 0;
     shadows = pg->shadow_flags & SHF_page_type_mask;
     /* More than one type bit set in shadow-flags? */
-    return ( (shadows & ~(1UL << find_first_set_bit(shadows))) != 0 );
+    return shadows && (shadows & (shadows - 1));
 }
 
 #if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC)



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:30:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:30:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513214.793902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peunv-0006Hx-2a; Wed, 22 Mar 2023 09:30:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513214.793902; Wed, 22 Mar 2023 09:30: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 1peunu-0006Hq-Vr; Wed, 22 Mar 2023 09:30:46 +0000
Received: by outflank-mailman (input) for mailman id 513214;
 Wed, 22 Mar 2023 09:30: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peunu-0004un-5l
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:30:46 +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 38ce9073-c894-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 10:30:45 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB7042.eurprd04.prod.outlook.com (2603:10a6:208:1a2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:30:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:30:44 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38ce9073-c894-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lMEVpWZ5a17Me0naj91/hRGfJRC1CH74xRtZF4R8cwF4olCmeiOwKEL8Pa+BxRO7MpV/EZG4XuGkF7bU4FSw5shaNPSx9oZKinV29cdtIzpvPZmgijNVexBflTn00ndqcUo6UwxYW2OmsWwl5eEjRtG3xTztWBbsc1dHW5qN44hZ+y6Pg/dNLroAB/OvmhK2upGzKpdaJ/sMN6VO2nHfBalcL97VEYfZ0Uep6dxvYGYJ5Mr9BrxW+FAsKgNfrFsNXwGejnhPWtXgv63QoL6p4X4lRTZkTJNdHK2d5EJSFyu0E8VSWGul29XehgYd5i8PeK5XBt1e7fJwI+92/l2KzA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X+ld8GTQwB22a2rHLDTz7JUGbxwAP+yxpl3HqWacg5w=;
 b=mT7beBVdH237/nDwF/zBggZ+YYF/bmMJnFn/+0Ba/aIX5vGA5LKVlw7iShk1pjmMUUMTI0pm77v8fmS9zMck00zK1hkYNBuUnZDQlG+wkqZDpEVau81Ejp3JqHocbpdcG2O0P2Zp56WbUlopfcpw8+I4pKnTLR83MoUhSpLNwDRBKfYLHj33mst9MDmT7OBdGV8Eip/RZrupZcFJPDQaQW8c5H3ylI3Z+7MCm8qbP2MdwiHsKEvpWOJAaUWqBOEgoNm0ZFPUd4qzvs0pLnrBDLqRQRTgghbgnT/H9C4UrdKVANNhdv4tSQLeVVekm4s125kXwatl+e2giS4POBa+xg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X+ld8GTQwB22a2rHLDTz7JUGbxwAP+yxpl3HqWacg5w=;
 b=Vt2ZCHheNfJH1HRNFBtYbBEkI7baZD8j7Odleh+MbXjGEgmgTvyllrKRgOnBEPlpCtNperQTa6Sd/eG19Ou0aPTSWQ7Zuy92eRN8LLA1I9JMKFJLzF1cVcl5BShRyscVZnF8P2CpG8DGfyjLQblYSkQTnuQJray6PzeZNGFFKbrgYHOLuS9L6b4T1UanX0BJpPXWOmIEyeN+rCSxa/foMYis8PO8G/WUH6COTFXMUEenIXRNdsApL1zPM+dfSOteMzXPvpdiinKbZDafVb39cBykoOw4E+oHx8WGF4iR3WwCQ22sF6+XOloHG6lle85+2GPvkSgLqQxFQmo1boDFtg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b632fcd2-6b02-9bbb-0041-922f18c837f6@suse.com>
Date: Wed, 22 Mar 2023 10:30:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 02/16] x86/shadow: fold/rename sh_unhook_*_mappings()
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0045.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB7042:EE_
X-MS-Office365-Filtering-Correlation-Id: 0323c33b-e074-4abb-0ae0-08db2ab81c2f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HHDUtE1y8auT2HFOn/GkPZlK8Hn9/K2Fc4U1HvYkSTEQKYjMovn4NgToyewZHSqIE7Owio/BTWKd7R1wfOTRy0WDCAz6tDAhZH2SyAerld2AbN9f8OhHHWk/uN/Rs+FQcZmbOEY5d9ZzL0FzFLCi4cG33YZsYv0DGbSzOwBJ4NeV2VeJoSPRErcaMHs8wzpC/JBhcYwCS11nGHipH+ckOEmZHbhzABwSb8D/BWjY2GONzalyIg9jb9nso8s48oRkh3XyNTJJcNq3qC1T8Ff/h1UyNqol2sXpT7Qk13tBwShrKYL9+RMQZxe8OQLgEpkOuoo+fwjlOfu/ZqKMORhrdBmiLa08gIe8nYmChqopSY6oNcs/UWsGzA4cf0S/njqvM5RRm+glLMx9M/50EY0+cNOjGodpcidtj4jMr/4r2MP0ly1EgTA/eHUftU1sSNooyDoNHsKHIXlW1BKBpMAoJVYOnLoIgnKK0Hk5FdnI6EPF7/uWjJDqDXKbjhmJ+x8AJ5N7HXX5yfNpeLT5imLr1u34DB6XdyxJU1fwfM9BkyHI4hScrkK40XQVhyvfbWnd6JDUsyyCPk/Hos+Q2TPFbRfHm+agOIgtn6kEi0abNgQZ6Vok9/+zh75ccO1z8bzN5hVTnbStYWIhze/VCgJv608c0GqxeVdJt9D+NquwARsgulel/unKcDpNr++AUUo7cutHZLvLuRp5tU8R7zY9qrf4uhFEYMHyJsPuu2opnqc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(39860400002)(396003)(346002)(136003)(366004)(451199018)(2616005)(6512007)(54906003)(86362001)(38100700002)(31696002)(66476007)(8676002)(36756003)(2906002)(8936002)(4326008)(66556008)(66946007)(6916009)(41300700001)(5660300002)(6486002)(6506007)(26005)(316002)(478600001)(186003)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SVBUTlZ4cDV2Nmk5cXBOcjl1TGdYQVV5OGk0STBEcWxOTkgzaHBGckpJbDVG?=
 =?utf-8?B?dVFXRW5GK1pNNmRIYTZYd0J6RmRxM1BYTlJZT3dMNlRMUjFoMk1id3liTHJv?=
 =?utf-8?B?OVpjNTF2L0xwQjRqUWYzbVdZZ1pmdFRUOFdwb3JuOUwzZVoxUzRtcWl3cUdO?=
 =?utf-8?B?RHR1MGZtQThxeW11NjRCZkp5dmxOb3psYjhmRVRtUjEreXE4aFdUMjZHdW9Y?=
 =?utf-8?B?NG1XTG91ZkRFUkp4TGlBY1VCYjBjbkJtdXhBQlo4bE9PeFUwZmZEUSs0NWlJ?=
 =?utf-8?B?TXR2TWRJSlppcmRIb2xYMjRVLzB1RERUMWFCckJEU3hlL0ROTDJVWnVENFZU?=
 =?utf-8?B?MzJHMU4wTDFvUk1DTUZHNE56Z1Zrelluelp4blVBbVYzZ25oYkh6NXJkenhD?=
 =?utf-8?B?L3RyNTRwRCtONDQwOXpzaWoyc0JjY0dHd1ZEZHc4WVhuZ1VZQ0xpQmY1Ti94?=
 =?utf-8?B?bForM3lTSmI4UW1YY29xVWFTMktFWGhSUWJOMTJ0VnBSaEs5RVM0TDdUZ2hO?=
 =?utf-8?B?b0ZKbFUyaFZNVmZ6ZUc4N2tOVkVZdTUrOGl2U3RvK2FaZFlSVUZIaWliTmN1?=
 =?utf-8?B?Yk9EdUd6NW9UVktnVTRmRzdNQTlQZjhUd0FvaGpseXoxU1lRM1Axa3JLeTBY?=
 =?utf-8?B?WTVOWU5SekRoR1VxRkZGSzk0UERSWDJFNnBWMkxBQm5ZVkNlWXFJRVRvNVRu?=
 =?utf-8?B?U0VoS3VwR05KcWZDTHVQVTdza0RWWEV5THJNeS9DN2xEVk9zeHd4QmxVVXFC?=
 =?utf-8?B?OFc1SCtuVzczUGdnM21HVkJhUGZqMEh2RDk4YmZYRTNxNWczMkdaU0s0UVVE?=
 =?utf-8?B?cFp0RVpnNFZYVDgzaFdCRVVzMWJWUm81c0RocmVCeUpxNjgzNURNM3hPNmVo?=
 =?utf-8?B?WTF5TE5SNmtpNDcxU0x2SEhaYk5mb2ZmVWZ5ZWxxVHJYdzVVYm9oSDg1Ym5R?=
 =?utf-8?B?TFJOWDQzUDR4ekVsVVBOYnhJTkZHYUk5Q3RkRVpDczJoaTlmN2xqMGpjWG9V?=
 =?utf-8?B?clJ2aGczUVJLYmsrNCtTZ3RrMWIyaGx5bWMzNjhsTzIwM291VWlJUk9oak1X?=
 =?utf-8?B?MDZndFcrUVVSYU9ESU9VYVc1aHZQaXc3QnZ5NFBFVHBqZkZvUUpXMUdlMjhz?=
 =?utf-8?B?OW5QL09mRzlUaUpvUkZ4SXdZNTFmVWZzZDloVUYrbW5rVHQxVjF6enFpbUpr?=
 =?utf-8?B?RTJLc2tXTGg0RU1ZaFJ6ak1YREZGam1TNk5nNkFRT2dCUGEwQklyZ2Nhd0lv?=
 =?utf-8?B?WC9uclBUYkdueE9FMC9jNUxLd3JpN1g5OTJ3V3JnOUpMOGdNUkdXa3gyOUdt?=
 =?utf-8?B?QVZVK2xWZ2YxdEp0blhud0NGejl4TFIxM2ZKcGdud01scFkzQWV3dlZ6RUVT?=
 =?utf-8?B?NDlJU0U3YmpJN1drS2lXdlpXeDNIZ3hRdWsvRmVnQnVESnc2V21SaVdwNWNv?=
 =?utf-8?B?NWczVGFRQWdncGhyRFp6SzBCa2FmTE1yajVQMDI0aDRFRnoxRnliWk85Y2Ey?=
 =?utf-8?B?V1pXQWpvR2RUcHAxVitIbU9FR2lQV0M0TDM0NXNXcTFPYWkyVXg1NU5rVFJV?=
 =?utf-8?B?N0k1SDc5cHN3MDk3M2NxbGVqT0FaY3BZSmpnTWphUW5RbEZlRWFuTlBMT3VP?=
 =?utf-8?B?a3VJYU85SGpBbS9PSXEwdmdUQUp6WTNzdXJOTmt2U1lGZmVlRHlQL1pQOXh6?=
 =?utf-8?B?a2EydzF3dFZFejJIY0Fsa2cyZjNoYS9meEUwSjBWajNiNUhRWUQ5dldwMW9B?=
 =?utf-8?B?MWp1ZWRxa3lNc2xVWnd0cjFmY29vRzFDRjZtUTZCMFlXMnlkRGhaZ0pWb2J3?=
 =?utf-8?B?SEd5akhveUcrQXVqcFdCaG8rUmVRTEQzZlBkL1lxcTFCWVRKU1ltNm56ek5F?=
 =?utf-8?B?d2VSVDdxdUovYjNscTVqRkdIUzdyTVdsaFd4RExKRjJOU0FvWnlFSDd2Mzd0?=
 =?utf-8?B?STB6Z0dDSXBIYXo1RDZzWmVsYkNGcW94ZWlCYy83Nm5paHd5VytUQ3ZtQ1Mz?=
 =?utf-8?B?ZWFpQUFmekc4UDJ0SjRVNzBJTVdibFJJNUtPU0U3UjREamw0OWNvdG03bWhI?=
 =?utf-8?B?V2tOakRSQ0g1L0Z3aEd1bk9SNEtGRm5rWFFEVGloemZPVmNmM0QvQU9zblcv?=
 =?utf-8?Q?tBquUU09ZeAOuwjpUuw38blEf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0323c33b-e074-4abb-0ae0-08db2ab81c2f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:30:43.9344
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NGrR5EmvPPG4u7Gl1a7+npt+VU0m/NjEmOIWYz1tVXSlO7WlX3cii5OSmY2n+rDM5WjGD0pivgao6BhWlBaNCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7042

The "32b" and "pae" functions are identical at the source level (they
differ in what they get compiled to, due to differences in
SHADOW_FOREACH_L2E()), leaving aside a comment the PAE variant has and
the non-PAE one doesn't. Replace these infixes by the more usual l<N>
ones (and then also for the "64b" one for consistency; that'll also
allow for re-use once we support 5-level paging, if need be). The two
different instances are still distinguishable by their "level" suffix.

While fiddling with the names, convert the last parameter to boolean
as well.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
As long as the backing functions don't need to invoke each other, the
infixes could arguably also be dropped altogether. Every mode has
exactly one such function. (Thinking of it, unhooking at L4 is kind of
pointless for PV32, as the guest controlled root is L3. The only time
where we might want to unhook from L4 is when we clean up after the
guest. But even that's not strictly necessary as that would also be
taken care of by sh_detach_old_tables().)

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -898,14 +898,14 @@ void shadow_unhook_mappings(struct domai
     {
 #ifdef CONFIG_HVM
     case SH_type_l2_32_shadow:
-        SHADOW_INTERNAL_NAME(sh_unhook_32b_mappings, 2)(d, smfn, user_only);
+        SHADOW_INTERNAL_NAME(sh_unhook_l2_mappings, 2)(d, smfn, user_only);
         break;
     case SH_type_l2_pae_shadow:
-        SHADOW_INTERNAL_NAME(sh_unhook_pae_mappings, 3)(d, smfn, user_only);
+        SHADOW_INTERNAL_NAME(sh_unhook_l2_mappings, 3)(d, smfn, user_only);
         break;
 #endif
     case SH_type_l4_64_shadow:
-        SHADOW_INTERNAL_NAME(sh_unhook_64b_mappings, 4)(d, smfn, user_only);
+        SHADOW_INTERNAL_NAME(sh_unhook_l4_mappings, 4)(d, smfn, user_only);
         break;
     default:
         printk(XENLOG_ERR "Bad top-level shadow type %08x\n", sp->u.sh.type);
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -1416,21 +1416,9 @@ void sh_destroy_l1_shadow(struct domain
  * This implementation is pretty crude and slow, but we hope that it won't
  * be called very often. */
 
-#if GUEST_PAGING_LEVELS == 2
+#if GUEST_PAGING_LEVELS < 4
 
-void sh_unhook_32b_mappings(struct domain *d, mfn_t sl2mfn, int user_only)
-{
-    shadow_l2e_t *sl2e;
-    SHADOW_FOREACH_L2E(sl2mfn, sl2e, 0, 0, d, {
-        if ( !user_only || (sl2e->l2 & _PAGE_USER) )
-            shadow_set_l2e(d, sl2e, shadow_l2e_empty(), sl2mfn);
-    });
-}
-
-#elif GUEST_PAGING_LEVELS == 3
-
-void sh_unhook_pae_mappings(struct domain *d, mfn_t sl2mfn, int user_only)
-/* Walk a PAE l2 shadow, unhooking entries from all the subshadows */
+void sh_unhook_l2_mappings(struct domain *d, mfn_t sl2mfn, bool user_only)
 {
     shadow_l2e_t *sl2e;
     SHADOW_FOREACH_L2E(sl2mfn, sl2e, 0, 0, d, {
@@ -1441,7 +1429,7 @@ void sh_unhook_pae_mappings(struct domai
 
 #elif GUEST_PAGING_LEVELS == 4
 
-void sh_unhook_64b_mappings(struct domain *d, mfn_t sl4mfn, int user_only)
+void sh_unhook_l4_mappings(struct domain *d, mfn_t sl4mfn, bool user_only)
 {
     shadow_l4e_t *sl4e;
     SHADOW_FOREACH_L4E(sl4mfn, sl4e, 0, 0, d, {
--- a/xen/arch/x86/mm/shadow/multi.h
+++ b/xen/arch/x86/mm/shadow/multi.h
@@ -50,14 +50,11 @@ SHADOW_INTERNAL_NAME(sh_destroy_l4_shado
     struct domain *d, mfn_t smfn);
 
 extern void
-SHADOW_INTERNAL_NAME(sh_unhook_32b_mappings, GUEST_LEVELS)
-    (struct domain *d, mfn_t sl2mfn, int user_only);
+SHADOW_INTERNAL_NAME(sh_unhook_l2_mappings, GUEST_LEVELS)
+    (struct domain *d, mfn_t sl2mfn, bool user_only);
 extern void
-SHADOW_INTERNAL_NAME(sh_unhook_pae_mappings, GUEST_LEVELS)
-    (struct domain *d, mfn_t sl3mfn, int user_only);
-extern void
-SHADOW_INTERNAL_NAME(sh_unhook_64b_mappings, GUEST_LEVELS)
-    (struct domain *d, mfn_t sl4mfn, int user_only);
+SHADOW_INTERNAL_NAME(sh_unhook_l4_mappings, GUEST_LEVELS)
+    (struct domain *d, mfn_t sl4mfn, bool user_only);
 
 int cf_check
 SHADOW_INTERNAL_NAME(sh_rm_write_access_from_l1, GUEST_LEVELS)
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -232,9 +232,8 @@ static inline shadow_l4e_t shadow_l4e_fr
 #define sh_destroy_l3_shadow       INTERNAL_NAME(sh_destroy_l3_shadow)
 #define sh_destroy_l2_shadow       INTERNAL_NAME(sh_destroy_l2_shadow)
 #define sh_destroy_l1_shadow       INTERNAL_NAME(sh_destroy_l1_shadow)
-#define sh_unhook_32b_mappings     INTERNAL_NAME(sh_unhook_32b_mappings)
-#define sh_unhook_pae_mappings     INTERNAL_NAME(sh_unhook_pae_mappings)
-#define sh_unhook_64b_mappings     INTERNAL_NAME(sh_unhook_64b_mappings)
+#define sh_unhook_l2_mappings      INTERNAL_NAME(sh_unhook_l2_mappings)
+#define sh_unhook_l4_mappings      INTERNAL_NAME(sh_unhook_l4_mappings)
 #define sh_paging_mode             INTERNAL_NAME(sh_paging_mode)
 #define sh_audit_l1_table          INTERNAL_NAME(sh_audit_l1_table)
 #define sh_audit_fl1_table         INTERNAL_NAME(sh_audit_fl1_table)



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:31:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:31:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513216.793912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peuoF-0006kU-B1; Wed, 22 Mar 2023 09:31:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513216.793912; Wed, 22 Mar 2023 09: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 1peuoF-0006kN-85; Wed, 22 Mar 2023 09:31:07 +0000
Received: by outflank-mailman (input) for mailman id 513216;
 Wed, 22 Mar 2023 09: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peuoD-0004un-Rf
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:31:06 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe12::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4485e1aa-c894-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 10:31:05 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB7042.eurprd04.prod.outlook.com (2603:10a6:208:1a2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:31:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:31: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: 4485e1aa-c894-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h1IiNBsBdlo4foZeR8pnDoNaioAiU7VLDHMbczRpuRZOFpcMi8U+mZirtjMUhJH1Xvm3W0uiETffAAVdao+LNf/K3ysRmsIWz/6FCXw0BY4LnY4WzaiFMNSxhv3QepTMKBuvu8ltu/iDgSgMqnhKzcNRnGgJ9ODuKEGQeWlOSl4pOwb9jsqYThjL84svzMvFNAq3vgo69PVT/N3eF2IG79xZdwkdmHS+OFszlmCsynpfEkPwYcbUZOkHmUlXtItEqmR9AvFNgSVGIX17bU4zSo963BNkbsKk0dL3EOFAtXT16gSHEbmNmthb95BsB+j9fcwekkB2BV6AW/hynkd3OQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ESu5hhSEBf0LX1s1TTJhGHS0ZDtmxQNcokmLQmAE+sw=;
 b=jAlbLKTSRfw/Ud7NF129cwEPLUHDB6xvuY+b/82YQlw0wTcHDdPiv0wpMr1spNyoOoOp0SYw44Y3ye47DmlQOJm2teor+2zpgpVp42y2TtIrly4HhDTBLhQYnofYll7cWfQmPXKCqaxPuZ546x3Vb4WAY0/YKUyPu4NoCObewhz6GmjAOsVAKpmmAMa/9uTmhJ7mfqWBQKsI41hrs5yt2D1dC3cASy7bDzhWVVD7e5Sg1tibSAUDBOyvdMF50g/LO/Uo3X5ce4WDflTxxngXs2xesDYvy8mAN2txU7490fR/iiKjrZs245yvqNrZhTVpx/+H49wbZ4NVFMWSulKocA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ESu5hhSEBf0LX1s1TTJhGHS0ZDtmxQNcokmLQmAE+sw=;
 b=fr2fjT10c511QWTcBEPUFzbJyHdGXmU3gF4b4b2J8ReDMxDq40GnjfAp5UgUSpzgfvy5nIXsgVWndXf+PzPz7XmwGHWyq4NHNJhUcZjUgfbVz8YGBhVkRkFRWFeN+S//7z4s5R0dmZf7QUkGoGgOKc7ZHFtP2knfw6wNOxGiHGHePCl28PiDY9IFLaDSvlvwkN14aHt6ySiyqgDvME8ris7q6Zf3/lawJ4/j3YcmAjTixVoZhabQOCJQLTRZCuBx4rB9eWq84LDgtLGUDaNdyzhSKryoLYRpqtBu26fwLwlc+ckDNsxOyfHjtm3NYPebVrqJmsyCgkdSBItVIFDp5A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <54e7a146-6f86-95a7-7b3b-0ba5dd418949@suse.com>
Date: Wed, 22 Mar 2023 10:31:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 03/16] x86/shadow: drop redundant present bit checks from
 SHADOW_FOREACH_L<N>E() "bodys"
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB7042:EE_
X-MS-Office365-Filtering-Correlation-Id: d9252a38-16dc-47db-8b25-08db2ab827c9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vTiJfmHyT3x73tmtKB1UaVEqLGhyeucjpuhVn6GascHsgFTskymfK0imIGHlKC8NEQbcjqnCEAdQYeut01W/VIQzEpi19Jldroo3BbqZ4KaftuWr2Kl6CW/tFyp34dauOMV1zFWb9mvRw/rS0x+lQFBU4HUq6K9pp+k6CmU3oKT43C3afAg6Ciq+sMITj/vfx+8AIBtS1HuaJmXmEy0CDYcU42vmSPW/iJ0HdhpHzqmYJeCF2xluaUeTe24etLwHtjG2t/oNlxJQP00urmdktsvW0in8MOtTXa7Neeb6M2igjbGXYVqjQJRskAy8rkAJyXoXCvEli9aICmrJM2F77oCcTdOPsEZnLD1i2a1WwiRG/vGsHvq5frB7anhvg8zQ1eiqjt2hZN+wx3pCGk8WC4ORN8if77Or/Mpdc0H/zlMR8jiUP3Tn6xbpaD8Skd3jW9LHv+FEl0YZXSQhtjSydDVcxymVzVYCt+WB3BHX71BaPaS7G+ODGhQzj9MI3sX1M++EAqEF2Syav7KVHO93SLsNKRfEJMVdoGu0scc4XOw/JjeQA9XN+Bida6ET5SzxJn8p9FIcIz9+k9NWYpY1ajweYxeuerzA9QVki975R7aTJ1MeuPZKmbgQE/KyizqUtRXBujLiXba19i5yznBerCNT84QuzQY8hNG5qXN9cFK3lSU395GMWtVmujjFKMd+scgQv1pg9PEMZTldpHqO6RJqad/C2XSmw2zQ9ZqJH40kJTOy63B4u6ZPsfc2hVYWEd0BtTR/Etvz23a0UDE6T7CYCYWkFaKA3mq88CJS2BwuFcfauNLIyyKTdu/5nRVJ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(39860400002)(396003)(346002)(136003)(366004)(451199018)(2616005)(6512007)(54906003)(86362001)(38100700002)(31696002)(66476007)(8676002)(36756003)(2906002)(8936002)(4326008)(66556008)(66946007)(6916009)(41300700001)(5660300002)(6486002)(6506007)(26005)(316002)(478600001)(186003)(83380400001)(31686004)(45980500001)(43740500002)(414714003)(473944003)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K2JOZlpBeDhudi8vQVJyK25VOWRGVlB3dmJCdGdUNENtV29XZVMybEkwY2xC?=
 =?utf-8?B?NVJiT2RuQ2RQczBxSnJqcVN5N21nS3pzNEVvV3ZIZHd2QXBWMVMwWHRjalBa?=
 =?utf-8?B?eHd6NXg4RkY0UmFINnVPd244SFJCTzBVZFV2dVR2TlJUWkNSWWxSdEVqTHVP?=
 =?utf-8?B?aXZMYStEbDM2K1g0cHRKY2FXaFlSakphaXppN2VodzFZYzZvNXBTQmsvcmJR?=
 =?utf-8?B?Vkpya1p6V1MyYXdPUnpOc0xEUi9ueUlkY0ZoTi8rbXhsRUpMSmxLRlRvNDNF?=
 =?utf-8?B?S2R6aDNSbDZRam5XdDM1d0dqOTJBZkpzSjhBOXQzeFZVak5NNENCK3FxQ2tn?=
 =?utf-8?B?bEVWWmlZMWx1b2wrMG51MGxOdTk1TjI5SkxkT2xBTVplMDNQek1CQU1yY3Nr?=
 =?utf-8?B?UlBTQVQrckloa1U3TXhxbXBOTEhKWFUxL0pDSHdNU3BhNE40U2VUOHc0L2dZ?=
 =?utf-8?B?bEY5UXJQZFZicFpibWprZG53U1k1UVEvKzVldFVBQys1QjNxVGoyNnkrNFZT?=
 =?utf-8?B?UDJXK015aEtaRVF1VDR6RmxLTGdDWlZTU0ZiWmxNbUtVMEEwc0NjcElDSXFq?=
 =?utf-8?B?aEI0NjVwcWZ0eVczeGlvZlVmSE5YMVd6djVMZXpva25NSTlTcHRjdm9QbTR0?=
 =?utf-8?B?WS96WVZaZlZ0b2JYVEl0YVVwWjlzcGJrNjExbnVQd2ZMUlVON0dGa3IzNDNQ?=
 =?utf-8?B?V0xua0lRUE1vVTlQMWYrM1RJK3ZqeXIxVTM0TFZOczF4QURUS0Q3eDhrY0pa?=
 =?utf-8?B?TXBlaEhRaWVVRXBPamMvR2x2NXVaNXFiaTJyQy9lb0RHSGJoS0E2QlIrTERq?=
 =?utf-8?B?aktOc3FoamUxWlF4STZoc0JFUmVNUXo4WStUUmV2Y3RPM3Jad3BDRGI5NWw0?=
 =?utf-8?B?SVdwNFJ2UDNLWnZNZCt5SC9lSStkVzJIUnBYVmtaZ3o5QkpIVFc2c1c3cTRM?=
 =?utf-8?B?b0J5emd1SEFqNkxYeU5SdU1JSU5aWXRGTnFCN0htMG1hMDlxZTYwbmV0K3V0?=
 =?utf-8?B?MHVzblh4Y1FOak5vamRuaUpna3Bjb1BtWmhaam5uRGJ3emdWTElvYUFDWlZM?=
 =?utf-8?B?ZEE4VHlEaUQ3T3hCbm10ck1pdVNZZlNNU1ovbDQ3L3JrUVE2SzJNY2k0STQ0?=
 =?utf-8?B?RzR4aDE5ZG1FNCtxYWhrZVl6T2ZZUHpneGczaVAwOUF6dVdBeDA3aUFiRUZw?=
 =?utf-8?B?ZXpvTk1kVmtZNlJpRVdBdFBwNnRXRll0K1lKKzVoZ2VrSXpOR2tzK3FSNlNh?=
 =?utf-8?B?dTBXeGdDaXdoRHNWaHo0ajh0ZFJzZFI2b0J3d3Z2aGRDVEhCSkFWUG9jQ3Iy?=
 =?utf-8?B?cUxZNlFUaXlhS0RqLzQrL0hTaDdFK09IaFBzTzVDTlQydmRJc1RFK3ZiK3Qz?=
 =?utf-8?B?NlNkSUEyR3FBd0NPZ3Rxa2dpOW05RGJxbERqK29NMTZEendtallYZEVaeTBy?=
 =?utf-8?B?YVl5ZmtwMlpjaUM5U1FIUGRKSHQyYWJkNkt3WUhQd2ZOdkF6N0FPQVd6MHR4?=
 =?utf-8?B?SWFqZDZhWXZnRzllekpIVG9WQXI0RkdWNUg1eC9jd1pCYUN4M1o3RGIvV2d2?=
 =?utf-8?B?ZXNPQ3Y4Tm1oTlJQZjg3cEFiZnpXZi95S0phbkZMTHZXbEhxbFN6dnAzTWox?=
 =?utf-8?B?UE9JdkJ4WVhZT0ljMWwwN1AwbHJXbkdydmpwZVY0K0NKN0VJa1Q0U095UlV2?=
 =?utf-8?B?bi81YTd3RzlQMFYzWGc2dWh3a1NBMUt4b3RxT2FJT1pWdFd6UUc2a3lXTCtP?=
 =?utf-8?B?RnV2WDQvQXdWdFd2WE1aQWZZamJZY2ZuYUVqSEprMXlKajNXekVMUjFPZ1px?=
 =?utf-8?B?OE1tU3VDb3NnZ0xoNmliZFVKbklBTkpaaUt3RWJLK0k4TWcyd2V4U1BGSnFN?=
 =?utf-8?B?elBKQ2tJcHJKd3BIeHZOWVVicks0S2lnQ1dHRXR3WjB5SDJGMlN5TGZ4VFE2?=
 =?utf-8?B?akZJVVpwbWRRaFc4YVZKZnNYVENqbzFMZVlGYit4WjdQSzZtR2NtSm1qeENF?=
 =?utf-8?B?bmpTdDJuL0oxNjVYTW5aeEZJVEtFdUpsZng4cFJ6ZS9nQ0pBenRJSVVoeFJa?=
 =?utf-8?B?UlJIWjBTeVFtT0x1MTZCSFR1QWRtbEhhNHphcEo2TC9DeldtcTdXVlJkK01V?=
 =?utf-8?Q?1FUmj0r6vvAsQ+6hbt+EhuDU7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d9252a38-16dc-47db-8b25-08db2ab827c9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:31:03.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: DMJZgR2biyeaVO1x11gb56lfoCxvgSqxNq/we+VigUSdZoovPjlh3AEgQyxIUwdSvn/h1tcU7zD4kNvVGDCmMQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7042

SHADOW_FOREACH_L<N>E() already invokes the "body" only when the present
bit is set; no need to re-do the check.

While there also
- stop open-coding mfn_to_maddr() in code being touched (re-indented)
  anyway,
- stop open-coding mfn_eq() in code being touched or adjacent code,
- drop local variables when they're no longer used at least twice.

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

--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -1289,12 +1289,8 @@ void sh_destroy_l4_shadow(struct domain
     /* Decrement refcounts of all the old entries */
     sl4mfn = smfn;
     SHADOW_FOREACH_L4E(sl4mfn, sl4e, 0, 0, d, {
-        if ( shadow_l4e_get_flags(*sl4e) & _PAGE_PRESENT )
-        {
-            sh_put_ref(d, shadow_l4e_get_mfn(*sl4e),
-                       (((paddr_t)mfn_x(sl4mfn)) << PAGE_SHIFT)
-                       | ((unsigned long)sl4e & ~PAGE_MASK));
-        }
+        sh_put_ref(d, shadow_l4e_get_mfn(*sl4e),
+                   mfn_to_maddr(sl4mfn) | ((unsigned long)sl4e & ~PAGE_MASK));
     });
 
     /* Put the memory back in the pool */
@@ -1320,10 +1316,8 @@ void sh_destroy_l3_shadow(struct domain
     /* Decrement refcounts of all the old entries */
     sl3mfn = smfn;
     SHADOW_FOREACH_L3E(sl3mfn, sl3e, 0, 0, {
-        if ( shadow_l3e_get_flags(*sl3e) & _PAGE_PRESENT )
-            sh_put_ref(d, shadow_l3e_get_mfn(*sl3e),
-                        (((paddr_t)mfn_x(sl3mfn)) << PAGE_SHIFT)
-                        | ((unsigned long)sl3e & ~PAGE_MASK));
+        sh_put_ref(d, shadow_l3e_get_mfn(*sl3e),
+                   mfn_to_maddr(sl3mfn) | ((unsigned long)sl3e & ~PAGE_MASK));
     });
 
     /* Put the memory back in the pool */
@@ -1352,10 +1346,8 @@ void sh_destroy_l2_shadow(struct domain
     /* Decrement refcounts of all the old entries */
     sl2mfn = smfn;
     SHADOW_FOREACH_L2E(sl2mfn, sl2e, 0, 0, d, {
-        if ( shadow_l2e_get_flags(*sl2e) & _PAGE_PRESENT )
-            sh_put_ref(d, shadow_l2e_get_mfn(*sl2e),
-                        (((paddr_t)mfn_x(sl2mfn)) << PAGE_SHIFT)
-                        | ((unsigned long)sl2e & ~PAGE_MASK));
+        sh_put_ref(d, shadow_l2e_get_mfn(*sl2e),
+                   mfn_to_maddr(sl2mfn) | ((unsigned long)sl2e & ~PAGE_MASK));
     });
 
     /* Put the memory back in the pool */
@@ -1390,11 +1382,10 @@ void sh_destroy_l1_shadow(struct domain
         /* Decrement refcounts of all the old entries */
         mfn_t sl1mfn = smfn;
         SHADOW_FOREACH_L1E(sl1mfn, sl1e, 0, 0, {
-            unsigned int sl1f = shadow_l1e_get_flags(*sl1e);
-
-            if ( (sl1f & _PAGE_PRESENT) && !sh_l1e_is_magic(*sl1e) )
+            if ( !sh_l1e_is_magic(*sl1e) )
             {
-                shadow_vram_put_mfn(shadow_l1e_get_mfn(*sl1e), sl1f,
+                shadow_vram_put_mfn(shadow_l1e_get_mfn(*sl1e),
+                                    shadow_l1e_get_flags(*sl1e),
                                     sl1mfn, sl1e, d);
                 shadow_put_page_from_l1e(*sl1e, d);
             }
@@ -3559,7 +3550,6 @@ int cf_check sh_rm_write_access_from_l1(
 {
     shadow_l1e_t *sl1e;
     int done = 0;
-    int flags;
 #if SHADOW_OPTIMIZATIONS & SHOPT_WRITABLE_HEURISTIC
     struct vcpu *curr = current;
     mfn_t base_sl1mfn = sl1mfn; /* Because sl1mfn changes in the foreach */
@@ -3567,10 +3557,8 @@ int cf_check sh_rm_write_access_from_l1(
 
     SHADOW_FOREACH_L1E(sl1mfn, sl1e, 0, done,
     {
-        flags = shadow_l1e_get_flags(*sl1e);
-        if ( (flags & _PAGE_PRESENT)
-             && (flags & _PAGE_RW)
-             && (mfn_x(shadow_l1e_get_mfn(*sl1e)) == mfn_x(readonly_mfn)) )
+        if ( (shadow_l1e_get_flags(*sl1e) & _PAGE_RW) &&
+             mfn_eq(shadow_l1e_get_mfn(*sl1e), readonly_mfn) )
         {
             shadow_l1e_t ro_sl1e = shadow_l1e_remove_flags(*sl1e, _PAGE_RW);
 
@@ -3596,13 +3584,10 @@ int cf_check sh_rm_mappings_from_l1(
 {
     shadow_l1e_t *sl1e;
     int done = 0;
-    int flags;
 
     SHADOW_FOREACH_L1E(sl1mfn, sl1e, 0, done,
     {
-        flags = shadow_l1e_get_flags(*sl1e);
-        if ( (flags & _PAGE_PRESENT)
-             && (mfn_x(shadow_l1e_get_mfn(*sl1e)) == mfn_x(target_mfn)) )
+        if ( mfn_eq(shadow_l1e_get_mfn(*sl1e), target_mfn) )
         {
             shadow_set_l1e(d, sl1e, shadow_l1e_empty(), p2m_invalid, sl1mfn);
             if ( sh_check_page_has_no_refs(mfn_to_page(target_mfn)) )
@@ -3647,13 +3632,10 @@ int cf_check sh_remove_l1_shadow(struct
 {
     shadow_l2e_t *sl2e;
     int done = 0;
-    int flags;
 
     SHADOW_FOREACH_L2E(sl2mfn, sl2e, 0, done, d,
     {
-        flags = shadow_l2e_get_flags(*sl2e);
-        if ( (flags & _PAGE_PRESENT)
-             && (mfn_x(shadow_l2e_get_mfn(*sl2e)) == mfn_x(sl1mfn)) )
+        if ( mfn_x(shadow_l2e_get_mfn(*sl2e)) == mfn_x(sl1mfn) )
         {
             shadow_set_l2e(d, sl2e, shadow_l2e_empty(), sl2mfn);
             if ( mfn_to_page(sl1mfn)->u.sh.type == 0 )
@@ -3670,13 +3652,10 @@ int cf_check sh_remove_l2_shadow(struct
 {
     shadow_l3e_t *sl3e;
     int done = 0;
-    int flags;
 
     SHADOW_FOREACH_L3E(sl3mfn, sl3e, 0, done,
     {
-        flags = shadow_l3e_get_flags(*sl3e);
-        if ( (flags & _PAGE_PRESENT)
-             && (mfn_x(shadow_l3e_get_mfn(*sl3e)) == mfn_x(sl2mfn)) )
+        if ( mfn_x(shadow_l3e_get_mfn(*sl3e)) == mfn_x(sl2mfn) )
         {
             shadow_set_l3e(d, sl3e, shadow_l3e_empty(), sl3mfn);
             if ( mfn_to_page(sl2mfn)->u.sh.type == 0 )
@@ -3692,13 +3671,10 @@ int cf_check sh_remove_l3_shadow(struct
 {
     shadow_l4e_t *sl4e;
     int done = 0;
-    int flags;
 
     SHADOW_FOREACH_L4E(sl4mfn, sl4e, 0, done, d,
     {
-        flags = shadow_l4e_get_flags(*sl4e);
-        if ( (flags & _PAGE_PRESENT)
-             && (mfn_x(shadow_l4e_get_mfn(*sl4e)) == mfn_x(sl3mfn)) )
+        if ( mfn_x(shadow_l4e_get_mfn(*sl4e)) == mfn_x(sl3mfn) )
         {
             shadow_set_l4e(d, sl4e, shadow_l4e_empty(), sl4mfn);
             if ( mfn_to_page(sl3mfn)->u.sh.type == 0 )



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:31:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:31:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513222.793922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peuon-0007Oj-Ny; Wed, 22 Mar 2023 09:31:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513222.793922; Wed, 22 Mar 2023 09:31: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 1peuon-0007Oc-LC; Wed, 22 Mar 2023 09:31:41 +0000
Received: by outflank-mailman (input) for mailman id 513222;
 Wed, 22 Mar 2023 09:31: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peuol-0004un-PV
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:31:39 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20608.outbound.protection.outlook.com
 [2a01:111:f400:fe12::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 58d7008b-c894-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 10:31:39 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB7042.eurprd04.prod.outlook.com (2603:10a6:208:1a2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:31:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:31: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: 58d7008b-c894-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kMrKUvcqLWLjhDdfVyxXBZv1X2rPhrseSUGE2Nlyvv+Q85F5zJkwxtSfOYxzvDZURO64hWP5Ct+tNgoCHt1k0zVQ3L85RUhTwvR5/eb96cCW/uB3If1/lw3MS4te332P74W0LWVgyKFyUPw8KJVSVAzs//fKMw6aruTJEbJKzdDAZLa0gtPOSqkICAsFytLNeiSFE/JVDFb5wN5305vVr2V/7PHN0ssv7Si+mjQ5xg3p2jU05Aa8hyc6S6tX1qgRo3iCZiKuxWONPdtRrtjFzFXsuGxM3sGI8FO20EDphb9xPyagyRlKnq3CJTf/E26vgSLwfuL1W8C/bPz52vI37Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D1Dsj40oRv4OjoqF3xMmolhrQ7JzGMarXChK83LdjUg=;
 b=cAxPkxMAmUytH/XVgZ+wM0DF1qC5KLie2owEsa+13saGonfRI+eqyxWQ/dVfpd9Bd32ru8YHboZkmADfPGyUHRAjPYTHUSTciyLa9DDC6N0BHfyljKJq0aRQ+/YA0/zDCFmO4W/kVbVxg+Uxg/hz9A5c1x9tsf8m0q4ZP2l34vDN5O8oOvP1SE5Lf/zs0T7J06szsbldL/aAbbC0UFgSr41WqfMY0rv30nmvCCcg00AAKbIMWfG31JFT7dxiplbavj/YuMG16l5Z1n6m9RtaxeGMGep6gEb1vqKpiWOqo9FIWpmBYJi3H1jObGQhfrH0wmqFoaiSEh+W53PqtKoARw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D1Dsj40oRv4OjoqF3xMmolhrQ7JzGMarXChK83LdjUg=;
 b=b85gIroNeVae9dF8A7LjE4RQTJTA73jsELNgvvSwtB4cK5Cs8ppfEcFrVNHnxsPyLz2/h74qPe/ubdE6uFos6PG0+ZGdT8or4TNmL3bziLezoYeJ6iOnSMltfzTTmqv+NlC3QdqrNsQgR/cs3PYN1j69lytGfH7E9B/AC4N6/urtcuMKEtRM7cEyIYwIO/DESfMeSNohZlESnP52Yc406OJpNAEVgSSh+B3k3y3YGzmeY5JTK/k8GrYkRNK7Ls3tVDxA1A1oGZnTWqFTIFbDEqstS9zBdnp4LnbJbwhu9WWAXtJtrPEKNweU/AcxFcmBDRTSfQYOUTbZ/Hnug3qIcg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a1433e82-10d1-cf7d-eebf-fdf4aab8a2b2@suse.com>
Date: Wed, 22 Mar 2023 10:31:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 04/16] x86/shadow: replace memcmp() in sh_resync_l1()
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0123.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB7042:EE_
X-MS-Office365-Filtering-Correlation-Id: e18fc211-c4f7-49ec-debf-08db2ab83c5b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Apt43Mnd5053D8QtUHgSVL3zVI+V12QaNodawusNCQQRstHX5S6abL2aiCFEGtLeCAVx1mNmQviQYodjzWq/JJ5L35tLKThWJBILc49wiUpUPA9gbi87fukILnARoDZbpuMZblRC9bpWjBzOB0kC2/EIJ4RZfFS2p0QnRymypVcVULNurTOk7fHknJkvGwJdUtBNrRht2RbUGJpnXpP1lsR4OFnQ0tLbLdp5t2uUsiD9hKOQzThj94o0yyzintePmfobol9mhyWJarJk2sgXK8Dj4mKdxzOVFAM6C1u91gl5GCjrdL1UbVrz6Z1L/OtCi/2CrCRdHhzzREiATOEEI/2iFPWto3RIXLiOR/QinfJtUSq2lb4WBvVAW+4WzxsFa5iPTufkL05i8zBJHLAptCOs0sfoA41wPJHPgfEe6oSQgViohfwbln0n6aIjAS0JSPAa7JH9TUCCIWO+Asi48Q298XC0WNF+JSkCs83SkgRdx7mN8myWlvzEu09Ga0/Op/AmBsp1J6Ph/Iz1jFQxNeItKzqIf6bfqsoVf9XfvhkguPMCgNmEVNMYnvSTpNOvY9N8VBVogzudOoTRMBgRKvc6FOF1NMYWLhOxmdgkwoShBalwpcB4NxSosHSCGxHj3xRqeUcQr7ixMoz8eHJ1c1gb+UF6baA1ErpX4eeLdMYCjVhchd7QXK99JsnWdCfJaqFgGoLbWOMGJAbaCgcSkgOWBsbita+/ikF8oAC4095yBdQX5lwkiNFfN8cQWcvgRnPZFmICvQbKah9Lul0ANG//CGtLBn31yl306dzSSoE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(39860400002)(396003)(346002)(136003)(366004)(451199018)(2616005)(6512007)(54906003)(86362001)(38100700002)(31696002)(66476007)(8676002)(36756003)(2906002)(8936002)(4326008)(66556008)(66946007)(6916009)(4744005)(41300700001)(5660300002)(6486002)(6506007)(26005)(316002)(478600001)(186003)(31686004)(45980500001)(43740500002)(473944003)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dnpaNTVLa2JDZzJldmlKc3lYVzhQVlNhQlQzdUZIZWV3bHZ5eUpWR3pVenlT?=
 =?utf-8?B?bkoxSGE4M1M2UDJKMnZxZGhrdTduZkdhaG45bGg5UzE4czhITEUyaU1LQzgx?=
 =?utf-8?B?QXlLL0oxUjBTTjhJZG93WUZpYkY2N0FVSFdIUXJNMVJhNk4rZDhhc0U1QzBM?=
 =?utf-8?B?dGFZRHlNYW05MkRPVkgvcVIxY0hxMjNsL0NsdkwxVUQzQkJrS3hUS2lUWnBN?=
 =?utf-8?B?YlpjblZHR0NkNEJSM1RGb2xDaGFQVzhZNDIxdTlqTnhUeGZ4S3dnaFhiV093?=
 =?utf-8?B?Qi9vRVNUZjdRL1dzVW9zWTN6cHFYcytqb3BMZy9IZnNVeFYxU0wrbllPV2Qr?=
 =?utf-8?B?U250VUF0MyswMzI2SDN5cUFUcWVoKzdsb0xxc1ByRWNCNk9tWldMNDNrbGEw?=
 =?utf-8?B?MnJQUEpreVVNUE9WZ2I3Ti9kZTc2Z1lrMnhpbDdCTmJxMHY4bjA2QUJObk0v?=
 =?utf-8?B?ckdPTlh1blhYd3lWVGZHSEFTNm1mMUI0MWJFbkxCY0hXSWNUNzVSK3lNblp4?=
 =?utf-8?B?MzdoQnhQU0VHUnQ5VEhvVDZLdld3bmZiZFdINTNHS1ZvdnVmelY5aU9pOXlZ?=
 =?utf-8?B?VGEyVUNXMUh4QjVXdVdFeVhHZGp2K1VKUTVuY2w0WDJkY0hXTERTdmhiYUQx?=
 =?utf-8?B?YjZqT292ZS9wR2ZIREpWQmx3ZjI5TWlzRlkzaXJBbE43WkpBdzdpMi9ZZXZD?=
 =?utf-8?B?TytsS0dtdEVpT1NoOUN0VW9ZRmREUlVjTTlQM3AyclVoL0U4ejlrNnprN0xm?=
 =?utf-8?B?Wkd2WmQ0S0ZQbnBrTmh1ZytmTzFEZ3FZRGtmK1F5ODNYWHZRUjhZa2RkZkY2?=
 =?utf-8?B?NmRSblZ2bmhRcVJNTlNjSlRzTkQ0b3QvSCtBMk9UWlpabE9iazN4Y3B2ZnQw?=
 =?utf-8?B?cFRlaGk5NUZNZnJwdHMwNkNnVWxRUVU5aG95RG1nRUgzWUQwVE5VYnZtSjZB?=
 =?utf-8?B?VUI5dXRXYWk2ZWllOU9pdWhmSzg5cDRsYWFMZXFTOGlYS0YwMmVnNmQ4U3Ju?=
 =?utf-8?B?QnFUNHI3eTZScmxrUjRubUlYelNXRzErQkRRSWtmeHJoNGpDVUlQNWZLYTRH?=
 =?utf-8?B?YktlZzY1clUyUm1tQUw4RDVPbFRCMzJvUmZ6L2NNUytKVVIxQWlDSTJ1SXBn?=
 =?utf-8?B?enBMT2F1UXpNUzNoUzE5WHdpNmtWSEhvUlNKUVA3WnYrZWhEM0I5NnB4N2VI?=
 =?utf-8?B?aHZVWFkwbFRrclFvUHFIcHdUQkhsR2U5QTJTZ0VHSUErMUJTSUxaMmttd1pp?=
 =?utf-8?B?TkI1NEtoY1F0QzJKMlNDQVJUSWgrMCsyTkJPd1pDUW51R1VtRjFhWUZmTDkr?=
 =?utf-8?B?dlY5b2hlbEphMGdRUjlYT0hQcHB3cjVVSDRkTVNoZzVIbGJYelhPcGJYMVRk?=
 =?utf-8?B?WmpDbzIrMFFnazdMRWFLclVOOCtReHoyWTNVQjYxVmp6bXIwQmV6Y2ZkTy9Q?=
 =?utf-8?B?NWNwbjl0SjdtOEgyMkFEc0Q5QmZxR3lwaTQxSWYzaVN4Wk1yM210N0hKbEZY?=
 =?utf-8?B?ZVVtdHo5MkZDeFd4RzhiUDJYMmVRUCtnOU9xaE1Tb0YxUERrWEZ4Q3JhYTUy?=
 =?utf-8?B?S3FuT2UzOVZlVWpwbldZMDI2RDIrR2JYbVJzYURTSExvbmZhQXg2M1VvYlB6?=
 =?utf-8?B?M2JFYUQyeG9YRkdOOWVmVWZmSlE1SGpjNDh0Qlk3T3NTb0dTMnJyT3ptcUhC?=
 =?utf-8?B?L0V1bjM0eHBBdkgxdFNHUm5Bc1BBM3Y0RnN5clN4WnFqeGJYMlU2MndzUGs2?=
 =?utf-8?B?aDFocmJNK2JVMzhJcEd2Yi9qZ09sZE9OWjJDcThGOStBbHhqSGVtM2E5NDRn?=
 =?utf-8?B?d1JoSjhCU2xkbWVhRldiYllFaDk4dlVqSm1yZ05NMTNOUVJDeEFHbkJSdGJw?=
 =?utf-8?B?eFM4b2swdEtQMDhzOUhSTk1nODhYemlEaDlleTl1U2dKNzBtYktiTTNyUGlN?=
 =?utf-8?B?OWpSenRhcDNWUzQxU3lvS0RaaldnNDQ3UnFGaU56Q3AwdHJSeS9TTk1ONFAz?=
 =?utf-8?B?UnpQbUZseXJuaHM5UjdvN0ZRcGY1Qzluck9Wai84bmhFdHM5ZU5WR2I2MDFC?=
 =?utf-8?B?V3VrWWZ0ZDEwZFFOZWdVeWxEeUg2Q1hDeE5rblFhNFlleW9URklhWE12UFo3?=
 =?utf-8?Q?51lMQCX1ticYqF+T0K8aYScaE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e18fc211-c4f7-49ec-debf-08db2ab83c5b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:31:37.9309
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1Zw7fPro1C0kus2bP5ILOOdF/g0oVNYhMh8fxmZfTJIEBS8+XrkKSU1vCkn+69cfR18OpTuZHyIsxc1hMdht5A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7042

Ordinary scalar operations are used in a multitude of other places, so
do so here as well. In fact take the opportunity and drop a local
variable then as well, first and foremost to get rid of a bogus cast.

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

--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -1659,9 +1659,8 @@ void sh_resync_l1(struct vcpu *v, mfn_t
 
    SHADOW_FOREACH_L1E(sl1mfn, sl1p, &gl1p, 0, {
         guest_l1e_t gl1e = *gl1p;
-        guest_l1e_t *snpl1p = (guest_l1e_t *)snp + guest_index(gl1p);
 
-        if ( memcmp(snpl1p, &gl1e, sizeof(gl1e)) )
+        if ( snp[guest_index(gl1p)].l1 != gl1e.l1 )
         {
             gfn_t gfn;
             mfn_t gmfn = INVALID_MFN;
@@ -1677,7 +1676,7 @@ void sh_resync_l1(struct vcpu *v, mfn_t
 
             l1e_propagate_from_guest(v, gl1e, gmfn, &nsl1e, ft_prefetch, p2mt);
             rc |= shadow_set_l1e(d, sl1p, nsl1e, p2mt, sl1mfn);
-            *snpl1p = gl1e;
+            snp[guest_index(gl1p)] = gl1e;
         }
     });
 



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:32:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:32:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513223.793932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peup7-0007s3-0t; Wed, 22 Mar 2023 09:32:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513223.793932; Wed, 22 Mar 2023 09:32:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peup6-0007rn-UA; Wed, 22 Mar 2023 09:32:00 +0000
Received: by outflank-mailman (input) for mailman id 513223;
 Wed, 22 Mar 2023 09:32: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peup6-0004un-HO
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:32:00 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0600.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6534e422-c894-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 10:32:00 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB7042.eurprd04.prod.outlook.com (2603:10a6:208:1a2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:31:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:31: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: 6534e422-c894-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eawRySaNBs4vSIrHtUbDc7smNJcFO6XQAWGtQiHm6vwEHg3cKdYPLNfYCfD39oTi8X8dgviTv3rsdDfTuW7SYOFMy9DjjmCLF9MFoaCfCzCCxP6770G96qrWKjTT4UL53SO6xU3rkbn6UgsrOOMOcfjUL0cigASaKLPTWbFdM55sAM9GoxWfpEGWB/KomaQyW6MIKqM0zkXtjFOw45UYBQ5ay+5LMILrrY6vkg0ExBSMw/WNyp98ns7ycOmjQ+h1iQWPQBC8KYiDR6UdwdfMD7BJKkI6mpSiMuuvC/SdH4loT6qxWH0FtowPahsybVqe9pv5YpGfbcH78FaFY+pE9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o37qmZQGz0dUPVarEE5M4F8gAAfRaPl7Obs64dcS6gQ=;
 b=g547sFG6TVthbvW3UmsnIygLUVurjYvLE05IGH57lneXb1+wHWMpHoti4mNH/6esgOxIKVjHNJcWZ4XnO7Rh5qv1PvIdIlBWHxORWClwz5Wp+LnM68Vv+bEE2EBCevSnXh6yoDaeNxW4Lq1WHZTxy4dxFh1ZWDk2SQfq1ELetEUfmDZeR9O8fIPv4N2cuN6lsKv7vpCF3I+SFGARWdRPM41iOA1tcaWqi1FzhD6QmGqPRGvPD3dOIe3VdHRVAjHzDAEJ4lRKTesFq8TJZ2QTrdsC9J0Pwt85hgJWqAeAvJHa71f3jFqJJu5rBHAMm9Wfs33QO+lP0H5uZmXBLE1Gjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o37qmZQGz0dUPVarEE5M4F8gAAfRaPl7Obs64dcS6gQ=;
 b=H2JUrtVDKzGDVlh+nanVz5A8hnUn8e8jJq/N7wDQC2z2Ra6UcdTfoBOV1lKY5B2zWvAnY3ubDWHxPXDPDjKQIvPtjUemx1b/PZ7+HnrLnTM1sIDr163aUzfzxKzct9T3erI6tq9+Hxhx/xSGhW4TZ48w4CnTOBwFdMCk++qEwZ8WC7iwOFOYj0V9iXcpUrvK6WEi+scyK2d7+vabggszpg3AHlTnoZpEbBdiv3CUzLD5Dq+ud2eKky1ilQD1j1bxTePRzOkRG3wHxrb1Brk3iNXkz7ID3MzM5yAA1B5YzUKvR9AM7qUoO5m8FlX0KXMGwIfg9tFeufCTmZFO9pxJcw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bff1cd1b-b2cd-0ffa-992d-74583a78ea0a@suse.com>
Date: Wed, 22 Mar 2023 10:31:57 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 05/16] x86/shadow: reduce explicit log-dirty recording for HVM
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0016.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB7042:EE_
X-MS-Office365-Filtering-Correlation-Id: fa8add92-f6e5-47de-6741-08db2ab848c3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ADWDrIRM1I9GPodO8xTVzfqsoVFKnlcdrgX134O6LDNHjPvtRYKCchl4YDAXWE89MH/NyTKoXkkIl5IIE+5AJ93e3tMy6kV79BQ6kNWkDRSwMX3JqOw3YDVaWSo0vyC8oLVoLiHWQSHBqxabByrQmmFKW656lMjI4Z6iF3rbBbsLHGC6XcSM1Yf/xfSxFeEIB0EHG2XF2Y2L85XDTYXEDSprLRWoIJDrGAxJLrQiacjmMXNUTWYfA0IxwtiXcSoXiAsUXNLOzu6lntZYIZNhWUJ7VwVrkF69JEGgRTDSohhiqDjDQIpsMaZVryvgQBnB05/BPLBCIn0jPfYwxqvNXYtpHmNqqgOFurkJOw6XguYiwUuDujW1s3HQ9wRsP8FAwBIw85XU/1jkcZc07/V5MaD2BHxK2dc7ord7h0aRakAAMkK9gRmn6MqBaHqbHDit1kyHo15IKNYDLvDqcYg9S/vmht20Zvg3NCIlAMNSdosiOUMbwApfVOAIVjUY5ttLMAD130/h5TDMMqfkYtJ+15jaYfbD8fjLSMnsZAphU8NXQtEdWDJ8cdRCIrh8lEeKmiRgWftqHBZ+EmIAqC4GEKmc82ns9axTByQ0NGwjOuemVXYwzIr8n4Zc6lUeL8316uWCoEhlkEHQDQunEPsZ6PPVk/YOXpU295yFPheskbDZ8y7iqBhcyKhremjnxHCkLsRWzaFqazJGusowvrScXh2oYqYe6ITfJhZVq9RXdpKiBvvLW4BmqD2OJe7dmV4V
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(39860400002)(396003)(346002)(136003)(366004)(451199018)(2616005)(6512007)(54906003)(86362001)(38100700002)(31696002)(66476007)(8676002)(36756003)(2906002)(8936002)(4326008)(66556008)(66946007)(6916009)(41300700001)(5660300002)(6486002)(6506007)(26005)(316002)(478600001)(186003)(83380400001)(31686004)(14143004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1JvTG50Rk05L0JtK1VqOURJc3hCZjVqT1lOa1Z2cjFZNUxCY0pWaytZcUR5?=
 =?utf-8?B?Q0ttOGpENXRHajd1aFlwSzBNTXNQRXUrcTlpQzNOQmd5RTFlUVFoTm9PdUhU?=
 =?utf-8?B?MEE4M25IYnFhSE56a05uRXZwMmtHcnhwdUNMUHlNM1NtMVMreTVIa25DeXZq?=
 =?utf-8?B?bGhqZHRjU3kwdmhmVmMvSm5INDdxK3hLbjVjRGZ2ZExuRGxYenZRWE8vZ0tr?=
 =?utf-8?B?dGdCVDl1WjNkRWxHY3dQaEZUSWE1ejJVUWU4YmNoUktCUE1vQzIvU2w1czFY?=
 =?utf-8?B?WnhpWDF1cFVrelkvMHA3cnRxMm5IM2g2ZTJxQnJUc2ZCVGpDRE1RK2dxYkFr?=
 =?utf-8?B?QVlwd1Z6WmlqZG1zaTJTVEE4ODBXT205bWFnc3lFUGJ0eUt2MVdnSlhqWGZi?=
 =?utf-8?B?U3c3VDJ0TWFnTW55RkUvbllWMnFQeWRGeFlLREtUMlBVbWZDMDdWZGNweW5N?=
 =?utf-8?B?SEkxbnlnYWN1LzFySW9OYjBrWDNMMFkyUHhPSmVkTUpGemY3b3BuTjI1UzV3?=
 =?utf-8?B?eXFBdWV2bXloZ0lHRHpzdWZxUEphNi9pdGFmSVUzRmt3WklsUGFla0RQWG5I?=
 =?utf-8?B?YnNhd2lTSDV4dmdEQkhCS3hhOHNsYmNBT0dFTW9NY0djSk5uNjdDWGdjSzhn?=
 =?utf-8?B?b0JqWmNpbkdIVXgrbWFFQmZrQWh2WEtKRVpjWUk1ckJlSUx0MTArSjZNOHRJ?=
 =?utf-8?B?cEcyZGR0VXpkK1p0dndKSlN2YXJzMUxUYmEyQ1dGR2I5dDhZVmNTWnBjSWZG?=
 =?utf-8?B?L3FYQnU5MXFqZ3E0Ump0S2UzMnFQTkNzRXMxbzFZL2U4R05zdmhFQUJrbXQx?=
 =?utf-8?B?dko1WU4zVUNrRXJ0OFdqZENOdE9VY0JteXo2ZXhBdHhEdWpjRnZqSlpOeVky?=
 =?utf-8?B?dm12U3IycVRsbDRLSzZ5eWdtZE5kcHU0YkY2dUc3Yzg3d29pQ3NOLyt3eURp?=
 =?utf-8?B?UEdoSndGdzFkOE1aRTNwaHh5QzM5QUZjN2pBR2hBNzNDd1VobWVDekVlQzVw?=
 =?utf-8?B?eXFkTXRJQlhOY3p4VU5Hb2NheGoxODl0MlJ2NzVpdjZ6eWxyN0Z2bEJ0MGJZ?=
 =?utf-8?B?SzA5Z0xJZ3QrcTlGMkprYzNBV2FCQzNNZjFPamwwY3oyN2VQQzVnZjFaeW5n?=
 =?utf-8?B?TU9FWlVFcXlQYlBJVTR4aTlrdGZKdHRlZWRYN1dYQW0rME82T0RkNDFodnZj?=
 =?utf-8?B?TEVBMkFNV0xVd0NReFlTMmFwRGgra3hBUWRQbThidEtrS2hqc1hqdFBiM2Nh?=
 =?utf-8?B?THVNTldMRG9jZ0tCc2dXdGFiVzUzOUlMclJaNFUvVThLZDMrQm5jOE5zaTZp?=
 =?utf-8?B?MmZNN3pRR29CaXhlenEzODl0MFZSSXpqVEwzbHhmVWplNjRINjdnL3crU1NS?=
 =?utf-8?B?dWFGYVdpUWQ4cDIvbHllWmh3M1JWQkZNWkxVWUtWQk1ZWjFveUE5M04yYnFj?=
 =?utf-8?B?YmRmcmVEMEVDdGc0QldTRGxSQngydDR5M2VNbjI0QUczNEwwQ3o4VHZoZmFk?=
 =?utf-8?B?d0dNbTRCUnp3aURVaDVMY1BWYmxOYVVRQTNING5vN0ZEQzk5MzVKWmFwN1NH?=
 =?utf-8?B?TVVIMmg1c2xyUU1XUkNlT3RHb21yRktreUw0NWJTMW52TFA3aVRyWXBPYkRj?=
 =?utf-8?B?TC9WOHdOQzd3aDdhZVg1WTU0Ty9ReklSRVd1SWRkOEMwS0U4a2U1S0tHSGRj?=
 =?utf-8?B?L0Q5MWVsUFUzV3ViajY5cnZlL0ZKQlp5MzBsUEsvWUo3clp2TkNmMTNaUmhW?=
 =?utf-8?B?b2tEZ3FFZDRmeGZhdGJ0djJuMjlxUWJtQ1RoV0FHUlNxVWNwNHRHcmtCa0lZ?=
 =?utf-8?B?QUtkVkt2WHVVZVoxU1VwZnViTDd1VkNCKytzblE5TExZeVVTaGdTUWhDLzJI?=
 =?utf-8?B?cllKajFsR3B5a2ZaaEFMS08vc2VnazZFQkdRT2hueUY3d3k4cmtqQ2pXUFZz?=
 =?utf-8?B?OVpuLzR5LytkMmpENmlPNnByalFnZUsyWVJySzdPcWtWUlhJL0lNS2hZQ2gy?=
 =?utf-8?B?WFBzUTNnMU5WQjBJZDE0U1lRa0Y2Ui93azcvY1Q5ZlJYeFJYaGdWS0poRVU4?=
 =?utf-8?B?QUwyT3dGR1RoNG5hbmgzdlg1TW5qYytTeTVnNHBMZG4xOThNaG9Tc3B3THZW?=
 =?utf-8?Q?cyw2vesPGaKpTLxJMLON3iTKC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa8add92-f6e5-47de-6741-08db2ab848c3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:31:58.7109
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NsUMzQuLOZzCHzYMPDEdlNoQ5VX5sYasWWl9k/ie1dRF+O0MgjyPfCtFOSBFHWm3L78E8Bhpm6ZNBfx5Ac8PgA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7042

validate_guest_pt_write(), by calling sh_validate_guest_entry(), already
guarantees the needed update of log-dirty information. Move the
operation into the sole code path needing it (when SHOPT_SKIP_VERIFY is
enabled), making clear that only one such call is needed.

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

--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -656,6 +656,7 @@ static void sh_emulate_unmap_dest(struct
     {
         /* Writes with this alignment constraint can't possibly cross pages. */
         ASSERT(!mfn_valid(sh_ctxt->mfn[1]));
+        paging_mark_dirty(v->domain, sh_ctxt->mfn[0]);
     }
     else
 #endif /* SHADOW_OPTIMIZATIONS & SHOPT_SKIP_VERIFY */
@@ -673,12 +674,10 @@ static void sh_emulate_unmap_dest(struct
             validate_guest_pt_write(v, sh_ctxt->mfn[1], addr + b1, b2);
     }
 
-    paging_mark_dirty(v->domain, sh_ctxt->mfn[0]);
     put_page(mfn_to_page(sh_ctxt->mfn[0]));
 
     if ( unlikely(mfn_valid(sh_ctxt->mfn[1])) )
     {
-        paging_mark_dirty(v->domain, sh_ctxt->mfn[1]);
         put_page(mfn_to_page(sh_ctxt->mfn[1]));
         vunmap((void *)((unsigned long)addr & PAGE_MASK));
     }



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:32:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:32:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513228.793942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peupr-0008Up-9g; Wed, 22 Mar 2023 09:32:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513228.793942; Wed, 22 Mar 2023 09:32: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 1peupr-0008Ue-6y; Wed, 22 Mar 2023 09:32:47 +0000
Received: by outflank-mailman (input) for mailman id 513228;
 Wed, 22 Mar 2023 09: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peupq-0008Cb-00
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:32:46 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2061c.outbound.protection.outlook.com
 [2a01:111:f400:fe12::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f6427a3-c894-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 10:32:44 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB7042.eurprd04.prod.outlook.com (2603:10a6:208:1a2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:32:42 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:32: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: 7f6427a3-c894-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ju5M9gjYGQGMaKENmKJuAXaM3SFeEfRPtreqgvrESg5vs6cvemY1MKyaZ2FGM/mUG/txSZcKvL846dxdwJBMy0cgOaXA3yHxoHwA/q7SiE6ss8ZME/P4Zv3KNsRqniylHYVa4HymiwUh2U5bgYhDGyCSz1y7LX2xk/R5yhuQmYCjkw085Yj3T3rg5E8EisdfNX7hcgNrEvrv73NrwtgnHOMu+/ltWe6QX3lgsGssqiAGwLaFGqzK+ZL3OqxYrinzgRnR5fZyTwykqqqkGI6rnF/6LzSUJQIAOupYGdL7Or0oFSq6WuM46N3h9PrC/N5zzQYUUCPBhttgChb2ltYfwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Eq2CTH5rnfD4r3gVyLUiATIhZh4l20nM75mDa4ujbm0=;
 b=KM95882aE1qAodIkmxth74aYyC+cQOx6anIG5Uj2acXEXnwGJe8Xo9HDKw90J6pmc7Hel8yJ9wbtlp6iN18ko/Cu0/ck2KZ8Wbh2vtZGvhHdtRTuhUkXIOOvSR9ZnMfKcfwIvDs04bQkscehQowjuZrWy7wSU+zSDrkmVuYxpShfCeFSfXlbbnO8wjCFjKDIKZfv5dERp3vhfZiVrRfai8j5Xjqrjs9Q4EnJDZ7//OaTFgCah4QxPVuUzV0b8AVbfKI0WOS/KlqhUMJ0BU3R94t++jTFpE32ygj57erIYD6RoaBwiyoANoVqGJKFg/MwYLAYObVCYNud0g6vwdjCFQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Eq2CTH5rnfD4r3gVyLUiATIhZh4l20nM75mDa4ujbm0=;
 b=VVlgEBB6g493M86kftHwFKYnhd3rShOF+ITGFlHYYqoYzRoC94xAAi32/GWp7s9biinYnuhNfqGRiAyzXAHe7UkiWAw2VVgQU5ppsHqkWPtKDomCHlg33VN3QPnwixgKJvzWrl+9Zy3WUC0E93vHBMJcSWCWMT+NVr8nLJmoJfp8r/MLIrR//t8+aE5D6MAE1Ojx+Gx7AXoIv2CtYmf6xPc7QfMOA/T+YS+HZzGR1lvogM+2aJPBPYZlPdgVHsrjdaPhYOvqh1D9duQyhYefBT48Vg2HvQ3w09qezKsbKLz91jd8gJ7JY+2tIUU4MlCAAEcbBDJYI0fLlfw9Zvjm+w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4d36db89-cd87-06b8-bb02-395ec79662c7@suse.com>
Date: Wed, 22 Mar 2023 10:32:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 06/16] x86/shadow: purge {write,cmpxchg}_guest_entry() hooks
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0046.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::23) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB7042:EE_
X-MS-Office365-Filtering-Correlation-Id: 4e4712c7-766a-43c6-b805-08db2ab86298
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eRP8SRKU7yb9YwCXjp3a/KhvxiUUvj5KIonY0i0L22HS+6DqAbR2VMq9zVP0FwPFmJdAN95DRwDe4p5jr2rx3YSBodt+sE+6OjJl/G+/8NaGfmGNnw1AQqvjtZuCzThSQ1oWBvBKuZjTkPX7QHKOcQ2HAfk2Wplaya7r7wT8N6e5yHdAc/2dZ7boNkS+b7ZQRVN1VUlrYU/loH6mDCEDSahHATXZEJTRgtgIfftoCvyMWPju5u2W4oXlYuKtCrh6+M1DWkgvy/xRlSKaeSbCTTlAARri+7ClcExHibn4SKsN6R7Yswdr6Hu5hgOGp2Hja9svYRkWjU+L5WoJiRmtXOKcFw+s1YN4ol2sith45Aq1AMzFFK+t31xjsUkmxUGKMsc3htgPEk7qGYI5aPGhhm94vY7sH/uQxnFB+3FIouC2GxL/fjRc1oX2LIS0J9enitbPJfjAwEyXrbMrl/ynlf3/AnbRWf9OegYcOp2y/oddT8sU8cwzlkBsMXB6F7dFHrHwRYHiCUV2MwjBGUb99CJlzCrJn4Pa3HU8jh/eyhu55PPm6WrfVqDUYcuUbT0N0yCE2skL4Nuig/5MAVdCo+Cw+Ct59D7I7uFBYgBIflPtU1p6gHtVBNIOyD+UG/bK8YhWea0SwG1M6J6h+5WdPrDUkGlY2Nti4NYyIyyyqGMxdKTrwDmm8+5JzyF+nU7YGV+vTMPKZ8ulMp7smhRMGKjaRR7ic2Pm1q047gnEPmOlQ1NlJaD0HiQyEqZccV29
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(39860400002)(396003)(346002)(136003)(366004)(451199018)(2616005)(6512007)(54906003)(86362001)(38100700002)(31696002)(66476007)(8676002)(36756003)(2906002)(8936002)(4326008)(66556008)(66946007)(6916009)(41300700001)(5660300002)(6486002)(6506007)(26005)(316002)(478600001)(186003)(83380400001)(31686004)(133343001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WFJqcTlHWnNEMzZBdnBMUUUrd3ZNM0I1QkxxOHAvdTBIM2tFVTFrRVlZcUZ6?=
 =?utf-8?B?TXZ4N2o4NkZUY3BBR1lrZzZsdFJpMEtyQ3ltbnFrMmY5enZNTng1TThBcXhs?=
 =?utf-8?B?N3g5aGRIbTFuR0hsNTZqQ0NsR0R3MHNCa1NVV3ZyaGl4dHRxWFpmTzllV2xS?=
 =?utf-8?B?ck82M2hYWXFmNnBublFoa2s1NjlWZFBUK28raDVMUVZVVktiZHZNdmJOdGJi?=
 =?utf-8?B?dWhvT1E1K1dFeUxuNmxHUi9zQmFwZ0hiYXZEbTVXc0VLOVAvVjhmZFpGaXJp?=
 =?utf-8?B?d1NpaWxJSGlJRmZKTUwybUZSakNZQXJQNjk5eEN5cE80Si9LRHkydTRWTUI5?=
 =?utf-8?B?UTJzeFNtSG00cElISnROVVVBaXFnVWwrNVVLTjI2T0xKTC8zTzdkeklCcjl1?=
 =?utf-8?B?SEd2VnFHWFhaKzhWbldUcDJjYXlZVmlVMFd1L2xXMlJ3U2N0azNyam9kQVhI?=
 =?utf-8?B?eUsyMXo4cThWb0cwT3d1czZoSHkrK0NEdnZtVENyekdDL0w4WmFUeEFQVGZG?=
 =?utf-8?B?VzJuMklmeXpOM3hjcjRLL1JvUlIwWklOQW03UDFPa3duZzZlVyt5RTFYaDFW?=
 =?utf-8?B?OTc0N3Nra1lvMEF4eGRWUW9vb1A2czFmNWxpUk01WUFxYnRqQ09LTVpRakJ2?=
 =?utf-8?B?aVR3Y2EyWnlGb2EyQmh4ZWQ4R0JYTmNrYjBaa1h3WjBmSWt6RUlmQUZDL3I2?=
 =?utf-8?B?SlJCcGcwR2hid2ZYU2dvaFAySVZSTHU4WkZBQnhZenYrQU5zNHlmakZHYXZp?=
 =?utf-8?B?YWhseFhidWpVQXVWWTdWbkhWTm5VaWg1Wk8vU2VmcWNoUmRtVEJvWUlQMkRE?=
 =?utf-8?B?R0dRNXlGNzBVdzRQUkVldkc3RDRIRFRsN0V2ekJoNVhLYzFhelJrQVRVT1ZG?=
 =?utf-8?B?NmEvSHVCZUR4UytiYTlZZmNrRUtQUkVaQnQzNWpqajFCZVZ5cGNFMEJuL0pR?=
 =?utf-8?B?RlhPL0YyNVVGQTY4bXZiSHlsbzVFb2hndHF3RXpVRldVSEViZjZiSnNiYWwz?=
 =?utf-8?B?Ymh1U1ZVWnVlNTlzczJHcEgzcXhLQ0pLQXZTd0g4WitCclF1YVlHc2VXTTc0?=
 =?utf-8?B?THpDQTg4eTNVL0IrUy9CMHhUMUN6djJISmZPNGNnUFhZSGg1QU5OUDBudExu?=
 =?utf-8?B?N3FLeEdMUkpQRHNlNDFCUUpzaStkZjRwMGZzdU5odjJDNFI1bVRpM3J2bUZ2?=
 =?utf-8?B?UFgrcUUzMmdjeWFmVkhNK1hPcDlaMHpVYnkrZ3VPZ01RdzdTMitPckFtbkFK?=
 =?utf-8?B?SjRUcHpzajJPNkR3S3pJRzR4QkFWaTRpSlJyckNHSExEcm9pb1QzRkg0ZmVI?=
 =?utf-8?B?bHBRd05hZnFrWDVvRVJtcFZQNW5rOUZhVVZoRllzVTVUdXNNNVZMU1IyVWFh?=
 =?utf-8?B?Q2N0bWVTa05WbXkrVE12OVhlSGxUTHhMcU82RStPeDY0eWFKSU5aWlk1L3Vj?=
 =?utf-8?B?TWU0WmdwYWVpSExNUE10UE5OQklXeWtmRmpsNWlzeS9MYThxeHg0aEdjRG5F?=
 =?utf-8?B?OTlzdWRPaWpWWk54Vi9HaUVmVGh3Z3FmeTYzWDkwZnZiUC9lMEdRZ05Qb25G?=
 =?utf-8?B?N2VJUG5tSVRrZUJpRFZXTXJGVk5zZy9GWTZQL3YzZm1RVXJhUHBqZWV4ajV6?=
 =?utf-8?B?M1lhRVVsQjhrcTRnVW9QNWh5VXlETFo2SGV6M3RTNDdnRUZNb2RQbEtpTVBh?=
 =?utf-8?B?NW84R0k3QWdVY2NURUhOWHBZOWI5dlVtMkFkeDVlWkxmd1Z0a3NnYXpOTlJp?=
 =?utf-8?B?djFBdmN2U0xoUXNCYURqZGIrYWFTeHlwNS9HYTdzRm0wVXFKeFM1ZE80Zmtv?=
 =?utf-8?B?OXk5NXB0R01tVkY0RzEycVdxUGJibDcyN2FWWGNJSjJFa1VFTnR2SEcxN0Rz?=
 =?utf-8?B?ZzlvdktRRDNBN1l5QUVPK2ZUT0trM3ZBV3cyYWhGNjJ1K1VjQVNjMFpPOUhq?=
 =?utf-8?B?N1dydENkdktmeUdxMEFDTFFobnVTTmZzZ1BBM1JoS2M4Y2Y4NUcwbmxnUUFQ?=
 =?utf-8?B?Q3FwWU9SOWRReVpYaEFuSHdtcXE4ZXB0U2dHeVpPeWlnSU00Zk5zc2VqcWVM?=
 =?utf-8?B?SjEyeHRQUG9oa3h5MmtTU1JUNUJPS1NwNE5TWjRRdHhoVGZrOVl3S2thT2xC?=
 =?utf-8?Q?zwdtG0/PTZKNtRU9GY21JfB4g?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e4712c7-766a-43c6-b805-08db2ab86298
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:32:42.1144
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 81cYYG5+C3W+3CgJd7vgCt23L9j6stI/ZWaAv+veFELiC/v7NoXTmuxC46QkskiKJHPdPnjRSE21ZDZvQSGIJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7042

These aren't mode dependent (see 06f04f54ba97 ["x86/shadow:
sh_{write,cmpxchg}_guest_entry() are PV-only"], where they were moved
out of multi.c) and hence there's no need to have pointers to the
functions in struct shadow_paging_mode. Due to include dependencies,
however, the "paging" wrappers need to move out of paging.h; they're
needed from PV memory management code only anyway, so by moving them
their exposure is reduced at the same time.

By carefully placing the (moved and renamed) shadow function
declarations, #ifdef can also be dropped from the "paging" wrappers
(paging_mode_shadow() is constant false when !SHADOW_PAGING).

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

--- a/xen/arch/x86/include/asm/paging.h
+++ b/xen/arch/x86/include/asm/paging.h
@@ -98,13 +98,6 @@
 
 struct shadow_paging_mode {
 #ifdef CONFIG_SHADOW_PAGING
-#ifdef CONFIG_PV
-    void          (*write_guest_entry     )(struct vcpu *v, intpte_t *p,
-                                            intpte_t new, mfn_t gmfn);
-    intpte_t      (*cmpxchg_guest_entry   )(struct vcpu *v, intpte_t *p,
-                                            intpte_t old, intpte_t new,
-                                            mfn_t gmfn);
-#endif
 #ifdef CONFIG_HVM
     int           (*guess_wrmap           )(struct vcpu *v, 
                                             unsigned long vaddr, mfn_t gmfn);
@@ -326,44 +319,6 @@ static inline void paging_update_paging_
     v->domain->arch.paging.update_paging_modes(v);
 }
 
-#ifdef CONFIG_PV
-
-/*
- * Write a new value into the guest pagetable, and update the
- * paging-assistance state appropriately.  Returns false if we page-faulted,
- * true for success.
- */
-static inline void paging_write_guest_entry(
-    struct vcpu *v, intpte_t *p, intpte_t new, mfn_t gmfn)
-{
-#ifdef CONFIG_SHADOW_PAGING
-    if ( unlikely(paging_mode_shadow(v->domain)) && paging_get_hostmode(v) )
-        paging_get_hostmode(v)->shadow.write_guest_entry(v, p, new, gmfn);
-    else
-#endif
-        write_atomic(p, new);
-}
-
-
-/*
- * Cmpxchg a new value into the guest pagetable, and update the
- * paging-assistance state appropriately.  Returns false if we page-faulted,
- * true if not.  N.B. caller should check the value of "old" to see if the
- * cmpxchg itself was successful.
- */
-static inline intpte_t paging_cmpxchg_guest_entry(
-    struct vcpu *v, intpte_t *p, intpte_t old, intpte_t new, mfn_t gmfn)
-{
-#ifdef CONFIG_SHADOW_PAGING
-    if ( unlikely(paging_mode_shadow(v->domain)) && paging_get_hostmode(v) )
-        return paging_get_hostmode(v)->shadow.cmpxchg_guest_entry(v, p, old,
-                                                                  new, gmfn);
-#endif
-    return cmpxchg(p, old, new);
-}
-
-#endif /* CONFIG_PV */
-
 /* Helper function that writes a pte in such a way that a concurrent read 
  * never sees a half-written entry that has _PAGE_PRESENT set */
 static inline void safe_write_pte(l1_pgentry_t *p, l1_pgentry_t new)
--- a/xen/arch/x86/include/asm/shadow.h
+++ b/xen/arch/x86/include/asm/shadow.h
@@ -248,6 +248,12 @@ static inline void pv_l1tf_domain_destro
 #endif
 }
 
+/* Functions that atomically write PV guest PT entries */
+void shadow_write_guest_entry(
+    struct vcpu *v, intpte_t *p, intpte_t new, mfn_t gmfn);
+intpte_t shadow_cmpxchg_guest_entry(
+    struct vcpu *v, intpte_t *p, intpte_t old, intpte_t new, mfn_t gmfn);
+
 #endif /* CONFIG_PV */
 
 /* Remove all shadows of the guest mfn. */
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -4131,10 +4131,6 @@ const struct paging_mode sh_paging_mode
 #endif
     .update_cr3                    = sh_update_cr3,
     .guest_levels                  = GUEST_PAGING_LEVELS,
-#ifdef CONFIG_PV
-    .shadow.write_guest_entry      = sh_write_guest_entry,
-    .shadow.cmpxchg_guest_entry    = sh_cmpxchg_guest_entry,
-#endif
 #ifdef CONFIG_HVM
 #if SHADOW_OPTIMIZATIONS & SHOPT_WRITABLE_HEURISTIC
     .shadow.guess_wrmap            = sh_guess_wrmap,
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -428,12 +428,6 @@ static inline int sh_remove_write_access
 }
 #endif
 
-/* Functions that atomically write PV guest PT entries */
-void cf_check sh_write_guest_entry(
-    struct vcpu *v, intpte_t *p, intpte_t new, mfn_t gmfn);
-intpte_t cf_check sh_cmpxchg_guest_entry(
-    struct vcpu *v, intpte_t *p, intpte_t old, intpte_t new, mfn_t gmfn);
-
 /* Unhook the non-Xen mappings in this top-level shadow mfn.
  * With user_only == 1, unhooks only the user-mode mappings. */
 void shadow_unhook_mappings(struct domain *d, mfn_t smfn, int user_only);
--- a/xen/arch/x86/mm/shadow/pv.c
+++ b/xen/arch/x86/mm/shadow/pv.c
@@ -28,8 +28,8 @@
  * Write a new value into the guest pagetable, and update the shadows
  * appropriately.
  */
-void cf_check
-sh_write_guest_entry(struct vcpu *v, intpte_t *p, intpte_t new, mfn_t gmfn)
+void
+shadow_write_guest_entry(struct vcpu *v, intpte_t *p, intpte_t new, mfn_t gmfn)
 {
     paging_lock(v->domain);
     write_atomic(p, new);
@@ -42,9 +42,9 @@ sh_write_guest_entry(struct vcpu *v, int
  * appropriately.  Returns the previous entry found, which the caller is
  * expected to check to see if the cmpxchg was successful.
  */
-intpte_t cf_check
-sh_cmpxchg_guest_entry(struct vcpu *v, intpte_t *p, intpte_t old,
-                       intpte_t new, mfn_t gmfn)
+intpte_t
+shadow_cmpxchg_guest_entry(struct vcpu *v, intpte_t *p, intpte_t old,
+                           intpte_t new, mfn_t gmfn)
 {
     intpte_t t;
 
--- a/xen/arch/x86/pv/mm.h
+++ b/xen/arch/x86/pv/mm.h
@@ -1,6 +1,8 @@
 #ifndef __PV_MM_H__
 #define __PV_MM_H__
 
+#include <asm/shadow.h>
+
 l1_pgentry_t *map_guest_l1e(unsigned long linear, mfn_t *gl1mfn);
 
 int new_guest_cr3(mfn_t mfn);
@@ -32,6 +34,35 @@ static inline l1_pgentry_t guest_get_eff
 }
 
 /*
+ * Write a new value into the guest pagetable, and update the
+ * paging-assistance state appropriately.  Returns false if we page-faulted,
+ * true for success.
+ */
+static inline void paging_write_guest_entry(
+    struct vcpu *v, intpte_t *p, intpte_t new, mfn_t gmfn)
+{
+    if ( unlikely(paging_mode_shadow(v->domain)) )
+        shadow_write_guest_entry(v, p, new, gmfn);
+    else
+        write_atomic(p, new);
+}
+
+
+/*
+ * Cmpxchg a new value into the guest pagetable, and update the
+ * paging-assistance state appropriately.  Returns false if we page-faulted,
+ * true if not.  N.B. caller should check the value of "old" to see if the
+ * cmpxchg itself was successful.
+ */
+static inline intpte_t paging_cmpxchg_guest_entry(
+    struct vcpu *v, intpte_t *p, intpte_t old, intpte_t new, mfn_t gmfn)
+{
+    if ( unlikely(paging_mode_shadow(v->domain)) )
+        return shadow_cmpxchg_guest_entry(v, p, old, new, gmfn);
+    return cmpxchg(p, old, new);
+}
+
+/*
  * PTE updates can be done with ordinary writes except:
  *  1. Debug builds get extra checking by using CMPXCHG[8B].
  */



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:34:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:34:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513233.793952 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peuqu-0000iu-O2; Wed, 22 Mar 2023 09:33:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513233.793952; Wed, 22 Mar 2023 09: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 1peuqu-0000in-LF; Wed, 22 Mar 2023 09:33:52 +0000
Received: by outflank-mailman (input) for mailman id 513233;
 Wed, 22 Mar 2023 09:33: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peuqt-0000ia-Lt
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:33:51 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2061f.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a70011cd-c894-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 10:33:50 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7526.eurprd04.prod.outlook.com (2603:10a6:20b:299::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:33:48 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:33: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: a70011cd-c894-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SBuxzecA0NkWJKAp/RM2UyYtDqeyoMPTjyo1P0Z8RmAu0iKNTyDz+Bp2ancdTCbHsxSGkuYBJTOo2t3fAXk7X6rBZ5ycy4Y4JIeEMYWD0r9AYSWv61XoEqU0Y6rfTCIaatUUaYxjYSIpL7CCtnAN9N6VF/IRqryOGngK7h2lORu2GPXKrGcG88XkKNPa3tG4IPgQ3XMp+bD5BogOfasVZYpmCpFUbOKnqx34Ch3pvgpzksXlXVfbThjOkniPZwhdPIqyhB4UBGlv4a9iiyPGI9JMFf1lodA/X2z8P774fGOmirqNuftfY6vkF8eiN0ndCtd9lY9c6DrA0Uk84KnbDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W2tWy5kxwOmE8Z2wFPJZdCsRPw6lxbt7ejpBm5kqUhA=;
 b=mBtu9VxUXRwebVWE/GZ66pDUGKLXjhiTbDIQh4v0AguD9mL1Wxc5oFhLGNNnn0i4G/gmMaNTjDENbtPsdkbntVw6w4xE0LRR5fCoAH3n/TLjQ0dUZTQ/bmMFSzzAP0FUVkkdxz34CZWFm1nYGHqnMfYcS44d1/egex9yxo5/uz+JBXUOwYqkXx9wZIMV7f677FPQcfhSth+YppGVQtYAES9Oy5K0ThJZwO3+kb1m2i0k0mWKBqoo/8Orks7bFVwzh/tWOzMi+12wbneHiEFALkDRYsRfdL4hq+MNW2ZaJtzgxha4t52qV+Pebn6l1+mhbl9D4sxVkJQHc6ZlJwF1uA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=W2tWy5kxwOmE8Z2wFPJZdCsRPw6lxbt7ejpBm5kqUhA=;
 b=E5dzPowDwy5PQ+xx62IWeaPzzi0n0ZSKu5/FW2WRGND07j9EMCidab9BEhTo7IocSh7xXcxtPdcNltjvxgN/Iwd/AZ3f5QHy52X+ZT203iZ1WXQv+p31dm3+C0dLQbujuJdnsgsLRzUTtLYUrCvta/2RRrSle6zTc9qrayEE/C5I/GjLnLwuJEfXjdBjJIYqI7hlW6i2UCoJSuzqJqKGtlyCBEJiGa39EK2+hG6Xn5BhVOgv8xfmnAp5hMHz7RjP3F9DOlibib2kIw7PKgEMFms61YW8QQxXdSa+SFFJ60ntH8dD8CK2IgGKuQvyyHg394qiwNWxDOlFah4NE/Qyrw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <69304929-de84-04db-04f2-8faffc12ef0f@suse.com>
Date: Wed, 22 Mar 2023 10:33:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 07/16] x86/shadow: call sh_update_cr3() directly from
 sh_page_fault()
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7526:EE_
X-MS-Office365-Filtering-Correlation-Id: bc923ac5-cb9b-48bf-99fb-08db2ab889c1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EysTtd/3pgeo1ZYoLYIwHcoO04x5hn8AIzocWZI2rvxSmh1c0J1Flf1abOO/3zymQIEmf89QLX92NTbM61NnZA44qusu/KomDz+tHe8dqW6A1dzlVJVKdvluPWGqbJNGVa+KxSBZW632rkSAoZ6QfS2yuyOETRJ8Na+Y3/AGlFbltDYqnhaXE0sLshFU7fo3MVttK+8nNNFYjS5b/JcMDNhTiuFu12A3UCFsH5Z2RNVRajEf/5T+VR3UKP6iunb8nxG5i3cCWrOMH6qfVo9yTarRSFq3Ab6xdNAINVL3zauk2hST2aRD+Xzy/TCoD/9bsVT4pfAdCJMjMpcUFks7orS6anMPstxdbfomXluC9rvhakNSxrBez5rS4+d1ZGmyYGBAOGDKxI72h9yXxR27QE70UV8smPTtdDmw25xDHNTG2/UjTFaEMwoG9rlJiiHVR7DnqbXf+J6P0bQ4UbBNUuRbF2i3dvTFuroyqX3XfK1Myp0jQsT2qgg2rhofgqs4a/8DmDO6CCWjKMDi5IZa75CgEuvPFy7XzQYSbM+pis1qMrEUMnLccR++1b4I0jjuuSIvA620YpcOhcPruko4XDHTT6qMzBHSaDuxN21AzqdXOx1GSP7sv6vJIXNM5yGfxu1SmTTTaf1uT3JitnROfDwaYh6wmexa/HMGFANlXKYYgVBMIvgI5fqdjPCXcN5yf24iimCK84Cg6DIziuQJbXSm5O2ZhCgpf8nj4kT30OM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(39860400002)(396003)(376002)(136003)(451199018)(5660300002)(41300700001)(86362001)(38100700002)(8936002)(31696002)(36756003)(2906002)(4326008)(6486002)(83380400001)(478600001)(2616005)(186003)(6512007)(26005)(6506007)(54906003)(8676002)(31686004)(316002)(66946007)(66556008)(66476007)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eUFFSGlPNTZMcjJrRWdObERJQlFVenNmdmxmMmx2dk0rcStsR01SaXVGRyt0?=
 =?utf-8?B?Vld3aDYzMzl3Tzg5UEhyV3MrbERzZFFWMURNZHN0QUhKN05QbXZpT2pOSTZM?=
 =?utf-8?B?NUQ3ZE1ZR21HWWdiT0xlQ3hQdk1xdGt4dTVLKzNjSGxVNXBKTklyOVFXRjJZ?=
 =?utf-8?B?SHpENVRiZFZJbXpYNW1pOVJYd3pORkdxZjhndUhJaCtzVXJGQy9ia04xTVZl?=
 =?utf-8?B?MmxWMHE4R1NhVDI3TGJKYjRSaXBvUEdGVVR5Rm4zWkt0RUM4eGxic1hzSDRY?=
 =?utf-8?B?dHZzVHNMV2FWR1pFZWhqbitCVlpIM0xsWXJ5MGM2N1c1Y2tnbWpPOVZnT0Nt?=
 =?utf-8?B?VGQ0YmxidmRMbDFqYVNITGxOSHFPbGxoWlJSV2lCbUxzbTFaV1hTeEx6L0JY?=
 =?utf-8?B?TjRuZWIwSFZuWW9oUUdhRDVDRTFDNWgxNi84L1diMjgvSVRwdEprbG02V0d6?=
 =?utf-8?B?djFuMWprTmJMRStUNDBPMnhZMmNnNXJVUkV5bmRpU2xpL1FQSUFEYmRuSnRC?=
 =?utf-8?B?K2tiUWFHZGlmRHNXL3JDb21aWkVpekpvR1pMZk9oMWhuVFhlM2tiQzMwWUZD?=
 =?utf-8?B?Q2tmYklaeXR0WjJMbWlYbmZYSmV4NkhPalVFNk5oOEVEVEtTcmJCNS9IZzlX?=
 =?utf-8?B?M2lZb3h4ZDYreGNwQkVCaWIzZVJManh0Q3Nib0hXR1hHUlhseCtaeHFTZnVO?=
 =?utf-8?B?SFBVbUVIMjNxTW5sT25IQ1VNL3NSTHVmendBd1doK2JVZHNmTDBCNWd4SFcv?=
 =?utf-8?B?THQ2ZEE1UUZTSC9vdVFhYVpZMk9VUllBYUQ5b2E2blFGSnZuQzBreWNoeW5G?=
 =?utf-8?B?d3VXL01sNXVYWTRrZGhia3JVS1J1Zm9BeFQ2Z3orM25Lc0FzOGdpdk50eXBH?=
 =?utf-8?B?M0I0Q1NPcXVpNnJaaDBnS1BGUmdkaEhyeU1GWUZBbjNYL1hmQndTalhhbnNw?=
 =?utf-8?B?c3FjMzlkbW0yQVRIR3dlcnBYVzdVMU9yUHdNNldXb3NtTGFCakh6bDFEKzRV?=
 =?utf-8?B?T2lZcE9RM3FhZHZxN2ZpK1Z0NGRVQm1jemx1bDhzNXVIVWJNRnJjdDRhUHla?=
 =?utf-8?B?eHNaTHlDbEJkbHVLd0ZnU09ZTWtNMTltVVphUkovSXE1dWwxcnFBTG4xUVZs?=
 =?utf-8?B?eEZBb0NLLzNpSlcvSzJpWm4xWkZRVElmdFJ3VnNsdWpIcTVDaXFJbG1lUkdr?=
 =?utf-8?B?QTZIUWM2Lzl5djZqd0dWYllxdVdZeElzZ3dkZnVUU29ROC9jOEtjbEJ3bDNt?=
 =?utf-8?B?bTNBSXRxdEhobGZwNDBEV0hlWXYyU3NNaThTNlRXMWhSTXM4NDk0cVBoK0VZ?=
 =?utf-8?B?V2dPSFhFOFV1aGxxSmZ2Q09EME5yaitlM2F3Z3ViUFJKUjU5NkoveE91bXl4?=
 =?utf-8?B?Qjg2UU0xbjJSZGxmTk9jOS9vL2k3NXRIR0JBQjVFN3B6UWN3YmJWN0FLQWdF?=
 =?utf-8?B?UENTMGN3SXovS1VVSHBISzVza0YzcWtUSVJOS1lWSXhESWVWazZWVjA0aU80?=
 =?utf-8?B?WU1nb3pxZko0YXlZUFNSUmVVekFFL09iVXhaSXQxSUhuN2o0WVdsUTFHQkh0?=
 =?utf-8?B?WUhsUUhYZ1FTR3ZEaDQwYUFmSlFpb2RpWDJIcEN5QWJhSlh0S2hycUtSSTBv?=
 =?utf-8?B?WFRhd21KYUc1VWd4Qks4Ynh3RDNpRVFJMkVzQW9ydzVWUkRkc3JyZytJUDc1?=
 =?utf-8?B?aXBqWVpEMUtrbUo2QU82QXJmY05IMFllc1FSYmdtUW9JSlhoalNWU1htUkhS?=
 =?utf-8?B?b2xKcDFHV3RiS2F2R1hQRkcvYS9nbFBqUE16aHBRWEhkblRZcmR1WXp0TzZi?=
 =?utf-8?B?OThwa3c4bU9mK1hhcmdSdDlmVUlGWkhMdXJkaVQyaTlBc09pZlpMbFZCUnls?=
 =?utf-8?B?U20yZzg5T3FVU3J6UTZTV3BiU2RPV0NsZ1hwVEdyWWZkWnhEUlE0RmFTRDc4?=
 =?utf-8?B?SDVseTBnUkZpMUhDNnVLWFJ4WVFVbGZ0a1FKcnhYNVEweFNIajJ0M2kycnRB?=
 =?utf-8?B?V1p2Q0xoNU4vMmRnSUZhSE5weE12L2FCZExVSVZ3RElsa3gwMnFFOUdBQmxM?=
 =?utf-8?B?UUZGL3pabnZneW9tdUh6NnAwdEpVR3ZnRnYrWGhPbTBzaEc3WmZuS0szamRY?=
 =?utf-8?Q?PgLdfmttPkGRQglTJWaSQVQnM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bc923ac5-cb9b-48bf-99fb-08db2ab889c1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:33:47.7978
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JReScfU8v4w5d6SKwFoG+32g/OMulO4ZyH77TdSbXvcEoqAEd3D8DoWleNB/quWDJxswgmiVlrLbf4JpYHJupw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7526

There's no need for an indirect call here, as the mode is invariant
throughout the entire paging-locked region. All it takes to avoid it is
to have a forward declaration of sh_update_cr3() in place.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I find this and the respective Win7 related comment suspicious: If we
really need to "fix up" L3 entries "on demand", wouldn't we better retry
the shadow_get_and_create_l1e() rather than exit? The spurious page
fault that the guest observes can, after all, not be known to be non-
fatal inside the guest. That's purely an OS policy.

Furthermore the sh_update_cr3() will also invalidate L3 entries which
were loaded successfully before, but invalidated by the guest
afterwards. I strongly suspect that the described hardware behavior is
_only_ to load previously not-present entries from the PDPT, but not
purge ones already marked present. IOW I think sh_update_cr3() would
need calling in an "incremental" mode here. (The alternative of doing
this in shadow_get_and_create_l3e() instead would likely be more
cumbersome.)

In any event emitting a TRC_SHADOW_DOMF_DYING trace record in this case
looks wrong.

Beyond the "on demand" L3 entry creation I also can't see what guest
actions could lead to the ASSERT() being inapplicable in the PAE case.
The 3-level code in shadow_get_and_create_l2e() doesn't consult guest
PDPTEs, and all other logic is similar to that for other modes.

(See 89329d832aed ["x86 shadow: Update cr3 in PAE mode when guest walk
succeed but shadow walk fails"].)

--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -91,6 +91,8 @@ const char *const fetch_type_names[] = {
 # define for_each_shadow_table(v, i) for ( (i) = 0; (i) < 1; ++(i) )
 #endif
 
+static void cf_check sh_update_cr3(struct vcpu *v, int do_locking, bool noflush);
+
 /* Helper to perform a local TLB flush. */
 static void sh_flush_local(const struct domain *d)
 {
@@ -2487,7 +2489,7 @@ static int cf_check sh_page_fault(
          * In any case, in the PAE case, the ASSERT is not true; it can
          * happen because of actions the guest is taking. */
 #if GUEST_PAGING_LEVELS == 3
-        v->arch.paging.mode->update_cr3(v, 0, false);
+        sh_update_cr3(v, 0, false);
 #else
         ASSERT(d->is_shutting_down);
 #endif



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:34:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:34:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513236.793962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peurZ-0001Gg-1B; Wed, 22 Mar 2023 09:34:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513236.793962; Wed, 22 Mar 2023 09:34:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peurY-0001GZ-Ui; Wed, 22 Mar 2023 09:34:32 +0000
Received: by outflank-mailman (input) for mailman id 513236;
 Wed, 22 Mar 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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peurX-0001G9-4Z
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:34:31 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on061b.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bdef27e1-c894-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 10:34:28 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7641.eurprd04.prod.outlook.com (2603:10a6:10:1f7::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:34:26 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:34: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: bdef27e1-c894-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nB1rdSMjRWbfJ9Tq4KcEdHNxG1vJdaUwKNfmSWU6lgTMjpm728RUY508VUrkdCyjYVqCPbFP8U8Jp0DWtX6CSXmje5gBpQHuakJiTlfQZhC9rl+TS/IxCYS9rPmJjcMScMbj8VzYmsEHdQK3dc+W+pK8T9oDn1oPe/BqjTN3fcbg+saSSihqabpsoqUZCUv8gSWUwfNkVb3aTEdF1D1ucB+dAFVrOphdGD6vSrPzO7kFV++JTnsgCVsqJstcBndZMOGd4VPoE4unPRtMQezuiUIJAwZ0ONa6YtchU1BamHxpOBGShp5oaoOeSnflceUzDU4iBj2ML3WwYLbX3x2qdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zOioC5uNa4Km0yn/dxAqSgbeWC2euhJVdbHwfnx0gMM=;
 b=Zsd/CuAtsBvgn6y/Ol8A/aeKQHFxDYVHJux7eU7Cp46XWa7re9w4jzhfbV2moNGy47bLf1Lko8M0KrWKgiou/oNCJ6l1znBICqDOzqvINfEcKMVSTku5E8ARhQQdgXHQNOnJxHXbOxNcQRCFcLUfHViSeN3hHRJIQ9pU2Wpj6bexesu0eWFbs7/py5dS2oPDZZZLwDSMhMEbu6757JMNSawGARBF/RW2mZAgdmj8517Fk8rWoT1OxLg65DR5TNXQWe3GKIUMdNS1r1zWXhgJfSf8wRCQqwiipOz57vByZbBJt3Q+5glsezddezHJfTBOuMwb+ztZMQ7paQPfZi+Z0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zOioC5uNa4Km0yn/dxAqSgbeWC2euhJVdbHwfnx0gMM=;
 b=KS09LREAg/US/eJ2Xkraqho0yoopHbOWoNfjTaYiB/ro4tT5biSDSaZJGA+tir7SP0hIn57CwKfr7KW9dMz33sLFMzJtk/ntwbhlpsFr1pPbaQmC15bd0RtPXdEtRTNHD0/rf7eDqKgNi8g4vdYJdBZGGL8nHmybUmZrWJSJIKBABtyI6jFH+V13H3uIIpPwex7VdOBWmDWLBFn0AQ0QagjH8Ft1cHF0HekQp+MMfiDiUBgQKNdI7CPoN9ULqwSceeL22hvZ55ROSw+I8meCth0jZ9Uusjcd/2NynF1kEVG6ET5wUU+c1eOtjyUQaohbUiULzaLF8nRZpfoQbVu7eg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a794e6dc-d73a-e6fa-2d32-ad46b22f8483@suse.com>
Date: Wed, 22 Mar 2023 10:34:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 08/16] x86/shadow: use lighter weight mode checks
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0116.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7641:EE_
X-MS-Office365-Filtering-Correlation-Id: 70f5857f-b202-43c0-040b-08db2ab8a0f9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EPDLJYrIFi+yc21pV/95KYr55J9Q1Ei1HLJHq6qAirhsDhWOkhtcAqqVHufjIFcQ19oXlbitvLE70tkn5R0G5jwrdPHypNwLT57VMb53nhS3W9LS7IT7Y3Wk6Kxp2d8U1QBmvRYU7IbhQ5q+jrot9fcBWmUMVL7tp0MOMOxcVYm63o98UHaReZI49uIWuCF8HVhGY02B5gO9B1nGw8BzzkObJ6jyCrxhtYuPjhwBIuSKHPRkQZCBsNt0BfXklpgy+/lqKGB4IYAENJNlAlWZS04xKW7n69D6UvNS2MnXFxpKeL5mM/cI/EHy2pnPiXratDzqc2C0Fg5yi/7yRRzEm7YLLcf1X/TSZ96lGVA9FmSW+uZWwnlu93mS6odeltWdSEvCpG0yUc//diV2sxDuYApGCt/WzUXA69XROhESmLIh9/wV6q8xlYLjGsrK3MsPEPv6crFx7l5Ta3LId6JRPTk93f7GnKI4/7BVIWYpfYeEKgf/nzrlJGbq8ALlSj5XhSNAuMp4Q9eS/u+vEtsxgMVTBHC/IPu6lUkveAyNG1hu9waf5l+ui0TYPBGlTZMtcgRNKLvWthfJtd04j0dkW9dQcY4dpgDMJgOOe0poqSt23/x5m0+UgaHsO+pWmVaUP69CHpPKyNWA9/33Hcj9ZU2mEafyHZqDzSmsq1dwazqADMuqb9AGwZ3IkmeR9ozyTeZlJ1605hsXXxkkTfy+3juyMVQu7zYnhmjOYW7eppd5GJJPCkUNNA5uu3+3tVGrHsNmdd6y+6lsi6Im6OKI1cDX+jx1EtUvYACS8trzE/l560R9Xjvs8h3T+kaabJqTRSyGzAfDSPVYlgQQOdNidQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(376002)(39860400002)(136003)(366004)(451199018)(86362001)(31696002)(36756003)(38100700002)(83380400001)(8676002)(4326008)(316002)(478600001)(54906003)(66946007)(66476007)(6916009)(2616005)(6512007)(6506007)(66556008)(6486002)(31686004)(26005)(186003)(66899018)(5660300002)(8936002)(41300700001)(2906002)(16393002)(45980500001)(43740500002)(473944003)(414714003)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a0FjM2g1NzAyNkhCSHkvWE1Fa211M1c2N0p3MFIycW45M3FrbmlGUjlnQ0Ja?=
 =?utf-8?B?N3l3ZkRJajV3T2Q4SEhRaDg2N1g2TktOdHh5UTVpNHQ0TVhTbWVpUTJxT1Jv?=
 =?utf-8?B?UXR6Q0lLclVOSzQvT3BZVFpLSitPRjVmQ0JreEVkOWNEWkRpQVY4Z3NkaGJZ?=
 =?utf-8?B?b0IyekdNU0tUemJXNFIyNDVaKzJ4bGt5bmlJcEt2bEcraFM1TDdXalY1MnIr?=
 =?utf-8?B?cFRvWUQ0ejdiTll2SmRndzJwYnRncXFnWG82YjRoeWV5T3UvdEN4OVFZVng5?=
 =?utf-8?B?TUg0Q01jTWw2a3NteWRYUTdsOE8wZk00VUJSbnJqVVk2c3JpZjQyT09tOTUw?=
 =?utf-8?B?YkJqT3FjTEtiTXUwZFY3eTJ2YWI1SmJrM2RFTlRHeXFsR29EWnNjZlhEM0tv?=
 =?utf-8?B?ZWtORVFIUzBWS1dMOFRNM2NZdzZ0VnBJQWNQTkdiNTFBY1M4V3lRdG9pWUwx?=
 =?utf-8?B?TTg1Z21RcGlOMHovVVNTbzlyQU9Kbm14WEYyV0hOZEJjNEwrQ2huY0FQZGpC?=
 =?utf-8?B?WDZZQkI5MmVtUHpDV3NnajA5alZTb2pwMnJiWkZoUjNKT2xJNys3bU45TXND?=
 =?utf-8?B?eDZiRGZCaUJhM1U5bW04WWZBOUJtcit1bjFtQ011WXQvWVJtUWE0aytKQTBI?=
 =?utf-8?B?RXcvRFFVWmswY29BL1o2amE1V01iaHBwM0gxT3JubDN5dmZkMG1pS2NlZFZG?=
 =?utf-8?B?blo2MkpYVWpnOGRKb2YxcVRLWjB3U1dKdVpNZU5NQ3lXT1VEY3hURUd0SUds?=
 =?utf-8?B?SjU3QjBiSUFLdm9JT1RtUzZTMDVtY0JReGZmWTQ1Q2d3NVBBaTZKYnNsaWFT?=
 =?utf-8?B?NXkzQ3hvSWVFbkRLUHdxVG5CeHhlZ2dsR3R4dDJ3NTh3SFQxK09ORGRGOVFO?=
 =?utf-8?B?V2syTnFOTXMxUGpUWEorWno2QmJnZ0ZjdWdIckdtZTIvSFJvRnE5NTNrSDJj?=
 =?utf-8?B?dWFVU1FjcElBcEI3SktQK2pVMFlSRnZoUjJycUNsVjE1R1E1TW5xckFEcFgv?=
 =?utf-8?B?bjBBaFZ5Njl2VzZPQVlFdE9RQ0xEc3h1a3JnN3BLREJ0Y0NPMDBPd0NOT2pL?=
 =?utf-8?B?c1hYeUxVeENNTjRqL1pTMHp1SjhQaitDdDJtWThhdG9HdFJ4RWxUMksvZnZh?=
 =?utf-8?B?WGNaeUZjbURQWU42UWM5TGtPNUtpdGRqN1lSVXdjMWNMVDFoL3pjRjkxM0VL?=
 =?utf-8?B?N29Wb2FtK083M2FCZXowWllQL2cwcDBkbmJtbFlnMjdKUzBVRUg3Rk13bjZX?=
 =?utf-8?B?V2hMNTFOWFRvdDJqRk01OCtvYWNLOUVnMmU0NTlPa1dZS0JveUFZaDVDa2hv?=
 =?utf-8?B?T1gzNkxobEFwaGFGSURraWZCOWMwM2FtczREbFlRcjRMSUdqcFptRXhuME1a?=
 =?utf-8?B?d0JqYUpOZkN2UGxLWkp0M2NnR1Q3dnNtaWNWeWdoQWM5VFFBTjV2T1Z1ekh1?=
 =?utf-8?B?eHorM0NwZmJMZEpPbVJtbEUzRXRHTkxNYms4NDdoc05nUzdiUGVGb0xlY2ZI?=
 =?utf-8?B?eml4VWNGTDFUaTNkMDFoWmFXZnFtcjhCeEpaUFExL09mTDB0anU1S2FJSmov?=
 =?utf-8?B?YXBrUHArSlNydmdlUG15MFc4bzNLTFRKQTc5ZUV3NWNOeG1mSVZrMXZZaTRx?=
 =?utf-8?B?K3ZTZzlYUlN4QURKTjJRdHVKWU14dm5YUVdxaHduQm9Db0ZMOWlmR3Uya0hI?=
 =?utf-8?B?djNUbXV2eUZGSmpXS2J0dGxjN2tVZG1vcG9pRzNJKzVvQTA3aGQ4Q1haeHJJ?=
 =?utf-8?B?YXM4WENiNWd3WW5RK21JMXNCYUFsZWY4Sm5FQ2pPU3htUzl5bVFzTE03RnlH?=
 =?utf-8?B?NkdWWTAzOVcwMTIrbzcydE53ODh6WHl4V2hzMC83c21WaTBwd0dQMDQxR29v?=
 =?utf-8?B?T1pCQVJkdC9wQTFwQVc5ZFBiMG1wRzZTelNjUDVobmpiT3lmZjArNmNZL0Q1?=
 =?utf-8?B?cWFUYlBrOU1EMU9FNCtzakhaSnFwU2RjY0dYZUNXbTJHdU01cjJsK1A5T1Nl?=
 =?utf-8?B?Y0QyTlBIbXpZQ205VWNvRDdTcnFyWkR5UTJpQzdReEVnSDlkckM5ZnBNNWN2?=
 =?utf-8?B?UUxGQ2xSUHhuNEo4dyswbTBraDBaVjNxZFFXQVpzcVlLRkxjbEdqM2ZSbDJR?=
 =?utf-8?Q?DD3Df9S1JiGHlTgt7k+wQAsqK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 70f5857f-b202-43c0-040b-08db2ab8a0f9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:34:26.7330
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ni0IRATFXo1A6wYlmSojoQHMrDbHvBD/N0FVXG7crMBWNhnsFArzB45Jo8Xr7nGBdOu/rYPAEZ7fUZKUnXj/7g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7641

shadow_mode_...(), with the exception of shadow_mode_enabled(), are
shorthands for shadow_mode_enabled() && paging_mode_...(). While
potentially useful outside of shadow-internal functions, when we already
know that we're dealing with a domain in shadow mode, the "paging"
checks are sufficient and cheaper. While the "shadow" ones commonly
translate to a MOV/AND/CMP/Jcc sequence, the "paging" ones typically
resolve to just TEST+Jcc.

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

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -1858,7 +1858,7 @@ int sh_remove_write_access(struct domain
      * In guest refcounting, we trust Xen to already be restricting
      * all the writes to the guest page tables, so we do not need to
      * do more. */
-    if ( !shadow_mode_refcounts(d) )
+    if ( !paging_mode_refcounts(d) )
         return 0;
 
     /* Early exit if it's already a pagetable, or otherwise not writeable */
@@ -2090,7 +2090,7 @@ int sh_remove_all_mappings(struct domain
          *   guest pages with an extra reference taken by
          *   prepare_ring_for_helper().
          */
-        if ( !(shadow_mode_external(d)
+        if ( !(paging_mode_external(d)
                && (page->count_info & PGC_count_mask) <= 3
                && ((page->u.inuse.type_info & PGT_count_mask)
                    == (is_special_page(page) ||
@@ -2387,8 +2387,8 @@ static void sh_update_paging_modes(struc
     {
         const struct paging_mode *old_mode = v->arch.paging.mode;
 
-        ASSERT(shadow_mode_translate(d));
-        ASSERT(shadow_mode_external(d));
+        ASSERT(paging_mode_translate(d));
+        ASSERT(paging_mode_external(d));
 
 #if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC)
         /* Need to resync all our pages now, because if a page goes out
@@ -2775,7 +2775,7 @@ void shadow_vcpu_teardown(struct vcpu *v
 
     sh_detach_old_tables(v);
 #ifdef CONFIG_HVM
-    if ( shadow_mode_external(d) )
+    if ( paging_mode_external(d) )
     {
         mfn_t mfn = pagetable_get_mfn(v->arch.hvm.monitor_table);
 
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -526,7 +526,7 @@ _sh_propagate(struct vcpu *v,
                || (level == 1
                    && page_get_owner(mfn_to_page(target_mfn)) == dom_io);
     if ( mmio_mfn
-         && !(level == 1 && (!shadow_mode_refcounts(d)
+         && !(level == 1 && (!paging_mode_refcounts(d)
                              || p2mt == p2m_mmio_direct)) )
     {
         ASSERT((ft == ft_prefetch));
@@ -543,7 +543,7 @@ _sh_propagate(struct vcpu *v,
                        _PAGE_RW | _PAGE_PRESENT);
     if ( guest_nx_enabled(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
-    if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
+    if ( level == 1 && !paging_mode_refcounts(d) && mmio_mfn )
         pass_thru_flags |= PAGE_CACHE_ATTRS;
     sflags = gflags & pass_thru_flags;
 
@@ -663,7 +663,7 @@ _sh_propagate(struct vcpu *v,
      * (We handle log-dirty entirely inside the shadow code, without using the
      * p2m_ram_logdirty p2m type: only HAP uses that.)
      */
-    if ( level == 1 && unlikely(shadow_mode_log_dirty(d)) && !mmio_mfn )
+    if ( level == 1 && unlikely(paging_mode_log_dirty(d)) && !mmio_mfn )
     {
         if ( ft & FETCH_TYPE_WRITE )
             paging_mark_dirty(d, target_mfn);
@@ -819,7 +819,7 @@ do {
 #define SHADOW_FOREACH_L2E(_sl2mfn, _sl2e, _gl2p, _done, _dom, _code)     \
 do {                                                                      \
     int _i, _j;                                                           \
-    ASSERT(shadow_mode_external(_dom));                                   \
+    ASSERT(paging_mode_external(_dom));                                   \
     ASSERT(mfn_to_page(_sl2mfn)->u.sh.type == SH_type_l2_32_shadow);      \
     for ( _j = 0; _j < 4; _j++ )                                          \
     {                                                                     \
@@ -845,7 +845,7 @@ do {
 do {                                                                       \
     int _i;                                                                \
     shadow_l2e_t *_sp = map_domain_page((_sl2mfn));                        \
-    ASSERT(shadow_mode_external(_dom));                                    \
+    ASSERT(paging_mode_external(_dom));                                    \
     ASSERT(mfn_to_page(_sl2mfn)->u.sh.type == SH_type_l2_pae_shadow);      \
     for ( _i = 0; _i < SHADOW_L2_PAGETABLE_ENTRIES; _i++ )                 \
     {                                                                      \
@@ -866,7 +866,7 @@ do {
     unsigned int _i, _end = SHADOW_L2_PAGETABLE_ENTRIES;                    \
     shadow_l2e_t *_sp = map_domain_page((_sl2mfn));                         \
     ASSERT_VALID_L2(mfn_to_page(_sl2mfn)->u.sh.type);                       \
-    if ( is_pv_32bit_domain(_dom) /* implies !shadow_mode_external */ &&    \
+    if ( is_pv_32bit_domain(_dom) /* implies !paging_mode_external */ &&    \
          mfn_to_page(_sl2mfn)->u.sh.type != SH_type_l2_64_shadow )          \
         _end = COMPAT_L2_PAGETABLE_FIRST_XEN_SLOT(_dom);                    \
     for ( _i = 0; _i < _end; ++_i )                                         \
@@ -908,7 +908,7 @@ do {
 #define SHADOW_FOREACH_L4E(_sl4mfn, _sl4e, _gl4p, _done, _dom, _code)   \
 do {                                                                    \
     shadow_l4e_t *_sp = map_domain_page((_sl4mfn));                     \
-    int _xen = !shadow_mode_external(_dom);                             \
+    int _xen = !paging_mode_external(_dom);                             \
     int _i;                                                             \
     ASSERT(mfn_to_page(_sl4mfn)->u.sh.type == SH_type_l4_64_shadow);\
     for ( _i = 0; _i < SHADOW_L4_PAGETABLE_ENTRIES; _i++ )              \
@@ -977,7 +977,7 @@ sh_make_shadow(struct vcpu *v, mfn_t gmf
 #endif
 
     // Create the Xen mappings...
-    if ( !shadow_mode_external(d) )
+    if ( !paging_mode_external(d) )
     {
         switch (shadow_type)
         {
@@ -1379,7 +1379,7 @@ void sh_destroy_l1_shadow(struct domain
         shadow_demote(d, gmfn, t);
     }
 
-    if ( shadow_mode_refcounts(d) )
+    if ( paging_mode_refcounts(d) )
     {
         /* Decrement refcounts of all the old entries */
         mfn_t sl1mfn = smfn;
@@ -1476,7 +1476,7 @@ static int cf_check validate_gl4e(
     l4e_propagate_from_guest(v, new_gl4e, sl3mfn, &new_sl4e, ft_prefetch);
 
     // check for updates to xen reserved slots
-    if ( !shadow_mode_external(d) )
+    if ( !paging_mode_external(d) )
     {
         int shadow_index = (((unsigned long)sl4p & ~PAGE_MASK) /
                             sizeof(shadow_l4e_t));
@@ -2399,7 +2399,7 @@ static int cf_check sh_page_fault(
     gfn = guest_walk_to_gfn(&gw);
     gmfn = get_gfn(d, gfn, &p2mt);
 
-    if ( shadow_mode_refcounts(d) &&
+    if ( paging_mode_refcounts(d) &&
          ((!p2m_is_valid(p2mt) && !p2m_is_grant(p2mt)) ||
           (!p2m_is_mmio(p2mt) && !mfn_valid(gmfn))) )
     {
@@ -2623,7 +2623,7 @@ static int cf_check sh_page_fault(
     return EXCRET_fault_fixed;
 
  emulate:
-    if ( !shadow_mode_refcounts(d) )
+    if ( !paging_mode_refcounts(d) )
         goto not_a_shadow_fault;
 
 #ifdef CONFIG_HVM
@@ -3067,7 +3067,7 @@ sh_update_linear_entries(struct vcpu *v)
      */
 
     /* Don't try to update the monitor table if it doesn't exist */
-    if ( !shadow_mode_external(d) ||
+    if ( !paging_mode_external(d) ||
          pagetable_get_pfn(v->arch.hvm.monitor_table) == 0 )
         return;
 
@@ -3216,7 +3216,7 @@ static void cf_check sh_update_cr3(struc
     /* Double-check that the HVM code has sent us a sane guest_table */
     if ( is_hvm_domain(d) )
     {
-        ASSERT(shadow_mode_external(d));
+        ASSERT(paging_mode_external(d));
         if ( hvm_paging_enabled(v) )
             ASSERT(pagetable_get_pfn(v->arch.guest_table));
         else
@@ -3241,7 +3241,7 @@ static void cf_check sh_update_cr3(struc
      * table.  We cache the current state of that table and shadow that,
      * until the next CR3 write makes us refresh our cache.
      */
-    ASSERT(shadow_mode_external(d));
+    ASSERT(paging_mode_external(d));
 
     /*
      * Find where in the page the l3 table is, but ignore the low 2 bits of
@@ -3272,7 +3272,7 @@ static void cf_check sh_update_cr3(struc
         ASSERT(d->is_dying || d->is_shutting_down);
         return;
     }
-    if ( !shadow_mode_external(d) && !is_pv_32bit_domain(d) )
+    if ( !paging_mode_external(d) && !is_pv_32bit_domain(d) )
     {
         mfn_t smfn = pagetable_get_mfn(v->arch.paging.shadow.shadow_table[0]);
 
@@ -3366,7 +3366,7 @@ static void cf_check sh_update_cr3(struc
     ///
     /// v->arch.cr3
     ///
-    if ( shadow_mode_external(d) )
+    if ( paging_mode_external(d) )
     {
         make_cr3(v, pagetable_get_mfn(v->arch.hvm.monitor_table));
     }
@@ -3383,7 +3383,7 @@ static void cf_check sh_update_cr3(struc
     ///
     /// v->arch.hvm.hw_cr[3]
     ///
-    if ( shadow_mode_external(d) )
+    if ( paging_mode_external(d) )
     {
         ASSERT(is_hvm_domain(d));
 #if SHADOW_PAGING_LEVELS == 3
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -423,7 +423,7 @@ static inline int sh_remove_write_access
                                          unsigned int level,
                                          unsigned long fault_addr)
 {
-    ASSERT(!shadow_mode_refcounts(d));
+    ASSERT(!paging_mode_refcounts(d));
     return 0;
 }
 #endif
@@ -536,8 +536,8 @@ sh_mfn_is_a_page_table(mfn_t gmfn)
         return 0;
 
     owner = page_get_owner(page);
-    if ( owner && shadow_mode_refcounts(owner)
-         && (page->count_info & PGC_shadowed_pt) )
+    if ( owner && paging_mode_refcounts(owner) &&
+         (page->count_info & PGC_shadowed_pt) )
         return 1;
 
     type_info = page->u.inuse.type_info & PGT_type_mask;
--- a/xen/arch/x86/mm/shadow/set.c
+++ b/xen/arch/x86/mm/shadow/set.c
@@ -93,7 +93,7 @@ shadow_get_page_from_l1e(shadow_l1e_t sl
     struct domain *owner = NULL;
 
     ASSERT(!sh_l1e_is_magic(sl1e));
-    ASSERT(shadow_mode_refcounts(d));
+    ASSERT(paging_mode_refcounts(d));
 
     if ( mfn_valid(mfn) )
     {
@@ -354,7 +354,7 @@ int shadow_set_l1e(struct domain *d, sha
          !sh_l1e_is_magic(new_sl1e) )
     {
         /* About to install a new reference */
-        if ( shadow_mode_refcounts(d) )
+        if ( paging_mode_refcounts(d) )
         {
 #define PAGE_FLIPPABLE (_PAGE_RW | _PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
             int rc;
@@ -387,7 +387,7 @@ int shadow_set_l1e(struct domain *d, sha
 
     old_sl1f = shadow_l1e_get_flags(old_sl1e);
     if ( (old_sl1f & _PAGE_PRESENT) && !sh_l1e_is_magic(old_sl1e) &&
-         shadow_mode_refcounts(d) )
+         paging_mode_refcounts(d) )
     {
         /*
          * We lost a reference to an old mfn.
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -274,7 +274,7 @@ int shadow_set_l4e(struct domain *d, sha
 static void inline
 shadow_put_page_from_l1e(shadow_l1e_t sl1e, struct domain *d)
 {
-    if ( !shadow_mode_refcounts(d) )
+    if ( !paging_mode_refcounts(d) )
         return;
 
     put_page_from_l1e(sl1e, d);



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:34:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:34:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513240.793972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peurs-0001nY-Hz; Wed, 22 Mar 2023 09:34:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513240.793972; Wed, 22 Mar 2023 09:34:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peurs-0001nR-EN; Wed, 22 Mar 2023 09:34:52 +0000
Received: by outflank-mailman (input) for mailman id 513240;
 Wed, 22 Mar 2023 09:34: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peurr-0001jq-9y
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:34:51 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20627.outbound.protection.outlook.com
 [2a01:111:f400:fe12::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cb2f0d87-c894-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 10:34:50 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7641.eurprd04.prod.outlook.com (2603:10a6:10:1f7::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:34:49 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09: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: cb2f0d87-c894-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GzYn7u7jE7n29tL43bAzrSBpEsPirlfXIsPl4jqTOVoHcvieP55CPq1X2yy19Gigpc7lBRN00S4pZudf9aE3C0IWSrViO9byQTMn9YAYlyYEblVMvHy5TVytJoBxp6ABEvsiCIze4hnnY464kyWGN2/ESejlxAiHartlammnyJyVpZ4JpO3Mjk2a0pwLcETDmrV3FJ4jP3Zz9MN2pZlp/QG4elLffpYIdpkxR0rHFMtaYEqyMWBKupVLKbkY7nZPpMNOeb5zuiRtAmxdVfvgM0dUPMIVpRw+DpRqD4dmj1QCXUWh/qQLF7b0zmG9oLkNaSQTDIg0ZJ9PMgz1fVf1rQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gkGMlC/+N8HGbxMcyzYdjQkp7gUnDHpUJFPBpXV55Gk=;
 b=ev/XQKsgQ0RJgOfW1E5t/wCT9Cn5sdo5NGdd2fwGvcFzhlipJiaaInUaIgR5cQVXWV/4UmQbR8tH4/tnPwPSvSBuEwP5HHeCF6VqlqK2pbl/W/uneKlrjPym1HnoA323JGDEslyufcOd1xPgdmcx1q+zB+TPjfTqj7PVkHFl95witN2ZBkQTkoCKhYeKJtKxHdVH1wqYVQMzd8ahl5lVr4jtQ0uONTzPnZMGOGssIWKxETRq0BO3AcTN0ECbV06FhGAC9n+StVLWmHZYp/gAXSkAX+sw0RIwrn7IhcllAweLJHUy3FiGb0jgoScjNM6cR8OkDeQWExPpr39McsqLlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gkGMlC/+N8HGbxMcyzYdjQkp7gUnDHpUJFPBpXV55Gk=;
 b=gIBQ13784HMj5UFWpzjPpRay5PEqYh/TfCYvXfvCOZUhnLZ7NhgTG7weQW5JuntVP3skzHWhA7pkQFNla2NeDapVrCdEHAnqyZ3Wvx8KP/g/1ZwxmZrxD6uQdZfmw6UMfUpIZNImjXtAhDIE7nWHX+1VNGGiopaw2Cd0eHVSWfmdJCOVicZykAOav2Sfk5/c+CUL1DJudNoaPWB9th2RknrDhtB2gRWCE8njYQi/Ei3aOjMshzvphqV5eQOOMxXtnghKgv+Nl+M6uHAmloKrPHunW20YIwJ9QwTKQBl8SFXmxfWFNGLgp7K03pWuQTAD5/SAAW5dEwyFjMnyxln9kg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <49ba3172-3b8a-4c0e-5413-bf58b66c82b1@suse.com>
Date: Wed, 22 Mar 2023 10:34:47 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 09/16] x86/shadow: OOS mode is HVM-only
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0108.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7641:EE_
X-MS-Office365-Filtering-Correlation-Id: 5a8eb48b-542f-465f-a8f9-08db2ab8ae40
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	siIH2bjWrjk6ZBxTo93vS/vqwOz5NUsaX/pUhkRdXmYX2Qa10W3ZZSLgQXlyJ6zbSsAb8ZEGxz3McA0BdWW8LQ1435kwf/4QXIuMbtPx4aOIQ/zdr4+lii4K5y43iPSJ2jgJovcdqUMW25ZL39QhLZcyHkzYS9oiREfhKMoRzAF/MuhoDgIkmKs5xt2g4JhJA8v8YrGudV0EbQMDm9OpkdXKeQ+gP51uujNOTTKoaKrjHx2889pHpBx2e5NiQmu7XSwwGxaGmIR1PYbRK6D3tePgGCsWxX2b6KOWssQoBf2PHUJC3xXUNX4SgEKCWPwaezUrghDfsNUz0h71AM0z+AgWMjyni+WMAJo0GW65DDaN7x5+niHRyzTtW74sQA35PvKYby+Wrp/lf3nO5TlNDcX4h35TngxA4JCRZXYZzcsuD6aLLrkyg286dEnHmHRe7RIwxfgcGezeWExHMkZlxiwyaLJeDxogHGHjSSG4818/I6zU+H7eczHvTOlZUsIH9HiAx2VhqmybxD82pR/bOE6V4mJkV0hQ7cZ2p9TYrbD56ryEz31usXAodAZabt9gYsaeUQZqv3YlpLEN5pgRG123mfLS0wV0/rO2tXCBd6NYmEf+RFUJtwWg9YvhY6pTcFWCks1A0vw10Ms4cdeayUjLL3+lVUXxS4CxL+SopedpdGO/ojfYitD+YI/Ynk6WER97g1h8CQ0T96EHW78NujBQZYVFLKmkRV1nAO86Jac=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(376002)(39860400002)(136003)(366004)(451199018)(86362001)(31696002)(36756003)(38100700002)(83380400001)(8676002)(4326008)(316002)(478600001)(54906003)(66946007)(66476007)(6916009)(2616005)(6512007)(6506007)(66556008)(6486002)(31686004)(26005)(186003)(5660300002)(8936002)(41300700001)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VjA3Vkt2L2FZSzViVkNNMnFuRE91RXA5YkJSVWpGSXBnTVN6ZDJWSDd2T0hE?=
 =?utf-8?B?a2xtcjFWYkhGRTAzcVpmYnJSL2ZjMWpxazR4N3ZSaUFKdDJzQnozMmlld3oy?=
 =?utf-8?B?dXpDczdINHpBMmpvZEMxZ0VJREJrTXpNdFpGNlU5TGFIUFE3Q2dUMUM4STVY?=
 =?utf-8?B?K0UzRURDbk83d2NRN3NVaWMrdDN0VkI2T1FmMkoxNG10ajBMSWxSd0M5bWxD?=
 =?utf-8?B?QkNBVHd2d0dTYWNObmtjUWhSZHlLZTV6ZlFHcUhaNXcrZGhZVTcxV29FQlBr?=
 =?utf-8?B?cUtFNWh1QWJxS0NhR0RsUUx2UHhwNHc2WElRSmZ2VWF0OUovNHFpNTkwcHFl?=
 =?utf-8?B?VW9jbzZVZytKWGVxUWMzRyt2TmxVajN0bXRLRXJHZ3dsUE1SMjVCYW5LOEk5?=
 =?utf-8?B?V0VhNFRuTVBSempzeVNFSUt4UFBpUHFzM3hUa2M2dVZxc2NlLytweE52M3VL?=
 =?utf-8?B?QkxzYVM4WEdPeC9JcWl5YUlnWEdFTmgxV3BSNjdNRVovZUNtMWM1VHAvM0U3?=
 =?utf-8?B?bnVxdFFiMndyOFVHblF0T2V4azBXRFU1NUFsT3FYdUMycjVZcTkxR0lOdU1p?=
 =?utf-8?B?cThpYkM0dzRDMFRiMG5HMUExTXovcGVMU1BCbDdXdHlKR090QUVBYVhtOThX?=
 =?utf-8?B?QzBnK0ZuMUdxWm5ZanUvWmxrZUYwM0NLUWd6djRHVm45WERnNUJONjdyTEdP?=
 =?utf-8?B?WHRoNm5pRGRKNm0xQUdMU0ZkQVV5TU9VOVJ1UFpyRVYrREhmSEl1Ly96R296?=
 =?utf-8?B?UEV3OXRoTW9VVkRZM1ZqeGM4c3cxblJDUzJudWhJaC9ZWm41anRGU01vOXJD?=
 =?utf-8?B?Tkc1M0x3NVN6K0ErWHRYRGdDTm5XMTlRcVJHSlYwN0NqVFVSTGRHUlNGZ2hB?=
 =?utf-8?B?akdhM0VIWTVYS3llNGRUUXF1eTlwdi96UlA3dFBrMVpuWXJVb05mRW9idDZL?=
 =?utf-8?B?TmlXcG9BcXIvU21taGFweG1RZnFXaWlYUDRLZFBuRzhWNWMyT1B2a3ZiZGVQ?=
 =?utf-8?B?NTBUTGwzMjk1QVhDY2tocWtqVkhNQy90aXQ3WklOeWZ2ZVBVcysrdklmWWVh?=
 =?utf-8?B?bGxkV1hzaWY2NnJXOVVxeFlEamJBSTQ1dHFWdlExR1hIY1JITksvbnB6OUxq?=
 =?utf-8?B?dFM2TFlzSFVvbnBpVENFajZ3R1NqUkZZTHlXMHMwZTFzdmZ5S1I4RlN1SWhj?=
 =?utf-8?B?L1BjZ3E5T09mWEkvUTBJaGRGTXhIakhnRmpwNjFHeTNwb00veDRnb2ZsaXoy?=
 =?utf-8?B?bU9SaituSnFJMjhPZEREekoxU2FMZEl3UUoxK1g4bk9ESDg4d3h3UE9jWml2?=
 =?utf-8?B?U2paazB0NHdTN1VyMzJXNHl1VVFXeTIvbm9GZEp5ejVRWGZ2aWw0dlkvdDJa?=
 =?utf-8?B?bGVPVjRpblRDU01tdk5rVDI2NnowdGt1Z3ZBQUR2eFN1WjViNy9tdzlkQ2tK?=
 =?utf-8?B?Y2F6bWVNU0ZnK1AwaXBtZ2lRNDd0NHkzZmN3RWhtS3RuOGVVV3FtVXA2SUpt?=
 =?utf-8?B?aFk2MklLaVNUVk92THBMcUVCbVFuOWRuc2tUcnljZmlpb0NsbWllTlkvMUt3?=
 =?utf-8?B?MHkrVHZzYk85cW1uVkFVMy9rUGh5ZWorWHlhNTJOUWhJaitKRGY2UmRGU2Zl?=
 =?utf-8?B?S294UW44c3BBZ25NSWVFdVZxQ0lDWXg5ejY5UzdGanFnWVYzczFmR1MzVHpG?=
 =?utf-8?B?U0dpbWlJOTJYVFNqd0NXaGcvZDRXVjZ0N2djTm5aNERKNUlPWHhjdkZFTDdT?=
 =?utf-8?B?cG1LYzMzM0NrZ3hEVXFObllZbXc1ZDBHMUdkeE96dGxtSURzdklsbDY5YS9D?=
 =?utf-8?B?Wlo1ZFM5ek5QSHR6akV1amk1RzlzMExZSU4rYnNzb21PMTV2TERneElzbUhw?=
 =?utf-8?B?aEZ5Z29ySHlKT0hVcENHcFdwTy94bG1NcVI3RWxUdzQ2d01ubjVUeFVRSW5m?=
 =?utf-8?B?dVRXRysyV3dxUXBxRCt0YlFKNlZNQlRCSlNCR2NEMnVtTzczcVpHYk9Fbmxj?=
 =?utf-8?B?cjdDNkdHU3JwN2RZZEl6OTNQdXpBeThXTlREUGxxL3Q3aDQ0bUZwbmlNclZm?=
 =?utf-8?B?UjhOQXFweEh1c3VnWkNPZXlKV3ZyTnV5VWRtRDJZV0hJdjU2d2dGU21obVVJ?=
 =?utf-8?Q?ffSXQdWnBrUlfHFLOHtXZL9UW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5a8eb48b-542f-465f-a8f9-08db2ab8ae40
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:34:48.9973
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wTy7+Nu3BCivV5ZB/4YzHjDh/Gz8DgbHDEZdboPmFw6slZ/vvk87dlkXaGU3CAWQbFw74BY6f+MpLFarkIPKkw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7641

XEN_DOMCTL_CDF_oos_off is forced set for PV domains, so the logic can't
ever be engaged for them. Conditionalize respective fields and remove
the respective bit from SHADOW_OPTIMIZATIONS when !HVM. As a result the
SH_type_oos_snapshot constant can disappear altogether in that case, and
a couple of #ifdef-s can also be dropped/combined.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -113,10 +113,10 @@ struct shadow_domain {
     /* Fast MMIO path heuristic */
     bool has_fast_mmio_entries;
 
+#ifdef CONFIG_HVM
     /* OOS */
     bool_t oos_active;
 
-#ifdef CONFIG_HVM
     /* Has this domain ever used HVMOP_pagetable_dying? */
     bool_t pagetable_dying_op;
 #endif
@@ -152,7 +152,6 @@ struct shadow_vcpu {
     unsigned long last_emulated_frame;
     /* Last MFN that we emulated a write successfully */
     unsigned long last_emulated_mfn;
-#endif
 
     /* Shadow out-of-sync: pages that this vcpu has let go out of sync */
     mfn_t oos[SHADOW_OOS_PAGES];
@@ -163,7 +162,6 @@ struct shadow_vcpu {
         unsigned long off[SHADOW_OOS_FIXUPS];
     } oos_fixup[SHADOW_OOS_PAGES];
 
-#ifdef CONFIG_HVM
     bool_t pagetable_dying;
 #endif
 #endif
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -296,7 +296,6 @@ static int sh_remove_write_access_from_s
 
     switch ( mfn_to_page(smfn)->u.sh.type )
     {
-#ifdef CONFIG_HVM
     case SH_type_l1_32_shadow:
     case SH_type_fl1_32_shadow:
         return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 2)
@@ -306,7 +305,6 @@ static int sh_remove_write_access_from_s
     case SH_type_fl1_pae_shadow:
         return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 3)
             (d, gmfn, smfn, off);
-#endif
 
     case SH_type_l1_64_shadow:
     case SH_type_fl1_64_shadow:
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -69,7 +69,8 @@ extern int shadow_audit_enable;
 #ifdef CONFIG_HVM
 #define SHADOW_OPTIMIZATIONS     0x1ff
 #else
-#define SHADOW_OPTIMIZATIONS     (0x1ff & ~SHOPT_FAST_EMULATION)
+#define SHADOW_OPTIMIZATIONS     (0x1ff & ~(SHOPT_OUT_OF_SYNC | \
+                                            SHOPT_FAST_EMULATION))
 #endif
 
 
@@ -205,8 +206,7 @@ extern void shadow_audit_tables(struct v
 #define SH_type_max_shadow     6U
 #define SH_type_p2m_table      7U /* in use as the p2m table */
 #define SH_type_monitor_table  8U /* in use as a monitor table */
-#define SH_type_oos_snapshot   9U /* in use as OOS snapshot */
-#define SH_type_unused        10U
+#define SH_type_unused         9U
 #endif
 
 #ifndef CONFIG_PV32 /* Unused (but uglier to #ifdef above): */
@@ -323,8 +323,6 @@ static inline void sh_terminate_list(str
 #define SHF_out_of_sync (1u << (SH_type_max_shadow + 1))
 #define SHF_oos_may_write (1u << (SH_type_max_shadow + 2))
 
-#endif /* (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC) */
-
 static inline int sh_page_has_multiple_shadows(struct page_info *pg)
 {
     u32 shadows;
@@ -335,7 +333,6 @@ static inline int sh_page_has_multiple_s
     return shadows && (shadows & (shadows - 1));
 }
 
-#if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC)
 /* The caller must verify this is reasonable to call; i.e., valid mfn,
  * domain is translated, &c */
 static inline int page_is_out_of_sync(struct page_info *p)



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:34:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513241.793982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peury-00027k-Pj; Wed, 22 Mar 2023 09:34:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513241.793982; Wed, 22 Mar 2023 09:34: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 1peury-00027b-MJ; Wed, 22 Mar 2023 09:34:58 +0000
Received: by outflank-mailman (input) for mailman id 513241;
 Wed, 22 Mar 2023 09:34: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=5r5y=7O=citrix.com=prvs=438090303=roger.pau@srs-se1.protection.inumbo.net>)
 id 1peurx-0001G9-Nx
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:34: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 ccf78c72-c894-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 10:34:55 +0100 (CET)
Received: from mail-sn1nam02lp2042.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.42])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 22 Mar 2023 05:34:52 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN8PR03MB5044.namprd03.prod.outlook.com (2603:10b6:408:7e::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:34:49 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:34: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: ccf78c72-c894-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679477695;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=no9732AzL5BGhsoSs+k9xphdFEc0l3EhL2CHEfEQAp8=;
  b=GUZKGvksXsXr+2cPb8EA/LDlZMnkAXTlxsguc63NUa4HCnzNq7dg5smr
   nzfzOay61UJd+pqSc8a/XnGfaBrGTJQFZkfhtG5cOHHrN8l3uJdkFwkVz
   o4qHjPB7I/rslxp3oCXXZ4ViekPHxsDiDnOBK5HE76lev5JsVhCG05KVO
   s=;
X-IronPort-RemoteIP: 104.47.57.42
X-IronPort-MID: 102250420
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:KZBG0q8ySvdtzEo9fjVCDrUD7n6TJUtcMsCJ2f8bNWPcYEJGY0x3n
 TcYCG+BPa7YYTT1Ldx0OY+3pB4PvsfVx9IyT1RkqX88E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqoR5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklcy
 vgTNR4zVimFgr/szOr8TbFVqc48eZyD0IM34hmMzBn/JNN+G9X4ZfyP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWMilAruFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE37eVx36jBNhKfFG+3vByu1OCxjERNDwfX2Oj8Py/px+6A+sKf
 iT4/QJr98De7neDVNDsGR2lqXiLlhcZV5xbFOhSwAOHx7fQ4g2ZLnMZVTMHY9sj3OcfQTE63
 1mFksmvKTFyu72YU1qU87vSpjS3UQA+LXUDfjMFRA1DwN7upoA8phvKQpBoF6vdpubpFC752
 SzMjCk6i7gZl8cN242y+FyBiDWpzrDDUxQn7wHQUmW65yt2YYekY8qj7l2zxdZHKomdQ1jY+
 lgZks6RxOkLAdeGkynlaMcQGLCgocSFOTvTqVdqE98q8DHF01yiZIFZ5ndVJEpvGs8BdXniZ
 0q7kRhK+JZZMX+ubKl2S4G8EcInye7nD9uNfuDZaJ9Cb4Z8cCeD/TpyfgiA0mb1ik8unKojf
 5CBfq6R4W0yDK1myH+tQb4b2LpznCQmnzuPH9b80git1qeYaDiNU7AZPVCSb+c/qqSZvAHS9
 NUZPMyPo/lCbNDDjuDs2dZ7BTg3wbITXPgad+Q/mja/Hzdb
IronPort-HdrOrdr: A9a23:gBYt4KqtRrHDcav1pBrhfdwaV5oweYIsimQD101hICG9Ffb5qy
 nOppUmPHDP4gr5NEtQ++xoW5PvfZqjz+8X3WB5B97LNzUO01HFEGgN1+bfKnHbdBHDyg==
X-IronPort-AV: E=Sophos;i="5.98,281,1673931600"; 
   d="scan'208";a="102250420"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kyckhysUhQAfgupQsvwX4dbaKVsxBxRoIoEAwpgtsDlCkVyUY6RKvo5TGHu51ea6fBQUngT1oct3NJ7YiuEQG6qT+Uzc8abulo2Ld2eBcWl+KbR6QEu9ftCNrkwmEw4fv1t4B8UMc08RDdT5f3nQ6gDh0+iTfZyX9NQsyzFW3/CCGhA2DIdER4DmZHYUm+XIf6impddPlzwKXUrEcJTxQU8ZguN8Z0vF+NYr91urHGxdNOke/mMzny7Q+OwxeIyqt+DWbhJLwdT8Xuv7MUzBL0hMv3nVnh7JprIs56HMCsUWTMw0Q1sPUCRjxjjzML/C2I0ZQxr6GEsMcgSZjzIx5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d7xqh63bCaTRE0eq1c50jvKiZ2O6K9g7Y+pvXhGKmZE=;
 b=YNHWv9FXLrj2+s67UHljSYpRC1qozk4UTrR5HcJGGVqegrJ1vD+h4St9bLgHcRn4tNMJTSIW1dGivm3ZirkFFpFs8EshAm6n2x3ILTto0Db0gRUAdHE1aX7NMUOeuHHi06pey68ftYx+yc56NDDNDbPd7PtAACC06ByKA6joWQ53n/7ONC4HZQvO09RuPxucbCqjgBBDfLBwqSzFPhyPPV4e5Mq5OnWtw2fShLahWj8NRL8OgjIwCHeTwWD0ckSgKu42gu1xaKp3EQ9E3lYJ1FjWWFNZEGeRLodTggFPFmRzZEFAbJzaPfgjmuAUe2M1yTprY52a+cfZMZu1ZaefBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d7xqh63bCaTRE0eq1c50jvKiZ2O6K9g7Y+pvXhGKmZE=;
 b=jpji5Qpm+bnChyOburo1gLYA/RfGEhnZ+2/J4M4dC+SjyIzA4wVXesra7aOnrIIDs1Un5ZljgUCPIq6ZDoiiJ49djX9TQ7CC24R1wJXlFtJEG9q7ikciDxvwoWPRIWW/QWOa4H0/G2Psr6Ixhcn/wdU4gT3Hgyr0pUc+nrJtBmg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 22 Mar 2023 10:34:41 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Huang Rui <ray.huang@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZBrLsRebAYaspHrK@Air-de-Roger>
References: <20230312075455.450187-3-ray.huang@amd.com>
 <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com>
 <ZBl6iU6T1CsWqVx9@amd.com>
 <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
 <ZBmDl8XjIos57EIy@amd.com>
 <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
 <ZBmZxnyZWrni57Ry@amd.com>
 <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com>
 <ZBmrI3wrrwsK5Q+0@amd.com>
 <ZBquOn8x7IyI33Pj@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <ZBquOn8x7IyI33Pj@amd.com>
X-ClientProxiedBy: LO4P123CA0359.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18d::22) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN8PR03MB5044:EE_
X-MS-Office365-Filtering-Correlation-Id: 37ed72af-726d-4cd1-910d-08db2ab8adcc
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fzqUMtGdXgBMl9lq4kQCHQol//iUJqb1FxL0utux8TeP8ZnaKvCDUhhh6iBRynyrzmmg6CAqaOhdAvH/Fe1sEptf8KQ0xksy6kDmn+otsQ+kMDW5hadUrW+JW8DF8CAW8dFvlNc2sR0poMExVib5+Mf4Cu+2Br5RJIg1+WHDOZdMIe1Vhd1Y++MqQC530HrKAxePAoqXUgMOjM9lYC0xTwhPV4K9k7xBLfLxUHJzZdPmXtzYA8b0gbGL6WjTZvBns/HOgUAEysRP3f9DJkZA5oZBHbISIET2T3T3WNrgp19Dvrf+ljXvXGdf5YDJ0mLo+qdE4jDqnuY/tv+QvgSGm657kpgW3uBULRB46kS7eI2cKpMmm6K26cnANGtw6mDQKoUCKiUl+MBgfOKSK9Ifb0yShgJGD7GIqdLb1GtycJF5Qz0SM3zCs6yrlqRn0LmYWMAyCzcA/+IDEP+E6VKXIlYFT0dNOR1Xw89DZx03xVw3jTOaP6/EjBx2/WB3nUI+6zIoOhmhlHiuFcpd3OB09CO7TrfpGPWtsOjse9jN3ks1W11PxYR637LLrzeTYeZJ25ft2sETRkfqTtaEf8ln16JUeofQKU8wT0P9uk+lWmoBu0C1pwDNT4YRQc3PUxuN7Cflgoi3ZISoEaLImF34bA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(136003)(39860400002)(376002)(396003)(366004)(346002)(451199018)(316002)(33716001)(38100700002)(7416002)(85182001)(54906003)(66476007)(8676002)(66946007)(6916009)(5660300002)(4326008)(41300700001)(8936002)(66556008)(86362001)(2906002)(478600001)(83380400001)(82960400001)(9686003)(6666004)(53546011)(186003)(26005)(6512007)(6506007)(6486002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V0QrNk1iODAzZTcveS9CNEM3MlNsYThlTkhmdFFtZldzeEp1WXFNT3EyMFNE?=
 =?utf-8?B?UmR5QWVScFAvK2pncU9GMmVSZlVDU0NQeWJWTXJWVW02dUVZcTlMNjExQ1ln?=
 =?utf-8?B?MmJHdmhoQXdGLzhuS2RSSWZ4Ulk3TnBvUTNXWHZUUU9WcVpFTUtqUnFWWStL?=
 =?utf-8?B?UHNVR0hUdG9sSjZCTEpmb0hEN1JXQzI1ZHExSnllQ05OYmJmaUNxVEtLT1JK?=
 =?utf-8?B?RTFJRW92Z1JMcE1GdUNqamFWZXNVdVBubEkvYjFyVVVYbEJPT3dRazBIWDZB?=
 =?utf-8?B?LzZIaGdKUEJTaTVDM3p0RjdacVkza05xNGZpbURzRVpNK0hLdThsUkl0R3FZ?=
 =?utf-8?B?MFN1TWNWUm1tbm5aL2tkVU5MZHExa0UxQTFLMXM0TzA1WG9CSldtRVlHYzNq?=
 =?utf-8?B?N013ODFrQVArMVdXNU9TY3pDczkxekJXOGJBeVpDN29GU2dBcktndlpMUGZ0?=
 =?utf-8?B?TjVvcHNlTnhubllFdHQwNy93SmlPR0ZkN1dVdjRsRGlJQ2l4OEVadnJGaHhC?=
 =?utf-8?B?MFpZVE1KSUpTZnNXQ0hFdmUzM3NscUZSclJyRHJrQnBDN1JRNDZScG9palQr?=
 =?utf-8?B?UEJ5WU9wYnNCZ0ZUbTZBbXUxYk1teUFlT21KZjFjdjNkczdRQ3dZZWM0T215?=
 =?utf-8?B?Z0MvbERneDhKcTgxYWQwK2JhZWlNU2pLRmFlbCtyTmJUdHEvdm1zZjEyalhh?=
 =?utf-8?B?SkdxRFdYTGIwcHBIaVF5M0JDNGxYR240TVRrdm9QL1Y2KzZIZGxybENXcFZU?=
 =?utf-8?B?YmtiUm5WLzVqcnpNYmcwQWRjbEwxK0k3THVJSXNQeWFMdW50ajlIdHpyV2Z2?=
 =?utf-8?B?VlNkbmNhRnBiWjNGbnJvTWVXeUtrNXBVVThNWjNnS09ScVZkZExyNnhabHdZ?=
 =?utf-8?B?SXhEc1JLeFdVVXRwdVg1QXR3S3R6UTFBaGJRS3hNTXQ1WnFtWVo2cHhjdDVO?=
 =?utf-8?B?UWRkL000aGIyZTNWd0owb0hqM25qL2dyMEhycFk4TlRuSkw0TEVueVJNc25L?=
 =?utf-8?B?cTZ2bm9iWlFpbzBaN3dTa3ZEMUxDTDlwdFcxNTVwYlpzaUc2VnBVbXZVMWZs?=
 =?utf-8?B?bWd4ZXp0cnZxWGJ0MFUwTDNYZkdzNlBSZTgvWitidEFSYlZPQXFEL1VHcTd3?=
 =?utf-8?B?VTdnOWplQXg4QlFBOTVFcVczcndQQVE2Q0xYNkloS0NkcGxhc1laN3BXQnl6?=
 =?utf-8?B?bWhOdUFyT0ZrV0tKNEIzRnBZN1dGNVpwVFBQTU1udUgrVmplNGpnQWRob0VM?=
 =?utf-8?B?dFR6TzNrZ3ZBRi96dXczS0RrTWRBKzlxdHZVRXVUaXRBWDFsWEkwMGYySXMw?=
 =?utf-8?B?aEl1VURsVWFjNzFkeVREUlFJUy9SRWJYa3E2WG9lVmYrV0dxTnhiVG95dHZ5?=
 =?utf-8?B?YXRSemJ5cU82Vm4xMEFDY1JoVXRVMnp6YmtkdEI0UndrN3hYMTFFbGlYU0t0?=
 =?utf-8?B?akxBQmNwbnVsanhtN0w1VkE2cjh0aFR5NnYwT2hmeFBNYW0zbVZITjBzQ0JQ?=
 =?utf-8?B?d0k5Q3owTmNXMVVYR2JYQmFIUU1oSHN1eWwySWV0MXBMTS9RWXpOcGprelBQ?=
 =?utf-8?B?V3NiZndrc3NVTHhWMkxIK2w2SEdjTWNoYm8vOG5YVGxtL1d3K21kSHJCQmVj?=
 =?utf-8?B?QnJybzJQOUJ0cEl2RzZhVUV1a09qbFM1endUQ2hFYXVOQmxCZzN6Z3VPQWlW?=
 =?utf-8?B?T3Z6N3NEYXByWDQvdyt2YmlrWjJzdnR6Z1ovbW5hQWg5bTA2UXhUaWdPWW5F?=
 =?utf-8?B?V0h6OWZETEdDRVVFUnNiejQ3VkczMElOZ3JraWc4RjFKQnFNampQc0dmOUlY?=
 =?utf-8?B?eFMxb2lUTDBMeWlibm9JaHVGRWwyeDc4OGJyTGxtSjdINzUxTzVXeEtCVFRQ?=
 =?utf-8?B?Vis5V25tN1dKaGMzQzF6enIrVGtkZGw2eW9OWlR5c2w3USt5bHM4b0JzY0RZ?=
 =?utf-8?B?RXdHeGVERnpHbWUwaHZaZUxxeTM5M0xsL0hMMk5JazVvbDA0TmxuUytqMHZU?=
 =?utf-8?B?cCtRUWdiY3VXbFlPbmlmaUwzSDFRNi9GMFB3cVd2dlpZYm84NFB5UmxkUVBp?=
 =?utf-8?B?OW9vb3pMRCt6L3ptRjdmcUo3OVMrR0FpbWVHcXRLOTJkVzVhYlBtMWxmS0RP?=
 =?utf-8?B?eHJKYkpVUDlwSGdxUktQZnJIK1pmaUZzeDZVaWVjcTRiSjRRL3ptOThBejZG?=
 =?utf-8?B?TXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	jHpSFM0eqgQW7O/zAR3S0ScFUXnxd5UBkhUeQqWLe9FERl4EzcuirDChKeEVMpbmHhXESsf6AYVP1UCXcfO0Lagp97KnQ12zE6a2LWmiOSmTj8aXBQYp9djolboSM2YUNNqsYpdS0AIdVZFmLAiZSEHr4paOffYq8PykRNSj+y5ekyMty4tYHSWIt2dD2/zId6Z9x6AiXM23pRedrOQuKkvXXwm5Iuw60itVUeZhtS01oJcyWsSatVEX4eoXkhYteNyt/yV2tt/IV02bywK6y1VXxQOrW+0o2Q3bSnQlas2sbt3T1qYMVMQyr3sAXeqfocR8B7HrYifQotqYOGj1/yFi9cj0+jA7vJL/rLyrX8m1r5AeAClS1jJGO04EPjY0l0ls/RUX7wGFA2p5ACgFpvSm2zJAOcYATykzTWCRESKyqsMOoWuKVg5dwdEdGAJp7+ikJxGURl5PkyPCcFa/g2dkGWcFr8oGlJBx7R3WIEPFjjRTlYskimzO3HLeyKQd4LPQW5yoEKXxmn4PAjAtZ6wh4mSyCMnbCswvcF6wMVKH2gg6plSJcoKXNciq9swxF9Ku7UuNXyhkNV3dpzFYdJ+AeeALLDDul0689K+STGTwjTHVvku3gkSTt+LY9hj5OPI8esJ07N6a6WXNE1jdy0GahhCZMS+bHGy15qpVomTohVmq5xWavKLg+Zp/rkCLivAxto8sPTYhuVUsu++QmtucvUrcN9cI30BYBadUew0/qt47bFe8E1WNFAikdwKGyEAa0uwDa8nmRqPWL+MAsry7+HOKlzT3aOdDH0s3EWMErPH45zefjr8mqNur1uDWPbNjev316xQ9gw+PIYY5Bi+tq+YwZjS1jLcVfcnPL9B7RbkKDKYTxuXx4GmM2M7m
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 37ed72af-726d-4cd1-910d-08db2ab8adcc
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:34:48.4707
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dduH48hGZbIuqc9eF410T9X/dYc6W6f1kLpLm8KV5oV5npzcszF9lfDhFTrZGiAX87bgeN5kPyRCuBZ1duaMWA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5044

On Wed, Mar 22, 2023 at 03:28:58PM +0800, Huang Rui wrote:
> On Tue, Mar 21, 2023 at 09:03:58PM +0800, Huang Rui wrote:
> > On Tue, Mar 21, 2023 at 08:27:21PM +0800, Jan Beulich wrote:
> > > On 21.03.2023 12:49, Huang Rui wrote:
> > > > Thanks, but we found if dom0 is PV domain, the passthrough device will
> > > > access this function to write the real bar.
> > > 
> > > Can you please be quite a bit more detailed about this? The specific code
> > > paths taken (in upstream software) to result in such would of of interest.
> > > 
> > 
> > yes, please wait for a moment. let me capture a trace dump in my side.
> > 
> 
> Sorry, we are wrong that if Xen PV dom0, bar_write() won't be called,
> please ignore above information.
> 
> While xen is on initialization on PVH dom0, it will add all PCI devices in
> the real bus including 0000:03:00.0 (VGA device: GPU) and 0000:03:00.1
> (Audio device).
> 
> Audio is another function in the pcie device, but we won't use it here. So
> we will remove it after that.
> 
> Please see below xl dmesg:
> 
> (XEN) PCI add device 0000:03:00.0
> (XEN) d0v0 bar_write Ray line 391 0000:03:00.1 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:03:00.1 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:03:00.1 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:03:00.1 bar->enabled 0
> (XEN) PCI add device 0000:03:00.1
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> (XEN) PCI add device 0000:04:00.0
> 
> ...
> 
> (XEN) PCI add device 0000:07:00.7
> (XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc0010058 unimplemented
> (XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc0011020 unimplemented
> (XEN) PCI remove device 0000:03:00.1
> 
> We run below script to remove audio
> 
> echo -n "1" > /sys/bus/pci/devices/0000:03:00.1/remove
> 
> (XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc001029b unimplemented
> (XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc001029a unimplemented
> 
> Then we will run "xl pci-assignable-add 03:00.0" to assign GPU as
> passthrough. At this moment, the real bar is trying to be written.
> 
> (XEN) d0v7 bar_write Ray line 391 0000:03:00.0 bar->enabled 1
> (XEN) d0v7 bar_write Ray line 406 0000:03:00.0 bar->enabled 1
> (XEN) Xen WARN at drivers/vpci/header.c:408
> (XEN) ----[ Xen-4.18-unstable  x86_64  debug=y  Not tainted ]----
> (XEN) CPU:    8
> (XEN) RIP:    e008:[<ffff82d040263cb9>] drivers/vpci/header.c#bar_write+0xc0/0x1ce
> (XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor (d0v7)
> (XEN) rax: ffff8303fc36d06c   rbx: ffff8303f90468b0   rcx: 0000000000000010
> (XEN) rdx: 0000000000000002   rsi: ffff8303fc36a020   rdi: ffff8303fc36a018
> (XEN) rbp: ffff8303fc367c18   rsp: ffff8303fc367be8   r8:  0000000000000001
> (XEN) r9:  ffff8303fc36a010   r10: 0000000000000001   r11: 0000000000000001
> (XEN) r12: 00000000d0700000   r13: ffff8303fc6d9230   r14: ffff8303fc6d9270
> (XEN) r15: 0000000000000000   cr0: 0000000080050033   cr4: 00000000003506e0
> (XEN) cr3: 00000003fc3c4000   cr2: 00007f180f6371e8
> (XEN) fsb: 00007fce655edbc0   gsb: ffff88822f3c0000   gss: 0000000000000000
> (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
> (XEN) Xen code around <ffff82d040263cb9> (drivers/vpci/header.c#bar_write+0xc0/0x1ce):
> (XEN)  b6 53 14 f6 c2 02 74 02 <0f> 0b 48 8b 03 45 84 ff 0f 85 ec 00 00 00 48 b9
> (XEN) Xen stack trace from rsp=ffff8303fc367be8:
> (XEN)    00000024fc367bf8 ffff8303f9046a50 0000000000000000 0000000000000004
> (XEN)    0000000000000004 0000000000000024 ffff8303fc367ca0 ffff82d040263683
> (XEN)    00000300fc367ca0 d070000003003501 00000024d0700000 ffff8303fc6d9230
> (XEN)    0000000000000000 0000000000000000 0000002400000004 0000000000000000
> (XEN)    0000000000000000 0000000000000000 0000000000000004 00000000d0700000
> (XEN)    0000000000000024 0000000000000000 ffff82d040404bc0 ffff8303fc367cd0
> (XEN)    ffff82d0402c60a8 0000030000000001 ffff8303fc367d88 0000000000000000
> (XEN)    ffff8303fc610800 ffff8303fc367d30 ffff82d0402c54da ffff8303fc367ce0
> (XEN)    ffff8303fc367fff 0000000000000004 ffff830300000004 00000000d0700000
> (XEN)    ffff8303fc610800 ffff8303fc367d88 0000000000000001 0000000000000000
> (XEN)    0000000000000000 ffff8303fc367d58 ffff82d0402c5570 0000000000000004
> (XEN)    ffff8304065ea000 ffff8303fc367e28 ffff8303fc367dd0 ffff82d0402b5357
> (XEN)    0000000000000cfc ffff8303fc621000 0000000000000000 0000000000000000
> (XEN)    0000000000000cfc 00000000d0700000 0000000400000001 0001000000000000
> (XEN)    0000000000000004 0000000000000004 0000000000000000 ffff8303fc367e44
> (XEN)    ffff8304065ea000 ffff8303fc367e10 ffff82d0402b56d6 0000000000000000
> (XEN)    ffff8303fc367e44 0000000000000004 0000000000000cfc ffff8304065e6000
> (XEN)    0000000000000000 ffff8303fc367e30 ffff82d0402b6bcc ffff8303fc367e44
> (XEN)    0000000000000001 ffff8303fc367e70 ffff82d0402c5e80 d070000040203490
> (XEN)    000000000000007b ffff8303fc367ef8 ffff8304065e6000 ffff8304065ea000
> (XEN) Xen call trace:
> (XEN)    [<ffff82d040263cb9>] R drivers/vpci/header.c#bar_write+0xc0/0x1ce
> (XEN)    [<ffff82d040263683>] F vpci_write+0x123/0x26c
> (XEN)    [<ffff82d0402c60a8>] F arch/x86/hvm/io.c#vpci_portio_write+0xa0/0xa7
> (XEN)    [<ffff82d0402c54da>] F hvm_process_io_intercept+0x203/0x26f
> (XEN)    [<ffff82d0402c5570>] F hvm_io_intercept+0x2a/0x4c
> (XEN)    [<ffff82d0402b5357>] F arch/x86/hvm/emulate.c#hvmemul_do_io+0x29b/0x5eb
> (XEN)    [<ffff82d0402b56d6>] F arch/x86/hvm/emulate.c#hvmemul_do_io_buffer+0x2f/0x6a
> (XEN)    [<ffff82d0402b6bcc>] F hvmemul_do_pio_buffer+0x33/0x35
> (XEN)    [<ffff82d0402c5e80>] F handle_pio+0x70/0x1b7
> (XEN)    [<ffff82d04029dc7f>] F svm_vmexit_handler+0x10ba/0x18aa
> (XEN)    [<ffff82d0402034e5>] F svm_stgi_label+0x8/0x18
> (XEN)
> (XEN) d0v7 bar_write Ray line 391 0000:03:00.0 bar->enabled 1
> (XEN) d0v7 bar_write Ray line 406 0000:03:00.0 bar->enabled 1

As said by Jan, it's hard to figure out where are the printks placed without a
diff of your changes.

So far the above seems to be expected, as we currently don't handle BAR
register writes with memory decoding enabled.

Given the change proposed in this patch, can you check whether `bar->enabled ==
true` but the PCI command register has the memory decoding bit unset?

If so it would mean Xen state got out-of-sync with the hardware state, and we
would need to figure out where it happened.  Is there any backdoor in the AMD
GPU that allows to disable memory decoding without using the PCI command
register?

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:35:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:35:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513246.793992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peusJ-0002uM-9B; Wed, 22 Mar 2023 09:35:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513246.793992; Wed, 22 Mar 2023 09: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 1peusJ-0002uD-6A; Wed, 22 Mar 2023 09:35:19 +0000
Received: by outflank-mailman (input) for mailman id 513246;
 Wed, 22 Mar 2023 09:35: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peusG-0001G9-VQ
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:35:17 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0611.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d8cd8f19-c894-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 10:35:14 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7641.eurprd04.prod.outlook.com (2603:10a6:10:1f7::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:35:11 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:35: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: d8cd8f19-c894-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VBacKu1HBtn4XA0TbCLxrVWhcEuDsJ3xgxo+9ZBB7vvWFb+H4y2bqQskOuQTFW2ugytpyig9GYgULouUqDGQhM6VJE/0Ws5GQv+0sQ6TmN0pcxq8TSRokxKhTpe67tuypHW8ejNXK4lvCU8Uzktl6GkLlXEqS2a85eKnLwwiBZ8PT4HZe7nC5P5bisRUG8Pd6Xu4DMiTrwNjodHoOOi7hLLVdzIfkmMzyVT/tKBhPPYNR7lPraYi7CW2OHhFi1dilyODUqiPDuaZizlaClkbUcmYYdDLsnEJ6c1MLInx/en2FocIJ7XelS5c15Lt0a6xxkVgM2CXO9qTPRoDsjIOkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dvUW0Gbrjt/U9iuVJHfGxVNqo7A4AhQKwK2Sj3ofS8k=;
 b=Dej8ODfXnkZiK6H34ZSs4dr8ddAj8Oo2+B50wiGFYG5U3o+NzGzI7jY3VNYlnWXZHb+UsUnMZ8DU/wo1141ujfHQszat7N/LnuepcLbjsI55Dilesuvy5oY3gopnvGADRkcJGzNdS4rQ/46VNjQV4LKTq18fu7TE0OHaI8j38S8EHYOMT6JA5Ykwe4s+Kz6bLPuowtYx97wewqeOG0kt5I3BjjprD6pgU8p5+LEqqFAlZSlB8LE1tx3IbEr+k1GXOhucfgD/JwUNDqzPJN826jGrcG7dTgV8EPG8RAvQAyRFVE60CG0GhM/LcpiJrapjyWRDP1175pUJn+6fv8mISA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dvUW0Gbrjt/U9iuVJHfGxVNqo7A4AhQKwK2Sj3ofS8k=;
 b=PiyDJyNL3lwEsAgHiPmfq3FKFTmpbEYJxJAl4UHuaJ9ncO7J4UPyXF+Kpt6KrkD/yzhNtRnovDab7RTb6iYgFqJeP+P+nIbhUx6I+abiuheBLY0BcrrA9okkbULLI5FEgN8gjUrTcL0E8FqGHphdmJ6ccr7Lce6EJE3timy1VS/F1FEcSY+gQAmiGqdv4EkrqdvubBaP2ds70j+rWERIC3Hau/ygnZyxhnQN0D3gIEd2mHYzewQO5K5dXkZVn7M0AiFby3elPfS0nZtc0Y79siOVWXj3a/8JGryHwpULChIJwKAh2rocVzskcGXXkEhhVRbfdgjcjdWd+aejEj8SGg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <88be7d2e-325b-2a32-fe9f-ce762bb7b606@suse.com>
Date: Wed, 22 Mar 2023 10:35:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 10/16] x86/shadow: move OOS functions to their own file
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0154.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7641:EE_
X-MS-Office365-Filtering-Correlation-Id: 03712753-949b-457e-4ffb-08db2ab8bb69
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Z/eakspQlqP+eKsZmZKZR5sH0CYIR3mTcUmkwq6uRded/9sXVblMDnCsJJMeEfIDgCSSbieHTd7Nc/ecsGdiqIgBWuCyT9vN7yqTbmQIdgV6OyHNjPJWBKMLyZVrG4LT2MpBjshk0jHpmZcqmxd8OxtLwxz61SMneFUDnOohCrl1pzs29q4epMuEYy3ENJe4XHW5TVj4fDKlVUS+4R3osdBYv391vXOgbzo9bEdakdI0vo6vgLLsUlL7wL+BQH5IJmqwkfrBmyOV1r38+hQjWbhUauC+m4jvAZiapSG87aydSWZCCbAcYrN9u/MavnD8C5CBVWtiKvhO/sO3Ns2ruZijP+z54N6qkDRqhfWhGFf3wDBs/EUU2QGZOL57vzWorZF2mAxxAcrVpX+8egKl55osoCViTCVnYXXvD7YMoJUHFFXeDYsI9jRPeuQhRL1XoOtOUyv3xEXoj8UZDkoOBYR7TrjV4SpS18/K7Ey7j/82KDLk28UjJDjKEwOWKcM2aRx715h7KgfDjZiVR7joNkX1uK/9BmOZQUHFWmDgMjZdNPr9PJXl1dxyeiScFTNwRQJtsuCLe9HuDgFm7DZTSxpD+9pGkcw+qiVAsRQJkZeJ8YuK7+I1dn8WktzyIdNANUb/Cj+f1ANWma03ELa1ApBESDDUQwcHfsuGtNtMAbImvZTI3oxhIQfDlVnzXKFD/DnqhWp4yMxRVDBCPSN7bI+H0nYTJ6AnV2U8L0aeR5tn5svvGq51Qcy0su7fYjPTTjaGnVP/uU9czOUtiFIEQcjD2kjfYg5MmN3eSoyl0Cg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(376002)(39860400002)(136003)(366004)(451199018)(86362001)(31696002)(36756003)(38100700002)(83380400001)(8676002)(4326008)(316002)(478600001)(54906003)(66946007)(66476007)(6916009)(2616005)(6512007)(6506007)(66556008)(6486002)(31686004)(26005)(186003)(66899018)(5660300002)(8936002)(30864003)(41300700001)(2906002)(45980500001)(43740500002)(579004)(473944003)(414714003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UHMyRVNMdTZGL3FGbXhtdExQNmZDUFdNT0pGVEdRb2xURDlqcm9UUFRCbWk0?=
 =?utf-8?B?bEV1eFZTNnFDT0tESmlMbDU2V1Z4MTdhL1pnanUrOUp4NSsyeURVNUJYNWwr?=
 =?utf-8?B?TnpxRzBSVjVidUhzYkFYalU1K3U1bVZQUDFya0g2UVIxMU5tR3FibElKQjlm?=
 =?utf-8?B?cHR2UlJNRnpUYzB0YkhNV0lxdVZ6ZFdpcFJWdVFIK2s0MWhFc2Uwak9XUHRm?=
 =?utf-8?B?TnNKbTl1TklpaW5pWU5OdUJROEVXWHpuSDB5dTVvazc3bmJwL1diUVNhdXZD?=
 =?utf-8?B?OWVpSDl5UnNoUkxXRlBFNVFRRUxGYXRrWVdMR2EwSVdSVG9sdXE4dTdTL0Rq?=
 =?utf-8?B?T2dlUDE4cG1zWHJ0R1VVYXBXUmRGMVA3MnhKZkd3aXpKOVFzcDN0QWxOdW9Z?=
 =?utf-8?B?WXIwNUZrOXJaV2ppS042K2hnbHR2Qkl4c0o3NUJ3dW1wOTV3VEpZMXk4YW15?=
 =?utf-8?B?NWRhUnpsVFZZaTZYZzI1ekNFZmtQZkt5NlNwd1dVK1JYME5BaUljR3FjMHVs?=
 =?utf-8?B?Vno4YTUrWCtMc0NZS3AydDBHdkdWREErdnFhWTlDSTFFYmQ5R29HdUxIRTlX?=
 =?utf-8?B?K2p2cGdycjdvM2ZJb2J0V2lVUG5qbEsyOUhBZXh6RWwvNkxXNlhDUkQ4WUlj?=
 =?utf-8?B?bElmc01ZLy9pdUlvMU8xUitqa0Fna3FYWGNMbm1IeVdZNFBkdG0yN3VsZ2xk?=
 =?utf-8?B?aEw3WEhSV2dLVTBkMEp2RWkrSWVVM2lxbEdrcDlrVVBjNzN5Sk5QNWJVMG0z?=
 =?utf-8?B?NnRSSmV2ZFRTZkdUNExnYm9rcW5oYjd6L2xpYTd2MHNobDdJam54bXV5d2c3?=
 =?utf-8?B?U20rRnZoc2VXQ1pSQWs3ZTIvNGM0Vk10azA3NkdvaGl0RWg0Z0hVbktkQ2ZN?=
 =?utf-8?B?NmdOay9pd3FRU1JrcXBQU3lOekFoSlBrR1dmNUNTZFhiNDl3bE9YaGVTM0Y2?=
 =?utf-8?B?aXUrTzFnQVFreHlvVTlvMUR0M3puSU1VQXY1RE9pRnNScjFnUzcybVZ0S0w5?=
 =?utf-8?B?WnZ6SGpVNENCeHZtMnd4eHQ3SnlXQXRrNWY4c0NPeFluclpwR3RkbDdYd0dz?=
 =?utf-8?B?aWVQOWJjbHZ1TUZPeElQQkFkZmNBR0RwOW4vRlRSM2JSRm9ZaXF1dzlRaStu?=
 =?utf-8?B?MU16aWh0RU0vZ3ZuQkVYai9SM0ErQ2IydVNkQTM3REoySnFHY2lKcFVoUDFs?=
 =?utf-8?B?MlBYRmE4bDFndTB3RVJTS3ByN1pXeVpWUjRqVDk5R2VOMC9zSE9BbmF4Ymha?=
 =?utf-8?B?TncwU1Z6ZE9qeEVzTkgrQ0V3a0pBa084NjFabVNHS2JMWmNSb2EzcWhJRjFx?=
 =?utf-8?B?amRzellZSmc0em1LQndtMmVzbEt6UTFYUkppdm96TVVsdkhXWXdoSzNZRHlL?=
 =?utf-8?B?T0NWOHlHOStDYzIwaEVjK3FiVjFBVmhuUEp0WmNOSFFhaGdWMmhHbTNSL3lZ?=
 =?utf-8?B?K0V3ZGxMRkZYMEZMalFabGlpOTBGY3A1aVIrb0ZrZm5iU1lzTVZLcTQzYm4r?=
 =?utf-8?B?ZXJoQzhIK05raDZxUlRmdE1hcEpDRnpSTUkzVDZpc0hoaHVMRFBhYkNOVnp2?=
 =?utf-8?B?d2xjMmFMOTdOamlYNjVMQWEzMENHUCtzK0RPOGVwd21qNGRuR2pEMEpOTTUv?=
 =?utf-8?B?dTJXSGxOWjVIdVRzeVlObUlNeVNGeWlGdHkxRXEyL01RdzZjNTdOMmlobE4v?=
 =?utf-8?B?UllQMWtJZHV4ZStkaDlJcU5kSGhjbjkzNGtSSEs2Yk5zRlRva1IwWS9mT1RN?=
 =?utf-8?B?SlpJRHpuK0FCT3FETXVrQ09SazhmbWV3c2hKT1JJdjE2ZGg4cnVsek5kK0dy?=
 =?utf-8?B?anA4YThYSlRQU0VEc0JjQ3FNbW9qL0ZWVUVPUjBhL1VLNU9HQ0pzTFZWaTdN?=
 =?utf-8?B?QWdaNHd3Z0tUUTk0dlkzcXF0YzBSUXRua2lhRFNiaXllNmNJbXlVL3k5bHoz?=
 =?utf-8?B?ZGhhbVZ3NWZzV2k3aE53V2VzQm5Yak1UUGdmaHlUVVhQZWtXSXdxNzRiR1Aw?=
 =?utf-8?B?dG9nOTVSeUcvREZmdFZUZ3pIV3NhVmlnSFFrc3pqMnBkaTRGUDRCQVE5eG9y?=
 =?utf-8?B?SHNwQXJHUUJNT2NySkovNGpXRHZPeisrcUt0dFZDRjJ2THEvdTlDYk9Fb2xx?=
 =?utf-8?Q?lc75FtZaBPZty+VArA+daL6/k?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 03712753-949b-457e-4ffb-08db2ab8bb69
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:35:11.2147
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PuspAe25L5zJMeBG0P32lT4x8Kx7VM/UYh+Nwfp8OEafndNj1SU5tQsleKki5fDglG/8q25hPXiTiAHOHByDOg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7641

The code has been identified as HVM-only, and its main functions are
pretty well isolated. Move them to their own file. While moving, besides
making two functions non-static, do a few style adjustments, mainly
comment formatting, but leave the code otherwise untouched.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/shadow/Makefile
+++ b/xen/arch/x86/mm/shadow/Makefile
@@ -1,6 +1,6 @@
 ifeq ($(CONFIG_SHADOW_PAGING),y)
 obj-y += common.o set.o
-obj-$(CONFIG_HVM) += hvm.o guest_2.o guest_3.o guest_4.o
+obj-$(CONFIG_HVM) += hvm.o guest_2.o guest_3.o guest_4.o oos.o
 obj-$(CONFIG_PV) += pv.o guest_4.o
 else
 obj-y += none.o
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -152,576 +152,6 @@ static int __init cf_check shadow_audit_
 __initcall(shadow_audit_key_init);
 #endif /* SHADOW_AUDIT */
 
-#if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC)
-/**************************************************************************/
-/* Out-of-sync shadows. */
-
-/* From time to time, we let a shadowed pagetable page go out of sync
- * with its shadow: the guest is allowed to write directly to the page,
- * and those writes are not synchronously reflected in the shadow.
- * This lets us avoid many emulations if the guest is writing a lot to a
- * pagetable, but it relaxes a pretty important invariant in the shadow
- * pagetable design.  Therefore, some rules:
- *
- * 1. Only L1 pagetables may go out of sync: any page that is shadowed
- *    at at higher level must be synchronously updated.  This makes
- *    using linear shadow pagetables much less dangerous.
- *    That means that: (a) unsyncing code needs to check for higher-level
- *    shadows, and (b) promotion code needs to resync.
- *
- * 2. All shadow operations on a guest page require the page to be brought
- *    back into sync before proceeding.  This must be done under the
- *    paging lock so that the page is guaranteed to remain synced until
- *    the operation completes.
- *
- *    Exceptions to this rule: the pagefault and invlpg handlers may
- *    update only one entry on an out-of-sync page without resyncing it.
- *
- * 3. Operations on shadows that do not start from a guest page need to
- *    be aware that they may be handling an out-of-sync shadow.
- *
- * 4. Operations that do not normally take the paging lock (fast-path
- *    #PF handler, INVLPG) must fall back to a locking, syncing version
- *    if they see an out-of-sync table.
- *
- * 5. Operations corresponding to guest TLB flushes (MOV CR3, INVLPG)
- *    must explicitly resync all relevant pages or update their
- *    shadows.
- *
- * Currently out-of-sync pages are listed in a simple open-addressed
- * hash table with a second chance (must resist temptation to radically
- * over-engineer hash tables...)  The virtual address of the access
- * which caused us to unsync the page is also kept in the hash table, as
- * a hint for finding the writable mappings later.
- *
- * We keep a hash per vcpu, because we want as much as possible to do
- * the re-sync on the save vcpu we did the unsync on, so the VA hint
- * will be valid.
- */
-
-static void sh_oos_audit(struct domain *d)
-{
-    unsigned int idx, expected_idx, expected_idx_alt;
-    struct page_info *pg;
-    struct vcpu *v;
-
-    for_each_vcpu(d, v)
-    {
-        for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
-        {
-            mfn_t *oos = v->arch.paging.shadow.oos;
-            if ( mfn_eq(oos[idx], INVALID_MFN) )
-                continue;
-
-            expected_idx = mfn_x(oos[idx]) % SHADOW_OOS_PAGES;
-            expected_idx_alt = ((expected_idx + 1) % SHADOW_OOS_PAGES);
-            if ( idx != expected_idx && idx != expected_idx_alt )
-            {
-                printk("%s: idx %x contains gmfn %lx, expected at %x or %x.\n",
-                       __func__, idx, mfn_x(oos[idx]),
-                       expected_idx, expected_idx_alt);
-                BUG();
-            }
-            pg = mfn_to_page(oos[idx]);
-            if ( !(pg->count_info & PGC_shadowed_pt) )
-            {
-                printk("%s: idx %x gmfn %lx not a pt (count %lx)\n",
-                       __func__, idx, mfn_x(oos[idx]), pg->count_info);
-                BUG();
-            }
-            if ( !(pg->shadow_flags & SHF_out_of_sync) )
-            {
-                printk("%s: idx %x gmfn %lx not marked oos (flags %x)\n",
-                       __func__, idx, mfn_x(oos[idx]), pg->shadow_flags);
-                BUG();
-            }
-            if ( (pg->shadow_flags & SHF_page_type_mask & ~SHF_L1_ANY) )
-            {
-                printk("%s: idx %x gmfn %lx shadowed as non-l1 (flags %x)\n",
-                       __func__, idx, mfn_x(oos[idx]), pg->shadow_flags);
-                BUG();
-            }
-        }
-    }
-}
-
-#if SHADOW_AUDIT & SHADOW_AUDIT_ENTRIES
-void oos_audit_hash_is_present(struct domain *d, mfn_t gmfn)
-{
-    int idx;
-    struct vcpu *v;
-    mfn_t *oos;
-
-    ASSERT(mfn_is_out_of_sync(gmfn));
-
-    for_each_vcpu(d, v)
-    {
-        oos = v->arch.paging.shadow.oos;
-        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
-        if ( !mfn_eq(oos[idx], gmfn) )
-            idx = (idx + 1) % SHADOW_OOS_PAGES;
-
-        if ( mfn_eq(oos[idx], gmfn) )
-            return;
-    }
-
-    printk(XENLOG_ERR "gmfn %"PRI_mfn" marked OOS but not in hash table\n",
-           mfn_x(gmfn));
-    BUG();
-}
-#endif
-
-/* Update the shadow, but keep the page out of sync. */
-static inline void _sh_resync_l1(struct vcpu *v, mfn_t gmfn, mfn_t snpmfn)
-{
-    struct page_info *pg = mfn_to_page(gmfn);
-
-    ASSERT(mfn_valid(gmfn));
-    ASSERT(page_is_out_of_sync(pg));
-
-    /* Call out to the appropriate per-mode resyncing function */
-    if ( pg->shadow_flags & SHF_L1_32 )
-        SHADOW_INTERNAL_NAME(sh_resync_l1, 2)(v, gmfn, snpmfn);
-    else if ( pg->shadow_flags & SHF_L1_PAE )
-        SHADOW_INTERNAL_NAME(sh_resync_l1, 3)(v, gmfn, snpmfn);
-    else if ( pg->shadow_flags & SHF_L1_64 )
-        SHADOW_INTERNAL_NAME(sh_resync_l1, 4)(v, gmfn, snpmfn);
-}
-
-static int sh_remove_write_access_from_sl1p(struct domain *d, mfn_t gmfn,
-                                            mfn_t smfn, unsigned long off)
-{
-    ASSERT(mfn_valid(smfn));
-    ASSERT(mfn_valid(gmfn));
-
-    switch ( mfn_to_page(smfn)->u.sh.type )
-    {
-    case SH_type_l1_32_shadow:
-    case SH_type_fl1_32_shadow:
-        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 2)
-            (d, gmfn, smfn, off);
-
-    case SH_type_l1_pae_shadow:
-    case SH_type_fl1_pae_shadow:
-        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 3)
-            (d, gmfn, smfn, off);
-
-    case SH_type_l1_64_shadow:
-    case SH_type_fl1_64_shadow:
-        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 4)
-            (d, gmfn, smfn, off);
-
-    default:
-        return 0;
-    }
-}
-
-/*
- * Fixup arrays: We limit the maximum number of writable mappings to
- * SHADOW_OOS_FIXUPS and store enough information to remove them
- * quickly on resync.
- */
-
-static inline int oos_fixup_flush_gmfn(struct vcpu *v, mfn_t gmfn,
-                                       struct oos_fixup *fixup)
-{
-    struct domain *d = v->domain;
-    int i;
-    for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )
-    {
-        if ( !mfn_eq(fixup->smfn[i], INVALID_MFN) )
-        {
-            sh_remove_write_access_from_sl1p(d, gmfn,
-                                             fixup->smfn[i],
-                                             fixup->off[i]);
-            fixup->smfn[i] = INVALID_MFN;
-        }
-    }
-
-    /* Always flush the TLBs. See comment on oos_fixup_add(). */
-    return 1;
-}
-
-void oos_fixup_add(struct domain *d, mfn_t gmfn,
-                   mfn_t smfn,  unsigned long off)
-{
-    int idx, next;
-    mfn_t *oos;
-    struct oos_fixup *oos_fixup;
-    struct vcpu *v;
-
-    perfc_incr(shadow_oos_fixup_add);
-
-    for_each_vcpu(d, v)
-    {
-        oos = v->arch.paging.shadow.oos;
-        oos_fixup = v->arch.paging.shadow.oos_fixup;
-        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
-        if ( !mfn_eq(oos[idx], gmfn) )
-            idx = (idx + 1) % SHADOW_OOS_PAGES;
-        if ( mfn_eq(oos[idx], gmfn) )
-        {
-            int i;
-            for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )
-            {
-                if ( mfn_eq(oos_fixup[idx].smfn[i], smfn)
-                     && (oos_fixup[idx].off[i] == off) )
-                    return;
-            }
-
-            next = oos_fixup[idx].next;
-
-            if ( !mfn_eq(oos_fixup[idx].smfn[next], INVALID_MFN) )
-            {
-                TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_OOS_FIXUP_EVICT);
-
-                /* Reuse this slot and remove current writable mapping. */
-                sh_remove_write_access_from_sl1p(d, gmfn,
-                                                 oos_fixup[idx].smfn[next],
-                                                 oos_fixup[idx].off[next]);
-                perfc_incr(shadow_oos_fixup_evict);
-                /* We should flush the TLBs now, because we removed a
-                   writable mapping, but since the shadow is already
-                   OOS we have no problem if another vcpu write to
-                   this page table. We just have to be very careful to
-                   *always* flush the tlbs on resync. */
-            }
-
-            oos_fixup[idx].smfn[next] = smfn;
-            oos_fixup[idx].off[next] = off;
-            oos_fixup[idx].next = (next + 1) % SHADOW_OOS_FIXUPS;
-
-            TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_OOS_FIXUP_ADD);
-            return;
-        }
-    }
-
-    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
-           mfn_x(gmfn));
-    BUG();
-}
-
-static int oos_remove_write_access(struct vcpu *v, mfn_t gmfn,
-                                   struct oos_fixup *fixup)
-{
-    struct domain *d = v->domain;
-    int ftlb = 0;
-
-    ftlb |= oos_fixup_flush_gmfn(v, gmfn, fixup);
-
-    switch ( sh_remove_write_access(d, gmfn, 0, 0) )
-    {
-    default:
-    case 0:
-        break;
-
-    case 1:
-        ftlb |= 1;
-        break;
-
-    case -1:
-        /* An unfindable writeable typecount has appeared, probably via a
-         * grant table entry: can't shoot the mapping, so try to unshadow
-         * the page.  If that doesn't work either, the guest is granting
-         * his pagetables and must be killed after all.
-         * This will flush the tlb, so we can return with no worries. */
-        shadow_remove_all_shadows(d, gmfn);
-        return 1;
-    }
-
-    if ( ftlb )
-        guest_flush_tlb_mask(d, d->dirty_cpumask);
-
-    return 0;
-}
-
-
-static inline void trace_resync(int event, mfn_t gmfn)
-{
-    if ( tb_init_done )
-    {
-        /* Convert gmfn to gfn */
-        gfn_t gfn = mfn_to_gfn(current->domain, gmfn);
-
-        __trace_var(event, 0/*!tsc*/, sizeof(gfn), &gfn);
-    }
-}
-
-/* Pull all the entries on an out-of-sync page back into sync. */
-static void _sh_resync(struct vcpu *v, mfn_t gmfn,
-                       struct oos_fixup *fixup, mfn_t snp)
-{
-    struct page_info *pg = mfn_to_page(gmfn);
-
-    ASSERT(paging_locked_by_me(v->domain));
-    ASSERT(mfn_is_out_of_sync(gmfn));
-    /* Guest page must be shadowed *only* as L1 when out of sync. */
-    ASSERT(!(mfn_to_page(gmfn)->shadow_flags & SHF_page_type_mask
-             & ~SHF_L1_ANY));
-    ASSERT(!sh_page_has_multiple_shadows(mfn_to_page(gmfn)));
-
-    SHADOW_PRINTK("%pv gmfn=%"PRI_mfn"\n", v, mfn_x(gmfn));
-
-    /* Need to pull write access so the page *stays* in sync. */
-    if ( oos_remove_write_access(v, gmfn, fixup) )
-    {
-        /* Page has been unshadowed. */
-        return;
-    }
-
-    /* No more writable mappings of this page, please */
-    pg->shadow_flags &= ~SHF_oos_may_write;
-
-    /* Update the shadows with current guest entries. */
-    _sh_resync_l1(v, gmfn, snp);
-
-    /* Now we know all the entries are synced, and will stay that way */
-    pg->shadow_flags &= ~SHF_out_of_sync;
-    perfc_incr(shadow_resync);
-    trace_resync(TRC_SHADOW_RESYNC_FULL, gmfn);
-}
-
-
-/* Add an MFN to the list of out-of-sync guest pagetables */
-static void oos_hash_add(struct vcpu *v, mfn_t gmfn)
-{
-    int i, idx, oidx, swap = 0;
-    mfn_t *oos = v->arch.paging.shadow.oos;
-    mfn_t *oos_snapshot = v->arch.paging.shadow.oos_snapshot;
-    struct oos_fixup *oos_fixup = v->arch.paging.shadow.oos_fixup;
-    struct oos_fixup fixup = { .next = 0 };
-
-    for (i = 0; i < SHADOW_OOS_FIXUPS; i++ )
-        fixup.smfn[i] = INVALID_MFN;
-
-    idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
-    oidx = idx;
-
-    if ( !mfn_eq(oos[idx], INVALID_MFN)
-         && (mfn_x(oos[idx]) % SHADOW_OOS_PAGES) == idx )
-    {
-        /* Punt the current occupant into the next slot */
-        SWAP(oos[idx], gmfn);
-        SWAP(oos_fixup[idx], fixup);
-        swap = 1;
-        idx = (idx + 1) % SHADOW_OOS_PAGES;
-    }
-    if ( !mfn_eq(oos[idx], INVALID_MFN) )
-    {
-        /* Crush the current occupant. */
-        _sh_resync(v, oos[idx], &oos_fixup[idx], oos_snapshot[idx]);
-        perfc_incr(shadow_unsync_evict);
-    }
-    oos[idx] = gmfn;
-    oos_fixup[idx] = fixup;
-
-    if ( swap )
-        SWAP(oos_snapshot[idx], oos_snapshot[oidx]);
-
-    copy_domain_page(oos_snapshot[oidx], oos[oidx]);
-}
-
-/* Remove an MFN from the list of out-of-sync guest pagetables */
-static void oos_hash_remove(struct domain *d, mfn_t gmfn)
-{
-    int idx;
-    mfn_t *oos;
-    struct vcpu *v;
-
-    SHADOW_PRINTK("d%d gmfn %lx\n", d->domain_id, mfn_x(gmfn));
-
-    for_each_vcpu(d, v)
-    {
-        oos = v->arch.paging.shadow.oos;
-        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
-        if ( !mfn_eq(oos[idx], gmfn) )
-            idx = (idx + 1) % SHADOW_OOS_PAGES;
-        if ( mfn_eq(oos[idx], gmfn) )
-        {
-            oos[idx] = INVALID_MFN;
-            return;
-        }
-    }
-
-    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
-           mfn_x(gmfn));
-    BUG();
-}
-
-mfn_t oos_snapshot_lookup(struct domain *d, mfn_t gmfn)
-{
-    int idx;
-    mfn_t *oos;
-    mfn_t *oos_snapshot;
-    struct vcpu *v;
-
-    for_each_vcpu(d, v)
-    {
-        oos = v->arch.paging.shadow.oos;
-        oos_snapshot = v->arch.paging.shadow.oos_snapshot;
-        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
-        if ( !mfn_eq(oos[idx], gmfn) )
-            idx = (idx + 1) % SHADOW_OOS_PAGES;
-        if ( mfn_eq(oos[idx], gmfn) )
-        {
-            return oos_snapshot[idx];
-        }
-    }
-
-    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
-           mfn_x(gmfn));
-    BUG();
-}
-
-/* Pull a single guest page back into sync */
-void sh_resync(struct domain *d, mfn_t gmfn)
-{
-    int idx;
-    mfn_t *oos;
-    mfn_t *oos_snapshot;
-    struct oos_fixup *oos_fixup;
-    struct vcpu *v;
-
-    for_each_vcpu(d, v)
-    {
-        oos = v->arch.paging.shadow.oos;
-        oos_fixup = v->arch.paging.shadow.oos_fixup;
-        oos_snapshot = v->arch.paging.shadow.oos_snapshot;
-        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
-        if ( !mfn_eq(oos[idx], gmfn) )
-            idx = (idx + 1) % SHADOW_OOS_PAGES;
-
-        if ( mfn_eq(oos[idx], gmfn) )
-        {
-            _sh_resync(v, gmfn, &oos_fixup[idx], oos_snapshot[idx]);
-            oos[idx] = INVALID_MFN;
-            return;
-        }
-    }
-
-    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
-           mfn_x(gmfn));
-    BUG();
-}
-
-/* Figure out whether it's definitely safe not to sync this l1 table,
- * by making a call out to the mode in which that shadow was made. */
-static int sh_skip_sync(struct vcpu *v, mfn_t gl1mfn)
-{
-    struct page_info *pg = mfn_to_page(gl1mfn);
-    if ( pg->shadow_flags & SHF_L1_32 )
-        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 2)(v, gl1mfn);
-    else if ( pg->shadow_flags & SHF_L1_PAE )
-        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 3)(v, gl1mfn);
-    else if ( pg->shadow_flags & SHF_L1_64 )
-        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 4)(v, gl1mfn);
-    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not shadowed as an l1\n",
-           mfn_x(gl1mfn));
-    BUG();
-}
-
-
-/* Pull all out-of-sync pages back into sync.  Pages brought out of sync
- * on other vcpus are allowed to remain out of sync, but their contents
- * will be made safe (TLB flush semantics); pages unsynced by this vcpu
- * are brought back into sync and write-protected.  If skip != 0, we try
- * to avoid resyncing at all if we think we can get away with it. */
-void sh_resync_all(struct vcpu *v, int skip, int this, int others)
-{
-    int idx;
-    struct vcpu *other;
-    mfn_t *oos = v->arch.paging.shadow.oos;
-    mfn_t *oos_snapshot = v->arch.paging.shadow.oos_snapshot;
-    struct oos_fixup *oos_fixup = v->arch.paging.shadow.oos_fixup;
-
-    SHADOW_PRINTK("%pv\n", v);
-
-    ASSERT(paging_locked_by_me(v->domain));
-
-    if ( !this )
-        goto resync_others;
-
-    /* First: resync all of this vcpu's oos pages */
-    for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
-        if ( !mfn_eq(oos[idx], INVALID_MFN) )
-        {
-            /* Write-protect and sync contents */
-            _sh_resync(v, oos[idx], &oos_fixup[idx], oos_snapshot[idx]);
-            oos[idx] = INVALID_MFN;
-        }
-
- resync_others:
-    if ( !others )
-        return;
-
-    /* Second: make all *other* vcpus' oos pages safe. */
-    for_each_vcpu(v->domain, other)
-    {
-        if ( v == other )
-            continue;
-
-        oos = other->arch.paging.shadow.oos;
-        oos_fixup = other->arch.paging.shadow.oos_fixup;
-        oos_snapshot = other->arch.paging.shadow.oos_snapshot;
-
-        for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
-        {
-            if ( mfn_eq(oos[idx], INVALID_MFN) )
-                continue;
-
-            if ( skip )
-            {
-                /* Update the shadows and leave the page OOS. */
-                if ( sh_skip_sync(v, oos[idx]) )
-                    continue;
-                trace_resync(TRC_SHADOW_RESYNC_ONLY, oos[idx]);
-                _sh_resync_l1(other, oos[idx], oos_snapshot[idx]);
-            }
-            else
-            {
-                /* Write-protect and sync contents */
-                _sh_resync(other, oos[idx], &oos_fixup[idx], oos_snapshot[idx]);
-                oos[idx] = INVALID_MFN;
-            }
-        }
-    }
-}
-
-/* Allow a shadowed page to go out of sync. Unsyncs are traced in
- * multi.c:sh_page_fault() */
-int sh_unsync(struct vcpu *v, mfn_t gmfn)
-{
-    struct page_info *pg;
-
-    ASSERT(paging_locked_by_me(v->domain));
-
-    SHADOW_PRINTK("%pv gmfn=%"PRI_mfn"\n", v, mfn_x(gmfn));
-
-    pg = mfn_to_page(gmfn);
-
-    /* Guest page must be shadowed *only* as L1 and *only* once when out
-     * of sync.  Also, get out now if it's already out of sync.
-     * Also, can't safely unsync if some vcpus have paging disabled.*/
-    if ( pg->shadow_flags &
-         ((SHF_page_type_mask & ~SHF_L1_ANY) | SHF_out_of_sync)
-         || sh_page_has_multiple_shadows(pg)
-         || !is_hvm_vcpu(v)
-         || !v->domain->arch.paging.shadow.oos_active )
-        return 0;
-
-    BUILD_BUG_ON(!(typeof(pg->shadow_flags))SHF_out_of_sync);
-    BUILD_BUG_ON(!(typeof(pg->shadow_flags))SHF_oos_may_write);
-
-    pg->shadow_flags |= SHF_out_of_sync|SHF_oos_may_write;
-    oos_hash_add(v, gmfn);
-    perfc_incr(shadow_unsync);
-    TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_UNSYNC);
-    return 1;
-}
-
-#endif /* (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC) */
-
-
 /**************************************************************************/
 /* Code for "promoting" a guest page to the point where the shadow code is
  * willing to let it be treated as a guest page table.  This generally
--- /dev/null
+++ b/xen/arch/x86/mm/shadow/oos.c
@@ -0,0 +1,603 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/******************************************************************************
+ * arch/x86/mm/shadow/oos.c
+ *
+ * Shadow code dealing with out-of-sync shadows.
+ * Parts of this code are Copyright (c) 2006 by XenSource Inc.
+ * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
+ * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
+ */
+
+#include "private.h"
+
+#if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC)
+
+#include <xen/trace.h>
+
+#include <asm/shadow.h>
+
+/*
+ * From time to time, we let a shadowed pagetable page go out of sync
+ * with its shadow: the guest is allowed to write directly to the page,
+ * and those writes are not synchronously reflected in the shadow.
+ * This lets us avoid many emulations if the guest is writing a lot to a
+ * pagetable, but it relaxes a pretty important invariant in the shadow
+ * pagetable design.  Therefore, some rules:
+ *
+ * 1. Only L1 pagetables may go out of sync: any page that is shadowed
+ *    at at higher level must be synchronously updated.  This makes
+ *    using linear shadow pagetables much less dangerous.
+ *    That means that: (a) unsyncing code needs to check for higher-level
+ *    shadows, and (b) promotion code needs to resync.
+ *
+ * 2. All shadow operations on a guest page require the page to be brought
+ *    back into sync before proceeding.  This must be done under the
+ *    paging lock so that the page is guaranteed to remain synced until
+ *    the operation completes.
+ *
+ *    Exceptions to this rule: the pagefault and invlpg handlers may
+ *    update only one entry on an out-of-sync page without resyncing it.
+ *
+ * 3. Operations on shadows that do not start from a guest page need to
+ *    be aware that they may be handling an out-of-sync shadow.
+ *
+ * 4. Operations that do not normally take the paging lock (fast-path
+ *    #PF handler, INVLPG) must fall back to a locking, syncing version
+ *    if they see an out-of-sync table.
+ *
+ * 5. Operations corresponding to guest TLB flushes (MOV CR3, INVLPG)
+ *    must explicitly resync all relevant pages or update their
+ *    shadows.
+ *
+ * Currently out-of-sync pages are listed in a simple open-addressed
+ * hash table with a second chance (must resist temptation to radically
+ * over-engineer hash tables...)  The virtual address of the access
+ * which caused us to unsync the page is also kept in the hash table, as
+ * a hint for finding the writable mappings later.
+ *
+ * We keep a hash per vcpu, because we want as much as possible to do
+ * the re-sync on the save vcpu we did the unsync on, so the VA hint
+ * will be valid.
+ */
+
+#if SHADOW_AUDIT & SHADOW_AUDIT_ENTRIES_FULL
+void sh_oos_audit(struct domain *d)
+{
+    unsigned int idx, expected_idx, expected_idx_alt;
+    struct page_info *pg;
+    struct vcpu *v;
+
+    for_each_vcpu(d, v)
+    {
+        for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
+        {
+            mfn_t *oos = v->arch.paging.shadow.oos;
+            if ( mfn_eq(oos[idx], INVALID_MFN) )
+                continue;
+
+            expected_idx = mfn_x(oos[idx]) % SHADOW_OOS_PAGES;
+            expected_idx_alt = ((expected_idx + 1) % SHADOW_OOS_PAGES);
+            if ( idx != expected_idx && idx != expected_idx_alt )
+            {
+                printk("%s: idx %x contains gmfn %lx, expected at %x or %x.\n",
+                       __func__, idx, mfn_x(oos[idx]),
+                       expected_idx, expected_idx_alt);
+                BUG();
+            }
+            pg = mfn_to_page(oos[idx]);
+            if ( !(pg->count_info & PGC_shadowed_pt) )
+            {
+                printk("%s: idx %x gmfn %lx not a pt (count %lx)\n",
+                       __func__, idx, mfn_x(oos[idx]), pg->count_info);
+                BUG();
+            }
+            if ( !(pg->shadow_flags & SHF_out_of_sync) )
+            {
+                printk("%s: idx %x gmfn %lx not marked oos (flags %x)\n",
+                       __func__, idx, mfn_x(oos[idx]), pg->shadow_flags);
+                BUG();
+            }
+            if ( (pg->shadow_flags & SHF_page_type_mask & ~SHF_L1_ANY) )
+            {
+                printk("%s: idx %x gmfn %lx shadowed as non-l1 (flags %x)\n",
+                       __func__, idx, mfn_x(oos[idx]), pg->shadow_flags);
+                BUG();
+            }
+        }
+    }
+}
+#endif
+
+#if SHADOW_AUDIT & SHADOW_AUDIT_ENTRIES
+void oos_audit_hash_is_present(struct domain *d, mfn_t gmfn)
+{
+    int idx;
+    struct vcpu *v;
+    mfn_t *oos;
+
+    ASSERT(mfn_is_out_of_sync(gmfn));
+
+    for_each_vcpu(d, v)
+    {
+        oos = v->arch.paging.shadow.oos;
+        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
+        if ( !mfn_eq(oos[idx], gmfn) )
+            idx = (idx + 1) % SHADOW_OOS_PAGES;
+
+        if ( mfn_eq(oos[idx], gmfn) )
+            return;
+    }
+
+    printk(XENLOG_ERR "gmfn %"PRI_mfn" marked OOS but not in hash table\n",
+           mfn_x(gmfn));
+    BUG();
+}
+#endif
+
+/* Update the shadow, but keep the page out of sync. */
+static inline void _sh_resync_l1(struct vcpu *v, mfn_t gmfn, mfn_t snpmfn)
+{
+    struct page_info *pg = mfn_to_page(gmfn);
+
+    ASSERT(mfn_valid(gmfn));
+    ASSERT(page_is_out_of_sync(pg));
+
+    /* Call out to the appropriate per-mode resyncing function */
+    if ( pg->shadow_flags & SHF_L1_32 )
+        SHADOW_INTERNAL_NAME(sh_resync_l1, 2)(v, gmfn, snpmfn);
+    else if ( pg->shadow_flags & SHF_L1_PAE )
+        SHADOW_INTERNAL_NAME(sh_resync_l1, 3)(v, gmfn, snpmfn);
+    else if ( pg->shadow_flags & SHF_L1_64 )
+        SHADOW_INTERNAL_NAME(sh_resync_l1, 4)(v, gmfn, snpmfn);
+}
+
+static int sh_remove_write_access_from_sl1p(struct domain *d, mfn_t gmfn,
+                                            mfn_t smfn, unsigned long off)
+{
+    ASSERT(mfn_valid(smfn));
+    ASSERT(mfn_valid(gmfn));
+
+    switch ( mfn_to_page(smfn)->u.sh.type )
+    {
+    case SH_type_l1_32_shadow:
+    case SH_type_fl1_32_shadow:
+        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 2)
+            (d, gmfn, smfn, off);
+
+    case SH_type_l1_pae_shadow:
+    case SH_type_fl1_pae_shadow:
+        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 3)
+            (d, gmfn, smfn, off);
+
+    case SH_type_l1_64_shadow:
+    case SH_type_fl1_64_shadow:
+        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 4)
+            (d, gmfn, smfn, off);
+
+    default:
+        return 0;
+    }
+}
+
+/*
+ * Fixup arrays: We limit the maximum number of writable mappings to
+ * SHADOW_OOS_FIXUPS and store enough information to remove them
+ * quickly on resync.
+ */
+
+static inline int oos_fixup_flush_gmfn(struct vcpu *v, mfn_t gmfn,
+                                       struct oos_fixup *fixup)
+{
+    struct domain *d = v->domain;
+    int i;
+    for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )
+    {
+        if ( !mfn_eq(fixup->smfn[i], INVALID_MFN) )
+        {
+            sh_remove_write_access_from_sl1p(d, gmfn,
+                                             fixup->smfn[i],
+                                             fixup->off[i]);
+            fixup->smfn[i] = INVALID_MFN;
+        }
+    }
+
+    /* Always flush the TLBs. See comment on oos_fixup_add(). */
+    return 1;
+}
+
+void oos_fixup_add(struct domain *d, mfn_t gmfn,
+                   mfn_t smfn,  unsigned long off)
+{
+    int idx, next;
+    mfn_t *oos;
+    struct oos_fixup *oos_fixup;
+    struct vcpu *v;
+
+    perfc_incr(shadow_oos_fixup_add);
+
+    for_each_vcpu(d, v)
+    {
+        oos = v->arch.paging.shadow.oos;
+        oos_fixup = v->arch.paging.shadow.oos_fixup;
+        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
+        if ( !mfn_eq(oos[idx], gmfn) )
+            idx = (idx + 1) % SHADOW_OOS_PAGES;
+        if ( mfn_eq(oos[idx], gmfn) )
+        {
+            int i;
+            for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )
+            {
+                if ( mfn_eq(oos_fixup[idx].smfn[i], smfn)
+                     && (oos_fixup[idx].off[i] == off) )
+                    return;
+            }
+
+            next = oos_fixup[idx].next;
+
+            if ( !mfn_eq(oos_fixup[idx].smfn[next], INVALID_MFN) )
+            {
+                TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_OOS_FIXUP_EVICT);
+
+                /* Reuse this slot and remove current writable mapping. */
+                sh_remove_write_access_from_sl1p(d, gmfn,
+                                                 oos_fixup[idx].smfn[next],
+                                                 oos_fixup[idx].off[next]);
+                perfc_incr(shadow_oos_fixup_evict);
+                /*
+                 * We should flush the TLBs now, because we removed a
+                 * writable mapping, but since the shadow is already
+                 * OOS we have no problem if another vcpu write to
+                 * this page table. We just have to be very careful to
+                 * *always* flush the tlbs on resync.
+                 */
+            }
+
+            oos_fixup[idx].smfn[next] = smfn;
+            oos_fixup[idx].off[next] = off;
+            oos_fixup[idx].next = (next + 1) % SHADOW_OOS_FIXUPS;
+
+            TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_OOS_FIXUP_ADD);
+            return;
+        }
+    }
+
+    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
+           mfn_x(gmfn));
+    BUG();
+}
+
+static int oos_remove_write_access(struct vcpu *v, mfn_t gmfn,
+                                   struct oos_fixup *fixup)
+{
+    struct domain *d = v->domain;
+    int ftlb = 0;
+
+    ftlb |= oos_fixup_flush_gmfn(v, gmfn, fixup);
+
+    switch ( sh_remove_write_access(d, gmfn, 0, 0) )
+    {
+    default:
+    case 0:
+        break;
+
+    case 1:
+        ftlb |= 1;
+        break;
+
+    case -1:
+        /*
+         * An unfindable writeable typecount has appeared, probably via a
+         * grant table entry: can't shoot the mapping, so try to unshadow
+         * the page.  If that doesn't work either, the guest is granting
+         * his pagetables and must be killed after all.
+         * This will flush the tlb, so we can return with no worries.
+         */
+        shadow_remove_all_shadows(d, gmfn);
+        return 1;
+    }
+
+    if ( ftlb )
+        guest_flush_tlb_mask(d, d->dirty_cpumask);
+
+    return 0;
+}
+
+static inline void trace_resync(int event, mfn_t gmfn)
+{
+    if ( tb_init_done )
+    {
+        /* Convert gmfn to gfn */
+        gfn_t gfn = mfn_to_gfn(current->domain, gmfn);
+
+        __trace_var(event, 0/*!tsc*/, sizeof(gfn), &gfn);
+    }
+}
+
+/* Pull all the entries on an out-of-sync page back into sync. */
+static void _sh_resync(struct vcpu *v, mfn_t gmfn,
+                       struct oos_fixup *fixup, mfn_t snp)
+{
+    struct page_info *pg = mfn_to_page(gmfn);
+
+    ASSERT(paging_locked_by_me(v->domain));
+    ASSERT(mfn_is_out_of_sync(gmfn));
+    /* Guest page must be shadowed *only* as L1 when out of sync. */
+    ASSERT(!(mfn_to_page(gmfn)->shadow_flags & SHF_page_type_mask
+             & ~SHF_L1_ANY));
+    ASSERT(!sh_page_has_multiple_shadows(mfn_to_page(gmfn)));
+
+    SHADOW_PRINTK("%pv gmfn=%"PRI_mfn"\n", v, mfn_x(gmfn));
+
+    /* Need to pull write access so the page *stays* in sync. */
+    if ( oos_remove_write_access(v, gmfn, fixup) )
+    {
+        /* Page has been unshadowed. */
+        return;
+    }
+
+    /* No more writable mappings of this page, please */
+    pg->shadow_flags &= ~SHF_oos_may_write;
+
+    /* Update the shadows with current guest entries. */
+    _sh_resync_l1(v, gmfn, snp);
+
+    /* Now we know all the entries are synced, and will stay that way */
+    pg->shadow_flags &= ~SHF_out_of_sync;
+    perfc_incr(shadow_resync);
+    trace_resync(TRC_SHADOW_RESYNC_FULL, gmfn);
+}
+
+/* Add an MFN to the list of out-of-sync guest pagetables */
+static void oos_hash_add(struct vcpu *v, mfn_t gmfn)
+{
+    int i, idx, oidx, swap = 0;
+    mfn_t *oos = v->arch.paging.shadow.oos;
+    mfn_t *oos_snapshot = v->arch.paging.shadow.oos_snapshot;
+    struct oos_fixup *oos_fixup = v->arch.paging.shadow.oos_fixup;
+    struct oos_fixup fixup = { .next = 0 };
+
+    for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )
+        fixup.smfn[i] = INVALID_MFN;
+
+    idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
+    oidx = idx;
+
+    if ( !mfn_eq(oos[idx], INVALID_MFN)
+         && (mfn_x(oos[idx]) % SHADOW_OOS_PAGES) == idx )
+    {
+        /* Punt the current occupant into the next slot */
+        SWAP(oos[idx], gmfn);
+        SWAP(oos_fixup[idx], fixup);
+        swap = 1;
+        idx = (idx + 1) % SHADOW_OOS_PAGES;
+    }
+    if ( !mfn_eq(oos[idx], INVALID_MFN) )
+    {
+        /* Crush the current occupant. */
+        _sh_resync(v, oos[idx], &oos_fixup[idx], oos_snapshot[idx]);
+        perfc_incr(shadow_unsync_evict);
+    }
+    oos[idx] = gmfn;
+    oos_fixup[idx] = fixup;
+
+    if ( swap )
+        SWAP(oos_snapshot[idx], oos_snapshot[oidx]);
+
+    copy_domain_page(oos_snapshot[oidx], oos[oidx]);
+}
+
+/* Remove an MFN from the list of out-of-sync guest pagetables */
+void oos_hash_remove(struct domain *d, mfn_t gmfn)
+{
+    int idx;
+    mfn_t *oos;
+    struct vcpu *v;
+
+    SHADOW_PRINTK("d%d gmfn %lx\n", d->domain_id, mfn_x(gmfn));
+
+    for_each_vcpu(d, v)
+    {
+        oos = v->arch.paging.shadow.oos;
+        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
+        if ( !mfn_eq(oos[idx], gmfn) )
+            idx = (idx + 1) % SHADOW_OOS_PAGES;
+        if ( mfn_eq(oos[idx], gmfn) )
+        {
+            oos[idx] = INVALID_MFN;
+            return;
+        }
+    }
+
+    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
+           mfn_x(gmfn));
+    BUG();
+}
+
+mfn_t oos_snapshot_lookup(struct domain *d, mfn_t gmfn)
+{
+    int idx;
+    mfn_t *oos;
+    mfn_t *oos_snapshot;
+    struct vcpu *v;
+
+    for_each_vcpu(d, v)
+    {
+        oos = v->arch.paging.shadow.oos;
+        oos_snapshot = v->arch.paging.shadow.oos_snapshot;
+        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
+        if ( !mfn_eq(oos[idx], gmfn) )
+            idx = (idx + 1) % SHADOW_OOS_PAGES;
+        if ( mfn_eq(oos[idx], gmfn) )
+        {
+            return oos_snapshot[idx];
+        }
+    }
+
+    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
+           mfn_x(gmfn));
+    BUG();
+}
+
+/* Pull a single guest page back into sync */
+void sh_resync(struct domain *d, mfn_t gmfn)
+{
+    int idx;
+    mfn_t *oos;
+    mfn_t *oos_snapshot;
+    struct oos_fixup *oos_fixup;
+    struct vcpu *v;
+
+    for_each_vcpu(d, v)
+    {
+        oos = v->arch.paging.shadow.oos;
+        oos_fixup = v->arch.paging.shadow.oos_fixup;
+        oos_snapshot = v->arch.paging.shadow.oos_snapshot;
+        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
+        if ( !mfn_eq(oos[idx], gmfn) )
+            idx = (idx + 1) % SHADOW_OOS_PAGES;
+
+        if ( mfn_eq(oos[idx], gmfn) )
+        {
+            _sh_resync(v, gmfn, &oos_fixup[idx], oos_snapshot[idx]);
+            oos[idx] = INVALID_MFN;
+            return;
+        }
+    }
+
+    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
+           mfn_x(gmfn));
+    BUG();
+}
+
+/*
+ * Figure out whether it's definitely safe not to sync this l1 table,
+ * by making a call out to the mode in which that shadow was made.
+ */
+static int sh_skip_sync(struct vcpu *v, mfn_t gl1mfn)
+{
+    struct page_info *pg = mfn_to_page(gl1mfn);
+    if ( pg->shadow_flags & SHF_L1_32 )
+        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 2)(v, gl1mfn);
+    else if ( pg->shadow_flags & SHF_L1_PAE )
+        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 3)(v, gl1mfn);
+    else if ( pg->shadow_flags & SHF_L1_64 )
+        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 4)(v, gl1mfn);
+    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not shadowed as an l1\n",
+           mfn_x(gl1mfn));
+    BUG();
+}
+
+/*
+ * Pull all out-of-sync pages back into sync.  Pages brought out of sync
+ * on other vcpus are allowed to remain out of sync, but their contents
+ * will be made safe (TLB flush semantics); pages unsynced by this vcpu
+ * are brought back into sync and write-protected.  If skip != 0, we try
+ * to avoid resyncing at all if we think we can get away with it.
+ */
+void sh_resync_all(struct vcpu *v, int skip, int this, int others)
+{
+    int idx;
+    struct vcpu *other;
+    mfn_t *oos = v->arch.paging.shadow.oos;
+    mfn_t *oos_snapshot = v->arch.paging.shadow.oos_snapshot;
+    struct oos_fixup *oos_fixup = v->arch.paging.shadow.oos_fixup;
+
+    SHADOW_PRINTK("%pv\n", v);
+
+    ASSERT(paging_locked_by_me(v->domain));
+
+    if ( !this )
+        goto resync_others;
+
+    /* First: resync all of this vcpu's oos pages */
+    for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
+        if ( !mfn_eq(oos[idx], INVALID_MFN) )
+        {
+            /* Write-protect and sync contents */
+            _sh_resync(v, oos[idx], &oos_fixup[idx], oos_snapshot[idx]);
+            oos[idx] = INVALID_MFN;
+        }
+
+ resync_others:
+    if ( !others )
+        return;
+
+    /* Second: make all *other* vcpus' oos pages safe. */
+    for_each_vcpu(v->domain, other)
+    {
+        if ( v == other )
+            continue;
+
+        oos = other->arch.paging.shadow.oos;
+        oos_fixup = other->arch.paging.shadow.oos_fixup;
+        oos_snapshot = other->arch.paging.shadow.oos_snapshot;
+
+        for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
+        {
+            if ( mfn_eq(oos[idx], INVALID_MFN) )
+                continue;
+
+            if ( skip )
+            {
+                /* Update the shadows and leave the page OOS. */
+                if ( sh_skip_sync(v, oos[idx]) )
+                    continue;
+                trace_resync(TRC_SHADOW_RESYNC_ONLY, oos[idx]);
+                _sh_resync_l1(other, oos[idx], oos_snapshot[idx]);
+            }
+            else
+            {
+                /* Write-protect and sync contents */
+                _sh_resync(other, oos[idx], &oos_fixup[idx], oos_snapshot[idx]);
+                oos[idx] = INVALID_MFN;
+            }
+        }
+    }
+}
+
+/*
+ * Allow a shadowed page to go out of sync. Unsyncs are traced in
+ * multi.c:sh_page_fault()
+ */
+int sh_unsync(struct vcpu *v, mfn_t gmfn)
+{
+    struct page_info *pg;
+
+    ASSERT(paging_locked_by_me(v->domain));
+
+    SHADOW_PRINTK("%pv gmfn=%"PRI_mfn"\n", v, mfn_x(gmfn));
+
+    pg = mfn_to_page(gmfn);
+
+    /*
+     * Guest page must be shadowed *only* as L1 and *only* once when out
+     * of sync.  Also, get out now if it's already out of sync.
+     * Also, can't safely unsync if some vcpus have paging disabled.
+     */
+    if ( pg->shadow_flags &
+         ((SHF_page_type_mask & ~SHF_L1_ANY) | SHF_out_of_sync)
+         || sh_page_has_multiple_shadows(pg)
+         || !is_hvm_vcpu(v)
+         || !v->domain->arch.paging.shadow.oos_active )
+        return 0;
+
+    BUILD_BUG_ON(!(typeof(pg->shadow_flags))SHF_out_of_sync);
+    BUILD_BUG_ON(!(typeof(pg->shadow_flags))SHF_oos_may_write);
+
+    pg->shadow_flags |= SHF_out_of_sync|SHF_oos_may_write;
+    oos_hash_add(v, gmfn);
+    perfc_incr(shadow_unsync);
+    TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_UNSYNC);
+    return 1;
+}
+
+#endif /* (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC) */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -452,6 +452,7 @@ int sh_unsync(struct vcpu *v, mfn_t gmfn
 /* Pull an out-of-sync page back into sync. */
 void sh_resync(struct domain *d, mfn_t gmfn);
 
+void oos_hash_remove(struct domain *d, mfn_t gmfn);
 void oos_fixup_add(struct domain *d, mfn_t gmfn, mfn_t smfn, unsigned long off);
 
 /* Pull all out-of-sync shadows back into sync.  If skip != 0, we try
@@ -477,6 +478,7 @@ shadow_sync_other_vcpus(struct vcpu *v)
     sh_resync_all(v, 1 /* skip */, 0 /* this */, 1 /* others */);
 }
 
+void sh_oos_audit(struct domain *d);
 void oos_audit_hash_is_present(struct domain *d, mfn_t gmfn);
 mfn_t oos_snapshot_lookup(struct domain *d, mfn_t gmfn);
 



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:35:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:35:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513250.794001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peusY-0003M0-PF; Wed, 22 Mar 2023 09:35:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513250.794001; Wed, 22 Mar 2023 09:35:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peusY-0003Lp-M0; Wed, 22 Mar 2023 09:35:34 +0000
Received: by outflank-mailman (input) for mailman id 513250;
 Wed, 22 Mar 2023 09:35:34 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peusX-0001jq-VC
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:35:34 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on062d.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e46c1037-c894-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 10:35:33 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7641.eurprd04.prod.outlook.com (2603:10a6:10:1f7::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:35:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:35:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e46c1037-c894-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jk4BzocS6YVlN0qL+ZZX6UuykIhqxcNobLzV+0YEkKi5lE8vXYOcZWN2TPM+AN8F/ElzJ9umoerGJ0zNqRX0L4UT/jxpyoGSJJdKWy4b1yufGUPqPKuEXOYU2bC7ckJFNMmoDunsyh9F838kmcswalAy69YbxdOFVbEdR11p7hPYR4y0/UpHxy4fVbUX9M7g7G6djBhHAyXSIObQSoS0ahYTtetXHoB4wisSNEHtQgXo9BSYA3KmdVMbB/vYKogdOJu+iL4Db4spQVlcIhBo7KzztyjjXZYqijqvRbfkPfAYrCmKNphVilu3rwkrxvLs4/84Ejpn0mC8savPKEyzeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0JpaGfQeLkQ56mz4Rxayz90QR0YFr21pkBgPHbqC+ZI=;
 b=Od+oxtFaVuY0sQfATwdaYxL5Yz9WylvuHhtc6kTPS8QSEixhl3iZmpJcHCwQlM9NYs3tJ5+DwPpWV0V3cZJI3kFrq7V+0BMhHIklxZUitz10g67JT5c900ECb54I34wsroJn0K2O4PJfEioapEjgAMYcu5PLeHzkE+yZssSjf/5tmGa1kFxKGRTWsz4b8pdanbrJIE+nF5XXNKgddp0BJIFl48mm9BM3X0ffAPGRdSjHpwV4qxSZlhCFYjCZP7UmnyFWxAT/7sIKv+jckrYus87mpAFf18YSGVwYJQ4ampF0WTUsJ14NvPF8dI2bW9WGulBjfsVhusvgdnbdKbs6ZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0JpaGfQeLkQ56mz4Rxayz90QR0YFr21pkBgPHbqC+ZI=;
 b=1V876pnophvqlIHINHi6Q0IOxFmwr0BZ1ECxazEVNlW7S5oRAOWn6ASNElUigXG4vM1ic+k+TOWDk5M3Aa6MOUETkc7gVcyeY3iaag8boHsp2wK6Xbz06wr3gulUdz4jmUWtH1i+709DH8Lu75j6Be0xWd4xd5hsy6MdT9HjjFxdIHGRAizuovAYSf49PS/IBQjoAhIhZrKg49CDcyzvCymp6L1V28M9Om64mS59+YjV7zjXbtbYn3XPuMxktTpwwb+rnJKZHF20zLCcHrl44Pr6mTEsMGavwxmvXOxVYzGfdnrjob2/xoWbftD/E64t4dgM1QjhWGdfMWESJXCfsA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5944a3ea-cddf-7ddb-d167-a0a0aa9b4967@suse.com>
Date: Wed, 22 Mar 2023 10:35:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 11/16] x86/shadow: drop is_hvm_...() where easily possible
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0075.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7641:EE_
X-MS-Office365-Filtering-Correlation-Id: a8eeb0ad-8aa0-47ab-ee41-08db2ab8c7e3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RZDRYwvzunbBHDUqZ4sKjLOHB/FJ2iMxeylW1uXqSZQkP/hYgzObql3+/wgvFR/R7H75EkZ2aD42uLa0VrEjw/y0CbHd+luD5Ez2V1i/195AaXEKwciE4rJtj/8IEHdrRtRUQW/KwNdgv0mVKOArDEWWnMJO4Pe4rCnqfubg52Swd3en9kxG21ba+zsxCun4uqhcgbyymXIuviwxYxhpNyoMoJbwedW8As66ZhuxKMLB7A7PVTjskhNGE73FZ/2Ab7APVT9k5nhAtauKvwMDylau4W/mElBPNzxGc/iqjntxdNvAShKZCEpNTba9xWCa7htPWLSmiBdu2qtgh+J/d4tZ51BiHk/pRHqUA1Y01moi/YxiCHyUbNhYt6QHuR5aKQPsiqddvApVdgveV63dFHi/84gkgvdahDuQ1blNJ7VN2gMsDKMYaIIRCG54MYQhqM7MHgCDfid7vaPAG7y62ZdC0cfUDZHVXZVKuwaQnS+sBn6vMG2E7dl/FVGkNh1JZtpJaU8NCIg+c69WvNVIJZSvpdmWnsKI7aolxynWo7Htd9WbCHO9DZ/1lzTbEPn5KneIWvpuH7/yHwc0JqzhjCjEw6ZXZ2N5DcJE/Y2EWpGijxDhRtNH+Q+oisArkAyqNqxTBeNMx/x+6Z6xC0x0y55x4Uosgdk/0O/i6tIP3dKl6J5VitveRtG/cPJF/Vf1W5P0WXMFbu6QwroDpHCQhSiG4ojrZfFWqZ6s2hK+9IQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(376002)(39860400002)(136003)(366004)(451199018)(86362001)(31696002)(36756003)(38100700002)(83380400001)(8676002)(4326008)(316002)(478600001)(54906003)(66946007)(66476007)(6916009)(2616005)(6512007)(6506007)(66556008)(6486002)(31686004)(26005)(186003)(5660300002)(8936002)(41300700001)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N1R3b3RldUk5Nzc4bHk4bUd0dDBBMmVOVDBYOEdCcWFZUTJiUTVlTDVxNVk1?=
 =?utf-8?B?L2NPRFUyS0FuNmJSdUUxaXI3RnMxUjd2bmUvd0thb0RQbjVLMDVRTTNsVTVu?=
 =?utf-8?B?TU0yTDVLdkZlTDBaczFCcEh1WHB6YkMxcDBMK1EwQ09QRVZrWUZWYU5vS0tq?=
 =?utf-8?B?c2Z2ZWgwamFseUpMVXhPN3VQZTcxbkNXTXQ4Vzh2TjUrc2V6Q0JJWllFSkxY?=
 =?utf-8?B?bmRLUmJLdU5haEI0RmVqOHZpR2U1MzJWejVnZEJubTlRamxRRWpkVWNvemEw?=
 =?utf-8?B?ajZlWEpPaWdqdGdSRm8xZnhkQVFVcTdYN25ucTdCWkxKc0pVUCtRYm9zV25z?=
 =?utf-8?B?Si8zdXhvK0gyWXZCbGcwYThOTmx6Rnp6SDVVbEQwSmxSWmt2VnpXdXdDYVN6?=
 =?utf-8?B?RUJxOWszYnlNeGk1b2o4Y2JBNm42ZG5hK3R5ZUVWSzhxenNNbEZUYWwxVTMr?=
 =?utf-8?B?enFXb3g3ZzJhcFBod25Cc3RaNytiRll0bTRtY3VRWGtwVlpVcytWRU5qZ1M4?=
 =?utf-8?B?MjhuMkNsMVdUc1orbHlXSWtUL0E1QllBOERKTGgwUlVHR0RMVi9NRkh5NXl2?=
 =?utf-8?B?eHlDV3pUbCtlUUtHQ3NIcEtaVWlOZFJTSVVjdzNQUjF1a3loRHFYWkQ3bmw4?=
 =?utf-8?B?dG9EeFFLNDNGMk5ZalZyVDl3aUlsUVk5U3R1MXJ3NE5Cd0tNNVVTZk9BMHh0?=
 =?utf-8?B?S0xaSGFTb2ZCenNDY1I2TzhObUVHZm04M3hGMEZtajhKcHcrWjlKdlAvYytI?=
 =?utf-8?B?ZWdFVFkxU3BlUE1YU2xMK2hmcE1yeCtMaXZJdVhuTFFsbUZQVlJEVjNPSnVQ?=
 =?utf-8?B?ZzY4ZHFDOWhHU2NOaDZJYTlwakgwZGQybHY4YWpSRDJJRTI3R1BDOXdLLyt5?=
 =?utf-8?B?MktCR1NyQ0ZtVWNUQnFlcHlkZ2RYUC9nMWI2bG9oZk9pZUZRU3dQYW9CSUxL?=
 =?utf-8?B?ZXpEOHVtQW1pQW4vbnZic3FVTDJhNkgvcHJObk50bDRJSVdEU1ZvVW5wa0Y2?=
 =?utf-8?B?NE9veUcrN0tqamNVOTNSL0YwdlVJTE5Td3N4bzhSSi8zT2VxVjZ4TmFhMXNv?=
 =?utf-8?B?L2Y4cVNDbDBwUjdWVW9CZUFWZHdrdWhZWXNuNnM3QU9PRXpYQ2E5SlA5N0dT?=
 =?utf-8?B?VkR5MkVjUE84bnRIdXpmTXNHOWhGK2Nycm1sWmV3d1dHZGZWbW1aRlh4a0RY?=
 =?utf-8?B?cWdWdVhtZjErdTU3c2JjeEtHdXlOQ3hRUGU0THlyUXhhZ3RYb1g4ZndiTEpL?=
 =?utf-8?B?OU8xYVlXYWZTNFVBOEMxN3ZxYVhkQWJQNUVUM0dJa0dWMmNkVDE5RitRVlVW?=
 =?utf-8?B?dXN6T3Y4RHlHUDBCRk1lUitBU0hIK0lxVXpOS1hJdFl0WEZsS3lic0dtNVpP?=
 =?utf-8?B?MmUrTSs4T3NyS2NYSHUwUGJLalJwdVZWanhLeVNjcUxPeXU4eDdIZTl4RXpj?=
 =?utf-8?B?d1ZZL1ZxbmxDdnZsSEpFcGc2YnI0bVRLcUNzMHFvaHRGVS9ZbWk1UUN0azds?=
 =?utf-8?B?ZUVNdWdOQmtVT21KaERDODBYTWk3SVRHbDhFODBTYTdoa1BOeHdZQjRudGNm?=
 =?utf-8?B?VmRZbzZFd0syOXU4TWlBajZMb2NaRThhalVEdW5zRm1lL20xVktzb2tUNmY3?=
 =?utf-8?B?bG1CMitoZjg5dFVRVktwOVo4TnFiL2U4dHBYQStNTUJRbmZ0UVJuOFV1UjJX?=
 =?utf-8?B?NURQMWtSZ1hmRXQvQWFzbDR6YjFKR1lWK3VmcjVQeFRMVTJ6a1J1amt0ZlhK?=
 =?utf-8?B?THlNQUpRcC9qRGJqTWh0VGlRdFk1aUl3Q3NLTmJVRVRwNVVIbGRnZkVVUm1q?=
 =?utf-8?B?QlNIOXFRZGFLbEE5QS93WDZEZzVmTzRyLzJ4eXJLREUvZG1aTG03cWJVeEdh?=
 =?utf-8?B?TzBtMllESGJmZ2orQmlXbS9Uai9sSElvN2hpOXNoMUtqRzk3ZzdGRTh0VHFC?=
 =?utf-8?B?VGJuNm83a1lScWRiZmNBc1JuMExKeXZ0Mkw4MUVOZlozNjlqdkc3enArUFZS?=
 =?utf-8?B?L0lTdXoxaVU4c0dYY202MVJyR3dEcDE1MTk5TzNhMTBpY1BaMXFWYWhuSEtN?=
 =?utf-8?B?cXBVT0tkeGwzcDA0Z2NNOC9UTElhb2ZmemlJVkdxMFErZ0VIcjRFNkYrc1R2?=
 =?utf-8?Q?FKn1FulM5z+0Q75Rc26aSHsPy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a8eeb0ad-8aa0-47ab-ee41-08db2ab8c7e3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:35:31.9947
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bVH4EUnqt20qmNFlTk9Bp2yCtaNZ6Z8ALOyxEtdVIo5VBisr6Zt+RrmZDHVGptMGMGLg57QagvRE/Y9FxzkyLg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7641

Emulation related functions are involved in HVM handling only, and in
some cases they even invoke such checks after having already done things
which are valid for HVM domains only. OOS active also implies HVM. In
sh_remove_all_mappings() one of the two checks is redundant with an
earlier paging_mode_external() one (the other, however, needs to stay).

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -1522,7 +1522,7 @@ int sh_remove_all_mappings(struct domain
                && (page->count_info & PGC_count_mask) <= 3
                && ((page->u.inuse.type_info & PGT_count_mask)
                    == (is_special_page(page) ||
-                       (is_hvm_domain(d) && is_ioreq_server_page(d, page))))) )
+                       is_ioreq_server_page(d, page)))) )
             printk(XENLOG_G_ERR "can't find all mappings of mfn %"PRI_mfn
                    " (gfn %"PRI_gfn"): c=%lx t=%lx s=%d i=%d\n",
                    mfn_x(gmfn), gfn_x(gfn),
--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -204,10 +204,6 @@ hvm_emulate_write(enum x86_segment seg,
     if ( rc || !bytes )
         return rc;
 
-    /* Unaligned writes are only acceptable on HVM */
-    if ( (addr & (bytes - 1)) && !is_hvm_vcpu(v)  )
-        return X86EMUL_UNHANDLEABLE;
-
     ptr = sh_emulate_map_dest(v, addr, bytes, sh_ctxt);
     if ( IS_ERR(ptr) )
         return ~PTR_ERR(ptr);
@@ -258,10 +254,6 @@ hvm_emulate_cmpxchg(enum x86_segment seg
     if ( rc )
         return rc;
 
-    /* Unaligned writes are only acceptable on HVM */
-    if ( (addr & (bytes - 1)) && !is_hvm_vcpu(v)  )
-        return X86EMUL_UNHANDLEABLE;
-
     ptr = sh_emulate_map_dest(v, addr, bytes, sh_ctxt);
     if ( IS_ERR(ptr) )
         return ~PTR_ERR(ptr);
@@ -457,8 +449,7 @@ static void *sh_emulate_map_dest(struct
 
 #ifndef NDEBUG
     /* We don't emulate user-mode writes to page tables. */
-    if ( is_hvm_domain(d) ? hvm_get_cpl(v) == 3
-                          : !guest_kernel_mode(v, guest_cpu_user_regs()) )
+    if ( hvm_get_cpl(v) == 3 )
     {
         gdprintk(XENLOG_DEBUG, "User-mode write to pagetable reached "
                  "emulate_map_dest(). This should never happen!\n");
@@ -487,15 +478,6 @@ static void *sh_emulate_map_dest(struct
         sh_ctxt->mfn[1] = INVALID_MFN;
         map = map_domain_page(sh_ctxt->mfn[0]) + (vaddr & ~PAGE_MASK);
     }
-    else if ( !is_hvm_domain(d) )
-    {
-        /*
-         * Cross-page emulated writes are only supported for HVM guests;
-         * PV guests ought to know better.
-         */
-        put_page(mfn_to_page(sh_ctxt->mfn[0]));
-        return MAPPING_UNHANDLEABLE;
-    }
     else
     {
         /* This write crosses a page boundary. Translate the second page. */
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -3441,7 +3441,7 @@ int sh_rm_write_access_from_sl1p(struct
 
 #ifdef CONFIG_HVM
     /* Remember if we've been told that this process is being torn down */
-    if ( curr->domain == d && is_hvm_domain(d) )
+    if ( curr->domain == d )
         curr->arch.paging.shadow.pagetable_dying
             = mfn_to_page(gmfn)->pagetable_dying;
 #endif
--- a/xen/arch/x86/mm/shadow/oos.c
+++ b/xen/arch/x86/mm/shadow/oos.c
@@ -577,7 +577,6 @@ int sh_unsync(struct vcpu *v, mfn_t gmfn
     if ( pg->shadow_flags &
          ((SHF_page_type_mask & ~SHF_L1_ANY) | SHF_out_of_sync)
          || sh_page_has_multiple_shadows(pg)
-         || !is_hvm_vcpu(v)
          || !v->domain->arch.paging.shadow.oos_active )
         return 0;
 



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:36:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:36:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513256.794011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peut1-00047o-2l; Wed, 22 Mar 2023 09:36:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513256.794011; Wed, 22 Mar 2023 09: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 1peut0-00047h-W1; Wed, 22 Mar 2023 09:36:02 +0000
Received: by outflank-mailman (input) for mailman id 513256;
 Wed, 22 Mar 2023 09:36: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peusz-0001jq-Ga
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:36:01 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on062e.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f4e0f30a-c894-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 10:36:01 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7641.eurprd04.prod.outlook.com (2603:10a6:10:1f7::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:35:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 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: f4e0f30a-c894-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BrCAUnBywKtY8ZQ6FXXQzx5sfC4rqLyIjbjXkpYzJ1d0gFPx0eIiKUcUY7bhMPCEPFJWZqOH26kEDB0ygtUMEcisuDIuprohlDN0g1bT2snJ5w3dHmWin+HASgp/YccLDR3oRv9zoDJ8Mf3jZ2il/PuiSf+CE94THZXcCmgTsgF5RfU/qMk2DyOfukKwmO2Ta0weqQrWdbSu4YYnFhNsgf+oA7/Og0MxLMdZo0uPTgnJmDBIDwfG5h6pIrbJ8++mz4Gb22HFFVlhdPoBmC8niJkiEZKd9DyX23KDGxGUqjlvaPQc+eS1onSRpoPNyfjD+RhgRF23x81PLch+cACtDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UD+Cm4n1hMaiv0YQYjnlNZKs67pHNL/O4K2oCASMyfw=;
 b=JgdODgcEgga9wAiyeifR4A/bj9S59s2TDEeMznZ4v/G2YocYOrK8VOZdDrZ1vFFjpXWk3GAGBRGKPTH99a/gvGiOfK1yxZHq8c9W6gCuneb1pCPQPtEEHzjCWsCzr5OgPJg3hmuJpiNTbP6mjZyMDffmwO1kInJA47yw57+BO4OhmbSzMfuASs8DhQGBhSgkVGh4wRLAZS00JLHh/qVVcsRmX/lp20txTEzur632QFJYuWQ81UcT04KGmY8R2PCtLJAkdsPxb3OPOs5KSPoiagyOlH/n07NtNnRQm/R5kHgUjyjXb1DVKbizqoB6diK14T6tebd+IbuJKKjKwNMj8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UD+Cm4n1hMaiv0YQYjnlNZKs67pHNL/O4K2oCASMyfw=;
 b=xZQpZrnXgN0AJj5uEji76qTOSc3BdiB5NMQBPNV6IqpqKXe5jUdc3rwR+v74oCXv2nO07pkbQ8T2hdRkt4mborZ+lpPtQCE5ZZzkkUHGtBq36TS8GCVTpIIPThhWaDd6VtvBhV0Hdgm6dgjjcyRgx1FiSKrUsm8w6gD5F2PddPe7W48v4BjEWaw9b4y7doAJ1ntAFfAh3nlEYjdJGCOMdqPUHGhknw2mmOcXgL0wIaF3ApvTygH6sM3bJqbx3ScPPDYLcTQr1lfajrg4fgXUWhOD2LLomg/7GLyrvQ+FvurnHNANdfLpu8EfVbykXCMCdYFbYtyGn7m7y53Xy7cxBQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d6ef377e-731e-faa4-aa43-ef40ea34be07@suse.com>
Date: Wed, 22 Mar 2023 10:35:57 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 12/16] x86/shadow: make monitor table create/destroy more
 consistent
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0090.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7641:EE_
X-MS-Office365-Filtering-Correlation-Id: 1bafbbeb-5ce6-4fed-28fd-08db2ab8d837
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CrKsTN6f+u1fptsMZUPigNOt8rPKzbcYc3qkX3sUIiqciz+nyqUXr+wUr/mmBfzw+yrtpkWxZJcHtSHnvLjyQ4h9mXq6/oOeAAByKTmE6QYHoa3xG+Gx+Qn4V3ClMG4+12O7FY0PTUTnQGxNdR8MuQY8KHaOr0zS+tK1oob4YhzWqArWHJB8K9bmqVhG78MUb9niN/8Ft/aqqy6rCcooVGZme1LtSRvMAODQrNXZz4QEqdbHWvnX64BAKML3V5D/Z7HrJjdu5FVN8cNZMy46VYx1DigwJZZ5KJcuUOjihdwwRUtGJie9x7/ONAekcG1QxpyxhbgLkIvms6wkzNZ7qc+gp02wOVcyaLcUyu9sr4ClTRl1TT1LBVpv/btXiIMdy4/wRhXjSZri0gMzb5LZqMb0c0btDXWF0yrfMAZYnbhie7Hh9PJtmF1vEUmg0T8gkfU93r4uM2zgjTQ0tSpzDTc5BeC1sW37KzkKbvUlNAjnqNGmyDU2lNpTH1tyVNEB4mTQ6vARinb/d4h/vdpUO55oDrG7ePinRch0jhx6ZCvXs6EpTGTYQ3/Opo02MgI0oqmASMWqtyEQV3oUkc9x5gcU7ZCqmXWJCs+YDqRNsGnGBHEJEAetP/MT1ICVlZs1CLHYA5SKn0GZYDYTdnTBw1JqSKC+ksw3Qd0n11WkkCcsyBKGYtKrooR/qC+sWqRqW1tThj0LKRlZvBMZf8S5T/W97Za3HOHlxKgIGUz04no=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(376002)(39860400002)(136003)(366004)(451199018)(86362001)(31696002)(36756003)(38100700002)(83380400001)(8676002)(4326008)(316002)(478600001)(54906003)(66946007)(66476007)(6916009)(2616005)(6512007)(6506007)(66556008)(6486002)(31686004)(26005)(186003)(66899018)(5660300002)(8936002)(41300700001)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SE53RklnNXVkMUp3OER2YzBXK1NPL3dvcytXclZ0Y3NkRnkrWEx2SXY2dlZB?=
 =?utf-8?B?Ui9seUh5V3Z6OTFqdXVRemdwa3B4TDg0RVNjbWkybWV1V0dZQU93MWNZYVZU?=
 =?utf-8?B?QmtPWWZMVTlKdDlvN0M1UENVWEtUbTFtNjFPaFc4MUN4Qk55UnJ6VmFNWU5k?=
 =?utf-8?B?eWw4YVljVHN3enVqMTBQbldGWEN5Ulo5YmgzZGh2TXpSbnJaVkx5MkpDY2ts?=
 =?utf-8?B?SFZ6SGN0M25wakt2U3FjYlU0WlMrcFZ6bFVlbjZ3UlN2MVFsNUl3VGtramk5?=
 =?utf-8?B?NTJKaWNiOWM5Si9veU0rbUFLeEVEcWEraWRzUGpGdU02U1NlQkVna2xrQmhW?=
 =?utf-8?B?T1FFSkxzUGpDeDQwNXdnRlBuUkI0alR5VnUybG5ENnZZODlaY0xlYys2dEdT?=
 =?utf-8?B?U1dhYkZhUmpRdzU5ZnNodUF5eGIyQmZBcUhuZ21wZndpR3JJSGhhVTAyUnJu?=
 =?utf-8?B?REpaR2N3QnRySXZFTmltN0kvZXlKa2dDMnBpMm1YRUppNXhpQ0tpN3FZR29I?=
 =?utf-8?B?UGI0a2lxU1pFclRrWnAyQlFLcXoyb0tVQzE4eDg1cGtza1Zyck5VUTF2SWVB?=
 =?utf-8?B?WExBcVBrbFVhTDgvUnp3c0pRbnBaSmtGWVRhcERQYUVXQ0xEaWpqcXplM2ky?=
 =?utf-8?B?ZG1oWU1LTlhWR2VqT0V2V2tkTXVmMHlmem9JTnBFRncxK3N5K1FZMkQ2L1BY?=
 =?utf-8?B?L1ZyTkt6bWNJOG1wQkdEVWE3bjlUVTh0R1YyS0k0MmhaeE83VWs5UzgxVFIw?=
 =?utf-8?B?aElEeWFXdmF6UWxuRHhiSGpnZzdCVzduQWJ2T1dqMkgyaUs5bUhpL0JCTVpD?=
 =?utf-8?B?RWw2dmVjZ0phVkFPQ1d4dlNJZEVyWUw1S214WTdEbHRENjcrbmR1eldabUFQ?=
 =?utf-8?B?SFFiZVRZN2tpVjI3OTc3OU43NGhkZEFUUFhGcXZtZHhwbW1jWktlbm00bEY1?=
 =?utf-8?B?RGw2OVJTQlk5NmVzZktoclRURkZrY3ZhbWxkUHNoWUQyMzV6dmxlZFF0Rk1p?=
 =?utf-8?B?SEI0OFo2YmJueFlQakk5RjVWSUVVRXZVbEVPeVR4M3k5T1pkNWRoNSs0Ymxn?=
 =?utf-8?B?aXVGOTNmc2VHUUFxakJORTNpc1lwVUs5ZjJVbHpubFozNG56Qnk0MkgwSzdM?=
 =?utf-8?B?dEJzc0lVbkY4eFRScU1QenkxeUN1WHFsWUd2bjVPUHZUb0VRR1R5WmtPMmor?=
 =?utf-8?B?azhEckRvb0kvOWY5MkUwRDkweUp3WjFEUFhxWHdWaDR1MzMrVEhOWWFCSmRh?=
 =?utf-8?B?SzJPNm11Y2xJV0lzTmQwZ3ZPcGxhR0VMTi9lMEhJZzlORHIzWWswcFR5M1J2?=
 =?utf-8?B?TE5yNUsyeG0wTVlGN3JWMHNacjJDd2pXRHVENk1JcG42L2MrQzB0TnJXbko0?=
 =?utf-8?B?RU1pcjhyS1FpcUE0RUQ5eXVWQ2J3TERpb3hOUDUramY4UUw2bklpbll2eXQr?=
 =?utf-8?B?MVFVdkRjczlVS053d3hMNXZOdzZCV2dFR0xSWlBzY3ZMRW43cnBaRjVTNjZ2?=
 =?utf-8?B?alVxUndEaXZqbVFMUitEYUhLQ0VCWHc3TDREViswMFhoc0x0bEFNam9meHZT?=
 =?utf-8?B?cnlvYWJLYjREclhUSXN5OXc3MFMrT21TVUQ4Nk9jWWphNi9HK1dTSWdOaGxq?=
 =?utf-8?B?d091VGlIN1ZZMzZTWjZXL0VvK2RQK2kwUUFmN3V2TFVacE9wTVpnWmNjRE1T?=
 =?utf-8?B?VzBGTzZtTkxZemU5U3A4WnV6T1dZWGEyNzdhRHZNelgyZW9ObWUwYlBhdE1B?=
 =?utf-8?B?M0VLcWM4MDVDTTF6MEVWSENEdjlWeVljRW1NZVc4Y2xGaHhKRURMQnFrY3pa?=
 =?utf-8?B?WkNqUDJ6Uk5CVTFPcjU0ZmR5RTNzcHREUGsyRUdnTEFrY1QrRDJ4OU1yaW9K?=
 =?utf-8?B?MjFzQlpVekJGaDZueHE1SVpabWRTU3hQeEZtVmZsZzlPYlRYa2ZQOG9iUm1z?=
 =?utf-8?B?dWRZd2ExNHJXeEo0VjIzTis2UUh1R1FiOXBIcVVibVdNM01ncTdGYm5mbEhW?=
 =?utf-8?B?TlFpODBTZUZabFBNLzBmZlNqbjZyUHRIK3hwajlEUzRyck02NmZXVUg4dUY2?=
 =?utf-8?B?ZkMwTi9xSVF0Z1lHSlFxTlNoa242NDhVQ0hpY0E3a3YzT29iZUFkbmRCUjZY?=
 =?utf-8?Q?mZRr4xQjMev+bTWnoiJ37zS39?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1bafbbeb-5ce6-4fed-28fd-08db2ab8d837
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:35:59.3837
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Qssu2Omg9wHLTslHR6lk2EUlFAvv9+RSHVUTgMHThOCzfRy7tGjLF/w0TY8W8lwo1riZUmrnq+hA6Y1wy3J5UQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7641

While benign at present, it is still a little fragile to operate on a
wrong "old_mode" value in sh_update_paging_modes(). This can happen when
no monitor table was present initially - we'd create one for the new
mode without updating old_mode. Correct this two ways, each of which
would be sufficient on its own: Once by adding "else" to the second of
the involved if()s in the function, and then by setting the correct
initial mode for HVM domains in shadow_vcpu_init().

Further use the same predicate (paging_mode_external()) consistently
when dealing with shadow mode init/update/cleanup, rather than a mix of
is_hvm_vcpu() (init), is_hvm_domain() (update), and
paging_mode_external() (cleanup).

Finally drop a redundant is_hvm_domain() from inside the bigger if()
(which is being converted to paging_mode_external()) in
sh_update_paging_modes().

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -129,8 +129,8 @@ void shadow_vcpu_init(struct vcpu *v)
     }
 #endif
 
-    v->arch.paging.mode = is_hvm_vcpu(v) ?
-                          &SHADOW_INTERNAL_NAME(sh_paging_mode, 3) :
+    v->arch.paging.mode = paging_mode_external(v->domain) ?
+                          &SHADOW_INTERNAL_NAME(sh_paging_mode, 2) :
                           &SHADOW_INTERNAL_NAME(sh_paging_mode, 4);
 }
 
@@ -1811,7 +1811,7 @@ static void sh_update_paging_modes(struc
         sh_detach_old_tables(v);
 
 #ifdef CONFIG_HVM
-    if ( is_hvm_domain(d) )
+    if ( paging_mode_external(d) )
     {
         const struct paging_mode *old_mode = v->arch.paging.mode;
 
@@ -1864,13 +1864,12 @@ static void sh_update_paging_modes(struc
             make_cr3(v, mmfn);
             hvm_update_host_cr3(v);
         }
-
-        if ( v->arch.paging.mode != old_mode )
+        else if ( v->arch.paging.mode != old_mode )
         {
             SHADOW_PRINTK("new paging mode: %pv pe=%d gl=%u "
                           "sl=%u (was g=%u s=%u)\n",
                           v,
-                          is_hvm_domain(d) ? hvm_paging_enabled(v) : 1,
+                          hvm_paging_enabled(v),
                           v->arch.paging.mode->guest_levels,
                           v->arch.paging.mode->shadow.shadow_levels,
                           old_mode ? old_mode->guest_levels : 0,



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:36:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:36:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513259.794021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peutW-0004gr-At; Wed, 22 Mar 2023 09:36:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513259.794021; Wed, 22 Mar 2023 09:36: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 1peutW-0004gk-7x; Wed, 22 Mar 2023 09:36:34 +0000
Received: by outflank-mailman (input) for mailman id 513259;
 Wed, 22 Mar 2023 09: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peutU-0004gG-J0
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:36:32 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 072af97f-c895-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 10:36:31 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7641.eurprd04.prod.outlook.com (2603:10a6:10:1f7::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:36:30 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:36: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: 072af97f-c895-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bqWKzpJs2zGFEQpjTbCLJhH45ge/vnrvMXDsrMze0I7fT/E3u+fNB6iT6L+WAoHfjNmxZDZl5Pg5Z/Cqzk4H7k+KQr+yExP8OX8EiLelo4pYgoJ752gsjESCAhj93Ghr/sVcy2AQxnaAiDo3vcDjyeG2CiDvOOGJi65o5OMNEbD7Q3EqcobBSgphZQaE3sz79WUj4KADh+2ccAZDMNwpm5dPvWZKRfgE49Hu9nNXKJDUHyKPl4Uin7F0sjI6SD2rxGLiaya/jv4YnUEDQGJzDOjgJGRn00IakOoPsuMgEJUC/ZXlbxCrFvIKymPVfUhMEI+KYw0t8lOp17WzhdN2tQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=49lynVsPvUKe3NRmbj2l3SPJzRr48ByaR2NLWqRe4tA=;
 b=AeoLxzGN8qDvBh7cHyW6B76s/aSaTnXXEFIurjH3hhZ6vVRBUe6Ft+s48Nc624LwfBCqjQBuQ561fsY7i/Tt0jBiNx7UMclCcYwRNC51aD67dETf7lEsLO6C/r7zsU2b1vSSFVrR+BDpQZvFETkE5x29X+nDmOqllKt2ZI09Ra4jJwadAHwQhmStiypGBfKsC/2LIx/Qp6UzRw4ZrHKwdko/Jletuufb5060ujZ3LEG90xLNZ2MpPMfxa7DOds7EfSwidB72McQX8nnpR+AltmrcRTFsoPn3TEVUYc6ytMwFoRMb9nkid7uSGzHfS3zM24rTBZOo3jWLHhwZ/s5TvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=49lynVsPvUKe3NRmbj2l3SPJzRr48ByaR2NLWqRe4tA=;
 b=TfXGYLDl13YODTXJLVz+2nmV+L9Brlu/NcXNI9Gj3LYvIFmDjm3YFgeBaHeYWf2gNnYG1So/FCeFBB8hhQYkXeERmC6bzGMgy1QEx0V8Stlcx9dUFyZH+2raUCagan63H3pMkcZsfC6p5GenLGamqXsc7i/wT+8DcZGwCOqUWDeG4mX50H4+THVUBh4Ngh7Vf4OJHWHp6hvLtRKgfBR3cIE7jR12mnDGVrVutsz2keAIFPpMqqaZR6d1Q8RaGt4AEFK2yeeSoucDS00uF6cG49LAir6kIqFXx0IIltSswcmGZ16Z7efKH8MbgZRXBLcKFCsQgHebLb5PT61bLVLabw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c9905eb6-85ed-e793-e546-472503fe3bff@suse.com>
Date: Wed, 22 Mar 2023 10:36:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 13/16] x86/shadow: vCPU-s never have "no mode"
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0052.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7641:EE_
X-MS-Office365-Filtering-Correlation-Id: b2925894-c725-4e64-1af8-08db2ab8eab1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sXm1oaLUvtSMJk8fztQYtCCauwUJ79bgL+IVJvzv598YKWewselL2zX+2PhTKeVVk5xH+RwYeSM/xR748uX2w2nTId/5+CaUfpGBQ11L9wYAqdPSFAXK0N3xOSV7VZKHoyHRMq4oyCnx97tPGwn+cD+DlHocl5N/UU1dhMw5nzjWz/UGeD6dFxDGlncFuqq7VcCHJUdqXRsKN1OCPOyrgbYxxUZ2oOCpZDQVNI2C9GI4tYnshhpQJTyrHZyXAid5kvj4lD0/jw6ygBfElYsLImHB/tm+h2xRcMZShtFNY1RmU9frzfHlgGfa/ARvMlGmzoDmQDnAACijTD9kHwGipXjaC7+BfhWUckW3yYjrzGgw6UdlpdnODUABjwBta1te2T9DzwivZ329g3wU2Gfa2lw59Adxikyl+l/C3EBdGNkmSGIy4AwiHf1vkGuGTOwcdqy7Kz9pAY0l8uvgjtStoETvm77ngyKKDJHXFsoyPUSZr1xsJO3jv85uwIgmwpDjfpqkk5k4RpxU5bnFbBq5mQbwFzO53x28YIUZmxxIpbJIzW7NuGHLwHxusnmS++MadzoIZFAp55wt92H+hfs3qdNpK46nQO5wfMxctfAXINXdlytzQU7CMWCe5zC/xdp5fT9Lf0AonE0uv/EalBNsEfZ3/J25R38Ik/tnn6s7Htyu7VxGxSD7umFDRRJPXJKio+LEH+BB2VMs4C9vZPcEUqJY+9Df3tQ57J9rpDSrQsM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(396003)(376002)(39860400002)(136003)(366004)(451199018)(86362001)(31696002)(36756003)(38100700002)(83380400001)(8676002)(4326008)(316002)(478600001)(54906003)(66946007)(66476007)(6916009)(2616005)(6512007)(6506007)(66556008)(6486002)(31686004)(26005)(186003)(66899018)(5660300002)(8936002)(41300700001)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TVpPUkdpOVRiZlVpSm5Xd0YrTk1CVlVKalFOVHYvN3BGK1pNWkV3Y211V0pp?=
 =?utf-8?B?YU9yS3JUSlhHSWVKNUdud0l4Z3J6bVk4TVR4UWU1VzZvMklwNmhyMzEzZ0pD?=
 =?utf-8?B?Qys0b0JnajB3MG5JOVVhbGxIWjAzdVdLVEwvNDZjUkNJbXRibndraEI4N2pt?=
 =?utf-8?B?em4xU0FFbW0wTTNqWFArOVdpOFdzeTRxRDlxeUFDRzRraGNENk0xZVA3ak9Z?=
 =?utf-8?B?Ynl2RHA3NU03SG9MaHhxL1YxdDViWWlGaW9zamN2ZGhRUzVYS1JBOFUzOTBU?=
 =?utf-8?B?bVYyZklBU0tWU2ViNUFldWZtKzFOMmlnVXhjUSt4OWs5c0pLSS96UFo5Z2x5?=
 =?utf-8?B?Mkk1Y0ZlL2M2Ni9hNDJmMHRBV0dkNDlKcnlOeEplcXQ4M1FxaHpVNmJuSFZQ?=
 =?utf-8?B?SlloYmVVWllROE5yalN2UkxyRlEvUjVYQXcyTEpJd1VmWmtia2JTSUVRL1Bt?=
 =?utf-8?B?N2FvTjNmam45UkwzdXk2b3RYdlVGcUxIQXBydUphcDMrZTE1OUFMb1lFaTQw?=
 =?utf-8?B?NCtPWFppK1dMTVJzMEZ2cER5WnlJNE9tbjZ4RzhOMFFLSnFMVFVsaXJ6T3lB?=
 =?utf-8?B?Nk9qRGs2RkJwcm5pWUxwU3RRQWRXT3FISGlkbGlMdzRTVXRaeVpaL2ZMejJR?=
 =?utf-8?B?TmdLYVg5bkZ2c0xVSVJjWWpjSUlNek00RUJuRVFLZ3hEVU9MMVAybkVKRnlB?=
 =?utf-8?B?eXgxZjlOdktrd2xHSitIeGVnRXgxNnJNaCs3bHNJeCtzSWJ5bVhvbmxaR21y?=
 =?utf-8?B?elFicjArMkl1ZHgzeFlER2tFS1QrOURSSWUrd2VvWGxjejhUcXc4T1lXelRi?=
 =?utf-8?B?bG1MQ3U4MHV6cnVacHVMY295UU1Wc1ZuRzVLa1dBdnpKeUFBZi9LVW1TUmtT?=
 =?utf-8?B?Q1Q3SlV6M1JuSWVyUS9nK3RMY0t5YVhDZlhLVlhPQ0JBZzJtelhZTnJZZ0Rt?=
 =?utf-8?B?Q0NYVFAyN2RiQWVBajdyb0hYck1EazhxNU90QnlTZzF5dGxqUTFKRWlzUzli?=
 =?utf-8?B?cmx2NXpGQlQxejI3M2x4QjNEdHkvUnZRM3RmUEJ2NldZSExkNkw5NCtmb1V6?=
 =?utf-8?B?cmdTc2tDWTN1WXQ1UWxMdjVYSXMwNUxmdWpsZ3p6UDg0SVA4S3hJakNoMm94?=
 =?utf-8?B?UnFhaExYTXpWaGhESXpsOWtoVXExdUUxeVpoRXJZQXBSQUZVNU9aQW9iZ0Fh?=
 =?utf-8?B?bDNEYTRlRTl3SnRtalpueTVXUlluUEljcjFXdnN0MVVMNWdkYXFPb2IrVTZI?=
 =?utf-8?B?cHcrcnp5MXVDRloyOUh2aG9OVmJQTnRBKzdUSiswMFVaYm1Qa210VWVhSTQ0?=
 =?utf-8?B?ZEYwV0RoQmM5bjdMVFU1TStoUSswdmNMTVFZZ0lkck1EZmxwYk41NXRWTnZw?=
 =?utf-8?B?T09hbjdYTllsbWRtVGk2My9tMk9jTHZRY25EUDlJUFVsRWJRL08vSUVXUmJa?=
 =?utf-8?B?cDFFWkxrL1k0ZEJ0UytaMXR3QnhOTHkwdEsxU1o5Y2Nrd2NSZXlzMVJEOUVi?=
 =?utf-8?B?N1M0YVlYcndRMWtoUWU2TXJGb25IeHdjbnJubFJOQkFrREQrR0FuVWRRUXB1?=
 =?utf-8?B?KzJTTWcwV1pnK0M1NlFCbEVma3BoK0NMYU9yVzdDeEhMNUxJZVlScWVpVzJw?=
 =?utf-8?B?Q2tmMWVXY0E5UnliYmJjaGQ1U2JmWHFQcTFNb1VBYWVYUWp6QXZHekRNejRw?=
 =?utf-8?B?UFAwTFFsZHZxR1ZjMGhxTmxUSDkyb1Y0cXEyeDZMcEU2VFR4WXNPdk9zOTlY?=
 =?utf-8?B?RWJDc1lWbm9mTWFCRmFQZ0E2MFZ3QzRaTElVL2xxSzdZVUN5NzY2akVlYmpH?=
 =?utf-8?B?Y0R1TG9DdElJcmVtQnp1ekFmc2xUK1RaUDRCK2tuS2g1My9lV0hqS0V3dGdP?=
 =?utf-8?B?Um5zOGU1LzBRZ24wL00veDlwN0lENStFSFZwSzFlTFp4VE5aYVEveE5OTkpP?=
 =?utf-8?B?d3A0cVQ1TjBVUUhXRFZVck1VR3pKVmNSVStmZkJWU1RsRERSaGs4WnlFaytK?=
 =?utf-8?B?cEpNbEIvR1dnL3N3MXFhSlNFZHVqeTgrTlFZRWNuYzVGcjdpWElScjByUEVq?=
 =?utf-8?B?K2Jaa0N1UHgxNjVicXNCaG4zNXliK0lFU0ZZVFZVZkU5cklPWW9GVUpNeGtI?=
 =?utf-8?Q?dnzZeZWc+ekWqhLe1VrY+2nSs?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b2925894-c725-4e64-1af8-08db2ab8eab1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:36:30.3818
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5Grlt6sdbNUmP+0Da2NqybuVVG/RpnFcroPtY7tW2Z12GgMCpjRlCwuuQt54Vr36YjdyR/QygXlgap3xHzko7Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7641

With an initial mode installed by shadow_vcpu_init(), there's no need
for sh_update_paging_modes() to deal with the "mode is still unset"
case. Leave an assertion, though.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -1864,6 +1864,8 @@ static void sh_update_paging_modes(struc
             make_cr3(v, mmfn);
             hvm_update_host_cr3(v);
         }
+        else if ( !old_mode )
+            ASSERT_UNREACHABLE();
         else if ( v->arch.paging.mode != old_mode )
         {
             SHADOW_PRINTK("new paging mode: %pv pe=%d gl=%u "
@@ -1872,11 +1874,10 @@ static void sh_update_paging_modes(struc
                           hvm_paging_enabled(v),
                           v->arch.paging.mode->guest_levels,
                           v->arch.paging.mode->shadow.shadow_levels,
-                          old_mode ? old_mode->guest_levels : 0,
-                          old_mode ? old_mode->shadow.shadow_levels : 0);
-            if ( old_mode &&
-                 (v->arch.paging.mode->shadow.shadow_levels !=
-                  old_mode->shadow.shadow_levels) )
+                          old_mode->guest_levels,
+                          old_mode->shadow.shadow_levels);
+            if ( v->arch.paging.mode->shadow.shadow_levels !=
+                 old_mode->shadow.shadow_levels )
             {
                 /* Need to make a new monitor table for the new mode */
                 mfn_t new_mfn, old_mfn;



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:37:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:37:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513264.794032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peuuD-0005Kk-NB; Wed, 22 Mar 2023 09:37:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513264.794032; Wed, 22 Mar 2023 09:37: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 1peuuD-0005Kb-K7; Wed, 22 Mar 2023 09:37:17 +0000
Received: by outflank-mailman (input) for mailman id 513264;
 Wed, 22 Mar 2023 09:37: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peuuC-0004gG-1W
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:37:16 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20609.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 212db34b-c895-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 10:37:15 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7526.eurprd04.prod.outlook.com (2603:10a6:20b:299::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:37:14 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:37:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 212db34b-c895-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XFvqM1KPxmtdbYXZqIDWhEjl+u3JlLZYGPxUL5a/FAe/RNe37xuwVCz6l0ynHNwSbWx+0yXfS29pdz+M9TMRpVMKRlBbzenxHKO+MD81HCsi0SmyEb23HTYwaQTtjUH1nhn9439XyruHe9ue+/9hFWyY7U9qBf5cEkuzvX81QswMHr5ELh29wNdBVGB6lDfiw260Pl3COJj3smsox0sGj00Bx5Ci50AGKUAv9s1hK05w9FqJzCBivWx68ielPWz4ARoko8CWsKhwojhFAhHMQ/fVBvfGAIDMOeKT7TSzhjujGCxtBNPCLU/GK6XfZy0BVRvyA1D9wjvpSuy/m+8Kkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PgsxcZsHQjbNHsFKcOrDGaTeJBLRhJa3sv6jEIQVDaY=;
 b=Uwl8RRsesj6Qairbj6d0oPaeuxxjd6rimp8Md+m1FJEPaaMUH/PKnLGFItGqA2rQVL/C6xhBEwA5PG0pm31S3BFp18OWomjarwOHKR1gtmWHKCo0dK3hsfhFBi17z5sjJHwhFH+l2cujoFM29qpy1RCtyJhNUNngvzTtN/E6oXxKNDmY78aZI6rg1d3Rh7wNZ129dykH4rpw2/P56m+Xgj3RGKSz0UhLhtrk+HzZ98OP6+okBj3eIYxwvTRUBDWJ0DpJMxIkSu59gIHzIqvdX0xijnbLED6XGDs6BN4uqXBTe8RaxaRxcJYuP36L2LtQWwm2Z6CDTTVSRZQ9SZAhWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PgsxcZsHQjbNHsFKcOrDGaTeJBLRhJa3sv6jEIQVDaY=;
 b=iw9ZssvLVdlscb8P9ZQM8BLWS7BtGEVDw+NXYWE3B+RbUT1q8uAwcdCPspDe93e03wvCP/9ii+0qf6q6Wt5F5mdwGS2/qH4MUHhrSUUrnDRyfVouZQM1IanhtF4P2QGSe9JcdHljj/f1bQX5EYCIoePZ5wv+V+xnqNmNEy+pd3CZ52Hjz/ypEjzczUafUD5Tl9+hJo57dqoJGuWM3iz+jaQIggJxqXWqvGJoPy36JBfbZuDcgpGFFjXD7wu8TqRzAGpPKm/gNm3DPlb/NYvxaf2XHa9ipqbWY4BDwGG0ZD950u/GX4xc1B0+3+OLjUnSt6fscf8qK3UH9ZAZHkNkgg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eef2f500-7b77-8120-0c0c-8a8b4fcaac26@suse.com>
Date: Wed, 22 Mar 2023 10:37:12 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 14/16] x86/shadow: "monitor table" is a HVM-only concept
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0136.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7526:EE_
X-MS-Office365-Filtering-Correlation-Id: 07c9d617-39e3-43b8-3589-08db2ab904aa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uG8E1IUfvwhw1Uesqg447SrociDesXGcqF7L3UqfxXK9SbPqD0ielDckzwXxvsnTxNWV4r2HjCfaeisJ86h5C13ZLawpm1OjE86fdUdWlCt0pmOnZOddproKTX7TKhfsjyXIr2Xagk+wcSC7KJkFGNYxpgzlgLx6hx7Tc+b+V2ZyoKoJ93zRNDd+Yt2c790LFSoRno8WYfhux8OakE1Zy241dDH6wK+v8Hww4/pkRSM1gDnOHKSk7cW98Je7OrGwN+qYYpw72yGKZZb2KAJyEtM0BeDWuvnN90DGsDMThmzgKhHHT/im/Or++vdBVR8REuiu7RQQlu2iRVjQqlORzXrvMLtvDisiFa+6b4yZKxTNn8xBGyDWoQWj9KMIbWVIUyh1QxrAMn02xcWqvyU3g4YxelZyjQdZEyk7qU1bahcug9HWQ+Y6eRip1bWivIsQfD8GkthKBq3z4VkGG7X/1pdE99dLcYbCVhn84v4JtTxvAbQ4Yay7F7IyqW2qg8eqTD8BjwB/XRcmjOF4q8fdeeoQEjJsr5gU42UVHGgtOwXxsWVnUzg+dbKxF05eqxL7xsgNNonqetZET5ZbK6L9WsW+vLTNVwPLmY0JAA0NCqZvJr126jOadVFMC9oaA1863wmocVAkKuNr42pDc1idOa8DKT6gr3TA699JT6Xh/w6xmhromZGTUpaAf4iwl5rClquGiTu2v/2n8HfxRfvIEzThjfj+zM6Gob1QV9/ySKM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(39860400002)(396003)(376002)(136003)(451199018)(5660300002)(41300700001)(86362001)(38100700002)(8936002)(31696002)(36756003)(2906002)(4326008)(6486002)(478600001)(2616005)(186003)(6512007)(26005)(6506007)(54906003)(8676002)(31686004)(316002)(66946007)(66556008)(66476007)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q2dDMXRpdmViWWNScXF3LzJKQ1poY0NYOVBsa2xWRXBPc1hrVnNuQUc2RTBY?=
 =?utf-8?B?L0dOK0hpWlZkTnlhbGhFMURrTTNFRkRQSXh0VnJjNGZCZEZPRlRRSklnN1gy?=
 =?utf-8?B?aEIrQjFBN2NCRUN4UTFRUVhXZEk5TVhHNGdRNmFQWDFxa3VzNmFGNXppVWMy?=
 =?utf-8?B?VUk4VzhUemUwS3RDNmhRZy9BK2txcExOd3lvVFAvK0lRN1BrY1pzSms0YlFn?=
 =?utf-8?B?REJnaG4rWDRIT2p3clhVYlRyTGRjYU9oM3loczFVZjVSUXVtZHljdDF0NnJB?=
 =?utf-8?B?QmtoR0NURmQrczlBRTkzV3FQTHZNTnRlZVRQYXRwQnIwWTY2SldjY3hIcGF6?=
 =?utf-8?B?VktRWnl0OHZxRFpoV1BVcnBMb0pHSWMrRDJXNE9jUUZvYm5GVnBrWU9aME9D?=
 =?utf-8?B?SlMwc3dMQ2Vrd0hUR3BRT3BFNGFma1BUZGdwTithSUlNc0hhQ0ZEdnNtcnJk?=
 =?utf-8?B?SkVMcmpsMlhRT011NDJORmpQUnBwSHJpNnQ2SWgzM2puU3ArU0dLcEhScURX?=
 =?utf-8?B?b1FYK0hzeDBoRkdkL20yNWNrM2RiNEtibnpzdEgwNjYxTTc5VVNXYjJuRzkr?=
 =?utf-8?B?anRrV1JxazdtN1k1cVF0REQzTXdGNGZ0UnRhTVcxZ0FwOHE3aDQrVWp6NE4r?=
 =?utf-8?B?NndwQjIxMTRoTmdwSytkcmU2bUgrUloxQk5odFBSM0Nhc3h3UjFydFhXRkIy?=
 =?utf-8?B?aEFRclNpTko2RzdJTVlFOS9BTWlvQkxNanYrVm4xY1U2dlJicU1ZUzhjTVhr?=
 =?utf-8?B?MlNaL0FuM0lQZDVTS3M1bjFNQmZoNXp5L0ZRbWJTQWVBR2JkY3NuNXlFNUxR?=
 =?utf-8?B?Q05KWE1ySHZLVjc4ZHFDWEJXUDlJU3U2aTdicTRhdk5FUW12c2p2TlEyeER3?=
 =?utf-8?B?b0swd2k1b0JvQW5mN2ZsTVN6L05UMi9xM25COFo1RXRPMGdzKzRqVllUd0VH?=
 =?utf-8?B?LzR6R09DMHJtTk90NEtyeHE1Rmg5VHVrN3dwOUJxMlBmV2c0M3NtRW84Zkht?=
 =?utf-8?B?N2NLMzFHWFQ3V2NQMW0vak41QnhpQlB6UHZYTlJDVmlYNTY2eTZQVmZ4NUwx?=
 =?utf-8?B?amZ2d285MnRZRFZwQTNia2VRVGhDWE8xL3lWejNRKzFaMnpzOVpIS1pPVGZ0?=
 =?utf-8?B?dWkzVGd2OFVoZ2tRZlVwT1d2VEZvVVp4Z0VxckIzVzNNZjNRZmlqajhXNGhZ?=
 =?utf-8?B?cTFEZ0lwQ1AwNzZlcVJETXpOZHBLTHlyc0VVYzI3c3pzTExiRXNwckx1ZWtI?=
 =?utf-8?B?OTFMODVNMElZc3VOMkcwNU9MckhqQmhSUGF4akVqUHgxTTlMdjd4eGMvdXM0?=
 =?utf-8?B?NEJRZFVtTFNvSitJeXNMYk5ReFRxV21Pb3BtT25nV2p5ZW0rQ0F1L0NKekl1?=
 =?utf-8?B?ZVVrM3J2ZXRtNklWeUR1d2c5TFZ2aDR1N1pHY2twb0g3WTdEanhMdzl3eUZq?=
 =?utf-8?B?bi9Zek55bThRNmNsb3NTWUdpTFc5MmFOeEFGbTFVMnNpbGJtNWF3WWRhYURO?=
 =?utf-8?B?N2liQnhWS3hDUS8yZkRWK2h4M0IwS1JPNlZmZ0kzMzJ3SWM4dC9KZXpmTTR3?=
 =?utf-8?B?cjdEbjl0MHFuS0xlVlM3RkdiSHUrbHlyOUxLWC9KMENLSUVMUU9TNEJIY2xY?=
 =?utf-8?B?VGJVazMyUXJ4T1dBOVR2WTdXYzVVZUswNkpCMTk3eUxGNU5DSWU3d1FCTFdu?=
 =?utf-8?B?M2NqdVFCSi9DZXNWYndkcjQzNGhWYlMwN2hNZHJTOVVZOVdqRXEwb1ZUQkNP?=
 =?utf-8?B?TXBJN2NheTd1MEtvN084b3RtZHNhdlpKODRMQWZwNHpiMzJrSTEvcW9iQ0l5?=
 =?utf-8?B?Ym5oSVZKa2RPbTZTTVJiVXptcC9VS202QkdKVjVieTlSU0kwWCt3bXNGOWNT?=
 =?utf-8?B?eW1jN3ZldmdBaVN4eHpQek9TU2tkQVlFOUtXekJ4OWpndW11Q0Vpd1h4SFBa?=
 =?utf-8?B?MS9NcGhvblY3ZW50cEZ1VC9KaWNYemdLdVViNWtBVWFuR1ZtbFNtOFBOOEEy?=
 =?utf-8?B?U2h6eC9LMDlZSTc5dzZDcWNFNmd1SkV1YUwxMHM5V2N1T05CU1E3KzA0MjFt?=
 =?utf-8?B?aDVwQVd2SVRUS1hSNkZPZUdIUHRkeTAwd2xJdEl0SHpXdDJWUnZqUEJkOVNh?=
 =?utf-8?Q?H0uZpJF/0H86rzF2/CUJ/pZDz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 07c9d617-39e3-43b8-3589-08db2ab904aa
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:37:14.0043
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CIC3/JJsPUSh53OFuXQjaGfR1NkXjDNp8JmtMlTZD1K5xB9NkIReFVDGSHRVcGZnlWnQPcAm1wPrv2/ZoSarfg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7526

It looks like in the combination of aff8bf94ce65 ('x86/shadow: only
4-level guest code needs building when !HVM') and 0b841314dace
('x86/shadow: sh_{make,destroy}_monitor_table() are "even more" HVM-
only') I didn't go quite far enough: SH_type_monitor_table is also
effectively unused when !HVM.

The assertion early in sh_destroy_shadow() can have the type dropped
altogether: it shouldn't make it here in the first place. Pages of
this type are freed directly from sh_destroy_monitor_table() only.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -1190,7 +1190,6 @@ void sh_destroy_shadow(struct domain *d,
     ASSERT(t == SH_type_fl1_32_shadow  ||
            t == SH_type_fl1_pae_shadow ||
            t == SH_type_fl1_64_shadow  ||
-           t == SH_type_monitor_table  ||
            (is_pv_32bit_domain(d) && t == SH_type_l4_64_shadow) ||
            (page_get_owner(mfn_to_page(backpointer(sp))) == d));
 
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -205,8 +205,7 @@ extern void shadow_audit_tables(struct v
 #define SH_type_l4_64_shadow   6U /* shadowing a 64-bit L4 page */
 #define SH_type_max_shadow     6U
 #define SH_type_p2m_table      7U /* in use as the p2m table */
-#define SH_type_monitor_table  8U /* in use as a monitor table */
-#define SH_type_unused         9U
+#define SH_type_unused         8U
 #endif
 
 #ifndef CONFIG_PV32 /* Unused (but uglier to #ifdef above): */



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:37:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:37:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513266.794041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peuuV-0005pT-WE; Wed, 22 Mar 2023 09:37:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513266.794041; Wed, 22 Mar 2023 09: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 1peuuV-0005pM-TZ; Wed, 22 Mar 2023 09:37:35 +0000
Received: by outflank-mailman (input) for mailman id 513266;
 Wed, 22 Mar 2023 09:37: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peuuV-0004gG-4o
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:37:35 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20610.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c8ebad8-c895-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 10:37:34 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7526.eurprd04.prod.outlook.com (2603:10a6:20b:299::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:37:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:37: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: 2c8ebad8-c895-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cI7S7CPhKoPrfD9dU5uug1veAm9R4yfrbNNiUyRUFA5MU0pq2NieJzVjiykeETrjtVvnpYubxfof6vum3lJZpUzQMuPLVh67yG48lNs+92P5sfOxBUWG9LS1LzjgOwgnvJPZyzbtu8mSpC9QtWNcF0V1CoSO6ROHFBLDX+qLvQjD4sKTcfCjtcgnHRl0eVc6wjqNWdF9EpbnbzZRw6txJUeqA8WdW0hq9zOFz5xJiljPJyPiuOB2coOuL7RMFk6mtjtFAm1QWNkcOPgo1cXPQC6vX3yDJjYOdH+ouFuA754XTEW1zLwQX41Euu6DpYjrYh8U36va8Yh5tdsIayQobw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X1l2fkRqRJiGKZyq0x1zbIscrbjHpZaIQjMcBMuPrbQ=;
 b=JMKjwBrSJO65IKZH/NCdMBPxQcrN4VQVMy6Y5CmzvWuuMmOPyfIPDOJS+h2kMhC/R0KDr0mJgPxDl51gmwLUfZ3tjOIz4VB8GYSpl1Mg6lckPDuMdLE0Hu8g50zat38MFFQoS1z/lNx+vnHPxB4uW2L+pRILjXwDudUEMhTUoyeRFcX0hVyCByjOYsoqn5fr7mbVslbMFHo1gytIQggUxk0pwf2zmFQDe/24nwbcVPOOKpf1FoibEvJxpwp0JxPpGevmFt0/SaSXZj0qIZp3k0fxkLEs36ieIish/bNAYXS/AAddO5MDdYP1Kplxu1HQxxTaghMKEJzLhds9zAvbWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X1l2fkRqRJiGKZyq0x1zbIscrbjHpZaIQjMcBMuPrbQ=;
 b=CjV/m7mlwUdrwiz5SeY+mfeIdDXLH9VvXrRw5BOaP9AdhqmPtNM1GReRjiexslYhtaIopVinag1rkJ4dYleotIaZEsTgCJFdRVtva21gZdJDPspyL1vMnofz0lOwGokaUWXIceli/a85JQRXhxV5iaw0U8ciKhXl/dH5fgzGD1M96md3kX7o/uWyMOLgXnVLhTeEmT3sKf3VWbrqdebDUu3V7lwHLFfmkysdqO5YnTO3rXeOdijkwR4LWqiFWaWn+BtrJHGcDZmL7fDG1MxmHcklRnzpTNpgng7AyJRvnsAmtLY7u8YxwdYA60PemI0U6TQnoWa5j81BpHbTiaR9SQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3cae039b-e01a-b9fc-3b02-1139e3ca20c9@suse.com>
Date: Wed, 22 Mar 2023 10:37:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 15/16] x86/shadow: adjust monitor table prealloc amount
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7526:EE_
X-MS-Office365-Filtering-Correlation-Id: 2a669e42-8b08-40da-1f4f-08db2ab91028
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wG7q3a2hLk1mkVg3uXx0B3WljJiSmCR8aUrYSDBlwH8/wpD8V58//Mv5DcWJQJq8RvUyGfjaOZyIyD+7Y8VQHwSTmxi5qhA3zUuj17UZaS/bB9gUno2m3F8TqBLdhNFqRSAPc02IB/S9Y8/2m+yGjnfxZ/GPS9Clow2Zb4MhMPcPUAKRBNmFLO/pXr1za/c1cWwqEpqXU3yCWOaaodhYnz4B38kUCKoWSmyJxs78/6WFvjrA/WgZ8urm7VSlagVhZhWoDNaJyE8D3gYn+tThKLaIp1RfXEC30xUcbEDgTnWosdp8k4b5oi1BC3FYQuxv/ihQJyHGIz7zbLwjzRlbV4GzYulU3+U2L+OqTFQxunQs2ga37UCcw2/Huo8T26nbP76SLBMoF6pYqBmIXRnYocB4agP8IsaSKa74gB/H9AfBTNdK5I7SRCyOjwkwo1gfVpgHtZb1MtuP19QFQA2+JCejdNYSdjepfW7lFtp903cht7wzuyjYI+dMX/cMPSJa1xrS6YjbGC16mT1vi9+dPDYmqCSr5Gc4B/wfmRYLYRujsO7YINHeu59aWj11DlynShrGSQH6SYeKcAgIFQKicC4nGu+OS+09hfoYhwOQgd0SjmXoxCJuQrL9Ew3O5q6tMv6GPpCg6YRN/0nr/AVHEYkwHO0S5aJmv4kCy9D0uWxjTI7nlWbr1VBVVe3am6nqhN7Kv9JrGxzC/mIJBSizKcu7EfXsxj2suybRgfrokVw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(39860400002)(396003)(376002)(136003)(451199018)(5660300002)(41300700001)(86362001)(38100700002)(8936002)(31696002)(36756003)(2906002)(4326008)(6486002)(478600001)(2616005)(186003)(6512007)(26005)(6506007)(54906003)(8676002)(31686004)(316002)(66946007)(66556008)(66476007)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NlFYTWU0Qzh3eVFBdHBsMVo1Y0VvMnBZZEl0WXlkNkJxRCtQV2hGVDQ4a3h1?=
 =?utf-8?B?U1pGbldWR3hoRnRkenY1TEdwYmtUWjVXUEtZNzQvbnlhUDRQUGxtSEdqaEdF?=
 =?utf-8?B?K3dPK0REQ1M2ZFU2YXJTSnlCc1ZGY3VmdzNUR2NoM2dqc0Z2blowT25pbVV6?=
 =?utf-8?B?VGVRakJ6YkpIMzJOUzM3TzBDNHNKQjZWT3dqTk1GSmx0Q3BIb0RPR1kwck80?=
 =?utf-8?B?YURCUm1iTTA0TWo4WkJIYjVYTDhJSWdKT1NlK2xQVHdBcW5GaXlKSzVJREEv?=
 =?utf-8?B?eTNiM0wvQ0Q0dmc1eGxOMlAvQllmeGdqUnMwdWZBT29wQVcwVGFBV21IdjF2?=
 =?utf-8?B?RVN4WFZldFFycytsU1Z1N2ZsMDlDU3lXa0NDLzZET0Uwd0Z6SkNWTW1TV0xp?=
 =?utf-8?B?bGd4YmtsQUk1K2lVaXFjYXdaYllpZWx4M0R3MS9KNmtObzlSaHh4cE9jK3h0?=
 =?utf-8?B?WEVuU3J2ZWNzVEExc0R3N3UyQTJVVjA4YXdvcFJtOVR6RVExcWVycnpvamox?=
 =?utf-8?B?MDlaN3QyaFhYUGdCUlMyd0pmOWVMNFRmaGwxdERCNlp5dkkwRGZXaGZmZXph?=
 =?utf-8?B?YitnVm1OUG5CQ2tYOWs4Q2xndU5Ta1Q0YjdRRVlOMWNwV1RtN0tRMmtESXI2?=
 =?utf-8?B?SVZ1QzFUUlRHWXhZaU1OTEpHOEFyRW9UT1J6NU1qNkRrMHZXQytUa25ubkM4?=
 =?utf-8?B?NUhLVkFNQUxaMVdLSVlGU0YyTVBjdlVmQW5DczhuT0U0M3Y5dVFzREhTNnBO?=
 =?utf-8?B?cm5yNXJObklWT3Ntc3lheFRkc2s1NlVSZGtoNzZkT0Q5RUkxaUFkVG9sR2M2?=
 =?utf-8?B?S3hCTDNycGo1SHExd3ZwdGsyRlBVMEpxM1E5RmgydU1kd0hWNFVyUm9UVHd6?=
 =?utf-8?B?S3B2TVh3ZXZqUVlqVkpwcFlCdlMwMS9SVHYvVmh0VFpTV1FHYXNKSHVFWWhU?=
 =?utf-8?B?ZDNNNmxhYnJiczJ3cXRaMFM3U2RLK2lhTDZ3RGNRYmdkTlVjWGI3QlVDNkxw?=
 =?utf-8?B?UVM0ZjNZcXJIZldING5SNGhrUFAwYndCajlLaWc5NmRxOTE2QnFOd3Q4TFNq?=
 =?utf-8?B?MXBhTURibUhUaTltdjFPSXQ5elhZVStSeDhLellaRzNuRUJGbmRZQ3FLRlQz?=
 =?utf-8?B?ajIvOURoaXdlcHdCSXJBT1RRUEFwelZxVGgwdWJQWjJ4L0RxbFM0cjBwTm12?=
 =?utf-8?B?RTA2dkc1ekkvazd2VWJTWkJISHE2OFZ0OXF0UGF4bmFHdVVIMVRXUGdxQXhR?=
 =?utf-8?B?U2hiQUczNDg3Z3ViSzl2aWtkWHJ4QTFlbURNa2lsbFBaVFZnZVorVUJDMXhD?=
 =?utf-8?B?VUYzYTNaOURiY2hXTUFPZlJkbklPZEVRMWgvVlEwN3J6NjFLb3lhaXA0Vnhx?=
 =?utf-8?B?M3lPQzErNDBoK2ErSDhlcFpWOWhhbEhISkJsc2NSbWR0VDYyTEYybCtsWWNB?=
 =?utf-8?B?WS9vWkJZMlIzVDRyQjVQZERWRmtQb1B6ZmlmejlleEk2L0p2SjVPMlVwZW9p?=
 =?utf-8?B?bGtVT0Q4b3RXaUFwTlBYdUpIcnF6Q1R0RUpmWEdxNURnSVorUngvQmtyeGRB?=
 =?utf-8?B?bWY4ZUxhdzduaElVQ1FheWtiTU1HMDloalpQNWZPVjlJNEJwS1FRaGs0T0xC?=
 =?utf-8?B?V1o5N05VUENLU2dkMjhuNjhVK2FMYnpZdGw0L0M5eis2SGxMQnFNZXhUd0or?=
 =?utf-8?B?N3RBRHlMcFRVZHJkTGUvKzN1d01ycWRYaVpqc1NvajgvSXRINW52WENHNzdJ?=
 =?utf-8?B?ei93QWpPWENsSElRaEozRGUyeUVUdGgwdE9mRHUrak9wbXo2OHZJVzdCOXlH?=
 =?utf-8?B?YjN6RUZCbCtDeWN6SWk5d2E3YnhkRVMzR05YM2JKS2ExNW9MS3hmL3lUM3Za?=
 =?utf-8?B?cklnMjlPd20zLys0d1Q3Q3kxdHIxRDVFekVGS1pGYXN2eU85c0ZvdjFnTk81?=
 =?utf-8?B?c1gvU29GUXRZR0p3bWU3SHlrKzIvZXdxVVRLaG9iendYYmQ1TWNpOURKL2FX?=
 =?utf-8?B?ZXI3Tmc5Zy9YT3JpSC8rN3ZCOElua3NCZjV3RUhSVFUwYzF3dnFrdGFNQWtx?=
 =?utf-8?B?UEFsT0t6aStadjZQSFBYL0VQKzcwN1QzRWtOelVWb3hYWG1PQTJ5NTBveGly?=
 =?utf-8?Q?9k63W+bqgD9mrN9JCVugoNM3s?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a669e42-8b08-40da-1f4f-08db2ab91028
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:37:33.2688
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HsfogPGEKFN5kbK+sz5UqEXX4n3OzEbExMlvGWxuSJMJAIhcXIgEYQVesQEpPGZU2WXauXNNpuhh9pW9JfH4dQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7526

While 670d6b908ff2 ('x86 shadow: Move the shadow linear mapping for
n-on-3-on-4 shadows so') bumped the amount by one too little for the
32-on-64 case (which luckily was dead code, and hence a bump wasn't
necessary in the first place), 0b841314dace ('x86/shadow:
sh_{make,destroy}_monitor_table() are "even more" HVM-only'), dropping
the dead code, then didn't adjust the amount back. Yet even the original
amount was too high in certain cases. Switch to pre-allocating just as
much as is going to be needed.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -738,7 +738,7 @@ mfn_t sh_make_monitor_table(const struct
     ASSERT(!pagetable_get_pfn(v->arch.hvm.monitor_table));
 
     /* Guarantee we can get the memory we need */
-    if ( !shadow_prealloc(d, SH_type_monitor_table, CONFIG_PAGING_LEVELS) )
+    if ( !shadow_prealloc(d, SH_type_monitor_table, shadow_levels < 4 ? 3 : 1) )
         return INVALID_MFN;
 
     m4mfn = shadow_alloc(d, SH_type_monitor_table, 0);



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:38:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:38:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513270.794052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peuvF-0006Uj-9a; Wed, 22 Mar 2023 09:38:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513270.794052; Wed, 22 Mar 2023 09:38:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peuvF-0006Uc-6P; Wed, 22 Mar 2023 09:38:21 +0000
Received: by outflank-mailman (input) for mailman id 513270;
 Wed, 22 Mar 2023 09:38: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peuvD-00068H-NZ
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:38:19 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20604.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46a11cb5-c895-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 10:38:18 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7526.eurprd04.prod.outlook.com (2603:10a6:20b:299::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:38:16 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:38: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: 46a11cb5-c895-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fTFCiUajNc221/cOMD2PCwdA4qcEKgIUqXNW5J5kcqIgMsRD6lCqXJn+Cw9RT5O0kkSgQEMTNdShCRdZvDSuY6FSGMaIi7OdIdLtUvq2dmR5p4EUXFYyRjWS2bHoPFQvfwCI79HMa0EpPpW0a7T8xWWRSY1YmFUdngcgHcTkdwvHzeKSkR0UqmqsfuXWvM6RAn0fRgtALlEYe2MmrkgS5Yw9+CIdt7CL7/tmr/o06KA9c/jVWfwD+QU9pfk3rHPIrJXgne/2pgDp5wNEuYKvkkIsW3tREPEA9IjZSKHY1vlQZZcYRs4+RKVhvNhnZlMttta6s53SYQasgFbij1yiUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cEqVEv6hnrXt0HrtRsLdnSxoS+k1kdzCtSY7As/Jre4=;
 b=FzVnHVfxfQ+FcPKYMlKPxPIBbBbTLle/A8HVZWc2PW04Osdl0E2ajAjyGMS81bAzk7Ok5/9RtC09rtvBCkxgSvU0gBzha7IgEodcj5DqVRqydvpVdACHGsF20v6T97ImLyxgJWxNj7ynSrcAXUYds6YriWMPATgPgQpOTB1iW3/2YrWiE85cXT26vrQ/6yp4t0+zNbaVNKh5J9a44BvOlA8E3cX1IyWVgTsxgT6gIEs97EyXZGooBuBviIxynNuWl2aND92WERVVAYxV2lO0TCm1mGbO1gIsTQdUkiQqpIZ4cxdU8RoQ0gVy8XRsSiBsSoK8pPNViWIj5wDX1F4HPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cEqVEv6hnrXt0HrtRsLdnSxoS+k1kdzCtSY7As/Jre4=;
 b=u9QCtarDOr1oThrcwbrSZCVHDD1Ro5bkf9i+w+HgJZLfjBB2ASxvmTAUiNyQlDDKJzloGm4bdKUyGA2kLZ+1AaCIqA5ET99f4zORD7Gx6lxUenSPJq3L5+v3QenhSkaEIQHCKgRMwj+ISTTm+vW9FnoYg4u2kSEon/ThmZyPNY8kOS72kpgSOAUImlqEGImvuADfFPgu2GYO5ZjpqSJhzsCC+xEH9/D2mk8Flnub8RlJGiHx+ldP0kcP+wpGdh2Scfpwd0/3u94owg2dE5O4fYzyVSz2GAYUhEgs0B2ruFyg/eTeW4SUYPAbqmXhqlSDbVwD6dPLr7ymJnTgGivyoA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1c2bd7b9-34f9-bd00-cf36-7cf6e0bb8c3f@suse.com>
Date: Wed, 22 Mar 2023 10:38:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: [PATCH 16/16] x86/PV: conditionalize arch_set_info_guest()'s call to
 update_cr3()
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0064.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7526:EE_
X-MS-Office365-Filtering-Correlation-Id: 01fdf09e-c4f4-4146-54c4-08db2ab929b8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tNroTL7VgW0a5ebnec6FWkocSwLdNS30+nc9wJCdhb0iPguBOw3TGt4aIC1iCtYqNkDEOTC8/wH9rKhOnEBm8in1npYgZpDvuLosC0GPHP0NVE5S8WoazJkj29DHy952rfMWFs4Ll2xRSkfiJ/8JPeIarSEcZJqflajS8FGgGPOpB21zhxDNKMb/Qut+JncqDPYF03BWisShC5Ozz3iXHEWJbuTfyTd+GyEbaA/zXezxH/m78dX56WcKEV6fUYgoJlmN9UyqVDN4tP7mXuAnP+Jx8wJkP4mqaJnrssExICvwOUk+VunAdrZsQDh8ApM092CA45+8x1I/XKZCbor/18ik4s+nV/yHlJZF8jWqadUwWazDMcoAEOf8O3UGBKWj8KaeCXMmilx6nhl6TJNk9BOjEeeJG8VKghSKI1rUBNWy/GxilAu+drI+kb2NsgAgxB96o4ZR+mP8edjEtlZcVPzuCvlyeLAAstfpRmZpYjlhXIattme2/Yh26EoowJLUP5rmWbPwf2KpdYIca5eACjBWblcMcn15UFY3RhyUm43InoiE5N9vqAjHMO2alu+EdA0m+E4tXjJBjtQ6PSe/1nX01jgYGmi/ZZkGQH3yzeDj80Ed8AUbwViqIEypj2HtxfSeWTLVwMSg63kBKhKDj4wXbh63I/1iR7ifyHe0F6O/fJmeYU7BQabgy1sXmsQm2b4z/Y1InjEAiQcT/pp1i42aUzc5v8cK8cZIinh+SXo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(346002)(39860400002)(396003)(376002)(136003)(451199018)(4744005)(5660300002)(41300700001)(86362001)(38100700002)(8936002)(31696002)(36756003)(15650500001)(2906002)(4326008)(6486002)(83380400001)(478600001)(2616005)(186003)(6512007)(26005)(6506007)(54906003)(8676002)(31686004)(316002)(66946007)(66556008)(66476007)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZFVpYWNRQlRvQlo4dktOQ0RNY3liN2ZUcWY0RFkzTW5BVWVYMjdXakp1aGpq?=
 =?utf-8?B?VDJieW5JWWlyMU1pcGVTdWxoVlNsYlNpRnhlK0RtTXNBU3EveEhUM25NdjVo?=
 =?utf-8?B?d28xTTJ6bysvYmIvcW0ySEZiSnlwTCszMEZaMTNHUUlrM2FTMjBSTzhpNHJz?=
 =?utf-8?B?M3JKNG1xRm1rL1JZTEFSYmd1b2cyVWNWS0hZbTRDQ3YxWnNGR1k5ZnZoRTBm?=
 =?utf-8?B?b3lCdWZvaThpOENqVU5QWlNGaGpPalhEaVVZWkt3VE5jSkx2Q3VvMUZRTFZH?=
 =?utf-8?B?WW80dFZ2UnQ0dUphRTVzWEcvaEV4TjNGbFI3QjAvcGF1RDBFQ0NKT3JXWWkx?=
 =?utf-8?B?Z29WMmhsNExmVHFnUXVjQ3ZieG9JcEk1U1NXVEE0d0lhNjUwRk9SVmptc0Fj?=
 =?utf-8?B?WGNSQW1NQmZRWDVHS09KSm9RaVhwZWw1d0p3dlp6UUxSWmFkbGVpNDRJZnE2?=
 =?utf-8?B?d3IzeEVxRzNEd0tEZ05tS214R29tV29BTkxQL1NRZ2o3ZVZ6VFV5bWxhL1lQ?=
 =?utf-8?B?MXJGTzNBS0VLdE4rWnYxN1M4Y1dPc2xMSDBUL0JjbDdMUC9uVjVIYXdUczlR?=
 =?utf-8?B?RjF4WmVZelByZStaOWpYcjBYM2NnZFhnWW9Qb2d5NjBNWnE3Q0VtZnZ0N2Ft?=
 =?utf-8?B?UnFWUkl6Q3NTZzB0OFQyY21VakgybkpuZVlpd2tJNThzTjFsQVpQVXl1TXV3?=
 =?utf-8?B?WUN6dU1YM2pGUVBIMHRKOTF3SU1USDV1UDhRbEtQcy9VMEZIRnZxMnRrNTl5?=
 =?utf-8?B?bm9FdVhicUMvUEQrZldOTmlyREhNSkdFeHZDU0ViUlhKWjFabDBEZlExVi95?=
 =?utf-8?B?MzU4VTFWRWhhcjFwdXJDWm9acGoyRXMzbFJrbVVCamo4RHArUThlbjRZZU93?=
 =?utf-8?B?OEIzMmxGMkFzRG1yZ0NJVmpNM0VBQ3VINjRrSkZBTlRJaXVTOE5WUG5jRENL?=
 =?utf-8?B?a3dvaHRPdFdnejdXem9nZG5NZ2RQK2xGUEIwMWVFUWNUSXJEU0ZOeElzVXFH?=
 =?utf-8?B?WjNscGI5S2NpbnFqYWpDUlgzWXByOFJDUVJ1N3RDRVJ0TDZabVpJVjIrR1pY?=
 =?utf-8?B?WUh2QUhkT0lTUkFNb0QwK2tZQVNVcDBxeFp3VU0xMnhEL2NRcDR3Y0YyRnYw?=
 =?utf-8?B?Y281L1R5RFJSeWJQL3h1eWFsNzkzb3N2MUhiV2JlTnFxaWNveDd4dHNJVFpi?=
 =?utf-8?B?cmZUbU5XQmJNZk9qVUlZSlk5cWRxSndTWmdvZXhpSHVPYWlUa2ozQ2s0Y2FC?=
 =?utf-8?B?Nk5VcVpzVGsvT1hLbWtNYkZoZTdQZnNxN2Y2TTJKYVFtYmJxZFpKSjdDMGlJ?=
 =?utf-8?B?NW44b3BrdTNjbGpjS1U4cjB6NjF3OUVXNkZIMHQ0SDlWVTY4bGNRVy9pWjI3?=
 =?utf-8?B?Z1NxbjdabU1xM0xXZkFRMGVKMHh4Q3lMczBQUEdySFZEVjFvL0Y4dEptUFpC?=
 =?utf-8?B?b3B1L0c5cFFwQkNPTEJ2cTFSQVZZYzQ5MFJGeDkrY1Y4VVN6UWgrRGxOaHcz?=
 =?utf-8?B?OTVpMlJYVXRLUFFxSk5oS0hjcGRObmg4RC9MVVVmQ1ROeEJ3OHhlY250b1ZI?=
 =?utf-8?B?Wis1elgrZllPS0pZUmpXU0sxK2dQZmpTaFp3cDZ5VVNabGk0ZGNFMFRXdFRT?=
 =?utf-8?B?bkxVMGx6MytDOWFJRGxabXNIY3ZqYUFlT2NXRk0xdjEycjg1blNLM0xpK3Nz?=
 =?utf-8?B?NkZpUWxseDI0Ukg3M1ZSbiszMEVMaVE1TWhsZlN6VENUYmFtK0UyelRTYVBX?=
 =?utf-8?B?ZGtWNU9US2g2UzVHT1NtRkVxc2VlUEdHcEdraSthYTZXS3AzWHdHT1loclVS?=
 =?utf-8?B?dXB1REZYY3QrM1BnL1JJQU5ZeExSWFUrWm9CUDh1UDN2WUZjM2h5bGpVWnQ3?=
 =?utf-8?B?UDEvSUNieUlXNTc0RkxUWmk4UmlhekNYRHN5TDhCUW1ZRXluUWxkRU5tdnF3?=
 =?utf-8?B?R21xT2JPemFEZ3k2NmJUMTNHZ3dDLzRWZ0dmRStzREFkbVg3dW5IYkQ0dk9n?=
 =?utf-8?B?ZkpaZnMvdmpnQ2UrT0hRSFM2cTZ4VnlQcnRmRnIydjV4bG5vZU5XRjMzckJQ?=
 =?utf-8?B?NTlZMEMrMXpTZ3puZGNzdWtUbTh5WDF2UjFtRWhFRVhIYWVuVkgzK2F0RjFz?=
 =?utf-8?Q?p8kP6RnmhXj7ouPAtgEApn7XN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 01fdf09e-c4f4-4146-54c4-08db2ab929b8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:38:16.7975
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vwVPhQLYbaHwn8dP1/p+uu+BX5CvIlE5Zju88914EauSkFLAx5Ik32CIu5iqS4qYiWy7VgphKuufXMwQJQa2Bg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7526

sh_update_paging_modes() as its last action already invokes
sh_update_cr3(). Therefore there is no reason to invoke update_cr3()
another time immediately after calling paging_update_paging_modes(),
the more that sh_update_cr3() does not short-circuit the "nothing
changed" case.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1445,8 +1445,8 @@ int arch_set_info_guest(
 
     if ( paging_mode_enabled(d) )
         paging_update_paging_modes(v);
-
-    update_cr3(v);
+    else
+        update_cr3(v);
 #endif /* CONFIG_PV */
 
  out:



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:55:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:55:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513277.794065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pevBv-00015A-TB; Wed, 22 Mar 2023 09:55:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513277.794065; Wed, 22 Mar 2023 09:55: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 1pevBv-000153-QA; Wed, 22 Mar 2023 09:55:35 +0000
Received: by outflank-mailman (input) for mailman id 513277;
 Wed, 22 Mar 2023 09: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=dhKM=7O=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pevBt-00014x-Uj
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:55:34 +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 adbc481e-c897-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 10:55:30 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 l15-20020a05600c4f0f00b003ed58a9a15eso11024437wmq.5
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 02:55:30 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 l12-20020adfe9cc000000b002cea8e3bd54sm13387943wrn.53.2023.03.22.02.55.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Mar 2023 02:55: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: adbc481e-c897-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679478929;
        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=UEhw3T7MYMroPcsS2QCN38NI05g3Aiit82bp1qe45U4=;
        b=hpjObCdTbTcWB9SNtkLIB57PcSCeY0Ow8fDg/ogwYKvHIV9pSYTxtkK32fqAZIt55u
         6xVXW+OWyX6T13GJ9gq/m8twXto7+eY/aD7u2G3B7fzPIkz6cFPSl5iNhNG3hXR906yd
         Dex5ssXQpXO6NL1M9ZGGbeEprJVumeVEOBxgD7bm5uS10dnIp6jXZeRILsjnZE70yWH9
         6L/0wQiJK0iACDqPeCb0d4PWLHorPYkkPon7hKO5jYYLUR5oheQ2xusB5E8NMZm6z90K
         JCoszj0d/eDY3VkjbeXDFm9KLYwwNNXXjfYht+BBF3AvoXAUlr7FvqyfzkapN1EGiuTU
         PSkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679478929;
        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=UEhw3T7MYMroPcsS2QCN38NI05g3Aiit82bp1qe45U4=;
        b=iQrUJLGEIBziIP7oFXwqrr4jCGfokQTgzkp9gavmrERPXMm08t5IJUxRcIk5DsR0Yx
         T2LzMEr/Adz+B8GVs/TgSHpRs+bCPAP4t6lEsFz9zImnlfL1QcAtCWUewerAmefajU0s
         EerwtPi9Ir8tJ3qSsuiMhHcT5xFHn7SXXvLitMwRTD5CYYcRV+xm6ZtgYIEKXD6bnbUZ
         ptab1SjZ/hZMkMjclMNN1x0D877XcRzRnhnMqyZBJ4Ba2mT5sKvQpa4Jp3A2fAB7ngdZ
         2AtsZDYLqOOsqE6SOfAol5Cp2VO34aPbZ8b9VwVN1R4yU2LpkwCwvX/gPqFWqF8OZYUp
         4ljw==
X-Gm-Message-State: AO0yUKUMx2m+GoA5/BfYCPkB8DWqu+XTZiQht9ouBqA/LcnIcyIQCbYw
	paWfvi8N/ogBj7i1UEkouT4=
X-Google-Smtp-Source: AK7set+qGkeYQHhWriMNHWjh2UxppQejVeas7jJA9/9gwetWv27Y4Ae0oC87OHDIZNes6MU+tHt6Zg==
X-Received: by 2002:a05:600c:258:b0:3e2:662:ade6 with SMTP id 24-20020a05600c025800b003e20662ade6mr4915534wmj.26.1679478929182;
        Wed, 22 Mar 2023 02:55:29 -0700 (PDT)
Message-ID: <5169c6c8a0c4c90b56e3f525a55de464edf7181e.camel@gmail.com>
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>
Date: Wed, 22 Mar 2023 11:55:26 +0200
In-Reply-To: <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
	 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
	 <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

Hi Jullien,

On Tue, 2023-03-21 at 17:58 +0000, Julien Grall wrote:
> Hi,
>=20
> I will try to not repeat the comment already made.
>=20
> On 16/03/2023 16:43, Oleksii Kurochko wrote:
> > Mostly the code for setup_initial_pages was taken from Bobby's
> > repo except for the following changes:
> > * Use only a minimal part of the code enough to enable MMU
> > * rename {_}setup_initial_pagetables functions
> > * add an argument for setup_initial_mapping to have
> > =C2=A0=C2=A0 an opportunity to make set PTE flags.
> > * update setup_initial_pagetables function to map sections
> > =C2=A0=C2=A0 with correct PTE flags.
> > * introduce separate enable_mmu() to be able for proper
> > =C2=A0=C2=A0 handling the case when load start address isn't equal to
> > =C2=A0=C2=A0 linker start address.
> > * map linker addresses range to load addresses range without
> > =C2=A0=C2=A0 1:1 mapping.
> > * add safety checks such as:
> > =C2=A0=C2=A0 * Xen size is less than page size
> > =C2=A0=C2=A0 * linker addresses range doesn't overlap load addresses
> > =C2=A0=C2=A0=C2=A0=C2=A0 range
> > * Rework macros {THIRD,SECOND,FIRST,ZEROETH}_{SHIFT,MASK}
> > * change PTE_LEAF_DEFAULT to RX instead of RWX.
> > * Remove phys_offset as it isn't used now.
> > * Remove alignment=C2=A0 of {map, pa}_start &=3D XEN_PT_LEVEL_MAP_MASK(=
0);
> > in
> > =C2=A0=C2=A0 setup_inital_mapping() as they should be already aligned.
> > * Remove clear_pagetables() as initial pagetables will be
> > =C2=A0=C2=A0 zeroed during bss initialization
> > * Remove __attribute__((section(".entry")) for
> > setup_initial_pagetables()
> > =C2=A0=C2=A0 as there is no such section in xen.lds.S
> > * Update the argument of pte_is_valid() to "const pte_t *p"
> >=20
> > Origin:
> > https://gitlab.com/xen-on-risc-v/xen/-/tree/riscv-rebase=C2=A04af165b46=
8
> > af
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V2:
> > =C2=A0 * update the commit message:
> > =C2=A0 * Remove {ZEROETH,FIRST,...}_{SHIFT,MASK, SIZE,...} and
> > =C2=A0=C2=A0=C2=A0 introduce instead of them XEN_PT_LEVEL_*() and LEVEL=
_*
> > =C2=A0 * Rework pt_linear_offset() and pt_index based on=C2=A0
> > XEN_PT_LEVEL_*()
> > =C2=A0 * Remove clear_pagetables() functions as pagetables were zeroed
> > during
> > =C2=A0=C2=A0=C2=A0 .bss initialization
> > =C2=A0 * Rename _setup_initial_pagetables() to setup_initial_mapping()
> > =C2=A0 * Make PTE_DEFAULT equal to RX.
> > =C2=A0 * Update prototype of setup_initial_mapping(..., bool writable) =
-
> > >
> > =C2=A0=C2=A0=C2=A0 setup_initial_mapping(..., UL flags)
> > =C2=A0 * Update calls of setup_initial_mapping according to new
> > prototype
> > =C2=A0 * Remove unnecessary call of:
> > =C2=A0=C2=A0=C2=A0 _setup_initial_pagetables(..., load_addr_start, load=
_addr_end,
> > load_addr_start, ...)
> > =C2=A0 * Define index* in the loop of setup_initial_mapping
> > =C2=A0 * Remove attribute "__attribute__((section(".entry")))" for
> > setup_initial_pagetables()
> > =C2=A0=C2=A0=C2=A0 as we don't have such section
> > =C2=A0 * make arguments of paddr_to_pte() and pte_is_valid() as const.
> > =C2=A0 * make xen_second_pagetable static.
> > =C2=A0 * use <xen/kernel.h> instead of declaring extern unsigned long
> > _stext, 0etext, _srodata, _erodata
> > =C2=A0 * update=C2=A0 'extern unsigned long __init_begin' to 'extern un=
signed
> > long __init_begin[]'
> > =C2=A0 * use aligned() instead of
> > "__attribute__((__aligned__(PAGE_SIZE)))"
> > =C2=A0 * set __section(".bss.page_aligned") for page tables arrays
> > =C2=A0 * fix identatations
> > =C2=A0 * Change '__attribute__((section(".entry")))' to '__init'
> > =C2=A0 * Remove phys_offset as it isn't used now.
> > =C2=A0 * Remove alignment=C2=A0 of {map, pa}_start &=3D
> > XEN_PT_LEVEL_MAP_MASK(0); in
> > =C2=A0=C2=A0=C2=A0 setup_inital_mapping() as they should be already ali=
gned.
> > =C2=A0 * Remove clear_pagetables() as initial pagetables will be
> > =C2=A0=C2=A0=C2=A0 zeroed during bss initialization
> > =C2=A0 * Remove __attribute__((section(".entry")) for
> > setup_initial_pagetables()
> > =C2=A0=C2=A0=C2=A0 as there is no such section in xen.lds.S
> > =C2=A0 * Update the argument of pte_is_valid() to "const pte_t *p"
> > ---
> > =C2=A0 xen/arch/riscv/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 1 +
> > =C2=A0 xen/arch/riscv/include/asm/mm.h=C2=A0=C2=A0 |=C2=A0=C2=A0 8 ++
> > =C2=A0 xen/arch/riscv/include/asm/page.h |=C2=A0 67 +++++++++++++++++
> > =C2=A0 xen/arch/riscv/mm.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 | 121
> > ++++++++++++++++++++++++++++++
> > =C2=A0 xen/arch/riscv/riscv64/head.S=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 65=
 ++++++++++++++++
> > =C2=A0 xen/arch/riscv/xen.lds.S=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 6 files changed, 264 insertions(+)
> > =C2=A0 create mode 100644 xen/arch/riscv/include/asm/mm.h
> > =C2=A0 create mode 100644 xen/arch/riscv/include/asm/page.h
> > =C2=A0 create mode 100644 xen/arch/riscv/mm.c
> >=20
> > diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
> > index 443f6bf15f..956ceb02df 100644
> > --- a/xen/arch/riscv/Makefile
> > +++ b/xen/arch/riscv/Makefile
> > @@ -1,5 +1,6 @@
> > =C2=A0 obj-$(CONFIG_EARLY_PRINTK) +=3D early_printk.o
> > =C2=A0 obj-y +=3D entry.o
> > +obj-y +=3D mm.o
> > =C2=A0 obj-$(CONFIG_RISCV_64) +=3D riscv64/
> > =C2=A0 obj-y +=3D sbi.o
> > =C2=A0 obj-y +=3D setup.o
> > diff --git a/xen/arch/riscv/include/asm/mm.h
> > b/xen/arch/riscv/include/asm/mm.h
> > new file mode 100644
> > index 0000000000..3cc98fe45b
> > --- /dev/null
> > +++ b/xen/arch/riscv/include/asm/mm.h
> > @@ -0,0 +1,8 @@
> > +#ifndef _ASM_RISCV_MM_H
> > +#define _ASM_RISCV_MM_H
> > +
> > +void setup_initial_pagetables(void);
> > +
> > +extern void enable_mmu(void);
> > +
> > +#endif /* _ASM_RISCV_MM_H */
> > diff --git a/xen/arch/riscv/include/asm/page.h
> > b/xen/arch/riscv/include/asm/page.h
> > new file mode 100644
> > index 0000000000..fb8329a191
> > --- /dev/null
> > +++ b/xen/arch/riscv/include/asm/page.h
> > @@ -0,0 +1,67 @@
> > +#ifndef _ASM_RISCV_PAGE_H
> > +#define _ASM_RISCV_PAGE_H
> > +
> > +#include <xen/const.h>
> > +#include <xen/types.h>
> > +
> > +#define PAGE_ENTRIES=C2=A0=C2=A0=C2=A0=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 << PAGETABLE_ORDER)
> > +#define VPN_MASK=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ((unsigned lon=
g)(PAGE_ENTRIES
> > - 1))
> > +
> > +#define PAGE_ORDER=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (12)
> > +
> > +#ifdef CONFIG_RISCV_64
> > +#define PAGETABLE_ORDER=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 (9)
> > +#else /* CONFIG_RISCV_32 */
> > +#define PAGETABLE_ORDER=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 (10)
> > +#endif
> > +
> > +#define LEVEL_ORDER(lvl)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 (lvl * PAGETABLE_ORDER)
> > +#define LEVEL_SHIFT(lvl)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 (LEVEL_ORDER(lvl) +
> > PAGE_ORDER)
> > +#define LEVEL_SIZE(lvl)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 (_AT(paddr_t, 1) <<
> > LEVEL_SHIFT(lvl))
> > +
> > +#define XEN_PT_LEVEL_SHIFT(lvl)=C2=A0=C2=A0=C2=A0=C2=A0 LEVEL_SHIFT(lv=
l)
> > +#define XEN_PT_LEVEL_ORDER(lvl)=C2=A0=C2=A0=C2=A0=C2=A0 LEVEL_ORDER(lv=
l)
> > +#define XEN_PT_LEVEL_SIZE(lvl)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 LEVEL_SIZ=
E(lvl)
> > +#define XEN_PT_LEVEL_MAP_MASK(lvl)=C2=A0 (~(XEN_PT_LEVEL_SIZE(lvl) -
> > 1))
> > +#define XEN_PT_LEVEL_MASK(lvl)=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (VPN_MASK=
 <<
> > XEN_PT_LEVEL_SHIFT(lvl))
> > +
> > +#define PTE_SHIFT=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 10
> > +
> > +#define PTE_VALID=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BIT(0, UL)
> > +#define PTE_READABLE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BIT(1, UL)
> > +#define PTE_WRITABLE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BIT(2, UL)
> > +#define PTE_EXECUTABLE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BIT(3, UL)
> > +#define PTE_USER=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BIT(4, UL)
> > +#define PTE_GLOBAL=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BIT(5, UL)
> > +#define PTE_ACCESSED=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BIT(6, UL)
> > +#define PTE_DIRTY=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BIT(7, UL)
> > +#define PTE_RSW=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (BIT(8, =
UL) | BIT(9, UL))
> > +
> > +#define PTE_LEAF_DEFAULT=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 (PTE_VALID | PTE_READABLE |
> > PTE_EXECUTABLE)
> > +#define PTE_TABLE=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (PTE_VALID)
> > +
> > +/* Calculate the offsets into the pagetables for a given VA */
> > +#define pt_linear_offset(lvl, va)=C2=A0=C2=A0 ((va) >>
> > XEN_PT_LEVEL_SHIFT(lvl))
> > +
> > +#define pt_index(lvl, va)=C2=A0=C2=A0 pt_linear_offset(lvl, (va) &
> > XEN_PT_LEVEL_MASK(lvl))
> > +
> > +/* Page Table entry */
> > +typedef struct {
> > +=C2=A0=C2=A0=C2=A0 uint64_t pte;
> > +} pte_t;
> > +
> > +/* Shift the VPN[x] or PPN[x] fields of a virtual or physical
> > address
> > + * to become the shifted PPN[x] fields of a page table entry */
> > +#define addr_to_ppn(x) (((x) >> PAGE_SHIFT) << PTE_SHIFT)
> > +
> > +static inline pte_t paddr_to_pte(const unsigned long paddr)
> > +{
> > +=C2=A0=C2=A0=C2=A0 return (pte_t) { .pte =3D addr_to_ppn(paddr) };
> > +}
> > +
> > +static inline bool pte_is_valid(const pte_t *p)
> > +{
> > +=C2=A0=C2=A0=C2=A0 return p->pte & PTE_VALID;
> > +}
> > +
> > +#endif /* _ASM_RISCV_PAGE_H */
> > diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
> > new file mode 100644
> > index 0000000000..0df6b47441
> > --- /dev/null
> > +++ b/xen/arch/riscv/mm.c
> > @@ -0,0 +1,121 @@
> > +#include <xen/compiler.h>
> > +#include <xen/init.h>
> > +#include <xen/kernel.h>
> > +#include <xen/lib.h>
> > +#include <xen/page-size.h>
> > +
> > +#include <asm/boot-info.h>
> > +#include <asm/config.h>
> > +#include <asm/csr.h>
> > +#include <asm/mm.h>
> > +#include <asm/page.h>
> > +#include <asm/traps.h>
> > +
> > +/*
> > + * xen_second_pagetable is indexed with the VPN[2] page table
> > entry field
> > + * xen_first_pagetable is accessed from the VPN[1] page table
> > entry field
> > + * xen_zeroeth_pagetable is accessed from the VPN[0] page table
> > entry field
> > + */
> > +pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
> > +=C2=A0=C2=A0=C2=A0 xen_second_pagetable[PAGE_ENTRIES];
> > +static pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
> > +=C2=A0=C2=A0=C2=A0 xen_first_pagetable[PAGE_ENTRIES];
> > +static pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
> > +=C2=A0=C2=A0=C2=A0 xen_zeroeth_pagetable[PAGE_ENTRIES];
> > +
> > +extern unsigned long __init_begin[];
> > +extern unsigned long __init_end[];
> > +extern unsigned char cpu0_boot_stack[STACK_SIZE];
> > +
> > +static void __init
> > +setup_initial_mapping(pte_t *second, pte_t *first, pte_t *zeroeth,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long map=
_start,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long map=
_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 unsigned long pa_=
start,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long fla=
gs)
> > +{
> > +=C2=A0=C2=A0=C2=A0 unsigned long page_addr;
> > +
> > +=C2=A0=C2=A0=C2=A0 // /* align start addresses */
> > +=C2=A0=C2=A0=C2=A0 // map_start &=3D XEN_PT_LEVEL_MAP_MASK(0);
> > +=C2=A0=C2=A0=C2=A0 // pa_start &=3D XEN_PT_LEVEL_MAP_MASK(0);
>=20
> They should be switched to ASSERT() or BUG_ON().
Sure. Thanks. I'll update.
>=20
> > +
> > +=C2=A0=C2=A0=C2=A0 page_addr =3D map_start;
> > +=C2=A0=C2=A0=C2=A0 while ( page_addr < map_end )
>=20
> This loop is continue to assume that only the mapping can first in
> 2MB=20
> section (or less if the start is not 2MB aligned).
>=20
> I am OK if you want to assume it, but I think this should be
> documented=20
> (with words and ASSERT()/BUG_ON()) to avoid any mistake.
I add a check in setup_initial_pagetables:
     BUG_ON(load_addr_start % (PAGE_ENTRIES * PAGE_SIZE) !=3D 0);
Probably this is not a correct place and should be moved to
setup_initial_mapping() instead of setup_initial_pagetables()
>=20
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long index2 =3D pt=
_index(2, page_addr);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long index1 =3D pt=
_index(1, page_addr);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long index0 =3D pt=
_index(0, page_addr);
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Setup level2 table */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 second[index2] =3D paddr_to=
_pte((unsigned long)first);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 second[index2].pte |=3D PTE=
_TABLE;
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Setup level1 table */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 first[index1] =3D paddr_to_=
pte((unsigned long)zeroeth);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 first[index1].pte |=3D PTE_=
TABLE;
> > +
> > +
>=20
> NIT: Spurious line?
Yeah, should be removed. Thanks.
>=20
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Setup level0 table */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(&zeroeth=
[index0]) )
>=20
> On the previous version, you said it should be checked for each
> level.=20
I had a terrible internet connection, and my message wasn't sent.

I decided not to check that l2 and l1 are used only for referring to
the next page table but not leaf PTE. So it is safe to overwrite it
each time (the addresses of page tables are the same all the time) and
probably it will be better from optimization point of view to ignore if
clauses.

And it is needed in case of L0 because it is possible that some
addressed were marked with specific flag ( execution, read, write ) and
so not to overwrite the flags set before the check is needed.

> the next page table but not leaf PTE.But here you still only check
> for a single level.
>=20
> Furthermore, I would strongly suggest to also check the valid PTE is
> the=20
> same as you intend to write to catch any override (they are a pain to
> debug).
but if load addresses and linker addresses don't overlap is it possible
situation that valid PTE will be overridden?
>=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 /* =
Update level0 table */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 zer=
oeth[index0] =3D paddr_to_pte((page_addr - map_start)
> > + pa_start);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 zer=
oeth[index0].pte |=3D flags;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Point to next page */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 page_addr +=3D XEN_PT_LEVEL=
_SIZE(0);
> > +=C2=A0=C2=A0=C2=A0 }
> > +}
> > +
> > +/*
> > + * setup_initial_pagetables:
> > + *
> > + * Build the page tables for Xen that map the following:
> > + *=C2=A0=C2=A0 load addresses to linker addresses
> > + */
> > +void __init setup_initial_pagetables(void)
> > +{
> > +=C2=A0=C2=A0=C2=A0 pte_t *second;
> > +=C2=A0=C2=A0=C2=A0 pte_t *first;
> > +=C2=A0=C2=A0=C2=A0 pte_t *zeroeth;
> > +
> > +=C2=A0=C2=A0=C2=A0 unsigned long load_addr_start=C2=A0=C2=A0 =3D boot_=
info.load_start;
> > +=C2=A0=C2=A0=C2=A0 unsigned long load_addr_end=C2=A0=C2=A0=C2=A0=C2=A0=
 =3D boot_info.load_end;
> > +=C2=A0=C2=A0=C2=A0 unsigned long linker_addr_start =3D boot_info.linke=
r_start;
> > +=C2=A0=C2=A0=C2=A0 unsigned long linker_addr_end=C2=A0=C2=A0 =3D boot_=
info.linker_end;
> > +
> > +=C2=A0=C2=A0=C2=A0 BUG_ON(load_addr_start % (PAGE_ENTRIES * PAGE_SIZE)=
 !=3D 0);
> > +=C2=A0=C2=A0=C2=A0 if (load_addr_start !=3D linker_addr_start)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON((linker_addr_end > l=
oad_addr_start && load_addr_end
> > > linker_addr_start));
>=20
> I would suggest to switch to a panic() with an error message as this=20
> would help the user understanding what this is breaking.
>=20
> Alternatively, you could document what this check is for.
I think I will document it for now as panic() isn't ready for use now.
>=20
> > +
> > +=C2=A0=C2=A0=C2=A0 /* Get the addresses where the page tables were loa=
ded */
> > +=C2=A0=C2=A0=C2=A0 second=C2=A0 =3D (pte_t *)(&xen_second_pagetable);
> > +=C2=A0=C2=A0=C2=A0 first=C2=A0=C2=A0 =3D (pte_t *)(&xen_first_pagetabl=
e);
> > +=C2=A0=C2=A0=C2=A0 zeroeth =3D (pte_t *)(&xen_zeroeth_pagetable);
> > +
> > +=C2=A0=C2=A0=C2=A0 setup_initial_mapping(second, first, zeroeth,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 LOAD_TO_LINK((unsigned long)&_stext),
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 LOAD_TO_LINK((unsigned long)&_etext),
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 (unsigned long)&_stext,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 PTE_LEAF_DEFAULT);
> > +
> > +=C2=A0=C2=A0=C2=A0 setup_initial_mapping(second, first, zeroeth,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 LOAD_TO_LINK((unsigned
> > long)&__init_begin),
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 LOAD_TO_LINK((unsigned
> > long)&__init_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 (unsigned long)&__init_begin,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 PTE_LEAF_DEFAULT | PTE_WRITABLE);
> > +
> > +=C2=A0=C2=A0=C2=A0 setup_initial_mapping(second, first, zeroeth,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 LOAD_TO_LINK((unsigned long)&_srodata),
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 LOAD_TO_LINK((unsigned long)&_erodata),
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 (unsigned long)(&_srodata),
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 PTE_VALID | PTE_READABLE);
> > +
> > +=C2=A0=C2=A0=C2=A0 setup_initial_mapping(second, first, zeroeth,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 linker_addr_start,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 linker_addr_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 load_addr_start,
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 PTE_LEAF_DEFAULT | PTE_READABLE);
>=20
> As I said in v1, you need to use a different set of page-table here.
If I understand you correctly I have to use a different set of page-
table in case when it is possible that size of Xen will be larger then
PAGE_SIZE. So I added to xen.lds.S a check to be sure that the size
fits into PAGE_SIZE.

> Also, where do you guarantee that Xen will be loaded at a 2MB aligned
> address? (For a fact I know that UEFI is only guarantee 4KB
> alignment).
There is a check in setup_initial_pagetables:
     BUG_ON(load_addr_start % (PAGE_ENTRIES * PAGE_SIZE) !=3D 0);

>=20
> > +}
> > diff --git a/xen/arch/riscv/riscv64/head.S
> > b/xen/arch/riscv/riscv64/head.S
> > index 8887f0cbd4..f4a0582727 100644
> > --- a/xen/arch/riscv/riscv64/head.S
> > +++ b/xen/arch/riscv/riscv64/head.S
> > @@ -1,4 +1,5 @@
> > =C2=A0 #include <asm/asm.h>
> > +#include <asm/asm-offsets.h>
> > =C2=A0 #include <asm/riscv_encoding.h>
> > =C2=A0=20
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .section .text.h=
eader, "ax", %progbits
> > @@ -32,3 +33,67 @@ ENTRY(start)
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=
=C2=A0=C2=A0 sp, sp, t0
> > =C2=A0=20
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tail=C2=A0=C2=A0=
=C2=A0 start_xen
> > +
> > +ENTRY(enable_mmu)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Calculate physical offse=
t between linker and load
> > addresses */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 t0, boot_info
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 REG_L=C2=A0=C2=A0 t1, BI_LI=
NKER_START(t0)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 REG_L=C2=A0=C2=A0 t2, BI_LO=
AD_START(t0)
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sub=C2=A0=C2=A0=C2=A0=C2=A0=
 t1, t1, t2
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Calculate and updat=
e a linker time address of the
> > .L_mmu_is_enabled
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * label and update CS=
R_STVEC with it.
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * MMU is configured i=
n a way where linker addresses are
> > mapped
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * on load addresses s=
o case when linker addresses are not
> > equal to
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * load addresses, and=
 thereby, after MMU is enabled, it
> > will cause
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * an exception and ju=
mp to linker time addresses
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 t3, .L_mmu_is_enabled
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=C2=A0=
 t3, t3, t1
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 csrw=C2=A0=C2=A0=C2=A0 CSR_=
STVEC, t3
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Calculate a value for SA=
TP register */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 li=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 t5, SATP_MODE_SV39
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 li=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 t6, SATP_MODE_SHIFT
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sll=C2=A0=C2=A0=C2=A0=C2=A0=
 t5, t5, t6
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 t4, xen_second_pagetable
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 srl=C2=A0=C2=A0=C2=A0=C2=A0=
 t4, t4, PAGE_SHIFT
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 or=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 t4, t4, t5
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sfence.vma
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 csrw=C2=A0=C2=A0=C2=A0 CSR_=
SATP, t4
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .align 2
> > +.L_mmu_is_enabled:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Stack should be re-=
inited as:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * 1. Right now an add=
ress of the stack is relative to
> > load time
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *=C2=A0=C2=A0=C2=A0 a=
ddresses what will cause an issue in case of load
> > start address
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *=C2=A0=C2=A0=C2=A0 i=
sn't equal to linker start address.
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * 2. Addresses in sta=
ck are all load time relative which
> > can be an
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *=C2=A0=C2=A0=C2=A0 i=
ssue in case when load start address isn't equal to
> > linker
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 *=C2=A0=C2=A0=C2=A0 s=
tart address.
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
>=20
> Hmmm... I am not sure you can reset the stack and then return to the=20
> caller because it may have stash some variable on the stack.
>=20
> So if you want to reset, then you should jump to a brand new
> function.
Agree. it should be a new function. I'll take it into account.
>=20
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 sp, cpu0_boot_stack
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 li=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 t0, STACK_SIZE
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=C2=A0=
 sp, sp, t0
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Re-init an address =
of exception handler as it was
> > overwritten=C2=A0 with
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * the address of the =
.L_mmu_is_enabled label.
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Before jump to trap=
_init save return address of
> > enable_mmu() to
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * know where we shoul=
d back after enable_mmu() will be
> > finished.
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mv=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 s0, ra
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lla=C2=A0=C2=A0=C2=A0=C2=A0=
 t0, trap_init
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 jalr=C2=A0=C2=A0=C2=A0 ra, =
t0
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Re-calculate the re=
turn address of enable_mmu()
> > function for case
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * when linker start a=
ddress isn't equal to load start
> > address
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=C2=A0=
 s0, s0, t1
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mv=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 ra, s0
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret
>=20
> Missing ENDPROC?
I haven't seen the usage of ENDPROC for RISC-V so it looks like it is
not necessary.
>=20
> > diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
> > index eed457c492..e4ac4e84b6 100644
> > --- a/xen/arch/riscv/xen.lds.S
> > +++ b/xen/arch/riscv/xen.lds.S
> > @@ -179,3 +179,5 @@ SECTIONS
> > =C2=A0=20
> > =C2=A0 ASSERT(!SIZEOF(.got),=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ".got non-em=
pty")
> > =C2=A0 ASSERT(!SIZEOF(.got.plt),=C2=A0 ".got.plt non-empty")
> > +
> > +ASSERT(_end - _start <=3D MB(2), "Xen too large for early-boot
> > assumptions")
>=20
~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 09:56:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 09:56:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513278.794075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pevCA-0001OW-8H; Wed, 22 Mar 2023 09:55:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513278.794075; Wed, 22 Mar 2023 09: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 1pevCA-0001OP-5Q; Wed, 22 Mar 2023 09:55:50 +0000
Received: by outflank-mailman (input) for mailman id 513278;
 Wed, 22 Mar 2023 09:55: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pevC8-00014x-MY
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 09:55:48 +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 b7cb12e4-c897-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 10:55:47 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8459.eurprd04.prod.outlook.com (2603:10a6:102:1da::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 09:55:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 09:55: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: b7cb12e4-c897-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dkiJIa5PYyjyQKsN2sQOeRVFSWaXZoCsN8Z8xN4Jrr+RzP1c9ESAV2zwpJU5e/mAzdB3dCZalbbCmjbmQJDuyojVVL0jAs8O7SyV9ARk03tUwTCSVfc+RfjHZsO0/AgGrp1X2a8MedflCE0Q2mSYWkpJBiGNCD2MHu/YiNST2Kz4oiFKNqegmsl341jP+pgxvFNxTbDBbniPoPR1/KXd/Ha2LurdxuhAyGuKgmhNwGPcuWGuRBciJpgAk6nIYRGwJzmXB/nQ32qeNZ4bmyR+oD4n/0j+3ptXNJW1NKXwyEHtXh+E9vAyoGBzvDJOPHxnuUzjxRDEix8MUpSqncJMng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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/jCCRcswiHE1pOCulr48GciekvLM2a4Zj1U2OVvOr0=;
 b=JEwJDL8blcWX94zBgvg09ELEUMOHs3tCdcbR5ecs0RQVPUo1T1v8NnkzT1oxfwj/jvMHMkuHkjOWGAasrob6d2wsASbSYcOMuanO6W0vBHiyHdZKD2lsj9ui/X49if2ZPrZmLMFo8H7SyHm8T5YtTTLtcOeZNmW2mMJYWgwvEjJ9RrPZ341atAmIV9Wk8nuu4Qg3kKD/xUECi+qaMiCMD31zjJhGF58YOxWA2/ZUsaUrKs6KXX0/79lle7P6ILd0s8m19PpoMbPntTj3/a+ot0ESx99jG2dBm+LoPon2mQ1NzlpzUprVZMkf/RvqsWSKzQCyQDrzYySXhLQpCSLCEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-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/jCCRcswiHE1pOCulr48GciekvLM2a4Zj1U2OVvOr0=;
 b=5oBKwZ92fmJwdBoLzGZtaZkZ9NxRjELJ36SjmKBWTkD8He4a4Sh0X/onlCy3/qUEboBKWsJ94q+Jp7W55ENGXqVOYap6tOh0H1W8fvyrljuN5EWlx+HikfvQmB+iKlpgIepJ0JJRCRqSf11yy0UHhRYBw/wHYOd829f+iG7++gfQbcHgmHKwsNPokua+i9p7iiY9kf5ml9p+ec+bgY8an0IFNuKh6ks2wxU2md2+LIaQgiwtn7f31P3XZ+7JKG5Zl9s0DhgzRRTe8XOkS4dgjrpIKie2iPLj+aKROqaGuzrkc/5IFiqZHzlsa85WpZ5AJLlhQcihDYnO+ZWP8UMEBg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <51ee4bf5-fd96-4fb2-c91e-36780b0f7ad9@suse.com>
Date: Wed, 22 Mar 2023 10:55:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4] x86: detect CMOS aliasing on ports other than
 0x70/0x71
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>, Paul Durrant <paul@xen.org>,
 Wei Liu <wl@xen.org>
References: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
 <367d0223-d481-b7a3-3b79-a9bc6f00531e@suse.com>
 <ZBm7N7oEDPlPmZ87@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBm7N7oEDPlPmZ87@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0044.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8459:EE_
X-MS-Office365-Filtering-Correlation-Id: 5bbf7d1d-d715-4fab-abb9-08db2abb9a77
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tBZhZmWvWyKbPwp9l5DlGFTI+a+M+EI2d3k+xSPv/4PGaZBwyyiq5xCxVVZXxZtgyVbA4bhg3Nm94jhsDMqaAquwfbBWHtKxKxi45ucFb0RsokDkU6xqaLBEG0vaVZSyAxva9WLxEBaCZt3l6sRTRsyQNW+uGMlx71dmv63Ehaj0IOq5EWY0Fc7jQnv40UCQTAT9PRdXLYaHDyUIcJWvXn+I7vE4kcKukaqI7RK+iuYStVwzx4w5Nmor5k+93yTSGCM9bEsdk5fzQfhEAlkgptqOVUtrbru+2D7RcQuwB0K4Hqjdqwqt6Noqd5bcjZqxKTIb6rnfDK2L3+6bpDXBBj0g2Tqr4b2srCjNs3Prvwj5DOPNoKiL0zrzp0mrHZxkK2v0H7lWeRHFXJniFzq5gaoB7yhKq/yTP7bglvXH3TskGp0GLorquWaNafJ1svcEgJ0G2rE86Wt2obwruy42UDDBet+2W5Io5gkTIEKyiI2lBdTTioZq2ZhPHHY6+8FOF2WasqfYH37gUNUEvHy/XV5YQdugBXTD/K/6zs93hap5bsPh6o79obS7L2OIZYyDLWmaRq0uGaWmal49CvrimV8kcAZVPAGDNsEqtSB34/epxudpBMVkdF1s9uOIO5RyqV8zQ+PQcC0UDQrZEy4QU0n/fSivK1nctSd40Ma9xFDrvpGDBYmX9OWkkg26R73TGwsNGkQslfoQlr9jNqdiSG+NnQZc70J9csn4VGuq8QE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(366004)(346002)(39860400002)(396003)(376002)(451199018)(2616005)(478600001)(6506007)(6486002)(6512007)(83380400001)(31686004)(54906003)(316002)(66946007)(8676002)(66476007)(66556008)(26005)(53546011)(4326008)(186003)(5660300002)(41300700001)(8936002)(38100700002)(6916009)(2906002)(36756003)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SlpaTkpiQjJjd3c1aFpzUzJUSkU1NjV5NTlVdlEycE1TTzZJMFlSMzVmT3FC?=
 =?utf-8?B?S1NUVzdibkpTa2NEeGlFdHJzQzl2cXFFYUJqeGgrM0R5ZlZDK2pSVnpTa1ln?=
 =?utf-8?B?K1RjTmhUTW4zYlBva1ZrU0JoRzdVK0p2c3hRMktVUUhUTnVXbGRIWkFJUFFZ?=
 =?utf-8?B?OTh5eFlMNzRSU1phcERwQzRIY3NCSTB3eUgyekxvQjlZRXo5K2Qyc1Z6ZmdY?=
 =?utf-8?B?MFVhdDQ1QzFzL1UwcTUxQm0rOFBDUlYwOHBXM0JxM0szTVRRZkJSVDJOWEZG?=
 =?utf-8?B?VlMwSWs0ZmZDdC9OcFNyYzcxeXZvTmdpbkZYTU5xS25ZMnVRR1lSYnpRZXdv?=
 =?utf-8?B?TUU1cHRUM1N1c2hkZXBYU0ZCTURMcjlMZ3M3SW9GOHJwb1BGVWhnZFQxcDRT?=
 =?utf-8?B?ZTlnNzA1L3U4NHZrS3FYdFhodk9NY3BQdENWOEZHbFMrby80eUdVOW50RG84?=
 =?utf-8?B?TEFSb2dKcHRWSUh5a3MzV0FrTUhBS0luYmRGQkxTZFFwTXdvVnhta2FHby9s?=
 =?utf-8?B?b09lT3NYbFAxZjFaSlRrWEg1ZGQya1FFSENQa3NjaFNqL3BnZHpwdTV1b05P?=
 =?utf-8?B?Wjlid0RKYkthQlIxelBpRlE3dFNUWnFYYWhpTUF5RU5nSGJnOEkwMGJKYlJn?=
 =?utf-8?B?NFVHZ3RMT0ttLyt0MVYycEFpZ0dCbC9jVGJGVDJXOEo4VnE0SkE4b244Q0Uy?=
 =?utf-8?B?OFFtK1E1RFFDWFdGSm5udEMvUVZ0R2UrS2FLS09sNXhGYkJkRFRTSkMxWURV?=
 =?utf-8?B?UWUzQ2h3R2I4VTJZVk1zcnRzK2ltTng0QUU4VHArNVdwVEVpTVhiMUlqc3FH?=
 =?utf-8?B?UlE4bUYvektoMVBqNmhjcGw3TmNQT0ZnWFpCeFVKaS9Dc3g4RW9GUjJjb0w4?=
 =?utf-8?B?ZDNZOG9iWFY1SnZkSklUa245ZjJYckRPUFVuQkdSbC85MnRCZHZXcTZHR2Rx?=
 =?utf-8?B?WktNVTMyR2kybWJxblp6ZU10cCtBb1Q2VXBMaVRrRzBIRDl1d1hnZUU3ck9E?=
 =?utf-8?B?NWdtdTNzTDhyYzE4SnNUSXcwTWt5Y2JRRnNuWjBVbWRKOEFoankxSmtmcUhu?=
 =?utf-8?B?UDZUY2YraVhsWHZsd0xpcWE4SVJkcGd2dEhxdEppMFRQd1lYUjBDaldnVmQ2?=
 =?utf-8?B?OEw1RnpCSUJtaWIydmd0MXdlaGQzR0lIWmJJYVlIK2pSMkUxZURzRzVDdTZQ?=
 =?utf-8?B?YkFVM3dqbFVQNGpVS0cwMFJTdUlneFpXdlBNbWlFWllOTUZxU1BKdXY0OEw3?=
 =?utf-8?B?ZWpQNDJmb3U5aUtXRDlDaGw0NFRLaVF2SWVYejRnR2diYkZPNytDUmM3VWps?=
 =?utf-8?B?VkhVbjQ2QWxiSjQ5b1RPV000OHMyNU1QTzlrZytKNGVOM3ZJdTZxQVFwelVn?=
 =?utf-8?B?R1lXcHg5dXZHUlUrMWhadi96RE9DdTlueVE3NHkrb3U0TkxuMVpjZ2p3OEla?=
 =?utf-8?B?VlNXSG9lSmpBWk9QMXdaUm9yNkxrZzVZV05hbFRSa2F6MDBmd1hUOXJ6TUUx?=
 =?utf-8?B?MnZaT2ZLYTd0MkNCaUJRQm8xRHR2dFliZmExRitlMG16c1VsTzRkdHBrdXBy?=
 =?utf-8?B?UzFwSHplNVNmWVdmQ1dEOFRwMldHa1p3U0U0MDJZTmNlajZtdU45dk51QTQz?=
 =?utf-8?B?bmUrcDFyNDRZK3U4SVZsODNFUUpEV2tMbTJNRTNqL3J1eStWaWUwWDJPa2FE?=
 =?utf-8?B?dW41WGkwT1pqOVdMMTlKb3ZmK2dKa29jNHZ2K2ZrR0xwSVkzMzBDOTdTdWk5?=
 =?utf-8?B?Zmc0WmRlTDQyZmV2Y0I2OTRicSt3eVB1QktZM2djdlE3QU81alR3RXp5akk4?=
 =?utf-8?B?a0lMUW4vdmVhSzlzTEdBcktZTGRac2luMVV2MmFXNHVyeEMyT1FQWngrT21E?=
 =?utf-8?B?RDJMei8wZ0hzYmVURU1ueTV3R1RpNzQ0ZDgxbVRYWSt0N1JqNlQ4eEYzaEZl?=
 =?utf-8?B?WXM0c3ZValF0MEZnTjZ4VlAyNThwTUFRYTZKK1NkOTFtOWNUbFpPWWIzZTZF?=
 =?utf-8?B?OE1sZVZ4ZkJJUHBsQUhkeGZ6NmZTbW44M01NS201WkJ2dkM1Y25TWVd0NGVU?=
 =?utf-8?B?RWtGcWhGdC9XOGJOMWtsQmNEcmJCWE5zYXlwaFM5WXAxUTcxOG9ydFY3UVRx?=
 =?utf-8?Q?xkVXHkk5yCHb4sx7lUKyo6wsr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5bbf7d1d-d715-4fab-abb9-08db2abb9a77
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 09:55:44.2779
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qbZh+YVQGKAWIjO0KlpcJOGFxX/W8/QmkIuaQzZrHOIP7qPy1asirC4BXgtF8/+jOOaC8UBfBvfz9Hw7eruhmQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8459

On 21.03.2023 15:12, Roger Pau Monné wrote:
> On Mon, Mar 20, 2023 at 09:32:26AM +0100, Jan Beulich wrote:
>> ... in order to also intercept Dom0 accesses through the alias ports.
> 
> I'm trying to get some documentation about this aliasing, but so far I
> haven't been able to find any.  Do you have any references of where I
> might be able to find it?

I think several ICH datasheet documents mention this. Right now I'm
looking at the ICH10 one (319973-003), section 13.6.1 ("I/O Register
Address Map" under "Real Time Clock Registers").

But such aliasing (really: lack of decoding) has been present on
various of the low 1024 ports from the very early days of x86. So we
may want to take care of such elsewhere as well, e.g. for the PIC
(where aforementioned doc also explicitly mentions the aliases).

>> Also stop intercepting accesses to the CMOS ports if we won't ourselves
>> use the CMOS RTC.
> 
> Could this create any concerns with the ability to disable NMIs if we
> no longer filter accesses to the RTC?

Hmm, that's a valid concern, but I'm not sure in how far we need to
be worried about giving Dom0 this level of control. As long as we
don't use it ourselves of course (I'm unaware of us using this
anywhere). If we're worried, we could continue to intercept port
0x70 alone, just to mask off the top bit for writes.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 10:09:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 10:09:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513285.794084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pevPY-0003ii-Et; Wed, 22 Mar 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 513285.794084; Wed, 22 Mar 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 1pevPY-0003ib-C5; Wed, 22 Mar 2023 10:09:40 +0000
Received: by outflank-mailman (input) for mailman id 513285;
 Wed, 22 Mar 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=dhKM=7O=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pevPX-0003iV-07
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 10:09:39 +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 a65fc56e-c899-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 11:09:36 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id o32so4747324wms.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 03:09:36 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 u2-20020a05600c00c200b003edd1c44b57sm11074276wmm.27.2023.03.22.03.09.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Mar 2023 03:09:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a65fc56e-c899-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679479776;
        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=tHCBMxof4CzVnYYOJZ5PsACoiE3rIhxKUrkqz69Pj9I=;
        b=hvDppK/MI7YxVnBDtgnZTWaEZE5pAmk3UXZTtP9v6Xd5nCHWeYsLhmbZADc4LPg5tW
         npIocyDhdwIn9orwVnI75QmToQMzHGabllc/1qMjcl17G3sPfEucWXhvEYD/z7Aic41O
         wi23wGKTYnU2hwBql01M8SKIrPNi7lKBx5PEba04zaxYasQzZQPnL+aUOsUAxPLayTDa
         D61Z1O7Fov7rGHAgsR1EF7drOo9XF4lzL30TjwcbaY3Pkz3y+P164vlkk7qinESFhQmW
         pyNqmPc26Qylk1vH7wLevpzxi6uB+IAFF5Xx5/ZWw+i9CnwGLopF+K4QjnTLVSgLhUAp
         Sv/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679479776;
        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=tHCBMxof4CzVnYYOJZ5PsACoiE3rIhxKUrkqz69Pj9I=;
        b=gnV9TUPTk2Pi4BBBpi2NGZnq5Rz7iYV8O4SFCMTyNDG5bOjVIBL9DjndRtjL0vHFKP
         pqMmbBGdzo2f7T+WzxhTOy8cC5FdLe3+LIdlxIga+h85SUpB/yzU4+kan0eD8E5hAwpR
         YYMoHdPRqES4pscfGBSVaFL1SclAhyH6CuS8Y5mktCCh1z4i6wHrmVl10lGYWdvchQgI
         MRyGf+JC7r/JDQQEmr/9ktQpHwbrP425dWNQWCZDroQKnhYep2JbFLgQUC/4lRXbr4PL
         wI5bEegl2fesC4C53hkx8EAZ3+TWlMXxkadMTnmmr5HW0cvjdnqGUCfGlsUob01opGaw
         df0Q==
X-Gm-Message-State: AO0yUKWrGO2/SYveWaCrUbx1ZSm8RFj8cjX7dOFcWJmnn8tQRPi2tkPv
	ncZKlbThWiy4LnuwvnUEKyU=
X-Google-Smtp-Source: AK7set8INV/j9DdtUq/fyPrI1L8snnRorgqx+wf/wWKZ3GCpQeLGj5CSf5lEcl2LYOsyFdxxmb1g1A==
X-Received: by 2002:a05:600c:d3:b0:3ee:5519:fae1 with SMTP id u19-20020a05600c00d300b003ee5519fae1mr1634369wmm.12.1679479776027;
        Wed, 22 Mar 2023 03:09:36 -0700 (PDT)
Message-ID: <071f2e0971ea53d37b9b645ebce6d169fcc642ff.camel@gmail.com>
Subject: Re: [PATCH v5 3/7] xen/riscv: introduce dummy <asm/bug.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>
Date: Wed, 22 Mar 2023 12:09:34 +0200
In-Reply-To: <b28bc3fc-c38d-502b-409b-092e7398dd3a@xen.org>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
	 <82aa35ce27ca11076bbafbb565e9c85e1ce7624d.1678976127.git.oleksii.kurochko@gmail.com>
	 <b28bc3fc-c38d-502b-409b-092e7398dd3a@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Tue, 2023-03-21 at 17:21 +0000, Julien Grall wrote:
> Hi Oleksii,
>=20
> On 16/03/2023 14:39, Oleksii Kurochko wrote:
> > <xen/lib.h> will be used in the patch "xen/riscv: introduce
> > decode_cause() stuff" and requires <asm/bug.h>
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V5:
> > =C2=A0 * the patch was introduced in the current patch series (V5)
> > ---
> > =C2=A0 xen/arch/riscv/include/asm/bug.h | 10 ++++++++++
> > =C2=A0 1 file changed, 10 insertions(+)
> > =C2=A0 create mode 100644 xen/arch/riscv/include/asm/bug.h
> >=20
> > diff --git a/xen/arch/riscv/include/asm/bug.h
> > b/xen/arch/riscv/include/asm/bug.h
> > new file mode 100644
> > index 0000000000..e8b1e40823
> > --- /dev/null
> > +++ b/xen/arch/riscv/include/asm/bug.h
> > @@ -0,0 +1,10 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +/*
> > + * Copyright (C) 2012 Regents of the University of California
> > + * Copyright (C) 2021-2023 Vates
>=20
> I am a bit puzzled with those copyright given the header is empty.
>=20
> But is there any reason this can't be folded in #6 or part of #6
> moved=20
> forward?
Initially it was folded in #6 but in this case a build will be failed
after introduction of #5 as <asm/bug.h> is needed for <xen/lib.h>

Taking into account that <asm/bug.h> is fully re-written after
introduction of generic bug implementation we can remove copyrights
from header fully.

>=20
> > + *
>=20
> NIT: Drop the line.
Thanks. I'll do it in the next patch version.

>=20
> > + */
> > +#ifndef _ASM_RISCV_BUG_H
> > +#define _ASM_RISCV_BUG_H
> > +
> > +#endif /* _ASM_RISCV_BUG_H */
>=20



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 10:15:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 10:15:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513288.794095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pevVQ-0005AH-5L; Wed, 22 Mar 2023 10:15:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513288.794095; Wed, 22 Mar 2023 10:15: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 1pevVQ-0005AA-2S; Wed, 22 Mar 2023 10:15:44 +0000
Received: by outflank-mailman (input) for mailman id 513288;
 Wed, 22 Mar 2023 10:15: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=q7fH=7O=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pevVO-0005A4-Am
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 10:15:42 +0000
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7df2fd17-c89a-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 11:15:39 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id EC7263200893;
 Wed, 22 Mar 2023 06:15:35 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Wed, 22 Mar 2023 06:15:36 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 22 Mar 2023 06:15:33 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7df2fd17-c89a-11ed-85db-49a42c6b2330
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=fm2; t=
	1679480135; x=1679566535; bh=ajzN/RU4/jN42dxnys9v1HEgdoXr2VrhQ1k
	m67fOvLs=; b=hhSvfbyXrkeyXTuHmt8SdLe1ttuzcAXB+tJseycivUxX57l/kUR
	owpCl5A1aTqGa18FdvhjsArAflT+/vcruX4WEc4rYssdsdHX88aycQiejPJ6lQxa
	xRq0R7sisX3MC7xSNe/CzIWGMO8voMRvMd8I0PyWk4jeImQknNQpxxY3/Y3pVt4v
	zZVGahnDUMqNRuRr+9bAgcHyGWHvs5U/TaGyo9PxfrkRUW/EGHRIRc4FlF+s5RIS
	uc6DmBW9y2sXF0s95Qfptol2GYjgJq0p0Th2hu8p8cIzJe6ipYjRJNXZfArrIxC9
	Pn6hpJssRoibj6x8kA3itdoaNCVvLURXNUA==
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=fm2; t=1679480135; x=1679566535; bh=ajzN/RU4/jN42
	dxnys9v1HEgdoXr2VrhQ1km67fOvLs=; b=oiZPCgfM5ms9JbC/N/3/sphA/HvRj
	JswiDd4IHId/LOqcFqBHxH6R0tLZzlaleiquuyRUJuT8tzNXP85R8hkoSiVNWgtt
	Jw6AZyC/nPzSomp6m+cMuXB0KFWnAUpXtwClSqoDbMHMbVa4iOD2BIs2rBidfeLe
	bqe0F1ozTG54Ns7GvBC0ZD2wN80IQlvLIxpQ2fAgpbS7sXGP7k1VZkApnQRIA5yC
	TNsaDM0P+oxchyCXVDdHC5hCdrIDrO3Jz+VIbzA/Ic8O/GldN6C81N4HkI8pDDRu
	j/V5V0Vc0SSEywa0I1Mrj1cUSy3qQ3elm2N9326fSXB5LWveF5GinMOhQ==
X-ME-Sender: <xms:RtUaZF0p2N6tKbJ2JiwM8_LQOnk8OguA2i-dc_aCeBK6yHIThiSB4g>
    <xme:RtUaZMFG5SZc9lct15gnmGFfjiWxH1HTWUq6DzXy5bDX870zVt0GIDKim6mKgBXVX
    0eXbWeyyTHsCw>
X-ME-Received: <xmr:RtUaZF7efBwiELiD2hin8AWFtdwIMJ24Pqy9GvLgNFWrq9XW8EgI_OwF9bi6d1MZty5RlvnzG_W97cBnUfCrGgupWpKXQ5ZADBs>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegvddgudegucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgeff
    udduleffkefhjeelfeegkeegteeikeduteevleefudfhfeehueduhfdugeffnecuffhomh
    grihhnpeigvghnrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehm
    rghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsg
    drtghomh
X-ME-Proxy: <xmx:RtUaZC2OfhgqOtM8CYpe4_asPeyWLuUtK00gqZj5AF1z17GwZyHKIQ>
    <xmx:RtUaZIG7XnXMnDOpOSCGAXg_0Ye-ibSOhDP0-UzmOHW2fsiZl-H6Ww>
    <xmx:RtUaZD9Ynk9VzDWjHYae8P2aEL92ijB5FGUM5-751Fri1HTcKGsxew>
    <xmx:R9UaZD0DogzaQ95qZq6SVPl-prCtQQ0b14rpEaqWKlZjxRV7XZEWGw>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 22 Mar 2023 11:15:27 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.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>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v6 1/5] Use HTTPS for all xenbits.xen.org Git repos
Message-ID: <ZBrVP1LPtbn4Il2q@mail-itl>
References: <cover.1679412247.git.demi@invisiblethingslab.com>
 <69fdc220c4cf7cd571e60a9e5bc89150cfb52017.1679412247.git.demi@invisiblethingslab.com>
 <0806d3d3-ebb1-f9cf-2746-4619ac1b125c@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="AXfiXvVcdOo/s9FV"
Content-Disposition: inline
In-Reply-To: <0806d3d3-ebb1-f9cf-2746-4619ac1b125c@suse.com>


--AXfiXvVcdOo/s9FV
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 22 Mar 2023 11:15:27 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.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>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v6 1/5] Use HTTPS for all xenbits.xen.org Git repos

On Wed, Mar 22, 2023 at 09:32:53AM +0100, Jan Beulich wrote:
> On 21.03.2023 18:33, Demi Marie Obenour wrote:
> > Obtaining code over an insecure transport is a terrible idea for
> > blatently obvious reasons.  Even for non-executable data, insecure
> > transports are considered deprecated.
> >=20
> > This patch enforces the use of secure transports for all xenbits.xen.org
> > Git repositories.  It was generated with the following shell script:
> >=20
> >     git ls-files -z |
> >     xargs -0 -- sed -Ei -- 's@(git://xenbits\.xen\.org|http://xenbits\.=
xen\.org/git-http)/@https://xenbits.xen.org/git-http/@g'
>=20
> I thought I had asked already, but looking through earlier conversation
> it looks like I only meant to: Why not git+ssh:// instead? Iirc there
> are efficiency differences between http and git protocols.

git+ssh requires authentication, so you can't use it without an account
on xenbits.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--AXfiXvVcdOo/s9FV
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQa1T8ACgkQ24/THMrX
1yzyKgf/d1/gbOnwbP17XZbrKBDtfbWuF6n59gMl1vBXKlBSkceQN5crX0EgO7Eg
E40Efg6oQeBbbbj3jmAO8V10LtN8dHRJoNPjdduGSTiiK7C+muyXIf7iWS24cFXq
s2BuhTk8S+Ww9WkcYv1LFTXqXh0VAcYvERB+Gh1PHuWlrhX9R4e9j40ktF47NUnB
f1gOmdL4Bq25VLhRcY4dGn8SPiQ+qwFqDNk/CYfUbTsMgP3S9Cv0AbVUQFsc55WJ
wRU9tbaMRGlciS9cqFWamz/cw/ZGamOd8Y54vrhELtjrXy6yLBlcMLshgWY1luUa
3TZScZ176Z/KVD9W+LuqiRSg7hpWPg==
=8Xv7
-----END PGP SIGNATURE-----

--AXfiXvVcdOo/s9FV--


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 10:20:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 10:20:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513292.794105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pevZz-0006pS-QD; Wed, 22 Mar 2023 10:20:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513292.794105; Wed, 22 Mar 2023 10: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 1pevZz-0006pL-Lk; Wed, 22 Mar 2023 10:20:27 +0000
Received: by outflank-mailman (input) for mailman id 513292;
 Wed, 22 Mar 2023 10: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=dhKM=7O=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pevZx-0006pC-Sl
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 10:20:25 +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 28b31c16-c89b-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 11:20:24 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id t15so16422235wrz.7
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 03:20:24 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 q10-20020adff94a000000b002ca864b807csm13623977wrr.0.2023.03.22.03.20.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Mar 2023 03:20: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: 28b31c16-c89b-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679480424;
        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=uYP3GJNE5TXci0njre8k809v2obyoyZ7BXKyOncTpuY=;
        b=aEwUJrIg3tc+DOgKwEm0w3srwDW2DlHO3Fk9nc5dZu5QpKkbEivN4w6rs1Aa7DCq3+
         gxhiE+F4MhL7x6jIMTRvsBAk472ukFarloEXP6ZBf4xJxi8yUeCn22CmJd3nANnoB1jd
         jVb2c4tv/vN4IfxNR158Dxt7PQilfsfE0SLzAXJhrOvwnfhZTiNtDr5Ic1ZkdhkRmbYV
         ZPLDYllXa6qxfI1umSzL1YBnZeggabwWCHmQRIYn6E4V/uPWiOwOMRkbE3WEpKmJaK3T
         J2omocHLCy8VnAUtYFZ8wm2U1yPfn8oVFxzkW0K2ns1DYmBOfN5wAvB8iisUlc23/OwP
         wAUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679480424;
        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=uYP3GJNE5TXci0njre8k809v2obyoyZ7BXKyOncTpuY=;
        b=6Aqmuoj1SWos8Gu3CUCGkKQGiffLWgjzwzgs61vdQaE+ZaGzFWi7/rT/ZGwIC1ChWN
         A9y5A0iR6gezagTTJeCCGSGRBUudRoTIhjPdkpuXQt+7VP981ODCa2Baw6P7MLxZNdNK
         TvO4LLG4vQiyBsKlRe3k6WLG3zoHzMkvoC5vBSaJURT4Ue3dZ7ROZ7D8lgXjkb7c7ztj
         4Cb11ep/hfi6xUp1XpcADD8oebn5eSIe3TghFSJEPJwSMwKgYDF9Y2G9/zuDmQit8Knz
         O0iU8mrZERcwZEFYF7kLjhcM4VLqcUbfGxqM27dk8PPF7J2mnGil8GvYLhoEI+98dhp3
         c4uA==
X-Gm-Message-State: AO0yUKUkexwME24MyyASnyI8jvS0pHsKhGNofH+wiFUald49hrKlzdXB
	K/v46w3H37tonUijxzhPhS0=
X-Google-Smtp-Source: AK7set9+v0QUiU5bn8CanSJmXX/tVkh7RDSxx4/yCS2Y/CAsN24B2itmUd/fsm//QMawivDYfAWfVg==
X-Received: by 2002:adf:f241:0:b0:2c7:dad:5630 with SMTP id b1-20020adff241000000b002c70dad5630mr4971365wrp.27.1679480424322;
        Wed, 22 Mar 2023 03:20:24 -0700 (PDT)
Message-ID: <cf883a86eac88c11d02768eb64adb2b418c6ba2e.camel@gmail.com>
Subject: Re: [PATCH v5 4/7] xen/riscv: introduce decode_cause() stuff
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>
Date: Wed, 22 Mar 2023 12:20:22 +0200
In-Reply-To: <0b94be57-b8fb-6c38-9ed8-dc8482694153@xen.org>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
	 <8c7b4a5d328be8b1cd2aa99c8d9a7883e4969600.1678976127.git.oleksii.kurochko@gmail.com>
	 <0b94be57-b8fb-6c38-9ed8-dc8482694153@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

Hi Julien,

On Tue, 2023-03-21 at 17:33 +0000, Julien Grall wrote:
> Hi Oleksii,
>=20
> On 16/03/2023 14:39, Oleksii Kurochko wrote:
> > The patch introduces stuff needed to decode a reason of an
> > exception.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V5:
> > =C2=A0=C2=A0 - Remove <xen/error.h> from riscv/traps/c as nothing would
> > require
> > =C2=A0=C2=A0=C2=A0=C2=A0 inclusion.
> > =C2=A0=C2=A0 - decode_reserved_interrupt_cause(), decode_interrupt_caus=
e(),
> > decode_cause, do_unexpected_trap()
> > =C2=A0=C2=A0=C2=A0=C2=A0 were made as static they are expected to be us=
ed only in
> > traps.c
> > =C2=A0=C2=A0 - use LINK_TO_LOAD() for addresses which can be linker tim=
e
> > relative.
> > ---
> > Changes in V4:
> > =C2=A0=C2=A0 - fix string in decode_reserved_interrupt_cause()
> > ---
> > Changes in V3:
> > =C2=A0=C2=A0 - Nothing changed
> > ---
> > Changes in V2:
> > =C2=A0=C2=A0 - Make decode_trap_cause() more optimization friendly.
> > =C2=A0=C2=A0 - Merge the pathc which introduces do_unexpected_trap() to=
 the
> > current one.
> > ---
> > =C2=A0 xen/arch/riscv/traps.c | 87
> > +++++++++++++++++++++++++++++++++++++++++-
> > =C2=A0 1 file changed, 86 insertions(+), 1 deletion(-)
> >=20
> > diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
> > index ccd3593f5a..8a1529e0c5 100644
> > --- a/xen/arch/riscv/traps.c
> > +++ b/xen/arch/riscv/traps.c
> > @@ -4,10 +4,95 @@
> > =C2=A0=C2=A0 *
> > =C2=A0=C2=A0 * RISC-V Trap handlers
> > =C2=A0=C2=A0 */
> > +
> > +#include <xen/lib.h>
> > +
> > +#include <asm/boot-info.h>
> > +#include <asm/csr.h>
> > +#include <asm/early_printk.h>
> > =C2=A0 #include <asm/processor.h>
> > =C2=A0 #include <asm/traps.h>
> > =C2=A0=20
> > -void do_trap(struct cpu_user_regs *cpu_regs)
> > +static const char *decode_trap_cause(unsigned long cause)
> > +{
> > +=C2=A0=C2=A0=C2=A0 static const char *const trap_causes[] =3D {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_MISALIGNED_FETCH] =
=3D "Instruction Address
> > Misaligned",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_FETCH_ACCESS] =3D "I=
nstruction Access Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_ILLEGAL_INSTRUCTION]=
 =3D "Illegal Instruction",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_BREAKPOINT] =3D "Bre=
akpoint",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_MISALIGNED_LOAD] =3D=
 "Load Address Misaligned",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_LOAD_ACCESS] =3D "Lo=
ad Access Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_MISALIGNED_STORE] =
=3D "Store/AMO Address Misaligned",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_STORE_ACCESS] =3D "S=
tore/AMO Access Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_USER_ECALL] =3D "Env=
ironment Call from U-Mode",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_SUPERVISOR_ECALL] =
=3D "Environment Call from S-Mode",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_MACHINE_ECALL] =3D "=
Environment Call from M-Mode",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_FETCH_PAGE_FAULT] =
=3D "Instruction Page Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_LOAD_PAGE_FAULT] =3D=
 "Load Page Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_STORE_PAGE_FAULT] =
=3D "Store/AMO Page Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_FETCH_GUEST_PAGE_FAU=
LT] =3D "Instruction Guest Page
> > Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_LOAD_GUEST_PAGE_FAUL=
T] =3D "Load Guest Page Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_VIRTUAL_INST_FAULT] =
=3D "Virtualized Instruction
> > Fault",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_STORE_GUEST_PAGE_FAU=
LT] =3D "Guest Store/AMO Page
> > Fault",
> > +=C2=A0=C2=A0=C2=A0 };
> > +
> > +=C2=A0=C2=A0=C2=A0 if ( cause < ARRAY_SIZE(trap_causes) && trap_causes=
[cause] )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return trap_causes[cause];
> > +=C2=A0=C2=A0=C2=A0 return "UNKNOWN";
> > +}
> > +
> > +static const char *decode_reserved_interrupt_cause(unsigned long
> > irq_cause)
> > +{
> > +=C2=A0=C2=A0=C2=A0 switch ( irq_cause )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0 case IRQ_M_SOFT:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "M-mode Software Int=
errupt";
> > +=C2=A0=C2=A0=C2=A0 case IRQ_M_TIMER:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "M-mode TIMER Interr=
upt";
> > +=C2=A0=C2=A0=C2=A0 case IRQ_M_EXT:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "M-mode External Int=
errupt";
> > +=C2=A0=C2=A0=C2=A0 default:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "UNKNOWN IRQ type";
> > +=C2=A0=C2=A0=C2=A0 }
> > +}
> > +
> > +static const char *decode_interrupt_cause(unsigned long cause)
> > +{
> > +=C2=A0=C2=A0=C2=A0 unsigned long irq_cause =3D cause & ~CAUSE_IRQ_FLAG=
;
> > +
> > +=C2=A0=C2=A0=C2=A0 switch ( irq_cause )
> > +=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0 case IRQ_S_SOFT:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "Supervisor Software=
 Interrupt";
> > +=C2=A0=C2=A0=C2=A0 case IRQ_S_TIMER:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "Supervisor Timer In=
terrupt";
> > +=C2=A0=C2=A0=C2=A0 case IRQ_S_EXT:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "Supervisor External=
 Interrupt";
> > +=C2=A0=C2=A0=C2=A0 default:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return decode_reserved_inte=
rrupt_cause(irq_cause);
> > +=C2=A0=C2=A0=C2=A0 }
> > +}
> > +
> > +static const char *decode_cause(unsigned long cause)
> > +{
> > +=C2=A0=C2=A0=C2=A0 if ( cause & CAUSE_IRQ_FLAG )
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return decode_interrupt_cau=
se(cause);
> > +
> > +=C2=A0=C2=A0=C2=A0 return decode_trap_cause(cause);
> > +}
> > +
> > +static void do_unexpected_trap(const struct cpu_user_regs *regs)
> > =C2=A0 {
> > +=C2=A0=C2=A0=C2=A0 unsigned long cause =3D csr_read(CSR_SCAUSE);
> > +
> > +=C2=A0=C2=A0=C2=A0 early_printk("Unhandled exception: ");
> > +=C2=A0=C2=A0=C2=A0 early_printk(LINK_TO_LOAD(decode_cause(cause)));
>=20
> The use of LINK_TO_LOAD is the sort of things that is worth
> documenting=20
> because this would raise quite a few questions.
>=20
> The comment on top of LINK_TO_LOAD suggests the macro can only be
> used=20
> while the MMU is off. But I would expect do_unexpected_trap() to be
> used=20
> also after the MMU is on. Isn't it going to be the case?
Yes, you are right. it will be an issue now. It was not an issue before
when it was used 1:1 mapping. So I have to add a check 'if (
is_mmu_enabled ) ... ' inside LINK_TO_LOAD macros.
>=20
> Furthermore, AFAICT LINK_TO_LOAD() assumes that a runtime address is=20
> given. While I believe this could be true for pointer returned by=20
> decode_trap_cause() (I remember seen on Arm that an array of string=20
> would store the runtime address), I am not convinced this is the case
> for pointer returned by decode_interrupt_cause().
It might be an issue. I'll double check what will be returned from
decode_interrupt_cause().
>=20
> Lastly, I think you will want to document what functions can be used=20
> when the MMU is off and possibly splitting the code. So it is easier
> for=20
> someone to figure out in which context the function and if this is
> safe=20
> to use.
It make sense.

Thanks a lot for the comments.

~ Oleksii




From xen-devel-bounces@lists.xenproject.org Wed Mar 22 10:27:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 10:27:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513297.794115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pevge-0007Vf-MO; Wed, 22 Mar 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 513297.794115; Wed, 22 Mar 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 1pevge-0007VY-J8; Wed, 22 Mar 2023 10:27:20 +0000
Received: by outflank-mailman (input) for mailman id 513297;
 Wed, 22 Mar 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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pevgd-0007VS-S1
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 10:27:19 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20602.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1e400aff-c89c-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 11:27:17 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9397.eurprd04.prod.outlook.com (2603:10a6:102:2b5::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 10:27:13 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 10:27: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: 1e400aff-c89c-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e+Qj4U1Lo+iiFREuNtEr5MjIQ7QLWSFmooTmm6AXUFPpm3/7S/XM9/ibsPmV5eka15rOeKGq8GpqTZ69jQ6OrLW/ewZbSlyAMp41ts34TyKWOd3CvyApvIvYPH8DG6enpxgoFnx9b4SNT1TeX5P8Ra0hXYjoMBq7vGVbv1d3cBufuTgwljvkZBFP9DseU1vj31uXrPQ0iDde4K+hE58In+k+xwMuCz17wb0BfQiHSN1wcrVPDm8+FDGtk31yG0+FUsGzMEvr8riKuuV7lgvOaxxp02rKItqmjvhK0DFhDvH9QuTCw9rBmPmfpykoMvUlo7PGiRqYSU+6YaBGfaj/hg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mtiQ8vpdfyx3vlDkymM5GOPTXUdgwKUiXshlAOXxcQc=;
 b=GHf0V28Ps1KSkoBvXlZj44HFKvX/BMGZx2bwBNpvaGGsihtlyvRdqLiLVL9XBKKqzqUQn0Zuujy4qNfGU8T96h33Nhl0Dm5QtZpWtpiTU9Az1ksUu5JODdgB+bnFN4a4qcj9W6NZnTd5/bJ8ksBOQ5vgP3dA6sDlvXoEGO58ykY0B2DoNRKG0m1C9rXJiiGPLKCbYPqBHRdb8K4OLeO2lv3hF/gBxE6o5/014DWOgi5lMPhpCmnmK0mgfqZ3MzT2N0dWhEwgdkIBNsmCvQl+XIY1kn6ZgZ87O9CtBdw0U/M8ZDKHOQhESsy510e9Ty4CMHU0yuPS9uvd5/NwzUHMng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mtiQ8vpdfyx3vlDkymM5GOPTXUdgwKUiXshlAOXxcQc=;
 b=UfEpxglrwThHkzfga9f8bJwwQknCLulR3k3G454MPPBzAhvzMVhfPfoSHXdgZzS8kGaEUO7cy5c9PewhCGl/DB3aTENbkVe6Cw+se2/Defh6ekw0SVRxXfwYfkSqb+I10WD4dvFj4hsQMIWFYeLQnTcJYF36DvzTTKV+O028y/priUpsdG2ruOrY9gkA2ug5xdywMxF/lv/efmYef7btz/rk93jBIf71BV3ZIJUS83wl88qLFiskcFKOpdxJ1b47Z0XHwq3l8SY78VkijAgOhakGgsHZnOYdEWO7veP5IKgZzi0NTL6HkP1mXAvqeRlJSjLHASJJ/XJbNtfGyBxMCA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <95c763c4-034a-d478-fff9-55df1adbdc43@suse.com>
Date: Wed, 22 Mar 2023 11:27:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 3/7] xen/riscv: introduce dummy <asm/bug.h>
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
 <82aa35ce27ca11076bbafbb565e9c85e1ce7624d.1678976127.git.oleksii.kurochko@gmail.com>
 <b28bc3fc-c38d-502b-409b-092e7398dd3a@xen.org>
 <071f2e0971ea53d37b9b645ebce6d169fcc642ff.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <071f2e0971ea53d37b9b645ebce6d169fcc642ff.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0136.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9397:EE_
X-MS-Office365-Filtering-Correlation-Id: 6ce1d658-b847-4b73-9a86-08db2ac00039
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZQIdP0aTiQUjIRKJrUvDCGehpvLwxk8H3VUsviTcsmhLMbJDd23bmX+BtL0VVtjGvv9dFtFeTbR6sq4TEln+Q46K21nel2P4bKUr7t3NckTQmRnBj3sN6dzuivuL+GDkxhmhke9ID4OlZQvRWZcr5bp2Eo0JuMP7zEP/17Ed5d3ZpEUHMrYc3/o/oscEzlwvzqfXnjGxWxcy03OONslZ1y9bBCJK0pbPLx05bSls05lkW993ziZ/bPGDAaKjhT02/TgXjvS0i7h2x6TFQ4iW4agoBAROSUjD3B+v4ec3QmClDiLF8YlTow+Vjo93QXBNezivIkLKNhU58as0lbhgqJLpzKE+pkXHsILCEwJNIjcLK03C77l0VnkEJuL2G/ZMh2n6sBbRdLNRZaUL/2XRIKSoj0h+mtwkb0sIRQIOYAbXbLh9F5cZL/KshJYodeNlvvZxs7VHXCO6KNAz3JLkbah3OHjPF2p9ql3g21wix3S6xYeO/v6xFq9jpWlLAmndGJlThuWzR43oH+s0Je0iRwhUydtNhrTfpcBxS2MjAvMFUCLHslbkuhppbbuDNgcVHZNmxknMYGaRPWD+V7Fmh6ZW1EX8oQHqbMIQaeZSvQs7YkAy8gXAqPSP2+hf4aYGlrfaQZa29ha6zDtdG0+fmGnAIwAzo+M752baOBu/yIWq2z1yrfACX+XEZNAY6A2SluGlVBVk3OwVZ5bYQuYR1BUP3oodpuP9VstjjgBiw+Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(136003)(396003)(376002)(346002)(366004)(451199018)(66946007)(38100700002)(41300700001)(6916009)(4326008)(66476007)(8676002)(66556008)(36756003)(2906002)(8936002)(6506007)(6512007)(53546011)(6486002)(26005)(31686004)(86362001)(186003)(2616005)(5660300002)(83380400001)(316002)(478600001)(31696002)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QkRwcHdhRFVmc3grQzFwS0NnaDNlSjE5NXI1bGl6RUdLNHZsanBJdWpOSnh1?=
 =?utf-8?B?Z3NhOWZZc1o3RWZxcTg3eEt3eHlWYUxrSExoL2FsKy91OUpDM3BJMTFiOTRP?=
 =?utf-8?B?ODBsajB5TFVDc254OUpsSFFtRU1xcnc4ejNEOFAxK01oZWdxZ04zb3RKNUdW?=
 =?utf-8?B?YjU4NkhoK3J2UzRlRW80VGN6ZVU4aXdUYkt2aGREWE1oS1VpdWVOUWZRbnJk?=
 =?utf-8?B?cFhaTE5XMU82ZHJGU2FPT1dQZHJwbzczSjgyUkliaThRWGJRbndrQ0tUR0Fs?=
 =?utf-8?B?NE9ON3k1eWNjc3U5ZU1vcmJWNVJteWpGQ3dwS1l2dEYyRlU4SUFXeWcxd2xE?=
 =?utf-8?B?SElZZWNHQlp2enpSSFNCMXc5TjdjcXRtZ0FZT0dpNmpRbHJrYzZtbk5WbS9p?=
 =?utf-8?B?bm94Qk5zUSs2V25iTk1aWkdmdGYwZk5XdE80cU5XTWVjclJCTGp5RWVPb1Qv?=
 =?utf-8?B?dk1FT3ZMNzFxY0tkQVdpN1Zia2FUdjN6K013bDhkQzc5UUlTZ0lXTW9zUTBY?=
 =?utf-8?B?N3VCTnF1YUwzYzZVdWpCbXljMHNRNXhXdTFHblhtNmJ6QzBnbzlvTzlNL0RI?=
 =?utf-8?B?YTZCOFBSbzhRQTI4RThBdUJDaWtGUE43RVE1V3A4WnVZUzIySzhEc0lJV1ky?=
 =?utf-8?B?ZFFzOEl3eXRPeFIvY3BmcHBqNkNZVWQyelQ2WFg0aHJZRjBTemtUenlCQ05k?=
 =?utf-8?B?cEQ3MTVHaGFwTWlCNDZuY3lMKzZuMFdoTU9JVkpNek5pSEZ0bUtQWjF2Y0ZI?=
 =?utf-8?B?WHZJNUJDSFFKTTZ4Z0VVc2UyTEpOclBIaUgxelRRYmt1dy8ydEpRc205RlB4?=
 =?utf-8?B?TjNGbk9JZ3VhS2pJQyt6MGZReDhZc1F3UTRTN2lwYm56UzFOV01tRmdvVUV1?=
 =?utf-8?B?aGxCcytoM1o3UU9rc0c0MkNUY1BmZHlhbGpLbDZrOXlnK05oNWI4SFBQRmQ4?=
 =?utf-8?B?OHhOVFBJc0MyaXowcmhKRlhGU2VoeFZFMFp1dzJZajBwcEN1R2NtUThKczkr?=
 =?utf-8?B?QTd6aGpvTmhnTnNKOHV0dE53MzQybGgzZG15NnIvcFJBeDJGSkNUdVFzNmxX?=
 =?utf-8?B?ZEk4blo2NFZ3ejd4SGczRlllVVhxZDVKcDBQdHhBdTlZVkhUSVN0MExLTEs3?=
 =?utf-8?B?SFE2aXIwdGQyQW03bDUrMTJSTlFkYUtxemhjRFgxZ0ZVUnhKU3VaOU40MzNj?=
 =?utf-8?B?L0VrdVFjZDZPT3pEV2dobGRIYzBiU2FvcGNqd1RySXZKR0VoWnB5Zkx1cG1x?=
 =?utf-8?B?UHo4dCtMRGtMRnZCRWJMQkR1SHp4TGpMRjZobmRQdEJieGdBOUJhaVJjTjNS?=
 =?utf-8?B?NDdxSGVuWmJMdldabVkxMWJXaUpWMk8zRXZCTS8reXJYTjhRdXRHQ3Q4VzFz?=
 =?utf-8?B?bVBMQURnbDRONGd5bFkvbGcyTVh0Y29FSFQxeDYwcFBqYXVmbzZFNjBLQllT?=
 =?utf-8?B?T2cwMEFmdCs1dkxmeVFaLzUzNjlMd1o5NXNSYnR3VmhPcEE0eHJoZThRaUxP?=
 =?utf-8?B?VHpWMUZ3UmlacHVUMVZuajhXNlE0enk4MFQyVzZkbVhmVkt1YXhqWGR6MXNI?=
 =?utf-8?B?TUVWOVh5MVo4SHNoWE5mNFVRcFo1MmxHdW9hWWsxK25nU21JeGxsdzMvN1ZU?=
 =?utf-8?B?a0gyZ0ZhMFQ4eDY3dTBBNGcyWUhYdXgram1JWStMdVZOQWpTQ3VoUkZCOE11?=
 =?utf-8?B?b1d1OFlXak00YzRqbE5sVGlLc1J0SjkxUlk3SVdDUE5IVVVYZFc5ZnZnZ0o2?=
 =?utf-8?B?Y1pvczZPZGN0dzF0WG1BTFJTUkhTdkhmM1l6RkhUV1E2M0xQZnJ5UGI3VVVX?=
 =?utf-8?B?empmaHRYQ3AzNExnOWhlSzVVbUc3Yy81c2pVQy9Fc0V3bFFuT2RocVZSODk2?=
 =?utf-8?B?aDdBV0xOUmxVaUZRdGZha2hBYWF0T2F0NG95MTJSRUFhTkl3Tk9hOXhsZnQ0?=
 =?utf-8?B?M0RnaTh0ekZHQlNJbWdLNWNIZjVZNVZvN29tMFRDd2tHOVBXQTBZaTBmT2x0?=
 =?utf-8?B?T0ZGUWcvVnl5TE1PL1ZpUDFEQldMdXlNM3FsMFIzeDQvdHc1TGxFcG5UUisv?=
 =?utf-8?B?S0gzMUpFR2EzMHBLODdDSjVjOGhJMjhFNm5ZZ0RsQ2hMN0MwcGt3K0w5YUNj?=
 =?utf-8?Q?juHns1BoLCb/BFbiPk6coQyi3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6ce1d658-b847-4b73-9a86-08db2ac00039
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 10:27:13.0169
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3pC3boo/qnfs0tNRfQThFEiEE9QOCj9jm5iQm747Jhc6+1JQtLvhty/WZT7P57HxMUoLgPOpG+M+fsZhao9NfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9397

On 22.03.2023 11:09, Oleksii wrote:
> On Tue, 2023-03-21 at 17:21 +0000, Julien Grall wrote:
>> On 16/03/2023 14:39, Oleksii Kurochko wrote:
>>> <xen/lib.h> will be used in the patch "xen/riscv: introduce
>>> decode_cause() stuff" and requires <asm/bug.h>
>>>
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> ---
>>> Changes in V5:
>>>   * the patch was introduced in the current patch series (V5)
>>> ---
>>>   xen/arch/riscv/include/asm/bug.h | 10 ++++++++++
>>>   1 file changed, 10 insertions(+)
>>>   create mode 100644 xen/arch/riscv/include/asm/bug.h
>>>
>>> diff --git a/xen/arch/riscv/include/asm/bug.h
>>> b/xen/arch/riscv/include/asm/bug.h
>>> new file mode 100644
>>> index 0000000000..e8b1e40823
>>> --- /dev/null
>>> +++ b/xen/arch/riscv/include/asm/bug.h
>>> @@ -0,0 +1,10 @@
>>> +/* SPDX-License-Identifier: GPL-2.0 */
>>> +/*
>>> + * Copyright (C) 2012 Regents of the University of California
>>> + * Copyright (C) 2021-2023 Vates
>>
>> I am a bit puzzled with those copyright given the header is empty.
>>
>> But is there any reason this can't be folded in #6 or part of #6
>> moved 
>> forward?
> Initially it was folded in #6 but in this case a build will be failed
> after introduction of #5 as <asm/bug.h> is needed for <xen/lib.h>

But what about the other option Julien mentioned, moving ahead the
later "filling" of asm/bug.h, so it wouldn't be introduced empty and
then (almost immediately) touched again to actually populate it?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 10:30:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 10:30:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513300.794124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pevjE-0008IL-31; Wed, 22 Mar 2023 10:30:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513300.794124; Wed, 22 Mar 2023 10:30:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pevjE-0008IE-0L; Wed, 22 Mar 2023 10:30:00 +0000
Received: by outflank-mailman (input) for mailman id 513300;
 Wed, 22 Mar 2023 10:29: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=sCgZ=7O=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pevjC-0008I3-DI
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 10:29:58 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20621.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a6a373a-c89c-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 11:29:52 +0100 (CET)
Received: from DM6PR07CA0127.namprd07.prod.outlook.com (2603:10b6:5:330::28)
 by DS0PR12MB8293.namprd12.prod.outlook.com (2603:10b6:8:f3::7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.37; Wed, 22 Mar 2023 10:29:49 +0000
Received: from DM6NAM11FT040.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:330:cafe::1f) 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.6178.37 via Frontend
 Transport; Wed, 22 Mar 2023 10:29:49 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT040.mail.protection.outlook.com (10.13.173.133) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6222.17 via Frontend Transport; Wed, 22 Mar 2023 10:29:48 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 22 Mar
 2023 05:29:48 -0500
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.2375.34
 via Frontend Transport; Wed, 22 Mar 2023 05:29: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: 7a6a373a-c89c-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KZEE3TZRbqKrLhD43ZOdsHi6sQjHyS3lUgrs+WSjvTKylSvv4/lSP547eupnZdLdT1LOxtFgXymncKcmORhXJCzni04hTABw6yFc9uy4BVe/OwDPkphWBx+KOECHheVSyUfquSeeRWk6b+G6rnc3D9Hjtajr20Ndw0BqjEzn6dfxR7PmI9oN5Ida9ZdIZY3CcL9M/r5jPeq1iW3BEG/lN6gTNOFUmTHpwAvgnARfvcb5MXIcUS8IgKG9wb5B0/O9SjmmQtz9bxLjs53t9GtnolEiG6Wary09R2+SD5ICgQmMnMccWZV4/eFwEck3yx9U0tBV8tEJiB9Lx6jErKf0/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=geeri5RwCrMY4nv1/XjOI2ltQG1beTkPXWCp+aaMm7k=;
 b=GQVEMBFJkcDvtnksKLgAXKAs5z1zGnfRK7+g6jvQKBFTAkqsxjjPFGS/bUI+Z2ZmQ4GWNeefcamu/XAG9NCYosbiq4eRqLCS6/nieFzpMzIZKkWJyFIxzWUBNKOUsu43DNffZihVoDnSvfLMZmc70WEpmdjuUJ5N8Sh5kWQg2b4OZlTOngza8aoAYEdftMEoQmcaHRDxOMuBNdIGb+LeS5Nn2WJg1Y31o9HWKmCYUtPehHv7kf09gEb/7HPNd95MutegcnMK6z1HH6ZgJ3VQipoX8BtRb99O7rbVm22i2O2JbWN4TpjCEr2lVbKTfdOkG+RPTvWtNl2HHwqvjLPssw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=geeri5RwCrMY4nv1/XjOI2ltQG1beTkPXWCp+aaMm7k=;
 b=C6l2S3WQErTQSLisQh1yIumu780UDGLE2/Rsf9VKtlPMIVIU+OterB7BgUo5uBnA471x8zH457RXDohsj+XyZW+7EPMbcYP9mjLD2wBbNRBDAFlydYoLqsBXqGD0BpKtNVgtFhVFWsB4CFON5OBhYF1NDOB/JxRG2INpdyF4yIQ=
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 0/2] xen/arm: fixes around domain_vpl011_init
Date: Wed, 22 Mar 2023 11:29:39 +0100
Message-ID: <20230322102941.959-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: DM6NAM11FT040:EE_|DS0PR12MB8293:EE_
X-MS-Office365-Filtering-Correlation-Id: 447f019d-7404-4102-9e7f-08db2ac05d34
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+WEdu96VNyfSP2fTd8zgW3QRS+os8t7rBrn7BDdUnqTZO2WuokvLirl67gepbBQsE5Y+kFPlmE31CmW7R/q6lsrQKyfSGOmDVIAOSNyubSf2Htxs0grL8YCtyohYtJoip86ydqFRZdfB+D0qWkZCyTB+5eBYzQ3My3tgtxuKHO+xZE6VlnOU1vdSlezsQongs/qj6iBtvozbr20SvTg08Z0nZIXuI8I7GplqyWwe2TDSHtNVY2nI5RiEMnVifTYWDzU3qq9pFJTabw6zONO4v2rQpw4OUrAkawKU+3K23mg37+nO5XV4UwH5lCcrcrVBXa16JaRwvQm0WZUUFayXpRdJXkDz5QQqtkdMI+CRFw6wPl6lvY5UatxecS/24uGAVf77KpT5P9RO0Vd8jhiK2zaEaAZm+SUF1NsTXqUgQo29bUOZklXmEYC4Urodtd08T9TC3Ls7M6oTeD1B7zpIHj/0kIFYi3EJASlDZL5yy44otPfiGb3QzcE2OYxCQqEgwVoR2U7giFR8jIoDskENHHUc7xu/GRomGh1DzdbyBukRckzLgODxA7vlY/BGvni+SR+9JqmxGDyrCqZxSBSQRyxOKTEcy1VJMtK/xu+9MXxCmM88NCR3/FAWxpZgYGiyxU0n56/hIWJQPhuvMWVnTz7xhv9AkMiGNGtzg3VeMKhLqFgTPvnkpUa1vLZVCnYDd4qDQJmKcV0SWd+qvGQORc1rLVVipohZsvjXT5JCB1M=
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:(13230025)(4636009)(346002)(396003)(39860400002)(136003)(376002)(451199018)(40470700004)(36840700001)(46966006)(82310400005)(47076005)(83380400001)(2616005)(426003)(81166007)(44832011)(36860700001)(336012)(356005)(40460700003)(86362001)(36756003)(41300700001)(40480700001)(8676002)(5660300002)(4326008)(2906002)(82740400003)(70586007)(8936002)(6916009)(70206006)(26005)(4744005)(186003)(54906003)(1076003)(316002)(478600001)(6666004)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 10:29:48.7311
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 447f019d-7404-4102-9e7f-08db2ac05d34
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:
	DM6NAM11FT040.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8293

This series contains two trivial fixes around domain_vpl011_init().

Michal Orzel (2):
  xen/arm: domain_build: Check return code of domain_vpl011_init
  xen/arm: vpl011: Fix domain_vpl011_init error path

 xen/arch/arm/domain_build.c |  4 ++++
 xen/arch/arm/vpl011.c       | 11 +++++++----
 2 files changed, 11 insertions(+), 4 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 10:30:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 10:30:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513301.794130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pevjE-0008Ll-Cx; Wed, 22 Mar 2023 10:30:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513301.794130; Wed, 22 Mar 2023 10:30:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pevjE-0008Ky-7b; Wed, 22 Mar 2023 10:30:00 +0000
Received: by outflank-mailman (input) for mailman id 513301;
 Wed, 22 Mar 2023 10: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=sCgZ=7O=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pevjD-0008I3-3K
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 10:29:59 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2060c.outbound.protection.outlook.com
 [2a01:111:f400:fe59::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c01f873-c89c-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 11:29:55 +0100 (CET)
Received: from DS7PR06CA0008.namprd06.prod.outlook.com (2603:10b6:8:2a::15) by
 SN7PR12MB6888.namprd12.prod.outlook.com (2603:10b6:806:260::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 10:29:52 +0000
Received: from DM6NAM11FT096.eop-nam11.prod.protection.outlook.com
 (2603:10b6:8:2a:cafe::80) by DS7PR06CA0008.outlook.office365.com
 (2603:10b6:8:2a::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Wed, 22 Mar 2023 10:29:52 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT096.mail.protection.outlook.com (10.13.173.145) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6222.17 via Frontend Transport; Wed, 22 Mar 2023 10:29:50 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 22 Mar
 2023 05:29:49 -0500
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.2375.34
 via Frontend Transport; Wed, 22 Mar 2023 05:29:48 -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: 7c01f873-c89c-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d8u0aotvnWd4qIZ/alH+c8fVfDLfzBnoZhIcE/4qKyyw0qWPLyop5h8uH45+CUgGuNuiWHm19jIHrWDAjhKtN3rrU4Fb0TIRhxzHcDz4i0kInxXq3c2a4jqykYmtu++y52N3ZfT2dov7/eppwTssUzWtSAspWm1rAs1lNY+Xhk00KPidVnI3o2pAGDVdwb/K4HGImiW4SvDqathiPLjk3rtE70Tvi4fjvbXfcjODfWE3TXz//MX7wEOl9K5LHOyBDdC0Eme7/gZAqiZJsmt6E5xs+/kPMGuVn76xkFgDr6w14xj2Qy68jOq2HnT4r+hKwfRFEwOdZVfmITzRD/qb9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oEHhl4OfY4C4g8mhIFlhppd+WY7/WJjjUQxWu0Sbqss=;
 b=CosUd/HsgZqrWM8gnbV/nZ/FJcEkRUhT0uYypuBoTm8uZbH9YCb0oopGaDZUWFzLGRqfXWjpLnCy59F0d90ha3gUtuPnjmT3wOSXTpfrhc4lxq27et17I8hgCXKYrCpgHMCMrHDlEAAkRZocsgv9pBZUjQBKXu+F+xQVmaJN5YsWa1tCjZzPh7ICB4GCaq7+yKP9iBmH2TQad0SKtAKeMHAqQ51vnAPZQAYOaPnweluzR8xE3Ku01OO3IRn623TwzNl3yqdWoE5wzIMhac8zuJl05L9xGK/GfkH7RiS41rauAFpIZJAkbZUTUKgIoLUCCRHoYXYolGDVRYDOMBb3og==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oEHhl4OfY4C4g8mhIFlhppd+WY7/WJjjUQxWu0Sbqss=;
 b=1zmwOJqw33eSWQsddehvtIMOEDfRbem5cJxTsop1U+rBefBIS4xVn5KNZIr5XX4qlpPfajRrkNDLHDnqxRxebNEKKnZ6s8Ewh6tOoSBw7urOBBZv/0aw5WqwONOZTM6GjybzogL2jsp7E9GDyrnXTI9IPus4P8jWFY0DYmC6Zos=
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/2] xen/arm: domain_build: Check return code of domain_vpl011_init
Date: Wed, 22 Mar 2023 11:29:40 +0100
Message-ID: <20230322102941.959-2-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230322102941.959-1-michal.orzel@amd.com>
References: <20230322102941.959-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: DM6NAM11FT096:EE_|SN7PR12MB6888:EE_
X-MS-Office365-Filtering-Correlation-Id: 3f3128c3-d737-44cd-e293-08db2ac05e0b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VN9ZBhRTFv2vi+5Ju0KmeZCrl/bKKc1lOMC4mLNugc8rTBTZNmVWNNVe2RHKxl+1TbXNPY1M99xRe6ZsfccsNhDh84FNMb155up/X4+e0Ce2tOE2BjQDCcZ9P502pTh6M1tPnsm8jhSnxrlWGhrEzvseDfX4tz1NE7SDrk5f9YPScpwtsMeDvGjyMh/4awo2+4gT6xyTbVj4SyKqhCQFEds0HRYTSRaXLPULNd1uIa5dyt5aJi6mXYnpFVLY4uMWLiYdeG+yYX/Dfpy6bCX8vlEjQijZWeo1X3SIkQfRqnevCsXRpwNO9geDC8lGRikQmzFN7N27NO1x32GgJcFYpcwdqeygLP2v1p41mYdOF7dyFjPZW+QLGyIbwlCgDz+8iNXiuue5ra8x7Y5Vri4kYs3UJ671M0L50niQpvSzFJxk/El2trivpow7GW7NPqVQsqI5KY123awRp+sMvZAq7iIDIFX5okp6d/LzQH+7hkQ+3JgJMsYL+I4ebdsjE3p4pqxvjnPk4nMlDjjVb3v5d9aFxJ+MS9CRoGoOL76JNdmQGGR04LHtl2gwo3Bg4rvZffTuikLDzS/z5n459tBg3NH2DmTCyyIwXqZYEvfGjVtFoIbXkaxEOi85PCod2CsezhKoX30/hJxNdC6sy/6jJPtQJ6cA2gNd7DPJ3AaGHAgPz53r/tohqs2o9TaP3rn80fbPZSMKbTupF3z66Hr2D2KW2RW7EC/KFpONVhStwUg=
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:(13230025)(4636009)(39860400002)(376002)(396003)(136003)(346002)(451199018)(46966006)(40470700004)(36840700001)(426003)(40480700001)(47076005)(8676002)(4744005)(54906003)(44832011)(316002)(36756003)(36860700001)(70586007)(8936002)(4326008)(6916009)(41300700001)(5660300002)(70206006)(2906002)(40460700003)(478600001)(83380400001)(82310400005)(86362001)(81166007)(82740400003)(6666004)(356005)(2616005)(26005)(1076003)(186003)(336012)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 10:29:50.2200
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f3128c3-d737-44cd-e293-08db2ac05e0b
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:
	DM6NAM11FT096.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6888

We are assigning return code of domain_vpl011_init() to a variable
without checking it for an error. Fix it.

Fixes: 3580c8b2dfc3 ("xen/arm: if direct-map domain use native UART address and IRQ number for vPL011")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/domain_build.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 9707eb7b1bb1..3195c5b6d6ac 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3826,7 +3826,11 @@ static int __init construct_domU(struct domain *d,
      * 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 )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 10:30:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 10:30:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513302.794145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pevjF-0000Lu-Ov; Wed, 22 Mar 2023 10:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513302.794145; Wed, 22 Mar 2023 10: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 1pevjF-0000Ky-IT; Wed, 22 Mar 2023 10:30:01 +0000
Received: by outflank-mailman (input) for mailman id 513302;
 Wed, 22 Mar 2023 10: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=sCgZ=7O=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pevjE-0008I3-3M
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 10:30:00 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe59::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e84b6f3-c89c-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 11:29:58 +0100 (CET)
Received: from DS7PR06CA0023.namprd06.prod.outlook.com (2603:10b6:8:2a::14) by
 CY5PR12MB6249.namprd12.prod.outlook.com (2603:10b6:930:23::13) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.37; Wed, 22 Mar 2023 10:29:53 +0000
Received: from DM6NAM11FT096.eop-nam11.prod.protection.outlook.com
 (2603:10b6:8:2a:cafe::7d) by DS7PR06CA0023.outlook.office365.com
 (2603:10b6:8:2a::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Wed, 22 Mar 2023 10:29:53 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT096.mail.protection.outlook.com (10.13.173.145) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6222.17 via Frontend Transport; Wed, 22 Mar 2023 10:29:52 +0000
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 22 Mar
 2023 05:29:51 -0500
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.2375.34
 via Frontend Transport; Wed, 22 Mar 2023 05:29:50 -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: 7e84b6f3-c89c-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F4C2nVVuNH5Zzivo4wSKC817rApHB3DguqcQW5p81X3E8RDaEmWLeXbM9srrdH/voGYeI2hqRQz5s8nauhO+1b60cqylwpofDGCTMySmRzcMCNeRgsJuhWkZmCjc0sAfQR7g1PC6jU7C37K1GGt4yEZlGizu+qzMUMhlHbbBtGKNoEofj3arJpV+yX9xjgnwBSmWpDo7aAkYn0gAfiM/ZA+G3Kf3Ao4oJ9hQcj/etHWSbWylWD2zVxL/An0Ple3raK4rRz73o72y0BF9WaJDhwOQpIoABycQm9gQ+JpRMfxqBgydUz03LmsPJ+t0d7CBUSZHy3Q0vccKe+HuPGsekg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TyJRc0znxvGeUPenKllUBZbO/z1IN4gNAyJvbD+AGP0=;
 b=dYRgWtgS0/Zm2wFTbJhECusIlzznLCJ1GsuJKbYRCPOq8Xlx8Lo8msseFxXPdyOXMv4A4WdwpGoSTe2YA2q7wjmLIpFEHkRdsP7uQ5Qu9ICXR5afuEKDKkPIeIOdzETAs7Cc1YrN+MbNqNMHAcoJRmsqEcVwgHR7DczXCTl+m2MnMgxuECDcWRyqznCYTuhyC/bPqqz5FG2MzhimY4IF9KhYoGVMat02EB1er7wFArzjcqnGjNGHAkzNNl3vaReW5QDMa2tSHm2FVJAG2/qpKxlnN5nKYRk7jAznxTsTNB4YkcgOMIcpsAumYmTEKN7xIvisipPItIfZC4IUpATb9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TyJRc0znxvGeUPenKllUBZbO/z1IN4gNAyJvbD+AGP0=;
 b=Q/8qF0Ix/cGaRvoa3Ck0JgSQOOlXG/W0El0BHYmyl/AyV03NYnM9GMDOTC80pB+tuLgzjNyOw1MRoOOUdg0T88096q3ayhiK2AjKqsDMGM+8YkUv2TstBtR1zDiiq7lnjzOBt3rb/WTnHwQSp5mXudfDypSGYeJSPMz9CfEkqaY=
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/2] xen/arm: vpl011: Fix domain_vpl011_init error path
Date: Wed, 22 Mar 2023 11:29:41 +0100
Message-ID: <20230322102941.959-3-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230322102941.959-1-michal.orzel@amd.com>
References: <20230322102941.959-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: DM6NAM11FT096:EE_|CY5PR12MB6249:EE_
X-MS-Office365-Filtering-Correlation-Id: 76db225f-5eb6-4117-dc18-08db2ac05fb1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZWZs8Gdm2pyz9qJD4AnSgsscFj96KcJWDmKFn7lZnaBzRbDP5O+acVXM/oiL5DBQU4o7KfeG2KXoNcWwNVeo4mWHE2WRSgAx7XKZZzck9RtsNiBVJaNOJDaVzTjW7ZZC2PQXOpAyj8ROjPU5ehPFJGeT06p3dMGFTv+PhVNJpHERJs9FAWxsOvsuyBj+BBduAefy1ixVi0iM7LHfsMVZeRDTULLX8XRAqoVxbG5gg/cISI6HepDh65a+dUMb1jeUDd653jHqI+n9m5YTeZletRVFPArMWqqutreDhNSHswbovoawCcxPB/jSf7yonVdDDxfqdNQos4DjGDLdk0kybTY3b0ZJHIk917pi41m4XFOLV3SSCPV9Sjtks+mmW1ijtmerFyhGPZB30VRMQIQFf31/YWySX2oBgjW5PxZ/SrFjD2LXm3J9z0+itOJR76TeKx/pyUOOhgR0Bpe/saFJDuyuuBxNqEuild8YdqePQbT3gwnfITF2UpcDkYpJJNlvCIiB0kMkyA/CnNHBul0SHXAj4YbH3Xz0VBFJMx0wPRww9ITidymGS8mnzPWjcChjod+z61zHy1Zd0INCKWhoNqM1sdjeQZsCWbpqGJk/9c1yq3lxy9fCHgQRgq0ULsbF+vYwFhbGcu6GFVGZamntEdvtwPph28MwsA+seEtWndaeb6e1yyMPGsPdSxNg2VfW6+tw3Z2+cHZMyPbC/n1ITqyehM0f3bkvvJByhRqTsc4=
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:(13230025)(4636009)(396003)(376002)(136003)(346002)(39860400002)(451199018)(36840700001)(40470700004)(46966006)(186003)(1076003)(26005)(82740400003)(426003)(47076005)(2616005)(316002)(478600001)(83380400001)(54906003)(336012)(6666004)(8676002)(70206006)(70586007)(41300700001)(4326008)(36860700001)(36756003)(44832011)(5660300002)(6916009)(40460700003)(2906002)(81166007)(8936002)(356005)(86362001)(82310400005)(40480700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 10:29:52.9855
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 76db225f-5eb6-4117-dc18-08db2ac05fb1
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:
	DM6NAM11FT096.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6249

When vgic_reserve_virq() fails and backend is in domain, we should also
free the allocated event channel.

When backend is in Xen and call to xzalloc() returns NULL, there is no
need to call xfree(). This should be done instead on an error path
from vgic_reserve_virq(). Also, take the opportunity to return -ENOMEM
instead of -EINVAL when memory allocation fails.

Fixes: 1ee1e4b0d1ff ("xen/arm: Allow vpl011 to be used by DomU")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/vpl011.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 541ec962f189..df29a65ad365 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -696,8 +696,8 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
         vpl011->backend.xen = xzalloc(struct vpl011_xen_backend);
         if ( vpl011->backend.xen == NULL )
         {
-            rc = -EINVAL;
-            goto out1;
+            rc = -ENOMEM;
+            goto out;
         }
     }
 
@@ -720,12 +720,15 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
 out2:
     vgic_free_virq(d, vpl011->virq);
 
+    if ( vpl011->backend_in_domain )
+        free_xen_event_channel(d, vpl011->evtchn);
+    else
+        xfree(vpl011->backend.xen);
+
 out1:
     if ( vpl011->backend_in_domain )
         destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
                                 vpl011->backend.dom.ring_page);
-    else
-        xfree(vpl011->backend.xen);
 
 out:
     return rc;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 10:59:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 10:59:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513338.794172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pewC5-000650-NK; Wed, 22 Mar 2023 10:59:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513338.794172; Wed, 22 Mar 2023 10: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 1pewC5-00064t-K9; Wed, 22 Mar 2023 10:59:49 +0000
Received: by outflank-mailman (input) for mailman id 513338;
 Wed, 22 Mar 2023 10:59:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pewC3-00064n-U4
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 10:59:48 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7d732a9-c8a0-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 11:59:46 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7887.eurprd04.prod.outlook.com (2603:10a6:102:c9::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 10:59:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 10:59: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: a7d732a9-c8a0-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jk2p7NhYIgUSpRDpEXXPFM/x1qT7UJb21CNqOUGxVse3e7Ksf/3+guOSLkShnQTnHXaZ4mVQqLpHO0AY+ymGJFWxjgJxawJPPMeQPxvKME/qeXvpg4F/SRl0QD9ckK1TJjHw85Lyh2rTq4nmxWizUWlWKUwyDIEeuDxoRTaIVckiph6825WK3AiFi3eJYAVsRajxWhp2Rap49z8IGf7oJxt5Qtf1pihIsJCTUd3poXeOMNAS0EORVaQxO3MG//yQ/ZgZqVoQGg1cG/zImv+HgMsATeL+OCvnkOE8/JdmBg/+3Ct5rblfnPqjpvkyTTWjRgWQRFjqVFdDye0Hxoen5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qk6pneueVWqDtadW3WGirrHvMSJ7bTzjdbhVxSHHs0g=;
 b=LTQHWR1fNQA6YKE9HG7htKrt2jz4WW8CTt1u22X/nqkinN7J96MiyhW7ehdZjxzX7cBEXog1tpbpbJDAKyuOxQm/8iBMKWU8NZEmjUjk3NL+lZzfDHzrR+bgkAC/NQ1qRK4usGw18Q+4MpgEQ5Q9A0ZJzH/DwRFXwHUzQSFvaHkgx/VR1nwo0axY2I2Rrb4jTjBYx6yxFKE1IP0jxHKW7D8sAO+lFGAf0XBBMqut+hrjxhhh6snWfggPFjTFFn8B8EwzQoiXqCWIQOYTE7tnQEie9lJDPREJseEIRjCfh+5VUBNhRjwrrz+rVdwtyoQiqeV12eUzLi7ML3jhfNdsew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qk6pneueVWqDtadW3WGirrHvMSJ7bTzjdbhVxSHHs0g=;
 b=O9KJzc2bB0pRMoj0LencwgaMYfGrFCASkOOkuc6UpA8UYQAD51tvT6Ram2+khHFWqak/bJNZ2766LbBOVt3v7s7W4+jzsNLxh30I3mihankuJIAJc9euAAaQi3EvoKSqFllOB3Hn1Y442z+F/j+L7Nyr+BumJZmPfIMaiHPKQarTwCk1Xkfh7jGeS/Tprj7BdHvGcCJcpC7oq7z7wixaVkpDJGrRm3b+qFPks/U18PoqfTQv2icABE6xhJZaaDgSD8LsdfZNyrYfipiQNa7z+CsWsOO8Sh3suW0YsSQu8cag8pwTx/TjIoz2imREu1yvueLQYPs2mSQWIUd5k/1b+A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a2b798b6-a5f8-abde-222c-5049cc11c6eb@suse.com>
Date: Wed, 22 Mar 2023 11:59:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] include: don't mention stub headers more than once in a make
 rule
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0134.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7887:EE_
X-MS-Office365-Filtering-Correlation-Id: a7120e5e-e34d-4e4b-c0d9-08db2ac48abf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZGC+e7roqfATswC2VhoIMvMxU0WbkRu6SXdS0v5BSsklp4UWKwXP+9GMbODI9N0Y16M4qpBDA7tCUQbBS4fp92pVCm15XjoBJpCPX9NsbVnWUiPE44ZvnCd6MBHhxYplBaEWX8pDL+ownOaxDmG3NQ4tQIIgXXb53MFMYWkr+Yd9D47spE2A+qwiJbzRkU0KxWNAXZ35+u5eV3/UdTa8v+VCdWZeddago1WUZdtGw7OE4QD1IJp/ve8fAfrbEhpAJwYPbGbIVMvu3PHdIwa6eS/emv1mczCwVwi4VVWVmxsrcDgySUUrwtBx9OOjVxmm9/SKYpVn5TbhjCVPsRYgL+dOLbd/a3+YMI4vNNh1xhi5iDEv4niBuN0KDfSqj4bO/n+R0ME+gAqUZKnEBKt/YMgyEN4xgneNrXN1YwzRFQaLdHWjVcg29vOg7s+cfTbTRYOSC2MN9+YjlaMj9HsplvqEsoDri0Dv56y4BlTZCAhJJMBmV3zsuXy+zYPqVeR9ROcXfihhFU2cLeDid4b5JFonzhboM14R6aEPV2/wpHe9aWFCndS1ULDqXZ7RNzvcnfiu2VHPIhTIW3S5bTmaERBq6oRzyPtjLGPS7JAxX7goBzRJBW+g4r2htp8++/T3T0XV+/1WVj+NJeoy7BkJM0VM2UM9fzIYdvIJ8EJBbvIOwIXslrhr8+YUlcTbloo1bn6rjNZ6E99LHv/EjLhRLReCC/PwmW/uzxQae0J+ff8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(346002)(136003)(366004)(39860400002)(396003)(451199018)(86362001)(31696002)(36756003)(316002)(6916009)(8676002)(8936002)(4326008)(66476007)(478600001)(54906003)(66946007)(66556008)(6506007)(26005)(2616005)(31686004)(6486002)(6512007)(38100700002)(186003)(4744005)(5660300002)(41300700001)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VlZQc3BBTjhwczlGa1BJOU9wYzQ2c0xGeitDam5hQVJGZGw1Q2cxWnZxR3V2?=
 =?utf-8?B?RkQzc2J6OFhmYmQxZTI0ZzZMSEs3QUxMZC8xUEEwWVIxS0FURXpnd3lOaHoy?=
 =?utf-8?B?TkNQcnl6Z0dzMU9hdHpKeGk3WFB2dWF6aGl4dFFUQTJISVp4dFdQNUF4OWFR?=
 =?utf-8?B?bzNTS3BabWZqSVo2dFpVT2V6bU5NdHl5OEFiOFcrbkFCWVU4L3NHVmN1aisv?=
 =?utf-8?B?bmQxcW1NZ3QycFlyT1NNN3hjYU50bGhBZk8vZmNuQlpiMGFhSWtabndSYUg2?=
 =?utf-8?B?Z2lWOER4Q2dESXdGdVBSeGhlRkc0UzFJRmc1ckxXSWxwRnF0UG1taG9EdzY5?=
 =?utf-8?B?V1QzR3MrR3VzTjYxdkY3eFdYTjBnaG54YXlHdXBVK2ovaGVNUU5tZkFBUUMv?=
 =?utf-8?B?dU9zdEdKS3M2L01BdndBMHdTbE50NnVLNWRRTjduQkN0RGJUYTc5SkFlOTZ0?=
 =?utf-8?B?UUZ4eHFQSFB6KzBhSzYwcDYwVHQ3SDExZ1RzUGc0dFNDSlRSSVNvcHV3NFpk?=
 =?utf-8?B?YThUbVljdWZGOW56eFgzYmwwSTVOeVhqYWk2T0dLdEh5U2dEZEFQb2hORDV5?=
 =?utf-8?B?UTN1ZU44T2RNNTJjLzJoa2JzSkg5Y3UxNWhVTE4wVjJhMEZqVE9EODdWSnpL?=
 =?utf-8?B?T2JUY0dUdUxlSUt3NHFZdkJSSjlRL09rYjFZVEhvbHRicnF1bE4yTEtpYkNu?=
 =?utf-8?B?UVBQdDhmNHYvQ0FwTytvY0VwbW5Nalc3WjNZa1FaVFFlUldySjJKY3JVN3Jn?=
 =?utf-8?B?ditPN2ZlTEtSOGJoOXNhWHpTWlVReGFidEZUd1htRDBLWFNpNzR0SUJXQUhn?=
 =?utf-8?B?NWJhdU5zMmN0cEkzYVZocmh3S1dMRllYNWtmdlV2VE9sR3htdzgyWGZZeHdt?=
 =?utf-8?B?Ukl6RVZ3QVEveVBlQ2xaU0NIdEYvTHYxSWhSemxIOGduN1k0VWxjN1VSeGtI?=
 =?utf-8?B?Q0J3ZFNiVWVOWVAwTkxNYlFtV0k5azJwVG9TNnI0cVkyd05vMllDaS9SVGZI?=
 =?utf-8?B?WDU3Zkh3NVdzZFZFNi85Z0NjbytGSmhjMlVYYjVXR00zNzhUTlFJcG1wcWVW?=
 =?utf-8?B?OFpmMXlxNnltSGhyamgya0M1YS9Mb20wbERHc2hhZTBHa0dDM0RLUGNZV0tI?=
 =?utf-8?B?MlVWbjRPTnBhUEpDaHVrYUFlMTUxYVFtMDVoQTlBZ1NKeFpEc002Y3B2T3lE?=
 =?utf-8?B?VFlLdzZJcnFNSTdFbVhFa1Qvdk9sQkhjQlh2WUxLVjlxRFdnTXlKbnNYeVFM?=
 =?utf-8?B?bzZPWXZoNGRVRlNrVFV4a2Z2WGd5SzBUaDRCb2lDTDVkb3EvOHA2QWgvaXkz?=
 =?utf-8?B?OEV0bXoyM0FUM2NiYUFOSXFTUXJPb2NINTlMc0VRQmF4NXRGNWZwc0FIVjFl?=
 =?utf-8?B?SzR4cTRSaVBGZTI0Q3ZaQjcrYUN0WGhoRmpRbFptZmxVUnN3c0lGaXZlT0JG?=
 =?utf-8?B?aGpHM0duQWdIQzRrdWlBUlJtMTdTWFdibFBnclNSK1djczJnV05KSHY0TUs3?=
 =?utf-8?B?dFdscDBsMUFFVEptY1dUZ3BLN1ZUU3AwZFhGbm5ERmVXQ2RkT0RlbmZUMmJH?=
 =?utf-8?B?TFhLOEFQUnNNL24xdW9CRVBhZDRuTFBDcnhzMzZVaHdQeVY2M0daQ1FObzVU?=
 =?utf-8?B?THp3ZUNQSVpOL2VWUWlEWHZydVcvSlEyWmdYZEc5bGVaSTZwbUllWDZIaG82?=
 =?utf-8?B?M3FHajhzemRrTTVrc3hiQW00dDFxazh6dkFjQWZUMmM4WjlqZ2c3bU5Ucm1x?=
 =?utf-8?B?cS9aSnVnMVVaUDdXWDI2azdLOVljVDd2SzFWRXBZeHhzNXBJQVJKZVJNakNG?=
 =?utf-8?B?TEl3OE1GSi9NUWJaZHNrRlUydXBqaUdNdUJickZTR1BzSS9oYnFnTFpGTzV1?=
 =?utf-8?B?dmFqRlcvMlBYbjNJVGJHL3B4Y2RMVFZvcStKNkcyZTA3a1hKWXF2MUxQVnRr?=
 =?utf-8?B?elRyVnZrYlozNU10VnVQVnY3c2RHc2lwRWh4QVZaZkxNaVJ1TTFyOGxMNXlz?=
 =?utf-8?B?WmVXL1dKVEpHckdiOFY3a3VndVllSnJvN29XT2RnaFJ1WWhSMVdPR0RVWm1L?=
 =?utf-8?B?d3VSU0dWK09Wb213VWRrRlJWeUh3VWZsakxyU2JHNW9XOFAwMVRCdUFwL0NI?=
 =?utf-8?Q?oQK6daapUrRve6MUqZYlOpAaM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a7120e5e-e34d-4e4b-c0d9-08db2ac48abf
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 10:59:43.3930
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wC5PTF5/AXwG+qEvyz7hMzfkB3hKnj5YSNPHDFiXiGH60UJvvstxDMDmBrIWhhMN73TCR3Zi4kH+YY+rucomPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7887

When !GRANT_TABLE and !PV_SHIM headers-n contains grant_table.h twice,
causing make to complain "target '...' given more than once in the same
rule" for the rule generating the stub headers. We don't need duplicate
entries in headers-n anywhere, so zap them (by using $(sort ...)) right
where the final value of the variable is constructed.

Fixes: 6bec713f871f ("include/compat: produce stubs for headers not otherwise generated")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -34,7 +34,7 @@ headers-$(CONFIG_TRACEBUFFER) += compat/
 headers-$(CONFIG_XENOPROF) += compat/xenoprof.h
 headers-$(CONFIG_XSM_FLASK) += compat/xsm/flask_op.h
 
-headers-n := $(filter-out $(headers-y),$(headers-n) $(headers-))
+headers-n := $(sort $(filter-out $(headers-y),$(headers-n) $(headers-)))
 
 cppflags-y                := -include public/xen-compat.h -DXEN_GENERATING_COMPAT_HEADERS
 cppflags-$(CONFIG_X86)    += -m32


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 11:13:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 11:13:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513345.794197 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pewPI-0000Qz-3H; Wed, 22 Mar 2023 11:13:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513345.794197; Wed, 22 Mar 2023 11: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 1pewPI-0000Qs-0I; Wed, 22 Mar 2023 11:13:28 +0000
Received: by outflank-mailman (input) for mailman id 513345;
 Wed, 22 Mar 2023 11:13: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 1pewPG-0000Qi-Eu; Wed, 22 Mar 2023 11:13: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 1pewPG-0002si-DB; Wed, 22 Mar 2023 11:13: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 1pewPG-00059d-3N; Wed, 22 Mar 2023 11:13:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pewPG-0003pP-2c; Wed, 22 Mar 2023 11:13: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=DPQzVq9zZKKTE2SMIWT5f5xSHZENCMR80tEn2M9PW9k=; b=p4qz2UqdaTo+zatlW3mUtxHEYN
	EXOYnWd7tQUBAT2O5ZHLUbP5CJjeeL1S0RJJHBG8ZH3F1eCog84GW2l0ki3WS1CWmVBnXARMInROW
	Rh9hIWGHsctKl8K+2xTLhzMKsdJN+QqoZSZunZ8ueKsjUkObWldykpGkqVTLWU9FO1fg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179843-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 179843: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-i386-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    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-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-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-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-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-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-amd64-amd64-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-i386-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-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: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-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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-4.17-testing:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=a730e4d1190594102784222f76a984d10bbc88a9
X-Osstest-Versions-That:
    xen=ec5b058d2a6436a2e180315522fcf1645a8153b4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Mar 2023 11:13:26 +0000

flight 179843 xen-4.17-testing real [real]
flight 179866 xen-4.17-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179843/
http://logs.test-lab.xenproject.org/osstest/logs/179866/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-raw 19 guest-start/debian.repeat fail pass in 179866-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179062
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179062
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179062
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179062
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179062
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179062
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179062
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179062
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179062
 test-amd64-i386-xl-pvshim    14 guest-start                  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-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-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-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-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          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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  a730e4d1190594102784222f76a984d10bbc88a9
baseline version:
 xen                  ec5b058d2a6436a2e180315522fcf1645a8153b4

Last test of basis   179062  2023-03-03 07:07:05 Z   19 days
Testing same since   179843  2023-03-21 12:37:03 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   ec5b058d2a..a730e4d119  a730e4d1190594102784222f76a984d10bbc88a9 -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 11:13:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 11:13:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513349.794208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pewPi-0000pw-Bv; Wed, 22 Mar 2023 11:13:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513349.794208; Wed, 22 Mar 2023 11: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 1pewPi-0000pp-90; Wed, 22 Mar 2023 11:13:54 +0000
Received: by outflank-mailman (input) for mailman id 513349;
 Wed, 22 Mar 2023 11:13: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=5r5y=7O=citrix.com=prvs=438090303=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pewPf-0000pH-NV
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 11:13:52 +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 9d4da71c-c8a2-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 12:13:49 +0100 (CET)
Received: from mail-bn8nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 22 Mar 2023 07:13:44 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB5816.namprd03.prod.outlook.com (2603:10b6:510:34::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 11:13:42 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 11:13: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: 9d4da71c-c8a2-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679483629;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=rpR86r1ReNaHoidi5RpkEl8P/k+5VPAHDzDE/CWI2h0=;
  b=TX9QxJ9UAJVZFPuxbVd/ZgH+VO0RIAzT8FSVJTUvrYjq1eIaRrLQBaB5
   +u+3xk2mGjMBDQtXLIijFgFE9RkCr23pPF4akyt4qYLDuu0pGx6jYIrEt
   HiC6aSUtQsQHVkEfD+jrJPAMr4GUQkbBE4X0RtbVwS0QzI9VonP0gNOS2
   Y=;
X-IronPort-RemoteIP: 104.47.55.174
X-IronPort-MID: 102260531
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:9Z+tGa08JCO7KpA7dvbD5Y9xkn2cJEfYwER7XKvMYLTBsI5bpzMOm
 2IYXGiEPanfZ2r8eNp3btyyoUpUu5PTyYVmG1ZkpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdkP6gS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfLzhf1
 6EWEA43a06u2eSWwon8GtIrv5F2RCXrFNt3VnBI6xj8VKxja7aTBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvi6Kk1AZPLvFabI5fvSQQspYhACAr
 3/u9GXlGBAKcteYzFJp91r13rWVw3umA9t6+LuQ8qNVjEW4wDMpVjIIUmedj/qrsR75cocKQ
 6AT0m90xUQoz2SvT9/gT1i7rWSCsxo0RdVdCas55RuLx66S5ByWbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8hSm7NyEYKUcBaDUCQA9D5MPsyKk3gxTFZtVuCqi4ipvyAz6Y6
 zKFti8lnJ0IkNUGka68+DjvmCmwr5LESgo04AT/XW+/6A59Iom/aOSA7lzW7u1JKoqDeUWQp
 3gPm8WY7+cmAImEkWqGR+BlNK+k4fWMLDDHgRh3Fp0l9iyk93+LfIZM7TU4L0BsWu4Ncj/oa
 UnckQNJopRUOROCaa5xfpL0As8yzID+Gtn/EPPZdNxDZt52bgDvwc11TUuZ3mSomk58l6g6Y
 M2faZz1UipcDrl7xj2rQetbyaUs2i012WLUQ9b80gij1r2dInWSTN/pLWezUwzw14vcyC29z
 jqVH5LiJ8l3OAEmXhTqzA==
IronPort-HdrOrdr: A9a23:BQB8s6mrYMOeVrSzErqorp8tfPHpDfMIimdD5ihNYBxZY6Wkfq
 GV7YkmPHrP41wssR4b6Ku90da7MA/hHPJOjLX5RI3SOjUO21HYVL2Kj7GSuQEIcheWntK1vp
 0OT0ERMrHNJGk/ocLz4AyfGcsn2cWctIWpn/qb5XFrUAlhduVB4m5Ce2WmO3wzaA1PBZ8eHo
 eb/9Zc4x+hY2lSTsnTPBk4dtmGi9nClJfBawMBHgI8rDCHlj+u9frbHnGjsCs2Yndixb8j9E
 7Ojgrh+r/mivmhxhjAk1LC9pgTuNaJ8Lp+Lf3JpswcKjDLgBuvfZh6H4ePuy1wiPzH0idOrP
 D85zslN8R3zXnNeHiou1/W1xOl+jAo5H/t1USRnHvkpojCSC9/LMJEietiA2LkwntlkNV10K
 ds1X+eroZMSSnclD/h69WNbgpnj0KuoX0t1cYP5kYvM7c2Wft8qYQe+WVeDZEYADi/1YwuFK
 1PAajnlZJrWGLfQ3TQvmxIysGrR2goWiiLWVIDvMv96UkwoJlx9Tpm+PAi
X-IronPort-AV: E=Sophos;i="5.98,281,1673931600"; 
   d="scan'208";a="102260531"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MV6r1eT7rg8vvUyOYkt0Ao0Je//lF9jSwdmUjAwET7dmU7rNjwJ0+xoE5WR48N946tq1bDKWAM76JTor8p/RcOdnrzMfbwOz1NAe8UMz4suOhpx5A6isJKY79xlZqOGQX8Dem4G8YPSUNBHwmWFLm5rWOYJunrA/fcxsmDNmoKzjPQHfq22eGNE+7fcyvujhPXGvPZ1v155GxZnQV8f/wkPLPgIz1zibKRRMyBpvv/zhHic4M1n1w7++gal7lYQf/y2CitAL8YzcDXSc5trZ5rLo2VB25mbuiNQ9yE0crUNra6ItCaW0Yt4RJGZdFppr/jBryJSOsonjuQiUAEzPyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qtCdt/V9hWKPwpVfUI/dJYfrfLxnrwCJqorTk8qcJdw=;
 b=LvvjLA/yoUDXpemkPxjPk1smaN77jZrUgTD5X0E/M7OdKMD5WBP6BZCybOYpAUHluP0nnI/Gn0Xg1ZoquJA0g9d08kz7/2mgaZ8ipypjuSVzhqjiQ8qcYnaAKHf/XyYhOsxMtRJRAvtLj9aU1ZaY6i7QQfv2sMVh+KDnYv0aoDLp9ld348O1wj8QuBPH8dnsvX4yli1WhcnmgL29SrU8rwBWVAKnRsggtXQhnncO2oQCiQ90TegJl/IXeO1kso+Jl0GJ2mrad6lJHkEn74/8kkvbfB5HWqMQqSF2H+fBRfIrXuwRMxAHcRY2q1IkoI5Ckb81LTWHohe/ECyjIqgstw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qtCdt/V9hWKPwpVfUI/dJYfrfLxnrwCJqorTk8qcJdw=;
 b=AuozmpQn9fTy27rUQcznpS3EFNKojaViG/8ohIfeAAtNUFVUKAJ3DFXjmIL3jgFUg94TqF6Cc6NH6rxH3UoEa9hG2+gSku9NFh6BOY1rk61kC31etTbctDgh34P6WSqNoA6MbCkMezmGJbWJgXjQw07j5ic3/K4ZtbKULeHM2Fk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: linux-kernel@vger.kernel.org
Cc: xen-devel@lists.xenproject.org,
	Roger Pau Monne <roger.pau@citrix.com>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Alex Chiang <achiang@hp.com>,
	linux-acpi@vger.kernel.org
Subject: [PATCH v6] ACPI: processor: Fix evaluating _PDC method when running as Xen dom0
Date: Wed, 22 Mar 2023 12:13:29 +0100
Message-Id: <20230322111330.63651-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.40.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0137.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c4::15) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB5816:EE_
X-MS-Office365-Filtering-Correlation-Id: 3eb6de25-8805-47b6-ba4d-08db2ac67e57
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vRfQlboU14PQaPohphEehWlC0pqNXfw/2gflJaCdYn7I+SdlQPP+XC8Po+WH5IdrE6EDOh4rHx/UH2nMsmofvK1hE1PpDl+3av5GPXKBjdc8C7y6Vrea3qMdGVodsb05tqf24gV+257r4bCzVfEbifA1gNQabwQFHR1ml1POL9tEtW4VG+Yx9j7WV+6Jp/OIrBPn/frVinl2BI2F7CBNUxyETMtnAVnEqKhkbAVMqJRrLL9IJkCsSAZFJtqDZSrvNUvyAuacYdDWeZbbxpXXgL9Ewi5xqVTCBsOD1cgdfize9fSu7FV37LHOj6psSDTkJ72IP1ABQ6Zg2Jo2R5KtDALMBNyrYXLG7Fs+0fgdTQ5/HW+T7Fx6iRsXFHzFNHI0v3UmnY343Jv/fCX96cMVZdAy+/b1VRU9gixoqIFwE5tvnKizRWkABqwpvi7GhlF0yL8TEwvGU+DnRLWxlY8PYp+GIp7iTf3opBSTnMfdLDINEzcWYrxtUM2cOwjEv+IiZho0D2PXNnZMJG02kXr+0VMM8GEcameLzx1qPSTIbRiT7NG99oaG/1b/hL7OtrX2vgo6tSAa/5PzC3WO7OQNNMXqKZfuPjFcgX8EJciXT5PWUQ+I2RouAde5x6LOqwvHLzws1a4+iyZ/PaWQVHg/Cg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(376002)(136003)(39860400002)(396003)(366004)(451199018)(4326008)(66556008)(26005)(66476007)(66946007)(8936002)(8676002)(2906002)(5660300002)(7416002)(86362001)(38100700002)(36756003)(1076003)(82960400001)(316002)(6512007)(6486002)(6506007)(478600001)(6916009)(6666004)(54906003)(41300700001)(83380400001)(186003)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TFByN0o1RnFlSktSV2QzQXYrQlVlK3ZHZzZxb1ZDendmbXR4QlNKNTVreU9v?=
 =?utf-8?B?NjZHRm4yM2FlYzdwaUszSkRaMkV0YnFlM0daTzhhamlVT1FITVR6L2R0aTYy?=
 =?utf-8?B?QWRqK2N1emFKdmdGRVd1b2N5QVNqUzdMbCtab1hOUVpsdU5zQUExV1BTZ3Zi?=
 =?utf-8?B?eVZkZXIyYm9SS1dMc2dVSWN3TDkzREdVQXB4YnMvVmxmd2FLR2xPdHh5UDBT?=
 =?utf-8?B?c1MwcnU2K0VyeTVYZ0JEbkJsbFU4MGp3enE1c3RoSUhlcHRoR0Vzc1E3THhJ?=
 =?utf-8?B?aDhibHNxRU5Bb0hZZndtdVpqSXpkR1ZTdFRIZW1xVVpJRE9nZjVmeFdMQUJt?=
 =?utf-8?B?OGkwaUNpSUV2dHlLZFFhNTh4QXc0WE9zclYvUW9LVjFzTkxIS2V3U1hFclZV?=
 =?utf-8?B?MXZUbnVlMmFvSEpob3llUk4rUzZhMnJKTTdCNEJ3WHhIRCttR3VOSTNIeExh?=
 =?utf-8?B?SXpJeGJ1TUE2VVFyWU5UN1RoRHFjSjFvalhtTGdmQnhwQjZsZTdpaFVPYnZt?=
 =?utf-8?B?a1VncXFTU0l0emFWSEFDY1BndnJUbVM5eTJOMmt1ZkRxMnQrYnJpRzR4WnhL?=
 =?utf-8?B?MGx5cVZsS2tTQm5acTdWMDVwNWc2Ty92a1JOT29GMGtFNGVUUExTSkhmTTZr?=
 =?utf-8?B?d1JKVkVqemtWWUdBMm5RTEtYT0xaZ3gxRmV5a0ZXMVlKR2VrM3RsMVBYdk1C?=
 =?utf-8?B?WS9qcnBZL1E5MmRDMDJQVVcxZzZjTm8ra2hsWkdkNmJPSERUWGVPQ05sbzIr?=
 =?utf-8?B?OGNWbmhKSHJPTEdMMUVLZnNkNCtqUHlISWZXNUJZK1Z3c2pRbjQvN1g1YnNV?=
 =?utf-8?B?RjdRcnZSLzJtOVZ5WngyRS9JZk14WFdXNW9QQ016MUwvWWhPRU9oWW1neExy?=
 =?utf-8?B?dUNndWVzQXZJcnNMcUlLSWVsQ052Qmx4OSs3MWlrOHkyQ3I2bldkb0tDNVlm?=
 =?utf-8?B?RXdZTFNhcUhCSVlheHMxNklDZlkvMEtTUXViNTZtSWdsRHJSRy8raG9PZFcy?=
 =?utf-8?B?aXZTdEJCR1kzYXIvajQ2WVFjR3NoTS9ZbUlLTnJ1QWFHRGl3d3A3NkxZYjVa?=
 =?utf-8?B?ZC9WN2dnWnM1NDNCdVFDVCt1WGY5c3NBRkNRWnUyeWdTK2NqcWRIQW9FcDlO?=
 =?utf-8?B?dG1hbWlhVStxaXplWnpoNFYyYmJFcjQ3WFJaczFWaEgzSk9jT0w4TmZoWmpW?=
 =?utf-8?B?b1U4b0lacEhEOGEwQzYvdkhlbURLZmVXVU41RVhLZGRVTnpFaGNjR1R4di9U?=
 =?utf-8?B?N0UvUXNxVlNNeWo0VUVOeUp4VjJvZ0k4YkNiVTdYd0pGU1h3cFNhQlhkZDU5?=
 =?utf-8?B?RE9SQnZhRzR0em5nY2RKbjhwanJZLzl5aXQvL3JnVW9kYUd4ZVpoQlB0VEtR?=
 =?utf-8?B?VzBqWVZPRU5NdWRxTGkvWFZJcFI4eE5IVlArMFRaaFVTcVdRRVNRWjY3U0dj?=
 =?utf-8?B?NzlNUjVENDRtVUJtSTRKOHk4RzlsRGZTQjN5OGRtcmlEamRNSjdyNFZqVWtq?=
 =?utf-8?B?UWc5c3RkaGFRa29IZEJncDUzS3FJK01rQUtsODdYb1VtNkh5UEZUaXpvc080?=
 =?utf-8?B?S0x0OXVJSWlldjJtQ2M3dGRia1FzYlNtZkhxOEtJRFFoOHp1VDBxdDB6RE5E?=
 =?utf-8?B?RjVqZ0NvMHhJNmVwcDhJaG5pRVF3c1Z5dmEwSDhBMjE3NTMyaFhtZzJNWXg1?=
 =?utf-8?B?RmVCdnFYRmNwdVZkMzhiajZOM3F5dk1IbjZmWFlDdGE2WDV0d2k4UHM3a2VJ?=
 =?utf-8?B?VGNqeU50UDlHaEE5L1hSVFZya1NWbjB5WXNOSGU1c3UraWZHR3JLYTg1RVBk?=
 =?utf-8?B?SUVCY2l5cmp1SGg0SUhVZlUyRFRSOFdQY1JncFJvcEJtUmphQXpCNm1taGgz?=
 =?utf-8?B?QUc1eHVIVEhqeFFNQkhFWkgrMXlBVGx1NTZhOWV3bVpRdTZsRHF0azNEaURa?=
 =?utf-8?B?VC9FK0tsWWQ5YnIybmZSb3RQV1BpMytLSzUvazFxRTlQNnM4akZrY0FZQm14?=
 =?utf-8?B?TERycEtORVhNaE4zcVQzcE9obHJxUXZpeFhYcUxKUWZPMTVmenJ3N1lmWkFI?=
 =?utf-8?B?bVJGMlV3S0hNTWFNSXNoOGtpMWJLeTJqc1p1OWxvYU03NHp3RDN2dk1KVHds?=
 =?utf-8?B?eHZjb0dEcWhYK3Z2M2pLQUZIblVTVjJXcUVKd3FBWVJFUUtqTjJHQ0s0M05T?=
 =?utf-8?B?NFE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?dHpTRHJHaklXM20xR212amtFUDRIM0V2c0NwWUljZ1JWMFNlNjBKV21hNWdp?=
 =?utf-8?B?Yml6c1pEZ0dFMWJoWG8yY0h5TERTQmZoekRiSkE3Y0p6Nk1VaEs1RTZ1SzJr?=
 =?utf-8?B?cVJrbm5QNm92MzV3OVV3dnFGOVMxZ1YrU2R0cVBOMUZSMTd6QnUyZHdpQkdx?=
 =?utf-8?B?dTZ1UzFpSlRscFplMVJiTzIwSUJCUzBsc3pFNm43VzNDNEpDSmhIV0FiWDRv?=
 =?utf-8?B?UGNON1pPR1N6NXM5TGVlQXp5UlRjRENnNGxidk11QWhFMjJKeEtBeWRVS1N6?=
 =?utf-8?B?bEdsUnJkdFozTEpDVXJ2MzYwM0pwK01ESm5WUzdwRDU3d0hYU2tFNGhkUVVh?=
 =?utf-8?B?dThRRU1zTjlGTVI1ZmJFdTEvUFJ0MzRXbGluY1hYRnU5TCs5eXFBMmlJYUl3?=
 =?utf-8?B?aEtLYmJYS1RGeTgySjhCY3VZc3p3UEVDUXlEQ24zOXRkT1ZHcW02ZTZxL09O?=
 =?utf-8?B?eWlhK2p2ckcwcUpQRndYcVVQUkVNTFh4MGJveTNNWmZDSlR0N3RUeG00ZjNa?=
 =?utf-8?B?RkE1bHdQd014VzhQZHlLZnJ1dEpZeVZ2ZGFqTFNQNTJPWW9wUjZmbmdUR3Y1?=
 =?utf-8?B?TDNvZW1US3MrVXZibWt5VGVYcVVjVGlIbWQzeGZkZFBUTjN4b2wxWHIyMUlN?=
 =?utf-8?B?R1ZIOGpiN0J5TlB1UVRiTnh0Y3JhdTBhTEw0VW5EZFNCOXB6REQ1R0duTFRj?=
 =?utf-8?B?elM0a21pemV4aUlQUWZIWnRIa2E4cnVWM1ZBR0dJQXVuZGhJWCtoSVRONFla?=
 =?utf-8?B?eG8xY1h1d2lka056Wml4S3FOZStKZUdtWVN1M3FnNHNiUmd1bzBScWtqTUND?=
 =?utf-8?B?RTE1QUpEUVRoOTVDaCtqK000TkZMaEYrZjNZZzlLTFd3K09UNnd0aU93QUZm?=
 =?utf-8?B?UjBYb2tYZVVSQzgra3VSeU9FZDhLVWxmRE5iaVpwVzYrREZPWE80UW5TNUZ2?=
 =?utf-8?B?VUpGcXZBRDh5V2ZRc0ZRbzNpalpRczlSMSt5eFdWSGZqVUZaMDMwSk1JN3pl?=
 =?utf-8?B?UTV1TFpHbXh0U2JFQ3NvQ1QvUzZRRlU2L09RWUZlbHo2M1d3bWd2TzhXQk1m?=
 =?utf-8?B?VENpLzdkWjh5YjRBTHZKNGJQTHNZMSt6NWdFa2g0UnZtWUxQV0tWS3RVYlRz?=
 =?utf-8?B?ZzlxUElMOCtSR2pDUnBkdTMzTVNNMFVOMkp5ckQ4RVBKWDgvYkJMQ3F1Wjll?=
 =?utf-8?B?ZTMyaWVzaW9IVU1IWnMvSGRRcTRQUXhqUTBETHhxNHJxdjdDOS9SY3o4anRq?=
 =?utf-8?Q?I2D94HmZKoX+ewv?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3eb6de25-8805-47b6-ba4d-08db2ac67e57
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 11:13:41.9181
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JGvtFCCPtSBigKCdCARBN20Wd1t/hg4oTpd1czhhshwAI/cD6VRoumoLi5gf8YdGo+YdnVC05GA90wzYSfK6UQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5816

In ACPI systems, the OS can direct power management, as opposed to the
firmware.  This OS-directed Power Management is called OSPM.  Part of
telling the firmware that the OS going to direct power management is
making ACPI "_PDC" (Processor Driver Capabilities) calls.  These _PDC
methods must be evaluated for every processor object.  If these _PDC
calls are not completed for every processor it can lead to
inconsistency and later failures in things like the CPU frequency
driver.

In a Xen system, the dom0 kernel is responsible for system-wide power
management.  The dom0 kernel is in charge of OSPM.  However, the
number of CPUs available to dom0 can be different than the number of
CPUs physically present on the system.

This leads to a problem: the dom0 kernel needs to evaluate _PDC for
all the processors, but it can't always see them.

In dom0 kernels, ignore the existing ACPI method for determining if a
processor is physically present because it might not be accurate.
Instead, ask the hypervisor for this information.

Fix this by introducing a custom function to use when running as Xen
dom0 in order to check whether a processor object matches a CPU that's
online.  Such checking is done using the existing information fetched
by the Xen pCPU subsystem, extending it to also store the ACPI ID.

This ensures that _PDC method gets evaluated for all physically online
CPUs, regardless of the number of CPUs made available to dom0.

Fixes: 5d554a7bb064 ('ACPI: processor: add internal processor_physically_present()')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v5:
 - Include bug.h header for the inline dummy helper.
 - Constify pcpu local variable in xen_processor_present().

Changes since v4:
 - Move definition/declaration of xen_processor_present() to different
   header.
 - Fold subject edit.

Changes since v3:
 - Protect xen_processor_present() definition with CONFIG_ACPI.

Changes since v2:
 - Extend and use the existing pcpu functionality.

Changes since v1:
 - Reword commit message.
---
 drivers/acpi/processor_pdc.c | 11 +++++++++++
 drivers/xen/pcpu.c           | 20 ++++++++++++++++++++
 include/xen/xen.h            | 11 +++++++++++
 3 files changed, 42 insertions(+)

diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c
index 8c3f82c9fff3..18fb04523f93 100644
--- a/drivers/acpi/processor_pdc.c
+++ b/drivers/acpi/processor_pdc.c
@@ -14,6 +14,8 @@
 #include <linux/acpi.h>
 #include <acpi/processor.h>
 
+#include <xen/xen.h>
+
 #include "internal.h"
 
 static bool __init processor_physically_present(acpi_handle handle)
@@ -47,6 +49,15 @@ static bool __init processor_physically_present(acpi_handle handle)
 		return false;
 	}
 
+	if (xen_initial_domain())
+		/*
+		 * When running as a Xen dom0 the number of processors Linux
+		 * sees can be different from the real number of processors on
+		 * the system, and we still need to execute _PDC for all of
+		 * them.
+		 */
+		return xen_processor_present(acpi_id);
+
 	type = (acpi_type == ACPI_TYPE_DEVICE) ? 1 : 0;
 	cpuid = acpi_get_cpuid(handle, type, acpi_id);
 
diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
index fd3a644b0855..b3e3d1bb37f3 100644
--- a/drivers/xen/pcpu.c
+++ b/drivers/xen/pcpu.c
@@ -58,6 +58,7 @@ struct pcpu {
 	struct list_head list;
 	struct device dev;
 	uint32_t cpu_id;
+	uint32_t acpi_id;
 	uint32_t flags;
 };
 
@@ -249,6 +250,7 @@ static struct pcpu *create_and_register_pcpu(struct xenpf_pcpuinfo *info)
 
 	INIT_LIST_HEAD(&pcpu->list);
 	pcpu->cpu_id = info->xen_cpuid;
+	pcpu->acpi_id = info->acpi_id;
 	pcpu->flags = info->flags;
 
 	/* Need hold on xen_pcpu_lock before pcpu list manipulations */
@@ -381,3 +383,21 @@ static int __init xen_pcpu_init(void)
 	return ret;
 }
 arch_initcall(xen_pcpu_init);
+
+#ifdef CONFIG_ACPI
+bool __init xen_processor_present(uint32_t acpi_id)
+{
+	const struct pcpu *pcpu;
+	bool online = false;
+
+	mutex_lock(&xen_pcpu_lock);
+	list_for_each_entry(pcpu, &xen_pcpus, list)
+		if (pcpu->acpi_id == acpi_id) {
+			online = pcpu->flags & XEN_PCPU_FLAGS_ONLINE;
+			break;
+		}
+	mutex_unlock(&xen_pcpu_lock);
+
+	return online;
+}
+#endif
diff --git a/include/xen/xen.h b/include/xen/xen.h
index 7adf59837c25..0efeb652f9b8 100644
--- a/include/xen/xen.h
+++ b/include/xen/xen.h
@@ -71,4 +71,15 @@ static inline void xen_free_unpopulated_pages(unsigned int nr_pages,
 }
 #endif
 
+#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI) && defined(CONFIG_X86)
+bool __init xen_processor_present(uint32_t acpi_id);
+#else
+#include <linux/bug.h>
+static inline bool xen_processor_present(uint32_t acpi_id)
+{
+	BUG();
+	return false;
+}
+#endif
+
 #endif	/* _XEN_XEN_H */
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 11:33:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 11:33:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513357.794219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pewig-0003w3-5y; Wed, 22 Mar 2023 11:33:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513357.794219; Wed, 22 Mar 2023 11: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 1pewig-0003vw-1b; Wed, 22 Mar 2023 11:33:30 +0000
Received: by outflank-mailman (input) for mailman id 513357;
 Wed, 22 Mar 2023 11:33: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=dhKM=7O=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pewie-0003va-Jp
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 11:33:28 +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 5b16e145-c8a5-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 12:33:25 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id i9so16668678wrp.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 04:33:24 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 e8-20020adffc48000000b002c8476dde7asm13576014wrs.114.2023.03.22.04.33.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Mar 2023 04:33:23 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b16e145-c8a5-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679484804;
        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=Zlfks0r1DSnLqCRS1mu2UoutTm79n3LdvTpNmxsqVmE=;
        b=Lg9xFbFJBzRb8avraQBjIRurKChV+wEweB4XPxxWpKXimxZ84TGkxkdR+emIGN5IqW
         pE0Ki8eBFmjuhxyemNOqTW1NfvjEL/GJ36FwIT1ufPgD/5Hzn67SIoUNRe57cJOLf64o
         PMuqqo3Yj1MCuiL9ZfI1bxQ6gZnaU+8q/qyqKKyK2MxtsQYQ+GkzZaOhWDKmmOPDs1ez
         9pP70mQrUsXNo90D88zLDB83gQG5Ewzh4d70IPqJZrefHoIl3ilx50ALBKveaqLDkKAF
         VhUDGniHiMznVzq1MF5gBkfpFuEjk/0TRD0EYDTdqAIcAeYsehdqnOcz0f4u4nDOHcNz
         ZxOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679484804;
        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=Zlfks0r1DSnLqCRS1mu2UoutTm79n3LdvTpNmxsqVmE=;
        b=sAoNYltnw3zpVURw7HKS9RBuOWSTnJTxes8uozogVsmGSdA87Er6DH5ReHP2sNcOiq
         gEWMnyHzwAfTAlfUHCTzk9tX+GM3cER7lcgMmj3MLa9be38ByQXng+i2xM+w0lLpUTfh
         OlTHSGp11tUm5LWlXTGz7ei6wZ/kGAFs4hU7B32tkXUd5khN5hi1/2DLREMFR0mZxtuJ
         eu7H7XTuOK9kfSYQtdEF8Z49KqLW+2rdtITEzG8GrIFd4kCjAW5FqEYULR8pTDshNJ/2
         vqUr2VmaLocyJDPcspnYtElDeeF11Aa2TIDNJssK0qYxGmndYzl5ZFaWosyjMEXXi17k
         6ptQ==
X-Gm-Message-State: AO0yUKW8ybf6iuW0NFmjuS9YahVHGt0v+uu5DytgqhHZfoR4f1UuWacx
	RvD8mxLNv0HU+ufrXUccFUM=
X-Google-Smtp-Source: AK7set/O2hC3ujToRHG9N5B7ho4b4quZdHS7o98CQiuukPhlHAlPc8ab5grA4noaHRpe5ebDfKDjiA==
X-Received: by 2002:adf:ea86:0:b0:2c9:23c4:8f93 with SMTP id s6-20020adfea86000000b002c923c48f93mr4900591wrm.57.1679484803684;
        Wed, 22 Mar 2023 04:33:23 -0700 (PDT)
Message-ID: <520d64f0b6cd283416aa4fb7b9baa5f83454c4a8.camel@gmail.com>
Subject: Re: [PATCH v5 5/7] xen/riscv: introduce trap_init()
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>
Date: Wed, 22 Mar 2023 13:33:22 +0200
In-Reply-To: <5a2c6f35-373a-de3c-1db2-aeeb1b39635f@xen.org>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
	 <91b0284d20f530f2795a119ccb7436ee0b800256.1678976127.git.oleksii.kurochko@gmail.com>
	 <5a2c6f35-373a-de3c-1db2-aeeb1b39635f@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

Hi Julien,

On Tue, 2023-03-21 at 17:42 +0000, Julien Grall wrote:
> Hi Oleksii,
>=20
> On 16/03/2023 14:39, Oleksii Kurochko wrote:
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
> > ---
> > Changes in V5:
> > =C2=A0=C2=A0 - Nothing changed
> > ---
> > Changes in V4:
> > =C2=A0=C2=A0 - Nothing changed
> > ---
> > Changes in V3:
> > =C2=A0=C2=A0 - Nothing changed
> > ---
> > Changes in V2:
> > =C2=A0=C2=A0 - Rename setup_trap_handler() to trap_init().
> > =C2=A0=C2=A0 - Add Reviewed-by to the commit message.
> > ---
> > =C2=A0 xen/arch/riscv/include/asm/traps.h | 1 +
> > =C2=A0 xen/arch/riscv/setup.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 | 5 +++++
> > =C2=A0 xen/arch/riscv/traps.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 | 7 +++++++
> > =C2=A0 3 files changed, 13 insertions(+)
> >=20
> > diff --git a/xen/arch/riscv/include/asm/traps.h
> > b/xen/arch/riscv/include/asm/traps.h
> > index f3fb6b25d1..f1879294ef 100644
> > --- a/xen/arch/riscv/include/asm/traps.h
> > +++ b/xen/arch/riscv/include/asm/traps.h
> > @@ -7,6 +7,7 @@
> > =C2=A0=20
> > =C2=A0 void do_trap(struct cpu_user_regs *cpu_regs);
> > =C2=A0 void handle_trap(void);
> > +void trap_init(void);
> > =C2=A0=20
> > =C2=A0 #endif /* __ASSEMBLY__ */
> > =C2=A0=20
> > diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> > index 36556eb779..b44d105b5f 100644
> > --- a/xen/arch/riscv/setup.c
> > +++ b/xen/arch/riscv/setup.c
> > @@ -3,7 +3,9 @@
> > =C2=A0 #include <xen/kernel.h>
> > =C2=A0=20
> > =C2=A0 #include <asm/boot-info.h>
> > +#include <asm/csr.h>
> > =C2=A0 #include <asm/early_printk.h>
> > +#include <asm/traps.h>
> > =C2=A0=20
> > =C2=A0 /* Xen stack for bringing up the first CPU. */
> > =C2=A0 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
> > @@ -32,7 +34,10 @@ void __init noreturn start_xen(unsigned long
> > bootcpu_id,
> > =C2=A0=20
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fill_boot_info();
> > =C2=A0=20
> > +=C2=A0=C2=A0=C2=A0 trap_init();
> > +
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk("All set up\n");
> > +
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for ( ;; )
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 asm volatile ("w=
fi");
> > =C2=A0=20
> > diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
> > index 8a1529e0c5..581f34efbc 100644
> > --- a/xen/arch/riscv/traps.c
> > +++ b/xen/arch/riscv/traps.c
> > @@ -13,6 +13,13 @@
> > =C2=A0 #include <asm/processor.h>
> > =C2=A0 #include <asm/traps.h>
> > =C2=A0=20
> > +void trap_init(void)
> > +{
> > +=C2=A0=C2=A0=C2=A0 unsigned long addr =3D (unsigned long)&handle_trap;
>=20
> It is not super clear to me whether this is going to store the
> virtual=20
> or physical address.
Actually it is going to store both the virtual and physical address.
Depending on if MMU is enabled or not.
>=20
> Depending on the answer, the next would be whether the value would
> still=20
> be valid after the MMU is turned on?
It would still be valid because for addr will be generated PC-relative
address.
>=20
> > +
> > +=C2=A0=C2=A0=C2=A0 csr_write(CSR_STVEC, addr);
> > +}
> > +
> > =C2=A0 static const char *decode_trap_cause(unsigned long cause)
> > =C2=A0 {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 static const char *const trap_causes[] =
=3D {
>=20
> Cheers,
>=20
> ~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:09:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:09:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513368.794229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexGu-0008K2-CC; Wed, 22 Mar 2023 12:08:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513368.794229; Wed, 22 Mar 2023 12: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 1pexGu-0008Jv-6v; Wed, 22 Mar 2023 12:08:52 +0000
Received: by outflank-mailman (input) for mailman id 513368;
 Wed, 22 Mar 2023 12:08: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=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pexGs-0008Jp-67
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:08:50 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4cf1da5d-c8aa-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 13:08: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 7E71220D4C;
 Wed, 22 Mar 2023 12:08: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 3C15313416;
 Wed, 22 Mar 2023 12:08:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id bI48Dc/vGmT3TgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 12:08:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4cf1da5d-c8aa-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679486927; 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=TbUT4bS/1mAf5l0t4bx2e5I2vKmdIgrz1+HOUskmE+o=;
	b=lYn0Eo9Dj5BPojXK2vUSs4omZJ6TMUYweNllHrzRYccu0NA5yCV2982Q7NIL5/H5tlqJEF
	Sb67vEtibE0RaF6QnlfTNYpBlgw/gC1H17d+WxS1d2z1VF4mND6STf2yTOHUv88yWG3Wgw
	wwT2W71uUxfjzvUleQZ0A1785Fe6pZU=
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>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v4 0/5] tools: use xen-tools/libs.h for common definitions
Date: Wed, 22 Mar 2023 13:08:39 +0100
Message-Id: <20230322120844.19657-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are some macros defined multiple times in tools. Use only
a single header file for defining those macros and drop the copies,
or use stddef.h for offsetof().

V2:
- add patch 1 (Andrew Cooper)

V3:
- address comments

V4:
- patch 1 of V3 already applied
- new patches 3-5

Juergen Gross (5):
  tools: add container_of() macro to xen-tools/common-macros.h
  tools: get rid of additional min() and max() definitions
  tools/hvmloader: remove private offsetof() definition
  tools/libfsimage: remove private offsetof() definition
  tools/libs/vchan: remove private offsetof() definition

 tools/firmware/hvmloader/util.h         | 11 ++---------
 tools/include/xen-tools/common-macros.h |  4 ++++
 tools/libfsimage/xfs/fsys_xfs.c         |  4 +---
 tools/libs/vchan/init.c                 |  8 ++------
 tools/tests/vpci/Makefile               |  2 +-
 tools/tests/vpci/emul.h                 | 22 +---------------------
 tools/tests/x86_emulator/x86-emulate.h  |  5 -----
 tools/xenstore/list.h                   |  6 ++----
 8 files changed, 13 insertions(+), 49 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:09:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:09:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513369.794237 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexGz-0000Bn-IC; Wed, 22 Mar 2023 12:08:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513369.794237; Wed, 22 Mar 2023 12: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 1pexGz-0000Bg-Fd; Wed, 22 Mar 2023 12:08:57 +0000
Received: by outflank-mailman (input) for mailman id 513369;
 Wed, 22 Mar 2023 12:08: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=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pexGy-0008Jp-MQ
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:08:56 +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 5029a5c1-c8aa-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 13:08: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-out1.suse.de (Postfix) with ESMTPS id 3B9C433AA9;
 Wed, 22 Mar 2023 12:08: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 E1CD513416;
 Wed, 22 Mar 2023 12:08:52 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id r4l8NdTvGmQITwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 12:08: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: 5029a5c1-c8aa-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679486933; 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=P9SZJQ2l/SM9CqHAOm4kp4DfYnJzxAm8/FClRZGJjyA=;
	b=kjvVR+o58cgjc2f86NVx3+wlIrZTByTz/BM4TxpCu7lSNps+Y3hasEPHDhQFrLF6sUYQVD
	g352pkTHLRSSb8aqS68iUGoRliKyfnsAIaalS1r3dhUKmNqTPDY+6WJqdAwGxWMcyN0qmX
	fREQWn2xJcRaQpeHUJ7MMAj+FS9H5+o=
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>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v4 1/5] tools: add container_of() macro to xen-tools/common-macros.h
Date: Wed, 22 Mar 2023 13:08:40 +0100
Message-Id: <20230322120844.19657-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230322120844.19657-1-jgross@suse.com>
References: <20230322120844.19657-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of having 4 identical copies of the definition of a
container_of() macro in different tools header files, add that macro
to xen-tools/common-macros.h and use that instead.

Delete the other copies of that macro.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
There is a similar macro CONTAINER_OF() defined in
tools/include/xentoolcore_internal.h, which allows to not only use a
type for the 2nd parameter, but a variable, too.
I'd like to get rid of that macro as well, but there are lots of use
cases especially in libxl. Any thoughts regarding that macro?
I could either:
- don't touch it at all
- enhance container_of() like CONTAINER_OF() and replace all use cases
  of CONTAINER_OF() with container_of()
- replace the few CONTAINER_OF() users outside libxl with container_of()
  and define CONTAINER_OF() in e.g. libxl_internal.h
- replace all CONTAINER_OF() use cases with container_of(), including
  the change from (.., var, ..) to (.., type, ...).

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/include/xen-tools/common-macros.h | 4 ++++
 tools/tests/vpci/emul.h                 | 6 +-----
 tools/tests/x86_emulator/x86-emulate.h  | 5 -----
 tools/xenstore/list.h                   | 6 ++----
 4 files changed, 7 insertions(+), 14 deletions(-)

diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h
index a372b9ecf2..b046ab48bf 100644
--- a/tools/include/xen-tools/common-macros.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -76,4 +76,8 @@
 #define __must_check __attribute__((__warn_unused_result__))
 #endif
 
+#define container_of(ptr, type, member) ({                \
+    typeof( ((type *)0)->member ) *__mptr = (ptr);        \
+    (type *)( (char *)__mptr - offsetof(type,member) );})
+
 #endif	/* __XEN_TOOLS_COMMON_MACROS__ */
diff --git a/tools/tests/vpci/emul.h b/tools/tests/vpci/emul.h
index f03e3a56d1..7169a2ea02 100644
--- a/tools/tests/vpci/emul.h
+++ b/tools/tests/vpci/emul.h
@@ -27,11 +27,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-#define container_of(ptr, type, member) ({                      \
-        typeof(((type *)0)->member) *mptr = (ptr);              \
-                                                                \
-        (type *)((char *)mptr - offsetof(type, member));        \
-})
+#include <xen-tools/common-macros.h>
 
 #define smp_wmb()
 #define prefetch(x) __builtin_prefetch(x)
diff --git a/tools/tests/x86_emulator/x86-emulate.h b/tools/tests/x86_emulator/x86-emulate.h
index 46d4e43cea..1af986f78d 100644
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -56,11 +56,6 @@
 
 #define cf_check /* No Control Flow Integriy checking */
 
-#define container_of(ptr, type, member) ({             \
-    typeof(((type *)0)->member) *mptr__ = (ptr);       \
-    (type *)((char *)mptr__ - offsetof(type, member)); \
-})
-
 #define AC_(n,t) (n##t)
 #define _AC(n,t) AC_(n,t)
 
diff --git a/tools/xenstore/list.h b/tools/xenstore/list.h
index b17d13e0ec..a464a38b61 100644
--- a/tools/xenstore/list.h
+++ b/tools/xenstore/list.h
@@ -3,6 +3,8 @@
 /* Taken from Linux kernel code, but de-kernelized for userspace. */
 #include <stddef.h>
 
+#include <xen-tools/common-macros.h>
+
 #undef LIST_HEAD_INIT
 #undef LIST_HEAD
 #undef INIT_LIST_HEAD
@@ -15,10 +17,6 @@
 #define LIST_POISON1  ((void *) 0x00100100)
 #define LIST_POISON2  ((void *) 0x00200200)
 
-#define container_of(ptr, type, member) ({			\
-        typeof( ((type *)0)->member ) *__mptr = (ptr);	\
-        (type *)( (char *)__mptr - offsetof(type,member) );})
-
 /*
  * Simple doubly linked list implementation.
  *
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:09:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:09:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513370.794248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexH3-0000Zq-QM; Wed, 22 Mar 2023 12:09:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513370.794248; Wed, 22 Mar 2023 12: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 1pexH3-0000Zh-NS; Wed, 22 Mar 2023 12:09:01 +0000
Received: by outflank-mailman (input) for mailman id 513370;
 Wed, 22 Mar 2023 12: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=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pexH2-0000Ws-Ue
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:09:00 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5391c5e9-c8aa-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 13:08: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 F03FF20D4C;
 Wed, 22 Mar 2023 12:08: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 ADD0613416;
 Wed, 22 Mar 2023 12:08:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id jHAFKdrvGmQVTwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 12:08: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: 5391c5e9-c8aa-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679486938; 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=suOiz4udjcsmoILWLrFfDzQ1cyAZXnKkjPEFbgxcutI=;
	b=Mgx0UeP5T6p24ilFp2nB8LPyQ5/rvGblISqIATSZTzIOv4Bl3RJhjP0CEGxBVW46Jnay/h
	DUr1oe9+K3ynDLWDv4eFiwfMYd9+68PeKBfio3UvWl36lA0BBvhcX6J7ty65pWJei/B3Er
	1QvBiGUNRjYZD7hYkdpEQB6t+mshR0c=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 2/5] tools: get rid of additional min() and max() definitions
Date: Wed, 22 Mar 2023 13:08:41 +0100
Message-Id: <20230322120844.19657-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230322120844.19657-1-jgross@suse.com>
References: <20230322120844.19657-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Defining min(), min_t(), max() and max_t() at other places than
xen-tools/common-macros.h isn't needed, as the definitions in said
header can be used instead.

Same applies to BUILD_BUG_ON() in hvmloader.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/firmware/hvmloader/util.h |  8 ++------
 tools/libs/vchan/init.c         |  3 +--
 tools/tests/vpci/Makefile       |  2 +-
 tools/tests/vpci/emul.h         | 16 ----------------
 4 files changed, 4 insertions(+), 25 deletions(-)

diff --git a/tools/firmware/hvmloader/util.h b/tools/firmware/hvmloader/util.h
index 8d95eab28a..e04990ee97 100644
--- a/tools/firmware/hvmloader/util.h
+++ b/tools/firmware/hvmloader/util.h
@@ -9,6 +9,8 @@
 #include <xen/hvm/hvm_info_table.h>
 #include "e820.h"
 
+#include <xen-tools/common-macros.h>
+
 /* Request un-prefixed values from errno.h. */
 #define XEN_ERRNO(name, value) name = value,
 enum {
@@ -41,12 +43,6 @@ void __assert_failed(const char *assertion, const char *file, int line)
 void __bug(const char *file, int line) __attribute__((noreturn));
 #define BUG() __bug(__FILE__, __LINE__)
 #define BUG_ON(p) do { if (p) BUG(); } while (0)
-#define BUILD_BUG_ON(p) ((void)sizeof(char[1 - 2 * !!(p)]))
-
-#define min_t(type,x,y) \
-        ({ type __x = (x); type __y = (y); __x < __y ? __x: __y; })
-#define max_t(type,x,y) \
-        ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; })
 
 #define MB(mb) (mb##ULL << 20)
 #define GB(gb) (gb##ULL << 30)
diff --git a/tools/libs/vchan/init.c b/tools/libs/vchan/init.c
index 9195bd3b98..021e1f29e1 100644
--- a/tools/libs/vchan/init.c
+++ b/tools/libs/vchan/init.c
@@ -45,6 +45,7 @@
 #include <xen/sys/gntalloc.h>
 #include <xen/sys/gntdev.h>
 #include <libxenvchan.h>
+#include <xen-tools/common-macros.h>
 
 #include "vchan.h"
 
@@ -72,8 +73,6 @@
 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
 #endif
 
-#define max(a,b) ((a > b) ? a : b)
-
 static int init_gnt_srv(struct libxenvchan *ctrl, int domain)
 {
 	int pages_left = ctrl->read.order >= PAGE_SHIFT ? 1 << (ctrl->read.order - PAGE_SHIFT) : 0;
diff --git a/tools/tests/vpci/Makefile b/tools/tests/vpci/Makefile
index 5075bc2be2..62f21f341a 100644
--- a/tools/tests/vpci/Makefile
+++ b/tools/tests/vpci/Makefile
@@ -11,7 +11,7 @@ run: $(TARGET)
 	./$(TARGET)
 
 $(TARGET): vpci.c vpci.h list.h main.c emul.h
-	$(HOSTCC) -g -o $@ vpci.c main.c
+	$(HOSTCC) $(CFLAGS_xeninclude) -g -o $@ vpci.c main.c
 
 .PHONY: clean
 clean:
diff --git a/tools/tests/vpci/emul.h b/tools/tests/vpci/emul.h
index 7169a2ea02..8c5bcadd5f 100644
--- a/tools/tests/vpci/emul.h
+++ b/tools/tests/vpci/emul.h
@@ -106,22 +106,6 @@ typedef union {
 #define BUG() assert(0)
 #define ASSERT_UNREACHABLE() assert(0)
 
-#define min(x, y) ({                    \
-        const typeof(x) tx = (x);       \
-        const typeof(y) ty = (y);       \
-                                        \
-        (void) (&tx == &ty);            \
-        tx < ty ? tx : ty;              \
-})
-
-#define max(x, y) ({                    \
-        const typeof(x) tx = (x);       \
-        const typeof(y) ty = (y);       \
-                                        \
-        (void) (&tx == &ty);            \
-        tx > ty ? tx : ty;              \
-})
-
 #endif
 
 /*
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:09:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:09:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513373.794258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexHA-00010s-2n; Wed, 22 Mar 2023 12:09:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513373.794258; Wed, 22 Mar 2023 12:09:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexH9-00010l-Vy; Wed, 22 Mar 2023 12:09:07 +0000
Received: by outflank-mailman (input) for mailman id 513373;
 Wed, 22 Mar 2023 12:09: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=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pexH8-0008Jp-FJ
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:09:06 +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 57057e99-c8aa-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 13:09: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 BB07B20D4C;
 Wed, 22 Mar 2023 12:09: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 6955513416;
 Wed, 22 Mar 2023 12:09:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 4GolGODvGmQsTwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 12:09:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57057e99-c8aa-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679486944; 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=Tnwj4SkxnHy4amvMB/ppif2VnlwKSRyDYISvivee9EU=;
	b=PrJwija0qWsbPZwKAKv0CQlaFdxCPAY9wauY1p+yiTXZEaAZ853lUZk2HTKRj5n61VsN8a
	vT3d5SDHMoJn9EoX4kgEDC5o1aOdOxtaab5/cap23chsiWjZoCnQts7Jq+qcB+aeOvaYRL
	AiLLxTCmKPNrN0f2vPOwb8Yi6rmUchM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v4 3/5] tools/hvmloader: remove private offsetof() definition
Date: Wed, 22 Mar 2023 13:08:42 +0100
Message-Id: <20230322120844.19657-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230322120844.19657-1-jgross@suse.com>
References: <20230322120844.19657-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

util.h contains a definition of offsetof(), which isn't needed.

Remove it.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V4:
- new patch
---
 tools/firmware/hvmloader/util.h | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/tools/firmware/hvmloader/util.h b/tools/firmware/hvmloader/util.h
index e04990ee97..7249773eeb 100644
--- a/tools/firmware/hvmloader/util.h
+++ b/tools/firmware/hvmloader/util.h
@@ -30,9 +30,6 @@ enum {
 #define SEL_DATA32          0x0020
 #define SEL_CODE64          0x0028
 
-#undef offsetof
-#define offsetof(t, m) ((unsigned long)&((t *)0)->m)
-
 #undef NULL
 #define NULL ((void*)0)
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:09:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:09:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513374.794268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexHG-0001Tz-AP; Wed, 22 Mar 2023 12:09:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513374.794268; Wed, 22 Mar 2023 12: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 1pexHG-0001Tq-7S; Wed, 22 Mar 2023 12:09:14 +0000
Received: by outflank-mailman (input) for mailman id 513374;
 Wed, 22 Mar 2023 12: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=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pexHE-0008Jp-Ag
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:09:12 +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 5a5b3cbb-c8aa-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 13:09: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 58EB333AA9;
 Wed, 22 Mar 2023 12:09: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 31EA213416;
 Wed, 22 Mar 2023 12:09:10 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id vOmdCubvGmRLTwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 12:09: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: 5a5b3cbb-c8aa-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679486950; 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=afC9LuDOI4S1LmIJPeS//2B8HX3QZZNvVY/3xGApvhI=;
	b=ssEDpoBuEnwP30B5l08mfrpuyXCplYaFseHcDSO8k7yAqv9kKPzecOWam6vZaPdij/vQiV
	bcyuiVg6a9iyh7jYkPsYslmCO3g2Yf1wDoEXxKWMClylUb18QY4AHvyvtARKJgIjDX2vrV
	ZQlnVg02ABY0Ar7xWjtYPh5ssJmkBPw=
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 v4 4/5] tools/libfsimage: remove private offsetof() definition
Date: Wed, 22 Mar 2023 13:08:43 +0100
Message-Id: <20230322120844.19657-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230322120844.19657-1-jgross@suse.com>
References: <20230322120844.19657-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

xfs/fsys_xfs.c is defining offsetof privately. Remove that definition
and just use stddef.h instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V4:
- new patch
---
 tools/libfsimage/xfs/fsys_xfs.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tools/libfsimage/xfs/fsys_xfs.c b/tools/libfsimage/xfs/fsys_xfs.c
index d735a88e55..b8b4ca928c 100644
--- a/tools/libfsimage/xfs/fsys_xfs.c
+++ b/tools/libfsimage/xfs/fsys_xfs.c
@@ -17,6 +17,7 @@
  *  along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <stddef.h>
 #include <xenfsimage_grub.h>
 #include "xfs.h"
 
@@ -182,9 +183,6 @@ fsb2daddr (xfs_fsblock_t fsbno)
 			 (xfs_agblock_t)(fsbno & mask32lo(xfs.agblklog)));
 }
 
-#undef offsetof
-#define offsetof(t,m)	((size_t)&(((t *)0)->m))
-
 static inline int
 btroot_maxrecs (fsi_file_t *ffi)
 {
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:09:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:09:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513377.794277 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexHL-0001vz-JY; Wed, 22 Mar 2023 12:09:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513377.794277; Wed, 22 Mar 2023 12: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 1pexHL-0001vs-G6; Wed, 22 Mar 2023 12:09:19 +0000
Received: by outflank-mailman (input) for mailman id 513377;
 Wed, 22 Mar 2023 12:09: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=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pexHJ-0008Jp-Ky
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:09:17 +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 5dac9b35-c8aa-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 13:09: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 E422133AB2;
 Wed, 22 Mar 2023 12:09: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 BCEE513416;
 Wed, 22 Mar 2023 12:09:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id W6y8LOvvGmRkTwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 12:09: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: 5dac9b35-c8aa-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679486955; 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=j3ZkLxPJUvo+zj64n5geObIPSNljnDCOHNBqeqoIUno=;
	b=W9YS8reMntWblbZK2gVcAw1KYqnXHccn95nPIItbO+l1UTzL9AszuB9ecZp9hNEnZyru0q
	joxmeDlfB5KYO5H1C5C80yDcC/ANESFrsIqN/T5kZzL/Ujt5MRZLnx127ikDfNsJ3ac+XR
	mq7gO7BMMZahIRpcxO+8qpUC9Jg/M7A=
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 v4 5/5] tools/libs/vchan: remove private offsetof() definition
Date: Wed, 22 Mar 2023 13:08:44 +0100
Message-Id: <20230322120844.19657-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230322120844.19657-1-jgross@suse.com>
References: <20230322120844.19657-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

vchan/init.c is defining offsetof privately. Remove that definition
and just use stddef.h instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V4:
- new patch
---
 tools/libs/vchan/init.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/tools/libs/vchan/init.c b/tools/libs/vchan/init.c
index 021e1f29e1..a081dd4c9a 100644
--- a/tools/libs/vchan/init.c
+++ b/tools/libs/vchan/init.c
@@ -32,6 +32,7 @@
 #include <sys/mman.h>
 #include <sys/ioctl.h>
 #include <sys/user.h>
+#include <stddef.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <stdint.h>
@@ -69,10 +70,6 @@
 #define MAX_RING_SHIFT 20
 #define MAX_RING_SIZE (1 << MAX_RING_SHIFT)
 
-#ifndef offsetof
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-#endif
-
 static int init_gnt_srv(struct libxenvchan *ctrl, int domain)
 {
 	int pages_left = ctrl->read.order >= PAGE_SHIFT ? 1 << (ctrl->read.order - PAGE_SHIFT) : 0;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:14:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513389.794287 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexMd-0004ML-DN; Wed, 22 Mar 2023 12:14:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513389.794287; Wed, 22 Mar 2023 12:14: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 1pexMd-0004ME-Ah; Wed, 22 Mar 2023 12:14:47 +0000
Received: by outflank-mailman (input) for mailman id 513389;
 Wed, 22 Mar 2023 12:14: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 1pexMc-0004M8-K9
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:14: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 1pexMc-0004Tj-2u; Wed, 22 Mar 2023 12:14:46 +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 1pexMb-0005GC-Sg; Wed, 22 Mar 2023 12: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>
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=WhP23oe7p1Ch1N0CUJmu0YVJI/ua8v0jij5yzdcx3Qc=; b=qxwL0cOqKI5+iIXStPojsyDJM0
	9IrfFW5ENvSA9XGfPPmXBIHkBDKmkcw4/yTyVUGbdUOq9TpgadSo62Yu7npUqhYfgn2GIbGh+1gcl
	wNy8A5Uk1uHPMDbLZa4faw88U2b0Lb/pHlIVha8HwLw/Mz/ynCKSvVnRS15zXPibEqVo=;
Message-ID: <fb5632f9-d749-4396-930e-9f2a601720d8@xen.org>
Date: Wed, 22 Mar 2023 12:14:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v5 5/7] xen/riscv: introduce trap_init()
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
 <91b0284d20f530f2795a119ccb7436ee0b800256.1678976127.git.oleksii.kurochko@gmail.com>
 <5a2c6f35-373a-de3c-1db2-aeeb1b39635f@xen.org>
 <520d64f0b6cd283416aa4fb7b9baa5f83454c4a8.camel@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <520d64f0b6cd283416aa4fb7b9baa5f83454c4a8.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 22/03/2023 11:33, Oleksii wrote:
> Hi Julien,

Hi Oleksii,

> 
> On Tue, 2023-03-21 at 17:42 +0000, Julien Grall wrote:
>> Hi Oleksii,
>>
>> On 16/03/2023 14:39, Oleksii Kurochko wrote:
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
>>> ---
>>> Changes in V5:
>>>     - Nothing changed
>>> ---
>>> Changes in V4:
>>>     - Nothing changed
>>> ---
>>> Changes in V3:
>>>     - Nothing changed
>>> ---
>>> Changes in V2:
>>>     - Rename setup_trap_handler() to trap_init().
>>>     - Add Reviewed-by to the commit message.
>>> ---
>>>    xen/arch/riscv/include/asm/traps.h | 1 +
>>>    xen/arch/riscv/setup.c             | 5 +++++
>>>    xen/arch/riscv/traps.c             | 7 +++++++
>>>    3 files changed, 13 insertions(+)
>>>
>>> diff --git a/xen/arch/riscv/include/asm/traps.h
>>> b/xen/arch/riscv/include/asm/traps.h
>>> index f3fb6b25d1..f1879294ef 100644
>>> --- a/xen/arch/riscv/include/asm/traps.h
>>> +++ b/xen/arch/riscv/include/asm/traps.h
>>> @@ -7,6 +7,7 @@
>>>    
>>>    void do_trap(struct cpu_user_regs *cpu_regs);
>>>    void handle_trap(void);
>>> +void trap_init(void);
>>>    
>>>    #endif /* __ASSEMBLY__ */
>>>    
>>> diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
>>> index 36556eb779..b44d105b5f 100644
>>> --- a/xen/arch/riscv/setup.c
>>> +++ b/xen/arch/riscv/setup.c
>>> @@ -3,7 +3,9 @@
>>>    #include <xen/kernel.h>
>>>    
>>>    #include <asm/boot-info.h>
>>> +#include <asm/csr.h>
>>>    #include <asm/early_printk.h>
>>> +#include <asm/traps.h>
>>>    
>>>    /* Xen stack for bringing up the first CPU. */
>>>    unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
>>> @@ -32,7 +34,10 @@ void __init noreturn start_xen(unsigned long
>>> bootcpu_id,
>>>    
>>>        fill_boot_info();
>>>    
>>> +    trap_init();
>>> +
>>>        early_printk("All set up\n");
>>> +
>>>        for ( ;; )
>>>            asm volatile ("wfi");
>>>    
>>> diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
>>> index 8a1529e0c5..581f34efbc 100644
>>> --- a/xen/arch/riscv/traps.c
>>> +++ b/xen/arch/riscv/traps.c
>>> @@ -13,6 +13,13 @@
>>>    #include <asm/processor.h>
>>>    #include <asm/traps.h>
>>>    
>>> +void trap_init(void)
>>> +{
>>> +    unsigned long addr = (unsigned long)&handle_trap;
>>
>> It is not super clear to me whether this is going to store the
>> virtual
>> or physical address.
> Actually it is going to store both the virtual and physical address.
> Depending on if MMU is enabled or not.

I think some comment in the code would be really good because this is...

>>
>> Depending on the answer, the next would be whether the value would
>> still
>> be valid after the MMU is turned on?
> It would still be valid because for addr will be generated PC-relative
> address.

... not clear to me what would guarantee that Xen is compiled with 
-noPIE. Is the cmodel?

A suggestion for the top of the function:

"Initialize the trap handling. This is called twice (before and after 
the MMU)."

And for on top of 'addr', I would add:

"When the MMU is off, this will be a physical address otherwise it would 
be a virtual address. This is guarantee because [fill the blank]".

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:23:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:23:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513392.794298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexUY-00066L-73; Wed, 22 Mar 2023 12:22:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513392.794298; Wed, 22 Mar 2023 12:22:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexUY-00066E-45; Wed, 22 Mar 2023 12:22:58 +0000
Received: by outflank-mailman (input) for mailman id 513392;
 Wed, 22 Mar 2023 12:22: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 1pexUX-000664-3y; Wed, 22 Mar 2023 12:22: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 1pexUX-0004eG-2A; Wed, 22 Mar 2023 12:22: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 1pexUW-0000D6-La; Wed, 22 Mar 2023 12:22:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pexUW-0005hG-L3; Wed, 22 Mar 2023 12:22: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=WOruiIh8zR2tqkIhW+w3XmCou5N5kiqRJxytGU6/LjQ=; b=27aveA8WN/TDGA5tQYShYGDfWI
	XYfM8Yi449MWECQkRuchPTDtFbFBwRbb2+G5hXkeusIeMuEhKXt4qEoKlPcUTZhCQsS+9B5mCSdDM
	AyN06wwQAK8XcaWxD+MiPU4Uu/f31hThKVDUjmXZErsxoBMC7KCupjPWz4NsFl0+yn0Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179867-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179867: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=eee0d79134cffe605e49d240c985bc571d4bacca
X-Osstest-Versions-That:
    xen=245d030f4aa79f766e575684127f86748c63bb32
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Mar 2023 12:22:56 +0000

flight 179867 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179867/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  eee0d79134cffe605e49d240c985bc571d4bacca
baseline version:
 xen                  245d030f4aa79f766e575684127f86748c63bb32

Last test of basis   179845  2023-03-21 14:02:09 Z    0 days
Testing same since   179867  2023-03-22 10:00:36 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> # tools/python/xen/lowlevel/xc/xc.c

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   245d030f4a..eee0d79134  eee0d79134cffe605e49d240c985bc571d4bacca -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:27:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:27:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513397.794307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexZ6-0006ik-PI; Wed, 22 Mar 2023 12:27:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513397.794307; Wed, 22 Mar 2023 12:27: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 1pexZ6-0006id-Mi; Wed, 22 Mar 2023 12:27:40 +0000
Received: by outflank-mailman (input) for mailman id 513397;
 Wed, 22 Mar 2023 12:27: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pexZ5-0006iX-5F
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:27:39 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0606.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d0dce8cb-c8ac-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 13:27:29 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB6991.eurprd04.prod.outlook.com (2603:10a6:803:12d::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 12:26:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 12:26: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: d0dce8cb-c8ac-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=S45DUSBwGUAQQkHUo1CXt+hOl9MRSDcc/iA9Xfw3CTHPFI0JOhc+aIZTgblDPDj2hESpQ3Lx5aZgkINdzvfOEt8zmFGQn7TsaoErOBX5pm+ASQfpQGEAu3FJr57kao15rhSKvUTPQBMpRzDNLu45/OI+KMQSOrawI5bxiduxxEz5A+Glvi3XGh8SGMLgrbJs1cs9l4rghvSvqUXrAYPzwu+GXFYhmCuRhECf4fyflg2sKOdHUlokg50P/+rzgdVYGULohehM/OAGhqgJ0GQUaafSDvpqut/f6ycd11J0zlDJA8rb8CEtZsI7SWu+ifHv/saKayKrb+Ub/6KCQXt/nQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WVhwiEF6jLwFUvLMifxCNa002nlIeYN6lCNgLUwitmY=;
 b=iDQAsFXIlF6Y1zykwpkczZ6yrOtiyCMeAmW0ZbrtfTpSBeHmZGkEfViYCCrJ9GwqQvJDJS3YHHV+iQO4+J+NZac0/Vca8eRIVtcELemRoqtyWSwIACE7Z4qMNP0oH4zrRZ1r0WXsg46fyNd7Z0u/MaP5yJWjFEewSgX16lU1ej7gxPIjr50aKV5SFYbytU3Fxc7rUJsbBGDd/bNzN68KYsRvcFVE7JyRklpaJqQR5pam5ZmXRA9vgyNdzHyb6VX2o/lt/8139PmC/D2fjVyTuPG2yt8rc/QWdX36dU2saIiSJsHskMzkJ/HE+GbOS6XW7ILrF9HJpfr1QhxCkuxCZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WVhwiEF6jLwFUvLMifxCNa002nlIeYN6lCNgLUwitmY=;
 b=5Hi5aY9QoYdpX1Y6AAlloGSVANMnLbgVX4gbcC5+/erEq5QUJT40q3NIDKm8XUGCnaOnsRvcTq6rYGmfe1Ujj/N6Q++I6N6G8DHKu5oQBDGUqT8krR2c/TJIqOF6CJBrJreFcAoS7sqdPb/F+Q313RcmStu+88IF45hXHNZDRZTeLJ0hFKjz2as2iba1G8bWYWQM8nljIhbYSzHVIoGT3+s//aKV4UhONn+iMoj4dysqjAQEyUMHyHrRgQevXBiS+LJKsRQjPrVb2D5pTtdnDJJcMTiGTTBwHkTh463qozaAYovO0XTplafaYKH6AQFAHkpQAwHOyAlNIdQJGoJeNQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <771418cf-9515-cc93-14c7-4bea60c30b2b@suse.com>
Date: Wed, 22 Mar 2023 13:26:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 4/7] xen/riscv: introduce decode_cause() stuff
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
 <8c7b4a5d328be8b1cd2aa99c8d9a7883e4969600.1678976127.git.oleksii.kurochko@gmail.com>
 <0b94be57-b8fb-6c38-9ed8-dc8482694153@xen.org>
 <cf883a86eac88c11d02768eb64adb2b418c6ba2e.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cf883a86eac88c11d02768eb64adb2b418c6ba2e.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0051.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB6991:EE_
X-MS-Office365-Filtering-Correlation-Id: 0e00f052-a075-4ba4-ac49-08db2ad0b362
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n4Ba65uARDNN9uESgGooqXpTzjayGHVzuABC3V8HmzsYkBupeXNlEfVpFBFeMzndVzfwBi3cUjwWdusywvG+2KmMoUTTvYKeeWwnw++269gxQP/XCsjrGoosrABT0ABxe1rkH6rgr+C5ZSGX/87/2+GPGtJGEDplS9UfrTfWRcNbBcWH61hQTKxD4xIyWxmsCo3meBn8vxdlMn7XjGQWD2SFQWFzVkYOToSN8zn3G7myBklDwUrp0O9P6GGfWDlVu4K4Qb7dZZ/eh79G6zIDMRf0lsOXzQnhY31g/nnsRECIJ1tpKByrPzlCPukBZSDdzwYbaTjauwHHXJefO6MfbSjqIgf6zKaAdG9XuF2fDqWOJU56Nsp1FpCvf+Kw9XMsC80kyFUcHG9j6O2QonnpirZ+5RMwpPEv8juOyaE7U35y/n8EyeSwa+G8i40iAqIM8frBrjHvfB1lZP5Syb0C5HVl5ayfny3XoleaVAq55MFlpyguILy2oXnndnmKKoCIMyIDEBaqj/4Li49VaiEPwaryJWAx7veLtWCnXnyveQR37xRpRkM2Wt9+oAbaDsVvi44bp0J2L2nOTZQ03jFlxSCC3IW9YYAPoesNc2gNq4oM8axeqYtFAc9n1gEFJKrjsYGk5OMmbYxXlN0Ega0jUrguTyq+Vj7aqhiMzFzQOUnFvJpFVOxSbviKNTHsevh6D9cXCVMkiz4/tDtDb1OWQM1je0Anv4wldAGl11sbuLQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(376002)(366004)(136003)(39850400004)(396003)(451199018)(31686004)(2616005)(6512007)(316002)(53546011)(478600001)(186003)(6486002)(6506007)(83380400001)(26005)(31696002)(86362001)(38100700002)(66946007)(41300700001)(54906003)(5660300002)(2906002)(36756003)(66476007)(6916009)(8936002)(4326008)(66556008)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aGlUcDZianpWQkY1WHBGb2hFc0ZCUjUxZGkwYWMwemorRXZ6c25XVktIdUVO?=
 =?utf-8?B?ZE44T2N5SFZ2bVJmeW1WRFFVWlB3QWk0NWpVcTkwRnpSaDJMd3ZtdzkxbDBi?=
 =?utf-8?B?ZTE3ek5VOGdCSENUSG9JRVBkdkdyVXJvNDFUQXBGTjhkQ1FrTkRWVnRsQ1Vx?=
 =?utf-8?B?SWNtWGFZMGVSWXJubERVdHIxYmJIZ1FhVEZuMDdRQVZDRTRMemVBRjlXTk1p?=
 =?utf-8?B?aHQ5NW5lampEQURLN0xVU3dvcUo5L2dFcjY1N0tGQkIwWlp3Q29MNVFTQ24x?=
 =?utf-8?B?a0hBZWlwekZMMlRJa0MzTXFsTU9XQTcrWm4wdlRPeWZ0Si9acU1pcnIybmFk?=
 =?utf-8?B?TU1yZXFQbDRFMnVaTStZeHdUVFdaalZQandHWkhsUUlDNE1CTk9sMWV4K2JS?=
 =?utf-8?B?eHFBUWE4eHk3aFg5cVVjejJjQ21BbUZ4VnVldVhOM1hnSTAwMzI0bzRuaSs2?=
 =?utf-8?B?U0JSZCtWYXNaa243VEhYbFQyUGZRY0djMDBRaHBOV3VaeEdMekEvVVQ1ZHQz?=
 =?utf-8?B?UjZJOXNTbVBQUndaMHFBWVZ4S1l1RkxiQ00rZ2Qxd2tLNGtpSlVJQjdLc3I4?=
 =?utf-8?B?cTRWUWZ1Wm1wOVdnV2RobVlWZ1Zadm5nMThHcjFlZ0RsK21peEdrQ1lBZXVp?=
 =?utf-8?B?UjFJdzUyYVdhTDBFVGhEL1V5b3h0L1B0c1AvY2thVklEb0tZQmFOU2VFbk5G?=
 =?utf-8?B?cTJUbFhYc2lJYXhoQUtMbjA0dWNXdFFQb0Q0TXFQcGdZRFU4SGpmdEVMcUxV?=
 =?utf-8?B?YlFZR202TkhveXk0MHA5SU5QNEpGajl5OVZDalN3cGU2cU1kZGlqNXdOV2lU?=
 =?utf-8?B?K1BpMWd1amg5Z01UY2tSejlWVU9rQU00UGhkVUVzcEI1cXV3K01SV05PVlk2?=
 =?utf-8?B?ZTJRL0FHN2Y1MnZEZmVlQlFubm1PTXRPU1RhS1d4cVIwcmdvenYxaWhzTFZD?=
 =?utf-8?B?cDZxY1hPdG4ydGEwdFYwOUxzaGFNWVVnY005dFZ0NWhTSVk4S0lBWmpCRjg2?=
 =?utf-8?B?K05GekZYeldWUElkaERCa3V5K1VMMDZuVGM2V2ZKdS9IR1ZUdHVWZ1ErUDFq?=
 =?utf-8?B?MWRMZm41SUhQYkU5RWhCVlFoVkx5bHg0N1crRW1SZVdnbHZZS2RRUWRia1J6?=
 =?utf-8?B?K2xWTzVwb1dXcXBGdkpiS1JxbzZSY2N5SnBRQURlb1B5OHpRWDU5NElFNk5H?=
 =?utf-8?B?SnVwTlB0MHlKZ0EwL2dORXdZZlAySXlGSExkZ1FWWjNlRGpZenZjMWcyc1VW?=
 =?utf-8?B?UmZLQitiam41NEs0N1VGT3V5dkVTeEtTS1ZlcklZY2ZiUFAycWU5bnI1T0M2?=
 =?utf-8?B?UGdCRld6YkhQeHBwWExnM01LVmxvZFN1N1FjSlowTjB3dElCWmpBbTZ3QWQ5?=
 =?utf-8?B?MEw5cDJSY01xbXBiSjhoWTltbjVCYzFDUUNmNFArWjg3bFUydkdRZXZKOWVx?=
 =?utf-8?B?TmYvaFNhUW9UeFlrMitPZHBPUkZzTjZDanNCRGs2NTRid3RnSng5UFdkcWdj?=
 =?utf-8?B?V1BYZGlpeFFqR2F1N0IwS0RZODl0NWhRTWt6cUxFS2dXN215VCtrZFRCUWJt?=
 =?utf-8?B?aVExNUtEeHJ0NWhKeURKdllmNmEzWFZVb3BnVjlmREYvaloxWTlVaXpTMmdM?=
 =?utf-8?B?aEZmQ1o4QjZ5azV2a2grWWorWkZHbG13TjMvT3ZoSW1hdlhKUlhYOXVGR2Mz?=
 =?utf-8?B?WUtTbmpjOW9wVkxzQkxZV2U2N0FuQUdxaXRPVmlvNkUvdFZHYkRXWTlFTHRS?=
 =?utf-8?B?aC9mNWhZOVhlWG1tcmc2b1gzWkpXeU11c0xjMVBCZlBMZGxETGNvcmgrclk2?=
 =?utf-8?B?K1NqR3ZwUklRYkhKSEtXRFJCb1BoZG0yZEdSakNxVktFWlJpc1Qxam8xbTZP?=
 =?utf-8?B?cUZSK1l2TW1mVnJWb1VDSWIzQW5Ka0hUdnM1RjZ4T3M2SUNtcWhOYy9ISFBY?=
 =?utf-8?B?eDhyVmVNZlVIRW5ob1V2TU1SNkR5SEV0V0JYQ3pNMTNOMmxoSW9QR2E5ZC96?=
 =?utf-8?B?RkFMVUFlVU5ITG1CZjNDZjNBcnB5WHVjeXMxaEtkMGdTcG5Ld0FWYXQ2N0o1?=
 =?utf-8?B?L25jNkdKQWRqajBSVUEreE1RdDMrU2FNM0NSSVI5UFFzeGtRTEpRd1Aya3U5?=
 =?utf-8?Q?fstSppRknQmFUDoTbMe7dLl2T?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0e00f052-a075-4ba4-ac49-08db2ad0b362
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 12:26:45.5928
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hEQhhKVbS1NSHAo/ONLOmV+fpb/QEkbTOP2Q54AdU7+XLnCQcg4Ed6V6/FfiLabbdbFsJSUGcvjWwRYKEGcHFQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6991

On 22.03.2023 11:20, Oleksii wrote:
> On Tue, 2023-03-21 at 17:33 +0000, Julien Grall wrote:
>> On 16/03/2023 14:39, Oleksii Kurochko wrote:
>>> --- a/xen/arch/riscv/traps.c
>>> +++ b/xen/arch/riscv/traps.c
>>> @@ -4,10 +4,95 @@
>>>    *
>>>    * RISC-V Trap handlers
>>>    */
>>> +
>>> +#include <xen/lib.h>
>>> +
>>> +#include <asm/boot-info.h>
>>> +#include <asm/csr.h>
>>> +#include <asm/early_printk.h>
>>>   #include <asm/processor.h>
>>>   #include <asm/traps.h>
>>>   
>>> -void do_trap(struct cpu_user_regs *cpu_regs)
>>> +static const char *decode_trap_cause(unsigned long cause)
>>> +{
>>> +    static const char *const trap_causes[] = {
>>> +        [CAUSE_MISALIGNED_FETCH] = "Instruction Address
>>> Misaligned",
>>> +        [CAUSE_FETCH_ACCESS] = "Instruction Access Fault",
>>> +        [CAUSE_ILLEGAL_INSTRUCTION] = "Illegal Instruction",
>>> +        [CAUSE_BREAKPOINT] = "Breakpoint",
>>> +        [CAUSE_MISALIGNED_LOAD] = "Load Address Misaligned",
>>> +        [CAUSE_LOAD_ACCESS] = "Load Access Fault",
>>> +        [CAUSE_MISALIGNED_STORE] = "Store/AMO Address Misaligned",
>>> +        [CAUSE_STORE_ACCESS] = "Store/AMO Access Fault",
>>> +        [CAUSE_USER_ECALL] = "Environment Call from U-Mode",
>>> +        [CAUSE_SUPERVISOR_ECALL] = "Environment Call from S-Mode",
>>> +        [CAUSE_MACHINE_ECALL] = "Environment Call from M-Mode",
>>> +        [CAUSE_FETCH_PAGE_FAULT] = "Instruction Page Fault",
>>> +        [CAUSE_LOAD_PAGE_FAULT] = "Load Page Fault",
>>> +        [CAUSE_STORE_PAGE_FAULT] = "Store/AMO Page Fault",
>>> +        [CAUSE_FETCH_GUEST_PAGE_FAULT] = "Instruction Guest Page
>>> Fault",
>>> +        [CAUSE_LOAD_GUEST_PAGE_FAULT] = "Load Guest Page Fault",
>>> +        [CAUSE_VIRTUAL_INST_FAULT] = "Virtualized Instruction
>>> Fault",
>>> +        [CAUSE_STORE_GUEST_PAGE_FAULT] = "Guest Store/AMO Page
>>> Fault",
>>> +    };
>>> +
>>> +    if ( cause < ARRAY_SIZE(trap_causes) && trap_causes[cause] )
>>> +        return trap_causes[cause];
>>> +    return "UNKNOWN";
>>> +}
>>> +
>>> +static const char *decode_reserved_interrupt_cause(unsigned long
>>> irq_cause)
>>> +{
>>> +    switch ( irq_cause )
>>> +    {
>>> +    case IRQ_M_SOFT:
>>> +        return "M-mode Software Interrupt";
>>> +    case IRQ_M_TIMER:
>>> +        return "M-mode TIMER Interrupt";
>>> +    case IRQ_M_EXT:
>>> +        return "M-mode External Interrupt";
>>> +    default:
>>> +        return "UNKNOWN IRQ type";
>>> +    }
>>> +}
>>> +
>>> +static const char *decode_interrupt_cause(unsigned long cause)
>>> +{
>>> +    unsigned long irq_cause = cause & ~CAUSE_IRQ_FLAG;
>>> +
>>> +    switch ( irq_cause )
>>> +    {
>>> +    case IRQ_S_SOFT:
>>> +        return "Supervisor Software Interrupt";
>>> +    case IRQ_S_TIMER:
>>> +        return "Supervisor Timer Interrupt";
>>> +    case IRQ_S_EXT:
>>> +        return "Supervisor External Interrupt";
>>> +    default:
>>> +        return decode_reserved_interrupt_cause(irq_cause);
>>> +    }
>>> +}
>>> +
>>> +static const char *decode_cause(unsigned long cause)
>>> +{
>>> +    if ( cause & CAUSE_IRQ_FLAG )
>>> +        return decode_interrupt_cause(cause);
>>> +
>>> +    return decode_trap_cause(cause);
>>> +}
>>> +
>>> +static void do_unexpected_trap(const struct cpu_user_regs *regs)
>>>   {
>>> +    unsigned long cause = csr_read(CSR_SCAUSE);
>>> +
>>> +    early_printk("Unhandled exception: ");
>>> +    early_printk(LINK_TO_LOAD(decode_cause(cause)));
>>
>> The use of LINK_TO_LOAD is the sort of things that is worth
>> documenting 
>> because this would raise quite a few questions.
>>
>> The comment on top of LINK_TO_LOAD suggests the macro can only be
>> used 
>> while the MMU is off. But I would expect do_unexpected_trap() to be
>> used 
>> also after the MMU is on. Isn't it going to be the case?
> Yes, you are right. it will be an issue now. It was not an issue before
> when it was used 1:1 mapping. So I have to add a check 'if (
> is_mmu_enabled ) ... ' inside LINK_TO_LOAD macros.

I don't think that's going to be enough: What decode_cause() returns
may be a link-time value when a result of reading from trap_causes[],
but - as Julien did say already - it can also be a runtime value when
coming from any of the "return <string-literal>", calculated in a PC-
relative way. I guess you will need to apply LINK_TO_LOAD() to the
trap_causes[] access itself.

But as said before - I'm unconvinced this approach will scale, because
you'll need to apply the wrapper to anything which can be reached prior
to you enabling the MMU. Whether you can contain this to RISC-V-only
code is unclear; I don't think it'll be acceptable to change any part
of common code to meet your special needs.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:30:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:30:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513400.794318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexbT-00086a-8J; Wed, 22 Mar 2023 12:30:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513400.794318; Wed, 22 Mar 2023 12: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 1pexbT-00086T-3D; Wed, 22 Mar 2023 12:30:07 +0000
Received: by outflank-mailman (input) for mailman id 513400;
 Wed, 22 Mar 2023 12: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=UYju=7O=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pexbR-00086N-Uh
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:30:05 +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 455f5e3f-c8ad-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 13:30:03 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id cn12so26560769edb.4
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 05:30:04 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 455f5e3f-c8ad-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679488203;
        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=5DgiUrzWt20XlNb1m4jdLgEw9KZ60K/tfMxOJ5u3wVs=;
        b=CAL4cpFbZ17oBGfj8awo4UYrbIPYjL/5kijJ2e7LNqvOs9v13sdAtJyc9bGfZcKZxM
         ylJHsgUoDFyRK9YINY4iWqK/ecpVpzPvVFSmzscNgo6TcHlujPZvbNDfZ+VJPvPNnYLF
         07FZwbimu4zzLhItAWPuPg17CvcBvQmM42MebVOdWAs0vFQdRY01t3TyWoN1nl22MiGq
         EdGdSagG+ef+sKYf0Ce3dbNqUqpY9Uw0Iv+XUQZWI4v+XeFGrgdiYmK3dPDvSgMVFnMx
         qaF80CskQLv+prtaEKfyvPboPQDQ5lSH0qJrF08smOUKFsmpDpzty3KmVPaPa6mOgE6m
         hYGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679488203;
        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=5DgiUrzWt20XlNb1m4jdLgEw9KZ60K/tfMxOJ5u3wVs=;
        b=nSzQCzM+EybxMkVh8XtA1LZrQDcrCtQcgtkEzrO9gV/H4CMUAKxA9f7mRjievInX5y
         F1d7MMTwCqblhgULCJO9F5azWGOCGbIEe55H+I1NNeAemjDbWVqINaNryLJOiDDydpnZ
         TZUkUnPWB/AT5n/Og/aNYvxle7hzC5Cg1Zv+El16hzSOtd622n+W2qiG4vxfH+ryGe17
         f5IGD8EJZV7dtyu8M9Qjw/Dh4LOIXWij78xNLDl5rnizcfe4Zd7K59NrovOSdtx4Qece
         JQ+kbnWBk7cdE6u3PXQdnJY5Qh6tu7V6ISILfFgpkXymp4rkT3A6ccwjSUD5wxpe8m0P
         GlIg==
X-Gm-Message-State: AO0yUKWinYjfr6JMRUe03nOkC/fzg6YOXIORVsbUBdeWxAB2i63faVEf
	9fqTjihGgJTsSZIszKemZ4/CWFaFoCf4kP+v17s=
X-Google-Smtp-Source: AK7set+iAvotDccN2pKqDAqWzWCnK6GFVn7kgBrPMqco4+pj5M+aD7QFWmndfiziYQ2J8fb2wiXqBgpjB6J0fdGevEc=
X-Received: by 2002:a17:906:2cc5:b0:931:c1a:b517 with SMTP id
 r5-20020a1709062cc500b009310c1ab517mr3047167ejr.3.1679488203521; Wed, 22 Mar
 2023 05:30:03 -0700 (PDT)
MIME-Version: 1.0
References: <20230322073453.7853-1-jgross@suse.com> <20230322073453.7853-3-jgross@suse.com>
In-Reply-To: <20230322073453.7853-3-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 22 Mar 2023 08:29:51 -0400
Message-ID: <CAKf6xpvG5+OGJ1iivOAqO7mAf+SfsimMgdfjEh1F36AfatUUkA@mail.gmail.com>
Subject: Re: [PATCH v2 2/3] tools/xl: make split_string_into_pair() more usable
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, Mar 22, 2023 at 3:35=E2=80=AFAM Juergen Gross <jgross@suse.com> wro=
te:
>
> Today split_string_into_pair() will not really do what its name is
> suggesting: instead of splitting a string into a pair of strings using
> a delimiter, it will return the first two strings of the initial string
> by using the delimiter.
>
> This is never what the callers want, so modify split_string_into_pair()
> to split the string only at the first delimiter found, resulting in
> something like "x=3Da=3Db" to be split into "x" and "a=3Db" when being ca=
lled
> with "=3D" as the delimiter. Today the returned strings would be "x" and
> "a".
>
> At the same time switch the delimiter from "const char *" (allowing
> multiple delimiter characters) to "char" (a single character only), as
> this makes the function more simple without breaking any use cases.
>
> Suggested-by: Anthony PERARD <anthony.perard@citrix.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:33:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:33:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513405.794328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexeJ-0000aH-RQ; Wed, 22 Mar 2023 12:33:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513405.794328; Wed, 22 Mar 2023 12: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 1pexeJ-0000aA-OI; Wed, 22 Mar 2023 12:33:03 +0000
Received: by outflank-mailman (input) for mailman id 513405;
 Wed, 22 Mar 2023 12:33: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=UYju=7O=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1pexeI-0000Zy-Ij
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:33:02 +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 aea2d80c-c8ad-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 13:33:00 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id eg48so72140877edb.13
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 05:33: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: aea2d80c-c8ad-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679488380;
        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=dYNZ0o56MaBRKFMa+7+AL324mZQ42j3bUQYxzGrjiPY=;
        b=FPzlN4oybsb0O9eia3U4Ou+2v5UeS7aSLMzWxaCvMsYvhJ/98Xq4q+IFcSpc36C7XS
         ZpfCPkgVo2VAszZflbtLLcPexPcvP3ygFbp1vKBuSZ86KqA4i+fY1CWDQV1L1+WDoeDq
         /tx1lXSLCiwqDACMI2oZIFNJoHjqQErnX4TmYHGdObLg2eVJyMvkNYyKwKuP0e3Lr/gu
         REq4t9VfKniPMK4YTtnNDdifX22LIJTD6Q4DQvwNinLQ0LlSYj8HMUTuywZsCxqkzubI
         93spUpmDZrCTIB4K1/bT8jr9XstVEUs4uS5rCS6gJAd6OM33f3vXlj7bGrrr16jTuBje
         6vnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679488380;
        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=dYNZ0o56MaBRKFMa+7+AL324mZQ42j3bUQYxzGrjiPY=;
        b=BuZPcN9vdHluqsT+hN7TIapEE5sTdKtr7KY0/FjsfkciN+Ke8SwJPv+F9XDyMNAHRD
         rvTQxSJ+pgidqJ5KTX1knPCjEUm/9UyAnyRwEpPGcyGkJqX4dRb7s4gvj8D+DwhvKUB1
         qDx8ASRwZutG2HYJ+PHFU33e8+lJESzKdCtvfz8Hw5AjzgujLdM8PM0ib7Xnhn3VJYLa
         PLSDXEehHoszc2LbxpWKuomBMo2t+fCRZoenYTMEnOGKZbwiwNeWpg8xh+H57kvkBViU
         UsCm4BohvBtnz0Tz1l0jcDANB4NgiNItMuALacoA40DMr8gmUuyeOQca4F8jP4fUO2Rw
         3PFw==
X-Gm-Message-State: AO0yUKUAJibPX6/NYu/hwyFMIrztf9VgVlAEJxpP5nUEuxoV2QucspFq
	s2e3QDT5bDpVpe9OqtxsHTkE4sRHRsmdaHcxmfBbpMKY
X-Google-Smtp-Source: AK7set/ehmfNQblLaYDHz200fOfRvWfhmLBK+pcD8qwNi6IfScertpt9oYYcopltuGKSQ7qr3EG6+a3gmKv6gF8FiWI=
X-Received: by 2002:a50:9f45:0:b0:4fa:6fdd:62dd with SMTP id
 b63-20020a509f45000000b004fa6fdd62ddmr3505521edf.7.1679488380151; Wed, 22 Mar
 2023 05:33:00 -0700 (PDT)
MIME-Version: 1.0
References: <20230322073453.7853-1-jgross@suse.com> <20230322073453.7853-4-jgross@suse.com>
In-Reply-To: <20230322073453.7853-4-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 22 Mar 2023 08:32:48 -0400
Message-ID: <CAKf6xpuswTjP2ksn243VHXzv-b50Tq7W7pnoYeS+9ZKtbUPPoQ@mail.gmail.com>
Subject: Re: [PATCH v2 3/3] tools/xl: rework p9 config parsing
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, Mar 22, 2023 at 3:35=E2=80=AFAM Juergen Gross <jgross@suse.com> wro=
te:
>
> Rework the config parsing of a p9 device to use the
> split_string_into_pair() function instead of open coding it.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:34:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:34:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513409.794348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexfO-0001Ni-DT; Wed, 22 Mar 2023 12:34:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513409.794348; Wed, 22 Mar 2023 12:34:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexfO-0001Nb-Ak; Wed, 22 Mar 2023 12:34:10 +0000
Received: by outflank-mailman (input) for mailman id 513409;
 Wed, 22 Mar 2023 12:34: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pexfM-0001Mm-Tj
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:34:08 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20630.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d6db94b8-c8ad-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 13:34:08 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8633.eurprd04.prod.outlook.com (2603:10a6:20b:43c::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 12:34:06 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 12:34:06 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6db94b8-c8ad-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZwFQIVwCzrhY/ZARy4I/YE8M3Npf5KAVUMnXz5Z9OgWMOI3JJOYa+q3yGpZZhspDlWbrF1KnWmeVa+rTen0umW2AqBu9JzyjHMM7JqGirBHIRwzKndFvkT89I2ZOIiaU9q8llXRW7YzSWsRPLqm3BEunZAbkIzJ6ZL+8mqSLHZJ/9i/+c09mGEWE9TM3J6psjXclf44/siNBnnbiCSEg6ilbz35LYrMbCwR9gl6wx0T7mk5E9r440rBMMUUTcxiLBhSPzkKRCO16GAHrrtSbIHtOaw8J0ZOKlPSFW8M9fRvCn7JjqT3LRYJoF4z+vYcFkfHmCQGfl/lABep6uxX6uQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7xb2+udRRmcim7KeNpZkI03CkyRqCmZeN5dvuzaIoPE=;
 b=HDfbkU1y85J/yZ+V9Q8CQa3mxdvcsRPenPnw6rlV+jzRwJlrE8+umzeBF4fOzBO7eghNoneJu2/btaqJHI7p0kWtCSHF+yUelGgaG7zGhKTKEzHqg8jDYKNY3UmHND/m0dZblZsrbOD2kzzjQLVegVpECisy/D7uBbtzF9fsBVygZo4vkmBSWarmDj+v/SfgShu790Kauu1wmXAsphPaA2jTrhYfjBOuxDUjpyQ1OVsjZ1Jj67pOQZsJvfL2D2Balbe3FvCfCwVrGTjrUrH/M96s6NI1p0LYDM7LuMmaRrkmpv/Dq1bbCKr/6ZmNmGA+IrnlYz/8T+kTxy6LetTUug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7xb2+udRRmcim7KeNpZkI03CkyRqCmZeN5dvuzaIoPE=;
 b=PeAIX6T6UyKZs+aNiwEONDoXOqYiWT5LCxbtiAJdUXbQKvrywxhjtlFp81WFiK6InZMNaQpznkoRL9kShjb8SrIAT4sT3y558wNTm8kW9gHnYYfzDZ/HMePZ64KpCrjuGuLBG4j4x8a0/aeMNNvUF/+eMLOfSu/d6w/rRwr6zpUIHr4caHck6cJILi7RNTkP7ZGEOm0w05F/ibIq+VnEONS8yM1YwkBxabnzVbbwLr5HhfFvbRwDsGOxw1UckgG/CJ1Pyw2zNFoi+6BxaVUH/6pHslCeWO/MXX6JlG2mC3r6uvy5/POj5P/owD22klSsgDtZNTmt6lhz+bSlk9nWMw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a0f3d153-5698-3915-0ee8-4a6fd2e82ff6@suse.com>
Date: Wed, 22 Mar 2023 13:34:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4 1/5] tools: add container_of() macro to
 xen-tools/common-macros.h
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
References: <20230322120844.19657-1-jgross@suse.com>
 <20230322120844.19657-2-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230322120844.19657-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0212.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8633:EE_
X-MS-Office365-Filtering-Correlation-Id: 6597fa5a-feca-4b15-fdc4-08db2ad1ba4c
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:
	DU1UP4Kfu7UpsHujFAfSXkBtbDVM1UUYw0GGsLP+4mVf4NMwhNdEfvIizxZP5XXdTs84pu95QPt0yg0rTEbr+fP6tHHcDsBLh0czFETwg07TrEvvtLNUg1LLmkuN/PYwUFhnYXeCpxhbDKROlXn4A2F+SiC6W/YifZDEkeib/g+e1n+inetOZH2suIEqWCAwAoaiwn4YcMZXebz3QQ7eT1AC7hl98pAAD5rRtCK2Gs33xERYp+RXeyXqKVHTRXj3IN7kYDlsUWMihOsbCwmzgWnAOYJFkUR6BV7MYnp8mceuSJVbm25MeHDtHsz3dLXvjnIhJx8GiXZkqiIt/40nGKpfOG3ZkXvSrdUq4d79Rjq6Cd2fvXe1bOIT/NT2A+Za4W74GKkGwB2g98g6M7i9EmP5n7bQ30OXcXvKAd12/wlsalaPlr1FKHedePQOwSbgIhlxSajauTWgxpS2MhUFfynaXc20GP6BIjAJGFF6OBOi6hba+GtBxjlzeH7P0EOP43m8ejBZbZT0UsXWPo/miO4N4uWquPaNUAtG3fiha3PBLHnsWxjPxC4zE0tWymaxbU+AysyB28N8/g12WXLD5iC/sUpp+bJ2Gzf4ozBr7GVgW1EuA71MQ36OFdXFoH1bpD+wjIUtvillW26vRf0eFcQkl+8kQ7u11ZZMEKAeIJKWiuL1osNwXeHU5G1JBMQh8zveqvVGsNlJ5K+AWt9VOyFLW9t3aqeJCHJRMxUh9jo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(39860400002)(376002)(396003)(346002)(451199018)(86362001)(31696002)(36756003)(4326008)(6636002)(478600001)(8676002)(66556008)(54906003)(66476007)(316002)(53546011)(6512007)(6506007)(6486002)(26005)(66946007)(2616005)(31686004)(186003)(83380400001)(38100700002)(37006003)(5660300002)(6862004)(8936002)(41300700001)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aHdnMHpHVFNJR2hKYkZrZHZFbEZCdGI1enBtNXR5Z1BvMWtkb0U4NUZiWE9M?=
 =?utf-8?B?aythQy9jdEREMFFyZXhFSlFOTE1mUEVWblV4MkUzcmVwcTI5MjhsYklSOG4y?=
 =?utf-8?B?NmZvRkFIL0llZzVuSHJkZGhYdFBTa1BvcWRHVStKWllzS05GTjNxS0FFa1Nk?=
 =?utf-8?B?M2hMbmVRRmEwT1hIYkdrblc1MzdRVUdNSFhhRFFhMmw4VzZtZEw5cGxFeVZu?=
 =?utf-8?B?c3FqUk1vZG9hUWVZRTMza3lvSVlTOXArMzZIMGh5WVZlT2VzOGgzTkg2M2FV?=
 =?utf-8?B?VkVRNU5ldGJJUHlBclZCcDc3L1RXTTJ4Y3YvNjU5OHNFNis4Wlo4WUFZMDBI?=
 =?utf-8?B?U0FndmJjbFNKYzRXRnY0ajF3MVhudWRuWGpUaXBYbGcvOGJ3VjFNMDlWZWsz?=
 =?utf-8?B?OGtTQnBOMmRJOHJtUlFiUHhDbVNXdlVaWmRZN29DdElTbzJBZ1VyUjQwRnZP?=
 =?utf-8?B?Q1gwU2Q2ZHhZNm15UzR2VVRqTElZRlozOEIySUJKUThrNjBvOXBReVJrdkQ2?=
 =?utf-8?B?YkhWUE1IN29QZno4K29Sb21rS0pENmZTTUdFWFFHZW5xMExwc3UwZHlqZG1E?=
 =?utf-8?B?WDkyRnJya1FhU1BqZms2bndJYWU3YzlkdkROMVF4UCtaRzlBaDRNdGduTzF0?=
 =?utf-8?B?N0ZiMzFacTRudG5DeEVyRUhaMjBZRklsZ3pXS1BNQ011OFZ1NkRhSnl5aUU1?=
 =?utf-8?B?dXdyckRvTDhsLys4VFlJdzhLUVdhaGltTVNNVWZKVEltQ0VWWGU3RFhOcFhU?=
 =?utf-8?B?Y29vM3gyRVdULzFYelpqcTRYOEhBd0x3bkxkMzFBMDZOVkRZaWdBZXQxeGEx?=
 =?utf-8?B?TVNRc0hKRzlmRE1RY3plK3doMWRsdnR0ZDV6T0dxTkQrUSs1OGhYdXhCdUwr?=
 =?utf-8?B?bGZCQ1k0QnJUeHJHczZBVlQ3bDliSzJjM01rQ0RvM3EvSVJwL0puL1cvWFJv?=
 =?utf-8?B?YVNUWFl2a2F2d0VtZnJYZWpWaGxOTy9FMUx3cXg1RDNqckZuU08rOGk4Um1R?=
 =?utf-8?B?V05XbW5WNmNxTk05Y0YzM2RXcmR1NXVjK1d4c1ZOaTAwOUlTZFk5TVNqM1NR?=
 =?utf-8?B?dDkzLzNNbHdmdzU4eUV4VkM4WTEwY2ZTV0VkNmVBczFsT1lqaERTV0ZoUExT?=
 =?utf-8?B?UElRK2xDRFBDVVUzekV4UE5KcTF4S2FJVHc4NWpwbEJiMEY3WTVJdEtjZXNZ?=
 =?utf-8?B?SkZwOVJDYi9sQ1ZJT0h0T0tWcTBOQzVzNE1PZHp4Sk5LcG1JVCtWc0hVUUto?=
 =?utf-8?B?UlZkSDlISE04ejFZaytmaVdoQ1RqNUUxck9qRnhqaHdwZXlZeXh2aXd6c3p4?=
 =?utf-8?B?VkdNdGw0UHBJZjk5NEpibmp6QUc4cEloWE5yQmpXNUh5MlJTRVVpUTBrQlRp?=
 =?utf-8?B?dWx0OXRJaWpBSEc0Z1hUajh4SHErYit2dzJHb3dXMVc0VnNJZTM4SzFwbitC?=
 =?utf-8?B?cndWNDBQVmNtbHl1ZVlQd2J2WnpCanM4OUJZaGppTFpDSjRuWk9paFM2MSsw?=
 =?utf-8?B?b1hpbWxjbFdwNVdnT1dabjlrK1NDQnVPeVFLcThuVDZjTkRWLzUrcGpXNnZo?=
 =?utf-8?B?LzMva3ZFRXhvUnNlaFlEeUxhQnoyR3o2ejJuOE1YOCs4SjIzT1FaZGdqVEwr?=
 =?utf-8?B?RytyQTQ4T3NhWExYZFBTT3FsWUdzTlBiR3BjelpnRmxqS1FWeC9pdGJZak84?=
 =?utf-8?B?Zkh4NHNZVlU1ZU1aVWVJd0tHQ04rUlhpOGdPNUh2RDcxZ1ZwZFkvekZMd21G?=
 =?utf-8?B?YityUFgwZHdndlI5Q1QxSE5qQTdxb2t2U2xjSCttM3R4bGxwZjRSUzdvTU5P?=
 =?utf-8?B?LzVjUW9TQjNDRGF5WE96UmFoLy9zYXBMeEowamI0ZEtocW4rMjRTVVlpaHlk?=
 =?utf-8?B?TVB1aDIxVjJzdmxVdEVrNENCNy9UcFd5YTVxUlZIT01WZlVyL1VBYXZkRVhU?=
 =?utf-8?B?ZGJuTURLL3RmcnBxRnRHb3BxREtxV240VHl0YXpXOWRGcFhVWE9yUnc2YUw3?=
 =?utf-8?B?anQ5dkRBTnBpTm1MS0xIV0pYNHpwZ2lKZ08xYktkamhwV1BDMVViVkxhOUxi?=
 =?utf-8?B?QWF6Ull5cVYwSjZVODlVL1BKVTRIK0tMMm5FbVRsc0FpMU1rT1RwYVNhdzRs?=
 =?utf-8?Q?5wgjj8MbPOEM2UVIep/cGDojJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6597fa5a-feca-4b15-fdc4-08db2ad1ba4c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 12:34:06.6446
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: N4gsxkdHpjGKNz5Vn/1GayC1Kl8gx55P+g9Q4UyhCr66qmd9aoZDkhkzCS1tD0t18Rltwk2epj+OnYINIaYZ5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8633

On 22.03.2023 13:08, Juergen Gross wrote:
> --- a/tools/include/xen-tools/common-macros.h
> +++ b/tools/include/xen-tools/common-macros.h
> @@ -76,4 +76,8 @@
>  #define __must_check __attribute__((__warn_unused_result__))
>  #endif
>  
> +#define container_of(ptr, type, member) ({                \
> +    typeof( ((type *)0)->member ) *__mptr = (ptr);        \
> +    (type *)( (char *)__mptr - offsetof(type,member) );})

Can the variant used here please be closer to ...

> --- a/tools/tests/x86_emulator/x86-emulate.h
> +++ b/tools/tests/x86_emulator/x86-emulate.h
> @@ -56,11 +56,6 @@
>  
>  #define cf_check /* No Control Flow Integriy checking */
>  
> -#define container_of(ptr, type, member) ({             \
> -    typeof(((type *)0)->member) *mptr__ = (ptr);       \
> -    (type *)((char *)mptr__ - offsetof(type, member)); \
> -})

... this rather than ...

> --- a/tools/xenstore/list.h
> +++ b/tools/xenstore/list.h
> @@ -3,6 +3,8 @@
>  /* Taken from Linux kernel code, but de-kernelized for userspace. */
>  #include <stddef.h>
>  
> +#include <xen-tools/common-macros.h>
> +
>  #undef LIST_HEAD_INIT
>  #undef LIST_HEAD
>  #undef INIT_LIST_HEAD
> @@ -15,10 +17,6 @@
>  #define LIST_POISON1  ((void *) 0x00100100)
>  #define LIST_POISON2  ((void *) 0x00200200)
>  
> -#define container_of(ptr, type, member) ({			\
> -        typeof( ((type *)0)->member ) *__mptr = (ptr);	\
> -        (type *)( (char *)__mptr - offsetof(type,member) );})

... this, both formatting-wise (excess blanks) and local-variable-
naming-wise (trailing underscores instead of leading ones)? (If I was
the one to commit this, I'd be happy to make the adjustment at that
time.) Then
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:34:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:34:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513408.794338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexfJ-00017O-5y; Wed, 22 Mar 2023 12:34:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513408.794338; Wed, 22 Mar 2023 12:34:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexfJ-00017H-2G; Wed, 22 Mar 2023 12:34:05 +0000
Received: by outflank-mailman (input) for mailman id 513408;
 Wed, 22 Mar 2023 12:34:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pl0Y=7O=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pexfI-000179-0f
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:34:04 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20618.outbound.protection.outlook.com
 [2a01:111:f400:7e89::618])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0c173df-c8ad-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 13:33:59 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 SJ2PR12MB7867.namprd12.prod.outlook.com (2603:10b6:a03:4cd::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 12:33:51 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 12: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: d0c173df-c8ad-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F3q3uiVSktwODPLcBG8M36XdOK/RhOTd5VGvm9wLy1W4I25jKTTjiffUpxS6vhJsVp9TpQQvRECG14AuqxVhaXGsEqsSbY6oOudXwXVlIPHbieo+qZkBM3pScjXI4bSkwp8wjEcYTSI9slXCo8elC/Ci810YdlHPVRvjhRBlSfuubmf7/3frye+f7bhGTAe9LNpnuyu+M63DgdPfw8ddXDizfoH9Oz9xbi0znwLi3cSTyLt1FWDK+oQRFdjVAdpnyUAnsIqo2d3XxPOYhlX4vSZ76GIsWmSXk9VmPCM4vDVrAEeRpswwgaLUj8B4fQNaropPHHTQjkvVJ+lHsNpEMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=trD0uMveClH44RZ/CLLdUab3NTJGL6cza4lbn4P8FHY=;
 b=DS2znbWwDxRop1cJCY1t7sEebqOS0Dn6i1Gdlj7FmUM+08FqxQH0I6OVsQ5SqMwBryCz0XeFW7sRSwsRbXqHKSxfYiHh4U5/v60/UYJjqdet4TQxp3CXHpD3OQk2T9HYjSbaYV7GP0z8GXUBUvGowzltt3dABX2YlGUtknCWHUieo23jAYfLOBRsCfHmNPH407SXx68mRHACHYD+bihwOgpQAiZDextshOsK+o8dINQ+NTMwy05Uc7Gy5nLIPwaEpB/dBrJX83y5Kla7owWaa2im47019+PfkAz82lKWnPBEN2TJMxN3rEJfmG4KCZOMgT+uXQKikU2Hcp1+tQJDfQ==
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=trD0uMveClH44RZ/CLLdUab3NTJGL6cza4lbn4P8FHY=;
 b=b4d3J6dvxb91kkMzwXaDEPSmJz88grOIcbkN4cuWl4dqygidY7J2f3IdRv+zNjlA8J/77bvPtw3jvittlNhfObzjPFysPb8jKtgLQiIYM6qFLJQsnLrRsAxL7wqz5qaK0bb8XlBQEJjiqD1RTSAAZziqmxZJ5/1a16e0IDpngFU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Wed, 22 Mar 2023 20:33:23 +0800
From: Huang Rui <ray.huang@amd.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZBr1k/B/ve8NNqaJ@amd.com>
References: <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com>
 <ZBl6iU6T1CsWqVx9@amd.com>
 <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
 <ZBmDl8XjIos57EIy@amd.com>
 <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
 <ZBmZxnyZWrni57Ry@amd.com>
 <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com>
 <ZBmrI3wrrwsK5Q+0@amd.com>
 <ZBquOn8x7IyI33Pj@amd.com>
 <ZBrLsRebAYaspHrK@Air-de-Roger>
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZBrLsRebAYaspHrK@Air-de-Roger>
X-ClientProxiedBy: SI1PR02CA0012.apcprd02.prod.outlook.com
 (2603:1096:4:1f7::8) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|SJ2PR12MB7867:EE_
X-MS-Office365-Filtering-Correlation-Id: 4c5d84fd-1c53-4240-fa13-08db2ad1b083
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aof+V9tHcTWPl01ygWXZBw6AfRpATbiDfK+txtcg6uk9q9N5HnPeJtH5FShWmhm+if2cvFzG/dVyS+uenWxYn+Spu45BmyDY5/dd/PCMVUsk4w8jxOLgByvp0yDiOlmt/ojF9X2jjTgGxTines/wEw0SYwTOvvsdNIfn6ynDhP3d49u078l0v6Gip8OOH24f0wuu+/TyQzfXbsdAx4WJ6Y7/WYrl6Kdct8zd6ejMoDuWP0kNilRCww9jdWm40tERg+FybGjD2dW9dewTn2Ia2e/3rpQgn1DxWzZ0TLJ5QO4jJsRTlfdTNLTdqAuUfm3mNYBwIx0jKa38zEPucWZupdY4Yih6FjICH9yIsieX7XjtCoMcVVsHgIPVwZyhYb68mweqauMaZ5FaXIAEFwicz8QLGh4qRCzXZIGUxSJJsKTDfNWzvDSEqC3lRB+zc+/d3sYi93RiwoF6jg8t0GFhiADrf+C0cpM+8GwACsmrVyxvwaL97k/3EpuMamKZbhNA+ZRGqmC3TXQd5qfZfobWm2zty8zWRj5xKEMkmn2SLHlNZK229G3QS0Q1e/BcrWWP6nUveL45qQGBZQaAIlF8OyVmLHaAPAmvtmMgB4nPTnL9CH1/FaDqPNXDx+drtfQwTyQdleA/jluQMCYtcLl+Jg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(136003)(346002)(366004)(376002)(39860400002)(451199018)(30864003)(2906002)(86362001)(83380400001)(8936002)(186003)(6666004)(38100700002)(5660300002)(2616005)(41300700001)(26005)(6512007)(6506007)(53546011)(54906003)(316002)(478600001)(110136005)(36756003)(6486002)(8676002)(4326008)(66556008)(66476007)(66946007);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?iso-8859-1?Q?4cSRn3IRI+qBABmlHcZWyZWVdcUljKcAd9EpF94DyzaH4poLVqNvSMhJyd?=
 =?iso-8859-1?Q?C8WTEc095c2dcWH4sqmihMBJu6ChKajOtr1xa/c79Qo0Uvbd/xE/pRTpyv?=
 =?iso-8859-1?Q?vBdf4nzdymVZxxIAR+KS05IdqiZd7zW0Q4Cal+lfxjddLysPHwCIM4szNs?=
 =?iso-8859-1?Q?V2xm7qtS01Sx1cvTtvAX1KQgZ0tILu1FTmWXnWGS7YN2gRmEAJ7xHHMLi2?=
 =?iso-8859-1?Q?WaMRBTKbUyvqFjv58APPE8HJxnIspu2LxeMzbvMv5tGFUAN35ocuxB0ZWF?=
 =?iso-8859-1?Q?TpoydZ+6JA6TD7tUZrvRA/OdDP0WTm+VJqdqdbRI5kr+WpW5MiRqf6Rf74?=
 =?iso-8859-1?Q?Jz8L8lkTOgzyHQyz+j5603kRRr4L9YDhogViiY0xZPgGQA56Np6WTCeEji?=
 =?iso-8859-1?Q?T7WeK+AkqVQ+z8V7XAp+KhD9F0KOU0TlGttzErj84syaOrhEUTvL7t/2zI?=
 =?iso-8859-1?Q?0SOiLl/NHcBWsD0gNJNG0/KAU7afP4aRjoWU82LzCyFcF3b2yfeuWBI+wf?=
 =?iso-8859-1?Q?CGN053KNptTZQh9klv3gy0a2I6XEw0ujKIq7EKGK+h/IaYoAPGNZplZfT0?=
 =?iso-8859-1?Q?hAwC2BbIf8bIOBsvVCfpFyyn/kq/14tO6uwWajhWW4jHHtatyqdQMJfQ0K?=
 =?iso-8859-1?Q?CQNDz955XxHyAbYM/e7HKx/kky7D5fJb6X7rracdWwgMok3taDEnH4tuuD?=
 =?iso-8859-1?Q?0ATQnsd7cZ87uw6xwp8trCbafsY/Z7p3av6AqjK70OmXP+rtpcScjIu5qg?=
 =?iso-8859-1?Q?LVswDxgVk6V7kjLGJp8YpFk/Q2GsUo3nNSHg0B4wmeKK0VK1+GInhR3ALp?=
 =?iso-8859-1?Q?1aZZpRzG/RMRzJ1s57nd7dRR0hQanDrZgXAV/4NrHpzsXvTyjIcgZaBXTq?=
 =?iso-8859-1?Q?MknDxxkRANn1PgkjBXVarjSxYv2DBwFl/jEdGbSq0TpOwtLcMwCA8ZHSQe?=
 =?iso-8859-1?Q?sSazwWeFND/AVlk/BS9QoIJ+F3h7YyhDigbxi2CW2AON9sn2MrNXcIznSj?=
 =?iso-8859-1?Q?3HZd/6cHa6hJkUg2z5Qry8pcCYIgVZRWw4ZzWPzGbG0YJF29MjReuO/NiK?=
 =?iso-8859-1?Q?sBRlJGFc6jV0takz2qMuqQT2icIp4GYrQR0QfIc2o6nPn68GxfvTdGjPwP?=
 =?iso-8859-1?Q?sfyU5VAfqWZKA9xEmrlXHgSphArsFa0f9k+d4ZAQJQ9P/JNEtHUqVDDkSv?=
 =?iso-8859-1?Q?34gayjDGOW3vUKA/YkUyceEe+VFkI2wxvBoXcv9OYW2yzzYIWU7nLAtLd6?=
 =?iso-8859-1?Q?ugjot0PC2xhRIw2K7KWUX4gKb6K31felkYZzXqBj10BdCQIPa17G7AQxzf?=
 =?iso-8859-1?Q?X9H+6ZZr4Dq0kd8KJ7SacE61UBw7K5q3nVduX3ELiuxzRVTj4cQV97aWIG?=
 =?iso-8859-1?Q?0fB8mTD4M5iNhD60Hgelxf7QO6Z/gtqCcuHI2tBl9z/2IU4S9YTmBhG5/Z?=
 =?iso-8859-1?Q?S2h4CRQ3HCJhWkSxlfA+5wiQsPllxPWTw3DNhH6S6uE3VetO1MPlXJ1izi?=
 =?iso-8859-1?Q?15RRzJxi1KvWTTQZcb287x3JSQXzo/Cainz9Hs271N6nKuXo256akbKUJr?=
 =?iso-8859-1?Q?1tTYcSE8WCSHfFEPjbeiSxSJeOw1xCW6YD8Hk0bfRkMMfkmKfZTBahNcIM?=
 =?iso-8859-1?Q?M1WdqJBJEGbdEZFXeJirPpBgdnfhQKdwy5?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c5d84fd-1c53-4240-fa13-08db2ad1b083
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 12:33:51.0870
 (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: KJoL823aOCJ1wdCr+SSS5zJH47WT4NUBoqKfJEbZD802xfD564oYYjVmNLY/NB0nz1t9/0PLOubUzOwfa+ftKg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7867

On Wed, Mar 22, 2023 at 05:34:41PM +0800, Roger Pau Monn wrote:
> On Wed, Mar 22, 2023 at 03:28:58PM +0800, Huang Rui wrote:
> > On Tue, Mar 21, 2023 at 09:03:58PM +0800, Huang Rui wrote:
> > > On Tue, Mar 21, 2023 at 08:27:21PM +0800, Jan Beulich wrote:
> > > > On 21.03.2023 12:49, Huang Rui wrote:
> > > > > Thanks, but we found if dom0 is PV domain, the passthrough device will
> > > > > access this function to write the real bar.
> > > > 
> > > > Can you please be quite a bit more detailed about this? The specific code
> > > > paths taken (in upstream software) to result in such would of of interest.
> > > > 
> > > 
> > > yes, please wait for a moment. let me capture a trace dump in my side.
> > > 
> > 
> > Sorry, we are wrong that if Xen PV dom0, bar_write() won't be called,
> > please ignore above information.
> > 
> > While xen is on initialization on PVH dom0, it will add all PCI devices in
> > the real bus including 0000:03:00.0 (VGA device: GPU) and 0000:03:00.1
> > (Audio device).
> > 
> > Audio is another function in the pcie device, but we won't use it here. So
> > we will remove it after that.
> > 
> > Please see below xl dmesg:
> > 
> > (XEN) PCI add device 0000:03:00.0
> > (XEN) d0v0 bar_write Ray line 391 0000:03:00.1 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 406 0000:03:00.1 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 391 0000:03:00.1 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 406 0000:03:00.1 bar->enabled 0
> > (XEN) PCI add device 0000:03:00.1
> > (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 391 0000:04:00.0 bar->enabled 0
> > (XEN) d0v0 bar_write Ray line 406 0000:04:00.0 bar->enabled 0
> > (XEN) PCI add device 0000:04:00.0
> > 
> > ...
> > 
> > (XEN) PCI add device 0000:07:00.7
> > (XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc0010058 unimplemented
> > (XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc0011020 unimplemented
> > (XEN) PCI remove device 0000:03:00.1
> > 
> > We run below script to remove audio
> > 
> > echo -n "1" > /sys/bus/pci/devices/0000:03:00.1/remove
> > 
> > (XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc001029b unimplemented
> > (XEN) arch/x86/hvm/svm/svm.c:2017:d0v0 RDMSR 0xc001029a unimplemented
> > 
> > Then we will run "xl pci-assignable-add 03:00.0" to assign GPU as
> > passthrough. At this moment, the real bar is trying to be written.
> > 
> > (XEN) d0v7 bar_write Ray line 391 0000:03:00.0 bar->enabled 1
> > (XEN) d0v7 bar_write Ray line 406 0000:03:00.0 bar->enabled 1
> > (XEN) Xen WARN at drivers/vpci/header.c:408
> > (XEN) ----[ Xen-4.18-unstable  x86_64  debug=y  Not tainted ]----
> > (XEN) CPU:    8
> > (XEN) RIP:    e008:[<ffff82d040263cb9>] drivers/vpci/header.c#bar_write+0xc0/0x1ce
> > (XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor (d0v7)
> > (XEN) rax: ffff8303fc36d06c   rbx: ffff8303f90468b0   rcx: 0000000000000010
> > (XEN) rdx: 0000000000000002   rsi: ffff8303fc36a020   rdi: ffff8303fc36a018
> > (XEN) rbp: ffff8303fc367c18   rsp: ffff8303fc367be8   r8:  0000000000000001
> > (XEN) r9:  ffff8303fc36a010   r10: 0000000000000001   r11: 0000000000000001
> > (XEN) r12: 00000000d0700000   r13: ffff8303fc6d9230   r14: ffff8303fc6d9270
> > (XEN) r15: 0000000000000000   cr0: 0000000080050033   cr4: 00000000003506e0
> > (XEN) cr3: 00000003fc3c4000   cr2: 00007f180f6371e8
> > (XEN) fsb: 00007fce655edbc0   gsb: ffff88822f3c0000   gss: 0000000000000000
> > (XEN) ds: 0000   es: 0000   fs: 0000   gs: 0000   ss: 0000   cs: e008
> > (XEN) Xen code around <ffff82d040263cb9> (drivers/vpci/header.c#bar_write+0xc0/0x1ce):
> > (XEN)  b6 53 14 f6 c2 02 74 02 <0f> 0b 48 8b 03 45 84 ff 0f 85 ec 00 00 00 48 b9
> > (XEN) Xen stack trace from rsp=ffff8303fc367be8:
> > (XEN)    00000024fc367bf8 ffff8303f9046a50 0000000000000000 0000000000000004
> > (XEN)    0000000000000004 0000000000000024 ffff8303fc367ca0 ffff82d040263683
> > (XEN)    00000300fc367ca0 d070000003003501 00000024d0700000 ffff8303fc6d9230
> > (XEN)    0000000000000000 0000000000000000 0000002400000004 0000000000000000
> > (XEN)    0000000000000000 0000000000000000 0000000000000004 00000000d0700000
> > (XEN)    0000000000000024 0000000000000000 ffff82d040404bc0 ffff8303fc367cd0
> > (XEN)    ffff82d0402c60a8 0000030000000001 ffff8303fc367d88 0000000000000000
> > (XEN)    ffff8303fc610800 ffff8303fc367d30 ffff82d0402c54da ffff8303fc367ce0
> > (XEN)    ffff8303fc367fff 0000000000000004 ffff830300000004 00000000d0700000
> > (XEN)    ffff8303fc610800 ffff8303fc367d88 0000000000000001 0000000000000000
> > (XEN)    0000000000000000 ffff8303fc367d58 ffff82d0402c5570 0000000000000004
> > (XEN)    ffff8304065ea000 ffff8303fc367e28 ffff8303fc367dd0 ffff82d0402b5357
> > (XEN)    0000000000000cfc ffff8303fc621000 0000000000000000 0000000000000000
> > (XEN)    0000000000000cfc 00000000d0700000 0000000400000001 0001000000000000
> > (XEN)    0000000000000004 0000000000000004 0000000000000000 ffff8303fc367e44
> > (XEN)    ffff8304065ea000 ffff8303fc367e10 ffff82d0402b56d6 0000000000000000
> > (XEN)    ffff8303fc367e44 0000000000000004 0000000000000cfc ffff8304065e6000
> > (XEN)    0000000000000000 ffff8303fc367e30 ffff82d0402b6bcc ffff8303fc367e44
> > (XEN)    0000000000000001 ffff8303fc367e70 ffff82d0402c5e80 d070000040203490
> > (XEN)    000000000000007b ffff8303fc367ef8 ffff8304065e6000 ffff8304065ea000
> > (XEN) Xen call trace:
> > (XEN)    [<ffff82d040263cb9>] R drivers/vpci/header.c#bar_write+0xc0/0x1ce
> > (XEN)    [<ffff82d040263683>] F vpci_write+0x123/0x26c
> > (XEN)    [<ffff82d0402c60a8>] F arch/x86/hvm/io.c#vpci_portio_write+0xa0/0xa7
> > (XEN)    [<ffff82d0402c54da>] F hvm_process_io_intercept+0x203/0x26f
> > (XEN)    [<ffff82d0402c5570>] F hvm_io_intercept+0x2a/0x4c
> > (XEN)    [<ffff82d0402b5357>] F arch/x86/hvm/emulate.c#hvmemul_do_io+0x29b/0x5eb
> > (XEN)    [<ffff82d0402b56d6>] F arch/x86/hvm/emulate.c#hvmemul_do_io_buffer+0x2f/0x6a
> > (XEN)    [<ffff82d0402b6bcc>] F hvmemul_do_pio_buffer+0x33/0x35
> > (XEN)    [<ffff82d0402c5e80>] F handle_pio+0x70/0x1b7
> > (XEN)    [<ffff82d04029dc7f>] F svm_vmexit_handler+0x10ba/0x18aa
> > (XEN)    [<ffff82d0402034e5>] F svm_stgi_label+0x8/0x18
> > (XEN)
> > (XEN) d0v7 bar_write Ray line 391 0000:03:00.0 bar->enabled 1
> > (XEN) d0v7 bar_write Ray line 406 0000:03:00.0 bar->enabled 1
> 

Hi Jan, Roger,

> As said by Jan, it's hard to figure out where are the printks placed without a
> diff of your changes.

I attached the diff of my prints below, and I want to figure out why the
Bar_write() is called while we use pci-assignable-add to assign passthrough device in PVH dom0.


diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 918d11fbce..35447aff2a 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -388,12 +388,14 @@ static void cf_check bar_write(
     else
         val &= PCI_BASE_ADDRESS_MEM_MASK;
 
+    gprintk(XENLOG_WARNING, "%s Ray line %d %pp bar->enabled %d\n", __func__, __LINE__, &pdev->sbdf , bar->enabled);
     /*
      * Xen only cares whether the BAR is mapped into the p2m, so allow BAR
      * writes as long as the BAR is not mapped into the p2m.
      */
     if ( pci_conf_read16(pdev->sbdf, PCI_COMMAND) & PCI_COMMAND_MEMORY )
     {
+        gprintk(XENLOG_WARNING, "%s Ray line %d %pp bar->enabled %d\n", __func__, __LINE__, &pdev->sbdf , bar->enabled);
         /* If the value written is the current one avoid printing a warning. */
         if ( val != (uint32_t)(bar->addr >> (hi ? 32 : 0)) )
             gprintk(XENLOG_WARNING,
@@ -401,7 +403,9 @@ static void cf_check bar_write(
                     &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
         return;
     }
-
+    gprintk(XENLOG_WARNING, "%s Ray line %d %pp bar->enabled %d\n", __func__, __LINE__, &pdev->sbdf , bar->enabled);
+    if (bar->enabled)
+	WARN_ON(1);
 
     /*
      * Update the cached address, so that when memory decoding is enabled

> 
> So far the above seems to be expected, as we currently don't handle BAR
> register writes with memory decoding enabled.
> 
> Given the change proposed in this patch, can you check whether `bar->enabled ==
> true` but the PCI command register has the memory decoding bit unset?


I traced that while we do pci-assignable-add, we will follow below trace to
bind the passthrough device.

pciassignable_add()->libxl_device_pci_assignable_add()->libxl__device_pci_assignable_add()->pciback_dev_assign()

Then kernel xen-pciback driver want to add virtual configuration spaces. In
this phase, the bar_write() in xen hypervisor will be called. I still need
a bit more time to figure the exact reason. May I know where the
xen-pciback driver would trigger a hvm_io_intercept to xen hypervisor?

[  309.719049] xen_pciback: wants to seize 0000:03:00.0
[  462.911251] pciback 0000:03:00.0: xen_pciback: probing...
[  462.911256] pciback 0000:03:00.0: xen_pciback: seizing device
[  462.911257] pciback 0000:03:00.0: xen_pciback: pcistub_device_alloc
[  462.911261] pciback 0000:03:00.0: xen_pciback: initializing...
[  462.911263] pciback 0000:03:00.0: xen_pciback: initializing config
[  462.911265] pciback 0000:03:00.0: xen-pciback: initializing virtual configuration space
[  462.911268] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x00
[  462.911271] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x02
[  462.911284] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x04
[  462.911286] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3c
[  462.911289] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3d
[  462.911291] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0c
[  462.911294] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0d
[  462.911296] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0f
[  462.911301] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x10
[  462.911306] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x14
[  462.911309] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x18
[  462.911313] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x1c
[  462.911317] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x20
[  462.911321] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x24
[  462.911325] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x30
[  462.911358] pciback 0000:03:00.0: Found capability 0x1 at 0x50
[  462.911361] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x50
[  462.911363] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x52
[  462.911368] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x54
[  462.911371] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x56
[  462.911373] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x57
[  462.911386] pciback 0000:03:00.0: Found capability 0x5 at 0xa0
[  462.911388] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa0
[  462.911391] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa2
[  462.911405] pciback 0000:03:00.0: xen_pciback: enabling device
[  462.911412] pciback 0000:03:00.0: enabling device (0006 -> 0007)
[  462.911658] Already setup the GSI :28
[  462.911668] Already map the GSI :28 and IRQ: 115
[  462.911684] pciback 0000:03:00.0: xen_pciback: save state of device
[  462.912154] pciback 0000:03:00.0: xen_pciback: resetting (FLR, D3, etc) the device
[  463.954998] pciback 0000:03:00.0: xen_pciback: reset device


> 
> If so it would mean Xen state got out-of-sync with the hardware state, and we
> would need to figure out where it happened.  Is there any backdoor in the AMD
> GPU that allows to disable memory decoding without using the PCI command
> register?
> 

I don't think we have any backdoor.

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:38:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:38:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513417.794358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexjr-0002Mk-4h; Wed, 22 Mar 2023 12:38:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513417.794358; Wed, 22 Mar 2023 12: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 1pexjr-0002Md-0v; Wed, 22 Mar 2023 12:38:47 +0000
Received: by outflank-mailman (input) for mailman id 513417;
 Wed, 22 Mar 2023 12: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pexjp-0002MX-HL
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:38:45 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20602.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b929fb8-c8ae-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 13:38:44 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB7066.eurprd04.prod.outlook.com (2603:10a6:10:12e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 12:38:42 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 12: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>
X-Inumbo-ID: 7b929fb8-c8ae-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IvyCq0h8YdhDaxkp5lXlTyv4d8oaz/U31pqqvD/oyrlBy0joKKiYBpZ7sYwoZ3u+ttO5khh1nXJJKxF8t+q5AGNz+I3JFe+yYKhVS6FFKVJLF+VpcEVVoy32+ERn/WPPj83GAjW0tK56zEE8x3mPSRSjFUMIqqeWkNlYc6jyAsAXIjvY7zrLQdZWCxQzs9OJNH02nmJxBWAjsvmayZiuMB4xkbtV8tTqBBQgZ7cwtng03Kw8ikKRBVkwldeaLv7WPaeRVRHBaCsSE9D51UztCXIddvpDJITzLE50CL/Ehl3R2B/WhWBp6tkmr2Yy6wdJ51C4GDjW88uXNIx11w0XqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LhCfI+UJ6kcIvxOraok5+HnXpJKlc47SPJr6cW2N9JQ=;
 b=lC6mYk5nIp6+Yykm/EvBoBxfX7DJPq86vEbbrUs6XfNvFa54otkaNVfnlKlOPsB+pzJ8vWDdh4xxCCJr2sZV9DRAouGnFQjZDRPTuE/GzEHBUk1kjil5h5B7g6ty2kSulgOP5Xvwbi7+YlzAqkWWuh3XEbRox6UL9NsIfHms76vvkLdtpoLZr1lWbkYLJn5fT2Y5pGleIqlkkunhKZ/RQXPrKX3BSpyflJ2BNcjzHLpr/eBERAIBDRn4w9QD7dGvNCtS1DOLfWeVEtsfap9+iD6zGWLcukTSkmDQW1DDVX0rHA3a5jFOF+bkzvRXrSj9VNwpumLoJP8wJ6ZEZ4mzpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LhCfI+UJ6kcIvxOraok5+HnXpJKlc47SPJr6cW2N9JQ=;
 b=iaEGioS/yVuuN2sO0fFIBQI5rtj+pXywL+wsz9b0rfSJW50ljp0NFGFsHKZeY6RmsukIW/klCPSyFj4tKSNYepm3VZkCDJlELehtrFwvV9yFzhirjMRIGzX8hbJ4ItOAclpKOXYJParWeq+hkKKTWMPt76IknXHmu7Qb3tL4Z8NFjxfrcnZC5QA/bW4EeEVZH3SO1vClXBtGOkMqnNpU64pwrwTuafNjOAuRsev13Sclb3/jDLYxpNEa3encPCsdMeEReq9TwLbUgt/q6RyV/iYf8xnsrTeoYuQSLkFH9egH0ezyo0vboKxAprYxWWIRYYjKR8AgABxkxWeIpobuRw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cd1b5f73-aa57-938d-8453-9c2e7b0895cd@suse.com>
Date: Wed, 22 Mar 2023 13:38:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4 2/5] tools: get rid of additional min() and max()
 definitions
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230322120844.19657-1-jgross@suse.com>
 <20230322120844.19657-3-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230322120844.19657-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0011.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB7066:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ef62a48-38c9-4ff9-1caa-08db2ad25ea6
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:
	oKNyVwLlldW2suQC/+JxvxMQdtUnbru+dLGvzSwYRach0iH6Vtyvw7e46zXSwBapyC5u5qw8xvhiinuoa8BC/RpoC+zinfnwsA6hPc2FvV3EZK/mgW0iiFhmQcMke115j69zcY/AyClCFxhR3paAcU/kjbvf0OHbHJan1p+N1Hm85TRwmc6RPfh915OJUDX07f3VU+8ELFbrEcFza4m7FJUdiynGFCo0Mdl9CfU6QD8btt1zAs0R2XBI83PZVTWZmP/wSMX5W1GjALIdupH2Wnzpg6EnnH3+mRfUu9GSaX35Ku4hbpyz5rzVDAzJv62TLM2M73lnSZY7CCDpSdrU8gysbw4ZVFVT4ATjy8QKqGkEZHvShvQWdJV0nda4dfrMJBt0dQSkD9Rt5IVtLhmjpnwXog9IElYI/VX0lKiY3JP05pJrridssZzsJwvsCczQOhLdig5GArbFZAp3H0A4eDM/G8qgO+B37kX8etC9zZLZtsiR+COeXi3gfHExmAb+1E9Q04PB19yGcnJalhe40lqRuL/qu3zDMjT7vxwOrqNPA4VbLrxkrhr0EY/sdoAWs9MHz78v6IBlj8Ah1XW6L441VoTKKH6M4D8z5GuAy4C/x2aoQA9adtqUxvVcoxXgqO9oSLSPVYqynOgVMPasmDkeFVGFRVqAdWC/kSmrCmzgpZxNc0k/ZWUyiAtpC96CZM6wbkjkLJu/WFAIFy8l+brH/O5UOZUePasb3HNACWXZmhsDluwvuWP9TRkoPG5W5Zj1AY0NRhe1o22dEu2jSg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(39860400002)(366004)(376002)(136003)(346002)(451199018)(38100700002)(31696002)(6506007)(6862004)(4326008)(4744005)(66556008)(6512007)(5660300002)(8936002)(36756003)(86362001)(66476007)(66946007)(2906002)(41300700001)(26005)(6486002)(186003)(2616005)(54906003)(53546011)(316002)(37006003)(478600001)(83380400001)(6636002)(31686004)(8676002)(26583001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U2NQbFc1Y0I4bXhYRVc0YU8xT0g3Y2xCSDIxTFRlNVdmNW1qSG9mS3dKM3Uz?=
 =?utf-8?B?eGF2aE5maUlWTmJnY2wzc0FTVDY3OW9wV0xHVVhIenR3SUpkbzNxWnl4S3kw?=
 =?utf-8?B?cVRVZ0xGWEdXUzFFUlp4ZDhxWTF6TlhCVnlkWFU3cDJoWk5idjNRRVQ5UzV4?=
 =?utf-8?B?ekdMWlVzWTlzU2psSVdYSGJEQnFqZDhBazFqZVIyaUtCTlU5RXkwZW8zUW5S?=
 =?utf-8?B?L09IbHBRSzRuVmpZU2ZUbUdWTDRPOTRsRjR4TWNaK0ttM0xiZVYzSmNDQWQz?=
 =?utf-8?B?SFRIZGFDb0tObnhWSTZCQ2tyMUdIbHFnV2ljYTlQamZZMnBnaHo4cGc1WGxI?=
 =?utf-8?B?bGg0ZFJEZU16bG5mREhzdnBJRUFkOUwrQkZrclB5OWRDZUx1ZWhBQ0R1Zndy?=
 =?utf-8?B?T2hhcVh5OVczdS95K3QwdXYrZTBkZGp2T0pHTVUrdUlzSW5GS21UVFN6NjJu?=
 =?utf-8?B?UDhaNzVQOFIzRE9EeTFZS2pGLzJkS09kS1ZJUnZOR1owNkhwdTJ6Q29OR2RG?=
 =?utf-8?B?UXJscW9XT1VIbXdQSURSZHJOeEtLa0lJQXpVN1VOVGJiK3JCeTR0eFdwSlVF?=
 =?utf-8?B?cFhRZWRWaElMODBWUHRJRmxXYmNUTEZQa1pqZDl5YlhGN0NnQnIzUjF6VGhR?=
 =?utf-8?B?WmFtL3c1aW9SMlg4ajZHemYxWWNwTDNCMmszSzF6TUlmSW9sMFlqWG1iQWUz?=
 =?utf-8?B?WXg2bEFoOHZaVlZpRDNqYU9EcjRscjRaak5Xb29LUHI1WWluMThVRDhRWHRV?=
 =?utf-8?B?ckdVc1FKV3FNTHp4Tk0zQzNlRldQaTF4Rkd5TG5QSkZBY21YRk5PMWQ3eEFi?=
 =?utf-8?B?VkRpUDFwdFlmUUlwQlZ6ejhhYmxxWmlwVngyNUtHVU9LNGZvcHY2Smk0YnVn?=
 =?utf-8?B?SndmYkc3WTBwQ0dUZ25kQmFVZit1dWxIWWh4OURod1lNWGxkZmhFY1BxaHg2?=
 =?utf-8?B?cHBSMkpjS1ZlZE1SVmRXY2JnOVRYc2xvQnpsM01UbFdaSnJYTXV1RGswcU1O?=
 =?utf-8?B?Njd5N2xaV0lvRmxYTHJlcWhyUGREUy9HUVgxUDd2VGpoUkZ6VnNUbDZNZ2lo?=
 =?utf-8?B?dUJqdGE3WXA2K2FNY3BqbFg2SnBoYTNwWEtBZmRuZHRvelV6dmM1WjM3TXFq?=
 =?utf-8?B?ZjlSMlZJS0xmVHpMZlZmdCszeGxhZk05ZVgwU3RGbjczMmt0cW5rUzkwUGxa?=
 =?utf-8?B?bUUyVUY2dFBQTVU0M0JtWHd2VGluWVNUZFRpRVBERjd2QzQvYmJrb0xMdDhL?=
 =?utf-8?B?SWNvRUVTMWhwUUxpWlMvT3JyQkJlYlRvbkIvVlJGVUhwTFoybzJrdFU3eXhH?=
 =?utf-8?B?RGxSQ2xlY0xhbXdjVnNuemx4NTBYWkFWRWlUSkJqYVM2UTVuUjFSUllzKzl3?=
 =?utf-8?B?OUpiN2twWGQ3bGU3aUJSUmw0QWplK2oxazA3N0xCbUtQYVBzTzZmTkFqZ2hU?=
 =?utf-8?B?NnZlVFFEQUw3d3BsOVJjQjV0NmE1ME9sZmloM08xVWM4Yzl6OEVHenNTZ2h5?=
 =?utf-8?B?OXdMRlUxVDVEeTMvRXNaUDk1ZTJXSlpVN21wUmFVdnI0a2dCZVQrWDh2YnUy?=
 =?utf-8?B?cmovVVNoUTFVOEFsZlgybTZNczloYXgwQkgweVZ3bytDNUFGUHpON1JWY1BC?=
 =?utf-8?B?ZzRtR3lJa1J3SUNwb0E4VDh4TWF6T1VEQnZ3UlhnUlhzdE5tRkxtTTRQRHVP?=
 =?utf-8?B?cUNsVnI4em4rNmZjNmk1T3B3MXVWdkJIUDZYcy9yd1ZpRGM3Qk1HT0NGVUtY?=
 =?utf-8?B?ZzZNN3ZWOGRBR3hJZ1FyTHdCZk1KMFpFZ01LMkFHdGVpTkwxaHdkQXBVVlpH?=
 =?utf-8?B?VWcwMkRML0dlelU4VW8vdGNKVHA5ZkVGTEYrM011enIwWVIvMk56Slo4cEh5?=
 =?utf-8?B?eDMzQ0thaVJ3UzY3N3Evb1VPb2FpNXppVXVuQWowL2t3MkJNUWZGamt0OVV0?=
 =?utf-8?B?WFBYQUpsLzJLYWxlemF0eDBaRFk5UTZwQW5ERzJ4a1N3Tjg4Kys3RTRYdHdh?=
 =?utf-8?B?WEVyc1RJSUtxRjIybGFMaC93ZU5yS2Z5Q2ViOE93cTg1U3F2ZWV0OEQyUk1r?=
 =?utf-8?B?angrQ0tTVXZIRm1LbHBwdWQyTWN5RVBXR2Q2aVJ6RHVzck1kUDh1NUNicHk2?=
 =?utf-8?Q?BKwUClF0x00IipZL7cOXCtvBc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ef62a48-38c9-4ff9-1caa-08db2ad25ea6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 12:38:42.4062
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 85s1OmfCxxDNXr4dLhdcze7RTrGaCZw6tp3ssKuVkFXn3AGLC+THusNI2QW4B2+ZkqgYe1H2dadynK7IYpCLyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7066

On 22.03.2023 13:08, Juergen Gross wrote:
> --- a/tools/tests/vpci/emul.h
> +++ b/tools/tests/vpci/emul.h
> @@ -106,22 +106,6 @@ typedef union {
>  #define BUG() assert(0)
>  #define ASSERT_UNREACHABLE() assert(0)
>  
> -#define min(x, y) ({                    \
> -        const typeof(x) tx = (x);       \
> -        const typeof(y) ty = (y);       \
> -                                        \
> -        (void) (&tx == &ty);            \
> -        tx < ty ? tx : ty;              \
> -})
> -
> -#define max(x, y) ({                    \
> -        const typeof(x) tx = (x);       \
> -        const typeof(y) ty = (y);       \
> -                                        \
> -        (void) (&tx == &ty);            \
> -        tx > ty ? tx : ty;              \
> -})

The new include is added to this file by the first patch. How do things
build warning-free before these macros (functionally compatible but
different in the specific tokens used) are removed, i.e. before this
patch is (also) applied?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:42:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:42:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513420.794369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexnh-00040e-MU; Wed, 22 Mar 2023 12:42:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513420.794369; Wed, 22 Mar 2023 12: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 1pexnh-00040X-H0; Wed, 22 Mar 2023 12:42:45 +0000
Received: by outflank-mailman (input) for mailman id 513420;
 Wed, 22 Mar 2023 12:42: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pexnf-00040R-QF
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:42:43 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on062b.outbound.protection.outlook.com
 [2a01:111:f400:fe02::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 09a2cf41-c8af-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 13:42:43 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8120.eurprd04.prod.outlook.com (2603:10a6:20b:3f1::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 12:42:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 12:42: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: 09a2cf41-c8af-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DsS58HE+F1g6jHCmgvyNR/ZSkNGvamGOTar/nqD7gPEuxI5G6KmGyqWUkYnRSKA3PYMk4HJZyG1qIAt5WkAkanc30Mp57DelRZHYPMUbDS29VVzxGCx9MwWC9Ynd6rZEq94BezjayZizs4fxVecTATbL9XWYGoA8fd0ceX3UggKVY794GaD3leDadZ3dlBKhv4nh2q8JOWkBHRxQhx/LJNwtIIVoXYzVrQnufNkomE+ufrH9kCknlYsbvPeywFJN2ohdKXhNqm20oMgo9fe0nHywHRkhxxf/KGWv87SREMAdgJSujiWCQU6atYmfMJqLPP/u9GGyljT9TmVmEkSixw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eEOU7cXu/LPxXOjMLbHBitPpfPY/EMUhyfJHlL2VeKc=;
 b=CavJSP23s0vcsY47NQN4gu40Txqv+273pCidOZvVD+McJycmRv1o5VYyKWVDNu6IMNwIPMgz+ZQzf0uBZyr0DBPPO+38G5pYSyA9tZK3xb7+HIUVAxmsH9B9CC/fQ/h8GS5m/p2P5M+djfhCOGvmIpnaRscc69EPestPgHTz0UCYtTVOnStkf6MnCkrgynbGaSjtuBcEbxDtvy2iP+u4pK7FPP6EUmj9Dy6H3ks6HefWAxi3kKjSS0WCN0ioV4Cf+oEsCSesTAs98nq+6w8wqqYaBag02ytKiL+g3DVWv2KOBp3RL0jwZNqwoVcGfFdYO3CSJJyGtYa7z+wmzZhNgA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eEOU7cXu/LPxXOjMLbHBitPpfPY/EMUhyfJHlL2VeKc=;
 b=3kChOPZE6HVtfco2Irh/eSyf3g5e3JKPw/aaXoCCMSG9LU7+UMuWSQmkl8E7/d7onel8nxmSoRlR32Ew1cb1lF9qczILTzNviIywfyasWsG10P/DJqqUeCatRVaKQp6hDW5XzUFgzLgRQH8OuEMmFDAKP2ErWo/dr0OLbNFzBVpU9K9PsqFZT0WE3A8H9pPalprGKD8+I4TkyQUv97MxC2l1WDzGahp4SB51hFeyYB1nsKNcbTeyAqV0LkqdmVMZdipvTXgzjXdCwC4UEDMCBECBkolNgJBYQM5kAFBHUysBbBVxDGezi0V0C/pwyL+auE1+v4rf+/mFpQIUJXia4A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2342adc4-0011-8441-86b6-48cc21e999eb@suse.com>
Date: Wed, 22 Mar 2023 13:42:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4 3/5] tools/hvmloader: remove private offsetof()
 definition
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230322120844.19657-1-jgross@suse.com>
 <20230322120844.19657-4-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230322120844.19657-4-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0184.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8120:EE_
X-MS-Office365-Filtering-Correlation-Id: 21e38d0d-d965-43af-2694-08db2ad2ec63
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:
	FKmYsey2EOLsQwAXBuqrZnrRPDCtp5dRxpnrIOKCZ1VscJF3ZAN/rsQry7bl9GN2HPQApe2WhGCKpPrL4NUX0Y+7wd9IG8gLOsWWkUEwl9CqkKa2mRzPSo4H1eBNca23tKV9Tc5NIOseJSgW/4v85UhcVs/0yUVgOnpzwda9yUCx8ONMjITjZS+5/kpILQ+y1ZXdeyRTEsJ44DJtlacE/wRQdrIrO0jrVSnDqvQcPlbgAm6F5gcxdzKvP3Y4YxzvEqpIi7HsKBpqSyp2KhBHiiwG9NgMj4lEAF/ECeEBMp1yUlMHZQ/0momuVuSA0k/e/0a7ZTjN8rhlSnrHRIQm7ukhDF2mRif/GeAZeRBNjXb82uPmpwER9KiGdIEVhlfHUpJApuajkm4jlAXegaBFYa2S5f1ALLapobtzE40IGYo8NsaH946cgKozyRGLnRRpJtsapJvhGkYOh3lZYea6o1VvV7NqVJbsSlssPQsey1P12S6pzbKIXIWT1PlABJU2NBAR90lHNhDk8zx++eXkRFvChLYNV462GHWFqjmy0wjQQvWkNLsSwCFBGyhGAdbNllFf9amh6B/lK6CDOaYDE8GJrT6SLL5foNzasVZtyjw6Y62NzQI7+lsLbndZ7tQkpHVmCvjvcnY0zjTIhItHbpTeCPuIaLQOe0lUGjt+qpURP9csaglHo8T32AQgeMoQr4J8AML4LBsZSdvEWI1lHpeiRyfGW2tlR2HpsVeu3ts=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(366004)(346002)(39860400002)(136003)(396003)(451199018)(8936002)(4744005)(5660300002)(41300700001)(6862004)(36756003)(86362001)(31696002)(38100700002)(2906002)(4326008)(6506007)(31686004)(53546011)(6512007)(8676002)(186003)(26005)(6486002)(478600001)(66476007)(66556008)(54906003)(66946007)(2616005)(6636002)(316002)(37006003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WEFTckJlbEU3QUdGSTBrOFBDQk1hUnkvKy8zZG5EYTJLdDdaZGJaUVpVQ3lw?=
 =?utf-8?B?aEZSR29YRjc2WFhCQ2ZPSThCZGZiUUViTzYrbGZvbGwrNUhrOVNNd0M3UjFi?=
 =?utf-8?B?bS9OZGg3SithSklJWUs0RTVMc1FMZW5oMkVPS2tMQ09iMjNaS1N0TXdsdEg2?=
 =?utf-8?B?NUNITlhwU3BCdkhoS0VKSXZrUHZ0dDI1RmkxaGVzUFQ1Q0VoZmVRcDFlOEY0?=
 =?utf-8?B?cGdTMUQ4ek5KejhnSWpHMk5MLzJrS000Z3EwLzN0aWJoNHlzUlhDZ0xVQVNl?=
 =?utf-8?B?emx1REVuT05WMHVicFlKQzNZR3diN0JCN1ZmclRtS1JSU3hQaGNzalAxVUJZ?=
 =?utf-8?B?eTQrUWNsWW93VXhrNEpMb2FHcXFMcmZIK3BhOHRxL3Zxa0Iva2YzbGFBeWt6?=
 =?utf-8?B?NEtPRElmcUtmM1U4U0Jvc2hKYTVsRGN5MTE4TmV2NUtjNC8yWjNQcjBIRGtt?=
 =?utf-8?B?S0hvZlpYQklSRFByMmZJMzBOdlpkV1hZOHlaS3RlYStYdGxEL2lxUVZybUpv?=
 =?utf-8?B?RzdCQTBiNmEvSXZ4NkFrVXVHbUFjUCtIb01uRllnMkQ3MXhnYXRUY1ZlV3Bs?=
 =?utf-8?B?S3VRUEw2dEZDVEZWNmY2bGlyazM3UXZJRUhMckpDYUhWREdvUHd3SXo2UFlx?=
 =?utf-8?B?Q1FPL2ZKOXNRUG85VVdTRDM4WUcxbk1vVEZOTDlJYW5QTUc5S21ySXRNek9n?=
 =?utf-8?B?Y1B2ckkwU1djNk1HcWFEd0RxVGVjTUxwYW1WNnpqSjJjVXpqVjZUT0dNTDRB?=
 =?utf-8?B?TkJZaUtFVDFSdndTWHZDYlV4UmFVNUhCVDJlNTdHd1FmTDZ3d2oyVFE2ZzlY?=
 =?utf-8?B?VEVuNmJNOEpoRUtCY0hBQVAyUHpJazJSTGc0YVFxOW44dlkzRlY3WGFFT244?=
 =?utf-8?B?TDdFQkFLNDYyNjBvZUVPOFNsV3k3cnpqOTFpUlo2dnNtZGdVRGU0MCt6eUZJ?=
 =?utf-8?B?Sk1vRWxGOWcvUjFSOGRUa2FRd052RzhTMFJ1VGl3VzZjS1kzMEE5V200UlRt?=
 =?utf-8?B?MVJ6SFowOGlCZGVYS2MrMkNJREdmaWtyK2owRHlyaURyVEJtVkV1TE4wbjkx?=
 =?utf-8?B?eXNFTjNVclNuekVyUkF0TjFnUFYrbWlVUEI0Tmw5VUZSYXEwZkZYb1MyR2p5?=
 =?utf-8?B?NWE2d0Qwc0VFSEZsZTB0SXVRcjZCRUoxQ3A1ZDZqMWI2eTJWbkNSa0UwNXZO?=
 =?utf-8?B?YUJIOStmaCt2RmZDbUdobTVVVHJGRHlzM0pEZkFpZElNRjhpZVV3dktBbHlV?=
 =?utf-8?B?d2lvdUtlcnhPcnAwY2JqOVdQKzVsQ09UTXlUb0ZZV01HcEl3VEdsUFp1czBM?=
 =?utf-8?B?cWlYUGpyUCtrT3dONnlCODdLTDBEMVpFbWptS24xZHRweXlqWitOcXlPOFFt?=
 =?utf-8?B?b25ZVHdhejdPRDJtYThyL2FBcm9vQnY4Qmg1UnBjNXJ6TElDcTRLSkFuNG1S?=
 =?utf-8?B?aVIyS0F6VzFmeSs3MWhaRnM5RW01bUMxbUZSWUJveUd3TDdERzdMd2R6WlJH?=
 =?utf-8?B?WFNIZkczMGNoYzhKS1hQQWZoZTN6cEpDcmJUaENYNDNUWldlNEt3SzlaQ1Vj?=
 =?utf-8?B?VVY4SzFJay9Td25qYlE3d0dVejR6SXpmbHB2SmE5SXZ4cytJZ21acURPZlNs?=
 =?utf-8?B?THlPSkJsWUVOeUFrcFcvUUpoUFRWY2hudk41bllJc0tLQ0M0SUhuTVp4NUl3?=
 =?utf-8?B?RkdXQ0xwZ1ZxVFdLZXZKM1BqMEd2ZVhkR3hOb0RKWWZMdGFpaXpzYXZxZTVM?=
 =?utf-8?B?SzRyU24xbUFGN25XWXB2cURtRkliU3lkQ0xvZW1CclY5OWRjN1Z6dk9oaFIy?=
 =?utf-8?B?bEd3cGVKV3AxeEZ0akk4WUlHNUtBMmcyaVUyeWN6Zmo5dFR1VlU4T1V2N2ND?=
 =?utf-8?B?dEZTb3I5NzFRZnlmaXdZcTVlWlJYMkJ0azF4TEduU1gzR05vT1F0TmlzeEEz?=
 =?utf-8?B?QVp2dVBIdFgwMUxLQmNYQ2tobVgyN1QrSXA3ZG8xQUxZS2JRenJjUEkxVFJM?=
 =?utf-8?B?b3JvZ1ptR0hPdmtha1JVbnltaXV5eFhUUXh0bmZWY0FObjVleC9BZ0l6alZ0?=
 =?utf-8?B?aEhFWlMreitmQjVJaThtOWs2MWlMeHYvQ1h3VCtnU3loeC8waTNicW9NZ2JN?=
 =?utf-8?Q?MA81LzX2TUBl4uQULxWO5B5bS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 21e38d0d-d965-43af-2694-08db2ad2ec63
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 12:42:40.2507
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: b+wvLZktFZHgcshYWzEu0+VmEXMxp5oCujDoQbVkplQx3q1ATNPJ4Piu3mGjRkRVCIOqiFtnEmZpQf314n9u/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8120

On 22.03.2023 13:08, Juergen Gross wrote:
> util.h contains a definition of offsetof(), which isn't needed.

While true, this is also ambiguous in the context of this series: It isn't
"not needed" because common-macros.h has another definition, but it is
actually unused in hvmloader code. So perhaps s/needed/used/?

> Remove it.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Acked-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:44:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:44:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513423.794378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexpf-0004YH-1j; Wed, 22 Mar 2023 12:44:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513423.794378; Wed, 22 Mar 2023 12: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 1pexpe-0004YA-UF; Wed, 22 Mar 2023 12:44:46 +0000
Received: by outflank-mailman (input) for mailman id 513423;
 Wed, 22 Mar 2023 12:44: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=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pexpd-0004Y1-VG
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:44:45 +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 51990f0c-c8af-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 13:44: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 1C45320DA8;
 Wed, 22 Mar 2023 12:44: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 D8329138E9;
 Wed, 22 Mar 2023 12:44:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kvNJMzr4GmThZAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 12:44: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: 51990f0c-c8af-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679489083; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=C/oCa3yXpKOebkpxoTvhRp2lRLTV2BjVKWc9Y4UOUH0=;
	b=EdDXAQSmG4wQGl3IfOT+fW1PNuGvdGzaaCW7GUGeLHLBdZ/Aw5DeJQH7y9Vo0NKATErZGD
	jA0Ckc0kvJqr6aEGrPyLytJVYAYuhA3SISwLpDp9QZW8/G/QsHVbwZQPHFyrCorvCx3kzI
	T6gi8G+A4KYgja3BBm3FgaCfUbiPuuA=
Message-ID: <0cf45783-6be2-3f9d-c801-a046e6853405@suse.com>
Date: Wed, 22 Mar 2023 13:44:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4 1/5] tools: add container_of() macro to
 xen-tools/common-macros.h
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
References: <20230322120844.19657-1-jgross@suse.com>
 <20230322120844.19657-2-jgross@suse.com>
 <a0f3d153-5698-3915-0ee8-4a6fd2e82ff6@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <a0f3d153-5698-3915-0ee8-4a6fd2e82ff6@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Rs0viZJc0iqfogXP6TY5DHsG"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Rs0viZJc0iqfogXP6TY5DHsG
Content-Type: multipart/mixed; boundary="------------dgGGmtR0JB2ZGKohvJCElGJ3";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Message-ID: <0cf45783-6be2-3f9d-c801-a046e6853405@suse.com>
Subject: Re: [PATCH v4 1/5] tools: add container_of() macro to
 xen-tools/common-macros.h
References: <20230322120844.19657-1-jgross@suse.com>
 <20230322120844.19657-2-jgross@suse.com>
 <a0f3d153-5698-3915-0ee8-4a6fd2e82ff6@suse.com>
In-Reply-To: <a0f3d153-5698-3915-0ee8-4a6fd2e82ff6@suse.com>

--------------dgGGmtR0JB2ZGKohvJCElGJ3
Content-Type: multipart/mixed; boundary="------------N25RfDVODptbQGJ0BisEeo4H"

--------------N25RfDVODptbQGJ0BisEeo4H
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjIuMDMuMjMgMTM6MzQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMi4wMy4yMDIz
IDEzOjA4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEvdG9vbHMvaW5jbHVkZS94
ZW4tdG9vbHMvY29tbW9uLW1hY3Jvcy5oDQo+PiArKysgYi90b29scy9pbmNsdWRlL3hlbi10
b29scy9jb21tb24tbWFjcm9zLmgNCj4+IEBAIC03Niw0ICs3Niw4IEBADQo+PiAgICNkZWZp
bmUgX19tdXN0X2NoZWNrIF9fYXR0cmlidXRlX18oKF9fd2Fybl91bnVzZWRfcmVzdWx0X18p
KQ0KPj4gICAjZW5kaWYNCj4+ICAgDQo+PiArI2RlZmluZSBjb250YWluZXJfb2YocHRyLCB0
eXBlLCBtZW1iZXIpICh7ICAgICAgICAgICAgICAgIFwNCj4+ICsgICAgdHlwZW9mKCAoKHR5
cGUgKikwKS0+bWVtYmVyICkgKl9fbXB0ciA9IChwdHIpOyAgICAgICAgXA0KPj4gKyAgICAo
dHlwZSAqKSggKGNoYXIgKilfX21wdHIgLSBvZmZzZXRvZih0eXBlLG1lbWJlcikgKTt9KQ0K
PiANCj4gQ2FuIHRoZSB2YXJpYW50IHVzZWQgaGVyZSBwbGVhc2UgYmUgY2xvc2VyIHRvIC4u
Lg0KPiANCj4+IC0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci94ODYtZW11bGF0ZS5o
DQo+PiArKysgYi90b29scy90ZXN0cy94ODZfZW11bGF0b3IveDg2LWVtdWxhdGUuaA0KPj4g
QEAgLTU2LDExICs1Niw2IEBADQo+PiAgIA0KPj4gICAjZGVmaW5lIGNmX2NoZWNrIC8qIE5v
IENvbnRyb2wgRmxvdyBJbnRlZ3JpeSBjaGVja2luZyAqLw0KPj4gICANCj4+IC0jZGVmaW5l
IGNvbnRhaW5lcl9vZihwdHIsIHR5cGUsIG1lbWJlcikgKHsgICAgICAgICAgICAgXA0KPj4g
LSAgICB0eXBlb2YoKCh0eXBlICopMCktPm1lbWJlcikgKm1wdHJfXyA9IChwdHIpOyAgICAg
ICBcDQo+PiAtICAgICh0eXBlICopKChjaGFyICopbXB0cl9fIC0gb2Zmc2V0b2YodHlwZSwg
bWVtYmVyKSk7IFwNCj4+IC19KQ0KPiANCj4gLi4uIHRoaXMgcmF0aGVyIHRoYW4gLi4uDQo+
IA0KPj4gLS0tIGEvdG9vbHMveGVuc3RvcmUvbGlzdC5oDQo+PiArKysgYi90b29scy94ZW5z
dG9yZS9saXN0LmgNCj4+IEBAIC0zLDYgKzMsOCBAQA0KPj4gICAvKiBUYWtlbiBmcm9tIExp
bnV4IGtlcm5lbCBjb2RlLCBidXQgZGUta2VybmVsaXplZCBmb3IgdXNlcnNwYWNlLiAqLw0K
Pj4gICAjaW5jbHVkZSA8c3RkZGVmLmg+DQo+PiAgIA0KPj4gKyNpbmNsdWRlIDx4ZW4tdG9v
bHMvY29tbW9uLW1hY3Jvcy5oPg0KPj4gKw0KPj4gICAjdW5kZWYgTElTVF9IRUFEX0lOSVQN
Cj4+ICAgI3VuZGVmIExJU1RfSEVBRA0KPj4gICAjdW5kZWYgSU5JVF9MSVNUX0hFQUQNCj4+
IEBAIC0xNSwxMCArMTcsNiBAQA0KPj4gICAjZGVmaW5lIExJU1RfUE9JU09OMSAgKCh2b2lk
ICopIDB4MDAxMDAxMDApDQo+PiAgICNkZWZpbmUgTElTVF9QT0lTT04yICAoKHZvaWQgKikg
MHgwMDIwMDIwMCkNCj4+ICAgDQo+PiAtI2RlZmluZSBjb250YWluZXJfb2YocHRyLCB0eXBl
LCBtZW1iZXIpICh7CQkJXA0KPj4gLSAgICAgICAgdHlwZW9mKCAoKHR5cGUgKikwKS0+bWVt
YmVyICkgKl9fbXB0ciA9IChwdHIpOwlcDQo+PiAtICAgICAgICAodHlwZSAqKSggKGNoYXIg
KilfX21wdHIgLSBvZmZzZXRvZih0eXBlLG1lbWJlcikgKTt9KQ0KPiANCj4gLi4uIHRoaXMs
IGJvdGggZm9ybWF0dGluZy13aXNlIChleGNlc3MgYmxhbmtzKSBhbmQgbG9jYWwtdmFyaWFi
bGUtDQo+IG5hbWluZy13aXNlICh0cmFpbGluZyB1bmRlcnNjb3JlcyBpbnN0ZWFkIG9mIGxl
YWRpbmcgb25lcyk/IChJZiBJIHdhcw0KPiB0aGUgb25lIHRvIGNvbW1pdCB0aGlzLCBJJ2Qg
YmUgaGFwcHkgdG8gbWFrZSB0aGUgYWRqdXN0bWVudCBhdCB0aGF0DQo+IHRpbWUuKSBUaGVu
DQoNClllcywgYWJzb2x1dGVseSBmaW5lIHdpdGggbWUuDQoNCj4gQWNrZWQtYnk6IEphbiBC
ZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KVGhhbmtzLA0KDQoNCkp1ZXJnZW4NCg0K

--------------N25RfDVODptbQGJ0BisEeo4H
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-----

--------------N25RfDVODptbQGJ0BisEeo4H--

--------------dgGGmtR0JB2ZGKohvJCElGJ3--

--------------Rs0viZJc0iqfogXP6TY5DHsG
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQa+DoFAwAAAAAACgkQsN6d1ii/Ey+j
fAf/dmCODp5nod5pf/LVA/WVUuutSHho9n7/5pLC/YZYvdaScVuRX8L7wMDRFALQk0UItUYZQe0B
5Ls5MQc7G5Fd81APsXcY8nps8LE958LUBdgYYuK9/LJDoUzYoghbJiFAq65v3ASaIsqINVptiLdM
0jXMedNomY4Qo9bUycwCBOmtdfaRod6cAVTt8fnt+vYEjdYGbQDVBv8J/wLuf/Smq5bN4lnKCDd9
Wj8a5DWoMf0+PFV2D+2SGxGp4ckEyCC0C8HUcfvO4LfV8s1XtTnrBwYVXrG3IizQjtbmpUqgWEwS
4F3pu3Ee7xpPYzGXef/e8VAPWBhpIfsjO4P3/LolbA==
=EeBc
-----END PGP SIGNATURE-----

--------------Rs0viZJc0iqfogXP6TY5DHsG--


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:47:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:47:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513428.794388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pexsI-0005DS-JG; Wed, 22 Mar 2023 12:47:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513428.794388; Wed, 22 Mar 2023 12: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 1pexsI-0005DL-FL; Wed, 22 Mar 2023 12:47:30 +0000
Received: by outflank-mailman (input) for mailman id 513428;
 Wed, 22 Mar 2023 12:47: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=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pexsH-0005DF-JV
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:47:29 +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 b367542c-c8af-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 13:47: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 69CAE33AFF;
 Wed, 22 Mar 2023 12:47: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 36A19138E9;
 Wed, 22 Mar 2023 12:47:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id b6CjC9/4GmTLZgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 12:47: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: b367542c-c8af-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679489247; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=SlW2SN47T91v1XK3Mbmju1WAfpd2sy1Ql5qwoUhtkvc=;
	b=c99Jscf5PNgtHkUODsUnaFYJiO/zgC0Su6F3frjD86w0qEyC4OmY8jUR2iyI7lTQk3fgJ7
	cpI/cvJFKShVHUM7X06MDoaFuMHsKhqHHHvFIXrbcgj1zPwepF0wZqf42SSzl+PSXVLpUw
	hYqBtULT2eEhTXcS5WK+ytLIbu95H5g=
Message-ID: <8919014d-55cd-6761-7c7f-9f5e12459c2f@suse.com>
Date: Wed, 22 Mar 2023 13:47:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v4 3/5] tools/hvmloader: remove private offsetof()
 definition
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230322120844.19657-1-jgross@suse.com>
 <20230322120844.19657-4-jgross@suse.com>
 <2342adc4-0011-8441-86b6-48cc21e999eb@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <2342adc4-0011-8441-86b6-48cc21e999eb@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------YgGnd9s02HilpHfociL4weWG"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------YgGnd9s02HilpHfociL4weWG
Content-Type: multipart/mixed; boundary="------------Q2R9LrvKYdAeX7noseGX2cW8";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
Message-ID: <8919014d-55cd-6761-7c7f-9f5e12459c2f@suse.com>
Subject: Re: [PATCH v4 3/5] tools/hvmloader: remove private offsetof()
 definition
References: <20230322120844.19657-1-jgross@suse.com>
 <20230322120844.19657-4-jgross@suse.com>
 <2342adc4-0011-8441-86b6-48cc21e999eb@suse.com>
In-Reply-To: <2342adc4-0011-8441-86b6-48cc21e999eb@suse.com>

--------------Q2R9LrvKYdAeX7noseGX2cW8
Content-Type: multipart/mixed; boundary="------------2qVY13NiGOa3JY9KCcYqBWJW"

--------------2qVY13NiGOa3JY9KCcYqBWJW
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjIuMDMuMjMgMTM6NDIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMi4wMy4yMDIz
IDEzOjA4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gdXRpbC5oIGNvbnRhaW5zIGEgZGVm
aW5pdGlvbiBvZiBvZmZzZXRvZigpLCB3aGljaCBpc24ndCBuZWVkZWQuDQo+IA0KPiBXaGls
ZSB0cnVlLCB0aGlzIGlzIGFsc28gYW1iaWd1b3VzIGluIHRoZSBjb250ZXh0IG9mIHRoaXMg
c2VyaWVzOiBJdCBpc24ndA0KPiAibm90IG5lZWRlZCIgYmVjYXVzZSBjb21tb24tbWFjcm9z
LmggaGFzIGFub3RoZXIgZGVmaW5pdGlvbiwgYnV0IGl0IGlzDQo+IGFjdHVhbGx5IHVudXNl
ZCBpbiBodm1sb2FkZXIgY29kZS4gU28gcGVyaGFwcyBzL25lZWRlZC91c2VkLz8NCg0KRmlu
ZSB3aXRoIG1lLg0KDQo+IA0KPj4gUmVtb3ZlIGl0Lg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6
IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4gDQo+IEFja2VkLWJ5OiBKYW4g
QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+DQo+IA0KDQpUaGFua3MsDQoNCg0KSnVlcmdl
bg0K
--------------2qVY13NiGOa3JY9KCcYqBWJW
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-----

--------------2qVY13NiGOa3JY9KCcYqBWJW--

--------------Q2R9LrvKYdAeX7noseGX2cW8--

--------------YgGnd9s02HilpHfociL4weWG
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQa+N4FAwAAAAAACgkQsN6d1ii/Ey84
iAf/VO9sotQcyML/Q698WuFoJKn7V7A0RDqOynj7Z6MRRcp5D0I69H0ithSFN0cy4Zhp32bSk/nK
3+ZFRzLp8YIWjap20Xiu5LA2JSR2a/sMuSEUrNkeqKeaY+sdmN6ZKGv3zK2FP/yajHWEr3wzZh8t
kbBelzdLr/Fsw+2vb1F721hn7qUvKD6lKOLcGj2RzgeKGo8Ssm3gPLx8ISi63KdGAxgjeDf8nZZe
fAS7fQ6PyaGHd25kllKJWVSqqIjG8yc9COuFi/2T2eI56fc9b+mOrXME9M+hksy9jbcAV9S0uZVR
FxKcKW0VouhZTUawDIigWvPXXm5oGosge2NeXWiJZw==
=SHiZ
-----END PGP SIGNATURE-----

--------------YgGnd9s02HilpHfociL4weWG--


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 12:48:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 12:48:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513431.794398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pextO-0005l3-TD; Wed, 22 Mar 2023 12:48:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513431.794398; Wed, 22 Mar 2023 12: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 1pextO-0005kw-PM; Wed, 22 Mar 2023 12:48:38 +0000
Received: by outflank-mailman (input) for mailman id 513431;
 Wed, 22 Mar 2023 12: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pextN-0005km-Ha
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 12:48:37 +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 dbbc4866-c8af-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 13:48:35 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8744.eurprd04.prod.outlook.com (2603:10a6:10:2e2::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 12:48:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 12:48: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: dbbc4866-c8af-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RkbwIHA1KYaQFcexWI/Rml/sVUWtCpvmKuBw1j1CZWGN501m53r8stKP0cUf6e1QU8fSxKlWSVy0QxP5EYxZhcmx5b1TxdyXv62tX2TJFziTKemRjy34dApm6xXj8fKadWiA4IdczbEXWaumIeMX5/f2uApg1yyX7hIaDHDEG3GMF0xnICt97VXi5aHKr6GAAPgUhDNFBhI88/Opdg9HhQsj4gdU7dZbNassKfPHRrJ6TsNudsLMfytEGs/hfHG+ZMq0jBh1uStwJlNi80kKSek/waEj22+RlrbHe4jBfZg4GuxxXNJWB+AGF+Gr1G3cLKQNpdKTpfUHE9WgoHPWeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GoyRnUxsEaNy6rjjBZUp94UvGqkVw5TgohOxf4QHXTg=;
 b=OjNeEGjJp0ZXBdkwdpusW5v6SNvHVa14sNBXIz96FUicHOGG4XlzwE2t9cHpHQaL+ORIj6tfBoO/jNUrjOtDEj+0niWnfe47xjyLa722z4Vqr9xPB3NWSY0Kgr/H+QhlaraP2vj9xkYYZmUeozNvUb2JjceOMDUJzBvi7qaqCY0dIseROZyfGS5BK6ygarIykRsmBYVlNKgxNiPL14rD+t+DQ9UBMZIZiHtB0Q2kWdTyF+cNvPvy7TXmXpeCxOpnm1u1uI0QsuIRNDm4lbJlyVVrngx8yUCrpOkB7+HRSC9L02rgLdilkg//PSGgngMol7p4hvoNNWf5QTFbBJYCBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GoyRnUxsEaNy6rjjBZUp94UvGqkVw5TgohOxf4QHXTg=;
 b=QPAU0mF3gWGQCQKjUrfi+Aq/Qe07mDM0uno3ZZfaY7kpzEQz8ywpW+MCTIyv7jJelfA5BjCS+Q/WSeUaqADNMROmG4cCfLr9LMmcqQumTD7nr83JCupH16RkZoSP3AEg5ZBcUdFlMw9Ta2j4MhOVfjk7qECMmUnhyIg5u8DhU8rJbHqPIrVbd0DIuCtuTHZaQ1Wmpd/gIPnYsizyJ2SY/+aAv7/Pi6C1/OfaKeYbBqIEmMqHqU8XDegr4EOGsGJwkrSkyRkD3F+I7DP5/KI/9//Xk+Ji9fCH9sKEmyXRsFz/5MsFnPOa+naPNMv2K2wKLYbpiG+BIiDrFSR/fyFWYg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <85aa668d-9614-a80d-8f44-174ecbdcf1f7@suse.com>
Date: Wed, 22 Mar 2023 13:48:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
 "Koenig, Christian" <Christian.Koenig@amd.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 "Huang, Honglei1" <Honglei1.Huang@amd.com>,
 "Zhang, Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <8adfeb57-1ddd-255d-6d93-24a74b463f59@suse.com>
 <ZBl6iU6T1CsWqVx9@amd.com> <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
 <ZBmDl8XjIos57EIy@amd.com> <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
 <ZBmZxnyZWrni57Ry@amd.com> <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com>
 <ZBmrI3wrrwsK5Q+0@amd.com> <ZBquOn8x7IyI33Pj@amd.com>
 <ZBrLsRebAYaspHrK@Air-de-Roger> <ZBr1k/B/ve8NNqaJ@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBr1k/B/ve8NNqaJ@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0016.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8744:EE_
X-MS-Office365-Filtering-Correlation-Id: fda8849b-8658-4cf9-9646-08db2ad3be5e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	diK569KzuXR1l7I3taIWG3/EQNVF6GE9IPTbQEVkYP0XgRHoVQOT6hyhjP8lAEWKKAko8UBLts1dnBzQ6BBQ7fClm5LT8c9sP3vj0kVIoFdqFygFEItBGBhSfZYClPNo1c52kxN7TVDZ5doAcAh4nxqKgIcpycZetKm+hLPvt5QSJOWxepyRVFtR0KjHT3tGt0OtHxLlTrZS6Ex5NGGS+VAh9lh9mrtXVm2kRDL+N61NbCWy+BoYBf/nW5ZTcvgtx34/8OKqAGupF6pH+QNrvyaTK04P++e0RcP+A1nosNP3Jb4qFysor7DFurHty1qNgUoa8NqIe10FQ6iSDjMQCK/yqfmKI/iU4UV6TkqFU6D4RYrX7CzOpw9RqMfnvdwLbHzaO7vqp7ZcPgr2TefDKIJN8FUmSmaVyVeNvAWs0JfQWtAH2mmIYVhqgiSzefioLBPxdDt1kpKdQaOUFSW8/DrCvx7G06QCsV4ObKNbug3gHElgjnACI2M6imMXPuXr7iysCNKiy3qMbDwSrwzHkAIDDNwn3TuuiEs1kRdYVnGMGsAVGmjZ9ehGp/AdZsOUEOIrLokbJfK5ZaFxc+ShNi7Nu0PFfeqfI4bCG8sWiCbzMkZk/q2gSiti9aPyHH5a2pjVxArJtp73jH+G7pB27B1u5MbouLsdl1wcP5TxRB6K15S6jg7r0+biwnifkRyCx3OxAQmAv8qRXy0zX1wdsEJ7th7+w0qNo/3sNto5qhU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(366004)(136003)(376002)(396003)(39860400002)(451199018)(5660300002)(31686004)(66946007)(41300700001)(54906003)(66556008)(316002)(36756003)(7416002)(8676002)(8936002)(4326008)(66476007)(6916009)(31696002)(478600001)(6506007)(6512007)(53546011)(186003)(6486002)(2616005)(2906002)(26005)(83380400001)(38100700002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aHQyU3pEVW10NHprSTh0cEpYUUY5MFdTUThUV3B4K002bVhuSCtsOHBmREo3?=
 =?utf-8?B?NEwrVDk4c2ZVUXY3cFJ0WjhvK3NKR3F0cHFOcXg3R2I5V0dWU3pJTWY1ampT?=
 =?utf-8?B?ZXhaVm5HeFN2aHVhd2oxR3B6NHJpcXd2emdoMVBQSG15RVBIbGN6SjJ3Q2s1?=
 =?utf-8?B?dmhNRWZHQ28vSXZnSTRtY3hyV3lBTHZINndScjRhUEE3SkxVSmtva0FTVzk5?=
 =?utf-8?B?VTE2d3dzWEtPWVQ1OFVXNUdHNkNQMkVMN1paYUMraXAvOWdIVjM2cll1cFdt?=
 =?utf-8?B?ODB3QnB1Tmo1U0xpQUtuMk9ERFZvZHJZQU9iZ1FpeVZXb2I4elJqaGpVTXlK?=
 =?utf-8?B?dDdQbklJYTJ4Q1RXV3JtczJja3Z5dEdPL0JPR2NSR21ucGFQVXVXdmVFaGc5?=
 =?utf-8?B?ZE93ZGwxcUE0OXpJWGU0a0xtQnI5TlJ2OGJOTmwyZVdpTWNnMmZnN29sWCtr?=
 =?utf-8?B?b1l4dWR6QUJhcEo2Wnpqcml0R0NaQU9hNVVEMGNaVFlKZXovbittc29VdVBC?=
 =?utf-8?B?UWhhRndqcFVQS1FId2RhdXBmV1ZtMktybmE2U0FjNUpjZ1FuVWM0M1dnbllV?=
 =?utf-8?B?eU05ZzM0ZWtuQXFTdHdqMUVLcmhJZTFCWFQyZEpZRmRSOTZpMzhiVlhyblpk?=
 =?utf-8?B?U2R3b3dZT3Z1ejlGM3RlbjczWkZDVVY5QkkzMm9MdzJjRWRtOHQxK1dSZ1Zz?=
 =?utf-8?B?dmVVQWZNOHdBMmJZL25PdHExcFdEaWhvb0lyY0tHTGNsdWlSbU1QMFlERWxs?=
 =?utf-8?B?S3FCZWg2dnJrZlY3OS9TUndyNWtNbGxyZytHcUlNSEkxclVjc2JndElQTUpW?=
 =?utf-8?B?L3pRcnFaeWlIaE5iUlZhNnpTL3NUekVUZm5uMFloaVZFRWhwMStMZWwwZ1ZJ?=
 =?utf-8?B?dVFZRDdzNTNGVkdMT0VNbmRML2paVG5lZUhuOEVDSHZLY3NLdHd5TExQNXgx?=
 =?utf-8?B?ZjRDTUFacE9NZFFxRDNIYlRiLzhRY3FnMHRTKytVNFJacjVYdXhHaVl4Tzgx?=
 =?utf-8?B?bXhsTFJ6YjRVcGc5c1hqcXk0a0t3K0pHT3paSGxUazNBczYvTWpHU0U2dFFI?=
 =?utf-8?B?V0c3YmFjU0JEaWNaQ3djc1JsYlMrY056SzFQVHgrck1yWTBYSkFiSm43U3Nh?=
 =?utf-8?B?QlNJTkY0cWMwa2lXTXdaSVdyQ3pOVzI0aXFDenRTb3l6L05vOHlSQlRISXc3?=
 =?utf-8?B?SjlJaG5Cc2piWHJBSVdXOHBiaUJCWk1BZmVmRGNSOU5qcUZlTnU0aDNTUjVv?=
 =?utf-8?B?NWtnNmN5dVE4dHZsRGVzajk2ajJ1elM4RFFTN0VVSWEvZTBubHd4a3VqZ0RQ?=
 =?utf-8?B?dVEzMVpXOXBSY0t0bDZxNVlYL1FwQjY0NG1ORHVBR0ZxUzNmYjNabEJMc0cz?=
 =?utf-8?B?RlRGWjBoQ0ZuenhzeC9PS00vTkRoZW9KNnB0VEpsdjFkUSttVHBuMmxkdUM2?=
 =?utf-8?B?dlVkVkdLb2hLaCsyR1pJRzFNVTVUcUpzbGwyQ0poekhhdmtRY3N3ZWwrdFBC?=
 =?utf-8?B?dkNEaUNsQXorSHc3MWZWdkhkT21KcHlZclpqeURvOFRqVTVQT2QzZ0VXR0Vs?=
 =?utf-8?B?eG9nbitoQmVJb0pDRHBMNE5xSUxaYWt5bW9XZU53K1pKY2JyNEE0bFAvUVVz?=
 =?utf-8?B?UVNGN1hJMkE1V2xJL3RSb281b1hNd2krOERZbkw2M05lN3VZSFBacUY5c0Fa?=
 =?utf-8?B?Q1poc0hGbVEvaEFSbmpia3ZVNHVTSGZxV08vd0dqek5ObWRJenMvc0llOThY?=
 =?utf-8?B?L3FnKzk0c3Bzak44Qk9vQVpxRFphV0lEbDFuZ0lHNmZMc0JEcUxrcDRkV3NQ?=
 =?utf-8?B?UDh0Wmg0NzgwektYWEFEd0VjZUNkekV0eC81ZjI0OEptT2gvYVNoZFNFZGZ2?=
 =?utf-8?B?bTNVWDlqbDZway9vQ21WTDR0YVdyMTZDRHVta2VDcWhUYU1vVm8vZmVRMHFI?=
 =?utf-8?B?RENiNVlHQVJRelNSRlJMYnFMMmJ5NjhiV0NMRmFkN3daMmh2K3orQUIvRDFZ?=
 =?utf-8?B?ajQ2cG1tcWJoTUJXZW03ZXJqcmxuV083dmY5RVNZSmJvQXlvK0RWTnNMU0ZV?=
 =?utf-8?B?V0srVzZzZ1pQL0ZjWnVVVXFlSmNnaVlTVHZCSmNiRXhjbVRMem1LaTk3SjJk?=
 =?utf-8?Q?+Oxbt9j93tjAIbaQT2XWhIvVN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fda8849b-8658-4cf9-9646-08db2ad3be5e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 12:48:32.4955
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bDi9BX6BRJNo4Pmg1aBww8aG8uc91e/T2INbHFne/60kfp6ySAgNKnAupnbp49wutOJYTJB8AsZaBfK4L/h0jg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8744

On 22.03.2023 13:33, Huang Rui wrote:
> I traced that while we do pci-assignable-add, we will follow below trace to
> bind the passthrough device.
> 
> pciassignable_add()->libxl_device_pci_assignable_add()->libxl__device_pci_assignable_add()->pciback_dev_assign()
> 
> Then kernel xen-pciback driver want to add virtual configuration spaces. In
> this phase, the bar_write() in xen hypervisor will be called. I still need
> a bit more time to figure the exact reason. May I know where the
> xen-pciback driver would trigger a hvm_io_intercept to xen hypervisor?

Any config space access would. And I might guess ...

> [  309.719049] xen_pciback: wants to seize 0000:03:00.0
> [  462.911251] pciback 0000:03:00.0: xen_pciback: probing...
> [  462.911256] pciback 0000:03:00.0: xen_pciback: seizing device
> [  462.911257] pciback 0000:03:00.0: xen_pciback: pcistub_device_alloc
> [  462.911261] pciback 0000:03:00.0: xen_pciback: initializing...
> [  462.911263] pciback 0000:03:00.0: xen_pciback: initializing config
> [  462.911265] pciback 0000:03:00.0: xen-pciback: initializing virtual configuration space
> [  462.911268] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x00
> [  462.911271] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x02
> [  462.911284] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x04
> [  462.911286] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3c
> [  462.911289] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3d
> [  462.911291] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0c
> [  462.911294] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0d
> [  462.911296] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0f
> [  462.911301] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x10
> [  462.911306] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x14
> [  462.911309] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x18
> [  462.911313] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x1c
> [  462.911317] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x20
> [  462.911321] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x24
> [  462.911325] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x30
> [  462.911358] pciback 0000:03:00.0: Found capability 0x1 at 0x50
> [  462.911361] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x50
> [  462.911363] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x52
> [  462.911368] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x54
> [  462.911371] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x56
> [  462.911373] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x57
> [  462.911386] pciback 0000:03:00.0: Found capability 0x5 at 0xa0
> [  462.911388] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa0
> [  462.911391] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa2
> [  462.911405] pciback 0000:03:00.0: xen_pciback: enabling device
> [  462.911412] pciback 0000:03:00.0: enabling device (0006 -> 0007)
> [  462.911658] Already setup the GSI :28
> [  462.911668] Already map the GSI :28 and IRQ: 115
> [  462.911684] pciback 0000:03:00.0: xen_pciback: save state of device
> [  462.912154] pciback 0000:03:00.0: xen_pciback: resetting (FLR, D3, etc) the device
> [  463.954998] pciback 0000:03:00.0: xen_pciback: reset device

... it is actually the reset here, saving and then restoring config space.
If e.g. that restore was done "blindly" (i.e. simply writing fields low to
high), then memory decode would be re-enabled before the BARs are written.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 13:10:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 13:10:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513434.794407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peyEA-0001Fq-L2; Wed, 22 Mar 2023 13:10:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513434.794407; Wed, 22 Mar 2023 13:10: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 1peyEA-0001Fj-Hd; Wed, 22 Mar 2023 13:10:06 +0000
Received: by outflank-mailman (input) for mailman id 513434;
 Wed, 22 Mar 2023 13:10: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=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1peyE9-000101-27
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 13:10: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 daf2dc96-c8b2-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 14:10: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 CDF2C33B38;
 Wed, 22 Mar 2023 13:10: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 9422E138E9;
 Wed, 22 Mar 2023 13:10:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id C3c3Iin+GmTXdAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 13:10:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: daf2dc96-c8b2-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679490601; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=Ljw+XIHcZhRxb/XcpWxNa2YPpJuWzqy/nH3XMoHPAiY=;
	b=bbfusIa11qnX2rja+1wMjm2flR4Xbw6lYDINmkzP0L9nBEpdBf/eaBrPuGO6H8nJ1B4y7I
	EEzwbVPTAdNwCOPMvIqwVVPgqsyEduinsRZ/mKU4ZgvwTF4SqiVdLKZovKhswGdiIGRBvw
	zg8saQTimPNvCXErxCADHQzZVNXEtDU=
Message-ID: <164268c2-5392-4a91-5ac7-969ca9f62b6f@suse.com>
Date: Wed, 22 Mar 2023 14:10:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230322120844.19657-1-jgross@suse.com>
 <20230322120844.19657-3-jgross@suse.com>
 <cd1b5f73-aa57-938d-8453-9c2e7b0895cd@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v4 2/5] tools: get rid of additional min() and max()
 definitions
In-Reply-To: <cd1b5f73-aa57-938d-8453-9c2e7b0895cd@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------UDuXy09InV6h56zPJoAZ0FPY"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------UDuXy09InV6h56zPJoAZ0FPY
Content-Type: multipart/mixed; boundary="------------6QZhpjVPQ1Ukr9Yobz7Fxkr4";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
Message-ID: <164268c2-5392-4a91-5ac7-969ca9f62b6f@suse.com>
Subject: Re: [PATCH v4 2/5] tools: get rid of additional min() and max()
 definitions
References: <20230322120844.19657-1-jgross@suse.com>
 <20230322120844.19657-3-jgross@suse.com>
 <cd1b5f73-aa57-938d-8453-9c2e7b0895cd@suse.com>
In-Reply-To: <cd1b5f73-aa57-938d-8453-9c2e7b0895cd@suse.com>

--------------6QZhpjVPQ1Ukr9Yobz7Fxkr4
Content-Type: multipart/mixed; boundary="------------CL8QcLqnT5BSpbZ1TgrW3VS1"

--------------CL8QcLqnT5BSpbZ1TgrW3VS1
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjIuMDMuMjMgMTM6MzgsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMi4wMy4yMDIz
IDEzOjA4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEvdG9vbHMvdGVzdHMvdnBj
aS9lbXVsLmgNCj4+ICsrKyBiL3Rvb2xzL3Rlc3RzL3ZwY2kvZW11bC5oDQo+PiBAQCAtMTA2
LDIyICsxMDYsNiBAQCB0eXBlZGVmIHVuaW9uIHsNCj4+ICAgI2RlZmluZSBCVUcoKSBhc3Nl
cnQoMCkNCj4+ICAgI2RlZmluZSBBU1NFUlRfVU5SRUFDSEFCTEUoKSBhc3NlcnQoMCkNCj4+
ICAgDQo+PiAtI2RlZmluZSBtaW4oeCwgeSkgKHsgICAgICAgICAgICAgICAgICAgIFwNCj4+
IC0gICAgICAgIGNvbnN0IHR5cGVvZih4KSB0eCA9ICh4KTsgICAgICAgXA0KPj4gLSAgICAg
ICAgY29uc3QgdHlwZW9mKHkpIHR5ID0gKHkpOyAgICAgICBcDQo+PiAtICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4+IC0gICAgICAgICh2b2lkKSAoJnR4
ID09ICZ0eSk7ICAgICAgICAgICAgXA0KPj4gLSAgICAgICAgdHggPCB0eSA/IHR4IDogdHk7
ICAgICAgICAgICAgICBcDQo+PiAtfSkNCj4+IC0NCj4+IC0jZGVmaW5lIG1heCh4LCB5KSAo
eyAgICAgICAgICAgICAgICAgICAgXA0KPj4gLSAgICAgICAgY29uc3QgdHlwZW9mKHgpIHR4
ID0gKHgpOyAgICAgICBcDQo+PiAtICAgICAgICBjb25zdCB0eXBlb2YoeSkgdHkgPSAoeSk7
ICAgICAgIFwNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
XA0KPj4gLSAgICAgICAgKHZvaWQpICgmdHggPT0gJnR5KTsgICAgICAgICAgICBcDQo+PiAt
ICAgICAgICB0eCA+IHR5ID8gdHggOiB0eTsgICAgICAgICAgICAgIFwNCj4+IC19KQ0KPiAN
Cj4gVGhlIG5ldyBpbmNsdWRlIGlzIGFkZGVkIHRvIHRoaXMgZmlsZSBieSB0aGUgZmlyc3Qg
cGF0Y2guIEhvdyBkbyB0aGluZ3MNCj4gYnVpbGQgd2FybmluZy1mcmVlIGJlZm9yZSB0aGVz
ZSBtYWNyb3MgKGZ1bmN0aW9uYWxseSBjb21wYXRpYmxlIGJ1dA0KPiBkaWZmZXJlbnQgaW4g
dGhlIHNwZWNpZmljIHRva2VucyB1c2VkKSBhcmUgcmVtb3ZlZCwgaS5lLiBiZWZvcmUgdGhp
cw0KPiBwYXRjaCBpcyAoYWxzbykgYXBwbGllZD8NCg0KT2gsIEkgc2VlbSB0byBoYXZlIGZh
aWxlZCB0byBtYWtlIGEgdGVzdCBidWlsZCBvZiB0aGUgdG9vbHMvdGVzdHMgZGlyZWN0b3J5
DQphZnRlciBhcHBseWluZyBvbmx5IHRoZSBmaXJzdCBwYXRjaC4NCg0KSXQgd291bGQgYmUg
cHJvYmFibHkgYmUgdGhlIGJlc3QgdG8gc3dpdGNoIHBhdGNoZXMgMSBhbmQgMiB3aGlsZSBr
ZWVwaW5nIHRoZQ0KIiNpbmNsdWRlIDx4ZW4tdG9vbHMvY29tbW9uLW1hY3Jvcy5oPiIgaW4g
dG9vbHMvdGVzdHMvdnBjaS9lbXVsLmggaW4gdGhlIGZpcnN0DQpwYXRjaC4NCg0KDQpKdWVy
Z2VuDQoNCg==
--------------CL8QcLqnT5BSpbZ1TgrW3VS1
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-----

--------------CL8QcLqnT5BSpbZ1TgrW3VS1--

--------------6QZhpjVPQ1Ukr9Yobz7Fxkr4--

--------------UDuXy09InV6h56zPJoAZ0FPY
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQa/ikFAwAAAAAACgkQsN6d1ii/Ey+X
hQf9FrjTuh5Tp0DnZI8TR3OwfG69JhUjxsN84wWdqkR/w1UxReXzGd6/uYsLW89FCRYGWDp3zTtj
zgyWj9dk/99lkKzE2tYxXsGWcineHS/BmB/0hk1OZcpLYTF7BbQSGbWZFTlTGzOlkEsudsE0lIFA
e9wqU9sjcKrWedSwXxAxe3lQ/0fuXIMbrWvHYI0ECR/FByku4ImrHnnJG5ZIm++swnIZwq+5rIKA
SDGbNwRWTWgUA3WrbRnH0WsfaG3oUinIcIDdJxlV6jJIs2QzsOH2YxWpSyFu0mcAcgaaMNsBjKW5
Meoeu8s9rPhgvpm16qkTK4KYAnkH79GfwClbZ0fplw==
=foEA
-----END PGP SIGNATURE-----

--------------UDuXy09InV6h56zPJoAZ0FPY--


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 13:12:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 13:12:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513439.794418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peyG8-0001xZ-5a; Wed, 22 Mar 2023 13:12:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513439.794418; Wed, 22 Mar 2023 13:12:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peyG8-0001xS-2d; Wed, 22 Mar 2023 13:12:08 +0000
Received: by outflank-mailman (input) for mailman id 513439;
 Wed, 22 Mar 2023 13:12: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=dhKM=7O=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1peyG6-0001xM-Ki
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 13:12:06 +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 24807966-c8b3-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 14:12:05 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 r19-20020a05600c459300b003eb3e2a5e7bso11471833wmo.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 06:12:05 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 5-20020a05600c020500b003ee72a1b90bsm488427wmi.13.2023.03.22.06.12.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Mar 2023 06:12: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: 24807966-c8b3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679490725;
        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=0+4lVRBR9TvDNrfIaJmA0XwDY2AKVPJHVc4KjU/l0dQ=;
        b=g7mM9qekXOCosTfWKj3bPRqgX6pXWyXDtZbPTwPL6M2tZHmCKWHcwEXP/7F5ElP0l3
         JBatHhD+3A+Xb9iakb3d40dmEC0Z/GpN3NuOQT61exFetw3KXdQQEyg7Q1w9vxwlTEib
         pXVHTpvgnhMpU58nmnL/O/IM5YmhaV/7MtwRNf72j66YcbauXYaBJKQkI1ZohUT3T+lL
         G95hmPUm+DOJM3zVbN+4HACO4ffg79/SYbdvUA2ku5FFRNZlmm+RiwlrEGhyOsShm7Tf
         e6Wb6Beq6AQjB/fZ/Pub4iHhslfMbwBXEjOmSDcvr2zzuyxuWaYfWdWmTJB7wpMvD2TY
         IDFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679490725;
        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=0+4lVRBR9TvDNrfIaJmA0XwDY2AKVPJHVc4KjU/l0dQ=;
        b=UCylDi3NdpwHEbmmPKIYbjkm+rxdFsIzUqv3PMSn2iYSCt3RdqL5YmEyfnLBLAKNro
         ZUeH7z/CtCXeU0JNr/E1iXvfXLbFHzuS0DPKQVtuv1SpyJkfZ/KkBmniqcOussYr+pnT
         TAwuJ1xwqMZAnvCEWizDeXIg/iOLDsEu1roDmcrPLhV1OItXno50s99e8tRolgtgdz1d
         XyBCg2slnzm+DjBCE3m0G/YL+wkHWV5TzR23oyJ+XT4nO0ozMpLy/o/Smvie8DSkDLJS
         u9ikXBNPwNFZslUASqY6o0g3gMq6U/cPNoScC3NRwwVzEdtiLG4H8VncyYdSCY9rhbwC
         T+LA==
X-Gm-Message-State: AO0yUKVXbnzYljnX3UZxCf3AMK0MiddiK8z63/G52H7OWFouNrpqxVuB
	/Ix5guNM+nxFxyxr5PR+zWM=
X-Google-Smtp-Source: AK7set+Kk6dMJBTIe2gZkdK0SoeVHyzNvzAkc4BDcSgxRugjxfCDvaj1ZuFcYmw4O2gZx3Fczo4SUQ==
X-Received: by 2002:a7b:ce8a:0:b0:3ea:f883:53ea with SMTP id q10-20020a7bce8a000000b003eaf88353eamr5480650wmj.7.1679490725057;
        Wed, 22 Mar 2023 06:12:05 -0700 (PDT)
Message-ID: <8190c7129ea9f5d90867d4f88233103d1cfb5e44.camel@gmail.com>
Subject: Re: [PATCH v5 1/7] xen/riscv: introduce boot information structure
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Gianluca Guida
 <gianluca@rivosinc.com>, Bob Eshleman <bobbyeshleman@gmail.com>, Alistair
 Francis <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>
Date: Wed, 22 Mar 2023 15:12:02 +0200
In-Reply-To: <05b04f94-9867-64f4-53e1-57e8238b049d@citrix.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
	 <553b07e967f56b78eba2d27c9115cce707a45c08.1678976127.git.oleksii.kurochko@gmail.com>
	 <05b04f94-9867-64f4-53e1-57e8238b049d@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Tue, 2023-03-21 at 11:56 +0000, Andrew Cooper wrote:
> On 16/03/2023 2:39 pm, Oleksii Kurochko wrote:
> > The structure holds information about:
> > 1. linker start/end address
> > 2. load start/end address
> >=20
> > Also the patch introduces offsets for boot information structure
> > members to access them in assembly code.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V5:
> > =C2=A0* the patch was introduced in the current patch series (V5)
> > ---
> > =C2=A0xen/arch/riscv/include/asm/boot-info.h | 15 +++++++++++++++
> > =C2=A0xen/arch/riscv/riscv64/asm-offsets.c=C2=A0=C2=A0 |=C2=A0 3 +++
> > =C2=A02 files changed, 18 insertions(+)
> > =C2=A0create mode 100644 xen/arch/riscv/include/asm/boot-info.h
> >=20
> > diff --git a/xen/arch/riscv/include/asm/boot-info.h
> > b/xen/arch/riscv/include/asm/boot-info.h
> > new file mode 100644
> > index 0000000000..cda3d278f5
> > --- /dev/null
> > +++ b/xen/arch/riscv/include/asm/boot-info.h
> > @@ -0,0 +1,15 @@
> > +#ifndef _ASM_BOOT_INFO_H
> > +#define _ASM_BOOT_INFO_H
> > +
> > +extern struct boot_info {
> > +=C2=A0=C2=A0=C2=A0 unsigned long linker_start;
> > +=C2=A0=C2=A0=C2=A0 unsigned long linker_end;
> > +=C2=A0=C2=A0=C2=A0 unsigned long load_start;
> > +=C2=A0=C2=A0=C2=A0 unsigned long load_end;
> > +} boot_info;
> > +
> > +/* LINK_TO_LOAD() and LOAD_TO_LINK() works only when MMU isn't
> > enabled. */
> > +#define LINK_TO_LOAD(addr) ((addr) - boot_info.linker_start +
> > boot_info.load_start)
> > +#define LOAD_TO_LINK(addr) ((addr) - boot_info.load_start +
> > boot_info.linker_start)
> > +
> > +#endif
> > \ No newline at end of file
>=20
> As a minor point, you should have newlines at the end of each file.
>=20
> However, I'm not sure boot info like this is a clever move.=C2=A0 You're
> creating a 3rd different way of doing something which should be
> entirely
> common.=C2=A0 Some details are in
> https://lore.kernel.org/xen-devel/115c178b-f0a7-cf6e-3e33-e6aa49b17baf@sr=
cf.net/
> and note how many errors I already found in x86 and ARM.
>=20
In the link above you mentioned that:
  Reviewing its usage shows that ARM is broken when trying to handle
  BUG/ASSERT in livepatches, because they don't check is_patch() on the
  message target.
Check is_patch() will be added to ARM implementation after generic bug
implementation will be merged:=20
https://lore.kernel.org/xen-devel/2afad972cd8da98dcb0ba509ba29ff239dc47cd0.=
1678900513.git.oleksii.kurochko@gmail.com/
> Perhaps its time to dust that plan off again.=C2=A0 As Jan says, there's
> _start and _end (or future variations therefore), and xen_phys_start
> which is all that ought to exist in order to build the common
> functionality.
I am unsure that I understand why the introduction of boot_info is a
bad idea.
Basically, it is only a wrapper/helper over _start, _end, and
xen_phys_start ( it is not introduced explicitly as taking into account
that access of _start will be PC-relative it is equal to xen_phys_start
).

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 13:14:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 13:14:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513442.794428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peyIS-0002XR-J3; Wed, 22 Mar 2023 13:14:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513442.794428; Wed, 22 Mar 2023 13:14:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peyIS-0002XJ-GA; Wed, 22 Mar 2023 13:14:32 +0000
Received: by outflank-mailman (input) for mailman id 513442;
 Wed, 22 Mar 2023 13:14: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=dhKM=7O=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1peyIR-0002XB-H8
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 13:14:31 +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 7af62492-c8b3-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 14:14:30 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id m2so17033634wrh.6
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 06:14:30 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 b15-20020adfe30f000000b002c706c754fesm13853046wrj.32.2023.03.22.06.14.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Mar 2023 06:14: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: 7af62492-c8b3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679490870;
        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=aO6Z15304pPW08TN7MQ9dUl1HEgKe9k7ySFzMRK0HIc=;
        b=I5eLqtSL5iQ6W7n8RMISGDlDH91D560iwxbzry+XRWx9DAqSjdwETi0W25KQVCDEiH
         w8FqZQyi+UfAx1wJEKzVGZEv2SxMf22O+5Lw/pwjum39QqIPtldhYfaksZ1/Rt8xUi1S
         kIOFg7WxGMuvVaYXlPZCi6Tq+FhlgxN2ilVw+3LGxM7fQeKQZVA6z7+BElafMtAAbOVQ
         tBDXmTaIvNNTmPILppGq7GqMVRNbOPSE4Z/Saet9+c7PtIc1+WpSY9VUJ8/afbOMvt2H
         uzP2e5RHnrXLUNyteP6t2SCUkR9qzkInQsl1As9CX5FqjywQs6P3ltvy+mUiFKIJt8K8
         decg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679490870;
        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=aO6Z15304pPW08TN7MQ9dUl1HEgKe9k7ySFzMRK0HIc=;
        b=G0i8EdEvlalLsz3xYISQX4KWCmkDUCZUlCY8Csunzso+xX8Z2AELchdNkEinyPEDYa
         WzI79Yc1XPDuQkmXYRzbdZqa3lwWM0iYuqAhLmG9FgkQwA+kPr4Z+2PUUyyveX+DbocZ
         4DxRkaJNKxDFrs3QxGdt/0QyTicHh/u3TJ7NQkAvVQyqRpJfZU/kVQgAVEIQBS0Io+6z
         qqr/Ado4Xznm7FCiVu7ZOTP3jadgoyaspXud9Y3I83BRAKae3NON99yQOQa1sgGiph7p
         +3bwBNmj8Y8F21NxxPppOm4o/piBHbQkNwIYwfvROtRYR1IxLGjTloar25O/TS/OYx6p
         zIAQ==
X-Gm-Message-State: AO0yUKV0CAMXAYlTIPbVOZh+cxWzjmLP8MOUYdaJKip0lYshx1hCa9fp
	YTDtiTnKEMWMr1k4KuHs6LQ=
X-Google-Smtp-Source: AK7set+5JmPjtnQCKHt1yrSQfYcXAzKGgJVKQ6UHJLMQByevmfr9Qcjy1ffAf4UqcaaemxW5GS7BRA==
X-Received: by 2002:adf:d4c5:0:b0:2cf:f3ea:533e with SMTP id w5-20020adfd4c5000000b002cff3ea533emr5749942wrk.63.1679490870241;
        Wed, 22 Mar 2023 06:14:30 -0700 (PDT)
Message-ID: <efbaf9104d63172470a8398e360b16fc9301c36a.camel@gmail.com>
Subject: Re: [PATCH v5 3/7] xen/riscv: introduce dummy <asm/bug.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>, Julien
 Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Date: Wed, 22 Mar 2023 15:14:27 +0200
In-Reply-To: <95c763c4-034a-d478-fff9-55df1adbdc43@suse.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
	 <82aa35ce27ca11076bbafbb565e9c85e1ce7624d.1678976127.git.oleksii.kurochko@gmail.com>
	 <b28bc3fc-c38d-502b-409b-092e7398dd3a@xen.org>
	 <071f2e0971ea53d37b9b645ebce6d169fcc642ff.camel@gmail.com>
	 <95c763c4-034a-d478-fff9-55df1adbdc43@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-22 at 11:27 +0100, Jan Beulich wrote:
> On 22.03.2023 11:09, Oleksii wrote:
> > On Tue, 2023-03-21 at 17:21 +0000, Julien Grall wrote:
> > > On 16/03/2023 14:39, Oleksii Kurochko wrote:
> > > > <xen/lib.h> will be used in the patch "xen/riscv: introduce
> > > > decode_cause() stuff" and requires <asm/bug.h>
> > > >=20
> > > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > > > ---
> > > > Changes in V5:
> > > > =C2=A0 * the patch was introduced in the current patch series (V5)
> > > > ---
> > > > =C2=A0 xen/arch/riscv/include/asm/bug.h | 10 ++++++++++
> > > > =C2=A0 1 file changed, 10 insertions(+)
> > > > =C2=A0 create mode 100644 xen/arch/riscv/include/asm/bug.h
> > > >=20
> > > > diff --git a/xen/arch/riscv/include/asm/bug.h
> > > > b/xen/arch/riscv/include/asm/bug.h
> > > > new file mode 100644
> > > > index 0000000000..e8b1e40823
> > > > --- /dev/null
> > > > +++ b/xen/arch/riscv/include/asm/bug.h
> > > > @@ -0,0 +1,10 @@
> > > > +/* SPDX-License-Identifier: GPL-2.0 */
> > > > +/*
> > > > + * Copyright (C) 2012 Regents of the University of California
> > > > + * Copyright (C) 2021-2023 Vates
> > >=20
> > > I am a bit puzzled with those copyright given the header is
> > > empty.
> > >=20
> > > But is there any reason this can't be folded in #6 or part of #6
> > > moved=20
> > > forward?
> > Initially it was folded in #6 but in this case a build will be
> > failed
> > after introduction of #5 as <asm/bug.h> is needed for <xen/lib.h>
>=20
> But what about the other option Julien mentioned, moving ahead the
> later "filling" of asm/bug.h, so it wouldn't be introduced empty and
> then (almost immediately) touched again to actually populate it?
I think I can move the content of <asm/bug.h> from #6 to the current
patch.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 13:29:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 13:29:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513445.794437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peyWy-0004ba-RK; Wed, 22 Mar 2023 13:29:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513445.794437; Wed, 22 Mar 2023 13: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 1peyWy-0004bT-Og; Wed, 22 Mar 2023 13:29:32 +0000
Received: by outflank-mailman (input) for mailman id 513445;
 Wed, 22 Mar 2023 13:29: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 1peyWx-0004b7-2G
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 13:29: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 1peyWq-0006FB-LR; Wed, 22 Mar 2023 13:29:24 +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 1peyWq-00008B-D2; Wed, 22 Mar 2023 13: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>
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=nMXOPjLyhSEzpHCxZ8vLvhkRgVg9InpHiBWRcnqFwVk=; b=iH/LqW3/QdI4bUVBRTaGi+pNzo
	4bP0EkjJMkz0RlKcBSX0uW9yLMifhPA5VSFENXbAGrk6xw8RgsGfq75rqFkgbTlnEQpY3V6SyN14V
	LsPgqfVNKIhIbU/dqlCKm4APay4V4w6WBvVZkyFTFj3Ga20c2rPYsYYZoQA+8B7Dm3ew=;
Message-ID: <ac320354-454f-f6e6-d2b6-a470b66c7ec7@xen.org>
Date: Wed, 22 Mar 2023 13:29:21 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [XEN v4 07/11] xen/arm: Introduce choice to enable 64/32 bit
 physical addressing
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 rahul.singh@arm.com, xen-devel@lists.xenproject.org
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-8-ayan.kumar.halder@amd.com>
 <7d90ad7a-5daf-915c-2055-a27ca50d8581@suse.com>
 <e268e11b-8e93-c506-668b-c5c004b3aa06@amd.com>
 <1883c9a3-ad25-ac45-b1fa-d29e19b3cc14@suse.com>
 <01a800a5-1c0d-b9d4-05c7-c886b3e3009d@amd.com>
 <205658ff-e0ac-1656-2d12-099abd891fcd@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <205658ff-e0ac-1656-2d12-099abd891fcd@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Jan,

On 22/03/2023 06:59, Jan Beulich wrote:
> On 21.03.2023 19:33, Ayan Kumar Halder wrote:
>> On 21/03/2023 16:53, Jan Beulich wrote:
>>> On 21.03.2023 17:15, Ayan Kumar Halder wrote:
>>>> On 21/03/2023 14:22, Jan Beulich wrote:
>>>>> (Using "unsigned long" for a 32-bit paddr_t is of
>>>>> course suspicious as well - this ought to be uint32_t.)
>>>> The problem with using uint32_t for paddr_t is that there are instances
>>>> where the paddr_t is modified with PAGE_MASK or PAGE_ALIGN.
>>>>
>>>> For eg , handle_passthrough_prop()
>>>>
>>>>                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);
>>>>
>>>> And in xen/include/xen/page-size.h,
>>>>
>>>> #define PAGE_SIZE           (_AC(1,L) << PAGE_SHIFT)
>>>> #define PAGE_MASK           (~(PAGE_SIZE-1))
>>>>
>>>> Thus, the resulting types are unsigned long. This cannot be printed
>>>> using %u for PRIpaddr.
>>> Is there anything wrong with making PAGE_SIZE expand to (1 << PAGE_SHIFT)
>>> when physical addresses are only 32 bits wide?
>>
>> I don't have a strong objection except that this is similar to what
>> linux is doing today.
>>
>> https://elixir.bootlin.com/linux/latest/source/arch/arm/include/asm/page.h#L12
>>
>>>
>>>> I remember some discussion (or comment) that the physical addresses
>>>> should be represented using 'unsigned long'.
>>> A reference would be helpful.
>>
>> https://lists.xenproject.org/archives/html/xen-devel/2023-02/msg00305.html
> 
> I see. I guess this will be okay as long as only 32-bit arches elect to
> use 32-bit physical addresses. Maybe there should be a BUILD_BUG_ON()
> somewhere, accompanied by a suitable comment?

Hmmm... We definitely have 40-bits physical address space on Arm32. In 
fact, my suggestion was not to define paddr_t as unsigned long for 
everyone but only when PHYS_ADDR_T_32 is selected (AFAICT this is what 
is done in this patch).

This is to avoid having to add cast everywhere we are using PAGE_* on 
paddr_t and print it.

That said, I realize this means that for 64-bit, we would still use 
64-bit integer. I view it as a less a problem (at least on Arm) because 
registers are always 64-bit. I am open to other suggestion.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 13:32:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 13:32:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513448.794447 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peyZh-000602-8m; Wed, 22 Mar 2023 13:32:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513448.794447; Wed, 22 Mar 2023 13: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 1peyZh-0005zv-69; Wed, 22 Mar 2023 13:32:21 +0000
Received: by outflank-mailman (input) for mailman id 513448;
 Wed, 22 Mar 2023 13: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=dhKM=7O=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1peyZf-0005zn-RU
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 13:32:19 +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 f77cad05-c8b5-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 14:32:18 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id m35so11547880wms.4
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 06:32:18 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 e24-20020a05600c219800b003ed1f111fdesm16583999wme.20.2023.03.22.06.32.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Mar 2023 06:32:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f77cad05-c8b5-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679491938;
        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=7lhGIn8eAEzPuaiud0oZzfCoKovwdc6vpYKQWfJj/uo=;
        b=AhjmzWX6EO1uFc6cdeXv1+WK6gD5YZ+puR1JQPNHSR8Ecl7GrTorjv0Iu3rF/vXyqK
         qFpp4uaLkxb4hTsjOjmxLvT+bXDSj5LxN4V6/H8Bl5xPLB8YLV8QldmecGCUwHwhjSe+
         yblo4QrOrO4VofDhEMC49v4Q7GrXOwc9FETBNn2eukO+lRCFjPyamDF1krBoA1Aj9qD8
         O2afo3BDq5nR/VWrXQGH3Mrr9qVOgcxj5171J8ToAMUJrv6jmzG4vVNWZLgInVuL4lxy
         EsIcDdirVu3GPuNYbF1im6ZRJNx1f0hl+G95NA61Gc3ZQ9/pmgBdTANpuYG6Q/ZnzJnO
         XOyg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679491938;
        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=7lhGIn8eAEzPuaiud0oZzfCoKovwdc6vpYKQWfJj/uo=;
        b=uQ4fSNoGI34YlaW1Y/vHE91b5CFvqzcOVNyZyTxUP6LziLo4deFK+h6P29Df5JBqLD
         VumaurqO0rJTKOpEs/U9Lyn4JEogMz3yFmxceLm+jGtANbYpvRw9DKjCO7kpNdopieIh
         qFbLQbHPOcI17Kj7sDt4Tk+GH5Z+VAtUhg6Qa84Ic4/Kr4twzdIGty+4dPworwhxl+Vp
         Fz1jh3y2VGWGq5FGTS8Ip4IQXUupfQAygQWxTb5oshZpQktFAZFusRbbS9xQG178UO7+
         mD2kPRVshVUbY75wRlCGpPvuUv9LPiKqiMzMN/zzm7Zb0efp75JREh/v17OLqc+nVCVy
         J94A==
X-Gm-Message-State: AO0yUKU0WslZndpdC48bW2jj6MCc8QNHXwMpQLcWNO5H6qW7+d5XLAhJ
	tvaN296yfHtGfg7zVqKEwIU=
X-Google-Smtp-Source: AK7set/MXFF53mbfD7KcP+G76SxBwqJavpW9O4bi/PCmCJOfBHCnATS1r9gapFHTbmW3XY4iI6BVuA==
X-Received: by 2002:a7b:cb90:0:b0:3ed:31fa:f563 with SMTP id m16-20020a7bcb90000000b003ed31faf563mr5121535wmi.20.1679491938126;
        Wed, 22 Mar 2023 06:32:18 -0700 (PDT)
Message-ID: <98a891792446e72d910ee49a62c7e3b3d2d6c186.camel@gmail.com>
Subject: Re: [PATCH v5 4/7] xen/riscv: introduce decode_cause() stuff
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>, Julien
 Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Date: Wed, 22 Mar 2023 15:32:14 +0200
In-Reply-To: <771418cf-9515-cc93-14c7-4bea60c30b2b@suse.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
	 <8c7b4a5d328be8b1cd2aa99c8d9a7883e4969600.1678976127.git.oleksii.kurochko@gmail.com>
	 <0b94be57-b8fb-6c38-9ed8-dc8482694153@xen.org>
	 <cf883a86eac88c11d02768eb64adb2b418c6ba2e.camel@gmail.com>
	 <771418cf-9515-cc93-14c7-4bea60c30b2b@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-22 at 13:26 +0100, Jan Beulich wrote:
> On 22.03.2023 11:20, Oleksii wrote:
> > On Tue, 2023-03-21 at 17:33 +0000, Julien Grall wrote:
> > > On 16/03/2023 14:39, Oleksii Kurochko wrote:
> > > > --- a/xen/arch/riscv/traps.c
> > > > +++ b/xen/arch/riscv/traps.c
> > > > @@ -4,10 +4,95 @@
> > > > =C2=A0=C2=A0 *
> > > > =C2=A0=C2=A0 * RISC-V Trap handlers
> > > > =C2=A0=C2=A0 */
> > > > +
> > > > +#include <xen/lib.h>
> > > > +
> > > > +#include <asm/boot-info.h>
> > > > +#include <asm/csr.h>
> > > > +#include <asm/early_printk.h>
> > > > =C2=A0 #include <asm/processor.h>
> > > > =C2=A0 #include <asm/traps.h>
> > > > =C2=A0=20
> > > > -void do_trap(struct cpu_user_regs *cpu_regs)
> > > > +static const char *decode_trap_cause(unsigned long cause)
> > > > +{
> > > > +=C2=A0=C2=A0=C2=A0 static const char *const trap_causes[] =3D {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_MISALIGNED_FETCH=
] =3D "Instruction Address
> > > > Misaligned",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_FETCH_ACCESS] =
=3D "Instruction Access Fault",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_ILLEGAL_INSTRUCT=
ION] =3D "Illegal Instruction",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_BREAKPOINT] =3D =
"Breakpoint",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_MISALIGNED_LOAD]=
 =3D "Load Address Misaligned",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_LOAD_ACCESS] =3D=
 "Load Access Fault",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_MISALIGNED_STORE=
] =3D "Store/AMO Address
> > > > Misaligned",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_STORE_ACCESS] =
=3D "Store/AMO Access Fault",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_USER_ECALL] =3D =
"Environment Call from U-Mode",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_SUPERVISOR_ECALL=
] =3D "Environment Call from S-
> > > > Mode",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_MACHINE_ECALL] =
=3D "Environment Call from M-
> > > > Mode",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_FETCH_PAGE_FAULT=
] =3D "Instruction Page Fault",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_LOAD_PAGE_FAULT]=
 =3D "Load Page Fault",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_STORE_PAGE_FAULT=
] =3D "Store/AMO Page Fault",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_FETCH_GUEST_PAGE=
_FAULT] =3D "Instruction Guest
> > > > Page
> > > > Fault",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_LOAD_GUEST_PAGE_=
FAULT] =3D "Load Guest Page
> > > > Fault",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_VIRTUAL_INST_FAU=
LT] =3D "Virtualized Instruction
> > > > Fault",
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 [CAUSE_STORE_GUEST_PAGE=
_FAULT] =3D "Guest Store/AMO Page
> > > > Fault",
> > > > +=C2=A0=C2=A0=C2=A0 };
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 if ( cause < ARRAY_SIZE(trap_causes) && trap_ca=
uses[cause]
> > > > )
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return trap_causes[caus=
e];
> > > > +=C2=A0=C2=A0=C2=A0 return "UNKNOWN";
> > > > +}
> > > > +
> > > > +static const char *decode_reserved_interrupt_cause(unsigned
> > > > long
> > > > irq_cause)
> > > > +{
> > > > +=C2=A0=C2=A0=C2=A0 switch ( irq_cause )
> > > > +=C2=A0=C2=A0=C2=A0 {
> > > > +=C2=A0=C2=A0=C2=A0 case IRQ_M_SOFT:
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "M-mode Software=
 Interrupt";
> > > > +=C2=A0=C2=A0=C2=A0 case IRQ_M_TIMER:
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "M-mode TIMER In=
terrupt";
> > > > +=C2=A0=C2=A0=C2=A0 case IRQ_M_EXT:
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "M-mode External=
 Interrupt";
> > > > +=C2=A0=C2=A0=C2=A0 default:
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "UNKNOWN IRQ typ=
e";
> > > > +=C2=A0=C2=A0=C2=A0 }
> > > > +}
> > > > +
> > > > +static const char *decode_interrupt_cause(unsigned long cause)
> > > > +{
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long irq_cause =3D cause & ~CAUSE_IRQ_=
FLAG;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 switch ( irq_cause )
> > > > +=C2=A0=C2=A0=C2=A0 {
> > > > +=C2=A0=C2=A0=C2=A0 case IRQ_S_SOFT:
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "Supervisor Soft=
ware Interrupt";
> > > > +=C2=A0=C2=A0=C2=A0 case IRQ_S_TIMER:
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "Supervisor Time=
r Interrupt";
> > > > +=C2=A0=C2=A0=C2=A0 case IRQ_S_EXT:
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return "Supervisor Exte=
rnal Interrupt";
> > > > +=C2=A0=C2=A0=C2=A0 default:
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return decode_reserved_=
interrupt_cause(irq_cause);
> > > > +=C2=A0=C2=A0=C2=A0 }
> > > > +}
> > > > +
> > > > +static const char *decode_cause(unsigned long cause)
> > > > +{
> > > > +=C2=A0=C2=A0=C2=A0 if ( cause & CAUSE_IRQ_FLAG )
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return decode_interrupt=
_cause(cause);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 return decode_trap_cause(cause);
> > > > +}
> > > > +
> > > > +static void do_unexpected_trap(const struct cpu_user_regs
> > > > *regs)
> > > > =C2=A0 {
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long cause =3D csr_read(CSR_SCAUSE);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 early_printk("Unhandled exception: ");
> > > > +=C2=A0=C2=A0=C2=A0 early_printk(LINK_TO_LOAD(decode_cause(cause)))=
;
> > >=20
> > > The use of LINK_TO_LOAD is the sort of things that is worth
> > > documenting=20
> > > because this would raise quite a few questions.
> > >=20
> > > The comment on top of LINK_TO_LOAD suggests the macro can only be
> > > used=20
> > > while the MMU is off. But I would expect do_unexpected_trap() to
> > > be
> > > used=20
> > > also after the MMU is on. Isn't it going to be the case?
> > Yes, you are right. it will be an issue now. It was not an issue
> > before
> > when it was used 1:1 mapping. So I have to add a check 'if (
> > is_mmu_enabled ) ... ' inside LINK_TO_LOAD macros.
>=20
> I don't think that's going to be enough: What decode_cause() returns
> may be a link-time value when a result of reading from trap_causes[],
> but - as Julien did say already - it can also be a runtime value when
> coming from any of the "return <string-literal>", calculated in a PC-
> relative way. I guess you will need to apply LINK_TO_LOAD() to the
> trap_causes[] access itself.
Probably you are right here.

>=20
> But as said before - I'm unconvinced this approach will scale,
> because
> you'll need to apply the wrapper to anything which can be reached
> prior
> to you enabling the MMU. Whether you can contain this to RISC-V-only
> code is unclear; I don't think it'll be acceptable to change any part
> of common code to meet your special needs.
But it looks like it is only two places where it should be done:
1. As you mentioned LINK_TO_LOAD() should be applied for trap_causes.
2. And it should be applied inside do_bug_frame() for getting an
start/end address of bug_frame. I want to note that do_bug_frame() will
be removed after RISC-V is ready to switch to generic bug
implementation.

The next step after the current patch series is merged is to enable
MMU, so it shouldn't be new use cases where it is needed to use
LINK_TO_LOAD().

If it is not acceptable to change any part of common code ( as I
understand in this case it is do_unexpected_trap() and all that is
called inside it ) have I to introduce two types of function
do_unexpected_trap() for when MMU is enabled and not?

I have a strong feeling that I misunderstood you...

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 13:41:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 13:41:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513453.794458 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peyi0-0007oz-Bc; Wed, 22 Mar 2023 13:40:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513453.794458; Wed, 22 Mar 2023 13: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 1peyi0-0007os-79; Wed, 22 Mar 2023 13:40:56 +0000
Received: by outflank-mailman (input) for mailman id 513453;
 Wed, 22 Mar 2023 13: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=dhKM=7O=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1peyhz-0007om-3M
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 13:40:55 +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 2a2ed530-c8b7-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 14:40:53 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id w11so10522368wmo.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 06:40:53 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 i6-20020a05600c354600b003ede6540190sm10730717wmq.0.2023.03.22.06.40.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Mar 2023 06:40:52 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a2ed530-c8b7-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679492452;
        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=Y+G0KtFzysICluopv7X2KW6OxCJL6m3/E/EFH5wez8s=;
        b=iEXJ+XcM3sfGlMgRs5nL9jBW6XPKiNSkja/fD6QRXniD5zpiNvxhCaJX4WEFtEKZ1w
         WsmaNnEGQv5l4v47j31sn0RCuqVlG8DvDNgov6EG3Ph3n+ibQZhi1zzP3qy9471/XAgw
         skaDbEkhJ3jwo/DkEWceUsrGcpP4Dqy41kRSWbcU951XIZ7S/PG5y4FN0A05mpD8etCO
         PRrdhy0NSd4Tg/hXeKQaq1b+q46VWzDCfD6bmJXmeYCgWv2BABvXMPolEUqLcwIA2Ux9
         PisHUZll7fO/pSX83k82HSUB9vUaXcGXradjKpnUzPDhxTQAfnL9N227FC9sY+0Swm33
         yEXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679492452;
        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=Y+G0KtFzysICluopv7X2KW6OxCJL6m3/E/EFH5wez8s=;
        b=3xEdxVNlZXvOt/hhcZismXEx/xQK9xzWr6zssA3R9bEmAtYp3WWRk4JOjV92TMDTig
         u2fmXRDdHpniuj0dXXplIlFq6iJ269IiQp4mVCI5Wda6kCxNtFYrUSZt43tPHDepMq+B
         TCaXwHxtUqbTmCOvyXEcbO/FGKFTzK9nsvmGqyBp/8hvuwOwS31jpm1VuJQQftFJUGKW
         TFuF1TDnTquprSt0Lzpo6Y9cKH3YC5frK3z1DJYLP9owY6jr4/9P7Wvn3UCOwP8Agyub
         ceQHjTbpZkI4MOpo5gibBIqp+ZGLf/eKnuElyhZgut2dzwQmF4dDX2mlcT5vmGsr02Az
         Cwrg==
X-Gm-Message-State: AO0yUKVt/s2oWRAm/DaK0p4HreOuUUvDIsksOP4EbgbaUXQ7sMxcHMk9
	0WkzXFG8cZ/E4sSyHiVXyiU=
X-Google-Smtp-Source: AK7set9hIG+H5sCrXr8NjZ7iEHN1VjlqsuXj33KBhuLs3+cfgObHrGHwkP979drRZMMPqV/JVlhf1Q==
X-Received: by 2002:a05:600c:2110:b0:3eb:f59f:6daf with SMTP id u16-20020a05600c211000b003ebf59f6dafmr5431541wml.34.1679492452608;
        Wed, 22 Mar 2023 06:40:52 -0700 (PDT)
Message-ID: <370a6e223d8db5f2d075ca8aba31db198a3aefce.camel@gmail.com>
Subject: Re: [PATCH v5 5/7] xen/riscv: introduce trap_init()
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>
Date: Wed, 22 Mar 2023 15:40:49 +0200
In-Reply-To: <fb5632f9-d749-4396-930e-9f2a601720d8@xen.org>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
	 <91b0284d20f530f2795a119ccb7436ee0b800256.1678976127.git.oleksii.kurochko@gmail.com>
	 <5a2c6f35-373a-de3c-1db2-aeeb1b39635f@xen.org>
	 <520d64f0b6cd283416aa4fb7b9baa5f83454c4a8.camel@gmail.com>
	 <fb5632f9-d749-4396-930e-9f2a601720d8@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-22 at 12:14 +0000, Julien Grall wrote:
>=20
>=20
> On 22/03/2023 11:33, Oleksii wrote:
> > Hi Julien,
>=20
> Hi Oleksii,
>=20
> >=20
> > On Tue, 2023-03-21 at 17:42 +0000, Julien Grall wrote:
> > > Hi Oleksii,
> > >=20
> > > On 16/03/2023 14:39, Oleksii Kurochko wrote:
> > > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > > > Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
> > > > ---
> > > > Changes in V5:
> > > > =C2=A0=C2=A0=C2=A0 - Nothing changed
> > > > ---
> > > > Changes in V4:
> > > > =C2=A0=C2=A0=C2=A0 - Nothing changed
> > > > ---
> > > > Changes in V3:
> > > > =C2=A0=C2=A0=C2=A0 - Nothing changed
> > > > ---
> > > > Changes in V2:
> > > > =C2=A0=C2=A0=C2=A0 - Rename setup_trap_handler() to trap_init().
> > > > =C2=A0=C2=A0=C2=A0 - Add Reviewed-by to the commit message.
> > > > ---
> > > > =C2=A0=C2=A0 xen/arch/riscv/include/asm/traps.h | 1 +
> > > > =C2=A0=C2=A0 xen/arch/riscv/setup.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 | 5 +++++
> > > > =C2=A0=C2=A0 xen/arch/riscv/traps.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 | 7 +++++++
> > > > =C2=A0=C2=A0 3 files changed, 13 insertions(+)
> > > >=20
> > > > diff --git a/xen/arch/riscv/include/asm/traps.h
> > > > b/xen/arch/riscv/include/asm/traps.h
> > > > index f3fb6b25d1..f1879294ef 100644
> > > > --- a/xen/arch/riscv/include/asm/traps.h
> > > > +++ b/xen/arch/riscv/include/asm/traps.h
> > > > @@ -7,6 +7,7 @@
> > > > =C2=A0=C2=A0=20
> > > > =C2=A0=C2=A0 void do_trap(struct cpu_user_regs *cpu_regs);
> > > > =C2=A0=C2=A0 void handle_trap(void);
> > > > +void trap_init(void);
> > > > =C2=A0=C2=A0=20
> > > > =C2=A0=C2=A0 #endif /* __ASSEMBLY__ */
> > > > =C2=A0=C2=A0=20
> > > > diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
> > > > index 36556eb779..b44d105b5f 100644
> > > > --- a/xen/arch/riscv/setup.c
> > > > +++ b/xen/arch/riscv/setup.c
> > > > @@ -3,7 +3,9 @@
> > > > =C2=A0=C2=A0 #include <xen/kernel.h>
> > > > =C2=A0=C2=A0=20
> > > > =C2=A0=C2=A0 #include <asm/boot-info.h>
> > > > +#include <asm/csr.h>
> > > > =C2=A0=C2=A0 #include <asm/early_printk.h>
> > > > +#include <asm/traps.h>
> > > > =C2=A0=C2=A0=20
> > > > =C2=A0=C2=A0 /* Xen stack for bringing up the first CPU. */
> > > > =C2=A0=C2=A0 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
> > > > @@ -32,7 +34,10 @@ void __init noreturn start_xen(unsigned long
> > > > bootcpu_id,
> > > > =C2=A0=C2=A0=20
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fill_boot_info();
> > > > =C2=A0=C2=A0=20
> > > > +=C2=A0=C2=A0=C2=A0 trap_init();
> > > > +
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk("All set up\n");
> > > > +
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for ( ;; )
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 asm vo=
latile ("wfi");
> > > > =C2=A0=C2=A0=20
> > > > diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
> > > > index 8a1529e0c5..581f34efbc 100644
> > > > --- a/xen/arch/riscv/traps.c
> > > > +++ b/xen/arch/riscv/traps.c
> > > > @@ -13,6 +13,13 @@
> > > > =C2=A0=C2=A0 #include <asm/processor.h>
> > > > =C2=A0=C2=A0 #include <asm/traps.h>
> > > > =C2=A0=C2=A0=20
> > > > +void trap_init(void)
> > > > +{
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long addr =3D (unsigned long)&handle_t=
rap;
> > >=20
> > > It is not super clear to me whether this is going to store the
> > > virtual
> > > or physical address.
> > Actually it is going to store both the virtual and physical
> > address.
> > Depending on if MMU is enabled or not.
>=20
> I think some comment in the code would be really good because this
> is...
>=20
> > >=20
> > > Depending on the answer, the next would be whether the value
> > > would
> > > still
> > > be valid after the MMU is turned on?
> > It would still be valid because for addr will be generated PC-
> > relative
> > address.
>=20
> ... not clear to me what would guarantee that Xen is compiled with=20
> -noPIE. Is the cmodel?
There is a patch:
https://lore.kernel.org/xen-devel/2785518800dce64fafb3096480a5ae4c4e026bcb.=
1678970065.git.oleksii.kurochko@gmail.com/
Which guarantees that Xen is complied with -noPIE.

The cmodel determines which software addressing mode is used, and,
therefore, what constraints are enforced on the linked program.

>=20
> A suggestion for the top of the function:
>=20
> "Initialize the trap handling. This is called twice (before and after
> the MMU)."
>=20
> And for on top of 'addr', I would add:
>=20
> "When the MMU is off, this will be a physical address otherwise it
> would=20
> be a virtual address. This is guarantee because [fill the blank]".
Thanks for the recommendations.
I will take them into account.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 13:46:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 13:46:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513456.794467 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peynK-0008Rv-VF; Wed, 22 Mar 2023 13:46:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513456.794467; Wed, 22 Mar 2023 13:46:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peynK-0008Ro-SS; Wed, 22 Mar 2023 13:46:26 +0000
Received: by outflank-mailman (input) for mailman id 513456;
 Wed, 22 Mar 2023 13:46: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peynJ-0008Ri-Bc
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 13:46:25 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2060f.outbound.protection.outlook.com
 [2a01:111:f400:fe12::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eebe33c7-c8b7-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 14:46:23 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8523.eurprd04.prod.outlook.com (2603:10a6:20b:432::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 13:46:20 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 13:46: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: eebe33c7-c8b7-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CC2rjLwGJL2y/veXSBJntVfpyatr1kelRzBC3VXJxeYVmKLc6ozelJkiliGXWlh7Cj1uzuwhzHXbq5BfpxLbViEDGandaK9s9vYNdAcvYWJp5/+Q+cpbnMp4jRFO5xQQ3XTPIURsUaz/Rp4IbwPgijq8h0RSNBuCv5eFWL//ZkCzaHtwaNfhlDMN1LgqPEXjfGxEXqd57Z7wqh9Cks4UXaHDGZ01t7mjkNqWNeTSvECWWwMpz5NeYwzY33ENPkosaEtPfvAUBxFXp7EJxVI90lqNw3MpbB/JNkwKdlW22YXKUqsgSycZClh01KdH1bzN10ge8xN2BfR/ptrQ9U9tVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+nfGpvmEs9pf/rc4mTbuoXpQh49a15/WtCPHhJqB2g=;
 b=NpC5xjmSzD6Mn5sQxtmhoiou2blZRFwnQhq2HK5OfwFODFa3gBqE30PGmQCtdi1cANoSGn7S48jkq9m/4N0R4y3fAfIPyo35Sciyfa+q9p4N7mXrDQEDnWRvgo1TapQ4P5AzkQ378ew3/omoPXocNoHQQioggoQBBu97Uc6GQYk/ymKxHUp5C9whgyiSVMSKpx3JXx13JZ39an34vN/PfTXvYZ3PYSWiyQCS0/S0oNM9pLkUebiDtHcS6ChFNUVotHwHylANMy1Oe4p2/6G9OgMEDJeS+V9rRRxVRM4LQwKp2+5EG/RakX0SEqpkzuLH3vwYXc+1vWiwU43376mytg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R+nfGpvmEs9pf/rc4mTbuoXpQh49a15/WtCPHhJqB2g=;
 b=u+teRx6M/dh0qq8sOJhOYvBEgK9XhAwV7o4hu9yvIeARQ6e2Dk58G6xDg5sxXSBeoHBHoaH/X+j5p4CPpKhkLQazMotGXWN7dHolSy4SUSOhmOcxgjn6Ui8D9b0KfFYlvHhQO66gSzQQrFDgKQ/11TGNwoOU9R6ZiAnfePa9yN9R60J93qAyR0UTfJRJuSi6ebIHHps+C4wLdiAbMA6idwivMsG9SJ4LHczf8C4sIO8w9Ujc2wEyWcki7EHZdw5W3MOlFPGJbxlsehoDHEIT1IjZHaVv/mBkW/I8aWLtdPLLxWFCjQ8QBijYLyJmjUSTqnAYiEtHlcgMvmXHv+HIfw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <486cf6f9-4e28-17b5-3ab3-31272955926b@suse.com>
Date: Wed, 22 Mar 2023 14:46:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 4/7] xen/riscv: introduce decode_cause() stuff
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
 <8c7b4a5d328be8b1cd2aa99c8d9a7883e4969600.1678976127.git.oleksii.kurochko@gmail.com>
 <0b94be57-b8fb-6c38-9ed8-dc8482694153@xen.org>
 <cf883a86eac88c11d02768eb64adb2b418c6ba2e.camel@gmail.com>
 <771418cf-9515-cc93-14c7-4bea60c30b2b@suse.com>
 <98a891792446e72d910ee49a62c7e3b3d2d6c186.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <98a891792446e72d910ee49a62c7e3b3d2d6c186.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0242.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8523:EE_
X-MS-Office365-Filtering-Correlation-Id: 5bf1f2a1-39c0-41e7-e16e-08db2adbd193
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	B6I9RTwUUER8n45NeRLNDjpQi91ElmQM547hgwfWNZ7uJzfFYla1ovTpDvJ0cCZZOZy0ChY0af6X3Ookb3oEFnqFIYzw01e6lmhx1Y+p3FrzvCQduKfQYp7W6hhL5htozJLpM8P8egniqqjlxclxtttbmWCiAf7068QtOA3ecmJjs1kSzIGH/0nctDJG+O6r2wA8G6HEB3OIYBxtU33zozzd8jjUt6+VLB8jScoLtXQ6SihLlnVOPbb6VEoQLadp7ALOiIOS6WQw8zWI39ceXOLeW0DQ6cn+Bc2fuaFZCXfWomFbzpI/VhLsjFuvTkdR6ZTm6s8iReSYsHcVIxx06d9LsNYVykusq203HlkmkJ/0lKHNdsVzcFVUOz1hJIdoZ88HIHa4tGzh/s4wCysuhThxodkLhrzdGgJKAYPPs0JhHC/DYmL8QCU0RWWKq6AxO7sAmwGpRPK27JKBYrUeNd+IRBr0hMrHxxB/BvqfQwCqRZIZTOwPc/jAP7K0dFaEZHJKHJ8Bha/BXUoXbKmvqvkdoyqPsZS5wxlTHw2YUDfCuKNUrT1y9fPigkLOfQERTYwddMC3PNrwmL87j3qgl4Pz13doyZxwS+dDa4z3XeoYT4nJQq075Wo4pSl3Eke1T8LYbekxQlMQx5o/SGeYEF0UO1g0Q2gcyZ8SJDe8KZ6cjDihSxa+Yo4m9/kvLmNhck6AM9XRoTtX502Q3xlO34L6Sbk0zvxyfF83fEuE9Po=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(396003)(136003)(346002)(366004)(39860400002)(451199018)(31686004)(478600001)(316002)(66556008)(8676002)(6916009)(66476007)(54906003)(5660300002)(8936002)(41300700001)(86362001)(31696002)(2906002)(26005)(36756003)(186003)(66946007)(6486002)(6506007)(2616005)(53546011)(4326008)(6512007)(83380400001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ejIyNUdMZWV0K1FaalJXTjhHdVBlYVRKdTZYcm9ZdmttUlo1d0NnRFlXcnRr?=
 =?utf-8?B?V3IyQlp5SUdXVlRjN3VNaWNlbjVlSHM5WDE3ZDZWUEFBUzFmczNiL0Qybjlw?=
 =?utf-8?B?eTI0aFJhM2lVaWJKclB1NkIyMGtJNzJ2S0V6R0pKR1lZNENOL0IzdzQwdG5Z?=
 =?utf-8?B?ODBiODNReWhMTkJZSjczdTlOcUEzYmJkcUhWVEJnejVtOFg2OFhjeFNoYTBO?=
 =?utf-8?B?MjRKaSthb2RScWxWSXlEUHRLOHN1Q3lBQ3BxTERiY3Q0WmdYWHBQRmlPWnlQ?=
 =?utf-8?B?YjBZQW05N205eEdWcTlZVktpWFJMbUdSNHErMlE5NXRJd1VSaE9rREFzMDg0?=
 =?utf-8?B?YzJpanB2WDQ5WmVVUTI3dkdDZ0M0TGpSVkdzY3oxZTNrZHplaHIwcStiZnBQ?=
 =?utf-8?B?SllOenBWdXk5cXBlQkd5NXlYYnBOS2NJMmZFakp4M2ZsaXZsdDFRS3dVSlgw?=
 =?utf-8?B?RTduUlp4NnJXc2lDMlFpckRWWlF2NEN0YVBYZlVxZEFkSUtFSTlEL1l6bmZi?=
 =?utf-8?B?OXRYSzFkSGpqUkluMkwwcVk4dzdLU1cwVVpDSHNGUlpnNmNXSlU2Q2NPd1NI?=
 =?utf-8?B?UEN4RXhNa2YyOU8zdHlsZGxDYmNGWmpwWE1FaVppNnlzSHc3bHZhZDRIWDUr?=
 =?utf-8?B?R1RoVjYzdk5UV3IvNGJ0Mll4b09xaEQ1cGRCd0gzc0VHUC92dnJsZXFUVjBw?=
 =?utf-8?B?eTVkMnZVY2tDMmJVUUR0dmF0WjNreFYxcUt1WkN0aCtPak92NXJ6aEw3THl3?=
 =?utf-8?B?YUlCMTJTU05iakttNUlaYTBqL1FneG01U3oveUFvVnBxK2d4R24rbFUydkE0?=
 =?utf-8?B?bkZicFNGamM4RzlaZERjb2hNYUxGcnZhWmxXOW1hRmlaM3Z6WE5Ea0lYakh2?=
 =?utf-8?B?SEpJYkpMQUpmZ3BEV3g2ZU1vRG5WeHYvb2psbkdlMjVwRUJNVFNqK01QY29O?=
 =?utf-8?B?SW40OXB2ZFlEUmp5TWZTdDBnckxrZXZLdzhiVDNjM1BsQnREU3AvK0liNHV3?=
 =?utf-8?B?TFBMdWFPdjRSbFF0ZVRCamxaVnZjdlIrQ2YxdFFrVXBHZEhnZTJJd2xuZ1l6?=
 =?utf-8?B?OERBWVZIYzRuanRHSWFkZDh5dkwwMnNhczUxK04zNUcvdFUyUkpLVUtrNHdp?=
 =?utf-8?B?TzFFc2h4KzdtK3k5UWt3cVVuY21mTFh1Yldoa1pKQ0R2SjhzZWlEMlpuVW13?=
 =?utf-8?B?U2xJUmpxUURXbTVIVEdoMkRWakNJYUZpdTRlWmQ0UDBhZ01rUWsvZ28rYmdO?=
 =?utf-8?B?ZDRGSXg5bFQveWpJdjFmWHYxQWJtZ2ZubkRpay9DbVBobys4WTF1cTdzM284?=
 =?utf-8?B?Q3RpOW1QT29IYzBPa0lTdFZxMkNUYU1hcmJsenpONDFIOVViMlpoYk1wRHR5?=
 =?utf-8?B?cG8vT3dSN0ZLck05VDh3aUNORmc4SjdiREpzOXpMQnpnRVpCUzdzdmNyYlo5?=
 =?utf-8?B?eGhReER5czVvSzA2WnlNWEthQlRlRm40dHZvTVVUa1dzVnVjNk95ZEtZM3VL?=
 =?utf-8?B?d2dRaGU3MnNMNlpMaFYxK09pR3RadGV4bnEveXRYVTBYVVV1UkFkeUh2VzUx?=
 =?utf-8?B?Qm9TU2UxT1JHdkNjR1pqTk45dDdnT3d4S29yTGRQUElxSkFnY0p4bDJjNW9Y?=
 =?utf-8?B?dGRxb3RjeE5HQWlGUG41MmhPQzUvMWJwbWVPRHBQSHZVYVplaXRlMXJob0hR?=
 =?utf-8?B?Uk1wK2pMeXRXYnRsNjNZMjVERnM1MkJsQi9nWG5PVHhOeGFjdnVhc0E3eG9X?=
 =?utf-8?B?ZUx4SkJ0d0l1a1lhOHd2cHh6S1lPK3ZNOGJMM2ovWkJHd2o1Q1B4QnMremh3?=
 =?utf-8?B?NVR6MnA1Q3A4M0pKdHdlczdtaUJDeUgvdUVIeVNrZmJmTDB3SW1tcDlpMUdY?=
 =?utf-8?B?VDUwalpLZkFDaEhPeCtwNHZSYmswRUJJNU5QNWdDUndIVDVwTHVORTdNcVZr?=
 =?utf-8?B?UTNVemFoRUF0Szh4QXJiZ1p2OWd6QWZyVExrNFhhVzhnSnJRaWpKTjVuOS83?=
 =?utf-8?B?OFA4WnpZZ053a1ZaRzBoVzg2blJheFNaNExlVFZ2RUQvL2VyK0YycG5rUVQr?=
 =?utf-8?B?eE9CVy9RdWJkMWk2aG5KSzFtVnJTUEdQSFNTRVBub09ESUwvRHVFMUVraDN0?=
 =?utf-8?Q?UVP4wkNGsX7yKRtpoNTAEfYTe?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5bf1f2a1-39c0-41e7-e16e-08db2adbd193
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 13:46:20.6641
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: I4ST1b61sD3E4uI40A7HbINCSCyovzS3dW4zWwOSXKp6zfpxDNDEIbK3YXT+sKQ4vhDCkAzQGfcNNZMzBf0+1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8523

On 22.03.2023 14:32, Oleksii wrote:
> On Wed, 2023-03-22 at 13:26 +0100, Jan Beulich wrote:
>> But as said before - I'm unconvinced this approach will scale,
>> because
>> you'll need to apply the wrapper to anything which can be reached
>> prior
>> to you enabling the MMU. Whether you can contain this to RISC-V-only
>> code is unclear; I don't think it'll be acceptable to change any part
>> of common code to meet your special needs.
> But it looks like it is only two places where it should be done:
> 1. As you mentioned LINK_TO_LOAD() should be applied for trap_causes.
> 2. And it should be applied inside do_bug_frame() for getting an
> start/end address of bug_frame. I want to note that do_bug_frame() will
> be removed after RISC-V is ready to switch to generic bug
> implementation.
> 
> The next step after the current patch series is merged is to enable
> MMU, so it shouldn't be new use cases where it is needed to use
> LINK_TO_LOAD().

I'm not convinced. You can't stick to using earlyprintk only beyond
very short term. Yet I expect you also don't want to use

    if ( early )
        earlyprintk();
    else
        printk();

everywhere in exception handling code (and anywhere else in code
which is reachable before the MMU is turned on). This extends to
uses of BUG() and alike in such early code, which - when they
trigger - want to use printk() (only). Whether printk(), somehow,
involves an array access similar to the ones you're presently
aware of you simply shouldn't depend on (it's an implementation
detail in a separate subsystem).

> If it is not acceptable to change any part of common code ( as I
> understand in this case it is do_unexpected_trap() and all that is
> called inside it ) have I to introduce two types of function
> do_unexpected_trap() for when MMU is enabled and not?

By "common code" I mean code outside of arch/riscv/. And I
sincerely hope you / we can get away without duplicated functions.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 13:52:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 13:52:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513459.794478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peysf-0001hd-JL; Wed, 22 Mar 2023 13:51:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513459.794478; Wed, 22 Mar 2023 13:51:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peysf-0001hW-GO; Wed, 22 Mar 2023 13:51:57 +0000
Received: by outflank-mailman (input) for mailman id 513459;
 Wed, 22 Mar 2023 13:51: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 1peyse-0001hO-04
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 13:51: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 1peysd-0006qv-6T; Wed, 22 Mar 2023 13:51:55 +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 1peysc-0001AQ-W6; Wed, 22 Mar 2023 13:51:55 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=cKOU+idkA0zBEXefaItACC8Z5hgXKpk+5NnAZzZmzNY=; b=pQU7tJiPIVRqKw/3jlhaxHzBFw
	KeG9QnwOq8Tfvr+Jymbr01CQjf46eVFXNYGjTFgemTJ2pxnFlBxxfa2x+nfcTSyK2YezXy90ZFcDv
	X2Ryb7dcsBpTAN2jhr6pQxFR/Aa6/jeGmc+u/4B39C3v8WTTawmSWuKbusl0ApglZbak=;
Message-ID: <af0d3509-9be4-19d7-8f5d-1c0596a63d15@xen.org>
Date: Wed, 22 Mar 2023 13:51:52 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v5 5/7] xen/riscv: introduce trap_init()
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
 <91b0284d20f530f2795a119ccb7436ee0b800256.1678976127.git.oleksii.kurochko@gmail.com>
 <5a2c6f35-373a-de3c-1db2-aeeb1b39635f@xen.org>
 <520d64f0b6cd283416aa4fb7b9baa5f83454c4a8.camel@gmail.com>
 <fb5632f9-d749-4396-930e-9f2a601720d8@xen.org>
 <370a6e223d8db5f2d075ca8aba31db198a3aefce.camel@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <370a6e223d8db5f2d075ca8aba31db198a3aefce.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Oleksii,

On 22/03/2023 13:40, Oleksii wrote:
> On Wed, 2023-03-22 at 12:14 +0000, Julien Grall wrote:
>>
>>
>> On 22/03/2023 11:33, Oleksii wrote:
>>> Hi Julien,
>>
>> Hi Oleksii,
>>
>>>
>>> On Tue, 2023-03-21 at 17:42 +0000, Julien Grall wrote:
>>>> Hi Oleksii,
>>>>
>>>> On 16/03/2023 14:39, Oleksii Kurochko wrote:
>>>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>>>> Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
>>>>> ---
>>>>> Changes in V5:
>>>>>      - Nothing changed
>>>>> ---
>>>>> Changes in V4:
>>>>>      - Nothing changed
>>>>> ---
>>>>> Changes in V3:
>>>>>      - Nothing changed
>>>>> ---
>>>>> Changes in V2:
>>>>>      - Rename setup_trap_handler() to trap_init().
>>>>>      - Add Reviewed-by to the commit message.
>>>>> ---
>>>>>     xen/arch/riscv/include/asm/traps.h | 1 +
>>>>>     xen/arch/riscv/setup.c             | 5 +++++
>>>>>     xen/arch/riscv/traps.c             | 7 +++++++
>>>>>     3 files changed, 13 insertions(+)
>>>>>
>>>>> diff --git a/xen/arch/riscv/include/asm/traps.h
>>>>> b/xen/arch/riscv/include/asm/traps.h
>>>>> index f3fb6b25d1..f1879294ef 100644
>>>>> --- a/xen/arch/riscv/include/asm/traps.h
>>>>> +++ b/xen/arch/riscv/include/asm/traps.h
>>>>> @@ -7,6 +7,7 @@
>>>>>     
>>>>>     void do_trap(struct cpu_user_regs *cpu_regs);
>>>>>     void handle_trap(void);
>>>>> +void trap_init(void);
>>>>>     
>>>>>     #endif /* __ASSEMBLY__ */
>>>>>     
>>>>> diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
>>>>> index 36556eb779..b44d105b5f 100644
>>>>> --- a/xen/arch/riscv/setup.c
>>>>> +++ b/xen/arch/riscv/setup.c
>>>>> @@ -3,7 +3,9 @@
>>>>>     #include <xen/kernel.h>
>>>>>     
>>>>>     #include <asm/boot-info.h>
>>>>> +#include <asm/csr.h>
>>>>>     #include <asm/early_printk.h>
>>>>> +#include <asm/traps.h>
>>>>>     
>>>>>     /* Xen stack for bringing up the first CPU. */
>>>>>     unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
>>>>> @@ -32,7 +34,10 @@ void __init noreturn start_xen(unsigned long
>>>>> bootcpu_id,
>>>>>     
>>>>>         fill_boot_info();
>>>>>     
>>>>> +    trap_init();
>>>>> +
>>>>>         early_printk("All set up\n");
>>>>> +
>>>>>         for ( ;; )
>>>>>             asm volatile ("wfi");
>>>>>     
>>>>> diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
>>>>> index 8a1529e0c5..581f34efbc 100644
>>>>> --- a/xen/arch/riscv/traps.c
>>>>> +++ b/xen/arch/riscv/traps.c
>>>>> @@ -13,6 +13,13 @@
>>>>>     #include <asm/processor.h>
>>>>>     #include <asm/traps.h>
>>>>>     
>>>>> +void trap_init(void)
>>>>> +{
>>>>> +    unsigned long addr = (unsigned long)&handle_trap;
>>>>
>>>> It is not super clear to me whether this is going to store the
>>>> virtual
>>>> or physical address.
>>> Actually it is going to store both the virtual and physical
>>> address.
>>> Depending on if MMU is enabled or not.
>>
>> I think some comment in the code would be really good because this
>> is...
>>
>>>>
>>>> Depending on the answer, the next would be whether the value
>>>> would
>>>> still
>>>> be valid after the MMU is turned on?
>>> It would still be valid because for addr will be generated PC-
>>> relative
>>> address.
>>
>> ... not clear to me what would guarantee that Xen is compiled with
>> -noPIE. Is the cmodel?

There is a missing "given" after "that".

> There is a patch:
> https://lore.kernel.org/xen-devel/2785518800dce64fafb3096480a5ae4c4e026bcb.1678970065.git.oleksii.kurochko@gmail.com/
> Which guarantees that Xen is complied with -noPIE.
I am a bit puzzled with what you wrote. From my understanding, with 
-noPIE, the compiler would be free to use absolute address rather than 
pc-relative one. Do you have any pointer to documentation that would 
back your reasoning?

I have already mentioned before, but I think it would really useful if 
you start adding more documentation (in particular of such behavior) in 
the code or docs/ (for more wide). This would help everyone to 
understand how everything is meant to work.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 13:53:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 13:53:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513462.794488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peyuN-0002Fc-VE; Wed, 22 Mar 2023 13:53:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513462.794488; Wed, 22 Mar 2023 13:53: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 1peyuN-0002FV-S5; Wed, 22 Mar 2023 13:53:43 +0000
Received: by outflank-mailman (input) for mailman id 513462;
 Wed, 22 Mar 2023 13:53: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1peyuM-0002FP-1r
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 13:53:42 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f318c237-c8b8-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 14:53:40 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7268.eurprd04.prod.outlook.com (2603:10a6:20b:1de::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 13:53:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 13:53: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: f318c237-c8b8-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OlGSfUubA+IbaPem4WpLbEXtg6SyweDjjTD30EJSzHyfDGpBkNICB8i3gSHfrSLSVO6UQxAFSu17dBBvqnF0aovS+UxUFi66F438IaHcoi2Jd9b08NYSKcLaMHsx3gN8Fz3vEIV06BnlR2YHr1pvUteu3XDe6lwKBeOiDVJliVyfPmjrZHnijtJnXCY6alRPLwVIChX2pMO1yEdPPMQcpiei98WMviBe5wD0CNMFIQVWiCps115CAtfwBnXQyWq/fPT6Ld09uausrU3csIgORLJ1WCyArfqZ0B+KZTFwk3WHU7Me4FyxlBxY7OUbti3Ic1FW14r2WT4bX+eBsXj0Wg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v4lI/hH5CIFn9u4ZqB8ryW9VG1afFIZ7c5xB1aDbNus=;
 b=eWKGJhNf1Kz7X4w8mhONVMbTEJCQTH/7JPH1hCdYVMc9rqIayFjRTTlsK83O0Gidq+hCxZk/UcV6pV/QIIzPky4dyREm5V0KqD6LHoKR5qQMPjl1l/sTxHAA6zF3WSvb3xOcKWhU2cAboWmBdLTTuPw8O0kGQzo/xPNpQahesbbJwMQTMoR8zSFOCluN6Z9kD9JMHFXowrQlVLf1zQtNC1/Cjgxt2aVU7GMgh4caQ7MBR8WhsGRHdg5PBbPzYUHB/SSmP9jFkPb1n/hLGuizWIdllZ1BO9bfaU8JbDCmaJECBmpV/FlQmj3BlajwPt4j2YgSa2vwhVntqQ6iWI1eYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v4lI/hH5CIFn9u4ZqB8ryW9VG1afFIZ7c5xB1aDbNus=;
 b=A860Poktkn6JGd9xraAn7ezM0Zz/UiMnWZV63/hGFQAHohdnNUOnRby4vmXWr/pXGvCJxjwaMn+mn0NmPtJGtRZAGpFhau3qNktoqmDmbSCLsvcj4MBBpHaBy+KqKCD+yZ1NzeLYVe93oyMLB35LQqWitUwF/n+LP2lBWokzB6cvFj2OU7KOl2b9Hqm03nf9ZH2xzlpxQEErOSSp9etpi5DWvX032sFWGxcvkCXstlKtCxXeN6v8Qe0PKWweeWvjyBtcLWEjRxOMGV2WrAWOoF0SqUo0qNjlZq4yIJuUyb2991mOtZSa0yaStSf60K4KHsI4z9BbgqK7A5cb1OgMOw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d9f3ef97-1101-ac4b-57b9-be0fa19a7310@suse.com>
Date: Wed, 22 Mar 2023 14:53:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN v4 07/11] xen/arm: Introduce choice to enable 64/32 bit
 physical addressing
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 rahul.singh@arm.com, xen-devel@lists.xenproject.org,
 Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-8-ayan.kumar.halder@amd.com>
 <7d90ad7a-5daf-915c-2055-a27ca50d8581@suse.com>
 <e268e11b-8e93-c506-668b-c5c004b3aa06@amd.com>
 <1883c9a3-ad25-ac45-b1fa-d29e19b3cc14@suse.com>
 <01a800a5-1c0d-b9d4-05c7-c886b3e3009d@amd.com>
 <205658ff-e0ac-1656-2d12-099abd891fcd@suse.com>
 <ac320354-454f-f6e6-d2b6-a470b66c7ec7@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ac320354-454f-f6e6-d2b6-a470b66c7ec7@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0091.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7268:EE_
X-MS-Office365-Filtering-Correlation-Id: de014869-41a1-4e00-a591-08db2adcd627
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OMpwReOA7X+4M7s/X1XNqKIsYtlsWvivloWWdphdR68RRI5fvD9dcgCz7sIHnOTJTcBpFvkk8eRas5FOzJQeepEwlOG/HlBhPiNP1WrLpYAFcWVpy+KSu6/Ay8UxzhBLHAr6EWi8DzXFHmlhZ6WZuUDtKO3bDG/QaoQ+QAK1zaYGWIq/ziMUW5KXh/AJs+yyEz7OM5WaRyB0TD/0HQ21yBEtCDa955LT2L4iH2MehM8OyTADUCWVD9JasafTcVhvDh+Bl2q8JmsLP0HiUpK6JacR7ggSZ0Hy/WcH9Qsq8qkgGJKFmEK+rcNJzda94UW/BB3Ona6YKM7X1jFUQVOJozBO5S7rqADP3HlxSNzOGoExUHujDyBLXBFwAePXKWD5oqBkqSZbpCVd/74rRXsbPtzLhUYg5bCjefC427wtnxuQgZSlIWXF7zUei7eoNHMFa/cGtn6uOJ/3SZRapELfdgEAbU36hTngdjTxvQlBcPw6jBi2RSC+0VmWAcU2yqIJjPSCEmYbQr/SCjQp/B2bgfu4+dB4ttWvStDs/n5JdzfDqrURnIPR1ThoN8kXDTmUKpC5eoDpKsUi6zPCVEZ/+DWoa+7lcC/SpfpiM7FtYvqes4KemUniGkU6sOoqsA5LdpAQIx/OnYePAJiTdPoCDAvDVP010gy4msCaBzvW71dE3o5U7S6MSzXafo+1F/StOOgJPDZFD5kxzvychp892b3WevhLhO0eXZip6bGRGWdplonROIhBdoye5ey3jriE
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(39860400002)(136003)(366004)(396003)(346002)(451199018)(31696002)(86362001)(36756003)(316002)(4326008)(186003)(66476007)(66946007)(6916009)(8676002)(66556008)(478600001)(53546011)(2616005)(966005)(31686004)(6486002)(6512007)(54906003)(26005)(83380400001)(6506007)(38100700002)(7416002)(5660300002)(2906002)(8936002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y0xpNG9HLzRPZEpnbXNsTHk4aUxORDRXY0xZa2gwSTdXaGV1ZzE1YXI1QlFG?=
 =?utf-8?B?M3hoTlFzYnVIUHd6RDdmWEdhejFqSTVObVJmTzdnanZOWTQ3UER2dDNtLzlR?=
 =?utf-8?B?SmlnR2FSbUU4TldoRm1WSU43Y2FCYWo0am9BbXhyUXdMUzJoV0ZRWVZIQ04x?=
 =?utf-8?B?VmhmcGliYkwzVjZZUXFQZnlKZmxYVnVsemtHYXZhT0pnK25lY05iaHRvUlNp?=
 =?utf-8?B?c2tuditlMmhlNkJxSTIzNzUwRUR3TlpUQWswKzFsazRIM29JdFVLakVOZ0h3?=
 =?utf-8?B?SXp0LzBNUUgrK0oyRjg2RnloandROXJTTklMWno0OTJNbVVCN01aK01vVi9m?=
 =?utf-8?B?OEY2TkpWMk9yTC93UFFBZHU2Q2NxbmhxZWRBVWZGbFJscnRqcUJsOXFDSy9E?=
 =?utf-8?B?Zlk5TVFVdVdrRU03ZWNUanRuNXNEZ2FMa0RqRm5qa1A5TlVsdnIzNXFJcElN?=
 =?utf-8?B?R3c2a1Y4cVhqYnNqcTdxcGpzQzM0RlNHUlovbXVRbUNMMklVMDhzOW5Qazlt?=
 =?utf-8?B?QUZ3ektMSWRlb1BMNXRURnpQdXBJMnhRU1N5ZmJhY1AyTll5OEVPbzc4OWhi?=
 =?utf-8?B?K2Y0WGFzc0lnbE1hcHc2L3hYMkp0QlFzeUNNM3dFNWlyVDNlbnNpcURNei9m?=
 =?utf-8?B?SjEyQ2RBa0hBZEwvSVBaVldicVNQZlBHMmhqSjUzMEJSdGNXSlRMOERkWG5B?=
 =?utf-8?B?NHVkT0YwcXRxQzNuTk1vMmNsOW5maWhJQWEzOEhrbVdvNmpsQ01uS1BjS2Uw?=
 =?utf-8?B?NytYNXR1RlFsN0tVY3VUT0RIQlNndnBmdm90MURkMFVFL1FiK3pSSHFiemEy?=
 =?utf-8?B?ZlVnelhGZjUrNzFhSzVTQjRsRitJMmpFMCtFTk95Q0RkUjFpd0FTem9aKzB3?=
 =?utf-8?B?V2RJK2MrdU91L0FOSWJjTHpNNmwrVjZ5d0h1bHNuMnY0WVM2RVpxVFB3dDE0?=
 =?utf-8?B?QjRXbEF2bjFNdGNESFlRc3ZiTlQ5eHQ5VzBVYkF2R3FNS21FMkpscDNUckRw?=
 =?utf-8?B?V214V09xZmswRUNGQkRpVW9QODNVemtHUno0Y2x6V2JkRE0vOTRRcHZIMGFP?=
 =?utf-8?B?eHFDMGdDdzNCT3BvRFdwemdlcVd3L2Vsa3JDOXo3OEdkYVBrOUFqNmhLYXJJ?=
 =?utf-8?B?SXhVRlExZ3FkZ1FZQ2JVemY3NzVOMW84SXQ4ZDRxbTBJb3puMGtvckZjcHA0?=
 =?utf-8?B?TVFZZlEyT1h5UmdCeDVXeWFTR0V4SGJiMi92TWR0RVA3WWxLWWtXcm5waTd6?=
 =?utf-8?B?Y1FlMXBLaDBNYmNPLzUvR29tRUVhd3FWcHRBalZCOHdMdGtLK1hwWjg4ODd1?=
 =?utf-8?B?WFl3TVlGOVYwRk9RNjMreVliaEltczdlQ1gwd2ZYVHhjR3lFOXExUHZCMHRV?=
 =?utf-8?B?djlwaWdVNkJrR0FwbHJvcnA3dUx5U2wyWXlSU3JXT01OL3RzWXhWWmd3TkFW?=
 =?utf-8?B?MUVTVUFNaytuRkpGcWtNV3N6SnFCTVZodlRncUd4Nzd4QXluRENNaWhlREMz?=
 =?utf-8?B?OW5qYmltVVdMWlpBMkdINnRXcmszdHRzdVlObjNnMUlESm80bEpnRWNObWpV?=
 =?utf-8?B?QTVsVGJQMXZQVkU2VHc1aHNDcDFVQ2V1d2JaUTRaSDBKY3RRMTNxd2NnZmtV?=
 =?utf-8?B?OXMxSjVJUklRaUdFUE5tTW1ScUZhZEhhYzlLRzZQWmJvc2xqOEVqSnJmZE1P?=
 =?utf-8?B?SDFkcS9JRndrQVkrd2tEZ045eElxenMxZktQNDJLNWc5ZU1FTVlnL0wyclpX?=
 =?utf-8?B?Zy9xTE5lZ3o4UHNqUXh4UXE4U3dlV3VaRC92R0hrOCs2aEFUTlMvRWgrVkV4?=
 =?utf-8?B?a2dvV0RjREpPU0sxd2h2L29CcE01UFNzdk91bjgxWk02c2h5NHcwVHRZSjFN?=
 =?utf-8?B?Mlh4ZnRTYzdDL2g5aXhQTzlDV3ZGeUxnUHpIOEVQbHRpMzVYeERCNWwxOG1o?=
 =?utf-8?B?Y0VCTDJkZEp4enFvQXNTRkg5TTB5TFE3ekxCQkl5WjRoQlhEeDZ1cW1nM0Vh?=
 =?utf-8?B?U1lCZ3ZoRjhPSG9TREZOY0RZR3VaY1c3WlRETnNYTWoyUVkyUGN5ZlpSRytk?=
 =?utf-8?B?a2pWWXBZaTFNNDFHMnBqcVVVVHY2dzdCRERaN1phRzA4TGtCL1VTU0VQcTlP?=
 =?utf-8?Q?5vxrkC0EhKswXH3T5uXgPEpVQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: de014869-41a1-4e00-a591-08db2adcd627
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 13:53:37.8557
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0rnqiCWyO9yJX47t16+9/r8+YwwsnSlzYYe3B2Ck/Mu1s3HeK503KTWfSb+lHhxbZBehhYTYyClK6990tYl0Ug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7268

On 22.03.2023 14:29, Julien Grall wrote:
> On 22/03/2023 06:59, Jan Beulich wrote:
>> On 21.03.2023 19:33, Ayan Kumar Halder wrote:
>>> On 21/03/2023 16:53, Jan Beulich wrote:
>>>> On 21.03.2023 17:15, Ayan Kumar Halder wrote:
>>>>> On 21/03/2023 14:22, Jan Beulich wrote:
>>>>>> (Using "unsigned long" for a 32-bit paddr_t is of
>>>>>> course suspicious as well - this ought to be uint32_t.)
>>>>> The problem with using uint32_t for paddr_t is that there are instances
>>>>> where the paddr_t is modified with PAGE_MASK or PAGE_ALIGN.
>>>>>
>>>>> For eg , handle_passthrough_prop()
>>>>>
>>>>>                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);
>>>>>
>>>>> And in xen/include/xen/page-size.h,
>>>>>
>>>>> #define PAGE_SIZE           (_AC(1,L) << PAGE_SHIFT)
>>>>> #define PAGE_MASK           (~(PAGE_SIZE-1))
>>>>>
>>>>> Thus, the resulting types are unsigned long. This cannot be printed
>>>>> using %u for PRIpaddr.
>>>> Is there anything wrong with making PAGE_SIZE expand to (1 << PAGE_SHIFT)
>>>> when physical addresses are only 32 bits wide?
>>>
>>> I don't have a strong objection except that this is similar to what
>>> linux is doing today.
>>>
>>> https://elixir.bootlin.com/linux/latest/source/arch/arm/include/asm/page.h#L12
>>>
>>>>
>>>>> I remember some discussion (or comment) that the physical addresses
>>>>> should be represented using 'unsigned long'.
>>>> A reference would be helpful.
>>>
>>> https://lists.xenproject.org/archives/html/xen-devel/2023-02/msg00305.html
>>
>> I see. I guess this will be okay as long as only 32-bit arches elect to
>> use 32-bit physical addresses. Maybe there should be a BUILD_BUG_ON()
>> somewhere, accompanied by a suitable comment?
> 
> Hmmm... We definitely have 40-bits physical address space on Arm32. In 
> fact, my suggestion was not to define paddr_t as unsigned long for 
> everyone but only when PHYS_ADDR_T_32 is selected (AFAICT this is what 
> is done in this patch).
> 
> This is to avoid having to add cast everywhere we are using PAGE_* on 
> paddr_t and print it.
> 
> That said, I realize this means that for 64-bit, we would still use 
> 64-bit integer. I view it as a less a problem (at least on Arm) because 
> registers are always 64-bit. I am open to other suggestion.

It simply struck me as odd to use a 64-bit type for something that was
explicitly said is only going to be 32 bits wide. I would therefore
prefer if we could limit 32-bit paddr_t to 32-bit architectures for
now, as expressed before when asking for a respective BUILD_BUG_ON().
Especially if, as intended, the type definition moves to xen/types.h
(and hence isn't Arm-specific anymore).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 13:55:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 13:55:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513467.794498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peyvx-0002tr-FU; Wed, 22 Mar 2023 13:55:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513467.794498; Wed, 22 Mar 2023 13:55: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 1peyvx-0002tk-C3; Wed, 22 Mar 2023 13:55:21 +0000
Received: by outflank-mailman (input) for mailman id 513467;
 Wed, 22 Mar 2023 13:55: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 1peyvw-0002te-Lr
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 13:55: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 1peyvs-0006w1-UN; Wed, 22 Mar 2023 13:55:16 +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 1peyvs-0001OQ-PM; Wed, 22 Mar 2023 13: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=DV40RNJO2G/hYxst0dDq57OAaTheNHlPGw0vMDAvk4I=; b=4tYRgsdzwTyL3tEK6Yr5jzp6xm
	nNk2r0ZCcTAXWHnYQr4Sl/5nmS5aMg24Zb22v5TLtLLCA+iHVPgyBOKJNNPp0yNPHvMc0WGArhWlu
	aUyqz4wfzK8Sg1H9ZzA77fyZGcBlcezXq1vtZM9LbL4QgTtWg4z+KyBfy7NC44I3MLyM=;
Message-ID: <2ba98690-1a1f-592b-6b9d-fa91e775d40a@xen.org>
Date: Wed, 22 Mar 2023 13:55:14 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
 <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
 <c176f85b-7215-8526-fa59-a3c688c543bc@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <c176f85b-7215-8526-fa59-a3c688c543bc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 22/03/2023 08:19, Jan Beulich wrote:
> On 21.03.2023 18:58, Julien Grall wrote:
>> Also, where do you guarantee that Xen will be loaded at a 2MB aligned
>> address? (For a fact I know that UEFI is only guarantee 4KB alignment).
> 
> I don't think this is true. We rely on UEFI honoring larger alignment on
> x86, and I believe the PE loader code is uniform across architectures.
> Of course you need to specify large enough alignment in the PE header's
> SectionAlignment field (right now in the Arm64 binary it's only 4k).

Hmmm... I have always been told this was ignored. Hence why we need to 
deal with 4KB. In any case, the problem stay the same. We didn't seem to 
have documented the expected alignment.

So in theory anyone can load RISC-V at any address. My suggestion would 
be to create docs/misc/riscv/booting.txt and document how one is meant 
to load Xen.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 13:56:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 13:56:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513470.794508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peyx6-0003SK-Pd; Wed, 22 Mar 2023 13:56:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513470.794508; Wed, 22 Mar 2023 13: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 1peyx6-0003SD-Lv; Wed, 22 Mar 2023 13:56:32 +0000
Received: by outflank-mailman (input) for mailman id 513470;
 Wed, 22 Mar 2023 13:56: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=aUAP=7O=redhat.com=dhowells@srs-se1.protection.inumbo.net>)
 id 1peyx4-0003Ro-OB
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 13:56:31 +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 564a2f88-c8b9-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 14: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.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 us-mta-28-GRhCHvTpPwOySiq_XJ8zBQ-1; Wed, 22 Mar 2023 09:56:23 -0400
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3FA66800B23;
 Wed, 22 Mar 2023 13:56:22 +0000 (UTC)
Received: from warthog.procyon.org.uk (unknown [10.33.36.18])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 541871731B;
 Wed, 22 Mar 2023 13: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: 564a2f88-c8b9-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1679493385;
	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=QtS3YWGo7RY6tVsuPyos429cdA5Trk9Ko9ArMj/GbFM=;
	b=fK7uP+IMVHNflnKM3bx/XPU4DPn1ACpszToPqKW3L3rGZjWIXQocNoFpUtMD8kIw0DR2rh
	MOKXgEA65hG0LXZs4FihyZoer0wYOKj9waA/IYWX0voNyNPo4Q2swxWO6onkDTkPuLrBEY
	nnoCMb6sATReh6isozQhKuWAsq5ERSQ=
X-MC-Unique: GRhCHvTpPwOySiq_XJ8zBQ-1
From: David Howells <dhowells@redhat.com>
To: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
Cc: David Howells <dhowells@redhat.com>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	Matthew Wilcox <willy@infradead.org>,
	Jeff Layton <jlayton@kernel.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	apparmor@lists.ubuntu.com,
	bpf@vger.kernel.org,
	dccp@vger.kernel.org,
	kvm@vger.kernel.org,
	linux-afs@lists.infradead.org,
	linux-arm-msm@vger.kernel.org,
	linux-bluetooth@vger.kernel.org,
	linux-can@vger.kernel.org,
	linux-crypto@vger.kernel.org,
	linux-hams@vger.kernel.org,
	linux-rdma@vger.kernel.org,
	linux-s390@vger.kernel.org,
	linux-sctp@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	linux-wpan@vger.kernel.org,
	linux-x25@vger.kernel.org,
	mptcp@lists.linux.dev,
	rds-devel@oss.oracle.com,
	selinux@vger.kernel.org,
	tipc-discussion@lists.sourceforge.net,
	virtualization@lists.linux-foundation.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH 1/3] net: Drop the size argument from ->sendmsg()
Date: Wed, 22 Mar 2023 13:56:10 +0000
Message-Id: <20230322135612.3265850-2-dhowells@redhat.com>
In-Reply-To: <20230322135612.3265850-1-dhowells@redhat.com>
References: <6419bda5a2b4d_59e87208ca@willemb.c.googlers.com.notmuch>
 <20230322135612.3265850-1-dhowells@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5

The size argument to ->sendmsg() ought to be redundant as the same
information should be conveyed by msg->msg_iter.count as returned by
msg_data_left().

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Eric Dumazet <edumazet@google.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: netdev@vger.kernel.org
cc: apparmor@lists.ubuntu.com
cc: bpf@vger.kernel.org
cc: dccp@vger.kernel.org
cc: kvm@vger.kernel.org
cc: linux-afs@lists.infradead.org
cc: linux-arm-msm@vger.kernel.org
cc: linux-bluetooth@vger.kernel.org
cc: linux-can@vger.kernel.org
cc: linux-crypto@vger.kernel.org
cc: linux-hams@vger.kernel.org
cc: linux-rdma@vger.kernel.org
cc: linux-s390@vger.kernel.org
cc: linux-sctp@vger.kernel.org
cc: linux-security-module@vger.kernel.org
cc: linux-wpan@vger.kernel.org
cc: linux-x25@vger.kernel.org
cc: mptcp@lists.linux.dev
cc: rds-devel@oss.oracle.com
cc: selinux@vger.kernel.org
cc: tipc-discussion@lists.sourceforge.net
cc: virtualization@lists.linux-foundation.org
cc: xen-devel@lists.xenproject.org
---
 crypto/af_alg.c                               | 12 +++----
 crypto/algif_aead.c                           |  9 +++--
 crypto/algif_hash.c                           |  8 ++---
 crypto/algif_rng.c                            |  3 +-
 crypto/algif_skcipher.c                       | 10 +++---
 drivers/isdn/mISDN/socket.c                   |  3 +-
 .../chelsio/inline_crypto/chtls/chtls.h       |  2 +-
 .../chelsio/inline_crypto/chtls/chtls_io.c    | 15 ++++----
 drivers/net/ppp/pppoe.c                       |  4 +--
 drivers/net/tap.c                             |  3 +-
 drivers/net/tun.c                             |  3 +-
 drivers/vhost/net.c                           |  6 ++--
 drivers/xen/pvcalls-back.c                    |  2 +-
 drivers/xen/pvcalls-front.c                   |  4 +--
 drivers/xen/pvcalls-front.h                   |  3 +-
 fs/afs/rxrpc.c                                |  8 ++---
 include/crypto/if_alg.h                       |  3 +-
 include/linux/lsm_hook_defs.h                 |  3 +-
 include/linux/lsm_hooks.h                     |  1 -
 include/linux/net.h                           |  6 ++--
 include/linux/security.h                      |  4 +--
 include/net/af_rxrpc.h                        |  3 +-
 include/net/inet_common.h                     |  2 +-
 include/net/ipv6.h                            |  2 +-
 include/net/ping.h                            |  2 +-
 include/net/sock.h                            |  7 ++--
 include/net/tcp.h                             |  8 ++---
 include/net/udp.h                             |  2 +-
 net/appletalk/ddp.c                           |  3 +-
 net/atm/common.c                              |  3 +-
 net/atm/common.h                              |  2 +-
 net/ax25/af_ax25.c                            |  4 +--
 net/bluetooth/hci_sock.c                      |  4 +--
 net/bluetooth/iso.c                           |  4 +--
 net/bluetooth/l2cap_sock.c                    |  5 ++-
 net/bluetooth/rfcomm/sock.c                   |  7 ++--
 net/bluetooth/sco.c                           |  4 +--
 net/caif/caif_socket.c                        | 13 +++----
 net/can/bcm.c                                 |  3 +-
 net/can/isotp.c                               |  3 +-
 net/can/j1939/socket.c                        |  4 +--
 net/can/raw.c                                 |  3 +-
 net/core/sock.c                               |  4 +--
 net/dccp/dccp.h                               |  2 +-
 net/dccp/proto.c                              |  3 +-
 net/ieee802154/socket.c                       | 11 +++---
 net/ipv4/af_inet.c                            |  4 +--
 net/ipv4/ping.c                               |  8 +++--
 net/ipv4/raw.c                                |  3 +-
 net/ipv4/tcp.c                                | 17 +++++-----
 net/ipv4/tcp_bpf.c                            |  5 +--
 net/ipv4/tcp_input.c                          |  3 +-
 net/ipv4/udp.c                                |  5 +--
 net/ipv6/af_inet6.c                           |  7 ++--
 net/ipv6/ping.c                               |  5 +--
 net/ipv6/raw.c                                |  3 +-
 net/ipv6/udp.c                                |  7 ++--
 net/ipv6/udp_impl.h                           |  2 +-
 net/iucv/af_iucv.c                            |  4 +--
 net/kcm/kcmsock.c                             |  2 +-
 net/key/af_key.c                              |  3 +-
 net/l2tp/l2tp_ip.c                            |  3 +-
 net/l2tp/l2tp_ip6.c                           |  3 +-
 net/l2tp/l2tp_ppp.c                           |  4 +--
 net/llc/af_llc.c                              |  5 ++-
 net/mctp/af_mctp.c                            |  3 +-
 net/mptcp/protocol.c                          |  8 ++---
 net/netlink/af_netlink.c                      | 11 +++---
 net/netrom/af_netrom.c                        |  3 +-
 net/nfc/llcp_sock.c                           |  7 ++--
 net/nfc/rawsock.c                             |  3 +-
 net/packet/af_packet.c                        | 11 +++---
 net/phonet/datagram.c                         |  3 +-
 net/phonet/pep.c                              |  3 +-
 net/phonet/socket.c                           |  5 ++-
 net/qrtr/af_qrtr.c                            |  4 +--
 net/rds/rds.h                                 |  2 +-
 net/rds/send.c                                |  3 +-
 net/rose/af_rose.c                            |  3 +-
 net/rxrpc/af_rxrpc.c                          |  6 ++--
 net/rxrpc/ar-internal.h                       |  2 +-
 net/rxrpc/output.c                            | 22 ++++++------
 net/rxrpc/rxperf.c                            |  4 +--
 net/rxrpc/sendmsg.c                           | 15 ++++----
 net/sctp/socket.c                             |  3 +-
 net/smc/af_smc.c                              |  5 +--
 net/socket.c                                  | 16 ++++-----
 net/tipc/socket.c                             | 34 +++++++++----------
 net/tls/tls.h                                 |  4 +--
 net/tls/tls_device.c                          |  5 +--
 net/tls/tls_sw.c                              |  2 +-
 net/unix/af_unix.c                            | 19 +++++------
 net/vmw_vsock/af_vsock.c                      | 16 ++++-----
 net/x25/af_x25.c                              |  3 +-
 net/xdp/xsk.c                                 |  6 ++--
 net/xfrm/espintcp.c                           |  8 +++--
 security/apparmor/lsm.c                       |  6 ++--
 security/security.c                           |  4 +--
 security/selinux/hooks.c                      |  3 +-
 security/smack/smack_lsm.c                    |  4 +--
 security/tomoyo/common.h                      |  3 +-
 security/tomoyo/network.c                     |  4 +--
 security/tomoyo/tomoyo.c                      |  6 ++--
 103 files changed, 286 insertions(+), 296 deletions(-)

diff --git a/crypto/af_alg.c b/crypto/af_alg.c
index 5f7252a5b7b4..dc49b4e2d719 100644
--- a/crypto/af_alg.c
+++ b/crypto/af_alg.c
@@ -952,19 +952,18 @@ static void af_alg_data_wakeup(struct sock *sk)
  *
  * @sock: socket of connection to user space
  * @msg: message from user space
- * @size: size of message from user space
  * @ivsize: the size of the IV for the cipher operation to verify that the
  *	   user-space-provided IV has the right size
  * Return: the number of copied data upon success, < 0 upon error
  */
-int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size,
-		   unsigned int ivsize)
+int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, unsigned int ivsize)
 {
 	struct sock *sk = sock->sk;
 	struct alg_sock *ask = alg_sk(sk);
 	struct af_alg_ctx *ctx = ask->private;
 	struct af_alg_tsgl *sgl;
 	struct af_alg_control con = {};
+	size_t len;
 	long copied = 0;
 	bool enc = false;
 	bool init = false;
@@ -1012,9 +1011,8 @@ int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size,
 		ctx->aead_assoclen = con.aead_assoclen;
 	}
 
-	while (size) {
+	while ((len = msg_data_left(msg))) {
 		struct scatterlist *sg;
-		size_t len = size;
 		size_t plen;
 
 		/* use the existing memory in an allocated page */
@@ -1037,7 +1035,6 @@ int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size,
 
 			ctx->used += len;
 			copied += len;
-			size -= len;
 			continue;
 		}
 
@@ -1086,11 +1083,10 @@ int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size,
 			len -= plen;
 			ctx->used += plen;
 			copied += plen;
-			size -= plen;
 			sgl->cur++;
 		} while (len && sgl->cur < MAX_SGL_ENTS);
 
-		if (!size)
+		if (!msg_data_left(msg))
 			sg_mark_end(sg + sgl->cur - 1);
 
 		ctx->merge = plen & (PAGE_SIZE - 1);
diff --git a/crypto/algif_aead.c b/crypto/algif_aead.c
index 42493b4d8ce4..1005c755c4c8 100644
--- a/crypto/algif_aead.c
+++ b/crypto/algif_aead.c
@@ -58,7 +58,7 @@ static inline bool aead_sufficient_data(struct sock *sk)
 	return ctx->used >= ctx->aead_assoclen + (ctx->enc ? 0 : as);
 }
 
-static int aead_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
+static int aead_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct alg_sock *ask = alg_sk(sk);
@@ -68,7 +68,7 @@ static int aead_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
 	struct crypto_aead *tfm = aeadc->aead;
 	unsigned int ivsize = crypto_aead_ivsize(tfm);
 
-	return af_alg_sendmsg(sock, msg, size, ivsize);
+	return af_alg_sendmsg(sock, msg, ivsize);
 }
 
 static int crypto_aead_copy_sgl(struct crypto_sync_skcipher *null_tfm,
@@ -408,8 +408,7 @@ static int aead_check_key(struct socket *sock)
 	return err;
 }
 
-static int aead_sendmsg_nokey(struct socket *sock, struct msghdr *msg,
-				  size_t size)
+static int aead_sendmsg_nokey(struct socket *sock, struct msghdr *msg)
 {
 	int err;
 
@@ -417,7 +416,7 @@ static int aead_sendmsg_nokey(struct socket *sock, struct msghdr *msg,
 	if (err)
 		return err;
 
-	return aead_sendmsg(sock, msg, size);
+	return aead_sendmsg(sock, msg);
 }
 
 static ssize_t aead_sendpage_nokey(struct socket *sock, struct page *page,
diff --git a/crypto/algif_hash.c b/crypto/algif_hash.c
index 1d017ec5c63c..9817adecdf1a 100644
--- a/crypto/algif_hash.c
+++ b/crypto/algif_hash.c
@@ -60,8 +60,7 @@ static void hash_free_result(struct sock *sk, struct hash_ctx *ctx)
 	ctx->result = NULL;
 }
 
-static int hash_sendmsg(struct socket *sock, struct msghdr *msg,
-			size_t ignored)
+static int hash_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	int limit = ALG_MAX_PAGES * PAGE_SIZE;
 	struct sock *sk = sock->sk;
@@ -325,8 +324,7 @@ static int hash_check_key(struct socket *sock)
 	return err;
 }
 
-static int hash_sendmsg_nokey(struct socket *sock, struct msghdr *msg,
-			      size_t size)
+static int hash_sendmsg_nokey(struct socket *sock, struct msghdr *msg)
 {
 	int err;
 
@@ -334,7 +332,7 @@ static int hash_sendmsg_nokey(struct socket *sock, struct msghdr *msg,
 	if (err)
 		return err;
 
-	return hash_sendmsg(sock, msg, size);
+	return hash_sendmsg(sock, msg);
 }
 
 static ssize_t hash_sendpage_nokey(struct socket *sock, struct page *page,
diff --git a/crypto/algif_rng.c b/crypto/algif_rng.c
index 407408c43730..f838be6c2fd7 100644
--- a/crypto/algif_rng.c
+++ b/crypto/algif_rng.c
@@ -130,11 +130,12 @@ static int rng_test_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
 	return ret;
 }
 
-static int rng_test_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int rng_test_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	int err;
 	struct alg_sock *ask = alg_sk(sock->sk);
 	struct rng_ctx *ctx = ask->private;
+	size_t len = msg_data_left(msg);
 
 	lock_sock(sock->sk);
 	if (len > MAXSIZE) {
diff --git a/crypto/algif_skcipher.c b/crypto/algif_skcipher.c
index ee8890ee8f33..f5cd9dbbad1b 100644
--- a/crypto/algif_skcipher.c
+++ b/crypto/algif_skcipher.c
@@ -34,8 +34,7 @@
 #include <linux/net.h>
 #include <net/sock.h>
 
-static int skcipher_sendmsg(struct socket *sock, struct msghdr *msg,
-			    size_t size)
+static int skcipher_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct alg_sock *ask = alg_sk(sk);
@@ -44,7 +43,7 @@ static int skcipher_sendmsg(struct socket *sock, struct msghdr *msg,
 	struct crypto_skcipher *tfm = pask->private;
 	unsigned ivsize = crypto_skcipher_ivsize(tfm);
 
-	return af_alg_sendmsg(sock, msg, size, ivsize);
+	return af_alg_sendmsg(sock, msg, ivsize);
 }
 
 static int _skcipher_recvmsg(struct socket *sock, struct msghdr *msg,
@@ -234,8 +233,7 @@ static int skcipher_check_key(struct socket *sock)
 	return err;
 }
 
-static int skcipher_sendmsg_nokey(struct socket *sock, struct msghdr *msg,
-				  size_t size)
+static int skcipher_sendmsg_nokey(struct socket *sock, struct msghdr *msg)
 {
 	int err;
 
@@ -243,7 +241,7 @@ static int skcipher_sendmsg_nokey(struct socket *sock, struct msghdr *msg,
 	if (err)
 		return err;
 
-	return skcipher_sendmsg(sock, msg, size);
+	return skcipher_sendmsg(sock, msg);
 }
 
 static ssize_t skcipher_sendpage_nokey(struct socket *sock, struct page *page,
diff --git a/drivers/isdn/mISDN/socket.c b/drivers/isdn/mISDN/socket.c
index 2776ca5fc33f..4c42d39e994a 100644
--- a/drivers/isdn/mISDN/socket.c
+++ b/drivers/isdn/mISDN/socket.c
@@ -164,10 +164,11 @@ mISDN_sock_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
 }
 
 static int
-mISDN_sock_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+mISDN_sock_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock		*sk = sock->sk;
 	struct sk_buff		*skb;
+	size_t			len = msg_data_left(msg);
 	int			err = -ENOMEM;
 
 	if (*debug & DEBUG_SOCKET)
diff --git a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls.h b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls.h
index 41714203ace8..32077c61273b 100644
--- a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls.h
+++ b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls.h
@@ -565,7 +565,7 @@ void chtls_close(struct sock *sk, long timeout);
 int chtls_disconnect(struct sock *sk, int flags);
 void chtls_shutdown(struct sock *sk, int how);
 void chtls_destroy_sock(struct sock *sk);
-int chtls_sendmsg(struct sock *sk, struct msghdr *msg, size_t size);
+int chtls_sendmsg(struct sock *sk, struct msghdr *msg);
 int chtls_recvmsg(struct sock *sk, struct msghdr *msg,
 		  size_t len, int flags, int *addr_len);
 int chtls_sendpage(struct sock *sk, struct page *page,
diff --git a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_io.c b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_io.c
index ae6b17b96bf1..5782267618cf 100644
--- a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_io.c
+++ b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_io.c
@@ -1004,7 +1004,7 @@ static int chtls_proccess_cmsg(struct sock *sk, struct msghdr *msg,
 	return rc;
 }
 
-int chtls_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
+int chtls_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct chtls_sock *csk = rcu_dereference_sk_user_data(sk);
 	struct chtls_dev *cdev = csk->cdev;
@@ -1058,7 +1058,7 @@ int chtls_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
 					tx_skb_finalize(skb);
 			}
 
-			recordsz = size;
+			recordsz = msg_data_left(msg);
 			csk->tlshws.txleft = recordsz;
 			csk->tlshws.type = record_type;
 		}
@@ -1080,8 +1080,8 @@ int chtls_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
 								 false);
 			} else {
 				skb = get_tx_skb(sk,
-						 select_size(sk, size, flags,
-							     TX_HEADER_LEN));
+						 select_size(sk, msg_data_left(msg),
+							     flags, TX_HEADER_LEN));
 			}
 			if (unlikely(!skb))
 				goto wait_for_memory;
@@ -1089,8 +1089,8 @@ int chtls_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
 			skb->ip_summed = CHECKSUM_UNNECESSARY;
 			copy = mss;
 		}
-		if (copy > size)
-			copy = size;
+		if (copy > msg_data_left(msg))
+			copy = msg_data_left(msg);
 
 		if (skb_tailroom(skb) > 0) {
 			copy = min(copy, skb_tailroom(skb));
@@ -1182,7 +1182,6 @@ int chtls_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
 			tx_skb_finalize(skb);
 		tp->write_seq += copy;
 		copied += copy;
-		size -= copy;
 
 		if (is_tls_tx(csk))
 			csk->tlshws.txleft -= copy;
@@ -1191,7 +1190,7 @@ int chtls_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
 		    (sk_stream_wspace(sk) < sk_stream_min_wspace(sk)))
 			ULP_SKB_CB(skb)->flags |= ULPCB_FLAG_NO_APPEND;
 
-		if (size == 0)
+		if (msg_data_left(msg) == 0)
 			goto out;
 
 		if (ULP_SKB_CB(skb)->flags & ULPCB_FLAG_NO_APPEND)
diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c
index ce2cbb5903d7..7ae28a1f528a 100644
--- a/drivers/net/ppp/pppoe.c
+++ b/drivers/net/ppp/pppoe.c
@@ -833,8 +833,7 @@ static int pppoe_ioctl(struct socket *sock, unsigned int cmd,
 	return err;
 }
 
-static int pppoe_sendmsg(struct socket *sock, struct msghdr *m,
-			 size_t total_len)
+static int pppoe_sendmsg(struct socket *sock, struct msghdr *m)
 {
 	struct sk_buff *skb;
 	struct sock *sk = sock->sk;
@@ -843,6 +842,7 @@ static int pppoe_sendmsg(struct socket *sock, struct msghdr *m,
 	struct pppoe_hdr hdr;
 	struct pppoe_hdr *ph;
 	struct net_device *dev;
+	size_t total_len = msg_data_left(m);
 	char *start;
 	int hlen;
 
diff --git a/drivers/net/tap.c b/drivers/net/tap.c
index ce993cc75bf3..2b076d4a1a58 100644
--- a/drivers/net/tap.c
+++ b/drivers/net/tap.c
@@ -1224,8 +1224,7 @@ static int tap_get_user_xdp(struct tap_queue *q, struct xdp_buff *xdp)
 	return err;
 }
 
-static int tap_sendmsg(struct socket *sock, struct msghdr *m,
-		       size_t total_len)
+static int tap_sendmsg(struct socket *sock, struct msghdr *m)
 {
 	struct tap_queue *q = container_of(sock, struct tap_queue, sock);
 	struct tun_msg_ctl *ctl = m->msg_control;
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 4c7f74904c25..b31d696adafd 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -2531,13 +2531,14 @@ static int tun_xdp_one(struct tun_struct *tun,
 	return ret;
 }
 
-static int tun_sendmsg(struct socket *sock, struct msghdr *m, size_t total_len)
+static int tun_sendmsg(struct socket *sock, struct msghdr *m)
 {
 	int ret, i;
 	struct tun_file *tfile = container_of(sock, struct tun_file, socket);
 	struct tun_struct *tun = tun_get(tfile);
 	struct tun_msg_ctl *ctl = m->msg_control;
 	struct xdp_buff *xdp;
+	size_t total_len = msg_data_left(m);
 
 	if (!tun)
 		return -EBADFD;
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index 07181cd8d52e..ddf01a21f208 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -476,7 +476,7 @@ static void vhost_tx_batch(struct vhost_net *net,
 
 	msghdr->msg_control = &ctl;
 	msghdr->msg_controllen = sizeof(ctl);
-	err = sock->ops->sendmsg(sock, msghdr, 0);
+	err = sock->ops->sendmsg(sock, msghdr);
 	if (unlikely(err < 0)) {
 		vq_err(&nvq->vq, "Fail to batch sending packets\n");
 
@@ -836,7 +836,7 @@ static void handle_tx_copy(struct vhost_net *net, struct socket *sock)
 				msg.msg_flags &= ~MSG_MORE;
 		}
 
-		err = sock->ops->sendmsg(sock, &msg, len);
+		err = sock->ops->sendmsg(sock, &msg);
 		if (unlikely(err < 0)) {
 			if (err == -EAGAIN || err == -ENOMEM || err == -ENOBUFS) {
 				vhost_discard_vq_desc(vq, 1);
@@ -933,7 +933,7 @@ static void handle_tx_zerocopy(struct vhost_net *net, struct socket *sock)
 			msg.msg_flags &= ~MSG_MORE;
 		}
 
-		err = sock->ops->sendmsg(sock, &msg, len);
+		err = sock->ops->sendmsg(sock, &msg);
 		if (unlikely(err < 0)) {
 			if (zcopy_used) {
 				if (vq->heads[ubuf->desc].len == VHOST_DMA_IN_PROGRESS)
diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c
index 1f5219e12cc3..37cfd15b6d9d 100644
--- a/drivers/xen/pvcalls-back.c
+++ b/drivers/xen/pvcalls-back.c
@@ -200,7 +200,7 @@ static bool pvcalls_conn_back_write(struct sock_mapping *map)
 		iov_iter_kvec(&msg.msg_iter, ITER_SOURCE, vec, 2, size);
 	}
 
-	ret = inet_sendmsg(map->sock, &msg, size);
+	ret = inet_sendmsg(map->sock, &msg);
 	if (ret == -EAGAIN) {
 		atomic_inc(&map->write);
 		atomic_inc(&map->io);
diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c
index d5d589bda243..257d92612371 100644
--- a/drivers/xen/pvcalls-front.c
+++ b/drivers/xen/pvcalls-front.c
@@ -531,10 +531,10 @@ static int __write_ring(struct pvcalls_data_intf *intf,
 	return len;
 }
 
-int pvcalls_front_sendmsg(struct socket *sock, struct msghdr *msg,
-			  size_t len)
+int pvcalls_front_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock_mapping *map;
+	size_t len = msg_data_left(msg);
 	int sent, tot_sent = 0;
 	int count = 0, flags;
 
diff --git a/drivers/xen/pvcalls-front.h b/drivers/xen/pvcalls-front.h
index f694ad77379f..f0c5429604e6 100644
--- a/drivers/xen/pvcalls-front.h
+++ b/drivers/xen/pvcalls-front.h
@@ -14,8 +14,7 @@ int pvcalls_front_accept(struct socket *sock,
 			 struct socket *newsock,
 			 int flags);
 int pvcalls_front_sendmsg(struct socket *sock,
-			  struct msghdr *msg,
-			  size_t len);
+			  struct msghdr *msg);
 int pvcalls_front_recvmsg(struct socket *sock,
 			  struct msghdr *msg,
 			  size_t len,
diff --git a/fs/afs/rxrpc.c b/fs/afs/rxrpc.c
index 7817e2b860e5..95ef04862025 100644
--- a/fs/afs/rxrpc.c
+++ b/fs/afs/rxrpc.c
@@ -367,8 +367,7 @@ void afs_make_call(struct afs_addr_cursor *ac, struct afs_call *call, gfp_t gfp)
 	msg.msg_flags		= MSG_WAITALL | (call->write_iter ? MSG_MORE : 0);
 
 	ret = rxrpc_kernel_send_data(call->net->socket, rxcall,
-				     &msg, call->request_size,
-				     afs_notify_end_request_tx);
+				     &msg, afs_notify_end_request_tx);
 	if (ret < 0)
 		goto error_do_abort;
 
@@ -379,7 +378,6 @@ void afs_make_call(struct afs_addr_cursor *ac, struct afs_call *call, gfp_t gfp)
 
 		ret = rxrpc_kernel_send_data(call->net->socket,
 					     call->rxcall, &msg,
-					     iov_iter_count(&msg.msg_iter),
 					     afs_notify_end_request_tx);
 		*call->write_iter = msg.msg_iter;
 
@@ -834,7 +832,7 @@ void afs_send_empty_reply(struct afs_call *call)
 	msg.msg_controllen	= 0;
 	msg.msg_flags		= 0;
 
-	switch (rxrpc_kernel_send_data(net->socket, call->rxcall, &msg, 0,
+	switch (rxrpc_kernel_send_data(net->socket, call->rxcall, &msg,
 				       afs_notify_end_reply_tx)) {
 	case 0:
 		_leave(" [replied]");
@@ -875,7 +873,7 @@ void afs_send_simple_reply(struct afs_call *call, const void *buf, size_t len)
 	msg.msg_controllen	= 0;
 	msg.msg_flags		= 0;
 
-	n = rxrpc_kernel_send_data(net->socket, call->rxcall, &msg, len,
+	n = rxrpc_kernel_send_data(net->socket, call->rxcall, &msg,
 				   afs_notify_end_reply_tx);
 	if (n >= 0) {
 		/* Success */
diff --git a/include/crypto/if_alg.h b/include/crypto/if_alg.h
index 7e76623f9ec3..bcf0077aae6d 100644
--- a/include/crypto/if_alg.h
+++ b/include/crypto/if_alg.h
@@ -228,8 +228,7 @@ void af_alg_pull_tsgl(struct sock *sk, size_t used, struct scatterlist *dst,
 		      size_t dst_offset);
 void af_alg_wmem_wakeup(struct sock *sk);
 int af_alg_wait_for_data(struct sock *sk, unsigned flags, unsigned min);
-int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, size_t size,
-		   unsigned int ivsize);
+int af_alg_sendmsg(struct socket *sock, struct msghdr *msg, unsigned int ivsize);
 ssize_t af_alg_sendpage(struct socket *sock, struct page *page,
 			int offset, size_t size, int flags);
 void af_alg_free_resources(struct af_alg_async_req *areq);
diff --git a/include/linux/lsm_hook_defs.h b/include/linux/lsm_hook_defs.h
index 094b76dc7164..b176525025da 100644
--- a/include/linux/lsm_hook_defs.h
+++ b/include/linux/lsm_hook_defs.h
@@ -298,8 +298,7 @@ LSM_HOOK(int, 0, socket_connect, struct socket *sock, struct sockaddr *address,
 	 int addrlen)
 LSM_HOOK(int, 0, socket_listen, struct socket *sock, int backlog)
 LSM_HOOK(int, 0, socket_accept, struct socket *sock, struct socket *newsock)
-LSM_HOOK(int, 0, socket_sendmsg, struct socket *sock, struct msghdr *msg,
-	 int size)
+LSM_HOOK(int, 0, socket_sendmsg, struct socket *sock, struct msghdr *msg)
 LSM_HOOK(int, 0, socket_recvmsg, struct socket *sock, struct msghdr *msg,
 	 int size, int flags)
 LSM_HOOK(int, 0, socket_getsockname, struct socket *sock)
diff --git a/include/linux/lsm_hooks.h b/include/linux/lsm_hooks.h
index 6e156d2acffc..6f48be80b6bf 100644
--- a/include/linux/lsm_hooks.h
+++ b/include/linux/lsm_hooks.h
@@ -932,7 +932,6 @@
  *	Check permission before transmitting a message to another socket.
  *	@sock contains the socket structure.
  *	@msg contains the message to be transmitted.
- *	@size contains the size of message.
  *	Return 0 if permission is granted.
  * @socket_recvmsg:
  *	Check permission before receiving a message from a socket.
diff --git a/include/linux/net.h b/include/linux/net.h
index b73ad8e3c212..8adf1328445a 100644
--- a/include/linux/net.h
+++ b/include/linux/net.h
@@ -192,8 +192,7 @@ struct proto_ops {
 	int		(*getsockopt)(struct socket *sock, int level,
 				      int optname, char __user *optval, int __user *optlen);
 	void		(*show_fdinfo)(struct seq_file *m, struct socket *sock);
-	int		(*sendmsg)   (struct socket *sock, struct msghdr *m,
-				      size_t total_len);
+	int		(*sendmsg)   (struct socket *sock, struct msghdr *m);
 	/* Notes for implementing recvmsg:
 	 * ===============================
 	 * msg->msg_namelen should get updated by the recvmsg handlers
@@ -222,8 +221,7 @@ struct proto_ops {
 	int		(*read_skb)(struct sock *sk, skb_read_actor_t recv_actor);
 	int		(*sendpage_locked)(struct sock *sk, struct page *page,
 					   int offset, size_t size, int flags);
-	int		(*sendmsg_locked)(struct sock *sk, struct msghdr *msg,
-					  size_t size);
+	int		(*sendmsg_locked)(struct sock *sk, struct msghdr *msg);
 	int		(*set_rcvlowat)(struct sock *sk, int val);
 };
 
diff --git a/include/linux/security.h b/include/linux/security.h
index 5984d0d550b4..6c67a4de4a89 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -1436,7 +1436,7 @@ int security_socket_bind(struct socket *sock, struct sockaddr *address, int addr
 int security_socket_connect(struct socket *sock, struct sockaddr *address, int addrlen);
 int security_socket_listen(struct socket *sock, int backlog);
 int security_socket_accept(struct socket *sock, struct socket *newsock);
-int security_socket_sendmsg(struct socket *sock, struct msghdr *msg, int size);
+int security_socket_sendmsg(struct socket *sock, struct msghdr *msg);
 int security_socket_recvmsg(struct socket *sock, struct msghdr *msg,
 			    int size, int flags);
 int security_socket_getsockname(struct socket *sock);
@@ -1538,7 +1538,7 @@ static inline int security_socket_accept(struct socket *sock,
 }
 
 static inline int security_socket_sendmsg(struct socket *sock,
-					  struct msghdr *msg, int size)
+					  struct msghdr *msg)
 {
 	return 0;
 }
diff --git a/include/net/af_rxrpc.h b/include/net/af_rxrpc.h
index ba717eac0229..33f1b8c622e3 100644
--- a/include/net/af_rxrpc.h
+++ b/include/net/af_rxrpc.h
@@ -51,8 +51,7 @@ struct rxrpc_call *rxrpc_kernel_begin_call(struct socket *,
 					   enum rxrpc_interruptibility,
 					   unsigned int);
 int rxrpc_kernel_send_data(struct socket *, struct rxrpc_call *,
-			   struct msghdr *, size_t,
-			   rxrpc_notify_end_tx_t);
+			   struct msghdr *, rxrpc_notify_end_tx_t);
 int rxrpc_kernel_recv_data(struct socket *, struct rxrpc_call *,
 			   struct iov_iter *, size_t *, bool, u32 *, u16 *);
 bool rxrpc_kernel_abort_call(struct socket *, struct rxrpc_call *,
diff --git a/include/net/inet_common.h b/include/net/inet_common.h
index cec453c18f1d..ec798fdd371c 100644
--- a/include/net/inet_common.h
+++ b/include/net/inet_common.h
@@ -32,7 +32,7 @@ int inet_dgram_connect(struct socket *sock, struct sockaddr *uaddr,
 int inet_accept(struct socket *sock, struct socket *newsock, int flags,
 		bool kern);
 int inet_send_prepare(struct sock *sk);
-int inet_sendmsg(struct socket *sock, struct msghdr *msg, size_t size);
+int inet_sendmsg(struct socket *sock, struct msghdr *msg);
 ssize_t inet_sendpage(struct socket *sock, struct page *page, int offset,
 		      size_t size, int flags);
 int inet_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index 7332296eca44..f2132311e92b 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -1228,7 +1228,7 @@ int inet6_compat_ioctl(struct socket *sock, unsigned int cmd,
 
 int inet6_hash_connect(struct inet_timewait_death_row *death_row,
 			      struct sock *sk);
-int inet6_sendmsg(struct socket *sock, struct msghdr *msg, size_t size);
+int inet6_sendmsg(struct socket *sock, struct msghdr *msg);
 int inet6_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
 		  int flags);
 
diff --git a/include/net/ping.h b/include/net/ping.h
index 9233ad3de0ad..04814edde8e3 100644
--- a/include/net/ping.h
+++ b/include/net/ping.h
@@ -70,7 +70,7 @@ int  ping_getfrag(void *from, char *to, int offset, int fraglen, int odd,
 
 int  ping_recvmsg(struct sock *sk, struct msghdr *msg, size_t len,
 		  int flags, int *addr_len);
-int  ping_common_sendmsg(int family, struct msghdr *msg, size_t len,
+int  ping_common_sendmsg(int family, struct msghdr *msg,
 			 void *user_icmph, size_t icmph_len);
 int  ping_queue_rcv_skb(struct sock *sk, struct sk_buff *skb);
 enum skb_drop_reason ping_rcv(struct sk_buff *skb);
diff --git a/include/net/sock.h b/include/net/sock.h
index 573f2bf7e0de..7a6d06c181b6 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -1261,8 +1261,7 @@ struct proto {
 	int			(*compat_ioctl)(struct sock *sk,
 					unsigned int cmd, unsigned long arg);
 #endif
-	int			(*sendmsg)(struct sock *sk, struct msghdr *msg,
-					   size_t len);
+	int			(*sendmsg)(struct sock *sk, struct msghdr *msg);
 	int			(*recvmsg)(struct sock *sk, struct msghdr *msg,
 					   size_t len, int flags, int *addr_len);
 	int			(*sendpage)(struct sock *sk, struct page *page,
@@ -1901,8 +1900,8 @@ int sock_no_getname(struct socket *, struct sockaddr *, int);
 int sock_no_ioctl(struct socket *, unsigned int, unsigned long);
 int sock_no_listen(struct socket *, int);
 int sock_no_shutdown(struct socket *, int);
-int sock_no_sendmsg(struct socket *, struct msghdr *, size_t);
-int sock_no_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t len);
+int sock_no_sendmsg(struct socket *sk, struct msghdr *msg);
+int sock_no_sendmsg_locked(struct sock *sk, struct msghdr *msg);
 int sock_no_recvmsg(struct socket *, struct msghdr *, size_t, int);
 int sock_no_mmap(struct file *file, struct socket *sock,
 		 struct vm_area_struct *vma);
diff --git a/include/net/tcp.h b/include/net/tcp.h
index a0a91a988272..12b228e3d563 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -325,10 +325,10 @@ int tcp_v4_rcv(struct sk_buff *skb);
 
 void tcp_remove_empty_skb(struct sock *sk);
 int tcp_v4_tw_remember_stamp(struct inet_timewait_sock *tw);
-int tcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size);
-int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size);
+int tcp_sendmsg(struct sock *sk, struct msghdr *msg);
+int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg);
 int tcp_sendmsg_fastopen(struct sock *sk, struct msghdr *msg, int *copied,
-			 size_t size, struct ubuf_info *uarg);
+			 struct ubuf_info *uarg);
 int tcp_sendpage(struct sock *sk, struct page *page, int offset, size_t size,
 		 int flags);
 int tcp_sendpage_locked(struct sock *sk, struct page *page, int offset,
@@ -479,7 +479,7 @@ struct sk_buff *tcp_make_synack(const struct sock *sk, struct dst_entry *dst,
 int tcp_disconnect(struct sock *sk, int flags);
 
 void tcp_finish_connect(struct sock *sk, struct sk_buff *skb);
-int tcp_send_rcvq(struct sock *sk, struct msghdr *msg, size_t size);
+int tcp_send_rcvq(struct sock *sk, struct msghdr *msg);
 void inet_sk_rx_dst_set(struct sock *sk, const struct sk_buff *skb);
 
 /* From syncookies.c */
diff --git a/include/net/udp.h b/include/net/udp.h
index de4b528522bb..b9b2ea5af42d 100644
--- a/include/net/udp.h
+++ b/include/net/udp.h
@@ -277,7 +277,7 @@ int udp_get_port(struct sock *sk, unsigned short snum,
 				  const struct sock *));
 int udp_err(struct sk_buff *, u32);
 int udp_abort(struct sock *sk, int err);
-int udp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len);
+int udp_sendmsg(struct sock *sk, struct msghdr *msg);
 int udp_push_pending_frames(struct sock *sk);
 void udp_flush_pending_frames(struct sock *sk);
 int udp_cmsg_send(struct sock *sk, struct msghdr *msg, u16 *gso_size);
diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c
index a06f4d4a6f47..70008c57503f 100644
--- a/net/appletalk/ddp.c
+++ b/net/appletalk/ddp.c
@@ -1566,7 +1566,7 @@ static int ltalk_rcv(struct sk_buff *skb, struct net_device *dev,
 	return 0;
 }
 
-static int atalk_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int atalk_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct atalk_sock *at = at_sk(sk);
@@ -1579,6 +1579,7 @@ static int atalk_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 	struct ddpehdr *ddp;
 	int size, hard_header_len;
 	struct atalk_route *rt, *rt_lo = NULL;
+	size_t len = msg_data_left(msg);
 	int err;
 
 	if (flags & ~(MSG_DONTWAIT|MSG_CMSG_COMPAT))
diff --git a/net/atm/common.c b/net/atm/common.c
index f7019df41c3e..09060644760b 100644
--- a/net/atm/common.c
+++ b/net/atm/common.c
@@ -565,12 +565,13 @@ int vcc_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
 	return copied;
 }
 
-int vcc_sendmsg(struct socket *sock, struct msghdr *m, size_t size)
+int vcc_sendmsg(struct socket *sock, struct msghdr *m)
 {
 	struct sock *sk = sock->sk;
 	DEFINE_WAIT(wait);
 	struct atm_vcc *vcc;
 	struct sk_buff *skb;
+	size_t size = msg_data_left(m);
 	int eff, error;
 
 	lock_sock(sk);
diff --git a/net/atm/common.h b/net/atm/common.h
index a1e56e8de698..6597f8308f03 100644
--- a/net/atm/common.h
+++ b/net/atm/common.h
@@ -16,7 +16,7 @@ int vcc_release(struct socket *sock);
 int vcc_connect(struct socket *sock, int itf, short vpi, int vci);
 int vcc_recvmsg(struct socket *sock, struct msghdr *msg, size_t size,
 		int flags);
-int vcc_sendmsg(struct socket *sock, struct msghdr *m, size_t total_len);
+int vcc_sendmsg(struct socket *sock, struct msghdr *m);
 __poll_t vcc_poll(struct file *file, struct socket *sock, poll_table *wait);
 int vcc_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg);
 int vcc_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg);
diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c
index d8da400cb4de..48f96e28f7ea 100644
--- a/net/ax25/af_ax25.c
+++ b/net/ax25/af_ax25.c
@@ -1489,7 +1489,7 @@ static int ax25_getname(struct socket *sock, struct sockaddr *uaddr,
 	return err;
 }
 
-static int ax25_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int ax25_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	DECLARE_SOCKADDR(struct sockaddr_ax25 *, usax, msg->msg_name);
 	struct sock *sk = sock->sk;
@@ -1497,7 +1497,7 @@ static int ax25_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 	struct sk_buff *skb;
 	ax25_digi dtmp, *dp;
 	ax25_cb *ax25;
-	size_t size;
+	size_t size, len = msg_data_left(msg);
 	int lv, err, addr_len = msg->msg_namelen;
 
 	if (msg->msg_flags & ~(MSG_DONTWAIT|MSG_EOR|MSG_CMSG_COMPAT))
diff --git a/net/bluetooth/hci_sock.c b/net/bluetooth/hci_sock.c
index 06581223238c..9d6f713eeac1 100644
--- a/net/bluetooth/hci_sock.c
+++ b/net/bluetooth/hci_sock.c
@@ -1692,8 +1692,7 @@ static int hci_logging_frame(struct sock *sk, struct sk_buff *skb,
 	return err;
 }
 
-static int hci_sock_sendmsg(struct socket *sock, struct msghdr *msg,
-			    size_t len)
+static int hci_sock_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct hci_mgmt_chan *chan;
@@ -1701,6 +1700,7 @@ static int hci_sock_sendmsg(struct socket *sock, struct msghdr *msg,
 	struct sk_buff *skb;
 	int err;
 	const unsigned int flags = msg->msg_flags;
+	size_t len = msg_data_left(msg);
 
 	BT_DBG("sock %p sk %p", sock, sk);
 
diff --git a/net/bluetooth/iso.c b/net/bluetooth/iso.c
index 24444b502e58..6d8863878abc 100644
--- a/net/bluetooth/iso.c
+++ b/net/bluetooth/iso.c
@@ -1031,12 +1031,12 @@ static int iso_sock_getname(struct socket *sock, struct sockaddr *addr,
 	return sizeof(struct sockaddr_iso);
 }
 
-static int iso_sock_sendmsg(struct socket *sock, struct msghdr *msg,
-			    size_t len)
+static int iso_sock_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct iso_conn *conn = iso_pi(sk)->conn;
 	struct sk_buff *skb, **frag;
+	size_t len = msg_data_left(msg);
 	int err;
 
 	BT_DBG("sock %p, sk %p", sock, sk);
diff --git a/net/bluetooth/l2cap_sock.c b/net/bluetooth/l2cap_sock.c
index eebe256104bc..d488aca82037 100644
--- a/net/bluetooth/l2cap_sock.c
+++ b/net/bluetooth/l2cap_sock.c
@@ -1143,8 +1143,7 @@ static int l2cap_sock_setsockopt(struct socket *sock, int level, int optname,
 	return err;
 }
 
-static int l2cap_sock_sendmsg(struct socket *sock, struct msghdr *msg,
-			      size_t len)
+static int l2cap_sock_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct l2cap_chan *chan = l2cap_pi(sk)->chan;
@@ -1169,7 +1168,7 @@ static int l2cap_sock_sendmsg(struct socket *sock, struct msghdr *msg,
 		return err;
 
 	l2cap_chan_lock(chan);
-	err = l2cap_chan_send(chan, msg, len);
+	err = l2cap_chan_send(chan, msg, msg_data_left(msg));
 	l2cap_chan_unlock(chan);
 
 	return err;
diff --git a/net/bluetooth/rfcomm/sock.c b/net/bluetooth/rfcomm/sock.c
index 4397e14ff560..8a0a51b5c3a3 100644
--- a/net/bluetooth/rfcomm/sock.c
+++ b/net/bluetooth/rfcomm/sock.c
@@ -558,8 +558,7 @@ static int rfcomm_sock_getname(struct socket *sock, struct sockaddr *addr, int p
 	return sizeof(struct sockaddr_rc);
 }
 
-static int rfcomm_sock_sendmsg(struct socket *sock, struct msghdr *msg,
-			       size_t len)
+static int rfcomm_sock_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct rfcomm_dlc *d = rfcomm_pi(sk)->dlc;
@@ -586,8 +585,8 @@ static int rfcomm_sock_sendmsg(struct socket *sock, struct msghdr *msg,
 	if (sent)
 		return sent;
 
-	skb = bt_skb_sendmmsg(sk, msg, len, d->mtu, RFCOMM_SKB_HEAD_RESERVE,
-			      RFCOMM_SKB_TAIL_RESERVE);
+	skb = bt_skb_sendmmsg(sk, msg, msg_data_left(msg), d->mtu,
+			      RFCOMM_SKB_HEAD_RESERVE, RFCOMM_SKB_TAIL_RESERVE);
 	if (IS_ERR(skb))
 		return PTR_ERR(skb);
 
diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
index 1111da4e2f2b..8c62c5dc5b57 100644
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
@@ -722,11 +722,11 @@ static int sco_sock_getname(struct socket *sock, struct sockaddr *addr,
 	return sizeof(struct sockaddr_sco);
 }
 
-static int sco_sock_sendmsg(struct socket *sock, struct msghdr *msg,
-			    size_t len)
+static int sco_sock_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct sk_buff *skb;
+	size_t len = msg_data_left(msg);
 	int err;
 
 	BT_DBG("sock %p, sk %p", sock, sk);
diff --git a/net/caif/caif_socket.c b/net/caif/caif_socket.c
index 4eebcc66c19a..827230b3f7c3 100644
--- a/net/caif/caif_socket.c
+++ b/net/caif/caif_socket.c
@@ -510,8 +510,7 @@ static int transmit_skb(struct sk_buff *skb, struct caifsock *cf_sk,
 }
 
 /* Copied from af_unix:unix_dgram_sendmsg, and adapted to CAIF */
-static int caif_seqpkt_sendmsg(struct socket *sock, struct msghdr *msg,
-			       size_t len)
+static int caif_seqpkt_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct caifsock *cf_sk = container_of(sk, struct caifsock, sk);
@@ -520,6 +519,8 @@ static int caif_seqpkt_sendmsg(struct socket *sock, struct msghdr *msg,
 	struct sk_buff *skb = NULL;
 	int noblock;
 	long timeo;
+	size_t len = msg_data_left(msg);
+
 	caif_assert(cf_sk);
 	ret = sock_error(sk);
 	if (ret)
@@ -582,8 +583,7 @@ static int caif_seqpkt_sendmsg(struct socket *sock, struct msghdr *msg,
  * Changed removed permission handling and added waiting for flow on
  * and other minor adaptations.
  */
-static int caif_stream_sendmsg(struct socket *sock, struct msghdr *msg,
-			       size_t len)
+static int caif_stream_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct caifsock *cf_sk = container_of(sk, struct caifsock, sk);
@@ -605,10 +605,7 @@ static int caif_stream_sendmsg(struct socket *sock, struct msghdr *msg,
 	if (unlikely(sk->sk_shutdown & SEND_SHUTDOWN))
 		goto pipe_err;
 
-	while (sent < len) {
-
-		size = len-sent;
-
+	while ((size = msg_data_left(msg))) {
 		if (size > cf_sk->maxframe)
 			size = cf_sk->maxframe;
 
diff --git a/net/can/bcm.c b/net/can/bcm.c
index 27706f6ace34..9baace5e0d71 100644
--- a/net/can/bcm.c
+++ b/net/can/bcm.c
@@ -1287,12 +1287,13 @@ static int bcm_tx_send(struct msghdr *msg, int ifindex, struct sock *sk,
 /*
  * bcm_sendmsg - process BCM commands (opcodes) from the userspace
  */
-static int bcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
+static int bcm_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct bcm_sock *bo = bcm_sk(sk);
 	int ifindex = bo->ifindex; /* default ifindex for this bcm_op */
 	struct bcm_msg_head msg_head;
+	size_t size = msg_data_left(msg);
 	int cfsiz;
 	int ret; /* read bytes or error codes as return value */
 
diff --git a/net/can/isotp.c b/net/can/isotp.c
index 9bc344851704..6b5d3ebd6748 100644
--- a/net/can/isotp.c
+++ b/net/can/isotp.c
@@ -914,7 +914,7 @@ static enum hrtimer_restart isotp_txfr_timer_handler(struct hrtimer *hrtimer)
 	return HRTIMER_NORESTART;
 }
 
-static int isotp_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
+static int isotp_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct isotp_sock *so = isotp_sk(sk);
@@ -922,6 +922,7 @@ static int isotp_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
 	struct sk_buff *skb;
 	struct net_device *dev;
 	struct canfd_frame *cf;
+	size_t size = msg_data_left(msg);
 	int ae = (so->opt.flags & CAN_ISOTP_EXTEND_ADDR) ? 1 : 0;
 	int wait_tx_done = (so->opt.flags & CAN_ISOTP_WAIT_TX_DONE) ? 1 : 0;
 	s64 hrtimer_sec = ISOTP_ECHO_TIMEOUT;
diff --git a/net/can/j1939/socket.c b/net/can/j1939/socket.c
index 7e90f9e61d9b..2b009b69e853 100644
--- a/net/can/j1939/socket.c
+++ b/net/can/j1939/socket.c
@@ -1187,12 +1187,12 @@ static int j1939_sk_send_loop(struct j1939_priv *priv,  struct sock *sk,
 	return ret;
 }
 
-static int j1939_sk_sendmsg(struct socket *sock, struct msghdr *msg,
-			    size_t size)
+static int j1939_sk_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct j1939_sock *jsk = j1939_sk(sk);
 	struct j1939_priv *priv;
+	size_t size = msg_data_left(msg);
 	int ifindex;
 	int ret;
 
diff --git a/net/can/raw.c b/net/can/raw.c
index f64469b98260..0c37f1c70685 100644
--- a/net/can/raw.c
+++ b/net/can/raw.c
@@ -814,13 +814,14 @@ static bool raw_bad_txframe(struct raw_sock *ro, struct sk_buff *skb, int mtu)
 	return true;
 }
 
-static int raw_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
+static int raw_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct raw_sock *ro = raw_sk(sk);
 	struct sockcm_cookie sockc;
 	struct sk_buff *skb;
 	struct net_device *dev;
+	size_t size = msg_data_left(msg);
 	int ifindex;
 	int err = -EINVAL;
 
diff --git a/net/core/sock.c b/net/core/sock.c
index c25888795390..4170381356aa 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -3183,13 +3183,13 @@ int sock_no_shutdown(struct socket *sock, int how)
 }
 EXPORT_SYMBOL(sock_no_shutdown);
 
-int sock_no_sendmsg(struct socket *sock, struct msghdr *m, size_t len)
+int sock_no_sendmsg(struct socket *sock, struct msghdr *m)
 {
 	return -EOPNOTSUPP;
 }
 EXPORT_SYMBOL(sock_no_sendmsg);
 
-int sock_no_sendmsg_locked(struct sock *sk, struct msghdr *m, size_t len)
+int sock_no_sendmsg_locked(struct sock *sk, struct msghdr *m)
 {
 	return -EOPNOTSUPP;
 }
diff --git a/net/dccp/dccp.h b/net/dccp/dccp.h
index 9ddc3a9e89e4..3d5d7615ddd8 100644
--- a/net/dccp/dccp.h
+++ b/net/dccp/dccp.h
@@ -293,7 +293,7 @@ int dccp_getsockopt(struct sock *sk, int level, int optname,
 int dccp_setsockopt(struct sock *sk, int level, int optname,
 		    sockptr_t optval, unsigned int optlen);
 int dccp_ioctl(struct sock *sk, int cmd, unsigned long arg);
-int dccp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size);
+int dccp_sendmsg(struct sock *sk, struct msghdr *msg);
 int dccp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int flags,
 		 int *addr_len);
 void dccp_shutdown(struct sock *sk, int how);
diff --git a/net/dccp/proto.c b/net/dccp/proto.c
index a06b5641287a..6f6623bb1ff8 100644
--- a/net/dccp/proto.c
+++ b/net/dccp/proto.c
@@ -725,12 +725,13 @@ static int dccp_msghdr_parse(struct msghdr *msg, struct sk_buff *skb)
 	return 0;
 }
 
-int dccp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
+int dccp_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	const struct dccp_sock *dp = dccp_sk(sk);
 	const int flags = msg->msg_flags;
 	const int noblock = flags & MSG_DONTWAIT;
 	struct sk_buff *skb;
+	size_t len = msg_data_left(msg);
 	int rc, size;
 	long timeo;
 
diff --git a/net/ieee802154/socket.c b/net/ieee802154/socket.c
index 1fa2fe041ec0..70f2948b7946 100644
--- a/net/ieee802154/socket.c
+++ b/net/ieee802154/socket.c
@@ -88,12 +88,11 @@ static int ieee802154_sock_release(struct socket *sock)
 	return 0;
 }
 
-static int ieee802154_sock_sendmsg(struct socket *sock, struct msghdr *msg,
-				   size_t len)
+static int ieee802154_sock_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 
-	return sk->sk_prot->sendmsg(sk, msg, len);
+	return sk->sk_prot->sendmsg(sk, msg);
 }
 
 static int ieee802154_sock_bind(struct socket *sock, struct sockaddr *uaddr,
@@ -238,11 +237,12 @@ static int raw_disconnect(struct sock *sk, int flags)
 	return 0;
 }
 
-static int raw_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
+static int raw_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct net_device *dev;
 	unsigned int mtu;
 	struct sk_buff *skb;
+	size_t size = msg_data_left(msg);
 	int hlen, tlen;
 	int err;
 
@@ -605,7 +605,7 @@ static int dgram_disconnect(struct sock *sk, int flags)
 	return 0;
 }
 
-static int dgram_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
+static int dgram_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct net_device *dev;
 	unsigned int mtu;
@@ -614,6 +614,7 @@ static int dgram_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
 	struct dgram_sock *ro = dgram_sk(sk);
 	struct ieee802154_addr dst_addr;
 	DECLARE_SOCKADDR(struct sockaddr_ieee802154*, daddr, msg->msg_name);
+	size_t size = msg_data_left(msg);
 	int hlen, tlen;
 	int err;
 
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c
index 940062e08f57..4facfef8bded 100644
--- a/net/ipv4/af_inet.c
+++ b/net/ipv4/af_inet.c
@@ -815,7 +815,7 @@ int inet_send_prepare(struct sock *sk)
 }
 EXPORT_SYMBOL_GPL(inet_send_prepare);
 
-int inet_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
+int inet_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 
@@ -823,7 +823,7 @@ int inet_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
 		return -EAGAIN;
 
 	return INDIRECT_CALL_2(sk->sk_prot->sendmsg, tcp_sendmsg, udp_sendmsg,
-			       sk, msg, size);
+			       sk, msg);
 }
 EXPORT_SYMBOL(inet_sendmsg);
 
diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c
index 409ec2a1f95b..f689f9f530c9 100644
--- a/net/ipv4/ping.c
+++ b/net/ipv4/ping.c
@@ -657,9 +657,10 @@ static int ping_v4_push_pending_frames(struct sock *sk, struct pingfakehdr *pfh,
 	return ip_push_pending_frames(sk, fl4);
 }
 
-int ping_common_sendmsg(int family, struct msghdr *msg, size_t len,
+int ping_common_sendmsg(int family, struct msghdr *msg,
 			void *user_icmph, size_t icmph_len)
 {
+	size_t len = msg_data_left(msg);
 	u8 type, code;
 
 	if (len > 0xFFFF)
@@ -703,7 +704,7 @@ int ping_common_sendmsg(int family, struct msghdr *msg, size_t len,
 }
 EXPORT_SYMBOL_GPL(ping_common_sendmsg);
 
-static int ping_v4_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
+static int ping_v4_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct net *net = sock_net(sk);
 	struct flowi4 fl4;
@@ -713,6 +714,7 @@ static int ping_v4_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
 	struct pingfakehdr pfh;
 	struct rtable *rt = NULL;
 	struct ip_options_data opt_copy;
+	size_t len = msg_data_left(msg);
 	int free = 0;
 	__be32 saddr, daddr, faddr;
 	u8  tos;
@@ -720,7 +722,7 @@ static int ping_v4_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
 
 	pr_debug("ping_v4_sendmsg(sk=%p,sk->num=%u)\n", inet, inet->inet_num);
 
-	err = ping_common_sendmsg(AF_INET, msg, len, &user_icmph,
+	err = ping_common_sendmsg(AF_INET, msg, &user_icmph,
 				  sizeof(user_icmph));
 	if (err)
 		return err;
diff --git a/net/ipv4/raw.c b/net/ipv4/raw.c
index 3cf68695b40d..f2859c117796 100644
--- a/net/ipv4/raw.c
+++ b/net/ipv4/raw.c
@@ -471,7 +471,7 @@ static int raw_getfrag(void *from, char *to, int offset, int len, int odd,
 	return ip_generic_getfrag(rfv->msg, to, offset, len, odd, skb);
 }
 
-static int raw_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
+static int raw_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct inet_sock *inet = inet_sk(sk);
 	struct net *net = sock_net(sk);
@@ -485,6 +485,7 @@ static int raw_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
 	int err;
 	struct ip_options_data opt_copy;
 	struct raw_frag_vec rfv;
+	size_t len = msg_data_left(msg);
 	int hdrincl;
 
 	err = -EMSGSIZE;
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index fd68d49490f2..2a98b104892c 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -1166,7 +1166,7 @@ void tcp_free_fastopen_req(struct tcp_sock *tp)
 }
 
 int tcp_sendmsg_fastopen(struct sock *sk, struct msghdr *msg, int *copied,
-			 size_t size, struct ubuf_info *uarg)
+			 struct ubuf_info *uarg)
 {
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct inet_sock *inet = inet_sk(sk);
@@ -1186,7 +1186,7 @@ int tcp_sendmsg_fastopen(struct sock *sk, struct msghdr *msg, int *copied,
 	if (unlikely(!tp->fastopen_req))
 		return -ENOBUFS;
 	tp->fastopen_req->data = msg;
-	tp->fastopen_req->size = size;
+	tp->fastopen_req->size = msg_data_left(msg);
 	tp->fastopen_req->uarg = uarg;
 
 	if (inet->defer_connect) {
@@ -1212,12 +1212,13 @@ int tcp_sendmsg_fastopen(struct sock *sk, struct msghdr *msg, int *copied,
 	return err;
 }
 
-int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size)
+int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg)
 {
 	struct tcp_sock *tp = tcp_sk(sk);
 	struct ubuf_info *uarg = NULL;
 	struct sk_buff *skb;
 	struct sockcm_cookie sockc;
+	size_t size = msg_data_left(msg);
 	int flags, err, copied = 0;
 	int mss_now = 0, size_goal, copied_syn = 0;
 	int process_backlog = 0;
@@ -1226,7 +1227,7 @@ int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size)
 
 	flags = msg->msg_flags;
 
-	if ((flags & MSG_ZEROCOPY) && size) {
+	if ((flags & MSG_ZEROCOPY) && msg_data_left(msg)) {
 		skb = tcp_write_queue_tail(sk);
 
 		if (msg->msg_ubuf) {
@@ -1247,7 +1248,7 @@ int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size)
 
 	if (unlikely(flags & MSG_FASTOPEN || inet_sk(sk)->defer_connect) &&
 	    !tp->repair) {
-		err = tcp_sendmsg_fastopen(sk, msg, &copied_syn, size, uarg);
+		err = tcp_sendmsg_fastopen(sk, msg, &copied_syn, uarg);
 		if (err == -EINPROGRESS && copied_syn > 0)
 			goto out;
 		else if (err)
@@ -1271,7 +1272,7 @@ int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size)
 
 	if (unlikely(tp->repair)) {
 		if (tp->repair_queue == TCP_RECV_QUEUE) {
-			copied = tcp_send_rcvq(sk, msg, size);
+			copied = tcp_send_rcvq(sk, msg);
 			goto out_nopush;
 		}
 
@@ -1477,12 +1478,12 @@ int tcp_sendmsg_locked(struct sock *sk, struct msghdr *msg, size_t size)
 }
 EXPORT_SYMBOL_GPL(tcp_sendmsg_locked);
 
-int tcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
+int tcp_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	int ret;
 
 	lock_sock(sk);
-	ret = tcp_sendmsg_locked(sk, msg, size);
+	ret = tcp_sendmsg_locked(sk, msg);
 	release_sock(sk);
 
 	return ret;
diff --git a/net/ipv4/tcp_bpf.c b/net/ipv4/tcp_bpf.c
index ebf917511937..843eb2b6b8d3 100644
--- a/net/ipv4/tcp_bpf.c
+++ b/net/ipv4/tcp_bpf.c
@@ -396,9 +396,10 @@ static int tcp_bpf_send_verdict(struct sock *sk, struct sk_psock *psock,
 	return ret;
 }
 
-static int tcp_bpf_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
+static int tcp_bpf_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct sk_msg tmp, *msg_tx = NULL;
+	size_t size = msg_data_left(msg);
 	int copied = 0, err = 0;
 	struct sk_psock *psock;
 	long timeo;
@@ -410,7 +411,7 @@ static int tcp_bpf_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
 
 	psock = sk_psock_get(sk);
 	if (unlikely(!psock))
-		return tcp_sendmsg(sk, msg, size);
+		return tcp_sendmsg(sk, msg);
 
 	lock_sock(sk);
 	timeo = sock_sndtimeo(sk, msg->msg_flags & MSG_DONTWAIT);
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 2b75cd9e2e92..a1c7d834abca 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -4948,9 +4948,10 @@ static int __must_check tcp_queue_rcv(struct sock *sk, struct sk_buff *skb,
 	return eaten;
 }
 
-int tcp_send_rcvq(struct sock *sk, struct msghdr *msg, size_t size)
+int tcp_send_rcvq(struct sock *sk, struct msghdr *msg)
 {
 	struct sk_buff *skb;
+	size_t size = msg_data_left(msg);
 	int err = -ENOMEM;
 	int data_len = 0;
 	bool fragstolen;
diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
index aa32afd871ee..b2ed9d37a362 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -1049,13 +1049,14 @@ int udp_cmsg_send(struct sock *sk, struct msghdr *msg, u16 *gso_size)
 }
 EXPORT_SYMBOL_GPL(udp_cmsg_send);
 
-int udp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
+int udp_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct inet_sock *inet = inet_sk(sk);
 	struct udp_sock *up = udp_sk(sk);
 	DECLARE_SOCKADDR(struct sockaddr_in *, usin, msg->msg_name);
 	struct flowi4 fl4_stack;
 	struct flowi4 *fl4;
+	unsigned int len = msg_data_left(msg);
 	int ulen = len;
 	struct ipcm_cookie ipc;
 	struct rtable *rt = NULL;
@@ -1346,7 +1347,7 @@ int udp_sendpage(struct sock *sk, struct page *page, int offset,
 		 * sendpage interface can't pass.
 		 * This will succeed only when the socket is connected.
 		 */
-		ret = udp_sendmsg(sk, &msg, 0);
+		ret = udp_sendmsg(sk, &msg);
 		if (ret < 0)
 			return ret;
 	}
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c
index e1b679a590c9..d6b4cfc44e2a 100644
--- a/net/ipv6/af_inet6.c
+++ b/net/ipv6/af_inet6.c
@@ -636,9 +636,8 @@ int inet6_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
 EXPORT_SYMBOL_GPL(inet6_compat_ioctl);
 #endif /* CONFIG_COMPAT */
 
-INDIRECT_CALLABLE_DECLARE(int udpv6_sendmsg(struct sock *, struct msghdr *,
-					    size_t));
-int inet6_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
+INDIRECT_CALLABLE_DECLARE(int udpv6_sendmsg(struct sock *, struct msghdr *));
+int inet6_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	const struct proto *prot;
@@ -649,7 +648,7 @@ int inet6_sendmsg(struct socket *sock, struct msghdr *msg, size_t size)
 	/* IPV6_ADDRFORM can change sk->sk_prot under us. */
 	prot = READ_ONCE(sk->sk_prot);
 	return INDIRECT_CALL_2(prot->sendmsg, tcp_sendmsg, udpv6_sendmsg,
-			       sk, msg, size);
+			       sk, msg);
 }
 
 INDIRECT_CALLABLE_DECLARE(int udpv6_recvmsg(struct sock *, struct msghdr *,
diff --git a/net/ipv6/ping.c b/net/ipv6/ping.c
index c4835dbdfcff..54c94b28744f 100644
--- a/net/ipv6/ping.c
+++ b/net/ipv6/ping.c
@@ -59,7 +59,7 @@ static int ping_v6_pre_connect(struct sock *sk, struct sockaddr *uaddr,
 	return BPF_CGROUP_RUN_PROG_INET6_CONNECT_LOCK(sk, uaddr);
 }
 
-static int ping_v6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
+static int ping_v6_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct inet_sock *inet = inet_sk(sk);
 	struct ipv6_pinfo *np = inet6_sk(sk);
@@ -73,8 +73,9 @@ static int ping_v6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
 	struct rt6_info *rt;
 	struct pingfakehdr pfh;
 	struct ipcm6_cookie ipc6;
+	size_t len = msg_data_left(msg);
 
-	err = ping_common_sendmsg(AF_INET6, msg, len, &user_icmph,
+	err = ping_common_sendmsg(AF_INET6, msg, &user_icmph,
 				  sizeof(user_icmph));
 	if (err)
 		return err;
diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c
index 6ac2f2690c44..a3437deeeb74 100644
--- a/net/ipv6/raw.c
+++ b/net/ipv6/raw.c
@@ -735,7 +735,7 @@ static int raw6_getfrag(void *from, char *to, int offset, int len, int odd,
 	return ip_generic_getfrag(rfv->msg, to, offset, len, odd, skb);
 }
 
-static int rawv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
+static int rawv6_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct ipv6_txoptions *opt_to_free = NULL;
 	struct ipv6_txoptions opt_space;
@@ -751,6 +751,7 @@ static int rawv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
 	struct flowi6 fl6;
 	struct ipcm6_cookie ipc6;
 	int addr_len = msg->msg_namelen;
+	size_t len = msg_data_left(msg);
 	int hdrincl;
 	u16 proto;
 	int err;
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c
index d350e57c4792..80f2eb58ba1a 100644
--- a/net/ipv6/udp.c
+++ b/net/ipv6/udp.c
@@ -1326,7 +1326,7 @@ static int udp_v6_push_pending_frames(struct sock *sk)
 	return err;
 }
 
-int udpv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
+int udpv6_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct ipv6_txoptions opt_space;
 	struct udp_sock *up = udp_sk(sk);
@@ -1343,6 +1343,7 @@ int udpv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
 	struct ipcm6_cookie ipc6;
 	int addr_len = msg->msg_namelen;
 	bool connected = false;
+	size_t len = msg_data_left(msg);
 	int ulen = len;
 	int corkreq = READ_ONCE(up->corkflag) || msg->msg_flags&MSG_MORE;
 	int err;
@@ -1397,7 +1398,7 @@ int udpv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
 do_udp_sendmsg:
 			if (ipv6_only_sock(sk))
 				return -ENETUNREACH;
-			return udp_sendmsg(sk, msg, len);
+			return udp_sendmsg(sk, msg);
 		}
 	}
 
@@ -1410,7 +1411,7 @@ int udpv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
 	getfrag  =  is_udplite ?  udplite_getfrag : ip_generic_getfrag;
 	if (up->pending) {
 		if (up->pending == AF_INET)
-			return udp_sendmsg(sk, msg, len);
+			return udp_sendmsg(sk, msg);
 		/*
 		 * There are pending frames.
 		 * The socket lock must be held while it's corked.
diff --git a/net/ipv6/udp_impl.h b/net/ipv6/udp_impl.h
index 0590f566379d..c905a5cb34af 100644
--- a/net/ipv6/udp_impl.h
+++ b/net/ipv6/udp_impl.h
@@ -20,7 +20,7 @@ int udpv6_getsockopt(struct sock *sk, int level, int optname,
 		     char __user *optval, int __user *optlen);
 int udpv6_setsockopt(struct sock *sk, int level, int optname, sockptr_t optval,
 		     unsigned int optlen);
-int udpv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len);
+int udpv6_sendmsg(struct sock *sk, struct msghdr *msg);
 int udpv6_recvmsg(struct sock *sk, struct msghdr *msg, size_t len, int flags,
 		  int *addr_len);
 void udpv6_destroy_sock(struct sock *sk);
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c
index 498a0c35b7bb..d963d245a4e2 100644
--- a/net/iucv/af_iucv.c
+++ b/net/iucv/af_iucv.c
@@ -895,8 +895,7 @@ static int iucv_send_iprm(struct iucv_path *path, struct iucv_message *msg,
 				 (void *) prmdata, 8);
 }
 
-static int iucv_sock_sendmsg(struct socket *sock, struct msghdr *msg,
-			     size_t len)
+static int iucv_sock_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct iucv_sock *iucv = iucv_sk(sk);
@@ -905,6 +904,7 @@ static int iucv_sock_sendmsg(struct socket *sock, struct msghdr *msg,
 	struct sk_buff *skb;
 	struct iucv_message txmsg = {0};
 	struct cmsghdr *cmsg;
+	size_t len = msg_data_left(msg);
 	int cmsg_done;
 	long timeo;
 	char user_id[9];
diff --git a/net/kcm/kcmsock.c b/net/kcm/kcmsock.c
index cfe828bd7fc6..caf13ed1bfeb 100644
--- a/net/kcm/kcmsock.c
+++ b/net/kcm/kcmsock.c
@@ -904,7 +904,7 @@ static ssize_t kcm_sendpage(struct socket *sock, struct page *page,
 	return err;
 }
 
-static int kcm_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int kcm_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct kcm_sock *kcm = kcm_sk(sk);
diff --git a/net/key/af_key.c b/net/key/af_key.c
index a815f5ab4c49..3cde1e0c3119 100644
--- a/net/key/af_key.c
+++ b/net/key/af_key.c
@@ -3662,13 +3662,14 @@ static int pfkey_send_migrate(const struct xfrm_selector *sel, u8 dir, u8 type,
 }
 #endif
 
-static int pfkey_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int pfkey_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct sk_buff *skb = NULL;
 	struct sadb_msg *hdr = NULL;
 	int err;
 	struct net *net = sock_net(sk);
+	size_t len = msg_data_left(msg);
 
 	err = -EOPNOTSUPP;
 	if (msg->msg_flags & MSG_OOB)
diff --git a/net/l2tp/l2tp_ip.c b/net/l2tp/l2tp_ip.c
index 4db5a554bdbd..474ce4ae9b63 100644
--- a/net/l2tp/l2tp_ip.c
+++ b/net/l2tp/l2tp_ip.c
@@ -394,13 +394,14 @@ static int l2tp_ip_backlog_recv(struct sock *sk, struct sk_buff *skb)
 /* Userspace will call sendmsg() on the tunnel socket to send L2TP
  * control frames.
  */
-static int l2tp_ip_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
+static int l2tp_ip_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct sk_buff *skb;
 	int rc;
 	struct inet_sock *inet = inet_sk(sk);
 	struct rtable *rt = NULL;
 	struct flowi4 *fl4;
+	size_t len = msg_data_left(msg);
 	int connected = 0;
 	__be32 daddr;
 
diff --git a/net/l2tp/l2tp_ip6.c b/net/l2tp/l2tp_ip6.c
index 2478aa60145f..7619afe77855 100644
--- a/net/l2tp/l2tp_ip6.c
+++ b/net/l2tp/l2tp_ip6.c
@@ -488,7 +488,7 @@ static int l2tp_ip6_push_pending_frames(struct sock *sk)
 /* Userspace will call sendmsg() on the tunnel socket to send L2TP
  * control frames.
  */
-static int l2tp_ip6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
+static int l2tp_ip6_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct ipv6_txoptions opt_space;
 	DECLARE_SOCKADDR(struct sockaddr_l2tpip6 *, lsa, msg->msg_name);
@@ -500,6 +500,7 @@ static int l2tp_ip6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
 	struct dst_entry *dst = NULL;
 	struct flowi6 fl6;
 	struct ipcm6_cookie ipc6;
+	size_t len = msg_data_left(msg);
 	int addr_len = msg->msg_namelen;
 	int transhdrlen = 4; /* zero session-id */
 	int ulen;
diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c
index f011af6601c9..ae351f50adff 100644
--- a/net/l2tp/l2tp_ppp.c
+++ b/net/l2tp/l2tp_ppp.c
@@ -262,14 +262,14 @@ static void pppol2tp_recv(struct l2tp_session *session, struct sk_buff *skb, int
  * when a user application does a sendmsg() on the session socket. L2TP and
  * PPP headers must be inserted into the user's data.
  */
-static int pppol2tp_sendmsg(struct socket *sock, struct msghdr *m,
-			    size_t total_len)
+static int pppol2tp_sendmsg(struct socket *sock, struct msghdr *m)
 {
 	struct sock *sk = sock->sk;
 	struct sk_buff *skb;
 	int error;
 	struct l2tp_session *session;
 	struct l2tp_tunnel *tunnel;
+	size_t total_len = msg_data_left(m);
 	int uhlen;
 
 	error = -ENOTCONN;
diff --git a/net/llc/af_llc.c b/net/llc/af_llc.c
index da7fe94bea2e..d10b5ef66c88 100644
--- a/net/llc/af_llc.c
+++ b/net/llc/af_llc.c
@@ -919,12 +919,11 @@ static int llc_ui_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,
  *	llc_ui_sendmsg - Transmit data provided by the socket user.
  *	@sock: Socket to transmit data from.
  *	@msg: Various user related information.
- *	@len: Length of data to transmit.
  *
  *	Transmit data provided by the socket user.
  *	Returns non-negative upon success, negative otherwise.
  */
-static int llc_ui_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int llc_ui_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct llc_sock *llc = llc_sk(sk);
@@ -954,7 +953,7 @@ static int llc_ui_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 			goto out;
 	}
 	hdrlen = llc->dev->hard_header_len + llc_ui_header_len(sk, addr);
-	size = hdrlen + len;
+	size = hdrlen + msg_data_left(msg);
 	if (size > llc->dev->mtu)
 		size = llc->dev->mtu;
 	copied = size - hdrlen;
diff --git a/net/mctp/af_mctp.c b/net/mctp/af_mctp.c
index bb4bd0b6a4f7..9ead250f1be3 100644
--- a/net/mctp/af_mctp.c
+++ b/net/mctp/af_mctp.c
@@ -90,7 +90,7 @@ static int mctp_bind(struct socket *sock, struct sockaddr *addr, int addrlen)
 	return rc;
 }
 
-static int mctp_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int mctp_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	DECLARE_SOCKADDR(struct sockaddr_mctp *, addr, msg->msg_name);
 	int rc, addrlen = msg->msg_namelen;
@@ -99,6 +99,7 @@ static int mctp_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 	struct mctp_skb_cb *cb;
 	struct mctp_route *rt;
 	struct sk_buff *skb = NULL;
+	size_t len = msg_data_left(msg);
 	int hlen;
 
 	if (addr) {
diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
index 2d26b9114373..0a58f2dbd3ce 100644
--- a/net/mptcp/protocol.c
+++ b/net/mptcp/protocol.c
@@ -1663,7 +1663,7 @@ static void mptcp_set_nospace(struct sock *sk)
 static int mptcp_disconnect(struct sock *sk, int flags);
 
 static int mptcp_sendmsg_fastopen(struct sock *sk, struct sock *ssk, struct msghdr *msg,
-				  size_t len, int *copied_syn)
+				  int *copied_syn)
 {
 	unsigned int saved_flags = msg->msg_flags;
 	struct mptcp_sock *msk = mptcp_sk(sk);
@@ -1673,7 +1673,7 @@ static int mptcp_sendmsg_fastopen(struct sock *sk, struct sock *ssk, struct msgh
 	msg->msg_flags |= MSG_DONTWAIT;
 	msk->connect_flags = O_NONBLOCK;
 	msk->fastopening = 1;
-	ret = tcp_sendmsg_fastopen(ssk, msg, copied_syn, len, NULL);
+	ret = tcp_sendmsg_fastopen(ssk, msg, copied_syn, NULL);
 	msk->fastopening = 0;
 	msg->msg_flags = saved_flags;
 	release_sock(ssk);
@@ -1695,7 +1695,7 @@ static int mptcp_sendmsg_fastopen(struct sock *sk, struct sock *ssk, struct msgh
 	return ret;
 }
 
-static int mptcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
+static int mptcp_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct mptcp_sock *msk = mptcp_sk(sk);
 	struct page_frag *pfrag;
@@ -1714,7 +1714,7 @@ static int mptcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
 			       msg->msg_flags & MSG_FASTOPEN))) {
 		int copied_syn = 0;
 
-		ret = mptcp_sendmsg_fastopen(sk, ssock->sk, msg, len, &copied_syn);
+		ret = mptcp_sendmsg_fastopen(sk, ssock->sk, msg, &copied_syn);
 		copied += copied_syn;
 		if (ret == -EINPROGRESS && copied_syn > 0)
 			goto out;
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 877f1da1a8ac..519487cbfcce 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -1857,7 +1857,7 @@ static void netlink_cmsg_listen_all_nsid(struct sock *sk, struct msghdr *msg,
 		 &NETLINK_CB(skb).nsid);
 }
 
-static int netlink_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int netlink_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct netlink_sock *nlk = nlk_sk(sk);
@@ -1872,7 +1872,7 @@ static int netlink_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 	if (msg->msg_flags & MSG_OOB)
 		return -EOPNOTSUPP;
 
-	if (len == 0) {
+	if (msg_data_left(msg) == 0) {
 		pr_warn_once("Zero length message leads to an empty skb\n");
 		return -ENODATA;
 	}
@@ -1911,10 +1911,10 @@ static int netlink_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 	}
 
 	err = -EMSGSIZE;
-	if (len > sk->sk_sndbuf - 32)
+	if (msg_data_left(msg) > sk->sk_sndbuf - 32)
 		goto out;
 	err = -ENOBUFS;
-	skb = netlink_alloc_large_skb(len, dst_group);
+	skb = netlink_alloc_large_skb(msg_data_left(msg), dst_group);
 	if (skb == NULL)
 		goto out;
 
@@ -1924,7 +1924,8 @@ static int netlink_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 	NETLINK_CB(skb).flags	= netlink_skb_flags;
 
 	err = -EFAULT;
-	if (memcpy_from_msg(skb_put(skb, len), msg, len)) {
+	if (memcpy_from_msg(skb_put(skb, msg_data_left(msg)),
+			    msg, msg_data_left(msg))) {
 		kfree_skb(skb);
 		goto out;
 	}
diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c
index 5a4cb796150f..d2c65f38c22c 100644
--- a/net/netrom/af_netrom.c
+++ b/net/netrom/af_netrom.c
@@ -1034,7 +1034,7 @@ int nr_rx_frame(struct sk_buff *skb, struct net_device *dev)
 	return 1;
 }
 
-static int nr_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int nr_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct nr_sock *nr = nr_sk(sk);
@@ -1043,6 +1043,7 @@ static int nr_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 	struct sockaddr_ax25 sax;
 	struct sk_buff *skb;
 	unsigned char *asmptr;
+	size_t len = msg_data_left(msg);
 	int size;
 
 	if (msg->msg_flags & ~(MSG_DONTWAIT|MSG_EOR|MSG_CMSG_COMPAT))
diff --git a/net/nfc/llcp_sock.c b/net/nfc/llcp_sock.c
index 77642d18a3b4..70226fc36396 100644
--- a/net/nfc/llcp_sock.c
+++ b/net/nfc/llcp_sock.c
@@ -770,8 +770,7 @@ static int llcp_sock_connect(struct socket *sock, struct sockaddr *_addr,
 	return ret;
 }
 
-static int llcp_sock_sendmsg(struct socket *sock, struct msghdr *msg,
-			     size_t len)
+static int llcp_sock_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct nfc_llcp_sock *llcp_sock = nfc_llcp_sock(sk);
@@ -805,7 +804,7 @@ static int llcp_sock_sendmsg(struct socket *sock, struct msghdr *msg,
 		release_sock(sk);
 
 		return nfc_llcp_send_ui_frame(llcp_sock, addr->dsap, addr->ssap,
-					      msg, len);
+					      msg, msg_data_left(msg));
 	}
 
 	if (sk->sk_state != LLCP_CONNECTED) {
@@ -815,7 +814,7 @@ static int llcp_sock_sendmsg(struct socket *sock, struct msghdr *msg,
 
 	release_sock(sk);
 
-	return nfc_llcp_send_i_frame(llcp_sock, msg, len);
+	return nfc_llcp_send_i_frame(llcp_sock, msg, msg_data_left(msg));
 }
 
 static int llcp_sock_recvmsg(struct socket *sock, struct msghdr *msg,
diff --git a/net/nfc/rawsock.c b/net/nfc/rawsock.c
index 5125392bb68e..d9d54240b2a2 100644
--- a/net/nfc/rawsock.c
+++ b/net/nfc/rawsock.c
@@ -202,11 +202,12 @@ static void rawsock_tx_work(struct work_struct *work)
 	kcov_remote_stop();
 }
 
-static int rawsock_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int rawsock_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct nfc_dev *dev = nfc_rawsock(sk)->dev;
 	struct sk_buff *skb;
+	size_t len = msg_data_left(msg);
 	int rc;
 
 	pr_debug("sock=%p sk=%p len=%zu\n", sock, sk, len);
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index 497193f73030..84a95e177260 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -1947,14 +1947,14 @@ static void packet_parse_headers(struct sk_buff *skb, struct socket *sock)
  *	protocol layers and you must therefore supply it with a complete frame
  */
 
-static int packet_sendmsg_spkt(struct socket *sock, struct msghdr *msg,
-			       size_t len)
+static int packet_sendmsg_spkt(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	DECLARE_SOCKADDR(struct sockaddr_pkt *, saddr, msg->msg_name);
 	struct sk_buff *skb = NULL;
 	struct net_device *dev;
 	struct sockcm_cookie sockc;
+	size_t len = msg_data_left(msg);
 	__be16 proto = 0;
 	int err;
 	int extra_len = 0;
@@ -2933,7 +2933,7 @@ static struct sk_buff *packet_alloc_skb(struct sock *sk, size_t prepad,
 	return skb;
 }
 
-static int packet_snd(struct socket *sock, struct msghdr *msg, size_t len)
+static int packet_snd(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	DECLARE_SOCKADDR(struct sockaddr_ll *, saddr, msg->msg_name);
@@ -2946,6 +2946,7 @@ static int packet_snd(struct socket *sock, struct msghdr *msg, size_t len)
 	struct virtio_net_hdr vnet_hdr = { 0 };
 	int offset = 0;
 	struct packet_sock *po = pkt_sk(sk);
+	size_t len = msg_data_left(msg);
 	bool has_vnet_hdr = false;
 	int hlen, tlen, linear;
 	int extra_len = 0;
@@ -3093,7 +3094,7 @@ static int packet_snd(struct socket *sock, struct msghdr *msg, size_t len)
 	return err;
 }
 
-static int packet_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int packet_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct packet_sock *po = pkt_sk(sk);
@@ -3104,7 +3105,7 @@ static int packet_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 	if (data_race(po->tx_ring.pg_vec))
 		return tpacket_snd(po, msg);
 
-	return packet_snd(sock, msg, len);
+	return packet_snd(sock, msg);
 }
 
 /*
diff --git a/net/phonet/datagram.c b/net/phonet/datagram.c
index ff5f49ab236e..4839f7d6785b 100644
--- a/net/phonet/datagram.c
+++ b/net/phonet/datagram.c
@@ -70,10 +70,11 @@ static int pn_init(struct sock *sk)
 	return 0;
 }
 
-static int pn_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
+static int pn_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	DECLARE_SOCKADDR(struct sockaddr_pn *, target, msg->msg_name);
 	struct sk_buff *skb;
+	size_t len = msg_data_left(msg);
 	int err;
 
 	if (msg->msg_flags & ~(MSG_DONTWAIT|MSG_EOR|MSG_NOSIGNAL|
diff --git a/net/phonet/pep.c b/net/phonet/pep.c
index 83ea13a50690..5afc99ab9eca 100644
--- a/net/phonet/pep.c
+++ b/net/phonet/pep.c
@@ -1112,10 +1112,11 @@ static int pipe_skb_send(struct sock *sk, struct sk_buff *skb)
 
 }
 
-static int pep_sendmsg(struct sock *sk, struct msghdr *msg, size_t len)
+static int pep_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct pep_sock *pn = pep_sk(sk);
 	struct sk_buff *skb;
+	size_t len = msg_data_left(msg);
 	long timeo;
 	int flags = msg->msg_flags;
 	int err, done;
diff --git a/net/phonet/socket.c b/net/phonet/socket.c
index 71e2caf6ab85..99cd62f64944 100644
--- a/net/phonet/socket.c
+++ b/net/phonet/socket.c
@@ -414,15 +414,14 @@ static int pn_socket_listen(struct socket *sock, int backlog)
 	return err;
 }
 
-static int pn_socket_sendmsg(struct socket *sock, struct msghdr *m,
-			     size_t total_len)
+static int pn_socket_sendmsg(struct socket *sock, struct msghdr *m)
 {
 	struct sock *sk = sock->sk;
 
 	if (pn_socket_autobind(sock))
 		return -EAGAIN;
 
-	return sk->sk_prot->sendmsg(sk, m, total_len);
+	return sk->sk_prot->sendmsg(sk, m);
 }
 
 const struct proto_ops phonet_dgram_ops = {
diff --git a/net/qrtr/af_qrtr.c b/net/qrtr/af_qrtr.c
index 5c2fb992803b..7c1b908dd479 100644
--- a/net/qrtr/af_qrtr.c
+++ b/net/qrtr/af_qrtr.c
@@ -888,7 +888,7 @@ static int qrtr_bcast_enqueue(struct qrtr_node *node, struct sk_buff *skb,
 	return 0;
 }
 
-static int qrtr_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int qrtr_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	DECLARE_SOCKADDR(struct sockaddr_qrtr *, addr, msg->msg_name);
 	int (*enqueue_fn)(struct qrtr_node *, struct sk_buff *, int,
@@ -898,7 +898,7 @@ static int qrtr_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 	struct sock *sk = sock->sk;
 	struct qrtr_node *node;
 	struct sk_buff *skb;
-	size_t plen;
+	size_t plen, len = msg_data_left(msg);
 	u32 type;
 	int rc;
 
diff --git a/net/rds/rds.h b/net/rds/rds.h
index d35d1fc39807..9e8ecafd5b51 100644
--- a/net/rds/rds.h
+++ b/net/rds/rds.h
@@ -909,7 +909,7 @@ void rds6_inc_info_copy(struct rds_incoming *inc,
 			int flip);
 
 /* send.c */
-int rds_sendmsg(struct socket *sock, struct msghdr *msg, size_t payload_len);
+int rds_sendmsg(struct socket *sock, struct msghdr *msg);
 void rds_send_path_reset(struct rds_conn_path *conn);
 int rds_send_xmit(struct rds_conn_path *cp);
 struct sockaddr_in;
diff --git a/net/rds/send.c b/net/rds/send.c
index 5e57a1581dc6..f588b720e1c3 100644
--- a/net/rds/send.c
+++ b/net/rds/send.c
@@ -1098,7 +1098,7 @@ static int rds_rdma_bytes(struct msghdr *msg, size_t *rdma_bytes)
 	return 0;
 }
 
-int rds_sendmsg(struct socket *sock, struct msghdr *msg, size_t payload_len)
+int rds_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct rds_sock *rs = rds_sk_to_rs(sk);
@@ -1114,6 +1114,7 @@ int rds_sendmsg(struct socket *sock, struct msghdr *msg, size_t payload_len)
 	struct rds_conn_path *cpath;
 	struct in6_addr daddr;
 	__u32 scope_id = 0;
+	size_t payload_len = msg_data_left(msg);
 	size_t rdma_payload_len = 0;
 	bool zcopy = ((msg->msg_flags & MSG_ZEROCOPY) &&
 		      sock_flag(rds_rs_to_sk(rs), SOCK_ZEROCOPY));
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c
index ca2b17f32670..938ea0716751 100644
--- a/net/rose/af_rose.c
+++ b/net/rose/af_rose.c
@@ -1069,7 +1069,7 @@ int rose_rx_call_request(struct sk_buff *skb, struct net_device *dev, struct ros
 	return 1;
 }
 
-static int rose_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int rose_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct rose_sock *rose = rose_sk(sk);
@@ -1078,6 +1078,7 @@ static int rose_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 	struct full_sockaddr_rose srose;
 	struct sk_buff *skb;
 	unsigned char *asmptr;
+	size_t len = msg_data_left(msg);
 	int n, size, qbit = 0;
 
 	if (msg->msg_flags & ~(MSG_DONTWAIT|MSG_EOR|MSG_CMSG_COMPAT))
diff --git a/net/rxrpc/af_rxrpc.c b/net/rxrpc/af_rxrpc.c
index 102f5cbff91a..bdce6ab30899 100644
--- a/net/rxrpc/af_rxrpc.c
+++ b/net/rxrpc/af_rxrpc.c
@@ -502,13 +502,13 @@ static int rxrpc_connect(struct socket *sock, struct sockaddr *addr,
  *   - sends a call data packet
  *   - may send an abort (abort code in control data)
  */
-static int rxrpc_sendmsg(struct socket *sock, struct msghdr *m, size_t len)
+static int rxrpc_sendmsg(struct socket *sock, struct msghdr *m)
 {
 	struct rxrpc_local *local;
 	struct rxrpc_sock *rx = rxrpc_sk(sock->sk);
 	int ret;
 
-	_enter(",{%d},,%zu", rx->sk.sk_state, len);
+	_enter(",{%d},,%zu", rx->sk.sk_state, msg_data_left(m));
 
 	if (m->msg_flags & MSG_OOB)
 		return -EOPNOTSUPP;
@@ -562,7 +562,7 @@ static int rxrpc_sendmsg(struct socket *sock, struct msghdr *m, size_t len)
 		fallthrough;
 	case RXRPC_SERVER_BOUND:
 	case RXRPC_SERVER_LISTENING:
-		ret = rxrpc_do_sendmsg(rx, m, len);
+		ret = rxrpc_do_sendmsg(rx, m);
 		/* The socket has been unlocked */
 		goto out;
 	default:
diff --git a/net/rxrpc/ar-internal.h b/net/rxrpc/ar-internal.h
index 67b0a894162d..36738f8f050d 100644
--- a/net/rxrpc/ar-internal.h
+++ b/net/rxrpc/ar-internal.h
@@ -1221,7 +1221,7 @@ struct key *rxrpc_look_up_server_security(struct rxrpc_connection *,
  */
 bool rxrpc_propose_abort(struct rxrpc_call *call, s32 abort_code, int error,
 			 enum rxrpc_abort_reason why);
-int rxrpc_do_sendmsg(struct rxrpc_sock *, struct msghdr *, size_t);
+int rxrpc_do_sendmsg(struct rxrpc_sock *, struct msghdr *);
 
 /*
  * server_key.c
diff --git a/net/rxrpc/output.c b/net/rxrpc/output.c
index 5e53429c6922..0f3ff3455101 100644
--- a/net/rxrpc/output.c
+++ b/net/rxrpc/output.c
@@ -16,9 +16,9 @@
 #include <net/udp.h>
 #include "ar-internal.h"
 
-extern int udpv6_sendmsg(struct sock *sk, struct msghdr *msg, size_t len);
+extern int udpv6_sendmsg(struct sock *sk, struct msghdr *msg);
 
-static ssize_t do_udp_sendmsg(struct socket *socket, struct msghdr *msg, size_t len)
+static ssize_t do_udp_sendmsg(struct socket *socket, struct msghdr *msg)
 {
 	struct sockaddr *sa = msg->msg_name;
 	struct sock *sk = socket->sk;
@@ -29,10 +29,10 @@ static ssize_t do_udp_sendmsg(struct socket *socket, struct msghdr *msg, size_t
 				pr_warn("AF_INET6 address on AF_INET socket\n");
 				return -ENOPROTOOPT;
 			}
-			return udpv6_sendmsg(sk, msg, len);
+			return udpv6_sendmsg(sk, msg);
 		}
 	}
-	return udp_sendmsg(sk, msg, len);
+	return udp_sendmsg(sk, msg);
 }
 
 struct rxrpc_abort_buffer {
@@ -232,7 +232,7 @@ int rxrpc_send_ack_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb)
 	txb->ack.previousPacket	= htonl(call->rx_highest_seq);
 
 	iov_iter_kvec(&msg.msg_iter, WRITE, iov, 1, len);
-	ret = do_udp_sendmsg(conn->local->socket, &msg, len);
+	ret = do_udp_sendmsg(conn->local->socket, &msg);
 	call->peer->last_tx_at = ktime_get_seconds();
 	if (ret < 0) {
 		trace_rxrpc_tx_fail(call->debug_id, serial, ret,
@@ -306,7 +306,7 @@ int rxrpc_send_abort_packet(struct rxrpc_call *call)
 	pkt.whdr.serial = htonl(serial);
 
 	iov_iter_kvec(&msg.msg_iter, WRITE, iov, 1, sizeof(pkt));
-	ret = do_udp_sendmsg(conn->local->socket, &msg, sizeof(pkt));
+	ret = do_udp_sendmsg(conn->local->socket, &msg);
 	conn->peer->last_tx_at = ktime_get_seconds();
 	if (ret < 0)
 		trace_rxrpc_tx_fail(call->debug_id, serial, ret,
@@ -424,7 +424,7 @@ int rxrpc_send_data_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb)
 	 *     message and update the peer record
 	 */
 	rxrpc_inc_stat(call->rxnet, stat_tx_data_send);
-	ret = do_udp_sendmsg(conn->local->socket, &msg, len);
+	ret = do_udp_sendmsg(conn->local->socket, &msg);
 	conn->peer->last_tx_at = ktime_get_seconds();
 
 	if (ret < 0) {
@@ -497,7 +497,7 @@ int rxrpc_send_data_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb)
 		ip_sock_set_mtu_discover(conn->local->socket->sk,
 					 IP_PMTUDISC_DONT);
 		rxrpc_inc_stat(call->rxnet, stat_tx_data_send_frag);
-		ret = do_udp_sendmsg(conn->local->socket, &msg, len);
+		ret = do_udp_sendmsg(conn->local->socket, &msg);
 		conn->peer->last_tx_at = ktime_get_seconds();
 
 		ip_sock_set_mtu_discover(conn->local->socket->sk,
@@ -564,7 +564,7 @@ void rxrpc_send_conn_abort(struct rxrpc_connection *conn)
 	whdr.serial = htonl(serial);
 
 	iov_iter_kvec(&msg.msg_iter, WRITE, iov, 2, len);
-	ret = do_udp_sendmsg(conn->local->socket, &msg, len);
+	ret = do_udp_sendmsg(conn->local->socket, &msg);
 	if (ret < 0) {
 		trace_rxrpc_tx_fail(conn->debug_id, serial, ret,
 				    rxrpc_tx_point_conn_abort);
@@ -633,7 +633,7 @@ void rxrpc_reject_packet(struct rxrpc_local *local, struct sk_buff *skb)
 		whdr.flags	&= RXRPC_CLIENT_INITIATED;
 
 		iov_iter_kvec(&msg.msg_iter, WRITE, iov, ioc, size);
-		ret = do_udp_sendmsg(local->socket, &msg, size);
+		ret = do_udp_sendmsg(local->socket, &msg);
 		if (ret < 0)
 			trace_rxrpc_tx_fail(local->debug_id, 0, ret,
 					    rxrpc_tx_point_reject);
@@ -682,7 +682,7 @@ void rxrpc_send_keepalive(struct rxrpc_peer *peer)
 	len = iov[0].iov_len + iov[1].iov_len;
 
 	iov_iter_kvec(&msg.msg_iter, WRITE, iov, 2, len);
-	ret = do_udp_sendmsg(peer->local->socket, &msg, len);
+	ret = do_udp_sendmsg(peer->local->socket, &msg);
 	if (ret < 0)
 		trace_rxrpc_tx_fail(peer->debug_id, 0, ret,
 				    rxrpc_tx_point_version_keepalive);
diff --git a/net/rxrpc/rxperf.c b/net/rxrpc/rxperf.c
index 4a2e90015ca7..0167afb67a7a 100644
--- a/net/rxrpc/rxperf.c
+++ b/net/rxrpc/rxperf.c
@@ -507,7 +507,7 @@ static int rxperf_process_call(struct rxperf_call *call)
 		iov_iter_bvec(&msg.msg_iter, WRITE, &bv, 1, len);
 		msg.msg_flags = MSG_MORE;
 		n = rxrpc_kernel_send_data(rxperf_socket, call->rxcall, &msg,
-					   len, rxperf_notify_end_reply_tx);
+					   rxperf_notify_end_reply_tx);
 		if (n < 0)
 			return n;
 		if (n == 0)
@@ -520,7 +520,7 @@ static int rxperf_process_call(struct rxperf_call *call)
 	iov[0].iov_len	= len;
 	iov_iter_kvec(&msg.msg_iter, WRITE, iov, 1, len);
 	msg.msg_flags = 0;
-	n = rxrpc_kernel_send_data(rxperf_socket, call->rxcall, &msg, len,
+	n = rxrpc_kernel_send_data(rxperf_socket, call->rxcall, &msg,
 				   rxperf_notify_end_reply_tx);
 	if (n >= 0)
 		return 0; /* Success */
diff --git a/net/rxrpc/sendmsg.c b/net/rxrpc/sendmsg.c
index da49fcf1c456..b6ffd8124ced 100644
--- a/net/rxrpc/sendmsg.c
+++ b/net/rxrpc/sendmsg.c
@@ -280,7 +280,7 @@ static void rxrpc_queue_packet(struct rxrpc_sock *rx, struct rxrpc_call *call,
  */
 static int rxrpc_send_data(struct rxrpc_sock *rx,
 			   struct rxrpc_call *call,
-			   struct msghdr *msg, size_t len,
+			   struct msghdr *msg,
 			   rxrpc_notify_end_tx_t notify_end_tx,
 			   bool *_dropped_lock)
 {
@@ -327,9 +327,9 @@ static int rxrpc_send_data(struct rxrpc_sock *rx,
 
 	ret = -EMSGSIZE;
 	if (call->tx_total_len != -1) {
-		if (len - copied > call->tx_total_len)
+		if (msg_data_left(msg) > call->tx_total_len)
 			goto maybe_error;
-		if (!more && len - copied != call->tx_total_len)
+		if (!more && msg_data_left(msg) != call->tx_total_len)
 			goto maybe_error;
 	}
 
@@ -612,7 +612,7 @@ rxrpc_new_client_call_for_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg,
  * - caller holds the socket locked
  * - the socket may be either a client socket or a server socket
  */
-int rxrpc_do_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg, size_t len)
+int rxrpc_do_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg)
 	__releases(&rx->sk.sk_lock.slock)
 {
 	struct rxrpc_call *call;
@@ -723,7 +723,7 @@ int rxrpc_do_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg, size_t len)
 	} else if (p.command != RXRPC_CMD_SEND_DATA) {
 		ret = -EINVAL;
 	} else {
-		ret = rxrpc_send_data(rx, call, msg, len, NULL, &dropped_lock);
+		ret = rxrpc_send_data(rx, call, msg, NULL, &dropped_lock);
 	}
 
 out_put_unlock:
@@ -744,7 +744,6 @@ int rxrpc_do_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg, size_t len)
  * @sock: The socket the call is on
  * @call: The call to send data through
  * @msg: The data to send
- * @len: The amount of data to send
  * @notify_end_tx: Notification that the last packet is queued.
  *
  * Allow a kernel service to send data on a call.  The call must be in an state
@@ -753,7 +752,7 @@ int rxrpc_do_sendmsg(struct rxrpc_sock *rx, struct msghdr *msg, size_t len)
  * more data to come, otherwise this data will end the transmission phase.
  */
 int rxrpc_kernel_send_data(struct socket *sock, struct rxrpc_call *call,
-			   struct msghdr *msg, size_t len,
+			   struct msghdr *msg,
 			   rxrpc_notify_end_tx_t notify_end_tx)
 {
 	bool dropped_lock = false;
@@ -766,7 +765,7 @@ int rxrpc_kernel_send_data(struct socket *sock, struct rxrpc_call *call,
 
 	mutex_lock(&call->user_mutex);
 
-	ret = rxrpc_send_data(rxrpc_sk(sock->sk), call, msg, len,
+	ret = rxrpc_send_data(rxrpc_sk(sock->sk), call, msg,
 			      notify_end_tx, &dropped_lock);
 	if (ret == -ESHUTDOWN)
 		ret = call->error;
diff --git a/net/sctp/socket.c b/net/sctp/socket.c
index b91616f819de..da99aab89d82 100644
--- a/net/sctp/socket.c
+++ b/net/sctp/socket.c
@@ -1935,7 +1935,7 @@ static void sctp_sendmsg_update_sinfo(struct sctp_association *asoc,
 	}
 }
 
-static int sctp_sendmsg(struct sock *sk, struct msghdr *msg, size_t msg_len)
+static int sctp_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	struct sctp_endpoint *ep = sctp_sk(sk)->ep;
 	struct sctp_transport *transport = NULL;
@@ -1943,6 +1943,7 @@ static int sctp_sendmsg(struct sock *sk, struct msghdr *msg, size_t msg_len)
 	struct sctp_association *asoc, *tmp;
 	struct sctp_cmsgs cmsgs;
 	union sctp_addr *daddr;
+	size_t msg_len = msg_data_left(msg);
 	bool new = false;
 	__u16 sflags;
 	int err;
diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c
index c6b4a62276f6..0e725698ebcd 100644
--- a/net/smc/af_smc.c
+++ b/net/smc/af_smc.c
@@ -2653,10 +2653,11 @@ static int smc_getname(struct socket *sock, struct sockaddr *addr,
 	return smc->clcsock->ops->getname(smc->clcsock, addr, peer);
 }
 
-static int smc_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int smc_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct smc_sock *smc;
+	size_t len = msg_data_left(msg);
 	int rc;
 
 	smc = smc_sk(sk);
@@ -2681,7 +2682,7 @@ static int smc_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 	}
 
 	if (smc->use_fallback) {
-		rc = smc->clcsock->ops->sendmsg(smc->clcsock, msg, len);
+		rc = smc->clcsock->ops->sendmsg(smc->clcsock, msg);
 	} else {
 		rc = smc_tx_sendmsg(smc, msg, len);
 		SMC_STAT_TX_PAYLOAD(smc, len, rc);
diff --git a/net/socket.c b/net/socket.c
index 73e493da4589..1690e1782bf0 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -708,10 +708,8 @@ void __sock_tx_timestamp(__u16 tsflags, __u8 *tx_flags)
 }
 EXPORT_SYMBOL(__sock_tx_timestamp);
 
-INDIRECT_CALLABLE_DECLARE(int inet_sendmsg(struct socket *, struct msghdr *,
-					   size_t));
-INDIRECT_CALLABLE_DECLARE(int inet6_sendmsg(struct socket *, struct msghdr *,
-					    size_t));
+INDIRECT_CALLABLE_DECLARE(int inet_sendmsg(struct socket *, struct msghdr *));
+INDIRECT_CALLABLE_DECLARE(int inet6_sendmsg(struct socket *, struct msghdr *));
 
 static noinline void call_trace_sock_send_length(struct sock *sk, int ret,
 						 int flags)
@@ -722,8 +720,7 @@ static noinline void call_trace_sock_send_length(struct sock *sk, int ret,
 static inline int sock_sendmsg_nosec(struct socket *sock, struct msghdr *msg)
 {
 	int ret = INDIRECT_CALL_INET(sock->ops->sendmsg, inet6_sendmsg,
-				     inet_sendmsg, sock, msg,
-				     msg_data_left(msg));
+				     inet_sendmsg, sock, msg);
 	BUG_ON(ret == -EIOCBQUEUED);
 
 	if (trace_sock_send_length_enabled())
@@ -741,8 +738,7 @@ static inline int sock_sendmsg_nosec(struct socket *sock, struct msghdr *msg)
  */
 int sock_sendmsg(struct socket *sock, struct msghdr *msg)
 {
-	int err = security_socket_sendmsg(sock, msg,
-					  msg_data_left(msg));
+	int err = security_socket_sendmsg(sock, msg);
 
 	return err ?: sock_sendmsg_nosec(sock, msg);
 }
@@ -787,11 +783,11 @@ int kernel_sendmsg_locked(struct sock *sk, struct msghdr *msg,
 	struct socket *sock = sk->sk_socket;
 
 	if (!sock->ops->sendmsg_locked)
-		return sock_no_sendmsg_locked(sk, msg, size);
+		return sock_no_sendmsg_locked(sk, msg);
 
 	iov_iter_kvec(&msg->msg_iter, ITER_SOURCE, vec, num, size);
 
-	return sock->ops->sendmsg_locked(sk, msg, msg_data_left(msg));
+	return sock->ops->sendmsg_locked(sk, msg);
 }
 EXPORT_SYMBOL(kernel_sendmsg_locked);
 
diff --git a/net/tipc/socket.c b/net/tipc/socket.c
index 37edfe10f8c6..bd677e707548 100644
--- a/net/tipc/socket.c
+++ b/net/tipc/socket.c
@@ -156,8 +156,8 @@ static int tipc_sk_leave(struct tipc_sock *tsk);
 static struct tipc_sock *tipc_sk_lookup(struct net *net, u32 portid);
 static int tipc_sk_insert(struct tipc_sock *tsk);
 static void tipc_sk_remove(struct tipc_sock *tsk);
-static int __tipc_sendstream(struct socket *sock, struct msghdr *m, size_t dsz);
-static int __tipc_sendmsg(struct socket *sock, struct msghdr *m, size_t dsz);
+static int __tipc_sendstream(struct socket *sock, struct msghdr *m);
+static int __tipc_sendmsg(struct socket *sock, struct msghdr *m);
 static void tipc_sk_push_backlog(struct tipc_sock *tsk, bool nagle_ack);
 static int tipc_wait_for_connect(struct socket *sock, long *timeo_p);
 
@@ -1385,7 +1385,6 @@ static void tipc_sk_conn_proto_rcv(struct tipc_sock *tsk, struct sk_buff *skb,
  * tipc_sendmsg - send message in connectionless manner
  * @sock: socket structure
  * @m: message to send
- * @dsz: amount of user data to be sent
  *
  * Message must have an destination specified explicitly.
  * Used for SOCK_RDM and SOCK_DGRAM messages,
@@ -1394,20 +1393,19 @@ static void tipc_sk_conn_proto_rcv(struct tipc_sock *tsk, struct sk_buff *skb,
  *
  * Return: the number of bytes sent on success, or errno otherwise
  */
-static int tipc_sendmsg(struct socket *sock,
-			struct msghdr *m, size_t dsz)
+static int tipc_sendmsg(struct socket *sock, struct msghdr *m)
 {
 	struct sock *sk = sock->sk;
 	int ret;
 
 	lock_sock(sk);
-	ret = __tipc_sendmsg(sock, m, dsz);
+	ret = __tipc_sendmsg(sock, m);
 	release_sock(sk);
 
 	return ret;
 }
 
-static int __tipc_sendmsg(struct socket *sock, struct msghdr *m, size_t dlen)
+static int __tipc_sendmsg(struct socket *sock, struct msghdr *m)
 {
 	struct sock *sk = sock->sk;
 	struct net *net = sock_net(sk);
@@ -1420,6 +1418,7 @@ static int __tipc_sendmsg(struct socket *sock, struct msghdr *m, size_t dlen)
 	struct tipc_msg *hdr = &tsk->phdr;
 	struct tipc_socket_addr skaddr;
 	struct sk_buff_head pkts;
+	size_t dlen = msg_data_left(m);
 	int atype, mtu, rc;
 
 	if (unlikely(dlen > TIPC_MAX_USER_MSG_SIZE))
@@ -1535,26 +1534,25 @@ static int __tipc_sendmsg(struct socket *sock, struct msghdr *m, size_t dlen)
  * tipc_sendstream - send stream-oriented data
  * @sock: socket structure
  * @m: data to send
- * @dsz: total length of data to be transmitted
  *
  * Used for SOCK_STREAM data.
  *
  * Return: the number of bytes sent on success (or partial success),
  * or errno if no data sent
  */
-static int tipc_sendstream(struct socket *sock, struct msghdr *m, size_t dsz)
+static int tipc_sendstream(struct socket *sock, struct msghdr *m)
 {
 	struct sock *sk = sock->sk;
 	int ret;
 
 	lock_sock(sk);
-	ret = __tipc_sendstream(sock, m, dsz);
+	ret = __tipc_sendstream(sock, m);
 	release_sock(sk);
 
 	return ret;
 }
 
-static int __tipc_sendstream(struct socket *sock, struct msghdr *m, size_t dlen)
+static int __tipc_sendstream(struct socket *sock, struct msghdr *m)
 {
 	struct sock *sk = sock->sk;
 	DECLARE_SOCKADDR(struct sockaddr_tipc *, dest, m->msg_name);
@@ -1564,6 +1562,7 @@ static int __tipc_sendstream(struct socket *sock, struct msghdr *m, size_t dlen)
 	struct tipc_msg *hdr = &tsk->phdr;
 	struct net *net = sock_net(sk);
 	struct sk_buff *skb;
+	size_t dlen = msg_data_left(m);
 	u32 dnode = tsk_peer_node(tsk);
 	int maxnagle = tsk->maxnagle;
 	int maxpkt = tsk->max_pkt;
@@ -1575,7 +1574,7 @@ static int __tipc_sendstream(struct socket *sock, struct msghdr *m, size_t dlen)
 
 	/* Handle implicit connection setup */
 	if (unlikely(dest && sk->sk_state == TIPC_OPEN)) {
-		rc = __tipc_sendmsg(sock, m, dlen);
+		rc = __tipc_sendmsg(sock, m);
 		if (dlen && dlen == rc) {
 			tsk->peer_caps = tipc_node_get_capabilities(net, dnode);
 			tsk->snt_unacked = tsk_inc(tsk, dlen + msg_hdr_sz(hdr));
@@ -1643,18 +1642,17 @@ static int __tipc_sendstream(struct socket *sock, struct msghdr *m, size_t dlen)
  * tipc_send_packet - send a connection-oriented message
  * @sock: socket structure
  * @m: message to send
- * @dsz: length of data to be transmitted
  *
  * Used for SOCK_SEQPACKET messages.
  *
  * Return: the number of bytes sent on success, or errno otherwise
  */
-static int tipc_send_packet(struct socket *sock, struct msghdr *m, size_t dsz)
+static int tipc_send_packet(struct socket *sock, struct msghdr *m)
 {
-	if (dsz > TIPC_MAX_USER_MSG_SIZE)
+	if (msg_data_left(m) > TIPC_MAX_USER_MSG_SIZE)
 		return -EMSGSIZE;
 
-	return tipc_sendstream(sock, m, dsz);
+	return tipc_sendstream(sock, m);
 }
 
 /* tipc_sk_finish_conn - complete the setup of a connection
@@ -2625,7 +2623,7 @@ static int tipc_connect(struct socket *sock, struct sockaddr *dest,
 		if (!timeout)
 			m.msg_flags = MSG_DONTWAIT;
 
-		res = __tipc_sendmsg(sock, &m, 0);
+		res = __tipc_sendmsg(sock, &m);
 		if ((res < 0) && (res != -EWOULDBLOCK))
 			goto exit;
 
@@ -2781,7 +2779,7 @@ static int tipc_accept(struct socket *sock, struct socket *new_sock, int flags,
 		skb_set_owner_r(buf, new_sk);
 	}
 	iov_iter_kvec(&m.msg_iter, ITER_SOURCE, NULL, 0, 0);
-	__tipc_sendstream(new_sock, &m, 0);
+	__tipc_sendstream(new_sock, &m);
 	release_sock(new_sk);
 exit:
 	release_sock(sk);
diff --git a/net/tls/tls.h b/net/tls/tls.h
index 804c3880d028..a969955ddd7c 100644
--- a/net/tls/tls.h
+++ b/net/tls/tls.h
@@ -96,7 +96,7 @@ int tls_set_sw_offload(struct sock *sk, struct tls_context *ctx, int tx);
 void tls_update_rx_zc_capable(struct tls_context *tls_ctx);
 void tls_sw_strparser_arm(struct sock *sk, struct tls_context *ctx);
 void tls_sw_strparser_done(struct tls_context *tls_ctx);
-int tls_sw_sendmsg(struct sock *sk, struct msghdr *msg, size_t size);
+int tls_sw_sendmsg(struct sock *sk, struct msghdr *msg);
 int tls_sw_sendpage_locked(struct sock *sk, struct page *page,
 			   int offset, size_t size, int flags);
 int tls_sw_sendpage(struct sock *sk, struct page *page,
@@ -114,7 +114,7 @@ ssize_t tls_sw_splice_read(struct socket *sock, loff_t *ppos,
 			   struct pipe_inode_info *pipe,
 			   size_t len, unsigned int flags);
 
-int tls_device_sendmsg(struct sock *sk, struct msghdr *msg, size_t size);
+int tls_device_sendmsg(struct sock *sk, struct msghdr *msg);
 int tls_device_sendpage(struct sock *sk, struct page *page,
 			int offset, size_t size, int flags);
 int tls_tx_records(struct sock *sk, int flags);
diff --git a/net/tls/tls_device.c b/net/tls/tls_device.c
index a7cc4f9faac2..3616dde20a96 100644
--- a/net/tls/tls_device.c
+++ b/net/tls/tls_device.c
@@ -566,7 +566,7 @@ static int tls_push_data(struct sock *sk,
 	return rc;
 }
 
-int tls_device_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
+int tls_device_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	unsigned char record_type = TLS_RECORD_TYPE_DATA;
 	struct tls_context *tls_ctx = tls_get_ctx(sk);
@@ -583,7 +583,8 @@ int tls_device_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
 	}
 
 	iter.msg_iter = &msg->msg_iter;
-	rc = tls_push_data(sk, iter, size, msg->msg_flags, record_type, NULL);
+	rc = tls_push_data(sk, iter, msg_data_left(msg), msg->msg_flags,
+			   record_type, NULL);
 
 out:
 	release_sock(sk);
diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c
index 635b8bf6b937..17ea9b07a277 100644
--- a/net/tls/tls_sw.c
+++ b/net/tls/tls_sw.c
@@ -929,7 +929,7 @@ static int tls_sw_push_pending_record(struct sock *sk, int flags)
 				   &copied, flags);
 }
 
-int tls_sw_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
+int tls_sw_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	long timeo = sock_sndtimeo(sk, msg->msg_flags & MSG_DONTWAIT);
 	struct tls_context *tls_ctx = tls_get_ctx(sk);
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index fb31e8a4409e..37c96a73e6b4 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -756,20 +756,20 @@ static int unix_ioctl(struct socket *, unsigned int, unsigned long);
 static int unix_compat_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg);
 #endif
 static int unix_shutdown(struct socket *, int);
-static int unix_stream_sendmsg(struct socket *, struct msghdr *, size_t);
+static int unix_stream_sendmsg(struct socket *, struct msghdr *);
 static int unix_stream_recvmsg(struct socket *, struct msghdr *, size_t, int);
 static ssize_t unix_stream_sendpage(struct socket *, struct page *, int offset,
 				    size_t size, int flags);
 static ssize_t unix_stream_splice_read(struct socket *,  loff_t *ppos,
 				       struct pipe_inode_info *, size_t size,
 				       unsigned int flags);
-static int unix_dgram_sendmsg(struct socket *, struct msghdr *, size_t);
+static int unix_dgram_sendmsg(struct socket *, struct msghdr *);
 static int unix_dgram_recvmsg(struct socket *, struct msghdr *, size_t, int);
 static int unix_read_skb(struct sock *sk, skb_read_actor_t recv_actor);
 static int unix_stream_read_skb(struct sock *sk, skb_read_actor_t recv_actor);
 static int unix_dgram_connect(struct socket *, struct sockaddr *,
 			      int, int);
-static int unix_seqpacket_sendmsg(struct socket *, struct msghdr *, size_t);
+static int unix_seqpacket_sendmsg(struct socket *, struct msghdr *);
 static int unix_seqpacket_recvmsg(struct socket *, struct msghdr *, size_t,
 				  int);
 
@@ -1888,14 +1888,14 @@ static void scm_stat_del(struct sock *sk, struct sk_buff *skb)
  *	Send AF_UNIX data.
  */
 
-static int unix_dgram_sendmsg(struct socket *sock, struct msghdr *msg,
-			      size_t len)
+static int unix_dgram_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	DECLARE_SOCKADDR(struct sockaddr_un *, sunaddr, msg->msg_name);
 	struct sock *sk = sock->sk, *other = NULL;
 	struct unix_sock *u = unix_sk(sk);
 	struct scm_cookie scm;
 	struct sk_buff *skb;
+	size_t len = msg_data_left(msg);
 	int data_len = 0;
 	int sk_locked;
 	long timeo;
@@ -2157,11 +2157,11 @@ static int queue_oob(struct socket *sock, struct msghdr *msg, struct sock *other
 }
 #endif
 
-static int unix_stream_sendmsg(struct socket *sock, struct msghdr *msg,
-			       size_t len)
+static int unix_stream_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct sock *other = NULL;
+	size_t len = msg_data_left(msg);
 	int err, size;
 	struct sk_buff *skb;
 	int sent = 0;
@@ -2388,8 +2388,7 @@ static ssize_t unix_stream_sendpage(struct socket *socket, struct page *page,
 	return err;
 }
 
-static int unix_seqpacket_sendmsg(struct socket *sock, struct msghdr *msg,
-				  size_t len)
+static int unix_seqpacket_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	int err;
 	struct sock *sk = sock->sk;
@@ -2404,7 +2403,7 @@ static int unix_seqpacket_sendmsg(struct socket *sock, struct msghdr *msg,
 	if (msg->msg_namelen)
 		msg->msg_namelen = 0;
 
-	return unix_dgram_sendmsg(sock, msg, len);
+	return unix_dgram_sendmsg(sock, msg);
 }
 
 static int unix_seqpacket_recvmsg(struct socket *sock, struct msghdr *msg,
diff --git a/net/vmw_vsock/af_vsock.c b/net/vmw_vsock/af_vsock.c
index 19aea7cba26e..20bac3e04abd 100644
--- a/net/vmw_vsock/af_vsock.c
+++ b/net/vmw_vsock/af_vsock.c
@@ -1131,8 +1131,7 @@ static __poll_t vsock_poll(struct file *file, struct socket *sock,
 	return mask;
 }
 
-static int vsock_dgram_sendmsg(struct socket *sock, struct msghdr *msg,
-			       size_t len)
+static int vsock_dgram_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	int err;
 	struct sock *sk;
@@ -1198,7 +1197,7 @@ static int vsock_dgram_sendmsg(struct socket *sock, struct msghdr *msg,
 		goto out;
 	}
 
-	err = transport->dgram_enqueue(vsk, remote_addr, msg, len);
+	err = transport->dgram_enqueue(vsk, remote_addr, msg, msg_data_left(msg));
 
 out:
 	release_sock(sk);
@@ -1737,8 +1736,7 @@ static int vsock_connectible_getsockopt(struct socket *sock,
 	return 0;
 }
 
-static int vsock_connectible_sendmsg(struct socket *sock, struct msghdr *msg,
-				     size_t len)
+static int vsock_connectible_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk;
 	struct vsock_sock *vsk;
@@ -1794,7 +1792,7 @@ static int vsock_connectible_sendmsg(struct socket *sock, struct msghdr *msg,
 	if (err < 0)
 		goto out;
 
-	while (total_written < len) {
+	while (msg_data_left(msg)) {
 		ssize_t written;
 
 		add_wait_queue(sk_sleep(sk), &wait);
@@ -1856,10 +1854,10 @@ static int vsock_connectible_sendmsg(struct socket *sock, struct msghdr *msg,
 
 		if (sk->sk_type == SOCK_SEQPACKET) {
 			written = transport->seqpacket_enqueue(vsk,
-						msg, len - total_written);
+					msg, msg_data_left(msg));
 		} else {
 			written = transport->stream_enqueue(vsk,
-					msg, len - total_written);
+					msg, msg_data_left(msg));
 		}
 
 		if (written < 0) {
@@ -1882,7 +1880,7 @@ static int vsock_connectible_sendmsg(struct socket *sock, struct msghdr *msg,
 		 * 1) SOCK_STREAM socket.
 		 * 2) SOCK_SEQPACKET socket when whole buffer is sent.
 		 */
-		if (sk->sk_type == SOCK_STREAM || total_written == len)
+		if (sk->sk_type == SOCK_STREAM || !msg_data_left(msg))
 			err = total_written;
 	}
 out:
diff --git a/net/x25/af_x25.c b/net/x25/af_x25.c
index 5c7ad301d742..5b8751669136 100644
--- a/net/x25/af_x25.c
+++ b/net/x25/af_x25.c
@@ -1100,7 +1100,7 @@ int x25_rx_call_request(struct sk_buff *skb, struct x25_neigh *nb,
 	goto out;
 }
 
-static int x25_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
+static int x25_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sock *sk = sock->sk;
 	struct x25_sock *x25 = x25_sk(sk);
@@ -1108,6 +1108,7 @@ static int x25_sendmsg(struct socket *sock, struct msghdr *msg, size_t len)
 	struct sockaddr_x25 sx25;
 	struct sk_buff *skb;
 	unsigned char *asmptr;
+	size_t len = msg_data_left(msg);
 	int noblock = msg->msg_flags & MSG_DONTWAIT;
 	size_t size;
 	int qbit = 0, rc = -EINVAL;
diff --git a/net/xdp/xsk.c b/net/xdp/xsk.c
index 2ac58b282b5e..db82e2a287f5 100644
--- a/net/xdp/xsk.c
+++ b/net/xdp/xsk.c
@@ -629,7 +629,7 @@ static int xsk_check_common(struct xdp_sock *xs)
 	return 0;
 }
 
-static int __xsk_sendmsg(struct socket *sock, struct msghdr *m, size_t total_len)
+static int __xsk_sendmsg(struct socket *sock, struct msghdr *m)
 {
 	bool need_wait = !(m->msg_flags & MSG_DONTWAIT);
 	struct sock *sk = sock->sk;
@@ -663,12 +663,12 @@ static int __xsk_sendmsg(struct socket *sock, struct msghdr *m, size_t total_len
 	return 0;
 }
 
-static int xsk_sendmsg(struct socket *sock, struct msghdr *m, size_t total_len)
+static int xsk_sendmsg(struct socket *sock, struct msghdr *m)
 {
 	int ret;
 
 	rcu_read_lock();
-	ret = __xsk_sendmsg(sock, m, total_len);
+	ret = __xsk_sendmsg(sock, m);
 	rcu_read_unlock();
 
 	return ret;
diff --git a/net/xfrm/espintcp.c b/net/xfrm/espintcp.c
index 872b80188e83..d07faa356347 100644
--- a/net/xfrm/espintcp.c
+++ b/net/xfrm/espintcp.c
@@ -311,13 +311,14 @@ int espintcp_push_skb(struct sock *sk, struct sk_buff *skb)
 }
 EXPORT_SYMBOL_GPL(espintcp_push_skb);
 
-static int espintcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
+static int espintcp_sendmsg(struct sock *sk, struct msghdr *msg)
 {
 	long timeo = sock_sndtimeo(sk, msg->msg_flags & MSG_DONTWAIT);
 	struct espintcp_ctx *ctx = espintcp_getctx(sk);
 	struct espintcp_msg *emsg = &ctx->partial;
 	struct iov_iter pfx_iter;
 	struct kvec pfx_iov = {};
+	size_t size = msg_data_left(msg);
 	size_t msglen = size + 2;
 	char buf[2] = {0};
 	int err, end;
@@ -325,7 +326,7 @@ static int espintcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
 	if (msg->msg_flags & ~MSG_DONTWAIT)
 		return -EOPNOTSUPP;
 
-	if (size > MAX_ESPINTCP_MSG)
+	if (msg_data_left(msg) > MAX_ESPINTCP_MSG)
 		return -EMSGSIZE;
 
 	if (msg->msg_controllen)
@@ -362,7 +363,8 @@ static int espintcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size)
 	if (err < 0)
 		goto fail;
 
-	err = sk_msg_memcopy_from_iter(sk, &msg->msg_iter, &emsg->skmsg, size);
+	err = sk_msg_memcopy_from_iter(sk, &msg->msg_iter, &emsg->skmsg,
+				       msg_data_left(msg));
 	if (err < 0)
 		goto fail;
 
diff --git a/security/apparmor/lsm.c b/security/apparmor/lsm.c
index d6cc4812ca53..cb220a8e8126 100644
--- a/security/apparmor/lsm.c
+++ b/security/apparmor/lsm.c
@@ -997,10 +997,10 @@ static int aa_sock_msg_perm(const char *op, u32 request, struct socket *sock,
 /**
  * apparmor_socket_sendmsg - check perms before sending msg to another socket
  */
-static int apparmor_socket_sendmsg(struct socket *sock,
-				   struct msghdr *msg, int size)
+static int apparmor_socket_sendmsg(struct socket *sock, struct msghdr *msg)
 {
-	return aa_sock_msg_perm(OP_SENDMSG, AA_MAY_SEND, sock, msg, size);
+	return aa_sock_msg_perm(OP_SENDMSG, AA_MAY_SEND, sock, msg,
+				msg_data_left(msg));
 }
 
 /**
diff --git a/security/security.c b/security/security.c
index cf6cc576736f..faa87f363af8 100644
--- a/security/security.c
+++ b/security/security.c
@@ -2301,9 +2301,9 @@ int security_socket_accept(struct socket *sock, struct socket *newsock)
 	return call_int_hook(socket_accept, 0, sock, newsock);
 }
 
-int security_socket_sendmsg(struct socket *sock, struct msghdr *msg, int size)
+int security_socket_sendmsg(struct socket *sock, struct msghdr *msg)
 {
-	return call_int_hook(socket_sendmsg, 0, sock, msg, size);
+	return call_int_hook(socket_sendmsg, 0, sock, msg);
 }
 
 int security_socket_recvmsg(struct socket *sock, struct msghdr *msg,
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c
index 9a5bdfc21314..ff0d82e6331d 100644
--- a/security/selinux/hooks.c
+++ b/security/selinux/hooks.c
@@ -4912,8 +4912,7 @@ static int selinux_socket_accept(struct socket *sock, struct socket *newsock)
 	return 0;
 }
 
-static int selinux_socket_sendmsg(struct socket *sock, struct msghdr *msg,
-				  int size)
+static int selinux_socket_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	return sock_has_perm(sock->sk, SOCKET__WRITE);
 }
diff --git a/security/smack/smack_lsm.c b/security/smack/smack_lsm.c
index cfcbb748da25..ca30c105f254 100644
--- a/security/smack/smack_lsm.c
+++ b/security/smack/smack_lsm.c
@@ -3730,14 +3730,12 @@ static int smack_unix_may_send(struct socket *sock, struct socket *other)
  * smack_socket_sendmsg - Smack check based on destination host
  * @sock: the socket
  * @msg: the message
- * @size: the size of the message
  *
  * Return 0 if the current subject can write to the destination host.
  * For IPv4 this is only a question if the destination is a single label host.
  * For IPv6 this is a check against the label of the port.
  */
-static int smack_socket_sendmsg(struct socket *sock, struct msghdr *msg,
-				int size)
+static int smack_socket_sendmsg(struct socket *sock, struct msghdr *msg)
 {
 	struct sockaddr_in *sip = (struct sockaddr_in *) msg->msg_name;
 #if IS_ENABLED(CONFIG_IPV6)
diff --git a/security/tomoyo/common.h b/security/tomoyo/common.h
index ca285f362705..0841098d966a 100644
--- a/security/tomoyo/common.h
+++ b/security/tomoyo/common.h
@@ -997,8 +997,7 @@ int tomoyo_socket_bind_permission(struct socket *sock, struct sockaddr *addr,
 int tomoyo_socket_connect_permission(struct socket *sock,
 				     struct sockaddr *addr, int addr_len);
 int tomoyo_socket_listen_permission(struct socket *sock);
-int tomoyo_socket_sendmsg_permission(struct socket *sock, struct msghdr *msg,
-				     int size);
+int tomoyo_socket_sendmsg_permission(struct socket *sock, struct msghdr *msg);
 int tomoyo_supervisor(struct tomoyo_request_info *r, const char *fmt, ...)
 	__printf(2, 3);
 int tomoyo_update_domain(struct tomoyo_acl_info *new_entry, const int size,
diff --git a/security/tomoyo/network.c b/security/tomoyo/network.c
index 8dc61335f65e..0315b335cdff 100644
--- a/security/tomoyo/network.c
+++ b/security/tomoyo/network.c
@@ -751,12 +751,10 @@ int tomoyo_socket_bind_permission(struct socket *sock, struct sockaddr *addr,
  *
  * @sock: Pointer to "struct socket".
  * @msg:  Pointer to "struct msghdr".
- * @size: Unused.
  *
  * Returns 0 on success, negative value otherwise.
  */
-int tomoyo_socket_sendmsg_permission(struct socket *sock, struct msghdr *msg,
-				     int size)
+int tomoyo_socket_sendmsg_permission(struct socket *sock, struct msghdr *msg)
 {
 	struct tomoyo_addr_info address;
 	const u8 family = tomoyo_sock_family(sock->sk);
diff --git a/security/tomoyo/tomoyo.c b/security/tomoyo/tomoyo.c
index af04a7b7eb28..72c6f343ffba 100644
--- a/security/tomoyo/tomoyo.c
+++ b/security/tomoyo/tomoyo.c
@@ -489,14 +489,12 @@ static int tomoyo_socket_bind(struct socket *sock, struct sockaddr *addr,
  *
  * @sock: Pointer to "struct socket".
  * @msg:  Pointer to "struct msghdr".
- * @size: Size of message.
  *
  * Returns 0 on success, negative value otherwise.
  */
-static int tomoyo_socket_sendmsg(struct socket *sock, struct msghdr *msg,
-				 int size)
+static int tomoyo_socket_sendmsg(struct socket *sock, struct msghdr *msg)
 {
-	return tomoyo_socket_sendmsg_permission(sock, msg, size);
+	return tomoyo_socket_sendmsg_permission(sock, msg);
 }
 
 struct lsm_blob_sizes tomoyo_blob_sizes __lsm_ro_after_init = {



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 13:58:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 13:58:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513475.794518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1peyyo-00045S-8u; Wed, 22 Mar 2023 13:58:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513475.794518; Wed, 22 Mar 2023 13:58: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 1peyyo-00045L-6B; Wed, 22 Mar 2023 13:58:18 +0000
Received: by outflank-mailman (input) for mailman id 513475;
 Wed, 22 Mar 2023 13:58: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=TbkX=7O=arm.com=peter.hoyes@srs-se1.protection.inumbo.net>)
 id 1peyym-00045F-Ey
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 13:58:16 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 961de917-c8b9-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 14:58:13 +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 CBAE64B3;
 Wed, 22 Mar 2023 06:58:56 -0700 (PDT)
Received: from e125920.cambridge.arm.com (unknown [10.1.199.64])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E652B3F71E;
 Wed, 22 Mar 2023 06:58: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: 961de917-c8b9-11ed-b464-930f4c7d94ae
From: Peter Hoyes <peter.hoyes@arm.com>
To: xen-devel@lists.xenproject.org
Cc: wei.chen@arm.com,
	bertrand.marquis@arm.com,
	Peter Hoyes <Peter.Hoyes@arm.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH] tools/xendomains: Only save/restore/migrate if supported by xenlight
Date: Wed, 22 Mar 2023 13:58:00 +0000
Message-Id: <20230322135800.3869458-1-peter.hoyes@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Peter Hoyes <Peter.Hoyes@arm.com>

Saving, restoring and migrating domains are not currently supported on
arm and arm64 platforms, so xendomains prints the warning:

  An error occurred while saving domain:
  command not implemented

when attempting to run `xendomains stop`. It otherwise continues to shut
down the domains cleanly, with the unsupported steps skipped.

Use `xl help` to detect whether save/restore/migrate is supported by the
platform. If not, do not attempt to run the corresponding command.

Signed-off-by: Peter Hoyes <Peter.Hoyes@arm.com>
---
 tools/hotplug/Linux/xendomains.in | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/tools/hotplug/Linux/xendomains.in b/tools/hotplug/Linux/xendomains.in
index 70f4129ef4..bafcb874e1 100644
--- a/tools/hotplug/Linux/xendomains.in
+++ b/tools/hotplug/Linux/xendomains.in
@@ -229,6 +229,15 @@ parseln()
     [ -n "$name" -a -n "$id" ] && return 0 || return 1
 }
 
+subcmd_supported()
+{
+    local output
+    output=$("$CMD help | grep "^ $1"")
+    if [ ! "$output" ]; then
+        return 1
+    fi
+}
+
 is_running()
 {
     get_xsdomid
@@ -260,7 +269,8 @@ start()
 
     saved_domains=" "
     if [ "$XENDOMAINS_RESTORE" = "true" ] &&
-       contains_something "$XENDOMAINS_SAVE"
+       contains_something "$XENDOMAINS_SAVE" &&
+       subcmd_supported "restore"
     then
 	echo -n "Restoring Xen domains:"
 	saved_domains=`ls $XENDOMAINS_SAVE`
@@ -411,7 +421,7 @@ stop()
 	    echo -n "(zomb)"
 	    continue
 	fi
-	if test -n "$XENDOMAINS_MIGRATE"; then
+	if test -n "$XENDOMAINS_MIGRATE" && subcmd_supported "migrate"; then
 	    echo -n "(migr)"
 	    watchdog_xencmd migrate &
 	    WDOG_PID=$!
@@ -430,7 +440,7 @@ stop()
 		continue
 	    fi
 	fi
-	if test -n "$XENDOMAINS_SAVE"; then
+	if test -n "$XENDOMAINS_SAVE" && subcmd_supported "save"; then
 	    echo -n "(save)"
 	    watchdog_xencmd save &
 	    WDOG_PID=$!
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 14:02:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 14:02:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513479.794528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pez2x-0005ru-Qs; Wed, 22 Mar 2023 14:02:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513479.794528; Wed, 22 Mar 2023 14:02: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 1pez2x-0005rn-NJ; Wed, 22 Mar 2023 14:02:35 +0000
Received: by outflank-mailman (input) for mailman id 513479;
 Wed, 22 Mar 2023 14:02: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pez2w-0005rh-HJ
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 14:02:34 +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 3034f39e-c8ba-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 15:02:32 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7723.eurprd04.prod.outlook.com (2603:10a6:10:20a::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 14:02:30 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 14: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: 3034f39e-c8ba-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EW7nHn/wKgigz9/HmI+niyIg89avRRYXad1lel/Yt8uLjjpnjtCTU3frnNU7kc9uMYEvVZoT5DcJmQZr3BRW4TSzZWbPTpJK+KkcFGzpi34jgzkyY3OhFdSHgLq+rENwZEGRpBOt2GrPnWMuPlF0CU4WdN3AkFMZHDlkGJiEbuZMOiOw5Wmahb3AXczuCGjQq1MC6qDCzi6U76pnFZC6hpxpoViPT9JKw25PvHE2GlAVO87WUyWSBHu8ozOaPW+0lmlEXuf45SDHAHRlQ/rrGMzIbMY+M5C30Ffh5l4o7Xvk/nGv2GD5JWTBbHX6IdU5A4hKyWoOswP8GttBbAVTYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HRC3egg895XQ6epe8HYrwV5FDZq5DbMujKQ7impg4Kk=;
 b=DqndOjmySMUkfjDUZuflOEbqbMIB8kAWC2syr1EmXCgNpUz5XI2QIYWFwdVoYevLeiWOHYeS/ZaOr3gGo5hJaoRDb8wRAAk+Yj/FhQ5P4dRmkRw5E25NxRIGK//iT1Pmgh4bGaThgic5rfZp50cJ/UBdb0wa2aoFNhejQW9i7IVSt1PlIbkqKXXAcDr34akkd6TgjgShgR0AO9TKbl41r/p4++ISt3i3WvrIJxUL1iSKaw2ecwl2wn6yQqYLe6SmW3vqolO2uO23mQqqyIKJCjpQ7kOV3F1UUWZQqGa7NFAxrSkXQIo2WdmarM6Rxa8JfkuTDPQGh9PiPqkYTbzKdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HRC3egg895XQ6epe8HYrwV5FDZq5DbMujKQ7impg4Kk=;
 b=usBba7t5JT2v4iZMFtrivr4xKajuKbZNZ5DxU36GmCqb+fhuyxU45NGkDZ6qaYehI4lrXmP9dIjQpv6pYmWkOMlzYqPgfsiGNmaeLapfairVUWGmCPV3mla4QuAJE1Vi/oo3YycbFTBD8MKLLU06tQJwQvVdBnWN3XHukHh2nPF9YsmZAohgKRdEbD3j/NwDgWQUXpzhdzv4QaphL61uBX+YOPaLFnevoAuA6ukmNAKeGD/u5QpAvEQiA2vXhQe2PEVlc7916oazzPLuAr7uDQ8gjKXou/EFdmaaY39QvC+f99WKEAfMDXHx5eFDExs+RP+OdXTOAt9StQkw2km6/A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1ddd4fb6-033e-5a94-876d-086af3eb1cf8@suse.com>
Date: Wed, 22 Mar 2023 15:02:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 5/7] xen/riscv: introduce trap_init()
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, Oleksii <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
 <91b0284d20f530f2795a119ccb7436ee0b800256.1678976127.git.oleksii.kurochko@gmail.com>
 <5a2c6f35-373a-de3c-1db2-aeeb1b39635f@xen.org>
 <520d64f0b6cd283416aa4fb7b9baa5f83454c4a8.camel@gmail.com>
 <fb5632f9-d749-4396-930e-9f2a601720d8@xen.org>
 <370a6e223d8db5f2d075ca8aba31db198a3aefce.camel@gmail.com>
 <af0d3509-9be4-19d7-8f5d-1c0596a63d15@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <af0d3509-9be4-19d7-8f5d-1c0596a63d15@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0078.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7723:EE_
X-MS-Office365-Filtering-Correlation-Id: 3396b380-fd91-42cd-3dce-08db2ade134e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xc6gZRfwX8ucwcHu+J38RlF4dXYYX1gA49CVghr6BrO62yEgeabTQw1+fct0dayS9YR8z5VKS+cHofDaJ4zg5jiyJjmA1x3lRCSDBkpBNsfioj11lR0Ya/IXdPvGadh2Ae6pB4Mb/O77OfSdqsSmBkugvO5SvewFhdZklUmbWDoOE1H5BXwypu7vuwWGYsYCO49K/FNFPcuC8uSc9O/PyYgKcDBE+LEW1A6YiTQZjGmhSw5BOyYo3tzKoHfeoLU/o1EZzbl1B/wgNObcG+5WD5Lu23cPdGl9Dq4ouaqznz/Y2/3075HZD4rXoJinM2z3aFVtuCPiPVsrgJE4ruKEjt3qeXjisKJ4i1IQofXtXbvVcI5wUVPJaKHueVS2ZG9J7AyIV3+gVmTYG0Xd5pxOMzusblrbewPrB03dBPe36xqVFIQZYd1lqG7hpMFwjVyw6HMi77ww2HmtSnlbdS9Mn3Oh6xDykVG1/gwlmu3oIB6fgMwBpSRUZNJMwZU4VWDADcz+1tN/Xby52YNTgTR/HRvOYCo5QWQeRSmky+y4zIHvNqbCRLQ/GXPhKc+juYXO6gv6Eowjl1nvZYY/LYgAydP7KcFfoBQCDR0ki3ZDFxx1ufR2yuiPjkVvmbvCK2aLYT/h0+s0scnA07muK7XuuamESJ085G6pJ3QOW5GscFjFbfi2Wr6aSApm49OgmSR1nPJ3YeWcuMoBagmG/0eFbF2N24npTgfn+2OpZ8mnmJg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(366004)(346002)(136003)(39860400002)(376002)(451199018)(2616005)(6512007)(54906003)(86362001)(38100700002)(31696002)(8676002)(36756003)(2906002)(8936002)(4326008)(66556008)(66476007)(66946007)(6916009)(4744005)(41300700001)(5660300002)(6486002)(6506007)(26005)(316002)(53546011)(478600001)(83380400001)(186003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?amp3dUhEMWQ5YmQvN0IzWlg5OXA2VEtxaHA0VGkweWJuNE1DdkxHdHJ2bnc2?=
 =?utf-8?B?RU4zeitZVUF3SEZqKzhnZjBJeXcrUXFSb1Q2T00zcGRHQmFGbVV0OVErM2s0?=
 =?utf-8?B?VVd1dERUZno2THk2SFkxUUhVc3dMQjhPZlJ5dUlRMzJ5ZTd2em9yS21rRURv?=
 =?utf-8?B?RGhERVBma1pGd09NenRiRlBpVEl6YUZ5R29DK01DbzZxNXhaMjVEWTc2cVFo?=
 =?utf-8?B?dHlpZnV5Z29IdW9YcTFQS1lBcW9IUE9lclNES0V3d05valh1aXlnZ1kwckFv?=
 =?utf-8?B?N004ZC83R1A5dkxtQnppVEdZSkVpQmY0ekdTcUc5M29aN1RFclptam00Zzht?=
 =?utf-8?B?Z3Y4MVVJRkZIWFloQXhuMWJwQ3hQUFZSSmlyQVJYc0o1U0xJY1hESldiOWlt?=
 =?utf-8?B?TTlkVklqS2cvQWhydWJ1RDlKaGFQeGRnajQvS21uZWw4L2w2U2huN3AxbG50?=
 =?utf-8?B?SGFOUlU5S083VWtscFV4TVB3Mkx4TGczTXdxeFpIUC9rbXlHQjZFS3lRb1NW?=
 =?utf-8?B?UWlUTWNEUVkxNzd3R3Yrd1JJWUVuUU55VDZkRUw5Q1BHVndtM0JacG9VZjho?=
 =?utf-8?B?TUhGbWUxRlp5RXhPSVVWZEdnT3VjRGY2bzlQMjB4amlSMndaV0xYSkRWQXcz?=
 =?utf-8?B?U0RkSE1mc1FFbzRqak4zc3l4bVNRWnRKMkpscG0yNUo5cnZFZUtMckVHUWhK?=
 =?utf-8?B?c05NTkxFS3N1T3JScmlnbDB2d2R6VFROMlRWNG8wSElUaHc1ZFBDc3o1NmUw?=
 =?utf-8?B?Q0xPSXFBbUhTY1c1NG1Xa0w2MnRiYlQvRkJKeXcveGFjQmpDMzVsaXJLd2xa?=
 =?utf-8?B?ZFRFaU1wSGxQRGJVN2pKanpCQzdPVWtzdHFpaTJNWi9STmQzbjN1QlJ3NFQw?=
 =?utf-8?B?ZjhhS3JndU1nc0d5UU5KK2VENG4rNm9ZeWV6VzVURDdGMkVxYTJLU20xWnM2?=
 =?utf-8?B?MVRjL3VLbjRDcFIwQnNMeU91c2dhd0VEV05jQnl0UEE5SXA1Z1RSWmY0NlBw?=
 =?utf-8?B?MmMxWnRUVWxLeHJla0lCa0JSeUoyRkhqSmlsN3FHaTdwQlF0azhpSG9VS3g5?=
 =?utf-8?B?bkRsYktjNjdDZWhBaWg1OG1FdEFROU1NajlvMStYTjgzVU1mR3lWVjNKNy80?=
 =?utf-8?B?bGtqOFN6MVdZUGdmYkNsWVdkVVBId3BPbWFGOG51RVFWWnNQY0kvcWxyZzFJ?=
 =?utf-8?B?SytWRlFvODJqMzJMR0NLVWVqUGZEaVJjSFY1WEQ4KzY2ckJvNWRSVGh6UnJ3?=
 =?utf-8?B?aHJnVGFRdm95OXhWQXlHdXg3L3Ara0M0bmpxNnN3bnRGNjNWb3pLSGt2R3BL?=
 =?utf-8?B?YytoVmZoZkQvWGsybUJEVnFFZ0FySHE4UHdFb3lGNFlVNkxRQW8wMVd6N3hi?=
 =?utf-8?B?dDdWVlIrS283dWVEYXl4V2tqckhrOHJ1dHBiZWVuV09mZytxSlVsdTZhcTFx?=
 =?utf-8?B?bksrS2NhVC95cm1IV28vWEhXcTNVMjlqRDF5U3NMRVIwSUZLOWFOTXQvUmxW?=
 =?utf-8?B?azZ0UmpRQ0Z5cllIRHdYVlJNbGlzcDlKRHlRZmNGSjBrdmsxTExoK2h1VlRo?=
 =?utf-8?B?M2dPc242UUY4T2Ztc0M5dm5SOUhJcnAwaVdtUWNBWTNBSHBnTXNyaEhMbjBx?=
 =?utf-8?B?eFpNTnBuVzgvSjhja2xuSnBZb2ZZSFJBUXUzQ0pGb0lZVTlxNW5YMjR5clIv?=
 =?utf-8?B?SUJhbkJZK2hrSTdRZDN0VGwyTXJFQkcxOUdpZHp3aThJN2JsK1RjcURwenJ2?=
 =?utf-8?B?bXpsaFFDTnU1MzJKamtpWGxnWlVxQTBuM2tLWllvMmVWWjhxM1dnc2RXbFVV?=
 =?utf-8?B?dzFTQzgwWjY1OTNLUHQ2REk0YUd1RTVyRTFXYkVTZEd2S1N4TTZOdThxdGpj?=
 =?utf-8?B?bnhTU0Y4N3pxYXpZMmYzN3ZEYUczUmNGQzFtTWJiczE3NnpCckVYbnBvaXlL?=
 =?utf-8?B?ZFhEMG5UT1M3Z25zT3dSMUk2UitjOElFdTJRZkNYenZ6V0hjUU5YejVLWmMw?=
 =?utf-8?B?NXF6SVl0aGxJK2M3SDd3UWJyZEJYTGU0ZkRmT3h1dUhEMjVHalJOQTdtUEJr?=
 =?utf-8?B?R1ZORVd1eTh3WG1XUkI5Vk1vaGF2THBrTGdzSW44eHIxOEVPUXNKYnA5VW1h?=
 =?utf-8?Q?eZZtx/OfTQrZ0+bhVvpR4xEsT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3396b380-fd91-42cd-3dce-08db2ade134e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 14:02:29.9151
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wYJLEJ+5H13DEgtFXd9OHgZGzECgC3nbb6EaZI+2Ucv4pXmkOASFw3yJIEtfWWeV3qvJDAQjnIDjGQLAKfWV/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7723

On 22.03.2023 14:51, Julien Grall wrote:
> I am a bit puzzled with what you wrote. From my understanding, with 
> -noPIE, the compiler would be free to use absolute address rather than 
> pc-relative one. Do you have any pointer to documentation that would 
> back your reasoning?

It might for RV32 (using lui), but for 64-bit the ISA simply doesn't
have any halfway efficient means to load addresses in other than a
PC-relative manner [1]. -nopie really suppresses the compiler emitting
code going through .got (which then indeed would mean using absolute
addresses). I understand that at least for now RV32 isn't really of
interest; if it were, I guess the concern would be more significant.

Jan

[1] There aren't even suitable relocations to express such in ELF,
because you'd need to have a way to get at the top 32 bits of an
address. The only alternative would be .got-like indirection without
actually using .got.


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 14:13:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 14:13:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513482.794537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pezDo-0007d7-Rb; Wed, 22 Mar 2023 14:13:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513482.794537; Wed, 22 Mar 2023 14:13: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 1pezDo-0007d0-OU; Wed, 22 Mar 2023 14:13:48 +0000
Received: by outflank-mailman (input) for mailman id 513482;
 Wed, 22 Mar 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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pezDn-0007cu-EK
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 14:13:47 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1956cf9-c8bb-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 15:13:46 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8215.eurprd04.prod.outlook.com (2603:10a6:20b:3b3::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 14:13:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 14:13: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: c1956cf9-c8bb-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mulVxBlkFjxCtByDrfD3jC8MjbJGn+ev1iOurJh8S15yNfycMvEe0YwF5kEEfsQ1ipbuMlo8SUEQ/hmj6P63tfdAHcjdWo+tqdWBhDDCRU1olAuN4c4SlgzCqWbOEg35SuWgLGZgzwztSv2xWw4IKvzr0QkyMrVbwsSPHNy8sARMNcEQrwRk+sLXEwdmmk1jl75mH85wuA2hks94q1g1b5tJe+7vYT4tH87Li0ZKR4MY6JQ3WBWpb8nqv4pP2jKumhv0RahvxJddybdeLrLhEjsFlleQx7ZqjQHjTwugDcEPIi+Fvq24Rs7m2xMQ+KVW2BMn6ok8ZeSHd4VLuQm3ww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tk5dJmoYspXo1dpTSv3sSNfP/AX01SlK860/F1mFoNg=;
 b=UCMIjoma5Bah/OWU7V9h2Ru862Pd7zGNqca6sQoSeOc+AIHlxaOSQAWv0WoRIDq/LDWPM8wdhNgRzBFdFKDy5Y9tp4NthZCq0mh1wT1vfSKfcA8ErErNhyjC52b0bBc7f9I9v3VA64FttIU06LHFfXF+EQ+xnqOBWZkG91WcokJ9pRHdIC/3IMa/P6T7JfuNbSY51ocXTLzCXZIq/tfwAtsnUSBdKjMXshED6alsnkgdh9/4j/uRuVVQ4qBveZAjCJy0c5QWNJEnspV2Yvk/RT1iMWcXwOEiHMq3sCVFqDhPg42m+BQ/weGT7SFbZls+I0yKTEkVuVPgw7CeCt6KfA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tk5dJmoYspXo1dpTSv3sSNfP/AX01SlK860/F1mFoNg=;
 b=5dBGgv5BsGyKE8K60/8waD19UMbtqnvILtj8rGsMLFhokWDlrsMQSvy9i+8r3lMJ8JFYre9YtyYYlKIemRelF0eTvElZ+E7rjNM4NSs+x7NPntOt/7G9nn6qicPdXxjOWhcCZ2u9y0RwUbFic9AbrJhBc9W2BKtRkE0K9ySsCgny825v0ezGKT6JgaolJH2BxI0cBr6A7xBRrD6AffBDBlAuKZRMKRlpWPJTQqspy5fITypE7eVQO1uTYnFNZZp/6uWjj1wLXSYk7wiNM80hzUrZb7Ttxn8/8XJiNCoku/I3UYgLQmGpWpLgRy5totZuWYqXe/j+6XnVrVKu33JvaQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a07f94d8-85cd-a73f-704c-761a04ec3b3b@suse.com>
Date: Wed, 22 Mar 2023 15:13:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [XEN PATCH v2] build: detect compiler change to rerun kconfig
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230320152836.43205-1-anthony.perard@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230320152836.43205-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0135.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8215:EE_
X-MS-Office365-Filtering-Correlation-Id: 282e6f99-5760-4776-5f46-08db2adfa4e0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L3PMDCFneJxmI7pjtvEfVwNva52xbUxd+QsTV0/lt0PTZY4TLEgtRsMqSGrWSauaI8mh+y5ze6WS33EOiuYk0eTvOcvk9GZbioTcC/IpjNt8UahM1IUNE+ROQ/f2wL8mqqVyzPBqRMagSzqcjOJgGo0+ALBaHjDrmXo/vawMOL/UV4GYWqwmUyUrMj46jqpX9cDEU09yaVATDkgUOmQDSCDK39BnimDvV3JdeUx48rRJXQ28Hj9DPYV7MSyGh1nHrdCeEN2jZE7jISrHSvmXHIQBuo1eMDgzh4MKNU8casxU2UzWWjwHkKGDztWjyL/z/rzr1zEZU/PijQiT48nSe9ekGVkUbgl1aRetQCTd+K6ZJrJ1LYMef5SKA5R8NXoHj9ehl9cLWLuW00/PKn8wBFJRhXE3H8N5+LdYHJmMFdfJLwtU2yQJv2wowMjrs1fb863RUFEIhfubuxRxPdMAnhJMa1hsEfpu7UMw4Qo1Q0Y8gs4J6ej66e3tXMCbR4YsE/f48PxyHMr20/mfHgT3Nkj/7BeqNXNgsiPfu+bT5l/LfZ7O2iX1frq+CSnlar3V5YC/jubZZJT6SBTNxQ70pGt9+jLu0UV8K+X/HmNDtrOWBxu+ue8hIKNC1V1ny0rq4qjC/chbByefVsXuDQcxCV2J487qECdXXPmW7DZHDPg9iNg0/vWd4MEuyd5SE2D4W+oHKaAAiVPk2y2ANpLgxmRjxqjI3PzUL6YsfBLtUKU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(376002)(366004)(346002)(396003)(39860400002)(451199018)(31686004)(66476007)(316002)(54906003)(41300700001)(66946007)(66556008)(4326008)(8676002)(8936002)(36756003)(478600001)(6916009)(31696002)(86362001)(6512007)(186003)(53546011)(6486002)(2616005)(26005)(6506007)(5660300002)(2906002)(83380400001)(966005)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TXo2UVlrNWxGYnd3bVlGNGxyZmpXcWMvN2d3ZHZvOGFoSDEyMDY4YVJ1WTJH?=
 =?utf-8?B?SnhWemdyY0xpa0JiWWhsR0c0UldqeXI2Z1AvL0syMmJjTzJLUlFlaDIrS2pM?=
 =?utf-8?B?MGEyZm42SmtBWStCRG05aHYwUjFxZmdtaEd4eXlaY1ZVczNZYThQaDFPMElZ?=
 =?utf-8?B?RlF6eWdERnc3SWdEMHlvZjFmdUluMGFGYmhydjNiVlE1Z3BkSWtmam1TbEFY?=
 =?utf-8?B?czhzMUNFVFRPUXBURXR5by9DUE9KeURKdDBzRUpOQzZTT3hSL2FYU1I4T1Bu?=
 =?utf-8?B?aHZDcGdrbWtQL3lmampGYjZOelRISU1QcWlvaDZZZUZzOXl4dVZRTW8xWkpN?=
 =?utf-8?B?b2xqYWd4UjI1eSsycnpkY25IalVjQ21XTUxQN1lSRXNFVzl4UldmRFA5YXY5?=
 =?utf-8?B?OGNiV2h2YmVLcTlHQkpadzFsU0hoZHJlbWZvSlhJUFQ5U1pzOWFWa2JFaUpW?=
 =?utf-8?B?bmd4M2NpZXd5ckZ1bGhKakh1bDVnVk5ZWG93OXREQ3BtQ3l6Z2J6dXBFZExk?=
 =?utf-8?B?S1NyVi9oaFpKOXZUL0ZOUDBxUDFEYnBOWVVXR3FHa0tFRVF4QmovcW51alR5?=
 =?utf-8?B?US9xeW1FU05md0lCbnlxOUhRWDBOMWtYU2Q3dUpucVBVajdzdmJ3YzlWb0ZD?=
 =?utf-8?B?UFFjREViZ2tWNm4wR2FJQTRBZmZYUEpZTjZGeGY1RkVBd3l1SU9DR3dhaE1m?=
 =?utf-8?B?UklPZklNaGxJU3FzZlJUZk43SFJISVRxOFB5QmpWUGRzYllSbUZ5d2JpVmtO?=
 =?utf-8?B?MDlWRmpvSElibXpCeFRQRWJUckcwekVXUWoyZElWb2lSQ0t4TWx0ZkN5eW04?=
 =?utf-8?B?V0U5Wko4cFh1eVNVYktFd0lNSlFMWFQ2dGYyMGpoU0lIcGUvNElDeVNyTm1l?=
 =?utf-8?B?VnFGS2s5MzBkL29HMFRWNWVhRVRMVkpqME5uMDdKRGk1Ty95L2liNjVET0Z1?=
 =?utf-8?B?VENtS3lRYjlMVlJ6Yy9wSnVCd1YwMjFKajAwL21ZblpVYThUbmZXcWM2dllH?=
 =?utf-8?B?dXRlRDVvNEQwVUVRK29wVzhpekVxOTU4RnI0RGVsdEErNVVuV09BWUhiY0dz?=
 =?utf-8?B?VmtCbE82WnBmd09JeWhEZnZFT1J5eE1HZmd5NlpoM1ROWG9DZ2w4cHE3dXgy?=
 =?utf-8?B?RERrU3BvaVZ0bTNwREI0a0lieUdUOWxWMWtybFhLL0REdkpBNU8xQ3NnS3Qw?=
 =?utf-8?B?ZjRPSHUvSGhvcjJ4TWJYdFYzNEx0a3dqWGtybWlIQmZiRVNxeHRhdGVPQW5G?=
 =?utf-8?B?eVZVSHJNOThmOGV3VjJGZWNiVkQyRHJoYXg1cG5ETjMyaFBsa1NueDN2OUh3?=
 =?utf-8?B?V2dBTER5QVNuRnVzS2tqQWtZNDZyWm5tSzZ1NDZ5S0tJZXdsOW9yZmRzRE9F?=
 =?utf-8?B?ajRLTmFQQ2dDa09YQjYwYnBrZlNJc3dlcitDMXVhR1JoMjd2VllUNk5UcmE2?=
 =?utf-8?B?b3hqV3l0Qm51NER3S3lzeHdrUjl0NXR5SGpySGVYQTI3aVFrbzRWN3FoUTZo?=
 =?utf-8?B?LzNyeEJTbitITEQ5cjVKK0YxQ2tELzZLRG9qOXZuVXpIcVhiRytxWHJqMjV4?=
 =?utf-8?B?SHF5UlV1VVNqcVMzeEVuSlBwclF3dGRnYWhsSG1kcm5seEtIVGZ5OUIvaXdv?=
 =?utf-8?B?UURpbGJLdWFYWkZucEx4ZkY2Y2hkSDljalNiYm5RcFFUQXFpZGVvV0RpT05u?=
 =?utf-8?B?bm9WTmlCbzhxYlE4eU9seUhBRlN6WmI3dGg4TmYwY0dBcHpCRkJ3azRGdngy?=
 =?utf-8?B?VXhORU4vQk5IU1pJUTJETUs3Q0wvMWJyTlJCU0dhL0tKZUdsVmVQNGkvbFZa?=
 =?utf-8?B?T0FxbmFKbTRZK3laWmphM2xhNWxaZXdvVFRGakZoc3M2WnZzOFlSNkFJN0tn?=
 =?utf-8?B?dURrb1JhMkJRYUI0K0J3Y0dKUmRNeG82K0tMNkxLL3h6MHNPaTFqNXRTTTZl?=
 =?utf-8?B?WEN1MmhDb2QwRmpCQTlkQjUyajVyUDBtckpqMnFQUWVMUzlGTHJQcmtCL29y?=
 =?utf-8?B?d2JnVUN5alJrYkhEQk40dURLM0lQc2crNlh2SDVubHRGV1ppSG9FTjUxV2J0?=
 =?utf-8?B?QXhwUkFDQlVtTW1PUWZ4RzJzcnJ3V1pvUkd4c284Z09RcXNQcEpTYmVodThO?=
 =?utf-8?Q?WqN6tutdKXrSnfcw5iDBwRRBg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 282e6f99-5760-4776-5f46-08db2adfa4e0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 14:13:43.6392
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 77PIse0AJ3LTw7WIdue92GVv12PimNyLLIbaGHBBEcYbfBLZWskGZjx/GU0YQ32OkLtJrxFUVVOZp+9lpa9Vwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8215

On 20.03.2023 16:28, Anthony PERARD wrote:
> This simple comment allows to detect when $(CC) changes version.
> Kconfig will be rerun in this case. (Rerun is forced by
> include/config/auto.conf.cmd which detects changes of CC_VERSION_TEXT
> value).
> 
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
> 
> Technically, it was acked by Andrew:
>     https://lore.kernel.org/xen-devel/20200326135621.687685-1-anthony.perard@citrix.com/t/#ma1171775b9938bcdffc80b2fcb8d2a883cd3e32a

And technically - comment visible under the same link - this still
isn't what we would need to address one of the arguments around not
storing tool chain capabilities in .config: The version string may
not change, but an update may still have brought a new option the
compiler understands (or a downgrade may have taken away one). In
fact this change is working against the proposed direction of not
making .config contents dependent upon tool chain properties. But
of course that proposal wasn't adopted yet, so for the time being
this still looks to be an improvement.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 14:21:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 14:21:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513487.794550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pezKx-0000vU-LX; Wed, 22 Mar 2023 14:21:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513487.794550; Wed, 22 Mar 2023 14:21: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 1pezKx-0000vN-Iq; Wed, 22 Mar 2023 14:21:11 +0000
Received: by outflank-mailman (input) for mailman id 513487;
 Wed, 22 Mar 2023 14:21: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 1pezKw-0000vH-IJ
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 14:21: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 1pezKv-0007gr-BL; Wed, 22 Mar 2023 14:21:09 +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 1pezKv-0002cI-2M; Wed, 22 Mar 2023 14: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>
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=9cKoXziBhSsKdtKyNSQ7069aSRitwOlpgY9BbzwUhJY=; b=B7MPOUiJMhUmld+5kNAgTVDk4o
	ZBT12Gq9EISCnKTdKDtZfnY/3MsXxFkZ7dVU6tVIwUsT8M44Yx9UC2qu1kONXs613b2C3iD/iHrlj
	KdLarmhxrb2J+MX2xp4jBawI/afEUx3w1rb+Kxx+RVhyQgIPwkbwKQ6OTtU5S1j1Tmvs=;
Message-ID: <60444252-80b6-230e-9090-2c96d5d6187d@xen.org>
Date: Wed, 22 Mar 2023 14:21:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
 <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
 <5169c6c8a0c4c90b56e3f525a55de464edf7181e.camel@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5169c6c8a0c4c90b56e3f525a55de464edf7181e.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 22/03/2023 09:55, Oleksii wrote:
> Hi Jullien,

Hi,

> On Tue, 2023-03-21 at 17:58 +0000, Julien Grall wrote:
>> Hi,
>>
>> I will try to not repeat the comment already made.
>>
>> On 16/03/2023 16:43, Oleksii Kurochko wrote:
>>> Mostly the code for setup_initial_pages was taken from Bobby's
>>> repo except for the following changes:
>>> * Use only a minimal part of the code enough to enable MMU
>>> * rename {_}setup_initial_pagetables functions
>>> * add an argument for setup_initial_mapping to have
>>>     an opportunity to make set PTE flags.
>>> * update setup_initial_pagetables function to map sections
>>>     with correct PTE flags.
>>> * introduce separate enable_mmu() to be able for proper
>>>     handling the case when load start address isn't equal to
>>>     linker start address.
>>> * map linker addresses range to load addresses range without
>>>     1:1 mapping.
>>> * add safety checks such as:
>>>     * Xen size is less than page size
>>>     * linker addresses range doesn't overlap load addresses
>>>       range
>>> * Rework macros {THIRD,SECOND,FIRST,ZEROETH}_{SHIFT,MASK}
>>> * change PTE_LEAF_DEFAULT to RX instead of RWX.
>>> * Remove phys_offset as it isn't used now.
>>> * Remove alignment  of {map, pa}_start &= XEN_PT_LEVEL_MAP_MASK(0);
>>> in
>>>     setup_inital_mapping() as they should be already aligned.
>>> * Remove clear_pagetables() as initial pagetables will be
>>>     zeroed during bss initialization
>>> * Remove __attribute__((section(".entry")) for
>>> setup_initial_pagetables()
>>>     as there is no such section in xen.lds.S
>>> * Update the argument of pte_is_valid() to "const pte_t *p"
>>>
>>> Origin:
>>> https://gitlab.com/xen-on-risc-v/xen/-/tree/riscv-rebase 4af165b468
>>> af
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> ---
>>> Changes in V2:
>>>    * update the commit message:
>>>    * Remove {ZEROETH,FIRST,...}_{SHIFT,MASK, SIZE,...} and
>>>      introduce instead of them XEN_PT_LEVEL_*() and LEVEL_*
>>>    * Rework pt_linear_offset() and pt_index based on
>>> XEN_PT_LEVEL_*()
>>>    * Remove clear_pagetables() functions as pagetables were zeroed
>>> during
>>>      .bss initialization
>>>    * Rename _setup_initial_pagetables() to setup_initial_mapping()
>>>    * Make PTE_DEFAULT equal to RX.
>>>    * Update prototype of setup_initial_mapping(..., bool writable) -
>>>>
>>>      setup_initial_mapping(..., UL flags)
>>>    * Update calls of setup_initial_mapping according to new
>>> prototype
>>>    * Remove unnecessary call of:
>>>      _setup_initial_pagetables(..., load_addr_start, load_addr_end,
>>> load_addr_start, ...)
>>>    * Define index* in the loop of setup_initial_mapping
>>>    * Remove attribute "__attribute__((section(".entry")))" for
>>> setup_initial_pagetables()
>>>      as we don't have such section
>>>    * make arguments of paddr_to_pte() and pte_is_valid() as const.
>>>    * make xen_second_pagetable static.
>>>    * use <xen/kernel.h> instead of declaring extern unsigned long
>>> _stext, 0etext, _srodata, _erodata
>>>    * update  'extern unsigned long __init_begin' to 'extern unsigned
>>> long __init_begin[]'
>>>    * use aligned() instead of
>>> "__attribute__((__aligned__(PAGE_SIZE)))"
>>>    * set __section(".bss.page_aligned") for page tables arrays
>>>    * fix identatations
>>>    * Change '__attribute__((section(".entry")))' to '__init'
>>>    * Remove phys_offset as it isn't used now.
>>>    * Remove alignment  of {map, pa}_start &=
>>> XEN_PT_LEVEL_MAP_MASK(0); in
>>>      setup_inital_mapping() as they should be already aligned.
>>>    * Remove clear_pagetables() as initial pagetables will be
>>>      zeroed during bss initialization
>>>    * Remove __attribute__((section(".entry")) for
>>> setup_initial_pagetables()
>>>      as there is no such section in xen.lds.S
>>>    * Update the argument of pte_is_valid() to "const pte_t *p"
>>> ---
>>>    xen/arch/riscv/Makefile           |   1 +
>>>    xen/arch/riscv/include/asm/mm.h   |   8 ++
>>>    xen/arch/riscv/include/asm/page.h |  67 +++++++++++++++++
>>>    xen/arch/riscv/mm.c               | 121
>>> ++++++++++++++++++++++++++++++
>>>    xen/arch/riscv/riscv64/head.S     |  65 ++++++++++++++++
>>>    xen/arch/riscv/xen.lds.S          |   2 +
>>>    6 files changed, 264 insertions(+)
>>>    create mode 100644 xen/arch/riscv/include/asm/mm.h
>>>    create mode 100644 xen/arch/riscv/include/asm/page.h
>>>    create mode 100644 xen/arch/riscv/mm.c
>>>
>>> diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
>>> index 443f6bf15f..956ceb02df 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 += mm.o
>>>    obj-$(CONFIG_RISCV_64) += riscv64/
>>>    obj-y += sbi.o
>>>    obj-y += setup.o
>>> diff --git a/xen/arch/riscv/include/asm/mm.h
>>> b/xen/arch/riscv/include/asm/mm.h
>>> new file mode 100644
>>> index 0000000000..3cc98fe45b
>>> --- /dev/null
>>> +++ b/xen/arch/riscv/include/asm/mm.h
>>> @@ -0,0 +1,8 @@
>>> +#ifndef _ASM_RISCV_MM_H
>>> +#define _ASM_RISCV_MM_H
>>> +
>>> +void setup_initial_pagetables(void);
>>> +
>>> +extern void enable_mmu(void);
>>> +
>>> +#endif /* _ASM_RISCV_MM_H */
>>> diff --git a/xen/arch/riscv/include/asm/page.h
>>> b/xen/arch/riscv/include/asm/page.h
>>> new file mode 100644
>>> index 0000000000..fb8329a191
>>> --- /dev/null
>>> +++ b/xen/arch/riscv/include/asm/page.h
>>> @@ -0,0 +1,67 @@
>>> +#ifndef _ASM_RISCV_PAGE_H
>>> +#define _ASM_RISCV_PAGE_H
>>> +
>>> +#include <xen/const.h>
>>> +#include <xen/types.h>
>>> +
>>> +#define PAGE_ENTRIES                (1 << PAGETABLE_ORDER)
>>> +#define VPN_MASK                    ((unsigned long)(PAGE_ENTRIES
>>> - 1))
>>> +
>>> +#define PAGE_ORDER                  (12)
>>> +
>>> +#ifdef CONFIG_RISCV_64
>>> +#define PAGETABLE_ORDER             (9)
>>> +#else /* CONFIG_RISCV_32 */
>>> +#define PAGETABLE_ORDER             (10)
>>> +#endif
>>> +
>>> +#define LEVEL_ORDER(lvl)            (lvl * PAGETABLE_ORDER)
>>> +#define LEVEL_SHIFT(lvl)            (LEVEL_ORDER(lvl) +
>>> PAGE_ORDER)
>>> +#define LEVEL_SIZE(lvl)             (_AT(paddr_t, 1) <<
>>> LEVEL_SHIFT(lvl))
>>> +
>>> +#define XEN_PT_LEVEL_SHIFT(lvl)     LEVEL_SHIFT(lvl)
>>> +#define XEN_PT_LEVEL_ORDER(lvl)     LEVEL_ORDER(lvl)
>>> +#define XEN_PT_LEVEL_SIZE(lvl)      LEVEL_SIZE(lvl)
>>> +#define XEN_PT_LEVEL_MAP_MASK(lvl)  (~(XEN_PT_LEVEL_SIZE(lvl) -
>>> 1))
>>> +#define XEN_PT_LEVEL_MASK(lvl)      (VPN_MASK <<
>>> XEN_PT_LEVEL_SHIFT(lvl))
>>> +
>>> +#define PTE_SHIFT                   10
>>> +
>>> +#define PTE_VALID                   BIT(0, UL)
>>> +#define PTE_READABLE                BIT(1, UL)
>>> +#define PTE_WRITABLE                BIT(2, UL)
>>> +#define PTE_EXECUTABLE              BIT(3, UL)
>>> +#define PTE_USER                    BIT(4, UL)
>>> +#define PTE_GLOBAL                  BIT(5, UL)
>>> +#define PTE_ACCESSED                BIT(6, UL)
>>> +#define PTE_DIRTY                   BIT(7, UL)
>>> +#define PTE_RSW                     (BIT(8, UL) | BIT(9, UL))
>>> +
>>> +#define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE |
>>> PTE_EXECUTABLE)
>>> +#define PTE_TABLE                   (PTE_VALID)
>>> +
>>> +/* Calculate the offsets into the pagetables for a given VA */
>>> +#define pt_linear_offset(lvl, va)   ((va) >>
>>> XEN_PT_LEVEL_SHIFT(lvl))
>>> +
>>> +#define pt_index(lvl, va)   pt_linear_offset(lvl, (va) &
>>> XEN_PT_LEVEL_MASK(lvl))
>>> +
>>> +/* Page Table entry */
>>> +typedef struct {
>>> +    uint64_t pte;
>>> +} pte_t;
>>> +
>>> +/* Shift the VPN[x] or PPN[x] fields of a virtual or physical
>>> address
>>> + * to become the shifted PPN[x] fields of a page table entry */
>>> +#define addr_to_ppn(x) (((x) >> PAGE_SHIFT) << PTE_SHIFT)
>>> +
>>> +static inline pte_t paddr_to_pte(const unsigned long paddr)
>>> +{
>>> +    return (pte_t) { .pte = addr_to_ppn(paddr) };
>>> +}
>>> +
>>> +static inline bool pte_is_valid(const pte_t *p)
>>> +{
>>> +    return p->pte & PTE_VALID;
>>> +}
>>> +
>>> +#endif /* _ASM_RISCV_PAGE_H */
>>> diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
>>> new file mode 100644
>>> index 0000000000..0df6b47441
>>> --- /dev/null
>>> +++ b/xen/arch/riscv/mm.c
>>> @@ -0,0 +1,121 @@
>>> +#include <xen/compiler.h>
>>> +#include <xen/init.h>
>>> +#include <xen/kernel.h>
>>> +#include <xen/lib.h>
>>> +#include <xen/page-size.h>
>>> +
>>> +#include <asm/boot-info.h>
>>> +#include <asm/config.h>
>>> +#include <asm/csr.h>
>>> +#include <asm/mm.h>
>>> +#include <asm/page.h>
>>> +#include <asm/traps.h>
>>> +
>>> +/*
>>> + * xen_second_pagetable is indexed with the VPN[2] page table
>>> entry field
>>> + * xen_first_pagetable is accessed from the VPN[1] page table
>>> entry field
>>> + * xen_zeroeth_pagetable is accessed from the VPN[0] page table
>>> entry field
>>> + */
>>> +pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
>>> +    xen_second_pagetable[PAGE_ENTRIES];
>>> +static pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
>>> +    xen_first_pagetable[PAGE_ENTRIES];
>>> +static pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
>>> +    xen_zeroeth_pagetable[PAGE_ENTRIES];
>>> +
>>> +extern unsigned long __init_begin[];
>>> +extern unsigned long __init_end[];
>>> +extern unsigned char cpu0_boot_stack[STACK_SIZE];
>>> +
>>> +static void __init
>>> +setup_initial_mapping(pte_t *second, pte_t *first, pte_t *zeroeth,
>>> +                      unsigned long map_start,
>>> +                      unsigned long map_end,
>>> +                      unsigned long pa_start,
>>> +                      unsigned long flags)
>>> +{
>>> +    unsigned long page_addr;
>>> +
>>> +    // /* align start addresses */
>>> +    // map_start &= XEN_PT_LEVEL_MAP_MASK(0);
>>> +    // pa_start &= XEN_PT_LEVEL_MAP_MASK(0);
>>
>> They should be switched to ASSERT() or BUG_ON().
> Sure. Thanks. I'll update.
>>
>>> +
>>> +    page_addr = map_start;
>>> +    while ( page_addr < map_end )
>>
>> This loop is continue to assume that only the mapping can first in
>> 2MB
>> section (or less if the start is not 2MB aligned).
>>
>> I am OK if you want to assume it, but I think this should be
>> documented
>> (with words and ASSERT()/BUG_ON()) to avoid any mistake.
> I add a check in setup_initial_pagetables:
>       BUG_ON(load_addr_start % (PAGE_ENTRIES * PAGE_SIZE) != 0);
> Probably this is not a correct place and should be moved to
> setup_initial_mapping() instead of setup_initial_pagetables()

Yes it should be moved in setup_initial_mapping().

>>
>>> +    {
>>> +        unsigned long index2 = pt_index(2, page_addr);
>>> +        unsigned long index1 = pt_index(1, page_addr);
>>> +        unsigned long index0 = pt_index(0, page_addr);
>>> +
>>> +        /* Setup level2 table */
>>> +        second[index2] = paddr_to_pte((unsigned long)first);
>>> +        second[index2].pte |= PTE_TABLE;
>>> +
>>> +        /* Setup level1 table */
>>> +        first[index1] = paddr_to_pte((unsigned long)zeroeth);
>>> +        first[index1].pte |= PTE_TABLE;
>>> +
>>> +
>>
>> NIT: Spurious line?
> Yeah, should be removed. Thanks.
>>
>>> +        /* Setup level0 table */
>>> +        if ( !pte_is_valid(&zeroeth[index0]) )
>>
>> On the previous version, you said it should be checked for each
>> level.
> I had a terrible internet connection, and my message wasn't sent.

No worries.

> 
> I decided not to check that l2 and l1 are used only for referring to
> the next page table but not leaf PTE. So it is safe to overwrite it
> each time (the addresses of page tables are the same all the time)

You are letting the caller to decide which page-table to use for each 
level. So you are at the mercy that caller will do the right thing.

IHMO, this is a pretty bad idea because debugging page-tables error are 
difficult. So it is better to have safety in place. This is not worth...

  and
> probably it will be better from optimization point of view to ignore if
> clauses.

... the optimization in particular when this is at boot time.

> 
> And it is needed in case of L0 because it is possible that some
> addressed were marked with specific flag ( execution, read, write ) and
> so not to overwrite the flags set before the check is needed.
In which case you should really report an error because the caller may 
have decide to set execution flag and you don't honor. So when the code 
is executed, you will receive a fault and this may be hard to find out 
what happen.

> 
>> the next page table but not leaf PTE.But here you still only check
>> for a single level.
>>
>> Furthermore, I would strongly suggest to also check the valid PTE is
>> the
>> same as you intend to write to catch any override (they are a pain to
>> debug).
> but if load addresses and linker addresses don't overlap is it possible
> situation that valid PTE will be overridden?

A bug in the code. In fact, if you add the check you would have notice 
that your existing code is buggy (see below).

>>
>>> +        {
>>> +            /* Update level0 table */
>>> +            zeroeth[index0] = paddr_to_pte((page_addr - map_start)
>>> + pa_start);
>>> +            zeroeth[index0].pte |= flags;
>>> +        }
>>> +
>>> +        /* Point to next page */
>>> +        page_addr += XEN_PT_LEVEL_SIZE(0);
>>> +    }
>>> +}
>>> +
>>> +/*
>>> + * setup_initial_pagetables:
>>> + *
>>> + * Build the page tables for Xen that map the following:
>>> + *   load addresses to linker addresses

I would suggest to expand because this is not entirely what you exactly 
are doing. In fact...

>>> + */
>>> +void __init setup_initial_pagetables(void)
>>> +{
>>> +    pte_t *second;
>>> +    pte_t *first;
>>> +    pte_t *zeroeth;
>>> +
>>> +    unsigned long load_addr_start   = boot_info.load_start;
>>> +    unsigned long load_addr_end     = boot_info.load_end;
>>> +    unsigned long linker_addr_start = boot_info.linker_start;
>>> +    unsigned long linker_addr_end   = boot_info.linker_end;
>>> +
>>> +    BUG_ON(load_addr_start % (PAGE_ENTRIES * PAGE_SIZE) != 0);
>>> +    if (load_addr_start != linker_addr_start)
>>> +        BUG_ON((linker_addr_end > load_addr_start && load_addr_end
>>>> linker_addr_start));
>>
>> I would suggest to switch to a panic() with an error message as this
>> would help the user understanding what this is breaking.
>>
>> Alternatively, you could document what this check is for.
> I think I will document it for now as panic() isn't ready for use now.
>>
>>> +
>>> +    /* Get the addresses where the page tables were loaded */
>>> +    second  = (pte_t *)(&xen_second_pagetable);
>>> +    first   = (pte_t *)(&xen_first_pagetable);
>>> +    zeroeth = (pte_t *)(&xen_zeroeth_pagetable);
>>> +
>>> +    setup_initial_mapping(second, first, zeroeth,
>>> +                          LOAD_TO_LINK((unsigned long)&_stext),
>>> +                          LOAD_TO_LINK((unsigned long)&_etext),
>>> +                          (unsigned long)&_stext,
>>> +                          PTE_LEAF_DEFAULT);
>>> +
>>> +    setup_initial_mapping(second, first, zeroeth,
>>> +                          LOAD_TO_LINK((unsigned
>>> long)&__init_begin),
>>> +                          LOAD_TO_LINK((unsigned
>>> long)&__init_end),
>>> +                          (unsigned long)&__init_begin,
>>> +                          PTE_LEAF_DEFAULT | PTE_WRITABLE);
>>> +
>>> +    setup_initial_mapping(second, first, zeroeth,
>>> +                          LOAD_TO_LINK((unsigned long)&_srodata),
>>> +                          LOAD_TO_LINK((unsigned long)&_erodata),
>>> +                          (unsigned long)(&_srodata),
>>> +                          PTE_VALID | PTE_READABLE);
>>> +
>>> +    setup_initial_mapping(second, first, zeroeth,
>>> +                          linker_addr_start,
>>> +                          linker_addr_end,
>>> +                          load_addr_start,
>>> +                          PTE_LEAF_DEFAULT | PTE_READABLE);

... this is not cover above. AFAIU, this is the one for the 1:1 mapping.

>>
>> As I said in v1, you need to use a different set of page-table here.
> If I understand you correctly I have to use a different set of page-
> table in case when it is possible that size of Xen will be larger then
> PAGE_SIZE. So I added to xen.lds.S a check to be sure that the size
> fits into PAGE_SIZE.

This is not what I was referring to. I was pointing out that second, 
first, zeroeth are exactly the same for all the callers. You want to 
introduce a second set of zeroeth table. You will want to do the same 
for first but it is not always used.

Otherwise, this is not going to work if Xen is loaded at a different 
address than the runtime.

That said, when I spoke with Andrew yesterday, he mentioned that your 
initial goal is to support the case where Xen is loaded at the runtime 
address. I understand this simplifies a lot the code and I told him I 
was OK with that. However, it would be good to document what are your 
goals in each series (this is not always clear what you skip on purpose).

> 
>> Also, where do you guarantee that Xen will be loaded at a 2MB aligned
>> address? (For a fact I know that UEFI is only guarantee 4KB
>> alignment).
> There is a check in setup_initial_pagetables:
>       BUG_ON(load_addr_start % (PAGE_ENTRIES * PAGE_SIZE) != 0);

This is not very obvious the check is to confirm that Xen is probably 
aligned. I would suggest to add a comment.

Also, you might want to use XEN_PT_LEVEL_SIZE(..) to make it more 
obvious what sort of alignment you are trying to enforce.

>>> +        la      sp, cpu0_boot_stack
>>> +        li      t0, STACK_SIZE
>>> +        add     sp, sp, t0
>>> +
>>> +        /*
>>> +         * Re-init an address of exception handler as it was
>>> overwritten  with
>>> +         * the address of the .L_mmu_is_enabled label.
>>> +         * Before jump to trap_init save return address of
>>> enable_mmu() to
>>> +         * know where we should back after enable_mmu() will be
>>> finished.
>>> +         */
>>> +        mv      s0, ra
>>> +        lla     t0, trap_init
>>> +        jalr    ra, t0
>>> +
>>> +        /*
>>> +         * Re-calculate the return address of enable_mmu()
>>> function for case
>>> +         * when linker start address isn't equal to load start
>>> address
>>> +         */
>>> +        add     s0, s0, t1
>>> +        mv      ra, s0
>>> +
>>> +        ret
>>
>> Missing ENDPROC?
> I haven't seen the usage of ENDPROC for RISC-V so it looks like it is
> not necessary.

Ok. Would the objdump be able to report the function properly then? I 
know that on Arm, it was necessary report assembly function properly.

>>
>>> diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
>>> index eed457c492..e4ac4e84b6 100644
>>> --- a/xen/arch/riscv/xen.lds.S
>>> +++ b/xen/arch/riscv/xen.lds.S
>>> @@ -179,3 +179,5 @@ SECTIONS
>>>    
>>>    ASSERT(!SIZEOF(.got),      ".got non-empty")
>>>    ASSERT(!SIZEOF(.got.plt),  ".got.plt non-empty")
>>> +
>>> +ASSERT(_end - _start <= MB(2), "Xen too large for early-boot
>>> assumptions")
>>
> ~ Oleksii
> 

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 14:33:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 14:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513494.794564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pezXB-0002kc-Ue; Wed, 22 Mar 2023 14:33:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513494.794564; Wed, 22 Mar 2023 14:33:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pezXB-0002kV-Re; Wed, 22 Mar 2023 14:33:49 +0000
Received: by outflank-mailman (input) for mailman id 513494;
 Wed, 22 Mar 2023 14:33: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=5r5y=7O=citrix.com=prvs=438090303=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pezXA-0002kP-1Y
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 14:33:48 +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 8c0f5ef3-c8be-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 15:33:45 +0100 (CET)
Received: from mail-dm6nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 22 Mar 2023 10:33:42 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BY5PR03MB5313.namprd03.prod.outlook.com (2603:10b6:a03:22b::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 14:33:39 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 14: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: 8c0f5ef3-c8be-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679495625;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=9bOL2r6FwUaohTXL8XzmQA3jMqbGhKAxerCJ1pfdQuQ=;
  b=d4RJ4J8gP0FzPY1Z2vt2sEKxgglK3eJTBdioXt5VeODGzRB4ag5A57Ge
   m9y+YaYE6aQhB8hVtLAfy47va/bIdrT4jxQPTmKiu1XbAiqRfDTAsl7k+
   QvCRtBUK0XM8Dnbd9R6ah+UfdYNBgdTZ2zF8B2tZcTYYnoOkJHwFIKgok
   c=;
X-IronPort-RemoteIP: 104.47.58.109
X-IronPort-MID: 102287501
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:wGt4aqB3Pr80+xVW/zviw5YqxClBgxIJ4kV8jS/XYbTApDtx1GNWx
 mEZX2mCPPvYYmWkKYhxbo/l9B8B75OAmN4wQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhC5ARkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw/8p5IVgTq
 PwhNw8TYwut19jq/KmWY7w57igjBJGD0II3nFhFlGmcIdN4BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI9exuuzm7IA9ZidABNPLPfdOHX4NNl1uwr
 WPa5WXpRBodMbRzzBLcqij21rCSxXqTtIQ6Pqem8qN2mn+p2XVPDhAVe3zjhfObsxvrMz5YA
 wlOksY0loAi+UruQtTjUhmQpH+fogVaS9dWC/c96gyG1uzT+QnxLmoOQyNFadcmnNQrXjFs3
 ViM9+4FHhRqubyRDH6YqLGdqGrqPTBPdDdTIygZUQEC/t/v5pkpiQ7CRcpiF6jzicDpHTb3w
 HaBqy1Wa6gvsPPnHp6TpTjv6w9AbLCQJuLpzm07hl6Y0z4=
IronPort-HdrOrdr: A9a23:wxjnVa93GhWNQRs+wDNuk+C7I+orL9Y04lQ7vn2ZKCY0TiX8ra
 uTdZsguCMc5Ax6ZJhCo7G90de7Lk80nKQdibX5Vo3PYOCJggWVEL0=
X-IronPort-AV: E=Sophos;i="5.98,282,1673931600"; 
   d="scan'208";a="102287501"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CK4VBN7p5IAWhiXMVtRjS+EtG89tCFyjLMrg4LknXTZHBskOVH+0yX3OyuSdwe9KipOYcMwT1Q/sqCMlZfg8eMknCDowy5nT0KwKj3vLyuvXGkO74hJ+zwqKrw3bdvDGQYFybDDYdx4Y/0ELyD5Il9uiQWwavmjOwWbwBTSlDSom0UhiNgoM3HFbFylAiuAVYZtpO6N2O/3n+0W4B5tzOaLJ2/pEq6AdokvwbWp1BI3hdp6ZwMkGGcfV2YJ3nQd+edoOHYPK3j4BAr7mrIQCqC7hsH1z6a/pOzIN867NtP6kPq8dg2xriVoaXM448LseJSwkDz3M5U8VEXbIlTCozA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kzaFxume0uRYmgH4EexaNIV87A9CEEjv92w7aVc5R0o=;
 b=hGcnsokBfCxqoL/lBCeaszhOP9NesRqvD6G54uDBzB5hIpErvXDVHAKB8+7Cn3oWfqToyRAMZRjB0ISdTTGQH1Dxijroph/D7LDhgQAntfYF1z/bze+4BagLWBcjLDEhZIONzIgpWMX85W+wz+/IMTH3FUSb5O8dmAO9ZX5xNiLMxTzCi92HjANrwp5WAUU7E5BFwpBrOgCFjse2/B3jIJvNfdldlVjYSPeFKT+ictRLGS7D+5vV0c9tgreGRlriIqA9/G127JLaGBn/Ty5bmAjDbYASqobXisCZV2zYENBU84+mXauoMfMIrTb1VRlU7pLMU0sJQkjtLqY8Zu8P+Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kzaFxume0uRYmgH4EexaNIV87A9CEEjv92w7aVc5R0o=;
 b=DJaxHM7GfEZHkcoHEHe384wjnG8Y1TMf7/DH5HlWOB+y/f8i1OKurOIBx5/COdU9NFJwPFqPWsFeEXCoEbiJ8RMNMXPdVRQ64Q5MTzzquyXydBXp8DTEOuYOWxAwmepE2f+BNZ5TpMGep25OypzFyy9fjFu30ylO8htgv902rKM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH v3] vpci/msix: handle accesses adjacent to the MSI-X table
Date: Wed, 22 Mar 2023 15:30:01 +0100
Message-Id: <20230322143001.66335-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.40.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0230.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:315::6) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BY5PR03MB5313:EE_
X-MS-Office365-Filtering-Correlation-Id: 8238b389-a79c-49f8-341e-08db2ae26d8a
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w4Ua2eg6pP2PAUe4jeJbiizPZ0fx7QU4PKaO9EXxVN6mz7mVM/lE8hGUkki3T5CXRlkmAvP0ksjKPKxFeuS1jIaW9cszAnAxstsskV0SpNIN+ubhrufaGAkGxdEyXXs+/egDbizjRBtYlDyoR6sWQCUef9KepUd1fQ+eLiwnj4rEzwcSrjrFbzSzj4WrDW++iiG1L+j5mv32zuh3iCrYj/RYpo32HMPiiGAzW+YfPDjx8ZMUGN2wRFdcwJzMmd00IlLN95LpiPg8a2fwkgk20o9Pf8rsrvnQzqwYQeiORzC4/CV0kiA2WxAKgaG/3yN33vlNuNLH5zXGAiLf7iZXLJ8aWelZBt3xp81EST6W09AX4I7uRVUnMc3GqOxhrS90lLtpSltO4CP4PLerTxzAQKrrsSYWyrtNYVyHMU2L9e9DSTH/ln5p5JbLWSKrxf4D9FToptiGuUrCr+DIyk98TqXfWEuVChedUOn8+LEEtDoI/co+KJ6tGwI4htmv5L739FahFkxGNn4IBCIYcLZ6OfJqHi5PGIGb2T5BifOTKcPlwx8txQ57fyb4UzRuGdZhUd0agYPY3jKHpbSNvvmAhKjLD/wo2Mcr+iukalZsa2JX3VWEn175IfXwh7rOFn6WozKNeOVTrxcgRTVldpbv2A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(136003)(346002)(396003)(39860400002)(376002)(451199018)(2616005)(107886003)(6666004)(6486002)(26005)(6512007)(6506007)(1076003)(186003)(82960400001)(38100700002)(2906002)(86362001)(83380400001)(478600001)(8936002)(4326008)(8676002)(66476007)(316002)(30864003)(6916009)(41300700001)(5660300002)(66556008)(66946007)(36756003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WVVYS0NFMkNkZGFNVXJ5UTViOE50LzU0MmJNdGl4Mit3ZTFrbkNZYWxidU1a?=
 =?utf-8?B?L3YyRDNsclhWQkd2TzFGZVVZdnNnMkYrSlduUzRWOWN1M0w2MG80ZXJaRWw3?=
 =?utf-8?B?bUI5TlpiR3lPK3lnVkVFTFNoa1Zqa0RxQzNSa0s0YTVuZXBXczhtcUppV2E5?=
 =?utf-8?B?MkkxYm5tSDRzM1oxREJjZ3F4NjhkNTdOZVBXN3BjWUh3eVM0UG83ZVJxOEdy?=
 =?utf-8?B?eE1POVZURklETWRUeGlDY2FRM0ZGNXRoRFNua1FUVWMzOStDbmczNElRRStq?=
 =?utf-8?B?ajh5a1NrWnBHKzBIYXRJTEUzUE04NkcwVWFLSE9CMXFkVlJacjBVcDFtNzVU?=
 =?utf-8?B?UWs2ejhsZDJISUpTcTNlMU8vZXlXcGNCUlpkaWh3MUZPemJETktDVjE4dXZw?=
 =?utf-8?B?eWN1Zmc0TEhucG43T3hBaGRERzFBczRCUktFdkJ5RzJ3YlYrbnA4c3RmbTYy?=
 =?utf-8?B?MEROVGFUVktOcllvVUQ3QnIyd0RiWWJvSHhQc1dFTENvN2ZrUSsyTkQxc0VD?=
 =?utf-8?B?WnFLelVWRHRrQVBBaVFQcjB5N2hrWTVjSnBHOE1RdTFsN2J2dnBPenlac3g3?=
 =?utf-8?B?TDZSelF6QUtqYUIyMklRNWJxRGJ1elVlL1A4TDlEVUJvcHJpVmVmY1pkUjln?=
 =?utf-8?B?bVhndmQxeklhZlFyc0diR1lIT29FUXlTS2piRFVIV3ZpT3YwUHNmbnM3cmJI?=
 =?utf-8?B?am1idmZnRVZuMmdpR3grcWVkbWtrTnpvVUZ4T0JwTUYzaUIydzArYXc3V3RT?=
 =?utf-8?B?bTFXbnF1dlptSHlESjNCckFaR1kzeEFhOWhXL2Nubmp6WFY1YmtPeC9vRGQw?=
 =?utf-8?B?dytRTlJxdXBKRDIxRysvbVJ6UWRmS05mblU0d0d3cjBrYnljZ2U2K3loVWZV?=
 =?utf-8?B?aXRSaXFFREhVQkx0VWlPUCtUUTF4RHoyVmVVSVhUcGNTM1dXMUFNZ1l3cjUw?=
 =?utf-8?B?ZUNBYjBHc2FKOCtPNDVNeFNLSlRpc28wc1JSR25oZ1JsemFFcG9WYkRSYm0y?=
 =?utf-8?B?c3U5b1hBQzVoOStvQUR3aGE0SHJSa0JQTjFGNjhTeXlPSXU1VTA5VDByNnhL?=
 =?utf-8?B?NVRFbURVY1FsSzBvb0ZGM0VFSVVQNjFTZ1gxTFYxeDN3aGdFVCtjcTBrZWov?=
 =?utf-8?B?QU5UcTlSTlFFSndwa3UxYkhhWHN3T2tvdENSeTczZDdwaEg5MWZYTHFuenlC?=
 =?utf-8?B?MURlTm5ZT3BwUVdVb00rTmtKNHp2aTcxc3ZoQUhCZVEwclhJdU9TUDdOb1hC?=
 =?utf-8?B?YmZMeURsUDdweVBLa29UMi9weWZWSTdyQVNOVjZtWU9yVDlzM1JZejVNMStv?=
 =?utf-8?B?ZGUrdHRwQkZlK1lqdExxVkVydllZU0FzUlZNYnhUdm84MzkxRXFJbnRaR2Nv?=
 =?utf-8?B?Q1VKam1UcEJqVlorVkN4ZS9HeFZ1K2d0R1M1SkNyWXhuNHE5MWZrRndNSkty?=
 =?utf-8?B?aTQzKzZTN3Y5ZmNnS3F5ZmRKSE1YNVFnbWR4N1VjdTlQSjFxS3NXazk3NVl2?=
 =?utf-8?B?SS8wUFA3dS9Ca1dwaFlFM2lxSkxSSStBRUlMeVVySWl2UkdsT3pjTXFHcldZ?=
 =?utf-8?B?bFRCVDZUWHhZbHB3SW1MdDl5aGNsMXR3d1M1NHdITEIyc0JoQmhLNHFLYi9O?=
 =?utf-8?B?MmQreHg2QWRERk11VlcwdXEzVjVsR3A3NnpBdjdqUityd0FkTjNnL0ZOQkh4?=
 =?utf-8?B?bHRWUU02eTFlLzVWQW1GQzEvKzFMVm5CTEJxU3RQVWVYMzlSQVhHSTVPalkz?=
 =?utf-8?B?VW5zQmNMbGF4cmNsSzBkOXF3R3pXeXloVjZGRkwxaHgzWkhmNW9GZ0N0bTJQ?=
 =?utf-8?B?NVkvU3FPbDBTL0hlc1B2YlFGd2dSczg2aXIzV29tOWhhdU5MQ2NaQjZyWExv?=
 =?utf-8?B?ajRvY0lvckZheDBrMzhNWFZ4bmpFcFh5Y3RhZWhYbjhGbTIrbytkODZZODBJ?=
 =?utf-8?B?aUt5ZFR3NHl2Wll3R2pxeXV1Rk90cThZR3dUcml0b1lHcnA0WDBUMmVPMlFv?=
 =?utf-8?B?RUJpVVNqSFpEdG9sY1dxK1ViQ3BMWU5zQWJYb0pzRUdHbHJZWWtMOGltMDBu?=
 =?utf-8?B?QnM0MGh2ZDBwcHVxenpVS0tmYjhOMS9nckZaVUtFUnpQVEExN0dCemR0a0dH?=
 =?utf-8?B?YjlPWHg2aUY2SGEzNXIxK1FxSVpRb1dWZHVWZFBUM0V6bCtyS1lVMUZQU2Jl?=
 =?utf-8?B?TkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	QAE/y/dxmDZvwvyGjeiprgldD4hjoVTjQe7uD+NfMxsNB6iwXNhugTha/Mpe8ws1600OGczQRRtJ19sddPuCzBFYUrYhvkuAKGUwL8OVqu+oKFhIffpTGq8xmHN1SIlKQtxWlrzYMgXFy+bQEg2qGldWykAT6/RYh1gE9otGe0EqUaphvPCtOHh9Q5LfzTk8ZDnOWF71/d4cnvt0gJQmAkt7mdV5ZgJ6jbDpGqckmsSvBZ4pBptrFGSc2RpUwsWCggYBiZBblKOmMNJZo+pPMyZknkyj5/CteOPs6m+Pwj43WGiwT/6ISCaDKDsFr6C6SDW/sny2gyYV3ZVtx20BfyqtIikWpgkhOwYLVfec7omxL30DhC63YOG2O38bwtZFbgOya3Q0X2CEaMgxJEJNw9lnITOvwXAw9X3JkorIy8fGKC8Vn60PyP2u9MiBB3sT2GYsTuxqJ4V21Pb+DsUjL11JcQ5b7ZbyzFDSfxopiyxHmx78lSFfubQwb+DjH8Ne3xZcj5gLW0Otb2f9u4CgmPji3x6QalyLNTeQQZc0X0fnECoA9aEjP3QEe7iNS+/jRRkvmnG4fIZg4oVv9m5Wp3i8CuU/ac6iLWLO9ZIBc4D5rbIzTA1F36lwz7WU9UVK8NP5zuYMO0POZV3algpmnXq5g3hxLI7Ox/nbY/iMJsQJNXLJIXSZph8Ox7jNQO2PrNtzOeM+CPFHOuYFdbEEiOePFGN7ojb7HZdwBq2GbK0P/rD13mf72FxJkSSIniaW+AjYTz3E8wnjML/hMQuotUVBoH6k/DnXlUUaeYrTG34=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8238b389-a79c-49f8-341e-08db2ae26d8a
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 14:33:39.4149
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oeTKFciF4AdUszlJ+mKCUJNi3OpTIrF34ofNV0PMRorROIUpf5l2kpPE4f9UHm3z6l5S9s6Ty+YMQTsffyBxBQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5313

The handling of the MSI-X table accesses by Xen requires that any
pages part of the MSI-X related tables are not mapped into the domain
physmap.  As a result, any device registers in the same pages as the
start or the end of the MSIX or PBA tables is not currently
accessible, as the accesses are just dropped.

Note the spec forbids such placing of registers, as the MSIX and PBA
tables must be 4K isolated from any other registers:

"If a Base Address register that maps address space for the MSI-X
Table or MSI-X PBA also maps other usable address space that is not
associated with MSI-X structures, locations (e.g., for CSRs) used in
the other address space must not share any naturally aligned 4-KB
address range with one where either MSI-X structure resides."

Yet the 'Intel Wi-Fi 6 AX201' device on one of my boxes has registers
in the same page as the MSIX tables, and thus won't work on a PVH dom0
without this fix.

In order to cope with the behavior passthrough any accesses that fall
on the same page as the MSIX tables (but don't fall in between) to the
underlying hardware.  Such forwarding also takes care of the PBA
accesses, so it allows to remove the code doing this handling in
msix_{read,write}.  Note that as a result accesses to the PBA array
are no longer limited to 4 and 8 byte sizes, there's no access size
restriction for PBA accesses documented in the specification.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - Slightly adjust VMSIX_ADDR_SAME_PAGE().
 - Use IS_ALIGNED and unlikely for the non-aligned access checking.
 - Move the check for the page mapped before the aligned one.
 - Remove cast of data to uint8_t and instead use a mask in order to
   avoid undefined behaviour when shifting.
 - Remove Xen maps of the MSIX related regions when memory decoding
   for the device is enabled by dom0, in order to purge stale maps.

Changes since v1:
 - Properly handle the PBA also.
 - Merge the handlers for adjacent writes into the existing MSIX table
   ones.
---
 xen/drivers/vpci/msix.c | 347 ++++++++++++++++++++++++++++++----------
 xen/drivers/vpci/vpci.c |   7 +-
 xen/include/xen/vpci.h  |   8 +-
 3 files changed, 274 insertions(+), 88 deletions(-)

diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index bea0cc7aed..bcd61fcd8b 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -27,6 +27,11 @@
     ((addr) >= vmsix_table_addr(vpci, nr) &&                              \
      (addr) < vmsix_table_addr(vpci, nr) + vmsix_table_size(vpci, nr))
 
+#define VMSIX_ADDR_SAME_PAGE(addr, vpci, nr)                              \
+    (PFN_DOWN(addr) >= PFN_DOWN(vmsix_table_addr(vpci, nr)) &&            \
+     PFN_DOWN(addr) <= PFN_DOWN(vmsix_table_addr(vpci, nr) +              \
+                                vmsix_table_size(vpci, nr) - 1))
+
 static uint32_t cf_check control_read(
     const struct pci_dev *pdev, unsigned int reg, void *data)
 {
@@ -149,7 +154,7 @@ static struct vpci_msix *msix_find(const struct domain *d, unsigned long addr)
 
         for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
             if ( bars[msix->tables[i] & PCI_MSIX_BIRMASK].enabled &&
-                 VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, i) )
+                 VMSIX_ADDR_SAME_PAGE(addr, msix->pdev->vpci, i) )
                 return msix;
     }
 
@@ -182,93 +187,201 @@ static struct vpci_msix_entry *get_entry(struct vpci_msix *msix,
     return &msix->entries[(addr - start) / PCI_MSIX_ENTRY_SIZE];
 }
 
-static void __iomem *get_pba(struct vpci *vpci)
+static void __iomem *get_table(struct vpci *vpci, unsigned int slot)
 {
     struct vpci_msix *msix = vpci->msix;
     /*
-     * PBA will only be unmapped when the device is deassigned, so access it
-     * without holding the vpci lock.
+     * Regions will only be unmapped when the device is deassigned, so access
+     * them without holding the vpci lock.
      */
-    void __iomem *pba = read_atomic(&msix->pba);
+    void __iomem *table = read_atomic(&msix->table[slot]);
+    paddr_t addr = 0;
+
+    if ( likely(table) )
+        return table;
+
+    switch ( slot )
+    {
+    case VPCI_MSIX_TBL_TAIL:
+        addr = vmsix_table_size(vpci, VPCI_MSIX_TABLE);
+        fallthrough;
+    case VPCI_MSIX_TBL_HEAD:
+        addr += vmsix_table_addr(vpci, VPCI_MSIX_TABLE);
+        break;
 
-    if ( likely(pba) )
-        return pba;
+    case VPCI_MSIX_PBA_TAIL:
+        addr = vmsix_table_size(vpci, VPCI_MSIX_PBA);
+        fallthrough;
+    case VPCI_MSIX_PBA_HEAD:
+        addr += vmsix_table_addr(vpci, VPCI_MSIX_PBA);
+        break;
+    }
 
-    pba = ioremap(vmsix_table_addr(vpci, VPCI_MSIX_PBA),
-                  vmsix_table_size(vpci, VPCI_MSIX_PBA));
-    if ( !pba )
-        return read_atomic(&msix->pba);
+    table = ioremap(round_pgdown(addr), PAGE_SIZE);
+    if ( !table )
+        return read_atomic(&msix->table[slot]);
 
     spin_lock(&vpci->lock);
-    if ( !msix->pba )
+    if ( !msix->table[slot] )
     {
-        write_atomic(&msix->pba, pba);
+        write_atomic(&msix->table[slot], table);
         spin_unlock(&vpci->lock);
     }
     else
     {
         spin_unlock(&vpci->lock);
-        iounmap(pba);
+        iounmap(table);
     }
 
-    return read_atomic(&msix->pba);
+    return read_atomic(&msix->table[slot]);
 }
 
-static int cf_check msix_read(
-    struct vcpu *v, unsigned long addr, unsigned int len, unsigned long *data)
+unsigned int get_slot(const struct vpci *vpci, unsigned long addr)
 {
-    const struct domain *d = v->domain;
-    struct vpci_msix *msix = msix_find(d, addr);
-    const struct vpci_msix_entry *entry;
-    unsigned int offset;
+    unsigned long pfn = PFN_DOWN(addr);
+
+    /*
+     * The logic below relies on having the tables identity mapped to the guest
+     * address space, or for the `addr` parameter to be translated into its
+     * host physical memory address equivalent.
+     */
+
+    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_TABLE)) )
+        return VPCI_MSIX_TBL_HEAD;
+    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_TABLE) +
+                         vmsix_table_size(vpci, VPCI_MSIX_TABLE) - 1) )
+        return VPCI_MSIX_TBL_TAIL;
+    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_PBA)) )
+        return VPCI_MSIX_PBA_HEAD;
+    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_PBA) +
+                         vmsix_table_size(vpci, VPCI_MSIX_PBA) - 1) )
+        return VPCI_MSIX_PBA_TAIL;
+
+    ASSERT_UNREACHABLE();
+    return -1;
+}
+
+static bool adjacent_handle(const struct vpci_msix *msix, unsigned long addr)
+{
+    unsigned int i;
+
+    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) )
+        return true;
+
+    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_TABLE) )
+        return false;
+
+    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
+        if ( VMSIX_ADDR_SAME_PAGE(addr, msix->pdev->vpci, i) )
+            return true;
+
+    return false;
+}
+
+static int adjacent_read(const struct domain *d, const struct vpci_msix *msix,
+                         unsigned long addr, unsigned int len,
+                         unsigned long *data)
+{
+    const void __iomem *mem;
+    struct vpci *vpci = msix->pdev->vpci;
+    unsigned int slot;
 
     *data = ~0ul;
 
-    if ( !msix )
-        return X86EMUL_RETRY;
+    if ( !adjacent_handle(msix, addr + len - 1) )
+        return X86EMUL_OKAY;
 
-    if ( !access_allowed(msix->pdev, addr, len) )
+    slot = get_slot(vpci, addr);
+    if ( slot >= ARRAY_SIZE(msix->table) )
         return X86EMUL_OKAY;
 
-    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) )
+    mem = get_table(vpci, slot);
+    if ( !mem )
+    {
+        gprintk(XENLOG_WARNING,
+                "%pp: unable to map MSI-X page, returning all bits set\n",
+                &msix->pdev->sbdf);
+        return X86EMUL_OKAY;
+    }
+
+    if ( unlikely(!IS_ALIGNED(addr, len)) )
     {
-        struct vpci *vpci = msix->pdev->vpci;
-        unsigned int idx = addr - vmsix_table_addr(vpci, VPCI_MSIX_PBA);
-        const void __iomem *pba = get_pba(vpci);
+        unsigned int i;
+
+        gprintk(XENLOG_DEBUG, "%pp: unaligned read to MSI-X related page\n",
+                &msix->pdev->sbdf);
 
         /*
-         * Access to PBA.
+         * Split unaligned accesses into byte sized ones. Shouldn't happen in
+         * the first place, but devices shouldn't have registers in the same 4K
+         * page as the MSIX tables either.
          *
-         * TODO: note that this relies on having the PBA identity mapped to the
-         * guest address space. If this changes the address will need to be
-         * translated.
+         * It's unclear whether this could cause issues if a guest expects a
+         * registers to be accessed atomically, it better use an aligned access
+         * if it has such expectations.
          */
-        if ( !pba )
-        {
-            gprintk(XENLOG_WARNING,
-                    "%pp: unable to map MSI-X PBA, report all pending\n",
-                    &msix->pdev->sbdf);
-            return X86EMUL_OKAY;
-        }
 
-        switch ( len )
+        for ( i = 0; i < len; i++ )
         {
-        case 4:
-            *data = readl(pba + idx);
-            break;
+            unsigned long partial = ~0ul;
+            int rc = adjacent_read(d, msix, addr + i, 1, &partial);
 
-        case 8:
-            *data = readq(pba + idx);
-            break;
+            if ( rc != X86EMUL_OKAY )
+                return rc;
 
-        default:
-            ASSERT_UNREACHABLE();
-            break;
+            *data &= ~(0xfful << (i * 8));
+            *data |= (partial & 0xff) << (i * 8);
         }
 
         return X86EMUL_OKAY;
     }
 
+    switch ( len )
+    {
+    case 1:
+        *data = readb(mem + PAGE_OFFSET(addr));
+        break;
+
+    case 2:
+        *data = readw(mem + PAGE_OFFSET(addr));
+        break;
+
+    case 4:
+        *data = readl(mem + PAGE_OFFSET(addr));
+        break;
+
+    case 8:
+        *data = readq(mem + PAGE_OFFSET(addr));
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+    }
+
+    return X86EMUL_OKAY;
+}
+
+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);
+    const struct vpci_msix_entry *entry;
+    struct vpci *vpci;
+    unsigned int offset;
+
+    *data = ~0ul;
+
+    if ( !msix )
+        return X86EMUL_RETRY;
+
+    if ( adjacent_handle(msix, addr) )
+        return adjacent_read(d, msix, addr, len, data);
+
+    vpci = msix->pdev->vpci;
+    if ( !access_allowed(msix->pdev, addr, len) )
+        return X86EMUL_OKAY;
+
     spin_lock(&msix->pdev->vpci->lock);
     entry = get_entry(msix, addr);
     offset = addr & (PCI_MSIX_ENTRY_SIZE - 1);
@@ -303,57 +416,103 @@ static int cf_check msix_read(
     return X86EMUL_OKAY;
 }
 
-static int cf_check msix_write(
-    struct vcpu *v, unsigned long addr, unsigned int len, unsigned long data)
+static int adjacent_write(const struct domain *d, const struct vpci_msix *msix,
+                          unsigned long addr, unsigned int len,
+                          unsigned long data)
 {
-    const struct domain *d = v->domain;
-    struct vpci_msix *msix = msix_find(d, addr);
-    struct vpci_msix_entry *entry;
-    unsigned int offset;
+    void __iomem *mem;
+    struct vpci *vpci = msix->pdev->vpci;
+    unsigned int slot;
 
-    if ( !msix )
-        return X86EMUL_RETRY;
+    if ( !adjacent_handle(msix, addr + len - 1) )
+        return X86EMUL_OKAY;
 
-    if ( !access_allowed(msix->pdev, addr, len) )
+    /*
+     * Only check start and end of the access because the size of the PBA is
+     * assumed to be equal or bigger (8 bytes) than the length of any access
+     * handled here.
+     */
+    if ( (VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) ||
+          VMSIX_ADDR_IN_RANGE(addr + len - 1, vpci, VPCI_MSIX_PBA)) &&
+         !is_hardware_domain(d) )
+        /* Ignore writes to PBA for DomUs, it's undefined behavior. */
         return X86EMUL_OKAY;
 
-    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) )
+    slot = get_slot(vpci, addr);
+    if ( slot >= ARRAY_SIZE(msix->table) )
+        return X86EMUL_OKAY;
+
+    mem = get_table(vpci, slot);
+    if ( !mem )
     {
-        struct vpci *vpci = msix->pdev->vpci;
-        unsigned int idx = addr - vmsix_table_addr(vpci, VPCI_MSIX_PBA);
-        const void __iomem *pba = get_pba(vpci);
+        gprintk(XENLOG_WARNING,
+                "%pp: unable to map MSI-X page, dropping write\n",
+                &msix->pdev->sbdf);
+        return X86EMUL_OKAY;
+    }
 
-        if ( !is_hardware_domain(d) )
-            /* Ignore writes to PBA for DomUs, it's behavior is undefined. */
-            return X86EMUL_OKAY;
+    if ( unlikely(!IS_ALIGNED(addr, len)) )
+    {
+        unsigned int i;
 
-        if ( !pba )
-        {
-            /* Unable to map the PBA, ignore write. */
-            gprintk(XENLOG_WARNING,
-                    "%pp: unable to map MSI-X PBA, write ignored\n",
-                    &msix->pdev->sbdf);
-            return X86EMUL_OKAY;
-        }
+        gprintk(XENLOG_DEBUG, "%pp: unaligned write to MSI-X related page\n",
+                &msix->pdev->sbdf);
 
-        switch ( len )
+        for ( i = 0; i < len; i++ )
         {
-        case 4:
-            writel(data, pba + idx);
-            break;
+            int rc = adjacent_write(d, msix, addr + i, 1, data >> (i * 8));
 
-        case 8:
-            writeq(data, pba + idx);
-            break;
-
-        default:
-            ASSERT_UNREACHABLE();
-            break;
+            if ( rc != X86EMUL_OKAY )
+                return rc;
         }
 
         return X86EMUL_OKAY;
     }
 
+    switch ( len )
+    {
+    case 1:
+        writeb(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    case 2:
+        writew(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    case 4:
+        writel(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    case 8:
+        writeq(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+    }
+
+    return X86EMUL_OKAY;
+}
+
+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 vpci_msix_entry *entry;
+    struct vpci *vpci;
+    unsigned int offset;
+
+    if ( !msix )
+        return X86EMUL_RETRY;
+
+    if ( adjacent_handle(msix, addr) )
+        return adjacent_write(d, msix, addr, len, data);
+
+    vpci = msix->pdev->vpci;
+    if ( !access_allowed(msix->pdev, addr, len) )
+        return X86EMUL_OKAY;
+
     spin_lock(&msix->pdev->vpci->lock);
     entry = get_entry(msix, addr);
     offset = addr & (PCI_MSIX_ENTRY_SIZE - 1);
@@ -482,6 +641,26 @@ int vpci_make_msix_hole(const struct pci_dev *pdev)
         }
     }
 
+    if ( is_hardware_domain(d) )
+    {
+        unsigned int i;
+
+        /*
+         * For the hardware domain only remove any hypervisor mappings of the
+         * MSIX or PBA related areas, as dom0 is capable of moving the position
+         * of the BARs in the host address space.
+         *
+         * We rely on being called with the vPCI lock held in order to not race
+         * with get_table().
+         */
+        for ( i = 0; i < ARRAY_SIZE(pdev->vpci->msix->table); i++ )
+            if ( pdev->vpci->msix->table[i] )
+            {
+                iounmap(pdev->vpci->msix->table[i]);
+                pdev->vpci->msix->table[i] = NULL;
+            }
+    }
+
     return 0;
 }
 
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 6d48d496bb..652807a4a4 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -54,9 +54,12 @@ void vpci_remove_device(struct pci_dev *pdev)
     spin_unlock(&pdev->vpci->lock);
     if ( pdev->vpci->msix )
     {
+        unsigned int i;
+
         list_del(&pdev->vpci->msix->next);
-        if ( pdev->vpci->msix->pba )
-            iounmap(pdev->vpci->msix->pba);
+        for ( i = 0; i < ARRAY_SIZE(pdev->vpci->msix->table); i++ )
+            if ( pdev->vpci->msix->table[i] )
+                iounmap(pdev->vpci->msix->table[i]);
     }
     xfree(pdev->vpci->msix);
     xfree(pdev->vpci->msi);
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index d8acfeba8a..0b8a2a3c74 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -133,8 +133,12 @@ struct vpci {
         bool enabled         : 1;
         /* Masked? */
         bool masked          : 1;
-        /* PBA map */
-        void __iomem *pba;
+        /* Partial table map. */
+#define VPCI_MSIX_TBL_HEAD 0
+#define VPCI_MSIX_TBL_TAIL 1
+#define VPCI_MSIX_PBA_HEAD 2
+#define VPCI_MSIX_PBA_TAIL 3
+        void __iomem *table[4];
         /* Entries. */
         struct vpci_msix_entry {
             uint64_t addr;
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 14:50:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 14:50:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513498.794573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pezmj-0004nJ-Aw; Wed, 22 Mar 2023 14:49:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513498.794573; Wed, 22 Mar 2023 14: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 1pezmj-0004nC-84; Wed, 22 Mar 2023 14:49:53 +0000
Received: by outflank-mailman (input) for mailman id 513498;
 Wed, 22 Mar 2023 14:49:51 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dhKM=7O=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pezmh-0004n6-EB
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 14:49:51 +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 cb48679d-c8c0-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 15:49:49 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 t17-20020a05600c451100b003edc906aeeaso688901wmo.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 07:49:49 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 p11-20020a05600c1d8b00b003daffc2ecdesm22922510wms.13.2023.03.22.07.49.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Mar 2023 07:49:47 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cb48679d-c8c0-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679496588;
        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=5+O595nJfW/ul+a9+wvbJvHblIpilkzfopMuW5JZfyU=;
        b=b0AhV3Nl8BRdEld7RgzxdXc6JxsRlqjHjKnrYyGy2dPssE0XdXpc3MOFOglpQuYsT3
         /qH9AqxHibyZiGHVCqRisGtW8oGXzvQw+Yf7af7hhEXCmOGiRbD6bbsHipnqqDb7Tn8X
         g/vLsjczfjVRQsCIbcnVaQaISKg4pWn0I54IL2OktJDXWLPYNehJCZCCtkcvCzvGH52V
         DD84W/OOu11C4ERK7raxAD9BrFyWGOa+WcsJAftd3HgGpjDvZvlLhljSsz4FfStZaI2L
         jqblTfCtbG9RNNzIxjXAzdSdrkaJpBBvrISPxq6X1SRyzCCOQXoX+JR/2yPGsxZEkcFs
         f7Gw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679496588;
        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=5+O595nJfW/ul+a9+wvbJvHblIpilkzfopMuW5JZfyU=;
        b=rAOtadqwGFRJNU4BUZKbkont1/ayUuRACbO8xJ5z1R/MCgxskRDLyziKUcf7+eydhk
         5dGNKXe+dff+f18u7XfaDzTjwyMSH5D6J3RiVR3WZtQZQGJEJJXXtG2gc/1qRXjSpIDM
         2JVL5ETPupOE5afSwiBOQ0z6qS0M3IbmVF+HFwwrovcxmOulFSGtHyWeNl7GYWVcA6zC
         dxKpnzDP7LEUmNwcXnZ7TEGAyBQhQt/iDycmsuvHpD1Etl+Kz2cUsMSpiegxtOlgaN7X
         JbzRcOxLwOQ+0x+R3fLLa9akcVhOggPvZQOWtaHM4yZsoQjsYhJmbEKp6hEmQg2ybQXD
         PJZw==
X-Gm-Message-State: AO0yUKXplHVEChSauLu461o1Ub7R4rV2qbz2mxySrIbGa4pE2sLElb36
	K5YucqGakLJbPbw/C5/E1/8=
X-Google-Smtp-Source: AK7set+7wVV9lqCYp7Bvkxg3Bqp9/ZJilC1DfX609BB/RPcj2IpV/aDe2NMETAL6U+H5+In/jMOf/A==
X-Received: by 2002:a05:600c:ad4:b0:3ed:2709:2edf with SMTP id c20-20020a05600c0ad400b003ed27092edfmr6239884wmr.13.1679496588184;
        Wed, 22 Mar 2023 07:49:48 -0700 (PDT)
Message-ID: <59742220a7c167cd0fcec44b8ad30202737d47d7.camel@gmail.com>
Subject: Re: [PATCH v5 5/7] xen/riscv: introduce trap_init()
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>
Date: Wed, 22 Mar 2023 16:49:45 +0200
In-Reply-To: <af0d3509-9be4-19d7-8f5d-1c0596a63d15@xen.org>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
	 <91b0284d20f530f2795a119ccb7436ee0b800256.1678976127.git.oleksii.kurochko@gmail.com>
	 <5a2c6f35-373a-de3c-1db2-aeeb1b39635f@xen.org>
	 <520d64f0b6cd283416aa4fb7b9baa5f83454c4a8.camel@gmail.com>
	 <fb5632f9-d749-4396-930e-9f2a601720d8@xen.org>
	 <370a6e223d8db5f2d075ca8aba31db198a3aefce.camel@gmail.com>
	 <af0d3509-9be4-19d7-8f5d-1c0596a63d15@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-22 at 13:51 +0000, Julien Grall wrote:
> Hi Oleksii,
>=20
> On 22/03/2023 13:40, Oleksii wrote:
> > On Wed, 2023-03-22 at 12:14 +0000, Julien Grall wrote:
> > >=20
> > >=20
> > > On 22/03/2023 11:33, Oleksii wrote:
> > > > Hi Julien,
> > >=20
> > > Hi Oleksii,
> > >=20
> > > >=20
> > > > On Tue, 2023-03-21 at 17:42 +0000, Julien Grall wrote:
> > > > > Hi Oleksii,
> > > > >=20
> > > > > On 16/03/2023 14:39, Oleksii Kurochko wrote:
> > > > > > Signed-off-by: Oleksii Kurochko
> > > > > > <oleksii.kurochko@gmail.com>
> > > > > > Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
> > > > > > ---
> > > > > > Changes in V5:
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0 - Nothing changed
> > > > > > ---
> > > > > > Changes in V4:
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0 - Nothing changed
> > > > > > ---
> > > > > > Changes in V3:
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0 - Nothing changed
> > > > > > ---
> > > > > > Changes in V2:
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0 - Rename setup_trap_handler() to trap_=
init().
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0 - Add Reviewed-by to the commit messag=
e.
> > > > > > ---
> > > > > > =C2=A0=C2=A0=C2=A0 xen/arch/riscv/include/asm/traps.h | 1 +
> > > > > > =C2=A0=C2=A0=C2=A0 xen/arch/riscv/setup.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 | 5 +++++
> > > > > > =C2=A0=C2=A0=C2=A0 xen/arch/riscv/traps.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 | 7 +++++++
> > > > > > =C2=A0=C2=A0=C2=A0 3 files changed, 13 insertions(+)
> > > > > >=20
> > > > > > diff --git a/xen/arch/riscv/include/asm/traps.h
> > > > > > b/xen/arch/riscv/include/asm/traps.h
> > > > > > index f3fb6b25d1..f1879294ef 100644
> > > > > > --- a/xen/arch/riscv/include/asm/traps.h
> > > > > > +++ b/xen/arch/riscv/include/asm/traps.h
> > > > > > @@ -7,6 +7,7 @@
> > > > > > =C2=A0=C2=A0=C2=A0=20
> > > > > > =C2=A0=C2=A0=C2=A0 void do_trap(struct cpu_user_regs *cpu_regs)=
;
> > > > > > =C2=A0=C2=A0=C2=A0 void handle_trap(void);
> > > > > > +void trap_init(void);
> > > > > > =C2=A0=C2=A0=C2=A0=20
> > > > > > =C2=A0=C2=A0=C2=A0 #endif /* __ASSEMBLY__ */
> > > > > > =C2=A0=C2=A0=C2=A0=20
> > > > > > diff --git a/xen/arch/riscv/setup.c
> > > > > > b/xen/arch/riscv/setup.c
> > > > > > index 36556eb779..b44d105b5f 100644
> > > > > > --- a/xen/arch/riscv/setup.c
> > > > > > +++ b/xen/arch/riscv/setup.c
> > > > > > @@ -3,7 +3,9 @@
> > > > > > =C2=A0=C2=A0=C2=A0 #include <xen/kernel.h>
> > > > > > =C2=A0=C2=A0=C2=A0=20
> > > > > > =C2=A0=C2=A0=C2=A0 #include <asm/boot-info.h>
> > > > > > +#include <asm/csr.h>
> > > > > > =C2=A0=C2=A0=C2=A0 #include <asm/early_printk.h>
> > > > > > +#include <asm/traps.h>
> > > > > > =C2=A0=C2=A0=C2=A0=20
> > > > > > =C2=A0=C2=A0=C2=A0 /* Xen stack for bringing up the first CPU. =
*/
> > > > > > =C2=A0=C2=A0=C2=A0 unsigned char __initdata cpu0_boot_stack[STA=
CK_SIZE]
> > > > > > @@ -32,7 +34,10 @@ void __init noreturn start_xen(unsigned
> > > > > > long
> > > > > > bootcpu_id,
> > > > > > =C2=A0=C2=A0=C2=A0=20
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fill_boot_info();
> > > > > > =C2=A0=C2=A0=C2=A0=20
> > > > > > +=C2=A0=C2=A0=C2=A0 trap_init();
> > > > > > +
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk("All se=
t up\n");
> > > > > > +
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 for ( ;; )
> > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 asm volatile ("wfi");
> > > > > > =C2=A0=C2=A0=C2=A0=20
> > > > > > diff --git a/xen/arch/riscv/traps.c
> > > > > > b/xen/arch/riscv/traps.c
> > > > > > index 8a1529e0c5..581f34efbc 100644
> > > > > > --- a/xen/arch/riscv/traps.c
> > > > > > +++ b/xen/arch/riscv/traps.c
> > > > > > @@ -13,6 +13,13 @@
> > > > > > =C2=A0=C2=A0=C2=A0 #include <asm/processor.h>
> > > > > > =C2=A0=C2=A0=C2=A0 #include <asm/traps.h>
> > > > > > =C2=A0=C2=A0=C2=A0=20
> > > > > > +void trap_init(void)
> > > > > > +{
> > > > > > +=C2=A0=C2=A0=C2=A0 unsigned long addr =3D (unsigned long)&hand=
le_trap;
> > > > >=20
> > > > > It is not super clear to me whether this is going to store
> > > > > the
> > > > > virtual
> > > > > or physical address.
> > > > Actually it is going to store both the virtual and physical
> > > > address.
> > > > Depending on if MMU is enabled or not.
> > >=20
> > > I think some comment in the code would be really good because
> > > this
> > > is...
> > >=20
> > > > >=20
> > > > > Depending on the answer, the next would be whether the value
> > > > > would
> > > > > still
> > > > > be valid after the MMU is turned on?
> > > > It would still be valid because for addr will be generated PC-
> > > > relative
> > > > address.
> > >=20
> > > ... not clear to me what would guarantee that Xen is compiled
> > > with
> > > -noPIE. Is the cmodel?
>=20
> There is a missing "given" after "that".
>=20
> > There is a patch:
> > https://lore.kernel.org/xen-devel/2785518800dce64fafb3096480a5ae4c4e026=
bcb.1678970065.git.oleksii.kurochko@gmail.com/
> > Which guarantees that Xen is complied with -noPIE.
> I am a bit puzzled with what you wrote. From my understanding, with=20
> -noPIE, the compiler would be free to use absolute address rather
> than=20
> pc-relative one.=C2=A0Do you have any pointer to documentation that would=
=20
> back your reasoning?

https://riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf
If look at pseudoinstructions (p110 in pdf) which work with addresses
they are always pc-relative ( they all use AUIPC instruction ). The
only question is that if .got is used or not ( which depends on
pie,pic, etc... )
>=20
> I have already mentioned before, but I think it would really useful
> if=20
> you start adding more documentation (in particular of such behavior)
> in=20
> the code or docs/ (for more wide). This would help everyone to=20
> understand how everything is meant to work.
Sure. I will add more documentation for such kind of code.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 14:59:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 14:59:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513503.794584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pezw3-0006bF-CE; Wed, 22 Mar 2023 14:59:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513503.794584; Wed, 22 Mar 2023 14:59:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pezw3-0006b8-9Z; Wed, 22 Mar 2023 14:59:31 +0000
Received: by outflank-mailman (input) for mailman id 513503;
 Wed, 22 Mar 2023 14:59:30 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=dhKM=7O=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pezw2-0006b2-L8
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 14:59:30 +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 25739743-c8c2-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 15:59:29 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id l12so17378393wrm.10
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 07:59:29 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 c9-20020a5d4cc9000000b002d21379bcabsm13988188wrt.110.2023.03.22.07.59.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Mar 2023 07:59:28 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25739743-c8c2-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679497169;
        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=ZWhTIjwftH5tgD5lx0w9vZEyC4F6aQl72KqxgpQSYHM=;
        b=hm1UFCgHqdUjlyrqKl11AVdTIDUUhB8zcGOv9/hhT/NTlpwC/BGZozYIVy3IZQoqrC
         8tEHttlb9HX5RnCb9hnLV85dh6F77kS+T7G2fVbkBbIJ9denl7/JMt4XSnPRjZGkofOq
         qNHrofRz671NiSHjsaKDUbR36F1+NFfdVkCSjaNqGGFypK8VF5/LDE36LQnYcvF10ecC
         qETIgRiagfiMb969cHLanQqPpL4DcIBgDTsBXy2o+WtNCyY9kBGbZ8SRrgQDKHD97tEP
         XrQG1U7wO2AIMVvt2Mdf7i+dBAWsDbzm5TFiMQitCmwzTwIJasWmKFfFEnuNdyXk+6Uq
         QKzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679497169;
        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=ZWhTIjwftH5tgD5lx0w9vZEyC4F6aQl72KqxgpQSYHM=;
        b=o2NUt69TmFrZbya1O45eXs+1xmxqbvHaZcz/cbouwBjPCitXARZRgTMtuYX2+qc61g
         y5whwNHl+hhd6FcoXwbTNzcnw7YjWFrnoKNDKZ6KeaQIqnBbl8AGKSmSgue5QyjrFuQU
         ptbnAhhDrSZ4X+xavHrWFHOvejQ99ByV8FWepIwglzeqjc10MOMkRhoL77mwLu83OnMY
         FQU6CNU8O3OVSNlLN2+RZryAOhJImG8QtAWSfYJC3cy1bAtukqiYXxjaxDxfGHxJ37HV
         6ZFsvc1vHAyiGHwijfhWpwCnan0QF4Sfuy7RY0xXqvLPUWgvUwoT8yIRdd8qygxtRgPt
         NmDg==
X-Gm-Message-State: AAQBX9c7W97BiRigpvXvzYmIHv9q1K5wcuGe0TNX8Rnq2SU4SgC24v/H
	+82Nj0NLfsZvfR2/YWHp0Vg=
X-Google-Smtp-Source: AKy350ZA53biLX6QOpfGZ0omEMXOWfXQRJG25nl3g2Vr0myXyDIsfDXg7T2hSF/YZ2jQ5zShgdkC7w==
X-Received: by 2002:a5d:534d:0:b0:2c7:194c:5e41 with SMTP id t13-20020a5d534d000000b002c7194c5e41mr79518wrv.51.1679497169153;
        Wed, 22 Mar 2023 07:59:29 -0700 (PDT)
Message-ID: <4803eb7e39a66ec8d9db767e979d66034197a358.camel@gmail.com>
Subject: Re: [PATCH v5 4/7] xen/riscv: introduce decode_cause() stuff
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>, Julien
 Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Date: Wed, 22 Mar 2023 16:59:26 +0200
In-Reply-To: <486cf6f9-4e28-17b5-3ab3-31272955926b@suse.com>
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
	 <8c7b4a5d328be8b1cd2aa99c8d9a7883e4969600.1678976127.git.oleksii.kurochko@gmail.com>
	 <0b94be57-b8fb-6c38-9ed8-dc8482694153@xen.org>
	 <cf883a86eac88c11d02768eb64adb2b418c6ba2e.camel@gmail.com>
	 <771418cf-9515-cc93-14c7-4bea60c30b2b@suse.com>
	 <98a891792446e72d910ee49a62c7e3b3d2d6c186.camel@gmail.com>
	 <486cf6f9-4e28-17b5-3ab3-31272955926b@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-22 at 14:46 +0100, Jan Beulich wrote:
> On 22.03.2023 14:32, Oleksii wrote:
> > On Wed, 2023-03-22 at 13:26 +0100, Jan Beulich wrote:
> > > But as said before - I'm unconvinced this approach will scale,
> > > because
> > > you'll need to apply the wrapper to anything which can be reached
> > > prior
> > > to you enabling the MMU. Whether you can contain this to RISC-V-
> > > only
> > > code is unclear; I don't think it'll be acceptable to change any
> > > part
> > > of common code to meet your special needs.
> > But it looks like it is only two places where it should be done:
> > 1. As you mentioned LINK_TO_LOAD() should be applied for
> > trap_causes.
> > 2. And it should be applied inside do_bug_frame() for getting an
> > start/end address of bug_frame. I want to note that do_bug_frame()
> > will
> > be removed after RISC-V is ready to switch to generic bug
> > implementation.
> >=20
> > The next step after the current patch series is merged is to enable
> > MMU, so it shouldn't be new use cases where it is needed to use
> > LINK_TO_LOAD().
>=20
> I'm not convinced. You can't stick to using earlyprintk only beyond
> very short term. Yet I expect you also don't want to use
>=20
> =C2=A0=C2=A0=C2=A0 if ( early )
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 earlyprintk();
> =C2=A0=C2=A0=C2=A0 else
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 printk();
>=20
> everywhere in exception handling code (and anywhere else in code
> which is reachable before the MMU is turned on). This extends to
> uses of BUG() and alike in such early code, which - when they
> trigger - want to use printk() (only). Whether printk(), somehow,
> involves an array access similar to the ones you're presently
> aware of you simply shouldn't depend on (it's an implementation
> detail in a separate subsystem).
I planned to changed all earlyprintk() to printk() in traps.c after
printk will be ready.

I would like to remind that xen/common code isn't compiled now for
RISC-V.
>=20
> > If it is not acceptable to change any part of common code ( as I
> > understand in this case it is do_unexpected_trap() and all that is
> > called inside it ) have I to introduce two types of function
> > do_unexpected_trap() for when MMU is enabled and not?
>=20
> By "common code" I mean code outside of arch/riscv/. And I
> sincerely hope you / we can get away without duplicated functions.
Got it.

Than it might be an issue with do_bug_frame() as RISCV should be
switched to it at the end.

Then it looks like enabling of MMU should go first but in that case
this not clear what to do with BUG(), WARN() etc as for them it is
needed excpetion handling functionality and MMU related code uses the
macros.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 15:01:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 15:01:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513506.794594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pezxQ-0007zu-O6; Wed, 22 Mar 2023 15:00:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513506.794594; Wed, 22 Mar 2023 15:00:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pezxQ-0007zn-KY; Wed, 22 Mar 2023 15:00:56 +0000
Received: by outflank-mailman (input) for mailman id 513506;
 Wed, 22 Mar 2023 15:00:55 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ebb8=7O=oss.nxp.com=andrei.cherechesu@srs-se1.protection.inumbo.net>)
 id 1pezxP-0007zf-KW
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 15:00:55 +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 57e61c10-c8c2-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 16:00:54 +0100 (CET)
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com (2603:10a6:803:5a::13)
 by VI1PR04MB6798.eurprd04.prod.outlook.com (2603:10a6:803:131::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 15:00:51 +0000
Received: from VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487]) by VI1PR04MB5056.eurprd04.prod.outlook.com
 ([fe80::f883:bd6d:18d4:c487%4]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 15: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: 57e61c10-c8c2-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eD6dJMwnwljaQGvQmhdIukvXAeBC7o/Ip8YKTGNWMtyeLGEr0/FHJq8UOjSl5LmArWDNGErtaFMSIcR+t7/HeiM3LTIWZfZhjc6+2md6TOdf2/sXe6vOXWDzgqVqRol21pm6NDXQP6zNyZme7pJOnb4IyRbYNCx3kIyt5Qqaf4TcH0kWQR/VoXdsZyRRRJuJ8r+k0T1owJP21Q58tkP5rlRrKTIWsqt1d9/KlWQcJahiQiGjrA6WIbWv0PxVo/pBi0PbEq9su/EUIDOXzTUpnWESw8zcLF+zoVRCykeKqYJx+2JeuepKM9lNi612N11AmdW9dgZvQAoZSu6imTwB2A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iCk+TvrW1VNq3EQ1RnOyiylEuzVv3sPxZOUDFM42nd0=;
 b=YOfY9zanvrysWP6iRftJlGm0zmTc4xGq7/gMz6UrjMIbRWY8eodnImRn/id4DWMlInofaYwlU6VMVSlAw3aeUAgnmmR3OI5lg2ELBrXbNE6/eyRti5QdWqpDB7/5Cem/JBkoTQWTvd/rFALAn6uG5Wy06xKhmQP3n2KG3dVDwnAwvR+1fVcw3Tk75Nio2cTBANg+nQ4nO43xJprENku9NJkQ/ZB09hhthn4TxV+hqHoqyGiF9Tg3tluT/5JnXL0jIoJEgqYVTVOMIfb0dqL/su9WIM/u/lRdbF9SUM6JUfFuyyGCWbPEPRLje8DJYXmW/Ujvncs6IOemD9MXvkX6rA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=oss.nxp.com; dmarc=pass action=none header.from=oss.nxp.com;
 dkim=pass header.d=oss.nxp.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=NXP1.onmicrosoft.com;
 s=selector2-NXP1-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iCk+TvrW1VNq3EQ1RnOyiylEuzVv3sPxZOUDFM42nd0=;
 b=T/HoZDXg3agxLQgqnEO1aQRrvbByaPwtUuaV89tgZRa//aT+X7ILQn+OLHE6ffq4RQo0C+eA8xt442l574QatA9aUxteQ4P+KziJ+1dSWgfsG+LEmgF0NUa0StYoi+AyzVz2FbkEy8SuG0HGLFov39oCsiNxx8B5cG5k53naJm4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=oss.nxp.com;
Message-ID: <1fae91d1-8b2f-b300-506f-99e7d64ac3c7@oss.nxp.com>
Date: Wed, 22 Mar 2023 17:00:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 1/2] arch/arm: irq: Add platform_get_irq_byname()
 implementation
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: michal.orzel@amd.com, sstabellini@kernel.org, Bertrand.Marquis@arm.com,
 Volodymyr_Babchuk@epam.com, rahul.singh@arm.com,
 Andrei Cherechesu <andrei.cherechesu@nxp.com>
References: <20230313130803.3499098-1-andrei.cherechesu@oss.nxp.com>
 <20230313130803.3499098-2-andrei.cherechesu@oss.nxp.com>
 <b0fe586a-1a55-dbc3-a673-2c3809b3c1d3@xen.org>
From: Andrei Cherechesu <andrei.cherechesu@oss.nxp.com>
In-Reply-To: <b0fe586a-1a55-dbc3-a673-2c3809b3c1d3@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: AS4P189CA0011.EURP189.PROD.OUTLOOK.COM
 (2603:10a6:20b:5d7::12) To VI1PR04MB5056.eurprd04.prod.outlook.com
 (2603:10a6:803:5a::13)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VI1PR04MB5056:EE_|VI1PR04MB6798:EE_
X-MS-Office365-Filtering-Correlation-Id: ee9cc1be-8078-44b2-8c4a-08db2ae63a4f
X-MS-Exchange-SharedMailbox-RoutingAgent-Processed: True
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Q8KloMoi07sNLsgo2LKcz2sGctEK0SEm60WO/1ABbP9SjTXkqITYhfACyaGeiaZfiYiSfks78gd6XYxGrZYudT6p5I+Y7OXE8SsQOdBsrINDdS9EqH3og5IgxGz+i4k6GnPZI+wVWnUU0Yy+rUAUbT10uA4pydwsfHW9A1TOWK+HPbXWSPAl45jpT6kwE7OZMbH/dutF0Rj90LN7HAQj9Dr6zBcrlpRL4Xn0kmi9zmhQ9ikMupUx+ds+FgEe9ARulwJtTlIsaBCJkv0mE+v4REjBxNOvDlH2SuAe+xrg7AGVFrhKkuak22fwCSnyZ5yHkL+rEfe9AltvpUHFkj2JT1+MsTpFDTRMQfF4uyM6IX4D+z8VdnYMnpWW9mSXvkaKXUU4fDWuav2ZQdt087G8Qed9eGFHng2gaQ+A1alTQE8H3aasJmp3D0aFq3cvByzllADfFC0x6Sm33PfnGKuIO4kI32QmH3AbJRAUOCQllaStasaIWt+JGuMLWxalF98w9SwtH21ClD4oL2pHtaFeXzCdz7koSm+h2n4wqiIISEzCkr/QTMGujeCjrHKLKn0HEC2C1GEIcg5ji6CQ3JlSYl8ml92YQLfK9LlCJeal9XoHQgVyfO2rsMXFCdZwlOSgANs07r7650Y4Q9Y1RZqdECU/qVsRasV1DTniT5+URJioBbvTr2vzRGC00qsw7E4GuzsctaJ4aOJou2HL5FVV2BLz+uSOy5+UdaJFepbeO88=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR04MB5056.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(396003)(136003)(39860400002)(346002)(376002)(451199018)(5660300002)(8936002)(44832011)(41300700001)(38100700002)(86362001)(31696002)(2906002)(6486002)(478600001)(83380400001)(6666004)(2616005)(186003)(55236004)(26005)(6512007)(6506007)(31686004)(4326008)(53546011)(66476007)(316002)(8676002)(66946007)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bkhQT01CV1FhTUNDRFY4YWpuNGRkN01Pb0M0Sm1vcCtyZmNTcHJQZDBKa3Iw?=
 =?utf-8?B?ejlNV2xpenN1cEdvMjNERm1hbjFId1RjTEVQSlg1UlMybE8wK1h3VnVPYmFJ?=
 =?utf-8?B?TVlsUkVmOFh3MjRaUkJMZzUzYThKeGgyUndBQmcreVlnQUlXNFB5V0c2dm9s?=
 =?utf-8?B?R0VPR1g2RkV0bVJDY25aeHptMll2MldkWmtaU1pRZllzYUYxZWhJbkljRGV3?=
 =?utf-8?B?S0ZlaWVXc2psT21PYkIremltYmxMT3BKL1I3S2N4ajM0eVVLMzhudnc0L3RO?=
 =?utf-8?B?SnB2UEZHdUpkbzNSZ0lnYU1HbFhic1hzazVJc1FlM1ZpeGZPbGw4dm5jTTA5?=
 =?utf-8?B?cG4yWnNXYUcxTHg5S0V5aGo1QTA5NzVEMXQ4U21hNW1sZDVjRkUzUFk2Vmt2?=
 =?utf-8?B?WG1Qb1ZveXJDR1ptN2FlcG15bnROLzFoa2lraDErbnhEcnlVQ1BkVEpqOFQ3?=
 =?utf-8?B?cUdCRG9DVVM3d3hLL3cvYUk4aW4yTXVzQnl4alZlOEhRWFBRajkxdy9QOW1J?=
 =?utf-8?B?THl5RzRTZHlwdHhWNm9sa1A5eEh2VVpMRTc3NmN5K0JMTmx2VjlXeFJwTytW?=
 =?utf-8?B?azdnR0xSOUVQeFA5bjdtZ0VTWXRSaGxRWWd0N1Y3d2R5NDQ3ZXIvMkk3TFMv?=
 =?utf-8?B?Wi9tdVhlT3pLbHBlNGZNbkNvTHZEaDQrN0plWWJoYlYwa2t6MzF2Nk15RkxI?=
 =?utf-8?B?NkREbWZnNmE2VXlKdnVIVUdkYTloSEtGclAwbUpHMFlwN1hYZXloblJIR0Fo?=
 =?utf-8?B?S3orbmtlcFFTV2NQbm5ZRW41Mk1UdkxSQ2J3S1l4dGtGVWNhSC9ZSFZ6c2pw?=
 =?utf-8?B?L3I3SXBrdEE5cjlFSnB0TUhrREU1czdaYmVKWXdCcGZ0WHRuaGFBUTNLd3Vp?=
 =?utf-8?B?Z2pxWEUwQ2Z1SE1lYno0YURQeU9kd1Rtb0VBcHBvU0NaeXVWRUtPbm1IWkNM?=
 =?utf-8?B?RDR4dSt4bkZIelFab3lYRkEvK3ZHWU5aTy94aFRtbzlxNTU2d1ZFYW44d3dL?=
 =?utf-8?B?SlpHOTBoS3RkSVJheTRjY2FDUlRWMlBFWmZUQmh5WW5qaEV1b1d0elZKRHFz?=
 =?utf-8?B?Ti9GQ1BnVnJOdnFkOFZuQnRwRG53aTlnSmQ0R1Uza0E0eDdNY1dlSTJuc3dX?=
 =?utf-8?B?WWxIRkRWWkJremJidEd5NXhjVFdZbGJPQzBhR0dpeEJxd0daSnVrUUVHUllF?=
 =?utf-8?B?YkdacDE4ZkE4UmdEWkRmdEFEZnEvZHFoQXkwenRIWjNQRnVqSTF2L2wrYVZ3?=
 =?utf-8?B?SDI5SXFZdWxrdFIyejRsdnYycm9HN1NDc2tvMFJGUDM0SVBrazM0cnRidFhL?=
 =?utf-8?B?V1RQU1k5cXBNUVV5L3lFU2IzZkdnTklTbjEwdHhaVWkxRzhWWEN3SCs5eW5P?=
 =?utf-8?B?V2V6cXdSUXIwdU9GSUxlcDlIa3IrUy9rUkdveWoyVTR2YkxSb2M2dE5jR0Ro?=
 =?utf-8?B?VlBpK3pJZnJ2WlQ1Q3pyN2hjakp2MUFPdVUvK2dBUHk0a3p3VWxvNHNrenlv?=
 =?utf-8?B?ekc0ZTRKQU9RU2t4MXYvcGo0Rnoyd2xmTGp6Nktpclk2aUNOOTNoOXJyRVps?=
 =?utf-8?B?bkFLcDhjN2lkTGFEUXFFdllQN2UzSE13c2dTdHUzNFFXd0pBdmZlUE16MXZC?=
 =?utf-8?B?NElJNXZjek83aHJRaXJLWWFhYlE0NWNLWW0xUmhVRFJpVnVqbm9aNkowbW9T?=
 =?utf-8?B?anNrOG1jN3RzVXhWS21UQWJTUGRkL3NBejErdFZ6MjE4SVlpekk2TUlhbnFz?=
 =?utf-8?B?TkpjNUpnMHNGVUwrdGIvd2tFUkR5OFFSVTNQMGU1b3NYWkxaSDlsZ3l2YVFw?=
 =?utf-8?B?RVY4bDNDdXRrS0RLaVFVSjdFSURaVkRvTzhnUWU4SzZUenhSQm1uWlVUKzh2?=
 =?utf-8?B?ZGVkWEY2cm9GN2lhWllNbUFwcm5LN0xqTmFBVEc1ekNiY1F2eUM4MldSQ3hj?=
 =?utf-8?B?ck9XeTROSWtHRURLVWRLbHlWNHlRZEtBdnJYSlQ0SW9jSXpuZEt6emg0MXhN?=
 =?utf-8?B?a2o3RXBWemVySjdnR0Q2TmhNUHpIYmdPNVRXUnFnTDE1SWNpZjBGRmN1U2hR?=
 =?utf-8?B?Zy8xK2tXenFNenkvbzZIUHgyZ2JVdHQ4WmMxWWdidW16ZExFeTlRYW9ZN01Y?=
 =?utf-8?B?SWFQb3JraEVHRWwyTVZaY2RzWElBM3hNSGovcVM5WER6QVY4cVErZ0tGL3NO?=
 =?utf-8?B?QXc9PQ==?=
X-OriginatorOrg: oss.nxp.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ee9cc1be-8078-44b2-8c4a-08db2ae63a4f
X-MS-Exchange-CrossTenant-AuthSource: VI1PR04MB5056.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 15:00:51.5943
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0ejzMqDI5maRGWEnNZHmJYhsMEpuruknT2lnFgxABKwiHZhsRvPukvwMeyXx/HrBAMTdwvPazmdBxj19PixWkxQ524QM9J9DaxkUqUWHIcM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB6798

Hi Julien,

On 21/03/2023 18:56, Julien Grall wrote:
> Hi Andrei,
> 
> I realized this has already been merged. But I would like to point out a
> few things for future series.
> 
> On 13/03/2023 13:08, Andrei Cherechesu (OSS) wrote:
>> From: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>>
>> Moved implementation for the function which parses the IRQs of a DT
>> node by the "interrupt-names" property from the SMMU-v3 driver
>> to the IRQ core code and made it non-static to be used as helper.
>>
>> Also changed it to receive a "struct dt_device_node*" as parameter,
>> like its counterpart, platform_get_irq(). Updated its usage inside
>> the SMMU-v3 driver accordingly.
>>
>> Signed-off-by: Andrei Cherechesu <andrei.cherechesu@nxp.com>
>> Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com>
>> ---
>>   xen/arch/arm/include/asm/irq.h        |  2 ++
>>   xen/arch/arm/irq.c                    | 14 +++++++++++
>>   xen/drivers/passthrough/arm/smmu-v3.c | 35 +++++----------------------
>>   3 files changed, 22 insertions(+), 29 deletions(-)
>>
>> diff --git a/xen/arch/arm/include/asm/irq.h
>> b/xen/arch/arm/include/asm/irq.h
>> index 245f49dcba..af94f41994 100644
>> --- a/xen/arch/arm/include/asm/irq.h
>> +++ b/xen/arch/arm/include/asm/irq.h
>> @@ -89,6 +89,8 @@ int irq_set_type(unsigned int irq, unsigned int type);
>>     int platform_get_irq(const struct dt_device_node *device, int index);
>>   +int platform_get_irq_byname(struct dt_device_node *np, const char
>> *name);
>> +
>>   void irq_set_affinity(struct irq_desc *desc, const cpumask_t
>> *cpu_mask);
>>     /*
>> diff --git a/xen/arch/arm/irq.c b/xen/arch/arm/irq.c
>> index 79718f68e7..ded495792b 100644
>> --- a/xen/arch/arm/irq.c
>> +++ b/xen/arch/arm/irq.c
>> @@ -718,6 +718,20 @@ int platform_get_irq(const struct dt_device_node
>> *device, int index)
>>       return irq;
>>   }
>>   +int platform_get_irq_byname(struct dt_device_node *np, const char
>> *name)
> 
> You are changing the name but don't really explain why. "np" also ought
> to be const as this is not meant to be modified.
> 

I did not necessarily see it as a name change, but rather as adding a
more generic helper to be used across the codebase, and the "_optional"
suffix did not seem a good fit since it is an alternative to
"platform_get_irq" functionally, and I tried to keep the naming
convention. I will have it in mind for future series.

I agree with "np" being const, I saw you have already submitted a patch
to change it.


>> +{
>> +    int index;
>> +
>> +    if ( unlikely(!name) )
>> +        return -EINVAL;
>> +
>> +    index = dt_property_match_string(np, "interrupt-names", name);
>> +    if ( index < 0 )
>> +        return index;
>> +
>> +    return platform_get_irq(np, index);
> 
> The existing helper was returning -ENODEV when there is an error. But
> here, you went differently. This is the sort of thing that ought to be
> explained in the commit message because it is not obvious why you
> changed it *and* that you actually checked the callers are OK with that.
> 
> Thankfully they are all.

The existing helper was only visible and used within the scope of
smmu-v3.c, so changing it was not a big impact. I agree that it is not
obvious, though, and I will mention something like that in future series.

Thank you for reviewing it.

Andrei

> 
> Cheers,
> 


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 15:07:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 15:07:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513509.794604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf042-0000CX-FY; Wed, 22 Mar 2023 15:07:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513509.794604; Wed, 22 Mar 2023 15:07:46 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf042-0000CQ-Bs; Wed, 22 Mar 2023 15:07:46 +0000
Received: by outflank-mailman (input) for mailman id 513509;
 Wed, 22 Mar 2023 15:07:45 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=+B1I=7O=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pf041-0000CK-EM
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 15:07:45 +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 4b11bf7b-c8c3-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 16: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-out2.suse.de (Postfix) with ESMTPS id 52A0C20F08;
 Wed, 22 Mar 2023 15:07: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 3144D138E9;
 Wed, 22 Mar 2023 15:07:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id rpQrCr4ZG2THQQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Mar 2023 15: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: 4b11bf7b-c8c3-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679497662; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=aHeaSbwIhnAPeb/3d+8VI6ULyHDQIcf1GGT+LzqvhL8=;
	b=SBtO9YZFRaaP0/kiT2j28c2ZCUQUl66oWjBoFCwKN02eqic7b8kEwwU4iJG4otNvWDb7oe
	xaQg07XQ3tB1LC3TYAjMTsM/d/z+nmfpFOH1SNs5aoi9TkrCpRuz58FzYnfwMNIOGRcLxY
	WmuqK/qA9/9LQXPHvGQPIpyBw1jznzg=
Message-ID: <98a714ed-befb-ed4e-f5f4-61cc469495d5@suse.com>
Date: Wed, 22 Mar 2023 16:07:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] x86/PVH: avoid 32-bit build warning when obtaining VGA
 console info
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
References: <2d2193ff-670b-0a27-e12d-2c5c4c121c79@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <2d2193ff-670b-0a27-e12d-2c5c4c121c79@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------2yyhjc13a7BmYmNVFvwSF3EX"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------2yyhjc13a7BmYmNVFvwSF3EX
Content-Type: multipart/mixed; boundary="------------phXdse7wD1Mn9gEPwPlwFJby";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Message-ID: <98a714ed-befb-ed4e-f5f4-61cc469495d5@suse.com>
Subject: Re: [PATCH] x86/PVH: avoid 32-bit build warning when obtaining VGA
 console info
References: <2d2193ff-670b-0a27-e12d-2c5c4c121c79@suse.com>
In-Reply-To: <2d2193ff-670b-0a27-e12d-2c5c4c121c79@suse.com>

--------------phXdse7wD1Mn9gEPwPlwFJby
Content-Type: multipart/mixed; boundary="------------H0z8szUqPAxsBe0JBgNNkCr0"

--------------H0z8szUqPAxsBe0JBgNNkCr0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjEuMDMuMjMgMDk6MDMsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBJbiB0aGUgY29tbWl0
IHJlZmVyZW5jZWQgYmVsb3cgSSBmYWlsZWQgdG8gcGF5IGF0dGVudGlvbiB0byB0aGlzIGNv
ZGUNCj4gYWxzbyBiZWluZyBidWlsZGFibGUgYXMgMzItYml0LiBBZGp1c3QgdGhlIHR5cGUg
b2YgInJldCIgLSB0aGVyZSdzIG5vDQo+IHJlYWwgbmVlZCBmb3IgaXQgdG8gYmUgd2lkZXIg
dGhhbiAzMiBiaXRzLg0KPiANCj4gRml4ZXM6IDkzNGVmMzNlZTc1YyAoIng4Ni9QVkg6IG9i
dGFpbiBWR0EgY29uc29sZSBpbmZvIGluIERvbTAiKQ0KPiBSZXBvcnRlZC1ieToga2VybmVs
IHRlc3Qgcm9ib3QgPGxrcEBpbnRlbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3Mg
PGpncm9zc0BzdXNlLmNvbT4NCg0KDQpKdWVyZ2VuDQoNCg==
--------------H0z8szUqPAxsBe0JBgNNkCr0
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-----

--------------H0z8szUqPAxsBe0JBgNNkCr0--

--------------phXdse7wD1Mn9gEPwPlwFJby--

--------------2yyhjc13a7BmYmNVFvwSF3EX
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQbGb0FAwAAAAAACgkQsN6d1ii/Ey/l
dAf8DzHIji2CVQwJMPIdxNqXIP5ZTNiv5KMFeUO34MpYIFtezAy5tjZFiB7u+mHRZ6FPyar557xr
OwQHwS5wdz4XP6CAtDvjz0GXLjYyNPff2HyW4DDvqE6u+YT3PvobM4RDj9aUkYGTRyEybDxGff2J
lP73NgMI/Iw+rZFgsFXCh+UiqTBnDsAPWghArjG5o4WAu2OyEjVtwaz6Z/V0ab/UPwxjxNuaZZMy
4WZt7IVGB84mW2/XdDm71U5FKCqjaGJClQ5T1WPZjNz6F1M/7U3V7NUDoFEIUT3+TpRWmUJlhSzF
oi031oBe/fcAokNCl4vTKmizuZvyvY1IarxrfcbfRw==
=LxvA
-----END PGP SIGNATURE-----

--------------2yyhjc13a7BmYmNVFvwSF3EX--


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 15:15:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 15:15:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513512.794613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf0B5-0001tD-7i; Wed, 22 Mar 2023 15:15:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513512.794613; Wed, 22 Mar 2023 15:15:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf0B5-0001t6-4V; Wed, 22 Mar 2023 15:15:03 +0000
Received: by outflank-mailman (input) for mailman id 513512;
 Wed, 22 Mar 2023 15:15: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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pf0B2-0001t0-Tj
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 15:15:01 +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 4f2f9f22-c8c4-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 16:14:59 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DUZPR04MB9748.eurprd04.prod.outlook.com (2603:10a6:10:4e0::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 15:14:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 15:14:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f2f9f22-c8c4-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PLS16tGmJGAYIPYTYQjZ2a4Mkp2xUddKT0gcYSiCsj9UGFNj+ZG+JBdywFLMIKDY1Kvsj1BL9ORYEv2CEMyn4lRw9dT4931C8svFIJVedgl7rRm0XFgUaPz43J/6JjZY3KGKQzUFw0mrpxLxcuMoEHDpLFr4QtNAdtIj97mD8GSo0ljxEbVHyf1NegXCpsTp6sz56itDkwDheJ7ngCW1nPIIghfkNHaxluWHrKVZQqqiPK1r+xK/nk+irhD1Me4hCe+bvivPqmtRUoSUKBsu5nMQMkQM+YbxPsGKYLjo8uddY1YiCDTmp1yWw39gd7r9alM8uZBn+OJDosTesMg7vg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7oOoc6GOlwSrWGbCnU9hAo7XnLCdXIRikZtBzrCOlIg=;
 b=XDAJn4pXVCM3Y8FUd2/Blye/PFfLde7fvzgVlAHl3A6zUUKAHX4XUFue7Pp3KNzFuLw8qRIH4OIqOmaAwnopMISWZcF8/MA+AikPUw5ynawarVjkMckkxzabiL7d57UOVSZ3M075RqTXV67yoFxktdHQE5drl8t0WvJPh+6cRp6kQPxWhWrBmD5MKVTZ7neBsY/uKZZwnDcr6xFEvl+sZKBro/3+XIDOLYal4FtPQ5l8H3JcdN4ImM+T/moMddvO0BygjlQ/wXlHkkrd9tT+tJu3YRKXf6bPKbW09FNGbZODWeObV2WOZfhKW1v7P1/Kmeo8InMyrjV6sMehrkI2ag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7oOoc6GOlwSrWGbCnU9hAo7XnLCdXIRikZtBzrCOlIg=;
 b=fwIyinxhZWR97dHa0WJ9Jq5DfE2Uweo8639nswwnTH8EQj3518M3ouzxEGLpLh4pN0DqXpT41HCEA5o8WVa1JLmiYI3tsC2GuzWPB2yrjZLWxdFZpChWaQAcwAoRYZewAZFPdWzxh5Pr28TUPkYMAF8UIzeVanu/cBB492Tcb9/G6XC9zq7Xcltmmo1d9h2lOWA2t74JLfiq6EesvYR9K1yl1MZHXi+M2MqxwpTfS1QKLLjpZIO7U4tLMT0L1KUEmmdhh9zWOAppmoIRBAWrEuHzqsYmDJcmqG5IAFnBQfsdLNCO/yPU0Ihpy3ZOwkUYLFbbpRo00ZKMy6gstdR58Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0a69ba74-71fd-101c-2f06-2cd6ced412b4@suse.com>
Date: Wed, 22 Mar 2023 16:14:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3] vpci/msix: handle accesses adjacent to the MSI-X table
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
References: <20230322143001.66335-1-roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230322143001.66335-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0162.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DUZPR04MB9748:EE_
X-MS-Office365-Filtering-Correlation-Id: 8ab450ed-2de6-4f1b-a3dd-08db2ae831e9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fxL4zSJN12xl4SgtO5/hO/06O5wNQMWxtcbF6Q8roZzoS8TwO9vyPJoFSVQfmmS4pVTFFA9DCX6WfOUay6JJ65dGNQ5wK1G21O6Ho/26m7xOkmIipPWDkvdn3KbSrmy2QhKTtRHpqxNmRAD8uASH57uZuZqhI5lS40d+M1eu10Jvx0XRruqE/RZLZhcG7CU5BkU+zXuqzzTmgAablld0wxjJ32+Tq1asxEVfP+bU05ewCjDlrgqkuMsYqWZZ7Uo7wZhiRaBUmVsTv49XohiX9OkY66vFiHuo7/O8FpA7q8lnwo6fRN3k2Nmd0cAWDPCg4BA/OA21Q/ORmN4VgCoJ3R9EPh+1sQ+th+fCd04hL//7a1ahCJ/E3VLKgiBzMkAHDgWI16S75QV5nFscraMtkS6HcV1QpVsoHQsSfDEXzjdQV03WK9JF5xamULw0h5vvuslpfywZZvbeHcdFYLM8sEVwgQWnVu8pePEwTPZen0Exjfl7MGmeJZNwfqnvfQlb/kPI6EI+f3/aD9Ki8FXiG4Sqa75QdtFGuS5Za1+qxYrt2HVQz5go8yn7rnCySHyv+S2qJ+zYDLPcvMfVB7v+LPA+0flQxg1pGmDyC6btrncVbiCpqthgaCdWcTXk9XAhSOZ8hv4MmIdb8f9vTjrvtDbrL0yBka9lJRAA4Eq7CRdJ4mrM3ZHcjoZK2MfpL1Hg8/P9TI60Wiwrzpsr4p13MBNI/RJJNHRM1D10ID536WI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(39860400002)(136003)(396003)(376002)(366004)(451199018)(478600001)(2616005)(6486002)(83380400001)(316002)(8676002)(66946007)(66476007)(66556008)(53546011)(31686004)(6506007)(26005)(6512007)(186003)(6916009)(5660300002)(41300700001)(8936002)(4326008)(38100700002)(2906002)(31696002)(36756003)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OUxnWUsxQTduejJjU1NtSzdSU3YrbjVCMG1DOTA3amZwUEtzM1JJWVlFNzlM?=
 =?utf-8?B?VlVjSzhBeERsbFdlS281SnJndFgyMG1BY281c0ZnV0liRUthbmd6ZklrbXJE?=
 =?utf-8?B?cUFCZFB6bVo3WnFpaHNkMEtaZ0pCRjN3QzQ5S0dIaklEMHVIQk1BajR5NjVz?=
 =?utf-8?B?dkZxOWFzNVZYUStiNUZNQ0NpWkRkNEZ0NFBvVmZoQURMTWUrbkVZMnRSRnlD?=
 =?utf-8?B?MFNHT1ltZEtrVWxFRmJIR3Q4bkkzUXAwWGxrSTMzTGVtV2V5bGNZTFlsaVZ6?=
 =?utf-8?B?ditaVzF5aXdyZTFKbmZqUHI1dWU3enpmNjAxVzRrR1JUTEpkdTNkZHl4V2g0?=
 =?utf-8?B?OC92dEthSWhKaXJiM1J0bUoreTVwRE5Ra3lMRU5idURHekRLaUgvREFsd2Np?=
 =?utf-8?B?c1RHZmlvMVN6a1V4SFlzZVBDOFYrc1FEbDRDWEQyYVBJcC9Odm83WEN3NHhy?=
 =?utf-8?B?ejNBTGJlRE9KeWdDem92NG9iS0w4Zk9BUHM4SHVITEo2Vy9ZdS80bFpOd2M4?=
 =?utf-8?B?SHN0YmQvci9ENmg5Q2hWTGNiWEZaYVpmUHd6RDljQVBteEZpZFo1cEs3UXRQ?=
 =?utf-8?B?OHpuWFdBZjdyVjE3T3d2d2dWdkY0QUQ0OFl6ZW5hY3J2UEI1c2tuMS9Qc1pV?=
 =?utf-8?B?VW9CaHg1TDgzMWlGaWd3SWlEYnVTckR0N0NxS1JlL1M3MXEyVGdkOFJsaWNH?=
 =?utf-8?B?Sk1ZOTFlQUVXOXNZdlVIand4MUp4OXRhNmo0aWFoT3UxaXM0UzBwaFZpSE5z?=
 =?utf-8?B?YlBzQTdsaFQ2ZmxNNWhLbWp3Y0NKWVl4aTlBZHRaWnBHdHBzMUZ6c2dvQVBO?=
 =?utf-8?B?TjJ1cHhNdFRkSGlSTnNEWEZyWS9Hc3IzbEhSQTFOMG9CYjdJM00wWTcwa2li?=
 =?utf-8?B?eGJxY1NFY2xoUW1qMDlTQlkyTTBnbUxIRnU2Q1V3SUNxZUZFWEF0MllaWStO?=
 =?utf-8?B?MS9xMHI1SGZQVi9hdTNMVzE3a2JJVFFJdWFvUnN5RXdhVktNbFQwZmdKMEJG?=
 =?utf-8?B?NUttUmNUaVFabFBLckFYLzZ5aXgrdnFFb3R0OU5zbTV2Q2xXdVlkSGYwcXZD?=
 =?utf-8?B?Y0IxeU5zZ1R5Uk5ra01sR3lyeWcyWnBReTM4SjdnbXZ6VEh6VFFGVEd6VE5W?=
 =?utf-8?B?VGZWZWMwT2dNU1ZOaE5sR1JrNWkyaFc5NS9haFhSdldtYWc0ZmYvTElCQktZ?=
 =?utf-8?B?dkFacUloQjJ1Y0VGcWxQTm94bDBuVE9yMFM3emd1YXVlU2lvQVRMajJWNGxI?=
 =?utf-8?B?N3NqeTlIVjliUEhFV0daTkwrYnA0WTMrUUxBUHllT0ZPNlVuVk1qVmF1VDdJ?=
 =?utf-8?B?WUY5OWhWZGdIUVRobGhGWkhmWVhKYTVZcVlhRTJJam9ZK29MT1FlOU1NOHZW?=
 =?utf-8?B?NXBNNXhiY0ZnaWVpUGdERHFsckpHNHUrOHBYQTM4VG9zSHh0ektNekxIalVJ?=
 =?utf-8?B?VTdKd0ZRRmNyV0JFcEE3NlZTSzNYR0ZXY3A5UWpaYjJCelNZcE5vUHVxNHFk?=
 =?utf-8?B?a2hCS1IzNVRaRWJmR0F2UU1PTWorQ0R6K2ZROVdVcHRmcXpXby9URTJrOVBv?=
 =?utf-8?B?Vm00M2dySlB4c1pVaFkyTnVWTlgvUjVKaXE2WnVQUHcvUTFNMHE3MXl0U3Ix?=
 =?utf-8?B?bGJUS3VMZWVJZWdxbTlyNGJRellLK2FwcC9GeVZ6Ykd1VExQdDhoUHpoTDJn?=
 =?utf-8?B?TEN0anR2OXN4alhMZFhEdnVFZlB1MjIzbXAvMjRiNm9OVmVibXl3bWwwUWVQ?=
 =?utf-8?B?eDZUL3o4d2hkS0xIVlQvZXZLaHY4RGFoTVNXbUJ2N1g2Sm82RjdHekVyd1Rx?=
 =?utf-8?B?dmlYYndXQitIUnVrQ3BLTWthRzdYbWRsTnIwdm8yTU1STko2YlJiam1BcEpL?=
 =?utf-8?B?aWhZaTFvcUY0OVZ5Y1dVaThIdmhNK241dzdDblVmV1JMbko2dWVoS1R3RXVD?=
 =?utf-8?B?WE43K1k3OE1XOWsrR1pBc0phdHYyMitrNnF1aE84NUMyRjdBeWF4TWRScG1a?=
 =?utf-8?B?UDE4dXZ2UkRaYm5RVUk1RW1nRGRpWHF5OTBPY0JjbG9GdnRmam04bDQ4blJT?=
 =?utf-8?B?dDRzd01NbHk3OW9TbjBvYWxqNFNwY3RsR2JySWtIc1VEWFZpVVpyRTVNMGJ3?=
 =?utf-8?Q?INZcf3CGKzMF4gGS55S//snc7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ab450ed-2de6-4f1b-a3dd-08db2ae831e9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 15:14:56.2638
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5fI7a4JTXsEypNt/nTOKxVSL2ETZIppu86PJaXLf4c44/ACRogvN7xzG0c5VQKM4/NmzK6fdu6HTfQoHduxpYg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9748

On 22.03.2023 15:30, Roger Pau Monne wrote:
> Changes since v2:
>  - Slightly adjust VMSIX_ADDR_SAME_PAGE().
>  - Use IS_ALIGNED and unlikely for the non-aligned access checking.
>  - Move the check for the page mapped before the aligned one.
>  - Remove cast of data to uint8_t and instead use a mask in order to
>    avoid undefined behaviour when shifting.
>  - Remove Xen maps of the MSIX related regions when memory decoding
>    for the device is enabled by dom0, in order to purge stale maps.

I'm glad you thought of this. The new code has issues, though:

> @@ -182,93 +187,201 @@ static struct vpci_msix_entry *get_entry(struct vpci_msix *msix,
>      return &msix->entries[(addr - start) / PCI_MSIX_ENTRY_SIZE];
>  }
>  
> -static void __iomem *get_pba(struct vpci *vpci)
> +static void __iomem *get_table(struct vpci *vpci, unsigned int slot)
>  {
>      struct vpci_msix *msix = vpci->msix;
>      /*
> -     * PBA will only be unmapped when the device is deassigned, so access it
> -     * without holding the vpci lock.
> +     * Regions will only be unmapped when the device is deassigned, so access
> +     * them without holding the vpci lock.

The first part of the sentence is now stale, and the second part is in
conflict ...

> @@ -482,6 +641,26 @@ int vpci_make_msix_hole(const struct pci_dev *pdev)
>          }
>      }
>  
> +    if ( is_hardware_domain(d) )
> +    {
> +        unsigned int i;
> +
> +        /*
> +         * For the hardware domain only remove any hypervisor mappings of the
> +         * MSIX or PBA related areas, as dom0 is capable of moving the position
> +         * of the BARs in the host address space.
> +         *
> +         * We rely on being called with the vPCI lock held in order to not race
> +         * with get_table().

... with what you say (and utilize) here. Furthermore this comment also wants
clarifying that apply_map() -> modify_decoding() not (afaics) holding the lock
when calling here is not a problem, as no mapping can exist yet that may need
tearing down. (I first wondered whether you wouldn't want to assert that the
lock is being held. You actually could, but only after finding a non-NULL
table entry.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 15:21:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 15:21:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513517.794624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf0HM-0003eJ-2i; Wed, 22 Mar 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 513517.794624; Wed, 22 Mar 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 1pf0HL-0003eC-VK; Wed, 22 Mar 2023 15:21:31 +0000
Received: by outflank-mailman (input) for mailman id 513517;
 Wed, 22 Mar 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=SGSf=7O=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pf0HL-0003e6-Ai
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 15:21:31 +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 380e0d3b-c8c5-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 16:21:30 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7774.eurprd04.prod.outlook.com (2603:10a6:102:cc::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 15:21:28 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 15: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: 380e0d3b-c8c5-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K4rsEGjijkEPyweEIbw6xGlQg7FGxdBIYiP/ChSqmsMr/EFQszCpEGGBYUFgtMJqfrjlFtvQTlecZEUs3MeGWvsvI8q4k4eiz9u6RU0OmF4t4NJFj1ACWbLTGS1XuQaBRHJhXxhZa5EDPdRfnarBLpCkyusCUHb7K0xLfi/m1rqp6rETahdMXEO61cBYK3Fadrm5daXNlvT7Dp4uWXGC9p0KjfpwXY705d/ULOz3a2pd98q1JQpVDjGeYvrXA7BG+l+91F34SE/Xca7tRbVkbvGmy5TeOZN9M75+NXCEDBHCcRM8toKPHzs827QeU0xQ+a8Z+DqZ70AF5pjd6DyeyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ai43Huxm1AZlXL/xvcOxgS3i7ZVwjIIUFpPEH0FGZoU=;
 b=lfe0NnPjAXBT6Otg24UXX9aBsioDSyqLw/N3BMSa+J2Oq8rl3ZH3D4+8B+BVoQMJeXISnMRihgBHRhyJMnUxBDeEq5ME4uzuA/WbHUiKaY4FPT6wJyU7Lxk6kk1v/GU7k7IerPIXkI6Sy8vjQkATZ29/GZb22XW//kFsyK3Za+XBLFNpkRjjTW4tjf7M7/evJtpXBfs9C1jB71U9YkwS4B21JLBs6L87ARGpp9QOT3P7M1Y2q/31tfIA8LtdhcyQqC2JxwUWJaunDkoDtT/CkEL+pRqgMo8sp5LRVzK5wi+KQoKNLn8ohc3QdCMIce4IGEUpMfBVs1Ev3aM9oEM8/g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ai43Huxm1AZlXL/xvcOxgS3i7ZVwjIIUFpPEH0FGZoU=;
 b=INP9f+cjJe2L4IEd3bEN8i8KprcTTf3utlEYCWIsUAr/ba0ZwfRjn04uz8IkamzYlnsTIJH+bG4lfEDLtmGxfsXJQyb4FWuK+pllH1Osqhy96yZO5g6o/UAJj0mMyGYe8FaW0sOYzhnexPD4GxMSy5xxQZtmwU58jDUntJsSO+pPq+HiHbIw/I0rS4T7freD4Sw8WMwpECCZKF4zeUc/f+58O+9TSDeyT/nIP7SRzeD9ItzGSJ8/NYdbbZKM+oyM1v38lqqNKAx+knob8aS1R/YJDnmJnsynWC+Fmo1SLnIVBVZNKjdnEIqs0LO0ApK/Zdgo+8aHTatOF1rcQR+vaQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <313fd640-5ab8-009b-ed7e-24f1a9389ea4@suse.com>
Date: Wed, 22 Mar 2023 16:21:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 4/7] xen/riscv: introduce decode_cause() stuff
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678976127.git.oleksii.kurochko@gmail.com>
 <8c7b4a5d328be8b1cd2aa99c8d9a7883e4969600.1678976127.git.oleksii.kurochko@gmail.com>
 <0b94be57-b8fb-6c38-9ed8-dc8482694153@xen.org>
 <cf883a86eac88c11d02768eb64adb2b418c6ba2e.camel@gmail.com>
 <771418cf-9515-cc93-14c7-4bea60c30b2b@suse.com>
 <98a891792446e72d910ee49a62c7e3b3d2d6c186.camel@gmail.com>
 <486cf6f9-4e28-17b5-3ab3-31272955926b@suse.com>
 <4803eb7e39a66ec8d9db767e979d66034197a358.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4803eb7e39a66ec8d9db767e979d66034197a358.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0222.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7774:EE_
X-MS-Office365-Filtering-Correlation-Id: b3d05a3e-0faf-42a7-46f9-08db2ae91b34
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JmkuS19OL/dbBGzmSmDkfCKMkHzBZC25WrykfNwJr/m6WKC334fnxlec0TaV1exWcPpJT2KTpCO1AePdZXdY/UDrKIHBzNPZaGPjovqUWVZdkgK7rvu2zWl1G5SSqyIr6qIp+d0kq9/QHePU/c/pXb3NuWTxKDOKiAqtWlbUnIbDqgs74AiKQpNRwQKQJvVi5eal+upv33IiHlgWKKvc7h0dNBBqW6Iw0cIY1bw9KIz2Fuhes94Gs7E4TeXeuwEnsjPFp/FzT+DMYMxth8IanE5B2k4x+mg2zdimzNMoQjMgm0mfwhMkxiWWHm6Lg93J0gPwdkILAUweaWLc9j2rjPUGdfeZrlIL2RsjXpnRp5fq2blhG/hAVnkMTbC2xiq080t+PaWmsuAji6x85nLsiR7aw3vblEHoxyXFeQf+ONzg/r5Yvj45Lr63ZtfUxFXSlSuG10pJNdp1tcjvKU1Fi5xBwg4beyq/adVOlrR90zg7QlWqwSYxmHDeKpw88Xjmr+/dnIciC2fH3XEeVMPmsUyjSue9wl2p9VKQ8UZxSo3pp5jLJMMWIgJ39zpRi8dI8YR9Hb5l7oMIr8eqSz0JBNxfcxfN82QB/WkbuV+/S2kISo/+t6ygY8NUG1zX5CdTAHk28tRGtUr56KNdAFTY11AieE5Au3BL9FoFsAFouOQb4SotKvPLyQQrpAGpi6JyOXNwbeY7lYULWeHUK/S6ObAMnivYtLCswZmtymK7LQY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(396003)(376002)(39860400002)(136003)(346002)(451199018)(4744005)(8936002)(5660300002)(41300700001)(36756003)(31696002)(86362001)(2906002)(38100700002)(4326008)(6506007)(31686004)(53546011)(6512007)(8676002)(186003)(26005)(6486002)(478600001)(66476007)(66556008)(6916009)(54906003)(66946007)(2616005)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dTBJQXArTFp3QlZHRlluSVpYNGdnVDhuOEFoWGtTVFFhaXNDQzdsR05uSWww?=
 =?utf-8?B?bmp4cWNLOGpQczRwenhqREc4Vk41RWJVZmhTUHJmUXh0Q0tLQ09rTHpJanpl?=
 =?utf-8?B?UEFlTjJsTk1vTXV6SlhpWFdFMklSdGRlazhOaFc2OFRQZXhKWHN3dFVrMllX?=
 =?utf-8?B?c3MxWk9wdmp6ajJUQWNzMHNnUzBoLysvaGtjM2taZjhWSTVYTTAxczRtem1P?=
 =?utf-8?B?dU1EUXNKQ2tmMDFQUDJtT3ZHWklIRWJLMEdTTmlUTUZpTzJEd2x1YjhQU3d0?=
 =?utf-8?B?ajZQT3g2blN3b3JGamFsTGd4MkxVMTFlZnY1Tnp0M29CZytROW1sOHdIY0NM?=
 =?utf-8?B?L0hVRjZGZkIzTEdDaWVybmU4MXN5MlhOUXZLdWdBbmI1R0JWVXMwalhiZzhu?=
 =?utf-8?B?MDVINE55V21vQUxkKy9hV2xHS3JzcWlmLy9MQmNkR0VCUzJGU0Z6aU5FcTFQ?=
 =?utf-8?B?OS84QitmYytLWERsZFdVclZWVmRaMkc2eHZUS3hYclAyNlpRNUl5bk5UcG8z?=
 =?utf-8?B?SEZoSEIvN3RZNDRYUkVtRmNkQ05WaXdweWE4YmozQzFkTlN1NUtvU2tBRk83?=
 =?utf-8?B?YW9JcGoxeVkvbHVNRk9YMmFVV3hYTWxpazZ5aHc2SVJPdEkxaFN3MnhuNlhx?=
 =?utf-8?B?K1VFTElOYjB3c29zTTZDM1JHNHZiT2ZMM1VWd2lTbXFRTDFjUnpORHB5Z29r?=
 =?utf-8?B?dU1MZzg1Snc0b3dPbHBvOU5kdUN6dmtJSUJBV3A5MnJzeUZDQTlUd3dpbEMz?=
 =?utf-8?B?RDZXeWdPa2FkdStweEpWeU1DMjc2aW1iZjg5MDcrU2VJNlF4MEpXazNPMEl1?=
 =?utf-8?B?MHRXVVhhbkxkUHB0Mzc0TnAzcGxEaWdYMEJPNmc5aGlCZTRGemwxbU9RMnVa?=
 =?utf-8?B?R2lPL21RWklySExrdjhhU2FlR3hHUGxwRkNmem9JN0s4T0t0Y05kdUVtSDBG?=
 =?utf-8?B?TkhFWTFzWk01Q1BtNzhxNUx4UGZWdE1nMERjeVVhWVltWThqb1pRMURpL2xC?=
 =?utf-8?B?ODFuYnA0dEYvb0VXRmxTbU9VcUQrWHVLV1pBb1cxVEsxbDBNaHhLam1sNHhN?=
 =?utf-8?B?YXVwQmJRWERSZ3dFWmdDUkJrZU5ta1I3UjRkME5vQTRCNHZOSEpFbzBPZnZs?=
 =?utf-8?B?bE1JUGdaWXlka0pZdmhSMHNwM1RBWmJ6OFhIbzUxbTYrRHlodW9mWlIwVk5J?=
 =?utf-8?B?WTZVNVZKNFBraHVTKzNmMk0rOTVmL0lYcWsyNXFMazQwdG5UbVRxWWdDcVZY?=
 =?utf-8?B?S1RCQTB4amlZbTRKNFR6dkEreWVNd3owMGRITzZTa0FJMXZGa1JyQ3BkVi9T?=
 =?utf-8?B?cStmcVR6dTBVUW5IZFZHU01EQXNRcThNSWxwSTdBSmFFeDNmci9WMWRKMUNx?=
 =?utf-8?B?WnY3STdrWHRheUwwYUNUQkx5VVlFRUNEbGNpaUkrRmtJL1Y1aTRXNzNuVDVS?=
 =?utf-8?B?QlNOZWZ4eUdvd3hiVDI5dUJ0aDU2Z3FJM2F0R1NnTzUwVmU0bGFpM3h0OFhM?=
 =?utf-8?B?NVowMXF1OWE2NEw5bXRhTDNZWk5NYXU4ajVpTjB2SE81aVRpQ1Yxb0ljd1pH?=
 =?utf-8?B?SzdSWmhWbnVRMFRBRmFTTUhXM0h1QmdQb3RBamhGbkhqSTE0RTgwMFhuV255?=
 =?utf-8?B?Y0JhZkxBMHo0OUIxNFNSZitBeXFsVkh5N2xGbFgxUUVoVkpFUU5OVlY1Vmth?=
 =?utf-8?B?d3QxUFRzanY3UkJSaHhMVS9oaVhLdUxFSlZwdkZxOU45MEswbUdtNkQzOTR2?=
 =?utf-8?B?WkN0a0NhUkY3bHZJZ3BMdDNLYVZlRkFjNFpaZGxPNEpXdjBrbDFFRjBtbTFo?=
 =?utf-8?B?OWpzK0pMVjVYeWVRclhjTjRxZnQ0aUhWbTIrUWd3L3dzV200eUtNZndjRFo4?=
 =?utf-8?B?ekN4NEVENCsvMGRFWm14YzhXdDVjMXVTVG1ZbjFLUTcxVVQ2ZXRRM29YR21N?=
 =?utf-8?B?RVJHNTlFdzFVRFlkYXdlcVlFN1BrVVNuVENhSmhyRUxmVEtFTER3UVlUQXVj?=
 =?utf-8?B?akh1OHl5clNpZ2c3UXFhQktQYTBrRm1RejZTSFpoWVcrS0NxaDBvT0FjRW1r?=
 =?utf-8?B?TkRLU1JjeTZzcU5ZMGRMcFVkeEpBU2dDZ2Y3L25hQ1kzb2FKRkpOWi8xRS9V?=
 =?utf-8?Q?ZtD6/b4dC+CPZ4aSGBncbsogP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b3d05a3e-0faf-42a7-46f9-08db2ae91b34
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 15:21:27.6620
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EctU/qctCKXuB9I7aNao0Llc7/fsdar2v6zUbLuwfmba72Uia9CfYUPGUaombIzWtMNChb5mbLQ3yZ+2X65DIg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7774

On 22.03.2023 15:59, Oleksii wrote:
> Then it looks like enabling of MMU should go first but in that case
> this not clear what to do with BUG(), WARN() etc as for them it is
> needed excpetion handling functionality and MMU related code uses the
> macros.

It's still possible to reconsider and do the page table building
and MMU enabling before entering C. Or to have all that in a separate
source/object file, which is prohibited to use about all of the
infrastructure. And of course the option of (re-)applying relocations
also continues to exist.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 15:22:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 15:22:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513520.794633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf0IH-0004AD-B4; Wed, 22 Mar 2023 15:22:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513520.794633; Wed, 22 Mar 2023 15:22:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf0IH-0004A6-8P; Wed, 22 Mar 2023 15:22:29 +0000
Received: by outflank-mailman (input) for mailman id 513520;
 Wed, 22 Mar 2023 15:22: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=MxM9=7O=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1pf0IG-0003e6-6o
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 15:22:28 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2062e.outbound.protection.outlook.com
 [2a01:111:f400:fe16::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59d5509a-c8c5-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 16:22:26 +0100 (CET)
Received: from DB6PR0301CA0052.eurprd03.prod.outlook.com (2603:10a6:4:54::20)
 by AS2PR08MB10009.eurprd08.prod.outlook.com (2603:10a6:20b:64b::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 15:22:18 +0000
Received: from DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:4:54:cafe::ab) by DB6PR0301CA0052.outlook.office365.com
 (2603:10a6:4:54::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Wed, 22 Mar 2023 15:22:18 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT037.mail.protection.outlook.com (100.127.142.208) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.17 via Frontend Transport; Wed, 22 Mar 2023 15:22:18 +0000
Received: ("Tessian outbound f2a8d6d66d12:v135");
 Wed, 22 Mar 2023 15:22:18 +0000
Received: from e740903bb7df.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8B0FC001-014A-4674-9EAE-D81A26CD2EDD.1; 
 Wed, 22 Mar 2023 15:22:07 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e740903bb7df.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 22 Mar 2023 15:22:07 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DB4PR08MB8077.eurprd08.prod.outlook.com (2603:10a6:10:387::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 15:22:04 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 15: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: 59d5509a-c8c5-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cS8IdW0ZgVWa9MP1baWDVlOvLAzK6/3o0few2DLWQmo=;
 b=IYm/TFF/n/YfD/EhYrN42iC9QlItZ4pMdQv/dtqWUCoA4B5+K8qXXNRw9A8xZgv8phmsYmVdYcD9WEADNSltHGYdGDxBRDNxGcaGkrFKxZXJm6oPvzVBxvkRW0+falwRRDIni1z0SdlGmk0M4v2PTLzsPI4te899bp22R10HBdg=
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: 41223d454be77806
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PoT51Q+zLFCnClejhOSrwdwMCkeZf5eBvrJ+YoANCuypRoIKLbAyOChFRdfRQi/YXM8cahfskmsp1ad73V3rtk3C7pAGjbnd8n1naH3e+7SwydqXNp/lBvhbvGB1AKvF40UWDNC/VuSW9gByZ29oS3j6fLWNB0tFCdr3Q3+1flvs61u4NO0d8zPsn/nl/eIt0dyLeMqG8cXg4PPeMOiPin0qXk0cN5rHTJtLV4Ie0xJM3tV35lJVNvYVQ06NZwhAal7b0Ou5iSOh+aPkdlQnHzlPpynUAue2PkXp8+cimaRS6f7P7rlHkmI/wLGmEWAMVpFQdqWWCloBfpMD1CQimQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cS8IdW0ZgVWa9MP1baWDVlOvLAzK6/3o0few2DLWQmo=;
 b=JNYBS/H6KgOOp5DRf5QtIev1KIKSSetOpEXhst+5LVOVywSLm1hnqHFEwJriQXpwNBKwJNG3go4pb5SV4YdOYAPrjEIA2BzfndjPQ5d0jsxzKWNdYYjKKc2Ib9W2llf4rQRyFZZNwtUsSb46sgMzvMlLPag3Gfg4LNpD9Xk5R+4Wu6J4YOEbae79Xd470qBmjxWkTp+pM8CRBMXZd8QuIW9qsBA4UgfIEUM+Ryt1e0BBYfQ/AAvtW9+58HRICTYtEUNlVPDk56thx3+CekDN4EtE8TPCXjyS51U69y751oxQaBPSGzRaMhm2p8LbstAGPR1tYiKPC/Jih1uhVsRxaQ==
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=cS8IdW0ZgVWa9MP1baWDVlOvLAzK6/3o0few2DLWQmo=;
 b=IYm/TFF/n/YfD/EhYrN42iC9QlItZ4pMdQv/dtqWUCoA4B5+K8qXXNRw9A8xZgv8phmsYmVdYcD9WEADNSltHGYdGDxBRDNxGcaGkrFKxZXJm6oPvzVBxvkRW0+falwRRDIni1z0SdlGmk0M4v2PTLzsPI4te899bp22R10HBdg=
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/2] xen/arm: domain_build: Check return code of
 domain_vpl011_init
Thread-Topic: [PATCH 1/2] xen/arm: domain_build: Check return code of
 domain_vpl011_init
Thread-Index: AQHZXKlUoZLZ+Or8ukSLI0BaT4Km/K8G6r2A
Date: Wed, 22 Mar 2023 15:22:03 +0000
Message-ID: <865C8083-8C22-4CEF-94EB-10CCC82DCC39@arm.com>
References: <20230322102941.959-1-michal.orzel@amd.com>
 <20230322102941.959-2-michal.orzel@amd.com>
In-Reply-To: <20230322102941.959-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.3731.400.51.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_|DB4PR08MB8077:EE_|DBAEUR03FT037:EE_|AS2PR08MB10009:EE_
X-MS-Office365-Filtering-Correlation-Id: b3aeb47d-f1e9-4bfd-ea98-08db2ae939cf
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:
 cMYFm+XO/iiEwuEaVDgzAyqh+1AneRoiofQqifoBZIkCXBtV8k8LbPey2CtHyveXRirnzeClJLHOO48Aox6GGvjKsElppsjGsup3g5I6yxVxN2UQ0rqB2NpjNGYDU7NQtwvTHRLyMtQca51ULDninY/LXyVCWFTc5d4Py5JZ3/JE8t86Z++fVJLwAqKuI6v6Sncy6vM1ejHsuK3nwvW8TEc/59PLdy6n+BN0xB+X3fO3vGYaufv0Q5X80GFBKBfgAZ52K5NzB+etH/1sZRS8kEO0gdz2E7EmMjCuQlS1SH5tQywSDj/IosUDnNzuXN7Wko9fdX+qwhu9H0IIVLSnDVHzDjS5Op628wxpGyxjJ2wQ0Cghah8w8fbg29o1rLUiyTqyWJhjxz2GipUh3E8+EMjYEFjtNujh0ETC0n8zYZVqyptkN+zpLZrZ91cXxM9awq7Yts65fakcLrqjWLBnlB39kz78+fXZKyK/pWcNmGhvw6yGe3iWuC9nOlvR0j/GP80rU1s66NzTxNNTjgt5fdb5usLtTm/O0GyHTJIiBOpKWzX4tIqLoqhb3K63/0Tt78tgdklfHDMvRo7Sz7lM52nhR5K6YdZ5VE8EnTceCJg8C7QAkwlvzUBluOhKiZIWyrHjBo8IzMR3hmTTA7uFACeSwH5lBwVf5vO3brHmWgQt6w9TdtAIcncC/8XxvgBlvRBFVkoY7t5IxttWg3lc1ZSJ2QRxgEkVD+KdAiso19M=
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:(13230025)(4636009)(366004)(39850400004)(396003)(136003)(346002)(376002)(451199018)(5660300002)(8936002)(4744005)(41300700001)(38100700002)(86362001)(38070700005)(33656002)(36756003)(2906002)(122000001)(6486002)(478600001)(83380400001)(2616005)(71200400001)(186003)(26005)(6512007)(6506007)(4326008)(54906003)(53546011)(66476007)(316002)(91956017)(8676002)(66946007)(66556008)(6916009)(76116006)(64756008)(66446008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <EBC827F842C0EE4B96049F0958A651A1@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8077
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	668c6f55-03ef-44ab-b716-08db2ae930e3
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aC0oXfOZxriLG/sLpmjzWAHh6zzgnzfHB5kmoT4vDDPHNk4wHldDhZ4QR4s2rRl4fV/gQz9wADsnnhBS8M5Va8fofhH53LyFeceA/FwpQljFtl9ujb7KbvbSMKqm+mocVDsRz3L0C/T4D4/59C94IAeSIIKTkvJrH8WxVBNDCQCtp+IsbKn1uTNmkwI+t+GRkDpwoPTrvX5dai336ecxT0IXs1/1RNzrVLF+3KYGgVocG672DXrfuIXGKH81zmbAI/BoIwbUqaovjbrbH2MB/jZOuYweTy23hen8AeH7yXcMb0yESJhtToHgVCc2H6vPlqHJ3IjNoMLG0Cnf7KlnE0UetiejmWGv2GI/R9PkdEJsjGYrZKRvIpzQs9klYAK0pDMEdZjR/iskLzUD5yrGfoBncNEOlOpdPhZ0G8T1kXbexsTToyqU96BIz9vGDV9D2BsdpYjvwbieW2An58rfFeXNsr2RUadhL48gkg8PotjUzd0JccoaiXl7cNJyf+vsGhi3iygLP7PUIvKZJ3z+SyXZgzLA2llV15cNPZu0qhOz3BO1icWPiFdswbqnMtTSC6LshLPRL1ivj4NbJNxuVa+aJvMXbGe6KLY+n2XgDrIj0Dc64J4bMAvLwLlcezfNTmFrNVAnVq0tXebHSdtiVcSZMmFJ7BsLQVa5Etx4i4KiWVrymtz4ZlLDYWuwuaUjSE35u4fnAcpYvB6YQp5VYw==
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:(13230025)(4636009)(396003)(39860400002)(346002)(136003)(376002)(451199018)(46966006)(36840700001)(40470700004)(2616005)(6512007)(6506007)(107886003)(336012)(53546011)(26005)(47076005)(4326008)(478600001)(6486002)(8676002)(83380400001)(316002)(4744005)(186003)(54906003)(70206006)(70586007)(5660300002)(82740400003)(6862004)(8936002)(81166007)(2906002)(36860700001)(41300700001)(356005)(82310400005)(40460700003)(86362001)(33656002)(36756003)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 15:22:18.8106
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b3aeb47d-f1e9-4bfd-ea98-08db2ae939cf
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10009



> On 22 Mar 2023, at 10:29, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> We are assigning return code of domain_vpl011_init() to a variable
> without checking it for an error. Fix it.
>=20
> Fixes: 3580c8b2dfc3 ("xen/arm: if direct-map domain use native UART addre=
ss and IRQ number for vPL011")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Hi Michal,

Looks good to me,

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>




From xen-devel-bounces@lists.xenproject.org Wed Mar 22 15:32:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 15:32:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513523.794643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf0Rq-0005wa-9A; Wed, 22 Mar 2023 15:32:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513523.794643; Wed, 22 Mar 2023 15:32:22 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf0Rq-0005wT-6U; Wed, 22 Mar 2023 15:32:22 +0000
Received: by outflank-mailman (input) for mailman id 513523;
 Wed, 22 Mar 2023 15: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=MxM9=7O=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1pf0Ro-0005wN-Tm
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 15:32:20 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on062e.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb8c82e8-c8c6-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 16:32:19 +0100 (CET)
Received: from DUZPR01CA0304.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b7::6) by PAWPR08MB9122.eurprd08.prod.outlook.com
 (2603:10a6:102:342::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 15:32:10 +0000
Received: from DBAEUR03FT062.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4b7:cafe::b1) by DUZPR01CA0304.outlook.office365.com
 (2603:10a6:10:4b7::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37 via Frontend
 Transport; Wed, 22 Mar 2023 15:32:10 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT062.mail.protection.outlook.com (100.127.142.64) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.17 via Frontend Transport; Wed, 22 Mar 2023 15:32:09 +0000
Received: ("Tessian outbound cfb430c87a1e:v135");
 Wed, 22 Mar 2023 15:32:09 +0000
Received: from ca6e6af40027.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 671F22E6-B5CB-4E9A-ACD5-B680FCF4710A.1; 
 Wed, 22 Mar 2023 15:31:58 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ca6e6af40027.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 22 Mar 2023 15:31:58 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB8712.eurprd08.prod.outlook.com (2603:10a6:10:400::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 15:31:55 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 15:31: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: bb8c82e8-c8c6-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=n/ZDuoIlgmSqrEPggJrZYbxTyjW8pSA/JtkX+2WEkV0=;
 b=PNUojeeuEQ+DdAPQ6YavxXegUEDGxX+TKRTiskrHhp3B8ErS3J0WK7hpxsHupgwqy8NCZ3T72bJhrIHneWXdPv+inHsGE78Kn+h8XQmaTeVDNWfVCrpg+O92CREBa0dOcp+iVRK8jYpofVtYSKflR5ZoX1g5cyMSFSEnozEY3jE=
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: beefb365102f552e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i31Y3t1KTfar8BzNcsBxyh2bMtRSU6GIbHqCrb6tPE4ubfPnsYiHJcRLTHPWP8exzHpBUWJQa5s0s11Tnn+vXYi2S2VMswvrF4qftYpQXW28L/3JhV9tqYYyAzAPqxdDwr9MG3ORpIc1SlC1CL6FOKPBPZE4Di8kdxvzo76F7yELeLtnuqcJ6cpgiwiVw98qEmi+zIEgcO9kAbkVVelfCzgg5hGVGPZ6iSQw/NL/N+QcnSTg6bVQ4JTOe/lBXoipGz4AsLqMtNYB4pGKUqHEi86rBuJAdT3P3nd4nF/ZrK9SqBOwgtLvT20RU3Z0xyQ5Xu4ICmc+jUor8l1J6XT5sQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=n/ZDuoIlgmSqrEPggJrZYbxTyjW8pSA/JtkX+2WEkV0=;
 b=APIdzuYJS77tIigDO7Pesa/5i44IHrC2r4Oq7cVkjtuE5JjPi+HczZHxDPAoBj1lW4GBF/IbbFlEliTj8OZUDXfzASX1qtKr6xl5Df0v5ODskVV5oZYK0ylw+3Rp3IHgLwHYMhzTtsOYAv2iHFB+5GE+JnF8btTxnpeD9uH0ORncGBK8JQRXW++Wf8d32ioocCBZOfQ/MbTR6JddHYVLvt5aLEBZuI+2+eCmVbcW8sLiqTB4jgoENTsuokGXjx0cQhBsko5y7M2nye/TUGCJN3vDqV6cmHoOk5Bj0mtPlvM4OS3BPFjSOlXsVm9ocK8BZ5ihdzMzUeTRzAsOmaUIfQ==
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=n/ZDuoIlgmSqrEPggJrZYbxTyjW8pSA/JtkX+2WEkV0=;
 b=PNUojeeuEQ+DdAPQ6YavxXegUEDGxX+TKRTiskrHhp3B8ErS3J0WK7hpxsHupgwqy8NCZ3T72bJhrIHneWXdPv+inHsGE78Kn+h8XQmaTeVDNWfVCrpg+O92CREBa0dOcp+iVRK8jYpofVtYSKflR5ZoX1g5cyMSFSEnozEY3jE=
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/2] xen/arm: vpl011: Fix domain_vpl011_init error path
Thread-Topic: [PATCH 2/2] xen/arm: vpl011: Fix domain_vpl011_init error path
Thread-Index: AQHZXKlPma7CnH/bnE+l0dOUYhvW568G7X0A
Date: Wed, 22 Mar 2023 15:31:55 +0000
Message-ID: <15347B63-580C-401A-A8B4-CA19F5A2C5CF@arm.com>
References: <20230322102941.959-1-michal.orzel@amd.com>
 <20230322102941.959-3-michal.orzel@amd.com>
In-Reply-To: <20230322102941.959-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.3731.400.51.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_|DU0PR08MB8712:EE_|DBAEUR03FT062:EE_|PAWPR08MB9122:EE_
X-MS-Office365-Filtering-Correlation-Id: 44d77739-9ac4-4720-01d5-08db2aea9a0d
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:
 d2XK5xrDHv5V6HplvWhVkv6Qh6x+JqmRQHf9ts0NhFKwXK3sZNymbiQDxo+s/+v3W+2nYi0JPXnbLF6DqDedNIJn+OrSp3oC3f/RB1yJSj5sCx8BX7iUBHbuV7GA8ptzllus5t0VcAGTRNE5pAzPaB3UwMHH9hWFOyiFI2adyJg7/NdPUZhD8oxMDPrpbLWeWEtWmD1YeYB+R5/qgMGUed2BGDrzshvpOmWThwHa9UrjW1ARR9nZNqL+3U8uUYgbvxjdxbdLfzyYmmXrfT1VP3lbUJyFCuBArWQA+44LwBMzvxsE1+IYWtjZBOnC8pfGPB6eA4IxT1KSwKwL5Qc/nh440SRy5Cbs3+4EqPbrM5l9LaNlaIYnCzh90biC7mWsfL6E8DjZGHsMH9xI79NIDDq6odlEMqiuZ6JR6ApHznsvcy1u+1WcsZi+gYSG7Iv4BcXbiIRq8qGVdbyfdvncWy7DhQShwIPPIl68lzoxVgmOUQT/nolCsNVpOOaOhQLLWqopFU7WdjLctGM70lSrS9xSflxDw6s3k4aM6Y7wdg9J5SFKdfiHXyEclvKWHtcqCU+AezK0nfeap/tJKWWL5gL/+dEOLLdn/9NH293Oo36Caur7dF+AV1ZhSyrYgpN0Rfqqf34OSLKiwRhRkAYWkj22B/4XsvasC0K3Tb0dECTMNoXIvSoUQw2nfFrlGoa8qpUsFZ9TMHkJuIpbXcqIOkoWKkwIfB1Mtj+YcYe35hI=
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:(13230025)(4636009)(366004)(346002)(136003)(396003)(39860400002)(376002)(451199018)(71200400001)(2616005)(6506007)(316002)(6486002)(6512007)(478600001)(33656002)(54906003)(186003)(53546011)(26005)(38070700005)(38100700002)(86362001)(2906002)(122000001)(8936002)(4744005)(66946007)(66476007)(5660300002)(4326008)(6916009)(8676002)(41300700001)(66446008)(66556008)(76116006)(36756003)(64756008)(91956017)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <30163EFDAA3B694FB0C72FEBCB67CE49@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8712
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:
 DBAEUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	bb3ba553-f627-436f-6f29-08db2aea9176
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HPXJRco/PsM5+XXDnk2imkkbn/4Io7GStxJUNyydT3rRBh7mt1ly0HtcrXrRR1sIRPnUB5G4LrNf+dxq5CH8/SiESlY3LiP8dHmxW8MPRheVVD8pFNoYFOo4XD0RtdMPktb2CbEbtlsjxe64mQ6/t+wkOZ3MgNFJ7JwQDi9J+LQfj0IZqej8l/Cwz4csPzyZbeffAUlViOzsslD/5FDzcUCnmwYldoUJumURjICdhh988UyVuj09vQpTVli3KEk1M+9Ag2WrK6dlKoLgBbWAg6RK84l/1rOYmUkxQzAuyU4PDVd+pjSYStN4S+YvQ2g+8sirUpwlMHDji6ANor3rymw2c1DPMKuKj7GJs7et5We1daumZhq3RbuUp8P7Ymr13/t+kU4ItRD+5i8qpUtoo7RDW8m77PaOBieb4EqFZax7H8VnjJpo3+F+6EZ8/XQKvOkWeX0c/x7ZmLEbZ/bwv6GOg/mCxCPF5O2DZPR8/2Xq69k+YBebBnuF27GGB7FYAttd1EFJpMzLpNWju7J2MPyJJa04XjOLlA6oPFoTcfqc615OomyPPrT98pmNu7RniRx+ded87Vl6QbUHBHsw2Ky1HyCU0snQ3oLGnZyv+OEuIcFrCnqKfcr/eKQt/eGEv18ODbTn9c20KBmfncafXY2Mh7nu/jBe/wwyMEhTr4dNrqr5ZqEPpprLQ3Le4eEt5F3C29iDa6kCpjhpFiSQ8g==
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:(13230025)(4636009)(376002)(136003)(39860400002)(346002)(396003)(451199018)(36840700001)(40470700004)(46966006)(6512007)(4744005)(6506007)(186003)(53546011)(26005)(6486002)(47076005)(2616005)(478600001)(54906003)(316002)(336012)(107886003)(82740400003)(4326008)(8936002)(70206006)(6862004)(41300700001)(36860700001)(70586007)(36756003)(8676002)(40460700003)(5660300002)(2906002)(86362001)(81166007)(356005)(82310400005)(40480700001)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 15:32:09.8158
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 44d77739-9ac4-4720-01d5-08db2aea9a0d
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:
	DBAEUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9122



> On 22 Mar 2023, at 10:29, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> When vgic_reserve_virq() fails and backend is in domain, we should also
> free the allocated event channel.
>=20
> When backend is in Xen and call to xzalloc() returns NULL, there is no
> need to call xfree(). This should be done instead on an error path
> from vgic_reserve_virq(). Also, take the opportunity to return -ENOMEM
> instead of -EINVAL when memory allocation fails.
>=20
> Fixes: 1ee1e4b0d1ff ("xen/arm: Allow vpl011 to be used by DomU")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Also this one looks good to me:

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>




From xen-devel-bounces@lists.xenproject.org Wed Mar 22 16:02:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 16:02:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513531.794660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf0vB-0002Hx-Tg; Wed, 22 Mar 2023 16:02:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513531.794660; Wed, 22 Mar 2023 16: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 1pf0vB-0002Hq-OC; Wed, 22 Mar 2023 16:02:41 +0000
Received: by outflank-mailman (input) for mailman id 513531;
 Wed, 22 Mar 2023 16:02: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 1pf0vA-0002Hg-KW; Wed, 22 Mar 2023 16:02: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 1pf0vA-00028l-Iu; Wed, 22 Mar 2023 16:02: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 1pf0vA-0004MT-2w; Wed, 22 Mar 2023 16:02:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pf0vA-0006hd-2R; Wed, 22 Mar 2023 16: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=lukhVWjRKhxUXJXPrfRYdWQcGMJ6OrQvKwALbezKNzM=; b=2wmrDCtC/CegOYgBLlmZhtBguf
	PiiRO8Zvpxajwoa0uuv/eolSUCy7hvcs0zLcXVcaUA2JaIAiZ1dP/4u9odk1Oa22Clr5QY899/KYW
	Yn0aSr7Cc3a6ii1MhjUne3417/FntN0xnYjpALTkS5h5PL7tWg/xZJWoIsw7dCjK0RqM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179860-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179860: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=4f441d024bee7e1a6438737b58e4b0b6856b3eab
X-Osstest-Versions-That:
    ovmf=494127613b36e870250649b02cd4ce5f1969d9bd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Mar 2023 16:02:40 +0000

flight 179860 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179860/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 4f441d024bee7e1a6438737b58e4b0b6856b3eab
baseline version:
 ovmf                 494127613b36e870250649b02cd4ce5f1969d9bd

Last test of basis   179832  2023-03-21 06:12:14 Z    1 days
Testing same since   179860  2023-03-22 04:10:52 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-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
   494127613b..4f441d024b  4f441d024bee7e1a6438737b58e4b0b6856b3eab -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 16:11:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 16:11:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513536.794669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf13L-000419-LS; Wed, 22 Mar 2023 16:11:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513536.794669; Wed, 22 Mar 2023 16:11:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf13L-000412-Il; Wed, 22 Mar 2023 16:11:07 +0000
Received: by outflank-mailman (input) for mailman id 513536;
 Wed, 22 Mar 2023 16:11: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 1pf13K-00040w-0F
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 16:11: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 1pf13J-0002S6-Ee; Wed, 22 Mar 2023 16:11:05 +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 1pf13J-0007e3-8r; Wed, 22 Mar 2023 16:11:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=dcxwOgBItXf+s0TCMcLipOHjp+EeqdXF/6YhCZD2+BQ=; b=uQfwTkPvtB204H7rciTml/M0ax
	dP/+PxlsT65lTyiVK8x9QoOd7Ak436+LK/NjU1ibk5AknVD5DOTzClwp6s9VENkRJi6E54sHm/9MU
	6alqs/zHAI4bRRduUd0jXyvVLUqXLGzQ9jHu/kZaWd1P0emfg1TPNAhaMt84D8swicbA=;
Message-ID: <4efb440a-6397-8f02-c0bf-c3e2d2ee8b35@xen.org>
Date: Wed, 22 Mar 2023 16:11:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH 1/2] xen/arm: domain_build: Check return code of
 domain_vpl011_init
Content-Language: en-US
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: <20230322102941.959-1-michal.orzel@amd.com>
 <20230322102941.959-2-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230322102941.959-2-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 22/03/2023 10:29, Michal Orzel wrote:
> We are assigning return code of domain_vpl011_init() to a variable
> without checking it for an error. Fix it.
> 
> Fixes: 3580c8b2dfc3 ("xen/arm: if direct-map domain use native UART address and IRQ number for vPL011")
> 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 Wed Mar 22 16:20:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 16:20:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513539.794680 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf1Bn-0004um-G9; Wed, 22 Mar 2023 16:19:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513539.794680; Wed, 22 Mar 2023 16: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 1pf1Bn-0004uf-DR; Wed, 22 Mar 2023 16:19:51 +0000
Received: by outflank-mailman (input) for mailman id 513539;
 Wed, 22 Mar 2023 16:19: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 1pf1Bm-0004uZ-Te
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 16:19: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 1pf1Bm-0002ai-Fz; Wed, 22 Mar 2023 16:19:50 +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 1pf1Bm-0007oE-AG; Wed, 22 Mar 2023 16: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>
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=3D/jzghZkivbzV4M+eZ8tar/uH5q6CF79NHLLhydqFg=; b=w1AZ1W5S1okPxJ+IfCp30zG1Hk
	qw3DXEmXZPBzzf33VNiz/hEY6KNTbMnlv3GYyV/WqnaS4ERqRyzJbOUlp4YWbj/wZ1XlyiYqCIIM+
	9OJYsmkyjPLib9DUT5zvZngZyvDiddP5eepiZ3UQkzCUck0kmNkJvtb3KJPD7vOq2L88=;
Message-ID: <130680d1-155e-e989-8ab9-2ef59ca59fd6@xen.org>
Date: Wed, 22 Mar 2023 16:19:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH 2/2] xen/arm: vpl011: Fix domain_vpl011_init error path
Content-Language: en-US
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: <20230322102941.959-1-michal.orzel@amd.com>
 <20230322102941.959-3-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230322102941.959-3-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 22/03/2023 10:29, Michal Orzel wrote:
> When vgic_reserve_virq() fails and backend is in domain, we should also
> free the allocated event channel.
> 
> When backend is in Xen and call to xzalloc() returns NULL, there is no
> need to call xfree(). This should be done instead on an error path
> from vgic_reserve_virq().

Most likely this was implemented this way to avoid a double "if ( 
vpl011->backend_in_domain)". TBH, I am not very thrilled with this 
approach. Could we instead consider to use domain_pl011_deinit()? (A 
couple of tweak would be necessary to use it)

> Also, take the opportunity to return -ENOMEM
> instead of -EINVAL when memory allocation fails.
> 
> Fixes: 1ee1e4b0d1ff ("xen/arm: Allow vpl011 to be used by DomU")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
>   xen/arch/arm/vpl011.c | 11 +++++++----
>   1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
> index 541ec962f189..df29a65ad365 100644
> --- a/xen/arch/arm/vpl011.c
> +++ b/xen/arch/arm/vpl011.c
> @@ -696,8 +696,8 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
>           vpl011->backend.xen = xzalloc(struct vpl011_xen_backend);
>           if ( vpl011->backend.xen == NULL )
>           {
> -            rc = -EINVAL;
> -            goto out1;
> +            rc = -ENOMEM;
> +            goto out;
>           }
>       }
>   
> @@ -720,12 +720,15 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
>   out2:
>       vgic_free_virq(d, vpl011->virq);
>   
> +    if ( vpl011->backend_in_domain )
> +        free_xen_event_channel(d, vpl011->evtchn);
> +    else
> +        xfree(vpl011->backend.xen);

There is another bug here (unrelated to your change). You want to use 
XFREE() to avoid an extra free in domain_pl011_deinit(). Can you look at it?

> +
>   out1:
>       if ( vpl011->backend_in_domain )
>           destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
>                                   vpl011->backend.dom.ring_page);
> -    else
> -        xfree(vpl011->backend.xen);
>   
>   out:
>       return rc;

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 17:06:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 17:06:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513542.794689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf1ul-0002jI-09; Wed, 22 Mar 2023 17:06:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513542.794689; Wed, 22 Mar 2023 17: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 1pf1uk-0002jB-TM; Wed, 22 Mar 2023 17:06:18 +0000
Received: by outflank-mailman (input) for mailman id 513542;
 Wed, 22 Mar 2023 17: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=5r5y=7O=citrix.com=prvs=438090303=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pf1uj-0002j5-Ts
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 17:06:18 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d7b14e5c-c8d3-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 18:06:14 +0100 (CET)
Received: from mail-dm6nam12lp2176.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 22 Mar 2023 13:06:03 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by CH2PR03MB5288.namprd03.prod.outlook.com (2603:10b6:610:9b::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 17:05:59 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 17:05: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: d7b14e5c-c8d3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679504774;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=q3SNUVE/IUY9EjHG0zZKyW8zb+MonDmkXt82kT3iquo=;
  b=QRrOZRUM9t50scgx52RoGurMFpBRJWxYT/Os0V2mYeUtNUinOWvQ8bD0
   06ho7guhs/Y83/5qVSo65e6w1Ey538yy7d5BnJ2KNWA3eAYVT9I1fgbej
   5UsNDRyf+lZoV2bCGzhuqulQHV6soBj7jjMy+sbf1MCCaw8txa0fByRCh
   E=;
X-IronPort-RemoteIP: 104.47.59.176
X-IronPort-MID: 100699877
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:FSAvdqLUkkzZOy2dFE+Rw5QlxSXFcZb7ZxGr2PjKsXjdYENS1zEHy
 DQWXD+FP63cMWumKN9/bt+/8xgPsMSGz95gQAZlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZkPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4tXHEJx
 81EBwsxcxuD2++T7uKEU/Vz05FLwMnDZOvzu1lG5BSAV7MKZM6GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dmpTGMkmSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03rGezHOkB+r+EpWg2OdbhXGIx1UONwNOd0Gi+uChr0ihDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBONB0mLicSHbY+rLKqzq3YHIRNTVbOnFCShYZ6d7+po11lgjIUttoDK+yiJvyBC30x
 DeJ6iM5gt3/kPI26klyxnif6xrEm3QDZlFdCtn/No590j5EWQ==
IronPort-HdrOrdr: A9a23:rzwSFKi/56Q4Eea+fbqxF4lEmnBQXmEji2hC6mlwRA09TyVXra
 GTdZMgpHnJYVcqKRYdcLW7UpVoLkmwyXcY2+Us1PKZLWrbUIXBFvAf0WKg+UycJ8XGntQtqp
 uICpIOduEYb2IbsS+K2njdLz96+qj/zEnAv463pEuFDzsaCZ2IiT0XNu/xKDwSeOApP/QE/b
 Onl7t6jgvlV3QLT9ixQkIIV/LEoLTw5ejbSC9DKR47yRWEyQil4r7iExSew34lIkhy6IZn32
 jZshDzop6uufGjyhPayiv64plMlMH6o+EzdPCku4w6KijMlg3tXohnVrGY1QpF2N2S1A==
X-IronPort-AV: E=Sophos;i="5.98,282,1673931600"; 
   d="scan'208";a="100699877"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lwNeXtRefGaD8wu3VXqKJcE8j4fzidsjuOKlHlwvoNTI6nJxJjBB0RO+D7BXYGn8MOTJg50U/02apY13sVowFLG6seOC8fozkeg7G30V1/X/dOknBSa/RI/LTpCymjBOwmGuFmsYftABJm6szWYT9QqdcMBIVTEdB4I1L4XYCeiYKsqW3vs23+xhvPXLbn4xQXKD9amauxtnee2jJKaCdl6aF7o1BDYjgRwLYf+WWNN/Pc4C4ZkNWwczvCplET/QY8OUnUPJ8OZ7/ptWb2rCi1vBWfZhm/H16Lm+zRM81plcO5oJRC3jPOBp6DHR2dxcay+kFjVYd9+j/zUMZL3nxA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1tO6LWwIJvKxuNZ9gS973aQcaXeLO0WPRZAcNXifVCE=;
 b=jejfW5EFyMsF6nCrLJS9Ha+G70rivT8MB3gyPaoBGcLMxDKiHIbFNe/W+Ie13foTROc4yvLcW9hHwkhbjPQn5dBZdktnUbpevvLmf+xUqxSbqGtB1bKTJYvHaeArhZG3uTr431vcenk1pQ+yhftseQjfRTNqThcuSw6Dgv86pqM5zKCJUhYu5J7J9l8fXhMdLE4Z0+CrHO7YbsjU308cNzaYZQnzqZAyZWkGoeXik7oXvbwWefrI0NXo3yVuPbjKMoYN3fq2epMTK7Hu/7wXwTIZyaZAJxRx1fCmitZYsTRrMYFqfUuu/eHjuAlfKS+P4ggdRW3CzZu9JaNhsDUHBQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1tO6LWwIJvKxuNZ9gS973aQcaXeLO0WPRZAcNXifVCE=;
 b=Y7tPZZlxDe9xk1xOtpnza7F6usYL4YVE80bUN6jlrfFcroG8VyVCNWIZff5UaFYD/qG5lz339L3t1STLOJpw7V8kWVCeSmQGuo1EQB32qtXspSgtlQXEU8TE3AoSXjJCqQfV3f/YI4ZYgYHQQz3hFAncbno3RzgbjD+6GBQTs/E=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 22 Mar 2023 18:05:55 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3] vpci/msix: handle accesses adjacent to the MSI-X table
Message-ID: <ZBs1c7ILtkRQOzki@Air-de-Roger>
References: <20230322143001.66335-1-roger.pau@citrix.com>
 <0a69ba74-71fd-101c-2f06-2cd6ced412b4@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <0a69ba74-71fd-101c-2f06-2cd6ced412b4@suse.com>
X-ClientProxiedBy: BN9PR03CA0861.namprd03.prod.outlook.com
 (2603:10b6:408:13d::26) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|CH2PR03MB5288:EE_
X-MS-Office365-Filtering-Correlation-Id: 8ddbf839-4e21-4eac-77f8-08db2af7b57b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4crIWIYCvaC9rX/Q4XK1xwhnyR6UDPNXadGSnM4gJQ7fVqvebetVBWkIwTmOB1fNr43bH4CQVg6f+9V7/VXrushYHFgws7R07Fs3u7/lgO75u4FLayFajdXK4gm32yUidMuJkHW4IxZ3vH+jghp5+QK/ZPKxaUv9cDCTKPaJcGQOm3zFdeXko72dvEkG8k690YQCohOOwLoY5geFVVzvGj4tVPRQnbxTlKwvK1jJbeHFD9/mcnAvM0Pmtx4gagG6JMY1NjznVv/vdb3bakDZ34cspMbxF2mU6UXZTyym1zcJiXXwZEcfp0YEuEeONwnCZ0kwi9hRwklmaFkaiBttMJTeblyXcJfzu1AV4MscwhoUK8C0fO87/D3w53j4gdy72sOHR0RVLpzaRGAHX7uDqbVgik36Dd4+KpJhsEXOSXCNtE/s+xnuq/YtjvK/kfQv9nSHjsH1Oc+Wrx9YlkBysgzlR6y4BigEt7V+VzyXCgHqLsovc0k89Ucau8QoAd1WiV/I7ShAny+puwi8HcZdg5PmZHRcyO+gYPwWvYbmSC1gcaD4G1rqWxjeoxf1NH/zBpynveKmTaz34RgAO9eMNT4ZidIYv6B7csqj5frRYSKrKfdhaWtOXE2/BdKSNrOjQjwm7jhcwQ1y6BPhNULPcg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(346002)(396003)(136003)(39860400002)(376002)(366004)(451199018)(53546011)(26005)(9686003)(6666004)(6506007)(478600001)(8676002)(4326008)(6916009)(66476007)(66946007)(6512007)(6486002)(83380400001)(186003)(66556008)(5660300002)(8936002)(2906002)(82960400001)(41300700001)(38100700002)(316002)(86362001)(33716001)(85182001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Zkl0SnJiei9qd2RldVBGU0FmZHZOL0FkcmdBcStwUmJwamxHZlI1QXRYOGla?=
 =?utf-8?B?dm5XUURLdDRpMmhlQ3ZGdm9JekQ2ZXVZWnp3RzY3dHhQZGJTWGdSUE1JaUhZ?=
 =?utf-8?B?Sm9BWU9KRDVrYmwyQXV1bUxZaXNBRXdxMys5VE5uNGErTEVTR0FxQVF3eENs?=
 =?utf-8?B?aEtNZ3U3cFhjdExhWkppZmdtbmNZbUV1RzUveHowK0YrNEhPV2RVTzZoalEy?=
 =?utf-8?B?RGRkTFdkV3pLdEpTVzFKRnhmYXFxZ0NXVXZKUGZVbzM0YWkvWm9KWmthUE9C?=
 =?utf-8?B?akFaLzNJZ0hJeWFCcHIzSHl2cjZCbzRqOEFkTUpiUjB3VUxySngyemxyRWd1?=
 =?utf-8?B?NTdudXdQNjlhTDk1VHZJSXJvL3RMQ0p0djRMU29VMFUrak0rd0RsK2ZUOTNj?=
 =?utf-8?B?S0VyeUIycDNEWCtDU0hpRiswL0owVlVKQXl3QjI1QzlVMlZCRjUxbzdiYjYy?=
 =?utf-8?B?U2pBVVBaT3Y0cTJtZ2ZxRTh5TUl2eFhxZFNPYVRGSzJWbjZwMHc3ZE9vSWh3?=
 =?utf-8?B?SGFxdXAzckg5TDlRNUUyUHVESXlmTlkyczhHbGVYcHF2bmt5cGtqWFpnY3lI?=
 =?utf-8?B?OTZyb0x0VmFYOVlkUnFBdjRBVTdKdU1kQU1SUnV0TVAybGpuNVFBaFZ2cXhq?=
 =?utf-8?B?WGNXVzZzQVpWUkZxdk1GTVBuc2dKYTV2NWF5VmhIRStVVzVwMm14WStVZE9x?=
 =?utf-8?B?UnJvTUN1RXRxVFpLV2tWTHFiMnQrU0hzVFdrWFYvL0JCUkxNM0tvcVFqTHBB?=
 =?utf-8?B?QVdYUVRNRXlqL1JCRTQ5cnJ2RGV3RytweHA4ajlyd2pEbUl3THpCWG9vaWc3?=
 =?utf-8?B?bURrbFg4RWNMamo1TWU0NDVydm5PUXkyZ0V6ZGJLZWVoOHdaM2NwZ2s5bkVW?=
 =?utf-8?B?NklkN3Y5bkhTdmZNTC9sa2k0K3lDMTRBWUZNaFMrZW5jTGFIK1AweUtoNWRQ?=
 =?utf-8?B?eDVrTW5nL2RHZ0FtWFBCR1JxaTZ3YmwzejZtVWVaTVRiTUJ3VUU0UWhYWWJw?=
 =?utf-8?B?SHhiN0w4TVpJdHZqYzlYYThvcW5MWTdCVEZoZ0REaTU5c3h6Q2haUGVRR3B1?=
 =?utf-8?B?VEROd3FyRWYyQmxtYVVSWVJ1VXpaWDN2QjVKN1p5UWVUUGdNSVlvd1hHdHBN?=
 =?utf-8?B?RzVvRCtyNkd4eTVkQWd3ZVBOaXN1cTJ1dUE3Y2s4LzBmay9STnBSdzRPci9Q?=
 =?utf-8?B?a1c5NXRRdzZuaTBuTm1SY2o0eHR3N3FTbnN0Yk4yaGE1V2dxNnVDV2xZSmha?=
 =?utf-8?B?S0VPN1JJN05SNGFSOVNLaThPZGFjcENiNktUcGNDVE5sd2N6K3Y4OHU3a00z?=
 =?utf-8?B?aDBxR0NxRWM3eW1kazZzMDZ5YlIySmtoandONHFxUFErMWVNUTM5YU8vcVhp?=
 =?utf-8?B?UUlpNUlMdkl1WGVaTFFCaldmOWV4S2dMSXZxNUFHT0tmcTYyVVZmbjdiSGx4?=
 =?utf-8?B?Y2tMWUlrWUFIMlc5NEdhYXRGMTRhdjJzZFI3WkdsYzZadml5RTN4NGZIL3Ry?=
 =?utf-8?B?Mzl3a21qZzV0cEJlMGp3Qmk4NW1va2Y5VmpOV3VISE9kejRrSmt1RXFZTCts?=
 =?utf-8?B?T1cyL2grdEVXTGRyMDBCcFpVRFEySW16bHlEandMa0J6NmUzbjhUcjJFNUpY?=
 =?utf-8?B?RkNMdll2WktqWjdSWi9kcmpkeFRIUVVtdlkvR3ZUS0V0NUJEN3JNWnpHUlBy?=
 =?utf-8?B?WW5WbjBEUlo4Z2hwOUNGem9YcE9pUDJQcnlndHpFK1o4RFM0U0d3c2FseUxy?=
 =?utf-8?B?ZnJzakRiSWFjUGo1bFl4MU1SbmVybHlVVC8wYWV5NE9zeUw5YmZoYXEvMDJl?=
 =?utf-8?B?L1NvZ3hmTkpFVFhuK2JaeGZJaXRrNjNMVmlDZTlqa0hkUzYvWkxtRHQ3SmR4?=
 =?utf-8?B?Y0Y3dWhOODFYbHgwc3l0dy9ZZVJLdmxYNHFvWmlpdTQ4a0pSZFhFRVJEb0Ry?=
 =?utf-8?B?MVEyUVdydkhoQ0tObTNBMU5PeWlZY0xQM24vOXg1TW9Od1dQN0I4N3BuTHZI?=
 =?utf-8?B?TXJGWm5ZQTZvYzRKMEtxd2VIaUdlMUNrd1ptaEhmUU5UOHNGdjJVbldFaVQ3?=
 =?utf-8?B?Y1dWZ3pUdFY1UVc5WVhNYkRTZXhXT09ybnR2eVViMXo1VWxOUVBEdTVBVWwy?=
 =?utf-8?B?Y3Qxa3gvWnp5eVMwdzVvcWhlb1pCZzlVMkVZL3hKVkJQUTQ0clUrQ1ZnM1VQ?=
 =?utf-8?B?R2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	tDhTT63Y2dByJZmRv9usKPHVi4E7iOn6BDJG/5SZFw5r5RukOcUenBv+KoViizJ1P58Xi17RtIZcApCYcy/pzHbYCBil7MynjKmClGP//MDGdEPYHhfy+lSwyQAJW03kSq3DnxirGFXjAYVlPfhbZMKgShmMkzMUcIIQaAyBW1uhnWIw84kdIzceYukIfFXKgFcDb8N4oToDg4RgnqzaU5wJUMaDQ3czcgLsXOHC0d+i1cTEmhG3cOw8g9aSkLIMm/mYBVzh6sEjYT5LbIBcRTGH+eCHvyp3kcIVnFo6VC02fs5dACE6eEroe7EfwfNTygCWN/RRFiuVBS/D59CjRUSyR8JZWTZtvb5I94iIcviEN9wjowLYS/0gTgpikui/rBoDizTSa0/xJ3DlefO+y0sPK4vYe1XCTGOXGdPwhP5oeosYGskMcQwVmmloMR+oKnjm5cX3IjqCNnL6DR1r0ANhVT/WOk9BT5cO2O6MZk7Wfzip49a7uIkjO8sWpn8Cwo38CYkE7uULFP3bVofVw0Rn20CAakx4azXGYKgmR/tjcKa+uupPhnOwfk4Q2Dvk/vFCzX0jrbU22KfDCFfkC+/AKZi0hahf2Efu9PMHJKWD/PrLT6eTPyikeQfFbzylRWoO6eSU9fZ0uZlSofuBpqnJwWVPyimj6wkcZeP0zMIl8w5mnAkWzSebwq84RwcDJMOiSx4NLzuFrNDjOGniMmBuWH7Mqj3YAl0/mWez2syuVw+qmbR1RB7I+IRlZuNESf4cttbegwV8frAsFugqzrGLUi9E6xBMcQjYC4+Ysnc=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ddbf839-4e21-4eac-77f8-08db2af7b57b
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 17:05:59.6238
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eI0KMycTKou7+g5peiXeWz4xT11pjJE00jTnTjAnMuWcQo7KF+ViTbgxedpH/y6SxICvG3AhrlomTXV6ULtZNw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5288

On Wed, Mar 22, 2023 at 04:14:54PM +0100, Jan Beulich wrote:
> On 22.03.2023 15:30, Roger Pau Monne wrote:
> > Changes since v2:
> >  - Slightly adjust VMSIX_ADDR_SAME_PAGE().
> >  - Use IS_ALIGNED and unlikely for the non-aligned access checking.
> >  - Move the check for the page mapped before the aligned one.
> >  - Remove cast of data to uint8_t and instead use a mask in order to
> >    avoid undefined behaviour when shifting.
> >  - Remove Xen maps of the MSIX related regions when memory decoding
> >    for the device is enabled by dom0, in order to purge stale maps.
> 
> I'm glad you thought of this. The new code has issues, though:
> 
> > @@ -182,93 +187,201 @@ static struct vpci_msix_entry *get_entry(struct vpci_msix *msix,
> >      return &msix->entries[(addr - start) / PCI_MSIX_ENTRY_SIZE];
> >  }
> >  
> > -static void __iomem *get_pba(struct vpci *vpci)
> > +static void __iomem *get_table(struct vpci *vpci, unsigned int slot)
> >  {
> >      struct vpci_msix *msix = vpci->msix;
> >      /*
> > -     * PBA will only be unmapped when the device is deassigned, so access it
> > -     * without holding the vpci lock.
> > +     * Regions will only be unmapped when the device is deassigned, so access
> > +     * them without holding the vpci lock.
> 
> The first part of the sentence is now stale, and the second part is in
> conflict ...
> 
> > @@ -482,6 +641,26 @@ int vpci_make_msix_hole(const struct pci_dev *pdev)
> >          }
> >      }
> >  
> > +    if ( is_hardware_domain(d) )
> > +    {
> > +        unsigned int i;
> > +
> > +        /*
> > +         * For the hardware domain only remove any hypervisor mappings of the
> > +         * MSIX or PBA related areas, as dom0 is capable of moving the position
> > +         * of the BARs in the host address space.
> > +         *
> > +         * We rely on being called with the vPCI lock held in order to not race
> > +         * with get_table().
> 
> ... with what you say (and utilize) here. Furthermore this comment also wants
> clarifying that apply_map() -> modify_decoding() not (afaics) holding the lock
> when calling here is not a problem, as no mapping can exist yet that may need
> tearing down. (I first wondered whether you wouldn't want to assert that the
> lock is being held. You actually could, but only after finding a non-NULL
> table entry.)

Oh, yes, sorry, I should update those comments.  vpci_make_msix_hole()
gets called before bars[].enabled gets set, so there should be no
users of the mappings at that time because we don't handle accesses
when the BAR is not mapped.

Not sure whether we should consider an access from when the BAR was
actually enabled by a different thread could still continue while on
another thread the BAR has been disabled and enabled again (and thus
the mapping removed).  It's a theoretical race, so I guess I will look
into making sure we cannot hit it.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 17:08:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 17:08:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513545.794700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf1wz-0003HD-C6; Wed, 22 Mar 2023 17:08:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513545.794700; Wed, 22 Mar 2023 17: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 1pf1wz-0003H6-9J; Wed, 22 Mar 2023 17:08:37 +0000
Received: by outflank-mailman (input) for mailman id 513545;
 Wed, 22 Mar 2023 17: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=5r5y=7O=citrix.com=prvs=438090303=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pf1wx-0003Gy-V1
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 17:08:36 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c8488f0-c8d4-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 18:08:33 +0100 (CET)
Received: from mail-mw2nam10lp2106.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.106])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 22 Mar 2023 13:08:27 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SN4PR03MB6736.namprd03.prod.outlook.com (2603:10b6:806:210::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 22 Mar
 2023 17:08:25 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Wed, 22 Mar 2023
 17:08: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: 2c8488f0-c8d4-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679504913;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=SYrDl2D9DAsJLwqvDY8FqfqcorTOQtVSfbNMyZgdq7M=;
  b=eXp+JnKZ4SGdDa7EJU3Vw+jkzhqq7OBTZrkFSxopBH9sPlsfUoPxjArM
   1UHtxFNvUyP0jkyyN+6fjZHM9nNeFKY/3bc6zTFZQ5OHqdnHfP9LqayXj
   Le/1buCVBRvNr0/bFIgdchGJHdIgqOxXFcw5lWCAQ4LhZAYqGRqsURqHn
   0=;
X-IronPort-RemoteIP: 104.47.55.106
X-IronPort-MID: 101263949
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Y4hDnareAq8y8tQh+xyi2LhR65teBmIKZBIvgKrLsJaIsI4StFCzt
 garIBmFOK7cYzameIt+PoS19k1SsMCHzNcxHAs5+yk2RCsTp5uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSNNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAHMzN0zajc6b/JG2Ye1jg5Ufc8fJEpxK7xmMzRmBZRonabbqZvySoPpnhnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeWraYKLEjCJbZw9ckKwv
 GXJ8n6/GhgHHNee1SCE4jSngeqncSbTAdpLTuPjp6I76LGV7n0eGkRLeQGGmOKCilO4AtF2N
 G4S1RN7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhqgGqy8qDqzPW0QMjUEbCpdFQ8duYC7/sc0kw7FSctlHOitlNrpFDrsw
 jeM6i8jm7EUis1N3KK+lbzavw+RSlHyZlZdzm3qsqiNsmuVuKbNi1SU1GXm
IronPort-HdrOrdr: A9a23:64CDKattBzaWBO93qBqN/wcv7skD8tV00zEX/kB9WHVpm6yj5q
 fe4MjzGyWEwQr5P0tQ1+xoWZPwDk81l/ZOkPos1NKZLXvbUQSTXfVfBOHZsl/d8kHFh5lgPO
 JbAuND4POZNzdHZOzBgDVRKr4boeVviZrHuQ689QYZcem6AZsM0+4aMHfXLqQsfmV77PMCff
 L2jLsj1l7QHwVpH7XLdkXpR9Kz2eEj1qiWKyLuYSRXizVm5gnYoIISfSLoqCv3A1t0sPsfGI
 X+4nTED7+YwouG4y6Z7Xba69Btkt37xrJ4dbexY9YuW0jRY9mTFf1cZ4E=
X-IronPort-AV: E=Sophos;i="5.98,282,1673931600"; 
   d="scan'208";a="101263949"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WEp9LaWoeAJUPPydWpBZlQi8uoIEYNeFshH4iUVRjHZfPKatspqTZTb4d3WOxjzItlzk9ZjY0y/UeXoIKKlUQW7Sel3VeTYLzwK/sA3Yy8pgOIdTfpb30gGw1DPf62pFPieofP27IzieMfq+9sfPjlxSUCY6d4qmfCuNAg4YchegHgYbeLOvclL9MitlJHiMBd37/0r10n28p2+7cS6YbpbF11v8rfW02Aoo8ZsYUAWdtWmKLj47nXBZOMRE8prMqVn0twEH/hb+DQaXyvNMggcX8hzqJivn4is9/nT6OPdpGuYxymbbKl8xYgfSK/PT28DI154vWRP8R7/GHife0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tkAZNr9qmVtByBj01VaXlRcj66THFNxuvl3AaxLV+CY=;
 b=EBZncks8wLGz/A5JyqG82lru5vPjfU80wQh4DNhsZJ0en7W8WgNMkWgcnEZre4w+Vgvayi+STBm8uo3mKxrrA1r6+0+EHpRcMLhNuddgXDI6PmYjzfqs6CwZvK6+IPTsZOSk7CmVahxUlxOQxZh8Zpj01JRF/YggLSCL0tVuMhK45QHBMIljLtfiyiBy5mq5luXmbwEPpfKP9zKK2WFRT+EiZjEAJp5PgVTmAAqMZcl4IuNZEzZB+xiCo34Wb08DZADyZt8fFu/qCnar3ix/eIJACd+XfaNtIXhnhNUmCAd5KAkOFEETaD37DRQgXUuUPKb165lbKbsUtMjRtdZX6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tkAZNr9qmVtByBj01VaXlRcj66THFNxuvl3AaxLV+CY=;
 b=JLXs0yPG6G3iDU5bBylFpXqhdvmgGJD58s6DQySymAqu5+xHCJ0qsEcgdGkXtP0FEuLQuVlJczM9jH+ahmYefZtr0jny8HFDdQWP+/7xPobAl6ngGShr187VKtd1wFln9Gf7odxYXvpGbYGoxh45b0xv0iqvkYVXs/jUGC4m0EI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 22 Mar 2023 18:08: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
Subject: Re: [PATCH v3] vpci/msix: handle accesses adjacent to the MSI-X table
Message-ID: <ZBs2BKAfoRap1CjC@Air-de-Roger>
References: <20230322143001.66335-1-roger.pau@citrix.com>
 <0a69ba74-71fd-101c-2f06-2cd6ced412b4@suse.com>
 <ZBs1c7ILtkRQOzki@Air-de-Roger>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZBs1c7ILtkRQOzki@Air-de-Roger>
X-ClientProxiedBy: LO2P265CA0262.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:8a::34) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SN4PR03MB6736:EE_
X-MS-Office365-Filtering-Correlation-Id: 6006362f-2e1b-42d9-9ccc-08db2af80c7c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	O+LkPvSIsVIQck9v46Apl11cVSOHbUOnJUzB+sjjtdcBX1X2eiSDtlxbuCwamPWOsQG4fCjx+Wq+Fr4LHI0VoO+qFf7rLDaHQa6n1zjFiILUcwlQ3IPvSMJGPPxT+OBan9ZlWxlqoFH9q+XMlRSyMZ7vcDtGFNcmqt14jj79qbDMfWR/SX4Btb+mN7uuWkXhVQbQzDZXnkBb+t94cp+fClz7uBPwlYeNF3/4GApDFNTGI7KK7psQZWCwT/BQEU0HitqspARBHqxZTLTnn15O6oSQfOtl5DkCj2D/u2CuJPJk6g9hcmtLaD3bHwJaA+LJUshLwScIt2ZYsmm0TcYLee9cY4Zrq3xi3sUno+F9IlFGjMCT3KjTlotWrQEBeGOh7ZndV9D4ucpoXZnzdyk2D4U/JjqzsWAyZP0bVj/EE9xxZ7Af4jOziesv6WrjEsi3x22ABYqt45idhp8SmWkKtxjiE+aQrmr5SER+BbELqAd9cUiFumHe6uoW+UHgxo5j0RyuHajn5Ha4BhAMinwHxCY5cr0H2sRwVB0gcdfWyP3myezg+qrxz8WpiNabJR4pXv7ORqgoVYdqcJ33UvOuXRPent2sxrx8wzeHVL5+GKciQghqPAVobYA/1H44KQ8NbXHFS00m0NwdEdYATPKzdA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(346002)(136003)(396003)(366004)(376002)(39860400002)(451199018)(6506007)(82960400001)(6666004)(6486002)(26005)(186003)(53546011)(6512007)(9686003)(33716001)(86362001)(38100700002)(2906002)(83380400001)(4326008)(478600001)(66476007)(316002)(66946007)(8676002)(6916009)(41300700001)(8936002)(5660300002)(85182001)(66556008);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bFgvemlkSEFYRWFkZEdTUTBLS0pJYjB0UXg1elpZOVgySDUvaGxUUDlkVTlp?=
 =?utf-8?B?ZkJPcVFwZFJzdHl6OVpUME1JZnFWOXA4ZDh1NE1rNjdhM1NCV0V3Yi9tWTFH?=
 =?utf-8?B?dVIxRHo0a2xtUEduZmUxbkV6bDMwTEhSeFVNMjRqcEdCUy9lZ2NKZUJ5akkz?=
 =?utf-8?B?OWUzTkRIZ05KMWIyWEhLUDl1QTdFREJFc2NjdDQwWFNCWmc2RGlTSXRsWnVW?=
 =?utf-8?B?OG1BR0tIaGpVVjhhbGlJeGhiSktEQ2t0WlptaDNzaWNmTmJVNkVMM2t3T2Rr?=
 =?utf-8?B?Q2dxcmUrbTRyemlmbVhFREdSVEdnRUtYYlJNUVJuYjB4NVBtcS93OGNkYm4z?=
 =?utf-8?B?M3A4WVpPSDVpRE1jcFJ2NFdMRVR2VW5tbWlBK3hHU29HWVUxL1Z6cjk3dXly?=
 =?utf-8?B?bEZRaFhoRENEQW1FbzZydTlBMmM3QXhGcVJHeDRuK1NzeFh0WDZRU3Q2MTFO?=
 =?utf-8?B?RHl6T05wQStVZ3VyT1pVcEZCUUpVakFjN3pxRzh5V0tvemFxdTZTNEtLV1JT?=
 =?utf-8?B?ZzUzM2N2bmppUzdkS1UzV256blNJbU02RFlOMXFNTmo4cGNYZnJIb0pHTjQ1?=
 =?utf-8?B?YUgvL1gxbnVnODlWNnFlTGJOSU0wRkppQ3EzU2NjUUJXSENFcGhMVEFVUmNB?=
 =?utf-8?B?S2V2ZzNRbWJUSERxcGxrMEpJcU1vdWVCWXBRUlBNS1JUNVhGL0NCTG1FNjFv?=
 =?utf-8?B?T1lGTFlDdDBWTnNrejB4WGlCV1pBbC9OV2VPNzVUcWIzekwrVEpSK2JIWUdI?=
 =?utf-8?B?WTRoZVVyZFJtbE5ybFpSQzYyVjI0MTVxUWJuWnM5SWVXN3c2Z2JjNGRDdkhJ?=
 =?utf-8?B?ZGdPZWtESC9qU1J5SHdTNnFuUUVRci83UUtlWkhpc3UrbmFVb2l6UnBSczU2?=
 =?utf-8?B?b1dkdWdIenp4NjFNRi9aRXZWR3RUbUJaQUtDVG1xaExkNkxCMVJHZmtIb2w4?=
 =?utf-8?B?bVF3RDhsVnVCV0d2ZGhtNGNPL2xJUGtDQ0xka2ZzV1dRYmZBYS9zUWpIdllS?=
 =?utf-8?B?Q3VqRUNPa3RML3ZIUldwdXRBRGY2QXZYbWdqdGFDYWN5RFcyTk5VcDVobEVZ?=
 =?utf-8?B?NG9IWEhLQnZiNGc3VUt1VlpobTJ6c3F0ZzZGeE54RjhPTyszdVBTWWxEM0J5?=
 =?utf-8?B?YUVPeFBvUTVaUzkvNEFQOWg0OWt6YXdKZExaOTNPNDFiQmhPOFZSaStTNGlx?=
 =?utf-8?B?N1ZtT2dFSHQ3M09LSGJtSEhTaGpGc0syOSszWGpYWjZnUmZrbjIya1F4T0Fs?=
 =?utf-8?B?bk1sdExTeFJFR05kVzZyQSttaTVIa2xZb2FwK3BsZ2ZFRDUyanIvZjdFcVpF?=
 =?utf-8?B?eWc3SUFKZElHdWJ0eGxuNWgxbXZNcVpERlVtZmF6NkdUb2RrRUNsa2RSUU1w?=
 =?utf-8?B?UzdpMnE5SHVTR21RTmtlVjlhR0MvNlRLR1V2b2kwenBZU0p4VXFCaFlyNzBs?=
 =?utf-8?B?TEwvc0twRkxIMjRXMVhUOEdHb29VNUM5WTc5S1kyYWJnODBieTB6RlNkNFdX?=
 =?utf-8?B?bHRSU2ptZG45RlgzZXBYRWVQQlJQa2lBbFJVbHVUcHA1U3FEbmxsVjk4R0hr?=
 =?utf-8?B?QUlUYVBUVWVFaENFeGlnUFJmSU1ZNThnLzdOQm8weVpuZ1F6dnJLVnBmYlRO?=
 =?utf-8?B?YW1XTGNMU0JqY2ZHTERMKzYwVDZEVTNYbmtXNUFQL1BUeE9wS0tMRTBrRjYx?=
 =?utf-8?B?ODNLd2QwcU1XNm9GSGJETHlES2c4K3Z0emVhcnhRV1VYbTErR21CUkdwQjNn?=
 =?utf-8?B?TCtRQ2ZXc2N5UlljNXBnWnB2Ty9peFVIQk1jaC9aN1Z4OEhXd2EvSU4vOWFl?=
 =?utf-8?B?M0hndDltTXNGcHFUcSsxSFNXeCtwWnRvQWtSOERTZ2FGdTN6cGZndGtTYU1h?=
 =?utf-8?B?RTNHdzhTWUhXUktRdFg1clBNNjFKWXV1OStsTms1UW1aTTI1RFNmZ1BWVGNV?=
 =?utf-8?B?Nmh4cDhoYlpoNFFBTTBkVml0bUpVMUNacC92eFQ5U0NUZVpCb2Qrd1FMMnFr?=
 =?utf-8?B?dmhIQ0w1azJwZU1McWFJc1pxZjQ5VUY1K240WFZKQk9BL1lwanB5RnZsZWdY?=
 =?utf-8?B?dDA1R2hrRysrSDI3QjI5Z0lrQ2RxVkZsOWhGanNVZ3FPclp0Z3B0elBBVGpJ?=
 =?utf-8?B?NzBqQ2hsUzg4MEFVdkU5b3V0WC8ydmJPSytkLzRwU2RvTlB3VnNTU3MwVlVi?=
 =?utf-8?B?K0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	EzQyHCpa+nKo98CB7sQ4/zRvkzgc4hLjtDA6aAlyPYB31dEqaJDtKBCSajxeZx13mYvGLhwJs8XZjd64VJntZQTC7IqQqeGKyfMgeIsj/zpEpUUzz+fLcqt4fB5tjQVdc3Z5p26wr9E/kuvK6/hqsq2+QH2fM8OI1Zf8DJYdXwrE/BkFc/TMgFKm0IBAj66krsenJ/gwis/NJHd0Zn5LUhAeAv0a3VaaWmwn8HzTSZ/xo1iWPwj9sR04LnQkGS29ea8JrL/czAjBZL/qs0Z6OmaP1xn0D93nUczaz/cqpiVWlOCu75ShgWBEVk9d8VG5TUxN7aCsBhvHJVUk90mmHFj21H1yDyiVVyMJDKlpGGL+QN17XmFgOCGxc2txCP8ZqQ+KeJnY1Mxts5elY8qEBxmOnrvpEJF1cAaRDW8vD/BcilnWe9T+fiWEd14tRvDu7d6L1puulfiXwvXelnXEukWZY/5uoEgVA2gfRvruP8xUcl8vkziR+giXXEWoGUxg6qcukGbSoHY93KeWtFA2vvW2TcPeJqA3mmnBrD3JkSbFFMNBglfW/3eHg65nZbp9/EKIF2z1FHMJVKfAYAk1nvMhLzP5HOMtxolCU2+4HU9tBLJUgK8y/TTBTkEngN1Fj+E+BofM7kCzNpiIK6GqCjNTAWfycwumaCHVgunRaUG19aIL2RUmoLrFoOuEkIF7aU5XEeFRt8No0J13eMA8oAbQNkF248um42ULNmgY5lt05Pg3qZsxwJ+eAPYoZms24EoJFjJ4YbXW55l1qnjRzuFy67J0v9L02X8N0DiXPkk=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6006362f-2e1b-42d9-9ccc-08db2af80c7c
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Mar 2023 17:08:25.5149
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nsloPDyYgQMcFdNYWe62tK26VsszcN7IcGGVsaBFeBM57edr3Gqy1T65ADewNCwW8yeT4glszuNKOzAP7ZWM/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR03MB6736

On Wed, Mar 22, 2023 at 06:05:55PM +0100, Roger Pau Monné wrote:
> On Wed, Mar 22, 2023 at 04:14:54PM +0100, Jan Beulich wrote:
> > On 22.03.2023 15:30, Roger Pau Monne wrote:
> > > Changes since v2:
> > >  - Slightly adjust VMSIX_ADDR_SAME_PAGE().
> > >  - Use IS_ALIGNED and unlikely for the non-aligned access checking.
> > >  - Move the check for the page mapped before the aligned one.
> > >  - Remove cast of data to uint8_t and instead use a mask in order to
> > >    avoid undefined behaviour when shifting.
> > >  - Remove Xen maps of the MSIX related regions when memory decoding
> > >    for the device is enabled by dom0, in order to purge stale maps.
> > 
> > I'm glad you thought of this. The new code has issues, though:
> > 
> > > @@ -182,93 +187,201 @@ static struct vpci_msix_entry *get_entry(struct vpci_msix *msix,
> > >      return &msix->entries[(addr - start) / PCI_MSIX_ENTRY_SIZE];
> > >  }
> > >  
> > > -static void __iomem *get_pba(struct vpci *vpci)
> > > +static void __iomem *get_table(struct vpci *vpci, unsigned int slot)
> > >  {
> > >      struct vpci_msix *msix = vpci->msix;
> > >      /*
> > > -     * PBA will only be unmapped when the device is deassigned, so access it
> > > -     * without holding the vpci lock.
> > > +     * Regions will only be unmapped when the device is deassigned, so access
> > > +     * them without holding the vpci lock.
> > 
> > The first part of the sentence is now stale, and the second part is in
> > conflict ...
> > 
> > > @@ -482,6 +641,26 @@ int vpci_make_msix_hole(const struct pci_dev *pdev)
> > >          }
> > >      }
> > >  
> > > +    if ( is_hardware_domain(d) )
> > > +    {
> > > +        unsigned int i;
> > > +
> > > +        /*
> > > +         * For the hardware domain only remove any hypervisor mappings of the
> > > +         * MSIX or PBA related areas, as dom0 is capable of moving the position
> > > +         * of the BARs in the host address space.
> > > +         *
> > > +         * We rely on being called with the vPCI lock held in order to not race
> > > +         * with get_table().
> > 
> > ... with what you say (and utilize) here. Furthermore this comment also wants
> > clarifying that apply_map() -> modify_decoding() not (afaics) holding the lock
> > when calling here is not a problem, as no mapping can exist yet that may need
> > tearing down. (I first wondered whether you wouldn't want to assert that the
> > lock is being held. You actually could, but only after finding a non-NULL
> > table entry.)
> 
> Oh, yes, sorry, I should update those comments.  vpci_make_msix_hole()
> gets called before bars[].enabled gets set, so there should be no
> users of the mappings at that time because we don't handle accesses
> when the BAR is not mapped.
> 
> Not sure whether we should consider an access from when the BAR was
> actually enabled by a different thread could still continue while on
> another thread the BAR has been disabled and enabled again (and thus
> the mapping removed).  It's a theoretical race, so I guess I will look
> into making sure we cannot hit it.

Hm, maybe it doesn't matter much because such kind of trace could only
be triggered by the hardware domain anyway, and it has plenty of other
ways to mess with Xen.

Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 17:10:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 17:10:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513551.794710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf1yp-0004yx-U6; Wed, 22 Mar 2023 17:10:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513551.794710; Wed, 22 Mar 2023 17:10:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf1yp-0004yq-Oy; Wed, 22 Mar 2023 17:10:31 +0000
Received: by outflank-mailman (input) for mailman id 513551;
 Wed, 22 Mar 2023 17:10: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=0iBq=7O=citrix.com=prvs=4381ba85d=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pf1yo-0004yk-K1
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 17:10: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 6dcff3ee-c8d4-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 18:10: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: 6dcff3ee-c8d4-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679505024;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=2OVDhuaSvnsxayDbqni5LmfVS+Xxsui+7Pnc1id8VsA=;
  b=ge6ECLBZ0HCqHsNQJparDt2jXQp0Fx3huT9puv86ajtIR2rZ6Y1LkVci
   kbVykrykWBbW3PNj8/I6KL+LoAnRKNlkWs3V3pmo1bhXt1J4quHoEjky6
   rMnm5KWYg5KjDZ9zYKpFj7UIZA5RxXVA2sVVrdiXNDfKjTRiOsf8AbZdi
   w=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 101264108
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:izwCnaqsRwkgagtbhT5KWFucJIheBmIWZRIvgKrLsJaIsI4StFCzt
 garIBnSOPiMZjCmKdh0bIWz9k4DsJ/RydNhTVdurX88RXsb8puZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSNNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXADktZRynh/Dq+42EEMQzguA6LcfQBapK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFOUslWcOSA3xETdxVRrk6VoqwmpXDe1gVr3JDmMcbPe8zMTsJQ9qqdj
 juepj6nXkhCZLRzzxK43yyTn+rtnxreSd1MDpal891IuH2Mkzl75Bo+CgLg/KjRZlSFc9BQM
 UsP4QI1sLM/skesS7HVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQ5sOcmSDps0
 UWG9/vgHTF1uaeZYW6c/LyT6zi1PEAowXQqPHFeC1Ffup+6/d9110iUJjp+LEKrptTVEj3Uw
 yLWlxcB3ZhMieoS1quAxHmS1lpAuaP1oh4JChT/Bzz6v1gnOd78PORE+nCAs68ecd/xok2p+
 SFdxpPAtL1m4YSlznTlfQkbIF2+Cx9p2hX4iEUnIZQu/i/FF5WLLdEJu2EWyKuE3685ld7Vj
 Kz741k5CGd7ZifCUEOOS9vZ5z4W5abhD8/5cfvfc8BDZJN8HCfeon4/ORTMjj2wyxh1+U3aB
 ap3jO72VSpKYUiZ5GPeqxghPU8DmXllmDK7qWHTxBW7y7uODEOopUM+GALWNIgRtfrcyC2Mq
 oY3Cid/40gGOAEISnKMqtB7wJFjBSVTOK0aXOQMLLfdf1c8RTBwYxITqJt4E7FYc21uvr+g1
 hmAtoVwkgSXaaHvQelSVk1eVQ==
IronPort-HdrOrdr: A9a23:WBAXs6i9TAtlLWZzDmAdQ/cQDXBQXmEji2hC6mlwRA09TyVXra
 GTdZMgpHnJYVcqKRYdcLW7UpVoLkmwyXcY2+Us1PKZLWrbUIXBFvAf0WKg+UycJ8XGntQtqp
 uICpIOduEYb2IbsS+K2njdLz96+qj/zEnAv463pEuFDzsaCZ2IiT0XNu/xKDwSeOApP/QE/b
 Onl7t6jgvlV3QLT9ixQkIIV/LEoLTw5ejbSC9DKR47yRWEyQil4r7iExSew34lIkhy6IZn32
 jZshDzop6uufGjyhPayiv64plMlMH6o+EzdPCku4w6KijMlg3tXohnVrGY1QpF2N2S1A==
X-IronPort-AV: E=Sophos;i="5.98,282,1673931600"; 
   d="scan'208";a="101264108"
Date: Wed, 22 Mar 2023 17:10:11 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2] tools: use libxenlight for writing xenstore-stubdom
 console nodes
Message-ID: <9782f62d-5132-40b9-b59b-a85df72f0dd7@perard>
References: <20230322072939.7413-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230322072939.7413-1-jgross@suse.com>

On Wed, Mar 22, 2023 at 08:29:39AM +0100, Juergen Gross wrote:
> Instead of duplicating libxl__device_console_add() work in
> init-xenstore-domain.c, just use libxenlight.
> 
> This requires to add a small wrapper function to libxenlight, as
> libxl__device_console_add() is an internal function.
> 
> This at once removes a theoretical race between starting xenconsoled
> and xenstore-stubdom, as the old code wasn't using a single
> transaction for writing all the entries, leading to the possibility
> that xenconsoled would see only some of the entries being written.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 17:29:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 17:29:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513556.794725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf2Gn-00070b-Gf; Wed, 22 Mar 2023 17:29:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513556.794725; Wed, 22 Mar 2023 17:29: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 1pf2Gn-00070U-E8; Wed, 22 Mar 2023 17:29:05 +0000
Received: by outflank-mailman (input) for mailman id 513556;
 Wed, 22 Mar 2023 17:29: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=0iBq=7O=citrix.com=prvs=4381ba85d=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pf2Gm-00070L-LZ
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 17:29:04 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 081468bd-c8d7-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 18:29: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: 081468bd-c8d7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679506141;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=DytmOjUNdiX7vzjz0yXYe0uTK+WwdkwbcLzI54Pygks=;
  b=cHQ8VLtMtUxIjP1RU98KX3k1fmBb4FdY6KTjdx36ImfwisXVWgM5DqBQ
   R9PDPBVhCoTfs8K/oj6uihYGNeSi21/fUOhYoS/pDuLoV8A6IFD5QmMTx
   s2Ai39EdhK7pFs5EeGKi8B79udl6MCeOMAcmCQ6d8Ww93+iQpEbtDAoHR
   o=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 100702932
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:TO3hw6qrt86Xi/MZRJefxxmFTg1eBmIDZRIvgKrLsJaIsI4StFCzt
 garIBmOaKyCajeheYp+aY7j8B8FvJKEy9ZkT1Bprnw3EnkSopuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSNNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAG09TRrEtePs+qy2V801gpURE9D0f4xK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFOUslWcOSA3xETdxVRrk6VoqwmpXDe1gVr3JDmMcbPe8zMTsJQ9qqdj
 juepzuhWEBBbrRzzxKU1H/2osnKux+le7sTU5T78+RzrFSckzl75Bo+CgLg/KjRZlSFc9BWL
 UAO6zcthac3/U2vCNL6WnWQonGeuQUHc8FNCOB84waIooLE7gDcCmUaQzppbN09qNRwVTEsz
 kWOnd7iGXpoqrL9YW2Z3qeZq3W1Iyd9BWYaaDUNVwct/9jpq4Z1hRXKJuuPC4bs0IezQ2uph
 WnX8m5n3e57YdM3O7uToGDkiXWep8LzUAMowlzTD1Ca9xw6a9vwD2C30mQ3/cqsPa7AEAbQ5
 yZZy5HFhAwdJcrTzXLQGY3hCJnsvq/Ya2OE3DaDCrF7r1yQF2ifkZe8Cd2UDGNgKY46dDDge
 yc/UisBtcYIbBNGgUKaCr9d6vjGLoC6T7wJrtiOMrJzjmFZLWdrBh1Ga0+KxHzKm0Mxi6w5M
 przWZ/yUidGU/g2kWftF751PVoX+8zD7TmLGcCTI+qPiNJym0J5uZ9aaQDTP4jVHYuPoRnP8
 sY3CvZmPy53CbWkCgGOqNZ7BQlTfRAG6WXe9pU/mhireVE9RgnMypb5nNscRmCSt/8Pz7mVo
 yvgCx4wJZiWrSSvFDhmo0tLMNvHNauTZ1piVcDwFT5EA0QeXLs=
IronPort-HdrOrdr: A9a23:yzE5pKOhqR8HNsBcTtCjsMiBIKoaSvp037BL7S1MoHluGaalfq
 +V/MjzqiWE6gr5NEtOpTniAsW9qBHnhP1ICOAqVN+ftWLd2VdAQrsN0WLq+UyEJxHD
X-IronPort-AV: E=Sophos;i="5.98,282,1673931600"; 
   d="scan'208";a="100702932"
Date: Wed, 22 Mar 2023 17:28:54 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: Juergen Gross <jgross@suse.com>, <xen-devel@lists.xenproject.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH v2 2/3] tools/xl: make split_string_into_pair() more
 usable
Message-ID: <326177a0-730d-422d-a4bd-fa99eaf81770@perard>
References: <20230322073453.7853-1-jgross@suse.com>
 <20230322073453.7853-3-jgross@suse.com>
 <CAKf6xpvG5+OGJ1iivOAqO7mAf+SfsimMgdfjEh1F36AfatUUkA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAKf6xpvG5+OGJ1iivOAqO7mAf+SfsimMgdfjEh1F36AfatUUkA@mail.gmail.com>

On Wed, Mar 22, 2023 at 08:29:51AM -0400, Jason Andryuk wrote:
> On Wed, Mar 22, 2023 at 3:35 AM Juergen Gross <jgross@suse.com> wrote:
> >
> > Today split_string_into_pair() will not really do what its name is
> > suggesting: instead of splitting a string into a pair of strings using
> > a delimiter, it will return the first two strings of the initial string
> > by using the delimiter.
> >
> > This is never what the callers want, so modify split_string_into_pair()
> > to split the string only at the first delimiter found, resulting in
> > something like "x=a=b" to be split into "x" and "a=b" when being called
> > with "=" as the delimiter. Today the returned strings would be "x" and
> > "a".
> >
> > At the same time switch the delimiter from "const char *" (allowing
> > multiple delimiter characters) to "char" (a single character only), as
> > this makes the function more simple without breaking any use cases.
> >
> > Suggested-by: Anthony PERARD <anthony.perard@citrix.com>
> > Signed-off-by: Juergen Gross <jgross@suse.com>
> 
> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 17:30:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 17:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513559.794737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf2Hi-0007wc-Tg; Wed, 22 Mar 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 513559.794737; Wed, 22 Mar 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 1pf2Hi-0007vy-O4; Wed, 22 Mar 2023 17:30:02 +0000
Received: by outflank-mailman (input) for mailman id 513559;
 Wed, 22 Mar 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=0iBq=7O=citrix.com=prvs=4381ba85d=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pf2Hh-0007ik-Kl
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 17:30:01 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a07d95c-c8d7-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 18:29: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: 2a07d95c-c8d7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679506199;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=9stgDSNbdyF9OPIoHPj4y0s4j3RlPqPCvsuMNqtqPLE=;
  b=QtfzKtQNIQyDL+H14W6Y9hXBwWDd3/XYE6VGqn2U26Ae0Kh5umUE0z2K
   A0oP0+REhPI6SKFZpE5qw1T0PPTpNztObjxoqxIR9q6gdF/t4i10ouv7H
   9fh4uqMdg6cL1/pQNm0uf6VpCwACPSEzh+hwT0PRgqYF9Rz7BzyXIJitE
   0=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 102316815
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:9XpFHqo1s++n3yBm2BKxnsJL5/BeBmIDZRIvgKrLsJaIsI4StFCzt
 garIBnXb/+PZGKmKotzPoi/8k0E6pDRy4AxTgdprn9hE34V8puZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSNNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXABRKYy2d2Lnt/Ouce+RLg5UiD+bsAYxK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFOUslWcOSA3xETdxVRrk6VoqwmpXDe1gVr3JDmMcbPe8zMTsJQ9qqdj
 juepT+gXEFDabRzzxKZ6Xv1icXGuR/bBqAdLrOjqeBtoFG6kzl75Bo+CgLg/KjRZlSFc9BWL
 UAO6zcthac3/U2vCNL6WnWQonGeuQUHc8FNCOB84waIooLE7gDcCmUaQzppbN09qNRwVTEsz
 kWOnd7iGXpoqrL9YW2Z3qeZq3W1Iyd9BWYaaDUNVwct/9jpq4Z1hRXKJuuPC4bs0IezQ2uph
 WnX8m5n3e57YdM3O7uT2RfKvizz/cP1FykE6yLSD2OGwQREa9vwD2C30mQ3/cqsPa7AEAbQ5
 yZZy5HFhAwdJcrTzXLQGY3hCJnsvq/Ya2OE3DaDCrF7r1yQF2ifkZe8Cd2UDGNgKY46dDDge
 yc/UisBtcYIbBNGgUKaCr9d6vjGLoC6T7wJrtiOMrJzjmFZLWdrBh1Ga0+KxHzKm0Mxi6w5M
 przWZ/yUidGU/g2kWftF751PVoX+8zD7TmLGcCTI+qPiNJym0J5uZ9aaQDTP4jVHYuPoRnP8
 sY3CvZmPy53CbWkCgGOqNZ7BQlTfRAG6WXe9pU/mhireVE9RgnMypb5nNscRmCSt/8Pz7mVo
 yvgCx4wJZiWrSSvFDhmo0tLMNvHNauTZ1piVcDwFT5EA0QeXLs=
IronPort-HdrOrdr: A9a23:KTwgjqgPL93IY2myvugMBh5h0XBQXssji2hC6mlwRA09TyX4ra
 2TdZEgvnXJYVkqOE3I5urwWpVoLUmyyXcX2+Us1NWZLWrbUQKTRelfBODZogEIdReRygdV79
 YET5RD
X-IronPort-AV: E=Sophos;i="5.98,282,1673931600"; 
   d="scan'208";a="102316815"
Date: Wed, 22 Mar 2023 17:29:52 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: Juergen Gross <jgross@suse.com>, <xen-devel@lists.xenproject.org>, Wei Liu
	<wl@xen.org>
Subject: Re: [PATCH v2 3/3] tools/xl: rework p9 config parsing
Message-ID: <ff1b3084-e960-4328-a801-13dca04bd2f7@perard>
References: <20230322073453.7853-1-jgross@suse.com>
 <20230322073453.7853-4-jgross@suse.com>
 <CAKf6xpuswTjP2ksn243VHXzv-b50Tq7W7pnoYeS+9ZKtbUPPoQ@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAKf6xpuswTjP2ksn243VHXzv-b50Tq7W7pnoYeS+9ZKtbUPPoQ@mail.gmail.com>

On Wed, Mar 22, 2023 at 08:32:48AM -0400, Jason Andryuk wrote:
> On Wed, Mar 22, 2023 at 3:35 AM Juergen Gross <jgross@suse.com> wrote:
> >
> > Rework the config parsing of a p9 device to use the
> > split_string_into_pair() function instead of open coding it.
> >
> > Signed-off-by: Juergen Gross <jgross@suse.com>
> 
> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 17:45:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 17:45:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513562.794746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf2WT-0001un-4p; Wed, 22 Mar 2023 17:45:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513562.794746; Wed, 22 Mar 2023 17:45: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 1pf2WT-0001ug-1M; Wed, 22 Mar 2023 17:45:17 +0000
Received: by outflank-mailman (input) for mailman id 513562;
 Wed, 22 Mar 2023 17:45: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 1pf2WR-0001uW-Dg; Wed, 22 Mar 2023 17:45: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 1pf2WR-0004d7-A2; Wed, 22 Mar 2023 17:45: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 1pf2WQ-0002XP-IK; Wed, 22 Mar 2023 17:45:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pf2WQ-0007Aj-Hu; Wed, 22 Mar 2023 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RRnqa0rFyUkWsOZFV+YhBO5YcvhK3ZBj2sMoLalNwYc=; b=R1VNX0+dCyRDUZH/fFunTolrwU
	BsrijGd2qdYi0qC8w/OdLSVTbwedP3nZpPx/HIoZLopDDxGbIHfRfYseWBu6xfwwL4tIxqDzI1iZ2
	+pkTvTx5cQ8FsPUKGF9H2CvjmJgJLZcbsxGJ3vwf36fygQo66y7LXeZo6IQ7w82HKsCc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179847-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179847: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=42d55ab1706912bd21c916dc818279f113ae2791
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Mar 2023 17:45:14 +0000

flight 179847 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179847/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                42d55ab1706912bd21c916dc818279f113ae2791
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z   13 days
Failing since        179526  2023-03-10 01:53:40 Z   12 days   21 attempts
Testing same since   179847  2023-03-21 14:52:57 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Erico Nunes <ernunes@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Steve Sistare <steven.sistare@oracle.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Wei Wang <wei.w.wang@intel.com>
  Willem van de Velde <williamvdvelde@gmail.com>
  Yeqi Fu <fufuyqqqqqq@gmail.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 10015 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 18:40:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 18:40:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513570.794759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf3NR-0000Um-C0; Wed, 22 Mar 2023 18:40:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513570.794759; Wed, 22 Mar 2023 18:40:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf3NR-0000UE-8b; Wed, 22 Mar 2023 18:40:01 +0000
Received: by outflank-mailman (input) for mailman id 513570;
 Wed, 22 Mar 2023 18:39: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=0wfD=7O=gmail.com=rjwysocki@srs-se1.protection.inumbo.net>)
 id 1pf3NP-0000RV-7d
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 18:39:59 +0000
Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com
 [209.85.208.51]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f02f4db4-c8e0-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 19:39:55 +0100 (CET)
Received: by mail-ed1-f51.google.com with SMTP id cn12so31171633edb.4
 for <xen-devel@lists.xenproject.org>; Wed, 22 Mar 2023 11:39: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: f02f4db4-c8e0-11ed-b464-930f4c7d94ae
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679510394;
        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=E7rV+SRpydAcO3aF+tnR91nn7Q5fcg5T3XLPDHeJhik=;
        b=smxuavjpi7gioTq6cDLcAW0buP7hj1dwkQ5CkMwBb8MFa5PIQMBgcy+T3o6yt2e84E
         HxwGKDUnBUvspFs+yr0jwgl9PnJ44gO6Pi3hStUfSq8YQv+TE2KLz8bDqaZ46cdZw8Ns
         bzjhxNck9zmWXZVB38f5LCyh8LP57q5BhprlL78bHqBaAWFsG7R8BcMoDK5K6Bt9f6kz
         CMYBSoNZ8/RNrhZ1ZhHOtxNO6I93J0QTmz+o8G/e8AY68gLPnvxNPy4DA95QAIgg+vcU
         pz3MiWnRms4gDU6yyNXxI70tFCp7mslBtwT7vkvKVN/NWVzTg9XMEsU1cMmEi2pib2JE
         g3Tw==
X-Gm-Message-State: AO0yUKXau15whESG94Hc1PxsyU3vpldrF7DtyFdaBgGy1U7XDdGAkMj/
	OvVLc+khmlvDyXFpFnLce2BJboGo1K0XTYgi/55/qZ5NAfo=
X-Google-Smtp-Source: AK7set8GTSoMTVUaheMEuVEUivJgOMkcKrAXGDPunim0E7Q4xVL8zvucT3EGhB3/pzUfwesiYc8Tqf8mCVJACUP5OQo=
X-Received: by 2002:a17:906:ca41:b0:939:a51a:dc30 with SMTP id
 jx1-20020a170906ca4100b00939a51adc30mr1794905ejb.2.1679510394073; Wed, 22 Mar
 2023 11:39:54 -0700 (PDT)
MIME-Version: 1.0
References: <20230322111330.63651-1-roger.pau@citrix.com>
In-Reply-To: <20230322111330.63651-1-roger.pau@citrix.com>
From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: Wed, 22 Mar 2023 19:39:43 +0100
Message-ID: <CAJZ5v0jRNHDsDwXPJa01x2t35vNboVxb4hysE4dfThrJs9kT7Q@mail.gmail.com>
Subject: Re: [PATCH v6] ACPI: processor: Fix evaluating _PDC method when
 running as Xen dom0
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
	"Rafael J. Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>, Juergen Gross <jgross@suse.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>, Alex Chiang <achiang@hp.com>, 
	linux-acpi@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 22, 2023 at 12:13=E2=80=AFPM Roger Pau Monne <roger.pau@citrix.=
com> wrote:
>
> In ACPI systems, the OS can direct power management, as opposed to the
> firmware.  This OS-directed Power Management is called OSPM.  Part of
> telling the firmware that the OS going to direct power management is
> making ACPI "_PDC" (Processor Driver Capabilities) calls.  These _PDC
> methods must be evaluated for every processor object.  If these _PDC
> calls are not completed for every processor it can lead to
> inconsistency and later failures in things like the CPU frequency
> driver.
>
> In a Xen system, the dom0 kernel is responsible for system-wide power
> management.  The dom0 kernel is in charge of OSPM.  However, the
> number of CPUs available to dom0 can be different than the number of
> CPUs physically present on the system.
>
> This leads to a problem: the dom0 kernel needs to evaluate _PDC for
> all the processors, but it can't always see them.
>
> In dom0 kernels, ignore the existing ACPI method for determining if a
> processor is physically present because it might not be accurate.
> Instead, ask the hypervisor for this information.
>
> Fix this by introducing a custom function to use when running as Xen
> dom0 in order to check whether a processor object matches a CPU that's
> online.  Such checking is done using the existing information fetched
> by the Xen pCPU subsystem, extending it to also store the ACPI ID.
>
> This ensures that _PDC method gets evaluated for all physically online
> CPUs, regardless of the number of CPUs made available to dom0.
>
> Fixes: 5d554a7bb064 ('ACPI: processor: add internal processor_physically_=
present()')
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> ---
> Changes since v5:
>  - Include bug.h header for the inline dummy helper.
>  - Constify pcpu local variable in xen_processor_present().
>
> Changes since v4:
>  - Move definition/declaration of xen_processor_present() to different
>    header.
>  - Fold subject edit.
>
> Changes since v3:
>  - Protect xen_processor_present() definition with CONFIG_ACPI.
>
> Changes since v2:
>  - Extend and use the existing pcpu functionality.
>
> Changes since v1:
>  - Reword commit message.
> ---
>  drivers/acpi/processor_pdc.c | 11 +++++++++++
>  drivers/xen/pcpu.c           | 20 ++++++++++++++++++++
>  include/xen/xen.h            | 11 +++++++++++
>  3 files changed, 42 insertions(+)
>
> diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c
> index 8c3f82c9fff3..18fb04523f93 100644
> --- a/drivers/acpi/processor_pdc.c
> +++ b/drivers/acpi/processor_pdc.c
> @@ -14,6 +14,8 @@
>  #include <linux/acpi.h>
>  #include <acpi/processor.h>
>
> +#include <xen/xen.h>
> +
>  #include "internal.h"
>
>  static bool __init processor_physically_present(acpi_handle handle)
> @@ -47,6 +49,15 @@ static bool __init processor_physically_present(acpi_h=
andle handle)
>                 return false;
>         }
>
> +       if (xen_initial_domain())
> +               /*
> +                * When running as a Xen dom0 the number of processors Li=
nux
> +                * sees can be different from the real number of processo=
rs on
> +                * the system, and we still need to execute _PDC for all =
of
> +                * them.
> +                */
> +               return xen_processor_present(acpi_id);
> +
>         type =3D (acpi_type =3D=3D ACPI_TYPE_DEVICE) ? 1 : 0;
>         cpuid =3D acpi_get_cpuid(handle, type, acpi_id);
>
> diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
> index fd3a644b0855..b3e3d1bb37f3 100644
> --- a/drivers/xen/pcpu.c
> +++ b/drivers/xen/pcpu.c
> @@ -58,6 +58,7 @@ struct pcpu {
>         struct list_head list;
>         struct device dev;
>         uint32_t cpu_id;
> +       uint32_t acpi_id;
>         uint32_t flags;
>  };
>
> @@ -249,6 +250,7 @@ static struct pcpu *create_and_register_pcpu(struct x=
enpf_pcpuinfo *info)
>
>         INIT_LIST_HEAD(&pcpu->list);
>         pcpu->cpu_id =3D info->xen_cpuid;
> +       pcpu->acpi_id =3D info->acpi_id;
>         pcpu->flags =3D info->flags;
>
>         /* Need hold on xen_pcpu_lock before pcpu list manipulations */
> @@ -381,3 +383,21 @@ static int __init xen_pcpu_init(void)
>         return ret;
>  }
>  arch_initcall(xen_pcpu_init);
> +
> +#ifdef CONFIG_ACPI
> +bool __init xen_processor_present(uint32_t acpi_id)
> +{
> +       const struct pcpu *pcpu;
> +       bool online =3D false;
> +
> +       mutex_lock(&xen_pcpu_lock);
> +       list_for_each_entry(pcpu, &xen_pcpus, list)
> +               if (pcpu->acpi_id =3D=3D acpi_id) {
> +                       online =3D pcpu->flags & XEN_PCPU_FLAGS_ONLINE;
> +                       break;
> +               }
> +       mutex_unlock(&xen_pcpu_lock);
> +
> +       return online;
> +}
> +#endif
> diff --git a/include/xen/xen.h b/include/xen/xen.h
> index 7adf59837c25..0efeb652f9b8 100644
> --- a/include/xen/xen.h
> +++ b/include/xen/xen.h
> @@ -71,4 +71,15 @@ static inline void xen_free_unpopulated_pages(unsigned=
 int nr_pages,
>  }
>  #endif
>
> +#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI) && defined(CONFIG_X=
86)
> +bool __init xen_processor_present(uint32_t acpi_id);
> +#else
> +#include <linux/bug.h>
> +static inline bool xen_processor_present(uint32_t acpi_id)
> +{
> +       BUG();
> +       return false;
> +}
> +#endif
> +
>  #endif /* _XEN_XEN_H */
> --

Applied as 6.4 material.

I've added the R-by from Juergen to it, because the difference between
it and the v4 for which the tag was provided is merely a build fix.


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 19:28:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 19:28:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513576.794772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf486-0006qr-Sn; Wed, 22 Mar 2023 19:28:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513576.794772; Wed, 22 Mar 2023 19:28:14 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf486-0006qk-Q3; Wed, 22 Mar 2023 19:28:14 +0000
Received: by outflank-mailman (input) for mailman id 513576;
 Wed, 22 Mar 2023 19: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=h6FB=7O=kernel.org=helgaas@srs-se1.protection.inumbo.net>)
 id 1pf484-0006qb-Rq
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 19:28:12 +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 ac80397f-c8e7-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 20:28:09 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id D6684621BD;
 Wed, 22 Mar 2023 19:28:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 03E40C433EF;
 Wed, 22 Mar 2023 19:28: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: ac80397f-c8e7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679513286;
	bh=QIwrcxSinbm192yIC5GYq8pmRiEZXatEfhuZCKvaZVA=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=kI7PD7oKOFUaqAGxpAEV1J4pqcq5sYqOlE6tZdI8XvLDftVUW7xBLrIm39EDMCeew
	 YbY7ekOsQ8pk2imeaozqedO08eUYORwgATq+PR72VZKK9Z+xSe875Jwime72E5sujt
	 OKX3MZ05HrUnh6VUWqiK4KPTgw44b5/A4+dvjU5eUJO6DS6BfQZ05ojXQDveuaCfbR
	 6kmoRGkL8zdl0AgEDHh0jZJq5WemnXINfkZV2PRGtY6aFlS4evcy50ZkNqbrgQ5Ywt
	 FkmgtOO8ISwsbbhE86dRqqKL+QyXR15+6PMXkOeNiqH/SJXrUqlZdQCXic7R1fgBC0
	 vZjopyk7ipwkQ==
Date: Wed, 22 Mar 2023 14:28:04 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH v6 1/4] PCI: Introduce pci_dev_for_each_resource()
Message-ID: <20230322192804.GA2485349@bhelgaas>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230320131633.61680-2-andriy.shevchenko@linux.intel.com>

Hi Andy and Mika,

I really like the improvements here.  They make the code read much
better.

On Mon, Mar 20, 2023 at 03:16:30PM +0200, Andy Shevchenko wrote:
> From: Mika Westerberg <mika.westerberg@linux.intel.com>
> ...

>  static void fixup_winbond_82c105(struct pci_dev* dev)
>  {
> -	int i;
> +	struct resource *r;
>  	unsigned int reg;
>  
>  	if (!machine_is(pseries))
> @@ -251,14 +251,14 @@ static void fixup_winbond_82c105(struct pci_dev* dev)
>  	/* Enable LEGIRQ to use INTC instead of ISA interrupts */
>  	pci_write_config_dword(dev, 0x40, reg | (1<<11));
>  
> -	for (i = 0; i < DEVICE_COUNT_RESOURCE; ++i) {
> +	pci_dev_for_each_resource_p(dev, r) {
>  		/* zap the 2nd function of the winbond chip */
> -		if (dev->resource[i].flags & IORESOURCE_IO
> -		    && dev->bus->number == 0 && dev->devfn == 0x81)
> -			dev->resource[i].flags &= ~IORESOURCE_IO;
> -		if (dev->resource[i].start == 0 && dev->resource[i].end) {
> -			dev->resource[i].flags = 0;
> -			dev->resource[i].end = 0;
> +		if (dev->bus->number == 0 && dev->devfn == 0x81 &&
> +		    r->flags & IORESOURCE_IO)

This is a nice literal conversion, but it's kind of lame to test
bus->number and devfn *inside* the loop here, since they can't change
inside the loop.

> +			r->flags &= ~IORESOURCE_IO;
> +		if (r->start == 0 && r->end) {
> +			r->flags = 0;
> +			r->end = 0;
>  		}
>  	}

>  #define pci_resource_len(dev,bar) \
>  	((pci_resource_end((dev), (bar)) == 0) ? 0 :	\
>  							\
> -	 (pci_resource_end((dev), (bar)) -		\
> -	  pci_resource_start((dev), (bar)) + 1))
> +	 resource_size(pci_resource_n((dev), (bar))))

I like this change, but it's unrelated to pci_dev_for_each_resource()
and unmentioned in the commit log.

> +#define __pci_dev_for_each_resource(dev, res, __i, vartype)		\
> +	for (vartype __i = 0;						\
> +	     res = pci_resource_n(dev, __i), __i < PCI_NUM_RESOURCES;	\
> +	     __i++)
> +
> +#define pci_dev_for_each_resource(dev, res, i)				\
> +       __pci_dev_for_each_resource(dev, res, i, )
> +
> +#define pci_dev_for_each_resource_p(dev, res)				\
> +	__pci_dev_for_each_resource(dev, res, __i, unsigned int)

This series converts many cases to drop the iterator variable ("i"),
which is fantastic.

Several of the remaining places need the iterator variable only to
call pci_claim_resource(), which could be converted to take a "struct
resource *" directly without much trouble.

We don't have to do that pci_claim_resource() conversion now, but
since we're converging on the "(dev, res)" style, I think we should
reverse the names so we have something like:

  pci_dev_for_each_resource(dev, res)
  pci_dev_for_each_resource_idx(dev, res, i)

Not sure __pci_dev_for_each_resource() is worthwhile since it only
avoids repeating that single "for" statement, and passing in "vartype"
(sometimes empty to implicitly avoid the declaration) is a little
complicated to read.  I think it'd be easier to read like this:

  #define pci_dev_for_each_resource(dev, res)                      \
    for (unsigned int __i = 0;                                     \
         res = pci_resource_n(dev, __i), __i < PCI_NUM_RESOURCES;  \
         __i++)

  #define pci_dev_for_each_resource_idx(dev, res, idx)             \
    for (idx = 0;                                                  \
         res = pci_resource_n(dev, idx), idx < PCI_NUM_RESOURCES;  \
         idx++)

Bjorn


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 19:35:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 19:35:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513579.794781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf4FA-00009o-Kt; Wed, 22 Mar 2023 19:35:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513579.794781; Wed, 22 Mar 2023 19: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 1pf4FA-00009f-Hz; Wed, 22 Mar 2023 19:35:32 +0000
Received: by outflank-mailman (input) for mailman id 513579;
 Wed, 22 Mar 2023 19: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=h6FB=7O=kernel.org=helgaas@srs-se1.protection.inumbo.net>)
 id 1pf4FA-00009Z-1l
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 19:35: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 b37c37b4-c8e8-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 20:35:29 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 7326A62276;
 Wed, 22 Mar 2023 19:35:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 98B3CC433D2;
 Wed, 22 Mar 2023 19:35: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: b37c37b4-c8e8-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679513726;
	bh=FhntRrT8ocoSuGXxtLHKzHWzymmkrlLBWHmrPDDVUUo=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=TZXj21NeIUkUZZar7VNMqh3dVSuN3o8smKLoGeKlxFM4u9gfOpaC3kuIEPrC8theJ
	 EjPJVc9oufTxzPD7G4Hc8hmuSNFg5ASYHNUqVWj4Pm/PAM0cm4Y0hL/TmGR1vF7cRJ
	 ghHYAN2nzfJSugY4ZFFucSttfz82MaXOPTFpw736rSuhY7yG3U/x5krQWe30aNyfH3
	 TpCuc9D3+sHvl4qsdpIcmDaIEydMxpzHx8G9wZuc/iInxcv8qZuNxXLKv+GJGD4EfH
	 DaiPCrrrg2VbKAwdhc5c78r9UJzE633kYTaRwA7Xko4oXiDWsAIH0RPGJpwYNqkaDa
	 lXTFXlUZ+LxhA==
Date: Wed, 22 Mar 2023 14:35:25 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH v6 2/4] PCI: Split pci_bus_for_each_resource_p() out of
 pci_bus_for_each_resource()
Message-ID: <20230322193525.GA2487882@bhelgaas>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230320131633.61680-3-andriy.shevchenko@linux.intel.com>

On Mon, Mar 20, 2023 at 03:16:31PM +0200, Andy Shevchenko wrote:
> ...

> -#define pci_bus_for_each_resource(bus, res, i)				\
> -	for (i = 0;							\
> -	    (res = pci_bus_resource_n(bus, i)) || i < PCI_BRIDGE_RESOURCE_NUM; \
> -	     i++)
> +#define __pci_bus_for_each_resource(bus, res, __i, vartype)			\
> +	for (vartype __i = 0;							\
> +	     res = pci_bus_resource_n(bus, __i), __i < PCI_BRIDGE_RESOURCE_NUM;	\
> +	     __i++)
> +
> +#define pci_bus_for_each_resource(bus, res, i)					\
> +	__pci_bus_for_each_resource(bus, res, i, )
> +
> +#define pci_bus_for_each_resource_p(bus, res)					\
> +	__pci_bus_for_each_resource(bus, res, __i, unsigned int)

I like these changes a lot, too!

Same comments about _p vs _idx and __pci_bus_for_each_resource(...,
vartype).

Also would prefer 80 char max instead of 81.


From xen-devel-bounces@lists.xenproject.org Wed Mar 22 19:58:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 19:58:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513582.794792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf4bR-0003Bf-F6; Wed, 22 Mar 2023 19:58:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513582.794792; Wed, 22 Mar 2023 19: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 1pf4bR-0003BY-BY; Wed, 22 Mar 2023 19:58:33 +0000
Received: by outflank-mailman (input) for mailman id 513582;
 Wed, 22 Mar 2023 19:58:31 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=ukyC=7O=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1pf4bP-0003BS-Ow
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 19:58:31 +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 eab4e52d-c8eb-11ed-85db-49a42c6b2330;
 Wed, 22 Mar 2023 20:58:30 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 63164B81DE7;
 Wed, 22 Mar 2023 19:58:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E961CC433D2;
 Wed, 22 Mar 2023 19:58: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: eab4e52d-c8eb-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679515108;
	bh=U2nfdusHcmUfo5Dxeanu0y7DchbxUE5e7NRJhWSoTAs=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=Y96lU6qQVehYEQLiHp6CrkcsZoShYLoEqmgkZROu2HTfiSBaPiDaluFx+ibhCrSIq
	 fbCWjLbLnYeiDpAunHff6ixhE4KNq2hBZNHdRUMEul8PLDe72L2NmtljKH6tGn4Rln
	 rRzBHQh8zReZ+95DT5ECNqgeHcoZpm4mvZlHkHw0pB4R9Ie63VZrK6TZyF+XBONYIX
	 0TFFsS1TpXcsNQ4GA0ZaxAYNwr1vqZ6YBDUAkaVa+1OAivVp26g+vG2PclVjSFMTM7
	 rDqH0ikLCMhPk3qAC7WiFYV+V+stZeQrPKkl38Rbm6kCjNWhYFTj4/jdWQ1gUMQEKo
	 JahLDeSv+UnaA==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Juergen Gross <jgross@suse.com>,
	Sasha Levin <sashal@kernel.org>,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	dave.hansen@linux.intel.com,
	x86@kernel.org,
	sstabellini@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH AUTOSEL 6.2 23/45] x86/PVH: obtain VGA console info in Dom0
Date: Wed, 22 Mar 2023 15:56:17 -0400
Message-Id: <20230322195639.1995821-23-sashal@kernel.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230322195639.1995821-1-sashal@kernel.org>
References: <20230322195639.1995821-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
Content-Transfer-Encoding: 8bit

From: Jan Beulich <jbeulich@suse.com>

[ Upstream commit 934ef33ee75c3846f605f18b65048acd147e3918 ]

A new platform-op was added to Xen to allow obtaining the same VGA
console information PV Dom0 is handed. Invoke the new function and have
the output data processed by xen_init_vga().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Juergen Gross <jgross@suse.com>

Link: https://lore.kernel.org/r/8f315e92-7bda-c124-71cc-478ab9c5e610@suse.com
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/xen/Makefile            |  2 +-
 arch/x86/xen/enlighten_pv.c      |  3 ++-
 arch/x86/xen/enlighten_pvh.c     | 13 +++++++++++++
 arch/x86/xen/vga.c               |  5 ++---
 arch/x86/xen/xen-ops.h           |  7 ++++---
 include/xen/interface/platform.h |  3 +++
 6 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile
index 3c5b52fbe4a7f..a9ec8c9f5c5dd 100644
--- a/arch/x86/xen/Makefile
+++ b/arch/x86/xen/Makefile
@@ -45,6 +45,6 @@ obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= spinlock.o
 
 obj-$(CONFIG_XEN_DEBUG_FS)	+= debugfs.o
 
-obj-$(CONFIG_XEN_PV_DOM0)	+= vga.o
+obj-$(CONFIG_XEN_DOM0)		+= vga.o
 
 obj-$(CONFIG_XEN_EFI)		+= efi.o
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 5b13796628770..68f5f5d209dfa 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1389,7 +1389,8 @@ asmlinkage __visible void __init xen_start_kernel(struct start_info *si)
 
 		x86_platform.set_legacy_features =
 				xen_dom0_set_legacy_features;
-		xen_init_vga(info, xen_start_info->console.dom0.info_size);
+		xen_init_vga(info, xen_start_info->console.dom0.info_size,
+			     &boot_params.screen_info);
 		xen_start_info->console.domU.mfn = 0;
 		xen_start_info->console.domU.evtchn = 0;
 
diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
index bcae606bbc5cf..1da44aca896c6 100644
--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -43,6 +43,19 @@ void __init xen_pvh_init(struct boot_params *boot_params)
 	x86_init.oem.banner = xen_banner;
 
 	xen_efi_init(boot_params);
+
+	if (xen_initial_domain()) {
+		struct xen_platform_op op = {
+			.cmd = XENPF_get_dom0_console,
+		};
+		long ret = HYPERVISOR_platform_op(&op);
+
+		if (ret > 0)
+			xen_init_vga(&op.u.dom0_console,
+				     min(ret * sizeof(char),
+					 sizeof(op.u.dom0_console)),
+				     &boot_params->screen_info);
+	}
 }
 
 void __init mem_map_via_hcall(struct boot_params *boot_params_p)
diff --git a/arch/x86/xen/vga.c b/arch/x86/xen/vga.c
index 14ea32e734d59..d97adab8420f4 100644
--- a/arch/x86/xen/vga.c
+++ b/arch/x86/xen/vga.c
@@ -9,10 +9,9 @@
 
 #include "xen-ops.h"
 
-void __init xen_init_vga(const struct dom0_vga_console_info *info, size_t size)
+void __init xen_init_vga(const struct dom0_vga_console_info *info, size_t size,
+			 struct screen_info *screen_info)
 {
-	struct screen_info *screen_info = &boot_params.screen_info;
-
 	/* This is drawn from a dump from vgacon:startup in
 	 * standard Linux. */
 	screen_info->orig_video_mode = 3;
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 9a8bb972193d8..a10903785a338 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -108,11 +108,12 @@ static inline void xen_uninit_lock_cpu(int cpu)
 
 struct dom0_vga_console_info;
 
-#ifdef CONFIG_XEN_PV_DOM0
-void __init xen_init_vga(const struct dom0_vga_console_info *, size_t size);
+#ifdef CONFIG_XEN_DOM0
+void __init xen_init_vga(const struct dom0_vga_console_info *, size_t size,
+			 struct screen_info *);
 #else
 static inline void __init xen_init_vga(const struct dom0_vga_console_info *info,
-				       size_t size)
+				       size_t size, struct screen_info *si)
 {
 }
 #endif
diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h
index 655d92e803e14..79a443c65ea93 100644
--- a/include/xen/interface/platform.h
+++ b/include/xen/interface/platform.h
@@ -483,6 +483,8 @@ struct xenpf_symdata {
 };
 DEFINE_GUEST_HANDLE_STRUCT(xenpf_symdata);
 
+#define XENPF_get_dom0_console 64
+
 struct xen_platform_op {
 	uint32_t cmd;
 	uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
@@ -506,6 +508,7 @@ struct xen_platform_op {
 		struct xenpf_mem_hotadd        mem_add;
 		struct xenpf_core_parking      core_parking;
 		struct xenpf_symdata           symdata;
+		struct dom0_vga_console_info   dom0_console;
 		uint8_t                        pad[128];
 	} u;
 };
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 20:00:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 20:00:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513585.794802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf4dY-0004uY-Qo; Wed, 22 Mar 2023 20:00:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513585.794802; Wed, 22 Mar 2023 20:00: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 1pf4dY-0004uR-Na; Wed, 22 Mar 2023 20:00:44 +0000
Received: by outflank-mailman (input) for mailman id 513585;
 Wed, 22 Mar 2023 20:00: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=ukyC=7O=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1pf4dX-0004uL-HX
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 20:00:43 +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 389a359e-c8ec-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 21:00:40 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 61C50B81DC6;
 Wed, 22 Mar 2023 20:00:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E6A4CC433D2;
 Wed, 22 Mar 2023 20:00: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: 389a359e-c8ec-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679515239;
	bh=cxVfjDcJ3o4/9WbrsHYV+z94c00ix0JIOKFcYYwCllg=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=DbRjq2qAggn3dretjc4XyEgCrSZrnwNmIx1tDb2EcqW6HlZXMlFS7W4hKEisGPEbv
	 Hz2I7SHc+X1qiM8gtNGqSnGMwBsRkHuBXw70z3tyWv8qN12CBTHs2LKv2DFzzYfCNI
	 q7IfLS7166chzMjMKi41L8LJLwJSLocZ3aS+kBJNUKfMSMJqDjpP68jLaM/T6Gu1VN
	 4TX+Bh6arNaIqd81xXxJ0l8uEWIkIJMVyKBv4y5HBywva46KQobA9NRfQ9nhoAWTyq
	 e9biyvwhOoJNPpxGF0vyRM+FrHNTVCbbt6JUB/VmtbhAo8up+lNPyXmnLTUpXUnSQ2
	 nJh033id3ot5g==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Juergen Gross <jgross@suse.com>,
	Sasha Levin <sashal@kernel.org>,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	dave.hansen@linux.intel.com,
	x86@kernel.org,
	sstabellini@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH AUTOSEL 6.1 15/34] x86/PVH: obtain VGA console info in Dom0
Date: Wed, 22 Mar 2023 15:59:07 -0400
Message-Id: <20230322195926.1996699-15-sashal@kernel.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230322195926.1996699-1-sashal@kernel.org>
References: <20230322195926.1996699-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
Content-Transfer-Encoding: 8bit

From: Jan Beulich <jbeulich@suse.com>

[ Upstream commit 934ef33ee75c3846f605f18b65048acd147e3918 ]

A new platform-op was added to Xen to allow obtaining the same VGA
console information PV Dom0 is handed. Invoke the new function and have
the output data processed by xen_init_vga().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Juergen Gross <jgross@suse.com>

Link: https://lore.kernel.org/r/8f315e92-7bda-c124-71cc-478ab9c5e610@suse.com
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/xen/Makefile            |  2 +-
 arch/x86/xen/enlighten_pv.c      |  3 ++-
 arch/x86/xen/enlighten_pvh.c     | 13 +++++++++++++
 arch/x86/xen/vga.c               |  5 ++---
 arch/x86/xen/xen-ops.h           |  7 ++++---
 include/xen/interface/platform.h |  3 +++
 6 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile
index 3c5b52fbe4a7f..a9ec8c9f5c5dd 100644
--- a/arch/x86/xen/Makefile
+++ b/arch/x86/xen/Makefile
@@ -45,6 +45,6 @@ obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= spinlock.o
 
 obj-$(CONFIG_XEN_DEBUG_FS)	+= debugfs.o
 
-obj-$(CONFIG_XEN_PV_DOM0)	+= vga.o
+obj-$(CONFIG_XEN_DOM0)		+= vga.o
 
 obj-$(CONFIG_XEN_EFI)		+= efi.o
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 8944726255c9c..333539bdbdaae 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1389,7 +1389,8 @@ asmlinkage __visible void __init xen_start_kernel(struct start_info *si)
 
 		x86_platform.set_legacy_features =
 				xen_dom0_set_legacy_features;
-		xen_init_vga(info, xen_start_info->console.dom0.info_size);
+		xen_init_vga(info, xen_start_info->console.dom0.info_size,
+			     &boot_params.screen_info);
 		xen_start_info->console.domU.mfn = 0;
 		xen_start_info->console.domU.evtchn = 0;
 
diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
index bcae606bbc5cf..1da44aca896c6 100644
--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -43,6 +43,19 @@ void __init xen_pvh_init(struct boot_params *boot_params)
 	x86_init.oem.banner = xen_banner;
 
 	xen_efi_init(boot_params);
+
+	if (xen_initial_domain()) {
+		struct xen_platform_op op = {
+			.cmd = XENPF_get_dom0_console,
+		};
+		long ret = HYPERVISOR_platform_op(&op);
+
+		if (ret > 0)
+			xen_init_vga(&op.u.dom0_console,
+				     min(ret * sizeof(char),
+					 sizeof(op.u.dom0_console)),
+				     &boot_params->screen_info);
+	}
 }
 
 void __init mem_map_via_hcall(struct boot_params *boot_params_p)
diff --git a/arch/x86/xen/vga.c b/arch/x86/xen/vga.c
index 14ea32e734d59..d97adab8420f4 100644
--- a/arch/x86/xen/vga.c
+++ b/arch/x86/xen/vga.c
@@ -9,10 +9,9 @@
 
 #include "xen-ops.h"
 
-void __init xen_init_vga(const struct dom0_vga_console_info *info, size_t size)
+void __init xen_init_vga(const struct dom0_vga_console_info *info, size_t size,
+			 struct screen_info *screen_info)
 {
-	struct screen_info *screen_info = &boot_params.screen_info;
-
 	/* This is drawn from a dump from vgacon:startup in
 	 * standard Linux. */
 	screen_info->orig_video_mode = 3;
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 9a8bb972193d8..a10903785a338 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -108,11 +108,12 @@ static inline void xen_uninit_lock_cpu(int cpu)
 
 struct dom0_vga_console_info;
 
-#ifdef CONFIG_XEN_PV_DOM0
-void __init xen_init_vga(const struct dom0_vga_console_info *, size_t size);
+#ifdef CONFIG_XEN_DOM0
+void __init xen_init_vga(const struct dom0_vga_console_info *, size_t size,
+			 struct screen_info *);
 #else
 static inline void __init xen_init_vga(const struct dom0_vga_console_info *info,
-				       size_t size)
+				       size_t size, struct screen_info *si)
 {
 }
 #endif
diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h
index 655d92e803e14..79a443c65ea93 100644
--- a/include/xen/interface/platform.h
+++ b/include/xen/interface/platform.h
@@ -483,6 +483,8 @@ struct xenpf_symdata {
 };
 DEFINE_GUEST_HANDLE_STRUCT(xenpf_symdata);
 
+#define XENPF_get_dom0_console 64
+
 struct xen_platform_op {
 	uint32_t cmd;
 	uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
@@ -506,6 +508,7 @@ struct xen_platform_op {
 		struct xenpf_mem_hotadd        mem_add;
 		struct xenpf_core_parking      core_parking;
 		struct xenpf_symdata           symdata;
+		struct dom0_vga_console_info   dom0_console;
 		uint8_t                        pad[128];
 	} u;
 };
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 22 20:01:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Mar 2023 20:01:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513589.794811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf4eQ-0005Uj-97; Wed, 22 Mar 2023 20:01:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513589.794811; Wed, 22 Mar 2023 20:01: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 1pf4eQ-0005Uc-6W; Wed, 22 Mar 2023 20:01:38 +0000
Received: by outflank-mailman (input) for mailman id 513589;
 Wed, 22 Mar 2023 20:01: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=ukyC=7O=kernel.org=sashal@srs-se1.protection.inumbo.net>)
 id 1pf4eO-0005UQ-Gn
 for xen-devel@lists.xenproject.org; Wed, 22 Mar 2023 20:01:36 +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 58be8c1d-c8ec-11ed-b464-930f4c7d94ae;
 Wed, 22 Mar 2023 21:01:34 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 46342B81DF0;
 Wed, 22 Mar 2023 20:01:34 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BDEE1C433D2;
 Wed, 22 Mar 2023 20:01: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: 58be8c1d-c8ec-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679515293;
	bh=AqSXgRIi/BJPiDJTWepOKNXUrQyyOJofAKS+fRFpeQ8=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=gGTtbm7kosVl9ic3773cxml5IH1TxgkNIs8+OIlCaNP6V4I8TZ36QtjNwomLjS58H
	 QR7D5PNhWARYSmkJS0gur/qfWpZEVGBf++WWprHKEiRt4Y/LcxcCRum7XpWzlNHJHT
	 9tb4HbZ0U7Otkg8v123kwI4+5+TLqALfYJnbkVpOhlbtK8gx/L5yOunCZ2XFUvC5vm
	 x6acBOvCxOuYcY5INBlp90jyoyCY0HNXakLgEJhxpT8jtiEeq1g+aKqmU6q92YAWSt
	 R8VQzmW1YcPVykuQfAG3H6JTqg57ywpfbvKCqAYWb7EKkU+B+tSKktjKF2kYYLffWK
	 5Z0M3F/X4nKhQ==
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org,
	stable@vger.kernel.org
Cc: Jan Beulich <jbeulich@suse.com>,
	Juergen Gross <jgross@suse.com>,
	Sasha Levin <sashal@kernel.org>,
	tglx@linutronix.de,
	mingo@redhat.com,
	bp@alien8.de,
	dave.hansen@linux.intel.com,
	x86@kernel.org,
	sstabellini@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH AUTOSEL 5.15 04/16] x86/PVH: obtain VGA console info in Dom0
Date: Wed, 22 Mar 2023 16:01:08 -0400
Message-Id: <20230322200121.1997157-4-sashal@kernel.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230322200121.1997157-1-sashal@kernel.org>
References: <20230322200121.1997157-1-sashal@kernel.org>
MIME-Version: 1.0
X-stable: review
X-Patchwork-Hint: Ignore
Content-Transfer-Encoding: 8bit

From: Jan Beulich <jbeulich@suse.com>

[ Upstream commit 934ef33ee75c3846f605f18b65048acd147e3918 ]

A new platform-op was added to Xen to allow obtaining the same VGA
console information PV Dom0 is handed. Invoke the new function and have
the output data processed by xen_init_vga().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Juergen Gross <jgross@suse.com>

Link: https://lore.kernel.org/r/8f315e92-7bda-c124-71cc-478ab9c5e610@suse.com
Signed-off-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/xen/Makefile            |  2 +-
 arch/x86/xen/enlighten_pv.c      |  3 ++-
 arch/x86/xen/enlighten_pvh.c     | 13 +++++++++++++
 arch/x86/xen/vga.c               |  5 ++---
 arch/x86/xen/xen-ops.h           |  7 ++++---
 include/xen/interface/platform.h |  3 +++
 6 files changed, 25 insertions(+), 8 deletions(-)

diff --git a/arch/x86/xen/Makefile b/arch/x86/xen/Makefile
index 4953260e281c3..40b5779fce21c 100644
--- a/arch/x86/xen/Makefile
+++ b/arch/x86/xen/Makefile
@@ -45,7 +45,7 @@ obj-$(CONFIG_PARAVIRT_SPINLOCKS)+= spinlock.o
 
 obj-$(CONFIG_XEN_DEBUG_FS)	+= debugfs.o
 
-obj-$(CONFIG_XEN_PV_DOM0)	+= vga.o
+obj-$(CONFIG_XEN_DOM0)		+= vga.o
 
 obj-$(CONFIG_SWIOTLB_XEN)	+= pci-swiotlb-xen.o
 
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 561aad13412f9..998db0257e2ad 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -1353,7 +1353,8 @@ asmlinkage __visible void __init xen_start_kernel(void)
 
 		x86_platform.set_legacy_features =
 				xen_dom0_set_legacy_features;
-		xen_init_vga(info, xen_start_info->console.dom0.info_size);
+		xen_init_vga(info, xen_start_info->console.dom0.info_size,
+			     &boot_params.screen_info);
 		xen_start_info->console.domU.mfn = 0;
 		xen_start_info->console.domU.evtchn = 0;
 
diff --git a/arch/x86/xen/enlighten_pvh.c b/arch/x86/xen/enlighten_pvh.c
index bcae606bbc5cf..1da44aca896c6 100644
--- a/arch/x86/xen/enlighten_pvh.c
+++ b/arch/x86/xen/enlighten_pvh.c
@@ -43,6 +43,19 @@ void __init xen_pvh_init(struct boot_params *boot_params)
 	x86_init.oem.banner = xen_banner;
 
 	xen_efi_init(boot_params);
+
+	if (xen_initial_domain()) {
+		struct xen_platform_op op = {
+			.cmd = XENPF_get_dom0_console,
+		};
+		long ret = HYPERVISOR_platform_op(&op);
+
+		if (ret > 0)
+			xen_init_vga(&op.u.dom0_console,
+				     min(ret * sizeof(char),
+					 sizeof(op.u.dom0_console)),
+				     &boot_params->screen_info);
+	}
 }
 
 void __init mem_map_via_hcall(struct boot_params *boot_params_p)
diff --git a/arch/x86/xen/vga.c b/arch/x86/xen/vga.c
index e336f223f7f47..93697109592c3 100644
--- a/arch/x86/xen/vga.c
+++ b/arch/x86/xen/vga.c
@@ -9,10 +9,9 @@
 
 #include "xen-ops.h"
 
-void __init xen_init_vga(const struct dom0_vga_console_info *info, size_t size)
+void __init xen_init_vga(const struct dom0_vga_console_info *info, size_t size,
+			 struct screen_info *screen_info)
 {
-	struct screen_info *screen_info = &boot_params.screen_info;
-
 	/* This is drawn from a dump from vgacon:startup in
 	 * standard Linux. */
 	screen_info->orig_video_mode = 3;
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 16aed4b121297..71f31032c635f 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -110,11 +110,12 @@ static inline void xen_uninit_lock_cpu(int cpu)
 
 struct dom0_vga_console_info;
 
-#ifdef CONFIG_XEN_PV_DOM0
-void __init xen_init_vga(const struct dom0_vga_console_info *, size_t size);
+#ifdef CONFIG_XEN_DOM0
+void __init xen_init_vga(const struct dom0_vga_console_info *, size_t size,
+			 struct screen_info *);
 #else
 static inline void __init xen_init_vga(const struct dom0_vga_console_info *info,
-				       size_t size)
+				       size_t size, struct screen_info *si)
 {
 }
 #endif
diff --git a/include/xen/interface/platform.h b/include/xen/interface/platform.h
index 732efb08c3e17..744bc41355678 100644
--- a/include/xen/interface/platform.h
+++ b/include/xen/interface/platform.h
@@ -500,6 +500,8 @@ struct xenpf_symdata {
 };
 DEFINE_GUEST_HANDLE_STRUCT(xenpf_symdata);
 
+#define XENPF_get_dom0_console 64
+
 struct xen_platform_op {
 	uint32_t cmd;
 	uint32_t interface_version; /* XENPF_INTERFACE_VERSION */
@@ -523,6 +525,7 @@ struct xen_platform_op {
 		struct xenpf_mem_hotadd        mem_add;
 		struct xenpf_core_parking      core_parking;
 		struct xenpf_symdata           symdata;
+		struct dom0_vga_console_info   dom0_console;
 		uint8_t                        pad[128];
 	} u;
 };
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 00:10:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 00:10:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513602.794840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf8Wo-0002ho-IT; Thu, 23 Mar 2023 00:10:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513602.794840; Thu, 23 Mar 2023 00: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 1pf8Wo-0002hX-Dd; Thu, 23 Mar 2023 00:10:02 +0000
Received: by outflank-mailman (input) for mailman id 513602;
 Thu, 23 Mar 2023 00:10:00 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pf8Wm-0002St-8w; Thu, 23 Mar 2023 00:10:00 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pf8Wm-0006RR-2y; Thu, 23 Mar 2023 00:10:00 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pf8Wl-0008Df-I3; Thu, 23 Mar 2023 00:09:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pf8Wl-0006tW-HZ; Thu, 23 Mar 2023 00:09:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=yWmB7HsOkvU8nfylGSpefh56pR8gdDpMIfWnSXFpHDc=; b=JVJXvg2R8JOLTfkbdYxRMnNbMO
	bjifUsp0SknyW+ZQEWYu8hNf+cbKLFrzyUWf2++1uecRFmTlS2WdLxEUXQ1YeC4EIFl0uAB7G5QWt
	xXp8ZOqSZhwI/YJFtByNHNm4cgDQKZBTS21uswwFvPgp1asCRyaCdEJxUTmTHFok/nq8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179852-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179852: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:build-i386-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-saverestore:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=2faac9a98f010cf5b342fa89ac489c4586364e6e
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Mar 2023 00:09:59 +0000

flight 179852 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179852/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 20 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt     19 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 17 guest-stop               fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 build-i386-pvops              6 kernel-build             fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     17 guest-saverestore        fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                2faac9a98f010cf5b342fa89ac489c4586364e6e
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   29 days
Failing since        178093  2023-02-22 05:02:47 Z   28 days   54 attempts
Testing same since   179852  2023-03-21 21:42:15 Z    1 days    1 attempts

------------------------------------------------------------
2201 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             fail    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 257724 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 01:25:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 01:25:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513610.794855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf9hg-000296-5L; Thu, 23 Mar 2023 01:25:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513610.794855; Thu, 23 Mar 2023 01:25:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pf9hg-00028z-2X; Thu, 23 Mar 2023 01:25:20 +0000
Received: by outflank-mailman (input) for mailman id 513610;
 Thu, 23 Mar 2023 01:25: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 1pf9hf-00028o-Mw; Thu, 23 Mar 2023 01:25: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 1pf9hf-0006X9-ID; Thu, 23 Mar 2023 01:25: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 1pf9hf-0002w7-2M; Thu, 23 Mar 2023 01:25:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pf9hf-0005EB-1r; Thu, 23 Mar 2023 01:25:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=sumHt2NUM0EbOBNGjGSIQCb4kC0VMGsGwLGtMZyev7c=; b=IdrNJLbteuNexCHlotzO2PcrNJ
	B6SYmoF6seROwQGm9KFdqRam4tAJW4FNOQi1zQj7K5P4BDe9BwIj3EeGbY0toKyFWE5cVJo9Oie1f
	GT/uxlLMN/7qYOaVV32FFJB9MeaCuQsFf0mlMnUR0JujQFJaQWVr5s0ZfiFkzXWTkB94=;
To: xen-devel@lists.xenproject.org
Subject: [qemu-mainline bisection] complete test-amd64-i386-libvirt-pair
Message-Id: <E1pf9hf-0005EB-1r@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Mar 2023 01:25:19 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-i386-libvirt-pair
testid guest-start/debian

Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu https://gitlab.com/qemu-project/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  qemuu https://gitlab.com/qemu-project/qemu.git
  Bug introduced:  b6cacfea0b38300e3ea5fd6d486d5085122554eb
  Bug not present: 831b0db8abda1d837a299893c4e3027942c8ac49
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/179880/


  commit b6cacfea0b38300e3ea5fd6d486d5085122554eb
  Author: David Woodhouse <dwmw@amazon.co.uk>
  Date:   Sun Jan 1 17:54:41 2023 +0000
  
      hw/xen: Add evtchn operations to allow redirection to internal emulation
      
      The existing implementation calling into the real libxenevtchn moves to
      a new file hw/xen/xen-operations.c, and is called via a function table
      which in a subsequent commit will also be able to invoke the emulated
      event channel support.
      
      Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
      Reviewed-by: Paul Durrant <paul@xen.org>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/qemu-mainline/test-amd64-i386-libvirt-pair.guest-start--debian.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/qemu-mainline/test-amd64-i386-libvirt-pair.guest-start--debian --summary-out=tmp/179880.bisection-summary --basis-template=179518 --blessings=real,real-bisect,real-retry qemu-mainline test-amd64-i386-libvirt-pair guest-start/debian
Searching for failure / basis pass:
 179847 fail [dst_host=albana0,src_host=albana1] / 179518 [dst_host=nocera1,src_host=nocera0] 179501 [dst_host=elbling0,src_host=elbling1] 179497 [dst_host=albana1,src_host=albana0] 179449 [dst_host=italia1,src_host=italia0] 176449 [dst_host=huxelrebe0,src_host=huxelrebe1] 176423 [dst_host=huxelrebe1,src_host=huxelrebe0] 176407 ok.
Failure / basis pass flights: 179847 / 176407
(tree with no url: minios)
Tree: libvirt git://xenbits.xen.org/libvirt.git
Tree: libvirt_keycodemapdb https://gitlab.com/keycodemap/keycodemapdb.git
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu https://gitlab.com/qemu-project/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest 27d8bcc337c45f08af56211deccf8f77d9561888 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 494127613b36e870250649b02cd4ce5f1969d9bd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 42d55ab1706912bd21c916dc818279f113ae2791 ea1b7a0733906b8425d948ae94fba63c32b1d425 c2581c58bec96afa450ebaca3fa2a33bcb0a9974
Basis pass 0f350a4d070e952b0ecc7631708478ddfd43ba3f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 9d669016d968b0f3e17ce7df16ae51d85b0adfcf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b52388129bf0097954515c097e83e6112de1b579 ea1b7a0733906b8425d948ae94fba63c32b1d425 a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/libvirt.git#0f350a4d070e952b0ecc7631708478ddfd43ba3f-27d8bcc337c45f08af56211deccf8f77d9561888 https://gitlab.com/keycodemap/keycodemapdb.git#57ba70da5312170883a3d622cd2aa3fd0e2ec7ae-57ba70da5312170883a3d622cd2aa3fd0e2ec7ae git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-c3038e718a19fc596f7b1baba0f83d5146dc7784 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0\
 dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#9d669016d968b0f3e17ce7df16ae51d85b0adfcf-494127613b36e870250649b02cd4ce5f1969d9bd git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 https://gitlab.com/qemu-project/qemu.git#b52388129bf0097954515c097e83e6112de1b579-42d55ab1706912bd21c916dc818279f113ae2791 git://xenbits.xen.org/osstest/seabios.git#ea1b7a0733906b8425d948ae94fba63c32b\
 1d425-ea1b7a0733906b8425d948ae94fba63c32b1d425 git://xenbits.xen.org/xen.git#a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e-c2581c58bec96afa450ebaca3fa2a33bcb0a9974
Loaded 50977 nodes in revision graph
Searching for test results:
 176392 [dst_host=albana1,src_host=albana0]
 176407 pass 0f350a4d070e952b0ecc7631708478ddfd43ba3f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 9d669016d968b0f3e17ce7df16ae51d85b0adfcf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b52388129bf0097954515c097e83e6112de1b579 ea1b7a0733906b8425d948ae94fba63c32b1d425 a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e
 176423 [dst_host=huxelrebe1,src_host=huxelrebe0]
 176449 [dst_host=huxelrebe0,src_host=huxelrebe1]
 179449 [dst_host=italia1,src_host=italia0]
 179497 [dst_host=albana1,src_host=albana0]
 179501 [dst_host=elbling0,src_host=elbling1]
 179518 [dst_host=nocera1,src_host=nocera0]
 179526 fail irrelevant
 179534 fail irrelevant
 179548 fail irrelevant
 179561 fail irrelevant
 179574 fail 8419dd3b69cfada783a2e6df315e45dd294b0d18 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 674acdd17808052519aafcbee1583ad89b66181a ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179588 fail 8419dd3b69cfada783a2e6df315e45dd294b0d18 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179596 fail 8419dd3b69cfada783a2e6df315e45dd294b0d18 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179609 fail irrelevant
 179628 fail irrelevant
 179644 fail irrelevant
 179657 fail 8386242bd0f6c1cb242f9c711e2ef864bf114d0d 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 961792c9d61f7e03e0c1b6b9f93b8b306df94bf9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 652737c8090eb3792f8b4c4b22ab12d7cc32073f ea1b7a0733906b8425d948ae94fba63c32b1d425 de819c96c863467b6e625cd7197d17682f6c6122
 179682 fail irrelevant
 179708 fail irrelevant
 179733 fail irrelevant
 179756 fail irrelevant
 179784 pass 0f350a4d070e952b0ecc7631708478ddfd43ba3f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 9d669016d968b0f3e17ce7df16ae51d85b0adfcf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b52388129bf0097954515c097e83e6112de1b579 ea1b7a0733906b8425d948ae94fba63c32b1d425 a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e
 179785 fail irrelevant
 179786 fail bc77182ea40457381222f472a37c2a2f38991de0 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a0f9628705e35c981ae95376f9ebedf877d09111 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 dea644928d7583d91170d013716bbbeb938cb938 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179787 pass 3138e204b2e3f4d765af66faf1fc9b566de370dd 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a0f9628705e35c981ae95376f9ebedf877d09111 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7b0f0aa55fd292fa3489755a3a896e496c51ea86 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179788 pass 3138e204b2e3f4d765af66faf1fc9b566de370dd 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a0f9628705e35c981ae95376f9ebedf877d09111 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 555ce1d8559ec00037f994c3a5df07815d20e1ef ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179789 pass 9fecdaf1c80f8fb4390c77b4d353ad07ba77c87a 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c7c25997595aa34ce0a7a21ca2e1fc5b0f9b38a6 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c1feaf76833f5b29f887fd64371512731cbf7086 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179790 blocked c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ba2a92db1ff682c16730b1d7f156bac61928f04d ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179792 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6611d8d5c265c138a4a0cc36a2c02d84a768976 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179776 fail 27d8bcc337c45f08af56211deccf8f77d9561888 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b17a3a133b18fb41493fba7d86e9b5804ea6a8cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 9bf21fcaef07f68ab52d0382ff554616a1cf66d8
 179793 pass 0b464cd84ff3f83ca8a63bf4c28a0517a9a98288 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2f886a34bb7e6f6fcf39d64829f4499476f26dba ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179794 fail 27d8bcc337c45f08af56211deccf8f77d9561888 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b17a3a133b18fb41493fba7d86e9b5804ea6a8cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 9bf21fcaef07f68ab52d0382ff554616a1cf66d8
 179796 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa1cd447b346e8cc8141df2fe2d321b032c08acb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c29a2f40cd5d1fdad4632b48343cd968db041a44 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179798 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 43b79f3b86c343a8973dc98278ad7f7921bf248d ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179800 pass cf01bbb9926a3289e75d8c59dac24d091f85ab06 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 37151032989ecf6e7ce8b65bc7bcb400d0318b2c ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179795 fail 27d8bcc337c45f08af56211deccf8f77d9561888 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b17a3a133b18fb41493fba7d86e9b5804ea6a8cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 9bf21fcaef07f68ab52d0382ff554616a1cf66d8
 179801 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 76116e28e1491a06966fd594fefdaacb084ada10 ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179803 pass 6ecd2181097d2614f5c7ee202ac16db6034b37ae 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0ccf919d742e387a6e533cf41d422a26d89f0d99 ea1b7a0733906b8425d948ae94fba63c32b1d425 b84fdf521b306cce64388fe57ee6c7c00f9d3e76
 179804 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b22a2d409b1acfdf0d63d1bb3595194ceb3d94da ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179806 pass cea8402e1c322a25ec944d1c36e902fac31d4331 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ddf0676f1ade90026483a91823d86db4096a40ef ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179807 pass f5966651e7c37f5501de29303a6defb13efdbed9 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e1f9f73ba15e0356ce1aa3317d7bd294f587ab58 ea1b7a0733906b8425d948ae94fba63c32b1d425 49b1cb27413034c81023d1faf7af43690e87291a
 179809 pass e66469095d4a6dafc7e482894321e1e10c734e54 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 3f21065f0983d37c5d4a11a3c59bab5201a9f499 ea1b7a0733906b8425d948ae94fba63c32b1d425 91d4d9506a4e8906253d1280bd5a1f39668fad64
 179810 pass e66469095d4a6dafc7e482894321e1e10c734e54 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 569346ad0a85b370fe28282656da18bddd291ed6 ea1b7a0733906b8425d948ae94fba63c32b1d425 91d4d9506a4e8906253d1280bd5a1f39668fad64
 179811 pass e66469095d4a6dafc7e482894321e1e10c734e54 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0f385a2420d2c3f8ae7ed65fbe2712027664059e ea1b7a0733906b8425d948ae94fba63c32b1d425 91d4d9506a4e8906253d1280bd5a1f39668fad64
 179812 pass 91431db94b126cbb9dc3276da6a8fd0216008298 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2d89cb1fe5c778f51b5fdc6878adacdb0d908949 ea1b7a0733906b8425d948ae94fba63c32b1d425 406cea1970535cd7b9d6bcf09bc164ef9bb64bac
 179802 fail 27d8bcc337c45f08af56211deccf8f77d9561888 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b17a3a133b18fb41493fba7d86e9b5804ea6a8cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 9bf21fcaef07f68ab52d0382ff554616a1cf66d8
 179813 pass da6277d8e9ef64f4a033b1bfb6dd43ccdd9e59b6 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 9b0699ab801405fe5bdf1adea83bceac9ec62f97 ea1b7a0733906b8425d948ae94fba63c32b1d425 a90a0018f605e3bb0588816e5a1f957d6e4562eb
 179815 pass da6277d8e9ef64f4a033b1bfb6dd43ccdd9e59b6 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 4919d0c44afd58e16a8a369ca359de7f0114e04c ea1b7a0733906b8425d948ae94fba63c32b1d425 a90a0018f605e3bb0588816e5a1f957d6e4562eb
 179817 pass 598a73335d70b4ef70b84f9730d708c116f88b15 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 38da9606f77842cdcdc231210c0369a6180c51a0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 36debafddd788066be10b33c5f11b984a08e5c85 ea1b7a0733906b8425d948ae94fba63c32b1d425 5b9bb91abba7c983def3b4bef71ab08ad360a242
 179819 pass 15e5eb8a7684992d1a885038d28781462a727bf2 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5c551d6d912967ada3084033acea8acf37256043 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0dd47dc5470629ae3ad8830a0b44aea82a6dd8ae ea1b7a0733906b8425d948ae94fba63c32b1d425 2e52dcc853a7183784cd9bdfb1e78ff366035209
 179821 pass b61c66d1dea2525290b7fa1f41ba6958bc39d63c 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 540522fec06b87bf11ad5624abe23b515f282d60 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b1d1d468cabfa800950e1ecb6006df619687c269 ea1b7a0733906b8425d948ae94fba63c32b1d425 9b70bc6d9678142a40e6c1c6934a32c7a0966e38
 179822 pass 3820a0ce41694eb8b8ae62cfdfd08eb06fb352d4 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 93a21b465bda44cecdd6347ad481ca6f55286547 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7b548761e5d084f2fc0fc4badebab227b51a8a84 ea1b7a0733906b8425d948ae94fba63c32b1d425 f4f498d08d50259b9f25c274fd7b1e8ccf5693af
 179816 fail 27d8bcc337c45f08af56211deccf8f77d9561888 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b7a8264ae4704f781e70cc44dafdf07e4e5e690a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 9bf21fcaef07f68ab52d0382ff554616a1cf66d8
 179823 pass 15e5eb8a7684992d1a885038d28781462a727bf2 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5c551d6d912967ada3084033acea8acf37256043 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 003ba52a8b327180e284630b289c6ece5a3e08b9 ea1b7a0733906b8425d948ae94fba63c32b1d425 2e52dcc853a7183784cd9bdfb1e78ff366035209
 179825 pass 0c4e716835eaf2a575bd063fde074c0fc7c4e4d4 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f6ce1a5cd8932844ec24701d158254ccf75b6159 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 acbc8aee5b09222dc6a5cb88306b67bcbe37e30b ea1b7a0733906b8425d948ae94fba63c32b1d425 4e0b4ccfc504f26187939068796295340ffd0e2f
 179827 pass 5155ab4b2a704285505dfea6ffee8b980fdaa29e 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5db84c85c3544b92fa236c4d169440d523712ae0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ae2b5d8381a73b27f35f19c988d45c78bb4d5768 ea1b7a0733906b8425d948ae94fba63c32b1d425 b9adcb5ab910b61e5332728bd248906e68a45900
 179828 pass 466920ea1d64471c9b40dde39506df0eac55a630 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 525ae115222f0b0b6de7f9665976f640d18c200a ea1b7a0733906b8425d948ae94fba63c32b1d425 406cea1970535cd7b9d6bcf09bc164ef9bb64bac
 179831 pass 61233dfbee616e36af6c495493cace0f3370f37b 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 60f999b7f2890c9e8ddcd404ce8c4b89b5dee0a2 ea1b7a0733906b8425d948ae94fba63c32b1d425 b84fdf521b306cce64388fe57ee6c7c00f9d3e76
 179833 pass bc52cc2fe4b9550367494a22f806202c6824d869 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 817fd33836e73812df2f1907612b57750fcb9491 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179835 pass 795642b985d6284bb5b464746c2e820720b80e87 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7c7173679fbe636ad16960b93c5985141d8fa233 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179836 pass 7e94712699546b0dc9ec8307b19a39775761627c 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7840ba985a7c0fcf90a7318ff1f827f89571cb3c ea1b7a0733906b8425d948ae94fba63c32b1d425 746774cd1786b13dc67020efb6496477535dcb26
 179839 pass 459a7f1084630e696fe6e1a1f6a86e8dee799628 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 47fc340010335bc2549bc1f07e5fd85d86a2b9f9 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179844 fail 7e94712699546b0dc9ec8307b19a39775761627c 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5ad2592ab370b6c9030d1239940046bdeec9c2c6 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 154eac37190c4d80d29b09c226abd899e397530f ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179824 fail 27d8bcc337c45f08af56211deccf8f77d9561888 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b7a8264ae4704f781e70cc44dafdf07e4e5e690a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 aa9e7fa4689d1becb2faf67f65aafcbcf664f1ce ea1b7a0733906b8425d948ae94fba63c32b1d425 9bf21fcaef07f68ab52d0382ff554616a1cf66d8
 179846 pass d22abc8f2f107c5a302fc1261a276a658b6ab151 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa1cd447b346e8cc8141df2fe2d321b032c08acb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 47fc340010335bc2549bc1f07e5fd85d86a2b9f9 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179849 pass 0f350a4d070e952b0ecc7631708478ddfd43ba3f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 9d669016d968b0f3e17ce7df16ae51d85b0adfcf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b52388129bf0097954515c097e83e6112de1b579 ea1b7a0733906b8425d948ae94fba63c32b1d425 a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e
 179850 fail 27d8bcc337c45f08af56211deccf8f77d9561888 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b7a8264ae4704f781e70cc44dafdf07e4e5e690a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 aa9e7fa4689d1becb2faf67f65aafcbcf664f1ce ea1b7a0733906b8425d948ae94fba63c32b1d425 9bf21fcaef07f68ab52d0382ff554616a1cf66d8
 179854 fail 6386dd897df596a01e3cf0db9f86d496891564dc 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 154eac37190c4d80d29b09c226abd899e397530f ea1b7a0733906b8425d948ae94fba63c32b1d425 3c55057bab0e992a6fc25cd498d6aca72034a8b5
 179855 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa1cd447b346e8cc8141df2fe2d321b032c08acb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 9832009d9dd2386664c15cc70f6e6bfe062be8bd ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179856 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 032475127225e5949c021dcb1dfcc0ffec400157 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179873 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6cacfea0b38300e3ea5fd6d486d5085122554eb ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179862 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7cabbdb70df64fc7b0ed05f3e6aa4e1990eadc77 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179864 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 4ca8cf092dabf934a32968c917f0d0682053cd4e ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179865 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6cacfea0b38300e3ea5fd6d486d5085122554eb ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179871 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 766804b101d7e452ad85995c231a5c3454f4e25b ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179872 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 831b0db8abda1d837a299893c4e3027942c8ac49 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179847 fail 27d8bcc337c45f08af56211deccf8f77d9561888 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 494127613b36e870250649b02cd4ce5f1969d9bd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 42d55ab1706912bd21c916dc818279f113ae2791 ea1b7a0733906b8425d948ae94fba63c32b1d425 c2581c58bec96afa450ebaca3fa2a33bcb0a9974
 179875 fail 27d8bcc337c45f08af56211deccf8f77d9561888 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 494127613b36e870250649b02cd4ce5f1969d9bd 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 42d55ab1706912bd21c916dc818279f113ae2791 ea1b7a0733906b8425d948ae94fba63c32b1d425 c2581c58bec96afa450ebaca3fa2a33bcb0a9974
 179876 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 831b0db8abda1d837a299893c4e3027942c8ac49 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179877 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6cacfea0b38300e3ea5fd6d486d5085122554eb ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179878 pass c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 831b0db8abda1d837a299893c4e3027942c8ac49 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179880 fail c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6cacfea0b38300e3ea5fd6d486d5085122554eb ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
Searching for interesting versions
 Result found: flight 176407 (pass), for basis pass
 Result found: flight 179847 (fail), for basis failure
 Repro found: flight 179849 (pass), for basis pass
 Repro found: flight 179875 (fail), for basis failure
 0 revisions at c0e60063c93362e8be5914c63d2f1c3a0f4bae8f 57ba70da5312170883a3d622cd2aa3fd0e2ec7ae c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 831b0db8abda1d837a299893c4e3027942c8ac49 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
No revisions left to test, checking graph state.
 Result found: flight 179872 (pass), for last pass
 Result found: flight 179873 (fail), for first failure
 Repro found: flight 179876 (pass), for last pass
 Repro found: flight 179877 (fail), for first failure
 Repro found: flight 179878 (pass), for last pass
 Repro found: flight 179880 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  qemuu https://gitlab.com/qemu-project/qemu.git
  Bug introduced:  b6cacfea0b38300e3ea5fd6d486d5085122554eb
  Bug not present: 831b0db8abda1d837a299893c4e3027942c8ac49
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/179880/


  commit b6cacfea0b38300e3ea5fd6d486d5085122554eb
  Author: David Woodhouse <dwmw@amazon.co.uk>
  Date:   Sun Jan 1 17:54:41 2023 +0000
  
      hw/xen: Add evtchn operations to allow redirection to internal emulation
      
      The existing implementation calling into the real libxenevtchn moves to
      a new file hw/xen/xen-operations.c, and is called via a function table
      which in a subsequent commit will also be able to invoke the emulated
      event channel support.
      
      Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
      Reviewed-by: Paul Durrant <paul@xen.org>

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.38639 to fit
pnmtopng: 253 colors found
Revision graph left in /home/logs/results/bisect/qemu-mainline/test-amd64-i386-libvirt-pair.guest-start--debian.{dot,ps,png,html,svg}.
----------------------------------------
179880: tolerable FAIL

flight 179880 qemu-mainline real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/179880/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-i386-libvirt-pair 25 guest-start/debian      fail baseline untested


jobs:
 build-i386-libvirt                                           pass    
 test-amd64-i386-libvirt-pair                                 fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 03:08:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 03:08:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513620.794869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfBIv-0006bh-IM; Thu, 23 Mar 2023 03:07:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513620.794869; Thu, 23 Mar 2023 03:07: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 1pfBIv-0006ba-F8; Thu, 23 Mar 2023 03:07:53 +0000
Received: by outflank-mailman (input) for mailman id 513620;
 Thu, 23 Mar 2023 03:07: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 1pfBIu-0006bQ-M6; Thu, 23 Mar 2023 03:07: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 1pfBIu-00010b-IG; Thu, 23 Mar 2023 03:07: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 1pfBIu-0006it-5J; Thu, 23 Mar 2023 03:07:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfBIu-0008BP-4g; Thu, 23 Mar 2023 03:07: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=u5wvL8xIjoqJXd5JHtlfZN5blhgNzv44iEyWCXgqdnQ=; b=bk0gbldrlR/n8PTKGlXwC370J9
	tkIoXD1UrlJMMixtFNHx6jU92i6+q5kqlXCIbLndXmeMCYAdNsifvqfLQbY2ubP3mWE6pgjak+RN2
	75uUZWxQnNLgjPhqfA28ovfidIIaZXAuT0WGUossypH73kxtsI6LXGnxFx6bEzyGUvWk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179853-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179853: tolerable trouble: fail/pass/starved - 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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=245d030f4aa79f766e575684127f86748c63bb32
X-Osstest-Versions-That:
    xen=0bbf102d8794fb961cb103ada00999768547916e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Mar 2023 03:07:52 +0000

flight 179853 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179853/

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 179834
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179834
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179834
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179834
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179834
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat    fail  like 179834
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179834
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179834
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179834
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179834
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  245d030f4aa79f766e575684127f86748c63bb32
baseline version:
 xen                  0bbf102d8794fb961cb103ada00999768547916e

Last test of basis   179834  2023-03-21 07:48:16 Z    1 days
Testing same since   179853  2023-03-21 22:12:49 Z    1 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 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
   0bbf102d87..245d030f4a  245d030f4aa79f766e575684127f86748c63bb32 -> master


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 04:16:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 04:16:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513645.794952 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfCMg-0007t7-Df; Thu, 23 Mar 2023 04:15:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513645.794952; Thu, 23 Mar 2023 04: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 1pfCMg-0007t0-AW; Thu, 23 Mar 2023 04:15:50 +0000
Received: by outflank-mailman (input) for mailman id 513645;
 Thu, 23 Mar 2023 04:15: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 1pfCMe-0007sq-KP; Thu, 23 Mar 2023 04:15: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 1pfCMe-0002zb-IB; Thu, 23 Mar 2023 04:15: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 1pfCMe-0000bI-5H; Thu, 23 Mar 2023 04:15:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfCMe-0002fh-4n; Thu, 23 Mar 2023 04: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MVPm9+ciKdJ227iX8cuxvF/bFs92XJfqQHAPMIdtsZ0=; b=DmDArTjyQcPOeDVaD9HehMwU2E
	FjxE0tkZpGliyP5NvLl7SAEdJ1dBmic8PXzzrnaZooR1EivrgnFE/xAaJRTL5/HXh9mqgTccEIMr1
	CQkULjQPV4V3inU2D1t+xsA3jrUpkpXC6I8hs9Ee4B9caL+3QGAf76xxJKa/2iPOIp60=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179869-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 179869: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    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-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-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-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: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-xsm:migrate-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-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-4.17-testing:build-armhf:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=3eac216e6e60860bbc030602c401d3ef8efce8d9
X-Osstest-Versions-That:
    xen=a730e4d1190594102784222f76a984d10bbc88a9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Mar 2023 04:15:48 +0000

flight 179869 xen-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179869/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179843
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179843
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179843
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179843
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179843
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179843
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179843
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179843
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179843
 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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-raw  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl           3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit2   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-thunderx  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-vhd       3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-xsm       3 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-xsm  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  3eac216e6e60860bbc030602c401d3ef8efce8d9
baseline version:
 xen                  a730e4d1190594102784222f76a984d10bbc88a9

Last test of basis   179843  2023-03-21 12:37:03 Z    1 days
Testing same since   179869  2023-03-22 11:15:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bernhard Kaindl <bernhard.kaindl@citrix.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-armhf-armhf-xl                                          starved 
 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                                 starved 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 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-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  starved 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  starved 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 starved 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      starved 
 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
   a730e4d119..3eac216e6e  3eac216e6e60860bbc030602c401d3ef8efce8d9 -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 07:41:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 07:41:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513658.794980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfFZd-0000Ss-Uv; Thu, 23 Mar 2023 07:41:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513658.794980; Thu, 23 Mar 2023 07:41:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfFZd-0000Sl-SO; Thu, 23 Mar 2023 07:41:25 +0000
Received: by outflank-mailman (input) for mailman id 513658;
 Thu, 23 Mar 2023 07:41:24 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfFZc-0000Sb-QR; Thu, 23 Mar 2023 07:41:24 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfFZc-00083U-MT; Thu, 23 Mar 2023 07:41: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 1pfFZc-0002wI-8l; Thu, 23 Mar 2023 07:41:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfFZc-0005ja-8N; Thu, 23 Mar 2023 07:41: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=pImdm5O6s2PaYH/R+V+QPzbdqAtjr5AMVS58QhBjdb8=; b=ugFtZ4RhcqvgyAOarg/lXl1O7O
	5yTFlS58gzbvY+SgePvdbhBykL+cdyV+LAK0f62MmVVttQKBV7BmKbfeeHKeQ7O/aIy7toPDUvDJS
	5ul42t7dT954TJDlcLB343YNGrp6wVLq54NN7/reT1o7lsLhSLQPnvU1vIpWUA63iLXI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179858-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 179858: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-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-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-arm64-arm64-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-4.16-testing:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=54102e428ba3f677904278479f8110c8eef6fedc
X-Osstest-Versions-That:
    xen=84dfe7a56f04a7412fa4869b3e756c49e1cfbe75
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Mar 2023 07:41:24 +0000

flight 179858 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179858/

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 179065
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179065
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179065
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179065
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179065
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179065
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179065
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179065
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179065
 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-xl-pvshim    14 guest-start                  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-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  54102e428ba3f677904278479f8110c8eef6fedc
baseline version:
 xen                  84dfe7a56f04a7412fa4869b3e756c49e1cfbe75

Last test of basis   179065  2023-03-03 07:37:09 Z   19 days
Failing since        179842  2023-03-21 12:36:57 Z    1 days    2 attempts
Testing same since   179858  2023-03-22 03:34:27 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bernhard Kaindl <bernhard.kaindl@citrix.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Jan Beulich <jbeulich@suse.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   84dfe7a56f..54102e428b  54102e428ba3f677904278479f8110c8eef6fedc -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 08:02:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 08:02:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513679.795040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfFuC-0004Tu-Kd; Thu, 23 Mar 2023 08:02:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513679.795040; Thu, 23 Mar 2023 08:02: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 1pfFuC-0004Tn-Ht; Thu, 23 Mar 2023 08:02:40 +0000
Received: by outflank-mailman (input) for mailman id 513679;
 Thu, 23 Mar 2023 08:02: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=fJyN=7P=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfFuB-0004Th-Fg
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 08:02:39 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20630.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1307859e-c951-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 09:02:37 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8983.eurprd04.prod.outlook.com (2603:10a6:10:2e2::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 08:02:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 08: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: 1307859e-c951-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D2+U80Pdbh85iNRw9nA98cmjqIotZkfaqj//3dmkBzIdkxteXUKGrh0YqHhHv0FfXE6P7jP2QNB7KJsNKqFD6FOncYgRN7jtNaQnSDSD14NlqSIvpFz2PPHmdw0a2d+3lzxR6QdIIPECyq/mwvx5B8RR3EuTqOWRJs1OW48HolX1URpcjOd/AJvGM81/IRW1xz2UJfTPZ6WTUMiVUHR/SuIeZfpIH/Ek+rugeVZ9sYp4Hn9MMMYSPIzuNR12Y7e5GfSEh+Z30ppXnZpHtixWJDTUTSOOGR+IezKQwfHU6bdokZpvmGtiZkVdSKb8rllHiD7d7xZ0C2v29ffsXG7N0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GDywmu4KyZ5CQCAkAEMUd4RBSCeIFs8zOqm2OkwxjAU=;
 b=GFceYWRsAb82PbaVtolDAzZubUJPpzyyyt5il42hViEKqItFMI3LqzSa/uY8sAtkEeMeNW/fEqS7XKhXh8kZoKbyoqe2N5cRQ99hf4DjtYGikbmYK0bgg5Ww+Cp8LA1ygYH08vBQJSLkuhebXPOpJG5poNu1VYJidJTKQHa8kts3ifyP6lo4pT2DawbwtmzA4enCljrUiwrQmRHmynznVeiyIRPDq0iUC27HtdQMxcnBkSA9HW8zk4daXdt5FHLuqb2bAKhD7NDcyUS7Lh0/QTyNr27q23xq4ZpeMY+soUSX+Zt2QWWWWO2iX7m4iGwo+Igx0znWGAQkd8+TKK1SYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GDywmu4KyZ5CQCAkAEMUd4RBSCeIFs8zOqm2OkwxjAU=;
 b=4mpxk5xZjHI80FnM68U10vf0E1ISj7/GVBsixbk/uQELSC7qHwis7ivzddbhX9EEbZtPbzg/l4jHu04/oG13ZWdUJD2rnspsTbCfM6rnFtnrhPnfucVQKDerq9cV4xm9oeti6htsk39dN+/1MzYreCK1qGEQ25FbBxJ4O6QNo13VUdQK7otDITvDfJ7VEdiiW43Qf5iHmlabqZFUUY9PsbJuLHWZ3SHE5ZLycgaOF5S50c1iiZ7fJuHpFbhWmIr+cXTsTB806xlO7I0EiQ/LOTj2+7oDDYWDSLdHy41/UdiwasL2i/G/thvCn0H0DRt2/BuHlpYc/1mAmT1jM33VkA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d526b87a-374a-8d78-f66f-cf71537790af@suse.com>
Date: Thu, 23 Mar 2023 09:02:31 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3] vpci/msix: handle accesses adjacent to the MSI-X table
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <20230322143001.66335-1-roger.pau@citrix.com>
 <0a69ba74-71fd-101c-2f06-2cd6ced412b4@suse.com>
 <ZBs1c7ILtkRQOzki@Air-de-Roger> <ZBs2BKAfoRap1CjC@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBs2BKAfoRap1CjC@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0189.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8983:EE_
X-MS-Office365-Filtering-Correlation-Id: 1f7f16e4-bc7e-4320-b3b5-08db2b74f545
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oqnHt9P5Q9kgbcVhgJxFJBy7d/rAqrTCP7zCS+R1caSs3zU8mNJYR4wl0JaipNASpo+YP4E4p28AY/UbJB/fAvoEnT9zUAIedK+sA8nqHVBkzOOap8WurrxFsgb92afAj/sZSunv7J/7JJ4UM26J3ojWc/s2yAiTWawvlfbJX4fGlc75VyL3mFaRjAocnOyJ37pgV3v2cchiHR+VaeklrkSeJ8eWsEEkzzeXnb2uSPnEXjsrBh62ySl+r5QW7DM/tUQOf++z55OYdjXnRB85M/URKtPhJ2F2IpCXLLI0wcdJ0N3GE6KB3DBwR3JKePNiuNrkQbH/neoZvowuM3/AmCdN6bE19NghsZOvrseZatuV1Bf54ROVaqniqSQP5uSHCBKAZsB7KGFhFkScqgJDRCmwsf3d4+LfI9ChwvIA4IP6bkt57SvLx726nWn8i7M2X0kCI3Eyim/sKwp6Pa+cc3YQpxjvPrBDi/vnzuH27YXZZSJFDdfwCIBw3LY1a0jQOB1TlYyF2BBlTJfZDFHpt/MYQpkHD5q1DYLqODzaGzQrzcBoeTGv65XzRWZgy6IFrw4i8K1EXemeSqUuA03rjWpqrKITWFqYxs20bz96WhukeVCeloOk6oBgwaAk8z2cLrLi+DoeX2suxEBr77xYdMWO94tcw1jsu5Jcj292SvHR6IGEsg3WMrkN9fj+Vxe3+AiEYBlr5FO378Z13njlFS2zoR8LmlDuU4SisGR0U/M=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(396003)(136003)(39860400002)(376002)(346002)(451199018)(2906002)(5660300002)(41300700001)(8936002)(36756003)(86362001)(31696002)(38100700002)(26005)(478600001)(6506007)(6512007)(31686004)(53546011)(6486002)(83380400001)(66556008)(186003)(66476007)(66946007)(2616005)(8676002)(6916009)(4326008)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YStjUGkyR3QySzV3UHF6ckxyQXlEd0MzL3VJTHViQmZTb1JWK29LLzBMZnNM?=
 =?utf-8?B?RFVmZnc5OGhpeVpKdFFTa3Y4NzlLNWRRNTh5Vk9mWUI1eGtBQVB3ZzFmOWVW?=
 =?utf-8?B?aUs5WjZ0T05Fa0lVMTIxYTJ5OUhVczg2N3poQW83d3d6dldia0RQeEppaEhn?=
 =?utf-8?B?RVlubHE3amVaUXF6NjA0MFlZQ3pibXR3eUY1T0Y3Z3RGT25qdjVoL253Z3Fs?=
 =?utf-8?B?NitYSHEzN0xtYXpXc1ZPTmNxSW5PdHgwb0pIL1U3K3hEN2tOcG04WFFTdE54?=
 =?utf-8?B?cE5BT3BrRU80d29qTHdXQjV2SUt5TXgzR3VqeVhjUnByOFhlRGROL0VZQ0Zn?=
 =?utf-8?B?RWNPbkVrOXJTRC8xV0swTU5TazU4RS9KRGVVdUZRdUgxcFN6NG05Smp6eXYy?=
 =?utf-8?B?SHkvUGY5Y1NaY1NRcFhXOU1xUnQ3cm5QL0N5OTBuR0tsMnJESnFtN1MzMDgv?=
 =?utf-8?B?djZuZVlQeFF1RG5OYnByNEFEZkV4czNGRmJweUdvN0RKQkdMU0U1NlM4N1gy?=
 =?utf-8?B?b3N1eWNDNHRNTHd2VWhzY0hWSXNzeGlkQWY3K00weGdBSVQ1VGI4Zzd0QVVY?=
 =?utf-8?B?N3FubXNENkxybkdwOTFsUzdLTSs2S0U1MC9oNXVweDduKytsd2FQZWFhdzhQ?=
 =?utf-8?B?dC9kY2JhTyt4b2R5enFldWpwUWNFUE9BVDR6RE9Ra3ZzQTh2MlBoRFJ5ZktK?=
 =?utf-8?B?NFUyTDRwNno3SEtRTEhzVlJvNjd2S1djN0RVWVlGYzU4b0MyaEpOaDU2a3pt?=
 =?utf-8?B?aElTTWdGLzgxWmZKYnhKR2dZOC9iOTNtOUF6QWh2MDloWmNEK0lvRHhHckdy?=
 =?utf-8?B?QlNHcm9UbFVidW1iVWJqYzY3eFZrMzI4ZUlWRmpPQkVGd3NiazB2bENnWWcw?=
 =?utf-8?B?YXFIRTFlMmRjMExOK1lnL0VhZ3VDVHdzcXhpK05YblZRbjljWDdtamY2WWYw?=
 =?utf-8?B?NXZ3SkNKOWFiOGlicU5Wa3V0TUw4L1phT3dyQ09NZTBEcUg3TkNRdmpHd29q?=
 =?utf-8?B?eVlpdTAwWGk1UVY2dzBybldmSm1DM0VvQ2d6QnhNZFhoZEJsZ3ZDK3p3SE9p?=
 =?utf-8?B?YWpONEk3WEJQTCtyci94QXpINU84UlFvZzdsMUFoOGpSSzBhd25iWkxya0Yw?=
 =?utf-8?B?T09NNTJtV0xYSWtudkU2aXhxdVE5Z0JzNUpXOHlJTGdKOEEvUFdQbjJ6Z01S?=
 =?utf-8?B?V2xDUCtSNE9TRDBPQjZnTTBCY0NTWDJUYllZK0gzTnhhSXI3NE5IZzFxRDlh?=
 =?utf-8?B?WkljT3M3d0lrbHd6QU5KL0VNaThWVk12Mk8xdVUwYlNlREFQTU41eTdJWDUz?=
 =?utf-8?B?ZXpDVzVaVUV4NDY4UFpNVHVJNzROTWNoczQzNXlZSnlQbERVNWwrbjRKMUlO?=
 =?utf-8?B?aU91Rm5kZTZUMFZWNlp1THpGWkNZQmtkejZxN2VvU0x0Sm5UekdoUjJuVUpu?=
 =?utf-8?B?Z3lqZDExTkRNVytjWXBkSWx4TUQ1SU1Way9YWjk0dEg1SERPZjRRdlZhU1l6?=
 =?utf-8?B?ZkRUb09aQUFZVE9iRDJUSENlMG53STNyaXVKaVhjZGhrbjhweDhqeFlqb080?=
 =?utf-8?B?OThVRFBaQjZacFRVZGVwdGIxWUYyWjh0TzBGbmNlTHR2SHNkMUxFbmxSOGR6?=
 =?utf-8?B?RXhqd3BreFVaUUh3UThDYWVjNC93U01xM0s5alpNMmg1bTFCOXo0SXNDT1oz?=
 =?utf-8?B?QndSQkxUKzBpSDZ1OFZyek4vMVlXTUticjZjVTc0U2V3UXZ1UkplbVF5UGVy?=
 =?utf-8?B?UGtKek5tSm02ZzJBajlFaUFlYVUzbUFsMnlSMmlBRVlXRDNSMjNXb3djZFhp?=
 =?utf-8?B?MmVZcStMeDYrNFBEVSs4N2hIUEp1bVRMRDZWRE9PZS94RkF2Ymt5R0l5SkVE?=
 =?utf-8?B?b20vdGlLeVBkTC9WN2pqSUtFWU9UQ0dscU9hSjc4L3hzajNSei92RUo5eFB2?=
 =?utf-8?B?d2U1QkVjNTBFWmJYUHFKSUowZzlJMFRZN0g5QnRnamVUVHltY1ppK2Q3R1lY?=
 =?utf-8?B?WHIwcW1PZW9xMk5vMzd0VDJYWFRhblAzODZ2NFp1bjI2MkQ3aDZHNFYvbGFK?=
 =?utf-8?B?VmxpeCtyWndEMXhnQVNvM2gzZ0tkeERIaHlYM2lzSDlya05wcDU2aXNWbFpx?=
 =?utf-8?Q?7Iw1VgQnQ7XymMXNS/TYcgA7n?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1f7f16e4-bc7e-4320-b3b5-08db2b74f545
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 08:02:33.5649
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: k+pc69a43LxexkBvu47tYbXmGVi5YpkVL5j4IWkmYBnqhc6YQKJ2dsjUkMak6l+SLo8fRBfPVQHEQJzBklhgzA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8983

On 22.03.2023 18:08, Roger Pau Monné wrote:
> On Wed, Mar 22, 2023 at 06:05:55PM +0100, Roger Pau Monné wrote:
>> On Wed, Mar 22, 2023 at 04:14:54PM +0100, Jan Beulich wrote:
>>> On 22.03.2023 15:30, Roger Pau Monne wrote:
>>>> Changes since v2:
>>>>  - Slightly adjust VMSIX_ADDR_SAME_PAGE().
>>>>  - Use IS_ALIGNED and unlikely for the non-aligned access checking.
>>>>  - Move the check for the page mapped before the aligned one.
>>>>  - Remove cast of data to uint8_t and instead use a mask in order to
>>>>    avoid undefined behaviour when shifting.
>>>>  - Remove Xen maps of the MSIX related regions when memory decoding
>>>>    for the device is enabled by dom0, in order to purge stale maps.
>>>
>>> I'm glad you thought of this. The new code has issues, though:
>>>
>>>> @@ -182,93 +187,201 @@ static struct vpci_msix_entry *get_entry(struct vpci_msix *msix,
>>>>      return &msix->entries[(addr - start) / PCI_MSIX_ENTRY_SIZE];
>>>>  }
>>>>  
>>>> -static void __iomem *get_pba(struct vpci *vpci)
>>>> +static void __iomem *get_table(struct vpci *vpci, unsigned int slot)
>>>>  {
>>>>      struct vpci_msix *msix = vpci->msix;
>>>>      /*
>>>> -     * PBA will only be unmapped when the device is deassigned, so access it
>>>> -     * without holding the vpci lock.
>>>> +     * Regions will only be unmapped when the device is deassigned, so access
>>>> +     * them without holding the vpci lock.
>>>
>>> The first part of the sentence is now stale, and the second part is in
>>> conflict ...
>>>
>>>> @@ -482,6 +641,26 @@ int vpci_make_msix_hole(const struct pci_dev *pdev)
>>>>          }
>>>>      }
>>>>  
>>>> +    if ( is_hardware_domain(d) )
>>>> +    {
>>>> +        unsigned int i;
>>>> +
>>>> +        /*
>>>> +         * For the hardware domain only remove any hypervisor mappings of the
>>>> +         * MSIX or PBA related areas, as dom0 is capable of moving the position
>>>> +         * of the BARs in the host address space.
>>>> +         *
>>>> +         * We rely on being called with the vPCI lock held in order to not race
>>>> +         * with get_table().
>>>
>>> ... with what you say (and utilize) here. Furthermore this comment also wants
>>> clarifying that apply_map() -> modify_decoding() not (afaics) holding the lock
>>> when calling here is not a problem, as no mapping can exist yet that may need
>>> tearing down. (I first wondered whether you wouldn't want to assert that the
>>> lock is being held. You actually could, but only after finding a non-NULL
>>> table entry.)
>>
>> Oh, yes, sorry, I should update those comments.  vpci_make_msix_hole()
>> gets called before bars[].enabled gets set, so there should be no
>> users of the mappings at that time because we don't handle accesses
>> when the BAR is not mapped.
>>
>> Not sure whether we should consider an access from when the BAR was
>> actually enabled by a different thread could still continue while on
>> another thread the BAR has been disabled and enabled again (and thus
>> the mapping removed).  It's a theoretical race, so I guess I will look
>> into making sure we cannot hit it.
> 
> Hm, maybe it doesn't matter much because such kind of trace could only
> be triggered by the hardware domain anyway, and it has plenty of other
> ways to mess with Xen.

Preferably we should get things to use proper locking. If that turns out
too hard, properly justified such an exception for Dom0 might be
acceptable.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 08:23:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 08:23:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513684.795051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfGDd-0007T3-Dw; Thu, 23 Mar 2023 08:22:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513684.795051; Thu, 23 Mar 2023 08:22: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 1pfGDd-0007Sw-B1; Thu, 23 Mar 2023 08:22:45 +0000
Received: by outflank-mailman (input) for mailman id 513684;
 Thu, 23 Mar 2023 08: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=fJyN=7P=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfGDb-0007Sq-UL
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 08:22:43 +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 e05a3e1b-c953-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 09:22:41 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8236.eurprd04.prod.outlook.com (2603:10a6:10:245::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 08:22:36 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 08:22: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: e05a3e1b-c953-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AzKUtBgsP8oZyY1NdnZMG9w6szom5UQnaeShIB/jUbPyIYrTt0GrNGwQStshXw+eWFVqubTposJOGNBNUEg1KF3/gtkLCPixVzbqB+kxDw5P4lNAv05kyDRJafg95tXXOhXc9/X2ey3kaYpRHTWPsNvNYFhZfdI/dz10dnAsCSMfZIqNiTrLid/IODnfEUo6kg4u7/Eflj+g2Wmw4/3koN9ZQCYTCwlbBSLmUiC37TcXpoZDq8Zx/DwrnQghyekBNJ6pxgHmDRoMb6ISQ0UL08RsQTlAcoPwx9PVkEDD8VMffGh/tmVRPm1h9z9IMtaC+8zaI6bZir1IbuDf/8/61A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uSvYwoib5DH5FKwteqcEQP7Khci2CxcJFttYEbLgq3M=;
 b=L6uxtKOaP7M8jY40J7qrBaIKLEj347pr5QFliBuV1GbKJrEVIIM2WIavQ9FYiJb/1CVPmitvKdq3hCnsmjSOcDo9jxgJuy///9WVrZfil2GyDVBcjyyUF6r+PEz/Ts6vMYqAPtvPXoaCVALLSbMoZElGHJwbi5X21leGHY8OxrzqtaVjcbXUoYBsPhqt+zJbpUeWkBNnjRsWm5FBHHzAEVY0tcV15ECBWWba888BxbLyJvkf49QXn6QYMGNJuMzNs2wCcjTWsvujIPvVyrRbRs8vmeVQGXTP0oCBU/D4UcrkmUHmUvLtme5p3fGMbi07yE6WQ2FruZiawRLAhbAmIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uSvYwoib5DH5FKwteqcEQP7Khci2CxcJFttYEbLgq3M=;
 b=QpLrIrfoKdtRCZNYhjnivgclAjLA0GKcqgePTUj3HYSNy5NgBNx9y17ATV2Ak90cmSKnA7dKo9aQV9GaT8tQYOmixgPp+xp4tcYJkKBc+96PUDkGb5edhEOZjSbJyG5NjMcqOKtNYQnSMHSMqSeVD9rtahp3dPd6W+TYVE+RFrSgvwltW5K439d2trUP3ROMtq1UyMvcD+F0EH8LKdg6vmr7d8hMCbnRptqAscPwSGcVu8xE/fp4Kh96n3NsgBfpmnRa4GWj31/vKPTQXmBrkuon7ZsG+wV9GWjjveLvSwjn5BKP5qesJDJmz+tMmSswSjHahE3PwtaJOCw18sajvQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <49127a0f-ad21-a3ef-f096-d0f41f99aca4@suse.com>
Date: Thu, 23 Mar 2023 09:22:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2] IOMMU/VT-d: Fix iommu=no-igfx if the IOMMU scope
 contains phantom device
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: "Tian, Kevin" <kevin.tian@intel.com>,
 "Marczykowski, Marek" <marmarek@invisiblethingslab.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230314013221.124930-1-marmarek@invisiblethingslab.com>
 <BN9PR11MB5276832A2E3F31FB7695D0098CBE9@BN9PR11MB5276.namprd11.prod.outlook.com>
 <3242c56a-7a95-4fe3-3195-bf25738da351@suse.com>
In-Reply-To: <3242c56a-7a95-4fe3-3195-bf25738da351@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0061.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8236:EE_
X-MS-Office365-Filtering-Correlation-Id: 429d73cb-29ff-4c8a-6f29-08db2b77c1f4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	isgLIeL2bEvBQTA+q+9K68dZGT3UAZp0EOvrq2ej2fPvgqGR6g2/m9NOVOXQ1LZ3qLRp5t+nOwDbLilDxQ3oeTlDNu3cDK3WU1K2/+Fh75CGvFJo9ouKP4T4YutkOPy7uQXkHlOsb91U8AGAcZp/TDm6iX90FXRUkCmXmdp9VBuqV0K/41THiA+y/uQQYXADFtX27+vTVm8mGngy4YbQME4va8zRKfuArLZTIYkakyTk35hTv7QeycC2odJwuyvaRvNdPcRQVB0G2BWCM4zsiNjjM8xuPoI8DAdHdNnccPVt0Ghk5HZ+nQSNUxylKgAIt9hJOsDPS8ubYY9Hk5Fz3/B1B6n+HcpCcSz+cDS6lstE2jBulnjbk9uWZfZj+Q36TIUYb6w1tPAww1sI/cxK6F06TX9rfWPogINcSRhIf9JJgflwjkH9Nwynp4lHcJhnrBXY589Rh7hc6T2T4lEdIHR1aZ5itgm4G5kFzPTdMuR88RE/JKRJ2NOCryVO4K0CZ+izV4eugiuAtA7fKTnXSdSeCL1C+boCbBHECV15INel1i1QD1X7FP7cwCQeIQAU7J5rVsoAxjIc213GmTl69vHZbUZ4SKt2YOQqm4406uHZdTdIDZqgHsU6j6blf/aasXzhQvFLJk6u6IvTemKj0Jn5VuU8nSzf+icajQvHawxa/oLZNUwsJn2OOY2ur6/FMxlcKwtyfosA8I1U1ERT00stgftnqO3zA7mS7HZfamE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(346002)(396003)(376002)(39860400002)(366004)(451199018)(4326008)(66946007)(2616005)(66556008)(66476007)(8676002)(86362001)(31696002)(478600001)(6486002)(31686004)(41300700001)(8936002)(53546011)(5660300002)(36756003)(26005)(6506007)(6512007)(316002)(110136005)(38100700002)(186003)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c0xycDZSbjJsbTN3L3l1dlNVWnNjTlg4cElZaGU0ZGtZREFTdkVOUGJrMVFF?=
 =?utf-8?B?SkdoaVdHQVR2TUZPWjJnZSsyREk4RE5mdThoUlRyYUY2dmlVR0N2eUIzTXRG?=
 =?utf-8?B?L3IrWmFibXZvZ0tRZlVnbFd0K3VIV0loa0ltdWVjdnJ3alpUMkVxcG1iajVl?=
 =?utf-8?B?cUNBRkxlRDNaRlRyZHlzOVRrZis0dWRINVU2MHBZVFdJWjFOQU1RREFEckp5?=
 =?utf-8?B?NTcxR2g3c0VQUml5bGkxOWxTSlNGUU5rOFRhUUhLeW1lQVVBTnRQMmd2L2c1?=
 =?utf-8?B?SVc5c3pTNlk4TG9rNXdkMENyaWxDb1ppcmx5czdIdDBsUFBsZUVqbmdzZHhW?=
 =?utf-8?B?eTJST01VZVdKNG1RdXJJcTUrNkx6RE9ZRG5qTVVhWXN6RGJtNmpmOUtodkxF?=
 =?utf-8?B?UEtxdFpocWhIdG5EekltQk5la3h0R0hMTFhlWlFjOWliTFJZRmp5T3cxZTMx?=
 =?utf-8?B?UHkyVVRhQ3NhYzZYQllhQnY2Vk1HcW04UEZpcTIvVHRBQUhaTDk4Nm1TV1ls?=
 =?utf-8?B?TTM4RFFHMENNTnlWS3hyNDdvc0JBZ0pldCtHRHJyamNpcEhSRURickpxWXlm?=
 =?utf-8?B?NlRLUVUrL3B3V2V0MW4rNUdpTDQ2dGFHdUpvaHVaUHBDT2xaUVMzbU5aU0tn?=
 =?utf-8?B?M3lVRW0xZU03cVFnaWlxMVJUTzdJRS82MUU1RlY2S0V1NnY3WVlqcWYwb20w?=
 =?utf-8?B?dEUrbTNkWm42OTNwd1k0RGcwSnYzUUJzbWo3N0xlK1pDTzBIeG1uaWNPS1JN?=
 =?utf-8?B?YS8wTmR4QURONVlSS2M2Z2lHTENtcVNhNEYvVjR1NTJxeTl3ajN0NUJXVzhw?=
 =?utf-8?B?NktrUWFIU0JJSTZtSk8weW5XRU5USmNlSy9seDNEN2JKc3FMZHJVNVNDRTlY?=
 =?utf-8?B?Z2hEdHBMY1dlUFdqWnZyV0J5UUphK0Vybm5JS0l6UXFGdjk3WDI4eUxveFBW?=
 =?utf-8?B?bS9tTFRheGFPdVF3Y3U1TjIvZC9mQWw1WGtMZERLa0NXRWxRbkhxRjVBTExy?=
 =?utf-8?B?RnlFY3pZb0xPS0J6ajYwTlg1NzZrZHpTRkFFN3lIVUxqaGpRUzNLQWlZc1B5?=
 =?utf-8?B?aFlmdjhBOWhSbTFkRmJNTmdlZUpTTkpNRDZBMTRQSVVxcmNXZmxybm5rRWNi?=
 =?utf-8?B?ZzczR1lteEVxQllIaG9pYk9rTmJ2RjcxU2xKNlo3SDdQWHNzRHpJbDBzMHhJ?=
 =?utf-8?B?SllSc2ljNS9KR3lQb08veGRkUmdQUzdHeGwyUi9NbVlONU5uL0V3QW1IRUVP?=
 =?utf-8?B?VXJZbFRNVFhLejhKR043Vzc4Nk50bStzS0lMdFRNTGdGK0t4MmhwdGM0anIw?=
 =?utf-8?B?NStQbzBocU5ZM2VtbGIrM2dLQjBqVzZSL3M1RUdNbXA5cEdxMXFoV0VFZ2lq?=
 =?utf-8?B?QzNVZFFzWERXU2YvUzc5djlIWWRHUG4zUHJiT2hwNHdIZktZaGNZWDZSbXAw?=
 =?utf-8?B?RDRTVVlMQUxFN1BGRStEbklzbnpzcDljRCtkQXZPV1laNXRNbloxL2R5YXo4?=
 =?utf-8?B?WGdOU3o3eURUQkNIZ3lta2k4Y3JROE1OVDVNMStkckYzb205TStEb2xwLzBm?=
 =?utf-8?B?TEoxcjdiQ1VPY1hQQlo3UUJhQklZb0FEZVlTNG0xM2QyZDRyekxMckpIRW8v?=
 =?utf-8?B?TWZnbjRwdHFxN0NiMGMxb3NYai82bVA2bFlXVTdlZURPajFzSURhTWJ5amY5?=
 =?utf-8?B?MUlKWXlFeThqK1lhNDBWT2pKaWJ2dmFSaWxCRzFaaWlKbURVNkRRSk00Wkw4?=
 =?utf-8?B?MDVUVlN0eHcvR2ZvOWdXSGZtRXdCdE81cHhWajNKQlMwTkR3a0Y1bXlPTXdX?=
 =?utf-8?B?N1dNM3lkTkFhWVV3cTVLdERTVFFpcWRobHU3c096c1RsblA4SWNwd0d1TGZP?=
 =?utf-8?B?ckdwa3Vnc0Z5MlRLS01LNFpZUEQ4ZFVyRXd2VGVIUFpwaWNOaC95c3U0V2dq?=
 =?utf-8?B?bTlhNllwOFY0OFVuUFh3RDlrM0svdHVpdDVHVisyMGx6Q2VuY2lEYlp0eHdq?=
 =?utf-8?B?ZUtRdXNIdldrL3EwQmdabUFNZ050SnRXcmJuSW1OSmlCWW9jd3NtQktsa1FO?=
 =?utf-8?B?czk0Tjl0eHh0MWw1Q1grNlJvcHlnRXVmSkE5TktkODRqdXNIZDU4TlNiTTNL?=
 =?utf-8?Q?E6R+SXqXq7xK75AkpZDBFVxxs?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 429d73cb-29ff-4c8a-6f29-08db2b77c1f4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 08:22:36.0212
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XVEfkcSa2QV18WDCp5L8UKNS35NEYtGBq5OmwyuD11YjjGsc6DxsaQ4gXp4atp06/R+e1GW/3zmPp/3SUCgo7Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8236

On 14.03.2023 11:24, Jan Beulich wrote:
> On 14.03.2023 02:50, Tian, Kevin wrote:
>>> From: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
>>> Sent: Tuesday, March 14, 2023 9:32 AM
>>>
>>> If the scope for IGD's IOMMU contains additional device that doesn't
>>> actually exist, iommu=no-igfx would not disable that IOMMU. In this
>>> particular case (Thinkpad x230) it included
>>> 00:02.1, but there is no such device on this platform.
>>> Consider only existing devices for "gfx only" check.
>>>
>>> Fixes: 2d7f191b392e ("VT-d: generalize and correct "iommu=no-igfx"
>>> handling")
>>> Signed-off-by: Marek Marczykowski-Górecki
>>> <marmarek@invisiblethingslab.com>
>>
>> this should be rebased on top of Jan's patch.
> 
> Right - I guess I could take care of that while applying. But I wonder
> whether the description wouldn't then want adjusting some as well. Or
> wait, with the v2 change it should actually have been adjusted already,
> as the igd_drhd_address determination is now (intentionally) also
> affected.

Since it wasn't clear if/when a v3 would appear, I've done the adjustments
myself even if originally I didn't mean to. I've also adjusted the title a
little, first and foremost to replace "phantom device" (which has an
entirely different meaning in PCI).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 09:09:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 09:09:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513690.795068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfGwX-0004iU-3T; Thu, 23 Mar 2023 09:09:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513690.795068; Thu, 23 Mar 2023 09:09: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 1pfGwW-0004iN-Ub; Thu, 23 Mar 2023 09:09:08 +0000
Received: by outflank-mailman (input) for mailman id 513690;
 Thu, 23 Mar 2023 09:09: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=d8pY=7P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfGwV-0004eG-Io
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 09:09:07 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a7a3c6e-c95a-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 10: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-out2.suse.de (Postfix) with ESMTPS id A45AD5BF35;
 Thu, 23 Mar 2023 09:09: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 9F74D13596;
 Thu, 23 Mar 2023 09:09:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id z7SVJS0XHGT9OwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 23 Mar 2023 09:09: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: 5a7a3c6e-c95a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679562541; 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=uxRmcjJb2cS7ZT5n5WQ4reqwUztrWOhzU1vzO1C7A6Q=;
	b=cL5Eg0U818v6l8QaHGzKrm412D7RfkQWCFckmMgV6hpoWzdRACm8HcKmtNn+72anUxytep
	hOMc6nxsyIH6Kh4+z7fT9/5TpSIJXKiOJLEjmapwXQwqmLZagv6TlUcozK/c99QHy6EEes
	HK141F7KFJwPRgLojXfqwUdh8h6fHig=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v5 0/5] tools: use xen-tools/libs.h for common definitions
Date: Thu, 23 Mar 2023 10:08:54 +0100
Message-Id: <20230323090859.25240-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are some macros defined multiple times in tools. Use only
a single header file for defining those macros and drop the copies,
or use stddef.h for offsetof().

V2:
- add patch 1 (Andrew Cooper)

V3:
- address comments

V4:
- patch 1 of V3 already applied
- new patches 3-5

V5:
- swap patches 1 and 2 in order to avoid build error

Juergen Gross (5):
  tools: get rid of additional min() and max() definitions
  tools: add container_of() macro to xen-tools/common-macros.h
  tools/hvmloader: remove private offsetof() definition
  tools/libfsimage: remove private offsetof() definition
  tools/libs/vchan: remove private offsetof() definition

 tools/firmware/hvmloader/util.h         | 11 ++---------
 tools/include/xen-tools/common-macros.h |  5 +++++
 tools/libfsimage/xfs/fsys_xfs.c         |  4 +---
 tools/libs/vchan/init.c                 |  8 ++------
 tools/tests/vpci/Makefile               |  2 +-
 tools/tests/vpci/emul.h                 | 22 +---------------------
 tools/tests/x86_emulator/x86-emulate.h  |  5 -----
 tools/xenstore/list.h                   |  6 ++----
 8 files changed, 14 insertions(+), 49 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 09:09:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 09:09:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513691.795076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfGwY-0004xw-8t; Thu, 23 Mar 2023 09:09:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513691.795076; Thu, 23 Mar 2023 09:09: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 1pfGwY-0004xp-6N; Thu, 23 Mar 2023 09:09:10 +0000
Received: by outflank-mailman (input) for mailman id 513691;
 Thu, 23 Mar 2023 09:09: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=d8pY=7P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfGwW-0004iI-Ss
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 09:09:08 +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 5dc64794-c95a-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 10:09: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 4B4125BF35;
 Thu, 23 Mar 2023 09:09: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 46A5D13596;
 Thu, 23 Mar 2023 09:09:07 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id siHQDzMXHGQQPAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 23 Mar 2023 09:09: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: 5dc64794-c95a-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679562547; 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=tK/VfAs+HwoOwyc0XN0NF5mz6F3pkkpHh5nlaBVfidg=;
	b=Hm273TDuSugT/TtFetQzGJarVQ+BKeW4zz6s1JRyY7TPhjcaW5j/rMZhlXAfH8zbtU3yEm
	HZLXkc7J4C5UEw4X3rlWKyUjvqnGThunj+dMaocQFhi0VTQ5nvCBPMLyYn3edQyomeoYH3
	QuFwP5066gzD19Nvd9f2aBBmDLKm8Fc=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v5 1/5] tools: get rid of additional min() and max() definitions
Date: Thu, 23 Mar 2023 10:08:55 +0100
Message-Id: <20230323090859.25240-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230323090859.25240-1-jgross@suse.com>
References: <20230323090859.25240-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Defining min(), min_t(), max() and max_t() at other places than
xen-tools/common-macros.h isn't needed, as the definitions in said
header can be used instead.

Same applies to BUILD_BUG_ON() in hvmloader.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V5:
- change patch sequence
---
 tools/firmware/hvmloader/util.h |  8 ++------
 tools/libs/vchan/init.c         |  3 +--
 tools/tests/vpci/Makefile       |  2 +-
 tools/tests/vpci/emul.h         | 18 ++----------------
 4 files changed, 6 insertions(+), 25 deletions(-)

diff --git a/tools/firmware/hvmloader/util.h b/tools/firmware/hvmloader/util.h
index 8d95eab28a..e04990ee97 100644
--- a/tools/firmware/hvmloader/util.h
+++ b/tools/firmware/hvmloader/util.h
@@ -9,6 +9,8 @@
 #include <xen/hvm/hvm_info_table.h>
 #include "e820.h"
 
+#include <xen-tools/common-macros.h>
+
 /* Request un-prefixed values from errno.h. */
 #define XEN_ERRNO(name, value) name = value,
 enum {
@@ -41,12 +43,6 @@ void __assert_failed(const char *assertion, const char *file, int line)
 void __bug(const char *file, int line) __attribute__((noreturn));
 #define BUG() __bug(__FILE__, __LINE__)
 #define BUG_ON(p) do { if (p) BUG(); } while (0)
-#define BUILD_BUG_ON(p) ((void)sizeof(char[1 - 2 * !!(p)]))
-
-#define min_t(type,x,y) \
-        ({ type __x = (x); type __y = (y); __x < __y ? __x: __y; })
-#define max_t(type,x,y) \
-        ({ type __x = (x); type __y = (y); __x > __y ? __x: __y; })
 
 #define MB(mb) (mb##ULL << 20)
 #define GB(gb) (gb##ULL << 30)
diff --git a/tools/libs/vchan/init.c b/tools/libs/vchan/init.c
index 9195bd3b98..021e1f29e1 100644
--- a/tools/libs/vchan/init.c
+++ b/tools/libs/vchan/init.c
@@ -45,6 +45,7 @@
 #include <xen/sys/gntalloc.h>
 #include <xen/sys/gntdev.h>
 #include <libxenvchan.h>
+#include <xen-tools/common-macros.h>
 
 #include "vchan.h"
 
@@ -72,8 +73,6 @@
 #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
 #endif
 
-#define max(a,b) ((a > b) ? a : b)
-
 static int init_gnt_srv(struct libxenvchan *ctrl, int domain)
 {
 	int pages_left = ctrl->read.order >= PAGE_SHIFT ? 1 << (ctrl->read.order - PAGE_SHIFT) : 0;
diff --git a/tools/tests/vpci/Makefile b/tools/tests/vpci/Makefile
index 5075bc2be2..62f21f341a 100644
--- a/tools/tests/vpci/Makefile
+++ b/tools/tests/vpci/Makefile
@@ -11,7 +11,7 @@ run: $(TARGET)
 	./$(TARGET)
 
 $(TARGET): vpci.c vpci.h list.h main.c emul.h
-	$(HOSTCC) -g -o $@ vpci.c main.c
+	$(HOSTCC) $(CFLAGS_xeninclude) -g -o $@ vpci.c main.c
 
 .PHONY: clean
 clean:
diff --git a/tools/tests/vpci/emul.h b/tools/tests/vpci/emul.h
index f03e3a56d1..d26e00b9d7 100644
--- a/tools/tests/vpci/emul.h
+++ b/tools/tests/vpci/emul.h
@@ -27,6 +27,8 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include <xen-tools/common-macros.h>
+
 #define container_of(ptr, type, member) ({                      \
         typeof(((type *)0)->member) *mptr = (ptr);              \
                                                                 \
@@ -110,22 +112,6 @@ typedef union {
 #define BUG() assert(0)
 #define ASSERT_UNREACHABLE() assert(0)
 
-#define min(x, y) ({                    \
-        const typeof(x) tx = (x);       \
-        const typeof(y) ty = (y);       \
-                                        \
-        (void) (&tx == &ty);            \
-        tx < ty ? tx : ty;              \
-})
-
-#define max(x, y) ({                    \
-        const typeof(x) tx = (x);       \
-        const typeof(y) ty = (y);       \
-                                        \
-        (void) (&tx == &ty);            \
-        tx > ty ? tx : ty;              \
-})
-
 #endif
 
 /*
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 09:09:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 09:09:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513692.795087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfGwd-0005GF-I8; Thu, 23 Mar 2023 09:09:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513692.795087; Thu, 23 Mar 2023 09:09: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 1pfGwd-0005G8-Eb; Thu, 23 Mar 2023 09:09:15 +0000
Received: by outflank-mailman (input) for mailman id 513692;
 Thu, 23 Mar 2023 09:09: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=d8pY=7P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfGwb-0004iI-R1
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 09:09: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 611f92b4-c95a-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 10:09: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 E3ED15C086;
 Thu, 23 Mar 2023 09:09: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 DB13713596;
 Thu, 23 Mar 2023 09:09:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 5jQjNDgXHGQbPAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 23 Mar 2023 09:09: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: 611f92b4-c95a-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679562553; 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=NkU+UmJXMS1mAOT7n+HbFjDZMmGhTQh5NhcqjvLW5Rs=;
	b=DBNNT18yqkg5poH1g6gdwVoHcdxb7d824Q2VsU575k/HLFsfW5KGepgYQiPPjEhSUD6Y6Y
	TwFCp5m1UFBH/pkV8cP+7DTdKFyQWxn4tjsRVRBr4hd0mczbybo+N18drzn+9B9osK/rG2
	4W1XfNrYl3AMWWR0OJneSRpvUX9vxzg=
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>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v5 2/5] tools: add container_of() macro to xen-tools/common-macros.h
Date: Thu, 23 Mar 2023 10:08:56 +0100
Message-Id: <20230323090859.25240-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230323090859.25240-1-jgross@suse.com>
References: <20230323090859.25240-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of having 4 identical copies of the definition of a
container_of() macro in different tools header files, add that macro
to xen-tools/common-macros.h and use that instead.

Delete the other copies of that macro.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
V5:
- change patch sequence
- use offsetof() definition from tools/tests/x86_emulator/x86-emulate.h
  as template (Jan Beulich)
---
 tools/include/xen-tools/common-macros.h | 5 +++++
 tools/tests/vpci/emul.h                 | 6 ------
 tools/tests/x86_emulator/x86-emulate.h  | 5 -----
 tools/xenstore/list.h                   | 6 ++----
 4 files changed, 7 insertions(+), 15 deletions(-)

diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h
index a372b9ecf2..76b55bf620 100644
--- a/tools/include/xen-tools/common-macros.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -76,4 +76,9 @@
 #define __must_check __attribute__((__warn_unused_result__))
 #endif
 
+#define container_of(ptr, type, member) ({              \
+    typeof(((type *)0)->member) *mptr__ = (ptr);        \
+    (type *)((char *)mptr__ - offsetof(type, member));  \
+})
+
 #endif	/* __XEN_TOOLS_COMMON_MACROS__ */
diff --git a/tools/tests/vpci/emul.h b/tools/tests/vpci/emul.h
index d26e00b9d7..8c5bcadd5f 100644
--- a/tools/tests/vpci/emul.h
+++ b/tools/tests/vpci/emul.h
@@ -29,12 +29,6 @@
 
 #include <xen-tools/common-macros.h>
 
-#define container_of(ptr, type, member) ({                      \
-        typeof(((type *)0)->member) *mptr = (ptr);              \
-                                                                \
-        (type *)((char *)mptr - offsetof(type, member));        \
-})
-
 #define smp_wmb()
 #define prefetch(x) __builtin_prefetch(x)
 #define ASSERT(x) assert(x)
diff --git a/tools/tests/x86_emulator/x86-emulate.h b/tools/tests/x86_emulator/x86-emulate.h
index 46d4e43cea..1af986f78d 100644
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -56,11 +56,6 @@
 
 #define cf_check /* No Control Flow Integriy checking */
 
-#define container_of(ptr, type, member) ({             \
-    typeof(((type *)0)->member) *mptr__ = (ptr);       \
-    (type *)((char *)mptr__ - offsetof(type, member)); \
-})
-
 #define AC_(n,t) (n##t)
 #define _AC(n,t) AC_(n,t)
 
diff --git a/tools/xenstore/list.h b/tools/xenstore/list.h
index b17d13e0ec..a464a38b61 100644
--- a/tools/xenstore/list.h
+++ b/tools/xenstore/list.h
@@ -3,6 +3,8 @@
 /* Taken from Linux kernel code, but de-kernelized for userspace. */
 #include <stddef.h>
 
+#include <xen-tools/common-macros.h>
+
 #undef LIST_HEAD_INIT
 #undef LIST_HEAD
 #undef INIT_LIST_HEAD
@@ -15,10 +17,6 @@
 #define LIST_POISON1  ((void *) 0x00100100)
 #define LIST_POISON2  ((void *) 0x00200200)
 
-#define container_of(ptr, type, member) ({			\
-        typeof( ((type *)0)->member ) *__mptr = (ptr);	\
-        (type *)( (char *)__mptr - offsetof(type,member) );})
-
 /*
  * Simple doubly linked list implementation.
  *
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 09:09:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 09:09:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513693.795096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfGwi-0005ZE-RX; Thu, 23 Mar 2023 09:09:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513693.795096; Thu, 23 Mar 2023 09:09: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 1pfGwi-0005Z7-OV; Thu, 23 Mar 2023 09:09:20 +0000
Received: by outflank-mailman (input) for mailman id 513693;
 Thu, 23 Mar 2023 09:09: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=d8pY=7P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfGwh-0004iI-Nn
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 09:09: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 6481d08e-c95a-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 10: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-out1.suse.de (Postfix) with ESMTPS id C90CE3421D;
 Thu, 23 Mar 2023 09:09: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 8520613596;
 Thu, 23 Mar 2023 09:09:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 33UrHz4XHGQ3PAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 23 Mar 2023 09:09: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: 6481d08e-c95a-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679562558; 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=KekcHDT8sTSNNg7lix6UgmDeCEWrsQjl0v8SorJ5R/A=;
	b=Zp/dpWSG6EYHkJVo9Url9+pkD5mzSEclEQp9bZMBvBpSFGs5R7MQPXrIbvzLb27NpZbxnh
	qe1soVQZuupx2i+eqP7HjGmXcQSR/zpqT7Zk2Xw1lDo2h2OnS0zp3lnBA/EDDGRLW8chhu
	eUmRGfHqcWBblDnmtoFJ0iN+UsT36dM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: 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>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v5 3/5] tools/hvmloader: remove private offsetof() definition
Date: Thu, 23 Mar 2023 10:08:57 +0100
Message-Id: <20230323090859.25240-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230323090859.25240-1-jgross@suse.com>
References: <20230323090859.25240-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

util.h contains a definition of offsetof(), which isn't used.

Remove it.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
V4:
- new patch
---
 tools/firmware/hvmloader/util.h | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/tools/firmware/hvmloader/util.h b/tools/firmware/hvmloader/util.h
index e04990ee97..7249773eeb 100644
--- a/tools/firmware/hvmloader/util.h
+++ b/tools/firmware/hvmloader/util.h
@@ -30,9 +30,6 @@ enum {
 #define SEL_DATA32          0x0020
 #define SEL_CODE64          0x0028
 
-#undef offsetof
-#define offsetof(t, m) ((unsigned long)&((t *)0)->m)
-
 #undef NULL
 #define NULL ((void*)0)
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 09:09:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 09:09:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513694.795107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfGwq-0005x9-Ck; Thu, 23 Mar 2023 09:09:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513694.795107; Thu, 23 Mar 2023 09: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 1pfGwq-0005x0-6s; Thu, 23 Mar 2023 09:09:28 +0000
Received: by outflank-mailman (input) for mailman id 513694;
 Thu, 23 Mar 2023 09:09: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=d8pY=7P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfGwo-0004eG-4H
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 09:09:26 +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 67d4d568-c95a-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 10:09: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 2C6541FE54;
 Thu, 23 Mar 2023 09:09: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 3B4A613596;
 Thu, 23 Mar 2023 09:09:24 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0XJDDUQXHGRKPAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 23 Mar 2023 09: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: 67d4d568-c95a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679562564; 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=afC9LuDOI4S1LmIJPeS//2B8HX3QZZNvVY/3xGApvhI=;
	b=CdSL9jCe442uhJD96ljIEIaqVWzWUxhs69dU3Liv7jqnLJUuqM7jqzyTmk1HjvlpPPWLjV
	g3jsA5ITP69UJoaj4Kzp/obmkr6TojwUJF074EcYJcBsLU/W6gy4qfFXfi+9SZvynXREvK
	weMP7Y3TVBMGXpl4+ngcXKg57NzoVXI=
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 v5 4/5] tools/libfsimage: remove private offsetof() definition
Date: Thu, 23 Mar 2023 10:08:58 +0100
Message-Id: <20230323090859.25240-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230323090859.25240-1-jgross@suse.com>
References: <20230323090859.25240-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

xfs/fsys_xfs.c is defining offsetof privately. Remove that definition
and just use stddef.h instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V4:
- new patch
---
 tools/libfsimage/xfs/fsys_xfs.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/tools/libfsimage/xfs/fsys_xfs.c b/tools/libfsimage/xfs/fsys_xfs.c
index d735a88e55..b8b4ca928c 100644
--- a/tools/libfsimage/xfs/fsys_xfs.c
+++ b/tools/libfsimage/xfs/fsys_xfs.c
@@ -17,6 +17,7 @@
  *  along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <stddef.h>
 #include <xenfsimage_grub.h>
 #include "xfs.h"
 
@@ -182,9 +183,6 @@ fsb2daddr (xfs_fsblock_t fsbno)
 			 (xfs_agblock_t)(fsbno & mask32lo(xfs.agblklog)));
 }
 
-#undef offsetof
-#define offsetof(t,m)	((size_t)&(((t *)0)->m))
-
 static inline int
 btroot_maxrecs (fsi_file_t *ffi)
 {
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 09:09:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 09:09:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513698.795116 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfGwt-0006Iv-Lp; Thu, 23 Mar 2023 09:09:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513698.795116; Thu, 23 Mar 2023 09: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 1pfGwt-0006Ig-HZ; Thu, 23 Mar 2023 09:09:31 +0000
Received: by outflank-mailman (input) for mailman id 513698;
 Thu, 23 Mar 2023 09:09: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=d8pY=7P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfGws-0004iI-J6
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 09:09:30 +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 6b26617f-c95a-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 10:09: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 EC9183421D;
 Thu, 23 Mar 2023 09:09: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 C526413596;
 Thu, 23 Mar 2023 09:09:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 84OtLkkXHGRfPAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 23 Mar 2023 09:09: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: 6b26617f-c95a-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679562569; 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=j3ZkLxPJUvo+zj64n5geObIPSNljnDCOHNBqeqoIUno=;
	b=GELWIzEVwFp9cZyFOHWJwkCjahL80Y0FQcsCu0lFxihPoSnv2gkGlh94yKxI1sfsh18w9H
	zscSzlmh81jKSi/Z9Z8Kfxv6ubzBJmymgZEj1qZqdHvEOc14rE0yfD9GrAg7bJIqZp14oO
	jxpn2s3MfgE8oIDo1Fww6YvRmYhrGyw=
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 v5 5/5] tools/libs/vchan: remove private offsetof() definition
Date: Thu, 23 Mar 2023 10:08:59 +0100
Message-Id: <20230323090859.25240-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230323090859.25240-1-jgross@suse.com>
References: <20230323090859.25240-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

vchan/init.c is defining offsetof privately. Remove that definition
and just use stddef.h instead.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V4:
- new patch
---
 tools/libs/vchan/init.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/tools/libs/vchan/init.c b/tools/libs/vchan/init.c
index 021e1f29e1..a081dd4c9a 100644
--- a/tools/libs/vchan/init.c
+++ b/tools/libs/vchan/init.c
@@ -32,6 +32,7 @@
 #include <sys/mman.h>
 #include <sys/ioctl.h>
 #include <sys/user.h>
+#include <stddef.h>
 #include <stdlib.h>
 #include <stdio.h>
 #include <stdint.h>
@@ -69,10 +70,6 @@
 #define MAX_RING_SHIFT 20
 #define MAX_RING_SIZE (1 << MAX_RING_SHIFT)
 
-#ifndef offsetof
-#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
-#endif
-
 static int init_gnt_srv(struct libxenvchan *ctrl, int domain)
 {
 	int pages_left = ctrl->read.order >= PAGE_SHIFT ? 1 << (ctrl->read.order - PAGE_SHIFT) : 0;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 09:27:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 09:27:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513710.795127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfHEV-0001pe-4U; Thu, 23 Mar 2023 09:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513710.795127; Thu, 23 Mar 2023 09:27:43 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfHEV-0001pX-1U; Thu, 23 Mar 2023 09:27:43 +0000
Received: by outflank-mailman (input) for mailman id 513710;
 Thu, 23 Mar 2023 09:27:42 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfHEU-0001pN-4v; Thu, 23 Mar 2023 09:27:42 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfHEU-0002mu-2e; Thu, 23 Mar 2023 09:27:42 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfHET-0006aD-FK; Thu, 23 Mar 2023 09:27:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfHET-0000vU-Et; Thu, 23 Mar 2023 09:27:41 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uk2YWHqBeIhFtV7m4VcAtopaO+UbGPuNCMfnrfuQ1n0=; b=L7bf/qOE+tMiES7Hc1KBLlwo/M
	OrEpmo//o25IfDyZGAs+bsoReuDCnEmTXQ3+v+7jFgSlCnJG6IOZnZ4c7Qnr/p4sIeNwXK8ti4HDl
	EEoR7t7KVbiqPPtJaQVEioflq2WUxDzQYKK6vJDe0HpPDT/oMMijBMnhu4IMzylNSJf0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179861-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179861: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    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-i386-libvirt-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=743fdb97c81f38adc6e9b55f402244f7982352f4
X-Osstest-Versions-That:
    libvirt=4be3ba0226ec2816ba202e9aac1e4ad049c7e818
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Mar 2023 09:27:41 +0000

flight 179861 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179861/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-i386-libvirt-xsm  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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              743fdb97c81f38adc6e9b55f402244f7982352f4
baseline version:
 libvirt              4be3ba0226ec2816ba202e9aac1e4ad049c7e818

Last test of basis   179829  2023-03-21 04:18:50 Z    2 days
Testing same since   179861  2023-03-22 04:18:51 Z    1 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   4be3ba0226..743fdb97c8  743fdb97c81f38adc6e9b55f402244f7982352f4 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 09:52:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 09:52:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513719.795143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfHbt-0005yq-6T; Thu, 23 Mar 2023 09:51:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513719.795143; Thu, 23 Mar 2023 09:51:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfHbt-0005yj-29; Thu, 23 Mar 2023 09:51:53 +0000
Received: by outflank-mailman (input) for mailman id 513719;
 Thu, 23 Mar 2023 09: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=fJyN=7P=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfHbr-0005yd-V0
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 09:51:52 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0611.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 557557db-c960-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 10:51:50 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS5PR04MB9798.eurprd04.prod.outlook.com (2603:10a6:20b:654::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 09:51:49 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 09:51: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: 557557db-c960-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WwQBLBZFeMwoFo9a6JlsjkwzPv0plLH8NthvpFzOxJSb/P/37d8p527shIVfgos2XwqxfX5wK58up7QmF95wb440ZwijQGBkQMcytpqntUeQGylw9sSkAs+jKpcYytlLKxp+3p1vZmQOemVh7O2szfLogXzRWHnW8eAF8qoxrjx2VBZoyxxhVe2fcQo8PJuQwqB38Qq67JtW8bYDEAFmlWVIpip2V4VPVXfonbnTLXdOrdtcODaHjDhO/zAB8SsY98+MnqveM12S5V/TotUUnKnUHtIbSiGkjWcXuzt21jy9Qod1iweJSCIak6VMe9k3/RRTepxBVqjsCpi4c8Ef7g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/KGgIn7GamyNSJdZob+nuWYdxEnaXOYBTFXobHWb4Ck=;
 b=jcuiv/M2hE1u+gHPoTLcc8iaTO2jjkULxukeW8/YItfth7BuQhWqUZWs1MKGcHpXVrzRt3reF0nOkLPGmJHY7tucQ2lO4t0Yd1JE7qIEppzlIaVIcT5QE4ArvJT673cxAByeqU/BXE0XG9wKMr7LXFxdaJmRmDQORGJpzrUVFu6q0G8DPADGk1fS6M1b2rWkfnPebICNfzHRpcSMhuwNzCI0EIHG/w0conMK9tNRM8CTb+I2sDJNALMdIyqxk1CrJyf/cgC4o6SukYZUIHxF+I8yV6lQRYAMtokFvhxgYU1M3wAXqbfJJmey+rg7bzcgNpG2ON38huO+gwgt+LUIlw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/KGgIn7GamyNSJdZob+nuWYdxEnaXOYBTFXobHWb4Ck=;
 b=3SqV3FjOdG0Kvacwm8V9IG3yahAiI8lWLQDslgnPyVDwQiaV5r1Q17hM4K5wL2nCB2XM/fNeKs8wONfuY6sj6x4u86BUtwxUJBQdMN1UXRYzZfWzLVwSfKwVfULv8sfwn3UfxUAwvyk//k2Jfw6ioGcKCTOfZSWPdCz53NR5QyfHKz9frYjCJF9hLFab/oApJOVptApplHhDgL8RwhSK6mB7u/Jc+hiHGPAv6GlzVPlAYzx9elR3erkpHuDzncm5Pbc452+ZMkZZ8isTTsr+O+jtMkPGhaSK6ZzuNlYlPQotexDuFoHVWTtfD0SKmQeFgV1EIPuWS2S1h8Ta+jKMEA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f569f869-a672-ae02-218f-c8ad24cce2f1@suse.com>
Date: Thu, 23 Mar 2023 10:51:47 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 1/5] tools: get rid of additional min() and max()
 definitions
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230323090859.25240-1-jgross@suse.com>
 <20230323090859.25240-2-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230323090859.25240-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0140.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS5PR04MB9798:EE_
X-MS-Office365-Filtering-Correlation-Id: ccf5743f-5b82-4ebb-964f-08db2b8438a6
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:
	zsREfKVUAG8/O998VrB5m0VITi2YGcq2qR/lHLMYIiposSopa8ZBnhRKm+T8pHktiSGdjHWxTuwon/PN826xlj3Rbgod8ZSKUqwqYu6OtpGnywqShfdXAbQWtn3Bv4b5+uCZS9lOLCt7mXcGcjSHLEA/ITtZOCLAmtFKvPii6qu3oa6nJ6AV9Vck0HUjXjKLSsBK26i64WF/3Nqv9lvm2PURx6REYlULcps0wPd6qPtm4M8xEKpshqFm7SgPdHo+FnhlfV0GawDeXOMS+I5h2SKKLzITSXcvgruCPZPO9d7vL8pFVO8/E0KQPypSAa+2mmYldH8VKO0w/GTvz7GY8VyzH7hSVGm5hvqQWyT3D7MWcAl4EavgL1rAfO8vrTSoNIlziRSTYtJwlEzKlyjdZCngp6ev5co8xzm9CQ+KWqlJ9yWdQrGwEHtqzdkGDqapCqqydHj3F2mw8MH/4O6FG0MXAbhOl+A0qJvTineLPn9/2pKSE0tROE+Qj990ADUBel9TLws7krciq7sCXOGvvG1YXfJ+sgj8yipeji7N4jqlwZeCJfsGuOtY11Dt6/gedYL2sdWkcHQ+MqH38aNOj3tOeF7yrv5gV43Wxf9P6xaabhjI4z3TLR/5Mw9cl1pHzj+WWX1FjOcbHl6pEoY1MrUchQhJNSzNAq+5C0YKLLfa1LA00vNWEnUzI+bDDWUMl5UhotjpW/2/UIIG5N9T2+o5iuIpIRaEwljftPqUFBijSHJMwzWvhECEv+6885+z
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(136003)(346002)(366004)(396003)(376002)(451199018)(8936002)(6862004)(5660300002)(316002)(37006003)(31686004)(86362001)(66946007)(66556008)(66476007)(4326008)(8676002)(6636002)(54906003)(478600001)(41300700001)(4744005)(31696002)(2906002)(6486002)(53546011)(6512007)(6506007)(26005)(38100700002)(186003)(2616005)(36756003)(26583001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TEpZM0dWcC90UWtjWlZoQlcray9Md0p1dGhyUENOSXVndnNENGFBaTk0Mk5m?=
 =?utf-8?B?QVRLQ1RpSE9JcjdKcHVMdjROcmYwNXgrUzVHcW1HZXRIc3o0QWswc1ZiMitH?=
 =?utf-8?B?Tjl2M0hHYlpjS2JWYzJzSlpVTGdSTktuajlkQXhVZXY0ajdROXRLTko4T0VL?=
 =?utf-8?B?S2gvUmhsWGQ2bE9PZmlPMzdsSUJ5M0lEVmFOaFIyVmYvaUs2bkpVdXdNTXYw?=
 =?utf-8?B?d25naDJodVJhYmR2d0MrYWZPK21qWmEwdTJvS091ditrNGpnQkd6enpWTDBJ?=
 =?utf-8?B?ektITmtRQUdkd3REY21SNkFud2wrTDVnejdkN0l0dW9lSUFDUnZmVTl1UHlR?=
 =?utf-8?B?SmhkWWJlaFRBNzF5Tm1oZVFZOURkS3V6di9NYmhpZ1BaWDZFeU9nVld5THRF?=
 =?utf-8?B?TmJLOUdFd2FiaktUeTIzY2M3Y203K3FhVkxyOHQ0bkZCTUNpMmJzaEhTcXJy?=
 =?utf-8?B?SUVnSWZZMW95elJYWVdxbXpBSklvd0NXdEFBZ2JxMXczK2RqTTA1bFErQUJW?=
 =?utf-8?B?UlovVyt4UXkwNzF2OC9NUEg1RW1qc1FlUVRSRUJmb25hWjFvTFJRK0RSSHhK?=
 =?utf-8?B?bzlPM0NpcDE1eG4vUmlmYWYzb2QyWGIzRi9HTGFBNi9wV2JvZ1dJMHRTakNu?=
 =?utf-8?B?ckVFTUFTTi9nbXRkcUttME83TExYeFF0QWhFSjQyME1oQUxQVFAxMlhvbzN3?=
 =?utf-8?B?ZjB1d1I2eFJrUUVQYVZrZlpqZ0NFUWgrOERsVTQ2Tk1RV0lXNlJlMjF3L3JS?=
 =?utf-8?B?bVNSVlhpdDNUWWhHenB5a09tR3dncTNMSHBKd2xJVzhOQXZBaUlJbStNMTN3?=
 =?utf-8?B?eEZjT0VadDFvOHJvdUdoRlFJdmVoVFJ0VVBLcGRuWnlTRmhLOXNkT2JFenQ5?=
 =?utf-8?B?L0psRjI1VVBiUGJpV1VWZEJoYXJQWE41Y1pHdVE5SVFkUnNXK2NwTDJQL1o3?=
 =?utf-8?B?bWdpU0x5VTU4UnRkZ3p6WDNQa0dJNkxYVzFwSW15T0tFblB6OE13Ymp4WnFu?=
 =?utf-8?B?V3hOWTlJNWVSWUJ1VmcyUXdBOHB6VmlpQk92YU04M3hPVTJWZXNKL0NuUmtr?=
 =?utf-8?B?OEJkbEhOMjZqVnF4OHhmRkRFY1ZsaGUycUhJZDMxQkpYOElwNk1SeG5UZWRz?=
 =?utf-8?B?VkV6NXJMeHBxWWdYbU1lb2FtQ2l3MTdCdXNydlVWWEowRHh2czZqRnhaVzh1?=
 =?utf-8?B?anQzTFdJaVpHMGU4SXJSVFN0OHBwektEWll6U3QzeFR0WVJmeUNFQ0ZPSnli?=
 =?utf-8?B?T0dQTitXZzh3TVdJUHFNVDRnNXFhUURnemkvajlIbGdobDVDbjFPOStWMG9L?=
 =?utf-8?B?ZUxyT1pwS3FXNUhlRjd3dnNISEVpZG9tMmJ6bytjUkNnYmNyendIemV6bVBz?=
 =?utf-8?B?ZFVBMEFtWVJ3N2E5QzQxak42eDBVSHlOckswNTNScDNqeHFDRXl3M1dTT3JS?=
 =?utf-8?B?TWI4MTJGWWs3RzZpVmtsR2pCM0Y4cGZKcFNLYmZCNjdGdDVVQU40YkJIR21O?=
 =?utf-8?B?bkRjdlpxWEV1VXJINTZnUjRFUGRibER2TFpCdGNaZTVqZFlDUVpVMFBaSHEw?=
 =?utf-8?B?dncvOEtMNEV1NmwvcWttTEpaZGVseDNleXVRcVJua2REOGFrdHVWa3RBSnds?=
 =?utf-8?B?L1FHYmJxa1BKOEpWRjJGMmZxNktiblAyUUgvUi94dUwyRXZwKzJNb2J1TXJV?=
 =?utf-8?B?Q08rTHFiMUlMTDYzTU96V1ltTEsxU291NC9mSWVTcFo5Sm9vY2dkVTFnOVQx?=
 =?utf-8?B?OEV1Yzcrdk5BNzh2ekpCWTRobG1uZ1JGbU1hMmdDUWkzUG8vY1RzbDB3cGJ4?=
 =?utf-8?B?OW9FeUduTkE0SjhKYzFaNWNzSDNIMnlWa3hDL3BabEREakRMT3laZVY1QlNh?=
 =?utf-8?B?VjhvcVllMWtZaG5LSHR4RDlQcjBLRlVNejkrVlhpLzZiQUNoZGRKQlJDT0lC?=
 =?utf-8?B?a3lHVHhOVFQ5TTVwYmtlNEo4RjFsRkF5T1ZCRnRja21lZmUrM2Z1ZHF4TUZM?=
 =?utf-8?B?Ty85cWxnbEVlMlNHQ0QzVmdTTWNwS25ZNHNpMFUzL3pHYXpQQ0daSUR4L2Fi?=
 =?utf-8?B?ZzlnTklGVjAwVVJxQnFsYjVCMFpMb0VaKytETzRSTHNHTE9vYy94SmNCZWFO?=
 =?utf-8?Q?F2UKKSugh+O9110INO8WvulYS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ccf5743f-5b82-4ebb-964f-08db2b8438a6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 09:51:49.0738
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: je5AGD/mbi9evItQrBkiJ8x7HhLP6AkB/0mpxLqu6yS26SRySd7QLI7EK86uy8P1VzZo+jNhFCIHme5eynIn1Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9798

On 23.03.2023 10:08, Juergen Gross wrote:
> Defining min(), min_t(), max() and max_t() at other places than
> xen-tools/common-macros.h isn't needed, as the definitions in said
> header can be used instead.
> 
> Same applies to BUILD_BUG_ON() in hvmloader.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Thu Mar 23 10:07:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 10:07:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513722.795153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfHqy-0007rZ-HC; Thu, 23 Mar 2023 10:07:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513722.795153; Thu, 23 Mar 2023 10: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 1pfHqy-0007rS-ED; Thu, 23 Mar 2023 10:07:28 +0000
Received: by outflank-mailman (input) for mailman id 513722;
 Thu, 23 Mar 2023 10: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=tIVP=7P=citrix.com=prvs=439b2ffc4=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pfHqw-0007rK-C9
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 10:07: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 7e9c8b82-c962-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 11:07:21 +0100 (CET)
Received: from mail-bn1nam02lp2040.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.40])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 06:07:00 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SA0PR03MB5561.namprd03.prod.outlook.com (2603:10b6:806:bc::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 10:06:58 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Thu, 23 Mar 2023
 10:06: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: 7e9c8b82-c962-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679566041;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=RGxIRGRf/Mp4WvZP2hqPaxWk6ay0l+fhbZmsiwunRZ4=;
  b=WfRfeEpJsxiQi0P03gh5MTDQx0gg1DRYE+5zQS9o12hdhW3DfeLpzQX7
   Le3I46d4psEk7cgf13otY/dn4XJvFFAng9s/YXu6MWyKA6qcvAUW8iQLM
   qnkHpXRBxVAa4ISxJnFxo0gFp6UT0Z4RjEesJwK4hUhfaU0+asWMOq/MB
   g=;
X-IronPort-RemoteIP: 104.47.51.40
X-IronPort-MID: 102410676
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:MhaqeqMfR1r/x1fvrR23lsFynXyQoLVcMsEvi/4bfWQNrUohhTJRy
 GYXD2CEP/+MazD9KYtyYIu3oRlU7Z7QnIdkSwto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5AdmPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0t1eKlhis
 voSFGxXKQqZu9qv5LzjZtA506zPLOGzVG8ekldJ6GmDSNwAGNXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PNxvzC7IA9ZidABNPLPfdOHX4NNl1uwr
 WPa5WXpRBodMbRzzBLcqijw37eRwn2TtIQ6L+Oy1OVzhgCvwUssCj5HU2m6oPS+hRvrMz5YA
 wlOksY0loAw/kG2Stj2XzWjvWWJ+BUbXrJ4A+A8rQ2A1KfQywKYHXQfCC5MbsQ8s807TiBs0
 UWG9+4FHhRqubyRDHibr7GdqGvoPTBPdTNaIygZUQEC/t/v5pkpiQ7CRcpiF6jzicDpHTb3w
 HaBqy1Wa6gvsPPnHp6TpTjv6w9AbLCQEGbZOi2/srqZ0z5E
IronPort-HdrOrdr: A9a23:zqnwmq6uE9R3KIXYlQPXwPfXdLJyesId70hD6qm+c20tTiX4rb
 HXoB1/73XJYVkqKRQdcLy7Scu9qDbnhP1ICOoqXItKPjOW3FdARbsKheDfKn/bexEWndQtsp
 uIHZIObuEYzmIXsS852mSF+hobr+VvOZrHudvj
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="102410676"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=k/2qvdtjq405hSmw8xX10y+XYB/pRBrgUZW6cwak7HrxcpdKlVxUvZkOFQhEPhW0mO/HyMAvelKWX3/6wloicIJRNGID7cyJYuvnZFbj9ozVOkO+uFzHfua8AeU8HmUqpnYYu3eVqd/gEm9gteJjLcYPGtS+HYvOd/BMf0ndzeY4jIzjDi0jSqR7HAoDP7erCbhUI/1jw+LDDTycqmFKtlCvWidtnaV068C+1KHzZMfEw3cm9grJnK3IijLcTMzgwZiFiIu7tODKEkCz+sRkx8Y1s7T0LHoDN76baVvBlOtaKOz0Nz2Pg0jbWBgI4cLmRGRcfLvgWEElsoiUZHeqNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LAKYC68n1DiZSxSGHewFC0uhZ+ZAscd6UiVzbODC32E=;
 b=mRkbfp0QKrNHIuBJkWRi6Q4lQAX/C29DNveDpixR0XdtiULF8exOP0BjbZfb3jqxOFmGTY4a+jZFOyo5tpCEse07hMzlc8K5pJa2t33LboerGXJYU8f1usHdZvDeQKExGwsuSJDU/qBNH0UO8WAOd/hy95NhFNU2ApjFsKhHPy/M6b69BEcjJ/1SfM1yAc6S6G22ACYl2IIHf89SiRNZiO4UuLFvtw/B3NzRYb8xPd76P320I1xXgwwxAjDMejiwUfIzOPDVArx3gtaXHzzeHPTEw8h8+AdKb3OkFywkXyGQhBLsBx1Guq0DCkqASv0dX7Hs5DdC75QmGKel09l6Jg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LAKYC68n1DiZSxSGHewFC0uhZ+ZAscd6UiVzbODC32E=;
 b=X4eXIFxCIdMDm3tBJ5iRKzbo1C/Y3w+dwh2oKbaL42R+SH8fGOzg4PDWQsk+jcXSqKBlv7kr1y6g0TdjiNKDkQgfrCWfvRZNRnep17+j4/ic1DoJf9gEx87xHJIgun15BLi9oQzgnfpov+1LWluvookDqe2baVqy61muxEA0+Ho=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 23 Mar 2023 11:06:51 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3] vpci/msix: handle accesses adjacent to the MSI-X table
Message-ID: <ZBwku+X6dgqFqdeJ@Air-de-Roger>
References: <20230322143001.66335-1-roger.pau@citrix.com>
 <0a69ba74-71fd-101c-2f06-2cd6ced412b4@suse.com>
 <ZBs1c7ILtkRQOzki@Air-de-Roger>
 <ZBs2BKAfoRap1CjC@Air-de-Roger>
 <d526b87a-374a-8d78-f66f-cf71537790af@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <d526b87a-374a-8d78-f66f-cf71537790af@suse.com>
X-ClientProxiedBy: LO4P123CA0631.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:294::17) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SA0PR03MB5561:EE_
X-MS-Office365-Filtering-Correlation-Id: ef83328e-2ce6-4af8-69e2-08db2b86567c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2hsdUVqmnwfD4lF7aHWAuyW7dqwvRPXAnUtmEj4AZ/hurbatTWVUnzscXKtOGkG6QoJaYgrMkqlXboleTrUtjkJaeYpk2EcR82ltTZDvi4ez7pIvaBNYF/0U++Re7CqHnHyrXrchmvoSLBPxDWSQZznwPE2kwRoAaCdehWejhi52xk+GwO975o5vnW/0QnC3y8effqgiiInfy2WvW3N6pnoPgjzsLlaG/D3YyyLyCPuuZqufjIPbXpOPH0jwNdBV+LTLabvZgrwRqveFOpU836p/YvooWhp9NguxzKxBRcqOkeu2yg8EatxYdeDG6zfV20WxayMLVl80WNju53501CR4O2bHu9SCpCO1+iAGlK7KRGpTqMcWhIlThQCMhX6pwpXexb6K0hbH0R9VDLrCSwSnG+X7ZBziBIVXRGLEQngcFRO88GJUGWAA/gK340I1iyhkKkbXCfh0CB886zc6t5iI0UNfLQxMUEMFLx+J7cBgtR7yTCeLp3EkHp3qZbn7/gSvODIQx5ibY08wz93oukkcHXhBPjZN1TMmeXXP/ZRgTwfokaGehHF32DvzIS0Fiw798BpYSZFpFInP+QEcGdkEGVr7+k+zLNfKVz0jPiX38NeVlfvl0iOo6q0eHEo5FbzigVZ38SmXLlsxl9JDuFIuNfsydngzUy6qJ0CDDBECVYDaOhZ4nVIWTveVbanD
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(366004)(396003)(376002)(39860400002)(346002)(136003)(451199018)(5660300002)(66556008)(8936002)(66946007)(6486002)(316002)(2906002)(8676002)(41300700001)(6916009)(4326008)(478600001)(66476007)(6506007)(6666004)(53546011)(9686003)(26005)(6512007)(186003)(83380400001)(82960400001)(33716001)(86362001)(85182001)(38100700002)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Mk5nSXo3OHdWSHBJbTN0Y2xLMVZsdFRlenRZcDZKTE1jTHdPcVFHRWg2TXI3?=
 =?utf-8?B?SXlVMHJOVTZkcnN3M0EwMHE4Y1RLdFc5V1Q2a091VlJMQXdSMjZHZ0ZnRmdU?=
 =?utf-8?B?UUpTNlo5TFBvUi9JMUdwLzlYMk5mNUhvRzdOb0oxQjlVOGdPOHRraGcwRU5Q?=
 =?utf-8?B?MEhIcllFMVQ3Q2hLOW5rZFdPVjltMzVsME9zK3cxcjh6ZmxXcUZlQnBKOEx6?=
 =?utf-8?B?Qll0QXJ2cnZ5TUpZeWkxNzlyWkUzaVJ5T2FCYVpJemVUZXBSSUhnZFVYU2RZ?=
 =?utf-8?B?ejdUTWtpenkwUVFhUWdUSHY0OHZCU3hoUitTN1hjcDdWVHloL2pQd2xiYm5E?=
 =?utf-8?B?S2RuMEJOQUMzeldFQVNvZlBOcXh6Ynpid3VxanZKMEE1QkZLc3BGTXZlS2pG?=
 =?utf-8?B?Q1FWL2wrTjBvS2N3RElmUHFmZ3lnckhKblR4bjRaY1YveG5kNVJFajZFN3hp?=
 =?utf-8?B?ZjhmTmU4MTFYVDdGUGltMm5qd2czbW5YOWRIcmhzVU1UdHBOazNoeDdiR2My?=
 =?utf-8?B?YXY4QkZTRTVDczJVajJNWnJobVowbWlFSmJDR2kvaGZrSU41WngyRUdvajVv?=
 =?utf-8?B?ZGM1UWk3dENuZUtycHZiS0tweDZkY3RwZitYWHV4RkpCdGdjSGxXSWhENnJ5?=
 =?utf-8?B?amowV01odkVSMnFNNW8vS0s5MkZHR0xjemFVOE40VGJMb3EyUVNVdVdNY2pU?=
 =?utf-8?B?ckNnVWFyejRLd3QrWjdEVjBZYnJhN1R0d0k2cENuQzhOTjQ4aU5wcGZGMnZT?=
 =?utf-8?B?Yjl5YnBETzdmbyszNlRZSFlzMU5xZkJFTlpaYnJUZ1A2RlAyUFBudEVpZ3Zt?=
 =?utf-8?B?emJoYW0zbXZoOUJINFdWY01kbGJTOTRSVEZtUE1qS1hXWDFIK1B0SXBOMVpu?=
 =?utf-8?B?ZjZWcnphbWFzVlc2K08zVDcxdkJYYzV3aml0MTlqY2VHK0pqQXR1Z1BNU05h?=
 =?utf-8?B?QXpFSFFKL3dwTjcrTlNPOHBCZ3czNHhNdkhsNnh6Zzl1Mk85ZGpqRWx3QUR5?=
 =?utf-8?B?K2lvdmhWUWE5UjJuK0JJTWRCZTZGY1pFYTdldEdlTnJYREgxVVU5eTJJVjlz?=
 =?utf-8?B?SmFaZGc3WjdqZjRnMW9qYWYwREswR2QvY2xsUzIyVHpEV3NRYy8wMFdIOTlM?=
 =?utf-8?B?U0RCc1Buby9sb1ZNQUNyeHhQbnpUYmZiZWs4OVZFRzQrcnVxbVl1WmVrTmpN?=
 =?utf-8?B?R1FDVDNzQzhzOTVkRWlZbHFXRit2QWhvcHp3Q3hna0ExR09QWmV6SHhrOFlC?=
 =?utf-8?B?V090YjNnZHB6WEpPSGxCUkZwSjNaS3Q2VU5jajVMbmxLcU5KRVhmeFZaeFhy?=
 =?utf-8?B?N2RTVW9nNGNySmlCVTExbjI1Q3c0aEhNajZORlhBYWlDNFdRV2t0T1Y5SHp1?=
 =?utf-8?B?T2tlUmdwUVkyNkNqYi90MkNIdHA5QTlzVlVWSldWMVl2Zm5BVEpySGRNQm40?=
 =?utf-8?B?M1crSzZGWHFlMEFZUSticTFmQ1B2TkNrMExOWGlUSXB3aFRYZTAvUzhza3dK?=
 =?utf-8?B?NEFEZDZIMjNWa0l2UXZWd0ZvM1paZ1UwSWxZVkdaWkFsRVNwODViRWY5RmM2?=
 =?utf-8?B?V2ZjZTZOWks4ekpQSkNYKzF6Nng0amZSd2hKV1NMUGVXTVVQM1F2em9HL0Y0?=
 =?utf-8?B?L3hkbEM1YjgzdElvUW5mZHY5YkxCclRLUmdxOUk4TXhzZmJGdU9aYW5PYlhI?=
 =?utf-8?B?eXBqRzQvN05ST0tJV25jMkRHc1YzaU9vTTR1NUh5THFrNWo1VlRuZnM2U0Fv?=
 =?utf-8?B?a29YRzU4MmtmdVkzbzBsMUtYT2JTaFBMbFVzMklSZ1dQZnErZmJMeUMxMDM3?=
 =?utf-8?B?V3h5dVZmSmwvMlYvdnZxTytyYU5xQk9KdWlXeXVxL29MRDk5QlZRc2tvSzlZ?=
 =?utf-8?B?eXBYcVc1R1VLUXJzSE5CK2tNYSs0UVpVODdtam9BV081b2ZBTEVIQ0VMb3VU?=
 =?utf-8?B?bzRnYndxVDZ6YVhXQXhYTTkrM3FibzBTNVBwbGJDczEzNEIxVFh2UEt1VC9t?=
 =?utf-8?B?Tm4rMkNrKzlhWUx5cWNjTEVLMWFIOVYyMDE0MnB4OHdpZ3ZxOFUyd2I2ZmZO?=
 =?utf-8?B?L3JxWlk4RVovUU1DbHA5NDlhZmxxVzhWZEh0REk3Qy9PMk9JWTBMWHdwZUVm?=
 =?utf-8?B?NFNxMVlPZkIyTE53U1hyL2V3Ly9KODJOa2NqNWd2NEJqcVlOMUgzZ2hJMzFi?=
 =?utf-8?B?L1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	L20W7VL2rivQQPoTAMnq3BZvByJHbvsOZQkTISPd3/K1TpRgAim/jg47ke6inKt4haNNVSZheG9r45CEhli1YWayL/IhvY3MFa5GH82C0A53DMbB4fDbc0LhdEIoQf6tRk6LVDSPM9j0EHFz+EsuFKym9WzJYa9KS6zV+paNMD5yiLdbYtabVMAEpANxmr+XOYSf88sHG4fj528LfKgSz9+pAq0IpnNfMo8xeiqL8Ixv7NfcQCK4wBOngxHC2STRxKQqabDIH3uO5NyGkjxV7wFkN7Qhv9UqbKPDJTuRIOMF+ySTniUJdvzzxu9raJ04xIcifhiFUfUxLAmtNbHH5nbThmyQVHt7whiwLpk20axD2U0HWWMTem06bgp29gf2tYSZr85kd3EmxnRWbqHm9QA4ldaqd17t8k162oQnHyBPhO+fWd18XwOa81kjYfQlWIPaRc7lTv3HRJP7OWuaByBmVpyUDdjoj094pF3oXv2bb03sB737uzEo8rUeAfdhfjOT0QWJemydw2BH0gX2vomcBPufXKRs+yyhcs7QHHYKoUUlDBpG2XQp3SMss4MOnIZ3VtNowX7MskEG2RdimN9i9YuQ0F8eJyu/E5KJq75LPqR7TVBvi/dxqbP1OHEg2+HZ3V326X65/R0E2bhKFQhDrozC2x2F7ysxvnVnh7+JMhzg5Ipk/ntnOGCGp6oPCxUzhTKqUaU43lbdXPNAkcaNycjgdvIbeQmXXm/b+huScAg3ohUBBp1E6ICAy7lSWH5Bu4DLGKz8rRsA/TERLtuyIlgMqs9Rip1JiHIMb1sksdUVldnflUDIJMlGhjPi
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ef83328e-2ce6-4af8-69e2-08db2b86567c
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 10:06:58.2588
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0bFbBHR7+oeDdbeVdHP2vmJdXCTu1jB0AXwDjL4RISZEhz1IHja77xUvvUc9PWauWpeNOOg8UgqVwK/av5M1eA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5561

On Thu, Mar 23, 2023 at 09:02:31AM +0100, Jan Beulich wrote:
> On 22.03.2023 18:08, Roger Pau Monné wrote:
> > On Wed, Mar 22, 2023 at 06:05:55PM +0100, Roger Pau Monné wrote:
> >> On Wed, Mar 22, 2023 at 04:14:54PM +0100, Jan Beulich wrote:
> >>> On 22.03.2023 15:30, Roger Pau Monne wrote:
> >>>> Changes since v2:
> >>>>  - Slightly adjust VMSIX_ADDR_SAME_PAGE().
> >>>>  - Use IS_ALIGNED and unlikely for the non-aligned access checking.
> >>>>  - Move the check for the page mapped before the aligned one.
> >>>>  - Remove cast of data to uint8_t and instead use a mask in order to
> >>>>    avoid undefined behaviour when shifting.
> >>>>  - Remove Xen maps of the MSIX related regions when memory decoding
> >>>>    for the device is enabled by dom0, in order to purge stale maps.
> >>>
> >>> I'm glad you thought of this. The new code has issues, though:
> >>>
> >>>> @@ -182,93 +187,201 @@ static struct vpci_msix_entry *get_entry(struct vpci_msix *msix,
> >>>>      return &msix->entries[(addr - start) / PCI_MSIX_ENTRY_SIZE];
> >>>>  }
> >>>>  
> >>>> -static void __iomem *get_pba(struct vpci *vpci)
> >>>> +static void __iomem *get_table(struct vpci *vpci, unsigned int slot)
> >>>>  {
> >>>>      struct vpci_msix *msix = vpci->msix;
> >>>>      /*
> >>>> -     * PBA will only be unmapped when the device is deassigned, so access it
> >>>> -     * without holding the vpci lock.
> >>>> +     * Regions will only be unmapped when the device is deassigned, so access
> >>>> +     * them without holding the vpci lock.
> >>>
> >>> The first part of the sentence is now stale, and the second part is in
> >>> conflict ...
> >>>
> >>>> @@ -482,6 +641,26 @@ int vpci_make_msix_hole(const struct pci_dev *pdev)
> >>>>          }
> >>>>      }
> >>>>  
> >>>> +    if ( is_hardware_domain(d) )
> >>>> +    {
> >>>> +        unsigned int i;
> >>>> +
> >>>> +        /*
> >>>> +         * For the hardware domain only remove any hypervisor mappings of the
> >>>> +         * MSIX or PBA related areas, as dom0 is capable of moving the position
> >>>> +         * of the BARs in the host address space.
> >>>> +         *
> >>>> +         * We rely on being called with the vPCI lock held in order to not race
> >>>> +         * with get_table().
> >>>
> >>> ... with what you say (and utilize) here. Furthermore this comment also wants
> >>> clarifying that apply_map() -> modify_decoding() not (afaics) holding the lock
> >>> when calling here is not a problem, as no mapping can exist yet that may need
> >>> tearing down. (I first wondered whether you wouldn't want to assert that the
> >>> lock is being held. You actually could, but only after finding a non-NULL
> >>> table entry.)
> >>
> >> Oh, yes, sorry, I should update those comments.  vpci_make_msix_hole()
> >> gets called before bars[].enabled gets set, so there should be no
> >> users of the mappings at that time because we don't handle accesses
> >> when the BAR is not mapped.
> >>
> >> Not sure whether we should consider an access from when the BAR was
> >> actually enabled by a different thread could still continue while on
> >> another thread the BAR has been disabled and enabled again (and thus
> >> the mapping removed).  It's a theoretical race, so I guess I will look
> >> into making sure we cannot hit it.
> > 
> > Hm, maybe it doesn't matter much because such kind of trace could only
> > be triggered by the hardware domain anyway, and it has plenty of other
> > ways to mess with Xen.
> 
> Preferably we should get things to use proper locking. If that turns out
> too hard, properly justified such an exception for Dom0 might be
> acceptable.

Right, one idea I have would be to use map_pages_to_xen() in
vpci_make_msix_hole() to remap any existing virtual addresses to point
to the new physical addresses, so that there's no unmap.  I think this
would be fine because map_pages_to_xen() does an atomic write of the
PTE, but not sure if it's abusing the interface.  Such remap would
avoid taking the vpci lock for the whole duration of the access.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 10:09:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 10:09:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513728.795163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfHtC-0000Ij-2Z; Thu, 23 Mar 2023 10:09:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513728.795163; Thu, 23 Mar 2023 10:09: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 1pfHtB-0000Ic-VG; Thu, 23 Mar 2023 10:09:45 +0000
Received: by outflank-mailman (input) for mailman id 513728;
 Thu, 23 Mar 2023 10:09: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=fJyN=7P=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfHtA-0000IG-57
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 10:09:44 +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 d4a46e38-c962-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 11:09:43 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8483.eurprd04.prod.outlook.com (2603:10a6:20b:34b::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 10:09:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 10:09: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: d4a46e38-c962-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JtKyuLpAfobRDnzQZwZYCTgfvF+58rWkT+DyFQcnM7ZdqOiPWZt6jBYZ7K7+egTaJ0yQzNuX6E4v6VS+dMs56eir8RjyxX7+G000rdtZEamvuE1Kce3jnveSEXku7BtIl4G/VgMzheBro/4FVXwZH+fCJ/FlKsqyux75swGsihvv53KLEoVoZ3aVD4WlJFq+vH6Q0SwPJ7xClzhU6ZnBswXG/r14696eNpwlL34q7t9QyZNBRRNB7WhEAMgFMpMaGhXvvWXaPDVeeBCa1JU9LR3C810z3fS6Jg94vlVyDPMfsBE2LQ16R+damzakDl4oxaWr+J1eVmJXfLX2W6pDoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qYaUDMdrK2XcXMKL8Bzvq2LZH5YaGZ9OgSxajGMg5qU=;
 b=O8HeSUXhjJdJtV6DfEMjVhVzrYsdjPr4K9Hj8rVrlADp3zyucQ/I+7tPp9MmB7Jc6LgDpQ7dNmQ0saMdXUeZ2mYKvfkRY7JldZdlep0TzX3/6qCsvLqO/2CVNKA3+2DoYphnH4rKH27lQU8tsYbrdCSKBieolTIXe71fxg2+7mjM/f6iUWCPHW6mLzMrJd4qYvZ9KZtGMGKYQVkOTGLYHTQNaIq92W34GITaa3cb2cLGSGJ8QaEbqdSDqWotdqfhtMgzcUzAZ8fgMXdDAS+c/LMvArHhvFrgz2eAlfIZtTMwm8TqKYFcXLETgTcahvjyVCeqbVGFWW2ehoZzwPgr+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=qYaUDMdrK2XcXMKL8Bzvq2LZH5YaGZ9OgSxajGMg5qU=;
 b=E/8em8+5Ba91j3DnZelDuXQcF3+KiGhBcORaDs5wltt/LWpn3ohX1EVx6q705TP362U7Ts++jeNNhzlXX1FpNwm2fw430ZVqUu+CikNmYn0nqrK0kPGgyxyOh8tNL6lMi1IF2LcUtES+2AOMnumbcJM4Tserr+KNmTnDQDqDsXo/OKhK8AWigzfKpAWkxiz/u4NA2UxlGQNxMezmLUil5FwoasUhv7Pg+ZLtaYYxRCnrlAd9z70JCqfYeBhYUYaXwcsrahrcO8zO6r0imnYUWG2YimvAtnYB76KOggSXQr7glGKSILUMi7h09sTx84LyDpCN9/XCahBz0Opvw/+Pig==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3178a474-371c-2dbd-a9d8-f90a6fb4e13c@suse.com>
Date: Thu, 23 Mar 2023 11:09:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 3/5] tools/hvmloader: remove private offsetof()
 definition
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230323090859.25240-1-jgross@suse.com>
 <20230323090859.25240-4-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230323090859.25240-4-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0011.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8483:EE_
X-MS-Office365-Filtering-Correlation-Id: f5cccd1a-913e-4cc5-d147-08db2b86b756
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:
	qWmbaCLAu6YXRzfxetTdseZhp7afiGHSRMrE0oNJwJg0B/DHPiv24eINjcaKXcKaZKgTZxRzbf7GrYDBZzdrM/HxB3f4cXesXx+ggfevcShzkRVtdoCMZPUeEXyvqmWm1BE09d6+qdOIkfqdCETUdDJwA+Y3QyjDV34C98RKIORprzpB9FbSmBZCzT+4QXWXvwie5oHXz3b4biNi+8Uhecryt1aYV2DqDGO7Xq4byQ/QYnDhNf9ujRNm3i8bToTMS61IvaiaqAwQoBZ+4FWTbDbbIYUbmDroR8RPSAFV00hhV7D1rNPmGHofXIqV88lWP8s3+J6lJLET99xNXfZlwf57YtK2PzKQb/tz5OLXx4buNcugCgAo1Y5dgwVNVGclI9L/g3IiYdSFHERDjr5wcbzg+6nKc2xrSlSz39VOuIfmzPeq6NgnlEABEOUz3yS5tIuNGwzdMro9j/0PhDEg70xwaZzoa6izw5Um/nrf3cX7H8W9VE++de1QLo8ikSkpozgxmJuGhwZ/YFbh/hVOiRZriYAW5csqt+fAf114aCWofAanH7eTAFvth9I0IcqEUSUD++uhyAxUXO+Z267KM7yOv5muxu6UbOp1exSafsrfQO+4I241rdG2KdD0WBQjqNYObz4spn1iGKf2AZSutC3P/SgkEkTgAIECDkQHkenlpGqC6xX6NSpEoaaYMS1Pidsho2ONkurs1J9Td6waCsZfwENZ80VDXMT9V6BdhDc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(376002)(136003)(346002)(396003)(451199018)(4326008)(66556008)(66476007)(8676002)(66946007)(37006003)(316002)(6636002)(54906003)(4744005)(5660300002)(41300700001)(8936002)(6862004)(53546011)(26005)(6512007)(6506007)(2616005)(186003)(478600001)(6486002)(86362001)(31696002)(36756003)(38100700002)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ODJDMzJCMDZTN1Y2RFVwdnpQNVh3N0tvZmk2enJXNURqUFRIMVlibGZaWGg0?=
 =?utf-8?B?RXplU0tjZ2h2QUl1YVdZT3E0ZHZqOU8vWDFuaFdBbm9IbmxTdkxBeW5oRVcv?=
 =?utf-8?B?bnFhbk1GTm1tUWVhRkJRb0ROT01VTWNOc0thQ1l2VHlMcnhVdWttNWU3cGtI?=
 =?utf-8?B?dFdzMWs5QnJEN1F2WmUrSDFxbkNJU21UNk1PM3ZvQmNFenZVOGtwZlBJeXpq?=
 =?utf-8?B?endFSkNydlVIcTZXMmhGSlZJdmY5aTBiMzdBVXI2VjNKSGpWdzZaSHkyZkFq?=
 =?utf-8?B?Z3RkUXd5T3pHbDFlMmJQVkVLdzBOemZZb3hwaG56R2pzZ1Y3WVMzS0NMYmdr?=
 =?utf-8?B?VlZMQ243ZG5LUGpiVjdJcm54K0RzVThySGhRZjdvWnJnRERPVVArMmJ3Vno3?=
 =?utf-8?B?bEVMVVN1cVQySlBYUlhGM25LL3VzSCsyNzdaZFM4MzFrYjFZdi9CU3lITXdp?=
 =?utf-8?B?T3dWMlQ2SXBzNWgyczhJT29waGZwV0FLMkU2aDBKWnk0MlVCbDM1YkNtL0s0?=
 =?utf-8?B?Q2RmeWlMVTk2U0hjdmVVcGJEdkc4TzNDTDhsSUpNOVpyZW9JZ0hPc3p4L0ZN?=
 =?utf-8?B?K1hhYm1xUTF3VGRFWVVTOEs3THJTMFZOU3BOY3k0eGNBK3IzS1J0a3dJQVdN?=
 =?utf-8?B?RHgvQjZUUzRRaWxubHlHRENEdTJsWWI4UlMzSWVDaGNLQW1CdW5KcmxJSzNH?=
 =?utf-8?B?bitzMUZvT09nLysrcG9vTE1EVi9TZkY3bW9hdlQ1RE15aFY4bVNNL0VZc0lT?=
 =?utf-8?B?NGg2K1NwN3lyUkFueExYd1lkMFdteWQrUFlCbWdLR1JXUFF3UUdGaTdUU3JG?=
 =?utf-8?B?WkdneUVzelZDL0U2RGkxeXpORFJXOWRyUmE0d2VWRWp1aTREQ0o2bFk5K3ZL?=
 =?utf-8?B?aDlDVVN2ZnhkQzVXd1daNFZoWG05cTRDODlQZEdiSVY4V2k4NGRxR0RuUjAy?=
 =?utf-8?B?VWw0WUR4U3BwQjJ1S2FpVlFhbUs4NnFPdTdBMzVWOWduSzBzUFBPZWxtYmFB?=
 =?utf-8?B?anY1WlNPbW5EM3czS3o2bjB0dnJtN0FFY3VzWnI0RkVRdXhES01TV0Y4QnZK?=
 =?utf-8?B?SVErK3EvREowYXVQemZuODZCOEkvZk50aWkvNTNnVEY3NXRmZFdIaUdlaEZM?=
 =?utf-8?B?aFhpNFQ3dGFwbUtwL2xMYmVId0FvblM2eTdobGQ2VXhobWRXb2Z0K1VKNFFJ?=
 =?utf-8?B?cDUyYitVREJOMTdQZGM3YjdmaHpvdVl3VjRidnNGWmR4ek9wdWVrQTRacmNJ?=
 =?utf-8?B?bTdpaFE0MFhzYllWSEdyd255VEtaT0Z1dDBIMEFpejFWQkM5T3U2L0VqaU1L?=
 =?utf-8?B?eUlRR2JoWTdiS3gvVHhXVU1QVzFBS0JURWllNlJuNi80NUZHZGRxM0xHbHU4?=
 =?utf-8?B?UUlsaDlpUng4ZUNMV0VPekNHbUxIQVlYNlZPQ2tCOGdzQXRxKzhFMTM0aTJE?=
 =?utf-8?B?S3cybzNTL2ZNWlliQ3ZqVm9vM0lxMEl3em1pdDJmUDU2N1lHRnNQN2Npbkkv?=
 =?utf-8?B?bzZYbUF0SkpnRWxzK3Y1R1VVejVhWnpXOTBBQWVIVmJvYXZReEF1MXVOanN5?=
 =?utf-8?B?RTNtdExDbTJOVmQ5VGlhOVZCdGY0NVZhRkxoTEhPMmVKYmNNY2NDK2V0aDYz?=
 =?utf-8?B?cE42Vk5Lak9ScGMvek1ueFZJcUJERFRlK3lhbUNvQmxkTk12b0NwR0JLMEFy?=
 =?utf-8?B?UnI1RUlWVlMxazdENUJkTHoxbjBxRUUzcERaR2lrQ2Vmekl2SkZYVi9LcERy?=
 =?utf-8?B?M2ZOVDY1QWpFOFFUVnpGZlJJVExlVVh2Rkc3QWQ3UlNYZ3ZYck1mdEN0amVV?=
 =?utf-8?B?dXQ3RkM1M1B1QmJVc1RmQXlXTGpkOGpaaC92QnpSVmg0Z1dCZ2p2ZjhjVzVV?=
 =?utf-8?B?b0g2U0JDQTVsM09kNXRlUkhDeGlvUXE3bm51aGVhRitzOHBDcGJWWHIzV0VL?=
 =?utf-8?B?cGlXZHNic2FrbG91TG5mUjZiMUd3YkpLOVV5MkhwQmdCdmNGZng3cVdQM1VT?=
 =?utf-8?B?ZW9OZHZTNTI3RUxjWVd6c3ZsMlB1SDViZmQ4SUNCYWNuZHZpaEJsZStOMCtl?=
 =?utf-8?B?WDdQdWNRb0JGU2k2QVc1SGFIN3FSVWtsWThaL1FSdlVtcERFbTFVU3VyWFBE?=
 =?utf-8?Q?dQZYY8ziLzZC6+i2Ea+3ya+gJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f5cccd1a-913e-4cc5-d147-08db2b86b756
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 10:09:40.5683
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pXe32yKMN496i1atxYeHY1+lnaIuBwmrdYpfi2X50Bh7CIqCuv3i5Ngi2D/BGV5aVktsYvw8/wfTkAD6MmLEng==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8483

On 23.03.2023 10:08, Juergen Gross wrote:
> util.h contains a definition of offsetof(), which isn't used.

Coming back to my comment on the earlier version: "not used" isn't true,
but the earlier "not needed" also didn't make clear why it was not needed
(misleading me into making the [wrong] suggestion): The macro is used,
just not in hvmloader/ but in files living in libacpi/ and compiled here
(as well as elsewhere).

New suggestion (which I'm happy to apply while committing): "... which
isn't needed, as firmware/include/stddef.h's doesn't really need
overriding". (The same, btw, is true for NULL, so I guess I'll make a
follow-up patch to remove that one as well.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 10:12:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 10:12:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513731.795172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfHvr-0001im-GR; Thu, 23 Mar 2023 10:12:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513731.795172; Thu, 23 Mar 2023 10:12: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 1pfHvr-0001if-Dh; Thu, 23 Mar 2023 10:12:31 +0000
Received: by outflank-mailman (input) for mailman id 513731;
 Thu, 23 Mar 2023 10:12: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=d8pY=7P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfHvp-0001iZ-Vv
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 10:12: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 36350a8c-c963-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 11:12: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 58F9A33AFE;
 Thu, 23 Mar 2023 10:12: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 1D670132C2;
 Thu, 23 Mar 2023 10:12:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id EUluBQomHGQ0YQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 23 Mar 2023 10:12: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: 36350a8c-c963-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679566346; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=ouqexAkSn6AKuLTLiOQWZF854CrJCw4ONqX8Vr+xK58=;
	b=ssNa/VI18XKd4Q4UBWzwPIfOynidMZfM17AdG8+vzQ5oqjVfda7f1TDe6M+DH1BI/5Qhl3
	5WLe//rY6LdwPOVpmqJyT9CMUYxWcRoU5SILl1iAXKOAHtGlTWx3xhGCgXKEbvFRyNG5a9
	HCnCPUlCSMukQWQU9hgSGOcfMsYCCps=
Message-ID: <7cc1318a-1b70-7c90-3c82-29e9716ac001@suse.com>
Date: Thu, 23 Mar 2023 11:12:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5 3/5] tools/hvmloader: remove private offsetof()
 definition
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230323090859.25240-1-jgross@suse.com>
 <20230323090859.25240-4-jgross@suse.com>
 <3178a474-371c-2dbd-a9d8-f90a6fb4e13c@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <3178a474-371c-2dbd-a9d8-f90a6fb4e13c@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------9Oym9UzeBFf0vyWhvfnYMdFu"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------9Oym9UzeBFf0vyWhvfnYMdFu
Content-Type: multipart/mixed; boundary="------------jORlYN0BhL6LPAxH09IyU4Ue";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 xen-devel@lists.xenproject.org
Message-ID: <7cc1318a-1b70-7c90-3c82-29e9716ac001@suse.com>
Subject: Re: [PATCH v5 3/5] tools/hvmloader: remove private offsetof()
 definition
References: <20230323090859.25240-1-jgross@suse.com>
 <20230323090859.25240-4-jgross@suse.com>
 <3178a474-371c-2dbd-a9d8-f90a6fb4e13c@suse.com>
In-Reply-To: <3178a474-371c-2dbd-a9d8-f90a6fb4e13c@suse.com>

--------------jORlYN0BhL6LPAxH09IyU4Ue
Content-Type: multipart/mixed; boundary="------------RZNWMCVOOzdIx4aEq1jwa122"

--------------RZNWMCVOOzdIx4aEq1jwa122
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjMuMDMuMjMgMTE6MDksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMy4wMy4yMDIz
IDEwOjA4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gdXRpbC5oIGNvbnRhaW5zIGEgZGVm
aW5pdGlvbiBvZiBvZmZzZXRvZigpLCB3aGljaCBpc24ndCB1c2VkLg0KPiANCj4gQ29taW5n
IGJhY2sgdG8gbXkgY29tbWVudCBvbiB0aGUgZWFybGllciB2ZXJzaW9uOiAibm90IHVzZWQi
IGlzbid0IHRydWUsDQo+IGJ1dCB0aGUgZWFybGllciAibm90IG5lZWRlZCIgYWxzbyBkaWRu
J3QgbWFrZSBjbGVhciB3aHkgaXQgd2FzIG5vdCBuZWVkZWQNCj4gKG1pc2xlYWRpbmcgbWUg
aW50byBtYWtpbmcgdGhlIFt3cm9uZ10gc3VnZ2VzdGlvbik6IFRoZSBtYWNybyBpcyB1c2Vk
LA0KPiBqdXN0IG5vdCBpbiBodm1sb2FkZXIvIGJ1dCBpbiBmaWxlcyBsaXZpbmcgaW4gbGli
YWNwaS8gYW5kIGNvbXBpbGVkIGhlcmUNCj4gKGFzIHdlbGwgYXMgZWxzZXdoZXJlKS4NCg0K
QWgsIG9rYXksIEkgb25seSBsb29rZWQgaW4gaHZtbG9hZGVyIGZvciB1c2Vycy4NCg0KPiBO
ZXcgc3VnZ2VzdGlvbiAod2hpY2ggSSdtIGhhcHB5IHRvIGFwcGx5IHdoaWxlIGNvbW1pdHRp
bmcpOiAiLi4uIHdoaWNoDQo+IGlzbid0IG5lZWRlZCwgYXMgZmlybXdhcmUvaW5jbHVkZS9z
dGRkZWYuaCdzIGRvZXNuJ3QgcmVhbGx5IG5lZWQNCj4gb3ZlcnJpZGluZyIuIChUaGUgc2Ft
ZSwgYnR3LCBpcyB0cnVlIGZvciBOVUxMLCBzbyBJIGd1ZXNzIEknbGwgbWFrZSBhDQo+IGZv
bGxvdy11cCBwYXRjaCB0byByZW1vdmUgdGhhdCBvbmUgYXMgd2VsbC4pDQoNCkZpbmUgd2l0
aCBtZS4NCg0KDQpKdWVyZ2VuDQo=
--------------RZNWMCVOOzdIx4aEq1jwa122
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-----

--------------RZNWMCVOOzdIx4aEq1jwa122--

--------------jORlYN0BhL6LPAxH09IyU4Ue--

--------------9Oym9UzeBFf0vyWhvfnYMdFu
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQcJgkFAwAAAAAACgkQsN6d1ii/Ey96
VQgAk1pF+cITeafbBPlvFIkwU0gbbAh2WkdaJCSG3sezCbjGarTbWkaz0iAzkRy4RP1VpTUjSdhP
P1qoV+BlQ4SgTjlZdXut7ZZs7WSVNtVmoO8FkDtMbSXuPX0bsn9VVa0w2HbkBW9e7MDQSYXFakQL
leshsqbJ/7pXNKFTIIGcWCEIBFssmj06ASjRbANmLk2fXiN93gHIqHiAt/XoksbH/ZgH6SSf3lGE
9kemU2A4Ks/YPyWUV+g5YQSXIEujI+Hdr+wN13QFxOIx0ibtRcPUZMStYzmkX+dKY9ZAwKkqQ/dP
CBRKf8s/0p06/NhYf0perIIuQhgFNzF/iHBB3W3INA==
=dBks
-----END PGP SIGNATURE-----

--------------9Oym9UzeBFf0vyWhvfnYMdFu--


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 10:19:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 10:19:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513735.795185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfI2Q-0002dZ-6n; Thu, 23 Mar 2023 10:19:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513735.795185; Thu, 23 Mar 2023 10: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 1pfI2Q-0002dS-4I; Thu, 23 Mar 2023 10:19:18 +0000
Received: by outflank-mailman (input) for mailman id 513735;
 Thu, 23 Mar 2023 10:19: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=YvyI=7P=ilande.co.uk=mark.cave-ayland@srs-se1.protection.inumbo.net>)
 id 1pfI2O-0002dK-Ki
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 10:19:16 +0000
Received: from mail.ilande.co.uk (mail.ilande.co.uk [2001:41c9:1:41f::167])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 272a0367-c964-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 11:19:11 +0100 (CET)
Received: from host86-163-239-161.range86-163.btcentralplus.com
 ([86.163.239.161] helo=[10.8.0.6])
 by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.92) (envelope-from <mark.cave-ayland@ilande.co.uk>)
 id 1pfI1N-0004eR-4l; Thu, 23 Mar 2023 10:18:17 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 272a0367-c964-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:Content-Type:
	In-Reply-To:From:References:Cc:To: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=YYftXqcDBK/UTYD5UpwnfWzrAN8OUVEoUQ+WA+Q6dyw=; b=H5rDiEH21cqjEqZ+EDejQOQPaW
	2ztyA6rudlaiNu/5a/Se9yXcbXFAqsamo/mCw1EUxJCFA1mcDhMrp5fHBMyZ+jWLeQgjNW0egfR+d
	yTSbZ3IMs+r1mT9dvCEXkaDN9WpPTxYC0VzFKydPJMarNP39BYt7jODxm8UASn6sftk1RTDy/XbBR
	b4C9F4G5NHtrKaHlfT5eLBVYWjFRkrx5bwZxFn7Jd/wPOqkavBtK3hkMVBRlwAI0b8WKeIGrAp+2U
	RT2jbp4I7NgMhWV1Jk7dsFEpaIk1KMYszGMdCu2vd/23+0X0j3wcjfyGZtnK27XwbVEi55U1neK3K
	1AVKcGdq1PVNRXVpXwzj5ONuHWsu65DKFWDZuNjhQE7MCNADqWCjvqUed5mbzyqcMQPx57tuKGJWB
	/dth3xj92CEW6tvmzvuddOdb8F08iQh7wFYrbO1jZpkbm4wuVrddCLRoDq5zJ0+a7iwOhlFbJSd89
	0Op6MCHRGMFVJLXfpCnyH2sFMIykdfei/9b9WkY3s186ZBhTBoOLsQOPxRLBNeJYLYY1KT3INj7eW
	KgWTYfDVJ7U+P34cmo4rwoGDkDaYyhWftElNZiHhHwIzdG2CywBGRAMMjW7dlHha100whu4FiYsbn
	b3P55T+OgZ95LSF+w7Yoy7KBNePCUSZj5YEo9ZPo4=;
Message-ID: <7971a4c0-70b0-5dcd-4b0b-3fa41766ac41@ilande.co.uk>
Date: Thu, 23 Mar 2023 10:18:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101
 Thunderbird/91.13.0
Content-Language: en-US
To: Chuck Zmudzinski <brchuckz@aol.com>, qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Artyom Tarasenko <atar4qemu@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1678888385.git.brchuckz.ref@aol.com>
 <cover.1678888385.git.brchuckz@aol.com>
From: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
In-Reply-To: <cover.1678888385.git.brchuckz@aol.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-SA-Exim-Connect-IP: 86.163.239.161
X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
	mail.default.ilande.bv.iomart.io
X-Spam-Level: 
X-Spam-Status: No, score=-2.8 required=5.0 tests=ALL_TRUSTED,BAYES_00,
	URIBL_BLOCKED,URIBL_SBL_A autolearn=no autolearn_force=no version=3.4.2
Subject: Re: [PATCH v4 0/2] pci: slot_reserved_mask improvements
X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000)
X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk)

On 15/03/2023 14:26, Chuck Zmudzinski wrote:

> This patch series consists of two patches. The first provides accessor
> functions in pci.h to avoid direct access of slot_reserved_mask
> according to the comment at the top of include/hw/pci/pci_bus.h. No
> functional change is intended with this patch.
> 
> The second patch replaces slot_reserved_mask with two new masks,
> slot_reserved_auto_mask and slot_reserved_manual_mask so the current
> behavior of reserving slot 2 for the Intel IGD for the xenfv machine
> will be ignored if an administrator manually configures a device to use
> the reserved slot.
> 
> The current behavior of always reserving slots in the sun4u machine is
> preserved by this patch series; the patch series only changes how
> slot_reserved_mask works in the xenfv machine. Although the patch
> series can affect xenfv machines configured for igd-passthru if an
> administrator assigns some of the pci slot addresses manually, it
> does not affect the libxl default configuration for igd-passthru because
> libxl uses automatic slot assignment by default.
> 
> Testing:
>     - Tested xenfv/igd with both manual and auto slot allocation - behaves as expected
>     - Verified that qemu-system-sparc64 still compiles with the patches to sun4u.c
>     - xen4u machine not tested -- Mark, can you do this?
> 
> Link: https://lore.kernel.org/qemu-devel/20230106064838-mutt-send-email-mst@kernel.org/
> 
> Chuck Zmudzinski (2):
>    pci: avoid accessing slot_reserved_mask directly outside of pci.c
>    pci: introduce slot_reserved_auto_mask and slot_reserved_manual_mask
> 
> Changelog
> 
> v4: I forgot to check the patches in v3 for style corrections (sorry about
>      that), and the second patch had three lines that were too long. Other
>      than correcting the style problems, no changes since v3.
> 
> v3: Re-work second patch in response to comments/discussion of v2
> 
> v2: Add first patch and cover letter to make this a 2-patch series
>      Make changes to the second patch (see second patch for changelog)
> 
>   hw/pci/pci.c             | 33 ++++++++++++++++++++++++++++-----
>   hw/sparc64/sun4u.c       |  7 +++----
>   hw/xen/xen_pt.c          |  8 ++++----
>   include/hw/pci/pci.h     |  3 +++
>   include/hw/pci/pci_bus.h |  3 ++-
>   5 files changed, 40 insertions(+), 14 deletions(-)

The v4 series looks good to me: I've also confirmed that sun4u still works as before, 
so from my perspective:

Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Tested-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> [sun4u]

Michael, is this a candidate for 8.0 given that the existing patches for Xen making 
use of slot_reserved_mask have already been merged?


ATB,

Mark.


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 10:27:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 10:27:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513740.795198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfI9n-000472-1g; Thu, 23 Mar 2023 10:26:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513740.795198; Thu, 23 Mar 2023 10:26: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 1pfI9m-00046v-VA; Thu, 23 Mar 2023 10:26:54 +0000
Received: by outflank-mailman (input) for mailman id 513740;
 Thu, 23 Mar 2023 10:26: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=q/IK=7P=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pfI9l-00046p-FR
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 10:26:53 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20631.outbound.protection.outlook.com
 [2a01:111:f400:7eab::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 38bcfa74-c965-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 11:26:51 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 IA1PR12MB8553.namprd12.prod.outlook.com (2603:10b6:208:44e::5) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.37; Thu, 23 Mar 2023 10:26:47 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Thu, 23 Mar 2023
 10:26:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38bcfa74-c965-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fayl9k4xDCNHKAbms/0OWH+CoebGk/z2GSWwgVCx3U0HL07GHZN9lqRIpPYD9kooQlKJHCqYGX7bcu7SOCW2HAtWebQVq/VSZ9VFbcHfBB+fVuzcVmfd7zuy8qmi3IcFMW3RrWNIOa9UHctDWpZdnnE2+qqqBjoqzeAjETXYgjSxI+URAuu1lJ4GB7gm6q2BP+ZO+nf1ZnW1nD3aFaKUPAqMmpLin2vLhoxd4QjbsWI2ll74dfJ7vU542w2ZSAo7LlbApzJHIH3sRTJOZQx/azstOPxAyRxsfKO8XchaGm3qSL2YtaOcJNW1NYuYtsC9i5zZ8LISGORv1Wlk/Yardw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Mb8YFjYlladmXl6LtrqQVE54sVh70ierYzEDWgQEZM4=;
 b=AUlz6sjU4brtuzEQywu9Vpe0GLUEGzRt6lhZ+ogiqezeyQvUZvTS16cUNtoxDMH4qYOOOvOIAiHuYYh7qE5+qzgxLhCVEl3a3h0JHvu4kY1QIvpsWkzR5qN1sE+SmhNCdAM82diW8QrzyDvczz376uwvyQPVwSAWMnTGJ8QnUpAxuP5BXGouk0MsQepZEVsLM39eaJRe/JpE310XQH/RRTqnwmt7vtTEZToziJnj/DPIh2sC2UJrYn3dgkscoB5r6w0Ssqu7eWRRAj2F0CyfUabbbZu9LJ4FseyVGUa8LOdDSBSCbKeZ6c76/Q+Z/QWMOVpocom+cOnmwyOJffvuvQ==
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=Mb8YFjYlladmXl6LtrqQVE54sVh70ierYzEDWgQEZM4=;
 b=Om4Ttb+jo10CFk5ME6gxdBq5vdB7pIp+kLnByYNTtsRk6DNsDo8JIhqJMZTNHxHZFdn60xoyeWva8k+pX+QC2HM9Im9AggZSLFWPkRDCOwt4pLPuffvryR8WWyV2G0dLR22vHPiCHZooCA5ovjKX5oH+0sse5HKs3+zJiV3o8bk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Thu, 23 Mar 2023 18:26:19 +0800
From: Huang Rui <ray.huang@amd.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZBwpS+WD/mK40Qx2@amd.com>
References: <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
 <ZBmDl8XjIos57EIy@amd.com>
 <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
 <ZBmZxnyZWrni57Ry@amd.com>
 <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com>
 <ZBmrI3wrrwsK5Q+0@amd.com>
 <ZBquOn8x7IyI33Pj@amd.com>
 <ZBrLsRebAYaspHrK@Air-de-Roger>
 <ZBr1k/B/ve8NNqaJ@amd.com>
 <85aa668d-9614-a80d-8f44-174ecbdcf1f7@suse.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <85aa668d-9614-a80d-8f44-174ecbdcf1f7@suse.com>
X-ClientProxiedBy: SI2PR01CA0013.apcprd01.prod.exchangelabs.com
 (2603:1096:4:191::9) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|IA1PR12MB8553:EE_
X-MS-Office365-Filtering-Correlation-Id: dacd7b87-6f99-4895-c254-08db2b891b22
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jo1dLPhpfzIbu0wPqat19MMX7VO0ZcGR+QN/r2hPrfaJM76bEg0t+58+0nGjtswjJgBr6rnmFVfnNK/LLV6n0fygxquoxEFaKlX2upw1+rNxXq2bldMKwtp4hSshyriBNBJnJQkBSmpiwRQocoMSqJ6sY6tm811NLHqNPPJ5t6bg8RcaDy/OX5ibGKcvjg6Jxj6exnwSivdTmL7XjETdZSrB8zZ87ywekJJ3Zj2iTnD34vpruuSy5CVeoBkgOpgUCIUZjkMs63C2FH4zc1KzkVzDBjeJnIpj0Da8h93r3VEws8+8BSh4OKsmfZMo0QvSDiAvZwrHlgxO8yybmKifmB+hS6dr/sNoT9njAM7YzbLR6M3KvuJEpTa0tt0EHVkToQinHf3cJFF5Qm05n7HCn1dN/ptSa0aganb0VnA1UnAHafRvZFJKw3em513eDtFO44OVVyqXi9GcyBNRQLTEnnKazoKqvmkqmeYOI4awYebjjOQCh6FHc4VH3AYsyj8LOZdmpYO2KD4cFEVlvOXo5lAqvRTU4NKCJkMFgVMmdCRNqvHaTR9wExYRnjZN5rX2Qe64cyY92iwJWKK+STgdk5uXcG+u3F+2NTxCFr7jF6qLVOqgubmmPXQ2UExfMCkoTcvjNzmi11Aq3jMfcl0Fjg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(396003)(346002)(136003)(376002)(366004)(451199018)(2616005)(6506007)(6512007)(8936002)(26005)(66476007)(6666004)(8676002)(4326008)(6916009)(83380400001)(66556008)(186003)(53546011)(316002)(54906003)(478600001)(5660300002)(2906002)(6486002)(41300700001)(38100700002)(66946007)(86362001)(36756003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?1zvbZ6jrRIGCFKD2M2bPBZD2sLmuDwQs6m0VN+qMd53iKs4AXmL+/83BSdgp?=
 =?us-ascii?Q?kPGYBmXq0ANfwpwjUOQAzQ7MRF6GcTJ5PQuzKruEwLA4KWrvZ6jutGjLAC83?=
 =?us-ascii?Q?r5DEwlFltsanh0d1HVlN+Os+ePDL8N8W0LlMIAXnHAqAYLJuupD4ataA7lnv?=
 =?us-ascii?Q?2nzliQIeDgr0yA5YiufJG26W+T5nFG5p4H19pPeWwvw2QxZfAUCTwF+2Eldx?=
 =?us-ascii?Q?dqmzeNowTgQHnyRqdQF8ac20MI5WVfcaPwDcNXczGnKFARkBa9vT4tlUYwGm?=
 =?us-ascii?Q?Z2OZ1uxC80eWfDXxtUu138Zt/aSmmyrJCkhlflREWItOIuIDZ2InW4WgsaeE?=
 =?us-ascii?Q?QBVGIYgh4gComs5ioSkcFSS6u5A1XKKNbH0WEvkfn07QS3s0DxaRgNZROZGp?=
 =?us-ascii?Q?k0MO+r3uNwQMGHWHbuqxgEcZ/1TR4MTbRIMXKpuVfwprUqUrAG8WiOGht9FA?=
 =?us-ascii?Q?nJCyqy43xB6TkHBKNbUt6n1kXN+L06mevrYVj2JPfsPrmaeUxaxKexX6IdrM?=
 =?us-ascii?Q?HHWs5CmRxd9ru0BaFrUPqlZTQde5JkK6wl9WbhyZXWLGgsuk0dRaAbNGHb/F?=
 =?us-ascii?Q?/aMuHiFxGb+uNaqrLPwUzqlI2DKvKy7+5fH3gIhHAsNV/mJiG1MgVONQT2U+?=
 =?us-ascii?Q?y2OQo2kIy4HGvIC+aX1PCJVA+km5kolnwRBz9V9sbbs747L6Z8fJSLj7dTW1?=
 =?us-ascii?Q?g3pz51/vuTX4IFwN6g58xVOeiLxh5LcOycjrycC2N0a1oOE5CQ2GLkLX5+CT?=
 =?us-ascii?Q?cWUvdFoYq1usaslFt+dDzpTyf3fSNKzg2ltXmSI3nJ23BalTJgoGDzmtEE5/?=
 =?us-ascii?Q?+M04J03fhfD+EhhbrD2xx3IUUlMxBzfDDFxS9pGMTy/SuTxR0aPisFyTpUZv?=
 =?us-ascii?Q?eS/ZpnD36mFdMAC+qW3CuLsn+HNuz8QLHjLj4eSIyiwly1t9zqBOuneZTvdZ?=
 =?us-ascii?Q?evPPcttJecL88IoBczkCtB//anjhqvEhr3iJUbRKvNAM9utH2zbjvT7XZ/Wa?=
 =?us-ascii?Q?d1JH7xE8rev3Vq820knd4k2eKORMOqDl19yQZ0k1bUrekuZaMtrggvjwEAx3?=
 =?us-ascii?Q?gvTM7OdSuKFHAtFtuvojJGTJi8ncsDjCYlJ+10aLt5HAaX0nQBl1FoAYNjti?=
 =?us-ascii?Q?yHY4WENklnNOH7oP1Qqc+/+Fm5t9AH/wYhiLIqxAET8r5GAXVYDda7QEDRng?=
 =?us-ascii?Q?tn4Pcidsvkm9tt0k8q0IltaMcW0tVRrkuVGbHefqp8zQPWo4dLPf4npuVEUB?=
 =?us-ascii?Q?wcNLnRkIJrbH/B/r6/HUJJI8lbahC+Jmmlqrz2kr+c1ZFqrDrHKF21RHHuxx?=
 =?us-ascii?Q?q+1iatpzFNlQWEQxyYviVeZnDDAfg1iNWBcZYurDaSVLw8soHLhz6EBXaqpi?=
 =?us-ascii?Q?IumtIF76PCrSam8OBobaPJ5/HY/MvYNq5eOyvAUCr1hpdvJtp3SvfD9DLzld?=
 =?us-ascii?Q?HxD2OiuaucTNXPYFVHwFXXmgZ1w3dtbRTBHBGpwzMh2kcJCN9RdPfEQWCyjJ?=
 =?us-ascii?Q?hq7oyaJnHwDr6/vJHFK30lAurrCfCCeGgWCkcJtFUdiOEZ2d3snLE/Isk9+G?=
 =?us-ascii?Q?q6cTkfMV/677UecP3yZdC8ptqdheqIczzEJWZwc3?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dacd7b87-6f99-4895-c254-08db2b891b22
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 10:26:47.0865
 (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: JCWoYipC705tXVRuUPxXKi87vgVpQFDsJ0JnkcyrzgzVWGZ52ValfD3ud9cGLzb2SgVrjBJqvehIQhj2pbQJkA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8553

On Wed, Mar 22, 2023 at 08:48:30PM +0800, Jan Beulich wrote:
> On 22.03.2023 13:33, Huang Rui wrote:
> > I traced that while we do pci-assignable-add, we will follow below trace to
> > bind the passthrough device.
> > 
> > pciassignable_add()->libxl_device_pci_assignable_add()->libxl__device_pci_assignable_add()->pciback_dev_assign()
> > 
> > Then kernel xen-pciback driver want to add virtual configuration spaces. In
> > this phase, the bar_write() in xen hypervisor will be called. I still need
> > a bit more time to figure the exact reason. May I know where the
> > xen-pciback driver would trigger a hvm_io_intercept to xen hypervisor?
> 
> Any config space access would. And I might guess ...
> 
> > [  309.719049] xen_pciback: wants to seize 0000:03:00.0
> > [  462.911251] pciback 0000:03:00.0: xen_pciback: probing...
> > [  462.911256] pciback 0000:03:00.0: xen_pciback: seizing device
> > [  462.911257] pciback 0000:03:00.0: xen_pciback: pcistub_device_alloc
> > [  462.911261] pciback 0000:03:00.0: xen_pciback: initializing...
> > [  462.911263] pciback 0000:03:00.0: xen_pciback: initializing config
> > [  462.911265] pciback 0000:03:00.0: xen-pciback: initializing virtual configuration space
> > [  462.911268] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x00
> > [  462.911271] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x02
> > [  462.911284] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x04
> > [  462.911286] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3c
> > [  462.911289] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3d
> > [  462.911291] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0c
> > [  462.911294] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0d
> > [  462.911296] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0f
> > [  462.911301] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x10
> > [  462.911306] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x14
> > [  462.911309] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x18
> > [  462.911313] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x1c
> > [  462.911317] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x20
> > [  462.911321] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x24
> > [  462.911325] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x30
> > [  462.911358] pciback 0000:03:00.0: Found capability 0x1 at 0x50
> > [  462.911361] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x50
> > [  462.911363] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x52
> > [  462.911368] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x54
> > [  462.911371] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x56
> > [  462.911373] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x57
> > [  462.911386] pciback 0000:03:00.0: Found capability 0x5 at 0xa0
> > [  462.911388] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa0
> > [  462.911391] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa2
> > [  462.911405] pciback 0000:03:00.0: xen_pciback: enabling device
> > [  462.911412] pciback 0000:03:00.0: enabling device (0006 -> 0007)
> > [  462.911658] Already setup the GSI :28
> > [  462.911668] Already map the GSI :28 and IRQ: 115
> > [  462.911684] pciback 0000:03:00.0: xen_pciback: save state of device
> > [  462.912154] pciback 0000:03:00.0: xen_pciback: resetting (FLR, D3, etc) the device
> > [  463.954998] pciback 0000:03:00.0: xen_pciback: reset device
> 
> ... it is actually the reset here, saving and then restoring config space.
> If e.g. that restore was done "blindly" (i.e. simply writing fields low to
> high), then memory decode would be re-enabled before the BARs are written.
> 

Yes, we confirm the problem is while the xen-pciback driver initializes
passthrough device with 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 io interrupt to bar_write() in the xen, then bar->enable
is set, the write is not actually allowed.

May I know whether this behavior (restore) is expected? Or it should not
reset the device.

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 10:30:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 10:30:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513745.795209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfICw-0005nl-LX; Thu, 23 Mar 2023 10:30:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513745.795209; Thu, 23 Mar 2023 10: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 1pfICw-0005ne-Ia; Thu, 23 Mar 2023 10:30:10 +0000
Received: by outflank-mailman (input) for mailman id 513745;
 Thu, 23 Mar 2023 10: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=8edK=7P=citrix.com=prvs=439de8c1e=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pfICw-0005nW-5k
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 10:30:10 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad2e693e-c965-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 11: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: ad2e693e-c965-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679567407;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=E8F6wRr5iSbNAZFQckGgVmxQX0o0SKgl7mU+nuPfjHs=;
  b=emy9iDZSOS7LKuhk99o10or/7KD2rHjgegY7Dk/xWCXvPI8gDpv2zd8R
   RMWAH/NlYDIJUla0IoquNJ9ZCN0dnOtMMzKomIT6sJvakld7NwrVjEwLW
   2VAXyKqFhdLEM0kkl5lDM4/D2btmxMlSzbu0aSWquOQfYztM95xXg85/f
   8=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 104414549
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:sk1DWK71k/ASEX4nGGMYawxRtFfAchMFZxGqfqrLsTDasY5as4F+v
 mYaWDqOOa2OMGHwLd0jOtvj9R5XusKEnNZnQQZkqXhkHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasR5weH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m0
 cc3KxMXTiG4uueQ6pGJeuhivsocM5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrnD5bz1frkPTvact6nLf5AdwzKLsIJzefdniqcB9xx7E+
 juaojioav0cHOeFwiGh/UrwusPkmzGhA5lIOLK2p/E/1TV/wURMUUZLBDNXu8KRhlG7RIh3K
 koa4CMioKE+skuxQbHVRxSlpFaUsxhaXMBfe8Uj5QSQj6bZ/QudLm4DSDFHdZohrsBebSQg0
 VmbntXoLSZivL2cVTSW8bL8hTG1MC9TKCkHbDUYTA0ey975qYo3g1TESdMLOKezjcDvXzi2y
 iqNtiEWgK8ahsoGka68+DjvmCmwr5LESgo04AT/XW+/6A59Iom/aOSA91nY9/9FaomQVFmet
 Xwsks2SqusJCPmlhCGLBekAArytz/KEKyHHx05iGYE78Dag8GLleppfiBlnOUZvLssAcBfzb
 UPTsB8X75hWVFOmYq5zaY+rF+wwwKTgHMijXffRBvJWb4R8bkmC9TBiaEqU92TslkE2luc4I
 5jzWc+0AGwTE6hP0Du8TOBb2rgurh3S3kuKG8q9lU7+l+PDOjjME+xt3Eaygv4RyJiroybP0
 +dkCs6s4TZtYOzwWifo7ttGRbwVFkTXFawauuQOKLHSeVQ7SDh6YxPC6eh/ItI4xsy5gs+Np
 yjgAREAlTITkFWdcW23hmZfhKQDtHqVhVYyJmQSMFmhwBDPiq7/vf5EJ/PbkVTKndGPLMKYr
 NFfIa1s+twVFlz6F801NPERVrBKehWxnh6pNCG4ejU5dJMIb1WXpY65J1O2rnNeUXHfWS4CT
 1qIiGvmrWcrHVw+XK46ltr2p79OgZTtsL0rBBaZSjWiUE7t7JJrO0TMsxPDGOlVcU+r7mLDj
 26+WE5IzdQhVqdoqbElc4jf9Nz3ewa/d2IHd1TmAUGebnSHozrykdQbD45lv1n1DQvJxUlrX
 s0Np9mUDRHNtAwiX1ZUe1qz8Z8D2g==
IronPort-HdrOrdr: A9a23:6BnEEK0jqoc7g57AKSUPDgqjBLIkLtp133Aq2lEZdPRUGvb3qy
 mLpoV+6faUskd1ZJhOo7290cW7LU80sKQFhrX5Xo3SPjUO2lHJEGgK1+KLqFfd8m/Fh41gPM
 9bAs5D4bbLbGSS4/yU3DWF
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="104414549"
Date: Thu, 23 Mar 2023 10:29:52 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: David Woodhouse <dwmw2@infradead.org>, Paul Durrant <paul@xen.org>
CC: <qemu-devel@nongnu.org>, Paolo Bonzini <pbonzini@redhat.com>, Joao Martins
	<joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>, Stefano
 Stabellini <sstabellini@kernel.org>, <vikram.garhwal@amd.com>,
	<xen-devel@lists.xenproject.org>, Juan Quintela <quintela@redhat.com>, "Dr .
 David Alan Gilbert" <dgilbert@redhat.com>, Peter Maydell
	<peter.maydell@linaro.org>
Subject: Re: [PATCH v2 09/27] hw/xen: Add evtchn operations to allow
 redirection to internal emulation
Message-ID: <209fe980-7f9d-4d79-90fb-12e38f12b2bc@perard>
References: <20230307171750.2293175-1-dwmw2@infradead.org>
 <20230307171750.2293175-10-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230307171750.2293175-10-dwmw2@infradead.org>

On Tue, Mar 07, 2023 at 05:17:32PM +0000, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> The existing implementation calling into the real libxenevtchn moves to
> a new file hw/xen/xen-operations.c, and is called via a function table
> which in a subsequent commit will also be able to invoke the emulated
> event channel support.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Reviewed-by: Paul Durrant <paul@xen.org>

Hi David, Paul,

This patch prevents existing use case from booting, that is even with the
state change notification fix. It seems that trying to create a PV guest
with libvirt fails, with "xen be core: can't connect to xenstored" in
QEMU's log but it doesn't says if that's the reason qemu failed to
start. But it's probably not related to libvirt.

Our bisector pointed out this patch, see details and logs:
    https://lore.kernel.org/xen-devel/E1pdvdx-0006lh-Oe@osstest.test-lab.xenproject.org/
    https://lore.kernel.org/xen-devel/E1pcg3G-0000NS-9x@osstest.test-lab.xenproject.org/
    https://lore.kernel.org/xen-devel/E1pf9hf-0005EB-1r@osstest.test-lab.xenproject.org/

I did run a test with patch "Fix DM state change notification in
dm_restrict mode", but I think only the *dmrestict* tests have been
fixed.
    http://logs.test-lab.xenproject.org/osstest/logs/179868/

Some failures of running PV guests without libvirt, from that flight:
    http://logs.test-lab.xenproject.org/osstest/logs/179868/test-amd64-amd64-xl-qcow2/info.html
    http://logs.test-lab.xenproject.org/osstest/logs/179868/test-amd64-i386-xl-vhd/info.html

Any idea of what's wrong?

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 10:43:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 10:43:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513748.795219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfIP8-0007c3-Oo; Thu, 23 Mar 2023 10:42:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513748.795219; Thu, 23 Mar 2023 10: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 1pfIP8-0007bw-Ln; Thu, 23 Mar 2023 10:42:46 +0000
Received: by outflank-mailman (input) for mailman id 513748;
 Thu, 23 Mar 2023 10:42: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=2sJP=7P=casper.srs.infradead.org=BATV+ab089a62be6df7c8828c+7151+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pfIP6-0007bX-0k
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 10:42:45 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6cc68097-c967-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 11:42:37 +0100 (CET)
Received: from [2001:8b0:10b:5:b3d4:e39d:531b:642a]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pfIOt-003sbZ-Uq; Thu, 23 Mar 2023 10:42: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: 6cc68097-c967-11ed-b464-930f4c7d94ae
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=xelcXx5ivH1DAf4sAFB7DXoxSJhNHez9TzLupM9JDsc=; b=Tnui8mNcH7xFSv2Lw8xfbxVLON
	x5QANaFdSjkPx9An22u3FEwHN0LbvGiFeILhTqAvyiR9nhiXfBfGg2xbHpQqO9xgEDBD5Wqov0lZQ
	/xPoxaVxFf23WqqMWvEmhKpDQgZTZlCQFiQpaxNZiqZy8ISIrNa1R4DjijvYH8IlZX9hTKht/TBft
	V35Nb389qkbb7pGZS2iVpOA0EmF5g1bFWhI+2YNvZ+/k6lo++yAMAajBKUKrWgvhBTVAl7dxsb5ZQ
	WiP6UM+5dYEI/Ho0JaoIt4T4x+X1gRmqQPlInKpRHswbseoiWEAuYTwCt6CKCOPKSume9vTOEcMxo
	EaDbOMxQ==;
Message-ID: <418a6d774d3dc78f7410de08976fcf2f9fe42ec9.camel@infradead.org>
Subject: Re: [PATCH v2 09/27] hw/xen: Add evtchn operations to allow
 redirection to internal emulation
From: David Woodhouse <dwmw2@infradead.org>
To: Anthony PERARD <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>
Cc: qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>, Joao Martins
 <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 xen-devel@lists.xenproject.org, Juan Quintela <quintela@redhat.com>, "Dr .
 David Alan Gilbert" <dgilbert@redhat.com>, Peter Maydell
 <peter.maydell@linaro.org>
Date: Thu, 23 Mar 2023 10:42:30 +0000
In-Reply-To: <209fe980-7f9d-4d79-90fb-12e38f12b2bc@perard>
References: <20230307171750.2293175-1-dwmw2@infradead.org>
	 <20230307171750.2293175-10-dwmw2@infradead.org>
	 <209fe980-7f9d-4d79-90fb-12e38f12b2bc@perard>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-Kshv6WTWRerk+BVPSzAB"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


--=-Kshv6WTWRerk+BVPSzAB
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2023-03-23 at 10:29 +0000, Anthony PERARD wrote:
> On Tue, Mar 07, 2023 at 05:17:32PM +0000, David Woodhouse wrote:
> > From: David Woodhouse <dwmw@amazon.co.uk>
> >=20
> > The existing implementation calling into the real libxenevtchn moves to
> > a new file hw/xen/xen-operations.c, and is called via a function table
> > which in a subsequent commit will also be able to invoke the emulated
> > event channel support.
> >=20
> > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> > Reviewed-by: Paul Durrant <paul@xen.org>
>=20
> Hi David, Paul,
>=20
> This patch prevents existing use case from booting, that is even with the
> state change notification fix.

Just checking... definitely the *event channel* patch in commit=C2=A0b6cacf=
e
and not the xenstore patch which comes later?

The state change notification fix doesn't even apply yet, does it?

--=-Kshv6WTWRerk+BVPSzAB
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzIzMTA0MjMwWjAvBgkqhkiG9w0BCQQxIgQgUGWq4y8B
tk6QwQIRrvCyN1vTNCLX24dgZcc2Q69qMCAwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCCpaGn3KybHoCuxJoiMA9M9VUDybcQ0bdt
wBjglLqCH/GMw+J0WmZ4MCb79nzFgZy6FN4EoH2qNgxOXV+8dF5UIZuG/yiWWtQ9uJen5p3pEV6R
NDxdrbSryhnBnuoIoeykGUoRdC+RR7omD0ifafb2hNm7CV6XGxAo4pB9dkXJEyYoUuIyOcUZ6F0W
wiI55VNNzZ57cyqRFcNMcwgDLSAkPTG3ZvQMh5M9Nis3mTrDajFnonfkjAqezWB96VXQNjpMDOjk
sdqvZCPRwF3cU2rOYkqKuHK1dAGGCIxhCn6q9RI/E7wrQFIggYSJ3Znz+S427HxRH4OVwOaV7PDQ
uftOzSfG39aRNJmyR8zp1q5AXse0DYQdUdWQnW4kfpu70vb0cMh7Lnuv0ESzfmdv30qP9D11aXxs
4M751XSr6RF8iwt9cWJrrxAkH8cHinWCG3Ka+HYfhP8mamHtz5I9B3hJlvL/I/rSxBlcpQQu9c7I
2WUzDE7LlupNkSLAaDj1DECM1ox3HY5K6mNdBM4cMP7JyHBrJFembHPx0JELyFhtKa8SD18kCF5W
2Yi4t8TgxXXCcTrKALGzVE2ap9uPssXVXVt0oT/VIXuUG59CYpLu+dEW8kqEP+KLvIB3OMw6hVbB
59ab1vbIzNdlNShqTy1bjG/PEPWm/EZOY1cIKmT+fAAAAAAAAA==


--=-Kshv6WTWRerk+BVPSzAB--


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 10:44:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 10:44:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513752.795229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfIQV-00088c-3j; Thu, 23 Mar 2023 10:44:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513752.795229; Thu, 23 Mar 2023 10:44: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 1pfIQV-00088V-0O; Thu, 23 Mar 2023 10:44:11 +0000
Received: by outflank-mailman (input) for mailman id 513752;
 Thu, 23 Mar 2023 10:44: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=tIVP=7P=citrix.com=prvs=439b2ffc4=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pfIQU-00088H-26
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 10:44:10 +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 a204da81-c967-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 11:44:07 +0100 (CET)
Received: from mail-bn8nam04lp2042.outbound.protection.outlook.com (HELO
 NAM04-BN8-obe.outbound.protection.outlook.com) ([104.47.74.42])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 06:44:03 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by MN2PR03MB4960.namprd03.prod.outlook.com (2603:10b6:208:1a1::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 10:43:59 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Thu, 23 Mar 2023
 10:43: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: a204da81-c967-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679568247;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=uec8BW1nbQaI7pM83cKxkZlxJcrNmaWRCMjNs7yNtJw=;
  b=gtMptAJIQWvTGV4ZcLmrDdNPxTSmGFLOKWJ46nHEEP3uvwHLov+Jnz1k
   2omwaNpTlsjEb8icUD8WXPp05oYtDtYqa+YPfedrpCSlZUN47DUZbek9J
   GgwV+x6dzpk8yWT6QX8IJXf3MUWUJPKelXUU86Z2ZpZGYKknkfbIGB8As
   c=;
X-IronPort-RemoteIP: 104.47.74.42
X-IronPort-MID: 102415665
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:rP5g5qIQsmMBpkesFE+Rv5UlxSXFcZb7ZxGr2PjKsXjdYENS0DdSn
 GccUGrTM6vbYzSgeYp/YN7n90wDvpLUnNUyTwJlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZlPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5tKE8e+
 /snDwkAdxuCrLqs7PXncNFz05FLwMnDZOvzu1lG5BSBUbMMZ8CGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/VrpTSJpOBy+OGF3N79YNuFSN8Thk+Fj
 mnH4374ElcRM9n3JT+tqyr22raSw32mMG4UPO2Cqt0ym2+S+mhJKTQUdHqFi9SHtlHrDrqzL
 GRRoELCt5Ma9kamU938VB2Qu2Ofs1gXXN84O/cz+UeN16PS7C6QA2RCRTlEAPQPsMImTDom2
 0XPs970DjxiqpWcTH7b/bCRxRuZOTIUNnMDbClCbgwI5djsiIg2glTESdMLOJWpg8L8Ay224
 zGOoCU0nbwVgeYC0qn99lfC6xqmu4LbRwoy6gLIV0qq6wp4YMiuYInAwXjc6/lEIYfACHmct
 X4Ls8Gb4KYFCpTlvA6QROQEWoOp7vCKGDTZjRhkGJxJ3xas4n+qe8Z74Dx4DE5sPoAPfjqBS
 FTIpQpb6ZtXPX2rRax6eYS8D4It16eIPcToULXYY8RDZrB1dRSb52d+aEiIxWfvnUMw16YlN
 v+mnd2ECH8bDeFtymqwTuJFjbsznHhinyXUWIzxyAmh3fyGfnmJRLwZMVyIKOck8KeDpwaT+
 NFaXyeX9yhivCTFSnG/2eYuwZoidBDX2bieRxRrS9O+
IronPort-HdrOrdr: A9a23:sdck0q7/l5cKV4YWpQPXwamCI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc6Ax/ZJjvo6HkBEClewKlyXcV2/hpAV7GZmXbUQSTTL2KgbGSoAEIXheOjdK1tp
 0QD5SWaueAamSS5PySiGfYLz9j+qjgzEnBv5ai854Hd3APV0gP1XYaNu7NeXcGPjWuSKBJYq
 Z1oaF81kqdUEVSSv7+KmgOXuDFqdGOvJX6YSQeDxpixBiSgSiu4LvaFQHd+hsFSTtAzZor7G
 CAymXCl++emsD+7iWZ+37Y7pxQltek4txfBPaUgsxQBiTwhh2ubIFBXaTHmDwuuumg5Hsjjd
 GJiRY9OMZY7W/XYwiO0FDQ8jil9Axrx27pyFeej3emicvlRAgiA84EoY5CaBPW52cpodk5ic
 twriqknqsSKSmFsDX25tDOWR0vvk2ooUA6mepWq3BES4MRZJJYsIRa1kJIF5UrGj789ekcYa
 BTJfCZwMwTXUKRbnjfsGUq6NuwXk4rFhPDeUQGstz96UkioFlJi28jgOAPlHYJ85wwD7Ne4f
 7fD6hunLZSCucLcKNUHo46MIWKI12IZSiJHHOZIFzhGq1CEWnKsYTL7LI84/zvUIAUzaE1hI
 /KXDpjxCEPknrVeI2zNaBwg1PwqD3XZ0Wu9ige3ek0hlTEfsurDcXZI2pe1vdJoJ0kc7/msr
 iISdZr6sTYXBrT8LZyrnLDsqZpWAcjue0uy6IGsgG107X2A7yvkNDnW9DuA5eoOQoYewrEcw
 g+tX7IVYh90nw=
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="102415665"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xhy2M5cOrQJatl8EXVRkip0B/nTId2ZZdrwc6je5fZ8Q2txZHZDELgKqqMpiD+vfR7XfZN64hN9OVUJi2+sCxFpepZkJJHEJqrBGWQyMgDNyS+Vclg2lvdBywtXin+xsPPPFeNGXGjEJkg4N7ibvPx6qh7L+uzUuVOnUTpzEUYGrFSJBnyg93FOiaew3kbfVrW1aI4mlNQqqANzZpSJhHkP/FBCxBJRmVMR7gqlqDQoYYTBwaI1Rg4mAAmN2v1V4qMqQ6FbpISNYMcy4pDoSx3924zf9SUUaDX0h0muHwJOkQVgdpUONFLjMOuixSbDlrMb64/n6m+gBEq5H3dACvw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sp53R9mfqA+z4/1nbloJSlzT4BHVq8APQQXPq6ejMFo=;
 b=eUfP9C20UQtJgN/DlbNH5FYIS7SaeEGDbGmdiErGIcoUC2z786hcESKbvDgNqzjZnKZbYT470LPrCaghrp/ypPdQZCS5qJhkX3xPO/1+jcIXlzhVd08mnAl1cgVsDGF10WapojxSkzvb2eAfzjxEr/1YDYRi19qX+oL/KUH3vU200Wc3mlkpOSEeqaEc/djOB4uKrQ4V8kkBpcxhzXZuu8L/FSgeVB70cDZecT0fcQ4ESCERyVe7aan4uh41ku0NZs5W36xqdcsEq9hg0iaL7qsrUtd5fIxFpXZkXYl1z23PkaUtl0/yajNlAZr087lpRJ+u36ETnnXCjU1v/IAOjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sp53R9mfqA+z4/1nbloJSlzT4BHVq8APQQXPq6ejMFo=;
 b=KQP1Wk57SFvzMwLytNobaGR4ztMUaThiVh91tys/dzYdGZg5MgpuZiF6ackafZk2v/779qHDG+tEc2zOsy/uswgKyT27FzhPwufTm5op6DI8e2eza+zF6z06xyQ8gxH892QeXPrylED/Q3PJjEIf473tualkt+ZhwjOVGnDm3UY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 23 Mar 2023 11:43:53 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Huang Rui <ray.huang@amd.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZBwtaceTNvCYksmR@Air-de-Roger>
References: <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
 <ZBmDl8XjIos57EIy@amd.com>
 <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
 <ZBmZxnyZWrni57Ry@amd.com>
 <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com>
 <ZBmrI3wrrwsK5Q+0@amd.com>
 <ZBquOn8x7IyI33Pj@amd.com>
 <ZBrLsRebAYaspHrK@Air-de-Roger>
 <ZBr1k/B/ve8NNqaJ@amd.com>
 <85aa668d-9614-a80d-8f44-174ecbdcf1f7@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <85aa668d-9614-a80d-8f44-174ecbdcf1f7@suse.com>
X-ClientProxiedBy: LO4P123CA0353.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18d::16) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|MN2PR03MB4960:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ec6b441-9a5e-4fd1-0564-08db2b8b824c
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0VLrmPrfV2lU0Xy5c3IxgGeqnTimaFwT7Dkg/CHfHh+QKALSOVlD/e8cVxVJvO/5IaocYJoB35ZA8cJhMj2EfMp9WLe34N12OU5z0D5uq2L9+cHN2NB/LrnfetpEvInOfn79hd4LvAQna4/zodKsMWzeYwPzAazmDgVJHvv3lNqFajA5xNPSN4sfRYTU8kp3liDSRMcIHEpxEcZxUHfao7b+FxhUgs9tcLNR8b2SnbturXjS0vYWBTierhWGO1M6gvsGTEq8nYs1y+ia8TSm0BIaNmVGPgNJD6m2SnxKt3bBKBMOkKTc6VBMnm7mcjqG1ARsuzgTAQNWXISe489FTiN9A2Db8kDZOJxx9wWwzDC5dpdI+uybSf2u/Tjh3vMjmzBt0C0LxE4wPAIbG98q+ulh8vroZ23Jdv8a8kZsqdQZdlZ6M8+pELNUNy4QqEW5xY8NVw9zI2K3hsp3mRILFqKyqXnnyXT/A45b6RppHJ9D23zlteAdEUjTjuG/7x1u1h6vNbZ7vXNZJEPhFRCl12t0KS3beL2VbXxPqi0IBj2Oae/lN2qaToy+egrhPX2HM00OdM49KvJV67YT3eBGiBo9hNlqQlOOBiPNl2loCeJusMgxVlZccEPsTc4WEJ7FhcByn9WNeLiaYy2XnOFecQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(396003)(376002)(366004)(39860400002)(346002)(136003)(451199018)(66899018)(41300700001)(66556008)(8676002)(7416002)(5660300002)(4326008)(6916009)(2906002)(86362001)(85182001)(82960400001)(38100700002)(66476007)(26005)(6666004)(6486002)(478600001)(316002)(8936002)(33716001)(66946007)(83380400001)(6512007)(6506007)(54906003)(53546011)(186003)(9686003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MGNwd0x2b3hsbWp0M3NyN0NVbXk3TUNJVU9tN05qY2VUc3M2QU44V1JYQW1y?=
 =?utf-8?B?RGMyTGRvUkVxcHN6eWdEM0ZUZHd0Z3F3Y1g4UWhWZ0FXc280R1NHbjZrN1Fv?=
 =?utf-8?B?QkJUbXFFUjdTYWZLVEJhcnlsVnB6cVJmR3dHUTdYV2V0WjZ1dm5EaUpxRHZ5?=
 =?utf-8?B?bUNDTGo5M0UwV0ptaCttK3o3YmUxOVlnWEJxczdrd2RLZXVybzVVK1FuMlRl?=
 =?utf-8?B?dFN6dkwxQ1h2R2d6UXlQYW9JWk9nalJIRGxvZWF6Tm1wT0JIWjM4Y3AyQ2Rk?=
 =?utf-8?B?QXI0VHFybkdTalNPS1I1YUhEandJOW1UcWhBc1FCZFpqVFh6WS9ZcEtDWkRY?=
 =?utf-8?B?czA4eEtFSzgrVVVPd3EvTE5lenU5M0NFMFIybWxRMUIzcVBVTzVCM2JPSlZM?=
 =?utf-8?B?RWEzYTFWczVKdWlrQWNZTVlSTldKTk9scjZldll3L0pQQitrZkhFa3gvSzJR?=
 =?utf-8?B?OFA1U1Q2MEJoZW5PNHFHa0kzTHFWR0xDbDhsTmJIcGNsN0w2ODVIVHdTQVpY?=
 =?utf-8?B?ZTlOQWRTaW5TbWRJNC9HZzZvK0Rvc2k2NHl5MEs1OVV2YTVCRnlKd0NDU3lV?=
 =?utf-8?B?MTh5ZE5nNHN1bVVJc2xia1RGbSswWVBYLzIrdUJwWmVpTHJhTjRnTGFYdW4v?=
 =?utf-8?B?blJmTGF5NkIrVHdvcDVOSVJYV2ZqMkp4U0R2Ly9qMzd6TmlVdk5tZGRkZ0xl?=
 =?utf-8?B?YTBNZFo5QS9KTmNCVytoaFNudm10bVBIMWkrcDB6V2RLKzJNZ01qUy9idkd3?=
 =?utf-8?B?TE5oOFBGZWk1cEVsbVFFQ3RBQ3V6dHRiNUxZenhNeUhuMmpyaUg5cFpZNzZ2?=
 =?utf-8?B?MGJWS0tiNmV0elorMzFOemc2bnZWWjJ0MUtjWmlpVW8ySm9VVnVFZlJENS84?=
 =?utf-8?B?UnVuVE5PNzYvTytRdkFHbkk1UWtwYTZLOHhRd1U3K2FFcmR0RnJWZjMyWkYv?=
 =?utf-8?B?UGNya3dWdWIrd1ZrWXM5TDNmM25tQWNYaTdYaHZwZERJQjk2VCtqMkJ6STFr?=
 =?utf-8?B?UkJUSmhIWkh6OWtGRmlJd21ZdUF4SFZoNk9kL1NzZ3oxTENHZWtTQXlTTW8w?=
 =?utf-8?B?emNHQ1VTU0NJVGNYcFJxZmJxOFdIU1R2Y0JidFpIZVNkOERqNk12dkdicmJO?=
 =?utf-8?B?b3FBL1dmME4wNld1UUZKcmUzSUxpa3RtTDlVcVV0elZUZnA5ZHJYZEhnMmRu?=
 =?utf-8?B?ekU3L2hlNkh3Tkl2RE44V1Q3aTZad1BGWUlUakJaR29jN0FBV0pBb3dRUlNS?=
 =?utf-8?B?MHdDdk1leG1YdFRhZnpTaU5ESURiWUx6Ym5oNk5Va09oVzFFR0g1L1dwK1Ur?=
 =?utf-8?B?K3AzcnNTVGJlaFFYRk9JMTZ2V2RqRGlzejNDT284ZlhKVW1FMXI3WXlZM1U4?=
 =?utf-8?B?TU5yQ1M0SmMrNVhVYXBqQ2QxdXg1NE03b3NWY2JUNzl4QkUyOWZIdHB2ZTNu?=
 =?utf-8?B?R0YrTmkza3NhVGV4TVJNTnNFR2V6MjVGTm9NY2xFLzk1TzVjWStvb0NZQ3NZ?=
 =?utf-8?B?Z1Uvbk9zSlNiN25GQmlqcFV1WWJTU3BNTGhDbWJldlFwa0tyb0FPM1k3S1RO?=
 =?utf-8?B?T1V4Q1c0SVo5ZTVmZW9ZSXNuaGl3ZzJFa3ZRdUMzd05xMUczYlljeFZzMUxM?=
 =?utf-8?B?Wi9rdFQySjVzRTJhVHFTMXd0RWpYTkkwYkhxNDN5NTlDY0FheU5KQm9sUzZq?=
 =?utf-8?B?eHlBbEs1OHB0NjVqU0NmOHEvV1NPYnVVTGJNRkROZ3V1QlNCMXYxNTJ3Nk1k?=
 =?utf-8?B?cGlSMHFmV3MxdGtXYXFJc1VDR09sODFwUkpCbDltZUtPOXg1blVHazIzbXU1?=
 =?utf-8?B?dHp2dnhUaXJocGsxYno0RVZhaE9UcTFsdjM5VHQyYWlNdTZJRFhZQm1LampN?=
 =?utf-8?B?YkdQWmUvQnBSbFkyYzFKcm9FNnVnNVF2bmk4d3lJK04yNzlXOUVGZHR0Zk9h?=
 =?utf-8?B?UlpLRmFQOWZuOTh3YnMxeUxaR1hEbjlVTGQvNDZLT1lSaU1VSnFoRk9hOTNX?=
 =?utf-8?B?ZTE5blMxazIyNkcvYXp6NU5rUC9LVURZUGdYZEdUUGtTZUhONCswMG81L3lC?=
 =?utf-8?B?WHpyeWVvTG04NE5RSXNxaEtJZWU1aWtaMEtTR2tWZHBTNnBmZWRIY2ZGVjkw?=
 =?utf-8?B?UUMwTFhZYTZJQ1pUMklqWDZBaVRacjZmS2hHekxRUHRyOEl5b2pGUFlNUFc3?=
 =?utf-8?B?Ync9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	wmbbyf3UEbZ8d4AUboWVoTslIzh7TyN3J1CbvUj2BHLzmK2t2rOvseQ+SWy4rJ19fBxkGsU1b7U3RyDOZ099z6esJAciVKq6T+NMrhyCfda1FNkZ1umOt4z1mMtFXbB8scUDoavW4JiPfwjDDb2/uZPGRGaK6+BN5lovh1LevH26aMWaHnUB2qA9m/mMvnfSAMyTOYs7KDCgdYa8S9FgxHaZJrCwBivGpqp2+uG3I2WKJ9OGZGzZT9X65mtjllsdZNVfF9A2nLuXqUZ4eT50v62tgcNV3cJujfHOGG/s7ORNVRIDMdZCr1mLVrZa6w/KBdc56chgLB6USK/vnJg98Qniok4ropTTeoF34fMxcI6HI9Y7K5fDRFJJf6i9+67oR4mhxhG+IOH0ZsICGFa7mldAFY0d9V6G9lBy7taxilvMZw9Et7niAPwqKfDlwP1bwpEAmWfvpyxKZsqREqdCA2e3hIgFwU7fE7sAUSOFOX8y74LbB6UjZ2psXu1M7JQdAmQkY7ZPpBITg9zeL31orM4suInYXpKOb1UEZ0jO6s4nggrL6uTTnQR39xrJg7OARRITfzZb65fOuiOOPFZy7SC3cpiiHY4ME4iVVxf9dBPa8JLtBI68MRco/2cwE8NDCI6Kmm+aV5SozWqL+ygYLeW1HTH5ioSTNSHKH0oDV28C1Hbgl3ezA4C6haI8nJnbSaB5/SevKdKn0Pt/u/oKymVWuLp+YFtW8V/E7LS3BpAkiBOSjtp1kCtalbEK8XjjqXxILUF8X1A9DWFF2XtBt25r97EwYB8MAViRAaB1Ar9V3iqS6rgw8HHf3xkCW9iPh50DO8wvUwURkPmScOAWqFTyuVS6XLP/AYV1sOrpF5y4kJBCaq9sDCfHAtX3LyyU
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ec6b441-9a5e-4fd1-0564-08db2b8b824c
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 10:43:59.1244
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LMY7bwx6CsEcw4S+emgUiVwTvjWMBdgsT/QdjxxGIHJASOyrQmWg/Q2nvS9kkwo1MIx/U/thnJRHkLftkZNpeQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB4960

On Wed, Mar 22, 2023 at 01:48:30PM +0100, Jan Beulich wrote:
> On 22.03.2023 13:33, Huang Rui wrote:
> > I traced that while we do pci-assignable-add, we will follow below trace to
> > bind the passthrough device.
> > 
> > pciassignable_add()->libxl_device_pci_assignable_add()->libxl__device_pci_assignable_add()->pciback_dev_assign()
> > 
> > Then kernel xen-pciback driver want to add virtual configuration spaces. In
> > this phase, the bar_write() in xen hypervisor will be called. I still need
> > a bit more time to figure the exact reason. May I know where the
> > xen-pciback driver would trigger a hvm_io_intercept to xen hypervisor?
> 
> Any config space access would. And I might guess ...
> 
> > [  309.719049] xen_pciback: wants to seize 0000:03:00.0
> > [  462.911251] pciback 0000:03:00.0: xen_pciback: probing...
> > [  462.911256] pciback 0000:03:00.0: xen_pciback: seizing device
> > [  462.911257] pciback 0000:03:00.0: xen_pciback: pcistub_device_alloc
> > [  462.911261] pciback 0000:03:00.0: xen_pciback: initializing...
> > [  462.911263] pciback 0000:03:00.0: xen_pciback: initializing config
> > [  462.911265] pciback 0000:03:00.0: xen-pciback: initializing virtual configuration space
> > [  462.911268] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x00
> > [  462.911271] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x02
> > [  462.911284] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x04
> > [  462.911286] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3c
> > [  462.911289] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3d
> > [  462.911291] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0c
> > [  462.911294] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0d
> > [  462.911296] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0f
> > [  462.911301] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x10
> > [  462.911306] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x14
> > [  462.911309] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x18
> > [  462.911313] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x1c
> > [  462.911317] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x20
> > [  462.911321] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x24
> > [  462.911325] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x30
> > [  462.911358] pciback 0000:03:00.0: Found capability 0x1 at 0x50
> > [  462.911361] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x50
> > [  462.911363] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x52
> > [  462.911368] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x54
> > [  462.911371] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x56
> > [  462.911373] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x57
> > [  462.911386] pciback 0000:03:00.0: Found capability 0x5 at 0xa0
> > [  462.911388] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa0
> > [  462.911391] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa2
> > [  462.911405] pciback 0000:03:00.0: xen_pciback: enabling device
> > [  462.911412] pciback 0000:03:00.0: enabling device (0006 -> 0007)
> > [  462.911658] Already setup the GSI :28
> > [  462.911668] Already map the GSI :28 and IRQ: 115
> > [  462.911684] pciback 0000:03:00.0: xen_pciback: save state of device
> > [  462.912154] pciback 0000:03:00.0: xen_pciback: resetting (FLR, D3, etc) the device
> > [  463.954998] pciback 0000:03:00.0: xen_pciback: reset device
> 
> ... it is actually the reset here, saving and then restoring config space.
> If e.g. that restore was done "blindly" (i.e. simply writing fields low to
> high), then memory decode would be re-enabled before the BARs are written.

The problem is also 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
with the real device state.

I didn't hit this on my test because the device I was using had no
reset support.

I don't think it's feasible for Xen to detect all the possible reset
methods dom0 might use, as some of those are device specific for
example.

We would have to introduce a new hypercall that clears all vPCI device
state, PHYSDEVOP_pci_device_reset for example.  This will involve
adding proper cleanup functions, as the current code in
vpci_remove_device() only deals with allocated memory (because so far
devices where not deassigned) but we now also need to make sure
MSI(-X) interrupts are torn down and freed, and will also require
removing any mappings of BARs into the dom0 physmap.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 10:44:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 10:44:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513753.795238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfIQd-0008R8-FD; Thu, 23 Mar 2023 10:44:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513753.795238; Thu, 23 Mar 2023 10:44:19 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfIQd-0008R1-Ch; Thu, 23 Mar 2023 10:44:19 +0000
Received: by outflank-mailman (input) for mailman id 513753;
 Thu, 23 Mar 2023 10:44: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=8edK=7P=citrix.com=prvs=439de8c1e=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pfIQc-0008QM-04
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 10:44:18 +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 a7d22a2c-c967-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 11:44: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: a7d22a2c-c967-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679568256;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=D5EwwHCClqjr0MtAW2O+aYPMcR/3ArxuNVhMvNJfGNg=;
  b=LDti6vOapcfDhYMS7Istknn7Y7EY1cQ9kJ/iV8P4hAW+Krlp0LA2pDWH
   MHwqsMgj6Nf6et0CvKmveZuYiBcgQIf5r6KhXwQWEZlohaU34bagoCvY+
   mB3Iif2vaDi6HVc5mCZfdiHvbIuwVDF2BjsrXGo+ztpc8zpl5IXvoL1+s
   k=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 102415682
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:23+J/Kxy6M0Bo1zUGVt6t+cAxirEfRIJ4+MujC+fZmUNrF6WrkVRy
 2tJW2mDOffbajegeI13adywoRkPu5WBx9JhSgVlpCAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6sT5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KWJux
 +wGLGsMUhfZu87smoiLWtRg1st2eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKZOUYn1lQ/UfrSmM+hgGX/dDtJ7kqYv6Mt70DYzRBr0airO93QEjCPbZwNxBrB+
 zyWpQwVBDkiCtjD9DyIyE6Hj/XmknO8RsUbKrGRo6sCbFq7mTVIVUx+uUGAifChh1S3Qd53N
 00e8S1opq83nGSpU938UhuQsHOC+BkGVLJ4A+A8rQ2A1KfQywKYHXQfCC5MbsQ8s807TiBs0
 UWG9/vrCiZoq6a9Um+G+/GfqjbaESofIHIGZCQEZRAY+NSlq4Y25jrQSv5zHajzicf6cQwc2
 BjT8nJ43e9Ky5dWiePipwuvby+QSobhTS4H9hvTBWOZ6VlFSNT/Xby41FSL4qMVRGqGdWVtr
 EToiuDHsr9fVs/QxHXWKAkeNOr3vqjYaVUwlXYqRsB8rGr1phZPaKgKuFlDyFFV3tHokNMDS
 Gvaoktv6ZBaJxNGhocnMtvqW6zGIUUNfOkJt8w4jfIUOPCdjCfdoElTibe4hggBanQEn6AlI
 ou8es2xF3scAqkP5GPoGLZAiOdynHpumji7qXXHI/OPj9KjiIO9E+9ZYDNikMhghE97nOkl2
 4kGbJbbo/mueOb/fjPW4eYuELz+FlBiXcqeg5UOLoare1M2cFzN/teMmNvNjaQ+xP8L/goJl
 1ngMnJlJK3X3iCadFXbOis4N9sCn/9X9BoGAMDlBn7ws1BLXGplxP53m0cfFVX/yNFe8A==
IronPort-HdrOrdr: A9a23:APKPdaNISh4yVsBcT7r155DYdb4zR+YMi2TDGXoBLSC9E/bo4/
 xG+c5xuyMc5wxwZJheo6H+BEDtexLhHP1OkPss1MmZLWvbUQKTRekJ0WKI+UyCJ8SRzJ856U
 9qG5IOduEZZTJB4foTi2ODfOrJD7O8nZyAtKPm6zNIcCkvUqdn6m5Ce3Om+o8dfng2OXL8fq
 DslfauYlCbCAQqh7+Adx44dtmGncTPiJXlJTYeHnccmXGzpALt0qf+Dx+bmjwDUzZDqI1SjV
 TtokjC/6C+tPP+7RfZ2wbonvJrseqk8MJHGMuPzu4KLTn24zzYHbhJavm5pTUop+Pq0nYG+e
 O82CsIDoBI8nbMeWPwmxf3xAX69z4r5xbZuCWlqEqmm9X9WDU5T/VMnphYdByx0TtcgO1B
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="102415682"
Date: Thu, 23 Mar 2023 10:44:10 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, 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>
Subject: Re: [PATCH v3 2/4] tools: add container_of() macro to
 xen-tools/common-macros.h
Message-ID: <41f0ab93-c919-4d0a-9592-ddff9a4459c2@perard>
References: <20230306072140.28402-1-jgross@suse.com>
 <20230306072140.28402-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230306072140.28402-3-jgross@suse.com>

On Mon, Mar 06, 2023 at 08:21:38AM +0100, Juergen Gross wrote:
> Instead of having 4 identical copies of the definition of a

3 now ;-), as tests/vhpet has been removed.

> container_of() macro in different tools header files, add that macro
> to xen-tools/common-macros.h and use that instead.
> 
> Delete the other copies of that macro.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> There is a similar macro CONTAINER_OF() defined in
> tools/include/xentoolcore_internal.h, which allows to not only use a
> type for the 2nd parameter, but a variable, too.
> I'd like to get rid of that macro as well, but there are lots of use
> cases especially in libxl. Any thoughts regarding that macro?
> I could either:
> - don't touch it at all
> - enhance container_of() like CONTAINER_OF() and replace all use cases
>   of CONTAINER_OF() with container_of()
> - replace the few CONTAINER_OF() users outside libxl with container_of()
>   and define CONTAINER_OF() in e.g. libxl_internal.h
> - replace all CONTAINER_OF() use cases with container_of(), including
>   the change from (.., var, ..) to (.., type, ...).

I would like to keep the functionality where we can use a type or a var,
as this is more convenient. Even Linux developer wants this extra
functionality as I've seen a couple of use of container_of() with
"typeof(*var)" in the 2nd parameter (in linux source code).

I don't know if having our macro "container_of()" been different than
the one from Linux or QEMU is going to be an issue, if that's not likely
to be an issue we could add the functionality, but if it's likely to be
an issue we could instead replace "container_of()" by "CONTAINER_OF()".

The issue that I could see with adding "*var" option to container_of()
is if someone copies code from Xen into other projects, and not realizing
that container_of() is different. While if we spell it "CONTAINER_OF()"
instead, it would be less of an issue as the macro would just be
missing. (But maybe the first case just mean the compiler will complain)


So I'm in favor of having only one macro, with the functionality of the
existing "CONTAINER_OF()" macro, and I guess spell it "CONTAINER_OF()"
instead of "container_of()". Unless you think the lower case spelling
isn't likely to be an issue.


> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  tools/include/xen-tools/common-macros.h | 4 ++++
>  tools/tests/vhpet/emul.h                | 3 ---
>  tools/tests/vpci/emul.h                 | 6 +-----
>  tools/tests/x86_emulator/x86-emulate.h  | 5 -----
>  tools/xenstore/list.h                   | 6 ++----
>  5 files changed, 7 insertions(+), 17 deletions(-)
> 
> diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h
> index a372b9ecf2..b046ab48bf 100644
> --- a/tools/include/xen-tools/common-macros.h
> +++ b/tools/include/xen-tools/common-macros.h
> @@ -76,4 +76,8 @@
>  #define __must_check __attribute__((__warn_unused_result__))
>  #endif
>  
> +#define container_of(ptr, type, member) ({                \
> +    typeof( ((type *)0)->member ) *__mptr = (ptr);        \

I think identifier starting with two '_' are supposed to be reserved.
Would you be ok to have just one? (So "_mptr")

> +    (type *)( (char *)__mptr - offsetof(type,member) );})
> +
>  #endif	/* __XEN_TOOLS_COMMON_MACROS__ */
> diff --git a/tools/tests/vpci/emul.h b/tools/tests/vpci/emul.h
> index f03e3a56d1..7169a2ea02 100644
> --- a/tools/tests/vpci/emul.h
> +++ b/tools/tests/vpci/emul.h
> @@ -27,11 +27,7 @@
>  #include <stdio.h>
>  #include <stdlib.h>
>  
> -#define container_of(ptr, type, member) ({                      \
> -        typeof(((type *)0)->member) *mptr = (ptr);              \
> -                                                                \
> -        (type *)((char *)mptr - offsetof(type, member));        \
> -})
> +#include <xen-tools/common-macros.h>

This doesn't build, so some change are needed in the Makefile.

I wondered why the gitlab ci was green while this failed to build on my
machine, and it turns out that the "default" target been used is often
"install", which does nothing for vpci. But I guess this should be fixed
by https://lore.kernel.org/r/20230313121226.86557-1-roger.pau@citrix.com


Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 10:57:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 10:57:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513762.795262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfIdg-0002QD-Vu; Thu, 23 Mar 2023 10:57:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513762.795262; Thu, 23 Mar 2023 10:57: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 1pfIdg-0002Q6-RG; Thu, 23 Mar 2023 10:57:48 +0000
Received: by outflank-mailman (input) for mailman id 513762;
 Thu, 23 Mar 2023 10:57: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 1pfIdf-0002Ph-TH; Thu, 23 Mar 2023 10:57: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 1pfIdf-0004uQ-S4; Thu, 23 Mar 2023 10:57: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 1pfIdf-0000Ud-Ex; Thu, 23 Mar 2023 10:57:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfIdf-0003aJ-EP; Thu, 23 Mar 2023 10:57:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Tt0KbKhnFwFN05sEI/6Sh6JQxzUmykryAucutdIOlVk=; b=KlCAQvzuSaGnjVVrSZ35wwW+DI
	2pFs/w6G/NOrYGrLedDlEpRsAgijbDJZyXgjJo2G83NsHbqvMgmxuitXUgdWk4DjxUDd6gkMx6nLw
	AjWzUJC2bzmEpJwC+LKajh4JPlztUKKFdST+vIEPrzxJUqcPiTECqBrSQ4eZHR2ud/K4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179889-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179889: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=95b757598f699bcb37f7d1fa60faa0ccd0d55c77
X-Osstest-Versions-That:
    xen=eee0d79134cffe605e49d240c985bc571d4bacca
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Mar 2023 10:57:47 +0000

flight 179889 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179889/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  95b757598f699bcb37f7d1fa60faa0ccd0d55c77
baseline version:
 xen                  eee0d79134cffe605e49d240c985bc571d4bacca

Last test of basis   179867  2023-03-22 10:00:36 Z    1 days
Testing same since   179889  2023-03-23 09:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   eee0d79134..95b757598f  95b757598f699bcb37f7d1fa60faa0ccd0d55c77 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 10:57:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 10:57:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513761.795251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfIdd-0002Au-Mf; Thu, 23 Mar 2023 10:57:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513761.795251; Thu, 23 Mar 2023 10: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 1pfIdd-0002An-Jx; Thu, 23 Mar 2023 10:57:45 +0000
Received: by outflank-mailman (input) for mailman id 513761;
 Thu, 23 Mar 2023 10:57: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=2sJP=7P=casper.srs.infradead.org=BATV+ab089a62be6df7c8828c+7151+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1pfIdc-0002AR-5F
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 10:57: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 8764dbd6-c969-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 11:57:42 +0100 (CET)
Received: from [2001:8b0:10b:5:b3d4:e39d:531b:642a]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1pfIdU-003tKc-H2; Thu, 23 Mar 2023 10: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>
X-Inumbo-ID: 8764dbd6-c969-11ed-85db-49a42c6b2330
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=kYYb2rmAhq4fvh3NM8RNs4pT+tPW7f66umoeKizpTwk=; b=nZKph3mqFaIDWQ3p2hcsDvnV9v
	3fGhPedIMZuAL50kamIQ3ot6xotP9ZEKPx8GeS1Ehc2Ac7NEvwEmjggqwO3oYCHRCgKgnnVC60OuQ
	2z6IsVGvgH79VwBeRPouWM3jlxEA5TWEIaN+3NLKfcQ6FzGf87wrQVDO/wVVQBycZJNd7oIwamPfu
	HKcxWZipHJGprkKBYn6FhbZP4wcnFs3AP9MCNkzmPG0F1hoCfe1VBYgG0/Dv/s4raNUrMMy38PJLG
	ytJEECjjn+QgGEB3Xtz8aRyPptURSn3DVkEeCNHwrbCKqtsgtPg2GAEocVsDwFpGdq4UXgsF1mQkb
	vCwMDByQ==;
Message-ID: <5dfb65342d4502c1ce2f890c97cff20bf25b3860.camel@infradead.org>
Subject: [PATCH] hw/xenpv: Initialize Xen backend operations
From: David Woodhouse <dwmw2@infradead.org>
To: Anthony PERARD <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>
Cc: qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>, Joao Martins
 <joao.m.martins@oracle.com>, Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 xen-devel@lists.xenproject.org, Juan Quintela <quintela@redhat.com>, "Dr .
 David Alan Gilbert" <dgilbert@redhat.com>, Peter Maydell
 <peter.maydell@linaro.org>
Date: Thu, 23 Mar 2023 10:57:34 +0000
In-Reply-To: <209fe980-7f9d-4d79-90fb-12e38f12b2bc@perard>
References: <20230307171750.2293175-1-dwmw2@infradead.org>
	 <20230307171750.2293175-10-dwmw2@infradead.org>
	 <209fe980-7f9d-4d79-90fb-12e38f12b2bc@perard>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-0i6g+Xl61EJuEaXpvOfn"
User-Agent: Evolution 3.44.4-0ubuntu1 
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


--=-0i6g+Xl61EJuEaXpvOfn
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

From: David Woodhouse <dwmw@amazon.co.uk>

As the Xen backend operations were abstracted out into a function table to
allow for internally emulated Xen support, we missed the xen_init_pv()
code path which also needs to install the operations for the true Xen
libraries. Add the missing call to setup_xen_backend_ops().

Fixes: b6cacfea0b38 ("hw/xen: Add evtchn operations to allow redirection to=
 internal emulation")
Reported-by: Anthony PERARD <anthony.perard@citrix.com>
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/xenpv/xen_machine_pv.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c
index 2e759d0619..17cda5ec13 100644
--- a/hw/xenpv/xen_machine_pv.c
+++ b/hw/xenpv/xen_machine_pv.c
@@ -35,6 +35,8 @@ static void xen_init_pv(MachineState *machine)
     DriveInfo *dinfo;
     int i;
=20
+    setup_xen_backend_ops();
+
     /* Initialize backend core & drivers */
     xen_be_init();
=20
--=20
2.34.1



--=-0i6g+Xl61EJuEaXpvOfn
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
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMwMzIzMTA1NzM0WjAvBgkqhkiG9w0BCQQxIgQgKsGz/S36
u6fv3EIIt3Mw93ZQoQYur9fLbnsL2Ip7Oucwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBBP0RTMf2rWzek1VxQndtFicx+WV+WWSNL
Iw96wYojby8POGKPmQa74qjiNyW0ruXCN/IOsmJgIORY21Tx3bkYuAKM3VoQvgXRSUVGrNcCVWV3
uk8GbFv4Fqt1Vpt9CtcOS9cCB3EqEmtIPNFj2KMWerfKfO3LJ79A55jtpDfzQvt6uDMQcd2qH17d
+HQ9g30a6bYbLdHCZLBFNfWRQVCLkLl2gMyjCKTaYtCzixLgyfWDKMMdyrQhSblTFgENp2IaNb+M
TeFCDt8m0Jghxtu8Xx6CsRcsDbtTRW2/2V6HxEmAmugV7x+qhVWYIv8AxesmoGTRN2g89HmIZQGV
8GXwu3akWekBnOnhoQ/ToGKCu9WXwPSQTKSgCA2vSsW48NHyDUJk5PeJ6z9bdgXDJotP/LkRJfpO
SX/bnvYyA06j2xoMW9JUOD3Lnt0UX8uCv0QwiKn45sI3GXdEA3TD9RG5jBr3vGh53d8DWoIl/e2s
a9aBr2G7S6uWhNrf0huzl0H9rcOLidrRSYUZQ5wWeTbOOvIrGDlVMaMMl72lUqSeW0DCyIeZ9GfZ
kmyzxUowbdVW+TdyQq66LPgZDtStPM1dVtI9QUS22RadPhAtk0myjaSbFJ4WemNBAmjDmwGSQtIu
4GVVA1Hsbz8wbC0lSCVQr1OToi5Yd32KvoQ2fpCsowAAAAAAAA==


--=-0i6g+Xl61EJuEaXpvOfn--


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 10:58:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 10:58:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513770.795272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfIeR-0003Bf-8F; Thu, 23 Mar 2023 10:58:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513770.795272; Thu, 23 Mar 2023 10: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 1pfIeR-0003BY-5L; Thu, 23 Mar 2023 10:58:35 +0000
Received: by outflank-mailman (input) for mailman id 513770;
 Thu, 23 Mar 2023 10:58: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=fJyN=7P=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfIeP-0002ks-Ne
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 10:58:34 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20628.outbound.protection.outlook.com
 [2a01:111:f400:fe12::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a62b58d3-c969-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 11:58:31 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6178.37; Thu, 23 Mar
 2023 10:58:28 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 10: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: a62b58d3-c969-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ms6+e0MpbToAS0qSVxfu0FMlVYUlSySCm3ZMWx4c1DtOvXTi700pAG+IcN1rdx5eBUdFG3dRDwmu4KwqGtowCgaoXQtVnMFJkDn9zGMn4b6TP/wD5nEqmFUEiDwJKxHRpA7mAkDObdv05JBbOwnGbm/A9PM4mPYkgv9MtqFriEURo1BzC868QCZ7fy8DNrEF1O0+zISHJWC91o3PZuh3YOo0Mm3+6QgJhdFBox0yRiNIeq8lCuAQRrUeKjceOKAD9CK22eLbPY7zXFiJ1hoQka3nsPZz+4JHlopSAdC8K7V/Dd4Ub+U8ciFWgAOmwOuMA7FYASRT6HocWT4HZ1MM4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UKE1EvudVfirDBO6xWdOtPzzq7iJxnFxu+e0rK1aHt4=;
 b=AxWCYWzzdZakPOJw2u4T+giIUzvO1OpKKETJVY2ChIG1KPZJoZByxag+VBh4O21142RzhVygX93x0qsKY5HkUNtti/1vOHzyCwas+t1VkH8G8+F1/pz1c11AYAWThV/CX+5F4F7i71Scczjj7MmOisUKP6NMjoe7gzgPB5wRxZVzn6uSbPbBjpodhUQwz+DEqZhEQvxuAFqyPDjC9yyBObaiv4Fo7n1lAZjqf8X/HkBOcKtcb4AjfC0M947DrZaZNabtL44wv/PDVCMzJtVG2i1zoWXB+Z0VRSeF/Bms/ERnL3d4wqlGEXtDxH87wFtSBgv9N21wQDfM6Th+E92Vog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UKE1EvudVfirDBO6xWdOtPzzq7iJxnFxu+e0rK1aHt4=;
 b=jY+Uxzk8gV+t6YwrNdVbkBHU2n34Yw71wxZzItc48JLP1eLBbvkY0ULYTvrBA+geBksp4Hw3MVp1VkX6qS8U6rUlEgU+WOylInTDMQmh/3C/Bp8N+QmGrr3Sc1WU5Uhbl1x4S/hezX0wnNW/ASl3l7eXoQ+f6FOMw7MXNSz3oeIZ7RSLJIUjX7brFPOPFIHZ8lLKqta9y6N3AQnx5GPIMfqKGAHfX1E85IOj5qaVQwK9fVh7+uN4QOMUSv/WC15V8s5aIr1xQtzOpeIIp14mOLT+iCunP92QShVFxRSq8H9l7170qSJC3uf3hCmFFHtjvMsxUPZWmotBlVx0yJmcwQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a9fd699f-9965-bbb1-bdd1-890350cc9238@suse.com>
Date: Thu, 23 Mar 2023 11:58:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3] vpci/msix: handle accesses adjacent to the MSI-X table
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <20230322143001.66335-1-roger.pau@citrix.com>
 <0a69ba74-71fd-101c-2f06-2cd6ced412b4@suse.com>
 <ZBs1c7ILtkRQOzki@Air-de-Roger> <ZBs2BKAfoRap1CjC@Air-de-Roger>
 <d526b87a-374a-8d78-f66f-cf71537790af@suse.com>
 <ZBwku+X6dgqFqdeJ@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBwku+X6dgqFqdeJ@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0166.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU0PR04MB9468:EE_
X-MS-Office365-Filtering-Correlation-Id: aace6d79-bd14-4a46-bed3-08db2b8d8860
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jU6wKZhHsYNhsNkUmj3OqlZ3xL2nEMwjBqRGnEKECJrlKiegYSwCpfZJ7inIiiObqKTLkpttHd9eXFFV8Ud+fyXZaSB66bZ/S9VAY/r/C45SqExDm0w6tykFDsAFVbg1796Ghm445ckY8OU/boVZ8z1uwFApvheDX2qyPR++AZcUSBBZGHUFND+zAYkKMUx5sqBW7J5eS6ppV6jIwtJSL2injkKiMnlTyqgGelnC6qMVXXjNtTdNdvfuya/WRrUuNylumvoK2hcX38Ua9Yvj4sQHI79epZR/eUcAVVuzlaJVcI5HPRNybtazDfuI+uWwXyZTIx7No7YdGgYpfGXtKzBD85oUvYgk/361i0espZd/0sYQaaaubl5s72vQHsJyb/2YMLX/tXRmUtCm1/+O96qmsNsrA8mcVgCq8ZLNMu5icLWsarDCHaB6pbIYYWiXhu7ZkjHx2Ih2ejTHmN41IxWhrWuOSspjR+OqprHyI/qr9ddnSWA4ll8SyPd4Ytjqd+hUWiHntLIFLxUq7vr4BgJxsx/Z6OJS9IXurgXpLLB3ZbTmNZJi+rr3nKo0S/LeqhCDa+sSoizbuk2JygsW2nnY0H4CCf2HCgA8RTu5Y3cjBM2h3cGM5VFISSYOrXjsIGc/eDYS1ChqdhU1UC4vfurlOpDyFpqIofgTmNpdxPkx0HqzbPEMVm/e2Rzd62cVk8wwBk9+Hc9DSGVkJNUVZOObFc3VIA+oYDSMJ5ZXANk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(136003)(346002)(366004)(396003)(39860400002)(451199018)(31686004)(38100700002)(2906002)(478600001)(83380400001)(6486002)(2616005)(186003)(31696002)(86362001)(36756003)(316002)(66946007)(8676002)(66556008)(6916009)(66476007)(4326008)(8936002)(26005)(53546011)(6512007)(6506007)(5660300002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QU9RMVQ0NmVBUlVHai9haDJFUTJIR1JCeEUzVmZQWnZNOHJXeFc1YUtwTzVX?=
 =?utf-8?B?YWdEZ1k2aVE4eGhyRHNoZ3o2OHdsZTN2VWZGMmVONEtrTDRpWEJ4L0pQcVMw?=
 =?utf-8?B?dTgxbXJyREdFTU95RFdhOVVCWkoreUVBVHkrU29QRW9YOWl5SEFlaWdOcUk1?=
 =?utf-8?B?L0M1TW4rZ1pLL09vZzZFbkJzNXBYYnBCWWt6YlUwWkVKWjdGVmJCMjBqTUcw?=
 =?utf-8?B?MUF5Y3lhMWlUUzM5L0RDQ0RoM1lzeDdrYXdYYVVaL3NpckUybXQ2RGpqejZR?=
 =?utf-8?B?QjJwYTZORWM0UlpJdkF0NVJvTDV5OTZONGk3aHpHUWJEZ0ovQWJrUDZCLzFP?=
 =?utf-8?B?RXJWK2JXZ1A4WVh1dFBlSjVLdjR5N01DbStuREdwS0dkVWVURWJoazVqT0d5?=
 =?utf-8?B?Q0c1M1RnZnhydEx6NXF5VzQ2Q09JMDVyZnpHa0JzSTcvTzIxR3BCR0ZkSFRx?=
 =?utf-8?B?YWlDUlY2Njd0WWNHQVhnM1FnQ2lHN2R1TUQzeDB2UmFuc24weTF6N2Q1VGk1?=
 =?utf-8?B?ZkVFL2l3YmNnTW1aOXdRZGpPblhwOHl0MkZMSDFKRUkvcjRGMmpWT2xXOFNV?=
 =?utf-8?B?SlA1N0ZPY1owdC9qVi96MGh2NEZmNzNOT3YvYUl0U0gxVlQ0aFZBeWE4b0xK?=
 =?utf-8?B?a3ZrdXdVZnd5cFUzQnFGQ29BbHRLeDQ0SlhOUW1uSlU5bTZYS0pmc1NIQnJ2?=
 =?utf-8?B?dVVOZ3FlVGZFSUtvZFNlWGxTY3RpdUgrckkvaTJMTmxWbzlGZGhaYUdtR0RX?=
 =?utf-8?B?THpFM0dKOHcyeXhnQ2w0Q0JMdFNhL3NzU29taDNtcWJackRuWWJUc3pEVlVT?=
 =?utf-8?B?aVAxVis5bXRvZ1N4OWRXRWZ2WVo3eTNYN2Fxd2ZsWUUrRHQ0Zkp5OTBnUlQy?=
 =?utf-8?B?VVdsTjdTcHZzZThmdkNONnZ4Y1diMDRzQ2kzc05xTDJCdmtDYkdSUTVaL0tW?=
 =?utf-8?B?RFJFNVA0OTdFcldsUWZlcXpPK0swRkU1ekFtZWpCd2tmSXZuNzg4Ly9vYjlR?=
 =?utf-8?B?Y2VQYnhqM3N4R2tHZzlVODNzWXJZYlpuQyt6ZFpCVXNFazdsbG1uUmNtc3Zn?=
 =?utf-8?B?SGFUeUZBS3NCeTIrd2t1Um9EQ0N3MnUyeHVIa0NPY3ZLY0N3VGVhckZZNlNI?=
 =?utf-8?B?aklaejRVOUZJZVNGcnZ4bjNTelVpb0MwSnFYbTNOVXp3cFR2bHdHVHpBNnov?=
 =?utf-8?B?ZHRWUnZLS0dpaFZaek16VWtlajJ5Q09vOWJKZkdieDd1S2tGUGVDVFN2S0xN?=
 =?utf-8?B?TjI4RUtWUXN1bC9kNXBNNFZDdXZuWWNCdStvbEp0bnhOOXMyZ3NNNGVRNitw?=
 =?utf-8?B?ekJGL0xLd0xoOTlkOVRpU2lFd3AwOEtzRlVCOGdXTkVZcnZ3blA3d0JkN0pW?=
 =?utf-8?B?Q2swMDlwU0dRelM1VHZmb2t5U05ETzBHMlJSVFpBd1pJcmdrWEhCYkdvSVpN?=
 =?utf-8?B?K1k2T1FFNE5ERmw3cDNLTHljMW54bUUrcmJHN2U5bTBPL3FVOFJVc1BIUDZV?=
 =?utf-8?B?UXNGR2xUVmRYekhFVGxyaDYzV3FFOEJVVmYvNUlXN0lqYTJVWDVaWE1lZlJs?=
 =?utf-8?B?MjdCRmZMZCtoOHloVml0ZHNDRy9ScElxSFB3ckgrVkY0TDQrdlVGWlZNWUFi?=
 =?utf-8?B?SlU5RnBkNGF4RWo5b2JYKzdxUFZkT21lelk3NlJpL040TU1ORW5YK0ExTTB1?=
 =?utf-8?B?emxRa3QrSHNkcE1Lcmkxb0EwMG1yemY3bUpaVVU2eHpEUXRSZGk5T09pd0hJ?=
 =?utf-8?B?NTdJRXdlejlRdUVITlJIdzhtT2Rkd2lpejNERXI2UEdEeGdQWHhjSkwveDl1?=
 =?utf-8?B?Ry9yOFFib2VDUXZVY2IxQjlTTEZwTDYwaEhiNVpaKytCNHBMcDd0UW9SUmpz?=
 =?utf-8?B?MUU5VFVEM1FVcFVRVWhtWW10Mlp5OEJxNjZZd3RJZ3o0WXFQZUFmZk1VSCsw?=
 =?utf-8?B?MnJKSkhvcEFZTUlKU3dmTVc5aE9STWcyaWlpby9PcVRpbG1QOWd1eE0rWDRH?=
 =?utf-8?B?cXNnNTU3M29RdTlxT2tWandpc1Y3ZVVmR2NmNlBIYkdKS21hcVF5cll0L05W?=
 =?utf-8?B?eUp1ZEF3TFYvTUhvQy9qMkRpZzFVVncxblhqenNkaE1HQ2hEYnZUTU5ETTBZ?=
 =?utf-8?Q?rofWG8gEG1GR8n29H58vy6OVq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aace6d79-bd14-4a46-bed3-08db2b8d8860
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 10:58:28.3044
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: znq6qmUe529i267ycmwrme72c7POUsHnAlwtmkx3NBPGhfTIIUFOamprsyOW6HI3MA5Fn3iegIxqyI7pZ+nEyQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9468

On 23.03.2023 11:06, Roger Pau Monné wrote:
> On Thu, Mar 23, 2023 at 09:02:31AM +0100, Jan Beulich wrote:
>> On 22.03.2023 18:08, Roger Pau Monné wrote:
>>> On Wed, Mar 22, 2023 at 06:05:55PM +0100, Roger Pau Monné wrote:
>>>> Not sure whether we should consider an access from when the BAR was
>>>> actually enabled by a different thread could still continue while on
>>>> another thread the BAR has been disabled and enabled again (and thus
>>>> the mapping removed).  It's a theoretical race, so I guess I will look
>>>> into making sure we cannot hit it.
>>>
>>> Hm, maybe it doesn't matter much because such kind of trace could only
>>> be triggered by the hardware domain anyway, and it has plenty of other
>>> ways to mess with Xen.
>>
>> Preferably we should get things to use proper locking. If that turns out
>> too hard, properly justified such an exception for Dom0 might be
>> acceptable.
> 
> Right, one idea I have would be to use map_pages_to_xen() in
> vpci_make_msix_hole() to remap any existing virtual addresses to point
> to the new physical addresses, so that there's no unmap.  I think this
> would be fine because map_pages_to_xen() does an atomic write of the
> PTE, but not sure if it's abusing the interface.  Such remap would
> avoid taking the vpci lock for the whole duration of the access.

Hmm, no, I'm afraid that won't suffice for another reason: I think these
mappings need properly removing, and already at the time when memory
decoding is turned off (hence a potential new address isn't known yet).
Otherwise we leave too much of a risk that these mappings may actually
be used when the address range has already been re-purposed (even if I
think with how the code is written right now there wouldn't be any use
in reality, but relying on that going forward seems overly fragile to
me).

I can be convinced otherwise, so let me also consider that case: One
prereq would imo be that bar->enabled be cleared before memory decoding
is turned off and set only after it was turned back on. (Unless again
we want to be forgiving with Dom0.) (Looking at modify_decoding() I
also wonder why we invoke pci_check_bar() even when we're about to clear
{,rom_}enabled.)

As to (ab)using map_pages_to_xen() - I wouldn't be very happy about
playing with ioremap()-ed regions behind vmap.c's back, but I agree it
looks like technically it would work. In case of future issues we could
introduce something like vremap() to fiddle with an already mapped
region (and then perhaps also only changing addresses, but not
attributes).

Another option to avoid holding the lock across the entire access might
be for get_table() to actually acquire a ref on the mapping, with new
mappings starting out with a single ref, for vpci_make_msix_hole() to
drop (in place of explicitly unmapping). But that would require further
precautions to prevent stale mappings to have new refs obtained on
them, so might easily be getting too complicated for the purpose. As
would (likely) any other attempt at serializing this properly without
holding the lock. Which gets to ask: Would it really that bad to hold
the lock across the entire access? Or could we introduce a 2nd (per-
device) lock just for this purpose, which might then be an r/w one?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 11:01:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 11:01:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513775.795282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfIhN-00052I-Qz; Thu, 23 Mar 2023 11:01:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513775.795282; Thu, 23 Mar 2023 11:01: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 1pfIhN-00052B-Nx; Thu, 23 Mar 2023 11:01:37 +0000
Received: by outflank-mailman (input) for mailman id 513775;
 Thu, 23 Mar 2023 11:01: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=fJyN=7P=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfIhM-000523-8P
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 11:01:36 +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 133d4d8f-c96a-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 12:01:34 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7213.eurprd04.prod.outlook.com (2603:10a6:800:1b3::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar
 2023 11:01:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 11:01:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 133d4d8f-c96a-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eYmLGS5ShK77cfOmxzVvaK+g70V3IBNEe1s6LF0YjdpOpumdoqPi6NBY/qIaD5c1r78fIdnhn5Az+a3gt1pBoNNzOsAuhHmUvuaM6JJi4cPnzBCuq97apx68Lre49nz1ini8+ZLpMotYLu0OynzX+qN8+XHbe+rXPM6xHwP9Mt9Id4f7pIX7xz99GmA35NgMYwwO9gotGIKVSL1JaH01snHtXfJ0XrqXaUt+h1o8NWRkbTrJ7FOPwDc/6yED67uhjBuOQ4I8loWiInTvISlU/tTEBxR45nkwGlLEYm4l7LwX0vvIaksHmsl0aCLXZSpq0V7RfRykfdzHgu/l40bEqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jKv5w8g5/kTOEI/helHq5LiOVSvHw9iXU++S4LZ+QRE=;
 b=demp7rCB522/CGYVjT4jDrttsgXL5MyAsraV4/qge+r4xN6JZIpSqAN4Quz4KUHJYb6VsUXNZuxhNknqGTBlQD3Hp3pNDRLyIxSWch9DwbsJcqa36xO+xn081eH50WsHltR2SQtdIns7g5UYgPCWjA6Va5fyhFfzj/UoJq57LNZ0aYOoDWK0iMIvXnGNYoK+8hKT6alVSeiH73/WHHKm5+/CkKFUWn+MFSUgmxUFNr98SrT1NoeiRk5KCPATP91C80XJf0u5rC7ai48xQU4hM4yRAS3HPpGLeU5MCc+xvWcWxVXPKEolK3LEbhSfGjXlMeQXSld3GEo0SavNiyrObg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jKv5w8g5/kTOEI/helHq5LiOVSvHw9iXU++S4LZ+QRE=;
 b=uE/SF9sju6aCdpjR9pgorraMd8oh4jhPWTbiyLo3mswBWr2G9ntmOHm6E/Eznr0lapuUr8fYgl7gkkd/IUq57CQSgRKMHf//1FKQQ3ykPDgcDtFYsLL1TFyIxKOAIY83KnoWCBSaL17MI4LF/fJxs/TC43E7Wuoe/yl07aas5tYJbDMmSoJ/Y8SsoCBpVmw0nRKAs5FwG8rLpUr93xpbkLMC4kyquqlR5OkCeHVjGT28Rja9J9vnAhV0lykeCNtd4IJ+6n422UZ4SGc36VwKcONEf63/VlLuCjcEUn2+ql2tPK2hbprD6xoRn7eQ4z53xo7EELaLVlm/WP1IlSF0MQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <effdbb11-b86f-54d4-f8aa-e57f27290f51@suse.com>
Date: Thu, 23 Mar 2023 12:01:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v3 2/4] tools: add container_of() macro to
 xen-tools/common-macros.h
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>
References: <20230306072140.28402-1-jgross@suse.com>
 <20230306072140.28402-3-jgross@suse.com>
 <41f0ab93-c919-4d0a-9592-ddff9a4459c2@perard>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <41f0ab93-c919-4d0a-9592-ddff9a4459c2@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0080.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7213:EE_
X-MS-Office365-Filtering-Correlation-Id: 3e42d1ad-74a0-4089-be4c-08db2b8df646
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:
	JVGZL/Yuq7uotEYjMdZTNCvmO71fmVVyc0Navt6n6tIHOR0dw5X76kWXiL56Cue1z5ko+9+u0aUik8km9uzrHGLT/xuguodNb0EKEEQQe9vVcczyARFfbGnBfAPKCc38bddHFyOXCnpcmJR3owzCajfoTi4hfeWuBKa6sP+xLO3mXoCJn+S1L9XhsMz0Njd2ik9T5J4fN0D0kgWEllkesNZbwlT3QzpWNa7uKc2TwU8VDLz1FVjXCidndfW3F4oA0mmH9U+xYd2tjKlm5GmhQx9cTf7P+rHjHTumsuXhIp2aLIIjmX4H94j/KFtYiOSK2nl+XBdOmudb8W415LGAxfA+/Xzyk9f+VfBk++zv2TBZ292g2U3onlYeYYG3x4U/6IDu0L4iwRj+wDrgJIj1sqwrnYsm7+ktBlyfiwClbU8qTI/nJ+Q0eDyn7VtYvFeexTdLqybVd6duzZGDXHEBuL4DxvbSWCCVXdO8fdXcjW31qpzpWxWkW+xmS96FNyjmLxqHOzJlSBxOdGALw8fzzfnA70ad7CDd/pdSOJET36LZplcagYhZNJcdXvC9h4zP/+pA/VkFDVb48VqxIuBV2c5U5re525jQ86VbB7HQTP18b1E/zfBLwla7kxFtQr2f641lu2P/32pNtsJKKGQu9pMN62pSoqxw5KaYgj9w6ffQVonP3tcbW9MRsmDS46vx+Pw9GC0hv5nQE47IM/Xgfam/GA2K3nbqX5qvLvdDS+E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(376002)(366004)(39850400004)(346002)(136003)(451199018)(31686004)(8936002)(66946007)(66556008)(66476007)(41300700001)(4326008)(86362001)(8676002)(36756003)(38100700002)(26005)(53546011)(6512007)(6506007)(31696002)(186003)(2616005)(316002)(478600001)(6486002)(54906003)(6636002)(110136005)(2906002)(5660300002)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WkdsajVOd3lBdlhMdjVwWjVwR0FxeEhXMkQzNkwzMDFZYzBYT1RVN3FNSTk4?=
 =?utf-8?B?dWswSTFGL3Y1QlBpY2tHdnZGek84YUtYcmRkVzlOcEVYWUg4dG5EMDg1SFQw?=
 =?utf-8?B?Sk1WNS9hT1V1c0pUaFd1NzU3NjA0QlRBUDhiUE1Walh3akRTNzZNeGhMSzBC?=
 =?utf-8?B?NU5kWTVnK3B1eEdwdnBpcFp6NmNodnlJRmxnZGlRaXlGT2IvN0xOcURBK2FL?=
 =?utf-8?B?Mk02anJxZ3owTTFKMks4OUl5WCs2LzJXNnZteGNzUmQ1QW16WWpHV0xUZjFG?=
 =?utf-8?B?ay82bmlBSHlqdzdJVWdOY2dZdGtsUmRuUTZVTVkzeHoxaUpOYkkvZXNTc3BQ?=
 =?utf-8?B?VXlQUnhscUdsRHJ5bXZWR0JYU1kwZ3BpODdMc0RLQWQ1aFdObllEbUZlb2tB?=
 =?utf-8?B?YTU0K2ZaOUcrNlE1TDRiYnJqR0ZGd2UzN212d0Z6eGwzRjZUT2tncVczUUxl?=
 =?utf-8?B?Q1oyUjJFM1VhRTl2cXI0K2VCSGNlaVR3cWprTjFKTDNXM0E3QStRZ1U0VGlT?=
 =?utf-8?B?Ly95VytEN3cxT21peVVSMjcrblF2VlIrK3lQMmxEdjRLbjRIQU9hNFVyNW0v?=
 =?utf-8?B?T0paR01YWEtjOUlJYkhMM0hhQVFwYlo2WW84R3BPUzJVdWdvU2dnS0hqTVVs?=
 =?utf-8?B?ekcxMUZjTUM2NU40MmhnQ08wbCt3VVYxRjZLaE9hSW9ESThOMzRhejlMZkdV?=
 =?utf-8?B?MnM4SWxRU0JZaUFTQmN0WDByWEd3MytGc2NWMUNZR1I5c3pnQ1lsZTJ6bGJY?=
 =?utf-8?B?eElGU2ZJWVRwM2h3R3FNY2dEN0FaTTdTZ01hR2luODl1eU1TeTN2ajR5Lzh2?=
 =?utf-8?B?OVc2ZitGamNnSWl5QXhNQllzQ2d2Q0Z5U1BCQ3ZNRm1ZQjBBVitiVmdJK2FZ?=
 =?utf-8?B?dXlsM2VHckRCdGtGMUFWd3pVcWp6NVdTU2xDUkZYRSs1NHFRdEFjMVdTdEdy?=
 =?utf-8?B?bi9RUlF1aUwvbkxEOFRYc1FnN0VnL2htUlhOeHcxWDFSRDZ3Q3JWZ1EwZEVP?=
 =?utf-8?B?WHhBOWd5RHVIQXNFblhzaENwWGtDZjFScCs1aG82NzFOOUkrSHcxY0doMnNt?=
 =?utf-8?B?bGpQaGFMNU1LdmlBOEgrZlRlSHFCQ0ZPcHVJUGpSaksvb000WWJ4NlFkUzRx?=
 =?utf-8?B?WURLUUJwTFMyZ1FWWmJ2SEtpczQwcTBnQmtlSzNZMENIZERXRjJYWEMrRkND?=
 =?utf-8?B?Z0F6Y2pVdGQ4WnR0U3ZIcE02UWdaRllvNW0vQThJbUFNNm5uZjM1alhsT2c3?=
 =?utf-8?B?ZmErRHhSRTlrODN2Z0pFbnFLdUVVYXMyVXp4UVRCbkZsZURIN2VkVnkzK0F0?=
 =?utf-8?B?RUV5Nlp3dVBsMDlNK0VKL3YxUkFEeEQzY1A0LzhEZVVvMEN0ZnI1aU9qeThy?=
 =?utf-8?B?Rjl6MFFZbkdiaXN1VmpkWS80aWR3dzJuRFZxdXhhVHdSdm1DbkpwZkttbkpV?=
 =?utf-8?B?NStJTVJlS1NnRmxRZmJDVXpLeU4yS3dORlFLQUVIWUtkc3JnZU1Fa3N5V3Zz?=
 =?utf-8?B?bk5TSVZvdjdTUFkzMjJ4a25GbXlJUmtwMHU5OEh0T1l2N2RENDlwbUpQbHI5?=
 =?utf-8?B?NWZqRGdxcTFIeUNscFFpTEgveVJnUzN0T0xCMVlPanlkRXZYMWdBWmJmUlBQ?=
 =?utf-8?B?N3MzSXRhbXIrNi9VWjFXa0drYmVNUnB0cGx6ODJ4TlRhQVB1cjFiNGp6RkI2?=
 =?utf-8?B?aC9LdkJ1MlBpWVRQQ0NIM1ozQ0wxcWJFZHRVLzhQR0t6WDhpeWpxMnJTczFk?=
 =?utf-8?B?TDNuS3pDSU8rc0RQdmlTNUU4blU5WDkzbVBIRE8zUnlLKzJNdmNscVdsWlZq?=
 =?utf-8?B?ZnFRaFlMV2F4VVFNK3Zmby9HUTAraVB2Rm0wTFIrWkRGMmhoay9FejNQUkZx?=
 =?utf-8?B?NTA2ZGhiNjhGVExCWWxubCtQL25wOTlzQlJCWnhpWTZWRUdObERoM3RHRmJM?=
 =?utf-8?B?MjI5YzlFQUlJRzlNbko3ek5ObFFMWENOV3VLekFQaDYwQ0FrcVUvQW9HU0Qr?=
 =?utf-8?B?TXpLYngzMHRvOElRaW9pclVJV0tzYnFtVXUxK21UK2lQZEwxeG5Ta24xQ2dQ?=
 =?utf-8?B?WUZNOUlYZ3F0a3M5V2lpdXFaMWJidmZwTmZLZXlxQ3lBZEdlKzRGdU1pMmNB?=
 =?utf-8?Q?zEBvJx5qUsNOViZ0zrrwkPNpO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e42d1ad-74a0-4089-be4c-08db2b8df646
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 11:01:32.6365
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AzoSGEXiL/FwRr52uwL5+76LwNJ0bgbBdvcaIJHGrBgkla3POV0SAG3JVyVq4nR4OEc6NgP78prtqnnA/xZOtQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7213

On 23.03.2023 11:44, Anthony PERARD wrote:
> On Mon, Mar 06, 2023 at 08:21:38AM +0100, Juergen Gross wrote:
>> --- a/tools/include/xen-tools/common-macros.h
>> +++ b/tools/include/xen-tools/common-macros.h
>> @@ -76,4 +76,8 @@
>>  #define __must_check __attribute__((__warn_unused_result__))
>>  #endif
>>  
>> +#define container_of(ptr, type, member) ({                \
>> +    typeof( ((type *)0)->member ) *__mptr = (ptr);        \
> 
> I think identifier starting with two '_' are supposed to be reserved.
> Would you be ok to have just one? (So "_mptr")

Except that single-underscore prefixed names are also kind of reserved
(for file-scope symbols). Hence why I'm generally suggesting / asking
for trailing underscores to be used.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 11:07:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 11:07:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513779.795295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfIma-0005fY-Gf; Thu, 23 Mar 2023 11:07:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513779.795295; Thu, 23 Mar 2023 11:07: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 1pfIma-0005fR-Dr; Thu, 23 Mar 2023 11:07:00 +0000
Received: by outflank-mailman (input) for mailman id 513779;
 Thu, 23 Mar 2023 11:06: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=8edK=7P=citrix.com=prvs=439de8c1e=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pfImY-0005fL-NQ
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 11:06:58 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d21ee2f5-c96a-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 12:06: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: d21ee2f5-c96a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679569616;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=szxHWg5PaGHacRUxOzdsxpFjzap0lp1Q1iAMqJ7ffLE=;
  b=KtF3y6PK2/QbCJFd5PwS7QJL0N6MZky6ittmTkTGXAM46SsDFi+3Pw8K
   xJsLUMQgKKCEUE5zOKYZspqcX76WUOO8/n9zpma8n69pMIkNuhVlM27YN
   YQDiAjZGe6NIRb2ULHLOQOo1zjFyPVK2IHrbvhL0G/vVxdXJHz9Fr6S8l
   Q=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 104419328
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:trZRSKA2+rqYpBVW/w/jw5YqxClBgxIJ4kV8jS/XYbTApDh0hDVVy
 zAZCGqHb67YMzamLowgYYu/pk0GvZbXm4c2QQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhC5QRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw9Nh+DFBH8
 dojJQsIUB+l3bKUn5Ojc7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTIJs4gOevgGi5azBCoUiZjaE2/3LS3Ep6172F3N/9I4TWGZwExRzIz
 o7A1zT2IRgUNMC98zOm2GqijczyzAakB6tHQdVU8dY12QbOlwT/EiY+V1ShpuKiolWjQN8ZI
 EsRkgI+oK53+EG1Q93VWxyjvGXCrhMaQ8BXEeAx9EeK0KW8ywSTC3UATzVBQMc7r8JwTjsvv
 neWm/v5CDopt6eaIVqU7rqOpCm+ETQUJ2QFIyQDSGM4D8LL+d9pyEiVF5A6TfDz14eucd3t/
 9yUhCYAjrgihMot7KiA+G7IpWj8hMfoVjdgs207QVmZAhNFiJ+NPtL3uAOFsKYZd+51XXHa4
 iFaxpH2APQmSMjUyXfTGLhl8KSBva7tDdHKvbJ483DNHRyJ8mXrQ41f6SoWyKxBYpddIm+Bj
 KM+VGpsCH5v0JiCN/Ufj3qZUZhC8EQZPY2NugroRtRPeINtUwSM4TtjY0Wdt0i0zhd9zPhnY
 M3BIZn3ZZr/NUiA5GTeegvg+eVzmnBWKZ37HPgXMChLIZLBPSXIGN/pwXOFb/wj7bPsnTg5B
 +13bpPQoz0GCbWWSnCOoeYuwaUicCFT6Wbe8JcMKIZu42NORQkcNhMm6eh8JtE1zvQOzbigE
 7PUchYw9WcTTEbvcW2iAk2Popu1Bf6TcVpT0fQQAGuV
IronPort-HdrOrdr: A9a23:KLOKzq41K2kt6QtM2gPXwPfXdLJyesId70hD6qm+c20tTiX4rb
 HXoB1/73XJYVkqKRQdcLy7Scu9qDbnhP1ICOoqXItKPjOW3FdARbsKheDfKn/bexEWndQtsp
 uIHZIObuEYzmIXsS852mSF+hobr+VvOZrHudvj
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="104419328"
Date: Thu, 23 Mar 2023 11:06:36 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, 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 v5 1/5] tools: get rid of additional min() and max()
 definitions
Message-ID: <ccc0ebeb-4300-4df5-b5cf-3f4059567eaa@perard>
References: <20230323090859.25240-1-jgross@suse.com>
 <20230323090859.25240-2-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230323090859.25240-2-jgross@suse.com>

On Thu, Mar 23, 2023 at 10:08:55AM +0100, Juergen Gross wrote:
> Defining min(), min_t(), max() and max_t() at other places than
> xen-tools/common-macros.h isn't needed, as the definitions in said
> header can be used instead.
> 
> Same applies to BUILD_BUG_ON() in hvmloader.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 11:10:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 11:10:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513783.795315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfIps-0007aW-7d; Thu, 23 Mar 2023 11:10:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513783.795315; Thu, 23 Mar 2023 11:10:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfIps-0007aP-4o; Thu, 23 Mar 2023 11:10:24 +0000
Received: by outflank-mailman (input) for mailman id 513783;
 Thu, 23 Mar 2023 11:10: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=8edK=7P=citrix.com=prvs=439de8c1e=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pfIpr-0007a1-Pd
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 11:10:23 +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 4b775d31-c96b-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 12:10: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: 4b775d31-c96b-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679569821;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=ejf5okrfxPZWsZMqJGB9Xzxn20GadA9hGbz8Bcrlkpg=;
  b=SgpFys/NqHq+rHl7q4RR3h7Xy67QrPAhRoZuZEKpdi0VxaSisA+WtbKj
   15W3N3B1b79kHwOMsnDM71wlHI1HgfwXTu73nyDx5PAixj5d0XzUoahfC
   TUe2+zdRnNxbK8f0nR5pRRTlM1iTbo4YNF0lMV3u4+iYZgno6c/keifDw
   o=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 102009417
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:RrsNBqCzTmOnaRVW/x7jw5YqxClBgxIJ4kV8jS/XYbTApDt00TBTy
 TBODz3Sa6rbYjHxed8gad+zoBhSucSGx9cxQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhC5QRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw180vHlpH6
 KUhKT0TQCLaivm0g4O2Y7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTIJs4gOevgGi5azBCoUiZjaE2/3LS3Ep6172F3N/9I4TQHZ0Ewh/Hz
 o7A13/1CTM1c5+W8n3b8X+Th9DwmjzcXZ1HQdVU8dY12QbOlwT/EiY+V1ShpuKiolWjQN8ZI
 EsRkgI+oK53+EG1Q93VWxyjvGXCrhMaQ8BXEeAx9EeK0KW8yxmdLngJSHhGctNOnM08SCEu1
 1SJt8j0HjEpu7qQIVqf67OVoDWaKSUTa2gYakcsRBMI+dD5rKkvjxjESZBoF6vdszHuMWium
 XbQ9nF43uhNy5dRjM1X4GwrnRqBjcDWdQcovzzWU3yL3Fp0f4zmVoGBvA2zAel7EGqJcrWQl
 CFaxJnFsr1eVMrleD+lG7tUQuzwjxqRGHiF2AM0QcF8n9i40yT7Fb289g2SM6uA3iwsXTbyK
 HHetgpKjHO4FCv7NPQnC25d5ilD8EQBKTgGfqqOBja2SsItHDJrBQk3DaJq40jjkVI3jYY0M
 oqBfMCnAB4yUPo4nWfvH75Hi+90nUjSIF8/orilpylLLJLEPCLFIVv7GALmgh8FAFOs/1yOr
 oc32zqiwBRDSuzuChTqHXooBQlSdxATXMmuw+QOL77rH+aTMDx4YxMn6eh6ININcmU8vrqgw
 0xRrWcDlQei1SyXcl7VAp2hAZu2NatCQbsAFXREFT6VN7ILOO5DMI93m0MLQIQa
IronPort-HdrOrdr: A9a23:pMkzD6zygzvF6ABo7HKJKrPwDb1zdoMgy1knxilNoEpuA6qlfq
 GV7Y4mPHrP4wr5N0tNpTntAsa9qBDnhPxICOsqXYtKBzOW31dARbsKheHfKlvbdREWndQttp
 uIHZIeNDVcZmIWsS58izPIaOrJFLK8gdiVbUi19QYVcenHAZsQijuQq2ygYylLeDU=
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="102009417"
Date: Thu, 23 Mar 2023 11:10:13 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>, 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>
Subject: Re: [PATCH v5 2/5] tools: add container_of() macro to
 xen-tools/common-macros.h
Message-ID: <d6025554-ffb8-4394-bfb7-8818fc3c60dd@perard>
References: <20230323090859.25240-1-jgross@suse.com>
 <20230323090859.25240-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230323090859.25240-3-jgross@suse.com>

On Thu, Mar 23, 2023 at 10:08:56AM +0100, Juergen Gross wrote:
> Instead of having 4 identical copies of the definition of a

Nit: 3 ;-), no more copies in removed vhpet tests.

> container_of() macro in different tools header files, add that macro
> to xen-tools/common-macros.h and use that instead.
> 
> Delete the other copies of that macro.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 11:10:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 11:10:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513782.795305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfIpp-0007LG-13; Thu, 23 Mar 2023 11:10:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513782.795305; Thu, 23 Mar 2023 11: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 1pfIpo-0007L9-Sz; Thu, 23 Mar 2023 11:10:20 +0000
Received: by outflank-mailman (input) for mailman id 513782;
 Thu, 23 Mar 2023 11:10: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=7ZVY=7P=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pfIpn-0007L2-EG
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 11:10:19 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 490caa09-c96b-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 12:10:15 +0100 (CET)
Received: from CY5PR13CA0054.namprd13.prod.outlook.com (2603:10b6:930:11::18)
 by SN7PR12MB6885.namprd12.prod.outlook.com (2603:10b6:806:263::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar
 2023 11:10:11 +0000
Received: from CY4PEPF0000C97F.namprd02.prod.outlook.com
 (2603:10b6:930:11:cafe::e3) by CY5PR13CA0054.outlook.office365.com
 (2603:10b6:930:11::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.6 via Frontend
 Transport; Thu, 23 Mar 2023 11:10:11 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000C97F.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.6178.30 via Frontend Transport; Thu, 23 Mar 2023 11:10:10 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 23 Mar
 2023 06:10:10 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 23 Mar
 2023 06:10:10 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 23 Mar 2023 06:10:09 -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: 490caa09-c96b-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bosZ9MIGJc6dRrBpWwUY/MLPH6OHjC4aVRhFfva2357lP2/Ww0UQnWPDQpXAQQ2oMxfaUgYwD+LlAX98K8DG+hNHoYPNI/+AaoPjG5eeSez0X4cMw11Rf9UxCQWEtWxcdJ8RXEpYYOllZAYCShRXKInxoGRuLsjOm8bQwHQG22Xz9MY9nVNRj+gm86DGewRy1WGqyIDWKuLgN21j9xbg+ToFT165yFHqhTF7OlrfnUxzAPedrqiMGzXTBcR7aBQ6nzoDTsVQTdb0FJG3gnYJNS8CAjzj53FDIkTehb8vHPd0blGgqTeKB1zO8/xBiHX/EZJD0YUTuACmwb+H01/4oA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4widxbphHpArrB0F3pOKk8DifoAe5kxLKXEB+osPoG4=;
 b=TFM1yT8WIfIgDuN4lQruspOxS9THZ/7l3LMmZiWunHpDvcv1CSOQJNocjLsD9jOrs8yPuW58YYgX41TuSELW/dgJcPQQ8fQCnCHrdXkVDoVt+v8pcU/xj1Uwm7K3O9vo6PMQzNn4+KijVCXRocpk77r2NQGlJzQJXP21ZNt+5mwmY4D/sznrhe0kbNamIdegfu0pC4pEECj0wy7VAg/sfA5aSoBsYk9Wj32+AutuqMW5W1BpEh3UqwCLNi3fpb1aKv1hirJNbSyahsn1NJsYOgOIA0Q7dkN6IE3vOoO1bWHKxHcuTBbcuBZFP2KUXqpG63vhLrcxyG7V1RUMIKHvaw==
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
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=4widxbphHpArrB0F3pOKk8DifoAe5kxLKXEB+osPoG4=;
 b=d7eAde7MGPJ2MJNXGLG0DQfmtPXsyxxgZoVH0M+ra6YdKSMQ2/5rcQ/b92aL8XVLb0rqk2/bSSsLkZKa62XiLz1xLt7b88kv3nw5IoLNMN9KMTFbXN+OPDsq463f3VyXernSM3XgEY36LSVVqscIuKUppd9Q+3ZbX7wMDfeHB3I=
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: <b0253701-3696-fd18-ba74-9fb7e6150a1f@amd.com>
Date: Thu, 23 Mar 2023 12:10:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 2/2] xen/arm: vpl011: Fix domain_vpl011_init error path
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: <20230322102941.959-1-michal.orzel@amd.com>
 <20230322102941.959-3-michal.orzel@amd.com>
 <130680d1-155e-e989-8ab9-2ef59ca59fd6@xen.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <130680d1-155e-e989-8ab9-2ef59ca59fd6@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000C97F:EE_|SN7PR12MB6885:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ba56348-cffa-4865-c219-08db2b8f2b37
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	APK5dqzhhlp4ZIDI4eakJB0+oLiEwM58OvyntUTKQoU26Pki1I8AL+FxFwuBz6JIMEI6pPLAUuGXcoOjZi1+QGaRuJ2d3QbtXBtOuj7R9CbThN8XC09s+cACbWSDnZW3bOKq5wUiVDD6rzqxFNt57k7WkV5eFhFPTfCU9IlJr/14zDbVBPub+PldhkUCLtz3ko3zXkPDrOk9MwW5T1DCF2EipyQ1Fu3Ij+WSJIcVaXCHOKL4k0O3s2g/c2PgJZgBdp71/r9CxAy2AGb99kAUFWUHDtW9bt9i51y1lENPvorG4k3CSuk+Nvv4NUvpsxybfrzsaxwQia0QYZmOZLy+NrIEmM1ipTR2dKaj/SOWCqKmr97MmdrQJiSuhgs+Ex+DZdbf2wwXer69KUgs+dldBoHnkJBg192sgYm6pukCl12fJzYP5v0yMyAkyOHbeBvLcKL4xa4ODWL+H1n5uGuV7dUyba/esqjbpo3Ngqn5zaIqPzUSUU6Hy0nJ19kXTF58A8uTy6M5tDOB0qkGwWWTddUO6ngftpF1rvsdVMKbgd4l67tQsto2wyMUSe2r1GLMjp/JjRnvu5QDe8VfYikOUYXPq1yjgfz5rVaaDRjyLFLmqqFK/XIizDSDYD0crPC1JARSFehBTDkXZmFk63cR2WSMW54yNGlBKnXGu/cZ6feY4D192Ws2Y2wC4qLFkjwgD5EAU2PJbd+/Z56Vr6R3VKt3otYjaTxe3ePLrvGb9DD5wYDRQN1q1WLQmyLtGnkgfe0MqaOI8ymgw66cshksJQ==
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:(13230025)(4636009)(136003)(376002)(396003)(346002)(39860400002)(451199018)(36840700001)(46966006)(40470700004)(86362001)(356005)(31686004)(2616005)(336012)(82740400003)(6666004)(26005)(186003)(53546011)(31696002)(426003)(47076005)(478600001)(2906002)(54906003)(4326008)(81166007)(40460700003)(82310400005)(44832011)(83380400001)(110136005)(16576012)(70206006)(40480700001)(316002)(5660300002)(8676002)(41300700001)(36860700001)(8936002)(36756003)(70586007)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 11:10:10.7198
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ba56348-cffa-4865-c219-08db2b8f2b37
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:
	CY4PEPF0000C97F.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6885

Hi Julien,

On 22/03/2023 17:19, Julien Grall wrote:
> 
> 
> Hi Michal,
> 
> On 22/03/2023 10:29, Michal Orzel wrote:
>> When vgic_reserve_virq() fails and backend is in domain, we should also
>> free the allocated event channel.
>>
>> When backend is in Xen and call to xzalloc() returns NULL, there is no
>> need to call xfree(). This should be done instead on an error path
>> from vgic_reserve_virq().
> 
> Most likely this was implemented this way to avoid a double "if (
> vpl011->backend_in_domain)". TBH, I am not very thrilled with this
> approach. Could we instead consider to use domain_pl011_deinit()? (A
> couple of tweak would be necessary to use it)
I think we could. More about it later.

> 
>> Also, take the opportunity to return -ENOMEM
>> instead of -EINVAL when memory allocation fails.
>>
>> Fixes: 1ee1e4b0d1ff ("xen/arm: Allow vpl011 to be used by DomU")
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>>   xen/arch/arm/vpl011.c | 11 +++++++----
>>   1 file changed, 7 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
>> index 541ec962f189..df29a65ad365 100644
>> --- a/xen/arch/arm/vpl011.c
>> +++ b/xen/arch/arm/vpl011.c
>> @@ -696,8 +696,8 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
>>           vpl011->backend.xen = xzalloc(struct vpl011_xen_backend);
>>           if ( vpl011->backend.xen == NULL )
>>           {
>> -            rc = -EINVAL;
>> -            goto out1;
>> +            rc = -ENOMEM;
>> +            goto out;
>>           }
>>       }
>>
>> @@ -720,12 +720,15 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
>>   out2:
>>       vgic_free_virq(d, vpl011->virq);
>>
>> +    if ( vpl011->backend_in_domain )
>> +        free_xen_event_channel(d, vpl011->evtchn);
>> +    else
>> +        xfree(vpl011->backend.xen);
> 
> There is another bug here (unrelated to your change). You want to use
> XFREE() to avoid an extra free in domain_pl011_deinit(). Can you look at it?
Strictly speaking this is not a bug. Memory allocation can only happen if backend is in Xen.
This means, that if vpl011 init fails, we will call free only once (domain_vpl011_deinit
will not be called on this path i.e. we will invoke panic after construct_domU).
Of course, we could switch to XFREE just for sanity.

> 
>> +
>>   out1:
>>       if ( vpl011->backend_in_domain )
>>           destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
>>                                   vpl011->backend.dom.ring_page);
>> -    else
>> -        xfree(vpl011->backend.xen);
>>
>>   out:
>>       return rc;
> 
Solution to reuse domain_pl011_deinit would be as follows:

     vgic_free_virq(d, vpl011->virq);
 
 out1:
-    if ( vpl011->backend_in_domain )
-        destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
-                                vpl011->backend.dom.ring_page);
-    else
-        xfree(vpl011->backend.xen);
+    domain_vpl011_deinit(d);
 
 out:
     return rc;
@@ -737,12 +733,15 @@ void domain_vpl011_deinit(struct domain *d)
 
     if ( vpl011->backend_in_domain )
     {
-        if ( !vpl011->backend.dom.ring_buf )
-            return;
+        if ( vpl011->backend.dom.ring_buf )
+            destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
+                                    vpl011->backend.dom.ring_page);
 
-        free_xen_event_channel(d, vpl011->evtchn);
-        destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
-                                vpl011->backend.dom.ring_page);
+        if ( vpl011->evtchn )
+        {
+            free_xen_event_channel(d, vpl011->evtchn);
+            vpl011->evtchn = 0;
+        }
     }
     else
         xfree(vpl011->backend.xen);

However there is one problem with guarding free_xen_event_channel to be called only once.
Even without allocating event channel, vpl011->evtchn is 0 by default. So doing:
if ( is_port_valid(vpl011->evtchn) )
    free_xen_event_channel(d, vpl011->evtchn);
would not help us as evtchn 0 is always there. So in my proposal I'm assuming (I think correctly)
that vpl011->evtchn cannot be 0 after successful evtchn allocation because 0 is "reserved".
But I might be wrong in which case I'm clueless how to do the proper check.

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 11:18:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 11:18:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513790.795325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfIxY-000094-5X; Thu, 23 Mar 2023 11:18:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513790.795325; Thu, 23 Mar 2023 11: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 1pfIxY-00008x-2l; Thu, 23 Mar 2023 11:18:20 +0000
Received: by outflank-mailman (input) for mailman id 513790;
 Thu, 23 Mar 2023 11:18: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=6w1C=7P=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pfIxW-00008r-K3
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 11:18:18 +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 67495f54-c96c-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 12:18:15 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id l12so20011285wrm.10
 for <xen-devel@lists.xenproject.org>; Thu, 23 Mar 2023 04:18:14 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 v3-20020adfe4c3000000b002cf8220cc75sm7998308wrm.24.2023.03.23.04.18.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Mar 2023 04:18: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: 67495f54-c96c-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679570294;
        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=qPFKWsVdl6/0HXaBPNn5qvqY7qtKq1/ygkdLGCEXykI=;
        b=mlktyJNvmkqpomU7eD1wJMsKqy+In9sm8VDH1j3/bf3E9ZTEq84RtJFTdNNAnmQ6x7
         bBYkWKamPqVA6JG3XBhn6TiH9byOnqDksBq6i8tXbGfFnbyYy0AGT8MHWLhScevTn3tJ
         vjQZItdzASvMGFITl+55zynpd/smoe1ipuFd4ZFRoaQoHLqxw/oNVawhIp6srPhxGWa/
         xpnnI+gMXOjLMrB1frRPn6w1E+IAysLwCX2tBLdQmbcCw1UrIHtfhXhNr9mpfFzxR0Xa
         6mePrAwwtgQRpsvlLBfivnVM5+FLT2NLZQWEbTDY8o/bFCxurFv30c8R+4dbJCcFWmgH
         DrKw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679570294;
        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=qPFKWsVdl6/0HXaBPNn5qvqY7qtKq1/ygkdLGCEXykI=;
        b=vwOuUo7rTDvVF7S4AuD5VHwfmICYICBIBYz2AI/1miBgrlCPjP592w82pes2wgLJsC
         qiRGCx6zrbRIn0+C73dqgm8HL+4yDQ5pNSvOktNidCX0vLuBKBlaIVTCA4pQyJOdZOUe
         d5qaoV0sCSgAI34U5TCKmYkwAuO7+/Ocx/30KVcroaicgTU/n7I0k4N1t4CCtlHTMFPM
         31cCJdChtMdsa50cxF8qeFX8EwwoOjYFlsovSJrCMdXwVdfpcQ9m5u9eEnzdEyNLb53d
         WdKhN5Yxd2sSCmw2g9ouZsYSDg67GNcT6GH+CSN3+b6EIH4k8SA6V3ar+tTB2kwEQPUK
         Uq1Q==
X-Gm-Message-State: AAQBX9dToYuNtRRuVAjQf+RruuzD91y6dmO5+nnkkA6mpYtnPAVb2is2
	6lOBn2fz6gF+oRDNi4ftH/E=
X-Google-Smtp-Source: AKy350aYtvWxmHCKo+FMJ6O3GYkVV7uiG5lVTvMEmx5+9H3fUiqlOMNWdPaNLP+45XDZjhsEBpr5cw==
X-Received: by 2002:adf:fa0c:0:b0:2cf:e70f:d1a8 with SMTP id m12-20020adffa0c000000b002cfe70fd1a8mr2275628wrr.10.1679570293895;
        Thu, 23 Mar 2023 04:18:13 -0700 (PDT)
Message-ID: <c9f4b34c4aef31906e715c7ddce8e077e5eef52c.camel@gmail.com>
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>
Date: Thu, 23 Mar 2023 13:18:12 +0200
In-Reply-To: <60444252-80b6-230e-9090-2c96d5d6187d@xen.org>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
	 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
	 <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
	 <5169c6c8a0c4c90b56e3f525a55de464edf7181e.camel@gmail.com>
	 <60444252-80b6-230e-9090-2c96d5d6187d@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

Hi Julien,

On Wed, 2023-03-22 at 14:21 +0000, Julien Grall wrote:
...
>=20
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long page_addr;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 // /* align start addresses */
> > > > +=C2=A0=C2=A0=C2=A0 // map_start &=3D XEN_PT_LEVEL_MAP_MASK(0);
> > > > +=C2=A0=C2=A0=C2=A0 // pa_start &=3D XEN_PT_LEVEL_MAP_MASK(0);
> > >=20
> > > They should be switched to ASSERT() or BUG_ON().
> > Sure. Thanks. I'll update.
> > >=20
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 page_addr =3D map_start;
> > > > +=C2=A0=C2=A0=C2=A0 while ( page_addr < map_end )
> > >=20
> > > This loop is continue to assume that only the mapping can first
> > > in
> > > 2MB
> > > section (or less if the start is not 2MB aligned).
> > >=20
> > > I am OK if you want to assume it, but I think this should be
> > > documented
> > > (with words and ASSERT()/BUG_ON()) to avoid any mistake.
> > I add a check in setup_initial_pagetables:
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON(load_addr_start % (PAGE_ENTRIES *=
 PAGE_SIZE) !=3D 0);
> > Probably this is not a correct place and should be moved to
> > setup_initial_mapping() instead of setup_initial_pagetables()
>=20
> Yes it should be moved in setup_initial_mapping().
Then I'll moved it to setup_initial_mapping()
>=20
> > >=20
> > > > +=C2=A0=C2=A0=C2=A0 {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long index2 =
=3D pt_index(2, page_addr);
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long index1 =
=3D pt_index(1, page_addr);
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long index0 =
=3D pt_index(0, page_addr);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Setup level2 table *=
/
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 second[index2] =3D padd=
r_to_pte((unsigned long)first);
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 second[index2].pte |=3D=
 PTE_TABLE;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Setup level1 table *=
/
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 first[index1] =3D paddr=
_to_pte((unsigned long)zeroeth);
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 first[index1].pte |=3D =
PTE_TABLE;
> > > > +
> > > > +
> > >=20
> > > NIT: Spurious line?
> > Yeah, should be removed. Thanks.
> > >=20
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Setup level0 table *=
/
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(&zer=
oeth[index0]) )
> > >=20
> > > On the previous version, you said it should be checked for each
> > > level.
> > I had a terrible internet connection, and my message wasn't sent.
>=20
> No worries.
>=20
> >=20
> > I decided not to check that l2 and l1 are used only for referring
> > to
> > the next page table but not leaf PTE. So it is safe to overwrite it
> > each time (the addresses of page tables are the same all the time)
>=20
> You are letting the caller to decide which page-table to use for each
> level. So you are at the mercy that caller will do the right thing.
>=20
> IHMO, this is a pretty bad idea because debugging page-tables error
> are=20
> difficult. So it is better to have safety in place. This is not
> worth...
>=20
> =C2=A0 and
> > probably it will be better from optimization point of view to
> > ignore if
> > clauses.
>=20
> ... the optimization in particular when this is at boot time.
I didn't think about that caller will do always the right thing so
I will add the check.
>=20
> >=20
> > And it is needed in case of L0 because it is possible that some
> > addressed were marked with specific flag ( execution, read, write )
> > and
> > so not to overwrite the flags set before the check is needed.
> In which case you should really report an error because the caller
> may=20
> have decide to set execution flag and you don't honor. So when the
> code=20
> is executed, you will receive a fault and this may be hard to find
> out=20
> what happen.

Right now, it is expected situation that the caller will try to change
execution flag during the setup of initial page tables.

It is possible in the currently implemented logic of the setup of
initial page tables.

Let me explain what I mean.

The first step of setup_initial_pagetables() is to map .text, .init,
.rodata with necessary flags RX, RX, R.
Remaining sections will have RW flags, and to map them,
setup_initial_mapping() is called for the whole range of [linker_start,
linker_end] not to map them one by one thereby during this step
setup_initial_mapping() will try to remap addresses ranges which
overlap with .text, .init, .rodata with RW flags but it should leave
with the previously set flags.
>=20
> >=20
> > > the next page table but not leaf PTE.But here you still only
> > > check
> > > for a single level.
> > >=20
> > > Furthermore, I would strongly suggest to also check the valid PTE
> > > is
> > > the
> > > same as you intend to write to catch any override (they are a
> > > pain to
> > > debug).
> > but if load addresses and linker addresses don't overlap is it
> > possible
> > situation that valid PTE will be overridden?
>=20
> A bug in the code. In fact, if you add the check you would have
> notice=20
> that your existing code is buggy (see below).
>=20
> > >=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=
 /* Update level0 table */
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 zeroeth[index0] =3D paddr_to_pte((page_addr -
> > > > map_start)
> > > > + pa_start);
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 zeroeth[index0].pte |=3D flags;
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Point to next page *=
/
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 page_addr +=3D XEN_PT_L=
EVEL_SIZE(0);
> > > > +=C2=A0=C2=A0=C2=A0 }
> > > > +}
> > > > +
> > > > +/*
> > > > + * setup_initial_pagetables:
> > > > + *
> > > > + * Build the page tables for Xen that map the following:
> > > > + *=C2=A0=C2=A0 load addresses to linker addresses
>=20
> I would suggest to expand because this is not entirely what you
> exactly=20
> are doing. In fact...
>=20
> > > > + */
> > > > +void __init setup_initial_pagetables(void)
> > > > +{
> > > > +=C2=A0=C2=A0=C2=A0 pte_t *second;
> > > > +=C2=A0=C2=A0=C2=A0 pte_t *first;
> > > > +=C2=A0=C2=A0=C2=A0 pte_t *zeroeth;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long load_addr_start=C2=A0=C2=A0 =3D b=
oot_info.load_start;
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long load_addr_end=C2=A0=C2=A0=C2=A0=
=C2=A0 =3D boot_info.load_end;
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long linker_addr_start =3D boot_info.l=
inker_start;
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long linker_addr_end=C2=A0=C2=A0 =3D b=
oot_info.linker_end;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 BUG_ON(load_addr_start % (PAGE_ENTRIES * PAGE_S=
IZE) !=3D 0);
> > > > +=C2=A0=C2=A0=C2=A0 if (load_addr_start !=3D linker_addr_start)
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON((linker_addr_end=
 > load_addr_start &&
> > > > load_addr_end
> > > > > linker_addr_start));
> > >=20
> > > I would suggest to switch to a panic() with an error message as
> > > this
> > > would help the user understanding what this is breaking.
> > >=20
> > > Alternatively, you could document what this check is for.
> > I think I will document it for now as panic() isn't ready for use
> > now.
> > >=20
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 /* Get the addresses where the page tables were=
 loaded */
> > > > +=C2=A0=C2=A0=C2=A0 second=C2=A0 =3D (pte_t *)(&xen_second_pagetabl=
e);
> > > > +=C2=A0=C2=A0=C2=A0 first=C2=A0=C2=A0 =3D (pte_t *)(&xen_first_page=
table);
> > > > +=C2=A0=C2=A0=C2=A0 zeroeth =3D (pte_t *)(&xen_zeroeth_pagetable);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 setup_initial_mapping(second, first, zeroeth,
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 LOAD_TO_LINK((unsigned
> > > > long)&_stext),
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 LOAD_TO_LINK((unsigned
> > > > long)&_etext),
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 (unsigned long)&_stext,
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 PTE_LEAF_DEFAULT);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 setup_initial_mapping(second, first, zeroeth,
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 LOAD_TO_LINK((unsigned
> > > > long)&__init_begin),
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 LOAD_TO_LINK((unsigned
> > > > long)&__init_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 (unsigned long)&__init_begin,
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 PTE_LEAF_DEFAULT | PTE_WRITABLE);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 setup_initial_mapping(second, first, zeroeth,
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 LOAD_TO_LINK((unsigned
> > > > long)&_srodata),
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 LOAD_TO_LINK((unsigned
> > > > long)&_erodata),
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 (unsigned long)(&_srodata),
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 PTE_VALID | PTE_READABLE);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 setup_initial_mapping(second, first, zeroeth,
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 linker_addr_start,
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 linker_addr_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 load_addr_start,
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 PTE_LEAF_DEFAULT | PTE_READABLE);
>=20
> ... this is not cover above. AFAIU, this is the one for the 1:1
> mapping.
But there is no 1:1 mapping.
I thought that 1:1 mapping is when the physical address is equal to
0x10020 then after MMU is enabled the virtual address will be the same
0x10020 and mapped to 0x10020.

Probably I missed something but this code maps all linker addresses
to correspondent load addresses and it will be 1:1 only in case when
load address is equal to linker address.
>=20
> > >=20
> > > As I said in v1, you need to use a different set of page-table
> > > here.
> > If I understand you correctly I have to use a different set of
> > page-
> > table in case when it is possible that size of Xen will be larger
> > then
> > PAGE_SIZE. So I added to xen.lds.S a check to be sure that the size
> > fits into PAGE_SIZE.
>=20
> This is not what I was referring to. I was pointing out that second,=20
> first, zeroeth are exactly the same for all the callers. You want to=20
> introduce a second set of zeroeth table. You will want to do the same
> for first but it is not always used.
>=20
> Otherwise, this is not going to work if Xen is loaded at a different=20
> address than the runtime.
Ok.

I understand what do you mean in general but still I am not sure that I
understand a particular case when I am sure that the size of Xen is no
bigger then 2MB and load address is aligned on 2Mb boundary.

The size of one l0 page table is 512 (1 << 9 ) entries which covers 4K
(1 << 12) * 512 =3D 2 Mb of memory so it should be fine.
All the callers in my case are trying to map addresses from
[linker_start, linker_end] which is not bigger then 2 MB and is aligned
on 2 MB boundary.

>=20
> That said, when I spoke with Andrew yesterday, he mentioned that your
> initial goal is to support the case where Xen is loaded at the
> runtime=20
> address. I understand this simplifies a lot the code and I told him I
> was OK with that. However, it would be good to document what are your
> goals in each series (this is not always clear what you skip on
> purpose).
>=20
> >=20
> > > Also, where do you guarantee that Xen will be loaded at a 2MB
> > > aligned
> > > address? (For a fact I know that UEFI is only guarantee 4KB
> > > alignment).
> > There is a check in setup_initial_pagetables:
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON(load_addr_start % (PAGE_ENTRIES *=
 PAGE_SIZE) !=3D 0);
>=20
> This is not very obvious the check is to confirm that Xen is probably
> aligned. I would suggest to add a comment.
>=20
> Also, you might want to use XEN_PT_LEVEL_SIZE(..) to make it more=20
> obvious what sort of alignment you are trying to enforce.
I will update add the comment and use XEN_PT_LEVEL_SIZE(...) instead.
>=20
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 sp, cpu0_boot_stack
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 li=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 t0, STACK_SIZE
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=
=C2=A0 sp, sp, t0
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Re-init an addr=
ess of exception handler as it was
> > > > overwritten=C2=A0 with
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * the address of =
the .L_mmu_is_enabled label.
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Before jump to =
trap_init save return address of
> > > > enable_mmu() to
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * know where we s=
hould back after enable_mmu() will
> > > > be
> > > > finished.
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mv=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 s0, ra
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lla=C2=A0=C2=A0=C2=A0=
=C2=A0 t0, trap_init
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 jalr=C2=A0=C2=A0=C2=A0 =
ra, t0
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Re-calculate th=
e return address of enable_mmu()
> > > > function for case
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * when linker sta=
rt address isn't equal to load start
> > > > address
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=
=C2=A0 s0, s0, t1
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mv=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 ra, s0
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret
> > >=20
> > > Missing ENDPROC?
> > I haven't seen the usage of ENDPROC for RISC-V so it looks like it
> > is
> > not necessary.
>=20
> Ok. Would the objdump be able to report the function properly then? I
> know that on Arm, it was necessary report assembly function properly.
It is fine for RISC-V:

Disassembly of section .text:

0000000000200000 <_start>:
  200000:       10401073                csrw    sie,zero
  200004:       6299                    lui     t0,0x6
...
  20003c:       00000013                nop

0000000000200040 <enable_mmu>:
  200040:       0003a297                auipc   t0,0x3a
...
  20009e:       941a                    add     s0,s0,t1
  2000a0:       80a2                    mv      ra,s0
  2000a2:       8082                    ret
        ...

00000000002000b0 <__bitmap_empty>:
  2000b0:       1141                    addi    sp,sp,-16
  2000b2:       e422                    sd      s0,8(sp)
  2000b4:       0800                    addi    s0,sp,16
...

>=20
> > >=20
> > > > diff --git a/xen/arch/riscv/xen.lds.S
> > > > b/xen/arch/riscv/xen.lds.S
> > > > index eed457c492..e4ac4e84b6 100644
> > > > --- a/xen/arch/riscv/xen.lds.S
> > > > +++ b/xen/arch/riscv/xen.lds.S
> > > > @@ -179,3 +179,5 @@ SECTIONS
> > > > =C2=A0=C2=A0=20
> > > > =C2=A0=C2=A0 ASSERT(!SIZEOF(.got),=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ".=
got non-empty")
> > > > =C2=A0=C2=A0 ASSERT(!SIZEOF(.got.plt),=C2=A0 ".got.plt non-empty")
> > > > +
> > > > +ASSERT(_end - _start <=3D MB(2), "Xen too large for early-boot
> > > > assumptions")
> > >=20
> > ~ Oleksii
> >=20
>=20
~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 11:33:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 11:33:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513793.795334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfJBk-00034I-DM; Thu, 23 Mar 2023 11:33:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513793.795334; Thu, 23 Mar 2023 11:33: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 1pfJBk-00034B-Al; Thu, 23 Mar 2023 11:33:00 +0000
Received: by outflank-mailman (input) for mailman id 513793;
 Thu, 23 Mar 2023 11:32: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=8edK=7P=citrix.com=prvs=439de8c1e=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pfJBj-000345-DH
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 11:32:59 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 743a0c53-c96e-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 12:32: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: 743a0c53-c96e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679571176;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=KwvTtc2PjzwTUMm4LzlotCipRvkIYqD6X48g8GQVTb4=;
  b=dvFzoorP7jD+n5nQpMqRgIPwD4h7JbmkeXyGIXq8h863UfWJ1UjAD+Yg
   MTNWOtAIfq9sx7TsBwq+RGPe0wTD/ZQZnqY5cNYfrLpYU11inVJVF44CN
   2GmN8mBOtsJwitAffurFrmACPvoSDseZo7L6Z7yXRo26lt0fRFu/shjql
   g=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 100806944
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:zFT4ialWO6G7LOE1FNgkc5Xo5gyLJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIfDWCBP/jfYTH1fd0kOtuwoExXv8PVx9dkGVdqrys2HyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5gSGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 a0KDyoBdyiBvdvoh77qavsvg+Q+feC+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglH2dSFYr1SE47I6+WHJwCR60aT3McqTcduPLSlQth/A/
 jKeoTWlXnn2MvS+xCKGyny1ndXzjB37Vb4+F+We/eB11Qj7Kms7V0RNCArTTeOColG6c8JSL
 QoT4CVGhaEq+VaiVNXVQxyyq3nCtRkZM/JSHPc98xql0bfP7kCSAW1sZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluP1TM9dDFYI3VeFE1cvoel+dto5v7Scjp9OP+nqcf5AAny+
 QnU6yRvp6dQiO4WhozuqDgrnAmQSoj1oh8dv1uIDzn7s1MgP+ZJdKTztwGFsK8owJKxCwDY4
 SNaw5X2APUmV8nlqcCbfAka8FhFDd6hOSaUv1NgFoJJG9+Fqy/6JtA4DN2TyS5U3ic4ldzBO
 hW7Vft5vsM7AZdTRfYfj3iNI8or17P8Mt/uS+rZaNFDCrAoKlDWoXg2PBTKjz+2+KTJrU3YE
 cnzTCpRJSxCVfQPIMSeHo/xLoPHNghhnDiOFPgXPjys0KaEZW79dIrpxGCmN7hjhIvd+V292
 48GZ6O3J+B3DbSWjt//qtVIczjn7BETWPjLliCgXrXef1c2STF6UKC5LHFIU9UNopm5X9zgp
 hmVMnK0AnKl7ZEbAW1mskxeVY4=
IronPort-HdrOrdr: A9a23:p6MEd6uY8czvtjJ6QL37VqBO7skDZ9V00zEX/kB9WHVpm62j+v
 xG+c5xvyMc5wxhO03I5urwWpVoLUmzyXcX2+Us1NWZPDUO0VHARL2KhrGM/9SPIUzDH+dmpM
 JdT5Q=
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="100806944"
Date: Thu, 23 Mar 2023 11:32:46 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v5 4/5] tools/libfsimage: remove private offsetof()
 definition
Message-ID: <96c9a402-d559-45be-b34e-622b34c640dc@perard>
References: <20230323090859.25240-1-jgross@suse.com>
 <20230323090859.25240-5-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230323090859.25240-5-jgross@suse.com>

On Thu, Mar 23, 2023 at 10:08:58AM +0100, Juergen Gross wrote:
> xfs/fsys_xfs.c is defining offsetof privately. Remove that definition
> and just use stddef.h instead.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 11:33:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 11:33:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513796.795345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfJCS-0003WS-MU; Thu, 23 Mar 2023 11:33:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513796.795345; Thu, 23 Mar 2023 11:33: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 1pfJCS-0003WL-Ji; Thu, 23 Mar 2023 11:33:44 +0000
Received: by outflank-mailman (input) for mailman id 513796;
 Thu, 23 Mar 2023 11:33: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=8edK=7P=citrix.com=prvs=439de8c1e=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pfJCQ-0003Vm-W3
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 11:33:42 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8e82ed95-c96e-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 12:33: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: 8e82ed95-c96e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679571221;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=wosF59sWgbr7Az6Tjk6DOG3Oo4zlUoRO77KELuqmX/U=;
  b=gysrU+Q7R+e4pu56eMx/YH3zsVrxGxemxD1cOZlxDEkZLGEHdvbfiDFg
   RCujuzpz1hg4jjUF9qye0p22h8oK6HAwKxoLLcKLeQrLeCHBedU42E9ir
   F5QekGlsEGUjeBanoK3iKOO9qBEMfAgfaeN9kADpwT+2Ey8MHdQL1vW9B
   8=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 102421513
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:m/8/1qJJThTfzfWLFE+RxJUlxSXFcZb7ZxGr2PjKsXjdYENS0GZTm
 2IeUWnXP62IZmqkKo0naNvk9xkHvMLUzNNgSQZlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZlPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4pKksX+
 vEjOAoMbyKZisSs0oOia7lj05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWleG0hn75YntApUicv6Yf6GnP1g1hlrPqNbI5f/TTHZ8JxB/F/
 zmuE2LRLSFCatuc8Qi5q02o2f/xxj3KXIIOC+jtnhJtqALKnTFCYPEMbnOkpdGph0j4XMhQQ
 2Qd4ic0pLI+3FCqRNL6GRa/pRasvBEGXMFLO/Yn8wzLwa3Riy6JC25BQjNfZdgOsM4tWSdsx
 lKPh8nuBzFkrPuSU331y1uPhWrsY25PdzZEPHJaC1JfuLEPvb3fkDqRZfw6H6OOnuf0GAPqz
 haQvhknpuUc2JtjO7qAwbzXv969jsGXEV9uuFiHBznNAhBRP9D8OdHxgbTPxbMZddvCEAHc1
 JQRs5LGhN3iG61hg8BkrA8lOLiyr8iIPzTH6bKEN8lwrm/9k5JPkG053d2fGKuKGpxeEdMRS
 BWP0T69HbcKVJdQUYd5YpiqF+MhxrX6GNLuW5j8N4QRM8UoLFbdpnExPiZ8OlwBd2By+ZzTx
 L/BKZr8ZZrkIf0PIMWKqxc1juZwm3FWKZL7TpHn1RW3uYejiIquYe5dajOmN7lhhIvd+VW9z
 jqqH5bTo/mpeLalOXe/HE96BQ1iEEXX8rit9pEKJr/TeVE5cIzjYteIqY4cl0Vet/w9vo/1E
 ruVCxYwJIbX7ZEfFTi3Vw==
IronPort-HdrOrdr: A9a23:AG6JpapOqdBnBNYZAMwIScUaV5rveYIsimQD101hICG9Evb0qy
 nOpoV/6faQslwssR4b9uxoVJPvfZq+z+8W3WByB9eftWDd0QPFEGgL1+DfKlbbak7DH4BmtJ
 uJc8JFeafN5VoRt7eG3OFveexQvOVu88qT9JjjJ28Gd3APV0n5hT0JcjpyFCdNNW57LKt8Lr
 WwzOxdqQGtfHwGB/7LfUXsD4D41rv2fIuNW29+OyIa
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="102421513"
Date: Thu, 23 Mar 2023 11:33:05 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v5 5/5] tools/libs/vchan: remove private offsetof()
 definition
Message-ID: <be0bd264-d563-470e-b3c3-2f648b20f0a8@perard>
References: <20230323090859.25240-1-jgross@suse.com>
 <20230323090859.25240-6-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230323090859.25240-6-jgross@suse.com>

On Thu, Mar 23, 2023 at 10:08:59AM +0100, Juergen Gross wrote:
> vchan/init.c is defining offsetof privately. Remove that definition
> and just use stddef.h instead.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 11:34:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 11:34:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513797.795355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfJCY-0003qT-6T; Thu, 23 Mar 2023 11:33:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513797.795355; Thu, 23 Mar 2023 11:33:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfJCY-0003qK-2U; Thu, 23 Mar 2023 11:33:50 +0000
Received: by outflank-mailman (input) for mailman id 513797;
 Thu, 23 Mar 2023 11:33:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tIVP=7P=citrix.com=prvs=439b2ffc4=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pfJCX-0003Vm-9R
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 11:33:49 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 92be1f9b-c96e-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 12:33:46 +0100 (CET)
Received: from mail-sn1nam02lp2047.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.47])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 07:33:25 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN8PR03MB4961.namprd03.prod.outlook.com (2603:10b6:408:d7::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 11:33:22 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Thu, 23 Mar 2023
 11:33: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: 92be1f9b-c96e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679571227;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=GGcAGd4mPLIEiQFi3ZEA6dMwANiYTxlbH9HF+Og9cck=;
  b=dtbcjzKTShT79auU+55WrwKGJuGLbMsuQQEdXfhs3aFKhc/iaMQNhKPx
   ni2EUW05/dHsIe725ANPukgft0A5A6XB7vnC2MRXhFISx/tDo4xMMj1/F
   nD+kpLjlKzZkqg5a5yCtTQMCtzMtSk3ZjUOlta8GV4cHcRKIIBizxJ6pn
   k=;
X-IronPort-RemoteIP: 104.47.57.47
X-IronPort-MID: 102421579
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:sdquLKMSxvrvm4LvrR23lsFynXyQoLVcMsEvi/4bfWQNrUor0mMHz
 msYUTyHa6zeZTekc9sgb97lp0wO6JLRnNFnQQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5AdmPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0tl4WUNP5
 NkKEzoyVku4jbKMypvmSuY506zPLOGzVG8ekldJ6GmDSM0AGNXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PVxvze7IA9ZidABNPLPfdOHX4NNl1uwr
 WPa5WXpRBodMbRzzBLcqijw3LaSwnKTtIQ6Eb+Rx84xvnOv4FcvJi0mVxiXhsW7sxvrMz5YA
 wlOksY0loAw/kG2Stj2XzWjvWWJ+BUbXrJ4A+A8rQ2A1KfQywKYHXQfCC5MbsQ8s807TiBs0
 UWG9+4FHhRqubyRDGmbr7GdqGvoPTBPdTNdIygZUQEC/t/v5pkpiQ7CRcpiF6jzicDpHTb3w
 HaBqy1Wa6gvsPPnHp6TpTjv6w9AbLCUFWbZOi2/srqZ0z5E
IronPort-HdrOrdr: A9a23:trYS46HwW8nUSeYHpLqE18eALOsnbusQ8zAXPo5KOGVom62j5r
 iTdZEgvyMc5wxhPU3I9erwWpVoBEmslqKdgrNxAV7BZniDhILAFugLhrcKgQeBJ8SUzJ876U
 4PSdkZNDQyNzRHZATBjTVQ3+xO/DBPys6Vuds=
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="102421579"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R7/UWVtOEXWPoprxI+er5vLKMERxL9ajt6/E3VyYUe+wdvbBbTYu6cl3bxPfKL0sbkb6ZcjixC08JjTbXIM2dSVxeXqSCHtv7aTT44NQprFnl3zZZ4HZiw8FFzg6OVeJvQY8tIdmnvYzfy3QFgawYVcb41N08WzVAt8mKQt1+9mhfvpXsMQ4rQRRTP3WgwXWZdbBAQJVQuHCFfK8AO+smjFToTs+qu27hCEVPTyF39i+ObgIY4kcNLStphQQ0YoHWA1iT/AyHYzWPn993lSr1nqK3/K0EKr8Jtc67GTjPaiFezvCzoC+MKxMNxhoMsRrsD00A+sfhBYkYWfMCtAcWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9b1cBoxm4YsYIhgQTOJKBTsVzOfORl6msFh8Qxofnwc=;
 b=lXVCo9j03l7X3xDamByse8UnvJqbFmR/QOf1qppjE6fvJvqnIqyXE7QtWJHobxX9yRHDWxt4CFMljHqJVDXkDyoFGuXqD0/YQHe0mesV1yvx9hDrorKebuekkD18RvKVVMZNr/qkHAprC8ewgz6Q4rmt8P0VIYdkQJ14lOH41Foyk/Pe0Igp2nFXIIQ7Z7Y8vbQoYl/5NSWFH4IzE+JLEPdDgfh8hpO1oRWoUoNxIqmSnph0HaBtf5fn5/A9GAUOI/mBx2xEtLjWYA6EQ1bpNSAHsSmEFiUBw9ByE9UVsrCACYpy6GlPEOqguBUWDDSK7++n1+nBB3knaklqfHtoiA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9b1cBoxm4YsYIhgQTOJKBTsVzOfORl6msFh8Qxofnwc=;
 b=Gts9jb2kW15lw1JoeH7xRGSYCvpBA2Z/CQc5GDiU3iHTYmB0tAKhWGQvoTyc9YND2ORG83Gm+07NbzX1qQaBTVVvqSqhkJy+jdG66467JGfNEaW/IVD1rT4UPeyvDYDrDz8xvfrjeoQho+mLpebbdhvBbo+5ROJwsfsGLjX6VVA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 23 Mar 2023 12:33:16 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH v3] vpci/msix: handle accesses adjacent to the MSI-X table
Message-ID: <ZBw4/Nd2JWL/ZH/6@Air-de-Roger>
References: <20230322143001.66335-1-roger.pau@citrix.com>
 <0a69ba74-71fd-101c-2f06-2cd6ced412b4@suse.com>
 <ZBs1c7ILtkRQOzki@Air-de-Roger>
 <ZBs2BKAfoRap1CjC@Air-de-Roger>
 <d526b87a-374a-8d78-f66f-cf71537790af@suse.com>
 <ZBwku+X6dgqFqdeJ@Air-de-Roger>
 <a9fd699f-9965-bbb1-bdd1-890350cc9238@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a9fd699f-9965-bbb1-bdd1-890350cc9238@suse.com>
X-ClientProxiedBy: LO2P265CA0354.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:d::30) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN8PR03MB4961:EE_
X-MS-Office365-Filtering-Correlation-Id: 8286db1c-9944-406c-c8b5-08db2b926830
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZNoxFalsE3+/6VnN2/MhbuCMJjgBgbJIV+2kJWVefyifUtT68IVYsZ/iUa2pTuO2MxjiXWtmSREBtRW8Yu1zCIgfN2ugQo8sNXDPv/JCUAnrZ2o7tMtFl3XBR0sFFuxOVR5n6pfYXXCntbACSYmii7j0QOtgjeQdgeOErCQOEaRykb9JuJcMj+k0tkDEtziMsTxzp4EN96cCyJbqs2k4ZIZHTrTj5g+J9C5pbq5CNDWiALMjjhoqkdrrRETv9ofuzn7Qkkcl69KTR9SMljZI/knVF3wVp/OG3btyLWliRKrlNX6qzQe7MdjjulyVPkcHTcIFJLukYmzZqxlGCN91ZdzniSYaG+tUP5qUq9RXB7PrWSK46URxC1lVhDYfWtKZig4pZ0EUmEGvE79KJrxIQkEYpPbLnptg+4qQtqcP85ciphVdzJgF9kn8tjO5LWm1YygT1q0LHBnUcE5ThXE2er9AQfvRVZ7emr5ioybYpnp/9ucK+Nzoa7jz2pPhVbLdURxzpnHpj1vVd9qDL8CzQGUxCm9AP0x9cgty8HKXu2pR4FUSwJIOdX86pW97ispfe1YuBO0PieA2hcQdFPI2WjEFD9kyvr4WTvr/h+TbXkcJwOSNaaUV+1n6SH/wo4XKzFHXvVig1Vi3FfiFNkoirQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(376002)(396003)(39860400002)(136003)(346002)(366004)(451199018)(33716001)(83380400001)(9686003)(53546011)(186003)(6512007)(26005)(6666004)(316002)(6506007)(2906002)(6486002)(478600001)(86362001)(38100700002)(4326008)(6916009)(8676002)(85182001)(82960400001)(8936002)(66476007)(66556008)(66946007)(41300700001)(5660300002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MFMwajMyWGxkeTJSV1JiVE9Ib1hpWlVmUFZjS0duL0UyOWkwTmpudm1UYzZY?=
 =?utf-8?B?L3NsbEFsQWl3WHVzNWd1Skh4NmpEbGFCYm5Ta1JkeDRIbE1rZHlodFMrTjNT?=
 =?utf-8?B?UzRqMVNDTFBOemwrckhzS1BBbm9NN25mQ1Ixek1NS0I1eENwY0JES3RtNmpr?=
 =?utf-8?B?YVhiNGNKOVVzOEZheDZmTTZueG9XODlNcXh3K0pZRUJZSU5JZGFrQlVlZzBm?=
 =?utf-8?B?WWRqNmhsSWdGaG9CQk1TenhKYWZPOFN4T0NwcU1JcUhDS3paWHcvNW5LSnpU?=
 =?utf-8?B?VHdUb0h2Unlma25sL2ozc2c1bWJDK0JxaGUwZklNaUE2SHJFNW4yeGRnTEZz?=
 =?utf-8?B?d2VtUTdSVXhoYzlSMzkwcFlpSFpMZHVWQ1FJbnJJUmhjRzlHTFF5SE5UaUJa?=
 =?utf-8?B?R0czMnp6dkszOXAydXI3MzlUMTgrcjI4Yy9Sem5nM254cmJVeFJJWTlaN2hz?=
 =?utf-8?B?bUUySW02dGc2eWgrQTltUmZ5eTh3UlI3SVU3QlMweTRmek1jUVBNRkRrV2tT?=
 =?utf-8?B?djV0eHM2c2d2QnVrVFpMakhGNmFzZEp5N0syUzZCRjVISnlweGN3Y1NzQytw?=
 =?utf-8?B?MnUyWWZoZXFKdUoraGpoY0pVeUxFUjREK1VBcTFMdGRPVUh4ZWJhRnBwckQ5?=
 =?utf-8?B?RTZ2YnJOb1lJczVSZWpaTjZ2MFRMcTMxR29xSjhiUXRRbTl5RTEzY2N0ZjBr?=
 =?utf-8?B?VVJLWXNrSUs0UWIrQWhaakZYaVIrQU90cm50TmF5c3ZjUitqL2tlR2NCSjQ3?=
 =?utf-8?B?OHBPd3lQS3dQQ1AwTUVNMG9yRFp5aVdtNVBRRkttT0x4VHhLSnJsNE51OE5E?=
 =?utf-8?B?aUw3VHoyS1BuNm9rSFB3ajVOL2dmOWE1Um9zTkFyOVBoQ3M1MjhOaTJ5eHR1?=
 =?utf-8?B?S2lMOEJ4ZjFaYXRmdlo2eFVuVFUwc0t5bGUvUXIycCtOeFI4Vi9vdE04MEcx?=
 =?utf-8?B?UWlEZHJCWUJNTVV0OVlWUkg0MTdsVm9FL0xUL0RiNXdBaTJKWWIxeHFDUnJK?=
 =?utf-8?B?UFR5RWlSS1YxdzVxdS9vbXhISG40VFcxclRhbTU4VnFoY3NnZ3hVajdzMXE2?=
 =?utf-8?B?QXFYNWlZb3VnK1hFbmE1Q1BRY216QXJxZVBZbmZGQzNMcm93dFFmWGRnL2dS?=
 =?utf-8?B?cTB0RHdLS25aVTQzMG1nUEhZMCtKTHZyRVlVTUFoSzNuWlFSS0JIWHFCWTZn?=
 =?utf-8?B?SUd1elprUG5LV3d2Vk53YXBCbGwvTlZqV2NjWDV2SXBhNnNDYzdwY3dIZ2Vk?=
 =?utf-8?B?cjFMd2tqZktLbVcwYzN0UlVaS0JaYjQ3ZUgzNU5Zc1JOdGtSRjlKT2NOaUZw?=
 =?utf-8?B?TDFHRERwYmJITlJ3ZVpZaCsvN2pPYmxkRk0ycFRNcldjMmtXQTcrSmM3VGpE?=
 =?utf-8?B?blpmUUtGYWJvTFVCRFJUQTFXcktDWk1FMkJlYjNIdG5YRjl2R2JEemU1Zzgy?=
 =?utf-8?B?Qi8rOEl1WmliNGNTb1VyaU5vakMzNkZNdDRkNTV0Yy9rdjNkM3RtN0FhSWpH?=
 =?utf-8?B?TEsvREZoUTVicTZZZUxEYkV5U0M3OHpLNUNZc3l2UHNVTWxvektrbDRZUFNZ?=
 =?utf-8?B?cmIrSUoyczRTNWYvNG1oekFaVkRrczFKMDRybG9QVmdUdDJkdXYrK2czZURF?=
 =?utf-8?B?Z1R4SE5JcUx3b2o4Z01CKzZ6K3dSN0pVRFFJTzdnZUhVZyt1Z0g2c291ZlFk?=
 =?utf-8?B?YVFMcDd0L25laDZCU2dMRHh2dEhpNlBnNVhyamU1RVAzWUJ0TEt0L2lHbU96?=
 =?utf-8?B?YmcvVVN3V3ViRGFYUllyQk5mNVNrSTJFQ1B1NUlDQXVBWXdrZEVzNTY1ZGk2?=
 =?utf-8?B?S1BSZ2o3dGt1bWRnM0x6c0JpTW1DUFdISUw3VFB6UThWdTduVjR0am1WWDVp?=
 =?utf-8?B?ZlJ5QjlpeS9MZEo4THZvL28rSXlDMUVVazdlcmZidlBFWXhrK1d1S25sUGlR?=
 =?utf-8?B?akRWY3h2VFBQVldEbW5EKzZKNHZNVnZqWEVVdnVjeUN5VyszbXBZNEprQmIz?=
 =?utf-8?B?ZmFadmxNZnIzUHc2QVlmRzlDYUJ3M1pRTXhxeHNZOXYvd0wwZ0Iyc0lLYXJq?=
 =?utf-8?B?ZVZpZlRnV2ZBQ0hvMjhGMHkvSXJsbFlQMUdKeWlUci9vTlNLN2FETnU4MXhu?=
 =?utf-8?B?dHllM0pnWkZET2ZGYlNTTEZnMTZPZjc0bEVpdGZzTFZEaFRHMHhPSklpejk4?=
 =?utf-8?B?ekE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	lNYnkLxPFXwWv1IZ0bfw+nz1/W/9n18gwcgSJCF35AlCj9Ff6GIJr2kJ7Xnd8qliIqdQS2ENH8jvQUIARf1OaWG8S0J77MZd17j+43hpeoWnt5hzr1hfhAMslMZ0ecR+v5hl40Apgr2bELL9VfdjPoZLkisUslDQjWSIrntmbpkaswEV72jkpk3Rx9/F1trbEfyuMMWjWVUQU5TGHk8i9yJfya8xDQWUAHjI8lqukkAAcMwxMIQL+vEv4HBcAPQUbyfNMadLBRZwlPWZektqX+cUzOxl2/JtE6STgedaqgx6uvQW7twSC8/e2gA8m5MNQD+bcCVk4o23hOTKrctCAUQkcDCMT5nOQR4XvcY+68F/lxuuRRBSvWuhDiOnV9OvAGcWmsNxfzsYuzSU7sg1MT3JkAlqEb1ZX3aCOmAHTvXV8UYL/hv/u1mt04/HeFUYmCYw24+yis/7KLprKvl7Wg7sCU62HMGEKw8Qu0A19y3TaZ5R3QicCOym7GQN2pBzcxAjB2owkNj8cYAolJ76OvzRr9LKM+7NpdqqPPYVOBH5DTExRfJdkvBOG8UcYL+6YFTDB3JhELgqv4fO4NMuVFCj3xHb2WNzidxlse53te5k7l8USsWM2wjUHdO1JNPEs/0NIscsIzT9VrMpZCuNGH5pL3QrKM7GCWNPlL0Zn363N/aXb1YLC9gIaBpWHHj+j3OCkmw09m384cm0KvS2Je6TdTaQzv/rM6Nqa8KJj4s2MYhKWVj72fnK8d+ymxN/dgdbg6u1ECNkeeh7F7gzeOS8IuVgloonACZaOeARNUStnQ8kHR057BzR5Dza5clM
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8286db1c-9944-406c-c8b5-08db2b926830
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 11:33:21.8960
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ISG1qHr3yTNsIeaBqmGAyv/mRsw4HM5Ur5yfT4paGrgYiXETFToHqTPlBHJF9wpSb1Q+pt2wkSzJzd0RafQFMg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB4961

On Thu, Mar 23, 2023 at 11:58:26AM +0100, Jan Beulich wrote:
> On 23.03.2023 11:06, Roger Pau Monné wrote:
> > On Thu, Mar 23, 2023 at 09:02:31AM +0100, Jan Beulich wrote:
> >> On 22.03.2023 18:08, Roger Pau Monné wrote:
> >>> On Wed, Mar 22, 2023 at 06:05:55PM +0100, Roger Pau Monné wrote:
> >>>> Not sure whether we should consider an access from when the BAR was
> >>>> actually enabled by a different thread could still continue while on
> >>>> another thread the BAR has been disabled and enabled again (and thus
> >>>> the mapping removed).  It's a theoretical race, so I guess I will look
> >>>> into making sure we cannot hit it.
> >>>
> >>> Hm, maybe it doesn't matter much because such kind of trace could only
> >>> be triggered by the hardware domain anyway, and it has plenty of other
> >>> ways to mess with Xen.
> >>
> >> Preferably we should get things to use proper locking. If that turns out
> >> too hard, properly justified such an exception for Dom0 might be
> >> acceptable.
> > 
> > Right, one idea I have would be to use map_pages_to_xen() in
> > vpci_make_msix_hole() to remap any existing virtual addresses to point
> > to the new physical addresses, so that there's no unmap.  I think this
> > would be fine because map_pages_to_xen() does an atomic write of the
> > PTE, but not sure if it's abusing the interface.  Such remap would
> > avoid taking the vpci lock for the whole duration of the access.
> 
> Hmm, no, I'm afraid that won't suffice for another reason: I think these
> mappings need properly removing, and already at the time when memory
> decoding is turned off (hence a potential new address isn't known yet).
> Otherwise we leave too much of a risk that these mappings may actually
> be used when the address range has already been re-purposed (even if I
> think with how the code is written right now there wouldn't be any use
> in reality, but relying on that going forward seems overly fragile to
> me).

Keep in mind it's only dom0 that requires the mappings to be updated.
Hence dom0 playing tricks to read from such addresses when memory
decoding has been disabled seems like an unnecessary hassle, it likely
has plenty of other ways to do so that don't involve relying on races
between memory decoding and BAR accesses.

For domUs the address of the BARs on the real device can never change
while being used by the domU, and hence the mappings don't need
removing on memory decoding toggle.

> I can be convinced otherwise, so let me also consider that case: One
> prereq would imo be that bar->enabled be cleared before memory decoding
> is turned off and set only after it was turned back on. (Unless again
> we want to be forgiving with Dom0.) (Looking at modify_decoding() I
> also wonder why we invoke pci_check_bar() even when we're about to clear
> {,rom_}enabled.)

Hm, I see what you mean: it doesn't make sense to keep the BAR mapped
into the guest physmap if we then turn off memory decoding (or ROM BAR
enabling).  We need to prevent ROM BAR and/or memory decoding from
being turned off if pci_check_bar() returns false for any BAR of the
device.  Let's keep this separate from the issue at hand.

> 
> As to (ab)using map_pages_to_xen() - I wouldn't be very happy about
> playing with ioremap()-ed regions behind vmap.c's back, but I agree it
> looks like technically it would work. In case of future issues we could
> introduce something like vremap() to fiddle with an already mapped
> region (and then perhaps also only changing addresses, but not
> attributes).

I have such a version, which obviously looks very similar to v3.  Let
me try to finalize the comments and see how it looks overall.

> Another option to avoid holding the lock across the entire access might
> be for get_table() to actually acquire a ref on the mapping, with new
> mappings starting out with a single ref, for vpci_make_msix_hole() to
> drop (in place of explicitly unmapping). But that would require further
> precautions to prevent stale mappings to have new refs obtained on
> them, so might easily be getting too complicated for the purpose. As
> would (likely) any other attempt at serializing this properly without
> holding the lock. Which gets to ask: Would it really that bad to hold
> the lock across the entire access? Or could we introduce a 2nd (per-
> device) lock just for this purpose, which might then be an r/w one?

Adding a refcount or another lock seems like too much for my taste, I
would start by just using the vpci->lock for the whole access.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 11:34:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 11:34:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513799.795365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfJCj-0004Gv-Fq; Thu, 23 Mar 2023 11:34:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513799.795365; Thu, 23 Mar 2023 11:34: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 1pfJCj-0004Gm-C4; Thu, 23 Mar 2023 11:34:01 +0000
Received: by outflank-mailman (input) for mailman id 513799;
 Thu, 23 Mar 2023 11:34: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 1pfJCi-0004FN-3H
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 11:34: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 1pfJCh-0005lC-NA; Thu, 23 Mar 2023 11:33:59 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.18.79]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pfJCh-0005fK-HN; Thu, 23 Mar 2023 11:33: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=6WfGs+PNH4aM0hcnTgQvCnowASqXm06JGd0xI0G0YbI=; b=T+88KUusKUE2/58G3013wv257n
	NKAQDXO758Yg8/VTcH4NV+uK1fUGogdBVaTHrfbNwaUFudXyaPe362BPGq7XukkEwvlFkVQ9+8BAS
	slA8wrwlyYeja+Xpb0mS2j+y0wgvBzubR2AhG+qkWTPEjhs6wYfFmGg47vfiikYFWNQM=;
Message-ID: <05196f3f-213c-e93c-c5be-1d2e83927bef@xen.org>
Date: Thu, 23 Mar 2023 11:33:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH 2/2] xen/arm: vpl011: Fix domain_vpl011_init error path
Content-Language: en-US
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: <20230322102941.959-1-michal.orzel@amd.com>
 <20230322102941.959-3-michal.orzel@amd.com>
 <130680d1-155e-e989-8ab9-2ef59ca59fd6@xen.org>
 <b0253701-3696-fd18-ba74-9fb7e6150a1f@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <b0253701-3696-fd18-ba74-9fb7e6150a1f@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 23/03/2023 11:10, Michal Orzel wrote:
> Hi Julien,
> 
> On 22/03/2023 17:19, Julien Grall wrote:
>>
>>
>> Hi Michal,
>>
>> On 22/03/2023 10:29, Michal Orzel wrote:
>>> When vgic_reserve_virq() fails and backend is in domain, we should also
>>> free the allocated event channel.
>>>
>>> When backend is in Xen and call to xzalloc() returns NULL, there is no
>>> need to call xfree(). This should be done instead on an error path
>>> from vgic_reserve_virq().
>>
>> Most likely this was implemented this way to avoid a double "if (
>> vpl011->backend_in_domain)". TBH, I am not very thrilled with this
>> approach. Could we instead consider to use domain_pl011_deinit()? (A
>> couple of tweak would be necessary to use it)
> I think we could. More about it later.
> 
>>
>>> Also, take the opportunity to return -ENOMEM
>>> instead of -EINVAL when memory allocation fails.
>>>
>>> Fixes: 1ee1e4b0d1ff ("xen/arm: Allow vpl011 to be used by DomU")
>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>> ---
>>>    xen/arch/arm/vpl011.c | 11 +++++++----
>>>    1 file changed, 7 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
>>> index 541ec962f189..df29a65ad365 100644
>>> --- a/xen/arch/arm/vpl011.c
>>> +++ b/xen/arch/arm/vpl011.c
>>> @@ -696,8 +696,8 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
>>>            vpl011->backend.xen = xzalloc(struct vpl011_xen_backend);
>>>            if ( vpl011->backend.xen == NULL )
>>>            {
>>> -            rc = -EINVAL;
>>> -            goto out1;
>>> +            rc = -ENOMEM;
>>> +            goto out;
>>>            }
>>>        }
>>>
>>> @@ -720,12 +720,15 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
>>>    out2:
>>>        vgic_free_virq(d, vpl011->virq);
>>>
>>> +    if ( vpl011->backend_in_domain )
>>> +        free_xen_event_channel(d, vpl011->evtchn);
>>> +    else
>>> +        xfree(vpl011->backend.xen);
>>
>> There is another bug here (unrelated to your change). You want to use
>> XFREE() to avoid an extra free in domain_pl011_deinit(). Can you look at it?
> Strictly speaking this is not a bug. Memory allocation can only happen if backend is in Xen.
> This means, that if vpl011 init fails, we will call free only once (domain_vpl011_deinit
> will not be called on this path i.e. we will invoke panic after construct_domU).

Well yes, in the current use this is not a real bug (it is only latent). 
But the same reasoning is also true for adding the call to 
free_xen_event_channel() because we would not continue to run the domain 
if domain_vpl011_init() is failing (even when the backend is in the 
domain). And even if we were going to continue this is just a channel 
that cannot be used. It will get free when the domain is destroyed 
(either explicitly in deinit() or by evtchn_destroy()).

> Of course, we could switch to XFREE just for sanity.
This is just not about sanity here. You are relying on how the caller is 
behaving. And we have no guarantee this is going to be the same forever. 
For instance, one may decide that it would fine to continue even if 
construct_domU() is failing (e.g. because the domain is not critical). 
At this point, this would become a real bug.

>>> +
>>>    out1:
>>>        if ( vpl011->backend_in_domain )
>>>            destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
>>>                                    vpl011->backend.dom.ring_page);
>>> -    else
>>> -        xfree(vpl011->backend.xen);
>>>
>>>    out:
>>>        return rc;
>>
> Solution to reuse domain_pl011_deinit would be as follows:
> 
>       vgic_free_virq(d, vpl011->virq);

We should move this call in domain_vpl011_deinit();

>   
>   out1:
> -    if ( vpl011->backend_in_domain )
> -        destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
> -                                vpl011->backend.dom.ring_page);
> -    else
> -        xfree(vpl011->backend.xen);
> +    domain_vpl011_deinit(d);
>   
>   out:
>       return rc;
> @@ -737,12 +733,15 @@ void domain_vpl011_deinit(struct domain *d)
>   
>       if ( vpl011->backend_in_domain )
>       {
> -        if ( !vpl011->backend.dom.ring_buf )
> -            return;
> +        if ( vpl011->backend.dom.ring_buf )
> +            destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
> +                                    vpl011->backend.dom.ring_page);
>   
> -        free_xen_event_channel(d, vpl011->evtchn);
> -        destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
> -                                vpl011->backend.dom.ring_page);
> +        if ( vpl011->evtchn )
> +        {
> +            free_xen_event_channel(d, vpl011->evtchn);
> +            vpl011->evtchn = 0;
> +        }
>       }
>       else
>           xfree(vpl011->backend.xen);

Now, it is more clearer that this will need to become an XFREE().

> 
> However there is one problem with guarding free_xen_event_channel to be called only once.
> Even without allocating event channel, vpl011->evtchn is 0 by default. So doing:
> if ( is_port_valid(vpl011->evtchn) )
>      free_xen_event_channel(d, vpl011->evtchn);
> would not help us as evtchn 0 is always there. So in my proposal I'm assuming (I think correctly)
> that vpl011->evtchn cannot be 0 after successful evtchn allocation because 0 is "reserved".
0 was reserved because it is used as the "invalid event channel". So 
your check above is correct.

> But I might be wrong in which case I'm clueless how to do the proper check.
> 
> ~Michal

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 11:41:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 11:41:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513807.795375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfJJe-0006W7-84; Thu, 23 Mar 2023 11:41:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513807.795375; Thu, 23 Mar 2023 11: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 1pfJJe-0006W0-4z; Thu, 23 Mar 2023 11:41:10 +0000
Received: by outflank-mailman (input) for mailman id 513807;
 Thu, 23 Mar 2023 11: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfJJd-0006Vu-5z
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 11:41:09 +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 96987bfb-c96f-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 12:41:05 +0100 (CET)
Received: from mail-mw2nam12lp2043.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.43])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 07:40:56 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BN8PR03MB5089.namprd03.prod.outlook.com (2603:10b6:408:7d::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 11:40:42 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 11:40: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: 96987bfb-c96f-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679571665;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=wrRBXu4m7ZchmTzpx+LgntVE4Aqjx54Em/4mDv3IXhg=;
  b=NgnQhK93tnL3vW5BwHO/H9soVkapLlFNTUq3LoScMcr5KgL44ySSCtvH
   yVRQl59vLCHGGWezNhh1MBiMdefJeDwxanShYi+YvYb0AhL5jWpCmIvxq
   cDUqb+9B2jyqx3xcPaif1xiKCZCnfpkmSIzjTnRPku6rhFATDhfuHBAWU
   U=;
X-IronPort-RemoteIP: 104.47.66.43
X-IronPort-MID: 104423197
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:bM3ce6ph7p3Nh9vFprOD4287UGZeBmIpZBIvgKrLsJaIsI4StFCzt
 garIBnXbqneZjP0KNkiadu18k5XupSDyt9mGwJv+Sw9FioX8JuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSJNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXABE3VC2J37KY+4m6ddVDmP0HMfLNLZxK7xmMzRmBZRonabbqZvyQoPpnhnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3juarbIG9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgqqIw2wTCmQT/DjUzVgvqhdCV1XW9XtZfA
 E5N5BgJ7qsboRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAUQzgEZNE4ucseQT0xy
 kTPj97vHSZosrCeVTSa7Lj8hSy2ETgYKykFfyBsZRcE5vHzrYd1iQjAJuuPC4awh9zxXDTvm
 TaDqXFkg61J1ZJQkaKm4VrAnjSg4IDTSRI47RnWWWTj6R5lYImiZMqj7l2zAet8Ebt1h2Kp5
 BAs8/VyJshXZX1RvERhmNkwIYw=
IronPort-HdrOrdr: A9a23:+J31ra2ml2e51HwF68eaiQqjBKMkLtp133Aq2lEZdPU1SKGlfq
 WV954mPHDP+VUssQ4b6LK90cW7L080lqQY3WByB9eftWDd0QOVxepZgrcKrQeAJ8T2zJ856Z
 td
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="104423197"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CE9AC5rOhlTuu5zO4QBCjgat4XoO3DEOUwBiTGb+ZHi4yXFYUCSyyU3EicZaGaEnVNBNlqQ8idTcaCRxWtZ2kRpntxphhvxncbYah8wcq8xooyKvLt1y1jVG58DMV2epj2lb5jFQqsBK+BMwz/e3pK273ohBx4UTqhqmd1rjlAtuwI0y99AE/n2Rqcbx4I0/xts+rKp3OxHYP4rwMSh4v0LbW5b2nzBBCEu7yU9Zgz3sddL0smzdAUExFOdcvsvcS7ePYY10Td6SARFQQARJS48VGCPXSAmNGMaX674dOhJvvdKJz9aV9vvTIXaSTofwYGb6Fpd4rGEaGlC7cSVd3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wrRBXu4m7ZchmTzpx+LgntVE4Aqjx54Em/4mDv3IXhg=;
 b=OsZSCj8YpsfJd7PIeOgmJEf1/hLgBIJGANMNcr2bHTItFPUNZk9ep86/ATinUHTPmtS48d9WATlNQAfQNMK14rFktp4jjl49IyirZaNuGKH9Q7fcJw7r366Q7NLYoXHEDtnnA0b77TdmjbWxfnl5/gR3FnttiMQobs24TikMHiI7G/ZggMyv2lftYo5M3xywAcFQ2GtJVeocH/1+2EoifCICIC0rr/kPTYsL6LNdzSUDF8oIyfDojeULOW9d5tVhO388D6EjKcCOJwbp//BLcSpxe+7DBNmirvPdp6oCE5d7OyT4FoO47tJSP/4xQ+JKIf8jspVdwf+oQ+cGDmjwDQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wrRBXu4m7ZchmTzpx+LgntVE4Aqjx54Em/4mDv3IXhg=;
 b=INnTSkm6Nd6ZfTiI+eDNRr5Qt5yUKINOsdfTyBEtVhQ7/wJwFQvXPFeJQ5SStvSnbc9/RtO0XajTZteTXlstS9V+a5u0UNIjutAPwKL0rD+JEEgWBo9b2Qs7pBCxW8UBGtXQKdLiddHmDVSsdbFTMASBoJqmY/KnBHPJ3xKfpoQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <d80e3888-a030-88c5-d3bc-018035f910d8@citrix.com>
Date: Thu, 23 Mar 2023 11:40:36 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 00/16] x86: assorted (mostly) shadow mode adjustments
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
In-Reply-To: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0009.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ad::12) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BN8PR03MB5089:EE_
X-MS-Office365-Filtering-Correlation-Id: e6f5c147-5cd2-4a31-7360-08db2b936e58
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Z2yAURH1Z1dUb33BeWmPrkbkNKhCWZEg9DAAH9vhvLGqZ0XlcNI1UUT+pJRP4LSfJyiQP0Qc3QZeEy6kScm1CeLVlJ2eIJXtRuPFbfZ/9wxpkAvxmo4UuldkwIkNMpQOedTLoK8YFem7ZFdl9AOcYsn4HYjJsMds2iBS+ttzGOD6apxys3RTDJ42aq0MP3lBwRRd2Wx5rxwJRoVPLpwdSdoST/HwrQQwrm4IVH1stCYqtxGeFSqNbcCLx8YEsM6wSs/aYKYnZzC+HMWx91y9f68P9wIHSFpywu+eRwpUt0lEBdqRP8ivYj5BQww+fdAj9oY8QWLhGJUAiDsvLX5pGl7Er8Awvrs3U3IHB///wyCDOe2ljmdsbe/8kSx8la8CGg5V2u+4raJ1hlNpcPljqsZsHHPz/Treigt23dNxdmIoABQIjSBlafVg8YMag2zjFle9g3L1bpj4To02c7oDXFs2zx2bxJ0jx/95Ll1BNCPdhlBaYZK781guhS3o/c9DkUUzBMxVl4KGmt5/5FJqqL68fPICOH3/cvw1Oi3cgeOU7g/fCwhWwxwKBxIqoGQarrMcYZXMFmFH0N3If7EKmi2VTdfbbmyEqOZiw7VWMhxz5gJz0UymxYTcq04rtAj2iy5NbhoDUJAkYFjkOYUHo78uacroA58YxpwpPtjp9EY2UuE9z2nVIxN80N/hCwahTtL2289pm8Mus5lorABOhlRZZbQCOKzcWqkTdkhe4BU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(136003)(366004)(396003)(39860400002)(376002)(451199018)(31686004)(38100700002)(2906002)(83380400001)(478600001)(6486002)(2616005)(186003)(86362001)(31696002)(36756003)(316002)(110136005)(54906003)(66476007)(8676002)(66556008)(66946007)(4326008)(8936002)(6666004)(53546011)(26005)(6512007)(6506007)(5660300002)(41300700001)(82960400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UkRHc1FreEZhNDl3QlRTdkV0QzV3dWNOeFFIK3dEZ3JPSlF2ZzBFUzArZG1r?=
 =?utf-8?B?UFA5RjR4RHlqTmxQbFBtQzZBV09MdFd1Rk1Wd0tyUGN5L1M1SG9tcnVHR2Fn?=
 =?utf-8?B?LzRlT2xMNm82ZHZjcVFXYWpveURkNHBlUXVzbVFWeFlwUDJab2dpUTl3R05i?=
 =?utf-8?B?SElVSnU3UW1JekEvK3V3ek5pOHdTZUhNRHJsZzg1Y3RMNzNLNUpXVDNXSU1s?=
 =?utf-8?B?b1EzRURsSkdqd0ZxTDJ3SHFGZ3BrbWJyT0xWckJpbUtmYytlR2Z2bCtETFND?=
 =?utf-8?B?SENsUTJCV0JydXhUTG9NSGFKcWc2ZFlyWmZRRW9aNG5uOUpxcUhxUmduVllS?=
 =?utf-8?B?VXdqTXVnN1diOWVhS2dnZCtSYXpqODJldXViY1Y2YUYrREVaMDBXZEdhNzB0?=
 =?utf-8?B?QjZZNEIwVXR4S3NQNGhXQ2ZlWHVCL1VlVG5BN0pQcTRLbktXRWZKdTB1Q1U4?=
 =?utf-8?B?dUw2RE5WM0VvcHJxb09yVjViSWJ3QkRwVFRUWEgxMVBiSk5CQ28zSWk2RFNl?=
 =?utf-8?B?QXc0QTZvclFra01CemowTVVUUmlzanpia3RXK1BqalJBOXRVbFo1WkNIWjdW?=
 =?utf-8?B?cVlIdFBHS2xzMys1N204Ukc5aklZMXJHODVML2xBOENyd0J3NkJ2c3g4MG1G?=
 =?utf-8?B?c3ZCVGRsUjQ4bS9TSlJJR2NKdXQ2S1gzYU9nMFNJM3JNWUF4VmtWNCtLWEY4?=
 =?utf-8?B?bzZwUFJNNm1BT1Q5VDhzNnhTZ05sdVliRlVSakRBNVNsVFJUV3ptbDJORXBv?=
 =?utf-8?B?U0NnYnZMbkk0Rk41dk1IL3hpUUpmSkFiN3VpRU1SSmw4TzIzYTV3cTFhMUZm?=
 =?utf-8?B?Vms5aldwWnJYTTdhWnk0NGJOd0RvSHZmMTJHWFIwZnR3NFJYdlU4YjczWEZT?=
 =?utf-8?B?YjdTT2thS1BOSDBOamlxQkhGMWZlZVJjbUo5eUVhc0lLa0tvRlZEVDNUSndt?=
 =?utf-8?B?dm5VaGNBSlpHM3pCVkZsM0RwbVRIeFNFZnZ2bTQzaHcyQ2ZmK01RUWpBSDdP?=
 =?utf-8?B?cU9GeEdDbXJuSzM4U2FJVEhOSjVIUmE0aExIQ3lISlRTL1hmc0pmK083U1Vy?=
 =?utf-8?B?TW5pRk5vTVZPWGxSaEVkdEJOYzhSbkJsMFpoOUtRb0RyS211RytjdDJtZWw4?=
 =?utf-8?B?a2RhdDB1OXM4TDVDMEdHdXNCeTRiQVgxN2QxTVM1WndSdUlBS24xMWdMb2Fs?=
 =?utf-8?B?eFFYNkYwNGZCS2RSa2dZU3JIajFPdWZMWVNTeDVJa09oekh3Q3ZyaUpBYVhm?=
 =?utf-8?B?UmxQaUpreG9sTEtCYUJVTC9GYUZmYS9Tb1ZWMUtDRjEzenkvVHpnUE1pQWRi?=
 =?utf-8?B?aDZQdUhQL1VXVHRzTTRvUWo4VldIMTB4S0hqckN1YUJrYmREbnZuN0xZRktm?=
 =?utf-8?B?bkY5WEkzOUdqUzFXQytvUllsU211ME4veStLTER3UExoeE90NXpwbkxVNFUv?=
 =?utf-8?B?ZTBhbTRUZ0tmZDAzN0l6VE9NalpxazVsRFp3UkM4dndYWk5sbWN4aTdFdWY3?=
 =?utf-8?B?eW9PRGhudTEwVjB6VHV3anRGaDBVNXJWd0xZbzR6bTcrVHd0S1VoNms2UUlF?=
 =?utf-8?B?d1U4Mm4rWjVDaSs0YjBmOW8yTWZob0MrNC85T2tYVEVvbXh1VENxMmhNSloy?=
 =?utf-8?B?SWZUSWtDcGtwWHl5U21PcmJ2a0ErUjduZW1ZR09TTnlYNnJzZ3FIWmw5eUpK?=
 =?utf-8?B?Mkd2RlpQVnJpM0pBWG13RS8vcFZzdmJFdWJGeUdtRUExOUdLVkV3WTZtM0hJ?=
 =?utf-8?B?VVMyY09tOU10dG1LeXdiZXkrTnVDRE9IVHk1SmZKWkZ0WlgvcFdFV1prNFRa?=
 =?utf-8?B?aEJBL0dpMDJ3NWh6OFFDQVQ0dnFBbWJCblkvWFpBc3pieW51RXNqY1cyd0pK?=
 =?utf-8?B?dXd3Z0NsWThzT0NsL0pPeEppbmlva1VkZ29hQys2eWRNWkYxNjVRNi9zUUlS?=
 =?utf-8?B?NkowL1ZRQitoL0xpb2llWEFrUkZnN2YxM0wzdzZwRHE3WW92T2xHL21rNjFw?=
 =?utf-8?B?VUhvcS81ZzJYS094UUtnbC92N0NRQ3NkdncrY0hDSldlOU9ka3hBSlNXSXFQ?=
 =?utf-8?B?bGFSWkhxaHpLdE1PeHgraVB4cFVTMU9QNTd6RFo0NmJGZmcrTmZ1WW0xbGwy?=
 =?utf-8?B?d0JXL1VYU01aaFkzZGhtaUtwV0RPUllYd0lwaTNURFJYYjhreWplUi9JeHpm?=
 =?utf-8?B?S2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	7sJUCjiE0bk0N5qx4XTJqbmrN7eldOZ3jQCriYR7RWJfrUuWTIumR7AxOFI7N4VPMk7so7z7zcOcDGThQmrPIxw/uN9t2zJTBWPpciFry99VTl/3MahOQSbtVg8t+/+bq12/Y7e9jWhy1OgZtP47qlkaxjjrgpORwL56wMmrgK8f1etwOxoLDPEz0WrFES2ig2TIskCxrGjPMk7iFkMbMeP5Bx1ZMypFd9rHtB1bGEDTo52YmmqQOYitUZQTIwo7aA1O85DcHQUJnixyiXEcXNgqXjv5J/55nk1iGOxxcJw7SvFHnZJopENduyf4aXjwi0iMHSrlHIW7GMf1mFxwLEdAiqqALooQ8b21842z34TaUaiqKIwSzrcnzMe2ceSQpgqMV2xOM4wH1KUh5wbQ9aPwsD7mgUDXnQ0XYfM4LhYHVTgz69pp9g7OsmJwY0IFiYa0ABkyf+2d32045jaVSOLDxEoBSQBYQzPpGQirnKjxwvmAGb3NqoGq8uFvZQZXVzNjunXQ4QONIrwEdpsNmMWIZxAinAfFs4TcZqlzkxcIkiTDWPKf7SEOvclOpxOvUCsYUaWkSAPzJ/vxd4a3mJoyt7Tn683KTKVK5x+5/D96vtYUQj5o0QVWw9HDIx5uhe2cLyTtLAQ9VjP2Hj06twr6S81uZaS0gvjhzvcZSWafRM8lVBhvvY+vwAE+CN7JHK/3ASRZWVLnGnHSASKOJnbmfSGYwtrELc3DvN/G6Orfol/7bmiRA1Ycv+LMM2gt4cvJLbuaTvFri84KGfythyK53hA9cp+cxhU+ZL6D/LoJTNRUlxMVMZdmvIEka+UpskX8trfH2o3AF6os6EuqRg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e6f5c147-5cd2-4a31-7360-08db2b936e58
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 11:40:41.7190
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EVLquM3VkrU2HLhUtBmAjJLVFeLMH+Y1UAw6/GnqapLK8VNsAvZUQznFyFqzF3a8EyevNSq1FyRZgdvHupYN/U/Cnvy5Ga3asLEHjZqCgz0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5089

On 22/03/2023 9:28 am, Jan Beulich wrote:
> This is kind of fallout from XSA-427 investigations, partly related to
> there having been a more intrusive first approach. This is also the
> reason why one of the patch has R-b already - that was a prereq for
> the original approach.
>
> Most patches aren't really dependent upon one another, so can probably
> go in independently (as they get acked).
>
> 01: shadow: fix and improve sh_page_has_multiple_shadows()
> 02: shadow: fold/rename sh_unhook_*_mappings()
> 03: shadow: drop redundant present bit checks from SHADOW_FOREACH_L<N>E() "bodys"
> 04: shadow: replace memcmp() in sh_resync_l1()
> 05: shadow: reduce explicit log-dirty recording for HVM
> 06: shadow: purge {write,cmpxchg}_guest_entry() hooks
> 07: shadow: call sh_update_cr3() directly sh_page_fault()
> 08: shadow: use lighter weight mode checks
> 09: shadow: OOS mode is HVM-only
> 10: shadow: move OOS functions to their own file
> 11: shadow: drop is_hvm_...() where easily possible
> 12: shadow: make monitor table create/destroy more consistent
> 13: shadow: vCPU-s never have "no mode"
> 14: shadow: "monitor table" is a HVM-only concept
> 15: shadow: adjust monitor table prealloc amount
> 16: PV: conditionalize arch_set_info_guest()'s call to update_cr3()

Out of interest, I looked at the net delta from this, and it's quite
interesting.

For data:
add/remove: 0/0 grow/shrink: 1/7 up/down: 8/-112 (-104)
__func__                                    2986    2994      +8
sh_paging_mode__guest_4                       96      80     -16
...

which is nice all around.  (Shame that __func__ is being merged
everywhere but oh well.)

For code, two notable exerts:
add/remove: 6/5 grow/shrink: 5/39 up/down: 1549/-3499 (-1950)
Function                                     old     new   delta
mod_l1_entry                                2120    2008    -112
do_mmu_update                               6548    6209    -339

I can't see any patch which obviously makes that change in one go, so I
can only assume it's combination of various small things.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 11:56:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 11:56:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513814.795391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfJXo-0008RT-NS; Thu, 23 Mar 2023 11:55:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513814.795391; Thu, 23 Mar 2023 11: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 1pfJXo-0008RM-KZ; Thu, 23 Mar 2023 11:55:48 +0000
Received: by outflank-mailman (input) for mailman id 513814;
 Thu, 23 Mar 2023 11:55: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfJXo-0008RG-6i
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 11:55:48 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a313bc6d-c971-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 12:55:44 +0100 (CET)
Received: from mail-mw2nam12lp2045.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 07:55:40 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA1PR03MB6385.namprd03.prod.outlook.com (2603:10b6:806:1c0::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 11:55:38 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 11:55: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: a313bc6d-c971-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679572544;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=LarZHhDJBy+j0liB3i/zSGFxPLdpVdKqkI2bdyo9//Q=;
  b=RUQv37Ecak+DNlXDxSrtoPvMye9udEzes5BCNXO1ey0sUMzp8t4IcU8s
   Fl9JSPSsSZtbkY6ZhUS/Oc040bZiHEBJ5fIH//+aBfBEWbkXttQqLUwz+
   w0UruY+oXzJvJ6tWlURb7+nGfkrZtMmV8hfx/1ai0yhbJZWH3Ijwy7Rkz
   U=;
X-IronPort-RemoteIP: 104.47.66.45
X-IronPort-MID: 100809706
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:YT2MbagXt1YwhPF1mGbKQe8YX161UREKZh0ujC45NGQN5FlHY01je
 htvDG2EaK7eNzP9LowlaYSzoBsGvcTSzdNlT1E+pH1jEnsb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wWFzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tRAGAwmYBzTidi8ye21YbBKnYMiF87kadZ3VnFIlVk1DN4AaLWaGeDv2oUd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilIvluSwWDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTOXorq812AP7Kmo7JkAZRUOHvqiCtkPuS80AA
 EETwXQyov1nnKCsZpynN/Gim1aGtBMBX9tbE8Uh9RqAjKHT5m6xFmUCCzJMdtEinMs3XiAxk
 E+EmcvzAj5iu6HTTmiSnp+LqRuiNC5TKnUNDQcYTA4t89Tl5oYpgXryos1LFae0ipjwBmv2y
 jXT9iwm3e1P0IgMyrmx+k3Bj3S0vJ/VQwUp5wLRGGW48gd+Y43jbIutgbTG0ct9wE+iZgHpl
 BA5dwK2toji0bnlePSxfdgw
IronPort-HdrOrdr: A9a23:UzueJaiTq9Rtvm34Skp3gAL/+XBQXwB23DAbv31ZSRFFG/Fwz/
 re5MjzpiWEzgr5OUtQwOxoXZPqfZqyz+8S3WGOVY3SOzUO1FHHEGhC1/qG/9SCIVyJygc+79
 YYT0EWMrSZZzQUsS+Q2mmF+qMbsbu6GdeT9ITjJhlWLD2DxspbgjtRO0K+KAlbVQNGDZ02GN
 614ddGnSOpfTA6f9m2HX4MWsnEvpnumIj9aRALKhY74E3W5AnYoILSIly95FMzQjlPybAt/S
 zslBH43Lyqt7WW2wLRzGja6rVRgZ/ExsFYDMKBp8AJInG14zzYL7hJavmnhnQYseuv4FElnJ
 3lpAohBd167zf8b3y4uhzk3ijnyXIL52X5wVGVrHP/qYjSRS48CeBGmYVFGyGponYIjZVZ6u
 ZmzmiZv51YAVfrhyLm/eXFUBlsiw6dvWciufR7tQ0TbaIuLJtq6aAP9kJcF5kNWAjg7po8Le
 VoBMbAoN5LbFKhaWzDtGUH+q3hYp1zJGbIfqExgL3V79FkpgE486Le/r1dop40zuNyd3CD3Z
 WHDk0nrsAKciZcV9MHOA5Ie7rMNoRLKii8d1579T/cZeU60jT22tTKCc4OlYWXUY1Nw50olJ
 vbVlRE8WY0ZkL1EMWLmIZG6xbXXQyGLEHQI25lluZEU5DHNcnW2Be4OSITutrlp+9aDtzQWv
 61Np4TC/j/LXH2EYIM2wHlQZFdJXQXTcVQ478AKiWzi9OOLpevuv3Qcf7VKraoGTE4WnnnCn
 9GWDToPs1P4k2iR3e9ihnMXHHmfFD54PtLYdzn1vlWzJJIOpxHswATh1j87saXKSdauqhzZ0
 d6KKOPqNLKmYB3xxe404xEAGsjMq8O2sScb5pjn353D3/J
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="100809706"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EL5FBNA+ds/TEKL95lRULkII93VOeShXP3ei6Om71BYZss44qOgfCln7eaGZoB46+d4wYYhhPbtbtM2yCuwINIZtfNC25eddgpeo7f2IKWhhYzzDrQfYXNpu0Cy9Em6OIaFNokSVbsWOArPFUSJwSL0pNe3Vd0bHHWGZDCjl1Zx+vMw1o0FbSACwROS7DM23xnkhQXU6vmlO6jpkj+aTJaBbIq4RIz3W94sx/Y62CQh4frid9t64g/cDNrX1GPC1k9YpuDTGNRaieADwutneR0Seskj7QcSmIXVj27z9BmoiYm/Ym9C0202RP5FXlklrYBiVxssyYJicwnRY08cHjw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LarZHhDJBy+j0liB3i/zSGFxPLdpVdKqkI2bdyo9//Q=;
 b=ocYyD7GLsIR2xlJzpNoiP8JN0jzA+EQERCG1tookuJAT3Dv3fhZhx56LXDvNoQdAriOxkaXwT53tCaQrxP2pWeSOakJSH31MG4VlLWsSYyloeE7ax+iHkfF9liLSk38Bxy1GTD/2o08aWn6rJwd4BYiKg4CrPd1DA+TbGDAhsvJ8POO+/ZzCbiJT4dMHfy1BCb8eZ7Rx/Ibf5jlzpiK62nNRDbIAO+3Gv/alU75RXDow6x04cHULIyfMpAHBhbnLD6Yz3eHJxv6PURz2cFoHSpbdrTY3RIHLoj6DT+1O/dYZ9R0AqzO/dvZIX5vO/G5n84U8BZiCiUzl57ESrrq6Sw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=LarZHhDJBy+j0liB3i/zSGFxPLdpVdKqkI2bdyo9//Q=;
 b=VKQ7hAHUu2eYpaeMCtDtWfNXDxobli42zLwbBU6YacOEaQWbA28b0GzvClM/JtbEeVw2Y6ta4/V60PlhGTqmnLUtlqr5D78qTIdFoKlSg938E8YHgrhA/kDESwnYnlj4Jq5yLAAc7X2c3SXLLArIqTXnGncKYf46pNvGt34uSqU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <5e40982b-b86b-012c-89af-1e8aa851d51c@citrix.com>
Date: Thu, 23 Mar 2023 11:55:31 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 01/16] x86/shadow: fix and improve
 sh_page_has_multiple_shadows()
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <290c9058-9907-4c6d-3fe8-987868a3a843@suse.com>
In-Reply-To: <290c9058-9907-4c6d-3fe8-987868a3a843@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LNXP265CA0052.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5d::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA1PR03MB6385:EE_
X-MS-Office365-Filtering-Correlation-Id: 95a666fe-8c8d-49ed-683f-08db2b958483
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bvydxkgjEF21dwiKegvzXHQeSulyRLbxWz8aOfyx1L3gUFfjLfwNqS6EVO5Psc88L7x7g8MLXlJM5HIL2aUHVVAzNRzkpzaX4i6Z15nW/CYMMKfiqCEZbLB1sDQjj3KHD+a3I6O0IcQpz5UnMj7oTDEPgeKDS2iQ/oLJkAhIKgbnymU1R2eXoTQrVjrwViHKMVPRw0pXLw3g3CgF3MGOO7EDn0CXtOqr2VmXpfqvRDwX3tvua+TsWs00HgYBgWd9JSzfgZy8QX2G1B2RkgmbheuIXWTe+kx0sHyExBZtTnG2UBOxWT3jpEF8BMfROHHlebnSLsavVsls7A5B11XS+FHm3NUX0wtU9k5U6jjvQ+tEfjKOJp8N4MQf8DBH93bhtoxCnxCJEwkObn+Vd8AlVzS0DBDLPKWg7xX0oljG29jHKkKy7wkmTSJ7/Yr3latzcVPvvAAIaBOtTbVW4JkAES5JANzmsCCEjpkm8qdAjd2vutLzwOVNIlPjNLi8aV9fQYXhqTuBP+rVr8CVlymTrG2KDVIqDqQhQd9rjnAspO/Ly6ZTzZl+L8KkOKOL9T3coo3CuqgnVqozYj2jCa7CwheBDXJQKZI+6YugEaUkuihWKDBYMHPC9bAP349nosaYsKxtxJ5mLLx0euAJ9p+/B+qkfl9U+GvshtHVarRth3FyoFfUlTLRuzDRnVGTXi9HpAo8U+t4EB43hXhpvCcNpCku6Gw57bSIFobhWMRVE88=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(366004)(346002)(376002)(136003)(396003)(451199018)(31696002)(86362001)(36756003)(82960400001)(38100700002)(2906002)(41300700001)(4744005)(8676002)(4326008)(66476007)(5660300002)(8936002)(66556008)(2616005)(66946007)(53546011)(186003)(6512007)(6506007)(54906003)(110136005)(478600001)(316002)(6666004)(26005)(6486002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?azlkL0hYSTkvT3poNUlPU1AzUThhbi9zelJseW1qS2cyTXBsTFU0akgzOUU4?=
 =?utf-8?B?NURFdUVZbEJmc0dxeWFUMkZhR1p3cUNiRmpnM3hiRjN6WU5DSWJrbnBaUmZW?=
 =?utf-8?B?dlFYbnpmUkV4cnJDaGVxNk5nK09LMmEyWnVDWUNISU41S2hVUUdBR1RoYSs2?=
 =?utf-8?B?M21meGtvemJRK1pZNytKVDFJV3cvd1VOeXNNZ0hvRkxGZnh0VTA2UzRwNEtj?=
 =?utf-8?B?VDkyMXRkU3pWcC9qVE1EbnlNVmhGZE1nR3dYVDdMdUsyZWNVeFIzTkxjakRm?=
 =?utf-8?B?UjFDQXZMUlR4TmFuQSs0UmhLMExkME9FRklsNkRNUjJiQ1hCQ2ZIVDF1bEpF?=
 =?utf-8?B?R0tlVHR5MUNRVnpNeUI3R3pjQXN1azNSREowWUdORStDVURFVlMrbFdvSGt2?=
 =?utf-8?B?WTFNOWhZdkVXODVPTGZaR0d3VUJkWFQxWlFMWkQwVFhHSThTVDV6M3ZwSmtS?=
 =?utf-8?B?RG1VbFR2MXUwNjZTYy9Ec3B2Z1NST25ISHBHNndJRW9zMWxsVUNHbXQ2Q0gw?=
 =?utf-8?B?WFg1RWF6cU9OY044VnVkcmhVRGkvT3dydEJzMzQ1T2daLzZKdUl0VUdNZUFl?=
 =?utf-8?B?dzVLRzVVRS81aE14VHNjVExUeUJVV2tiTmx4cTZRYVNDbEp0NXhMTnIrelpo?=
 =?utf-8?B?eU9DbFU1Nks2dzh2UjlBdHdQL0p1R3ZzRTU2QzNMY01lR3A4NDlFMTNqSWlT?=
 =?utf-8?B?dWF2ODV6ajE1aUhHVFpYdWdrZzhVK09pYVd3UUVZRWwvWEt3MTNkK0s3VUR1?=
 =?utf-8?B?UlZtc3dEUTFzUE5LTGppY3FEVVBqKzIwRjY2ZWUySTNKUlVjK1BGM2F6eUZm?=
 =?utf-8?B?eDJTaytNdDRMRzd5OTZLUHI3SHB1cWhTZzhMTVViaHRFTENCSi85MWl6MlBi?=
 =?utf-8?B?QUV6NnJSWnVkeEt0QWoxeUxHcWFtNzJHeXhPN0pUbjRta0Yxak5SUDVkR21J?=
 =?utf-8?B?VzJta2Z6R2d1NTFSdU5hQkpXUU1neWNOSFZQcjlnS3FmdDJ1Mkh0cUtjeDJl?=
 =?utf-8?B?YityWThERUFVRXJYTnRMdTdiNmV2MkxOK2pvQUM2dzJqa3FsblFWZGJNZzBT?=
 =?utf-8?B?N01vUTd0aktKNnFrcE8xS1hHVmdONzRwMVFjc2ZPOTRTeGRkb1RrTGx0SFpa?=
 =?utf-8?B?bkU1dFBxUVVENU5oOEdhd0JucXpleGZiOGJ5dDlNN295UHplYTNBSGlNV3Bp?=
 =?utf-8?B?SStkZjB2S1ZXMTNmWjRSRitTTTh3MzVpdkRTOG5tSHNVZnY0MHhpUDJjZVJD?=
 =?utf-8?B?c2d1NVdaVlJzR0JQNk9qOHhwT0pKOWxtdnBDY2tqRjhyb1B2c3g1YmdhOWZ0?=
 =?utf-8?B?WmFUbmoyeXR1djFwdVJvUHYyQWp6U2JOUlBBeWIxRUNVUHQ4WFQxWEFGdmth?=
 =?utf-8?B?aTlGTUxHSFYyVU80elQ4NmtsZS9reG5jYWZESXNlY1EwL1I3ZmhxbXkzdDdi?=
 =?utf-8?B?MnJiVTJYaEVxbUlUam96VU9TL1BtZVB6Wlh0T0VjSFJVMXBzeER3dnY2N0VG?=
 =?utf-8?B?Rks3aUlvNXh0Y2Zsd3RhRm5nbFhxYXNnOXM3eUdVYnA5clU3VkdaZG1mbFdi?=
 =?utf-8?B?SlVET1d6NU1TYmp0SXNqTlppQTNnL3pYTnloNHU2SjFBZHF2aHRValo2WFN3?=
 =?utf-8?B?UGhYS1ZOM3FrR3pKdmFxaUYrQU5RZ2paUHJVTmRIQ3hTOXNWUW1CckdEZU12?=
 =?utf-8?B?M1hZUGZoa0hrQms5RUNJZHp1QVBMbTFwaDJHUUMyNUxkTWFOMjc4R0tsT3Np?=
 =?utf-8?B?ZFU1aklhZnNjRjRveWF0UTIzSVFDSWp0KytablNtSVZOZVJ6a2I5eHp6RmtP?=
 =?utf-8?B?MGRZdmxxaTRXamZrQlhUVktSb1VjazFrQkFjTEVBeTZDaGlkR01BSDQ3c0hC?=
 =?utf-8?B?RzFkVEsyYTY3M3ZrUXlOUGpQRGdBbnUxckUzNUN3OGJwd2NuMWJuTXJtWkhE?=
 =?utf-8?B?dUxxSHh5c2hPaXJZSFhza0ZaNFIvZ0ZEOVJ3RXA3SzhINmxCQVpocEVaWkhR?=
 =?utf-8?B?SkZhWkhYTHNORDNGd0lDTTB1ODlLZkpoWk5panNyMVRpWTVmREVvVXFjSW4v?=
 =?utf-8?B?ak4wK3ZNMWVONjRKNGJBeEp0Y3dBV1dqOEticlBnL3FWc3N4U0Z1VlhtN2V1?=
 =?utf-8?B?WnBDV1cvMXRZS2JFakpMcnhaUllucVc1VERRdVhqa0EvL0QzcUUySEdIOE83?=
 =?utf-8?B?V0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	t3j0BXo5J4Td3JqtiGozCY8PUCM2ZqOG/F0mZhj6vrXzsq14ITTqSLvllxev4mY3XPN6UXSHzzyCiK8nemiZCf5bM5cHPf4zx/sm9Ydd32jX+fPYDdoGxpjcENt1CmkhAQuVdxshD9ybb9GgHTwECiQMQ3dnrJD2yHZfx/FamUiZ0FGkM4To6+IfcSQR4aF1Goyck/lCbaPfNnWi7DZvgmFL3D0oh3qyWQjDq6C1plkzNZ5p69K32yvCXbTcl9Hkx565CwMULjoGOLtqy3zWFmfz1nX3D+KOtajN86d7gbUbrLLAShwTp7wrvfikizAkR12DyLoDtGElQd0Ma3hOjhE+1MItSPiy+RiR/rcBqOQts1zmmprc6IR1FtAl9TwMTG6QKxU7bvltuzvt6avtkmYoQNd6m9Bl+xb0tevUHFUlTpUs5yCP7n4qVynw0bEnulNkkMtlLH7glI6Her13MzvjSmcwxAg2r/yrBicJCPtumUPl5NLiVoeatD6mQ32bW6cR4fy0ww7xd20dSKFOAJV37Ev1NYGlI5gqGEGbFPvmN1kQEt0nqpdSel5NUh//8giD3SQJxUyPpf/EPW52q+27IwintRmx8egjAduUMGTx7YfwYkfTzUcFSpmbgKUXuDiXg6315eIKADQXLmriy5yje5s/De59+i6Y8xQeEoIGCKnu09ybnCLXzykx5qvYV9M6odcZWyxi9F7dYediOJ1SG5RrlwdABy80ny6NRE0X7au5aBXXs/LR8HsK1VN4Pcm1JqbF/CMGe7Mtz8I7ChRsl/8VSGmTi2bFWHktM8Y0ep0Fdg8EDq6AYQZgriYVRUp5sTbIl5UvN8b0oNlvXQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 95a666fe-8c8d-49ed-683f-08db2b958483
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 11:55:37.9507
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RHaVsMgpLd4zjumMsqd7CJSMA5QL/5B3/pgFriXO+Q174mtyr5J5iJTNt5cDu1v57a4kvZEP7KVqfSbplNBwADLJafBYPE7F5jjxgkR5L28=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6385

On 22/03/2023 9:29 am, Jan Beulich wrote:
> While no caller currently invokes the function without first making sure
> there is at least one shadow [1], we'd better eliminate UB here:
> find_first_set_bit() requires input to be non-zero to return a well-
> defined result.
>
> Further, using find_first_set_bit() isn't very efficient in the first
> place for the intended purpose.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 11:58:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 11:58:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513817.795400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfJa0-0000YL-3U; Thu, 23 Mar 2023 11:58:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513817.795400; Thu, 23 Mar 2023 11:58: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 1pfJa0-0000YE-0c; Thu, 23 Mar 2023 11:58:04 +0000
Received: by outflank-mailman (input) for mailman id 513817;
 Thu, 23 Mar 2023 11:58: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 1pfJZz-0000Y6-F7
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 11:58: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 1pfJZy-0006KX-0Q; Thu, 23 Mar 2023 11:58:02 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.18.79]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pfJZx-0006co-L2; Thu, 23 Mar 2023 11:58:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=BmrDscVcCoL5bBK3V/1a3l04QW0IO6bblcDuxIbXh4g=; b=lJQuwU5trO55h34D4xaXU6Ty7J
	9S7qkLdR6QlMVscPApTBBwCsA3CVJJ5K5EQ8iTOl4SPBsfeR4jW7K9eHNfXHX3wCgygZwvhYcBwM6
	lppmsDEB3p/I216gCe2fqg526xFkGPmkGUf3o4m5REmWo1VnO781kdWedyKjtwFqsbkw=;
Message-ID: <98194c59-6bd8-7b98-c94d-df0f4faf0c04@xen.org>
Date: Thu, 23 Mar 2023 11:57:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
 <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
 <5169c6c8a0c4c90b56e3f525a55de464edf7181e.camel@gmail.com>
 <60444252-80b6-230e-9090-2c96d5d6187d@xen.org>
 <c9f4b34c4aef31906e715c7ddce8e077e5eef52c.camel@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <c9f4b34c4aef31906e715c7ddce8e077e5eef52c.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 23/03/2023 11:18, Oleksii wrote:
> Hi Julien,

Hi Oleksii,

> On Wed, 2023-03-22 at 14:21 +0000, Julien Grall wrote:
> ...
>>
>>>>> +    unsigned long page_addr;
>>>>> +
>>>>> +    // /* align start addresses */
>>>>> +    // map_start &= XEN_PT_LEVEL_MAP_MASK(0);
>>>>> +    // pa_start &= XEN_PT_LEVEL_MAP_MASK(0);
>>>>
>>>> They should be switched to ASSERT() or BUG_ON().
>>> Sure. Thanks. I'll update.
>>>>
>>>>> +
>>>>> +    page_addr = map_start;
>>>>> +    while ( page_addr < map_end )
>>>>
>>>> This loop is continue to assume that only the mapping can first
>>>> in
>>>> 2MB
>>>> section (or less if the start is not 2MB aligned).
>>>>
>>>> I am OK if you want to assume it, but I think this should be
>>>> documented
>>>> (with words and ASSERT()/BUG_ON()) to avoid any mistake.
>>> I add a check in setup_initial_pagetables:
>>>        BUG_ON(load_addr_start % (PAGE_ENTRIES * PAGE_SIZE) != 0);
>>> Probably this is not a correct place and should be moved to
>>> setup_initial_mapping() instead of setup_initial_pagetables()
>>
>> Yes it should be moved in setup_initial_mapping().
> Then I'll moved it to setup_initial_mapping()
>>
>>>>
>>>>> +    {
>>>>> +        unsigned long index2 = pt_index(2, page_addr);
>>>>> +        unsigned long index1 = pt_index(1, page_addr);
>>>>> +        unsigned long index0 = pt_index(0, page_addr);
>>>>> +
>>>>> +        /* Setup level2 table */
>>>>> +        second[index2] = paddr_to_pte((unsigned long)first);
>>>>> +        second[index2].pte |= PTE_TABLE;
>>>>> +
>>>>> +        /* Setup level1 table */
>>>>> +        first[index1] = paddr_to_pte((unsigned long)zeroeth);
>>>>> +        first[index1].pte |= PTE_TABLE;
>>>>> +
>>>>> +
>>>>
>>>> NIT: Spurious line?
>>> Yeah, should be removed. Thanks.
>>>>
>>>>> +        /* Setup level0 table */
>>>>> +        if ( !pte_is_valid(&zeroeth[index0]) )
>>>>
>>>> On the previous version, you said it should be checked for each
>>>> level.
>>> I had a terrible internet connection, and my message wasn't sent.
>>
>> No worries.
>>
>>>
>>> I decided not to check that l2 and l1 are used only for referring
>>> to
>>> the next page table but not leaf PTE. So it is safe to overwrite it
>>> each time (the addresses of page tables are the same all the time)
>>
>> You are letting the caller to decide which page-table to use for each
>> level. So you are at the mercy that caller will do the right thing.
>>
>> IHMO, this is a pretty bad idea because debugging page-tables error
>> are
>> difficult. So it is better to have safety in place. This is not
>> worth...
>>
>>    and
>>> probably it will be better from optimization point of view to
>>> ignore if
>>> clauses.
>>
>> ... the optimization in particular when this is at boot time.
> I didn't think about that caller will do always the right thing so
> I will add the check.
>>
>>>
>>> And it is needed in case of L0 because it is possible that some
>>> addressed were marked with specific flag ( execution, read, write )
>>> and
>>> so not to overwrite the flags set before the check is needed.
>> In which case you should really report an error because the caller
>> may
>> have decide to set execution flag and you don't honor. So when the
>> code
>> is executed, you will receive a fault and this may be hard to find
>> out
>> what happen.
> 
> Right now, it is expected situation that the caller will try to change
> execution flag during the setup of initial page tables. >
> It is possible in the currently implemented logic of the setup of
> initial page tables.

This sounds like a bug in your caller implementation. You should not try 
to workaround this in your code updating the page-tables.

> Let me explain what I mean.
> 
> The first step of setup_initial_pagetables() is to map .text, .init,
> .rodata with necessary flags RX, RX, R.
> Remaining sections will have RW flags, and to map them,
> setup_initial_mapping() is called for the whole range of [linker_start,
> linker_end] not to map them one by one thereby during this step
> setup_initial_mapping() will try to remap addresses ranges which
> overlap with .text, .init, .rodata with RW flags but it should leave
> with the previously set flags.
Why do you need to call setup_init_mapping() with the whole range? In 
fact the only reason I can think this is useful is when you when to 
create a 1:1 mapping when the linker and load address is different. But...

>>>>> +
>>>>> +    /* Get the addresses where the page tables were loaded */
>>>>> +    second  = (pte_t *)(&xen_second_pagetable);
>>>>> +    first   = (pte_t *)(&xen_first_pagetable);
>>>>> +    zeroeth = (pte_t *)(&xen_zeroeth_pagetable);
>>>>> +
>>>>> +    setup_initial_mapping(second, first, zeroeth,
>>>>> +                          LOAD_TO_LINK((unsigned
>>>>> long)&_stext),
>>>>> +                          LOAD_TO_LINK((unsigned
>>>>> long)&_etext),
>>>>> +                          (unsigned long)&_stext,
>>>>> +                          PTE_LEAF_DEFAULT);
>>>>> +
>>>>> +    setup_initial_mapping(second, first, zeroeth,
>>>>> +                          LOAD_TO_LINK((unsigned
>>>>> long)&__init_begin),
>>>>> +                          LOAD_TO_LINK((unsigned
>>>>> long)&__init_end),
>>>>> +                          (unsigned long)&__init_begin,
>>>>> +                          PTE_LEAF_DEFAULT | PTE_WRITABLE);
>>>>> +
>>>>> +    setup_initial_mapping(second, first, zeroeth,
>>>>> +                          LOAD_TO_LINK((unsigned
>>>>> long)&_srodata),
>>>>> +                          LOAD_TO_LINK((unsigned
>>>>> long)&_erodata),
>>>>> +                          (unsigned long)(&_srodata),
>>>>> +                          PTE_VALID | PTE_READABLE);
>>>>> +
>>>>> +    setup_initial_mapping(second, first, zeroeth,
>>>>> +                          linker_addr_start,
>>>>> +                          linker_addr_end,
>>>>> +                          load_addr_start,
>>>>> +                          PTE_LEAF_DEFAULT | PTE_READABLE);
>>
>> ... this is not cover above. AFAIU, this is the one for the 1:1
>> mapping.
> But there is no 1:1 mapping.
> I thought that 1:1 mapping is when the physical address is equal to
> 0x10020 then after MMU is enabled the virtual address will be the same
> 0x10020 and mapped to 0x10020.
> 
> Probably I missed something but this code maps all linker addresses
> to correspondent load addresses and it will be 1:1 only in case when
> load address is equal to linker address.

... here you say this is not the purpose.

Also, if you don't intend to deal with load != link address yet, then 
the following BUG_ON() needs to be updated:

+    if (load_addr_start != linker_addr_start)
+        BUG_ON((linker_addr_end > load_addr_start && load_addr_end > 
linker_addr_start));

>>
>>>>
>>>> As I said in v1, you need to use a different set of page-table
>>>> here.
>>> If I understand you correctly I have to use a different set of
>>> page-
>>> table in case when it is possible that size of Xen will be larger
>>> then
>>> PAGE_SIZE. So I added to xen.lds.S a check to be sure that the size
>>> fits into PAGE_SIZE.
>>
>> This is not what I was referring to. I was pointing out that second,
>> first, zeroeth are exactly the same for all the callers. You want to
>> introduce a second set of zeroeth table. You will want to do the same
>> for first but it is not always used.
>>
>> Otherwise, this is not going to work if Xen is loaded at a different
>> address than the runtime.
> Ok.
> 
> I understand what do you mean in general but still I am not sure that I
> understand a particular case when I am sure that the size of Xen is no
> bigger then 2MB and load address is aligned on 2Mb boundary.
> 
> The size of one l0 page table is 512 (1 << 9 ) entries which covers 4K
> (1 << 12) * 512 = 2 Mb of memory so it should be fine.
> All the callers in my case are trying to map addresses from
> [linker_start, linker_end] which is not bigger then 2 MB and is aligned
> on 2 MB boundary.

I interpreted that your last call was meant to be for the 1:1 mapping 
when load != link address. It looks like I was wrong, so the same 
page-table should be OK.

> 
>>
>> That said, when I spoke with Andrew yesterday, he mentioned that your
>> initial goal is to support the case where Xen is loaded at the
>> runtime
>> address. I understand this simplifies a lot the code and I told him I
>> was OK with that. However, it would be good to document what are your
>> goals in each series (this is not always clear what you skip on
>> purpose).
>>
>>>
>>>> Also, where do you guarantee that Xen will be loaded at a 2MB
>>>> aligned
>>>> address? (For a fact I know that UEFI is only guarantee 4KB
>>>> alignment).
>>> There is a check in setup_initial_pagetables:
>>>        BUG_ON(load_addr_start % (PAGE_ENTRIES * PAGE_SIZE) != 0);
>>
>> This is not very obvious the check is to confirm that Xen is probably
>> aligned. I would suggest to add a comment.
>>
>> Also, you might want to use XEN_PT_LEVEL_SIZE(..) to make it more
>> obvious what sort of alignment you are trying to enforce.
> I will update add the comment and use XEN_PT_LEVEL_SIZE(...) instead.
>>
>>>>> +        la      sp, cpu0_boot_stack
>>>>> +        li      t0, STACK_SIZE
>>>>> +        add     sp, sp, t0
>>>>> +
>>>>> +        /*
>>>>> +         * Re-init an address of exception handler as it was
>>>>> overwritten  with
>>>>> +         * the address of the .L_mmu_is_enabled label.
>>>>> +         * Before jump to trap_init save return address of
>>>>> enable_mmu() to
>>>>> +         * know where we should back after enable_mmu() will
>>>>> be
>>>>> finished.
>>>>> +         */
>>>>> +        mv      s0, ra
>>>>> +        lla     t0, trap_init
>>>>> +        jalr    ra, t0
>>>>> +
>>>>> +        /*
>>>>> +         * Re-calculate the return address of enable_mmu()
>>>>> function for case
>>>>> +         * when linker start address isn't equal to load start
>>>>> address
>>>>> +         */
>>>>> +        add     s0, s0, t1
>>>>> +        mv      ra, s0
>>>>> +
>>>>> +        ret
>>>>
>>>> Missing ENDPROC?
>>> I haven't seen the usage of ENDPROC for RISC-V so it looks like it
>>> is
>>> not necessary.
>>
>> Ok. Would the objdump be able to report the function properly then? I
>> know that on Arm, it was necessary report assembly function properly.
> It is fine for RISC-V:
> 
> Disassembly of section .text:
> 
> 0000000000200000 <_start>:
>    200000:       10401073                csrw    sie,zero
>    200004:       6299                    lui     t0,0x6
> ...
>    20003c:       00000013                nop
> 
> 0000000000200040 <enable_mmu>:
>    200040:       0003a297                auipc   t0,0x3a
> ...
>    20009e:       941a                    add     s0,s0,t1
>    2000a0:       80a2                    mv      ra,s0
>    2000a2:       8082                    ret
>          ...
> 
> 00000000002000b0 <__bitmap_empty>:
>    2000b0:       1141                    addi    sp,sp,-16
>    2000b2:       e422                    sd      s0,8(sp)
>    2000b4:       0800                    addi    s0,sp,16
> ...

Perfect thanks!

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 12:14:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 12:14:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513822.795411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfJpi-0003fA-LA; Thu, 23 Mar 2023 12:14:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513822.795411; Thu, 23 Mar 2023 12:14: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 1pfJpi-0003f2-IX; Thu, 23 Mar 2023 12:14:18 +0000
Received: by outflank-mailman (input) for mailman id 513822;
 Thu, 23 Mar 2023 12:14: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=7ZVY=7P=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pfJpg-0003er-R0
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 12:14:16 +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 376c4a36-c974-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 13:14:12 +0100 (CET)
Received: from BN9PR03CA0573.namprd03.prod.outlook.com (2603:10b6:408:10d::8)
 by PH8PR12MB7207.namprd12.prod.outlook.com (2603:10b6:510:225::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar
 2023 12:14:06 +0000
Received: from BN8NAM11FT107.eop-nam11.prod.protection.outlook.com
 (2603:10b6:408:10d:cafe::b7) by BN9PR03CA0573.outlook.office365.com
 (2603:10b6:408:10d::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38 via Frontend
 Transport; Thu, 23 Mar 2023 12:14:06 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BN8NAM11FT107.mail.protection.outlook.com (10.13.176.149) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6222.17 via Frontend Transport; Thu, 23 Mar 2023 12:14:06 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 23 Mar
 2023 07:14:05 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 23 Mar
 2023 05:14:05 -0700
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 23 Mar 2023 07:14: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: 376c4a36-c974-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FH8i3KgWV7pjDHjaItvZIwYormZXIH+yTFai8/KdhDEWdStoni9tw5MewspVFveG4TThBA+aVHiQT2DBZM/uBSnLr2MwCEStcgKVPTZ1G8yHwfeacXHvUZ2412ayIkj/ejUP/KrNb1VVEye8bUeckJ6CT9wtSmajgcmETTZr2VLvHuNzqlv1vmHvV+HZbvcCwqBSAjtinNC1WaK3McJXtcPlxNYn9HIF7/SUzvISwUiLRPnJOaaIDggh49O2TsevMgx2/JXLo2XWvDoeAjSZpeSsDehOjiRR09sNEer4tAZKlPkPR0bIGPO+MLTXeJdG3Uxd97/ROvLEz0fsWHgIIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w547YdYcUxSbidEz0LntS8RzqL/fzFXor/mag2G8YCM=;
 b=L+5gSST0pxOQ4NLzO/QHUsiJ7dmq/ziAqnRRrb7S8d2D54eR4mITjigEwkJ2bmpZKQtR+0Ak+YY+3RjCvZVYQ877NfsfLi+2aaHnRknEL2BVsLm7mUEt6s3zbhrbuqukHl8JQv5ZGuYZmqGMEyWnoIGVdTnnn+QlcsrfCVwaqKsbk2pqSTZpg0h0fOMI0LsMLhzriWrQym2MrZrlSJKgpqWeZVGFdLMWLygCjKCTQoRzbF6wOc7+mLQI1nDS0YQ2KiavR+5b4QsCkz1rh4DunmbsUFUobCWz2bHFjBmQNMpYy93C3JrNt2u7ubAgpSYJ3OWXblAQrsQKelEnGcy9Aw==
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
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=w547YdYcUxSbidEz0LntS8RzqL/fzFXor/mag2G8YCM=;
 b=Bh1CYJaU4cwDsaxXlwgM/9w0s5T15Cm8qm0BddIH+XRoA2GHA9H5ijBoU0RNmabHzWJFOrvFSQbJmkCJbNr2mqk4R9tEXvIkGDu44Zu9oYOJ0CK36JQIelgZz4tO8yEBKeR9jO0Y6o1YEYJqjKwvvere5+dkoy2ZfZKsK1sqfLU=
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: <611499ff-1922-221e-ad9b-9303e3a88502@amd.com>
Date: Thu, 23 Mar 2023 13:13:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 2/2] xen/arm: vpl011: Fix domain_vpl011_init error path
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: <20230322102941.959-1-michal.orzel@amd.com>
 <20230322102941.959-3-michal.orzel@amd.com>
 <130680d1-155e-e989-8ab9-2ef59ca59fd6@xen.org>
 <b0253701-3696-fd18-ba74-9fb7e6150a1f@amd.com>
 <05196f3f-213c-e93c-c5be-1d2e83927bef@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <05196f3f-213c-e93c-c5be-1d2e83927bef@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BN8NAM11FT107:EE_|PH8PR12MB7207:EE_
X-MS-Office365-Filtering-Correlation-Id: df0f031b-39dc-4f44-a3d6-08db2b98195b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LWBFvJZ2VL6NPd9TxOoQksZpkZTQxrW3obRx6lA71Jt1gI5q+pqm+WfAebY7sBwHhy7bHh1VJOIFQOlFbxLlaosYH8RwV9kk9XuAcfliai4nkqYw3QCWJB5ocWrmA9F6N5WewhjDSIC7Vbvh9cmiBKSrIhNd7twSIcdizphtw6Lj1c0M14z2lAtUTXRwDoXDDlh+pHnb1hyFsaGV4GNQP4Qv4grFyk3m1+R+iQaLdB6Ju1yAX3dDHSY8fmobKA5R8dVBHwn+TpKGBax4hfcbrbDyU5Iy6lg5CDLyxGxHJft1wLQM6eUnXuNtEVDpvaacfChkYMn8a9birObKGmu2dSZDCETa/NLTlVyZRyXaagoRMUNcUBRKC5Tvy7XmxMS1La7g06RIpuXrePAMK2yiPfs9jsn41DnFr+ok7I23MmpyZwwJWmdwEgNJ/9R9hNRfLMOPEsBqzCIsLZr3cTT2uihApEyZt+6D+PCme1BYAcvkzsXjvMEUsPJTNtC8kzr9IWEzuPSY3nI+raHNVzQAmInGVuFU2HfWcr1XMowT5spk8lUIrSgGn0RbLfU5Xlb0mq62aryt8p80FgQGngvXYWAXAMu4mN+mfGxS9Xo8SkE4+r14TbfBmvjGlDAeNEEC5OlyUTM/UZ4iacc3xvCKOdxP3ylMa+i3uq75cNBmKiAcW2v88zkbx3pdLx9RSaRfAhl7U37HuRRvpvYK14f8mUXgKI0lwnm7906YXfNkxYX1/4kqINpCeAQ4Pdgv8QBhzbsEAKzRCuuf+KgFvYBekA==
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:(13230025)(4636009)(396003)(39860400002)(376002)(346002)(136003)(451199018)(40470700004)(36840700001)(46966006)(40460700003)(4326008)(70586007)(70206006)(8676002)(36860700001)(316002)(110136005)(16576012)(54906003)(5660300002)(81166007)(44832011)(82740400003)(41300700001)(8936002)(26005)(53546011)(47076005)(426003)(6666004)(2616005)(336012)(186003)(83380400001)(478600001)(82310400005)(31696002)(86362001)(36756003)(40480700001)(356005)(2906002)(31686004)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 12:14:06.3047
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: df0f031b-39dc-4f44-a3d6-08db2b98195b
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:
	BN8NAM11FT107.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7207

Hi Julien,

On 23/03/2023 12:33, Julien Grall wrote:
> 
> 
> On 23/03/2023 11:10, Michal Orzel wrote:
>> Hi Julien,
>>
>> On 22/03/2023 17:19, Julien Grall wrote:
>>>
>>>
>>> Hi Michal,
>>>
>>> On 22/03/2023 10:29, Michal Orzel wrote:
>>>> When vgic_reserve_virq() fails and backend is in domain, we should also
>>>> free the allocated event channel.
>>>>
>>>> When backend is in Xen and call to xzalloc() returns NULL, there is no
>>>> need to call xfree(). This should be done instead on an error path
>>>> from vgic_reserve_virq().
>>>
>>> Most likely this was implemented this way to avoid a double "if (
>>> vpl011->backend_in_domain)". TBH, I am not very thrilled with this
>>> approach. Could we instead consider to use domain_pl011_deinit()? (A
>>> couple of tweak would be necessary to use it)
>> I think we could. More about it later.
>>
>>>
>>>> Also, take the opportunity to return -ENOMEM
>>>> instead of -EINVAL when memory allocation fails.
>>>>
>>>> Fixes: 1ee1e4b0d1ff ("xen/arm: Allow vpl011 to be used by DomU")
>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>> ---
>>>>    xen/arch/arm/vpl011.c | 11 +++++++----
>>>>    1 file changed, 7 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
>>>> index 541ec962f189..df29a65ad365 100644
>>>> --- a/xen/arch/arm/vpl011.c
>>>> +++ b/xen/arch/arm/vpl011.c
>>>> @@ -696,8 +696,8 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
>>>>            vpl011->backend.xen = xzalloc(struct vpl011_xen_backend);
>>>>            if ( vpl011->backend.xen == NULL )
>>>>            {
>>>> -            rc = -EINVAL;
>>>> -            goto out1;
>>>> +            rc = -ENOMEM;
>>>> +            goto out;
>>>>            }
>>>>        }
>>>>
>>>> @@ -720,12 +720,15 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
>>>>    out2:
>>>>        vgic_free_virq(d, vpl011->virq);
>>>>
>>>> +    if ( vpl011->backend_in_domain )
>>>> +        free_xen_event_channel(d, vpl011->evtchn);
>>>> +    else
>>>> +        xfree(vpl011->backend.xen);
>>>
>>> There is another bug here (unrelated to your change). You want to use
>>> XFREE() to avoid an extra free in domain_pl011_deinit(). Can you look at it?
>> Strictly speaking this is not a bug. Memory allocation can only happen if backend is in Xen.
>> This means, that if vpl011 init fails, we will call free only once (domain_vpl011_deinit
>> will not be called on this path i.e. we will invoke panic after construct_domU).
> 
> Well yes, in the current use this is not a real bug (it is only latent).
> But the same reasoning is also true for adding the call to
> free_xen_event_channel() because we would not continue to run the domain
> if domain_vpl011_init() is failing (even when the backend is in the
> domain). And even if we were going to continue this is just a channel
> that cannot be used. It will get free when the domain is destroyed
> (either explicitly in deinit() or by evtchn_destroy()).
> 
>> Of course, we could switch to XFREE just for sanity.
> This is just not about sanity here. You are relying on how the caller is
> behaving. And we have no guarantee this is going to be the same forever.
> For instance, one may decide that it would fine to continue even if
> construct_domU() is failing (e.g. because the domain is not critical).
> At this point, this would become a real bug.
ok, makes sense.

> 
>>>> +
>>>>    out1:
>>>>        if ( vpl011->backend_in_domain )
>>>>            destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
>>>>                                    vpl011->backend.dom.ring_page);
>>>> -    else
>>>> -        xfree(vpl011->backend.xen);
>>>>
>>>>    out:
>>>>        return rc;
>>>
>> Solution to reuse domain_pl011_deinit would be as follows:
>>
>>       vgic_free_virq(d, vpl011->virq);
> 
> We should move this call in domain_vpl011_deinit();
True and I think it does not need any guard as in case of a not registered virq it will
just clear the already cleared bit.

> 
>>
>>   out1:
>> -    if ( vpl011->backend_in_domain )
>> -        destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
>> -                                vpl011->backend.dom.ring_page);
>> -    else
>> -        xfree(vpl011->backend.xen);
>> +    domain_vpl011_deinit(d);
>>
>>   out:
>>       return rc;
>> @@ -737,12 +733,15 @@ void domain_vpl011_deinit(struct domain *d)
>>
>>       if ( vpl011->backend_in_domain )
>>       {
>> -        if ( !vpl011->backend.dom.ring_buf )
>> -            return;
>> +        if ( vpl011->backend.dom.ring_buf )
>> +            destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
>> +                                    vpl011->backend.dom.ring_page);
>>
>> -        free_xen_event_channel(d, vpl011->evtchn);
>> -        destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
>> -                                vpl011->backend.dom.ring_page);
>> +        if ( vpl011->evtchn )
>> +        {
>> +            free_xen_event_channel(d, vpl011->evtchn);
>> +            vpl011->evtchn = 0;
>> +        }
>>       }
>>       else
>>           xfree(vpl011->backend.xen);
> 
> Now, it is more clearer that this will need to become an XFREE().
> 
>>
>> However there is one problem with guarding free_xen_event_channel to be called only once.
>> Even without allocating event channel, vpl011->evtchn is 0 by default. So doing:
>> if ( is_port_valid(vpl011->evtchn) )
>>      free_xen_event_channel(d, vpl011->evtchn);
>> would not help us as evtchn 0 is always there. So in my proposal I'm assuming (I think correctly)
>> that vpl011->evtchn cannot be 0 after successful evtchn allocation because 0 is "reserved".
> 0 was reserved because it is used as the "invalid event channel". So
> your check above is correct.
ok, let me send a v2 then.

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 12:14:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 12:14:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513823.795420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfJpv-0003wc-Sj; Thu, 23 Mar 2023 12:14:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513823.795420; Thu, 23 Mar 2023 12:14: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 1pfJpv-0003wV-Q3; Thu, 23 Mar 2023 12:14:31 +0000
Received: by outflank-mailman (input) for mailman id 513823;
 Thu, 23 Mar 2023 12: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfJpu-0003vz-76
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 12:14:30 +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 4030f7f5-c974-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 13:14:26 +0100 (CET)
Received: from mail-mw2nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 08:14:13 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB5098.namprd03.prod.outlook.com (2603:10b6:5:1e8::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar
 2023 12:14:10 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 12:14: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: 4030f7f5-c974-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679573666;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=VPbaa4dmeUqFKzkRcDCPMnHVQ1RKsXJBdk3DIVCH974=;
  b=PDJTDpAYUxKDJXipilkUU0EtZ03qiWrZCvR7R576fkS/fF+h0TwSz9le
   flK2O8W5saxq0vhy/UtM7EgPFa6uqD9ONdLGWHBoiiceWXJ60Wk/6lAAc
   15tdVozGL1ML/d/JYUAmo/URLd0atalkjUfYHYv6dE8+k5OuXUqYosu/e
   E=;
X-IronPort-RemoteIP: 104.47.55.108
X-IronPort-MID: 102017987
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:XqgmsaLWzNB6FjpfFE+R4pQlxSXFcZb7ZxGr2PjKsXjdYENS0mdWz
 GVMCjqHOvrYamqjedp2bdu38kwCuMeBmt83TFBlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZlPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5HIW8Sr
 qBGCwksZyK7jM2EyY21Uvtz05FLwMnDZOvzu1lG5BSAVbMDfsqGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dqpTGLnGSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHuhANtNRe3nnhJsqGHL2GkOLRxGb0Wqmd6CsEukReJFC
 2VBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9Vna15rqS6zSoNkA9MW4HTT8JS00C+daLnW0ophfGT9ImFbHviNTwQGn02
 2rT9Hh4gKgPh8kW0an95UrAnz+nupnOSEgy+xnTWWWmqAh+YeZJerCV1LQS1t4YRK7xc7VLl
 CJf8yRCxIji1a2wqRE=
IronPort-HdrOrdr: A9a23:ir+bdaPUgdX5fsBcT9z255DYdb4zR+YMi2TDiHoddfUFSKalfp
 6V98jztSWatN/eYgBYpTnyAtjmfZq6z+8J3WBxB8bZYOCCggeVxe5ZnOjfKlHbakjDH6tmpN
 xdmstFeaPN5DpB7foSiTPQe7hA/DDEytHRuQ639QYTcegAUdAF0+4WMHf8LqQ7fnglOXJvf6
 Dsmvav6gDQMUj+Ka+Adws4dtmGg+eOuIPtYBYACRJiwA6SjQmw4Lq/PwmE0gwYWzZvx65n1W
 TeiQT26oiqrvn+k3bnpiPuxqUTvOGk5spIBcSKhMRQAjLwijywbIAkd6yesCszqOSP7k9vtN
 XXuR8vM+l69nuUVGCophnG3RXmzV8VmjLf4G7dpUGmjd3yRTo8BcYErYVFciHB405lmN1nyq
 pE00+QqpISVHr77W7AzumNcysvulu/oHIkn+JWp3tDUbEGYLsUiYAE5ktaHLoJASq/woE6F+
 tFCt3a+Z9tABinRkGcmlMq7M2nX3w1EBvDak8euvaN2zwTp3x9x1tw/r1pol4wsLYGD7VU7e
 XNNapl0JtUSNUNUK57DOAdBeOqF23kW3v3QSKvCGWiMJtCF2PGqpbx7rlwzvqtYoY0wJw7n4
 mEeE9EtFQ1Z1nlBaS1rdx2Gyj2MSeAtAnWu4RjD8ATgMy5eFOrC1zMdLkWqbrinx1FaferHM
 paO/ptcovexCXVaMB0NjbFKupvwEklIbwoU+kAKiKzS+LwW/vXX7/gAb/uDYuoNwoYcUXCJV
 ZGdATPBax7nzWWsznD8VfsZ08=
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="102017987"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JrK5xAEOcx6RQDRvMj4IyUUYV6CwWu8NL/zHT8OcmyqLG+BW+2Znen7vp9FaU/E7OlGB8mhUCn8SFFkXvbjw/U997nSPIt0g9fq5jSy8FQ3lioGwVL1xA8aTHCzKJP+D9Dk3leh8jS+UUYOz7pFoSiNX4XQHiYfu+N18tohiFutOA/v9J4wNdKyps7m46LWZHgNqsXz8kj5ImDRV94n9NRXvAmDbB9NPw+18VTv7h6NSmUR3hPy2u5jrU02/WqkkVYnxdqnSzkqVpthCt9VI66myK6gH6vT2h+bU0h10Y057+BXjOwBZBlQdCRxq7aNhLtFINoX5ayEmcKDwD5EvvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KPQJfK9R9/y9NInsPWhPMorXGcdLAO5dHgfqeCBErLc=;
 b=BlTj/tzcRONl6DP0zZ/NNjtBuaLGBxfxFEwoc2wWunmUoZvFGArzle47DFqqQUrsWKMLW/NsTuubcjBCUMl9hKACZK6b6heXY1vccUSv+R5KeHk89Scl51mV1BIrqnE/3Pikc6FnSqA1NdULA6q+cKLY+FhiyRwNsLYa2DEfrboqOwNO8s0khzoNWoG0UpS70F4sGoOi4NiGwSDU9IGtxOUtwy14ztAHCMet9ZKIDeGqh0gs5vUvWZEPOjuAGfddhTEIJAGjGkSEgU6iVcKiUyb3giT8R68gNcAf9jS1PA3x5m+HJkV50OSrvGuD6N/c8fA5wjJlAacUJiLA/BLnVw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KPQJfK9R9/y9NInsPWhPMorXGcdLAO5dHgfqeCBErLc=;
 b=NbGa9vvMlYYKlwHMWqTe7uasvraWB0/cTD7EhjK6dzKUEaXmxOiym2RDU4qVGsTeuIkyB0C2wlr8Sn9iuJKcE7RW9EYen/HQu6ZL8xua8jPvS9WV987o84o/+fCNxyUTiaX8q4WLU08lNbAi8lGW5PaOERMlUSofVB3xe3X+k7w=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <aa5629ac-be62-5838-78cf-62e7d0a53ffc@citrix.com>
Date: Thu, 23 Mar 2023 12:14:04 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 03/16] x86/shadow: drop redundant present bit checks from
 SHADOW_FOREACH_L<N>E() "bodys"
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <54e7a146-6f86-95a7-7b3b-0ba5dd418949@suse.com>
In-Reply-To: <54e7a146-6f86-95a7-7b3b-0ba5dd418949@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0385.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18f::12) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM6PR03MB5098:EE_
X-MS-Office365-Filtering-Correlation-Id: 718b04cf-905c-4c66-3782-08db2b981b85
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rrqN9g5l1ibRq/bQU90vGnFRdA6kJBZuMcML+O5MfxDCEVCIYUsSiDfFvs/P6YPjQmjDwQJojodTldZlqcVkeVQU31rasTV9J8mMq+YuRuhz2/tUo1HSIkrBbHUYIIfyZbdQpQmp4XZgGvr6tRWf5IArWvSg/leBlEk5ONJTJl+U/t9OE8CBKy+ms/HotlBSMi585JfXmejgP/5s8qHEAkdZw0Jhgoxiu5ZP73ZHDWYi8QRYTGqMdvLYwyaHAFT0KRJhxUXfsqI7djY+90+aDm8CkbjmeHJtOSc3bnwkv7mQC9hhxaSxblct/sDLAkUSpudg0/cP/mkfQilTPAjSsOmNcc1oNeG1R7HnC2YGbraNPo0I+bjUNyNyfPic05Tk9v6rs4HoRdBv5DkHpHzuY+F3YDmgdNtvUWmOm6vKfNqzRO0LDeOKZBzFlvKxU+ujaarLWBcHBlLq5Vq1H8h3Up1pFy7WiBY+W2vuGug4Z0a0K+HndBKm+Xj8nVKSH0DD7yqQu8uC0oDVtMcEr3M8SOCjqUUMZWYh1auezZQjumztAoKjxWbf0O+v3bhTfk4W/Suny0Ax1Oq6lV+RlwzNrIGctop/PASwcFLM681wq/dJFBSOWlvGTNhBka3CceCNHCGv+jxMC3BEXMBXRPJC1zOEK+Lwd4Z0FNejgW77pYobKFwC9YFWQBfeQOFPexkN+cjM1wREoQDldfiWvN6Ux4+rLnadurPCKYEJQvmpQxAnJwtyPqggfmj7vOq7mAV3
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(366004)(376002)(136003)(346002)(396003)(451199018)(4326008)(66556008)(66476007)(8676002)(66946007)(110136005)(316002)(54906003)(5660300002)(82960400001)(41300700001)(8936002)(53546011)(26005)(6512007)(6506007)(6666004)(2616005)(186003)(478600001)(6486002)(86362001)(31696002)(36756003)(38100700002)(2906002)(31686004)(45980500001)(43740500002)(473944003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Uk9FL2N5VVJiM05majdrQ2hSUms3Y0NPcEtFclU3NkV6bEhuTm5uRTBqWHVT?=
 =?utf-8?B?NGlNNWdyK050MEx2TGRjcVEyM3h0SWhKMGE0UlJ5QjErTGEwRkNBUHNYT0Zy?=
 =?utf-8?B?ZWJJUE1wTXRWMEZqeHg5T0RNeW4xd3dGdjM5MzZ6UzJ5SFNEalpVeXlQWDQ3?=
 =?utf-8?B?ODJEcXJFUzRBVitDdHlwQ25Vdnc0bkc5T0FCNXZJcUt4OW5EWDdoMUY3T2RK?=
 =?utf-8?B?eVMyYmNqTVJDd3BobW5WL3VhZThCNWk3QzV0UXVBUEtkTmd1QVQrWXArWWxI?=
 =?utf-8?B?amp2bTUvUG9TaUpUZENrR0xQQ3FFdTduZjVraktoWVNianBlY0w2eTFvOG1E?=
 =?utf-8?B?Qk9Fc28zbVdXUU14azRBQVFyNXV3K21mMnNGUlJnd01mSmZ3Z0ozTERUNnM0?=
 =?utf-8?B?cGZvNTVKZXF3bjJlV2NhNDFBQjZmZ0pVSU11M3JvcFNjYURDeHhVVlVtWkhE?=
 =?utf-8?B?UjB4emlWdFhnWUJ5YmJyNDZCNlNad2lWUFFqLzIyS0VBYnRTdm1CNHN6Qm1u?=
 =?utf-8?B?M05OV1VleFFTR2d6SUpsNWttZFdYUWM1QjNxYkhwTE1rMXhlZFFUNWlOalZP?=
 =?utf-8?B?OHpLSWx0dEVhalM0NkdGWHpZUXVYK0hWUzRmajAreDR5Y1V3UVV0Z2xKT1lG?=
 =?utf-8?B?UkphYWRhS0NQNncrYmxkYlNaOGRCd0JwOUFZWnpJT0EwMG04NW92SU9QWUxQ?=
 =?utf-8?B?STIzMnUzZ2xDMlJKQyt5N3d3cmY3U0JyVHFHeEZwVGkrT2oxeGZVaS9PNWhz?=
 =?utf-8?B?NDNEZ0pmY2V0MUJGK28zUFdFeFdvOFZTQm40cTFIaVo3RDlQTGtsaE82NDRo?=
 =?utf-8?B?bU84R3lGVHVsSmVSZ0oxYzZ4YzNTVm52YTBoTjdKWnR3MnZjY09oZVRZcFRm?=
 =?utf-8?B?aFhnejBBSE1iWjAxK3ZjcCtaV2JKTElPNUJqV25xMlQ4Y2JINHlSenFwd1cr?=
 =?utf-8?B?cTZWa1RJT2xhbEQ1Ri9nMlFjTUhoYU43c1JaRHBIbW5xVGVyWkZkZUxWaXQy?=
 =?utf-8?B?czBmL01wbThtVUJEbHFtVU9FT0JoUG5xbllnelhUMUhBNFBGbUJ5aXNnYjRM?=
 =?utf-8?B?VjNOOE53YkFESzVEZVpKUEp5TUJldHFIUnUySEI5ek81OG5tZVBnRFYwaWpW?=
 =?utf-8?B?RTFuV29Xdnc1ZW5oR3FIQ1NoWENla2tSL2tLeU9CeWhVZjFNbi83Q2dQcUZr?=
 =?utf-8?B?cTNOWW5oNnpTd3NBNG03U1hqajJpWkN1SUNYUzVGN2g3Q1JuME54dVQwbVgw?=
 =?utf-8?B?ekRjZmZHRjJzaXQ4RzNRUCtMWVVZZk1YdThCM2VJNUEwbVkvdkZYbVhzTUhy?=
 =?utf-8?B?WjVGMUZ3MEJuUmtnRGFHNHpOUU5lRVJ4RkJsQVdzZVZveS9GbkpvQVVTN3dy?=
 =?utf-8?B?TlZqSzZCVDFzdVdIbzNHaTgzUmlkbXhvNHpPa0tRcUY0MEVubW5MdWtVcWc2?=
 =?utf-8?B?MkZ0NVVHMWRTZEZ1bU1LMkdaU0RGZmxQVzgxT0oyMThrSlZMYVVyUmVBRmo4?=
 =?utf-8?B?cm9USFVYcU1SOE5nS1VVdVJIQW1VcmRaK0s0Vkp5dnM5ek1FVFB1clc0SzEr?=
 =?utf-8?B?SXJXLzBybHFtYkVCeUdwY3hLV20wcWVnVlVQWDlPMWx4cituTCt5YzJHZmpN?=
 =?utf-8?B?akw0WmFxT012a0dTU1JoMWVKWTh1bUxhWE9FTDFKU1hVcGxCdDV1eXJpcjdZ?=
 =?utf-8?B?bVJ6b3gzcmo4U0lsZFY3RlBkQktBQ2N3WlFqdDhBeldvT1RPdTVFd2tGWExC?=
 =?utf-8?B?NFUxaUlCOVAvY043K0lMUWZWb2hwbWJqb3RQVklETFFQOUNmTDlGRFFOTTAw?=
 =?utf-8?B?MXV4WjViUUhraHZWRVFTRTZrZitEREE2VWxFSkZsZkNWWUI5eEc5V1ZMT3l5?=
 =?utf-8?B?QU5pOXdGMU9EalNEbDBHUE1LYk1wMzNYSWRNNnk3akNBMENJaG9yOFhsNmJn?=
 =?utf-8?B?NWNPelVEMFZUSGlnandIb1VZWWY5Ynd2ZzhXS1laM2NQSVUrd1BKeXF1Ulhj?=
 =?utf-8?B?cFNiaFBVSEFQSGRMaXE1S0JzYlBTSmRNajBKWUlWVHVVS0pVbEhpTU55Qk1a?=
 =?utf-8?B?Q1grdjBXQy9FUi9sSDZJZlhKTm9YRHBBeS9zY1NuT0F6Szc0OG53SExRUmNG?=
 =?utf-8?B?VUpuV05QN3BuSHloUmhsaytRYlcwWlhXWE1GRnJhVVVhQkhkRmVOWG9Kc1hC?=
 =?utf-8?B?QVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	p0wDc2awCP0lhxt1x+okAZTmhXoUbfGEzhD5kgQnSJV8qt/ifBanZdytSN2C3Qo0fFyT9QXDcKLaG5fhTEs6UuH/3mpj6Jq4OBeo4vOH8ptnURCtU1HghVDAH2ox/7431zluO7v7SWewAZgJq8rGXNrMbOwWrNFDvO1XNxwoCdp0cQ1y5QopZ/u16I3U/K1eRaWYlb29Eeu4dGlcPZT40DavIa2NxlkGtW/dvQa9pGWVPH56Un0ZzZi3NxMnu2+O3YOhAaD/xYo2x3Xy4c3bYUTMuJEYp1LI42BVhqrDu2LxEvPD31Tm3bmgiH13XGk7aJX9GckXsj/iD23bezk7jI62CvktDSnQ2bhoHVJN45Mj3qkZwhzF/vNnC9FEBO7Mt9iygbHNCrxE/q5hUFbdwWX0g2/IY94CjJX56Ade1Uyd9b5PEBcWM0Yl7noMzQ+oxPNtx3hcN1FRDVfW1/8RrmsRXe9QT2+mxPfNmopzjjcQ5PUpD3u3lasQIZkWuHHpRgV5RIb/dRSc2abHKyzIF6YKzO9dXdKbaneqlgoKWaRlS6+LuXZk+2OwmOhu3AfDa2MFobhgv3sZ2RAoSWB6dJwz1Hva4kXEpv/DVQl5b6I/yetMxGYSNxZMVIjOrhfjsESRJa8Hgg8mCvq4j3BLH8qQwUdRI4DEXmMEgZTf3A0Lil95ExYWbuqANlU97iuDP8fSpYDwLTvhXOgPsX46AJxd+6AebQAwFWZmMNMB5OU+kSK1AGjgCXbYLCo3iOUNW3SW+lj/KIyAw5CO9L8qupsPEx9ap0EnvcHtiI1u1AEC9zOH/pgr9IaNsZoWq5G+I2onEz03ifpo/p/+trA6VQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 718b04cf-905c-4c66-3782-08db2b981b85
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 12:14:10.2451
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: h9UTuQ/UkLupGwplbWtFZafLIxNpfP3zy4F3anDspj8wMbqj9XNimO+H9Xp+NQrKde7UuUvcFn9fC+Q1uSKhbUA7dSJ3E2qNr7aNy/qJyaQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5098

On 22/03/2023 9:31 am, Jan Beulich wrote:
> SHADOW_FOREACH_L<N>E() already invokes the "body" only when the present
> bit is set; no need to re-do the check.
>
> While there also
> - stop open-coding mfn_to_maddr() in code being touched (re-indented)
>   anyway,
> - stop open-coding mfn_eq() in code being touched or adjacent code,
> - drop local variables when they're no longer used at least twice.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

While I agree this is the current behaviour, it's another spiketrap
waiting to happen.

There needs to be a rename of these macros to something like
FOREACH_PRESENT_SL?E(...).  The SHADOW prefix is a bit verbose and can
be ineligibly encoded with the L?E acronym.

After which this patch be trivially correct, and the resulting code will
read safely in context.

>
> --- a/xen/arch/x86/mm/shadow/multi.c
> +++ b/xen/arch/x86/mm/shadow/multi.c
> @@ -3647,13 +3632,10 @@ int cf_check sh_remove_l1_shadow(struct
>  {
>      shadow_l2e_t *sl2e;
>      int done = 0;
> -    int flags;
>  
>      SHADOW_FOREACH_L2E(sl2mfn, sl2e, 0, done, d,
>      {
> -        flags = shadow_l2e_get_flags(*sl2e);
> -        if ( (flags & _PAGE_PRESENT)
> -             && (mfn_x(shadow_l2e_get_mfn(*sl2e)) == mfn_x(sl1mfn)) )
> +        if ( mfn_x(shadow_l2e_get_mfn(*sl2e)) == mfn_x(sl1mfn) )

You've done mfn_eq() conversions thus far, but the final 3 hunks of the
patch could do with a conversion too.

With that, and subject to a suitable rename of the macros ahead of this
change, Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 12:30:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 12:30:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513828.795431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfK5O-0007Av-96; Thu, 23 Mar 2023 12:30:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513828.795431; Thu, 23 Mar 2023 12: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 1pfK5O-0007Ao-5L; Thu, 23 Mar 2023 12:30:30 +0000
Received: by outflank-mailman (input) for mailman id 513828;
 Thu, 23 Mar 2023 12:30:28 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=tIVP=7P=citrix.com=prvs=439b2ffc4=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pfK5L-0007Af-Su
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 12:30:28 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 781d6b63-c976-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 13:30:23 +0100 (CET)
Received: from mail-dm6nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 08:30:08 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH7PR03MB6969.namprd03.prod.outlook.com (2603:10b6:510:12c::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 12:30:05 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Thu, 23 Mar 2023
 12: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: 781d6b63-c976-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679574623;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=E2reIyzYOYAeyeo0N+tFEsxB9vscHn2FommH2PT4cGw=;
  b=HEUPxlkpOIUExHB65Dq7f+Z25q4Oj2XoNYv1enwQXLKya07TO4VSSJce
   hVKL8Y9JLip+2fC+lrQXpkVz0bGT7it5Ar0OJPs5JCXY7UiWAbmYrD+Wv
   qNG58MgX8MQTG3B0i5Ks3hTDMIu5b3GwXwu9Tg+bzhV3XIE/7OF+5go4m
   4=;
X-IronPort-RemoteIP: 104.47.58.101
X-IronPort-MID: 100814832
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:YyAyOKuMTozPoAp7TUkygbEeKOfnVGJfMUV32f8akzHdYApBsoF/q
 tZmKWmAPPnZZGP0c9wla9vn9BsOucfSn9VlSgRqpS5mQ3gR+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASEzCFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwFW4pREiequiN+7+cV/FeiMsNFfH2M9ZK0p1g5Wmx4fcOZ7nmGv2PyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgP60aIO9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAuiANpCTeHoraQCbFu7/2BKBUcmR0mBhPS3rBSDWst9d
 Q9E5X97xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIVqF/6qQhSO/P24SN2BqTTAAZRsI5Z/kuo5bs/7UZtNqEarwgtirHzj1m
 miOtHJn3+xVitMX3aKm+1yBmyirupXCUg8y4EPQQ36h6QR6IoWiYuRE9GTm0BqJF67BJnHpg
 ZTOs5L2ADwmZX1VqBGwfQ==
IronPort-HdrOrdr: A9a23:RMluk66WH7dpFEv1mQPXwdWCI+orL9Y04lQ7vn2ZFiY5TiXIra
 qTdaogviMc6Ax/ZJjvo6H4BEDyewK6yXcT2/htAV7CZnidhILMFu1fBOTZsl7d8kHFh4tgPO
 JbAtND4b7LfCZHZKTBgDVQeuxIqLfnzEnrv5an854Ed3AUV0gK1XYcNu/0KDwReOALP+taKH
 LKjfA32wZINE5nJvhSQRI+Lpr+juyOsKijTQ8NBhYh5gXLpTS06ITiGxzd8gYCXyhJybIC93
 GAtwDi/K2sv9yy1xeZjgbonthrseqk7uEGKN2Hi8ATJDmpogG0ZL55U7nHkCEprPqp4FMKls
 CJhxs7Jcx8517YY2nwixrw3AvL1ioo9hbZuBKlqEqmhfa8aCMxCsJHi44cWhzF63A4tNU59K
 5QxWqWu7deEBuFxU3GlpL1fiAvsnDxjWspkOYVgXAaeYwCaIVJpYha2E9OCp8PEA/z9YhiOu
 hzC8P34upQbDqhHjvkl1gq5ObpcmU4Hx+ATERHksuJ0wJOlHQ89EcczNx3pAZ2yLsND71/o8
 jUOKVhk79DCuUMa7hmOesHScyrTkTQXBPlKgupUBTaPZBCH0iIh4/84b0z6u3vUocP1oEOlJ
 PIV04dnXIuenjpFdaF0PRwg1HwqV2GLHbQI/xllt1EUuWWfsuuDcTDciFhryKYmYRdPiWBMM
 zDf66/AJfYXB/T8MhyrkvDsqJpWAojuf0uy6cGsm2107L2w63Rx5rmmaXoVfPQOAdhfF/DKV
 0+exW2DPl8zymQKwrFaV7qKjzQRnA=
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="100814832"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YSH6RD9jfyAMxamk6VvjcYVLvCjwDvm3C7RsueDYd1nOjRk9NCxUHsg2iKC68oKDyglmav6z3hrJ09gLm4fZ7DWmb7JeTyDvmWd5dU2OqtEC0OVlHwDLxfsiqQk5X1fIUDHXmLcgY4SxjnEmofPPiJWrg+e8AeYR8StEqotEr4xOceBuKF2yriicpDfJYh252Y7CCo5VOTmQvPwzhojYVuus73p6q9xvToGW+ifrRBi6nda2kUaFEZ6OGP0qPhz9P25VjITl9ry3S74AdOPIV1M5lDJI0Nv90Dt81XoaXaQd/d4hTOaaKGfvdnSYC8GHGEKdLV+Od2QAdqPj+z3LPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EPZNYpOHH6qEu/dMbY21FiK/fmLQ5FXTD27CeN+mPBw=;
 b=HbDU+Y/eNDMG2PT0BdjdT5RnQJ0ioMo6XneYMISPY7+paSZvr4ARH4bXWV3rH8gN01hgg9mjkRXHA6v4Rf9gxzxDM73APfi7k7Op7x3HTVXR5vw+P+L2m9yVJv8mAcGWiFoX8S4MSA1gQPu/AQr2NazeKV6go3vtlFKFvbVXlNjYdR3amKb7N0umaezuagkhclyl6YngCrflTdTEX9V0l4nT/6bqT6BEWPQK8RQ5DNuFZgBUKlC8Zkg6h8NSzLUMTk4+/VKxmXRyVj3ua1Gov9vdR+ral5FbfDX8eDJsMl6ZfB1i/c3yuVP+86Q3k6J2fziOKtDY1BuqYpKeH/2OJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EPZNYpOHH6qEu/dMbY21FiK/fmLQ5FXTD27CeN+mPBw=;
 b=YRo/+REIC+z/C7Ilynt6tAs//zYhKw8UXMvxg8chhV3Ym1ZcjjmYCgeTrxeqOw0uItPdcJOu94PkgnRhe5Egtr1RDqtKP16xTsdvJN51T6fEfG75yMoRqKeoduiIHGa4oXQ2QiyTI258+pMK8y6iQqYgN4gWe7SkR6Y7ce28JjM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 23 Mar 2023 13:29:59 +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>,
	Paul Durrant <paul@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v4] x86: detect CMOS aliasing on ports other than
 0x70/0x71
Message-ID: <ZBxGR2j1dnvLgy/A@Air-de-Roger>
References: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
 <367d0223-d481-b7a3-3b79-a9bc6f00531e@suse.com>
 <ZBm7N7oEDPlPmZ87@Air-de-Roger>
 <51ee4bf5-fd96-4fb2-c91e-36780b0f7ad9@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <51ee4bf5-fd96-4fb2-c91e-36780b0f7ad9@suse.com>
X-ClientProxiedBy: LO4P265CA0128.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c6::16) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH7PR03MB6969:EE_
X-MS-Office365-Filtering-Correlation-Id: 612f761b-9881-4b4f-50a1-08db2b9a5473
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3hpetGDH305JavKmlaAFLLthnV2hWuUTYc/YkWo+75/IKXtHDT/ZCVWbrKnb2UYJ1eb0rThXvjVZKnVa0MDOp1mpQlCKCF6Sc0FrckVzz185AcZCiQ850btBnDqVs7g22DL0g9vSEd5Kc+cslfR2MuOWic4cLz+vxDZFVyM1Icim05S/8IiP502HBS+IwJZXN46K7Px9YrGOJhrk8fSRK3/8L/blpwsVXMEzdeoMgakduXHrXBNpDAJj7h8gebxSJJV6mh7Qeby11BdS60WGKT19Kmye0MzYFNwJIUabczrtm/g6kcwmQNi15PVOhk7vdZo2v+0NfphUoQZDVDw0FkCrJ0fMjGldKNgMKQys5Kj/hEUhEXZ+TNrvE/xs09DVGrdUmKeFs/pdCoR919pvqxEQXn6a7uxsYq2VDB/RdBjXaVb265U3Te9oCj1r7Kga9s7Z2uxrV0UnBJb0a5YFStx6thPx3Xqizne4I4RW9YS5+15ekBwrQFjBhs77zSo7dFKbTDJxiehGvGKf+07Z5yjvGerbChhbJf7olJJf708GgGontPkU/JkDg11H1WoYkH8Y9GQsy5lrigEmUlCMs0ztumVrP/g0Q/iqXqmTvy7t5rBkWmJDV/Yca4frymSjkstvWyeeZSzjADOT5nZmqQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(346002)(376002)(39860400002)(366004)(136003)(396003)(451199018)(38100700002)(2906002)(478600001)(83380400001)(6486002)(9686003)(186003)(86362001)(33716001)(85182001)(316002)(54906003)(66476007)(8676002)(66946007)(66556008)(4326008)(6916009)(8936002)(6666004)(53546011)(26005)(6512007)(6506007)(5660300002)(41300700001)(82960400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Sm5OOU1BRkZSbG42UXNwNW9PMlhNQWxaQThqRWlDanZZZjZjTUFNK2N5NmNh?=
 =?utf-8?B?SGorSDF0UDdOQ1BYZDltc1c2bU5sMllMMFlsa3ErVXUrTitKeXZiMUNZT0pT?=
 =?utf-8?B?M3N5NVMxNTNEQUtJTUdjUmJWUmpTbGllSERxRjVZR2w2TjZoazJtRVZMYmZs?=
 =?utf-8?B?S1dmMWZFTXRtT1ZrRk5aL2dEeWtoMHprTDUvOGphdDVpSWN3NzRPNlk1NFN3?=
 =?utf-8?B?MnNOL29uc3ViUUtuRmNWQWMzSlNFMXRBM0xsWTI5NTRzTFBvRFZUVDJlaVFr?=
 =?utf-8?B?eVRnSCtlRXZxbXgwVi9mZ3ZPNklHelg0aHZ3eGw5TC84QXVleDJBdzZTUlZM?=
 =?utf-8?B?SWxhSTNSSVI5UTB6bGFnbHpzSU9YZm1uMDN0d0NxOGpLU25MMDUrNGQvNms4?=
 =?utf-8?B?K3ZFZXkwQ24xd2hHZTQ4bjJxWVBLWEt0ZVQ0cEtUWDgzU2V2WE5WQ1Q3bGNp?=
 =?utf-8?B?ZGVpSHBGYzQ2VU1DL1dkazRFenpBa3I2Tm5OaGJvWnRsMk16RXBrMnh2T3Jn?=
 =?utf-8?B?dDRuVHZHQkNjRE1TUDh4bHBnNmVJalMwRmJiS0swUk1tb3B0RThFWUgyd2JZ?=
 =?utf-8?B?dGtXaUlQRGJQdStrTng3M3BVR1BjVnVYQmQ5T1o3M28xcDd1V21EOU5ZYnNW?=
 =?utf-8?B?Yng5UnBMUm1MOTZlc29pRmdIWm9hd0hCMERiVlhnaDE2N1hFM2FUTmUrV00r?=
 =?utf-8?B?RVJhbXRML3BuNTNFbjVQUUpycEFpSFFTdUx0SzMxQzhlQnMvaERqY012ZnR0?=
 =?utf-8?B?c2Jwenk3V3FpSDl4V3I5K3kxeVE4azFIdUpYQTRVWTdoN3BCWFJlY0l4OHZ2?=
 =?utf-8?B?SFVPT0FnVlFSVkRJSmxyZ3Y0cUJNbGhMVDlsQ25kSkNNd1FlcEd0aURIQTdS?=
 =?utf-8?B?R0JTVi9EMXI5QUs5d2xEN3IzZGZaMTFZYXRtSXBSekh2Zk92cEpXTVZ0ZVRx?=
 =?utf-8?B?OENPMUcwbk1MdGovZVVhVld6d0VmbCtPY3EwdUVhVDB5OXNKTXcyQlN1a3RM?=
 =?utf-8?B?OTNLaU9oN2Yrd1czNVJNNUxFcnUyU25Gd2NuUXQ0d21ubjNnYzZZRDRuMndn?=
 =?utf-8?B?ais4ekNSL2E1SSt2R1J2bmc3T0E2Q2VJclljOGdLTW14SkVHNnU4NjAweTRm?=
 =?utf-8?B?OC9uZmFaZFBVVFIzWDRBMGVBV3pYTGpnNEhQMUN2TytMTnV6TmkvOVlXcmpJ?=
 =?utf-8?B?aWsvUmNJeU1IUUhaaGVLOW9hb0FGVTVickZ6aUpNUU81cG5GeVJXYnZBNU5V?=
 =?utf-8?B?UFlsNHRKTSt1aG10ZDV2S2xiWUxQakV5bWJ4OEVrN0QzM1c5bW5BTzByb004?=
 =?utf-8?B?Z29RUk50N3dHd0o4bUhRNk9mUXhqTFE5TER4NnVLODg5RjBWS1ZmYjJTTThp?=
 =?utf-8?B?TDhtTGM4RXBWWjNOd2RCdVc4VXpIdVhkT1pGMXdMNExwTHdqYkZ5VU05bjBj?=
 =?utf-8?B?eHNkS0JHOEc1QlNXQnc5YVE3SFhoV0x6MFNwVXZ4QUt5aGFlS09VME00UlM0?=
 =?utf-8?B?ZVNUZHI0SWExZ3ZySkRvUUNYbFVqaGtGeUlMUzVnMitzZmJDeTQ5RE5lRTdW?=
 =?utf-8?B?QWZaRWlUOHFtcElnNnJ4QlZYcFJJa3N5aXVFNjBlVkRaY1VTZTFZVWJHY2NQ?=
 =?utf-8?B?VTVraVlTQVhlQVczRXVGRFlqQnJRa3g3NXBLWTFmandpeDVBRU9sZHRaaEtC?=
 =?utf-8?B?MGJkQnVNVFhqZm1jME9SUnBTdkpyVFpZa3FxSVJZVVY0RUZVNjVRUnovdGNY?=
 =?utf-8?B?K0tMa1piUkRDVTJJcnVFQ2R6WFpSSFE2Skl1SEFsOFNmTEIxSFkvWHEzWmt2?=
 =?utf-8?B?ZXE1VUJNTVFqRSs0K2F0TVlKZkFtbmF3Y2NWMy85QjVrcXNLa0lQeDNjTGpp?=
 =?utf-8?B?L0RJZFhCbmhuUWYzSzRDWVczL0RRYWNyM2NEaEk3L2pBQ0JxNTdiMXFhd0dR?=
 =?utf-8?B?WVlUUVYxdXZDMlZSeFFjV2FvUWcwdC9TVGtBWFVLcDZGd0pWR0RONk8xNU1v?=
 =?utf-8?B?VjA0dU4xZjlIL0xXSmlnKzVuVGY2SG1GRmN5NUpNUllSb3NoMDNZaXV6eFcv?=
 =?utf-8?B?YWt1ZytxSU1VSkhyWWdJb0RIdVp1ZFNUQWZ4TFR1UTR1K3drRW1nQlQyN0hV?=
 =?utf-8?B?N01DM0JPRnY2WXJhRUh6Y3VhSlBRNkQ2Y0RpZktyQ09DMFRaRFVvRkJoUWUy?=
 =?utf-8?B?cXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	xkc6lRjcOG72AKa+IDd3fD8xc5nLx2L09UetJVHpIefk2CFAjT/X87kYMdkjuaKx+sOeKKw4gDJAwZb8uMJRs1hoCkkSYSK7rCKOEwNYBs74Vgyu28kgtKifn/+HyxUiJjkf5efyalrujqM8NG4nbD+xF2sDhZKGv3dxHSVv5Udl36xBsz5529eWHozmU+eBY1uXeAfIhpMDShwuHP7BXeVqJKWU4sVoDvGkbHteQsV1gE2IpuYxSbmLsvF72+eCRnHAtFzQVjZ5/0yVNoABcuOpevOZK4XYytVNbdVvP5fPsh5Fp7sWbOwiUut4Ozy8zmFvp25ltHvUIqLftg/AGP6/mOv93AUxfFZLMK6Y/XEu8BSzRQizns8hA7uOHzCSTxSXL9/uPfr9m2XV1A0yPaykNxLOKJRtqC0AUJBhF/izhSPQ+Sl99l09KpgRDyVwT3uYOBXo8oSCjpJJQO/K2wb8gdv6asIBvD1a4xgCIa3BmFpMdH3+SWKU46M9Z5LPpNdk3TTjq1OpnHEWN1bGIzSs3pMoeFzh9JyGYpjDqBpS51ZUSxOsUXcufenraBup9AdRvHfFoEnVRVCPcO4XGNJSyLBn9+4/X0COe7pEJMgac8CtVoBotG/uR9u6NfyjzDTuaQMi/oI4EZIZZZBHF7eDThLNXmN4yMx2EWXwsl4EAdZem7UQLHikSDghZTh5St0uW/ZeqtjBHOOnwS+l7vk0gb+7rjz6XqizHpLOmzR6OttpL56O5gSRb0bu2NGueuh3h1If4p0trp399X1p5w0RTc3vZxju+862VeEoBPlBVfbof5HEY6Y/D8N9K34JmhWLoJmCo6S+x5+AEnpoqQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 612f761b-9881-4b4f-50a1-08db2b9a5473
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 12:30:04.8451
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Zp06ArKaHpxbfM+YpNF2OJ572ts/KI8XsyXKOeRt3BBNy4FfJf/k9lMyp75EhHQsitq+ES67/jfAuQWU4azZBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB6969

On Wed, Mar 22, 2023 at 10:55:42AM +0100, Jan Beulich wrote:
> On 21.03.2023 15:12, Roger Pau Monné wrote:
> > On Mon, Mar 20, 2023 at 09:32:26AM +0100, Jan Beulich wrote:
> >> ... in order to also intercept Dom0 accesses through the alias ports.
> > 
> > I'm trying to get some documentation about this aliasing, but so far I
> > haven't been able to find any.  Do you have any references of where I
> > might be able to find it?
> 
> I think several ICH datasheet documents mention this. Right now I'm
> looking at the ICH10 one (319973-003), section 13.6.1 ("I/O Register
> Address Map" under "Real Time Clock Registers").

Thanks, I had to fetch this from elsewhere as I haven't been able to
find it on the Intel documentation site, maybe it's too old?

> But such aliasing (really: lack of decoding) has been present on
> various of the low 1024 ports from the very early days of x86. So we
> may want to take care of such elsewhere as well, e.g. for the PIC
> (where aforementioned doc also explicitly mentions the aliases).

I wonder how relevant those aliases are for OSes, do we know of any OS
that uses them?

For example we don't seem to provide them to HVM guests at all, and we
seem to get away with it.

> >> Also stop intercepting accesses to the CMOS ports if we won't ourselves
> >> use the CMOS RTC.
> > 
> > Could this create any concerns with the ability to disable NMIs if we
> > no longer filter accesses to the RTC?
> 
> Hmm, that's a valid concern, but I'm not sure in how far we need to
> be worried about giving Dom0 this level of control. As long as we
> don't use it ourselves of course (I'm unaware of us using this
> anywhere). If we're worried, we could continue to intercept port
> 0x70 alone, just to mask off the top bit for writes.

I would be mostly worried about dom0 disabling NMI and thus causing
the Xen watchdog to trigger for example.  I don't think we should
allow dom0 to disable NMIs at all.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 12:31:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 12:31:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513829.795441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfK5l-0007Yd-MR; Thu, 23 Mar 2023 12:30:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513829.795441; Thu, 23 Mar 2023 12: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 1pfK5l-0007YW-JN; Thu, 23 Mar 2023 12:30:53 +0000
Received: by outflank-mailman (input) for mailman id 513829;
 Thu, 23 Mar 2023 12:30: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=6w1C=7P=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pfK5k-0007Af-4b
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 12:30:52 +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 8b30e8af-c976-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 13:30:49 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id d17so11843399wrb.11
 for <xen-devel@lists.xenproject.org>; Thu, 23 Mar 2023 05:30:49 -0700 (PDT)
Received: from [192.168.8.100] (46.204.108.203.nat.umts.dynamic.t-mobile.pl.
 [46.204.108.203]) by smtp.gmail.com with ESMTPSA id
 o15-20020a1c750f000000b003ee1acdb036sm1765109wmc.17.2023.03.23.05.30.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Mar 2023 05:30: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: 8b30e8af-c976-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679574649;
        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=in0lf9ii5GPOrlUOvE3Yr5xLBd1uYt4KFlxj9vcUjuI=;
        b=RGmudVwIInFbJSzMZ5+dQU2Icv+duMBKEKILNJ039Ptdbx0RWss6u/yTShcgfFKNhx
         oBrf4b/uFOxwsWni76CLp6WRK9EtkYoyPhxS6uSndaz4kSpwnbe+kl119mm7xuuJGMxs
         kLitKikY8Uvtnsh4UYsMaSb9CyszYS80nDxdx5h0LMD5VLmkIvp/jSRfWl3A63DilM24
         EpoOjcJaU4/vlXcLN8INHE97wufvSvgwa75bHMAWl0EluLCAEhSoYkLWDTwIs1Iz3yuj
         dPEjhFbQXeiDrZU02RXRH9t4xMnJjOKT/q8uo18ltCOAv4sfLZulV8WFb986mZ4IhkcG
         Ci6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679574649;
        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=in0lf9ii5GPOrlUOvE3Yr5xLBd1uYt4KFlxj9vcUjuI=;
        b=h7GAPeavue+YJWbcPGf7zfbsvFmI3gKiUTc0Z00SmrBEYYCqzrUUb19tOzDKhwa2KB
         XN2qsFQ+mWYJpPItYX7ZRGCtr6VJttQq4jAAdF42RRgFS/lEvFLFLrwcnRMuE6oopH3b
         kWqJBGi0HtyudeJPgWaqUqHyae+lZPwRRki8K3XaTYzxPIQxDugUhJXsQFV2K9kv/RYL
         qQJRN9GsVvVWkZipc6LFVHSyCWwXIw05PiCb2RvLl1tXJbOu5re3e+zlcOf55f+QrmXb
         +VdJ+oJeyCqWv/cwt4JnPMpF/gson4GMidV6tksuPRT1DO18h4wJ/K6JypjynuztlNar
         dL1Q==
X-Gm-Message-State: AAQBX9dfvZsGtEDbnu9x6FOrT+NHvU3lq4atFT+q6N8y7saRCCdbEPKj
	5xcbXUkry+z3Y2Ahj+H2yB0=
X-Google-Smtp-Source: AKy350aEDY965eESuv4lwVtt4eXaI44ZQJXqja2Xx3oo2RIdE4sUJXnJER7vAbcXvaBTg3V2TFiGvQ==
X-Received: by 2002:adf:dd06:0:b0:2cf:f3e8:910d with SMTP id a6-20020adfdd06000000b002cff3e8910dmr2652504wrm.16.1679574649125;
        Thu, 23 Mar 2023 05:30:49 -0700 (PDT)
Message-ID: <1da599963f20f84c84a9114e10776da3ed0d35e2.camel@gmail.com>
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>
Date: Thu, 23 Mar 2023 14:30:45 +0200
In-Reply-To: <98194c59-6bd8-7b98-c94d-df0f4faf0c04@xen.org>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
	 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
	 <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
	 <5169c6c8a0c4c90b56e3f525a55de464edf7181e.camel@gmail.com>
	 <60444252-80b6-230e-9090-2c96d5d6187d@xen.org>
	 <c9f4b34c4aef31906e715c7ddce8e077e5eef52c.camel@gmail.com>
	 <98194c59-6bd8-7b98-c94d-df0f4faf0c04@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Thu, 2023-03-23 at 11:57 +0000, Julien Grall wrote:
> On 23/03/2023 11:18, Oleksii wrote:
> > Hi Julien,
>=20
> Hi Oleksii,
>=20
> > On Wed, 2023-03-22 at 14:21 +0000, Julien Grall wrote:
> > ...
> > >=20
> > > > > > +=C2=A0=C2=A0=C2=A0 unsigned long page_addr;
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0 // /* align start addresses */
> > > > > > +=C2=A0=C2=A0=C2=A0 // map_start &=3D XEN_PT_LEVEL_MAP_MASK(0);
> > > > > > +=C2=A0=C2=A0=C2=A0 // pa_start &=3D XEN_PT_LEVEL_MAP_MASK(0);
> > > > >=20
> > > > > They should be switched to ASSERT() or BUG_ON().
> > > > Sure. Thanks. I'll update.
> > > > >=20
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0 page_addr =3D map_start;
> > > > > > +=C2=A0=C2=A0=C2=A0 while ( page_addr < map_end )
> > > > >=20
> > > > > This loop is continue to assume that only the mapping can
> > > > > first
> > > > > in
> > > > > 2MB
> > > > > section (or less if the start is not 2MB aligned).
> > > > >=20
> > > > > I am OK if you want to assume it, but I think this should be
> > > > > documented
> > > > > (with words and ASSERT()/BUG_ON()) to avoid any mistake.
> > > > I add a check in setup_initial_pagetables:
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON(load_addr_start % (PAGE=
_ENTRIES * PAGE_SIZE) !=3D
> > > > 0);
> > > > Probably this is not a correct place and should be moved to
> > > > setup_initial_mapping() instead of setup_initial_pagetables()
> > >=20
> > > Yes it should be moved in setup_initial_mapping().
> > Then I'll moved it to setup_initial_mapping()
> > >=20
> > > > >=20
> > > > > > +=C2=A0=C2=A0=C2=A0 {
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long index=
2 =3D pt_index(2, page_addr);
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long index=
1 =3D pt_index(1, page_addr);
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned long index=
0 =3D pt_index(0, page_addr);
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Setup level2 tab=
le */
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 second[index2] =3D =
paddr_to_pte((unsigned
> > > > > > long)first);
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 second[index2].pte =
|=3D PTE_TABLE;
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Setup level1 tab=
le */
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 first[index1] =3D p=
addr_to_pte((unsigned
> > > > > > long)zeroeth);
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 first[index1].pte |=
=3D PTE_TABLE;
> > > > > > +
> > > > > > +
> > > > >=20
> > > > > NIT: Spurious line?
> > > > Yeah, should be removed. Thanks.
> > > > >=20
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Setup level0 tab=
le */
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(=
&zeroeth[index0]) )
> > > > >=20
> > > > > On the previous version, you said it should be checked for
> > > > > each
> > > > > level.
> > > > I had a terrible internet connection, and my message wasn't
> > > > sent.
> > >=20
> > > No worries.
> > >=20
> > > >=20
> > > > I decided not to check that l2 and l1 are used only for
> > > > referring
> > > > to
> > > > the next page table but not leaf PTE. So it is safe to
> > > > overwrite it
> > > > each time (the addresses of page tables are the same all the
> > > > time)
> > >=20
> > > You are letting the caller to decide which page-table to use for
> > > each
> > > level. So you are at the mercy that caller will do the right
> > > thing.
> > >=20
> > > IHMO, this is a pretty bad idea because debugging page-tables
> > > error
> > > are
> > > difficult. So it is better to have safety in place. This is not
> > > worth...
> > >=20
> > > =C2=A0=C2=A0 and
> > > > probably it will be better from optimization point of view to
> > > > ignore if
> > > > clauses.
> > >=20
> > > ... the optimization in particular when this is at boot time.
> > I didn't think about that caller will do always the right thing so
> > I will add the check.
> > >=20
> > > >=20
> > > > And it is needed in case of L0 because it is possible that some
> > > > addressed were marked with specific flag ( execution, read,
> > > > write )
> > > > and
> > > > so not to overwrite the flags set before the check is needed.
> > > In which case you should really report an error because the
> > > caller
> > > may
> > > have decide to set execution flag and you don't honor. So when
> > > the
> > > code
> > > is executed, you will receive a fault and this may be hard to
> > > find
> > > out
> > > what happen.
> >=20
> > Right now, it is expected situation that the caller will try to
> > change
> > execution flag during the setup of initial page tables. >
> > It is possible in the currently implemented logic of the setup of
> > initial page tables.
>=20
> This sounds like a bug in your caller implementation. You should not
> try=20
> to workaround this in your code updating the page-tables.
>=20
> > Let me explain what I mean.
> >=20
> > The first step of setup_initial_pagetables() is to map .text,
> > .init,
> > .rodata with necessary flags RX, RX, R.
> > Remaining sections will have RW flags, and to map them,
> > setup_initial_mapping() is called for the whole range of
> > [linker_start,
> > linker_end] not to map them one by one thereby during this step
> > setup_initial_mapping() will try to remap addresses ranges which
> > overlap with .text, .init, .rodata with RW flags but it should
> > leave
> > with the previously set flags.
> Why do you need to call setup_init_mapping() with the whole range? In
> fact the only reason I can think this is useful is when you when to=20
> create a 1:1 mapping when the linker and load address is different.
It is needed to not map each section separately one by one as most of
the sections have the same PTE_FLAGS (Read, Write, eXectuable, etc )

So it was decided to map the following sections separately as they have
'unique' flags:
 - .text -> RX
 - .rodata -> R
 - .init.text -> RX

All other sections are RW and could be covered by one call of
setup_init_mapping() for the whole range:
 - .data.ro_after_init
 - .data.read_mostly=20
 - .data=20
 - .init.data=20
 - .bss
So some ranges ( .text, .rodata, .init.text ) from the whole range will
be skipped as already mapped and the rest sections will be mapped
during one call of setup_init_mapping().

> But...
>=20
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0 /* Get the addresses where the page tables =
were loaded
> > > > > > */
> > > > > > +=C2=A0=C2=A0=C2=A0 second=C2=A0 =3D (pte_t *)(&xen_second_page=
table);
> > > > > > +=C2=A0=C2=A0=C2=A0 first=C2=A0=C2=A0 =3D (pte_t *)(&xen_first_=
pagetable);
> > > > > > +=C2=A0=C2=A0=C2=A0 zeroeth =3D (pte_t *)(&xen_zeroeth_pagetabl=
e);
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0 setup_initial_mapping(second, first, zeroet=
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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 LOAD_TO_LINK((unsigned
> > > > > > long)&_stext),
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 LOAD_TO_LINK((unsigned
> > > > > > long)&_etext),
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 (unsigned long)&_stext,
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 PTE_LEAF_DEFAULT);
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0 setup_initial_mapping(second, first, zeroet=
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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 LOAD_TO_LINK((unsigned
> > > > > > long)&__init_begin),
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 LOAD_TO_LINK((unsigned
> > > > > > long)&__init_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 (unsigned long)&__init_begin,
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 PTE_LEAF_DEFAULT |
> > > > > > PTE_WRITABLE);
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0 setup_initial_mapping(second, first, zeroet=
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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 LOAD_TO_LINK((unsigned
> > > > > > long)&_srodata),
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 LOAD_TO_LINK((unsigned
> > > > > > long)&_erodata),
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 (unsigned long)(&_srodata),
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 PTE_VALID | PTE_READABLE);
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0 setup_initial_mapping(second, first, zeroet=
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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 linker_addr_start,
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 linker_addr_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 load_addr_start,
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 PTE_LEAF_DEFAULT |
> > > > > > PTE_READABLE);
> > >=20
> > > ... this is not cover above. AFAIU, this is the one for the 1:1
> > > mapping.
> > But there is no 1:1 mapping.
> > I thought that 1:1 mapping is when the physical address is equal to
> > 0x10020 then after MMU is enabled the virtual address will be the
> > same
> > 0x10020 and mapped to 0x10020.
> >=20
> > Probably I missed something but this code maps all linker addresses
> > to correspondent load addresses and it will be 1:1 only in case
> > when
> > load address is equal to linker address.
>=20
> ... here you say this is not the purpose.
>=20
> Also, if you don't intend to deal with load !=3D link address yet, then
> the following BUG_ON() needs to be updated:
>=20
> +=C2=A0=C2=A0=C2=A0 if (load_addr_start !=3D linker_addr_start)
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON((linker_addr_end > loa=
d_addr_start && load_addr_end >
> linker_addr_start));
I think that I'll cover it in the new patch series as I clarified all
necessary information and I don't expect that it will be too hard to
add from the start.
>=20
> > >=20
> > > > >=20
> > > > > As I said in v1, you need to use a different set of page-
> > > > > table
> > > > > here.
> > > > If I understand you correctly I have to use a different set of
> > > > page-
> > > > table in case when it is possible that size of Xen will be
> > > > larger
> > > > then
> > > > PAGE_SIZE. So I added to xen.lds.S a check to be sure that the
> > > > size
> > > > fits into PAGE_SIZE.
> > >=20
> > > This is not what I was referring to. I was pointing out that
> > > second,
> > > first, zeroeth are exactly the same for all the callers. You want
> > > to
> > > introduce a second set of zeroeth table. You will want to do the
> > > same
> > > for first but it is not always used.
> > >=20
> > > Otherwise, this is not going to work if Xen is loaded at a
> > > different
> > > address than the runtime.
> > Ok.
> >=20
> > I understand what do you mean in general but still I am not sure
> > that I
> > understand a particular case when I am sure that the size of Xen is
> > no
> > bigger then 2MB and load address is aligned on 2Mb boundary.
> >=20
> > The size of one l0 page table is 512 (1 << 9 ) entries which covers
> > 4K
> > (1 << 12) * 512 =3D 2 Mb of memory so it should be fine.
> > All the callers in my case are trying to map addresses from
> > [linker_start, linker_end] which is not bigger then 2 MB and is
> > aligned
> > on 2 MB boundary.
>=20
> I interpreted that your last call was meant to be for the 1:1 mapping
> when load !=3D link address. It looks like I was wrong, so the same=20
> page-table should be OK.
Thanks. Now we are on the same page.

But actually I like an idea to have more page tables and remove a
limitation to be aligned on 2MB boundary from the start.

I experimented with adding of additional table ( ( if it is necessary )
so it shouldn't be hard to add that code too.
>=20
> >=20
> > >=20
> > > That said, when I spoke with Andrew yesterday, he mentioned that
> > > your
> > > initial goal is to support the case where Xen is loaded at the
> > > runtime
> > > address. I understand this simplifies a lot the code and I told
> > > him I
> > > was OK with that. However, it would be good to document what are
> > > your
> > > goals in each series (this is not always clear what you skip on
> > > purpose).
> > >=20
> > > >=20
> > > > > Also, where do you guarantee that Xen will be loaded at a 2MB
> > > > > aligned
> > > > > address? (For a fact I know that UEFI is only guarantee 4KB
> > > > > alignment).
> > > > There is a check in setup_initial_pagetables:
> > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON(load_addr_start % (PAGE=
_ENTRIES * PAGE_SIZE) !=3D
> > > > 0);
> > >=20
> > > This is not very obvious the check is to confirm that Xen is
> > > probably
> > > aligned. I would suggest to add a comment.
> > >=20
> > > Also, you might want to use XEN_PT_LEVEL_SIZE(..) to make it more
> > > obvious what sort of alignment you are trying to enforce.
> > I will update add the comment and use XEN_PT_LEVEL_SIZE(...)
> > instead.
> > >=20
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 la=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 sp, cpu0_boot_stack
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 li=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 t0, STACK_SIZE
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=
=A0=C2=A0 sp, sp, t0
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Re-init an =
address of exception handler as it
> > > > > > was
> > > > > > overwritten=C2=A0 with
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * the address=
 of the .L_mmu_is_enabled label.
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Before jump=
 to trap_init save return address of
> > > > > > enable_mmu() to
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * know where =
we should back after enable_mmu()
> > > > > > will
> > > > > > be
> > > > > > finished.
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mv=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 s0, ra
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lla=C2=A0=C2=A0=C2=
=A0=C2=A0 t0, trap_init
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 jalr=C2=A0=C2=A0=C2=
=A0 ra, t0
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /*
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * Re-calculat=
e the return address of enable_mmu()
> > > > > > function for case
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 * when linker=
 start address isn't equal to load
> > > > > > start
> > > > > > address
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 */
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=
=A0=C2=A0 s0, s0, t1
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mv=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 ra, s0
> > > > > > +
> > > > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret
> > > > >=20
> > > > > Missing ENDPROC?
> > > > I haven't seen the usage of ENDPROC for RISC-V so it looks like
> > > > it
> > > > is
> > > > not necessary.
> > >=20
> > > Ok. Would the objdump be able to report the function properly
> > > then? I
> > > know that on Arm, it was necessary report assembly function
> > > properly.
> > It is fine for RISC-V:
> >=20
> > Disassembly of section .text:
> >=20
> > 0000000000200000 <_start>:
> > =C2=A0=C2=A0 200000:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 10401073=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 csrw=C2=A0=C2=A0=C2=A0 sie,zero
> > =C2=A0=C2=A0 200004:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 6299=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 lui=C2=A0=C2=A0=C2=A0=C2=A0 t0,0x6
> > ...
> > =C2=A0=C2=A0 20003c:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 00000013=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 nop
> >=20
> > 0000000000200040 <enable_mmu>:
> > =C2=A0=C2=A0 200040:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0003a297=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 auipc=C2=A0=C2=A0 t0,0x3a
> > ...
> > =C2=A0=C2=A0 20009e:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 941a=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 add=C2=A0=C2=A0=C2=A0=C2=A0 s0,s0,t1
> > =C2=A0=C2=A0 2000a0:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 80a2=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 mv=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ra,s0
> > =C2=A0=C2=A0 2000a2:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 8082=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ...
> >=20
> > 00000000002000b0 <__bitmap_empty>:
> > =C2=A0=C2=A0 2000b0:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 1141=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 addi=C2=A0=C2=A0=C2=A0 sp,sp,-16
> > =C2=A0=C2=A0 2000b2:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 e422=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 sd=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 s0,8(sp)
> > =C2=A0=C2=A0 2000b4:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0800=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 addi=C2=A0=C2=A0=C2=A0 s0,sp,16
> > ...
>=20
> Perfect thanks!
>=20
~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 12:37:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 12:37:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513837.795450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfKBm-0008Pd-C6; Thu, 23 Mar 2023 12:37:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513837.795450; Thu, 23 Mar 2023 12: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 1pfKBm-0008PW-9H; Thu, 23 Mar 2023 12:37:06 +0000
Received: by outflank-mailman (input) for mailman id 513837;
 Thu, 23 Mar 2023 12: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 1pfKBk-0008PM-V0; Thu, 23 Mar 2023 12: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 1pfKBk-0007BN-SD; Thu, 23 Mar 2023 12: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 1pfKBk-0003s0-Ee; Thu, 23 Mar 2023 12:37:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfKBk-0002G4-E9; Thu, 23 Mar 2023 12:37: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=6nLqmQEM8aNTWKhYg2fs49cIjw7EdpUWr/N+7RBqHKE=; b=3YupHDDZUBFWFrmy47zybeAoCR
	bcKHLqiQzf92uPO2a2nnAvnmI/V8fJClRzsTndoy+SXEYBj5cPVX8tvANMiXfEg+yEn3xplYuSOKT
	ZBIzIlYIvwqCJD/DdTVzBFx+X0V/6sdyQEpEvzUnk8Fl20xcOPJnYQb27I7s/R4oxk1w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179892-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179892: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=cf6a0a52b07195ba278e48b89cfb7ddbad332ab1
X-Osstest-Versions-That:
    ovmf=4f441d024bee7e1a6438737b58e4b0b6856b3eab
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Mar 2023 12:37:04 +0000

flight 179892 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179892/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 cf6a0a52b07195ba278e48b89cfb7ddbad332ab1
baseline version:
 ovmf                 4f441d024bee7e1a6438737b58e4b0b6856b3eab

Last test of basis   179860  2023-03-22 04:10:52 Z    1 days
Testing same since   179892  2023-03-23 09:43:42 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-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
   4f441d024b..cf6a0a52b0  cf6a0a52b07195ba278e48b89cfb7ddbad332ab1 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 12:38:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 12:38:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513842.795460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfKDK-0000WQ-O9; Thu, 23 Mar 2023 12:38:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513842.795460; Thu, 23 Mar 2023 12: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 1pfKDK-0000WJ-L0; Thu, 23 Mar 2023 12:38:42 +0000
Received: by outflank-mailman (input) for mailman id 513842;
 Thu, 23 Mar 2023 12:38: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 1pfKDJ-0000WD-Aj
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 12:38: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 1pfKDI-0007CQ-Gz; Thu, 23 Mar 2023 12:38:40 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.18.79]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pfKDI-0008QW-8t; Thu, 23 Mar 2023 12:38: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=efMjBDYKcSEzs1ZCLbZDhUWeCi4aNZSD5rSs1DYVw00=; b=A8JI7NAFA6Hx1HXbrgzZkAEx81
	ZhsyOMePsh/WKh0UsP9/vnWMsbsMris+r1ahWuciTGlmuJC1tbvIjx+1rp0AqDNj+M6VxQrgkrHyj
	7Bz2YuC6hMp4cPr/+FEPtS10gzEplBIJgIzxO5Nq4pDY2zGuT1/Sdt1i7xL92Sk+Hd5c=;
Message-ID: <a8e71268-6111-d4d5-5cba-ed141dba530d@xen.org>
Date: Thu, 23 Mar 2023 12:38:38 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH] tools/xenstore: fix quota check in acc_fix_domains()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230224155848.31036-1-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230224155848.31036-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 24/02/2023 15:58, Juergen Gross wrote:
> Today when finalizing a transaction the number of node quota is checked
> to not being exceeded after the transaction. This check is always done,
> even if the transaction is being performed by a privileged connection,
> or if there were no nodes created in the transaction.
> 
> Correct that by checking quota only if:
> - the transaction is being performed by an unprivileged guest, and
> - at least one node was created in the transaction
> 
> Reported-by: Julien Grall <julien@xen.org>
> Fixes: f2bebf72c4d5 ("xenstore: rework of transaction handling")
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   tools/xenstore/xenstored_core.c        |  3 +++
>   tools/xenstore/xenstored_domain.c      |  4 ++--
>   tools/xenstore/xenstored_domain.h      |  2 +-
>   tools/xenstore/xenstored_transaction.c | 16 ++++++++++++++--
>   tools/xenstore/xenstored_transaction.h |  3 +++
>   5 files changed, 23 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
> index a61db2db2d..3ca68681e3 100644
> --- a/tools/xenstore/xenstored_core.c
> +++ b/tools/xenstore/xenstored_core.c
> @@ -1472,6 +1472,9 @@ static struct node *create_node(struct connection *conn, const void *ctx,
>   	if (!node)
>   		return NULL;
>   
> +	if (conn && conn->transaction)
> +		ta_node_created(conn->transaction);
> +
>   	node->data = data;
>   	node->datalen = datalen;
>   
> diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
> index d7fc2fafc7..f62be2245c 100644
> --- a/tools/xenstore/xenstored_domain.c
> +++ b/tools/xenstore/xenstored_domain.c
> @@ -544,7 +544,7 @@ static struct domain *find_domain_by_domid(unsigned int domid)
>   	return (d && d->introduced) ? d : NULL;
>   }
>   
> -int acc_fix_domains(struct list_head *head, bool update)
> +int acc_fix_domains(struct list_head *head, bool chk_quota, bool update)
>   {
>   	struct changed_domain *cd;
>   	int cnt;
> @@ -552,7 +552,7 @@ int acc_fix_domains(struct list_head *head, bool update)
>   	list_for_each_entry(cd, head, list) {
>   		cnt = domain_nbentry_fix(cd->domid, cd->nbentry, update);
>   		if (!update) {
> -			if (cnt >= quota_nb_entry_per_domain)
> +			if (chk_quota && cnt >= quota_nb_entry_per_domain)
>   				return ENOSPC;
>   			if (cnt < 0)
>   				return ENOMEM;
> diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
> index dc4660861e..ec6aa00cc7 100644
> --- a/tools/xenstore/xenstored_domain.h
> +++ b/tools/xenstore/xenstored_domain.h
> @@ -96,7 +96,7 @@ void domain_outstanding_dec(struct connection *conn);
>   void domain_outstanding_domid_dec(unsigned int domid);
>   int domain_get_quota(const void *ctx, struct connection *conn,
>   		     unsigned int domid);
> -int acc_fix_domains(struct list_head *head, bool update);
> +int acc_fix_domains(struct list_head *head, bool chk_quota, bool update);

Depending on the answer below, I would suggest to write that 'chk_quota' 
is ignored when ``update`` is true.

>   
>   /* Write rate limiting */
>   
> diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
> index 1aa9d3cb3d..2b15506953 100644
> --- a/tools/xenstore/xenstored_transaction.c
> +++ b/tools/xenstore/xenstored_transaction.c
> @@ -160,12 +160,20 @@ struct transaction
>   	/* List of changed domains - to record the changed domain entry number */
>   	struct list_head changed_domains;
>   
> +	/* There was at least one node created in the transaction. */
> +	bool node_created;
> +
>   	/* Flag for letting transaction fail. */
>   	bool fail;
>   };
>   
>   uint64_t generation;
>   
> +void ta_node_created(struct transaction *trans)
> +{
> +	trans->node_created = true;
> +}
> +
>   static struct accessed_node *find_accessed_node(struct transaction *trans,
>   						const char *name)
>   {
> @@ -509,6 +517,7 @@ int do_transaction_end(const void *ctx, struct connection *conn,
>   	const char *arg = onearg(in);
>   	struct transaction *trans;
>   	bool is_corrupt = false;
> +	bool chk_quota;
>   	int ret;
>   
>   	if (!arg || (!streq(arg, "T") && !streq(arg, "F")))
> @@ -523,13 +532,16 @@ int do_transaction_end(const void *ctx, struct connection *conn,
>   	if (!conn->transaction_started)
>   		conn->ta_start_time = 0;
>   
> +	chk_quota = trans->node_created && domain_is_unprivileged(conn);
> +
>   	/* Attach transaction to ctx for auto-cleanup */
>   	talloc_steal(ctx, trans);
>   
>   	if (streq(arg, "T")) {
>   		if (trans->fail)
>   			return ENOMEM;
> -		ret = acc_fix_domains(&trans->changed_domains, false);
> +		ret = acc_fix_domains(&trans->changed_domains, chk_quota,
> +				      false);
>   		if (ret)
>   			return ret;
>   		ret = finalize_transaction(conn, trans, &is_corrupt);
> @@ -539,7 +551,7 @@ int do_transaction_end(const void *ctx, struct connection *conn,
>   		wrl_apply_debit_trans_commit(conn);
>   
>   		/* fix domain entry for each changed domain */
> -		acc_fix_domains(&trans->changed_domains, true);
> +		acc_fix_domains(&trans->changed_domains, false, true);

In theory, shouldn't we pass 'chk_quota' rather than false? In practice, 
I know it doesn't make any difference between this is an update.

>   
>   		if (is_corrupt)
>   			corrupt(conn, "transaction inconsistency");
> diff --git a/tools/xenstore/xenstored_transaction.h b/tools/xenstore/xenstored_transaction.h
> index b6f8cb7d0a..883145163f 100644
> --- a/tools/xenstore/xenstored_transaction.h
> +++ b/tools/xenstore/xenstored_transaction.h
> @@ -36,6 +36,9 @@ int do_transaction_end(const void *ctx, struct connection *conn,
>   
>   struct transaction *transaction_lookup(struct connection *conn, uint32_t id);
>   
> +/* Set flag for created node. */
> +void ta_node_created(struct transaction *trans);
> +
>   /* This node was accessed. */
>   int __must_check access_node(struct connection *conn, struct node *node,
>                                enum node_access_type type, TDB_DATA *key);

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 12:43:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 12:43:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513847.795471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfKI2-0002KB-Fq; Thu, 23 Mar 2023 12:43:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513847.795471; Thu, 23 Mar 2023 12:43: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 1pfKI2-0002K4-Co; Thu, 23 Mar 2023 12:43:34 +0000
Received: by outflank-mailman (input) for mailman id 513847;
 Thu, 23 Mar 2023 12:43: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=kUbI=7P=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1pfKI0-0002Jy-J7
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 12:43:33 +0000
Received: from mail.skyhub.de (mail.skyhub.de [5.9.137.197])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 50bfbe92-c978-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 13:43:30 +0100 (CET)
Received: from zn.tnic (p5de8e687.dip0.t-ipconnect.de [93.232.230.135])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by mail.skyhub.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 1D8ED1EC0666;
 Thu, 23 Mar 2023 13:43: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: 50bfbe92-c978-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=dkim;
	t=1679575410;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
	 content-transfer-encoding:in-reply-to:in-reply-to:  references:references;
	bh=K9/n1rpAwWFTZEJX1IfhukaW5XPdU+nWAbh6D9porq0=;
	b=nrqNQ33NtT7l7CzSbB7aCBMDOTqEvqWLVPXSD5X14u8yn87ok8XDAIJmfZJMhFz6bAxt9q
	ERkh/4ZJF5si3nVU4Cmv3JD656voKZjP4WzeBqHK+1qfv6tsn7OxIf3vVrSmUS3Iokwe7c
	HbajBiKvPygMagiGPuQ+3U52OEcMRO8=
Date: Thu, 23 Mar 2023 13:43:24 +0100
From: Borislav Petkov <bp@alien8.de>
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>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4 05/12] x86/xen: set MTRR state when running as Xen PV
 initial domain
Message-ID: <20230323124324.GHZBxJbOW1fvHOgiQ1@fat_crate.local>
References: <20230306163425.8324-1-jgross@suse.com>
 <20230306163425.8324-6-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230306163425.8324-6-jgross@suse.com>

On Mon, Mar 06, 2023 at 05:34:18PM +0100, Juergen Gross wrote:
> +	for (reg = 0; reg < MTRR_MAX_VAR_RANGES; reg++) {
> +		op.u.read_memtype.reg = reg;
> +		if (HYPERVISOR_platform_op(&op))
> +			break;
> +
> +		/*
> +		 * Only called in dom0, which has all RAM PFNs mapped at
> +		 * RAM MFNs, and all PCI space etc. is identity mapped.
> +		 * This means we can treat MFN == PFN regarding MTTR settings.
								^^^^

"MTRR"

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 12:44:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 12:44:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513849.795480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfKId-0002ga-Nk; Thu, 23 Mar 2023 12:44:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513849.795480; Thu, 23 Mar 2023 12:44: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 1pfKId-0002gT-L1; Thu, 23 Mar 2023 12:44:11 +0000
Received: by outflank-mailman (input) for mailman id 513849;
 Thu, 23 Mar 2023 12:44: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 1pfKIc-0002g8-86
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 12:44: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 1pfKIb-0007Rt-MT; Thu, 23 Mar 2023 12:44:09 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.18.79]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pfKIb-0000IP-Fu; Thu, 23 Mar 2023 12:44:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=JXNkX6mCQ12J6fWiSpxUNoETCP4ol34oY64CGQBSb1g=; b=XSJlleTM1XCHGTPUqV13OoNUOh
	5V5xsfnRi/vQgO7nVsuFcuqtg2NlaYIdxMvUo73Ky5rR+pBlYBKxQT59m8KruE9Dj0IgHQ0448hcz
	Mwe8X1qX9agTZXW1JsEY/BX28ktS/PR7qdnBdDk3oKbBytPUR1GX1w+mm2gVuE7feSpE=;
Message-ID: <79e83610-5980-d9b5-7994-6b0cb2b9049a@xen.org>
Date: Thu, 23 Mar 2023 12:44:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
 <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
 <5169c6c8a0c4c90b56e3f525a55de464edf7181e.camel@gmail.com>
 <60444252-80b6-230e-9090-2c96d5d6187d@xen.org>
 <c9f4b34c4aef31906e715c7ddce8e077e5eef52c.camel@gmail.com>
 <98194c59-6bd8-7b98-c94d-df0f4faf0c04@xen.org>
 <1da599963f20f84c84a9114e10776da3ed0d35e2.camel@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1da599963f20f84c84a9114e10776da3ed0d35e2.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Oleksii,

On 23/03/2023 12:30, Oleksii wrote:
> On Thu, 2023-03-23 at 11:57 +0000, Julien Grall wrote:
>> On 23/03/2023 11:18, Oleksii wrote:
>>> Hi Julien,
>>
>> Hi Oleksii,
>>
>>> On Wed, 2023-03-22 at 14:21 +0000, Julien Grall wrote:
>>> ...
>>>>
>>>>>>> +    unsigned long page_addr;
>>>>>>> +
>>>>>>> +    // /* align start addresses */
>>>>>>> +    // map_start &= XEN_PT_LEVEL_MAP_MASK(0);
>>>>>>> +    // pa_start &= XEN_PT_LEVEL_MAP_MASK(0);
>>>>>>
>>>>>> They should be switched to ASSERT() or BUG_ON().
>>>>> Sure. Thanks. I'll update.
>>>>>>
>>>>>>> +
>>>>>>> +    page_addr = map_start;
>>>>>>> +    while ( page_addr < map_end )
>>>>>>
>>>>>> This loop is continue to assume that only the mapping can
>>>>>> first
>>>>>> in
>>>>>> 2MB
>>>>>> section (or less if the start is not 2MB aligned).
>>>>>>
>>>>>> I am OK if you want to assume it, but I think this should be
>>>>>> documented
>>>>>> (with words and ASSERT()/BUG_ON()) to avoid any mistake.
>>>>> I add a check in setup_initial_pagetables:
>>>>>         BUG_ON(load_addr_start % (PAGE_ENTRIES * PAGE_SIZE) !=
>>>>> 0);
>>>>> Probably this is not a correct place and should be moved to
>>>>> setup_initial_mapping() instead of setup_initial_pagetables()
>>>>
>>>> Yes it should be moved in setup_initial_mapping().
>>> Then I'll moved it to setup_initial_mapping()
>>>>
>>>>>>
>>>>>>> +    {
>>>>>>> +        unsigned long index2 = pt_index(2, page_addr);
>>>>>>> +        unsigned long index1 = pt_index(1, page_addr);
>>>>>>> +        unsigned long index0 = pt_index(0, page_addr);
>>>>>>> +
>>>>>>> +        /* Setup level2 table */
>>>>>>> +        second[index2] = paddr_to_pte((unsigned
>>>>>>> long)first);
>>>>>>> +        second[index2].pte |= PTE_TABLE;
>>>>>>> +
>>>>>>> +        /* Setup level1 table */
>>>>>>> +        first[index1] = paddr_to_pte((unsigned
>>>>>>> long)zeroeth);
>>>>>>> +        first[index1].pte |= PTE_TABLE;
>>>>>>> +
>>>>>>> +
>>>>>>
>>>>>> NIT: Spurious line?
>>>>> Yeah, should be removed. Thanks.
>>>>>>
>>>>>>> +        /* Setup level0 table */
>>>>>>> +        if ( !pte_is_valid(&zeroeth[index0]) )
>>>>>>
>>>>>> On the previous version, you said it should be checked for
>>>>>> each
>>>>>> level.
>>>>> I had a terrible internet connection, and my message wasn't
>>>>> sent.
>>>>
>>>> No worries.
>>>>
>>>>>
>>>>> I decided not to check that l2 and l1 are used only for
>>>>> referring
>>>>> to
>>>>> the next page table but not leaf PTE. So it is safe to
>>>>> overwrite it
>>>>> each time (the addresses of page tables are the same all the
>>>>> time)
>>>>
>>>> You are letting the caller to decide which page-table to use for
>>>> each
>>>> level. So you are at the mercy that caller will do the right
>>>> thing.
>>>>
>>>> IHMO, this is a pretty bad idea because debugging page-tables
>>>> error
>>>> are
>>>> difficult. So it is better to have safety in place. This is not
>>>> worth...
>>>>
>>>>     and
>>>>> probably it will be better from optimization point of view to
>>>>> ignore if
>>>>> clauses.
>>>>
>>>> ... the optimization in particular when this is at boot time.
>>> I didn't think about that caller will do always the right thing so
>>> I will add the check.
>>>>
>>>>>
>>>>> And it is needed in case of L0 because it is possible that some
>>>>> addressed were marked with specific flag ( execution, read,
>>>>> write )
>>>>> and
>>>>> so not to overwrite the flags set before the check is needed.
>>>> In which case you should really report an error because the
>>>> caller
>>>> may
>>>> have decide to set execution flag and you don't honor. So when
>>>> the
>>>> code
>>>> is executed, you will receive a fault and this may be hard to
>>>> find
>>>> out
>>>> what happen.
>>>
>>> Right now, it is expected situation that the caller will try to
>>> change
>>> execution flag during the setup of initial page tables. >
>>> It is possible in the currently implemented logic of the setup of
>>> initial page tables.
>>
>> This sounds like a bug in your caller implementation. You should not
>> try
>> to workaround this in your code updating the page-tables.
>>
>>> Let me explain what I mean.
>>>
>>> The first step of setup_initial_pagetables() is to map .text,
>>> .init,
>>> .rodata with necessary flags RX, RX, R.
>>> Remaining sections will have RW flags, and to map them,
>>> setup_initial_mapping() is called for the whole range of
>>> [linker_start,
>>> linker_end] not to map them one by one thereby during this step
>>> setup_initial_mapping() will try to remap addresses ranges which
>>> overlap with .text, .init, .rodata with RW flags but it should
>>> leave
>>> with the previously set flags.
>> Why do you need to call setup_init_mapping() with the whole range? In
>> fact the only reason I can think this is useful is when you when to
>> create a 1:1 mapping when the linker and load address is different.
> It is needed to not map each section separately one by one as most of
> the sections have the same PTE_FLAGS (Read, Write, eXectuable, etc )
> 
> So it was decided to map the following sections separately as they have
> 'unique' flags:
>   - .text -> RX
>   - .rodata -> R
>   - .init.text -> RX
> 
> All other sections are RW and could be covered by one call of
> setup_init_mapping() for the whole range:
>   - .data.ro_after_init
>   - .data.read_mostly
>   - .data
>   - .init.data
>   - .bss
> So some ranges ( .text, .rodata, .init.text ) from the whole range will
> be skipped as already mapped and the rest sections will be mapped
> during one call of setup_init_mapping().

This approach is very fragile and not scalable because:
  * You can't use setup_initial_mapping() to change the permission flags.
  * You can't catch caller mistakes (e.g. imagine you end up to use a 
different physical region).

I can see two solutions:

   1) Loop through the region page and page and check within permission 
you want (see the loop in setup_pagetables() for Arm).
   2) Re-order the calls so you want first all Xen and then update the 
permission flags as it fits.

I don't have a strong preference between the two options here.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 12:54:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 12:54:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513853.795491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfKS2-0004dX-KG; Thu, 23 Mar 2023 12:53:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513853.795491; Thu, 23 Mar 2023 12:53: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 1pfKS2-0004dQ-HZ; Thu, 23 Mar 2023 12:53:54 +0000
Received: by outflank-mailman (input) for mailman id 513853;
 Thu, 23 Mar 2023 12: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=d8pY=7P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfKS1-0004dH-FF
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 12:53: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 c3078733-c979-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 13:53: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 A6C641FDD2;
 Thu, 23 Mar 2023 12:53: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 7A73A13596;
 Thu, 23 Mar 2023 12:53:51 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kF0+HN9LHGSmRAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 23 Mar 2023 12:53:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3078733-c979-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679576031; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=3Tyd9ilcf6GW/IpbuAfrjlrqolrlpjOcZ94+pxePI6g=;
	b=YKIybdn8kKsorJXYraLRRm9z0r0L+oGqJmVUo9pbhcf1qp+3xS0fyYovSiPO3FVCRkAe9Y
	MbhumjWwBe8YGQNhsth92yIs+SWvUVUcpKiRaJawOPD8QFic6BwBSIJ9dEA23WhvuRh0cq
	Vz/rF4Zsu+GyV7zYMad3z2/w6HQLVY8=
Message-ID: <363e4526-6bc2-d961-88ac-93ba82e2e30c@suse.com>
Date: Thu, 23 Mar 2023 13:53:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
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: <20230224155848.31036-1-jgross@suse.com>
 <a8e71268-6111-d4d5-5cba-ed141dba530d@xen.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] tools/xenstore: fix quota check in acc_fix_domains()
In-Reply-To: <a8e71268-6111-d4d5-5cba-ed141dba530d@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------NQj1HR0sc4RuIFzKuOHXJQQh"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------NQj1HR0sc4RuIFzKuOHXJQQh
Content-Type: multipart/mixed; boundary="------------t7T2GG9Q8DBGd6oCzEL8B6A4";
 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: <363e4526-6bc2-d961-88ac-93ba82e2e30c@suse.com>
Subject: Re: [PATCH] tools/xenstore: fix quota check in acc_fix_domains()
References: <20230224155848.31036-1-jgross@suse.com>
 <a8e71268-6111-d4d5-5cba-ed141dba530d@xen.org>
In-Reply-To: <a8e71268-6111-d4d5-5cba-ed141dba530d@xen.org>

--------------t7T2GG9Q8DBGd6oCzEL8B6A4
Content-Type: multipart/mixed; boundary="------------izo0iVdLezFNnmJLutjb00k0"

--------------izo0iVdLezFNnmJLutjb00k0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjMuMDMuMjMgMTM6MzgsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDI0LzAyLzIwMjMgMTU6NTgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBU
b2RheSB3aGVuIGZpbmFsaXppbmcgYSB0cmFuc2FjdGlvbiB0aGUgbnVtYmVyIG9mIG5vZGUg
cXVvdGEgaXMgY2hlY2tlZA0KPj4gdG8gbm90IGJlaW5nIGV4Y2VlZGVkIGFmdGVyIHRoZSB0
cmFuc2FjdGlvbi4gVGhpcyBjaGVjayBpcyBhbHdheXMgZG9uZSwNCj4+IGV2ZW4gaWYgdGhl
IHRyYW5zYWN0aW9uIGlzIGJlaW5nIHBlcmZvcm1lZCBieSBhIHByaXZpbGVnZWQgY29ubmVj
dGlvbiwNCj4+IG9yIGlmIHRoZXJlIHdlcmUgbm8gbm9kZXMgY3JlYXRlZCBpbiB0aGUgdHJh
bnNhY3Rpb24uDQo+Pg0KPj4gQ29ycmVjdCB0aGF0IGJ5IGNoZWNraW5nIHF1b3RhIG9ubHkg
aWY6DQo+PiAtIHRoZSB0cmFuc2FjdGlvbiBpcyBiZWluZyBwZXJmb3JtZWQgYnkgYW4gdW5w
cml2aWxlZ2VkIGd1ZXN0LCBhbmQNCj4+IC0gYXQgbGVhc3Qgb25lIG5vZGUgd2FzIGNyZWF0
ZWQgaW4gdGhlIHRyYW5zYWN0aW9uDQo+Pg0KPj4gUmVwb3J0ZWQtYnk6IEp1bGllbiBHcmFs
bCA8anVsaWVuQHhlbi5vcmc+DQo+PiBGaXhlczogZjJiZWJmNzJjNGQ1ICgieGVuc3RvcmU6
IHJld29yayBvZiB0cmFuc2FjdGlvbiBoYW5kbGluZyIpDQo+PiBTaWduZWQtb2ZmLWJ5OiBK
dWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+PiAtLS0NCj4+IMKgIHRvb2xzL3hl
bnN0b3JlL3hlbnN0b3JlZF9jb3JlLmPCoMKgwqDCoMKgwqDCoCB8wqAgMyArKysNCj4+IMKg
IHRvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uY8KgwqDCoMKgwqAgfMKgIDQgKyst
LQ0KPj4gwqAgdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2RvbWFpbi5owqDCoMKgwqDCoCB8
wqAgMiArLQ0KPj4gwqAgdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX3RyYW5zYWN0aW9uLmMg
fCAxNiArKysrKysrKysrKysrKy0tDQo+PiDCoCB0b29scy94ZW5zdG9yZS94ZW5zdG9yZWRf
dHJhbnNhY3Rpb24uaCB8wqAgMyArKysNCj4+IMKgIDUgZmlsZXMgY2hhbmdlZCwgMjMgaW5z
ZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMv
eGVuc3RvcmUveGVuc3RvcmVkX2NvcmUuYyBiL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9j
b3JlLmMNCj4+IGluZGV4IGE2MWRiMmRiMmQuLjNjYTY4NjgxZTMgMTAwNjQ0DQo+PiAtLS0g
YS90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfY29yZS5jDQo+PiArKysgYi90b29scy94ZW5z
dG9yZS94ZW5zdG9yZWRfY29yZS5jDQo+PiBAQCAtMTQ3Miw2ICsxNDcyLDkgQEAgc3RhdGlj
IHN0cnVjdCBub2RlICpjcmVhdGVfbm9kZShzdHJ1Y3QgY29ubmVjdGlvbiAqY29ubiwgDQo+
PiBjb25zdCB2b2lkICpjdHgsDQo+PiDCoMKgwqDCoMKgIGlmICghbm9kZSkNCj4+IMKgwqDC
oMKgwqDCoMKgwqDCoCByZXR1cm4gTlVMTDsNCj4+ICvCoMKgwqAgaWYgKGNvbm4gJiYgY29u
bi0+dHJhbnNhY3Rpb24pDQo+PiArwqDCoMKgwqDCoMKgwqAgdGFfbm9kZV9jcmVhdGVkKGNv
bm4tPnRyYW5zYWN0aW9uKTsNCj4+ICsNCj4+IMKgwqDCoMKgwqAgbm9kZS0+ZGF0YSA9IGRh
dGE7DQo+PiDCoMKgwqDCoMKgIG5vZGUtPmRhdGFsZW4gPSBkYXRhbGVuOw0KPj4gZGlmZiAt
LWdpdCBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uYyANCj4+IGIvdG9vbHMv
eGVuc3RvcmUveGVuc3RvcmVkX2RvbWFpbi5jDQo+PiBpbmRleCBkN2ZjMmZhZmM3Li5mNjJi
ZTIyNDVjIDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2RvbWFp
bi5jDQo+PiArKysgYi90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfZG9tYWluLmMNCj4+IEBA
IC01NDQsNyArNTQ0LDcgQEAgc3RhdGljIHN0cnVjdCBkb21haW4gKmZpbmRfZG9tYWluX2J5
X2RvbWlkKHVuc2lnbmVkIGludCANCj4+IGRvbWlkKQ0KPj4gwqDCoMKgwqDCoCByZXR1cm4g
KGQgJiYgZC0+aW50cm9kdWNlZCkgPyBkIDogTlVMTDsNCj4+IMKgIH0NCj4+IC1pbnQgYWNj
X2ZpeF9kb21haW5zKHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQsIGJvb2wgdXBkYXRlKQ0KPj4g
K2ludCBhY2NfZml4X2RvbWFpbnMoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwgYm9vbCBjaGtf
cXVvdGEsIGJvb2wgdXBkYXRlKQ0KPj4gwqAgew0KPj4gwqDCoMKgwqDCoCBzdHJ1Y3QgY2hh
bmdlZF9kb21haW4gKmNkOw0KPj4gwqDCoMKgwqDCoCBpbnQgY250Ow0KPj4gQEAgLTU1Miw3
ICs1NTIsNyBAQCBpbnQgYWNjX2ZpeF9kb21haW5zKHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQs
IGJvb2wgdXBkYXRlKQ0KPj4gwqDCoMKgwqDCoCBsaXN0X2Zvcl9lYWNoX2VudHJ5KGNkLCBo
ZWFkLCBsaXN0KSB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgY250ID0gZG9tYWluX25iZW50
cnlfZml4KGNkLT5kb21pZCwgY2QtPm5iZW50cnksIHVwZGF0ZSk7DQo+PiDCoMKgwqDCoMKg
wqDCoMKgwqAgaWYgKCF1cGRhdGUpIHsNCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlm
IChjbnQgPj0gcXVvdGFfbmJfZW50cnlfcGVyX2RvbWFpbikNCj4+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIGlmIChjaGtfcXVvdGEgJiYgY250ID49IHF1b3RhX25iX2VudHJ5X3Blcl9k
b21haW4pDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBF
Tk9TUEM7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoY250IDwgMCkNCj4+
IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIEVOT01FTTsNCj4+
IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfZG9tYWluLmggDQo+PiBi
L3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uaA0KPj4gaW5kZXggZGM0NjYwODYx
ZS4uZWM2YWEwMGNjNyAxMDA2NDQNCj4+IC0tLSBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3Jl
ZF9kb21haW4uaA0KPj4gKysrIGIvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2RvbWFpbi5o
DQo+PiBAQCAtOTYsNyArOTYsNyBAQCB2b2lkIGRvbWFpbl9vdXRzdGFuZGluZ19kZWMoc3Ry
dWN0IGNvbm5lY3Rpb24gKmNvbm4pOw0KPj4gwqAgdm9pZCBkb21haW5fb3V0c3RhbmRpbmdf
ZG9taWRfZGVjKHVuc2lnbmVkIGludCBkb21pZCk7DQo+PiDCoCBpbnQgZG9tYWluX2dldF9x
dW90YShjb25zdCB2b2lkICpjdHgsIHN0cnVjdCBjb25uZWN0aW9uICpjb25uLA0KPj4gwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgZG9taWQpOw0KPj4gLWlu
dCBhY2NfZml4X2RvbWFpbnMoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwgYm9vbCB1cGRhdGUp
Ow0KPj4gK2ludCBhY2NfZml4X2RvbWFpbnMoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwgYm9v
bCBjaGtfcXVvdGEsIGJvb2wgdXBkYXRlKTsNCj4gDQo+IERlcGVuZGluZyBvbiB0aGUgYW5z
d2VyIGJlbG93LCBJIHdvdWxkIHN1Z2dlc3QgdG8gd3JpdGUgdGhhdCAnY2hrX3F1b3RhJyBp
cyANCj4gaWdub3JlZCB3aGVuIGBgdXBkYXRlYGAgaXMgdHJ1ZS4NCg0KV2l0aCB0aGUgYW5z
d2VyIGJlbG93LCBkbyB5b3UgYWdyZWUgdGhhdCBubyBhZGRpdGlvbmFsIGNvbW1lbnQgaXMg
bmVlZGVkPw0KSSdtIGZpbmUgZWl0aGVyIHdheS4NCg0KPiANCj4+IMKgIC8qIFdyaXRlIHJh
dGUgbGltaXRpbmcgKi8NCj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9yZS94ZW5zdG9y
ZWRfdHJhbnNhY3Rpb24uYyANCj4+IGIvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX3RyYW5z
YWN0aW9uLmMNCj4+IGluZGV4IDFhYTlkM2NiM2QuLjJiMTU1MDY5NTMgMTAwNjQ0DQo+PiAt
LS0gYS90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfdHJhbnNhY3Rpb24uYw0KPj4gKysrIGIv
dG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX3RyYW5zYWN0aW9uLmMNCj4+IEBAIC0xNjAsMTIg
KzE2MCwyMCBAQCBzdHJ1Y3QgdHJhbnNhY3Rpb24NCj4+IMKgwqDCoMKgwqAgLyogTGlzdCBv
ZiBjaGFuZ2VkIGRvbWFpbnMgLSB0byByZWNvcmQgdGhlIGNoYW5nZWQgZG9tYWluIGVudHJ5
IG51bWJlciAqLw0KPj4gwqDCoMKgwqDCoCBzdHJ1Y3QgbGlzdF9oZWFkIGNoYW5nZWRfZG9t
YWluczsNCj4+ICvCoMKgwqAgLyogVGhlcmUgd2FzIGF0IGxlYXN0IG9uZSBub2RlIGNyZWF0
ZWQgaW4gdGhlIHRyYW5zYWN0aW9uLiAqLw0KPj4gK8KgwqDCoCBib29sIG5vZGVfY3JlYXRl
ZDsNCj4+ICsNCj4+IMKgwqDCoMKgwqAgLyogRmxhZyBmb3IgbGV0dGluZyB0cmFuc2FjdGlv
biBmYWlsLiAqLw0KPj4gwqDCoMKgwqDCoCBib29sIGZhaWw7DQo+PiDCoCB9Ow0KPj4gwqAg
dWludDY0X3QgZ2VuZXJhdGlvbjsNCj4+ICt2b2lkIHRhX25vZGVfY3JlYXRlZChzdHJ1Y3Qg
dHJhbnNhY3Rpb24gKnRyYW5zKQ0KPj4gK3sNCj4+ICvCoMKgwqAgdHJhbnMtPm5vZGVfY3Jl
YXRlZCA9IHRydWU7DQo+PiArfQ0KPj4gKw0KPj4gwqAgc3RhdGljIHN0cnVjdCBhY2Nlc3Nl
ZF9ub2RlICpmaW5kX2FjY2Vzc2VkX25vZGUoc3RydWN0IHRyYW5zYWN0aW9uICp0cmFucywN
Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IGNvbnN0IGNoYXIgKm5hbWUpDQo+PiDCoCB7DQo+PiBAQCAtNTA5LDYgKzUxNyw3IEBAIGlu
dCBkb190cmFuc2FjdGlvbl9lbmQoY29uc3Qgdm9pZCAqY3R4LCBzdHJ1Y3QgY29ubmVjdGlv
biANCj4+ICpjb25uLA0KPj4gwqDCoMKgwqDCoCBjb25zdCBjaGFyICphcmcgPSBvbmVhcmco
aW4pOw0KPj4gwqDCoMKgwqDCoCBzdHJ1Y3QgdHJhbnNhY3Rpb24gKnRyYW5zOw0KPj4gwqDC
oMKgwqDCoCBib29sIGlzX2NvcnJ1cHQgPSBmYWxzZTsNCj4+ICvCoMKgwqAgYm9vbCBjaGtf
cXVvdGE7DQo+PiDCoMKgwqDCoMKgIGludCByZXQ7DQo+PiDCoMKgwqDCoMKgIGlmICghYXJn
IHx8ICghc3RyZXEoYXJnLCAiVCIpICYmICFzdHJlcShhcmcsICJGIikpKQ0KPj4gQEAgLTUy
MywxMyArNTMyLDE2IEBAIGludCBkb190cmFuc2FjdGlvbl9lbmQoY29uc3Qgdm9pZCAqY3R4
LCBzdHJ1Y3QgDQo+PiBjb25uZWN0aW9uICpjb25uLA0KPj4gwqDCoMKgwqDCoCBpZiAoIWNv
bm4tPnRyYW5zYWN0aW9uX3N0YXJ0ZWQpDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgY29ubi0+
dGFfc3RhcnRfdGltZSA9IDA7DQo+PiArwqDCoMKgIGNoa19xdW90YSA9IHRyYW5zLT5ub2Rl
X2NyZWF0ZWQgJiYgZG9tYWluX2lzX3VucHJpdmlsZWdlZChjb25uKTsNCj4+ICsNCj4+IMKg
wqDCoMKgwqAgLyogQXR0YWNoIHRyYW5zYWN0aW9uIHRvIGN0eCBmb3IgYXV0by1jbGVhbnVw
ICovDQo+PiDCoMKgwqDCoMKgIHRhbGxvY19zdGVhbChjdHgsIHRyYW5zKTsNCj4+IMKgwqDC
oMKgwqAgaWYgKHN0cmVxKGFyZywgIlQiKSkgew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGlm
ICh0cmFucy0+ZmFpbCkNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBF
Tk9NRU07DQo+PiAtwqDCoMKgwqDCoMKgwqAgcmV0ID0gYWNjX2ZpeF9kb21haW5zKCZ0cmFu
cy0+Y2hhbmdlZF9kb21haW5zLCBmYWxzZSk7DQo+PiArwqDCoMKgwqDCoMKgwqAgcmV0ID0g
YWNjX2ZpeF9kb21haW5zKCZ0cmFucy0+Y2hhbmdlZF9kb21haW5zLCBjaGtfcXVvdGEsDQo+
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZhbHNlKTsN
Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAocmV0KQ0KPj4gwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgcmV0dXJuIHJldDsNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXQgPSBmaW5h
bGl6ZV90cmFuc2FjdGlvbihjb25uLCB0cmFucywgJmlzX2NvcnJ1cHQpOw0KPj4gQEAgLTUz
OSw3ICs1NTEsNyBAQCBpbnQgZG9fdHJhbnNhY3Rpb25fZW5kKGNvbnN0IHZvaWQgKmN0eCwg
c3RydWN0IGNvbm5lY3Rpb24gDQo+PiAqY29ubiwNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCB3
cmxfYXBwbHlfZGViaXRfdHJhbnNfY29tbWl0KGNvbm4pOw0KPj4gwqDCoMKgwqDCoMKgwqDC
oMKgIC8qIGZpeCBkb21haW4gZW50cnkgZm9yIGVhY2ggY2hhbmdlZCBkb21haW4gKi8NCj4+
IC3CoMKgwqDCoMKgwqDCoCBhY2NfZml4X2RvbWFpbnMoJnRyYW5zLT5jaGFuZ2VkX2RvbWFp
bnMsIHRydWUpOw0KPj4gK8KgwqDCoMKgwqDCoMKgIGFjY19maXhfZG9tYWlucygmdHJhbnMt
PmNoYW5nZWRfZG9tYWlucywgZmFsc2UsIHRydWUpOw0KPiANCj4gSW4gdGhlb3J5LCBzaG91
bGRuJ3Qgd2UgcGFzcyAnY2hrX3F1b3RhJyByYXRoZXIgdGhhbiBmYWxzZT8gSW4gcHJhY3Rp
Y2UsIEkga25vdyANCj4gaXQgZG9lc24ndCBtYWtlIGFueSBkaWZmZXJlbmNlIGJldHdlZW4g
dGhpcyBpcyBhbiB1cGRhdGUuDQoNCldlIGV4cGxpY2l0bHkgZG9uJ3Qgd2FudCB0byBjaGVj
ayBxdW90YSBpbiB0aGUgInVwZGF0ZSIgY2FzZS4gU28gc3BlY2lmeWluZw0KImZhbHNlIiBp
cyB0aGUgY29ycmVjdCB0aGluZyB0byBkbyBJTUhPLg0KDQoNCkp1ZXJnZW4NCg==
--------------izo0iVdLezFNnmJLutjb00k0
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-----

--------------izo0iVdLezFNnmJLutjb00k0--

--------------t7T2GG9Q8DBGd6oCzEL8B6A4--

--------------NQj1HR0sc4RuIFzKuOHXJQQh
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQcS98FAwAAAAAACgkQsN6d1ii/Ey8x
Agf/fcnIZwSGLFJQG7i/SXSdX968876s8Su1IY0U0apuspjM/r5IU9F5Vp5HYxL+n9XBiFuL12HR
pZdR+dt5kjWwiSDBpnqs6dxUhMx4dqRnL0d3gXRYBsInTWNevSF8Byyn+VLs16CJEzVloG23ymsq
Swav/f3X4bI6o869jigzAAKLmaZMDYcAMeqTvmXJgE+xMZ0y0OEBo7eMjwyD9QWeeXhlTwQYWf7x
KVBAHf0zyWqP5XCD5HNwG7C24JmETFXgjLOWvCLQabOAcAn5/d6G45i8F8I5uAWeP4btlUsZwWsf
y0GqlI1vg/N0ASjrJ4JtLPUQEJLmBLEEDF0akHYg9A==
=Tdb/
-----END PGP SIGNATURE-----

--------------NQj1HR0sc4RuIFzKuOHXJQQh--


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 12:55:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 12:55:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513856.795501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfKTY-0005CJ-VU; Thu, 23 Mar 2023 12:55:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513856.795501; Thu, 23 Mar 2023 12: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 1pfKTY-0005CC-Sm; Thu, 23 Mar 2023 12:55:28 +0000
Received: by outflank-mailman (input) for mailman id 513856;
 Thu, 23 Mar 2023 12: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfKTX-0005C4-Mr
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 12:55: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 f7889b98-c979-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 13:55:24 +0100 (CET)
Received: from mail-dm6nam04lp2049.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.49])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 08:55:17 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH0PR03MB6081.namprd03.prod.outlook.com (2603:10b6:610:b8::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 12:55:13 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 12:55:13 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7889b98-c979-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679576124;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=wSWYEN7zSfV4cBzOwi+3RYcgTcolYkKgAODDk82Eu/g=;
  b=LhLXRF13lMYH1WPTRm/qZj40bIl+ArMVRZF7kHbk7R8h9SN5dxF/psLc
   480WudGJiIRCOPy8vxG8jOVNtYpTfppMqiiTrYHEycQ9Etb/ODjjLq0dX
   R5bsPcEjAGt+SYVGK0NkPI80DmUpkxihr4DqoSfMwNfB///GKMAlcJQx5
   E=;
X-IronPort-RemoteIP: 104.47.73.49
X-IronPort-MID: 101380748
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:4AGShKuRQDbE1YR5hTsUg/JVJ+fnVGdfMUV32f8akzHdYApBsoF/q
 tZmKWGEa/jZajOhc9tyPN6z9xkD6pGBxoI3SwY9+3pmEiob+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASEzCFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwBxcAZQzfit2KwYm9ZbFhq+EmA8WxBdZK0p1g5Wmx4fcOZ7nmG/mPyfoGmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0oui/6xYbI5efTTLSlRtm+eq
 njL4CLSBRYCOcbE4TGE7mitlqnEmiaTtIc6TeXhra4y3wHDroAVIEAzUH2Fr93+s3L9Zf97F
 14twi4MrIFnoSRHSfG4BXVUukWsvBQRRt5RGO0S8xyWx+zf5APxLngJSHtNZcIrsOcyRCc2z
 RmZktXxHzttvbaJD3WH+d+8sjeaKSUTa2gYakcsUQoAy8nupsc0lB2nczp4OKu8j9mwFTSux
 TmP9HQ6n+9L0Z9N0Lin91fahT7qvoLOUgM++gTQWCSi8x99Y4mmIYev7DA38Mp9EWpQdXHZ1
 FBspiRUxLpm4U2l/MBVfNgwIQ==
IronPort-HdrOrdr: A9a23:2lOgqqvwUEcOwReqqbSTEcQl7skDT9V00zEX/kB9WHVpm62j5r
 mTdZEgvyMc5wxhPU3I9erwWpVoBEmslqKdgrNxAV7BZniDhILAFugLhrcKgQeBJ8SUzJ876U
 4PSdkZNDQyNzRHZATBjTVQ3+xO/DBPys6Vuds=
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="101380748"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SYxoxGY+SOppr775QknwMPoxy/moIEuqr2qwyaHHe5oNLfKi9ncdZtCXgZmx9S5s1A/sMySeqRTRhV/NrFNwFaheNwjUJNh+clMJWoU55DlQnUIELT7f9zex1XPgLWWsldw2dIJ5Fv4owhLXSC2RXUm1yMhLfX0B+nMBRjs4t3z0M7y5jbXSqbMpLV5xUr7HjUnBsHClWt6bMF9pn1nHihGbWimOE4T5njMZJEp5o8AFuJ+x8vpmcPhT4OBQvSl6SNHKMgXZbSjq7uxONG5KnNMEdr9XQ7Wj6+gBnvByC2AwHCueijBcO6ZpdbzUK0zM0tX5Cp/U5cceOYqcOR9tEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wSWYEN7zSfV4cBzOwi+3RYcgTcolYkKgAODDk82Eu/g=;
 b=DYYryNcHM2ANeN29EaxbUNRgm7tg6g24EKD6gCC3tqGnihUwCinwNODgsgNWSzVT65lyjopENkPNOOW0IH3ZmzUdXcFvYZBRNRRXPgGwYCxOXvn0gffnxfqGqDdLgMnuggLLNRSq0RLzzTRmZP93oJHbZtHjI1y6dSZrCJgvWNKkCKC60yi4T+wG14Z+qO7BE0d8ZvBeUoeSUAo7K5QtWa5TqihBGsR/0ZP1nC9Q9NYW3REV506x8q4FE/cklnNRN5v0YMSzLyCwlLRNyVylIOV9VQr9ctIwzaMmrMc7SutJiIM36C7x/LtR3o27Hb0KNmm6oG0fG8LmTo4U7ezGhQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wSWYEN7zSfV4cBzOwi+3RYcgTcolYkKgAODDk82Eu/g=;
 b=OjHphiZQYz8xaHVtfABbp3EndPtlYeVlU0ey8q7xi8u72WkId96Q+nfAV3qFgPfeHr4n9AR0vTbRPTqdh1ZSvYK+AOYF0/HZzSaAh8moOnbL+alPmzebf7MmCfuwLz7u2L9/4zk2APt3r1s79cEMaEzxrLd1D2A1kisCrP4T12Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <d1c78a04-beeb-9c9a-68f8-bb7dad2cfb8b@citrix.com>
Date: Thu, 23 Mar 2023 12:55:06 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 04/16] x86/shadow: replace memcmp() in sh_resync_l1()
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <a1433e82-10d1-cf7d-eebf-fdf4aab8a2b2@suse.com>
In-Reply-To: <a1433e82-10d1-cf7d-eebf-fdf4aab8a2b2@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P123CA0068.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1::32) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CH0PR03MB6081:EE_
X-MS-Office365-Filtering-Correlation-Id: 8f70183c-7ca1-45a7-f3d1-08db2b9dd79f
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yfXWzP+WpPKdqg+6qZei38Mq2RHD2puD5HrbykbqRrMRF49IEgmLHWKv1LWdmF8meX3K20hJhIak0DaQ0qBZMP/mJYwvAkRZYoNOhuwsMERYGf894q6yLPRJ/nr9VRJfXZO2bkZNC2Ji4r9uuSgP9/f9RDPI+1f/dJZG8G1Ise6KlPNDGePcYKNt/2c0z/jvowgqIFxkTfT6Ac3Nu1wdlynuqO4n/4y4P70xf47gjBDza3Be5k56EQ6xcD4sgQmq5/eLb9h8qKnoudELs3ww+pVuTuyAl9HTIMJgT3rLmDYtdltoQbBLJ+FGik2BtTA8UrUTxNGo/nWEvKAVl2wTRuBaJe59f2FT6v0axAb6oE3zGP3uejToeluZoarnqCnEPZyRS4bk7fW/Bc9IfTswLt9Z+r+V6YJI+9VYtSfvXUm+7KmMpcm6zrrMYAEihmlk+Ojwyf/3Q6/3UPhf5vdbiwdb0Pj4UH0ShUO52G65jSmJkUsZfhgGhPz4JR+ZG5DgAOZpjep/wp1Vxn0FzG+z+RaBIUF5IBXI4jGUcyymY44sDqx1eqo9ZO0ysAr48Xsp0E46v9ZPJZZdgoHRTX4jT3W58bFlAvKvlGNrTVx+NtuBT1TpjWyEvfL7/483W0uxq62jpMNGSCzk+80AqWCTdYOINhIbEfKNOe4idzlxFuRQpn8BA8P/OiOHoYETPzoqiqDygte6VYXp5nd38ulSc2dkSI9Ko+8/zhqnePtVdVg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(39860400002)(396003)(346002)(376002)(366004)(451199018)(31686004)(38100700002)(2906002)(478600001)(6486002)(2616005)(186003)(36756003)(31696002)(86362001)(316002)(54906003)(110136005)(66476007)(8676002)(66946007)(66556008)(4326008)(4744005)(8936002)(6666004)(26005)(53546011)(6512007)(6506007)(5660300002)(41300700001)(82960400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RjNEMU92cERFKzJVWm9FcDlQOEhrWklSaDRqY3lVTEd2K3QrSThhQ3RMVFFS?=
 =?utf-8?B?Nmd3Zk1tZjJWb0xrbHY3TFBEaEVhSDVuOGRqU0lzejNPV1dtdDRjb2RFQlBR?=
 =?utf-8?B?YjkzRFlVMGtIV3NDRm5mT0c3QWlSMWZVV0NPbnNjeGhrS2NVUGRlVDAxcXhG?=
 =?utf-8?B?Uk5NOGllNGxHWGR2R1cva3pZNm1Wczk3MksyMS92dGttRENpNVoyVWVmSmcy?=
 =?utf-8?B?TXVwTUN0Qm96SkN3SGdpM0o4cHBYZkV5T1N3SUxRcVNSbEt0QWN2c2ZrYVN1?=
 =?utf-8?B?YW0wSEtTMUE4M0hjcndPOEEwaDZOYmpINjErYWdrMlhSamdCNEt1V2VPZUpT?=
 =?utf-8?B?UXNPWHArZ2ZpY2g0bGxHdGtzakR6WDV4cUJVT2ZhVkw5bFRnT2E4WjhGZ0pq?=
 =?utf-8?B?bU8yY1dNNmRWT0NNVTZmK1NnNi9rcm40UU5NY2l5cjVaYVFyTTBBZ3JuSWow?=
 =?utf-8?B?SUVMNTVtdkFyQVFKbWVyRzl1SjJoYlhHMnR0MVl4NzVMMFRiVlBZcGp5eHBj?=
 =?utf-8?B?UzYxSmpkd3M1OENIbzBoTlpiVnNCSjJhaFk0bUR4NGR5eldYUHRlbE52V01R?=
 =?utf-8?B?N3lpNHBBNjI5UDg1d2NYdDZWNE1EZjJEWEd3eTM4V28rRzFtbnlMeFNqa09k?=
 =?utf-8?B?RjJhSFh4SzZwTUlTRjRUTWlQZjdhZlNhSUpGbmloMjdCa1JjamZEeUNRMkRk?=
 =?utf-8?B?aENCa2VCK2l4SXdFR05YTGhJM1d4K3RIWXd5V05lcWRtRHdqb0tUcGFpTEhh?=
 =?utf-8?B?OUU1NDdiUnNkdzZ5QS9hNjZWQkFPbEt3VG90WFFTT2d1YzhvUkMrQVZFQjVY?=
 =?utf-8?B?bmhKVGMyVUdBVEZqalBMV0tzWm1NSjdJcFR2T2VzdUxqMk1PNEdxQmRrNnhF?=
 =?utf-8?B?OC9tNlZuT3N3bkxmc2V5MSs5b2xsUXNLbHFqd0xTSS8rVDliekxqOHFlcEY1?=
 =?utf-8?B?Y29aUjk3bGZ3akgvakc0ME16bXNOTk9sektHRjd5bWx5MWhQbUx3NXNKRTdr?=
 =?utf-8?B?R3NOV2RGMVNTOHAySVNFMTRMeTRLU05iTW52dS93M2JMS3pESWlIV25XOXNa?=
 =?utf-8?B?enlOM0JHS3F4NXpYTndNMHAvR1FJYURMb0JXaHVPT1V6YkRGWXE0UkRKZnJh?=
 =?utf-8?B?d1dZYkhqcXU5MFovK3d5MWhMa1U5RURIWlhBekk3NWN3dEVPOTFkOGlwbnln?=
 =?utf-8?B?UlEyZjdac0VVbVU2eHUvNHNGelNPM2FYTUpDK1dmdENwZ1FIU2RXMGJ1RCtH?=
 =?utf-8?B?dWNTV1p0dndOWUZpUnY2M3grMG5ZYkpraXp4ZUpXaWxBT3ZLQnI5S2hYVlUw?=
 =?utf-8?B?NjM0V05UWEtlTFh5RVliVi90WnN0YkNwQ2xkV1YrNzFIcWEyY1lBNGRockV5?=
 =?utf-8?B?NEtBYnlEdjhvOHJ0aS8zQkVqeUNweXYyd2pRVUVTSEU2NkFJRTNXR2ZNaHIv?=
 =?utf-8?B?WEdiVGxxeURjYjFjM0tSVnJkUlQzVEd0MzlEZ1dMR1MxSjJqQWxUbkJBRDR3?=
 =?utf-8?B?MnpqUkRFbWF6VTN0MlZqVEdsWGMraXQ5R0RuQ05EaC9qZktoNFBGN1puaWRY?=
 =?utf-8?B?ODN0MmdYR1FvMzVIRlQ5amtXZzFsYnFIK2JuR1RlazVQdkR2c3NuQnNKV2Rk?=
 =?utf-8?B?R204UVFDMDJsWVZyRVorK050WkIyOWYveGNldlJnSEdZdVpVcEFaeEVDT3lh?=
 =?utf-8?B?SXBRbytHVXRNUWlKRXZQOUNTYk1rZGpkbDF1QnpTWEE3Um03eFRyWnV0VXFK?=
 =?utf-8?B?cUhrNXlJVG9HeDFjL3FrZ0diakdmV0pkZGI1ditGV1ZDWVI2d1JUSjRPU1hX?=
 =?utf-8?B?emx0MmNsNVc4bDd6UndSS2ZKOUpNU1dma0VtamUxNDlZZlFWMkQwZ0t5T0lN?=
 =?utf-8?B?QUROdVZPcm5ZZCtpdjA5bm05VlRZa1VwRFhLQWtpRGYrRk1BMWN2U3pqRnd4?=
 =?utf-8?B?T2R3SE5NbldZTXNZRTNoOEI1YkdmNm5UY2JLSGRMZ2FNbks4OUJ0N2hTd2RK?=
 =?utf-8?B?Mm5XT2FTbnFCb1ZoOGsvbHZqVG8vWUJlcGZDVXJCTHpDMyt1NGMybDltOXdJ?=
 =?utf-8?B?VXVKZ0doSTZSUVMxbkZFbmwzc3V5UlFOMytZSVg1Vmttc2pHM1ZVZjFjOEI0?=
 =?utf-8?B?dy9ZQXRkdm0wQkp5NmFiSlZSM3A5eVU2RWNMcnIxbXRFSXhVZlE2c1A3d0V0?=
 =?utf-8?B?UGc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Ton2XxlTL/yffsXXxls4WgIBPbzofQVeDTF3vxYDHm/czFiYt5cSbWio3/92P5ubnpdfp7V7q7re/ZTfSp1j0UJ8AjHlWJbV6aFukJgx6jUDnLYGmI6SlUjio1JYm9EN5U7G+cfxoO+pHEVRWMsCQw/4DpKDLbeMoWVFh1Rp5EtezyakUweMRQfZDTe7s5AG8uwq1zMTv2WiaVKl1g1w14/Aed39SukcZ1u89sl8AWfnGbSMjwj98gL4WeUW77WAzwgFd2Q/IE3lB/gCJNKgOb1cDk73oHAHr7x3i9KfnUB+kWd3ottm46Iuy8tAS2YxFodahvtCft4ntHqRRqqtCHLtm+0q0v6y7KlHELzceZsjaxxRX5abZpmXwj+946DiDt4v6Sd5uCR11QZ+1YGGLpzEn/BMK5QyaVz5RwiNHakscrn51oMBIBLm/KFNHw1ofzN/H4R5qFwiXinSzHs1fdT7TM0sA7Y+HnxDZzsvs2eyaFpocmIKn/phDYh5Q2WkZWIClv3defsVMlkmoZsMkvni0TiU8D5Y6RsAluwV45EAPkJrHjRRLCEGJ3Znj+MG+9KBCR/c+Fkru5BmeaiznTqP0+/MOK7PoRyr8HFok+Ja1mVsCq6aT9IPmQZRq5Ch5YSWZxjO35j9efOttOtnpN2Csg2Ebs0uIadWE38xJIGDNPqIzpj69eiQSI/GMEAdXZrW5PFK6uTQwZ399paVX3OEJgRn3Q4w3ss/p1qrB4RavroPSuN9JhC6/fYkszvUKivru9VWQix+XiIN3QdCX8diZl9YB9Trceqihq93Eweb2l2TlQt/s+PCPZID/We1Sz5QIGQwD3+PIlMpuQo5gA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f70183c-7ca1-45a7-f3d1-08db2b9dd79f
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 12:55:13.4250
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iEoqxR8P6ir5GogmHfSF1SzFZHiZuVp/iKDciU5cuLc//Nrupjr9IunUr56RHLliAD6kUYv5VKGLKWsW7f6jmUZVsQQJg1NGxvggvrhdyDA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6081

On 22/03/2023 9:31 am, Jan Beulich wrote:
> Ordinary scalar operations are used in a multitude of other places, so
> do so here as well. In fact take the opportunity and drop a local
> variable then as well, first and foremost to get rid of a bogus cast.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 12:57:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 12:57:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513860.795510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfKVW-0005ov-Ez; Thu, 23 Mar 2023 12:57:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513860.795510; Thu, 23 Mar 2023 12:57: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 1pfKVW-0005oo-C9; Thu, 23 Mar 2023 12:57:30 +0000
Received: by outflank-mailman (input) for mailman id 513860;
 Thu, 23 Mar 2023 12:57: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 1pfKVV-0005og-9q
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 12:57: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 1pfKVU-0007i7-V0; Thu, 23 Mar 2023 12:57:28 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.18.79]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pfKVU-0000jZ-O3; Thu, 23 Mar 2023 12:57:28 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=9IhYIh/6u1RRdfzg8zCsWQtVgG0+GFfcqP4abHpr3WE=; b=4Kg7VIi5ESrcVa5hxzv8VW3pIH
	GuUGtu1gDDLe5nsKrkZAE0fBVWai7TmLFetdoaEA4xBJPeQXg68KkgvubdCj2hLVlrs1NChF986+T
	FfauDfsQ3A79JEWb4zkdJN5txEvsAXV9yggk5/U80cLVOpAtH0dXvu8ZirZARo3DkAaI=;
Message-ID: <1527b04a-cc68-e6f4-2d12-4774110c25d1@xen.org>
Date: Thu, 23 Mar 2023 12:57:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH 2/2] xen/arm: vpl011: Fix domain_vpl011_init error path
Content-Language: en-US
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: <20230322102941.959-1-michal.orzel@amd.com>
 <20230322102941.959-3-michal.orzel@amd.com>
 <130680d1-155e-e989-8ab9-2ef59ca59fd6@xen.org>
 <b0253701-3696-fd18-ba74-9fb7e6150a1f@amd.com>
 <05196f3f-213c-e93c-c5be-1d2e83927bef@xen.org>
 <611499ff-1922-221e-ad9b-9303e3a88502@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <611499ff-1922-221e-ad9b-9303e3a88502@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 23/03/2023 12:13, Michal Orzel wrote:
> Hi Julien,
> 
> On 23/03/2023 12:33, Julien Grall wrote:
>>
>>
>> On 23/03/2023 11:10, Michal Orzel wrote:
>>> Hi Julien,
>>>
>>> On 22/03/2023 17:19, Julien Grall wrote:
>>>>
>>>>
>>>> Hi Michal,
>>>>
>>>> On 22/03/2023 10:29, Michal Orzel wrote:
>>>>> When vgic_reserve_virq() fails and backend is in domain, we should also
>>>>> free the allocated event channel.
>>>>>
>>>>> When backend is in Xen and call to xzalloc() returns NULL, there is no
>>>>> need to call xfree(). This should be done instead on an error path
>>>>> from vgic_reserve_virq().
>>>>
>>>> Most likely this was implemented this way to avoid a double "if (
>>>> vpl011->backend_in_domain)". TBH, I am not very thrilled with this
>>>> approach. Could we instead consider to use domain_pl011_deinit()? (A
>>>> couple of tweak would be necessary to use it)
>>> I think we could. More about it later.
>>>
>>>>
>>>>> Also, take the opportunity to return -ENOMEM
>>>>> instead of -EINVAL when memory allocation fails.
>>>>>
>>>>> Fixes: 1ee1e4b0d1ff ("xen/arm: Allow vpl011 to be used by DomU")
>>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>>> ---
>>>>>     xen/arch/arm/vpl011.c | 11 +++++++----
>>>>>     1 file changed, 7 insertions(+), 4 deletions(-)
>>>>>
>>>>> diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
>>>>> index 541ec962f189..df29a65ad365 100644
>>>>> --- a/xen/arch/arm/vpl011.c
>>>>> +++ b/xen/arch/arm/vpl011.c
>>>>> @@ -696,8 +696,8 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
>>>>>             vpl011->backend.xen = xzalloc(struct vpl011_xen_backend);
>>>>>             if ( vpl011->backend.xen == NULL )
>>>>>             {
>>>>> -            rc = -EINVAL;
>>>>> -            goto out1;
>>>>> +            rc = -ENOMEM;
>>>>> +            goto out;
>>>>>             }
>>>>>         }
>>>>>
>>>>> @@ -720,12 +720,15 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
>>>>>     out2:
>>>>>         vgic_free_virq(d, vpl011->virq);
>>>>>
>>>>> +    if ( vpl011->backend_in_domain )
>>>>> +        free_xen_event_channel(d, vpl011->evtchn);
>>>>> +    else
>>>>> +        xfree(vpl011->backend.xen);
>>>>
>>>> There is another bug here (unrelated to your change). You want to use
>>>> XFREE() to avoid an extra free in domain_pl011_deinit(). Can you look at it?
>>> Strictly speaking this is not a bug. Memory allocation can only happen if backend is in Xen.
>>> This means, that if vpl011 init fails, we will call free only once (domain_vpl011_deinit
>>> will not be called on this path i.e. we will invoke panic after construct_domU).
>>
>> Well yes, in the current use this is not a real bug (it is only latent).
>> But the same reasoning is also true for adding the call to
>> free_xen_event_channel() because we would not continue to run the domain
>> if domain_vpl011_init() is failing (even when the backend is in the
>> domain). And even if we were going to continue this is just a channel
>> that cannot be used. It will get free when the domain is destroyed
>> (either explicitly in deinit() or by evtchn_destroy()).
>>
>>> Of course, we could switch to XFREE just for sanity.
>> This is just not about sanity here. You are relying on how the caller is
>> behaving. And we have no guarantee this is going to be the same forever.
>> For instance, one may decide that it would fine to continue even if
>> construct_domU() is failing (e.g. because the domain is not critical).
>> At this point, this would become a real bug.
> ok, makes sense.
> 
>>
>>>>> +
>>>>>     out1:
>>>>>         if ( vpl011->backend_in_domain )
>>>>>             destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
>>>>>                                     vpl011->backend.dom.ring_page);
>>>>> -    else
>>>>> -        xfree(vpl011->backend.xen);
>>>>>
>>>>>     out:
>>>>>         return rc;
>>>>
>>> Solution to reuse domain_pl011_deinit would be as follows:
>>>
>>>        vgic_free_virq(d, vpl011->virq);
>>
>> We should move this call in domain_vpl011_deinit();
> True and I think it does not need any guard as in case of a not registered virq it will
> just clear the already cleared bit.

Technically it could have been reserved by someone else afterwards. So 
it would be best to 0 it (we allocate a SPI so we could use 0 as invalid).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 13:13:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 13:13:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513864.795520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfKlE-0000MW-Mx; Thu, 23 Mar 2023 13:13:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513864.795520; Thu, 23 Mar 2023 13: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 1pfKlE-0000MP-KC; Thu, 23 Mar 2023 13:13:44 +0000
Received: by outflank-mailman (input) for mailman id 513864;
 Thu, 23 Mar 2023 13:13: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfKlD-0000MJ-3A
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 13:13:43 +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 85a045fe-c97c-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 14:13:39 +0100 (CET)
Received: from mail-dm6nam11lp2174.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 09:13:36 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA3PR03MB7212.namprd03.prod.outlook.com (2603:10b6:806:2fc::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar
 2023 13:13:34 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 13:13: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: 85a045fe-c97c-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679577219;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=HHifd0pIE/oIJRa8l6GP42mDCbg1gLo2qDHd5laFk9A=;
  b=epjwEpAceIKVSHApgIsfeAA5HwV3wO1eHs0g9CHwTzQHvMvpiXhC1LJp
   mPxoU1RKe1VXOpfF/SDOc4FTCHGkhikoeUSG5jqthPfQgA73mxmgeawOh
   nJ3NXrnzxqYNwIyXPfGechKoxPIAQ9myXeUng0mwODZbdPZLd+GMkyccF
   g=;
X-IronPort-RemoteIP: 104.47.57.174
X-IronPort-MID: 102026357
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Dj6gjKDNmjKEkBVW/xniw5YqxClBgxIJ4kV8jS/XYbTApGhw0TxWm
 2dNUG6PP/iDamSmKotwboq3pBsDu8fRnYUwQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhC5QRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwwuA0MX9W8
 6UkGRM2QAKYmLuUxu3gRbw57igjBJGD0II3nFhFlGicIdN4BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI+uxuvDS7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prraXx3uhBtlPS9VU8NYwknqyyFMcKyQ6D0e8uPSF0hKaXdNAf
 hl8Fi0G6PJaGFaQZtv3UgC8oXWElgUBQNcWGOo/gCmdx6yR7wuHC2wsSj9adMdgpMIwXSYt1
 FKCg5XuHzMHmKKRYWKQ8PGTtzzaETQUKEcSaClCShEKi+QPu6k2hxPLC9pmTqi8i4SsHSmqm
 m/W6i8jm78UkMgHkb2h+kzKiC6toZ6PSRMp4gLQXSSu6QYRiJOZWrFEIGPztZ5oRLt1hHHb1
 JTYs6ByNNwzMKw=
IronPort-HdrOrdr: A9a23:oDeOaKPV3gC32MBcTuOjsMiBIKoaSvp037B87TEXdfU1SKylfq
 +V98jzuSWftN9zYhAdcLK7V5VoGkmskaKdiLN5VYtKOjOKhILCFu9fBOXZrwHIKmnF+vVD1a
 1tVK5hTPH1BVh+p8P77A6keuxQpeVuX8qT9IHjJ9sGd3AJV0nAhT0JaTqmLg==
X-IronPort-AV: E=Sophos;i="5.98,283,1673931600"; 
   d="scan'208";a="102026357"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kWdMMy99u6Dq1OxzD9VTE4sewbn459OF4LDYHPsP8QpczhNYps1nlKoSS8hWn3VnpztQTpq7lJ/uho1ZinCEPAKwnJR5RZhrRWyeERCZrIag0PNja+tk6QPokaQ3lZs/TUfgy6/QQKO4rMXSStKtmpe3Ijadkx6x/IqAKPy5camspPVRILGXmd9C4E1/jeGA2LcfavSZODSgsbAn93JRe6o+bOGt3lp9es51EbKqFchdp3Ogco5R6OzzWaqSpsjKKhbVSLmN1hvTbS99n9SHOAohhSnzoobVWjKQKqFm6uqGyW1dGmRCbxuBDsLPtvjvljz0pPy44SHtRiKuy7dbVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qGW9rmQ7+rvZXm+GJ9TWLz1McuOCzimq60D9PWsMsf0=;
 b=croIvw2ygUCFq9j55SGZPQK3s0AUaOc9Nl7gIXHeyjEkVA/jxe5wcQn6IkoYUjPq4o5G7DpPIoVDckYzbjQro41uAEUhe1mNa1NcjI9TwWcKYZb/ZPGucJzRt5GZ+bM38XE3LJzKmDujkz3VYC+zwvQyuoyiDalfPwx+OCi1bRdx+h0Lq1k67SYvAfaTT54E8/3mSkd5MTRTIkigq2wgm77I8EConpNGtcLzXfCRCegjqXcUdIt21k4Cs8NqvxgPh/jprOEHgVeY/+XemBlV3GMD7P+liATR3XuQTYml9VmxpGGnyMzESJtTK4XSQAN5SI1yFBUZqGF/Ve6vW+0EVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qGW9rmQ7+rvZXm+GJ9TWLz1McuOCzimq60D9PWsMsf0=;
 b=n/QFY9HbLcwTrCj2Vbmn+gvinQMORzK1qU9vJkHixn2nJ13nphM+E0hg53YjeZDWB/Lvuq+Ak1gih4lqd3ZGtSfSxC3w/ae9lQifPzopm5cq64GaLbBJOGIS3NTyVM0te6zwETUk/RtnmF2iTirF6UmxKvQAiMrgf2GrwuVgYas=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <210f61ac-f982-90b3-297a-46f16eee89f3@citrix.com>
Date: Thu, 23 Mar 2023 13:13:27 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 06/16] x86/shadow: purge {write,cmpxchg}_guest_entry()
 hooks
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <4d36db89-cd87-06b8-bb02-395ec79662c7@suse.com>
In-Reply-To: <4d36db89-cd87-06b8-bb02-395ec79662c7@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0366.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a3::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA3PR03MB7212:EE_
X-MS-Office365-Filtering-Correlation-Id: 08b5ac9e-e69e-4a69-0de9-08db2ba06795
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7QsrzDfcfT6im1dwf9wHZ2Ryxs9EGUe3Kn7ScPyjwiSvzmWk7cBLuUQru7T5jOJBLSJBhDy5VmhWTJDW5VF2S3+LEJoXMN+6Wn9eXpgJlWv/JIJ3hYqoPYw55VVz/XYoLcuwBWKDLhpiChhc0IWnQkAiSvzjRCPDzTLGL7OIXzF1i5ixhBIOrhCvhePACPiTTcJ/nSOG/AGSDNhok4CmD9TE4U87Tcwx+wvQFSCQ7VCGoYcHiZNnoEouttmfHvguUgpeOtLvTTA0DbC39JPBqdTxISkLREIrnoQ+Pbzlyk9CjP7fa3ENVJ0+Ky6HdzWXK0K/ugno4CPhjiz391gU8r8x9Ekm/YWI44UxOaJvxzXmK6fA7mMTjQW+U6tyxrY1FPjeAQuDGlyEG5Er1LkwjisMR2Z/1jNlw2+T0VYYAMxRFQeR6An3iJMigh/O65IwlUTJGW9rJB/QVQsPTjOz3GAw6B+1+gQwpk5IqtuJxhigR36cvzCdClhwnrUsETWwPUaTDDZV4ZqI+15cSgEye2CPnpK8s/URPuS/rPBcJnPZ6VJ2uDYqdcacpzVZ1zxuwI7cOS756Ibhtz4TwwSuRlV0brb0tVm7j1uiDtbtDKI/7gqjn+T7E6u4oEnkYNb4BrC9rITpraaAxiam5ZcRdvR/oy6jFkSy7ySbFGMBjCQ1w9+8Y5eG7uNGsbsCwS/8XRN7mg1Wtq2n+xV2DzY/uk3BTy6GrtfBS2EN2SZBUjF6f4uJz7mzJFX7hNigWBT6G1b/NTlF4Oc1Nw2YfMDPKw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(396003)(346002)(376002)(136003)(39860400002)(451199018)(186003)(53546011)(26005)(6506007)(6512007)(6666004)(36756003)(83380400001)(31696002)(86362001)(38100700002)(82960400001)(2616005)(5660300002)(8936002)(8676002)(66476007)(4326008)(66556008)(66946007)(54906003)(41300700001)(110136005)(478600001)(31686004)(316002)(2906002)(66899018)(6486002)(133343001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NWZxT1RJYjdGUm5RcndadkY2WE0vR2t6MmVYb21VVWZXK2V2eWVYbHJCRG1y?=
 =?utf-8?B?d2VvTm5tUGc4bFN0eXdKeE5FZElHQkNHMmZHem5ERDhOK0FRUXRJaVphcy9B?=
 =?utf-8?B?bW9YLzEySElBdTRKNnRzVzBJZWpIbUJtaGw2Qm1kMTJMT3E1Vk5LM0ZVZTgv?=
 =?utf-8?B?aTV4NWZwdUNHcHFvcUFKM3FCamE3aGFyVWl1VTNUWUx5SFR5VDhQZXBXQXBi?=
 =?utf-8?B?MDk2dnFTblZOeWFWZDZTaitnb2Y5WUZiQlgwdkthUnJFc2g0ODAycHphdTVK?=
 =?utf-8?B?OE1obXNOaDEyUUdUQzFHbTA2TVlvYmtFL3JJaHlMS29nUVBhOVgzanpTczBw?=
 =?utf-8?B?VHpHVEppZU04cGp0MkR2WFdWWlcrcHFUNXlwN3hsdEVUZ2E4MXpVY2pWd0dl?=
 =?utf-8?B?U3B4bk0ycUg1MWpTNGhCaVZBYjZIZGhxZUNHaml0MlI3U3pmM25hVFJmS3lv?=
 =?utf-8?B?MFI2RFhnc1BMSitHRmkwZ2JBWjFNdVhjMFA2VlNpdWZlTzdiLy9DcVRWK3Fy?=
 =?utf-8?B?YXh3SEZndUY3SzBGSDByTHlYYll4U1BWZTZFc2o5R09LNlpZS01uWGxDdnJp?=
 =?utf-8?B?RElrdmJQU3ZmanJBUStNT1pBdzEyK0daT3NZd25oQmRldUlHS29jK3V0UktN?=
 =?utf-8?B?aDdNcUEzaGlXZ2hzKzJRMXIrMnlKbVpYc0JaNjhHN0U5aGJwcnY5R3k5RWll?=
 =?utf-8?B?NTdNTzRHbWs4ZGRiSXBHcE9pK0JBN2FuQ2lrS1I2WVRXL0dwcmF2YlovSklZ?=
 =?utf-8?B?ZTJYOFpvVmRkYWdUd05pak9QMmlzZktGMU9TN3F4S0lVUjVpRjhlSjJXam1J?=
 =?utf-8?B?a0h2anFSK3pieVViQ3RUSnlDVXlJMGU1azE0Y29HbXdid3FGVVdaTHlLcmhq?=
 =?utf-8?B?R3Q0alBwbjYvMEg3N1QrdFY3K05UeVFtZXdoSURwS1BUUk9MT0VjR1hOdmo4?=
 =?utf-8?B?RVVrUkJPbGVJUzVtYXFyY29VNndsRjRaaW1ab25obm11OW4zdXU5OHIzc1U1?=
 =?utf-8?B?UWwwZ3dENmIza3g2enIxbU5taE9xYnR2RUI2anhsbkNqeENYMSs5SEIwNnJO?=
 =?utf-8?B?YVFsT25qTFNDaWZ2STZuU0JZdWU2R2FHOHBodjhSZ0tMTmUyQzRMOGVieGxK?=
 =?utf-8?B?WkZaY1NsdndiYUpmTzRVRU4zR2xTT3UyZjUzdnlPd2dHZGJ4cWRYbHZYeTBK?=
 =?utf-8?B?cloxUmhRL0c2UG5scDlXOWJrTlFFaURwcUZLblo4dVRDWUtOTEZUdUZTbjdF?=
 =?utf-8?B?bHJuK0E3VnZicUdOa0tkRU8xblg0L3JSWlhVbkVPWUtjRGorOUxDa3lQNURa?=
 =?utf-8?B?b2d6WnNsOVpqdFNsWHBLcFFKRXBjTFV3Q3l5WGJ5MHlsMjU3bG91UUY5YmZP?=
 =?utf-8?B?eWtQTDlMM2tnR2ZBbHU2UkRWVmlwMmVCaVNuMGJHYUp1clZjcVArNE5nWFlx?=
 =?utf-8?B?eXRRcEJmc1BwWGNxT1ZoTmtEM2hZcm5UaXQwdStSRlZnQ1RscmFiK3VUZ3E3?=
 =?utf-8?B?dk5CbjF4a3E5ZkRFczF2MC9LTE1oTFFDZXdIRTVBMW1uZnJ0NUdKZ0R1eFlJ?=
 =?utf-8?B?QTlmNnBLZXJ1MU5odTBqK0owdDJMNjZQdkdyeUdLUHpsVVNTSkk3ZjBVdEdP?=
 =?utf-8?B?TlpnT3dDc3ZHT0hDcWpYa1RUaGFkQ1FLSUo1MHRxUElhcXZPOEd0YnhtWGt5?=
 =?utf-8?B?ck0vODdXRHJzNEpibjdPT1IwK2YvVDdzZFYrOEkvOW4xaG90blBMd0pMVlhS?=
 =?utf-8?B?VE5jR0l3bFJFWGNxMzBUTGpzOXUwVVJQUDFEUDRQSTNMcEYrU0JtQkh6cXJo?=
 =?utf-8?B?ZHpSUGp0UGlpekhzMDdYWURacTRHT3h2YXJ3elZnTmtPcy9ISFpVM2xDYVE1?=
 =?utf-8?B?R0RYYU84Y3JoQVgxZWF1WUl4V0h3eXZDL0VwWERxenZ0Lzhvd2o2VG1NRlFM?=
 =?utf-8?B?MDV3VjJuZ2k0UnAvcHJtZ3FrTGxQZzRzV2x1N2FsUkhKb0lFaFl6VUZQQzFL?=
 =?utf-8?B?YWo4c25Mc3R1YlRPVFpnR2hvWTdVMWRVUVd1d1ZqbUIwWVhMSFVyU1l2Tmh4?=
 =?utf-8?B?cW9kZnVsUXVLelp4ZEpvM2hJTExhditPUVM0VWhBUHZ4ekZBK3Jxd3piYXZo?=
 =?utf-8?B?blMxWVVmdlEwVnlscG5SWVpLcCs5UnRkWVdFRUpuZkVYVjJxcHpESHNTaEJ0?=
 =?utf-8?B?THc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	W6pS/0Qyv+vMOM4MvhDekUlKDD0el5PKLx2cHm2nCv8tDbjb60ZVZJZZLk/AE2N/LdulUKzV51XhGVX6F9uZ+rMAbGV6AXngdXY50Y8vH60dBGsLTExZMVSzJzckG9trd6RlXvihJ3nnQZORTHimiR1T9kwn7GudTzAeuPC2ApTYP2kMQlVAnsYyplSgm4MLd5wXYFn0wfB82gtFNzjhfmoLDg15okGs9k47JKDjp3f0EYWKQhsQtKVqo7ZDwj0iLasBWBSiKtPFQi7XgxaNi4Uuc/zU88jEDKdflL5EqUken7QzjGXUYwK0xFhOLayW7OMJ2PlSZWb9rsl6izdO9XXIljNxzbUMJi8KWfl1F6qesLVoITU2tYnV9FBeleZlv4QEeSD3/WEgxg02U21dBtXRVfJ4ChRsV37gPCOkTjLETOT3BxKE+B9O+iOkgPYhyeTnN4Ux87x99zEnqkXb0gEDCtIem6xE/hsoFmQFn7EF+sADqJT7ooDK3tjNl4D5hgVg3I/Xi4P5MB7bG2Ke2wvV2fCEvBt7+DmVMWqjybuj47AhyQXk4iGPlGvZ66HZ10zetWrSAXYyNvDsmu2t1qj33jE4VGI7lYEig6WgLT2Z37wKTb/uoqIpRTqSRU/9K+idQHApm4gZ5WjtqyuFTaL3kLtv7gRWsKZzeB66ZhpW/7GBFuQ26DDKxHgF/YicSR0FsWpcgkllzGCc/KbOPjj82Qtd47Up0T60WCu9CYDfFxj9K/wAlGghnq0EaXcTU8niVTSZz5cYD025hIuMqxyFKqhsqEG+Sh2vlXFTUI+izjgGpw8MejMumAxfOf7G
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 08b5ac9e-e69e-4a69-0de9-08db2ba06795
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 13:13:33.9859
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vq+Wx3UmfIp3UxnpmWrAWI/fKRBFlB+F6fY/cWVVJrc7YSlUI0nHCGOaTYsdWatna8jI7uSqqNisO6bhQDWk1mZ5gAN5Y6y4p9EcCc79ZHA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR03MB7212

On 22/03/2023 9:32 am, Jan Beulich wrote:
> --- a/xen/arch/x86/pv/mm.h
> +++ b/xen/arch/x86/pv/mm.h
> @@ -32,6 +34,35 @@ static inline l1_pgentry_t guest_get_eff
>  }
>  
>  /*
> + * Write a new value into the guest pagetable, and update the
> + * paging-assistance state appropriately.  Returns false if we page-faulted,
> + * true for success.
> + */

I know you're just moving the comments as-are, but more than half of
this is definitely wrong now, and another part is wholly redundant.

"Write a new value into the guest pagetable" is about the best I can
think of, but it is borderline whether it even needs a comment.

> +static inline void paging_write_guest_entry(
> +    struct vcpu *v, intpte_t *p, intpte_t new, mfn_t gmfn)
> +{
> +    if ( unlikely(paging_mode_shadow(v->domain)) )
> +        shadow_write_guest_entry(v, p, new, gmfn);
> +    else
> +        write_atomic(p, new);
> +}
> +
> +
> +/*
> + * Cmpxchg a new value into the guest pagetable, and update the
> + * paging-assistance state appropriately.  Returns false if we page-faulted,
> + * true if not.  N.B. caller should check the value of "old" to see if the
> + * cmpxchg itself was successful.
> + */

"Compare and exchange a guest pagetable entry.  Returns the old value." 
We don't need to teach people how to use cmpxchg as a primitive here...

The comment next to shadow_cmpxchg_guest_entry() ideally wants the
grammar fix in the first clause too, and this is probably the right
patch to do it in.

For the content of the change, definitely an improvement.  With the
comments suitably adjusted, Reviewed-by: Andrew Cooper
<andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 13:15:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 13:15:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513867.795531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfKmv-0000vZ-1M; Thu, 23 Mar 2023 13:15:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513867.795531; Thu, 23 Mar 2023 13:15:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfKmu-0000vS-Uy; Thu, 23 Mar 2023 13:15:28 +0000
Received: by outflank-mailman (input) for mailman id 513867;
 Thu, 23 Mar 2023 13:15: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=7ZVY=7P=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pfKms-0000vM-UX
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 13:15:27 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c45c384d-c97c-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 14:15:22 +0100 (CET)
Received: from DM6PR07CA0117.namprd07.prod.outlook.com (2603:10b6:5:330::32)
 by IA1PR12MB8538.namprd12.prod.outlook.com (2603:10b6:208:455::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar
 2023 13:15:16 +0000
Received: from DM6NAM11FT046.eop-nam11.prod.protection.outlook.com
 (2603:10b6:5:330:cafe::5a) by DM6PR07CA0117.outlook.office365.com
 (2603:10b6:5:330::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38 via Frontend
 Transport; Thu, 23 Mar 2023 13:15:16 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DM6NAM11FT046.mail.protection.outlook.com (10.13.172.121) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6222.17 via Frontend Transport; Thu, 23 Mar 2023 13:15: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.2375.34; Thu, 23 Mar
 2023 08:15:14 -0500
Received: from [10.71.193.39] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2375.34 via Frontend
 Transport; Thu, 23 Mar 2023 08:15:13 -0500
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c45c384d-c97c-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nYP1p8cSkqhoQafECy85l/CxcDBEr30elodzSQGmHjATcNfkBcEOIfN7za5CKfBnVDvyfWKa4zDIYBCX+fKcs51NpowrFPkZd5ZR3zYDN/6L0BcdIYz5xScjiy6NpwjfyrDZAlz6LHw3JT47nYeWtApK/sZUI/GhRnPlMHVvD6pUCK/67JqkPe0TRikIyrygEpyldu5TPmQRltC2HOnA810Xtx3GB/OLV8Ki6xkcJCgjgBABGCdbMzRPKeDatpzkhzps6TPHg1DyUvV8YyVJDJ7u6m0G3M6+I0l4HgfV4WMlRXoO5oZp7Wu5kSWx/hAH1uc5lz/6/2SBxmQh7A3LDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E2dKj7gxeeUDtwMk4UDdeW/cYJ5cjLD4UNYVvJNTZkY=;
 b=QnPWmn0Vdf0kYHm4w42VItIwbqg7dPaU4SH3XSB3fOCfcgUtl9RCBjzix1bVLaOjOT3bVMXQY1s3NB6KRjQiDAJYz9Ik+xd5iHz2eiJjX+yp1hTjoky3olp/IpwwpEX0ZKWTYznLTvc58W8FfkqLEKjhWhTVCHR8V73xmqnH8RnTcVy4uPIvUg8wiIs6ScxjaZn/QZqA3DLto3EmInyjUwmJm/VBhha2ARhsaRJ23Q09Xk3Bm1sU1DD82fAhnyPeo3gis+5RD5u0fW8mVchzByiB/o8ffQD+jnqbRf04snGQoYinHiPtRnlj/xDHqTRyz6gQdBQVNnJkfyprX61Nvw==
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
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=E2dKj7gxeeUDtwMk4UDdeW/cYJ5cjLD4UNYVvJNTZkY=;
 b=nO6uvA+c5eV/XmbzLyFnbbXtmQFRKNueOiB+Y8uW1X5fOsyaUGomzbz1qlNEeIFdsTSZR+VzOlKNrb5WKaqDJrd7Li4AxwI8U7zF5S7pTgbtpxwXZVGMl9wS81YbP6x5P77ZiZFBEb0SQx5gY2BXSNvMLk3DXzTbQDZ3Q77qWyU=
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: <f86eaceb-942f-278f-c6f8-68f01eac8ba7@amd.com>
Date: Thu, 23 Mar 2023 14:15:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 2/2] xen/arm: vpl011: Fix domain_vpl011_init error path
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: <20230322102941.959-1-michal.orzel@amd.com>
 <20230322102941.959-3-michal.orzel@amd.com>
 <130680d1-155e-e989-8ab9-2ef59ca59fd6@xen.org>
 <b0253701-3696-fd18-ba74-9fb7e6150a1f@amd.com>
 <05196f3f-213c-e93c-c5be-1d2e83927bef@xen.org>
 <611499ff-1922-221e-ad9b-9303e3a88502@amd.com>
 <1527b04a-cc68-e6f4-2d12-4774110c25d1@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <1527b04a-cc68-e6f4-2d12-4774110c25d1@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM6NAM11FT046:EE_|IA1PR12MB8538:EE_
X-MS-Office365-Filtering-Correlation-Id: 47a5c1e0-24d8-4633-cc11-08db2ba0a4e1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dGb9PVPMXsU1QL1gvXkoGsRls73uqmO+EGNGzobbBYQaW+YiBCIsV7RdUM7fUAzse5JVk7/4lKwOgM3qNSKfqA/3USIme8xOddkGZS2LnCNnv9g1xBriwyR9rNW1B9LpWOVT4Yf2VtUjMl6hPyBoMXIf3OvVnYAKOWPzI+P3m2q5MbZV5328H6LLwdOvH268TWPFPeBuI6HLLiaU7ucLbJtVU0C5xAYpTPh7wYDRrgg1uxIeltMkoYft0RvZUzBR6G0Wqn8um9d50rSlYJ3CLzG1DI+647XO7aXcpXSBLR1oPRuUfUUrNtGhhM/Z8wIqwycki8fRecFvWJvlKluRTFs0xfxQfMkJq9cNDafaXLoeRXB4bK7Uypo27OLqVDsNnTzuC0P0Lk3R/ogYTQqBDA3nAMJMI+zCDo7XaBgTtNoZZTY1mU8H1bDO/F5D23VKtjz+XW+TbnwG0cZ4JyLr89XEzmF6bAI18MWF26SpwMfFdFrp864P/eZ+FbCEqF3Abrf8A/ytTmdMwJNWppiOclsQVLMmmZhIsRHcYuMataxNurwlfrUpsgKltzeEnWADF+QoWidd4vUhl1iBn5bPV+MOLXOTY7BOaoa5ewGAVrZomvVC4TZ3bw5HEbMuAfbf8kgPws6Zgd1WUhvthnRY0R/VBO8EwmiYLMtmTxb6motsfJ197UKKO+u71IsvR8k3f1FKaREg/pV9Esb6nQIQW20olJ1EgoG+kBSbZmX05cMlnlwwWU/wXdToXLRNsik8aJsCeyEzV1E4wbQbMNFWEg==
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:(13230025)(4636009)(376002)(346002)(136003)(39860400002)(396003)(451199018)(36840700001)(40470700004)(46966006)(31696002)(86362001)(36756003)(36860700001)(82740400003)(81166007)(356005)(2906002)(44832011)(40460700003)(41300700001)(8676002)(4326008)(5660300002)(8936002)(40480700001)(82310400005)(2616005)(336012)(186003)(53546011)(83380400001)(47076005)(426003)(54906003)(110136005)(478600001)(70586007)(70206006)(16576012)(316002)(26005)(31686004)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 13:15:16.3298
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 47a5c1e0-24d8-4633-cc11-08db2ba0a4e1
X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DM6NAM11FT046.eop-nam11.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8538



On 23/03/2023 13:57, Julien Grall wrote:
> 
> 
> On 23/03/2023 12:13, Michal Orzel wrote:
>> Hi Julien,
>>
>> On 23/03/2023 12:33, Julien Grall wrote:
>>>
>>>
>>> On 23/03/2023 11:10, Michal Orzel wrote:
>>>> Hi Julien,
>>>>
>>>> On 22/03/2023 17:19, Julien Grall wrote:
>>>>>
>>>>>
>>>>> Hi Michal,
>>>>>
>>>>> On 22/03/2023 10:29, Michal Orzel wrote:
>>>>>> When vgic_reserve_virq() fails and backend is in domain, we should also
>>>>>> free the allocated event channel.
>>>>>>
>>>>>> When backend is in Xen and call to xzalloc() returns NULL, there is no
>>>>>> need to call xfree(). This should be done instead on an error path
>>>>>> from vgic_reserve_virq().
>>>>>
>>>>> Most likely this was implemented this way to avoid a double "if (
>>>>> vpl011->backend_in_domain)". TBH, I am not very thrilled with this
>>>>> approach. Could we instead consider to use domain_pl011_deinit()? (A
>>>>> couple of tweak would be necessary to use it)
>>>> I think we could. More about it later.
>>>>
>>>>>
>>>>>> Also, take the opportunity to return -ENOMEM
>>>>>> instead of -EINVAL when memory allocation fails.
>>>>>>
>>>>>> Fixes: 1ee1e4b0d1ff ("xen/arm: Allow vpl011 to be used by DomU")
>>>>>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
>>>>>> ---
>>>>>>     xen/arch/arm/vpl011.c | 11 +++++++----
>>>>>>     1 file changed, 7 insertions(+), 4 deletions(-)
>>>>>>
>>>>>> diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
>>>>>> index 541ec962f189..df29a65ad365 100644
>>>>>> --- a/xen/arch/arm/vpl011.c
>>>>>> +++ b/xen/arch/arm/vpl011.c
>>>>>> @@ -696,8 +696,8 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
>>>>>>             vpl011->backend.xen = xzalloc(struct vpl011_xen_backend);
>>>>>>             if ( vpl011->backend.xen == NULL )
>>>>>>             {
>>>>>> -            rc = -EINVAL;
>>>>>> -            goto out1;
>>>>>> +            rc = -ENOMEM;
>>>>>> +            goto out;
>>>>>>             }
>>>>>>         }
>>>>>>
>>>>>> @@ -720,12 +720,15 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
>>>>>>     out2:
>>>>>>         vgic_free_virq(d, vpl011->virq);
>>>>>>
>>>>>> +    if ( vpl011->backend_in_domain )
>>>>>> +        free_xen_event_channel(d, vpl011->evtchn);
>>>>>> +    else
>>>>>> +        xfree(vpl011->backend.xen);
>>>>>
>>>>> There is another bug here (unrelated to your change). You want to use
>>>>> XFREE() to avoid an extra free in domain_pl011_deinit(). Can you look at it?
>>>> Strictly speaking this is not a bug. Memory allocation can only happen if backend is in Xen.
>>>> This means, that if vpl011 init fails, we will call free only once (domain_vpl011_deinit
>>>> will not be called on this path i.e. we will invoke panic after construct_domU).
>>>
>>> Well yes, in the current use this is not a real bug (it is only latent).
>>> But the same reasoning is also true for adding the call to
>>> free_xen_event_channel() because we would not continue to run the domain
>>> if domain_vpl011_init() is failing (even when the backend is in the
>>> domain). And even if we were going to continue this is just a channel
>>> that cannot be used. It will get free when the domain is destroyed
>>> (either explicitly in deinit() or by evtchn_destroy()).
>>>
>>>> Of course, we could switch to XFREE just for sanity.
>>> This is just not about sanity here. You are relying on how the caller is
>>> behaving. And we have no guarantee this is going to be the same forever.
>>> For instance, one may decide that it would fine to continue even if
>>> construct_domU() is failing (e.g. because the domain is not critical).
>>> At this point, this would become a real bug.
>> ok, makes sense.
>>
>>>
>>>>>> +
>>>>>>     out1:
>>>>>>         if ( vpl011->backend_in_domain )
>>>>>>             destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
>>>>>>                                     vpl011->backend.dom.ring_page);
>>>>>> -    else
>>>>>> -        xfree(vpl011->backend.xen);
>>>>>>
>>>>>>     out:
>>>>>>         return rc;
>>>>>
>>>> Solution to reuse domain_pl011_deinit would be as follows:
>>>>
>>>>        vgic_free_virq(d, vpl011->virq);
>>>
>>> We should move this call in domain_vpl011_deinit();
>> True and I think it does not need any guard as in case of a not registered virq it will
>> just clear the already cleared bit.
> 
> Technically it could have been reserved by someone else afterwards. So
> it would be best to 0 it (we allocate a SPI so we could use 0 as invalid).
Hmm, ok so the same handling as for event channel:
if ( vpl011->virq )
{
    vgic_free_virq(d, vpl011->virq);
    vpl011->virq = 0;
}

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 13:26:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 13:26:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513872.795540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfKxc-0002n7-39; Thu, 23 Mar 2023 13:26:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513872.795540; Thu, 23 Mar 2023 13: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 1pfKxc-0002n0-0R; Thu, 23 Mar 2023 13:26:32 +0000
Received: by outflank-mailman (input) for mailman id 513872;
 Thu, 23 Mar 2023 13:26: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=gJcj=7P=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pfKxb-0002mt-Es
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 13:26:31 +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 51a501c5-c97e-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 14:26:29 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id j24so11587068wrd.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Mar 2023 06:26:29 -0700 (PDT)
Received: from [10.95.168.169] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 e8-20020adffd08000000b002c592535839sm16164499wrr.17.2023.03.23.06.26.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Mar 2023 06:26: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: 51a501c5-c97e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679577988;
        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=rKET1aT3FbBnUdm/K9FEcjVZRNjwaUpj/1PJCNfW5XA=;
        b=Ji+IUlqR5wLNisxWvoXPX2JYZxwCrZqPfRcPspeqv1zrQle+46O+N0v/sQXLjTCY5U
         9fUpVfP4ebgHMGIf3yQwwwiXrpxbzNtKtd1sU9obxAYRuv9eHj0yXoHhiDldD79hDgr7
         3wTVErC33TWmR15dgrBvdGozeKEOKnkO22S3E6CcFWOtojsvorU6iQvT2EeDJ4qpLnhU
         6sjYCbZwq+DFsRV+ILsu2XayNJTTpqamy1UK5GQlVN6Q3Ah/yrWO4730XCVGbss0LC/J
         HmrZD0/vZHXbSGf92KmNysJr3qvM91AFE0HIRYFOUy50fBpfdxnmhY/RDgQbR+DHxT2C
         pxZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679577988;
        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=rKET1aT3FbBnUdm/K9FEcjVZRNjwaUpj/1PJCNfW5XA=;
        b=H3kacj9qs6TZY15H/L4sZv6uCowz+vWnSkfBbRabl/ynDPOMPGmhDV3BcuG36nb8qO
         oq6mV4GHJX0+7RKTZOSZ3ehWqyA/mjXZR/U+yCw/2lEICpIs2lePPWeW7ze6mQaT7eoH
         g5boAVNdY8LrT5LpRIerxTvyWDY0TVDiGcXx+xi/WngWLZSoVC+RzbYSQdaaNkxWEIq+
         nFnjllWURe+JxewqNOBnq/Aptnv47rmQ4YVZvQf5suNSKSFPBtRN7KiIXkmqhNhGl9WB
         /Zf2shkkXPdTpayr7Sbn+tVMAajNI1QddlYsaOB+oG10RyN/CPQi8TddIADxXuw7tRQv
         opxw==
X-Gm-Message-State: AAQBX9fY8xhWMwQFCvtGg2t/VE6rNjHQIwIEbpgsH78WUo3Ydz85WpAl
	03sjkJqNyrvk7sTYB6TMmzQ=
X-Google-Smtp-Source: AKy350aee0JqiP1q0uzCYme5AlSYOtzrw8JV1YEAx8bdGDp75DOMnA8S1e5wMHCE35DI2Xy985uEgQ==
X-Received: by 2002:adf:fece:0:b0:2d1:481d:5863 with SMTP id q14-20020adffece000000b002d1481d5863mr2921691wrs.11.1679577988524;
        Thu, 23 Mar 2023 06:26:28 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <f2f3ddbc-c39f-a0b9-3174-a95d5e391bdd@xen.org>
Date: Thu, 23 Mar 2023 13:26:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Reply-To: paul@xen.org
Subject: Re: [PATCH] hw/xenpv: Initialize Xen backend operations
To: David Woodhouse <dwmw2@infradead.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Cc: qemu-devel@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>,
 Joao Martins <joao.m.martins@oracle.com>,
 Ankur Arora <ankur.a.arora@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>, vikram.garhwal@amd.com,
 xen-devel@lists.xenproject.org, Juan Quintela <quintela@redhat.com>,
 "Dr . David Alan Gilbert" <dgilbert@redhat.com>,
 Peter Maydell <peter.maydell@linaro.org>
References: <20230307171750.2293175-1-dwmw2@infradead.org>
 <20230307171750.2293175-10-dwmw2@infradead.org>
 <209fe980-7f9d-4d79-90fb-12e38f12b2bc@perard>
 <5dfb65342d4502c1ce2f890c97cff20bf25b3860.camel@infradead.org>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <5dfb65342d4502c1ce2f890c97cff20bf25b3860.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 23/03/2023 10:57, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> As the Xen backend operations were abstracted out into a function table to
> allow for internally emulated Xen support, we missed the xen_init_pv()
> code path which also needs to install the operations for the true Xen
> libraries. Add the missing call to setup_xen_backend_ops().
> 
> Fixes: b6cacfea0b38 ("hw/xen: Add evtchn operations to allow redirection to internal emulation")
> Reported-by: Anthony PERARD <anthony.perard@citrix.com>
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/xenpv/xen_machine_pv.c | 2 ++
>   1 file changed, 2 insertions(+)

Reviewed-by: Paul Durrant <paul@xen.org>

> 
> diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c
> index 2e759d0619..17cda5ec13 100644
> --- a/hw/xenpv/xen_machine_pv.c
> +++ b/hw/xenpv/xen_machine_pv.c
> @@ -35,6 +35,8 @@ static void xen_init_pv(MachineState *machine)
>       DriveInfo *dinfo;
>       int i;
>   
> +    setup_xen_backend_ops();
> +
>       /* Initialize backend core & drivers */
>       xen_be_init();
>   



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 13:34:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 13:34:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513875.795551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfL5N-0004Vz-UF; Thu, 23 Mar 2023 13:34:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513875.795551; Thu, 23 Mar 2023 13:34:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfL5N-0004Vs-RD; Thu, 23 Mar 2023 13:34:33 +0000
Received: by outflank-mailman (input) for mailman id 513875;
 Thu, 23 Mar 2023 13:34: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfL5M-0004Vm-OS
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 13:34:33 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6d50ed05-c97f-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 14:34:29 +0100 (CET)
Received: from mail-dm6nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 09:34:16 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH0PR03MB6001.namprd03.prod.outlook.com (2603:10b6:610:e0::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 13:34:14 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 13:34: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: 6d50ed05-c97f-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679578468;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Ohgbkqq5ErLSp2I4RdJRJG8DMxExlUBTzggKv4tuSfg=;
  b=WcJ4sMpcjbb+WBrrlJ3hyeDwXs9+QBglbuZ1L2XgpUukDZqWD4HYsjsQ
   5JmvL9ivg1uT84SL5lvTTAI5VNN9zUeItJgXHwzWVTcXJyb8S4vHJeeH6
   5o8qIu/5Aw6gmSDTxeCO2p8gtcgktPVOm90CWdNTtVNzj+nfKYHKBr7k4
   k=;
X-IronPort-RemoteIP: 104.47.57.169
X-IronPort-MID: 104440167
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:wf8DKKOqaoCYRQzvrR2VlsFynXyQoLVcMsEvi/4bfWQNrUoh12AHy
 jcYUDqPPq3eZGXwf99zOoWzpkJS78TSmN9kHgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5AdmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0tlqGVFw5
 8A1Exk2ZxWqitKmwOKiFMA506zPLOGzVG8ekldJ6GiASNoDH9XESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PVxujaCpOBy+OGF3N79U9qGX8hK2G2fo
 XrL5T/RCRAGLt2PjzGC9xpAg8eWxX+nBNpLSuLQGvhCsVOd3lc0CwEsRV6j/KbnoUq+a9FhN
 BlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWKTVqN+7HSqim9UQAJLGoqdSICCwwf7LHeTJobixvOSpNvFfCzh9isQDXom
 WnU/W45mqkZitMN2+Oj51fbjjmwp5/PCAko+gHQWWHj5QR8DGK4W7GVBZHgxa4oBO6kopOp5
 RDoR+D2ADgyMKyw
IronPort-HdrOrdr: A9a23:pYEm2a+xU5tL8TdY1lBuk+AcI+orL9Y04lQ7vn2ZKSY5TiX4rb
 HKoB1/73XJYVkqN03I9ervBEDiewK/yXcW2+ks1N6ZNWGLhILBFupfBODZsl7d8kPFl9K01c
 1bAtJD4N+bNykGsS4tijPIb+rJw7O8gd+Vbf+19QYIcenzAZsQlzuQDGygYypLbTgDP7UVPr
 yG6PFKojKxEE5nFfhSVhE+Lo7+T8SgruOeXSI7
X-IronPort-AV: E=Sophos;i="5.98,285,1673931600"; 
   d="scan'208";a="104440167"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MHL64trQMUwm04gKKWb7zBlac2KXMT+HS3AfbwQNlcbyCOd4q22n1yw2epbIcuLQVS0xTDb0SE2vKaXi+O6dywMhA/psBPnRghUSuAdC1Wl0v/oInyurgTFBtejKpP5JdHNqqkxfd4xd1NdU5Dq+qPzFd83IvFWUOCzdpyyOoAzov+r4TbumRND5usvEdQYzQbEb6Rx1a+5s+m6VK+0Bp9+cJQJq4Y2EnzPhBraowLn/mWYfcr7fNSQWuY3a5lE4uQzKGBylIqQ8xNZVqPO8t5YOyDUWVRD004eU0nrFvgdgUzz2fsfIOAkwnfHSxj9yuWLz/BTR72dkSyCuBZFzrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ohgbkqq5ErLSp2I4RdJRJG8DMxExlUBTzggKv4tuSfg=;
 b=a9IRXKF/YWLPLa0pg98cmxehKCl5u+N3ivEL6EEYmzqSO/Hku7zaXnbkYC7otui2ZGOhMiKuIl+VQKC3VceE1u7aFxTF52tdf/4m3VqGdO2fz9mwYLKwOS3FeqhVRHcHB0Hud16nz4HSXwlKkPKS75yCP6zIJ4vvJhP5UCBsvdX4t5mCHkfBoh8+ytt1Ze/frk/WKUw8JFo2AzvHdtJQWDqW3lfMA1430h//usdkDFdbTPDGhkMWuY0uW2NeG/RwG9fv7bZEEyWtf7G9LahFq5/vo8MO/aoYeHF8flrlAOnMvCKNEwEGQL0ucFSWZX+S9POEdEVOSR91zWhObCGdpw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ohgbkqq5ErLSp2I4RdJRJG8DMxExlUBTzggKv4tuSfg=;
 b=sYm/I9YRNTU2nVB+TA0u4WdGK1YF+tWvjXXAC2HMlT78dkNr8xWToHqU0AY8ZWgYVQe4NUoFyYffmipO8inLHg8rWf+LfBFDsZueqfK0sRmProIeY8+VavXEb1Q2FIstsnkf1nAxGefnpAqg6V98kh3xVSq8N8x05VrXGLMMSRc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f7db2eaf-0038-b2b0-19f4-8c6a95691eaf@citrix.com>
Date: Thu, 23 Mar 2023 13:34:07 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 07/16] x86/shadow: call sh_update_cr3() directly from
 sh_page_fault()
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <69304929-de84-04db-04f2-8faffc12ef0f@suse.com>
In-Reply-To: <69304929-de84-04db-04f2-8faffc12ef0f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0650.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:296::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CH0PR03MB6001:EE_
X-MS-Office365-Filtering-Correlation-Id: b2dbb93c-f7e6-4e20-b689-08db2ba34ac1
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k/qenjjGNTlQkAxSa9Fkoat4MKRGyoyC7yRK2HDnNwpURnBRPpYhVxF3uGk1cuJWF4OHtXrGWAl9YA+CWaHYTjFzsn1ZcZUUPxYbmRQVpHUxHABKoLCiUkCalq8f3mudhMzZwM6ct1IU/uKApYanB8iVYECfGfKOGAb+9YoUD4C+e65W5GOedzMlIiEtQ+GFLiRkGheNIaN6pnJN9M17Rtkrr9m7JUG8ctpob2pk+Eij0wbzuFAMTK0Pmeh0aMVG5rAboKP9NKzj30zxPonchfxVVLBxbXnXuhQ9c9iRV/YSJ5LNcyKxKNjzxwjjy3khLiHtdJZDDkvGEk1htUUnYw/uGgIoHNnoWDKxJxFr0iC0aODPPXvWxx0ZhdZ74+p71WN+cawZKW6CWw6SlfJMUqSLA+xzs0BrCv0su4yixJvsMMTU51d4Pa+ByS7MXSi2UyZz4fkNEwNAWv/AhR54EZMzRh7KcDsy2ZtPWKwVo73tnaK1vjuCw5RAdQrHRR1RIPyHgBPzJUJs3Olhgzu6tW9I3rx8rwfxLeWq3IrjTYN+GyBxC21wazuIkjxVEoke48mik2GrK023NuBhqQRuF8TujRvkeYbddVLNDpwHpG31UpXOHQLG4skQxsfc39CsWUaEtFQtSbCEo/DMp+SXIMuZA6mC6OQHcS//zs3aAwfWmIRU/KJ1345bLqMF18nWeMTi/U/e/Z5WfOO/FsbU+d3eWB25Sb6pmzZN0twUwQ8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(346002)(366004)(39860400002)(376002)(396003)(451199018)(36756003)(8676002)(4326008)(86362001)(66946007)(66556008)(66476007)(8936002)(41300700001)(478600001)(6486002)(316002)(54906003)(110136005)(2906002)(5660300002)(82960400001)(31696002)(26005)(38100700002)(53546011)(6512007)(6506007)(6666004)(186003)(83380400001)(2616005)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TUtNMS9lY2RrdDFoa3FpUnRrT1F5RVpnOVNvdG1HZTNxMVFTeEtoVzd1Skp6?=
 =?utf-8?B?dWJ0aDBEcFdsTElvMVpXRDhtaVA0aTFNN0EwWkFnbnVjc3IzdW1NNytJWTNa?=
 =?utf-8?B?K001S21qbVlHYVZTazJSb2pnRzVzK1IzWGtKTXA5V0JERWZtUG9HeEF0ZkRZ?=
 =?utf-8?B?a0gxdFc1cklURmJXQTlPdUNESlFmaFV6c01kK2RSQngydm4xMGNtS0FzSHdu?=
 =?utf-8?B?TWIvQ0k3VFdyYVNLeS9Tc0xYamo2cHdyNDNUWlRjUjRydkpkK1hEdEZqU2M0?=
 =?utf-8?B?a0hLS1dJL1RjcVVKVFpIcGEzMENIY2tQR1g5TlF2aFpQcGRZZE45T29hU0JB?=
 =?utf-8?B?RUh0UVZWNTViUlVmcW9ZVERhYk1uMUZyV3F3WVllWGU5WkowL1cvME81UXNG?=
 =?utf-8?B?eFBodTRuUXQ3ckFUTEY4SXRyWjBjaE5lMTJEZ3Mzcm5wc3hDaXJ5R2tybkhD?=
 =?utf-8?B?aEJkeFJSMW1DdlFQZjQ5cmxnMEpMbTNTN2Z5VGlnQWxiVnYyZy9kaXFiSGxn?=
 =?utf-8?B?OUtpZENQcW5xOWp4UDh0VHlLcnFjdGNwaVFTVWhYcS9WTjZzRUllZEZLWnU2?=
 =?utf-8?B?eFNFVE9YU1FiUVEvbHFhYVR1Yzd2dlRDbVdkZjljTVY4T1kxYVJubXhDdlZz?=
 =?utf-8?B?c2lhSk1ZdVJUeGNTdjRxVisvOEswN3N4ZmEwY0sxTXRWY3R2UU9aWkpIdmZs?=
 =?utf-8?B?YmtTWkNvSHVGTDEySHpFdUhaWHQvWGtqL1ZtUTZ5VktzaVp1UVlmZmkzOEx5?=
 =?utf-8?B?WFpmanRxbmVzd2FWZGkvdGlPT1RmbGt3RHNGYWJmY2NyNXA0QXRlaCtGaEVP?=
 =?utf-8?B?bGRKSjNDa1dSU3FoMURhNWNGa2VjSThRMi9zV2QzYTIzeERMQjBYQXdOSXo4?=
 =?utf-8?B?YTNVaVlBUDEwRWowTHROcTdiU290Y0RpNDV2Vk9yWXRJaUJ6NlBKbzFEYldC?=
 =?utf-8?B?dDJkcnFGOWI0em5GaS9TVCt1VndVMjRXbkJRWis2V3dERlAvanR4YXRkOE9B?=
 =?utf-8?B?Vk93bnRFMGtsWDd5NnNIS3hGdVd1dVdBMVJGUFdrR1VTZWcrWXVOeUQ5cTdz?=
 =?utf-8?B?VHRtRzVXTnUvQi9FMEFmNG42MWdVa01WY29UMjZwajllUVo4RUxCYzZIMkF6?=
 =?utf-8?B?VWREVFk0TW1Wa1M5NHFTKzlhREhaQUtvSWY5MWY2ODZDOVl2bjdwMENxcE1L?=
 =?utf-8?B?NThYQjh0SDZ4dkYvcDJaeFY1S1Y0U0hMbWZUalc5dittNDhLMUV5Vy91Qktl?=
 =?utf-8?B?YWUvNDJaTFFveVNqOGRRZGJZbnluMmpncG1sWEJwdE1yZkxpd1NnRk5CQXNa?=
 =?utf-8?B?MDg2SndZeFdXMnZ2Ym51SnkvdFY0UlZGQTdlUkgvcWxMRFQ4YUhCNTdoeVc3?=
 =?utf-8?B?a1h4NEUvakVJMWdyM0dNeDBmQmJWemxOVFdCb1BVanVVZlFUd2UwSmdTelRi?=
 =?utf-8?B?VFZ5TEk0V3dhS040SUNocDcwVCtzT3JMQzIwZEpoS0ZBblc0dGNrcm1ZelJV?=
 =?utf-8?B?NGwwbFg5NWJ0OURwZ01pbkJZZ3RnWURHQ29PdnpBQXVReElBV2RpaXhRV3pr?=
 =?utf-8?B?YzZiOUFnNG9DSXUzSDlDM0ZXayt1QXpyb0Znak1wMUNNTHl6UVN6bzBkWlZi?=
 =?utf-8?B?UUdsY1RGamZ1cHVqVlhzOTA0ZCt1WGwyeFliNkJqSHRXMUlJZXlOdGVDWnBm?=
 =?utf-8?B?RTBsaFJyWmFKSGMrN0psSFo4cGRYY1BsZUZacE5tSElIajYvZUZvYXJvRTFy?=
 =?utf-8?B?OEIrS1piaUVobXFxaUtOWkJJenlicytmeEc3TVFoN1J1Y1dnQUdibzRWTDd4?=
 =?utf-8?B?ZEJVdkVObTZuU3I1SjBza0VqU3ZCZXFXcUh0cEFpWTc1T281c3B6UVFnenpP?=
 =?utf-8?B?alFubmJYOU9aVlh1UUNaakMwVmtCMlVwZ0o3SG9ER1J1RlpSOWlockM4eW50?=
 =?utf-8?B?Nkw5anZpTEZHZ253c3psTWlBNGpzMkYwMlV0dk1JR0Z1YlBwYXpRR0tCalNU?=
 =?utf-8?B?OHZYOEw4ejV0MDNpRllvd1NjbGZUdnN1RXd2VGllRzR1NUxjMXlxRjFjWW95?=
 =?utf-8?B?eHdKeEJ3NFM5UlZlU2JBWHVBVWswWXo3Z1p1WlFKTy8wUVZIZDVvNHowYzR4?=
 =?utf-8?B?ZzEveS9aTzdESEdaUW5aZFpiWFB1OUFRRXBreDgzWStkTjJTZEdtNTJxWGdv?=
 =?utf-8?B?QlE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	0ASu6Hj8f4r7obQX1YqcXpAQsii0zmpGSjMsht7wXTY5cNYfhdDnnffVjVm8+ZYgBwavYyDAqwkZgNTZSLkhSZUzwt0qN7rHusNAZjgzItKb+vPULE5V+xyXjyhUy3zxeRaM4jfrEyhizMJT0+M/9gPCQZtLqD0cF+xmU2lwhvGFsUyYSm9ksGdZPUTqXsjX4JXBOvlgPCawBz+ZZl5P5gxoJhm74DMnkJ6m0u12ROIkRHS1YDJkOkSvsfGlksxIwbmI8gNz+giumSKRLcEzgkMBMf0XT548OMGGiArvzU2+c61sjsWCxQsRhL5Y8xdBt1hVZCQyL1+IDtz5sAgRg4RlfoNegcm794fgpVwZMUm4NK7hrbu3qc8UN3DscsC9IV4qma2nDmAnND5LpCGKxf1hkyx6ZwEeuV8PJkTf5A7mOVyJe8kvujFFfoUdhtaMNEElLIGAQaIn4Lv9rPewHgXruyMdz7VHEgiw5xZEmUXynmZ28j/+jgBK5kAQ8CdGKjviFlwMmfccKTuiFZ8HiXgd4H/Ivr19ablUDvdL7wotWpehzYPtF/3urx3iptuNCWNLYMEholrsW/PcjqED4D6pRG+nRC1GRGKEDYstDtjACpr/uC3R0sm9u2Ggea/hlP9pjgm7qSsU1RuZV5IoyMYX+n3rHP+99BlG6psRJvRdC0WW1XmTulCB65GGkIfBEkpHBc0AY+q6W2tLDYExcSMhFNSOKHAGdx+dUXjn16L8TQFh1A6Wm17Rk2bp15fjQLWOP9TTH0VYJJwlpeIhJxhcCjPXXf7nHH851ZF/yePvAekyigCHaiBDliVYo7fY
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b2dbb93c-f7e6-4e20-b689-08db2ba34ac1
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 13:34:14.0210
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vKDAUIojqITGG2Y/3tOidSjAD099C/T3kwfEGfI6yfL5UoLLpiFoik5poB5dar/3l8U+vY4zIFaDUcPNYlE7XThlxtj2bmjrMoStwvj+DaU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6001

On 22/03/2023 9:33 am, Jan Beulich wrote:
> There's no need for an indirect call here, as the mode is invariant
> throughout the entire paging-locked region. All it takes to avoid it is
> to have a forward declaration of sh_update_cr3() in place.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> I find this and the respective Win7 related comment suspicious: If we
> really need to "fix up" L3 entries "on demand", wouldn't we better retry
> the shadow_get_and_create_l1e() rather than exit? The spurious page
> fault that the guest observes can, after all, not be known to be non-
> fatal inside the guest. That's purely an OS policy.
>
> Furthermore the sh_update_cr3() will also invalidate L3 entries which
> were loaded successfully before, but invalidated by the guest
> afterwards. I strongly suspect that the described hardware behavior is
> _only_ to load previously not-present entries from the PDPT, but not
> purge ones already marked present. IOW I think sh_update_cr3() would
> need calling in an "incremental" mode here. (The alternative of doing
> this in shadow_get_and_create_l3e() instead would likely be more
> cumbersome.)
>
> In any event emitting a TRC_SHADOW_DOMF_DYING trace record in this case
> looks wrong.
>
> Beyond the "on demand" L3 entry creation I also can't see what guest
> actions could lead to the ASSERT() being inapplicable in the PAE case.
> The 3-level code in shadow_get_and_create_l2e() doesn't consult guest
> PDPTEs, and all other logic is similar to that for other modes.
>
> (See 89329d832aed ["x86 shadow: Update cr3 in PAE mode when guest walk
> succeed but shadow walk fails"].)

I recall that there was a complicated bug, ultimately discovered because
Win7 changed behaviour vs older versions, and the shadow logic had been
written to AMD's PAE behaviour, not Intel's.

Remember that Intel and AMD differer in how PAE paging works between
root and non-root mode, and it is to do with whether all PDPTRs get
cached at once, or on demand.

Off the top of my head:
* 32bit PV guests get on-demand semantics (as they're really 4-level)
* VT-x strictly use architectural "PDPTRs get cached on mov to CR3"
semantics
* SVM with NPT have on-demand semantics
* SVM with shadow is model-specific as to which semantics is uses, IIRC
Fam15h and later are on-demand

These differences still manifest bugs in the common HVM code, the PTE
caching code, and the pagewalk code.

Looking at the comment specifically, I'm pretty sure it's wrong.  I
think that suggests we've got even more PDPTR bugs than I'd previously
identified.  In some copious free time, I do need to extend the
pagetable-emul XTF test to include PDPTR updates because it's the one
area of pagewalking that doesn't have any suitable testing right now.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 13:35:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 13:35:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513878.795561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfL64-000511-7x; Thu, 23 Mar 2023 13:35:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513878.795561; Thu, 23 Mar 2023 13: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 1pfL64-00050u-3q; Thu, 23 Mar 2023 13:35:16 +0000
Received: by outflank-mailman (input) for mailman id 513878;
 Thu, 23 Mar 2023 13:35: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=q/IK=7P=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pfL62-00050d-Bx
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 13:35:14 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88b997a4-c97f-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 14:35:12 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 DM4PR12MB6062.namprd12.prod.outlook.com (2603:10b6:8:b2::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6178.38; Thu, 23 Mar 2023 13:35:08 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.037; Thu, 23 Mar 2023
 13: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: 88b997a4-c97f-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HzWWeRM+lRZsGkUFh4yd+v8rC1yULTaaKKfptb/hsYpcCoFSR1s6dcn3KHxFkQ0MJxG7HOTyggUN3pfdEmAH1D+cmFN7N+qaw4jw0GGoeDfw8O5ZxDJyp45FhTJ9M2juUr2P2rbyTBYVLU0t5njwJNYwKNXRu5pjEZgDuhhrM0hTJhiL5jFauLwFZ6XnghB7BfMTFscgigjnug3NPmhgvAXUOMnMyx+/qWobNrDcAfS3Ep09uO7Iv9LRdT7375ao5PVGCABZSzJ6iot6PcCJ3JCpsvyFTMwHCvqbpcp39hnjtxPtAaPhG0bdBzvWh4ZgUl5viqE5yLybw/7op5KxOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yVIBdSsX7Z7csJ+Rf5IwI5a2FJ5fKi+OEdibwgMdCfM=;
 b=OoXNqogtRA6SAFC08UZt0zPIwEtd1yr7bukMMnMWFvgEjkuN3Tr4qO6S6bF79D10IkoMCBPOBPl/pBv/2+ynN8DNPeFVtIF13UuE1s9j0PCPWJjpN8uJIkncNAU9RV1/M+mAv3bdKzyI3o5PlPmqvxQSLHL5QYc5xA3321rQDpZ7wRs7nvrntdCEPMah6MDCVZvw3EWwFUGwM02FCQ3S3V8zPmCYG0H1kvG1iigZE0baGJEXUDmY79vW1/5/XOJFOGznL+9uGJ0c8ikh2FCjdBCV4CA9vIby2Pbpap2B4E9hrpAZdoejSCqiklYOu0+qZ3izbw62CI+PHKzOw42uOw==
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=yVIBdSsX7Z7csJ+Rf5IwI5a2FJ5fKi+OEdibwgMdCfM=;
 b=D11zEv76izhc7HKdhVybQmuMO0RwbmJvILT6s8Cekx+FNl9S3gdPw/mpwA97jAQBEpljGpZb9ee2EsCx8Zag/5L48VvsJRIJtB8jWFefOIRBBJ0zN0dnLH5akKXG82bg58zua++NZGeXZiAG/NxQ9tt5SkWVFlqKy8w/IdVepiw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Thu, 23 Mar 2023 21:34:40 +0800
From: Huang Rui <ray.huang@amd.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZBxVcBG5yD74Pa3a@amd.com>
References: <ZBmDl8XjIos57EIy@amd.com>
 <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
 <ZBmZxnyZWrni57Ry@amd.com>
 <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com>
 <ZBmrI3wrrwsK5Q+0@amd.com>
 <ZBquOn8x7IyI33Pj@amd.com>
 <ZBrLsRebAYaspHrK@Air-de-Roger>
 <ZBr1k/B/ve8NNqaJ@amd.com>
 <85aa668d-9614-a80d-8f44-174ecbdcf1f7@suse.com>
 <ZBwtaceTNvCYksmR@Air-de-Roger>
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZBwtaceTNvCYksmR@Air-de-Roger>
X-ClientProxiedBy: SI2P153CA0001.APCP153.PROD.OUTLOOK.COM (2603:1096:4:140::7)
 To DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|DM4PR12MB6062:EE_
X-MS-Office365-Filtering-Correlation-Id: 7c6aa50f-b3ca-417b-2c2a-08db2ba36aed
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xg4CdKl6yv/C285ofAuF8QAAbkaYwvkMUPlgAypfQ5OP8gbsdL8UK7SbK+HQtH/wjUQz49Zkaes8dRvJgoMIJwjCNLG52w8jUfJR706vqv6+RP8+TYzbwdQGaAr+n6neapN/Gw8fBA6cMQSdFAh3EMDDwRuZDDFGkMCslk1x8uAjk5FB5/xWsKD5Wj5LMRUkfcS9DeJk/XoPgAvlowlT7VyLYjlDx6tcFdaTUJMW394nX/5nd41svpMjgPkjbWzk/82gigGDw3kfwbqUAVBtXstL7/mKqFln/uHW4ZMfPMjcUgO7fUcd0BntH7lNujA/I4dlyEeRwwnM5uBKNlhq8l03C8/66UInYUjM4u568d+NQ21jacYfIwcluJVgBI45JOdRzcXKcyLCIoKriMgWKrNu/YAhE+y0tke0nqQIZxJWTOTYDXFOh9bZcA/lGTFWTI6bqFyGy621JErwc6SORbufKFuEE+BymRpPp/UY2j+hYvNvLl3OC8udIKqlIDrLkKK7I1dOzFK4me8zUYrt6XIzBDdv0LkpxVLd1zlk0rHrN1xlO3PNi1KMC7Wo2I3c3X+RZJeWk4SQgTH2OPkRBbofkC2uOyB3iNCsu261ra8fGU1Kb9dxlzTBwEDNRKHnEoAD5CVqomSdIAR1pb6j0w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(136003)(396003)(346002)(366004)(376002)(451199018)(6916009)(4326008)(8676002)(66556008)(66946007)(66476007)(316002)(54906003)(5660300002)(41300700001)(8936002)(53546011)(26005)(6512007)(6506007)(6666004)(186003)(2616005)(83380400001)(478600001)(6486002)(86362001)(36756003)(38100700002)(2906002)(66899018);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?iso-8859-1?Q?Xau+HbB7j8nH0L40oYrJtVdGlUpR0lrpypXO/R26EzPLiyCLkro8rUtWnD?=
 =?iso-8859-1?Q?vybi5JVHVpkFlTixzfYZr6EQKOInG+Tm7DZUIsJ5SDf8APM5AIBBu/Z+oq?=
 =?iso-8859-1?Q?4K69TOMaQb3cqEb3KH+SxUmQO+zjYprMVI3/2RuwTslQkK2T0SwAZxG/mD?=
 =?iso-8859-1?Q?DkmlfkaTPxdPWZ3war6ya3p2SNl+x7RZsV1Ii3dxJKdrDEvADnxVuAWoPk?=
 =?iso-8859-1?Q?JldG0noDqOA9NBhQ0uBtysnslNc3+GmkjUDc9Awhlrt50AY6QOOaaMu/uK?=
 =?iso-8859-1?Q?PmfjN4n78i8b1Lx3dTwu96JFMQrxSa8NdByIh0ROx/QiID1gb3GkJn2KFc?=
 =?iso-8859-1?Q?VykQdcfbylJiD7h85gPgyQk5iXXn71CQT1NWNHOFR+PqTjgcnM3JcEpWPJ?=
 =?iso-8859-1?Q?NbQ0tmmxHE+dNH/W95yX8OH8+xF15KUM5UP6j0ot6MRVLFvy4Sa6KgO7u7?=
 =?iso-8859-1?Q?QlkY4bp2o5LwpRJOtMXCG0hSSJDuC4rTkht2nXlAhEVCgDMarqOLhofAY/?=
 =?iso-8859-1?Q?uVbBGyDnjP6uYjFnkB6u2rnpTw6VHb49yuI8umPkhtAO1ibmf7s9GfDzbW?=
 =?iso-8859-1?Q?b7OHY18xsq3p/K4xy2HTDcLEY6BDL3LNMhz9IP2Q9/OweRlRJI6PW7GJyt?=
 =?iso-8859-1?Q?XYL4SN9fiSKOWaztWG9f4yATSmR9APAdid59XPT6wOrBotD3nwZtLn2oLE?=
 =?iso-8859-1?Q?VQin4OISPXF2BwwHhYsTcdoEIBiJkpOl/5cb1Rpxaj0p8qRkfxR5DEap3c?=
 =?iso-8859-1?Q?lS/pzIlWbcpxofeNt+dLiQhzif/hKNwo7qFH7iex4L9rvJMqOlJ6NFypDX?=
 =?iso-8859-1?Q?sKA28EY4BCym6zSi+9JraJrLghGfeycn0lXZiPcg3tk0CoU4l8LW3Hq2K/?=
 =?iso-8859-1?Q?Sbs7316BRqo361EzfWQk0vEOT3P0LqoDGOcDyyIgozPAGys6ag8+ccrgK+?=
 =?iso-8859-1?Q?Jri/yboDlTpPT6O5sTxTP5H3J2aHHsq0/Uups+1ngZG5TWBCIcXww2LNhI?=
 =?iso-8859-1?Q?pHJ0sLmY2p0l4FaEabKs7u+FcAvFyNM9qdFeYgnif0kbL48aZ0gGdWxtSY?=
 =?iso-8859-1?Q?yFhGzIWRqwbZAIsD5t5Pu+lwG+B+c0LrhNNQmvePjc8e6S4a8qTjhA6DjY?=
 =?iso-8859-1?Q?IJJhrNPhLWAQ397tiZ4zuqzSQqRBe/mE+xxizCtiHWqPmaVXqqa84WDm/I?=
 =?iso-8859-1?Q?zQQbNfO7QMQMuZhg5AyQN2VJO7YoWyMidimufW3eCxzXYa83DGOg/nHJbo?=
 =?iso-8859-1?Q?MFkfTC3NTXjxDUcwHeWzCrV9XqSpJ+X95IdAFotiBkQlht3cy27kNj5Jlr?=
 =?iso-8859-1?Q?7eCluSD74QiGZPwOb7GiIAsa/+VFiL5g0hmJw6Vt/dH3Vvv74VAlKqp8yr?=
 =?iso-8859-1?Q?N0jdZ0uICJqVi/9WS7yG3RHZBiiC7kB7NB8nHDvW6XGKWR/o2e4ekSmEyd?=
 =?iso-8859-1?Q?XYMGZrNqgsXqlNdyanI6rCWu+DT5SyxVRQKZqRJlN04Gfz/PdDPKqpUDw8?=
 =?iso-8859-1?Q?V9fjYSrx8EdwL68Rhi07T7J4piiY0UV8neuojtwMCR1kivwM9hYYj1flwh?=
 =?iso-8859-1?Q?hIBtEkvg0zvdXJOY3dYRPcvYlfzjM0osicwu5LCV0DbcignZyMx2YsPE2s?=
 =?iso-8859-1?Q?XJrdN4FQMOPqaf8Uh0AeQgm5ruTIlHQpZ1?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c6aa50f-b3ca-417b-2c2a-08db2ba36aed
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 13:35:07.9930
 (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: DCsOZ63FCc6ulSAbRl87/XBP2g6qkYUXquUItrLcR5Zezp3oRjaztgDtWeMoES10f9AIskc6FWmvKKH9cCHwlA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6062

On Thu, Mar 23, 2023 at 06:43:53PM +0800, Roger Pau Monn wrote:
> On Wed, Mar 22, 2023 at 01:48:30PM +0100, Jan Beulich wrote:
> > On 22.03.2023 13:33, Huang Rui wrote:
> > > I traced that while we do pci-assignable-add, we will follow below trace to
> > > bind the passthrough device.
> > > 
> > > pciassignable_add()->libxl_device_pci_assignable_add()->libxl__device_pci_assignable_add()->pciback_dev_assign()
> > > 
> > > Then kernel xen-pciback driver want to add virtual configuration spaces. In
> > > this phase, the bar_write() in xen hypervisor will be called. I still need
> > > a bit more time to figure the exact reason. May I know where the
> > > xen-pciback driver would trigger a hvm_io_intercept to xen hypervisor?
> > 
> > Any config space access would. And I might guess ...
> > 
> > > [  309.719049] xen_pciback: wants to seize 0000:03:00.0
> > > [  462.911251] pciback 0000:03:00.0: xen_pciback: probing...
> > > [  462.911256] pciback 0000:03:00.0: xen_pciback: seizing device
> > > [  462.911257] pciback 0000:03:00.0: xen_pciback: pcistub_device_alloc
> > > [  462.911261] pciback 0000:03:00.0: xen_pciback: initializing...
> > > [  462.911263] pciback 0000:03:00.0: xen_pciback: initializing config
> > > [  462.911265] pciback 0000:03:00.0: xen-pciback: initializing virtual configuration space
> > > [  462.911268] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x00
> > > [  462.911271] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x02
> > > [  462.911284] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x04
> > > [  462.911286] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3c
> > > [  462.911289] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3d
> > > [  462.911291] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0c
> > > [  462.911294] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0d
> > > [  462.911296] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0f
> > > [  462.911301] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x10
> > > [  462.911306] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x14
> > > [  462.911309] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x18
> > > [  462.911313] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x1c
> > > [  462.911317] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x20
> > > [  462.911321] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x24
> > > [  462.911325] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x30
> > > [  462.911358] pciback 0000:03:00.0: Found capability 0x1 at 0x50
> > > [  462.911361] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x50
> > > [  462.911363] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x52
> > > [  462.911368] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x54
> > > [  462.911371] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x56
> > > [  462.911373] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x57
> > > [  462.911386] pciback 0000:03:00.0: Found capability 0x5 at 0xa0
> > > [  462.911388] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa0
> > > [  462.911391] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa2
> > > [  462.911405] pciback 0000:03:00.0: xen_pciback: enabling device
> > > [  462.911412] pciback 0000:03:00.0: enabling device (0006 -> 0007)
> > > [  462.911658] Already setup the GSI :28
> > > [  462.911668] Already map the GSI :28 and IRQ: 115
> > > [  462.911684] pciback 0000:03:00.0: xen_pciback: save state of device
> > > [  462.912154] pciback 0000:03:00.0: xen_pciback: resetting (FLR, D3, etc) the device
> > > [  463.954998] pciback 0000:03:00.0: xen_pciback: reset device
> > 
> > ... it is actually the reset here, saving and then restoring config space.
> > If e.g. that restore was done "blindly" (i.e. simply writing fields low to
> > high), then memory decode would be re-enabled before the BARs are written.
> 
> The problem is also 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
> with the real device state.
> 
> I didn't hit this on my test because the device I was using had no
> reset support.
> 
> I don't think it's feasible for Xen to detect all the possible reset
> methods dom0 might use, as some of those are device specific for
> example.

OK.

> 
> We would have to introduce a new hypercall that clears all vPCI device
> state, PHYSDEVOP_pci_device_reset for example.  This will involve
> adding proper cleanup functions, as the current code in
> vpci_remove_device() only deals with allocated memory (because so far
> devices where not deassigned) but we now also need to make sure
> MSI(-X) interrupts are torn down and freed, and will also require
> removing any mappings of BARs into the dom0 physmap.
> 

Thanks for the suggestion. Let me make the new PHYSDEVOP_pci_device_reset
in the next version instead of current workaround.

The MSI(-X) interrupts doesn't work in our platform, I don't figure the
root cause yet. Could you please elaborate where we should require removing
any mappings of BARs into the dom0 physmap here?

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 13:42:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 13:42:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513884.795571 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLDH-0006sQ-1x; Thu, 23 Mar 2023 13:42:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513884.795571; Thu, 23 Mar 2023 13: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 1pfLDG-0006sJ-VI; Thu, 23 Mar 2023 13:42:42 +0000
Received: by outflank-mailman (input) for mailman id 513884;
 Thu, 23 Mar 2023 13:42: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfLDF-0006sD-1A
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 13:42:41 +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 8fa4c4c3-c980-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 14:42:33 +0100 (CET)
Received: from mail-mw2nam10lp2105.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.105])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 09:42:34 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH0PR03MB6382.namprd03.prod.outlook.com (2603:10b6:510:ab::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar
 2023 13:42:32 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 13:42: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: 8fa4c4c3-c980-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679578958;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=dLQMiU88LciF3VHmTksj1ago2nM/HEYfeeqwYVcW4ng=;
  b=egLVglY5wZTHzIKeg9x+7RL+jB+0FPAZMfOI0xwLKr31dz7nDn83+gSa
   b4UMhVzZpj5wmr7DuxQiQ2ToPTGCt/ekUGWY4h7hGrI2FJD27gmjG1fro
   z1om9z8bl1pG2C8u+oyVS0Nt/Firx5ReAlf9HgQz1fQZbBc4hCS4xdRit
   8=;
X-IronPort-RemoteIP: 104.47.55.105
X-IronPort-MID: 101388635
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:zzRD86IbYsE5L1cVFE+R4ZQlxSXFcZb7ZxGr2PjKsXjdYENS0jABy
 jcbX22BbPncMWTyKd5+bt7ioUMHsZSHxtBlHgNlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZlPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c52Jjtwr
 Pwldwsfaw/f2Luy3YvhUcpV05FLwMnDZOvzu1lG5BSAVbMDfsqGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dqpTGLkWSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHuiA9JCSublnhJsqH2fmHMRLQxHb2OUsabpjWmSQ/lRJ
 kNBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9Vna15rqS6zSoNkA9MW4HTT8JS00C+daLnW0ophfGT9ImFbHviNTwQGn02
 2rT9HV4gKgPh8kW0an95UrAnz+nupnOSEgy+xnTWWWmqAh+YeZJerCV1LQS1t4YRK7xc7VLl
 CFsdxS2hAzWMaywqQ==
IronPort-HdrOrdr: A9a23:IjawXazxpjhoqHSAC5zzKrPxMegkLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9wYh4dcB67SdC9qADnhPlICO4qTMqftWjdyRGVxeRZgbcKrAeQeBEWmtQtsJ
 uINpIOc+EYbmIK8/oSgjPZLz9I+rDunsGVbKXlvg9QpGlRGt5dBmxCe2Km+yNNNW977NYCZf
 ihDp0tnUvdRZ1bVLXyOpFDNNKz1eHjpdbDW1orFhQn4A6BgXeB76P7KQGR2lMzQi5C2rAr9E
 nCikjc6r+4u/+25xfA3yuLhq4m1OfJ+59mPoihm8IVIjLjhkKBY5lgYaSLuHQYsfyi81Ejlf
 jLulMFM95o433cU2mpqV/G2hXm0hwp93j+oGXozEfLkIjcfnYXGsBBjYVWfl/w7Fchhsh11O
 Zu03iCv5RaIBvclGCljuK4HS1Cpw6Rmz4PgOQTh3tQXc83b6JQl5UW+AdwHI0bFCz3xYg7GK
 1FDd3a5txRbVSGBkqp9VVH8ZiJZDAeDx2GSk8Ntoi81CVXpmlwyw8iyMkWjh47heUAYqgBw9
 6BHrVjlblIQMNTR7l6Hv09Tcy+DXGIaQ7QMUqJSG6XVJ0vCjbokdra8b817OaldNgj150pgq
 nMV1teqCobZ1/uM8uTx5dGmyq9AVlVZQ6diP222qIJ/4EVHNHQQGm+oREV4oWdSswkc47ms6
 3ZAuMQPxfhRVGebbqhkTeOHaW6EkNuI/H9iuxLKm5mnfi7WrECltarBso7d4CdWAoMayfYPk
 YpegTVCYFp0n2LM0WI9SQ5HUmdNXDCwQ==
X-IronPort-AV: E=Sophos;i="5.98,285,1673931600"; 
   d="scan'208";a="101388635"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CqgiPhoB6uJoDkVWcXupiVDiPBajnkIqNWoslDwqCTxYkIatniQIIZFXTk4jsIU2GqyS1ewM7m/HUyTuq9r5W0/VB1Vt83TtuXXGBAy18Qoy7REmOsVD8dcZqTmLcekESJe7Np9ltLKZTvMVWtKr5XkZ0/yiVR+ZJ1Mxzt9ZlnS9VOfwSoNXLaezTVpYKXOQB+HJvplh52dcv9B/cHjvkqbv8tHO6ca/zyx2hlufNnjeK9jIFy7z3mofwfQjAzZGaA1ZC2khMaqhmNnJYwWpaXAzrA2VBPTMp0cozCZZdqULtOlQf1b4MNFEah3kMcssNiTD+ym9GLZFs9/dc9bBAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dLQMiU88LciF3VHmTksj1ago2nM/HEYfeeqwYVcW4ng=;
 b=NlcGG2AGha0TTKaK1IT0TdycVhOQTH55HGPsLFAwOpfmYRj9lv64XHJvH1rdwK97zEPPPOgPwwEuR3ld5KscQnP4VIc6nWMN4NjJQaieYr9NoTBx8BXY9tEd1yYws++h8LXT0g+BjkKkxDMBLt0j4y5nCcDb7N13aTPc00dTfXgvEnXrMZns7Z292cKQOuoUNwqnIMuhU8QRD//getbHxhdl3EZw56ASbkk5HMoWu4dhBSUKsr0IEcnzIGXT9eus5nTyfAlbbTwCfXX5udKEBbW8NEnpc8GWQ/g7ma6Kxv4jVJU00OPSUrl9quK483xkMZdDInrD89W0JzZSfEVtBQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dLQMiU88LciF3VHmTksj1ago2nM/HEYfeeqwYVcW4ng=;
 b=Xm5Tx3dzmupbFEG7C7mOBhg2Zvcy+7plrN0WTXZvdFfLzh4LVNKW+mzb9D4b+gowXtVhZtyOato7XH4R7liELb18dh5o6xJNVm+2muwDP7LHK+IkgB8JXGETPdAxAHpRmYHQZTMtmAczp8aXi5ut2fQdtFpbfbl7wc2vOgJfVBA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <909fd789-edfe-8146-5cd0-1d79d362d440@citrix.com>
Date: Thu, 23 Mar 2023 13:42:26 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 09/16] x86/shadow: OOS mode is HVM-only
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <49ba3172-3b8a-4c0e-5413-bf58b66c82b1@suse.com>
In-Reply-To: <49ba3172-3b8a-4c0e-5413-bf58b66c82b1@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P123CA0095.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:139::10) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH0PR03MB6382:EE_
X-MS-Office365-Filtering-Correlation-Id: 47aa3ea7-7ac4-4e09-029e-08db2ba473b0
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	70BeMaROjBq3/VQHf1SBYUAQ+X4Ma9cRncfutn0Sn/6Hd1VP4aBT+WWfSNCX0DUs7hYkf6yzwDtjlXoU66qGEFFv8JmBJxjXpcyW0L6V3XlKnVUZwj8v4CUs7/yUauvu890kOvasXK2LvbQVY9K65RJPedmS+dpJQ+xgZZiv5lLZ5CmR0reV7TJGmNSsAQRZdqTR02QjU1IWkVL5Q67dpL9Jl/gxpvLgQ8HrIoZOnwZSDQHD2+pwk7aT83w7LqPUMdQqzHbpDmVi5N3XuGiKu9ZfMECfGVvHcium5X6Ax3k8RB0sa8GrGdc9knPb50N6SOTI52G2cDiBNhS7rKf3UWQshyHtbZVC40RmOMqfEX7t6IXbKUj416ElmQPBBGA8r4p3tYCuNTqfrHSwmUZi0ObJTK1GoFOTSFW3XaimTQKJgbPY8/CyTt16Tn9+W2L6v7dD/m3uhQDbV398RqS/z54GTgLe79Neqbc9vyDWWPb4lvZEEh2R0tC5KL62ZaTOZGLohs7gyQgZ6FrKQTwRd+zysWo5GP6JpK3Qi8IKxb2EOov9xMxldwP0Guz4nMNAEQrxr1G+hPUKYlSzCkiYyWeSVhNZcGg9fAJggU+n+QPB6QOoNibGhx6qY+axt+FvrvIvKAswaghD/O5j6UDLOIpc8PHoQzyjV42qbE804CtghrMlLx8EmmMVomAyHeLCEjUjABr0i5obaYi2y+zXLe6OshujvLGRiK1+smgNn50=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(396003)(346002)(366004)(39860400002)(376002)(451199018)(4326008)(8676002)(66556008)(66946007)(66476007)(4744005)(316002)(110136005)(54906003)(5660300002)(82960400001)(41300700001)(8936002)(53546011)(26005)(6512007)(6506007)(6666004)(186003)(2616005)(478600001)(6486002)(86362001)(31696002)(36756003)(38100700002)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SFgwaUZBT3pZM1ZHdlJ1TXArY1R5YUFRL21tNzBiTjM2bFdrazNSWWZKejBp?=
 =?utf-8?B?Zk8za1RKVmxSWlZROUkwR1ZZTGI4NkJDUG5ERHNyNGdLQTYxMnFSNExjLzVj?=
 =?utf-8?B?RFUvOTdzakQxMXYwWTdtQ3hEVjkzZlBpVTFsdGlsNXU1UktQYnVnYytLR3NT?=
 =?utf-8?B?Zk93Tk9FVmgwb3BURStFT3BFSTNPZEhoVVNlVHArTEJJY2FoVVh1ZGVGc0Z2?=
 =?utf-8?B?UUlWNXNHZ2NGV2paaXRURzFjeHhuZjdGRW5saGNXakVHdFFwZzZXa3A2Vm1P?=
 =?utf-8?B?K1hjdHNVWW01cUlqNHRBblZyZXY2aXpVNHQweFExTWdhWGFlM1UwM3V6VFZ6?=
 =?utf-8?B?YU1IekVUOGhwckxnTDZSSGdBclp1bXFnMVpXT3M4cHErb01OM2U4TGRaZFZR?=
 =?utf-8?B?a0I4eERYNjB2YWIveGlUTUdGMi9OYVZNQXdPTllURm15QTJMTCttYWlXcHFR?=
 =?utf-8?B?bXovbkxIVitBcHdxVWxSMm1heXgrS1ZnTWx0a091eEFvVGRXQTFZbTc3ZGZX?=
 =?utf-8?B?UHpJMmFnMEYxcy9vR3lEaW9zQ09EWUVmMXU5TzRsc2VkMEU1eE4xU2dMNDA2?=
 =?utf-8?B?dWtGZXdTWTMvMDB5dVJZdlFJM2I5NW44em1IMVJqcDZIZ013OTNkZ3V0QzZQ?=
 =?utf-8?B?ZEtnLzgrL0ExTmNhZVkwTzhLN01XRjdUcFY0Qjk2S0FFS21GM1luM2RNVmxX?=
 =?utf-8?B?VVBEZ3YyUUk1YllwUUtEVkhHUFdIaWlkVzJOMjFSR3VXYkNVUXJ5WG13a2Vi?=
 =?utf-8?B?WDZkNE5ISE9XaVVvdHRTVC92UXViV3QwMi9USVhIek9KZXdRSlQ4SU5RTjlV?=
 =?utf-8?B?TDBwVjdkdUhiYnllQ3Arb1ZZYnVxRi9CMm1mN3VZTEtHTWZ0bjBGQVB0dUVl?=
 =?utf-8?B?Y29tRjNjZUdFWktVcEQwNEoyV3dtU2cxbmhOWnNKVVB6czJuOFBOejZueXRR?=
 =?utf-8?B?QUdXVG53ZFBsdEw2cDhaN1d3OFVvV3I0UU5SSFNycXZIaXdQeGNLaXNwTmJY?=
 =?utf-8?B?U0ZITlRaWU9iWGNlNVRsKzdlcW9QdlFWbDVDS3lSUEVOalRDaXNjeFhZN3Vj?=
 =?utf-8?B?YXVyTHZSYkNFdTJGRng1bHdURDN4U0ZRQVhGamJFdG0xN2hLcm5OQ20yenFU?=
 =?utf-8?B?WmFOMDFnVkZHc3VOdWdlVCttZFZZeXNHVW1uR0tNZWhTUldJTnp0bzZpWGRR?=
 =?utf-8?B?ZFV1cG1pSHlLaG1pTjVjaUk2Z2JJc2xiOCtlbTVpN2Jsa2tvRkhZQ29leStS?=
 =?utf-8?B?aHNZT00yamNhdnN4YWNUUXh5aHlaa283RkRCQWRuSGlzL0hpMkVFTHYwUERQ?=
 =?utf-8?B?MTBOUXRuVnpFYURWVSs3MGxyc29nUGphWXFKRlNQSW9aVW1qaCs2clJMYlBT?=
 =?utf-8?B?NHRCYlY3OS9TU0QvUVd6M0dtKzdQQ05QQTB3Zjg2K052Yk9EZWNqQ3Z0SWow?=
 =?utf-8?B?OFlOUWpsQ1hSN2c5ZitXdWVqU2RiM1B6clpCT0xKWnZxaHdpa3JGcWFETDhv?=
 =?utf-8?B?MFZERFc4eDgrcHhLSW1BN0dpU3hKTlljQjZHWHAxNlpUS3FYdXF5NDRkQWZ2?=
 =?utf-8?B?YytFMzZzaGpSVEFSa0d0WWt0OUJkcHhDeGpPUFlTbkRtRlM1MUVhQlNKS0dj?=
 =?utf-8?B?REVJd1VaSWxSSkh6MnprUEQvWDQxZ21HeG1BVXRLTkRwbm9oRG5WMWFiRGUv?=
 =?utf-8?B?Mmh5NXJHL3JwUTlQNXhqUGZOS1JOeWVZei9aaFNYRFczd01BNm5WMlcraEZI?=
 =?utf-8?B?aFphVTI3c1RJWXNZeUxuNzUrTC9iekVTNTUyVTUyRHlGUXNmWENDMlpMSnZS?=
 =?utf-8?B?V0p0MVMxVWJYTHU3Q2NWNzdCQWYxbVp4YW9OWk04OUpDNnJuTHJxWDJkcnM3?=
 =?utf-8?B?SDhFMWZIM0I1azdaOEs4WThXdUxjYitibzZxcWN0K0t2QkJ3OTBNd2FUWjVu?=
 =?utf-8?B?aHlNRmpQR08xZ2V0cExXYWRqYzVwNjd0V3kzeXk1QlFGSWVvV0RZeml2NE92?=
 =?utf-8?B?bG9UZmVGSEtPUzUxVzU5cjNRbkJRbGxuT0lsTnhmWWhsaTIvR2dOcjlsdlRN?=
 =?utf-8?B?RHI4RllKYjBjY0xjYmR1OXJtaW5RcUVlK1E5d2MwN0xNRXVIaEtSempzMVdj?=
 =?utf-8?B?TkdneFc1elE5eThpQUJHOXkxQklXcVNINzE0QmVhRitITlE2OGNSOE1hRzVj?=
 =?utf-8?B?Q2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	FdtnNdWg6zezJOeThuKwYahjiLfw4DWfMv5UC2MQjpW69N6DNeNzPEXL/fTbUGS2l0K5cIeTnPaYzB/gvuVdSY0yLv40ea4wRuAPU4fPtUr+7iPMdGe1XrRSSsKlFZqTht2wgPR341ZGEhVXC3GcdPaVUPIi6oA68jjUS+u7i902+l61IYN4nDXD11fXCqsts7qHP+PdlnRh9wT5Qv2jWxfY1b49RIvhCyaOhg+zyOr1q0/VB92qPj5photRKSE6VXXLw0XMYsFmj554ugW/ttNQJLGHWF0/rRFRQH6zWel/D6IiHos73soY76jyvhNYCoG35bX1nzaC3J52tdjHFXZFxn7N0zv4SSirebrn65uLsrrpnetuCaSaOwlCKAE1zNrV8sX7DB/cFsrstOjTeLK9wWd2kzHhf3E360HdlzD/e/YtFtKWKxQBLfKcOpCCBm7fQXkjx1UNGl6jcMuPgV9tjpuQe1MW3CyK9BiUXPkvjQSUF38Ipai5DgOJoF9cNjYcWw+kmqauJYTU8x3Y0Aeoa/Cj97NquCdbluJ4cDNYwGdXKi5ExQUmTn896KA1g7ZKEfTjL+J8LmGXJ6LzkDcnAsIxX1BgzHj++ZT2x4q6ZVhiIruZ7qSDgljsRvEQ9XvQWmGHYj0roYVShuuV4Vt/fZsMWnQPHcA+JkS5kkKdP9lv8TCNWL8sCkisP0zqLO2FqwGuxHtTD5e0d8NvASDjBwBYd3s8ms04FuhOHugJ0E1yMJeED4sbBjxUWqXXPjyuuKTXMtUBroDtT2ILEVq55A3byy0MnmhHlea5TfS+cgdGYxggnnwaXujQZc8p
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 47aa3ea7-7ac4-4e09-029e-08db2ba473b0
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 13:42:32.1883
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +1XX0xHduGmQ4eJVDIwlhSgm3SWtfqLWFJvMpFXmf9Lb7nRd+/noSn9UQ8FZsACDGWVMq21pV+pZHQx667FUcqPiardwMZ0dvOxF3mWHdpY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6382

On 22/03/2023 9:34 am, Jan Beulich wrote:
> XEN_DOMCTL_CDF_oos_off is forced set for PV domains, so the logic can't
> ever be engaged for them. Conditionalize respective fields and remove
> the respective bit from SHADOW_OPTIMIZATIONS when !HVM. As a result the
> SH_type_oos_snapshot constant can disappear altogether in that case, and
> a couple of #ifdef-s can also be dropped/combined.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 13:57:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 13:57:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513888.795590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLRE-0000Vg-HD; Thu, 23 Mar 2023 13:57:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513888.795590; Thu, 23 Mar 2023 13: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 1pfLRE-0000VZ-EV; Thu, 23 Mar 2023 13:57:08 +0000
Received: by outflank-mailman (input) for mailman id 513888;
 Thu, 23 Mar 2023 13: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=7ZVY=7P=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pfLRD-0000GC-5U
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 13:57:07 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20619.outbound.protection.outlook.com
 [2a01:111:f400:7e89::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 938dcb77-c982-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 14:56:59 +0100 (CET)
Received: from BN8PR15CA0072.namprd15.prod.outlook.com (2603:10b6:408:80::49)
 by PH0PR12MB8049.namprd12.prod.outlook.com (2603:10b6:510:28f::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar
 2023 13:57:00 +0000
Received: from BL02EPF0000EE3D.namprd05.prod.outlook.com
 (2603:10b6:408:80:cafe::db) by BN8PR15CA0072.outlook.office365.com
 (2603:10b6:408:80::49) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38 via Frontend
 Transport; Thu, 23 Mar 2023 13:57:00 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF0000EE3D.mail.protection.outlook.com (10.167.241.134) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.30 via Frontend Transport; Thu, 23 Mar 2023 13:57:00 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 23 Mar
 2023 08:56:59 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 23 Mar
 2023 08:56:46 -0500
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.2375.34
 via Frontend Transport; Thu, 23 Mar 2023 08:56: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: 938dcb77-c982-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hXpOGdMrazuz1ETuqXe+hhMDpaK4iKvmBp1fglZgwV6ErdVxEr7NA2LXHbH2yY/xLAQUjqNTv4IWNMetHO7ktY1b6MHZjEMuUtIzONetqidmmuc0zf5w0q0V6xGh3GW2YJ7qvOUlaDfcqWzwBeVWiqvuC9OA4DCq/BtQj5+YrBqxNc/SKb+DIGadgrDvdOOgL1sROofBkpsI/JprA1CFU0nkiVkCaN40iZsiXvosH4ykMsqTDhW4X+vldC5/U2Yq1wW8iX0osTOZ8yF6BWk1Dor2iU+zeshEYmPC3NyYHihNd+lfixET7Wz4Iuv3i0To/zgG+LFV3Rh6PDxvjQbzGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ToounznfMNd5yVA96KMkq0Sokt6TSD7jFIpRIWRezZI=;
 b=OT9509P6Q4cTgZ9XqiKm8R8mt7vFyeBB/fq4sdqXaHvMJBqr2eK9OM8FQBBygqPy51x/E71Z+9fQbx5lL98YPv89uGpm77aFKt7Jo3U+SbsdjdbSK4n+JA17W4d2I9U+DpHYnJhBNAnuKRnjjY3IvMKzEkURoju0bAYj+rfhl+9p1tVRSjR2GwsCfAVr71oFQ1kOcsJTdh5kwcYYRZDio95Y/R/XiFHnQRbhA+ozb8OAuMhK53opVnYcPY18pvNOW2/TTzLbxO5ogi0xSOCTq/ShjKoH/nFX8QQkYMssirou8tpEdzW/9FRwTBLSsyoBqFIickz3rPI66wGlXd95Ww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ToounznfMNd5yVA96KMkq0Sokt6TSD7jFIpRIWRezZI=;
 b=CBpRrSIb16+HdJLRKBSCkvr0tHPm0LK73fhtrb+ujLWQtXOkbGuuebACmXbCULT646GIt23Gp2Z2rWvdSYIpmco03N3fFLlKCP2toUWGOYVnzwrNCwxezSuKuk/oYqlikSzmxbLkJD7oyEjBSZrsAoJa1kBH2kJI4ZvyvwIOi14=
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 v2 2/2] xen/arm: vpl011: Fix domain_vpl011_init error path
Date: Thu, 23 Mar 2023 14:56:36 +0100
Message-ID: <20230323135636.25318-3-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230323135636.25318-1-michal.orzel@amd.com>
References: <20230323135636.25318-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: BL02EPF0000EE3D:EE_|PH0PR12MB8049:EE_
X-MS-Office365-Filtering-Correlation-Id: 8452632d-e581-49d8-55d7-08db2ba67951
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZYbE9kVFxm6s9horrTYr+uMuGVJSt4ZOoHtpkN5gckCqe8VkH48wdqOOj99qByJUcz55RLnkRta1WaqUL6A7gQj6ci8hSCQHJqgTqj3CdJSbTa9Q7T3zuFHDM26NNCnNdyEKmfG9Co67Wbw9Hsq7JkgsJDipsmRfdsDkG1c44Pl9e39EvSfxw7VJeomyogLGxmmU/+ajUMs8McQ7Z8KFp9v2bBd1us3Hh5/jL79IHEla57DN3ap5qyKTU15Rb2/VE570PMrLPB1fc2fCD9ZyDyKBEmEC8TqtJmrm5EK+OSf6sZtrsQ9VVL6RAOAcc7IE1mtvpGx20MWETyrmMHe2PtQDXLNG4vWW1qcyZDoBnOuptbpwedppGI/NnuWGYJmlVHOvZYnrWuAi8DOrShhwcp63t2ZBXMDheQWbN6cOuyBwSvtm8A0dzrqHJJoU1ZaWFww6655mCCXKHTeY/eJtMPqBIMvGt6vH2xOBmAWv75bDQ9GgR4pPgFY0fA31wARgDJYnLX69CjLMKQu3YNvMKYXNtRR5xIZs7TM2vpnTi/q7cdym0zCdEK8UIytmJO92joAYbfWlCM7RahR6yphqSVM2WGCzY4Pi1tZiMxbP6nqfG8pKWWq+INiHGhvmVpYx1ZwXQva6vK2T6jZobnvfTOCMPBn+7qFIgu9eFy+4oCEETYGpprdv1gnM9ullXcEuAtyRPDSE7ptwdiy/1/uMf9N7OZ7RrMjATAvPMBtPaic=
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:(13230025)(4636009)(396003)(136003)(346002)(376002)(39860400002)(451199018)(46966006)(40470700004)(36840700001)(41300700001)(5660300002)(6916009)(4326008)(8676002)(2906002)(40460700003)(44832011)(36860700001)(82740400003)(356005)(81166007)(86362001)(36756003)(26005)(6666004)(1076003)(478600001)(70586007)(70206006)(316002)(8936002)(40480700001)(82310400005)(83380400001)(47076005)(54906003)(426003)(336012)(2616005)(186003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 13:57:00.2527
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8452632d-e581-49d8-55d7-08db2ba67951
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:
	BL02EPF0000EE3D.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8049

When vgic_reserve_virq() fails and backend is in domain, we should also
free the allocated event channel.

When backend is in Xen and call to xzalloc() returns NULL, there is no
need to call xfree(). This should be done instead on an error path
from vgic_reserve_virq(). Moreover, we should be calling XFREE() to
prevent an extra free in domain_vpl011_deinit().

In order not to repeat the same steps twice, call domain_vpl011_deinit()
on an error path whenever there is more work to do than returning rc.
Since this function can now be called from different places and more
than once, add proper guards, use XFREE() instead of xfree() and move
vgic_free_virq() to it.

Take the opportunity to return -ENOMEM instead of -EINVAL when memory
allocation fails.

Fixes: 1ee1e4b0d1ff ("xen/arm: Allow vpl011 to be used by DomU")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in v2:
 - make use of domain_vpl011_deinit() to prevent code duplication
 - use XFREE() instead of xfree()
---
 xen/arch/arm/vpl011.c | 47 +++++++++++++++++++++++++++----------------
 1 file changed, 30 insertions(+), 17 deletions(-)

diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c
index 541ec962f189..2fa80bc15ac4 100644
--- a/xen/arch/arm/vpl011.c
+++ b/xen/arch/arm/vpl011.c
@@ -696,8 +696,8 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
         vpl011->backend.xen = xzalloc(struct vpl011_xen_backend);
         if ( vpl011->backend.xen == NULL )
         {
-            rc = -EINVAL;
-            goto out1;
+            rc = -ENOMEM;
+            goto out;
         }
     }
 
@@ -705,7 +705,7 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
     if ( !rc )
     {
         rc = -EINVAL;
-        goto out2;
+        goto out1;
     }
 
     vpl011->uartfr = TXFE | RXFE;
@@ -717,15 +717,8 @@ int domain_vpl011_init(struct domain *d, struct vpl011_init_info *info)
 
     return 0;
 
-out2:
-    vgic_free_virq(d, vpl011->virq);
-
 out1:
-    if ( vpl011->backend_in_domain )
-        destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
-                                vpl011->backend.dom.ring_page);
-    else
-        xfree(vpl011->backend.xen);
+    domain_vpl011_deinit(d);
 
 out:
     return rc;
@@ -735,17 +728,37 @@ void domain_vpl011_deinit(struct domain *d)
 {
     struct vpl011 *vpl011 = &d->arch.vpl011;
 
+    if ( vpl011->virq )
+    {
+        vgic_free_virq(d, vpl011->virq);
+
+        /*
+         * Set to invalid irq (we use SPI) to prevent extra free and to avoid
+         * freeing irq that could have already been reserved by someone else.
+         */
+        vpl011->virq = 0;
+    }
+
     if ( vpl011->backend_in_domain )
     {
-        if ( !vpl011->backend.dom.ring_buf )
-            return;
+        if ( vpl011->backend.dom.ring_buf )
+            destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
+                                    vpl011->backend.dom.ring_page);
+
+        if ( vpl011->evtchn )
+        {
+            free_xen_event_channel(d, vpl011->evtchn);
 
-        free_xen_event_channel(d, vpl011->evtchn);
-        destroy_ring_for_helper(&vpl011->backend.dom.ring_buf,
-                                vpl011->backend.dom.ring_page);
+            /*
+             * Set to invalid event channel port to prevent extra free and to
+             * avoid freeing port that could have already been allocated for
+             * other purposes.
+             */
+            vpl011->evtchn = 0;
+        }
     }
     else
-        xfree(vpl011->backend.xen);
+        XFREE(vpl011->backend.xen);
 }
 
 /*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 13:57:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 13:57:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513887.795582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLRD-0000GO-By; Thu, 23 Mar 2023 13:57:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513887.795582; Thu, 23 Mar 2023 13: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 1pfLRD-0000GD-6b; Thu, 23 Mar 2023 13:57:07 +0000
Received: by outflank-mailman (input) for mailman id 513887;
 Thu, 23 Mar 2023 13:57: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=7ZVY=7P=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pfLRC-0000G6-9h
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 13:57:06 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20608.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 964f1f0b-c982-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 14:57:04 +0100 (CET)
Received: from BN8PR15CA0046.namprd15.prod.outlook.com (2603:10b6:408:80::23)
 by CH0PR12MB5044.namprd12.prod.outlook.com (2603:10b6:610:e3::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 13:57:00 +0000
Received: from BL02EPF0000EE3D.namprd05.prod.outlook.com
 (2603:10b6:408:80:cafe::6f) by BN8PR15CA0046.outlook.office365.com
 (2603:10b6:408:80::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38 via Frontend
 Transport; Thu, 23 Mar 2023 13:56:59 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF0000EE3D.mail.protection.outlook.com (10.167.241.134) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.30 via Frontend Transport; Thu, 23 Mar 2023 13:56:59 +0000
Received: from SATLEXMB06.amd.com (10.181.40.147) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 23 Mar
 2023 08:56:59 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB06.amd.com
 (10.181.40.147) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 23 Mar
 2023 08:56:44 -0500
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.2375.34
 via Frontend Transport; Thu, 23 Mar 2023 08:56:43 -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: 964f1f0b-c982-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G8jcm2gwTREW6O8Y4u8x2sP6CLbUMYRWFr2q5z6RH1MGawSdRBkeceCZ+uCzvslcW5f2VIbkAG3L2sb/JRfdP5NXFDg09/jpDcNER4+BYQJNUE4OzsaMBOon9+VvO2CcW04CdLW0eWtuC3xmPLXlcncsnKNe5pHOExOLRqYFsEBkvTSMc653SCaCuvLhfL4MSArjTIfgm86mXshBWtNG7xVd2zpcY/5E9WEM1jPhJOYcFppZQmQbd5V2s9ht0EWEUXy6UBeUiEaMHsfw5dV1VXzojr+z9ml7rFyXVZLG3w+vJfF+pxBinwzXC6YCUq198+cr41m3Wx3wovM7rz1mXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7VBmivoISHzCX6WblJCHDCa7l2kjScABzT2Aj/qIsOE=;
 b=FdhqERuDpGnaVpS6y+uf72O+FblI3RXjWfinkATP0c+csONdK6I0Y+UQW0i+33j41Mqt0UXrE9JVnZHBmzTmqnfpAA51YavuJuxj8s6txC1C5uox8drb1owglyBuLdqDoVszkrG9fUr3OskO58Q87nbzRfGJvk3nV97WsjnDr1WHmyKCYQXsvVf0r1gN4tGMzvjKm8gauzIsq2NEZPz46/dfpejiWv8k8A/MWy/DMK+2kzLR9pikyKyIpowdsQ7Uc6V2z2gKrPb+RJ4ejA3rFHGLORpyf81Fnr4a9a4jZlVlx5tIFR+JayUabwxwvMZVBuOOfjBTAT3IiMNeDocrKw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7VBmivoISHzCX6WblJCHDCa7l2kjScABzT2Aj/qIsOE=;
 b=U+cc/CCZobZj/gOpZnx0jwerw+tUQyAwP7ORMvPp3hEydlnfomPPSrf3CiEC2rvbVZVWq/IQTisRIlWnqRxDe4LHpmWIPRFxRZ2g728pDJM9VnT+T6ItOapoc+5KGCSxRD9u/KBWrg9n1iXYBFASdVbszKu+pZrQbOMfSqLc2+Y=
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 1/2] xen/arm: domain_build: Check return code of domain_vpl011_init
Date: Thu, 23 Mar 2023 14:56:35 +0100
Message-ID: <20230323135636.25318-2-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230323135636.25318-1-michal.orzel@amd.com>
References: <20230323135636.25318-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: BL02EPF0000EE3D:EE_|CH0PR12MB5044:EE_
X-MS-Office365-Filtering-Correlation-Id: 9d2c88b3-245f-4bdd-a913-08db2ba678e3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	368L1CWlS/rdamMmZxOy4UV2R6Vukcc89ZnLTROKySNkgYd5cud91+MJiQ9tZwfFhMcDZL3lg180uCFhUGXsemJIyroTcd5tAc48uUVDtfElKvWq8k2bYQIpvdcTwW/Q4q3HYwUoHe1GsOt5t8HeEI0xTvqbcNyxwVKypJaqZ4X30peXOh21d1E4A/fIl/aWOIWJCkaDVqE01kYwS6Qdl4SGBTOtiZjrzvNf/HDFO6nxMstGc7Ma1WtpVxJraxmYtN/pRHTwuOK9X91XqnCwii0yqgTR7U3sRwupzJlttXoiDdv6ix9FTtD83WpVoSUK9cnHOY+WyvK4xi/9b+viWiptV0/Xhoypfntje8pHT59PRGhQN+lg1GnI1W/XH2/3Vq5rCCHGcAxMr+8CW4KygWHRSmYJ4vFCSBYNTAOq5wV/3zlr+Oj6gUFKVzeNvWzN6Z5fMYs+ZIUmdEq8ryp+zBIlh9OTEvD62A4dOIPogfApQmAAFmgQfM+Tre7oi+SpN5N8yeoKe6SKePsCI9tmPP7v42n4SbjiDv4+SVLFe1IJL81PDG336gVTSMqlYzkVjguirL9T/frNr0GVSEqKOyuX3vwVA/uWNBzVy1hkInNVLpvv2J7+RbFHLfMPNeomHtPbYafcLlYst25fIDvuTog5keJYC6dkyHJ1X/lwxvOORk5U1DKE1lE3g9XprkFXOUGqVjKqyYXyFm5fEXBsOqR9b30JdI1tfHHTJUGpluw=
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:(13230025)(4636009)(376002)(346002)(396003)(39860400002)(136003)(451199018)(46966006)(40470700004)(36840700001)(356005)(40480700001)(2906002)(40460700003)(83380400001)(478600001)(2616005)(336012)(186003)(82310400005)(86362001)(36756003)(316002)(36860700001)(54906003)(70586007)(8676002)(4326008)(6916009)(70206006)(8936002)(4744005)(426003)(47076005)(6666004)(1076003)(26005)(81166007)(5660300002)(44832011)(41300700001)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 13:56:59.5340
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d2c88b3-245f-4bdd-a913-08db2ba678e3
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:
	BL02EPF0000EE3D.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5044

We are assigning return code of domain_vpl011_init() to a variable
without checking it for an error. Fix it.

Fixes: 3580c8b2dfc3 ("xen/arm: if direct-map domain use native UART address and IRQ number for vPL011")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes in v2:
 - none
---
 xen/arch/arm/domain_build.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 9707eb7b1bb1..3195c5b6d6ac 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3826,7 +3826,11 @@ static int __init construct_domU(struct domain *d,
      * 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 )
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 13:57:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 13:57:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513894.795601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLRh-0001IL-06; Thu, 23 Mar 2023 13:57:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513894.795601; Thu, 23 Mar 2023 13:57:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLRg-0001IE-TU; Thu, 23 Mar 2023 13:57:36 +0000
Received: by outflank-mailman (input) for mailman id 513894;
 Thu, 23 Mar 2023 13:57: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=7ZVY=7P=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1pfLRf-0000G6-1F
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 13:57:35 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20618.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a8781d9d-c982-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 14:57:33 +0100 (CET)
Received: from CY5PR17CA0026.namprd17.prod.outlook.com (2603:10b6:930:17::13)
 by SN7PR12MB8025.namprd12.prod.outlook.com (2603:10b6:806:340::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 13:57:29 +0000
Received: from CY4PEPF0000C964.namprd02.prod.outlook.com
 (2603:10b6:930:17:cafe::56) by CY5PR17CA0026.outlook.office365.com
 (2603:10b6:930:17::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38 via Frontend
 Transport; Thu, 23 Mar 2023 13:57:29 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000C964.mail.protection.outlook.com (10.167.241.68) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6178.30 via Frontend Transport; Thu, 23 Mar 2023 13:57:28 +0000
Received: from SATLEXMB07.amd.com (10.181.41.45) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 23 Mar
 2023 08:57:27 -0500
Received: from SATLEXMB04.amd.com (10.181.40.145) by SATLEXMB07.amd.com
 (10.181.41.45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Thu, 23 Mar
 2023 06:56:43 -0700
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.2375.34
 via Frontend Transport; Thu, 23 Mar 2023 08:56: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: a8781d9d-c982-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c44u3tkQ4sAq7K/v2c2pW3rvH31Oy/IW+QYVUDE+3MjBnf+kSGc+x7KRFrM7uMo8v5i4U+u1MryKthuGaCZiX5YhaXAPT/ZY+xVQndQ0NIjYhh0O/fUiHhbJRaY1mL3bVMka1aewGry2SNDkMeBk7SIRWUzYldmcal1Tz6aUpapN/SP/KdGbus8ajJ9pVJK9HRt9zRGb3T4ZW7I2/CClfglviBrgdUX8/2IqqV47dUPl1h+zk3etI+RcR1ersbXRsPcPH8DtJWy3PwFpEJZWm3jNFeViqPhLoGEs6pZ+SErhHBSII0TSO36PEn74HiwnKtfn7q9zTATmJkWF+sp4ow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cmNW2YSwGjsXUWkmZKPlxX9Or+/rmqmnfsh/twK5JG0=;
 b=MbTqiOU++R/b4S38rbXtWe8S+BexB73SLZM8miiZJv9eR0o1WwvSUIegfzS+AzLar32Gaqgzj94jYL6EDmEYIfMeUjywYECp4o6b/SxI0U13b2RhULG1me1/ePopKybqgMB4q6Mvq7jYoANgkP0nr6E1lE7HxNGvXZ2LfVkEDLyyJKjDW4Vi1hwlUOtskgl7mAlt/n2c4ovxSiKBGw5G2xSNNGeroPPGCJaWygtWe9OTH3H89I20NDoQdVS74PbkuZimJEWOcaBfWRNGI6cMZMqUFLEUmReNEt2vaLo8isLCgWcZRpj+FfwqoKP/ZQMGtHgNlX9cZ98bK1hI8E1vjw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=lists.xenproject.org smtp.mailfrom=amd.com;
 dmarc=pass (p=quarantine sp=quarantine pct=100) action=none
 header.from=amd.com; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cmNW2YSwGjsXUWkmZKPlxX9Or+/rmqmnfsh/twK5JG0=;
 b=HkpJgH3y1gKZ8gLJKywjWLqbPP9dU98GuWmNWUoytj7vkRX504dmJU6UC6B2kZTTRMJ/3fNVkg2RAbFA8rrNfLy+0mbYPNLVknDFJr4BFxLfijZZ3KbFY0Umd/xqrU7gncHl92TUMp0jObsTkSYNbI1Lwq0ylOSoOS3h4J2hYvE=
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 0/2] xen/arm: fixes around domain_vpl011_init
Date: Thu, 23 Mar 2023 14:56:34 +0100
Message-ID: <20230323135636.25318-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: CY4PEPF0000C964:EE_|SN7PR12MB8025:EE_
X-MS-Office365-Filtering-Correlation-Id: f2892116-6ab5-4d6b-1dbe-08db2ba68a4e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4xa7ABI+uOTA2blUMYiaLnHx7Cx/VphJmzp22og3GUIP3sSahFVeDhZ1uzbQlvaPK+XzP128XcnyswwGOK3ZA5spqp/52rNAAuF5EjkLAsWn9ugRPPytPN2duBtpNjsf+S3fFtkad/otktXdwznF5BY435n/IUxNpB4nZ8vOpER7rRwRjhv3kKENi2bj+AXmgj1Fu2bGgTpbzRi+8SpKb13mWWh7EVOreqeArYWRlNv7vv5weArqMLrD9gBfHEIG4dm6ykw3nWGWEB2VrUF9PY9LbrCfEN+OIjPADVn3b2hAs1uvzgSCJSXqw8jFLv4wWjmNaz7NhK9rZFzcvDwOCRBy1Me2Xc+ts7ta3EsBAnqz7oz4z5EFZKNt/TBRiks8v75FJL4NLGWoxdMkllTT8kp5oDsYyFJ6ly4V9ZxNaz2tJNE7PJlhd4yeG7bUb8mrPmMmxFErBtgDoP00F1Qp0FZ1OpKd9dCJaBa+bKYvLOL4636UtldobyFTHunfb/z/IRjL+YjDSdSGKEPH6bSgWBpxMGx9puumFWNADrl0xxbDGB8C+cYfVLlt1fx5FmPrY3BJgJlmLssfv0NFk/jT7FnPgvFA9VEF8EmH8Q8haGPBpidx4P6gRi0oRxWBs3Wx6i1ns2e1o/9kyfPFELeckNZInG9A5UmzZ4PRY04aPF7yVT3e0OTJnz/wdHP6idvKKxFp3BZF1bmyl+wf4qee3Tw/dLW7wQQrT0m5ct2vrJ0=
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:(13230025)(4636009)(346002)(39860400002)(376002)(136003)(396003)(451199018)(46966006)(36840700001)(40470700004)(36756003)(2906002)(40460700003)(82310400005)(36860700001)(478600001)(82740400003)(186003)(47076005)(336012)(2616005)(426003)(1076003)(26005)(6666004)(83380400001)(5660300002)(40480700001)(41300700001)(8936002)(86362001)(4744005)(44832011)(54906003)(81166007)(4326008)(6916009)(356005)(8676002)(70206006)(70586007)(316002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 13:57:28.7060
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f2892116-6ab5-4d6b-1dbe-08db2ba68a4e
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:
	CY4PEPF0000C964.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8025

This series contains fixes around domain_vpl011_init().

Michal Orzel (2):
  xen/arm: domain_build: Check return code of domain_vpl011_init
  xen/arm: vpl011: Fix domain_vpl011_init error path

 xen/arch/arm/domain_build.c |  4 ++++
 xen/arch/arm/vpl011.c       | 47 +++++++++++++++++++++++--------------
 2 files changed, 34 insertions(+), 17 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 14:16:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 14:16:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513898.795611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLkA-0004bQ-Hw; Thu, 23 Mar 2023 14:16:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513898.795611; Thu, 23 Mar 2023 14:16:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLkA-0004bJ-F2; Thu, 23 Mar 2023 14:16:42 +0000
Received: by outflank-mailman (input) for mailman id 513898;
 Thu, 23 Mar 2023 14:16:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fJyN=7P=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfLk9-0004b8-6x
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 14:16:41 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0604.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 537d1a5a-c985-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 15:16:38 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8682.eurprd04.prod.outlook.com (2603:10a6:20b:43d::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 14:16:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 14:16: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: 537d1a5a-c985-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=a73OuqHavSglcqbXVCHWVzs1ltClqYBv6JnTrcn5N4Fs5wsUF6k8B4gsju6Kp7rwUiXFw9gJOK/4t7/Lq5W1tfNY7wVCAwIQKmC97dydVRxdNBV+8b3J3piLRiO8fDlEsBQSxKaPehdyFAHKLOhXvZHtgwbFuQU5qEHEf/qWycjM/egRdtNopZ3zsoXOAwuNhAe2Ah49Xhoqu16BbcZgyGGtwxDDHu87YOdIz8qX+M7NVmgOXa8E7iwEMkg4lVDRTd8V0vHCymY37u/3kP1nNPGlWSfkemyDYzYQRfZeRaVi0cphifpBViz5t9CpvcZBXUgCspDXwBZEjSlz7G3JcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dUyjMcmvYNsZDkA1+BkT4lbGAPxMzajNbEm0LFnJUu8=;
 b=cvEKTLPif323MrASwIWpdAlVri2KzFBZasVnh0F5y3kmDUCHHh8c90cR+Hmfmk16uyfAxU1DoEtGoPetiLrMkGBEbaqYu3X7DEVhyyQo9fvFgb8fBFXC44Z5eBqlULXxKReksburwC83xLLPaniWgHBTWmresQi30FmAN/S3WNtfR+MGXxE59j1HyBxo38HtKBEZ4XpdNrNd9bKruaf+0TeeODmPwDkDE70MLVuKFXktWvPAfH4BE28+mYaj+ILddkBvn48SDhbepTDTf3Wj5V8YE40jUEZnreLxtoG/9+0lnjnG45eQ13itlmhHzs/EAXdvoTbx1n0sb6rhwxDGpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dUyjMcmvYNsZDkA1+BkT4lbGAPxMzajNbEm0LFnJUu8=;
 b=36q8FDlBmSCpvwSkRYXjCT73E2mex6/v2CQLA4xTZbWU5Mqr5nW5bozWYWYTXjUE4eT8Ac0ykQcoKjlqy+JxxMtkxlHBgP3yVmF870vnNkxtZhTQkE/j7FXvd4Uy92GJ/Ht2gZWRTNtopDT4eGG5D5EE+eDCXCW6pv3R1Im0rO0LYS9sdASvKbmdy6YP5qAS25jlwIoGAVwu84g2aEOSzxTcDNqrEpyUAA3EHKh6zSQTgv5eSR5qOwHQRXoicDihzWWVCFUcacO6E50S9exFH8NHApOyGcXkaZREp1196ndJ33uNwjfSRXD7O1d0XpNUfwXCCdW4lwJn3UO54Nfg1w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6730d092-f31c-a30b-322c-c5ef7a06d748@suse.com>
Date: Thu, 23 Mar 2023 15:16:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Content-Language: en-US
To: Huang Rui <ray.huang@amd.com>
Cc: "Deucher, Alexander" <Alexander.Deucher@amd.com>,
 "Koenig, Christian" <Christian.Koenig@amd.com>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 Xenia Ragiadakou <burzalodowa@gmail.com>,
 "Huang, Honglei1" <Honglei1.Huang@amd.com>,
 "Zhang, Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <ace92506-fd86-9da4-aeb2-37a80094d02a@suse.com>
 <ZBmDl8XjIos57EIy@amd.com> <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
 <ZBmZxnyZWrni57Ry@amd.com> <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com>
 <ZBmrI3wrrwsK5Q+0@amd.com> <ZBquOn8x7IyI33Pj@amd.com>
 <ZBrLsRebAYaspHrK@Air-de-Roger> <ZBr1k/B/ve8NNqaJ@amd.com>
 <85aa668d-9614-a80d-8f44-174ecbdcf1f7@suse.com> <ZBwpS+WD/mK40Qx2@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBwpS+WD/mK40Qx2@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0109.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8682:EE_
X-MS-Office365-Filtering-Correlation-Id: 29f4686d-00f9-4a9a-4686-08db2ba93655
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	otu2gS+p5YAI29JopLWbXGeN5HLa9d1usIXdckRTBcC0/kX6Nf8oMvss4H3qUEuIiwPW/gmwaAmBC6pDVoTefZiLuio6AHQ08c1bST071d7v2c5JFhToPc95XzZ7NWmqQyduzx24W1SAyNWYrNzTxzteM1lS4/QhfKKx4KbCOF26bjjaZsrRHSQ5cgAYOqeJKRJr8eVsmciWRfrvnfZ4xM3F3wNHvGBRVuPsASgrPxyCcJ2OpwEvVoUp9uw+y6vvinfyd/kzGeLv1sTPnDkhy16VuDfBqa/SLAeIWRISJsZpbLNNIIh8w18XgjYGk0+EJ0wFdtKtcZleXDti2P2zr1JxZiwX4pj5+xT5cNIFQPeHN1rzu6Al/Js0W0Fh1h2ZHQrFDNwhp0wWu2eD9gj7KsZV6DsdHSPLNU6ZD90ffXNCrZYQ5MJZTiRiHBQhRkcnO/HDHO7A7AkfX58Jb07EX983jvrvByr/IlSLOj6t9X/hiUQczQDKUfOZDieWrE5J0mS6XyKJh6Jb/hoUi0cojXY1XnVJ+nWbJuOx2AZF5lF19JN2vH2qx+RNjWilBUWOFVQoIgtqlzNzZYF1B4s2goH14fPZ03/C0EqnHcOGE6KFBwBaOo5W89tmVsMHMdt+ZlIYX+6ujEIxw/uEM3XZLPnOwDZTx0fpIjpPIqj5T+VV+nusrd2qP2/bWVt7Xs2WjQ7KW1zBza6tAfv/AAhX2WtbjwR6lE0AMyw4XNepfoU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(346002)(366004)(39860400002)(396003)(376002)(451199018)(31686004)(66476007)(7416002)(6916009)(5660300002)(4326008)(41300700001)(8676002)(2906002)(86362001)(31696002)(36756003)(38100700002)(26005)(6486002)(478600001)(316002)(66946007)(66556008)(8936002)(2616005)(83380400001)(6506007)(54906003)(6512007)(53546011)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K0lhaURTUjU0Ulp3NHFqd0thZlA3QXBROFFEUmlyRUdRU29zWnJndmtwOTNW?=
 =?utf-8?B?WFRzczEreDNSZHVyQXpHOXh3NDVSOFhPKzNZdkZ3Q2djb0FmdmdLT3VBUmM5?=
 =?utf-8?B?VFZJOXJQcUloUmtHbGZzVm51WHB2Y2c0OEgvS1pqUCtxYm5ySktqV3BrNEZ2?=
 =?utf-8?B?TXFja2Jwc1dZRGh6ZWs0UzNqVS9kVlR3SFNNOCt2NC9NRkpKQytmSjZZZm5Z?=
 =?utf-8?B?U2liOUZEdHExZ09XdUtxaFVaSFdEVk82NFc0cW1GVVMvZHZPdEhWSU82L2Fn?=
 =?utf-8?B?Y2ZOblhWbFRwQjI4UHRjZGpYTnN3TmM4MDVkS2pJamRUeHFMdDR6QVg3OEl1?=
 =?utf-8?B?dDAyUzJDVmdQOUN4RWU0MXV2SXF1UHFoUGJWY1B0N0VaQVZEWFhEbkxURlBz?=
 =?utf-8?B?NnJlZnlVQlZZQ3VJYXVEejJvV3lrZ25HNUFGZWowR01yeG56TWEvZm1EWGlP?=
 =?utf-8?B?a2dUMDFnUFQ4S0JpczFqZWc5YUM5RVlFNW5FRUs1eVUwOCsrenN3VTNncm9x?=
 =?utf-8?B?TFR4bWRyb29IZzlsTTViUk0rN3VCbklrOFpCNHFINWNoQUtBR0NyY1JZMXJ1?=
 =?utf-8?B?SWNsQ3ZJTXhLSkVRVjJTN2Z4N2R4WUhJOEFHQ3hXcVpHUEpJMW9tZU03VG9j?=
 =?utf-8?B?RzZ1T2cvekhiRjBhZi90Ry9hMThyVnZyRXJkeTZJMm12WlU3eTlpaGhuUTNz?=
 =?utf-8?B?QzJadVRSL2cvclAzc1lGSS9xb0dvZDVmdDYvVzdIWEhqeHhGdTlrUWlRN0xi?=
 =?utf-8?B?TlpNRzBEM0l2dCtWZjJaQWROQ29kN1VrejdMRDYrdGNuZG1kWmZSL0prOE1h?=
 =?utf-8?B?cG4zcUk0bFkwUWloc2FRdWVGRWR6Z1o4NEhNTUZsZTlHaEtSUUtHS0NrNFkv?=
 =?utf-8?B?RG8yNXV0ZXUxQ1JRQmpjdlJmOWx5L1NDZ1d1UjNiR0JMYWxZUk1lZHhUTU5y?=
 =?utf-8?B?L0FoekpYY3hwcFU4dkJ6RWQxMnBhTVY3NFRUUjM5UXZ3SkwvbTFXT2k4R21B?=
 =?utf-8?B?aWF6dDhINTlDay96TDJYVFFWL1h2K1JVSi9YbXF2T0hNaWhRdjhuLzA1V0tx?=
 =?utf-8?B?OVhDQXRDK3NjdnJyenJQMWkrUUU2ZTVIVmZwVEFYSXkxeHBETHpOM3NpM2cv?=
 =?utf-8?B?ekpVRFdGazBXM2t5NWhlTlcvMXpYazQ4cGlLWWpSbVFwdllvbElvNDgyZ0xR?=
 =?utf-8?B?dWN1VU9aRlJZTVh0U09McE4yY2N6akdGRm9HQnhnR281QUNNWm42blpKMy9P?=
 =?utf-8?B?NVoreWxObjZrZHp5QStkM3RyUTM3cFF2dmk2bnprUzBOeU91dnlCQVZJd1VJ?=
 =?utf-8?B?TU0zeEM2a2k1K3RNZk9ETFlQMzRzdzlRWmxQNlQrWFowYVdTZU4vbnRSamdV?=
 =?utf-8?B?UlpUK0RlTnBtOGpRb0pTQnlhdVVSRGZOT3owMTRXRTZiZFJaaU12Uk5Mb0s3?=
 =?utf-8?B?NVI4dllqRHZjYmdEMzliL1BsVnFjajNsTzhQRUIrSzA2REl0VTFwWXdCUFhm?=
 =?utf-8?B?OXBNTVNCaU5NWTZLT0NhbmxydUFYN2h2RHE0K1Biejk4dHkvVzB2d2Z1SzhR?=
 =?utf-8?B?LzNNK2NIRzluNFJUSzJ5NTBQa2h6Zk1rZnZ3b2lveEVRU0dNcHpDUzlVRnJL?=
 =?utf-8?B?VmlvV2M2TTdVV2Q4T2RyTzlDVnM0cVZRRTl5anBwTUFOVWVsUlRmdzZnclFr?=
 =?utf-8?B?RTdmRm0yUnczc2lUS0REQS81VjlzNnRDYmt3U1ExU25nV0VrV0VaZzZTMFE1?=
 =?utf-8?B?NmxsOHJUdWVaRWZSUVFhTm5BSmM0TDU4VjhpY1dzSmJ4c2VGQWZ6NWdiazIr?=
 =?utf-8?B?SzByMzh2Zi9qOEdBMXgwaHpnanB3YWhVRFpOZWpoaDBLZEhndVlFTGg3QTgw?=
 =?utf-8?B?NWdLK2krdmF3N3FGeTFWSi9ZLzFzelVBNEZmMW1KenJSYVZIVzhJc21kd2ZG?=
 =?utf-8?B?VnNERVltTGtjOWlZVzkxc2hWTWhvbHUvYllMdnJoWm5ldjBqczFraWwrOWJh?=
 =?utf-8?B?MC83T0lMNmxNcFNWeEhrS3NYKzVXWkRwNWdVdEFNOWJ3RTdGK0xCbTN0QlRL?=
 =?utf-8?B?MnlycDhGRy9CSjJzZjdob1AxWUpvdHE4MlpFeE96NHhuOHdJb3BWRkd4bXlI?=
 =?utf-8?Q?qtn4jKxzQMAOlJIb0JcBcvjVp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 29f4686d-00f9-4a9a-4686-08db2ba93655
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 14:16:36.5645
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AHaKEBnEOPiApBS0Sr5QU1LBo+U23TM3GrxA5hD+DtK1m7rJExHzw7WVUJk4H2koMNxX3ZR9yIR2Z9+pqKImxg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8682

On 23.03.2023 11:26, Huang Rui wrote:
> On Wed, Mar 22, 2023 at 08:48:30PM +0800, Jan Beulich wrote:
>> On 22.03.2023 13:33, Huang Rui wrote:
>>> I traced that while we do pci-assignable-add, we will follow below trace to
>>> bind the passthrough device.
>>>
>>> pciassignable_add()->libxl_device_pci_assignable_add()->libxl__device_pci_assignable_add()->pciback_dev_assign()
>>>
>>> Then kernel xen-pciback driver want to add virtual configuration spaces. In
>>> this phase, the bar_write() in xen hypervisor will be called. I still need
>>> a bit more time to figure the exact reason. May I know where the
>>> xen-pciback driver would trigger a hvm_io_intercept to xen hypervisor?
>>
>> Any config space access would. And I might guess ...
>>
>>> [  309.719049] xen_pciback: wants to seize 0000:03:00.0
>>> [  462.911251] pciback 0000:03:00.0: xen_pciback: probing...
>>> [  462.911256] pciback 0000:03:00.0: xen_pciback: seizing device
>>> [  462.911257] pciback 0000:03:00.0: xen_pciback: pcistub_device_alloc
>>> [  462.911261] pciback 0000:03:00.0: xen_pciback: initializing...
>>> [  462.911263] pciback 0000:03:00.0: xen_pciback: initializing config
>>> [  462.911265] pciback 0000:03:00.0: xen-pciback: initializing virtual configuration space
>>> [  462.911268] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x00
>>> [  462.911271] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x02
>>> [  462.911284] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x04
>>> [  462.911286] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3c
>>> [  462.911289] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3d
>>> [  462.911291] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0c
>>> [  462.911294] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0d
>>> [  462.911296] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0f
>>> [  462.911301] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x10
>>> [  462.911306] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x14
>>> [  462.911309] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x18
>>> [  462.911313] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x1c
>>> [  462.911317] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x20
>>> [  462.911321] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x24
>>> [  462.911325] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x30
>>> [  462.911358] pciback 0000:03:00.0: Found capability 0x1 at 0x50
>>> [  462.911361] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x50
>>> [  462.911363] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x52
>>> [  462.911368] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x54
>>> [  462.911371] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x56
>>> [  462.911373] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x57
>>> [  462.911386] pciback 0000:03:00.0: Found capability 0x5 at 0xa0
>>> [  462.911388] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa0
>>> [  462.911391] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa2
>>> [  462.911405] pciback 0000:03:00.0: xen_pciback: enabling device
>>> [  462.911412] pciback 0000:03:00.0: enabling device (0006 -> 0007)
>>> [  462.911658] Already setup the GSI :28
>>> [  462.911668] Already map the GSI :28 and IRQ: 115
>>> [  462.911684] pciback 0000:03:00.0: xen_pciback: save state of device
>>> [  462.912154] pciback 0000:03:00.0: xen_pciback: resetting (FLR, D3, etc) the device
>>> [  463.954998] pciback 0000:03:00.0: xen_pciback: reset device
>>
>> ... it is actually the reset here, saving and then restoring config space.
>> If e.g. that restore was done "blindly" (i.e. simply writing fields low to
>> high), then memory decode would be re-enabled before the BARs are written.
>>
> 
> Yes, we confirm the problem is while the xen-pciback driver initializes
> passthrough device with 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 io interrupt to bar_write() in the xen, then bar->enable
> is set, the write is not actually allowed.
> 
> May I know whether this behavior (restore) is expected? Or it should not
> reset the device.

The reset is expected. To expand slightly on Roger's reply: The reset we're
unaware of has likely indeed brought bar->enable and command register state
out of sync. For everything else see Roger's response.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 14:20:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 14:20:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513901.795620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLni-0006I3-1H; Thu, 23 Mar 2023 14:20:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513901.795620; Thu, 23 Mar 2023 14: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 1pfLnh-0006Hw-V0; Thu, 23 Mar 2023 14:20:21 +0000
Received: by outflank-mailman (input) for mailman id 513901;
 Thu, 23 Mar 2023 14:20: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 1pfLnh-0006Ho-E0
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 14:20: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 1pfLng-0001Uy-JH; Thu, 23 Mar 2023 14:20:20 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.18.79]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pfLng-0004H0-Bx; Thu, 23 Mar 2023 14:20: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=Q/9wMMTLBvDeRNUJURlS1qOLwIkzEGnoH7OLuPolFac=; b=vn18xwt7oKCEbQqaKAvAslbJUq
	10pazoyXvuzJA22MkTfccEFA7dFbesYZN4r5R9OAAwiRU62WgZ9jDfBgrUToyibe0+w2xnWj6uDSN
	9OtVohSH7v3g6JmQwpV1kGFGDPSp3NIBHGDTFvzzE/WpQ/QBOxsSokEXnC6wJXNeBf5g=;
Message-ID: <b95864bf-014f-7b1d-3c07-295705cdba0d@xen.org>
Date: Thu, 23 Mar 2023 14:20:18 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH] tools/xenstore: fix quota check in acc_fix_domains()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230224155848.31036-1-jgross@suse.com>
 <a8e71268-6111-d4d5-5cba-ed141dba530d@xen.org>
 <363e4526-6bc2-d961-88ac-93ba82e2e30c@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <363e4526-6bc2-d961-88ac-93ba82e2e30c@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 23/03/2023 12:53, Juergen Gross wrote:
> On 23.03.23 13:38, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 24/02/2023 15:58, Juergen Gross wrote:
>>> Today when finalizing a transaction the number of node quota is checked
>>> to not being exceeded after the transaction. This check is always done,
>>> even if the transaction is being performed by a privileged connection,
>>> or if there were no nodes created in the transaction.
>>>
>>> Correct that by checking quota only if:
>>> - the transaction is being performed by an unprivileged guest, and
>>> - at least one node was created in the transaction
>>>
>>> Reported-by: Julien Grall <julien@xen.org>
>>> Fixes: f2bebf72c4d5 ("xenstore: rework of transaction handling")
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> ---
>>>   tools/xenstore/xenstored_core.c        |  3 +++
>>>   tools/xenstore/xenstored_domain.c      |  4 ++--
>>>   tools/xenstore/xenstored_domain.h      |  2 +-
>>>   tools/xenstore/xenstored_transaction.c | 16 ++++++++++++++--
>>>   tools/xenstore/xenstored_transaction.h |  3 +++
>>>   5 files changed, 23 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/tools/xenstore/xenstored_core.c 
>>> b/tools/xenstore/xenstored_core.c
>>> index a61db2db2d..3ca68681e3 100644
>>> --- a/tools/xenstore/xenstored_core.c
>>> +++ b/tools/xenstore/xenstored_core.c
>>> @@ -1472,6 +1472,9 @@ static struct node *create_node(struct 
>>> connection *conn, const void *ctx,
>>>       if (!node)
>>>           return NULL;
>>> +    if (conn && conn->transaction)
>>> +        ta_node_created(conn->transaction);
>>> +
>>>       node->data = data;
>>>       node->datalen = datalen;
>>> diff --git a/tools/xenstore/xenstored_domain.c 
>>> b/tools/xenstore/xenstored_domain.c
>>> index d7fc2fafc7..f62be2245c 100644
>>> --- a/tools/xenstore/xenstored_domain.c
>>> +++ b/tools/xenstore/xenstored_domain.c
>>> @@ -544,7 +544,7 @@ static struct domain 
>>> *find_domain_by_domid(unsigned int domid)
>>>       return (d && d->introduced) ? d : NULL;
>>>   }
>>> -int acc_fix_domains(struct list_head *head, bool update)
>>> +int acc_fix_domains(struct list_head *head, bool chk_quota, bool 
>>> update)
>>>   {
>>>       struct changed_domain *cd;
>>>       int cnt;
>>> @@ -552,7 +552,7 @@ int acc_fix_domains(struct list_head *head, bool 
>>> update)
>>>       list_for_each_entry(cd, head, list) {
>>>           cnt = domain_nbentry_fix(cd->domid, cd->nbentry, update);
>>>           if (!update) {
>>> -            if (cnt >= quota_nb_entry_per_domain)
>>> +            if (chk_quota && cnt >= quota_nb_entry_per_domain)
>>>                   return ENOSPC;
>>>               if (cnt < 0)
>>>                   return ENOMEM;
>>> diff --git a/tools/xenstore/xenstored_domain.h 
>>> b/tools/xenstore/xenstored_domain.h
>>> index dc4660861e..ec6aa00cc7 100644
>>> --- a/tools/xenstore/xenstored_domain.h
>>> +++ b/tools/xenstore/xenstored_domain.h
>>> @@ -96,7 +96,7 @@ void domain_outstanding_dec(struct connection *conn);
>>>   void domain_outstanding_domid_dec(unsigned int domid);
>>>   int domain_get_quota(const void *ctx, struct connection *conn,
>>>                unsigned int domid);
>>> -int acc_fix_domains(struct list_head *head, bool update);
>>> +int acc_fix_domains(struct list_head *head, bool chk_quota, bool 
>>> update);
>>
>> Depending on the answer below, I would suggest to write that 
>> 'chk_quota' is ignored when ``update`` is true.
> 
> With the answer below, do you agree that no additional comment is needed?
> I'm fine either way.
> 
>>
>>>   /* Write rate limiting */
>>> diff --git a/tools/xenstore/xenstored_transaction.c 
>>> b/tools/xenstore/xenstored_transaction.c
>>> index 1aa9d3cb3d..2b15506953 100644
>>> --- a/tools/xenstore/xenstored_transaction.c
>>> +++ b/tools/xenstore/xenstored_transaction.c
>>> @@ -160,12 +160,20 @@ struct transaction
>>>       /* List of changed domains - to record the changed domain entry 
>>> number */
>>>       struct list_head changed_domains;
>>> +    /* There was at least one node created in the transaction. */
>>> +    bool node_created;
>>> +
>>>       /* Flag for letting transaction fail. */
>>>       bool fail;
>>>   };
>>>   uint64_t generation;
>>> +void ta_node_created(struct transaction *trans)
>>> +{
>>> +    trans->node_created = true;
>>> +}
>>> +
>>>   static struct accessed_node *find_accessed_node(struct transaction 
>>> *trans,
>>>                           const char *name)
>>>   {
>>> @@ -509,6 +517,7 @@ int do_transaction_end(const void *ctx, struct 
>>> connection *conn,
>>>       const char *arg = onearg(in);
>>>       struct transaction *trans;
>>>       bool is_corrupt = false;
>>> +    bool chk_quota;
>>>       int ret;
>>>       if (!arg || (!streq(arg, "T") && !streq(arg, "F")))
>>> @@ -523,13 +532,16 @@ int do_transaction_end(const void *ctx, struct 
>>> connection *conn,
>>>       if (!conn->transaction_started)
>>>           conn->ta_start_time = 0;
>>> +    chk_quota = trans->node_created && domain_is_unprivileged(conn);
>>> +
>>>       /* Attach transaction to ctx for auto-cleanup */
>>>       talloc_steal(ctx, trans);
>>>       if (streq(arg, "T")) {
>>>           if (trans->fail)
>>>               return ENOMEM;
>>> -        ret = acc_fix_domains(&trans->changed_domains, false);
>>> +        ret = acc_fix_domains(&trans->changed_domains, chk_quota,
>>> +                      false);
>>>           if (ret)
>>>               return ret;
>>>           ret = finalize_transaction(conn, trans, &is_corrupt);
>>> @@ -539,7 +551,7 @@ int do_transaction_end(const void *ctx, struct 
>>> connection *conn,
>>>           wrl_apply_debit_trans_commit(conn);
>>>           /* fix domain entry for each changed domain */
>>> -        acc_fix_domains(&trans->changed_domains, true);
>>> +        acc_fix_domains(&trans->changed_domains, false, true);
>>
>> In theory, shouldn't we pass 'chk_quota' rather than false? In 
>> practice, I know it doesn't make any difference between this is an 
>> update.
> 
> We explicitly don't want to check quota in the "update" case. So specifying
> "false" is the correct thing to do IMHO.

Let me rephrase my comment differently. What would happen if the user 
pass 'true'? Would we check the quota or not?

I suspect this is a no, hence why I was suggested the comment to say the 
field is ignored. Alternatively, we could add an assert that ensure that 
chk_quota is false when update is true.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 14:21:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 14:21:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513906.795630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLoq-0006tg-EQ; Thu, 23 Mar 2023 14:21:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513906.795630; Thu, 23 Mar 2023 14: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 1pfLoq-0006tZ-Bp; Thu, 23 Mar 2023 14:21:32 +0000
Received: by outflank-mailman (input) for mailman id 513906;
 Thu, 23 Mar 2023 14: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=d8pY=7P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfLop-0006tT-3E
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 14:21:31 +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 00b8a54f-c986-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 15:21: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 862B91FDD4;
 Thu, 23 Mar 2023 14:21: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 5F011132C2;
 Thu, 23 Mar 2023 14:21:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id d6OSFWlgHGTNeQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 23 Mar 2023 14: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: 00b8a54f-c986-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679581289; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=rudslpItH9Sn6IMtkQM0X57UGiM/Er9EJIb5g+fP5kc=;
	b=sk0wON325eRlxGAbRV9/Wbird6bxlpYj1/oUWbxuVLLI92XbuWDdwex0/bsNn9P2GiAfMd
	pgh9WweY3uUeb0vr5U3maHM4jZljiKF6ecWD7mqowNmatra/NOVmczZG9oXApTKNEskd/h
	NLVmTgKnhHhCNbi9u6M+4Ik8khtTtPw=
Message-ID: <92b2f26a-fd2e-2826-d38f-3ca45727bfb3@suse.com>
Date: Thu, 23 Mar 2023 15:21:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] tools/xenstore: fix quota check in acc_fix_domains()
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: <20230224155848.31036-1-jgross@suse.com>
 <a8e71268-6111-d4d5-5cba-ed141dba530d@xen.org>
 <363e4526-6bc2-d961-88ac-93ba82e2e30c@suse.com>
 <b95864bf-014f-7b1d-3c07-295705cdba0d@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <b95864bf-014f-7b1d-3c07-295705cdba0d@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------RMYCgBSkyAKaZoI50COe10sP"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------RMYCgBSkyAKaZoI50COe10sP
Content-Type: multipart/mixed; boundary="------------hOfACO0tQhNOBfaABgW0WZFf";
 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: <92b2f26a-fd2e-2826-d38f-3ca45727bfb3@suse.com>
Subject: Re: [PATCH] tools/xenstore: fix quota check in acc_fix_domains()
References: <20230224155848.31036-1-jgross@suse.com>
 <a8e71268-6111-d4d5-5cba-ed141dba530d@xen.org>
 <363e4526-6bc2-d961-88ac-93ba82e2e30c@suse.com>
 <b95864bf-014f-7b1d-3c07-295705cdba0d@xen.org>
In-Reply-To: <b95864bf-014f-7b1d-3c07-295705cdba0d@xen.org>

--------------hOfACO0tQhNOBfaABgW0WZFf
Content-Type: multipart/mixed; boundary="------------6ry5m0FHzhMaBuav0HLNCsbM"

--------------6ry5m0FHzhMaBuav0HLNCsbM
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjMuMDMuMjMgMTU6MjAsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAyMy8wMy8yMDIzIDEyOjUzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjMuMDMu
MjMgMTM6MzgsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4+PiBIaSBKdWVyZ2VuLA0KPj4+DQo+
Pj4gT24gMjQvMDIvMjAyMyAxNTo1OCwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+Pj4gVG9k
YXkgd2hlbiBmaW5hbGl6aW5nIGEgdHJhbnNhY3Rpb24gdGhlIG51bWJlciBvZiBub2RlIHF1
b3RhIGlzIGNoZWNrZWQNCj4+Pj4gdG8gbm90IGJlaW5nIGV4Y2VlZGVkIGFmdGVyIHRoZSB0
cmFuc2FjdGlvbi4gVGhpcyBjaGVjayBpcyBhbHdheXMgZG9uZSwNCj4+Pj4gZXZlbiBpZiB0
aGUgdHJhbnNhY3Rpb24gaXMgYmVpbmcgcGVyZm9ybWVkIGJ5IGEgcHJpdmlsZWdlZCBjb25u
ZWN0aW9uLA0KPj4+PiBvciBpZiB0aGVyZSB3ZXJlIG5vIG5vZGVzIGNyZWF0ZWQgaW4gdGhl
IHRyYW5zYWN0aW9uLg0KPj4+Pg0KPj4+PiBDb3JyZWN0IHRoYXQgYnkgY2hlY2tpbmcgcXVv
dGEgb25seSBpZjoNCj4+Pj4gLSB0aGUgdHJhbnNhY3Rpb24gaXMgYmVpbmcgcGVyZm9ybWVk
IGJ5IGFuIHVucHJpdmlsZWdlZCBndWVzdCwgYW5kDQo+Pj4+IC0gYXQgbGVhc3Qgb25lIG5v
ZGUgd2FzIGNyZWF0ZWQgaW4gdGhlIHRyYW5zYWN0aW9uDQo+Pj4+DQo+Pj4+IFJlcG9ydGVk
LWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3JnPg0KPj4+PiBGaXhlczogZjJiZWJm
NzJjNGQ1ICgieGVuc3RvcmU6IHJld29yayBvZiB0cmFuc2FjdGlvbiBoYW5kbGluZyIpDQo+
Pj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+
Pj4gLS0tDQo+Pj4+IMKgIHRvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9jb3JlLmPCoMKgwqDC
oMKgwqDCoCB8wqAgMyArKysNCj4+Pj4gwqAgdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2Rv
bWFpbi5jwqDCoMKgwqDCoCB8wqAgNCArKy0tDQo+Pj4+IMKgIHRvb2xzL3hlbnN0b3JlL3hl
bnN0b3JlZF9kb21haW4uaMKgwqDCoMKgwqAgfMKgIDIgKy0NCj4+Pj4gwqAgdG9vbHMveGVu
c3RvcmUveGVuc3RvcmVkX3RyYW5zYWN0aW9uLmMgfCAxNiArKysrKysrKysrKysrKy0tDQo+
Pj4+IMKgIHRvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF90cmFuc2FjdGlvbi5oIHzCoCAzICsr
Kw0KPj4+PiDCoCA1IGZpbGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDUgZGVsZXRp
b25zKC0pDQo+Pj4+DQo+Pj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9yZS94ZW5zdG9y
ZWRfY29yZS5jIGIvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2NvcmUuYw0KPj4+PiBpbmRl
eCBhNjFkYjJkYjJkLi4zY2E2ODY4MWUzIDEwMDY0NA0KPj4+PiAtLS0gYS90b29scy94ZW5z
dG9yZS94ZW5zdG9yZWRfY29yZS5jDQo+Pj4+ICsrKyBiL3Rvb2xzL3hlbnN0b3JlL3hlbnN0
b3JlZF9jb3JlLmMNCj4+Pj4gQEAgLTE0NzIsNiArMTQ3Miw5IEBAIHN0YXRpYyBzdHJ1Y3Qg
bm9kZSAqY3JlYXRlX25vZGUoc3RydWN0IGNvbm5lY3Rpb24gDQo+Pj4+ICpjb25uLCBjb25z
dCB2b2lkICpjdHgsDQo+Pj4+IMKgwqDCoMKgwqAgaWYgKCFub2RlKQ0KPj4+PiDCoMKgwqDC
oMKgwqDCoMKgwqAgcmV0dXJuIE5VTEw7DQo+Pj4+ICvCoMKgwqAgaWYgKGNvbm4gJiYgY29u
bi0+dHJhbnNhY3Rpb24pDQo+Pj4+ICvCoMKgwqDCoMKgwqDCoCB0YV9ub2RlX2NyZWF0ZWQo
Y29ubi0+dHJhbnNhY3Rpb24pOw0KPj4+PiArDQo+Pj4+IMKgwqDCoMKgwqAgbm9kZS0+ZGF0
YSA9IGRhdGE7DQo+Pj4+IMKgwqDCoMKgwqAgbm9kZS0+ZGF0YWxlbiA9IGRhdGFsZW47DQo+
Pj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfZG9tYWluLmMgDQo+
Pj4+IGIvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2RvbWFpbi5jDQo+Pj4+IGluZGV4IGQ3
ZmMyZmFmYzcuLmY2MmJlMjI0NWMgMTAwNjQ0DQo+Pj4+IC0tLSBhL3Rvb2xzL3hlbnN0b3Jl
L3hlbnN0b3JlZF9kb21haW4uYw0KPj4+PiArKysgYi90b29scy94ZW5zdG9yZS94ZW5zdG9y
ZWRfZG9tYWluLmMNCj4+Pj4gQEAgLTU0NCw3ICs1NDQsNyBAQCBzdGF0aWMgc3RydWN0IGRv
bWFpbiAqZmluZF9kb21haW5fYnlfZG9taWQodW5zaWduZWQgaW50IA0KPj4+PiBkb21pZCkN
Cj4+Pj4gwqDCoMKgwqDCoCByZXR1cm4gKGQgJiYgZC0+aW50cm9kdWNlZCkgPyBkIDogTlVM
TDsNCj4+Pj4gwqAgfQ0KPj4+PiAtaW50IGFjY19maXhfZG9tYWlucyhzdHJ1Y3QgbGlzdF9o
ZWFkICpoZWFkLCBib29sIHVwZGF0ZSkNCj4+Pj4gK2ludCBhY2NfZml4X2RvbWFpbnMoc3Ry
dWN0IGxpc3RfaGVhZCAqaGVhZCwgYm9vbCBjaGtfcXVvdGEsIGJvb2wgdXBkYXRlKQ0KPj4+
PiDCoCB7DQo+Pj4+IMKgwqDCoMKgwqAgc3RydWN0IGNoYW5nZWRfZG9tYWluICpjZDsNCj4+
Pj4gwqDCoMKgwqDCoCBpbnQgY250Ow0KPj4+PiBAQCAtNTUyLDcgKzU1Miw3IEBAIGludCBh
Y2NfZml4X2RvbWFpbnMoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwgYm9vbCB1cGRhdGUpDQo+
Pj4+IMKgwqDCoMKgwqAgbGlzdF9mb3JfZWFjaF9lbnRyeShjZCwgaGVhZCwgbGlzdCkgew0K
Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgY250ID0gZG9tYWluX25iZW50cnlfZml4KGNkLT5k
b21pZCwgY2QtPm5iZW50cnksIHVwZGF0ZSk7DQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBp
ZiAoIXVwZGF0ZSkgew0KPj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoY250ID49
IHF1b3RhX25iX2VudHJ5X3Blcl9kb21haW4pDQo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIGlmIChjaGtfcXVvdGEgJiYgY250ID49IHF1b3RhX25iX2VudHJ5X3Blcl9kb21haW4p
DQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIEVOT1NQ
QzsNCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKGNudCA8IDApDQo+Pj4+
IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIEVOT01FTTsNCj4+
Pj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uaCANCj4+
Pj4gYi90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfZG9tYWluLmgNCj4+Pj4gaW5kZXggZGM0
NjYwODYxZS4uZWM2YWEwMGNjNyAxMDA2NDQNCj4+Pj4gLS0tIGEvdG9vbHMveGVuc3RvcmUv
eGVuc3RvcmVkX2RvbWFpbi5oDQo+Pj4+ICsrKyBiL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3Jl
ZF9kb21haW4uaA0KPj4+PiBAQCAtOTYsNyArOTYsNyBAQCB2b2lkIGRvbWFpbl9vdXRzdGFu
ZGluZ19kZWMoc3RydWN0IGNvbm5lY3Rpb24gKmNvbm4pOw0KPj4+PiDCoCB2b2lkIGRvbWFp
bl9vdXRzdGFuZGluZ19kb21pZF9kZWModW5zaWduZWQgaW50IGRvbWlkKTsNCj4+Pj4gwqAg
aW50IGRvbWFpbl9nZXRfcXVvdGEoY29uc3Qgdm9pZCAqY3R4LCBzdHJ1Y3QgY29ubmVjdGlv
biAqY29ubiwNCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBp
bnQgZG9taWQpOw0KPj4+PiAtaW50IGFjY19maXhfZG9tYWlucyhzdHJ1Y3QgbGlzdF9oZWFk
ICpoZWFkLCBib29sIHVwZGF0ZSk7DQo+Pj4+ICtpbnQgYWNjX2ZpeF9kb21haW5zKHN0cnVj
dCBsaXN0X2hlYWQgKmhlYWQsIGJvb2wgY2hrX3F1b3RhLCBib29sIHVwZGF0ZSk7DQo+Pj4N
Cj4+PiBEZXBlbmRpbmcgb24gdGhlIGFuc3dlciBiZWxvdywgSSB3b3VsZCBzdWdnZXN0IHRv
IHdyaXRlIHRoYXQgJ2Noa19xdW90YScgaXMgDQo+Pj4gaWdub3JlZCB3aGVuIGBgdXBkYXRl
YGAgaXMgdHJ1ZS4NCj4+DQo+PiBXaXRoIHRoZSBhbnN3ZXIgYmVsb3csIGRvIHlvdSBhZ3Jl
ZSB0aGF0IG5vIGFkZGl0aW9uYWwgY29tbWVudCBpcyBuZWVkZWQ/DQo+PiBJJ20gZmluZSBl
aXRoZXIgd2F5Lg0KPj4NCj4+Pg0KPj4+PiDCoCAvKiBXcml0ZSByYXRlIGxpbWl0aW5nICov
DQo+Pj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfdHJhbnNhY3Rp
b24uYyANCj4+Pj4gYi90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfdHJhbnNhY3Rpb24uYw0K
Pj4+PiBpbmRleCAxYWE5ZDNjYjNkLi4yYjE1NTA2OTUzIDEwMDY0NA0KPj4+PiAtLS0gYS90
b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfdHJhbnNhY3Rpb24uYw0KPj4+PiArKysgYi90b29s
cy94ZW5zdG9yZS94ZW5zdG9yZWRfdHJhbnNhY3Rpb24uYw0KPj4+PiBAQCAtMTYwLDEyICsx
NjAsMjAgQEAgc3RydWN0IHRyYW5zYWN0aW9uDQo+Pj4+IMKgwqDCoMKgwqAgLyogTGlzdCBv
ZiBjaGFuZ2VkIGRvbWFpbnMgLSB0byByZWNvcmQgdGhlIGNoYW5nZWQgZG9tYWluIGVudHJ5
IG51bWJlciAqLw0KPj4+PiDCoMKgwqDCoMKgIHN0cnVjdCBsaXN0X2hlYWQgY2hhbmdlZF9k
b21haW5zOw0KPj4+PiArwqDCoMKgIC8qIFRoZXJlIHdhcyBhdCBsZWFzdCBvbmUgbm9kZSBj
cmVhdGVkIGluIHRoZSB0cmFuc2FjdGlvbi4gKi8NCj4+Pj4gK8KgwqDCoCBib29sIG5vZGVf
Y3JlYXRlZDsNCj4+Pj4gKw0KPj4+PiDCoMKgwqDCoMKgIC8qIEZsYWcgZm9yIGxldHRpbmcg
dHJhbnNhY3Rpb24gZmFpbC4gKi8NCj4+Pj4gwqDCoMKgwqDCoCBib29sIGZhaWw7DQo+Pj4+
IMKgIH07DQo+Pj4+IMKgIHVpbnQ2NF90IGdlbmVyYXRpb247DQo+Pj4+ICt2b2lkIHRhX25v
ZGVfY3JlYXRlZChzdHJ1Y3QgdHJhbnNhY3Rpb24gKnRyYW5zKQ0KPj4+PiArew0KPj4+PiAr
wqDCoMKgIHRyYW5zLT5ub2RlX2NyZWF0ZWQgPSB0cnVlOw0KPj4+PiArfQ0KPj4+PiArDQo+
Pj4+IMKgIHN0YXRpYyBzdHJ1Y3QgYWNjZXNzZWRfbm9kZSAqZmluZF9hY2Nlc3NlZF9ub2Rl
KHN0cnVjdCB0cmFuc2FjdGlvbiAqdHJhbnMsDQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKm5hbWUpDQo+Pj4+
IMKgIHsNCj4+Pj4gQEAgLTUwOSw2ICs1MTcsNyBAQCBpbnQgZG9fdHJhbnNhY3Rpb25fZW5k
KGNvbnN0IHZvaWQgKmN0eCwgc3RydWN0IA0KPj4+PiBjb25uZWN0aW9uICpjb25uLA0KPj4+
PiDCoMKgwqDCoMKgIGNvbnN0IGNoYXIgKmFyZyA9IG9uZWFyZyhpbik7DQo+Pj4+IMKgwqDC
oMKgwqAgc3RydWN0IHRyYW5zYWN0aW9uICp0cmFuczsNCj4+Pj4gwqDCoMKgwqDCoCBib29s
IGlzX2NvcnJ1cHQgPSBmYWxzZTsNCj4+Pj4gK8KgwqDCoCBib29sIGNoa19xdW90YTsNCj4+
Pj4gwqDCoMKgwqDCoCBpbnQgcmV0Ow0KPj4+PiDCoMKgwqDCoMKgIGlmICghYXJnIHx8ICgh
c3RyZXEoYXJnLCAiVCIpICYmICFzdHJlcShhcmcsICJGIikpKQ0KPj4+PiBAQCAtNTIzLDEz
ICs1MzIsMTYgQEAgaW50IGRvX3RyYW5zYWN0aW9uX2VuZChjb25zdCB2b2lkICpjdHgsIHN0
cnVjdCANCj4+Pj4gY29ubmVjdGlvbiAqY29ubiwNCj4+Pj4gwqDCoMKgwqDCoCBpZiAoIWNv
bm4tPnRyYW5zYWN0aW9uX3N0YXJ0ZWQpDQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBjb25u
LT50YV9zdGFydF90aW1lID0gMDsNCj4+Pj4gK8KgwqDCoCBjaGtfcXVvdGEgPSB0cmFucy0+
bm9kZV9jcmVhdGVkICYmIGRvbWFpbl9pc191bnByaXZpbGVnZWQoY29ubik7DQo+Pj4+ICsN
Cj4+Pj4gwqDCoMKgwqDCoCAvKiBBdHRhY2ggdHJhbnNhY3Rpb24gdG8gY3R4IGZvciBhdXRv
LWNsZWFudXAgKi8NCj4+Pj4gwqDCoMKgwqDCoCB0YWxsb2Nfc3RlYWwoY3R4LCB0cmFucyk7
DQo+Pj4+IMKgwqDCoMKgwqAgaWYgKHN0cmVxKGFyZywgIlQiKSkgew0KPj4+PiDCoMKgwqDC
oMKgwqDCoMKgwqAgaWYgKHRyYW5zLT5mYWlsKQ0KPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCByZXR1cm4gRU5PTUVNOw0KPj4+PiAtwqDCoMKgwqDCoMKgwqAgcmV0ID0gYWNj
X2ZpeF9kb21haW5zKCZ0cmFucy0+Y2hhbmdlZF9kb21haW5zLCBmYWxzZSk7DQo+Pj4+ICvC
oMKgwqDCoMKgwqDCoCByZXQgPSBhY2NfZml4X2RvbWFpbnMoJnRyYW5zLT5jaGFuZ2VkX2Rv
bWFpbnMsIGNoa19xdW90YSwNCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBmYWxzZSk7DQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAocmV0
KQ0KPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPj4+PiDC
oMKgwqDCoMKgwqDCoMKgwqAgcmV0ID0gZmluYWxpemVfdHJhbnNhY3Rpb24oY29ubiwgdHJh
bnMsICZpc19jb3JydXB0KTsNCj4+Pj4gQEAgLTUzOSw3ICs1NTEsNyBAQCBpbnQgZG9fdHJh
bnNhY3Rpb25fZW5kKGNvbnN0IHZvaWQgKmN0eCwgc3RydWN0IA0KPj4+PiBjb25uZWN0aW9u
ICpjb25uLA0KPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgd3JsX2FwcGx5X2RlYml0X3RyYW5z
X2NvbW1pdChjb25uKTsNCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIC8qIGZpeCBkb21haW4g
ZW50cnkgZm9yIGVhY2ggY2hhbmdlZCBkb21haW4gKi8NCj4+Pj4gLcKgwqDCoMKgwqDCoMKg
IGFjY19maXhfZG9tYWlucygmdHJhbnMtPmNoYW5nZWRfZG9tYWlucywgdHJ1ZSk7DQo+Pj4+
ICvCoMKgwqDCoMKgwqDCoCBhY2NfZml4X2RvbWFpbnMoJnRyYW5zLT5jaGFuZ2VkX2RvbWFp
bnMsIGZhbHNlLCB0cnVlKTsNCj4+Pg0KPj4+IEluIHRoZW9yeSwgc2hvdWxkbid0IHdlIHBh
c3MgJ2Noa19xdW90YScgcmF0aGVyIHRoYW4gZmFsc2U/IEluIHByYWN0aWNlLCBJIA0KPj4+
IGtub3cgaXQgZG9lc24ndCBtYWtlIGFueSBkaWZmZXJlbmNlIGJldHdlZW4gdGhpcyBpcyBh
biB1cGRhdGUuDQo+Pg0KPj4gV2UgZXhwbGljaXRseSBkb24ndCB3YW50IHRvIGNoZWNrIHF1
b3RhIGluIHRoZSAidXBkYXRlIiBjYXNlLiBTbyBzcGVjaWZ5aW5nDQo+PiAiZmFsc2UiIGlz
IHRoZSBjb3JyZWN0IHRoaW5nIHRvIGRvIElNSE8uDQo+IA0KPiBMZXQgbWUgcmVwaHJhc2Ug
bXkgY29tbWVudCBkaWZmZXJlbnRseS4gV2hhdCB3b3VsZCBoYXBwZW4gaWYgdGhlIHVzZXIg
cGFzcyANCj4gJ3RydWUnPyBXb3VsZCB3ZSBjaGVjayB0aGUgcXVvdGEgb3Igbm90Pw0KPiAN
Cj4gSSBzdXNwZWN0IHRoaXMgaXMgYSBubywgaGVuY2Ugd2h5IEkgd2FzIHN1Z2dlc3RlZCB0
aGUgY29tbWVudCB0byBzYXkgdGhlIGZpZWxkIA0KPiBpcyBpZ25vcmVkLiBBbHRlcm5hdGl2
ZWx5LCB3ZSBjb3VsZCBhZGQgYW4gYXNzZXJ0IHRoYXQgZW5zdXJlIHRoYXQgY2hrX3F1b3Rh
IGlzIA0KPiBmYWxzZSB3aGVuIHVwZGF0ZSBpcyB0cnVlLg0KDQpPa2F5LCBJJ2xsIGFkZCB0
aGUgY29tbWVudC4NCg0KDQpKdWVyZ2VuDQo=
--------------6ry5m0FHzhMaBuav0HLNCsbM
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-----

--------------6ry5m0FHzhMaBuav0HLNCsbM--

--------------hOfACO0tQhNOBfaABgW0WZFf--

--------------RMYCgBSkyAKaZoI50COe10sP
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQcYGgFAwAAAAAACgkQsN6d1ii/Ey9/
ZAgAkc4DQx6qW8cS/uYLhLZcDkWzCsgu+T5y+qLaSkEdEOL9o/Ct3oSaaa9P0zr0xWOwx8AdGR+J
Pcba1vf/44qbjPmq7F5uBx3QdgNMn5AEJ2eH0RmpJEQeXsbSo7PjjOFYIBdRyyfDQ2913rOVKdzx
ULLf7Q6frfWACGClTQEBM+AenpfCZhFW73MWVLG6gSzQrrnS0FH40pE6foQ9rdo+TXTPWt9t/0ks
Zb+leg1iwsdBJ5qwxtLtdqJSBf/sweS5rohpKzTLifiYTHGRv19ja0SqsVtipVsqm988F7ckHFf6
Dx6mKZb8Ix91R4qyTRH8P+BJAoY/di408i5EuLR9lA==
=CgFg
-----END PGP SIGNATURE-----

--------------RMYCgBSkyAKaZoI50COe10sP--


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 14:26:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 14:26:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513909.795641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLta-0007Wr-2I; Thu, 23 Mar 2023 14:26:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513909.795641; Thu, 23 Mar 2023 14: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 1pfLtZ-0007Wk-Ve; Thu, 23 Mar 2023 14:26:25 +0000
Received: by outflank-mailman (input) for mailman id 513909;
 Thu, 23 Mar 2023 14:26: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=fJyN=7P=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfLtY-0007We-Ak
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 14:26:24 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on0605.outbound.protection.outlook.com
 [2a01:111:f400:fe1e::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af6dc3af-c986-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 15:26:22 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7329.eurprd04.prod.outlook.com (2603:10a6:20b:1d0::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 14:26:20 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 14: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: af6dc3af-c986-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BY/qwqSpapkW/47cDEVzLcA5Fq9P6ssdkpEXAOzLeUQv//P0GECvc5+9QqWkjVfnsCJEwrJrMlVYg7W1WGa+hg2skmaF6zAHtXKCf0qeTzg4avBOMylLuGkETIUicTCzZdUcx1NUGTlf3RhkR7q4/QjqmQzBxA27z/am9DeUrFQzJKLbXjO6zQSE4TLk8MnSXMzGoAX1Crg/yfdf4KryTI/jjg2oVexZQ4oDmUkxWHYZ3mGWxBzej/HV+qdtQ3D0UHTZANdy1sMcMveSfQmlqFOUjjgqvZajM5VBDomEJDYybGzksflEOezsW7cyfb8Nf1pbcDWf/kfQvR8LzkDfCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rVsgWoRr3DjXO6JZR+yG18J1JlhWeVsNBbGMBDTyyd8=;
 b=QGL6CM/UiXr9vWEE4Y4Jbbu6VZof0CrtiqzEHR3IXf9E3y2EmWSwlIJr/qeYskOJeQ+NWeDlYgMhbnx+zhBxRneQi8EArxWsZ0SAatmWjQO/ckFVt4wJm3f43g00DyaoKqLEhcwfRlJ1mzYaximLBVcK25ZQXUCyvqkuQtLakgtKNPu9JMc6clpETmQTwFZzcQpe+b4Z+3TdVd1xRcWSnce6+A2drExzm/nL4pWjVuhVc3zGi0aMwCdLKRDHOdCu/U8qJDzEpeRuHWLGBdd5XF1mWQNEEYemMqO3ZyBnKTeDqbr+DBNreDamb6xNEAI0O0TZ/9iVBjQ5LrR/aL5Kzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rVsgWoRr3DjXO6JZR+yG18J1JlhWeVsNBbGMBDTyyd8=;
 b=0nu5KOrO9WKVJggYi4Qdbx/DuKHyOjJMkAMH1DYxkErvt4Yk8UQoq8HWaTXRfCiEuzchJ6ODNdauH0UBHJQYHfIYJ7tizVixNIb6qOB8bPhCsUbw4muKagKfHjvfxTJWPnHMxL3zJQBBvGUfVyDD+ecth/9wRPzL6hagQae+zOnEOpF+nbibzXszQNQ3YS04Ga7h0EMO80x9ksbrvsSCI0B+bPE6sbihjZtZLgxTOCfZqnAv4J+QJfMJIo/bhd454YhcOTdnmRqPeYL0Q2eyiyJL+NC+g9Peff1anBur1qVRCsfLBBknLI4U8FS6h20oSkO49H0kNXubyFyce573VQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a15f4c53-3ef8-7123-a47b-1e697314222f@suse.com>
Date: Thu, 23 Mar 2023 15:26:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v4] x86: detect CMOS aliasing on ports other than
 0x70/0x71
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>, Paul Durrant <paul@xen.org>,
 Wei Liu <wl@xen.org>
References: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
 <367d0223-d481-b7a3-3b79-a9bc6f00531e@suse.com>
 <ZBm7N7oEDPlPmZ87@Air-de-Roger>
 <51ee4bf5-fd96-4fb2-c91e-36780b0f7ad9@suse.com>
 <ZBxGR2j1dnvLgy/A@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBxGR2j1dnvLgy/A@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FRYP281CA0016.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::26)
 To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7329:EE_
X-MS-Office365-Filtering-Correlation-Id: c5538ba2-6095-4e1c-6302-08db2baa9275
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	udiewg21+MDDOZ6sprTYPLopuKicFnscv9gWi/rhBcCTLXRsDSAhOGOQq8iqoTi0/m1Gpd3sCybcUsxzgDO3kN3RtTWHScF4XRZBXo+Vd7Q3OZjp1o9gKMlaVA2nXiKx8Qw/ACut/dcgdIQ8TYCjugBxmQxejFK7/o0iYhGS4ASTmqII3ACOv0dr1qZ+7XY6ApQ90aW28jdsAcnYEty2Z0UDLUh/y1bxwaKxaBtkRrf4idvCZWQFmvCUDLdmqmvwNxF/27//C8eY1Z6xJhhuTFEJW37nYy4R0joPDAw8z6mIj3rdvglcDerh8bjPDu/bkYuhUkoFWDEalr+YgoQBUSKzNVIoX/wqaf29Uw/fNcNtTaACKuCWtsaMOPY8CUnTTuLSkSxBB3APGTbKWvlnn/aKys7ziFZxEVB5dXH5dozx+RmvkGIbuhWYyHJr3q686ATnmF4VwZRVt41qijcEfRWdLzYTckLAL2PXpL2scVewoYHR9DNnJ8AVbhoPzOIHB3IEyuDmgG/BXFho7QSaYdsrgb4eNIs48SJ057gVYfthO283XCrID6OH4XiaxZ6DnNMJXBvhkCM096UtLYMyUVgOUnc6dtgX1UboXzJfU7nP3pjfhIUAQySgQWTfDE7PZWuiNtOhTSEPDiQQXFKbyaq5Hoz4rwIRQu9mI1giToVx6aqmdcb/Fz4+wN0ik9+lDeL6oiovBsrt3fV1n+3/MNTej534sF/40dkBSEt5FJo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(376002)(346002)(136003)(366004)(396003)(451199018)(31686004)(66476007)(6916009)(5660300002)(4326008)(41300700001)(8676002)(2906002)(86362001)(31696002)(36756003)(38100700002)(26005)(6486002)(478600001)(316002)(66946007)(66556008)(8936002)(2616005)(83380400001)(6506007)(54906003)(6512007)(53546011)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eFV0NTV3YUVlTVVOTGFZbmZQR0E4dEd3WlY2cWJnWTh3QUpGRUl2TU8rQ0Ja?=
 =?utf-8?B?THVIdlJERnpCN05oQVFFdHAxSlNGZDk3a082T3hTTmdBeDRRS0QrNGVaZ2Rq?=
 =?utf-8?B?TmdrSHlwV2QrQXU3YitJRjBFRXZ1dE5MV2lpcEhCdm9acG1SeVhjNGlpVGdH?=
 =?utf-8?B?OUFLR0h2NGxCVVJFaUwrYWM3VENyL1BnaTduZVlZZlFKSmo5VjhNMjhlay9p?=
 =?utf-8?B?cjRJMlU4c1ZtTm9PN0t1eFMwNFllendCTHJkRy9ORHFteWRkb3hBZDQyZWFV?=
 =?utf-8?B?aFN1YnUrVlRNNHN0YiswWTZPcXcwcmcwRm50KzQ3MTRVSkl1RDhKcFp5cEdn?=
 =?utf-8?B?K0JPR2pLUkNIZDVoOHI2WWVmbTNHOUFocGZPTllJYlU0a0puOTVVckJxT3Uz?=
 =?utf-8?B?OGJjZGozOWFwUjJoUkZpQU1YanVPVjgvOVNHRTN0cjQ1L1NNcm1CS0l3Unpu?=
 =?utf-8?B?SEE1OEs3NHJtemExeW1pMzU4RngxTzdCKzN1T2JpcDF1cHlId2FJUEtsRnJB?=
 =?utf-8?B?NzF3YkJNaWFGVDVsaUw0M3RzMU51SFlueHUwSDNjcjZnaG9sNjd6WExQbUsz?=
 =?utf-8?B?QTdzZVpMN3hJeWFldFpIcFVYSVZ1TXlTL2Y5YWdBdW1ST2c0UnFLUm5NRVo1?=
 =?utf-8?B?U0gyK1VqdEFCY2M0TFc4bEVrbnBWQ0pIYWpNN1dXYXFDS1ZWZXFqZDZINUsw?=
 =?utf-8?B?R1huSkZOTVZRUlErTlpwRVRDM2Z4Wng0bWhtT3ZHQlNrWFBPL2g1bStibGlm?=
 =?utf-8?B?aVV5Y0twODdabEE1WHdwU2VnZ2pGZ1hybW1zK29ZS2lpcityTzczdUxYWmVk?=
 =?utf-8?B?WmZFQklBUkowaVRINDdnRUFiRFhuVGR0bkNuYjNsY3l2M0d1ZDRkenRQL3ky?=
 =?utf-8?B?ZXZqSEJ5QUpPWWtoSVpLd2RTalRLb1lsTG1QSnl1U2I5bTAvTjhxQTl0VzNi?=
 =?utf-8?B?MnY4Ukw3R01UK0FDeDBscVErVWtnUmVjRWpQdlVRSUNySGlSMFAydFoxOEp1?=
 =?utf-8?B?eG5RVm4zSFN3OStpb3RDbHhsbW5UaHNkT3FNR2tDZXBPTFJqdGtwZU5VZHhm?=
 =?utf-8?B?VktWOEplZ2laYndXT1dPTjZza1U4TS91S0pBVUtTWTFZcFllSWxUckt6NGor?=
 =?utf-8?B?eTFUN0JoMDMxeDNjVGRRUlpzUnpGeGk0VEdGSTRZOW5KMnF0RUk1M213UmZt?=
 =?utf-8?B?djljQ1R0TmFwUEQ2NCtWL3A0ZnZGM3ZGcmRtNDl0cW9jNGwvQUZLZkVJOXBr?=
 =?utf-8?B?ZGhxMXhSL3grK05tNXRlU25nSzZGSWd4VXYwNFBXOG8rZDM0NUlXOExTenVs?=
 =?utf-8?B?dG5ocnkxOU92QlYxWEpncm85ZjNDUkNnQ2d0M3F2S0tVMEhQYnhLS0lYMXpY?=
 =?utf-8?B?aGxobDY4em9XVmVNdW1mZEpEamtqV2dnM0FpcUhoNGZHeXgwWXJjRWNQcFlY?=
 =?utf-8?B?T0J1QjF1Zm5wbDZYbU16MmtQWUJtMjRzQWUxcjcxT3BZSGJNeGd4aEN4RDBz?=
 =?utf-8?B?TlZXU1FyTnlFMjh2V2xwdk9uQjFkWkZaYitGUkFkT2M0aTJCdlVGR2ZYSmhH?=
 =?utf-8?B?YktLNTUwallkQjNUVmJDUkJMbWN5UDM3WUlnY21OTTBKdWFhSElzeWgzM3gw?=
 =?utf-8?B?S1kxU2p1c09wOWdnTUtkZFFvWnhJTkdZaWEyNTNZOWU5N0ZlWG1qR25DN0Zr?=
 =?utf-8?B?L09HQ2tkekxIVG9FaVZ4R1RtWmlyZVY4UkVMOHIxT2h1QWdNdjYvOWF2VS9y?=
 =?utf-8?B?SHVVUGgva0hlcy9iWHZLUlVqMXRva3Y3c0FKQWwvZnpnaUhGZ1MwZzcxTCtQ?=
 =?utf-8?B?TytJVFhUNkJqVjlyUUNjVXJiOG92d0JlRzBRY0RLbmVuaWJqbytOV3lKck43?=
 =?utf-8?B?c3gzRXpEUkxFRTBTd3NsaTBWZmtTNnJVZ1dUZUdGQmZ6a1ErandwaW1kUDZy?=
 =?utf-8?B?RkE2WGJheUFZM3czcm5zNFJjN0tBT2czZlM2Q1AvWFFEUDlMYStRZis2ekJR?=
 =?utf-8?B?dFVpcStDVFA2dVJnbnVGaVByMGxlNzVvNmRMNWtsN0VoOEE4VUlUcGgxajdj?=
 =?utf-8?B?MTVTeFFsTm8zejkvcmVSejdpbkFiSW55MEhYem4vcEFaSDBhUUNsRWhHOUV6?=
 =?utf-8?Q?vOYpAa+Tg9iftYHWd6Tjmxtb/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5538ba2-6095-4e1c-6302-08db2baa9275
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 14:26:20.8564
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wwtPJfOHzInBkLzoWIHUKTaFTTQUlLIg7OVmW23nuAOlcgstVqr5vFdfKz9EIWLoKrSKATZNrOO9Tk1ujqUr+Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7329

On 23.03.2023 13:29, Roger Pau Monné wrote:
> On Wed, Mar 22, 2023 at 10:55:42AM +0100, Jan Beulich wrote:
>> On 21.03.2023 15:12, Roger Pau Monné wrote:
>>> On Mon, Mar 20, 2023 at 09:32:26AM +0100, Jan Beulich wrote:
>>>> ... in order to also intercept Dom0 accesses through the alias ports.
>>>
>>> I'm trying to get some documentation about this aliasing, but so far I
>>> haven't been able to find any.  Do you have any references of where I
>>> might be able to find it?
>>
>> I think several ICH datasheet documents mention this. Right now I'm
>> looking at the ICH10 one (319973-003), section 13.6.1 ("I/O Register
>> Address Map" under "Real Time Clock Registers").
> 
> Thanks, I had to fetch this from elsewhere as I haven't been able to
> find it on the Intel documentation site, maybe it's too old?
> 
>> But such aliasing (really: lack of decoding) has been present on
>> various of the low 1024 ports from the very early days of x86. So we
>> may want to take care of such elsewhere as well, e.g. for the PIC
>> (where aforementioned doc also explicitly mentions the aliases).
> 
> I wonder how relevant those aliases are for OSes, do we know of any OS
> that uses them?
> 
> For example we don't seem to provide them to HVM guests at all, and we
> seem to get away with it.

There are two aspects here: One is the functionality that becomes available
specifically via using the aliases here (and I'm not 100% certain this isn't
chipset dependent in the first place), allowing access to the full 256 bytes
of CMOS storage (i.e. no parts clipped off for the RTC registers). The other
aspect is simply disallowing access to ports we mean Dom0 to not have access
to. That would be the sole purpose e.g. for the PIC port ranges. Otherwise
there's little point disallowing access to the base ranges, imo.

>>>> Also stop intercepting accesses to the CMOS ports if we won't ourselves
>>>> use the CMOS RTC.
>>>
>>> Could this create any concerns with the ability to disable NMIs if we
>>> no longer filter accesses to the RTC?
>>
>> Hmm, that's a valid concern, but I'm not sure in how far we need to
>> be worried about giving Dom0 this level of control. As long as we
>> don't use it ourselves of course (I'm unaware of us using this
>> anywhere). If we're worried, we could continue to intercept port
>> 0x70 alone, just to mask off the top bit for writes.
> 
> I would be mostly worried about dom0 disabling NMI and thus causing
> the Xen watchdog to trigger for example.  I don't think we should
> allow dom0 to disable NMIs at all.

I'll see what I can do, preferably without keeping the intercepts fully
engaged.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 14:30:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 14:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513914.795651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLx6-0000SZ-Mg; Thu, 23 Mar 2023 14:30:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513914.795651; Thu, 23 Mar 2023 14:30: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 1pfLx6-0000Ry-Hd; Thu, 23 Mar 2023 14:30:04 +0000
Received: by outflank-mailman (input) for mailman id 513914;
 Thu, 23 Mar 2023 14:30: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 1pfLx4-00007f-Fj
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 14:30: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 1pfLx2-0001gZ-Pl; Thu, 23 Mar 2023 14:30:00 +0000
Received: from 54-240-197-233.amazon.com ([54.240.197.233]
 helo=[192.168.18.79]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pfLx2-0004gK-Jp; Thu, 23 Mar 2023 14:30: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=Dkt036WW39Yv0aJyWq1waeDGCZb1xwqG+2tsDEcuHZM=; b=Ix8MHSkWuu7m0IcnKKLThDx0PR
	Rj085A3ttLm4tFwOfGUBTpv8C82UsWh+5+hwz4593oWK172QcAuv/0B8waEefN2JpwGmuVvbxcUKH
	lbhpo1NDZCcVoZqkTrwa/tNZttgQnbbiwOkG0qVcxOlpelDFC6bokVI//42BVKEhi/Gc=;
Message-ID: <f2fd8967-7dc5-4aeb-ae72-623bc4ae3e4d@xen.org>
Date: Thu, 23 Mar 2023 14:29:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH] tools/xenstore: fix quota check in acc_fix_domains()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230224155848.31036-1-jgross@suse.com>
 <a8e71268-6111-d4d5-5cba-ed141dba530d@xen.org>
 <363e4526-6bc2-d961-88ac-93ba82e2e30c@suse.com>
 <b95864bf-014f-7b1d-3c07-295705cdba0d@xen.org>
 <92b2f26a-fd2e-2826-d38f-3ca45727bfb3@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <92b2f26a-fd2e-2826-d38f-3ca45727bfb3@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 23/03/2023 14:21, Juergen Gross wrote:
> On 23.03.23 15:20, Julien Grall wrote:
>> Hi,
>>
>> On 23/03/2023 12:53, Juergen Gross wrote:
>>> On 23.03.23 13:38, Julien Grall wrote:
>>>> Hi Juergen,
>>>>
>>>> On 24/02/2023 15:58, Juergen Gross wrote:
>>>>> Today when finalizing a transaction the number of node quota is 
>>>>> checked
>>>>> to not being exceeded after the transaction. This check is always 
>>>>> done,
>>>>> even if the transaction is being performed by a privileged connection,
>>>>> or if there were no nodes created in the transaction.
>>>>>
>>>>> Correct that by checking quota only if:
>>>>> - the transaction is being performed by an unprivileged guest, and
>>>>> - at least one node was created in the transaction
>>>>>
>>>>> Reported-by: Julien Grall <julien@xen.org>
>>>>> Fixes: f2bebf72c4d5 ("xenstore: rework of transaction handling")
>>>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>>>> ---
>>>>>   tools/xenstore/xenstored_core.c        |  3 +++
>>>>>   tools/xenstore/xenstored_domain.c      |  4 ++--
>>>>>   tools/xenstore/xenstored_domain.h      |  2 +-
>>>>>   tools/xenstore/xenstored_transaction.c | 16 ++++++++++++++--
>>>>>   tools/xenstore/xenstored_transaction.h |  3 +++
>>>>>   5 files changed, 23 insertions(+), 5 deletions(-)
>>>>>
>>>>> diff --git a/tools/xenstore/xenstored_core.c 
>>>>> b/tools/xenstore/xenstored_core.c
>>>>> index a61db2db2d..3ca68681e3 100644
>>>>> --- a/tools/xenstore/xenstored_core.c
>>>>> +++ b/tools/xenstore/xenstored_core.c
>>>>> @@ -1472,6 +1472,9 @@ static struct node *create_node(struct 
>>>>> connection *conn, const void *ctx,
>>>>>       if (!node)
>>>>>           return NULL;
>>>>> +    if (conn && conn->transaction)
>>>>> +        ta_node_created(conn->transaction);
>>>>> +
>>>>>       node->data = data;
>>>>>       node->datalen = datalen;
>>>>> diff --git a/tools/xenstore/xenstored_domain.c 
>>>>> b/tools/xenstore/xenstored_domain.c
>>>>> index d7fc2fafc7..f62be2245c 100644
>>>>> --- a/tools/xenstore/xenstored_domain.c
>>>>> +++ b/tools/xenstore/xenstored_domain.c
>>>>> @@ -544,7 +544,7 @@ static struct domain 
>>>>> *find_domain_by_domid(unsigned int domid)
>>>>>       return (d && d->introduced) ? d : NULL;
>>>>>   }
>>>>> -int acc_fix_domains(struct list_head *head, bool update)
>>>>> +int acc_fix_domains(struct list_head *head, bool chk_quota, bool 
>>>>> update)
>>>>>   {
>>>>>       struct changed_domain *cd;
>>>>>       int cnt;
>>>>> @@ -552,7 +552,7 @@ int acc_fix_domains(struct list_head *head, 
>>>>> bool update)
>>>>>       list_for_each_entry(cd, head, list) {
>>>>>           cnt = domain_nbentry_fix(cd->domid, cd->nbentry, update);
>>>>>           if (!update) {
>>>>> -            if (cnt >= quota_nb_entry_per_domain)
>>>>> +            if (chk_quota && cnt >= quota_nb_entry_per_domain)
>>>>>                   return ENOSPC;
>>>>>               if (cnt < 0)
>>>>>                   return ENOMEM;
>>>>> diff --git a/tools/xenstore/xenstored_domain.h 
>>>>> b/tools/xenstore/xenstored_domain.h
>>>>> index dc4660861e..ec6aa00cc7 100644
>>>>> --- a/tools/xenstore/xenstored_domain.h
>>>>> +++ b/tools/xenstore/xenstored_domain.h
>>>>> @@ -96,7 +96,7 @@ void domain_outstanding_dec(struct connection 
>>>>> *conn);
>>>>>   void domain_outstanding_domid_dec(unsigned int domid);
>>>>>   int domain_get_quota(const void *ctx, struct connection *conn,
>>>>>                unsigned int domid);
>>>>> -int acc_fix_domains(struct list_head *head, bool update);
>>>>> +int acc_fix_domains(struct list_head *head, bool chk_quota, bool 
>>>>> update);
>>>>
>>>> Depending on the answer below, I would suggest to write that 
>>>> 'chk_quota' is ignored when ``update`` is true.
>>>
>>> With the answer below, do you agree that no additional comment is 
>>> needed?
>>> I'm fine either way.
>>>
>>>>
>>>>>   /* Write rate limiting */
>>>>> diff --git a/tools/xenstore/xenstored_transaction.c 
>>>>> b/tools/xenstore/xenstored_transaction.c
>>>>> index 1aa9d3cb3d..2b15506953 100644
>>>>> --- a/tools/xenstore/xenstored_transaction.c
>>>>> +++ b/tools/xenstore/xenstored_transaction.c
>>>>> @@ -160,12 +160,20 @@ struct transaction
>>>>>       /* List of changed domains - to record the changed domain 
>>>>> entry number */
>>>>>       struct list_head changed_domains;
>>>>> +    /* There was at least one node created in the transaction. */
>>>>> +    bool node_created;
>>>>> +
>>>>>       /* Flag for letting transaction fail. */
>>>>>       bool fail;
>>>>>   };
>>>>>   uint64_t generation;
>>>>> +void ta_node_created(struct transaction *trans)
>>>>> +{
>>>>> +    trans->node_created = true;
>>>>> +}
>>>>> +
>>>>>   static struct accessed_node *find_accessed_node(struct 
>>>>> transaction *trans,
>>>>>                           const char *name)
>>>>>   {
>>>>> @@ -509,6 +517,7 @@ int do_transaction_end(const void *ctx, struct 
>>>>> connection *conn,
>>>>>       const char *arg = onearg(in);
>>>>>       struct transaction *trans;
>>>>>       bool is_corrupt = false;
>>>>> +    bool chk_quota;
>>>>>       int ret;
>>>>>       if (!arg || (!streq(arg, "T") && !streq(arg, "F")))
>>>>> @@ -523,13 +532,16 @@ int do_transaction_end(const void *ctx, 
>>>>> struct connection *conn,
>>>>>       if (!conn->transaction_started)
>>>>>           conn->ta_start_time = 0;
>>>>> +    chk_quota = trans->node_created && domain_is_unprivileged(conn);
>>>>> +
>>>>>       /* Attach transaction to ctx for auto-cleanup */
>>>>>       talloc_steal(ctx, trans);
>>>>>       if (streq(arg, "T")) {
>>>>>           if (trans->fail)
>>>>>               return ENOMEM;
>>>>> -        ret = acc_fix_domains(&trans->changed_domains, false);
>>>>> +        ret = acc_fix_domains(&trans->changed_domains, chk_quota,
>>>>> +                      false);
>>>>>           if (ret)
>>>>>               return ret;
>>>>>           ret = finalize_transaction(conn, trans, &is_corrupt);
>>>>> @@ -539,7 +551,7 @@ int do_transaction_end(const void *ctx, struct 
>>>>> connection *conn,
>>>>>           wrl_apply_debit_trans_commit(conn);
>>>>>           /* fix domain entry for each changed domain */
>>>>> -        acc_fix_domains(&trans->changed_domains, true);
>>>>> +        acc_fix_domains(&trans->changed_domains, false, true);
>>>>
>>>> In theory, shouldn't we pass 'chk_quota' rather than false? In 
>>>> practice, I know it doesn't make any difference between this is an 
>>>> update.
>>>
>>> We explicitly don't want to check quota in the "update" case. So 
>>> specifying
>>> "false" is the correct thing to do IMHO.
>>
>> Let me rephrase my comment differently. What would happen if the user 
>> pass 'true'? Would we check the quota or not?
>>
>> I suspect this is a no, hence why I was suggested the comment to say 
>> the field is ignored. Alternatively, we could add an assert that 
>> ensure that chk_quota is false when update is true.
> 
> Okay, I'll add the comment.

Thanks! No need to send a new version. I tested the code and confirmed 
that it solved the problem I reported. I would be happy to add the 
comment on commit once we agree on it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 14:30:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 14:30:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513916.795661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLxX-0001IU-U8; Thu, 23 Mar 2023 14:30:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513916.795661; Thu, 23 Mar 2023 14: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 1pfLxX-0001IN-R6; Thu, 23 Mar 2023 14:30:31 +0000
Received: by outflank-mailman (input) for mailman id 513916;
 Thu, 23 Mar 2023 14: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfLxX-0001I6-44
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 14:30:31 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3bdeb3a1-c987-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 15:30:21 +0100 (CET)
Received: from mail-co1nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 10:30:16 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA2PR03MB5692.namprd03.prod.outlook.com (2603:10b6:806:11f::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 14:30:14 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 14:30: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: 3bdeb3a1-c987-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679581826;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=3i38bzmdLGCH8TZ+3SE9xdpT7LC3B7d7XeF11esEVKg=;
  b=MN8BrHPMaVtrqDmKu+PxCb6gcENgnlSBayUdX4t28yaqO2Av02nvZyKS
   6rCk2fchKstW9fcvt0rUe9aug5fzYFKO0+/kRB04TPgyByhLGzNj7xxPb
   LSnKCvFoqr8NIKfNv2yYZdMi/ltb+S3TGB7pceJmhAH/tnStZyok6hX+u
   o=;
X-IronPort-RemoteIP: 104.47.56.169
X-IronPort-MID: 100834531
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:xTKAJ6p660V1Te0G+49/VZFJBpReBmIoZBIvgKrLsJaIsI4StFCzt
 garIBnTP/zYYTejf9xyPdyzpkwAu56AmtJjSVdsqH1mFXxA8puZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSJNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAA8RSj2Kguen/KPhSbho3eQKBfn0MqpK7xmMzRmBZRonabbqZvyToPR/hXI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jearaYSEEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhrqY62wHOnTV75Bs+RVKD+eXpr0eFcMtNG
 WkP/xggrppp6xn+JjX6d1jiyJKehTYeUddNF+wx6CmW17HZpQ2eAwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxRutPQAFIGlEYjULJSMZ4tzLsIw1yBXVQb5e/LWdi9T0HXT7x
 GmMpS1n3rEL15dVhuO84EzNhC+qqt7RVAkp6w7LX2WjqARkeIqiYI/u4l/ehRpdELukopC6l
 CBss6CjAComV/lhSATlrD0xIYyU
IronPort-HdrOrdr: A9a23:EGWxDai3Pgfrv3gD/bxbFKp8+nBQX8Z23DAbv31ZSRFFG/FwyP
 re+cjzhCWE6gr5BktQ+uxoYJPwMU819fZOkPEs1MSZLXrbUQqTXc9fBO7ZqQEIdBeOitK1uZ
 0QFZSWTeeAfGSS7vyKvDVQcexQv+VvmZrA7YyyoxgCLGEaD9AG0+46MHfkLqQcfng8OXNNLu
 vg2iMxnUvbRZ14VLXDOlA1G8n7i5nwvreOW29YOzcXrC21yR+44r/zFBaVmj0EVSlU/Lsk+W
 /Z1yTk+6SKqZiAu17h/l6Wy64TtMrqy9NFCsDJoNMSMC/QhgGhY5kkc6GevQoyvPqk5D8R4Z
 nxSlYbTodOAkHqDySISCjWqk3dOfEVmjjfIGqj8DneSArCNXQH4oR69Ntkm1DimjgdVZlHod
 d2NiSixsJqJCKFpT/64dfQURFsiw6bnVoO+NRj1UB3YM8mc7lWopUY/ERJVLE6PAy/xrwGPY
 BVfZrhDNA/SyLKU1np+lB1xtqiR3IyGQrDfk84ttKo6B0+pgEl86Ld/r1Aol4QsJ06UJVK/O
 LCL+Bhk6xPVNYfaeZnCP4GWtbfMB2BffvgChPYHb3cLtBMB1vd75rspLkl7uCjf5IFiJM0hZ
 TaSVtd8Wo/YVjnB8GC1IBCtkmlehTzYR39jsVFo5RpsLz1Q7TmdSWFVVA1isOl5/ESGNfSVf
 q/MI9fR/XjMWztE4BU2BCWYegfFVAOFMkO/torUVOHpczGboXsq+zAaf7WYKHgFD41M1mPSk
 frnAKDbfmownrbLEMQ2iKhL08FUnaPiq5NLA==
X-IronPort-AV: E=Sophos;i="5.98,285,1673931600"; 
   d="scan'208";a="100834531"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JnDd6HS1QaxltrpWsIxmVVm/uK6KvSRY7XuXRdTswc73MO7ZhMXoIHwAZm0Qwv0ExK6SDVFo9YagGKZ0nOnByHlsJOknVaHElfPGPKKrQb5Clr3fzYKJfth1LDYvHy3IcbKnG0THmoKmBFvcxfnCuoWrJ3OvY+WESQdpkJXhx7Bh5CauAMLjnkgLmLzzfHOW+HneZo8Qm2zJO2Qn0xUtPvOLGIKasFcRVU1sN1H77JaRgLk1aln8eIDMQPAWt83BW56yeyErXNLVokowKDg1/uyGWj4eQ52647LaCRHSct86xQpx3+No3U9uxzjAWpJN2sqAKkMjQJ+v3nvLjvvoIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3IFYq3fktJo5N4IqDV1lY8tYrnN47dNITp0LYdAAAaA=;
 b=Cj4Tn2mTfrF/nhEN8ap8A7HbMxhywnM/gSsDEhc4CBW3pcxufRctVb6pTYJ3qcfnUCwg3QiJW8kDbOCa2ucY8I+n+V7/ZKKMFEcBXt7WFJGWRfpoSI7KXGLK89eM/Uonzer705wK4/isL3MKEZvxeYm//+3pZeFOTS7N7jiEzLmnHUFn/Q65y20DsppO/G6bS5xOyA/w6VRrJ2ka6L+GraXdyVRkbOpZOhp2y6llcettgtxOalYVYsvw9Wet9guhmDAk3qkOg19frw16Jtx3CW5bVDtl6M5sV/RSH5xG09T2Q6HRcpTIcEwlj6SdLLdSM20EU00jToj6Jj3gCx8KYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3IFYq3fktJo5N4IqDV1lY8tYrnN47dNITp0LYdAAAaA=;
 b=pNuj3ZX9p7ww1SltLZ5wwTuB03ByKKvz6sxndTdwZoCfHkNDI5N8P+XJ8vHfJNUM57dXy+ZLq+BNWSPbgT7z1P2eOlg5xurfRNRULEhdJEsfgI3O5w0Orr4vYmUC72HWC1tsxhc9cXkK4KJur5HSWRKKuOqP5OjJUdfrmwJBWx4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <253e45ae-4b66-a618-6385-b0fa018e693a@citrix.com>
Date: Thu, 23 Mar 2023 14:30:08 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 10/16] x86/shadow: move OOS functions to their own file
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <88be7d2e-325b-2a32-fe9f-ce762bb7b606@suse.com>
In-Reply-To: <88be7d2e-325b-2a32-fe9f-ce762bb7b606@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0269.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:37a::9) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA2PR03MB5692:EE_
X-MS-Office365-Filtering-Correlation-Id: 3c308c6d-3475-4688-5f9e-08db2bab1dba
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Jdfxk7wadUoTE2hZjTq0akT+EH/j67UQ6nej2ruiZFKqSq2yRHOU9CzUFdnYV1ieXSqde/XQJ/nL5DBRjn3D8GIuvuVBthoAsNpjpNj0f/tTQcU5eeWaBKtln7n39LsmTEoiHUswo6hMJlKhZRqfMPJSGX2PBuMhN7LLbxldev6UDelMa3cc0zvutm3JMKJL4CTBU6sio00i/x8y1p3R+ZOIyuQUeFgjbMlXqPjggNILamIyhhQsxtfT+ZzErkVHGATg4WxEQmdNwXiHxO0CBoEXmelKlaFFXOQ8s0Skarf0WGPWM4Vi/VHI1Fqy5XKn07G/hLvKh5x/qQk36IRaO4kUzjq2qOw88hm54JiGnhCoIqmttsSKHRbjKhpkkcY6sRGC46fdtgPUxHJhJi9fr+ri4L+V26eLiGaXx7nRTODsU795yXoJVN6Rts3tDZOuOYaieolObm0XdPXJu15eaPfxDXPcFuILSkW9a31JAIAKoDeEItUaQGfNeUuPf/XWEuboNiIbVrCqKEQClzf9d06Ku6x2My309vyTWWVGDBPYokDKFj7W7YlaTJoUN3dSa/ma45cdh0we4jN+sjNQuCt22yYGmORPGEgZCTh8Tu0VE/bS7rcq5b742PsW+DxMZXujNosNvjw0xeB5BAL05ir5FzuWnXO3SWtqaxLpnSoNktVCBlCw30x2XU4hsWrUY9DoJIP0QUcyEc25usJnEhKiHPhHuSjjTtz/Kt1X12kFCj4N9/UuiToKVAMKFbsrL5uKHsEQqp1+v4SxxL3ZEDI5CQac2MORMnUoo46Hz8U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(136003)(346002)(396003)(39860400002)(376002)(451199018)(31696002)(82960400001)(86362001)(36756003)(38100700002)(2906002)(41300700001)(66476007)(4326008)(5660300002)(8676002)(30864003)(66556008)(8936002)(2616005)(66946007)(53546011)(186003)(6512007)(83380400001)(6506007)(54906003)(478600001)(110136005)(316002)(6666004)(26005)(6486002)(66899018)(31686004)(45980500001)(43740500002)(473944003)(414714003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y1k0dEJzY1VmNjZKZVJsdG9LeGFoTjRxK3lqc1ZPY25MeGxhcWNmVlJyZmFw?=
 =?utf-8?B?UjFYVGRXTG5Mbm82N2Z6N0NGdkhUMXBqazhvc09TalM5Q3I5cGcvWUFzcDZp?=
 =?utf-8?B?N25uUzFmVEtOdTFEemxmUnZiSVNoZGpCQytEWmtKQXFreG5yS3RFdmVIUlll?=
 =?utf-8?B?TmlkS3ZlbDl3R1VOZWlSRkNlMFAxN1VzWnBoRWxFVmFFbWQ2aU9LVE51MmNh?=
 =?utf-8?B?cDJQRmZlRmY0MVpPZHVoc2ZacEpKbHBXTWRVU1YrRm5obzJpcGx2TEdXQm51?=
 =?utf-8?B?enNXK3MzZE8vUWI4MVpIUm83THZMQUJFaFFQN3FpeVhadUx3OHVmQ1pKMFVa?=
 =?utf-8?B?cFJkcDFVZnlrcDFXV2hjUC8wSnJBcHY2Yk1EdWtQbTVDRENQOHFPeDZTZnhH?=
 =?utf-8?B?R1Jtd2V2aWgyT3dRZ0tTb2U0YjBhMU1YaFQ0enlrZkZTKzdhY3BsZUV6bXZz?=
 =?utf-8?B?OVp4am5aZGJsQW53NlZYTGdZMUFzSG1zUW1NdCtxdTVrcDJ2NXdKSDdCbTc4?=
 =?utf-8?B?ekZtZ1B4UDRncW5KMXFMd3VrOTdzN3ExT2FnL1RaeTBHK0dOQTR2U0ZOd0Jt?=
 =?utf-8?B?aGxTRjZEbmNOMk5tOE9OQXY5Vm9YWlM3T1ZlWHIyRnJkRHRXM2lkczBYN3I5?=
 =?utf-8?B?aDZYdHBQMjFvS2VWSThib2FzazBDTHhsTzVEbEZXbTdTNXF4Zjk4b1VXbUFX?=
 =?utf-8?B?a1pkUFlIRDVCeUdsNjN5THZQd2VJTkFzTk51MkhpeVNObkFDRklJTVlVdlJT?=
 =?utf-8?B?T3MrcmZVcndHQlJwalBnUE5MN0dpNmw5SSsvWmRjeFFPR3lEMkdqQTE1VUVS?=
 =?utf-8?B?bWRHWkowN3doMFJrcHVINEtmQkt5UXdJZ1llb29IcXBobXhtVUhCR3hGTkdY?=
 =?utf-8?B?QVNGWHJCRHducVhCVmdzaUN6b3ZhVTltc3hNM2hSdW4yODQ4b2ZyNmJPZjZZ?=
 =?utf-8?B?alRkVmRwMXpXREpCRmQxeldHejh1ZnlKZjI1MmsyMkIzdXhPRloxSE5RdXF2?=
 =?utf-8?B?K1dhclA1d2Y5dFRaZmVtYjY4c2FqWnpDSkpVb0RZSmFLSUdIcDFVNnRKN2J5?=
 =?utf-8?B?YStoR1dxRG9ralNOMG84MWN3VkdTdytzQ1F4Ly9aNW1pNDF2N0FHSFVYc1BR?=
 =?utf-8?B?NjAvL1pzZm5VL2E3aFRhSVZTQ3BJUGEvK2IyblRxelNESGQrZmFlcis4SE52?=
 =?utf-8?B?YmxmbWRiQUExcldmbzE4eDhzWEVVRzdFMDAxc1dWY0hNVzNTaHhkT3E5c0I0?=
 =?utf-8?B?OTRhWCtiejRsUWFCZCtuSVU4dDAxT25mM3BnTGFvbk1RK280ZDBYVjA3NllJ?=
 =?utf-8?B?M3ZRL0VkelBJT3BzRUREYzFGVWQ5aVBTWnBvRWdtdnM5eXVxY3AxdmNHeFhn?=
 =?utf-8?B?Ri9JN1VoR3pMTnBIQkZDUXM3WmUvS1hhQTk4MDYvOExNNFZ6K1NQeWNuVDhS?=
 =?utf-8?B?d2JkRW9MMWhUM2tCUUZ6ZS9xVkVBU2FRV2JiOEJCWHpNam5MbTFyREt6UnEx?=
 =?utf-8?B?RDYva0EwSXV5WWFWTFkzRzFLTFBrT0t5M0hKQ3Jpbm1UWnZjZ25wOUhPYTdC?=
 =?utf-8?B?d2FpNVcrWkUwRlpDK0QzRVVMQjA3RERYdk44T1dHZ1k1bVZUTmVOVFIrd1Er?=
 =?utf-8?B?d0djOWk5V0xlemI4S2JXS1dlaENTQUorSlg3b0doNXR3Z3hNUitrd0tUWmtE?=
 =?utf-8?B?cnhDWDZmb3ZtcWpGK3ZYMkVXcVFCdGIxTHQ4dXJvaXFwSkQ2MkdRR0ZWUDRI?=
 =?utf-8?B?T1RZZlR5Vjk4QWRIMWZiVlV0NHpYQloxdzRUdzVJdmtWS1RZcGFhRjI2RzRI?=
 =?utf-8?B?d0FiQUtVS2t2bnBqR0hDQ2VoZ0oxM285VGNqYXBzdU9SOWxJZHkyOFMyTXJD?=
 =?utf-8?B?L0w4MCtNeEhURlhGTlIyaWdNazl3K1hFOVZEZlVCckxMMjNYbCtBbndNNHl6?=
 =?utf-8?B?S0dLbFRIWXc3MXJTY0crVDFGcWlKTFRqOHN6TkVRUDZzaFpBbEtDdlh0QWww?=
 =?utf-8?B?UFh6YjdDSWZCWmdoK2Z1bzBScVJIZFhRWUJiV0l3ZVk1ell3YlFydU5jcWFP?=
 =?utf-8?B?Sk1PMjlVRW16YzMzOENZWWZwa04ydTlueHk1RFBzQ0IzbGkxRS9ZaDBNTFNQ?=
 =?utf-8?B?OHFZbFB4OGZTMDJ4Q2NaTWt3UGNHaHB1djRTbFFaeWwwU2tnVzVrN3J5dk4z?=
 =?utf-8?B?Y1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	U/oag0P/Ospo07Nfb9Jiubnkxu/T+VBeO1OCiJrQoNkHCBahwr3LaW1JI0MEXlRsmD9NFZ0PAhl/9W7Q2F10kMgcIUQp4E45qIOt5zogRrosa4UEaqvEOPTjYzhpq32IecRk0hYtt1JTuMNkU00ng9ztwmaP5h23HnpOuM5X2/Vhh4Gg4mSr2MAVp6468GOjRdog6dxHYokcCOkO97gM/QKs7M+7L6x4iTrP6iVu79dzS/uAsF8xxYujH5Y9RoP9BMI2n8C2zEpOMDfyLtdcfnIW2ktUtR5xe9RsotF0lhZ+DWM4JPdRNovkhPwnSJKFSmXz9K2sVwW0W3i3ubat0FHb/lNeMaZlQjYeM4bjy7sGJZ/RRK3nYm5Cg4j+wXJ7tSAa5QTYYU2QXzG9fRtXXiZ8pm9Bk51FZ0S5UjtbovyTYB/OO3rIvtQA0izEXRo1YzWQUThK7o46umZGch2M7pTguKl/P5tPLqEbkZ9JQ/KMK4hZjoQ9obTofnIUkg+bN51bYAjxntl0c1APp/xWR7a8ROmAGldTOP3iz4ABrQ2oxUhjG59kQfNVXsHNRhszrPe1IXlrk4tTVjrrkybEn8Y5VDIBwmog6oQreUIVEUUMwU50b49OMmW2NWt7jnADcOtLTSjrIM0TRXhLxbv52kbrSr6PBUFDE9TToGRNacGSQ1Thnn73mVRSnhTzIa5Oa/qpTxX5vVSsPG4D+AGDAWXPXMgyVsa/R9e3+YgRh6T9Qn4nWc/mXqZ693utnjJ+36aB72VZNs86/rgUOIo0+KJOt5erqqAzUlG7tIK0mSqeQrmzj1UWx0ikSVQkNQWp
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c308c6d-3475-4688-5f9e-08db2bab1dba
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 14:30:14.2462
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qZ91+Lu+9476CKPQ86KAtHF/FFXuBWRNGco8CI4N8r+D5uXOJ0t4iB9AbG8421DIvYVKMgxH7YYWX1i49Kr+2uxFB7d7CBeqAo7s/2bfM7g=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5692

On 22/03/2023 9:35 am, Jan Beulich wrote:
> --- /dev/null
> +++ b/xen/arch/x86/mm/shadow/oos.c
> @@ -0,0 +1,603 @@
> +/* SPDX-License-Identifier: GPL-2.0 */

GPL-2.0-only

The unqualified form in deprecated.

> +/******************************************************************************
> + * arch/x86/mm/shadow/oos.c
> + *
> + * Shadow code dealing with out-of-sync shadows.
> + * Parts of this code are Copyright (c) 2006 by XenSource Inc.
> + * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
> + * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> + */
> +
> +#include "private.h"
> +
> +#if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC)
> +
> +#include <xen/trace.h>
> +
> +#include <asm/shadow.h>
> +
> +/*
> + * From time to time, we let a shadowed pagetable page go out of sync
> + * with its shadow: the guest is allowed to write directly to the page,
> + * and those writes are not synchronously reflected in the shadow.
> + * This lets us avoid many emulations if the guest is writing a lot to a
> + * pagetable, but it relaxes a pretty important invariant in the shadow
> + * pagetable design.  Therefore, some rules:
> + *
> + * 1. Only L1 pagetables may go out of sync: any page that is shadowed
> + *    at at higher level must be synchronously updated.  This makes
> + *    using linear shadow pagetables much less dangerous.
> + *    That means that: (a) unsyncing code needs to check for higher-level
> + *    shadows, and (b) promotion code needs to resync.
> + *
> + * 2. All shadow operations on a guest page require the page to be brought
> + *    back into sync before proceeding.  This must be done under the
> + *    paging lock so that the page is guaranteed to remain synced until
> + *    the operation completes.
> + *
> + *    Exceptions to this rule: the pagefault and invlpg handlers may
> + *    update only one entry on an out-of-sync page without resyncing it.
> + *
> + * 3. Operations on shadows that do not start from a guest page need to
> + *    be aware that they may be handling an out-of-sync shadow.
> + *
> + * 4. Operations that do not normally take the paging lock (fast-path
> + *    #PF handler, INVLPG) must fall back to a locking, syncing version
> + *    if they see an out-of-sync table.
> + *
> + * 5. Operations corresponding to guest TLB flushes (MOV CR3, INVLPG)
> + *    must explicitly resync all relevant pages or update their
> + *    shadows.
> + *
> + * Currently out-of-sync pages are listed in a simple open-addressed
> + * hash table with a second chance (must resist temptation to radically
> + * over-engineer hash tables...)  The virtual address of the access
> + * which caused us to unsync the page is also kept in the hash table, as
> + * a hint for finding the writable mappings later.
> + *
> + * We keep a hash per vcpu, because we want as much as possible to do
> + * the re-sync on the save vcpu we did the unsync on, so the VA hint
> + * will be valid.
> + */
> +
> +#if SHADOW_AUDIT & SHADOW_AUDIT_ENTRIES_FULL
> +void sh_oos_audit(struct domain *d)
> +{
> +    unsigned int idx, expected_idx, expected_idx_alt;
> +    struct page_info *pg;
> +    struct vcpu *v;
> +
> +    for_each_vcpu(d, v)
> +    {
> +        for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
> +        {
> +            mfn_t *oos = v->arch.paging.shadow.oos;

Newline.

But the variable placement is weird.  oos ought to be one scope further
out to prevent recalculation in the for() loop, while pg and the two
expected could be at the inter-most scope.

> +            if ( mfn_eq(oos[idx], INVALID_MFN) )
> +                continue;
> +
> +            expected_idx = mfn_x(oos[idx]) % SHADOW_OOS_PAGES;
> +            expected_idx_alt = ((expected_idx + 1) % SHADOW_OOS_PAGES);
> +            if ( idx != expected_idx && idx != expected_idx_alt )
> +            {
> +                printk("%s: idx %x contains gmfn %lx, expected at %x or %x.\n",
> +                       __func__, idx, mfn_x(oos[idx]),
> +                       expected_idx, expected_idx_alt);
> +                BUG();
> +            }
> +            pg = mfn_to_page(oos[idx]);
> +            if ( !(pg->count_info & PGC_shadowed_pt) )
> +            {
> +                printk("%s: idx %x gmfn %lx not a pt (count %lx)\n",
> +                       __func__, idx, mfn_x(oos[idx]), pg->count_info);
> +                BUG();
> +            }
> +            if ( !(pg->shadow_flags & SHF_out_of_sync) )
> +            {
> +                printk("%s: idx %x gmfn %lx not marked oos (flags %x)\n",
> +                       __func__, idx, mfn_x(oos[idx]), pg->shadow_flags);
> +                BUG();
> +            }
> +            if ( (pg->shadow_flags & SHF_page_type_mask & ~SHF_L1_ANY) )
> +            {
> +                printk("%s: idx %x gmfn %lx shadowed as non-l1 (flags %x)\n",
> +                       __func__, idx, mfn_x(oos[idx]), pg->shadow_flags);
> +                BUG();
> +            }
> +        }
> +    }
> +}
> +#endif
> +
> +#if SHADOW_AUDIT & SHADOW_AUDIT_ENTRIES
> +void oos_audit_hash_is_present(struct domain *d, mfn_t gmfn)
> +{
> +    int idx;
> +    struct vcpu *v;
> +    mfn_t *oos;
> +
> +    ASSERT(mfn_is_out_of_sync(gmfn));
> +
> +    for_each_vcpu(d, v)
> +    {
> +        oos = v->arch.paging.shadow.oos;
> +        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;

Same for oos and idx here, which would shrink this function overall.

As a tangent, do we really want all these modulo 3's all over the
place?  It's a lot of divide instructions in paths that are fast-ish for
shadow guests.

> +        if ( !mfn_eq(oos[idx], gmfn) )
> +            idx = (idx + 1) % SHADOW_OOS_PAGES;
> +
> +        if ( mfn_eq(oos[idx], gmfn) )
> +            return;
> +    }
> +
> +    printk(XENLOG_ERR "gmfn %"PRI_mfn" marked OOS but not in hash table\n",
> +           mfn_x(gmfn));
> +    BUG();
> +}
> +#endif
> +
> +/* Update the shadow, but keep the page out of sync. */
> +static inline void _sh_resync_l1(struct vcpu *v, mfn_t gmfn, mfn_t snpmfn)

inline can go.

> +{
> +    struct page_info *pg = mfn_to_page(gmfn);
> +
> +    ASSERT(mfn_valid(gmfn));
> +    ASSERT(page_is_out_of_sync(pg));
> +
> +    /* Call out to the appropriate per-mode resyncing function */
> +    if ( pg->shadow_flags & SHF_L1_32 )
> +        SHADOW_INTERNAL_NAME(sh_resync_l1, 2)(v, gmfn, snpmfn);
> +    else if ( pg->shadow_flags & SHF_L1_PAE )
> +        SHADOW_INTERNAL_NAME(sh_resync_l1, 3)(v, gmfn, snpmfn);
> +    else if ( pg->shadow_flags & SHF_L1_64 )
> +        SHADOW_INTERNAL_NAME(sh_resync_l1, 4)(v, gmfn, snpmfn);
> +}
> +
> +static int sh_remove_write_access_from_sl1p(struct domain *d, mfn_t gmfn,
> +                                            mfn_t smfn, unsigned long off)
> +{
> +    ASSERT(mfn_valid(smfn));
> +    ASSERT(mfn_valid(gmfn));
> +
> +    switch ( mfn_to_page(smfn)->u.sh.type )
> +    {
> +    case SH_type_l1_32_shadow:
> +    case SH_type_fl1_32_shadow:
> +        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 2)
> +            (d, gmfn, smfn, off);
> +
> +    case SH_type_l1_pae_shadow:
> +    case SH_type_fl1_pae_shadow:
> +        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 3)
> +            (d, gmfn, smfn, off);
> +
> +    case SH_type_l1_64_shadow:
> +    case SH_type_fl1_64_shadow:
> +        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 4)
> +            (d, gmfn, smfn, off);
> +
> +    default:
> +        return 0;
> +    }
> +}
> +
> +/*
> + * Fixup arrays: We limit the maximum number of writable mappings to
> + * SHADOW_OOS_FIXUPS and store enough information to remove them
> + * quickly on resync.
> + */
> +
> +static inline int oos_fixup_flush_gmfn(struct vcpu *v, mfn_t gmfn,
> +                                       struct oos_fixup *fixup)

inline

> +{
> +    struct domain *d = v->domain;
> +    int i;
> +    for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )
> +    {
> +        if ( !mfn_eq(fixup->smfn[i], INVALID_MFN) )
> +        {
> +            sh_remove_write_access_from_sl1p(d, gmfn,
> +                                             fixup->smfn[i],
> +                                             fixup->off[i]);
> +            fixup->smfn[i] = INVALID_MFN;
> +        }
> +    }
> +
> +    /* Always flush the TLBs. See comment on oos_fixup_add(). */
> +    return 1;
> +}

This looks suspiciously like it ought to be a void function.  [edit, yes
- see later]

> +
> +void oos_fixup_add(struct domain *d, mfn_t gmfn,
> +                   mfn_t smfn,  unsigned long off)
> +{
> +    int idx, next;
> +    mfn_t *oos;
> +    struct oos_fixup *oos_fixup;
> +    struct vcpu *v;
> +
> +    perfc_incr(shadow_oos_fixup_add);
> +
> +    for_each_vcpu(d, v)
> +    {
> +        oos = v->arch.paging.shadow.oos;
> +        oos_fixup = v->arch.paging.shadow.oos_fixup;
> +        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
> +        if ( !mfn_eq(oos[idx], gmfn) )
> +            idx = (idx + 1) % SHADOW_OOS_PAGES;
> +        if ( mfn_eq(oos[idx], gmfn) )
> +        {
> +            int i;
> +            for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )

This is a case where "for ( int i = ..." would definitely read better. 
Luckily, this example is simple enough that the compiler has already
optimised properly.

> +            {
> +                if ( mfn_eq(oos_fixup[idx].smfn[i], smfn)
> +                     && (oos_fixup[idx].off[i] == off) )

Given that you mention style in the commit message, it would be nice to
move the && onto the previous line.

> +                    return;
> +            }
> +
> +            next = oos_fixup[idx].next;
> +
> +            if ( !mfn_eq(oos_fixup[idx].smfn[next], INVALID_MFN) )
> +            {
> +                TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_OOS_FIXUP_EVICT);
> +
> +                /* Reuse this slot and remove current writable mapping. */
> +                sh_remove_write_access_from_sl1p(d, gmfn,
> +                                                 oos_fixup[idx].smfn[next],
> +                                                 oos_fixup[idx].off[next]);
> +                perfc_incr(shadow_oos_fixup_evict);
> +                /*
> +                 * We should flush the TLBs now, because we removed a
> +                 * writable mapping, but since the shadow is already
> +                 * OOS we have no problem if another vcpu write to
> +                 * this page table. We just have to be very careful to
> +                 * *always* flush the tlbs on resync.
> +                 */
> +            }
> +
> +            oos_fixup[idx].smfn[next] = smfn;
> +            oos_fixup[idx].off[next] = off;
> +            oos_fixup[idx].next = (next + 1) % SHADOW_OOS_FIXUPS;
> +
> +            TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_OOS_FIXUP_ADD);
> +            return;
> +        }
> +    }
> +
> +    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
> +           mfn_x(gmfn));
> +    BUG();
> +}
> +
> +static int oos_remove_write_access(struct vcpu *v, mfn_t gmfn,
> +                                   struct oos_fixup *fixup)
> +{
> +    struct domain *d = v->domain;
> +    int ftlb = 0;
> +
> +    ftlb |= oos_fixup_flush_gmfn(v, gmfn, fixup);

Oof yes.

With oos_fixup_flush_gmfn() changed to being void, it is now obvious
that ftlb is unconditionally 1 throughout this function, which can be
simplified to just:

    oos_fixup_flush_gmfn(v, gmfn, fixup);
    if ( sh_remove_write_access(d, gmfn, 0, 0) == -1 )
    {
        shadow_remove_all_shadows(d, gmfn);
        return 1;
    }

    guest_flush_tlb_mask(d, d->dirty_cpumask);
    return 0;

Maybe we don't want to go that far, but it is overly complex in its
current form.

> +
> +    switch ( sh_remove_write_access(d, gmfn, 0, 0) )
> +    {
> +    default:
> +    case 0:
> +        break;
> +
> +    case 1:
> +        ftlb |= 1;
> +        break;
> +
> +    case -1:
> +        /*
> +         * An unfindable writeable typecount has appeared, probably via a
> +         * grant table entry: can't shoot the mapping, so try to unshadow
> +         * the page.  If that doesn't work either, the guest is granting
> +         * his pagetables and must be killed after all.
> +         * This will flush the tlb, so we can return with no worries.
> +         */
> +        shadow_remove_all_shadows(d, gmfn);
> +        return 1;
> +    }
> +
> +    if ( ftlb )
> +        guest_flush_tlb_mask(d, d->dirty_cpumask);
> +
> +    return 0;
> +}
> +
> +static inline void trace_resync(int event, mfn_t gmfn)

inline, and this reminds me that I *still* need to sort my series to
avoid stack rubble leakage in the trace subsystem.

"int" event really ought to become unsigned int, but it doesn't matter
in this case because the timestamp (bit 31) doesn't need setting.

> +{
> +    if ( tb_init_done )
> +    {
> +        /* Convert gmfn to gfn */
> +        gfn_t gfn = mfn_to_gfn(current->domain, gmfn);
> +
> +        __trace_var(event, 0/*!tsc*/, sizeof(gfn), &gfn);
> +    }
> +}
> +
> +/* Pull all the entries on an out-of-sync page back into sync. */
> +static void _sh_resync(struct vcpu *v, mfn_t gmfn,
> +                       struct oos_fixup *fixup, mfn_t snp)
> +{
> +    struct page_info *pg = mfn_to_page(gmfn);
> +
> +    ASSERT(paging_locked_by_me(v->domain));
> +    ASSERT(mfn_is_out_of_sync(gmfn));
> +    /* Guest page must be shadowed *only* as L1 when out of sync. */
> +    ASSERT(!(mfn_to_page(gmfn)->shadow_flags & SHF_page_type_mask
> +             & ~SHF_L1_ANY));
> +    ASSERT(!sh_page_has_multiple_shadows(mfn_to_page(gmfn)));
> +
> +    SHADOW_PRINTK("%pv gmfn=%"PRI_mfn"\n", v, mfn_x(gmfn));
> +
> +    /* Need to pull write access so the page *stays* in sync. */
> +    if ( oos_remove_write_access(v, gmfn, fixup) )
> +    {
> +        /* Page has been unshadowed. */
> +        return;
> +    }
> +
> +    /* No more writable mappings of this page, please */
> +    pg->shadow_flags &= ~SHF_oos_may_write;
> +
> +    /* Update the shadows with current guest entries. */
> +    _sh_resync_l1(v, gmfn, snp);
> +
> +    /* Now we know all the entries are synced, and will stay that way */
> +    pg->shadow_flags &= ~SHF_out_of_sync;
> +    perfc_incr(shadow_resync);
> +    trace_resync(TRC_SHADOW_RESYNC_FULL, gmfn);
> +}
> +
> +/* Add an MFN to the list of out-of-sync guest pagetables */
> +static void oos_hash_add(struct vcpu *v, mfn_t gmfn)
> +{
> +    int i, idx, oidx, swap = 0;
> +    mfn_t *oos = v->arch.paging.shadow.oos;
> +    mfn_t *oos_snapshot = v->arch.paging.shadow.oos_snapshot;
> +    struct oos_fixup *oos_fixup = v->arch.paging.shadow.oos_fixup;
> +    struct oos_fixup fixup = { .next = 0 };
> +
> +    for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )
> +        fixup.smfn[i] = INVALID_MFN;
> +
> +    idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
> +    oidx = idx;
> +
> +    if ( !mfn_eq(oos[idx], INVALID_MFN)
> +         && (mfn_x(oos[idx]) % SHADOW_OOS_PAGES) == idx )
> +    {
> +        /* Punt the current occupant into the next slot */
> +        SWAP(oos[idx], gmfn);
> +        SWAP(oos_fixup[idx], fixup);
> +        swap = 1;
> +        idx = (idx + 1) % SHADOW_OOS_PAGES;
> +    }
> +    if ( !mfn_eq(oos[idx], INVALID_MFN) )
> +    {
> +        /* Crush the current occupant. */
> +        _sh_resync(v, oos[idx], &oos_fixup[idx], oos_snapshot[idx]);
> +        perfc_incr(shadow_unsync_evict);
> +    }
> +    oos[idx] = gmfn;
> +    oos_fixup[idx] = fixup;
> +
> +    if ( swap )
> +        SWAP(oos_snapshot[idx], oos_snapshot[oidx]);
> +
> +    copy_domain_page(oos_snapshot[oidx], oos[oidx]);
> +}
> +
> +/* Remove an MFN from the list of out-of-sync guest pagetables */
> +void oos_hash_remove(struct domain *d, mfn_t gmfn)
> +{
> +    int idx;
> +    mfn_t *oos;
> +    struct vcpu *v;
> +
> +    SHADOW_PRINTK("d%d gmfn %lx\n", d->domain_id, mfn_x(gmfn));
> +
> +    for_each_vcpu(d, v)
> +    {
> +        oos = v->arch.paging.shadow.oos;
> +        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
> +        if ( !mfn_eq(oos[idx], gmfn) )
> +            idx = (idx + 1) % SHADOW_OOS_PAGES;
> +        if ( mfn_eq(oos[idx], gmfn) )
> +        {
> +            oos[idx] = INVALID_MFN;
> +            return;
> +        }
> +    }
> +
> +    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
> +           mfn_x(gmfn));
> +    BUG();
> +}
> +
> +mfn_t oos_snapshot_lookup(struct domain *d, mfn_t gmfn)
> +{
> +    int idx;
> +    mfn_t *oos;
> +    mfn_t *oos_snapshot;
> +    struct vcpu *v;
> +
> +    for_each_vcpu(d, v)
> +    {
> +        oos = v->arch.paging.shadow.oos;
> +        oos_snapshot = v->arch.paging.shadow.oos_snapshot;
> +        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
> +        if ( !mfn_eq(oos[idx], gmfn) )
> +            idx = (idx + 1) % SHADOW_OOS_PAGES;
> +        if ( mfn_eq(oos[idx], gmfn) )
> +        {
> +            return oos_snapshot[idx];
> +        }
> +    }
> +
> +    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
> +           mfn_x(gmfn));
> +    BUG();
> +}
> +
> +/* Pull a single guest page back into sync */
> +void sh_resync(struct domain *d, mfn_t gmfn)
> +{
> +    int idx;
> +    mfn_t *oos;
> +    mfn_t *oos_snapshot;
> +    struct oos_fixup *oos_fixup;
> +    struct vcpu *v;
> +
> +    for_each_vcpu(d, v)
> +    {
> +        oos = v->arch.paging.shadow.oos;
> +        oos_fixup = v->arch.paging.shadow.oos_fixup;
> +        oos_snapshot = v->arch.paging.shadow.oos_snapshot;
> +        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
> +        if ( !mfn_eq(oos[idx], gmfn) )
> +            idx = (idx + 1) % SHADOW_OOS_PAGES;
> +
> +        if ( mfn_eq(oos[idx], gmfn) )
> +        {
> +            _sh_resync(v, gmfn, &oos_fixup[idx], oos_snapshot[idx]);
> +            oos[idx] = INVALID_MFN;
> +            return;
> +        }
> +    }
> +
> +    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
> +           mfn_x(gmfn));
> +    BUG();
> +}
> +
> +/*
> + * Figure out whether it's definitely safe not to sync this l1 table,
> + * by making a call out to the mode in which that shadow was made.
> + */
> +static int sh_skip_sync(struct vcpu *v, mfn_t gl1mfn)
> +{
> +    struct page_info *pg = mfn_to_page(gl1mfn);

Newline here, and ...

> +    if ( pg->shadow_flags & SHF_L1_32 )
> +        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 2)(v, gl1mfn);
> +    else if ( pg->shadow_flags & SHF_L1_PAE )
> +        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 3)(v, gl1mfn);
> +    else if ( pg->shadow_flags & SHF_L1_64 )
> +        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 4)(v, gl1mfn);

here IMO.

> +    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not shadowed as an l1\n",
> +           mfn_x(gl1mfn));
> +    BUG();
> +}
> +
> +/*
> + * Pull all out-of-sync pages back into sync.  Pages brought out of sync
> + * on other vcpus are allowed to remain out of sync, but their contents
> + * will be made safe (TLB flush semantics); pages unsynced by this vcpu
> + * are brought back into sync and write-protected.  If skip != 0, we try
> + * to avoid resyncing at all if we think we can get away with it.
> + */
> +void sh_resync_all(struct vcpu *v, int skip, int this, int others)

This is begging to become

void sh_resync_all(struct vcpu *v, unsigned int flags)

because, if nothing else, it changes the callers to be:

sh_resync_all(v, RESYNC_THIS | RESYNC_OTHERS);
sh_resync_all(v, RESYNC_THIS);
sh_resync_all(v, RESYNC_SKIP | RESYNC_THIS);

which is far more readable that the raw numbers currently there.

I don't mind doing the patch, but I'll probably wait until you've got
this committed to avoid churn.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 14:30:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 14:30:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513917.795671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLxb-0001am-DT; Thu, 23 Mar 2023 14:30:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513917.795671; Thu, 23 Mar 2023 14: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 1pfLxb-0001ad-AU; Thu, 23 Mar 2023 14:30:35 +0000
Received: by outflank-mailman (input) for mailman id 513917;
 Thu, 23 Mar 2023 14:30: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=JuTy=7P=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pfLxa-0001I6-1J
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 14:30:34 +0000
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3eb215dc-c987-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 15:30:24 +0100 (CET)
Received: from fmsmga007.fm.intel.com ([10.253.24.52])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 23 Mar 2023 07:30:16 -0700
Received: from smile.fi.intel.com ([10.237.72.54])
 by fmsmga007.fm.intel.com with ESMTP; 23 Mar 2023 07:30:06 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.96)
 (envelope-from <andriy.shevchenko@linux.intel.com>)
 id 1pfLx3-007XTh-2N; Thu, 23 Mar 2023 16:30:01 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3eb215dc-c987-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679581829; x=1711117829;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=yycxH1AeGogQsiHx6KGAN/nQ6jWFX888/jtMkSYZfjo=;
  b=aBlffK7+gwyTBYiUWdtcY4ugy+rIuiP52gN1Kif/EnUXjoOnG/K4KAR/
   cjuNDhEdcI4cUjs9rq2+Og10tK42lkhv1i0QFdOL4kdZniEqhfs7raCez
   0OgmvOvg3ZHzAkBAbieXKefcc/MECL3F2hNi3VrgUk/byDXSDkh01AYYI
   sXxO7YZ/UI2oGwNk1XNA68QWliQXRP3S8J9tbzi3dVZqNzOZauxgbeeb/
   sdgHM0g6EbrSKIo+9vZSKljJHVmm0rAT2wJLDBWMqFJr94x08XEXEjgPV
   DelHIp1hdQdkHE4jtXhKFkKaMwTSCM6mqzQRy6LF/bB1Vcfm4GCaP/ypM
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10657"; a="367241188"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="367241188"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="684752720"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="684752720"
Date: Thu, 23 Mar 2023 16:30:01 +0200
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH v6 1/4] PCI: Introduce pci_dev_for_each_resource()
Message-ID: <ZBxiaflGTeK8Jlgx@smile.fi.intel.com>
References: <20230320131633.61680-2-andriy.shevchenko@linux.intel.com>
 <20230322192804.GA2485349@bhelgaas>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230322192804.GA2485349@bhelgaas>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

On Wed, Mar 22, 2023 at 02:28:04PM -0500, Bjorn Helgaas wrote:
> On Mon, Mar 20, 2023 at 03:16:30PM +0200, Andy Shevchenko wrote:

...

> > +	pci_dev_for_each_resource_p(dev, r) {
> >  		/* zap the 2nd function of the winbond chip */
> > -		if (dev->resource[i].flags & IORESOURCE_IO
> > -		    && dev->bus->number == 0 && dev->devfn == 0x81)
> > -			dev->resource[i].flags &= ~IORESOURCE_IO;
> > -		if (dev->resource[i].start == 0 && dev->resource[i].end) {
> > -			dev->resource[i].flags = 0;
> > -			dev->resource[i].end = 0;
> > +		if (dev->bus->number == 0 && dev->devfn == 0x81 &&
> > +		    r->flags & IORESOURCE_IO)
> 
> This is a nice literal conversion, but it's kind of lame to test
> bus->number and devfn *inside* the loop here, since they can't change
> inside the loop.

Hmm... why are you asking me, even if I may agree on that? It's
in the original code and out of scope of this series.

> > +			r->flags &= ~IORESOURCE_IO;
> > +		if (r->start == 0 && r->end) {
> > +			r->flags = 0;
> > +			r->end = 0;
> >  		}
> >  	}

...

> >  #define pci_resource_len(dev,bar) \
> >  	((pci_resource_end((dev), (bar)) == 0) ? 0 :	\
> >  							\
> > -	 (pci_resource_end((dev), (bar)) -		\
> > -	  pci_resource_start((dev), (bar)) + 1))
> > +	 resource_size(pci_resource_n((dev), (bar))))
> 
> I like this change, but it's unrelated to pci_dev_for_each_resource()
> and unmentioned in the commit log.

And as you rightfully noticed this either. I can split it to a separate one.

...

> > +#define __pci_dev_for_each_resource(dev, res, __i, vartype)		\
> > +	for (vartype __i = 0;						\
> > +	     res = pci_resource_n(dev, __i), __i < PCI_NUM_RESOURCES;	\
> > +	     __i++)
> > +
> > +#define pci_dev_for_each_resource(dev, res, i)				\
> > +       __pci_dev_for_each_resource(dev, res, i, )
> > +
> > +#define pci_dev_for_each_resource_p(dev, res)				\
> > +	__pci_dev_for_each_resource(dev, res, __i, unsigned int)
> 
> This series converts many cases to drop the iterator variable ("i"),
> which is fantastic.
> 
> Several of the remaining places need the iterator variable only to
> call pci_claim_resource(), which could be converted to take a "struct
> resource *" directly without much trouble.
> 
> We don't have to do that pci_claim_resource() conversion now,

Exactly, it's definitely should be separate change.

> but
> since we're converging on the "(dev, res)" style, I think we should
> reverse the names so we have something like:
> 
>   pci_dev_for_each_resource(dev, res)
>   pci_dev_for_each_resource_idx(dev, res, i)

Wouldn't it be more churn, including pci_bus_for_each_resource() correction?

...

> Not sure __pci_dev_for_each_resource() is worthwhile since it only
> avoids repeating that single "for" statement, and passing in "vartype"
> (sometimes empty to implicitly avoid the declaration) is a little
> complicated to read.  I think it'd be easier to read like this:

No objections here.

>   #define pci_dev_for_each_resource(dev, res)                      \
>     for (unsigned int __i = 0;                                     \
>          res = pci_resource_n(dev, __i), __i < PCI_NUM_RESOURCES;  \
>          __i++)
> 
>   #define pci_dev_for_each_resource_idx(dev, res, idx)             \
>     for (idx = 0;                                                  \
>          res = pci_resource_n(dev, idx), idx < PCI_NUM_RESOURCES;  \
>          idx++)

-- 
With Best Regards,
Andy Shevchenko




From xen-devel-bounces@lists.xenproject.org Thu Mar 23 14:30:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 14:30:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513923.795681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfLxx-0002M4-N1; Thu, 23 Mar 2023 14:30:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513923.795681; Thu, 23 Mar 2023 14: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 1pfLxx-0002Lu-In; Thu, 23 Mar 2023 14:30:57 +0000
Received: by outflank-mailman (input) for mailman id 513923;
 Thu, 23 Mar 2023 14: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=d8pY=7P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfLxw-0001tb-6X
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 14:30:56 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51f33be8-c987-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 15:30: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 D98421FE4F;
 Thu, 23 Mar 2023 14:30: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 ACBD1132C2;
 Thu, 23 Mar 2023 14:30:54 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 4/iXKJ5iHGR/fwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 23 Mar 2023 14:30: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: 51f33be8-c987-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679581854; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=MTWSz6ML4IRa8PTe4BmfTEozdDsCNS8kIS6s8FK2wNk=;
	b=EJIMYVZjCtP2BV2epwfVrl81btJ+J9y46C9Mxt83Cod/D7NZX7DTxf/uMN4qXo67i6XtJ6
	4UvLoZj+qkcGYVL54L3YHL1vPGs+k1FUbTDitjPVwPvXj/yiwW8IpEink+zTRSMdGMoqCI
	VEtQ5tYwIGilnPAk8aW6FgxQAiitPqU=
Message-ID: <068b0759-0d8c-d477-2197-62eff82e601c@suse.com>
Date: Thu, 23 Mar 2023 15:30:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] tools/xenstore: fix quota check in acc_fix_domains()
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: <20230224155848.31036-1-jgross@suse.com>
 <a8e71268-6111-d4d5-5cba-ed141dba530d@xen.org>
 <363e4526-6bc2-d961-88ac-93ba82e2e30c@suse.com>
 <b95864bf-014f-7b1d-3c07-295705cdba0d@xen.org>
 <92b2f26a-fd2e-2826-d38f-3ca45727bfb3@suse.com>
 <f2fd8967-7dc5-4aeb-ae72-623bc4ae3e4d@xen.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <f2fd8967-7dc5-4aeb-ae72-623bc4ae3e4d@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------NJ3F80dndY9D0ORPft79XUay"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------NJ3F80dndY9D0ORPft79XUay
Content-Type: multipart/mixed; boundary="------------kWOOqliNnkmCNqdsV7qQYzhZ";
 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: <068b0759-0d8c-d477-2197-62eff82e601c@suse.com>
Subject: Re: [PATCH] tools/xenstore: fix quota check in acc_fix_domains()
References: <20230224155848.31036-1-jgross@suse.com>
 <a8e71268-6111-d4d5-5cba-ed141dba530d@xen.org>
 <363e4526-6bc2-d961-88ac-93ba82e2e30c@suse.com>
 <b95864bf-014f-7b1d-3c07-295705cdba0d@xen.org>
 <92b2f26a-fd2e-2826-d38f-3ca45727bfb3@suse.com>
 <f2fd8967-7dc5-4aeb-ae72-623bc4ae3e4d@xen.org>
In-Reply-To: <f2fd8967-7dc5-4aeb-ae72-623bc4ae3e4d@xen.org>

--------------kWOOqliNnkmCNqdsV7qQYzhZ
Content-Type: multipart/mixed; boundary="------------7psn3iT2YUD5u0u3HIrQGoH2"

--------------7psn3iT2YUD5u0u3HIrQGoH2
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjMuMDMuMjMgMTU6MjksIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gDQo+IA0KPiBPbiAy
My8wMy8yMDIzIDE0OjIxLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjMuMDMuMjMg
MTU6MjAsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4+PiBIaSwNCj4+Pg0KPj4+IE9uIDIzLzAz
LzIwMjMgMTI6NTMsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+IE9uIDIzLjAzLjIzIDEz
OjM4LCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+Pj4+PiBIaSBKdWVyZ2VuLA0KPj4+Pj4NCj4+
Pj4+IE9uIDI0LzAyLzIwMjMgMTU6NTgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+Pj4g
VG9kYXkgd2hlbiBmaW5hbGl6aW5nIGEgdHJhbnNhY3Rpb24gdGhlIG51bWJlciBvZiBub2Rl
IHF1b3RhIGlzIGNoZWNrZWQNCj4+Pj4+PiB0byBub3QgYmVpbmcgZXhjZWVkZWQgYWZ0ZXIg
dGhlIHRyYW5zYWN0aW9uLiBUaGlzIGNoZWNrIGlzIGFsd2F5cyBkb25lLA0KPj4+Pj4+IGV2
ZW4gaWYgdGhlIHRyYW5zYWN0aW9uIGlzIGJlaW5nIHBlcmZvcm1lZCBieSBhIHByaXZpbGVn
ZWQgY29ubmVjdGlvbiwNCj4+Pj4+PiBvciBpZiB0aGVyZSB3ZXJlIG5vIG5vZGVzIGNyZWF0
ZWQgaW4gdGhlIHRyYW5zYWN0aW9uLg0KPj4+Pj4+DQo+Pj4+Pj4gQ29ycmVjdCB0aGF0IGJ5
IGNoZWNraW5nIHF1b3RhIG9ubHkgaWY6DQo+Pj4+Pj4gLSB0aGUgdHJhbnNhY3Rpb24gaXMg
YmVpbmcgcGVyZm9ybWVkIGJ5IGFuIHVucHJpdmlsZWdlZCBndWVzdCwgYW5kDQo+Pj4+Pj4g
LSBhdCBsZWFzdCBvbmUgbm9kZSB3YXMgY3JlYXRlZCBpbiB0aGUgdHJhbnNhY3Rpb24NCj4+
Pj4+Pg0KPj4+Pj4+IFJlcG9ydGVkLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4ub3Jn
Pg0KPj4+Pj4+IEZpeGVzOiBmMmJlYmY3MmM0ZDUgKCJ4ZW5zdG9yZTogcmV3b3JrIG9mIHRy
YW5zYWN0aW9uIGhhbmRsaW5nIikNCj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdy
b3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+Pj4+Pj4gLS0tDQo+Pj4+Pj4gwqAgdG9vbHMveGVu
c3RvcmUveGVuc3RvcmVkX2NvcmUuY8KgwqDCoMKgwqDCoMKgIHzCoCAzICsrKw0KPj4+Pj4+
IMKgIHRvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uY8KgwqDCoMKgwqAgfMKgIDQg
KystLQ0KPj4+Pj4+IMKgIHRvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uaMKgwqDC
oMKgwqAgfMKgIDIgKy0NCj4+Pj4+PiDCoCB0b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfdHJh
bnNhY3Rpb24uYyB8IDE2ICsrKysrKysrKysrKysrLS0NCj4+Pj4+PiDCoCB0b29scy94ZW5z
dG9yZS94ZW5zdG9yZWRfdHJhbnNhY3Rpb24uaCB8wqAgMyArKysNCj4+Pj4+PiDCoCA1IGZp
bGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pDQo+Pj4+Pj4N
Cj4+Pj4+PiBkaWZmIC0tZ2l0IGEvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX2NvcmUuYyAN
Cj4+Pj4+PiBiL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9jb3JlLmMNCj4+Pj4+PiBpbmRl
eCBhNjFkYjJkYjJkLi4zY2E2ODY4MWUzIDEwMDY0NA0KPj4+Pj4+IC0tLSBhL3Rvb2xzL3hl
bnN0b3JlL3hlbnN0b3JlZF9jb3JlLmMNCj4+Pj4+PiArKysgYi90b29scy94ZW5zdG9yZS94
ZW5zdG9yZWRfY29yZS5jDQo+Pj4+Pj4gQEAgLTE0NzIsNiArMTQ3Miw5IEBAIHN0YXRpYyBz
dHJ1Y3Qgbm9kZSAqY3JlYXRlX25vZGUoc3RydWN0IGNvbm5lY3Rpb24gDQo+Pj4+Pj4gKmNv
bm4sIGNvbnN0IHZvaWQgKmN0eCwNCj4+Pj4+PiDCoMKgwqDCoMKgIGlmICghbm9kZSkNCj4+
Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIE5VTEw7DQo+Pj4+Pj4gK8KgwqDCoCBp
ZiAoY29ubiAmJiBjb25uLT50cmFuc2FjdGlvbikNCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAg
dGFfbm9kZV9jcmVhdGVkKGNvbm4tPnRyYW5zYWN0aW9uKTsNCj4+Pj4+PiArDQo+Pj4+Pj4g
wqDCoMKgwqDCoCBub2RlLT5kYXRhID0gZGF0YTsNCj4+Pj4+PiDCoMKgwqDCoMKgIG5vZGUt
PmRhdGFsZW4gPSBkYXRhbGVuOw0KPj4+Pj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9y
ZS94ZW5zdG9yZWRfZG9tYWluLmMgDQo+Pj4+Pj4gYi90b29scy94ZW5zdG9yZS94ZW5zdG9y
ZWRfZG9tYWluLmMNCj4+Pj4+PiBpbmRleCBkN2ZjMmZhZmM3Li5mNjJiZTIyNDVjIDEwMDY0
NA0KPj4+Pj4+IC0tLSBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uYw0KPj4+
Pj4+ICsrKyBiL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uYw0KPj4+Pj4+IEBA
IC01NDQsNyArNTQ0LDcgQEAgc3RhdGljIHN0cnVjdCBkb21haW4gKmZpbmRfZG9tYWluX2J5
X2RvbWlkKHVuc2lnbmVkIA0KPj4+Pj4+IGludCBkb21pZCkNCj4+Pj4+PiDCoMKgwqDCoMKg
IHJldHVybiAoZCAmJiBkLT5pbnRyb2R1Y2VkKSA/IGQgOiBOVUxMOw0KPj4+Pj4+IMKgIH0N
Cj4+Pj4+PiAtaW50IGFjY19maXhfZG9tYWlucyhzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkLCBi
b29sIHVwZGF0ZSkNCj4+Pj4+PiAraW50IGFjY19maXhfZG9tYWlucyhzdHJ1Y3QgbGlzdF9o
ZWFkICpoZWFkLCBib29sIGNoa19xdW90YSwgYm9vbCB1cGRhdGUpDQo+Pj4+Pj4gwqAgew0K
Pj4+Pj4+IMKgwqDCoMKgwqAgc3RydWN0IGNoYW5nZWRfZG9tYWluICpjZDsNCj4+Pj4+PiDC
oMKgwqDCoMKgIGludCBjbnQ7DQo+Pj4+Pj4gQEAgLTU1Miw3ICs1NTIsNyBAQCBpbnQgYWNj
X2ZpeF9kb21haW5zKHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQsIGJvb2wgdXBkYXRlKQ0KPj4+
Pj4+IMKgwqDCoMKgwqAgbGlzdF9mb3JfZWFjaF9lbnRyeShjZCwgaGVhZCwgbGlzdCkgew0K
Pj4+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBjbnQgPSBkb21haW5fbmJlbnRyeV9maXgoY2Qt
PmRvbWlkLCBjZC0+bmJlbnRyeSwgdXBkYXRlKTsNCj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKg
wqAgaWYgKCF1cGRhdGUpIHsNCj4+Pj4+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAo
Y250ID49IHF1b3RhX25iX2VudHJ5X3Blcl9kb21haW4pDQo+Pj4+Pj4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgaWYgKGNoa19xdW90YSAmJiBjbnQgPj0gcXVvdGFfbmJfZW50cnlfcGVy
X2RvbWFpbikNCj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJl
dHVybiBFTk9TUEM7DQo+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKGNu
dCA8IDApDQo+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1
cm4gRU5PTUVNOw0KPj4+Pj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9yZS94ZW5zdG9y
ZWRfZG9tYWluLmggDQo+Pj4+Pj4gYi90b29scy94ZW5zdG9yZS94ZW5zdG9yZWRfZG9tYWlu
LmgNCj4+Pj4+PiBpbmRleCBkYzQ2NjA4NjFlLi5lYzZhYTAwY2M3IDEwMDY0NA0KPj4+Pj4+
IC0tLSBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uaA0KPj4+Pj4+ICsrKyBi
L3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF9kb21haW4uaA0KPj4+Pj4+IEBAIC05Niw3ICs5
Niw3IEBAIHZvaWQgZG9tYWluX291dHN0YW5kaW5nX2RlYyhzdHJ1Y3QgY29ubmVjdGlvbiAq
Y29ubik7DQo+Pj4+Pj4gwqAgdm9pZCBkb21haW5fb3V0c3RhbmRpbmdfZG9taWRfZGVjKHVu
c2lnbmVkIGludCBkb21pZCk7DQo+Pj4+Pj4gwqAgaW50IGRvbWFpbl9nZXRfcXVvdGEoY29u
c3Qgdm9pZCAqY3R4LCBzdHJ1Y3QgY29ubmVjdGlvbiAqY29ubiwNCj4+Pj4+PiDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBkb21pZCk7DQo+Pj4+Pj4gLWlu
dCBhY2NfZml4X2RvbWFpbnMoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwgYm9vbCB1cGRhdGUp
Ow0KPj4+Pj4+ICtpbnQgYWNjX2ZpeF9kb21haW5zKHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQs
IGJvb2wgY2hrX3F1b3RhLCBib29sIHVwZGF0ZSk7DQo+Pj4+Pg0KPj4+Pj4gRGVwZW5kaW5n
IG9uIHRoZSBhbnN3ZXIgYmVsb3csIEkgd291bGQgc3VnZ2VzdCB0byB3cml0ZSB0aGF0ICdj
aGtfcXVvdGEnIGlzIA0KPj4+Pj4gaWdub3JlZCB3aGVuIGBgdXBkYXRlYGAgaXMgdHJ1ZS4N
Cj4+Pj4NCj4+Pj4gV2l0aCB0aGUgYW5zd2VyIGJlbG93LCBkbyB5b3UgYWdyZWUgdGhhdCBu
byBhZGRpdGlvbmFsIGNvbW1lbnQgaXMgbmVlZGVkPw0KPj4+PiBJJ20gZmluZSBlaXRoZXIg
d2F5Lg0KPj4+Pg0KPj4+Pj4NCj4+Pj4+PiDCoCAvKiBXcml0ZSByYXRlIGxpbWl0aW5nICov
DQo+Pj4+Pj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF90cmFuc2Fj
dGlvbi5jIA0KPj4+Pj4+IGIvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX3RyYW5zYWN0aW9u
LmMNCj4+Pj4+PiBpbmRleCAxYWE5ZDNjYjNkLi4yYjE1NTA2OTUzIDEwMDY0NA0KPj4+Pj4+
IC0tLSBhL3Rvb2xzL3hlbnN0b3JlL3hlbnN0b3JlZF90cmFuc2FjdGlvbi5jDQo+Pj4+Pj4g
KysrIGIvdG9vbHMveGVuc3RvcmUveGVuc3RvcmVkX3RyYW5zYWN0aW9uLmMNCj4+Pj4+PiBA
QCAtMTYwLDEyICsxNjAsMjAgQEAgc3RydWN0IHRyYW5zYWN0aW9uDQo+Pj4+Pj4gwqDCoMKg
wqDCoCAvKiBMaXN0IG9mIGNoYW5nZWQgZG9tYWlucyAtIHRvIHJlY29yZCB0aGUgY2hhbmdl
ZCBkb21haW4gZW50cnkgDQo+Pj4+Pj4gbnVtYmVyICovDQo+Pj4+Pj4gwqDCoMKgwqDCoCBz
dHJ1Y3QgbGlzdF9oZWFkIGNoYW5nZWRfZG9tYWluczsNCj4+Pj4+PiArwqDCoMKgIC8qIFRo
ZXJlIHdhcyBhdCBsZWFzdCBvbmUgbm9kZSBjcmVhdGVkIGluIHRoZSB0cmFuc2FjdGlvbi4g
Ki8NCj4+Pj4+PiArwqDCoMKgIGJvb2wgbm9kZV9jcmVhdGVkOw0KPj4+Pj4+ICsNCj4+Pj4+
PiDCoMKgwqDCoMKgIC8qIEZsYWcgZm9yIGxldHRpbmcgdHJhbnNhY3Rpb24gZmFpbC4gKi8N
Cj4+Pj4+PiDCoMKgwqDCoMKgIGJvb2wgZmFpbDsNCj4+Pj4+PiDCoCB9Ow0KPj4+Pj4+IMKg
IHVpbnQ2NF90IGdlbmVyYXRpb247DQo+Pj4+Pj4gK3ZvaWQgdGFfbm9kZV9jcmVhdGVkKHN0
cnVjdCB0cmFuc2FjdGlvbiAqdHJhbnMpDQo+Pj4+Pj4gK3sNCj4+Pj4+PiArwqDCoMKgIHRy
YW5zLT5ub2RlX2NyZWF0ZWQgPSB0cnVlOw0KPj4+Pj4+ICt9DQo+Pj4+Pj4gKw0KPj4+Pj4+
IMKgIHN0YXRpYyBzdHJ1Y3QgYWNjZXNzZWRfbm9kZSAqZmluZF9hY2Nlc3NlZF9ub2RlKHN0
cnVjdCB0cmFuc2FjdGlvbiAqdHJhbnMsDQo+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29uc3QgY2hhciAqbmFtZSkNCj4+Pj4+
PiDCoCB7DQo+Pj4+Pj4gQEAgLTUwOSw2ICs1MTcsNyBAQCBpbnQgZG9fdHJhbnNhY3Rpb25f
ZW5kKGNvbnN0IHZvaWQgKmN0eCwgc3RydWN0IA0KPj4+Pj4+IGNvbm5lY3Rpb24gKmNvbm4s
DQo+Pj4+Pj4gwqDCoMKgwqDCoCBjb25zdCBjaGFyICphcmcgPSBvbmVhcmcoaW4pOw0KPj4+
Pj4+IMKgwqDCoMKgwqAgc3RydWN0IHRyYW5zYWN0aW9uICp0cmFuczsNCj4+Pj4+PiDCoMKg
wqDCoMKgIGJvb2wgaXNfY29ycnVwdCA9IGZhbHNlOw0KPj4+Pj4+ICvCoMKgwqAgYm9vbCBj
aGtfcXVvdGE7DQo+Pj4+Pj4gwqDCoMKgwqDCoCBpbnQgcmV0Ow0KPj4+Pj4+IMKgwqDCoMKg
wqAgaWYgKCFhcmcgfHwgKCFzdHJlcShhcmcsICJUIikgJiYgIXN0cmVxKGFyZywgIkYiKSkp
DQo+Pj4+Pj4gQEAgLTUyMywxMyArNTMyLDE2IEBAIGludCBkb190cmFuc2FjdGlvbl9lbmQo
Y29uc3Qgdm9pZCAqY3R4LCBzdHJ1Y3QgDQo+Pj4+Pj4gY29ubmVjdGlvbiAqY29ubiwNCj4+
Pj4+PiDCoMKgwqDCoMKgIGlmICghY29ubi0+dHJhbnNhY3Rpb25fc3RhcnRlZCkNCj4+Pj4+
PiDCoMKgwqDCoMKgwqDCoMKgwqAgY29ubi0+dGFfc3RhcnRfdGltZSA9IDA7DQo+Pj4+Pj4g
K8KgwqDCoCBjaGtfcXVvdGEgPSB0cmFucy0+bm9kZV9jcmVhdGVkICYmIGRvbWFpbl9pc191
bnByaXZpbGVnZWQoY29ubik7DQo+Pj4+Pj4gKw0KPj4+Pj4+IMKgwqDCoMKgwqAgLyogQXR0
YWNoIHRyYW5zYWN0aW9uIHRvIGN0eCBmb3IgYXV0by1jbGVhbnVwICovDQo+Pj4+Pj4gwqDC
oMKgwqDCoCB0YWxsb2Nfc3RlYWwoY3R4LCB0cmFucyk7DQo+Pj4+Pj4gwqDCoMKgwqDCoCBp
ZiAoc3RyZXEoYXJnLCAiVCIpKSB7DQo+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGlmICh0
cmFucy0+ZmFpbCkNCj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4g
RU5PTUVNOw0KPj4+Pj4+IC3CoMKgwqDCoMKgwqDCoCByZXQgPSBhY2NfZml4X2RvbWFpbnMo
JnRyYW5zLT5jaGFuZ2VkX2RvbWFpbnMsIGZhbHNlKTsNCj4+Pj4+PiArwqDCoMKgwqDCoMKg
wqAgcmV0ID0gYWNjX2ZpeF9kb21haW5zKCZ0cmFucy0+Y2hhbmdlZF9kb21haW5zLCBjaGtf
cXVvdGEsDQo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBmYWxzZSk7DQo+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChyZXQpDQo+Pj4+
Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsNCj4+Pj4+PiDCoMKg
wqDCoMKgwqDCoMKgwqAgcmV0ID0gZmluYWxpemVfdHJhbnNhY3Rpb24oY29ubiwgdHJhbnMs
ICZpc19jb3JydXB0KTsNCj4+Pj4+PiBAQCAtNTM5LDcgKzU1MSw3IEBAIGludCBkb190cmFu
c2FjdGlvbl9lbmQoY29uc3Qgdm9pZCAqY3R4LCBzdHJ1Y3QgDQo+Pj4+Pj4gY29ubmVjdGlv
biAqY29ubiwNCj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgd3JsX2FwcGx5X2RlYml0X3Ry
YW5zX2NvbW1pdChjb25uKTsNCj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgLyogZml4IGRv
bWFpbiBlbnRyeSBmb3IgZWFjaCBjaGFuZ2VkIGRvbWFpbiAqLw0KPj4+Pj4+IC3CoMKgwqDC
oMKgwqDCoCBhY2NfZml4X2RvbWFpbnMoJnRyYW5zLT5jaGFuZ2VkX2RvbWFpbnMsIHRydWUp
Ow0KPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBhY2NfZml4X2RvbWFpbnMoJnRyYW5zLT5jaGFu
Z2VkX2RvbWFpbnMsIGZhbHNlLCB0cnVlKTsNCj4+Pj4+DQo+Pj4+PiBJbiB0aGVvcnksIHNo
b3VsZG4ndCB3ZSBwYXNzICdjaGtfcXVvdGEnIHJhdGhlciB0aGFuIGZhbHNlPyBJbiBwcmFj
dGljZSwgSSANCj4+Pj4+IGtub3cgaXQgZG9lc24ndCBtYWtlIGFueSBkaWZmZXJlbmNlIGJl
dHdlZW4gdGhpcyBpcyBhbiB1cGRhdGUuDQo+Pj4+DQo+Pj4+IFdlIGV4cGxpY2l0bHkgZG9u
J3Qgd2FudCB0byBjaGVjayBxdW90YSBpbiB0aGUgInVwZGF0ZSIgY2FzZS4gU28gc3BlY2lm
eWluZw0KPj4+PiAiZmFsc2UiIGlzIHRoZSBjb3JyZWN0IHRoaW5nIHRvIGRvIElNSE8uDQo+
Pj4NCj4+PiBMZXQgbWUgcmVwaHJhc2UgbXkgY29tbWVudCBkaWZmZXJlbnRseS4gV2hhdCB3
b3VsZCBoYXBwZW4gaWYgdGhlIHVzZXIgcGFzcyANCj4+PiAndHJ1ZSc/IFdvdWxkIHdlIGNo
ZWNrIHRoZSBxdW90YSBvciBub3Q/DQo+Pj4NCj4+PiBJIHN1c3BlY3QgdGhpcyBpcyBhIG5v
LCBoZW5jZSB3aHkgSSB3YXMgc3VnZ2VzdGVkIHRoZSBjb21tZW50IHRvIHNheSB0aGUgDQo+
Pj4gZmllbGQgaXMgaWdub3JlZC4gQWx0ZXJuYXRpdmVseSwgd2UgY291bGQgYWRkIGFuIGFz
c2VydCB0aGF0IGVuc3VyZSB0aGF0IA0KPj4+IGNoa19xdW90YSBpcyBmYWxzZSB3aGVuIHVw
ZGF0ZSBpcyB0cnVlLg0KPj4NCj4+IE9rYXksIEknbGwgYWRkIHRoZSBjb21tZW50Lg0KPiAN
Cj4gVGhhbmtzISBObyBuZWVkIHRvIHNlbmQgYSBuZXcgdmVyc2lvbi4gSSB0ZXN0ZWQgdGhl
IGNvZGUgYW5kIGNvbmZpcm1lZCB0aGF0IGl0IA0KPiBzb2x2ZWQgdGhlIHByb2JsZW0gSSBy
ZXBvcnRlZC4gSSB3b3VsZCBiZSBoYXBweSB0byBhZGQgdGhlIGNvbW1lbnQgb24gY29tbWl0
IA0KPiBvbmNlIHdlIGFncmVlIG9uIGl0Lg0KDQpUaGFua3MsDQoNCkp1ZXJnZW4NCg0K
--------------7psn3iT2YUD5u0u3HIrQGoH2
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-----

--------------7psn3iT2YUD5u0u3HIrQGoH2--

--------------kWOOqliNnkmCNqdsV7qQYzhZ--

--------------NJ3F80dndY9D0ORPft79XUay
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQcYp4FAwAAAAAACgkQsN6d1ii/Ey9T
7gf/TvcOQ5TlZ6+F/Wb/1RpM5uTc0WAvAkJ/X6QLmcXrtu1F3V8ANrGzbYKZCj8jdXqJQFTrpVuu
Y/LaB8L1Sd1silkCvvzRyrLzQwxvyXuD2EcpIV78G0qyJgFRLaacJgT5ma/tZhQUzDjWQiLgx53o
FRh7P+jotleAg26jrqUK0NnY8yVg46DvUh0VtRrCDqR/+hZiyCMlhJAgs84t72wYW8cb95dit+FB
ayInmlvTXIq5AeGHxky7/h/1OTVI30QHT4V5dGudGnjJjmyKE9hcpOFlf/uDM847cWxL6LI3mVOf
TE67071qCIVLpo6LCqTb4bei57BA5pmrqfzzHYgJZw==
=JYBi
-----END PGP SIGNATURE-----

--------------NJ3F80dndY9D0ORPft79XUay--


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 14:50:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 14:50:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513929.795690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfMGE-0004mt-7L; Thu, 23 Mar 2023 14:49:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513929.795690; Thu, 23 Mar 2023 14:49:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfMGE-0004mm-4f; Thu, 23 Mar 2023 14:49:50 +0000
Received: by outflank-mailman (input) for mailman id 513929;
 Thu, 23 Mar 2023 14: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=tIVP=7P=citrix.com=prvs=439b2ffc4=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pfMGD-0004mg-2q
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 14:49:49 +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 eeac6272-c989-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 15:49:40 +0100 (CET)
Received: from mail-bn8nam04lp2048.outbound.protection.outlook.com (HELO
 NAM04-BN8-obe.outbound.protection.outlook.com) ([104.47.74.48])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 10:49:40 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DM6PR03MB4923.namprd03.prod.outlook.com (2603:10b6:5:1e9::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 14:49:38 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Thu, 23 Mar 2023
 14:49: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: eeac6272-c989-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679582985;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=MPrf/K2qhzRTopXcuGZ3HC69cpHwwtFewaOREgoYeHM=;
  b=CKGKgleTtePdlGb+ogW/sNfWsNErdbk789NyaAzmj2v1S5Bwaruj8EeG
   uYFRD592ZGCr1GQ3vL77+e4fB85za7/+Jd6Vp2kj5dEU/vZnePLyNb1e/
   KS80opARyB5gTQZhjqi1rVg/5O+qcEPU8w6X+5ThV8t63zReuIVcFkgCq
   Q=;
X-IronPort-RemoteIP: 104.47.74.48
X-IronPort-MID: 102045079
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Kk658q2IaGFCYuIZgvbD5eZwkn2cJEfYwER7XKvMYLTBsI5bpzRRz
 TEdC2zQa/zcajahLt52aInkpxgEu5CEmNA3HlY5pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdkPqgR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfG19N2
 9EcJzM2LTvbvsS4kZKQUrFcmZF2RCXrFNt3VnBI6xj8Vapja7aTBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxovy6PnGSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03LeTwHukCer+EpX//NIzr3iY3lY8DUBKSkOG+/S+pU2hDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBLSRmrbm9WX+bsLCOoluaJiw9PWIEIygeQmM4D8LLpYgyilfFSIZlGavt0tntQ2msk
 3aNsTQ0gKgVgYgTzaKn8FvbgjWq4J/UUgoy4QaRVWWghu9kWLOYi0WTwQCzxZ59wEyxFzFtY
 FBsdxCi0d0z
IronPort-HdrOrdr: A9a23:D2fAha40l58if0xlvwPXwO3XdLJyesId70hD6qkRc3xom6mj/P
 xG88506faZskd1ZJhCo7+90cu7IE80nKQdieN9UYtKOjOWwVdARLsSircK7AeQeREWndQtsZ
 uIHZIOcuHYPBxXitv7/Rn9M/tI+qj7zEji7d2uqUuFNjsaCJ2INj0JcjpzxHcGPzV7OQ==
X-IronPort-AV: E=Sophos;i="5.98,285,1673931600"; 
   d="scan'208";a="102045079"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QDhtW/8zpi8ZGJM9K2/UP5aZhLf1cdpcdCmsgGgRdkqVq+wwE38+NBowoR0E6UH4a8GpBHTXffbWheZVPG5A2ZGEaYH3ZE6xLtNhH0Q3gztolfxbU286NJyavMQB8YFX/q+YuYeM5SnNJnFmul9uw2NioYCchT2rkK52uSa46U8NDbCAnRjLNheP404bZGgPdjfclJJ/KeUBYg963MijwHpIvsec9ir2CSBKC8GkWO+GxwEtky0RekKM0SYy/a7ACZzcj304KPJyCgEivIWiZ0LTj99VTaQO4v0am4FEKMXL1gCR//nDlgnnvo4mMS/aIJMXtI+SWUxfzrHPy8tRrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VoFpvhH6IDtv89EdyFVOeBn1QWqAvwdIeixa0fpPFyM=;
 b=FlTbmUcrLDAVw4Ajv1wJtzIMUZOKCFMcgseL+yAE1o3zAwuAlc8M5iexB0uYnny+rlM7m1l3n4KwriEW+9D0kSvL8hH4ObMvdaAc3luoE79KUeZGLfHWvMv4/hxesMnh7vVNXwJVR2AuQXLd+DAQblkHVGkOx3YF7Hr3UL5pGH2++TiHKRCOGX652cSdZnyPNd7xXtmTYIQtvxldYTWDdgHFrF6iRhTAqCnanpkNEvzhep+jHDSuSUDQuVvH7t7iUScUCx/jJKJ21h0dC39kDO8QBlVed8wT/37nA9RDV04mLtE0DI+4om6y11DyJ1QdpnahEWZbXJASoW+9Zzk4SQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VoFpvhH6IDtv89EdyFVOeBn1QWqAvwdIeixa0fpPFyM=;
 b=McW33MS8JK+e4OVjcboMrsxNtsyWUH0ybSLfjYKl6Z7dFgClk5Kv8gbu5/j7uuFEpYStbvhc33LzxwuCVi1gBiyVYlHUEcv2H7MjKDy17k82l2DXs9ThPXjqE8WgIccCWqbotNB4wXtCnjcLIMtUuH21mi7A/bq9K+Ea/yRWsBw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 23 Mar 2023 15:49: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>,
	Paul Durrant <paul@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v4] x86: detect CMOS aliasing on ports other than
 0x70/0x71
Message-ID: <ZBxm+7/ldyHclXwc@Air-de-Roger>
References: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
 <367d0223-d481-b7a3-3b79-a9bc6f00531e@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <367d0223-d481-b7a3-3b79-a9bc6f00531e@suse.com>
X-ClientProxiedBy: LO4P123CA0582.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:276::17) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DM6PR03MB4923:EE_
X-MS-Office365-Filtering-Correlation-Id: 97fea8ef-67b1-4112-9387-08db2badd330
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dUMFnRO9gtvDUzi+Y3M7lRBLEbgv+jpyW7KAC6TxGiCQXaL0mHWIFCvxokS1h9nZ2OwWF2fe51/cVsArD1Hx658A+uVEjci+GVBddvPx9beCEDcRkKiKHlsOqAkL4SERrqJdaj5+X/4IJYY4djn/kzWUMmCarhKGbEl85xPbWiIuvuNtL/JQPaQQEh0k3M8QUW/0DereIR1IqY9TTovRK4vu5uW4EzunVJ1KeT7xRTeYmAJ3GQEsEB/ZrOLdrcyLHGetBJ4w3QMHBZUiiC+2MjuSQzxs85tjtcCTQ0ktpBAVAAh/mlEOMBIGvuOVfJyzk5ZKoTBwMGvik+ft7dMkQ99r+868/CYzIBqHESh8QOcBkKq47AkuirjGsCbwSEkWEd37SRjfpHFADbzI3dJfpbM8qjhSpFDY8zmYb92/l/Vt3Ic5VBymvHuX9fPxWWt7i/rsgkDJXA7hyaX/IUV5x+amx5Dxyys36jxUHLrZ1IDa0tBH87qD+Drk5puxlyQlJPJxTCGW6NDcXV0N/csNqi6x36RZpK3QlbvXtiRGF5KNFpDOTKkhtVl76HwWh+WcRrd5O2SrOI23scsVsusZP2GQSik7bBjEWb3IBqLLWV4zfCxUWtC779Kk+XBMGzc8exx9TNdBB00BWe5LFcZtBw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(396003)(346002)(376002)(136003)(366004)(39860400002)(451199018)(8936002)(66946007)(66556008)(66476007)(41300700001)(6916009)(4326008)(8676002)(86362001)(85182001)(38100700002)(26005)(9686003)(6512007)(6506007)(83380400001)(186003)(6666004)(316002)(478600001)(6486002)(54906003)(33716001)(82960400001)(2906002)(5660300002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NWdzUjZsSk94cFN4bEdzL0Z6NWs0Rmg2TUFmSi9uUEZrRFVobW4xQ0NhaHlD?=
 =?utf-8?B?emw0c2hDSVU1eTdoZlBCZ2dDOGxqNW1ya2JQVkd1NHo3Q3psbjNvM2xUQzUw?=
 =?utf-8?B?SnRpamVINnBFaEN6STgvakRlRUJFVGNTVVBub2UzdUlLZ1N0RlJyNHEvTmFx?=
 =?utf-8?B?T0NxUHdKV2wwbTdEUFdoOE1id0JmUmk1bHpraG1Dc0pHbkJYVGRMRFhmQlRR?=
 =?utf-8?B?NU8rcFltK0V0MWl6Zkhmd0ZPMnFBMXpzOGRlSzFwcnZmSkwzeW9kQ3JBRVJt?=
 =?utf-8?B?ODJKRzNvMlViMGdHcTNzODdvWVo0bVFFZG94U0N4QUwyV3NPR0JMcW9PZ21R?=
 =?utf-8?B?RG1NWEZJRGp4ckc5ZGNUTjJHZmorMExWdExyYjBzVXVkZFpMeUx6clloTHFL?=
 =?utf-8?B?MWtnWlVHMmc1SU84aUh3dElrL2hJakV4Z0pHN0xTQ2NnSlF5UTRMYlJUdlVj?=
 =?utf-8?B?WmlIK0IvVUtGcTVoaUpmN1p6RzF1SFpFS2xyK0pmL0lYaUhRNStpSmxaMVNQ?=
 =?utf-8?B?Zy9iOHVQbmticEpwem1IZFIrVVpUQnk0N3NtZVFEUlpsYmNwYkkvcXJYeTU3?=
 =?utf-8?B?cHZkaFlCbkttNVJDMWlRWnN0UUNLbHBqVytvZXNGbXBqbDBWTWNSMXRyTURF?=
 =?utf-8?B?QmFYTVlqZ1A3RC9wUmxZUmNBbE9XcUs5TVc4dGxRZGo3RVBCaHh1QVZCSU9J?=
 =?utf-8?B?UDBKRE44YmxZWEhjMG9Xb05adGk3NUEyaHFETnhqbGVrcmEvOG1PSEpEUmIz?=
 =?utf-8?B?TmZGV0VXWjhLYllhV1dZTGNNYUh6ejVFaGhHaC8xaGl5a2E3MFpibzI4c0Ur?=
 =?utf-8?B?Q1BlWEwvMHZlU1NtTWJtS2ptN3lLbm5IZ2pBNzhaRXhkRXhqczllam5ORFoy?=
 =?utf-8?B?T2JxczZ6N2l1WFdFaUJXd1RGWXFDTE9KUUdCQWhJNnVEanptWmdjYVhTZ1Jv?=
 =?utf-8?B?eWtyNVlwNTR3SkJ2akZiZjhTeWdXeUtuck1kWnZsV1A1Q2RpN01Ma09ML2FI?=
 =?utf-8?B?N0lrRVFEYXNUNkpzdTkxblp2T2NsTXJLM2NuSmxEWjlrbUloelY4Um1ZbVNh?=
 =?utf-8?B?eU4rVEdoN2tMT2pQcDRrbWRjWk5rM1JrSW9EZ2ZaZTdrNE5XcG5qalkxN1ZK?=
 =?utf-8?B?RlkzUEEvaUpjVlczQVVrVFhpazlJdUR4RTFsQVZxUFdJRXBJQTRadjV4RnhW?=
 =?utf-8?B?eHd1SDJHU0tLZE5HaFplbzQ0REJRODRuMGR3T3ZNdmVveDJNNGFVY2ZiODZl?=
 =?utf-8?B?bGxYbUc2RkJ6em12OUZLWVg4TExUanB0R0p1UnFsZGR4bE5XVXpHOExGdGhT?=
 =?utf-8?B?dW5aUFFQRjlLNllCRzZBMTVXb1k5dTd6SUVUYVg1czFWL2VZUjJCem5pS3RZ?=
 =?utf-8?B?M0pLZDEyaXhrTDloS3R6TEllemZnTzBJZStCSWpUbTRqNFplZ0kyRXkwc2tH?=
 =?utf-8?B?Q0xtd1hQMEpIRVBNWCt5UHhJVmxZaWsveFpyNmF5OGFSbFVoL1NJblc5Mld1?=
 =?utf-8?B?OUE3V2k2WnhvY2VocmRDZTlYVFkyOS9MR2R0L1N2UHFsMXh0ZXlHc2J2bTZ5?=
 =?utf-8?B?R1A1YVFkV3kvcEhJN0hFakNDK0U3QmcrMWw3dEo2cUQ5UFNGN2pyeFgwYU4v?=
 =?utf-8?B?MG9mdllZaTRzd0s3ckJaU1lQVTgraVhkd0o5VWxtVVJHR1JYeXZHdEVlOSs4?=
 =?utf-8?B?N3ZiUzg5eXZ4R1R6dlF4bm1lRTYwdE9KWDV3Z0RwYXdCOUpYZTQrU2FYOWhO?=
 =?utf-8?B?TzhGY01lRklNcVRXcXFHOFJHVUxKS2FlN0ZDd0JCRnh5WGk1a3lzellPbFYw?=
 =?utf-8?B?czVOUTdFWnFJN0gyQVpvQ0RRVnhDejFnTUhXYmlWbWU3SHBiMTJBejlqOU15?=
 =?utf-8?B?Q0lFekF1UGtVb0xBb2FSTHpramFoc2lMcUhOc0c3S1dVUTRDN3hKeEtPYXpw?=
 =?utf-8?B?NVo4TUZDeUtMMjNDL1JMMXhyQ0lIK0lxbGlSWGh5MVNVam5TejFudnMzVWxv?=
 =?utf-8?B?NXpwZFVzam5xY3ZOVFhqWlNVYitSZXE5eTNzaFUwNGNvckJWOTNmN0wzVUVU?=
 =?utf-8?B?bzFRZHVGSjdxdU1IdjRuaEorOE1ISXhSOFhOK2FVQlY0RXpyRDBaK01pYitk?=
 =?utf-8?B?SVFHYUpNVnJYbGp2b3ErTUo3cFJWQ0RMbk1MYjRhZE9Fb3VIN1VVNWhnbFJt?=
 =?utf-8?B?c0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	mXmLlr3/3Dhr8lZzaHma4n+GERbayTywVzlVM4/wQtROV+v9x6gJ5rgMei7A1Ls2RpTNL0RER4PIdKbpaA8TWbE1RU+Cy/bylcgVrCUA2Mx02FXF0pnZjAla/q0WkSIrDW6RmVGGUVgnQ3kp+8G/yV7VWQVGHlO9TxjpTIB7ddOO6CikM08GQD7t7ImtpkVr9IYN0uVKgzD/fM2X2Y04NHx6/lZEXxwOql6R23k4x+WOyEL98MkDlQp4pFY3Kgb7N0Trw2Q+xFw0T8gO71WNpzjKJlWVsrcsRZ8kAJ3pYxAwXfYzN9sMh/E9KVhTrvnEFCJNUwvekM0IMuBMvSbBmXQ5co/TYRkO9hM2sChh8eR1uaQQxt1wkbd0g34IqYPP/RylulGT1T/OXwgBf7DbR2+G1cpo8io79crbEKdWY5CQZZWEZDO1uofV3rsEJjE2sLQDQFCsmWTWUeIbNO8iOlY8Cj27O+mULgbu7mYwQKY8y/zv0Hp3f5uwARut0RBuj81pNVLcGNKN0ZZ9Z4EPGqxn1r+YZ+SqLWEQV07G6wgCXXeBzEL1r/t1l0rxziMQqvEFIJLHr2lJiDlNIM8zi1j1yE99uBxTbClweR733/h9AsJm1NWw5Cj6X1n5A3a5OdOqBg9Ul6PtCkhPWrAAaxU8GcPJJpnpyTavi9l6eFOcZgnSPvkQ+RdCvNzDdGBZRI42p1UBzrNutgUHmxZvyziijMwsBtvaRVHdEpywbY3kmLG5MqDHkELJrk4+N8LOQhC8WjGSZsqhEYpjnrKaE+liSxQjtqTdPmyw5A8rL5LoNF4EYcHKfSD2ppfux5KN
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 97fea8ef-67b1-4112-9387-08db2badd330
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 14:49:37.8225
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yzwvA5FDzgEawmKTBNAUlmEbLMNeKnbW32ZH5hOsOks4iIwmMmUELDK5iNqSw2JfpLxzltzqWyuUG1Q1btwrhA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4923

On Mon, Mar 20, 2023 at 09:32:26AM +0100, Jan Beulich wrote:
> ... in order to also intercept Dom0 accesses through the alias ports.
> 
> Also stop intercepting accesses to the CMOS ports if we won't ourselves
> use the CMOS RTC.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v4: Also conditionally mask top bit for guest index port accesses. Add
>     missing adjustments to rtc_init(). Re-work to avoid recursive
>     read_lock(). Also adjust guest_io_{read,write}(). Re-base.
> v3: Re-base over change to earlier patch.
> v2: Re-base.
> 
> --- a/xen/arch/x86/hvm/rtc.c
> +++ b/xen/arch/x86/hvm/rtc.c
> @@ -27,7 +27,7 @@
>  #include <asm/hvm/vpt.h>
>  #include <asm/hvm/io.h>
>  #include <asm/hvm/save.h>
> -#include <asm/current.h>
> +#include <asm/iocap.h>
>  #include <xen/trace.h>
>  #include <public/hvm/params.h>
>  
> @@ -836,10 +836,18 @@ void rtc_init(struct domain *d)
>  
>      if ( !has_vrtc(d) )
>      {
> -        if ( is_hardware_domain(d) )
> -            /* Hardware domain gets mediated access to the physical RTC. */
> -            register_portio_handler(d, RTC_PORT(0), 2, hw_rtc_io);
> -        return;
> +        unsigned int port;
> +
> +        if ( !is_hardware_domain(d) )
> +            return;
> +
> +        /*
> +         * Hardware domain gets mediated access to the physical RTC/CMOS
> +         * (of course unless we don't use it ourselves).
> +         */
> +        for ( port = RTC_PORT(0); port < RTC_PORT(0) + 0x10; port += 2 )
> +            if ( is_cmos_port(port, 2, d) )
> +                register_portio_handler(d, port, 2, hw_rtc_io);
>      }
>  
>      spin_lock_init(&s->lock);
> --- a/xen/arch/x86/include/asm/mc146818rtc.h
> +++ b/xen/arch/x86/include/asm/mc146818rtc.h
> @@ -9,6 +9,10 @@
>  
>  extern spinlock_t rtc_lock;             /* serialize CMOS RAM access */
>  
> +struct domain;
> +bool is_cmos_port(unsigned int port, unsigned int bytes,
> +                  const struct domain *d);

We seem to usually name this rtc rather than cmos, any reason to use
cmos for the helper naming rather than rtc?

If not I would rather use is_rtc_port(), so that we can keep it in
sync with the existing RTC_PORT() macros and the handler names
rtc_guest_{read,write}, hw_rtc_io.

> +
>  /**********************************************************************
>   * register summary
>   **********************************************************************/
> --- a/xen/arch/x86/pv/emul-priv-op.c
> +++ b/xen/arch/x86/pv/emul-priv-op.c
> @@ -220,7 +220,7 @@ static bool admin_io_okay(unsigned int p
>          return false;
>  
>      /* We also never permit direct access to the RTC/CMOS registers. */
> -    if ( port <= RTC_PORT(1) && port + bytes > RTC_PORT(0) )
> +    if ( is_cmos_port(port, bytes, d) )
>          return false;
>  
>      return ioports_access_permitted(d, port, port + bytes - 1);
> @@ -290,7 +290,7 @@ static uint32_t guest_io_read(unsigned i
>          {
>              sub_data = pv_pit_handler(port, 0, 0);
>          }
> -        else if ( port == RTC_PORT(0) || port == RTC_PORT(1) )
> +        else if ( is_cmos_port(port, 1, currd) )
>          {
>              sub_data = rtc_guest_read(port);
>          }
> @@ -436,7 +436,7 @@ static void guest_io_write(unsigned int
>          {
>              pv_pit_handler(port, (uint8_t)data, 1);
>          }
> -        else if ( port == RTC_PORT(0) || port == RTC_PORT(1) )
> +        else if ( is_cmos_port(port, 1, currd) )
>          {
>              rtc_guest_write(port, data);
>          }
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -2072,37 +2072,36 @@ int __hwdom_init xen_in_range(unsigned l
>  static int __hwdom_init cf_check io_bitmap_cb(
>      unsigned long s, unsigned long e, void *ctx)
>  {
> -    struct domain *d = ctx;
> +    const struct domain *d = ctx;
>      unsigned int i;
>  
>      ASSERT(e <= INT_MAX);
>      for ( i = s; i <= e; i++ )
> -        __clear_bit(i, d->arch.hvm.io_bitmap);
> +        /*
> +         * Accesses to RTC ports also need to be trapped in order to keep
> +         * consistency with PV.
> +         */

More than to keep consistency with PV, don't we need to trap accesses
to that concurrent accesses between dom0 and Xen (when also using the
device) don't overlap, as the RTC/CMOS space uses indirect indexing.

And likely to avoid dom0 from disabling NMIs.

I see that you copied the existing comment, but not sure it's fully
accurate?

> +        if ( !is_cmos_port(i, 1, d) )
> +            __clear_bit(i, d->arch.hvm.io_bitmap);
>  
>      return 0;
>  }
>  
>  void __hwdom_init setup_io_bitmap(struct domain *d)
>  {
> -    int rc;
> +    if ( !is_hvm_domain(d) )
> +        return;
>  
> -    if ( is_hvm_domain(d) )
> -    {
> -        bitmap_fill(d->arch.hvm.io_bitmap, 0x10000);
> -        rc = rangeset_report_ranges(d->arch.ioport_caps, 0, 0x10000,
> -                                    io_bitmap_cb, d);
> -        BUG_ON(rc);
> -        /*
> -         * NB: we need to trap accesses to 0xcf8 in order to intercept
> -         * 4 byte accesses, that need to be handled by Xen in order to
> -         * keep consistency.
> -         * Access to 1 byte RTC ports also needs to be trapped in order
> -         * to keep consistency with PV.
> -         */
> -        __set_bit(0xcf8, d->arch.hvm.io_bitmap);
> -        __set_bit(RTC_PORT(0), d->arch.hvm.io_bitmap);
> -        __set_bit(RTC_PORT(1), d->arch.hvm.io_bitmap);
> -    }
> +    bitmap_fill(d->arch.hvm.io_bitmap, 0x10000);
> +    if ( rangeset_report_ranges(d->arch.ioport_caps, 0, 0x10000,
> +                                io_bitmap_cb, d) )
> +        BUG();
> +
> +    /*
> +     * We need to trap 4-byte accesses to 0xcf8 (see admin_io_okay(),
> +     * guest_io_read(), and guest_io_write()).
> +     */
> +    __set_bit(0xcf8, d->arch.hvm.io_bitmap);
>  }
>  
>  /*
> --- a/xen/arch/x86/time.c
> +++ b/xen/arch/x86/time.c
> @@ -1234,7 +1234,10 @@ static unsigned long get_cmos_time(void)
>          if ( seconds < 60 )
>          {
>              if ( rtc.sec != seconds )
> +            {
>                  cmos_rtc_probe = false;
> +                acpi_gbl_FADT.boot_flags &= ~ACPI_FADT_NO_CMOS_RTC;
> +            }
>              break;
>          }
>  
> @@ -1249,6 +1252,80 @@ static unsigned long get_cmos_time(void)
>      return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
>  }
>  
> +static unsigned int __ro_after_init cmos_alias_mask;
> +
> +static int __init cf_check probe_cmos_alias(void)
> +{
> +    unsigned int i, offs;
> +
> +    if ( acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC )
> +        return 0;
> +
> +    for ( offs = 2; offs < 8; offs <<= 1 )
> +    {
> +        bool read = true;

You can limit the scope of i to the inner for loop.

> +
> +        for ( i = RTC_REG_D + 1; i < 0x80; ++i )
> +        {
> +            uint8_t normal, alt;
> +            unsigned long flags;
> +
> +            if ( i == acpi_gbl_FADT.century )
> +                continue;
> +
> +            spin_lock_irqsave(&rtc_lock, flags);
> +
> +            normal = CMOS_READ(i);
> +            if ( inb(RTC_PORT(offs)) != i )
> +                read = false;
> +
> +            alt = inb(RTC_PORT(offs + 1));
> +
> +            spin_unlock_irqrestore(&rtc_lock, flags);
> +
> +            if ( normal != alt )
> +                break;
> +
> +            process_pending_softirqs();

You adding a call to process pending softirqs for every loop
iteration makes me wonder how long is each of those accesses expected
to take, since we could be performing a lot of them (0x80 * 3).

I don't think so, but there can not be any side effects from reading
from the CMOS RAM I would assume, even for cases where the CMOS ports
are not aliases?

I would assume ports to be either aliased to the CMOS, or otherwise
reserved.  What makes me wonder if it wouldn't be simpler to just
passthough accesses to all the possible CMOS alias ports.

> +        }
> +        if ( i == 0x80 )
> +        {
> +            cmos_alias_mask |= offs;
> +            printk(XENLOG_INFO "CMOS aliased at %02x, index %s\n",
> +                   RTC_PORT(offs), read ? "r/w" : "w/o");
> +        }
> +    }
> +
> +    return 0;
> +}
> +__initcall(probe_cmos_alias);
> +
> +bool is_cmos_port(unsigned int port, unsigned int bytes, const struct domain *d)
> +{
> +    if ( !is_hardware_domain(d) )
> +        return port <= RTC_PORT(1) && port + bytes > RTC_PORT(0);
> +
> +    if ( !(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) &&
> +         port <= RTC_PORT(cmos_alias_mask | 1) && port + bytes > RTC_PORT(0) )
> +    {
> +        unsigned int cmos = RTC_PORT(0), nr = 2, step;
> +
> +        while ( cmos_alias_mask & nr )
> +            nr <<= 1;
> +        for ( step = nr << 1;
> +              step < cmos_alias_mask && !(cmos_alias_mask & step); )
> +            step <<= 1;
> +        do {
> +            if ( !(cmos & ~RTC_PORT(cmos_alias_mask)) &&
> +                 port <= cmos + 1 && port + bytes > cmos )
> +                return true;
> +            cmos += step;
> +        } while ( cmos <= RTC_PORT(cmos_alias_mask) );

I would use a for loop similar to the one used in probe_cmos_alias()
to check for aliased accesses?

if ( port <= RTC_PORT(1) && port + bytes > RTC_PORT(0) )
    return true;

for ( offs = 2; offs < 8; offs <<= 1 )
{
    if ( !(offs & cmos_alias_mask) )
        continue;
    if ( port <= RTC_PORT(1 + off) && port + bytes > RTC_PORT(off) )
        return true;
}

return false;

So that you can also optimize for the more common case RTC_PORT(0) and
RTC_PORT(1) are used?

Or there's something I'm missing?

> +    }
> +
> +    return false;
> +}
> +
>  /* Helpers for guest accesses to the physical RTC. */
>  unsigned int rtc_guest_read(unsigned int port)
>  {
> @@ -1256,7 +1333,7 @@ unsigned int rtc_guest_read(unsigned int
>      unsigned long flags;
>      unsigned int data = ~0;
>  
> -    switch ( port )
> +    switch ( port & ~cmos_alias_mask )
>      {
>      case RTC_PORT(0):
>          /*
> @@ -1264,15 +1341,16 @@ unsigned int rtc_guest_read(unsigned int
>           * of the first RTC port, as there's no access to the physical IO
>           * ports.
>           */
> -        data = currd->arch.cmos_idx;
> +        data = currd->arch.cmos_idx & (0xff >> (port == RTC_PORT(0)));

We do allow read access to alias ports even when the underling
hardware does do so, which I think is fine, but might be worth a
comment (since we already detect whether the RTC_PORT(0) alias is also
readable.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 15:02:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 15:02:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513935.795701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfMSk-0007VU-HG; Thu, 23 Mar 2023 15:02:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513935.795701; Thu, 23 Mar 2023 15:02: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 1pfMSk-0007VN-ET; Thu, 23 Mar 2023 15:02:46 +0000
Received: by outflank-mailman (input) for mailman id 513935;
 Thu, 23 Mar 2023 15:02: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=wT+G=7P=kernel.org=helgaas@srs-se1.protection.inumbo.net>)
 id 1pfMSi-0007VH-Sj
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 15:02: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 c2f57020-c98b-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 16:02:43 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 27E14B8208A;
 Thu, 23 Mar 2023 15:02:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7276DC4339E;
 Thu, 23 Mar 2023 15:02: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: c2f57020-c98b-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679583760;
	bh=A4cz5sAtdGojClghNnzslTTn+0telsrqWPrc7ZEY92A=;
	h=Date:From:To:Cc:Subject:In-Reply-To:From;
	b=QZ2KDQiDLNeolamz/rBZXmXKaml10w90GcGwB6l5yO87qYFqQPDIQgKZ80zht8Qsc
	 Xeoi/zLrt2EtH3nbngx/R5sYZx0Xwf4JkO9knqHSrKtOYd2+7MSeapV8B/zw9rxmZf
	 9UhNHPKZpA1ucTpj/VgulfE/ACFQnVZP8YBw36pan4Gf8wwyvTOnEEDjDM2KPQPTQp
	 ZGCnVZCISmiqwx5zKNrKd8Mk7Zh6u/0oYwI8LPRfc1PEUXu67DDtdxfqNx9ryyF1pw
	 4cNq1h1H67JIwrFngX1Sl9ypuAP/OCB5kx8wJtxg7nOzQYMGU2gbmFC/O67YEr6JCJ
	 aHqE0tG0UVQoQ==
Date: Thu, 23 Mar 2023 10:02:38 -0500
From: Bjorn Helgaas <helgaas@kernel.org>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH v6 1/4] PCI: Introduce pci_dev_for_each_resource()
Message-ID: <20230323150238.GA2550157@bhelgaas>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ZBxiaflGTeK8Jlgx@smile.fi.intel.com>

On Thu, Mar 23, 2023 at 04:30:01PM +0200, Andy Shevchenko wrote:
> On Wed, Mar 22, 2023 at 02:28:04PM -0500, Bjorn Helgaas wrote:
> > On Mon, Mar 20, 2023 at 03:16:30PM +0200, Andy Shevchenko wrote:
> ...
> 
> > > +	pci_dev_for_each_resource_p(dev, r) {
> > >  		/* zap the 2nd function of the winbond chip */
> > > -		if (dev->resource[i].flags & IORESOURCE_IO
> > > -		    && dev->bus->number == 0 && dev->devfn == 0x81)
> > > -			dev->resource[i].flags &= ~IORESOURCE_IO;
> > > -		if (dev->resource[i].start == 0 && dev->resource[i].end) {
> > > -			dev->resource[i].flags = 0;
> > > -			dev->resource[i].end = 0;
> > > +		if (dev->bus->number == 0 && dev->devfn == 0x81 &&
> > > +		    r->flags & IORESOURCE_IO)
> > 
> > This is a nice literal conversion, but it's kind of lame to test
> > bus->number and devfn *inside* the loop here, since they can't change
> > inside the loop.
> 
> Hmm... why are you asking me, even if I may agree on that? It's
> in the original code and out of scope of this series.

Yeah, I don't think it would be *unreasonable* to clean this up at the
same time so the maintainers can look at both at the same time (this
is arch/powerpc/platforms/pseries/pci.c, so Michael, et al), but no
need for you to do anything, certainly.  I can post a follow-up patch.

> > but
> > since we're converging on the "(dev, res)" style, I think we should
> > reverse the names so we have something like:
> > 
> >   pci_dev_for_each_resource(dev, res)
> >   pci_dev_for_each_resource_idx(dev, res, i)
> 
> Wouldn't it be more churn, including pci_bus_for_each_resource() correction?

Yes, it definitely is a little more churn because we already have
pci_bus_for_each_resource() that would have to be changed.

I poked around looking for similar patterns elsewhere with:

  git grep "#define.*for_each_.*_p("
  git grep "#define.*for_each_.*_idx("

I didn't find any other "_p" iterators and just a few "_idx" ones, so
my hope is to follow what little precedent there is, as well as
converge on the basic "*_for_each_resource()" iterators and remove the
"_idx()" versions over time by doing things like the
pci_claim_resource() change.

What do you think?  If it seems like excessive churn, we can do it
as-is and still try to reduce the use of the index variable over time.

Bjorn


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 15:11:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 15:11:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513940.795717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfMab-0000s1-Cx; Thu, 23 Mar 2023 15:10:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513940.795717; Thu, 23 Mar 2023 15: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 1pfMab-0000ru-8j; Thu, 23 Mar 2023 15:10:53 +0000
Received: by outflank-mailman (input) for mailman id 513940;
 Thu, 23 Mar 2023 15:10: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=JuTy=7P=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pfMaZ-0000rV-KJ
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 15:10:52 +0000
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e37e0eb7-c98c-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 16:10:49 +0100 (CET)
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
 by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 23 Mar 2023 08:09:02 -0700
Received: from smile.fi.intel.com ([10.237.72.54])
 by fmsmga002.fm.intel.com with ESMTP; 23 Mar 2023 08:08:52 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.96)
 (envelope-from <andriy.shevchenko@linux.intel.com>)
 id 1pfMYZ-007YBs-1j; Thu, 23 Mar 2023 17:08:47 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e37e0eb7-c98c-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679584249; x=1711120249;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=pTI3sfGhxuNt+eJ92X/zV2v4CxfKcZ1sf1RhNp36ij0=;
  b=RMo/4HUqB8BgdlqabO9/Iy32ztEUrI3LEakPvnl+avuKVEiOS1fyLgT4
   zO+zRC9keHfN6H8LqyLqxCLg9cc82PMJaMf6EZOQuSo49gebWF2vK0jW5
   us5eRm+wRqDJFmFJZl2unFR63DKx6uyE1lmnQaG6Bvz6UpwyPnzjsJWdv
   XQ9LGLhc4tXHERtyNJmuNDkqamAUCe/4RL/iIRfTgyC2mJXnFB+qzLa5F
   fejLT1oyp3OWVLl5SapLOJmnzTBS9OaBk19A9mfQF3xjSJmpgGIuer+yt
   DSGtFNs7cM99PpAnH2FCeflKroCeKu1mJPke1U0jBlAPLbDObEwKNUj+N
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="404419879"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="404419879"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="793046100"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="793046100"
Date: Thu, 23 Mar 2023 17:08:47 +0200
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH v6 1/4] PCI: Introduce pci_dev_for_each_resource()
Message-ID: <ZBxrfy83MRjnReAs@smile.fi.intel.com>
References: <ZBxiaflGTeK8Jlgx@smile.fi.intel.com>
 <20230323150238.GA2550157@bhelgaas>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20230323150238.GA2550157@bhelgaas>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

On Thu, Mar 23, 2023 at 10:02:38AM -0500, Bjorn Helgaas wrote:
> On Thu, Mar 23, 2023 at 04:30:01PM +0200, Andy Shevchenko wrote:

...

> I poked around looking for similar patterns elsewhere with:
> 
>   git grep "#define.*for_each_.*_p("
>   git grep "#define.*for_each_.*_idx("
> 
> I didn't find any other "_p" iterators and just a few "_idx" ones, so
> my hope is to follow what little precedent there is, as well as
> converge on the basic "*_for_each_resource()" iterators and remove the
> "_idx()" versions over time by doing things like the
> pci_claim_resource() change.

The p is heavily used in the byte order conversion helpers.

> What do you think?  If it seems like excessive churn, we can do it
> as-is and still try to reduce the use of the index variable over time.

I think _p has a precedent as well. But I can think about it a bit, maybe
we can come up with something smarter.

-- 
With Best Regards,
Andy Shevchenko




From xen-devel-bounces@lists.xenproject.org Thu Mar 23 15:41:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 15:41:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513943.795727 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfN3j-0005Ax-Mt; Thu, 23 Mar 2023 15:40:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513943.795727; Thu, 23 Mar 2023 15:40:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfN3j-0005Aq-JI; Thu, 23 Mar 2023 15:40:59 +0000
Received: by outflank-mailman (input) for mailman id 513943;
 Thu, 23 Mar 2023 15:40:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=fJyN=7P=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfN3h-0005Ak-VS
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 15:40:58 +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 1611bafb-c991-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 16:40:50 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8257.eurprd04.prod.outlook.com (2603:10a6:20b:3b6::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 15:40:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 15: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>
X-Inumbo-ID: 1611bafb-c991-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c/IFomENoZjxhMgCe/QW2YEKOagjyP5V6NRguyou9Isy2HTT4bco7yWFDkVcquqQUzXnQWlqnwx/8rUscF6ckCZpV9iVEi9xLnpo9c5ZRzwGLsJFVZmb1fS5dmG2H6GTqYeCggeefV13hW4KWexZ9qVgDRLDsfAps7n/+nKur5cJ/FoIedT9VARNw/ZoBXqSvTNUGAcTDa8RMcNLzpfWBPtBH22lBAvx+Ze6TosZ42K7yHy5jzehf5tqVpK+3/wsjEQ7N5ISh2hlQGAqIx1Qy1IFJ5N/FbrqATNC10FiVMmLRHmMMsIbmTLfFBa6kBtuJbcTOhIbPp3vopbW6duHCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Q1swhVX/o47uENkgSIFpTWemaVHBNgjE5l9fqR0FAe8=;
 b=gQyp3JHTYuWfWnJsS4y2lQzAgp+M76YgSJowiJQlrvGtz52paZ5FCJnl5g0diXvkUUlpWiZwf3kgGvzILVvBHZFX/u7ak6KKEcSzUvrJ2WQgEW/yqvy1AjJJpXgCmXGAiUQJ/O8JhCwUmiufMr9S6WH+Ncdeo64Wr5yBDwRAf+1i1hJgmqaBkPeBqkVqKrsRNQCQaoWp7XTeHj+aQhqe/dRtC5oRtRcNwpT5J878XFTEnTHsAYyfu5KpEX9v5C4kYfy0qK+yt1HqQgwxRNskAl4b18O2xEa2mezvstKEMzAzUfj1P/QSK5wu5egDlrrrOMEgnFy6TQEQ4wT3mIWrTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Q1swhVX/o47uENkgSIFpTWemaVHBNgjE5l9fqR0FAe8=;
 b=sxtjmDwJiv/hOO0vPtcWMJrenOZTSC0N2A29aPk6sISXtCOdCIO2glzrvrwyH/64gSJqYJ207XlAZeWNGsRMrsm8npRqzaubz5JImHEvZQ748qkm9EQQpNjc6xJoDiqTXfJjxRR+AwmgiAKATFmESTlco03qOiNVCvyNNLwKwdx013L6EoHhfoDZVqOz3LQwSokiFkA1dWaTOiayUsM4FMBGW6OIy2dS3IbQZO9ZDN8NhK46fzeXbJnPVKJH9UTpwDCfjuokWvZKrXuuKqOobg1OhWQ4XjQfY2hZ/RWFqoDdqLwqBRbUulMS7T9RPbqek8dLy1AbSVGxJWzN1cIyfQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dfc15fe8-aede-4e01-ecf3-c3457c95563f@suse.com>
Date: Thu, 23 Mar 2023 16:40:50 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 10/16] x86/shadow: move OOS functions to their own file
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <88be7d2e-325b-2a32-fe9f-ce762bb7b606@suse.com>
 <253e45ae-4b66-a618-6385-b0fa018e693a@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <253e45ae-4b66-a618-6385-b0fa018e693a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0109.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8257:EE_
X-MS-Office365-Filtering-Correlation-Id: 622828c5-40fb-459a-539a-08db2bb4fb80
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VrhMAiLexNbHpSUI+MVPWDso8m3+HiX0U8TPclvgYNLCVjaZ6d/MGaNl50j5ssjr/QYkwRxACGCCfPo76umjdtUMbm3B1sg+M2n8/GA8RX8GpyUrZF+FyTVBARKlO8R2wqedBHg7vPc7CPfPMuOhDtRHPCNhU92p44rEkCA948ahRLTxceT7EJAeNZPvXoLzqavfIhS+REWbiNRjbf6mAnLrliVpEIyVaAb2As+VZFKV2JnFHsY527WsKBuaJf0yL4uR8WhITYQRuI3KdQOkfrqYfszJkEzrH5knw3OmOYU/gDFUCsfmqDk1TcE5kgu82YqYu2byqS2cuXMCdwiSeL3CnPhBVgqK0OWCoMZDo36mIwB/NYZrHnjZSKmtQXhqWiMX2B1ENkx3n4D++As3ujNbEaUexMolcJMglT9osZR+D61hT+E9gnH0cViomY6Fg2SRAat84Wn6jl+spsvWHlkLAYxawKY2nIVM/UkymYQIKqR1KVLFtV3HIHAbhOct9bI76JuFN9pslUSmyYG6VX5uQC6LC7AgA6p7hngLs2FUboscsKQRlhz/2gGQR8vvTi12dDxQapzTI5MSOpyj0V2l6suNkm15U0vDkiavsogFaSjQHhaTs0qrL2zEqt5BYcSGAP1JLOx9eDcE5AGxN0SvnOxvdnvF8Z2fSpUpeUCJcJkPHsPZe5A9CqfQY7dFrx4UDOulThpB9oiQJLVqN2UFQUoAid6teOjd1Pfdbps=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(376002)(39860400002)(346002)(366004)(396003)(136003)(451199018)(31686004)(38100700002)(2906002)(66899018)(478600001)(83380400001)(6486002)(2616005)(36756003)(186003)(31696002)(86362001)(6916009)(66946007)(8676002)(66556008)(4326008)(66476007)(54906003)(316002)(6512007)(6506007)(26005)(53546011)(8936002)(5660300002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QStzSXdnNXpkQ05abkZGMi9zMHpUNTNoSTZnbVBUOWtpQlR4QUFnRWtHallz?=
 =?utf-8?B?eStXRERrVFlTQmE4ZzNXa04vTUd1WTRiSGQ5dU1wYjEzNzU0V0lLN1EwWmx1?=
 =?utf-8?B?ZkIwbmpJZTQ5bDhXaUVnVEppY1lCUGdEUG5wWjJlSVBLUnR5NitRVXZRYzJK?=
 =?utf-8?B?c3Uwd2tVR2xWTFBYbXRGV2ZaRWNHV2pCK1l4ekNsMlBYUHM0QWxINi91MXp6?=
 =?utf-8?B?d21FckJlbmcwSUYxOFpoOXZWYmJDZjZxWjFhZ1N5TVZ3ZWg4cmo3UnRtdDJK?=
 =?utf-8?B?QnZUOHNESzNuZHRYZVd0SXpSejV2TFYzTHFkVlhaQ1B1eDlVVlMwWkRBcTMr?=
 =?utf-8?B?ZHVva2dpamFDNEkrN0pOY0FKWWFoQnJsVFlQdEI3Q3ZFbm1TbElrU1F2NkJ4?=
 =?utf-8?B?Zm1UbStNUENXVTZnekEvcjlYekhWU3dSL2MyNW5pbmFOQWVLUlNmaDdMWWdm?=
 =?utf-8?B?Sk9wRnVXTWxLcll1UVpZNHZMTXdsZnJXSm42anRZRTJ3VnJ2R1NBSEhWSmVQ?=
 =?utf-8?B?cklLd0paT2ZzNUh3RlZXRDA2ckxSQ2QvMGtZSm9LRUxEN0lQRGVOWTVGYUww?=
 =?utf-8?B?YVJPdVVIQ0wwdktZajVhL0ZkRHFFY3c1KytvTmRIbk9BcSt5YjZTVy9rVjdT?=
 =?utf-8?B?cFRrNTF6c0ZuVGpHZVBOVDhKeU9aQnp4dW1NNzI1NGhqb1EwRWQ4aXdrTEdT?=
 =?utf-8?B?emM3MUQwUzNXMmdjdGR4WFZCWDNkcEp1R3hSb01oL2tIUUluKzNvbzIyQ3VO?=
 =?utf-8?B?NGNUQVE4dG44Nkh2SzhaOGJTWmo5VEhXWDNKNWxHMFA3cy9DNjRJSStJVC9r?=
 =?utf-8?B?SzFJeVJ5OVh1YXBZb0NJQjM5Mll6UlFBTmVrazdKeitkb0lmREI0b0xjYjFE?=
 =?utf-8?B?MFFHdVFDcllMRHNabjFQQnBSSVRoRlI5dUxtejR3dHFZRHhoK3U3STNSbEVa?=
 =?utf-8?B?dm05Q0ZkS2ROM05GWitWVitGTC9FYjhJaDlNRUkxRUlPL1oxVlQyb0NZRWJF?=
 =?utf-8?B?U3BabFhFcUI4K0xCY040SGVyVnhMamdwbERhWjFXRmp1M0pDdWxiREZkMWpZ?=
 =?utf-8?B?YndnVTZwQjVraTR4RytrK2toOEpKVUQyZTl2aTRsbU5DbEdvRkVFZlBIV3Ry?=
 =?utf-8?B?ZE5xWm1HYUtpMDJZL0pnbUJ4SDA4cHRNS0NFOC9HTDlXb29uQjdPSnNnMDNZ?=
 =?utf-8?B?Ni9EQ0V3bFNiYkxZYUFLQi9DYUx1MW1OdkJWa2xpemU4M1RwUWo4em5XRERK?=
 =?utf-8?B?WnpsVitSK0c1TGNma0dSeVRXbm9JajdvYVFBSHBuTXgvME5FakZiYmk1OEdZ?=
 =?utf-8?B?UEpjOWhTcDM1L1FMeWJFbHFJSmVTTXJwaE9kK25NcUs3amJRY2E4ZmpYdXMx?=
 =?utf-8?B?VE5QMTBRMkszbTFOR0luL2ZVK0FpVUxHUDVPZWUzRkJMVWg3V05zSDc5bkdI?=
 =?utf-8?B?Q1M0Kzdubm5SenozbWVZb2luSXdscHRrSHFwUXBHZVNJSm8vR05DQkJ5eDli?=
 =?utf-8?B?YjNvNmh5U1M5VmkrTVhFRW9zNGNHY0RJZGVpYXlQbFAxZWJvZW52bkdNMzhE?=
 =?utf-8?B?SUM4WHdYdkJsTkRuSTBLbnlDd0lZZjJjUG82SVhreXNlUmlTS1JEdEVIT1o0?=
 =?utf-8?B?TkoxcnJCY0p3U2lITkJKdjlOMG9ENnFmMWZDS1o5OUFjK3lGdHBhTlZsZ3po?=
 =?utf-8?B?QzhOSCtzSEJrSWgzT2hRS2luZnBPWC9KVDFDc3Jkd0pqTG5XTnh5M3l0NS94?=
 =?utf-8?B?eno1K0ZYYWtZWHorK203WEdIRXBFY2pjOEVZWFB3V0RGYkZGZlFndXI3bzFi?=
 =?utf-8?B?aFk2bXFsaFBjeU5YOTRhQVFNaUM3OGdjYjh5cXlhbldKR1dXb0dpUng5Y1R2?=
 =?utf-8?B?QTVyVS9sMHExdXlUanZVeDIxSXVpSnduWDhCSmVTeXlwTHMyYVpIT2Vqd2th?=
 =?utf-8?B?ZEp1M2lQRmtCOFNvMllsUmFWaXVnVG9nZ0o5OHdaSmJTN2htaEtLREFyVWcw?=
 =?utf-8?B?Lzh1bzJEOXJkZ25Na3dWM3Z2UXhibzZLUUxnY1AyaG9wcXpxTU85UE9JTTdh?=
 =?utf-8?B?eXhZaTNLSnBRb25JZHRzNDdBQk9QZzhGVmwyRWdkVWd0Zm4xRGRpRjNOSDNt?=
 =?utf-8?Q?0OJD6kKEIDAO7/OFeZztAfkgO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 622828c5-40fb-459a-539a-08db2bb4fb80
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 15:40:51.7905
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: A9ir01a4Kv9Kvb1AU4ek+5Z6H8cwSuZpONcW54xgqpZVyZ2d0Nsaa/DmAh1n9OasII/xbipSPVLkW0ZxabqbAw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8257

On 23.03.2023 15:30, Andrew Cooper wrote:
> On 22/03/2023 9:35 am, Jan Beulich wrote:
>> --- /dev/null
>> +++ b/xen/arch/x86/mm/shadow/oos.c
>> @@ -0,0 +1,603 @@
>> +/* SPDX-License-Identifier: GPL-2.0 */
> 
> GPL-2.0-only
> 
> The unqualified form in deprecated.
> 
>> +/******************************************************************************
>> + * arch/x86/mm/shadow/oos.c
>> + *
>> + * Shadow code dealing with out-of-sync shadows.
>> + * Parts of this code are Copyright (c) 2006 by XenSource Inc.
>> + * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>> + * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
>> + */
>> +
>> +#include "private.h"
>> +
>> +#if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC)
>> +
>> +#include <xen/trace.h>
>> +
>> +#include <asm/shadow.h>
>> +
>> +/*
>> + * From time to time, we let a shadowed pagetable page go out of sync
>> + * with its shadow: the guest is allowed to write directly to the page,
>> + * and those writes are not synchronously reflected in the shadow.
>> + * This lets us avoid many emulations if the guest is writing a lot to a
>> + * pagetable, but it relaxes a pretty important invariant in the shadow
>> + * pagetable design.  Therefore, some rules:
>> + *
>> + * 1. Only L1 pagetables may go out of sync: any page that is shadowed
>> + *    at at higher level must be synchronously updated.  This makes
>> + *    using linear shadow pagetables much less dangerous.
>> + *    That means that: (a) unsyncing code needs to check for higher-level
>> + *    shadows, and (b) promotion code needs to resync.
>> + *
>> + * 2. All shadow operations on a guest page require the page to be brought
>> + *    back into sync before proceeding.  This must be done under the
>> + *    paging lock so that the page is guaranteed to remain synced until
>> + *    the operation completes.
>> + *
>> + *    Exceptions to this rule: the pagefault and invlpg handlers may
>> + *    update only one entry on an out-of-sync page without resyncing it.
>> + *
>> + * 3. Operations on shadows that do not start from a guest page need to
>> + *    be aware that they may be handling an out-of-sync shadow.
>> + *
>> + * 4. Operations that do not normally take the paging lock (fast-path
>> + *    #PF handler, INVLPG) must fall back to a locking, syncing version
>> + *    if they see an out-of-sync table.
>> + *
>> + * 5. Operations corresponding to guest TLB flushes (MOV CR3, INVLPG)
>> + *    must explicitly resync all relevant pages or update their
>> + *    shadows.
>> + *
>> + * Currently out-of-sync pages are listed in a simple open-addressed
>> + * hash table with a second chance (must resist temptation to radically
>> + * over-engineer hash tables...)  The virtual address of the access
>> + * which caused us to unsync the page is also kept in the hash table, as
>> + * a hint for finding the writable mappings later.
>> + *
>> + * We keep a hash per vcpu, because we want as much as possible to do
>> + * the re-sync on the save vcpu we did the unsync on, so the VA hint
>> + * will be valid.
>> + */
>> +
>> +#if SHADOW_AUDIT & SHADOW_AUDIT_ENTRIES_FULL
>> +void sh_oos_audit(struct domain *d)
>> +{
>> +    unsigned int idx, expected_idx, expected_idx_alt;
>> +    struct page_info *pg;
>> +    struct vcpu *v;
>> +
>> +    for_each_vcpu(d, v)
>> +    {
>> +        for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
>> +        {
>> +            mfn_t *oos = v->arch.paging.shadow.oos;
> 
> Newline.

I'm happy to add the newlines you're asking for (also below). But ...

> But the variable placement is weird.  oos ought to be one scope further
> out to prevent recalculation in the for() loop, while pg and the two
> expected could be at the inter-most scope.

... I don't want to go farther than that - see "but leave the code
otherwise untouched" in the description. This also goes for several
of your requests further down.

>> +#if SHADOW_AUDIT & SHADOW_AUDIT_ENTRIES
>> +void oos_audit_hash_is_present(struct domain *d, mfn_t gmfn)
>> +{
>> +    int idx;
>> +    struct vcpu *v;
>> +    mfn_t *oos;
>> +
>> +    ASSERT(mfn_is_out_of_sync(gmfn));
>> +
>> +    for_each_vcpu(d, v)
>> +    {
>> +        oos = v->arch.paging.shadow.oos;
>> +        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
> 
> Same for oos and idx here, which would shrink this function overall.
> 
> As a tangent, do we really want all these modulo 3's all over the
> place?  It's a lot of divide instructions in paths that are fast-ish for
> shadow guests.

I don't think the compiler translates division by constant to DIV / IDIV.
It's multiplication by suitable "inverse" and then using the top bits of
the result iirc.

>> +        if ( !mfn_eq(oos[idx], gmfn) )
>> +            idx = (idx + 1) % SHADOW_OOS_PAGES;
>> +
>> +        if ( mfn_eq(oos[idx], gmfn) )
>> +            return;
>> +    }
>> +
>> +    printk(XENLOG_ERR "gmfn %"PRI_mfn" marked OOS but not in hash table\n",
>> +           mfn_x(gmfn));
>> +    BUG();
>> +}
>> +#endif
>> +
>> +/* Update the shadow, but keep the page out of sync. */
>> +static inline void _sh_resync_l1(struct vcpu *v, mfn_t gmfn, mfn_t snpmfn)
> 
> inline can go.

I'm feeling on the edge with "inline". I'd prefer to leave them to keep
"untouched" reasonable true, but if you insist I'd be willing to include
their dropping.

>> +void oos_fixup_add(struct domain *d, mfn_t gmfn,
>> +                   mfn_t smfn,  unsigned long off)
>> +{
>> +    int idx, next;
>> +    mfn_t *oos;
>> +    struct oos_fixup *oos_fixup;
>> +    struct vcpu *v;
>> +
>> +    perfc_incr(shadow_oos_fixup_add);
>> +
>> +    for_each_vcpu(d, v)
>> +    {
>> +        oos = v->arch.paging.shadow.oos;
>> +        oos_fixup = v->arch.paging.shadow.oos_fixup;
>> +        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
>> +        if ( !mfn_eq(oos[idx], gmfn) )
>> +            idx = (idx + 1) % SHADOW_OOS_PAGES;
>> +        if ( mfn_eq(oos[idx], gmfn) )
>> +        {
>> +            int i;
>> +            for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )
> 
> This is a case where "for ( int i = ..." would definitely read better. 
> Luckily, this example is simple enough that the compiler has already
> optimised properly.
> 
>> +            {
>> +                if ( mfn_eq(oos_fixup[idx].smfn[i], smfn)
>> +                     && (oos_fixup[idx].off[i] == off) )
> 
> Given that you mention style in the commit message, it would be nice to
> move the && onto the previous line.

Sure, done (and there was a 2nd instance).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 15:55:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 15:55:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513951.795742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfNHW-00072Q-03; Thu, 23 Mar 2023 15:55:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513951.795742; Thu, 23 Mar 2023 15: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 1pfNHV-00072H-TR; Thu, 23 Mar 2023 15:55:13 +0000
Received: by outflank-mailman (input) for mailman id 513951;
 Thu, 23 Mar 2023 15:55: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=d8pY=7P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfNHV-00071d-FG
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 15:55:13 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 18136dde-c993-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 16:55:12 +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 A48CA22964;
 Thu, 23 Mar 2023 15:55:11 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 6FE8613596;
 Thu, 23 Mar 2023 15:55:11 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id TUcbGV92HGRDNQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 23 Mar 2023 15:55: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: 18136dde-c993-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679586911; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=FasMwf/QcBP60aF/SHDe1xF2V6iJUqnXfpSReLQqZ2I=;
	b=PMPxQtplo2jFaKDQ1Yl4lTI5ZxCEOTm1J4bztWKDjTJJZCJbTxI2iahGz1xAKUA79xPVqk
	iWvWtU39a29IsfUlCsvZHceBrDwnZfn6EHzyB8gG7BuZmDP/NBbgIKor4zJmaJEvjn3Aws
	S793aT6JDM89V75OMrKM4JcqG0Ly4tI=
Message-ID: <41ab8c98-ee53-8a21-56cb-2c6d801af0b8@suse.com>
Date: Thu, 23 Mar 2023 16:55:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [linux-linus test] 179607: regressions - trouble:
 fail/pass/starved
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
To: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
References: <osstest-179607-mainreport@xen.org>
 <ea0532e0-12c4-674d-392f-216658071f77@suse.com>
In-Reply-To: <ea0532e0-12c4-674d-392f-216658071f77@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------eT21vdPb2Tih4Op1OwBGPxGW"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------eT21vdPb2Tih4Op1OwBGPxGW
Content-Type: multipart/mixed; boundary="------------rZ4YdWAE2V4hcl6j0r5a0pd9";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@citrix.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>
Message-ID: <41ab8c98-ee53-8a21-56cb-2c6d801af0b8@suse.com>
Subject: Re: [linux-linus test] 179607: regressions - trouble:
 fail/pass/starved
References: <osstest-179607-mainreport@xen.org>
 <ea0532e0-12c4-674d-392f-216658071f77@suse.com>
In-Reply-To: <ea0532e0-12c4-674d-392f-216658071f77@suse.com>

--------------rZ4YdWAE2V4hcl6j0r5a0pd9
Content-Type: multipart/mixed; boundary="------------0x6Cv05VhnwztwtE7jQjmySN"

--------------0x6Cv05VhnwztwtE7jQjmySN
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMTQuMDMuMjMgMTQ6MjcsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IE9uIDE0LjAzLjIz
IDEzOjUyLCBvc3N0ZXN0IHNlcnZpY2Ugb3duZXIgd3JvdGU6DQo+PiBmbGlnaHQgMTc5NjA3
IGxpbnV4LWxpbnVzIHJlYWwgW3JlYWxdDQo+PiBodHRwOi8vbG9ncy50ZXN0LWxhYi54ZW5w
cm9qZWN0Lm9yZy9vc3N0ZXN0L2xvZ3MvMTc5NjA3Lw0KPj4NCj4+IFJlZ3Jlc3Npb25zIDot
KA0KPj4NCj4+IFRlc3RzIHdoaWNoIGRpZCBub3Qgc3VjY2VlZCBhbmQgYXJlIGJsb2NraW5n
LA0KPj4gaW5jbHVkaW5nIHRlc3RzIHdoaWNoIGNvdWxkIG5vdCBiZSBydW46DQo+PiDCoCB0
ZXN0LWFtZDY0LWFtZDY0LWZyZWVic2QxMi1hbWQ2NCAxMyBndWVzdC1zdGFydMKgwqDCoMKg
wqDCoMKgwqDCoCBmYWlsIFJFR1IuIHZzLiAxNzgwNDINCj4+IMKgIHRlc3QtYW1kNjQtYW1k
NjQteGwtY3JlZGl0McKgIDE5IGd1ZXN0LXNhdmVyZXN0b3JlLjLCoMKgwqDCoMKgIGZhaWwg
UkVHUi4gdnMuIDE3ODA0Mg0KPj4gwqAgdGVzdC1hbWQ2NC1hbWQ2NC14bC1zaGFkb3fCoMKg
IDE0IGd1ZXN0LXN0YXJ0wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZmFpbCBSRUdSLiB2
cy4gMTc4MDQyDQo+IA0KPiAuLi4NCj4gDQo+IEluIHRoZSBsb2dzIFsxXSBJJ20gc2VlaW5n
IGVycm9ycyBsaWtlOg0KPiANCj4gTWFyIDEzIDIzOjUxOjI2LjI3NTQyMSBbwqAgMjcxLjcx
Mzc0MF0geGVuYnIwOiBwb3J0IDIodmlmMS4wKSBlbnRlcmVkIGZvcndhcmRpbmcgDQo+IHN0
YXRlDQo+IE1hciAxMyAyMzo1MToyNi4yODczNDYgKFhFTikgY29tbW9uL2dyYW50X3RhYmxl
LmM6Mjk4MjpkMHYzIGNvcHkgYmV5b25kIHBhZ2UgYXJlYQ0KPiBNYXIgMTMgMjM6NTE6NDgu
MTE1MzgzIChYRU4pIGNvbW1vbi9ncmFudF90YWJsZS5jOjI5ODI6ZDB2MyBjb3B5IGJleW9u
ZCBwYWdlIGFyZWENCj4gTWFyIDEzIDIzOjUxOjQ5LjEyMzM0NyAoWEVOKSBjb21tb24vZ3Jh
bnRfdGFibGUuYzoyOTgyOmQwdjMgY29weSBiZXlvbmQgcGFnZSBhcmVhDQo+IE1hciAxMyAy
Mzo1MTo0OS40NTkzNjcgKFhFTikgY29tbW9uL2dyYW50X3RhYmxlLmM6Mjk4MjpkMHYzIGNv
cHkgYmV5b25kIHBhZ2UgYXJlYQ0KPiANCj4gR2l2ZW4gdGhlIHZpZiByZWxhdGVkIG1lc3Nh
Z2UgZGlyZWN0bHkgYmVmb3JlIHRob3NlIGVycm9ycyB0aGUgY2hhbmNlIGlzIGhpZ2gNCj4g
dGhpcyBwcm9ibGVtIGlzIHJlbGF0ZWQgdG8gbmV0YmFjay4NCj4gDQo+IFJvc3MsIHlvdXIg
cGF0Y2ggInhlbi9uZXRiYWNrOiBFbnN1cmUgcHJvdG9jb2wgaGVhZGVycyBkb24ndCBmYWxs
IGluIHRoZQ0KPiBub24tbGluZWFyIGFyZWEiICh1cHN0cmVhbSBjb21taXQgYWQ3ZjQwMmFl
NGY0NjY2KSBkaWQgdGhlIG1vc3QgcmVjZW50IGNoYW5nZXMNCj4gaW4gbmV0YmFjayBhZmZl
Y3RpbmcgR05UVEFCT1BfY29weSBvcGVyYXRpb25zLiBUaGVyZSBhcmUgcHJvYmFibHkgcGFn
ZSBib3VuZGFyeQ0KPiBjaGVja3MgKHByb2JhYmx5IG9uIG5ldGJhY2sgc2lkZSkgbWlzc2lu
Zy4gQ291bGQgeW91IHBsZWFzZSBoYXZlIGEgbG9vaz8NCg0KT2theSwgSSd2ZSBoYWQgYSB0
cnkgKHNlZSBhdHRhY2hlZCBwYXRjaCkuDQoNCkFudGhvbnksIGFzIEkgY2FuJ3QgcmVwcm9k
dWNlIHRoZSBvcmlnaW5hbCBwcm9ibGVtLCB3b3VsZCBpdCBiZSBwb3NzaWJsZSB0bw0Kc3Rh
cnQgYW4gT1NTdGVzdCBydW4gb2YgdGhlIGxpbnV4LWxpbnVzIHRlc3Qgd2l0aCBteSBwYXRj
aCBhcHBsaWVkIHRvIHRoZQ0KdXNlZCBrZXJuZWw/DQoNCg0KSnVlcmdlbg0K
--------------0x6Cv05VhnwztwtE7jQjmySN
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-xen-netback-don-t-do-grant-copy-across-page-boundary.patch"
Content-Disposition: attachment;
 filename*0="0001-xen-netback-don-t-do-grant-copy-across-page-boundary.pa";
 filename*1="tch"
Content-Transfer-Encoding: base64

RnJvbSA4YWNlMDJlZGJhNzQwYmZkYjBmOWJkODhhZTM0YWNkZDljZTE4ZTU4IE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+
CkRhdGU6IFRodSwgMjMgTWFyIDIwMjMgMDc6Mjk6NTYgKzAxMDAKU3ViamVjdDogW1BBVENI
XSB4ZW4vbmV0YmFjazogZG9uJ3QgZG8gZ3JhbnQgY29weSBhY3Jvc3MgcGFnZSBib3VuZGFy
eQoKRml4IHhlbnZpZl9nZXRfcmVxdWVzdHMoKSBub3QgdG8gZG8gZ3JhbnQgY29weSBvcGVy
YXRpb25zIGFjcm9zcyBsb2NhbApwYWdlIGJvdW5kYXJpZXMuIFRoaXMgcmVxdWlyZXMgdG8g
ZG91YmxlIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjb3B5Cm9wZXJhdGlvbnMgcGVyIHF1ZXVl
LCBhcyBlYWNoIGNvcHkgY291bGQgbm93IGJlIHNwbGl0IGludG8gMi4KCkNjOiBzdGFibGVA
dmdlci5rZXJuZWwub3JnCkZpeGVzOiBhZDdmNDAyYWU0ZjQgKCJ4ZW4vbmV0YmFjazogRW5z
dXJlIHByb3RvY29sIGhlYWRlcnMgZG9uJ3QgZmFsbCBpbiB0aGUgbm9uLWxpbmVhciBhcmVh
IikKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgotLS0K
IGRyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL2NvbW1vbi5oICB8IDIgKy0KIGRyaXZlcnMvbmV0
L3hlbi1uZXRiYWNrL25ldGJhY2suYyB8IDcgKysrKysrLQogMiBmaWxlcyBjaGFuZ2VkLCA3
IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9u
ZXQveGVuLW5ldGJhY2svY29tbW9uLmggYi9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9jb21t
b24uaAppbmRleCAzZGJmYzhhNjkyNGUuLjFmY2JkODNmN2ZmMiAxMDA2NDQKLS0tIGEvZHJp
dmVycy9uZXQveGVuLW5ldGJhY2svY29tbW9uLmgKKysrIGIvZHJpdmVycy9uZXQveGVuLW5l
dGJhY2svY29tbW9uLmgKQEAgLTE2Niw3ICsxNjYsNyBAQCBzdHJ1Y3QgeGVudmlmX3F1ZXVl
IHsgLyogUGVyLXF1ZXVlIGRhdGEgZm9yIHhlbnZpZiAqLwogCXN0cnVjdCBwZW5kaW5nX3R4
X2luZm8gcGVuZGluZ190eF9pbmZvW01BWF9QRU5ESU5HX1JFUVNdOwogCWdyYW50X2hhbmRs
ZV90IGdyYW50X3R4X2hhbmRsZVtNQVhfUEVORElOR19SRVFTXTsKIAotCXN0cnVjdCBnbnR0
YWJfY29weSB0eF9jb3B5X29wc1tNQVhfUEVORElOR19SRVFTXTsKKwlzdHJ1Y3QgZ250dGFi
X2NvcHkgdHhfY29weV9vcHNbMiAqIE1BWF9QRU5ESU5HX1JFUVNdOwogCXN0cnVjdCBnbnR0
YWJfbWFwX2dyYW50X3JlZiB0eF9tYXBfb3BzW01BWF9QRU5ESU5HX1JFUVNdOwogCXN0cnVj
dCBnbnR0YWJfdW5tYXBfZ3JhbnRfcmVmIHR4X3VubWFwX29wc1tNQVhfUEVORElOR19SRVFT
XTsKIAkvKiBwYXNzZWQgdG8gZ250dGFiX1t1bl1tYXBfcmVmcyB3aXRoIHBhZ2VzIHVuZGVy
ICh1biltYXBwaW5nICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9u
ZXRiYWNrLmMgYi9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9uZXRiYWNrLmMKaW5kZXggMWI0
MjY3NmNhMTQxLi4xYmM5MzZkZDU3OWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3hlbi1u
ZXRiYWNrL25ldGJhY2suYworKysgYi9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9uZXRiYWNr
LmMKQEAgLTQxMyw2ICs0MTMsMTAgQEAgc3RhdGljIHZvaWQgeGVudmlmX2dldF9yZXF1ZXN0
cyhzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwKIAkJY29wLT5kZXN0LnUuZ21mbiA9IHZp
cnRfdG9fZ2ZuKHNrYi0+ZGF0YSArIHNrYl9oZWFkbGVuKHNrYikKIAkJCQkgICAgICAgICAg
ICAgICAtIGRhdGFfbGVuKTsKIAorCQkvKiBEb24ndCBjcm9zcyBsb2NhbCBwYWdlIGJvdW5k
YXJ5ISAqLworCQlpZiAoY29wLT5kZXN0Lm9mZnNldCArIGFtb3VudCA+IFBBR0VfU0laRSkK
KwkJCWFtb3VudCA9IFBBR0VfU0laRSAtIGNvcC0+ZGVzdC5vZmZzZXQ7CisKIAkJY29wLT5s
ZW4gPSBhbW91bnQ7CiAJCWNvcC0+ZmxhZ3MgPSBHTlRDT1BZX3NvdXJjZV9ncmVmOwogCkBA
IC00NDEsNyArNDQ1LDggQEAgc3RhdGljIHZvaWQgeGVudmlmX2dldF9yZXF1ZXN0cyhzdHJ1
Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwKIAkJCW5yX3Nsb3RzLS07CiAJCX0gZWxzZSB7CiAJ
CQkvKiBUaGUgY29weSBvcCBwYXJ0aWFsbHkgY292ZXJlZCB0aGUgdHhfcmVxdWVzdC4KLQkJ
CSAqIFRoZSByZW1haW5kZXIgd2lsbCBiZSBtYXBwZWQuCisJCQkgKiBUaGUgcmVtYWluZGVy
IHdpbGwgYmUgbWFwcGVkIG9yIGNvcGllZCBpbiB0aGUgbmV4dAorCQkJICogaXRlcmF0aW9u
LgogCQkJICovCiAJCQl0eHAtPm9mZnNldCArPSBhbW91bnQ7CiAJCQl0eHAtPnNpemUgLT0g
YW1vdW50OwotLSAKMi4zNS4zCgo=
--------------0x6Cv05VhnwztwtE7jQjmySN
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-----

--------------0x6Cv05VhnwztwtE7jQjmySN--

--------------rZ4YdWAE2V4hcl6j0r5a0pd9--

--------------eT21vdPb2Tih4Op1OwBGPxGW
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQcdl4FAwAAAAAACgkQsN6d1ii/Ey8n
ZAf/Z4sR3tSr+TStBgsPALMLy/wzB78lrr+9Os/DCgFy5JqBQYZUV6g3b0ZFRIRrEx+432/iu8qO
dno59YMGn3xlAXn1G0NW24YFj+kqUrH5oDSic0Vm4A0YWfs5AG02qsb8k1TeMQya9DHplcy7Xmaa
W90uQsnLZrEYVMXYb37aBWLRHvoArANeNT/4Z0WWjgkNpGbNkz0KkbwmAMSRLse8hP5RNFzjpO9C
D/xLFHc2fLLKA9TGYHfvfyIZ5u3S0Gzr4sQ3u6TJUNx13xyTH9rHOSUf214YttxV5+yjRfPqy7TJ
0U4nm2JOY527khNdILKA0BEX8DrFyQU8PyLMk2LfFQ==
=EK/A
-----END PGP SIGNATURE-----

--------------eT21vdPb2Tih4Op1OwBGPxGW--


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 16:09:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 16:09:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513956.795753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfNUh-00011s-As; Thu, 23 Mar 2023 16:08:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513956.795753; Thu, 23 Mar 2023 16: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 1pfNUh-00011l-87; Thu, 23 Mar 2023 16:08:51 +0000
Received: by outflank-mailman (input) for mailman id 513956;
 Thu, 23 Mar 2023 16:08: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=fJyN=7P=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfNUf-00011f-Q4
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 16:08:49 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20612.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id faab491f-c994-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 17:08:42 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8785.eurprd04.prod.outlook.com (2603:10a6:20b:42c::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 16:08:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 16:08:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: faab491f-c994-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BGwznpFIg1YS+KM6AfJT+NHMiWkcI/AGxrfDrJk0MHhartBEXgzg9zTmSxGeXgTf8T0VJRF8hgmF18NgkarIR8u6LUBYFUg5r8qkwBwjm1i1mQ5YSR0nmiHDJy+wFAz6kDGryPLar3OiBXoYng1XHscUnu0zuDOkEQO14XdZLUDrLaheM4dqYe/Jr8lYYIID3wq3Gkz7RTGv2NBosMXHfzWZgFZHMLnHcL33TuzKrpJamTGOUlQUkVyW8zM4qG7+fp/KAY/kSYuD/wADe+7+VRb0NBZAgk8b6LZTY1F4/z21YuW3LWp0umEhYaQhhCryiwG6FBIC+WCHfVVsp3hQRg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Y5KGbWRMeXB/HEfnVy05olxDbyexB/RwBgQndtqSlIs=;
 b=JQx5uGE1A5iAHigI00O52SP+5IOM5LJix2sTvZPjL1/4ucl548pihA5XbDBbENa1Tk2MAPPYu+ch4iWxZgQRJ36bLRfSpNcULo2Pcsnhc1yAc2PU4Uu4qvWpfuyhv/5geyj0gaMPE5aTIFDeS1c2I25aio3DRkXpx/cXZQ+zJUIb9t0fyoqvCTdIQ1l2nQlbF+UwWYpbRlQwFWtBjvW5PKzkGPTdIkYCgVPE0W1Vjen3W6Ozw1Hw9/b2TmW9bFTO624ws48tjw8VwDN16xjh1HsztgLHVjcdTP2g91QFcg20Dc1EZJwCDLME5sVGjoRymydu283hscCKktXkItAEtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Y5KGbWRMeXB/HEfnVy05olxDbyexB/RwBgQndtqSlIs=;
 b=KboGGfiwTL92lXQ9xAhbeKy+ggd2mXHZoxxkCUWXyOX5Vnzmi4+OpF2gGVWLN0Ine6opa1hahF3BbMPQxgQCF4TCZ7LTNvKI5Bh/z45pyCPzGscq+d+zPE4h4DW8NvhGHqte15FO2TbFq3jur59Yj92swmtLMGb5eZjCkc4ZbmqTki4ewZJuVKA9cJMbUJ7Qeos5SN0+49yU4PtmjEmHSGqkMSafYncxThHIHsZ7Gap/ZCUK7hqiWwTqczA3IrRWNqfXxfa/RDVS/lwVhUmuON8P4nkerYdbTitQRFZKLhofKgm20NBFc1X5XxI1/csx29yJMHMFua2lVgjrQWOyFw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <62e5d8fe-df2e-eb95-bc8f-631dad4204f2@suse.com>
Date: Thu, 23 Mar 2023 17:08:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v4] x86: detect CMOS aliasing on ports other than
 0x70/0x71
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>, Paul Durrant <paul@xen.org>,
 Wei Liu <wl@xen.org>
References: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
 <367d0223-d481-b7a3-3b79-a9bc6f00531e@suse.com>
 <ZBxm+7/ldyHclXwc@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBxm+7/ldyHclXwc@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0135.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8785:EE_
X-MS-Office365-Filtering-Correlation-Id: 71bb42c7-f31f-46aa-e823-08db2bb8e103
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IbjuSlMEEzIUP5XnrPNO2JqG/oDFe8VPjzjqBF+D8CrzBcyPE3KfyMHqzlCVF5TCJY1SJB8ETrf6Ee2Y5UeZTe99ZU+eg3ApouGQQE45oszK4p+YykgbzsxbNNOS7pAnu8S1oHpr3EimTveY2r1Hphm1Cw4uC0Yj5JXdAVVtm2sd5hoErVQMTqvCz8p5BchSw2oxdHX8Tn25j6ubyFS5nVC5ubfVwIZXNhzf8yMzOcsCNrEnOsD3BXlGLUKHbL1L1ZRhSE8vdbE2Osc2aSs/IzjMwuYcqgqXVHYwTxm10OA2QTB0/t4oAUtBbY6IuTLyWeqiyQmTl2GrSlHu7QPh+yo/D6EjM9YdQ5IxoWSnNdLuneC4OwSLYYZEEwGMhLKX/kXMg2W2zAAI1q5PT9EbXOcjoQQtH5yrquxPlahMXoZTqQawcZVM/poAYmbt0aN3hv0ioZ4/T+6R/oA/kh4CrBoT9dcfyJv8tBxt3PkOCW6BGQC6cCo3PS4yqQibEC3taVcsXZ2rLlMPZS5Zzwe7DpRRpIWX1qmoBROOu1bhQbnd+KyuPMeZnSmsK1YBlVfgK+mgzrr4MohJx1+y/kJBaIWHc7FNs+NmsuM7dDLPETux+QolJtPwr5JL+hgNUpbkvk+P6cThA8t+ukgTJcOB5AOqVlRJpANnIIJYKXGV5WCbpCiUmXe+2H/i+kZvxaOHLyH6fKRpL/odo9dFw0OJ1JCRTvIUuxr+1qQ2ImvL4gk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(396003)(376002)(39860400002)(346002)(136003)(451199018)(31696002)(36756003)(86362001)(38100700002)(2906002)(66476007)(8676002)(6916009)(5660300002)(4326008)(41300700001)(66556008)(8936002)(2616005)(66946007)(6512007)(53546011)(186003)(83380400001)(6506007)(54906003)(478600001)(316002)(26005)(6486002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?em1Mc0srTUlpeGZrazBCK1NQYjdRMEFWeWdIa0w3UlNRNEdxSVRtQ1BUVG80?=
 =?utf-8?B?bER2ekRlbWJUT05yM01yYlN5ZVdjekhzclAzaGJFRm44cHUwQitpc1RKSDUw?=
 =?utf-8?B?NnR5aWJBOUNKbjlXZG5TNVoySHVDK0lDUk1UL2hKUGp5RTNiTVNuVlFDRzhm?=
 =?utf-8?B?WWxLZEN6KzcrVTJzSVcwWG1SbUJtQ282N25XaXlOU3VGNUZnOGNnRnRHS2lG?=
 =?utf-8?B?R0d2Y0FnZVQyL0hrWDJRY1pyNjJPMTlCMUxGUHRWd1plYkJ4K0JraUlhc2ZI?=
 =?utf-8?B?SXdUdURHKzB3V0VDU0FLQzhYTzFYNXZVbjFVY1liWmpCdXBmckx6SlliNWRE?=
 =?utf-8?B?TkdiQm9QbUMvU3BYTTJDMG5mbVlKRmZLaUtwQnR0ekttRENkL0RaeXN5djNK?=
 =?utf-8?B?TmdXUFlkU1ZSZ0lVaW9yWlNSOXcxdDljRFNHZ1Vjd0d1UklzcjlkUTNtY2Qz?=
 =?utf-8?B?bVEyRDBCSDNjaWJvUXBRcHUrZG95aHNhaWFiU0xyVnJtaFVCSXVGRkFZNW9N?=
 =?utf-8?B?ODMvc0VhRnBBKzBTY2dCQXRMTFFVRnI2RHJLYzByVGFwTm9ZMU9MaWgwK0RS?=
 =?utf-8?B?blNoV1FPUHVidDg0dTNPT09sc05xdjkwN2E0ZHJoRTFZZ21nRjY0RzJMeEh4?=
 =?utf-8?B?bytjNk04UWVTTTkxbElVMnFHNk4xWXFtTWU1TG90RytHNUViSGtDeng2UzhD?=
 =?utf-8?B?Z25hK3QrVXl1UWxlZmtrMkRaanYwd0NKcU55TmNzcFlwQkduM0xYZ09waWha?=
 =?utf-8?B?VEhoTkkyeGtnTnByZ3pNV3V2T05ZVDhleFN3b2d0dmFVUzB5VmZFWkJuc3Rs?=
 =?utf-8?B?U0l5bjdWV0VpQ2pTMk51RkZyQXJjZDI2VVI2Z05RRUhMY0RKY3RoOS9FdHRR?=
 =?utf-8?B?TGR6Y1ZCZDVkWkQ3ajErZ0pYQnIxOHluU2x1dDNNazlTbmhJN0lNNmVJUFpx?=
 =?utf-8?B?VERrMjE2RGdNL09uT3EyaUZtbFZKVDBNM0VoeW0xTEMyV0VPNlhwSWlKek53?=
 =?utf-8?B?amZzNDAxN0l1bzFIaXBGZGozTFdzbGFvbURNYzNFTEl0cWxVVlBrTnpuRHBx?=
 =?utf-8?B?LzdVeTZxcHNFNWx0U2Z1c2FVQU5MMTBNb01SeXk3SnNGTE9SNndoSW1vYXJP?=
 =?utf-8?B?UDAxMzl4ZGJIcTRpWGFIWUozNXdxbkRxYmZxSVY2T09DL3pnT1Vab2hCL1hk?=
 =?utf-8?B?dm5QZDhCZTJUanpjdERSSkU1eEs2dndpYUM3cG9oTHQxQ0orR1VpODJXT1U2?=
 =?utf-8?B?azdNOVIzN1FUVXpNZXJuSjRJeEpXSituNWhrcUZ6cFlhSmlYNkdhbG5aRi9q?=
 =?utf-8?B?VXFRYWtKekZUSXE3SmhoV2FOdWZQR0lMMHFraVlSQUV1OFRJZFZ3UjRFSmdD?=
 =?utf-8?B?TUxIdjVuNWRnS1pacHdwdFE5Z2dXd2d1VUIxRlhoVmtBTTkrWFVadDJpRWZw?=
 =?utf-8?B?RGdiUGMzYnpKTXNXOUdvM09XREk2YTdsVytRVmx2QTlQSTc2UlFyWnFBUnNq?=
 =?utf-8?B?VVZrY0g0eFNWOERPWHdNRnZDM1VzL1FZWEVuS1NmajdCVjlyeE1sZTJ5cVZt?=
 =?utf-8?B?cS9wa3c1Wi82WjNiZW9XbDBxUzFyaDA1Rm54NmNRVW94UVErY0wzU3lWZDc0?=
 =?utf-8?B?UGVOTlpJMGVYeTltY3d3UXluVTRjc1hNRzlmbWhUVUQ5WU0xckRKZjBDSm9O?=
 =?utf-8?B?cENzUGRuWWhyMVBNUVdFUTBFS050b0NoSk1ZYWFVS0M0Ynk5d0FyRW9KaHFE?=
 =?utf-8?B?SDZ1Z2UvR0doWXRjK3A4MTZaY3NPMXU1MjJwZ0RGWUNMWDVLbWJYMGxhaGs2?=
 =?utf-8?B?MVBPS25SU002QzlrMHBScW50RERMQXJCWHBVNWQvalZGYXd0UitHVVZGV01j?=
 =?utf-8?B?dWZKOVVQemQ2b3d3VXJXTHBlRjUvaUxjOWtrQkdFbzQvK0tzdzZRQ2NnMkJy?=
 =?utf-8?B?Q2ZRUzhpVFc4TjVjUnZaZHMyRlZFWXY1V01DSVZHTVlpUi9iaGd4ekg0WkZR?=
 =?utf-8?B?a2EyQmVFK0JJVUlZMU5JbThDUWw3QTRUT1ZyeHJ0WmJvWWllUFVuRlVvSEMy?=
 =?utf-8?B?U2puaTgvQWh1eTVldmRnY3Naam9pUE1Qc0JwZG84dzhqVEVnd0FTNnhyQWc4?=
 =?utf-8?Q?3R8w4O0xp1+ZA6kbf8QCsFSpN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 71bb42c7-f31f-46aa-e823-08db2bb8e103
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 16:08:45.3569
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Qz4jYAPtN3w8uawbRtHOCg5Whq0Pxgd32lCAl9ubwxmSwCiNkaaX4j3wMYIsVRNAScD86lLeKRSxY65tGFZc1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8785

On 23.03.2023 15:49, Roger Pau Monné wrote:
> On Mon, Mar 20, 2023 at 09:32:26AM +0100, Jan Beulich wrote:
>> --- a/xen/arch/x86/include/asm/mc146818rtc.h
>> +++ b/xen/arch/x86/include/asm/mc146818rtc.h
>> @@ -9,6 +9,10 @@
>>  
>>  extern spinlock_t rtc_lock;             /* serialize CMOS RAM access */
>>  
>> +struct domain;
>> +bool is_cmos_port(unsigned int port, unsigned int bytes,
>> +                  const struct domain *d);
> 
> We seem to usually name this rtc rather than cmos, any reason to use
> cmos for the helper naming rather than rtc?
> 
> If not I would rather use is_rtc_port(), so that we can keep it in
> sync with the existing RTC_PORT() macros and the handler names
> rtc_guest_{read,write}, hw_rtc_io.

Already when talking about just ports 70 and 71 there's more CMOS
behind them than RTC. With extended CMOS accesses the ratio further
shifts. So I view using "rtc" here simply as increasingly
inappropriate.

>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -2072,37 +2072,36 @@ int __hwdom_init xen_in_range(unsigned l
>>  static int __hwdom_init cf_check io_bitmap_cb(
>>      unsigned long s, unsigned long e, void *ctx)
>>  {
>> -    struct domain *d = ctx;
>> +    const struct domain *d = ctx;
>>      unsigned int i;
>>  
>>      ASSERT(e <= INT_MAX);
>>      for ( i = s; i <= e; i++ )
>> -        __clear_bit(i, d->arch.hvm.io_bitmap);
>> +        /*
>> +         * Accesses to RTC ports also need to be trapped in order to keep
>> +         * consistency with PV.
>> +         */
> 
> More than to keep consistency with PV, don't we need to trap accesses
> to that concurrent accesses between dom0 and Xen (when also using the
> device) don't overlap, as the RTC/CMOS space uses indirect indexing.

That's what I read "consistency" to mean.

> And likely to avoid dom0 from disabling NMIs.

I can add that to the comment, but as you say ...

> I see that you copied the existing comment, but not sure it's fully
> accurate?

... I've merely moved it.

>> @@ -1249,6 +1252,80 @@ static unsigned long get_cmos_time(void)
>>      return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
>>  }
>>  
>> +static unsigned int __ro_after_init cmos_alias_mask;
>> +
>> +static int __init cf_check probe_cmos_alias(void)
>> +{
>> +    unsigned int i, offs;
>> +
>> +    if ( acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC )
>> +        return 0;
>> +
>> +    for ( offs = 2; offs < 8; offs <<= 1 )
>> +    {
>> +        bool read = true;
> 
> You can limit the scope of i to the inner for loop.

Sure. It has been long ago when I wrote this, so I guess I was after it
being one line less of code.

>> +        for ( i = RTC_REG_D + 1; i < 0x80; ++i )
>> +        {
>> +            uint8_t normal, alt;
>> +            unsigned long flags;
>> +
>> +            if ( i == acpi_gbl_FADT.century )
>> +                continue;
>> +
>> +            spin_lock_irqsave(&rtc_lock, flags);
>> +
>> +            normal = CMOS_READ(i);
>> +            if ( inb(RTC_PORT(offs)) != i )
>> +                read = false;
>> +
>> +            alt = inb(RTC_PORT(offs + 1));
>> +
>> +            spin_unlock_irqrestore(&rtc_lock, flags);
>> +
>> +            if ( normal != alt )
>> +                break;
>> +
>> +            process_pending_softirqs();
> 
> You adding a call to process pending softirqs for every loop
> iteration makes me wonder how long is each of those accesses expected
> to take, since we could be performing a lot of them (0x80 * 3).

It seemed best to me to keep things simple here, at the expense at a
few too many calls.

> I don't think so, but there can not be any side effects from reading
> from the CMOS RAM I would assume, even for cases where the CMOS ports
> are not aliases?

Well, one of the fundamental assumptions is that these read attempts
won't have side effects. Without that assumption we simply can't do
such probing.

> I would assume ports to be either aliased to the CMOS, or otherwise
> reserved.  What makes me wonder if it wouldn't be simpler to just
> passthough accesses to all the possible CMOS alias ports.

But we need to intercept writes to 70 to track the index. IOW we
cannot simply pass through all of them, and we also cannot simply
intercept them all and treat them all the same.

>> +bool is_cmos_port(unsigned int port, unsigned int bytes, const struct domain *d)
>> +{
>> +    if ( !is_hardware_domain(d) )
>> +        return port <= RTC_PORT(1) && port + bytes > RTC_PORT(0);
>> +
>> +    if ( !(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) &&
>> +         port <= RTC_PORT(cmos_alias_mask | 1) && port + bytes > RTC_PORT(0) )
>> +    {
>> +        unsigned int cmos = RTC_PORT(0), nr = 2, step;
>> +
>> +        while ( cmos_alias_mask & nr )
>> +            nr <<= 1;
>> +        for ( step = nr << 1;
>> +              step < cmos_alias_mask && !(cmos_alias_mask & step); )
>> +            step <<= 1;
>> +        do {
>> +            if ( !(cmos & ~RTC_PORT(cmos_alias_mask)) &&
>> +                 port <= cmos + 1 && port + bytes > cmos )
>> +                return true;
>> +            cmos += step;
>> +        } while ( cmos <= RTC_PORT(cmos_alias_mask) );
> 
> I would use a for loop similar to the one used in probe_cmos_alias()
> to check for aliased accesses?
> 
> if ( port <= RTC_PORT(1) && port + bytes > RTC_PORT(0) )
>     return true;
> 
> for ( offs = 2; offs < 8; offs <<= 1 )
> {
>     if ( !(offs & cmos_alias_mask) )
>         continue;
>     if ( port <= RTC_PORT(1 + off) && port + bytes > RTC_PORT(off) )
>         return true;
> }
> 
> return false;
> 
> So that you can also optimize for the more common case RTC_PORT(0) and
> RTC_PORT(1) are used?
> 
> Or there's something I'm missing?

I'll have to check carefully, but to be honest I would prefer to not
touch this code again unless there's clearly something wrong with it.

>> @@ -1256,7 +1333,7 @@ unsigned int rtc_guest_read(unsigned int
>>      unsigned long flags;
>>      unsigned int data = ~0;
>>  
>> -    switch ( port )
>> +    switch ( port & ~cmos_alias_mask )
>>      {
>>      case RTC_PORT(0):
>>          /*
>> @@ -1264,15 +1341,16 @@ unsigned int rtc_guest_read(unsigned int
>>           * of the first RTC port, as there's no access to the physical IO
>>           * ports.
>>           */
>> -        data = currd->arch.cmos_idx;
>> +        data = currd->arch.cmos_idx & (0xff >> (port == RTC_PORT(0)));
> 
> We do allow read access to alias ports even when the underling
> hardware does do so,

I'm afraid I don't understand this, so ...

> which I think is fine, but might be worth a
> comment (since we already detect whether the RTC_PORT(0) alias is also
> readable.

... I can't really derive what kind of information you're after to put
in a comment.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 16:24:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 16:24:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513960.795763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfNjY-0003zk-LU; Thu, 23 Mar 2023 16:24:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513960.795763; Thu, 23 Mar 2023 16: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 1pfNjY-0003zd-HZ; Thu, 23 Mar 2023 16:24:12 +0000
Received: by outflank-mailman (input) for mailman id 513960;
 Thu, 23 Mar 2023 16: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=tIVP=7P=citrix.com=prvs=439b2ffc4=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pfNjX-0003zX-04
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 16:24:11 +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 214cef6f-c997-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 17:24:08 +0100 (CET)
Received: from mail-dm6nam11lp2168.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.168])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 12:23:49 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB5774.namprd03.prod.outlook.com (2603:10b6:a03:2da::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 16:23:46 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Thu, 23 Mar 2023
 16:23: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: 214cef6f-c997-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679588648;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=T8lDDoo+AjnAsz6oX76Wj14C0jXif3H0zZp2xTXzQRg=;
  b=cfN3USBY7PBBYYWXp7rEfyPWELr+aAkYmxpJSRnFCD/bfdu0eRpw4HJq
   bS4HBsnlWN7PgUBtxKDFpEqVwi9+tPN5Zb1DF4ljuKjoMvZq4iLiRkEG4
   9xisAe4YIr7E448PJhFcmIdVPInNmD9Vt6D4qctNaJhn2qC1u08IMvlpJ
   8=;
X-IronPort-RemoteIP: 104.47.57.168
X-IronPort-MID: 104472994
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:ivcDX6/w6Y2MuaKmqHyHDrUD6X6TJUtcMsCJ2f8bNWPcYEJGY0x3m
 GMfW2uGafrcMzT8f9FyYI3l90lTscOBmIdgTVBppS88E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqoQ5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklJr
 MQ2MHMpVimfxPCnwbCERqpHtuIaeZyD0IM34hmMzBn/JNN/GNXvZvuP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWMilUvgNABM/KMEjCObd9SkUuC4
 HrP4kzyAw0ANczZwj2Amp6prraXwX+kAtNDSNVU8NZVkmWhgVERASQzRGbhraelqnaUB/1Af
 hl8Fi0G6PJaGFaQZsP0Tlu4vXeCsTYVXtYWGOo/gCmPwKfJ5weSBkAfUyVMLtchsacebDgnx
 laPk97zQxBirbaVRGi1/7KY6zi1PEA9Bm8YZDQYTAIDpfrkrYcygTrGS9olG6mw5vXOBTzvy
 iqW6gg/g7keh9QC0amT9FXLxTmro/DhRBMv9AzTWW6i8QpRa4usZoju4l/ehd5gK4CWSlSA5
 T4khsGY48gHCJ3LnyuIKM0vAbWo7rC3MDTajnZmGpVn/DOok1aBfJlR6Tc4D0dkNO4NfDOva
 0jW0StK/4NaNnauaa5xYqqyBt4swKymEs7qPtjEY9wLbpVveQuv+CB1eVXWz23riFIrk6w0J
 dGca8nEMJoBIaFuzT7zS+JD17Yun3k63TmKG8C9yAm7272DYnLTUa0CLFaFcuE+6uWDvRnR9
 NFcccCNzn2zTdHDX8UeyqZLRXhiEJTxLcyeRxB/HgJbHjdbJQ==
IronPort-HdrOrdr: A9a23:vziC4aO6F35/vcBcTs+jsMiBIKoaSvp037BL7SxMoHluGfBw+P
 rAoB1273HJYVQqOE3I6OrgBEDoexq1n/NICOIqTNSftWfdyQ6VBbAnwYz+wyDxXw3Sn9QtsZ
 uIqpIOauHNMQ==
X-IronPort-AV: E=Sophos;i="5.98,285,1673931600"; 
   d="scan'208";a="104472994"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XwG/PT5AXkb8vWcOVa0l+IJaBxMJE4nGs7Xo44AIRSmLQrUltmOJMwsUTe82nvPyqCpDzNtba28aUTj9l2wQweRWHIp+3o5WuDTmeMXYOhyIEuEkAUPbhjFilLhspVcEqVvGn4sqYse6ug7vsvkqSjI+5xlV6yZ2UU7nKSU8Xn4KyB4xtslNA/2p6r5yuhr+OjNoeda01ttVz/WVQo6wRCSyWKMqlqRrL1wG5aVVxkSVw8TJrn6LngxtQ1R+Ql987brCuAJqSNNNxzIbD/KIRWNXGCz16X8VhKu7+ifv1gXPyG1o8eNW2uvdLtISq2Gfo3rZX6IyBLs9pbed8ErpmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RCHwupboOH9N1m5o0ohbhUSnk3qxbfrCdnvZ5qLCsno=;
 b=R+PVG9jZFsXYRGcFZuFo8yJmbrYE8vT1l9Jwk+n5JmLuCqStNB7M6yMKxlIqqI3VihWYgbUe7dlCtYpEPao6MDF80AW6X2fwEzkFoxqxnxIK4nnIq1yagsZULpWsmpg/jVH63ZQR+1bTaJMkU+2e4W975haSzemRo2YTWg0xsm32bsQ3YvFChGAvEaIETXSXNIn7k3NPiE7gUNID5uhaU72Tb2DtpudOALYgEHuJp0NipBo4+iDY/9Ppq14sIoEneNLfoEBpNU+X39Chqbkq/o5jbgtq5WJmIlyST65AUdAJoS7t21FzN1BCpFArb6/DihL5U9rpPhFtDfD5TgHJRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RCHwupboOH9N1m5o0ohbhUSnk3qxbfrCdnvZ5qLCsno=;
 b=uZk0nWxmFkO7PMryJlrnJDZ/eYaTubVE9dCDlo+iDbjySRj4GLpPyafEdChPPnkwOdKkO6uo0fAiZCyhoXx8wgvOCsujk0pqrYWUuXuhCjfowvyNEZlyA69rpkGXUDaw4G3TrUNRmiYX9eVA4j2BROtudyn7x2FGks6fLjGiSbk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 23 Mar 2023 17:23:39 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Huang Rui <ray.huang@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZBx9C5BJD1jSiHPS@Air-de-Roger>
References: <cae4e673-65d8-273b-66b8-08d374797da2@suse.com>
 <ZBmZxnyZWrni57Ry@amd.com>
 <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com>
 <ZBmrI3wrrwsK5Q+0@amd.com>
 <ZBquOn8x7IyI33Pj@amd.com>
 <ZBrLsRebAYaspHrK@Air-de-Roger>
 <ZBr1k/B/ve8NNqaJ@amd.com>
 <85aa668d-9614-a80d-8f44-174ecbdcf1f7@suse.com>
 <ZBwtaceTNvCYksmR@Air-de-Roger>
 <ZBxVcBG5yD74Pa3a@amd.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZBxVcBG5yD74Pa3a@amd.com>
X-ClientProxiedBy: LO2P265CA0103.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:c::19) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB5774:EE_
X-MS-Office365-Filtering-Correlation-Id: a2a5cb97-6514-4af4-6d06-08db2bbaf9d7
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	34A4PuCnVlCemoxmfK0JwnVADxNtEq058+rmzL60LZdVkaClnyrowius5S5CI4JZ4/O89wYUUNWh6px9fRGGZdx1dBS8e1HGJ8TLVilpMhrrhdZYP0NLDqaB/GCgNPeanDXSIC48d+YJgQ7BImz6auFr9Fx2MutRTu+QBaKo3JB3lBoHG9LmY6Sz803h9y0j1KApjp10AgZ+T8rkTMge615W2WxcVY/RlGgf+qZS/X5IC0XPh6RYD/Ehr+YkuA4bfmaj3Ct81gjeLN2ITxHJO4pR1awF5I87AaEYfqgSha4FJVknGwcmKwxauFpvgsrnDtBwWjnZsAoK4moS8c9sv5DqaWDrfEdoQPG5rhuwEKB4CgxZr608eib5ZRcK+bgpN/O/97OvK7HnW5eXMU3wNx223+vMFtklvL2AL7JpmMlJnmWxOoekw4YDOEN/R12z4k5JFtj6RUW20d1WPd3hnk31+/YJp5cN12JtFr9DnsiJOzmYlr146fbSIRPe2ffoXo4g573Xf7pGv2lux+hQf2hsISd4vet1ta3KtUnV7upFK8bHWLVxKIHnrNNIAO6xu3BOVTYeGhn5nI0zeiu9JZu2MITNGcAmtPHWE16EGJYXOeo2UsFLZyE1ZS7PHnbMPOBqSF1vU1XaxP+76vM6aA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(7916004)(4636009)(39860400002)(396003)(346002)(366004)(136003)(376002)(451199018)(33716001)(6486002)(86362001)(26005)(6666004)(6512007)(6506007)(53546011)(83380400001)(9686003)(82960400001)(66899018)(478600001)(41300700001)(54906003)(316002)(66946007)(6916009)(4326008)(66556008)(66476007)(8676002)(38100700002)(186003)(7416002)(2906002)(8936002)(5660300002)(85182001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c3RiOVpYenhFZDlSSmtPUDE4M0F1eE1vSkxoclpXUlVCajBjbnNaRHFyUVVQ?=
 =?utf-8?B?TzNlKzhlL3RWSFJZWVZXNWFVN1IzeTNCMDBHRkNBdG1tcWNzYkRHRFlzeTND?=
 =?utf-8?B?RlM3WWtOTEk0cEdjcDJ1VjgwU2FKWDQvUk5OQ2F3cW5hTmdMNGFpeFpsaGhi?=
 =?utf-8?B?bnBrOCthSVU4TlNEcWhHbG5telhJaUFOR253dmRZUkQyYlR2WTZoeGNZeDFL?=
 =?utf-8?B?MTBSeGgxUVBuYTNlNmNUazBIKzRXTXBMSWtSY0Rub2lseDVHQWw3c21rbHIx?=
 =?utf-8?B?c2VSUzVnSUNUbW0ydGNwRWs4eHZzdWhTSnpLencxaVAxZ3lnZFg3MVJkTHgz?=
 =?utf-8?B?NSt0bmU3alQwd0RuWm9jN1lxcmhlbGUwM0d3Q1ZXdTl6Ry9vTmtHcHF0bThh?=
 =?utf-8?B?TWxCR2phR3JwZkxIY2Njbmc0UGN4czNaOWU2YzIxSHZEMEUzc3lucVhBc05v?=
 =?utf-8?B?RGdXai9BYkRVTnY0R2l0ZTdZb3hjMzRnN0h4MFZXSWFzUjgzMHE4ZlRMb3FR?=
 =?utf-8?B?RHN1QjdTWVQ2Z2E2UVhYWnZxaHdzc2x0dGQyNXVpVjFPWFBXRzJ3Y2ZjbHRa?=
 =?utf-8?B?TXZBRExmbU83a2RSRWNSdVk1ejRtUnRRMTBKSmMxMGFIWUtSNzhUS243REhw?=
 =?utf-8?B?WTc4Mzd5NHY3K2dyWU5RQ2paOWI4WGlNOU1QTUd5WmFtZWNQT2p2MTZ4VGk2?=
 =?utf-8?B?cEJVSWwrVCthUkd5djlyU1N5YXR0ZlJVaE14UGFubGFxY2dGS2FYQ052MlN4?=
 =?utf-8?B?R1ZsTnMrV3gwSXQ5TzhzK2U2SXVjWWRMdTVCamZrMkVZd2xzaWJvWDZVSWlv?=
 =?utf-8?B?VXIwRXQyelM1U1ZaRTNQeHM2bnVTbTUwNEdwaG40WlNxSU8rNGIyQ0Zaa1Vx?=
 =?utf-8?B?bDNGWXdNS1pzdHd6aXZTNS9aMUt3V1d4Q29sK0hQL1dSQjhnait0RUdkNDd1?=
 =?utf-8?B?MzhDeTJDQjI4aFVBMmtzYnVYNDFFTmNwcUVabC9zWEdEaVFEUEZXT1g2aENh?=
 =?utf-8?B?WGorOFJISkZoY2kraUF0RjF6V2Q5WnpEZ2tia0dSUU1wUUFrNlo1MHhWS3BF?=
 =?utf-8?B?TjdxMkRnVWg3aU0rdUVlcThHLzI0cFp0b2RrUGhaRnB2NUNXWHJQV0g2WFFr?=
 =?utf-8?B?ZEtndHV2azBMVnUvaUNUY0hJbUZjbXlNSzBXV3ErY3NtYmlWOGVwSnkyMS93?=
 =?utf-8?B?VzhHb1oveEhlSnExTjFqR3ZjbHAzcURZRzMvSk5QNkJHOGoxTS9xcVRnbDZH?=
 =?utf-8?B?YjdRam9aMUZ3c21JMHVrdnJkYVVPR3JURWtGMHgwdXlqemhTWnFSZ25iM0dh?=
 =?utf-8?B?OUozNG1nSnRTcGpUYmtnSVBqdjdrMXpLaExyVmFoSFBsOThPSmFac1kvYWpT?=
 =?utf-8?B?Y09TMVZJdnlXTFFTelM2STdZZGlOSURKMXVVRndMNzNNSUNxR1ZZeDMrR1Fm?=
 =?utf-8?B?M2pGOFR2amJIeXBKYnRrWEVEcVJGK2JVcEV3SVcrSWJ3Q2FtNEovZDh5RE5p?=
 =?utf-8?B?cjEyd1NOZ2NuWlNJeWsvTzcxSmdWTGQ3YlZEYmdwQlJ1bkF1YzJOc1U3OWpZ?=
 =?utf-8?B?Tzk0Yy9CL2crODk2ZHVqMU1vUFdRanRqWE1ETlh1a1Ava3k4TFhSbi9scjdZ?=
 =?utf-8?B?OWs3U1FUeWhRcTNyV3NXRUc5dEk3aTk5bnk4VFlnd3JESzVMb1g4WnovL1Ft?=
 =?utf-8?B?Rk5jMDRUS2xsQktJWHdHTVZCSSt4d3ZwekYxaEJFcktLTVJMNWVla21WZFBB?=
 =?utf-8?B?RHYyaFJwV1VOSkozRVVTU2ZmUk1Qc2t0SHFrK2FtN1JCZXFhVmxxZ0tDOUNZ?=
 =?utf-8?B?M0IrdWFKNGo3d3Y2UEZVN29sMmpESFIzaFNWS0N4aWNHVHoza3J1aEczbXNO?=
 =?utf-8?B?Rk5XY0hRRTF6clN6Vm9xemcrVCtic2tTNEVDNkRuWGxabXVGbVlZbS9ueWxQ?=
 =?utf-8?B?aGt1SmtVeFZJZlRSSkMrY0pEZEdGNFRteklBalEzVGxaVFE1dXpSTXZwSmJP?=
 =?utf-8?B?SmMvVW0wMTY4eU5ZVDVzRCtia3V5N245V0JkMUtma0dvdjVIQkxUNFVtWWpH?=
 =?utf-8?B?aERGYVpxVWNkT05KWS9XalRkTTJSL2Y1c3hqRzJEUm1YMVpaeHF4Mk95S2VR?=
 =?utf-8?B?dzJvYkRUd01VM0ZNNmpGMlJkUDYrTngzbHZJYS9hekRFZ3lOR2pqdFowRGxH?=
 =?utf-8?B?a2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	EgbpVIHUGeAAV2bTLOCmBqZ2nbCt5+FjON2O57BnM/ZE9ly047hl4SRspd5/RHW4GtJ5HReKLMUQCNX16fuj+s4AJgImE6PtlahToNetKXaxuLpDMtkHd/RV092uANIzhkqciB/EKk1qZVC9mAhmfSVJge1xdlEP8VI6xr2WPecsQ2ku5wOp/IW60/k/OWC5bcpaVhZM27i9Lx28y6Lup2VLPGN4aC1hZINT7rN2GkU7PkW5A5HPI9mh8qC0Z+PJYmDnJ4jTlgMcrNci1HMev6TebeNjUREIN2St+5TvJpaEcQO4zm3OnmDsHtsOl9AtuGxi+NPDm9Eiffbljd/DRPdhNCywHttZ0pwrsCaycI8lRi7SZHpNd4wgMqIlefzEjFg7jDouIvSR2r0L1dtgL7/Wv6SZQZ7Er2oSetDYroP9wvpufXxsSuDS0Jqryg5PXTYqZc0ANOlNhWZkr13vslNi56E7rWQwZXg7x+SwdheNqQNgjheFBB0EWGNMUAmJmEKJoqitDELNm3EPw73dUDVSS+AqSG/Znq6+IoyxMnKqO2kvvnOKPC9M8Tr/eugoNdm9N6T9/Llau87lsaVmREQ8tAgRtxqMYqr8v2lChQzlH8juh5hcFU74DYUNzxi2wmFjIQod4Ki4EHwgYEuZ0MQLbD326iVrvGIl1FeT5GNHaTGhhTQB2i/ZZ5PV7i/R0RoKWvnSkAjLGYxFSihkWOIorH9+1Frs9TxQlx8c9w8avAWUSpxFaKcH03Yiao3Wyt+So43AvG4XMpk4KYNWbUghO4h99CXoo7VD17yRjsDSLBDzJFDNg/jyXHISSJpBe8jjF8cdrIGemQFiT5yFqTp+xs3Q0ESxRs4pSknNTMLbokP0E9QdryNvtbPUSz0d
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a2a5cb97-6514-4af4-6d06-08db2bbaf9d7
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 16:23:46.2050
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2Hs4dOGSZdgRgGXrVCRK6rsS9ItgSBch2B8NS9aaXYbV2ezoo/Rsl3IRuiuYG9jP7DEZf9HrUsv/XuNQQ7VmdA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5774

On Thu, Mar 23, 2023 at 09:34:40PM +0800, Huang Rui wrote:
> On Thu, Mar 23, 2023 at 06:43:53PM +0800, Roger Pau Monné wrote:
> > On Wed, Mar 22, 2023 at 01:48:30PM +0100, Jan Beulich wrote:
> > > On 22.03.2023 13:33, Huang Rui wrote:
> > > > I traced that while we do pci-assignable-add, we will follow below trace to
> > > > bind the passthrough device.
> > > > 
> > > > pciassignable_add()->libxl_device_pci_assignable_add()->libxl__device_pci_assignable_add()->pciback_dev_assign()
> > > > 
> > > > Then kernel xen-pciback driver want to add virtual configuration spaces. In
> > > > this phase, the bar_write() in xen hypervisor will be called. I still need
> > > > a bit more time to figure the exact reason. May I know where the
> > > > xen-pciback driver would trigger a hvm_io_intercept to xen hypervisor?
> > > 
> > > Any config space access would. And I might guess ...
> > > 
> > > > [  309.719049] xen_pciback: wants to seize 0000:03:00.0
> > > > [  462.911251] pciback 0000:03:00.0: xen_pciback: probing...
> > > > [  462.911256] pciback 0000:03:00.0: xen_pciback: seizing device
> > > > [  462.911257] pciback 0000:03:00.0: xen_pciback: pcistub_device_alloc
> > > > [  462.911261] pciback 0000:03:00.0: xen_pciback: initializing...
> > > > [  462.911263] pciback 0000:03:00.0: xen_pciback: initializing config
> > > > [  462.911265] pciback 0000:03:00.0: xen-pciback: initializing virtual configuration space
> > > > [  462.911268] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x00
> > > > [  462.911271] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x02
> > > > [  462.911284] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x04
> > > > [  462.911286] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3c
> > > > [  462.911289] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3d
> > > > [  462.911291] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0c
> > > > [  462.911294] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0d
> > > > [  462.911296] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0f
> > > > [  462.911301] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x10
> > > > [  462.911306] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x14
> > > > [  462.911309] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x18
> > > > [  462.911313] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x1c
> > > > [  462.911317] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x20
> > > > [  462.911321] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x24
> > > > [  462.911325] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x30
> > > > [  462.911358] pciback 0000:03:00.0: Found capability 0x1 at 0x50
> > > > [  462.911361] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x50
> > > > [  462.911363] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x52
> > > > [  462.911368] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x54
> > > > [  462.911371] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x56
> > > > [  462.911373] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x57
> > > > [  462.911386] pciback 0000:03:00.0: Found capability 0x5 at 0xa0
> > > > [  462.911388] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa0
> > > > [  462.911391] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa2
> > > > [  462.911405] pciback 0000:03:00.0: xen_pciback: enabling device
> > > > [  462.911412] pciback 0000:03:00.0: enabling device (0006 -> 0007)
> > > > [  462.911658] Already setup the GSI :28
> > > > [  462.911668] Already map the GSI :28 and IRQ: 115
> > > > [  462.911684] pciback 0000:03:00.0: xen_pciback: save state of device
> > > > [  462.912154] pciback 0000:03:00.0: xen_pciback: resetting (FLR, D3, etc) the device
> > > > [  463.954998] pciback 0000:03:00.0: xen_pciback: reset device
> > > 
> > > ... it is actually the reset here, saving and then restoring config space.
> > > If e.g. that restore was done "blindly" (i.e. simply writing fields low to
> > > high), then memory decode would be re-enabled before the BARs are written.
> > 
> > The problem is also 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
> > with the real device state.
> > 
> > I didn't hit this on my test because the device I was using had no
> > reset support.
> > 
> > I don't think it's feasible for Xen to detect all the possible reset
> > methods dom0 might use, as some of those are device specific for
> > example.
> 
> OK.
> 
> > 
> > We would have to introduce a new hypercall that clears all vPCI device
> > state, PHYSDEVOP_pci_device_reset for example.  This will involve
> > adding proper cleanup functions, as the current code in
> > vpci_remove_device() only deals with allocated memory (because so far
> > devices where not deassigned) but we now also need to make sure
> > MSI(-X) interrupts are torn down and freed, and will also require
> > removing any mappings of BARs into the dom0 physmap.
> > 
> 
> Thanks for the suggestion. Let me make the new PHYSDEVOP_pci_device_reset
> in the next version instead of current workaround.
> 
> The MSI(-X) interrupts doesn't work in our platform, I don't figure the
> root cause yet.

Do MSI-X interrupts work when the device is in use by dom0 (both Pv
and PVH)?

> Could you please elaborate where we should require removing
> any mappings of BARs into the dom0 physmap here?

I think you can just use `modify_bars(pdev, 0, 0)`, as that will
effectively remove any BARs from the memory map.  That should also
take care of preemption, so you should be good to go.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 16:36:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 16:36:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513968.795778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfNvf-0005uC-UM; Thu, 23 Mar 2023 16:36:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513968.795778; Thu, 23 Mar 2023 16: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 1pfNvf-0005u5-Rq; Thu, 23 Mar 2023 16:36:43 +0000
Received: by outflank-mailman (input) for mailman id 513968;
 Thu, 23 Mar 2023 16:36: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=jT86=7P=gmail.com=geert.uytterhoeven@srs-se1.protection.inumbo.net>)
 id 1pfNve-0005tz-NJ
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 16:36:42 +0000
Received: from mail-qv1-f54.google.com (mail-qv1-f54.google.com
 [209.85.219.54]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e345e231-c998-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 17:36:41 +0100 (CET)
Received: by mail-qv1-f54.google.com with SMTP id t13so14463146qvn.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Mar 2023 09:36:41 -0700 (PDT)
Received: from mail-qt1-f170.google.com (mail-qt1-f170.google.com.
 [209.85.160.170]) by smtp.gmail.com with ESMTPSA id
 m64-20020a375843000000b0073b8512d2dbsm13332051qkb.72.2023.03.23.09.36.38
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Mar 2023 09:36:39 -0700 (PDT)
Received: by mail-qt1-f170.google.com with SMTP id n14so884596qta.10
 for <xen-devel@lists.xenproject.org>; Thu, 23 Mar 2023 09:36:38 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e345e231-c998-11ed-85db-49a42c6b2330
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679589399;
        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=UL3/4GqvmmUqfCC6k4K5nIi6sLrnnlUEco09johNyxg=;
        b=8Feh+SDUNT7jMFLzXwkR9OhFrzhWcjBqedlchEyWrWc3zZycsPhihhGZcIyKu+lg48
         PnQhba4NPEsMooxOyyxpwfFd9h8O4syoDPL0iypNBdRC3urhGCdpmglxe/xQB+VhH3f2
         7w2vWbxe8MCeR8PmAMpmMaO6AmnNqzAxZvQe8DprgcfOB12Y49lCKBl4ZC92ekkcKZzb
         Xiurh8kEIoc7aKLo9N/y2AIHbUZN/xcmFju522sk/W61tQ22lsbrKxUcfnHj5av9f+sH
         cPq3qbRWBUDwfhSLnhmhG64LlYpjzO5iHb+HYA+yrBhAAlV6Xh42v92YR5wtj/p4iF0C
         X3cA==
X-Gm-Message-State: AO0yUKW0/USUmFR0ZI0UsyS0gQuyrv8LP2AKnuOmDxT1XsvH/euo8bLg
	Nydvf4NgG0Q9jJiM1eFLo0mEL9fc7qk+iA==
X-Google-Smtp-Source: AK7set9T36xF7y8OT7404FnW+eu7NK6HT/RB/8jWqsmpnmJXwkp89zrzNVJ5Zjer+Lbrw9xWLH0meQ==
X-Received: by 2002:a05:6214:130f:b0:5ad:2a05:ddd1 with SMTP id pn15-20020a056214130f00b005ad2a05ddd1mr12951301qvb.34.1679589399232;
        Thu, 23 Mar 2023 09:36:39 -0700 (PDT)
X-Received: by 2002:a05:6902:728:b0:a09:314f:a3ef with SMTP id
 l8-20020a056902072800b00a09314fa3efmr2603297ybt.12.1679588947338; Thu, 23 Mar
 2023 09:29:07 -0700 (PDT)
MIME-Version: 1.0
References: <ZBxiaflGTeK8Jlgx@smile.fi.intel.com> <20230323150238.GA2550157@bhelgaas>
 <ZBxrfy83MRjnReAs@smile.fi.intel.com>
In-Reply-To: <ZBxrfy83MRjnReAs@smile.fi.intel.com>
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: Thu, 23 Mar 2023 17:28:55 +0100
X-Gmail-Original-Message-ID: <CAMuHMdWkavUwZrfuJ5YSsb2kkHVZ0TCzcme5o6CkYGcSDVt+jw@mail.gmail.com>
Message-ID: <CAMuHMdWkavUwZrfuJ5YSsb2kkHVZ0TCzcme5o6CkYGcSDVt+jw@mail.gmail.com>
Subject: Re: [PATCH v6 1/4] PCI: Introduce pci_dev_for_each_resource()
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Bjorn Helgaas <helgaas@kernel.org>, =?UTF-8?B?TWlja2HDq2wgU2FsYcO8bg==?= <mic@digikod.net>, 
	Mika Westerberg <mika.westerberg@linux.intel.com>, =?UTF-8?Q?Krzysztof_Wilczy=C5=84ski?= <kw@linux.com>, 
	Michael Ellerman <mpe@ellerman.id.au>, Randy Dunlap <rdunlap@infradead.org>, 
	Arnd Bergmann <arnd@arndb.de>, Niklas Schnelle <schnelle@linux.ibm.com>, 
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>, =?UTF-8?Q?Pali_Roh=C3=A1r?= <pali@kernel.org>, 
	"Maciej W. Rozycki" <macro@orcam.me.uk>, Juergen Gross <jgross@suse.com>, 
	Dominik Brodowski <linux@dominikbrodowski.net>, linux-kernel@vger.kernel.org, 
	linux-alpha@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	linux-mips@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, 
	linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, 
	linux-pci@vger.kernel.org, xen-devel@lists.xenproject.org, 
	linux-acpi@vger.kernel.org, Miguel Ojeda <ojeda@kernel.org>, 
	Richard Henderson <richard.henderson@linaro.org>, Ivan Kokshaysky <ink@jurassic.park.msu.ru>, 
	Matt Turner <mattst88@gmail.com>, Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>, 
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>, 
	Gregory Clement <gregory.clement@bootlin.com>, 
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>, Nicholas Piggin <npiggin@gmail.com>, 
	Christophe Leroy <christophe.leroy@csgroup.eu>, Anatolij Gustschin <agust@denx.de>, 
	Yoshinori Sato <ysato@users.sourceforge.jp>, Rich Felker <dalias@libc.org>, 
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>, "David S. Miller" <davem@davemloft.net>, 
	Bjorn Helgaas <bhelgaas@google.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Andy,

On Thu, Mar 23, 2023 at 4:15=E2=80=AFPM Andy Shevchenko
<andriy.shevchenko@linux.intel.com> wrote:
> On Thu, Mar 23, 2023 at 10:02:38AM -0500, Bjorn Helgaas wrote:
> > I poked around looking for similar patterns elsewhere with:
> >   git grep "#define.*for_each_.*_p("
> >   git grep "#define.*for_each_.*_idx("
> >
> > I didn't find any other "_p" iterators and just a few "_idx" ones, so
> > my hope is to follow what little precedent there is, as well as
> > converge on the basic "*_for_each_resource()" iterators and remove the
> > "_idx()" versions over time by doing things like the
> > pci_claim_resource() change.
>
> The p is heavily used in the byte order conversion helpers.

I can't seem to find them. Example?

Or do you mean cpu_to_be32p()? There "p" means pointer,
which is something completely different.

> > What do you think?  If it seems like excessive churn, we can do it
> > as-is and still try to reduce the use of the index variable over time.
>
> I think _p has a precedent as well. But I can think about it a bit, maybe
> we can come up with something smarter.

Gr{oetje,eeting}s,

                        Geert

--=20
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k=
.org

In personal conversations with technical people, I call myself a hacker. Bu=
t
when I'm talking to journalists I just say "programmer" or something like t=
hat.
                                -- Linus Torvalds


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 16:38:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 16:38:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513972.795789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfNxp-0006WZ-BH; Thu, 23 Mar 2023 16:38:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513972.795789; Thu, 23 Mar 2023 16: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 1pfNxp-0006WS-6x; Thu, 23 Mar 2023 16:38:57 +0000
Received: by outflank-mailman (input) for mailman id 513972;
 Thu, 23 Mar 2023 16: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=fJyN=7P=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfNxo-0006Si-4k
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 16:38:56 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20613.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 327df0a0-c999-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 17:38:53 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB9810.eurprd04.prod.outlook.com (2603:10a6:800:1df::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar
 2023 16:38:51 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 16: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: 327df0a0-c999-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mhP58NWo/CU+T6oGtIKGZiiHfDY/8rrEwLjSF26AdWLrdsehM0ptipjzdkYNZjOvSXkeN83AGOcuB0axnLSAt3SIzIHXFa91AnVMGMQXu4L5PwQiDbUHSkMhlxSkB9xXBd6gBPULP7RC6zy2s4wf9uqQUhUEbknJ0yppEg7ziyPY9x3QIX+ctqgEwsEgO/E7aAA7FSswCly1A4umwE7ruNDCcIbaGHAzobypRcBf53EVbAbbgcQtwWuOphTfi3DKM0GqZSZ59qfBo+mLxC0SlstUA2oS8uMmXhnhUV8OpGiiOlyK9Kd7IL0waFGPlbFuvJULezLs3D0IAJgCoLpMuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8Ial2IyWYu3MSlxiqQUDy1MII4M8ruSAS7b/J8/UTvQ=;
 b=A/OPArNvEe2wV4Sn9I0JJ+EW91VGIXeZC8g6J9QsgO2FR+a6g5+ccbG4xDotx5YBnYNbz3bF80B2SgZGaAofTV622mh2Cw73K+i7B1jeeIX2DjfHaz2AMuqD0KVFm2weuaW/X/fQ2710al6VfpgmvrGlaqvSsIib5+5Hx/WEfkIE5tHLT5hc5rn4K/pMcjnKY0gUJR7Z9VVFvUpDWYiYWu1qQu6V8DGVaY1tl1W7/Z04vOtEIDtjHd5eUWo6eUCGsN0Jr6NhnrkfopyocH1DFK+RrAM9oj3WWFD/soI+JpYXHUV15iz2m+efIZQavLUa1gV6YivPcUbgcNJHqy9L6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8Ial2IyWYu3MSlxiqQUDy1MII4M8ruSAS7b/J8/UTvQ=;
 b=U61YH+VVMeJGfDYFupqRcJCDGh3YIndmMQUnJLdRl4h+kN11t2MHxC6GkPAMinPQoEM4b6MBK7GhgbiqQUmdG7j6MnmEn9bvvxIcAbb6ruwFgGyBsJkex1R5ZmX0w+QLUfPDKV1aKNdmJhw+S0qfP9sbuyFqbcMH88V6F1XJxpMlFEC57cSgzNT3yXbLX4Jd+o1lkH5XXv7JbCiWglIzA8qdklCNtN+Od5YaD1nJn2q9XlLcoSI3RKEjHj4gWuhRVc4hy3BzBr7dIIGE8DD7SjzNp7FTP0r3u48+iLR4OubgUkUCM+yDNgxXqR6lZX096qtzLOkV7c2GvMhOMqJ9Cg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fe65b5ae-f5db-0726-650d-173826679f2c@suse.com>
Date: Thu, 23 Mar 2023 17:38:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [linux-linus test] 179607: regressions - trouble:
 fail/pass/starved
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
 osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@citrix.com>
References: <osstest-179607-mainreport@xen.org>
 <ea0532e0-12c4-674d-392f-216658071f77@suse.com>
 <41ab8c98-ee53-8a21-56cb-2c6d801af0b8@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <41ab8c98-ee53-8a21-56cb-2c6d801af0b8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0183.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB9810:EE_
X-MS-Office365-Filtering-Correlation-Id: 5f9460fd-b159-4cce-5d42-08db2bbd1563
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:
	mOLIBzBcNTQk72mMuYh3J/60Y8Pj5PDxhQ6yX1Ds6A94YLvWxN3MV5dleykyMNG/c5GcBe0KfbZN+qZo59Gk0NDOnNJRQ1UAIu6QAtt2TJWoKkd3JWLzVNyXj5sib8T47w21gjZr5j6xONBt0xNGkzS7lwMMcY8ssYzO8++s6Zo7XCrjUF3JG5V+wI8dw0ReEpAtGEJ1uk7a5m1g4vq2pZEK+BGfTBvSigFNOvhrzruNnQErC1FsuExKdgBWUgyagzqds5KP8JPsl/b6xlvFgB3Lb+KrBKcfXmxzUsQgczcZpdsU3nnG3yU28MNYqbWN7lTLLBn7lxUDsRuETK1q3wi/Be2WolBauw9t9twEl8rE3vItq/VJGTtFsbwmDol8nvbU67sJGUMl+nqY7R55wJ8QJYniNSWsQ0qe/TwTBYdfgUk56kgvLERoUubdjPidjYE1VBQME8FyS3hqvn1s/nFcsjMXaaVzPfqhSjKXCBp1581dLZg1ay4lsGyPQFJnB3aOC75uUslxDQd8ETZ2CWBJ36zAfHnM0BbkH1zvzETLwPozhMJ0ir0iUAUguTKbwnuRjhavI1yYh4UqumFb5iYsXSVa/vCs2YprmXfzoU24uM0OBo6SYam7j3uvhLY1JV2hoE0wax/5pnxzfsFa9JRd/QfxasiooIX7vZJmVfSte8kipoNIcQllHnJ9a2IZt7Th1iViFnD3y33Lma+flfnETEozMukZM8PdE6u6msU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(376002)(136003)(366004)(396003)(39850400004)(451199018)(26005)(6512007)(6506007)(38100700002)(6666004)(53546011)(83380400001)(36756003)(2616005)(186003)(41300700001)(54906003)(6636002)(478600001)(31696002)(5660300002)(8936002)(6862004)(37006003)(4326008)(66476007)(66946007)(66556008)(8676002)(316002)(31686004)(86362001)(6486002)(966005)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TjVTSXlFZ3NBejAyak1FZ1hVVkVCb3V3ZXZnTDBsRHlsRWxuZTUvd0RpWG9l?=
 =?utf-8?B?VXBSSzJnVEZ4aGlMTEJlTXd3aTVCSXFhemNKcnViZXcrQVhkY3lySjBUQ2dw?=
 =?utf-8?B?ZitnSUdvNm0rOW9CMTFNSkpVdFd4RHJ0R2xGVXozYWYrNHovdW4wYlRyYUto?=
 =?utf-8?B?c295cVczUlc4MmxsdHZZa1NYTU5yNHo3UFlnSkhLS29ON2Z0cURzdklpbGk1?=
 =?utf-8?B?QkJGTHpYYzlvZS9LRkhPZjZmWk02QzFUYko4VGc0enJCK3BhdjZSM2x5Ylln?=
 =?utf-8?B?a0F3MVI0WnJJdk5qVVFmZjdxQVVzSm5WeUpDZWhQaU1EUTdTa2VjcHdVak4y?=
 =?utf-8?B?c0JpU0U1R25IWVZHOWFRNWd1V1M3Q0tmU1pZalVuS0gzcHJtMFF3NjVjdzB5?=
 =?utf-8?B?Yjk5NEdDR3JCaE5OampYSm4zeDlyQkxjWVJtUkFVRThCaFZNM2R4ODhMRXdB?=
 =?utf-8?B?VHFPalZKV1ZVckZiaEVacnRWTUpuSWRQRmZFMlEycVRSS09lK1lzNGJpeVVL?=
 =?utf-8?B?dDNZYzB1SmdUTldweEIzWElhWWN2ZFg1OFRvd3hobWpySW9DRzl1cWM2M1dP?=
 =?utf-8?B?eHhXdXFKTUlpSHFUWCswcGgwWDZYQ0VGNURMb2c4SUVFMi8zbU9XK3ZoYzQ4?=
 =?utf-8?B?czR0blJLWldMUDlIQmFBZWhDazY1dElVYUk2clpQR0RMYTQrV3pFbCtjSEdC?=
 =?utf-8?B?Z0NFcmE5ZUhlY2d2WGRmdFdHd0ZtejBZZFJ4VVlITjFOdTZlSVJvT2VGWklT?=
 =?utf-8?B?MEE3dXFab2FnNTBkbFBlNFZBcmdOM1JPbUhieEVua2JqVk9zWHhpTVcybk8w?=
 =?utf-8?B?bnV1QjkvNnZ0UUk0RzRIQzBWTmZ2eUNDa0hZd0V1c1ZGaURrV3FNUzU3WUp0?=
 =?utf-8?B?MUswV0VDcFNuUVJQYXZYbUFUNXZOMGVhNUpvcUZtRGZ2L0diL1preGgrWWRL?=
 =?utf-8?B?ZklyUUdQUFBZS0gwYk5WblpTQm5RL09HR1U0WDAvSkpDVlpLSEl5M01UbC9x?=
 =?utf-8?B?cUVuM1Z2Tkk4RTFudnYwOHpTMHF6dTdRdFRpOE9QQnZ5eUwzSlVIYWc3blJZ?=
 =?utf-8?B?dHRMSFVGTkY1SDhrbnhBNVZyZE5lRVNYTEpRL2p6M0Z0MkVUUWtvNytiLzBX?=
 =?utf-8?B?Y290QjhMZXZoQituR2pIamJoODVQR2RjWjZGVmM4UzQzdHJGa21wcmtZaVBy?=
 =?utf-8?B?ckltUmRpWkMxcGRnTDFPbU5TYmxORUZGblhFK0ZQc1U4Nkp4VGd5Y1BKL3No?=
 =?utf-8?B?NEExd3pIOG5BSklqeXFtdWhwNjMyNGFVV2ZuUXpYaVRCUGpCbytPdlhHVE1j?=
 =?utf-8?B?bUdhYXI1VW10Tmh6d0JEK2ZZU3c1OEx6QlRYK2RRTmdyS0ZsOGV0dmo5UDRG?=
 =?utf-8?B?SDM0WWpjbVVCcCtBd21nbStGMVJWZzJ0enlEeW9QeTFSWjlPUDlBVzh5R3Rr?=
 =?utf-8?B?VFNMN1plaGNDNHhmZXZKUzRsSXE2YUo3aTdpOVo2OXFIK0NWWVp3bWhZM0oz?=
 =?utf-8?B?bW9YU2ZiV2Z4ZnJqbm1RUUJUamtucGpqLys5VFRoQTNSQmhCNmVRRVcxbW5N?=
 =?utf-8?B?dFJlMll0bVRGcDE1YzVJMDY2aSsvRmxFOFhFeEpPeWtIbEl0REFEaFQyUFA2?=
 =?utf-8?B?M1RFTWQvVEF2N2hjYWl0VFVpUnd5Wkg4RlFjd3UwNnNFMVhkUTBiSVJ0UEc0?=
 =?utf-8?B?bng2QWRuam53MmZJSTZOODNMeVJFa0oyZjlUQ1ZuUk1tNExLeVdKeEszTi9l?=
 =?utf-8?B?ckdCM0pkQ1FSdytlVjNrYkJUTS91UGlqVi9ZWDlSWDN5T085Tk1SZHRIZzk5?=
 =?utf-8?B?UVdPNjFHT0FvNjZlOEMwa2FCdnNKRll3aGk2Mnd5U2dkbTVMQkpOQWdYN2RZ?=
 =?utf-8?B?c0NkWHpKd2U4aXdocGtKd0RSKzBkZzdhaVJvSExtRWNweGFuSHkzdDZEbkxI?=
 =?utf-8?B?YVZXcmh5NE5tYXhSRTlmSnJqbkp3OXJKTXVJdU9GUloxeEhIZHc5TDYrdDZl?=
 =?utf-8?B?b3E0WHphU1NEcDAxWGZPSGwzZnBnUXpURFhhU2lpdkFNVjgrdG96Tlp5THdP?=
 =?utf-8?B?RzdDdXllRXhyWkltOC9jd3FxN2ZqNmRSdGt2KzQvcm5lc3VJK3c2dHFEbUVM?=
 =?utf-8?Q?yQsyjK5xAi/KTRSpmkuNePq34?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5f9460fd-b159-4cce-5d42-08db2bbd1563
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 16:38:51.2422
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yAT79fy9W7BoAW0TjLHVC3S3waWAF7HrfZDGiFXWzBL0VswHMIt0mY13FdJandgT5QaRhahbsKJjOF19tTU9AQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9810

On 23.03.2023 16:55, Juergen Gross wrote:
> On 14.03.23 14:27, Juergen Gross wrote:
>> On 14.03.23 13:52, osstest service owner wrote:
>>> flight 179607 linux-linus real [real]
>>> http://logs.test-lab.xenproject.org/osstest/logs/179607/
>>>
>>> Regressions :-(
>>>
>>> Tests which did not succeed and are blocking,
>>> including tests which could not be run:
>>>   test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
>>>   test-amd64-amd64-xl-credit1  19 guest-saverestore.2      fail REGR. vs. 178042
>>>   test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
>>
>> ...
>>
>> In the logs [1] I'm seeing errors like:
>>
>> Mar 13 23:51:26.275421 [  271.713740] xenbr0: port 2(vif1.0) entered forwarding 
>> state
>> Mar 13 23:51:26.287346 (XEN) common/grant_table.c:2982:d0v3 copy beyond page area
>> Mar 13 23:51:48.115383 (XEN) common/grant_table.c:2982:d0v3 copy beyond page area
>> Mar 13 23:51:49.123347 (XEN) common/grant_table.c:2982:d0v3 copy beyond page area
>> Mar 13 23:51:49.459367 (XEN) common/grant_table.c:2982:d0v3 copy beyond page area
>>
>> Given the vif related message directly before those errors the chance is high
>> this problem is related to netback.
>>
>> Ross, your patch "xen/netback: Ensure protocol headers don't fall in the
>> non-linear area" (upstream commit ad7f402ae4f4666) did the most recent changes
>> in netback affecting GNTTABOP_copy operations. There are probably page boundary
>> checks (probably on netback side) missing. Could you please have a look?
> 
> Okay, I've had a try (see attached patch).

Just one remark: Don't you need to use XEN_PAGE_SIZE in place of PAGE_SIZE?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 16:40:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 16:40:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513975.795799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfNzL-000893-LE; Thu, 23 Mar 2023 16:40:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513975.795799; Thu, 23 Mar 2023 16:40:31 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfNzL-00088w-IQ; Thu, 23 Mar 2023 16:40:31 +0000
Received: by outflank-mailman (input) for mailman id 513975;
 Thu, 23 Mar 2023 16:40: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=d8pY=7P=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfNzK-00088q-4L
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 16:40: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 6ae6fcb7-c999-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 17:40: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 9260E1FE07;
 Thu, 23 Mar 2023 16:40: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 64567132C2;
 Thu, 23 Mar 2023 16:40:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id KEfZFvuAHGRCUAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 23 Mar 2023 16:40:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ae6fcb7-c999-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679589627; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=8JmWYs218CJkET5pLUP2ycIM0iwiFIFOGiRvj+uu0SM=;
	b=bTf5RrlkI8l6513pk7q3ViMD3ihr4ZpRlu5BUjBRagObvneWx3j4zxj3mqVUi4S4UNyD/V
	kqS8w3y8ZY+uhqrf2RI2+pxDWT9aHfueYrOS2WL50uazbxGQ+VnWN2/ym3Asmf9MgABGFJ
	58EZYl187Z80cMWvWOyvQOi4Kykb2b4=
Message-ID: <55af029a-99bb-f931-34ff-f0b9ce91da3c@suse.com>
Date: Thu, 23 Mar 2023 17:40:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [linux-linus test] 179607: regressions - trouble:
 fail/pass/starved
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
 osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@citrix.com>
References: <osstest-179607-mainreport@xen.org>
 <ea0532e0-12c4-674d-392f-216658071f77@suse.com>
 <41ab8c98-ee53-8a21-56cb-2c6d801af0b8@suse.com>
 <fe65b5ae-f5db-0726-650d-173826679f2c@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <fe65b5ae-f5db-0726-650d-173826679f2c@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------6n0cp2gb30ulTVp8XoqpyacS"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------6n0cp2gb30ulTVp8XoqpyacS
Content-Type: multipart/mixed; boundary="------------7t43iJSaBoBGK5U0jRSlIQXL";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Ross Lagerwall <ross.lagerwall@citrix.com>,
 osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <55af029a-99bb-f931-34ff-f0b9ce91da3c@suse.com>
Subject: Re: [linux-linus test] 179607: regressions - trouble:
 fail/pass/starved
References: <osstest-179607-mainreport@xen.org>
 <ea0532e0-12c4-674d-392f-216658071f77@suse.com>
 <41ab8c98-ee53-8a21-56cb-2c6d801af0b8@suse.com>
 <fe65b5ae-f5db-0726-650d-173826679f2c@suse.com>
In-Reply-To: <fe65b5ae-f5db-0726-650d-173826679f2c@suse.com>

--------------7t43iJSaBoBGK5U0jRSlIQXL
Content-Type: multipart/mixed; boundary="------------0bYVsKOGxAlJibzNiN825TJe"

--------------0bYVsKOGxAlJibzNiN825TJe
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjMuMDMuMjMgMTc6MzgsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMy4wMy4yMDIz
IDE2OjU1LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMTQuMDMuMjMgMTQ6MjcsIEp1
ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4gT24gMTQuMDMuMjMgMTM6NTIsIG9zc3Rlc3Qgc2Vy
dmljZSBvd25lciB3cm90ZToNCj4+Pj4gZmxpZ2h0IDE3OTYwNyBsaW51eC1saW51cyByZWFs
IFtyZWFsXQ0KPj4+PiBodHRwOi8vbG9ncy50ZXN0LWxhYi54ZW5wcm9qZWN0Lm9yZy9vc3N0
ZXN0L2xvZ3MvMTc5NjA3Lw0KPj4+Pg0KPj4+PiBSZWdyZXNzaW9ucyA6LSgNCj4+Pj4NCj4+
Pj4gVGVzdHMgd2hpY2ggZGlkIG5vdCBzdWNjZWVkIGFuZCBhcmUgYmxvY2tpbmcsDQo+Pj4+
IGluY2x1ZGluZyB0ZXN0cyB3aGljaCBjb3VsZCBub3QgYmUgcnVuOg0KPj4+PiAgwqAgdGVz
dC1hbWQ2NC1hbWQ2NC1mcmVlYnNkMTItYW1kNjQgMTMgZ3Vlc3Qtc3RhcnTCoMKgwqDCoMKg
wqDCoMKgwqAgZmFpbCBSRUdSLiB2cy4gMTc4MDQyDQo+Pj4+ICDCoCB0ZXN0LWFtZDY0LWFt
ZDY0LXhsLWNyZWRpdDHCoCAxOSBndWVzdC1zYXZlcmVzdG9yZS4ywqDCoMKgwqDCoCBmYWls
IFJFR1IuIHZzLiAxNzgwNDINCj4+Pj4gIMKgIHRlc3QtYW1kNjQtYW1kNjQteGwtc2hhZG93
wqDCoCAxNCBndWVzdC1zdGFydMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZhaWwgUkVH
Ui4gdnMuIDE3ODA0Mg0KPj4+DQo+Pj4gLi4uDQo+Pj4NCj4+PiBJbiB0aGUgbG9ncyBbMV0g
SSdtIHNlZWluZyBlcnJvcnMgbGlrZToNCj4+Pg0KPj4+IE1hciAxMyAyMzo1MToyNi4yNzU0
MjEgW8KgIDI3MS43MTM3NDBdIHhlbmJyMDogcG9ydCAyKHZpZjEuMCkgZW50ZXJlZCBmb3J3
YXJkaW5nDQo+Pj4gc3RhdGUNCj4+PiBNYXIgMTMgMjM6NTE6MjYuMjg3MzQ2IChYRU4pIGNv
bW1vbi9ncmFudF90YWJsZS5jOjI5ODI6ZDB2MyBjb3B5IGJleW9uZCBwYWdlIGFyZWENCj4+
PiBNYXIgMTMgMjM6NTE6NDguMTE1MzgzIChYRU4pIGNvbW1vbi9ncmFudF90YWJsZS5jOjI5
ODI6ZDB2MyBjb3B5IGJleW9uZCBwYWdlIGFyZWENCj4+PiBNYXIgMTMgMjM6NTE6NDkuMTIz
MzQ3IChYRU4pIGNvbW1vbi9ncmFudF90YWJsZS5jOjI5ODI6ZDB2MyBjb3B5IGJleW9uZCBw
YWdlIGFyZWENCj4+PiBNYXIgMTMgMjM6NTE6NDkuNDU5MzY3IChYRU4pIGNvbW1vbi9ncmFu
dF90YWJsZS5jOjI5ODI6ZDB2MyBjb3B5IGJleW9uZCBwYWdlIGFyZWENCj4+Pg0KPj4+IEdp
dmVuIHRoZSB2aWYgcmVsYXRlZCBtZXNzYWdlIGRpcmVjdGx5IGJlZm9yZSB0aG9zZSBlcnJv
cnMgdGhlIGNoYW5jZSBpcyBoaWdoDQo+Pj4gdGhpcyBwcm9ibGVtIGlzIHJlbGF0ZWQgdG8g
bmV0YmFjay4NCj4+Pg0KPj4+IFJvc3MsIHlvdXIgcGF0Y2ggInhlbi9uZXRiYWNrOiBFbnN1
cmUgcHJvdG9jb2wgaGVhZGVycyBkb24ndCBmYWxsIGluIHRoZQ0KPj4+IG5vbi1saW5lYXIg
YXJlYSIgKHVwc3RyZWFtIGNvbW1pdCBhZDdmNDAyYWU0ZjQ2NjYpIGRpZCB0aGUgbW9zdCBy
ZWNlbnQgY2hhbmdlcw0KPj4+IGluIG5ldGJhY2sgYWZmZWN0aW5nIEdOVFRBQk9QX2NvcHkg
b3BlcmF0aW9ucy4gVGhlcmUgYXJlIHByb2JhYmx5IHBhZ2UgYm91bmRhcnkNCj4+PiBjaGVj
a3MgKHByb2JhYmx5IG9uIG5ldGJhY2sgc2lkZSkgbWlzc2luZy4gQ291bGQgeW91IHBsZWFz
ZSBoYXZlIGEgbG9vaz8NCj4+DQo+PiBPa2F5LCBJJ3ZlIGhhZCBhIHRyeSAoc2VlIGF0dGFj
aGVkIHBhdGNoKS4NCj4gDQo+IEp1c3Qgb25lIHJlbWFyazogRG9uJ3QgeW91IG5lZWQgdG8g
dXNlIFhFTl9QQUdFX1NJWkUgaW4gcGxhY2Ugb2YgUEFHRV9TSVpFPw0KDQpBaCwgeWVzLCBi
dXQgZm9yIHRoZSB0ZXN0IHRoaXMgc2hvdWxkbid0IG1hdHRlci4NCg0KDQpKdWVyZ2VuDQo=

--------------0bYVsKOGxAlJibzNiN825TJe
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-----

--------------0bYVsKOGxAlJibzNiN825TJe--

--------------7t43iJSaBoBGK5U0jRSlIQXL--

--------------6n0cp2gb30ulTVp8XoqpyacS
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQcgPoFAwAAAAAACgkQsN6d1ii/Ey/C
PQf/cwBxIDSVGElR9E8m1WCoyYMGACSPVKVxCMoShYUDjxUO8HhIq4KczgQ1LGvBOWjhDOZSRFLS
Z9cXM1LVQE3zUWCzkmGAnVrOYcFWsHwXPWRpkAgCeDB2+muVh8Ri+OGsLhxHcuET4zZc0yIZ4jw9
RJk2iKNI2pOpQHNAPBefTF3WEGtYp8zD//cNZlJww6aBRgyAXfyn73Fq5NKGH4BQ1lG7zBhMYTk3
2QlLf8X0fYm88MXSiPVGY2utTb1lMKY5WrP0OiQwg930weM0OzKVJsrXI2T/VigijB1DY+Euau1W
Cey4Y+75nbJDWAjFF7leNl2m1RaHvuUZGp4HsxVXRQ==
=9ERv
-----END PGP SIGNATURE-----

--------------6n0cp2gb30ulTVp8XoqpyacS--


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 16:40:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 16:40:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513976.795809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfNzN-0008OO-Ss; Thu, 23 Mar 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 513976.795809; Thu, 23 Mar 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 1pfNzN-0008OH-Pe; Thu, 23 Mar 2023 16:40:33 +0000
Received: by outflank-mailman (input) for mailman id 513976;
 Thu, 23 Mar 2023 16:40: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=tIVP=7P=citrix.com=prvs=439b2ffc4=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pfNzM-0008AX-1C
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 16:40:32 +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 6b803260-c999-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 17:40:30 +0100 (CET)
Received: from mail-bn8nam12lp2175.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 12:40:27 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB5895.namprd03.prod.outlook.com (2603:10b6:510:35::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 16:40:25 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Thu, 23 Mar 2023
 16:40:24 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b803260-c999-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679589630;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=AtQtyD14dA4ahSBD0R6Y2FbIs8mgWElM4ZloszC971M=;
  b=dUm/HchjrHY5sC3wPldfb/pKfaO+QKYNOBHdRfA3QM+MW/TLAAE+Pb1h
   AH5NEdF3DvOEiQV0+ez0nymvm8erc8QwED4Z9mGZFjj4VUMDn+Kj7pL8z
   QhVKxW03ZkZk2AH2o/ayoYBFHFah6UCQGJnxT0HLNNRhAIaL0+c2woUUV
   o=;
X-IronPort-RemoteIP: 104.47.55.175
X-IronPort-MID: 104477047
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:I7kVPKIFAlSxwOGcFE+R5ZQlxSXFcZb7ZxGr2PjKsXjdYENS0DRVn
 GcfCG+HaKmOYTTye9wiPdm280lX6MCGnYNhSAdlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZlPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4nL1toq
 MQ4dwoEQTGIm6WK/r2JbO5z05FLwMnDZOvzu1lG5BSAV7MMZ8CGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dqpTGMkWSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv02rOQwnunB+r+EpXoxvJMh02rxVA4IzQrdkPnk/m1klGXDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBLSRmrbm9WX+bsLCOoluaJiw9PWIEIygeQmM4D8LLpYgyilfFSIZlGavs1NntQ2ivn
 naNsTQ0gKgVgYgTzaKn8FvbgjWq4J/UUgoy4QaRVWWghu9kWLOYi0WTwQCzxZ59wEyxFDFtY
 FBsdxCi0d0z
IronPort-HdrOrdr: A9a23:a3rzNa6UCl8dRh2HfQPXwBrXdLJyesId70hD6qkmc20oTiW9rb
 HUoB19726NtN9xYgBYpTnkAsO9qBznhP1ICOUqXYtKGTOW3VdAT7sSi7cKoQeQeREWrdQtr5
 uIGpIWYLbN5BpB/KLHCWKDYrEdKbe8kZyAtKP302pqVg1ybrEI1XYFNu9ZKCFLrct9aKbR2K
 Dy2iOPnVSdRUg=
X-IronPort-AV: E=Sophos;i="5.98,285,1673931600"; 
   d="scan'208";a="104477047"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eKFXVCLboqQi7akSbC8Zixp/92VG4zc5hWyNZ9AUN3UeKyeLwKmDeQWQDBkUCirBbf9jY5vfWNAMnevuAdubl/hquXgXAFYMbDu4CIVM9nx93Lfu7agpEZXFkiGXXJ4ybJKBK0ZL8N+TC9Vfd2bobpnJzu4m8FHsj/89Zz5HIF5+LfNO47Vyf5W0Roa3IrLzBR8TqpzHm8tgJZPAbMdok1fTB406YA1e6EYCKToY3clax40y5+bSOcSgJOPnF1+WvvyLMI5VvXfpCFJZmZv+Pk3c5drrdm7LpAMog5ca3jVMHcliXoI3Fi10V8T/6Gd7jskQLmts1qufQwRUxbRoXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FQIme0z1UX8avl0PBOivG91gfEJx0sh37IhCdM14A7U=;
 b=T3h4TAiCFgj1gajXyhSHRq8mEMYbCrM0Zv5N7Agbogv9eoO00zNgNgERMOgIdJJG/dYKSgqtAhjlWoYRo9IG8hfoZ5XIiTq5ISObnDJr9Wkc+hcqCW44Gqo+wr0CV9TUkmYAXCb6hYH5jxtqxrHbdMSooUsXL9WFyD/OSpZdn0PjgNm4DUR2m7pt30zmQomzkKKiMEbbdRO6/8zlMBw78saMwIDa62pTqimj0mZcpWryCqDc1OMRUD9VNVK3E/jJz2NhS04WSOgDOgL+jpQeE2rYSUpgUNx6gFkni/7VdoOYSkch6/Zm+hiVt94JpaRU/t0RZYAneqdJcsV4eoPLjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FQIme0z1UX8avl0PBOivG91gfEJx0sh37IhCdM14A7U=;
 b=ohPZ+R3apnxRQhteO9wW9spjE2uq9Sm0sOYZWrsNXaJ0zkUlbxgGhlxFFahRrp+OvS+8i+8qLeKO7vQHHUT/3tjG2V2KUvTY2xSBFHJikq10LcP32NHTlyc+na+kFaiisR2Fue/S8d5F+HGESeRDC6Ubsi4Wk5mj/SITQO9UlOk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 23 Mar 2023 17:40:19 +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>,
	Paul Durrant <paul@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v4] x86: detect CMOS aliasing on ports other than
 0x70/0x71
Message-ID: <ZByA88LU2YgEbcK9@Air-de-Roger>
References: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
 <367d0223-d481-b7a3-3b79-a9bc6f00531e@suse.com>
 <ZBxm+7/ldyHclXwc@Air-de-Roger>
 <62e5d8fe-df2e-eb95-bc8f-631dad4204f2@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <62e5d8fe-df2e-eb95-bc8f-631dad4204f2@suse.com>
X-ClientProxiedBy: LO2P265CA0484.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:13a::9) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB5895:EE_
X-MS-Office365-Filtering-Correlation-Id: 84fd7361-3594-414e-235e-08db2bbd4d12
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9Tq9s1w9JAMiCwJr5O9nezygM8/HpOQTb2vO/PoXqm/EZ6ZmZikXv1gc6eKGvXnptnynUQiu04EOoo8NrODl0LlvWtMabv1UjjS8xVqqTYdmtd2p+3dPlI55dvtZaxCXN74WIDZzaXisJMXOo/OA+5sqZ/rvoqUvOQIacT5XtNDZE/8wDDbtzwflBvzzFfzyAFD15JFrjoZWba5UdctNLOZz+/D/ssOToihNxVZht6OkGThs4vNO/BxQCh5cNIGs9gA9XUtyKGHvQJk1YgSt4EJ8zSUgHV8x746MWUL9GLzlffYPuQzT04yQ20WUZlOcMwOK8Qf6E6sJxap1sVsAvPKuAVdXXDnce1pBrQvk9LvKZ0BRgG6zz8XRsSKDdEiVLfyUbW76dMWniWk78UaQJI3v+72DeaDDQDC/xh7mttuibrBKYCuBSA1nL9vTpgB33KwQ6wmpN1xq9pl9rJD3dDn+1YpwR7Q9nbDBjkUw6wAeWjfpLd4xRMIuuvgvGrGz56GtOaMAK2Ip7biS5ZbM+DTLtEIdpo3U2jxzABOyyIZahtKpECMLXT2MxXT8sC7etV3sFqYYKw7BsPDhz+yG1UXLJwPxyG9JjDUovlKfrwYCL7DHTC/OGhdDmogaXnr3FwZCvaF0uEbBeEVfEj1u7w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(7916004)(346002)(39860400002)(376002)(396003)(366004)(136003)(451199018)(478600001)(8676002)(5660300002)(6916009)(66556008)(4326008)(66476007)(316002)(66946007)(41300700001)(82960400001)(6506007)(53546011)(6666004)(8936002)(6512007)(26005)(186003)(9686003)(83380400001)(6486002)(85182001)(54906003)(33716001)(86362001)(38100700002)(2906002)(66899018);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WCtDYktXUFlqbFl5cGlsUDcyY3UyMmswZUtTL3FFaDdEdmMrazl2dzBvTlBz?=
 =?utf-8?B?bHFrT21IOUFxZWdhenNjaS95ODVlbXlGNHNBL2JLY2M1dFdkWU9MRlNUSmhH?=
 =?utf-8?B?UHdmU09NSnMvWTJ6MWUzR2JWWjNTcTJVM0pGejRJYlVCNElYM1oxSjV2NlFP?=
 =?utf-8?B?U0lRbVozVHNCWjhjdG9FVGNHUFhWM3U0OVhnVVlNRkpqaW1KMWZPUFpPL0VJ?=
 =?utf-8?B?d2ZKaDZKd0xqc3AyRjI5RS8xVTJMNlAwUnJsWHdBeUN2eWNFRWdGVVF1Rjdi?=
 =?utf-8?B?WVQ5QWhUQzBYQm1NeGZwKzN2OU1YZnZLaXFvcFpRdVMxL2NuU3hzRFRuS3pz?=
 =?utf-8?B?TUliS2VmbVVLK3FiemJCUVVtSGlxK1doZlM4UE54QjQ2cDdDeEFqcXpXeEJo?=
 =?utf-8?B?MFo0NWNFNzdDMm5Jb0xiOVNlbzBrNkdERVczV3FXL0N0M0NaRmpiSTI2OHdw?=
 =?utf-8?B?R2YwaTYvV2ZDdDF2dHlkQ1ZPQVlWaTY3Unk4REdBVmV2QnJ4emxuc0krRzNV?=
 =?utf-8?B?UlU5NE9ZWDVOVHZNNXJ3WTVqZ04rTGVtSDNhbzBTaEpNUXZOSFB4ZzVvU2FS?=
 =?utf-8?B?dHV3cjIrbkp2N1lnVHFsdHk5amJVdjZ1RGZuNktOSlJCZmNsQmVuNE42Y3c5?=
 =?utf-8?B?VW5HSTBLa1ZBZWpNQ21NSFY5ZVJaMEtmZm5jYWNHMGNLV0Jya2VqZ25SeGRT?=
 =?utf-8?B?ZkVqSnVGdmFPbjZ1VEN0K0p6QTYwdmpFeVMzd1E3eVAxVU5sbnhKcVVSZy9W?=
 =?utf-8?B?MlRYME54b3BrOWZ2K2dVT3ZPdGdYbC9HdThLRkRmR2hWY1duTkw4ME1OKzl4?=
 =?utf-8?B?YllKNEJDaFRjRG1ERkFYNGtHOWc3SDAzTE94VjR3K0FWNlJLQlIyVjNNSCtm?=
 =?utf-8?B?VGh5eUx6bmUyS0VLbXlFM3lUOUU0aGwyZTZLM3dYRlRocnp3a1RpTXRDYlZJ?=
 =?utf-8?B?UkExTjUrQWxWcGJLZHJOenRYYmV5TmtxUVhobnh6T2JpVzFOQS9jbzBoamFW?=
 =?utf-8?B?dmpBQk5WWlg1a3I3YnFGejN5NWR4MnFvcU1TRi9uVUZaa0phRVpyNFZHNklq?=
 =?utf-8?B?MUM3cUQ5RE82OGtab1BxWmY1aXN1eVI2TUpoVGtaRFN6d3lZVFY3SWttRGpF?=
 =?utf-8?B?eDBNSTBTOGlZVG54dnBXV25tSVRIcjdEQWk3bWtUUmJLYUU4c0VIdnFRZUFZ?=
 =?utf-8?B?L1lsR0NsVVNqVjdwc1FmZnk1eVRmNi9rQWQzYzhYcGpGZHRhK0V6RGM4RHVo?=
 =?utf-8?B?d0xFcWIvYWNOU2VEQkNtbFpFa2U5Mm01VlZsUnBrUmhERi92M29HTGl1cGlr?=
 =?utf-8?B?elNUVFpiczlnZzBFbjJ3OE14U3NVVGFweFk0YnRVc0VjalNyVjNjUDZWelZC?=
 =?utf-8?B?K3VONGRVdmVqT3FDSzQ3UUZoVFdMTHBBWm1wUFcva0RUMi9SSUE5T3g2dzhK?=
 =?utf-8?B?eXllSlk1MmJFdk95VGNLT05uVGtVc3ZlNmhNMUFCVUc1U2I4RXJ6WDAxb2E2?=
 =?utf-8?B?QlZoMVIrR3RKZ2tpUlhLQTI3Wk1BczhkUVJiSVh2VWM2TTJueGVkYnA5V2Vn?=
 =?utf-8?B?ckxUVGZHajVrMnNpdGMzRHJSNVFvY3N5MkU4enY4eUZMQ0FFYkc5bzhjcGlz?=
 =?utf-8?B?ZVJ4NXBOQXNjKzdGMiszcEFKSDVFeE1ZdklmeUYrNFNHOFhNb3FlVjFYT3o3?=
 =?utf-8?B?K2UxWVU1cjYxSnE4dTdzYkhjbjcyYjl1YlFzTEFDRllNQ2N4U21xU0czdTF4?=
 =?utf-8?B?WXdHY0pZd3YwN25heFBmM05DejlJY1FaRHJUenMyUnNscGFuRUJJVldiY2I4?=
 =?utf-8?B?ZWdlYVlHNHdmTUJJSStacDc4T3A3RW9oT0gwTi81b0JwKzlSdUlTM1hOWU11?=
 =?utf-8?B?S05odTlVenlJdXhPQmlobloyZDNQWTUyTVhRbTJQQzQwQW40UUdXMFlBeGRz?=
 =?utf-8?B?VWU4R3BwVkdhQVFhZzJuL0dyL3FIM1lhMUVZZXkwRVVLNHFLQko0N1FWS2N1?=
 =?utf-8?B?QkwxeGVUREorb2ZjbnJQVFcwdm9Wa1RUbm9oVm1YcWtEQnVQd2ZMSDJMd0dj?=
 =?utf-8?B?c2MvUlRDd0ZkTnpSZmhUQUN5MHJwYWsvMTY5czBUZ0pVNVhhVm1lazVPUTRT?=
 =?utf-8?B?ZmhOV3RFNU9VRmMxVCt0Qi9JQ0tVSHZ6c1dWRG9Sdjg2U3JZM2VyWExlbm5w?=
 =?utf-8?B?WVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	PohccKFwVSS5EfmMEqYOtXhSqrQwkxdYVrALSxdO10VFQuKBLvSGpf3HhBrKODjLwxsK0wPPvTPTskCQHNfAHVzPx8NraIS5IINMRlGmGAy6gHQjX6H9wSsiN58tDkTx872cadfsq7bsV/TwiQrqP4JiPDRsY3IyGjPpBr9i6b1lfJ6Jzt/ZTVxZmqj86fHBOWSxXEh3/R4AG3s42cPaw7tXeon219OX0648HhBMBYmQ3OVQUsTv7fvv6/zZ9JIw4cw+l1WbldVN54vid012nUuu26NsX8WKOh11DM/9lurazhrALRDBc/p4YW+9QIhDg5dyPTydnnKSTe8c5oJlPlD7tf6aOrcrRIKRIomJCN1M4GIXw8kZN/zsm7zx4SjbMqP6QZI+1lbqefD7HHGYlYayN2wgSsm5OvqoNjEHgg70ooQqWttnztoWUCQBSPmLwzjiKucg0Edmy6VpAvsKEP6/TFxcSDTHoyvqQWsqxl46QkoHeaVkDOiztkO2p/llVixZNDdMNAOnuNYKnLxm84AGl69tStiKDcBQVQpDy/1JzWBTY2FjF1Wejwo26Q7kQ/ZTuscV7Yvrfzp1LkrnXjl6JAw8KnIFfsEK6LkS4xFZsS12qCKF/WhRe5cbMAjikgattaq0C7sjV6M4FyapkVvy5Va4CxBBIjC9v7RgII5NK5yigq54NMOJzJZGuGILbiNKHt94nmGPk8cwiulMb8aokrFf10a5Yy/+f1dNrea5Up+FneJ/WUNVcViScx5fTVdrC/Knt06PunjVeljEHeI4/RQBOiDnNsg07RzVSKXlNDioSARK1lJ5s92VV+rj
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84fd7361-3594-414e-235e-08db2bbd4d12
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 16:40:24.8029
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5mKE2T9oQ6BLTy38+LCJi2dW3v2A+Osgg7YcjymjZ1qzHEpyWMvZYfT+dN9t0q4GvD2BcVK4YNE/aastxVRSDQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB5895

On Thu, Mar 23, 2023 at 05:08:43PM +0100, Jan Beulich wrote:
> On 23.03.2023 15:49, Roger Pau Monné wrote:
> > On Mon, Mar 20, 2023 at 09:32:26AM +0100, Jan Beulich wrote:
> >> --- a/xen/arch/x86/include/asm/mc146818rtc.h
> >> +++ b/xen/arch/x86/include/asm/mc146818rtc.h
> >> @@ -9,6 +9,10 @@
> >>  
> >>  extern spinlock_t rtc_lock;             /* serialize CMOS RAM access */
> >>  
> >> +struct domain;
> >> +bool is_cmos_port(unsigned int port, unsigned int bytes,
> >> +                  const struct domain *d);
> > 
> > We seem to usually name this rtc rather than cmos, any reason to use
> > cmos for the helper naming rather than rtc?
> > 
> > If not I would rather use is_rtc_port(), so that we can keep it in
> > sync with the existing RTC_PORT() macros and the handler names
> > rtc_guest_{read,write}, hw_rtc_io.
> 
> Already when talking about just ports 70 and 71 there's more CMOS
> behind them than RTC. With extended CMOS accesses the ratio further
> shifts. So I view using "rtc" here simply as increasingly
> inappropriate.

Hm, it's your patch at the end, and such decision would likely fall
under the same bag as other style related questions.

I would prefer to keep the naming consistent, as to not confuse
readers with code dealing with the same underlying IO ports using both
RTC and CMOS, but that's just my taste.

> >> --- a/xen/arch/x86/setup.c
> >> +++ b/xen/arch/x86/setup.c
> >> @@ -2072,37 +2072,36 @@ int __hwdom_init xen_in_range(unsigned l
> >>  static int __hwdom_init cf_check io_bitmap_cb(
> >>      unsigned long s, unsigned long e, void *ctx)
> >>  {
> >> -    struct domain *d = ctx;
> >> +    const struct domain *d = ctx;
> >>      unsigned int i;
> >>  
> >>      ASSERT(e <= INT_MAX);
> >>      for ( i = s; i <= e; i++ )
> >> -        __clear_bit(i, d->arch.hvm.io_bitmap);
> >> +        /*
> >> +         * Accesses to RTC ports also need to be trapped in order to keep
> >> +         * consistency with PV.
> >> +         */
> > 
> > More than to keep consistency with PV, don't we need to trap accesses
> > to that concurrent accesses between dom0 and Xen (when also using the
> > device) don't overlap, as the RTC/CMOS space uses indirect indexing.
> 
> That's what I read "consistency" to mean.

But consistency with PV?  We need to keep consistency with concurrent
Xen (hypervisor) accesses I would think.

I would s/PV/hypervisor accesses/ in the comment above while moving
it.

> >> +        for ( i = RTC_REG_D + 1; i < 0x80; ++i )
> >> +        {
> >> +            uint8_t normal, alt;
> >> +            unsigned long flags;
> >> +
> >> +            if ( i == acpi_gbl_FADT.century )
> >> +                continue;
> >> +
> >> +            spin_lock_irqsave(&rtc_lock, flags);
> >> +
> >> +            normal = CMOS_READ(i);
> >> +            if ( inb(RTC_PORT(offs)) != i )
> >> +                read = false;
> >> +
> >> +            alt = inb(RTC_PORT(offs + 1));
> >> +
> >> +            spin_unlock_irqrestore(&rtc_lock, flags);
> >> +
> >> +            if ( normal != alt )
> >> +                break;
> >> +
> >> +            process_pending_softirqs();
> > 
> > You adding a call to process pending softirqs for every loop
> > iteration makes me wonder how long is each of those accesses expected
> > to take, since we could be performing a lot of them (0x80 * 3).
> 
> It seemed best to me to keep things simple here, at the expense at a
> few too many calls.
> 
> > I don't think so, but there can not be any side effects from reading
> > from the CMOS RAM I would assume, even for cases where the CMOS ports
> > are not aliases?
> 
> Well, one of the fundamental assumptions is that these read attempts
> won't have side effects. Without that assumption we simply can't do
> such probing.
> 
> > I would assume ports to be either aliased to the CMOS, or otherwise
> > reserved.  What makes me wonder if it wouldn't be simpler to just
> > passthough accesses to all the possible CMOS alias ports.
> 
> But we need to intercept writes to 70 to track the index. IOW we
> cannot simply pass through all of them, and we also cannot simply
> intercept them all and treat them all the same.

Why couldn't we intercept all the possible alias port and passthrough
all of them?  As long as there's nothing else there's no risk in doing
so?

> >> +bool is_cmos_port(unsigned int port, unsigned int bytes, const struct domain *d)
> >> +{
> >> +    if ( !is_hardware_domain(d) )
> >> +        return port <= RTC_PORT(1) && port + bytes > RTC_PORT(0);
> >> +
> >> +    if ( !(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) &&
> >> +         port <= RTC_PORT(cmos_alias_mask | 1) && port + bytes > RTC_PORT(0) )
> >> +    {
> >> +        unsigned int cmos = RTC_PORT(0), nr = 2, step;
> >> +
> >> +        while ( cmos_alias_mask & nr )
> >> +            nr <<= 1;
> >> +        for ( step = nr << 1;
> >> +              step < cmos_alias_mask && !(cmos_alias_mask & step); )
> >> +            step <<= 1;
> >> +        do {
> >> +            if ( !(cmos & ~RTC_PORT(cmos_alias_mask)) &&
> >> +                 port <= cmos + 1 && port + bytes > cmos )
> >> +                return true;
> >> +            cmos += step;
> >> +        } while ( cmos <= RTC_PORT(cmos_alias_mask) );
> > 
> > I would use a for loop similar to the one used in probe_cmos_alias()
> > to check for aliased accesses?
> > 
> > if ( port <= RTC_PORT(1) && port + bytes > RTC_PORT(0) )
> >     return true;
> > 
> > for ( offs = 2; offs < 8; offs <<= 1 )
> > {
> >     if ( !(offs & cmos_alias_mask) )
> >         continue;
> >     if ( port <= RTC_PORT(1 + off) && port + bytes > RTC_PORT(off) )
> >         return true;
> > }
> > 
> > return false;
> > 
> > So that you can also optimize for the more common case RTC_PORT(0) and
> > RTC_PORT(1) are used?
> > 
> > Or there's something I'm missing?
> 
> I'll have to check carefully, but to be honest I would prefer to not
> touch this code again unless there's clearly something wrong with it.

TBH, I think the proposed code is extremely difficult to follow, there
are 3 loops in a row which gives me a headache when thinking about all
the possible combinations.

I think my proposed alternative is much easier to follow because it
has a single loop, and it's using the same bounds used to fill the
cmos_alias_mask in the first place.  But maybe that's just my taste.

> >> @@ -1256,7 +1333,7 @@ unsigned int rtc_guest_read(unsigned int
> >>      unsigned long flags;
> >>      unsigned int data = ~0;
> >>  
> >> -    switch ( port )
> >> +    switch ( port & ~cmos_alias_mask )
> >>      {
> >>      case RTC_PORT(0):
> >>          /*
> >> @@ -1264,15 +1341,16 @@ unsigned int rtc_guest_read(unsigned int
> >>           * of the first RTC port, as there's no access to the physical IO
> >>           * ports.
> >>           */
> >> -        data = currd->arch.cmos_idx;
> >> +        data = currd->arch.cmos_idx & (0xff >> (port == RTC_PORT(0)));
> > 
> > We do allow read access to alias ports even when the underling
> > hardware does do so,
> 
> I'm afraid I don't understand this, so ...
> 
> > which I think is fine, but might be worth a
> > comment (since we already detect whether the RTC_PORT(0) alias is also
> > readable.
> 
> ... I can't really derive what kind of information you're after to put
> in a comment.

Reading from ports that alias RTC_PORT(0) might not always return the
value written to RTC_PORT(0) (you have a check for that in
probe_cmos_alias()).  Yet in rtc_guest_read() Xen does always return
the cached CMOS index.  Which is likely to be all fine, but needs a
comment to note this behavior might not match what the underlying
hardware would return.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 16:46:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 16:46:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513984.795819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfO5P-0000y0-MS; Thu, 23 Mar 2023 16:46:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513984.795819; Thu, 23 Mar 2023 16: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 1pfO5P-0000xt-In; Thu, 23 Mar 2023 16:46:47 +0000
Received: by outflank-mailman (input) for mailman id 513984;
 Thu, 23 Mar 2023 16:46: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=nbzt=7P=bounce.vates.fr=bounce-md_30504962.641c8271.v1-201dde821a22463199c8a2f98b00116a@srs-se1.protection.inumbo.net>)
 id 1pfO5N-0000xc-0k
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 16:46:45 +0000
Received: from mail187-21.suw11.mandrillapp.com
 (mail187-21.suw11.mandrillapp.com [198.2.187.21])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4a4b9805-c99a-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 17:46:43 +0100 (CET)
Received: from pmta09.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail187-21.suw11.mandrillapp.com (Mailchimp) with ESMTP id
 4PjB7k14QMz1XLPTd
 for <xen-devel@lists.xenproject.org>; Thu, 23 Mar 2023 16:46:42 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 201dde821a22463199c8a2f98b00116a; Thu, 23 Mar 2023 16: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: 4a4b9805-c99a-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.fr;
	s=mandrill; t=1679590002; x=1679647602; i=yann.dirson@vates.fr;
	bh=PxyzX5VAaTIVXR7+fzTYIMelE7CZp9+UUVw/teWKcyc=;
	h=From:Subject:Message-Id:To:Feedback-ID:Date:MIME-Version:
	 Content-Type:CC:Date:Subject:From;
	b=NEEu7rxHVdaPYz8THsI6LzfyiTm5L7yBEny4/o8mvXTZl/xsEhXr0T07fw57J6VrR
	 cRLDIkxWQVuW/HJCAS2FtFjL2aZN+HnaGMgBQzHpHqLe9KkzMXg/Q8r/eot9DkvX7i
	 thtQ9J0DT2oow1FaOdEHFW3yeVn7yTRp/PLWT0QM=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com; 
 i=@mandrillapp.com; q=dns/txt; s=mandrill; t=1679590001; h=From : 
 Subject : Message-Id : To : Date : MIME-Version : Content-Type : From : 
 Subject : Date : X-Mandrill-User : List-Unsubscribe; 
 bh=PxyzX5VAaTIVXR7+fzTYIMelE7CZp9+UUVw/teWKcyc=; 
 b=UAuMGG/HdDxjt3atyANF25dxW8y6/xzxU11hLZ1i1bD09Klxf1tOHIpRwzOQIfn0Vu7sV+
 tmqzx1odoKW5G0Lt3YrB8VZ3HL+Vb4ROzMRJXUOtTK5bhjERTp3z4B/QHItxmRj7FsjWNw9Y
 6IBQT233nawgmWYLWHka6UgHNvH1U=
From: Yann Dirson <yann.dirson@vates.fr>
Subject: [RFC] Rust Xen guest-agent
X-Bm-Draft-Refresh-Date: 1679589998731
X-Bm-Internal-Id: 88BE90AF-0050-4D65-B106-62AA3F1CA5E6#bluemind-4ffbd6c1-ee69-4e1b-aabd-f977039bd3e2:1197638
X-Bm-Previous-Body: cde03d2117817885eee9212ad11433b4e24b238e
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4eb783c3-df1d-477e-89ee-a8b2cef54fd9
X-Bm-Transport-Timestamp: 1679590000504
Message-Id: <lflch8vf.2crenkmkzruv4@vates.fr>
To: xen-devel@lists.xenproject.org
X-Native-Encoded: 0
X-Report-Abuse: Please forward a copy of this message, including all headers, to abuse@mandrill.com
X-Report-Abuse: You can also report abuse here: http://mandrillapp.com/contact/abuse?id=30504962.201dde821a22463199c8a2f98b00116a
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20230323:md
Date: Thu, 23 Mar 2023 16:46:41 +0000
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="_av-C3LEwsGhpAz73L6umw6VLg"

--_av-C3LEwsGhpAz73L6umw6VLg
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

XCP-ng and our friends at XenServer have a need to collect a number of informations inside guests, to give to
toolstacks and admins enough info to manage the guests properly. Today Xen downstreams have
to implement a guest agent for this when needed (see below), and we think it would be beneficial
to have one in the Xen Project, that could be configured for the needs of various downstreams.
Playing with this idea we started on several aspects:
- document what information needs to be collected and for what need, and propose a XenStore
structure (very preliminary ideas in [0]) 
- a prototype agent [1] that:
- could be used both as a replacement for what we use now, and for any improved data set we
would want, as well as any specific needs other downstreams may have
- would react on event where possible, to make changes visible ASAP to the toolstack
- would be multi-platform enough to run in (ideally) all guests
- we decided to write in Rust for various reasons [2]
We'd like to hear from the community what you think about those ideas.
What currently exists that we are aware of are:
- description for a few xenstore paths to store VIF information (iface name, MAC, IP addresses) [3]
- Xenserver's xe-guest-utilities, also used by XCP-ng; details of collected info in [4]
- until versions 6.x it was implemented as a Linux-specific shell-script daemon [5]
- this version has been forked for FreeBSD support [6]
- versions 7.x [7] are a rewrite in Go, which is slightly more efficient by using a single connection to
XenStore throughout its lifetime, but still uses a "spawn processes every minute" approach to
data collection; despite its design that should allow support for other OS than Linux, it has
not been extended for any (one user started a FreeBSD port, starting with conversion of the legacy
shell script still doing OS detection [8], but the effort stopped short of any modification of Go code).
- QubesOS' meminfo-writer [9]; only collects a "used memory" metric
- apparently nothing for OpenXT ([10] only mentions installing PV drivers for Windows)
[0] https://gitlab.com/ydirson/xen-guest-agent/-/blob/ydi/rust-proto/doc/structure.md [https://gitlab.com/ydirson/xen-guest-agent/-/blob/ydi/rust-proto/doc/structure.md]
[1] https://gitlab.com/ydirson/xen-guest-agent/-/tree/ydi/rust-proto [https://gitlab.com/ydirson/xen-guest-agent/-/tree/ydi/rust-proto]
https://gitlab.com/xen-project/xen-guest-agent/-/merge_requests/2
[2] https://xcp-ng.org/blog/2023/03/17/bringing-rust-to-the-xen-project/ [https://xcp-ng.org/blog/2023/03/17/bringing-rust-to-the-xen-project/]
[3] https://xenbits.xen.org/docs/unstable/misc/xenstore-paths.html#domain-controlled-paths [https://xenbits.xen.org/docs/unstable/misc/xenstore-paths.html#domain-controlled-paths]
[4] https://github.com/xenserver/xe-guest-utilities#collected-information-by-lifetime [https://github.com/xenserver/xe-guest-utilities#collected-information-by-lifetime]
[5] https://aur.archlinux.org/packages/xe-guest-utilities [https://aur.archlinux.org/packages/xe-guest-utilities]
[6] http://distcache.freebsd.org/local-distfiles/feld/xe-guest-utilities-6.0.2.tar.gz [http://distcache.freebsd.org/local-distfiles/feld/xe-guest-utilities-6.0.2.tar.gz]
[7] https://github.com/xenserver/xe-guest-utilities [https://github.com/xenserver/xe-guest-utilities]
[8] https://github.com/xcp-ng/xe-guest-utilities/pull/1 [https://github.com/xcp-ng/xe-guest-utilities/pull/1]
[9] https://gitlab.com/QubesOS/qubes-linux-utils/-/blob/master/qmemman/meminfo-writer.c [https://gitlab.com/QubesOS/qubes-linux-utils/-/blob/master/qmemman/meminfo-writer.c]
[10] https://openxt.atlassian.net/wiki/spaces/OD/pages/44924936/How+to+Install+Guest+VMs [https://openxt.atlassian.net/wiki/spaces/OD/pages/44924936/How+to+Install+Guest+VMs]


Yann Dirson | Vates Platform Developer

XCP-ng & Xen Orchestra - Vates solutions
w: vates.fr | xcp-ng.org | xen-orchestra.com

--_av-C3LEwsGhpAz73L6umw6VLg
Content-Type: multipart/related; boundary="_av-Ty4B9oV-1NzI5gEn6GL9WA"

--_av-Ty4B9oV-1NzI5gEn6GL9WA
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit

<html>
 <head></head>
 <body>
  <div id="bm-composer-content-wrapper">
   <div id="bm-composer-content-wrapper">
    <div id="bm-composer-content-wrapper">
     <div id="bm-composer-content-wrapper">
      <div id="bm-composer-content-wrapper">
       <div id="bm-composer-content-wrapper">
        <div id="bm-composer-content-wrapper">
         <div id="bm-composer-content-wrapper">
          <div id="bm-composer-content-wrapper">
           <div id="bm-composer-content-wrapper">
            <div id="bm-composer-content-wrapper">
             <div id="bm-composer-content-wrapper">
              <div id="bm-composer-content-wrapper">
               <div id="bm-composer-content-wrapper">
                <div id="bm-composer-content-wrapper">
                 <div id="bm-composer-content-wrapper">
                  <div id="bm-composer-content-wrapper">
                   <div id="bm-composer-content-wrapper">
                    <div id="bm-composer-content-wrapper">
                     <div id="bm-composer-content-wrapper">
                      <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                       XCP-ng and our friends at XenServer have a need to collect a number of informations inside guests, to give to
                       <br>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        toolstacks and admins enough info to manage the guests properly.&nbsp; Today Xen downstreams have
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        to implement a guest agent for this when needed (see below), and we think it would be beneficial
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        to have one in the Xen Project, that could be configured for the needs of various downstreams.
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <br>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        Playing with this idea we started on several aspects:
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        - document what information needs to be collected and for what need, and propose a XenStore
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        &nbsp; structure (very preliminary ideas in [0])
                        <br>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        - a prototype agent [1] that:
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        &nbsp; - could be used both as a replacement for what we use now, and for any improved data set we
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        &nbsp; &nbsp;&nbsp; would want, as well as any specific needs other downstreams may have
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        &nbsp; - would react on event where possible, to make changes visible ASAP to the toolstack
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        &nbsp; - would be multi-platform enough to run in (ideally) all guests
                        <br>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        &nbsp; - we decided to write in Rust for various reasons [2]
                        <br>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <br>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        We'd like to hear from the community what you think about those ideas.
                        <br>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <br>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        What currently exists that we are aware of are:<span><span><br></span></span>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <span><span>- description for a few xenstore paths to store VIF information (iface name, MAC, IP addresses) [3]<br></span></span>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <span><span>-&nbsp;Xenserver's xe-guest-utilities, also used by XCP-ng; details of collected info in [4]<br></span></span>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <span><span>&nbsp; - until versions 6.x </span>it was implemented as a Linux-specific shell-script daemon [5]</span>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <span>&nbsp; - this version has been forked for FreeBSD support [6]</span>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <span>&nbsp; - versions 7.x [7] are a rewrite in Go, which is slightly more efficient by using a single connection to</span>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <span>&nbsp;&nbsp;&nbsp; XenStore throughout its lifetime, but still uses a "spawn processes every minute" approach to</span>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <span>&nbsp;&nbsp;&nbsp; data collection; despite its design that should allow support for other OS than Linux, it has</span>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <span>&nbsp;&nbsp;&nbsp; not been extended for any (one user started a FreeBSD port, starting with conversion of the legacy</span>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <span>&nbsp;&nbsp;&nbsp; shell script still doing OS detection [8], but the effort stopped short of any modification of Go code).<br></span>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <span style="font-size:9pt"><span>-&nbsp;QubesOS' meminfo-writer [9]</span><span>; only collects a "used memory" metric<br></span></span>
                        <div style="font-size:9pt">
                         <span></span>
                        </div><span>-&nbsp;apparently nothing for OpenXT ([10] only mentions installing PV drivers for Windows)<br></span><span></span>
                        <div style="font-size:9pt">
                         <br>
                        </div>
                        <div style="font-size:9pt">
                         <br>
                        </div>
                       </div>[0] <a href="https://gitlab.com/ydirson/xen-guest-agent/-/blob/ydi/rust-proto/doc/structure.md">https://gitlab.com/ydirson/xen-guest-agent/-/blob/ydi/rust-proto/doc/structure.md</a>
                      </div>
                      <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                       [1] <a href="https://gitlab.com/ydirson/xen-guest-agent/-/tree/ydi/rust-proto">https://gitlab.com/ydirson/xen-guest-agent/-/tree/ydi/rust-proto</a>
                      </div>
                      <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                       &nbsp;&nbsp;&nbsp; <a href="https://gitlab.com/xen-project/xen-guest-agent/-/merge_requests/2">https://gitlab.com/xen-project/xen-guest-agent/-/merge_requests/2</a>
                       <br>
                      </div>
                      <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                       [2] <a href="https://xcp-ng.org/blog/2023/03/17/bringing-rust-to-the-xen-project/">https://xcp-ng.org/blog/2023/03/17/bringing-rust-to-the-xen-project/</a>
                       <br>
                      </div>
                      <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                       [3] <a href="https://xenbits.xen.org/docs/unstable/misc/xenstore-paths.html#domain-controlled-paths">https://xenbits.xen.org/docs/unstable/misc/xenstore-paths.html#domain-controlled-paths</a>
                       <br>
                      </div>
                      <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                       [4] <a href="https://github.com/xenserver/xe-guest-utilities#collected-information-by-lifetime">https://github.com/xenserver/xe-guest-utilities#collected-information-by-lifetime</a>
                       <br>
                      </div>
                      <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                       [5] <a href="https://aur.archlinux.org/packages/xe-guest-utilities">https://aur.archlinux.org/packages/xe-guest-utilities</a>
                       <br>
                      </div>
                      <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                       [6] <a href="http://distcache.freebsd.org/local-distfiles/feld/xe-guest-utilities-6.0.2.tar.gz">http://distcache.freebsd.org/local-distfiles/feld/xe-guest-utilities-6.0.2.tar.gz</a>
                       <br>
                      </div>
                      <div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        [7] <a href="https://github.com/xenserver/xe-guest-utilities">https://github.com/xenserver/xe-guest-utilities</a>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        <span style="font-size:9pt">[8] <a href="https://github.com/xcp-ng/xe-guest-utilities/pull/1">https://github.com/xcp-ng/xe-guest-utilities/pull/1</a></span>
                        <div style="font-size:9pt"></div>[9] <a href="https://gitlab.com/QubesOS/qubes-linux-utils/-/blob/master/qmemman/meminfo-writer.c">https://gitlab.com/QubesOS/qubes-linux-utils/-/blob/master/qmemman/meminfo-writer.c</a>
                       </div>
                       <div style="font-family: &quot;Montserrat&quot;, sans-serif; font-size: 9pt; color: rgb(31, 31, 31);">
                        [10] <a href="https://openxt.atlassian.net/wiki/spaces/OD/pages/44924936/How+to+Install+Guest+VMs">https://openxt.atlassian.net/wiki/spaces/OD/pages/44924936/How+to+Install+Guest+VMs</a>
                       </div>
                       <br>
                      </div>
                     </div>
                    </div>
                   </div>
                  </div>
                 </div>
                </div>
               </div>
              </div>
             </div>
            </div>
           </div>
          </div>
         </div>
        </div>
       </div>
      </div>
     </div>
    </div>
   </div>
   <style></style>
  </div>
  <div class="x-disclaimer-900425384">
   <div>
     &nbsp;
   </div>
   <div>
     &nbsp;
   </div>
   <div>
    <div>
     <br>
     <table>
      <tbody>
       <tr>
        <td style="font-size: 10pt;">&nbsp;</td>
        <td style="font-size: 10pt; padding-left: 20px; border-left-color: #b42626; border-left-style: solid; border-left-width: 1px;">
         <div> <strong> Yann Dirson | Vates Platform Developer</strong>
         </div>
         <div> <strong></strong>
         </div>
         <div> <strong>XCP-ng &amp; Xen Orchestra - </strong>Vates solutions
         </div>
         <div> <strong>w:</strong>&nbsp;vates.fr&nbsp;| xcp-ng.org | xen-orchestra.com
         </div>
         <div>
          <img style="float: left;" src="cid:x-disclaimer-900425384-1679590000503.png@bm-disclaimer" alt="" width="174" height="159">
         </div> </td>
       </tr>
      </tbody>
     </table>
    </div>
   </div>
  </div>
 <img src="https://mandrillapp.com/track/open.php?u=30504962&id=201dde821a22463199c8a2f98b00116a" height="1" width="1" alt=""></body>
</html>

--_av-Ty4B9oV-1NzI5gEn6GL9WA
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Id: <x-disclaimer-900425384-1679590000503.png@bm-disclaimer>
Content-Disposition: inline

iVBORw0KGgoAAAANSUhEUgAAAK4AAACfCAYAAABgKuLmAAAm4XpUWHRSYXcg
cHJvZmlsZSB0eXBlIGV4aWYAAHjatZxpkmSpcoX/swotgXlYDuBgph1o+foO
kVmva2jZa8lU1VWZFRlxL+DuZ3C47c5//ed1/8GvEYZ3ubReR62eX3nkESff
dP/5Nd/fwef39+el8/Wz8PPrbtyvH0ReSnxNn3/2+vX+79fDjwt8vky+K3+5
UN9fP1g//2Dkr+v3Xy70daOkEUW+se8RfV0oxc8PwtcF5mdavo7e/jqF9TW1
r89/loE/Tn/dHYdeK+vzs1//nRurZ4X7pBhPCsnzd0pfA0j6E12afFP5O6YU
30vvlc7fIcWvkbAgf1qnH7+4rbsaav7jm36Kyo/vfonWGV9r9Gu0cvx6S/pl
keuPr3983YXy56i8pf/LnXP/+i7+/ProMX5G9Mvqv8W/1u+bM7OYubLU9WtS
31N83/E+wpF16+4YWvWNP4VLtPd78LuT1ZtUML/94vcOI0TCdUMOFma44byv
O2yGmONxsfFNjDum92JPLY64iVtIWb/DjS2NZMQxpv3CnlP8MZbwbjv8du9u
nTtb4K0xcLHwkuAf/nb/9AP3qhRC0FoS+vCJb4xabIahyOlv3kZEwv1a1PIW
+Pv3r78U10QEi1ZZJTJY2PW5xCrhX0iQXqATbyx8/dRgaPZ1AZaIWxcGExIR
IGohlVCDbzG2EFjIToAmQ48px0UEQinRGGTMKVVi06NuzUdaeG+NJfKy43XA
jEgUKq4Rm5Emwcq5kD8td3JollRyKaWWVnoZZdZUcy211lYFirOlll0rrbbW
ehtt9tRzL7321nsffY44EqBZRh1t9DHGnNxzcuXJpydvmHPFlVZexa262upr
rLlJn5132XW33ffY06IlAz+sWrNuw+YJh1Q6+ZRTTzv9jDMvqXaTu/mWW2+7
/Y47f0TtK6y//f4HUQtfUYsvUnpj+xE1Xm3t+xJBcFIUMwIWXQ5EvCkEJHRU
zHwPOUdFTjHzA8RLJTLIophZUMSIYD4hlhu+Y+fiJ6KK3P8pbq7ln+IW/7eR
cwrdP4zc73H7U9RMNLRfxD5VqEX1ierj56fP2KfI7revTjNvjRUI8HbqXrdv
xdvlv139mjVY7qcXSmjvnE4bo8XF2Po+56wzNhTXorNcILFSOrVFGe7A9LnF
NK3KmL3OuveqQXFodY9uQGIfkzocZ0Cv8/S0/XDHjzVuYJly3SeNUl+5pphZ
wnA2ydC5/Gms3vWbhUrjhH59OqOcMI3qtTTNBUi/7wWM2upzkzUk28nDkwib
peRNfVeuOYkcWVEWoyHtrJzdejkdFUJybDcy60sGdOZf9xzr7tVPLgZWA7un
pRuJQj8ELu92/SHFjDBxrTEZXWplj7tcjiRQ4D5UgmkAhMlaKocx7HLjJAQl
9VJOmYvI1pLi7gW+inX1OEsjy85pbl7+BXiFxSL5wj8LObqCTULGAjEO1rnn
wFVOKo0ViBEtRMFsS6GXmk+2c1ybjIVsz7WWXfhA8jt3VrhNhlQHFGQzHX4e
ZjUS/aSpW55k96xiSA/L0ABTG6msQIjyQvgR07amtR6O1VNaM4TSYvixPq0R
Q0zGHM3yu8WsA54kRg4as3LTaiSL7RbO1PULaxupwhzbYriRYgtjo35KhXsz
eTLrqYUs3Zv5Uj9uz7vJCkpxmU+FYDZbKIZUQN6Qx76gQSdpxs0I0VlJRj9O
7kq+ESja3fKmRM4l+FVE0ts+FR0WSvOdwJ05zt61BMqn8P6sb3KROvzDV/d3
P+ArI2aAo+Vl5PoF2pjz7GUZf3ZpixEAFndYSd5ZbHu3g7q4hXRf5cRrYeUM
qhAAgn8LRDbvzMHbmoHwGtULYwdAYuUWNffgiHnbCcCpfiRIgpvCkk0IC5MC
djESpKS45mPpSOM23fU0tA24Vcoq2cCj0ljOvraFsVoKBygJaezT7LbGZftN
dsqezHCWvfxRvjLwPQjcpNiJ0J7AyDk1jNJCzGVITzWSgMQPdw6GulgkQwyR
PLycbZGTzOSmaicBIevmmMO8w92FvlpzFWp5VIubWS9KCtSKB4IrI5L2fs9F
nXrrZyYwoTAR4MoD3iFQ9WE4BCJzWaQh6bqbNaqMer0l2WAGm8iV2QLVEU05
xLhPBy9yIFFLPZpF4JaOpSX5gfmRbh8xqzJnaCWBCZV/8zFKB73YMCswBIgc
y5lb8Y+xGtzVUlzH7eZBm7JT2tQxeQBjWa2HdbwR7iqwwRi5Ax/oGWNGK+qe
4ChoR2neDKzG5YI/lfWf5Sq+eofFAEN11Bs1ukG6OOPRrM5B5RbgASIjWTpk
OS4/7cPyJPyeRG7xxA0MrlJmznPtjQFsZfrT4csNvEYSgjFwXVYXSjA+yNio
PXHFudRaXBQjl5IZYI2qRqLAHq7YrYLgc3cIm5QmkKx0hUJUfavDYmQVP9zm
JnFBSPcKas+sFIaCFuIkGFkcdqvkk5HNKz9p3jdTj3B6k468jPV4gAOoLQR6
Znj9dooOfjjiNIqBP/bFpQav+Pm+93/z1f32A+gH4Ukq1JOgssPStw3Jwfyn
whyQiGpvyfDNS6Ch2WTRLdsKR4+3mp04YMjSSbs4Ka8hCaw4g4Z8CJHEihCJ
Qt1INC0iFkMfTMhRY/MuJnzJbjyHl3Bi8XoX1gP6jZrwECpaqwrtKA1WhUEb
vL+mJAjyaTsqdiC1oqgFLO+oPZUQtE3ZiZt46xqinw2tJt6VVRKFNIROU7G2
8cD+uLoo2YFCGIb4AfP6nO1Ax8BvTJXc6wYHpKbvblGt7ZA6tcB4pKuQGMze
3DWMV52icGOw7aiwmrLukCtzCh9JP8ogGQxb6pOFYPm9naWRAVeSXqf0K8U3
iCsY6nKfVW/KAhNgp4IRtc7LgA/xKtQF9YegPNVSrHyu8SKpXtwDcEgEyqIe
9uNXBIJW1b9kgs9IZ2iHeW3kQkbropKAJ+IY4KZMAiC0CBdsM1rjSowX7fnU
BzIuAohIyQbYIQ1hi0l2AyJA4eKGAAGhYLnCEaQ4FEJBb4vNIWgYRPKKu8om
wWngQLKnFA6ITpUjdsXB6Yqtqb0pcRML3M8FVwuQBrIIgASuO/V19R+RQoyg
0akfOB+/la7ZZml5F682FBXw5jsy10Hz2QgSq9tJbCKU14K20MOpUR2dSuk7
XH1EQ5/Q/RVmiwFQ28dmb5J+YNlAId7Hrghw6NI/lkZ6/DtfixlubSy3rQAE
udThFyrPp3Q8UoSlHcd4A3oe1YyER6rHhQIuZGEn6nBDUQZy45VGdSREAR6J
BapWqnTiWU7D45jaIEgVrdtl+CdU2ADjeUVeyw4fWDs+n1SSO6jHLc24Qfk6
FqxNjlNVLXnk32DJK1oYyQuKAHukDjA8MAPoGeCXOidbNwRJmkGfUAicRf3o
dnJESUKZ+k8d82Faki0rSGitzzVwC/sywE61wVitOxZ4oyqhn0SUIAwQDnc0
QAHAjgxgTRa5jtZjhan0+qXUScl+SRR0xOGaLgEhr6GAEQifCt8jI0P0flJk
ngQQHWWxJFtH6zLe4tX3qipkxL8oxkFSTAqWQ9kcALxJBMaSVfckL1kzfTGP
ifK3UPbob0IC65JJwCjv405ze8cIPD4EYAC9kK8suFJW/pRy0GXhfOCIT7CC
Yy6KuU4KH7GLx9hG9clqOIwliQmeLtQw+W31bhCJoXX4dEaWmTVgqEVYB/YA
Z6AnSh0J6GMhqTBUq1IiCMBja9cDTUEHU7MghUBUqTmsgkHYT1QDi4hHJAGQ
vTEkvuYkj5V2yehsNAkLFAwEmRNjsQX4oSL3A54OjbcQa7gh3tQRAbFQ3qTG
9lsgenApESnmgB+jGKAkcAbtjZ6BLzHCAN6BmpBCcwSiTQIrTZFOqaNWD+gH
DuaKo+x2p7N7UVpeFKGhBRyTbkj+XgkzxsK/GDp/GCJmA1RA5EdWTi2wSg4R
NKY27t4SaKgqUtTjkRYpl0UAOxEk4Phc3M5ZCV1MwTI1ZMNDNDIuiJTAsoCI
IGNmarfyXvlRrB0431hcFPcqCETCeNOtuGUuBm2thX5BmB0YGECmGOSy/85+
v68Lw4p5Yf2O76iggwZOMD1qRTl1JbDD83WIURg6S5PB1QaMI94lfMBYCX44
2cslSY61K/6naDCuBY6TkDywKdIAJKZo0eFEGQ6R7BURjryANggvspKA9UEy
IyhYXMQ1ohBEgRzJu1wzMgq9TzGSkMOEQWTERMPAsbAQlA7q9+UX6IFF24ls
BluJt+QVLoscQKHhQQnG1IQdeOszYoOy2RDpwNvqDhQWVjo3y0gguMEQToho
ZJtxV+JUKOw4kCDUKF44uowWRMDkhiGW9qDExF19nxmBm2tCIPVgUBcCt8uS
zLlQWih3ro3iAHgzVhQM52OsCT/Ez6IN+WHHQCw0PDWIcztNmrPydkqJIhJ7
YgrxMxdyRwaPUzHHeeM8wIvbgqwimabmNZ4b6s7PsJJD8ckXiEshRXQPVp2A
dRYiV3WXnDy/YTNPqjgASLmAs9gx8jExJEAUEGhwA4DP2mK8WN9B3cIyov/G
RRaGyQW0RCXeaPCLiwloClz+JSlQORQvNQqg14TyQFpPBA0IBuGRKig0hY2c
mym7NVJsSKfI20gBTNWD4y9oHZVgQEa4INaBYbTMbTqItzCcBulQJLiNlNwH
fEFJ7Gc4H6kUYUIYAlEzkFn5brIfTbdAIuXRAIqPyK2Qm9hww8dRIgnp2ja4
UyWu0IHrUDuIFwgLJ4Ptq6fLE+A9D9mHlInPZmCU0KRSLI14uziWBdAQn0PS
5IjlQUMhVHfWssaGbS/6GzLinixuxloP6PYCc4/Gr3yQw7zjGLH2IBGrsaXK
KOYOJEGRh0msAS+q0plegcRZNwQNkSBdq4WI2kNmOO02NRINR0tCJzCIZV9k
PwUInB2P7CUCFKotNQeh4N0lTTe1g7a+CRoAtR3FRI01WIc0Gr2jeFkhxBWu
EQoCwLpnkkudJNQ6OI7p4q8h9Sr7nkhlVsNRkGgttKIZ3MuNMGUJ6WuMOIA9
3bxQOG4AFoAC+NXOeZ5g7CfOUPOM1pHxH/3V/w4m40SAqB1rPe8plGBuaAem
i+CeRNTIK0cJTYUlHwQhSQ50Y/AoRji5W2bs0MVFOIBGhHKA+SsI7QZVFlHD
i3RqsTksFmOlPvAdkXStYcJ82BByMQYSrNaGYasIGQo43ZZVyVXMBWMEQKKX
68sh/AE1UlId8ELfDK1FDCPrFpkJH5sUASwEBsBTSPuQZeD2JrS2YahANTFV
11dQq1rtWFhWbYUnUkORrggIYnQoVplspLCxL/29CFKkco8ujBrAXxyHNAas
mIZym8TPZig66mdGqQA0a2pVPr0QZ8gy+MDMcH0kKAqg4DqYUVtgdvKoctBT
zVNwgJzSTJFt2Fo8LbxV1RGs6k8EFU6mHGHfirzLwBI4hKpy6jUuxhGylGC9
KH302FNwWtygpUC78FG01lI3ed7LMnbKcUrhCR+gBzfxH5qSqbHNZxF6XVm2
qGx1eOS7jFXrSZtF8v94P0TTaZTQZVA9YGMlIvAp8J7QSXR4tdU7q2oSJAOX
h5jSh8kyMqJUgfRIpC2xEGojxyEN5IubFZ84iXeEp9XO1FrbyqqrCDyk68FX
YEwdAZAtlWcRDnx8yGN0cJKV9w7MuaoyqRRxlzQPQILqgehKUNMG9G5kE5AP
SVR5YGMF8VsgyJYPiLfgRRAH2I09qV34HSETRaymlkhDYvFFu5hhJUA5xtrk
1DtUAHKR1vV5TbV9UOVzHaCWyr3Q7dj26YUaVNn/fcPlfnohyLfhFagX5Bwq
69ELyR4gl9s2KvBOuSVMh3wCmv+1JvZMz/dDBd4aa/xAnSJE4oC461G3evlj
1jjJf6z6IH+xikLGim9eQ9uEbZhrYBgCg7RJmHojSXANmK0Ku3p7TgJjLd6H
1Ej4HUuPBAxUJR0hogL7UmYsNl4ablQXrcqO1NI2iYeO56LIeaRUVa8nT5BB
9hFpjNEbZCQKSY3xJlvsbIbYnjNCi6NDQFJCPZVNGWinvJN6CKR9R0/h1kS0
Er8YaDW2N8KQFPausAo4yIDNmCQ3ghZUIK9kvckR9D2wF1Di0COvRxRxU2NQ
zc+k3l4lwcq6rsULUWGWo5SfkR/oMNxAr0n7PkQnq1OKwmVlgW+GAhYgpyBu
xMDBc0nBZMclcBlUGWasCH1UJ0gSbp7UlED8seLYCcww9R+Upw+PYBKApG2U
YvLpOioc2JLBWTcAH1tdcQQ/YWuRIp0kNuDdwUG5r7f5xDxx6gk9S1HUFRrY
6IKOUeCUcScJfoMpKFuo72ovK4YQqUSkCQlPfjGbpL2HQaYhliCMpZ2GQ5Y6
lhjYR6p5eAiUQnyrpQDqkFP3IFNRM/ACYY/DTGZmdDzF7p4yQlCpFQ4jY2pw
ayjb+LZSKytzyAybS1s4B505IcY91KuBEwFIct7uoZBQN4CTIaMPueuGZ/mo
5whtUNdloSNImaBtUAwLfN1RXyhkBDWwzFi7NBtRB5kRW9pNBRDMaRPvU+65
pf5P2it/LfbVULWvCYrI1/bDSqQ92CajeVrVvugFGZFHmbXqFQ5Gj7PMRBaQ
RmcsVD946d3OR0UMQrxtR5wbpAS0gqirk7QocPDtykVi4utOkCE2Mowzj0dx
TmQBybS40BWBQfpgJ1pD+yiwONhHul3BpxQWV8JaET/lpNcqErTI2jV5/w4Q
uartko6/yIFvhDmUSlj19WJR0WrIs9Rkt1o0VLB62JAg2B8W2hOdbDBMcHVB
MoxUO942t4eb4OKpVl2QImC2FZZWYyyomcEPXjc7elQhxgeZEMHE7ZL21du1
myVqsHOYFxg0IoQQP9R4er0W8iOJ0OJuW0PC9sWtPlqhNFnW46gjZrcZT8eo
Qj1F2nDlcnBh2jBgGIFJYg+RX1fdeXmdzkxmNJjEUOZlNtcRktSwr9ryPt2Q
EqDIwKYgw+L0alDBT0kVTWaC+7vfpcxGiwUyb6nHv7bLGw+HMtM2b/u0WFGj
QAFy+YBfSELlBqZ9HFOLjvIoSwiGTzyIi6RdsX2dUBobL8k3UQ6oNSCLqio7
yVdgqNDUiMaKlg/YaOC3GrBP0EdCg1UqDlaCjpp6HIhwFE/QnimevXtJPRAc
FYdnI/B4CGzb8VQ9ohGoqjDSYiqVG2hbfrhYtTnpXzhNHrYQUpQiA99cs8L7
UTsGUoJTWyjaxIckVsBP5nfYqWMx8P1UCDAGtKyFoJi1AkMF5whVJg3F1OzH
+XkIlNWO+Af4lAVFpvQ7lyQYes/BweCcNijuXmDn7b5AIMSHrK3AQcfzR6/0
yyzr1g5qRGTierT3BU5CX0Cdo+jxORtSUwMfQgNjKobiG1uq/x93VX98df7f
fOP/z4XQrKyQQe24MASGuL9bQst6ZDlvWoAz5SIRTf2zMAAzYFIR92qkqpWF
VcLeC6BY66kyjHh93532mfldIDxpvxi4FgrAi/77EwLqgQF0acSOBLAV8a6F
N5BSaD+kYdJxBKkRtPqtHbjHaSbuRjUBABkfGwgtMgLO9/XsMUgo8VLxfQ2x
LsiXIl4M7+PUw4xxC6j35rMYn/vzvXQraoK5XB2JIR1JUvRSBdxwtQlzTKI6
rx2XEnFDCCYk1YaE0WPYT4EkN3y5LF4Hc3NX7xHEu1jv65EuU3vTOsvjSn0H
TeTqAfqo4zddR4d8ax4PAUYh7aDfO+4AsaI2DMoEC2vdhnAh4wZwW1xSK5DR
MYpf1lAnaj4z67+PmjBCL0YxHCijtusiwhmKxxvKgejzBHVzOXwnqgFwWSh7
BgXnqJrRWVvdfaH2jbkkUMUvHKRwSy6SKUXs5lIcYGSS5vdJ/Wm0o32G5ub3
2H4fmv91cJtcAuFFnB7c53MFAQ1krG5O27m1fgXi9AKxkYdSZ9BqeTs12LjX
isZNI68Qs0AIvJyLyoSgwm9tYI7JhC3KEhgHtbPByXwYDByIsJfbswVc6+wW
CYOivdQS9ApjlSu1GFbxUv4IuJs17iniVpS4vQ2QT4QGCU6ENfxsgDkMTrlU
MQb0aSwdGaNWA1YUAvubvVxkHJUGqOOAQt7kDk5c7RJAq01UA7qfq09yMLhG
NDN1NZP29PuldqeteWPVdjJWMlydNJQ0FpVh/UhezJjISBvjOjekNj/h10kP
yWOsH6uHGMaisgQNAeELYQ77Y3XebjIAoqNA2BsEEIFicXXcB99vmOVV1TNI
F3ZBUuaKsjlSAVtNY+0s4pyRgQSyjXEE32iaDglFirYbFHbx/RdLAkuetpg0
fiYGdCRrq+0rhdNQce0oXnBwgG5ginN5h5zmJhIduV+TEyZqI6ohEQ5Wh2Ed
dcQKLk0t3ZKQ3QDOEjX1Vv3FgUBZpjNRI1MJB60dUP6wok6ZHJgT+Yvqw4lR
+ls722h9fF7QDmel0iNqg4zUDFjsxji6OggHl41fUwdVR0ZC6aQGJIp+EiID
c0ZVNrVEESpk/2Itr3aRieVQMxoTUkSXMm/uuY/8zAlFofPhgixEltqB1xBS
hJJ6azqigp5JF62PHmf28qP5deR4xYHyx9SOydJsQy2UygLwxhGokbMl83LD
6peFYfSGBYBRMKM2Vq7aeqEcC4Ids3TV6H6ZTuBwFPgJmJlvQHxisuCC8bbb
9/DaVB0Zrtbukc5ewQJqjjowt7HWE2hEENi9KKqqTRrZ0hVxZUJF7Pc6W0Lr
6Him2nZZh1/iOwGjVXSBkWBGn6QkSwGZpO4/yhY00XYNCffGCiSkDMChgs8A
+yqGHRxSg9/OTk7aBi80BIdGXiL+qHDmiuNbG76ksMhOLR+ufhMaGVQsKsoO
uESzsZpm4+33+23etBPGL92UpcDCBWU3mNzVtUcbbb1AWeaedbwGB77RqEO9
bjjYRaEXF21SVQxmzBKoc9uwDWt4DiIO2QCJgAng/y6gLZndN+UYcBJN5zDI
I+BK4hL3bzgOcsKrWYnuy20NbCXYRrCKtoPgLTweinn7VXVDzBO5qfM8YzgS
GsOoYyZFB6LgBKCIdDdDbWBzQPLwPDf8XNQZTSA3L/SJzZj8UA3esZf7CLOD
bdPB3D8roqr9Udm3pZ0M+MNQj8MbzN4wFxcnvJyaq0wy6+Rjxv9g8KunsifW
FA/BmIz4Q4TzpIOgzV1nNxEtpWG3prQzAyzDeeqEPMLzok1b40YHiY+kx6NX
Qsi15Wcg6aWhg5yI4FGOfCx1wlC1SiM64lyLjpBpgzm8bT7tg8TedCIRmFrv
VCDABIri+JZ6+OqdtBhuQrlrR+dYd4h7yLcEHSTd6GhVPUU6dIIdc32W6JB5
KhBQChiVcNkrUXTW0ntoIBD46+5YF/jBqlPOSAbgAT4qmExybiIQKSivwwUZ
/wSzUCtXA4euhU4VUCaWKTjA4mR1sK8xsL2eqhusynk9owPwogPTQWZ1vGPQ
CcDdIU7eFhg6NYOmKur5o7goq463YDhXx1gM/MIaa8fXIxp0/C9REs9HRX6r
NwThJWEAljiJ7xw0Cp00xG1TPwfFAHLpKQl/dI6YcL8tacPiwHEnJ4zPq8/4
OrxendSGhXHEEMEAmHudF8bQaopKMfgPfTl0Bkgf2TqdnpG+Jplzs863JTFj
WAcI6w6ppJ0SxHyGjHVqGL4qwiF4DZgD2YAGzF0lsOgwon/1oAjIfjC2nRxX
Uzg40jKMoX8sIicHpP5Xwt+9k3VeUT1oAcHgVoePMRSNFGZ6W1GA3/S47L11
GnRfaYqExmG5UtKR8gdlVGsj/4GloazLDAj6YbaxemTdODqkuxMG0M0MFqu2
SIwTtWfqBRAJrwUyzopVrl6HjRpRIEKv8wE2wKWrHgTJAPsEtfNo0/hFAC3A
Dd6esVEb2lssgzlSYHCgR4Uj+6oIXk6vMo5oBiji8XGQxLWqr6oqyaYjZxVR
ON5OiLW+0HpDMafgxI2FSIOSeppGbSkdgQw6NlGhbAxreMeaO9WMpNGZ0QAJ
AcctHnUVECpqEIfLaMT8XQeug69wUQvomoa9cGkfpRy0HgSo2gdeRY3apOkO
omIKNkoI4Djqj4mLQH6IMenmOg+FRHRfm1YXkiTN/nZHC1WDBtisLtLLr0Ta
a/9rCWYBA234LrUukVZd54x76L7qyaG+Gf+R1D0oCqAJB6LKRyVoPxysQanO
gXyJ0seGzZIgSO9MDzGjng0loxNuL46eGh1oOu1yIowBpV58IwA2H4ztuhje
ojhcifs2ryOIhqeaLOEcOquBqx3ECqbhR+BMzWhHKf6zVmaE2rHWUUuSCWDG
HWXtCZMDSU0BHX+N8EBWGwpNzdB6DFldWk2qFykdMgs80UEFPV4RElS6VnAL
o1d03EQa0MAc9YmpRcJraHxyBeGIEGZygQVbr5BAjl+XwWkd3mkcTd7rMFrL
VZ6yaN80KuSAdWuJggb+NCOdVLMpYmJASKikkqZEdDbD5DtAiKhUnV+7EcA1
LItsaBfd7N/h9AZxdHinvTsl9RPPtNvMReU+agY/jhQbRB8h7SW1PseQgYC/
QcYI4arJJ6+UcZADR5CRdlHaDv9AxWR1RcVi0XMPUl590KTm45MAY/WlE8Y1
Te0Jo5W0CbVsoF7xjy0Z1oWrl/IFaTDeB9ISiPRGQ3VM1vo+VMQ6Bgz3BelR
cU5OJQ17khIVgoZBXQ1j/vgp4jJMx60PAg0FopFXHSSHvX/BUfcTkJazovrr
ADeVeXwt1BdXguOTpChFKoG+u55+MnRgkmMrrIK5ObAAynVZaBKRUbfzJrKO
L0qRv8znzWYPqQ+qAk5d2u7FVq2rJ1h0ejXorNzU0SOdxUchfNr2k4T34zW3
oZyQ/3U379/9dDdEiNSIHnlBA189VVR1RgM8itPrgRLteQ30DTaEbNE5Edwe
0TAdTAe+HrqC76yfd6QsBMfoyHc+CBSqs7LUISAD9pT3bu1PuLAAhKLTVwlU
Oq69XUDyyriYWlIr6qDYVOcB8CezqqaFatDO7tQzEg2hijCLIyxLrFXW6VY1
NKtcjI7HnWY68IPa1uPDUYVXtUcjh4cy0qnTI+Ir/etRC1Dp+0Cn037hMZ3H
BWh6fudXoQ2DjZAgEABGtqFetSGQZPt1bkb9IeEaK7tX0IFFlL8ekEG/qpmv
apOOkAJfcELSqalS9QSOdm6pTuqaCUfspajcK+6EHVGfdR7yneE22SB8xL8y
qGJeH5PgpNsnhYoO0vDm9jmAMtunb4Oiso8XyThe7S/r5HlSH2ZVrPJRSwQx
KfV+f7qX7pTePljXoYwE1zqv1rYe22lBp+fOmDGKei7CVU/qaIOx+dfVwG1o
r1znqV+3cSMATMdaqEamtq72unb13evgWJL1U/97+Pf4VxVibz0uhmYkJUER
zAq6O8hg6/kHaGLrFKueWwHM/e46fagng8DrY6anGfaV4FDL8zA+dC6qwN+q
xpT8MchedXwKh39c0JNoF87ziMrxtcJ/WV/yoSFu4LQGsthmHjAy6by1PYfW
06FrH7MjrlsgtbxBuLpQ1YXa94Xi8xAe5sWLBsKuh7tC8Tr7dpCNkJ2O/Ban
58Z+D3R+GdF+itJVH4zqgEYoJ27WdTRCJ4sA5ekgXC9/iO3QU9wqzS6JjKFH
FCDRCxoFhAgvcXw0dZd0EpbYlxqwhjrjMrHrkyqbpdg7mzY1h+/xa1PqGNZF
zxOyKKbVxfLrUbKLdiHZHy7BVEkPntSHuwnB8g0QQ8ckGqrkarfyqeyLtAJN
sMNaXD2F0CAK7VagxKEj70LQI5RepwcwzGLtGrInq/bRc80jk/aoBPQs5I7O
CP6CmTfFrtPwwDmSTeN0fx7oH8fZPuP8HA75daSSfnok1mIEzScJl7yIcckV
Yt/6x6v9SIsf+RXV+s/Wi/inJu+yTvvoZKwOMGRI8Wh3HJcHStX/cYFr1Olt
nVsPlLjTg+AYvPQNEXt9rfBn1GGzolx+NsGDrqPNdj1yMdfrISRIXgF3wi0d
dQnv2EGbOYK0oANiE7/3+R8ElKwjOkYt6fzJ1rFFCAiunF0n8UH105x6u/2d
s6CueC8aZWLowSdqyy/R6aDGk/oeOvgdYNzp/5L48QOFTl2ydzud290hYIn1
UDbqdH5qoiblpU72j6ND5qHgS1Fs1D1LGEkhYgOLpLXD3GCQThoWSBHmRymq
laltPcjToi549PRbVAcpyhz0jiGfgUigglie5CKUixIbb1cQw6fI7qXnPYcU
NCUStU/lwxZSEr4aV44WMWnLrg5FA8iIdxfWMp20g5HnV3+PNfru7wVpGSbX
1HUrUpZVR9JT1qF9eHRR2k197eFsjIYi9NrllvhHNlxtwUG5V8dZcfWsfHzN
voSEfE8x1iZnhvOyZ9DWTlf7/QxnUjMIh4iIZL5JZ1dJEGgCOga3buO1Tm1V
PYnbSSevTTu15hIXJufV0QLS9ThxgVWv/tcEEF97nRLtRkxZS/8auuTMfhpC
F23Ub1ZTOWtnlDjqqOd7qIvKQ4aOT6niuD+F8Kb5Cpzw4z4/Wxlo3vg6pNpy
YbV0cMnFsHgbUqYundrX8TcdhD9BnZC3Al/X/1z9c23/dfWmq+M8qCLtZcNw
aBltgOgJwaRBH1YTL+vzeyQiqxdWt9ScpZOzMr8h8VLX/75BveU+HHX1lqEh
CFG4lpCG2p0ZMLE0vp7mJXVhx04IR2N9vY6XHD07YnpuRKSxigNXq8zX2xH+
vmrQFnkXk34vw4hSNDuCpkl2IOg5Gj1lgfE8A3PiekNB6Fk+VgJHTnVsMbSa
Fd+XlXq1PpYdibF1SalsH/qa5VOy+SLYS9HxFfWlNtUBs+p8BUyCDvRBZk9t
MSipvP8XRg7azQhJj1kyzLNg213PdTCeTlJTE72mlMZ77GzrkRXBjXb71ipd
55a2Glx6diuj9H1epWHCxJuqvUr4jzr1yKKES1xYftMeI4HzehSydmEette/
p41SVtWwGClRy9pe1lnzBMAyIrTJ0mGLIypX6Lok8ce4EDxdtr3LAgXaTBp6
4Kd1oq4d/2PKkFrRR11PAp7wykec4aGTqFVO611svYfQ9NTppzxIO6FMHDJk
/bwD8Se497gOfF3L0YYBWBBkipUwOuZetBuvDa5P1akzrII4uF21OLWptgZO
6TidysQmyAlcM+0X6lQQmhEIkGBtepZ963jC1tEZkinO9lkJPTvyulkarvtY
AkYshwUpH4nHV0B6qF3PFyQ9w9yE0jonpHOJeuzWH6G8nod4hd0cNbY//SPU
ivS52PKsqh/DhTZQhbdKLSMr9RzK0D4j2ZIMnNl6eNSTqdXpiT+CgEfpLHuT
avpEuuAFlKY6Y+kTSLBAfjSf9uY/R7DexlQNldie5ChkcdeM7+i72nY23H8D
uWZ05wi91FUAAAGEaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBzFX1O1IhUH
C4o4ZKhOFqSKOGoVilAh1AqtOphc+iE0aUhSXBwF14KDH4tVBxdnXR1cBUHw
A8TRyUnRRUr8X1JoEePBcT/e3XvcvQOEeplpVsc4oOm2mU4mxGxuRQy9ogsD
iCCEuMwsY1aSUvAdX/cI8PUuxrP8z/05etW8xYCASDzDDNMmXiee2rQNzvvE
EVaSVeJz4jGTLkj8yHXF4zfORZcFnhkxM+k54gixWGxjpY1ZydSIJ4mjqqZT
vpD1WOW8xVkrV1nznvyF4by+vMR1msNIYgGLkCBCQRUbKMNGjFadFAtp2k/4
+Idcv0QuhVwbYOSYRwUaZNcP/ge/u7UKE3EvKZwAOl8c52MECO0CjZrjfB87
TuMECD4DV3rLX6kD05+k11pa9Ajo2wYurluasgdc7gCDT4Zsyq4UpCkUCsD7
GX1TDui/BXpWvd6a+zh9ADLUVeoGODgERouUvebz7u723v490+zvB3gHcqkl
oKXxAAAN/WlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJl
Z2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6
eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1Q
IENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8
cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09
Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpz
dEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291
cmNlRXZlbnQjIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9l
bGVtZW50cy8xLjEvIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1w
Lm9yZy94bXAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNv
bS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5j
b20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6
Z2ltcDo5NmE3ZjI0MS1lMjNjLTRiMWEtOTdjZS1kNmU2NjliOTk4ZTIiCiAg
IHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MGNlZmJjNjYtNjFiMy00ZDZk
LWExYzgtMTg5M2QwNWFjOTg5IgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50
SUQ9InhtcC5kaWQ6NDIyZDdlNTItOGE2Ny00NmExLWI5MjYtNTJiOGEzMGIx
OGIwIgogICBkYzpGb3JtYXQ9ImltYWdlL3BuZyIKICAgR0lNUDpBUEk9IjIu
MCIKICAgR0lNUDpQbGF0Zm9ybT0iTGludXgiCiAgIEdJTVA6VGltZVN0YW1w
PSIxNjU2MDE0ODk0NDU0Mjg5IgogICBHSU1QOlZlcnNpb249IjIuMTAuMzAi
CiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0i
R0lNUCAyLjEwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4K
ICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAg
IHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9Inht
cC5paWQ6YTY0MGI4MmMtMDg0My00MjYwLTk3NmMtYTg1ZjA3MDc5ZjcwIgog
ICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKExpbnV4KSIK
ICAgICAgc3RFdnQ6d2hlbj0iMjAyMi0wNC0yOVQxMzoyMzo1NCswMjowMCIv
PgogICAgIDxyZGY6bGkKICAgICAgc3RFdnQ6YWN0aW9uPSJzYXZlZCIKICAg
ICAgc3RFdnQ6Y2hhbmdlZD0iLyIKICAgICAgc3RFdnQ6aW5zdGFuY2VJRD0i
eG1wLmlpZDozYTUyMDNkNS04NGRiLTQzNDMtOWZhYy03NjFmZDZmZmFhYjgi
CiAgICAgIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkdpbXAgMi4xMCAoTGludXgp
IgogICAgICBzdEV2dDp3aGVuPSIyMDIyLTA2LTIzVDIyOjA4OjE0KzAyOjAw
Ii8+CiAgICA8L3JkZjpTZXE+CiAgIDwveG1wTU06SGlzdG9yeT4KICA8L3Jk
ZjpEZXNjcmlwdGlvbj4KIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/PlmiVpAAAAAG
YktHRADwAKIAftw2PhcAAAAJcEhZcwAALiMAAC4jAXilP3YAAAAHdElNRQfm
BhcUCA56CWQaAAAgAElEQVR42ux9Z5gkV3X2e+6tqk4Td3d2epN2tUlhJRSQ
QEKABpFE/ggm2SAMxmBbtjA2/uwPJ2wwGNs8BBuDbTAyOdnYGIEtECMhhISQ
YIXianOc2Z3diR2r7j3fj3sqdO/M7Ehik9TneXq3p7u6uvrWe8894T3nEjry
mOWnT79UFdaUledrUoFPBADWAgzYRoio3rTR2CQfuW/UPuPgdu6M2GMX6gzB
I5MvAuqiN7+8N9/f1Uta94C5xzbCZQCWE/MSUqoLzAFZVrAccWRqNoomOTIj
1vIBT6uDNjTTptqYmtkxOnHR5ntqnVHtAPe4yAcA9aprX3O231N6ktJ6E0Ab
CLyWmc8gYFApBTADlsHWAswgZsAwYC3YMmAsODKwYVSHtXs4srvYmK22GT1g
a817p3cdvOein9871hntDnAfs4x95DeWB+XBl0S18MW1feMbibEUhD4AgAXA
DGYGCVhhOXkNNn7YBMDuISCOH5FpIjKH2JgDpt78cWOy+vWoEd1y/o/ujDp3
oAPcBcn0z79O/uKlJZ6aXG12bX0bwuYvAeiv7DgYmJkagWXAmMEWABxQs6CN
wcqMFKjt/xsHYjY2AbH73xgY2zC18CFTb36Cm9G3olrz0Dk/vqvZuTsd4M4q
tT3f61G54tNA9FoeP/wqs3NLCcagfmgS9f3jIM4CFSBmB073T6phGQDbDHjb
tW1sPlhQon3NUSBGZGEb4RbbjK63jehbY7f85L7LEHa0cAe4Tr4P0OUjt7xA
5XK/CqWv4kp1UfTQPUCjhqjWRGXHKLhpkNW2DsDynMkBVQCdALXNdKDY/s2Y
DWwtyLADa6yBI3kexQA2sI3oAW5G/9mcqn7irLt+uqsD2ycwcOt7vqOY9BqV
L/wx+cGLoPQAIkPhQ/eCx8cAZtT2HUHzyLSAVAZMNC/Hmje2d5E1F6zYuQCx
PE+ctVbTIQYtotgeNmDDgDUpkCMLhKZpm9HOqFr/a2v4c9GRmfDcrQ89YUNr
+gkJ2t3f7qEg9xKVy3+afP/ZINUFIjIj+2EO7AGshak00Dg04bReLC3gjac9
y1NuUwecqoW246ntfOCMCiH3lI5WK5qIFmtPX03Aucr3HvytpUsP//3IKHeA
+0QA7Y5vbaRC/t0IgveS5y0FiKAItlJFtO0hoFEDW0ZjbApmun70CZgyiJsN
gTHwSMwKyiA9A0aOj6UW0B6FYzpqUfSUUptI0ZUKmH7TpHrgk80p0zEVHqdS
ve/LSnV1PY3y+Q/C858KpRVIAUoDDITbt8Ls3ApSCrYRorL9oFu6E13q7AVi
yuCWW7VwxmEjMR1iBy0xGVqiD3GEIXXYkHHYkvdixy1yNm9sPnAzGjfN8PP1
w5U/O3fLA0c6wD3JwibSbK0GW5+NLbCNjA2bDQ6bhqPQchRZNpEtrjlrQctk
9YEv+6pQeBHlCx8nzyuz0gTScMBVsJUaGrffArIWpBTqByfRHJvODBCJkkyX
f7KZEUwiDXL9MTiRcdjaw2aZBEUK3NjObQ2XJeCNDDhiUGQcsCMLNE1omtE3
o0b4e8pXu9bdcfcTwnTwTrULMmFjEVuzni0vh4lK1kTEJiKOIsCaBlszzdZM
sAkPTz949xSHYQXM1Z4nXTbrclm99/NFlcu9SeVzH4BW3dmVGaI8w507wI0m
oBWstQgnKslSziCQ876S5Z8TwLZaDUycrPMxnlODFanZEL+usrpDOa1MBCiV
2gwxyBWBtQLYgKHSL2b4CniF76mSZf59APd2NO4Jlqg6vQTAZTCmLwYsoojY
RMaayMJEPhujOQVzncNwkk1z3IbRITbRyOJnvHAyNQ8+X9CFwrWUy70bnt8L
JaYBacTPbb2J6i03A40aSGuYWhO1fUdafKv5BooZIMqALLZtmVvBl9W0nIn5
xq+bWTSvbYvtGuPeiyMNJmM6GAbl9O3N6fp163545487wD1B0jh4gMjXl7C1
Z7GJFKLIMts9BGxja2esiRgmUjYMCxw2+zkKl9owLLOJijARWRMZNlEdUTRm
w+jhXF80mh/w30aF4l+S9rqgtQNt/CD3f3PvftTvuhPEBqQ1wqkqmmMzqe16
1GAd7Zy1BA1sm/0bZ9CQPncWRzZpkUkNcxa8DDbGxXqtgDR+L5S/TQpgHXgM
ojubk9W3nXnrnT/rmAonxK5tehzaIluj2Rpma7eTUncWVp8Vth06PrX5tgNs
7QMwkeJmY4BNuMZG0UpEUcma6EzYaD1pfR4F/luIkBPPqQ1qTqWaI0fAjRBQ
nNqnQkkEEZjIEWbiMxBnIJzGcuNvOEr7QlQy24y1EM+KTMRBUaqBKY6JMUgp
MDsnEZ4CIoBgwR5l7Q2AGTay5HcFTwl68h/ceeVT3r7m5h9v7wD3OItt1tlG
IWCMYhM12PK+nk2XhLMd23PB0xJdBuAAgAOj//VZn61ZbqNwdXFQvTS3uPBG
Isq1hKJa9KN7bmZmwGEIaAcAHXiIFDkPPrED2j5Oqf3bEpeNTYckOpaJAVNG
UyukSQvKfI2iVr3ODsCkyH0LE6Al2MYK7AGAkRMy2DAsA7rgP5eZ37v1souu
XX/7T490gHscpbj6rGjq53dU2BogipS19hF5x4MvfUMIYFf17n9eqoq5FytP
dR29zvNRhhKDYKMISkLa5Cn4/UUXVbAupcs0Wyx3lvPNYnsxZ4E9WzzXARNW
JgQh0bgOsCxuoYA30bAWBAX24vnrZoM1FirnQxf81+RQOnQj8M7nOnQ/rkSd
UhGFWvWgqVUiU6/6tl7pfcSx2js/PkC++jPy6KzUPIhVIKcevizDYED39jiz
MjJgE4EjA5UPECzpBnn66Ngrs3ATRCPDgpH+zVnGWBwBludHWcYUTx52c4FE
9SqAldPApMhpYqXccy1/a3ccKeVWC3m4cxEo5yld8N941vOe9pbHo8Y9pYDL
YWO/rVWnTK0amGqlPPrNzwcL/ez4v/+5B/BvkadelLC42jJaRyk+ZgTLlwF+
DhxGCXhhDXQxQH55H4LFJaiCB/KUA1qW6WWt8HIFfAkrjJNH1gim9vgZ0tBZ
elnueCKn6V14jEQLKwE2pWBVAGnKAFdWCN+DCrw+rxhct+s5l118/8aN1AHu
cZJFV1wd2Ub9XlurwNSqK2zYGFjoZ/0l3c9Xvn6HI7s4NDHzLIt5JjEAhtff
i/yTNsGGkQNvaMCRAUcRQIygv4TCikXIr+hHfkU/gmX9CAZ64C8qwesrQHcF
8IoBdM6HCjyQryWRHpNonOfPcTQgq30zThqJicCKkjgxqRSryGpgUqlJodwB
DrwO1GzZTTRfQ+W8c3Uh+N2uM5eUOjbu8XTSarVdNmruYWPWsok27f3sRw6u
fMN14Xyfmfzvv1iuct4fgdADy26pzWhVZLQftdu7xCiesxGILGp33gmERixG
9zkLgDwNnfOAonJLM1HCMcjGGBJeQRLGlZBW5GxPjgw4NOBGCNuMYKoNl/iw
6bUloeBsAE4ULospQYpdEoKNHJwlO5D7Lq3Er2RoBK82kfnOtisv+cK6m3/C
HeAeBym//E3R3s999CdsomUcmY0cRTsBbJnr+MOffZf2unJvIOJLnBtunbPC
FiS2KLNuATC1k2ICH8WLNsFbsgi1n26GnZ4Em2YmicCwrKEYYM/ZlaQAaOXA
SgJaUuJXCdJiGyFW8vH5LCdEdI4MTK0JU2nAzFQRzdQltSuJB2KXvYudNY41
NLtMGqwYxNYBWJGjRSoCPC+2PAK/K/eeqBF+F8BoB7jHS+vWa4c5MvewNU+x
xlyx7UPvPrLune+btZDQX1TaCMIbAeQSMncc0FcshYtWNJQAxrLEbV1CF2CQ
VsiduQrByuUIRw8hGhmFnZ4G12tAWAfCJtiGQDNyqWGtQUwg0oCWeC9ZsCzj
1OIJphExzsRsiQHyPZCn4ZXywJIesImBXIep1GBrTZhq08WaORMyY7lyFcfW
4siDcpPVMpSvwYEnsQhenesr/h6AP3g8APeUNdh3fPQ9RRs1n8/GnAFjdrAx
393w7g9VW0yEb/yxTznv3bpU+DOVCwDfB3nuAc8HPA+kPEDLQ2lAe+CWtK9y
z4lApNyQKPc/hyG4EYKbTQhXQlKwkctagUHW2cQEYX+5WDQoioCoCYQNcLPu
PgvKmDApo6w98ZFlidlmCFMPHZCnazCTVXBkMsWYklXLknUiC10K4PcUHYss
ioBmBNsItzanar+0+pu3/qwD3OMoD3/gXQNszP+BMUU25ic2Mnec875/TOqu
xr/yByu9ntLdqpgfoMAD+YGA1nP/ax+kNaB9uJSvgFd5gFIOwEqlXpBSmWVe
ZZIPqjUR0ZIZQyvN0XJS/ZDSFg240QDqVXB1GlyZBlcmgXpVQmwSTrOcOHDc
UuLj+Ak2isDNCNFkBeGRGdh6U0p9suAFYCzIU8gN9gChTZxNbhhj6s0PTNy7
/z2bfn5/2AHucZSH/vTajWzM89gazZG5ka19YNPf/SsDwOTX//B9urv4R5Tz
iQK/ReOS5wlgZ9G6ygMrBVKO2ug0MBBTHSlejikT8CeAWbUl0lqdojTjlbFr
M5oxKWM3wjlo1MEzU+DpCfDMBNCog8M6OGwCRiaAkfhwzMmNARoahNM1B+Bq
A7YRyXnTmrf8qkXuPKERu9nA1sKfR9Xmq1Z99aYtHRv3eCYlKpWtUKqPjbkC
xj7LGtMEsPXwP//mMqXptWBLR3NdnZYisgBZMImjJsTw2CYErLMZrQWRcl67
smCbAShJViqpfKC20FqWdBOHstLXKE4oAGAoB17tJgrl84CfA/UtdsCqVYDq
DOzMJLgyBcxMgK2rTI/TvkkGzdPwe4vwSjmYSgPRVBXRZBW21kiiDCyZwGxZ
kcrx+RSZK3a87BnbzvzPH5y2GbVTvnTnH370M/7NS590iKOwyCZayZFZ/mtn
rR9dvGnJy1TOfwV52leeLPOkkqWf4r/lQXFgNKMhCRLgByVJqzRcRq00B8qE
uxJiubx+lPZFi2kRg7m9Lo3bExGeD8oXobp6QaV+UM8iUL4AGGcvE7ddV3zN
noZXyMEr5qACDxxGYGuhSzmoQCe8oCTRYblP+frLH7pnW9gB7nGUj9+x2fzG
xecesM1oKYxZpjXO6FrV/Xqd99c7G1biq0olYak4ch+HqwAl2ah2AGa8/hha
TKm2nM26mqWSkaid7hh/dyuYqf08NJsmJ5DWYD8AFbug+5aAuvqE+hhJ6CtT
jZEkLBR0zoPXlQdpBXgaKtCZ0qPkWlc2p6r/+eH7dx7oAPc4yz/+5L7oN87f
uIejqKzz6ik67w353UFR5XxQFrixxo0B2wJeJGGjJKqfZNFUGxYpA+A58EuU
wSQfrXUFnDQLIz3W+URHfwFTWyElKVCQg+pdBOruA5QHshZswgT0JMmU2KzQ
+QC6qwjl+RLL5qzWJQDVD/1s6/90gHsC5BObH2q+/bz1I7m+4GkEfpYJDfnd
OajAl4ySSp0rSvP7FCcDkvwpzfL/LG5rsiRTK7E8k5WjozTzLDbwUeDN2MDy
eUosZEoATekMSTW254FK3VClXqhc0dn1Yf1oCgQBKshBFQsg7WK5HEWp4if0
vW5L/dP/1JiMOsA9AfIXb7lC5RcVXmItPzmsNhHVQ/jdeSjfazUXlErDWImN
mzUP6JEHVtiRZx3uCG053xatfrSKbbOFidqOEB1MbYVqbXZ3ch6tnT1c6gEK
3UDYAKIo07OBQYEPFQRuRfI8kOc57oS1IEU6WNXzgw/fs/207IzjnXYXnNNd
5HuXeqUcZkam0RyvYGr7QfSsL8Pv1s4OJAkjkcRBYR14LYNhj4Zqu8mb7dih
tDtPrAI5Trva1AyJqxYSnZkloGcKexTJNcQvKYl6xH4jAVaBlAWzAhQjtYA5
5T+wc7gckTwPpT1QsRt2/BB4bASoVR2NR2vAc+X35DOU2M5mega2Wiv6/T1P
N8w/auzewsrzTX7FWu4A9zgJG7uYPD7Xy2t0repFZf8UGocmMcWM7vXL4fd7
SdM5F+aKg/tGaCyUhMISZRnnYpXYiUoSCETp/6QkR6tS+1ecvZTdZVu1aYsT
lzEbIARxJba1UCIpS9Zjm8SQKWPJZvluBBbwimmwuAyUemCOHALGD4GUA2pM
u4yvxOvuhvG8HFTXUOWhzbfrXK5mrZ2sHdg1rTx/mrQ3HSxaajrA/QXJyJ++
kmy1cb7KeQEsw8/76DqjHzN7J9A4NAUbWXSftRK5xb2upFy0LZEFWwLYIOvX
J0kCBZCSrBepjEWhWioSQKJR4wSFOhrAiPmwMZOrxXrgpM6MbOoTAgAsuetw
vLS2OHEavyXWLcVChEjAy04L5wvQS5eDu3qByjQQ1Y6uygBDI09EXtkcPniW
GlxWBxETUZ1J1UipSnPy8GGl/f1Q6pBX7LId4D6WZMRMhWDNxV5vIUmRenkf
3WuWYGr7ITSPTGPyvl3oPXcNckt6QUYIKCZmTikwmTT5QNwKYEmUOWXHDszK
1X7F3j8RA5bSpEQM7qTVAWcAzWn4jdEaKFZZ8Aq0bEpddCnoWfxFHWvgNJjr
XvdSzjoDVCwBQQnUqMPOjIG4hpTX7swOCuu56P6fPOQtecFegAYYWAqgZIEu
ApYyaKNSQcU0ajtIeztJ6xqRsh3gPkKhyBDXG5tsvQnKec4UsAwv56F34zJM
bT2IxuFpTPxsG3rOX4vC4CLJiMXsKSN+i3GVtko7jaycxkvWZPk74RwoSstq
SIl2zfQHI5VoXmTrx5iOtpvjyshY8yYJihjAbrJRsrirWYMdaVxCZ173Ms9Z
EjAeSPvgyjioNikmkgb5AFvbT4e2e91nXbQFwJbK9vsVrOmDCcsglC3QA3Av
cXARSJ1FpLYx824AE0TEHeAuUKofvRHF33nuRlttQHcX0nZFiqE9B97pXR6q
e49g4qdbYM45E12ry0k4LE6Zoi3k77DHwlXgFFxKA2SkYLLdUROerEo5sQzl
eoslwITUoVHatSaxh9MHIcMFV7H1qqSDjqSiMwBuddg4S6dw3GMwCB7IKHFG
A6BrMeDlgMo4UJ8Rh832kfUWxectrT3XAjgC4Eh9ZPeDMKafQWUAZwC82ILP
I/JXEaktzLydiE5aKE2d6mCtj+wmU68pZu454/ChjWxoma00HLWPWUpiXIBd
eRo9Z5ZRWj0A2wgxde82TG7ZA9NoCgHFpMebTG9aeR3WZB629WEMEEUJQSb5
XKY0B2zSjjNx07qWjuUp26u9lCcFc1pjxkpJuY6W+jJKqJiucFI75yumZyr5
W7KJ8IQdJ6Ew5EugnqWgYj/geyBf++Tp/u/NEhPMl8+wuaUrDoP5frb2BxyF
P+dmI+Sw2cvWXAjgHGb2Ohq3TQ7f8i3f6+3LcxQus1FztQqC/nD8cDcA31Zq
sPUmKPBBSgBnlHOstEbP2mWA1qjsHMX0vdthGyF6zl4Dr5AXe9ZzlQJJVEol
/RJIcRKidT27MrRHZIokk9dj8nhWEzvSOif9QFKOr1DGEo3M1JYuTmzgWJGn
kQ1SGnEfBafHZdlvSWcwCNqNhfFSsyK2bQFQrH2nx4BGtGj1W1/o4Z9vmJW3
ECwpM4CZcGLsHhuFoQI/Ccw+PP9cUmoMrq9FB7h7PvN3XbqrZ9A2aitto7Ay
mpnMgygkoolo/15CFDEzw0xWoUt5p1mMY3WRNQ4QWqPnzGXQ+RymH96HmQd2
IqrU0XveOgS9Pc7WZRcPTcrPFYOUdpW6BJAWABpOQ2TZzBuzA6tSmWVfpd1p
SDmQsZgolh0IkwqJ1AZmUm3ZOk4dPpuaGe7w2AZWAkorZkWbzeuyFK02MWXj
wl0AaSiV6+49R2kA8xJu/L4l3Dw8+qC19gyydoli9qG9VTZsjio/sE9Y4G75
y+uKKpc/N6rW1kB7i0l7PkAVADtJe7t1d+/YzA1fOIejkEEa5vAU7KJuKK0d
aA07+qJQGYkIpWWLofM5TN63A7U9I4iqdfRdsBGFgcWAjp0rKdmKPW4BYtJu
KY7f8izghQLX6+BmE5TLg/J5cdxUxplL7WsYAbXKkH2Yjo7/zpZhE83rSnWk
T69SaTwXypUlJXRKlZCGkigC0kY87u8CYFA0hYVlUIPFg7Y+sntGWX/AMoM8
308Zd08g4N71yueRLuY93du1KZqaebIu2S4QMYFnCPgZaW+LLhQrpjIdBj2L
edfbn+trYwmKwI0Q0dgk/HzgMk1khP1lQWQcMJRCYVEP9JPPxpHNWxEensDh
2+5B30Vno7RyEPDS+C10ppkHuYJKluLHuEmH075WogiM6MgRmIlxhwat4JWX
Q/f1Sz1bHCZTqQdGkoY2nPYlUxkvjV34LO3B0BZPSIIMEus1ovFZzAatUnOA
/JaohQO1zoBYIO55HuuFZf4rW+/N22ZjKVtLyu3vNkpK8xMKuHe8aEhxZFay
MU+31foqMAwIh0F0P4Cfr/nNP6ke9aHIGBibcGjDg5PQfV1Aj4YiI0ATEDMl
jeGCUh5LLjkbE/fvQn3/IRz50WZE561H9/rV0PmcgNJhkiV+y1IUxsSiGeNq
WwJHDYSjo7DTk5msmkK0fx9UoQgKgrRwkjNxWbKpJo4N3JYoBGUa6FFbq9NM
nzIid26F1N5uy7ARuwhJkiaG16px43N52ir/2DCY3HxbzkbhJYrQBWay4P1k
ov358hlPHODePnSZ5mrjEpP3LwNRD1ueAeFuAPec+8FPjc8Zx52oTHOOmIzk
90Mg3D+OIJ+DVQpkLEAuO8baOltWu2Xa830sOm8tprqLmHloN6bueRjhZBW9
m9Yh6OlKa9BYpYWMkgJ2HRstQBqm0UQ4sh92ZsaxupQSLe+0oJ2cgF4y4Mrg
W2K/3NqNJsmypbxdjsNlSrWnupJgbxrG4zQC0RYqAynAatczV6d8iTRtnIJc
53I1v6s0r406fsf3ejiKLmRqrLVsFTGPKvDdhdVnVZ8wUYVbNp1P0Uz9WSrn
XUqEAMxjIHybiHZf8Kl/nzcuSFqFkF4DiBzXwEzMIDo0Bb/cLzHPuDRHHDUY
uUOA0ho9Zy6HXypgYvPDqO3ch2hyGr0XnIVieUmijuLtnYhbkw62XkNz3z7Y
atWV0iglpB6VEHpsZQZ60aKjQJlUWyT9wVRiw7JQL51il++nTOOR2Gywadw5
3RSFUs5DvKsPeTKRbBpliM0FnfkbDPJ0FRqzAvfQ/35Vkx9ssGFzkwL3Wdfg
abtS6q7i+vOnnlgJCLYXcZMutYhyxDwBa79JRHsu+Y/vHnPJMX1do/rIhE28
64jBHCHcNwZVykP36gSsTrM4jetuvnFaUGkUBxfBu/xJGN/8MMIjUzh822aE
561H95krHbdXmoiwZUdUIYat1dDYsxdcr2dirKKNlYDRWlfNa0wCPBaqolva
M8mNtgyaOy4u1HTZvcQkQIZUzi29+49uGKk0iL2M2REbHpyGzrImSRhNHL73
wURh7PviPyjy/EAFuaUcRReBaEDmzIxi3AOih7ufdPlJL/k5ocAdPnNjF4f2
AlguANrA8j0M7HnK8B0LspOoUpuC5SqMKba0V66FaO4YQbB+JXR3UZwXkwEs
UuaxmAFBdwGLLz4bkw/vQW33CCbufgDhVBW9Z62B310UXDGYCaYyjXDvPtha
VSqD40SAaOM4ARD3YoiipFVTmiLmNns21pay1EtLUbKZqg1QUrnAnNbJtdQx
cFsimAiSz209JGMmIILQHS0oFxze8Kf/YHZ/6oMead3PJhokpddzFC2XfOA4
gD0A7ut/+gsmTpUo1InVuIZ7mE0vrCIwmhzZQ0+/e/OCjXuaqVkGdhBjietF
ALDnNv2wk1U0tx9AsHY5dHdJbpLcPM7cPEq3dPLyAfrOWYOgtwuT9+9A5aHt
CCen0XvOWhTKSwBiRGMTiA4cADcbzg6OTYOEtG7FPnbFmSzZtaTal9itDnEo
DUga1aUZCE4IO6wy5TxCoYwrLDiJCLTt5scZaJKX2LwsHc2zh1A8gyOANU+b
ah07Pvae820YrlTAEhD1WgqhgEMgPMxEexpTM2OrXvvrpxRX94QClw1HZGHY
9ZLNwdCiR3YCZgAPwfClSHxsm9h4dmIGzW37E/DGFbGsKWmRy4pb9iRTWqFr
1VJ43UVM/HwrmiNjODI1g9KG1SiUcrCHD8vSLyaBirNaUspOSl6XaIcx7hED
VykJswmIFSXhsKOcNQGw40BQ6nMlnF+VDAOhrchSCA+kc+67rDOLkkN00sAM
1kaIqlWEU9Nh9cDoJjZRFwiaQREYuwG6j5U+gCiqD77iLaccpfHEa1zGEWbe
SeABZtLQ6sKb1569B0Q7rtz2wLFnNBNg7T2OdB0bacq11xQNbMen0XxoN4K1
K6D6ul2TEKSUAdKZ1rmWJdevke/rweJLzsXkfdtR33sQ48N3odKVQ/eKRfAK
OZehk33QXBIh5g64PgxxNIAj2Vw6abEYmwQqWfIpm2WLaZCU6ZZDShJznKmf
UxmHk9JO57GpwORqy5SW3mgaMBGsNa59aqOOaHoG0cw0bK3mtHdopqNqbYKN
GQeww4IeVkqNn3HN756SYD1pwH3W/q3R95etu5UtdRPzuYBdykq9jBTfdvP6
s++/cuuD0/N93uYDpnrzTmoaZw9qm4Z5JIwFTbDTNTTu3wlvxQD0kj5nOgSU
tP+MebbQygFJAyALbS26l/SARw+hVm+iPlWDma6juGoRCv1daYdyss4WTXqP
2dSMEIJO0kshBmQmRew0asbGNZlSdZJMWmJFxHTJjA17VK2RVPAqH6bRhKnX
YWo12FoFplqFqVRgmw0Qu4mqcwWofA4Atk/v3Ptl02ju3vjuD51WRZMnpQXT
95et6wFwKRRdTory0NQkrQ5Aq/tJ0z3PfOC+OQG8+wUXroGxPwZhAFq5BsaZ
Dt0JoUU7WqIq5qC6S9CLeqB6SlCFAijnWjOBXeWrrTZgp2Zgq1Vwo+k27as2
MbN/EmG1AeVr5Ad60LW8HzoXuMWBFjYAACAASURBVEgFpWwtQuqs6cUDCDZu
yPR3oJYGzNmWpMjasi2vZ96LqZMJ+SYO+QE2jGCqNZhKFabWAIcM2wydgxiG
ieZXngevuwdeVze8gtSoKQrZmo/lNz3393AayknrHfb9Zes0QMtBeCYpWgOP
fNKKyVMNeGoHaXU/ebSbfN0gX0Xkeeby4dt599UXLoYxnwXzCxzVT2VayTuw
ZvdNgFauylUKB0kraYCXlrFztl2SjhvguQbJ0yNTaIxX3X4RpQA9Zw4g6CpA
aS39aSk5DykFPbAUwYb1rYBUWQBniDbZluM0W6k8JfYxRxGiag1RtYpopoJo
esZ1kYwpFX4Oygsc1VFp6FIXgr5+B9hiwX2XS9O6lcHYKRs235rf9OyvdID7
aEG8Yv0qUnQ+NK0irfrJUyV4isjXNeWrA+TrfeTrEQq8qXxem77m9LXUDN/l
Uv8OmKwFQPHeCEQOpKJ9Y1AmGlll3lMZjSjAJa0S6mF1oobqwWmYegTyFEor
+lEc6IHO+SkoBZB66VLkNm5odb5UpkGJoqTJM0tTvJSfa2EjA9towDQaMLWG
06bVKrjZTDQ3KQXyPei8W/J1Vw+83n54XT3wu7rhlbqgfD9pPcpxv2B2HGTX
TMTuCyvTl5cuuHpPB7iPNc57xsZuaCqTokHy1HJ4qky+WqwCrSnQlgK/pgJv
qqjt2XkTvlUp5EiRUGMpaTCXhJPYiK8Ta2OVaGPKAjUBcgbEif1KIAWEDYPq
oRnUj1QArRD0FVEq9yHfV0z6OTAAtXgJ/HVrXWdEk5LWbRRJO/1I3pPWn6GB
DSPYZhMcNh1BPjMRSBFUEEB3d8Pr6oIuFaG7itCFAnQuD10swF+0FCqXd90k
kwaASJoAMrfv0G4BE30rWPf0F+M0lVOKjzu0e8s0gOmb1529FZbzsJyD5SJH
djmDliuOBi3z4kbOa2hShxRhpdIeyHcNL5QfPzTI90Gedg9p0USedtmpRLPS
0VNYgArpnRtHHXylUFgH1KbrmNz8AJpHKogqDVSKubRNLgOq+zD03jHJvkma
ldM0MmSXSHdeSlYAUgoUBPAX9cLr6YLuKsHv6oJXKkDl8/I7PChPqhxiTV7s
AgW5tEslZ6riJWyX7V/ivo/YRvgiTmM5JSsgrtz2IAOoyWPiBxddcICY7wYz
gaGbTP19pjlAxv4ye55m4wG+LLWc8lFVzJpSGgh8IPBBfgDlyw45nvTLFQ2X
dHSMCxez8VN57i8l5JcuwfjmB1DfvR/N8UrGPiZopUHVmpgqGqw1yNdQMglU
PgddLMArFqCLBac5i3nnNOVybS2ksi2lkFybc7oAeD5UroCE6xXveJlllVG6
fatLO1uwwQFrzXc6wD3O8oyfbs5uEGYAjO55yaWf5cPVl4LRFwOPfQ34ngOp
74F9B1Yb+KDAAwUBOPBhfR8UOACTp8WRa3XYjuqpgLR5niagf8MqTHOI6t5R
mHrkqt89heKKJShu2gAVBK4tlO9DBb5bCYKg1d4las2mxRuryH4kJCQZNrFp
Y1OWmKegC6WY/wG0tFHN0BaTymVytq17+4sqCKY7wD0Zxvmqvlt4qnYP18Nn
xuVg1Ixca/lGmEQZWMjcnN2hUWvA11JsmLFvdVqU2AoupFqZKFl2CznAW9mP
6lgFjYkabNOgcWQahcggN9CVmANJijjuRB6H0qAc9VGlapLjY1m1lANxhpRD
WkEVSm67AGtTk4dtS+untFNPTNIgEHicib9hGrXTupW+Pl0v/EN3bjfvuGDN
jD1SfSURWnrcU0t3xex+uEiNUes2HoGxbiMS49rNI4qAMBInKkpTuFLpy9ak
LfEBaE3Ideeh8x6iaghTa6IxOY2w3oDfU3ImQmLfZri0nCmOjCmU8ZoS794e
X2uyH7B7UeWL0F09LaZAAk7O7AecCarFf7O1/83G/Gth3TNrHeCeJHn7isFd
0Ux4lTnSWJX2MUhvcKJogKSbdwKGJGXMKcvMWnBoYBoGptqEqYsGR6YSlzOf
SzrDEPy8j6A37wiESiGcmELtwBgoF0DnA+d8MbcCMbPrTgIym6F5Z/cEjr8r
l4fX15+QZ+bKrbc4nXG9mbVTUa3x4fyZV9yB01y803rWDXTVTGQ+HI03nhzt
reeooKALChQoaF+BAg0VKChfupbDAFaWabaJA2aMgY0sTCOCqUWw9QgxQZs0
Qffk4C8qwe/JZ4g2Cqw4Q75R8JRCz7I+2CVLUBufRmP0CCZ+ch9qK5aia80K
FJb0O7ILK+ETuMoJZDgJ2XKflO/gbCFVKMLr6XPfHfdjiHuXcXsTXm7Rxszg
+sTUgfv++pPTNwLBc4Hm6XzvT/uNibe87PKBaNvYv/C+6kuTpVM8fPIJ5JEL
l+WU2w9BkhEMcrFUw8nOOGzRatNm9tBVnkawrAtBXzHT+Ty2mymJCZPvIzhn
A6irhOrBI5h+eA9sowlVLKCwfAA968+AVypKdYRqidei5bVMJk0pqHwe3pIB
UC7naJIUGwFtfX+pNfOWtEY1trnzhps/t+dX37+bBnr/F8AdVx3abk9bpXW6
A/djD+2t/s75a+pcbV6Fui0l4GW4ComIXQ6/bmBqBqZqYGoRTCWCrRlw0+0p
xnHD5vYVl1MurK00oUsBlG6rxM1uJmIMqKcHXm83gp4u5JcuggkNzEwVzcMT
qI2MAbLZCGXolmCb9iKLTZt4c5QggL94idulJ7aTk7BfVg1lgy+ZPdgIgDGf
ffBPPvYJnmluBGEdgJHrq+NjHeCeRHn3bz9vW2PHofU83rgw6cGZ2RAa3L64
tFYSUNZxi6P1LQ2eKXHa2Vj4pVwG3PHewKlzRYEP1dvlSDe+j+LSRdClAjgy
CCdnUN93EM3pGSjPh8r5LusnoE3sYDm3yufhDQxA5fMttiu1zJg0htvSjze2
+a3dwlH0tt0f++oWNCIPwBkAzrym1L/7+ur41Ol4zwmPE3n4FU87I9py6Aa7
p7qplSKY+aUxOVujdfsnTUmrT7e5dDYEhpYlmHyNwooeeKWglTij0nAZFYsI
LjgHqpDLxIYVTDNC/fAEZrbvQzRThcoFyJWXoLR6OfJL+jMpZve/7umGv3QA
FOTld7SxxmKnsn0Xobjw0iF3mg1fx6H5bG71M6KbBtaWALwcwFkAtgH4j6sO
bZ/sAPdk2rtXX/qc6KGxb/CRZgnZJnLZkFGchdJJ+vMo8EK4Dy3HxzFUBfiL
Cigs6ZIYcab+LGObBudthF68SEg86W5AIIIJI8zsOYjKrv1gY6ByAfLlJeje
sBp+VxHwPHh9vfCXLgX5Hlo2giDV+nd7x5tMlx0iGLb286bZvDa/5llJwuGm
gbWLAPwqgH4AwwBuvurQ9tMqrqsfT8C97qK1+8HW2Knm0xGxbp2eWV5C2y46
oKT0uyX+Ge+G094aiQFd8DO75WTf42QjaW9xb2a5To9TWiG/qAe5gX5YY2Gq
dTTHxlHbdxBMQLBsKfIryiBf4WhDti3cNVcozPVZ2myb0bX5Nc8ayR5xfXW8
dk2p/wiAcwGsArD7+ur4eAe4J0k+ev/u6LqL1z1oTbQaU81zwS196Y/aLK/1
ZWpxspKAvXQXz8b02TB0zoP2VGrnirOWJD9qDVBvN1QuSE8qAI7juDoXoDDQ
B18akphGA83KNMJaDdZa6MCHzgetAVmeJU47K355Dxvz9tzqoZ/O9vY1pf4p
AAUAawEMXFPqf+D66vhpo3UfV6ZCYu++9LLV4cNjX7L7ak+N98BLQlvZJTW2
eQkZjkImjKTJTW2NdGMRiYL5fXnk+gqOxK4yfcJUthqiD/65awHPS7ZsJZWp
cohplL4Pb3ARjCJMPrQDtV17HaGnvw/FNavQs2Et/O5uHL0vG6V2b8tmajTO
lt8WVutfL539gjlDXjcNrC0DeDWAATEXvtsB7skG7yuv2Bj+fOTf7Wj93KxS
TR2uzHNFGcpfZlhiuzUGL6UtRVWgUBjscjRDIbS3OmsK5GvotavgLR9ICeoZ
GiM8Dd3bhdwZg1DFHECupq16cByTP38IzUOHwcZCFQvo2rgePRvWwSvmQdpD
a1tzuVb39xQYf2Ii+4n82uccM8lw08Da5wO4AsAEgM9ddWj7wY6pcBLlnetX
HuFA/QhhdBnXTRktMfl5NtDLOnNx909u3x2SwJahfZWYC9QWz4VUHXC1Dirm
HTNMlnnSCrqrAH/5YgTLF4kD5sJqpBSCniK6Vq+Av6gfzAwzNY3qjl2o7NoD
YwzI86DjDQkJ2VDcNJj/xkT8kfy65y4oM3ZNqb8GYBOAbgAz15T6d11fHe8A
92TJR7bsxR+/4YrR5tjM3WDzZK5Gy1oC8nR0PDcFL9DCfYj9nbb9OthaeHk/
w1nIOGixNCOgUgOKeahCDrqvBL/ch2BpP3RXrpX3kLGFSRGC3m4Uly9FbnAA
qlBAc+wwarv2oLp3P5pTFfn+HKTb4gyAP42a9iOF9c9fcDr3mlL/DIDzAPTJ
VN12fXW82QHuSZS/veUBvPuFF+83im9GM7qYq9EKJC0PqSVJQUeBN8OyijNo
3KZ1DaA95TJpQGtbUM7MkjACGjUEq5YgWD0IHVdN2CzZBhnyDSeZOVIEv6uI
wuASlM5cBVXIIzx0BI3Rg6jvO4DKnv2I6o2KtfjjmYMTn7rjkl+qf+4RjNH1
1XFcU+o/B8ASAD6AB6+vjp/yXF3CE0S2XX3JoBmb+ajZPfNS27D5JGLQFv6C
JCCo3ZlL+hu4piIuSUHw8hqF/rw4ZM7WJU+KMD0FlfNAOSH55H34mzYgWLcK
qpRPS3B0WiKUlOTEpUUtSQkNgBDVm5jeuReVnXvRGB07MLNz7Lbp23Y9wJVw
Oxib4Xp9VUCoXXVwOx/DxtUA3iphMQbw6asObd/eAe4pJHtfdXlfuG/qOnOg
cq0day6xyoGXhRye7BopiYW4gXhL+liliQhogDyFfF8OftFH3OeBPAUEGsrP
RBmIQNrtA6xXLIW/cTW88mKokpSOJ7vmqKQaI67MyBJ6EgArbcJ68zu7v3Hz
p/b98TeZBoI1cBvsEYBJALsB7AVwEG4LqMmrDm1vtIG2COBiAFcByImp8Omr
Dm3f0QHuKSb7fv25+fDBg8/kidp77c7KpWziPRkgtEJhESaZMAdQViTWQxxW
EAWpCbrLR7Ck4BIGnk7Da0l1sTDHVCZ0FnjwBpdAryrDX1WG6iqkIE22hFIt
FcdJtQbpcfaCD8HPfyq35oUHbiqv82F4EYAyXCp3A4CSTLWq2L9VABV5biSG
uxjAoIAWcDvofOmqQ9vHOsA9FTXvm5+jzP6JMlea77K7Jt/Ik1E/DChJ+WbS
xUnzOdVmF6us2aDgDxagu4LEXEhitNn4bty4JC4N0uSqkQs5eKtXwD9zOVRP
t9sGy0tAmikvUg1o/x7ki+8C0W25DS9vSRjctHQtgeEDyANYDeAc+b+AlKWR
vffx/bcC6Buh6KdXjW7jDnBPYal84To19oUfPdfunXwnjzeeyhNRLyxad30k
auUraMwKXspp+INFqECnnIWYeKPRymeINXEyMTK1ZINL4K9eDjXQD10qgAp5
kO8beP6DCILPcan/44UNL1kwo+umgbU+gGUAlosp0ScaNo5mNwGMArjnqkPb
93YSEKeRHPi/r+xr3rXzRXam+Toeqz6PRxp+mmnLgFcBRzHPVFopoUoa/qI8
KNAtO0Qm5kJG06avq8z5UzYb5XPQ5QF4a1c9EKw740tU6vpa/uI33v+L+L03
DazNifZlEDWuOrjttCOUd4ArMva3b6bqj7cuhu892R6uvs3uPPICHqkFrj3M
HODNpoYVQB5BFTX8/pyzd7OtneL2ULEJojMApqwNTAxPR7Sof6saGPgEafVt
b9PZu3pfdF2zc5c6wJ1TRt/7RgoPVQLS+qxo3+E3m4dHrsZEY4Aj20PVyGtJ
YChKCTnCayCPoHIKXl8OKqdaTQTp8sjZFLMmKZVX0+QHk7S49261fPCz3hkr
v2PGJ2uLf+NvTOeudID7iOXI1/6yv/K9u59p9h6+gierm9A0a2HsGXy4UsRk
oxW8RIBPIA8gX8HrDaAK4lwRUq2qFVDMMbTeC0/vpEJ+K/UWf6RXL7958Tv+
fktn1DvA/YXKwY++Y3Hjvp0reaK6DL5eg2a4kWcaa2CilVxtLEY+txTVRhGa
FGmX+lWeangF7zAF3gQU7UHg7abA3wZjtqCQO6CXLdnvv/iZ+3oveUtHs3aA
e/xl/N//Sjfu2RZEe8Z8rtV8O1HRKOQ1pisq0azWAgD7pcBQITDkqwg9pVAt
H2gO/MEnw84odqQjHelIRzrSkY50pCMd6UhHOtKRjnSkIx3pSEc60pGOdKQj
HelIRzrSkY50pCMd6UhHOtKRjnSkIx3pSEc60pGOdKQjHelIRzry2OW4FksO
D5bVPN9hh0ZH+GScc3iwTMf47bzQaxseLB+PHsM82zXIdavHeu6h0RG7wN8W
f58H1xyvC67P2BSIDsqGwo/qPj5W8Y4jaPMAPgy3l1a7GACfA3DDIzpneVkJ
zB+D60Q4283+RwA3L+BUlwG4fB7w7gLwtQX8xhyATx+HcawA+CiAn7W9fg2A
5+GxNeSeGh4sv3dodGTXMe7dagBXA3gJgIvgGuel21YyjwO4C8B/DQ+WbwRw
YGh0pHnaA1ekBLery2ySf6TABfOzAfwKXOfsdpkG8EcL1Nh/LgCYS3YND5Zv
Gxod2X+M02n5fb/ocZyUidMO3Ivl+x4LcMcA/INMztnGZy3c5n1vgWuWN5cU
4BrpvQTAdgCfGB4sf2ZodOTQiQCuOo7nbgL4+jzvnz88WF7/CM/5ynlu2o1w
/V2PJRfB7XkwnywG8MIFXtPxaBiX3U16Ia//Is6N4cHyebJqvfsYoG2XtQDe
B+CTw4Pllac1cMWOuh/AfXMcshTA0x+B6bEcwCXzXPNXZbIcS64WYB5rpXjO
8GC58ERxdoYHy4MA/hLAcx6l7+MDeCmAjw4PlntOZ40LAPsA/HCO93oAXC52
4kLkcnEQZpOHAfzsWE6H3JxnIO3APZ/TejFcY+STMYbH02k+yjEV8+n5AP7P
PL/HOWXO/p7PdHougF+Rc56eNu7Q6EhleLD8QwCvFaC2y5MBrITbxXs+wHkA
njaHowcAt8kkOZZslO9ciKwDcMnwYHnz0OjIXH29DID/Fm3DswBkBYAL5/js
NgAPzOOcPdKN8u6Ea9B8LNBOiA3dri3fNs/nDosTeq9M+mcCeAWA4izHdsHt
zv4fCzTdTknnDKJx980B3PMBrB8eLG8/Rkhl2TxmwgyAW4dGR6aPAf4AwBDc
tkgLXY1eCuArcrPnsuPfNs/nXwng7+ewM28A8Bdz/CaeBVzHko8B+J8F2uQT
s9j0F88zOT8K4P1DoyOhjOXXANQAvHkOn+MyUUinL3CHRke2DQ+Wfwa3qUb7
TQoAPBtu6/nGPKc5U5yqucyR2xZwKT0CpNmkMYf58Gy5ARNz/DaeSzPKUjk1
j4NUHRod+UVuEjI5NDryaLczXTZHpCYG+v/EoJXfPT48WP4C3G49g3Pgas3w
YPmuhcaMT0WNGztOL5cQWLu8BMD75wLu8GDZFyeue45BvW9odGQhLeYvBHDB
HO99GsCvzXLz8gBeI0vk41n0McyLFbO8fheA/zfHSqrEKT9uiYkTBdzvybJx
5izvnSWAGp7js3kAL5tnqf76Aq/hrXO8flCW8wvFAWyX1w0Plj94LFPkNJfR
Y4D6ncOD5fuHRkcezGjdaTGjToqcKOBOi7H+zjlm9GvmAe66eeyvIwC+tYBQ
z5kAnjXH2/8DYD+Ab8wB3BUSQvvqaRDSOmY0Yg5f4hBcEmHDHPfnMgBfGx4s
fxzAF+V+mpOR6j1R4bDsYH0ZQDTHIVcPD5a753jvl+aZYN+Yx47MyivnWNIs
gG/LOX4AYLZtwwPMnf07leQ88fbne1wyR2y6KYCcT+tuEgfwHgDvhQtlLjtO
XI1TA7giWwH8eI73Fosj1K5BcuLZz+U0fOlYs354sNwF4AUCwHZ5CMDPxYHY
KSGl2cboQskqncryPlm15nt8Hi5N265YIgD/BuDuBeBlJYD/C+C7cr53DQ+W
L5WQ5eMSuDNwMc/ZpCjgapfL4TZHnk3uxtxx0KxcKnb0bMvoT2WJBIARmViz
xWxXArjycWDLRvO8t0MAudANqAtifr0PwJfg0r1nPe6AK8yh2+cIH2kAF8yS
534hZg9yQ2zbY8VuPYlILJ9jIt0yNDpSzZgzt4i9N5uD+MzhwfKix6t3JqvO
TeJv3A639y8vEENr4ZhrNw4Pll9+IswHdYLH54F5QkvrsuEqAcllmD2+OA6X
dGgc4/uWwsUaZ9O2YwC+3/ba7QD2zHGuZ8BR/U5noWOBd2h05CdwfIXflWjQ
yALPrWV1/EcALzne4FUneFaPALgDwGw7ziwR5yG2RS+QmTyb3ANH4DmWh71e
wN8uDMdt2NJ2fdNys2ZbUpcBuPJE23KPUCn88BiPuwDUF3CfKkOjI/8kjvE1
4ozdfgxTI5ZBONromsdDOCwr/wsX7B+Y5b0r4XidYxICm22JDwH8eAFcWQ9z
Jz2MRDlmky8DuG6OsXk9gH9e4A080fJBGdtj2biHH4GimQDwv8OD5WHRpBsB
/LIAumceDX6BaN2/F8fvcQHcH8pyPBtwLxOwRrI0zzYwk1hYTr57njDWYQDf
meO9ewFsnkNTPxku9XzrKQjcIwuYzI/FP9k/PFg+IPfvQ3DZzhdi7lTxCwF8
8nhN8hMO3KHRkVBIGhfOYqoU4IL9/425ubq7sTBuwksAlOd47z/FOcMc2vgL
cwBXwVUGnIrAfdQyXF7mg7k8h6JgAKNDoyNNcWBDAA8MD5bfKtGEZ83xuXPx
2Co1TinnLJavzGNrvVpMhtnI3hbAfw2NjtTmvRFnrCYAb5xnKfvqHGGvOLrw
XczNCLvqRLH8T6B0i4n01VkeX5ptEkuJzn/Po1GXHE98nSzg7p3Fo4/lfMye
GgZchucLxzx7o3GpzPjZgLsZwEPHSFyMYO4U9GIAL35cwZa5LhGTp8zyuAyO
Tz3Xij2XcpjE44BkM5uD9RUAL5ojrHLmXMpUTIVjyQsxN+n8pgU4KFMSXXjZ
LDemCOD5w4Pl64+l+U+wLJLypmOJBXA4S1MUrTkszudsyu2Vw4Pl7wO4YWh0
pCJRmzXi/M5lDjw416p22gJ3aHTEDg+W7xAQnvEIPvplzB5Ky4bB5ivPmQJw
W5x0mOf6zPBg+W65vvbYLcmqcB5mTxGfLLlOPP5jyQSAP0Rr1UkIx1V4FWZP
jS+FY9B9e3iwvANpFcSl82jcb2FhNYCnlcaNl+ObAbxhgcfvAXDHAojJ52Fu
3u02uDTvQuRe0RqzJR3WAnjq8GD57nnKek60XLjA48bQxm0eGh3h4cHybXCk
pbkiMUvhYrp2ASbmVgDfPl6hsJNp42JodGQSjpFVX+BHbsYxSkGElPPMORw7
A2Dz0OjItgVe39Q810dijvSdjhbtbLbn0OjIEQAfAPCTY9imx8LMtGjn+4/n
j1AneRDvWKDNWodL8U4c47heuErV2aSGBXB32+QGzB02u/IRmjmnvAyNjvwU
wNvh4uThozjFGFyM95+O90p0soF7HxbG8NorID+WXArgSfMM6o2P8Po2z6M5
igB+6VGWYc/X/2w+ITz20vV5zzE0OnIXXCebd8CliBcSGYgE7G8B8Fcnwmn1
TvIMN8OD5X+CY4z58xz6EIjuPYaZQBJJuH6Owb5DzJNH6kR+SGxjmsP8mG9J
3gbHc7WzvPeTR7lCFfHYAvvTcJUj8/3uEbkvXxVF8Hy4FPxaAIuQlrnvgOMw
fBuOPzJxoqoiCCdZFtA5EVhg98RjnIsfZXfIR33OX/T1LHCs8IsYy3m+lzKT
71GPa0c60pGOdKQjHelIRzrSkY50pCMd6UhHOtKRjnTk8S3UGYKOPBaRquc+
KHV46MD+E5aI8DIXkIOr4rwIjrd6B4CDx5MsIe2RngzH2pqY57gyXIn0UwA8
9bHmwuW3FuF6ytpf0G/Jwe0dMX66ZJKGB8sb4Squ/+bR7JYjGbWXAfhtWPt2
OBroY72mM+B2T/rAfFtaeXJwNxy5+GVwvIECHBHkT4cHy9+V5xpaN2BML4Aw
ZsJnvrBXNPjk0OgIDy9bTrC2AKI6mLsBqKHRkfamcmcA+ASAa4YHy3cB8KFU
E9b2A2gMjY7MDJeXebJN1DMBvAdAODxYjs/bBaAuBZgFue4JSGv7odGRppBg
egFEQ6Mj0zLYr5XBed7wYHmfHG/h0pjxcxvv2yU9ehWImkMjB1i0TC+AytDo
SEx7fBVcO6JLhwfLR+AI2SZzjpyMTwNAfP25+Jjh8jIN5l4AtfaJKb8hB6Xq
sLZXXp4UHm3LuGcA1QsgglIVWFuQ87K81wdH8u6D69n2D5nP9QAJ7XQ2YHUL
biaFyxEXru6T/dFivm6XTGIjr3fL39FweRmBuQDH+ssDyEHriaH9+1i+/2oA
H2/DFgBMxb+R5I3Xy418J4i+LwP4DqQbtJ0LR7LwATwVjqjxKTi+agGOef9s
Od+tAK4HUQjm98NtLHIFHGv+63CN6iL53nPh9vN6k1zYs+U7LhEAfgRuP4TP
wxGZbwXw+wB+A66n68UA/lpu0lvlmB/IwO6EK+a7RlYRgiNKPwxHvXsaXB+C
98BVqhblRj4omvPw0OjIl6Ujy9Uyyf4VrlvLtXCdd8bk2rbJOZ8j3/ERuLKk
zUOjI/8hv/UaOJ7w9aIk7pLf+8+iLH4HjsQyKWP07cyNWya/eULGEnDNqON9
5DwAnwXwXzLOvwxHjKnLeGwA8Fcyad4k3zsNx3x7hUy6MRmrIRmrHwC4Pgvg
4cHyi+V4wJFqPgXXTuD1cO32r5HvXwbXjOVOGY83y98/gev4GME1DblLvq8f
wI/gejecAeCbcM0Ot8Ix1a6S7/whgE8OjY5UlcyyV8P1Zht5LAAABqlJREFU
0bpxaORANDQ6clgGOA9XLLcObu+rQG7QDBxZuCxf8DoZyE+K1n4NmEtwNLcN
cDtM3i6TYy7a4SoAvwdHFv9rGYA/guPR/hBuQ7mvyOu/Jtf8kMzkv8pcWwjg
twSsa+B6YX1NburvC8h/CNfG6Xq4yoohAU6fAP4ypK37SSbuFQKUj8P1zP0b
uL6674fr3nKbgOEzMjmubvutl8r3lOA4w++S756Qm9kHtyfEjwH89fBgOdsT
uEdAcbaM5VbRklfLZx+AI4EPyHe8C65m7tNwZf7Xyji9EK7E5wa4nT0vFpBp
uPqxV8tnPgHXmvV1cSul4cHyYri2TLfJuL1IxqQsz7sEYL8s3/0ZuU8fkM98
Uu7F6wRXr5fnXxWF9lbBS0LegavUfp0A+pMyad40PFimmEvah6PLsadkxg7I
zbsHjiB8C4C/E4A8Ha7i9Udw3NotctFPF018BK6c/HY4el8Vs7dljwFyH4Bv
Do2O/FDAtlau4QHRSrfAUQlnBKx/I8vSMnl+swx8XJ7TkKXrQgHJtXC7NW6T
a7ldNIoF8CMQXSugtjiaGhmfZwOADw6Njtws2vpv4cqQtsu1/ihjr7efI/7b
yCT7SwHl+QKGg0ib+V02y/34N1l1viTn+qRcx+dl6V8Pt13TdwF8BkTfk1Vi
XFayF8n5PyOrzafkmj1RQHfClSxtg+MuXyaAhBx3CK6DpoLr7HgnWisqrIzp
fwoYbxXz4IsyWW6QyReIQvq3odGRG+Dq3T4DVysYV5X0yiT8X7me+2VSPx9I
ieQPAtjQtufYWjlJvMFeDek+DVUBblE04JNktr5G1H7cZypE2lExks/PF8mY
RFpg15zlhnPmuCPiOMa/oS72Tw1puc0eAH8mN+YPAfwBWjfbsJn/DwyNHDDy
nNBaNBjvHRzvZ+uKLbVuCmCnM9eXPWeWY5xv+z3xTkOBPK6W8XuVKIltbZO6
nvmNkTwqmbEyojkDub7m0MgBztwryL2qZZp7VDP3tARXr/dquBZL8X0MM8B9
L1x711+RlWbTLBNzKvP7K3I/4r9n5BqVHFsRezqSz/lIucZK/r5Iruc18trt
EIeJZeadB+DPhwfLTx0eLL9ILvLHSLsrXgLg9cOD5U1idyyVyMOtcsJvy2NV
22Adr5BbfN4xGZy3SPPl18qyDLG/3gjXxv/34DbcO0eAVoIreJytQ/ceAE8b
HizHG55cLQP9M1mZfn14sHw2jHmr2LPL5abk4NqRFgV4Vw4Pls8ZHiw/DbN3
xoGM734B0OfEJDobR3dJXMg4hnLPXgjXu+si+f0DAvRb5fUXDw+Wnyz3sU9A
f5N8xw2Z+9jMALsgy/k4gN8W5XEFHhmpPfsbCgDeMDxYfsrwYPnZYgrdn1n5
p2QCB2Lz3ij271hW4/5UbJ+nidr+sCz7fyQgJFkWLhFj+w2yzG2VZWqLLA1f
kxt4Y0bbRpnZWEFr55N42TdyfCWjVUN5j2UAq5llaSZznu1iR70IwL/LcnOP
DPiorCZfkCXyftEYPxAQflhmdDXW0hIe+7RMhv+QSMEd8v6E2M9PlvNdB+Bf
BHxxR8S/kwjI+5FutP0O+b5qRvMY+b4pAL8JV8N2qzgtX0brVrLZcUL7OTLv
N+Umf09Mp8/IdT8k4/lV0VgfFafwiEywUCbNw/Kbvy7A+Z84HDo0OjIjy/Z1
goUV8tsa8t2xhs0Wl9ba/q7LayzPd8q1/Ivcxw9ncBOKP7EbrmXW12X8/2to
dIRbt8ZctlzB2mUApmVAIcb5r4nH/OsxqOSHZMMk/fIDk5DXcHmZD6IoDkwP
l5d5AOzQyAELAMPLVxCs9UjriI0hENTQgQMu4rBsmQJDATAgIjCroZEDLpQC
aBCZbMB7uLwsB+ZeaH0I1moALEt/HC8uktaHrnQhFyTnAQwICgzEx8tnAgCL
oNRhABbMyJzPB9AHosmhkQPNzDXE57RDIwfscHlZAOZ+AEegFIMZ0NrAGA9K
RRL+yQby+0E0PTRyoKWyWM7rAYiGRg64UCNz+reMI7SKhvbt45tXriIOw0UA
6iCqtnx2+QqCMYtBVBHQKQBmaORA/Lk+AdbkbPFoCU8uhivTaQyvWKlgjIJS
BtZqEHjogIzTsuWejJvc0+VOOzuM3Sq4+qFo3/Gh0REeXrGSsuMjwYMuAB6U
mojv+TGXHwHuW8Xof8sCKm070pFjYWqlOPS/OjQ68t3HlDmbR1iWLfP/x0DD
k0lGwYgCX6AjJE8o7eAQU+oy0vJkklEwokpcRuiIwR9yp9wBBiwyY5u0u3MA
AAAASUVORK5CYII=

--_av-Ty4B9oV-1NzI5gEn6GL9WA--

--_av-C3LEwsGhpAz73L6umw6VLg--



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 17:12:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 17:12:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513991.795835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfOUI-0005Hz-1P; Thu, 23 Mar 2023 17:12:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513991.795835; Thu, 23 Mar 2023 17: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 1pfOUH-0005Hs-TI; Thu, 23 Mar 2023 17:12:29 +0000
Received: by outflank-mailman (input) for mailman id 513991;
 Thu, 23 Mar 2023 17:12: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=8edK=7P=citrix.com=prvs=439de8c1e=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pfOUH-0005Hm-6v
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 17:12:29 +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 e03f7fd8-c99d-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 18:12: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: e03f7fd8-c99d-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679591546;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=l7lEYqgPNVNpZMW75N0/B44VY1tAcWgU+ZE43/GEBEw=;
  b=Y6xbxeuuziCm19uERcFiSrVlf/vlgdfUQQIGBwZgdmREcHnMFxxzTGUw
   o/uUzPtCcXNXNsdL9yTibn420TqKJW58sXOHy3bxP5kgiNtP/8sDrkC9X
   C91QfgYKpjnjCMQDnIqQwiVW//ExeTvewdMwyY4t0Fk6j3PLtr4Le/tsn
   0=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 5.1
X-MesageID: 102479570
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:/22ZB6PNZLD5/hnvrR2Bl8FynXyQoLVcMsEvi/4bfWQNrUor3jUDy
 jRMXGuEPfjcY2T8fdhwa9i390MCvZ/Qm95mHQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5AdmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0v15C2hAz
 d8IE2kibxWkrfyv0auQTcA506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w2Nk+ojx5nYz/7DLo3mvuogX/uNSVVsluPqYI84nTJzRw327/oWDbQUoXSH5kKzxvH/
 goq+UyiKS5EJsWH7gCh0U++tt6VpQzjXawNQejQGvlC3wTImz175ActfVm0u/6ikWalRslSb
 UcT/0IGqrMp6EGwUpz0Uxi5plaUsxgEQd1SHuYmrgaXxcL88wufQ2QJUDNFQNgnr9MtAywn0
 EeTmNHkDiApt6eaIVqU7rqOpCm+ETQUJ2QFIyQDSGM4D8LL+d9pyEiVF5A6TfDz14eucd3t/
 9yUhDMwjbwdte0b7PyU/FXgqSy1t4HiSSdgs207QVmZAhNFiJ+NPtL3uAOFsKYZd+51XXHa4
 iFaxpH2APQmSMjUyXfTGLhl8KSBva7tDdHKvbJ483DNHRyJ8mXrQ41f6SoWyKxBYpddIm+Bj
 KM+VGpsCH5v0JiCN/Ufj3qZUZhC8EQZPY2NugroRtRPeINtUwSM4TtjY0Wdt0i0zhd9zPhnY
 M3BIZn3ZZr/NUiA5GTeegvg+eVzmnBWKZ37HPgXMChLIZLBPSXIGN/pwXOFb/wj7bPsnTg5B
 +13bpPQoz0GCbWWSnCOoeYuwaUicCFT6Wbe8JcMKIZu42NORQkcNhMm6eh+I9A4x/oJx7igE
 7PUchYw9WcTTEbvcW2iAk2Popu0NXqjhRrX5RARAGs=
IronPort-HdrOrdr: A9a23:p5xG8Kr94EwcJDZhe7Qw+wEaV5oJeYIsimQD101hICG9E/bo8v
 xG+c5wuCMc5wx8ZJhNo7+90dC7MBThHP1OkOss1NWZPDUO0VHARL2Ki7GN/9SKIVycygcy78
 Zdmp9FebnN5AhB5voSODPIaerIGuP3iJxAWN2uqUuFkTsaEJ2IMT0JdzpyfSVNNXB7OaY=
X-IronPort-AV: E=Sophos;i="5.98,285,1673931600"; 
   d="scan'208";a="102479570"
Date: Thu, 23 Mar 2023 17:12:12 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: osstest service owner <osstest-admin@xenproject.org>,
	<xen-devel@lists.xenproject.org>, Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: Re: [linux-linus test] 179607: regressions - trouble:
 fail/pass/starved
Message-ID: <352ef06d-f7a7-4633-89f6-2310a6a8dcad@perard>
References: <osstest-179607-mainreport@xen.org>
 <ea0532e0-12c4-674d-392f-216658071f77@suse.com>
 <41ab8c98-ee53-8a21-56cb-2c6d801af0b8@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <41ab8c98-ee53-8a21-56cb-2c6d801af0b8@suse.com>

On Thu, Mar 23, 2023 at 04:55:10PM +0100, Juergen Gross wrote:
> Anthony, as I can't reproduce the original problem, would it be possible to
> start an OSStest run of the linux-linus test with my patch applied to the
> used kernel?

Sure.

I've created flight 179901. It should CC you and xendevel once done.
I've added the patch on top of commit that was tested by the flight in
this thread:
    https://xenbits.xen.org/gitweb/?p=people/aperard/linux.git;a=shortlog;h=refs/heads/41ab8c98-ee53-8a21-56cb-2c6d801af0b8@suse.com

Hopeful, I didn't make a mistake when setting the flight up and it will
be done tomorrow.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 17:21:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 17:21:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.513994.795845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfOcg-00073s-Rn; Thu, 23 Mar 2023 17:21:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 513994.795845; Thu, 23 Mar 2023 17: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 1pfOcg-00073l-OC; Thu, 23 Mar 2023 17:21:10 +0000
Received: by outflank-mailman (input) for mailman id 513994;
 Thu, 23 Mar 2023 17:21: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 1pfOcf-00073b-D0; Thu, 23 Mar 2023 17:21: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 1pfOcf-0006PQ-9Q; Thu, 23 Mar 2023 17:21: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 1pfOce-0006SP-Uh; Thu, 23 Mar 2023 17:21:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfOce-0002ck-UD; Thu, 23 Mar 2023 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=7aRx4XskGBr2YTenD2ckifRh6GlgnecSQWahsPftJcY=; b=P5zJqjiLoEv3yeq7lu8Zhh146J
	4fLEnrDt1r60GkCP607LrubCI46ylfeC4w2xPGYHOkKALJ5Kl5Si5wk5+16gg1pFi3AsDXWOkW2/2
	cDIqncsO0ZpKAhx++s74OI0e5HRPRNqnnJyU9WaYJn105mbZzxwkq6g5ta0Vi5xyuL3o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179882-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179882: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-vhd: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-arm64-libvirt:build-check(1):starved:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-arm64-arm64-examine:build-check(1):starved:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):starved:nonblocking
    xen-unstable:test-arm64-arm64-xl:build-check(1):starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:build-check(1):starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-arm64:hosts-allocate:starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
    xen-unstable:build-arm64-pvops:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=eee0d79134cffe605e49d240c985bc571d4bacca
X-Osstest-Versions-That:
    xen=245d030f4aa79f766e575684127f86748c63bb32
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Mar 2023 17:21:08 +0000

flight 179882 xen-unstable real [real]
flight 179899 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179882/
http://logs.test-lab.xenproject.org/osstest/logs/179899/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 179853

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail pass in 179899-retest
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail pass in 179899-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179853
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179853
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179853
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179853
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179853
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat    fail  like 179853
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179853
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179853
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179853
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179853
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-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-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 build-arm64-libvirt           1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-arm64-arm64-examine      1 build-check(1)               starved  n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)               starved  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               starved  n/a
 test-arm64-arm64-xl           1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-thunderx  1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-xsm       1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-arm64                   2 hosts-allocate               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a
 build-arm64-pvops             2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  eee0d79134cffe605e49d240c985bc571d4bacca
baseline version:
 xen                  245d030f4aa79f766e575684127f86748c63bb32

Last test of basis   179853  2023-03-21 22:12:49 Z    1 days
Testing same since   179882  2023-03-23 03:10:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> # tools/python/xen/lowlevel/xc/xc.c

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  starved 
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          starved 
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-prev                                             pass    
 build-i386-prev                                              pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            starved 
 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                                          starved 
 test-armhf-armhf-xl                                          starved 
 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                                 starved 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  starved 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  starved 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 test-armhf-armhf-examine                                     starved 
 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                                     starved 
 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                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 starved 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit eee0d79134cffe605e49d240c985bc571d4bacca
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Mar 22 10:00:09 2023 +0100

    tools/xl: allow split_string_into_pair() to trim values
    
    Most use cases of split_string_into_pair() are requiring the returned
    strings to be white space trimmed.
    
    In order to avoid the same code pattern multiple times, add a predicate
    parameter to split_string_into_pair() which can be specified to call
    trim() with that predicate for the string pair returned. Specifying
    NULL for the predicate will avoid the call of trim().
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
    Acked-by: Anthony PERARD <anthony.perard@citrix.com>

commit 7fa8b6cda90c4cade2cfda098fd73e091ad776d3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Mar 22 09:58:25 2023 +0100

    move {,vcpu_}show_execution_state() declarations to common header
    
    These are used from common code, so their signatures should be
    consistent across architectures. This is achieved / guaranteed easiest
    when their declarations are in a common header.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Julien Grall <jgrall@amazon.com>

commit 5b18843067278ba972a695ac7edca1dd21bcd01b
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Mar 22 09:57:19 2023 +0100

    tools: rename xen-tools/libs.h file to common-macros.h
    
    In order to better reflect the contents of the header and to make it
    more appropriate to use it for different runtime environments like
    programs, libraries, and firmware, rename the libs.h include file to
    common-macros.h. Additionally add a comment pointing out the need to be
    self-contained.
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> # tools/python/xen/lowlevel/xc/xc.c
    Acked-by: Christian Lindig <christian.lindig@cloud.com>
    Acked-by: Anthony PERARD <anthony.perard@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 17:35:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 17:35:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514002.795878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfOqs-0000yK-M0; Thu, 23 Mar 2023 17:35:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514002.795878; Thu, 23 Mar 2023 17: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 1pfOqs-0000yD-Ik; Thu, 23 Mar 2023 17:35:50 +0000
Received: by outflank-mailman (input) for mailman id 514002;
 Thu, 23 Mar 2023 17: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=JuTy=7P=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pfOqq-0000iP-Fk
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 17:35:48 +0000
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 224efbf1-c9a1-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 18:35:44 +0100 (CET)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 23 Mar 2023 10:35:37 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga007.jf.intel.com with ESMTP; 23 Mar 2023 10:35:25 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id EA7F02AA; Thu, 23 Mar 2023 19:36:11 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 224efbf1-c9a1-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679592944; x=1711128944;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=+tkQnp5raP0E2HuwxHdpBNe2fRW/pW0M4CrsRaTr0mM=;
  b=RaR3c+Ko1Set9wT9fzmlryq8URPSnPkdDXMihD02D1y7y14x1E4Ltm1W
   eDuK8/EKQOKpxFbeZFhe8Q8JUS4yhltBuv7bUNGNe2c3PrddhvKOv+Vl/
   RIFx8NM8JvydwvUNPxkwhtyUeyqfC464qnWk62Xeu3wVQRAlpGVHpDq4Q
   HLDQC7v+SohVNP/vqoeWK5kCJxtGOpRU/Mf05iuKtVlgxPuNKPg5rHYkQ
   hYl05MuXKfk1uEzjAsGpsJktCqcsLBDgHeWm21LU5plmNUaDugDWSqVxE
   rYKtnL7+TBJR1XFeeG+eKpNZVydrNiLCfukz9NRVLfxoMrK2gyPZactWf
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="327969628"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="327969628"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="675794214"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="675794214"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v7 4/6] EISA: Convert to use less arguments in pci_bus_for_each_resource()
Date: Thu, 23 Mar 2023 19:36:08 +0200
Message-Id: <20230323173610.60442-5-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
In-Reply-To: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
References: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The pci_bus_for_each_resource() can hide the iterator loop since
it may be not used otherwise. With this, we may drop that iterator
variable definition.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
---
 drivers/eisa/pci_eisa.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/eisa/pci_eisa.c b/drivers/eisa/pci_eisa.c
index 930c2332c3c4..8173e60bb808 100644
--- a/drivers/eisa/pci_eisa.c
+++ b/drivers/eisa/pci_eisa.c
@@ -20,8 +20,8 @@ static struct eisa_root_device pci_eisa_root;
 
 static int __init pci_eisa_init(struct pci_dev *pdev)
 {
-	int rc, i;
 	struct resource *res, *bus_res = NULL;
+	int rc;
 
 	if ((rc = pci_enable_device (pdev))) {
 		dev_err(&pdev->dev, "Could not enable device\n");
@@ -38,7 +38,7 @@ static int __init pci_eisa_init(struct pci_dev *pdev)
 	 * eisa_root_register() can only deal with a single io port resource,
 	*  so we use the first valid io port resource.
 	 */
-	pci_bus_for_each_resource(pdev->bus, res, i)
+	pci_bus_for_each_resource(pdev->bus, res)
 		if (res && (res->flags & IORESOURCE_IO)) {
 			bus_res = res;
 			break;
-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 17:35:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 17:35:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514001.795868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfOqr-0000j1-Et; Thu, 23 Mar 2023 17:35:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514001.795868; Thu, 23 Mar 2023 17: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 1pfOqr-0000is-Bs; Thu, 23 Mar 2023 17:35:49 +0000
Received: by outflank-mailman (input) for mailman id 514001;
 Thu, 23 Mar 2023 17:35: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=JuTy=7P=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pfOqp-0000TF-HG
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 17:35:47 +0000
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2444fffd-c9a1-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 18:35:45 +0100 (CET)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 23 Mar 2023 10:35:37 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga007.jf.intel.com with ESMTP; 23 Mar 2023 10:35:25 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id C8EA329D; Thu, 23 Mar 2023 19:36:11 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2444fffd-c9a1-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679592945; x=1711128945;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=WpHE2fMg8kec8Dg0J6kxCepndOofEkKDEHEEamRzDGU=;
  b=RkYLwLGBwFZtXTiMRHy+PiwAUyne0KGuoYsmwlOAzlYQRN4nJ2B9KCuz
   G2rt+CF7HyPFcOYdJmdUSTWm0QkBv96+KfEbeuLKakJzR5sGq9Iabq2JH
   acrcne1Yfqq1XK1me+hdCc3sgsgliRuASmG1qjvUyZ8xbwcMUldu1GwnX
   5harcbuKMnk4InN3hMAsNsp9ZCBM3FeJMjaRHwU0mKMqRWJ84P1c1FX+M
   A8I4o+x163ho7Y1I4kGsMItTJhFUHQzt/F1OtbzSdBiPDUb3/FWVIlMg8
   SASA/H96SdCExkcvJZcZgj8ypWkYd83bbfk4/Cr6FyDZteRHfF/zvr0Wm
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="327969658"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="327969658"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="675794213"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="675794213"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v7 2/6] PCI: Introduce pci_dev_for_each_resource()
Date: Thu, 23 Mar 2023 19:36:06 +0200
Message-Id: <20230323173610.60442-3-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
In-Reply-To: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
References: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Mika Westerberg <mika.westerberg@linux.intel.com>

Instead of open-coding it everywhere introduce a tiny helper that can be
used to iterate over each resource of a PCI device, and convert the most
obvious users into it.

While at it drop doubled empty line before pdev_sort_resources().

No functional changes intended.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
---
 .clang-format                             |  1 +
 arch/alpha/kernel/pci.c                   |  5 ++--
 arch/arm/kernel/bios32.c                  | 16 ++++++-------
 arch/arm/mach-dove/pcie.c                 | 10 ++++----
 arch/arm/mach-mv78xx0/pcie.c              | 10 ++++----
 arch/arm/mach-orion5x/pci.c               | 10 ++++----
 arch/mips/pci/ops-bcm63xx.c               |  8 +++----
 arch/mips/pci/pci-legacy.c                |  3 +--
 arch/powerpc/kernel/pci-common.c          | 21 ++++++++--------
 arch/powerpc/platforms/4xx/pci.c          |  8 +++----
 arch/powerpc/platforms/52xx/mpc52xx_pci.c |  5 ++--
 arch/powerpc/platforms/pseries/pci.c      | 16 ++++++-------
 arch/sh/drivers/pci/pcie-sh7786.c         | 10 ++++----
 arch/sparc/kernel/leon_pci.c              |  5 ++--
 arch/sparc/kernel/pci.c                   | 10 ++++----
 arch/sparc/kernel/pcic.c                  |  5 ++--
 drivers/pci/remove.c                      |  5 ++--
 drivers/pci/setup-bus.c                   | 27 ++++++++-------------
 drivers/pci/setup-res.c                   |  4 +---
 drivers/pci/vgaarb.c                      | 17 ++++---------
 drivers/pci/xen-pcifront.c                |  4 +---
 drivers/pnp/quirks.c                      | 29 ++++++++---------------
 include/linux/pci.h                       | 16 +++++++++++++
 23 files changed, 113 insertions(+), 132 deletions(-)

diff --git a/.clang-format b/.clang-format
index d988e9fa9b26..2048b0296d76 100644
--- a/.clang-format
+++ b/.clang-format
@@ -520,6 +520,7 @@ ForEachMacros:
   - 'of_property_for_each_string'
   - 'of_property_for_each_u32'
   - 'pci_bus_for_each_resource'
+  - 'pci_dev_for_each_resource'
   - 'pci_doe_for_each_off'
   - 'pcl_for_each_chunk'
   - 'pcl_for_each_segment'
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c
index 64fbfb0763b2..4458eb7f44f0 100644
--- a/arch/alpha/kernel/pci.c
+++ b/arch/alpha/kernel/pci.c
@@ -288,11 +288,10 @@ pcibios_claim_one_bus(struct pci_bus *b)
 	struct pci_bus *child_bus;
 
 	list_for_each_entry(dev, &b->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 			if (pci_has_flag(PCI_PROBE_ONLY) ||
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c
index e7ef2b5bea9c..d334c7fb672b 100644
--- a/arch/arm/kernel/bios32.c
+++ b/arch/arm/kernel/bios32.c
@@ -142,15 +142,15 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C940F,
  */
 static void pci_fixup_dec21285(struct pci_dev *dev)
 {
-	int i;
-
 	if (dev->devfn == 0) {
+		struct resource *r;
+
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource(dev, r) {
+			r->start = 0;
+			r->end = 0;
+			r->flags = 0;
 		}
 	}
 }
@@ -162,13 +162,11 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, pci_fixup_d
 static void pci_fixup_ide_bases(struct pci_dev *dev)
 {
 	struct resource *r;
-	int i;
 
 	if ((dev->class >> 8) != PCI_CLASS_STORAGE_IDE)
 		return;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		r = dev->resource + i;
+	pci_dev_for_each_resource(dev, r) {
 		if ((r->start & ~0x80) == 0x374) {
 			r->start |= 2;
 			r->end = r->start;
diff --git a/arch/arm/mach-dove/pcie.c b/arch/arm/mach-dove/pcie.c
index 754ca381f600..3044b7e03890 100644
--- a/arch/arm/mach-dove/pcie.c
+++ b/arch/arm/mach-dove/pcie.c
@@ -142,14 +142,14 @@ static struct pci_ops pcie_ops = {
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource(dev, r) {
+			r->start = 0;
+			r->end   = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/arm/mach-mv78xx0/pcie.c b/arch/arm/mach-mv78xx0/pcie.c
index 6190f538a124..0ebc909ea273 100644
--- a/arch/arm/mach-mv78xx0/pcie.c
+++ b/arch/arm/mach-mv78xx0/pcie.c
@@ -186,14 +186,14 @@ static struct pci_ops pcie_ops = {
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource(dev, r) {
+			r->start = 0;
+			r->end   = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c
index 888fdc9099c5..3313bc5a63ea 100644
--- a/arch/arm/mach-orion5x/pci.c
+++ b/arch/arm/mach-orion5x/pci.c
@@ -522,14 +522,14 @@ static int __init pci_setup(struct pci_sys_data *sys)
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource(dev, r) {
+			r->start	= 0;
+			r->end		= 0;
+			r->flags	= 0;
 		}
 	}
 }
diff --git a/arch/mips/pci/ops-bcm63xx.c b/arch/mips/pci/ops-bcm63xx.c
index dc6dc2741272..b0ea023c47c0 100644
--- a/arch/mips/pci/ops-bcm63xx.c
+++ b/arch/mips/pci/ops-bcm63xx.c
@@ -413,18 +413,18 @@ struct pci_ops bcm63xx_cb_ops = {
 static void bcm63xx_fixup(struct pci_dev *dev)
 {
 	static int io_window = -1;
-	int i, found, new_io_window;
+	int found, new_io_window;
+	struct resource *r;
 	u32 val;
 
 	/* look for any io resource */
 	found = 0;
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		if (pci_resource_flags(dev, i) & IORESOURCE_IO) {
+	pci_dev_for_each_resource(dev, r) {
+		if (resource_type(r) == IORESOURCE_IO) {
 			found = 1;
 			break;
 		}
 	}
-
 	if (!found)
 		return;
 
diff --git a/arch/mips/pci/pci-legacy.c b/arch/mips/pci/pci-legacy.c
index 468722c8a5c6..ec2567f8efd8 100644
--- a/arch/mips/pci/pci-legacy.c
+++ b/arch/mips/pci/pci-legacy.c
@@ -249,12 +249,11 @@ static int pcibios_enable_resources(struct pci_dev *dev, int mask)
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	old_cmd = cmd;
-	for (idx = 0; idx < PCI_NUM_RESOURCES; idx++) {
+	pci_dev_for_each_resource(dev, r, idx) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<idx)))
 			continue;
 
-		r = &dev->resource[idx];
 		if (!(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
 			continue;
 		if ((idx == PCI_ROM_RESOURCE) &&
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index d67cf79bf5d0..e88d7c9feeec 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -880,6 +880,7 @@ int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
 static void pcibios_fixup_resources(struct pci_dev *dev)
 {
 	struct pci_controller *hose = pci_bus_to_host(dev->bus);
+	struct resource *res;
 	int i;
 
 	if (!hose) {
@@ -891,9 +892,9 @@ static void pcibios_fixup_resources(struct pci_dev *dev)
 	if (dev->is_virtfn)
 		return;
 
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		struct resource *res = dev->resource + i;
+	pci_dev_for_each_resource(dev, res, i) {
 		struct pci_bus_region reg;
+
 		if (!res->flags)
 			continue;
 
@@ -1452,11 +1453,10 @@ void pcibios_claim_one_bus(struct pci_bus *bus)
 	struct pci_bus *child_bus;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 
@@ -1705,19 +1705,20 @@ EXPORT_SYMBOL_GPL(pcibios_scan_phb);
 
 static void fixup_hide_host_resource_fsl(struct pci_dev *dev)
 {
-	int i, class = dev->class >> 8;
+	int class = dev->class >> 8;
 	/* When configured as agent, programming interface = 1 */
 	int prog_if = dev->class & 0xf;
+	struct resource *r;
 
 	if ((class == PCI_CLASS_PROCESSOR_POWERPC ||
 	     class == PCI_CLASS_BRIDGE_OTHER) &&
 		(dev->hdr_type == PCI_HEADER_TYPE_NORMAL) &&
 		(prog_if == 0) &&
 		(dev->bus->parent == NULL)) {
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource(dev, r) {
+			r->start = 0;
+			r->end = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/powerpc/platforms/4xx/pci.c b/arch/powerpc/platforms/4xx/pci.c
index ca5dd7a5842a..07dcc2b8007f 100644
--- a/arch/powerpc/platforms/4xx/pci.c
+++ b/arch/powerpc/platforms/4xx/pci.c
@@ -57,7 +57,7 @@ static inline int ppc440spe_revA(void)
 static void fixup_ppc4xx_pci_bridge(struct pci_dev *dev)
 {
 	struct pci_controller *hose;
-	int i;
+	struct resource *r;
 
 	if (dev->devfn != 0 || dev->bus->self != NULL)
 		return;
@@ -79,9 +79,9 @@ static void fixup_ppc4xx_pci_bridge(struct pci_dev *dev)
 	/* Hide the PCI host BARs from the kernel as their content doesn't
 	 * fit well in the resource management
 	 */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		dev->resource[i].start = dev->resource[i].end = 0;
-		dev->resource[i].flags = 0;
+	pci_dev_for_each_resource(dev, r) {
+		r->start = r->end = 0;
+		r->flags = 0;
 	}
 
 	printk(KERN_INFO "PCI: Hiding 4xx host bridge resources %s\n",
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pci.c b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
index 859e2818c43d..0ca4401ba781 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_pci.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
@@ -327,14 +327,13 @@ mpc52xx_pci_setup(struct pci_controller *hose,
 static void
 mpc52xx_pci_fixup_resources(struct pci_dev *dev)
 {
-	int i;
+	struct resource *res;
 
 	pr_debug("%s() %.4x:%.4x\n", __func__, dev->vendor, dev->device);
 
 	/* We don't rely on boot loader for PCI and resets all
 	   devices */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		struct resource *res = &dev->resource[i];
+	pci_dev_for_each_resource(dev, res) {
 		if (res->end > res->start) {	/* Only valid resources */
 			res->end -= res->start;
 			res->start = 0;
diff --git a/arch/powerpc/platforms/pseries/pci.c b/arch/powerpc/platforms/pseries/pci.c
index 60e0a58928ef..1772ae3d193d 100644
--- a/arch/powerpc/platforms/pseries/pci.c
+++ b/arch/powerpc/platforms/pseries/pci.c
@@ -240,7 +240,7 @@ void __init pSeries_final_fixup(void)
  */
 static void fixup_winbond_82c105(struct pci_dev* dev)
 {
-	int i;
+	struct resource *r;
 	unsigned int reg;
 
 	if (!machine_is(pseries))
@@ -251,14 +251,14 @@ static void fixup_winbond_82c105(struct pci_dev* dev)
 	/* Enable LEGIRQ to use INTC instead of ISA interrupts */
 	pci_write_config_dword(dev, 0x40, reg | (1<<11));
 
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; ++i) {
+	pci_dev_for_each_resource(dev, r) {
 		/* zap the 2nd function of the winbond chip */
-		if (dev->resource[i].flags & IORESOURCE_IO
-		    && dev->bus->number == 0 && dev->devfn == 0x81)
-			dev->resource[i].flags &= ~IORESOURCE_IO;
-		if (dev->resource[i].start == 0 && dev->resource[i].end) {
-			dev->resource[i].flags = 0;
-			dev->resource[i].end = 0;
+		if (dev->bus->number == 0 && dev->devfn == 0x81 &&
+		    r->flags & IORESOURCE_IO)
+			r->flags &= ~IORESOURCE_IO;
+		if (r->start == 0 && r->end) {
+			r->flags = 0;
+			r->end = 0;
 		}
 	}
 }
diff --git a/arch/sh/drivers/pci/pcie-sh7786.c b/arch/sh/drivers/pci/pcie-sh7786.c
index b0c2a5238d04..4f5e49f10805 100644
--- a/arch/sh/drivers/pci/pcie-sh7786.c
+++ b/arch/sh/drivers/pci/pcie-sh7786.c
@@ -140,12 +140,12 @@ static void sh7786_pci_fixup(struct pci_dev *dev)
 	 * Prevent enumeration of root complex resources.
 	 */
 	if (pci_is_root_bus(dev->bus) && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start	= 0;
-			dev->resource[i].end	= 0;
-			dev->resource[i].flags	= 0;
+		pci_dev_for_each_resource(dev, r) {
+			r->start	= 0;
+			r->end		= 0;
+			r->flags	= 0;
 		}
 	}
 }
diff --git a/arch/sparc/kernel/leon_pci.c b/arch/sparc/kernel/leon_pci.c
index e5e5ff6b9a5c..b6663a3fbae9 100644
--- a/arch/sparc/kernel/leon_pci.c
+++ b/arch/sparc/kernel/leon_pci.c
@@ -62,15 +62,14 @@ void leon_pci_init(struct platform_device *ofdev, struct leon_pci_info *info)
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index cb1ef25116e9..a948a49817c7 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -663,11 +663,10 @@ static void pci_claim_bus_resources(struct pci_bus *bus)
 	struct pci_dev *dev;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 
@@ -724,15 +723,14 @@ struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm,
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/arch/sparc/kernel/pcic.c b/arch/sparc/kernel/pcic.c
index ee4c9a9a171c..25fe0a061732 100644
--- a/arch/sparc/kernel/pcic.c
+++ b/arch/sparc/kernel/pcic.c
@@ -643,15 +643,14 @@ void pcibios_fixup_bus(struct pci_bus *bus)
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c
index 0145aef1b930..c049eddc1e2f 100644
--- a/drivers/pci/remove.c
+++ b/drivers/pci/remove.c
@@ -5,10 +5,9 @@
 
 static void pci_free_resources(struct pci_dev *dev)
 {
-	int i;
+	struct resource *res;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = dev->resource + i;
+	pci_dev_for_each_resource(dev, res) {
 		if (res->parent)
 			release_resource(res);
 	}
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index c690572b10ce..027b985dd1ee 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -124,20 +124,17 @@ static resource_size_t get_res_add_align(struct list_head *head,
 	return dev_res ? dev_res->min_align : 0;
 }
 
-
 /* Sort resources by alignment */
 static void pdev_sort_resources(struct pci_dev *dev, struct list_head *head)
 {
+	struct resource *r;
 	int i;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *r;
+	pci_dev_for_each_resource(dev, r, i) {
 		struct pci_dev_resource *dev_res, *tmp;
 		resource_size_t r_align;
 		struct list_head *n;
 
-		r = &dev->resource[i];
-
 		if (r->flags & IORESOURCE_PCI_FIXED)
 			continue;
 
@@ -895,10 +892,9 @@ static void pbus_size_io(struct pci_bus *bus, resource_size_t min_size,
 
 	min_align = window_alignment(bus, IORESOURCE_IO);
 	list_for_each_entry(dev, &bus->devices, bus_list) {
-		int i;
+		struct resource *r;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
+		pci_dev_for_each_resource(dev, r) {
 			unsigned long r_size;
 
 			if (r->parent || !(r->flags & IORESOURCE_IO))
@@ -1014,10 +1010,10 @@ static int pbus_size_mem(struct pci_bus *bus, unsigned long mask,
 	size = 0;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
+		pci_dev_for_each_resource(dev, r, i) {
 			resource_size_t r_size;
 
 			if (r->parent || (r->flags & IORESOURCE_PCI_FIXED) ||
@@ -1358,11 +1354,10 @@ static void assign_fixed_resource_on_bus(struct pci_bus *b, struct resource *r)
  */
 static void pdev_assign_fixed_resources(struct pci_dev *dev)
 {
-	int i;
+	struct resource *r;
 
-	for (i = 0; i <  PCI_NUM_RESOURCES; i++) {
+	pci_dev_for_each_resource(dev, r) {
 		struct pci_bus *b;
-		struct resource *r = &dev->resource[i];
 
 		if (r->parent || !(r->flags & IORESOURCE_PCI_FIXED) ||
 		    !(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
@@ -1795,11 +1790,9 @@ static void remove_dev_resources(struct pci_dev *dev, struct resource *io,
 				 struct resource *mmio,
 				 struct resource *mmio_pref)
 {
-	int i;
-
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
+	struct resource *res;
 
+	pci_dev_for_each_resource(dev, res) {
 		if (resource_type(res) == IORESOURCE_IO) {
 			remove_dev_resource(io, dev, res);
 		} else if (resource_type(res) == IORESOURCE_MEM) {
diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
index b492e67c3d87..967f9a758923 100644
--- a/drivers/pci/setup-res.c
+++ b/drivers/pci/setup-res.c
@@ -484,12 +484,10 @@ int pci_enable_resources(struct pci_dev *dev, int mask)
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	old_cmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
+	pci_dev_for_each_resource(dev, r, i) {
 		if (!(mask & (1 << i)))
 			continue;
 
-		r = &dev->resource[i];
-
 		if (!(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
 			continue;
 		if ((i == PCI_ROM_RESOURCE) &&
diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
index f80b6ec88dc3..5a696078b382 100644
--- a/drivers/pci/vgaarb.c
+++ b/drivers/pci/vgaarb.c
@@ -548,10 +548,8 @@ static bool vga_is_firmware_default(struct pci_dev *pdev)
 #if defined(CONFIG_X86) || defined(CONFIG_IA64)
 	u64 base = screen_info.lfb_base;
 	u64 size = screen_info.lfb_size;
+	struct resource *r;
 	u64 limit;
-	resource_size_t start, end;
-	unsigned long flags;
-	int i;
 
 	/* Select the device owning the boot framebuffer if there is one */
 
@@ -561,19 +559,14 @@ static bool vga_is_firmware_default(struct pci_dev *pdev)
 	limit = base + size;
 
 	/* Does firmware framebuffer belong to us? */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		flags = pci_resource_flags(pdev, i);
-
-		if ((flags & IORESOURCE_MEM) == 0)
+	pci_dev_for_each_resource(pdev, r) {
+		if (resource_type(r) != IORESOURCE_MEM)
 			continue;
 
-		start = pci_resource_start(pdev, i);
-		end  = pci_resource_end(pdev, i);
-
-		if (!start || !end)
+		if (!r->start || !r->end)
 			continue;
 
-		if (base < start || limit >= end)
+		if (base < r->start || limit >= r->end)
 			continue;
 
 		return true;
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index fcd029ca2eb1..83c0ab50676d 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -390,9 +390,7 @@ static int pcifront_claim_resource(struct pci_dev *dev, void *data)
 	int i;
 	struct resource *r;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		r = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, r, i) {
 		if (!r->parent && r->start && r->flags) {
 			dev_info(&pdev->xdev->dev, "claiming resource %s/%d\n",
 				pci_name(dev), i);
diff --git a/drivers/pnp/quirks.c b/drivers/pnp/quirks.c
index ac98b9919029..6085a1471de2 100644
--- a/drivers/pnp/quirks.c
+++ b/drivers/pnp/quirks.c
@@ -229,8 +229,7 @@ static void quirk_ad1815_mpu_resources(struct pnp_dev *dev)
 static void quirk_system_pci_resources(struct pnp_dev *dev)
 {
 	struct pci_dev *pdev = NULL;
-	struct resource *res;
-	resource_size_t pnp_start, pnp_end, pci_start, pci_end;
+	struct resource *res, *r;
 	int i, j;
 
 	/*
@@ -243,32 +242,26 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 	 * so they won't be claimed by the PNP system driver.
 	 */
 	for_each_pci_dev(pdev) {
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			unsigned long flags, type;
+		pci_dev_for_each_resource(pdev, r, i) {
+			unsigned long type = resource_type(r);
 
-			flags = pci_resource_flags(pdev, i);
-			type = flags & (IORESOURCE_IO | IORESOURCE_MEM);
-			if (!type || pci_resource_len(pdev, i) == 0)
+			if (!(type == IORESOURCE_IO || type == IORESOURCE_MEM) ||
+			    resource_size(r) == 0)
 				continue;
 
-			if (flags & IORESOURCE_UNSET)
+			if (r->flags & IORESOURCE_UNSET)
 				continue;
 
-			pci_start = pci_resource_start(pdev, i);
-			pci_end = pci_resource_end(pdev, i);
 			for (j = 0;
 			     (res = pnp_get_resource(dev, type, j)); j++) {
 				if (res->start == 0 && res->end == 0)
 					continue;
 
-				pnp_start = res->start;
-				pnp_end = res->end;
-
 				/*
 				 * If the PNP region doesn't overlap the PCI
 				 * region at all, there's no problem.
 				 */
-				if (pnp_end < pci_start || pnp_start > pci_end)
+				if (!resource_overlaps(res, r))
 					continue;
 
 				/*
@@ -278,8 +271,7 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 				 * PNP device describes a bridge with PCI
 				 * behind it.
 				 */
-				if (pnp_start <= pci_start &&
-				    pnp_end >= pci_end)
+				if (res->start <= r->start && res->end >= r->end)
 					continue;
 
 				/*
@@ -288,9 +280,8 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 				 * driver from requesting its resources.
 				 */
 				dev_warn(&dev->dev,
-					 "disabling %pR because it overlaps "
-					 "%s BAR %d %pR\n", res,
-					 pci_name(pdev), i, &pdev->resource[i]);
+					 "disabling %pR because it overlaps %s BAR %d %pR\n",
+					 res, pci_name(pdev), i, r);
 				res->flags |= IORESOURCE_DISABLED;
 			}
 		}
diff --git a/include/linux/pci.h b/include/linux/pci.h
index b50e5c79f7e3..e1277a2bb645 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -26,6 +26,7 @@
 
 #include <linux/mod_devicetable.h>
 
+#include <linux/args.h>
 #include <linux/types.h>
 #include <linux/init.h>
 #include <linux/ioport.h>
@@ -1995,6 +1996,7 @@ int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma);
  * These helpers provide future and backwards compatibility
  * for accessing popular PCI BAR info
  */
+#define pci_resource_n(dev, bar)	(&(dev)->resource[(bar)])
 #define pci_resource_start(dev, bar)	((dev)->resource[(bar)].start)
 #define pci_resource_end(dev, bar)	((dev)->resource[(bar)].end)
 #define pci_resource_flags(dev, bar)	((dev)->resource[(bar)].flags)
@@ -2004,6 +2006,20 @@ int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma);
 	 (pci_resource_end((dev), (bar)) -		\
 	  pci_resource_start((dev), (bar)) + 1))
 
+#define __pci_dev_for_each_resource_0(dev, res, ...)			\
+	for (unsigned int __b = 0;					\
+	     res = pci_resource_n(dev, __b), __b < PCI_NUM_RESOURCES;	\
+	     __b++)
+
+#define __pci_dev_for_each_resource_1(dev, res, __b)			\
+	for (__b = 0;							\
+	     res = pci_resource_n(dev, __b), __b < PCI_NUM_RESOURCES;	\
+	     __b++)
+
+#define pci_dev_for_each_resource(dev, res, ...)			   \
+	CONCATENATE(__pci_dev_for_each_resource_, COUNT_ARGS(__VA_ARGS__)) \
+		    (dev, res, __VA_ARGS__)
+
 /*
  * Similar to the helpers above, these manipulate per-pci_dev
  * driver-specific data.  They are really just a wrapper around
-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 17:35:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 17:35:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514000.795857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfOqp-0000TS-4a; Thu, 23 Mar 2023 17:35:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514000.795857; Thu, 23 Mar 2023 17: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 1pfOqp-0000TL-20; Thu, 23 Mar 2023 17:35:47 +0000
Received: by outflank-mailman (input) for mailman id 514000;
 Thu, 23 Mar 2023 17:35: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=JuTy=7P=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pfOqn-0000TF-Ru
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 17:35:46 +0000
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 20e33923-c9a1-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 18:35:42 +0100 (CET)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 23 Mar 2023 10:35:37 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga007.jf.intel.com with ESMTP; 23 Mar 2023 10:35:25 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id AF393D0; Thu, 23 Mar 2023 19:36:11 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20e33923-c9a1-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679592942; x=1711128942;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=vwh9ptbMJOXQlZJdSj8+frJlz0P5NOeD/IEPLf/bFeA=;
  b=elih54Qcljimx3sGMruBQqztrNWSxynbyKa/PT+CigKI4GE7WTzwnfAq
   p13wnPnhYhU/uf9+ItqXIZ/kYjXpEZG4y0/eXoUYkQupTt6YeevJe3+W6
   76D9XowzPj3vuwEs++OL/lyf/BDvkI4sVjBsjdPmEm4pymvE49iImM9Ta
   Kpy7loB9bawZeAdSi+waaHYCmZrnKtwf6kFnxM6p3wZXy+hh94Dus1eqw
   EGOsYrvE44QhLIt5QWHEIPQa7An6uNBuKmyXAbjL1TGeJyrSyxjw0QZPT
   O8+IIuE4wMZ2HlRl0Ete5ELf66yRCPUtziDxm9eDEg/3yVS0Z+2daKLY7
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="327969589"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="327969589"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="675794215"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="675794215"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v7 1/6] kernel.h: Split out COUNT_ARGS() and CONCATENATE()
Date: Thu, 23 Mar 2023 19:36:05 +0200
Message-Id: <20230323173610.60442-2-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
In-Reply-To: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
References: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

kernel.h is being used as a dump for all kinds of stuff for a long time.
The COUNT_ARGS() and CONCATENATE() macros may be used in some places
without need of the full kernel.h dependency train with it.

Here is the attempt on cleaning it up by splitting out these macros().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 include/linux/args.h   | 13 +++++++++++++
 include/linux/kernel.h |  8 +-------
 2 files changed, 14 insertions(+), 7 deletions(-)
 create mode 100644 include/linux/args.h

diff --git a/include/linux/args.h b/include/linux/args.h
new file mode 100644
index 000000000000..16ef6fad8add
--- /dev/null
+++ b/include/linux/args.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef _LINUX_ARGS_H
+#define _LINUX_ARGS_H
+
+/* This counts to 12. Any more, it will return 13th argument. */
+#define __COUNT_ARGS(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _n, X...) _n
+#define COUNT_ARGS(X...) __COUNT_ARGS(, ##X, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
+
+#define __CONCAT(a, b) a ## b
+#define CONCATENATE(a, b) __CONCAT(a, b)
+
+#endif	/* _LINUX_ARGS_H */
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 40bce7495af8..c049d3394425 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -13,6 +13,7 @@
 
 #include <linux/stdarg.h>
 #include <linux/align.h>
+#include <linux/args.h>
 #include <linux/limits.h>
 #include <linux/linkage.h>
 #include <linux/stddef.h>
@@ -484,13 +485,6 @@ ftrace_vprintk(const char *fmt, va_list ap)
 static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }
 #endif /* CONFIG_TRACING */
 
-/* This counts to 12. Any more, it will return 13th argument. */
-#define __COUNT_ARGS(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _n, X...) _n
-#define COUNT_ARGS(X...) __COUNT_ARGS(, ##X, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
-
-#define __CONCAT(a, b) a ## b
-#define CONCATENATE(a, b) __CONCAT(a, b)
-
 /* Rebuild everything on CONFIG_FTRACE_MCOUNT_RECORD */
 #ifdef CONFIG_FTRACE_MCOUNT_RECORD
 # define REBUILD_DUE_TO_FTRACE_MCOUNT_RECORD
-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 17:36:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 17:36:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514003.795888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfOr2-0001Og-66; Thu, 23 Mar 2023 17:36:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514003.795888; Thu, 23 Mar 2023 17: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 1pfOr2-0001OP-2z; Thu, 23 Mar 2023 17:36:00 +0000
Received: by outflank-mailman (input) for mailman id 514003;
 Thu, 23 Mar 2023 17:35: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=JuTy=7P=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pfOr0-0000iP-Rr
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 17:35:58 +0000
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2968e8cc-c9a1-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 18:35:56 +0100 (CET)
Received: from orsmga002.jf.intel.com ([10.7.209.21])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 23 Mar 2023 10:35:35 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga002.jf.intel.com with ESMTP; 23 Mar 2023 10:35:25 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id A30B5176; Thu, 23 Mar 2023 19:36:11 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2968e8cc-c9a1-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679592956; x=1711128956;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=40PiIYrpY37wYxSvYhyAFvVxdYaZvy3f8Dv2ifvyB0g=;
  b=TzZGocHurYcgfVCxo+ekgnql7MhPnW0QZzbYf9GbrVoXO+VMzZdWCu3t
   saw4vHxijyjZbt4uagLkFND1994Dmx4kRex4xpeHDk5yOHfHusgWPiJZ0
   Z2C1gYXhJypk71G13CYZPwrepYiXBtLa08IHbSxlM+lA48gCYT/4u5iS3
   NihbFUfGBtj5eFokJNxCiV3G4InH0tLu7hNMx595kmquQiucTmhyxt5Dv
   4XQuhRosfRYypiDdsdP55STQwQkfltCRWyeMq8JN+LF3NlBehcgGbGXno
   UObeLXNonwR9LLs7UkApL3n5kCEoU2ZHxvseSR7XIuknSekC4RX63MqSJ
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="367307984"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="367307984"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="682380740"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="682380740"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v7 0/6] Add pci_dev_for_each_resource() helper and update users
Date: Thu, 23 Mar 2023 19:36:04 +0200
Message-Id: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Provide two new helper macros to iterate over PCI device resources and
convert users.

Looking at it, refactor existing pci_bus_for_each_resource() and convert
users accordingly.

Changelog v7:
- made both macros to share same name (Bjorn)
- split out the pci_resource_n() conversion (Bjorn)

Changelog v6:
- dropped unused variable in PPC code (LKP)

Changelog v5:
- renamed loop variable to minimize the clash (Keith)
- addressed smatch warning (Dan)
- addressed 0-day bot findings (LKP)

Changelog v4:
- rebased on top of v6.3-rc1
- added tag (Krzysztof)

Changelog v3:
- rebased on top of v2 by Mika, see above
- added tag to pcmcia patch (Dominik)

Changelog v2:
- refactor to have two macros
- refactor existing pci_bus_for_each_resource() in the same way and
  convert users

Andy Shevchenko (5):
  kernel.h: Split out COUNT_ARGS() and CONCATENATE()
  PCI: Allow pci_bus_for_each_resource() to take less arguments
  EISA: Convert to use less arguments in pci_bus_for_each_resource()
  pcmcia: Convert to use less arguments in pci_bus_for_each_resource()
  PCI: Make use of pci_resource_n()

Mika Westerberg (1):
  PCI: Introduce pci_dev_for_each_resource()

 .clang-format                             |  1 +
 arch/alpha/kernel/pci.c                   |  5 +--
 arch/arm/kernel/bios32.c                  | 16 ++++----
 arch/arm/mach-dove/pcie.c                 | 10 ++---
 arch/arm/mach-mv78xx0/pcie.c              | 10 ++---
 arch/arm/mach-orion5x/pci.c               | 10 ++---
 arch/mips/pci/ops-bcm63xx.c               |  8 ++--
 arch/mips/pci/pci-legacy.c                |  3 +-
 arch/powerpc/kernel/pci-common.c          | 21 +++++-----
 arch/powerpc/platforms/4xx/pci.c          |  8 ++--
 arch/powerpc/platforms/52xx/mpc52xx_pci.c |  5 +--
 arch/powerpc/platforms/pseries/pci.c      | 16 ++++----
 arch/sh/drivers/pci/pcie-sh7786.c         | 10 ++---
 arch/sparc/kernel/leon_pci.c              |  5 +--
 arch/sparc/kernel/pci.c                   | 10 ++---
 arch/sparc/kernel/pcic.c                  |  5 +--
 drivers/eisa/pci_eisa.c                   |  4 +-
 drivers/pci/bus.c                         |  7 ++--
 drivers/pci/hotplug/shpchp_sysfs.c        |  8 ++--
 drivers/pci/pci.c                         |  3 +-
 drivers/pci/probe.c                       |  2 +-
 drivers/pci/remove.c                      |  5 +--
 drivers/pci/setup-bus.c                   | 37 +++++++-----------
 drivers/pci/setup-res.c                   |  4 +-
 drivers/pci/vgaarb.c                      | 17 +++-----
 drivers/pci/xen-pcifront.c                |  4 +-
 drivers/pcmcia/rsrc_nonstatic.c           |  9 ++---
 drivers/pcmcia/yenta_socket.c             |  3 +-
 drivers/pnp/quirks.c                      | 29 +++++---------
 include/linux/args.h                      | 13 +++++++
 include/linux/kernel.h                    |  8 +---
 include/linux/pci.h                       | 47 +++++++++++++++++------
 32 files changed, 165 insertions(+), 178 deletions(-)
 create mode 100644 include/linux/args.h

-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 17:36:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 17:36:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514004.795898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfOr4-0001hg-E8; Thu, 23 Mar 2023 17:36:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514004.795898; Thu, 23 Mar 2023 17:36: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 1pfOr4-0001hV-B0; Thu, 23 Mar 2023 17:36:02 +0000
Received: by outflank-mailman (input) for mailman id 514004;
 Thu, 23 Mar 2023 17:36: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=JuTy=7P=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pfOr2-0000iP-HR
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 17:36:00 +0000
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b00e363-c9a1-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 18:35:58 +0100 (CET)
Received: from orsmga002.jf.intel.com ([10.7.209.21])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 23 Mar 2023 10:35:36 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga002.jf.intel.com with ESMTP; 23 Mar 2023 10:35:25 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id DBBE42A0; Thu, 23 Mar 2023 19:36:11 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b00e363-c9a1-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679592958; x=1711128958;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=nYcCzANNoRmgbtK/lt7NmDYl/Mib02Nl2jjjm9pP05E=;
  b=UdJpIMu8DAQBGt2fDYco6jT6bWnFwn5CDjZ+V9FuzTW67Z70TyUTJQmI
   u+8BjRUVK3+k+FEuOGrm9msTIPqYXqZtzWuMWK7N7vGhxHXskBjpmcB8/
   oRiR7A9d++NQu2+/Jh2KC4I3v1UYmb68qShxNCU+P9IdIS8DhTZwMp2zQ
   GHl07yUruthx+uVWhB4bho7YckO3TtUfGkciMl6TrB/0PWQlGpr7WYaP+
   +0GQnXqpGGpXN8eSskllSJXb6KPQXvPALyi58u/6nCaSZQ50RCO3Ou0M1
   HgKsxTNUuVvKRq5CyCDz8zSJ1CseU2ADljtMXCHLRUqA/IBfTIspleaBp
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="367308016"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="367308016"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="682380742"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="682380742"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v7 3/6] PCI: Allow pci_bus_for_each_resource() to take less arguments
Date: Thu, 23 Mar 2023 19:36:07 +0200
Message-Id: <20230323173610.60442-4-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
In-Reply-To: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
References: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Refactor pci_bus_for_each_resource() in the same way as it's done in
pci_dev_for_each_resource() case. This will allow to hide iterator
inside the loop, where it's not used otherwise.

No functional changes intended.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
---
 drivers/pci/bus.c                  |  7 +++----
 drivers/pci/hotplug/shpchp_sysfs.c |  8 ++++----
 drivers/pci/pci.c                  |  3 +--
 drivers/pci/probe.c                |  2 +-
 drivers/pci/setup-bus.c            | 10 ++++------
 include/linux/pci.h                | 17 +++++++++++++----
 6 files changed, 26 insertions(+), 21 deletions(-)

diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c
index 549c4bd5caec..5bc81cc0a2de 100644
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -182,13 +182,13 @@ static int pci_bus_alloc_from_region(struct pci_bus *bus, struct resource *res,
 		void *alignf_data,
 		struct pci_bus_region *region)
 {
-	int i, ret;
 	struct resource *r, avail;
 	resource_size_t max;
+	int ret;
 
 	type_mask |= IORESOURCE_TYPE_BITS;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource(bus, r) {
 		resource_size_t min_used = min;
 
 		if (!r)
@@ -289,9 +289,8 @@ bool pci_bus_clip_resource(struct pci_dev *dev, int idx)
 	struct resource *res = &dev->resource[idx];
 	struct resource orig_res = *res;
 	struct resource *r;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource(bus, r) {
 		resource_size_t start, end;
 
 		if (!r)
diff --git a/drivers/pci/hotplug/shpchp_sysfs.c b/drivers/pci/hotplug/shpchp_sysfs.c
index 64beed7a26be..01d47a42da04 100644
--- a/drivers/pci/hotplug/shpchp_sysfs.c
+++ b/drivers/pci/hotplug/shpchp_sysfs.c
@@ -24,16 +24,16 @@
 static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char *buf)
 {
 	struct pci_dev *pdev;
-	int index, busnr;
 	struct resource *res;
 	struct pci_bus *bus;
 	size_t len = 0;
+	int busnr;
 
 	pdev = to_pci_dev(dev);
 	bus = pdev->subordinate;
 
 	len += sysfs_emit_at(buf, len, "Free resources: memory\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource(bus, res) {
 		if (res && (res->flags & IORESOURCE_MEM) &&
 				!(res->flags & IORESOURCE_PREFETCH)) {
 			len += sysfs_emit_at(buf, len,
@@ -43,7 +43,7 @@ static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char
 		}
 	}
 	len += sysfs_emit_at(buf, len, "Free resources: prefetchable memory\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource(bus, res) {
 		if (res && (res->flags & IORESOURCE_MEM) &&
 			       (res->flags & IORESOURCE_PREFETCH)) {
 			len += sysfs_emit_at(buf, len,
@@ -53,7 +53,7 @@ static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char
 		}
 	}
 	len += sysfs_emit_at(buf, len, "Free resources: IO\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource(bus, res) {
 		if (res && (res->flags & IORESOURCE_IO)) {
 			len += sysfs_emit_at(buf, len,
 					     "start = %8.8llx, length = %8.8llx\n",
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 7a67611dc5f4..99299f1299c4 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -779,9 +779,8 @@ struct resource *pci_find_parent_resource(const struct pci_dev *dev,
 {
 	const struct pci_bus *bus = dev->bus;
 	struct resource *r;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource(bus, r) {
 		if (!r)
 			continue;
 		if (resource_contains(r, res)) {
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index a3f68b6ba6ac..f8191750f6b7 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -533,7 +533,7 @@ void pci_read_bridge_bases(struct pci_bus *child)
 	pci_read_bridge_mmio_pref(child);
 
 	if (dev->transparent) {
-		pci_bus_for_each_resource(child->parent, res, i) {
+		pci_bus_for_each_resource(child->parent, res) {
 			if (res && res->flags) {
 				pci_bus_add_resource(child, res,
 						     PCI_SUBTRACTIVE_DECODE);
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 027b985dd1ee..fdeb121e9175 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -770,9 +770,8 @@ static struct resource *find_bus_resource_of_type(struct pci_bus *bus,
 						  unsigned long type)
 {
 	struct resource *r, *r_assigned = NULL;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource(bus, r) {
 		if (r == &ioport_resource || r == &iomem_resource)
 			continue;
 		if (r && (r->flags & type_mask) == type && !r->parent)
@@ -1204,7 +1203,7 @@ void __pci_bus_size_bridges(struct pci_bus *bus, struct list_head *realloc_head)
 			additional_mmio_pref_size = 0;
 	struct resource *pref;
 	struct pci_host_bridge *host;
-	int hdr_type, i, ret;
+	int hdr_type, ret;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
 		struct pci_bus *b = dev->subordinate;
@@ -1228,7 +1227,7 @@ void __pci_bus_size_bridges(struct pci_bus *bus, struct list_head *realloc_head)
 		host = to_pci_host_bridge(bus->bridge);
 		if (!host->size_windows)
 			return;
-		pci_bus_for_each_resource(bus, pref, i)
+		pci_bus_for_each_resource(bus, pref)
 			if (pref && (pref->flags & IORESOURCE_PREFETCH))
 				break;
 		hdr_type = -1;	/* Intentionally invalid - not a PCI device. */
@@ -1333,12 +1332,11 @@ EXPORT_SYMBOL(pci_bus_size_bridges);
 
 static void assign_fixed_resource_on_bus(struct pci_bus *b, struct resource *r)
 {
-	int i;
 	struct resource *parent_r;
 	unsigned long mask = IORESOURCE_IO | IORESOURCE_MEM |
 			     IORESOURCE_PREFETCH;
 
-	pci_bus_for_each_resource(b, parent_r, i) {
+	pci_bus_for_each_resource(b, parent_r) {
 		if (!parent_r)
 			continue;
 
diff --git a/include/linux/pci.h b/include/linux/pci.h
index e1277a2bb645..70a4684d5f26 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1446,10 +1446,19 @@ int devm_request_pci_bus_resources(struct device *dev,
 /* Temporary until new and working PCI SBR API in place */
 int pci_bridge_secondary_bus_reset(struct pci_dev *dev);
 
-#define pci_bus_for_each_resource(bus, res, i)				\
-	for (i = 0;							\
-	    (res = pci_bus_resource_n(bus, i)) || i < PCI_BRIDGE_RESOURCE_NUM; \
-	     i++)
+#define __pci_bus_for_each_resource_0(bus, res, ...)			       \
+	for (unsigned int __b = 0;					       \
+	     res = pci_bus_resource_n(bus, __b), __b < PCI_BRIDGE_RESOURCE_NUM;\
+	     __b++)
+
+#define __pci_bus_for_each_resource_1(bus, res, __b)			       \
+	for (__b = 0;							       \
+	     res = pci_bus_resource_n(bus, __b), __b < PCI_BRIDGE_RESOURCE_NUM;\
+	     __b++)
+
+#define pci_bus_for_each_resource(bus, res, ...)			       \
+	CONCATENATE(__pci_bus_for_each_resource_, COUNT_ARGS(__VA_ARGS__))     \
+		    (bus, res, __VA_ARGS__)
 
 int __must_check pci_bus_alloc_resource(struct pci_bus *bus,
 			struct resource *res, resource_size_t size,
-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 17:36:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 17:36:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514005.795902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfOr4-0001kv-TQ; Thu, 23 Mar 2023 17:36:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514005.795902; Thu, 23 Mar 2023 17:36: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 1pfOr4-0001kS-LD; Thu, 23 Mar 2023 17:36:02 +0000
Received: by outflank-mailman (input) for mailman id 514005;
 Thu, 23 Mar 2023 17:36: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=JuTy=7P=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pfOr3-0000iP-6N
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 17:36:01 +0000
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c59aa0b-c9a1-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 18:35:59 +0100 (CET)
Received: from orsmga002.jf.intel.com ([10.7.209.21])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 23 Mar 2023 10:35:46 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga002.jf.intel.com with ESMTP; 23 Mar 2023 10:35:36 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 1873736E; Thu, 23 Mar 2023 19:36:12 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c59aa0b-c9a1-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679592959; x=1711128959;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=yfeoYNUxbO0e2gvMFM4I3e9/lrxCDzuwgcUE0vRubSk=;
  b=SnsPC8EmMiZi1EyU3GPkdcv2rNN7HJ4yLh8AdCyIFA4SZ48euhSX1lW+
   rrHIa9gzDxTZusb6BbxusNULuLAzqlz0pnMDIROuxvM+wSql53f/3S9Jj
   ul77FVTI8THfhOPW0oCVMHE7pM/1jvlaGomKra8N0u9ChzvFCgTK/ynLl
   2ya3Av+3Lw+Ed9z8EQs2V1tKnG+gh/JTMMI5Zctem8snBc/1Hn/885kRd
   eMYsxOqWY44WhaeDyTseU9vdnZbgj910ZUzaB3INL+bR04Eo3ngRTlYTF
   /LwWUNAW7jym4R4KkNjpFphUELz7l58OOkv6XmqAk5Qnm9xC/CHYvRysR
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="367308136"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="367308136"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="682380750"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="682380750"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v7 6/6] PCI: Make use of pci_resource_n()
Date: Thu, 23 Mar 2023 19:36:10 +0200
Message-Id: <20230323173610.60442-7-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
In-Reply-To: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
References: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Replace open-coded implementations of pci_resource_n() in pci.h.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 include/linux/pci.h | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/include/linux/pci.h b/include/linux/pci.h
index 70a4684d5f26..9539cf63fe5e 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -2006,14 +2006,12 @@ int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma);
  * for accessing popular PCI BAR info
  */
 #define pci_resource_n(dev, bar)	(&(dev)->resource[(bar)])
-#define pci_resource_start(dev, bar)	((dev)->resource[(bar)].start)
-#define pci_resource_end(dev, bar)	((dev)->resource[(bar)].end)
-#define pci_resource_flags(dev, bar)	((dev)->resource[(bar)].flags)
-#define pci_resource_len(dev,bar) \
-	((pci_resource_end((dev), (bar)) == 0) ? 0 :	\
-							\
-	 (pci_resource_end((dev), (bar)) -		\
-	  pci_resource_start((dev), (bar)) + 1))
+#define pci_resource_start(dev, bar)	(pci_resource_n(dev, bar)->start)
+#define pci_resource_end(dev, bar)	(pci_resource_n(dev, bar)->end)
+#define pci_resource_flags(dev, bar)	(pci_resource_n(dev, bar)->flags)
+#define pci_resource_len(dev,bar)					\
+	(pci_resource_end((dev), (bar)) ? 				\
+	 resource_size(pci_resource_n((dev), (bar))) : 0)
 
 #define __pci_dev_for_each_resource_0(dev, res, ...)			\
 	for (unsigned int __b = 0;					\
-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 17:36:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 17:36:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514006.795909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfOr5-0001tB-Gr; Thu, 23 Mar 2023 17:36:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514006.795909; Thu, 23 Mar 2023 17: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 1pfOr5-0001qe-7u; Thu, 23 Mar 2023 17:36:03 +0000
Received: by outflank-mailman (input) for mailman id 514006;
 Thu, 23 Mar 2023 17: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=JuTy=7P=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pfOr3-0000iP-SM
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 17:36:01 +0000
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2be43ad9-c9a1-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 18:35:59 +0100 (CET)
Received: from orsmga002.jf.intel.com ([10.7.209.21])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 23 Mar 2023 10:35:47 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga002.jf.intel.com with ESMTP; 23 Mar 2023 10:35:36 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 0945631F; Thu, 23 Mar 2023 19:36:11 +0200 (EET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2be43ad9-c9a1-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679592959; x=1711128959;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=CylzEgRAmJXOphwnxg3IbL2UXwW6z4Wch9KnUOezzDg=;
  b=UVp31IiOnWt24/pWpijNEE94mvIgrhJ/DRAhZJ0qk+NCWVlUCUnPvdfC
   oE0oO6qEIul72vu3g99JRM7auhj9ZYewD6YrZvz3i94tVvNw2hlz2bCjF
   WLgi3Iky34Vdy7onXkPt3IW0enIfy5+Kk1y7yiUiiEUZMtlWQka1f3TYG
   6Zrl1gceo26367cw4V3Pc0keZkUBWpT0vIyztvK6s5KK4C0zxt+sqxnvw
   L2yeQUhATV8WDt/bz/grM20p7892njoZtRDP5QRVyr5/kOsZTbQ1n2Mtw
   O0wgQH2Mq/+uYr1h7B7LoHzox9+4PBDdld2LcQYAPD+nrIZU3GN/kHB9W
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="367308164"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="367308164"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="682380753"
X-IronPort-AV: E=Sophos;i="5.98,285,1673942400"; 
   d="scan'208";a="682380753"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v7 5/6] pcmcia: Convert to use less arguments in pci_bus_for_each_resource()
Date: Thu, 23 Mar 2023 19:36:09 +0200
Message-Id: <20230323173610.60442-6-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
In-Reply-To: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
References: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The pci_bus_for_each_resource() can hide the iterator loop since
it may be not used otherwise. With this, we may drop that iterator
variable definition.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
---
 drivers/pcmcia/rsrc_nonstatic.c | 9 +++------
 drivers/pcmcia/yenta_socket.c   | 3 +--
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/drivers/pcmcia/rsrc_nonstatic.c
index ad1141fddb4c..96264ebee46a 100644
--- a/drivers/pcmcia/rsrc_nonstatic.c
+++ b/drivers/pcmcia/rsrc_nonstatic.c
@@ -934,7 +934,7 @@ static int adjust_io(struct pcmcia_socket *s, unsigned int action, unsigned long
 static int nonstatic_autoadd_resources(struct pcmcia_socket *s)
 {
 	struct resource *res;
-	int i, done = 0;
+	int done = 0;
 
 	if (!s->cb_dev || !s->cb_dev->bus)
 		return -ENODEV;
@@ -960,12 +960,9 @@ static int nonstatic_autoadd_resources(struct pcmcia_socket *s)
 	 */
 	if (s->cb_dev->bus->number == 0)
 		return -EINVAL;
-
-	for (i = 0; i < PCI_BRIDGE_RESOURCE_NUM; i++) {
-		res = s->cb_dev->bus->resource[i];
-#else
-	pci_bus_for_each_resource(s->cb_dev->bus, res, i) {
 #endif
+
+	pci_bus_for_each_resource(s->cb_dev->bus, res) {
 		if (!res)
 			continue;
 
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
index 1365eaa20ff4..fd18ab571ce8 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -673,9 +673,8 @@ static int yenta_search_res(struct yenta_socket *socket, struct resource *res,
 			    u32 min)
 {
 	struct resource *root;
-	int i;
 
-	pci_bus_for_each_resource(socket->dev->bus, root, i) {
+	pci_bus_for_each_resource(socket->dev->bus, root) {
 		if (!root)
 			continue;
 
-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 17:45:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 17:45:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514027.795927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfOzx-0005k1-WB; Thu, 23 Mar 2023 17:45:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514027.795927; Thu, 23 Mar 2023 17:45: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 1pfOzx-0005ju-TM; Thu, 23 Mar 2023 17:45:13 +0000
Received: by outflank-mailman (input) for mailman id 514027;
 Thu, 23 Mar 2023 17:45: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfOzw-0005iU-KF
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 17:45:12 +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 736e0ea9-c9a2-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 18:45:09 +0100 (CET)
Received: from mail-dm6nam11lp2177.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 13:45:06 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH0PR03MB6082.namprd03.prod.outlook.com (2603:10b6:610:b9::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 17:45:04 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 17:45:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 736e0ea9-c9a2-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679593509;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=cjuaqIqYoU2lAycKHi0ewLbJ4uoO3q90S/f11o2BwTM=;
  b=G9V8TNEz4L9C88I0Ick3lWZCd3qV2oOGuW7uxad1pGc28Eb88jGrtY86
   6/I6p0UyvA3BT0QtFXHHHTH58WHd9n5zrQDB9qhz9o4SUeqbppF7vM4QO
   QaYK1Jx9X3baYP5LglY2/7/uWsimVCYRQLQCTvlldw1cRn2acjbiksOlP
   4=;
X-IronPort-RemoteIP: 104.47.57.177
X-IronPort-MID: 102484386
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:iwa+zqwbTmW+RpT/JWp6t+cHxyrEfRIJ4+MujC+fZmUNrF6WrkUCn
 2NLWTyCPv2DMWfzLd53Ooq0oRhSuMCHyYRrQVNr/iAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6sT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KWEJy
 u0fOhksVE/Zh9m4yrWDQO19if12eaEHPKtH0p1h5RfwKK9/BLzmHeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjeVlVMuuFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuiANhOROHjpqACbFu7+HMMCz8MRGKHr/CD0mSRctFzL
 UE/0397xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L8/AKxFmUCCDlbZ7QOqM4zbSwn0
 BmOhdyBLSxitviZRGyQ8p+QrCiuIm4FIGkafygGQAAZpd75r+kOYgnnS99iFOu5i4PzEDSpm
 jSS9nFh2PMUkNIB0Li98RbfmTWwq5PVTwkzoALKQmai6QA/b4mgD2C11WXmAT97BN7xZjG8U
 LIswaByMMhm4UmxqRGw
IronPort-HdrOrdr: A9a23:u3fx2K0dO5gtbRXnTNtl6wqjBKMkLtp133Aq2lEZdPU1SKGlfq
 WV954mPHDP+VUssQ4b6LK90cW7L080lqQY3WByB9eftWDd0QOVxepZgrcKrQeAJ8T2zJ856Z
 td
X-IronPort-AV: E=Sophos;i="5.98,285,1673931600"; 
   d="scan'208";a="102484386"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DT8tvb6MhEimQ28+zmOOoo+HXSE0TwBUCynry9wSfh2xIrj+duh2BIq9IGPM0K5iF253CyryQdlZpM/qLi/mffvumUeIax1TQtziFeLaUg3SmYQnjnZt04IetuIah7/mcLts/XbtaeeC4XLDx0YRUwew2gCMgSoHlI6zYGkouFdTSWb8bmaqguo4zkc9rR3o44LsZryRVID9cPkSlxMSHvzXO09FlQGI9/CyynvS0eujcT9lZH+P3jQtZYE4LE7ptBjloVkOOEa7sk0NePuqOnseSzuo0ZzQdg/K0ctAKVbCD8rfhibhJYVihbtm0axeKCqa5OSO0aPj2s529XcmUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RMBEwq9qlCoSw0Fs+f3+SVNp7uYSx9IKamAdmhll53w=;
 b=lxlMG+QS1fBYS/9pbqTmes/7SkW+Jylj9QwHMHTSQBSiUG9BrxRoL/WBckwVhVy9ASK6oMzyCdC2qh0bLRrNCvsY963XCXyW1efttGGL+xi2UOjAD618R9Z3b1kC69vvwtx+v6LjCV0nrQl9dL5fZfEVrn/ISXpfJXZ07os5PNUMJWuPK2kNNrTmTESGPwQZb9Fr9nqbgMvwpNqnHK3BcfS7RWQokVBesTYR42w2IsrjvDAIcP/quqmnSQgBnYfv5ATKtamARWrgcr3HWAqZXgZwWTUvkvk3wFm95nc9Kzv+pnMTV5ZyMAIUPcy5T1XUs9L/+24ZC/mInfHURyIDkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RMBEwq9qlCoSw0Fs+f3+SVNp7uYSx9IKamAdmhll53w=;
 b=tvkX0Zg87dZULNZOYzNymZRDrsdfhQi0IH5Meni05PeylcGX/TF7795H7gnIoXV9ZUWdyQ383LpnJwueX8eyTEln0S/KNR7cxzL5IOCYryxmox8CiadPJtGmHqyOD4+DtUr+dqNf5Di+BD1HYouMdcoP29BmMupmFV9vqorot5w=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <271b081f-5566-fe29-2999-48b55e564d66@citrix.com>
Date: Thu, 23 Mar 2023 17:44:58 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 10/16] x86/shadow: move OOS functions to their own file
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <88be7d2e-325b-2a32-fe9f-ce762bb7b606@suse.com>
 <253e45ae-4b66-a618-6385-b0fa018e693a@citrix.com>
 <dfc15fe8-aede-4e01-ecf3-c3457c95563f@suse.com>
In-Reply-To: <dfc15fe8-aede-4e01-ecf3-c3457c95563f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0103.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:139::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CH0PR03MB6082:EE_
X-MS-Office365-Filtering-Correlation-Id: 56d380da-b8d8-40d0-11dc-08db2bc65552
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4eUWENINRVTJ3BtAVhu8qwK6rq9Tew4ZmUUXSdjqh/SnGe6u1luUmbjxrxaJegAxXK//v7y//6W6Ku6QmY0WlvyiwJ0i9+lkVmtSg1l6cU0O87HTIUusqMLFfrTwFGpvRRdOuQ7OTUNuhdrHr4Ig/AW3SS3hWIYrhYckJnkAdLKI8pEB+2TuUr/JPVVgSOswS0ykjtKTL6/hvVZrqAE0mrIeA6eSZ1qfUUqZRIGqrQ7L4YHtk4UAlN+fdYYc3oRG6Y/6k4gBwzwopjsu/Z/k0rqKToUgLCGBKuZ9oDiwF1hRmn0T69cmXf1+CJ3plMNGFLRHaV7LkORaAkAhfP0CO9Mj0BEYlzRAyr+/hclbTVqObmDTSrDpZEtURFlMaVQtUWArTjju7ukbz/LVGMyoB3Rnkk/enYqiJ3ZFDoY74GPti6Y7by2Dg9mqh3zdRhnlXxumGrtp9iIA2AbnFUfL5QAIJRBgjFzgHPeGQakzY8y/QPDvFdTmhBmgx2iruxZWktxzN9eL3d4J5zdl1RkWneGWwJdaaQn8Rh46Yrn/jKueZY3kzztgzT0sZwq77Va9DuIvwNMiY7WuXA6x23qXo7FT7hr1MOT/OE85sUaCISkXQud0k+btMqzpGPXXoMrD3nUV+XFvb0CLdNs3+RCAMhIuWAdJ2lwnLXYn7GIdfCd+7ZRACe4563IF0BMW0ULmKjtZTgcM1u08QocDzm9B4A4RfxsLyiRevWnJ52pVDxQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(366004)(396003)(376002)(346002)(39860400002)(451199018)(31686004)(38100700002)(2906002)(478600001)(83380400001)(6486002)(2616005)(316002)(186003)(86362001)(31696002)(36756003)(54906003)(66476007)(66556008)(4744005)(8676002)(4326008)(66946007)(6916009)(8936002)(26005)(6666004)(6512007)(6506007)(53546011)(5660300002)(41300700001)(82960400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OUQ5c01VazhYcVdjYTNSdWc1SWhSbGdwTThhbkpOOUNMMGNWZWZaZmtGbHVp?=
 =?utf-8?B?OUJHNTU2N0RFNDJnWjVpai9iaGdqNnBzNHBsVko0bDRLS1hWa09GVzgrQ3FY?=
 =?utf-8?B?anEyM211ZE1jSWxVTHJpTDZZZ0Q2YzV6QVFKdlBmd3NXaHRwdENSWHJma0FS?=
 =?utf-8?B?eHR4emFVY0JwcDVjNFZwWVJLRDRidjM3cHlrZWdsS2UwaThjNTJ3c2lnU1o4?=
 =?utf-8?B?cEdJcmh1NVVqR3RHNEJVMTB2SUJkbFM4Y09lZG5vR29zRDQ4eTJvVFI3eStD?=
 =?utf-8?B?UzdxY2g4enordlhsNjJydm03bXcrWnFIQSt4bkVOVE9mQlRsMFAyRFg5N3hU?=
 =?utf-8?B?RlowUzRnTldqMkkrS3ZrSTVVVjRlZnVyWEZwZlprNDVWNHMxRlNGU29oZ0Nl?=
 =?utf-8?B?U3NnZ0E4YjJjaG1uOCtXdVRETjJVd2VnTzRkeTJuWHJHRkdLS3FrbEtWQ0FP?=
 =?utf-8?B?WmpvRlZWUTd2c1FsN3ZEYlg5VG5CUGN0dHZWNnBaVS9hcUpTdWtZZzRDeDVp?=
 =?utf-8?B?Y2g4WjVGU29GTC8rbFNMa0txY3JkeVlkYnZoZVhuZFQ4V05ObkJ5TlZhbWht?=
 =?utf-8?B?MlYvRERweDc0SHdtMWx0aUNpZFVzVkRmYnN1N0xRcndkNE1TMmJZWGxoelNC?=
 =?utf-8?B?dlh4VEd6Tk5zcmd5eGlsU25ia3FJOWxvK0dYTnJWaG9HYTZtYTRuZ1JOUjFX?=
 =?utf-8?B?Y0lZOEpCWklZZldQeXFvZUw2SGZ2TXl5d0NlYkV6K0ZqREdkZiszcUpZc0VN?=
 =?utf-8?B?QkY1RnFtM09YcG1TVlVBZUVzc00yUC9KT1YyeS9EVnRoUmNHRmNvdGRhUzNn?=
 =?utf-8?B?c0tET1hVelIwU3prWFo2T2owTmNWaWxDSTR5ekV4YnFEdG1EUUoyUisrdURD?=
 =?utf-8?B?ZEFjeXN2enF6T1NNbmlJdzlUdjhrM21rTmY0TzdpemcxRFhNQWNnZW0yRTY5?=
 =?utf-8?B?bnpDVW5SM2lFQXhXUmIvRlhnUWFGUkg4Z2hYSjlzY2FaTWkvc2M5UmMvbU5W?=
 =?utf-8?B?Nmhoc2p4VUsrWmVqdkZ2b2NVM3JVZGU3S24rR2hUZHYrMURPUnY4UGJjNCtz?=
 =?utf-8?B?SmIzSlVLeEt4dG5jeC9saWZkMzR0R3hYcithcW0xOEsxTVpkNC9CRmpiMWc2?=
 =?utf-8?B?V1AwUnNmTy9BeVNyL1VSVDdRT1BBNEZXa1d0ZS9xL1dwWHp4N2lyTHArT1Jv?=
 =?utf-8?B?NjR1dGN3ZmpLWm5qMkVrMHhJMzluOFFXZDlWWHgzaUVIUXFCdVkyVkgyZ2Nt?=
 =?utf-8?B?aFBXRjVIZmZxSERsYytTMG5rZGx6ZHMrQmVYNDBPMTRWRDQ5dXZ2ODRlWUNo?=
 =?utf-8?B?aVF1ZjNXZDJES3kzQVQzVHVJNHo4RU5TNEEzczhFajNaY3pneW91MW1FeG9v?=
 =?utf-8?B?dnF3SlZPaTBGTTJ2VXNUOVU3VWV2NmdLV2thbTZNVUFmNnJhZ1BDSTFnQ0Na?=
 =?utf-8?B?USswS0hZbm9zQTR3cVhsakNYS0VNVWtHQ3Y5dEU0RG13bmNJNnB1N1VQc0dq?=
 =?utf-8?B?VGRwbS9lUS8xRjV6akFZcElGTUdLbFJMZmx6V0dMVmRzeVg3RDFESHo4dGV4?=
 =?utf-8?B?YU1VajBPTXEwejd3QnZrOE9aeVgrZWh4ZkNsNWZmcllEc3dsalVZcTlMdytS?=
 =?utf-8?B?elViTnlmN2RqT29BZ1d3ZUJRTkhqZG5PY3NNMkxNOGF0WDVBOExYd2xDdFF0?=
 =?utf-8?B?R1lwSS9uclk0RHRHTThXMlpaTlNBT0VVTkJRQXFKYlhPS0NENGFkYnNGbExQ?=
 =?utf-8?B?K0JJNWs1ajE2SE5wQzduc01XZ0RTaW9yc0xJaWlmSW5qaVlPaTEwM3RreVVt?=
 =?utf-8?B?cXdzYUE4V3o0aHh1cTFOMVFWMEZkdHovRUt6MXcwcGpWeUxlVkJubFhqY0VO?=
 =?utf-8?B?d3RuWGZjb1RQTkFNNFZFR0F0T25HNVR2cTVDWHFtTDJENHYwT2VFc01GY1hC?=
 =?utf-8?B?UGJkSmlFazZTRzRCdzFQcUJFa0pTa3ZoVVFudENGb2JaUW9lam02ajZGeGx5?=
 =?utf-8?B?VFJveWtPV2pITVhIYkkwT1hQSzNRY1V1aGpjWVUvNzUyT0k0QjJqbyt2S2xK?=
 =?utf-8?B?NnVXbUNSZXN1K05kLzNNVzh0WTFaVnVLeWZQM1dacU1pVUp0MXVDaGQrM0VD?=
 =?utf-8?B?VVJ0RUhPVUpVVE1pV29HcnlRVm9oNmg1VWVTOEJ5NVZSd3FJVlNUcXJ5V0oy?=
 =?utf-8?B?cnc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	meU5FlxzIYhd/2xh1o7jZ0ux0kQ/nX5dYPzkBxyZYPYdwIBBHVhaIYPBy1sOCem3C3sW1VY/hcgwsU86+wY8EH7FeM7dIPqyYp8NZTUAg6P+7jJ502dUmbZmG/QJ9J8B7Zcw6Kh/NPFez31tq6WhHtq+wlgnS25lNuoUydhGqkn66Vibq3naSoUvqxJiOTwI1HsB3MulgnEhixUvmrhM2YBfMcDojkFxZDIjqJz2AtoS15y1bwrCwrK6qRVGGFgKifqnrFYBDioTOvzL2ubNNBa9GzNV2N2coYqNLG+XJTzXO7aEou1gBu0L1jLXriv2+vV5w1HOIeLQPm5pjzZ3bpQapFwD051nqcY9Y1Ivb6gRq8m93IGMidant/xzBtxfRqLi4V8BTxghnNWfA3xc3LZkmhNShis5TUE0rCzodt2BHaM2pCoCm3iVkETydNQzyMPd2Zrh4Ze55abqBeUNPYTHevLw5SAZ5yY0V8AR0KHggSs4ZkC4B8VKmidmi0N9lE1gIqjwV9m2270K4/x3+shSQVn/yasynTJG607Dx47nH/KELgSmGwx5lDUTdSphW1n5A7YzXX8jfcjnr/a7m4+eNvGtq7RE3aPvuwNfCkI2PYF+Dmp7QpTSuiC1IiHrUY/chrL7aGjg8nNJKQH2+oCosv5G0skYUSg6GRpRq3Ha7z6NzMJS+ZnJQzoHVCBtnS/Mq+5kk1RXta5h7ny/hNhLyBlUVyKys9CZ3MgsBJtgbEwINpQECCQwpswDiOayE77xjWOtyu1daK3AguRIq+jDFGKvkp4a4xbbenVZw6FUgBBaXyrvYTD9c03RvleS
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 56d380da-b8d8-40d0-11dc-08db2bc65552
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 17:45:04.2705
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /HT8ooJA7ov6zBgp3QNMX54z2gMoYecRCh3idsddOzBKSerB28HmUHjMcRozTvtXrC6/laQ5QZVxwWwlC9qml+Trh9Yv40qAlJArqyNhuD0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6082

On 23/03/2023 3:40 pm, Jan Beulich wrote:
> On 23.03.2023 15:30, Andrew Cooper wrote:
>> On 22/03/2023 9:35 am, Jan Beulich wrote:
>>> +            {
>>> +                if ( mfn_eq(oos_fixup[idx].smfn[i], smfn)
>>> +                     && (oos_fixup[idx].off[i] == off) )
>> Given that you mention style in the commit message, it would be nice to
>> move the && onto the previous line.
> Sure, done (and there was a 2nd instance).

There are plenty more.  I just stopped reporting them.

I guess if its "just" whitespace fixes (newlines, rearranging of
operands/indents) then that's fine.  Everything else can come later, and
there is plenty.

Subject to the SPDX tweak, Acked-by: Andrew Cooper
<andrew.cooper3@citrix.com>

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 18:18:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 18:18:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514040.795947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfPW6-0001nU-Mp; Thu, 23 Mar 2023 18:18:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514040.795947; Thu, 23 Mar 2023 18: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 1pfPW6-0001nN-K8; Thu, 23 Mar 2023 18:18:26 +0000
Received: by outflank-mailman (input) for mailman id 514040;
 Thu, 23 Mar 2023 18:18:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfPW5-0001nH-1V
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 18:18:25 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 163f4b7d-c9a7-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 19:18:21 +0100 (CET)
Received: from mail-mw2nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 14:18:17 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BL1PR03MB6197.namprd03.prod.outlook.com (2603:10b6:208:30b::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 18:18:14 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 18:18:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 163f4b7d-c9a7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679595501;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=ysjcs+aajFsTJB0dgwv+l2GdamCAHnoAtrmrwzue3q8=;
  b=gveGwloJeccvXS+N95ykZ+n6incTdUxxWemJHBe+I5BkwL77HCy3f+aQ
   UbA5lsPdKlO6YKp3BE6dBx9t/ADIVzJf13FchKg6qO+nvDuf2qLLS0TT/
   5EJRDnOMbiYBlDgKRl56FRpQGuMBoyxQharKxCl/YXhaevAYzFosNYZoJ
   s=;
X-IronPort-RemoteIP: 104.47.55.101
X-IronPort-MID: 101982431
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:r1Vuga3YbfG30vFM0/bD5eNwkn2cJEfYwER7XKvMYLTBsI5bp2ACy
 zNMW2/UMvuNN2akL41watni8xgBuJfSydBiSVFlpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdkPqgR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfBlFfp
 KURLw02MzOFhOKqyamhFLlUv5F2RCXrFNt3VnBI6xj8VK5jZK+ZBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvi6KlFUZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqjAdNCTuHjr5aGhnWz/XY9CEEsWWKHrPTg1HWkQupBd
 mE9r39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLE7gDcCmUaQzppbN09qNRwVTEsz
 kWOnd7iGXpoqrL9YW2Z3qeZq3W1Iyd9BXMDYAcUQA1D5MPsyLzflTrKR9dnVauq1Nv8HGiox
 yjQ9XBnwbIOkcQMyqO3u0jdhC6hrYTISQhz4RjLWmWi7UVyY4vNi5GU1GU3JM1odO6xJmRtd
 lBe8yRCxIji1a2wqRE=
IronPort-HdrOrdr: A9a23:NRB1navgsG/bWFg8nLqbq8KA7skDR9V00zEX/kB9WHVpm5qj5q
 WTdZUgpGTJYVMqMhwdcL+7Sc69qB/nhOdICOoqXItKPjOW3FdARbsKheDfKlvbak7DH8FmpM
 VdmsNFebvN5DZB/L7HCcqDfOrIAuPqzEllv4njJr5WLT1XVw==
X-IronPort-AV: E=Sophos;i="5.98,285,1673931600"; 
   d="scan'208";a="101982431"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CQ5uxY38e7uHyUZie1n3Ca0s9XRjYM+IdPWrGzB32TaQkYHKz9ubm3rUCSMeaLxiqXVoA71AxFxEisF8LNdP0weYZu7Ms4RptFxeUF6gDmL3OVrGUcNbieqcpvs3GfblUV0Dig4lmd7mszzYG1pbb4M3nbKbWHtwC58qavWCsc8FCdcXoGcfKraaUqdItS/+/ELSeCxU55TCbIDnbxYXHx8+6+o6CQkECVWoLyV6Ux26ncLYvSacVALeGqIh61PGNJqwF91ue9gqj9R2cE58msyjoVxRucuOiK+2nhSi5pQHNBxANaZfp4q8f555KmFmfXhTtAD0bpKH36bOiGKLgA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sR1Kug5lHjFi9rtZ5Os0lRIE8TCgVsa0STkg9RB8TeQ=;
 b=PlrLG4lTrrMDpRZ1ucaiLTFGj7nCjHCABsFYF/jcdgsSqY9XeQvBxUVrLt2fORzWRBRWE/EA18HC2uXz0NnneOXc77bsJn1GMADhZx0loz//cJ0r0u9r41N2JFNeuWpizEvkzrIi1i7bfBOBL0bBUkH8QAh1n2ZcLAxfw8o6lxSPJ1WVAUv21gLqMT4R/hkrhjiAR+TYaUMeSgc3EtYF1LK+arvoUKrxEtTbpbHi0Vp9NMzik+daEl9H/WLxDr3nQyguFPdtTJAPPhBp/O04SPCatAvyFp9Zh+6KNlT7q/7mBnGRthVMSuehA028y+4vwvYVLXNVqgkmvS5pbkNczA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sR1Kug5lHjFi9rtZ5Os0lRIE8TCgVsa0STkg9RB8TeQ=;
 b=QdrLx4z0qchl/n5gz8dofCj7DzGXYvj57KSp3z1qUQWiGInbgmPx3jsBOQz1JyMoLFDuy0yPOdX8RMdqrw93szEuj5JmDMIGpRv4CSdAsVyaAiWDI5ZOHmJctmYyO0LxJ8GQiRKbmYlaAJHWnaQPiIzMefZZdSprg7Zbcqur8rs=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <97c3fe74-89f3-fd26-f8bf-69113df1dc12@citrix.com>
Date: Thu, 23 Mar 2023 18:18:08 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 11/16] x86/shadow: drop is_hvm_...() where easily possible
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <5944a3ea-cddf-7ddb-d167-a0a0aa9b4967@suse.com>
In-Reply-To: <5944a3ea-cddf-7ddb-d167-a0a0aa9b4967@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0231.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:315::17) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BL1PR03MB6197:EE_
X-MS-Office365-Filtering-Correlation-Id: be663c7e-ce5a-4db5-19e1-08db2bcaf7c2
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	x50W43JN8WkuOlyFTXoRu1r0q1uaoyGuRPw9Alv9Mxm0ECgMkkYTqGfi7l/VvwSoVUKzvMZoSMm3cPVewigBrSCKhfc07Q2c2xFxavHZPtzs1bH8leNosF/m58wDi67D5/kbGYJFdWNIJrVyCFPd7I5mE7oi5Vcu6VC8UiQ0pI6EpFjr09H+K2hvfagPnd0Jho9hIKWtm6dFmy/b21gHWSgi4z986/jNdAb8CAdOhGdMA1TY4uzqp0+VoK15FhMGvxCoQDLGabLRSHBMVljdnXU8mC4ODneFqceVerK5uvV5acRF8LpGrktRIoQeblH3X4BGL2lsOzga9yv5GKbevzuZtBsy8JNd0jkSlIA7vMZG9svA6csc9qf3UC/9gTDVmDXHBUL56Uc80MMYeLuwKM5oBpo2kW59P0ZSrjh63CSCEZ7dCYiOkZA1SrIkBRqz0N6gAfSDgO04pRM/xUK1eBANQWTb6tHcnB3IDGnoGtsGugA31bhYBMCWeczdTV3QW5T64OjgaKaY51LBJdTMec11kLmd02NjD9mTXLpDCuxDJkW8adBQJYE6+8lFFlpQ0+ydlPJ/h7PdBottMutcNRaDbRS0borgEgjPbe+S7IKOTEICGrrucA1qc9pF7w4ykIwl2gEb9lnm2x2t6FuSKfkjeYIFWd78097QRYmUKIhFIIL1pz5hd0tmfGxAd4Yrpu3HU5eNND2Q17sR3UsGxT8wMsdGf3R1E1ls6pgUIaw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(39860400002)(346002)(396003)(366004)(376002)(451199018)(2906002)(5660300002)(8936002)(82960400001)(41300700001)(36756003)(86362001)(31696002)(38100700002)(6486002)(6666004)(478600001)(110136005)(83380400001)(2616005)(186003)(26005)(53546011)(6512007)(6506007)(31686004)(66946007)(66556008)(66476007)(8676002)(4326008)(316002)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?czBkMHI3TnYwdXV4Umhxa3lkN2Q0aEdhSzBDNmRvZTl4WWo0OHIwMzZ6S0Ju?=
 =?utf-8?B?bjdtbE4xTC9sanRRalFneENKUG5BUUp4VE81QkZkWTlZNFJZbC9HSkw2azVF?=
 =?utf-8?B?eU1rOTlmOHNIMWFTcTNJc0o5clBnbjhsVjNtbm9sOEZwdXppQm1SSUFIMjNQ?=
 =?utf-8?B?SVJST2dmYldpZUZDWlBRbEtBZkFRUXE4S20vWElYZE9rOHIzT2J6S1NwMDNH?=
 =?utf-8?B?S2pjN0poRlUzeGsxc3psUGFXTEpOTjNjUy9sWlRnZ3cvdm1sTXNveUZLaktT?=
 =?utf-8?B?dUVBSGNsZmJnWjM2aDVCYUF2bG5ITFBUZTcyWWFGZ2Y1bElSc3ZEQ3NaeGxu?=
 =?utf-8?B?blVBRDJzSmI5ejUzcVFNSlpkWjJQVjBVOVdwcEFqSHlRQnUvVnl1d2dIdnov?=
 =?utf-8?B?ZjlFU2p0ZU5nYllad1lSMGticVNOWGtGT25hQjNJRm5EWUY0c2FIci9CdzV6?=
 =?utf-8?B?RG1CR29WSXA5ZE42YmFkUkI3a3FJN2Q1U0dONVBnRW1zcGUzQTEraHB2di9P?=
 =?utf-8?B?U2dpYXE3dWZIWHA5Z09henpKdXR5K2UzdFVpSTF4MFkrLzZSVUtkSG1Nemg3?=
 =?utf-8?B?SjBwME5HaUE3eSt3clRmbGd5MFJkVXA0NU4rNU1VVTdUdXdCbGw0SHM4WmpN?=
 =?utf-8?B?RDdkSGgybE8wdlNkLzM2aEx3bmpzMjI0YXFUWHI3Ui9uYU14RTBwMGR6eWht?=
 =?utf-8?B?TzN0UUN5RUxjYXpkZ29tb2FIUXEvZlBIZjErOEZaSmlPaVJSbUMxY3Vaemsz?=
 =?utf-8?B?ZHZETStMR1VlR0xiNUpUTzN6aVlFZDM0aUNySVMrVG1LVUlqYkkxM1hxOUlI?=
 =?utf-8?B?bm1IK09rSkwrNHFIZWJhajBOSlVtcXBxeU5rMlUxRldxbXVwdTlvZzExWjhm?=
 =?utf-8?B?b0FPUEFLNURWM3lBV1JOVHZVY0drMGg0MTlYOGQwMktQYjVXeTMxK2FHeVM1?=
 =?utf-8?B?OVJJWU50VDB1YVowLzBjcDh5QmZ0Y2J4U1BPVUxZSUVsS05pUGZQR3V2ZGFD?=
 =?utf-8?B?L1NKSTA1aUtxV0oyamxzTlh1UEtUYng1VDZNOWtPRmNnV2RzMm9zNXdKNjFG?=
 =?utf-8?B?bDZoLzV6ZVBIU2FEVUpEbnFGNmxLbmxnMHFEYzBKcTcyOU9CQk45MUFrTWxU?=
 =?utf-8?B?a2I1VWsxR2JCNnRCWXFPUzNaM05qNW03YlZOUGYrTit0eUtTamJua2NOMDFC?=
 =?utf-8?B?MnNEdTJUdDUreldPRlVqMXdwRmRXeVlqaTJ5blYvNEJKdUdWQVZTNHJYVDli?=
 =?utf-8?B?UHN6UWh0RDFsOVpGQk1VR3ZudHVBTUlFdzVmYThWYnBSUkYvT3RLM0xxdHhj?=
 =?utf-8?B?QnBKdGh1OGRBMUNCdmRzNEVXTDJvcUxCajgyOXpGYUFLZGd2SVVBb1dzZnVz?=
 =?utf-8?B?N3VRM1dSQjA3ekNmcGRzcXBIZ2ZtUUw4SXd3VVR2VE1GVFVNYzJrVDVzOXBy?=
 =?utf-8?B?SGRuQXgyYjU5VWs1bTQ2eVV5QUV5dnFkQTQyUSs2SDVXbEpCK3ZHME1vYUZM?=
 =?utf-8?B?TVAxQjB5YmkvK3dLcHRMT0dlM1JINHNtYmdweDZObit6b05jT3pLOGpJQWds?=
 =?utf-8?B?NkdhelBVQkRLekxnMzlZRlNMbjFYMFk4ZDZYTEtoQTZuR3RzMmpJUXd0U1BN?=
 =?utf-8?B?M0tCMkd2ZDdFelovd3RZZXFOOHlVekJSNm5VY2N3OWwwejlaaWFWWlFncmVm?=
 =?utf-8?B?aTVYWEVSYllTSm5tNmRNNmNPd2QrNG1MOXBqKzc2Rk52ZUFJejVYT2hZVzhx?=
 =?utf-8?B?Ny95UWNVbkNpNVhXSDNUOWtESUtUcVJWeHBFeG1UMkpXc0xkdFNnd3hHWGh4?=
 =?utf-8?B?eGk2ODh5cHdad0NIeFBPZkMzTER2VFRZTEUyazRwcFFETGZZcFpZREZYK1RH?=
 =?utf-8?B?cmxXU2dqS1ZpNkw3ZDFSM1JJZzdFS0hObjcwdEY4YjZUcDk2aGh0OVR4c0gx?=
 =?utf-8?B?UlRPSEtzaFR0S2pyR0N0cnFrU21MUlV2Mis2Zlh5Z0R1RWd6NVlVK2pXRWZN?=
 =?utf-8?B?dUQ1TGFUZWpTY29kekpES3B5L003dXZjbXpLaFptRFJ2ZEpMa3VlVFpYSStl?=
 =?utf-8?B?Z3NLS29WOVB5eUplM0ZLR04zeWUyTzFldFNvT2FLR3pnWDR1amRJemFkWlFW?=
 =?utf-8?B?S0ZRSCtmYzB6bjJ2UHkyQ3E2dlJrdGdFWnBuOGMwaWp0M29UbXZlQUsvbEpt?=
 =?utf-8?B?MFE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	BATsXDtQ1LblsCyzBd720OUs+lO7B0vONM+3qo7u46V5m8mnGaSpSgxm3qpJFiPLR6UYDKWexv/eZOJueQZTKQiBEzKrmSpYG+HujgBthbHxJ8XXJv2388kHef6dGV/THWVe52rs86Lk5xYs0NOEqIwDHq7X0lzDPddvFfwHO2De+MecfJICcWoC5vHguxfqC2xIEUPwSNTZ1XjQDcVmiSw+VaywfUQ0Ag1jW6MPpwoWz0roKdWtE2EkF1q4oZN4RqwUlaDxW8PHrVN7AIgmN5R3giFDBw7fguIkoRcz2eX/X8gfMxq3T4N7eaerAW5BpCAzehAZQfETVQw+4Q+xqyyqBgMhyLBhkO2wfJTfHdSNIOtCl3uhtqOshw/rq8O6PpByMXtd0r0RvfSBPIlnwHPgxsxpXTYrrZ9rKJL6hPGBjh/IWaCJdDBG5ftKKL2CCZYofm6R2CHcLYPY/8S5lNkfxgYWyUN7kR4sbmdA8zNuJEw4hLI8Ul0qouf44A8OliP6paYKd27vhDYNW7BH6JrOYeR+iE88Md983Dk5kCM5ExKVMAI28gl19reHeZIgNrJ2ERyPH8bgsR1dlze1hL8UJhCVJeho5dvSNxq2/uDISiK0maVJygBXPvnX18X8VP0WAlTBYLr1lfibbekfRZZ6ACOrCmpoU3v65g9Z3P50kNqdxbEKX/x2h52PVc5pIUc86/ohH4JbI9pxxxl2c5YijmljTlbGIZ88sXIsNypFvM+HVYx+sd8w1t0RLS+XoW+whEJFEniJGlEZlngGfZ2jfHsrLlalKAkeePPeQROWr8wkrlPMRNWa2t0uLcqy
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: be663c7e-ce5a-4db5-19e1-08db2bcaf7c2
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 18:18:14.6106
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7cExmyRc+ooAo3FpOkwHukeRD5R8saoJwEolTAtviCPi0c/G7PjVx9/YGWGLgDXmrtHFfQFnW6ixGn/kklhRxUxzPwmy5F+8UCtQpHgi3/U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6197

On 22/03/2023 9:35 am, Jan Beulich wrote:
> Emulation related functions are involved in HVM handling only, and in
> some cases they even invoke such checks after having already done things
> which are valid for HVM domains only. OOS active also implies HVM. In
> sh_remove_all_mappings() one of the two checks is redundant with an
> earlier paging_mode_external() one (the other, however, needs to stay).
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/arch/x86/mm/shadow/common.c
> +++ b/xen/arch/x86/mm/shadow/common.c
> @@ -1522,7 +1522,7 @@ int sh_remove_all_mappings(struct domain
>                 && (page->count_info & PGC_count_mask) <= 3
>                 && ((page->u.inuse.type_info & PGT_count_mask)
>                     == (is_special_page(page) ||
> -                       (is_hvm_domain(d) && is_ioreq_server_page(d, page))))) )
> +                       is_ioreq_server_page(d, page)))) )
>              printk(XENLOG_G_ERR "can't find all mappings of mfn %"PRI_mfn
>                     " (gfn %"PRI_gfn"): c=%lx t=%lx s=%d i=%d\n",
>                     mfn_x(gmfn), gfn_x(gfn),

Out of context here needs an equivalent adjustment.

But in this case, I'm not sure the commit message covers the relevant
details.  ioreq servers have been made fully common since this code was
written, and *that* is a better reason for dropping the predicates IMO
than the redundancy with paging_mode_external().

That said...  I'm not sure the logic here is correct any more.  It used
to be the case that ioreq pages were in the p2m, but they're outside of
the p2m these days, so don't see how there can be any interaction with
unexpected refcounts any more.

I suspect that one way or another, this change wants to be in a separate
patch.

> --- a/xen/arch/x86/mm/shadow/multi.c
> +++ b/xen/arch/x86/mm/shadow/multi.c
> @@ -3441,7 +3441,7 @@ int sh_rm_write_access_from_sl1p(struct
>  
>  #ifdef CONFIG_HVM
>      /* Remember if we've been told that this process is being torn down */
> -    if ( curr->domain == d && is_hvm_domain(d) )
> +    if ( curr->domain == d )
>          curr->arch.paging.shadow.pagetable_dying
>              = mfn_to_page(gmfn)->pagetable_dying;
>  #endif

This one is dangerous.

After tracing, I can see that sh_rm_write_access_from_sl1p() is only
called from OOS functions, but this function itself does its very best
to look like it has mixed PV + HVM usage, and dropping this conditional
means that pagetable_dying can, in principle at least, become non-NULL
for a PV guest.

I think this function needs to be made far more obviously HVM-only first.

> --- a/xen/arch/x86/mm/shadow/oos.c
> +++ b/xen/arch/x86/mm/shadow/oos.c
> @@ -577,7 +577,6 @@ int sh_unsync(struct vcpu *v, mfn_t gmfn
>      if ( pg->shadow_flags &
>           ((SHF_page_type_mask & ~SHF_L1_ANY) | SHF_out_of_sync)
>           || sh_page_has_multiple_shadows(pg)
> -         || !is_hvm_vcpu(v)
>           || !v->domain->arch.paging.shadow.oos_active )

This is reachable for PV guests as far as I can see.  What am I missing ?

The changes in hvm.c are all fine, and for those alone, consider it R-by
if you end up splitting the patch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 18:28:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 18:28:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514044.795960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfPft-0003ax-MH; Thu, 23 Mar 2023 18:28:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514044.795960; Thu, 23 Mar 2023 18:28: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 1pfPft-0003aq-Ja; Thu, 23 Mar 2023 18:28:33 +0000
Received: by outflank-mailman (input) for mailman id 514044;
 Thu, 23 Mar 2023 18:28: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfPfr-0003ak-S9
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 18:28:31 +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 80e403fc-c9a8-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 19:28:29 +0100 (CET)
Received: from mail-dm6nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 14:28:20 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO1PR03MB5858.namprd03.prod.outlook.com (2603:10b6:303:9d::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 18:28:18 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 18:28:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80e403fc-c9a8-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679596109;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=zdc3FH08tjDh2mqq1+ESQmm0y22mAPxOFGlevcVRR+I=;
  b=anHslubXQhfZPU9IC3MNg9OPHWXxqfdFp/DIMqPtcHvgfWUscnth0At/
   iTEGFYXbrN2r9YkQuF6zgFU4ffTnqodTHq2hg+AfDZZWNbp9Q2lnBRYRf
   ROxrmeF6rNf3eJjvSq4gJx0QmscfJaZjCbLcD0/gukjThF9dW5gLbhoD3
   E=;
X-IronPort-RemoteIP: 104.47.58.108
X-IronPort-MID: 104493177
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:OfmTZKLOuklYmaYbFE+R4ZQlxSXFcZb7ZxGr2PjKsXjdYENS1TUHy
 2QcXGyDMqzfazD2KYsia9zn/UNU6J6Ay95kTFRlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZlPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5qLlty5
 ds6FwstVTTAv8O4w5njEe5F05FLwMnDZOvzu1lG5BSAVbMKZM6GRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dnpTGLnGSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHunBNNJTeLnnhJsqHuhxG06VFoHbwWAi9K/oReUdY8YF
 nVBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9Vna15rqS6zSoNkA9MW4HTT8JS00C+daLnW0ophfGT9ImHKvriNTwQGn02
 2rT9Hh4gKgPh8kW0an95UrAnz+nupnOSEgy+xnTWWWmqAh+YeZJerCV1LQS1t4YRK7xc7VLl
 CFsdxS2hAzWMaywqQ==
IronPort-HdrOrdr: A9a23:KUxqgKF3JQ9QHgL0pLqE+ceALOsnbusQ8zAXPiFKJCC9F/by/f
 xG88566faKskdyZJhNo7+90cq7LU80l6QFgrX5VI3KNDUO01HIEGgN1+XfKjTbakjDytI=
X-IronPort-AV: E=Sophos;i="5.98,285,1673931600"; 
   d="scan'208";a="104493177"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h9w6IZuFTQCOU+rSpvYxkUuBCCJyAjWgacNju+mQA0n6XtNMAqXRD6eXLI20/T2JNmBQ0H8lU12ehhqozUS/26jpDqKEU6wTAApzo3ggkrtCpxusor6xzZS6or4+ql4fwcGOOFw/i9EufFICoq3pSR9b+LLdN+QTKoGhHx1I3fBeh/ffmY0Enc6H7p6rUncAficREEvfHaKNJHD+/7c0IdWi+Sr+r31JjN6fEdbN7jCwdB5DozUn/Nmz2ZxupgdU2wLOQ3+YeKphPBbm5kqnUzwLUDGqom9D6gWgNvJQJF1xcb3ZkFUHpvQroLK6Boe791KFGTCblKu7sORKvKnL9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4WGZH1vW4lzrH+1zyZw9Ab0ewh+SjZa1gRO+RBef6Iw=;
 b=jJZjIhsysEkG1+SSepDsGeQccw0Wd4iytjtmCKs1a+62+uoCGBt8Kj1zGSej1ijNF4b9qd/4OEl/DuqVW+f0LtgxPsxPxsCCXduj+obc023AZj1V9VdVstf+G4bEWHq+9LJPVEQ0k1NK4XDEwTppmRogYFXXZmdkgm0jM1qDQwWmeWSaNHE3E+XqKBAsktsZMSKkNqybBOfRHT4+pTNE0lGhXdb+wcz13RxvBUSuLfw6xjzLv0WJ3PPwIYDgSd2+0p7qrSbX+hCgokjXjQk3e6YPDT0IdTzs8lAgoQENAbSTWjpeM9+3b7UObxhQxIpmQlRJBOsezxULrXwVGghqsQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4WGZH1vW4lzrH+1zyZw9Ab0ewh+SjZa1gRO+RBef6Iw=;
 b=TWwqmX3P7zpkfxcLobEXbFvxz/9+GcjaSKAuogeVqE26famveXq6+RYyaxnWcEO1sOaDxQsdfKVUhm8DFbs68I4T92Ni4s3vxYjkpnOu3OMFg/VRwXcVMEmDAZhYNM+Xn5tLl0zyuBloetQlcZVmrfXkKnLH9EQOvjY7jQ9CZz0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <65662ae6-8a86-ddba-a3e8-57ee557f5b80@citrix.com>
Date: Thu, 23 Mar 2023 18:28:12 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 12/16] x86/shadow: make monitor table create/destroy more
 consistent
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <d6ef377e-731e-faa4-aa43-ef40ea34be07@suse.com>
In-Reply-To: <d6ef377e-731e-faa4-aa43-ef40ea34be07@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0175.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:312::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CO1PR03MB5858:EE_
X-MS-Office365-Filtering-Correlation-Id: c0211866-82fe-49ab-b33f-08db2bcc5fc5
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e6VLZ80ZMCAQpjEFN2a4C0m3SSbqV+dNR5xog6m7h5EnMYk3Y32vKgzdrF1qJsonZZw/W1jhvWuojrAGGDElfAASzj98cTybIiCJlxzWhjpXqXnb70o+HHjav0ysW5myksFr3HomDQyVlGsME0qLohKjOAoq+WFrAooW+AD838F3nyM1ZBVBj4wZEfMELl/fGZGRRD5HzqbwnwA6VZgL7hOZQlMqJxwwyYGkwqCULPwsCVAMXxvnUd1OoKLkjq7Q6xsa9vAiRcXM5tzFQ9fYWnxvfsnl4GF0FH8z5ietr/TfX/A+LH5tLrUzWfY2nFmSARycjcmV+DELizodGfv9KKQuB8t3OicPESudJTFFHwEYE+AfNEvCLgt67tLIYjHaTyataVKWA4NExFYJK8GK3T5sF/I/2/YoHIqut9a4wADSoxt2l8nc8/PZ6YhIgzGoIlDxzMnvGby9jXq5KNZID276dsAwJ4tigD3fTbbvs/yKEaV+vxusq69y9mQmye1QKE/+cKRHe2TS8SdamCa+xgEhGFrH/JaY6tDQUha1fkXlrpYY2IUzdFvLSE7yVDrPsV90b9pHc+/LWoUfgBReqSshLJ3Xurvj0Bz3GAc4HtyNAXTFH2V/X8Q1CwBr2ZuWMd5XHoImMrcMvEazL4x5GT58m+BaELlVdqtvsxs7lB91T1GrICzLAq3x0IPzAngA3C1KtoEoJU20mWZ+H2GIlEOzOhk9STg78w/T5Lql7kE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(376002)(346002)(136003)(39860400002)(396003)(451199018)(31686004)(38100700002)(2906002)(66899018)(478600001)(83380400001)(6486002)(186003)(2616005)(31696002)(86362001)(36756003)(110136005)(316002)(66946007)(54906003)(8676002)(66556008)(4326008)(66476007)(8936002)(26005)(6666004)(6512007)(6506007)(53546011)(5660300002)(41300700001)(82960400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S1lyS0N5SVRjcndrSjRDY0h4UTJNMUYweTkvYTZTeVl0R24wNVJwWWI4cUMx?=
 =?utf-8?B?ZUZraWp3S0ZtNHVhQlQ1ZVNBM3hucmcvOEM1U3FJVHhlQXdBb0lRbW5mcWd5?=
 =?utf-8?B?Zzk2SEt3dDNDMTFJMTA4WGNIREdqTzhlM3paRy82eEdVczJvdEg0ZjJNVlJP?=
 =?utf-8?B?Rm03R0IvVEpicmZ5amhaWXFVL3M4R1hRb0tNd0V5clhyRWFzTmxEVWlPQUda?=
 =?utf-8?B?U0ZOWGluVW5KSWM0MFhtNzd0dEZhYjI5Tk1OZ21zdWhkVW5pcEdvYms3dGds?=
 =?utf-8?B?NG5RUzRUdzRHN2RkUkRxU0x1N1d1SDdSVjVMT0Q1aGNyWDN1V1BWSis2bi90?=
 =?utf-8?B?RXRRK2RLaVNLNU1RYWx1WkRxQVpIa1pSa0ZFOTZDMzU4TWRsazM5azdVUzBr?=
 =?utf-8?B?bGNRSlR1a3dZbkFISzl3bDRkYkhkaWVZNUdWaEpWMTU2UlRGdDlmWEIyR3Yy?=
 =?utf-8?B?WVN3UzV6bVg1c1RrdVZyMGhuUW9hNnpiRkFJR2dXRlNGTU50S0UxVlg0VER0?=
 =?utf-8?B?S1BqRzdmZmNkTTdyVjhCSmMyeXV1Q2M3MWhzMGxzV3RWQTJIbGFhWkdNS2R4?=
 =?utf-8?B?cWo1Ry8rajE3RC9jazJyM3c4Q3dUUXdLaHBKUWR3bUExZmZTUVc2YUNzQzFW?=
 =?utf-8?B?WHlvVGkyeGZuekZFeG56eGdISEZDcGN1UmQzL0FxUkZqVXdZZ1FyK0NXWmVa?=
 =?utf-8?B?ZUYxTHBHMmxUR1VPS3IycWRQdmlMbzVvSmsyM2x2eVdwbE1kaDNPZWhqSlYx?=
 =?utf-8?B?elA4U2xIYThvbTlUUUZFUkVTVE9BQldHeXlWOTRYZ3lHMkg0K20yWVJoM2Qw?=
 =?utf-8?B?VjVLYVVaZXBpU0RCV0UyaXZSbVBjNlZrSjZQbHB0RkUxZDhkQmJ5WXZQWGxq?=
 =?utf-8?B?cm5xWFBNZU41WG5NYkYrbzFNcVVsWDJ2MzVsUk1weGQzaW53dTUyeUlJUTU2?=
 =?utf-8?B?ajI2dXFCTVFDdHdUb1RtN2NRZEVGZmp4VE5sU05PdjE2NWN5ZGd4SGJWK0lu?=
 =?utf-8?B?U1ErZFlEYmRSQWpxbDJvQTJjMDBoejlkTTcyRHdPMXBydFMwQjAzaWlyL1lG?=
 =?utf-8?B?NXgxWkhEempqd3REbHlQOXpGbzFGK2ZRNHNKUDRwV3RLcUsxTXJTendKNFNv?=
 =?utf-8?B?dmZ2VzZUNXdxWGd1NDJFRGp6a3JJWnlHSWF1eEIxNlI2VmpZS3J5bENEaDd4?=
 =?utf-8?B?cTkvVTN2dEhNNnNVM2ZVQWlmYjJ3Q2Fha2RMMS9qK3FBRFRMdzlRaldUaVpk?=
 =?utf-8?B?TzgrWDFqUnJNRDkweEhGZ3NnOHovNG5SeW9MR3hJVkVJTmpEV2VuRXpmQXB0?=
 =?utf-8?B?Z2d3czVoWUpKbFZGK0hGSUVsaEVhTzhsRnN0blRGc3YySEFEYmJncUZQc3hF?=
 =?utf-8?B?VlVaeTN3dXRjVUg1dmZtYmpkUlJNQ0tQekE5MFpDTEdtdHpTMVNWOUhIV0ls?=
 =?utf-8?B?SnhBdUg5QTFaLzNtN0RhRlA1U0NHYkxQeHV5QW9PeDd6WjNra3pUN0JrYjJV?=
 =?utf-8?B?dkR1NVlmNTN1RExiaXdzcjNnZTM1MWtUVUpHQlFTSkl0MVErMkNoTzZDL09E?=
 =?utf-8?B?bTRtY1N0RmtFVGhVWnAzaGxKdFNhaC9GSVZ3QjZrQUJhazZEbzkvUERDSFdM?=
 =?utf-8?B?Z3VDZE8wTzk1SHlTVVpqQ0JZYlVNMHBXeVc4Q1dEb25UMEF6aWhYblorWUlU?=
 =?utf-8?B?RVZHenZMZHdFR2lXMFR4RFlIWFFMcCsxMXJhTDBWVHRpQmRCNVVCa2lXSmJz?=
 =?utf-8?B?V2IyOUEzMlVudStrYlJ0eG1iVTRCcFAzcFQ3bFpyRXBtbEZyQTZVRnNpWEF6?=
 =?utf-8?B?YnRpbU50OW51R1pTWjkrRXVqTTQvanV6d2d1blNhZlRzK3N5ZTNCUmgyR3Fn?=
 =?utf-8?B?dVJsbDNVbTV3YXVLVlp5ZXlqalVKN1k3L0o5Ly9RcmtUVHdjajZ6bHVtdlNp?=
 =?utf-8?B?clJhN2NGcVpEdWNxeFRUYWoxS0gxcXpab0IvQ1QybFFQb3AwTG9KUFhMSnls?=
 =?utf-8?B?L21XTng4bjlYdFZrd3h1VHAxS0pJR05oTFFsUlQ2d29QUFBsVDk2NXVhcE1Y?=
 =?utf-8?B?YTBiVVQvcDhjVXR0SnJsTklZb3FQdGRReVQvRWV2b1RUWjllbG9KOUdjNHN0?=
 =?utf-8?B?ZTNLb0FmRFp3aFF0Z3dOL1JuTUVTRFdHWm5pRjJiTGhWZFJQMzR1QUN4anNx?=
 =?utf-8?B?bHc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	el1y1CD2qiERNyVV+i8Pw6U+0cyiJUt8tjcLBjOmiZOTlil7WWBMXquSPcTmEvbyPdE2Hr7l1XiwUzoEri6GREUUAsnhCSa+0EOVGQbXnxNCxrNOYm16kNQwJcLcdndf8RnD3HpopLavJyM4AxcZ8Z6jn/nJFgTLRp72haJlWMT7bUQAy7fazfOZFD7eFv5Dznu2FK5cZZ2fhchQrnx6UNaUWEdiDq1qcfSREbwgdh0giD/0rrOhIjHi7D7nbpwWEcC3AzU6jqr1CnkqRs7Lud0g1P8dYM68mHFgA8DTcTut0Eq9/gOboHs1TFcMaHuiNUrmnwP/s+Rvw+04fQEiYdmjMmay9/CoCEeg0ioQL8CDQRo2qobCl2lyT9iRC2zNVakseSUIwcgfdWhCbOS9yO7Yl8tNqU0UDNbsgX0r832rjQl+f2QP2RAbcTJDcGOPPfHCoemnTSrtcUOfKV0LmGaUifiRQkDse7F1HJHGMxKn4gTs9m3/jCNvQoqxqH8PXkOQdAXiyu76ol/utcO65C+Bgu96Arpas1bMXQm89wokxEo7QDA4dZXarOkz8VaVM37kMPdFIEMUiX5m8Lfl6jDU8+FsgiPZbqj7e/BMfEij/SlUUcii++F6Uy3k4gAnnWfVHOLHzfKPJYFonf9REPp+xPBrA8aATEfcv5cb8vLt7GnvPh5rwJFQLMxy7EFYUufJqkighCVC/EgFRjmVi3QkXo4+XPbYN+fBqYK9S0mrk38ZvivdeKOSHTv7jKCW73DzZFBAm8d0ngH8DKOGN5s/tnSW97RGbPDJVy+I/T+QW7SaWsy/XTjSUcwEzfCm
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c0211866-82fe-49ab-b33f-08db2bcc5fc5
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 18:28:18.6296
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ToxUtNgV1DJaTvWIvRzfLTuSJwCnH/HiM5x0ytqcpb4GueRI+p0Rfg0rUiqZKKawhU6b8p1U7onpWmqi+ppLq6qPb8olBMZESpcZVsHvVfY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5858

On 22/03/2023 9:35 am, Jan Beulich wrote:
> While benign at present, it is still a little fragile to operate on a
> wrong "old_mode" value in sh_update_paging_modes(). This can happen when
> no monitor table was present initially - we'd create one for the new
> mode without updating old_mode. Correct this two ways, each of which

I think you mean "Correct this in two ways" ?

> would be sufficient on its own: Once by adding "else" to the second of
> the involved if()s in the function, and then by setting the correct
> initial mode for HVM domains in shadow_vcpu_init().
>
> Further use the same predicate (paging_mode_external()) consistently
> when dealing with shadow mode init/update/cleanup, rather than a mix of
> is_hvm_vcpu() (init), is_hvm_domain() (update), and
> paging_mode_external() (cleanup).
>
> Finally drop a redundant is_hvm_domain() from inside the bigger if()
> (which is being converted to paging_mode_external()) in
> sh_update_paging_modes().
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> --- a/xen/arch/x86/mm/shadow/common.c
> +++ b/xen/arch/x86/mm/shadow/common.c
> @@ -129,8 +129,8 @@ void shadow_vcpu_init(struct vcpu *v)
>      }
>  #endif
>  
> -    v->arch.paging.mode = is_hvm_vcpu(v) ?
> -                          &SHADOW_INTERNAL_NAME(sh_paging_mode, 3) :
> +    v->arch.paging.mode = paging_mode_external(v->domain) ?
> +                          &SHADOW_INTERNAL_NAME(sh_paging_mode, 2) :
>                            &SHADOW_INTERNAL_NAME(sh_paging_mode, 4);

As you're changing this, reposition the ? and : to the start of the
following lines?

But, is 2-level mode actually right?  It's better than 3 certainly, and
is what sh_update_paging_modes() selects, but isn't that only right for
the IDENT_PT case?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 18:29:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 18:29:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514049.795972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfPgr-0004DW-78; Thu, 23 Mar 2023 18:29:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514049.795972; Thu, 23 Mar 2023 18:29: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 1pfPgr-0004DN-22; Thu, 23 Mar 2023 18:29:33 +0000
Received: by outflank-mailman (input) for mailman id 514049;
 Thu, 23 Mar 2023 18:29: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfPgp-0003zz-Pr
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 18:29:31 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4a37aad-c9a8-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 19:29:29 +0100 (CET)
Received: from mail-co1nam11lp2175.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 14:29:13 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BL1PR03MB6007.namprd03.prod.outlook.com (2603:10b6:208:31a::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 18:29:08 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 18:29: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: a4a37aad-c9a8-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679596169;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=2xkGB83F9xkndzSK0vhEL3CZvvcaOXJpyWvyyfVQLBI=;
  b=SpkbHp76H3JC6eb5dgN5gXW3emYPk4nNrI3FX8TYWUwesj/f9l/bX8FN
   4X+QpYNCJqdfnWtI7YwJcUkZb+3LNaPTifk///HhUQSoK7MBuyKSuPwnm
   GyYwO+FfnAyR988XwbvUmFUMsKJxaiPu4IrB45eV6GSXM8pUWDPdKPVlv
   0=;
X-IronPort-RemoteIP: 104.47.56.175
X-IronPort-MID: 104493315
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:YTdiZq/uQk1+gLUaMHAEDrUDs3+TJUtcMsCJ2f8bNWPcYEJGY0x3m
 jBKCmDUPqzYMDH9LdBzaN+1/E9UuMeHnNJrSwFp/yw8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqoQ5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklx+
 PozBhYNdSmo3fur4vWHDe5Ht+YseZyD0IM34hmMzBn/JNN/GNXoZPyP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWNilUujdABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdpOSOzjrac36LGV7mM+M1pVCl+Rmvn6qGmsft1xI
 Ek15QN7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq16bO8vT60fy8PIgcqeS4BZRsI5Z/kuo5bs/7UZtNqEarwhdqsHzj1m
 mmOtHJn2OhVitMX3aKm+1yBmyirupXCUg8y4EPQQ36h6QR6IoWiYuRE9GTm0BqJF67BJnHpg
 ZTOs5XChAzSJflhTBCwfdg=
IronPort-HdrOrdr: A9a23:Ax9/q6yyou1drNOGVej2KrPwHb1zdoMgy1knxilNoEpuA6mlfq
 GV7Y8mPHrP4lsssR4b6Le90cW7MArhHP1OgLX5X43SODUO0VHAROpfBO3Zsl7d8gLFh4xgPM
 xbAs5D4bPLfCBHZAXBjzVQ0exN/DBKys6VbC7lr0tQcQ==
X-IronPort-AV: E=Sophos;i="5.98,285,1673931600"; 
   d="scan'208";a="104493315"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ARhToeCHGMz+DkU3w9t2DClNgcbIfGbESpLmJfDoKUwLa02FU+5v6ft48SYn5VIot3I1dKlFlreo0Rxnr15dmvml+uWtLfftdPlvEulrSf9eMtLKgOAHFtDdHG94ksHDB1fAXRL2ASeAZ57/R/eGCrmBbA/zd0+05GZiMd2Gql8Sur7C7tfq8jpRhIyt3ib/G8FrQb8iD1XlXIE2PNTn1xUlJxx7XXVmQyFeIyhTixSJi4kdEw2ZfoZCnJjhZF1Ywstrt73NB2fh4nugQu5JvAdDTchbvnnELKPSXrhkokT1zYI/F81VCILkYIg4ww3Jc66nKBQMMByfIqi2jrpFPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2xkGB83F9xkndzSK0vhEL3CZvvcaOXJpyWvyyfVQLBI=;
 b=INr0rEVYMuSZCbMbLSZlmOV4vJA48EFMTRcbFkIioZ8xy7NfGtu09/PHeWx5+5zoHKENNS9BMr5io6+01ZOet9UVPmtJF5z8S3fbAQfBbG4hgj1Rrz+7ST37qWi9GPAl/3aK5M426zQ2QKYiR2QZzxaSArr6/+C8o9yYJHTUuMoFBSci/hPZjIEK/wW4Mx50Tw9GxgHeHvirnjHKt4LpRoXk2c0naiHampXCaNomyIAwjkUjhI6bkx+SvF/4kI0yLNE9kyPmMIfpzn8mv940i4M23+0Jf6FrSYbg46UfFBWDWAy/+KZVfgjg+6ZX8D0EE/9GdnRNt0bkWcegnxl0fg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2xkGB83F9xkndzSK0vhEL3CZvvcaOXJpyWvyyfVQLBI=;
 b=PqJne3cuehwrtDHPFx0apsDpeQau6Wi2vafBmjAdrGZeHEohYg4VixEFxtYG9URKE/Px142X4EgPzqxcSk1C1JuOWiUpd+DfLIRxdDrAFlbGRIfamFqVhccE8U+Gm98vfJtgwv6vlq/bxH6zaWTA+xtuJHhFZSDwzyc75qjyjEM=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <db24dcfc-b9c1-d242-e3b2-c6d96b9f460d@citrix.com>
Date: Thu, 23 Mar 2023 18:29:01 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 13/16] x86/shadow: vCPU-s never have "no mode"
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <c9905eb6-85ed-e793-e546-472503fe3bff@suse.com>
In-Reply-To: <c9905eb6-85ed-e793-e546-472503fe3bff@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0173.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:312::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BL1PR03MB6007:EE_
X-MS-Office365-Filtering-Correlation-Id: 5f590579-2594-4467-94f9-08db2bcc7d16
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uiTFHoL4TYhof3c3hm1K2ica/0/0E/ITl0VDnlfXg55huo49pKnXplBmu5LfNDTRDTTQi9oPg85YUDyA+fCoEC3En/TJfJ/o9VVFRBuH4ZX+zciAf7heTJ3wNozaXeS5vK8gfPi+sfGEioI68ENT5d2tDKuOk94ekmzQimtm2eRZG8BqACWkBQoZDOkpAt8RiurVxv5diyL60rqkWX8890vd8skCNHGYZM4lIeND3iLaoKvYpD5RiLy8kp/Wqzsm4D6R0aSQWtrfe4mM++HmhKlo3WyJzE9NL8TBuKkJrDO0TRq+oznUmgK00tzqNdWLMhE1XC/BK+2t1EKEMfRI70ZATBfMvVKHAs6sAxzdphcL9lfGClk6zkn6smi2XnasLtclZdf8dEHU3ec+5hh5LqWVgebD4oAm3HATYQ8E5Dc0Tl8p0fTnr4l3NA0gppSULFk8prcSvE0GVko07/rEK6Gupg2TFDNAe97Mzzm4fMiWmn8z19I+i+CEOFZ1L/EZ9DF03sMF+RDVUFFbDvUNxn++cANp485EubVsFT5g/+gt7QwrncWEumDyKTCjCE37eBtqSFEvBLff68x5Z+/SgULtlVlZr0K0vS6JbbrOTPKvPyTbIAr0qdpGLDO531QYNWgpKfI5s8KWjrJnf1xjKh/eSlkCB5e2YFtokHmKfLMR9C+dBMiamwtrsil0MDV4eZrLc2msVuX8o2PnILrNfynp+mPNPaRnklz3vId69AE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(396003)(366004)(39860400002)(346002)(376002)(451199018)(31686004)(66899018)(41300700001)(4744005)(66556008)(5660300002)(4326008)(66476007)(2906002)(8676002)(86362001)(31696002)(36756003)(82960400001)(38100700002)(6486002)(26005)(6666004)(110136005)(478600001)(316002)(8936002)(83380400001)(54906003)(66946007)(6506007)(6512007)(2616005)(186003)(53546011)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N2FPdDM3eDl0TDRZa3A0N1FxTk1VUWhGcHNYa1h3eVUwTFlTOWZnaUNzVGk5?=
 =?utf-8?B?dlRmSlVtVTU2ZXptYWZFWmFrdXNVZTd5Rko2cmFrdUQxVDQ1c1ZtKzQxOHlP?=
 =?utf-8?B?Q0xyM0xkSGhUbVZzSVYzSnFrNnhnZXZCQlBLaWxTQWpTWnQ5elVoanB6UmlG?=
 =?utf-8?B?TkFMelJIMTNia2VYRm9vRHdISjhGVmFjZHBKZzIrTmhnb2JiaFZORm81U3M1?=
 =?utf-8?B?L2RGc3VVbDIvNnp0a3YyVWxieUhqaHFzcE9GdXJrd0llUU16V1pKZHl6d29V?=
 =?utf-8?B?dStRSlFMazdEeEVLdTBHTzFxVUc1WWxqalhEQVEwOEpMZXdJeExWNHZiMExB?=
 =?utf-8?B?dzhFZktaMlllUFNZekdpa1RPQ3JpN3JVb1R4SG9yTHpIYUtGZ2ttNlpBTmJS?=
 =?utf-8?B?S09pQStscEJPTS9iT1pVU2V0Y2VMYXUzTjFMV1luOHo1dStWeGpJZ09KUzFv?=
 =?utf-8?B?ZmpxektUZWVybExXTVkxWWcwdHVteWhMbnhIVDJ3NVRsVmxHeVUwTnRubnZV?=
 =?utf-8?B?cUNJUXRSbFE4ZlpoRVdyVi92cmNUMU52a0U2UlViMy9CdUkyb1E3dTZQUzF5?=
 =?utf-8?B?WGVRZ3AvZEJjTzVhR0NFRm85aWhCa0YxcVlNL3YyeHh5MzdKS0EyZXpDMXBh?=
 =?utf-8?B?TEM0bi9wR3VnZytmelVyemMwRGNFcW5MVE9CbFQ5bFNaejgxS2p1cUgwazI4?=
 =?utf-8?B?ZjdHSk51S0YrUFpaWm1TSTM1anh3bmdEUTF4bjR4OG4vQjFVeERZM2lzRnRz?=
 =?utf-8?B?WGw5c3RJZWY1YThySUN6QVB2a0VsVHJjMnVXdGw1KzM1SW1qbGw0Vm1SYjRP?=
 =?utf-8?B?TURJVkpndzhzc1RvYVVWeXhVTEFheWV4RDRxdkJGVmhIcnM0WXZQT21tUjE2?=
 =?utf-8?B?dFRzRW9DaUZnendoeXFYdDg1b1FwWVN2UFE4SnFobVc2QWdibytKVWMrbFJ5?=
 =?utf-8?B?VHU0bHBGZGYyZzVGZlVTbVg5c0l2UldqWkNqSU9kZnZ5RDdaRTFOSzFVckpa?=
 =?utf-8?B?VTZnVkp1eG5lSUZBbXlNaHhIa1U3UGVPVW1IOEJQcW1hTklPVUwxbm5YVEVF?=
 =?utf-8?B?U3UweGJDZkltNEJwNWsrcXAyQmozSVVTTllIR3VyT3dEeGxsRnZDOTQ1U29k?=
 =?utf-8?B?NGVQaEVpZDFnWFlTUUJyeVEvUlRLSVBSdy9GZ0c3SkZHYnkvNHltS2ptUkZG?=
 =?utf-8?B?cFFFYTBhclRZN0czd0xGZzNKdGkyRDlYT1kxZWtFZXF4VHF2ZTZjbFV0WTNL?=
 =?utf-8?B?clI5R3QvTTNNVFIyaW1BZG5JL0FJSmsxbEMwVTZOMnIvSCtBYVBKNlIrR2dO?=
 =?utf-8?B?SlJJL0w5Q1FQTkJNaE9LSktvSlJ4RGxaMklKMGl0cFUyaFRQUjFaWUd4OVVH?=
 =?utf-8?B?YmV0L2swRVZoaXMvM3krZmp2VXJUb1VRNUJLZGlFVVhweWEvU1JYNmo1Wjcx?=
 =?utf-8?B?cEZhMUdhYmo3UDdTSkFGQThwakpEL2lneXFSQ0hpVlgzblpMTFREL1ZSTTlK?=
 =?utf-8?B?S1Q2VWxkZS9YYmhoWHE0ZzZUWCszeFRxWVBzaTdKeURqa0c2MWZFREJvUDlP?=
 =?utf-8?B?dzl2b1hucHBBazEvZWtWaDJyWUFKMFA0dGVsYzhZWXUxTDZIT3RGZUJXWG43?=
 =?utf-8?B?ZFU3cjcvTXE1bkV2YzlrQk81aVQwWG5xcUdHN3Nlbzk4OVE2ZW5GdEJVQ2FK?=
 =?utf-8?B?dGtPdStNczhKY0FPYWlUbncxSVJKdCtZaGhPSHRodms5UEhTK1VxOTFkc2ZZ?=
 =?utf-8?B?QUI3NVJBc25YcC9yNUhLdTFJWWNwUEpmVEgzTEVEelkxYjEyNEgyTnFiazZh?=
 =?utf-8?B?Z092OWY0L01MTThNOUhvaFhEODJlT3dHYTlFVlg4NXRsdlB3WmV0QmFhakhD?=
 =?utf-8?B?V013SU1ETUFUdlJYajRuR29ZVEVtL1dqSlJ3Nk9UeWRWaXhlOUh2VWIvbUxR?=
 =?utf-8?B?NkJSS1g1YXRRVGhqdFJTeUJOZmJtL1hVVWg2OURUKzMyT3NRSGxPNUF1WVRM?=
 =?utf-8?B?MXo0Y2RsWUhFaHc5NWVnWGNBMkJNZzFSTUcyN09XL01XUm5zQS9yWGNiTmFM?=
 =?utf-8?B?SGdoVjVPT1Q1bzVtaWV2aVIvVnl1M0JTcFA2aHVsdzM1RDJNU1hOWmtPalZl?=
 =?utf-8?B?UkpKL1g1QU9FMkpoV2o2anV4MFB2SFcyVFIvRTc3NGVtcXhmUHMrM2IwaVpa?=
 =?utf-8?B?a0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	gopeIirlGYo2sOQJjIyGRYRlZtVyPzKP4XwDIEAS9AY8TxWUAWHa5qP2Moelts2+RR/f5acCARLOgqCugGeXzS5RLLij6pi+me/5Ft6307kh1wvdKGnMS9HVLKXdtI9VYsgt7Z+y9vjoZE2cEMBYfu47IIhXPk4OatXxSY4hBBn/+PlZoJNWi2wQHm0b8BDQAde4w0MpIGcT0q8hVomTRdh4HYkRq/0aE6Z+qUxUvJf8IJJhLudAFFqFSTVnKfro6cumUx4iCIuuGpDYLmyH8QgQcVL+ipb/fac1uw/TJ12aeimKQGmGGO9WESt0edHWbGcABaIIlqzn5HAcSC67VNCftndMzQ4paY2yp5nCx2ooPiGbmxTlZUYbBGFLH/B8dwlAY4NAJeFyP1CBp8yxm6ychwgRymoJcJOSAQccWPIeF4C+bha8HcrYAD7ppv9Kl8mejRZ+cWy8RX1vRKDC4WIJrrUADDbWxtOU83hzd37KRxPCiKu/Dkcd3PJ6HXG8Nr+6Jn+gl3fooq8CP8CQXEAKwBBMQ2lbWhOI0EqU7AoKYRyzBf2tqBS4i0z9pM4WSC7imQHVvfCRPyL/wuSVj1LHVho+M2hgqV0u+PpCZkUPICLumHBcnZo/rXRIqpgDsDucOwxPkDopb+Xf2KwKR4gMS/7cKDwByUpJZfvzUyNVRwMhWu70pXQr9jA+qZcuXZM4WA4Lfj5U1+xbZY4C0tfcCojxnbFE1a4A+fx+BZQMcwEty5XyRjlV7OI5HjdTJpi6d1/hPymqDsjzMJaEPW7QVxiuelMpZkja4hJHpBECXBoiVvSHW/hfofdQy2Fb
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5f590579-2594-4467-94f9-08db2bcc7d16
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 18:29:07.8292
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eowaf1B53Q15lvE2Pq3zE8vgmZoqPQy+cLFomx7tw4cdYrYk78mewjNy3zwGTJt4z83dj28F8nLfyi6rB6tNyyQ8uoP1QcZykVw9sS5bcro=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6007

On 22/03/2023 9:36 am, Jan Beulich wrote:
> With an initial mode installed by shadow_vcpu_init(), there's no need
> for sh_update_paging_modes() to deal with the "mode is still unset"
> case. Leave an assertion, though.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 18:30:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 18:30:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514051.795981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfPhh-0005Zz-EN; Thu, 23 Mar 2023 18:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514051.795981; Thu, 23 Mar 2023 18: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 1pfPhh-0005Zs-BR; Thu, 23 Mar 2023 18:30:25 +0000
Received: by outflank-mailman (input) for mailman id 514051;
 Thu, 23 Mar 2023 18:30: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfPhg-0005Zc-Bx
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 18:30:24 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c451499e-c9a8-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 19:30:21 +0100 (CET)
Received: from mail-dm6nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 14:30:13 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO1PR03MB5665.namprd03.prod.outlook.com (2603:10b6:303:94::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 18:30:09 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 18:30:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c451499e-c9a8-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679596221;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Of7156c3zk/YjPA0gfESys8/Np6ygfs47Mi4th/4sZo=;
  b=VCxrPp3kp9gBSVbxd7NuWyfuioMXH5GOvCEh7xv1IGIk3F2u61FsDxQX
   VG4a0IbUuRpg8NdJyOMmHSne9HKEX0Fk8sUah5c1I1ihji8OQmhHG6+Y9
   O9sy35My13bKfOn4AWZ7lhQdCCujCpuPWoXqG1yB/7VAhqxiAuG0XjpzS
   w=;
X-IronPort-RemoteIP: 104.47.58.108
X-IronPort-MID: 100873718
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:D3NCPK8RbXbJY/dAmOnRDrUDsH+TJUtcMsCJ2f8bNWPcYEJGY0x3z
 WUZC2vTPKnZZzHzKYsgaoixpksOvcPcy9ExHAQ/qH08E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqoQ5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkkR9
 dMqAhBQSiqBqNucmK2Gabk33cYKeZyD0IM34hmMzBn/JNN/GdXvZvuP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWDilUpgNABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdpKROLjqac66LGV7l40Vwc0cguimKPj0neTafYcG
 nwK5RN7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxaUAC0IQyBMbPQitdQqXno62
 1mRhdTrCDdz9rqPRhq16bO8vT60fy8PIgcqeS4BZRsI5Z/kuo5bs/7UZtNqEarwgtirHzj1m
 miOtHJn3+VVitMX3aKm+1yBmyirupXCUg8y4EPQQ36h6QR6IoWiYuRE9GTm0BqJF67BJnHpg
 ZTOs5P2ADwmZX1VqBGwfQ==
IronPort-HdrOrdr: A9a23:cbhWj64Kql7Zghr5fQPXwPnXdLJyesId70hD6qkmc20xTiX4rb
 HUoB1/73WYtN9/YgBGpTntAtj4fZq+z/9ICOsqTNOftWDd0QPCEGgF1/qA/9TOIVydygc379
 YHT0ERMqyJMbG4t6nHCcuDf+rIDOPozElgv4fj80s=
X-IronPort-AV: E=Sophos;i="5.98,285,1673931600"; 
   d="scan'208";a="100873718"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H/Hk82gS0FT5rvB/QeFLb+ryvAJOt6rPA97qubspOgbjCs469F4rwAPCRRZChvP302Xns2rxM06Op0xPBbEBXU4PZakPrJUzd+jkc1jqE0zKE5Rmkx1lm3kYfEZF/0CZGK6Xs5RvaJcsXjDTJ4acWVqMhzDbgWJV7bSZ5+qMFdmc1fZ1a/nMaBb621sAzbhL6zSDFiHQP9eovg0MX1spdEpPTATZpFgH2JXBz3n+WDqCFjVds2EOTY0J+J2htsIpKORzu75M8+LjdyNHmMzvOQhsdkuejl4+Bsjy8Ia7gBgNAhPSy5nBCTG2szztBOP2zuYHkqH+2qlYP6mGAsm18A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Of7156c3zk/YjPA0gfESys8/Np6ygfs47Mi4th/4sZo=;
 b=AMASLbq2G70/Iot6zST6oj4qvXWpdnFqFp4PwSoq7JUThoE6o66hifn3jHMDRXLRxyPd1QnyvhHwtXgRHYHX/syAqMZ6OOWZZfp8kS1z0UXZmjXt0f/QJJxjuyFTd8rYuTE3qgFlasIX2SOMy5Bo8cyZqF9p44DK94ZHMEATjZdYpE6qcMW4q1MccB23rspx3fpY20RobdGbSuGIzLqUncQkxInmyuIC5UHzDACzVtM2cI579H+LRtj1rZLFXKMA7lCFICJl/6Puo1CH41Ui/i64dCRWGekFshWPsOBbJyxfz6xlu7UKZfUCI5NTP/glrKZMET76eDTn0BsXhLiayQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Of7156c3zk/YjPA0gfESys8/Np6ygfs47Mi4th/4sZo=;
 b=mHmhqtTwIknSzWbB8eSGKCQz8KSXkrJgnYh9AZ90wyEii5MGgWTpslUkTjtwUkrTh2I1SuayY2hN2avxefd3sb9yHp9ffsvs/iulxkqJW1SIH5iakqYQtb1bOEmtBN/2GMittomoMhNx9ml+K5m6h2PEXTgW51t5EUQjrxwszaQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <f9f5efc3-9d52-9ac4-1c5e-024e26214437@citrix.com>
Date: Thu, 23 Mar 2023 18:30:03 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 14/16] x86/shadow: "monitor table" is a HVM-only concept
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <eef2f500-7b77-8120-0c0c-8a8b4fcaac26@suse.com>
In-Reply-To: <eef2f500-7b77-8120-0c0c-8a8b4fcaac26@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0177.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:312::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CO1PR03MB5665:EE_
X-MS-Office365-Filtering-Correlation-Id: 5202bdfc-3da5-4f12-da25-08db2bcca184
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dXKR1eAAbqkf4pYFJfBLovymwBPF3oiloVGJAQ1yflmHVnuOTizef+aDfqcRnAZr8+tX7lQRtGjI/DuXwxggBoXOeiWpEtDxYIZEZe7nBtFBcQLvplgZHUpjqRP+LfP4jQKbBRBaoYWnHTVhr74C91/JCFSn50C/09BBZ2LGlsjAM0wr4daW1vyYUpNtJxIPyMEkXt+zY3Ph0oZnhqAUutsT4f9zP+K8ylny+G1Ij1iC5QrQv38mX2aRMld1f+J0vOdzjxaN6MNg4KckQccd+MHQCbYqaG9BhXaFvJnsb5IBa7TvDMfIVUUDxaU51imnhuNPCeUZy+ueFsKpCAcH/ILTu/QAin140f58mUSF2MxdLnCJonzkOXdWwegXHWgqR+eCt5ZJnrljKrjO9pOrchpncGt0yfBopbolkHWyY71oXceCnJN3qnIMSQy3kZyOMyqm08KIPHyipwY0EuTd6rAA7Mu+H6u3fTUsEz4bKwSZL/sKKVRbRk5qrpZSbaNp0ap3PKWmwudEDulm4+R8ZgwRyw8QPROOQT8qOyUtuv15QP75mkj5GgBmtD9ZF6fhsBgHBOM4iOa6HW5/fSQd9arT8lXibhNbdhqSa8KJONh4mn8CM3vQx0ik3Z1ScqNesPdl48YfVP1xOdPI4wS6WDs/14e+hO1yJrQAahFu3frKiH7JPPWcIEz/PD9vHqlGMXNCgt3X9bdjVRGk+Ib7Js2cI1ZaO0k9Y+IOJ0C8zKM=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(366004)(396003)(376002)(136003)(346002)(451199018)(31686004)(8936002)(66946007)(66476007)(66556008)(41300700001)(4326008)(8676002)(86362001)(36756003)(38100700002)(6512007)(6506007)(53546011)(31696002)(26005)(2616005)(186003)(6666004)(316002)(478600001)(6486002)(54906003)(110136005)(5660300002)(82960400001)(2906002)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OEd2d1Q1ajhrYzRseUVXSjVrWHNYU2NYNVVNK0pPNml5MW91bkpmS3FlUXl6?=
 =?utf-8?B?SG9Ecyt0WmI5eEhzN2Y5K3ZPL3RSbndZQ0UzOWRud1pOUnVSQ1VDaWZENzhn?=
 =?utf-8?B?bm03bFQ3TXNlaFhYUTIwNytwcUROVldkSlp6K0VSTGUvZjk5ZkVzZENLMFUx?=
 =?utf-8?B?S0ROenl2amlVSUh0Z0JmZkUwdm9zTW5BQU1EYTloUVU5dHBobjc1ZCs3WlJ5?=
 =?utf-8?B?bUNNd2lhM1dWMW5Kd1NkandPSWgwSU9ubHU1OTg4MlAwa1U3L3hNYVNRTDkw?=
 =?utf-8?B?TXNyMmxsWVNuNFFXUDh5UUtMU3I5NkNIMjFpaEdzbmlLN1lnQXVsMFpVMkEy?=
 =?utf-8?B?SERrZ2dPNS9BVFFUNGlKL1pXdmU0SERnT1ZZY0l1MngrV2hSMTBGZUovZnR5?=
 =?utf-8?B?RDZhaUVxQkM3WlR5c3RjaUNPb1g2VEx0MXNwYi8rd3dJNnVDdTVPMUZSYkVh?=
 =?utf-8?B?cElGY01QQmYzZFRoWjh5ZHdudDJUYnh3UWJJNTA3ZEVxcTZEbGs4b1B0UlNU?=
 =?utf-8?B?RUk2b2t1clMvTVlxQklHMFpTYXVqNklVcXJLdTBkOVVKblF4M0U3YSt1eG9z?=
 =?utf-8?B?UnJDZzI2OFc4ckpnaE1GR3Mra3djTEp5L0tyenFrS3ZpZ2NVOFZKam9ydXU5?=
 =?utf-8?B?VHF4ZTQzcHQvUjd4MXBId2lFRStiTElLUktjcXp0K0l2ZnF6bWplT2RTTUJF?=
 =?utf-8?B?RDJOV05YdWtaK1NSME5wb1RQVm1MQk9DdjY3bXN5NVo3alZGVUttcGlwNkpu?=
 =?utf-8?B?NjQ5YkczNjkvZyt6T2FvWlU2KzZ6NFcvZG04Vm9FeSt3QU5CSnVIbVRKQWVC?=
 =?utf-8?B?TDVnalZ3Y1Ewc3daSHAvZXNWUlVhUGNTdThGZjYvMDRJVjhDeStOVWRQU2wz?=
 =?utf-8?B?b1Foc2N1a1hFZVpyVVFheXBJbWNuK3FWS1FDcU1CSUdJRnBpUUtCaTB6aUpx?=
 =?utf-8?B?cTJpUmlkWjRNRzhtb01CbXg2bHo1L29ZeTk5NTRDcEpoUkNmTk5oOEpEK1VV?=
 =?utf-8?B?U2wrWHFIZ1VZSjlTRVBMOUF0ZGorWWw5SkRrc0NSanJlWnFJWkluZVRnSVMv?=
 =?utf-8?B?UmdONUs0NWtmL3Z2c2RiWnE1Mk1TMEFWNlp2bFlhandJbFZmV20vRzlhMmlh?=
 =?utf-8?B?NFBlbVA1REZyYXBSWHgrMU4veU5OaGs1dHU5WFprL2tURlAzSXNGWUxPQm1i?=
 =?utf-8?B?c2tpUVlGUGZRZFl5MUczYU8xcGtPTGxoRCt4VnRJNGoxY3d3NUFyaVAyTjN1?=
 =?utf-8?B?c0paaThMVmxFTnB0QkJNQTRkQUplbnRGaTlzendBSEJyWlJWWXFjYnR0Slc4?=
 =?utf-8?B?aVlDdHJrSlpPZks0RXE0c3lmZ2ZZZlB5b2NnQWJlWVRNLzRwU3UxdDFWeVVX?=
 =?utf-8?B?a3Z6UzBFVGtNRUZnaStqVUFRTmhidEZtSURQZlcvWi9qMFl4UC9WRWJrclZp?=
 =?utf-8?B?b3UxOEJ5OTdsT0VMamdTM1hmR2I3SnFNbXo2akZDaFJIb2V2Yk1QdmNwc2gw?=
 =?utf-8?B?anJHUit0TWxWSytmTERHZW5NQ0dGUWpYMTVFL1dzV1RUQW9tK2dCTVl4bWMy?=
 =?utf-8?B?OHNIZjBrY3ovT2VFR1JGYkd6NzRyWGNjUUduYzZKQnRRV09YYUs5Vzljdndq?=
 =?utf-8?B?V1hmSTZNT2ZCd1dQUGhIdlRTck9tMDY3b2hGQW0rTG9haUl0QWRZcXl5YVRB?=
 =?utf-8?B?YzlOaU81Z2JyemQxdVNHYUhXYi81ZFpRNHNPbFoycDVoLzFWdEs0NlEzeUVV?=
 =?utf-8?B?N2F0YkhTank2OVhkQ2ZjaUN0cWdoM1B2djgweG5hZGpyMkN4RnNKRFZZcWcv?=
 =?utf-8?B?NlZvZVVuNU4zT1Z3MmsvTXoxbzVuYXMxbDBvRkhaT3BjQXBBb2llejVoUTEw?=
 =?utf-8?B?WVNBbWRiaGw1RWlOTG43KzJwY0k1aTFPZDJUYVN1TC9vVmNvck1qdVA1U2xK?=
 =?utf-8?B?ekZPYytpbG9Odzc3TnY1V3M3by9LU3kxOEx5TXdBUjgyQ2tlQWlRbFZPTVk1?=
 =?utf-8?B?T1Vqa2V4SEVtWmx4dVIwV0NaWFNLa3JTWllISHpweXJPV0ZVYkVQbUpzTnpx?=
 =?utf-8?B?R1lZcDNLNGgrb2pIbGJJU2NpY3FzTTBreWlMNUdiejJBWFgwUnVscTZrSTc4?=
 =?utf-8?B?WmVzZ2U4ZTRGOGNYeVVQVnpvbU1UNVlDcmtvdXg1YWZCdjh2OTY0NlhyYjZR?=
 =?utf-8?B?RVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	KaGnvkGu71mpxtmsuYten99v5x3ho3Bhx3BcCPEcqO3j4KgXhCZjmr60U9bQ8oGpILiLX3pAmhgMDC0eIJyi2EJM14rt2MM++THLOkZyUMLfNv1OmOheYJSyii2BTH0A+boiTJrkI+HZxyGcdPsfG2Shw4Q+PjUrDaLIvcJqd18rydF6MPIKa5eHabzp7XwIbTRRTZOKgfqD8jP7Kb+u5nZUBsIe9wdENvv6hS99ZIxOJ2OR7jzC5Y4frXVbHQ5ROnCHRUZdlxxLcxbYPiyQq4vKIYb/z0eXi3PPsXfYIlo8ntKiwvf0ThnGuNaSsmVGChfk9Q3K0DbjUzVQ7+Y6wQXmgGhexdl2nHPZphZ9fG9KXyFmm4FgSDrH7nfD+JtzQOj8hZ9SfpHzaGpCEGkrHHw/8pPofzu2t2AWH7ALW25qFAfYhTtnd/6VlPoDJ1FTxKOJHQXGsZN3ty8XTBBQLy1NU5OZGlZkCX8bfymMoSLQJGDKJzKhNjx88YWe1CsDgJyfJc/8mpDFcyv0fLbf9BsrBtSC5c0Hbaj5xhD4OygoYqQWzZvWFtu7Rrbb7LiNjmoTp+32iwXCDwu4c4rG1jKtNZ8ZqGoUqe4CNlrQTUuiFsmrmfNDx0A7ITgG9tRLfhh+xt+LvneMO6ltmlPswta0T84ijUumxaJ8O/yaRzatLaKzPW3ZMeXysLF2s4EnENBShsmTr8wr4DuQX/lS5Oe6gjrjpMsUPdd7ttJLU77CVxJIWI0rP3eQ3NSXH381O7AA5rco/SMuNlvz9AIpbi9SKPx6df53kSICaRefvaRqpd/3NLtDRqeDkTi89xuk
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5202bdfc-3da5-4f12-da25-08db2bcca184
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 18:30:08.8874
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0CdwVvCc8OaNsqN+IijQFfzIC0SsC7RdBj+CsWTEGgg3M4A9Y2BdHv5672AECSlNPENdzoedlZ2zDbsq8JrErrPDdcdWrbASrdlMq9IUHqQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5665

On 22/03/2023 9:37 am, Jan Beulich wrote:
> It looks like in the combination of aff8bf94ce65 ('x86/shadow: only
> 4-level guest code needs building when !HVM') and 0b841314dace
> ('x86/shadow: sh_{make,destroy}_monitor_table() are "even more" HVM-
> only') I didn't go quite far enough: SH_type_monitor_table is also
> effectively unused when !HVM.
>
> The assertion early in sh_destroy_shadow() can have the type dropped
> altogether: it shouldn't make it here in the first place. Pages of
> this type are freed directly from sh_destroy_monitor_table() only.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 18:35:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 18:35:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514056.795994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfPly-0006W7-0r; Thu, 23 Mar 2023 18:34:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514056.795994; Thu, 23 Mar 2023 18: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 1pfPlx-0006Vh-UM; Thu, 23 Mar 2023 18:34:49 +0000
Received: by outflank-mailman (input) for mailman id 514056;
 Thu, 23 Mar 2023 18: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfPlw-0006Vb-Pw
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 18:34:48 +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 603ae056-c9a9-11ed-85db-49a42c6b2330;
 Thu, 23 Mar 2023 19:34:45 +0100 (CET)
Received: from mail-bn1nam02lp2042.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.42])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 14:34:40 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB5792.namprd03.prod.outlook.com (2603:10b6:a03:2d5::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Thu, 23 Mar
 2023 18:34:38 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 18:34:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 603ae056-c9a9-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679596485;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=PRWVyNX0rL+Uq3kmbut4cvfDs0J0oQ/xgbqrvmSpcUA=;
  b=YuqDmNA5NbGsMvz0Z93cMuO7IcvV00SfwiD0VHwg3ZvWvWN97wOP5EBj
   jsCKP+0jWC9e7yrJZPHZLnFfX79tsIlThjQylSIepH6YmPR5mEcepE0bn
   al7XL0UTNjwIpPhiz64NzDbm1PlYjpEcDsDShPD88maa/P+sAl7GBdgyM
   Q=;
X-IronPort-RemoteIP: 104.47.51.42
X-IronPort-MID: 102083368
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:VH1x8am3Bj2QNs2UNGzOenDo5gywJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJOXWrXOP2CZmH0KY9/bI/koxxS6MTQztM2SAtr/ytkQSMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5gSGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 ds4DjMOaDrEvKWd7ampVvVqutsKPta+aevzulk4pd3YJdAPZMiZBo/svJpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVU3jOKF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtKTuXoraU00DV/wEQWNCMmTFeRu8W8kxelAt1WO
 XQRxzoX+P1aGEuDC4OVsweDiHyOswMYWtFQO/Yn8wzLwa3Riy6JC25BQjNfZdgOsM4tWSdsx
 lKPh8nuBzFkrPuSU3313qiQhSO/P24SN2BqTTMFSCMV7t+lp5s85i8jVf5mGa+xy9fzQDf5x
 mjQqDBk3+lJy8kWy6+84FbLxSq2oYTERRI04QORWX+56gR+Z8iuYInABUXn0Mus5b2xFjGp1
 EXoUeDHhAzSJflhTBCwfdg=
IronPort-HdrOrdr: A9a23:0w3DtKgNMEJG6t5BkYaKFyNbOHBQXh4ji2hC6mlwRA09TyX5ra
 2TdZUgpHrJYVMqMk3I9uruBEDtex3hHP1OkOss1NWZPDUO0VHARO1fBOPZqAEIcBeOldK1u5
 0AT0B/YueAd2STj6zBkXSF+wBL+qj6zEiq792usEuEVWtRGsVdB58SMHfiLqVxLjM2YqYRJd
 6nyedsgSGvQngTZtTTPAh/YwCSz+e78q4PeHQ9dmca1DU=
X-IronPort-AV: E=Sophos;i="5.98,285,1673931600"; 
   d="scan'208";a="102083368"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ll6rvBycCVk2eKjufpEQ7HO6KpBbeaIbGLGDp2/CVBu6uf0d7I4DYrBekNiuIcavG2i6ooEDC7coEgg4I4q0m2hK9tIG5pKXqzX+x0vhHokLmMDIbXL6qfJ6mTLh+pvF9uZQB/6CuAPydQhT7L8NWxMhhKI5pbMIzZlen8iAlNDAWsyEn6TroEuAMWdFy/H7lULtPiAmzoFwSDrZ+rtlLQpCx1TefzFKRZt4a70m/XVY/pqnicaFGS1UWR2AWsKC9UASHoXBdQjVRQJDtl5cyfDzEyaDeGMh5e1v2DRi7UvpZMAWs9ObjTYvZmxjIjDAwIE79Ou/RqCezed6efv16g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PRWVyNX0rL+Uq3kmbut4cvfDs0J0oQ/xgbqrvmSpcUA=;
 b=WpDiKpr49F4WHqb4yoeXorDaAgMbdNhAiIPpdit3Bk+jsAsUd+tnNAux77CR9oZ2cwWjNuTMN/1zy32CKwtQqZCni78z/wHjG+ou4OlKylqOSNEISE5FP0QCPpeBUQ79J1r+KyOJQaqOEftTqbLGgxNSiUNgMKQsRO8NUdANPxvNP75o06R1XAbpXOhcrcYZS7fYYJZ/ddQE57/sfaTyrgC57Vioe5fD/QVdJvm/6xRqVP9j21P6CaDeZhCINeBHimtSZR2HoimH58w9QyFAgZdqfVTNWFF49+iUqjKbmp+NWGsCkf+pInskhnRstz/W/kHjmLO/arGX7HhIaLg5aw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PRWVyNX0rL+Uq3kmbut4cvfDs0J0oQ/xgbqrvmSpcUA=;
 b=o0k8GgzfSYcYSYlIuvIBXV+5IhorQ19vF18pMBGpB7l3rVzUG7TVU86K0bLAVgYxAeSKhpvzoSACENR9kPcBpH+AIJNRnDdkA4o/hcla7cZjkvVcMereNIY/4O7MXrSxU8ZfEcFtKDYoQfqsi1NwZWPwR9GtUK9FoNpUK/G8a9Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <e867ad2b-062a-8114-26a7-32a663e64866@citrix.com>
Date: Thu, 23 Mar 2023 18:34:32 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 16/16] x86/PV: conditionalize arch_set_info_guest()'s call
 to update_cr3()
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <1c2bd7b9-34f9-bd00-cf36-7cf6e0bb8c3f@suse.com>
In-Reply-To: <1c2bd7b9-34f9-bd00-cf36-7cf6e0bb8c3f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0234.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:b::30) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB5792:EE_
X-MS-Office365-Filtering-Correlation-Id: 179b58cf-5c6e-489c-b3f6-08db2bcd421a
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	T0wLZ3/KvP4KYIr6VgmnYZamjJEQSHZL2R9MgQD0dyvwBVv4niVEJQnmOJ/1Y9X3xeqmTDPTWZvd0lnuO5EFAazsh6Nyj8Q/G2a33EVwB7QEpWmNP7/KSJvCk2HLtHLCP6dVoZJUpHgwk0WiC5iMGMAxcB1ssoPMGq5SDIfG0w2N+0kADni+p9faPsMrZ11hWBTGYMih7ZLUU9YrsI/a4Dbzba0hj4JdKHWVFaqpdPLgIvGTqUIJI0ZzP5LNHjSh8VQS/RC4U2bDwwUnLQd2FRcbbj0pxLO0c9Yx5pG3hLEwdnEwxARzftF/VcotwtNXdGOX6A2GPc/EyqHBUlvX7YiyQAH3JjUURQgT2nmv4+jTAj6zPEZr5Q96CVu1PFrZU5WXphNsy72L6rW5cxRG7JGQuFdeuXPUQfsmEzOVmaQoTeMmL/+BLNLoaNwIDpoTzMCyI6EdcCmFfI8oKv0ShlmwwhDqA6F+XS5YJg1g89G4RFQ0buEsOUY+HtP8IDzAWdzs/5BCmHGEylXy5x5ifPn85MoT8vCKSWfgkZcjqjh3XAs8BmaQS/B132XxgjsLBMRNgbHmZ7IkzfgroVxVBhW2TIvlmZw0sQ/Jzj9Tq5+/GghnDOdOErCpTX4o4iWRsHDrXMM3ta/eF66DwloNaK8MP+BvKqsK8X7qZKS9DjZjBwqCVpJjhSL5kYTxDjYtgV61x7pvgRfJzSrcxqO8l5u0nl2o2BJRb5BhVaE09bQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(136003)(366004)(346002)(396003)(39860400002)(451199018)(31686004)(38100700002)(2906002)(36756003)(83380400001)(2616005)(6486002)(186003)(478600001)(86362001)(31696002)(110136005)(66556008)(8676002)(66476007)(66946007)(4326008)(54906003)(8936002)(316002)(53546011)(6512007)(6506007)(6666004)(4744005)(26005)(15650500001)(5660300002)(41300700001)(82960400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SVlHc0QwSDY4UEpFZ1dqYWlnKzFtQit6emgxbzIxd2lRZExiRy8wSldWU1dx?=
 =?utf-8?B?MURBNzlEQkF2bzNqTENmRTRQL0YwT1Rrc0ZrNGdLdGZFYW92c2R3eXZBekcw?=
 =?utf-8?B?WUx2bytUOTRVSkpqei9hUU5PWVVob1FwaWxHL1N2dEs2d2cvWnl1VDJCR0Va?=
 =?utf-8?B?K1Y1SUpIRGg0dXdEWGRyT0dRcTR5TURXVFF3Q2JmMzAyQlhkSjV3c2oxUG1B?=
 =?utf-8?B?VHVlUzRNVTFxWlBrTmo4Y05wQlNUbDN5L3BLSmIybTd6L2p6NFR0eTByb1dY?=
 =?utf-8?B?amRSRjdIZnBGdHlURWtVRnI0T2VZQk54U2dBVVMrcFJINmZmdjJNRzBDUWRF?=
 =?utf-8?B?bUM3UE1qcVpYbEFhRXY2QXhsUytvWkp6eWRXc2IyRmNNclRwdGRvU1I1Z1hr?=
 =?utf-8?B?V01seUVaU0o0RFBCZkZMazh4QlE3eUJINnFIc0pwb3d5KzVJYUI0TG5kTGc3?=
 =?utf-8?B?eG40aUJMNVIyN1FXUFR6ZlV1WlFWNWJsS2hlaWxEc3FjdXVFcWMvOEFTV3ZZ?=
 =?utf-8?B?ZnA5T2tpUEh2dm80enhLMGk5Wnpjem5TbUhVN1hWdEZLUnRaYUE3Y3JRRVBl?=
 =?utf-8?B?K0NuN3daRlVFS1lqci9NVE1xb0t5VjF6cW5pNWVVRlhhL1BIb1g5RHA4MEp3?=
 =?utf-8?B?eTVFWTVWQnpaNWlhc0FVRlRITHczWVN0ejEvazJxSlJJcGIwQncyY1NXWVZw?=
 =?utf-8?B?Rm1qRGlnTGZldFBNRXJUUFNYbC9TcmdLUFVRbFRiTkUzUFhrblVERTVsMk9E?=
 =?utf-8?B?TEI5T3pxNkxlU24rTEJ3TTI3VEkyVTN3YUZzOUZxOUhLdXRicmVybEo0QXpm?=
 =?utf-8?B?U3ZCamE5anpMZlZEU0RuZXIzV2ZBbFJFZTF5SUpVeldCUVJSZ243Zk4rYVVs?=
 =?utf-8?B?KzZvS0U1d0Y0V2tBenU0WjBKeWtydEdiWksvdVI0NGI4eTRJUzRWSWc0VTFY?=
 =?utf-8?B?Y1NGZFNzMFR1L3FTK1FmL1Q4emkwVTNqQUZPL1Z3QXd3Z0hFWmdZKy93aTk4?=
 =?utf-8?B?VllvSkd5WHJqcEdIRmlwSGkxZzdsYkJjd25kc1hpN2VRcnpDcWMwakZTRXNH?=
 =?utf-8?B?cGJnUFhWS3g4bkRKbSszVldBSGYxWlpkczFUaTlWL3JRSElvYU45OWkzRXpq?=
 =?utf-8?B?VzI5RGVLTm1zMnhmNWRHWG1YV29vUDZST01tdlpmV3FjUXBQRnVQYXgyNmlW?=
 =?utf-8?B?L2hnYVVUNDhhUHpxNS9BdGd6aVR6c0c4OGNjOTNCQXl4ckFGUXZUSjBGOE8w?=
 =?utf-8?B?YnQxKzhpRUkxZ0VWcFZVYkZZdVlUSEpxWHBhajdQQWh3T2VoMHRQeE90cGgr?=
 =?utf-8?B?K2EyMDZvSWFIUXEzNXhWaklobWhKbEN2VXdBQTkxMlJHelM1QXNRTE1xZk51?=
 =?utf-8?B?dnNiNTV2bmpMSk95K1FZZGlaZ1QxUmhSU2ZRWFIwcWNWRGdEeXM4bFNNNGVQ?=
 =?utf-8?B?TFJxTVlOeXlSdWZiUEh2YUZ3b1NHZFJqZlJtYkFCZjZXd3dYZGg4OW1lRW16?=
 =?utf-8?B?R1dDWVQ1SkhNV3dIbFFlRGxkYTdGRHJFSlBFVSsxSmVLR1JGY1lKb3F4dkY0?=
 =?utf-8?B?TkJmbmkxMDdJRUlWUkFLbi9ST1BMdnVSNFJoQzlqc1dwa29Od0xsblRxam5o?=
 =?utf-8?B?MlNpdDIySkkxKzI0WHZFMFBUeE1SeXV3YXFtSUlwSmNrRzhQSUJ6ZEtDNXR5?=
 =?utf-8?B?N3Q5K21UZjBCWm0xRVlJOVJYZ3Rudng2dFBGZ1lnZDVWM0Z2ODFLUGhjSGxy?=
 =?utf-8?B?ZHVOWitvTjJGLzR0UVpnclR5YUtSTEZ0UXZ5TTJhVGsxMmVlSmtha25kaERw?=
 =?utf-8?B?R2tOYVQvOWpEanZLWnBpTHkzSDBsbUNwa1NOcGIyVDJaU2loSWZLL01FNE9C?=
 =?utf-8?B?a1BuUS81QUFQUzN1T09COStZSWEvK252MVQ5NU9ITWozdldCTytKTERNVkNI?=
 =?utf-8?B?WmZjekNiT1pLNlZpK2lBczhBd3hmWEVubzZzRXI2MDlsVWtvMWlXWXduVFdZ?=
 =?utf-8?B?cDlNM1BBNHh6VG80bEwrS0V6RUJCRVdNUHBmL1ZTb0YzYVFjam9tRHRGUEYy?=
 =?utf-8?B?TG1GUEdzWkhYTkFOVXRXejQzTUZNUENVN2hMb0N2RVdnbmo1WjBRVWlLWHdq?=
 =?utf-8?B?cmtJaGZ4cW5JSE1COGFCdWUvQ01CWjFYUy9uVXBwOU9aNVBrZnErUExmQjF2?=
 =?utf-8?B?Znc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	OV7TDG2S4TBYqFsBPT3B222hFp8hHuV55rbLkTaDgRtOUJRJNh7wpak5G91Kg34C8zscuaHVJEawBkq8536qqjDUX0SGzObhBKBX/lFS9Zoq83wjhi0P2C+RxJDNc9v2cVrqFSKn13vFt1gP/m6I1rJ8FQaCJUXE8by7OwMAilVg9+DiJe4g2mbQzXmXuwEXueqv+ObBaICo4EWfcuUBkX09UN7rPatGZtRvXc9NZx13ue32Mnu2H6ac2+Kgv1MXqMaBCHgWGSLETxogt5Hk1Yw35UVjaLDuaV/Iv4g1+JeDXy40exPe5GkLz7qXiiVgEserfbm54CSk4rsD/EB47BCWcRubQtqaEYQWBrzj3kRsy25i/Aluvl/DW005TZxNsP10o2+Vkjnhf8hJEz9t1v7A5JBcmSzWiBVnnpWMlN19PLlT3ShOOQy1j0Ph1jNrKSpP2q51WKfKe7fGRdR8DV/j7rwbOElneufzILnPL8SdRPkIaZ+aM7IxXbV8h5sm5vRQio5eOIt5CcmUlHzC+bHoeH34Had5RQJFe2jLDXxvA5eFGDp5rSfK0D/u+L9OJNycaV3azRI4EX8mCAijrbDID/f4TAubUefmZkyRd5eRkXw829rzbZD8yWNvGo3gepephhaoKSqJqhKH9P2c4v31V7zlh8BXlepvIHx7GZV7VbGPUct/f4NNnOsaiitJK2jJ117HYYIklAIlQvh7K/NBcg7/RZISSC8UzkhsLhkacstfYLihX7Q+oxRlGi4AJQ0bN+W3bRdeORQp9Pr1ViWlmrkEIbbh4nlqJxPH5ri9wLWbFvfMBupGzswh/M9Q
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 179b58cf-5c6e-489c-b3f6-08db2bcd421a
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 18:34:38.3049
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4kzrsFrq8LbTlkHNos1l0Ib1CLsdTu31XxPrLft5Jr7mFGT/ZyJpA/OnG5UcZkxDCVjB9/Rk7gEEGM84jHNYfszfuhgEOx+g6Ek0GJw84Cs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5792

On 22/03/2023 9:38 am, Jan Beulich wrote:
> sh_update_paging_modes() as its last action already invokes
> sh_update_cr3(). Therefore there is no reason to invoke update_cr3()
> another time immediately after calling paging_update_paging_modes(),
> the more that sh_update_cr3() does not short-circuit the "nothing
> changed" case.

I've finally figured out why "more than" feels like weird grammar.  In
this case, "especially as sh_update_cr3() does not..." would be the more
normal expression.

> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 20:03:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 20:03:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514065.796004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfR9n-0001Zi-Gb; Thu, 23 Mar 2023 20:03:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514065.796004; Thu, 23 Mar 2023 20: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 1pfR9n-0001Zb-DM; Thu, 23 Mar 2023 20:03:31 +0000
Received: by outflank-mailman (input) for mailman id 514065;
 Thu, 23 Mar 2023 20:03: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 1pfR9m-0001ZR-5E; Thu, 23 Mar 2023 20:03: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 1pfR9m-0001yN-17; Thu, 23 Mar 2023 20:03: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 1pfR9l-00042U-Ii; Thu, 23 Mar 2023 20:03:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfR9l-0006XR-II; Thu, 23 Mar 2023 20:03:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=2uW18dT+QMZLuuqDMp57XH6SGJAZEGq683MqMpO5nug=; b=1rLm/8V/hVksbaAdS3E7XOxApl
	j3YwwkXmapCVIX/fIn/hYuJYBApkgF9Imz67UeIY3fKY2HF1i49mH7QzKe1pytlYf8LO/gQnYfRo+
	MsHr9qERpqctajFWpLZyNoim1m8TJ6jiz6oHIXa4B74gFwlYxxYndmhOARmcAAOdjT0w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179870-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 179870: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    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-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-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-5.4:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=6849d8c4a61a93bb3abf2f65c84ec1ebfa9a9fb6
X-Osstest-Versions-That:
    linux=e4b5c766f50525d84754cfdf0e4edef1db9622c0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Mar 2023 20:03:29 +0000

flight 179870 linux-5.4 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179870/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179769
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179769
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179769
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179769
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179769
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179769
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179769
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179769
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179769
 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-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-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-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-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-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                6849d8c4a61a93bb3abf2f65c84ec1ebfa9a9fb6
baseline version:
 linux                e4b5c766f50525d84754cfdf0e4edef1db9622c0

Last test of basis   179769  2023-03-19 01:18:32 Z    4 days
Testing same since   179870  2023-03-22 12:45:03 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Deucher <alexander.deucher@amd.com>
  Alexandra Winter <wintera@linux.ibm.com>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Baokun Li <libaokun1@huawei.com>
  Bart Van Assche <bvanassche@acm.org>
  Biju Das <biju.das.jz@bp.renesas.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Breno Leitao <leitao@debian.org>
  Chen Zhongjin <chenzhongjin@huawei.com>
  Chris Paterson (CIP) <chris.paterson2@renesas.com>
  Christian Hewitt <christianshewitt@gmail.com>
  Christoph Hellwig <hch@lst.de>
  Damien Le Moal <damien.lemoal@opensource.wdc.com>
  Daniil Tatianin <d-tatianin@yandex-team.ru>
  David S. Miller <davem@davemloft.net>
  Dmitry Osipenko <dmitry.osipenko@collabora.com>
  Erez Zadok <ezk@cs.stonybrook.edu>
  Eric Biggers <ebiggers@google.com>
  Eric Dumazet <edumazet@google.com>
  Fedor Pchelkin <pchelkin@ispras.ru>
  Felix Kuehling <Felix.Kuehling@amd.com>
  Florian Fainelli <f.fainelli@gmail.com>
  gaoxingwang <gaoxingwang1@huawei.com>
  Georgi Djakov <djakov@kernel.org>
  Glenn Washburn <development@efficientek.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Ido Schimmel <idosch@nvidia.com>
  Ivan Vecera <ivecera@redhat.com>
  Jakub Kicinski <kuba@kernel.org>
  Jani Nikula <jani.nikula@intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jeremy Sowden <jeremy@azazel.net>
  Jianguo Wu <wujianguo@chinatelecom.cn>
  Jiri Kosina <jkosina@suse.cz>
  Johan Hovold <johan+linaro@kernel.org>
  John Garry <john.g.garry@oracle.com>
  John Harrison <John.C.Harrison@Intel.com>
  John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Corbet <corbet@lwn.net>
  Jouni Högander <jouni.hogander@intel.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Lee Jones <lee@kernel.org>
  Liang He <windhl@126.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luca Ceresoli <luca.ceresoli@bootlin.com> # i.MX8MP MSC SM2-MB-EP1 Board
  Ludovic Desroches <ludovic.desroches@microchip.com>
  Lukas Wunner <lukas@wunner.de>
  Manish Adkar <madkar@cs.stonybrook.edu>
  Marcus Folkesson <marcus.folkesson@gmail.com>
  Mark Rutland <mark.rutland@arm.com>
  Martin Blumenstingl <martin.blumenstingl@googlemail.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nikita Zhandarovich <n.zhandarovich@fintech.ru>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul E. McKenney <paulmck@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Qu Huang <qu.huang@linux.dev>
  Randy Dunlap <rdunlap@infradead.org>
  Randy Dunlap <rdunlap@infradead.org> # build-tested
  Ravi Kishore Koppuravuri <ravi.kishore.koppuravuri@intel.com>
  Richard Weinberger <richard@nod.at>
  Sasha Levin <sashal@kernel.org>
  Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>
  Sherry Sun <sherry.sun@nxp.com>
  Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Slade Watkins <srw@sladewatkins.net>
  Steffen Klassert <steffen.klassert@secunet.com>
  Stephen Boyd <sboyd@kernel.org>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sven Schnelle <svens@linux.ibm.com>
  Szymon Heidrich <szymon.heidrich@gmail.com>
  Takashi Iwai <tiwai@suse.de>
  Tejun Heo <tj@kernel.org>
  Theodore Ts'o <tytso@mit.edu>
  Tobias Schramm <t.schramm@manjaro.org>
  Tom Lendacky <thomas.lendacky@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Tony O'Brien <tony.obrien@alliedtelesis.co.nz>
  Ulf Hansson <ulf.hansson@linaro.org>
  Vasily Gorbik <gor@linux.ibm.com>
  Wenchao Hao <haowenchao2@huawei.com>
  Xiang Chen <chenxiang66@hisilicon.com>
  Yifei Liu <yifeliu@cs.stonybrook.edu>
  Zhang Xiaoxu <zhangxiaoxu5@huawei.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   e4b5c766f505..6849d8c4a61a  6849d8c4a61a93bb3abf2f65c84ec1ebfa9a9fb6 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 22:01:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 22:01:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514092.796036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfT04-0000WI-4h; Thu, 23 Mar 2023 22:01:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514092.796036; Thu, 23 Mar 2023 22: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 1pfT04-0000WB-22; Thu, 23 Mar 2023 22:01:36 +0000
Received: by outflank-mailman (input) for mailman id 514092;
 Thu, 23 Mar 2023 22:01: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfT03-0000W5-Kg
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 22:01:35 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43dd07fd-c9c6-11ed-b464-930f4c7d94ae;
 Thu, 23 Mar 2023 23:01: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: 43dd07fd-c9c6-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679608891;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=KAtgOwS/P2wrgB5h4mPIFKyRQHmiQm30GVJXeDtRYjA=;
  b=Ghw126+E6BBWiE08p3lvY6HifUhRjpKAtSEXphBEqmgmnRp/3CtOnCb+
   CDDFCP+QrLYU+/3zeekqovsRcpdJmLD9ITR33uZWk1InLJDNRy+9FX3TE
   N3H2Oo7fGPN2pIs40BaHXdMAxxj6UxpjbmfC1lhQSIW2JKkEEsleXOnsn
   U=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 101460951
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:Mh7PrqhU68JVgmzgUdRIo1skX161HBAKZh0ujC45NGQN5FlHY01je
 htvDDjUPP2NajTyctp1PIu/80sP6pDVx4ViTFZqpSpmRS8b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wWFzyJ94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQgERUWQR+RotuY65aBFfcri8UPEenkadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/
 juaoTyoX0hy2Nq30Typ70OihKj0uTKmX7tOMoaqzcIyqQjGroAUIEJPDgbqyRWjsWauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O88Q5RyJy6HUyx2EHWVCRTlEAPQ5sOcmSDps0
 UWG9+4FHhQ27ufTEyjEsO7J83XrY3N9wXI+iTEsdTIg+PbssqQKoDnrdIl9V6O0ouDVFmSlq
 9yVlxTSl4n/nOZSifrqpg6a02v3znTaZlVrv1uKBwpJ+is8Pdf4PNLwtDA3+N4adO6kok+9U
 G/ociR0xMQHFtmzmSOEW43h95n5tq/eYFUwbbOCdqTNFghBGFb5J+i8GBkkeC9U3j8sIFcFm
 nP7twJL/4N0N3C3d6JxaI/ZI510kvm9RIq4DqmKMIYmjn1NmOivoklTibO4hTixwCDAb4lmU
 XtkTSpcJSlDUvk2pNZHb+wczaUq1kgD+I8nfriil07P+ePHNBaopUItbAPmghYRsPnV/204M
 r93a6O39vmoeLSgM3mJrNRCfQBiwLpSLcmelvG7v9WremJOcFzNwdeLqV/9U+SJR5hoq9o=
IronPort-HdrOrdr: A9a23:6d/uTq/6oARufhk2mW9uk+DzI+orL9Y04lQ7vn2ZKCYlF/Bw8v
 rF8cjzuiWZtN98Yh4dcKm7SdC9qBDnhPxICOsqXYtKNTOO0FdASrsN0WKI+UyCJ8SRzI9gPJ
 BbAsxD4Y3LZmSSVfyKmzVQyexQpuVvLZrY4ts2E00dNT2CtZsQlTtENg==
X-IronPort-AV: E=Sophos;i="5.98,286,1673931600"; 
   d="scan'208";a="101460951"
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 v3] x86/boot: Factor move_xen() out of __start_xen()
Date: Thu, 23 Mar 2023 22:01:17 +0000
Message-ID: <20230323220117.2406981-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

Partly for clarity because there is a lot of subtle magic at work here.
Expand the commentary of what's going on.

Also because there is no need to double copy the stack (32kB).  Spilled
content does need accounting for, but this be sorted by only copying only a
handful of words.

No practical 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>

v3:
 * Don't change the l2_xenmap[] logic.  X_FIXMAP uses 4k mappings in this
   range.
 * Resync the local stack frame, just in case the compiler spills something
   important there.  This is is a 3-word copy in release builds, which is far
   more reasonable than 32k.
---
 xen/arch/x86/setup.c | 189 +++++++++++++++++++++++++++----------------
 1 file changed, 119 insertions(+), 70 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 38bf18b087af..a890e203831f 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -464,6 +464,124 @@ static void __init move_memory(
     }
 }
 
+static void __init noinline move_xen(void)
+{
+    l4_pgentry_t *pl4e;
+    l3_pgentry_t *pl3e;
+    l2_pgentry_t *pl2e;
+    unsigned long tmp;
+    unsigned int i, j, k;
+
+    /*
+     * The caller has selected xen_phys_start, ensuring that the old and new
+     * locations do not overlap, and mapped the new location into the
+     * directmap.
+     *
+     * Prevent the compiler from reordering anything across this point.  Such
+     * things will end badly.
+     */
+    barrier();
+
+    /*
+     * Copy out of the current alias, into the directmap at the new location.
+     * This includes a snapshot of the current stack.
+     */
+    memcpy(__va(__pa(_start)), _start, _end - _start);
+
+    /*
+     * We are now in a critical region.  Any write modifying global state
+     * inside the main Xen image via the current alias will get lost when we
+     * switch to the new pagetables.
+     *
+     * This puts printk()'s in a weird position.  Xen's record of the printk()
+     * will get lost (e.g. from the console ring), but messages which properly
+     * escape the system (e.g. through the UART) may be of some use for
+     * debugging purposes.
+     *
+     * Walk the soon-to-be-used pagetables in the new location, relocating all
+     * intermediate (non-leaf) entries to point to their new-location
+     * equivalents.  All writes are via the directmap alias.
+     */
+    pl4e = __va(__pa(idle_pg_table));
+    for ( i = 0 ; i < L4_PAGETABLE_ENTRIES; i++, pl4e++ )
+    {
+        if ( !(l4e_get_flags(*pl4e) & _PAGE_PRESENT) )
+            continue;
+
+        *pl4e = l4e_from_intpte(l4e_get_intpte(*pl4e) + xen_phys_start);
+        pl3e = __va(l4e_get_paddr(*pl4e));
+        for ( j = 0; j < L3_PAGETABLE_ENTRIES; j++, pl3e++ )
+        {
+            if ( !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) ||
+                 (l3e_get_flags(*pl3e) & _PAGE_PSE) )
+                continue;
+
+            *pl3e = l3e_from_intpte(l3e_get_intpte(*pl3e) + xen_phys_start);
+            pl2e = __va(l3e_get_paddr(*pl3e));
+            for ( k = 0; k < L2_PAGETABLE_ENTRIES; k++, pl2e++ )
+            {
+                if ( !(l2e_get_flags(*pl2e) & _PAGE_PRESENT) ||
+                     (l2e_get_flags(*pl2e) & _PAGE_PSE) )
+                    continue;
+
+                *pl2e = l2e_from_intpte(l2e_get_intpte(*pl2e) + xen_phys_start);
+            }
+        }
+    }
+
+    /*
+     * Walk the soon-to-be-used l2_xenmap[], relocating all the leaf superpage
+     * mappings so text/data/bss etc refer to the new location in memory.
+     * Non-leaf mappings, e.g. X_FIXMAP, were relocated above.
+     */
+    pl2e = __va(__pa(l2_xenmap));
+    for ( i = 0; i < L2_PAGETABLE_ENTRIES; i++, pl2e++ )
+    {
+        if ( !(l2e_get_flags(*pl2e) & _PAGE_PRESENT) ||
+             !(l2e_get_flags(*pl2e) & _PAGE_PSE) )
+            continue;
+
+        *pl2e = l2e_from_intpte(l2e_get_intpte(*pl2e) + xen_phys_start);
+    }
+
+    asm volatile (
+        /*
+         * Resync the local stack frame.  The compiler expects any spilled
+         * expression to retain its value.  This is usually only a few words.
+         */
+        "mov    %%rsp, %%rsi\n\t"       /* SRC = %rsp */
+        "mov    %%esp, %k[tmp]\n\t"
+        "and    %[mask], %k[tmp]\n\t"
+        "add    %[tmp], %%rdi\n\t"      /* DST = cpu0_stack + (%rsp & 0x7fff) */
+        "sub    %%esp, %%ecx\n\t"       /* NR  = frame - %rsp */
+        "rep movsb\n\t"
+
+        /*
+         * Switch to the relocated pagetables, shooting down global mappings.
+         */
+        "mov    %%cr4, %[tmp]\n\t"
+        "andb   $~%c[pge], %b[tmp]\n\t"
+        "mov    %[tmp], %%cr4\n\t"     /* CR4.PGE = 0 */
+        "mov    %[cr3], %%cr3\n\t"     /* CR3 = new pagetables */
+        "orb    %[pge], %b[tmp]\n\t"
+        "mov    %[tmp], %%cr4\n\t"     /* CR4.PGE = 1 */
+        : [tmp]     "=&a" (tmp), /* Could be "r", but "a" makes better asm */
+          [dst]     "=&D" (tmp),
+          [frame]   "=&c" (tmp),
+                    "=&S" (tmp)
+        : [cr3]     "r"   (__pa(idle_pg_table)),
+          [pge]     "i"   (X86_CR4_PGE),
+          [mask]    "i"   (STACK_SIZE - 1),
+          "[dst]"         (__va(__pa(cpu0_stack))),
+          "[frame]"       (__builtin_frame_address(0))
+        : "memory" );
+
+    /*
+     * End of the critical region.  Updates to globals now work as expected.
+     */
+    printk("New Xen image base address: %#lx\n", xen_phys_start);
+}
+
 #undef BOOTSTRAP_MAP_LIMIT
 
 static uint64_t __init consider_modules(
@@ -1292,81 +1410,12 @@ void __init noreturn __start_xen(unsigned long mbi_p)
          */
         if ( (end > s) && (end - reloc_size + XEN_IMG_OFFSET >= __pa(_end)) )
         {
-            l4_pgentry_t *pl4e;
-            l3_pgentry_t *pl3e;
-            l2_pgentry_t *pl2e;
-            int i, j, k;
-
             /* Select relocation address. */
             xen_phys_start = end - reloc_size;
             e = xen_phys_start + XEN_IMG_OFFSET;
             bootsym(trampoline_xen_phys_start) = xen_phys_start;
 
-            /*
-             * Perform relocation to new physical address.
-             * Before doing so we must sync static/global data with main memory
-             * with a barrier(). After this we must *not* modify static/global
-             * data until after we have switched to the relocated pagetables!
-             */
-            barrier();
-            memcpy(__va(__pa(_start)), _start, _end - _start);
-
-            /* Walk idle_pg_table, relocating non-leaf entries. */
-            pl4e = __va(__pa(idle_pg_table));
-            for ( i = 0 ; i < L4_PAGETABLE_ENTRIES; i++, pl4e++ )
-            {
-                if ( !(l4e_get_flags(*pl4e) & _PAGE_PRESENT) )
-                    continue;
-                *pl4e = l4e_from_intpte(l4e_get_intpte(*pl4e) +
-                                        xen_phys_start);
-                pl3e = __va(l4e_get_paddr(*pl4e));
-                for ( j = 0; j < L3_PAGETABLE_ENTRIES; j++, pl3e++ )
-                {
-                    /* Not present, 1GB mapping, or already relocated? */
-                    if ( !(l3e_get_flags(*pl3e) & _PAGE_PRESENT) ||
-                         (l3e_get_flags(*pl3e) & _PAGE_PSE) )
-                        continue;
-                    *pl3e = l3e_from_intpte(l3e_get_intpte(*pl3e) +
-                                            xen_phys_start);
-                    pl2e = __va(l3e_get_paddr(*pl3e));
-                    for ( k = 0; k < L2_PAGETABLE_ENTRIES; k++, pl2e++ )
-                    {
-                        /* Not present, PSE, or already relocated? */
-                        if ( !(l2e_get_flags(*pl2e) & _PAGE_PRESENT) ||
-                             (l2e_get_flags(*pl2e) & _PAGE_PSE) )
-                            continue;
-                        *pl2e = l2e_from_intpte(l2e_get_intpte(*pl2e) +
-                                                xen_phys_start);
-                    }
-                }
-            }
-
-            /* Walk l2_xenmap[], relocating 2M superpage leaves. */
-            pl2e = __va(__pa(l2_xenmap));
-            for ( i = 0; i < L2_PAGETABLE_ENTRIES; i++, pl2e++ )
-            {
-                if ( !(l2e_get_flags(*pl2e) & _PAGE_PRESENT) ||
-                     !(l2e_get_flags(*pl2e) & _PAGE_PSE) )
-                    continue;
-
-                *pl2e = l2e_from_intpte(l2e_get_intpte(*pl2e) + xen_phys_start);
-            }
-
-            /* Re-sync the stack and then switch to relocated pagetables. */
-            asm volatile (
-                "rep movsq        ; " /* re-sync the stack */
-                "movq %%cr4,%%rsi ; "
-                "andb $0x7f,%%sil ; "
-                "movq %%rsi,%%cr4 ; " /* CR4.PGE == 0 */
-                "movq %[pg],%%cr3 ; " /* CR3 == new pagetables */
-                "orb $0x80,%%sil  ; "
-                "movq %%rsi,%%cr4   " /* CR4.PGE == 1 */
-                : "=&S" (i), "=&D" (i), "=&c" (i) /* All outputs discarded. */
-                :  [pg] "r" (__pa(idle_pg_table)), "0" (cpu0_stack),
-                   "1" (__va(__pa(cpu0_stack))), "2" (STACK_SIZE / 8)
-                : "memory" );
-
-            printk("New Xen image base address: %#lx\n", xen_phys_start);
+            move_xen();
         }
 
         /* Is the region suitable for relocating the multiboot modules? */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Mar 23 23:16:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 23:16:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514101.796059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfU9x-0001Wi-NK; Thu, 23 Mar 2023 23:15:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514101.796059; Thu, 23 Mar 2023 23:15: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 1pfU9x-0001Wb-KN; Thu, 23 Mar 2023 23:15:53 +0000
Received: by outflank-mailman (input) for mailman id 514101;
 Thu, 23 Mar 2023 23:15: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfU9w-0001WF-GX
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 23:15:53 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a3363df7-c9d0-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 00:15:47 +0100 (CET)
Received: from mail-bn8nam12lp2177.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 19:15:42 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SN4PR03MB6735.namprd03.prod.outlook.com (2603:10b6:806:1ef::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Thu, 23 Mar
 2023 23:15:40 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Thu, 23 Mar 2023
 23:15:40 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3363df7-c9d0-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679613347;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=Zh/JyFdlR6wywtguwedVtP9BEr3jtmvAJA3r2nKpPac=;
  b=JuDGZW2WPc3PV9NPT7ScCTSHxq6f54lr0nZl5s9gd2evudWU5rMacgDI
   sXgG9FkplhqOL136DOyOT1tfHyNs/c03NowYXOErLkZBaxqOJcQDapEAw
   XllXBCuawco4ItsgbflnOWU6oUQ84bkOPJGNNswOjYA6ebOdDusKqHxYU
   s=;
X-IronPort-RemoteIP: 104.47.55.177
X-IronPort-MID: 102519163
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:C7wHaa//7EUbWeFMB7/NDrUDA3+TJUtcMsCJ2f8bNWPcYEJGY0x3y
 zBKWDrVOKzeZGqhf9x3boq+90IE6sDWzNI1SwBr/no8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqoQ5AS2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkkUy
 NoSNnchSyuPoP2T4raqZ/Bvt+4aeZyD0IM34hmMzBn/JNN/G9XpZfWP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWOilUuj9ABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdpISeTpr6Ax6LGV7j0DMTcfWGTgndDnpny1dIliE
 Rcm3jV7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxmdLngJSHhGctNOnNQtWTUg2
 1uNntXoLT9iqruYTTSa7Lj8hTGvPSkYK0cSaClCShEKi/Hdp4U0ggPKX8xUOqe/hd3oGhn92
 zmP6iM5gt07h8MRy7+y+1yBhju2v4XIVSY8/ACRVWWghitpaYjga4G25Fzz6fdbMJ3fXlSHp
 GIDmcWV8KYJF57lqcCWaOAEHbXs7fDVNjTZ2ARrB8N4qGvr/GO/d4dN5j04PF1uLssPZT7uZ
 gnUpB9V45hQenCtaMebfr6MNijj9oC4ffyNaxweRoAmjkRZHONfwBxTWA==
IronPort-HdrOrdr: A9a23:LEtX7K0rsB4+6LXEAYylSQqjBJAkLtp133Aq2lEZdPU1SL36qy
 nKpp8mPHDP6Qr5NEtQ/OxoQZPwOU80i6QFm7X5TI3DYOCOggLBQL2KwrGN/9SKIVydygcy79
 YFT0BiY+eeMbDI4PyKmTVRW74bquVuusiT6Ns3gRxWPGZXgzAK1XYeNu56encGPzV7OQ==
X-IronPort-AV: E=Sophos;i="5.98,286,1673931600"; 
   d="scan'208";a="102519163"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ibw88twzpD8/TzcaJpHeRiXL4egJ7RA8a1OV7oCRzp5tLuls3fROTIe7Mp+1X1n4hl2oVpR2AWQO4NLngNM/z4SAIYinHbXvYcUlWUzskR7JBr27K77+KD0cKtylZ4m8z8oSBV1VyzHoYaFNWiltNEUFsvJ2Az7dw0C9Bm3dcWyeZTj5aYQ+GG/NDI3va2YYnQmtuf5D9qfy4Gt9hndiZ4V+uufuibcxYxtt4K4rObB1I9O2OjAcHgVtfz1eMTN91K0/NNx4ZjDC7qmdJyZtDAhpvruOv8duj1lSyRVchQc8mEY+ev8+s8Ud/DXrYBv8qh0bxSn601zp2YDM9V9JAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Zh/JyFdlR6wywtguwedVtP9BEr3jtmvAJA3r2nKpPac=;
 b=SHjgHANDmRKskgKxRsIXLvcrHZc0lxxaaptY0d8GcLcPAZL+/XQ1Q7Wj7ny/xdEdaCxqDLTMHwzsrv9crjaAsUV7mPspoTjr6UXLuxquALvaSLpEQfIgdMAbhYI3it4dgK2qTfI6mW219r8Zr+zxieGovKMEMv1+crXfzDaDsXiM7zZyNzjawqUPBcRxt8myCmY8WZtkPt20Nqmg0MiNr5DF2jJZkogPHtXVFHeDORCB2iF7H+22o75BhVVpG81DT8+L4FXloi/CmkMfWenQQh2LPfBS+R7Kmr9NzIfzmLF2ubOmkdj2tt1qoqTkEd6yS6YpTV7/wpJ2w/G2gjY5Dg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Zh/JyFdlR6wywtguwedVtP9BEr3jtmvAJA3r2nKpPac=;
 b=DEWmwfiNV5txcFeOz1rCh+lyDmEHsX8i4uJQLPOZr6u78/y/ThO5dm1xmkYttwQgLegul5Ww96NbVaJCAr4t1Jmi55ZAl9atlHTCBLWYbY/1Kw27sRDWp6iKwIs5XDoZtpk9GbZ19hBzEDzc4tRG+1qLTxGiWpNdYlKlAkKIFlA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b883ed21-6b5b-4212-5dac-12d9691d430a@citrix.com>
Date: Thu, 23 Mar 2023 23:15:34 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] xen: Modify domain_crash() to take a print string
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>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220203133829.7913-1-andrew.cooper3@citrix.com>
 <11398184-dff2-cbe1-bca3-e2862cfbb104@suse.com>
In-Reply-To: <11398184-dff2-cbe1-bca3-e2862cfbb104@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0395.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18f::22) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SN4PR03MB6735:EE_
X-MS-Office365-Filtering-Correlation-Id: 21f91ff2-9563-4138-7ae7-08db2bf484b8
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6RrZ+7bW0drg2/kItLKbKEWWITe5PT6WR195SLPCLN42HsvZN2eLAjYt3XpfzOJA7BOGUeDb+IEikH21bWWTC1kof+aTPZt+f3YwcFB6oK769BMs+lhZSyI40shlfnGXHssMrA2YRoJV1bYJHEuVDYtLI+8vlFDopFTP05oddm7uozf7uP7/sUJa8Y53wfXeXrxRt5tEAsq6jmqHP2JAXIi24B0YsYOgs3RjihLKGrS8tetWd+5/Q+DSUjjJ1w3zcTjevCjEOP2LHAHEaf0V7zhsTY0oCmy3KPrXdssWw94g/s6RFDh35fmSeaY3JgP9oaiDwnnG2HTf3Tv9MviHpQGWPu+9b+fcgdU2+thfF85TK+mHtBB/MTVe0C1/m+z8Pik39XSqzHcUnEyL/grvy4xmXh24yJySiijFAv20LLk9ltCyImqn8jfhTp4213D+rIFf3e9qFgSNl7uCfwKurgL1Xg//Fm3iFpo1sCYqyOEDer7j3K7u/zxjEUDIEVdGZ5UQWy1WDwqaUlsykWdU3XSkIanKrLe4MbqXxBMcn3pOj7QjPkBSeFMnb3gnVUhskA+Ubb87eOHM2XfrDNXoeSPuj2XR8qYMgUD/FxJ2tS6erLs3sVDeLtLSn9pnUCiMkY0kANsNjH0Di+RgRxf3uDzJlD5HTBS+qkRyIWPy61ZFuW1GN562fkQgTikMBkhNgTxWhPfW7m5UVaAs4SzzN/HR/QQd9z2hnGOs5/Ey8WU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(346002)(376002)(396003)(366004)(39860400002)(451199018)(36756003)(38100700002)(6916009)(86362001)(8676002)(4326008)(66476007)(66946007)(66556008)(8936002)(41300700001)(6486002)(316002)(478600001)(54906003)(2906002)(5660300002)(82960400001)(31696002)(26005)(53546011)(6512007)(6506007)(6666004)(186003)(2616005)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S1VINi9PVy9wWUI0cW5iVlk0c054bHZ5SVpCaHZ2TFFnV24xQWswbTRGZnRE?=
 =?utf-8?B?bkxXMTVydEM3NW8vUGhTN25TUTBtY2JNcWtSMXpwU0Rra0VDL2hld0FKam1J?=
 =?utf-8?B?c3VjQzJLVjF1YmhTVWhTRlVJU2pIcnJIbzFBMXR2bXYwSExpYWhnMkl4OUxM?=
 =?utf-8?B?SW44RGxVUzVxcnpqakEvZHMzc09rWDlvQ0Y5RzJCWTZIaWF4QjE0N1hqSlR0?=
 =?utf-8?B?N0htUURmbFhaalRBaUZaZ3RTQndMMGwzME00ei9vZjRsZGJMbjV5Vld0N1BL?=
 =?utf-8?B?S1V3V3hnRHpoeVhxMnhDODlOd0hhejAwaEVXdkFMQ1F4RG5YYXN3QlJTSnA4?=
 =?utf-8?B?bGIyWk15S2NsTlJrWGFUcytxUEhENzNLb1NTNHI3U01MQzhMRUJNTW9vaWgy?=
 =?utf-8?B?bGhqMDhpZ2xYdDUwbmorR2U5cURseXVWV2dzTCtxTDR5Y2tSeVNUd3g4Mk1W?=
 =?utf-8?B?T3RmS28xczBuOEx1Z0U3RHJpRWQwZ2JIUlhTVmNBN3JzVnVRVThib2tLWTho?=
 =?utf-8?B?SWZUMlZrUnhwaWk3ZHVXNC80aHJrUGgyQTBxSWlTWWlOY3VlVzRSc2RwZFdS?=
 =?utf-8?B?WjFRU2lCV1c0SHBCR0ZCeHpGd0JXNThlSVBGM2pyeWpXWGkxTHZFWTF4dU14?=
 =?utf-8?B?NlpUZTlEeFgzYzZVWTlTQmVkeDNVb3l6M1IvY01HTmZDbW1YSERDeWlMdDAz?=
 =?utf-8?B?Y0NneC90d1RHS3FhMmFZZGVyNWp4S2Q1TXVMVzVmRGxwL0o3bTNQQmNBdFEw?=
 =?utf-8?B?MzVZWXhCUEZ1bU1URnZ1UGx2V2NNU3JhTXJPeGZNbkpCaDhzSEpTNHFVMEQ2?=
 =?utf-8?B?bFJueUlaMVU4Uy9xUmpuRXRpcTJxZkV1RFV5ejV2RWZBbFVCRUNIZUVzckN2?=
 =?utf-8?B?Q2IrTWRUeXVtVDJWdExKaFRTaG4rSHUrSVpSTE9NUyszSTJFcDFQRGlTdkhp?=
 =?utf-8?B?cE9qMWU0cTBBelNsc0UydXdmSTc2aElzMzJ1UDFLWkZlYStZdTEwemJTWUd2?=
 =?utf-8?B?ZE9KZUYrY0VCMnZUaGRpVFp2TG56dlpRSlpGYy9uV3VZZ2JJNGJleXdiNEtj?=
 =?utf-8?B?dkdLTHh0VVJEdm9GRFE3QlpKaFhabTU5TTYzWExPcEw0YlBrbzJ3L3NYQmtK?=
 =?utf-8?B?RDZpazg5TGJSV1ppaDF6R20vbFFYbDYrRkkzNHZTaGhoUTQyVDF4T0ROdmla?=
 =?utf-8?B?eFRNcHU1bGRkaitxSDVsYjRHa0pITlAyM0d3WU1Sc1Q3ektRZmZFYTVVeUcy?=
 =?utf-8?B?cHhoZlVETWYrRHE0UjBuT3lLK0E2dDdvTHZCU3J6Y3M5bytUdzBQY01qaXlQ?=
 =?utf-8?B?cmRmNm45bHltdW4zWGhuRzBPOU1CL0UyV3hBUmNoZHJLT0ZTemhubXkwMlRT?=
 =?utf-8?B?RHZMWUNtdURkSHlRNjVqSVE1WndBUU04blhUdGZvZ3RVVWZ0VVp1N3JwdzUv?=
 =?utf-8?B?SythZGx5OXY1dWRzcExocmxvc1FWWnlOMFNJbFZVTTNISHRaUlhLRUlMWmd5?=
 =?utf-8?B?czVabnJhRmtkNFBlczhzTmxJYjhlSENCTzNQWlBmd1kwUE5kYXg1dnROTW9j?=
 =?utf-8?B?SmlTWkpydXBCRTg1ZVhhdWtUZ2ZHMWdlSFl5ZXlQdmtrdzRVMlhrU3pPQUZT?=
 =?utf-8?B?VFMrZ0VVdS92ZFcxL21vZkphajFMbWJqWWllRktVQUc5WnBveXloZzdOUlNK?=
 =?utf-8?B?VUo4U3grc3NNNWwvUVBySWtXVkdsaFg0T2dpYzgzTXFMMU5hZXhzRldwR1p5?=
 =?utf-8?B?NFc2V0l2RlIxSjFaZXNMVk1JRHh2VFpQY045KzZNUXplcHIzS2QybENPN2E5?=
 =?utf-8?B?U2JLbExMeDNWWEN0cmxybEorTVJNUTZYSmE4c29rWDBXcFV5dFRvZEh4N1I5?=
 =?utf-8?B?UzhzSEpTcXgwTFQ4Z3duYVhQNkVkMjFOZnVEQytXV3JRekg5cHBrblV3V2po?=
 =?utf-8?B?V01LNm9RSk0wZE9ab0kzQXp5bStsM2FoeVJiMk5sVWtXL0tQOUxud3NsVktF?=
 =?utf-8?B?RHA5M0s5YzlYU0hHbzhEYVlCZnNKMnhKTnZrUkowOHZVMkR4cUFkZm04WEUw?=
 =?utf-8?B?LzYweXgrT3JYY0JBbUhHV3lRUXE2alpCcll5ajRBWmZ3aFFtTjN2Q041WE1E?=
 =?utf-8?B?MWxKczlHblR5UEt2aTdXa3N2YitmRDBPWmtUUWlmM0dlWStTa2FQK1E4SHJw?=
 =?utf-8?B?S0E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	rUE82D64cZ4XvDM9UdpzE6SSFxLkeqiCouQBe9yj/CRMTYl9rEZEr662GgAK8S735xKnFS6Yz9p3VvvamzOlvwl2CkXDU6ojHrkSFv2+vNkTlUjcfHQxopPNQ5KD8cgFtSTiVO7gtnJ0Trfs54Zg38PKFKoPMeBNN4FjDrny2RYXSv3VBk1h+WpIK3wfAJkHS/6swmPel9jLD1fcNM1KPZxKM8rlDhsNCkRWbRR3EKiZBLl8HdYWsYaPwcWAB72ZBf1GT0eE2W79Z0X+fXbqWrx6SkimVcv38/mh0C7wWJUE717NZymqFUlG7O4QTY+z3IQ6djXG7wCcbPq7LHY0XpiX2xrXxpstJcdnZs2xMeHnyXoZMEqkKSAeuEuS5v4+uvYFRDOFokdfTgUkzpMMOy/BsfD5+AEKNrfxjtGeYXXp5YXo2Fbcx70IHYnk2EGvFOgejYIAGS+XD+N21Xq2ENnCo4SPBJWSC7FSha7DpEivMxoNUJj61K5cD2ICkmBztexQgCKWuc9qMoAa5zjuaxx2YkWj513gd36YW3P22WUP+ZRKxR2TqLfm1IyFU29ZE01OkC/b4BrGFIn/aCcYmNKMc+pG5lwp8BxltzShRODEVe3hmpuy39YeOW+D3YSW1B4291cQZPwSUMoZ/ESji3VWX4N9KjKDnoKW7w525DOu5Dx5dn0LdhrnuWhiR3ynjfV2mQquq28MJlahGLsaM8okzkhtXF3JAF5MKNmuAbV4WVytkw+xLJTm0rPPIA2zd160+ipib7JMg3y7kxquVmPjx5gWmoaHKnNi+OKsTJ2YpJLf+HMGb/x6/eF7N4DArTA5duHM6TVnD/KEE0kMmm1wl3Ro79PDIItR9A/mTxkcdiEwYrfuDIhVTE6jMCUilL99HOms/pmFzZ7arb0bjA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 21f91ff2-9563-4138-7ae7-08db2bf484b8
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Mar 2023 23:15:40.5816
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6Zc2oVbnvfmchMKgk6i0o4agezOETM4YxBMRj0uRnjVH9rs6da8/8Pcd22h/hwB6IBiKF+U24xQXckwymr9hGs1O+KEZqottRker5jvDTtM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR03MB6735

On 04/02/2022 12:54 pm, Jan Beulich wrote:
> On 03.02.2022 14:38, Andrew Cooper wrote:
>> --- a/xen/arch/x86/domain.c
>> +++ b/xen/arch/x86/domain.c
>> @@ -1693,11 +1693,8 @@ static void load_segments(struct vcpu *n)
>>                   put_guest(uregs->fs,   esp - 5) |
>>                   put_guest(uregs->es,   esp - 6) |
>>                   put_guest(uregs->ds,   esp - 7) )
>> -            {
>> -                gprintk(XENLOG_ERR,
>> -                        "error while creating compat failsafe
>> callback frame\n");
>> -                domain_crash(n->domain);
>> -            }
>> +                domain_crash(n->domain,
>> +                             "Error creating compat failsafe
>> callback frame\n");
>>  
>>              if ( n->arch.pv.vgc_flags & VGCF_failsafe_disables_events )
>>                  vcpu_info(n, evtchn_upcall_mask) = 1;
>> @@ -1732,11 +1729,8 @@ static void load_segments(struct vcpu *n)
>>               put_guest(uregs->ds,   rsp -  9) |
>>               put_guest(regs->r11,   rsp - 10) |
>>               put_guest(regs->rcx,   rsp - 11) )
>> -        {
>> -            gprintk(XENLOG_ERR,
>> -                    "error while creating failsafe callback frame\n");
>> -            domain_crash(n->domain);
>> -        }
>> +            domain_crash(n->domain,
>> +                         "Error creating failsafe callback frame\n");
>
> I assume it wasn't really intended to hide potentially relevant
> information
> (the subject vCPU) by this change, which - by way of gprintk() - did get
> logged before (since we already have n == current at this point)?

The information is not lost.  __domain_crash() prints current too,
albeit in a long-winded way.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 23 23:46:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Mar 2023 23:46:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514106.796075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfUdo-0005pA-5A; Thu, 23 Mar 2023 23:46:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514106.796075; Thu, 23 Mar 2023 23: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 1pfUdo-0005p3-25; Thu, 23 Mar 2023 23:46:44 +0000
Received: by outflank-mailman (input) for mailman id 514106;
 Thu, 23 Mar 2023 23: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=k1NO=7P=citrix.com=prvs=439d27799=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfUdm-0005ox-B9
 for xen-devel@lists.xenproject.org; Thu, 23 Mar 2023 23:46:42 +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 f346c116-c9d4-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 00:46: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: f346c116-c9d4-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679615200;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=MnU/WGWktkDUHHsW9r8YWjgsy8o+oR4Jpo7vpNNYvzs=;
  b=Obg4E+xmYh1b1yfgKL3q2gx7v6UGR6LutzNXkCb9QwJnq/Mz7sbJjxJG
   4ZhwyRV6chOLt6BNNBPPUJr6DKB632+P9T6/tu0liT9lx7z7CU42dcNSq
   /OmIuhHdhnXjZ3zYfXM0Vnhp6yKhAZZJQc7qT3Lo77654FKmeSIGP92/j
   4=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 104524112
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:slKeCKMowQ2L7JLvrR3Zl8FynXyQoLVcMsEvi/4bfWQNrUor3zBRy
 mZNDGzSbvqIMzamLot/bIu+9h9QuZKBztVmSAto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5AdmPpingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0t9MK0QR6
 PtbETkIQwmzq+mU5LmdZuY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w2Nk+ojx5nYz/7DLoXmuuyi2a5WDpfsF+P/oI84nTJzRw327/oWDbQUoXSGZgPwh/B/
 Aoq+UzhBikrJuag8ACr7yutgrXDozvmet8NQejQGvlC3wTImz175ActfUS/iem0jAi5Qd03A
 1wZ/G8ioLY/8GSvT8LhRFuorXicpBkeVtFMVeog52ml6IDZ/gKYDWgsVSNaZZots8peeNAx/
 gbXxZWzX2Up6eDLDyvHrd94sA9eJwAsFkUnOjIDDjIM5vT6kK04rDbEaPpsRfvdYsLOJd3g/
 9ybhHFg2ORI05Nbjv7TEUPv2Gz1+MWQJuIhzkCOBz/+sFskDGKwT9bwgWU3+8qsO2pworOpm
 HEf0/aT4+kVZX1mvHzcGb5ddF1FChvsDdE9vbKMN8N7n9hV0yT/Fb28GRknTKuTDu4KeCXyf
 GjYsh5L6ZlYMROCNPEoMt/gVZlylPa+SbwJs8w4ifIQCqWdiSfdpH0+DaJu9zmFfLcQfVEXZ
 s7ALJfE4YcyAqV71jumL9ogPUsQ7nlmnwv7HMmrpylLJJLCPBZ5v59ZagrRBg34hYvYyDjoH
 yF3bpXbm0sCCryuMkE6M+c7dDg3EJTyPriuw+Q/SwJJClMO9L0JYxMJ/Y4cRg==
IronPort-HdrOrdr: A9a23:iv9aVqHePZSWuoAdpLqE7MeALOsnbusQ8zAXPidKOHtom62j5q
 STdZEgviMc5wx8ZJhNo7+90cq7IU80l6Qa3WB5B97LNmTbUQCTTb1K3M/PxCDhBj271sM179
 YET0GmMqySMbGtt7eZ3DWF
X-IronPort-AV: E=Sophos;i="5.98,286,1673931600"; 
   d="scan'208";a="104524112"
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/shadow: Fix build with no PG_log_dirty
Date: Thu, 23 Mar 2023 23:46:21 +0000
Message-ID: <20230323234621.2591154-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

Gitlab Randconfig found:

  arch/x86/mm/shadow/common.c: In function 'shadow_prealloc':
  arch/x86/mm/shadow/common.c:1023:18: error: implicit declaration of function
      'paging_logdirty_levels'; did you mean 'paging_log_dirty_init'? [-Werror=implicit-function-declaration]
   1023 |         count += paging_logdirty_levels();
        |                  ^~~~~~~~~~~~~~~~~~~~~~
        |                  paging_log_dirty_init
  arch/x86/mm/shadow/common.c:1023:18: error: nested extern declaration of 'paging_logdirty_levels' [-Werror=nested-externs]

Move the declaration outside of #if PG_log_dirty.

Fixes: 33fb3a661223 ("x86/shadow: account for log-dirty mode when pre-allocating")
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>

An alternative would be to double paging_logdirty_levels() up in the else
case, returning 0.  The underlying logc in shadow_prealloc() succumbs to DCE
either way.
---
 xen/arch/x86/include/asm/paging.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/include/asm/paging.h b/xen/arch/x86/include/asm/paging.h
index 38bec8af2ed1..2ca22f20adff 100644
--- a/xen/arch/x86/include/asm/paging.h
+++ b/xen/arch/x86/include/asm/paging.h
@@ -149,6 +149,10 @@ struct paging_mode {
 /*****************************************************************************
  * Log dirty code */
 
+#define paging_logdirty_levels() \
+    (DIV_ROUND_UP(PADDR_BITS - PAGE_SHIFT - (PAGE_SHIFT + 3), \
+                  PAGE_SHIFT - ilog2(sizeof(mfn_t))) + 1)
+
 #if PG_log_dirty
 
 /* get the dirty bitmap for a specific range of pfns */
@@ -187,10 +191,6 @@ bool paging_mfn_is_dirty(const struct domain *d, mfn_t gmfn);
 #define L4_LOGDIRTY_IDX(pfn) ((pfn_x(pfn) >> (PAGE_SHIFT + 3 + PAGETABLE_ORDER * 2)) & \
                               (LOGDIRTY_NODE_ENTRIES-1))
 
-#define paging_logdirty_levels() \
-    (DIV_ROUND_UP(PADDR_BITS - PAGE_SHIFT - (PAGE_SHIFT + 3), \
-                  PAGE_SHIFT - ilog2(sizeof(mfn_t))) + 1)
-
 #ifdef CONFIG_HVM
 /* VRAM dirty tracking support */
 struct sh_dirty_vram {
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 00:59:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 00:59:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514125.796101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfVmG-0007my-TU; Fri, 24 Mar 2023 00:59:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514125.796101; Fri, 24 Mar 2023 00:59:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfVmG-0007mr-QP; Fri, 24 Mar 2023 00:59:32 +0000
Received: by outflank-mailman (input) for mailman id 514125;
 Fri, 24 Mar 2023 00:59: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfVmF-0007mh-Dx
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 00:59:31 +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 1f974175-c9df-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 01:59:29 +0100 (CET)
Received: from mail-dm3nam02lp2040.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.40])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 23 Mar 2023 20:59:25 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB7125.namprd03.prod.outlook.com (2603:10b6:a03:4e4::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Fri, 24 Mar
 2023 00:59:21 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 00: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: 1f974175-c9df-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679619569;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=UOrsXXI+gitwyJteiz5sY36PimzJWGRLR+y7xl4e+Kw=;
  b=L4o0ItBMGn4N4c29Atto0F6En0vJcXeJlsOKhHAiAcdz/xUuiAVB/auE
   MxHvqh38YuGUYE6eaW2CHbpNGURSRkoHfeGibuRlxXIxseNlt0pHystfR
   k1hB1/3XQVL6ckjcOrT1TQFaT5LRZcsVUGdJjhz5h15fNTeJmdeISHKfA
   A=;
X-IronPort-RemoteIP: 104.47.56.40
X-IronPort-MID: 102020412
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:2lzjcqAx0p+qhxVW/+jiw5YqxClBgxIJ4kV8jS/XYbTApDhwgjQBx
 2cfDTiGM/fZY2v8L9gkPYjjpB4Pvp/XyoNqQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhC5QRlDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw47tIKyJl/
 LsidRMVdRyd3u+O8bfrVbw57igjBJGD0II3nFhFlWucIdN9BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI++xruwA/zyQouFTpGPPTdsaHWoN+mUGAq
 3id12/4HgsbJJqUzj/tHneE37eVxXmjBNtIfFG+3v06p3mt929MND01e2ugqN20rlGUXN0Kf
 iT4/QJr98De7neDTNPwQhm5q36spQMHVpxbFOhSwB6J4rrZ5UCeHGdsZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluaNSUQLEcDYzEFVgoP59T/oIA1gQnLR9wlG6mw5uAZAhn1y
 jGO6SQ73LMaiJZR073hpQyfxTWxupLOUwg5oB3NWX6o5R94Y4jjYJG07V/c7rBLK4PxokS9g
 UXoUvO2tIgmZaxhXgTUKAnRNNlFP8q4DQA=
IronPort-HdrOrdr: A9a23:dmabKK2XCo+MI0mL7dW3kAqjBbtxeYIsimQD101hICG9Lfb2qy
 n+ppgmPEHP5Qr5AEtQ5OxpOMG7MBbhHO1OkPUs1NaZLUPbUQ6TQr2KgrGSugEIdxeOldK1kJ
 0QCZSWa+eAQGSS7/yKmDVQeuxIqLLskcCVbKXlvgxQpGlRGvhdBmxCe2Km+zhNNW977O0CZf
 2hD6R81lidUEVSSv7+KmgOXuDFqdGOvJX6YSQeDxpixBiSgSiu4LvaFQHd+hsFSTtAzZor7G
 CAymXCl+qemsD+7iWZ+37Y7pxQltek4txfBPaUgsxQBiTwhh2ubIFBXaTHmDwuuumg5Hsjjd
 GJiRY9OMZY7W/XYwiO0FfQ8jil9Axrx27pyFeej3emi9f+XigGB81Igp8cWgfF6mI71esMnp
 5j7ia8jd56HBnAlCPy65zjTBdxjHe5pnIkjKo6k2Ffa40Dc7VcxLZvvX+9Ua1wXB4S2rpXUt
 WGP/usocq+tmnqK0wxi1Mfg+BEmE5DWStuDHJy/PB9mAIm40yRh3FouvD32E1wrK7VAqM0lt
 jsI+BmkqpDQdQRar84DOAdQdGvAmiIWh7UNnmOSG6XXZ3vFki93KIf2o9Fkt2CadgN1t8/iZ
 7BWFRXuSo7fF/vE9SH2NlO/grWSGuwUDzxwoUGjqIJ8YHUVf7uK2mOWVoum8yvr7EWBdDaQe
 +6PNZTD+X4JWXjFI5V10n1WoVUK3MZTMoJ0+xLE26ms4bOMMnnp+bbePHcKP7kFislQHr2Bj
 8ZUD36NKx7nzSWs7/D8W3ssl/WCz7CFMhLYdjnFsAoufswCrE=
X-IronPort-AV: E=Sophos;i="5.98,286,1673931600"; 
   d="scan'208";a="102020412"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EwoJFO7TfMZAQ4hKom4iy6nOk/Vpg/z3Y5qFwtn1VG7UWYFJpkzzlAQXCs+AfDPGk2cXT53qir3pG6qfdxCKXnEODQR1cAm+S//sL2FgRFWTlcC41mmrGebLxJo9+3VlVqohfCEDFJZakHuxdriLqO873TdHmQNr+Mkr57DT9ivBNQmUXtRGxhKZMhtAGVfTg5SbZuEuTa2zUA8r4pafCPmXEpZeNRpyyw8DJRqca60C/1CMvDOcnRY7ijs0tdzd6cY5GpCxd4Afe51NDR4Qm6c/mNx0kP5Yn98/aGpdBgDyUdSQNEtnV6zLFVWyfiwkUVrgvM7NI0GZCuhpTWtGyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=n/HrkrxERqn0yUqYmnFPk0U/F1xuWcG6atPbU/wV/ag=;
 b=R4xfWpUnqeRCIIRa8IRTxkkVjCJsuh8i+5eQ/yh/T8lsJlSBBkAZqBxQjuNprRINxIqLz6kFJFcGenggVb7iQQmjZdHJbcBVJxXSeGxlBg3nsn51Sr8ZT83nRmC3Jz0aN/l7syWoyJpW0aaznIzI2aUngAE75FtUhh9as8qXE6KC8Hszk38HxaybMi4FkgcfwvcjG9KUDIEj4JYWv5r+81aR86rqXXnFcsyE8jnRUcH9ZGMlWYG/n/nzzw3iiIF7SFRAUG54qEFj54+0MbfigERg2X/C7ghjJu+SBKeJVK8JOCahLkP//rXhpJSfyYcds9NMdWJJZirUkTJ4YWeTlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=n/HrkrxERqn0yUqYmnFPk0U/F1xuWcG6atPbU/wV/ag=;
 b=l5GarpyaJS9OYg5Gm0w514fjVJY2bBa9CQDojdfmi28mNVWSrxfCBqsHyBrfar6gMRg2L3sYoBcMFbPyY9ous9zECzeWIO4PZmcg79Xx7PNbJ0luAyegZwHcJtnxHij83i5rnZdoyC/mZfRUrZNwU8zdGM0POTcoB6w0n8wbpVE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <6f59d2a4-fcb6-77a1-2cd4-51e032fc80f4@citrix.com>
Date: Fri, 24 Mar 2023 00:59:15 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
Subject: Re: [PATCH] x86/hvm: Improve hvm_set_guest_pat() code generation
 again
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Demi Marie Obenour <demi@invisiblethingslab.com>,
 Edwin Torok <edvin.torok@citrix.com>
References: <20220810133655.18040-1-andrew.cooper3@citrix.com>
 <74d0425a-a206-2bcb-50d6-e5bb4c5e2bf3@suse.com>
 <77198021-f45c-9d75-c1da-5022d3ca99a2@citrix.com>
 <1eff8db6-c358-9597-6096-0a1312d59712@suse.com>
In-Reply-To: <1eff8db6-c358-9597-6096-0a1312d59712@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0209.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:33a::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB7125:EE_
X-MS-Office365-Filtering-Correlation-Id: 5173c725-9dd5-453d-45c1-08db2c030072
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qR/V7+XKGPlGms3odIVoMIRs2vnauZwdpOayS2fc3TxgSNRqoiIz8ynMojFMEpNrjLz+YXI85qpdRGKKq2HjrEw/79uPZ1bqrQfmRKVvltZPj/kuK7i4LW9k5nFpnhX9STwrHe7P6+ZoT5Kh9k++kfNugz4+wbMZe8C+DPmIm8FJWtOnGyXIz1GUT+RUMLYe3pedP7dH9CuwMvYuCoMG4NAJ5dsfhXFsc5WEubEbznRVtXEKAQdnqlNfSDMDIAYskSE59zyAgVPui7VnwhTpu+16M8J/oys2OZRkMxBttVON5h5HlnSnqhv6mQyHcV3ksCBTNb3SpbXXT/PyXHWpfLfZlm5U8PnuFizbZ3Vzu4zENp3k2a4KpS4QaJA0glj8SVGvEohP3k3+RbHjkqw88OLi2mzSLcPPmdPypy/mlalklXMCqkiJfj4tbq6HMNx/JVK191QJcyXIz2rRCdOv2U5LNBVXzNCUPfQ8nlqY7f/qEwoReoCTxNO97ujHNzsOWqKVaubvB1yeOULHaEKInBfdN+ltQXXh2JYLi3GvZWXeZ1tNytfTxpDTady0Q9wzlpzoPteC0MAsCz0wTejSNDTqeMcvtTzKPsLrdlIlWDVfoIkFEziYU5SURexpKUQwKQuf1gkIWtAcq0lyohiLloK8/0zIAjDpLboWL7lYmI9BXu5aHeXBOwaJGZeVPUklXi3csDaW7+mY5bx3BD9YkflcCOAEJXF+6Cy4EYi7Ux4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(366004)(136003)(376002)(396003)(346002)(451199018)(36756003)(8676002)(6916009)(66476007)(66556008)(54906003)(66946007)(4326008)(41300700001)(5660300002)(82960400001)(8936002)(316002)(53546011)(26005)(6512007)(6506007)(6666004)(186003)(478600001)(83380400001)(2616005)(6486002)(107886003)(31696002)(86362001)(38100700002)(2906002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bE5kMFdvbzR3N3dDTVFicHhQUFFUQkVlcmNuMHhyZm9UTGo0dUNZRnBZWWhV?=
 =?utf-8?B?ZE9QS1NobzhmbXBVVFI0YmVoSFFGTm9jSWtSNERKM0pTSGNtS2JEREZNcE5S?=
 =?utf-8?B?dXdwVUdaSXpoZ0V2VGtaQ3BCeGQrcEg0ekpYR0lwREozZ1ZDYXY4N3ROWm16?=
 =?utf-8?B?bnRGbzhPeThSb0F6S2RaSDlSTWtDT2tGWHJZQmI2ZWljSFpzajVKTjcxVnpK?=
 =?utf-8?B?RlVaS1VBUHpKSXREVWtSMlFPMk1nanphREdPY2lPeUUwdS9yUXIxVno2NzFl?=
 =?utf-8?B?ak9mQ0FDWmp0M0Y2bm1SSXE2ZGNrZUhsMU5iYVkwWEd0eWdEMGNPM3hQaDJF?=
 =?utf-8?B?QVRRYk41Uk5Ubk9BSXpXdFE3bHF6ZDh3dXNLYlZzaVNocEF2cUNYUml4TnVN?=
 =?utf-8?B?a0FBT0VhZWpKcmpZc0xHWHEzMEdWZ0dmekJDU3ZmaWVSbTFQMWcxeEZjSzkx?=
 =?utf-8?B?N1VaVXlFNVhsek04bSs4YW1RVSsyY0Y5YTVMeGhGWERqYWg5dkdIVFkzeXdR?=
 =?utf-8?B?bHpHOVcrRk1mR20zcjh6aksvQnlLS1JkZUlPVTh6TWgzMTNHRWh5UDdZZEQz?=
 =?utf-8?B?Z0I5ZTNFWEhITjBDcnh6dXdwSy9JYzdWOEVoVFVjcHFGWlo5aFVuNWpVVmZk?=
 =?utf-8?B?b1NjZ3AxbWRxYm1razlLTTZlU3kybGdFMTdhRGVJUkVjaWhTTXcwaGx4cWE5?=
 =?utf-8?B?UmpwNVZoWWxCZ0FuNjBKL21kM3QxY0NLbjEvZitVZzhqSjhwVGJPS1pyTWov?=
 =?utf-8?B?ZzJZRkJSMGc2bytyN2tvaTRjOFJubFRteTgxUmdPQ2pBellKV1F2MUo3UUdU?=
 =?utf-8?B?YnhwdUxURjk5QklaM21hZXV5TWdzZ0VCT0hrQ1dyY0kzcDZya2lPSVVwT1Zs?=
 =?utf-8?B?Y1pscVBvZkE5UnN0cnJVYUhCa0xhOEFXNFdQSDVhSld3UExBbG01R0ZyaVdY?=
 =?utf-8?B?Z0JoZEJqRXBiOVZoNXA0OXM2aUpCbzl2MFBDeHNIaVYvNHJ0SHBCZXFqSlF5?=
 =?utf-8?B?Q0t1L05tdWoxK1IvM1VYamh0eWtzdjdSbW5OMlozajU2Zm9VOVZETU5leUhF?=
 =?utf-8?B?VS83elBiSUFVRTBJakFmRnZyY0VSUlpmaDVOSXNQQWl3RzFnbjVneDV1Q25Q?=
 =?utf-8?B?WGZGZnRJT1I2ekU2QWFaTmNoN0pVTTFaQXZMeDFrZkVZT0NRUEp2bVBtcVdO?=
 =?utf-8?B?U2diWVZ1UE5GVjZ2aVhmclF4QjNlZjFCRHFmRjcwazJFeEdRN3EyMGc4aWRl?=
 =?utf-8?B?SjY0UTFOeExZclgvSkdCU2VJa3NENXVWNEd4S0dSKy9LOTcwbHJKZUlRcTNF?=
 =?utf-8?B?MVdpSXhrQmMwajRwSldKamVpZjR4NkIrVkV6cDMwQk5WSFNDcm1FaUlpYkpM?=
 =?utf-8?B?WnVUY2xtbDNEZFliSCtTem5UT2JrWlNnVDU0S3p4WHZUR3RwKy8yMXFOWm5V?=
 =?utf-8?B?eEs3UU8xWm8zQ1BFaGtJOUwrdHNPMmpTamx5MWtjZnhNVWxqZzFsaVFGVWZC?=
 =?utf-8?B?NjU2SVY1aENpOGN1VkJlOWF6REUya2dSYjNVTDNYbkEvbTRVdHh4cm9qdUhu?=
 =?utf-8?B?MFBQTHhaOHNzOWh4VFlIYlJGLzhtREIxYXhkK1pENU1QaVdaTEI2SUtaRUU4?=
 =?utf-8?B?WWZnazZ3UkFBbmtnc2pvZlEvMGtaaGluMU5qZWk2WEF1L2FONkduUzV2RDNK?=
 =?utf-8?B?anh5QktnT2xKeTJXc3h3OUo0Q3hTSmprak1TSkFKc0JtSDJybkIvM0VzUGNW?=
 =?utf-8?B?VFNFRGFiWHNBV1lBR0p2YXVPQ1F2dFAzdDByU2VMUnprTTN2cVJKRlVvRzAy?=
 =?utf-8?B?UkYvRjdJUEltL1YvVG5rTkk5TFB0eVRwWTdKdkE1U2gwNnErOUtXZThHT09y?=
 =?utf-8?B?Ukw2azdXNDZmeUtCTWRVUzFuSUZkcnJyOVEza0xXZWJyRzBCa044amx5cU0y?=
 =?utf-8?B?TklZdnk1YnpjOXpTN1NzUHl5M0tPNjJKYmlwbHVCYi9sOXZEYm4zM0I1aVNZ?=
 =?utf-8?B?eG8zTGRPVTVzZGFESStBZnNubm1TeUFMNHpNcHNTK1BvQTZoTGRCK29RTVgv?=
 =?utf-8?B?alVVTCtDV0NpQzlCdE5GRXBPclVibUEwRDZIcmZtdUErRnprWGRITXdMRTdH?=
 =?utf-8?B?ZTZqNjRiNGUzWVdkSTlmdDNuYlAza1oxeVM2RFVXamtVQW5ZZmxsTE9GWDk2?=
 =?utf-8?B?SXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	2pG4LvWLoG/eXGrGIhrt+OysiPTYSSd4X2xkSBXSRmj2Xufpn95w8f3PPcOgn8qExy7LS6f30WCkcp4+NR5jETzS6f189+58S8WAmDJfAWQgwmEcC+pUmZi0C25QMA26Fp7KGUSwzuWNdjMsIKlF8d6f6L30a+hHeUC3WFrW1h3vzzxUa5MI7XxDQtzpkAoSkT22MKPf8SoiahEjwm9mUvwFNPMiD4QfqqhK3f3wgftaPDMQT43QS+YXe5PmRdSp8bIYFwKMXYjiXEqICmXLAw0dpseyxCmVGhiZf1bEGxktbnG/AL1VPTzbQ40PcC5l4S+IE+JKfav17gNs6w04sWAqJmHXxvfb6vnntJFVtNFIAAhvsD627Wv+HLdvTRb8PN6Sy9VNg6MdwsdWnF6HcTznZ03GQkEl1DrIBgJiXKL1Hh+Uplvsf0dt/LPz82UNbie0sfd9x2ngrFRoF4VoedtdBI59YzaRbQuNX9cG1GCM54jX87JqKnMXD45PhWhjNlE4JhvxHa4W/aiYKDartyLFtjcvYES2M35uEEa95FDOy3IRElAFm1XbGcW4GmYg4ooMWpE/qN0s75ictVrlzRbmxUwV6PdiO9EU3g9O2dc/B1sAXPl1LYlBExnmsZ+3kFSbAmTYiHds9CEuBHT5ooEgiQNdO35guD9yCg5vXvupAAGnoDlCx6rnCosW2O2vFwtISglj0zJC3tz6bRbsHGL5NfmOdROKxwD/g3zpPmldfp5XPxDt9xJhnGQRpD+kFINwsZSEigP6zE2WlP6CIudF6NFbl5lReYwq3Q0pzggqOHP1+4n3H50o2n9ybdNQsoEQk4by7ZQMJnf1lYL1Y6Kh/xi7tBJwynvr+Xmqtlcx7RCdHLd6d102qGKY08Ng
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5173c725-9dd5-453d-45c1-08db2c030072
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 00:59:21.0819
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gCFqCBWFAJvz24HXvlKhWcqUeNJqTXTUH1pRfMzO9+iDmBwUeYyzuuRwQVivZnnyDjrc4XhNe2Qm0CH6HVKFLXDAnFBpTkZQlucXvmNup/s=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7125

On 19/12/2022 7:28 am, Jan Beulich wrote:
> On 16.12.2022 21:53, Andrew Cooper wrote:
> Again - one way to look at things. Plus, with Demi's series now also in
> mind, what's done here is moving us in exactly the opposite direction.
> Is this hot enough a function to warrant that?

Yes - from the first cset, 9ce0a5e207f3 - it's used on virtual
vmentry/exit so is (or will be) reasonably hot in due course.

What is more important in the short term is avoiding the catastrophic
code generation that Clang still does with default Xen build settings,
also linked from the commit message.

>>>> --- a/xen/arch/x86/hvm/hvm.c
>>>> +++ b/xen/arch/x86/hvm/hvm.c
>>>> @@ -302,24 +302,43 @@ void hvm_get_guest_pat(struct vcpu *v, u64 *guest_pat)
>>>>          *guest_pat = v->arch.hvm.pat_cr;
>>>>  }
>>>>  
>>>> -int hvm_set_guest_pat(struct vcpu *v, uint64_t guest_pat)
>>>> +/*
>>>> + * MSR_PAT takes 8 uniform fields, each of which must be a valid architectural
>>>> + * memory type (0, 1, 4-7).  This is a fully vectorised form of the
>>>> + * 8-iteration loop over bytes looking for PAT_TYPE_* constants.
>>> While grep-ing for PAT_TYPE_ will hit this line, I think we want
>>> every individual type to also be found here when grep-ing for one.
>>> The actual values aren't going to change, but perhaps the beast
>>> way to do so would still be by way of BUILD_BUG_ON()s.
>> Why?  What does that solve or improve?
>>
>> "pat" is the thing people are going to be looking for if they're
>> actually trying to find this logic.
>>
>> (And I bring this patch up specifically after reviewing Demi's series,
>> where PAT_TYPE_* changes to X86_MT_* but "pat" is still the useful
>> search term IMO.)
> I don't think "PAT" is a good thing to grep for when trying to find uses
> of particular memory types.

This is not a logical use of a particular memory type.  Being an
architectural auditing function, the only legitimate use of these
constants here is all of them at once.  This is the one place you firmly
don't care about finding when asking the question "How does Xen go about
handling WP mappings".

I have swapped PAT_TYPE_* for X86_MT_* now that Demi's series has been
committed, but that is the extent to which I think there are relevant
changes to be made.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 03:02:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 03:02:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514141.796121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfXgy-0007so-V4; Fri, 24 Mar 2023 03:02:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514141.796121; Fri, 24 Mar 2023 03: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 1pfXgy-0007sg-Qa; Fri, 24 Mar 2023 03:02:12 +0000
Received: by outflank-mailman (input) for mailman id 514141;
 Fri, 24 Mar 2023 03:02:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfXgx-0007sW-He; Fri, 24 Mar 2023 03:02:11 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfXgx-0003mi-Cv; Fri, 24 Mar 2023 03:02:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfXgx-0003YQ-2T; Fri, 24 Mar 2023 03:02:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfXgx-00041P-22; Fri, 24 Mar 2023 03:02:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=780tFgdqacMfNuLhp11S1KXMFg8k0pt7fUmMyFZQSNY=; b=F2iQaK7BYv8eJIvDnjQMGU94Lj
	5NsnllQ2chaMWEEhFzz58sbCspFTfkfvR61S8uyt1xp/Mw9PkvgAxwULbtQAIg4cT6lvS0IvnxX10
	rDWUh4z7ohc9i6n5n2VRZ0tPJy/cvgWHih3TG7PLebFv467jtCNOGh6NCe3kqJmsah18=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179874-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179874: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=c283ff89d11ff123efc9af49128ef58511f73012
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Mar 2023 03:02:11 +0000

flight 179874 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179874/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-qemuu-rhel6hvm-amd  7 xen-install        fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                c283ff89d11ff123efc9af49128ef58511f73012
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z   14 days
Failing since        179526  2023-03-10 01:53:40 Z   14 days   22 attempts
Testing same since   179874  2023-03-22 17:47:47 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Carlos López <clopez@suse.de>
  Chen Baozi <chenbaozi@phytium.com.cn>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Erico Nunes <ernunes@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Guenter Roeck <linux@roeck-us.net>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Qiang Liu <cyruscyliu@gmail.com>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Steve Sistare <steven.sistare@oracle.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Viktor Prutyanov <viktor@daynix.com>
  Wei Wang <wei.w.wang@intel.com>
  Willem van de Velde <williamvdvelde@gmail.com>
  Yeqi Fu <fufuyqqqqqq@gmail.com>
  Yuri Benditovich <yuri.benditovich@daynix.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           fail    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 10229 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 04:38:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 04:38:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514156.796142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfZC1-00034K-2W; Fri, 24 Mar 2023 04:38:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514156.796142; Fri, 24 Mar 2023 04:38:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfZC0-00034D-Tn; Fri, 24 Mar 2023 04:38:20 +0000
Received: by outflank-mailman (input) for mailman id 514156;
 Fri, 24 Mar 2023 04:38: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=nsyw=7Q=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pfZBy-000347-UT
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 04:38:19 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20604.outbound.protection.outlook.com
 [2a01:111:f400:7e88::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b065693d-c9fd-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 05:38:16 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 BL3PR12MB6642.namprd12.prod.outlook.com (2603:10b6:208:38e::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 04:38:11 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 04:38:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b065693d-c9fd-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MoRyu1dENRMJdEbndVGiEumEBvjKLrJtrsZI2WXLD6kG2bHrtgl2eVGvsD1/xL7GfsFD0366RIAB6AHwPLSFm1YGZTY/T1f2iHobbhuaz+nldRMlfxAEkXxso4uQ1uesR+jWpIe6AGITO4C4RhXl1tnGE9tzXmhW2b30pCxuUm6QoLhw4WF43HY+HWzoR2ttg4a2Cq9C6uZZGgB7Zz45CDCPio9+Suuz4D0plHg06P5J1Rpt5q0tYGgPlCgnEOqyMJn+fTAhs47caKK0cE1zPswA3imFbxrizFn+OO1eLBnl0nNrm7X+Od0gu0K5WxSLw24NX8DhiJdfQKykWcst+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=RexTfs9WYlOdPjfhvlCmq7usdTv8HYrY3n+unJGzQus=;
 b=CP5Mu7a3Bqr68hR/X6k6LR72GieGt/UaMuO5/Bnj5KDwlagKXw4AMWCGnr1hya807vzwCCfPjYstJfMzhHomz4voJjPZ/5auxJK/ahKTlnAznJXuIJrDKMycQEbw8OFw6uvWgfNX9ofoHeJFvf9DVpxwLljP4fXOLBW492hact35BRe9inRai+X5RCK4x/4bJJ4THAdEan0BFnPY1l9f5P25zPDYZ4TASc+1DOEZ9npqLykt7UDYDhYa7x0FFswuSHe92OcCelDO+49xNKlmAVv/ZsU+H6RjzJA4cMqs7w4Du2hn1GWr8WT3Yc7o7vZrKrbiYzHQBWhCq9IjOkp9mQ==
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=RexTfs9WYlOdPjfhvlCmq7usdTv8HYrY3n+unJGzQus=;
 b=SSiIZBx5yn9dctpcX8YvSfxKUsw3CHuqHWrG6dk1JK0tPVMRF/JhoS1hqIJ6pKCDEM5yd7vlSum26a3VrreOkskmNiSznjMIfa7ISjh1CR8xQ5E1wg4aLD72mnLZwuDL0CG1hDEjjHb/0IMB0ZYcBXu6YMisPL0gXRgbM8Ldmlk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Fri, 24 Mar 2023 12:37:44 +0800
From: Huang Rui <ray.huang@amd.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [RFC XEN PATCH 2/6] vpci: accept BAR writes if dom0 is PVH
Message-ID: <ZB0pGDo9bKYw5Pvo@amd.com>
References: <ZBmZxnyZWrni57Ry@amd.com>
 <f5634fb6-fd41-6d42-603a-4df69adb929a@suse.com>
 <ZBmrI3wrrwsK5Q+0@amd.com>
 <ZBquOn8x7IyI33Pj@amd.com>
 <ZBrLsRebAYaspHrK@Air-de-Roger>
 <ZBr1k/B/ve8NNqaJ@amd.com>
 <85aa668d-9614-a80d-8f44-174ecbdcf1f7@suse.com>
 <ZBwtaceTNvCYksmR@Air-de-Roger>
 <ZBxVcBG5yD74Pa3a@amd.com>
 <ZBx9C5BJD1jSiHPS@Air-de-Roger>
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZBx9C5BJD1jSiHPS@Air-de-Roger>
X-ClientProxiedBy: SI2P153CA0010.APCP153.PROD.OUTLOOK.COM
 (2603:1096:4:140::13) To DM5PR12MB2504.namprd12.prod.outlook.com
 (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|BL3PR12MB6642:EE_
X-MS-Office365-Filtering-Correlation-Id: 7793b15d-933a-46ef-65bd-08db2c2192ee
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	c7oqD2byQkihWnQyJIwd05IYSYEu13JME2ZziSe1F/eJLNzpsJ+md/A9YX8GtoxKw8/2ksR2G44rTatwkzJqvQH8blv8YTuh8Qau1ET6HU99JngCIszC2rVJy0wczNjok335IBykSleuDW00iw3/8vQdL5+whs5qkoyyfoeO9FEXGC/7/CQyjnCz1iVmWrE2WQJP0QZ/0quTKRBmOmUraOKikW5IN6r1BybptwkMUeIr4d6LGpNpTqga83PxdnV0T3QvRKFIG0W6Ivvma8Vs70NMuDoYi57aJDRQ4LtoCkTRV0OzYKFFrGjt3NXn0gHDZ4Tj/GzsQnck5YstjMqoMNqjZ4kRtcoiS6A2Pv6pnhj5mqNTtBJD5nWWKB+3xoG6sNa25hjnyzpth9EdwTrvW/WtddEFFLAoRgMfPnc31A4cDkUrRsKjdQhxXxy6cIk3kLEknem7LTbNDLqa7yQzRu0UV4SdmZ46X3SSsu2/C2OaeePk8mk+HORvoPxbtTNHd86ZxpfKi7tUDIuAkfZDGgeVvhkQzHWu5RYH+QjcZSZnMXByMAXaVqzsZqPVjWRo/Xy85ceucI8T1VrbzEPhAr5q/zBy3uakoLo+32ISZjArHn/uXZ8Hmr6F8vaoyHxUAHGubl01bkC18in289u3JA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(396003)(39860400002)(136003)(366004)(376002)(346002)(451199018)(6486002)(8676002)(4326008)(66556008)(5660300002)(53546011)(66946007)(66476007)(6916009)(54906003)(6666004)(41300700001)(26005)(8936002)(6506007)(316002)(6512007)(2616005)(186003)(478600001)(86362001)(36756003)(38100700002)(2906002)(83380400001)(66899018);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?iso-8859-1?Q?UaZwxd/AS1sACNMgcR7Gc7IGz3e2TgLPKS+QSfsTCdPDyWlOAqo+LAYAtO?=
 =?iso-8859-1?Q?UeKHHusQOatROQZg43FUS+TxAJe8MyvB3IxJQVROLtpJ28Mk0hS1qhXi8Y?=
 =?iso-8859-1?Q?N4USMh4yz5miVtaKh3WU6X3Q9gStaoxjl6M9kfkT5ZhBX1yJRAEtIctLKF?=
 =?iso-8859-1?Q?XxdgXyTxCq1/Hx6KDU3JPycwC84Yg7Wy2ZgJEcNhO0iayypIkY3l7BUMAy?=
 =?iso-8859-1?Q?OfZnHzrOm5HN2LCUSb8E3nLa6ywI2zlsCl3ZXC2OKV9VBtX8S9+Ue+NHVo?=
 =?iso-8859-1?Q?oYEOjGPD2giFrPqxOLibhJk0jtWkJISspmoJeb/DStkA6RsXGVhhAxurgf?=
 =?iso-8859-1?Q?BdzgongZ9MmKptFcZOvbuILh3mJBxnr6LmR8Wsm0Yf0w9daN1TCNMLrzGk?=
 =?iso-8859-1?Q?8+94q8Zk1t8nmy+IRjuha40aIp3qcvWaUUZ8BMKrTIPVA9PF9oa42gDQOE?=
 =?iso-8859-1?Q?aRJ9eCXJYCseYPpS4KuiXodZlKrpe1p+ny3dNgbZrXI82rYZsJF5d2oIyS?=
 =?iso-8859-1?Q?+CzBTDcL7YE94qs+zir8cr1uSIoF+/YGEQaD4TKz4d3XBXZVDIRjGs1jWe?=
 =?iso-8859-1?Q?QVFm+f7b2fXFDCaD5LI0embS+3ht03dBSceZIY1nko/HLZJ9ks/PF3TQ9s?=
 =?iso-8859-1?Q?mHK5SlbCYICsfnyr3HqpHxb/XMKdO5p9OSGQ7KdvRPHuKAcNDrpDQgl0vr?=
 =?iso-8859-1?Q?yOIxR+S9+sUCiJ1/RX6W3WigxYm86QfK2aZx77FkWkKyqzClm3tTL4CgpF?=
 =?iso-8859-1?Q?udyqM8uyPiubj+qnKYdGZZae1MvDdTtIo/L12ugS3Ao4rGUjkMT0MN7fQX?=
 =?iso-8859-1?Q?RADbOBS7KkNbEYsfttfVS9s8+FqXDAJf9ldHI6mrUGIpCq+HLN6jRiGqhu?=
 =?iso-8859-1?Q?Ulgcs0lZG26Ck7kS6oTmuNwayHdIvsuJBYoeRk5+8SWSdoh1Kbx+3B7ybI?=
 =?iso-8859-1?Q?8jZ8Ngm59kJaOOraL9d/kvVfOn5a33ejWsNxQ6bFeN6CS5AIMFGD71Rv4/?=
 =?iso-8859-1?Q?OFpdrO5tqNksrkSn7J0ZNQhSY1snxI1eYnoUFTBrjpXPZxXKZ9y5C0p44q?=
 =?iso-8859-1?Q?gREvn98M6fsvYxQ5KsfeLppMNQ0oew/IhZlRtgdNMBlIvAkexRI+xNGD1e?=
 =?iso-8859-1?Q?arJlOy4xYELx5Uh+yB/JIr3rJkolkDfnP6+8ZQyOMnRq477gzEbGTjdyi6?=
 =?iso-8859-1?Q?+aNnIJiUV64fpv9/DPS8KoBb/JY9WKTlcMTSW6+S+1VGsJqnuu6XhhGSGz?=
 =?iso-8859-1?Q?MhyseEpQUclkHjTY+AlXqmIZIt/o/8Y5LP8UDuzflWGiyqr8kkreH88o4s?=
 =?iso-8859-1?Q?+rhdZQSpwse3+K5J56+17gYJB+1JCYSR3qDsyhwK580x69eAJ//XpKxgpG?=
 =?iso-8859-1?Q?B9ULH4fgfTyuTcEeRagU0vGQg7dRj1f408HY5xhQ3pobdlmm4hVl6GTnLx?=
 =?iso-8859-1?Q?FQPm0HYC6u3WVsPIMO3dtdgcCGw3m9VW/9zobEog3M2zqSek0ImZMnBw1d?=
 =?iso-8859-1?Q?9e2Rvm2rHulj8qNYCcxRgeVYsWHLmf6d+9u1eYs3FfvtCF6+V3A03kD9QT?=
 =?iso-8859-1?Q?h7P4t+AOqyBGx8IXi6VPbLh5X+ihDHMF0id8eR3fzO88mTxMps3PhoRQJ6?=
 =?iso-8859-1?Q?vELDwY91oCO7kRL2rGkPSpcQPkf87fNIyO?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7793b15d-933a-46ef-65bd-08db2c2192ee
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 04:38:11.7135
 (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: R/OWeghMHGLdbBcg+6UhYOZgHdTiYQr8lNO5bIiU4cgNi/n5jlaZqDccn7z9IGFUhsjpJHR1EX1KhsJZlgCuYA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6642

On Fri, Mar 24, 2023 at 12:23:39AM +0800, Roger Pau Monn wrote:
> On Thu, Mar 23, 2023 at 09:34:40PM +0800, Huang Rui wrote:
> > On Thu, Mar 23, 2023 at 06:43:53PM +0800, Roger Pau Monn wrote:
> > > On Wed, Mar 22, 2023 at 01:48:30PM +0100, Jan Beulich wrote:
> > > > On 22.03.2023 13:33, Huang Rui wrote:
> > > > > I traced that while we do pci-assignable-add, we will follow below trace to
> > > > > bind the passthrough device.
> > > > > 
> > > > > pciassignable_add()->libxl_device_pci_assignable_add()->libxl__device_pci_assignable_add()->pciback_dev_assign()
> > > > > 
> > > > > Then kernel xen-pciback driver want to add virtual configuration spaces. In
> > > > > this phase, the bar_write() in xen hypervisor will be called. I still need
> > > > > a bit more time to figure the exact reason. May I know where the
> > > > > xen-pciback driver would trigger a hvm_io_intercept to xen hypervisor?
> > > > 
> > > > Any config space access would. And I might guess ...
> > > > 
> > > > > [  309.719049] xen_pciback: wants to seize 0000:03:00.0
> > > > > [  462.911251] pciback 0000:03:00.0: xen_pciback: probing...
> > > > > [  462.911256] pciback 0000:03:00.0: xen_pciback: seizing device
> > > > > [  462.911257] pciback 0000:03:00.0: xen_pciback: pcistub_device_alloc
> > > > > [  462.911261] pciback 0000:03:00.0: xen_pciback: initializing...
> > > > > [  462.911263] pciback 0000:03:00.0: xen_pciback: initializing config
> > > > > [  462.911265] pciback 0000:03:00.0: xen-pciback: initializing virtual configuration space
> > > > > [  462.911268] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x00
> > > > > [  462.911271] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x02
> > > > > [  462.911284] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x04
> > > > > [  462.911286] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3c
> > > > > [  462.911289] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x3d
> > > > > [  462.911291] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0c
> > > > > [  462.911294] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0d
> > > > > [  462.911296] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x0f
> > > > > [  462.911301] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x10
> > > > > [  462.911306] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x14
> > > > > [  462.911309] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x18
> > > > > [  462.911313] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x1c
> > > > > [  462.911317] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x20
> > > > > [  462.911321] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x24
> > > > > [  462.911325] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x30
> > > > > [  462.911358] pciback 0000:03:00.0: Found capability 0x1 at 0x50
> > > > > [  462.911361] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x50
> > > > > [  462.911363] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x52
> > > > > [  462.911368] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x54
> > > > > [  462.911371] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x56
> > > > > [  462.911373] pciback 0000:03:00.0: xen-pciback: added config field at offset 0x57
> > > > > [  462.911386] pciback 0000:03:00.0: Found capability 0x5 at 0xa0
> > > > > [  462.911388] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa0
> > > > > [  462.911391] pciback 0000:03:00.0: xen-pciback: added config field at offset 0xa2
> > > > > [  462.911405] pciback 0000:03:00.0: xen_pciback: enabling device
> > > > > [  462.911412] pciback 0000:03:00.0: enabling device (0006 -> 0007)
> > > > > [  462.911658] Already setup the GSI :28
> > > > > [  462.911668] Already map the GSI :28 and IRQ: 115
> > > > > [  462.911684] pciback 0000:03:00.0: xen_pciback: save state of device
> > > > > [  462.912154] pciback 0000:03:00.0: xen_pciback: resetting (FLR, D3, etc) the device
> > > > > [  463.954998] pciback 0000:03:00.0: xen_pciback: reset device
> > > > 
> > > > ... it is actually the reset here, saving and then restoring config space.
> > > > If e.g. that restore was done "blindly" (i.e. simply writing fields low to
> > > > high), then memory decode would be re-enabled before the BARs are written.
> > > 
> > > The problem is also 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
> > > with the real device state.
> > > 
> > > I didn't hit this on my test because the device I was using had no
> > > reset support.
> > > 
> > > I don't think it's feasible for Xen to detect all the possible reset
> > > methods dom0 might use, as some of those are device specific for
> > > example.
> > 
> > OK.
> > 
> > > 
> > > We would have to introduce a new hypercall that clears all vPCI device
> > > state, PHYSDEVOP_pci_device_reset for example.  This will involve
> > > adding proper cleanup functions, as the current code in
> > > vpci_remove_device() only deals with allocated memory (because so far
> > > devices where not deassigned) but we now also need to make sure
> > > MSI(-X) interrupts are torn down and freed, and will also require
> > > removing any mappings of BARs into the dom0 physmap.
> > > 
> > 
> > Thanks for the suggestion. Let me make the new PHYSDEVOP_pci_device_reset
> > in the next version instead of current workaround.
> > 
> > The MSI(-X) interrupts doesn't work in our platform, I don't figure the
> > root cause yet.
> 
> Do MSI-X interrupts work when the device is in use by dom0 (both Pv
> and PVH)?

Yes, dom0 works well. But they don't work on passthrough devices in domU
whatever with PV or PVH. So I would like to implement the gsi firstly, then
continue checking the MSI(-X) issues.

> 
> > Could you please elaborate where we should require removing
> > any mappings of BARs into the dom0 physmap here?
> 
> I think you can just use `modify_bars(pdev, 0, 0)`, as that will
> effectively remove any BARs from the memory map.  That should also
> take care of preemption, so you should be good to go.
> 

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 05:13:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 05:13:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514119.796150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfZjj-0000RG-MV; Fri, 24 Mar 2023 05:13:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514119.796150; Fri, 24 Mar 2023 05: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 1pfZjj-0000R9-Jk; Fri, 24 Mar 2023 05:13:11 +0000
Received: by outflank-mailman (input) for mailman id 514119;
 Fri, 24 Mar 2023 00:18:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <aperard@xenbits.xen.org>) id 1pfV8W-0002Ue-4r
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 00:18: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 <aperard@xenbits.xen.org>)
 id 1pfV8U-00005c-FG; Fri, 24 Mar 2023 00:18:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <aperard@xenbits.xen.org>)
 id 1pfV8U-00084Z-3O; Fri, 24 Mar 2023 00:18:26 +0000
Received: from aperard by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <aperard@xenbits.xen.org>)
 id 1pfV8U-0006eX-2p; Fri, 24 Mar 2023 00:18: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>
To: anthony.perard@citrix.com,jgross@suse.com,xen-devel@lists.xenproject.org
Subject: [adhoc test] 179901: regressions - trouble: blocked/broken/fail/pass
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Message-Id: <E1pfV8U-0006eX-2p@osstest.test-lab.xenproject.org>
From: aperard@xenbits.xen.org
Date: Fri, 24 Mar 2023 00:18:26 +0000

[adhoc play] <osstest master /dev/pts/16>
harness ed1d8de4: PDU/IPMI: Be less aggressive with IPMI commands
179901: regressions - trouble: blocked/broken/fail/pass

flight 179901 linux-linus play [play]
http://logs.test-lab.xenproject.org/osstest/logs/179901/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                     <job status>                 broken
 build-armhf                   5 capture-logs           broken REGR. vs. 178042
 test-amd64-amd64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 build-armhf                   3 syslog-server                running

Tests which did not succeed, but are not blocking:
 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-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-cubietruck  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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 build-armhf                   4 host-install(4)       broken blocked in 178042
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail  like 178042
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail  like 178042
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail  like 178042
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail  like 178042
 test-arm64-arm64-xl          15 migrate-support-check        fail  like 178042
 test-arm64-arm64-xl          16 saverestore-support-check    fail  like 178042
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail  like 178042
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail  like 178042
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail  like 178042
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail  like 178042
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail  like 178042
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail  like 178042
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail  like 178042
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail  like 178042
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail  like 178042
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail  like 178042
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042

baseline version:
 flight               178042

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  broken  
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          pass    
 test-armhf-armhf-xl                                          blocked 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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                                  blocked 
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  blocked 
 test-armhf-armhf-xl-cubietruck                               blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     blocked 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      pass    
 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



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 06:59:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 06:59:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514173.796173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfbOb-0005uf-DR; Fri, 24 Mar 2023 06:59:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514173.796173; Fri, 24 Mar 2023 06: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 1pfbOb-0005uX-Ak; Fri, 24 Mar 2023 06:59:29 +0000
Received: by outflank-mailman (input) for mailman id 514173;
 Fri, 24 Mar 2023 06:59:27 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfbOZ-0005uG-RG; Fri, 24 Mar 2023 06:59:27 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfbOZ-00014f-Nc; Fri, 24 Mar 2023 06:59:27 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfbOZ-0004IW-AB; Fri, 24 Mar 2023 06:59:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfbOZ-0004cE-9b; Fri, 24 Mar 2023 06: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Hf2+VVa2wwZXY1dulyPoeAFD2FdsGUlYErpYvFinDTk=; b=ARrsxaZMoPBLAYYyOfm9l2Xtbb
	gd/q0BSUBB/O3PEUVQsWjXRtreaBST0lNQxYUB4netOQhj2zt553SbLbLuw5xwWwtGbtaTDW/l+wi
	7pAwrmy9sFCsXbsBY2zj5FX7whKRiZa/nnC1VISZFUe26n5LqDgCGWWywwnHmOHDKTlo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179879-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179879: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:host-ping-check-native/l1:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:build-i386-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-saverestore:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=fff5a5e7f528b2ed2c335991399a766c2cf01103
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Mar 2023 06:59:27 +0000

flight 179879 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179879/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 21 guest-stop              fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 20 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 14 host-ping-check-native/l1 fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 build-i386-pvops              6 kernel-build             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-xl-rtds     17 guest-saverestore        fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 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-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                fff5a5e7f528b2ed2c335991399a766c2cf01103
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   30 days
Failing since        178093  2023-02-22 05:02:47 Z   30 days   55 attempts
Testing same since   179879  2023-03-23 00:13:18 Z    1 days    1 attempts

------------------------------------------------------------
2202 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             fail    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 257953 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 07:07:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 07:07:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514180.796183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfbWH-0007l8-D6; Fri, 24 Mar 2023 07:07:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514180.796183; Fri, 24 Mar 2023 07: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 1pfbWH-0007l1-9l; Fri, 24 Mar 2023 07:07:25 +0000
Received: by outflank-mailman (input) for mailman id 514180;
 Fri, 24 Mar 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=jsbp=7Q=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfbWF-0007ko-Fx
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 07:07:23 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85c7acd7-ca12-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 08:07: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 294B621871;
 Fri, 24 Mar 2023 07:07: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 F0124133E5;
 Fri, 24 Mar 2023 07:07:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id hhUWOShMHWQgUwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 24 Mar 2023 07:07: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: 85c7acd7-ca12-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679641641; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=J1NWPl9smk5r3yC3PtRygKHrFtw/5J7mHaN+wbg6Ifc=;
	b=JBobQeYpAih9WL4shdw+NnGhODhsdH2Pr6KR85vHVe66U5+7FeiQxgNLUn9lrQGa7EmrkB
	Ob7gRx5RAQbcT1qZJHVmK/eo97FkAr2BlNc+rUrm0KGoFR3zFMWnxxgwhcqBEtaKXZDc7N
	AV78QdsD/ShPr+Ouqd82giSW7w5IX6A=
Message-ID: <0b1181a1-5a96-b3e8-ffd8-6f256ebbceae@suse.com>
Date: Fri, 24 Mar 2023 08:07:20 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: aperard@xenbits.xen.org, anthony.perard@citrix.com,
 xen-devel@lists.xenproject.org
References: <E1pfV8U-0006eX-2p@osstest.test-lab.xenproject.org>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [adhoc test] 179901: regressions - trouble:
 blocked/broken/fail/pass
In-Reply-To: <E1pfV8U-0006eX-2p@osstest.test-lab.xenproject.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------2BAuv09Ci92Wh0rBOPveyB97"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------2BAuv09Ci92Wh0rBOPveyB97
Content-Type: multipart/mixed; boundary="------------JA5rKQf2N1r3Uiia7EmD4yO7";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: aperard@xenbits.xen.org, anthony.perard@citrix.com,
 xen-devel@lists.xenproject.org
Message-ID: <0b1181a1-5a96-b3e8-ffd8-6f256ebbceae@suse.com>
Subject: Re: [adhoc test] 179901: regressions - trouble:
 blocked/broken/fail/pass
References: <E1pfV8U-0006eX-2p@osstest.test-lab.xenproject.org>
In-Reply-To: <E1pfV8U-0006eX-2p@osstest.test-lab.xenproject.org>

--------------JA5rKQf2N1r3Uiia7EmD4yO7
Content-Type: multipart/mixed; boundary="------------8d7NZRgNDZO7SXvDT9dHIZbG"

--------------8d7NZRgNDZO7SXvDT9dHIZbG
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDMuMjMgMDE6MTgsIGFwZXJhcmRAeGVuYml0cy54ZW4ub3JnIHdyb3RlOg0KPiBb
YWRob2MgcGxheV0gPG9zc3Rlc3QgbWFzdGVyIC9kZXYvcHRzLzE2Pg0KPiBoYXJuZXNzIGVk
MWQ4ZGU0OiBQRFUvSVBNSTogQmUgbGVzcyBhZ2dyZXNzaXZlIHdpdGggSVBNSSBjb21tYW5k
cw0KPiAxNzk5MDE6IHJlZ3Jlc3Npb25zIC0gdHJvdWJsZTogYmxvY2tlZC9icm9rZW4vZmFp
bC9wYXNzDQo+IA0KPiBmbGlnaHQgMTc5OTAxIGxpbnV4LWxpbnVzIHBsYXkgW3BsYXldDQo+
IGh0dHA6Ly9sb2dzLnRlc3QtbGFiLnhlbnByb2plY3Qub3JnL29zc3Rlc3QvbG9ncy8xNzk5
MDEvDQo+IA0KPiBSZWdyZXNzaW9ucyA6LSgNCg0KSXQgc2VlbXMgdGhlIGdyYW50IGNvcHkg
ZmFpbHVyZXMgYXJlIGdvbmUsIGJ1dCB0aGUgdGVzdHMgYXJlIHN0aWxsIGZhaWxpbmcuDQoN
CkkgaGF2ZSBzcG90dGVkOg0KDQpbICAgMTguMjU4MDMwXSBuZXQgZXRoMDogUmVzcG9uc2Ug
Zm9yIGluYWN0aXZlIHJlcXVlc3QNClsgICAxOC4yNTgwODBdIG5ldCBldGgwOiBEaXNhYmxl
ZCBmb3IgZnVydGhlciB1c2UNCg0KaW4gDQpodHRwOi8vbG9ncy50ZXN0LWxhYi54ZW5wcm9q
ZWN0Lm9yZy9vc3N0ZXN0L2xvZ3MvMTc5OTAxL3Rlc3QtYW1kNjQtYW1kNjQteGwvZWxibGlu
ZzEtLS12YXItbG9nLXhlbi1jb25zb2xlLWd1ZXN0LWRlYmlhbi5ndWVzdC5vc3N0ZXN0Lmxv
Zw0KDQpUaGlzIGlzIGNsZWFybHkgYW4gZXhwbGFuYXRpb24gZm9yIHRoZSBmYWlsZWQgdGVz
dHMuIEknbSBsb29raW5nIGludG8gaXQuDQoNCg0KSnVlcmdlbg0K
--------------8d7NZRgNDZO7SXvDT9dHIZbG
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-----

--------------8d7NZRgNDZO7SXvDT9dHIZbG--

--------------JA5rKQf2N1r3Uiia7EmD4yO7--

--------------2BAuv09Ci92Wh0rBOPveyB97
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQdTCgFAwAAAAAACgkQsN6d1ii/Ey8x
AQf/R3/AivZDFuEhOcaTuDToAeGuCje3t6XwgpFwuqFDlxo0czAm3ACy46K1c4bnnjPO0ynieJLS
ycrs2iO4+MqcF17Mm1YTqa0VcAiZ8VNejDqesqoYj1Us1NE+hTZ8G1Nqc/5Szg5ZGKUKp83qf98b
4z8zmfm0G3l7XLdwd5TJbh9Jaw5VnrTVVxeOQ1d1/zMU5j8FPDUaxZpYM7wthjwias+/V77/2zU7
hOfoBlDyXxwTCZ7Ppk5QeYPawDCFLoZZY0nQYwkKRhBSSRKGroKEU6FyLUhEm4HyD57lgtn1B9jX
vVRezdhodwykHj3xLVUFT9GlbzJT5Zsm+LHpAude4g==
=Lk6q
-----END PGP SIGNATURE-----

--------------2BAuv09Ci92Wh0rBOPveyB97--


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 07:38:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 07:38:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514183.796192 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfc0U-0004dE-M7; Fri, 24 Mar 2023 07:38:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514183.796192; Fri, 24 Mar 2023 07:38: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 1pfc0U-0004d7-JR; Fri, 24 Mar 2023 07:38:38 +0000
Received: by outflank-mailman (input) for mailman id 514183;
 Fri, 24 Mar 2023 07:38: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=n250=7Q=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfc0T-0004cx-9q
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 07:38:37 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on0627.outbound.protection.outlook.com
 [2a01:111:f400:fe1e::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e2202508-ca16-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 08:38:35 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7835.eurprd04.prod.outlook.com (2603:10a6:10:1ea::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 07:38:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 07:38: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: e2202508-ca16-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ToTSvPNCUbQpA9stSSjLHPhrC2gvstjQsyoRktYKwh8flBkEgPgVKTyn8L8LRcxzWvGbiDHcUbRque4kBaU8RKyIXk6lR5BO9bLUm1I+BylW8/SIQABN0nveCeQFHbTuQd+gfl+dGvjJdrB5UK//Np0FRvSn4lGaC734bqPvh2CDXdPG0P7wyURaZUen2JiInVaLSOrGHjGNFdtm0Yi2kXXXl1ppg1UoRSWJyBLrZEglAcAZJEhKYxFhmkc9HFQit8sSdHkPCHpT1uhVsVkNeXvH8aA+LkrvZYZN9W8ITCy2G+tWVFcBvFco9XzpEYmv12jUVbYmfixmnlmHkQIBew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mU4M9D2JOFYrnmmwzoKIF4yVMNCtTm2Mw5SXVEPUrXk=;
 b=GbOtFvN2oc9KtPANqsrvruis4eIeVFDH+OlOo/WM3qS/JKduu0ov7MzNw15FUmRzthcSJYIOOOlpjUsvFtUumWJrQheQDAZlHcH2Hhs1QB9uBsdguKO2FOD9LANCoJu27TRBVcQeFi7rksGCQPyTxNeNSqZWR2G3RXuzHF8r2wGaVYK5HvB6wpoWQE8yqWnCvgRctmffUNc97070g+jDFWYdAWfv3HuHMd+Ft1TGqf3rXoXFtR/ufBLnEyiVJ3wwh+EKbD5U3NeIJVdjG4S5bzAewT64m7X6cI85pUEMu6Bvf2YV3lr5D6Pgl5etxGWWRx/F1/bgZGV4hBqkWKpr5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mU4M9D2JOFYrnmmwzoKIF4yVMNCtTm2Mw5SXVEPUrXk=;
 b=TsyiGPNFF784gdkCgnW4htdleNZ+zY+/tl88tHQC6VsWTbQ/quC5OdRXqpnX16VYb0Mk5gbPiVi4rg/fB+Bv8Lprsldtyf1pjZTJHlzQ5s0u1CO+9YKFx1nTnR7MTfWrzezLB3dTXNdiVvj+4EemJfiDxk8H5dRwEcStzFq8B4czStX5FJTAC6jUlqvtt2aYdink2I7HIqtUTgEnEoa1H5dCW/X09eHBEFCPNpAJZlkT6B5CdjnrHQlPtK7UEkZaK+YpkkqgPIMUNdtaVa+KniugUiS+yyVIfQQ+zwlkTCw4s0ENjF3ZaxM7samcvg9b8boz/A1aBvhEwL7JJMzxNw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2f148fc2-04c4-5411-2931-8dde4ed9bc97@suse.com>
Date: Fri, 24 Mar 2023 08:38:28 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 11/16] x86/shadow: drop is_hvm_...() where easily possible
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <5944a3ea-cddf-7ddb-d167-a0a0aa9b4967@suse.com>
 <97c3fe74-89f3-fd26-f8bf-69113df1dc12@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <97c3fe74-89f3-fd26-f8bf-69113df1dc12@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0140.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7835:EE_
X-MS-Office365-Filtering-Correlation-Id: ce62691e-a7bf-43a8-8f7e-08db2c3ac39c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2yBPZ0AkapKlJ6Kq5DFXCg+nscJMefwtZEd42zeVwbaMhzUPM7zZCs25ejhrOrG5OOKlReRFjENz+4eot0MWCNcHaBgAS5KmpFPnZ5/dBLmb4YreME2/656xZ23c5P++ymYcFw0EQlIdjdJD/1seL+6rtw67ZwLEA3XodrS0F9PIjU36WaOiDTtpCeUm2z935yZ4Vwy+teqZGzA9xfraqX9A3VlOr+pk52gXlwoczv0ljRAKHd6Ifq+SYlnmB6V0npd39VqJsHR1Ya+wdh+S/pzyFaVzzLl0aDCBdDeF/0YN7nGn350mJ/6vtCkXEm7NZp6x79D+iOOELJ6q8BZJSjRmXgsFbwcpm51ORcVUIENoqF24zt8hd9oseIK9ZT+Va4k9/6lsoN1qVQzIaTvuRKjVezbTO7PvI8P2Dc75oQzi9qKzgap6ZJG4iIBkksWTsYw3+kYvPddjCW9C+n1D9uAM1kQ1LHRC+nhjXDthVzallpxL/8kccIK6V0gaeehUZdB6QBJ0Y0Des9BhpkkC8KTFEG5lZ0HZoE9oJgAy8LAS0ACvIqB2flNHDr3YkTMfCH5BnFzSJXWU3NO58LOLloinp9S9ZzsHTe46OvxbblAIWagMP4nQAnN6aCG+003d4F7tzcPdY0szkCc0sa7TWw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(346002)(376002)(366004)(396003)(39860400002)(451199018)(36756003)(38100700002)(8936002)(4326008)(6916009)(86362001)(8676002)(41300700001)(66476007)(66946007)(66556008)(54906003)(478600001)(316002)(6486002)(5660300002)(2906002)(6666004)(31696002)(26005)(6506007)(6512007)(53546011)(2616005)(186003)(83380400001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R3ZIV2Q0Y3UyUEx6NGlQVXg5Q3dZY051RWFQUlpLcWxvcnNVY1Bjc2R4bUQz?=
 =?utf-8?B?YW9qbU9vRUY2eXNTdXN1OWRaZDVzampid09Pd2pBam9JeEl5U1prcFBScm5G?=
 =?utf-8?B?eDhIOU1nZHRhMUJ6eGNWZzJYV2F3OG1NZXJIZHREZGlYWFpTb1lVZXNMTzRH?=
 =?utf-8?B?SW43RnBPLzEzMER0Q3ArMG12R3VEd0pHYzJKZU1kMzVROGFWUXpLRW82VTZp?=
 =?utf-8?B?VjBnckpQZW9mcjFyOVY0aVdnLzlJcDk0Wm5XMnd6ZitVaSsreFArcUNqQlZU?=
 =?utf-8?B?UDNBZlN2N1NocWRvcE5mYUZMN2NhcEhOR1VrT01WU1dMNWJHckZrdzNhaWsv?=
 =?utf-8?B?UmJDUXh6TzBydUg4RU1PbmpOWlN0dWJLNXdSMkgyV3pscHVZVlNjQW05L3pO?=
 =?utf-8?B?c2xNUmZQUFpyc0NtU3FRRlZnQ2FVSzVjZ3pwbjNxVXVvbHAvYVdLTzFycFZY?=
 =?utf-8?B?Z1NzZXJGakxrUURFYjYvOG1JTGsyWEdSRFlYZUQzSC9iK2NnaENJYUFHK0JG?=
 =?utf-8?B?OEFIOVFPN1NzVU12YnR4aXgzT1I2amJsQkw5bll1bDJuc25PclhUS29LdCsx?=
 =?utf-8?B?ZEV1QmdDZ1VuTGN3OFNCenBZVjJlQmZiUmQvZWNqZGc3cllwbjJzM1Z0TE0x?=
 =?utf-8?B?YXd6YTM5UzhqR2I5YnBWYkx5YTdRTklNWXdkUjBXcExKUk5RNHJOMlpreVU1?=
 =?utf-8?B?UitzejRhT2ZFWlJLRHRSOXFhdWlpR0daVERPaDJsVEdtd1hUQkFXVFB5SEJo?=
 =?utf-8?B?Y29TeVNaMG1jTkZwYk5Oc0hxcklMam1rQ1liZldFaTNvSmMwZ3VjN3JlZkpK?=
 =?utf-8?B?VGs3a3pXdDJiRk1hbjYzUDJIRks2Ymx2VFpGelBsdGZ2WmlrQVNhL011aFh4?=
 =?utf-8?B?dzdXaDl2L2laZzVKUmdpeUxxTTcwYlVVcWtJRGlZZlhVdXVnRlZLUkl5ZVBq?=
 =?utf-8?B?Zm04N29kK21YRVZ0eXlQaml0ZSt2anJ6azN5Tk5CbmxvbVlYeGZYZi9wZVJR?=
 =?utf-8?B?dCs1V1lyUnM4aStlcUpZWDQ5RFVqdkZ4ampFTGxVcDUxV0tnRWxjaXpwbGtC?=
 =?utf-8?B?eHlUZXZWRFNSTmg3ZXVVUGx3RjY4YWVES1EzNy9rMkQ1YzFmbkprbEZhRGRU?=
 =?utf-8?B?dGFCVmhXMUR1R2FDcldqclVHYVo4Q3VZVWhxY01wQmhkZFpaZFp1dExySzVK?=
 =?utf-8?B?aFE5ejVXQ1h0bkloWkVicXJ5bTN3cDVRY1VGcnluWGczYWovYTc5N3gzSW5P?=
 =?utf-8?B?ZE00UUxrcVc0L0kzTHVCNTBTWENSRXcxSEpUakJscXMxTTZwTkpVWHowU0xx?=
 =?utf-8?B?aCt2TjQydFZwekNKd1FYVEdCb2hNeEN2ZDA0OHFpK2hIMHZ0VmxvbVRlOXBQ?=
 =?utf-8?B?M0F2ekZXdlhoM0RHTzlaa3Q2YXpyd1JnczI3MHNnNUZSREg0NFY5ck81L3pF?=
 =?utf-8?B?VkthTzVGdDUrVy9mSE53MHhZOVpHcW9uVHFkRExnRkwxL2UwazhSd3lnRHNN?=
 =?utf-8?B?cWVkSDVFeFR5WDRRdDE2S1Nmd3ltZlZ5OFdNaEhqY1FmcGtocEJLMnVCWlpr?=
 =?utf-8?B?UDIrT2diOFdUbEhsRzVNcGhUR0hUMXlRTytLek8zS3JNL2FUNzJmcXpWL1o1?=
 =?utf-8?B?Q01STE9jNmdYQnBhVjVOSHpDZnEwYXQ0MnBWUE5PL3RROHhFQU9HTnRmUEZz?=
 =?utf-8?B?azVnTFpDZCt3Qk1meTRBQ0RFOHFTTGN0ZE1NY0d3bWg1RmgwT2VEYTFzdkFN?=
 =?utf-8?B?RWZLL0N2cDR4OVQwMXJtYmsraDdMdWpZbkpmMEZYeHZmcjVKck5US1NZTyty?=
 =?utf-8?B?clYrRkpmZm1XYzRCSHhGc1UwRG9lekpMelY0cnlFSUJiMldqeUJrN1NOaDRX?=
 =?utf-8?B?bmZ5amVQa3NYM1BvZW9kbklYdEpUVUdPcWkySUZJb2VDZmZEZkIzTlFNd21M?=
 =?utf-8?B?TUFmRmJmU2ZHOVY4UkduMFlKOVBBeFNPTUVpSDJiL0hsZitBRlhKMEFKcy8z?=
 =?utf-8?B?YzFpMVIwOTVwZnVqaTA4UkM3Z21VTHd1c1NMMjJJYlE4Zm8yT1pDUlBVMHM0?=
 =?utf-8?B?QkUvNkplbDJGdzhKcXA3azVHaHBQTkpzWTU2SkJBd2ZKYjN0c3BmVElTam55?=
 =?utf-8?Q?ezflXtBBf6Lc70bm3QR5cjXZ1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ce62691e-a7bf-43a8-8f7e-08db2c3ac39c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 07:38:30.7724
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yBS4ce1dodC4H2hT4D/sX3dgaYocrv2qvxnHtsRwqIS68cUfw76YXfhsZyUU3XFPU0WYLUh6kvOM/sHr6kMx6A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7835

On 23.03.2023 19:18, Andrew Cooper wrote:
> On 22/03/2023 9:35 am, Jan Beulich wrote:
>> Emulation related functions are involved in HVM handling only, and in
>> some cases they even invoke such checks after having already done things
>> which are valid for HVM domains only. OOS active also implies HVM. In
>> sh_remove_all_mappings() one of the two checks is redundant with an
>> earlier paging_mode_external() one (the other, however, needs to stay).
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/mm/shadow/common.c
>> +++ b/xen/arch/x86/mm/shadow/common.c
>> @@ -1522,7 +1522,7 @@ int sh_remove_all_mappings(struct domain
>>                 && (page->count_info & PGC_count_mask) <= 3
>>                 && ((page->u.inuse.type_info & PGT_count_mask)
>>                     == (is_special_page(page) ||
>> -                       (is_hvm_domain(d) && is_ioreq_server_page(d, page))))) )
>> +                       is_ioreq_server_page(d, page)))) )
>>              printk(XENLOG_G_ERR "can't find all mappings of mfn %"PRI_mfn
>>                     " (gfn %"PRI_gfn"): c=%lx t=%lx s=%d i=%d\n",
>>                     mfn_x(gmfn), gfn_x(gfn),
> 
> Out of context here needs an equivalent adjustment.

I'm afraid I don't seen any further is_hvm_*() in this function.

> But in this case, I'm not sure the commit message covers the relevant
> details.  ioreq servers have been made fully common since this code was
> written, and *that* is a better reason for dropping the predicates IMO
> than the redundancy with paging_mode_external().

How does "fully common" matter? It's still a HVM-only thing, hence the
paging_mode_external() check just out of context. Also note that the
ioreq-server-page check is only one side of || (and I realize that by
correcting indentation here at the same time this might be better
visible).

> That said...  I'm not sure the logic here is correct any more.  It used
> to be the case that ioreq pages were in the p2m, but they're outside of
> the p2m these days, so don't see how there can be any interaction with
> unexpected refcounts any more.
> 
> I suspect that one way or another, this change wants to be in a separate
> patch.

I think that if there are further adjustments to make (like dropping
is_ioreq_server_page() altogether, as you appear to suggest), that would
want to be in a separate patch, but the change as done fully fits the
given justification. (Of course in such a patch both _could_ also be
dropped at the same time.)

>> --- a/xen/arch/x86/mm/shadow/multi.c
>> +++ b/xen/arch/x86/mm/shadow/multi.c
>> @@ -3441,7 +3441,7 @@ int sh_rm_write_access_from_sl1p(struct
>>  
>>  #ifdef CONFIG_HVM
>>      /* Remember if we've been told that this process is being torn down */
>> -    if ( curr->domain == d && is_hvm_domain(d) )
>> +    if ( curr->domain == d )
>>          curr->arch.paging.shadow.pagetable_dying
>>              = mfn_to_page(gmfn)->pagetable_dying;
>>  #endif
> 
> This one is dangerous.
> 
> After tracing, I can see that sh_rm_write_access_from_sl1p() is only
> called from OOS functions, but this function itself does its very best
> to look like it has mixed PV + HVM usage, and dropping this conditional
> means that pagetable_dying can, in principle at least, become non-NULL
> for a PV guest.
> 
> I think this function needs to be made far more obviously HVM-only first.

Oh, sure - the #ifdef inside the functions can be replaced collectively
by one around it, now that OOS code is built separately and for HVM only.

>> --- a/xen/arch/x86/mm/shadow/oos.c
>> +++ b/xen/arch/x86/mm/shadow/oos.c
>> @@ -577,7 +577,6 @@ int sh_unsync(struct vcpu *v, mfn_t gmfn
>>      if ( pg->shadow_flags &
>>           ((SHF_page_type_mask & ~SHF_L1_ANY) | SHF_out_of_sync)
>>           || sh_page_has_multiple_shadows(pg)
>> -         || !is_hvm_vcpu(v)
>>           || !v->domain->arch.paging.shadow.oos_active )
> 
> This is reachable for PV guests as far as I can see.  What am I missing ?

Well, the footnote in patch 1 ("x86/shadow: fix and improve
sh_page_has_multiple_shadows()") kind of explains this wrt the safety
of the sh_page_has_multiple_shadows() use here: Since PV guests can't
have OOS pages, there's no way SHF_out_of_sync could be set.

> The changes in hvm.c are all fine, and for those alone, consider it R-by
> if you end up splitting the patch.

Thanks, but for now I'm not meaning to split the patch, as per above.
There will be a new prereq patch as per your request.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 07:46:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 07:46:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514186.796203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfc86-0006Zl-En; Fri, 24 Mar 2023 07:46:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514186.796203; Fri, 24 Mar 2023 07:46:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfc86-0006Ze-Bu; Fri, 24 Mar 2023 07:46:30 +0000
Received: by outflank-mailman (input) for mailman id 514186;
 Fri, 24 Mar 2023 07:46: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=n250=7Q=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfc85-0006ZY-Dt
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 07:46:29 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0608.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fb50cb7d-ca17-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 08:46:27 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8788.eurprd04.prod.outlook.com (2603:10a6:20b:42f::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 07:46:25 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 07:46: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: fb50cb7d-ca17-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xpqx8jUAf2XyniWTdN19kh8i26Po6G2dActTBqQo3/0xIn7caZoSZI0BfwJUrkZF3dFngRZqbLSuWiKoh5UZbdc+0sfBYmX/syL661zZK3TWhkv6KDmhqpfkm3e/KTj+F48G9W44jsm8OG1qovQMVtrZxyURT2JXU9SKohW8zzguTfBZOsJjo20RuYQSi5WxlVuW6i6rP0mcdimUj5wylDLnG8+4embjPL3cBf/soK1uhps+guOm4seCkOjwBBuGwckNB29DthZ8+2hLvRTvDW6z4Cq1/XK2w4nMVZyoeONYUMb+c9COb9/I5QMiKgwR1iPMTV4oW+ZAW8gZGQ+oIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eEg5eojzvBf84PNwAq18/Bpsi16ZJEYO4AY5sRXDxQc=;
 b=Urdw/Base4vEI3cPFOrM2EAO6l3t7+8tRSfi2RcjX0jyE59RSBslDAiGQ5sbimn4QUUNx/D81DX37cPfEsvt/ZwtUKxK6Zda4UnIKAu9MADRPCaFTLTgWXw8B4jlS6OTRu/wBIN0vCVl+fvQeez9SVyT9OwD+dsjHQzpCPR6bSAhp7hHW54br03PAS/s5t/rlceMO2LNI1hGLKOUkYCblULXd/91J630Kb3AdzbTcn9ofMukJlLLdpeOonF+r0oYkTqbWuzMwsM+oPSkcfMyr4pkQZV4xTchP1PQNNRHZrEfRU7G09D4mbL3D2tMt4suVg7I+LVb+fxHokIenLLq1w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eEg5eojzvBf84PNwAq18/Bpsi16ZJEYO4AY5sRXDxQc=;
 b=VK3oRNP8yiVkJ2i172khwlDPwHbbFrHVOX8Kxef0SIGSeNi37ZspTG28CR9xO+61qBCxbfpsguRMNNmyI7kasg4g4fXS4F6BNUO+TaEctDW5fhaaYjvWRhaiJzqzCvtp/QQx8W6WFPjXNsqrlAe6NnjoatIMfDi/1XX0y6DBGM9F7IdlVGPNMXcC0VQB13gvZytEswKL4D1Y34BeF1mjgV4JUyTKbal2wM76oSkUGMrJbbOZN/ZS9QawWJfoiIH0/4rAmb6iirYDr34NedIvE53bFIpRDZvRkeqQoJqZN/d8H29wTmMlM+o3WkPmvniyYkivW2qv8ptmgmRXqH4CNQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <145d84a7-b3dd-f578-3c8b-10a5aba53491@suse.com>
Date: Fri, 24 Mar 2023 08:46:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [adhoc test] 179901: regressions - trouble:
 blocked/broken/fail/pass
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
References: <E1pfV8U-0006eX-2p@osstest.test-lab.xenproject.org>
 <0b1181a1-5a96-b3e8-ffd8-6f256ebbceae@suse.com>
Cc: aperard@xenbits.xen.org, anthony.perard@citrix.com,
 xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <0b1181a1-5a96-b3e8-ffd8-6f256ebbceae@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0099.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8788:EE_
X-MS-Office365-Filtering-Correlation-Id: c00dec27-17cf-4108-9e72-08db2c3bde68
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:
	9uC2JDRNcBYFsHfQN3bM78iG8AyS+m3oh5NkTFAyD9L45I5eSSzjkxmipWBj1Lrjr8GVjNsT/yCniH/XN4bFYzGXIf9XoL3QcU8JpWWUutIjerroWqttuGC90zNua/w+6oztYMnupSEVmlCYHSmk1BXQAMdF9Af6YlzVMtpnZsc9cTlplGb8FG9wG6lBmA/r2LBZf1hK1/bZ+Iqqrh4bSaaO3ALXmwS9sNTYgSWEIdcJPywUU50XQKKtBLnIMZOJit0ZTI97ZejZng3vC6p+YfrYDS+mM/448z7XwijZT0LrxdK26tCwgSRjvqwn5SUGCu0cpN0C0roXgrnAQCYgJO+CuoRD/H8/aTmz0qVi3MVxAs134pdZoHTJGMEUuuyJLFjL5XgZREoroqEGeI85JyRszLAmKyNWd+g+D1dIE7dG1oFs1r3n5TvgP6vEYWP5bBAnnrfnZOs6TyY8h7V1ilQIQkq98MiT7X/q1uZ5Q2XK7TP3/jwc1hZ8ie130tggaDQ7BV0uHgr0NfApOLKJxOcI4e4xpRWsginWnpAYWIxTyOnzbA8ugoC8hr6dopN0fJO1aVGNDwhaCsjQ63K/JqR5kp4LdSipYdtruCdn9YMTtq5fi9qabEdgASUp2bxd4yL7YXbcjjoJUUtf3z9CKA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(136003)(376002)(346002)(366004)(396003)(451199018)(86362001)(8936002)(6862004)(2906002)(31696002)(6512007)(6506007)(26005)(36756003)(37006003)(6486002)(478600001)(966005)(316002)(6636002)(4744005)(4326008)(5660300002)(8676002)(83380400001)(15650500001)(66556008)(66946007)(31686004)(41300700001)(186003)(66476007)(2616005)(53546011)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MWRxNHJCd2l2WHlRUDlobDdYRWVaR3JLR3F1dGxZRWRPTG5DWUM3ZE15dXNG?=
 =?utf-8?B?cml6d2pDQnM3aTN6MXVyQlhiNUFaak91RG54TVc5QUo3S1pxNHFoMmlpTEZE?=
 =?utf-8?B?aklhTWx5UkE4SkJuZ1RJeC9zYmVIQytNMDVnYitBbVhJR2xvYlI5Ym1TY1k4?=
 =?utf-8?B?RXRHVG9qN3BLTjd2aUtjZFY1aERQNzVvNGlOWVNVaUQ3aWdSSGs5ZnlUeXR5?=
 =?utf-8?B?eENmU0FSQStIcWx3Qm9hSjNDbkZkVm5tTWRGdDVibmkyamxqc3J1Q0tLckt2?=
 =?utf-8?B?Zmx6WEcxNW5DbW1hZFZxTjl2bmNlMmYzZDlDOUQ4LzlhSFZESGlQQVYvV3pX?=
 =?utf-8?B?NnhsM3Uvd1JOTjJVWTN3dmUzbzVTaXMzNGYrc1ZZU0wvYlBIMEFZTHVEemVY?=
 =?utf-8?B?Njl6QWhuOW9YQnBlKzV0SlNzOEI0eWdZWWF2SWRmYVJORVJpUFpJQit1akVl?=
 =?utf-8?B?blBvYnJNMjg5aHNNRnpkVnJIVWlablNvVDNmMVpTd3ZueUVzMVBpK3JEc2ZJ?=
 =?utf-8?B?encrZ29Ja040UkFXTGhidCtabFNlWG1wYk9Sektla2VMNE1odTk5d0pQYWxn?=
 =?utf-8?B?VndrYlNLZUU4WU94Y1llamJWbkZ0YXppSnFBNWpYQVZ4akxKVkVRT29HS1FC?=
 =?utf-8?B?TjFqcE1BOStTN0hEajlNcjZoNk1Vdm9ESkpucUlEbnZGbkQxY3hDWTRxUU9k?=
 =?utf-8?B?RDYweHBKeDBsckNRazZxMk82M3BHRW9oL3hHNCtYMENxeE9RQjhVaWxCemV4?=
 =?utf-8?B?SnZSSmZGUXZmeHBOUHJPam5LWGw0RkxXcVdibkJZRk1sbXF0TlVKNEFiTnp1?=
 =?utf-8?B?MDdRaGxYM3FQQWh0Vm54eXkvWGx0V3ZkUjlHTlZIMnd6UCtmZjI1a29wV1kr?=
 =?utf-8?B?eG83MjREVzJTYmw0T3RIOWg3bU9hMUlia1JYRTBQTjVBOHRPT2JZcjF0Sy84?=
 =?utf-8?B?bGQvMHRvOG5rVGtPbkNwRDl4c0VQalJVa2FreVdML05DT041U0dGanE2SmRu?=
 =?utf-8?B?T1lLOUlOOUVCYVl6QlhDQXJ4WjhhekFHbW5BUVErMURidzFRYWx1SnZLN3FU?=
 =?utf-8?B?UnVoQmtDNVRnQitVUytOTTBiS2tQNXJGenFQUlRjdzNGcEQrSFhZTDg0cEUr?=
 =?utf-8?B?aWZucmdsNDZmaVlGM0xDQ205cm1lTDB3NzM0SThnWTRCZFgrRURncnRHZnVZ?=
 =?utf-8?B?bDU1UkxFTUtzMTFjbmJkSDN6R2xNR1U4eUVQTUdPRmJ1Mm1MeDRzS1E1UWY1?=
 =?utf-8?B?ZkVGemNGUm1kYWR1VTJlNW1IWVRwSEFab1FSbUs5Mmx4N0M0TXRRNVRHM25C?=
 =?utf-8?B?U2JsZzRkTTVjT1FzZnVPcDVnejU4M1dWVExhYkxWdlFUT0RuOW15TDZJWERD?=
 =?utf-8?B?c1lKNDVDQ1JPb0QwaktwVSt3bnVDZDZrd3lFLzcySm83NzlqQk8wdUtvWHox?=
 =?utf-8?B?bmU1ZkhQUVJpNXNrRThxZ3U5YXdmVXNDWWJZQUVKQ0pVSDZ4QVllZHhjWFhX?=
 =?utf-8?B?MnU3ZFFBTUhaYWRWcU1xRWZZVGluRURhdmR5MDZyclA4S0JiTTVYM2RCcExh?=
 =?utf-8?B?R2hHejQvbHdtMmp6Y3dEZXF5TlRBM2J3WkY0QkxZZnRGbk0yelJiVkJaYisv?=
 =?utf-8?B?WDZmd290NHN1Um82YzdCSmFmNjBQTktDQ2pxVHprTlluaHR6SFF2Yjc3dTNu?=
 =?utf-8?B?bHZWbE96QnBmb01mQXk3emVzUGJscU5RZVYyNW04QUo1Nk8xaEhZcHgxZ2di?=
 =?utf-8?B?bjl6V1pMbGJSNE5ZYkxsamlLb3ZJdlhNc3J2dksxN2thTTVzSVpvYU9IUEhL?=
 =?utf-8?B?eGREL2pJKzd2dHZ3YnVhR2YxbkdmTkFUN2IxcVdSRW11UmdxYUszTlRxWVlX?=
 =?utf-8?B?aTVsdi9ZV0RtOXBFTHREVFRRUkd0NTNma1dNQnFUOWlkU05GdXRCY0hjd3F2?=
 =?utf-8?B?K20zeDdTVnhGeSt5eGR2S1VHRFMzUVdod0txU0dTUzdlOUs3TzVGVkFmSHZQ?=
 =?utf-8?B?UzNzdjBuNWd5QjBMRy9PSDc5YWhMWEZOWEowSFlWMXhrNTlzYjNRQ1A3U3BJ?=
 =?utf-8?B?TXd0M25tUGFwdnErdEljK1c0L2Jxc1FxQkhGVlFWMExabGVHWkRveEdGRGxM?=
 =?utf-8?Q?3CqkrF0pkQHIM/vARph4kymB/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c00dec27-17cf-4108-9e72-08db2c3bde68
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 07:46:25.1022
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mMl7qSGtqbji2mcBRqRtHmwLyNMITxs0xra+fE6iPEO4NKSqRvLv9yH2MjFBJpV/LT/KhjL8pad3w9u9a14WIg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8788

On 24.03.2023 08:07, Juergen Gross wrote:
> On 24.03.23 01:18, aperard@xenbits.xen.org wrote:
>> [adhoc play] <osstest master /dev/pts/16>
>> harness ed1d8de4: PDU/IPMI: Be less aggressive with IPMI commands
>> 179901: regressions - trouble: blocked/broken/fail/pass
>>
>> flight 179901 linux-linus play [play]
>> http://logs.test-lab.xenproject.org/osstest/logs/179901/
>>
>> Regressions :-(
> 
> It seems the grant copy failures are gone, but the tests are still failing.
> 
> I have spotted:
> 
> [   18.258030] net eth0: Response for inactive request
> [   18.258080] net eth0: Disabled for further use
> 
> in 
> http://logs.test-lab.xenproject.org/osstest/logs/179901/test-amd64-amd64-xl/elbling1---var-log-xen-console-guest-debian.guest.osstest.log
> 
> This is clearly an explanation for the failed tests. I'm looking into it.

Right - xenvif_tx_check_gop() now sends two responses for the split copy.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 07:52:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 07:52:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514193.796213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfcE9-0008MD-7z; Fri, 24 Mar 2023 07:52:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514193.796213; Fri, 24 Mar 2023 07:52:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfcE9-0008M6-59; Fri, 24 Mar 2023 07:52:45 +0000
Received: by outflank-mailman (input) for mailman id 514193;
 Fri, 24 Mar 2023 07:52: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=n250=7Q=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfcE8-0008M0-8F
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 07:52:44 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on060b.outbound.protection.outlook.com
 [2a01:111:f400:fe02::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dab40236-ca18-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 08:52:42 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB6988.eurprd04.prod.outlook.com (2603:10a6:10:117::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 07:52:38 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 07:52: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: dab40236-ca18-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=esesW4DY8ENN0b0H3QtYL1KZhPOzf2z1e54abWPfzRmAo79fg0rYzenizVGPMjtEVym+RyUVvgLCC4xTa1pU5gC3myKJCD14iBslnHcCO9ULtEsRZdv9fKq3Yn4HQIUIS8B2850lOFLWketHBXG9ffLeQ0XJfZFu8f6X1ZnLP7w2JunkX2Bu8LnDfU9thKFcH3UhF73F36JlINfjZAd1no+sCugu4nG8aEfjWy2L1GcJmTTtgbS575sR8goSkUoG8SzZ6cMhQON82tmAckAxvLYgk9tBr2vB/i1v2JsdNLy1HW4wErXHWCiM5MSF8wqNOyhs1oScL8eL+5eUYOo4Zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N68Wac8O41rHbpwkvwzk9JNgrB8PmP9/1ATul2QjbGk=;
 b=FPYn55KxP/Kxm5+tK1A291ViN1jhCEtisWrNN3RxEu3Ov3O1SaIrCrctzNTi6VJ96SWKfAoUoBHLN9HFi0sk4CH1d3q+wOCDL6SbQ6paq2bwt6ddbyPP9gifpeqgzFCFP6o9VhIcek2k/svyLsCrc7Yx6rnb2ydfmrimxSwM7ip4RoPgtCZhuh/7I2aPGjHcZXw7Kwvy1np3ZDvS/4K7zkiefiUNN3aRLBkCMOqmE5bWIN1/0YmO5jbA4e3AwgRBv1jP5h3ldvFZyfMrqNcYdzjf+/AtbgFMkMQCl2BgphOoNbAHdZ3Jgxu4fYvQv/Cyuukuk+1NCYyIvVzrDPiJkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N68Wac8O41rHbpwkvwzk9JNgrB8PmP9/1ATul2QjbGk=;
 b=2DJaj/nA/p3AX9noM6zNtuiJriLkClhVaQMO6Q4dRgYioGMB4Vmyy4OFFXL4mCi3gcalDEqEUyQ2t51C0vbv6T5CSqhs3aqzRm84XsFy+BkzWGBRCf5bKoJv/Q5AzcBpMiXLgJhILKbJ2yKuwKayo3O+oa+s50+ma21hRE0EDejXLuuCYuQM1x7YayHOJ/xCWdOfARc2qzFGTIfDw8b5yfaHpGKvF1CANfTFL279l0gdZC+24bRpJf4rAAtk5EQQMg1gKiubIFVyw7NFawp1PjDXRwTDco95jZLBYHWQykEoWKwUjc3PW++DvZj0qnalfutKZp5+uqK6/xrpt7JlMw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2977bedd-09f1-e416-e08a-3d6a0049e0c5@suse.com>
Date: Fri, 24 Mar 2023 08:52:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 12/16] x86/shadow: make monitor table create/destroy more
 consistent
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <d6ef377e-731e-faa4-aa43-ef40ea34be07@suse.com>
 <65662ae6-8a86-ddba-a3e8-57ee557f5b80@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <65662ae6-8a86-ddba-a3e8-57ee557f5b80@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0134.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB6988:EE_
X-MS-Office365-Filtering-Correlation-Id: 49fa020c-7956-41ee-27dd-08db2c3cbd21
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CSY8Du7Bm9T03vGlBbadhV4auwG+G5vk0A2w3XMIFVMNzy5HkvB7+PXdi3OxfU1xlp2AOJy/ucia0zg9H+xEF4tN02ASMv+peQSmpWypz1VmbWYyEZsMqxWCRlSSq6i1CXnZkt+gi3ytkRdUATK1FnUFF+UhAohl82JrGL+HhB4jn8P8hGRbt8KgFvnugFSqcbbdERLWZusJQDZwPChrr3/XvHDvZnHLP8ZogeFwSm8SPlubULPo75SGLdDeW9TkGbS9trKagp9MqNQHLpkIobioqy4MCK02YFD6f7WlLWxOqQn3TWq7CVROM9p/4CWnQryRFDll1ECIFAElP/jM6vUwj/AU1caCxl4zZ7WlzCfxogLP5jmBeEyiernyNuqU+lnT058wq2ujAUdLuOOwirmRFKf3dCMsJ9PLl+lD/SBw1x+ac6EaSCsFvYZQMkgkIXlrKBGedTSCySlMyPQaw9vw3wmra+iF1l4Igo+/atjrP4wH/ZOy2mp4iBTWpUvORt7V5yISgTl60Z3hZ086t7k9T4YutJksvulWxbtOQOsVR1iXKkhwVw1YIYlo21/vks/yOGc0tcD+iafOq+nEJe/Y4ZGr5VqtzSnaAFXMCH/bYnILzf7YsxGFmn0rb6y9kaXB9iODPRT4F7Ttxnp6Hw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(366004)(396003)(136003)(376002)(346002)(451199018)(31686004)(66899018)(186003)(26005)(83380400001)(53546011)(31696002)(6506007)(54906003)(6512007)(6486002)(2906002)(316002)(478600001)(86362001)(2616005)(38100700002)(6916009)(4326008)(36756003)(8676002)(66946007)(66476007)(66556008)(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?NTZhZGFxbGVpQ0NxRFU0MjVtRlc0bGlqYmpBT0JUVTZnTHJvSXUyR3R6eUky?=
 =?utf-8?B?clo2T0NqSVVUVnFTbUd3QlZKMTlWVUFxcUxGMERzVEZOTkZSWkkrZjE0T1Yw?=
 =?utf-8?B?d3pNMWJSY0tzNk8zLy9wY2h3Q2ZoRmFYZ2I2cUUxcVRFb1Z2MlQ0V3ZORVhI?=
 =?utf-8?B?RC9ZbDJ1N3VoSm16amcrSk4rZnVhbFJwWUZVNXZnWVQwZHB5SEFPTXloQWV1?=
 =?utf-8?B?WEppZUZ2WmtERSthd3dLVzZKSzZsdU4rV2hDaWJybHY4TzVRQm9TUWE0YU0v?=
 =?utf-8?B?ZGF5cDhTaGw3dDN2Yy9zd1JoL0pna3E3N216eXczZVJOSm1DR1BocndRUzdV?=
 =?utf-8?B?MWxWQVE5cHl2aEZnejJ4N015a1gwVzgwUmRac3RNZElxU0VKdjl5ZjNQdUs4?=
 =?utf-8?B?WTJoa29MMzFvdTBlOE1xLzdHQy94MWRDM0cxRFg0bGFoT2pkYXlhYkVqYzF5?=
 =?utf-8?B?UVgzNkp4LzhJTy94aHI3V3BlbEJ6WDBXdzVvdkErZkJ0SnJwZTlvNEhGQlhn?=
 =?utf-8?B?V2Q2QXIreXZQcDZxUWxwZVVjc3NGQlE1WXhlOVNsaHRyd25TQmtHRVlsMk1w?=
 =?utf-8?B?WkcveG0xdWE5S2tRN3VjcGpXRU1neVd3bXlMNlIrbEhnRlZtOERyL3Q0VENx?=
 =?utf-8?B?d0MxSkxFb2lKYnpoSmlVemVONWt6SUlxSUYzbnJkS1FuZmlvSHJJVEhyTVpZ?=
 =?utf-8?B?UDZsM1FsTjBjcWR3eDdjS0FBUTRZU2tjazUzWkJJZi82c0FUWFFNdVdGSU8w?=
 =?utf-8?B?V1RLKzlMVmo3ZURLd0JJWlY4NVk5YUxmdlBsNXAvQkpZZ3RRWnpoNXROaTli?=
 =?utf-8?B?VSs4dlU3TGI5M0x6TlkrWllUc2d3akVjWmVsSEpKcWF0MVJBbmp2UFNoTVEv?=
 =?utf-8?B?WWxHa0xGeFliYkQ5L25QZk1OdCswNUkrTytzTjdrUEhHTWZsYlNpazF0Wmlz?=
 =?utf-8?B?bHY2d3pYSVYzVmFDNS9ua3krL3RjdFBPcjFLNWVMT1ZsZy9JSUhLMHVwcGU3?=
 =?utf-8?B?VzRBWVVMNGFmRUpwenFkSk1vK0IvY3oyajRBa2dnVlQ5L3prWkRrZWVTUmEv?=
 =?utf-8?B?V2tDcW9odlI1QXIrTnVLcUFQRzgrY2cyWkgxTG5LdzlSUDJpejg5UFdiVC9q?=
 =?utf-8?B?VnhtemJIQmgyTDkrbnlsWi9tZkJsVWp5VlVOTzRiRDRhRkdsR0J6V1ZKZGFK?=
 =?utf-8?B?bXdsZWdIcUl5a3BxcXZTbGxuQUw0OUtKZlhrTDFrWElZQzdxTmh2MkRMMW8r?=
 =?utf-8?B?K0ZadTVRdDFvRUREMi9WUTN5NnY5WTBCMjROcDYxQVpsL1JRMy9QeW5iQkd4?=
 =?utf-8?B?K3krb0J6cnk3dERJNGJnRlgzSWo1YmNwamZabnZPUVlEQU9PbzY3cWpTeWtH?=
 =?utf-8?B?T2czdS9rVFNPcDRLSTNPak5VNnZMM0hHTlpnbFJsSkRrNUtYOG5hUXR2UHN0?=
 =?utf-8?B?NzZLamtEK0VyNkxtNDdkWEpQckwzMjQySTZTbnpBdDRrTG5FRGZPSDVKbmtG?=
 =?utf-8?B?UVZjS0NVTEhrdExDRTJwVmtIcTJBc3g5N3BUaWtIU2xjclNWL2RCUFdsYWIz?=
 =?utf-8?B?bGp1VlpzRFBrUWFPSHRSNTZjcmJ4aDNSTkdJNEpqUm93djJxbVpnWjFQV28r?=
 =?utf-8?B?c1pnUm5CQjV2TXZzZ0dQWjl1R1Y2UzExbnN5RHZrYzJIUUdnUUNmVWM4UVFw?=
 =?utf-8?B?VmFlQTkxekljZ2s5V1k5NHpPaldKZ2tZUmo3Ymp1UmJZeDVDUm5HNU9uNitZ?=
 =?utf-8?B?TjZwdm00ME52QWxoZEdHZ2tHTFlveURyOUZnNXoxcVNnc3I3REVtakYxL2lC?=
 =?utf-8?B?MkIyN3pEekh0S241NzJSNlBUV2tzTTYrc0plQUFveW9ib3F3UGtKRSsyc2o0?=
 =?utf-8?B?RS91RTRWbDlQWnNlV2lmRzlpS0dsbGpNclZjNG9CRTRGOXZseTQwZmdzVGp5?=
 =?utf-8?B?TFQ2a3QvMWtxYjVrQTg5V1JYOHRrVjFGN3JjdElsWHBSa1haczM2RWhZb3Vj?=
 =?utf-8?B?S2FZUmZDNFlQYWNwRS9UajRoTFI5QlZQMThwTHg1d0JQNCtjaWx4dHV4Tzlw?=
 =?utf-8?B?a3hIVEI2c3VjM3NPc3JrMFBRL1ZrdXF3ZFIxb3l4ZFE0ZGFlcFNPQzZWUzVB?=
 =?utf-8?Q?8mdtwaN8ieG4uzkpysN6+href?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 49fa020c-7956-41ee-27dd-08db2c3cbd21
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 07:52:38.7189
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: q1OO7nJ6VGU8F+uSC7vs4BvMO/bGQsT7Q2mqBAKUh6x/322ZdQ79WkFBFinjhad2mUN0W0ePz9771J3ZtX4dBA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6988

On 23.03.2023 19:28, Andrew Cooper wrote:
> On 22/03/2023 9:35 am, Jan Beulich wrote:
>> While benign at present, it is still a little fragile to operate on a
>> wrong "old_mode" value in sh_update_paging_modes(). This can happen when
>> no monitor table was present initially - we'd create one for the new
>> mode without updating old_mode. Correct this two ways, each of which
> 
> I think you mean "Correct this in two ways" ?
> 
>> would be sufficient on its own: Once by adding "else" to the second of
>> the involved if()s in the function, and then by setting the correct
>> initial mode for HVM domains in shadow_vcpu_init().
>>
>> Further use the same predicate (paging_mode_external()) consistently
>> when dealing with shadow mode init/update/cleanup, rather than a mix of
>> is_hvm_vcpu() (init), is_hvm_domain() (update), and
>> paging_mode_external() (cleanup).
>>
>> Finally drop a redundant is_hvm_domain() from inside the bigger if()
>> (which is being converted to paging_mode_external()) in
>> sh_update_paging_modes().
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> --- a/xen/arch/x86/mm/shadow/common.c
>> +++ b/xen/arch/x86/mm/shadow/common.c
>> @@ -129,8 +129,8 @@ void shadow_vcpu_init(struct vcpu *v)
>>      }
>>  #endif
>>  
>> -    v->arch.paging.mode = is_hvm_vcpu(v) ?
>> -                          &SHADOW_INTERNAL_NAME(sh_paging_mode, 3) :
>> +    v->arch.paging.mode = paging_mode_external(v->domain) ?
>> +                          &SHADOW_INTERNAL_NAME(sh_paging_mode, 2) :
>>                            &SHADOW_INTERNAL_NAME(sh_paging_mode, 4);
> 
> As you're changing this, reposition the ? and : to the start of the
> following lines?

Sure.

> But, is 2-level mode actually right?  It's better than 3 certainly, and
> is what sh_update_paging_modes() selects, but isn't that only right for
> the IDENT_PT case?

Which is how HVM vCPU-s start, isn't it? For PVH there clearly needs to
be a separate (later) paging mode update anyway (or else what - as you
say - sh_update_paging_modes() selects would also be wrong), which is
going to be whenever we see CR0.PG becoming set by the toolstack.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 08:11:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 08:11:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514198.796222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfcVf-0003Tf-1R; Fri, 24 Mar 2023 08:10:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514198.796222; Fri, 24 Mar 2023 08: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 1pfcVe-0003TY-V8; Fri, 24 Mar 2023 08:10:50 +0000
Received: by outflank-mailman (input) for mailman id 514198;
 Fri, 24 Mar 2023 08: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=n250=7Q=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfcVd-0003TS-2a
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 08:10:49 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 611cddbd-ca1b-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 09:10:47 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8244.eurprd04.prod.outlook.com (2603:10a6:20b:3e0::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Fri, 24 Mar
 2023 08:10:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 08:10: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: 611cddbd-ca1b-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OCssRc7ib16/V/M1/xVgDWXGasG+pbjn8CrBUuHub9B7cFEaHWv3M4xlvC2Ajf/wIH7H0ylWq3uqtNhBrpuOlo9zeFCDyxgsYFZ0nHoO8tUZ6XxxaeroiZyryTZ8G7gJMT7y74VfnyIJ2zYt1/tyKLQrMpb59Suf/GGXRVhvoYjTLMz+VEU7oJzHIouiDIv+7MLlhz8xnnwjJO+8lBM4N2tdKJgWdSKq+PFqQBK0yeUf+k9ulHEZnaY4hYKtJhqRusIaLVIVJW2zbHO1WmTwZWIFrqnc550jF6ILJPVE8EDsI03UBdiaguqp04C9H+rZBfkHyO8PBuoAMdLo4RBr8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jmn2JmQ8KiQWMrbnNm6jJQWPPPTIcQVfXKmORKF3PQk=;
 b=mcdpWkDsT2TZpsybFR6C6Gll0XPqsu+KyssHyDXC8yBj5rCwAEJyjl1ZKHxhL1FRMFApXjRKcuvJCg09o11kKBDRVDofFGKzvCYejPVeKAsKmrC462Bm2L++Jdl2v1gcSrYobGZFQzJBmmBkEsbZADhuoV01e1ix+JpssQbcYXBTRWtcI6u3Qc1lG/EipMvE5oShfA8pCuUdS4PcbQL+zUzaqYO8MGraWYWy4eYYp5IhLXEmsH0hrXs4Wqg6fV+SjYo2Vcu6bInKfXtVMjmN9ZhZvjtbLFYcNziIkfy1NZ37KQ1uR3I4IfIyq4iLnUhLxSY1mB4rCIzSCLRhdKyi3w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jmn2JmQ8KiQWMrbnNm6jJQWPPPTIcQVfXKmORKF3PQk=;
 b=KRsLglDcsxDHp7BKfD5b9LpG12tBuvYq88jqDRcHJZgx8H/wvP3slzSjboX5+G23YlmLh0uXouRf1dRthzaw/FqK3+hQRZnOpVq284W0QDI9L6lqmVOK+UuGj486tGzv4Q/lHqby8up/7Bay/QKzaM0bELH71cu9rV4bZDLLhrYtP9NsEH1Hj1WQiZtTISTHaEgROYoYeweO/XIa1UQDz4cZHg+tNq3pRgivJDsAnb9VJVbQB3CJOk56c9zsIie8XKAUTHYmr8Ke7PmkjZzx0b1vM1jVKKu53r9PZM5C4Itc9wSb8QkNBrudT+L+heXFJ6YeFM8fcjB8xjDuK1NAlA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <806d9715-718e-6d52-5393-b7f6b7986e7e@suse.com>
Date: Fri, 24 Mar 2023 09:10:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH] xen: Modify domain_crash() to take a print string
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>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220203133829.7913-1-andrew.cooper3@citrix.com>
 <11398184-dff2-cbe1-bca3-e2862cfbb104@suse.com>
 <b883ed21-6b5b-4212-5dac-12d9691d430a@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b883ed21-6b5b-4212-5dac-12d9691d430a@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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8244:EE_
X-MS-Office365-Filtering-Correlation-Id: 06e28f64-1424-4be6-0372-08db2c3f4433
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0/XTmTywGbdufpvbLUO2vSwWlx4RTETzY7QDSp7joO9s2rPX1JRb/3Z41G475HqVO1c+l1CwOxxhK1Y1l/tSVsPR/wHqlEp6vdP+v2r6SPUtTH/WjpjP5cjFkZpcJ3TJHhHUVeV/IlklNrMMkv6vI1iK/roov97uofrCLSUv3Mg0YqFvJZL0XxJoYjgYFs61GXnzdKbCrzYIJApCN0pQXVCQFke3Ayq6fCdDnfWExuCr7FAQVJYWJD3n5fLJmSMhRS1CO6yeSRsiHCpVolcvhntuqwQAkHKhtfQIZRJH4Lumspb4bhIoGIL4qNykopuFTw7zFXqC9FIfDLhsXDx1Tnr8lzy7lpB/WFjNTdiKcOXdRPwcpdrixHtgvUo5bQsZ9DAjKVN7Y4YImB8hTr3+lBxXDYipuXgRV+xFph7V5jNyUr08fUr67itxDGrp1Hnh4qDmi+0C8OSsVou7lIeRKF8vPAVzmSsAKDV4NE+Ls3tLIyAXGS97uT/mK5T4NtH/VmEab1H+o8GuvzmO3SZagP77Cf4mH1XMFhNJsnzvLP/Qv+PgKJC5aeAgjyteawP2jQb+73j2u+jFrXMh/D5YHoCMn04IX/cUVo9gI8lEjqebwiOIjKtKEHiNv4Yky6CNIkjGUKSJ/Gy6SdswBZqMgg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(346002)(136003)(366004)(396003)(376002)(451199018)(66946007)(66556008)(66476007)(8676002)(6916009)(4326008)(316002)(54906003)(41300700001)(26005)(6506007)(6512007)(53546011)(5660300002)(8936002)(6486002)(186003)(86362001)(478600001)(2616005)(36756003)(31696002)(2906002)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WG11bmhBeTFQRFhQYlVjd21QV1FocVFBY2JrUnBRU1BtRmJ5Nk9yRTcrUVJC?=
 =?utf-8?B?bXhKQ3laek12UmNVL3l1bVdwTFViOE1Kd3l0UjFLVVA4LzZvd3ViV29lZ1VC?=
 =?utf-8?B?NGxhc3BZaUl2Z0lOMTYwLzd0SVRzZWJLZGk0ODM2NlVaSXJ4VmNiTVVSenY0?=
 =?utf-8?B?UlVvY01RYktia3B0cDduems0RnlEalZudHNkRkhaRjN2SDZPT2pMQWs1c09y?=
 =?utf-8?B?WGZQSkhrb0h3WkZWVk50VTEwU1JMVldjTEx3NmdYZWM1d2gxZmFoOUpSdTFl?=
 =?utf-8?B?Rnk5aEVmdUZyVWdVQ1Rxb2RCcnpwckNiSnhVUGtteDU2bzc5UlFiaXFEcEYv?=
 =?utf-8?B?d2hXSXk0d3ZtSG5EQ0p1cVNDMXhydVdFL05aWW5KR3RpaGwvdUdpSDJNWVFE?=
 =?utf-8?B?eC94dUQ4VWhIWW82SXM2WEdsaTZWWEhDcTdrRmJYNXJRWjc0Ync5aENWZEVu?=
 =?utf-8?B?elFXeTByWjVJNUdEMTQ0a2QyS0svaytCZmNmYXVPbUxKZFppWW01dFliN002?=
 =?utf-8?B?TGNOaVMrTmEzUFRTSkkrVlcxK2g2V0NYRFVFaDFVYURQMVBnQVV0VExyWisw?=
 =?utf-8?B?RG0vTFFSczNoaGNRYlhZTFJRd3FESWdYR3BXUURKUnVUVkRmVmdoQit5VWRN?=
 =?utf-8?B?Y2dTTmF0MkJBeVEwUWV5YkpiODdJR3JCeWNlNE1FV1FtYkZtYk92c2xpcE00?=
 =?utf-8?B?NTJqVXZ6REEva3lNNTFVcUtkdkdCM2JJWDhUMU85RHBkRzBqVW9haE8rWlpM?=
 =?utf-8?B?NXlFOENaWmZadHh5bG5ROGVwUWI4NzBrdTZmbFBjT3l0T2FVSUpUMEI5WGlW?=
 =?utf-8?B?OUorSUROWWl3WVh3MmxwVzBDVm5OVGMrK2hvUFIvRmlqN0pnZWZENlVzd3NJ?=
 =?utf-8?B?M1JhN1RmZ3l4aG14K3l6VysxajlhVit6L0NwK0YvODBhajJNOVdqczFnWk16?=
 =?utf-8?B?UmVnTzhBa2p5WUJObldCdVZRM3YrQmtEbDVSblNsbmlXNTk4MlF5V2d1QUQ3?=
 =?utf-8?B?Nld0a2lPZ3hncnJIaVNleFAreGZ3Q2tHc2NMZUxVZjNKSUNuM2dnMTVBQ2dy?=
 =?utf-8?B?dkJTOS90MXE3STlSRFE5b0htTzVXdmtpdURjMHJLeTFhUVozVDZDUUZUODFG?=
 =?utf-8?B?dG9qSjErSVhhMEZKcys5WmozYUVNUHlVRFBmaUdQREk0TFM3YTBpbnJNRUJ1?=
 =?utf-8?B?ZXlYTDAyU00yMC9RQnlYSm9XQU1rb1k2allJdjRHQW1TMkNzbURtQXpvY3p5?=
 =?utf-8?B?SjZzK0owOXBSdldLYldxYlIxUEl0eFFhMnRhZHMwbFZvMXYvbUdKMzhlNVNW?=
 =?utf-8?B?SHhQN1Fnc0ZqYzhSTlJTVS9YcG5vRWRFdzlIOTdpTTR5L0EzSFhHVlRzdFhJ?=
 =?utf-8?B?MkZSd3VscnB1N3QzdDZEbUhpeUorRVh5L2pSRm1QbnEzdnRkSWJLeUpCS3c4?=
 =?utf-8?B?U1cyKzZBUGlnVkUvd0g4eUU0SVVHQnR6QlZZRUdEVTd6TFJDdXV0RU5UV0lx?=
 =?utf-8?B?c2tDV1dDV1hUb1JtTlRVM0J3MHNBS3p2VUV0S05haFZacXlPRlJvK0FlRkUw?=
 =?utf-8?B?TURqaERrbDJVSjRFRGxzZ0V1RkNJV2FtL1hMQmlwVjFtSFY1WWRLaHphdUFo?=
 =?utf-8?B?UENJWmliOGg3VGhyU3VZWGljSDVFRy9CbG81UWxicTNZRHpXcHpha0FDMG1V?=
 =?utf-8?B?YzNaQndJYU9jU3ZxWGNQMzQ1S2dudEFCcisyRHpRek9qZ2NyOGFJcUk0YmJz?=
 =?utf-8?B?NEFGQnM4ZUdRdnYwSi9COUpvQnp1ZnNST1pJMitVZ3JTWjJ2SkFTZXVRVUdJ?=
 =?utf-8?B?dTBxUWFSY3BNZjRqRzJXQ3VjL0lsZWNEM3hkL2dWSEMwOHJBdTRJNVd4bEVM?=
 =?utf-8?B?cTdncFVHazFpcHAzR3RrbFNwc3FIZlJUdzdnYkRJNmd2U0xnL2N6c0UvcFNn?=
 =?utf-8?B?UUgvdlhBdjNtWVNLVzZnNTBTK21oY0d5MEdHRUZRU1RrekxLZXJJbG1RMEhR?=
 =?utf-8?B?a2Y4Y29Fbnh4Z0xoM2JKQXYyQlphRlI3Zk8xeDdlSmUvOUg5cDUzcjlQdURO?=
 =?utf-8?B?alFFR3hleFFzYXVuVnRocEp6TmFKaVVacjE1dFphaXJmYnFuNTljVWpMMUNI?=
 =?utf-8?Q?Mzu3WD2p2rZgdV4Q0rllvZUaj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 06e28f64-1424-4be6-0372-08db2c3f4433
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 08:10:44.3531
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5g517eHojdDZqFXzNWEZtQX7Tx4OP6UtfWZsgLJCSsNKDOac2MbEZqXXIhsbrIVN+lGokpxKxxJ13NIBHv4JTw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8244

On 24.03.2023 00:15, Andrew Cooper wrote:
> On 04/02/2022 12:54 pm, Jan Beulich wrote:
>> On 03.02.2022 14:38, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/domain.c
>>> +++ b/xen/arch/x86/domain.c
>>> @@ -1693,11 +1693,8 @@ static void load_segments(struct vcpu *n)
>>>                   put_guest(uregs->fs,   esp - 5) |
>>>                   put_guest(uregs->es,   esp - 6) |
>>>                   put_guest(uregs->ds,   esp - 7) )
>>> -            {
>>> -                gprintk(XENLOG_ERR,
>>> -                        "error while creating compat failsafe
>>> callback frame\n");
>>> -                domain_crash(n->domain);
>>> -            }
>>> +                domain_crash(n->domain,
>>> +                             "Error creating compat failsafe
>>> callback frame\n");
>>>  
>>>              if ( n->arch.pv.vgc_flags & VGCF_failsafe_disables_events )
>>>                  vcpu_info(n, evtchn_upcall_mask) = 1;
>>> @@ -1732,11 +1729,8 @@ static void load_segments(struct vcpu *n)
>>>               put_guest(uregs->ds,   rsp -  9) |
>>>               put_guest(regs->r11,   rsp - 10) |
>>>               put_guest(regs->rcx,   rsp - 11) )
>>> -        {
>>> -            gprintk(XENLOG_ERR,
>>> -                    "error while creating failsafe callback frame\n");
>>> -            domain_crash(n->domain);
>>> -        }
>>> +            domain_crash(n->domain,
>>> +                         "Error creating failsafe callback frame\n");
>>
>> I assume it wasn't really intended to hide potentially relevant
>> information
>> (the subject vCPU) by this change, which - by way of gprintk() - did get
>> logged before (since we already have n == current at this point)?
> 
> The information is not lost.  __domain_crash() prints current too,
> albeit in a long-winded way.

Oh, right - n == current guarantees the middle path to be taken there.
Considering the other sub-thread also ended up okay-ish:
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 08:18:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 08:18:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514202.796236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfccr-000474-Qo; Fri, 24 Mar 2023 08:18:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514202.796236; Fri, 24 Mar 2023 08:18: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 1pfccr-00046x-Nh; Fri, 24 Mar 2023 08:18:17 +0000
Received: by outflank-mailman (input) for mailman id 514202;
 Fri, 24 Mar 2023 08:18: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=n250=7Q=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfccq-00046r-Le
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 08:18:16 +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 6cf2293a-ca1c-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 09:18:15 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8300.eurprd04.prod.outlook.com (2603:10a6:10:243::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 08:18:14 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 08: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: 6cf2293a-ca1c-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KOaWiPHE4WWXQI8t0mdPNIUFE+ntXFTHwZzMlT5kSTwNAU9+711tYD1K4gciImiMxhyOdOXXfv+AxpYomHqC4UXb12FmtfdgYIL+sbVaz+vz2DTC6J7fAl8L5yUAs6eN/OVxQgFEM26mMLhJotaEEoQ7ptgFzpz26Xe0Wg6VtzXMykcE7ZyS41qpTXeNEFIqs3l4XRuWbJUtuuDreTymfb/+qgMcAHK0qCYjSKb9t6D6NTlU8zA1P2YLTOWBsYt8iGtluXPHAFI0qCh5vKakIBm3hQgOl3342dveS6n9nG8QTnCXY953bGUkStQiu+kEuv3UA8iLO2DqL7EnuPgRBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iTVNNMycHqTIn2v/5I7BzpKHYH+ogCbNoOIpQtsiZpI=;
 b=ejZzn9vVtWjoQJSCXYTEaBnlLTpA3mSIUdIKaUn7r1ROWvUwmIKq1SfdVZUZHkz7LMXFTH0TpgMjUTZ1Ytm2fbgWwLMMjkyMMQIFG7L7e44CouQ+1p8dq7nL0U8VYe9AtxSxpUaDMaRtddZvfK6oPsnOrDhW/YEY0ffAIEHKHBDNA2Idl58IEPVrltXGf1ekceZyqHDHqjL4lI/Dx/5qcmhcpFoVORKLmWLscK4otUmlmYjI4HMeYrllHQzvwW58iAKDzRCjiqNgn5KWvlJMFsPMboDPJyDRnFLY4tQ0XVhn5OtJjEW3ZiWtpiHhNBXXwgryd17FG/UGC5XTq4LHaQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iTVNNMycHqTIn2v/5I7BzpKHYH+ogCbNoOIpQtsiZpI=;
 b=y23yh0NwZ9ujswpw9Iyxv/Jmn7Mk7MaYg5oqx+1VhFxde9tdyMZJ6vGC+1Pz7cGnG6bYEV+tKKmr0jlV1cZFPI9oE7d+3JObk6/AXTNCIa/vaP2wBxdLlW9xG+Z+h+KqYsGpcVk5WnPMay7hpDCTLhlSM2EAU9vblO0VfJYUb7tnBf/m3pvWx3YoPx8VFGw08a2BCdZgcRrwmW/+0htcDaXawHilI/0f/mloatXeKALt5Okqct8/P5IPd1HTNn8r6+2Fe9iP5aSyuEoTB7/z45fWuwUJB8+RLet2UJAciigdEOpYaolUpSEwicvEiATvyhzt5j6ElvKNB++9j2zfkQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1129c32f-e77f-1a6f-03b9-b68faf39ce2a@suse.com>
Date: Fri, 24 Mar 2023 09:18:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH] x86/shadow: Fix build with no PG_log_dirty
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: <20230323234621.2591154-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230323234621.2591154-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0134.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8300:EE_
X-MS-Office365-Filtering-Correlation-Id: 6df78cac-8263-4300-d006-08db2c405013
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k/lNbBsNPSh2v6kX676Ocq4oWIab7TUJKk9ZBa/khYQ690JVfgFKXjkSt9KZE3Bz0HQlg8Dh9nfqHxxIGN/5/zyoA7NzMD1STSIlcyiz5tpGd8bdqdrGURnHCxZzspacFCwVkPpaWk0IZzsDIe+7IA8WRLLL5RE+HZ/5yU66wqTfJpXQ60BRDQXK6g4QPUvR26yQEDB1qs8eArRU9yt18+L+WAmfLRSRnvh7Eun8W4Cppf9P9MvSODVYeB686dtvdN6YtzVU/BGtxk0MoGypDX2H9bgozGq4qIN5PLu84oQZS5Cw+MQv4LgLMP5w3oKROGAChESMs8hIR0KVGoUFXyQbBsGAR6/q6yEjD0V174TOi7mbXse7iB/L4oMoXX7bgteVpj6HZTPa60e1xunB9SjQnbfSf9BB5u3oznPC3M+xb4bValsVsT1Y5mx05mF7xr/ipE4xKM2awLxJeqXcNeApBwCQo6JS4qkWVPzM313veuVIjUKLZq+xdnaIFRS3zjZ/8mX5IdLJ2XhX6Ea94ZObcNEOWyeVyVBtIi6dACUrJYy8GVeoobeUVqKisPp3u/9M1TN27Mm7NQ3F/nWGh6dgfoPwmKuFZz3AVgH7K66rxAm1JpwOT9KcfDhCuCtWh7G8w08LqqqA3EysX7Eq2sdT+Rm/RznkwA+j3JRWd+Y=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(396003)(346002)(136003)(366004)(376002)(39860400002)(451199018)(31686004)(38100700002)(2906002)(83380400001)(6486002)(478600001)(186003)(86362001)(31696002)(36756003)(2616005)(54906003)(66556008)(8676002)(4326008)(66476007)(6916009)(66946007)(5660300002)(53546011)(8936002)(6506007)(26005)(6512007)(316002)(41300700001)(14143004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cXd2NzV4U05rSTJYQVFqa2FjQmV0N3dkdlorR1FsN1lOOFprQ0hrOEM2M245?=
 =?utf-8?B?eXlWK0I4MjdFaDgxZ0xSeFRLUmI2SS85ODR4T0lzLysrV0FaZjJHUzhhNE9t?=
 =?utf-8?B?Z0N0eTdMMFY3K0pyZGIyYVdhNDBDYlJXZStCZmxOR0FjYmRFTnVVR3dsUGYr?=
 =?utf-8?B?S01iU2VvamtScm81OEY1aWNMMXArY1l4OVRuZzhQcFZwTU1LNnJPbkxjVTkw?=
 =?utf-8?B?MkFPUVU5MjNWWVVGWTVKcWVDdEhESjZMek85WUNEam5DOE0zbmVhdFAyQnRV?=
 =?utf-8?B?NHkzbDNSL3pqYWlNdVhPamNFVGhyMVAyQWFKcFJQbTl2UXF0VWFRdWErZHQ3?=
 =?utf-8?B?UnZMUzRzYWpZcTQ2TjZORnZsZmZsalFhUUFOd243NWFRYjdEWUtpZEEvVnJ0?=
 =?utf-8?B?Z3VRS2ZZUUh0ODBjaC82SzB2RmFMSDNvY0kwRFE5cnZ4TWJpRjVvcXBIMzA4?=
 =?utf-8?B?STVGbmkrV3B3VXBmSkppS1dhMjdodjJsdit2SnZJUDR4VHF6L3d3dmc2b0dQ?=
 =?utf-8?B?MzU1Sm1EcG5nNm9JZFNoQTlsUkc2cTlGd3NUVGdGT0ZFZFAwQXd5K0dFaHlV?=
 =?utf-8?B?a3YzbXlJMXdSWjRUK2ovVnB0RE1hclFLSW1iaXVheVlwVERIbGdBc1V4bGp4?=
 =?utf-8?B?dDdlcUQwbHhjc0JLeTdzRmpSaVIrM05kSDRhOVNXbFp3a3ppQW1kcUlQdTlk?=
 =?utf-8?B?VHZPREkydGlJL1R5TUVQMGJYZVp3QUFpMnRrUXZUbXlqQlFuUGFicHdMaVN0?=
 =?utf-8?B?ZlJlSGhHQkFpaU82SzZESHFQYzgrUERFZzFza0xmNEdwZ2hEWHkxcFUrNGZm?=
 =?utf-8?B?alk3YzAxNEdzdVMzcjJEcGw1ZkRjaFdBbTJDYWF4QmJ3OFd2MG54OEF1R0lz?=
 =?utf-8?B?eXpWZEFDNFBTSmVuOGk5YUZjMmlkcG5JOTVqbzVQUTREVXNtWjkzelhBVzVO?=
 =?utf-8?B?a2FCbG00UVJKSTRYVW5rOGhVeDU0RzhkVUtmUGd1aWtZeGE2WklrdFQ5SzJF?=
 =?utf-8?B?aEFBbXI0bEpBVWNGNVlrTG1PUWphbG5zRk5ORkNuaStQTUN4amM1bXpDeTFO?=
 =?utf-8?B?M1JJbHpTQUcxOEQ5VzZRWHo4OTFyTEt4RzYwQmVrVk11L29yWCtkUVBUa3N0?=
 =?utf-8?B?UGh6dVltMng0RllSeHpQMG95b285ZSs1RnNEZmxJbFhtWlY3WjczRkt2QmI0?=
 =?utf-8?B?Y04wcEZxQU9SQ1JZVGdGbFRMSDlocVRYS2JNYW0zczZIYWhhOVpjWHZoTWJC?=
 =?utf-8?B?TDh5RmZWU1lOZGNlZEdPYksvbWlIN3hpL3FGL29FY09yR3NJZWQwOGd2MW9Q?=
 =?utf-8?B?R0N5MmZTandWbkp6NkFGbDBzdmx5cjZ1UE5qeFMrV2ZsSFA2ZVAvR1pNa1Jz?=
 =?utf-8?B?WmpyY0o4dXA3Tk16bWxVdFJON0Zyc0IwWGhLcEtjalZoY1dYN1I0WFp2OE1D?=
 =?utf-8?B?dW9najdkdnVjVHIvVHNlbHg5YzZOQ1paNkIwVUZySklpTXc4NTJ6NVdMdDJw?=
 =?utf-8?B?TjRvV2k4VlA5eFNwS3ZYOWVhc0lrWWVQcEpDMTIvU2wwdENMa0lQbUNZeW10?=
 =?utf-8?B?SFBWSkZzWG9YaUFyKzdSc0RZL2pZYjRlMGtLenJEUnFYUmxOVEVGZ0hRdWFW?=
 =?utf-8?B?dmpsc0dnTmtZTXJZYXhoanA5TmpWbWloRlF5SFJEeTNjSi9NMVJ1Slg3b2Vq?=
 =?utf-8?B?MnF0KzVRTXRSUFEvbjBQOGNUbDN0V0x2aG9IZUpOSHczWTc3bzlDU3hXcjN1?=
 =?utf-8?B?TlhHTGJMMG9LbE5aWTU1ekRIU1hqK0NqV0I0VC9lZVcwRkJoQnBoeU9JUUVn?=
 =?utf-8?B?VzhCbmJnUFFqQkF5VG9KMTJyVkc0aXIxOGViY1VqUzlzVFcxRDR0UG54R2RH?=
 =?utf-8?B?bXZmOERNSGZ2UERCS3VHTk91bzdCZkJxSS9uWEYyZUtPQ1lhanpUYjFWbzdH?=
 =?utf-8?B?TENQRGEzTmQwT1hmMXpkZ2RUSWVrL1RuZ1N1ZWg1c2V4NGJCN0x0TTh6OTFZ?=
 =?utf-8?B?MDVjdzl2QzZZWjc2bk1xTk5DTXA3YXovSmZ2eDJaTGxpVm5FYlhXbUthMzV2?=
 =?utf-8?B?ZEYraFdvbTZ5WDhURFZuTUJoWDRBRHlKZWxQcnhpWFZ3Mm9qOUcydmtSUmhw?=
 =?utf-8?Q?nTGk0BxUyE4HNVtHlCJZmFp0P?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6df78cac-8263-4300-d006-08db2c405013
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 08:18:13.7624
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6CLgNHg1JmyLz14k7RPNKY2K+o4VO19S+kYETsWmBVnoZUJxgN2x/8k1DX0aefCU7ycAoN7NVEzRGU51ZJrLlw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8300

On 24.03.2023 00:46, Andrew Cooper wrote:
> Gitlab Randconfig found:
> 
>   arch/x86/mm/shadow/common.c: In function 'shadow_prealloc':
>   arch/x86/mm/shadow/common.c:1023:18: error: implicit declaration of function
>       'paging_logdirty_levels'; did you mean 'paging_log_dirty_init'? [-Werror=implicit-function-declaration]
>    1023 |         count += paging_logdirty_levels();
>         |                  ^~~~~~~~~~~~~~~~~~~~~~
>         |                  paging_log_dirty_init
>   arch/x86/mm/shadow/common.c:1023:18: error: nested extern declaration of 'paging_logdirty_levels' [-Werror=nested-externs]

Okay, that's SHADOW_PAGING && !HVM && PV_SHIM_EXCLUSIVE - I can see
how I missed to test that case.

> Move the declaration outside of #if PG_log_dirty.
> 
> Fixes: 33fb3a661223 ("x86/shadow: account for log-dirty mode when pre-allocating")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> An alternative would be to double paging_logdirty_levels() up in the else
> case, returning 0.  The underlying logc in shadow_prealloc() succumbs to DCE
> either way.

I think I prefer the way you have it.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 08:26:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 08:26:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514208.796245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfck5-0005vz-NQ; Fri, 24 Mar 2023 08:25:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514208.796245; Fri, 24 Mar 2023 08: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 1pfck5-0005vs-Km; Fri, 24 Mar 2023 08:25:45 +0000
Received: by outflank-mailman (input) for mailman id 514208;
 Fri, 24 Mar 2023 08:25:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=n250=7Q=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfck4-0005vm-82
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 08:25:44 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0604.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77383ee1-ca1d-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 09:25:42 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7971.eurprd04.prod.outlook.com (2603:10a6:20b:234::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 08:25:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 08: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: 77383ee1-ca1d-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H6IU/PKqjqAXd2JgeloU0n/ljD1xJZbNQ3uNtscxMYAMSYFg8TqSDo/gtq5sugC3Etb4m5a4YnoAqQLaoMho4tapqrg7KAWel33HNUmkEUl74Ii/3rxOBYrBpscqn6YDpyakO/0XU66LdqD8AmgRmpqlmU7KZL4A9POB5l7Rg6aOmUDaYtJe3eOjNBUlcch3t0rwEVd/t/EloSh1dld+2rxTjIXeGRCwT1KAhSOjkk/v92wykWbgSewtVugiW2mKp+nas01lNnYcbjNaWv5Df20Qrkqg8RAoJtDPHccDPbLwNcV+3bhWArqKFtIJT7mmOK1y4pPKtRdMcCgFSJ3Mfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nxI6N4s9Zq2AYQ8Y2+2wCnwxcTzIXpVWhhBCyTAq4Kg=;
 b=XnjUUUXnelCkc5ZXd0uzFDtALBgivdS38BlU1EAGueh89GPWhnui24juzXFBRD0VyMSiHgroRj4gFoa5IEVN0WOZzHIvS0SRVfjvTunOIc51JhkJroV33lEdgyd4xuQ3lQUl+F9vROhcNLT/d1PqUSA08Vb4f36ZpzTMFFjfIuKfHsS8wfld4MPkuReX5zcn3Ycv7nYJgZ8Yylm15BdNEANyNY3lm17zXfbSSeRRXW1JPS4kb54ttdRu84hcpDSKB6SIXzrGpLjHR9Vh4hCa9WUtbECL2pXiEeQXIcl3zxwQyzdIbMc7oO+wmNENz1G1KHasdC4TTB/nenj6locWWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nxI6N4s9Zq2AYQ8Y2+2wCnwxcTzIXpVWhhBCyTAq4Kg=;
 b=T5M+GBM1Jv3RJ7guJ2xDk+HDqZXX+iF921/vdQJM0wAQhI6aiCFfau5FwgzK+11wIvfVHd1Q5L1Xazm7/rBYaRRyM5WPeYPWZ7yp46AICrBo6gcCUbx2zlDpNYtV/o1Jd6nM86rdj8VOJ2HMzyU+Ry2nK7XYOBzdT0ClNcgE8bqSaQU+GvrrooWW838VjiaQKqLGSFFX5YPCQ+Cw0L29kpMaMl2nzh1XcG3yx6rTbS3oOUKB8Jpg8/6POYFfvdkejrJZEHLGciUesKkqNNPlKvUVv8hMU9wuRieLcgzncsKDCqakOvZgco7suO2SsaZN4XMZkK3/0PQu70ahB3i2JA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <227ada95-1ff0-a894-c80c-8a9a1761fb10@suse.com>
Date: Fri, 24 Mar 2023 09:25:38 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v3] x86/boot: Factor move_xen() out of __start_xen()
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: <20230323220117.2406981-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230323220117.2406981-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0184.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7971:EE_
X-MS-Office365-Filtering-Correlation-Id: 5390ceec-7838-4e6d-f621-08db2c415a31
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ex9npROVBrV/Qizviz0Lfv4iZLNABT/QpMMo3O97iRDUrBtnm0aDhN8S5/INArKX/pUHnCvV/5CvFi1YOnHZJfyzKQ2HlX8YDp3eFirXon+BVp7mOBWfRkr/L8aUufse6+7KKX4d4rMaD4bNi0WzOL+wcTieu3oPJjF4WlrsPz5yH7O1p01NwpSxMp9En6vDhLJVQm1UI4eKXDlty4jgwMUTLaiUw7BL/lSU5LjQFEJN4AfRlrSn5WPQfiHF3ENDxxFgEO/tETWKllEYIsbe4exVnHojy5IZH2RoxclXUECQ95o9jVJrIc20kcOqbTAoephgg2Wm736uSHZ7zBn0pfoExlJETXGaecWd43lihOnTYFYZ3lj8s1n5tkZbLOkc2bi0okwWRXluRY146rDRk3R+EOIMpmcE+ImXDyzHwOljz9XzOBq7tR8iw1KOiHH9K6HoT1Sny/+Whl0KdWE9Kb2A1ccfyswoAUiYmZ1u8JEiNle0R/sx8+pCNfdtQDwmvOC4yKh1wi5q3Zcou4/FmU0ofgSsRyNvF4/hqG87qtzZ/hBYnKElCiGa9sVnbe6ILteiXJ1BSOwrxSxWPEb6G/N8CEDZTRJfvYn74bQoCXqr8trtmfajQOtQgLNfPru6YuVu2TF7BFD8uTSDt6gy8w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(136003)(39860400002)(396003)(366004)(346002)(376002)(451199018)(83380400001)(54906003)(316002)(478600001)(86362001)(31696002)(38100700002)(2616005)(26005)(186003)(6486002)(53546011)(4326008)(4744005)(2906002)(6916009)(66946007)(8676002)(66556008)(66476007)(6506007)(31686004)(6512007)(36756003)(41300700001)(8936002)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TlN6ei9Dclh6cXBLWUNjNEF1dFpsdDRFZEVEVEJpRVNiNmRONUlkNHNYWWJO?=
 =?utf-8?B?QU8xN0FRdjZhWE1DVHJsY0dZUnl3dE9aUEZhQTU0VXVud3p2NVZIMDJPZWVJ?=
 =?utf-8?B?T0t3OGsyazJBWUtld2h5M004YXlUd2JRRVBHZmhydnk5Tm1sd2NBRDd5RXVl?=
 =?utf-8?B?ZitTM2xod2IwQjBXTUI1Y1JQYU5qbGZOUzVHVGl1N0M0emJsNXJ5c2JnVEJp?=
 =?utf-8?B?Tlg2b1J3NEdsSklCQ2grdDhVM1BsRnFTcnR2My8zWjlxOFlIOTV0WS9NbVVC?=
 =?utf-8?B?Vk9JUW9WeUhyVU5ENUd3S214ZjZKRnFBdDF4Ykh4YWRLajFRTHVYMUtCanZn?=
 =?utf-8?B?dWo1OW8wc3F3Ym5zSjlBSVUxQ1FERi9qYnloZFBVYm1VeVBkV2M4Q1RyTzNH?=
 =?utf-8?B?ZUl6eTBsbGp1TVFkMWVtUUJHUFd2cCtPL2JSRXRLUS81ajVaYzlUSUluQWE0?=
 =?utf-8?B?eXhLQVR4L2xURjlqYWZXU2JiQlh3YkJ6UjJ1S1pDRlpTVFBOd2srK2ZqSlBO?=
 =?utf-8?B?QXJJcURSbldOQUt1MFdEVEZuQzVjUVc5WnVmZTJxelVRdlpsWm1pVXRkKy80?=
 =?utf-8?B?bGZJQjFRRXJib1ZrdElqRTBrditNWklkVVZGUys0YmsxTUxPT0N1cVNtd1Bm?=
 =?utf-8?B?aFRFcHBDUjA2RFljRjB2ekpNMkxmZllnbExnYXFhcDllTyt0TjFVVFpqZXdV?=
 =?utf-8?B?NUlZbGgvRDVEK2VtU3J0WnoxeENXdXF6L1NLYUp5b09KRFRDcjhkV1N3NjU1?=
 =?utf-8?B?WS9JQWF3Z01yVnZxSkFKNjVCdzZDRVJqYm9HSlhDeFE0NGUxUFFPbjZVZFRn?=
 =?utf-8?B?QmovSGxJMGVXTFI0TXpEaG1TVmwxZnFPVVBhVy9ycjJQQVE4V0tIRWJEKzFX?=
 =?utf-8?B?YzZHOUZmWE1yRkw2Tlc1MTYwUHQ3eitFcEg5K3FQSHRRMlNRRklnNkIyRVpr?=
 =?utf-8?B?bnR0TVhvT0MvVEdaQnR5V01BZXFPcXNaY1hZQjEzdTZ3WC90K2xLL012Nm9s?=
 =?utf-8?B?SklxWjRZcWxXTWxkNkpZeWNRT2NJUEh0WjhuNFptWk93S3Z2ZjBDSkZaN2lQ?=
 =?utf-8?B?c3R0dUEvQVQrWEp6Ui82Q1pHcUgvcjdIRXJmdDQrU2tydTM1cnJZNkV0VjVD?=
 =?utf-8?B?bG1VQVdFRldrdCtkb1lJdGM5ZGRqRTV3bldERCt6cGVnVGVwTzN0bnNheVhV?=
 =?utf-8?B?Mks0dU81NDZZeWhpM004eUVDVjAxbEdDWlNncG9CTGduR0hKOTk0bXJHYkJC?=
 =?utf-8?B?ZTl0WkRGUWhlVGRQd0p0NHRFbFY2ODlvSUdRa2diVjhXbVVjSkxTS3hoYjRj?=
 =?utf-8?B?cjBiL0tILzFGMi80Ulg5TVJQdUNKVXhBRW1GUWQ0c0k5bWxlbzlCWXkvNzBl?=
 =?utf-8?B?OThwRnYwaGpjM2ZyTkJCT0lxMldNOGFNVGF4TXluTEUxdWd2M29vZmxGbUlL?=
 =?utf-8?B?c1BFTk9WS2oyVFNxOERXbWFMcVEvejdPZGF4dnlLZEhMQVF6SWJPLy8rakZn?=
 =?utf-8?B?b3k1NTBiZGNGT3d6YUFOVGRFR3pWeDJEWERYK1Q0K3EvdzNqWlp4dElYRWFK?=
 =?utf-8?B?MXJ5ZkplVU9vSDN0aXhNN0hSWTZqTTM4Qnl3UXMydkZmKzVGQUFiSzMwbEtH?=
 =?utf-8?B?MENBcGYxMHV5ZURzVW8zZDhhbFkyZTBhMFFNaS9tZUdTREdZc3kxUEZ3dzRI?=
 =?utf-8?B?eEZQQktlY3JjZk96WXdkQzBKK0tXSG4yZnlEWENxUjlnaHlqYS91azhFSUdQ?=
 =?utf-8?B?UFVvaDRobjBBamQ3NEdJZlMxd0JNZC8zTnRqWEFmRWRPUFlTcW4wc1JlMUlD?=
 =?utf-8?B?b3NwZVFHQWtkalp5aUsvQkZKUVF4WERnMkNvOXZWZTd0a20zOHlySzBNeThN?=
 =?utf-8?B?M0hjbkdtT3pBSWZYU1FuSWYvMjdrWk1vSS8yYkNEZXlHdGxUWnRpazRlY28y?=
 =?utf-8?B?c3hUUVN2VURqdERMWjZzRmowcTJrVDhDU2RoZE9uNTBmVmxzVnBsM0FIejlr?=
 =?utf-8?B?SDIyb1ZaaXBIa3NIQTlNTklhMVJJMGxSTFpsdWNuQTJSN3dtamtOZkxwZks0?=
 =?utf-8?B?UkpMTmJoNUV2bTVsSlQ3ZnIvUzFubkFEQVZOWjBHcWtjYlBSZE9kc3BZb2N5?=
 =?utf-8?Q?/+UqpV/MnQtG9Fv6HAnvgyh74?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5390ceec-7838-4e6d-f621-08db2c415a31
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 08:25:40.2652
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ux6wSpBLVzu57xs175hbEq0uF3uMpL7vU4JV8gOIT4sM+TgGxjTfh4GCTBz/AzmwXdSnJBDqkSPxefhspSuqJw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7971

On 23.03.2023 23:01, Andrew Cooper wrote:
> Partly for clarity because there is a lot of subtle magic at work here.
> Expand the commentary of what's going on.
> 
> Also because there is no need to double copy the stack (32kB).  Spilled
> content does need accounting for, but this be sorted by only copying only a
> handful of words.
> 
> No practical change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Fri Mar 24 08:34:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 08:34:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514213.796258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfcsL-0007iA-KH; Fri, 24 Mar 2023 08:34:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514213.796258; Fri, 24 Mar 2023 08: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 1pfcsL-0007i3-HE; Fri, 24 Mar 2023 08:34:17 +0000
Received: by outflank-mailman (input) for mailman id 514213;
 Fri, 24 Mar 2023 08: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=jsbp=7Q=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfcsK-0007hx-2O
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 08:34:16 +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 a895a44a-ca1e-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 09:34: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 27995219E8;
 Fri, 24 Mar 2023 08:34: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 02E07133E5;
 Fri, 24 Mar 2023 08:34:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id MQ6LOoVgHWTgfwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 24 Mar 2023 08: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: a895a44a-ca1e-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679646854; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=9sTey4jBFubwjfyO6oW4RFjhMsehsllOxdCR5NIyZmw=;
	b=JqnSLgeb6oyTwvgzlkuIqOyWzq0iCfE+mpXF+YbVs+1ibsB1iB8V73vlnwL2Ibm9lY0YX6
	VtRirzJp9ifm4wjWYZ47okjDBeqlDJjWt6DjZolJKVuoxGfEe/8L6z2p+07K9B8dFeBhRg
	a0G8FnDOaDFdbaOqjKkoPnRbsdjlqPk=
Message-ID: <731e6a57-df37-6dc8-d1cd-29f3afcb79f8@suse.com>
Date: Fri, 24 Mar 2023 09:34:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [adhoc test] 179901: regressions - trouble:
 blocked/broken/fail/pass
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: aperard@xenbits.xen.org, anthony.perard@citrix.com,
 xen-devel@lists.xenproject.org
References: <E1pfV8U-0006eX-2p@osstest.test-lab.xenproject.org>
 <0b1181a1-5a96-b3e8-ffd8-6f256ebbceae@suse.com>
 <145d84a7-b3dd-f578-3c8b-10a5aba53491@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <145d84a7-b3dd-f578-3c8b-10a5aba53491@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------RzQFxsLLkffADENs16OaXZst"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------RzQFxsLLkffADENs16OaXZst
Content-Type: multipart/mixed; boundary="------------1J3oQdIzMz90ZJkubcxiUU31";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: aperard@xenbits.xen.org, anthony.perard@citrix.com,
 xen-devel@lists.xenproject.org
Message-ID: <731e6a57-df37-6dc8-d1cd-29f3afcb79f8@suse.com>
Subject: Re: [adhoc test] 179901: regressions - trouble:
 blocked/broken/fail/pass
References: <E1pfV8U-0006eX-2p@osstest.test-lab.xenproject.org>
 <0b1181a1-5a96-b3e8-ffd8-6f256ebbceae@suse.com>
 <145d84a7-b3dd-f578-3c8b-10a5aba53491@suse.com>
In-Reply-To: <145d84a7-b3dd-f578-3c8b-10a5aba53491@suse.com>

--------------1J3oQdIzMz90ZJkubcxiUU31
Content-Type: multipart/mixed; boundary="------------WJ16Hkbu2yWgHmZoRUUambCr"

--------------WJ16Hkbu2yWgHmZoRUUambCr
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDMuMjMgMDg6NDYsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNC4wMy4yMDIz
IDA4OjA3LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjQuMDMuMjMgMDE6MTgsIGFw
ZXJhcmRAeGVuYml0cy54ZW4ub3JnIHdyb3RlOg0KPj4+IFthZGhvYyBwbGF5XSA8b3NzdGVz
dCBtYXN0ZXIgL2Rldi9wdHMvMTY+DQo+Pj4gaGFybmVzcyBlZDFkOGRlNDogUERVL0lQTUk6
IEJlIGxlc3MgYWdncmVzc2l2ZSB3aXRoIElQTUkgY29tbWFuZHMNCj4+PiAxNzk5MDE6IHJl
Z3Jlc3Npb25zIC0gdHJvdWJsZTogYmxvY2tlZC9icm9rZW4vZmFpbC9wYXNzDQo+Pj4NCj4+
PiBmbGlnaHQgMTc5OTAxIGxpbnV4LWxpbnVzIHBsYXkgW3BsYXldDQo+Pj4gaHR0cDovL2xv
Z3MudGVzdC1sYWIueGVucHJvamVjdC5vcmcvb3NzdGVzdC9sb2dzLzE3OTkwMS8NCj4+Pg0K
Pj4+IFJlZ3Jlc3Npb25zIDotKA0KPj4NCj4+IEl0IHNlZW1zIHRoZSBncmFudCBjb3B5IGZh
aWx1cmVzIGFyZSBnb25lLCBidXQgdGhlIHRlc3RzIGFyZSBzdGlsbCBmYWlsaW5nLg0KPj4N
Cj4+IEkgaGF2ZSBzcG90dGVkOg0KPj4NCj4+IFsgICAxOC4yNTgwMzBdIG5ldCBldGgwOiBS
ZXNwb25zZSBmb3IgaW5hY3RpdmUgcmVxdWVzdA0KPj4gWyAgIDE4LjI1ODA4MF0gbmV0IGV0
aDA6IERpc2FibGVkIGZvciBmdXJ0aGVyIHVzZQ0KPj4NCj4+IGluDQo+PiBodHRwOi8vbG9n
cy50ZXN0LWxhYi54ZW5wcm9qZWN0Lm9yZy9vc3N0ZXN0L2xvZ3MvMTc5OTAxL3Rlc3QtYW1k
NjQtYW1kNjQteGwvZWxibGluZzEtLS12YXItbG9nLXhlbi1jb25zb2xlLWd1ZXN0LWRlYmlh
bi5ndWVzdC5vc3N0ZXN0LmxvZw0KPj4NCj4+IFRoaXMgaXMgY2xlYXJseSBhbiBleHBsYW5h
dGlvbiBmb3IgdGhlIGZhaWxlZCB0ZXN0cy4gSSdtIGxvb2tpbmcgaW50byBpdC4NCj4gDQo+
IFJpZ2h0IC0geGVudmlmX3R4X2NoZWNrX2dvcCgpIG5vdyBzZW5kcyB0d28gcmVzcG9uc2Vz
IGZvciB0aGUgc3BsaXQgY29weS4NCg0KWWVzLiBJJ20ganVzdCBmaWd1cmluZyBvdXQgaG93
IHRvIGtlZXAgdHJhY2sgb2YgdGhlIHJlbGF0aW9uIGNvcHlfb3AgYW5kIHBlbmRpbmcNCnJl
cXVlc3QuIEkgY2FuJ3QganVzdCBkb3VibGUgdGhlIGNvcHlfcGVuZGluZ19pZHhbXSBhcnJh
eSBzaXplLCBhcyB0aGlzIHdvdWxkDQpncm93IHRoZSBzdHJ1Y3QgYWJvdmUgdGhlIGFsbG93
ZWQgc2l6ZSBvZiA0OCBieXRlcy4NCg0KDQpKdWVyZ2VuDQo=
--------------WJ16Hkbu2yWgHmZoRUUambCr
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-----

--------------WJ16Hkbu2yWgHmZoRUUambCr--

--------------1J3oQdIzMz90ZJkubcxiUU31--

--------------RzQFxsLLkffADENs16OaXZst
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQdYIUFAwAAAAAACgkQsN6d1ii/Ey8L
nAf/XjlODbCpthKjt4R4PwbgHTdrQR2nGzH5X5Y0BKzBmEvpRa7k2cXHVockQJ8b5x97mhR94K+8
+OfpIRVOC6xODc1H07EQJkWSZZahWOqW7UORg2ETHLDXkyVXYzZx+OfGB9cIxs9VGwx6KSlDEQI3
YsFPd1ZPi9eZ0kmwhWdHx0Fz+HoGlnXuedBCMVgbNqh/QW7P/rRo7bRaeBjD+cayhfDSXdkdvfuA
itOzTJGaC6Czk4joCLHRerQn3xRfhEuTsn7pd4xIW3tw5Sqt4BJVjxEoe7Gy7bBlwwiG1qV4EGUA
qUBiwlfW1YwEgboYVd/gr241VAtdctsF1T3ngkofXg==
=JdwF
-----END PGP SIGNATURE-----

--------------RzQFxsLLkffADENs16OaXZst--


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 09:00:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 09:00:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514222.796269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfdHX-0003dB-Ox; Fri, 24 Mar 2023 09:00:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514222.796269; Fri, 24 Mar 2023 09: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 1pfdHX-0003d4-L4; Fri, 24 Mar 2023 09:00:19 +0000
Received: by outflank-mailman (input) for mailman id 514222;
 Fri, 24 Mar 2023 09:00: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=Fvgu=7Q=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pfdHV-0003cs-Px
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 09:00: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 4b6139fe-ca22-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 10:00:16 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 j18-20020a05600c1c1200b003ee5157346cso2689728wms.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Mar 2023 02:00:16 -0700 (PDT)
Received: from [192.168.69.115] ([176.176.152.149])
 by smtp.gmail.com with ESMTPSA id
 n20-20020a7bc5d4000000b003ee10fb56ebsm4302953wmk.9.2023.03.24.02.00.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Mar 2023 02:00:15 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b6139fe-ca22-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1679648415;
        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=5xxjybCBQ7FBka5nE6E8+uHXCIz/6b/SCGTHJfPcbCM=;
        b=a1FBd8hdYt0yM0X/QMw5JK93/6fmZkvcvOaCpGAhllGD9kZY3ocWprh/fBfy2T2rod
         YkjH4UdxH2uedUuCvo+EkF57N3c7HVf3QBOceSd07Mza5R+OpESBolPUbeS2d8fEsBnh
         OQSDXwfd2956PoRvrlESlWmo04/2c61Xl/bDa7ICS7G31P3ZvNNxX5D0+ZOcZrZ5tdVJ
         2S9NsPv6/2vlegpFew239TZL4Ndvj2ZSLHjydzAhHLKc0SUYXBptCAACw1ytjJlvXLD2
         ngcfW35TYBHM51xRfg++jvURD69Dmc0jU2GT+32k16t0vBRoghLroNVWI9Q6WKBRZRnc
         Sc/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679648415;
        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=5xxjybCBQ7FBka5nE6E8+uHXCIz/6b/SCGTHJfPcbCM=;
        b=bKSFWqgxrUg2bueA9SzlTrAh+24Dvc774e0YenJi2PjbWJVbOevatmQ2510ISDdNeu
         N++aTyYxK00gVQa3Weg/uh+nGzAlwPa80kiaE3QFi+5jP/KAseGS9rmUDCATlj2X+rDO
         SxMMCTfDqDC3ePAZD/LLtRLERC5BNXSKmWj4w2+S+76HnM72+yYVWiaYcSjFsyv1YPYa
         J78OqNBSL4OyQbR97UlTabJYiAfowNZhd/aTn7H0sFSDpx5DNugbHhaFCmg4J6Hq3DVg
         3+bXLTjGz7/lUMncHVhsPixetZo3PiM0qibtT0LkTxYRxr8L6SzdETLJ6cflOb37FNDY
         tD7w==
X-Gm-Message-State: AO0yUKWplsAZp8cBwipf9Rqbaxy5iP5JnVKe467HKG22iD3KhcFDKFMF
	RGhZSPPSzKy18hdyCICE3csRFw==
X-Google-Smtp-Source: AK7set/G+BrnIBHzdKAcJLIchyTJ1+8LJ+VqEzbQ4F0KmkhucSNebeQVHkqJ+K4tuv21EwA1IHVe7Q==
X-Received: by 2002:a7b:c459:0:b0:3eb:a4e:a2b2 with SMTP id l25-20020a7bc459000000b003eb0a4ea2b2mr1815337wmi.4.1679648415689;
        Fri, 24 Mar 2023 02:00:15 -0700 (PDT)
Message-ID: <78a9e002-ba18-c580-fe89-46f5653ea49d@linaro.org>
Date: Fri, 24 Mar 2023 10:00:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v7 3/6] PCI: Allow pci_bus_for_each_resource() to take
 less arguments
Content-Language: en-US
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
 =?UTF-8?Q?Micka=c3=abl_Sala=c3=bcn?= <mic@digikod.net>,
 Mika Westerberg <mika.westerberg@linux.intel.com>,
 =?UTF-8?Q?Krzysztof_Wilczy=c5=84ski?= <kw@linux.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Randy Dunlap <rdunlap@infradead.org>,
 Arnd Bergmann <arnd@arndb.de>, Niklas Schnelle <schnelle@linux.ibm.com>,
 Bjorn Helgaas <helgaas@kernel.org>,
 "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
 =?UTF-8?Q?Pali_Roh=c3=a1r?= <pali@kernel.org>,
 "Maciej W. Rozycki" <macro@orcam.me.uk>, Juergen Gross <jgross@suse.com>,
 Dominik Brodowski <linux@dominikbrodowski.net>,
 linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
 linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
 linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
 sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 Ivan Kokshaysky <ink@jurassic.park.msu.ru>, Matt Turner
 <mattst88@gmail.com>, Russell King <linux@armlinux.org.uk>,
 Andrew Lunn <andrew@lunn.ch>,
 Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
 Gregory Clement <gregory.clement@bootlin.com>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Anatolij Gustschin <agust@denx.de>,
 Yoshinori Sato <ysato@users.sourceforge.jp>, Rich Felker <dalias@libc.org>,
 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
 "David S. Miller" <davem@davemloft.net>, Bjorn Helgaas
 <bhelgaas@google.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
 <20230323173610.60442-4-andriy.shevchenko@linux.intel.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230323173610.60442-4-andriy.shevchenko@linux.intel.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 23/3/23 18:36, Andy Shevchenko wrote:
> Refactor pci_bus_for_each_resource() in the same way as it's done in
> pci_dev_for_each_resource() case. This will allow to hide iterator
> inside the loop, where it's not used otherwise.
> 
> No functional changes intended.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
> ---
>   drivers/pci/bus.c                  |  7 +++----
>   drivers/pci/hotplug/shpchp_sysfs.c |  8 ++++----
>   drivers/pci/pci.c                  |  3 +--
>   drivers/pci/probe.c                |  2 +-
>   drivers/pci/setup-bus.c            | 10 ++++------
>   include/linux/pci.h                | 17 +++++++++++++----
>   6 files changed, 26 insertions(+), 21 deletions(-)

Nice.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 09:02:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 09:02:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514227.796279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfdJX-0004BC-4H; Fri, 24 Mar 2023 09:02:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514227.796279; Fri, 24 Mar 2023 09: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 1pfdJX-0004B5-1O; Fri, 24 Mar 2023 09:02:23 +0000
Received: by outflank-mailman (input) for mailman id 514227;
 Fri, 24 Mar 2023 09: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=Fvgu=7Q=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pfdJW-0004Az-Jk
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 09:02:22 +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 957cf233-ca22-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 10:02:20 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id h17so980947wrt.8
 for <xen-devel@lists.xenproject.org>; Fri, 24 Mar 2023 02:02:20 -0700 (PDT)
Received: from [192.168.69.115] ([176.176.152.149])
 by smtp.gmail.com with ESMTPSA id
 t6-20020adff606000000b002d828a9f9ddsm9869841wrp.115.2023.03.24.02.02.16
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Mar 2023 02:02:19 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 957cf233-ca22-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1679648540;
        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=n243IrPXTdbsIKu5fMm4CD6r1EOzF5PeneoBpB/y4a4=;
        b=WdoFuibSoYq7PItUra7h1o7dNN+dLoO5akaOdiXzNB0GAE6fZrgXjLHEQ59DSfNlbF
         cgR9upm2UnMKp/K2iMTwYQO21eNLlcZA3VTjTQNcOKl6oB0YptTJSukTiMpZuSldqpht
         hT88zEf4E+gJCKG8bgBmZ3XtNmerD2XLEjORhA0Q/BXrUscdTef1dpRx9JDa6Bv504ko
         b2kwoYvEBcdXwhSFs2mCJx6XhNHoIVhKWvY4ugN0Krhnhx9JD7Gr1ZRwtzNsp6GxXu5W
         oQsFCmuvbtw0zcJ+Dg4t9K3RUmnMmVMxySl96IxGJYoNSUSPaDNY3cwVaR2TYMM/uF88
         /2CQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679648540;
        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=n243IrPXTdbsIKu5fMm4CD6r1EOzF5PeneoBpB/y4a4=;
        b=WoqJLIpyFUkcnnuhbk8h6z7dQBl8ush/i4pOg4f9zX837K2/Evz7+073j5t4TRHEiJ
         g7MqO0zjQxAazYmTWj0kbxmMq8YbvuaDMqsvWU4/VhjaC1rvfIv+jZJDsa5hT1/tUmOL
         cIRyR3hM/R4V82Xwq+nKD9/h/YXYgaLZhJ+ITMJjpc2bd7kPrYUav+7ndaScQpaaRssi
         AhJMGfViS7tzEyn+3EFrdKkZrl+tm60WNPLCdRyQYa7baPPJcP6l/+fzLlDp59arma7h
         eOsj4KRSifS98j1EHUFIKKHxCNHz5aQK/twiZmlSoXC1+DQ8d5OCn1995aB99bJ86MFX
         Yt8A==
X-Gm-Message-State: AAQBX9euAbFlUfj4tqq6anlGelLPEx39KOC3e625FT4e0YVvKXGWIzpC
	q+AzRY3ohQlhtFtxVAV6NaGChQ==
X-Google-Smtp-Source: AKy350aF129LEbgPcrIERVDHzRV5kt9ClGRmiJzKHj2gDZXa1XzF6XQWfa0OQK6y0J9EwCOi2YJQVA==
X-Received: by 2002:a05:6000:1192:b0:2c7:17a4:4ece with SMTP id g18-20020a056000119200b002c717a44ecemr1496737wrx.26.1679648540094;
        Fri, 24 Mar 2023 02:02:20 -0700 (PDT)
Message-ID: <43e7ef6d-6248-4ee5-7144-70809e5c93e0@linaro.org>
Date: Fri, 24 Mar 2023 10:02:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v7 4/6] EISA: Convert to use less arguments in
 pci_bus_for_each_resource()
Content-Language: en-US
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
 =?UTF-8?Q?Micka=c3=abl_Sala=c3=bcn?= <mic@digikod.net>,
 Mika Westerberg <mika.westerberg@linux.intel.com>,
 =?UTF-8?Q?Krzysztof_Wilczy=c5=84ski?= <kw@linux.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Randy Dunlap <rdunlap@infradead.org>,
 Arnd Bergmann <arnd@arndb.de>, Niklas Schnelle <schnelle@linux.ibm.com>,
 Bjorn Helgaas <helgaas@kernel.org>,
 "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
 =?UTF-8?Q?Pali_Roh=c3=a1r?= <pali@kernel.org>,
 "Maciej W. Rozycki" <macro@orcam.me.uk>, Juergen Gross <jgross@suse.com>,
 Dominik Brodowski <linux@dominikbrodowski.net>,
 linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
 linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
 linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
 sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 Ivan Kokshaysky <ink@jurassic.park.msu.ru>, Matt Turner
 <mattst88@gmail.com>, Russell King <linux@armlinux.org.uk>,
 Andrew Lunn <andrew@lunn.ch>,
 Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
 Gregory Clement <gregory.clement@bootlin.com>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Anatolij Gustschin <agust@denx.de>,
 Yoshinori Sato <ysato@users.sourceforge.jp>, Rich Felker <dalias@libc.org>,
 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
 "David S. Miller" <davem@davemloft.net>, Bjorn Helgaas
 <bhelgaas@google.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
 <20230323173610.60442-5-andriy.shevchenko@linux.intel.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230323173610.60442-5-andriy.shevchenko@linux.intel.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 23/3/23 18:36, Andy Shevchenko wrote:
> The pci_bus_for_each_resource() can hide the iterator loop since
> it may be not used otherwise. With this, we may drop that iterator
> variable definition.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
> ---
>   drivers/eisa/pci_eisa.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/eisa/pci_eisa.c b/drivers/eisa/pci_eisa.c

Since this is *PCI* EISA, could be squashed into previous patch.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 09:08:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 09:08:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514232.796288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfdPj-0004tA-Vn; Fri, 24 Mar 2023 09:08:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514232.796288; Fri, 24 Mar 2023 09:08: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 1pfdPj-0004t3-Sy; Fri, 24 Mar 2023 09:08:47 +0000
Received: by outflank-mailman (input) for mailman id 514232;
 Fri, 24 Mar 2023 09:08: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=Fvgu=7Q=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1pfdPi-0004sx-Ro
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 09:08:46 +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 7a9cdd1c-ca23-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 10:08:45 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 l15-20020a05600c4f0f00b003ed58a9a15eso499041wmq.5
 for <xen-devel@lists.xenproject.org>; Fri, 24 Mar 2023 02:08:44 -0700 (PDT)
Received: from [192.168.69.115] ([176.176.152.149])
 by smtp.gmail.com with ESMTPSA id
 z5-20020a7bc7c5000000b003ee1b2ab9a0sm4306039wmk.11.2023.03.24.02.08.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Mar 2023 02:08: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: 7a9cdd1c-ca23-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1679648924;
        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=Tl24kxujrDRhD/Pw1VxqIQuGTyFCOtjGuHoJAXogeUQ=;
        b=KF7vhgGUy9iSCVz/2JMV95cnXXiwuET9tU7Rc7Ha4nCWlEtjrRR52AkRL3JFzV31N8
         FvBvjTemrQpnvLLevT/7WRHrnq6vQTjJaal/zyxaU9lnhkPgeE4ZxxrwnrSeYP5XXpBc
         4V7jndgKaulVRlh2NX+8aC2vQ132DHHauBUvo9d076iWPZ097+573LyCG57UyqnF/weQ
         Wl0cANOGoKc/C+uNjEJ93bVBXPTZ7IkGYmTVHGwGkHxXXK4MlPEb6KAWoXYRQNmd8+4H
         wQFnUqtZsqyWz/Sra/sxWYXnULQ6q5z/LE5eyV19WnrETSaXYW26jzEB3xzi7XfnA3JF
         5cvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679648924;
        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=Tl24kxujrDRhD/Pw1VxqIQuGTyFCOtjGuHoJAXogeUQ=;
        b=hjMxlPbPK9YEp8/MsFqH4jHzxVZJj3jQh1oKZ/3eIh5PPVOr9yynDL7kQQ2W/SJQDw
         B9yAOW4pNHQH1kCV6+ke0+tMnE6FnoUp1pxACquLeMZyTUu183CxN5tME5n7x/v+av+i
         3X5rlEF2Pcq2gfoQc0USYsS9WSQ+jzi6qbOvLKzLk9j0UVMxuOgh7Gy8el+ueufuMItG
         xxfE0JFkwfrzXOlUGYI1eA9Ej9ZVt5aG6nwcZLCj34DnoEHEKOHljDQSsqD8WK33KtPF
         LS8ygynJ3bBCIetNdI38D9+tWKtCilG0sSdM9grWN/f4YBnqhiqg5i9nblkSkuLn3V/X
         9+RA==
X-Gm-Message-State: AO0yUKUtEXvKxRsODAFNXv+RIY0zU+95FQebGPlYx1mDe7A1kl7hATg7
	97fx/6DbAVo3xLE8YDHEBdrnxQ==
X-Google-Smtp-Source: AK7set/vvjAUaOTR5nW6O5SRtNoHqTNaeTjKsckBwHxq1C38GOKprexc3eF5NaIoYwtOC0bG/ZduEw==
X-Received: by 2002:a05:600c:c4:b0:3ed:b048:73f4 with SMTP id u4-20020a05600c00c400b003edb04873f4mr1903820wmm.5.1679648924434;
        Fri, 24 Mar 2023 02:08:44 -0700 (PDT)
Message-ID: <1722e75c-bc06-4a34-5e12-fa3622ed86a3@linaro.org>
Date: Fri, 24 Mar 2023 10:08:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v7 6/6] PCI: Make use of pci_resource_n()
Content-Language: en-US
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
 =?UTF-8?Q?Micka=c3=abl_Sala=c3=bcn?= <mic@digikod.net>,
 Mika Westerberg <mika.westerberg@linux.intel.com>,
 =?UTF-8?Q?Krzysztof_Wilczy=c5=84ski?= <kw@linux.com>,
 Michael Ellerman <mpe@ellerman.id.au>, Randy Dunlap <rdunlap@infradead.org>,
 Arnd Bergmann <arnd@arndb.de>, Niklas Schnelle <schnelle@linux.ibm.com>,
 Bjorn Helgaas <helgaas@kernel.org>,
 "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
 =?UTF-8?Q?Pali_Roh=c3=a1r?= <pali@kernel.org>,
 "Maciej W. Rozycki" <macro@orcam.me.uk>, Juergen Gross <jgross@suse.com>,
 Dominik Brodowski <linux@dominikbrodowski.net>,
 linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
 linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
 linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
 sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 Ivan Kokshaysky <ink@jurassic.park.msu.ru>, Matt Turner
 <mattst88@gmail.com>, Russell King <linux@armlinux.org.uk>,
 Andrew Lunn <andrew@lunn.ch>,
 Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
 Gregory Clement <gregory.clement@bootlin.com>,
 Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
 Nicholas Piggin <npiggin@gmail.com>,
 Christophe Leroy <christophe.leroy@csgroup.eu>,
 Anatolij Gustschin <agust@denx.de>,
 Yoshinori Sato <ysato@users.sourceforge.jp>, Rich Felker <dalias@libc.org>,
 John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
 "David S. Miller" <davem@davemloft.net>, Bjorn Helgaas
 <bhelgaas@google.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
References: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
 <20230323173610.60442-7-andriy.shevchenko@linux.intel.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=c3=a9?= <philmd@linaro.org>
In-Reply-To: <20230323173610.60442-7-andriy.shevchenko@linux.intel.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 23/3/23 18:36, Andy Shevchenko wrote:
> Replace open-coded implementations of pci_resource_n() in pci.h.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>   include/linux/pci.h | 14 ++++++--------
>   1 file changed, 6 insertions(+), 8 deletions(-)
> 
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 70a4684d5f26..9539cf63fe5e 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -2006,14 +2006,12 @@ int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma);
>    * for accessing popular PCI BAR info
>    */
>   #define pci_resource_n(dev, bar)	(&(dev)->resource[(bar)])
> -#define pci_resource_start(dev, bar)	((dev)->resource[(bar)].start)
> -#define pci_resource_end(dev, bar)	((dev)->resource[(bar)].end)
> -#define pci_resource_flags(dev, bar)	((dev)->resource[(bar)].flags)
> -#define pci_resource_len(dev,bar) \
> -	((pci_resource_end((dev), (bar)) == 0) ? 0 :	\
> -							\
> -	 (pci_resource_end((dev), (bar)) -		\
> -	  pci_resource_start((dev), (bar)) + 1))
> +#define pci_resource_start(dev, bar)	(pci_resource_n(dev, bar)->start)
> +#define pci_resource_end(dev, bar)	(pci_resource_n(dev, bar)->end)
> +#define pci_resource_flags(dev, bar)	(pci_resource_n(dev, bar)->flags)
> +#define pci_resource_len(dev,bar)					\
> +	(pci_resource_end((dev), (bar)) ? 				\
> +	 resource_size(pci_resource_n((dev), (bar))) : 0)

Seems (to me) more logical to have this patch as "PCI: Introduce 
pci_resource_n()" ordered before your patch #2 "PCI: Introduce 
pci_dev_for_each_resource()".

Here as #6 or as #2:
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 09:20:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 09:20:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514238.796298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfdap-0007rI-WB; Fri, 24 Mar 2023 09:20:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514238.796298; Fri, 24 Mar 2023 09:20: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 1pfdap-0007rB-TW; Fri, 24 Mar 2023 09:20:15 +0000
Received: by outflank-mailman (input) for mailman id 514238;
 Fri, 24 Mar 2023 09:20: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=cJFJ=7Q=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pfdan-0007qJ-L1
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 09:20:14 +0000
Received: from mga07.intel.com (mga07.intel.com [134.134.136.100])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 120d2855-ca25-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 10:20:10 +0100 (CET)
Received: from fmsmga005.fm.intel.com ([10.253.24.32])
 by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 24 Mar 2023 02:20:07 -0700
Received: from smile.fi.intel.com ([10.237.72.54])
 by fmsmga005.fm.intel.com with ESMTP; 24 Mar 2023 02:19:57 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.96)
 (envelope-from <andriy.shevchenko@linux.intel.com>)
 id 1pfdaS-007qVe-2O; Fri, 24 Mar 2023 11:19:52 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 120d2855-ca25-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679649610; x=1711185610;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=vsNBrnwY/qFfdSufiaxoySiGuysdLC+OL9fxRmgKucY=;
  b=fXX3x3s4yWJtN696H1/D1LyrHQJg6fDrm0Ka41przf4apKLa45pRdNeq
   9JdYKbZzDD/SoiW5Efophn5PH9GudjPD8fbn7MXrXmlqYWrpkginE5Pa9
   FXOmfkZJzK3RdFhyo4BhWHXFdyZSI4yqnHjMLUpD2lhFoacM9osMqH1En
   YMk/jP3fEgV3RJ2AFF89kCLrPRUjzYiPDiSD9GzdNZFy+PKBZyGsAb/HK
   O14+g2gd7N5A550WnLFrQFUT7Dwo1G5LlR+kV3GfW5PxsDwZNk3+1T5wZ
   zHZ7BM0evxH0tFRKlpu3N/65DBsTQQznGVtVxNb0Vo4YOEhJssjmHth8G
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="404652759"
X-IronPort-AV: E=Sophos;i="5.98,287,1673942400"; 
   d="scan'208";a="404652759"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="1012189014"
X-IronPort-AV: E=Sophos;i="5.98,287,1673942400"; 
   d="scan'208";a="1012189014"
Date: Fri, 24 Mar 2023 11:19:52 +0200
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>
Cc: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH v7 4/6] EISA: Convert to use less arguments in
 pci_bus_for_each_resource()
Message-ID: <ZB1rOHt8pG+9Ti2V@smile.fi.intel.com>
References: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
 <20230323173610.60442-5-andriy.shevchenko@linux.intel.com>
 <43e7ef6d-6248-4ee5-7144-70809e5c93e0@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <43e7ef6d-6248-4ee5-7144-70809e5c93e0@linaro.org>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

On Fri, Mar 24, 2023 at 10:02:15AM +0100, Philippe Mathieu-Daudé wrote:
> On 23/3/23 18:36, Andy Shevchenko wrote:
> > The pci_bus_for_each_resource() can hide the iterator loop since
> > it may be not used otherwise. With this, we may drop that iterator
> > variable definition.
> > 
> > Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> > Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
> > ---
> >   drivers/eisa/pci_eisa.c | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/eisa/pci_eisa.c b/drivers/eisa/pci_eisa.c
> 
> Since this is *PCI* EISA, could be squashed into previous patch.

I believe it would be better to have them separated.
But if maintainers want to squash, I can do that.

> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Thank you!


-- 
With Best Regards,
Andy Shevchenko




From xen-devel-bounces@lists.xenproject.org Fri Mar 24 09:21:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 09:21:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514241.796309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfdbp-0008MY-Aj; Fri, 24 Mar 2023 09:21:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514241.796309; Fri, 24 Mar 2023 09: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 1pfdbp-0008MQ-6l; Fri, 24 Mar 2023 09:21:17 +0000
Received: by outflank-mailman (input) for mailman id 514241;
 Fri, 24 Mar 2023 09:21: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=cJFJ=7Q=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1pfdbn-0008Kv-Qo
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 09:21:15 +0000
Received: from mga17.intel.com (mga17.intel.com [192.55.52.151])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 37044cba-ca25-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 10:21:12 +0100 (CET)
Received: from fmsmga003.fm.intel.com ([10.253.24.29])
 by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 24 Mar 2023 02:21:09 -0700
Received: from smile.fi.intel.com ([10.237.72.54])
 by FMSMGA003.fm.intel.com with ESMTP; 24 Mar 2023 02:20:59 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.96)
 (envelope-from <andriy.shevchenko@linux.intel.com>)
 id 1pfdbS-007qWb-1l; Fri, 24 Mar 2023 11:20:54 +0200
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37044cba-ca25-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679649672; x=1711185672;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:content-transfer-encoding:in-reply-to;
  bh=Zv6p5PxBUIwRGR/FQTKCtRGfcJDPVTzeoNo7mhbkHhY=;
  b=kkS1m9xKVU2GnODj1/9mLnyNnexAw3CaqebsescHGUZuE5cWt/136+L9
   jXG2lTOaIpuEJUzsFUqXr90uI8pR/c0PPXK1H9l+5h5dNBzi1LgYgST9h
   +XYMYLBHkqIhZLKaOxdzgmz/Y8uCd1DOWoT2I7SvlncTK/iRZV33wEOaP
   Oaj1Sxma9eVc4/JK1MK40f8PBN/5CgaWnv0Om6ijkiCURSOnOY1H5lt3h
   yhbdqGD/uvaiLiCa5kzrI6souWLueOiH2PsAM/YmwxTLaemXjo5SMAq+3
   7hPLWV7hohsZroJpO/ylDkxt9cDqtKE8ncqgSdIJ65zvYqt5Whnzlppbe
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="320129729"
X-IronPort-AV: E=Sophos;i="5.98,287,1673942400"; 
   d="scan'208";a="320129729"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10658"; a="771814725"
X-IronPort-AV: E=Sophos;i="5.98,287,1673942400"; 
   d="scan'208";a="771814725"
Date: Fri, 24 Mar 2023 11:20:54 +0200
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>
Cc: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-acpi@vger.kernel.org,
	Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH v7 6/6] PCI: Make use of pci_resource_n()
Message-ID: <ZB1rdkOgwwSC2Pxf@smile.fi.intel.com>
References: <20230323173610.60442-1-andriy.shevchenko@linux.intel.com>
 <20230323173610.60442-7-andriy.shevchenko@linux.intel.com>
 <1722e75c-bc06-4a34-5e12-fa3622ed86a3@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1722e75c-bc06-4a34-5e12-fa3622ed86a3@linaro.org>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

On Fri, Mar 24, 2023 at 10:08:39AM +0100, Philippe Mathieu-Daud wrote:
> On 23/3/23 18:36, Andy Shevchenko wrote:
> > Replace open-coded implementations of pci_resource_n() in pci.h.

...

> >   #define pci_resource_n(dev, bar)	(&(dev)->resource[(bar)])
> > -#define pci_resource_start(dev, bar)	((dev)->resource[(bar)].start)
> > -#define pci_resource_end(dev, bar)	((dev)->resource[(bar)].end)
> > -#define pci_resource_flags(dev, bar)	((dev)->resource[(bar)].flags)
> > -#define pci_resource_len(dev,bar) \
> > -	((pci_resource_end((dev), (bar)) == 0) ? 0 :	\
> > -							\
> > -	 (pci_resource_end((dev), (bar)) -		\
> > -	  pci_resource_start((dev), (bar)) + 1))
> > +#define pci_resource_start(dev, bar)	(pci_resource_n(dev, bar)->start)
> > +#define pci_resource_end(dev, bar)	(pci_resource_n(dev, bar)->end)
> > +#define pci_resource_flags(dev, bar)	(pci_resource_n(dev, bar)->flags)
> > +#define pci_resource_len(dev,bar)					\
> > +	(pci_resource_end((dev), (bar)) ? 				\
> > +	 resource_size(pci_resource_n((dev), (bar))) : 0)
> 
> Seems (to me) more logical to have this patch as "PCI: Introduce
> pci_resource_n()" ordered before your patch #2 "PCI: Introduce
> pci_dev_for_each_resource()".

Either way works for me. Bjorn, what do you like?

> Here as #6 or as #2:
> Reviewed-by: Philippe Mathieu-Daud <philmd@linaro.org>

Thank you!

-- 
With Best Regards,
Andy Shevchenko




From xen-devel-bounces@lists.xenproject.org Fri Mar 24 09:32:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 09:32:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514245.796319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfdmM-0001qg-BL; Fri, 24 Mar 2023 09:32:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514245.796319; Fri, 24 Mar 2023 09: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 1pfdmM-0001qZ-7F; Fri, 24 Mar 2023 09:32:10 +0000
Received: by outflank-mailman (input) for mailman id 514245;
 Fri, 24 Mar 2023 09:32: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=n250=7Q=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pfdmL-0001qS-9A
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 09:32:09 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0627.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be336ab3-ca26-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 10:32:07 +0100 (CET)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7887.eurprd04.prod.outlook.com (2603:10a6:102:c9::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 09:32:04 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%5]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 09:32: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: be336ab3-ca26-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OkznySi0NABaabY4ddk84/iOGN5ByI9EmBFmq1O0fOT0kvt6MggfgicULO4zP8zGygGdpDqwCll8qRhT3BkOCuyqaUzsHJj+pbOkDWTocSxODfSHVB5jWGmF6HiigAxVzt0V0Jh9j1R2ixencqopAoyMw8L055+3RNvCx7cnwjl0IkEdiJwUDhYwjnGFUEzhM5M62WOemCuRAWg+qa6EXL5JLBTwzQBuHkduZvuiJFGuIQJ11IN96o2xLgdcvteHSTfx+XoJldcXFr5qgflB4wpZM16g692qTKsuJ8W3OO4wpmfU9khOlTnTobPk/GfbDihJDwbjPHgGp/ynNcHpKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/eb9zZBdVD9kLbjQiVzrnk6F6uIDZ0JTkaxciTQ9YVU=;
 b=Zl3IWdzP5ZwpxBzxnHzZRoDfW7Xls6/vYwDHxlJ1obWs6c+SXQokpNCL1GjczpcrDos/m7AgI9NpLx/U0hSr1E2kHDJYe7Ba8duHAnOGGrAAypvs5Tehsv9mP4YdikFiskjhdxkugoTeRljDNh+GPtRc+7iikuTf7/UkjrGqQ5ffAj94bdP2lXC5QcMGaU4TtjN49MUJRUAud99RBhqOkm1c42fayM6SrMGBZH83jgzRJjiBrxtd+WhoPiN2cZ7dpFD5Y/tgQV9vSE8x42/Rx1xerMRJdKPmdy/xHZAokyc955g1LJm4cFbZxf84ZgbZfeB7nFRHT8noP7alyS5m9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/eb9zZBdVD9kLbjQiVzrnk6F6uIDZ0JTkaxciTQ9YVU=;
 b=jx+J966NsqD4G9Aog1DyDEXY5Tb7B5Y11cBg9H1Gu6vB11CMAb2DZxe82/YqTuTMER3zLkxvwq1aT+AqpKt7J+Q5vL0XYc8S6Ca8qVTUnMTlKABbBwayNgBYy3HA8DrpNciOhZgkIdVDLvxcZsger4hNTYMYzfTaM6zGFVktQTkHmKX1SzER+PdZCjqDNdHnntksQAYmUNYLSinx4B6m0feObEyexoofLlSIwFXfkszMNVRgl8YyTPH8P7w4ZQy02kSFL7pTRbLoMtXLrJWNmljbr+RJBZosAeZ2XTSQCPzuWfrXoAXwyPHZ+0r1lzFfPQC3YzmAyHgucouBJICxfA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <18957f67-7afa-1327-6c31-ef38edac8211@suse.com>
Date: Fri, 24 Mar 2023 10:32:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH] x86/hvm: Improve hvm_set_guest_pat() code generation
 again
Content-Language: en-US
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Demi Marie Obenour <demi@invisiblethingslab.com>,
 Edwin Torok <edvin.torok@citrix.com>
References: <20220810133655.18040-1-andrew.cooper3@citrix.com>
 <74d0425a-a206-2bcb-50d6-e5bb4c5e2bf3@suse.com>
 <77198021-f45c-9d75-c1da-5022d3ca99a2@citrix.com>
 <1eff8db6-c358-9597-6096-0a1312d59712@suse.com>
 <6f59d2a4-fcb6-77a1-2cd4-51e032fc80f4@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6f59d2a4-fcb6-77a1-2cd4-51e032fc80f4@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0048.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7887:EE_
X-MS-Office365-Filtering-Correlation-Id: ef6575c1-9e83-4dd9-5d9c-08db2c4aa107
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FCTh1FWG5ck3wH9McNWV12nmbE8tTXvV5AJmhH9h1Cr+vwCyJTqmO78vOaTpwHL25TEhD4jb7K/yH1pdbcbO0vZ8u3hWv2o3RM1qtDwdRirsRcIHrDlvDufiaD1fcYt2U0YZhy4VFF2yJIHLIDbLIfoYTy7ey/ym5sXKEEYQvijva1kdBFfL6/jqMR456BLvb0UVCNXEgak2k58lEH3BVLmLI2otgs+P0XZsuqGwsvABtKpE3AwX4gpYk5SbI+Je+wr/VTwLLFt2LbwXkWqi1X7Y6Bs3QNqujddBUtxEaCWT6HAjQ959qwosBRYKjrVHk1wrrQK2rdyXQbVrWtIEAWTw7B8nzFmIwwk0dFIcLRrCl0rFg4jlNWgPAHzDP4QZMiblcKVjCkdciAraqj3e9ETuypEAnc+xNEYuqCB7J9gnOXqE29/gELfX1HdzaUuWFP5IoBXr2Qxyk4HdqSBhqgYJ5EGfTce+yKCgTx/Ot4+MPeqqeH+p1o6yUX5gGJTufiIUV4RVr2Yd7sSyoKJdTVmlQehif0Y/LgN3duWkPGfHYM9SuYUI9zdCC6zLMMShYvvEnEB7zNBBiW89O7eXrklIzD+m+k/skiYMGDy3KzInAJyTUCQ2OvnllbHMqehPRd3n11T6ShwX6AsCOuQZHQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(346002)(376002)(396003)(366004)(39860400002)(136003)(451199018)(31686004)(38100700002)(2906002)(83380400001)(6486002)(478600001)(186003)(2616005)(86362001)(31696002)(36756003)(54906003)(66556008)(8676002)(4326008)(66476007)(6916009)(66946007)(5660300002)(53546011)(8936002)(6506007)(26005)(6512007)(316002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MnN0RGF4MmozbzhBaWN2WUw3eGo5ekZWL1I5MityVExtWXA5YzI5K1NoNHlS?=
 =?utf-8?B?dzBOSXNOUVNkZlphbGtYYkZjY1lOL1p0cE9JMjdBSS9CN3BMdVhidGpISzIr?=
 =?utf-8?B?bEpySUlBc1VUaWIrb1JFVk1xV0ZqMTh6NHA2emI4VDBuanhRK2h3STg2Vkdp?=
 =?utf-8?B?WEVXdWM1RENidVBEK3hPWC9OTXpXVUsyem9Ea1FxYzRydlkwZWFkSHMxK0FO?=
 =?utf-8?B?RlA0ZGhPeG9mSC9DeUI0bUhDUmRiMm1SZGk1bWszTmF0cXlzbFd0NDlNKzRE?=
 =?utf-8?B?K2lwVXFnQzdSWXU4b2hkTE1sMzA0S1lhMWJTZURKWVdEOVFHN3ZER29wVS9I?=
 =?utf-8?B?alpQL20zbE9jZVJqWkV2blZQeXhTUlprZjMxQTVYOHh4QnAzd2tnNmxXenRQ?=
 =?utf-8?B?N0xmcnZwUlVsNUpSVXVCdTdxQytpZ0lwUThSV2tPcUMvaDRTN3N5dVhSZkUr?=
 =?utf-8?B?NTdFeDJ6bW13bzlwYmdTd3BQMFZnMmtxS3ZPNWg3RG56NWF3RzNNNWt1NTZa?=
 =?utf-8?B?ZWV0VHZGR0tZRW5nZmNWVmZhM0VHQklLWFBwWWtnL3E4NENwRkJ0aWxYTTJI?=
 =?utf-8?B?Z2l1NUxMTExFN1p4MUk0KzJlL21CVlAvVEJSYjBZcks0Q0dPenFkOFYxYmU3?=
 =?utf-8?B?UHd2RlpXVzZCaGZWL0JyQUdqQkVCNnNCd2RSWU5FT1oraTM1VE5lTERCVTE4?=
 =?utf-8?B?S3lkc0FHOGxBazRtOXB0QWNVSUFGaEFJMmhkbld3cmttbSsyaU1hK3F1V2Rx?=
 =?utf-8?B?OHJOM2FieDV6a3FKMXFYK3RQeVpRMG1kQVZYWDU5YlZQc2ltTmRIUktEK24y?=
 =?utf-8?B?RDZzSWtIeW5uVzB5eW0yRWZCSmdna21vZnhvK1JIWjZrKzFVK0pDakpJcUtQ?=
 =?utf-8?B?OVE3YTJrRWpZbERVZmlnVkNGL2FaTkZZN3JzdURJcXc2RVJ0THVCbm1SY3NX?=
 =?utf-8?B?SnUyQUZROHZyc2V5UGpqSkJJajlKQnk0QjE5WWlRNGtFdlpUS2RhaG4yMHVz?=
 =?utf-8?B?R08rdU5HUkx1cWkxdjZsUTRBSkpyUXAwRHkzdllJZmtrSFFicHUwSjNHQks0?=
 =?utf-8?B?c0dQTXRXNzVlSEtDLy9SbFFLZkFrRHFIKzlKSGJ6U1RRQzhUbEdnTTZQNkVv?=
 =?utf-8?B?bTZlRDMybVUvQmNtR0NpSDR4eDhvb1hBQWx1V3NxUU1VeTVDNDdnN05LQ1Rj?=
 =?utf-8?B?aGpzYm5IRnhacW1pTlkzeS9XR0RXUjV1cERVaUh6RTRxQmYrT010TjZyZTRD?=
 =?utf-8?B?ZmtwdU15czFHM2xJVkdWTWc5c0tZREhubzVRYXlnaEpqVEhyb05DOUk1QWh2?=
 =?utf-8?B?amkyVXcvemxNR05yb3Z2U3hwR29GZ2NCNjAyUC80cldhUkZTVXM5YkdGQTNX?=
 =?utf-8?B?dDl6a3M2YjZHWUpvc21lQjB0ZGJVZzBPSitxN1JJNVI4RFVrdHNzSGNXZmMw?=
 =?utf-8?B?NGNxUGk5Mjhnaks2QTlicUhXZ05LWDcrWGlGbXAyUUNKYk0xeVYxUFVpNyt0?=
 =?utf-8?B?bVVvRU5aa1JBbEFVZEFGQjJzbkhQK3UvNmFUejYzWTQwUUl5ZjFidUhBZGdG?=
 =?utf-8?B?VHEwZlJ2cGh0dHh5d3RpbzZlRFg5N1lNa0hmcGQxbFBRV2l4Y3BqeVhTL21r?=
 =?utf-8?B?ZEYxdVk3djQyZ3oyS2Njb1lySTdwcHA4NmkwWkhsYk1XV2k3T21ZanFTb2cr?=
 =?utf-8?B?MVVPdFlJcVphUVVxVExDMHZWellxVk9jNktrc0VSWmxnRU9YZjRqZHVGK2dC?=
 =?utf-8?B?cWZVOXhpc3JXZWZEcFliQ1RjRVlJNEhNcVN6NVpoSkhGMFdTNE1BbjVpL2Zl?=
 =?utf-8?B?V095eW9JWkpqZ3pvWFZabVhRc2xUaTFIMHZBN3BkVCs2UG9lTWtnbDN4MXBP?=
 =?utf-8?B?K2laaFVoQW8yL3d6ellFekdZd0RvWEZuTWlHWTZlYXhOU3g2bEVndW5lOUVI?=
 =?utf-8?B?ZHgvbHU0VVV6MVYvMjA5QlJSdGNKNUhhZlpTT0toeG1MZWZUblU5QUoxZ1do?=
 =?utf-8?B?cUJoVkJaUSs1dUdOSUppTWpDMVJHcWhUd3VRWHlLNG13WDhiUlc1VkcrWmhH?=
 =?utf-8?B?UU1Sb2FxU2xlOEVyYVpQNUNmTDJ6aGZTSEtJai9Rbnc0RDBsQlRaa3I2aDFO?=
 =?utf-8?Q?+NsRC6FxMbQriyevxpTvLnvXR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ef6575c1-9e83-4dd9-5d9c-08db2c4aa107
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 09:32:04.5748
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LZFuG2Iybv9RElVVbbVpB6e9kIncsRNYsphx/1KuNwtfgX79YJKXbjMRRQTJIozKIQ4EzCdkYNFqA1OszAojlw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7887

On 24.03.2023 01:59, Andrew Cooper wrote:
> On 19/12/2022 7:28 am, Jan Beulich wrote:
>> On 16.12.2022 21:53, Andrew Cooper wrote:
>> Again - one way to look at things. Plus, with Demi's series now also in
>> mind, what's done here is moving us in exactly the opposite direction.
>> Is this hot enough a function to warrant that?
> 
> Yes - from the first cset, 9ce0a5e207f3 - it's used on virtual
> vmentry/exit so is (or will be) reasonably hot in due course.
> 
> What is more important in the short term is avoiding the catastrophic
> code generation that Clang still does with default Xen build settings,
> also linked from the commit message.
> 
>>>>> --- a/xen/arch/x86/hvm/hvm.c
>>>>> +++ b/xen/arch/x86/hvm/hvm.c
>>>>> @@ -302,24 +302,43 @@ void hvm_get_guest_pat(struct vcpu *v, u64 *guest_pat)
>>>>>          *guest_pat = v->arch.hvm.pat_cr;
>>>>>  }
>>>>>  
>>>>> -int hvm_set_guest_pat(struct vcpu *v, uint64_t guest_pat)
>>>>> +/*
>>>>> + * MSR_PAT takes 8 uniform fields, each of which must be a valid architectural
>>>>> + * memory type (0, 1, 4-7).  This is a fully vectorised form of the
>>>>> + * 8-iteration loop over bytes looking for PAT_TYPE_* constants.
>>>> While grep-ing for PAT_TYPE_ will hit this line, I think we want
>>>> every individual type to also be found here when grep-ing for one.
>>>> The actual values aren't going to change, but perhaps the beast
>>>> way to do so would still be by way of BUILD_BUG_ON()s.
>>> Why?  What does that solve or improve?
>>>
>>> "pat" is the thing people are going to be looking for if they're
>>> actually trying to find this logic.
>>>
>>> (And I bring this patch up specifically after reviewing Demi's series,
>>> where PAT_TYPE_* changes to X86_MT_* but "pat" is still the useful
>>> search term IMO.)
>> I don't think "PAT" is a good thing to grep for when trying to find uses
>> of particular memory types.
> 
> This is not a logical use of a particular memory type.  Being an
> architectural auditing function, the only legitimate use of these
> constants here is all of them at once.  This is the one place you firmly
> don't care about finding when asking the question "How does Xen go about
> handling WP mappings".
> 
> I have swapped PAT_TYPE_* for X86_MT_* now that Demi's series has been
> committed, but that is the extent to which I think there are relevant
> changes to be made.

In the interest of getting the code gen issue addressed, but without
being fully convinced this is a good move:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 09:36:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 09:36:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514250.796329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfdqJ-0002Wj-0g; Fri, 24 Mar 2023 09:36:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514250.796329; Fri, 24 Mar 2023 09: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 1pfdqI-0002Wc-T3; Fri, 24 Mar 2023 09:36:14 +0000
Received: by outflank-mailman (input) for mailman id 514250;
 Fri, 24 Mar 2023 09: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=+Cuu=7Q=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1pfdqH-0002WU-On
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 09:36:13 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20626.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4dc1189b-ca27-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 10:36:07 +0100 (CET)
Received: from AM5PR0202CA0001.eurprd02.prod.outlook.com
 (2603:10a6:203:69::11) by PAWPR08MB8934.eurprd08.prod.outlook.com
 (2603:10a6:102:33e::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 09:35:58 +0000
Received: from AM7EUR03FT003.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:203:69:cafe::2f) by AM5PR0202CA0001.outlook.office365.com
 (2603:10a6:203:69::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38 via Frontend
 Transport; Fri, 24 Mar 2023 09:35:58 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT003.mail.protection.outlook.com (100.127.140.227) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.22 via Frontend Transport; Fri, 24 Mar 2023 09:35:57 +0000
Received: ("Tessian outbound 0df938784972:v135");
 Fri, 24 Mar 2023 09:35:57 +0000
Received: from feb259280792.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E30D52CD-6F94-4231-952C-C9C7357A85F9.1; 
 Fri, 24 Mar 2023 09:35:50 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id feb259280792.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 24 Mar 2023 09:35:50 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by VI1PR08MB5342.eurprd08.prod.outlook.com (2603:10a6:803:132::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 09:35:48 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6178.038; Fri, 24 Mar 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: 4dc1189b-ca27-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cnALK8E0o110EXwtcQdQ23kE05L8EfHdw8q4WTuFnt8=;
 b=Z8tnV4b+iyR3PBkJ6FJOxboxvYQnnJLXspJ3HztH+rku1+483k7RLU5V4wXMk206vVix4FmKdbAz+nQJewitOPuTitqX9OPo5U6Rg7OC8oM9NeD85Q5075hnyN+U66gdpHVOWEQ3BdueAR8Jgn7VlHJwjj/NTuT2mJkB19f0I3c=
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: 93fd08c2c09377d0
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XOpHdq00KAMPZ5ijqvNBOaifkm/pD2nm3DjasQ7DxD//fEBOVhCSIIOQmEXNg1MitIG9/DIi6poIMOsnZTNXCylkMn7Szkqv09huFmjVrJV5+/K1bdlP+aOYo50z24VWowkwIG2gZaTFOdTDkwxx3kTKkO78XRIHEsR/hDvNAsuJ0PJqZkA2+mzzig1K35Yf5B6Xm6jI0vhAF8rQaeWLmafeL8TWu85QGMD8+FqUEz4HSn731fw21LzCKmInjfV+n4ihgGlXOElGIFBmwRmNRAXLSmIf/jR03J6mreT4Sd/DeuBEtB2s1O07BAdGo0Iz2PsWV10T4Puw5Dwbb1Bopw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cnALK8E0o110EXwtcQdQ23kE05L8EfHdw8q4WTuFnt8=;
 b=i/sbvH2MgLpN7T7PAiGoqSJgR/mPxQK0GVK7nzxXBbjRmQPxClecurLg1pnqK2v98/TtTCEofyk/VfEDWJ5qZG8FZ+6Sz4Q3lCwLCsQvgq4IOYawXhEmT0JN0nfptWMPf1ltRS/d0AcsiLARJL/49rc3nJN7W637CGADHKinJHrYScWIT/Qc6+zo+eyEc6S7CAabbOqjaRVQFRL0WGOdxL4GS8K8UtQ1AjAowqF+8luJ5HoYVqOoUsEWi1ESA+paFR7cwyappMvzz0eAw8XDpuIy9xvvFc/Hi2HgrBcp8D+EXmS7iMOVzqX5NgwW0yfxEc4JzKnC9Pp1lBU+5rJeRA==
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=cnALK8E0o110EXwtcQdQ23kE05L8EfHdw8q4WTuFnt8=;
 b=Z8tnV4b+iyR3PBkJ6FJOxboxvYQnnJLXspJ3HztH+rku1+483k7RLU5V4wXMk206vVix4FmKdbAz+nQJewitOPuTitqX9OPo5U6Rg7OC8oM9NeD85Q5075hnyN+U66gdpHVOWEQ3BdueAR8Jgn7VlHJwjj/NTuT2mJkB19f0I3c=
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 2/2] xen/arm: vpl011: Fix domain_vpl011_init error path
Thread-Topic: [PATCH v2 2/2] xen/arm: vpl011: Fix domain_vpl011_init error
 path
Thread-Index: AQHZXY9vXeyq3ki000ag4E2VLenl168JrNoA
Date: Fri, 24 Mar 2023 09:35:47 +0000
Message-ID: <97EBE93D-01BE-4DCE-8726-6D8066F79CA0@arm.com>
References: <20230323135636.25318-1-michal.orzel@amd.com>
 <20230323135636.25318-3-michal.orzel@amd.com>
In-Reply-To: <20230323135636.25318-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.3731.400.51.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_|VI1PR08MB5342:EE_|AM7EUR03FT003:EE_|PAWPR08MB8934:EE_
X-MS-Office365-Filtering-Correlation-Id: acad260e-5079-4d55-52fc-08db2c4b2c3b
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:
 3iiCbv98GBFJ/nu1LnuGRtTQUFEPHPm4/FHjIP3yHZ3ign/Et6Ksk7C4vjU+sH/1LiUHbVotfuWWa+ZkYElR7HzTK+9WmIr4lnK0FbjyvQGlM9dmXZc/Kr6PlMsgqdFjoLSLBakrU5k+/n4I8PUP4TYeg63JR9+Ykrth44focn1teOZuQygU83W3Za6V+yQpJ9aPpnllYdmgAYMSoub0KAUOkTz42nRf8krfkofSJ+dHknunc2d8cbpc8t2Kw87gtmd2DyWVP4+YiF/hMTA2Dirck6oHcpqhCEHCnzuf0jTT/e4Gw9snGfJ5XgsbGpkvODImva4A8TvnRlBfNO3P9CURyLXa1Ls4JtKg+xT/Rlws9BuT67zrO5+7pRZL1el9t7nEc/fmMuds7f4LSwxOZB7y4JuOGuVs05avtKU2ivDDQRl/cMV6FbbaeIkN3J7rRwCtZGePuanpnqQDV2QrqFLFL+YB+KOKpfYYkKfDsM1sntNH2deN5LrYVg2xl5FiDHS93+lFVW1fFd8k1WGZbcZ1EtL/HHeIpE+d94vr72Z5Pcgte72GdD2V8e7SONQbk9/351HMmMg/kokIpIMUYJVGsA0POpCSTsIdb9+YdNehX2tqjJxCMXvra6qiOwuqmNrcHWcqoTb+zWDO9RmadfRd3OpsQZDKlQyPkwUvWBQiSnznaY4bHaAKzHsVY8A2N9AkSFaNmg02JF3Sbke49CdX6IAHMrOev+QNeh+u8co=
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:(13230025)(4636009)(136003)(396003)(376002)(346002)(39850400004)(366004)(451199018)(2616005)(6486002)(86362001)(6512007)(6506007)(26005)(53546011)(83380400001)(71200400001)(6916009)(66946007)(41300700001)(91956017)(54906003)(38070700005)(316002)(33656002)(478600001)(64756008)(4326008)(66446008)(76116006)(66556008)(8676002)(66476007)(38100700002)(186003)(36756003)(4744005)(122000001)(5660300002)(8936002)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <F5023C087040D746AC9AAC864EA2918A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5342
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f2aae5a6-9547-48cc-5ca3-08db2c4b2645
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LGJ5dmd+NIlI19ROdHhqKTvDAkgfy1jphIWr8L7YLjBvEVDqgnDp4s67yyqWx9H3wyPFfQs+phxyLp7UQWBFnv0vNwatXF5tc+U1uO2OvM+dOeLvEw0DoADiGv6O+kPHekboePobrnLk0ycrR3eQDygMjZU4jwymYA90RrEfIPWb1mr7T9G5dadylTmEXPNrDXzeMLdyoPsb63dHHGcDuInXE8xjmRF/oUJB05Sd9Vqh4bU7B8q4RoBbulzroDhLdNzh9XE8w42p5E6HpZCrMn6POwlmdkciZdoIgtHU714tnZpGPdCUZeD037VerLzugeM8A16DFHGvKcQkKVni2cqvGm3qcJyLtF7g7nwj5z7ulYMtAe0badzpJcsNvdx0ow4Df2Pd5xGjPKssy0nTbDBxP1M276Z0+O1pnPoaCa5KmfxEQoKBq+OvndXoG6KKDj21FfM8oecipzo7C1iHx/Rqn1YUuhi1k5hGgrgZTKNw+RVHDRluqEI7OH+v6//D/aJuUQ1pmdJG7/SAXiOuQyxN7YwHiku0arql9ujIZXbj+VHBVwSje7AG5DnlCaPrxitH89SYdc3qm5s5KGjaerGV746yR8JAq9m59Icr3jbVPJ7E6JOPoMNV7g3f47UUvnxca/QqTLDmTLxheIEEBc6TZpgOFtOtTgI7GCgsRl0chMe7tPGY399KSGUj1ZMxEXroo57K55GKueaRXsBgMw==
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:(13230025)(4636009)(346002)(376002)(136003)(396003)(39860400002)(451199018)(46966006)(40470700004)(36840700001)(70206006)(4326008)(8676002)(70586007)(8936002)(40460700003)(33656002)(36756003)(41300700001)(53546011)(83380400001)(186003)(6512007)(40480700001)(356005)(81166007)(86362001)(36860700001)(336012)(47076005)(2616005)(107886003)(26005)(82310400005)(6506007)(54906003)(6862004)(478600001)(6486002)(316002)(82740400003)(5660300002)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 09:35:57.8686
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: acad260e-5079-4d55-52fc-08db2c4b2c3b
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT003.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB8934



> On 23 Mar 2023, at 13:56, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> When vgic_reserve_virq() fails and backend is in domain, we should also
> free the allocated event channel.
>=20
> When backend is in Xen and call to xzalloc() returns NULL, there is no
> need to call xfree(). This should be done instead on an error path
> from vgic_reserve_virq(). Moreover, we should be calling XFREE() to
> prevent an extra free in domain_vpl011_deinit().
>=20
> In order not to repeat the same steps twice, call domain_vpl011_deinit()
> on an error path whenever there is more work to do than returning rc.
> Since this function can now be called from different places and more
> than once, add proper guards, use XFREE() instead of xfree() and move
> vgic_free_virq() to it.
>=20
> Take the opportunity to return -ENOMEM instead of -EINVAL when memory
> allocation fails.
>=20
> Fixes: 1ee1e4b0d1ff ("xen/arm: Allow vpl011 to be used by DomU")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>


Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>




From xen-devel-bounces@lists.xenproject.org Fri Mar 24 11:16:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 11:16:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514264.796345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pffP6-00075A-8m; Fri, 24 Mar 2023 11:16:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514264.796345; Fri, 24 Mar 2023 11:16:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pffP6-000753-5s; Fri, 24 Mar 2023 11:16:16 +0000
Received: by outflank-mailman (input) for mailman id 514264;
 Fri, 24 Mar 2023 11:16: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=jsbp=7Q=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pffP4-00074x-EE
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 11:16:14 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [2001:67c:2178:6::1d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 48a3d4fd-ca35-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 12:16:12 +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 693721FE6B;
 Fri, 24 Mar 2023 11:16:11 +0000 (UTC)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 3FA89133E5;
 Fri, 24 Mar 2023 11:16:11 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0c4SDnuGHWQoXQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 24 Mar 2023 11:16: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: 48a3d4fd-ca35-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679656571; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=q2D0F0T8hKnMLpbemKN1CqbneTU9mWorwtPhxQMFxj4=;
	b=COC6ImaF1u1evP3m0WbyL4PisqJEdIjL5+3pEZtciehg6Z5TfMVv3D0NPuBLIqGR7doFH7
	S9CS+LcvObc1dkdKPgvQREIYE/B0q2nIivez41s7cHVIlPud1c5KjGKhQBQULGL891prjZ
	Hc6Sx0DwaxRnsZVoebRIjhRmySPZXNw=
Message-ID: <0593df9b-f8ad-0042-e024-354623f163e6@suse.com>
Date: Fri, 24 Mar 2023 12:16:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [adhoc test] 179901: regressions - trouble:
 blocked/broken/fail/pass
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: aperard@xenbits.xen.org, anthony.perard@citrix.com,
 xen-devel@lists.xenproject.org
References: <E1pfV8U-0006eX-2p@osstest.test-lab.xenproject.org>
 <0b1181a1-5a96-b3e8-ffd8-6f256ebbceae@suse.com>
 <145d84a7-b3dd-f578-3c8b-10a5aba53491@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <145d84a7-b3dd-f578-3c8b-10a5aba53491@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Hxu00OWZL8ezMSHaBUnFkaa0"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Hxu00OWZL8ezMSHaBUnFkaa0
Content-Type: multipart/mixed; boundary="------------FWKWzDiudFqDyaHRmsNA0f0M";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: aperard@xenbits.xen.org, anthony.perard@citrix.com,
 xen-devel@lists.xenproject.org
Message-ID: <0593df9b-f8ad-0042-e024-354623f163e6@suse.com>
Subject: Re: [adhoc test] 179901: regressions - trouble:
 blocked/broken/fail/pass
References: <E1pfV8U-0006eX-2p@osstest.test-lab.xenproject.org>
 <0b1181a1-5a96-b3e8-ffd8-6f256ebbceae@suse.com>
 <145d84a7-b3dd-f578-3c8b-10a5aba53491@suse.com>
In-Reply-To: <145d84a7-b3dd-f578-3c8b-10a5aba53491@suse.com>

--------------FWKWzDiudFqDyaHRmsNA0f0M
Content-Type: multipart/mixed; boundary="------------hwGkxLlzdKiEvpGcwcjiEy0i"

--------------hwGkxLlzdKiEvpGcwcjiEy0i
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDMuMjMgMDg6NDYsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNC4wMy4yMDIz
IDA4OjA3LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjQuMDMuMjMgMDE6MTgsIGFw
ZXJhcmRAeGVuYml0cy54ZW4ub3JnIHdyb3RlOg0KPj4+IFthZGhvYyBwbGF5XSA8b3NzdGVz
dCBtYXN0ZXIgL2Rldi9wdHMvMTY+DQo+Pj4gaGFybmVzcyBlZDFkOGRlNDogUERVL0lQTUk6
IEJlIGxlc3MgYWdncmVzc2l2ZSB3aXRoIElQTUkgY29tbWFuZHMNCj4+PiAxNzk5MDE6IHJl
Z3Jlc3Npb25zIC0gdHJvdWJsZTogYmxvY2tlZC9icm9rZW4vZmFpbC9wYXNzDQo+Pj4NCj4+
PiBmbGlnaHQgMTc5OTAxIGxpbnV4LWxpbnVzIHBsYXkgW3BsYXldDQo+Pj4gaHR0cDovL2xv
Z3MudGVzdC1sYWIueGVucHJvamVjdC5vcmcvb3NzdGVzdC9sb2dzLzE3OTkwMS8NCj4+Pg0K
Pj4+IFJlZ3Jlc3Npb25zIDotKA0KPj4NCj4+IEl0IHNlZW1zIHRoZSBncmFudCBjb3B5IGZh
aWx1cmVzIGFyZSBnb25lLCBidXQgdGhlIHRlc3RzIGFyZSBzdGlsbCBmYWlsaW5nLg0KPj4N
Cj4+IEkgaGF2ZSBzcG90dGVkOg0KPj4NCj4+IFsgICAxOC4yNTgwMzBdIG5ldCBldGgwOiBS
ZXNwb25zZSBmb3IgaW5hY3RpdmUgcmVxdWVzdA0KPj4gWyAgIDE4LjI1ODA4MF0gbmV0IGV0
aDA6IERpc2FibGVkIGZvciBmdXJ0aGVyIHVzZQ0KPj4NCj4+IGluDQo+PiBodHRwOi8vbG9n
cy50ZXN0LWxhYi54ZW5wcm9qZWN0Lm9yZy9vc3N0ZXN0L2xvZ3MvMTc5OTAxL3Rlc3QtYW1k
NjQtYW1kNjQteGwvZWxibGluZzEtLS12YXItbG9nLXhlbi1jb25zb2xlLWd1ZXN0LWRlYmlh
bi5ndWVzdC5vc3N0ZXN0LmxvZw0KPj4NCj4+IFRoaXMgaXMgY2xlYXJseSBhbiBleHBsYW5h
dGlvbiBmb3IgdGhlIGZhaWxlZCB0ZXN0cy4gSSdtIGxvb2tpbmcgaW50byBpdC4NCj4gDQo+
IFJpZ2h0IC0geGVudmlmX3R4X2NoZWNrX2dvcCgpIG5vdyBzZW5kcyB0d28gcmVzcG9uc2Vz
IGZvciB0aGUgc3BsaXQgY29weS4NCg0KTmV4dCB0cnkuDQoNCkFudGhvbnksIGNvdWxkIHlv
dSBwbGVhc2UgdXNlIHRoaXMgcGF0Y2ggaW5zdGVhZCBvZiB0aGUgcHJldmlvdXMgb25lPw0K
DQoNCkp1ZXJnZW4NCg==
--------------hwGkxLlzdKiEvpGcwcjiEy0i
Content-Type: text/x-patch; charset=UTF-8;
 name="0001-xen-netback-don-t-do-grant-copy-across-page-boundary.patch"
Content-Disposition: attachment;
 filename*0="0001-xen-netback-don-t-do-grant-copy-across-page-boundary.pa";
 filename*1="tch"
Content-Transfer-Encoding: base64

RnJvbSAwNjBhM2JiNzNkZjJhMGZhNTcxOGE3YTA1Yzc0MGFmYzhlNGUzOWFkIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+
CkRhdGU6IFRodSwgMjMgTWFyIDIwMjMgMDc6Mjk6NTYgKzAxMDAKU3ViamVjdDogW1BBVENI
XSB4ZW4vbmV0YmFjazogZG9uJ3QgZG8gZ3JhbnQgY29weSBhY3Jvc3MgcGFnZSBib3VuZGFy
eQoKRml4IHhlbnZpZl9nZXRfcmVxdWVzdHMoKSBub3QgdG8gZG8gZ3JhbnQgY29weSBvcGVy
YXRpb25zIGFjcm9zcyBsb2NhbApwYWdlIGJvdW5kYXJpZXMuIFRoaXMgcmVxdWlyZXMgdG8g
ZG91YmxlIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjb3B5Cm9wZXJhdGlvbnMgcGVyIHF1ZXVl
LCBhcyBlYWNoIGNvcHkgY291bGQgbm93IGJlIHNwbGl0IGludG8gMi4KCk1ha2Ugc3VyZSB0
aGF0IHN0cnVjdCB4ZW52aWZfdHhfY2IgZG9lc24ndCBncm93IHRvbyBsYXJnZS4KCkNjOiBz
dGFibGVAdmdlci5rZXJuZWwub3JnCkZpeGVzOiBhZDdmNDAyYWU0ZjQgKCJ4ZW4vbmV0YmFj
azogRW5zdXJlIHByb3RvY29sIGhlYWRlcnMgZG9uJ3QgZmFsbCBpbiB0aGUgbm9uLWxpbmVh
ciBhcmVhIikKU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29t
PgotLS0KIGRyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL2NvbW1vbi5oICB8ICAyICstCiBkcml2
ZXJzL25ldC94ZW4tbmV0YmFjay9uZXRiYWNrLmMgfCAyOCArKysrKysrKysrKysrKysrKysr
KysrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKyksIDUgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQveGVuLW5ldGJhY2svY29tbW9uLmgg
Yi9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9jb21tb24uaAppbmRleCAzZGJmYzhhNjkyNGUu
LjFmY2JkODNmN2ZmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQveGVuLW5ldGJhY2svY29t
bW9uLmgKKysrIGIvZHJpdmVycy9uZXQveGVuLW5ldGJhY2svY29tbW9uLmgKQEAgLTE2Niw3
ICsxNjYsNyBAQCBzdHJ1Y3QgeGVudmlmX3F1ZXVlIHsgLyogUGVyLXF1ZXVlIGRhdGEgZm9y
IHhlbnZpZiAqLwogCXN0cnVjdCBwZW5kaW5nX3R4X2luZm8gcGVuZGluZ190eF9pbmZvW01B
WF9QRU5ESU5HX1JFUVNdOwogCWdyYW50X2hhbmRsZV90IGdyYW50X3R4X2hhbmRsZVtNQVhf
UEVORElOR19SRVFTXTsKIAotCXN0cnVjdCBnbnR0YWJfY29weSB0eF9jb3B5X29wc1tNQVhf
UEVORElOR19SRVFTXTsKKwlzdHJ1Y3QgZ250dGFiX2NvcHkgdHhfY29weV9vcHNbMiAqIE1B
WF9QRU5ESU5HX1JFUVNdOwogCXN0cnVjdCBnbnR0YWJfbWFwX2dyYW50X3JlZiB0eF9tYXBf
b3BzW01BWF9QRU5ESU5HX1JFUVNdOwogCXN0cnVjdCBnbnR0YWJfdW5tYXBfZ3JhbnRfcmVm
IHR4X3VubWFwX29wc1tNQVhfUEVORElOR19SRVFTXTsKIAkvKiBwYXNzZWQgdG8gZ250dGFi
X1t1bl1tYXBfcmVmcyB3aXRoIHBhZ2VzIHVuZGVyICh1biltYXBwaW5nICovCmRpZmYgLS1n
aXQgYS9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9uZXRiYWNrLmMgYi9kcml2ZXJzL25ldC94
ZW4tbmV0YmFjay9uZXRiYWNrLmMKaW5kZXggMWI0MjY3NmNhMTQxLi5iODMyZTZmMjRkNjAg
MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL25ldGJhY2suYworKysgYi9k
cml2ZXJzL25ldC94ZW4tbmV0YmFjay9uZXRiYWNrLmMKQEAgLTMzNCw2ICszMzQsNyBAQCBz
dGF0aWMgaW50IHhlbnZpZl9jb3VudF9yZXF1ZXN0cyhzdHJ1Y3QgeGVudmlmX3F1ZXVlICpx
dWV1ZSwKIHN0cnVjdCB4ZW52aWZfdHhfY2IgewogCXUxNiBjb3B5X3BlbmRpbmdfaWR4W1hF
Tl9ORVRCS19MRUdBQ1lfU0xPVFNfTUFYICsgMV07CiAJdTggY29weV9jb3VudDsKKwl1MzIg
c3BsaXRfbWFzazsKIH07CiAKICNkZWZpbmUgWEVOVklGX1RYX0NCKHNrYikgKChzdHJ1Y3Qg
eGVudmlmX3R4X2NiICopKHNrYiktPmNiKQpAQCAtMzYxLDYgKzM2Miw4IEBAIHN0YXRpYyBp
bmxpbmUgc3RydWN0IHNrX2J1ZmYgKnhlbnZpZl9hbGxvY19za2IodW5zaWduZWQgaW50IHNp
emUpCiAJc3RydWN0IHNrX2J1ZmYgKnNrYiA9CiAJCWFsbG9jX3NrYihzaXplICsgTkVUX1NL
Ql9QQUQgKyBORVRfSVBfQUxJR04sCiAJCQkgIEdGUF9BVE9NSUMgfCBfX0dGUF9OT1dBUk4p
OworCisJQlVJTERfQlVHX09OKHNpemVvZigqWEVOVklGX1RYX0NCKHNrYikpID4gc2l6ZW9m
KHNrYi0+Y2IpKTsKIAlpZiAodW5saWtlbHkoc2tiID09IE5VTEwpKQogCQlyZXR1cm4gTlVM
TDsKIApAQCAtMzk2LDYgKzM5OSw3IEBAIHN0YXRpYyB2b2lkIHhlbnZpZl9nZXRfcmVxdWVz
dHMoc3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUsCiAJbnJfc2xvdHMgPSBzaGluZm8tPm5y
X2ZyYWdzICsgMTsKIAogCWNvcHlfY291bnQoc2tiKSA9IDA7CisJWEVOVklGX1RYX0NCKHNr
YiktPnNwbGl0X21hc2sgPSAwOwogCiAJLyogQ3JlYXRlIGNvcHkgb3BzIGZvciBleGFjdGx5
IGRhdGFfbGVuIGJ5dGVzIGludG8gdGhlIHNrYiBoZWFkLiAqLwogCV9fc2tiX3B1dChza2Is
IGRhdGFfbGVuKTsKQEAgLTQxMyw2ICs0MTcsMTIgQEAgc3RhdGljIHZvaWQgeGVudmlmX2dl
dF9yZXF1ZXN0cyhzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwKIAkJY29wLT5kZXN0LnUu
Z21mbiA9IHZpcnRfdG9fZ2ZuKHNrYi0+ZGF0YSArIHNrYl9oZWFkbGVuKHNrYikKIAkJCQkg
ICAgICAgICAgICAgICAtIGRhdGFfbGVuKTsKIAorCQkvKiBEb24ndCBjcm9zcyBsb2NhbCBw
YWdlIGJvdW5kYXJ5ISAqLworCQlpZiAoY29wLT5kZXN0Lm9mZnNldCArIGFtb3VudCA+IFhF
Tl9QQUdFX1NJWkUpIHsKKwkJCWFtb3VudCA9IFhFTl9QQUdFX1NJWkUgLSBjb3AtPmRlc3Qu
b2Zmc2V0OworCQkJWEVOVklGX1RYX0NCKHNrYiktPnNwbGl0X21hc2sgfD0gMVUgPDwgY29w
eV9jb3VudChza2IpOworCQl9CisKIAkJY29wLT5sZW4gPSBhbW91bnQ7CiAJCWNvcC0+Zmxh
Z3MgPSBHTlRDT1BZX3NvdXJjZV9ncmVmOwogCkBAIC00NDEsNyArNDUxLDggQEAgc3RhdGlj
IHZvaWQgeGVudmlmX2dldF9yZXF1ZXN0cyhzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwK
IAkJCW5yX3Nsb3RzLS07CiAJCX0gZWxzZSB7CiAJCQkvKiBUaGUgY29weSBvcCBwYXJ0aWFs
bHkgY292ZXJlZCB0aGUgdHhfcmVxdWVzdC4KLQkJCSAqIFRoZSByZW1haW5kZXIgd2lsbCBi
ZSBtYXBwZWQuCisJCQkgKiBUaGUgcmVtYWluZGVyIHdpbGwgYmUgbWFwcGVkIG9yIGNvcGll
ZCBpbiB0aGUgbmV4dAorCQkJICogaXRlcmF0aW9uLgogCQkJICovCiAJCQl0eHAtPm9mZnNl
dCArPSBhbW91bnQ7CiAJCQl0eHAtPnNpemUgLT0gYW1vdW50OwpAQCAtNTE4LDYgKzUyOSw3
IEBAIHN0YXRpYyBpbnQgeGVudmlmX3R4X2NoZWNrX2dvcChzdHJ1Y3QgeGVudmlmX3F1ZXVl
ICpxdWV1ZSwKIHsKIAlzdHJ1Y3QgZ250dGFiX21hcF9ncmFudF9yZWYgKmdvcF9tYXAgPSAq
Z29wcF9tYXA7CiAJdTE2IHBlbmRpbmdfaWR4OworCXUxNiBsYXN0X2NvcHlfaWR4ID0gY29w
eV9wZW5kaW5nX2lkeChza2IsIGNvcHlfY291bnQoc2tiKSAtIDEpOwogCS8qIFRoaXMgYWx3
YXlzIHBvaW50cyB0byB0aGUgc2hpbmZvIG9mIHRoZSBza2IgYmVpbmcgY2hlY2tlZCwgd2hp
Y2gKIAkgKiBjb3VsZCBiZSBlaXRoZXIgdGhlIGZpcnN0IG9yIHRoZSBvbmUgb24gdGhlIGZy
YWdfbGlzdAogCSAqLwpAQCAtNTI5LDcgKzU0MSw3IEBAIHN0YXRpYyBpbnQgeGVudmlmX3R4
X2NoZWNrX2dvcChzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwKIAlpbnQgbnJfZnJhZ3Mg
PSBzaGluZm8tPm5yX2ZyYWdzOwogCWNvbnN0IGJvb2wgc2hhcmVkc2xvdCA9IG5yX2ZyYWdz
ICYmCiAJCQkJZnJhZ19nZXRfcGVuZGluZ19pZHgoJnNoaW5mby0+ZnJhZ3NbMF0pID09Ci0J
CQkJICAgIGNvcHlfcGVuZGluZ19pZHgoc2tiLCBjb3B5X2NvdW50KHNrYikgLSAxKTsKKwkJ
CQlsYXN0X2NvcHlfaWR4OwogCWludCBpLCBlcnIgPSAwOwogCiAJZm9yIChpID0gMDsgaSA8
IGNvcHlfY291bnQoc2tiKTsgaSsrKSB7CkBAIC01MzksOSArNTUxLDE3IEBAIHN0YXRpYyBp
bnQgeGVudmlmX3R4X2NoZWNrX2dvcChzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwKIAkJ
cGVuZGluZ19pZHggPSBjb3B5X3BlbmRpbmdfaWR4KHNrYiwgaSk7CiAKIAkJbmV3ZXJyID0g
KCpnb3BwX2NvcHkpLT5zdGF0dXM7CisKKwkJLyogU3BsaXQgY29waWVzIG5lZWQgdG8gYmUg
aGFuZGxlZCB0b2dldGhlci4gKi8KKwkJaWYgKFhFTlZJRl9UWF9DQihza2IpLT5zcGxpdF9t
YXNrICYgKDFVIDw8IGkpKSB7CisJCQlpKys7CisJCQkoKmdvcHBfY29weSkrKzsKKwkJCWlm
ICghbmV3ZXJyKQorCQkJCW5ld2VyciA9ICgqZ29wcF9jb3B5KS0+c3RhdHVzOworCQl9CiAJ
CWlmIChsaWtlbHkoIW5ld2VycikpIHsKIAkJCS8qIFRoZSBmaXJzdCBmcmFnIG1pZ2h0IHN0
aWxsIGhhdmUgdGhpcyBzbG90IG1hcHBlZCAqLwotCQkJaWYgKGkgPCBjb3B5X2NvdW50KHNr
YikgLSAxIHx8ICFzaGFyZWRzbG90KQorCQkJaWYgKHBlbmRpbmdfaWR4ICE9IGxhc3RfY29w
eV9pZHggfHwgIXNoYXJlZHNsb3QpCiAJCQkJeGVudmlmX2lkeF9yZWxlYXNlKHF1ZXVlLCBw
ZW5kaW5nX2lkeCwKIAkJCQkJCSAgIFhFTl9ORVRJRl9SU1BfT0tBWSk7CiAJCX0gZWxzZSB7
CkBAIC01NTMsNyArNTczLDcgQEAgc3RhdGljIGludCB4ZW52aWZfdHhfY2hlY2tfZ29wKHN0
cnVjdCB4ZW52aWZfcXVldWUgKnF1ZXVlLAogCQkJCQkgICBwZW5kaW5nX2lkeCwKIAkJCQkJ
ICAgKCpnb3BwX2NvcHkpLT5zb3VyY2UudS5yZWYpOwogCQkJLyogVGhlIGZpcnN0IGZyYWcg
bWlnaHQgc3RpbGwgaGF2ZSB0aGlzIHNsb3QgbWFwcGVkICovCi0JCQlpZiAoaSA8IGNvcHlf
Y291bnQoc2tiKSAtIDEgfHwgIXNoYXJlZHNsb3QpCisJCQlpZiAocGVuZGluZ19pZHggIT0g
bGFzdF9jb3B5X2lkeCB8fCAhc2hhcmVkc2xvdCkKIAkJCQl4ZW52aWZfaWR4X3JlbGVhc2Uo
cXVldWUsIHBlbmRpbmdfaWR4LAogCQkJCQkJICAgWEVOX05FVElGX1JTUF9FUlJPUik7CiAJ
CX0KLS0gCjIuMzUuMwoK
--------------hwGkxLlzdKiEvpGcwcjiEy0i
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-----

--------------hwGkxLlzdKiEvpGcwcjiEy0i--

--------------FWKWzDiudFqDyaHRmsNA0f0M--

--------------Hxu00OWZL8ezMSHaBUnFkaa0
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQdhnoFAwAAAAAACgkQsN6d1ii/Ey/P
Lgf9H4pYBbNS/xDTDME6DbnQiSkTM9Pg1gaJ665xM6bxluVuQmeWa0kBp0ElbMP6Np5SyVzjiQQO
BFqmXgvlbXoRAuF/+zaWkEeMjssiie/FoLMMBzSaQ8jD/kJeCWwfktPX+J2e8Xl9j2KX80iQ9Az4
qjw0I5zfUVcTvEwZ5CH3PDGwJ1F7ZpEHXcyAdT6tdHHvnj/YNfkNwR+YmdSeUE/g85EUSwK+qrOP
2OWuz+2NuuLZ/ilzSXTxLUkrPJari0rCKGAHcEMYqXYgONq2zbofMXP2/hEZSsVC4Bp0efSByP+X
pqK7J77mnFt9Vtb9ujmutySfmEEgFdOfJ8p2KvaUMg==
=0S9i
-----END PGP SIGNATURE-----

--------------Hxu00OWZL8ezMSHaBUnFkaa0--


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 11:18:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 11:18:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514267.796356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pffRC-0007cR-MV; Fri, 24 Mar 2023 11:18:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514267.796356; Fri, 24 Mar 2023 11: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 1pffRC-0007cK-Ha; Fri, 24 Mar 2023 11:18:26 +0000
Received: by outflank-mailman (input) for mailman id 514267;
 Fri, 24 Mar 2023 11:18: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pffRA-0007cE-OG
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 11:18:25 +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 949f6521-ca35-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 12:18:22 +0100 (CET)
Received: from mail-dm6nam12lp2170.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Mar 2023 07:18:13 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH7PR03MB6972.namprd03.prod.outlook.com (2603:10b6:510:12f::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Fri, 24 Mar
 2023 11:18:09 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 11:18:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 949f6521-ca35-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679656702;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=eTYUTsF7h7NQetqYIJLBcg9xA1tpAfVus1HkfzXeFSY=;
  b=hsRhnS6EUd9x67aZZ75ZvfF0d+CGHg+pIYjaD221RDRX3LkmXJhGxcYD
   xGQCTDWX+h7moS0JVKpuXDYhUmzSr5T24PFgLZ+gL3CXTVGMZIG4ERFM6
   YdDoDcfbOM6HIgXl5UQH8dCRZ6wMlVfi2CGeOJbf8PhEocOIG3ikMXPBj
   g=;
X-IronPort-RemoteIP: 104.47.59.170
X-IronPort-MID: 104587616
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:HFNFLK3YtUtZNCu54vbD5f5wkn2cJEfYwER7XKvMYLTBsI5bpz0Oy
 GYZW2yCOPaKN2f2Lth1Poyw/E8PsMOBytNhQVRspC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdkOagS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfBzlU/
 +UTMCo0cRGsg7+E35u5bOYrr5F2RCXrFNt3VnBI6xj8VKxjbbWdBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqsi6Kk1QZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqjBN9CS+PhqJaGhnXMyUI1IjQwFmHq++GTgF6FBe59C
 RMbr39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLL5y6JC25CSSROAPQ2uclzSTE02
 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9EIMZTSoNTA9A79y9pog210jLVow6T/bzicDpEzbtx
 TzMtDI5m7gYkc8M0eO84EzDhDWv4JPOS2bZ+znqY45s1SshDKbNWmBiwQOzASpoRGpBcmS8g
 Q==
IronPort-HdrOrdr: A9a23:gE13Mqr0wjfHge/DrGFppdAaV5oveYIsimQD101hICG9E/bo8f
 xG+c5w6faaskd3ZJheo7G90cW7MBbhHOdOjbX5Xo3NYOCFggSVxehZhOOO/9SHIVycygc078
 xdmsNFeb/N5DZB/KLHCMXRKbYd/OU=
X-IronPort-AV: E=Sophos;i="5.98,287,1673931600"; 
   d="scan'208";a="104587616"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nA59q8qJAOSQnHzFFZZg2sz+o78+7OupRP8JOVM4rolrZL3mJzq+8SKiQIBqf8/uYVPEszW4aJA88NktBajLR1mFWL/ffUCUdc4oC90Uuuq2tFf9BTQf0/zC+Pb/pb2fvfKZBLR70JDigFdnhEplNqWZxdWtSJbkBCubGknaYE3Avubt7e6fnMJbAeQlHxQ9y9khlNKx0ezcvpQ9j+9Q1gBdUwhZTXlLF+TtaJMqAtaw6/X/QMixjoMC3nWMLeVARUK8Ysb/pEiRzG8PWIF0llAIp1XqvUx6Dvrsv1xd671uew13BH1xLyKM/Dtt3c3GyuGYGt+S8sk6UR03pJSDtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eTYUTsF7h7NQetqYIJLBcg9xA1tpAfVus1HkfzXeFSY=;
 b=Km5KWNANeR/suCsu+j3p8fmyeUtKxuzRZ916gEv8+F80P6hWtihpLR/BzI4SXU3yThX1wnLVNj74J0Slpy4MITUjNiT40aLzZDnLrsorDXGnI9gfJZn47oNeUdmSWRggJGtYH8+I52CMMdMun07X9tj+BvDxUBiI5BVrZmCiLunfvS65aDZQ7dci9TyYjlhyLB5RCq+SWmYEYTpS7gYBs9l784ngjthi+/9eYIg0eooZuCjYJidO49EGPa3i6LaYqbEMCAiFzoPE6llgr/N05+A8JQQPgOJrGcdU6ulN8iFsYQwmlt52MQi1e5T7SwSVHva51/5GF/wulUQxOyt+DA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eTYUTsF7h7NQetqYIJLBcg9xA1tpAfVus1HkfzXeFSY=;
 b=tMH4k1nMU4mUH9QJwsX5S6/lhHUD/TC2ihS5gKDoRXskCFveMLsBkmAyfGZXEOkrDyAs64Kvr9VKnVHxGWtLwk50dPmGvd4TvrTtQtBLb6IRDbVs60UL1NCvp6v2j9VvAXn7sWMqFkEXi5KOLM8YfVXbdqNUk5Zqm4Z94n8MAcE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <badc2219-bc83-fc92-ac05-caf8f24ca995@citrix.com>
Date: Fri, 24 Mar 2023 11:18:03 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 2/4] x86/hvmloader: Don't build as PIC/PIE
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: <20220824105915.32127-1-andrew.cooper3@citrix.com>
 <20220824105915.32127-3-andrew.cooper3@citrix.com>
 <5a69da9c-5b91-2c79-c5a5-7a5335295d86@suse.com>
In-Reply-To: <5a69da9c-5b91-2c79-c5a5-7a5335295d86@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0477.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a8::14) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH7PR03MB6972:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d235c70-a30d-49b1-b32a-08db2c597260
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eIcIRsjZdsvhc4aE8KwcnioT4yQbfdIdQ5cmpmq1FsIkwbz2Or252g/E1sNBi9d4+ydv6Hrc9Ki7fEWIZR4HX00HjVyS94d0+Sbj4Ef1k2t4sdgR98TGKtvnQ5GwCoNngAlNfDgs1cQxpslrS4GuY27IicHf8h7/5ftutuyhTmb8vGw2+UeLJ4hZzmFv0kpWJsZ7L8c9AsK5vcNGOVc7wyi0qVPCb4VBbaaCXPe9Y4m/Bm/Ke5U7pIiXR2CG+NBc6+p5H1lQ9EyQGXZEnAkDnWh36CoYPz/eYqErc78/Vz0rc4mHnflKzPSEw6m7avALK9cZeJSCpjRmcAYZOcn4dEd2abFCpdDvmK1NAsvEIawkoowcKeQDGDuQi/px0KTVFYCil6zJ2k84/UUWmzCeJKf4ftGXCa3qvXTC8z2tUJDADgJ/zjWk3W7ti+wE9Q6fFXRfZFqCW67itKx8HRhJvDwq+HelLeoxK1uFnPsXEnG04xjMKYMqVFpSlZbIGFDHmbmFG5elO0pLlhNr0MPc8RXmU/sV17n479u16L5Ya216p/HSjzHlhWv2ZGZy7Bmukskjy+8S/6BkD1VmxWcOd8Nq0wCaYaVd3dthJrZxTxkueoiR6WnmQA5Z+Cxc2PRn1scFV7YaxpojP80kdW+OS/ixlxpoEw0C+Cti+OCojcJX8nQB+PTrApMKbwbTewo08VmT+4+RneqcCh/NB6peDK1iVjN8iepS3cqScFojvaY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(136003)(376002)(346002)(396003)(39860400002)(451199018)(31686004)(38100700002)(2906002)(2616005)(478600001)(6486002)(186003)(316002)(31696002)(36756003)(83380400001)(86362001)(6666004)(54906003)(8676002)(6916009)(66556008)(66476007)(66946007)(53546011)(4326008)(41300700001)(6506007)(8936002)(26005)(6512007)(5660300002)(82960400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YjBGZWdHWm1ibVY3TXNCRUJDb3JjVlFPVkQ4bVRjYmhXbmF4dVpPRTNQbENL?=
 =?utf-8?B?amVBTW4weEdqN3UwMkFyK25xQzc4QldsM280Qk1vL0VNK01WeW5PMFZFTmRa?=
 =?utf-8?B?em5MaU9iaG5aekE2b0NQVWJrd2creFZTRjB5TUs3bHFTM2pTZEVhYlhLZWVZ?=
 =?utf-8?B?U2JXZEowdUI2TzNqUHc1UUZIUmxXZ2ozSUFIcU02cDhKZnlUNjJjLzVtNEFQ?=
 =?utf-8?B?MjhRdXlORlFkZU1lM3E4QWtvRms3RUQ4L0UzdTVQK2lJWm5zUzl4blU1N0FZ?=
 =?utf-8?B?Qm93ZXhXL3V5MXVJQXVYemhPeUpWK3FqRTd5VzZyWmllYkgyTGQ0c3Z0ZEhT?=
 =?utf-8?B?Tnl3UWl2QkpMTytOUm9kU3FJUExUdFBiZ2pBMzRlczdyZW1hS2VVVnNrVXZp?=
 =?utf-8?B?ZDRFeFpwR2NISjBsRDkvU1dyaWMwYnJ0dzN4TUg2QWp6WnBCL0FXejJSSW1G?=
 =?utf-8?B?eGNKb1dkY0c0MWFVZmJ2TG5YcCtxbTRtMUZZTWdJNUpOanMwWnJIMWIycHI0?=
 =?utf-8?B?Z0phZ0hxcUNjZmpVZjBMY0NYam1raG84bWpGSFpONHJDQ1lHTFNmK3FDV0h2?=
 =?utf-8?B?Z202LzRoT2ZUR3JKMjhURDkxL0swZXdRRlJsa20wQW1wQ2tTT0Q4d0JQSHNt?=
 =?utf-8?B?ZDNOYzNDUHdhWHBab2p6Z0JZODdKNlVtSnJZdkdkOWdtZ1pzd0o4MmNwczFG?=
 =?utf-8?B?WDhqWUUxRFF0Q2R4RkpzdjZZQmlMZTB3R3duN0RSZTk1bXZ6WVdTVFU0ZU5N?=
 =?utf-8?B?WTIyS1ZDT01wZUkrSmdPUmdlVHJueVZHako2cWg2SWFiK2RTQU84cHhaMWhJ?=
 =?utf-8?B?Q0NYbkpuREt0a2g2NlJQbFBkYm8ySFY4YWI4NFBRTTA1Uk01K25oSVVtYUdX?=
 =?utf-8?B?d0VSRWRLVWZxR1NkdkErd0JvazR5L0xqRHdqNHRPYkRtdTg4QkVoV21CcSty?=
 =?utf-8?B?ZktvbHJuTnZYTldLSERMWFlZMzk2ejlFemE5bVh0NEJNVzQ2ckF3NXpWK3pt?=
 =?utf-8?B?OGtiVUJnRm02MEpqVGRRODVJVXhmSUZ4Y2E2LytaWDJIeWpxVHlDZmpTNUZM?=
 =?utf-8?B?VndCYm5meEp1VGF3L2NhZ3o1cHdZa0pYRTcybGI5ZlUzOXlEU0hWV1FpYk5O?=
 =?utf-8?B?SzVWV3BSeERnU0Vpa2ppVkRNODJ2bVpCZ1pmOURhZVJMR2NFQTMzNzNIbHVl?=
 =?utf-8?B?VklWOVUrc1J4QUJZZ2dCOWVMcWV3Y0o3dmJETUlmdzVFT0VSNkFaS1Q5eE9n?=
 =?utf-8?B?OURJTjgwTzZTK2JyOG1DYTlyTVBSNWFsM1gyQjVmNHVKQnUrKzE2WW9SOENu?=
 =?utf-8?B?QlgxY0RvYVpoWmF1SHdzeW93eG5CWXo0QnR3eElidHYvM0VoTWx0N1lSQWVs?=
 =?utf-8?B?QklUcS9iV1ZlMVZKVk5POTBLWjkzbXE3VlJKanpnMm1RZkJaSlJQcFVIa2JX?=
 =?utf-8?B?Vmcya256bUlnZFAzUkEwc2gxYlBFQ0sxaEVFeXpIUEREVTJXY1RiT3FQK3pi?=
 =?utf-8?B?OE8xbzROYzNsc0doRk9GRVZnWkdNOFNwVWQ4akRpb2RHR0ozczI3bnpDem1w?=
 =?utf-8?B?NFZZQWZPUnB3YUJORkpoSTF2QkJ2VGl0bTRDY3RlRmdrVjlML0RDLzJSdDY5?=
 =?utf-8?B?U1dscXJpQlovN0U3cjJXaWwycGk2RWFSRDllRWVXU1ZUbkRFYk8zaHdvRTd3?=
 =?utf-8?B?UFBoQXZvWHZOTW4vaWl3TElhSVJBUjZDRkh1M05jbHN2SGtLeG15aFBUNnBO?=
 =?utf-8?B?N29RY0xPREhITTZwV3RlNXZwc0VzTS9XdlNHTkhPeUpTa2x4L1VYbWNDeE85?=
 =?utf-8?B?aE14RHpiQUIwbS9rM0ZSRWp4MjJEeVhpSG5wUUpVUkFpM2NXYm9hcW9SWHJG?=
 =?utf-8?B?LzFuMk5VZU9MUmsvOHhJYWYxWHAyUktJUjZGWjR2YnNNSE9nazF2M25PdFRG?=
 =?utf-8?B?ZmhBNFVlV1VXRG9iMVplbnN1WlBLWHFWd1lFWVljUnlyQUVlWXByMVNVUTJx?=
 =?utf-8?B?VVZHaFJuOGZFOU56ZllKc000bzgzd2lpajJidTE1ZWs4Z1Y3bmE0SUp6SFJM?=
 =?utf-8?B?dFVlK0hhQXNuTjQrTDJPUW5uQlZVUE5zeHdYbWxraUEyd2lBdTQ1SHJCUGV4?=
 =?utf-8?B?L3hoeTlXUExKOFlXVGtOU25RWTc5SjhaSG85bmlRbmNYMWNWdnJoMGxhS1l1?=
 =?utf-8?B?c2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	YkVy8j2WUESmGS4ubJi0leF9Bbeqyjuzs8MOFSK8aMsEKqd2Gb6btBzkAJS5qBa26RXi8ywbk++os8BF7Vna3cyCx4bUJx2KUBJsHcc0A0dWJkfL/FzRMtHL0Shst29UBXfs2gyHpC5gWbAKLWMLZZG4Du7McxRn9rUd2GoL371V0rpMGEauLTSHNUKNNIJyvqVYsd7Cn8hSNJTPWQoOOhxdTg03DFxnCbVWKwNXLOPmnx2i616aKKvwZqUZBbZONFMGpTCRsn2g1jIo/fHO+jzMBSvCYGqr7h7GALokuuCPfvOO2AvmcGLNEt/oo6KrZbGzl45SZABsfnQ2/FDKuwSLddEBd6val1jFNfnFczrDfGK5k6Z5suVnDHeT0AOlThmQ/JpcIdiZHSkbALIy6In6fVnmWC9sLcVYYU44gzmG4WtYwstGdQNTmgksUerXRRk0pBS5BAYxxmC6QpTqb6LDrg+bZCqRCGI3REVCAUM0Uq97n0n59V0e56jWo56qmomE62QNnISBYcAdl4HxKgK8FuaU7OXLZ/wZ0y1gf3v9QOLhSloxzh0HILbm0GjnG1SqyEMYYbosHCHsLl5btWtYHvetpV7B8aw3cmAV8X2hQBd6dtOguim/6lmQDAlBqBET9i34YTSvK7GReadzK7c5weFJENBFDGbf7uNVDxJDpB1jxrQRpEoGvOWIlM+TiofFQmDO5uoaR/MQE5+XtO3Zsvf9sp4LKNNac+PYK9p0rTQGOeBBlSISJRb8h0Z1UVVPH8sd6KcczfbIIhzDnBa+1b4MQsT4t+R4PFBGM0/9llr3bc+GsQNmCeG5aLkHFN1GgwC6PothdgPWVYCIsw==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d235c70-a30d-49b1-b32a-08db2c597260
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 11:18:09.1958
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mIr4otQ9blSB0Fr3gM95HRBzDp2zzygwuSkn4kW/sNjwbddB3MwO45MBzL4gulkd+o5X3ieOgRSsdVLVfMdHvZ9W8BHn5+TQ06h7OYF4VYc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB6972

On 25/08/2022 8:20 am, Jan Beulich wrote:
> On 24.08.2022 12:59, Andrew Cooper wrote:
>> HVMLoader is not relocatable in memory, and 32bit PIC code has a large
>> overhead.  Build it as non-relocatable.
>>
>> Bloat-o-meter reports a net:
>>   add/remove: 0/0 grow/shrink: 3/107 up/down: 14/-3370 (-3356)
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Roger Pau Monné <roger.pau@citrix.com>
>> CC: Wei Liu <wl@xen.org>
>> ---
>>  tools/firmware/hvmloader/Makefile | 3 ++-
>>  1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/firmware/hvmloader/Makefile
>> b/tools/firmware/hvmloader/Makefile
>> index 4f31c881613c..eb757819274b 100644
>> --- a/tools/firmware/hvmloader/Makefile
>> +++ b/tools/firmware/hvmloader/Makefile
>> @@ -23,7 +23,8 @@ include $(XEN_ROOT)/tools/firmware/Rules.mk
>>  # SMBIOS spec requires format mm/dd/yyyy
>>  SMBIOS_REL_DATE ?= $(shell date +%m/%d/%Y)
>>  
>> -CFLAGS += $(CFLAGS_xeninclude)
>> +CFLAGS += $(CFLAGS_xeninclude) -fno-pic
>> +$(call cc-option-add,CFLAGS,-no-pie)
>
> This is supposed to be coming from EMBEDDED_EXTRA_CFLAGS, if only
> it was spelled correctly there. See the patch just sent. This line
> (see that other patch) is meaningless anyway, as we don't use
> $(CFLAGS) for linking here. So with it dropped
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>
> I do think though that the description could do with some expanding,
> as I don't think -fpic or -fPIC is the default normally. I suppose
> it's only specific distros which make this the default.

Yeah, for ASLR reasons, but that covers ~all of our downstream users.

I'll tweak the commit message and drop the PIE part.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 11:36:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 11:36:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514274.796364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pffi7-0002HI-9f; Fri, 24 Mar 2023 11:35:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514274.796364; Fri, 24 Mar 2023 11: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 1pffi7-0002HB-6r; Fri, 24 Mar 2023 11:35:55 +0000
Received: by outflank-mailman (input) for mailman id 514274;
 Fri, 24 Mar 2023 11:35: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=jsbp=7Q=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pffi5-0002H5-UZ
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 11:35: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 07e4699e-ca38-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 12: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-out2.suse.de (Postfix) with ESMTPS id 8D40F1FE1E;
 Fri, 24 Mar 2023 11:35: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 5EC61133E5;
 Fri, 24 Mar 2023 11:35:51 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ClvZFReLHWSCaAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 24 Mar 2023 11: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
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07e4699e-ca38-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679657751; 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=xWc83XLUl9PJ7QiVshXSwTcQnyqEwM++XJAI9HPUk/s=;
	b=UHFHTfcEihfGAPO/fnNY6qr3FjRWSOFYD0i7rgHXpo8vQFZECiMTJBG2mEmwoeLuDSDQZx
	Fl9hzOQun6QljdjhpmpOLsFTdpYOmV+E5miLje2qvr8VhTt7EuwOq8vrr0RUBi19gd5MhS
	TqrIY3EXq1KfX6Ru6cET7Cs/8IuS4uU=
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.3-rc4
Date: Fri, 24 Mar 2023 12:35:50 +0100
Message-Id: <20230324113550.8218-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.3-rc4-tag

xen: branch for v6.3-rc4

It contains two fixes:

- a build warning fix for a patch which went into rc3
- a fix for avoiding concurrent accesses to the Xen PV console ring page


Thanks.

Juergen

 arch/x86/xen/enlighten_pvh.c |  2 +-
 drivers/tty/hvc/hvc_xen.c    | 19 +++++++++++++++++--
 2 files changed, 18 insertions(+), 3 deletions(-)

Jan Beulich (1):
      x86/PVH: avoid 32-bit build warning when obtaining VGA console info

Roger Pau Monne (1):
      hvc/xen: prevent concurrent accesses to the shared ring


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 11:37:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 11:37:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514277.796375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pffjS-0002of-Kn; Fri, 24 Mar 2023 11:37:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514277.796375; Fri, 24 Mar 2023 11:37:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pffjS-0002oY-HU; Fri, 24 Mar 2023 11:37:18 +0000
Received: by outflank-mailman (input) for mailman id 514277;
 Fri, 24 Mar 2023 11:37: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 1pffjR-0002oK-0v; Fri, 24 Mar 2023 11:37: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 1pffjQ-00084O-To; Fri, 24 Mar 2023 11:37: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 1pffjQ-0003uZ-H1; Fri, 24 Mar 2023 11:37:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pffjQ-0005kj-GV; Fri, 24 Mar 2023 11:37: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=xEZ/oi+m8fRSwiWHtFXOc7loSuCZMSRrvxA5K45WsL8=; b=sxpD8aN03lB8Hqwyyr3mQ7Mjq0
	iaUxXFOZ64FKM2Xh62xMSavFWl6IRWFRu4K8/KB/Yz/OAW5t+AhqqV5DH1JpbKmd7bssZDosbCSPA
	vz4dDPo7yheXMROTVJF1wiKap7TjHVC0sulTDYvr0cg2jchuR20zqd8NFEqRycghXqwQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179890-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179890: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    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-amd64-i386-libvirt-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=d1690ae485393b15c765bb2149687fd5f2552e41
X-Osstest-Versions-That:
    libvirt=743fdb97c81f38adc6e9b55f402244f7982352f4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Mar 2023 11:37:16 +0000

flight 179890 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179890/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-amd64-i386-libvirt-xsm  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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              d1690ae485393b15c765bb2149687fd5f2552e41
baseline version:
 libvirt              743fdb97c81f38adc6e9b55f402244f7982352f4

Last test of basis   179861  2023-03-22 04:18:51 Z    2 days
Testing same since   179890  2023-03-23 09:29:51 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  grimst <grimaitres@gmail.com>
  Jan Kuparinen <copper_fin@hotmail.com>
  Jiri Denemark <jdenemar@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   743fdb97c8..d1690ae485  d1690ae485393b15c765bb2149687fd5f2552e41 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 11:47:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 11:47:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514283.796384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfft2-0004cX-KJ; Fri, 24 Mar 2023 11:47:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514283.796384; Fri, 24 Mar 2023 11: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 1pfft2-0004cQ-Ha; Fri, 24 Mar 2023 11:47:12 +0000
Received: by outflank-mailman (input) for mailman id 514283;
 Fri, 24 Mar 2023 11: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfft0-0004cK-SP
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 11:47:10 +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 99ce6531-ca39-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 12:47:08 +0100 (CET)
Received: from mail-sn1nam02lp2047.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.47])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Mar 2023 07:46:59 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH0PR03MB6082.namprd03.prod.outlook.com (2603:10b6:610:b9::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.40; Fri, 24 Mar
 2023 11:46:52 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 11:46: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: 99ce6531-ca39-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679658430;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=PRVft3SlbXDA0bUjEHDKGWJkplWQ8toDcXhXXpDrLuk=;
  b=Y6tgVl8GgPk0dXEtReWXuolSdlpk6QpVjxYuzNoSbOi2FFB9NBz+pL9C
   4OibuLwaEZYH6OaYmceLTv+lbhJwTTR6czSKeohrPuolQaU9PHtKvnOSt
   I5bSnMZXm0fnlr5yne9qjzjp8cubYiwxf9EsOk5hKJw6MSRJ4JKr5EbZX
   0=;
X-IronPort-RemoteIP: 104.47.57.47
X-IronPort-MID: 101537003
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:RlK5o6os05/YjvsTHCgmiA9FllReBmI6ZBIvgKrLsJaIsI4StFCzt
 garIBnTOqqMM2L0KNhyYYrk9hsP6pLcztRhSlQ6qC0zQS1E95uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSVNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXACACSDSovqGS/JW+dLdvgIMONsX7BpxK7xmMzRmBZRonabbqZv2QoOR+hXI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeerbIW9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgr6Mx3wXLnQT/DjVPbga/m93+13fvYNxQF
 0tT1zIul7Q9oRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LRQ62
 1nMk973CDhHtLyOVWnb5rqStSm1OyUeMSkFfyBscOcey9zqoYV2lRSWSN9mSPSxloetRW62x
 C2Wpi8jgblVldQMy6iw4VHAhXSru4TNSQk2oA7QWwpJ8z9EWWJsXKTwgXCz0BqKBNrxooWp1
 JTcp/Wj0Q==
IronPort-HdrOrdr: A9a23:DGqViKyTsVqRWsZJnX+nKrPxMegkLtp133Aq2lEZdPULSKGlfp
 GV9sjziyWetN9wYh4dcB67SdC9qADnhPlICO4qTMqftWjdyRGVxeRZgbcKrAeQeBEWmtQtsJ
 uINpIOc+EYbmIK8/oSgjPZLz9I+rDunsGVbKXlvg9QpGlRGt5dBmxCe2Km+yNNNW977NYCZf
 ihDp0tnUvdRZ1bVLXyOpFDNNKz1eHjpdbDW1orFhQn4A6BgXeB76P7KQGR2lMzQi5C2rAr9E
 nCikjc6r+4u/+25xfA3yuLhq4m1OfJ+59mPoihm8IVIjLjhkKBY5lgYaSLuHQYsfyi81Ejlf
 jLulMFM95o433cU2mpqV/G2hXm0hwp93j+oGXozEfLkIjcfnYXGsBBjYVWfl/w7Fchhsh11O
 Zu03iCv5RaIBvclGCljuK4HS1Cpw6Rmz4PgOQTh3tQXc83b6JQl5UW+AdwHI0bFCz3xYg7GK
 1FDd3a5txRbVSGBkqp9VVH8ZiJZDAeDx2GSk8Ntoi81CVXpmlwyw8iyMkWjh47heUAYqgBw9
 6BHrVjlblIQMNTR7l6Hv09Tcy+DXGIaQ7QMUqJSG6XVJ0vCjbokdra8b817OaldNgj150pgq
 nMV1teqCobZ1/uM8uTx5dGmyq9AVlVZQ6diP222qIJ/4EVHNHQQGm+oREV4oWdSswkc47ms6
 3ZAuMQPxfhRVGebbqhkTeOHaW6EkNuI/H9iuxLKm5mnfi7WrECltarBso7d4CdWAoMayfYPk
 YpegTVCYFp0n2LM0WI9SQ5HUmdNXDCwQ==
X-IronPort-AV: E=Sophos;i="5.98,287,1673931600"; 
   d="scan'208";a="101537003"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=czKDzhxBMfhBrh9XEHc7ka3WrqmIDidgzsX/BINNHM4xMYVgsrBS3m174qZYMpYh0Bt4TfYIEuj6llolI2XERMCx4cH+pcLjNxTHKWhA9RMc/pWULdfoP3qg1/K3rHBAYmViA3aTvoN0T1/+dH1YbehEu23UOady9UspEoJZ6BNUJnFdIVHD/lE6DZ+uXlTHffPvVkIcLWvHl8NVumwuOKLUVESFeDHmK0VBBagCwgS41BR86kHnSHsjPi8QIGU/hOk0q/3A8SXZn61S+QD0Bgxv3Zak20Vhm3n+4RnMRZrQ0GFzgSd5rZYHM7koMuRUwa115//lSWnnWZAEVOof8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PRVft3SlbXDA0bUjEHDKGWJkplWQ8toDcXhXXpDrLuk=;
 b=O1Hc46/sN71pNQwUiS1BjMVG515UALqut6NMZulXMYG9Qyy4RpjqcULPKD6+Sec0xa/N4t1eJOg/Zjixl/GUmOMkRgpp8ihlmAdYpn2Y329kMAaW0fOcTdoHwqsqARzhQQ7b0g4M0Yjpdlv4r2h48UoQpMQOTyo66WBE7E865UE+lpeI7nScc60nx55KmTzba/VtjetZsx3PLbpvYV/g94C06yWHJO0IGF20CWJIxu9QCks/jB8AU/k500UzxQmb2gL+KV3pBYXINNGxEaNqSNL+uxOjLCpXmUpONP/KnBlJDN1VJm5Bfi7+VH0BUeQyWdaVZPyhdmSUBgtQjS6FJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PRVft3SlbXDA0bUjEHDKGWJkplWQ8toDcXhXXpDrLuk=;
 b=cOLoNsxz33+V/V2v5Kr2R14OxdnoYHrkT0B/vn6oQQ9K/oznizbaHt5x5uM18IEofEN14lVs28bPQQDwZbS1GGVjkpv3sS0cpLCMWjh64nUAIhBvlWm/kcuSjKpdIjzaPg1p6DaFzAhdo4o97s2T9/YefB9kya4wDuChAqmUM1Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <6a6469c8-a88b-2ae3-2114-6a8b7e53a4fc@citrix.com>
Date: Fri, 24 Mar 2023 11:46:46 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 1/4] x86/hvmloader: SMP improvements
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: <20220824105915.32127-1-andrew.cooper3@citrix.com>
 <20220824105915.32127-2-andrew.cooper3@citrix.com>
 <a27627e8-9f26-eff3-c94f-0ffc7108914b@suse.com>
In-Reply-To: <a27627e8-9f26-eff3-c94f-0ffc7108914b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0627.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:294::15) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CH0PR03MB6082:EE_
X-MS-Office365-Filtering-Correlation-Id: 2bad1aff-b5ac-41e0-788e-08db2c5d7575
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lbXnXXAEVEU9V/XtUfbi7Db0gcIZ594LctJWZCyjeKsjzOR83+qUHT9JFjvbWSNEz4Ro+bZsH2zOA3BgodcReUYQmgJP1qA+IsAxFcKF6HtZulcIhcrVaThz7/+wtFmHKpGZW5lpvkQbIVwd0uJpWw8aDdNwCtQIEJP1JDmAIEdCyDiVqacCxPkyqEydVrzKvylXSmi1wD6NUiHo93RUOwGz3Oj6QwNfAGvvEQVySNCMsDBMlf1ng9emXkxwJ4TYVn23IJqlCngsSs/Rsm+UTEh8/2ynOJkDuOifaj6JA/UhmjU1Kbk7730vSuuNccG8Wd657rHrjVUB+D1Z0n/V1Pg6X2XJ92oyPRf3HXnqf1vCYmYODsnFuP/B0hPfecn5XoJKI4ujAde97oZkdF/hK40/qa8jv01WkBKyfb2iP+vHCFbaPCxpe+VUTj6J7JJ4jO8v0OMA82rDFWR5j6maJhLcsW6xjo673RJHR/oL33qk6GR8pz2onn0gsrWN+swjHv9FUjpPnyW/mhlYDI2+vnjkSZIqShauleqxB1XHTPcEVnzna1Wax1+bHzDSSF/Mg83WLKp+3Vi3KUaF5CI395o7kdQC2xtE3VW09y0uudY8t4cyFTPujoCxoZhhxQ7ikx5SEcOAJjc5Y9rg4Jb88YTI4lLCUjWsVPogj4pKO7Xr2H3501fU1CMoe3UlDhPivTYRlITtK4aku56P2M9j/8m+8NYhZI2uobvFQSYbCqw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(346002)(396003)(366004)(136003)(39860400002)(376002)(451199018)(36756003)(66556008)(66476007)(8676002)(6916009)(4326008)(66946007)(8936002)(41300700001)(6486002)(478600001)(316002)(54906003)(2906002)(5660300002)(82960400001)(86362001)(31696002)(38100700002)(53546011)(6512007)(6506007)(186003)(83380400001)(26005)(6666004)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SHgrZE14RU9xV2k1V2lZdGlZNGZ4b3Qrd0JkbytxRGp5VmVlM1B2UENnSVNJ?=
 =?utf-8?B?bThETExEWlF4SWJuY2FZOWJ5bjlzcVN0Vnd2aFZtWDhwN0pKZ2ZVSU4xcGNr?=
 =?utf-8?B?elhhM3o2dW5pMXlVYitrTEdDYkc1dTkramlCRU5uckgwSkxwczBvNFJSM1R1?=
 =?utf-8?B?dnNMb1RiNHVRcmROWjc2eGtuRHlEc2RicmhMbDFJcVloRGE3WUtBcVFaVkpJ?=
 =?utf-8?B?Sy8xdU9PS2l2V0l0aUZKeTNuR3o5SE9odVc0K3d0aGFHQnd6SDBOZ1ZJQS9W?=
 =?utf-8?B?R3FOSEwyVUZtczBpR2VKbU5xajJUcVpLNlJ5ekRyRmpJZ3d1d3JsVm54K2ZT?=
 =?utf-8?B?RVBiQWZkMURJL2JLM0FoZmgrRTFKR29JZ0tveFROc01HalFwUlptVTR1TWVB?=
 =?utf-8?B?aDFjRWhaRHVObnF5REtjY2RZZFJEUk9ER3FXTklVUmpNdE04K2pPVHhIM0Zj?=
 =?utf-8?B?aFlPWUNtOFFETGg0TnBaMHVZbFlGNGt0RytpWmZ4ekN2cGl2dGlFaGFRY0hy?=
 =?utf-8?B?OTZyb3RWNVd6eWJaVE1ybG5WbVQ5RzNJVG9tU0h6Y3VINmZoTkNJV3RaK1M1?=
 =?utf-8?B?QmQ2NkFWZ3JiYjQ1VkNqbVhTbUdYQmJaRHV3YzBPTGY0NHEyZEdzeTQ2SDFZ?=
 =?utf-8?B?QW1aRHVhSk91d0pvOWVQZmxaREs0WHoyVFpBVDh3NHRWUWZKS2grQmd3MTdS?=
 =?utf-8?B?dE9yZTR6dnZ2T2FwNEgwSE5aV0dJWTMxTHhSK1oycFNMS0ovS2lJb0FPN0Nh?=
 =?utf-8?B?WTEyNVFkK1pEekpSZnFRTUYwVkFUNXpGYWNMUVJGZy9FSVFaR3pQNVhmam5s?=
 =?utf-8?B?aEx4dWgrejE2ZjRMSWI0L2pDb3JnRE15REZqY0ljY3RKQzlUYk1XMXpXRlRv?=
 =?utf-8?B?ODRhV00yKzd4TGUzdjVvOUFoT2I0cnZMNjRKcFNTbWpxZFVUREZrbThnT01y?=
 =?utf-8?B?bjhLUU41MEo3QnRGekR5VVVhY0VUWjVOZ3pYZ1JGYldxcGdGdHY3OTJXSWlF?=
 =?utf-8?B?NmlBdTBBUUsybVEwNDNLOTBzN3lmT25HTlJ5a1ZUbnNwb3JXK2M1SWtrTEw2?=
 =?utf-8?B?Tk1SL200b1J3ZlJoMThiM2RjNElhWWQzSGxOaVRJYkIwWWp6a1J2UitqRVBo?=
 =?utf-8?B?ZDZldExBTFRhTTFaRnJEcE1tMjZJakgvcUQ0SUxPcnJFU3gxOWtQMzdaRnE3?=
 =?utf-8?B?SlJCUmljZGtpVnpzZnp5SHllZDlkM3lyZzkxajBHb3k3VFBpbW1pMTZFMncv?=
 =?utf-8?B?RUpIUVYxQkZud3JPVnJUcXBya3ZNdXhUT25US3FzS3RQNTZ0VlhaRER0Sk5L?=
 =?utf-8?B?QUhmTlU3bDlFM2RaUVpkRnIxdkEwQldpWXZKT2swY1hCRUtNVEJKVGNQZFND?=
 =?utf-8?B?ZStnY3ZDVmw2V2F5dmJHTjdnS2x6ZkJzcm5oN1FpSWN4eWlnRTBlbHFRUHFW?=
 =?utf-8?B?VVhLYm5GR0ZTbUl5K1UvZjhBdkpUZGl2UlpkWk1FWkV2QlFaZ0lwdjhXU1Q1?=
 =?utf-8?B?Qm01c3BLWHFTcnllY0Ewd2cyZWYvVnZ1TVUrUk4rck5tNjU0WlFNcUNaMmFk?=
 =?utf-8?B?MkRpUzhoYUFmSzY0SXZPRHV6Q0s3L0grT2h1Rm1zVGtZUTNWWHFFUkx3aVBD?=
 =?utf-8?B?MU5SNU44Tmswa0RMUldWZTBoNEpsZFZHcWxlbFZBQzNHd0l0ZGw2K0c4UTRK?=
 =?utf-8?B?cFRsc3RvUmtWQ2Fadm5JSlllS0tEdkpmdEJFMDBLQkhCRkZpSENZWTFoT045?=
 =?utf-8?B?V3RaamZmV20yTkhlWWovSHN3amJKNlFHOHNodVJtRFJGcThUS0J0VWVMUGRJ?=
 =?utf-8?B?akgzQjFWbExtY2xwQVV4VkladEhkaW5vYkxvWlVxdlZURjE2aGt2T3ZERXZH?=
 =?utf-8?B?bmNiQWMyREVVeXgyMTczS3dZeGRFaFE1WllhSHJZZzBqMlg5SXdqU1orVmpt?=
 =?utf-8?B?VlpoM3k4cTNZWlFBbHdleTBxeUppUm1YVW5hYkRDRUFMckdIejk3K1pJOTlj?=
 =?utf-8?B?U0NJSzlLa1MzRDhBSjl6M2JiVGpmc0RSWUUxN3hIbUxnWDd4czhiT2tHdWVm?=
 =?utf-8?B?Rk8wc0d2SFNDY1JUNDNkdno2YTllS1FHSnpMQk8rTG54OW1GKzV6bTRtZ1px?=
 =?utf-8?B?eHF5bTVVOFVhQmJkZ2lobkFXV1ZOUU94NERYQ2xRc0NGMElUeWFtVzlBTGdW?=
 =?utf-8?B?WkE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	GgvXyhsFRfcymtWHBJnx1v05r4e39rwR9yBiwtqEmcMce8g3OOD9aZfONWNKd3eQrt+s4y31q2nOfWhgTuYzOjiy0xe79jdnbihPtkYTFVyN7oDSTdehWkLNjbkSkvfbwHb/WiUUSS36WFUZhnTWK2WkGwqaai9/lWA/IKSSbobEhrmfMJcEBfb3yG3wO/wA04lPPTwAaAM/cI276jVSkpzBURN7p1LkvyGhn8+bd58+Lwxcns3p8Txny6tIEIatPBY9zD2NC0W3D2ltmjsFgx4LHLOmwocx5V+IPjAD11pEdmt3eeQ9+WIWFRdsp2w37+T7wb+OqgwXCf4bSKXviOtj6DBNQT9u1O+BpV71Wvb6e6pPkt5ROu7Y6bH6Dr0eQLEmmALBLdcBUgEj6TmgKzfRVdR2Sx5zwsL05LbzcFiPae2YFIJGR/4h68w8NodUQ6DgThGFhKykJ9PEtyKpAVB12sLaRc22KbWM+abCw/sx+PZ5G/pAeq52dvrTa7dg8EQ2GZRTDJ/NuB0lag9FhU0NxwZnUft2d7+vUSJYvcrkUFrJEalteBkcS+kApgNZPKMQNCvN7d5k+fddMsywqRzocfggOxDg6Ypjzr+6G2gwreiWfMN8GKLODAVWSyCGZ9c+Pz8yESVMxvO36U5tTcNLRNT5PE9jA373uDqzoCPMdMrb6m3iSA1Bh8E/3vlEcmwKLtR3YHhQnXljk6wfvjEKmjIjQxORCFTppkF0vsyFwHGGToRPrdhMViopw6UesXRTCBQjbq7EYLOShpTRZ4fb6XZXkPc10vPLDJn/bC87ueE3TARTNAutZpOEUf6HU2gHrjzmMZA5B4EA3hWTwA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2bad1aff-b5ac-41e0-788e-08db2c5d7575
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 11:46:52.3051
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ju+o8VHBvBHyFaw8MiEj0lNS+D9E4PzO+kbdAayObzpMaSuc6JoynpvZ3U+LJSJiUxNVMIxGZPxgSXDpnSl36/D1q9oCpSlY1937glHGMQo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6082

On 24/08/2022 3:21 pm, Jan Beulich wrote:
> On 24.08.2022 12:59, Andrew Cooper wrote:
>
>> -    ap_callin = 1;
>> +
>> +    /*
>> +     * Call in to the BSP.  For APs, take ourselves offline.
>> +     *
>> +     * We must not use the stack after calling in to the BSP.
>> +     */
>> +    asm volatile (
>> +        "    movb $1, ap_callin          \n"
>> +
>> +        "    test %[icr2], %[icr2]       \n"
>> +        "    jz   .Lbsp                  \n"
>
> Are we intending to guarantee going forward that the BSP always has
> APIC ID zero?

It's currently true, and I doubt that will change, but I prefer the
suggestion to not call this at all on the BSP.

>
>> +        "    movl %[icr2], %[ICR2]       \n"
>> +        "    movl %[init], %[ICR1]       \n"
>> +        "1:  hlt                         \n"
>> +        "    jmp  1b                     \n"
>
> The use of the function for the BSP is questionable anyway. What is
> really needed is the call to cacheattr_init(). I'm inclined to
> suggest to move to something like
>
> void smp_initialise(void)
> {
>    unsigned int i, nr_cpus = hvm_info->nr_vcpus;
>
>    cacheattr_init();
>
>    if ( nr_cpus <= 1 )
>        return;
>
>    memcpy((void *)AP_BOOT_EIP, ap_boot_start, ap_boot_end -
> ap_boot_start);
>
>    printf("Multiprocessor initialisation:\n");
>    for ( i = 1; i < nr_cpus; i++ )
>        boot_cpu(i);
> }
>
> thus eliminating bogus output when there's just one vCPU.
> Then the function here can become noreturn (which I was about to suggest
> until spotting that for the BSP the function actually does return).

Dropping the printk() isn't nice, because you'll then get unqualified
information from cacheattr_init().

I'll see if I can rearrange this a bit more nicely.

>
>> +        ".Lbsp:                          \n"
>> +        :
>> +        : [icr2] "r" (SET_APIC_DEST_FIELD(LAPIC_ID(cpu))),
>> +          [init] "i" (APIC_DM_INIT),
>> +          [ICR1] "m" (*(uint32_t *)(LAPIC_BASE_ADDRESS + APIC_ICR)),
>> +          [ICR2] "m" (*(uint32_t *)(LAPIC_BASE_ADDRESS + APIC_ICR2))
>> +        : "memory" );
>
> Can't you use APIC_DEST_SELF now, avoiding the need to fiddle
> with ICR2?

No.  Fixed is the only message type which can use self or all-inc-self. 
All others are only permitted to use the all-excluding-self.

This makes sense as a consequence of likely shortcuts taking when
integrating the LAPIC into the core.  Either way, it's documented
behaviour now, however inconvenient this is for this case.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 12:03:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 12:03:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514292.796394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfg8i-0007hS-5o; Fri, 24 Mar 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 514292.796394; Fri, 24 Mar 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 1pfg8i-0007hL-2g; Fri, 24 Mar 2023 12:03:24 +0000
Received: by outflank-mailman (input) for mailman id 514292;
 Fri, 24 Mar 2023 12: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=e6lt=7Q=citrix.com=prvs=440da7b32=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pfg8g-0007hD-KC
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 12:03:22 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dbdf39ae-ca3b-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 13:03: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: dbdf39ae-ca3b-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679659399;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=VxOkLmVioD22t6pX8LQA6dFCs3P7EfUD1NXxmvOb3/g=;
  b=eXt3E583AB4Y+SoDxMFnTqX1DuKK3FCbXpleQ+x/FGfALdhEiyP/Dw9S
   1KpHNENzUhDIo4g98XskAnp0ZPRo4IZF9lhnYhK1+PFwVDiwPIa4hWwsw
   Nt7aitkY0vVGy7mJjc0WgN2KKJjdmAa6dvj1BTadnuBGd7D+edVEVuuZ0
   I=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 100972956
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:qPMKzKxsDbj1RKQfG9N6t+cYxirEfRIJ4+MujC+fZmUNrF6WrkVTz
 TEcX2GAP63fYWLxLtByaoW+9EsC6JPQyYJmTlZkrSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6wT5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KVlc7
 cURDwIWUh2Gnfvp6fWeFLA9mNt2eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKZOUYn1lQ/UfrSmM+hgGX/dDtJ7kqYv6Mt70DYzRBr0airO93QEjCPbZwNxhfH/
 DOboQwVBDkrJOGukhCjw0mqpcLEl3rFAqYwRJ63o6sCbFq7mTVIVUx+uUGAifu2kEmlQPpEN
 lcZvCEpqMAa9kamU938VB2Qu2Ofs1gXXN84O+Qi5RuE0Kb88wufDGkYVXhRZdpgs9U5LRQ62
 1nMk973CDhHtLyOVWnb5rqStSm1OyUeMSkFfyBsZQId7sPquo0bkhPFRdElG6mw5uAZAhmpn
 WrM9nJnwexO04hSjf7TEU37byyEnorRdwcS1B7rU2e/91xQI6v7Pt229g2OhRpfF7p1XmVtr
 VBdxZfPsrpTVcHU/MCeaL5TRe/0vp5pJBWZ2AcyRMd5qlxB7lb5JehtDCdCyFCF2yruURvge
 wfttAxY//e/11P6PPYsM+pd5ynHpJUM9OgJtdiONLKimrArKGe6ENhGPCZ8JVzFnkk2ir0YM
 pyGa8uqBntyIf05k2vrFrlAieZ1mHxWKYbvqXfTkXyaPUe2PibJGd/pznPXBgzG0E90iFqMq
 IsOXyd74x5eTPf/ckHqzGLnFnhTdSJTLcmv+6RqmhurflIO9JcJV6WAntvMuuVNw8xoqws/1
 ijhBRUGmQan2iKvxMfjQikLVY4DlK1X9RoTVRHA937xs5T/Se5DNJsiSqY=
IronPort-HdrOrdr: A9a23:Qlj0R6hgczlKHHZarTGGKv29CnBQXiAji2hC6mlwRA09TyX5ra
 2TdTogtSMc6QxhPE3I/OrrBEDuexzhHPJOj7X5Xo3SOTUO2lHYT72KhLGKq1Hd8kXFndK1vp
 0QEZSWZueQMbB75/yKnTVREbwbsaW6GHbDv5ag859vJzsaFZ2J921Ce2Gm+tUdfng8OXI+fq
 DsgPZvln6bVlk8SN+0PXUBV/irnaywqHq3CSR2fiLO8WO1/EuV1II=
X-IronPort-AV: E=Sophos;i="5.98,287,1673931600"; 
   d="scan'208";a="100972956"
Date: Fri, 24 Mar 2023 12:03:08 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Juergen Gross <jgross@suse.com>
CC: Jan Beulich <jbeulich@suse.com>, <aperard@xenbits.xen.org>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [adhoc test] 179901: regressions - trouble:
 blocked/broken/fail/pass
Message-ID: <0187b2ff-5328-417d-9efe-5ab8933b4ce1@perard>
References: <E1pfV8U-0006eX-2p@osstest.test-lab.xenproject.org>
 <0b1181a1-5a96-b3e8-ffd8-6f256ebbceae@suse.com>
 <145d84a7-b3dd-f578-3c8b-10a5aba53491@suse.com>
 <0593df9b-f8ad-0042-e024-354623f163e6@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <0593df9b-f8ad-0042-e024-354623f163e6@suse.com>

On Fri, Mar 24, 2023 at 12:16:10PM +0100, Juergen Gross wrote:
> Next try.
> 
> Anthony, could you please use this patch instead of the previous one?

I've created flight 179924, with:
    https://xenbits.xen.org/gitweb/?p=people/aperard/linux.git;a=shortlog;h=refs/heads/0593df9b-f8ad-0042-e024-354623f163e6@suse.com

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 12:16:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 12:16:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514297.796405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfgLB-0001C7-B3; Fri, 24 Mar 2023 12:16:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514297.796405; Fri, 24 Mar 2023 12:16:17 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfgLB-0001Bz-7E; Fri, 24 Mar 2023 12:16:17 +0000
Received: by outflank-mailman (input) for mailman id 514297;
 Fri, 24 Mar 2023 12:16: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfgLA-0001Bt-Cq
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 12:16:16 +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 a98d330e-ca3d-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 13:16:14 +0100 (CET)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Mar 2023 08:16:08 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BL1PR03MB6053.namprd03.prod.outlook.com (2603:10b6:208:309::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 12:16:04 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 12:16: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: a98d330e-ca3d-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679660173;
  h=message-id:date:from:subject:to:references:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=OV4ieA3tts6XmpPtRrrSXZOT6+1FTFtCKlPxLRL9vEQ=;
  b=QcOpt/ZWRIcaVVmT4f8oNy7F3MH8jqT7oOiXdd/pkxFTRVStADjCAo1o
   btXK8D56PDySQFXHQY6IxeAYPxb1LGbB+pt32Yg6GGdTUGx1h+hqddd2e
   sU1EQ0M9PkdmX/pL/BVg6FQM5mEW1n9JP9Abf9an4yrKgk3EEyBhbKh7u
   c=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 102186502
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:48zmAKu4OjMov8+WGB4UMrRSfufnVFlfMUV32f8akzHdYApBsoF/q
 tZmKTrSOfuOMGf3ed10Yd/l9EtSsJ+EzodnQFRs/y4zESoW+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASEyyFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwOSINUyqFluWK7423Zrh0vpoOPdG0M9ZK0p1g5Wmx4fcOZ7nmGvyPz/kImTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgP60bou9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgrKc63gDLnAT/DjUxCEKgqKmakHSzfN5HK
 UtL6wg/oqYboRnDot7VGkfQTGS/lg4RXZ9cHvM37CmJy7HI+ECJC24cVDlDZdc68sgsSlQXO
 kShmtroAXlltu2TQHfEr7OM92rsaG4SMHMIYjICQU0d+d7/rYovjxXJCNF+DKqyid6zEjb1q
 9yXkBUDa3wopZZj/82GEZrv2mLESkThJuLt2jjqYw==
IronPort-HdrOrdr: A9a23:7npTGq1y5jXys0/DKDSY4AqjBIwkLtp133Aq2lEZdPU1SK2lfq
 WV954mPHDP+VUssR0b9OxoQZPwJ080lqQa3WByB9uftWDd0QOVxOsL1/qa/9SKIULDH4BmtZ
 uJf8BFeb/N5VUTt7ec3OGze+xQpeVu/8iT9IPj80s=
X-IronPort-AV: E=Sophos;i="5.98,287,1673931600"; 
   d="scan'208";a="102186502"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ciV+xoz3q+gXo4IDG48Ao40yZdANjPo5fanExoF5M1+S2wpFg7KumDwYHOrrYTtYNhFBeUBNzla6m/NiHBOWAB/YrC42RWkqS46zfgglwfQN38rL9V2pl4EMyVv2fZyNxzfB34xdBzhYCNLk54MDyS5WyOHbhySgBruu7JixZ24YrgmPMvcmxGQJlg6Mpa3pidjpFvtFCn8uim79Q7Mm5OCYub79kCUz68zEUzfVOD+CI1fLlI5A09zHTO+G1QDUwhAvaJPF4jOFjXfLYMbtrhZujKekO3i05xG1V3nWG5H75MLRZMVdoDsjet/UxRHckBk2uwMvmKJj3YQSOzanrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+3AYN/G6DDqD5rYkzUHJWi9jP6p/gpjXT027LhFltw=;
 b=Dh1kWPQqyPvo+X1TC20yfb8XEbIr8kp0ViYWlcbRhcA3wt3HE/3q4qqU/MDRw0PLGsb8T+r1nOS8efu+QZncRkV4mca21iytHWjg6opJXAsi2uv4Uw9r0gZyJaLz67rxbMqpwv2ubfH5sEeOsKk79SlQY9W3tGeyfa8ex1pBFjyCfoJ1Zptfgs64y+lVj8LMm8B4naW5X8E9h7+kgFc62wAMcBZgACSn9b/3H+YEzNQFM3Um9MOWkjtkWnnT3jtx+GKXN9Z457ETIMeo5QwaOdnw1nEAOBeI1OYCN8uo85r/Mp7pKnBIVOA1oXgI6Hlkxe8OyDKcYrBv2RzT2KHBWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6+3AYN/G6DDqD5rYkzUHJWi9jP6p/gpjXT027LhFltw=;
 b=qi+kuHw4OR1140pYHLrfL79b+7Fb77eGZlhbcnhhX+ACFZ9FtNzI53bmuRIC66BA9UXGdxEYTsxEjEFbW2vTTlOgNbpuPnPELJtHsxWMKGHemIrhP5IHc6KhjegUwh2eh1nPR3NY7GTtKN4g2glcDM1mRVxQkcAqnNhz+arroD4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <cb3650eb-080e-b232-cbe5-453d638b780b@citrix.com>
Date: Fri, 24 Mar 2023 12:15:58 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <Andrew.Cooper3@citrix.com>
Subject: Re: [PATCH] x86/hvm: Improve hvm_set_guest_pat() code generation
 again
Content-Language: en-GB
To: xen-devel@lists.xenproject.org
References: <20220810133655.18040-1-andrew.cooper3@citrix.com>
 <74d0425a-a206-2bcb-50d6-e5bb4c5e2bf3@suse.com>
 <77198021-f45c-9d75-c1da-5022d3ca99a2@citrix.com>
 <1eff8db6-c358-9597-6096-0a1312d59712@suse.com>
 <6f59d2a4-fcb6-77a1-2cd4-51e032fc80f4@citrix.com>
 <18957f67-7afa-1327-6c31-ef38edac8211@suse.com>
In-Reply-To: <18957f67-7afa-1327-6c31-ef38edac8211@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO3P265CA0016.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:bb::21) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BL1PR03MB6053:EE_
X-MS-Office365-Filtering-Correlation-Id: 160c9010-2fa8-456b-1e06-08db2c6189c7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	W47Tur4cxQDdia2tk0fkhPjWWcZvxAXw9uIxOfA8Pj3RBIv9OMg/eRQDb2uDrQh8wrbmudlWrehWq0hSO8y2CbGg1gX8mj3Tbv8Zdup2FMok9Oaf91PBQYnLQQTKGFTeGCcLJEgFnsDs5RRKsWumep1QR+BvoPvzXRrGtGiC3Q0ZpqSWNbRezWDXso/i4EZtd4nV4AO7xrYMcBaxJjLeSqM/PVpaQ16jVs7zRo1Zm7jXvLGydIEPTgmQ4ViqDPfgzHgwhzizkuaXvvnixuGBt2LU5Q82C7LNsEjsrl2ZVHVKLJ/I/9YO7H5HwAiGM8lpODb7XCYO/i8E+POUk5wtoYio4vF7Kbv2N3bsfcxV9F3+tRjhE1PA4/uab9+ByqfrTQpN7ugNmGhLXfbA5qZS6bdw7b69wsuQRdjiK0zSbZ+QLaK7g0Of57pTObpBXtruxmUUxsd8tdderlRWMuDoM12o3Hyev4w3SInaBlYfMuXkPSrYrn4lP1zkRhCFTtzkj0yqmClC4Js7LwxlRaw7zj+JcfPyv/EkZ6B9ARqpV4YJQ3wlXIrDOXlr0r20YPSGuoEiesECbrID/MSmRsSXhsYFJeMZ3Cq7yI58LSJQDzjghT5TgOwYivrZCIJi6UzY3FXVIIvnZTnLcd5Apkz4GVoYP+cfvBnZ07m8GwPbQmZflZ02pD+48CRk9g1RhmYAABDChbFEQX/jTAGjkNyFXGguE60ZNWf2KqWJsQBJolg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(366004)(136003)(376002)(346002)(39860400002)(396003)(451199018)(31686004)(38100700002)(82960400001)(36756003)(31696002)(66556008)(8676002)(66946007)(316002)(478600001)(6916009)(66476007)(83380400001)(6486002)(186003)(6666004)(53546011)(6506007)(26005)(2906002)(6512007)(2616005)(41300700001)(5660300002)(8936002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eEJLT2pPZFk2Sm9UUHRXUklFYlVMelJKWU5IZGRiR0QyTDBFdTN0eG13dHFZ?=
 =?utf-8?B?UUlEWkJ0eVhDRC9TRjlmR0JBc2dXVU5Ra1ZGdzA3UVdUV3JSbW1hYU93ZHRG?=
 =?utf-8?B?bThCdjhMMmJVUmtoRU9oMGQ2VksrOUVIMThxVlFGZEV1ZVVadUhTbEJmbEdK?=
 =?utf-8?B?ZnJKOGNvMXhqTjMzNlBSVEtnSUVUcVk2VGFLdHd2alBIaTczTDlKNFB2S20x?=
 =?utf-8?B?dG1qUDhNeTYxbkFENEdtYm1FbysySDM2ekFDTFZBb2hZeC9wZmgxNGJuSkNI?=
 =?utf-8?B?YnJReUNnTHM2N3NHTDBqTnVRUkRJaEpudnRER2h1ZitRMHdIK1Nva3Vpd0RI?=
 =?utf-8?B?dE83OXVxcXE0NlF5RlBNaFNhZjNGbGwrTzhzL1VKNThFSkhraFMvU0M4dzYx?=
 =?utf-8?B?QzBud1plNmYvOTR1czZSSmZxVWFzQWJUOVNzcTA1TnVIdCtCSW02ZkQ3ZHZh?=
 =?utf-8?B?R1hxcEhZMUtDREpNZUM2Z21IcmpFUEc4ZXBJcVc0Ylp3UVVxYjlwVEJnVUFq?=
 =?utf-8?B?UDFRWXZNL3ZCdlRaV1pmYjJBQzBGTHA0N3poV1FrTVU3VFhnMThnYTJMTTVn?=
 =?utf-8?B?cVRLaW9aRWpRamhkRzFiRGIveWRhd0xJd3ZmKzFXT3BDOGhraTNWMUIvUVc1?=
 =?utf-8?B?SlBpSHJhc3ZtaFZXZFZiRWZPMmJkUnZ3WmFuNEErb1UxSVNFem4wSGZkcldm?=
 =?utf-8?B?czNpK1FVYUtkOW9ta1JDQVZCUUdxVmZpTjlsUzU1ZkZiN3RzbVY5K1dKZ25v?=
 =?utf-8?B?WSsreVZwTlBQWEJkMjVBWjc2YzV6L0JFeDJ4Yk15SEJxWU5PU0hFTXYvYisz?=
 =?utf-8?B?WUxReWUxblBWUFFKWkFyamh3c1ZNa0RZODVUdWg3MzF6ci9jQ24zUDBzY0VV?=
 =?utf-8?B?QnBXMUFDdHdNRThYQU1kY0ZJVUEwWDZ3VjNXZ3Z3Nm1EZVNEU0RBcFZMUlFw?=
 =?utf-8?B?dDI5MEwrOUUwbjdyL1dVeXBTSFU2SVprL3RRV0Q3WTRJVkNXaHRWYWk1SjZ1?=
 =?utf-8?B?UTk5NUhiSnlZVEVoTWZZNEgyNW9xRmdlWk9FSFR1N2EwcU9XR3dDM3Y2RjBx?=
 =?utf-8?B?c3JpSjBjcTc0K2FBQnluc2FZVzdBY0MwVmQ2cGlDbWQrdWl4d00vamtKL25F?=
 =?utf-8?B?ZnhmUEYvemwxaDRDR0RCc2JqdW9CZnc0VVdnUEovREQ0YVdnRVBYQzVScW91?=
 =?utf-8?B?c0EwZDVNUnpCbnY3RERqdlVzQjdjR2w5eVJjemo0YzlpU2Q5ZjJoYzFxOFp4?=
 =?utf-8?B?cldYWkJrNjhWdGtMMGNuMUhaTGZoeFZUQ0lxTW1wbTNsNVJIZmhZTmV1TlBL?=
 =?utf-8?B?WGFBR2JpampPZUdFWXJKakJtVjhkODBFa0FRZndwMWt4UVAzVmM4ZEFsQjBq?=
 =?utf-8?B?TEIxM2FlSFF1R2RWdFJCUXhnMWw3cjFoZjdIc3U4U1N0Nk1semozcUpxYW9Q?=
 =?utf-8?B?eWNmRzhHTXpZOE51RkFzRU9zQTNJL2R1eXlnQ2RPaWp0NTdTRFZWRThsTGox?=
 =?utf-8?B?azEvaXE2eitvV3I5bkVFMkI4ME8yTGdBUkE1ZEpVUWsyNkhQeGZvejFYb0M4?=
 =?utf-8?B?ZnFXTmloZFJmU1Y4TzNXdlN1OFhvb2EvZk5WM0ZCRy9QaW5BdWJyU211UHRS?=
 =?utf-8?B?OW1EdzQ1Z2hXcW1CaC80bHlFaHB5cnQ0eHpvUkRoS2phR2RIb3pnTStkUzhW?=
 =?utf-8?B?aWovQ1hxeGViZlgyMjBhNHl2Y2VCR0JVeVQxWU5RZmJaR0NBUVVvMmN0RXRJ?=
 =?utf-8?B?Y1U3VGRDSnpaVnJ4aWtreWZIbktkTHNqUG9wNmtjbGtKNDFPK3F3V3lqejc3?=
 =?utf-8?B?UkIzQXJCc3NyMkQ0bzNDc3pHNG84QmFnOFFsVkJNMDMyZ0gxZ2FkTG1YNkJi?=
 =?utf-8?B?SUlneVdGMCthZGNVd2dVY3h6c0FQM2lSUXdqMEg5a2hodWlFaHRscmNmUkNO?=
 =?utf-8?B?cnp5RUlDcFl5aGJYUk94K1pOYjFWV1lSckI1S2IxTGV4amszcjUvOXNZTElL?=
 =?utf-8?B?VHJYb3dya0RQTEV0YTJ6S0JuWjM0U2dYQlRYT2ppTnQ0U1J0dEZxSG5EZDc2?=
 =?utf-8?B?S01FU2tHNExSNzNJd044L1FqRHNmcDZKdVdoTGtRelRxN2ljYytpSFJXNStm?=
 =?utf-8?B?M0Y2UCs0dVo2cWduS3c3a3dCOVFrZXFnc2EycWhBekRKY3hSSlNYK1RVUkt3?=
 =?utf-8?B?aHc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	RLTlLYmothMQAURyTydx5iBEks+PtiInOmqoIl+VXBTBIR/4UKe9oFtsYby8rBoutztxrMRMV7kQVe1I87nK7iUbsS/Knl/KDXzpOmuAn0x3Gv61NvFIY1j2Ww5VyRGRzWJtQdubGuCAQLcfbuArsDX/qIuIIomkgr5jqLOyrZTrNTgLG0nq33hgkG/tXU9TsMeJwcyWpkne2rIjlsycphzYvH5E5XZS5ghtXCovTQtAHZ+0A+LbDCQQvme4eHzsAZQDYoU3L12fQI3KwSZTDVuMRZvQwECVY7y2TNM6HvYLqw0xr+/fMNsrYcxqIwkc+7Gebn+meUZIR838kqFEao/M14nqXaEnTiEWgg6xwC2nU0dytpCKi9z0Kro9QsIn59O8paGds+pLcoHadhLa9VemeEQMRrV+WK5SeWTUTd1lVruAEvgSTSAmSoQryWvVigfT0bk0iE/YjwjnRVpl+tSqcoDzciQwoocIX2mdMrSooraieR5Mu6wBcO2Judh7HQQEzFF1c9izl84Ha/PAa8uEuBa1JX9sG3WZlDrqrt6nghWdJoQH+TrWELklHWopzrgm814TXddZKrn2RM6l8hEqnJytf43fn6nflk8N4U7TZtrfVI0+MdSpPIek7w9QChqL7luHdO37kW3ZFUUHensHopTOIWe7Vp8+zYzNqqREBlBhe6JhthvQtfMSF6ZQ/xvv5w7jTEn7gDj+Auhy9EncxWQ/kwONRiDjjuS5JeSHsGi6jPoZwCRJByfRF4USCutz3Md5Qx52djrfImSvUg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 160c9010-2fa8-456b-1e06-08db2c6189c7
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 12:16:04.0847
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: U5KaA1Aoa4NUMh5HOmC700Ic9dsaK1weKm8b/7IIfyq82oCDsWZSwllrlPWNOmLrgRcFInw9pdqpY24cv7ffXrkjFRdXeOKWF0wl0RzG1ww=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6053

On 24/03/2023 9:32 am, Jan Beulich wrote:
> On 24.03.2023 01:59, Andrew Cooper wrote:
>> On 19/12/2022 7:28 am, Jan Beulich wrote:
>>> On 16.12.2022 21:53, Andrew Cooper wrote:
>>> Again - one way to look at things. Plus, with Demi's series now also in
>>> mind, what's done here is moving us in exactly the opposite direction.
>>> Is this hot enough a function to warrant that?
>> Yes - from the first cset, 9ce0a5e207f3 - it's used on virtual
>> vmentry/exit so is (or will be) reasonably hot in due course.
>>
>> What is more important in the short term is avoiding the catastrophic
>> code generation that Clang still does with default Xen build settings,
>> also linked from the commit message.
>>
>>>>>> --- a/xen/arch/x86/hvm/hvm.c
>>>>>> +++ b/xen/arch/x86/hvm/hvm.c
>>>>>> @@ -302,24 +302,43 @@ void hvm_get_guest_pat(struct vcpu *v, u64 *guest_pat)
>>>>>>          *guest_pat = v->arch.hvm.pat_cr;
>>>>>>  }
>>>>>>  
>>>>>> -int hvm_set_guest_pat(struct vcpu *v, uint64_t guest_pat)
>>>>>> +/*
>>>>>> + * MSR_PAT takes 8 uniform fields, each of which must be a valid architectural
>>>>>> + * memory type (0, 1, 4-7).  This is a fully vectorised form of the
>>>>>> + * 8-iteration loop over bytes looking for PAT_TYPE_* constants.
>>>>> While grep-ing for PAT_TYPE_ will hit this line, I think we want
>>>>> every individual type to also be found here when grep-ing for one.
>>>>> The actual values aren't going to change, but perhaps the beast
>>>>> way to do so would still be by way of BUILD_BUG_ON()s.
>>>> Why?  What does that solve or improve?
>>>>
>>>> "pat" is the thing people are going to be looking for if they're
>>>> actually trying to find this logic.
>>>>
>>>> (And I bring this patch up specifically after reviewing Demi's series,
>>>> where PAT_TYPE_* changes to X86_MT_* but "pat" is still the useful
>>>> search term IMO.)
>>> I don't think "PAT" is a good thing to grep for when trying to find uses
>>> of particular memory types.
>> This is not a logical use of a particular memory type.  Being an
>> architectural auditing function, the only legitimate use of these
>> constants here is all of them at once.  This is the one place you firmly
>> don't care about finding when asking the question "How does Xen go about
>> handling WP mappings".
>>
>> I have swapped PAT_TYPE_* for X86_MT_* now that Demi's series has been
>> committed, but that is the extent to which I think there are relevant
>> changes to be made.
> In the interest of getting the code gen issue addressed, but without
> being fully convinced this is a good move:
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thankyou.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 12:18:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 12:18:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514300.796415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfgN8-0001kA-NU; Fri, 24 Mar 2023 12:18:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514300.796415; Fri, 24 Mar 2023 12:18: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 1pfgN8-0001k3-JQ; Fri, 24 Mar 2023 12:18:18 +0000
Received: by outflank-mailman (input) for mailman id 514300;
 Fri, 24 Mar 2023 12:18: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=kss1=7Q=citrix.com=prvs=440929507=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pfgN7-0001jx-3y
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 12:18:17 +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 f1e1cbf6-ca3d-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 13:18:13 +0100 (CET)
Received: from mail-co1nam11lp2175.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Mar 2023 08:18:11 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB6429.namprd03.prod.outlook.com (2603:10b6:510:b4::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Fri, 24 Mar
 2023 12:18:06 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.037; Fri, 24 Mar 2023
 12: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: f1e1cbf6-ca3d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679660293;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=L+aecX824IpmwKpxGsM44k3eUcYXg0iSgN4z3fwX9bU=;
  b=fGp5JmRTk7PHgAytmOaXF83eESpGFqGzHrbIrErGbgfg1l2qnxsWDnNJ
   j9aQlmRg8csLOFpbAdYOfWgq6JEyYd70LR+aDU5V2YERoG0xlJ3yQv04o
   w4BYS7jyUZ5U2AP21JyebglamSRwMaecbcDNJjcW9w2ub7Aum1mUztVq3
   M=;
X-IronPort-RemoteIP: 104.47.56.175
X-IronPort-MID: 102186767
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:8XTEmKmlITp6k6htZS7U1h7o5gyTJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIYXW2DOf7fZGH0fYogPYW+9UtTv5DTydVgHgpq/383EyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5gOGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dhIBR0dUyuivMiN7+ybW/JFq9sRMNa+aevzulk4pd3YJdAPZMmaBo7tvJpf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVI3ieewWDbWUoXiqcF9hEGXq
 3iA523kKhobKMae2XyO9XfEaurnxHuhAdJMS+PnnhJsqHzOnjAXERgLblGQnfbg12WRUvcGe
 3VBr0LCqoB3riRHVOLVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQkvsIrQT0h1
 neSgsjkQzdotdWopWm1876VqXa5PnETJGpbPCscF1Javp/kvZ05iQ/JQpB7Cqmpg9bpGDb2h
 TeXsCw5gLZVhskOv0mmwW36b/uXjsChZmYICs//BwpJMisRiFaZWrGV
IronPort-HdrOrdr: A9a23:gPAxqa0U2HKqC06e7lQM9gqjBQxyeYIsimQD101hICG9Lfb3qy
 n+ppsmPEHP5Ar5AEtQ5expOMG7MBfhHO1OkPYs1NaZLUTbUQ6TTb2KgrGSuwEIdxeOlNK1kJ
 0QDpSWa+eAQWSS7/yKmzVQeuxIqLLsncDY5ts2jU0dNz2CAJsQiDuRfzzra3GeMzM2Y6bReq
 Dsg/Zvln6FQzA6f867Dn4KU6zovNvQjq/rZhYAGloO9BSOpSnA0s+0LzGomjMlFx9fy7Yr9m
 bI1ybj4L+4jv29whjAk0fO8pVtnsf7wNcrPr3DtiFVEESstu+bXvUjZ1SwhkF2nAhp0idurD
 D4mWZhAy200QKUQoj6m2qr5+Cq6kdR15ar8y7ovZKkm72+eNr/YPAx3b6wtXDimhMdVZhHod
 J29nPcuJxNARzamiPho9DOShFxj0Kx5WEviOgJkhVkIMMjgZJq3PoiFXluYd49NTO/7JpiHP
 hlDcna6voTeVSGb2rBtm0qxNC3RHw8EhqPX0BH46WuonJrtWE8y1FdyN0Un38G+p54Q55Y5/
 7cOqAtkL1VVMcZYa90Ge9ES8qqDW7GRw7KLQupUB/aPbBCP2iIp4/84b0z6u3vcJsUzIEqkJ
 CES19cvX5aQTOYNSRP5uw+zvngehTJYd228LAs23FQgMyPeIbW
X-IronPort-AV: E=Sophos;i="5.98,287,1673931600"; 
   d="scan'208";a="102186767"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RwR5VNvDX4c4Qu/LIUZdg2+bPDzKWLXAQPdKjQYJ1DuMA9UOa+G7dInalqJoGpI7IlS3uY9nJp21ltZBJE5yOn4I+rpCZwrx46CNYMqOvrj8yXzKz8xtKFts4Mz6mg/NZozLPZdiGWI+efz73LxUatIuoHQ1uG1KIl45CPVnhcZegSDs55iZnPCg7G2Ty9SliRzQMM0JJ4x252q3H5gR8lt/UJ2QKCID8yDSgSRkH2d+aOkhUrVYBhpObGn6IW3+7Wy7gdA/U3lCWxHeBMis8TYjtdmki9PW6/iR4vFiIYu2JXA7wI5S/wG5lBcerpAatqEe9c9jyvddl6umR7cBQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uxgzcSseAwCOJwGnx2k5YsX61ejgootbOMxk1s0I3gc=;
 b=JNnSPjmjGK+Ln2YfVOlkdgWAj2UYWcJ6dZNuEhxQ1CXkRMhuM+6aAxjdJOjrz2jTPUWoT0FoWradQ8lAllU/10Iahn5gLXIgZGsZml2fvPdPDYhF2xtU4yTAHddxtaSQCOOVudjPrz02e/Cc6D8coQ4Bzh8DF60TDj/uhHsOeAm7ozIOjuw4MJiYAtRMaNXmJKq/KCFyLw3jeakkUGZNjhGvA+8AtSlDA9MrT/c/XOMATx1yhmtVtrsS9AUjcCyBqABznLpUFgfC5/cD29WoKcMeSg3Wz+CqHOAe7WSB8MguOAn4Opbttn01Luy4Eiq1BKfW4aVFOKPb32LMQz3MYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uxgzcSseAwCOJwGnx2k5YsX61ejgootbOMxk1s0I3gc=;
 b=mjBA13DJLrWRz7EEgg1tOocnZ0m3VpH6fNAYh0lM9IEcbP2k6PTW+tiwi1DSHPEgzlFKKROn+csqNHFaLMuGGdju6lSB8LjvBKSN66LoUMKhJZQ7CT7zaENFjnfEInKUKY2j48T4YXP8A9aGJhv97CPcy/88ISk+R0LFty5Yqns=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH v4] vpci/msix: handle accesses adjacent to the MSI-X table
Date: Fri, 24 Mar 2023 13:17:38 +0100
Message-Id: <20230324121738.4920-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.40.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0165.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18a::8) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB6429:EE_
X-MS-Office365-Filtering-Correlation-Id: 6818fc52-10fe-4793-b797-08db2c61d26a
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nz8yxKT35+X/gTEHxnkxcgRFGtsBEs0qPrEsUiV8y3V1YaChhB/FcEgoRIG3NkRIs79ZOGtCE+tEefaQeHYypZwgP/c4XL+E5eYysBOjds+ywBQQaoH4Sq5KPG6DtGvl0r5pX2nZs4GauCb45/3E26v1CeVmdCh0yOALjSEGwH5S75f2L/Py2OlqGy2sA45/Lseny1nsNNiZEiwqQY3MfbOC0VBkOQAI5WXEhFuhkddOiRmk5qqSiZIgwQfzXkPgSdj4QX+BFrieLytgnoHVQowiUY8cW5GnhEiJYgw1xrgl4qZql+uAq9518TcJGotZefSBCfva9I/oW07+qCZ/EqPLMPHAqkyQRWBCJ3NBGLPG0gD8PYx9J9tiQDEpo1IP7p4l6VG2ZFjMZIolHfH3tJsnILPINHYbt5XouHnrtNuQqwN9lKLc7JKqFZlPJf5sX5OC0bzkUZXVthh471PDg5idyf9znLp7/NP2K4i0d4lrq/BB6j973eQISTt5M/VE0iV8bFXoF431p2abRrjSVQJ32juVMuC42ELrEv+o+c9/CstlXof7hvXGhSgqenpynGOXvLLTf/DGsTGaPDFfSrqdsLFv/ltsGw0sxgEPGCqfuuRoLg5RY5g0nFBiMgyi7eFi5QsCrt9QrTSQ/3EM2g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(396003)(376002)(39860400002)(346002)(366004)(451199018)(2906002)(38100700002)(478600001)(83380400001)(6486002)(186003)(2616005)(36756003)(86362001)(316002)(66946007)(30864003)(66476007)(8676002)(4326008)(6916009)(66556008)(5660300002)(6666004)(8936002)(1076003)(6506007)(6512007)(26005)(107886003)(41300700001)(82960400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S0pNTXJSeTBYakhELzU1TzgzdDV0M09BMHNQTVVLd2pPeTFhMzNvRGxHMHIz?=
 =?utf-8?B?Ukl2UTJZbWw5Y1NiRlUraWZqRGJSV01DbmZHTVNjODkrSEJnaENsSG5GWkp6?=
 =?utf-8?B?SW93V3FoaVhqUEthc0Q5cG4zZkZNeGgrcVNabkJHUzNPdmd1cGp1alBxUXBt?=
 =?utf-8?B?bHJjQ1l0ejRRa250QzRVV0xZZy96K1BjQzVEeEd0TUlkMDIzMlNzOGwwOUdN?=
 =?utf-8?B?TnFocHkzcVEyOXh3S1d1blBMeWRFWXRkN29GbWtMSXN2eFNOcHNCT3RkNk9v?=
 =?utf-8?B?cjJuSFYxaC9yV0MzMkxTaTFsbTkwSjl6R21lOGVhbXJ1VklUSyt3eVJMejlh?=
 =?utf-8?B?cE8wbmZDUVRYbnc4YlFpRllIaWkrdkxkZlVjQm1EaEhmUFpRb0xMRTRUQzdj?=
 =?utf-8?B?Q1lBWmVnZ0pHUUhXSk80QkxIUWtodUZtSW1sQjF4eW1TZ3VZbXNmU0JYMVBJ?=
 =?utf-8?B?VmFvajJHKytaWkdNdXU0QWFpRVJ1MkNlTU0zY1dhczIyaTdBNjNqK09QbW5p?=
 =?utf-8?B?bnoxSjFSdjZDeVdlSVJOUFYzOVZIU2R5SEJrSlQzZGpHaUhZUHZLRjh0L0o5?=
 =?utf-8?B?a0NQRjJrbEhocXFVRjVIejZxdC9DVHdPS0QzcDJLdVhzWGc4RFVteEZDSEI0?=
 =?utf-8?B?dWZYT2psN2JpbU1oUHo0Zk5qaDRrTHVQUFJ3MFhnblRST2M3b0IvdXB0TnJa?=
 =?utf-8?B?NzZOMXRmZExyd2ZFbkRYTDFNU2NLb05aL3dmYTNWMGZuWDNXMjE4T2JQS0s4?=
 =?utf-8?B?NWtXbHVWOGUyTCtrNjh1QVp1UWtrVWRvaWZva1FzZzhWdEE0cmtmaGtMUjgy?=
 =?utf-8?B?eXN5elBkNTljSjJ1Qm1UVVh5KzNPSE1MSmRiYUlST0FEQnp6U0t0djBqa3c0?=
 =?utf-8?B?aUltaVZGcU9tS3VzRFc0d2JwYjcvNFNob3h2NkkrMzdGcytzaWorR3Q0Uldz?=
 =?utf-8?B?b09PTGthZFVpeWNvOUdnTjROMGw4czRnRm03b0JoY0ZoOUUwaTd4c09aUGpF?=
 =?utf-8?B?V0pKRnJzMFlDTmNaazlWb0JBak1SUDVNcklzYmpidnFEZzV3K01BRU91U3hC?=
 =?utf-8?B?SkhwYjJQOWx1ZTJUSzlNUDY3d3pRWkx6VU5MaTJwMC8vS1paK2NUYnd1bW8z?=
 =?utf-8?B?Qi96aHc0TUxsTUpjK285UjBBYmhWUUhZZmxRNUJ0OWhFSktza3hXSWxmSWNI?=
 =?utf-8?B?OXRES1FNOWlucFV3Um1RNHYxN21tbitWay94VmdOeTNQLzZiZkVtZnA2cVA3?=
 =?utf-8?B?K1JNdjM4bXJiVzlXR1BsM3NVOWhhaUVnUkxsSkQ1aUtaTjNNdEJpWk11cytz?=
 =?utf-8?B?bmJNRlI3SEpCTVprVHlMbVZJT3ZWL2hvajZ5OTcvZnVQdHlzdGorTjB5Qmtj?=
 =?utf-8?B?MUlFZkZBZUhrajBxaHlJU1hJeVI0OWhuQ1ovR0pFWWVwNDJuZlVsQ3ZpQmtx?=
 =?utf-8?B?WGU5T2lHLytjSGZmOUpoUzlYOHRpSkdBTHRHSHZzS093M0E2NXVRRVNQMWcw?=
 =?utf-8?B?eXNZc2lmclkrN0NSOVJVcHRpWHllUkxDbHhWdkI3ZnRnemRMRE8rVGZIRzNU?=
 =?utf-8?B?OVNxOVNDUVpaYXZCcWpsN3hCMnE0TDM5NWJ5YURycTdIR1RlUjhIL2VJY1ZG?=
 =?utf-8?B?RDBoYVBVZkM0NVk4cHdEUXBvOThpUGRrY0xGT0RJRG9pbjMzbzgxVmVIYXBX?=
 =?utf-8?B?OTdORFlCMWV6SzdJbEJCWnlUZUZsNXgwNHFqcW0vZ0l2T2c0RFI4TjVHYS9s?=
 =?utf-8?B?UEFNa0dBclNyb1IvTTZ3Y0oyZ3hqZHJ4Yzdkb1FWTlRlcUFHMmhMWnV5aDhm?=
 =?utf-8?B?REEzZ0c1TExXSWRyMkRNNHNhYW1lUjRScmZ2VnZVeHY0alZiOWpsTFJIbjFq?=
 =?utf-8?B?bjI1RU8xdXl2d0MxWEVOaUh3SHd6UjZ6aTNVTHRZcWF4elBFZVVFTEk2Z3Zk?=
 =?utf-8?B?OGtWbmtkck1Fb0EyRWl4WEJ5aXRDWWVVdEZncFhaQ2k2cmxkdzl3RVkvNXpX?=
 =?utf-8?B?MFJyZnBnOWE2aFc0T0d6eXlLd3J2bVp5RTlhbU1xdi9NZi90TWMyb2RCeHNa?=
 =?utf-8?B?WThjUWZuMDJIdEorMlVzMEJaNHNDTEFGUiszZTI3SEFQVm9INHBmYm5LOWd2?=
 =?utf-8?B?QmZzdXFSREFmVHlIUzVZSDZ3bXNZeVFzNWZJazdsRGtlK25jb0xlSVpKeXEr?=
 =?utf-8?B?emc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	r0jBExTF7BsluidOatQvxytQ2kBoMWS9+zt1i/+sjOTUUrlhaEIqejJ4VPhJQ4izoLIJVEfI9sadKjBSe1lkaMT+kQjr7/uIDltSrxZmmBHJqWuNOUCoICwO+Bb7MievC70UN7IVF7AMEqR7U0qmj4fTzISC42BrkU8zbQlCBPqtvdnjJ33qFHP4zo1H719wro4Wm2Xebgdh8ttV057aSQg8SLMVRdpbdBDmhUX3KkrOWUOyPD4FSUALVTxr4um7oQWP0RwiE3YaJbngJp/bsvFUOhn6Esr/FPnijGUeqNGgkmw+rb7A7p9xSSoo0Be606OXIu0OcBxsd1/PmtYaBUq99JL5R+HF/mUzO04YIPK6Re3uvUhTUJRQRplbGoMsn6rR7gpkUEVO4t8Ub1b2May9G5tH4oZVEe99Z1ey9yRhiJi+RfQzE3J9G2R6Dh327UiJ00DdNo14tlmLENyLa2rxAK9F+VfILtLuQFH8GB+ubEIyuaarx43f1aLp17qhPtOD8Ldp2T3R/RSLNNiyVp2w+943kzr9bvQvHbLknXuWFjG4knPIhmv0B0QBPzItfUGMSy77AQergVon1KwIz2Bg0vWnNSzBg6oH71r5xgDi0XxHMg747++neNg/mS+o3V7Qrz1Hsb1ry6c4IWcClaLhdCrVuX2sYRIY9n6U4uFho+SzuzO/CQ/1zH+XKROk8uYrrANnk9YeMLVJ7zH4/NkcwwDXEYMazb33b9zFwun77rwEOwSyzZMXGNgS9VIqid9ODrShxvk9MUifvMAJT6nWeA+YMqNfqkKrdEv9xgBMGM7KahzB1mF2PX+IiGd6
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6818fc52-10fe-4793-b797-08db2c61d26a
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 12:18:05.8747
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UbM8cAJzcYFxsD5ztYj+t8y2ecAte1qECMmEWvcnAjMJR+gEJHLA6uUwphOSVRefaksNvNeHWTLUBJxVRFDHJg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6429

The handling of the MSI-X table accesses by Xen requires that any
pages part of the MSI-X related tables are not mapped into the domain
physmap.  As a result, any device registers in the same pages as the
start or the end of the MSIX or PBA tables is not currently
accessible, as the accesses are just dropped.

Note the spec forbids such placing of registers, as the MSIX and PBA
tables must be 4K isolated from any other registers:

"If a Base Address register that maps address space for the MSI-X
Table or MSI-X PBA also maps other usable address space that is not
associated with MSI-X structures, locations (e.g., for CSRs) used in
the other address space must not share any naturally aligned 4-KB
address range with one where either MSI-X structure resides."

Yet the 'Intel Wi-Fi 6 AX201' device on one of my boxes has registers
in the same page as the MSIX tables, and thus won't work on a PVH dom0
without this fix.

In order to cope with the behavior passthrough any accesses that fall
on the same page as the MSIX tables (but don't fall in between) to the
underlying hardware.  Such forwarding also takes care of the PBA
accesses, so it allows to remove the code doing this handling in
msix_{read,write}.  Note that as a result accesses to the PBA array
are no longer limited to 4 and 8 byte sizes, there's no access size
restriction for PBA accesses documented in the specification.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Keep the vpci lock taken for the duration of the access to the
   mapped region.
 - Move back the handling of unaligned accesses before getting the
   table map.

Changes since v2:
 - Slightly adjust VMSIX_ADDR_SAME_PAGE().
 - Use IS_ALIGNED and unlikely for the non-aligned access checking.
 - Move the check for the page mapped before the aligned one.
 - Remove cast of data to uint8_t and instead use a mask in order to
   avoid undefined behaviour when shifting.
 - Remove Xen maps of the MSIX related regions when memory decoding
   for the device is enabled by dom0, in order to purge stale maps.

Changes since v1:
 - Properly handle the PBA also.
 - Merge the handlers for adjacent writes into the existing MSIX table
   ones.
---
 xen/drivers/vpci/msix.c | 349 +++++++++++++++++++++++++++++-----------
 xen/drivers/vpci/vpci.c |   7 +-
 xen/include/xen/vpci.h  |   8 +-
 3 files changed, 269 insertions(+), 95 deletions(-)

diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index bea0cc7aed..99dd249c15 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -27,6 +27,11 @@
     ((addr) >= vmsix_table_addr(vpci, nr) &&                              \
      (addr) < vmsix_table_addr(vpci, nr) + vmsix_table_size(vpci, nr))
 
+#define VMSIX_ADDR_SAME_PAGE(addr, vpci, nr)                              \
+    (PFN_DOWN(addr) >= PFN_DOWN(vmsix_table_addr(vpci, nr)) &&            \
+     PFN_DOWN(addr) <= PFN_DOWN(vmsix_table_addr(vpci, nr) +              \
+                                vmsix_table_size(vpci, nr) - 1))
+
 static uint32_t cf_check control_read(
     const struct pci_dev *pdev, unsigned int reg, void *data)
 {
@@ -149,7 +154,7 @@ static struct vpci_msix *msix_find(const struct domain *d, unsigned long addr)
 
         for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
             if ( bars[msix->tables[i] & PCI_MSIX_BIRMASK].enabled &&
-                 VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, i) )
+                 VMSIX_ADDR_SAME_PAGE(addr, msix->pdev->vpci, i) )
                 return msix;
     }
 
@@ -182,36 +187,167 @@ static struct vpci_msix_entry *get_entry(struct vpci_msix *msix,
     return &msix->entries[(addr - start) / PCI_MSIX_ENTRY_SIZE];
 }
 
-static void __iomem *get_pba(struct vpci *vpci)
+static void __iomem *get_table(const struct vpci *vpci, unsigned int slot)
 {
     struct vpci_msix *msix = vpci->msix;
+    paddr_t addr = 0;
+
+    ASSERT(spin_is_locked(&vpci->lock));
+
+    if ( likely(msix->table[slot]) )
+        return msix->table[slot];
+
+    switch ( slot )
+    {
+    case VPCI_MSIX_TBL_TAIL:
+        addr = vmsix_table_size(vpci, VPCI_MSIX_TABLE);
+        fallthrough;
+    case VPCI_MSIX_TBL_HEAD:
+        addr += vmsix_table_addr(vpci, VPCI_MSIX_TABLE);
+        break;
+
+    case VPCI_MSIX_PBA_TAIL:
+        addr = vmsix_table_size(vpci, VPCI_MSIX_PBA);
+        fallthrough;
+    case VPCI_MSIX_PBA_HEAD:
+        addr += vmsix_table_addr(vpci, VPCI_MSIX_PBA);
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+        return NULL;
+    }
+
+    msix->table[slot] = ioremap(round_pgdown(addr), PAGE_SIZE);
+
+    return msix->table[slot];
+}
+
+unsigned int get_slot(const struct vpci *vpci, unsigned long addr)
+{
+    unsigned long pfn = PFN_DOWN(addr);
+
     /*
-     * PBA will only be unmapped when the device is deassigned, so access it
-     * without holding the vpci lock.
+     * The logic below relies on having the tables identity mapped to the guest
+     * address space, or for the `addr` parameter to be translated into its
+     * host physical memory address equivalent.
      */
-    void __iomem *pba = read_atomic(&msix->pba);
 
-    if ( likely(pba) )
-        return pba;
+    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_TABLE)) )
+        return VPCI_MSIX_TBL_HEAD;
+    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_TABLE) +
+                         vmsix_table_size(vpci, VPCI_MSIX_TABLE) - 1) )
+        return VPCI_MSIX_TBL_TAIL;
+    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_PBA)) )
+        return VPCI_MSIX_PBA_HEAD;
+    if ( pfn == PFN_DOWN(vmsix_table_addr(vpci, VPCI_MSIX_PBA) +
+                         vmsix_table_size(vpci, VPCI_MSIX_PBA) - 1) )
+        return VPCI_MSIX_PBA_TAIL;
+
+    ASSERT_UNREACHABLE();
+    return -1;
+}
+
+static bool adjacent_handle(const struct vpci_msix *msix, unsigned long addr)
+{
+    unsigned int i;
+
+    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) )
+        return true;
+
+    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_TABLE) )
+        return false;
+
+    for ( i = 0; i < ARRAY_SIZE(msix->tables); i++ )
+        if ( VMSIX_ADDR_SAME_PAGE(addr, msix->pdev->vpci, i) )
+            return true;
+
+    return false;
+}
+
+static int adjacent_read(const struct domain *d, const struct vpci_msix *msix,
+                         unsigned long addr, unsigned int len,
+                         unsigned long *data)
+{
+    const void __iomem *mem;
+    struct vpci *vpci = msix->pdev->vpci;
+    unsigned int slot;
+
+    *data = ~0ul;
+
+    if ( !adjacent_handle(msix, addr + len - 1) )
+        return X86EMUL_OKAY;
+
+    slot = get_slot(vpci, addr);
+    if ( slot >= ARRAY_SIZE(msix->table) )
+        return X86EMUL_OKAY;
+
+    if ( unlikely(!IS_ALIGNED(addr, len)) )
+    {
+        unsigned int i;
+
+        gprintk(XENLOG_DEBUG, "%pp: unaligned read to MSI-X related page\n",
+                &msix->pdev->sbdf);
+
+        /*
+         * Split unaligned accesses into byte sized ones. Shouldn't happen in
+         * the first place, but devices shouldn't have registers in the same 4K
+         * page as the MSIX tables either.
+         *
+         * It's unclear whether this could cause issues if a guest expects
+         * registers to be accessed atomically, it better use an aligned access
+         * if it has such expectations.
+         */
+        for ( i = 0; i < len; i++ )
+        {
+            unsigned long partial = ~0ul;
+            int rc = adjacent_read(d, msix, addr + i, 1, &partial);
+
+            if ( rc != X86EMUL_OKAY )
+                return rc;
+
+            *data &= ~(0xfful << (i * 8));
+            *data |= (partial & 0xff) << (i * 8);
+        }
 
-    pba = ioremap(vmsix_table_addr(vpci, VPCI_MSIX_PBA),
-                  vmsix_table_size(vpci, VPCI_MSIX_PBA));
-    if ( !pba )
-        return read_atomic(&msix->pba);
+        return X86EMUL_OKAY;
+    }
 
     spin_lock(&vpci->lock);
-    if ( !msix->pba )
+    mem = get_table(vpci, slot);
+    if ( !mem )
     {
-        write_atomic(&msix->pba, pba);
         spin_unlock(&vpci->lock);
+        gprintk(XENLOG_WARNING,
+                "%pp: unable to map MSI-X page, returning all bits set\n",
+                &msix->pdev->sbdf);
+        return X86EMUL_OKAY;
     }
-    else
+
+    switch ( len )
     {
-        spin_unlock(&vpci->lock);
-        iounmap(pba);
+    case 1:
+        *data = readb(mem + PAGE_OFFSET(addr));
+        break;
+
+    case 2:
+        *data = readw(mem + PAGE_OFFSET(addr));
+        break;
+
+    case 4:
+        *data = readl(mem + PAGE_OFFSET(addr));
+        break;
+
+    case 8:
+        *data = readq(mem + PAGE_OFFSET(addr));
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
     }
+    spin_unlock(&vpci->lock);
 
-    return read_atomic(&msix->pba);
+    return X86EMUL_OKAY;
 }
 
 static int cf_check msix_read(
@@ -227,47 +363,11 @@ static int cf_check msix_read(
     if ( !msix )
         return X86EMUL_RETRY;
 
-    if ( !access_allowed(msix->pdev, addr, len) )
-        return X86EMUL_OKAY;
-
-    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) )
-    {
-        struct vpci *vpci = msix->pdev->vpci;
-        unsigned int idx = addr - vmsix_table_addr(vpci, VPCI_MSIX_PBA);
-        const void __iomem *pba = get_pba(vpci);
-
-        /*
-         * Access to PBA.
-         *
-         * TODO: note that this relies on having the PBA identity mapped to the
-         * guest address space. If this changes the address will need to be
-         * translated.
-         */
-        if ( !pba )
-        {
-            gprintk(XENLOG_WARNING,
-                    "%pp: unable to map MSI-X PBA, report all pending\n",
-                    &msix->pdev->sbdf);
-            return X86EMUL_OKAY;
-        }
-
-        switch ( len )
-        {
-        case 4:
-            *data = readl(pba + idx);
-            break;
-
-        case 8:
-            *data = readq(pba + idx);
-            break;
-
-        default:
-            ASSERT_UNREACHABLE();
-            break;
-        }
+    if ( adjacent_handle(msix, addr) )
+        return adjacent_read(d, msix, addr, len, data);
 
+    if ( !access_allowed(msix->pdev, addr, len) )
         return X86EMUL_OKAY;
-    }
 
     spin_lock(&msix->pdev->vpci->lock);
     entry = get_entry(msix, addr);
@@ -303,56 +403,103 @@ static int cf_check msix_read(
     return X86EMUL_OKAY;
 }
 
-static int cf_check msix_write(
-    struct vcpu *v, unsigned long addr, unsigned int len, unsigned long data)
+static int adjacent_write(const struct domain *d, const struct vpci_msix *msix,
+                          unsigned long addr, unsigned int len,
+                          unsigned long data)
 {
-    const struct domain *d = v->domain;
-    struct vpci_msix *msix = msix_find(d, addr);
-    struct vpci_msix_entry *entry;
-    unsigned int offset;
+    void __iomem *mem;
+    struct vpci *vpci = msix->pdev->vpci;
+    unsigned int slot;
 
-    if ( !msix )
-        return X86EMUL_RETRY;
+    if ( !adjacent_handle(msix, addr + len - 1) )
+        return X86EMUL_OKAY;
 
-    if ( !access_allowed(msix->pdev, addr, len) )
+    /*
+     * Only check start and end of the access because the size of the PBA is
+     * assumed to be equal or bigger (8 bytes) than the length of any access
+     * handled here.
+     */
+    if ( (VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) ||
+          VMSIX_ADDR_IN_RANGE(addr + len - 1, vpci, VPCI_MSIX_PBA)) &&
+         !is_hardware_domain(d) )
+        /* Ignore writes to PBA for DomUs, it's undefined behavior. */
         return X86EMUL_OKAY;
 
-    if ( VMSIX_ADDR_IN_RANGE(addr, msix->pdev->vpci, VPCI_MSIX_PBA) )
+    slot = get_slot(vpci, addr);
+    if ( slot >= ARRAY_SIZE(msix->table) )
+        return X86EMUL_OKAY;
+
+    if ( unlikely(!IS_ALIGNED(addr, len)) )
     {
-        struct vpci *vpci = msix->pdev->vpci;
-        unsigned int idx = addr - vmsix_table_addr(vpci, VPCI_MSIX_PBA);
-        const void __iomem *pba = get_pba(vpci);
+        unsigned int i;
 
-        if ( !is_hardware_domain(d) )
-            /* Ignore writes to PBA for DomUs, it's behavior is undefined. */
-            return X86EMUL_OKAY;
+        gprintk(XENLOG_DEBUG, "%pp: unaligned write to MSI-X related page\n",
+                &msix->pdev->sbdf);
 
-        if ( !pba )
+        for ( i = 0; i < len; i++ )
         {
-            /* Unable to map the PBA, ignore write. */
-            gprintk(XENLOG_WARNING,
-                    "%pp: unable to map MSI-X PBA, write ignored\n",
-                    &msix->pdev->sbdf);
-            return X86EMUL_OKAY;
+            int rc = adjacent_write(d, msix, addr + i, 1, data >> (i * 8));
+
+            if ( rc != X86EMUL_OKAY )
+                return rc;
         }
 
-        switch ( len )
-        {
-        case 4:
-            writel(data, pba + idx);
-            break;
+        return X86EMUL_OKAY;
+    }
 
-        case 8:
-            writeq(data, pba + idx);
-            break;
+    spin_lock(&vpci->lock);
+    mem = get_table(vpci, slot);
+    if ( !mem )
+    {
+        spin_unlock(&vpci->lock);
+        gprintk(XENLOG_WARNING,
+                "%pp: unable to map MSI-X page, dropping write\n",
+                &msix->pdev->sbdf);
+        return X86EMUL_OKAY;
+    }
 
-        default:
-            ASSERT_UNREACHABLE();
-            break;
-        }
+    switch ( len )
+    {
+    case 1:
+        writeb(data, mem + PAGE_OFFSET(addr));
+        break;
 
-        return X86EMUL_OKAY;
+    case 2:
+        writew(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    case 4:
+        writel(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    case 8:
+        writeq(data, mem + PAGE_OFFSET(addr));
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
     }
+    spin_unlock(&vpci->lock);
+
+    return X86EMUL_OKAY;
+}
+
+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 vpci_msix_entry *entry;
+    unsigned int offset;
+
+    if ( !msix )
+        return X86EMUL_RETRY;
+
+    if ( adjacent_handle(msix, addr) )
+        return adjacent_write(d, msix, addr, len, data);
+
+    if ( !access_allowed(msix->pdev, addr, len) )
+        return X86EMUL_OKAY;
 
     spin_lock(&msix->pdev->vpci->lock);
     entry = get_entry(msix, addr);
@@ -482,6 +629,26 @@ int vpci_make_msix_hole(const struct pci_dev *pdev)
         }
     }
 
+    if ( is_hardware_domain(d) )
+    {
+        /*
+         * For dom0 only: remove any hypervisor mappings of the MSIX or PBA
+         * related areas, as dom0 is capable of moving the position of the BARs
+         * in the host address space.
+         *
+         * We rely on being called with the vPCI lock held once the domain is
+         * running, so the maps are not in use.
+         */
+        for ( i = 0; i < ARRAY_SIZE(pdev->vpci->msix->table); i++ )
+            if ( pdev->vpci->msix->table[i] )
+            {
+                /* If there are any maps, the domain must be running. */
+                ASSERT(spin_is_locked(&pdev->vpci->lock));
+                iounmap(pdev->vpci->msix->table[i]);
+                pdev->vpci->msix->table[i] = NULL;
+            }
+    }
+
     return 0;
 }
 
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 6d48d496bb..652807a4a4 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -54,9 +54,12 @@ void vpci_remove_device(struct pci_dev *pdev)
     spin_unlock(&pdev->vpci->lock);
     if ( pdev->vpci->msix )
     {
+        unsigned int i;
+
         list_del(&pdev->vpci->msix->next);
-        if ( pdev->vpci->msix->pba )
-            iounmap(pdev->vpci->msix->pba);
+        for ( i = 0; i < ARRAY_SIZE(pdev->vpci->msix->table); i++ )
+            if ( pdev->vpci->msix->table[i] )
+                iounmap(pdev->vpci->msix->table[i]);
     }
     xfree(pdev->vpci->msix);
     xfree(pdev->vpci->msi);
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index d8acfeba8a..0b8a2a3c74 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -133,8 +133,12 @@ struct vpci {
         bool enabled         : 1;
         /* Masked? */
         bool masked          : 1;
-        /* PBA map */
-        void __iomem *pba;
+        /* Partial table map. */
+#define VPCI_MSIX_TBL_HEAD 0
+#define VPCI_MSIX_TBL_TAIL 1
+#define VPCI_MSIX_PBA_HEAD 2
+#define VPCI_MSIX_PBA_TAIL 3
+        void __iomem *table[4];
         /* Entries. */
         struct vpci_msix_entry {
             uint64_t addr;
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 13:23:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 13:23:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514315.796431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfhNt-0002Yt-JW; Fri, 24 Mar 2023 13:23:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514315.796431; Fri, 24 Mar 2023 13:23: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 1pfhNt-0002Ym-Fh; Fri, 24 Mar 2023 13:23:09 +0000
Received: by outflank-mailman (input) for mailman id 514315;
 Fri, 24 Mar 2023 13:23: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=nsyw=7Q=amd.com=Ray.Huang@srs-se1.protection.inumbo.net>)
 id 1pfhNr-0002Yg-Sy
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 13:23:08 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20611.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 016d89e9-ca47-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 14:23:05 +0100 (CET)
Received: from DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19) by
 SN7PR12MB6861.namprd12.prod.outlook.com (2603:10b6:806:266::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 13:23:01 +0000
Received: from DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022]) by DM5PR12MB2504.namprd12.prod.outlook.com
 ([fe80::4f9:60f8:cb12:d022%3]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 13: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>
X-Inumbo-ID: 016d89e9-ca47-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kLzby+zCiRhlOvmhN3uo4fZCv+wtBmFt1+COkBSvm9da8NxJlaLS/TSm5sjMsbAFIf9oYIVJ2acJQw6de8OAqIS6CYbU/GPGQccrEoj/RxCMEyhkO7Q2TdwUiQVPRILS2dn935khz6u67Fj5UgP9ft7nRj7Z48Gbw3vw8Jg7Zu+TgeT7VabtumENAJTTjwXWK0D7yTsHVJfR7d4eMTBLGT6msJlWfsQ5ghQVDKE4iMAwQH8IcMXRk7uwKa+xuerzQfDQwd/ppXEtpOfTlHBlN+Kd5lI5c0UxSwZ+r4A+21a24O3TU5NYB71MkiyzMJoCoFkRDHEyXWDjuSJ4zbVihQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CpGtiECSbIcYp+oJm2u5FkgYOEPEo1O5E5Gt+qKrRfA=;
 b=PV/N9hsEgk47vf/0oGH5FEVpm6Z40qSfYHui2gc1ystDCbs1/9tm7Eu4O9KV/7EGcknrH9I9GJHCUewicE/9urHBD0VqiGaWkhhzkWeAn1eAG4AzonZNcaBcSWXt353Pfb/7Erd70TVP3+adEkXuY90fnLRUCqEYWXTw9GaYoUA3OxxXo1RzXNq3yXeK+/F8FnwTtZ4Ss3DInrZmZrmrJnF3sRLQcoDwjXl0nBofL+g8g7MPA8BGepPBE/l7orE1QvhlLwzRQ+pWSdYN4a4adzp5howrWBokJFXZUAIlm6Scb13kPt0Qx50/FxXzOHCDssx2hyfsmMs5RJiozzrG5w==
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=CpGtiECSbIcYp+oJm2u5FkgYOEPEo1O5E5Gt+qKrRfA=;
 b=lBhItX7f2VD1inP+Xe6aW0vcheY7hacwKNZFCUPAj135crlWsYeUhabFR/z4HEnj+y9SSGA9gv3bOJww/9yTzPyftkphHkk8gG6ceRGgmO4o96BquvrXqiUy9VwJmFm2/kYEXf9lJ/dyTDXqQ7So8U+HQo7I0Bb0UGRJTbWzi7Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Fri, 24 Mar 2023 21:22:32 +0800
From: Huang Rui <ray.huang@amd.com>
To: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	"Dr . David Alan Gilbert" <dgilbert@redhat.com>,
	Robert Beckett <bob.beckett@collabora.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC QEMU PATCH 08/18] virtio-gpu: Initialize Venus
Message-ID: <ZB2kGABHUKc+Bk5H@amd.com>
References: <20230312092244.451465-1-ray.huang@amd.com>
 <20230312092244.451465-9-ray.huang@amd.com>
 <68195782-0309-2f81-7f1f-84a7fe7bb05c@collabora.com>
 <ZA9HWRYxPUk1OeGe@amd.com>
 <53c25304-bc30-b5af-846e-b247aab67be9@collabora.com>
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <53c25304-bc30-b5af-846e-b247aab67be9@collabora.com>
X-ClientProxiedBy: SGXP274CA0023.SGPP274.PROD.OUTLOOK.COM (2603:1096:4:b8::35)
 To DM5PR12MB2504.namprd12.prod.outlook.com (2603:10b6:4:b5::19)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DM5PR12MB2504:EE_|SN7PR12MB6861:EE_
X-MS-Office365-Filtering-Correlation-Id: b47ad2ef-6a0a-4bb4-7720-08db2c6ae3fb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7tkAu49BVZkB6yiACTi4Rhre5d0SKG5hnxtSDfk6tqWA7oRtFESpsfjHflif1EQqvBhWdtXIUJyzeR6UrmxoR4fAQ/IfrOcVRg3tExbcDwZF6okMlfvHpVWnvytLSh88VK86mfZuxJVyugsSQ33KV8vz0lI5lW+YZ6RzmomeKC+qdTD0EeykjiG368ADxdr3v+EJLSz/Ju1tCwXgVBjKS3KNo5kMeGskErAxa5Bmb7Jhyo4ztsXTY2xpoOiq+yCVtW41y3lOq1bj8Vb/u4QB0y7roJK5CXwTOx5mspst7ykYqmtm5wz5Cfqw95/7mKxlyAvnr6ldCO4xgv56RTEQJaL3Td2+J9jgHsX9XKcnrFfHMTx0kF3oLLepH0XW9x+CuTuUxSBEhB0u754Fd7qgOy/3Tb47SSDEgsr8aekJdIg/fF0cVdiBjdshHXjjuckdvEgtqLX3aObh9+wBFZlFwbxI+3vaHUF/r66tpYzEe2fGJ+Odbg7rZPSjuwvOYqqsj5A7459NX9o2RuM7beVWxltnejjGlwkJuUaL2ANdT6zMhCy/4dCRhKXk0dqdvfAX0ai9MpwKvUxtlPEQeJnKk4CYgf0nh69FENxZlxqkbthYlU2bSMLAYjtbFkblZvl4qhHMZYGnBt8Pz/AbbxP39g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR12MB2504.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(39860400002)(396003)(366004)(376002)(346002)(451199018)(83380400001)(26005)(186003)(2616005)(966005)(478600001)(6486002)(6666004)(66476007)(8676002)(4326008)(316002)(6916009)(66556008)(54906003)(53546011)(66946007)(6506007)(6512007)(41300700001)(8936002)(2906002)(5660300002)(7416002)(38100700002)(86362001)(36756003)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?us-ascii?Q?GY3gdN+0XBdQjdzCM8eSDtddj04Upkkrz33ggmT+ub+lBNNI8P3MwTCjIrZF?=
 =?us-ascii?Q?mTvkK03pfeth64Y7LiDAJPZVOFPbT+jwFA9Z3dyyj9ZoasKPS+a5VZPhE2Ab?=
 =?us-ascii?Q?4tJCd99MwQu/XyPp8zVNevgBT2SE6hTawAUmXp92W7hCJ8NHwMIj3cdbfWcM?=
 =?us-ascii?Q?BsvoNWACRa0ygSE8+Oi99z+QE1gdxT1h+Y0VBwZBLlpuD6135xf7Uvv5XFh8?=
 =?us-ascii?Q?StZRhzJ8FAPO2Q6se9D17sbGUaEV7AO+mzRHvOxcLhg2ZKgzk4FCYum3hgkw?=
 =?us-ascii?Q?SHYvYpNIEDt5jSJpEz6DM1p0gCyl44Eqfi6Bq/w6aklXSFHrcDVAOjUTDO1T?=
 =?us-ascii?Q?Zp4w4nGZKHKbGYpxZRgk5dyhrDPMKmh/Ujxqa9RUp9m0+yHPpYXwF1884Z8j?=
 =?us-ascii?Q?yGAnYyR9stXuW5qfsyGj3ARl8+EQrNhdM1eMTlRxNpokdMDKlib8acRCfgzC?=
 =?us-ascii?Q?Ua+f1YB0tgycYOaNfmk55h97gUJ6tbb92hhlPaL3ZFF2/c99tAHfrP1RemMW?=
 =?us-ascii?Q?Oyea2MIg9TMY6WtYngi9gEa99FQIrfrCT0hcwtTA1pgKifOudZDeBh5LgyrZ?=
 =?us-ascii?Q?jnNyfINIi/kFZA8bQzVHb7I6TXAdFWuZ2UJha0Id080nL8oR0zaCl1XJk0Cr?=
 =?us-ascii?Q?nJ50xpj2+tcgfr/e8jLAdJ9wan4OZoU1B01eJdvgYuDBjv438b3UtMeHgGPt?=
 =?us-ascii?Q?7l5TMnOtCloMSBUy14WiSeIDGvLg0Sl8XcV4noYZ195w57eOjPSytN+agS/t?=
 =?us-ascii?Q?WBOulRDHIC4nD0wbYWksJCBS685HiBLejweDDnkTINo/yXdzqwML3ZG+4Mp4?=
 =?us-ascii?Q?5gfHxayUT19MfqmADjSXauvKAbkZDJb9CofboedwnFPcFjPKILpU0ofFlIRx?=
 =?us-ascii?Q?mfhhEcXhHt9cVy2SgtS1VVhoe0leOhkNZ4s3lR9qf+Vp4DVWhPgw6a6cfOYe?=
 =?us-ascii?Q?WimhWq32KQ9z+9UEv/w4I0adm9pMUfQsLzL5sySkNyjN2wgTOOecjvLhfKyf?=
 =?us-ascii?Q?Rz1chT8b/Q5hQbf1TuL8sr76IdSEN+07ffr18ogKMLouxxcgj67LAIPT4DkG?=
 =?us-ascii?Q?lQwWx3qWBCk/kRAYZImneTLp7Ytk+MP78vYWQa1+7J3XjPh1AesTVjv0Mvd1?=
 =?us-ascii?Q?Ku3KXJ18PtZ8AsCER6yErM9Ssy2PcdrD1jctcMEkQwBpeG6psPv8Te6KTxmX?=
 =?us-ascii?Q?o3Y/TeLragpL6IMBElUjYmZ08ACKuFwJmOsHclh1Pmnpmo4NL3Kor8HKZl73?=
 =?us-ascii?Q?ZU6vr5nKN+tA+bzjtOEQqFvvOOPJJi74PGN9MPMnw/OLUPgBPNv/ZpdI21Dm?=
 =?us-ascii?Q?xV/CEKjBqAN7Pgg6K0umsq7JJ3XUAZyxRTfr/2qjAEp6KBnrgtjNNwmXQ+tS?=
 =?us-ascii?Q?4ugAXUzrNAUmvFTdJbQG1bsJAeJTaEE+LiHk6XF2jiJTo6hgQAVZ/XmPYA7X?=
 =?us-ascii?Q?3VnGUaHVMM/xvMTOVIWnKCsyVNNPGby5PQySzT6qaXvMkJWY2cOLYNrLIKO1?=
 =?us-ascii?Q?evC4NNI55islna3QF8fRsx61iudG3oRDM58Dn65Cd7MWJM4Y30/v/bzp3GFm?=
 =?us-ascii?Q?zc8PIDUeObqryHEyAvpThMF59CAljwPC9TYinsec?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b47ad2ef-6a0a-4bb4-7720-08db2c6ae3fb
X-MS-Exchange-CrossTenant-AuthSource: DM5PR12MB2504.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 13:23:01.0339
 (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: 6WdZJQZYbWQwkWLMqM+gODfHqbYKkq4HXhMvxbUUwcCktno5KUZ6vLQXlSS//OdN5WXVbEpLdlK8wo5G6iHEUw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6861

On Thu, Mar 16, 2023 at 07:14:47AM +0800, Dmitry Osipenko wrote:
> On 3/13/23 18:55, Huang Rui wrote:
> > On Mon, Mar 13, 2023 at 01:51:03AM +0800, Dmitry Osipenko wrote:
> >> On 3/12/23 12:22, Huang Rui wrote:
> >>> From: Antonio Caggiano <antonio.caggiano@collabora.com>
> >>>
> >>> Request Venus when initializing VirGL.
> >>>
> >>> Signed-off-by: Antonio Caggiano <antonio.caggiano@collabora.com>
> >>> ---
> >>>  hw/display/virtio-gpu-virgl.c | 4 ++++
> >>>  1 file changed, 4 insertions(+)
> >>>
> >>> diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
> >>> index fe03dc916f..f5ce206b93 100644
> >>> --- a/hw/display/virtio-gpu-virgl.c
> >>> +++ b/hw/display/virtio-gpu-virgl.c
> >>> @@ -803,7 +803,11 @@ int virtio_gpu_virgl_init(VirtIOGPU *g)
> >>>  {
> >>>      int ret;
> >>>  
> >>> +#ifdef VIRGL_RENDERER_VENUS
> >>> +    ret = virgl_renderer_init(g, VIRGL_RENDERER_VENUS, &virtio_gpu_3d_cbs);
> >>> +#else
> >>>      ret = virgl_renderer_init(g, 0, &virtio_gpu_3d_cbs);
> >>> +#endif
> >>
> >> Note that Venus now requires VIRGL_RENDERER_RENDER_SERVER flag to be
> >> set. Please test the patches with the latest virglrenderer and etc.
> >>
> >> The #ifdef also doesn't allow adding new flags, it should look like:
> >>
> >> #ifdef VIRGL_RENDERER_VENUS
> >>     flags |= VIRGL_RENDERER_RENDER_SERVER;
> >> #endif
> >>
> >>     ret = virgl_renderer_init(g, flags, &virtio_gpu_3d_cbs);
> > 
> > In fact, we have rebased to the latest virglrenderer:
> > 
> > We check both VIRGL_RENDERER_RENDER_SERVER or VIRGL_RENDERER_VENUS in
> > virglrenderer, alternative of them works.
> > 
> > https://gitlab.freedesktop.org/rui/virglrenderer/-/commit/c1322a8a84379b1ef7939f56c6761b0114716f45
> 
> All the extra changes you made to virglrenderer that Qemu depends on
> need to go upstream. Please open all the relevant merge requests. Thanks!
> 

Dmitry, sorry to late response, I have created relevant merge requests
below:

Virglrenderer:
https://gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1068

Mesa:
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22108

I'd appreciate any comments. :-)

Thanks,
Ray


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 13:37:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 13:37:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514318.796441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfhbK-0004NS-Nv; Fri, 24 Mar 2023 13:37:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514318.796441; Fri, 24 Mar 2023 13: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 1pfhbK-0004NL-L4; Fri, 24 Mar 2023 13:37:02 +0000
Received: by outflank-mailman (input) for mailman id 514318;
 Fri, 24 Mar 2023 13:37: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 1pfhbJ-0004Ms-Fg; Fri, 24 Mar 2023 13:37: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 1pfhbJ-0002Jx-Cv; Fri, 24 Mar 2023 13:37: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 1pfhbJ-0006jJ-2N; Fri, 24 Mar 2023 13:37:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfhbJ-0006p6-1s; Fri, 24 Mar 2023 13:37:01 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rzLwlwRMTGK8ZG0JisvQmBSkuoACoXCMBGRcghZahyo=; b=3E92JQgVtCrAFi3xGP5flVoEUO
	cYl+ofmQv6NQ9sNe5EmTHIGQ362Sb8H+cuNfMRGbSLVgrBtn18eLz50qJN87mOcaXSNx4/Wf0U+DI
	bidhNoMfqIeUx37uwbP7x9rpPrzUu+fYKa7VSMnzLAN/hPit3CBwKOGwM368yOw3yAQ4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179922-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179922: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=9fa425875362cfdb4717a68455fa7ba5dd969780
X-Osstest-Versions-That:
    xen=95b757598f699bcb37f7d1fa60faa0ccd0d55c77
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Mar 2023 13:37:01 +0000

flight 179922 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179922/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  9fa425875362cfdb4717a68455fa7ba5dd969780
baseline version:
 xen                  95b757598f699bcb37f7d1fa60faa0ccd0d55c77

Last test of basis   179889  2023-03-23 09:00:25 Z    1 days
Testing same since   179922  2023-03-24 11:02:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   95b757598f..9fa4258753  9fa425875362cfdb4717a68455fa7ba5dd969780 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 14:29:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 14:29:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514330.796451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfiQI-0002yh-Lt; Fri, 24 Mar 2023 14:29:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514330.796451; Fri, 24 Mar 2023 14:29: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 1pfiQI-0002ya-JG; Fri, 24 Mar 2023 14:29:42 +0000
Received: by outflank-mailman (input) for mailman id 514330;
 Fri, 24 Mar 2023 14:29: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfiQG-0002yT-My
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 14:29:41 +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 4c88b349-ca50-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 15:29:37 +0100 (CET)
Received: from mail-mw2nam12lp2045.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Mar 2023 10:29:33 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA2PR03MB5691.namprd03.prod.outlook.com (2603:10b6:806:118::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 14:29:29 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 14:29: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: 4c88b349-ca50-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679668177;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=RWWrS74WSOQUA1xT610YvJwS5RqChROnokLmJrPMQ1I=;
  b=icPFLWCgbNH5L7yGr6Fli3z8T3Pdzl7L0sc6BEaXhsLAeAaoquH+Bmi0
   gtvhuxeYWqaanxtIIkhWi6crZpF8s9T41oSE/tG8ZTM1GyUTXt4aiw67d
   6e8R9vQkSvLtwrR8kQWGoxq20FfKzw9Z1Qqv+xWubrM4nkbLZCIh9Ss2G
   A=;
X-IronPort-RemoteIP: 104.47.66.45
X-IronPort-MID: 102208912
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:RaCYlam//6uHycmJqRq1oxvo5gwSJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIaUGvXaf+KMTP8fNB0aI6x8kwF7JTSnNBgTQQ9+SBgHyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5gOGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 flBcTkkKQGsvvir0pO6E7lKoZwfIta+aevzulk4pd3YJdAPZMmZBoD1v5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVklI3jOWF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtKTufgpq8z2jV/wEQiCS0bWnK5psX+i3G0e8oAC
 RAm/i4h+P1aGEuDC4OVsweDiHyOswMYWtFQO/Yn8wzLwa3Riy6CHXQNRDNFbN0gtec1SCYs2
 1vPmMnmbRRwtJWFRHTb8a2bxRuwJCwUIGkqdSICCwwf7LHLoo4piQnUZs1+C6PzhdrwcRnOx
 DSNoDk7lq8kp8cB3KWm/njKmzup4JPOS2Yd7AjNQnis6A8/YYe/fpGp8nDS9/MGJ4GcJnGRs
 X5Bl8WA4eQmCZCWiDfLUOgLBKuu5fuOLHvbm1EHInU63zGk+nrmeJ8K5jh7fR1tKpxcJWKvZ
 1LPswRM4pMVJGGtcaJ8f4O2DYIt0LTkEtPmEPvTa7Kif6RMSeNOxwk2DWb44ownuBJEfX0XU
 XtDTfuRMA==
IronPort-HdrOrdr: A9a23:MK6VHqFc7Fdxv5FepLqELMeALOsnbusQ8zAXPiBKJCC9E/bo8v
 xG+c5w6faaslkssR0b9+xoW5PwI080l6QU3WB5B97LMDUO0FHCEGgI1/qA/9SPIUzDHu4279
 YbT0B9YueAcGSTW6zBkXWF+9VL+qj5zEix792uq0uE1WtRGtldBwESMHf9LmRGADNoKLAeD5
 Sm6s9Ot1ObCA8qhpTSPAhiYwDbzee77a7bXQ==
X-IronPort-AV: E=Sophos;i="5.98,288,1673931600"; 
   d="scan'208";a="102208912"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WogrMn02h3T+8wdBe98HcUMa+lhcoSS+KGnEg+MycnfIJNtA4tTtAenH4pN0sF6PsZ/+7nttDEMUBu66ap1J84UKcMF+EI13g5zmaH/DTArGpHtiiiwPK5uIgj+44w2tqXwCiIvAyUXAe7c2g+9PxxAk5x+HOwAZQIF3LwzRUD3fsmOrIen6WzKxLEM3bSsLTfYV4Ke09sE/de9Tdj+dz7Pukeg5IhJJDbsxwrv0J1BGBTf6f/5nWqjU1zjZtc78NoXjk7I/4XecNOS1LG2ynkA+aInlDjQ5y0fD79qLoULxtAO4FiajlHWycaSSEjdMQ+XEi8kSY6uxCfujY27MPA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RWWrS74WSOQUA1xT610YvJwS5RqChROnokLmJrPMQ1I=;
 b=m6loFVy4S8kS4WbGchMYgPPunZGwFrlEcdU5biOlUfNHThc8CdhxwaVF53PvlQy30loPjpAGfTQZt4DIS7x8GS7FmqSAnMU1v0HfDplM/nthod7pDWCFjBjsXC7hgeyKKd+xFmMRkyf3/aduUXAgceND4agT0oONbxfYGywBd6KFtcWy0v+snca03HOwqVediVX2/s3TiPdkZTXmwhCW35e/b5qcsIH3Uj1a/sT2HcsyG2OAbHaWdbbdUqe61p3839jksjiHBGEcw4864WjPKx/r0KfukTy4MQ5kH2p81UQtyYFGpnYMhvvQEH8gDcHCIkaaTpSIXDtYrcq+BKNFzA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RWWrS74WSOQUA1xT610YvJwS5RqChROnokLmJrPMQ1I=;
 b=vMPtu1hY3F7ACCRF+u1//JfqdkKDeo45GKb5xSVeRu4LA2gxfW5hET1XfeQs1+BEuhELvcimeXRTKUXwt+plAQgNy3Zf4lFpCZt2VdPAD4Ig7/zt7fm0uj+iYvYth3o7+N5VynJmUxJ6lLomlVwHgCYI9fSRFmvBMvCIAFU11h4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <ed1cb46d-ae56-d610-81b1-fed87fe6d5d7@citrix.com>
Date: Fri, 24 Mar 2023 14:29:22 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3] x86: Fix XEN_DOMCTL_gdbsx_guestmemio crash
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <George.Dunlap@eu.citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20220425123717.18876-1-andrew.cooper3@citrix.com>
 <704c371f-ae25-e2eb-dd90-67493a16fe1b@suse.com>
In-Reply-To: <704c371f-ae25-e2eb-dd90-67493a16fe1b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0638.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:296::18) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA2PR03MB5691:EE_
X-MS-Office365-Filtering-Correlation-Id: 91301cd6-da58-41b1-e89c-08db2c742cff
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0QfIce39If2cTQVzU17gW4AFNJNNH6u2z1JUPDv0V5wgUiIf30C7+NeK8nMNoqLXsJitlpQW5INjwpQGfjaEOlFEzSPgjXRx78O920UJOkanBl6rnzoQwiKpQZ3MrJ8BCqCCFM58vcakfHISrsl3aQ6l9vLkam119pADynkbERXIXWAWI8oezhP36Nv/2ajIGGbFQcZVq4Tz68WOZOHrjt+2YCzUHto/bvPIfTmkkkQXBa4qzIIWLCrP2LeZkRZierTvLI/dYYGZrpdokYeFr1xrWuOpAyKjReZKY+BGQ3eEtriTs0D8Dy5yjsI/4epVw7CjCiZ58vqU2WipycZZKFCFxpfEn2Rymc1PMjqKYpfKKlYYv50vJRqy1T7cdgyZdeos/4M24KtkxoxCOI8Bp0O53sJNCgo7IUs2dRyczPUr0zkRvJRT8v6awdAjA9ZWEIjsUV21fBJBckDZuP30O89xO9Azi4sz8CTQaXJS/P3cItf390A4rLtF88SAM11Tq+CG6xfzmvwjxgh2MRl8Gltpc6LI/JpCDXykw6VXUCQJyowIIdUpv7Q/aT1QVcHuohxkGXX0wnbXW3yM2wypLKX/Xqnc2CsYigTo8lqrQKTfsA1abYNcsozU6R25RvnXdDolexR8sWGWje/pIyZgNPnJRjsIyA5IuQxElKmzM6LUgNUTdTHnT1wElKnyaY9ivzZXTEXpXm+8Gt0hNl7lIiavVrR+A009YBBjHhZNalw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(39860400002)(346002)(366004)(136003)(396003)(451199018)(31686004)(41300700001)(4326008)(8676002)(5660300002)(6916009)(7416002)(2906002)(66476007)(36756003)(82960400001)(31696002)(86362001)(38100700002)(6666004)(6486002)(316002)(478600001)(83380400001)(8936002)(66556008)(54906003)(26005)(66946007)(6512007)(6506007)(2616005)(53546011)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L04xaURaWnNISnlSdGRLcFVXNXYzQm1aUUpIZUNnNFo4MTdmTmlyZW9BZVRP?=
 =?utf-8?B?aHlUMlgrN1hrS0dvR1pRN3A2M01aRjJrdFBLQVNieEhOc1Y1bVUvcHg4aGdt?=
 =?utf-8?B?RXBaMFF5ak1TUzVVOW5HUGtCTWJWcnkyejBOYTQ2MVFkTWo3a29PSWk3dG9I?=
 =?utf-8?B?ZDBZOUJWNXJBSGpOMFBsS2xlSkI2V3lWVlA0bnJpZGpMZmlIMjFoWmwwKytG?=
 =?utf-8?B?L3pNSmdPdTBuelBoZDZYY1poTWZzaGZZMGNmK1FBc3V0VS9QME1sY2YxWVZ5?=
 =?utf-8?B?Q0dyWjJsSktvL0JYdjFqa01DTUNsZzdHVXlSazJFa0U1V25WZGNYcEhtMFJj?=
 =?utf-8?B?QWIyM1prQnN6RUQzWUUwSDFrb0ZFdVZjRU1pbjNqNERZWGRDWFBFSUFSWlJQ?=
 =?utf-8?B?dncvMWcybXRybWVWK2V1SHZoUUI4aFBsNEp1RVVIRG90MkxLZWcydTJCK1k3?=
 =?utf-8?B?VmtjT09zNWc3ZmlqdE5qU2ZHVC9NcTh5M1EreWRjNDZ4SlZFTFZVRzNLelUw?=
 =?utf-8?B?eGFuditlTkkrMDVZc1dQdGN0aWk1NXB0SkV3bUtnbHJHN1B1bkcxVDRUb1pl?=
 =?utf-8?B?Wm5DL3ZES2pOL0RiVW5OM3U4cXdpektqKy9LS2FRQnYrZWxkU1h5RFdUQmFZ?=
 =?utf-8?B?bXFJS3lvTnd2ZjFJeWlWK2p6U0t3cWpGZHJZelVTM1hKSXFSa3U3RXhoV0FI?=
 =?utf-8?B?aDdrdmg0bmVmc01HOVdndWtkZXE5WUZvL0l6WUp5Tk9pZkRPT29VcEs0Y0Ux?=
 =?utf-8?B?S2IzeXZsWFRHN2p1OHhUcXJpME9oV3RVVkZLbnh1Q2R3dldITmVzVmJNYU44?=
 =?utf-8?B?UUxDUGxBcjJvUjZuekRRVG9oR0lzOUM2YlVJOUgyMnBXYkdrNW55bTRlbHJR?=
 =?utf-8?B?aXMrTTIzcjV1NlRFWWF2OEowb092ZXlTWjVGaEFOUEJtMHhpVUhueGhJdXEv?=
 =?utf-8?B?bllRWlUxdDl5UkcvTUZ2U3NETkFXRFltd0RTNHBpeWN4dVdFa1NjN0hxMVFJ?=
 =?utf-8?B?aldTRXU4R2tmYUlBNFNQR0k1UWd2OFFaWXVTM2tRdWcvZmh0NzlHTTdYTEYr?=
 =?utf-8?B?MFNRVkU2NFFLa0JTb0ZrRENPVzBrRkZaWkhNeWE2WHc1TmJTdmVNUytrMEVw?=
 =?utf-8?B?MUZrOE83UEk3WDJ1b0lpL3ZDZmRNMW5JNThnU0pGQndrelJOTlBHWkt4eFpJ?=
 =?utf-8?B?RTNOOWhFbXIyVFBWcDRjYlFkMVB0R0tlUGMwN3hsN1RPaktQbzdHci81ak9I?=
 =?utf-8?B?eDZOQXp6S25rdWk3YWZEM3Z2V3hoUFZTeVhZekI3dTlhSk51cXB3cHBxc21Z?=
 =?utf-8?B?b2RNdXY5ZEpUWEUvSVVkMDY5eENFclkreUwyQW8zWjhQVm85K0ZBTXdEQ0d6?=
 =?utf-8?B?WVN4aVV0c0ZWL3p0L1RZb1FjN3FhU1o1YmhaaHlYVVFOYjROblhKVTMyM3BG?=
 =?utf-8?B?UGVROFJMbS8wYnhOdW8rdENLNFkybFh1dUs5NitVdzJuNnBrdDZUc1g1S0kz?=
 =?utf-8?B?VFg4SUM3amJyN0t6QlF6UHorV2F1VUVMM2p3QmFyVXhHdFFoT0ZZK0V6cGdF?=
 =?utf-8?B?RUhsZnVKTEV1M3JqcVo1SWcrSzA5QnExRzI2eXROS09oeDEwck1Fb09FRXNP?=
 =?utf-8?B?YXl0WFFycXNlbVpUZjJRUEIzb3RmbTI3TnEvdHFmcUxyZlZHTmRDMVlYN3E1?=
 =?utf-8?B?dmZ3V3JWeGJLMEtwclFqclY4UE1iUzN2ZFZ5dnNOMVMrUHRjZVRtbmtES25F?=
 =?utf-8?B?N3d0OTZpL1FCblRHUDkzWnRCakNrQm1JL0NocjlHUmxjSVBHNzB2SGc3Z0Nr?=
 =?utf-8?B?OUUwb3dvZWlhN05kdkErWmwyMk0yZWtRWjcrb3pQNDJhZzN4a3N1THQvZS9k?=
 =?utf-8?B?RHBjSnpKL2xsSnJieHY5dUlVZTNlc2gvbHFzaC9oQ3JzbnRoVEhVRlpmMElV?=
 =?utf-8?B?RTQyTlJnYk1qSXZTTG1YUkhHeTkxNThtN3M5WlFMeXBzd0VsSTRlWEpCK3Zy?=
 =?utf-8?B?dEQzKzQ1UStwWTRReVB1dTFiMlp1Y2tKY3Z3QzJ5UnNvOEdINkhMbkpPS0dt?=
 =?utf-8?B?WUg5Nk5NbHZ2K2lVWlZvSXhVL1NOaGZzbytDWU0zYVJHSXpDdVI2bERCeDN4?=
 =?utf-8?B?Tm5WMjVVS1RHbVRnbzdUMGtQaDVhT3dHWmNYcndmcVJybUd1eUEzMkdNUml6?=
 =?utf-8?B?S1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	6ymMGvDifcgIAhKYr1oh0Ae7BDvfosTlR3uJ9SPZ8rtlMcrtt4bU0opWi4zijijl1TMvDgK8yPBdA5xrDR5HakFzuftwlqdbhdp0vi8hnRjTmPn/YTdd9+N8y5oIDdXniSUigTJ169VBBVPFaNRFQjbQAqp9PTFYLLCxCPXp3NGr25fi4KS/Xcmy2+z8vD5uXvGFw17QZt3b8ycoZi+hPkchX3F84ukWBGBMZydgPMNxcV3zfJQuf7r3VAwedOpyPz32a0PP/bFzYSWyKjLSyKTpB9recRxr1uYdaGuSkTI5wvyG7Yp7esaxP5sTq3zqL2mRdyLOdQgem4TEpoZcnuHKe7iLz3pCRUH+cMkMZZRDnCrX8LhL/+epi8oNqUeEF5UYdmC/aj1iEn6yXcAEvidvlFqDSXl6DQPdg1trghpEc9a9XuckSddgwB2880dCA19aGWpdA1bdIdzdRWhunMQ9wqJ7t+259vfQFSTeABKFBPEpiTIlxLdQY1B/ikSI9Jca2bTsvDhDA/uWdvze1LdBGX7YIXh7kY2lanA9E2/WgGKpH9Xy7Aw8XyRIFsOrZZXOuUfCLQ4sdOGfIkiY0URsyMuHRXmDjQfOIJgiFjmPiPAps8WbByY+W81I80UCtYv9ynMPRdW1RD1recEQZzIS5mUmMegRSt29hHgIxB/JlmUVyVljSA3kNaHLOvs6EMxExHNDpVhqFirWNlvuhcwX5mMDX4/bh65UMRC8OVOv2alN6aE0R8SNYTUxsCExf+lCHZXykm+hC7FLonN+NeRvvxnXHUekm+5uyCl9FCwG2zlE7qgUuGwHwFSRGME4RSagG54shNOemkTmp0WZAEUqMHvj4D28/wC7FHBBsUT0ZUwEiKACffHDEVShcvS5ZnQpL81ckLSuKIRLuxjQSA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 91301cd6-da58-41b1-e89c-08db2c742cff
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 14:29:28.9604
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kGqqlNoikYNefj3ReUU99eDtBlU7aPJX/wNT4TwdMCxw+oDIPuiW6kIpSfLt0REPcE028wyXhH+rbLjrK3oyO08vyZn2EZiszpOTH0/Nip0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5691

On 25/04/2022 2:36 pm, Jan Beulich wrote:
> On 25.04.2022 14:37, Andrew Cooper wrote:
>> When CONFIG_GDBSX is compiled out, iommu_do_domctl() falls over a NULL
>> pointer.  One of several bugs here is known-but-compiled-out subops
>> falling
>> into the default chain and hitting unrelated logic.
>>
>> Remove the CONFIG_GDBSX ifdefary in arch_do_domctl() by implementing
>> gdbsx_domctl() and moving the logic across.
>>
>> As minor cleanup,
>>  * gdbsx_guest_mem_io() can become static
>>  * Remove opencoding of domain_vcpu() and %pd
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> Technically
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

I'll tweak the commit message now that the IOMMU fix has gone in.

> Yet as mentioned before, ...
>
>> --- a/xen/arch/x86/domctl.c
>> +++ b/xen/arch/x86/domctl.c
>> @@ -816,71 +816,12 @@ long arch_do_domctl(
>>      }
>>  #endif
>>  
>> -#ifdef CONFIG_GDBSX
>>      case XEN_DOMCTL_gdbsx_guestmemio:
>> -        ret = gdbsx_guest_mem_io(d, &domctl->u.gdbsx_guest_memio);
>> -        if ( !ret )
>> -           copyback = true;
>> -        break;
>> -
>>      case XEN_DOMCTL_gdbsx_pausevcpu:
>> -    {
>> -        struct vcpu *v;
>> -
>> -        ret = -EBUSY;
>> -        if ( !d->controller_pause_count )
>> -            break;
>> -        ret = -EINVAL;
>> -        if ( domctl->u.gdbsx_pauseunp_vcpu.vcpu >= d->max_vcpus ||
>> -             (v = d->vcpu[domctl->u.gdbsx_pauseunp_vcpu.vcpu]) ==
>> NULL )
>> -            break;
>> -        ret = vcpu_pause_by_systemcontroller(v);
>> -        break;
>> -    }
>> -
>>      case XEN_DOMCTL_gdbsx_unpausevcpu:
>> -    {
>> -        struct vcpu *v;
>> -
>> -        ret = -EBUSY;
>> -        if ( !d->controller_pause_count )
>> -            break;
>> -        ret = -EINVAL;
>> -        if ( domctl->u.gdbsx_pauseunp_vcpu.vcpu >= d->max_vcpus ||
>> -             (v = d->vcpu[domctl->u.gdbsx_pauseunp_vcpu.vcpu]) ==
>> NULL )
>> -            break;
>> -        ret = vcpu_unpause_by_systemcontroller(v);
>> -        if ( ret == -EINVAL )
>> -            printk(XENLOG_G_WARNING
>> -                   "WARN: d%d attempting to unpause %pv which is not
>> paused\n",
>> -                   currd->domain_id, v);
>> -        break;
>> -    }
>> -
>>      case XEN_DOMCTL_gdbsx_domstatus:
>> -    {
>> -        struct vcpu *v;
>> -
>> -        domctl->u.gdbsx_domstatus.vcpu_id = -1;
>> -        domctl->u.gdbsx_domstatus.paused = d->controller_pause_count
>> > 0;
>> -        if ( domctl->u.gdbsx_domstatus.paused )
>> -        {
>> -            for_each_vcpu ( d, v )
>> -            {
>> -                if ( v->arch.gdbsx_vcpu_event )
>> -                {
>> -                    domctl->u.gdbsx_domstatus.vcpu_id = v->vcpu_id;
>> -                    domctl->u.gdbsx_domstatus.vcpu_ev =
>> -                        v->arch.gdbsx_vcpu_event;
>> -                    v->arch.gdbsx_vcpu_event = 0;
>> -                    break;
>> -                }
>> -            }
>> -        }
>> -        copyback = true;
>> +        ret = gdbsx_domctl(d, domctl, &copyback);
>>          break;
>> -    }
>> -#endif
>
> ... I'm not overly happy with the retaining of the case labels here
> (and the knock on effect it'll have for other subsystem domctl-s),

The crash in do_iommu_op() happened because things which weren't iommu
subops ended up in a function only expecting iommu subops, *because*
unrelated case labels got compiled out.

We've also had multiple XSAs elsewhere created by related "just chain
everything through default:" patterns.  The legacy MSR paths are still
especially guilty of doing this.


The case labels need to never ever get compiled out, even if their
subsystem has been.

So you have a choice between this patch, or a pattern of the form:

    case XEN_DOMCTL_gdbsx_domstatus:
        if ( !IS_ENABLED(CONFIG_GDBSX) )
        {
            ret = -Exxx;
            break;
        }
        ...

but the top level case labels need to stay one way or another.

For this patch, it moves a chunk of logic out of a fairly generic file
into its proper subsystem file, and a few extra case labels is a very
cheap price to pay.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 14:40:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 14:40:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514336.796460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfiae-0005e3-Oc; Fri, 24 Mar 2023 14:40:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514336.796460; Fri, 24 Mar 2023 14: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 1pfiae-0005dw-Lt; Fri, 24 Mar 2023 14:40:24 +0000
Received: by outflank-mailman (input) for mailman id 514336;
 Fri, 24 Mar 2023 14: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfiad-0005dq-RC
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 14:40:23 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd720667-ca51-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 15:40:22 +0100 (CET)
Received: from mail-bn1nam02lp2047.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.47])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Mar 2023 10:40:12 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH0PR03MB5954.namprd03.prod.outlook.com (2603:10b6:610:e1::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.40; Fri, 24 Mar
 2023 14:40:10 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 14:40: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: cd720667-ca51-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679668822;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=gT0bYj5k2GcZSQ76d4PpQEnfQLUlmVolK1Tz/ZW7cWs=;
  b=RFlcuQVwE7KtHOgucoIoxJuACRyiwkLzKb1t9ONaBtXN36A7+gcqqfjU
   ucvb/5vcnsMHIx6HAFR8tLODQVj79Itz+m+v7Wu3/TRVHLwckeeWUjGCe
   2G54LFq6hA6i27HqEzPYgtyXLeYorJlKe3uMihh6Cc7Bt3oi/GineGxl6
   8=;
X-IronPort-RemoteIP: 104.47.51.47
X-IronPort-MID: 104618921
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:IktT+6y07ZEjo3zhEAl6t+cVxyrEfRIJ4+MujC+fZmUNrF6WrkUAz
 mQWXWHSPa6CYjDweNF/PNm19E8B6MCBz99iTgdv/yAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6wT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KVwX1
 tMoJ20PUiugnceT2763ZrYyhP12eaEHPKtH0p1h5RfwKK58BLrlGuDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjGVkFMZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqjBNxLROzir5aGhnWh92Y1KhhIXmegqPuYoH+RVdADF
 HUbr39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLL5y6JC25CSSROAPQ2uclzSTE02
 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9EIMZTSoNTA9A6d+6pog21kjLVow7TPHzicDpEzbtx
 TzMtDI5m7gYkc8M0eO84EzDhDWv4JPOS2bZ+znqY45s1SshDKbNWmBiwQKzASpoRGpBcmS8g
 Q==
IronPort-HdrOrdr: A9a23:SLNKRq1k2GsgHuo7LBg+vwqjBHUkLtp133Aq2lEZdPRUGvbo8f
 xG/c566faQsl0ssR4b+OxoVJPwJE80lqQFmLX5X43SJDUO0VHARO4N0WKL+UyaJ8SUzJ846U
 4PSdkYNPTASXVBoILdxiLQKbodKd+8mpyAtKPl400oZydMRIFP0zxQNya8NQlNaDQuP+tbKL
 OsosVGoja7eWcadK2Aa0UtVfTYutvOmInHTHc9dnwa1DU=
X-IronPort-AV: E=Sophos;i="5.98,288,1673931600"; 
   d="scan'208";a="104618921"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LHveL29O0MSuPDwQTdWCrlqcFJi8jkrELHB88dCcOqII+zrasU6ee9XB8NUiYFkjIaO8RNK7ggo1OuC7bIrqVfrkHSuQITGBN6e5lYe6xQ2zVkJQvGvLSd7m981AXVlXqFGJWkBvFkcYkRR/wY9RCB6JVA2Ltn8hCUkkKjbWsUgN2pA5HDmqdGg+5LSVnPyQuIX1sA0QhioGuxn9ybwm7m/TQsfq4xbUaVnOqpu3dtmSj4tHATZ4Vvz3xyU3WS31zuaW0wfVsWxB4s2UrSOjrm2IMaPyS/fieWnbhaCypyY0/bKoJRDX9D2r5g1UYGWNOTRGn5gdf1QiazIFlUxRyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gT0bYj5k2GcZSQ76d4PpQEnfQLUlmVolK1Tz/ZW7cWs=;
 b=P+cJ/H1T4F4dKkg/Qmfd5OaqQ9wHhnILr9CZmBeQADinQYfR6Rr5Ezg2Dh5BHKn8eiFghZwuecTwYzLU9hXH/IJVt5SmOTrUSqgR9pSfYFehEG22LFsRAnvFwUkwMtflBHrN0fC9k26r+NoS/IqBG7jjmqfCs67tXMi4eJ5CTb6pQjFMxiNI1ydI8PzpD0Yj51wx1u70jxpb1TSnOXDSD7ZEdULTeZBd51XU3iw9AwQsbChMikHvDPrPSLgR/sf7g0ue/rx+FIfTSqsFKeoUDtX5YjJ/XSHK+CUoHOqBKrkeB+1gyHsoaL3Zhc1SPgltKFHXLt3/KW+1XWkZphOEuA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gT0bYj5k2GcZSQ76d4PpQEnfQLUlmVolK1Tz/ZW7cWs=;
 b=ukqmc0Sno73GYlIdOsxrV42R9juo2SPznkgH3B8pmHy0TBirnTbAhMSwvMqme5CdBDrU9lpAKLmIwib2A0doGpKBxsbBsQmykv/t/4xsi/KYGTm2zyllSFGvN3bEJQEda0fnbCvSvZU/l563buhnZMoXcEWWSeAMZR/jXpgTw+4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <92bb621c-46b9-1871-a9ed-13fada8cfc56@citrix.com>
Date: Fri, 24 Mar 2023 14:40:04 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/boot: Restrict directmap permissions for
 .text/.rodata
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: <20211206130855.15372-1-andrew.cooper3@citrix.com>
 <9ac98bc7-5b39-3c88-556b-53a5fdeb2445@suse.com>
 <211f1b19-5f36-3153-bdc3-d904193b3643@srcf.net>
 <b0932fc9-b55c-59d2-29cf-e0ce76dedcc0@suse.com>
In-Reply-To: <b0932fc9-b55c-59d2-29cf-e0ce76dedcc0@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0295.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:196::12) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CH0PR03MB5954:EE_
X-MS-Office365-Filtering-Correlation-Id: b34d537b-89fd-4ec2-8dfa-08db2c75aab1
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wopVwgXeuMamx75sXXkVGR5hupT3K0qOafdYos8YnBi9a3Lu8cspg5iBDnCxHeP4iWdFMHEEX1RwZOw+ZIieaQrlw/4LEWY1xhwE4RvwfJW4PFN42tIzXPgA0GL4h99btMSpqYWOIBEAv6I706t0hsdtAbwtSzlgnJc/p6aV1qlg6U9uayvePXxQh43COr5jqCZEdHFO3h7qXWxhfvhO89ze2PnRe+tgjhf5PgwsIdssTC1g3m05rBuSlmH1BQwszxQmPXBLG1shu6dwem92WRMnOf/glwSpAf1XQRxcKQWp/8InoS++Gcjsyy6riLv16ltl0RVASTVYsRAGC9iR5J3KBxFEI5mLxemJJ4VOyqpceq5ZtcSjy/Lv/nIvlHrI7WJ0dJ6pGqMAtvFSAisY2xBmxEA0GSQhwI/3tPInxuT4Fvx1ig3YFLLUjcS+iPwoTaeEKPmxoyEARVIOUnDU1EKWb+dM5Vp/E4ofnidrLJQKYK9Fg2YmKt8FvIUK0jj6Z5AQfWoPfAniCMpgHjaXiJzP8xyDWPTgclcvV/01STIPdWP7ZPhFY7cVRZjYPyOa8HuD3cF3JGp1y+jmCbhGkR1xKPhLh7hZxUqmMqIvjSKZKe+AZwOJwoulWVBb9fpl6k0pOfZ+QB/Tz2RfEakYigSpTbR8woq81nZSZNcXgpXWhqQgyKj9IZhCKR0ymcg7bHYIft41zhgIDQjoMJRrjKks8JkueU4gb81BV8PJXL7jPQTom197ELSq72Vi2G2VCJnf9Wz6g18kLhyXvvRvSw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(39860400002)(366004)(136003)(346002)(396003)(376002)(451199018)(82960400001)(38100700002)(2906002)(8936002)(5660300002)(41300700001)(31696002)(86362001)(36756003)(6486002)(83380400001)(6666004)(54906003)(478600001)(26005)(186003)(2616005)(6512007)(6506007)(53546011)(31686004)(66946007)(66476007)(66556008)(6916009)(4326008)(8676002)(316002)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eVZocEdLMk15VUdyd21OaHRBNWV1NDVOUGhOK2ZwV2ZrakRqK21SZlVqVUox?=
 =?utf-8?B?dHNMS3YwL3Q3eDRoNEhhU1hqL094TDRIcXBKVlNiYWluMkJMRFVxZXJKUXdi?=
 =?utf-8?B?QThoMDFBRHoySjFkYkhOZ0krV3lUUFBlQlVtN0dxNzBZbjliL3lWTmZTZ3Bk?=
 =?utf-8?B?TENiYS9pSzhnNWpjUjdNZTFvZEtEQ01GbHU1NFJoTEJkS041N3hUM3JJZG1Z?=
 =?utf-8?B?OXVYOUFkTXJUdzBzR0R6VlN5ckFQd2RIdm5vaUJMTmkxZXRFRTZrekwrVnZD?=
 =?utf-8?B?RlIrTUdyN1JXNEJrdHV2dVo4TWJZOFlvY1FkQmpvRXNtbFJhc0tadllNNjRT?=
 =?utf-8?B?YVhiMzNDYkRUM1dzUTY1cHFCb3NMdVNuZnVWc2dEOVVVYlRyckNOM3BDM2x1?=
 =?utf-8?B?bG9JRExHajBSTW91NDFnbnB0V2VBRWFRNnVVREVFT2FVL1hueGRidG5FL25s?=
 =?utf-8?B?SFhzTU8zOFU3aUJBOGVFTW5wVCtLdFJnYllZbUY5enNYQm0yRldiMncvT1p4?=
 =?utf-8?B?SXlHWkgvQ2pSNi9uZGQ1UUFiWkhwY3RDVTFZOHVteGlxZUUxdG9PNDczc1hS?=
 =?utf-8?B?QkplRmhxZjk0K1Z6a3R0M3ZwWkRVcDRMdGM2cmtlaFdoc3h5T1pMSDg1ZUhu?=
 =?utf-8?B?Z0RkN3p3R2RMK095VE1aMldsUWhkeFZYVGNsaEorcG1mYkR4bjBsQW82Y0Vv?=
 =?utf-8?B?WFZ6amdjc0p6eTBZOG5wcjZvL1hjS3ZQYmVtYjhYMWR6cG5iLzhsb1NSTXVv?=
 =?utf-8?B?YkVtZkhYQkFFd1lELzdRZG1LYjUzT0t2dEkvOHcwY3M0Q3ZaWFdaR0ZJYUdK?=
 =?utf-8?B?TkJRTjhqMHdKdGx2T3lXUVN0ejIzWWdnK0lxQVhTS3gxN2hPWkhLMk5Vc2tl?=
 =?utf-8?B?REl0TjlWSFZZY0RCS0RPYjJNbWt4cXhVbHhjTjBKUmZUUk05ckhoSnFRcnIw?=
 =?utf-8?B?OHJiS2ljcGJpR3FSZEIveFF5bnd6NjFtQkZSUVJlYmIwNlRHTnZRcVJYSE5v?=
 =?utf-8?B?TmJBT2xwbDJuYnpuZURTOUY5Q2dzWmgxSmtPcFZuT054MFQxYWxKZzdBLzg2?=
 =?utf-8?B?YzZiYW5tcDIxVXV0UDluMkM3RngzMy9VYlZ5RElvRXJ4S2IrenVSUWtxeUVT?=
 =?utf-8?B?eC9MSkVlditTYlZPWkpMSXFvaXlvTmtjeHYxSmROWlQ2a2NMempYdy9GWmxT?=
 =?utf-8?B?d1h5S3FXWnpXczFhanEzN1ZUUDBkS2dNUzlmUlkyaTUvOEdiT0FhLzYvK1c1?=
 =?utf-8?B?L1NRRmcvRGlJL3p3S1dGSEFPeldqRERWMnhQMHpDcmRRZEZ1K1p4S3k2amZO?=
 =?utf-8?B?eXpYdkRSMTdzYnBhbHJoQ1pYSnh5VVp4Y0FFSk13SjQ0RjFLNHlFbGVrNGxE?=
 =?utf-8?B?cXd4dWtVbGJjZUhUY01rVU5CNmdnYzdHZGVxcnRHbWZNZGIxdUtOTU5JQXla?=
 =?utf-8?B?U1llRE42RktOd3ZmSHYwamxTdE92bE1uTFBLVVdSZnZlZjU2ck1raDErNG9U?=
 =?utf-8?B?SXUwYXJRRy9vcXhjWEdBU0dZUHVsVHFaSXNQOGFWVkhqeWswMU9iRnlXTkFr?=
 =?utf-8?B?SWp1b0Z1eEdIMVdYUmNTZUxkZEJuMUJaeW84MWFlUFY5RUVtbHJFK05LQnM1?=
 =?utf-8?B?MEpGUi8wNTU3TWpLbGE2N2h3cDk3eGlic1c3QjBEYk05NUpFbjM0MGRQWSto?=
 =?utf-8?B?dWxOUk02b0JJYllnb1VKK1hKcVkxdE14aE0zY3NkSi9ra0NJN1pPTFdseVNz?=
 =?utf-8?B?NTlKUzBLMlcvWDNhMXpSRDdrbEpyL2RVK2lrbXZsM3MwNFdNcjVpbUx6Y2dy?=
 =?utf-8?B?Y01KNDBqL1d4NGZFRkhyV201dXFGQlgrYUt1cnJFTHBzVjB2VEFrcm41em05?=
 =?utf-8?B?c0Q4RDBXNzAwczBVZUFIbERKbGhNZVAxb3J4Z21nNFYwQkgxeEpPOGtDV3pu?=
 =?utf-8?B?TFdxQ29nT0duS2NXbVhXaU4xVk1vVWtWQmtDbUhRSFpWWE1HdU0zMzRlTWR5?=
 =?utf-8?B?TFpSN3Y2OWU5b1UrbUkzeWZZZXFadGpHWHBNcWt2TFFPWUFBQm9MZkh3LzFo?=
 =?utf-8?B?R05SQ1J5eDJ5R25TQ1pKcUM3QjV3WUtUcU9mMG4xdFlSaTI0b3Nxb1RNalAy?=
 =?utf-8?B?U1ZLK3JhTGQza0taNVpGN0pZd3EzaWR5MEZlRWhnWlpJaklHTXRpYUx1dkFT?=
 =?utf-8?B?aWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	wFmyLiFI+k26AJAcGj1SejPzb36TrhXRbw/e9QL7rzDAqCLYpHtRBVdRqPdGzSPDzKrPWNd7GRB8kxrStaqUT+ln8fyuKZ6Q1YD1otZN0K2Y7T9qaRHGSlQwOpVTo2Vb+F7L9VdHfQ2q7u8GymdU7udwmEmDa9rEvg8GoM8t+pPk+p40JBNBM4viI9IdfbWyLXiOFH/Xo1r+2zD7Iii4sutiZIqYJIHs7SdoRoompfRH83DmYAym1wiHjZHZCtag4cTBzuYDO4HtTR7X4tquWfALqGS4hBut0wAhYpb50LSKW8j9/ZoAqUBl6gPtOHRF9vE1i8H8DFG5Z5GkmkzZ64mfpBowYSSSmKbeXJ1nFBy8b9kFGGAVXgBCmnJW/uAWCjKgAk8/WhJV+OVjVb8MFH+mDrUKX0358b9mKdPSN1FcoiO+nD/mUCuGwoSMwqttbIIPRXRnz/1ia3PD2bcNX6dOnMray6eRF/p6tY7LutOwIh7kdM9sXsse95pqVXxuhMOuZaBCXBWpEQ6oTLIzEuo3YqQuU51tmptUdlF7jVfqwhW9FuxMpOc440EOC3UqWe2mwagB0CqqSsCX/skf47mLuzzwt8GmI6sXjIx40IqtLjrLSOZjrVSUWyUYnGT8C5OwxD9pD2djSJWSWCQa0aRZsW3jaXbk41Kiy6iqAoivtzU+5vmPT7iCd211tOqJnIqJ4DQudMnV2MeaX3C4ZEfM1/3zklUgdyucJiOnJRODD9XBUXiFYZmzgppCtvorBoueCcgmSYkk5PWQtgHWZnzsSuNNxiRphewtbVOb6j84Wl8xbJP+MeZfgYseFeVF
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b34d537b-89fd-4ec2-8dfa-08db2c75aab1
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 14:40:09.2425
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: p+y2spLa6si41JHfYP0GAMYqMlIzCjCtXM4wkdxvV4faeqs2F8sVg5pmSxOhhN9/lMC4XHGKgFZWHrLddQNWK4bziz7Y3mLzeRrUS7pD6CQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB5954

On 06/12/2021 3:21 pm, Jan Beulich wrote:
> On 06.12.2021 16:11, Andrew Cooper wrote:
>> On 06/12/2021 13:58, Jan Beulich wrote:
>>> On 06.12.2021 14:08, Andrew Cooper wrote:
>>>> While we've been diligent to ensure that the main text/data/rodata
>>>> mappings
>>>> have suitable restrictions, their aliases via the directmap were
>>>> left fully
>>>> RW.  Worse, we even had pieces of code making use of this as a
>>>> feature.
>>>>
>>>> Restrict the permissions, as we have no legitimate need for
>>>> writeability of
>>>> these areas via the directmap alias.
>>> Where do we end up reading .text and/or .rodata through the
>>> directmap? Can't
>>> we zap the mappings altogether?
>>
>> I felt it was safer to keep readability via the directmap.
>>
>> I'm not aware of any logic we have which reads the directmap in order,
>> but it ought to be possible.
>
> Could you add a sentence to this effect to this description, please?

Ok.  The commit message a rewrite anyway, given changes to the boot cpu
stack.

>
>>> As to superpage shattering - I understand this is not deemed to be
>>> an issue
>>> in the common case since, with Xen moved as high up below 4G as
>>> possible,
>>> it wouldn't normally live inside a 1G mapping anyway? This may want
>>> calling
>>> out here. Plus, in non-EFI, non-XEN_ALIGN_2M builds isn't this going to
>>> shatter a 2M page at the tail of .rodata?
>>
>> cpu0_stack has already shattered down to 4k, which is likely in the same
>> superpage as rodata in a non-2M build.
>>
>> But at the end of the day, it is a security/performance tradeoff.
>>
>> memcpy(__va(__pa(divide_error)), "\x0f\x0b", 2);
>> asm ("div %ecx" :: "c" (0));
>>
>> is an especially low barrier for an attacker who has a partial write
>> gadget.
>>
>> The security benefits are substantial, and the perf downsides are a
>> handful of extra pagetables, and a handful of pagewalks taking extra
>> steps, in non-fast paths (i.e. distinctly marginal).
>
> How do you easily know what paths there are accessing data on the same
> (potential) superpage? However, thinking about it, with the directmap
> mapping presumably not getting used at all, how the mapping is arranged
> doesn't really matter (except for the extra memory needed, but as you
> say that's probably marginal).

Indeed.  Any path which requires Xen to reach into guest state via the
directmap isn't a fastpath in the first place.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 14:51:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 14:51:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514339.796470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfilG-0007Sa-Nu; Fri, 24 Mar 2023 14:51:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514339.796470; Fri, 24 Mar 2023 14: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 1pfilG-0007ST-L5; Fri, 24 Mar 2023 14:51:22 +0000
Received: by outflank-mailman (input) for mailman id 514339;
 Fri, 24 Mar 2023 14:51: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=e6lt=7Q=citrix.com=prvs=440da7b32=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pfilF-0007SN-Ig
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 14:51:21 +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 546f1f66-ca53-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 15:51: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: 546f1f66-ca53-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679669478;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=YuCyO2YU2quaoAmFDdKczCUFwNTV4tF8lC1oimdVCdI=;
  b=QXxiPKjD55HQTuv7WcYPjugrfbJsexIR+VNGa955urJR4oRhvfW4ZjFl
   qNWFhulE+u7P5VZg5HWVIbrW1qNOjYR97onSirQPMIAvjSSabjHkvWWNJ
   /N5PYD3G4xYrjo/c5IY9kD4Kws7GDgE7k78dY5zz4swIszfeFbsvNekVX
   k=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 101002808
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:g+9mbK+iGzwXxqPmSg6iDrUD4HmTJUtcMsCJ2f8bNWPcYEJGY0x3m
 DBLXWnQOf6IZzOhf9EkOoqw/E5Xvp/Tm4RqHFY/pCs8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqoX5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkkQ1
 s0kGiIwVSnensaHy7mqE6pCoYc8eZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGOkcUUrsUIMtWcOOAj3/jczpeuRSNqLA++WT7xw1tyrn9dtHSf7RmQO0Mxh/A/
 jiWpzSR7hcyOdex5R6s31mWo+rggjn2ZYIvRZOh36s/6LGU7jNKU0BHPbehmtG1lUuhAfpeL
 UIO8yYjpKR081akJvHlVgC8iG6JuFgbQdU4O/Q37RzIxqfK7gKxAG8CQThcLts8u6ceXTYt0
 E2ImdLBHzFjsLSJD3ma89+8rzS7Pm4Qa2oLfzMFSxAt5MPqq4U+yBnIS75LGai2k8ezEHf52
 TeQpQA5nbwYicNN3KK+lXjcmC6lrJXNSg8z5y3UU3ij4wc/Y5SqD6S26FvB5PMGI4+DTkaIu
 FANnsTY5+cLZbmdmSrITOgTEbWB4/eeLCaakVNpB4Mm9Tmm5zikZ484yChjJUF1P8INUSXkb
 E/apUVa45o7FHelbKt9bpitI94nwajpCZLuUfW8RsJDfpVrMgqO7S1jYUq422HrmVIr16YlN
 v+zeN6hF38ABYx7zTC9QKEW1rpD+8wl7TqNH9ahlU3hiOfAIifPEt/pLWdicMhnz5K4khfoy
 O8CLu+7wB5OCa7QRWrIpNt7wU8xEZQrOXzng5UJKb/dfFc8QzlJ5+z5mu14JdE890hBvqKRp
 yzmBBcFoLbqrSefQThmfEyPf18GsXxXiXsgdRIhMl+zs5TISdb+tfxPH3fbkFROyQCC8RKXZ
 6NfEyl4Kq4TIgkrAhxEBXUHkKRsdQ6wmSWFNDe/bT40cvZIHlKWq4K1IFa3rXdQUkJbUPfSR
 JX+vj43vLJZH1gyZCooQKvHI6yNUYg1x7spAhqgzih7c0Tw6ol6QxHMYgsMC5hUc33rn2LKv
 zt69D9E/YEhVadpqoiW7U1Fxq/1e9ZD8r1yRDGBt+ntZXeBrgJOA+ZoCY61QNwUb0uskI3KW
 Amf56qU3CEv9LqSj7dBLg==
IronPort-HdrOrdr: A9a23:/9ePgavTxnEN/DZClOTO0iZm7skDZ9V00zEX/kB9WHVpm62j+v
 xG+c5xvyMc5wxhO03I5urwWpVoLUmzyXcX2+Us1NWZPDUO0VHARL2KhrGM/9SPIUzDH+dmpM
 JdT5Q=
X-IronPort-AV: E=Sophos;i="5.98,288,1673931600"; 
   d="scan'208";a="101002808"
Date: Fri, 24 Mar 2023 14:51:06 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: David Woodhouse <dwmw2@infradead.org>
CC: Paul Durrant <paul@xen.org>, <qemu-devel@nongnu.org>, Paolo Bonzini
	<pbonzini@redhat.com>, Joao Martins <joao.m.martins@oracle.com>, Ankur Arora
	<ankur.a.arora@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>,
	<vikram.garhwal@amd.com>, <xen-devel@lists.xenproject.org>, Juan Quintela
	<quintela@redhat.com>, "Dr . David Alan Gilbert" <dgilbert@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>
Subject: Re: [PATCH] hw/xenpv: Initialize Xen backend operations
Message-ID: <ac5c322b-7774-45ce-9583-01771e43f54d@perard>
References: <20230307171750.2293175-1-dwmw2@infradead.org>
 <20230307171750.2293175-10-dwmw2@infradead.org>
 <209fe980-7f9d-4d79-90fb-12e38f12b2bc@perard>
 <5dfb65342d4502c1ce2f890c97cff20bf25b3860.camel@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <5dfb65342d4502c1ce2f890c97cff20bf25b3860.camel@infradead.org>

On Thu, Mar 23, 2023 at 10:57:34AM +0000, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> As the Xen backend operations were abstracted out into a function table to
> allow for internally emulated Xen support, we missed the xen_init_pv()
> code path which also needs to install the operations for the true Xen
> libraries. Add the missing call to setup_xen_backend_ops().
> 
> Fixes: b6cacfea0b38 ("hw/xen: Add evtchn operations to allow redirection to internal emulation")
> Reported-by: Anthony PERARD <anthony.perard@citrix.com>
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>

Tested-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 15:44:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 15:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514346.796481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfjaS-0005kd-KG; Fri, 24 Mar 2023 15:44:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514346.796481; Fri, 24 Mar 2023 15:44: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 1pfjaS-0005kW-HL; Fri, 24 Mar 2023 15:44:16 +0000
Received: by outflank-mailman (input) for mailman id 514346;
 Fri, 24 Mar 2023 15:44: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 1pfjaR-0005kM-IP; Fri, 24 Mar 2023 15:44: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 1pfjaR-0005Il-FG; Fri, 24 Mar 2023 15:44: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 1pfjaR-00053p-0h; Fri, 24 Mar 2023 15:44:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfjaR-0006LY-0H; Fri, 24 Mar 2023 15:44: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=1NhQ5ap+9Om1gWI2BkXzHq9CJbNg4BdYEaHvAgT4LGM=; b=6jEnN7yqS7IWJ7cH1xmzP3WKf6
	yLmuBjhICecGaZJYSsFVsf0mFkr6xDwJDqIwLkW71kGGS7qskxSjO2JI/cDgFOkcJJkHgUb9sC4Bg
	2s8o5edx1G2BiVdeN1AnxPpvGoFKUnlug9msgRsNx0qx9auf3lFJTYcLeh27heGFucLU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179926-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179926: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=715b92ba30f792e326bdd37b5a4969da9c5d4a6c
X-Osstest-Versions-That:
    xen=9fa425875362cfdb4717a68455fa7ba5dd969780
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Mar 2023 15:44:15 +0000

flight 179926 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179926/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  715b92ba30f792e326bdd37b5a4969da9c5d4a6c
baseline version:
 xen                  9fa425875362cfdb4717a68455fa7ba5dd969780

Last test of basis   179922  2023-03-24 11:02:23 Z    0 days
Testing same since   179926  2023-03-24 14:01:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Edwin Török <edvin.torok@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Olaf Hering <olaf@aepfle.de>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   9fa4258753..715b92ba30  715b92ba30f792e326bdd37b5a4969da9c5d4a6c -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 16:37:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 16:37:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514357.796497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfkQ1-0004da-Mk; Fri, 24 Mar 2023 16:37:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514357.796497; Fri, 24 Mar 2023 16: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 1pfkQ1-0004dT-J8; Fri, 24 Mar 2023 16:37:33 +0000
Received: by outflank-mailman (input) for mailman id 514357;
 Fri, 24 Mar 2023 16: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=e6lt=7Q=citrix.com=prvs=440da7b32=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pfkQ0-0004dN-8S
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 16:37:32 +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 28bfcbc1-ca62-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 17: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: 28bfcbc1-ca62-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679675850;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=sKe8cYC30KwzBZf1KdWEPYTvCtxZcuYCQaXKesOoaC0=;
  b=OhKF55CGtM4De1M7cNYQoWA/0QI4mymN3txsYpuvOguFaXNnNZNhlSx8
   pXdEzhhExb3F2C6dN4jHmMv6CL97xfb+urH7KiY/sqdMUtLpr015KVlcw
   1QUJ1KGtyepchReJPcPMxMEUR9l9g8NXjnUbkpeFK4FoimGBGiZ6FCIxX
   M=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 102138743
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:o1eK7qk9lOdZdZa5zsKroYfo5gw+JkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIYWT2APKzcNmahLdsiaYXk8E4A78WDnYIyTVBl+yhhEiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5gOGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 fUkIjQfTUqevs/ozamnceldqeogMfC+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglH2dSFYr1SE47I6+WHJwCR60aT3McqTcduPLSlQth/A/
 DudrzulWXn2MvS1wjqPsVymnNTOsn7KVq05PeOe971T1Qj7Kms7V0RNCArTTeOCok25XchWJ
 woL+y4tha8o/UevQ5/2WBjQiGGAlg4RXZxXCeJSwBqEz7fZ50CFBmkORyNFdPQrstRzQS0t0
 BmOhdyBLTV3vaecU3616raepjT0Mi8QRUcHbDUBRBEI4PHipp8ylRPFStt/EK+zgcbxEDu2y
 DePxAA1jq8fisMj3Kyh8VfKxTmro/DhXgMzownaQG+hxgd4f5K+IZyl70DB6vRNJ5rfSUOO1
 FAIls2fxOEIE5CWlSaJTfkNHbem/PKMOnvXhlsHN4I66z2n9nqnfIZRyDJzPkFkNoADYzCBS
 E3OvQJc4rdDMX3sarV4C6qzAck3yanrFfz+S+vZKNFJZ/BMmBSvpX80IxTKhia0zRZqyPtkU
 XuGTSqyJX8mA6B172CrfspD3KQ3/SAP6k3QWKmumnxLzoGiiG6ppaYtaQXRP75nsfnf+G054
 P4EaZLUlkw3vPnWJ3COrNVNdQ1iwW0TX8ieliBBSgKUzuOK8kkFAuSZ/74ucpcNc099xraRp
 SHVtqO1JTPCaZz7xeaiMCoLhEvHB8oXkJ7CFXVE0ayU83Yie52zy6wUaoE6e7IqnMQ6k6ElE
 qhbJp3ZXKoTItgix9j6RceVkWCfXE7z2VLm09SNOVDTgKKMtySWo4S5L2MDBQEFDzattNtWn
 oBMIjjzGMJZLyw7VZa+VR5a5w/p1ZTrsL4oDhSgzxg6UBmEzbWG3ASt0aBqcplRcE+rK/nz/
 1/+PCr0bNLl++cdmOQlT4jdx2t1O4OSxnZnIlQ=
IronPort-HdrOrdr: A9a23:G/hCGql3cqFlPFh1EZPX7AkF7ZfpDfLr3DAbv31ZSRFFG/Fxl6
 iV7ZImPH7P6Ar5PUtKpTnuAsi9qB/nhPtICOoqTM6ftWvdyROVxehZhOOMrQEIcxeOjdK1vp
 0QF5SWZueAamRSvILW2iT9NfAKqePqzEmvv43j5kYody1RL4tHyChYJDqhOnBXYi4DP7YFfa
 DshfZvln6ueXEadMSpCmNtZYX+jtfWjo/hZRIcJzNP0njtsQ+V
X-IronPort-AV: E=Sophos;i="5.98,288,1673931600"; 
   d="scan'208";a="102138743"
Date: Fri, 24 Mar 2023 16:37:19 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Demi Marie Obenour <demi@invisiblethingslab.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>, "Konrad Rzeszutek
 Wilk" <konrad.wilk@oracle.com>, Ross Lagerwall <ross.lagerwall@citrix.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>, Doug Goldstein
	<cardoe@cardoe.com>, Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?=
	<marmarek@invisiblethingslab.com>
Subject: Re: [PATCH v6 0/5] Stop using insecure transports
Message-ID: <c47045b4-25a4-4b2d-b3cf-76708bdcd6ca@perard>
References: <cover.1677356813.git.demi@invisiblethingslab.com>
 <cover.1679412247.git.demi@invisiblethingslab.com>
 <fa35a012-dd6c-426b-2c54-f03024b010cc@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <fa35a012-dd6c-426b-2c54-f03024b010cc@citrix.com>

On Wed, Mar 22, 2023 at 08:37:43AM +0000, Andrew Cooper wrote:
> On 21/03/2023 5:33 pm, Demi Marie Obenour wrote:
> > Demi Marie Obenour (5):
> >   Use HTTPS for all xenbits.xen.org Git repos
> >   Change remaining xenbits.xen.org link to HTTPS
> >   Build system: Do not try to use broken links
> >   Build system: Replace git:// and http:// with https://
> >   Automation and CI: Replace git:// and http:// with https://
> 
> https://gitlab.com/xen-project/patchew/xen/-/pipelines/813510934 from
> patchew, so I think we're good now on the containers.
> 
> >
> >  Config.mk                                   | 20 ++++---------
> >  README                                      |  4 +--
> >  automation/build/debian/stretch-llvm-8.list |  4 +--
> 
> Except for this, where I thought we'd already dropped it...

We dropped llvm-8 on the unstable container, I don't think there's been
patch for the stretch container.

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 16:39:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 16:39:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514362.796507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfkRG-0005Dl-4e; Fri, 24 Mar 2023 16:38:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514362.796507; Fri, 24 Mar 2023 16: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 1pfkRG-0005De-1Y; Fri, 24 Mar 2023 16:38:50 +0000
Received: by outflank-mailman (input) for mailman id 514362;
 Fri, 24 Mar 2023 16:38: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfkRE-0005DN-LR
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 16:38: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 581c7d09-ca62-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 17:38:47 +0100 (CET)
Received: from mail-mw2nam10lp2107.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.107])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Mar 2023 12:38:35 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA1PR03MB6436.namprd03.prod.outlook.com (2603:10b6:806:1c3::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 16:38:32 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 16:38: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: 581c7d09-ca62-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679675926;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=U32qOudvgrqh/0IHQ1Ckx2SUcU0J5C3AjWqbRDtl0Vo=;
  b=f+8gU8mT1A/NOV4jQVAoTxDcdi6nrANgdTLqtnjjk5J2jr68gaIkPWf6
   syfcR2WLy+NnTQFnYk5H3xtQ8sgi5QyVv0alqPFEA4w4r2cM0K3MEwiiL
   K0RX1DaB1BtPmoAsuDixRHfQNjqeAX9hBIYZ46JlsBMJHcpZaicImF+3n
   4=;
X-IronPort-RemoteIP: 104.47.55.107
X-IronPort-MID: 101592902
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:k/oJ4aInTcQZKB+UFE+Rg5UlxSXFcZb7ZxGr2PjKsXjdYENS3jwOy
 GRLXG3Sa/neY2OgKosgOYrn805XsMCBzoQwGlBlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZiPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4rJEt87
 KIjDgsqLT6NnuS1/6q1SbFj05FLwMnDZOvzu1lG5BSAVbMDfsqGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dqpTGLk2Sd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHuiBdNIReXinhJsqHSvx10NJj42bESmjd+Gk2u/At1nL
 VNBr0LCqoB3riRHVOLVUxC9oVaFuAAdQNtaF+Am6ACLxbHQ6gzfDW8BJhZRZdpjuMIoSDgC0
 l6Sg8ivFTFpqKeSS3+W6vGTtzzaESofIHIGZCQEZRAY+NSlq4Y25jrNU9JiHaidntDzXzbqz
 FiitzMijr8eicoK0aST/l3dhT+o4J/TQWYd+QH/Tm+jqARja+aNZIuu81HXq+lBKIWxSUOIt
 3wJ3cOZ6YgmFpiIiSGJBvkNHbug+vKZGDDamhtrDp4nsTO39BaLdolK7DZzDExgKMoDdHniZ
 0q7kQZY/ppaJnapRa5xfYOqCs4uwLTgFNLqTfTdZJxFZZ0ZSeOc1CRnZErV2n+3lkEpyPk7I
 c3CKZnqCmsGA6N6yjbwX/0azbIg2iE5wyXUWIz/yBOkl7GZYRZ5VIs4DbdHVchhhIvsnekf2
 4832xeio/mHbNDDXw==
IronPort-HdrOrdr: A9a23:xBKwqaroAbACUxSNJAUi8MoaV5rseYIsimQD101hICG8cqSj5q
 aTdZUgtSMc7Qx7ZJhOo7G90cW7MBbhHP1OkPAs1NWZLXHbUQKTRekMg7cKqweQYBEWndQtsZ
 uIHZIOb+HYPBxWt+u/xi+SeuxN/DCAysqVrNab9VtWCStNTI5BwTtDIju6NGozfiV6bKBJd6
 a0145Jpz+tY3QFYt7TPBQ4duLevcDMkJ78QTNuPW9E1DWz
X-IronPort-AV: E=Sophos;i="5.98,288,1673931600"; 
   d="scan'208";a="101592902"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iyb5Olh8LKJodnNO0BUflWkkQV3z6xtzVaUnRSBzpJp7CnusOEIrDOXXg5cFvjjFIp8jH0JEbPUSb5f/sJGMp4moHYRxMw6GUlU59LC/1OODeTVQud0jxnzxYl5pafRA5hGCARlLxXj2B5Jd2JFJNG0lqL+37y8hNu/Fy8LE/5pC5HiMei93Vul8my/BBkKz0gko4tgRO/aD7nFFw0D5s2sJkHrTT0P7ptxX4gv3meQ35Bdsgwdzv5hlM5ZU4litdF64HYaPyZi61VvQyhH/VrhZmt/tWWuG95CkaALUfwxB/F6rmUi6tWMo+EqnUmrzhAurl8+FBw9TgSMqHY+gIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NlVL07ZB1sTa4ivG8qPCxiKj2q2EbkFFbLtTuh0CD9w=;
 b=kLiCA3ccFbScpaiibointPhDYmQnSrKicnPWRTdhg3sWUgVNwXim7CjBJ7X+tUYca7R+j3UnhTKp/SEFjpCK2hsu9QZPcRQH9LYsjVjBC3RzKwgbdE67ezAWL6k9QI72ZfyAPeRkfbpj/KfjZw4HDv2+o7bz4OIsClxonOKwDnnwxF3JRnguoT0P4EB7427RugbrpiJ6uoZ9ngjX9MhRzPOq/jjsdKBdu8NfxRdtfppVrETKexCpxZ6elM+PXHCPp3QwWqdGfCKJUzDgNQ1Gb3IIdks5vKG1fydPe5LElGZsHOeRUXI7MfeT51NmNiH5TfxFfEZFjfP6Anv3Z3Oxdw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NlVL07ZB1sTa4ivG8qPCxiKj2q2EbkFFbLtTuh0CD9w=;
 b=NDbj9snr6rzoSpRPNZ8fO3fMrft9wVk25xhPHm5S/wWKaLoEK+Z0Nl7CaEUJTtHkbttX9f+8ghwyeHzjiR10Vcxa23p06fUdGo1SPj7RwfUAZ9A6VIYONFdSvrmISIIoXoXw4Gg0wM/JhYu5nnmZQ1N7oDvwLxY5I450FBlGxc4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <bb030640-0e5f-1d48-0d02-f6ff4c6959f1@citrix.com>
Date: Fri, 24 Mar 2023 16:38:24 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v6 0/5] Stop using insecure transports
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.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>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Doug Goldstein <cardoe@cardoe.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <cover.1677356813.git.demi@invisiblethingslab.com>
 <cover.1679412247.git.demi@invisiblethingslab.com>
 <fa35a012-dd6c-426b-2c54-f03024b010cc@citrix.com>
 <c47045b4-25a4-4b2d-b3cf-76708bdcd6ca@perard>
In-Reply-To: <c47045b4-25a4-4b2d-b3cf-76708bdcd6ca@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0080.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:8::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA1PR03MB6436:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f15ade6-1edb-4122-b357-08db2c863453
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M/nIgNLfsFmHl059bO00kkLv2BZgVnP1dO52u2rOgpA8LJgn7dBXHdNeh4+FumllEr3baNlnovFb17DsAKH+f2pfpRWuC1RW8dQxTLLZ/bvllAFyssWvvSRFxtwTu1unP1RDL52mxWEKe1QV3ao7/Jgc2z2+d5dUkpSVXC1zyp4H33Vfo0J4h1VM+vbArJVVC+meujhN4e/a6aSLM5PHFxZ2loDaGAGE2BwFL3URv+nelWHVy/2SNCtA5UqBoHCAVaop66C4YJK/QcU+gCS4zYvAo0iw652CzsWumDTKxeUIvlNxXwS9+aGqhZvTGDMLviDqyW8DpjW0IQhHj8uiVJzncYhvKNaGNKfTBxWTsjDlen4qyqUB9u1VL8ckpVEToynEbhFOD4WXlKDGHL9jK8fznxVgm3N4QTPq7GO2GUwimVzd74k5ZK6WwYpBrtQLUNGC9jmeSW4jCKMN1OoejUW9JF2nCPmKMZs3iWrCHKHlKJ9TVYjqBuS0aPZS4FsRi2SxEQ96Gwv3ZKmYwcUhRk8s0CokaTVTluyVvwl7dDfs2K6A3ZtHB0WDAyVIIr6Mq3/vlukAhe9u4cL8Wi7wSO5KtczajzBjBOUg24X8FYcpcT1t9XmzH2crsnaQdlKLVujwxgP76nd6PbuvXdINAeGwTOVL9HPfMOByTP0U7yzbNv6o4nsjX45OV3sPlrkScvlYSlQEAlbzZayYRaEWmpOX7bLOuBO3+skjJ9zCU5yQbwTBT9AHw6uwDScgrX+3
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(396003)(346002)(376002)(39860400002)(366004)(451199018)(966005)(478600001)(66556008)(66476007)(66946007)(4744005)(4326008)(6636002)(316002)(54906003)(7416002)(37006003)(5660300002)(82960400001)(41300700001)(6666004)(26005)(6512007)(6862004)(6506007)(8936002)(53546011)(8676002)(36756003)(2616005)(186003)(31696002)(6486002)(86362001)(38100700002)(2906002)(31686004)(45980500001)(43740500002)(376185003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dU9JbGJoOHVJSXZTd2Q5a1cyaFNHalMzWlpHZTI4YVliTXBNSTNGRVJIZWpk?=
 =?utf-8?B?NjVRV2ZjYXF5R3JXMXZYVkNUSnFaTXFpMTNFTTNvN0hwOUhid1FPTkM2Wllq?=
 =?utf-8?B?d0xqVTBhNGdreUlOa0F6dXJpa05ZQ2JaeDVMM0p4aFJXbHE5N3ZuODhteEZp?=
 =?utf-8?B?UU80dVZJS2Vna2lVTTVSazdXeW9HVUVPQzNGd1hycytNbXB0QjBnYjhQRGNn?=
 =?utf-8?B?SHZ1V1hoa3BLR2tDUDkwZlNwdHZidE1sNHNZSnJzUXBPVnJXNGhaREtTaFg1?=
 =?utf-8?B?QnpQK0pxemZUK05lYWpMZVVvL1ZSZCt5djBrVFpDSk1yN1ltUnVFRG5mSFVK?=
 =?utf-8?B?VDV4L1ZxUDljN3g4VGtsS2t6ZmhuWEpadUU3cWFVZHJsTk0vYlRFaC9rT2pl?=
 =?utf-8?B?YnovS2hYY3gyeTBXVy9IWlZkRUw1TkdvNG5pNjY1MCtOVnpQVTdSUTczejgz?=
 =?utf-8?B?K1J3L3A4ZjRkQ1JDR3JaOXUzREMxTkJURzNnd1NFdnVZR2t6RGg5QkIza2xk?=
 =?utf-8?B?UlB0aWRXT0doRnJTTGtyek1OcWI1Y0VvUjNpOS9tcG1WR2dnVlN6S2k5UXdO?=
 =?utf-8?B?RzNiZkFmTzEwbGFjV3AyVU9lc0hFTUJybS84bHFWL0tZR3BQdk5xUWRzaGlS?=
 =?utf-8?B?dzYzazZJV1BtV053azJmanNiS3NJaWFOdzdZZ1ZXNWtGaFZaRUhGcmRRTzVG?=
 =?utf-8?B?Z3UyakdrekZjWmMwRWRHMmVRd2M0bnd6Z2FRako2Ym5SclNOMldyaHZLT0xO?=
 =?utf-8?B?NkN3OW1ydVVITDdtNzQyRmI3eUVuOEV3ZE5PWU91eG82Tk8wRDMwYm5KNkND?=
 =?utf-8?B?cUlxUXRJeUEzNW9zUzlGa1Y0bXBSNG5maHJ1bXRjT0NFb1JqU0ZvckVXaEVC?=
 =?utf-8?B?ZGtmS3hVVEIrV3hSYUJRYWVnQitDUzM5UWNPaTVUYjJ3Zjd6L1NDMXZ0ejJx?=
 =?utf-8?B?cTl6MWdjaFoxSlV6R2VId3pBQ0tubzJaSDN0bzkrUmdCUkIxdW9xb0xCWG9u?=
 =?utf-8?B?UHBXcTYzYTNKb0d5R1kyZXEyR1EzMHF6blErZVV3WE02L1E3dkwyQlViYkQ5?=
 =?utf-8?B?ZWpCNWR0NDJFdDVXWk5xcjZBTndmWmMyMGRPcXVlcXRXN3M3WnRFanZXY1Rk?=
 =?utf-8?B?akNCaVFOUnJMVVZ1NFlBdGJpTDd5bHM2QSsrNzVwYzN3R3VCMTFNM1owT3JO?=
 =?utf-8?B?YVFvRkhZQmlocENNWlNqSFltMWk3YWYrcHlHTVgvK1RucndWSU1DMFlpa2R1?=
 =?utf-8?B?ODJNb0VUbXhzS05jeDVsSWwrMGJkQkNzWFpWbDI2MnMveVpTSy9vcmc0cmNz?=
 =?utf-8?B?R2c3V3FOMkJGQmtrK1ZieFJ2UzlIbDNPajl4Umw3My9jci9STFJ5OEFscEFZ?=
 =?utf-8?B?ZzVGVVFZRnB5ZmxieDl6QmpOZ3hsZUZCTWlUUjFyU0RnUUFYc25OdVJaYjBw?=
 =?utf-8?B?bGEzRFo1TXFjUUliL2JZMlh0RkRlY2E5SjdLNXBIMlRCbDNkYXJZT0N3Z2VZ?=
 =?utf-8?B?eUZHT0ljcklnd3pPaFdoUW1RdzZTM2xIaTUxNGZoOHpmVU1GWHNtQSttcGNG?=
 =?utf-8?B?cFgwM0dqdkZZVTNyRDczYzNxazFUdGNnMExsaFZQS2tCQWJRU2xacHVSdkxH?=
 =?utf-8?B?dDdEQ24ybTVWVlh6NzFvRFVvWkVpMFBkblYyT2cxYUhyeWNXNE5URUFvMnNY?=
 =?utf-8?B?UTZQdFRyd200eWx6T3UvR2kxdUQ0Zms5S3dJMjhMK3pDVWJBSTg2SDcreC9M?=
 =?utf-8?B?dmk4aGVJUjBRMW8vYzdwN3RIc0dKd2tQd0c3MW9hVFhRZThTOTl1aW1wQXhp?=
 =?utf-8?B?VGNsejVYNWY4RXJWc2xMMjMzWnFKaDU4b09YdTdYWWZoSlh3L3N6MWpPYnph?=
 =?utf-8?B?MXZuSzl3UUt3V1lmWE9OcXk4KzhsTGlqVVlacVdEUUQ5SUFqQld6eFNzc1NY?=
 =?utf-8?B?MWl0WjdZc0xLek5sYkpQdGZONmlSVGZkblg1WjNxYzJ6K1BtNjNrbmlYUDNE?=
 =?utf-8?B?OU1NUGhxMmU1K3psNkhOSDdob2doV0tsZFUvcVJwQ3EwNWFwTmdOUFFKeU9u?=
 =?utf-8?B?SS9oc2NCL2hkdEZiSXZmUjlpcGFkTkFlckx1ZnZ0d0dNQkpMcG1DbkJpSXds?=
 =?utf-8?B?VWNPY0IxSU14S0hMclJYQ0JmbU9LVkxTTE1HdzltQVpOTFl4Rmt0TWl1MTBj?=
 =?utf-8?B?WUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?SklUY1VPL3FJeHo1REV0T1p1bTU1cTJTcmFGTy9zb0hDSFphY21JWGYvN01O?=
 =?utf-8?B?bFZSaVRKeUh2TXJLRGVWZDhJMytjSmJVTWJNbkpkZU1YZWUzRjE0OFdpWlM1?=
 =?utf-8?B?MFhURFdMOWdXRnhCMVdBdkpNeVdsTERvNmpiRmtaT2MxdHd2S2R5Q20rb1NY?=
 =?utf-8?B?UWF3cUp6M1RKM1Z6TzlHSVRaNXR5bGRpWkRFd0Y2MEhqcW5wdytGdHNBam5X?=
 =?utf-8?B?c1ZldXRpUXNZVEhIRXF3VlpaMDI0RjhRbmcwSWdVVWE4TndlZU9SVy9QRDhI?=
 =?utf-8?B?cC84QmZrdWNKcnpES2p6UkNYbkVSM2puWUVMOCtudDIycldWTm9SN3VhWGl6?=
 =?utf-8?B?TGhUUCtNeGN1dUdUV2IvQ0xneTN6bFNWSVR4MmVsa1BBRVVuT1JMZGpaVHFU?=
 =?utf-8?B?dGdlakhDYlR5REZ2ZFZKaHhHYXdnYS9ha2dCV1E1MEdNUmR5b05uUHg4NWRj?=
 =?utf-8?B?dlN2YWVqa1ZnaHhmVjlvQ2Y0WmErejJHY29QNzRTZ3JFZUs1alRJTE9MdWF3?=
 =?utf-8?B?a3laNGE1QlFHTVZsN2Jhb01yRTUvcm9lcVRxc1JEYVRmM3lYRm9EeGVSNS9Q?=
 =?utf-8?B?S0tBYjFRRHplNkE4RDEybHcvbUo2R1luZmZBUXJDNXdGeHlFeEF6dW01Tzhv?=
 =?utf-8?B?UHpDbVYvQ2pjMWNFSjFGUWE2NFFZbVVEamFjL1V0dHZZZjhxSGQvZmtrMjgv?=
 =?utf-8?B?cUl2NExiMTFNQ2xPbW1XaENad1dSaG5mRVZDZjd5WS90bWhnSE9qdUh3T1RB?=
 =?utf-8?B?SmF5VFNhUFJoRTBUUTRpVEJOUjg3WXM3anh2YlB0MDh6bjYvdkJwQzJDRmpN?=
 =?utf-8?B?bEpxanRYR2VSN0hKMzg0UkQ5d2VVcnozOUhHMDNUMCtHc3JmZEFCSk1wc1No?=
 =?utf-8?B?cjRncHpNaFh5MXF5dktCUG54WFRMQkx2SlFBM255dVFHOXFOWkswVHZseG1P?=
 =?utf-8?B?MEVZeTJ2R2lPOUJqL0NLRUE1dzN5R3pkUVduSjNWSzdtaUV3eVFvalVGeU1t?=
 =?utf-8?B?TXJpNG45ZlpsckphTGVwbFBWd2FPZm94NENpNUlzZjdwaWpRdFlWM1VMSzNE?=
 =?utf-8?B?MlpqTldKQ2twc1I1TVNoS29OMy9iNlN4QTQyUkhSRTJDbDJGenlKRUpCcGpu?=
 =?utf-8?B?RXlWMkZQUHhTamRZWW5ETEhvYzVpSVVROGNGSkZjcWFPNmp6U2xlQVlDRXQz?=
 =?utf-8?B?c3ROcHRmT21FNmNtNkMrck5KbnZ5ZUgwNnhFZzBZcnJtU3VkWG5CbEpKdFBB?=
 =?utf-8?B?eGZ1L1lhV1dyQTRYV2JQZEtzN08wRHRucFNjUVdjVGM2TE8vMzBHVnVYTy96?=
 =?utf-8?Q?WOm5mgtfWO7lgLvOWUhgsJcAniv9z6KqLb?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f15ade6-1edb-4122-b357-08db2c863453
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 16:38:32.1166
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: J926h2YKEjkxfL+aUmIMRE70FOoy7MJrCLvzUUKo3OSCoAenKWcRRfoAOeqStw5RoTrHCf/9A8nUjy897tSQatlQh8fvy16xhnKVYvh/Nco=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6436

On 24/03/2023 4:37 pm, Anthony PERARD wrote:
> On Wed, Mar 22, 2023 at 08:37:43AM +0000, Andrew Cooper wrote:
>> On 21/03/2023 5:33 pm, Demi Marie Obenour wrote:
>>> Demi Marie Obenour (5):
>>>   Use HTTPS for all xenbits.xen.org Git repos
>>>   Change remaining xenbits.xen.org link to HTTPS
>>>   Build system: Do not try to use broken links
>>>   Build system: Replace git:// and http:// with https://
>>>   Automation and CI: Replace git:// and http:// with https://
>> https://gitlab.com/xen-project/patchew/xen/-/pipelines/813510934 from
>> patchew, so I think we're good now on the containers.
>>
>>>  Config.mk                                   | 20 ++++---------
>>>  README                                      |  4 +--
>>>  automation/build/debian/stretch-llvm-8.list |  4 +--
>> Except for this, where I thought we'd already dropped it...
> We dropped llvm-8 on the unstable container, I don't think there's been
> patch for the stretch container.

Yeah, I was just figuring that out.

I'm going to commit Demi's series as is, and fix the container afterwards.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 16:59:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 16:59:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514365.796516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfkkl-0008Px-O5; Fri, 24 Mar 2023 16:58:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514365.796516; Fri, 24 Mar 2023 16:58:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfkkl-0008Pq-LB; Fri, 24 Mar 2023 16:58:59 +0000
Received: by outflank-mailman (input) for mailman id 514365;
 Fri, 24 Mar 2023 16:58: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 1pfkkk-0008Pg-BW; Fri, 24 Mar 2023 16:58: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 1pfkkk-0007Ts-8B; Fri, 24 Mar 2023 16:58: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 1pfkkj-0007Ki-R2; Fri, 24 Mar 2023 16:58:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfkkj-0006Ac-QR; Fri, 24 Mar 2023 16:58: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=p9UO5KjN3DK2VQ4dZax7SRlqTXLft8bJO7jiVUp8jJ0=; b=HVw0Yn7/YSegD4Pw9Rr7bJERMg
	k3ig8w/dWF2/t9KFFK6VD2okgZiR2ANRaZdsGdNAVm47yu9ox5MkFULgDTxvr8tii22ZwRCIwjYyW
	t4DKF9pIqEnFMYYc7ojF5XqO1Sq7230LyYfUkYugsmC8L1/vwL/JmX+unxPYT3mGEh2o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179927-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179927: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=1f26a9e62e0d7d930b8c260c58b16cb9fb1cc940
X-Osstest-Versions-That:
    ovmf=cf6a0a52b07195ba278e48b89cfb7ddbad332ab1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Mar 2023 16:58:57 +0000

flight 179927 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179927/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 1f26a9e62e0d7d930b8c260c58b16cb9fb1cc940
baseline version:
 ovmf                 cf6a0a52b07195ba278e48b89cfb7ddbad332ab1

Last test of basis   179892  2023-03-23 09:43:42 Z    1 days
Testing same since   179927  2023-03-24 15:10:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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
   cf6a0a52b0..1f26a9e62e  1f26a9e62e0d7d930b8c260c58b16cb9fb1cc940 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 17:16:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 17:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514373.796527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfl17-0002q4-5J; Fri, 24 Mar 2023 17:15:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514373.796527; Fri, 24 Mar 2023 17:15: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 1pfl17-0002px-2a; Fri, 24 Mar 2023 17:15:53 +0000
Received: by outflank-mailman (input) for mailman id 514373;
 Fri, 24 Mar 2023 17:15: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=F0pF=7Q=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1pfl16-0002pr-HC
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 17:15:52 +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 86af5c05-ca67-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 18:15:51 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id ED015B825BE;
 Fri, 24 Mar 2023 17:15:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id 9C03EC433EF;
 Fri, 24 Mar 2023 17:15:49 +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
 89A6AE2A039; Fri, 24 Mar 2023 17:15: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: 86af5c05-ca67-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679678149;
	bh=Sucp0yBdmA5wuFWYxBMiZRdQcUTiMd2RWfUoCqPCMNM=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=EPMDQBKIrGvsfVIAg9OyNCjwN22tH0OFr8DF86qoEg+AJRPPpoydOsr9DQ3enRsCS
	 X8upGR2oU5wtTHh29Pm+YOR8a7ZNCU9PmRItVdRqzFIcJJ9RYBJZmhGW5RI01zgphM
	 B7Q4DTAczfUKwNO10LUrV1zCPgTxpGbDFFBQ+Ib0HbVTb1CGJpFX1qrZxfbQIptQn3
	 dBa4UNqw9EcH4vVyKHLjMEiTcH35gW4DS0+hZcr8YM/bCzLw1T/Emi5tYw/zFw7DfS
	 Skief0BlplmTeCfRuVSpALh+DZojS1jtqOE1D6rZD90Dw1gmAjP81zFsmGo43cP7++
	 4XkpUJYJ1QVHg==
Subject: Re: [GIT PULL] xen: branch for v6.3-rc4
From: pr-tracker-bot@kernel.org
In-Reply-To: <20230324113550.8218-1-jgross@suse.com>
References: <20230324113550.8218-1-jgross@suse.com>
X-PR-Tracked-List-Id: <linux-kernel.vger.kernel.org>
X-PR-Tracked-Message-Id: <20230324113550.8218-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.3-rc4-tag
X-PR-Tracked-Commit-Id: aadbd07ff8a75ed342388846da78dfaddb8b106a
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: 2495697422d374b097151205d399ff0dcbaa08e0
Message-Id: <167967814955.905.2593283607607592203.pr-tracker-bot@kernel.org>
Date: Fri, 24 Mar 2023 17:15:49 +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 Fri, 24 Mar 2023 12:35:50 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.3-rc4-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/2495697422d374b097151205d399ff0dcbaa08e0

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 18:58:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 18:58:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514381.796543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfmc9-0007Pu-HO; Fri, 24 Mar 2023 18:58:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514381.796543; Fri, 24 Mar 2023 18: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 1pfmc9-0007Pn-EW; Fri, 24 Mar 2023 18:58:13 +0000
Received: by outflank-mailman (input) for mailman id 514381;
 Fri, 24 Mar 2023 18:58: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 1pfmc8-0007Pc-05; Fri, 24 Mar 2023 18:58: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 1pfmc7-0001iX-TQ; Fri, 24 Mar 2023 18:58:11 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfmc7-0001b7-Gd; Fri, 24 Mar 2023 18:58:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfmc7-0006Uw-GG; Fri, 24 Mar 2023 18: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=3NEr0ko1YhZrU2HH+qNdGbqgiJdYbg6ndbN7qc618L4=; b=vikWoAEfP9V6i1426K6I/PbKRG
	FpF4PMI6zK073ygk8mABxd0eKreYmP9HRXkm4D3RN4Sc9E6bfD39hHOiNbdyNvUpvjwb13eZ+GWmz
	cKrMamvQ2Ez6lxmo5riB4+7fI19TrjSViZ5tJMdhjMY7jRrw+zVkRMFgoa6j0iMrB2lY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179929-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179929: regressions - trouble: blocked/fail/pass/starved
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64:xen-build:fail: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: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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=054acfc4443cda51bc000c2e3ba08d9fd1bd77f1
X-Osstest-Versions-That:
    xen=715b92ba30f792e326bdd37b5a4969da9c5d4a6c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Mar 2023 18:58:11 +0000

flight 179929 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179929/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 179926

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      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  054acfc4443cda51bc000c2e3ba08d9fd1bd77f1
baseline version:
 xen                  715b92ba30f792e326bdd37b5a4969da9c5d4a6c

Last test of basis   179926  2023-03-24 14:01:58 Z    0 days
Testing same since   179929  2023-03-24 17:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  fail    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          blocked 
 test-armhf-armhf-xl                                          starved 
 test-arm64-arm64-xl-xsm                                      pass    
 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


Not pushing.

------------------------------------------------------------
commit 054acfc4443cda51bc000c2e3ba08d9fd1bd77f1
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Mar 21 13:33:42 2023 -0400

    misc: Replace git:// and http:// with https://
    
    Obtaining code over an insecure transport is a terrible idea for
    blatently obvious reasons.  Even for non-executable data, insecure
    transports are considered deprecated.
    
    This patch enforces the use of secure transports in misc places.
    All URLs are known to work.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 04988f1c595330fd39cdac2c6034ebb30616557e
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Mar 21 13:33:40 2023 -0400

    configure: Replace git:// and http:// with https://
    
    Obtaining code over an insecure transport is a terrible idea for
    blatently obvious reasons.  Even for non-executable data, insecure
    transports are considered deprecated.
    
    This patch enforces the use of secure transports in the build system.
    Some URLs returned 301 or 302 redirects, so I replaced them with the
    URLs that were redirected to.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 47ee23f05ac945e5fedf118b8e85af95c5da3276
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Mar 21 13:33:38 2023 -0400

    configure: Do not try to use broken links
    
    The upstream URLs for zlib, PolarSSL, and the TPM emulator do not work
    anymore, so do not attempt to use them.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit e1d75084443f676be681fdaf47585cc9a5f5b820
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Mar 21 13:33:36 2023 -0400

    build: Change remaining xenbits.xen.org link to HTTPS
    
    Obtaining code over an insecure transport is a terrible idea for
    blatently obvious reasons.  Even for non-executable data, insecure
    transports are considered deprecated.
    
    This patch enforces the use of secure transports for all xenbits.xen.org
    URLs.  All altered links have been tested and are known to work.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit eb23eef476bf44f933fcff42e55119473a1d6e19
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Mar 21 13:33:34 2023 -0400

    build: Use HTTPS for all xenbits.xen.org Git repos
    
    Obtaining code over an insecure transport is a terrible idea for
    blatently obvious reasons.  Even for non-executable data, insecure
    transports are considered deprecated.
    
    This patch enforces the use of secure transports for all xenbits git
    repositories.  It was generated with the following shell script:
    
        git ls-files -z |
        xargs -0 -- sed -Ei -- 's@(git://xenbits\.xen\.org|http://xenbits\.xen\.org/git-http)/@https://xenbits.xen.org/git-http/@g'
    
    All altered links have been tested and are known to work.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 79493f2b33eeeccc78db25435181a03f5c46b3e6
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Sep 15 18:24:19 2021 +0100

    xen/trace: Minor code cleanup
    
     * Delete trailing whitespace
     * Replace an opencoded DIV_ROUND_UP()
     * Drop bogus smp_rmb() - spin_lock_irqsave() has full smp_mb() semantics.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 2992f4dcd5e981360cef3fe0e7aef670d5e02eb9
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Sep 15 17:01:43 2021 +0100

    xen/credit2: Remove tail padding from TRC_CSCHED2_* records
    
    All three of these records have tail padding, leaking stack rubble into the
    trace buffer.  Introduce an explicit _pad field and have the compiler zero the
    padding automatically.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Dario Faggioli <dfaggioli@suse.com>

commit 83af664db3366d9c3047abd67655dce1796d005c
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Sep 15 16:49:01 2021 +0100

    xen/memory: Remove tail padding from TRC_MEM_* records
    
    Four TRC_MEM_* records supply custom structures with tail padding, leaking
    stack rubble into the trace buffer.  Three of the records were fine in 32-bit
    builds of Xen, due to the relaxed alignment of 64-bit integers, but
    POD_SUPERPAGE_SPLITER was broken right from the outset.
    
    We could pack the datastructures to remove the padding, but xentrace_format
    has no way of rendering the upper half of a 16-bit field.  Instead, expand all
    16-bit fields to 32-bit.
    
    For POD_SUPERPAGE_SPLINTER, introduce an order field as it is relevant
    information, and to match DECREASE_RESERVATION, and so it doesn't require a
    __packed attribute to drop tail padding.
    
    Update xenalyze's structures to match, and introduce xentrace_format rendering
    which was absent previously.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Dario Faggioli <dfaggioli@suse.com>

commit 6835f93573ad282a7cb01a6af9ee5c3add5cb4a8
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Sep 16 10:24:26 2021 +0100

    xen/trace: Don't over-read trace objects
    
    In the case that 'extra' isn't a multiple of uint32_t, the calculation rounds
    the number of bytes up, causing later logic to read unrelated bytes beyond the
    end of the object.
    
    Also, asserting that the object is within TRACE_EXTRA_MAX, but truncating it
    in release builds is rude.  Instead, reject any out-of-spec records, leaving
    enough of a message to identify the faulty caller.
    
    There is one buggy trace record, TRC_RTDS_BUDGET_BURN.  As it must remain
    __packed (as cur_budget is misaligned), change bool has_extratime to uint32_t
    to compensate.
    
    It turns out that the new printk() can also be hit by HVMOP_xentrace, because
    the hypercall is broken.  It cannot be used outside of custom debugging, as
    none of the tooling was ever updated to understand TRC_GUEST, nor is there any
    evidence of hypercall ever being used in public.
    
    While the hypercall was clearly intended to be used with units if uint32_t's,
    that's not how the API/ABI works - Xen will in fact read the entire structure
    rather than the initialised subset out of guest memory (most likely, stack
    rubble), then copy up to 3 bytes of it (rounding up to the next uint32_t) into
    the real tracebuffer.
    
    There are several possible ways to fix this, but as the hypercall, and does
    not plausibly have any users, go with the one that is least logic in Xen, by
    rejecting tracing attempts that are not of uint32_t size.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 19:14:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 19:14:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514390.796556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfmrL-00027c-0G; Fri, 24 Mar 2023 19:13:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514390.796556; Fri, 24 Mar 2023 19: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 1pfmrK-00027V-TX; Fri, 24 Mar 2023 19:13:54 +0000
Received: by outflank-mailman (input) for mailman id 514390;
 Fri, 24 Mar 2023 19:13:53 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <aperard@xenbits.xen.org>) id 1pfmrJ-00027P-NJ
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 19:13: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 <aperard@xenbits.xen.org>)
 id 1pfmrI-000290-OI; Fri, 24 Mar 2023 19:13: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 <aperard@xenbits.xen.org>)
 id 1pfmrI-0001xV-Dq; Fri, 24 Mar 2023 19:13:52 +0000
Received: from aperard by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <aperard@xenbits.xen.org>)
 id 1pfmrI-0002EP-DR; Fri, 24 Mar 2023 19: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>
To: anthony.perard@citrix.com,jgross@suse.com,xen-devel@lists.xenproject.org
Subject: [adhoc test] 179924: trouble: blocked/broken/fail/pass
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Message-Id: <E1pfmrI-0002EP-DR@osstest.test-lab.xenproject.org>
From: aperard@xenbits.xen.org
Date: Fri, 24 Mar 2023 19:13:52 +0000

[adhoc play] <osstest master /dev/pts/16>
harness ed1d8de4: PDU/IPMI: Be less aggressive with IPMI commands
179924: trouble: blocked/broken/fail/pass

flight 179924 linux-linus play [play]
http://logs.test-lab.xenproject.org/osstest/logs/179924/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf                     <job status>                 broken
 build-armhf                   5 capture-logs           broken REGR. vs. 178042
 build-armhf                   3 syslog-server                running

Tests which did not succeed, but are not blocking:
 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-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-cubietruck  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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 build-armhf                   4 host-install(4)       broken blocked in 178042
 test-amd64-amd64-libvirt-qcow2 14 migrate-support-check       fail like 178042
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail  like 178042
 test-arm64-arm64-libvirt-raw 14 migrate-support-check        fail  like 178042
 test-arm64-arm64-xl-vhd      14 migrate-support-check        fail  like 178042
 test-arm64-arm64-libvirt-raw 15 saverestore-support-check    fail  like 178042
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail  like 178042
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178042
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail  like 178042
 test-amd64-amd64-libvirt     15 migrate-support-check        fail  like 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail like 178042
 test-arm64-arm64-xl          15 migrate-support-check        fail  like 178042
 test-arm64-arm64-xl          16 saverestore-support-check    fail  like 178042
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail  like 178042
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail  like 178042
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail  like 178042
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail  like 178042
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail  like 178042
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail  like 178042
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail  like 178042
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail  like 178042
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail  like 178042
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail  like 178042
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042

baseline version:
 flight               178042

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  broken  
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          blocked 
 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                                          blocked 
 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                                  blocked 
 test-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  blocked 
 test-armhf-armhf-xl-cubietruck                               blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     blocked 
 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                                     blocked 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                blocked 
 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                               blocked 
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     blocked 
 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                                      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



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 20:07:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 20:07:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514403.796577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfngl-0000du-Sp; Fri, 24 Mar 2023 20:07:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514403.796577; Fri, 24 Mar 2023 20: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 1pfngl-0000dn-Q1; Fri, 24 Mar 2023 20:07:03 +0000
Received: by outflank-mailman (input) for mailman id 514403;
 Fri, 24 Mar 2023 20: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfngk-0000dh-RP
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 20:07:02 +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 6ec6d8ba-ca7f-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 21:07: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: 6ec6d8ba-ca7f-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679688420;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=uUNdOr0iq5uq2KSc6DtNwrAIhxFGe0jPBBuBvAvxQ2k=;
  b=TzRXSsEQ2fwW5omBJkE/oddLVN1CHG0CVjymopUTE/vjFf66Xg+BQO44
   uRlGL3jeCUdenSJ1QEusoABwaS2NM7yhR2Cn8OmX9eCKEueWyeIwbWMAz
   OgbGWcYqvEFSug6MhJUeWJXpBK9xPIBrhrMhYCRmMmlbOhoIs70dEg4ap
   I=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 102273567
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:oXklR6klGuaVnK50UZIoxF7o5gyeJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xJKCmGDPazZY2WkL9olPYji/UxV7JGHyIQySQZrqH03QSMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5gOGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 c1EBWAzcg3Eu+G7yraEVu1JhdkSNvC+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglHWdTFCpU3Tjq0w+2XJlyR60aT3McqTcduPLSlQth/A/
 DiZpDmnXXn2MvSixCqH/FOegNTdkATcX7gZN+24y+VT1Qj7Kms7V0RNCArTTeOColWlR9tVJ
 kgQ+ywvhas/7kqmSp/6RRLQiHuFtR4VX5xXCf837CmEz6aS6AGcbkAPRyRNb9EOv8YsSTsnk
 FSOmrvBFTFp9bGYV3+Z3rOVti+pfzgYK3cYYi0JRhdD5MPsyLzflTqWEIwlSvTsyISoR3epm
 WviQDUCa6s7vJImh5un4Bf7gD+moqfVSis2+zTNZzfwhu9mX7JJd7BE+HCCs6kRctjEFALZ1
 JQXs5PAtb5TVPlhgATIGbxQR+/xup5pJRWG2TZS848dGyNBEpJJVaRZ+3lAKUhgKa7okhe5M
 RaI6Wu9CHK+VUZGjJObgKrrUazGNYC6SbzYugn8N7KimKRZeg6d5z1JbkWNxW3rm0VEufhhZ
 sbFIZ30VCdBUPkPIN+KqwA1j9cWKt0WnzuPFfgXMTz+uVZhWJJlYehcawbfBgzIxKiFvB/U4
 75iCid+8D0GCLeWSnCOoeYuwaUicSBT6Wbe95YGKYZu42NORAkcNhMm6ex/INM/z/wMzI8lP
 BiVAydl9bY2vlWfQS3iV5ypQOqHsUpXxZ7jARERAA==
IronPort-HdrOrdr: A9a23:zMOWcazvdlHt657PXv1lKrPwIr1zdoMgy1knxilNoH1uHvBw8v
 rEoB1173DJYVoqNk3I++rhBEDwexLhHPdOiOF6UItKNzOW21dAQrsSiLfK8nnNHDD/6/4Y9Y
 oISdkbNDQoNykZsfrH
X-IronPort-AV: E=Sophos;i="5.98,288,1673931600"; 
   d="scan'208";a="102273567"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH] CI: Remove llvm-8 from the Debian Stretch container
Date: Fri, 24 Mar 2023 20:06:54 +0000
Message-ID: <20230324200654.3245297-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

For similar reasons to c/s a6b1e2b80fe20.  While this container is still
build-able, all the other problems with explicitly-versioned compilers remain.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>

This will require backporting to older trees, but there's already a list it
can be added too.
---
 automation/build/debian/stretch-llvm-8.list |  3 ---
 automation/build/debian/stretch.dockerfile  | 12 ---------
 automation/gitlab-ci/build.yaml             | 27 ---------------------
 3 files changed, 42 deletions(-)
 delete mode 100644 automation/build/debian/stretch-llvm-8.list

diff --git a/automation/build/debian/stretch-llvm-8.list b/automation/build/debian/stretch-llvm-8.list
deleted file mode 100644
index 590001ca81e8..000000000000
--- a/automation/build/debian/stretch-llvm-8.list
+++ /dev/null
@@ -1,3 +0,0 @@
-# Strech LLVM 8 repos
-deb https://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main
-deb-src https://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main
diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
index 2c086b197cba..1af6c691f8f4 100644
--- a/automation/build/debian/stretch.dockerfile
+++ b/automation/build/debian/stretch.dockerfile
@@ -54,15 +54,3 @@ RUN apt-get update && \
         apt-get autoremove -y && \
         apt-get clean && \
         rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
-
-RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
-COPY stretch-llvm-8.list /etc/apt/sources.list.d/
-
-RUN apt-get update && \
-    apt-get --quiet --yes install \
-        clang-8 \
-        lld-8 \
-        && \
-        apt-get autoremove -y && \
-        apt-get clean && \
-        rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 820cc0af83bd..3547aa419097 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -28,13 +28,6 @@
     CXX: clang++
     clang: y
 
-.clang-8-tmpl:
-  variables: &clang-8
-    CC: clang-8
-    CXX: clang++-8
-    LD: ld.lld-8
-    clang: y
-
 .x86-64-build-tmpl:
   <<: *build
   variables:
@@ -99,16 +92,6 @@
   variables:
     <<: *clang
 
-.clang-8-x86-64-build:
-  extends: .x86-64-build
-  variables:
-    <<: *clang-8
-
-.clang-8-x86-64-build-debug:
-  extends: .x86-64-build-debug
-  variables:
-    <<: *clang-8
-
 .clang-x86-32-build:
   extends: .x86-32-build
   variables:
@@ -285,16 +268,6 @@ debian-stretch-clang-debug:
   variables:
     CONTAINER: debian:stretch
 
-debian-stretch-clang-8:
-  extends: .clang-8-x86-64-build
-  variables:
-    CONTAINER: debian:stretch
-
-debian-stretch-clang-8-debug:
-  extends: .clang-8-x86-64-build-debug
-  variables:
-    CONTAINER: debian:stretch
-
 debian-stretch-gcc:
   extends: .gcc-x86-64-build
   variables:
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 20:07:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 20:07:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514404.796588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfngx-0000v0-5j; Fri, 24 Mar 2023 20:07:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514404.796588; Fri, 24 Mar 2023 20:07:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfngx-0000ut-1J; Fri, 24 Mar 2023 20:07:15 +0000
Received: by outflank-mailman (input) for mailman id 514404;
 Fri, 24 Mar 2023 20:07: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfngv-0000dh-AO
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 20:07:13 +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 75b496b4-ca7f-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 21:07: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: 75b496b4-ca7f-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679688432;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=KqFcwvJ/px9m13jhQZPwpIU32h/bfpIOJyd3nQj7S44=;
  b=Yw1ekJkcExAHa9Y68mSEaN4wZL+Ln90vf/9v5SoQevTKWmLLFQ1wDAnS
   o6yMUq5WCLEOxRfxCaWsKqE4H+vcj5uR+9H5ISMAuxJtGEEXm1LfSmRQb
   fIloJOVkiTtp8TQwqK7fCf5BLo4+9gO51liqsz+GR48C24f9ytAUIwvC9
   0=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 104683464
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:V3fW1Kz9qDZo/TLjCNV6t+coxirEfRIJ4+MujC+fZmUNrF6WrkUAn
 GYZWz2DOfmLZ2XwL9x2ao+yoEkD65XUxtAwGwtp/yAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6wT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KTps0
 bsIGiEvVTGstuSwzpWlaelor8t2eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKZOUYn1lQ/UfrSmM+BgHXlfiIeg1WSvactuEDYzRBr0airO93QEjCPbZwNwhjI/
 T6YowwVBDknOPWCyiuZ3kuuqeDjtCj2XqsNEpyBo6sCbFq7mTVIVUx+uUGAiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0QMFMGuc37AWMzKv84AuDAGUACDlbZ7QOsc49RTUuk
 FiTjd7tLTVqvPueTnf13rydtz+1NAAeJHUOYiJCRgwAi+QPu6lq0EiJFIw6Vvfo0JusQ2qYL
 y22QDYW3Jc3yt45xoeA3H/2hTSigYbqTgoc6VCCNo661T+VdLJJdqTxtweKs6gddt3BJrWSl
 CNawpbDtYjiGbnIzXXQG7tVQdlF8t7faFXhbUhT847NHthH01qqZshu7T53Py+F2e5UKGayM
 Cc/Ve68jaK/3UdGjoctOepd8+xwkcDd+S3ND5g4lOZmbJlrbxOg9ypzf0OW1G2FuBFyzvBha
 czDKJf3VCty5UFbIN2eGY8gPUIDnHhilQs/u7iip/hY7VZuTCHMEupUWLd/Rus48LmFsG3oz
 jqrDOPTk083eLSnMkHqHXs7cQhiwY4TWcqn9KS6t4erfmJbJY3WI6CPmux7K9Q8xcy4VI7gp
 xmAZ6OR83Kn7VWvFOlAQioLhG/HNXqnkU8GAA==
IronPort-HdrOrdr: A9a23:M/alAaP/gPzYZMBcTs+jsMiBIKoaSvp037BL7SxMoHluGfBw+P
 rAoB1273HJYVQqOE3I6OrgBEDoexq1n/NICOIqTNSftWfdyQ6VBbAnwYz+wyDxXw3Sn9QtsZ
 uIqpIOauHNMQ==
X-IronPort-AV: E=Sophos;i="5.98,288,1673931600"; 
   d="scan'208";a="104683464"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>
Subject: [PATCH] CI: Minor updates to buster-gcc-ibt
Date: Fri, 24 Mar 2023 20:06:58 +0000
Message-ID: <20230324200658.3245418-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

 * Update from GCC 11.2 to 11.3
 * Use python3-minimal instead of python
 * Use --no-install-recommends, requiring ca-certificates, g++-multilib and
   build-essential to be listed explicitly

The resulting container is ~50M smaller

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Doug Goldstein <cardoe@cardoe.com>
---
 automation/build/debian/buster-gcc-ibt.dockerfile | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/automation/build/debian/buster-gcc-ibt.dockerfile b/automation/build/debian/buster-gcc-ibt.dockerfile
index 441d9a9ab37a..96ab4fe8a2f1 100644
--- a/automation/build/debian/buster-gcc-ibt.dockerfile
+++ b/automation/build/debian/buster-gcc-ibt.dockerfile
@@ -4,10 +4,12 @@ ENV DEBIAN_FRONTEND=noninteractive
 ENV USER root
 
 RUN apt-get update && \
-    apt-get --quiet --yes install \
+    apt-get --quiet --yes --no-install-recommends install \
         bison \
         build-essential \
+        ca-certificates \
         flex \
+        g++-multilib \
         libc6-dev-i386 \
         libgmp-dev \
         libisl-dev \
@@ -19,7 +21,7 @@ RUN apt-get update && \
 RUN mkdir /build
 WORKDIR /build
 
-RUN wget -q https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.xz -O - | tar xJ --strip=1
+RUN wget -q https://ftp.gnu.org/gnu/gcc/gcc-11.3.0/gcc-11.3.0.tar.xz -O - | tar xJ --strip=1
 RUN wget -q https://xenbits.xen.org/people/andrewcoop/gcc-11.2-Add-fcf-check-attribute-yes-no.patch -O - | patch -p1
 RUN ./configure \
         --prefix=/opt/gcc-11-ibt \
@@ -53,13 +55,14 @@ RUN mkdir /build
 WORKDIR /build
 
 RUN apt-get update && \
-    apt-get --quiet --yes install \
+    apt-get --quiet --yes --no-install-recommends install \
         bison \
+        build-essential \
         checkpolicy \
         flex \
         gawk \
         make \
-        python3 \
+        python3-minimal \
         && \
         apt-get autoremove -y && \
         apt-get clean && \
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 20:14:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 20:14:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514411.796603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfnoE-0002vD-Uw; Fri, 24 Mar 2023 20:14:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514411.796603; Fri, 24 Mar 2023 20: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 1pfnoE-0002v6-SJ; Fri, 24 Mar 2023 20:14:46 +0000
Received: by outflank-mailman (input) for mailman id 514411;
 Fri, 24 Mar 2023 20:14: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfnoD-0002v0-3t
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 20:14:45 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8089ebc8-ca80-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 21:14: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: 8089ebc8-ca80-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679688879;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=6+X5iWEq4/xfHK18TenmEa1/hd5O+w32aYVsdrJSDGQ=;
  b=DeoTjrhbwj7d9zvcQQqNEWsHHdMpA4TSwhqAd89hwWqAi4mGxfr0QiJb
   RoViHGWSMoN+F2nQXLS7aRgIetzNzHza8HAuMXyhxgOd8uf0Suthq9/n9
   EUKumgVryKhlHAakDA8nVaco/P4TXcR9rX4esaPvUwXj5sEdJbxcpOg0G
   Y=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 104684418
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:776MNajaPYBG7WmjQWu4yn5QX161WxAKZh0ujC45NGQN5FlHY01je
 htvDWGFPK2DYTfwLtF3PYjj9hkB75GAnNBiT1Bk+C09Q3wb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wWCzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQoLzkIVBa9mtir2bGmbrI1nvkfKu3CadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/
 j6YrzilW0Fy2Nq35WqiwmP9psv0sQilUtNMKrKU/OFyuQjGroAUIEJPDgbqyRWjsWauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O+E37QCly6zK4h2YDGwJUj5AbtM9sMY8Azct0
 zehvfnkGDhuu729Um+G+/GfqjbaETMOMWYIaCsATA0Ey9ruuoc+ilTIVNkLOLGxps34H3f32
 T/ihCojg7Qei+Yb2qP9+krI6w9AvbCQEFRzvF+OGDv4sEUgPtXNi5GUBUbz3fFJKbyfcES7o
 WEHhuzFtfgzMZepvXnYKAkSJ41F98ppIRWF3wE+Qcd8rW/1k5KwVdsOuW8jfS+FJu5BIGa0O
 xGL5Gu98bcJZBOXgblLj5Vd4ijA5YzpDpzbW//ddbKiibAhJVbcrEmCiaN9tl0BcXTAcollY
 /93ie72UR4n5V1PlVJavds1374x3TwZzmjOX539xBnP+ePAOy/LGexdaQrVN71RAEa4TOL9r
 b5i2zaikU0DAIUSnAGOmWLsEbz6BSdiXs2nwyCmXuWCPhBnCAkcNhMl+pt4I9YNt/0Mxo/1E
 oSVBhcwJKzX2SeWdm1nqxlLNNvSYHqIhS1lZnN2bQ7xgRDOo++Htc8iSnf+RpF/nMQL8BK+Z
 6JaEylcKpyjkgj6xgk=
IronPort-HdrOrdr: A9a23:TxsXhKh1KVItDjIE/hnteY+KanBQXtYji2hC6mlwRA09TySZ//
 rBoB19726RtN9xYgBHpTnuAsm9qB/nmaKdgrNhWItKPjOW21dARbsKheCJrgEIcxeOkdK1vp
 0AT0ERMrLN5CBB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.98,288,1673931600"; 
   d="scan'208";a="104684418"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD
	<anthony.perard@citrix.com>, Demi Marie Obenour
	<demi@invisiblethingslab.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>
Subject: [PATCH] configure: Drop --enable-githttp
Date: Fri, 24 Mar 2023 20:14:04 +0000
Message-ID: <20230324201404.3247572-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

Following Demi's work to use HTTPS everywhere, all users of GIT_HTTP have
been removed from the build system.  Drop the configure knob.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Demi Marie Obenour <demi@invisiblethingslab.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>
---
 INSTALL               |  5 -----
 config/Tools.mk.in    |  6 ------
 config/Toplevel.mk.in |  1 -
 configure             | 27 ---------------------------
 configure.ac          |  1 -
 tools/configure       | 27 ---------------------------
 tools/configure.ac    |  1 -
 7 files changed, 68 deletions(-)

diff --git a/INSTALL b/INSTALL
index 0d3eb89f0298..3816c17dcde8 100644
--- a/INSTALL
+++ b/INSTALL
@@ -89,11 +89,6 @@ from a wrong location. Compiling the tools with rpath will force the
 linker to look in the correct location.
   --enable-rpath
 
-During build in a git checkout the buildsystem needs to download
-additional tools such as qemu. This is done with either the native git
-protocol, or via http if this option is enabled.
-  --enable-githttp
-
 Disable xenstat and xentop monitoring tools.
   --disable-monitors
 
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index d0d460f922d8..6abb377564db 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -37,12 +37,6 @@ LIBNL3_LIBS         := @LIBNL3_LIBS@
 LIBNL3_CFLAGS       := @LIBNL3_CFLAGS@
 XEN_TOOLS_RPATH     := @rpath@
 
-# Download GIT repositories via HTTP or GIT's own protocol?
-# GIT's protocol is faster and more robust, when it works at all (firewalls
-# may block it). We make it the default, but if your GIT repository downloads
-# fail or hang, please pass --enable-githttp to configure.
-GIT_HTTP            ?= @githttp@
-
 # Optional components
 XENSTAT_XENTOP      := @monitors@
 OCAML_TOOLS         := @ocamltools@
diff --git a/config/Toplevel.mk.in b/config/Toplevel.mk.in
index 4ecacbb37d68..4db7eafcab5d 100644
--- a/config/Toplevel.mk.in
+++ b/config/Toplevel.mk.in
@@ -1,2 +1 @@
 SUBSYSTEMS               := @SUBSYSTEMS@
-GIT_HTTP                 ?= @githttp@
diff --git a/configure b/configure
index f5cd3c286b55..99f8434cbf64 100755
--- a/configure
+++ b/configure
@@ -594,7 +594,6 @@ stubdom
 tools
 xen
 subdirs
-githttp
 DEBUG_DIR
 XEN_DUMP_DIR
 XEN_PAGING_DIR
@@ -673,7 +672,6 @@ with_xen_scriptdir
 with_xen_dumpdir
 with_rundir
 with_debugdir
-enable_githttp
 enable_xen
 enable_tools
 enable_stubdom
@@ -1309,8 +1307,6 @@ Optional Features:
   --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
-  --enable-githttp        Download GIT repositories via HTTP (default is
-                          DISABLED)
   --disable-xen           Disable build and install of xen
   --disable-tools         Disable build and install of tools
   --enable-stubdom        Enable build and install of stubdom
@@ -2124,29 +2120,6 @@ DEBUG_DIR=$debugdir_path
 
 
 
-# Check whether --enable-githttp was given.
-if test "${enable_githttp+set}" = set; then :
-  enableval=$enable_githttp;
-fi
-
-
-if test "x$enable_githttp" = "xno"; then :
-
-    ax_cv_githttp="n"
-
-elif test "x$enable_githttp" = "xyes"; then :
-
-    ax_cv_githttp="y"
-
-elif test -z $ax_cv_githttp; then :
-
-    ax_cv_githttp="n"
-
-fi
-githttp=$ax_cv_githttp
-
-
-
 case "$host_cpu" in
     i[3456]86|x86_64)
         arch_enable_stubdom=y
diff --git a/configure.ac b/configure.ac
index 3aea40715307..19d9311c2ae4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,7 +17,6 @@ m4_include([m4/subsystem.m4])
 m4_include([m4/paths.m4])
 
 AX_XEN_EXPAND_CONFIG()
-AX_ARG_DEFAULT_DISABLE([githttp], [Download GIT repositories via HTTP])
 
 dnl mini-os is only ported to certain platforms
 case "$host_cpu" in
diff --git a/tools/configure b/tools/configure
index dae377c98252..bb5b1ae45067 100755
--- a/tools/configure
+++ b/tools/configure
@@ -714,7 +714,6 @@ ovmf
 xsmpolicy
 ocamltools
 monitors
-githttp
 rpath
 werror
 DEBUG_DIR
@@ -807,7 +806,6 @@ with_rundir
 with_debugdir
 enable_werror
 enable_rpath
-enable_githttp
 enable_monitors
 enable_ocamltools
 enable_xsmpolicy
@@ -1494,8 +1492,6 @@ Optional Features:
   --disable-werror        Build tools without -Werror (default is ENABLED)
   --enable-rpath          Build tools with -Wl,-rpath,LIBDIR (default is
                           DISABLED)
-  --enable-githttp        Download GIT repositories via HTTP (default is
-                          DISABLED)
   --disable-monitors      Disable xenstat and xentop monitoring tools (default
                           is ENABLED)
   --disable-ocamltools    Disable Ocaml tools (default is ENABLED)
@@ -4156,29 +4152,6 @@ rpath=$ax_cv_rpath
 
 
 
-# Check whether --enable-githttp was given.
-if test "${enable_githttp+set}" = set; then :
-  enableval=$enable_githttp;
-fi
-
-
-if test "x$enable_githttp" = "xno"; then :
-
-    ax_cv_githttp="n"
-
-elif test "x$enable_githttp" = "xyes"; then :
-
-    ax_cv_githttp="y"
-
-elif test -z $ax_cv_githttp; then :
-
-    ax_cv_githttp="n"
-
-fi
-githttp=$ax_cv_githttp
-
-
-
 # Check whether --enable-monitors was given.
 if test "${enable_monitors+set}" = set; then :
   enableval=$enable_monitors;
diff --git a/tools/configure.ac b/tools/configure.ac
index 3a2f6a2da9e0..9bcf42f233f1 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -84,7 +84,6 @@ AX_XEN_EXPAND_CONFIG()
 # Enable/disable options
 AX_ARG_DEFAULT_ENABLE([werror], [Build tools without -Werror])
 AX_ARG_DEFAULT_DISABLE([rpath], [Build tools with -Wl,-rpath,LIBDIR])
-AX_ARG_DEFAULT_DISABLE([githttp], [Download GIT repositories via HTTP])
 AX_ARG_DEFAULT_ENABLE([monitors], [Disable xenstat and xentop monitoring tools])
 AX_ARG_DEFAULT_ENABLE([ocamltools], [Disable Ocaml tools])
 AX_ARG_DEFAULT_ENABLE([xsmpolicy], [Disable XSM policy compilation])
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 20:25:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 20:25:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514416.796614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfnyR-0004lZ-2p; Fri, 24 Mar 2023 20:25:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514416.796614; Fri, 24 Mar 2023 20: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 1pfnyQ-0004lS-W4; Fri, 24 Mar 2023 20:25:18 +0000
Received: by outflank-mailman (input) for mailman id 514416;
 Fri, 24 Mar 2023 20:25: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/Ua=7Q=invisiblethingslab.com=demi@srs-se1.protection.inumbo.net>)
 id 1pfnyP-0004lG-KQ
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 20:25:17 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fb42d998-ca81-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 21:25:15 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 092685C01AD;
 Fri, 24 Mar 2023 16:25:13 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Fri, 24 Mar 2023 16:25:13 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 24 Mar 2023 16:25:12 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb42d998-ca81-11ed-85db-49a42c6b2330
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=fm2; t=
	1679689513; x=1679775913; bh=e+rME+gzbkQNHauc/T1Db5ZG3vyDuLfHHUO
	mWTlI4Fk=; b=Q5UkCeqVe+u3I6gmvA++BhZ9GtyOsCSYxpPOC2UwzrQ7HkEUeQU
	044n/98ZAcs5klCdNFAogpmDtxmMHkyK7nYnpyyC9mqLLh5O223pdCKSX9ICfNZ9
	/n4+6ALkBdi8LrAvbFIX2uc4/91frRR+AA0Kyuv9as6pNQYmv0kp07CQ3l/guw2W
	Q47ZfEO+eS+mcT1vj9QjBZcIB7zDUnr+jDn/mPGGgE1bESUy3cbE6PK0KSOkWsD9
	/CZNYZWbdB7DGnYdBRTGzYJp+GL0Ld+rKvsRaTDohzZ+9c92bxSVU2ILJ5QjcIpx
	clFhNF9wv45NDjel5bYYv/TD4bA4hXlfkCA==
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=fm2; t=1679689513; x=1679775913; bh=e+rME+gzbkQNH
	auc/T1Db5ZG3vyDuLfHHUOmWTlI4Fk=; b=ssqUC5Kv1JhLNPCsCugKmr0DMTnAr
	xm1PZCLtHVMJqmiss/MX84McIapwXm6vJ7iTX9PHnd9SQwycoFwNSms6v2JcrjY0
	XkX+hbAZJXqyAmRkTZCY7kDqKZQFAJNElsP9V+IoQ08slIw3bJydpD7MnuFyfoEg
	3uHmVIBGfbbag8c4X2kKf5rU8Bve7x4BCqsuBj0nznpiQ0sMCM3uv31Vh2K3IUT4
	H/bh6Z+BuhfXviyTmcTS60a3t0AaMU/18oPVMG+aN4xqospJSM2h/AYjT90IZ8UP
	VvSFiJgqKAoQJnq6ZtDrifTcAPBM58E7D63MI+HfIQjoEjumnwe73fkTw==
X-ME-Sender: <xms:KAceZDIRRO2apyqI-0Lvwp-c8Dke0hNcD-v84LkdDYNXI7AsbOjofg>
    <xme:KAceZHJafKuMxcJzFXcVmRvJnW1GaHkf-lgrAXgIflW9AE4gp7BEjRrxcNeMH2FKW
    zS30sMW8zpB-LU>
X-ME-Received: <xmr:KAceZLtGrfE1Lo5Gxb-Dl-uS2vwucgEq1snZanJzhzoxgWBZdhkeOVenTGI>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegiedgudefkecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpeffhffvvefukfhfgggtuggjsehgtderredttddvnecuhfhrohhmpeffvghm
    ihcuofgrrhhivgcuqfgsvghnohhurhcuoeguvghmihesihhnvhhishhisghlvghthhhinh
    hgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeduieelfeeutedvleehueetffej
    geejgeffkeelveeuleeukeejjeduffetjeekteenucevlhhushhtvghrufhiiigvpedtne
    curfgrrhgrmhepmhgrihhlfhhrohhmpeguvghmihesihhnvhhishhisghlvghthhhinhhg
    shhlrggsrdgtohhm
X-ME-Proxy: <xmx:KAceZMaLmjeldPWO1gCJu4Jma_N0qsIrouph6r-sIdVKNQriErB6Qw>
    <xmx:KAceZKYrLVH5NX19GprfO9cPFic_hQ5heeNX2CxDhyX9yey4-Yvn2A>
    <xmx:KAceZABWYdcJlYifeW0bY1OjstJ-Grd-EepEk_SAYAudBL06A7GYCA>
    <xmx:KQceZBwSDRPwZ9LgE8TmTRc6CQKR3n4VkoyXE7fp3cEUC8eN_6Nw1Q>
Feedback-ID: iac594737:Fastmail
Date: Fri, 24 Mar 2023 16:25:07 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	Xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@citrix.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>
Subject: Re: [PATCH] configure: Drop --enable-githttp
Message-ID: <ZB4HJuJBwh6lE4nb@itl-email>
References: <20230324201404.3247572-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
	protocol="application/pgp-signature"; boundary="cpbNzAF5USd8coRa"
Content-Disposition: inline
In-Reply-To: <20230324201404.3247572-1-andrew.cooper3@citrix.com>


--cpbNzAF5USd8coRa
Content-Type: text/plain; protected-headers=v1; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Fri, 24 Mar 2023 16:25:07 -0400
From: Demi Marie Obenour <demi@invisiblethingslab.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	Xen-devel <xen-devel@lists.xenproject.org>
Cc: Anthony PERARD <anthony.perard@citrix.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>
Subject: Re: [PATCH] configure: Drop --enable-githttp

On Fri, Mar 24, 2023 at 08:14:04PM +0000, Andrew Cooper wrote:
> Following Demi's work to use HTTPS everywhere, all users of GIT_HTTP have
> been removed from the build system.  Drop the configure knob.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Demi Marie Obenour <demi@invisiblethingslab.com>

> ---
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Demi Marie Obenour <demi@invisiblethingslab.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>
> ---
>  INSTALL               |  5 -----
>  config/Tools.mk.in    |  6 ------
>  config/Toplevel.mk.in |  1 -
>  configure             | 27 ---------------------------
>  configure.ac          |  1 -
>  tools/configure       | 27 ---------------------------
>  tools/configure.ac    |  1 -
>  7 files changed, 68 deletions(-)
>=20
> diff --git a/INSTALL b/INSTALL
> index 0d3eb89f0298..3816c17dcde8 100644
> --- a/INSTALL
> +++ b/INSTALL
> @@ -89,11 +89,6 @@ from a wrong location. Compiling the tools with rpath =
will force the
>  linker to look in the correct location.
>    --enable-rpath
> =20
> -During build in a git checkout the buildsystem needs to download
> -additional tools such as qemu. This is done with either the native git
> -protocol, or via http if this option is enabled.
> -  --enable-githttp
> -
>  Disable xenstat and xentop monitoring tools.
>    --disable-monitors
> =20
> diff --git a/config/Tools.mk.in b/config/Tools.mk.in
> index d0d460f922d8..6abb377564db 100644
> --- a/config/Tools.mk.in
> +++ b/config/Tools.mk.in
> @@ -37,12 +37,6 @@ LIBNL3_LIBS         :=3D @LIBNL3_LIBS@
>  LIBNL3_CFLAGS       :=3D @LIBNL3_CFLAGS@
>  XEN_TOOLS_RPATH     :=3D @rpath@
> =20
> -# Download GIT repositories via HTTP or GIT's own protocol?
> -# GIT's protocol is faster and more robust, when it works at all (firewa=
lls
> -# may block it). We make it the default, but if your GIT repository down=
loads
> -# fail or hang, please pass --enable-githttp to configure.
> -GIT_HTTP            ?=3D @githttp@
> -
>  # Optional components
>  XENSTAT_XENTOP      :=3D @monitors@
>  OCAML_TOOLS         :=3D @ocamltools@
> diff --git a/config/Toplevel.mk.in b/config/Toplevel.mk.in
> index 4ecacbb37d68..4db7eafcab5d 100644
> --- a/config/Toplevel.mk.in
> +++ b/config/Toplevel.mk.in
> @@ -1,2 +1 @@
>  SUBSYSTEMS               :=3D @SUBSYSTEMS@
> -GIT_HTTP                 ?=3D @githttp@
> diff --git a/configure b/configure
> index f5cd3c286b55..99f8434cbf64 100755
> --- a/configure
> +++ b/configure
> @@ -594,7 +594,6 @@ stubdom
>  tools
>  xen
>  subdirs
> -githttp
>  DEBUG_DIR
>  XEN_DUMP_DIR
>  XEN_PAGING_DIR
> @@ -673,7 +672,6 @@ with_xen_scriptdir
>  with_xen_dumpdir
>  with_rundir
>  with_debugdir
> -enable_githttp
>  enable_xen
>  enable_tools
>  enable_stubdom
> @@ -1309,8 +1307,6 @@ Optional Features:
>    --disable-option-checking  ignore unrecognized --enable/--with options
>    --disable-FEATURE       do not include FEATURE (same as --enable-FEATU=
RE=3Dno)
>    --enable-FEATURE[=3DARG]  include FEATURE [ARG=3Dyes]
> -  --enable-githttp        Download GIT repositories via HTTP (default is
> -                          DISABLED)
>    --disable-xen           Disable build and install of xen
>    --disable-tools         Disable build and install of tools
>    --enable-stubdom        Enable build and install of stubdom
> @@ -2124,29 +2120,6 @@ DEBUG_DIR=3D$debugdir_path
> =20
> =20
> =20
> -# Check whether --enable-githttp was given.
> -if test "${enable_githttp+set}" =3D set; then :
> -  enableval=3D$enable_githttp;
> -fi
> -
> -
> -if test "x$enable_githttp" =3D "xno"; then :
> -
> -    ax_cv_githttp=3D"n"
> -
> -elif test "x$enable_githttp" =3D "xyes"; then :
> -
> -    ax_cv_githttp=3D"y"
> -
> -elif test -z $ax_cv_githttp; then :
> -
> -    ax_cv_githttp=3D"n"
> -
> -fi
> -githttp=3D$ax_cv_githttp
> -
> -
> -
>  case "$host_cpu" in
>      i[3456]86|x86_64)
>          arch_enable_stubdom=3Dy
> diff --git a/configure.ac b/configure.ac
> index 3aea40715307..19d9311c2ae4 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -17,7 +17,6 @@ m4_include([m4/subsystem.m4])
>  m4_include([m4/paths.m4])
> =20
>  AX_XEN_EXPAND_CONFIG()
> -AX_ARG_DEFAULT_DISABLE([githttp], [Download GIT repositories via HTTP])
> =20
>  dnl mini-os is only ported to certain platforms
>  case "$host_cpu" in
> diff --git a/tools/configure b/tools/configure
> index dae377c98252..bb5b1ae45067 100755
> --- a/tools/configure
> +++ b/tools/configure
> @@ -714,7 +714,6 @@ ovmf
>  xsmpolicy
>  ocamltools
>  monitors
> -githttp
>  rpath
>  werror
>  DEBUG_DIR
> @@ -807,7 +806,6 @@ with_rundir
>  with_debugdir
>  enable_werror
>  enable_rpath
> -enable_githttp
>  enable_monitors
>  enable_ocamltools
>  enable_xsmpolicy
> @@ -1494,8 +1492,6 @@ Optional Features:
>    --disable-werror        Build tools without -Werror (default is ENABLE=
D)
>    --enable-rpath          Build tools with -Wl,-rpath,LIBDIR (default is
>                            DISABLED)
> -  --enable-githttp        Download GIT repositories via HTTP (default is
> -                          DISABLED)
>    --disable-monitors      Disable xenstat and xentop monitoring tools (d=
efault
>                            is ENABLED)
>    --disable-ocamltools    Disable Ocaml tools (default is ENABLED)
> @@ -4156,29 +4152,6 @@ rpath=3D$ax_cv_rpath
> =20
> =20
> =20
> -# Check whether --enable-githttp was given.
> -if test "${enable_githttp+set}" =3D set; then :
> -  enableval=3D$enable_githttp;
> -fi
> -
> -
> -if test "x$enable_githttp" =3D "xno"; then :
> -
> -    ax_cv_githttp=3D"n"
> -
> -elif test "x$enable_githttp" =3D "xyes"; then :
> -
> -    ax_cv_githttp=3D"y"
> -
> -elif test -z $ax_cv_githttp; then :
> -
> -    ax_cv_githttp=3D"n"
> -
> -fi
> -githttp=3D$ax_cv_githttp
> -
> -
> -
>  # Check whether --enable-monitors was given.
>  if test "${enable_monitors+set}" =3D set; then :
>    enableval=3D$enable_monitors;
> diff --git a/tools/configure.ac b/tools/configure.ac
> index 3a2f6a2da9e0..9bcf42f233f1 100644
> --- a/tools/configure.ac
> +++ b/tools/configure.ac
> @@ -84,7 +84,6 @@ AX_XEN_EXPAND_CONFIG()
>  # Enable/disable options
>  AX_ARG_DEFAULT_ENABLE([werror], [Build tools without -Werror])
>  AX_ARG_DEFAULT_DISABLE([rpath], [Build tools with -Wl,-rpath,LIBDIR])
> -AX_ARG_DEFAULT_DISABLE([githttp], [Download GIT repositories via HTTP])
>  AX_ARG_DEFAULT_ENABLE([monitors], [Disable xenstat and xentop monitoring=
 tools])
>  AX_ARG_DEFAULT_ENABLE([ocamltools], [Disable Ocaml tools])
>  AX_ARG_DEFAULT_ENABLE([xsmpolicy], [Disable XSM policy compilation])
> --=20
> 2.30.2
>=20

--=20
Sincerely,
Demi Marie Obenour (she/her/hers)
Invisible Things Lab

--cpbNzAF5USd8coRa
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEdodNnxM2uiJZBxxxsoi1X/+cIsEFAmQeByYACgkQsoi1X/+c
IsGxARAA0J5MhQQ+WLF6jEYJrItyLLAJFSb6iy3g2JAfgMbhsrS/HC08ho5lanMX
DliXoQXJ4MoLmkOv1MLBxA/G4jfha23C3LPo2z3Cu5U/WmNM9DO+4P+JEXYaUAdQ
Hq6NCbi9AQwkS9poaGQU55JWZ0+NLXsCYSh375RJTzJC5YYBQ3DgJCAIkJcwe9rO
DCS9NMRXWrjeMNTrPdNWs8LLykiNbCc0CM82N8LMXihj6S8l6xswSaP9+KDuC+au
znlYyeM/dTDpVDatMY6lFf4oVXViRSsRCW2qvhdNGV8uqteUpkaW25GcpGRDJ6bt
DxoKGqDE3E59s5QvsCOmXVkQQ2VGVaUf3QHcm2nLOU3bQ92xhkAvvwEQF222B8sX
PFHph4WHDjgbysfiAyVV7q7uJwKOFRGCFZSZhMMGP8xygwE06fVh4yH36gwVAxST
eI6PXbR0HgtpDG8A0HTKbHhobybF21fNsQXJ4hls+hAIfZNzPs0pGmVAGonM2E7U
qWM6bcGDlMKflU8FDMn+lH7fpQh9AuWl+w2fHacx761sC6cY42q0J9I9kSecBQj0
5a64VMLYcWwHwWvW9vwc5QUOCHJw2HdN7QRUswqLlz3CNfDDlXvBoP+PysTEFa1N
XmnsgsJvlIjgHMCnoa520PvNNvLemmpnAwPCY3kM1HMDS0vWeUY=
=VBin
-----END PGP SIGNATURE-----

--cpbNzAF5USd8coRa--


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 20:25:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 20:25:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514419.796624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfnys-00057Z-BP; Fri, 24 Mar 2023 20:25:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514419.796624; Fri, 24 Mar 2023 20: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 1pfnys-00057S-7W; Fri, 24 Mar 2023 20:25:46 +0000
Received: by outflank-mailman (input) for mailman id 514419;
 Fri, 24 Mar 2023 20: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfnyr-00053T-4q
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 20:25:45 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0bb95e46-ca82-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 21:25: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: 0bb95e46-ca82-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679689542;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=kP8agbsRfeEZ/mjeOjEF+gH//aIU1MuGD6Oj+7MKO18=;
  b=YRgkndCls/Spus2iTgnaB/r6xv7kwjczb/NNuCov2tZe7YmKOVVDL239
   KeXqgKPYs2Sz9yi4N2k6xFLAfNFr7xmoY8TqxJsVrgrJRRBB1Ja+eVZwc
   5vfoLbUvCFcO9S/HPO8+1M+AyDjiPNlPxbifR2FmIc2kVvUktmM+TSzcB
   M=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 101066355
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:aApet6sWXQmktaqBv0+MpbAJtOfnVDleMUV32f8akzHdYApBsoF/q
 tZmKTqPaKqMYGX1e993YYu38UtQusLTmodlHVY6+303EitD+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASEyyFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwBAAJPizeiPyNmbODV/QrmocGHeq7BdZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfA5NU/rSn8/x7pX7WxRepEiYuuwc5G/LwRYq+LPsLMDUapqBQsA9ckOw/
 zqfpzqnWUxHXDCZ4QiY+3emguTBoT7iRIYQBpikq95qnnTGkwT/DzVJDADm8JFVkHWWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8U24R+A4rDZ6AGYAi4DVDEpVTA9nJZoH3pwj
 AbPxo63Q2U169V5VE5x6J+4nTfiBXUaM1RbZBcZUEwZoPzSg9EK20enoslYLEKlsjHkMWiun
 GHU8nVk3O17Yd0jjPviow2e6964jt2QF1NuuF2KNo6wxlkhDLNJcbBE/rQyARxoCI+CBmeMs
 3Ef8yR1xLBfVMrd/MBhrQhkIV1I2xpmGGeG6bKXN8N9nwlBAlb6FWyq3BlwJV1yLuEPciLzb
 UnYtGt5vcEMbSX6NvcuMtnoVqzGKJQM8vy7Ps04k/IUOsQhHON51HgGibGsM5DFzxF3zPBX1
 WazesewF3cKYZlaIM6Nb75Fi9cDn3lurV4/sLinl3xLJ5LCPi/KIVrEWXPSBt0EAFSs/1uOr
 IwPb5LQo/idOcWnChTqHUcoBQhiBRAG6Vre8qS7qsbrztJaJVwc
IronPort-HdrOrdr: A9a23:XA7kMK35uokzUb8i3mvzhgqjBHUkLtp133Aq2lEZdPRUGvbo8f
 xG/c566faQsl0ssR4b+OxoVJPwJE80lqQFmLX5X43SJDUO0VHARO4N0WKL+UyaJ8SUzJ846U
 4PSdkYNPTASXVBoILdxiLQKbodKd+8mpyAtKPl400oZydMRIFP0zxQNya8NQlNaDQuP+tbKL
 OsosVGoja7eWcadK2Aa0UtVfTYutvOmInHTHc9dnwa1DU=
X-IronPort-AV: E=Sophos;i="5.98,288,1673931600"; 
   d="scan'208";a="101066355"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>,
	=?UTF-8?q?Edwin=20T=C3=B6r=C3=B6k?= <edwin.torok@cloud.com>, Rob Hoes
	<Rob.Hoes@citrix.com>
Subject: [PATCH] tools/ocaml/mmap: Drop the len parameter from Xenmmap.write
Date: Fri, 24 Mar 2023 20:25:25 +0000
Message-ID: <20230324202525.3256586-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

Strings in Ocaml carry their own length.  Absolutely nothing good can come
from having caml_string_length(data) be different to len.

Use the appropriate accessor, String_val(), but retain the workaround for the
Ocaml -safe-string constness bug in the same way as we've done elsewhere in
Xen.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Christian Lindig <christian.lindig@citrix.com>
CC: David Scott <dave@recoil.org>
CC: Edwin Török <edwin.torok@cloud.com>
CC: Rob Hoes <Rob.Hoes@citrix.com>
---
 tools/ocaml/libs/mmap/xenmmap.ml      |  4 ++--
 tools/ocaml/libs/mmap/xenmmap.mli     |  2 +-
 tools/ocaml/libs/mmap/xenmmap_stubs.c | 11 +++++------
 3 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/tools/ocaml/libs/mmap/xenmmap.ml b/tools/ocaml/libs/mmap/xenmmap.ml
index fd6735649f4c..746ca6e21c52 100644
--- a/tools/ocaml/libs/mmap/xenmmap.ml
+++ b/tools/ocaml/libs/mmap/xenmmap.ml
@@ -25,7 +25,7 @@ external mmap: Unix.file_descr -> mmap_prot_flag -> mmap_map_flag
 external unmap: mmap_interface -> unit = "stub_mmap_final"
 (* read: interface -> start -> length -> data *)
 external read: mmap_interface -> int -> int -> string = "stub_mmap_read"
-(* write: interface -> data -> start -> length -> unit *)
-external write: mmap_interface -> string -> int -> int -> unit = "stub_mmap_write"
+(* write: interface -> data -> start -> unit *)
+external write: mmap_interface -> string -> int -> unit = "stub_mmap_write"
 (* getpagesize: unit -> size of page *)
 external getpagesize: unit -> int = "stub_mmap_getpagesize"
diff --git a/tools/ocaml/libs/mmap/xenmmap.mli b/tools/ocaml/libs/mmap/xenmmap.mli
index d097b68a8fdf..5d6aa19ca6cb 100644
--- a/tools/ocaml/libs/mmap/xenmmap.mli
+++ b/tools/ocaml/libs/mmap/xenmmap.mli
@@ -22,7 +22,7 @@ external mmap : Unix.file_descr -> mmap_prot_flag -> mmap_map_flag -> int -> int
   -> mmap_interface = "stub_mmap_init"
 external unmap : mmap_interface -> unit = "stub_mmap_final"
 external read : mmap_interface -> int -> int -> string = "stub_mmap_read"
-external write : mmap_interface -> string -> int -> int -> unit
+external write : mmap_interface -> string -> int -> unit
   = "stub_mmap_write"
 
 external getpagesize : unit -> int = "stub_mmap_getpagesize"
diff --git a/tools/ocaml/libs/mmap/xenmmap_stubs.c b/tools/ocaml/libs/mmap/xenmmap_stubs.c
index c85b1fcce7d5..c15a565aaa52 100644
--- a/tools/ocaml/libs/mmap/xenmmap_stubs.c
+++ b/tools/ocaml/libs/mmap/xenmmap_stubs.c
@@ -99,27 +99,26 @@ CAMLprim value stub_mmap_read(value intf, value start, value len)
 		caml_invalid_argument("len invalid");
 
 	data = caml_alloc_string(c_len);
-	memcpy((char *) data, Intf_val(intf)->addr + c_start, c_len);
+	memcpy((char *)String_val(data), Intf_val(intf)->addr + c_start, c_len);
 
 	CAMLreturn(data);
 }
 
-CAMLprim value stub_mmap_write(value intf, value data,
-                               value start, value len)
+CAMLprim value stub_mmap_write(value intf, value data, value start)
 {
-	CAMLparam4(intf, data, start, len);
+	CAMLparam3(intf, data, start);
 	int c_start;
 	int c_len;
 
 	c_start = Int_val(start);
-	c_len = Int_val(len);
+	c_len = caml_string_length(data);
 
 	if (c_start > Intf_val(intf)->len)
 		caml_invalid_argument("start invalid");
 	if (c_start + c_len > Intf_val(intf)->len)
 		caml_invalid_argument("len invalid");
 
-	memcpy(Intf_val(intf)->addr + c_start, (char *) data, c_len);
+	memcpy(Intf_val(intf)->addr + c_start, String_val(data), c_len);
 
 	CAMLreturn(Val_unit);
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 20:28:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 20:28:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514425.796640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfo1r-0005ug-Q1; Fri, 24 Mar 2023 20:28:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514425.796640; Fri, 24 Mar 2023 20:28: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 1pfo1r-0005uZ-NJ; Fri, 24 Mar 2023 20:28:51 +0000
Received: by outflank-mailman (input) for mailman id 514425;
 Fri, 24 Mar 2023 20: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfo1q-0005uN-2u
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 20:28:50 +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 7ab93c18-ca82-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 21:28:48 +0100 (CET)
Received: from mail-mw2nam12lp2047.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.47])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Mar 2023 16:28:44 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB5112.namprd03.prod.outlook.com (2603:10b6:a03:1e9::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 20:28:40 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 20:28: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: 7ab93c18-ca82-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679689728;
  h=message-id:date:subject:to:references:from:in-reply-to:
   mime-version;
  bh=/TAaY9WxArTpfKJQxeKHTFMGKh5DyGqTVG+IFn4FBpg=;
  b=eQGe3ZGS9CWeG6s39ie/YUbqeDC638Uc2g2FaGCuG/wY0Pij3/Zwcco9
   smv2KRS4jbUv5o+aOLQZ0mFVCd91pbedrdM7eH9nQUvzTEbiWB2WBhbXm
   E/0DDDkyE5UJ+6KOaCXO3C6hO7fyI3EmMCrn8WkiJpAglw7UlNqzHv/D/
   Q=;
X-IronPort-RemoteIP: 104.47.66.47
X-IronPort-MID: 102276783
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:+3/4IayTnj0NVWuFYYt6t+cXxyrEfRIJ4+MujC+fZmUNrF6WrkUCm
 jcaUGGGOPqJN2Gjc40jOorn9koE7cDXytdkHlZu+yAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6wT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KThT6
 8wABG01VxOoqO3vzey6cLc1oMt2eaEHPKtH0p1h5RfwKK98BLX8GeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvTaVkFMZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqjAthNSuLorZaGhnWDyzErKU0pa2LlvPL6i0CaWu5Ed
 B0br39GQa8asRbDosPGdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QOuMIzRBQr0
 EGIhNLjATFzsLyTRmmZ/73SpjS3URX5NkcHbC4ACA4aud/qpdhpigqVFoo8VqmoktfyBDf8h
 SiQqzQzjKkSishN0Lin+VfAgHSnoZ2hohMJ2zg7l1mNtmtRDLNJraTxgbQHxZ6s9Lqkc2Q=
IronPort-HdrOrdr: A9a23:pgokKK8b24E/esbk4chuk+AfI+orL9Y04lQ7vn2YSXRuA6qlfq
 GV/MjzsCWetN9/YhAdcLy7Scy9qBDnhOdICOsqTM+ftWDd0QPGQr2KhbGSuAEIcBeOktK1u5
 0QFJRWOZncN3U/q+DQiTPVLz8n+rO62ZHtv8vli11Kai5LRZ1axzpYLCHeKGFKLTM2ZqYRJd
 6S5s9KvTqydW5/VKmGL3MYRfXEo9HRtL+OW29lOyIa
X-IronPort-AV: E=Sophos;i="5.98,288,1673931600"; 
   d="scan'208,217";a="102276783"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bNnfc5+AmYejjq2A/aPCVr93hXXXqSoh/FGAG2riFF6yWslOp9FSeMxnaerESS2/m+LH4Re9Q0sL55VVzBd/L73MiRbHyV3MkDuyqAQdpcFSoyWJttKel7UuesWrozIwkKur+7TcX5Fh6Xs67v8Ezp22BrorXbfmeg2Kla+75svmCyyrP8w+2kHeFzADxSMZrX6Ec5+hYZ+S0OAT2mOTGAEGO5M8obojtNe7Dk0U+IsSSMilMerOB5CrZAMenUQb8e0QFFhaC7sCZk1mqL7DUXk67Gim7oycAVFvFvMfF67hcC/ML5UZJoO14kbRsQ05O7BaQYIdlYUmyHRRC3wNpw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dyU3Ooxw0kbyI8sGFA2A7Zw5E9gncTG7r71r9AkVX7g=;
 b=j3m4zf3bKRQm9Ke4OKoT27zIiYP1JXz5AIwb9T7a8eBedNLIu7bEqGVorGEROZtBSzoyyXYLO3W2/ikOe2cE7CzWIKgXNAzUROPrVL99mylgix2kxFwkVNThn2a/AwDzo24R+74xHSj17kiQKS6t3yhteLmA3FVcPucsxuAwvh93zJskKo2sP2rgXEvyYHetV3cZtQ5sJCO/jJ81CUB2ZEg19rRVXYr2dS0DiZSRy0zSavZRLm5GjCdgZ1tfiOm/gcflJHU+scjMhwM5HkY6wz4cBJpnUQ7ZXBa2TChU+FAitAOwU8XF1FoiqyFNLHKA75w2DW51v3KAW3R6KT718g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dyU3Ooxw0kbyI8sGFA2A7Zw5E9gncTG7r71r9AkVX7g=;
 b=N5RFCB4pGeqbaZ2y9FIaWA/tFuMjh+COuDZGhvCn1PD46uZ9CxayAJlaVjXbm8KiHX93zo6TFl09UCL+SDVSPN0xtTmokEZpoaFYgoZUuEP0V35zg5Qxoq++QKCP47EtOxyJ0cseFXAEV/jotd27R7N9fqVymSbMY+XwO1Qg/hE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Content-Type: multipart/alternative;
 boundary="------------TW0g3T0loKFbWFgaRK4YD9Vb"
Message-ID: <fbe7ded7-47f6-caec-dabb-6978d9e2a192@citrix.com>
Date: Fri, 24 Mar 2023 20:28:35 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [xen-unstable-smoke test] 179929: regressions - trouble:
 blocked/fail/pass/starved
Content-Language: en-GB
To: xen-devel@lists.xenproject.org, Anthony PERARD
 <anthony.perard@citrix.com>, Demi Marie Obenour <demi@invisiblethingslab.com>
References: <osstest-179929-mainreport@xen.org>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <osstest-179929-mainreport@xen.org>
X-ClientProxiedBy: LO2P265CA0335.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a4::35) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BY5PR03MB5112:EE_
X-MS-Office365-Filtering-Correlation-Id: 383cd192-fee7-4361-6740-08db2ca65acd
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Rm+f4kIE8Raw0qJBuermOQnQ9DSkFxLrYEzCZM/eLdo330EQliILjNN2ln2bMNop5bmZdV5jBeJ8OIU3HmLEJc49/LGap+irdWVxYizDZ8FKdcKqbz+pfLZ9JVODCyzyN4rTFVMS3JkTg3rKzUH0JoEDsRhYA+PCWiU+ChAC9Eh2wCCk0/OxFd6DtAVOcUNLk4sIs5qypHhmvWKzF23v9c8y9vkp7K/M9PUAlPEBtBAbHsTNEvbNowv+ChoGg0LZklfAkNwBXGmRpC/N4Ini0gd7u/an0IFctu02KJiYcCynZWwHd5bD7q5sIWN0XBOjsHvLRVZ5GVLUJOR2lPeua6pF9TmEZxpFw0JGhPMO9/lWrx+fuV2NA4+09KLJYrmae/9Ja6GRJRcrpU1Znps6ruVUue4ZMhyd4lMuXqlPj0b9Q4+IcqCVPrc33g4QZAoQ2OTYuMdG8i2LIfVL9tUhtPK4rlTnZrBa5gDu3ONsriQ2w9iui4YEe/SGbEs/b7+lJML0ls++nV2RXwgFGOZrdCy5gUeLsMzEC6oxM1uqsHiVjMVygVAkgZLLlr79UlDHAFrraQ+0OlCK1kE8nRS6KLeuO8w7lpHs8/MYY2VsKFT2hpZUjgL/BYM+O2XOrC3vRSc1d1DLySRnHs6SJNraCUnQJ1L0A/Nnbz60jcUntsxP11qTR9x/BnfrfFeyR4bRZj6OMNVSs0adNNYTahCLtqICH7E/JOrBFDJtFlrkrsc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(366004)(346002)(39860400002)(136003)(396003)(451199021)(31696002)(83380400001)(966005)(6486002)(2906002)(478600001)(6512007)(8936002)(6506007)(26005)(8676002)(86362001)(186003)(36756003)(2616005)(66556008)(38100700002)(33964004)(31686004)(166002)(6666004)(41300700001)(82960400001)(5660300002)(110136005)(66476007)(66946007)(53546011)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MkJMV0ZpSEtUUXU4N2FYUVNQOUdYaEkyU01RejFEeHJCV2VrdHFTM2UrYmUv?=
 =?utf-8?B?MWpmTXYyelk4MXdKZ0xGZ0p2VFpXMEpISzlUeE9zWUtUMlpoZ2ZPRjJibVBQ?=
 =?utf-8?B?WkNxL05iQTAyOXg3UGhmYlBSblVqbUNJK3IrYm9WVnRldGlCTEMvSkhpNXQw?=
 =?utf-8?B?VHZBbHdFNkEvWHR0NDhtYnBDZHBEV0NRL1VpVzdkSnplaXM4MkVMNzlKSWFO?=
 =?utf-8?B?N2gwRDBGOFpFNldyUXh6SUE5anpUU011TGpXMjhlOWFCeDg5bmQyQ0JZck5W?=
 =?utf-8?B?ZGxCMzQwTnJhSEp6VlVzQ1FYTS9ldHZlNEtwbmV2RHRyQXRTWEp6Nit3M3NM?=
 =?utf-8?B?WjAyaU1nM3lsb2F5cUJUTVlnVGpUS1hiamkwNTc5Qk5WU0cvbkJHNjdvUWRk?=
 =?utf-8?B?UStaZnJ0T2k4NDAzMTNmNVl4M0c2WUxmS1k1OEUwWlVJTUxySWNtb3lvbjhh?=
 =?utf-8?B?eS9mWk9HcU1pc2UvYTdZREY1cGI2UlV3bHBWNFNoN2VQMGZ0YVVrcVRqTEZU?=
 =?utf-8?B?NmpuekJnN3RsTUxTOVJ1UWhhZjhtZHNGZ3JFaWtuZWpueUhlM1U0NDRxV3ZN?=
 =?utf-8?B?ODBrcTJwTGNmNTc4WnQzWE5ONWJ3V3haNk0vVVM2R2RSZXlBVWw3UkxwbEhy?=
 =?utf-8?B?eEhvV2ZCYnJSODFpMGlPQkJQbVJJWkk5NWlZMUNaa3BqM24wUm1lQTN0UVh6?=
 =?utf-8?B?MGd3bHFsV1RWVjA4T1Z2bGpyb0RtZGtMWHRxL1k5SUtoMUxMZDZKTUF2bUk0?=
 =?utf-8?B?OEwzM1RjZU9LVjBXM1ZjNVlyMitUN3dJcU84ZWVjYm0vZjIxc3NKQ3d2UnhM?=
 =?utf-8?B?dlRVZnFHa0RmQXlJSkprTmZvZVVTZmJlUFlrTUFEeEF3ZkdVQkMxNzhSYm1w?=
 =?utf-8?B?QU5BNlI4VHY5ekd5WkpRbXJic3d1dWJsby84cEw5OU1tY1F1TEdCbDZuZkdS?=
 =?utf-8?B?V0RidER1Tkk0U0VySS9yUE1scW1vQnNzMGZzNVZQNEFZQm55K3hNcXd5Ynoy?=
 =?utf-8?B?b21FSzl1SzIxcVo5bnlDRXNxVEtKV3VSWFJiSVNaMGpFYWFadmVENWFjYTFt?=
 =?utf-8?B?dXBKTWVLUEpIYmZhU1hkWUlFT1VGNjVLSkhjRTByT1FRU1RWQ0Z4b1c4NXdF?=
 =?utf-8?B?d3Bhb0tKV0RkS1dlNDVKNXlFVVFxTmVNOTFzZkNIMUJXRTJTaGNzdnpmaUdW?=
 =?utf-8?B?ME83REpMWVZ1eUF5cHFzTkIrM2w1WG00SC9pamRlMXNPbXZQdEZjV1FqS0JS?=
 =?utf-8?B?c1dFNjU4eHd0eHJHOExLMjg0QTVRZE51UUczK0tDcWhjREV4ejV5Umk4dngx?=
 =?utf-8?B?MkpWaUl1UEU5a0ttbXdiVlpnY3NFcXhtUEoxUVdMdktsc295ZGdQR1I3L1d2?=
 =?utf-8?B?OTVuR2xCb29RWWZ6S05ZcjRIVml5MXVUcFZ4YlRuYy9QWE5Xb25kL25WODNZ?=
 =?utf-8?B?UlN5L1pDZjZ0bkFsRm1oMDlhUWV4b3E3ZmlxQ3BMMFFiMzBMWUxJb0Fna2gy?=
 =?utf-8?B?U2wreXA0anZTRFdKRmt5dDJHYkdEcGJDbXNNajZjWnNiREJ3K0pna3pKUHRF?=
 =?utf-8?B?akZ2Y0MzNm9DdkpGUWJYV21zY3R0TDN2Nkw5K25hTk45QmdUTmxXaFhqdWFD?=
 =?utf-8?B?Y1JwUzVGK1lQbWtQZHBneGZMYWl6RW02cGFINndjdUh2dHNvK0doYWozdVFy?=
 =?utf-8?B?UDl1QkV3ekszTE1EYzBzSFN6OHgvekluc2tiSGJ0Y3ZCU0Zmem5CUWwxUlZv?=
 =?utf-8?B?b00renEzREJFb0FrUUJCYnhyZDQ4a0E0dG1IVTl5ZS9XYUpUTTlZdmhlaHBp?=
 =?utf-8?B?emZ2QmlaT0lLWDBIdGhjUEd6STk0KzBvRERmR3NwaDYzV1Yzelg5NGFSSDN1?=
 =?utf-8?B?QjBobUxvVGpuR0ZpM2NLdWRncFlrbmx1ZHgyZDJhVkhkcWJnNmE3dHBjUUN4?=
 =?utf-8?B?Y0MxR2o1dkRjS3g0dHZpWjJ1bW00aEk4RFgwZVhFUjFoRlFUWE93UTl1N0tz?=
 =?utf-8?B?Tm45U0N0cUxUV1VzM1lEaTl5ZjRMakpLcjJ0dkg0VlRtVmJFMHR1b1Q3VGor?=
 =?utf-8?B?S3g4UWk3Ykw5bGc4MVQxb21EVzZtaHd4MzdxV1paQ3B6aHdtL21uVUtZdE43?=
 =?utf-8?B?b1pmdnVUVnBVLy9wSVBRNHpWajIvK2V3cUJDNzRIdUxsSUt1VFBuUnIyT01O?=
 =?utf-8?B?MlE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	7cp50LhQVvTP+hgC4SDGOSiQ9bbwGczP1KkMuWkO8GEL/xFWJaIUIIg4Jfa6K4yNJ1FNB+U0exq5vMB4bzT9jrsjToI0QDbhl29/YxX7TLWx6GQJPq9Tz5EhN6PR2tcuDH9jJ7PaYel80JjSVrSG2061mdewg0xvFyuihREYkNP3shDM9wrc4N14rk2YL9o6zbLjIWTjqtQlQPLgz0fDmb4esse6SZkBV9TMgK6PFXE7ap0/M/6vJ4g62QRBY7uB8Sp91Sy5LjA45kOUj3FqlCAXJlqMbjdrK91Z5WTCrJ6lYxICrNqGRlLG0ks7dMrMVDQwRsT2rniTVLvbyNU+M9IJYukyaroE/Xkxh3z10ntuCcv0+VO0q7cXi+iqtY9OdzfDdSiC29cYV6Z/FgwzG+kPw+QwzvhAeHRfip1hcR9yhr6C61nO/hbWUF6CiaEKa0HZ4J29uSF3d7wHKvTndxuU7xXkMEb2pV1gwFnau/GFeJNw95BYroZUSHtAP4TE4LIyIENQEfZUUN23X4f87pKkpfw3w/MkLPhp1o3RpUSqJIPKEOvRZH+XMmMlFhBNhUrtHkWUMnUPEFAoy87CCdWrdNDwhmF/9WevsP3twHeTh5AwpJDbTDAKxAsmTFT+Nv2Aufrr4hb26G+exe0iqPUZ3o8MNnbFBTuQZlY13fDO0sBrjjyXxG6YEd/DhG9PwwX8WRpFhKDit3BnZOSSpmPEw2OFtYpcgEd6fKtGpu93bUPWjQtT/nLora9UNbf3lE1+qPiJqvSelF1gznhw3NYYrk6efKexyeC9sT4QOL6sU+j/l/s91tjvawDo+J6mu3yeFXPVFCnDKJK7YYaICg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 383cd192-fee7-4361-6740-08db2ca65acd
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 20:28:40.5785
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: A8cm3LQTyrt1qPXNJWxcEOFCUXHEj1OhrlGwA/1081eRZT6sY9Ko6t9Q+wj19P3BaIT4NbvD/jV+Qg4wrnEeo293Lh3VJKPu+fypPD2cAYc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5112

--------------TW0g3T0loKFbWFgaRK4YD9Vb
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24/03/2023 6:58 pm, osstest service owner wrote:
> flight 179929 xen-unstable-smoke real [real]
> http://logs.test-lab.xenproject.org/osstest/logs/179929/
>
> Regressions :-(
>
> Tests which did not succeed and are blocking,
> including tests which could not be run:
>  build-amd64                   6 xen-build                fail REGR. vs. 179926

Bah.

make[6]: Entering directory '/home/osstest/build.179929.build-amd64/xen/tools/firmware/etherboot'
set -e; if ! /usr/bin/wget -c -O _ipxe.tar.gz https://xenbits.xen.org/xen-extfiles/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz; then \
	git clone file:////osstest/IPXE-GIT-FORBIDDEN ipxe.git; \
	(cd ipxe.git && git archive --format=tar --prefix=ipxe/ \
	3c040ad387099483102708bb1839110bc788cefb | gzip -n >../_ipxe.tar.gz); \
	rm -rf ipxe.git; \
fi
--2023-03-24 17:06:51--  https://xenbits.xen.org/xen-extfiles/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz
Resolving cache (cache)... 172.16.148.6
Connecting to cache (cache)|172.16.148.6|:3128... connected.
ERROR: The certificate of 'xenbits.xen.org' is not trusted.
ERROR: The certificate of 'xenbits.xen.org' has expired.
Cloning into 'ipxe.git'...
fatal: '//osstest/IPXE-GIT-FORBIDDEN' does not appear to be a git repository
fatal: Could not read from remote repository.


That's OSSTest choking, apparently with the same LE root cert problem?

~Andrew
--------------TW0g3T0loKFbWFgaRK4YD9Vb
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 24/03/2023 6:58 pm, osstest service
      owner wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:osstest-179929-mainreport@xen.org">
      <pre class="moz-quote-pre" wrap="">flight 179929 xen-unstable-smoke real [real]
<a class="moz-txt-link-freetext" href="http://logs.test-lab.xenproject.org/osstest/logs/179929/">http://logs.test-lab.xenproject.org/osstest/logs/179929/</a>

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 179926</pre>
    </blockquote>
    <br>
    Bah.<br>
    <br>
    <pre>make[6]: Entering directory '/home/osstest/build.179929.build-amd64/xen/tools/firmware/etherboot'
set -e; if ! /usr/bin/wget -c -O _ipxe.tar.gz <a class="moz-txt-link-freetext" href="https://xenbits.xen.org/xen-extfiles/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz">https://xenbits.xen.org/xen-extfiles/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz</a>; then \
	git clone <a class="moz-txt-link-freetext" href="file:////osstest/IPXE-GIT-FORBIDDEN">file:////osstest/IPXE-GIT-FORBIDDEN</a> ipxe.git; \
	(cd ipxe.git &amp;&amp; git archive --format=tar --prefix=ipxe/ \
	3c040ad387099483102708bb1839110bc788cefb | gzip -n &gt;../_ipxe.tar.gz); \
	rm -rf ipxe.git; \
fi
--2023-03-24 17:06:51--  <a class="moz-txt-link-freetext" href="https://xenbits.xen.org/xen-extfiles/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz">https://xenbits.xen.org/xen-extfiles/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz</a>
Resolving cache (cache)... 172.16.148.6
Connecting to cache (cache)|172.16.148.6|:3128... connected.
ERROR: The certificate of 'xenbits.xen.org' is not trusted.
ERROR: The certificate of 'xenbits.xen.org' has expired.
Cloning into 'ipxe.git'...
fatal: '//osstest/IPXE-GIT-FORBIDDEN' does not appear to be a git repository
fatal: Could not read from remote repository.
</pre>
    <br>
    That's OSSTest choking, apparently with the same LE root cert
    problem?<br>
    <br>
    ~Andrew<br>
  </body>
</html>

--------------TW0g3T0loKFbWFgaRK4YD9Vb--


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 20:37:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 20:37:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514432.796650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfoA8-0007k2-Po; Fri, 24 Mar 2023 20:37:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514432.796650; Fri, 24 Mar 2023 20: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 1pfoA8-0007jv-La; Fri, 24 Mar 2023 20:37:24 +0000
Received: by outflank-mailman (input) for mailman id 514432;
 Fri, 24 Mar 2023 20: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfoA6-0007jo-IQ
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 20:37:22 +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 ababe07f-ca83-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 21:37:20 +0100 (CET)
Received: from mail-dm6nam04lp2041.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.41])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 24 Mar 2023 16:37:14 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DS7PR03MB5397.namprd03.prod.outlook.com (2603:10b6:5:2c0::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Fri, 24 Mar
 2023 20:37:12 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::8299:f95f:934b:29e8%7]) with mapi id 15.20.6178.038; Fri, 24 Mar 2023
 20:37: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: ababe07f-ca83-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679690240;
  h=message-id:date:subject:from:to:references:in-reply-to:
   mime-version;
  bh=vPaHBc6cwpaunvRxTajBYmlC5U+TbA4GY1ansj9DoDU=;
  b=cIleTWDKujpYTPijFmMAaxe+c3VMf4gTc+mwJbZk+QAILhwr6N661eK8
   ixYgrLWqTRhUAGzB+lsOeFUal/2IUMw5x+YwLFdIPaFfU5lIjtvH/59+q
   WeqDl83JeXBEAOToY1JG5Ix4f+Gc130HwvidJjbtII41vJifyvH8t0J7w
   A=;
X-IronPort-RemoteIP: 104.47.73.41
X-IronPort-MID: 101636606
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:PrFap60Ok4szDX8sXvbD5fNwkn2cJEfYwER7XKvMYLTBsI5bp2AOz
 mIXX23VaaqIYmPxKNwjOYqwpB9SvcWDyIdjHANupC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdkOagR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfHDhVr
 9AIGWs0MEq7ju7t/4CBU8A8v5F2RCXrFNt3VnBI6xj8VapjbbWdBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxouC6PlWSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHuiBtlMSuXmnhJsqE+s22YiVURIaUKAs/630EK8d9lmc
 ENBr0LCqoB3riRHVOLVTxC+5XKJoBMYc95RCPEhrhGAzLLO5ASUDXRCSSROAPQquco3bT0sy
 F6SntntCCBvsbuaUnaU/PGfqjbaBMQOBWoLZCtBQQ5b5dDm+N03lkiXEo8lF7OphNroHz222
 yqNsCU1m7QUi4gMyrm/+lfExTmro/AlUzII2+keZUr9hisRWWJvT9bABYTzhRqYELukcw==
IronPort-HdrOrdr: A9a23:U8b1QqDlB2rAykPlHelr55DYdb4zR+YMi2TC1yhKOHpom62j9/
 xG+c5x6faaslcssR0b6LW90cq7MArhHPxOkPEs1N6ZNWGI1ldARLsSlrcKqAeQfxEWmNQtsp
 tIQuxSMvC1K35Q5PyX3OC/Kbwd6ejCyoyTwc356FhMYz1QQ5xBySA8MCqne3cGJzVuNN43FJ
 +R/MpVqyDIQxkqR86mHGQCW+TZh/CjruOFXSI7
X-IronPort-AV: E=Sophos;i="5.98,288,1673931600"; 
   d="scan'208,217";a="101636606"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QTlsZeD8Bo+j6vdC1ilAIspc7Js++oMy9apTKhTGqyvI5ZseiMAEmfFa74XODVOAKozzMZvG4PI2Le5krwtslxc1psXje2tHUIhfOsVndaCl4z/v4J2tJWVzqVx9xJNAjteMxaQfjmnE2HlkgUKk/aleWQVprYhwnY7aVewG3SINOkbNeJjmOq9RC3MrTvqUQ/PovOkuvyeLHd90ZVwqFnsAV7FEYaFKMkdOF2Iu13KTvqNJU2i9TfT3prrnvlzCqomiXBRWHgPkY+2Ne3hFdn5aw2XgNMZg+AF27m+xcZpxzX96vlMCymZlj9CJnpxxS+ISmbhpvrmN2iKSrTxeFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aDzWjSuqHxJmnIVcLr3/I0r4cXBHYMsYl1x7zMU6oEQ=;
 b=h2TSde4w2x++cLDVjYnjHNbGKCeKs6OuXpAIhgAH+17sNrcMdaoKIwm1n5YTOLYMA+cSupc9LG4SCrY6eiMh1R88KmM6xfv8waYPi8O2KvM2ZLWKoULm/mDuqtgYwTDWt89dyX6nqF7sxzy62Y4Y/jUocBvjG+yxHlx6QJGWn4zRL6OtHeF+vQX+sILIJjHTwdX+AtjZrghFpR1NfNewQC8C7XLl7y7GYspuuh8Iz7iZGIbYtworAHDKHhh/NmfIQtXFjHJ+37Asw5CegfnPq4VrnkkstefNlP27kEaqFFn6UtNEKtfNQpISeZKY4f/5q5KVqtAB6uWyJuYX0fnwmg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aDzWjSuqHxJmnIVcLr3/I0r4cXBHYMsYl1x7zMU6oEQ=;
 b=iQ4FSWhG7XW9EjSpw9+8JTR0sPjqY3KHgEub7xdf0lVG6wpJQucNseyYWV0hXkkW9/WPES1oZK5097VGT9PWmQEGN2cWNW7n+Tt5nu/YPDnfZmVOyaXXUR0Ji32DxZ1KLkgRJKtvbTW2czEIuC0+AIVwMGjBSGcZIPO6WpZ63gk=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Content-Type: multipart/alternative;
 boundary="------------G9jGNwtOOgepn9YX0Gc0d8R7"
Message-ID: <17e95e93-a3a9-962c-1563-f9fc526320df@citrix.com>
Date: Fri, 24 Mar 2023 20:37:06 +0000
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [xen-unstable-smoke test] 179929: regressions - trouble:
 blocked/fail/pass/starved
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: xen-devel@lists.xenproject.org, Anthony PERARD
 <anthony.perard@citrix.com>, Demi Marie Obenour <demi@invisiblethingslab.com>
References: <osstest-179929-mainreport@xen.org>
 <fbe7ded7-47f6-caec-dabb-6978d9e2a192@citrix.com>
In-Reply-To: <fbe7ded7-47f6-caec-dabb-6978d9e2a192@citrix.com>
X-ClientProxiedBy: LO0P265CA0001.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:355::9) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DS7PR03MB5397:EE_
X-MS-Office365-Filtering-Correlation-Id: 4022ef2f-11a7-4c41-1662-08db2ca78bb9
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UTTeixLpskj6ZG5qZb82xhDIRgJ0+eEUR8s+5Zl6IXiEeGx1pQ3pXQkeILrd+S5VpJUC+e3Nqn0if1XBCQln3CSnlPS4s4JMxnf69eHZ/P7TUjFF3yy5sNypX5/+lOy8TJ52Ftoq3WSHiqqohpiKe5v9y705LzkT/u4Bg0yDYGLQ/G49lB5C9MKLOP184zOGTsJqR5T/Mn0lBCtmhc6lN7fkLjqGZV8T6caQ6NQ7ggLxppRCpNh13aYLvKjSxfDAvpbCSj+r4b7L92aMNXz3EabOrTVkZUgePFqCU6Rj8NaWUsR8bcMh+YzmZr63VTv4VbXspsKEtCW0rs9bE7+JaR6EO1Pzd+MI9TQ8YXxL4sb5jpeEL33z4MZQyLvdWN4NlPJ5T4Rc6xBsVmkykIMwRilZFrHhw2uVLqBlQvkSt9/WWQfQMRFvrmAQwW1In84aksony8gokNdc6q9JEIR6ljmm5R4hato9TxtaBb+THjc/oCTPiWYIO+dZPAJTfE7IyBMcxBUKnYkqpcx7LvNfewIYLuUK3U4umulNGM2Gi+P7F9pd8yvh5XRCYvY2Hfju0MVqHvI/XRx7W7zn7gnhKVUC2IMWFnfzFfSqfKxmSl45XhBcaq5msbBKz/AdWG3Nijo238egQn8jjjl0q2QsYQtCM1PnXW18gBKvG5bmB0EO42OHpt96u9dG/myBEoBiUCqbzpILlnREGp5UO1VN0w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(366004)(346002)(39860400002)(136003)(396003)(451199021)(31696002)(83380400001)(966005)(6486002)(2906002)(478600001)(6512007)(8936002)(6506007)(26005)(8676002)(86362001)(186003)(36756003)(2616005)(66556008)(38100700002)(33964004)(31686004)(166002)(6666004)(41300700001)(82960400001)(5660300002)(110136005)(66476007)(66946007)(53546011)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dCtTdjI1V3g4WEVSanFqOGs0cG9wZzRUQ1FiYlp6NjRFVVhzMFR4bFdzSERi?=
 =?utf-8?B?SFhTRGZMd0cwWlFDekt6VFJMNmxZM2VUcGJkdk50V3k4Q0VJYVVIV2kxanpa?=
 =?utf-8?B?bUJSZWNURTRJVE1ZSEVOQ0VFOG1oUVgrWVJtOGNmd29xRWIvaGNoaHAzNnhk?=
 =?utf-8?B?SFVTc0dUUkJWWHI0WWUrOUNMNlZRbnprRkJSbk0vK28zZkFaN3lOM2VEbVFO?=
 =?utf-8?B?SkxXcFVKNmJ4VDBTSVVZUzZGRlVpU1U3ZlZpWUgrcktpV1dUMG14Y1FodGkr?=
 =?utf-8?B?bFArZWgzb0pwclFEN2tMa2NMRk1GdmdQb3BnZ05ZSmRHNjNkbDVjS2ZMU01M?=
 =?utf-8?B?Z0J5VHJOYUU5NjgxVFVsUTYxOEdZb2Z2R1ZsRVVpWmhPNTBBb05SamZDazdX?=
 =?utf-8?B?Ujl5bENHU1JYbGxlR3hGcGVwMUo5SzA2bWJzYXk3Uk9aMUZxU3FaMUpWRXlr?=
 =?utf-8?B?WmQwazJPL3ZZWU9xVUR3S0I2VmdHbmVvaUNQY3VTWmF3T3JJOEw3c3ZOMmRZ?=
 =?utf-8?B?YmRlS0w4enUxRUZEK3RNSVA1Q2I4NFdMR3V2VnVhL2w5REdhQ01pOUtkeDlE?=
 =?utf-8?B?N0dhNnphbUptcTJvSTlsc3cvMWdPMkhablp3NkRwbXNFZ2ZKMFJLYTVsMzhG?=
 =?utf-8?B?NlhHYWlHTnNxU25ucEdiblM5RFYyTlc1K3B0S2lUU3lXdEI5dlppNEgwV1pW?=
 =?utf-8?B?TnBubllZZDBjTnowREFGK0NBcW51bHFQSVR0VFgwSURZaThNMFFOOTl3dlJC?=
 =?utf-8?B?MzFmbU9SQmZpUzdHUDY1aktzeUQvRk95MmJXSnlxWlloZWRmY3hHZFhEalR6?=
 =?utf-8?B?YXNtemhTdGt1Ulltd0VPNlpFTGFabGZ6a3pBTUhqQTRCQWVkZEttcm1JS0xQ?=
 =?utf-8?B?WTVVTG5lbGx0UTI3T0tOeEVidUxnR2t1VWRJdU43L3pVQWtMNyt0M1gzWWhQ?=
 =?utf-8?B?Z0lDaDRHTGExRCtpSGFST2RpVVNLMC9rQ0haQTUzTXBpaXc3TVVHWVlJc2I4?=
 =?utf-8?B?TlR4RStodzJ0em41VW5NRitpbHpkRzYvcG5UT0Y1MVF3U0NPR3VOTzR4Qjh1?=
 =?utf-8?B?dGxRS25sUzArMXZLN3JYN0t3SkZUWitwZFZ3NXBCaVg1alJhdlNjaGVUVUVO?=
 =?utf-8?B?QkRocm9OZ2pUS21rV2xPRVVpT0ZkczhXNXduTVdyT1ZvVVJ6b3MwRExaR0I4?=
 =?utf-8?B?VU9CQzNVTHVMSjJwZXR0TDZNZ3Z6Nkd6cUVBWVNscHpKV3dZVVhsM0hWazhE?=
 =?utf-8?B?UkJ3RWhOcGVQbDlJd2xCRjAwSVl1b09uZjhWa3NBVTFjMTBaSXd1RENoZnJD?=
 =?utf-8?B?SzFOaHJKWVFqaHYvbHRObklqZFV2SEZzZm1RTmdsTWtESnZZcVFLOXZmQTNS?=
 =?utf-8?B?VjA1MFlRbm5mNDhpUVFWTXY4STFnWmlGVmJ5VEpNWno2RWZINHFTd0dTRjFv?=
 =?utf-8?B?a1l1cDlnSFVJZCtkc0hyWWkrWWhuRlUzY1Y1QnJYcDRZdWp6ZEdhT1hwUDUv?=
 =?utf-8?B?M2RoaHV5MjltNnFnU1E4Wm1VbmxQMm9GdzJveTRGRThQbldZVkJPTXVqZzFN?=
 =?utf-8?B?OUhkZVdDUHRSR0IzclBRWnYzTTluVWxFYUJGcXY3RDZhL2t1M0VaeG9qNXUr?=
 =?utf-8?B?UTFKNGY2WUNza3FhdlM0R2d2QlM1NjdrRmVkb2pQZEEzOVJoOWMrZWhUajRs?=
 =?utf-8?B?UGtrTTd4aDNwVFAzMlBmQmluYkxHSjYxRE1lVEN1dVd4Uk1UM3BrdG1IZjlB?=
 =?utf-8?B?TktxMml2RXVESjVVOW9DNkZDRDliV2V6RHVYSnJ3UG4rWHVRRTY5TzJYWWZs?=
 =?utf-8?B?Zi9VTTlGOWlLN1E1dVdIK1gyVEZ1U3g0cmpGaFBCYnQ0Q2U4SnhEemVCRDVx?=
 =?utf-8?B?WUtFQkFMK1cvU3d4aHZKcEdIUVFOV05lYkVMMW9tYmZZOVZvS1Eza0ZzVzBl?=
 =?utf-8?B?Z21zVHRkVUF4eUlHUTVBMk1FaWFMalpvMHZycDhMUmwxTW5CRm5ZT0E2R2JB?=
 =?utf-8?B?eXc3WkJyYjJMWnhXcVZvQmdHZndCbHhHYWMxTnhNb2kvdG9qSU9UcXlkVEdH?=
 =?utf-8?B?TFcydllZWE9iaDQ4N1kyTHZqd2d2bTY1cnBMQkM2N2YxdTQ1QXZFL1l5Sk5z?=
 =?utf-8?B?eVF3eXRuaEhXQVFZVGFxN3RZYnpjejU2QU03Lzd0Q3VwN09uWHY0b0ZEdVNP?=
 =?utf-8?B?Tmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	kHfFxKT+qWbxR3UB6NR+XocmTXEKlxrforCNjGkBYZBC0Yso+zkjqDYh0Va2+3ZH5E32lwXWXmWTqmrGy5HlGoZRUWka5LHJUBdlAGCm0DwjUT1ICVLUv1XQw9OtTJECWFOWFceWeF2Rgmif8I6DRr+PY+Nolh4WmyHNTrhVCH2vyNvsRXfeEQ/YY32I/vXXQ9XtUjbFT3CVgn8me2iNpIm3JCrBMjzHAkculG7Z/1TaF2SENNXueJ8RNnNDjAO6ui4URdtX6nC1G9Bd9qUBsqPgP3u1SMb00GdqCqCf7Jgzaycw1OVahS/4Th41kGMs+SP2pEU0runrBS8qBrZogG9xNP2eeOsgDkuA07W9+8S9CROr0pMs3Qz5xt/cmXka6tjm6n6Ls9OotxUqDaDQrreRXqzLO0CAmmjTVq5kFe73K2AA/UnoFBDvDoZ+m09H6HTO2NOKRZ8PONPDQApnkJK6f+4k6dlEeg1/PgguaZa9zLR4J+fLBRCHfIUZle3yI64Xz3z5AkMv4ZpE13HfSLZKCIxVu00L/Oe/xDUUrSHUIBMmIPGDcTQ1UZIhjT128Ae63N6c7+o1CTi2ksggvrEWpiQSqs8qPA12k0iBC+tmK48nXcAP70+PZGlbzjY5mzKwSyxks+uomMjL0SvfQIYwsBonwwDMfzAIACpSj/pc2LmobphtKb2oobfB2v/NMQmlDWGaUO5kGM3ZSuK24dDAz667kTYMJGI+cZoSgXNDuxrr7I9PLSyRRXgwosEl0CirfW71v2pjspqltvsjeU7SuOSApAqU/L91t7R34/TtVzwclgPrjrm0+1sC/n/WKL7/JghLi1WXQjt5151SOQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4022ef2f-11a7-4c41-1662-08db2ca78bb9
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2023 20:37:12.2599
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BOo/So1/x/ePSv14+C/nhzZLv3s4OmnYkGZzPTTufDYpgJ4GrZJils9iJGTQQSBtWsP8Y9KGzVpZmbqtjXcOlxdpCzb+sXRuYh2gc9n5rno=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5397

--------------G9jGNwtOOgepn9YX0Gc0d8R7
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24/03/2023 8:28 pm, Andrew Cooper wrote:
> On 24/03/2023 6:58 pm, osstest service owner wrote:
>> flight 179929 xen-unstable-smoke real [real]
>> http://logs.test-lab.xenproject.org/osstest/logs/179929/
>>
>> Regressions :-(
>>
>> Tests which did not succeed and are blocking,
>> including tests which could not be run:
>>  build-amd64                   6 xen-build                fail REGR. vs. 179926
>
> Bah.
>
> make[6]: Entering directory '/home/osstest/build.179929.build-amd64/xen/tools/firmware/etherboot'
> set -e; if ! /usr/bin/wget -c -O _ipxe.tar.gz https://xenbits.xen.org/xen-extfiles/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz; then \
> 	git clone file:////osstest/IPXE-GIT-FORBIDDEN ipxe.git; \
> 	(cd ipxe.git && git archive --format=tar --prefix=ipxe/ \
> 	3c040ad387099483102708bb1839110bc788cefb | gzip -n >../_ipxe.tar.gz); \
> 	rm -rf ipxe.git; \
> fi
> --2023-03-24 17:06:51--  https://xenbits.xen.org/xen-extfiles/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz
> Resolving cache (cache)... 172.16.148.6
> Connecting to cache (cache)|172.16.148.6|:3128... connected.
> ERROR: The certificate of 'xenbits.xen.org' is not trusted.
> ERROR: The certificate of 'xenbits.xen.org' has expired.
> Cloning into 'ipxe.git'...
> fatal: '//osstest/IPXE-GIT-FORBIDDEN' does not appear to be a git repository
> fatal: Could not read from remote repository.
>
> That's OSSTest choking, apparently with the same LE root cert problem?

Given that there's plenty of content wanting testing right now, and no
chance of this being looked at until next week, I've reverted e1d750844
(which was just a single hunk anyway) in the hopes that we can still get
a useful weekend of testing

~Andrew
--------------G9jGNwtOOgepn9YX0Gc0d8R7
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 7bit

<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <div class="moz-cite-prefix">On 24/03/2023 8:28 pm, Andrew Cooper
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:fbe7ded7-47f6-caec-dabb-6978d9e2a192@citrix.com">
      
      <div class="moz-cite-prefix">On 24/03/2023 6:58 pm, osstest
        service owner wrote:<br>
      </div>
      <blockquote type="cite" cite="mid:osstest-179929-mainreport@xen.org">
        <pre class="moz-quote-pre" wrap="">flight 179929 xen-unstable-smoke real [real]
<a class="moz-txt-link-freetext" href="http://logs.test-lab.xenproject.org/osstest/logs/179929/" moz-do-not-send="true">http://logs.test-lab.xenproject.org/osstest/logs/179929/</a>

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 179926</pre>
      </blockquote>
      <br>
      Bah.<br>
      <br>
      <pre>make[6]: Entering directory '/home/osstest/build.179929.build-amd64/xen/tools/firmware/etherboot'
set -e; if ! /usr/bin/wget -c -O _ipxe.tar.gz <a class="moz-txt-link-freetext" href="https://xenbits.xen.org/xen-extfiles/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz" moz-do-not-send="true">https://xenbits.xen.org/xen-extfiles/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz</a>; then \
	git clone <a class="moz-txt-link-freetext" href="file:////osstest/IPXE-GIT-FORBIDDEN" moz-do-not-send="true">file:////osstest/IPXE-GIT-FORBIDDEN</a> ipxe.git; \
	(cd ipxe.git &amp;&amp; git archive --format=tar --prefix=ipxe/ \
	3c040ad387099483102708bb1839110bc788cefb | gzip -n &gt;../_ipxe.tar.gz); \
	rm -rf ipxe.git; \
fi
--2023-03-24 17:06:51--  <a class="moz-txt-link-freetext" href="https://xenbits.xen.org/xen-extfiles/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz" moz-do-not-send="true">https://xenbits.xen.org/xen-extfiles/ipxe-git-3c040ad387099483102708bb1839110bc788cefb.tar.gz</a>
Resolving cache (cache)... 172.16.148.6
Connecting to cache (cache)|172.16.148.6|:3128... connected.
ERROR: The certificate of 'xenbits.xen.org' is not trusted.
ERROR: The certificate of 'xenbits.xen.org' has expired.
Cloning into 'ipxe.git'...
fatal: '//osstest/IPXE-GIT-FORBIDDEN' does not appear to be a git repository
fatal: Could not read from remote repository.
</pre>
      <br>
      That's OSSTest choking, apparently with the same LE root cert
      problem?<br>
    </blockquote>
    <br>
    Given that there's plenty of content wanting testing right now, and
    no chance of this being looked at until next week, I've reverted
    e1d750844 (which was just a single hunk anyway) in the hopes that we
    can still get a useful weekend of testing<br>
    <br>
    ~Andrew<br>
  </body>
</html>

--------------G9jGNwtOOgepn9YX0Gc0d8R7--


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 20:53:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 20:53:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514440.796668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfoP6-0002GO-5i; Fri, 24 Mar 2023 20:52:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514440.796668; Fri, 24 Mar 2023 20:52:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfoP6-0002GH-38; Fri, 24 Mar 2023 20:52:52 +0000
Received: by outflank-mailman (input) for mailman id 514440;
 Fri, 24 Mar 2023 20:52:50 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfoP4-0002G7-Tj; Fri, 24 Mar 2023 20:52:50 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfoP4-0004a9-Rt; Fri, 24 Mar 2023 20:52:50 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfoP4-0004E3-Fr; Fri, 24 Mar 2023 20:52:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfoP4-0005Os-FM; Fri, 24 Mar 2023 20:52:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=k9jZLN/3OipvgPisRGHaDTNsyuEsO6IoJ/pXuRJ30uM=; b=WZJJWO7tG7cOvm7i0oCi57SY7j
	0FwbsAHUaUPSdbhLJQ7Sig8pfxGDkrfiic29ng17+21eEqUYj6xBuiinRDZc9136vGNQJi1g0yXsI
	nu9cwrkl2d82o7KcXhSxeE/Ttt4GGXlTy2CGQ9hSPhz4vjIa2mo2tGnjNAhQncgkMjL4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179931-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179931: regressions - trouble: blocked/fail/pass/starved
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64:xen-build:fail: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: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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=054acfc4443cda51bc000c2e3ba08d9fd1bd77f1
X-Osstest-Versions-That:
    xen=715b92ba30f792e326bdd37b5a4969da9c5d4a6c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Mar 2023 20:52:50 +0000

flight 179931 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179931/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   6 xen-build                fail REGR. vs. 179926

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      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  054acfc4443cda51bc000c2e3ba08d9fd1bd77f1
baseline version:
 xen                  715b92ba30f792e326bdd37b5a4969da9c5d4a6c

Last test of basis   179926  2023-03-24 14:01:58 Z    0 days
Testing same since   179929  2023-03-24 17:00:25 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  fail    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          blocked 
 test-armhf-armhf-xl                                          starved 
 test-arm64-arm64-xl-xsm                                      pass    
 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


Not pushing.

------------------------------------------------------------
commit 054acfc4443cda51bc000c2e3ba08d9fd1bd77f1
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Mar 21 13:33:42 2023 -0400

    misc: Replace git:// and http:// with https://
    
    Obtaining code over an insecure transport is a terrible idea for
    blatently obvious reasons.  Even for non-executable data, insecure
    transports are considered deprecated.
    
    This patch enforces the use of secure transports in misc places.
    All URLs are known to work.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 04988f1c595330fd39cdac2c6034ebb30616557e
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Mar 21 13:33:40 2023 -0400

    configure: Replace git:// and http:// with https://
    
    Obtaining code over an insecure transport is a terrible idea for
    blatently obvious reasons.  Even for non-executable data, insecure
    transports are considered deprecated.
    
    This patch enforces the use of secure transports in the build system.
    Some URLs returned 301 or 302 redirects, so I replaced them with the
    URLs that were redirected to.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 47ee23f05ac945e5fedf118b8e85af95c5da3276
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Mar 21 13:33:38 2023 -0400

    configure: Do not try to use broken links
    
    The upstream URLs for zlib, PolarSSL, and the TPM emulator do not work
    anymore, so do not attempt to use them.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit e1d75084443f676be681fdaf47585cc9a5f5b820
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Mar 21 13:33:36 2023 -0400

    build: Change remaining xenbits.xen.org link to HTTPS
    
    Obtaining code over an insecure transport is a terrible idea for
    blatently obvious reasons.  Even for non-executable data, insecure
    transports are considered deprecated.
    
    This patch enforces the use of secure transports for all xenbits.xen.org
    URLs.  All altered links have been tested and are known to work.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit eb23eef476bf44f933fcff42e55119473a1d6e19
Author: Demi Marie Obenour <demi@invisiblethingslab.com>
Date:   Tue Mar 21 13:33:34 2023 -0400

    build: Use HTTPS for all xenbits.xen.org Git repos
    
    Obtaining code over an insecure transport is a terrible idea for
    blatently obvious reasons.  Even for non-executable data, insecure
    transports are considered deprecated.
    
    This patch enforces the use of secure transports for all xenbits git
    repositories.  It was generated with the following shell script:
    
        git ls-files -z |
        xargs -0 -- sed -Ei -- 's@(git://xenbits\.xen\.org|http://xenbits\.xen\.org/git-http)/@https://xenbits.xen.org/git-http/@g'
    
    All altered links have been tested and are known to work.
    
    Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 79493f2b33eeeccc78db25435181a03f5c46b3e6
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Sep 15 18:24:19 2021 +0100

    xen/trace: Minor code cleanup
    
     * Delete trailing whitespace
     * Replace an opencoded DIV_ROUND_UP()
     * Drop bogus smp_rmb() - spin_lock_irqsave() has full smp_mb() semantics.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>

commit 2992f4dcd5e981360cef3fe0e7aef670d5e02eb9
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Sep 15 17:01:43 2021 +0100

    xen/credit2: Remove tail padding from TRC_CSCHED2_* records
    
    All three of these records have tail padding, leaking stack rubble into the
    trace buffer.  Introduce an explicit _pad field and have the compiler zero the
    padding automatically.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Dario Faggioli <dfaggioli@suse.com>

commit 83af664db3366d9c3047abd67655dce1796d005c
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Wed Sep 15 16:49:01 2021 +0100

    xen/memory: Remove tail padding from TRC_MEM_* records
    
    Four TRC_MEM_* records supply custom structures with tail padding, leaking
    stack rubble into the trace buffer.  Three of the records were fine in 32-bit
    builds of Xen, due to the relaxed alignment of 64-bit integers, but
    POD_SUPERPAGE_SPLITER was broken right from the outset.
    
    We could pack the datastructures to remove the padding, but xentrace_format
    has no way of rendering the upper half of a 16-bit field.  Instead, expand all
    16-bit fields to 32-bit.
    
    For POD_SUPERPAGE_SPLINTER, introduce an order field as it is relevant
    information, and to match DECREASE_RESERVATION, and so it doesn't require a
    __packed attribute to drop tail padding.
    
    Update xenalyze's structures to match, and introduce xentrace_format rendering
    which was absent previously.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Dario Faggioli <dfaggioli@suse.com>

commit 6835f93573ad282a7cb01a6af9ee5c3add5cb4a8
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Thu Sep 16 10:24:26 2021 +0100

    xen/trace: Don't over-read trace objects
    
    In the case that 'extra' isn't a multiple of uint32_t, the calculation rounds
    the number of bytes up, causing later logic to read unrelated bytes beyond the
    end of the object.
    
    Also, asserting that the object is within TRACE_EXTRA_MAX, but truncating it
    in release builds is rude.  Instead, reject any out-of-spec records, leaving
    enough of a message to identify the faulty caller.
    
    There is one buggy trace record, TRC_RTDS_BUDGET_BURN.  As it must remain
    __packed (as cur_budget is misaligned), change bool has_extratime to uint32_t
    to compensate.
    
    It turns out that the new printk() can also be hit by HVMOP_xentrace, because
    the hypercall is broken.  It cannot be used outside of custom debugging, as
    none of the tooling was ever updated to understand TRC_GUEST, nor is there any
    evidence of hypercall ever being used in public.
    
    While the hypercall was clearly intended to be used with units if uint32_t's,
    that's not how the API/ABI works - Xen will in fact read the entire structure
    rather than the initialised subset out of guest memory (most likely, stack
    rubble), then copy up to 3 bytes of it (rounding up to the next uint32_t) into
    the real tracebuffer.
    
    There are several possible ways to fix this, but as the hypercall, and does
    not plausibly have any users, go with the one that is least logic in Xen, by
    rejecting tracing attempts that are not of uint32_t size.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Reviewed-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 21:05:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 21:05:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514451.796687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfoar-00049z-GZ; Fri, 24 Mar 2023 21:05:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514451.796687; Fri, 24 Mar 2023 21:05: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 1pfoar-00049s-DX; Fri, 24 Mar 2023 21:05:01 +0000
Received: by outflank-mailman (input) for mailman id 514451;
 Fri, 24 Mar 2023 21:05: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=0WRj=7Q=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pfoaq-00049m-AZ
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 21:05:00 +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 8891f680-ca87-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 22:04:59 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 3B9A162CAD;
 Fri, 24 Mar 2023 21:04:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 20539C4339B;
 Fri, 24 Mar 2023 21:04: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: 8891f680-ca87-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679691897;
	bh=afzTv3TkWPe+7R0O7/i7NDO9pC4jgi+CtKCjc+lB4JY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=u/sEfWEH+lFIWLcfqhOeMbvjHVP0CWWluIG+LoDuwPUx7yL46KixH7XQHFJOiehKh
	 ZEMzQDtNrwdiaJgmi5tfWaJzVci9KwlBmiJTJdtF8WYFmXqaItMUUtrwSAv9C52ugM
	 7e33UI2X58s0KD4O5sNHACb1QUM6rZKM4Ur2q1ZqfCwB5KBmcdwKYAyAVlybmwITwj
	 /HbudLVs2/0r+cmhad6f0KdUF8/xS6ajFYDRVqTHyNGt1if2HreKDzmAWY/ePn34Ax
	 4GZX8nRPDLyRjIHWcqdNgekk7P09voA4YEXeod1kQ+zr75bZnKvTHEevGiIeOuhhOp
	 WFVFq5gUWjJsA==
Date: Fri, 24 Mar 2023 14:04:54 -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: Xen-devel <xen-devel@lists.xenproject.org>, 
    Anthony PERARD <anthony.perard@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH] CI: Minor updates to buster-gcc-ibt
In-Reply-To: <20230324200658.3245418-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2303241404320.4066@ubuntu-linux-20-04-desktop>
References: <20230324200658.3245418-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 Fri, 24 Mar 2023, Andrew Cooper wrote:
>  * Update from GCC 11.2 to 11.3
>  * Use python3-minimal instead of python
>  * Use --no-install-recommends, requiring ca-certificates, g++-multilib and
>    build-essential to be listed explicitly
> 
> The resulting container is ~50M smaller
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

I assume you have tested this successfully.

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Doug Goldstein <cardoe@cardoe.com>
> ---
>  automation/build/debian/buster-gcc-ibt.dockerfile | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/automation/build/debian/buster-gcc-ibt.dockerfile b/automation/build/debian/buster-gcc-ibt.dockerfile
> index 441d9a9ab37a..96ab4fe8a2f1 100644
> --- a/automation/build/debian/buster-gcc-ibt.dockerfile
> +++ b/automation/build/debian/buster-gcc-ibt.dockerfile
> @@ -4,10 +4,12 @@ ENV DEBIAN_FRONTEND=noninteractive
>  ENV USER root
>  
>  RUN apt-get update && \
> -    apt-get --quiet --yes install \
> +    apt-get --quiet --yes --no-install-recommends install \
>          bison \
>          build-essential \
> +        ca-certificates \
>          flex \
> +        g++-multilib \
>          libc6-dev-i386 \
>          libgmp-dev \
>          libisl-dev \
> @@ -19,7 +21,7 @@ RUN apt-get update && \
>  RUN mkdir /build
>  WORKDIR /build
>  
> -RUN wget -q https://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.xz -O - | tar xJ --strip=1
> +RUN wget -q https://ftp.gnu.org/gnu/gcc/gcc-11.3.0/gcc-11.3.0.tar.xz -O - | tar xJ --strip=1
>  RUN wget -q https://xenbits.xen.org/people/andrewcoop/gcc-11.2-Add-fcf-check-attribute-yes-no.patch -O - | patch -p1
>  RUN ./configure \
>          --prefix=/opt/gcc-11-ibt \
> @@ -53,13 +55,14 @@ RUN mkdir /build
>  WORKDIR /build
>  
>  RUN apt-get update && \
> -    apt-get --quiet --yes install \
> +    apt-get --quiet --yes --no-install-recommends install \
>          bison \
> +        build-essential \
>          checkpolicy \
>          flex \
>          gawk \
>          make \
> -        python3 \
> +        python3-minimal \
>          && \
>          apt-get autoremove -y && \
>          apt-get clean && \
> -- 
> 2.30.2
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 21:07:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 21:07:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514454.796697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfoct-0004jf-Uj; Fri, 24 Mar 2023 21:07:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514454.796697; Fri, 24 Mar 2023 21:07:07 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfoct-0004jY-Ro; Fri, 24 Mar 2023 21:07:07 +0000
Received: by outflank-mailman (input) for mailman id 514454;
 Fri, 24 Mar 2023 21:07: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=0WRj=7Q=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pfocr-0004j3-Os
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 21:07: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 d361a54f-ca87-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 22:07:04 +0100 (CET)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1D76862CAD;
 Fri, 24 Mar 2023 21:07:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A36EEC433D2;
 Fri, 24 Mar 2023 21:07: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: d361a54f-ca87-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679692022;
	bh=zmAlsq15QDe38bGa1IAxDtMrEqNP8JRjAhO8DknmTaE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=r7R4mmaFV7iI2IIK2xuH0RKyGiPsDt2xr8FS9w3XwzGdGpkwvyCi1iNF4I2IFEBys
	 KOJDKkYmhhFkCuNx7YUPkY62WxlBjznv7cj6OUKE75GqShX9Pdvm4W+YE8mJife4NU
	 5OlQ1r/PZaF4Vsu4xY+ZMo25OfUGCF9ZGEMgMA2KN/juS40cjGftSazIWS/lUwtjbk
	 HD3JgQDPjztaOjgATZOY1NmYRDPZVq2c50zjFQsNXSMih98PNOAKbrOemHBy/NDDtZ
	 51v3dn7pEiLAX+SxyLjTNQh+vLFdBC9RR5nI54JFTJ8dtVTWEE39gSCKR/eKWsA/c6
	 1KBH/cpquOzqQ==
Date: Fri, 24 Mar 2023 14:07:00 -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: Xen-devel <xen-devel@lists.xenproject.org>, 
    Anthony PERARD <anthony.perard@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH] CI: Remove llvm-8 from the Debian Stretch container
In-Reply-To: <20230324200654.3245297-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2303241405020.4066@ubuntu-linux-20-04-desktop>
References: <20230324200654.3245297-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 Fri, 24 Mar 2023, Andrew Cooper wrote:
> For similar reasons to c/s a6b1e2b80fe20.  While this container is still
> build-able, all the other problems with explicitly-versioned compilers remain.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Doug Goldstein <cardoe@cardoe.com>
> 
> This will require backporting to older trees, but there's already a list it
> can be added too.
> ---
>  automation/build/debian/stretch-llvm-8.list |  3 ---
>  automation/build/debian/stretch.dockerfile  | 12 ---------
>  automation/gitlab-ci/build.yaml             | 27 ---------------------
>  3 files changed, 42 deletions(-)
>  delete mode 100644 automation/build/debian/stretch-llvm-8.list
> 
> diff --git a/automation/build/debian/stretch-llvm-8.list b/automation/build/debian/stretch-llvm-8.list
> deleted file mode 100644
> index 590001ca81e8..000000000000
> --- a/automation/build/debian/stretch-llvm-8.list
> +++ /dev/null
> @@ -1,3 +0,0 @@
> -# Strech LLVM 8 repos
> -deb https://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main
> -deb-src https://apt.llvm.org/stretch/ llvm-toolchain-stretch-8 main
> diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
> index 2c086b197cba..1af6c691f8f4 100644
> --- a/automation/build/debian/stretch.dockerfile
> +++ b/automation/build/debian/stretch.dockerfile
> @@ -54,15 +54,3 @@ RUN apt-get update && \
>          apt-get autoremove -y && \
>          apt-get clean && \
>          rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
> -
> -RUN wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
> -COPY stretch-llvm-8.list /etc/apt/sources.list.d/
> -
> -RUN apt-get update && \
> -    apt-get --quiet --yes install \
> -        clang-8 \
> -        lld-8 \
> -        && \
> -        apt-get autoremove -y && \
> -        apt-get clean && \
> -        rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 820cc0af83bd..3547aa419097 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -28,13 +28,6 @@
>      CXX: clang++
>      clang: y
>  
> -.clang-8-tmpl:
> -  variables: &clang-8
> -    CC: clang-8
> -    CXX: clang++-8
> -    LD: ld.lld-8
> -    clang: y
> -
>  .x86-64-build-tmpl:
>    <<: *build
>    variables:
> @@ -99,16 +92,6 @@
>    variables:
>      <<: *clang
>  
> -.clang-8-x86-64-build:
> -  extends: .x86-64-build
> -  variables:
> -    <<: *clang-8
> -
> -.clang-8-x86-64-build-debug:
> -  extends: .x86-64-build-debug
> -  variables:
> -    <<: *clang-8
> -
>  .clang-x86-32-build:
>    extends: .x86-32-build
>    variables:
> @@ -285,16 +268,6 @@ debian-stretch-clang-debug:
>    variables:
>      CONTAINER: debian:stretch
>  
> -debian-stretch-clang-8:
> -  extends: .clang-8-x86-64-build
> -  variables:
> -    CONTAINER: debian:stretch
> -
> -debian-stretch-clang-8-debug:
> -  extends: .clang-8-x86-64-build-debug
> -  variables:
> -    CONTAINER: debian:stretch
> -
>  debian-stretch-gcc:
>    extends: .gcc-x86-64-build
>    variables:
> -- 
> 2.30.2
> 


From xen-devel-bounces@lists.xenproject.org Fri Mar 24 21:45:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 21:45:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514462.796720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfpDS-0001mm-TF; Fri, 24 Mar 2023 21:44:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514462.796720; Fri, 24 Mar 2023 21:44: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 1pfpDS-0001mf-P6; Fri, 24 Mar 2023 21:44:54 +0000
Received: by outflank-mailman (input) for mailman id 514462;
 Fri, 24 Mar 2023 21:44: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfpDR-0001mX-Co
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 21:44:53 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1754ef46-ca8d-11ed-b464-930f4c7d94ae;
 Fri, 24 Mar 2023 22:44: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: 1754ef46-ca8d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679694287;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=hwqhceVCgJAHDmKYPj//gEgTAp3CMZ020MxdnHTp51Y=;
  b=XYqFRDstAgEU+ve7q3VUK/hUMkvqQ4qYbbIRnPNJVvMrgQoiw1HevLY/
   yPOexod4f+xXPsZgLxC0eHazmjU4BXB1ZVsKwae+igLinicUXwCiOKS2W
   TZVIOWbdBgRffEfgCNMhLP2tviL6V9zI9u91DnrpiNnnFph1L5XO1GWiF
   0=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 102189981
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:7ZVrhq/KfH1qMY4GJjuTDrUD/H6TJUtcMsCJ2f8bNWPcYEJGY0x3m
 mtLC2nQaKqDZTT8eY0nOdm19k5U7MDcmtVqT1E6pHg8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqoX5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklL2
 a1BCAopZSy8gvm44qiKeMV0huAKeZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGOkcUUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0MxhzB9
 jOXrz2R7hcyDv2DyT+50i2QherrvHriQtMVRZLn6as/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c/h6HvA+6QqN4rHJ+AvfDW8BJhZebPQ2uclwQiYlv
 mJlhPuwW2Yp6ufMDyvAqPHN92ja1TUpwXEqYANVFCs/x9Lfn4QogDDVf+RPCK6Rp4igcd3v+
 AxmvBTSlp1K05Faifvmpwuf696/jsOXF1Bov207Skrgt1okP9D9OuRE/HCBtZ59wJClok5tV
 ZTus+yX96gwAJ6Ej0Rhq81dTejyt55p3NAx6GOD/qXNFBz3oRZPhagKvFlDyL5Ba67ogwPBb
 k7Joh9275ROJnasZqIfS9vvVJV0nfO4TIW+D628gj9yjn9ZKme6ENxGPxbMjwgBbmB1+U3AB
 XtrWZn1VitLYUiW5DG3W/0cwdcW+8zK/kuKHcqT503+gdKjiIu9Fe9t3K2mMrpos8tpYWz9r
 75iCid940oBC7KkMnGOq+b+7zkidBAGOHw/kOQPHsbrH+asMD1xYxMN6dvNo7BYopk=
IronPort-HdrOrdr: A9a23:j5ehD64e89Enr83QPwPXwA/XdLJyesId70hD6qhwISYlFPBw9v
 rPoB1/73TJYVkqOU3I9erwXZVoIkmsjKKdg7NhRYtKNTOO0ATHEGgL1/qY/9SKIVybygcy79
 YGT4FOTPDLIBxdq+2S2mWF+tAbquWvweSTqd2b5VFLYiFFV5pJ0ideLUKgPnAefngkObMJUJ
 Wd48ZcpymtYx0sA/iTDGUeQu7Gq8bqufvdEHw7OyI=
X-IronPort-AV: E=Sophos;i="5.98,288,1673931600"; 
   d="scan'208";a="102189981"
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>, Sergey Dyasli
	<sergey.dyasli@citrix.com>
Subject: [PATCH] x86/ucode: Fix error paths control_thread_fn()
Date: Fri, 24 Mar 2023 21:44:30 +0000
Message-ID: <20230324214430.3277862-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

These two early exits skipped re-enabling the watchdog, and restoring the NMI
callback.  Always execute the tail of the function on the way out.

Fixes: 8dd4dfa92d62 ("x86/microcode: Synchronize late microcode loading")
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: Sergey Dyasli <sergey.dyasli@citrix.com>

Also, added in the same patch is:

   * Note that RDTSC (in wait_for_condition()) is safe for threads to
   * execute while waiting for completion of loading an update.

which is absolutely not true in the slightest.  RDTSC is all microcode, and
Intel's guidance on the matter right now is that LFENCE is about the only safe
instruction to execute in a wait loop.  Even PAUSE is explcitily prohibited...
---
 xen/arch/x86/cpu/microcode/core.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index cfa2d5053a52..61cd36d601d6 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -492,10 +492,7 @@ static int control_thread_fn(const struct microcode_patch *patch)
     ret = wait_for_condition(wait_cpu_callin, num_online_cpus(),
                              MICROCODE_CALLIN_TIMEOUT_US);
     if ( ret )
-    {
-        set_state(LOADING_EXIT);
-        return ret;
-    }
+        goto out;
 
     /* Control thread loads ucode first while others are in NMI handler. */
     ret = alternative_call(ucode_ops.apply_microcode, patch);
@@ -507,8 +504,7 @@ static int control_thread_fn(const struct microcode_patch *patch)
     {
         printk(XENLOG_ERR
                "Late loading aborted: CPU%u failed to update ucode\n", cpu);
-        set_state(LOADING_EXIT);
-        return ret;
+        goto out;
     }
 
     /* Let primary threads load the given ucode update */
@@ -539,6 +535,7 @@ static int control_thread_fn(const struct microcode_patch *patch)
         }
     }
 
+ out:
     /* Mark loading is done to unblock other threads */
     set_state(LOADING_EXIT);
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 22:09:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 22:09:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514469.796742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfpaW-0004uW-V0; Fri, 24 Mar 2023 22:08:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514469.796742; Fri, 24 Mar 2023 22:08:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfpaW-0004uP-QR; Fri, 24 Mar 2023 22:08:44 +0000
Received: by outflank-mailman (input) for mailman id 514469;
 Fri, 24 Mar 2023 22:08:43 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfpaV-0004uJ-5f
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 22:08:43 +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 6dd72415-ca90-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 23:08: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: 6dd72415-ca90-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679695720;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=GJUjm1x5LRvqL5EDLYrkqj21m5mZTtD0QpN/WYKinHo=;
  b=eq9LtYISNpqYExeUdfcqvcU7JSq0IuSCyr+f9zgcn2CZtorbLUcIlSTi
   mAtFV5KqKOKTPkOniU4tlWkfMIvZdouyWfUL1Pe9eOqTrsuwlH0y1AWPZ
   vKeA4FlfVzxpIoVDRFge3WfTQHiaUdHOGO8ZkvUYSpxB4BH5iLzNqGMJc
   g=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 104701282
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:05ABa6P4UPBTG6XvrR3Zl8FynXyQoLVcMsEvi/4bfWQNrUoigz0Cm
 2dLW2mFPv2JYGL3e412PNmz/R9Vv5fWytdiSAto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5ABmPpingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0sVxG0VL8
 +YGFG0iVhe52/ia7ey7QMA506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w2Nk+ojx5nYz/7DLoXmuuyi2a5WDpfsF+P/oI84nTJzRw327/oWDbQUoXSGZoNxxzI/
 Aoq+UzLHREnLt7OxACXzX2pgKzXsD/6dL0NQejQGvlC3wTImz175ActfUS/iem0jAi5Qd03A
 1wZ/G8ioLY/8GSvT8LhRFuorXicpBkeVtFMVeog52ml6IDZ/gKYDWgsVSNaZZots8peeNAx/
 gbXxZWzX2Up6eDLDyvHrd94sA9eJwA2K3UmYCkeUzdYzOHkmt0poj+RTtxKRfvdYsLOJd3g/
 9ybhHFg2ORN05NRjP3TEUPv2Gz1+MWQJuIhzkCOBz/+sFskDGKwT9bwgWU3+8qsO2pworOpm
 HEf0/aT4+kVZX1mvHzcGb5ddF1FChvsDdE9vbKMN8N7n9hV0yT/Fb28GRknTKuTDu4KeCXyf
 GjYsh5L6ZlYMROCNPEoMtzhUJxznPO5SLwJs8w4ifIQCqWdiSfdpH0+DaJu9zmFfLcQfVEXZ
 s7ALJfE4YcyAqV71jumL9ogPUsQ7nlmnwv7HMmrpylLJJLCPBZ5v59ZagrRBg34hYvYyDjoH
 yF3bZHbkEQECbCmP0E6M+c7dDg3EJTyPriuw+Q/SwJJClQO9L0JYxMJ/Y4cRg==
IronPort-HdrOrdr: A9a23:bV1R3qnxxq2pE0NBLIM0sW4gufTpDfLr3DAbv31ZSRFFG/Fxl6
 iV7ZImPH7P6Ar5PUtKpTnuAsi9qB/nhPtICOoqTM6ftWvdyROVxehZhOOMrQEIcxeOjdK1vp
 0QF5SWZueAamRSvILW2iT9NfAKqePqzEmvv43j5kYody1RL4tHyChYJDqhOnBXYi4DP7YFfa
 DshfZvln6ueXEadMSpCmNtZYX+jtfWjo/hZRIcJzNP0njtsQ+V
X-IronPort-AV: E=Sophos;i="5.98,289,1673931600"; 
   d="scan'208";a="104701282"
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/boot: Restrict directmap permissions for .text/.rodata
Date: Fri, 24 Mar 2023 22:08:24 +0000
Message-ID: <20230324220824.3279825-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

While we've been diligent to ensure that the main text/data/rodata mappings
have suitable restrictions, their aliases via the directmap were left fully
read/write.  Worse, we even had pieces of code making use of this as a
feature.

Restrict the permissions for .text/rodata, as we have no legitimate need for
writeability of these areas via the directmap alias.  Note that the
compile-time allocated pagetables do get written through their directmap
alias, so need to remain writeable.

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>

v2:
 * Update comments and commit message for clarity, and over changes.

Notes:
 * The stubs are still have RX via one alias, RW via another, and these need
   to stay.  We should harden this using PKS (available on SPR and later) to
   block incidental writes.
 * Backing memory for livepatch text/rodata needs similar treatment.
 * For backporting, this patch depends on c/s e7f147bf4ac7 ("x86/crash: Drop
   manual hooking of exception_table[]") and c/s e7db635f4428 ("x86/pv-shim:
   Don't modify the hypercall table").  No compile error will occur from
   getting these dependencies wrong.
---
 xen/arch/x86/setup.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 2b44a3ae26dd..b29229933d8c 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1667,6 +1667,16 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         destroy_xen_mappings((unsigned long)&__2M_rwdata_end,
                              ROUNDUP((unsigned long)&__2M_rwdata_end, MB(2)));
 
+    /*
+     * Mark all of .text and .rodata as RO in the directmap - we don't want
+     * these sections writeable via any alias.  The compile-time allocated
+     * pagetables are written via their directmap alias, so data/bss needs to
+     * remain writeable.
+     */
+    modify_xen_mappings((unsigned long)__va(__pa(_start)),
+                        (unsigned long)__va(__pa(__2M_rodata_end)),
+                        PAGE_HYPERVISOR_RO);
+
     nr_pages = 0;
     for ( i = 0; i < e820.nr_map; i++ )
         if ( e820.map[i].type == E820_RAM )
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 22:25:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 22:25:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514474.796758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfpqT-0007sa-Cp; Fri, 24 Mar 2023 22:25:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514474.796758; Fri, 24 Mar 2023 22: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 1pfpqT-0007sT-7j; Fri, 24 Mar 2023 22:25:13 +0000
Received: by outflank-mailman (input) for mailman id 514474;
 Fri, 24 Mar 2023 22:25: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=GJ5Y=7Q=citrix.com=prvs=4404309fd=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pfpqS-0007rc-8F
 for xen-devel@lists.xenproject.org; Fri, 24 Mar 2023 22:25:12 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb724ea8-ca92-11ed-85db-49a42c6b2330;
 Fri, 24 Mar 2023 23:25: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: bb724ea8-ca92-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679696709;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=JdsUPRyO9hKi+dT989li7QC+or0gXW+UxwEHUyBJBYs=;
  b=GApi9uc8r2+Kc1FKvMwX74lrhmje+qQQBWB2csYEqT2CQNUZRT2OXkvc
   Vtg353Ynt4jpsQWIaRhusj6LEr9Et6uZAugTCcCLg9hjiKHCd651BEjWC
   6xkkOCr8XWsxiXLO3jRK7FNXntOa6Pl9gct1YAWPnJ4mslUtvcOqoPsMo
   8=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 101652470
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:B12k5qxgCWmP91sgGLR6t+esxirEfRIJ4+MujC+fZmUNrF6WrkVRz
 DNLCGiDOPyJZTT1edgjbIy1oxsFu5OHnIIxTAY9/CAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6wT5zcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KUNh8
 Pw3cSpVUhqe2rq92rueSsV128t2eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKZOUYn1lQ/UfrSmM+BgHXlfiIeg1WSvactuEDYzRBr0airO93QEjCPbZwNxxjF/
 D6ZpwwVBDknH+Caij2drU6P2N3MoxvpUa0XJp6Bo6sCbFq7mTVIVUx+uUGAiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0QMFMGuc37AWMzKv84AuDAGUACDlbZ7QOttIyRDEs/
 k+EmZXuHzMHmIOSTXWR57KFtwSYMCIeLXIBTSIcRA5D6N7myKk5gwjTVN9lHOiwh8fsBDDr6
 zmQqW41gLB7pccP1r6n9FHdxTy2r57CTxUd+QncGGmi62tRbomvbZ2l8ljf4PNJKq6WS1CAu
 D4PnM32xOsJC5eKliCEXuQWNL6s7veBdjbbhDZHGJ0s9C+s+jigYJpX6zF9I29mN88FfXniZ
 0q7hO9KzMYNZj3wN/YxOt/vTZ1wlsAMCOgJSNj2Qd9OTcFrLDON4Xw2blSZ+mDBiRUjxPRX1
 YigTSq8MZoLIf05k2voGbpHiudDKjMWnj2KG82ip/iz+f/HPSPOF+9YWLebRrphhJ5otjk55
 Dq22yGi7xxEGNPzbSDMmWL4BQBbdCNrbXwaRiE+SwJiHuaFMDt7YxMp6el9E7GJZowM/gsyw
 lmzW1VD1H30jmDdJAOBZxhLMe2wDMgv9ipibHd1YD5EPkTPhq7xhJrzirNtJeV3nACd5acco
 wY5lzWoXa0UF2WvF8U1Zpjhto1yHCmWafa1F3P9OlAXJscwLzElD/e4JmMDAgFSVHvo3Sb/y
 pX8vj7mrW0rHV4zV5eNMa/3kjtcfxE1wYpPYqcBGfELEG2EzWSgA3WZYiMfSy3UFSj++w==
IronPort-HdrOrdr: A9a23:X9OYbqx76WCmu7oB35OLKrPwFL1zdoMgy1knxilNoEpuA6ilfq
 eV/MjztCWUtN9/YhkdcLy7U5VoIkmzyXcW2+Us1OyZLWzbUQKTRb2Ki7GJ/9SKIULDH4BmuJ
 uJ3MJFebrN5fQRt7eY3OEYeexQouW6zA==
X-IronPort-AV: E=Sophos;i="5.98,289,1673931600"; 
   d="scan'208";a="101652470"
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>,
	Bob Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
	<alistair.francis@wdc.com>, Connor Davis <connojdavis@gmail.com>, "Oleksii
 Kurochko" <oleksii.kurochko@gmail.com>
Subject: [PATCH] ARM+RISC-V: BSS handling improvements
Date: Fri, 24 Mar 2023 22:24:51 +0000
Message-ID: <20230324222451.3295023-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

 * Correct comments in arm{32,64}/head.S
 * Provide Linker assertions to check the safety of the zeroing loops

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: Bob Eshleman <bobbyeshleman@gmail.com>
CC: Alistair Francis <alistair.francis@wdc.com>
CC: Connor Davis <connojdavis@gmail.com>
CC: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Pulled out of the very start of my work to try and unify the handling of
xen_phys_addr across architectures.
---
 xen/arch/arm/arm32/head.S | 2 +-
 xen/arch/arm/arm64/head.S | 2 +-
 xen/arch/arm/xen.lds.S    | 2 ++
 xen/arch/riscv/xen.lds.S  | 4 ++++
 4 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index df51550baa8a..f9f7be9588b1 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -301,7 +301,7 @@ ENDPROC(check_cpu_mode)
 zero_bss:
         PRINT("- Zero BSS -\r\n")
         mov_w r0, __bss_start        /* r0 := vaddr(__bss_start) */
-        mov_w r1, __bss_end          /* r1 := vaddr(__bss_start) */
+        mov_w r1, __bss_end          /* r1 := vaddr(__bss_end)   */
 
         mov   r2, #0
 1:      str   r2, [r0], #4
diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 4a3f87117c83..8a4dd64c99ad 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -437,7 +437,7 @@ zero_bss:
 
         PRINT("- Zero BSS -\r\n")
         ldr   x0, =__bss_start       /* x0 := vaddr(__bss_start) */
-        ldr   x1, =__bss_end         /* x1 := vaddr(__bss_start) */
+        ldr   x1, =__bss_end         /* x1 := vaddr(__bss_end)   */
 
 1:      str   xzr, [x0], #8
         cmp   x0, x1
diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index 1b392345bc3b..6ca3caefe607 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -240,3 +240,5 @@ ASSERT(_idmap_end - _idmap_start <= PAGE_SIZE, "Identity mapped code is larger t
  */
 ASSERT(IS_ALIGNED(__init_begin,     4), "__init_begin is misaligned")
 ASSERT(IS_ALIGNED(__init_end,       4), "__init_end is misaligned")
+ASSERT(IS_ALIGNED(__bss_start,      POINTER_ALIGN), "__bss_start is misaligned")
+ASSERT(IS_ALIGNED(__bss_end,        POINTER_ALIGN), "__bss_end is misaligned")
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index ca57cce75cba..2ed70eccc62a 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -1,3 +1,4 @@
+#include <xen/lib.h>
 #include <xen/xen.lds.h>
 
 #undef ENTRY
@@ -156,3 +157,6 @@ SECTIONS
 
     ELF_DETAILS_SECTIONS
 }
+
+ASSERT(IS_ALIGNED(__bss_start,      POINTER_ALIGN), "__bss_start is misaligned")
+ASSERT(IS_ALIGNED(__bss_end,        POINTER_ALIGN), "__bss_end is misaligned")
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 22:28:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 22:28:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514479.796767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfptG-0008W1-TE; Fri, 24 Mar 2023 22:28:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514479.796767; Fri, 24 Mar 2023 22: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 1pfptG-0008Vu-Q0; Fri, 24 Mar 2023 22:28:06 +0000
Received: by outflank-mailman (input) for mailman id 514479;
 Fri, 24 Mar 2023 22:28:06 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfptG-0008Vk-Bc; Fri, 24 Mar 2023 22:28: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 1pfptG-00070x-73; Fri, 24 Mar 2023 22:28: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 1pfptF-0006Ra-UR; Fri, 24 Mar 2023 22:28:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfptF-0004HF-Tz; Fri, 24 Mar 2023 22:28:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Message-Id:Subject:To;
	bh=fhpWf/3AUM9bIdjs+f36Jbo3UPDCjxHvm4JLEV6nSSw=; b=b1jTlUGE3OCTJ5dWwkR1SnhyxS
	x01c4uMPmNy1fBFggUekYGAgMRx9Q1/Cocf1K44gUvR3ecam7azuC+e3zT7sVHsvHx6/qPpjwgkfy
	6klraeeAZx7sQJtsxy8lAaGXyhRopM0aT41hWz9t3daJfULu2mDJaQXj5+99+40mj2ek=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable-smoke bisection] complete build-amd64
Message-Id: <E1pfptF-0004HF-Tz@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Mar 2023 22:28:05 +0000

branch xen-unstable-smoke
xenbranch xen-unstable-smoke
job build-amd64
testid xen-build

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:  e1d75084443f676be681fdaf47585cc9a5f5b820
  Bug not present: eb23eef476bf44f933fcff42e55119473a1d6e19
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/179945/


  commit e1d75084443f676be681fdaf47585cc9a5f5b820
  Author: Demi Marie Obenour <demi@invisiblethingslab.com>
  Date:   Tue Mar 21 13:33:36 2023 -0400
  
      build: Change remaining xenbits.xen.org link to HTTPS
      
      Obtaining code over an insecure transport is a terrible idea for
      blatently obvious reasons.  Even for non-executable data, insecure
      transports are considered deprecated.
      
      This patch enforces the use of secure transports for all xenbits.xen.org
      URLs.  All altered links have been tested and are known to work.
      
      Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
      Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable-smoke/build-amd64.xen-build.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/xen-unstable-smoke/build-amd64.xen-build --summary-out=tmp/179945.bisection-summary --basis-template=179926 --blessings=real,real-bisect,real-retry xen-unstable-smoke build-amd64 xen-build
Searching for failure / basis pass:
 179931 fail [host=himrod2] / 179926 ok.
Failure / basis pass flights: 179931 / 179926
(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 625eb5e96dc96aa7fddef59a08edae215527f19c 054acfc4443cda51bc000c2e3ba08d9fd1bd77f1
Basis pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c 715b92ba30f792e326bdd37b5a4969da9c5d4a6c
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#625eb5e96dc96aa7fddef59a08edae215527f19c-625eb5e96dc96aa7fddef59a08edae215527f19c git://xenbits.xen.org/xen.git#715b92ba30f792e326bdd37b5a4969da9c5d4a6c-054acfc4443cda51bc000c2e3ba08d9fd1bd77f1
Loaded 5001 nodes in revision graph
Searching for test results:
 179926 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c 715b92ba30f792e326bdd37b5a4969da9c5d4a6c
 179929 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c 054acfc4443cda51bc000c2e3ba08d9fd1bd77f1
 179932 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c 715b92ba30f792e326bdd37b5a4969da9c5d4a6c
 179934 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c 054acfc4443cda51bc000c2e3ba08d9fd1bd77f1
 179935 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c 79493f2b33eeeccc78db25435181a03f5c46b3e6
 179936 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c e1d75084443f676be681fdaf47585cc9a5f5b820
 179931 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c 054acfc4443cda51bc000c2e3ba08d9fd1bd77f1
 179937 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c eb23eef476bf44f933fcff42e55119473a1d6e19
 179939 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c e1d75084443f676be681fdaf47585cc9a5f5b820
 179941 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c eb23eef476bf44f933fcff42e55119473a1d6e19
 179942 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c e1d75084443f676be681fdaf47585cc9a5f5b820
 179944 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c eb23eef476bf44f933fcff42e55119473a1d6e19
 179945 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c e1d75084443f676be681fdaf47585cc9a5f5b820
Searching for interesting versions
 Result found: flight 179926 (pass), for basis pass
 For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c eb23eef476bf44f933fcff42e55119473a1d6e19, results HASH(0x55d01057b648) HASH(0x55d00f2f2d70) HASH(0x55d0105888c8) For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c 79493f2b33eeeccc78db25435181a03f5c46b3e6, results HASH(0x55d010082898) For basis failure, parent search stopping at 3d273dd05e51e5a1\
 ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c 715b92ba30f792e326bdd37b5a4969da9c5d4a6c, results HASH(0x55d01056e848) HASH(0x55d010577c38) Result found: flight 179929 (fail), for basis failure (at ancestor ~1253)
 Repro found: flight 179932 (pass), for basis pass
 Repro found: flight 179934 (fail), for basis failure
 0 revisions at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 625eb5e96dc96aa7fddef59a08edae215527f19c eb23eef476bf44f933fcff42e55119473a1d6e19
No revisions left to test, checking graph state.
 Result found: flight 179937 (pass), for last pass
 Result found: flight 179939 (fail), for first failure
 Repro found: flight 179941 (pass), for last pass
 Repro found: flight 179942 (fail), for first failure
 Repro found: flight 179944 (pass), for last pass
 Repro found: flight 179945 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  e1d75084443f676be681fdaf47585cc9a5f5b820
  Bug not present: eb23eef476bf44f933fcff42e55119473a1d6e19
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/179945/


  commit e1d75084443f676be681fdaf47585cc9a5f5b820
  Author: Demi Marie Obenour <demi@invisiblethingslab.com>
  Date:   Tue Mar 21 13:33:36 2023 -0400
  
      build: Change remaining xenbits.xen.org link to HTTPS
      
      Obtaining code over an insecure transport is a terrible idea for
      blatently obvious reasons.  Even for non-executable data, insecure
      transports are considered deprecated.
      
      This patch enforces the use of secure transports for all xenbits.xen.org
      URLs.  All altered links have been tested and are known to work.
      
      Signed-off-by: Demi Marie Obenour <demi@invisiblethingslab.com>
      Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Revision graph left in /home/logs/results/bisect/xen-unstable-smoke/build-amd64.xen-build.{dot,ps,png,html,svg}.
----------------------------------------
179945: tolerable ALL FAIL

flight 179945 xen-unstable-smoke real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/179945/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-amd64                   6 xen-build               fail baseline untested


jobs:
 build-amd64                                                  fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Fri Mar 24 22:43:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Mar 2023 22:43:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514484.796777 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfq81-00031c-6i; Fri, 24 Mar 2023 22:43:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514484.796777; Fri, 24 Mar 2023 22:43: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 1pfq81-00031V-4A; Fri, 24 Mar 2023 22:43:21 +0000
Received: by outflank-mailman (input) for mailman id 514484;
 Fri, 24 Mar 2023 22:43: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 1pfq7z-00031L-M9; Fri, 24 Mar 2023 22:43: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 1pfq7z-0007Q6-KE; Fri, 24 Mar 2023 22:43: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 1pfq7z-0006oO-9d; Fri, 24 Mar 2023 22:43:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfq7z-0008SW-9C; Fri, 24 Mar 2023 22: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=j5Z/WxXQHzc3XnbG0wWF4h2oEEK+V+vnOTOmOP6Txeo=; b=CpTmE1MxLf47mfd146F50Iz4X8
	9LCilV5xm0f+Wx+bax9brWvA5+GGJuXGJPbEPp9VSQ0LVkgoOkvkaIQm6B/QB6AFXQx9IKQ4rlSgY
	P5pI4Vh/NOr6tNZlWIjtu29GLvQQUaQBO3eMvum2846GBbyAQWeh3zkpab6D2MNGJcIs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179940-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179940: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b5cc3c25a242ddb9c5b108884061b17f35c3084b
X-Osstest-Versions-That:
    xen=715b92ba30f792e326bdd37b5a4969da9c5d4a6c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Mar 2023 22:43:19 +0000

flight 179940 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179940/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b5cc3c25a242ddb9c5b108884061b17f35c3084b
baseline version:
 xen                  715b92ba30f792e326bdd37b5a4969da9c5d4a6c

Last test of basis   179926  2023-03-24 14:01:58 Z    0 days
Failing since        179929  2023-03-24 17:00:25 Z    0 days    3 attempts
Testing same since   179940  2023-03-24 21:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   715b92ba30..b5cc3c25a2  b5cc3c25a242ddb9c5b108884061b17f35c3084b -> smoke


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 00:44:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 00:44:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514495.796800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfs0c-0001xR-TR; Sat, 25 Mar 2023 00:43:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514495.796800; Sat, 25 Mar 2023 00:43: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 1pfs0c-0001xK-Pn; Sat, 25 Mar 2023 00:43:50 +0000
Received: by outflank-mailman (input) for mailman id 514495;
 Sat, 25 Mar 2023 00:43: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 1pfs0a-0001xA-O3; Sat, 25 Mar 2023 00:43: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 1pfs0a-0002Hx-JM; Sat, 25 Mar 2023 00:43: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 1pfs0a-0001C7-6E; Sat, 25 Mar 2023 00:43:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfs0a-00044p-5p; Sat, 25 Mar 2023 00:43: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=t/2z3YBNv+dlKzBpFpZAmw8SIDykN63jiJJOALYI1Kc=; b=5ay+5ktGLW1MMOgoahqKA17vcX
	4KRm9beBhFBJbunmNW7z+oL6Znv9IdqHRVSMEeMCLOkJL1KJ0IeVwg+/cThQFSCAOqUp8wlLdnnX0
	NXJVPtj6RZ/3XDUwbXC+wSUB7/2D7GZnz2uHu05VoIx5RsPUUaQDhCySBkYorod7qOpY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179904-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179904: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl:xen-install:fail:regression
    xen-unstable:test-amd64-i386-libvirt-pair:xen-install/src_host:fail:regression
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:debian-hvm-install: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=95b757598f699bcb37f7d1fa60faa0ccd0d55c77
X-Osstest-Versions-That:
    xen=245d030f4aa79f766e575684127f86748c63bb32
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Mar 2023 00:43:48 +0000

flight 179904 xen-unstable real [real]
flight 179949 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179904/
http://logs.test-lab.xenproject.org/osstest/logs/179949/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-i386-xl            7 xen-install              fail REGR. vs. 179853
 test-amd64-i386-libvirt-pair 10 xen-install/src_host     fail REGR. vs. 179853

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 179949-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179853
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179853
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179853
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179853
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179853
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179853
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179853
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179853
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179853
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-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-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  95b757598f699bcb37f7d1fa60faa0ccd0d55c77
baseline version:
 xen                  245d030f4aa79f766e575684127f86748c63bb32

Last test of basis   179853  2023-03-21 22:12:49 Z    3 days
Failing since        179882  2023-03-23 03:10:34 Z    1 days    2 attempts
Testing same since   179904  2023-03-23 17:39:36 Z    1 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> # tools/python/xen/lowlevel/xc/xc.c

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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           fail    
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 95b757598f699bcb37f7d1fa60faa0ccd0d55c77
Author: Juergen Gross <jgross@suse.com>
Date:   Thu Mar 23 09:18:26 2023 +0100

    tools/xl: rework p9 config parsing
    
    Rework the config parsing of a p9 device to use the
    split_string_into_pair() function instead of open coding it.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
    Acked-by: Anthony PERARD <anthony.perard@citrix.com>

commit 4bad14a133aa0c817a90a13c4e86531a7290deea
Author: Juergen Gross <jgross@suse.com>
Date:   Thu Mar 23 09:18:12 2023 +0100

    tools/xl: make split_string_into_pair() more usable
    
    Today split_string_into_pair() will not really do what its name is
    suggesting: instead of splitting a string into a pair of strings using
    a delimiter, it will return the first two strings of the initial string
    by using the delimiter.
    
    This is never what the callers want, so modify split_string_into_pair()
    to split the string only at the first delimiter found, resulting in
    something like "x=a=b" to be split into "x" and "a=b" when being called
    with "=" as the delimiter. Today the returned strings would be "x" and
    "a".
    
    At the same time switch the delimiter from "const char *" (allowing
    multiple delimiter characters) to "char" (a single character only), as
    this makes the function more simple without breaking any use cases.
    
    Suggested-by: Anthony PERARD <anthony.perard@citrix.com>
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
    Acked-by: Anthony PERARD <anthony.perard@citrix.com>

commit 4fe3c78d8103eac0a8d9fa4c8176d012614652d0
Author: Juergen Gross <jgross@suse.com>
Date:   Thu Mar 23 09:17:57 2023 +0100

    tools: use libxenlight for writing xenstore-stubdom console nodes
    
    Instead of duplicating libxl__device_console_add() work in
    init-xenstore-domain.c, just use libxenlight.
    
    This requires to add a small wrapper function to libxenlight, as
    libxl__device_console_add() is an internal function.
    
    This at once removes a theoretical race between starting xenconsoled
    and xenstore-stubdom, as the old code wasn't using a single
    transaction for writing all the entries, leading to the possibility
    that xenconsoled would see only some of the entries being written.
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

commit 49de6749baa8d0addc3048defd4ef3e85cb135e9
Author: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Date:   Thu Mar 23 09:16:41 2023 +0100

    VT-d: fix iommu=no-igfx if the IOMMU scope contains fake device(s)
    
    If the scope for IGD's IOMMU contains additional device that doesn't
    actually exist, iommu=no-igfx would not disable that IOMMU. In this
    particular case (Thinkpad x230) it included 00:02.1, but there is no
    such device on this platform. Consider only existing devices for the
    "gfx only" check as well as the establishing of IGD DRHD address
    (underlying is_igd_drhd(), which is used to determine applicability of
    two workarounds).
    
    Fixes: 2d7f191b392e ("VT-d: generalize and correct "iommu=no-igfx" handling")
    Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Kevin Tian <kevin.tian@intel.com>

commit eee0d79134cffe605e49d240c985bc571d4bacca
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Mar 22 10:00:09 2023 +0100

    tools/xl: allow split_string_into_pair() to trim values
    
    Most use cases of split_string_into_pair() are requiring the returned
    strings to be white space trimmed.
    
    In order to avoid the same code pattern multiple times, add a predicate
    parameter to split_string_into_pair() which can be specified to call
    trim() with that predicate for the string pair returned. Specifying
    NULL for the predicate will avoid the call of trim().
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
    Acked-by: Anthony PERARD <anthony.perard@citrix.com>

commit 7fa8b6cda90c4cade2cfda098fd73e091ad776d3
Author: Jan Beulich <jbeulich@suse.com>
Date:   Wed Mar 22 09:58:25 2023 +0100

    move {,vcpu_}show_execution_state() declarations to common header
    
    These are used from common code, so their signatures should be
    consistent across architectures. This is achieved / guaranteed easiest
    when their declarations are in a common header.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Julien Grall <jgrall@amazon.com>

commit 5b18843067278ba972a695ac7edca1dd21bcd01b
Author: Juergen Gross <jgross@suse.com>
Date:   Wed Mar 22 09:57:19 2023 +0100

    tools: rename xen-tools/libs.h file to common-macros.h
    
    In order to better reflect the contents of the header and to make it
    more appropriate to use it for different runtime environments like
    programs, libraries, and firmware, rename the libs.h include file to
    common-macros.h. Additionally add a comment pointing out the need to be
    self-contained.
    
    Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Signed-off-by: Juergen Gross <jgross@suse.com>
    Acked-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> # tools/python/xen/lowlevel/xc/xc.c
    Acked-by: Christian Lindig <christian.lindig@cloud.com>
    Acked-by: Anthony PERARD <anthony.perard@citrix.com>
    Acked-by: Jan Beulich <jbeulich@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 01:16:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 01:16:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514504.796815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfsVt-0004W6-Lo; Sat, 25 Mar 2023 01:16:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514504.796815; Sat, 25 Mar 2023 01: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 1pfsVt-0004Vz-JA; Sat, 25 Mar 2023 01:16:09 +0000
Received: by outflank-mailman (input) for mailman id 514504;
 Sat, 25 Mar 2023 01:16: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 1pfsVs-0004Vp-KW; Sat, 25 Mar 2023 01:16: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 1pfsVs-0001V5-GB; Sat, 25 Mar 2023 01:16:08 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfsVs-0001xg-2g; Sat, 25 Mar 2023 01:16:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfsVs-0006C5-2J; Sat, 25 Mar 2023 01:16:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NMhYjC7SSVeiUKLycFuWj7SORuRta0SbVs51Qd9q3SY=; b=CIX7B5jhRL864NZp2Pk/yfTYP8
	/wRSVfcydUywIK5eGs31fJKTuCS/76SpcF+j67pcqpwIRHffCg+ZNKUZkjQWPjmYbpALMkyRQtW7x
	EKDWCOuJ2c9+q6E/NyTDoWg7ZyfZzfPNrfaAKRA5lWXOfPuBBnyaL+atwTmjh3Gy8AOs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179947-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 179947: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
X-Osstest-Versions-That:
    xen=b5cc3c25a242ddb9c5b108884061b17f35c3084b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Mar 2023 01:16:08 +0000

flight 179947 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179947/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
baseline version:
 xen                  b5cc3c25a242ddb9c5b108884061b17f35c3084b

Last test of basis   179940  2023-03-24 21:00:25 Z    0 days
Testing same since   179947  2023-03-24 23:00:25 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                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   b5cc3c25a2..b1f11273d5  b1f11273d5a774cc88a3685c96c2e7cf6385e3b6 -> smoke


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 02:10:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 02:10:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514512.796835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pftLy-0003eU-Nz; Sat, 25 Mar 2023 02:09:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514512.796835; Sat, 25 Mar 2023 02:09:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pftLy-0003eN-Io; Sat, 25 Mar 2023 02:09:58 +0000
Received: by outflank-mailman (input) for mailman id 514512;
 Sat, 25 Mar 2023 02:09:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pftLx-0003eD-Fm; Sat, 25 Mar 2023 02:09:57 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pftLx-0003Fp-Dn; Sat, 25 Mar 2023 02:09:57 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pftLx-0003am-28; Sat, 25 Mar 2023 02:09:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pftLx-0008Hk-1i; Sat, 25 Mar 2023 02:09:57 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=CqN0Gb/gtYl1HfNCn548ICwYzLfN6J3sSMjQfbV6KPc=; b=L5yndmgDaUZsNl8Pwp2w3vXlmL
	bcnrkUOQOpeBEbpBjPmTFcslhdgtu85jBnjGsvoP9wxw3/B0A9RpvbahBHNkhEnVmCjFQr7Aj6HtJ
	2eUYLeov+gyyeQD0pDD7OZDpFrLE77w08Q0+QThXc6rhl0euoTPzyfvCnnSsfKHXJQkM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179950-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179950: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=f6bd3286edfbe5eb6b50946cc8bb89e5c60b9388
X-Osstest-Versions-That:
    ovmf=1f26a9e62e0d7d930b8c260c58b16cb9fb1cc940
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Mar 2023 02:09:57 +0000

flight 179950 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179950/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 f6bd3286edfbe5eb6b50946cc8bb89e5c60b9388
baseline version:
 ovmf                 1f26a9e62e0d7d930b8c260c58b16cb9fb1cc940

Last test of basis   179927  2023-03-24 15:10:43 Z    0 days
Testing same since   179950  2023-03-25 00:10:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Chasel Chiu <chasel.chiu@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
   1f26a9e62e..f6bd3286ed  f6bd3286edfbe5eb6b50946cc8bb89e5c60b9388 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 02:49:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 02:49:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514517.796844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pftya-0000bw-JC; Sat, 25 Mar 2023 02:49:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514517.796844; Sat, 25 Mar 2023 02:49:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pftya-0000bp-G0; Sat, 25 Mar 2023 02:49:52 +0000
Received: by outflank-mailman (input) for mailman id 514517;
 Sat, 25 Mar 2023 02: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=SnWc=7R=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pftyZ-0000bj-9C
 for xen-devel@lists.xenproject.org; Sat, 25 Mar 2023 02:49:51 +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 b3ef1c2d-cab7-11ed-b464-930f4c7d94ae;
 Sat, 25 Mar 2023 03:49:48 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 76C39320093C;
 Fri, 24 Mar 2023 22:49:44 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Fri, 24 Mar 2023 22:49:45 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 24 Mar 2023 22:49:42 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3ef1c2d-cab7-11ed-b464-930f4c7d94ae
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=fm2; t=1679712584; x=1679798984; bh=joFi90XdDmKTY5YmFubF7MD/2
	V9iCbVRiW8Q7hMfwlc=; b=b5VU8DgSJQNTaBIfn3dlpIhJ65UHCnAav/uff34a7
	uOORWdBj8i57zOQtUTq2sQYIhSxX9hyPWAFEB55FkieN20mX6dBvRjSJnu7BNw26
	foEg1JXF9pTWCxpXfVfQ4ixb7uPDq5bnsnAtWMp71tTlvVZgSIeeTMU4WUSanQ1N
	oGHOzObL7Ej/lWC6zBwm/y0P098KxVKHgRSE3fveXvRAohoOMUZHA7fy6dfo0Wjh
	bB+OmmeXygB8OPZQNS9crpQAhZPTjg1fu1vd/DOVlkw+CRbsceI9tFYrSBblqMOR
	ly3nzw/cYO9AD5bBIpZiW/08eE08AAjndeMezf0PehaoA==
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=fm2; t=1679712584; x=1679798984; bh=j
	oFi90XdDmKTY5YmFubF7MD/2V9iCbVRiW8Q7hMfwlc=; b=Xr0C8oR+CyjrHdpdi
	ovzWPzGiZfcLYzfVlAxDoSXvGNIyRTQjdwkHqTQeDMR93+OP1M8QdpvV7oVn6OOB
	HMrbNkEsCI+w5bm3SmtaSotCOVPDuoBTZ8SG0J/26qnjfUf4HIYXiYGeGN48+yPE
	+edglj/yuWjMHyLv/aDvqy6xnMQEukmTHMOLQX0pNnhQQz7FJWP+F0tuzb0V8PNg
	kvzux/Mr4T6cTfcrSpL18e5jQxQ5IUwUB9HdiX9qHFj/ADkjEEWiJZBfdiirMX9h
	W4UvtvzHEIBwXS5ljBHRrZ8nRpxK6KRk+LFADH2DxSpDcxZqejMqA7Fb1Te/QHyS
	/KC+w==
X-ME-Sender: <xms:R2EeZP36aiTk_GJ2NGH_hKnBzr0WBErj1mDoo-Q5IJzuXHaNNBUGlA>
    <xme:R2EeZOFHPq7SXDufToyXZy1QkQ9SYX9ft8L5F7AKeyp5V5cWmSApEBjPrl_TGboqP
    KXb4_QTIA7X5g>
X-ME-Received: <xmr:R2EeZP4Y5X2xovX5kDj6KIfAbuPaUM3j33p9fysqHjUKQIyl6-S0UgQKGHaO3eE9m9OodCOp1Rn5pwd91t3gvWxr8OIhWAPnuUWRer-DXRazMQKZzYcK>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegjedghedvucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofggtgfgsehtkeertdertdejnecuhfhrohhmpeforghrvghk
    ucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesihhnvh
    hishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeelkefh
    udelteelleelteetveeffeetffekteetjeehlefggeekleeghefhtdehvdenucevlhhush
    htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhes
    ihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:R2EeZE1ECwKMuaUjhkjEhsHSmgo8qUVe_vbZXpeN1vrEwYWY8n6Eng>
    <xmx:R2EeZCEHaff0OYDW-FnmoEUMLPugvpppCf7OvlOqDRkig2RsWm3uVg>
    <xmx:R2EeZF9LcmX-KTA-HO-4dd-eLTS30lk2PUfcaoowvWBvtVH7CdsJvQ>
    <xmx:SGEeZOiXuhwWgB23CsvCVjh7Phv119PPovPtRZC5SR0etYfBqf3OOA>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	=?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 v2 1/3] x86/msi: passthrough all MSI-X vector ctrl writes to device model
Date: Sat, 25 Mar 2023 03:49:22 +0100
Message-Id: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
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. This does include forwarding also writes
that did not change the value, but as tested on both Linux (6.1.12) and
Windows (10 pro), they don't do excessive writes of unchanged values
(Windows seems to clear maskbit in some cases twice, but not more).

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
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

This behavior change needs to be surfaced to the device model somehow,
so it knows whether it can rely on it. I'm open for suggestions.
---
 xen/arch/x86/hvm/vmsi.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 3cd4923060c8..9c82bf9b4ec2 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -272,6 +272,15 @@ out:
     return r;
 }
 
+/*
+ * 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).
+ * len==0 means really len==4, but as a write completion that will return
+ * X86EMUL_OKAY on successful processing. Use WRITE_LEN4_COMPLETION to make it
+ * less confusing.
+ */
+#define WRITE_LEN4_COMPLETION 0
 static int msixtbl_write(struct vcpu *v, unsigned long address,
                          unsigned int len, unsigned long val)
 {
@@ -283,9 +292,6 @@ 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;
-
     rcu_read_lock(&msixtbl_rcu_lock);
 
     entry = msixtbl_find_entry(v, address);
@@ -345,7 +351,7 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
 
 unlock:
     spin_unlock_irqrestore(&desc->lock, flags);
-    if ( len == 4 )
+    if ( len == WRITE_LEN4_COMPLETION )
         r = X86EMUL_OKAY;
 
 out:
@@ -357,6 +363,9 @@ static int cf_check _msixtbl_write(
     const struct hvm_io_handler *handler, uint64_t address, uint32_t len,
     uint64_t val)
 {
+    if ( (len != 4 && len != 8) || (address & (len - 1)) )
+        return X86EMUL_UNHANDLEABLE;
+
     return msixtbl_write(current, address, len, val);
 }
 
@@ -635,7 +644,7 @@ void msix_write_completion(struct vcpu *v)
         return;
 
     v->arch.hvm.hvm_io.msix_unmask_address = 0;
-    if ( msixtbl_write(v, ctrl_address, 4, 0) != X86EMUL_OKAY )
+    if ( msixtbl_write(v, ctrl_address, WRITE_LEN4_COMPLETION, 0) != X86EMUL_OKAY )
         gdprintk(XENLOG_WARNING, "MSI-X write completion failure\n");
 }
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sat Mar 25 02:49:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 02:49:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514518.796854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pftye-0000rK-QM; Sat, 25 Mar 2023 02:49:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514518.796854; Sat, 25 Mar 2023 02: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 1pftye-0000rD-Ng; Sat, 25 Mar 2023 02:49:56 +0000
Received: by outflank-mailman (input) for mailman id 514518;
 Sat, 25 Mar 2023 02:49: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=SnWc=7R=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pftyd-0000qg-Jj
 for xen-devel@lists.xenproject.org; Sat, 25 Mar 2023 02:49:55 +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 b6a6e6dd-cab7-11ed-85db-49a42c6b2330;
 Sat, 25 Mar 2023 03:49:53 +0100 (CET)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.west.internal (Postfix) with ESMTP id 39B34320095F;
 Fri, 24 Mar 2023 22:49:50 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Fri, 24 Mar 2023 22:49:50 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 24 Mar 2023 22:49:48 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6a6e6dd-cab7-11ed-85db-49a42c6b2330
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=fm2; t=1679712589; x=1679798989; bh=8o
	ti41qbePZhuAMpffOpGT2bFix/gpX6jTEVpChiMLk=; b=kth/QkpBw1MqpUUOey
	wldlZVgNVNOwPD+5x7ykdLM47i1Aa3Bowg1oAXgdffGU3aVmQl/rKp+Xjgxp5U50
	ypIqdmAJs5+UFlm+vCfMGMp0JFFSqvnatCYsIGlGVF6AQV5mtJDyPGBRPefIzJ5h
	VviJIpdpP+7DJiQVYl2eku43P5aCbNPS/eIVWnjidQZV/+6woNYnqqkEahRAfJZZ
	2IweeDnoiGX1LUS5Xr2fuRifro8OHpr3CutJ0yTGuETmmkyAimb0/4Yx08GAx7NZ
	m388F2DQBzxKkbmckmMVsVXtiw98rtmEcwxXqQ9txE3URzgTq3H8poh9Lm7s1+ZD
	qo+Q==
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=fm2; t=
	1679712589; x=1679798989; bh=8oti41qbePZhuAMpffOpGT2bFix/gpX6jTE
	VpChiMLk=; b=GZcwEOc2Pe2SXnPnXmHWBwbsGsURgMzlae6em4O/MLXT+KSkq9C
	u0csQZEySVt76c7v8a6cpc37xNVhR1rV9kFHJVAoMlCsD6sAdYOY7M6NERV9hpsr
	PQHib5Q5a9lkz+kSRV0fGXAO4aSs8Q5xiWlXKRjbwqgsXVRmM5Vt3HNf1p5WqAkg
	qDqn8fTh8I1xfoxkmHPWaCe+YccfEvhb9WQwOG0tD1yvwsjXk9iNN5vCJ+v2Po9f
	D+IebUwlsK4tszYiO/iPnHP6C6IVQyinVnoCtdXcIKE7zFVjcs2AlioO7q57xVH5
	l4h8IhWpejB6ehlnMoq94lMCe2hblp//BIA==
X-ME-Sender: <xms:TWEeZAWQfdbWymhi0PDaIria3IwMU1TdxQJ6GnxLCGwQGWgbD2u-uA>
    <xme:TWEeZEnsbIVk4v_C7KdozhFkmDjZf9mHL9Sk7neEh92Cc-uJSxCN9heHYQVvwkGYV
    D3k81x_ZmpL8A>
X-ME-Received: <xmr:TWEeZEaJVsSaI7MsNKXCMMc6r2-7n_U3fMDzLaS86B6weg-c-LDdHSKjikiREZqzgIyy71mF8VWuwhYUvzK8cinVFP0Lpv9UhpIq9hXWvwVo2C9WW7au>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegjedgheduucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:TWEeZPXCmN0WXg37_97KA_MrfICs3QOyusrSlZQzo2QjHZxMkSfTtw>
    <xmx:TWEeZKnkUgW3z8_4wq3WudMkSrbAFPgat4UfCFQs1eQVSrbvcLpp8Q>
    <xmx:TWEeZEfObZhXz1kK4Am8EPlENfMfCHnRt_-EGHvhS0uT4njPnMVL8Q>
    <xmx:TWEeZMgVMagkO9wws1tUGA3zWWoibE9EdLvhjc09EC32ml2V_74I-w>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
Date: Sat, 25 Mar 2023 03:49:24 +0100
Message-Id: <20230325024924.882883-3-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Some firmware/devices are found to not reset MSI-X properly, leaving
MASKALL set. Xen relies on initial state being both disabled.
Especially, pci_reset_msix_state() assumes if MASKALL is set, it was Xen
setting it due to msix->host_maskall or msix->guest_maskall. Clearing
just MASKALL might be unsafe if ENABLE is set, so clear them both.

Reported-by: Jason Andryuk <jandryuk@gmail.com>
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
v2:
 - new patch
---
 xen/drivers/passthrough/msi.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/xen/drivers/passthrough/msi.c b/xen/drivers/passthrough/msi.c
index ce1a450f6f4a..60adad47e379 100644
--- a/xen/drivers/passthrough/msi.c
+++ b/xen/drivers/passthrough/msi.c
@@ -48,6 +48,13 @@ int pdev_msi_init(struct pci_dev *pdev)
         ctrl = pci_conf_read16(pdev->sbdf, msix_control_reg(pos));
         msix->nr_entries = msix_table_size(ctrl);
 
+        /*
+         * Clear both ENABLE and MASKALL, pci_reset_msix_state() relies on this
+         * initial state.
+         */
+        ctrl &= ~(PCI_MSIX_FLAGS_ENABLE|PCI_MSIX_FLAGS_MASKALL);
+        pci_conf_write16(pdev->sbdf, msix_control_reg(pos), ctrl);
+
         pdev->msix = msix;
     }
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sat Mar 25 02:49:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 02:49:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514519.796865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pftyg-00016s-3W; Sat, 25 Mar 2023 02:49:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514519.796865; Sat, 25 Mar 2023 02: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 1pftyf-00016l-VG; Sat, 25 Mar 2023 02:49:57 +0000
Received: by outflank-mailman (input) for mailman id 514519;
 Sat, 25 Mar 2023 02:49:56 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SnWc=7R=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pftye-0000qg-8u
 for xen-devel@lists.xenproject.org; Sat, 25 Mar 2023 02:49:56 +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 b537b2ea-cab7-11ed-85db-49a42c6b2330;
 Sat, 25 Mar 2023 03:49:53 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id BAAF0320096E;
 Fri, 24 Mar 2023 22:49:47 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Fri, 24 Mar 2023 22:49:48 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 24 Mar 2023 22:49:45 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b537b2ea-cab7-11ed-85db-49a42c6b2330
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=fm2; t=1679712587; x=1679798987; bh=gK
	bhcIkCqqk4qN22oaX10T/l3QfbsASFQ3a6cMI70Rs=; b=HMQw3itvzG+1k5GD2L
	PIr6JYjZoN20KhmveD4PrAJ3UpjUqndwiSaWuCCReBk2KuYyEd62vm45vFdr5DLO
	6e2YaXWT6urzr7kkem67qjmIfvwY5bp63ZvDpWiiTKH6IZQ9igIiT9+OdJssO4Gq
	X3A6jFQ75DaSWglv5Cfdy0h0I05XHw5QBygRWUscuXbYelu0eOsJ2TmD9Pzt9hm/
	ZtdkE+hp/eBKhTwetutlInXi2iTbSFuF66ferryUfNd9G1pow5sCZZC6OkuyC4QH
	ikWIfcRgrR7vJVBzasMuKglgSrsppyB0lBafPKpns0Yu7VEGbHwmAxRXhQ0xEEU1
	5uJA==
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=fm2; t=
	1679712587; x=1679798987; bh=gKbhcIkCqqk4qN22oaX10T/l3QfbsASFQ3a
	6cMI70Rs=; b=W0XPRW1TGIPJH/zmjSctNQ7Yb2jIBZMQRB27UK71Ilq6EZWRciC
	m4nR6uOYlxNlsziMaRntJaH1gDP+p2KWjTCXwg4yh9BEvtssinfEtMMkY39+VaSc
	QKQzYbzsI0hZ23VJ0Ii8gFpyxazT7SJR7X4rCdl0rTt5m4uenCbsAftVRhKHMpqd
	RgrNv5Bis+sTpXhIWttO/q9Nv1gVyG56nU905vq6VZsccDZ9aeyOxI1E+BuGxUbx
	bJBDq5i2L1fHJW/DZ3hZLtwyXFe4rXewOdlmmQhDCN1iaCW+qH1/13hsy4iyw38d
	9jBCfVZBMm1oToNe/8NiW6VrmdI0P1Gm5IQ==
X-ME-Sender: <xms:SmEeZPbpLH7VuTjzZIxpbLlNGGSU_RJPBNd-ERgJYUQHhUzxtKs5GQ>
    <xme:SmEeZOa9EF5Rfv6fkftYFSP0CGkZ4OqSdrTggVfKyJ4oEbfMooxm3dWe0PjZ-M1PB
    lzJY_14bf0qkA>
X-ME-Received: <xmr:SmEeZB_XJZOVPPu6anY8qMsvMyG021yBu40u99DAg4aWn6a_JUMsXODZcYDAPClp9zwMPBhsOJjuf0yKVtcLbcsV0XDC6XrK2voTuNS993pSnnskCzBL>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegjedghedvucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:SmEeZFre2R2qjGqsrHbjzbXBPvuSmwgOb8Hdz25uJxGVEE-ll_szFA>
    <xmx:SmEeZKpMxLZeCLq-oZ-rRO-cd8r6XL0qjgG_VaceNpwISVvnJK-m_g>
    <xmx:SmEeZLT8E8gQW45vGiPkoceQUMDkzuWfjZLOtb-I7O_Noj5KStCLWw>
    <xmx:S2EeZDnM0ZctgK-r4vJKkV4PN9D-cL_5I2rCAre73ewKKJz1VVU-2A>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>,
	=?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 v2 2/3] x86/hvm: Allow writes to registers on the same page as MSI-X table
Date: Sat, 25 Mar 2023 03:49:23 +0100
Message-Id: <20230325024924.882883-2-marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
References: <20230325024924.882883-1-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, add internal ioreq
server that handle those writes.

Doing this, requires correlating write location with guest view
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 can 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, forbid 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.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
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        | 154 +++++++++++++++++++++++++++++++++
 xen/arch/x86/include/asm/msi.h |   5 ++
 xen/arch/x86/msi.c             |  38 ++++++++
 3 files changed, 197 insertions(+)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 9c82bf9b4ec2..9293009a4075 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -438,6 +438,152 @@ static const struct hvm_io_ops msixtbl_mmio_ops = {
     .write = _msixtbl_write,
 };
 
+static void __iomem *msixtbl_page_handler_get_hwaddr(
+    const struct domain *d,
+    uint64_t address,
+    bool write)
+{
+    const struct pci_dev *pdev = NULL;
+    const struct msixtbl_entry *entry;
+    int adj_type;
+
+    rcu_read_lock(&msixtbl_rcu_lock);
+    /*
+     * Check if it's on the same page as the end of the MSI-X table, but
+     * outside of the table itself.
+     */
+    list_for_each_entry( entry, &d->arch.hvm.msixtbl_list, list )
+    {
+        if ( PFN_DOWN(address) == PFN_DOWN(entry->gtable) &&
+             address < entry->gtable )
+        {
+            adj_type = ADJ_IDX_FIRST;
+            pdev = entry->pdev;
+            break;
+        }
+        if ( PFN_DOWN(address) == PFN_DOWN(entry->gtable + entry->table_len) &&
+             address >= entry->gtable + entry->table_len )
+        {
+            adj_type = ADJ_IDX_LAST;
+            pdev = entry->pdev;
+            break;
+        }
+    }
+    rcu_read_unlock(&msixtbl_rcu_lock);
+
+    if ( !pdev )
+        return NULL;
+
+    ASSERT(pdev->msix);
+
+    if ( !pdev->msix->adj_access_table_idx[adj_type] )
+    {
+        gdprintk(XENLOG_WARNING,
+                 "Page for adjacent MSI-X table access not initialized for %pp\n",
+                 pdev);
+
+        return NULL;
+    }
+
+    /* If PBA lives on the same page too, forbid writes. */
+    if ( write && (
+        (adj_type == ADJ_IDX_LAST &&
+         pdev->msix->table.last == pdev->msix->pba.first) ||
+        (adj_type == ADJ_IDX_FIRST &&
+         pdev->msix->table.first == pdev->msix->pba.last)) )
+    {
+        gdprintk(XENLOG_WARNING,
+                 "MSI-X table and PBA of %pp live on the same page, "
+                 "writing to other registers there is not implemented\n",
+                 pdev);
+        return NULL;
+    }
+
+    return fix_to_virt(pdev->msix->adj_access_table_idx[adj_type]) +
+        (address & (PAGE_SIZE - 1));
+
+}
+
+static bool cf_check msixtbl_page_accept(
+        const struct hvm_io_handler *handler, const ioreq_t *r)
+{
+    ASSERT(r->type == IOREQ_TYPE_COPY);
+
+    return msixtbl_page_handler_get_hwaddr(
+            current->domain, r->addr, r->dir == IOREQ_WRITE);
+}
+
+static int cf_check msixtbl_page_read(
+        const struct hvm_io_handler *handler,
+        uint64_t address, uint32_t len, uint64_t *pval)
+{
+    void __iomem *hwaddr;
+
+    if ( address & (len - 1) )
+        return X86EMUL_UNHANDLEABLE;
+
+    hwaddr = msixtbl_page_handler_get_hwaddr(
+            current->domain, address, false);
+
+    if ( !hwaddr )
+        return X86EMUL_UNHANDLEABLE;
+
+    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:
+        return X86EMUL_UNHANDLEABLE;
+    }
+    return X86EMUL_OKAY;
+}
+
+static int cf_check msixtbl_page_write(
+        const struct hvm_io_handler *handler,
+        uint64_t address, uint32_t len, uint64_t val)
+{
+    void __iomem *hwaddr = msixtbl_page_handler_get_hwaddr(
+            current->domain, address, true);
+
+    if ( !hwaddr )
+        return X86EMUL_UNHANDLEABLE;
+
+    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:
+            return X86EMUL_UNHANDLEABLE;
+    }
+    return X86EMUL_OKAY;
+
+}
+
+static const struct hvm_io_ops msixtbl_mmio_page_ops = {
+    .accept = msixtbl_page_accept,
+    .read = msixtbl_page_read,
+    .write = msixtbl_page_write,
+};
+
 static void add_msixtbl_entry(struct domain *d,
                               struct pci_dev *pdev,
                               uint64_t gtable,
@@ -593,6 +739,14 @@ void msixtbl_init(struct domain *d)
         handler->type = IOREQ_TYPE_COPY;
         handler->ops = &msixtbl_mmio_ops;
     }
+
+    /* passthrough access to other registers on the same page */
+    handler = hvm_next_io_handler(d);
+    if ( handler )
+    {
+        handler->type = IOREQ_TYPE_COPY;
+        handler->ops = &msixtbl_mmio_page_ops;
+    }
 }
 
 void msixtbl_pt_cleanup(struct domain *d)
diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
index a53ade95c9ad..d13cf1c1f873 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_table_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];
+    int adj_access_table_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 d0bf63df1def..680853f84685 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -961,6 +961,34 @@ static int msix_capability_init(struct pci_dev *dev,
                 domain_crash(d);
             /* XXX How to deal with existing mappings? */
         }
+
+        /*
+         * If the MSI-X table doesn't start at the page boundary, map the first page for
+         * passthrough accesses.
+         */
+        if ( table_paddr & (PAGE_SIZE - 1) )
+        {
+            int idx = msix_get_fixmap(msix, table_paddr, table_paddr);
+
+            if ( idx >= 0 )
+                msix->adj_access_table_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 span full page(s), map the last page for
+         * passthrough accesses.
+         */
+        if ( (table_paddr + msix->nr_entries * PCI_MSIX_ENTRY_SIZE) & (PAGE_SIZE - 1) )
+        {
+            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_table_idx[ADJ_IDX_LAST] = idx;
+            else
+                gprintk(XENLOG_ERR, "Failed to map last MSI-X table page: %d\n", idx);
+        }
     }
     WARN_ON(msix->table.first != (table_paddr >> PAGE_SHIFT));
     ++msix->used_entries;
@@ -1090,6 +1118,16 @@ static void _pci_cleanup_msix(struct arch_msix *msix)
             WARN();
         msix->table.first = 0;
         msix->table.last = 0;
+        if ( msix->adj_access_table_idx[ADJ_IDX_FIRST] )
+        {
+            msix_put_fixmap(msix, msix->adj_access_table_idx[ADJ_IDX_FIRST]);
+            msix->adj_access_table_idx[ADJ_IDX_FIRST] = 0;
+        }
+        if ( msix->adj_access_table_idx[ADJ_IDX_LAST] )
+        {
+            msix_put_fixmap(msix, msix->adj_access_table_idx[ADJ_IDX_LAST]);
+            msix->adj_access_table_idx[ADJ_IDX_LAST] = 0;
+        }
 
         if ( rangeset_remove_range(mmio_ro_ranges, msix->pba.first,
                                    msix->pba.last) )
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sat Mar 25 03:03:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 03:03:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514531.796874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfuBD-0004Rk-Bg; Sat, 25 Mar 2023 03:02:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514531.796874; Sat, 25 Mar 2023 03:02: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 1pfuBD-0004Rd-92; Sat, 25 Mar 2023 03:02:55 +0000
Received: by outflank-mailman (input) for mailman id 514531;
 Sat, 25 Mar 2023 03:02: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 1pfuBB-0004RT-Oh; Sat, 25 Mar 2023 03:02: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 1pfuBB-0004GK-Jw; Sat, 25 Mar 2023 03:02: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 1pfuBB-0006ew-4l; Sat, 25 Mar 2023 03:02:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfuBB-0007FU-4L; Sat, 25 Mar 2023 03:02:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=A4JNyKPXIpYSX+wTb4UwUqXDDJaxUT46yIDyhhXiILs=; b=2hL7O00NQS2wp4dDdQOvUMaX7c
	yi9v1RtNoAkJhz8XsXU3wpcj5xaMAeff7jf4ATMij8IAF+5CiNcdzZ0/ua20uSR+vFZW3kr+2c98B
	nt/mix5fYXjs5ApnvLm7pAtL1TRusbp83QIBRkzTl+/yUbu5TAYJpgNed9uO16PpypdI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179915-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179915: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    qemu-mainline:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=60ca584b8af0de525656f959991a440f8c191f12
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Mar 2023 03:02:53 +0000

flight 179915 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179915/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-arm64-arm64-xl-credit2   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl           3 hosts-allocate               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-thunderx  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-xsm       3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                60ca584b8af0de525656f959991a440f8c191f12
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z   15 days
Failing since        179526  2023-03-10 01:53:40 Z   15 days   23 attempts
Testing same since   179915  2023-03-24 03:04:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Bin Meng <bmeng@tinylab.org>
  Carlos López <clopez@suse.de>
  Chen Baozi <chenbaozi@phytium.com.cn>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Erico Nunes <ernunes@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Guenter Roeck <linux@roeck-us.net>
  Guo Ren <guoren@kernel.org>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Qiang Liu <cyruscyliu@gmail.com>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Steve Sistare <steven.sistare@oracle.com>
  Strahinja Jankovic <strahinja.p.jankovic@gmail.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Viktor Prutyanov <viktor@daynix.com>
  Wei Wang <wei.w.wang@intel.com>
  Willem van de Velde <williamvdvelde@gmail.com>
  Yeqi Fu <fufuyqqqqqq@gmail.com>
  Yuri Benditovich <yuri.benditovich@daynix.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-armhf-armhf-xl                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  starved 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  starved 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 starved 
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 10983 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 05:49:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 05:49:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514548.796906 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfwls-0008DO-K2; Sat, 25 Mar 2023 05:48:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514548.796906; Sat, 25 Mar 2023 05:48:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfwls-0008DH-G9; Sat, 25 Mar 2023 05:48:56 +0000
Received: by outflank-mailman (input) for mailman id 514548;
 Sat, 25 Mar 2023 05:48:54 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=pUjb=7R=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pfwlq-00088z-GS
 for xen-devel@lists.xenproject.org; Sat, 25 Mar 2023 05:48: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 b92c93bb-cad0-11ed-85db-49a42c6b2330;
 Sat, 25 Mar 2023 06:48: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 8FC6A1FDFB;
 Sat, 25 Mar 2023 05:48: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 6F3FE133E5;
 Sat, 25 Mar 2023 05:48:52 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id FKiXGUSLHmRwWQAAMHmgww
 (envelope-from <jgross@suse.com>); Sat, 25 Mar 2023 05:48: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: b92c93bb-cad0-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679723332; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=rh3OnUnruqhVNyJ0+NS16iveJwjiA3QaPE6WClVe5hU=;
	b=cZPyKTLM6cglLCCkZoAdBw83Fah4ravUSLvIakEA6bWWDlzzg6exFkzUVUQL3gqywNO7Jx
	S3NeFwxvBzH2jABUi9m1FxXIZECDVmWY15pqgiWZD/xH2gYehHOspBd3rvjj7JsGaQ0Vqj
	E1FJw7TyaDFgwDZeUS41K03V82t2Q/g=
Message-ID: <d289030a-6e98-816d-e6ae-cd4b84c7001e@suse.com>
Date: Sat, 25 Mar 2023 06:48:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [adhoc test] 179924: trouble: blocked/broken/fail/pass
Content-Language: en-US
To: aperard@xenbits.xen.org, anthony.perard@citrix.com,
 xen-devel@lists.xenproject.org
References: <E1pfmrI-0002EP-DR@osstest.test-lab.xenproject.org>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <E1pfmrI-0002EP-DR@osstest.test-lab.xenproject.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------UUNg6SJBQ8SpA9FLnnsLOYV6"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------UUNg6SJBQ8SpA9FLnnsLOYV6
Content-Type: multipart/mixed; boundary="------------FGa8T9vbPwNno9Z7u1ny1Fps";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: aperard@xenbits.xen.org, anthony.perard@citrix.com,
 xen-devel@lists.xenproject.org
Message-ID: <d289030a-6e98-816d-e6ae-cd4b84c7001e@suse.com>
Subject: Re: [adhoc test] 179924: trouble: blocked/broken/fail/pass
References: <E1pfmrI-0002EP-DR@osstest.test-lab.xenproject.org>
In-Reply-To: <E1pfmrI-0002EP-DR@osstest.test-lab.xenproject.org>

--------------FGa8T9vbPwNno9Z7u1ny1Fps
Content-Type: multipart/mixed; boundary="------------7pHDsrw2SAj0GZrLS43nlQ5i"

--------------7pHDsrw2SAj0GZrLS43nlQ5i
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjQuMDMuMjMgMjA6MTMsIGFwZXJhcmRAeGVuYml0cy54ZW4ub3JnIHdyb3RlOg0KPiBb
YWRob2MgcGxheV0gPG9zc3Rlc3QgbWFzdGVyIC9kZXYvcHRzLzE2Pg0KPiBoYXJuZXNzIGVk
MWQ4ZGU0OiBQRFUvSVBNSTogQmUgbGVzcyBhZ2dyZXNzaXZlIHdpdGggSVBNSSBjb21tYW5k
cw0KPiAxNzk5MjQ6IHRyb3VibGU6IGJsb2NrZWQvYnJva2VuL2ZhaWwvcGFzcw0KPiANCj4g
ZmxpZ2h0IDE3OTkyNCBsaW51eC1saW51cyBwbGF5IFtwbGF5XQ0KPiBodHRwOi8vbG9ncy50
ZXN0LWxhYi54ZW5wcm9qZWN0Lm9yZy9vc3N0ZXN0L2xvZ3MvMTc5OTI0Lw0KDQpTZWVtcyB0
aGUgbWFpbiBwcm9ibGVtIGlzIGdvbmUgbm93Lg0KDQpUaGUgcGF0Y2ggaGFzIGFub3RoZXIg
aXNzdWUsIGJ1dCB0aGlzIGNhbiBiZSBmaXhlZCBlYXNpbHkgKHRoZSBwZXINCnNrYiBjb3B5
X2NvdW50IG5lZWRzIG5vdCB0byBiZSBpbmNyZW1lbnRlZCB3aGVuIHRoZSBjb3B5IGlzIGJl
aW5nDQpzcGxpdCwgYXMgb3RoZXJ3aXNlIHRoZSBwZW5kaW5nX2lkeCBhcnJheSBtaWdodCBi
ZSBvdmVycnVuKS4NCg0KQW50aG9ueSwgdGhhbmtzIGZvciBzZXR0aW5nIHVwIHRoZSB0ZXN0
IHJ1bnMhDQoNCg0KSnVlcmdlbg0KDQo=
--------------7pHDsrw2SAj0GZrLS43nlQ5i
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-----

--------------7pHDsrw2SAj0GZrLS43nlQ5i--

--------------FGa8T9vbPwNno9Z7u1ny1Fps--

--------------UUNg6SJBQ8SpA9FLnnsLOYV6
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQei0QFAwAAAAAACgkQsN6d1ii/Ey+9
VQf9HIUpu3GywHv8XxVm77P9ykivCwfEW2+SuZWWiBBLWydeSGS3rs9GVMQYpLCcE0mFAwcAbTQ+
aS4EZp8DBUqtrHc0hLWsv3ibLZNT25FDjHho3e1aGKolZ75o/9i/xjQ5hQ5RYX08Ao+7e0Z4T7vO
ry93nl4zwMbbrpmJGchJXB0Cpei+un3+NPYbgBDtc0r+Sklo3IamoSrmWCfrfCeAJlBrJUwZh2BD
SJEi9UN4M2bnhjuqdMm3FoMyq82vZ/EaBPqkBqYIKsuGT/36u3enzUBpRTpXbnpqfM2972Foflrk
1YL+JH6e917u7N1fnsI3694J7EOo+7fzH6IlJeoolg==
=hTsp
-----END PGP SIGNATURE-----

--------------UUNg6SJBQ8SpA9FLnnsLOYV6--


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 07:04:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 07:04:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514554.796922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfxwu-0001Yk-8r; Sat, 25 Mar 2023 07:04:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514554.796922; Sat, 25 Mar 2023 07:04: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 1pfxwu-0001Yd-4q; Sat, 25 Mar 2023 07:04:24 +0000
Received: by outflank-mailman (input) for mailman id 514554;
 Sat, 25 Mar 2023 07:04: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 1pfxwt-0001YT-Ka; Sat, 25 Mar 2023 07:04:23 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfxwt-00025I-C5; Sat, 25 Mar 2023 07:04:23 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pfxwt-0003ET-4e; Sat, 25 Mar 2023 07:04:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfxwt-0007sE-4A; Sat, 25 Mar 2023 07:04:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Cyl6fqHEPh7KLuSpS2HoczXWhdTXD0W/pZUd9EffdUs=; b=mYHgWZ0ITDeYbF7D2MoJ9Ji4lk
	6Ffl+rt8BdJv5HPhn02AfsSidDRSzHojXFpGUizF5zNl62aFpcGpcvvfXnV3PrU+WjQCYMCszFW9l
	VHBPdO8S+VOykJoCK0m1nn3OQHKRCeWCohMZxIuqBptKJPRHxOrZdC/ruoGDC8kGnOr4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179919-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179919: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:build-i386-pvops:kernel-build:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=1e760fa3596e8c7f08412712c168288b79670d78
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Mar 2023 07:04:23 +0000

flight 179919 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179919/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 16 guest-saverestore    fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 17 guest-saverestore     fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  18 guest-localmigrate       fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  17 guest-stop               fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 build-i386-pvops              6 kernel-build             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     14 guest-start              fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                1e760fa3596e8c7f08412712c168288b79670d78
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   31 days
Failing since        178093  2023-02-22 05:02:47 Z   31 days   56 attempts
Testing same since   179919  2023-03-24 07:00:57 Z    1 days    1 attempts

------------------------------------------------------------
2202 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             fail    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 258050 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 08:39:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 08:39:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514569.796938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pfzQM-00059b-N3; Sat, 25 Mar 2023 08:38:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514569.796938; Sat, 25 Mar 2023 08: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 1pfzQM-00059U-KA; Sat, 25 Mar 2023 08:38:54 +0000
Received: by outflank-mailman (input) for mailman id 514569;
 Sat, 25 Mar 2023 08: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 1pfzQK-00059K-OE; Sat, 25 Mar 2023 08: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 1pfzQK-0004hL-MP; Sat, 25 Mar 2023 08: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 1pfzQK-000673-9Q; Sat, 25 Mar 2023 08:38:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pfzQK-00054g-8z; Sat, 25 Mar 2023 08: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=m13lZ1srF1T2AX8UOFwXGMyfUq+33SeVoYGJuEaGaxU=; b=Ilv+sPjqs8jMq8NJ94bqUvT2S8
	EDrodNP2G5bmhQGp/BDCzxjxiHWM5TdPuaPajUIW/BKorex2kE+3uOL3WFkL6E4UPOWipMq4Yc/jW
	DDfqRiLEqcGxSl/UNRyAY/AUZkNmfuQoSIvQSVWxB5q1wwPh/zKqhSiG4cbu/UNbFsm0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179923-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179923: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    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-amd64-i386-libvirt-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=7944700b40374a0ed33883e75667303f217f7a9c
X-Osstest-Versions-That:
    libvirt=d1690ae485393b15c765bb2149687fd5f2552e41
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Mar 2023 08:38:52 +0000

flight 179923 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179923/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-amd64-i386-libvirt-xsm  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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              7944700b40374a0ed33883e75667303f217f7a9c
baseline version:
 libvirt              d1690ae485393b15c765bb2149687fd5f2552e41

Last test of basis   179890  2023-03-23 09:29:51 Z    1 days
Testing same since   179923  2023-03-24 11:40:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   d1690ae485..7944700b40  7944700b40374a0ed33883e75667303f217f7a9c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 10:06:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 10:06:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514580.796957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pg0mL-0008Da-83; Sat, 25 Mar 2023 10:05:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514580.796957; Sat, 25 Mar 2023 10:05:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pg0mL-0008DT-4W; Sat, 25 Mar 2023 10:05:41 +0000
Received: by outflank-mailman (input) for mailman id 514580;
 Sat, 25 Mar 2023 10:05: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 1pg0mJ-0008DN-MB
 for xen-devel@lists.xenproject.org; Sat, 25 Mar 2023 10:05: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 1pg0mI-0006if-Vo; Sat, 25 Mar 2023 10:05:38 +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 1pg0mI-00009q-MQ; Sat, 25 Mar 2023 10:05: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=ceszVNLztMpKcT196b8cVngL8pXnZIUHfO2+F3b92fw=; b=lI8beWIj5ODOPsULXCc3ocz0YR
	NMMZaGXFD6ag64flKBWaI74U4nHtXUc99kldAGsikpUzP6jJBHPak3ayUS0h+hZ/5Vced2xp00mbW
	4+cZY8x/ZG35i0hrRrm9jOKfTH86DvcP8WwCyzrh8kOeGJRRbDt+uGF0yLvgv5dNpCKo=;
Message-ID: <7905a79d-3e7e-6bdd-c5bf-7e8bd21819c3@xen.org>
Date: Sat, 25 Mar 2023 10:05:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.7.2
Subject: Re: [PATCH] ARM+RISC-V: BSS handling improvements
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <20230324222451.3295023-1-andrew.cooper3@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230324222451.3295023-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Andrew,

On 24/03/2023 22:24, Andrew Cooper wrote:
>   * Correct comments in arm{32,64}/head.S
>   * Provide Linker assertions to check the safety of the zeroing loops
> 
> 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 Sat Mar 25 12:04:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 12:04:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514602.796977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pg2dE-0006JT-8C; Sat, 25 Mar 2023 12:04:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514602.796977; Sat, 25 Mar 2023 12:04: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 1pg2dE-0006JM-3e; Sat, 25 Mar 2023 12:04:24 +0000
Received: by outflank-mailman (input) for mailman id 514602;
 Sat, 25 Mar 2023 12:04: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 1pg2dC-0006JG-En
 for xen-devel@lists.xenproject.org; Sat, 25 Mar 2023 12:04: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 1pg2dC-000197-6x; Sat, 25 Mar 2023 12:04: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 1pg2dC-0005E5-1Z; Sat, 25 Mar 2023 12:04: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:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=kXK8sCJIOq238awB5+0R30S3PMyVdWcvMgyiP6HErzI=; b=LN8AH+wQzIMyGQd6DSGfGtd7hJ
	VtZ5wvmKHTaqr583UZDZo/8zIEXADA9O5QJOgiKg7p4UQXE46wt5CHTf+bhJjh0p/3mTSQw3zPfd2
	s8oe+4TOpRxS+kO13TL6Mh4OWYu2WZagGvFgM9mTM5XX8QCspdsqSIORO5zdEldkkJAE=;
Message-ID: <fd9453c5-e60e-c63a-3bf3-f19a4fe30501@xen.org>
Date: Sat, 25 Mar 2023 12:04:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Luca Fancellu <Luca.Fancellu@arm.com>,
 "michal.orzel@amd.com" <michal.orzel@amd.com>,
 Julien Grall <jgrall@amazon.com>
References: <20230302145916.44035-1-julien@xen.org>
 <20230302145916.44035-4-julien@xen.org>
 <8BCE9C06-D081-4627-8057-1FF3D59390C6@arm.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [PATCH v6 3/5] xen/arm64: mm: Introduce helpers to
 prepare/enable/disable the identity mapping
In-Reply-To: <8BCE9C06-D081-4627-8057-1FF3D59390C6@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Bertrand,

On 03/03/2023 10:35, Bertrand Marquis wrote:
> Hi Julien,
> 
>> On 2 Mar 2023, at 15:59, Julien Grall <julien@xen.org> wrote:
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> In follow-up patches we will need to have part of Xen identity mapped in
>> order to safely switch the TTBR.
>>
>> On some platform, the identity mapping may have to start at 0. If we always
>> keep the identity region mapped, NULL pointer dereference would lead to
>> access to valid mapping.
>>
>> It would be possible to relocate Xen to avoid clashing with address 0.
>> However the identity mapping is only meant to be used in very limited
>> places. Therefore it would be better to keep the identity region invalid
>> for most of the time.
>>
>> Two new external helpers are introduced:
>>     - arch_setup_page_tables() will setup the page-tables so it is
>>       easy to create the mapping afterwards.
>>     - update_identity_mapping() will create/remove the identity mapping
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> In Arm internal CI this patch (or maybe an other in the serie) made one
> of our test crash on qemu-arm64.

Thanks for the report. I managed  to reproduce it by tweaking the QEMU 
command line option I was using:

42sh> qemu/build/qemu-system-aarch64 -machine virt,gic-version=3 
-machine virtualization=true -cpu cortex-a57 -smp 4 -m 2048 -serial 
mon:stdio -serial null -nographic -kernel xen/xen/xen

The problem is in patch #2 because I didn't adjust the address of the 
vmap/frametable areas. So they effectively are still right in the middle 
of the reserved region for identity mapping.

I will update patch #2. I am also thinking to add a check in 
xen_pt_update() to ensure no-one can create a non 1:1 mapping in the 
reserved area for identity mapping.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 14:38:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 14:38:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514683.797114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pg51n-000132-IT; Sat, 25 Mar 2023 14:37:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514683.797114; Sat, 25 Mar 2023 14:37: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 1pg51n-00012v-Ds; Sat, 25 Mar 2023 14:37:55 +0000
Received: by outflank-mailman (input) for mailman id 514683;
 Sat, 25 Mar 2023 14:37: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 1pg51m-00012b-2C; Sat, 25 Mar 2023 14:37: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 1pg51l-0004kN-W2; Sat, 25 Mar 2023 14:37: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 1pg51l-0000HZ-AP; Sat, 25 Mar 2023 14:37:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pg51l-00014t-9u; Sat, 25 Mar 2023 14:37:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5z6Ty2/f+a3Etom62NlkRmsfA0xFwxn98fzdHs7VyKk=; b=hw+6mIOi4FVHanXxBosLCAYLdJ
	0RNveHrcV0uq/dUj7W+J7jrEpAMb5EbcsNY8qjPswFm/YiIykq0hc2TRl0H9UKCciNtV13melWpLb
	435jE28k8XKu9FLdiGoLc8J93hWLMOQclWgiVLgtQBBRIOX6Dy1qw8pdMOWbZsBsIS9k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179951-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179951: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:xen-install: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-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-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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b5cc3c25a242ddb9c5b108884061b17f35c3084b
X-Osstest-Versions-That:
    xen=245d030f4aa79f766e575684127f86748c63bb32
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Mar 2023 14:37:53 +0000

flight 179951 xen-unstable real [real]
flight 179966 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179951/
http://logs.test-lab.xenproject.org/osstest/logs/179966/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow 7 xen-install fail pass in 179966-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179853
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179853
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179853
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179853
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179853
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat    fail  like 179853
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179853
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179853
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179853
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179853
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b5cc3c25a242ddb9c5b108884061b17f35c3084b
baseline version:
 xen                  245d030f4aa79f766e575684127f86748c63bb32

Last test of basis   179853  2023-03-21 22:12:49 Z    3 days
Failing since        179882  2023-03-23 03:10:34 Z    2 days    3 attempts
Testing same since   179951  2023-03-25 00:49:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Demi Marie Obenour <demi@invisiblethingslab.com>
  Edwin Török <edvin.torok@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> # tools/python/xen/lowlevel/xc/xc.c
  Olaf Hering <olaf@aepfle.de>

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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              fail    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 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
   245d030f4a..b5cc3c25a2  b5cc3c25a242ddb9c5b108884061b17f35c3084b -> master


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 15:44:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 15:44:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514716.797170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pg63l-0001m2-TK; Sat, 25 Mar 2023 15:44:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514716.797170; Sat, 25 Mar 2023 15: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 1pg63l-0001lv-QS; Sat, 25 Mar 2023 15:44:01 +0000
Received: by outflank-mailman (input) for mailman id 514716;
 Sat, 25 Mar 2023 15:44: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 1pg63k-0001ll-DF; Sat, 25 Mar 2023 15:44: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 1pg63j-0006Jc-VO; Sat, 25 Mar 2023 15:44: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 1pg63j-0001tS-Mt; Sat, 25 Mar 2023 15:43:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pg63j-00075e-MZ; Sat, 25 Mar 2023 15:43: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=JiTGyCtCaVzfa9KI9YsOQ7m6CvNNCG9sq45XOLYNaKw=; b=qzFL5uSMLATWifgKrQaMK7LMyT
	4VEKa0YDUIyJ0RmmbccPfHei6lEjh6JJFXcnltNtud55jQn4L1eVIrgCj9BSPwCTxCgb1HRas3wop
	yw5FLFwqxEi+NPHD1JlrLDFQI1vgk2pduQVcjK5kIi+Trl+tb7uY6O4p7bH7ZXKvTZVw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179955-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179955: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=60ca584b8af0de525656f959991a440f8c191f12
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Mar 2023 15:43:59 +0000

flight 179955 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179955/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                60ca584b8af0de525656f959991a440f8c191f12
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z   16 days
Failing since        179526  2023-03-10 01:53:40 Z   15 days   24 attempts
Testing same since   179915  2023-03-24 03:04:18 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Bin Meng <bmeng@tinylab.org>
  Carlos López <clopez@suse.de>
  Chen Baozi <chenbaozi@phytium.com.cn>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Erico Nunes <ernunes@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Guenter Roeck <linux@roeck-us.net>
  Guo Ren <guoren@kernel.org>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Qiang Liu <cyruscyliu@gmail.com>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Steve Sistare <steven.sistare@oracle.com>
  Strahinja Jankovic <strahinja.p.jankovic@gmail.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Viktor Prutyanov <viktor@daynix.com>
  Wei Wang <wei.w.wang@intel.com>
  Willem van de Velde <williamvdvelde@gmail.com>
  Yeqi Fu <fufuyqqqqqq@gmail.com>
  Yuri Benditovich <yuri.benditovich@daynix.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 10983 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 15:55:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 15:55:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514725.797181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pg6FB-0003a2-4h; Sat, 25 Mar 2023 15:55:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514725.797181; Sat, 25 Mar 2023 15: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 1pg6FB-0003Zv-0K; Sat, 25 Mar 2023 15:55:49 +0000
Received: by outflank-mailman (input) for mailman id 514725;
 Sat, 25 Mar 2023 15:55:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=SnWc=7R=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pg6F8-0003Zp-NU
 for xen-devel@lists.xenproject.org; Sat, 25 Mar 2023 15:55:47 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7c334720-cb25-11ed-b464-930f4c7d94ae;
 Sat, 25 Mar 2023 16:55:40 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 0A4AF32009C3;
 Sat, 25 Mar 2023 11:55:35 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Sat, 25 Mar 2023 11:55:36 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 25 Mar 2023 11:55:34 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c334720-cb25-11ed-b464-930f4c7d94ae
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=fm2; t=
	1679759735; x=1679846135; bh=+u9OnBdy66/ZaXBpi+LI2yIwEzTYc3OQGud
	8fPIZtVg=; b=H9QQx401178YTjsIxOE9NKuU8GHvwav0eN3HCqwP2XSHrkQN5HP
	zKtYFYfkulIYMml/4nKf4lX3qKnZe/x1b/UtRERkdEh4pflCRQ4YkNfWUvE+IP8D
	5k5LoNy00JsxPpXuqj1zgs7L38aZgIzBdsKMYCbPbwTvU31uniMigVQdDrPBzdtP
	mvj5wWMocjAr2R5fr0yinf9tnfYIrQeN9jSNuapwhM1CHDQtYXWH9NXH/H/zAF9F
	jYEijyanxwZwHcDIhZFzikfmJKrMy0FuTjf02ZEX5fYlVS+nmfcMKODQPUhqty5/
	JsYYlr7fj9IcNBj5nYDKxPqUTdyeKvFKnaw==
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=fm2; t=1679759735; x=1679846135; bh=+u9OnBdy66/Za
	XBpi+LI2yIwEzTYc3OQGud8fPIZtVg=; b=Sx58D0pmCynsXmMTU7nkI4qZ0NQei
	mBd8/sDjI1LwIiScZ7nmoMi1bHEi21lUD5dXJxVTZN70gU+EJk71DrgDaX+hSb3D
	p8cArqU6zsbBV8a6bmFbe4jwTXHGVtS1vg7bGpDlK+aLhD2uic0dnWtkdX/1kMgl
	Fw+zU6Cmff4+4ZyjEe2SUr0AluHF/zfPbX8PhPLs0kI4BH11Rs55rlFI1q1lztXe
	vu31VB9mxQRl3VwBPnJk7rZiOJyhMuKQ8SFg+TWjs9M2WLAZMbj3iwnbDEEM3+MW
	VmB7c5j56K37v4ot6eEY7MEMynnCxw/42tXx3kZZsRtB5lAK1se6SWYfA==
X-ME-Sender: <xms:dxkfZPSu6uWDgVGNEyCa-xkoTlhk5jTI-x-Rd3PSz6C0oYOghQI4Hw>
    <xme:dxkfZAzSAeegXlnxqpz8fMc5HkCdhKF5Y_pQEV9Dpi1akoCJugHE17ER4dyHWeeJc
    WnbC_lTWpwpHQ>
X-ME-Received: <xmr:dxkfZE2P7QAvQdf0qd3pV8ShoYNlnpj3YZV3PuV5JrU3w9hQPXHnH7oiXuV6hzwj0mq1YG_KQVN70fKXc8fzMSrSXQ6bmWMHr_k>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegkedgkeegucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:dxkfZPCdxPm9cy8IyqFLQXQd9MpIAqKvRGyXzlwX28qB3JAbhgfLww>
    <xmx:dxkfZIijIPTryACzILybOerAsFi0J8aLyZXz-7BNmdU6a4dQp3wxmw>
    <xmx:dxkfZDptGHeTybDMG_qsAz4PCyqFUiFbYx02bG7W4oKxT_q77vtLAg>
    <xmx:dxkfZAJpDlx-BylTBN4wgUkdC7_LFBvcbTN6ZAsWAkmzqCYGsnt7iA>
Feedback-ID: i1568416f:Fastmail
Date: Sat, 25 Mar 2023 16:55:30 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 1/2] automation: build 6.1.19 kernel for x86-64 dom0
Message-ID: <ZB8Zcwhj+eszsHfu@mail-itl>
References: <cover.5a69c1f96ff446a5872e9dbf6308be9ab278f9df.1679023966.git-series.marmarek@invisiblethingslab.com>
 <59ced41c97daac93abe4a2794af289d59808f0ac.1679023966.git-series.marmarek@invisiblethingslab.com>
 <alpine.DEB.2.22.394.2303171436360.3359@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="9maCnZNt4GeewPXO"
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2303171436360.3359@ubuntu-linux-20-04-desktop>


--9maCnZNt4GeewPXO
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sat, 25 Mar 2023 16:55:30 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 1/2] automation: build 6.1.19 kernel for x86-64 dom0

On Fri, Mar 17, 2023 at 03:01:14PM -0700, Stefano Stabellini wrote:
> On Fri, 17 Mar 2023, Marek Marczykowski-G=C3=B3recki wrote:
> > It will be used in tests added in subsequent patches.
> > Enable config options needed for those tests.
>=20
> Thanks for the patch! Looks great.
>=20
> Can you also remove the old 5.10.74 Dockerfile
> (automation/tests-artifacts/kernel/5.10.74.dockerfile), the
> kernel-5.10.74-export job as well and replace kernel-5.10.74-export with
> kernel-6.1.19-export as dependency for the qemu-alpine-x86_64-gcc test
> job?
>=20
> I think it makes sense to just keep kernel-6.1.19-export. I tested the
> below already and it works fine.

I'll adjust this patch as suggested, but generally, I think it's worth
keeping some tests on older kernel to detect regressions (for example in
API not used anymore by newer kernels). That said, it's probably more
beneficial to "simply" test specific older (but still supported)
distribution [kernel], not a custom build of an older version. And
adding that would be a separate patch.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--9maCnZNt4GeewPXO
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQfGXMACgkQ24/THMrX
1yx3Nwf/Y9u7DEhfld6Kpe5MJseHmC6jOZFScvI38qPMJPvW5EzqGgbkTa1qTDmr
dCPWNK8HzVbDfxH8FbcriLZHZFNaYBH1CkqTvKTq+O/RmL9ZywZurraWzA2UefyI
wLM10UOphsBfgS44o3XHO6FT0gYbZ7yXpbOxNAcyB9vFHj4IcF+LM/ACnC8YOcdl
Gj09q77ngalvv8tAa3s704NP1CkfNuP1vV2zNGd2smGZRLlOBs9uADs8ZADTbzCp
JieO8xi+V4lR/A7DQFDUwGlwX53fLxryG0QXw+yGkEqrpm5cMBhb43oFCdh3gbJN
+6WUiVZkX9zjlEOoq3Cv1LXs5Gl3Ng==
=J3DD
-----END PGP SIGNATURE-----

--9maCnZNt4GeewPXO--


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 21:12:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 21:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514765.797224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgBBa-00084b-4J; Sat, 25 Mar 2023 21:12:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514765.797224; Sat, 25 Mar 2023 21:12: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 1pgBBZ-00082O-UH; Sat, 25 Mar 2023 21:12:25 +0000
Received: by outflank-mailman (input) for mailman id 514765;
 Sat, 25 Mar 2023 21:12: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=SnWc=7R=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pgBBY-0007ws-5B
 for xen-devel@lists.xenproject.org; Sat, 25 Mar 2023 21:12:24 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ba25b3f5-cb51-11ed-b464-930f4c7d94ae;
 Sat, 25 Mar 2023 22:12:20 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 3801B5C00B5;
 Sat, 25 Mar 2023 17:12:19 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Sat, 25 Mar 2023 17:12:19 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 25 Mar 2023 17:12:18 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba25b3f5-cb51-11ed-b464-930f4c7d94ae
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=fm2; t=1679778739; x=1679865139; bh=rQ
	U/oIGJKx7QRLBl4pp3Y5lNJCa59jcwnxSYsouhR5M=; b=RkMIhFzatDuVqb2sG1
	teSfKul/D948EjL8c0lmc+E7kBtPZZxFjphOyAn37Bg5XJWiLXpELphFKMLDMWjE
	xBOKDh6OXOzFx3iRePUkEQ/GXhOA321nXtvC34/A9iFp3e4RW6JivSLFso4hd9sK
	FU9MwHS2Y3qn+u565DeIUng5RkcSoSXqaWtP1Vw4iVrPBZqos3CPmgxc5Xf81aZN
	JeslJk4Vrq8XUC+qw4J2gxDDb0Z9QhHWe29Rmj8OBBWW0hHmkO7qWrJ8GxhK/pYQ
	+wqOAwzv978h1XhEuukWasftO4Ksr16tFN7WdIf2u2eoO3W7K7pQ1uAVmTCtD03K
	d2fA==
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=fm2; t=
	1679778739; x=1679865139; bh=rQU/oIGJKx7QRLBl4pp3Y5lNJCa59jcwnxS
	YsouhR5M=; b=H2jGhoAl+rl+fXvaMNyNOWcy+tkN+Xop/UwFdBKQgrvhUPfax91
	acEuYlch8aUZc/T5EQ12vgQiwZE8dydabtBlrgcX4z0Hky7sEteQbKeCFtqDhYII
	FlyKzCU7VGCennrbdhm6hIPUdRX/6mODSgrncrs+WbfrzNcVDCePBeIg1jctVb8M
	WgG3dE3c+sn4L52hIGg5DAX5sp3msOh0Q9u75bsZ+/PYNhn7xHv+f7XegQ+Xwb5h
	edpqhJk6SA4aCdojyr7QdlUxY1296MpnNC2XiByLPt6peCN4t2gwI8lxw0mawP1B
	Bfyc1aKeBcj3SYFEWhQCeSjDao0/iug52Jg==
X-ME-Sender: <xms:s2MfZOEbULW1mFbneLUVZTGmGgQRda0XYaPCvdu8Lo7-8PES9K3Dsg>
    <xme:s2MfZPUgikWne0KN6V8Al6FEnkmP0x0nkTung05rXRraZV54LJoCPQ4C7Yp4pmbCv
    ZoageSrB08CzA>
X-ME-Received: <xmr:s2MfZIJ-qIQy8nMzTcc41bvGbC44XcLc053d1eTaAfbnG6U9y-lzUYNaTcnFh_-Ep5qiHvrlpcoZSDRbzBLfWDEnL0lBpoFY6UiZAgxNxJCL-LH-oD5R>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegkedgudeglecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgr
    rhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghkse
    hinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhep
    feeivdeijeeggfeggffgiefhkeetgefhveekuddugeejlefgfeetvdelvdeuvdejnecuff
    homhgrihhnpehquhgsvghsqdhoshdrohhrghenucevlhhushhtvghrufhiiigvpedtnecu
    rfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthh
    hinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:s2MfZIEVIn7cAODzkjC1bfaeOofmSaPfk5uzJ1LtJqugfW_oNX5GSQ>
    <xmx:s2MfZEXSBEFriryrtTdu-BjdVVjuXnS6QD4X5w5QXgc8biU0tZcw6w>
    <xmx:s2MfZLMhejIVFZa_0f1Xsqt7MoRqzZAMXl1KCJlQxyWbTaMorDFA8w>
    <xmx:s2MfZBgD_Fv-N5ghdIMMv4NHtpQol6aTMWFz8VVJwKX52smQ14JWaA>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 2/2] automation: add a smoke and suspend test on an Alder Lake system
Date: Sat, 25 Mar 2023 22:11:58 +0100
Message-Id: <6997fb7c3a40da23683bb0ca1961de40376e71a8.1679778534.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.21e1254a0c5cb3256afbc6b7bd44e8f347d7c08f.1679778534.git-series.marmarek@invisiblethingslab.com>
References: <cover.21e1254a0c5cb3256afbc6b7bd44e8f347d7c08f.1679778534.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This is a first test using Qubes OS CI infra. The gitlab-runner has
access to ssh-based control interface (control@thor.testnet, ssh key
exposed to the test via ssh-agent) and pre-configured HTTP dir for boot
files (mapped under /scratch/gitlab-runner/tftp inside the container).
Details about the setup are described on
https://www.qubes-os.org/news/2022/05/05/automated-os-testing-on-physical-laptops/

There are two test. First is a simple dom0+domU boot smoke test, similar
to other existing tests. The second is one boots Xen, and try if S3
works. It runs on a ADL-based desktop system. The test script is based
on the Xilinx one.

The machine needs newer kernel than other x86 tests run, so use 6.1.x
kernel added in previous commit.

The usage of fakeroot is necessary to preserve device nodes (/dev/null
etc) when repacking rootfs. The test runs in a rootless podman
container, which doesn't have full root permissions. BTW the same
applies to docker with user namespaces enabled (but it's only opt-in
feature there).

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
v2:
 - install test deps in dockerfile
 - rename test script
 - add smoke test too (reusing the same script with different argument)
 - use CONTROLLER variable for ssh target
 - explain fakeroot usage
 - replace final "sleep 30" with polling + timeout
---
 automation/build/alpine/3.12-arm64v8.dockerfile |   3 +-
 automation/gitlab-ci/test.yaml                  |  33 +++-
 automation/scripts/qubes-x86-64.sh              | 174 +++++++++++++++++-
 3 files changed, 210 insertions(+)
 create mode 100755 automation/scripts/qubes-x86-64.sh

diff --git a/automation/build/alpine/3.12-arm64v8.dockerfile b/automation/build/alpine/3.12-arm64v8.dockerfile
index 180c978964aa..3f1e6a3fc6df 100644
--- a/automation/build/alpine/3.12-arm64v8.dockerfile
+++ b/automation/build/alpine/3.12-arm64v8.dockerfile
@@ -41,3 +41,6 @@ RUN apk --no-cache add \
   libattr \
   libcap-ng-dev \
   pixman-dev \
+  # qubes test deps
+  openssh-client \
+  fakeroot \
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index ee9e3210772b..0916b367ea90 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -88,6 +88,23 @@
   tags:
     - xilinx
 
+.adl-x86-64:
+  extends: .test-jobs-common
+  variables:
+    # the test controller runs on RPi4
+    CONTAINER: alpine:3.12-arm64v8
+    LOGFILE: smoke-test.log
+  artifacts:
+    paths:
+      - smoke.serial
+      - '*.log'
+    when: always
+  only:
+    variables:
+      - $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
+  tags:
+    - qubes-hw2
+
 # Test jobs
 build-each-commit-gcc:
   extends: .test-jobs-common
@@ -114,6 +131,22 @@ xilinx-smoke-dom0less-arm64-gcc:
     - *arm64-test-needs
     - alpine-3.12-gcc-arm64
 
+adl-smoke-x86-64-gcc:
+  extends: .adl-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64.sh 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.12-gcc
+
+adl-suspend-x86-64-gcc:
+  extends: .adl-x86-64
+  script:
+    - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.12-gcc
+
 qemu-smoke-dom0-arm64-gcc:
   extends: .qemu-arm64
   script:
diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
new file mode 100755
index 000000000000..2d4cf2e2268c
--- /dev/null
+++ b/automation/scripts/qubes-x86-64.sh
@@ -0,0 +1,174 @@
+#!/bin/sh
+
+set -ex
+
+test_variant=$1
+
+wait_and_wakeup=
+timeout=120
+if [ -z "${test_variant}" ]; then
+    passed="ping test passed"
+    domU_check="
+ifconfig eth0 192.168.0.2
+until ping -c 10 192.168.0.1; do
+    sleep 1
+done
+echo \"${passed}\"
+"
+    dom0_check="
+until grep -q \"${passed}\" /var/log/xen/console/guest-domU.log; do
+    sleep 1
+done
+# get domU console content into test log
+tail -n 100 /var/log/xen/console/guest-domU.log
+echo \"${passed}\"
+"
+elif [ "${test_variant}" = "s3" ]; then
+    passed="suspend test passed"
+    wait_and_wakeup="started, suspending"
+    domU_check="
+ifconfig eth0 192.168.0.2
+echo domU started
+"
+    dom0_check="
+until grep 'domU started' /var/log/xen/console/guest-domU.log; do
+    sleep 1
+done
+echo \"${wait_and_wakeup}\"
+set -x
+echo deep > /sys/power/mem_sleep
+echo mem > /sys/power/state
+# now wait for resume
+sleep 5
+# get domU console content into test log
+tail -n 100 /var/log/xen/console/guest-domU.log
+xl list
+xl dmesg | grep 'Finishing wakeup from ACPI S3 state' || exit 1
+# check if domU is still alive
+ping -c 10 192.168.0.2 || exit 1
+echo \"${passed}\"
+"
+fi
+
+# DomU
+mkdir -p rootfs
+cd rootfs
+# fakeroot is needed to preserve device nodes in rootless podman container
+fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+echo "#!/bin/sh
+
+${domU_check}
+/bin/sh" > etc/local.d/xen.start
+chmod +x etc/local.d/xen.start
+echo "rc_verbose=yes" >> etc/rc.conf
+find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz
+cd ..
+rm -rf rootfs
+
+# DOM0 rootfs
+mkdir -p rootfs
+cd rootfs
+fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
+mkdir boot
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+cp -ar ../binaries/dist/install/* .
+
+echo "#!/bin/bash
+
+export LD_LIBRARY_PATH=/usr/local/lib
+bash /etc/init.d/xencommons start
+
+brctl addbr xenbr0
+brctl addif xenbr0 eth0
+ifconfig eth0 up
+ifconfig xenbr0 up
+ifconfig xenbr0 192.168.0.1
+
+xl create /etc/xen/domU.cfg
+${dom0_check}
+" > etc/local.d/xen.start
+chmod +x etc/local.d/xen.start
+# just PVH for now
+echo '
+type = "pvh"
+name = "domU"
+kernel = "/boot/vmlinuz"
+ramdisk = "/boot/initrd-domU"
+extra = "root=/dev/ram0 console=hvc0"
+memory = 512
+vif = [ "bridge=xenbr0", ]
+disk = [ ]
+' > etc/xen/domU.cfg
+
+echo "rc_verbose=yes" >> etc/rc.conf
+echo "XENCONSOLED_TRACE=all" >> etc/default/xencommons
+echo "QEMU_XEN=/bin/false" >> etc/default/xencommons
+mkdir -p var/log/xen/console
+cp ../binaries/bzImage boot/vmlinuz
+cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
+find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
+cd ..
+
+
+TFTP=/scratch/gitlab-runner/tftp
+CONTROLLER=control@thor.testnet
+
+echo '
+multiboot2 (http)/gitlab-ci/xen console=com1 com1=115200,8n1 loglvl=all guest_loglvl=all
+module2 (http)/gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0
+module2 (http)/gitlab-ci/initrd-dom0
+' > $TFTP/grub.cfg
+
+cp -f binaries/xen $TFTP/xen
+cp -f binaries/bzImage $TFTP/vmlinuz
+cp -f binaries/dom0-rootfs.cpio.gz $TFTP/initrd-dom0
+
+# start logging the serial; this gives interactive console, don't close its
+# stdin to not close it; the 'cat' is important, plain redirection would hang
+# until somebody opens the pipe; opening and closing the pipe is used to close
+# the console
+mkfifo /tmp/console-stdin
+cat /tmp/console-stdin |\
+ssh $CONTROLLER console | tee smoke.serial &
+
+# start the system pointing at gitlab-ci predefined config
+ssh $CONTROLLER gitlabci poweron
+trap "ssh $CONTROLLER poweroff; : > /tmp/console-stdin" EXIT
+
+if [ -n "$wait_and_wakeup" ]; then
+    # wait for suspend or a timeout
+    until grep "$wait_and_wakeup" smoke.serial || [ $timeout -le 0 ]; do
+        sleep 1;
+        : $((--timeout))
+    done
+    if [ $timeout -le 0 ]; then
+        echo "ERROR: suspend timeout, aborting"
+        exit 1
+    fi
+    # keep it suspended a bit, then wakeup
+    sleep 30
+    ssh $CONTROLLER wake
+fi
+
+until grep "$passed" smoke.serial || [ $timeout -le 0 ]; do
+    sleep 1;
+    : $((--timeout))
+done
+if [ $timeout -le 0 ]; then
+    echo "ERROR: test timeout, aborting"
+    exit 1
+fi
+
+sleep 1
+
+(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
+exit 0
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 21:12:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 21:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514763.797214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgBBZ-0007xV-JU; Sat, 25 Mar 2023 21:12:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514763.797214; Sat, 25 Mar 2023 21:12:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgBBZ-0007xO-Fj; Sat, 25 Mar 2023 21:12:25 +0000
Received: by outflank-mailman (input) for mailman id 514763;
 Sat, 25 Mar 2023 21:12: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=SnWc=7R=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pgBBX-0007ws-Dd
 for xen-devel@lists.xenproject.org; Sat, 25 Mar 2023 21:12:23 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b95de818-cb51-11ed-b464-930f4c7d94ae;
 Sat, 25 Mar 2023 22:12:18 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id EB3A05C00CD;
 Sat, 25 Mar 2023 17:12:17 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute5.internal (MEProxy); Sat, 25 Mar 2023 17:12:17 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 25 Mar 2023 17:12:16 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b95de818-cb51-11ed-b464-930f4c7d94ae
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=fm2; t=1679778737; x=1679865137; bh=3w
	s6jUP18muaz1emPu0yGWXPNCRk+TTr+7tv8YnTvmY=; b=QLJAl7nWwTHWtit6LW
	nCBjCg/Ls7DjU2+m/+49OeLchCeorp8zJIXG8xA1Z6inzyfFZoGY+KCtG9ILgIOF
	zar3d/HFj5KwMqYq/R8wOei9F+Cpg42nPQ2Ivls0Z+pftjB6wnNSAwv6xCWe4iff
	0ptubvgfFUmW0b1BIC1DUe7FSeKS7/iX8Je1844JDlkNdxAHD1EXTQZV7nH3SOZx
	drc9tp4ZCbN0w3p6y6gRD3lfIb2spXu/qqJ8GKw6NX6C8UhPfvCqX01BpBC9QaAA
	iSU4aEHAgmOoDCup0c+uRrz45zPso654vgaU5pKl3WJ4qQdK1H7Vqz6AS/zu+Igw
	4jTg==
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=fm2; t=
	1679778737; x=1679865137; bh=3ws6jUP18muaz1emPu0yGWXPNCRk+TTr+7t
	v8YnTvmY=; b=HXQe191G7Luh8zFcoaE+pAQ6wT4G58910hljHNNT60G63SB3eZ7
	m50bl1L4+Q5tsBSrCJBcWpJ/mt4KomKrg9wvyrJE/TYOj/l8LgA8tvjC0ookqf7p
	Qt0UIJO6IKHlpuBw5LSaSkURVlmM9A6GbohlAnc7jYud9G3wlYLDXRVBVsb9SOwb
	JxvgO4PcREpSMQrGrsLS+6Sjiv29T0Z1PMutH0RdM+gJpoGh2lxaT9GeGsSzHuQB
	xE7tfDU/DaVHsiOTNV0rWvpQGwjXrv4WbZS9kvuXdLJWs691nk6Oh/78o63bUDTK
	e+cQEDjidgLp9/yc67H0ZWVyUoThoq7pRmw==
X-ME-Sender: <xms:sWMfZBhQtBemA6ayxMEWiiNE2Aqk53klJD3T268yLBUNedKWmiM9og>
    <xme:sWMfZGDG0QVh8euYEXyJdW43qZ1sV5X6hGOHadBPHxB2dB9vChUwzNtfUFAG6NXcv
    14IiKQIo0ihkA>
X-ME-Received: <xmr:sWMfZBEPbAqq1qXnyJGY1YghZ8_Bx1DsUjY-0yWjYd4uWTHc6-hDrvpMuHhtC5-sR3_gV6fq9LxWumuwmSi3Zz5HdMzg-oKTXxqYD9H05b2mtvgqchvX>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegkedgudeglecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffojghfgggtgfesthekredtredtjeenucfhrhhomhepofgr
    rhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghkse
    hinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhep
    gfelgffgueffgeejudehieegteeugeefkeejtefghfdvieffieeijefgudeikeegnecuff
    homhgrihhnpehgihhtlhgrsgdrtghomhdpkhgvrhhnvghlrdhorhhgnecuvehluhhsthgv
    rhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:sWMfZGQcG2xWFiRrQ0NyPaRw5bIji9a0lc1EtHS3aYeNWLwEokGkew>
    <xmx:sWMfZOyygINX0geJfB68EDlGNP3gqjZPmgqxdeb2tKvlQDAPSf2DPg>
    <xmx:sWMfZM7SArmkuu7JcqibotoSYOLAtpHyB-YlJp-veXd6F9aqiiU07A>
    <xmx:sWMfZJ-xng-YwqUH29gOFKRlrUmz23eSueaKS2uJtVF_oCtnjo0iqA>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 1/2] automation: update x86-64 tests to Linux 6.1.19
Date: Sat, 25 Mar 2023 22:11:57 +0100
Message-Id: <cd3c32a9e013ff4f9442eccb17c3fc698a862bbf.1679778534.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.21e1254a0c5cb3256afbc6b7bd44e8f347d7c08f.1679778534.git-series.marmarek@invisiblethingslab.com>
References: <cover.21e1254a0c5cb3256afbc6b7bd44e8f347d7c08f.1679778534.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It will be used in tests added in subsequent patches.
Enable config options needed for those tests.
While at it, migrate all the x86 tests to the newer kernel, and
introduce x86-64-test-needs to allow deduplication later (for now it's
used only once).

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
v2:
 - replace 5.10.74 with 6.1.19 in all the tests
 - introduce x86-64-test-needs
---
 automation/gitlab-ci/build.yaml                      |  4 +-
 automation/gitlab-ci/test.yaml                       |  7 +-
 automation/tests-artifacts/kernel/5.10.74.dockerfile | 38 +------------
 automation/tests-artifacts/kernel/6.1.19.dockerfile  | 40 +++++++++++++-
 4 files changed, 47 insertions(+), 42 deletions(-)
 delete mode 100644 automation/tests-artifacts/kernel/5.10.74.dockerfile
 create mode 100644 automation/tests-artifacts/kernel/6.1.19.dockerfile

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 820cc0af83bd..0817f110556e 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -798,9 +798,9 @@ alpine-3.12-rootfs-export:
   tags:
     - x86_64
 
-kernel-5.10.74-export:
+kernel-6.1.19-export:
   extends: .test-jobs-artifact-common
-  image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:5.10.74
+  image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:6.1.19
   script:
     - mkdir binaries && cp /bzImage binaries/bzImage
   artifacts:
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index d75662358f34..ee9e3210772b 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -15,6 +15,10 @@
 .arm32-test-needs: &arm32-test-needs
   - qemu-system-aarch64-6.0.0-arm32-export
 
+.x86-64-test-needs: &x86-64-test-needs
+  - alpine-3.12-rootfs-export
+  - kernel-6.1.19-export
+
 .qemu-arm64:
   extends: .test-jobs-common
   variables:
@@ -299,9 +303,8 @@ qemu-alpine-x86_64-gcc:
   script:
     - ./automation/scripts/qemu-alpine-x86_64.sh 2>&1 | tee ${LOGFILE}
   needs:
+    - *x86-64-test-needs
     - alpine-3.12-gcc
-    - alpine-3.12-rootfs-export
-    - kernel-5.10.74-export
 
 qemu-smoke-x86-64-gcc:
   extends: .qemu-x86-64
diff --git a/automation/tests-artifacts/kernel/5.10.74.dockerfile b/automation/tests-artifacts/kernel/5.10.74.dockerfile
deleted file mode 100644
index 112e27fe45e1..000000000000
--- a/automation/tests-artifacts/kernel/5.10.74.dockerfile
+++ /dev/null
@@ -1,38 +0,0 @@
-FROM debian:unstable
-LABEL maintainer.name="The Xen Project" \
-      maintainer.email="xen-devel@lists.xenproject.org"
-
-ENV DEBIAN_FRONTEND=noninteractive
-ENV LINUX_VERSION=5.10.74
-ENV USER root
-
-RUN mkdir /build
-WORKDIR /build
-
-# build depends
-RUN apt-get update && \
-    apt-get --quiet --yes install \
-        build-essential \
-        libssl-dev \
-        bc \
-        curl \
-        flex \
-        bison \
-        libelf-dev \
-        && \
-    apt-get autoremove -y && \
-    apt-get clean && \
-    rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
-
-# Build the kernel
-RUN curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-"$LINUX_VERSION".tar.xz && \
-    tar xvJf linux-"$LINUX_VERSION".tar.xz && \
-    cd linux-"$LINUX_VERSION" && \
-    make defconfig && \
-    make xen.config && \
-    cp .config .config.orig && \
-    cat .config.orig | grep XEN | grep =m |sed 's/=m/=y/g' >> .config && \
-    make -j$(nproc) bzImage && \
-    cp arch/x86/boot/bzImage / && \
-    cd /build && \
-    rm -rf linux-"$LINUX_VERSION"*
diff --git a/automation/tests-artifacts/kernel/6.1.19.dockerfile b/automation/tests-artifacts/kernel/6.1.19.dockerfile
new file mode 100644
index 000000000000..c2171555a0a6
--- /dev/null
+++ b/automation/tests-artifacts/kernel/6.1.19.dockerfile
@@ -0,0 +1,40 @@
+FROM debian:unstable
+LABEL maintainer.name="The Xen Project" \
+      maintainer.email="xen-devel@lists.xenproject.org"
+
+ENV DEBIAN_FRONTEND=noninteractive
+ENV LINUX_VERSION=6.1.19
+ENV USER root
+
+RUN mkdir /build
+WORKDIR /build
+
+# build depends
+RUN apt-get update && \
+    apt-get --quiet --yes install \
+        build-essential \
+        libssl-dev \
+        bc \
+        curl \
+        flex \
+        bison \
+        libelf-dev \
+        && \
+    apt-get autoremove -y && \
+    apt-get clean && \
+    rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
+
+# Build the kernel
+RUN curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-"$LINUX_VERSION".tar.xz && \
+    tar xvJf linux-"$LINUX_VERSION".tar.xz && \
+    cd linux-"$LINUX_VERSION" && \
+    make defconfig && \
+    make xen.config && \
+    scripts/config --enable BRIDGE && \
+    scripts/config --enable IGC && \
+    cp .config .config.orig && \
+    cat .config.orig | grep XEN | grep =m |sed 's/=m/=y/g' >> .config && \
+    make -j$(nproc) bzImage && \
+    cp arch/x86/boot/bzImage / && \
+    cd /build && \
+    rm -rf linux-"$LINUX_VERSION"*
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 21:12:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 21:12:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514764.797219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgBBZ-00080Y-Rz; Sat, 25 Mar 2023 21:12:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514764.797219; Sat, 25 Mar 2023 21:12:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgBBZ-0007zt-N7; Sat, 25 Mar 2023 21:12:25 +0000
Received: by outflank-mailman (input) for mailman id 514764;
 Sat, 25 Mar 2023 21:12: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=SnWc=7R=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pgBBX-0007ws-Ul
 for xen-devel@lists.xenproject.org; Sat, 25 Mar 2023 21:12:23 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b89e300e-cb51-11ed-b464-930f4c7d94ae;
 Sat, 25 Mar 2023 22:12:18 +0100 (CET)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 87B285C00BB;
 Sat, 25 Mar 2023 17:12:16 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Sat, 25 Mar 2023 17:12:16 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sat,
 25 Mar 2023 17:12:15 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b89e300e-cb51-11ed-b464-930f4c7d94ae
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=fm2; t=1679778736; x=1679865136; bh=3gUyahM0QdQOHKUlU9SDN4UwQ
	OGwxhq+vQNu8rADVsg=; b=M6fkZgvoblL2BcSjaFch0kQ45LN43n7RB3PsnWntY
	opwq1LSkip9UIuvWfDIldE833rRnWMvbaHYgZ9m5HQLejjQIkxn70yIxAHm+f+sj
	s3RnRCynNyTFCZY1XzlMtfpt5UvUaCvSrmyspstHsUEYieOQ+WMwq390ibXeslz9
	SyBIjVnJ2MdxMcwwPE+L+bZ75B5nHQBLKDuPZ6j1IUCcPzLgJ4RiPre6gANmDghJ
	jTDzlf+CjvXVDF8TYcxqPaSca6121swmNpNx0ci8FC8ld/s33KXBfhfpy555zBrj
	WE2DMq2nOSqFz6BjrJg+9fQjN69Ik2A7lhSG4lH7jM1Dg==
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=fm2; t=1679778736; x=1679865136; bh=3
	gUyahM0QdQOHKUlU9SDN4UwQOGwxhq+vQNu8rADVsg=; b=Lxgb7Vmv9G7FvTYpj
	SP9RQtsrVNlGltBNx4LttWAuU+CetE/1wDkURnViid3G0UhGE/nlO4xkx92D2Mcs
	7SLL5uh+etKDLX0VfAiTLiPVYlzYFJ3REZSKbY87rL8oK3sWLJB6iUCJNAmOZe6G
	qmGvgQy7SWZ1JffqfyEBF2Vadftqo+vR0rrOww3yPTaKQAYEfrP2xpmT+pWRmQ+c
	qRTyGTpPxX2cYEP0qmHsCZafrNptHyRCOcTozEs7Kumc2dV5834mI/rYRzQKxxLB
	l9JB+GN9yd6uRaUovAVetZrDqV9nIwuA33Od8IdnKt24p6ydKpeVV8S0LudLoleq
	S28WA==
X-ME-Sender: <xms:sGMfZDxwLma6P91q_i1cULEZMlurYHfrc1BPgyuDB4GvHbRZ5jUOcA>
    <xme:sGMfZLTN4QEht-M6z6QguuxFVeREIr6hHp9PxDulAS4fcAU9KT90bUqPG74taOXuO
    kXKiizmPsO6IA>
X-ME-Received: <xmr:sGMfZNWlRF2g1KXvLL8X8WwcK7knzmFVsjDWMuKGLkC78CbgqtSSNljRIBuMY4mH3I5xXSJSfCBjaJX_-pa4z2YvohX_lZJKLbBdNHcm7T_G3mfGZawu>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdegkedgudeglecutefuodetggdotefrod
    ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh
    necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd
    enucfjughrpefhvfevufffkffogggtgfesthekredtredtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgeeg
    fefhvdeftdeujeefjeevvdeguefhvdeuvdelvdeihfeuheduheekledvveegnecuffhomh
    grihhnpehgihhtlhgrsgdrtghomhdpqhhusggvshdqohhsrdhorhhgnecuvehluhhsthgv
    rhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:sGMfZNhldz7SpGcN33_VTddyNkrj2Yx1NyLetf3_OWi-n7ZYyWfI3Q>
    <xmx:sGMfZFAxuk2t3d4v0-Q9hxUxQNSGCVSF2boh2EV8YwKptD2NWlHuGQ>
    <xmx:sGMfZGJ7O7fgcq2cYZZOqOprgUoSI9Z-ylvJXcO5wWqqY55kvkQ5ow>
    <xmx:sGMfZIrI7hOOEaePXYWQkNx64MpRqytuhqQ5RsLNhR4D7KdPZhqWzw>
Feedback-ID: i1568416f:Fastmail
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <stefano.stabellini@amd.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v2 0/2] automation: add another Gitlab-CI test, x86-64 S3 this time
Date: Sat, 25 Mar 2023 22:11:56 +0100
Message-Id: <cover.21e1254a0c5cb3256afbc6b7bd44e8f347d7c08f.1679778534.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This series adds another Gitlab-CI test running on a real hardware.
The gitlab-runner is connected to gitlab.com/xen-project/xen already.
Example test run (just subset of jobs scheduled):
https://gitlab.com/xen-project/people/marmarek/xen/-/pipelines/817952905

Details about the setup:
https://www.qubes-os.org/news/2022/05/05/automated-os-testing-on-physical-laptops/

Should there be some documentation (besides the above link) how to interact
with the CI system, for somebody else who could modify the test script? It's
rather tightly integrated with infrastructure that's outside of xen.git
control, so I'm not sure how practical that would be anyway.

Marek Marczykowski-Górecki (2):
  automation: update x86-64 tests to Linux 6.1.19
  automation: add a smoke and suspend test on an Alder Lake system

 automation/build/alpine/3.12-arm64v8.dockerfile      |   3 +-
 automation/gitlab-ci/build.yaml                      |   4 +-
 automation/gitlab-ci/test.yaml                       |  40 ++-
 automation/scripts/qubes-x86-64.sh                   | 174 ++++++++++++-
 automation/tests-artifacts/kernel/5.10.74.dockerfile |  38 +---
 automation/tests-artifacts/kernel/6.1.19.dockerfile  |  40 +++-
 6 files changed, 257 insertions(+), 42 deletions(-)
 create mode 100755 automation/scripts/qubes-x86-64.sh
 delete mode 100644 automation/tests-artifacts/kernel/5.10.74.dockerfile
 create mode 100644 automation/tests-artifacts/kernel/6.1.19.dockerfile

base-commit: b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 21:36:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 21:36:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514777.797243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgBZ8-0003eu-7E; Sat, 25 Mar 2023 21:36:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514777.797243; Sat, 25 Mar 2023 21: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 1pgBZ8-0003en-4O; Sat, 25 Mar 2023 21:36:46 +0000
Received: by outflank-mailman (input) for mailman id 514777;
 Sat, 25 Mar 2023 21:36: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 1pgBZ7-0003ed-53; Sat, 25 Mar 2023 21:36: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 1pgBZ7-0006B4-17; Sat, 25 Mar 2023 21:36: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 1pgBZ6-0003eR-Ng; Sat, 25 Mar 2023 21:36:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgBZ6-00084F-N8; Sat, 25 Mar 2023 21:36: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=3v3T/6LPL2Hi9+hJL/bUckJGFPriWSyy4A/g4CQcutY=; b=jLRN7TqIrDaGIVruKbbl6BriR9
	tMgUWndCxBnOVSMZSWHWQwMddLvyGZHD71QF/wtbIq/ZUrNpoAieI7NUh3/IP0HDkKLrK/K6OenZX
	gFSihCafdmapVTlPjXwWRj1/7CHMKh9q2OW8IO/0T7N8C41pO3b6XHXt39yYVJDSM5BU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179960-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179960: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-stop:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-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:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=65aca32efdcb0965502d3db2f1fa33838c070952
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Mar 2023 21:36:44 +0000

flight 179960 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179960/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 17 guest-saverestore     fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 19 guest-saverestore.2     fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          17 guest-stop               fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                65aca32efdcb0965502d3db2f1fa33838c070952
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   32 days
Failing since        178093  2023-02-22 05:02:47 Z   31 days   57 attempts
Testing same since   179960  2023-03-25 07:08:00 Z    0 days    1 attempts

------------------------------------------------------------
2263 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 265364 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Mar 25 23:41:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Mar 2023 23:41:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514785.797260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgDVn-0002D9-8H; Sat, 25 Mar 2023 23:41:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514785.797260; Sat, 25 Mar 2023 23: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 1pgDVn-0002D2-5M; Sat, 25 Mar 2023 23:41:27 +0000
Received: by outflank-mailman (input) for mailman id 514785;
 Sat, 25 Mar 2023 23:41: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 1pgDVl-0002Cs-RL; Sat, 25 Mar 2023 23:41: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 1pgDVl-0000ol-O2; Sat, 25 Mar 2023 23:41: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 1pgDVl-0007r8-9o; Sat, 25 Mar 2023 23:41:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgDVl-0000b5-9K; Sat, 25 Mar 2023 23: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=KjEHSyYkQLAZzU8SFPGt3ouyQDFXrOdXGvLqNb6Ve2k=; b=n0RU6hIT3lW25AqqQkeS5ypJSz
	Se9a7uKaijRSLTzAHo/miOTrH8D8TfC5ahQygfE8BUHuTJkUlQTkPp65lHG5/NWDKnaiqqAzqD3v0
	vl3R9Q7a5Pb1RdpIj4bmC0oT9ueC4J9PNieFtjbSA7f79w0G6T05+IX+rPzwdLBjGPtA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179962-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179962: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:regression
    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-i386-libvirt-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=e9adb4dcb1e51a098a530d0e68f697ad0fff579f
X-Osstest-Versions-That:
    libvirt=7944700b40374a0ed33883e75667303f217f7a9c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Mar 2023 23:41:25 +0000

flight 179962 libvirt real [real]
flight 179978 libvirt real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179962/
http://logs.test-lab.xenproject.org/osstest/logs/179978/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail REGR. vs. 179923

Tests which did not succeed, but are not blocking:
 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-i386-libvirt-xsm  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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              e9adb4dcb1e51a098a530d0e68f697ad0fff579f
baseline version:
 libvirt              7944700b40374a0ed33883e75667303f217f7a9c

Last test of basis   179923  2023-03-24 11:40:00 Z    1 days
Testing same since   179962  2023-03-25 08:39:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Martin Kletzander <mkletzan@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit e9adb4dcb1e51a098a530d0e68f697ad0fff579f
Author: Martin Kletzander <mkletzan@redhat.com>
Date:   Fri Mar 24 16:41:05 2023 +0100

    Revert "ci: Disable optimization on macos-12"
    
    This reverts commit 1f76b5365ec78b1e9a36038db8e13ec0025bbe7a.
    
    There were two issues with this commit.  First is the missing propagation
    of CFLAGS into the build environment and second is the fact that this is
    not enough to disable the check for -fsemantic-interposition.  The
    proper fix would require setting MESON_OPTS or similar and also add the
    propagation of such variable into the cirrus builds etc., but at this
    point I burned so much time on this trivial piece of rubbish that I
    think it's easier to just wait for macos to gain a newer clang =D
    
    Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>

commit d05ad0f15e737fa2327dd68870a485821505b58f
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Fri Mar 24 12:03:28 2023 +0100

    esx: Change the default username when connecting to VCenter
    
    While it's true that the default username is:
    
      administrator@${SSO-Domain}
    
    in majority of cases the ${SSO-Domain} is "vsphere.local". But
    our code (and what virsh displays then) says it's just
    "administrator".
    
    This is wrong also from a different POV: the username must
    contain the suffix no matter what and our default suggests
    otherwise.
    
    Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2181234
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Martin Kletzander <mkletzan@redhat.com>

commit 2c13a2a7c9c368ea81eccd4ba12d9cf34bdd331b
Author: Michal Privoznik <mprivozn@redhat.com>
Date:   Wed Mar 22 16:33:32 2023 +0100

    virt-host-validate: Detect SMMU support on ARMs
    
    In vir-host-validate we do two checks related to IOMMU:
    
      1) hardware support, and
      2) kernel support.
    
    While users are usually interested in the latter, the former also
    makes sense. And for the former (hardware support) we have this
    huge if-else block for nearly every architecture, except ARM.
    
    Now, IOMMU is called SMMU in ARM world, and while there's
    certainly a definitive way of detecting SMMU support (e.g. via
    dumping some registers in asm), we can work around this - just
    like we do for Intel and AMD - and check for an ACPI table
    presence.
    
    In ARM world, there's I/O Remapping Table (IORT) which describes
    SMMU capabilities on given host and is exposed in sysfs
    (regardless of arm_smmu module).
    
    Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2178885
    Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
    Reviewed-by: Ján Tomko <jtomko@redhat.com>

commit 1f76b5365ec78b1e9a36038db8e13ec0025bbe7a
Author: Martin Kletzander <mkletzan@redhat.com>
Date:   Fri Mar 24 13:15:30 2023 +0100

    ci: Disable optimization on macos-12
    
    This enables our CI to run tests on on macos-12 after commit
    7944700b4037.
    
    Signed-off-by: Martin Kletzander <mkletzan@redhat.com>

commit 1b0c07db7547ad0d55c22ca4ebc5302dcc9a1d1a
Author: Martin Kletzander <mkletzan@redhat.com>
Date:   Fri Mar 24 09:37:48 2023 +0100

    ci: Refresh CI files with current lcitool
    
    This updates to FreeBSD 12.4 which has clang that supports
    -fsemantic-interposition, plus of course updates the system.
    
    Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
    Reviewed-by: Michal Privoznik <mprivozn@redhat.com>


From xen-devel-bounces@lists.xenproject.org Sun Mar 26 05:13:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Mar 2023 05:13:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514815.797309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgIga-0006Kn-F5; Sun, 26 Mar 2023 05:12:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514815.797309; Sun, 26 Mar 2023 05: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 1pgIga-0006KY-9I; Sun, 26 Mar 2023 05:12:56 +0000
Received: by outflank-mailman (input) for mailman id 514815;
 Sun, 26 Mar 2023 05:12: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 1pgIgZ-0006KO-26; Sun, 26 Mar 2023 05:12: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 1pgIgY-0008FO-Uf; Sun, 26 Mar 2023 05:12: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 1pgIgY-0008F0-Nx; Sun, 26 Mar 2023 05:12:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgIgY-0004b6-NV; Sun, 26 Mar 2023 05:12: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=T3EObiUmDX8BCoVlovyJZAmwzxu6d1M0r1COfNjg1UI=; b=Bcpp7ZFpNuKTFFpVLSvkzw3sfO
	psTt3kjAmb7s9tn7gkF5sYpPBfKl+HQ+of3eIYTE5eY1x++x722n/boridpJoJd8iMGojsPVFWPeB
	GdsASet8PiQw0HJM/mTQE2ylh8D3b+/xKA2cE2uyq0/2MIbW8D7gqR2DOs4WVT5JSxSc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179983-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 179983: tolerable FAIL - PUSHED
X-Osstest-Failures:
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:xen-install:fail:heisenbug
X-Osstest-Versions-This:
    ovmf=07fa6d1841abcfc58b226027d711ebb47559f442
X-Osstest-Versions-That:
    ovmf=f6bd3286edfbe5eb6b50946cc8bb89e5c60b9388
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Mar 2023 05:12:54 +0000

flight 179983 ovmf real [real]
flight 179985 ovmf real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179983/
http://logs.test-lab.xenproject.org/osstest/logs/179985/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-ovmf-amd64  7 xen-install  fail pass in 179985-retest

version targeted for testing:
 ovmf                 07fa6d1841abcfc58b226027d711ebb47559f442
baseline version:
 ovmf                 f6bd3286edfbe5eb6b50946cc8bb89e5c60b9388

Last test of basis   179950  2023-03-25 00:10:39 Z    1 days
Testing same since   179983  2023-03-26 02:10:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Paweł Poławski <ppolawsk@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                          fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   f6bd3286ed..07fa6d1841  07fa6d1841abcfc58b226027d711ebb47559f442 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sun Mar 26 06:18:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Mar 2023 06:18:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514822.797324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgJhj-0005Na-C5; Sun, 26 Mar 2023 06:18:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514822.797324; Sun, 26 Mar 2023 06: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 1pgJhj-0005NT-9W; Sun, 26 Mar 2023 06:18:11 +0000
Received: by outflank-mailman (input) for mailman id 514822;
 Sun, 26 Mar 2023 06:18: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 1pgJhh-0005NJ-Hb; Sun, 26 Mar 2023 06:18:09 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pgJhh-0001V9-Ey; Sun, 26 Mar 2023 06:18:09 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pgJhg-0001bf-VL; Sun, 26 Mar 2023 06:18:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgJhg-0000EA-Uu; Sun, 26 Mar 2023 06:18: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=p/3oklvhZK1i1NTpcIFKBnV1ywlq7bQqksUUIVkBx/E=; b=XTJIoCU1pK9qXAJ6cY4FUi03sj
	9heOT9yW3Vp+Q4sWkLnTzRXAO6avVyHjA+nr74RbnZOwfzBe33M9ZkQxMQ9xxU5Q2nGhzWMcnhh+U
	kOFcs8+1HWcRryU9hkEeoxjpCBIwqKtptF7evArA50tRnO7Awtpeax+y5k58xkJS6vmM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179969-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179969: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install: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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-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-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-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-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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
X-Osstest-Versions-That:
    xen=b5cc3c25a242ddb9c5b108884061b17f35c3084b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Mar 2023 06:18:08 +0000

flight 179969 xen-unstable real [real]
flight 179986 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179969/
http://logs.test-lab.xenproject.org/osstest/logs/179986/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail pass in 179986-retest
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 179986-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179951
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179951
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179951
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179951
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179951
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179951
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179951
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179951
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179951
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 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          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-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-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-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
baseline version:
 xen                  b5cc3c25a242ddb9c5b108884061b17f35c3084b

Last test of basis   179951  2023-03-25 00:49:00 Z    1 days
Testing same since   179969  2023-03-25 14:42:06 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   b5cc3c25a2..b1f11273d5  b1f11273d5a774cc88a3685c96c2e7cf6385e3b6 -> master


From xen-devel-bounces@lists.xenproject.org Sun Mar 26 06:42:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Mar 2023 06:42:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514829.797341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgK4h-0000pn-9n; Sun, 26 Mar 2023 06:41:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514829.797341; Sun, 26 Mar 2023 06: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 1pgK4h-0000pg-73; Sun, 26 Mar 2023 06:41:55 +0000
Received: by outflank-mailman (input) for mailman id 514829;
 Sun, 26 Mar 2023 06:41: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 1pgK4g-0000pW-2q; Sun, 26 Mar 2023 06:41: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 1pgK4f-00026H-WE; Sun, 26 Mar 2023 06:41: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 1pgK4f-0002Br-Mu; Sun, 26 Mar 2023 06:41:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgK4f-0000iz-MO; Sun, 26 Mar 2023 06:41: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=5KzkOu2jZw+7QfQ48x9Q5IrICjwNDBw4TJO56lnXxAk=; b=m7EW933UXWdNPAkNlRkCluyV5k
	vn+lyKMV4EYnHqlVL3ilSIY7AZDp1Vs/CtPmys+ep9MEM1q3bIMM3QG2tkRdNRdvApNEyCcZdnmCG
	vQ88dycIhqpD7dWey3h8+bYlrIoQhsz0mwU2Pe2ESRBoITka/0891Ln70z8qg/n0kGaM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179971-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179971: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qcow2:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-i386-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-i386-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    qemu-mainline:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=60ca584b8af0de525656f959991a440f8c191f12
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Mar 2023 06:41:53 +0000

flight 179971 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179971/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2    12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt-vhd 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-xl-vhd       12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt-raw  12 debian-di-install        fail REGR. vs. 179518
 test-amd64-i386-libvirt      14 guest-start              fail REGR. vs. 179518
 test-amd64-i386-libvirt-pair 25 guest-start/debian       fail REGR. vs. 179518
 test-amd64-i386-libvirt-xsm  14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 179518
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 179518
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 179518
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 179518
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 179518

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                60ca584b8af0de525656f959991a440f8c191f12
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z   16 days
Failing since        179526  2023-03-10 01:53:40 Z   16 days   25 attempts
Testing same since   179915  2023-03-24 03:04:18 Z    2 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Bin Meng <bmeng@tinylab.org>
  Carlos López <clopez@suse.de>
  Chen Baozi <chenbaozi@phytium.com.cn>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Erico Nunes <ernunes@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Guenter Roeck <linux@roeck-us.net>
  Guo Ren <guoren@kernel.org>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Qiang Liu <cyruscyliu@gmail.com>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Steve Sistare <steven.sistare@oracle.com>
  Strahinja Jankovic <strahinja.p.jankovic@gmail.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Viktor Prutyanov <viktor@daynix.com>
  Wei Wang <wei.w.wang@intel.com>
  Willem van de Velde <williamvdvelde@gmail.com>
  Yeqi Fu <fufuyqqqqqq@gmail.com>
  Yuri Benditovich <yuri.benditovich@daynix.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-i386-libvirt-xsm                                  fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        pass    
 test-amd64-i386-pair                                         pass    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-i386-libvirt-pair                                 fail    
 test-amd64-amd64-xl-pvshim                                   pass    
 test-amd64-i386-xl-pvshim                                    fail    
 test-amd64-amd64-pygrub                                      pass    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 10983 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Mar 26 12:13:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Mar 2023 12:13:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514902.797394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgPFY-00054o-Sx; Sun, 26 Mar 2023 12:13:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514902.797394; Sun, 26 Mar 2023 12: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 1pgPFY-00054h-OX; Sun, 26 Mar 2023 12:13:28 +0000
Received: by outflank-mailman (input) for mailman id 514902;
 Sun, 26 Mar 2023 12:13:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pgPFY-00054X-9i; Sun, 26 Mar 2023 12:13:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pgPFY-0001tZ-3J; Sun, 26 Mar 2023 12:13:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pgPFX-0002gu-SD; Sun, 26 Mar 2023 12:13:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgPFX-00051r-Rn; Sun, 26 Mar 2023 12:13:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=JwiOI/pEUDZR/IoOqrvQldqRe3FJjbvElMhkdAkUbc4=; b=FhCzfoDC4LAJjRCfQPbY7Md/Uo
	E2f+vlk+deZEWM5n6BgraOaXvRdU/x/r8YnXoa9oVwwbciudOckJp0vsbQhG1CUIxxiKiLn3AH0h6
	NdWTANP2XUTFP+VS3kQazYCexdogt4GBN6eQvCTLBXfqSSDsxw8rXuTYGd5Nr1ZE2Ti0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179976-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 179976: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=da8e7da11e4ba758caf4c149cc8d8cd555aefe5f
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Mar 2023 12:13:27 +0000

flight 179976 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179976/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pair 26 guest-migrate/src_host/dst_host fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 17 guest-saverestore     fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 17 guest-localmigrate   fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 20 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 26 guest-migrate/src_host/dst_host fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  20 guest-localmigrate/x10   fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     18 guest-localmigrate       fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 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-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                da8e7da11e4ba758caf4c149cc8d8cd555aefe5f
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   32 days
Failing since        178093  2023-02-22 05:02:47 Z   32 days   58 attempts
Testing same since   179976  2023-03-25 21:41:57 Z    0 days    1 attempts

------------------------------------------------------------
2265 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 265933 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Mar 26 13:22:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Mar 2023 13:22:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514928.797407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgQJl-0005FR-So; Sun, 26 Mar 2023 13:21:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514928.797407; Sun, 26 Mar 2023 13:21:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgQJl-0005FK-PH; Sun, 26 Mar 2023 13:21:53 +0000
Received: by outflank-mailman (input) for mailman id 514928;
 Sun, 26 Mar 2023 13:21: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 1pgQJk-0005FA-93; Sun, 26 Mar 2023 13:21: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 1pgQJk-0003Q3-4l; Sun, 26 Mar 2023 13:21: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 1pgQJj-0006UH-PK; Sun, 26 Mar 2023 13:21:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgQJj-0001W0-Ow; Sun, 26 Mar 2023 13:21:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=zlMQAG/y6Us9ZvlCaAmk+z6DmEAd7dDTcUxfCCfh1ak=; b=2dymwH2PLzvl96Szdids2+xeTg
	PSQkA8fZQN9Hkl2GgEayaCvuTTUrkxQzGHFt+QFjX1fNgYyk0H/N7WfDvcCmkBhryEXbVTQ1Uxcmy
	ATMzp8MwImjHhaWvTjZwnCXAFKROSsiDKEPjDL6dk3Bv3laJV+eqM3kHLnY7enmFhNvs=;
To: xen-devel@lists.xenproject.org
Subject: [qemu-mainline bisection] complete test-amd64-amd64-xl-qcow2
Message-Id: <E1pgQJj-0001W0-Ow@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Mar 2023 13:21:51 +0000

branch xen-unstable
xenbranch xen-unstable
job test-amd64-amd64-xl-qcow2
testid debian-di-install

Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu https://gitlab.com/qemu-project/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git

*** Found and reproduced problem changeset ***

  Bug is in tree:  qemuu https://gitlab.com/qemu-project/qemu.git
  Bug introduced:  c86422c5549c0983b4b4525b8f56a1c69dd67aa1
  Bug not present: c057960c4e33becb22d4741156203a4b0d4a3088
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/179999/


  commit c86422c5549c0983b4b4525b8f56a1c69dd67aa1
  Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
  Date:   Fri Jan 13 21:42:04 2023 +0100
  
      block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed
      
      BlockDriver->bdrv_getlength is categorized as IO callback, and it
      currently doesn't run in a coroutine. We should let it take a graph
      rdlock since the callback traverses the block nodes graph, which however
      is only possible in a coroutine.
      
      Therefore turn it into a co_wrapper to move the actual function into a
      coroutine where the lock can be taken.
      
      Because now this function creates a new coroutine and polls, we need to
      take the AioContext lock where it is missing, for the only reason that
      internally co_wrapper calls AIO_WAIT_WHILE and it expects to release the
      AioContext lock.
      
      This is especially messy when a co_wrapper creates a coroutine and polls
      in bdrv_open_driver, because this function has so many callers in so
      many context that it can easily lead to deadlocks. Therefore the new
      rule for bdrv_open_driver is that the caller must always hold the
      AioContext lock of the given bs (except if it is a coroutine), because
      the function calls bdrv_refresh_total_sectors() which is now a
      co_wrapper.
      
      Once the rwlock is ultimated and placed in every place it needs to be,
      we will poll using AIO_WAIT_WHILE_UNLOCKED and remove the AioContext
      lock.
      
      Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
      Signed-off-by: Kevin Wolf <kwolf@redhat.com>
      Message-Id: <20230113204212.359076-7-kwolf@redhat.com>
      Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
      Signed-off-by: Kevin Wolf <kwolf@redhat.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/qemu-mainline/test-amd64-amd64-xl-qcow2.debian-di-install.html
Revision IDs in each graph node refer, respectively, to the Trees above.

----------------------------------------
Running cs-bisection-step --graph-out=/home/logs/results/bisect/qemu-mainline/test-amd64-amd64-xl-qcow2.debian-di-install --summary-out=tmp/179999.bisection-summary --basis-template=179518 --blessings=real,real-bisect,real-retry qemu-mainline test-amd64-amd64-xl-qcow2 debian-di-install
Searching for failure / basis pass:
 179971 fail [host=godello1] / 179518 [host=nobling0] 179501 [host=nocera1] 179497 [host=nocera0] 179449 [host=himrod0] 176342 [host=nocera0] 176096 [host=sabro1] 176080 [host=albana0] 176069 [host=pinot0] 176022 [host=huxelrebe1] 176008 [host=huxelrebe1] 175998 [host=fiano0] 175991 [host=fiano0] 175977 [host=godello0] 175962 [host=fiano0] 175743 [host=elbling1] 175735 [host=nocera1] 175637 ok.
Failure / basis pass flights: 179971 / 175637
(tree with no url: minios)
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: ovmf git://xenbits.xen.org/osstest/ovmf.git
Tree: qemu git://xenbits.xen.org/qemu-xen-traditional.git
Tree: qemuu https://gitlab.com/qemu-project/qemu.git
Tree: seabios git://xenbits.xen.org/osstest/seabios.git
Tree: xen git://xenbits.xen.org/xen.git
Latest c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f6bd3286edfbe5eb6b50946cc8bb89e5c60b9388 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 60ca584b8af0de525656f959991a440f8c191f12 ea1b7a0733906b8425d948ae94fba63c32b1d425 b5cc3c25a242ddb9c5b108884061b17f35c3084b
Basis pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d8d829b89dababf763ab33b8cdd852b2830db3cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 528d9f33cad5245c1099d77084c78bb2244d5143 645a64b4911d7cadf5749d7375544fc2384e70ba 2b21cbbb339fb14414f357a6683b1df74c36fda2
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/linux-pvops.git#c3038e718a19fc596f7b1baba0f83d5146dc7784-c3038e718a19fc596f7b1baba0f83d5146dc7784 git://xenbits.xen.org/osstest/linux-firmware.git#c530a75c1e6a472b0eb9558310b518f0dfcd8860-c530a75c1e6a472b0eb9558310b518f0dfcd8860 git://xenbits.xen.org/osstest/ovmf.git#d8d829b89dababf763ab33b8cdd852b2830db3cf-f6bd3286edfbe5eb6b50946cc8bb89e5c60b9388 git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c74\
 37ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 https://gitlab.com/qemu-project/qemu.git#528d9f33cad5245c1099d77084c78bb2244d5143-60ca584b8af0de525656f959991a440f8c191f12 git://xenbits.xen.org/osstest/seabios.git#645a64b4911d7cadf5749d7375544fc2384e70ba-ea1b7a0733906b8425d948ae94fba63c32b1d425 git://xenbits.xen.org/xen.git#2b21cbbb339fb14414f357a6683b1df74c36fda2-b5cc3c25a242ddb9c5b108884061b17f35c3084b
Loaded 79425 nodes in revision graph
Searching for test results:
 175627 [host=nobling0]
 175637 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d8d829b89dababf763ab33b8cdd852b2830db3cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 528d9f33cad5245c1099d77084c78bb2244d5143 645a64b4911d7cadf5749d7375544fc2384e70ba 2b21cbbb339fb14414f357a6683b1df74c36fda2
 175643 []
 175647 []
 175654 []
 175664 []
 175672 []
 175681 []
 175691 []
 175703 []
 175709 []
 175716 []
 175719 []
 175722 []
 175725 []
 175727 []
 175729 []
 175733 []
 175735 [host=nocera1]
 175743 [host=elbling1]
 175750 []
 175835 []
 175858 []
 175911 []
 175908 []
 175952 []
 175962 [host=fiano0]
 175977 [host=godello0]
 175991 [host=fiano0]
 175998 [host=fiano0]
 176008 [host=huxelrebe1]
 176022 [host=huxelrebe1]
 176069 [host=pinot0]
 176080 [host=albana0]
 176096 [host=sabro1]
 176342 [host=nocera0]
 176352 [host=himrod0]
 176368 [host=himrod0]
 176369 [host=himrod0]
 176372 [host=himrod0]
 176374 [host=himrod0]
 176377 [host=himrod0]
 176367 [host=himrod0]
 176379 [host=himrod0]
 176380 [host=himrod0]
 176381 [host=himrod0]
 176382 [host=himrod0]
 176383 [host=himrod0]
 176384 [host=himrod0]
 176389 [host=himrod0]
 176391 [host=himrod0]
 176393 [host=himrod0]
 176394 [host=himrod0]
 176396 [host=himrod0]
 176397 [host=himrod0]
 176398 [host=himrod0]
 176399 [host=himrod0]
 176400 [host=himrod0]
 176401 [host=himrod0]
 176402 [host=himrod0]
 176392 [host=himrod0]
 176404 [host=himrod0]
 176406 [host=himrod0]
 176408 [host=himrod0]
 176410 [host=himrod0]
 176412 [host=himrod0]
 176415 [host=himrod0]
 176416 [host=himrod0]
 176418 [host=himrod0]
 176419 [host=himrod0]
 176407 [host=himrod0]
 176420 [host=himrod0]
 176425 [host=himrod0]
 176423 [host=himrod0]
 176387 [host=himrod0]
 176427 [host=himrod0]
 176429 [host=himrod0]
 176431 [host=himrod0]
 176432 [host=himrod0]
 176436 [host=himrod0]
 176433 [host=himrod0]
 176440 [host=himrod0]
 176444 [host=himrod0]
 176446 [host=himrod0]
 176450 [host=himrod0]
 176454 [host=himrod0]
 176456 [host=himrod0]
 176449 [host=himrod0]
 179449 [host=himrod0]
 179497 [host=nocera0]
 179501 [host=nocera1]
 179518 [host=nobling0]
 179526 fail irrelevant
 179534 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a4c9c2b0f00a8f950b3058d4e97534a2613ed8bf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ee59483267de29056b5b2ee2421ef3844e5c9932 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179548 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 9b94ebb0c826ad9a747f93ee351d5d076e920f6e 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 674acdd17808052519aafcbee1583ad89b66181a ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179561 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 674acdd17808052519aafcbee1583ad89b66181a ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179574 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 674acdd17808052519aafcbee1583ad89b66181a ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179588 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179596 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d2bfe289668e32940cca5da12bc201bf9b6c84d8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179609 fail irrelevant
 179628 fail irrelevant
 179644 fail irrelevant
 179657 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 961792c9d61f7e03e0c1b6b9f93b8b306df94bf9 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 652737c8090eb3792f8b4c4b22ab12d7cc32073f ea1b7a0733906b8425d948ae94fba63c32b1d425 de819c96c863467b6e625cd7197d17682f6c6122
 179682 fail irrelevant
 179708 fail irrelevant
 179733 fail irrelevant
 179756 fail irrelevant
 179776 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b17a3a133b18fb41493fba7d86e9b5804ea6a8cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 9bf21fcaef07f68ab52d0382ff554616a1cf66d8
 179795 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b17a3a133b18fb41493fba7d86e9b5804ea6a8cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 9bf21fcaef07f68ab52d0382ff554616a1cf66d8
 179802 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b17a3a133b18fb41493fba7d86e9b5804ea6a8cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 9bf21fcaef07f68ab52d0382ff554616a1cf66d8
 179816 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b7a8264ae4704f781e70cc44dafdf07e4e5e690a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 74c581b6452394e591f13beba9fea2ec0688e2f5 ea1b7a0733906b8425d948ae94fba63c32b1d425 9bf21fcaef07f68ab52d0382ff554616a1cf66d8
 179824 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 b7a8264ae4704f781e70cc44dafdf07e4e5e690a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 aa9e7fa4689d1becb2faf67f65aafcbcf664f1ce ea1b7a0733906b8425d948ae94fba63c32b1d425 9bf21fcaef07f68ab52d0382ff554616a1cf66d8
 179847 fail irrelevant
 179881 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d8d829b89dababf763ab33b8cdd852b2830db3cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 528d9f33cad5245c1099d77084c78bb2244d5143 645a64b4911d7cadf5749d7375544fc2384e70ba 2b21cbbb339fb14414f357a6683b1df74c36fda2
 179883 fail irrelevant
 179884 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a0f9628705e35c981ae95376f9ebedf877d09111 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 15002921e878e6cf485f655d580733b5319ea015 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179885 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a0f9628705e35c981ae95376f9ebedf877d09111 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7b0f0aa55fd292fa3489755a3a896e496c51ea86 ea1b7a0733906b8425d948ae94fba63c32b1d425 7a59096258fb9e9679538da8851fe00656841980
 179886 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 c7c25997595aa34ce0a7a21ca2e1fc5b0f9b38a6 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c1feaf76833f5b29f887fd64371512731cbf7086 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179887 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 75fb0cfc82376906243386514be0e4067d702117 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 38200011319b5819ff268dadb1b175faa6b0764a ea1b7a0733906b8425d948ae94fba63c32b1d425 dd0f000aafd91ff674a11d6d5623d345fa8f91a6
 179888 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b6611d8d5c265c138a4a0cc36a2c02d84a768976 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179891 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 aa1cd447b346e8cc8141df2fe2d321b032c08acb 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c29a2f40cd5d1fdad4632b48343cd968db041a44 ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179893 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a1d595fc9c049874b972a371fe6090738a176f5b 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2f886a34bb7e6f6fcf39d64829f4499476f26dba ea1b7a0733906b8425d948ae94fba63c32b1d425 31270f11a96ebb875cd70661e2df9e5c6edd7564
 179894 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 43b79f3b86c343a8973dc98278ad7f7921bf248d ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179896 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 37151032989ecf6e7ce8b65bc7bcb400d0318b2c ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179897 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 76116e28e1491a06966fd594fefdaacb084ada10 ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179898 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0ccf919d742e387a6e533cf41d422a26d89f0d99 ea1b7a0733906b8425d948ae94fba63c32b1d425 b84fdf521b306cce64388fe57ee6c7c00f9d3e76
 179900 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b22a2d409b1acfdf0d63d1bb3595194ceb3d94da ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179902 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f80f052277c88a67c55e107b550f504eeea947d3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ddf0676f1ade90026483a91823d86db4096a40ef ea1b7a0733906b8425d948ae94fba63c32b1d425 380a8c0c65bfb84dab54ab4641cca1387cc41edb
 179905 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e1f9f73ba15e0356ce1aa3317d7bd294f587ab58 ea1b7a0733906b8425d948ae94fba63c32b1d425 49b1cb27413034c81023d1faf7af43690e87291a
 179906 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 3f21065f0983d37c5d4a11a3c59bab5201a9f499 ea1b7a0733906b8425d948ae94fba63c32b1d425 91d4d9506a4e8906253d1280bd5a1f39668fad64
 179908 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 569346ad0a85b370fe28282656da18bddd291ed6 ea1b7a0733906b8425d948ae94fba63c32b1d425 91d4d9506a4e8906253d1280bd5a1f39668fad64
 179909 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 1eeca0750af5af2f0e78437bf791ac2de74bde74 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0f385a2420d2c3f8ae7ed65fbe2712027664059e ea1b7a0733906b8425d948ae94fba63c32b1d425 91d4d9506a4e8906253d1280bd5a1f39668fad64
 179910 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2d89cb1fe5c778f51b5fdc6878adacdb0d908949 ea1b7a0733906b8425d948ae94fba63c32b1d425 406cea1970535cd7b9d6bcf09bc164ef9bb64bac
 179911 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 9b0699ab801405fe5bdf1adea83bceac9ec62f97 ea1b7a0733906b8425d948ae94fba63c32b1d425 a90a0018f605e3bb0588816e5a1f957d6e4562eb
 179912 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 02fcfdce1e5ce86f1951191883e7e30de5aa08be 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 4919d0c44afd58e16a8a369ca359de7f0114e04c ea1b7a0733906b8425d948ae94fba63c32b1d425 a90a0018f605e3bb0588816e5a1f957d6e4562eb
 179913 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 38da9606f77842cdcdc231210c0369a6180c51a0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 36debafddd788066be10b33c5f11b984a08e5c85 ea1b7a0733906b8425d948ae94fba63c32b1d425 5b9bb91abba7c983def3b4bef71ab08ad360a242
 179874 fail irrelevant
 179914 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 540522fec06b87bf11ad5624abe23b515f282d60 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2e0def6d37b624c68875800a3092352d11bd0a91 ea1b7a0733906b8425d948ae94fba63c32b1d425 9b70bc6d9678142a40e6c1c6934a32c7a0966e38
 179916 fail irrelevant
 179917 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 93a21b465bda44cecdd6347ad481ca6f55286547 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7b548761e5d084f2fc0fc4badebab227b51a8a84 ea1b7a0733906b8425d948ae94fba63c32b1d425 f4f498d08d50259b9f25c274fd7b1e8ccf5693af
 179918 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f6ce1a5cd8932844ec24701d158254ccf75b6159 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 acbc8aee5b09222dc6a5cb88306b67bcbe37e30b ea1b7a0733906b8425d948ae94fba63c32b1d425 4e0b4ccfc504f26187939068796295340ffd0e2f
 179920 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5db84c85c3544b92fa236c4d169440d523712ae0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 6b433719eabf0abc74cff0cfd5687f0137c4198a ea1b7a0733906b8425d948ae94fba63c32b1d425 b9adcb5ab910b61e5332728bd248906e68a45900
 179921 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 5db84c85c3544b92fa236c4d169440d523712ae0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 285ee77f5b58237c972bbe82aa0e1dc489c147d6 ea1b7a0733906b8425d948ae94fba63c32b1d425 c0e202194bfcb413d7cf662b333550ed444c469b
 179925 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 8a763b533bb1b10af2831f6c35d6545bdd5c69d1 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 5df3eb4d361fd609632281969b101f4f84f1c4d8 ea1b7a0733906b8425d948ae94fba63c32b1d425 6c707d4573f5df2b60503dfeedc10b33cebd60d1
 179928 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 9d669016d968b0f3e17ce7df16ae51d85b0adfcf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 ceabf6e500570ecfb311d8896c4ba9da8cf21f2a ea1b7a0733906b8425d948ae94fba63c32b1d425 a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e
 179930 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 13b97736c876919b9786055829caaa4fa46984b7 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 5736527050cfcc5b92521d79fe87b4883059d864 ea1b7a0733906b8425d948ae94fba63c32b1d425 a21c9e6ddfee6d21dff1f18c299cb94a47b32c9e
 179933 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ae6e470252d9312dce20d0b21e7f622c4ca9ad0a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 deabea6e88f7c4c3c12a36ee30051c6209561165 ea1b7a0733906b8425d948ae94fba63c32b1d425 78e93e6e57c218eead498a664785f414bcb12460
 179938 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bda715bf6d7cf565ccd4eda1f48e850ab8e2d452 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 bd4c0ef409140bd1be393407c04005ac077d4574 645a64b4911d7cadf5749d7375544fc2384e70ba 78e93e6e57c218eead498a664785f414bcb12460
 179943 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ae6e470252d9312dce20d0b21e7f622c4ca9ad0a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b3ca9646b9a5c44dfd110c5db9b4a8b8497de34e ea1b7a0733906b8425d948ae94fba63c32b1d425 78e93e6e57c218eead498a664785f414bcb12460
 179946 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 37d3eb026a766b2405daae47e02094c2ec248646 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 4f01a9bb0461e8c11ee0c94d90a504cb7d580a85 645a64b4911d7cadf5749d7375544fc2384e70ba d60324d8af9404014cfcc37bba09e9facfd02fcf
 179948 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ae6e470252d9312dce20d0b21e7f622c4ca9ad0a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 e030d08c2fc02743dd37e3d2e6e28fdd739590b9 ea1b7a0733906b8425d948ae94fba63c32b1d425 78e93e6e57c218eead498a664785f414bcb12460
 179952 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 37d3eb026a766b2405daae47e02094c2ec248646 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 3b07a936d3bfe97b07ddffcfbb532985a88033dd 645a64b4911d7cadf5749d7375544fc2384e70ba 1d60c20260c7e82fe5344d06c20d718e0cc03b8b
 179915 fail irrelevant
 179954 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 51411435d559c55eaf38c02baf5d76da78bb658d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 70d17c3eedefe36b0f423575b57dc9708c4a9d57 645a64b4911d7cadf5749d7375544fc2384e70ba 89cc5d96a9d1fce81cf58b6814dac62a9e07fbee
 179956 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d8d829b89dababf763ab33b8cdd852b2830db3cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 528d9f33cad5245c1099d77084c78bb2244d5143 645a64b4911d7cadf5749d7375544fc2384e70ba 2b21cbbb339fb14414f357a6683b1df74c36fda2
 179957 fail irrelevant
 179958 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 51411435d559c55eaf38c02baf5d76da78bb658d 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 701ed34833f53880ba38bde09b0846d01fc16d66 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 179959 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bf5678b5802685e07583e3c7ec56d883cbdd5da3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 b748352c555b42d497fe8ee00ee2e44eb8627660 645a64b4911d7cadf5749d7375544fc2384e70ba 93017efd7c441420318e46443a06e40fa6f1b6d4
 179961 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d05739a3ff88457ae3ce90db3e91e9d2a11949c8 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 2f8d6a88e44928e1afaab5fd37fafefc94bf395c 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 179963 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 a107ad0f623669c72997443dc0431eeb732f81a0 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 7c9236d6d61f30583d5d860097d88dbf0fe487bf 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 179964 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 47ab397011b6d1ce4d5805117dc87d9e35f378db 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 886fb67020e32ce6a2cf7049c6f017acf1f0d69a 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 179965 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ba08910df1071bf5ade987529d9becb38d14a14a 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 eb66dac46da958c0ba20a2803344b20c8f79c48b 645a64b4911d7cadf5749d7375544fc2384e70ba f588e7b7cb70800533aaa8a2a9d7a4b32d10b363
 179967 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bf5678b5802685e07583e3c7ec56d883cbdd5da3 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 fcb7e040f5c69ca1f0678f991ab5354488a9e192 645a64b4911d7cadf5749d7375544fc2384e70ba b2220f85256a9209560586c25e37d7ad860fa1e2
 179968 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 ca573b86157e7fcd34cd44e79ebd10e89d8b8cc4 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c5e477110dcb8ef4642dce399777c3dee68fa96c 645a64b4911d7cadf5749d7375544fc2384e70ba 10b80ee5588e8928b266dea02a5e99d098bd227a
 179955 fail irrelevant
 179970 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 37d3eb026a766b2405daae47e02094c2ec248646 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 709bcd7da3f6b4655d910634a0d520fa1439df38 645a64b4911d7cadf5749d7375544fc2384e70ba 87ee7a817d1800dc41e118f4035917b80498433a
 179972 fail irrelevant
 179973 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bda715bf6d7cf565ccd4eda1f48e850ab8e2d452 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 82618d7bc341cb93b9ce9c206d7ec84cebe83d00 645a64b4911d7cadf5749d7375544fc2384e70ba 78e93e6e57c218eead498a664785f414bcb12460
 179974 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 620cddb1e0e92e16407d4f2354cf85f49b7306c7 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c5e477110dcb8ef4642dce399777c3dee68fa96c 645a64b4911d7cadf5749d7375544fc2384e70ba 78e93e6e57c218eead498a664785f414bcb12460
 179975 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bda715bf6d7cf565ccd4eda1f48e850ab8e2d452 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 8f4974543203bd1e3a77f198ebb2c60d177b1c40 645a64b4911d7cadf5749d7375544fc2384e70ba 78e93e6e57c218eead498a664785f414bcb12460
 179977 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bda715bf6d7cf565ccd4eda1f48e850ab8e2d452 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c057960c4e33becb22d4741156203a4b0d4a3088 645a64b4911d7cadf5749d7375544fc2384e70ba 78e93e6e57c218eead498a664785f414bcb12460
 179980 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bda715bf6d7cf565ccd4eda1f48e850ab8e2d452 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 d886257d84dd7c3d3f04c3b1e2e4749b47541ee5 645a64b4911d7cadf5749d7375544fc2384e70ba 78e93e6e57c218eead498a664785f414bcb12460
 179982 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bda715bf6d7cf565ccd4eda1f48e850ab8e2d452 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c86422c5549c0983b4b4525b8f56a1c69dd67aa1 645a64b4911d7cadf5749d7375544fc2384e70ba 78e93e6e57c218eead498a664785f414bcb12460
 179988 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bda715bf6d7cf565ccd4eda1f48e850ab8e2d452 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c057960c4e33becb22d4741156203a4b0d4a3088 645a64b4911d7cadf5749d7375544fc2384e70ba 78e93e6e57c218eead498a664785f414bcb12460
 179971 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f6bd3286edfbe5eb6b50946cc8bb89e5c60b9388 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 60ca584b8af0de525656f959991a440f8c191f12 ea1b7a0733906b8425d948ae94fba63c32b1d425 b5cc3c25a242ddb9c5b108884061b17f35c3084b
 179990 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bda715bf6d7cf565ccd4eda1f48e850ab8e2d452 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c86422c5549c0983b4b4525b8f56a1c69dd67aa1 645a64b4911d7cadf5749d7375544fc2384e70ba 78e93e6e57c218eead498a664785f414bcb12460
 179994 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 d8d829b89dababf763ab33b8cdd852b2830db3cf 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 528d9f33cad5245c1099d77084c78bb2244d5143 645a64b4911d7cadf5749d7375544fc2384e70ba 2b21cbbb339fb14414f357a6683b1df74c36fda2
 179996 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 f6bd3286edfbe5eb6b50946cc8bb89e5c60b9388 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 60ca584b8af0de525656f959991a440f8c191f12 ea1b7a0733906b8425d948ae94fba63c32b1d425 b5cc3c25a242ddb9c5b108884061b17f35c3084b
 179997 pass c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bda715bf6d7cf565ccd4eda1f48e850ab8e2d452 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c057960c4e33becb22d4741156203a4b0d4a3088 645a64b4911d7cadf5749d7375544fc2384e70ba 78e93e6e57c218eead498a664785f414bcb12460
 179999 fail c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bda715bf6d7cf565ccd4eda1f48e850ab8e2d452 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c86422c5549c0983b4b4525b8f56a1c69dd67aa1 645a64b4911d7cadf5749d7375544fc2384e70ba 78e93e6e57c218eead498a664785f414bcb12460
Searching for interesting versions
 Result found: flight 175637 (pass), for basis pass
 Result found: flight 179971 (fail), for basis failure (at ancestor ~40)
 Repro found: flight 179994 (pass), for basis pass
 Repro found: flight 179996 (fail), for basis failure
 0 revisions at c3038e718a19fc596f7b1baba0f83d5146dc7784 c530a75c1e6a472b0eb9558310b518f0dfcd8860 bda715bf6d7cf565ccd4eda1f48e850ab8e2d452 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 c057960c4e33becb22d4741156203a4b0d4a3088 645a64b4911d7cadf5749d7375544fc2384e70ba 78e93e6e57c218eead498a664785f414bcb12460
No revisions left to test, checking graph state.
 Result found: flight 179977 (pass), for last pass
 Result found: flight 179982 (fail), for first failure
 Repro found: flight 179988 (pass), for last pass
 Repro found: flight 179990 (fail), for first failure
 Repro found: flight 179997 (pass), for last pass
 Repro found: flight 179999 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  qemuu https://gitlab.com/qemu-project/qemu.git
  Bug introduced:  c86422c5549c0983b4b4525b8f56a1c69dd67aa1
  Bug not present: c057960c4e33becb22d4741156203a4b0d4a3088
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/179999/


  commit c86422c5549c0983b4b4525b8f56a1c69dd67aa1
  Author: Emanuele Giuseppe Esposito <eesposit@redhat.com>
  Date:   Fri Jan 13 21:42:04 2023 +0100
  
      block: Convert bdrv_refresh_total_sectors() to co_wrapper_mixed
      
      BlockDriver->bdrv_getlength is categorized as IO callback, and it
      currently doesn't run in a coroutine. We should let it take a graph
      rdlock since the callback traverses the block nodes graph, which however
      is only possible in a coroutine.
      
      Therefore turn it into a co_wrapper to move the actual function into a
      coroutine where the lock can be taken.
      
      Because now this function creates a new coroutine and polls, we need to
      take the AioContext lock where it is missing, for the only reason that
      internally co_wrapper calls AIO_WAIT_WHILE and it expects to release the
      AioContext lock.
      
      This is especially messy when a co_wrapper creates a coroutine and polls
      in bdrv_open_driver, because this function has so many callers in so
      many context that it can easily lead to deadlocks. Therefore the new
      rule for bdrv_open_driver is that the caller must always hold the
      AioContext lock of the given bs (except if it is a coroutine), because
      the function calls bdrv_refresh_total_sectors() which is now a
      co_wrapper.
      
      Once the rwlock is ultimated and placed in every place it needs to be,
      we will poll using AIO_WAIT_WHILE_UNLOCKED and remove the AioContext
      lock.
      
      Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
      Signed-off-by: Kevin Wolf <kwolf@redhat.com>
      Message-Id: <20230113204212.359076-7-kwolf@redhat.com>
      Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
      Signed-off-by: Kevin Wolf <kwolf@redhat.com>

neato: graph is too large for cairo-renderer bitmaps. Scaling by 0.325198 to fit
pnmtopng: 231 colors found
Revision graph left in /home/logs/results/bisect/qemu-mainline/test-amd64-amd64-xl-qcow2.debian-di-install.{dot,ps,png,html,svg}.
----------------------------------------
179999: tolerable ALL FAIL

flight 179999 qemu-mainline real-bisect [real]
http://logs.test-lab.xenproject.org/osstest/logs/179999/

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 test-amd64-amd64-xl-qcow2    12 debian-di-install       fail baseline untested


jobs:
 test-amd64-amd64-xl-qcow2                                    fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary



From xen-devel-bounces@lists.xenproject.org Sun Mar 26 14:01:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Mar 2023 14:01:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514945.797419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgQwD-0001l5-4E; Sun, 26 Mar 2023 14:01:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514945.797419; Sun, 26 Mar 2023 14:01: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 1pgQwD-0001ky-1D; Sun, 26 Mar 2023 14:01:37 +0000
Received: by outflank-mailman (input) for mailman id 514945;
 Sun, 26 Mar 2023 14: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 1pgQwB-0001ko-TT; Sun, 26 Mar 2023 14: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 1pgQwB-0004TU-Qq; Sun, 26 Mar 2023 14: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 1pgQwB-0007Xy-Dz; Sun, 26 Mar 2023 14:01:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgQwB-0005Q0-DV; Sun, 26 Mar 2023 14: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=oaVzHi8S8G6uFQJO+MBNvW4Knd9x6W88/nCTofySX80=; b=1iAe/LxpXjTLrDEPJLJUlgKaUk
	4cGxt3H+NZcizE+gs1LxdSNwRTDfsTUbLo8vYaBtJM1rF+bn03fSxCJd1H8dWYzovYsJifeAi1Mhl
	XYdlj542IQdKsQjKePMC8fStTQjl8T94SRqqnN0wCpiXPnn4I7sFRWTnf4U/u7YDjArA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179987-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 179987: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    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-i386-libvirt-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-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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=e9adb4dcb1e51a098a530d0e68f697ad0fff579f
X-Osstest-Versions-That:
    libvirt=7944700b40374a0ed33883e75667303f217f7a9c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Mar 2023 14:01:35 +0000

flight 179987 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179987/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-i386-libvirt-xsm  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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              e9adb4dcb1e51a098a530d0e68f697ad0fff579f
baseline version:
 libvirt              7944700b40374a0ed33883e75667303f217f7a9c

Last test of basis   179923  2023-03-24 11:40:00 Z    2 days
Testing same since   179962  2023-03-25 08:39:51 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Martin Kletzander <mkletzan@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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   7944700b40..e9adb4dcb1  e9adb4dcb1e51a098a530d0e68f697ad0fff579f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sun Mar 26 17:34:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Mar 2023 17:34:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.514984.797450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgUG9-00009g-B9; Sun, 26 Mar 2023 17:34:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 514984.797450; Sun, 26 Mar 2023 17:34:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgUG9-00009Z-8X; Sun, 26 Mar 2023 17:34:25 +0000
Received: by outflank-mailman (input) for mailman id 514984;
 Sun, 26 Mar 2023 17:34: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 1pgUG8-00009O-JD; Sun, 26 Mar 2023 17:34: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 1pgUG8-00019J-CS; Sun, 26 Mar 2023 17:34: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 1pgUG7-0006Gq-V6; Sun, 26 Mar 2023 17:34:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgUG7-00027M-Uc; Sun, 26 Mar 2023 17:34: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=Ba/ktJQf12ADKNw5moIE83d+nusGCtfR7wtxjG/EnNk=; b=x+WNO2kwrGdRXUf0AZS3O2LAnT
	EroXuHBPIBE41hqXf3gZQRfOB/34QfVwNJLa/bhMZfL9sezlZZo0BPvWO4JLX2wLz+japbb3GLgjY
	fmViFQmUU1XuuUGiYBybGhsJerk6aOS/5NIs/Mpj5Kdk4YYGyKyZ4+2Xx4LxmhRc8syc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179991-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 179991: tolerable trouble: fail/pass/starved
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-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
X-Osstest-Versions-That:
    xen=b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Mar 2023 17:34:23 +0000

flight 179991 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/179991/

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 179969
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179969
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179969
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179969
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179969
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail like 179969
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179969
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179969
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179969
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179969
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-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-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-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-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
baseline version:
 xen                  b1f11273d5a774cc88a3685c96c2e7cf6385e3b6

Last test of basis   179991  2023-03-26 06:20:27 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 Mar 26 20:10:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Mar 2023 20:10:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515007.797473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgWgQ-0008Sx-EA; Sun, 26 Mar 2023 20:09:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515007.797473; Sun, 26 Mar 2023 20:09: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 1pgWgQ-0008Sq-AR; Sun, 26 Mar 2023 20:09:42 +0000
Received: by outflank-mailman (input) for mailman id 515007;
 Sun, 26 Mar 2023 20:09: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 1pgWgP-0008Sf-6M; Sun, 26 Mar 2023 20:09: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 1pgWgP-0004qK-4E; Sun, 26 Mar 2023 20:09: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 1pgWgO-0001bt-OQ; Sun, 26 Mar 2023 20:09:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgWgO-0004uf-Nu; Sun, 26 Mar 2023 20:09: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=5Elzz1jE6mGCledsb0kX9c30jLTHpJI3KO6yZOvAzXc=; b=iyMD3R59dNtTHvT1iY00wdlFz+
	93RagRCUD+JR9HqiwyfGA2xUyR6x/F/tF8Mqb1bt7Yp6FGrgI5uVyFVNYR/z3MxD10GDywZxOH7oz
	BApTRQkxj9r9i08E3hZiTPgzi55YP22sEDim8XgRg50o8fNkaSo0TR6B6L9hd7T6623U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180006-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180006: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=2c93253c95dbbc161650dfaeccaa3d866a2e29f2
X-Osstest-Versions-That:
    ovmf=07fa6d1841abcfc58b226027d711ebb47559f442
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Mar 2023 20:09:40 +0000

flight 180006 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180006/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 2c93253c95dbbc161650dfaeccaa3d866a2e29f2
baseline version:
 ovmf                 07fa6d1841abcfc58b226027d711ebb47559f442

Last test of basis   179983  2023-03-26 02:10:43 Z    0 days
Testing same since   180006  2023-03-26 17:42:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@amd.com>
  Isaac Oram <isaac.w.oram@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
   07fa6d1841..2c93253c95  2c93253c95dbbc161650dfaeccaa3d866a2e29f2 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sun Mar 26 22:10:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Mar 2023 22:10:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515020.797501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgYZZ-00060j-If; Sun, 26 Mar 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 515020.797501; Sun, 26 Mar 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 1pgYZZ-00060c-G2; Sun, 26 Mar 2023 22:10:45 +0000
Received: by outflank-mailman (input) for mailman id 515020;
 Sun, 26 Mar 2023 22:10: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 1pgYZY-00060S-6J; Sun, 26 Mar 2023 22:10: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 1pgYZY-0007ds-3T; Sun, 26 Mar 2023 22:10: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 1pgYZX-0004SJ-OW; Sun, 26 Mar 2023 22:10:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgYZX-0008Uj-O1; Sun, 26 Mar 2023 22: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5mqTajKiSsFIaTzNifjMhiNE1qVOPM9FSUhFOjIJWik=; b=ixYxzN8E9YZlq1EEUih/KgFIqe
	L2SFRLg4OzcstRnsCKwRMUYIVSIqfND8akTqrwu/yAZ2NYMrCdb5eQ3g+llFEsKGMl3txFmUdr/dr
	+cKU0Y4scnrXKspYGBu/NGFuza6DidkTT6xndQhpVlNr+/yZ/+ID1CQhU+lNHtcRhXBM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180009-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180009: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=69e59545b14739e004d3f0452411e195d2a3c197
X-Osstest-Versions-That:
    ovmf=2c93253c95dbbc161650dfaeccaa3d866a2e29f2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Mar 2023 22:10:43 +0000

flight 180009 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180009/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 69e59545b14739e004d3f0452411e195d2a3c197
baseline version:
 ovmf                 2c93253c95dbbc161650dfaeccaa3d866a2e29f2

Last test of basis   180006  2023-03-26 17:42:11 Z    0 days
Testing same since   180009  2023-03-26 20:12:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Abner Chang <abner.chang@amd.com>
  Isaac Oram <isaac.w.oram@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
   2c93253c95..69e59545b1  69e59545b14739e004d3f0452411e195d2a3c197 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sun Mar 26 23:37:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Mar 2023 23:37:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515037.797544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgZv7-0007Dy-5U; Sun, 26 Mar 2023 23:37:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515037.797544; Sun, 26 Mar 2023 23: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 1pgZv7-0007Dr-1J; Sun, 26 Mar 2023 23:37:05 +0000
Received: by outflank-mailman (input) for mailman id 515037;
 Sun, 26 Mar 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 <osstest-admin@xenproject.org>)
 id 1pgZv5-0007Dh-Dc; Sun, 26 Mar 2023 23:37: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 1pgZv5-000111-9W; Sun, 26 Mar 2023 23:37: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 1pgZv5-0006QI-2A; Sun, 26 Mar 2023 23:37:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgZv5-0006ca-1c; Sun, 26 Mar 2023 23: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=P4dylVmGmiO5Tz1Uaq65eNJHnfA9iTKRsL4chjxUia8=; b=I2vpqWZhT8TueN2u4Dh3/w5use
	COY9Uh84cP4xNv0hj9XA6NUkuxvCHSUvgqXpDAmSyZcMHKnnz0hrvmA20TCAdNRVK7P2Zjog618Zu
	HV5f0xjVesQ+ups5RrVqCmcB/M7ALZtCiDRsbvgXKWVtNc4Fj3L9UbAYfqqIz7/MDBJc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-179993-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 179993: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-xl-shadow:xen-install:fail:heisenbug
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=e3debd5e7d0ce031356024878a0a18b9d109354a
X-Osstest-Versions-That:
    qemuu=7b0f0aa55fd292fa3489755a3a896e496c51ea86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Mar 2023 23:37:03 +0000

flight 179993 qemu-mainline real [real]
flight 180013 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/179993/
http://logs.test-lab.xenproject.org/osstest/logs/180013/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-shadow     7 xen-install         fail pass in 180013-retest
 test-amd64-i386-xl-vhd 21 guest-start/debian.repeat fail pass in 180013-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179518
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179518
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179518
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179518
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179518
 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-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-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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          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-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 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      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                e3debd5e7d0ce031356024878a0a18b9d109354a
baseline version:
 qemuu                7b0f0aa55fd292fa3489755a3a896e496c51ea86

Last test of basis   179518  2023-03-09 10:37:19 Z   17 days
Failing since        179526  2023-03-10 01:53:40 Z   16 days   26 attempts
Testing same since   179993  2023-03-26 06:49:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Albert Esteve <aesteve@redhat.com>
  Alex Bennée <alex.bennee@linaro.org>
  Alex Williamson <alex.williamson@redhat.com>
  Alistair Francis <alistair.francis@wdc.com>
  Andreas Schwab <schwab@suse.de>
  Anthony PERARD <anthony.perard@citrix.com>
  Anton Johansson <anjo@rev.ng>
  Avihai Horon <avihaih@nvidia.com>
  BALATON Zoltan <balaton@eik.bme.hu>
  Bernhard Beschow <shentey@gmail.com>
  Bin Meng <bmeng@tinylab.org>
  Carlos López <clopez@suse.de>
  Chen Baozi <chenbaozi@phytium.com.cn>
  Cédric Le Goater <clg@kaod.org>
  Cédric Le Goater <clg@redhat.com>
  Damien Hedde <damien.hedde@dahe.fr>
  Daniel P. Berrangé <berrange@redhat.com>
  David Hildenbrand <david@redhat.com>
  David Woodhouse <dwmw2@infradead.org>
  David Woodhouse <dwmw@amazon.co.uk>
  Dr. David Alan Gilbert <dgilbert@redhat.com>
  Erico Nunes <ernunes@redhat.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabiano Rosas <farosas@suse.de>
  Fan Ni <fan.ni@samsung.com>
  fanwenjie <fanwj@mail.ustc.edu.cn>
  fanwj@mail.ustc.edu.cn <fanwj@mail.ustc.edu.cn>
  Fiona Ebner <f.ebner@proxmox.com>
  Gal Hammer <gal.hammer@sap.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Guenter Roeck <linux@roeck-us.net>
  Guo Ren <guoren@kernel.org>
  Hanna Czenczek <hreitz@redhat.com>
  Helge Deller <deller@gmx.de>
  Idan Horowitz <idan.horowitz@gmail.com>
  Igor Mammedov <imammedo@redhat.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ivan Klokov <ivan.klokov@syntacore.com>
  Jared Rossi <jrossi@linux.ibm.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jiaxun Yang <jiaxun.yang@flygoat.com>
  Joao Martins <joao.m.martins@oracle.com>
  John Snow <jsnow@redhat.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Juan Quintela <quintela@redhat.com>
  Karthikeyan Pasupathi <pkarthikeyan1509@gmail.com>
  Kevin Wolf <kwolf@redhat.com>
  Kfir Manor <kfir@daynix.com>
  Konstantin Kostiuk <kkostiuk@redhat.com>
  Kostiantyn Kostiuk <kostyanf14@live.com>
  Laurent Vivier <laurent@vivier.eu>
  Lei Yang <leiyang@redhat.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Mads Ynddal <m.ynddal@samsung.com>
  Marc-André Lureau <marcandre.lureau@redhat.com>
  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
  Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
  Marcin Nowakowski <marcin.nowakowski@fungible.com>
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  Markus Armbruster <armbru@redhat.com>
  Matheus Tavares Bernardino <quic_mathbern@quicinc.com>
  Mathis Marion <mathis.marion@silabs.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mikhail Tyutin <m.tyutin@yadro.com>
  Miroslav Rezanina <mrezanin@redhat.com>
  Nina Schoetterl-Glausch <nsg@linux.ibm.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paul Durrant <paul@xen.org>
  Paul Durrant <pdurrant@amazon.com>
  Peter Maydell <peter.maydell@linaro.org>
  Peter Xu <peterx@redhat.com>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Pierrick Bouvier <pierrick.bouvier@linaro.org>
  Qiang Liu <cyruscyliu@gmail.com>
  Rene Engel <ReneEngel80@emailn.de>
  Richard Henderson <richard.henderson@linaro.org>
  Ross Lagerwall <ross.lagerwall@citrix.com>
  Shreesh Adiga <16567adigashreesh@gmail.com>
  Stefan Hajnoczi <stefanha@redhat.com>
  Steve Sistare <steven.sistare@oracle.com>
  Strahinja Jankovic <strahinja.p.jankovic@gmail.com>
  Taylor Simpson <tsimpson@quicinc.com>
  Ted Chen <znscnchen@gmail.com>
  Thomas Huth <thuth@redhat.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Viktor Prutyanov <viktor@daynix.com>
  Wei Wang <wei.w.wang@intel.com>
  Willem van de Velde <williamvdvelde@gmail.com>
  Yeqi Fu <fufuyqqqqqq@gmail.com>
  Yuri Benditovich <yuri.benditovich@daynix.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-amd64-i386-xl-shadow                                    fail    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   7b0f0aa55f..e3debd5e7d  e3debd5e7d0ce031356024878a0a18b9d109354a -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 02:35:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 02:35:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515043.797554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgchS-0000T8-PT; Mon, 27 Mar 2023 02:35:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515043.797554; Mon, 27 Mar 2023 02: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 1pgchS-0000T1-Lz; Mon, 27 Mar 2023 02:35:10 +0000
Received: by outflank-mailman (input) for mailman id 515043;
 Mon, 27 Mar 2023 02:35: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 1pgchQ-0000Sr-Tn; Mon, 27 Mar 2023 02:35: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 1pgchQ-0004ZH-Qx; Mon, 27 Mar 2023 02:35: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 1pgchQ-0001vq-9B; Mon, 27 Mar 2023 02:35:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgchQ-0006ZW-8k; Mon, 27 Mar 2023 02: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=c3mRcuUJYhzErYcgUc0dw3B4adEi9Rn/m7iAa2lnCwY=; b=d+Txs37NsPXr7JkInA1V7I6CnG
	annbJGenj6kZ15wSzL/atRSlAZkpj5/I2gabLdpaKgGCCY8Chl1p51CVWORymBpfSXlbfG6eebck/
	j+kPaaBpEpA1i5W/LwViyQ4Rg8vP/eCs4owABKqCB7LKv6PJxfrWT/5raPnbnm9/vOnw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180001-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 180001: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-localmigrate/x10:fail:heisenbug
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    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-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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-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-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=da8e7da11e4ba758caf4c149cc8d8cd555aefe5f
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Mar 2023 02:35:08 +0000

flight 180001 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180001/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 26 guest-migrate/src_host/dst_host fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pair 26 guest-migrate/src_host/dst_host fail in 179976 REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 17 guest-saverestore fail in 179976 REGR. vs. 178042
 test-amd64-amd64-xl-credit1 22 guest-start/debian.repeat fail in 179976 REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 17 guest-localmigrate fail in 179976 REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10 fail in 179976 REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 20 guest-localmigrate/x10 fail in 179976 REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 20 guest-localmigrate/x10 fail in 179976 REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 179976 REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 18 guest-start/debian.repeat fail in 179976 REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 16 guest-localmigrate fail in 179976 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-xsm 17 guest-saverestore fail in 179976 pass in 180001
 test-arm64-arm64-xl-credit2  14 guest-start      fail in 179976 pass in 180001
 test-amd64-amd64-xl-credit2 20 guest-localmigrate/x10 fail in 179976 pass in 180001
 test-arm64-arm64-libvirt-xsm 14 guest-start      fail in 179976 pass in 180001
 test-amd64-amd64-xl-rtds   18 guest-localmigrate fail in 179976 pass in 180001
 test-amd64-coresched-amd64-xl 14 guest-start     fail in 179976 pass in 180001
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail in 179976 pass in 180001
 test-amd64-amd64-xl-credit1  17 guest-saverestore          fail pass in 179976
 test-amd64-amd64-pair        25 guest-start/debian         fail pass in 179976
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start               fail pass in 179976
 test-amd64-amd64-freebsd11-amd64 13 guest-start            fail pass in 179976
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start           fail pass in 179976
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start             fail pass in 179976
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 179976
 test-arm64-arm64-xl-thunderx 14 guest-start                fail pass in 179976
 test-amd64-amd64-xl-multivcpu 14 guest-start               fail pass in 179976
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 179976

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx 15 migrate-support-check fail in 179976 never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check fail in 179976 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                da8e7da11e4ba758caf4c149cc8d8cd555aefe5f
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   33 days
Failing since        178093  2023-02-22 05:02:47 Z   32 days   59 attempts
Testing same since   179976  2023-03-25 21:41:57 Z    1 days    2 attempts

------------------------------------------------------------
2265 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 265933 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 07:35:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 07:35:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515056.797564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pghOA-0007tj-8u; Mon, 27 Mar 2023 07:35:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515056.797564; Mon, 27 Mar 2023 07:35:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pghOA-0007tc-63; Mon, 27 Mar 2023 07:35:34 +0000
Received: by outflank-mailman (input) for mailman id 515056;
 Mon, 27 Mar 2023 07: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 1pghO8-0007tS-2X; Mon, 27 Mar 2023 07: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 1pghO8-00042H-02; Mon, 27 Mar 2023 07: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 1pghO7-0008TG-Gr; Mon, 27 Mar 2023 07:35:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pghO7-0005wI-GU; Mon, 27 Mar 2023 07: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=9XrUeSWohWpHnCTAJ6vrURRMeHDuDHQhSIP7FLrKTlI=; b=WGJfGg5Dk7LYbLYD1YhmPA7CSH
	imGWg+22nTQsFA1ZiiD41YN3lhg0Pn5YrptHsMfE2FvotKIUTPMbHgtHXWFZadABr8bQdRjAaJyYZ
	AOYrTUF7IlDVS/MgJ12fPDUYAxrXmJc6Mufr+qhzVmknG+//dALFnX2f2wVcRW3wQChg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180026-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180026: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=1bfc89414dbc2b4e620e06231ae98d714914fc46
X-Osstest-Versions-That:
    ovmf=69e59545b14739e004d3f0452411e195d2a3c197
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Mar 2023 07:35:31 +0000

flight 180026 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180026/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 1bfc89414dbc2b4e620e06231ae98d714914fc46
baseline version:
 ovmf                 69e59545b14739e004d3f0452411e195d2a3c197

Last test of basis   180009  2023-03-26 20:12:09 Z    0 days
Testing same since   180026  2023-03-27 04:42:14 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gua Guo <gua.guo@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
   69e59545b1..1bfc89414d  1bfc89414dbc2b4e620e06231ae98d714914fc46 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 08:37:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 08:37:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515068.797583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgiLb-00071k-1q; Mon, 27 Mar 2023 08:36:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515068.797583; Mon, 27 Mar 2023 08:36:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgiLa-00071d-VP; Mon, 27 Mar 2023 08:36:58 +0000
Received: by outflank-mailman (input) for mailman id 515068;
 Mon, 27 Mar 2023 08:36: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=J70X=7T=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pgiLa-00071F-3R
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 08:36: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 86c3e9e4-cc7a-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 10:36:54 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id CC0201F8A8;
 Mon, 27 Mar 2023 08:36: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 7DF8B13329;
 Mon, 27 Mar 2023 08:36:54 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id I5EqHaZVIWStSAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 27 Mar 2023 08:36: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: 86c3e9e4-cc7a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679906214; 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=fnetXybi04CNdZ9/xLVwXiguyC8aMRuM30o5vuH2Yac=;
	b=GUN+jirZQ5RXcvQG0fEWtMYCkkdmRxzV1X9DFZMTb8Oo7vos8dNhs8farNpDq9/xQWGWMG
	hQdb6B5nRuZ1zHhXynYWLABX2fQEzMVrt55V226/auqxbx4NrE8xCQi09AO4QOLmyQ4W65
	2EIXlCH0Ke5wskB6xPqHcftEoQWoXMo=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	xen-devel@lists.xenproject.org,
	stable@vger.kernel.org
Subject: [PATCH 1/2] xen/netback: don't do grant copy across page boundary
Date: Mon, 27 Mar 2023 10:36:45 +0200
Message-Id: <20230327083646.18690-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230327083646.18690-1-jgross@suse.com>
References: <20230327083646.18690-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Fix xenvif_get_requests() not to do grant copy operations across local
page boundaries. This requires to double the maximum number of copy
operations per queue, as each copy could now be split into 2.

Make sure that struct xenvif_tx_cb doesn't grow too large.

Cc: stable@vger.kernel.org
Fixes: ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in the non-linear area")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/net/xen-netback/common.h  |  2 +-
 drivers/net/xen-netback/netback.c | 25 +++++++++++++++++++++++--
 2 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/drivers/net/xen-netback/common.h b/drivers/net/xen-netback/common.h
index 3dbfc8a6924e..1fcbd83f7ff2 100644
--- a/drivers/net/xen-netback/common.h
+++ b/drivers/net/xen-netback/common.h
@@ -166,7 +166,7 @@ struct xenvif_queue { /* Per-queue data for xenvif */
 	struct pending_tx_info pending_tx_info[MAX_PENDING_REQS];
 	grant_handle_t grant_tx_handle[MAX_PENDING_REQS];
 
-	struct gnttab_copy tx_copy_ops[MAX_PENDING_REQS];
+	struct gnttab_copy tx_copy_ops[2 * MAX_PENDING_REQS];
 	struct gnttab_map_grant_ref tx_map_ops[MAX_PENDING_REQS];
 	struct gnttab_unmap_grant_ref tx_unmap_ops[MAX_PENDING_REQS];
 	/* passed to gnttab_[un]map_refs with pages under (un)mapping */
diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 1b42676ca141..111c179f161b 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -334,6 +334,7 @@ static int xenvif_count_requests(struct xenvif_queue *queue,
 struct xenvif_tx_cb {
 	u16 copy_pending_idx[XEN_NETBK_LEGACY_SLOTS_MAX + 1];
 	u8 copy_count;
+	u32 split_mask;
 };
 
 #define XENVIF_TX_CB(skb) ((struct xenvif_tx_cb *)(skb)->cb)
@@ -361,6 +362,8 @@ static inline struct sk_buff *xenvif_alloc_skb(unsigned int size)
 	struct sk_buff *skb =
 		alloc_skb(size + NET_SKB_PAD + NET_IP_ALIGN,
 			  GFP_ATOMIC | __GFP_NOWARN);
+
+	BUILD_BUG_ON(sizeof(*XENVIF_TX_CB(skb)) > sizeof(skb->cb));
 	if (unlikely(skb == NULL))
 		return NULL;
 
@@ -396,11 +399,13 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
 	nr_slots = shinfo->nr_frags + 1;
 
 	copy_count(skb) = 0;
+	XENVIF_TX_CB(skb)->split_mask = 0;
 
 	/* Create copy ops for exactly data_len bytes into the skb head. */
 	__skb_put(skb, data_len);
 	while (data_len > 0) {
 		int amount = data_len > txp->size ? txp->size : data_len;
+		bool split = false;
 
 		cop->source.u.ref = txp->gref;
 		cop->source.domid = queue->vif->domid;
@@ -413,6 +418,13 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
 		cop->dest.u.gmfn = virt_to_gfn(skb->data + skb_headlen(skb)
 				               - data_len);
 
+		/* Don't cross local page boundary! */
+		if (cop->dest.offset + amount > XEN_PAGE_SIZE) {
+			amount = XEN_PAGE_SIZE - cop->dest.offset;
+			XENVIF_TX_CB(skb)->split_mask |= 1U << copy_count(skb);
+			split = true;
+		}
+
 		cop->len = amount;
 		cop->flags = GNTCOPY_source_gref;
 
@@ -420,7 +432,8 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
 		pending_idx = queue->pending_ring[index];
 		callback_param(queue, pending_idx).ctx = NULL;
 		copy_pending_idx(skb, copy_count(skb)) = pending_idx;
-		copy_count(skb)++;
+		if (!split)
+			copy_count(skb)++;
 
 		cop++;
 		data_len -= amount;
@@ -441,7 +454,8 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
 			nr_slots--;
 		} else {
 			/* The copy op partially covered the tx_request.
-			 * The remainder will be mapped.
+			 * The remainder will be mapped or copied in the next
+			 * iteration.
 			 */
 			txp->offset += amount;
 			txp->size -= amount;
@@ -539,6 +553,13 @@ static int xenvif_tx_check_gop(struct xenvif_queue *queue,
 		pending_idx = copy_pending_idx(skb, i);
 
 		newerr = (*gopp_copy)->status;
+
+		/* Split copies need to be handled together. */
+		if (XENVIF_TX_CB(skb)->split_mask & (1U << i)) {
+			(*gopp_copy)++;
+			if (!newerr)
+				newerr = (*gopp_copy)->status;
+		}
 		if (likely(!newerr)) {
 			/* The first frag might still have this slot mapped */
 			if (i < copy_count(skb) - 1 || !sharedslot)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 08:37:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 08:37:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515069.797594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgiLf-0007Is-Ah; Mon, 27 Mar 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 515069.797594; Mon, 27 Mar 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 1pgiLf-0007Il-6x; Mon, 27 Mar 2023 08:37:03 +0000
Received: by outflank-mailman (input) for mailman id 515069;
 Mon, 27 Mar 2023 08: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=J70X=7T=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pgiLe-00071F-Fd
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 08:37: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 8a2600f9-cc7a-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 10:36:59 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 8FDA81F8A8;
 Mon, 27 Mar 2023 08:37: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 3D0B913329;
 Mon, 27 Mar 2023 08:37:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id rNmIDaxVIWS+SAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 27 Mar 2023 08:37: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: 8a2600f9-cc7a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679906220; 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=BYwAGMe1PfAGydSVqlgv0hiTKV8LxJz7Cfr4pQvks4M=;
	b=pnRmRrpElIfOGh45HyDbGyTLv5HE1XJiCA+hgB75qnV0jL4KSVd4BTS/HMLMTgZ6vr5c/q
	EW2BxF/x9H47o/NyMlbMwkvnqPLcy3SN0f4vddtVKFgShfc+EvOgYvcl9QnYQkD2CuiNrS
	8JiD6T2Fu41dFmCAKBsZ2kYeG2PvttU=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	xen-devel@lists.xenproject.org,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 2/2] xen/netback: remove not needed test in xenvif_tx_build_gops()
Date: Mon, 27 Mar 2023 10:36:46 +0200
Message-Id: <20230327083646.18690-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230327083646.18690-1-jgross@suse.com>
References: <20230327083646.18690-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The tests for the number of grant mapping or copy operations reaching
the array size of the operations buffer at the end of the main loop in
xenvif_tx_build_gops() isn't needed.

The loop can handle at maximum MAX_PENDING_REQS transfer requests, as
XEN_RING_NR_UNCONSUMED_REQUESTS() is taking unsent responses into
consideration, too.

Remove the tests.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/net/xen-netback/netback.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 111c179f161b..4943be4fd99d 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -1082,10 +1082,6 @@ static void xenvif_tx_build_gops(struct xenvif_queue *queue,
 		__skb_queue_tail(&queue->tx_queue, skb);
 
 		queue->tx.req_cons = idx;
-
-		if ((*map_ops >= ARRAY_SIZE(queue->tx_map_ops)) ||
-		    (*copy_ops >= ARRAY_SIZE(queue->tx_copy_ops)))
-			break;
 	}
 
 	return;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 08:37:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 08:37:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515067.797574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgiLT-0006lq-RP; Mon, 27 Mar 2023 08:36:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515067.797574; Mon, 27 Mar 2023 08:36: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 1pgiLT-0006lj-OT; Mon, 27 Mar 2023 08:36:51 +0000
Received: by outflank-mailman (input) for mailman id 515067;
 Mon, 27 Mar 2023 08:36: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=J70X=7T=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pgiLT-0006ld-AY
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 08:36:51 +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 842fdc77-cc7a-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 10:36:50 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 1ABE321AB2;
 Mon, 27 Mar 2023 08:36: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 B2EA313329;
 Mon, 27 Mar 2023 08:36:48 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id g+hAKqBVIWShSAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 27 Mar 2023 08: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: 842fdc77-cc7a-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679906209; 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=v6oIQCvPsK0b+etSaaLmHyST9of/SZHXfQgb0QAgenE=;
	b=Oi3uElNpMUuOMeDRymfgAwa5c2IqAibwS3mTpkTLizw999HdkXOS1GW5XUH67WRrnwYWOU
	nLAcy9zmDB1SV1j49URJEljBGckKUPgkvNJ7DHnQ4UkIdIFCMAfCoO/3Xl0gi6AjTx2bfZ
	UEV7dQkypnhgOwx26R9vDO7b/jyncC0=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	xen-devel@lists.xenproject.org,
	stable@vger.kernel.org
Subject: [PATCH 0/2] xen/netback: fix issue introduced recently
Date: Mon, 27 Mar 2023 10:36:44 +0200
Message-Id: <20230327083646.18690-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The fix for XSA-423 introduced a bug which resulted in loss of network
connection in some configurations.

The first patch is fixing the issue, while the second one is removing
a test which isn't needed.

Juergen Gross (2):
  xen/netback: don't do grant copy across page boundary
  xen/netback: remove not needed test in xenvif_tx_build_gops()

 drivers/net/xen-netback/common.h  |  2 +-
 drivers/net/xen-netback/netback.c | 29 +++++++++++++++++++++++------
 2 files changed, 24 insertions(+), 7 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 08:49:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 08:49:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515076.797604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgiXm-00019r-EI; Mon, 27 Mar 2023 08:49:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515076.797604; Mon, 27 Mar 2023 08: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 1pgiXm-00019k-BM; Mon, 27 Mar 2023 08:49:34 +0000
Received: by outflank-mailman (input) for mailman id 515076;
 Mon, 27 Mar 2023 08: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=16zh=7T=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pgiXl-00019d-16
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 08:49:33 +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 49282e86-cc7c-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 10:49:29 +0200 (CEST)
Received: by mail-lf1-x12e.google.com with SMTP id g17so10330404lfv.4
 for <xen-devel@lists.xenproject.org>; Mon, 27 Mar 2023 01:49:30 -0700 (PDT)
Received: from [192.168.202.197] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 w9-20020a05651203c900b004db2ac3a522sm4610083lfp.62.2023.03.27.01.49.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Mar 2023 01:49:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49282e86-cc7c-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679906970;
        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=kC7uDdIFlswVTL4rW/vkd+1v8Pnz8G0nfTVZUxf2poc=;
        b=HXQQrM/Y50NxsU1tBebHog9Ke91G4cslgdVPnn/ObFXjNQ+Wj2hRgApI/g95TWI8vz
         SQM27iNQ0/Xq6XUpf9X3LrIG5LJ4Md6kyx90LmhGOhC1zq9DSxKntUHKGEYUSBlKwsOA
         VbfiiSDq0pPRDyk18EFCfcVOha/d5DxUvkVGbJR9UBk7ArMVF++Snd2PhREDl5O+89LM
         L4b1RuAN5GZS1OjrjaveszQmeByYv9jpEQPQdMMCssWYcDWMKndv15pX4wMm88nde/31
         FYQZhsPuZOffI5PXXlUQrUetX0eJRadN19iE6/lfXi5AP4NWrshYr4iqB0baZwcnsyEq
         fCrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679906970;
        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=kC7uDdIFlswVTL4rW/vkd+1v8Pnz8G0nfTVZUxf2poc=;
        b=o6AgJcTPmG6dGuRVd9I3zjnSBKv15LbwZeOuSSOkJd+aZaDZ3IQbn5/CUJYfd+VRLL
         xkXirVD6KFtWsbEglSIf0pyJaaZY2UWWtgDjTTIIgrQ6UiPlmTjmKN/mcLna9mJwJNyY
         wbOCWbM2bpbaIz0OIs7M2nNU9gEUW6kN99zTWux/MPkfqGvR9TEf0mJTdiKi7jUjvQWj
         ef/OatCbas+SkPJOUGifjfiO46CXbMKmrOkZEFlFgonF+svckUcgyUCTAk1MFvHxkdan
         29FR3P9iD43C8RSPTVhZkqrFHELL/aqFD7JdiW04gtA3s/VqJZAWrd9SN6jXbxQzZqZR
         esQg==
X-Gm-Message-State: AAQBX9fjk0vBI8j/kZ+TQao24TjPUX327IcZLxoNDcJo6gnW3wI8eFZo
	YGZNxyYoDiDeKNciYSXvprY=
X-Google-Smtp-Source: AKy350aPHOao6x8u8Vww5TtAlnqcCAe/9eeiiy7UUlQuuUO+PZU2SXRksiJCdtXRpyB2yuKvf+OoFg==
X-Received: by 2002:a19:ae16:0:b0:4ea:e5b9:23b7 with SMTP id f22-20020a19ae16000000b004eae5b923b7mr3294322lfc.2.1679906970102;
        Mon, 27 Mar 2023 01:49:30 -0700 (PDT)
Message-ID: <2eac85c13b4454de2bfb80bc99ba2db0ddff0c1e.camel@gmail.com>
Subject: Re: [PATCH] ARM+RISC-V: BSS handling improvements
From: Oleksii <oleksii.kurochko@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, 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>, Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,  Connor Davis
 <connojdavis@gmail.com>
Date: Mon, 27 Mar 2023 11:49:29 +0300
In-Reply-To: <20230324222451.3295023-1-andrew.cooper3@citrix.com>
References: <20230324222451.3295023-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

Hi Andrew,

Reviewed-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 09:04:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 09:04:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515080.797614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgilt-0003ct-Ki; Mon, 27 Mar 2023 09:04:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515080.797614; Mon, 27 Mar 2023 09:04:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgilt-0003cm-Hr; Mon, 27 Mar 2023 09:04:09 +0000
Received: by outflank-mailman (input) for mailman id 515080;
 Mon, 27 Mar 2023 09:04: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=xFYs=7T=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pgilr-0003cf-Ms
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 09:04:07 +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 52db4a75-cc7e-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 11:04:04 +0200 (CEST)
Received: by mail-wr1-x435.google.com with SMTP id m2so7879249wrh.6
 for <xen-devel@lists.xenproject.org>; Mon, 27 Mar 2023 02:04:04 -0700 (PDT)
Received: from [192.168.26.216] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 u13-20020adfdb8d000000b002d2b117a6a6sm24567852wri.41.2023.03.27.02.04.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Mar 2023 02:04:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52db4a75-cc7e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679907844;
        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=PXHUgllCiE+YVplh4F0vC+TIMQgHYLAcdKhqqMncm+M=;
        b=UjgOhIU/pavH2tlMiWKycQqAigQYIjgXPIu4oocRPGzCa6LiVMGOvqObrg/PRgkmVu
         9Xnhg4WGVJjU3lOJoCVQ3UYykePZC+rJIGQhsMn5smPo/OHUQWgnk0LqVyle5s5lsPX9
         ToiZQ+OZguuNokmfrIAl2lS9WK4Q4SvyYi+2GIqflDRN3t4HaR+m2AfzLnCmhcdjb9vl
         p5o8JEG89pLh5h9zUx7yYvO8WMqBtMnjVx7B6Bhhv0/XcI8FcsMimYzxslgt9LrfgO6H
         KJEquB69ob74KiHksS94yNZveY1kMYPS4TsXHra/0UD5uSQkXuOjOOe2Vh/wn+YamevJ
         t5jQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679907844;
        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=PXHUgllCiE+YVplh4F0vC+TIMQgHYLAcdKhqqMncm+M=;
        b=XNTLRQgqdgJyFHNz0LcKvbiQcn0ut2xNaaNQN6OFxLtAsr+mW54GwXr50xufFmnRvE
         h7i6WJXKTwfQvW2kHLiJ5IC5chjiZN6T+s3oM98E35dsHlQzR6iQYWl2FOE+s6yC5gI4
         BLYBuP/sRfJcR8kMqSh0dFDD/ZPTZVsdRr91ZkOH6dYIoPtRUBNY4xolo1Dv0YZWDGOX
         tSUM8C+uTF2gLH2PYkO784RujESbAdQJEVw/PDQkMbhHZK5MtFwKld109TDB9C/lplIc
         pDEJ1jG9c3HraTllGR1RLCOftjEXQGZ/hsvSCXvasadsE4EuRy8n3U8nymWSrP0Ox9c1
         5zug==
X-Gm-Message-State: AAQBX9dfySnaru1jfqSY3fSVfKWP8y4Uk4LIiOEjZk+Y+UzCuZBInGI0
	V3tknd0kciqICIwo1DuqhAU=
X-Google-Smtp-Source: AKy350ZCDxEOhvB06k/8nFr/OHWO5YAaSfzuL2Y8qzIAkmCg7c3/PINVfRoQvVapYrT+OqZlGSCrbw==
X-Received: by 2002:a5d:63cb:0:b0:2d5:2436:b584 with SMTP id c11-20020a5d63cb000000b002d52436b584mr8944362wrw.42.1679907844064;
        Mon, 27 Mar 2023 02:04:04 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <04f7b88c-a7dd-6d63-4938-06e71a194aa3@xen.org>
Date: Mon, 27 Mar 2023 10:04:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Reply-To: paul@xen.org
Subject: Re: [PATCH 1/2] xen/netback: don't do grant copy across page boundary
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org,
 netdev@vger.kernel.org
Cc: Wei Liu <wei.liu@kernel.org>, "David S. Miller" <davem@davemloft.net>,
 Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,
 Paolo Abeni <pabeni@redhat.com>, xen-devel@lists.xenproject.org,
 stable@vger.kernel.org
References: <20230327083646.18690-1-jgross@suse.com>
 <20230327083646.18690-2-jgross@suse.com>
Organization: Xen Project
In-Reply-To: <20230327083646.18690-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 27/03/2023 09:36, Juergen Gross wrote:
> Fix xenvif_get_requests() not to do grant copy operations across local
> page boundaries. This requires to double the maximum number of copy
> operations per queue, as each copy could now be split into 2.
> 
> Make sure that struct xenvif_tx_cb doesn't grow too large.
> 
> Cc: stable@vger.kernel.org
> Fixes: ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in the non-linear area")
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   drivers/net/xen-netback/common.h  |  2 +-
>   drivers/net/xen-netback/netback.c | 25 +++++++++++++++++++++++--
>   2 files changed, 24 insertions(+), 3 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 09:04:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 09:04:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515082.797623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgimM-00045D-TA; Mon, 27 Mar 2023 09:04:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515082.797623; Mon, 27 Mar 2023 09:04: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 1pgimM-000456-QX; Mon, 27 Mar 2023 09:04:38 +0000
Received: by outflank-mailman (input) for mailman id 515082;
 Mon, 27 Mar 2023 09:04: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=xFYs=7T=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1pgimL-0003cf-CK
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 09:04:37 +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 6548ad1e-cc7e-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 11:04:35 +0200 (CEST)
Received: by mail-wr1-x433.google.com with SMTP id y14so7885002wrq.4
 for <xen-devel@lists.xenproject.org>; Mon, 27 Mar 2023 02:04:35 -0700 (PDT)
Received: from [192.168.26.216] (54-240-197-230.amazon.com. [54.240.197.230])
 by smtp.gmail.com with ESMTPSA id
 h13-20020a5d430d000000b002d75ef32032sm17594498wrq.68.2023.03.27.02.04.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Mar 2023 02:04: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: 6548ad1e-cc7e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679907875;
        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=IeW3JOtl79P4h19QSrAjezOiQKqJvZ5XGjr/mFCgLF8=;
        b=KdPgUcOUttb4VuwP3TS2j+HxDR6qoeXv8hDgEMHfF8nKVpUKGv6KLG6rxR8dexRe4x
         bycDPB6vu67rXAgjz+Rt8/ovlklhiPBj6n4p+7iB2ERg1E/GFJsbuviHMjMAOLUR9EUf
         5J8Sa+5MqE73EnBceXFGBfcxY5Xt/TgOD7f4vNyEhoxYn/J18O4Ssw7C9uOEQP4Z4JM8
         IyRxsyOyr1iORBWFxDtRJf6UZeAJMz08DpzqaGK87bPVGsKq3lyzKsQ43IizJ36ERv2A
         YRrAmNHrdXWZNBxdZVq0rsdCnhXAzQRUY2ZCPMw+VfT1K9QFr+9KMHPccvRbU/8zAQMV
         9Q/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679907875;
        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=IeW3JOtl79P4h19QSrAjezOiQKqJvZ5XGjr/mFCgLF8=;
        b=BhF5VrRereAzH/gHvTL+HwsbFYOf53QcUqUss6Y0giMSD1r804b5+rAUDfJuWgi3+i
         xS3hnCNDi0w7p9YbfvHEElTL7MQXfZB2YQZXl7Pmg8e+xAlVRKooqFYvvNliIohLNJGM
         JhADEYfqz6AneL5OJvCynMv1eWDAdVYM1CLTySJlGvw+F7o5Tj6+7Mb7kQjObmeAz6/Y
         D0NgaclGG6MVrE7sFEsyJw75uX8UqzgFoc66oJHD/wgo2pqnyksuJDdNJlG+812E4Hkf
         kEajJLmrmzUeSduuZMgwp37jFme3mMZYx3sdgx2L+5RFFo/2rbrNac0Xyaz6zxPRPZGy
         UcpQ==
X-Gm-Message-State: AAQBX9eUxd/cbHPHTvIvw0qsiSrvVkzOEQgnyXjenlwhxxyGqRpiDQrp
	vHgzvw0sXoBpimK0vwSzdgY=
X-Google-Smtp-Source: AKy350YNxkfy6IOA56E0WFYwIMXU7I9spsD1DLtgWxU5JCd/dMGUPvsMws1K0rdvEqgYxVdDzVDW+g==
X-Received: by 2002:adf:e484:0:b0:2ce:a938:ecc9 with SMTP id i4-20020adfe484000000b002cea938ecc9mr8877647wrm.69.1679907874447;
        Mon, 27 Mar 2023 02:04:34 -0700 (PDT)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <990111ae-d2ba-5bfc-457d-bacb2b6ffb43@xen.org>
Date: Mon, 27 Mar 2023 10:04:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Reply-To: paul@xen.org
Subject: Re: [PATCH 2/2] xen/netback: remove not needed test in
 xenvif_tx_build_gops()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org,
 netdev@vger.kernel.org
Cc: Wei Liu <wei.liu@kernel.org>, "David S. Miller" <davem@davemloft.net>,
 Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>,
 Paolo Abeni <pabeni@redhat.com>, xen-devel@lists.xenproject.org,
 Jan Beulich <jbeulich@suse.com>
References: <20230327083646.18690-1-jgross@suse.com>
 <20230327083646.18690-3-jgross@suse.com>
Organization: Xen Project
In-Reply-To: <20230327083646.18690-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 27/03/2023 09:36, Juergen Gross wrote:
> The tests for the number of grant mapping or copy operations reaching
> the array size of the operations buffer at the end of the main loop in
> xenvif_tx_build_gops() isn't needed.
> 
> The loop can handle at maximum MAX_PENDING_REQS transfer requests, as
> XEN_RING_NR_UNCONSUMED_REQUESTS() is taking unsent responses into
> consideration, too.
> 
> Remove the tests.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   drivers/net/xen-netback/netback.c | 4 ----
>   1 file changed, 4 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 09:24:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 09:24:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515094.797634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgj5f-0006ve-Lo; Mon, 27 Mar 2023 09:24:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515094.797634; Mon, 27 Mar 2023 09: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 1pgj5f-0006vX-Iq; Mon, 27 Mar 2023 09:24:35 +0000
Received: by outflank-mailman (input) for mailman id 515094;
 Mon, 27 Mar 2023 09:24:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pgj5e-0006vM-Ld; Mon, 27 Mar 2023 09:24:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pgj5e-0007BL-I4; Mon, 27 Mar 2023 09:24: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 1pgj5e-0003yu-4x; Mon, 27 Mar 2023 09:24:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgj5e-00057F-4N; Mon, 27 Mar 2023 09:24: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=0Yfm/d/nv7EaED9EWSnAoFoUzmSAXSfAOAp19u8vhFU=; b=tfd7/x6oQrQQXmmgh3LNqS27iM
	UM3mbOeX4gozM9LYd9e8yAepgVbGsjm5/7fgrJS3dkpSnqoNg3TMhHUxw4gxbRR0+shMwzxD6LGVL
	NtW7F5TNYZHoOYlUU2Lmfpi4x4H/8bu+7OYaLxlC7PUpc0VVDk32nUBwkqKBATax2JHQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180024-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 180024: trouble: broken/fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:<job status>:broken:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-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: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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
X-Osstest-Versions-That:
    xen=b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Mar 2023 09:24:34 +0000

flight 180024 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180024/

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm    <job status>            broken

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 5 host-install(5) broken pass in 179991
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 179991

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 179991 like 179969
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179991
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179991
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179991
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179991
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179991
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179991
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179991
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179991
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179991
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-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 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-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-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-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
baseline version:
 xen                  b1f11273d5a774cc88a3685c96c2e7cf6385e3b6

Last test of basis   180024  2023-03-27 01:53:31 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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                 broken  
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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-qemuu-debianhvm-i386-xsm broken
broken-step test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm host-install(5)

Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 09:29:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 09:29:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515099.797644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgj9s-0007bP-8Q; Mon, 27 Mar 2023 09:28:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515099.797644; Mon, 27 Mar 2023 09: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 1pgj9s-0007bI-4Y; Mon, 27 Mar 2023 09:28:56 +0000
Received: by outflank-mailman (input) for mailman id 515099;
 Mon, 27 Mar 2023 09:28: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 1pgj9q-0007Zo-Pl; Mon, 27 Mar 2023 09:28: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 1pgj9q-0007Fx-Oe; Mon, 27 Mar 2023 09:28: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 1pgj9q-00043f-IW; Mon, 27 Mar 2023 09:28:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgj9q-0007IO-I3; Mon, 27 Mar 2023 09:28: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=AkRSqBZx8rce1v1bqvEzNcLxboLL8aGGiNmoLb+Y4RU=; b=zfWKqAQtUljhkN/uuMlyGkLAxr
	2e5V+YBYwwh7Q+7KvcLYAPiM2iEO/B+qFdz1NtlZarCOpEVjuONEceJ/2Dsgmxx6eYF2e3mAcn2T2
	C7VKhiO56+YyDrG61QmtV/YVkdjCzrjmNy1Msp4HJDaADmaBe+y50ffRNbTVZJVBzm0A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180027-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180027: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=d55d73152ebf5c793b645d6ec5bc517d219881cd
X-Osstest-Versions-That:
    ovmf=1bfc89414dbc2b4e620e06231ae98d714914fc46
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Mar 2023 09:28:54 +0000

flight 180027 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180027/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 d55d73152ebf5c793b645d6ec5bc517d219881cd
baseline version:
 ovmf                 1bfc89414dbc2b4e620e06231ae98d714914fc46

Last test of basis   180026  2023-03-27 04:42:14 Z    0 days
Testing same since   180027  2023-03-27 07:42:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michael D Kinney <michael.d.kinney@intel.com>
  Ted Kuo <ted.kuo@intel.com>
  Xie, Yuanhao <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
   1bfc89414d..d55d73152e  d55d73152ebf5c793b645d6ec5bc517d219881cd -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 09:49:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 09:49:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515106.797654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgjTq-0001qZ-UX; Mon, 27 Mar 2023 09:49:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515106.797654; Mon, 27 Mar 2023 09: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 1pgjTq-0001qS-Qq; Mon, 27 Mar 2023 09:49:34 +0000
Received: by outflank-mailman (input) for mailman id 515106;
 Mon, 27 Mar 2023 09: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=81wl=7T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pgjTp-0001qM-BR
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 09:49:33 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060b.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab78a652-cc84-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 11:49:30 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB8PR04MB7098.eurprd04.prod.outlook.com (2603:10a6:10:fd::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Mon, 27 Mar
 2023 09:49:26 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.029; Mon, 27 Mar 2023
 09:49: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: ab78a652-cc84-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gMP6ozau6nMib3TsfRFJQxdDEiJNVbxHDMQotWGnFKwCuPcr+VaQLXRNzx180nS2Q1AATtE/W4e7yM31NaNDiUkp2IsbHezZqOjw0588QIJhzw+B9FJsRuRmBfEQO79EV2aPyGQ5esJlKNaar5K/xSCDj/ho1jeAAvia7PpsZwwoH5x5Uj2UFf7iz1swv+igUoEVD1eR0LfCqWpB1AIf2lOS0VfgZuwGc/sWaA8SJ4HKsESCAGVVg4DeKCmXveMJU3fbClhWTo4nYVL6yRrQCFziUq3NSDKlas6i/5r0u/b5rTizcj+IxWKyil8y/miPHbN1cSXoBn4bvh7aTxyOIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Aizyv9aVMzXqujfWpUm+5JI+oNwOuS5buKRo7/7L1Gw=;
 b=SsVM+ssx1iQ8wbS+fu/42qMtLqskSBQreF9XFufOpZ/iC9aYugoF++e+/a67YPzid6pGtPuA6BWc0EgqtXuCWAiQhTtj9V+bPRCSTJZP8/YDc3pzDwpp6mkev9Yup2iSf03KoCKb7BPoncCsEDMYpRuyZlmG0zh0SPF048XEYmbNnfjut5TK2lll+XXlHKLxQNGzQwMBSXSf9wi0moxKUfzWQu8AbZ2D9hLYfnyIXJT2/W+J0zRaI7WGtMKcSM8LgpKyrtZc/DbymYWfIpwZGAKhXJlc9IVFkuwWZSkW3mWoZOtf/t9K4pv0DYkRsDj0dUnb8CrEWzpQ4rj5KxBXSA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Aizyv9aVMzXqujfWpUm+5JI+oNwOuS5buKRo7/7L1Gw=;
 b=hvR6lToDvDtsEc2eOFSkhTwOiwC2Y5mb3IfngYInlXa8+wPMCYlHA49t77QNbZaOMf5Iuj70IEgNANRw45rLscTRp0Xf+fZ+nnIbHh0Hbja8vl3ft55XhKtfj/DBrroyHs1k6ib5YLdT+7f3uj6X2pwJNgjpwbTR66P6+iF54JL3gzVeVQ4dLDfZ4nxsh67n5ypchZpZEhlJNpk1dLrBn1sFEo1mPAIuoCOkWPRQLGyZbKeeGOYXMkRsfwjSiqZrjZ7c9dqsF1KSGTosmhRxG+flMkfbMD0DzveCcRGs7mT0mlpbBNofdZgY8lQcJI/tRcAlP4o7zMSOURFL/HsX7g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <59d90811-bc68-83cd-b7e5-7a8c2e2370d9@suse.com>
Date: Mon, 27 Mar 2023 11:49:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 1/2] xen/netback: don't do grant copy across page boundary
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, stable@vger.kernel.org,
 linux-kernel@vger.kernel.org, netdev@vger.kernel.org
References: <20230327083646.18690-1-jgross@suse.com>
 <20230327083646.18690-2-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230327083646.18690-2-jgross@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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB8PR04MB7098:EE_
X-MS-Office365-Filtering-Correlation-Id: 104f9459-01ea-46ae-23ae-08db2ea88d27
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:
	QoVH7mp2+SxEouRbejB1uvC3UgWnNWzloIqcl3hzLuICt9lK1wNOej3W0Dm6bZe1B2JW22IovDy27p4n8G3OvxPdxDPUQq3gDBYV13oOYa6vk5bbq2pg2YW2I/Ugo5meWU7n03A2SzKCAIimSA3xEQm2Hjoo0jMz1+MkXTF5vtq+osaCLfNi6iy/+DMo/lQWw8g9Q4I/MyO8y/ikFxWtluJ1WH6GDTUoxOws4wh3bp3evRuL5ZUPrnjNewdhsFX9NPgS36vM2BJXhiDoNg1Oth7X0UVsGE9qFLStYYwdGMTiCs0Ky3n/IR79hHnTd0wKuCoi9ItwQ8ufed8lEaWNeybnOFsvswPPMkKm+c92USIn8pB5gYLRMZLZi3jPfwnuzajuS+0RU5k35eHB+gQbvnfGrjwTaC/dYa7lo5k2vYW5+YTEigStfzsMnWV00NzfzUnso2wHT/lroo1v5UKfTqlmO/Yep9gWFH/0kfW8mfe7HHt+EMHIg2LXoCOSXxAwvhtBg/LO+p60ZtTfbV3wcgW7roMmDTGA5oxAkPy2gjP7izUKFQ28W6HZ3uzpHbVCE3d8ifRrnW5UShZDu/UeM+Ejjqe9u2i7iqCXZyi68xZ5buJMZFK9TccXNW7StgLSMhXgY7vulhx+IKtFl8zJRQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(396003)(39860400002)(346002)(366004)(451199021)(2616005)(83380400001)(66476007)(2906002)(4326008)(8676002)(66946007)(66556008)(6636002)(54906003)(6486002)(478600001)(53546011)(6512007)(186003)(6506007)(26005)(316002)(37006003)(7416002)(31696002)(86362001)(36756003)(41300700001)(38100700002)(8936002)(5660300002)(6862004)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bHduUWsxVlB3RERBUlc4QnA2alMveE1rYkdpK2k0U0Ezc1J6SzlMMG1lSDBN?=
 =?utf-8?B?bHl1Y0VuU0czZnpicFV5VU4xSGluRGREdlZBeUlDd3A5Mytlc1lUZHFwU0Qy?=
 =?utf-8?B?enM0bTdnK25Jd1dYSXZoMklycGN5S3FtbHQvNHRTRHlFUjdsUVkzenBFWkpG?=
 =?utf-8?B?K0RSbTE0RGdSeXF3bnVMSGYvVzFqSUxzLzdpT3JOSmlscml0UHdUWWpUajIw?=
 =?utf-8?B?LytKUDJjaVZ4STZqZE1Kb2ZKeEpxTWtoOHB5Wjlkd2djRzhvdjlsS1FPVjk4?=
 =?utf-8?B?RkRaSmJXS1FpRGhTMFJlMmtHRjhSZFJRbTJ6NXRWYi9BQWwrWVgzS3V5VTNW?=
 =?utf-8?B?SDNmQWZab2h2NnpqTnhNeHdadDBhQU5iTEQ0WWpWUnBiTGVxWURMaTJQc0ZE?=
 =?utf-8?B?OEdNdUZXWDRWeEcwUWpiOXRxcWVMSndMeUU0UGxmdGRZRzRaT210VERXRGVS?=
 =?utf-8?B?SWlNSmtvaGhJaHkrMnJYZHhxWHVXT0Y1NnpERWpDRzJlYUpwQ3d3a3AwT284?=
 =?utf-8?B?MjBSZi8zcVFubnMwM09EMERyMitrdmNmVnhXeUhKUkRXWDNzUDQwanlWMFBp?=
 =?utf-8?B?bllCamRFbnFIQit3T2VxRmQvVk50UytaMERsait2WDlFSjA1S0txS3dXeWgv?=
 =?utf-8?B?ZGovaVpqWDdNOE1ST1dQWUR1RlVZOVprbmVFcGduR2RmSVJ1THFObm9NeS9h?=
 =?utf-8?B?Rmx1Tng0ajlXQUtKWXZUNDZhOGhXd0hzMlIxNWxRY1dJUktSVFRVdnZ5Y1NR?=
 =?utf-8?B?S3pmRlZwd0x5a1hEblc3dkpyYXlFL1RPMWMrbm9EaXkvVjRKZkNva05WNmh0?=
 =?utf-8?B?cGhTa0ZRNit0VmR4Kzlhdm1lcFM4NTVVbElVSXRjWXdjQ1RsaklRcElCRW5H?=
 =?utf-8?B?SDFjK3FHbHpEQjZZazdMc1RrSU1ncnpobGFYRUxhaXJ0cVRvNmh2ZkZvcWs1?=
 =?utf-8?B?QnpDTTIxWjZSNlNXRDFSRlRKN1RwWnhGOFRQbWNLTm1wSy9NcnZGWkR3MlUx?=
 =?utf-8?B?L3ZiQXdqaEV0RE1RSlNlME5DY2pEbGg0dVBqU2dUaXVxbHZSN28rVWZYM1hx?=
 =?utf-8?B?WmMxU2JiUWFwUjdwUFYyUmc1MEZEazVFYmREQTUvWC9Ebmc0R1dLck5UTTBo?=
 =?utf-8?B?TEFBM3ZLMWxQMUlBMHR5U01lRzFTVHRNTXFyMEtYM3AvTndhZlRnTUtDeHJp?=
 =?utf-8?B?NWlUTWhzbk1oS25OQTg5Z01jSlNzQUxkVytPa1cxOTdKbG51dVY4SFJ6YWY3?=
 =?utf-8?B?YjE4ZkRPKzkvY3ZMQS9GUGY1bkZabG1VWjBGdTVkWnJ6YTUra0FieXI5RC9K?=
 =?utf-8?B?VFhRaGRGRTJwd1pvQWpPR1N3bkFhS1FtYVZkNXBxQzYvbC9lUEhyNjJVMUVD?=
 =?utf-8?B?eW9FVUMvY29qNUsrZGY1L0QyZU1HZWNWUFAreFd5OUJYczB6ZVVUMERvQ0Fx?=
 =?utf-8?B?aTZCd0NObCtEQnFlY3JNQW5ROXBJa2g4OUlBN2s1anAwM00xR0xwNkhRSVhX?=
 =?utf-8?B?TkFvR3YrSDJVNTJCaVJ2UG1oSDJIRVlLeDRGT1lQTzg5UGFIYXZ2NS91c1hG?=
 =?utf-8?B?SnpDZlNRZzJxWklzbFJLVHFiT0RJeEw0YTJxYmZIazNFTUtVU3RINGppZExB?=
 =?utf-8?B?WStvaWZ0cTA5VjBkcysrMU5kOGpwdEtkWXVyVktnTUIwU3psT3FOb2JpOTJ3?=
 =?utf-8?B?d2JxM1BYTlhYUHJkOExnSW5rdU9TYm5EY2x1RXdPS2VMKzM4Vk8rVnozdHVl?=
 =?utf-8?B?a0xVNXBkY0Zia3M1VDNOUjFiT3o2T045TkhaUEdWZFRxdjdVOUNnN0J4UFB5?=
 =?utf-8?B?aDcyZFdLeDUxd0pNYi9XRXRiUG1Bdy9iSll5OVFEL1B0VnU2QThUcDF0bjBi?=
 =?utf-8?B?Y1BUVGU1SWN3bG84S3psK21WZ3c2TUhDL1RTUEZtT1NoKzlGSE5saGhOMENj?=
 =?utf-8?B?L09TK2l2VHhzUmV1QWhCbGtRMWVDWitISk5qaUtEUExmNDBQZDZFNUJ0M3N3?=
 =?utf-8?B?QTNicHRieFZiWXNycTZDeG5GdFJTV2haT3MralFHNFJ1eGd3RnhIT3YxZjUz?=
 =?utf-8?B?U2NQeXVHS1hKcDMzalN0UFZkeVVpMnVlbmc0SERZREFJeTBHdzM1QlNwS3VJ?=
 =?utf-8?Q?WT8N4QDk3E4GkbEUCNzusd/yG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 104f9459-01ea-46ae-23ae-08db2ea88d27
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 09:49:26.2409
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XQqION1iwwkyVX/Y5hceaXh6qe0tnKbjJ4UTeoqLpbibSis4LcM1PPmlbrkNGFMoQvrpQi1coSFNczmu9tNFIA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7098

On 27.03.2023 10:36, Juergen Gross wrote:
> Fix xenvif_get_requests() not to do grant copy operations across local
> page boundaries. This requires to double the maximum number of copy
> operations per queue, as each copy could now be split into 2.
> 
> Make sure that struct xenvif_tx_cb doesn't grow too large.
> 
> Cc: stable@vger.kernel.org
> Fixes: ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in the non-linear area")
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  drivers/net/xen-netback/common.h  |  2 +-
>  drivers/net/xen-netback/netback.c | 25 +++++++++++++++++++++++--
>  2 files changed, 24 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/net/xen-netback/common.h b/drivers/net/xen-netback/common.h
> index 3dbfc8a6924e..1fcbd83f7ff2 100644
> --- a/drivers/net/xen-netback/common.h
> +++ b/drivers/net/xen-netback/common.h
> @@ -166,7 +166,7 @@ struct xenvif_queue { /* Per-queue data for xenvif */
>  	struct pending_tx_info pending_tx_info[MAX_PENDING_REQS];
>  	grant_handle_t grant_tx_handle[MAX_PENDING_REQS];
>  
> -	struct gnttab_copy tx_copy_ops[MAX_PENDING_REQS];
> +	struct gnttab_copy tx_copy_ops[2 * MAX_PENDING_REQS];
>  	struct gnttab_map_grant_ref tx_map_ops[MAX_PENDING_REQS];
>  	struct gnttab_unmap_grant_ref tx_unmap_ops[MAX_PENDING_REQS];
>  	/* passed to gnttab_[un]map_refs with pages under (un)mapping */
> diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
> index 1b42676ca141..111c179f161b 100644
> --- a/drivers/net/xen-netback/netback.c
> +++ b/drivers/net/xen-netback/netback.c
> @@ -334,6 +334,7 @@ static int xenvif_count_requests(struct xenvif_queue *queue,
>  struct xenvif_tx_cb {
>  	u16 copy_pending_idx[XEN_NETBK_LEGACY_SLOTS_MAX + 1];
>  	u8 copy_count;
> +	u32 split_mask;
>  };
>  
>  #define XENVIF_TX_CB(skb) ((struct xenvif_tx_cb *)(skb)->cb)
> @@ -361,6 +362,8 @@ static inline struct sk_buff *xenvif_alloc_skb(unsigned int size)
>  	struct sk_buff *skb =
>  		alloc_skb(size + NET_SKB_PAD + NET_IP_ALIGN,
>  			  GFP_ATOMIC | __GFP_NOWARN);
> +
> +	BUILD_BUG_ON(sizeof(*XENVIF_TX_CB(skb)) > sizeof(skb->cb));
>  	if (unlikely(skb == NULL))
>  		return NULL;
>  
> @@ -396,11 +399,13 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
>  	nr_slots = shinfo->nr_frags + 1;
>  
>  	copy_count(skb) = 0;
> +	XENVIF_TX_CB(skb)->split_mask = 0;
>  
>  	/* Create copy ops for exactly data_len bytes into the skb head. */
>  	__skb_put(skb, data_len);
>  	while (data_len > 0) {
>  		int amount = data_len > txp->size ? txp->size : data_len;
> +		bool split = false;
>  
>  		cop->source.u.ref = txp->gref;
>  		cop->source.domid = queue->vif->domid;
> @@ -413,6 +418,13 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
>  		cop->dest.u.gmfn = virt_to_gfn(skb->data + skb_headlen(skb)
>  				               - data_len);
>  
> +		/* Don't cross local page boundary! */
> +		if (cop->dest.offset + amount > XEN_PAGE_SIZE) {
> +			amount = XEN_PAGE_SIZE - cop->dest.offset;
> +			XENVIF_TX_CB(skb)->split_mask |= 1U << copy_count(skb);

Maybe worthwhile to add a BUILD_BUG_ON() somewhere to make sure this
shift won't grow too large a shift count. The number of slots accepted
could conceivably be grown past XEN_NETBK_LEGACY_SLOTS_MAX (i.e.
XEN_NETIF_NR_SLOTS_MIN) at some point.

> +			split = true;
> +		}
> +
>  		cop->len = amount;
>  		cop->flags = GNTCOPY_source_gref;
>  
> @@ -420,7 +432,8 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
>  		pending_idx = queue->pending_ring[index];
>  		callback_param(queue, pending_idx).ctx = NULL;
>  		copy_pending_idx(skb, copy_count(skb)) = pending_idx;
> -		copy_count(skb)++;
> +		if (!split)
> +			copy_count(skb)++;
>  
>  		cop++;
>  		data_len -= amount;
> @@ -441,7 +454,8 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
>  			nr_slots--;
>  		} else {
>  			/* The copy op partially covered the tx_request.
> -			 * The remainder will be mapped.
> +			 * The remainder will be mapped or copied in the next
> +			 * iteration.
>  			 */
>  			txp->offset += amount;
>  			txp->size -= amount;
> @@ -539,6 +553,13 @@ static int xenvif_tx_check_gop(struct xenvif_queue *queue,
>  		pending_idx = copy_pending_idx(skb, i);
>  
>  		newerr = (*gopp_copy)->status;
> +
> +		/* Split copies need to be handled together. */
> +		if (XENVIF_TX_CB(skb)->split_mask & (1U << i)) {
> +			(*gopp_copy)++;
> +			if (!newerr)
> +				newerr = (*gopp_copy)->status;
> +		}

It isn't guaranteed that a slot may be split only once, is it? Assuming a
near-64k packet with all tiny non-primary slots, that'll cause those tiny
slots to all be mapped, but due to

		if (ret >= XEN_NETBK_LEGACY_SLOTS_MAX - 1 && data_len < txreq.size)
			data_len = txreq.size;

will, afaict, cause a lot of copying for the primary slot. Therefore I
think you need a loop here, not just an if(). Plus tx_copy_ops[]'es
dimension also looks to need further growing to accommodate this. Or
maybe not - at least the extreme example given would still be fine; more
generally packets being limited to below 64k means 2*16 slots would
suffice at one end of the scale, while 2*MAX_PENDING_REQS would at the
other end (all tiny, including the primary slot). What I haven't fully
convinced myself of is whether there might be cases in the middle which
are yet worse.

As I've been struggling with the code fragment quoted above already in
the patch originally introducing it, I'd like to see that relaxed. Can't
we avoid excessive copying by suitably growing tx_map_ops[] and then
deleting that bumping of data_len? Then there also wouldn't be the risk
multiple splits per copy anymore.

Alternatively to all of the above: Am I overlooking a check somewhere
which would also constrain the primary slot (or more precisely its
residual) to within a single page (along the lines of the check for
non-primary slots in xenvif_count_requests())?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 10:07:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 10:07:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515113.797664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgjkq-0004SN-E1; Mon, 27 Mar 2023 10:07:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515113.797664; Mon, 27 Mar 2023 10:07: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 1pgjkq-0004SG-BM; Mon, 27 Mar 2023 10:07:08 +0000
Received: by outflank-mailman (input) for mailman id 515113;
 Mon, 27 Mar 2023 10:07: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=J70X=7T=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pgjko-0004SA-Qj
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 10:07:07 +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 1e876db2-cc87-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 12:07:03 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0235621D65;
 Mon, 27 Mar 2023 10:07: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 A499813482;
 Mon, 27 Mar 2023 10:07:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id GVV0JMVqIWQTegAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 27 Mar 2023 10: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>
X-Inumbo-ID: 1e876db2-cc87-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679911622; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=piK1k/jAbCBiod6LGEuGSrG43Cv8CyaxA7eqmfoo3xM=;
	b=gnGaO5MW4QE7wKfq4mNRqkGSxnWA085RIsioe/acG10dDi75ZrNr5PW3+6VfVL9w7U/cun
	DGAeXZbTsL+1KZnKW1r1g7GmjvnXx2E0PAC6RsTQULiDDO4dMjlcVG35KmvXxm3H+MA1p7
	9iEmYt0cPc48lQUJa7m8tZoGkdcnu1Q=
Message-ID: <f519a2d3-6662-35a2-b295-1825924affa8@suse.com>
Date: Mon, 27 Mar 2023 12:07:01 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, stable@vger.kernel.org,
 linux-kernel@vger.kernel.org, netdev@vger.kernel.org
References: <20230327083646.18690-1-jgross@suse.com>
 <20230327083646.18690-2-jgross@suse.com>
 <59d90811-bc68-83cd-b7e5-7a8c2e2370d9@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 1/2] xen/netback: don't do grant copy across page boundary
In-Reply-To: <59d90811-bc68-83cd-b7e5-7a8c2e2370d9@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------V8vgFtPUgiGKsryGpJ0SBO00"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------V8vgFtPUgiGKsryGpJ0SBO00
Content-Type: multipart/mixed; boundary="------------o00FFekE5CAmp1fvhhvOtTxs";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, stable@vger.kernel.org,
 linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Message-ID: <f519a2d3-6662-35a2-b295-1825924affa8@suse.com>
Subject: Re: [PATCH 1/2] xen/netback: don't do grant copy across page boundary
References: <20230327083646.18690-1-jgross@suse.com>
 <20230327083646.18690-2-jgross@suse.com>
 <59d90811-bc68-83cd-b7e5-7a8c2e2370d9@suse.com>
In-Reply-To: <59d90811-bc68-83cd-b7e5-7a8c2e2370d9@suse.com>

--------------o00FFekE5CAmp1fvhhvOtTxs
Content-Type: multipart/mixed; boundary="------------GUxOV17dACoS8RXLMrtU0tHw"

--------------GUxOV17dACoS8RXLMrtU0tHw
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjcuMDMuMjMgMTE6NDksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNy4wMy4yMDIz
IDEwOjM2LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gRml4IHhlbnZpZl9nZXRfcmVxdWVz
dHMoKSBub3QgdG8gZG8gZ3JhbnQgY29weSBvcGVyYXRpb25zIGFjcm9zcyBsb2NhbA0KPj4g
cGFnZSBib3VuZGFyaWVzLiBUaGlzIHJlcXVpcmVzIHRvIGRvdWJsZSB0aGUgbWF4aW11bSBu
dW1iZXIgb2YgY29weQ0KPj4gb3BlcmF0aW9ucyBwZXIgcXVldWUsIGFzIGVhY2ggY29weSBj
b3VsZCBub3cgYmUgc3BsaXQgaW50byAyLg0KPj4NCj4+IE1ha2Ugc3VyZSB0aGF0IHN0cnVj
dCB4ZW52aWZfdHhfY2IgZG9lc24ndCBncm93IHRvbyBsYXJnZS4NCj4+DQo+PiBDYzogc3Rh
YmxlQHZnZXIua2VybmVsLm9yZw0KPj4gRml4ZXM6IGFkN2Y0MDJhZTRmNCAoInhlbi9uZXRi
YWNrOiBFbnN1cmUgcHJvdG9jb2wgaGVhZGVycyBkb24ndCBmYWxsIGluIHRoZSBub24tbGlu
ZWFyIGFyZWEiKQ0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuY29tPg0KPj4gLS0tDQo+PiAgIGRyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL2NvbW1vbi5o
ICB8ICAyICstDQo+PiAgIGRyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL25ldGJhY2suYyB8IDI1
ICsrKysrKysrKysrKysrKysrKysrKysrLS0NCj4+ICAgMiBmaWxlcyBjaGFuZ2VkLCAyNCBp
bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9kcml2
ZXJzL25ldC94ZW4tbmV0YmFjay9jb21tb24uaCBiL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNr
L2NvbW1vbi5oDQo+PiBpbmRleCAzZGJmYzhhNjkyNGUuLjFmY2JkODNmN2ZmMiAxMDA2NDQN
Cj4+IC0tLSBhL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL2NvbW1vbi5oDQo+PiArKysgYi9k
cml2ZXJzL25ldC94ZW4tbmV0YmFjay9jb21tb24uaA0KPj4gQEAgLTE2Niw3ICsxNjYsNyBA
QCBzdHJ1Y3QgeGVudmlmX3F1ZXVlIHsgLyogUGVyLXF1ZXVlIGRhdGEgZm9yIHhlbnZpZiAq
Lw0KPj4gICAJc3RydWN0IHBlbmRpbmdfdHhfaW5mbyBwZW5kaW5nX3R4X2luZm9bTUFYX1BF
TkRJTkdfUkVRU107DQo+PiAgIAlncmFudF9oYW5kbGVfdCBncmFudF90eF9oYW5kbGVbTUFY
X1BFTkRJTkdfUkVRU107DQo+PiAgIA0KPj4gLQlzdHJ1Y3QgZ250dGFiX2NvcHkgdHhfY29w
eV9vcHNbTUFYX1BFTkRJTkdfUkVRU107DQo+PiArCXN0cnVjdCBnbnR0YWJfY29weSB0eF9j
b3B5X29wc1syICogTUFYX1BFTkRJTkdfUkVRU107DQo+PiAgIAlzdHJ1Y3QgZ250dGFiX21h
cF9ncmFudF9yZWYgdHhfbWFwX29wc1tNQVhfUEVORElOR19SRVFTXTsNCj4+ICAgCXN0cnVj
dCBnbnR0YWJfdW5tYXBfZ3JhbnRfcmVmIHR4X3VubWFwX29wc1tNQVhfUEVORElOR19SRVFT
XTsNCj4+ICAgCS8qIHBhc3NlZCB0byBnbnR0YWJfW3VuXW1hcF9yZWZzIHdpdGggcGFnZXMg
dW5kZXIgKHVuKW1hcHBpbmcgKi8NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC94ZW4t
bmV0YmFjay9uZXRiYWNrLmMgYi9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9uZXRiYWNrLmMN
Cj4+IGluZGV4IDFiNDI2NzZjYTE0MS4uMTExYzE3OWYxNjFiIDEwMDY0NA0KPj4gLS0tIGEv
ZHJpdmVycy9uZXQveGVuLW5ldGJhY2svbmV0YmFjay5jDQo+PiArKysgYi9kcml2ZXJzL25l
dC94ZW4tbmV0YmFjay9uZXRiYWNrLmMNCj4+IEBAIC0zMzQsNiArMzM0LDcgQEAgc3RhdGlj
IGludCB4ZW52aWZfY291bnRfcmVxdWVzdHMoc3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUs
DQo+PiAgIHN0cnVjdCB4ZW52aWZfdHhfY2Igew0KPj4gICAJdTE2IGNvcHlfcGVuZGluZ19p
ZHhbWEVOX05FVEJLX0xFR0FDWV9TTE9UU19NQVggKyAxXTsNCj4+ICAgCXU4IGNvcHlfY291
bnQ7DQo+PiArCXUzMiBzcGxpdF9tYXNrOw0KPj4gICB9Ow0KPj4gICANCj4+ICAgI2RlZmlu
ZSBYRU5WSUZfVFhfQ0Ioc2tiKSAoKHN0cnVjdCB4ZW52aWZfdHhfY2IgKikoc2tiKS0+Y2Ip
DQo+PiBAQCAtMzYxLDYgKzM2Miw4IEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0IHNrX2J1ZmYg
KnhlbnZpZl9hbGxvY19za2IodW5zaWduZWQgaW50IHNpemUpDQo+PiAgIAlzdHJ1Y3Qgc2tf
YnVmZiAqc2tiID0NCj4+ICAgCQlhbGxvY19za2Ioc2l6ZSArIE5FVF9TS0JfUEFEICsgTkVU
X0lQX0FMSUdOLA0KPj4gICAJCQkgIEdGUF9BVE9NSUMgfCBfX0dGUF9OT1dBUk4pOw0KPj4g
Kw0KPj4gKwlCVUlMRF9CVUdfT04oc2l6ZW9mKCpYRU5WSUZfVFhfQ0Ioc2tiKSkgPiBzaXpl
b2Yoc2tiLT5jYikpOw0KPj4gICAJaWYgKHVubGlrZWx5KHNrYiA9PSBOVUxMKSkNCj4+ICAg
CQlyZXR1cm4gTlVMTDsNCj4+ICAgDQo+PiBAQCAtMzk2LDExICszOTksMTMgQEAgc3RhdGlj
IHZvaWQgeGVudmlmX2dldF9yZXF1ZXN0cyhzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1ZSwN
Cj4+ICAgCW5yX3Nsb3RzID0gc2hpbmZvLT5ucl9mcmFncyArIDE7DQo+PiAgIA0KPj4gICAJ
Y29weV9jb3VudChza2IpID0gMDsNCj4+ICsJWEVOVklGX1RYX0NCKHNrYiktPnNwbGl0X21h
c2sgPSAwOw0KPj4gICANCj4+ICAgCS8qIENyZWF0ZSBjb3B5IG9wcyBmb3IgZXhhY3RseSBk
YXRhX2xlbiBieXRlcyBpbnRvIHRoZSBza2IgaGVhZC4gKi8NCj4+ICAgCV9fc2tiX3B1dChz
a2IsIGRhdGFfbGVuKTsNCj4+ICAgCXdoaWxlIChkYXRhX2xlbiA+IDApIHsNCj4+ICAgCQlp
bnQgYW1vdW50ID0gZGF0YV9sZW4gPiB0eHAtPnNpemUgPyB0eHAtPnNpemUgOiBkYXRhX2xl
bjsNCj4+ICsJCWJvb2wgc3BsaXQgPSBmYWxzZTsNCj4+ICAgDQo+PiAgIAkJY29wLT5zb3Vy
Y2UudS5yZWYgPSB0eHAtPmdyZWY7DQo+PiAgIAkJY29wLT5zb3VyY2UuZG9taWQgPSBxdWV1
ZS0+dmlmLT5kb21pZDsNCj4+IEBAIC00MTMsNiArNDE4LDEzIEBAIHN0YXRpYyB2b2lkIHhl
bnZpZl9nZXRfcmVxdWVzdHMoc3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUsDQo+PiAgIAkJ
Y29wLT5kZXN0LnUuZ21mbiA9IHZpcnRfdG9fZ2ZuKHNrYi0+ZGF0YSArIHNrYl9oZWFkbGVu
KHNrYikNCj4+ICAgCQkJCSAgICAgICAgICAgICAgIC0gZGF0YV9sZW4pOw0KPj4gICANCj4+
ICsJCS8qIERvbid0IGNyb3NzIGxvY2FsIHBhZ2UgYm91bmRhcnkhICovDQo+PiArCQlpZiAo
Y29wLT5kZXN0Lm9mZnNldCArIGFtb3VudCA+IFhFTl9QQUdFX1NJWkUpIHsNCj4+ICsJCQlh
bW91bnQgPSBYRU5fUEFHRV9TSVpFIC0gY29wLT5kZXN0Lm9mZnNldDsNCj4+ICsJCQlYRU5W
SUZfVFhfQ0Ioc2tiKS0+c3BsaXRfbWFzayB8PSAxVSA8PCBjb3B5X2NvdW50KHNrYik7DQo+
IA0KPiBNYXliZSB3b3J0aHdoaWxlIHRvIGFkZCBhIEJVSUxEX0JVR19PTigpIHNvbWV3aGVy
ZSB0byBtYWtlIHN1cmUgdGhpcw0KPiBzaGlmdCB3b24ndCBncm93IHRvbyBsYXJnZSBhIHNo
aWZ0IGNvdW50LiBUaGUgbnVtYmVyIG9mIHNsb3RzIGFjY2VwdGVkDQo+IGNvdWxkIGNvbmNl
aXZhYmx5IGJlIGdyb3duIHBhc3QgWEVOX05FVEJLX0xFR0FDWV9TTE9UU19NQVggKGkuZS4N
Cj4gWEVOX05FVElGX05SX1NMT1RTX01JTikgYXQgc29tZSBwb2ludC4NCg0KVGhpcyBpcyBi
YXNpY2FsbHkgaW1wb3NzaWJsZSBkdWUgdG8gdGhlIHNpemUgcmVzdHJpY3Rpb24gb2Ygc3Ry
dWN0DQp4ZW52aWZfdHhfY2IuDQoNCj4gDQo+PiArCQkJc3BsaXQgPSB0cnVlOw0KPj4gKwkJ
fQ0KPj4gKw0KPj4gICAJCWNvcC0+bGVuID0gYW1vdW50Ow0KPj4gICAJCWNvcC0+ZmxhZ3Mg
PSBHTlRDT1BZX3NvdXJjZV9ncmVmOw0KPj4gICANCj4+IEBAIC00MjAsNyArNDMyLDggQEAg
c3RhdGljIHZvaWQgeGVudmlmX2dldF9yZXF1ZXN0cyhzdHJ1Y3QgeGVudmlmX3F1ZXVlICpx
dWV1ZSwNCj4+ICAgCQlwZW5kaW5nX2lkeCA9IHF1ZXVlLT5wZW5kaW5nX3JpbmdbaW5kZXhd
Ow0KPj4gICAJCWNhbGxiYWNrX3BhcmFtKHF1ZXVlLCBwZW5kaW5nX2lkeCkuY3R4ID0gTlVM
TDsNCj4+ICAgCQljb3B5X3BlbmRpbmdfaWR4KHNrYiwgY29weV9jb3VudChza2IpKSA9IHBl
bmRpbmdfaWR4Ow0KPj4gLQkJY29weV9jb3VudChza2IpKys7DQo+PiArCQlpZiAoIXNwbGl0
KQ0KPj4gKwkJCWNvcHlfY291bnQoc2tiKSsrOw0KPj4gICANCj4+ICAgCQljb3ArKzsNCj4+
ICAgCQlkYXRhX2xlbiAtPSBhbW91bnQ7DQo+PiBAQCAtNDQxLDcgKzQ1NCw4IEBAIHN0YXRp
YyB2b2lkIHhlbnZpZl9nZXRfcmVxdWVzdHMoc3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUs
DQo+PiAgIAkJCW5yX3Nsb3RzLS07DQo+PiAgIAkJfSBlbHNlIHsNCj4+ICAgCQkJLyogVGhl
IGNvcHkgb3AgcGFydGlhbGx5IGNvdmVyZWQgdGhlIHR4X3JlcXVlc3QuDQo+PiAtCQkJICog
VGhlIHJlbWFpbmRlciB3aWxsIGJlIG1hcHBlZC4NCj4+ICsJCQkgKiBUaGUgcmVtYWluZGVy
IHdpbGwgYmUgbWFwcGVkIG9yIGNvcGllZCBpbiB0aGUgbmV4dA0KPj4gKwkJCSAqIGl0ZXJh
dGlvbi4NCj4+ICAgCQkJICovDQo+PiAgIAkJCXR4cC0+b2Zmc2V0ICs9IGFtb3VudDsNCj4+
ICAgCQkJdHhwLT5zaXplIC09IGFtb3VudDsNCj4+IEBAIC01MzksNiArNTUzLDEzIEBAIHN0
YXRpYyBpbnQgeGVudmlmX3R4X2NoZWNrX2dvcChzdHJ1Y3QgeGVudmlmX3F1ZXVlICpxdWV1
ZSwNCj4+ICAgCQlwZW5kaW5nX2lkeCA9IGNvcHlfcGVuZGluZ19pZHgoc2tiLCBpKTsNCj4+
ICAgDQo+PiAgIAkJbmV3ZXJyID0gKCpnb3BwX2NvcHkpLT5zdGF0dXM7DQo+PiArDQo+PiAr
CQkvKiBTcGxpdCBjb3BpZXMgbmVlZCB0byBiZSBoYW5kbGVkIHRvZ2V0aGVyLiAqLw0KPj4g
KwkJaWYgKFhFTlZJRl9UWF9DQihza2IpLT5zcGxpdF9tYXNrICYgKDFVIDw8IGkpKSB7DQo+
PiArCQkJKCpnb3BwX2NvcHkpKys7DQo+PiArCQkJaWYgKCFuZXdlcnIpDQo+PiArCQkJCW5l
d2VyciA9ICgqZ29wcF9jb3B5KS0+c3RhdHVzOw0KPj4gKwkJfQ0KPiANCj4gSXQgaXNuJ3Qg
Z3VhcmFudGVlZCB0aGF0IGEgc2xvdCBtYXkgYmUgc3BsaXQgb25seSBvbmNlLCBpcyBpdD8g
QXNzdW1pbmcgYQ0KDQpJIHRoaW5rIGl0IGlzIGd1YXJhbnRlZWQuDQoNCk5vIHNsb3QgY2Fu
IGNvdmVyIG1vcmUgdGhhbiBYRU5fUEFHRV9TSVpFIGJ5dGVzIGR1ZSB0byB0aGUgZ3JhbnRz
IGJlaW5nDQpyZXN0cmljdGVkIHRvIHRoYXQgc2l6ZS4gVGhlcmUgaXMgbm8gd2F5IGhvdyBz
dWNoIGEgZGF0YSBwYWNrZXQgY291bGQgY3Jvc3MNCjIgcGFnZSBib3VuZGFyaWVzLg0KDQpJ
biB0aGUgZW5kIHRoZSBwcm9ibGVtIGlzbid0IHRoZSBjb3BpZXMgZm9yIHRoZSBsaW5lYXIg
YXJlYSBub3QgY3Jvc3NpbmcNCm11bHRpcGxlIHBhZ2UgYm91bmRhcmllcywgYnV0IHRoZSBj
b3BpZXMgZm9yIGEgc2luZ2xlIHJlcXVlc3Qgc2xvdCBub3QNCmRvaW5nIHNvLiBBbmQgdGhp
cyBjYW4ndCBoYXBwZW4gSU1PLg0KDQo+IG5lYXItNjRrIHBhY2tldCB3aXRoIGFsbCB0aW55
IG5vbi1wcmltYXJ5IHNsb3RzLCB0aGF0J2xsIGNhdXNlIHRob3NlIHRpbnkNCj4gc2xvdHMg
dG8gYWxsIGJlIG1hcHBlZCwgYnV0IGR1ZSB0bw0KPiANCj4gCQlpZiAocmV0ID49IFhFTl9O
RVRCS19MRUdBQ1lfU0xPVFNfTUFYIC0gMSAmJiBkYXRhX2xlbiA8IHR4cmVxLnNpemUpDQo+
IAkJCWRhdGFfbGVuID0gdHhyZXEuc2l6ZTsNCj4gDQo+IHdpbGwsIGFmYWljdCwgY2F1c2Ug
YSBsb3Qgb2YgY29weWluZyBmb3IgdGhlIHByaW1hcnkgc2xvdC4gVGhlcmVmb3JlIEkNCj4g
dGhpbmsgeW91IG5lZWQgYSBsb29wIGhlcmUsIG5vdCBqdXN0IGFuIGlmKCkuIFBsdXMgdHhf
Y29weV9vcHNbXSdlcw0KPiBkaW1lbnNpb24gYWxzbyBsb29rcyB0byBuZWVkIGZ1cnRoZXIg
Z3Jvd2luZyB0byBhY2NvbW1vZGF0ZSB0aGlzLiBPcg0KPiBtYXliZSBub3QgLSBhdCBsZWFz
dCB0aGUgZXh0cmVtZSBleGFtcGxlIGdpdmVuIHdvdWxkIHN0aWxsIGJlIGZpbmU7IG1vcmUN
Cj4gZ2VuZXJhbGx5IHBhY2tldHMgYmVpbmcgbGltaXRlZCB0byBiZWxvdyA2NGsgbWVhbnMg
MioxNiBzbG90cyB3b3VsZA0KPiBzdWZmaWNlIGF0IG9uZSBlbmQgb2YgdGhlIHNjYWxlLCB3
aGlsZSAyKk1BWF9QRU5ESU5HX1JFUVMgd291bGQgYXQgdGhlDQo+IG90aGVyIGVuZCAoYWxs
IHRpbnksIGluY2x1ZGluZyB0aGUgcHJpbWFyeSBzbG90KS4gV2hhdCBJIGhhdmVuJ3QgZnVs
bHkNCj4gY29udmluY2VkIG15c2VsZiBvZiBpcyB3aGV0aGVyIHRoZXJlIG1pZ2h0IGJlIGNh
c2VzIGluIHRoZSBtaWRkbGUgd2hpY2gNCj4gYXJlIHlldCB3b3JzZS4NCg0KU2VlIGFib3Zl
IHJlYXNvbmluZy4gSSB0aGluayBpdCBpcyBva2F5LCBidXQgbWF5YmUgSSdtIG1pc3Npbmcg
c29tZXRoaW5nLg0KDQoNCkp1ZXJnZW4NCg0K
--------------GUxOV17dACoS8RXLMrtU0tHw
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-----

--------------GUxOV17dACoS8RXLMrtU0tHw--

--------------o00FFekE5CAmp1fvhhvOtTxs--

--------------V8vgFtPUgiGKsryGpJ0SBO00
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQhasUFAwAAAAAACgkQsN6d1ii/Ey99
xQf/f3JuJ797H2HtIX7674GCN0MEsAljPo5o4H1KN7Wb/g6oxoKd8BZDxVP9eXfTOYU4vq2+l5D/
ei2POupEzkGw0NkbLeJhId30X8CzSkwEJWfOSbAO8BaS9Qpl9vJen656/9c+o7aqxMNtMqtKoT8K
CoUVfh3Jb6lSdLcRgrsZx1ohhEG9Qcik4MHCCl4o2Jt6OMfaWA5wlhkgLrK6/MtVJIv8++ghkdMQ
p9j6q8ecPtzYdgc3u9Bw7eb3ZMEuCPe7E6VZLFZYDkRzZMkg6oFkPsOewXOL0wywwv4+xygxwYBT
etuV7tRfPj0KIVJyW0dd/jNMsE5SVyuruvVazCC/Sw==
=qeZG
-----END PGP SIGNATURE-----

--------------V8vgFtPUgiGKsryGpJ0SBO00--


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 10:09:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 10:09:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515116.797673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgjnH-000519-Pd; Mon, 27 Mar 2023 10:09:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515116.797673; Mon, 27 Mar 2023 10:09: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 1pgjnH-000512-My; Mon, 27 Mar 2023 10:09:39 +0000
Received: by outflank-mailman (input) for mailman id 515116;
 Mon, 27 Mar 2023 10:09: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=jSZI=7T=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pgjnG-00050r-5j
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 10:09:38 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 792e3073-cc87-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 12:09:36 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 1CEC65C0115;
 Mon, 27 Mar 2023 06:09:34 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Mon, 27 Mar 2023 06:09:34 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 27 Mar 2023 06:09:33 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 792e3073-cc87-11ed-85db-49a42c6b2330
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=fm2; t=1679911774; x=1679998174; bh=i2KoAdD9DY5Zol0CwbwIgutC0
	7FZ/Fg8VpoElu80es0=; b=mBu7ULvF5PW4izdS2uBLypZZYYeqsZdjEE5a89gWT
	tPb0mjVXd0mGTL+xTr1uACNes9M2QZiMxLZM6V7AMnUAZkYh0JM7/5cg5Aa/rB1X
	nYsWNXo242+9Rjw6EGj25R7OMdlqvGJ1FBqoED+3pQZnJejdJs8NjCiUWgL3u2fa
	Nr3Hdg6CT655LyFj/jDFJJo9lRIpjy0x7GLMe/NR6ijuaLsvfahaNxv/vh+X5FuE
	V+VJmneGF8VMlF6kbTUEDnrZxKtFImZKopC2+pSO74LHfD7j7qV2giGr2NlN2cjT
	zCxTc2lrqg/Yo8esJxLUVYhXEuvYNH6ekqgZ2bZ4rHm7w==
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=fm2; t=1679911774; x=1679998174; bh=i
	2KoAdD9DY5Zol0CwbwIgutC07FZ/Fg8VpoElu80es0=; b=Tn7LpbV3tj0eQuudU
	s4vu9akC4u2Zf0J+8g+4ozqn4GHf6xjzRhrKtqo6FoqjS5nx9E1YScMSI7vy3fyu
	Y5Q6jsXEhpt8BZamXXp1bYHvxj4F8MfVIRbuvN1GgHaoA8mdR53vITMIeBeXIf3/
	TjoLEutq5wfyKNI6Q3r6z0VPJxK/RmxU7EoX11Plcm2E/sCUI42FXwnazTV8o0fi
	/0IpqkybRW1QQM1vogp/lnZG0kcvNvNQ9TAQtsEhLNTqFi920Fb5Vck43oFXWBVQ
	VM1nU6+saDUR6I28qry2voZUoMX4Ih/31jNchYRArm15R+nqWBYdoWH+lwp2aAC4
	VsQLw==
X-ME-Sender: <xms:XWshZAcdzVL-fuier1R4RqUKbrCWPNiIyhrFvVwvCaTvGi_MbDXOLg>
    <xme:XWshZCPC06XKrMoSgsp62JrujX-fMgaPOL2bhjK_Nw_sWynBC48qy5aVL6i1FUnzm
    U_y31czY6o7aA>
X-ME-Received: <xmr:XWshZBhzOSX-b64PNGnuScklPK8mzlm2ezBZGP7EKcP_WFGgMKgFx8_ywV9iv-JQug7G68h5W9CxIodN3OFQjnB6NbQVgDLVWmTHsLqGwpDACGGdFdQe>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehvddgvdehucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffogggtgfesthekre
    dtredtjeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggt
    khhiuceomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    eqnecuggftrfgrthhtvghrnhepleekhfduleetleelleetteevfeefteffkeetteejheel
    gfegkeelgeehhfdthedvnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrg
    hilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdr
    tghomh
X-ME-Proxy: <xmx:XWshZF_94KWbVoBs8rLmmxO4E5uKftYuX3Oddu71vn_O3rNTY1ZcPA>
    <xmx:XWshZMv_RvYzGt5HQhM89SMpD8zPgnidIVNykX0qk0wPOcGfr7v-bg>
    <xmx:XWshZMHnFQAVjLst0jqNGA9MQgyaPxfI36qXEiwQjXGYZlUyWoA3Pg>
    <xmx:XmshZF72siEGOG62eq6ROmKbI4k7hX-rW0-YvsZmKaf920cuM9Hw8w>
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 0/2] Add API for making parts of a MMIO page R/O and use it in XHCI console
Date: Mon, 27 Mar 2023 12:09:14 +0200
Message-Id: <cover.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On older systems, XHCI xcap had a layout that no other (interesting) registers
were placed on the same page as the debug capability, so Linux was fine with
making the whole page R/O. But at least on Tiger Lake and Alder Lake, Linux
needs to write to some other registers on the same page too.

Add a generic API for making just parts of an MMIO page R/O and use it to fix
USB3 console with share=yes or share=hwdom options. More details in commit
messages.

Marek Marczykowski-Górecki (2):
  x86/mm: add API for marking only part of a MMIO page read only
  drivers/char: Use sub-page ro API to make just xhci dbc cap RO

 xen/arch/x86/hvm/emulate.c      |   2 +-
 xen/arch/x86/hvm/hvm.c          |   3 +-
 xen/arch/x86/include/asm/mm.h   |  22 ++++-
 xen/arch/x86/mm.c               | 181 +++++++++++++++++++++++++++++++++-
 xen/arch/x86/pv/ro-page-fault.c |   1 +-
 xen/drivers/char/xhci-dbc.c     |  38 ++++++-
 6 files changed, 243 insertions(+), 4 deletions(-)

base-commit: b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 10:09:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 10:09:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515117.797684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgjnJ-0005G5-2j; Mon, 27 Mar 2023 10:09:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515117.797684; Mon, 27 Mar 2023 10:09: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 1pgjnI-0005Fy-Uo; Mon, 27 Mar 2023 10:09:40 +0000
Received: by outflank-mailman (input) for mailman id 515117;
 Mon, 27 Mar 2023 10:09: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=jSZI=7T=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pgjnG-00050r-RM
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 10:09:39 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a4b4b25-cc87-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 12:09:37 +0200 (CEST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.nyi.internal (Postfix) with ESMTP id E61AD5C014D;
 Mon, 27 Mar 2023 06:09:35 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute3.internal (MEProxy); Mon, 27 Mar 2023 06:09:35 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 27 Mar 2023 06:09:34 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a4b4b25-cc87-11ed-85db-49a42c6b2330
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=fm2; t=1679911775; x=1679998175; bh=Xg
	uvSU65OUXrBnKZJQwmkiD5FqnzcP7jvRUz9zeLO90=; b=aMBneFLq+4/izD/DW8
	KxXqt90Boa11BIJIQB6bHIs9ppi2l069YpLX0KBFXJu5ydxzk6aD7zUgehpBNxdv
	OhooZFZBDuFFdoQr2fzrUmtdgRAp7ksSbPTHmEirY940tws/nK1sXDPtABDNkC02
	M4bPvjG/eYqEaJSgs9FKbkJz/zQKVonvJTOfCVBy9OGtGjmIj7Qnp04O8+M7ziEO
	8odLp7PP8xr1N7bfehLPR+K6VjHfvZnTW71bDk7ZGzP0QRBO59Hc5eq9k0Ijm+0M
	NvRroQRWiDsgHSLFSPCP9zvY+vkhK8O6U2u8LUGDQXIpzGJYRtpVq+7uNWJZxghQ
	uCmA==
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=fm2; t=
	1679911775; x=1679998175; bh=XguvSU65OUXrBnKZJQwmkiD5FqnzcP7jvRU
	z9zeLO90=; b=kHOLYx/JlCG+qgSaWf4U+LeZ706+0kaLfwUeuDIYfecsDDPy13x
	g4qA2nomzJYj3FaGBHy7gZulmz42s4uN9W9XwKZF/iqE8K+EQzg0nZwHtti+87+W
	qG1UQuMyQM7z46wtPLbg8bOgmPtHridGl8OyqIb2UuuIYE8o8RFpNFUwgDlJQASf
	PV77hXb58lvp15P5BSUuuw+G5dJer3Ip2Hz5OmzrC2z/HRc3H7l6bPL+dYu2Zlve
	sGJ8I5Ni8oFUFy+8BL3QcuyiXluGFFnXf2VHUZGY6yU4s6avLPAsak2p+2CCoWPz
	nAOxvvp46n6rf2vajUOZl6P+KIx4rKhN1EA==
X-ME-Sender: <xms:X2shZF_e4MnxMFyfH5dWuRKok4MbhPeHbdWXOgmejCccIx7YHKFMWw>
    <xme:X2shZJskEqaV5K8hHWQLi0_goszTZSoEIClwV2LxQLdQxxxXP-o3vMQsYg7wtcxgQ
    _bJvdzUqj4EGQ>
X-ME-Received: <xmr:X2shZDAw4SLcSQKEeGgSxGQMNFkRdjHokbbceD_Br0oDGgQp8btHo3Lh6DIkGZWKxYccEGpENGFL-qwF-YSur129BTOS3Ov4XCb6PpRbeCJ02_1Yxsvj>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehvddgvdehucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:X2shZJcQUHzkVq1CP5KeS3YbouSSS8dIURGORuGGGka-gW86-W8J_A>
    <xmx:X2shZKN-dlYdVhdwrxPWsDv0DGBX66854h1DW7qYtxpU4Eyy95LzNQ>
    <xmx:X2shZLn5ZN9qvIRaCsoSlVFjwEf1IAntA5q99jld-IwjK5d2I3HzpQ>
    <xmx:X2shZHqow4Yw_NaBAURLBhu_Qo85hlGerjRYvs8DXJdHay_FApvPwQ>
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>,
	Paul Durrant <paul@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: [PATCH 1/2] x86/mm: add API for marking only part of a MMIO page read only
Date: Mon, 27 Mar 2023 12:09:15 +0200
Message-Id: <f5381e06d92cccf9756ad00fd77f82fba98a9d80.1679911575.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
References: <cover.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In some cases, only few registers on a page needs to be write-protected.
Examples include USB3 console (64 bytes worth of registers) or MSI-X's
PBA table (which doesn't need to span the whole table either).
Current API allows only marking whole pages pages read-only, which
sometimes may cover other registers that guest may need to write into.

Currently, when a guest tries to write to an MMIO page on the
mmio_ro_ranges, it's either immediately crashed on EPT violation - if
that's HVM, or if PV, it gets #PF. In case of Linux PV, if access was
from userspace (like, /dev/mem), it will try to fixup by updating page
tables (that Xen again will force to read-only) and will hit that #PF
again (looping endlessly). Both behaviors are undesirable if guest could
actually be allowed the write.

Introduce an API that allows marking part of a page read-only. Since
sub-page permissions are not a thing in page tables, do this via
emulation (or simply page fault handler for PV) that handles writes that
are supposed to be allowed. Those writes require the page to be mapped
to Xen, so subpage_mmio_ro_add() function takes fixmap index of the
page. The page needs to be added to mmio_ro_ranges, first anyway.
Sub-page ranges are stored using rangeset for each added page, and those
pages are stored on a plain list (as there isn't supposed to be many
pages needing this precise r/o control).

The mechanism this API is plugged in is slightly different for PV and
HVM. For both paths, it's plugged into mmio_ro_emulated_write(). For PV,
it's already called for #PF on read-only MMIO page. For HVM however, EPT
violation on p2m_mmio_direct page results in a direct domain_crash().
To reach mmio_ro_emulated_write(), change how write violations for
p2m_mmio_direct are handled - specifically, treat them similar to
p2m_ioreq_server. This makes relevant ioreq handler being called,
that finally end up calling mmio_ro_emulated_write().
Both of those paths need an MFN to which guest tried to write (to check
which part of the page is supposed to be read-only, and where
the page is mapped for writes). This information currently isn't
available directly in mmio_ro_emulated_write(), but in both cases it is
already resolved somewhere higher in the call tree. Pass it down to
mmio_ro_emulated_write() via new mmio_ro_emulate_ctxt.mfn field.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Shadow mode is not tested, but I don't expect it to work differently than
HAP in areas related to this patch.
The used locking should make it safe to use similar to mmio_ro_ranges,
but frankly the only use (introduced in the next patch) could go without
locking at all, as subpage_mmio_ro_add() is called only before any
domain is constructed and subpage_mmio_ro_remove() is never called.
---
 xen/arch/x86/hvm/emulate.c      |   2 +-
 xen/arch/x86/hvm/hvm.c          |   3 +-
 xen/arch/x86/include/asm/mm.h   |  22 ++++-
 xen/arch/x86/mm.c               | 181 +++++++++++++++++++++++++++++++++-
 xen/arch/x86/pv/ro-page-fault.c |   1 +-
 5 files changed, 207 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 95364deb1996..311102724dea 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -2733,7 +2733,7 @@ int hvm_emulate_one_mmio(unsigned long mfn, unsigned long gla)
         .write      = mmio_ro_emulated_write,
         .validate   = hvmemul_validate,
     };
-    struct mmio_ro_emulate_ctxt mmio_ro_ctxt = { .cr2 = gla };
+    struct mmio_ro_emulate_ctxt mmio_ro_ctxt = { .cr2 = gla, .mfn = _mfn(mfn) };
     struct hvm_emulate_ctxt ctxt;
     const struct x86_emulate_ops *ops;
     unsigned int seg, bdf;
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index d326fa1c0136..f1c928e3e4ee 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1942,7 +1942,8 @@ int hvm_hap_nested_page_fault(paddr_t gpa, unsigned long gla,
      */
     if ( (p2mt == p2m_mmio_dm) ||
          (npfec.write_access &&
-          (p2m_is_discard_write(p2mt) || (p2mt == p2m_ioreq_server))) )
+          (p2m_is_discard_write(p2mt) || (p2mt == p2m_ioreq_server) ||
+           p2mt == p2m_mmio_direct)) )
     {
         if ( !handle_mmio_with_translation(gla, gpa >> PAGE_SHIFT, npfec) )
             hvm_inject_hw_exception(TRAP_gp_fault, 0);
diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
index db29e3e2059f..91937d556bac 100644
--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -522,9 +522,31 @@ extern struct rangeset *mmio_ro_ranges;
 void memguard_guard_stack(void *p);
 void memguard_unguard_stack(void *p);
 
+/*
+ * Add more precise r/o marking for a MMIO page. Bytes range specified here
+ * will still be R/O, but the rest of the page (nor marked as R/O via another
+ * call) will have writes passed through. The write passthrough requires
+ * providing fixmap entry by the caller.
+ * Since multiple callers can mark different areas of the same page, they might
+ * provide different fixmap entries (although that's very unlikely in
+ * practice). Only the one provided by the first caller will be used. Return value
+ * indicates whether this fixmap entry will be used, or a different one
+ * provided earlier (in which case the caller might decide to release it).
+ *
+ * Return values:
+ *  - negative: error
+ *  - 0: success, fixmap entry is claimed
+ *  - 1: success, fixmap entry set earlier will be used
+ */
+int subpage_mmio_ro_add(mfn_t mfn, unsigned long offset_s,
+                        unsigned long offset_e, int fixmap_idx);
+int subpage_mmio_ro_remove(mfn_t mfn, unsigned long offset_s,
+                           unsigned long offset_e);
+
 struct mmio_ro_emulate_ctxt {
         unsigned long cr2;
         unsigned int seg, bdf;
+        mfn_t mfn;
 };
 
 int cf_check mmio_ro_emulated_write(
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 0fe14faa5fa7..b50bdee40b6b 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -165,6 +165,19 @@ bool __read_mostly machine_to_phys_mapping_valid;
 
 struct rangeset *__read_mostly mmio_ro_ranges;
 
+/* Handling sub-page read-only MMIO regions */
+struct subpage_ro_range {
+    struct list_head list;
+    mfn_t mfn;
+    int fixmap_idx;
+    struct rangeset *ro_bytes;
+    struct rcu_head rcu;
+};
+
+static LIST_HEAD(subpage_ro_ranges);
+static DEFINE_RCU_READ_LOCK(subpage_ro_rcu);
+static DEFINE_SPINLOCK(subpage_ro_lock);
+
 static uint32_t base_disallow_mask;
 /* Global bit is allowed to be set on L1 PTEs. Intended for user mappings. */
 #define L1_DISALLOW_MASK ((base_disallow_mask | _PAGE_GNTTAB) & ~_PAGE_GLOBAL)
@@ -4893,6 +4906,172 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     return 0;
 }
 
+int subpage_mmio_ro_add(
+    mfn_t mfn,
+    unsigned long offset_s,
+    unsigned long offset_e,
+    int fixmap_idx)
+{
+    struct subpage_ro_range *entry = NULL, *iter;
+    int rc;
+
+    ASSERT(rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)));
+    ASSERT(offset_s < PAGE_SIZE);
+    ASSERT(offset_e < PAGE_SIZE);
+
+    spin_lock(&subpage_ro_lock);
+
+    list_for_each_entry( iter, &subpage_ro_ranges, list )
+    {
+        if ( mfn_eq(iter->mfn, mfn) )
+        {
+            entry = iter;
+            break;
+        }
+    }
+    if ( !entry )
+    {
+        /* iter==NULL marks it was a newly allocated entry */
+        iter = NULL;
+        entry = xmalloc(struct subpage_ro_range);
+        rc = -ENOMEM;
+        if ( !entry )
+            goto err_unlock;
+        entry->mfn = mfn;
+        entry->fixmap_idx = fixmap_idx;
+        entry->ro_bytes = rangeset_new(NULL, "subpage r/o mmio",
+                                       RANGESETF_prettyprint_hex);
+        rc = -ENOMEM;
+        if ( !entry->ro_bytes )
+            goto err_unlock;
+    }
+
+    rc = rangeset_add_range(entry->ro_bytes, offset_s, offset_e);
+    if ( rc < 0 )
+        goto err_unlock;
+
+    if ( !iter )
+        list_add_rcu(&entry->list, &subpage_ro_ranges);
+
+    spin_unlock(&subpage_ro_lock);
+
+    if ( !iter || entry->fixmap_idx == fixmap_idx )
+        return 0;
+    else
+        return 1;
+
+err_unlock:
+    spin_unlock(&subpage_ro_lock);
+    if ( !iter )
+    {
+        if ( entry )
+        {
+            if ( entry->ro_bytes )
+                rangeset_destroy(entry->ro_bytes);
+            xfree(entry);
+        }
+    }
+    return rc;
+}
+
+static void subpage_mmio_ro_free(struct rcu_head *rcu)
+{
+    struct subpage_ro_range *entry = container_of(rcu, struct subpage_ro_range, rcu);
+
+    rangeset_destroy(entry->ro_bytes);
+    xfree(entry);
+}
+
+int subpage_mmio_ro_remove(
+    mfn_t mfn,
+    unsigned long offset_s,
+    unsigned long offset_e)
+{
+    struct subpage_ro_range *entry = NULL, *iter;
+    int rc;
+
+    ASSERT(offset_s < PAGE_SIZE);
+    ASSERT(offset_e < PAGE_SIZE);
+
+    spin_lock(&subpage_ro_lock);
+
+    list_for_each_entry_rcu( iter, &subpage_ro_ranges, list )
+    {
+        if ( mfn_eq(iter->mfn, mfn) )
+        {
+            entry = iter;
+            break;
+        }
+    }
+    rc = -ENOENT;
+    if ( !entry )
+        goto out_unlock;
+
+    rc = rangeset_remove_range(entry->ro_bytes, offset_s, offset_e);
+    if ( rc < 0 )
+        goto out_unlock;
+
+    rc = 0;
+
+    if ( !rangeset_is_empty(entry->ro_bytes) )
+        goto out_unlock;
+
+    list_del_rcu(&entry->list);
+    call_rcu(&entry->rcu, subpage_mmio_ro_free);
+
+out_unlock:
+    spin_unlock(&subpage_ro_lock);
+    return rc;
+}
+
+static void subpage_mmio_write_emulate(
+    mfn_t mfn,
+    unsigned long offset,
+    void *data,
+    unsigned int len)
+{
+    struct subpage_ro_range *entry;
+    void __iomem *addr;
+
+    rcu_read_lock(&subpage_ro_rcu);
+
+    list_for_each_entry_rcu( entry, &subpage_ro_ranges, list )
+    {
+        if ( mfn_eq(entry->mfn, mfn) )
+        {
+            if ( rangeset_overlaps_range(entry->ro_bytes, offset, offset + len - 1) )
+                goto out_unlock;
+
+            addr = fix_to_virt(entry->fixmap_idx) + offset;
+            switch ( len )
+            {
+            case 1:
+                writeb(*(uint8_t*)data, addr);
+                break;
+            case 2:
+                writew(*(uint16_t*)data, addr);
+                break;
+            case 4:
+                writel(*(uint32_t*)data, addr);
+                break;
+            case 8:
+                writeq(*(uint64_t*)data, addr);
+                break;
+            default:
+                /* mmio_ro_emulated_write() already validated the size */
+                ASSERT_UNREACHABLE();
+            }
+            goto out_unlock;
+        }
+    }
+    gdprintk(XENLOG_WARNING,
+             "ignoring write to R/O MMIO mfn %" PRI_mfn " offset %lx len %u\n",
+             mfn_x(mfn), offset, len);
+
+out_unlock:
+    rcu_read_unlock(&subpage_ro_rcu);
+}
+
 int cf_check mmio_ro_emulated_write(
     enum x86_segment seg,
     unsigned long offset,
@@ -4911,6 +5090,8 @@ int cf_check mmio_ro_emulated_write(
         return X86EMUL_UNHANDLEABLE;
     }
 
+    subpage_mmio_write_emulate(mmio_ro_ctxt->mfn, offset & (PAGE_SIZE - 1), p_data, bytes);
+
     return X86EMUL_OKAY;
 }
 
diff --git a/xen/arch/x86/pv/ro-page-fault.c b/xen/arch/x86/pv/ro-page-fault.c
index 5963f5ee2d51..91caa2c8f520 100644
--- a/xen/arch/x86/pv/ro-page-fault.c
+++ b/xen/arch/x86/pv/ro-page-fault.c
@@ -342,6 +342,7 @@ static int mmio_ro_do_page_fault(struct x86_emulate_ctxt *ctxt,
             return X86EMUL_UNHANDLEABLE;
     }
 
+    mmio_ro_ctxt.mfn = mfn;
     ctxt->data = &mmio_ro_ctxt;
     if ( pci_ro_mmcfg_decode(mfn_x(mfn), &mmio_ro_ctxt.seg, &mmio_ro_ctxt.bdf) )
         return x86_emulate(ctxt, &mmcfg_intercept_ops);
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 10:09:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 10:09:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515118.797694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgjnL-0005Wv-G5; Mon, 27 Mar 2023 10:09:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515118.797694; Mon, 27 Mar 2023 10: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 1pgjnL-0005Wm-D8; Mon, 27 Mar 2023 10:09:43 +0000
Received: by outflank-mailman (input) for mailman id 515118;
 Mon, 27 Mar 2023 10:09: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=jSZI=7T=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pgjnK-0005WB-Lc
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 10:09:42 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b41fa93-cc87-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 12:09:40 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 8B0805C00D2;
 Mon, 27 Mar 2023 06:09:37 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Mon, 27 Mar 2023 06:09:37 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 27 Mar 2023 06:09:36 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b41fa93-cc87-11ed-b464-930f4c7d94ae
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=fm2; t=1679911777; x=1679998177; bh=1P
	t6XqRuvA6Th9hcIflc1psbelysDkFYRZ1fYTSdFk8=; b=YV3dOcV6/U9h5icRhn
	Pcy4iRo2Fazj+YZKFej5iUjPGl8gqo94BIVI3q7ARiSJk/HhgssUNnYvf2viGgJL
	kGLsTkhM/W9JuMJZssQnQHVmOJ6jvnABj4vY/Z3T7zcxNs1B1sJMnYmiqsrNxxY4
	ylDrIobV45aDJEwUQqSsJTV4G+kc+1fQtDiovENZHKQqj3VceoToIxcGhJxbDm7a
	Vn5xb+PmK+fXBmF08TVRN12wWGdwtSKHWbTNdOOuyQdaiwVMt2LnzNy3IsOXfkLI
	W3xX4ZXwtgVCBcVNXYQLiePM1JVZosbQA0KOsHKJsIFpcnuyV6lxpo5KFYnFplN/
	GsJQ==
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=fm2; t=
	1679911777; x=1679998177; bh=1Pt6XqRuvA6Th9hcIflc1psbelysDkFYRZ1
	fYTSdFk8=; b=t3PYdUq9BQ35ZENiGBKpgRXgTk/lQmD9zOvJG1kJCp378ehNWqx
	hLCjlR6naSgeQh9ApcDqGhXDDkbLlp5PsiS+SG0CLWQESSpdoIliUz2c4ZgvHI1/
	nnD66FnUlWr9Uu3pBJ4NaF6quPIzVAGPVmwvGdrREcVkHm3dXZy3mQ/CDqwtkOTs
	U37iuCGXzfloN9MEoqP/tZsNqioR3erJlKcCrXxMW8Lge7izyesglqrF+VnmC89/
	j3SVBrOfHdzF36TsLBI4+jx2OLlXRsSFkDVh3BepunZhKek5nEQDyEWw6BBDstZe
	+yV8fYat+OVAsOSKf4CMi9qo6P7hiaZuhDg==
X-ME-Sender: <xms:YWshZKoCOBK2TkHq70PHb-Fn844gASfRI1IBOnsWsEX9ORDz2TSE2g>
    <xme:YWshZIr66zw3rMMPhNNT1K5Z082C77RkO2Pe_Ig7R-4agwQr2vK4sBuLBvCfZO3G9
    t5iFnRXDJEojA>
X-ME-Received: <xmr:YWshZPMAKo5Qq76Rco0Wzcj_I23s4R9hsmSmqgE_koUyPEPohVeXlLqaeIuawFdNQ7IlyJpZdxcETQA4hmI07n5UfnSf-fvhp5mbo9uAIW2lWrEJnah2>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehvddgvdehucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:YWshZJ4lpCMvpNkE1KbpoJ3p15x0GgcNAdV0WoCwbsJvjOcF71hsIw>
    <xmx:YWshZJ68m5SGJ8t1hfQwYio4D46E5I3IS0mCFLwJcL-Hfhv0v1uHxw>
    <xmx:YWshZJjfU5hVPzzSFroR1t2L2X7pRRbKuha4I0wEapzzuqjTY8J2Zw>
    <xmx:YWshZHQEI_Wmxulq5dYhapKd_liTyghWLUGu6Qp86IlD0SJabtYxLA>
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 2/2] drivers/char: Use sub-page ro API to make just xhci dbc cap RO
Date: Mon, 27 Mar 2023 12:09:16 +0200
Message-Id: <befefa60ea42a41543bc6dad70a559816cda8b7c.1679911575.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
References: <cover.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

... not the whole page, which may contain other registers too. In fact
on Tiger Lake and newer (at least), this page do contain other registers
that Linux tries to use. And with share=yes, a domU would use them too.
Without this patch, PV dom0 would fail to initialize the controller,
while HVM would be killed on EPT violation.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
 xen/drivers/char/xhci-dbc.c | 38 ++++++++++++++++++++++++++++++++++++--
 1 file changed, 36 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
index 60b781f87202..df2524b0ca18 100644
--- a/xen/drivers/char/xhci-dbc.c
+++ b/xen/drivers/char/xhci-dbc.c
@@ -1226,9 +1226,43 @@ static void __init cf_check dbc_uart_init_postirq(struct serial_port *port)
                          uart->dbc.xhc_dbc_offset),
                 PFN_UP((uart->dbc.bar_val & PCI_BASE_ADDRESS_MEM_MASK) +
                        uart->dbc.xhc_dbc_offset +
-                sizeof(*uart->dbc.dbc_reg)) - 1) )
-        printk(XENLOG_INFO
+                sizeof(*uart->dbc.dbc_reg)) - 1) ) {
+        printk(XENLOG_WARNING
                "Error while adding MMIO range of device to mmio_ro_ranges\n");
+    }
+    else
+    {
+        unsigned long dbc_regs_start = (uart->dbc.bar_val &
+                PCI_BASE_ADDRESS_MEM_MASK) + uart->dbc.xhc_dbc_offset;
+        unsigned long dbc_regs_end = dbc_regs_start + sizeof(*uart->dbc.dbc_reg);
+
+        /* This being smaller than a page simplifies conditions below */
+        BUILD_BUG_ON(sizeof(*uart->dbc.dbc_reg) >= PAGE_SIZE - 1);
+        if ( dbc_regs_start & (PAGE_SIZE - 1) ||
+                PFN_DOWN(dbc_regs_start) == PFN_DOWN(dbc_regs_end) )
+        {
+            if ( subpage_mmio_ro_add(
+                        _mfn(PFN_DOWN(dbc_regs_start)),
+                        dbc_regs_start & (PAGE_SIZE - 1),
+                        PFN_DOWN(dbc_regs_start) == PFN_DOWN(dbc_regs_end)
+                        ? dbc_regs_end & (PAGE_SIZE - 1)
+                        : PAGE_SIZE - 1,
+                        FIX_XHCI_END) )
+                printk(XENLOG_WARNING
+                        "Error while adding MMIO range of device to subpage_mmio_ro\n");
+        }
+        if ( dbc_regs_end & (PAGE_SIZE - 1) &&
+                PFN_DOWN(dbc_regs_start) != PFN_DOWN(dbc_regs_end) )
+        {
+            if ( subpage_mmio_ro_add(
+                        _mfn(PFN_DOWN(dbc_regs_end)),
+                        0,
+                        dbc_regs_end & (PAGE_SIZE - 1),
+                        FIX_XHCI_END + PFN_DOWN(sizeof(*uart->dbc.dbc_reg))) )
+                printk(XENLOG_WARNING
+                        "Error while adding MMIO range of device to subpage_mmio_ro\n");
+        }
+    }
 #endif
 }
 
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 10:12:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 10:12:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515132.797704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgjqH-0007gK-Ux; Mon, 27 Mar 2023 10:12:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515132.797704; Mon, 27 Mar 2023 10:12:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgjqH-0007gD-RJ; Mon, 27 Mar 2023 10:12:45 +0000
Received: by outflank-mailman (input) for mailman id 515132;
 Mon, 27 Mar 2023 10:12: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=d31z=7T=citrix.com=prvs=4435eb1af=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pgjqG-0007g0-W3
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 10:12: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 e7604559-cc87-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 12:12:41 +0200 (CEST)
Received: from mail-mw2nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 27 Mar 2023 06:12:38 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by MN2PR03MB5214.namprd03.prod.outlook.com (2603:10b6:208:1ef::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Mon, 27 Mar
 2023 10:12:36 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Mon, 27 Mar 2023
 10:12: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: e7604559-cc87-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679911961;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=uHFscnL0ZNL/uVUdYNF6Ze8Wzf1U5/EnxyRslIfM+3o=;
  b=OmF05ytCcyBqelSlf/bw1BrclXcFNgYitKp28FfW37J3O241FzVo3Y7E
   iJ2lWHv+ob4pTTiN9lmCtBiJvhKUtbGqdA7HgP8zelcUXCWde7TIRQlSd
   l5nR6pelAAEKYavHnr2HSAkGVxwKHV1lM2OUuSZ+RqpfpvS5Lpt1z8uqe
   I=;
X-IronPort-RemoteIP: 104.47.55.101
X-IronPort-MID: 103349369
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:8FH506i5GEfryhI9HrL4wpt7X161vREKZh0ujC45NGQN5FlHY01je
 htvXmCFMv2NMGajeY9wbtywpxsAusDUx9IwQAU/rio9RSkb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wWBzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQiMTAMcw/EutuNxavmZ7JRpZ4CEJXCadZ3VnFIlVk1DN4AaLWaG+Dv2oUd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilEsluG1abI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjA9lORebmp5aGhnW47DYuSy8IW2C2sOKr03K4ePF9E
 WYbr39GQa8asRbDosPGdxixunuNpBMfc9tWDewh6QuJx7bU4gCWHWwNRHhKb9lOnN87Q3km2
 0GEm/vtBCdzq/uFRHSF7LCWoDiufy8PIgcqZyYCQREU/trLr4Q6jxaJRdFmeIa3hNDoHTD7w
 xiRsTMzwb4UiKYjyKGT7V3BxTW2qfD0ohUd4wzWWieg8Vl/bYv8P4iwswGDtLBHMZqTSUSHs
 D4cgc+C4esSDJaL0iuQXOEKG7Lv7PGAWNHBvWNS81Aa32zF0xaekUp4uVmS+G8B3h44RALU
IronPort-HdrOrdr: A9a23:JbacT6O7i48/6MBcTj+jsMiBIKoaSvp037Dk7TEKdfUzSL3rqy
 nOpoVp6faaskdvZJhNo6H8BEDEewKtyXcX2/hhAV7BZnibhILAFugLnOiSoUyEakmOkZ866U
 4jSdkENDSaNykCsS+V2njBLz9t+qj4zEgn7d20859/JjsBV0ljhD0VNu/NKCFLrFEtP/UE/J
 323KR6TzzKQxUqhsDRPBk4dtmGmfXWmZL6QTNuPW9T1DWz
X-IronPort-AV: E=Sophos;i="5.98,294,1673931600"; 
   d="scan'208";a="103349369"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nCzqVzXFCapvSgsqnMLhIdPyKXt+OHh7A2rFzwEzxGLLCe7nQ2XMsrg/gO0N2W2HIR33qcX4aQug5eZENUNK6PorQ1qb0E9XNIe/p4nTuTxeckUj0QDo6JfIpZrHy9VjXKDpei3kPbb5lvd/gTSqKKWQYZSY67oowqm7yGbVK6KxqwP9SnljB0EVKshmbMbhP1JC0npqv01W4ISEo9pLarhbD1auV89/rYd19RooYfsFnfO2LInpfAVrxlWje3l9F2zb8MPgIlZM1hrMg3kkVyIIo6a3p1qJ5YPNPgr1fK5NrJmrrI4FJDH3dmZJ3NtwKYx6+J0oA8G0p/F+sjbsqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jo5dWKE2xHXN07tXbu3fqBhFzZpbMO/vJwx1vsjB3ks=;
 b=cFdUMzmmzxmciJd40iFzvw1/IwkN6s1hj1tBXdxENcSSW4+1dtoFjl+gWLRKFxDZfLvBSD7dLT68Kx3BcM5pygWV/VJynmAjHe6EnS2+hPzGRMYTX/dii6O8ST1EQ35xDf7xPtDn9KRzqw2Ju8BK9aRMbcqD6QXFuvtHljcfevwbqwrFpeU4fdJA7tPKtvZmJ58wkOL3PO33ZgNnIKWdZWVLhAb1Fu7FvZ2Y1aIJxbZFup2ju4a1JZVv0gdFQBjcayg2buBmakK9SUpZwnkpMRIdQ0TNcn1y+/IZ20VMi8d0Am6j0UdQVPdFth0VQJ05y7EBuKecFrrA2nX/DXAVMA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jo5dWKE2xHXN07tXbu3fqBhFzZpbMO/vJwx1vsjB3ks=;
 b=FBxtkHGwEHXc3vrvaIVU/bTLlP+xqk1gvVir1po/Rt5P3tm7IzxCTdMaAvWgIf5/GEUkuJ0zuX07o7R6GPlqCdDaShAEX2Qaq8CORzfc2lMydiJYJogkQwjRFB7006K7Hdh5LUJFVo2Pk/Nmutm+PoYUtHsg6a+qdE8JZRTat/4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 27 Mar 2023 12:12:29 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/3] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model
Message-ID: <ZCFsDbKfGvn7giN+@Air-de-Roger>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
X-ClientProxiedBy: LO2P123CA0051.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1::15) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|MN2PR03MB5214:EE_
X-MS-Office365-Filtering-Correlation-Id: 607e278c-a68d-4b7a-4acb-08db2eabc945
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xZbkJ7CNdW6GOsZ7LcCtgetlDEugYBcQ8xc5Zp5NZvZOyWJpbqVVno4RG2F/10P4XK+CuAySPHfra7LeRO4lbPT/03zrBlegMgY7c28QU3JDURyleIbKZ96Bql3pUpPUzAY0OduwglVL69KxDsB9nGPLM+mvME854TPidDo28/JBYgd4vjPop8SSPeTjqvTPNNU4TBu3Ky1KgsW0ZJYJ08G6LgaQkEim0LE7dQiZ4u6UEoPmwqKnoUmtApT9vOztpuVq3lVwNUTTW12t7Yfz3h4iVg5BXsdrTRULztHsCsfGsHFJtFsa6FUrWYOE2zyAaeKSPd2tGeIEJSLcHPdeI893z5qVs6nnwL8c8DlQasXoRAqnCnk+/LYs4ySsOkTfKFbbh4VAdOlT8lZqK758dgZJoy2sfA/SiescP43aTf7QIjB1A5DCRFSZtFsk5wD0KB1z6IjUbEjlQ26Tr1HULEmiIOQzrtN3kJl1WU8QwCF85sUhVKc3/nrDGU61YAfc8kJko+atVF0HHkBgahcaOgWNMNzVDpSoQyXUZYsMjaUhWk+9RZ5gY2i8MSqrM/Vw
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(39860400002)(136003)(346002)(366004)(396003)(376002)(451199021)(9686003)(6512007)(6506007)(26005)(41300700001)(6666004)(186003)(6486002)(83380400001)(66574015)(478600001)(54906003)(316002)(4326008)(38100700002)(2906002)(6916009)(8676002)(66476007)(66556008)(66946007)(85182001)(82960400001)(33716001)(86362001)(5660300002)(8936002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M0VRS2hERG82dVB3R2wvZXA3MGNhaTlLT3Faa0tVQkhTai9TbnpkVzZUWW50?=
 =?utf-8?B?a2JCNEd6TnVuVlZhVWpuVGFIQWUybGVFMEJ6QmFCN1VvV1RyTnpiblZLQzlp?=
 =?utf-8?B?cjk4aDdsUFUwZmZLeG9nVGVIU3NVMnNMd0lEMTFEWnZxZERISzV6WlQ2OUpk?=
 =?utf-8?B?bWszR1RkWm56a3ZtTllWcEVrYXpuWEVHUlVwYlZkbW0zcWx5OGQySmt1S1By?=
 =?utf-8?B?WGNYZHk4eCtuUDYwQm14NXVzMnJYNFBITXRCamRzZ1o5c3BNK3VrU21kejJx?=
 =?utf-8?B?WkhDRGNvR1J2TUt0ckYwdlU5d1IrSmZCMHBXUkNNSFRBMVR5UkhWeGxvSnNh?=
 =?utf-8?B?ankzNTI2OS9mdUZneTVjYlhILzRYeTIwUVNneDVpcS9OY0FyVEVpT0QyOTdO?=
 =?utf-8?B?aUFsK0QvNGVrK0h4RFBNY1o5ZGlEUGRhc1RjRTFNY1hUR21xTnNnUm1FdWZR?=
 =?utf-8?B?U0NkOEpDTENhTlM4UjZxdmpLTjhHeWZRQVJSVXJvLzhJYzlidCsvVkxEVjg3?=
 =?utf-8?B?R0txYmtHOVVUem1NUjRoMllWbVRYREZUVmYwRXhlWFFuSHBSYmJ0M3VEVlRT?=
 =?utf-8?B?ajdOb0RWMkZPUEdLMHR2NFJXWTNOaEpWSVo2eUErVnJidUswYUtzc3lYTC9Q?=
 =?utf-8?B?QWtaa1V3OTE2cHZubVpRZzgxQUZLaENkN2pvYWU4amo4Wm5uUWFOOS9DU1B3?=
 =?utf-8?B?ekUwSTZtdS9GUU5Ob1c2S3VqUjJYYUpJei9YeWhlZ21POEhxdnVSd1doTDho?=
 =?utf-8?B?T1BLdzFmdVBVS3BnWERmalpUZ3EwQ1hxQnE0WE9DWDNFWlJTYU9wb0ZsYVpv?=
 =?utf-8?B?U1ArZC9wWWJmbGFpaGxuZHZaanVIelZlUzJYYjRFUm5Kd2dGRVBlRjJwbFRW?=
 =?utf-8?B?M1k5Ky96TnUzOWcwUTRPUGpHSjFjOTZ1OFV3dzh5Mi9xL0xPUUx2UDFQL1Mx?=
 =?utf-8?B?QTQyN0p1VHc4VnJhQjBCVjZkcnRKMGtHdEJFYzdaQWpRdmFSSWVKaUQ5R3JT?=
 =?utf-8?B?aCtTYUloa050NWFrUHQyNFVHUk1xOGhvWEZLNGNuVmx6dlQrTndRalpYZWE4?=
 =?utf-8?B?dHRGM0hUd3FDSXBrc213amFaNDBLRzlocDkwWmo2THVWR2FOdlNCSThRVHBo?=
 =?utf-8?B?YlkyanhYcDVnZDlFUjNxd2hzTlQycEtFZmVqaFBKbS9pUC81d0FzK2RqTnlm?=
 =?utf-8?B?NXRLL2pjNFFIME1Td3JzWTZoM3V4Z1NpbjJ0ODBFUWxZcllQanBnQkY0aGd3?=
 =?utf-8?B?Q3FtVHNnWXVZUHJKY3dYUjVkQVlPWUZnajFDaFpjbGVwT2RNdjc2STgwaHlV?=
 =?utf-8?B?VU80cHAzenkvOEpacHZNWWptWXJFaHliYVRGSGVYV2w0ZTdGSzFuRzk4bUxL?=
 =?utf-8?B?WXVFVGUxS21xYlU4UGs3dzFXWWNQampRdlNBNFJwNVV3VzhPQUFqQ3NOT3Vl?=
 =?utf-8?B?Sm1IeVdCZCtxZlphRlJxdEt6NUYvT0dEODk0UDlVc2RoVzZyUFBxY1VaWlhD?=
 =?utf-8?B?T0t2Tm5STHFVRHBIbVFUOE9CL2NKaTZwcUJ1dlpyUFRhVkZYNmVQUmkxNzkr?=
 =?utf-8?B?VjRQUk9pSHllQ0VOT0I1a3NsYitLM1IrSVk4NC9GZTF0Umd3UTFBeXFsQlVy?=
 =?utf-8?B?a3FCOGE1Ump1OFJiNmltQ2wvdGEzZkcrOExwcmFxcGF3NXVjSXIwNU01VVVu?=
 =?utf-8?B?MkJBZHVrT0FBY0xUZ0JmRnpDcW5qN0pHVlBwcGJzZFNEOUd4YUFZdnJxczJt?=
 =?utf-8?B?SzZFMitsd3diYm1WNWNxeUN6cXh0Vm1zS3FIUUluaDErSUhPZm84ZzUvdkFq?=
 =?utf-8?B?VTFUQjhFMUNjMVJvbVl2Qko0M1Y2azMvd3VwZU9hV3pZWlM4SFJUejUrTWor?=
 =?utf-8?B?bmRsT3JNc3hqOGQ4RVFMVGQySmk3SmQ4MVM0OGZmZmE1WnZHL28zZy9xMlMr?=
 =?utf-8?B?dTJ1OUVZRy9RYkdqMlFjMmpJb2dqWnI4eE9QaGx3M3BmYlNHOGY4cURiQXR1?=
 =?utf-8?B?RFRuRFlZU0xmb1dSSm9ockJEemJvdE5JWEhuQWVyY3J5OVNYd2c3OGNKeGJS?=
 =?utf-8?B?TUd4MHNMTnFYcTJ3M01BN1NjYmd1WnhiVTVkcGtkWGtFSXRlUEpNemlHR0Vo?=
 =?utf-8?Q?CzWo8aQOOvYje7u75UyZabBsc?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	OBzIT+tPTOmkxFiVQNc9pfJyW5QDR5N8QNqeXAFB4pg9XKP3SxdQIKQG/h+jY/S2zD7NvXoD2inZmI0ZzR9N9+5xnoieorvo1bYqTrpcyWzUY9r709t3BoLEy6/RX4tR/eyRbyHKSWYXfJmbUjNmPYWJb4RvrrTNGnSmI6JYFfW56/KWUT/Adz2mhY7a3Qxcpp4w57K20QHTNTPdK9FQ5Lob2/ObuRKH0s5W1QkAM8gvNqAMA1Ime8tjnQWW/lKY5yiutWp46PLIgkoCGinw30Mre4TdyVNNmNUj8BL5e3WcUXJ8dwyv7MKiVcc1x113xH+5OQ4ahlbXuHBv7FjaCME8k5INQ9GQ25kzNj3mGuybFhf5I+xiyjxOYXc/2v+2okZiyLYpuCXTavipr+Fns3jzdznPDqrvIti+gW59rmcWD4FZj4/18C2NcBdZZ5c5vicIvJMCwZaj0DSsyg2XUVVgSfY91oP13YhZTkQdNj6HGc6eXdaIyjQJyBRrLA+EzQvmz4vTPnW112SB2BvSCp6qKjeWecoBgmqBp0vq6cpPQJDZgUTRZRFumRu9MdGogMpVLQYHWT0rLvGTRlh0L6CcVLkvU5kqWJmQzhFL2hMn1h0JGzazC1x3Pxei1a9kqcqJKg45ogi0d76jjZA/Yr2J1osgUC3OlwYdvSaM0V//Gtih/EAySvRjRNLNnqQadhVBIiAAeyHNqRmt1/5ijwZYz4KfNRhBIerzTxKcVLnmTMKxyx/6DkiWegNSd5tcRX5wBdHtMcHisOSyFk/5YI8HVRp+FEX+opQsTY6zg87MBvUeKpOHfIou/47124/17dwqZhLrNUlirmjvdQwWyt/vpaBGBvYoPOQd0BMX4yWYURELrB179wumN1mFS805wW+xkigvsr9MagaR36OfaWXiXAxwtWRb4nGjEQ2rxLM=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 607e278c-a68d-4b7a-4acb-08db2eabc945
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 10:12:35.7697
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CukfxfZQ2I7hsF7UV4gMlZ35D0v2bfOwnM4xbartFa7qj6TI8OHd24cYo1bkdxKpJ58urhb9qLhCYXI0i1vDPA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR03MB5214

On Sat, Mar 25, 2023 at 03:49:22AM +0100, Marek Marczykowski-Górecki wrote:
> 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. This does include forwarding also writes
> that did not change the value, but as tested on both Linux (6.1.12) and
> Windows (10 pro), they don't do excessive writes of unchanged values
> (Windows seems to clear maskbit in some cases twice, but not more).

Since we passthrough all the accesses to the device model, is the
handling in Xen still required?  It might be worth to also expose any
interfaces needed to the device model so all the functionality done by
the msixtbl_mmio_ops hooks could be done by QEMU, since we end up
passing the accesses anyway.

> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
> 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
> 
> This behavior change needs to be surfaced to the device model somehow,
> so it knows whether it can rely on it. I'm open for suggestions.

Maybe exposed in XEN_DMOP_get_ioreq_server_info?

But I wonder whether it shouldn't be the other way arround, the device
model tells Xen it doesn't need to handle any MSI-X accesses because
QEMU will take care of it, likely using a new flag in
XEN_DMOP_create_ioreq_server or maybe in XEN_DOMCTL_bind_pt_irq as
part of the gflags, but then we would need to assert that the flag is
passed for all MSI-X interrupts bound from that device to the same
domain.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 10:26:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 10:26:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515137.797713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgk3L-0000uJ-4p; Mon, 27 Mar 2023 10:26:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515137.797713; Mon, 27 Mar 2023 10:26: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 1pgk3L-0000uC-27; Mon, 27 Mar 2023 10:26:15 +0000
Received: by outflank-mailman (input) for mailman id 515137;
 Mon, 27 Mar 2023 10:26: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=jSZI=7T=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pgk3J-0000u4-ER
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 10:26:13 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ca585ec3-cc89-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 12:26:10 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 4AC545C0150;
 Mon, 27 Mar 2023 06:26:09 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Mon, 27 Mar 2023 06:26:09 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 27 Mar 2023 06:26:07 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca585ec3-cc89-11ed-85db-49a42c6b2330
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=fm2; t=
	1679912769; x=1679999169; bh=dCq3bd7ay+CmXuX/X23yMNYhA8xOyi5CwWG
	OHjp0xGE=; b=djiTLeU0EKlVomoVkiKwqQCc8fdaw+A7UbqcHQCWq3rPxpZMDzO
	1iZkVgo3jhhEMbu1Ahw2o6Eg2a6lmER3g1S+hvMc761sJKlmD3OWYijLGYOK+/k0
	ZluZrqalqDjGpajs7nTjLtDWfM/eltWFqMX9r9QlxgetJxd3dZERDSUmD/bP62tN
	lQTqNKRA1p9ZQJQ8tvGj9ORTGtbQ1zilRDRuU10I3rs/K/By7iT9x5lPaof2B3Bf
	9va1oDsrb85AGHnFJDhfyVwKZ05nnJGl/xW8nbo2aU9owW0v5fGflnquNpr0isC4
	tFOByrH6zilfMiQEh1HJ+tE6dxZY8+59P+Q==
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=fm2; t=1679912769; x=1679999169; bh=dCq3bd7ay+CmX
	uX/X23yMNYhA8xOyi5CwWGOHjp0xGE=; b=nqfsi+Mangv4i77JLXKiBHXNfmPy2
	Yv1nNZmtYJbQfC7PiyvT0eMJy273pRT1f83kQ5Fd9v+DnFIZyUVGQUqhES1hOhx5
	J0hKE5CcCNkrS47Wz9VQEQfMzBS8iSGwI/JsqNdZQvk6ZsrPlwT3Vx4gUAU5WWPU
	+2TDhRFm824pyahOjr2H2V0+ET+Xd4p7tAVGvgMKuYr7KCIYYULSVM7VaOU5Ug4r
	pWDXll7IFaxA7U+ls29jq3nKwwjzo9TZs4SAgTlpN9+ixbDWbnnAPsvbmrsYmz8Z
	ctgtRUsl8OPsFQrqKr0fXO2A+JsrMOkSs8TipZyou5PflCf4MxiU4IgSQ==
X-ME-Sender: <xms:QW8hZNnCj5QnNKY7lCVtSXj00ufSQd2OuJJouiQ1mFh_0f8gPayG_w>
    <xme:QW8hZI0IR4CfzLUeAEpY_tNP0GmogsLEwcsKM3fknDEakhXk0JD8_fimKTOtrMy24
    o7eQV_YOQls7g>
X-ME-Received: <xmr:QW8hZDqqSY-9_mOYC9WmjW056RP3rKoQUQI77Rd0kDl7BkT_cmtgiwgpMkm9yArqHyKf5k17pqGPjeKOQttdiyKbs2XaP6a1vwY>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehvddgvdekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:QW8hZNkCqa9W53nFsNTI7W3n1AK8E1ILHJZb-qLNKqsldSi7fpqk1g>
    <xmx:QW8hZL3w1K1DfB9_1sLfM-QbowZWRoCZ9XH1ShlcdicnszWT5ztIsQ>
    <xmx:QW8hZMvqFqms02zwNZBBnSVntKuvu7LxGM59oTMGQgc3xhUFYrrTOw>
    <xmx:QW8hZMy-x_HmDAOMeQeR0QsVFQ8AzEq9nnmg03-iDFR7uvjfBj7l1Q>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 27 Mar 2023 12:26:05 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/3] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model
Message-ID: <ZCFvPTpOixe582JU@mail-itl>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <ZCFsDbKfGvn7giN+@Air-de-Roger>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="CQVVwtIR+/YKQkBt"
Content-Disposition: inline
In-Reply-To: <ZCFsDbKfGvn7giN+@Air-de-Roger>


--CQVVwtIR+/YKQkBt
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 27 Mar 2023 12:26:05 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/3] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model

On Mon, Mar 27, 2023 at 12:12:29PM +0200, Roger Pau Monn=C3=A9 wrote:
> On Sat, Mar 25, 2023 at 03:49:22AM +0100, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > 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.
> >=20
> > Give all necessary information to QEMU by passing all ctrl writes,
> > including masking a vector. This does include forwarding also writes
> > that did not change the value, but as tested on both Linux (6.1.12) and
> > Windows (10 pro), they don't do excessive writes of unchanged values
> > (Windows seems to clear maskbit in some cases twice, but not more).
>=20
> Since we passthrough all the accesses to the device model, is the
> handling in Xen still required?  It might be worth to also expose any
> interfaces needed to the device model so all the functionality done by
> the msixtbl_mmio_ops hooks could be done by QEMU, since we end up
> passing the accesses anyway.

This was discussed on v1 already. Such QEMU would need to be able to do
the actual write. If it's running in stubdomain, it would hit the exact
issue again (page mapped R/O to it). In fact, that might be an issue for
dom0 too (I haven't checked).
I guess that could use my subpage RO feature I just posted then, but it
would still mean intercepting the write twice (not a performance issue
really here, but rather convoluted handling in total).

> > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
> > ---
> > v2:
> >  - passthrough quad writes to emulator too (Jan)
> >  - (ab)use len=3D=3D0 for write len=3D4 completion (Jan), but add descr=
iptive
> >    #define for this magic value
> >=20
> > This behavior change needs to be surfaced to the device model somehow,
> > so it knows whether it can rely on it. I'm open for suggestions.
>=20
> Maybe exposed in XEN_DMOP_get_ioreq_server_info?
>=20
> But I wonder whether it shouldn't be the other way arround, the device
> model tells Xen it doesn't need to handle any MSI-X accesses because
> QEMU will take care of it, likely using a new flag in
> XEN_DMOP_create_ioreq_server or maybe in XEN_DOMCTL_bind_pt_irq as
> part of the gflags, but then we would need to assert that the flag is
> passed for all MSI-X interrupts bound from that device to the same
> domain.

Is is safe thing to do? I mean, doesn't Xen need to guard access to
MSI-X configuration to assure its safety, especially if no interrupt
remapping is there? It probably doesn't matter for qemu in dom0 case,
but both with deprivileged qemu and stubdom, it might matter.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--CQVVwtIR+/YKQkBt
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQhbz0ACgkQ24/THMrX
1yyMDwf/Vr2UQInQC08UT4ySnYuyR7BC2Z+qD6nI5cmM+h5c4vvBlnYvhPGOl5Lt
dqSTdPZ4chC93zsGeJaiRRLJqg1gGsO3UbR5VOaCIgTnmCK6C7l8mHWlB2L3uftu
7KfMvDsifBB+MtAFjEagSxd+rZExoJEM7/mn4PGmmr4qjW9xQF24x3+aQzyeLSBO
AR4TAuK/1Kw+G37SCwER8eO3i25cHh0/iO/ZrUYGwpHOMCVk5k+zmhOMVtq0pNw/
wFNUGVgqrkq9qIQ5GTL9+MjPyCHEC39jk4xY8BVd23o7s5THrh5abuhh94yWbP1z
hzkd6Fppy3Mb2qUaMvLOsTK9g5PCUA==
=HNIl
-----END PGP SIGNATURE-----

--CQVVwtIR+/YKQkBt--


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 10:48:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 10:48:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515146.797724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgkOJ-0003iA-Vt; Mon, 27 Mar 2023 10:47:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515146.797724; Mon, 27 Mar 2023 10: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 1pgkOJ-0003i3-SH; Mon, 27 Mar 2023 10:47:55 +0000
Received: by outflank-mailman (input) for mailman id 515146;
 Mon, 27 Mar 2023 10:47: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=kO+W=7T=citrix.com=prvs=443697bea=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pgkOJ-0003hx-6E
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 10:47:55 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d1d266df-cc8c-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 12:47:52 +0200 (CEST)
Received: from mail-dm6nam10lp2106.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.106])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 27 Mar 2023 06:47:42 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SA2PR03MB5900.namprd03.prod.outlook.com (2603:10b6:806:11a::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.31; Mon, 27 Mar
 2023 10:47:40 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6222.030; Mon, 27 Mar 2023
 10: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: d1d266df-cc8c-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679914072;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=cil6/5KjgxHKbEaxWOrC4op8X6fk5Dg5ItbnAVmQ79w=;
  b=UlX1FpM+KOc8QotlGqxOCJN/JU5nkMRJJY2h2svCZh9yheNKdX3Nj4Rc
   KoJCxh0ZJMgkWYpmVYhxbdM4onpmZ1fH/UmL4pj4MEdDPJnFm6u1XJ95R
   1lZz7TnxWhohBHQw8ky0dRoDXtZP3xymTOk4RzkXMHDVp6y0IgXYDR/Xr
   k=;
X-IronPort-RemoteIP: 104.47.58.106
X-IronPort-MID: 105360576
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:U1nyCq/5dGjhTH6mmLX9DrUDWH+TJUtcMsCJ2f8bNWPcYEJGY0x3z
 mNNUG3UOvreZ2r3Ko0laYri9ksD6MLRzIJkT1Fr+yo8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqoU5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkle9
 /83JmlKMSrbqLuwmJScd7JJnZU8eZyD0IM34hmMzBn/JNN/GdXvZvuP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWDilUpjtABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdpPT+Pgq6E06LGV7kcwKiA5akernamS0USBd8liD
 nE4+DV7+MDe82TuFLERRSaQpXeeuxcGVtl4Eusk6RqMwK7Z/waYAGcfSjdLLtchsaceVTEsk
 1OEgd7tLThuq6GOD2KQ8K+OqjG/MjRTKnUNDQcGRA0J+cj+o6k8ixvOSpBoF6vdpt//FCz0w
 juKhDMjnLhVhskOv42k+XjXjjTqoYLGJjPZ/S3SV2Ohqw98OoisYtXw7UCBtK4eaoGEUlOGo
 X4I3dCE6/wDBo2MkyrLR/gRGLau5LCONzi0bUNTIqTNPg+FoxaLFb28KhknTKu1Gq7ooQPUX
 XI=
IronPort-HdrOrdr: A9a23:BXhwNa+sJa5MbWkGDQtuk+AfI+orL9Y04lQ7vn2YSXRuA6qlfq
 GV/MjzsCWetN9/YhAdcLy7Scy9qBDnhOdICOsqTM+ftWDd0QPGQr2KhbGSuAEIcBeOktK1u5
 0QFJRWOZncN3U/q+DQiTPVLz8n+rO62ZHtv8vli11Kai5LRZ1axzpYLCHeKGFKLTM2ZqYRJd
 6S5s9KvTqydW5/VKmGL3MYRfXEo9HRtL+OW29lOyIa
X-IronPort-AV: E=Sophos;i="5.98,294,1673931600"; 
   d="scan'208";a="105360576"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E2sexa1/o2i/7aXqrTagfrUHoKixbnHcTcSrCBbHzaxK1y7daaLrunM7EAGJrjxiFGg8UFsLrMwkfI+1Fxg4bVdgWetkN/cEUH7pBOJHfKHgS3hUNEJJKydwVUNoH7X5X6lzA9Dx738I/1qYv0vYNaMwdHMJihAETVpATGw51KIjjgIpRSNhROFn8bpe9ZshQVm+la8JDGBWmXwEK99S6W4DwNbRyUnBBibc6131uwxaoLL071u3lYis3DL3h3CKJlJ7xPi1ZmuoxBU2W9NbSWsUYvG65PAkFUouirA6YPdzTUv0OKmIgnW9zR1gKATrBBYFIAXXlXYf84cE3Zeqzg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y0tta+3gd+Qbjy7buj0oN2bF8xS/bZ0jMcrsNxM5LU4=;
 b=VZTqE4xAQzenA3VdParJZnOt25OkUWRO9O7UoUKtziYXCpDhNUUYNCoX5JpFndOX403ap2P8b5GmuqJU2zjKtkFJUeASkOGhjVc8U0KZMCwphZWkbE0LVzVuBg0Jy/pMIoPb449kpLNNgZushuCA8R/WCRjmvqnsW4YYq8R5K2Z+5tBh3r+uDSkH7TkQA/74PulAxLvYVEF1bJMf15qn2+KdI4+UrsLa3EEgpHFi0jEEUaZoTT7dYfa/12X3WCCjq0SLh2zjiSgAuO0zbKEBlFpKR/pWYRKbaaup7chVtYwTvx1x0MKXp+fK7W8YRGpwCsel60mwy3WaggAGLmBEzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y0tta+3gd+Qbjy7buj0oN2bF8xS/bZ0jMcrsNxM5LU4=;
 b=wh2u5eSVI8oLCvpzds/HhR/KCh+iM5jhAbEYneMTp9j0bwsMw/91NwBI9WeMULrC2RHEeBHXQe/P8awJJ+6DgyWNORiB6tl7fE/RniP6AVgSLWgvWw+Pdj8GeUxMIxRrpjW1AsF+NjcVVkDg1/Z5MA4BxILDz/mbPnNZh+l5SLU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <dbd5508f-7971-1c25-09b0-e8eac2a9415e@citrix.com>
Date: Mon, 27 Mar 2023 11:47:34 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 2/3] x86/hvm: Allow writes to registers on the same
 page as MSI-X table
Content-Language: en-GB
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
Cc: Jason Andryuk <jandryuk@gmail.com>, Jan Beulich <jbeulich@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-2-marmarek@invisiblethingslab.com>
In-Reply-To: <20230325024924.882883-2-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P302CA0013.GBRP302.PROD.OUTLOOK.COM
 (2603:10a6:600:2c2::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SA2PR03MB5900:EE_
X-MS-Office365-Filtering-Correlation-Id: b05f1d28-5d76-4b7f-287c-08db2eb0afa7
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hp7RUcoh3338yujP0WxWvOrUNPBZcyjV+KXdeDHJYSpwNmulvLdqFm1qCMcXAsziMzQWZTpCGKf8V1ZA2U4y6N3DH0/d6D1B30dUBkW6Mh2XjzI5tZacIOfMf3/7JNoSWmFhI5GVc2zEbMwAwNwY8m5MqGTwWsQJlmVuR9LleAHlaAvhdEfw+Y5RrIPnAIenFDD4KoytnRCEuWyGDjU6NKEGX5v4Ya2c+PpdVatZQOHzAQ8zbYu5XhKZFfShb6oTBfsM1y86NpHsZMnxUuasiOhWdHeT4c7/WBQ5g2BFVObvmOdOKbIznF/AFEdZnmfr6cCuQnbiWq2jiJPGRIwRE82IcjTDZJgvIpmli58lSCjDhEjUC7YsYxHfox/JWuKEFONZf4lxY/XUuvB3QOgypdA9s78e8F6ImHcjdmbCKoCSG7tza3JYHiuTYU7aqkgUOv+4t9xYac0bmXBo1UkOO+utJdaKUdGQxI5W1OOLLHF0zFmoSVaOa6vTvNuJ2Di3FJ3PEZZaMgIsehv+agbhfQd3b+rhkUgxgkyqvlJra6r5RLa8z3Lqe5ml/nsjlWFrvCsr+DXeL4qdlT3tRf7am0j/EyfVxnsdhZUi4vN1qAgylXYiTT93fQ724FyAz7FsEnsOkBtMVM00B03Aj54SVw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(366004)(346002)(396003)(136003)(39860400002)(451199021)(8936002)(5660300002)(6506007)(6512007)(186003)(26005)(2616005)(53546011)(36756003)(2906002)(6666004)(86362001)(66574015)(31696002)(83380400001)(82960400001)(6486002)(54906003)(8676002)(4326008)(66476007)(66556008)(66946007)(41300700001)(478600001)(38100700002)(316002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SnNPN3ZNZTRGS1lFMDFlclFFVEhzRFFOTUtMb1BRZDZ6Q294elNBK0tEL2Yv?=
 =?utf-8?B?NURnOU9QRVRWczlITVF3MUw5b0ZhT3dvQXdva0QzMy9QRkRUa2l5STlTNHRB?=
 =?utf-8?B?VloyK0RhK21mZitQbWZkalQzSDNGUlZQbHhxY2NYOTVZbFdhZFAweVpsbU0y?=
 =?utf-8?B?d2E3Z3l5b3Bna1drMG5LVzFBOWNiYS9pVXhsWXkzaVIxdlBjdWFwMWZxYkFs?=
 =?utf-8?B?WDNzZmNXbHRIdWlCbGowcEE1VVJHbnFPVXRlckhwZi8xamlCd2t1QnUwM0xs?=
 =?utf-8?B?K2VEd2JQenpVTFpqc3Nvc09MRFl2V2xsdnF5eDl0MVFWbVE5dHZPejlFeUU2?=
 =?utf-8?B?V2Y5RGU1OTFpQTFkb281VzRKV0Vua2gxUncxemg0UkNGZVN5MWJGTXBTblE4?=
 =?utf-8?B?T1QxWVZVZTRjREZkOFhyeFZZQUlmU2V2Uk5ycEh1MEllanY4ZzBsM2U1WHF1?=
 =?utf-8?B?aERGVy9GQTl2cU52cWtxd1VhcmZYQkV5R1ZIN3BMSjA2cnpYMllIR2YwMVU4?=
 =?utf-8?B?WHVpQzlqTFZsT0RlZEYyTGg3dUxtL3pQNnFrOWhhODY4V0FMbzBwdHgxVTRy?=
 =?utf-8?B?OGtCU0hSd01Nc3pTM0pnZmpOd3gxbXJjaEhzbTR4algwQlRrVjJ0TWhCU1Rn?=
 =?utf-8?B?dW1lMDVodHIxQ2JHS2RwdTFsUnNjMVp3Qy9IZlk5RmQzM2tiWFVjM3N5TE4w?=
 =?utf-8?B?SThaSGErbzlhWVg1T2duSlBtYzRySk5aWWtYVHBLK2ZBOTBab1pmR09DK2pJ?=
 =?utf-8?B?Z3ZlcytrQ2dsd0JsSCs2MEw5Tk9YeG9hQzFob1owaVZZMXdCck1IK1h0VzE1?=
 =?utf-8?B?WDVkZnc5UjA0QUFlb2NsNW5sVnF2TlMyQUovSjdmNDFIaXVsRzUwcjlUV0d6?=
 =?utf-8?B?K0RFemVkQWJjQkpYaUw1SGthSGphUlRKTklRcTA2a1dUbU05c2VLMS9ra3FW?=
 =?utf-8?B?amdYNnlWbS82R2kvN1dyRFZDQ2xnd0JmRW9DUWFnVUNkMi9DUm5ScHY2MElj?=
 =?utf-8?B?Q2lHVXJPVm81eVgzRzFydDBHRnc0SWZCcGtoUEZ1VmZUdUxYRnRmVkltRVdX?=
 =?utf-8?B?aVppV2gxVHB0SWpzNU84alQxdXM0K0VJZnBjRGtSaHArQm5LeXBwamkzMTB3?=
 =?utf-8?B?RGlwTWdscXhxMWpja1lCLzg5dk85dTRqQ1JTVFNva09Dd2pjendNVlhJZEpP?=
 =?utf-8?B?SlVvcEo3OXdvdjlMQUl6WG1RcG9laFhYaUFlaWVpTk1PYnZrQXJ4b0NxU0lO?=
 =?utf-8?B?ekIzUThRdnJpaHJkdHh4RzF4TUVMdllkK1ZaVk5zSFg0TjdNeFVCV2UvK0Fk?=
 =?utf-8?B?SUxZR3V2NFhNQWxaMldyREwveUxkZjd1a0lpMVVmbFlWTnluS0xadEFxWFFz?=
 =?utf-8?B?QTIrQUZHL1BFQTNsc2c4U0ZMNjI3UTROTzJJdkdlVlVFKzdQQXNMRElvWFBM?=
 =?utf-8?B?L0l0MWpRV1AvTGJPYkpCWXhXeGRzSmpSemxKNlhtNkV5bnZWU0lVTTZhUVh0?=
 =?utf-8?B?amY5RmpXRWNEQUhEUkNLNnMyVFpFdS9KaXNqY0tlYUovbmFJU0tNbFBDNDBX?=
 =?utf-8?B?TVpkVGNLNVpjYWZROFM5d1NiajNETFZFamZVUkF4SWl6N010UUlMSnRDQksv?=
 =?utf-8?B?RzRuVVhxN3JsK0dBd1ZPRzZnbHFjalZVUDRuYVVDVTUzUHRUTHNnZXY1S01u?=
 =?utf-8?B?OWZTZ1ArRXdKQ01BWEUyN29DcUFabWJBN3BxcmNhUkd2Y1ZyaHkvS1YyQ2tE?=
 =?utf-8?B?MjhHbWZoOFBmdTJsTTVGbUFmS0dWV01QVklLN0YrT2g2UFZBSzl0N0NOQWhN?=
 =?utf-8?B?Qlp2b3RWaGRWWW1pMHo2VC93UFo3eHYzeEpweWNRd1gxR09OWlltOU05Qzdt?=
 =?utf-8?B?R3FZMWhYNXJ2UzJ4RkdJcURjdG9TVlRVTkJZNkN0Z2NxR0ZEZ2t0TGEyckd3?=
 =?utf-8?B?VkdldVNJcndnUi81eTVSb0FqQlJqT2g5ZnVtdW5GdlpvRmV4Y1d2eWZVWlBo?=
 =?utf-8?B?dG5QNjJFQjFkT3k5eVQyNWx3Y3kzN3lhK2k5TEF0Y1JjYmlVSW45TEJnRXdj?=
 =?utf-8?B?YzhhT3daTGNFTm5mckYyWEViTHZLUGRoWGx5eFlsZTR5R09aK1VnNzQzOGpK?=
 =?utf-8?B?c1FmcjhSM2UrRWp2NmhueUlIRU8xUmptOW5UTllrVkNOZFoxY0NUbVcvOXQx?=
 =?utf-8?B?dXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Whge+coPue/8q9kSmKBpynppwSNvTTVT2jKbXEB064k6md/3Dsrhw1hTsUZuy54A7AtMNe/Oeg5cLmdMhyaANLx6oDx2uwXwL7VWzxPn2rQb+bIY7SpyTMEWu7EdnhoKcBp9RZmMl0JbCwgPREZfIiIDH4n90biKtVMP6m1XedIuT65r6zxTlbaPLbVBNYeSq2N4JJEr/6Yqh9n3Z6zsD9la1AgTLkdBxalpn3nMP/ZBqtMfnY3LPHhI6X1eQ31M43o6G62Lblu4JItE5JNG5jpHHPZt+Gkslr2pjSo+WFnF9CuvxNOMtgMUh/3iT+mTqJ0OSCKrVK0PWurSACIDMAImZkRehglrSaZgbcISuniehrgbl5Yt8WifoWTBb4Rap1KzUIixdOHuRABWaDTTOYlGaGD1TKbgOT2Pdgl/OnvoYljy0tUqWhp0RGNYBmfHgKwREDq3mxfphGUe0ZvnDb7YjS3QfqLVthNAKPuTKG2+w6M1wg2d5I4PET/Qeqbx52iys9xL+5JArkYJM++Nm+77qMd5bAKhHGXjY2nf+3Sy6hgZ+bFMYaAB464PP/VQaFt5l26p9LgOSdo8uuPKep++2h21UopeclWBupRn1KJXe+ZW1L5rX2KWOyhsxGGrPFfYsq4wMIMKlf2vX/twfRo3hKBOCdABiizYaXd2suOKT8bosj/znCb96rzH4B7+7wSKgidz60ciJ4PfWc0wg+p5S1qlbJ4gJ41dr7/JKV0FZ2fa7CFtDtaFkLhDjfQqF8NTg44ntw3GwUbPcAsFEVxZ0Mevwp0QNb75m6X+MBQu+0iu3dMp/2IzqtCAnRgfMcPNLUEgLihmfdnllG6cqICue4JHml1PZiLFwaUfrfwIJnIK1Qbl+h68LqQrrtVCKWCzKkdZVhIcFUWcOlflsJmSm4+CWc+bh5uw1h6qfV0=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b05f1d28-5d76-4b7f-287c-08db2eb0afa7
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 10:47:40.1734
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: n8zTLTN9zNFsuhz01dZWIcg8S3v7VcNbVi/bl8P5FVXHOUrJNTRROszLZV9l6kOYGobsfFgjYk8C/wOm0xoea0iH5WI7DmUItR2zP3hfX4c=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5900

On 25/03/2023 2:49 am, Marek Marczykowski-Górecki wrote:
> diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
> index 9c82bf9b4ec2..9293009a4075 100644
> --- a/xen/arch/x86/hvm/vmsi.c
> +++ b/xen/arch/x86/hvm/vmsi.c
> @@ -438,6 +438,152 @@ static const struct hvm_io_ops msixtbl_mmio_ops = {
>      .write = _msixtbl_write,
>  };
>  
> +static void __iomem *msixtbl_page_handler_get_hwaddr(
> +    const struct domain *d,
> +    uint64_t address,
> +    bool write)
> +{
> +    const struct pci_dev *pdev = NULL;
> +    const struct msixtbl_entry *entry;
> +    int adj_type;
> +
> +    rcu_read_lock(&msixtbl_rcu_lock);
> +    /*
> +     * Check if it's on the same page as the end of the MSI-X table, but
> +     * outside of the table itself.
> +     */
> +    list_for_each_entry( entry, &d->arch.hvm.msixtbl_list, list )
> +    {
> +        if ( PFN_DOWN(address) == PFN_DOWN(entry->gtable) &&
> +             address < entry->gtable )
> +        {
> +            adj_type = ADJ_IDX_FIRST;
> +            pdev = entry->pdev;
> +            break;
> +        }
> +        if ( PFN_DOWN(address) == PFN_DOWN(entry->gtable + entry->table_len) &&
> +             address >= entry->gtable + entry->table_len )
> +        {
> +            adj_type = ADJ_IDX_LAST;
> +            pdev = entry->pdev;
> +            break;
> +        }
> +    }
> +    rcu_read_unlock(&msixtbl_rcu_lock);
> +
> +    if ( !pdev )
> +        return NULL;
> +
> +    ASSERT(pdev->msix);
> +
> +    if ( !pdev->msix->adj_access_table_idx[adj_type] )
> +    {
> +        gdprintk(XENLOG_WARNING,
> +                 "Page for adjacent MSI-X table access not initialized for %pp\n",
> +                 pdev);

One minor observation.   &pdev->sbdf

Otherwise things will go wrong if sbdf ever moves from being the first
element in a pdev.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 10:50:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 10:50:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515149.797734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgkR9-00057F-Ch; Mon, 27 Mar 2023 10:50:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515149.797734; Mon, 27 Mar 2023 10:50:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgkR9-000578-9u; Mon, 27 Mar 2023 10:50:51 +0000
Received: by outflank-mailman (input) for mailman id 515149;
 Mon, 27 Mar 2023 10: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=16zh=7T=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pgkR8-000570-Ia
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 10:50:50 +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 3bf04922-cc8d-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 12:50:48 +0200 (CEST)
Received: by mail-lj1-x230.google.com with SMTP id e21so8474216ljn.7
 for <xen-devel@lists.xenproject.org>; Mon, 27 Mar 2023 03:50:48 -0700 (PDT)
Received: from [192.168.202.197] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 p15-20020a2e9a8f000000b002986d2069d4sm4593435lji.82.2023.03.27.03.50.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Mar 2023 03:50: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: 3bf04922-cc8d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679914248;
        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=pfqjTaL4h0eQlM3AuBER3BP/jmEhQxsxj2RahDI/t4E=;
        b=mFLWOsD+oN8Ie70dvIK3Meg6qLKeOSfMfQGUEgpNSeLW+It4GAKXAIfJdpXKn4valE
         lvZEa3kEbRpY1iH9iVFU3IR/7SLDgrNi4xMDIKHcZ2WYcuo/DnfaPSFWxrRpGeSWyejc
         36dfTjheQy8+pbn12xu5pemcB9NPZmjdNWydRkm+jjSMndZs+lWAO0ZvV6fwv3JR/Gf2
         tk9TzsftY8oLw6v3LfcA8ApvQOdnwXhJSO6c063+lZUnBEJhBsl57B6RMLpmarBpnQ4M
         kJ8SRgpBqZo8snhYSgn6zT3JIcPtzX9tJGe4ItaXIqf3xBzbPOSwV31Wlt2QSJPrn6xR
         g4aw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679914248;
        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=pfqjTaL4h0eQlM3AuBER3BP/jmEhQxsxj2RahDI/t4E=;
        b=D3Qn0AGRJ+IeyPCOPrV4jzGn/dwtgkDHwUoj9bMTTJHeUbCU09uoo646GztznhjpOL
         65mC9r3LwFqiFe3J+CphLmeNHd64kcfLeWMyFFyHC/uVSiKphDjwdHGrrNtJSBHYvUIw
         64hA8A0t+mXGcRaUUkI6yfe6yGnp7CZExsmtRop1YfqTI/H2TaZGtUG14C+vsiL4ZwGQ
         3fQOZoQmBysy2euc7SCBWGo97jY77QgA183dP5ZGsFlprO6yC26ZPY5dTXaHgw7gP5Oa
         jfUDN8Pbs5h9bgEVYmW3cW+20zms/IfmOAUJma7GjGR8SeCn4JMxuI/YDFd33hFbjtTA
         OFrg==
X-Gm-Message-State: AAQBX9cHBvTlWBlQK+GKxLdbPeCKE0hKwAzijVsCQELMb32Cqde2ybVl
	gFIFfbhnzT1Pjj35tuuyNb4=
X-Google-Smtp-Source: AKy350aIYTdK32XQ1b3UXQxbWk67Zi5ytnw0ZMb/ivEFIIfawq1QP7dR85w9+0bLVDavkeZcxVF+2w==
X-Received: by 2002:a2e:a163:0:b0:29b:d436:5c8a with SMTP id u3-20020a2ea163000000b0029bd4365c8amr3550076ljl.3.1679914248133;
        Mon, 27 Mar 2023 03:50:48 -0700 (PDT)
Message-ID: <dd8b038c00fba91d0e50d4bb8c98466dfd37ef01.camel@gmail.com>
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>
Date: Mon, 27 Mar 2023 13:50:47 +0300
In-Reply-To: <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
	 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
	 <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

Hello Julien,

On Tue, 2023-03-21 at 17:58 +0000, Julien Grall wrote:
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Setup level0 table */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if ( !pte_is_valid(&zeroeth=
[index0]) )
>=20
> On the previous version, you said it should be checked for each
> level.=20
> But here you still only check for a single level.
>=20
> Furthermore, I would strongly suggest to also check the valid PTE is
> the=20
> same as you intend to write to catch any override (they are a pain to
> debug).
>=20
Do you mean that I have to get a virtual address, extract the page
table index bits from it, traverse the page table hierarchy to locate
the PTE for the virtual address and the compare the gotten PTE address
with zeroeh[index0]?

> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* =
Update level0 table */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 zer=
oeth[index0] =3D paddr_to_pte((page_addr - map_start)
> > + pa_start);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 zer=
oeth[index0].pte |=3D flags;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Point to next page */
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 page_addr +=3D XEN_PT_LEVEL=
_SIZE(0);
> > +=C2=A0=C2=A0=C2=A0 }
> > +}

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 10:51:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 10:51:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515152.797743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgkRj-0005b2-Mr; Mon, 27 Mar 2023 10:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515152.797743; Mon, 27 Mar 2023 10: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 1pgkRj-0005av-IF; Mon, 27 Mar 2023 10:51:27 +0000
Received: by outflank-mailman (input) for mailman id 515152;
 Mon, 27 Mar 2023 10:51: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=d31z=7T=citrix.com=prvs=4435eb1af=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pgkRi-0005ad-5H
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 10:51:26 +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 4faaefa0-cc8d-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 12:51:23 +0200 (CEST)
Received: from mail-bn8nam12lp2173.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 27 Mar 2023 06:51:20 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SA1PR03MB6579.namprd03.prod.outlook.com (2603:10b6:806:1ca::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Mon, 27 Mar
 2023 10:51:16 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Mon, 27 Mar 2023
 10:51: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: 4faaefa0-cc8d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679914283;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=nDfU7XxFcQZEnuPg1aMvF4AlPD3NK15QX7R5KpAqmyI=;
  b=acuiPN8b/nyO59bTT8AqHhG1UcsKQ+TlE0LZ5xIqTeMi6WikFEM2lSAj
   Kg7SpNUB03fxXB5vJLU+YM4FszjmEB74A/pd3HqgK5kO7OgznEzBIfFPD
   5WA08De5yHscGBbLmdwESF7F1SupJFa7BE61ajgvhjui/h5Ij3CQwmF2+
   A=;
X-IronPort-RemoteIP: 104.47.55.173
X-IronPort-MID: 102966163
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:+CrQQKom8kzfAm3wVN8SDTSRC4BeBmLFZBIvgKrLsJaIsI4StFCzt
 garIBnUMq6KZTenfI9+bNiw9EIF7MLWnNIxTFZq+C9kQ34Q+JuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSZNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXABcJYUiouPjm++yqaMwwhZ89HpLkFbpK7xmMzRmBZRonabbqZvyQoPV+jHI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeWraYWOEjCJbZw9ckKwv
 GXJ8n6/GhgHHNee1SCE4jSngeqncSbTAdpIRePmr6Ax6LGV7mYYBwQcUQOUmtDnhFO1e99/N
 RQ44RN7+MDe82TuFLERRSaQpXeeuxcGVtl4Eusk6RqMwK7Z/waYAGcfSjdLLtchsaceVTEsk
 1OEgd7tLThuq6GOD2KQ8K+OqjG/MjRTKnUNDQcGRA0J+cj+o6k8ixvOSpBoF6vdpt//FCz0w
 juKhDMjnLhVhskOv42k+XjXjjTqoYLGJjPZ/S3SV2Ohqwl/NIisYtXy7UCBtKkbaoGEUlOGo
 X4I3dCE6/wDBo2MkyrLR/gRGLau5LCONzi0bUNTIqTNPg+FoxaLFb28KhknTKu1Gq7ooQPUX
 XI=
IronPort-HdrOrdr: A9a23:hBYFCqO+QNHJOMBcTgajsMiBIKoaSvp037Eqv3oBLyC9E/b5qy
 nKpp8mPHDP6Qr5NEtQ/OxoW5PwOE80l6QFmbX5VI3KNGaJhILBFvAY0WKI+UyFJ8SRzJ876Y
 5QN4VFJZnXK3MSt6rHCQ+DeeoI8Z283Jrtr8H44FdCcTpDVoFHyENCJjvzKDwUeCB2QZU4EZ
 aH5tlKvVObFEg/ZNigG38AU/PiirTw5fDbXSI=
X-IronPort-AV: E=Sophos;i="5.98,294,1673931600"; 
   d="scan'208";a="102966163"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dZdIB7451hry+uNdd4vyXFp96oNQqhQ0wGScUxxr5by3ak2eT7Ajr6A+/YRN9iK++Vdl0QEitijqGtB8DiRT9MUzWP0RI7Ue4RJingAHwCVQW4vjA+PZuhOZLle+ZXy1DcewEGiOil9hl+jVp1ZizWIkLzzasKSPupKAWgaE0MXM6G88J2OXbmEuYJk1mv9JuizJBmZwhHD5Z3tPAjBhPtlpvsd+XCXAIdLzZmXFyMaJxBIecOgxsgd+ibQJ9ON4AryrHpi1HjkHuRyL6XYKARIQHi+LZn9smG1JVdexOeFJu8mvwQbkMUI4T9wDvurOFEJ+NhT3WTcduYpTJXvOXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hxLmlCri/Usr7kBiuiOAj4nioLjSMOq57h4BhbeIxDQ=;
 b=VFN2axTdpx/Pldxf+ZA/A1zZFKqObYx8dWd+i06hTWWg5XQo9IR8r8mcNJBEpq0wC8tqvoapAgOILuo7aN7Sx1hCGABDk5v1Y9V0a1NuHhZNYWUL1RvnScr0Wgw6vbiUAd2xruoe7DuCYh1dZs21KHACS64+5chk+Rk7/wWI8bzK8F6Tu3tgr69zdL+OuyK+nwzWG/QoB4EtNVvqv4KfL+YZn/fbCHZM+/HvLLfhe1O5H15G8ld5WC67gXi2YGgb80yik3+D7Z9ZT+O/pcet6XwT1bSQzFCrUlL6HjZeHYelggRCGiux7M2rGTewW2C0aK8Ufhs2xB0zIuYGIq1YXw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hxLmlCri/Usr7kBiuiOAj4nioLjSMOq57h4BhbeIxDQ=;
 b=ix34M8zrzPNETBpf+PjPr7IkMmuBD2hfJJUHoaoMa5+C6+4wmvhYpEz6puWk+R5PKs+7PXDGqTdiNACoEu+u/W9kXW2oLYJP2VxB3QCPzmiIhNQY2i/5IV2M7zhwMoPbMcdLoXE9qKCgN1aRWl/junxYcR48g4t0FTZz5MmbOis=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 27 Mar 2023 12:51:09 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/3] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model
Message-ID: <ZCF1HX6Dp7mrm65l@Air-de-Roger>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <ZCFsDbKfGvn7giN+@Air-de-Roger>
 <ZCFvPTpOixe582JU@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZCFvPTpOixe582JU@mail-itl>
X-ClientProxiedBy: LO4P123CA0376.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18e::21) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SA1PR03MB6579:EE_
X-MS-Office365-Filtering-Correlation-Id: ab3fe690-0099-4d44-4995-08db2eb1302d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	J25Q0Hbx89abG6n4e+6mFQF6N9lq7mCsWHQVT1zL09s3ZcdpRGcarLfjMjVIRnigyTKBw3qSAfJMs4Ihe3CfM8+1ykSfk0oSry7Bt9KTceh+wyhn6bDR0kB+Rz7oJIUGZ3f4jh5KhV9DD04UuCI0727j+EA7bvUPNDYe1NuO6fzwN6ggwGDYmorPmyUXCceHsPdo6CUCb93GGGK5teAGy/VVFK9QnN6awR+FhE4/msBcgoUfzSQekL4hSFR0rNqcyz/eAA6QnjX69klYOZSVrTGL+6+c1thV7x/fjrVeueRhYIijCa8p7mgobJ3lNVCIIpG+nnQ4Xtjs4P8LfvKMGtbuQbpDFkekg0oSn7mp2wR/WBh8Wkgdpfw7jSxKd3S056PETGkTMW5vzqDCzVPJZitaapI2n884R6+IEVXLXpo7N/e4fM7bB37+Oqry0W0O+GQ2mK/v8teIDaZZB/q9/URBLzbEf058u7tFs8JRHCqpHBSCAGyGSvDtluJSWxlE180YM5SSBgidUHPFWeKgt80tTjFIvh/15IhyS4WO6TkGD/B0hfEDD87+re1BW8Rw
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(376002)(346002)(39860400002)(136003)(396003)(366004)(451199021)(8676002)(38100700002)(4326008)(66899021)(54906003)(85182001)(82960400001)(6916009)(316002)(6666004)(66946007)(9686003)(86362001)(6506007)(6512007)(66574015)(478600001)(41300700001)(5660300002)(6486002)(66476007)(83380400001)(186003)(8936002)(26005)(66556008)(2906002)(33716001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d2ZwcndxUWgvZXlhemNxdEZrSHZjWUNYUmlJalZOTUJpRnd0UDlCcCtjNGk0?=
 =?utf-8?B?d2d5TDV3SEtSRWU5ZDRwU3pVMTNoRld4NW40SGU3SzA3MkN4MnZUc3FQdXcx?=
 =?utf-8?B?UERsQndTYkpTYi9kVlIzcmRoSi9acEdoMGlWMSt4VVJkNFRVN1ZLS050MTJG?=
 =?utf-8?B?SUxhQzlIWnNwQWZqUm9qaWRKUmRRaS9xeTNkTnNvTGRqVUxCeEQ3SmJFNlUr?=
 =?utf-8?B?ZU0vQ2Rycm92RjhkSVQ2Sld6cHltbVdhRkNxTnU5bWFQQkFGTmwyeUxBVnVu?=
 =?utf-8?B?WWRXSFE4Vkxva2lTSFhCSG8rWUE0dHlMZForMTd6bis2QVNGS0RlWi94dFV0?=
 =?utf-8?B?ZzJqNUpONXNBa0hlTS9jam9qNjRUZHRwUE01NHkzZzlpSjRSTkNzM1FLN1Jt?=
 =?utf-8?B?M0ZGWjE3U3Q5RnJueUtMZGZjNjFGRkZVcFhuMStUTUZrcW5PUjZnTU9MZHNo?=
 =?utf-8?B?Q29SWWw3M1dhUlZSdGxTVjJBMjlBcVJhYlVFZnRnRmZJVmlLVWFNZlFPWlVP?=
 =?utf-8?B?Z1dlY1hxVmZwTnh1VVk0VWhxY0xHZ1NONVFUU2taTnZxcU5ScEpqUlpXbWlG?=
 =?utf-8?B?Z0M5UWlLOHhoNlRzS2NQSVFQSWhibkZ2eWFrS3ljaFgxclNidWJRVXFuRGdZ?=
 =?utf-8?B?VmJYdUhVUVZTT1ZvVHFuMDUwY0VWVkZIaHJpWlQrcmg2THh4em1RY1VtME94?=
 =?utf-8?B?bk5DNFdteDNIWWZkSVFVTkZrNk9HTXUyZUwwWGtJNUkvTmFnQWxRUERDWW1t?=
 =?utf-8?B?MHdtY29wa1MyWW1CTGNHTjNYVXF3S0JENkxzSnFHbVNCNnRsT0cvbGdyK2Ra?=
 =?utf-8?B?VjlQVFBvMk5LMUNmK1NlcU95VFRnSnJQK3EvZTNrZlJHdzZrS1F3R1NwNDB5?=
 =?utf-8?B?U2FjREZwVjVBaUNTMjNnTC85RUJwNTJVZVNERGF2VUNKMzE0aStQbzRKMjJt?=
 =?utf-8?B?NXdZbnNvWVlGVVk1MDVIZnlxOEVkZTRjVldpWnVObkNJL3BlTWsxZDRkRlhw?=
 =?utf-8?B?M01uRmY3YnlLRlJsRklWeWFEMnRnbkR1MGN3aHluM1NyaklqK3JxWmtKOU5i?=
 =?utf-8?B?aGJIbzJnVUxwd2hkUEVyRHMzUmYyRW03elhUbFRjNmdOVU1sejEwS0RyVDBu?=
 =?utf-8?B?Wndqd0h2dkJoVDIxTHlQYzlPc0JHb1M0ankwN3VudytGR1FyWWVGLzFOaFN2?=
 =?utf-8?B?K2p4WERRYUh5bU5wQ05kKytlN0NLSit2WENUZ0U0azg0R0RmTy92ZnAwOS9q?=
 =?utf-8?B?Z3pRd1BacCtkK0l1TFRFMHIyaDlLQk5pNFpRWjUrQjMydVlEVGJROVpvS1pN?=
 =?utf-8?B?QU5zeCtjWXV6WVNTSVNSVVdLQ3k4RWpyVWV4b2czMll3cnp5YU40S0lheWp3?=
 =?utf-8?B?bWtaMWRZV1dGYThqdzF2WU84aGhzL3l3K29nczJlUml5czFya1ZQMHpybWp4?=
 =?utf-8?B?SHlJYnM3aFg4M2ZpZHJjV3VDdG54WnNCQ3ZKbllGQTc2VFRrZ29aRHpiWWk3?=
 =?utf-8?B?NGZmVVlVRklUUmU1L3ltb2ZDTUZkbS9hbjRtUHNlOE9ROUJZV0kreEFNV0tW?=
 =?utf-8?B?aVRmc2tPcWM5eEJlWS9JUGhDTDF3UlQvSXlUV01FZHdqamxjSUFyL29NR04y?=
 =?utf-8?B?VnVGSGpCUitRdU5iUTVOa05vaWxOZXh4M25Gb0dQYmVWMVZLSlo5K3dWaUlv?=
 =?utf-8?B?dFQrMWgzcWVQUnM3aXFlOGlsVklrQS9JdURJY3EzVDlDQ0t4SUFrUkxZT2F6?=
 =?utf-8?B?cmoraDRudjZzMjdVcDRVUDFuclV6SGFBdUVaUHlKNFFXMmNQZjYrZzAxR05k?=
 =?utf-8?B?MDhXWFc0SmZwd1JrYS9OWlVVbWs1UldHdlE3cjJWZWVSaHovOVlKVVlNY0pM?=
 =?utf-8?B?N0RTVS8wUDZwVFY4TWJqQnh4Tyt6RGZVTHZxc0gvY0xlVEpMNFI1TGRJanN6?=
 =?utf-8?B?c2xhWUtkQnVsYUVYMlliT0dMZ203Zk9PNDcwL3p1d3Fvb0FpYitPR0hVaFBE?=
 =?utf-8?B?cDd6ZmQvNFE3YlpRclRndUs5Vk5jZy9GcmVWeWxRbVVKeGNBcmEvY01qWmIr?=
 =?utf-8?B?elh1Sjl5OVVXWGUxYnRqbU5kV21PTkl1QzBXVUdpKzZJcE1lemlPWHMwd283?=
 =?utf-8?Q?vNhp26HebfWSig8OZMsnUKanP?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	niVaPL+rBNA4sS5JdSDPhtmSpSguoFR+kmXIjNwmyfnWJkCWlZDkEfT143YMvqUIPX7SYXu37toA2fr7gZuy/qH2WhmyOLQCbSNBKZFwERA22q3UQFAOnOYZS/56w2t9dTKYLHl5L0HUiJj9pxy11zPc1VnBV8eSzpE3t1YS0irZ387po39iGmOYnF4SzOBXHGJRpibf/grs0/gWRkfcg1vxMvhJTgaVbe5SwgtluJJEDV/l+zDqot8/PlKUO05Hmq+qRoG6f+XdArGvKPfOT2fO9FsiB71S6TuOPR47xR285NjEM98UZ17m1tTlDlSBNGH2yM0FVOeODhn+9O5+2UeEerkd+k8bGMH289TAw0/Q2hox8THB+9HGOKF1AydvIfEv3Apu8FNpbQjSekhmGztNqAwhaYUS0dNM39/dAqA+R//5euilooXzGQnl1ojqiX15JotMDFCMk5vD3LTAZenNea8Lg3oYDdgCo5U2W1caC73RHT3HsUpopzdeh+mI3nuYimn6g+J3EhJ7g+4YKGa+QbBywykhl9N/vC6I3qBgZczXww27ZRqTNKgVS3QQFP7mSavX45c4G8KMaEw6EhZJXKytZQ7Lx2IycfGk9Scap6PKdiUOdmzvxI3i6ot3RUb3PQ0AOkG0vPwHweOKgTaDFrg+EraD8FL+vusHtZtNSJ5x+6E1EaWLd0CXsCvDBFOZPfQ0BPro945+RVhpAf3Dy0D1gnCWLbk+SXxAkSJyKtL1ZqFMFKTbASeLbp5G9OsHsA/v9qZ7z1Lu/K3+NKPLzF5tJRC9WQHUwVIpkXysL/C3syp71k6pcMnuOToFW01E2BxeOQobgC6vQkXJHvKGV+OxM4qF0uEci5TtuqUFfzitxVGGNIsUvnaPAVrsniiGSNvkoDeyIir8fAjYuOYtiXv5idLiQB9SKTns+1U=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ab3fe690-0099-4d44-4995-08db2eb1302d
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 10:51:15.8232
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fHl8cgYpCNQaM99HnWCHli7SM56E9Rhz2Kh7LGsxch+g3OoDXX6qdE6TDPe2hTjxvgD45a0eGWCPhyjUh2+NpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR03MB6579

On Mon, Mar 27, 2023 at 12:26:05PM +0200, Marek Marczykowski-Górecki wrote:
> On Mon, Mar 27, 2023 at 12:12:29PM +0200, Roger Pau Monné wrote:
> > On Sat, Mar 25, 2023 at 03:49:22AM +0100, Marek Marczykowski-Górecki wrote:
> > > 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. This does include forwarding also writes
> > > that did not change the value, but as tested on both Linux (6.1.12) and
> > > Windows (10 pro), they don't do excessive writes of unchanged values
> > > (Windows seems to clear maskbit in some cases twice, but not more).
> > 
> > Since we passthrough all the accesses to the device model, is the
> > handling in Xen still required?  It might be worth to also expose any
> > interfaces needed to the device model so all the functionality done by
> > the msixtbl_mmio_ops hooks could be done by QEMU, since we end up
> > passing the accesses anyway.
> 
> This was discussed on v1 already. Such QEMU would need to be able to do
> the actual write. If it's running in stubdomain, it would hit the exact
> issue again (page mapped R/O to it). In fact, that might be an issue for
> dom0 too (I haven't checked).

Oh, sorry, likely missed that discussion, as I don't recall this.

Maybe we need an hypercall for QEMU to notify the masking/unmasking to
Xen?  As any change on the other fields is already handled by QEMU.

> I guess that could use my subpage RO feature I just posted then, but it
> would still mean intercepting the write twice (not a performance issue
> really here, but rather convoluted handling in total).

Yes, that does seem way too convoluted.

> > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > > ---
> > > 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
> > > 
> > > This behavior change needs to be surfaced to the device model somehow,
> > > so it knows whether it can rely on it. I'm open for suggestions.
> > 
> > Maybe exposed in XEN_DMOP_get_ioreq_server_info?
> > 
> > But I wonder whether it shouldn't be the other way arround, the device
> > model tells Xen it doesn't need to handle any MSI-X accesses because
> > QEMU will take care of it, likely using a new flag in
> > XEN_DMOP_create_ioreq_server or maybe in XEN_DOMCTL_bind_pt_irq as
> > part of the gflags, but then we would need to assert that the flag is
> > passed for all MSI-X interrupts bound from that device to the same
> > domain.
> 
> Is is safe thing to do? I mean, doesn't Xen need to guard access to
> MSI-X configuration to assure its safety, especially if no interrupt
> remapping is there? It probably doesn't matter for qemu in dom0 case,
> but both with deprivileged qemu and stubdom, it might matter.

Right - QEMU shouldn't write directly to the MSI-X table using
/dev/mem, but instead use an hypercall to notify Xen of the
{un,}masking of the MSI-X table entry.  I think that would allow us to
safely get rid of the extra logic in Xen to deal with MSI-X table
accesses.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 10:54:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 10:54:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515158.797755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgkUW-0006LC-8G; Mon, 27 Mar 2023 10:54:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515158.797755; Mon, 27 Mar 2023 10:54:20 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgkUW-0006L5-3O; Mon, 27 Mar 2023 10:54:20 +0000
Received: by outflank-mailman (input) for mailman id 515158;
 Mon, 27 Mar 2023 10:54: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 1pgkUU-0006Kv-Nr
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 10:54: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 1pgkUU-0000ra-6q; Mon, 27 Mar 2023 10:54:18 +0000
Received: from 54-240-197-228.amazon.com ([54.240.197.228]
 helo=[10.95.159.134]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pgkUU-00025O-0W; Mon, 27 Mar 2023 10:54:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=qi/fVjMN3SRXP9H2YgYgA80ZOVD1D78rjcbcT23s11o=; b=g11Ut4nJmFTmt3ne1D3jX/5YNh
	exVo0FhkJmfUByWCcmjMFv2WxYMNhOGF9M0xjeOM0KfObmqyqy/w0umrMv1NwSizH3StnAN83AFyx
	KZVnqfVPISSD1OOk6SAb/HaWy5aMzUYc5rZQ/ckYbLoMSEQHbSg+j7vY6OD6JRzuEdKc=;
Message-ID: <27fb1c9b-f504-092b-de2d-ed823f417b38@xen.org>
Date: Mon, 27 Mar 2023 11:54:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v2 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>
References: <cover.1678984041.git.oleksii.kurochko@gmail.com>
 <85a21ada5a0fc44bb9db1dcc1f6cf191a6e66bfb.1678984041.git.oleksii.kurochko@gmail.com>
 <9ff0e335-6cb2-be49-046d-745ce05f7086@xen.org>
 <dd8b038c00fba91d0e50d4bb8c98466dfd37ef01.camel@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <dd8b038c00fba91d0e50d4bb8c98466dfd37ef01.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 27/03/2023 11:50, Oleksii wrote:
> Hello Julien,

Hi,

> On Tue, 2023-03-21 at 17:58 +0000, Julien Grall wrote:
>>> +        /* Setup level0 table */
>>> +        if ( !pte_is_valid(&zeroeth[index0]) )
>>
>> On the previous version, you said it should be checked for each
>> level.
>> But here you still only check for a single level.
>>
>> Furthermore, I would strongly suggest to also check the valid PTE is
>> the
>> same as you intend to write to catch any override (they are a pain to
>> debug).
>>
> Do you mean that I have to get a virtual address, extract the page
> table index bits from it, traverse the page table hierarchy to locate
> the PTE for the virtual address and the compare the gotten PTE address
> with zeroeh[index0]?

No. I was suggesting to check the PTE you intend to write is the exact 
same that the one you are overwriting.

This could potentially be relaxed to allow permission flags to be changed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 10:56:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 10:56:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515161.797764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgkW4-0006vk-Gy; Mon, 27 Mar 2023 10:55:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515161.797764; Mon, 27 Mar 2023 10: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 1pgkW4-0006vd-Dr; Mon, 27 Mar 2023 10:55:56 +0000
Received: by outflank-mailman (input) for mailman id 515161;
 Mon, 27 Mar 2023 10:55: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=kO+W=7T=citrix.com=prvs=443697bea=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pgkW3-0006vV-6e
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 10:55:55 +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 efcf4256-cc8d-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 12:55:52 +0200 (CEST)
Received: from mail-dm3nam02lp2042.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.42])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 27 Mar 2023 06:55:49 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ2PR03MB7112.namprd03.prod.outlook.com (2603:10b6:a03:4f7::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 27 Mar
 2023 10:55:47 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6222.030; Mon, 27 Mar 2023
 10:55: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: efcf4256-cc8d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679914552;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=qtcOmsZSbzUx/yxNvzMjA5n2O+ElOAmElaLLWC0VbRY=;
  b=Tu7S8ZxcIK9DqQD9XAsvX7WciyKEjUJsgTARFghL2ZqluM+ms9gtQlxO
   kIg349wLObd/8x9cZUracLI3qGonnNE3SmzpbSP4Z1LfcILNaL5MftQiO
   u6VqhnrMT0LdMfWvl2nC9uODkuz/T1hXuMkyRKck2N5CI7ZA5dkttCvBt
   Q=;
X-IronPort-RemoteIP: 104.47.56.42
X-IronPort-MID: 102858464
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:OxAuaqAsNZySzRVW/+Piw5YqxClBgxIJ4kV8jS/XYbTApDIl1DFVz
 WsXWWnQaKuCMzGjc9kibdnj8xwA7ZbRmoVgQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhC4QRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw0eImIn9f7
 NAhJjkGaS+Cutvqzbjkc7w57igjBJGD0II3nFhFlWucIdN9BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI++xruQA/zyQouFTpGPPTdsaHWoN+mUGAq
 3id12/4HgsbJJqUzj/tHneE37eVzX6rBNxOfFG+3v00vUGq2V1OMgBIcwOnhP7lqkKFZc0Kf
 iT4/QJr98De7neDTNPwQhm5q36spQMHVpxbFOhSwBGAzO/Y7hiUAkAATyVdc5o2uckuXzso2
 1SV2dTzClRHq6aJQHiQ8rOVqzKaOiUPK2IGIygeQmMt/N3LsIw1yBXVQb5LErOxj9DzMSH9x
 XaNtidWulkIpcsC1qH+8VWchTup/sLNVlRtul+RWX+55ARkYoLjf5av9VXQ8fdHKsCeU0WFu
 38H3cOZ6YjiEK2wqcBEe81VdJnB2hpPGGS0bYJHd3X5ywmQxg==
IronPort-HdrOrdr: A9a23:Br563apsHZmM5NUIjU6WQmAaV5oleYIsimQD101hICG9E/b1qy
 nKpp8mPHDP5wr5NEtPpTnjAsm9qALnlKKdiLN5Vd3OYOCMghrKEGgN1/qG/xTQXwH46+5Bxe
 NBXsFFebnN5IFB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.98,294,1673931600"; 
   d="scan'208";a="102858464"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kT8F3dl76WIqZ++DXXM1klSvFHa0ntjhvORyDEcoz6zkNwipK4WzcOOslVgzgnf1Cu5jlX5EQ4A8Ixl9fWgO/rwPVOe+3zjggGzgrLcPZtly4Pbdr7wZ4BJ6U8zxstYPwbMyjd+L4xPvyXmHlGaX0mQZP/gAzH/KLocO7/5vwJbwGA9Zne4waVkNjUJfJqJuhf9Y/ixqI72TkSaDVpy83pRV6mUntB8J9hKH6Mf2jxH8cDrvjntGjCpB6RN2JZ5uFngE6aq9NT39kvA96e+CuC573s0SlGj0OHb3kKaPoNJoWLL12sAqqcN1PwSDZSmog6ohVhoR+o1nb9e6vj6ljw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qtcOmsZSbzUx/yxNvzMjA5n2O+ElOAmElaLLWC0VbRY=;
 b=IfvLRPNAfz/ddOg0tzL/ExuVfAmO9zaSloSOKweEbD55AmVnzhw/36j21Bn5Xb+kZalsA13Su8a9qWRYkZ1z1s1+pLMmj2QkrYjBp1SzcRJRvQzYAUCjXeqtgK8PHQhDkuTxoCzmz6w5WcnGPfNoDA6IpRvN7/5OmpbY580xwS4NdXflQBbeahGNA47kKpjwHT8VO3wZfud8DdOkK3hGUW8fXb6dOicsHuZxb8BpQF2YMfYPlUXk6Z0Zr8mz40/qps9D+2LBAj5YAnEiCIVZhTofhyZW7SvLF1LpOx48e/CuNq05Q5BPCuO0PDPxtndVnsXUYCVyOVHRZWmGQBId9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qtcOmsZSbzUx/yxNvzMjA5n2O+ElOAmElaLLWC0VbRY=;
 b=cBJvnB20zCMdsNQHUq0iiLrOSMdfS1/fafSZuE6hdmBmGh9fjb3q+//fVbxgpunt1s8kw+lwa9Yt8rPEixQCaNsTxbTfKVzk2feiYgJMiHpATJ4k0X7FSPZTccsepGbDDX+vIWBjRFuOsEmNgadwqzxRH6Us8wvvV3EKiVhBa+A=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c220e84b-bae5-7a53-2cdd-df5839603c01@citrix.com>
Date: Mon, 27 Mar 2023 11:55:41 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: preparations for 4.16.4 and 4.17.1
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>
References: <7bc583e8-6ca4-2197-2d3f-c4325c024407@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
In-Reply-To: <7bc583e8-6ca4-2197-2d3f-c4325c024407@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0411.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:189::20) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ2PR03MB7112:EE_
X-MS-Office365-Filtering-Correlation-Id: e08f4881-0daa-4ff3-1df2-08db2eb1d1dc
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BM3qCTKVY/6zwNIGSc6WbXOjy1VZ31ClSOBrh+FI8OieNVylOe+v/ryibBlgk9r+jeaaoFytGBd3wNoXmghBwp6dntvGzY1MXjx4XUTKUGs+h2guoBeiM9vZGB1j2Zlt1fAkSc111s8rlok8h8YDS2nw33sTFXgCjzpqN/cq0GU0PWkqungRoa38NcHTmE4pVbnqY1WZKMxTajWqUEfJ/XjsU9wAsyL6Y+ZQh0OwWVEiT4WqdwREfWpsgxBwYq55yEyKbsdWLSFLrFMiaRJUSG+c87ymcI+QB9AWbHSrZDQMYlmTbG/RpVbygyl3jOb33Es4g/uoFA6589qBBZbxI/u+uNFzSB+LXZCthfwDais5q0aKc5oUdOn2OG0fU/62Wo/9oKQ5FB1wXsD1JqZaDECckpYhJz/ruJP9+OoZOJRrYo/3Zw3m8xVZOgh3zVTJt26CJS4HHo/GFbqfZYCIBR38ZXVnU1POAepFJcCckvzXkRc0kFZZ7aASXTAK91xg/k6x17A5wKdycfOZeuA12At3FOARN4+/2hWczKrNWWTGJ7XlmayXVGzYAe9NQHTIZcpIVzIirdjGcN0qQXG2sAyNyMjN3fsyABZcEwVP1/lXcqYTJOgiENIBJTcdpQHBsj1JqwD526+bOIivt2YebA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(39860400002)(376002)(346002)(366004)(136003)(451199021)(66556008)(54906003)(66476007)(31686004)(5660300002)(66946007)(4326008)(38100700002)(53546011)(2906002)(8676002)(82960400001)(41300700001)(4744005)(2616005)(6666004)(6512007)(186003)(478600001)(6486002)(31696002)(26005)(36756003)(6506007)(110136005)(86362001)(8936002)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VCsrYmxObU5pMExDWkRwZEdaYkRaRC8zRitlcnBSd2lHRTFUSGJ1WWFZLzZD?=
 =?utf-8?B?SWZzQ0NtMGY4bTE5L2JEYzRObVpCVlJNRnRycmtSaWQ4TVpubkUrd1lUazVv?=
 =?utf-8?B?OE9iSUduRkN3RGpDVjl2bjJwbDkvZDR2RTFheXIxUVZXNVkyWTRGUDFKOFRN?=
 =?utf-8?B?MWwzdTNORXh1MzdzbmdZRjRsS2FLMzBEYmFlcDhSSmlrVmVINWk1VFAyTUtF?=
 =?utf-8?B?NUxvTzVKQ0ZONE9FYitLK2k1cUhwQjdyS3ZLRkFubHZ4dkMyR2hpeFRLR1Ja?=
 =?utf-8?B?N1NyZzlDblhXUXE5ZVBKQS9YY0tLNWpLcDVveWtQMkJiVXpnNVB3bGVYT042?=
 =?utf-8?B?bFZRdUUzcE1oWDMyTC8ra0RTeVFMU2Rlb1JlOU9sZ1ZSVDNvQzVHbHpjVmo5?=
 =?utf-8?B?bTJZcTRXUGppZDh1UmlOWkZ1KzNYeEZ0VFUrcXpuVFBKRWh0U2lmRHlhRmdi?=
 =?utf-8?B?RlNubUZtWk9MdlFCWTRwUFFvREJKM3l4c0FjeStBcXhpZlcvVGhPdU9WREor?=
 =?utf-8?B?T0FhUWpIK3U1My81MTB4V2R0cU1ISGhwQTFzYncvRW1PV0UycWYwVVNLYVpt?=
 =?utf-8?B?OWhha1d5WUlqZmVWZ3VGMHh3TzNLVlZsYlBzNUFHZkVvUi84aXJkRGdJci9X?=
 =?utf-8?B?WDdIY0hKYndpRWNGOUxpcU9ZVXNkUUVwY29DcVd2aEtZa0toTkhISDFoSFdr?=
 =?utf-8?B?aCs3WUR6YlJOWS9kcWlzYUZvLytab2kzeXlDYlFwNUh5TmhBQTVsRzlVR3Bz?=
 =?utf-8?B?MlhyQVFza2RRb0FyZ3NLYUpXOEZoNGxVYWREajM1VUhmL2RjbFVNaG9vWFhB?=
 =?utf-8?B?L1JUYzEwU3Awa25nbGxCVGJSYnBleFQyRStFVmdoMEsvejQwaGxoMGlJNEJt?=
 =?utf-8?B?ZnNrMldHcERHVVF2U3RXS0sxRjg5L1dMeVhCMjhQNnBYdnNtQUxndnZ5SE1i?=
 =?utf-8?B?MWpWR2U3VGhBeDF2a1VUMjBya1NLOWI4V0NPaTM3U241UkY4VGRoNWxQV1lF?=
 =?utf-8?B?YzhWMys4Y2ozUDdTNmFaYTNxYU4zQmgyZGtiRHNtSDI4TkpCRTFIRmNzLzc4?=
 =?utf-8?B?QlNhK1BsWU9zcXVnZ0srcFZ5WHZsc3FzaHBLSDVxUUtUaDhTSzFnT2RrTGYr?=
 =?utf-8?B?blBkQlc1dkwwZnJRWkJLLzlMZnY2bTU3VmhIR2pvYm0vcWNNOFR1YS8zdXd3?=
 =?utf-8?B?azFGaDltclVXZlFjNnNONDQ5MlQwYVZaTElHc2tBNXhDbmh5ZFZ2ZVVPbWtF?=
 =?utf-8?B?em93UXNEOEtITDlyYlhnZlRsOWNQa3cvMS9KN0FVUlpzNEY3SExGdDlsZWc4?=
 =?utf-8?B?VHNVdS9XbTBFZ2Z4R2thQ2hlWUJqQ09Wb1dhbmN4Z1NaOWdwRjQ0WUwvaEhz?=
 =?utf-8?B?Z3JXa1hjQzk5bm95WlRvK0wrRTlpUmQzU01TVXd1SE1na1BEaG0zelQyUWRa?=
 =?utf-8?B?MDI5TnlldVZ4L3VKZFpadUVZY2VwbE56SGUrQnUxNjF6S25XczVUVnZraFJW?=
 =?utf-8?B?S2VFZjMyRS84NG9FSVF6UDF2czNUWWdETXE3N1RNcjJCRHBONXZha3c0aWVK?=
 =?utf-8?B?ZytYV09BSmkzbUI4ZkRTdHZGSWRnTFdSUDEyZDdqYW0yWERaSjNBeHpuaGNs?=
 =?utf-8?B?Tm1wZWJyNTVKL01FSE8yNWFPazFqSVphcUxaRHV5NDBCR1k1V2xWWlJTZVZJ?=
 =?utf-8?B?NFVJUy9nclBtcS9VMGRVSFFXOVJyTDVTVXZFOGVtNktQbEtQYUE4RTZ1elFH?=
 =?utf-8?B?Zmc4UERGZkxvSWx5bmRxU0l6a2RPVzJMelNua1FYc3RCdXE3UG1jN3l5WVFE?=
 =?utf-8?B?OWZSdmNHQW1RbXQrd2RDZTlHQXNCMUpqNnBjbUsxUHkvZzgyYVdzZWx2dEUr?=
 =?utf-8?B?aC8yUDZvLzVDMThuR1VDcHR5eHhwZklmaTZTd1Z2QkQxWkxNRGdyTU9xek9x?=
 =?utf-8?B?dmIyWEowWTJKUU5Pa1hsQ2ZYRVAySnRYUFd5bUF3aEFTMEZaRGFqK1RRaU9u?=
 =?utf-8?B?NFdWM0JTcTBQcjM1MG9IZWtxSjNqaHJ0d0N6d2NST3d2eFdxb2Y1SnZZc0JY?=
 =?utf-8?B?RGdtL2UweXcwL1lucDNKWXMyN0NIVFZPd2VPQ3l5c2hzdXlzcHhyL2kwR05P?=
 =?utf-8?B?TGlpN3V2UlN3OXZyZEd5MFRWTHJpV25SWjhMeERqUGhwRlYwSmh4bGJZQlJL?=
 =?utf-8?B?M2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	U4FELb5iTOJmsAM++zL/d9D08K3uceZiRU/s5S1cCVjJvXIhhhOQ4COFY51NMR49AxzMit3D5ObacgfILSufBfKBzGZkSRbUERS/0qfbky+ITfGhGovBteJc4LBOtsAIZNfHdm3JIVu/imlebSP7wPxcZI/eiEAixcQ0OBlb7MvltozYVyXOv3XqcISBcmq8Rdy66/ipOPl00JKG5poFa4BJQhLhGzS+E557oQWUXe3XTnFCQOxuiK6QFq8NNRDf9IgmvoOLphLx5LRGQAu9/JeioT6qYplv2BtK82QpRLS4N8ejLjYtRPwjxBoSIctW6NOWuZba06R9hNGrgkMFvDMKAmug9DW/a/Hexy8hc15hfoPD/rvyLSqqryP00H/ni7ud2VA+EFn5YjKQ0fj8fo/EpSO3SycJfIMTrGabUZhlILoaIeC4STAqIWZGPhNDxuSpsbWpSl67Tf/LFcpZUyPdtJRTo+ms+S9fsLJeR9XuboFwohhicr0oZHPZSPoNvHppyM1gqUN7gD97bPbSKeOEc5DyL1OO1I5Pc3Zfcpm+YsZGobu/9xALYQKsM63Srqrwcv6xAdH2kM8KR+b7qNMVHrrcyOrfW5VotM84+GSm/4SAgp2gn24eKRr7BbAvO9TjNfzTgN7dLWHpDJ2/sFttvghg4l40FWit1mlYUYhGmGfznlD9kexAf6DeDZFr/WLVChJTgMPmrHCbd0NT1XDjp+y6IjCDS3Ej6CqlPXZRBOWSmJwKqecoYnAMqXEA59k3rOMshAvBncp/wdJ73HMhzhE1vMrJ9/E3ELksZgkVpHiE652/E4RnuxgzSmu4ordHGbsSai9ps6UFTwvcdhHVFTiCvCcciZAvXp+binY=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e08f4881-0daa-4ff3-1df2-08db2eb1d1dc
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 10:55:47.1543
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pfK4iZ8ByUZysGPYpj5g8hEaG6aCbjOd3LM+pC80qjmEsMfpS/thlReKN21yRB70pSeDz7al17fE6HpliVxtETWOSU0kEqBzu9IP6lxvfqw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR03MB7112

On 21/03/2023 2:30 pm, Jan Beulich wrote:
> All,
>
> the former release is due in a couple of weeks time, the latter a week
> or two later. Note that with us following the 4 month cadence pretty
> strictly this time, 4.16.4 isn't expected to be the last ordinary stable
> release from the 4.16 branch, yet (unless, of course, we end up slipping
> significantly).
>
> Please point out backports you find missing from the respective staging
> branch, but which you consider relevant. I have one change queued on top
> of what I've pushed to the branches earlier today, simply because it
> hasn't passed the push gate on master yet:
>
> 0d2686f6b66b AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode

All subsequent to this email, but for completeness:

6d14cb105b x86/shadow: Fix build with no PG_log_dirty (all trees, as
this was a bug in XSA-427)

bc3c133841 x86/nospec: Fix evaluate_nospec() code generation under Clang

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:00:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:00:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515167.797794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgka1-00083G-LX; Mon, 27 Mar 2023 11:00:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515167.797794; Mon, 27 Mar 2023 11:00: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 1pgka1-000839-Gx; Mon, 27 Mar 2023 11:00:01 +0000
Received: by outflank-mailman (input) for mailman id 515167;
 Mon, 27 Mar 2023 11:00: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=K09h=7T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pgka0-0007lM-4O
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 11:00:00 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 8282d2f3-cc8e-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 12:59:56 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5EA6DC14;
 Mon, 27 Mar 2023 04:00:40 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 337693F663;
 Mon, 27 Mar 2023 03:59:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8282d2f3-cc8e-11ed-b464-930f4c7d94ae
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 01/12] xen/arm: enable SVE extension for Xen
Date: Mon, 27 Mar 2023 11:59:33 +0100
Message-Id: <20230327105944.1360856-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230327105944.1360856-1-luca.fancellu@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Enable Xen to handle the SVE extension, add code in cpufeature module
to handle ZCR SVE register, disable trapping SVE feature on system
boot only when SVE resources are accessed.
While there, correct coding style for the comment on coprocessor
trapping.

Now cptr_el2 is part of the domain context and it will be restored
on context switch, this is a preparation for saving the SVE context
which will be part of VFP operations, so restore it before the call
to save VFP registers.
To save an additional isb barrier, restore cptr_el2 before an
existing isb barrier and move the call for saving VFP context after
that barrier.

Change the KConfig entry to make ARM64_SVE symbol selectable, by
default it will be not selected.

Create sve module and sve_asm.S that contains assembly routines for
the SVE feature, this code is inspired from linux and it uses
instruction encoding to be compatible with compilers that does not
support SVE.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v3:
 - no changes
Changes from v2:
 - renamed sve_asm.S in sve-asm.S, new files should not contain
   underscore in the name (Jan)
Changes from v1:
 - Add assert to vl_to_zcr, it is never called with vl==0, but just
   to be sure it won't in the future.
Changes from RFC:
 - Moved restoring of cptr before an existing barrier (Julien)
 - Marked the feature as unsupported for now (Julien)
 - Trap and un-trap only when using SVE resources in
   compute_max_zcr() (Julien)
---
 xen/arch/arm/Kconfig                     | 10 +++--
 xen/arch/arm/arm64/Makefile              |  1 +
 xen/arch/arm/arm64/cpufeature.c          |  7 ++--
 xen/arch/arm/arm64/sve-asm.S             | 48 +++++++++++++++++++++++
 xen/arch/arm/arm64/sve.c                 | 50 ++++++++++++++++++++++++
 xen/arch/arm/cpufeature.c                |  6 ++-
 xen/arch/arm/domain.c                    |  9 +++--
 xen/arch/arm/include/asm/arm64/sve.h     | 43 ++++++++++++++++++++
 xen/arch/arm/include/asm/arm64/sysregs.h |  1 +
 xen/arch/arm/include/asm/cpufeature.h    | 14 +++++++
 xen/arch/arm/include/asm/domain.h        |  1 +
 xen/arch/arm/include/asm/processor.h     |  2 +
 xen/arch/arm/setup.c                     |  5 ++-
 xen/arch/arm/traps.c                     | 28 +++++++------
 14 files changed, 201 insertions(+), 24 deletions(-)
 create mode 100644 xen/arch/arm/arm64/sve-asm.S
 create mode 100644 xen/arch/arm/arm64/sve.c
 create mode 100644 xen/arch/arm/include/asm/arm64/sve.h

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 239d3aed3c7f..41f45d8d1203 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -112,11 +112,15 @@ config ARM64_PTR_AUTH
 	  This feature is not supported in Xen.
 
 config ARM64_SVE
-	def_bool n
+	bool "Enable Scalar Vector Extension support (UNSUPPORTED)" if UNSUPPORTED
 	depends on ARM_64
 	help
-	  Scalar Vector Extension support.
-	  This feature is not supported in Xen.
+	  Scalar Vector Extension (SVE/SVE2) support for guests.
+
+	  Please be aware that currently, enabling this feature will add latency on
+	  VM context switch between SVE enabled guests, between not-enabled SVE
+	  guests and SVE enabled guests and viceversa, compared to the time
+	  required to switch between not-enabled SVE guests.
 
 config ARM64_MTE
 	def_bool n
diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index 6d507da0d44d..24e08fd42596 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -12,6 +12,7 @@ obj-y += insn.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o
 obj-y += smc.o
 obj-y += smpboot.o
+obj-$(CONFIG_ARM64_SVE) += sve.o sve-asm.o
 obj-y += traps.o
 obj-y += vfp.o
 obj-y += vsysreg.o
diff --git a/xen/arch/arm/arm64/cpufeature.c b/xen/arch/arm/arm64/cpufeature.c
index d9039d37b2d1..b4656ff4d80f 100644
--- a/xen/arch/arm/arm64/cpufeature.c
+++ b/xen/arch/arm/arm64/cpufeature.c
@@ -455,15 +455,11 @@ static const struct arm64_ftr_bits ftr_id_dfr1[] = {
 	ARM64_FTR_END,
 };
 
-#if 0
-/* TODO: use this to sanitize SVE once we support it */
-
 static const struct arm64_ftr_bits ftr_zcr[] = {
 	ARM64_FTR_BITS(FTR_HIDDEN, FTR_NONSTRICT, FTR_LOWER_SAFE,
 		ZCR_ELx_LEN_SHIFT, ZCR_ELx_LEN_SIZE, 0),	/* LEN */
 	ARM64_FTR_END,
 };
-#endif
 
 /*
  * Common ftr bits for a 32bit register with all hidden, strict
@@ -603,6 +599,9 @@ void update_system_features(const struct cpuinfo_arm *new)
 
 	SANITIZE_ID_REG(zfr64, 0, aa64zfr0);
 
+	if ( cpu_has_sve )
+		SANITIZE_REG(zcr64, 0, zcr);
+
 	/*
 	 * Comment from Linux:
 	 * Userspace may perform DC ZVA instructions. Mismatched block sizes
diff --git a/xen/arch/arm/arm64/sve-asm.S b/xen/arch/arm/arm64/sve-asm.S
new file mode 100644
index 000000000000..4d1549344733
--- /dev/null
+++ b/xen/arch/arm/arm64/sve-asm.S
@@ -0,0 +1,48 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Arm SVE assembly routines
+ *
+ * Copyright (C) 2022 ARM Ltd.
+ *
+ * Some macros and instruction encoding in this file are taken from linux 6.1.1,
+ * file arch/arm64/include/asm/fpsimdmacros.h, some of them are a modified
+ * version.
+ */
+
+/* Sanity-check macros to help avoid encoding garbage instructions */
+
+.macro _check_general_reg nr
+    .if (\nr) < 0 || (\nr) > 30
+        .error "Bad register number \nr."
+    .endif
+.endm
+
+.macro _check_num n, min, max
+    .if (\n) < (\min) || (\n) > (\max)
+        .error "Number \n out of range [\min,\max]"
+    .endif
+.endm
+
+/* SVE instruction encodings for non-SVE-capable assemblers */
+/* (pre binutils 2.28, all kernel capable clang versions support SVE) */
+
+/* RDVL X\nx, #\imm */
+.macro _sve_rdvl nx, imm
+    _check_general_reg \nx
+    _check_num (\imm), -0x20, 0x1f
+    .inst 0x04bf5000                \
+        | (\nx)                     \
+        | (((\imm) & 0x3f) << 5)
+.endm
+
+/* Gets the current vector register size in bytes */
+GLOBAL(sve_get_hw_vl)
+    _sve_rdvl 0, 1
+    ret
+
+/*
+ * Local variables:
+ * mode: ASM
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
new file mode 100644
index 000000000000..c466de61b47f
--- /dev/null
+++ b/xen/arch/arm/arm64/sve.c
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Arm SVE feature code
+ *
+ * Copyright (C) 2022 ARM Ltd.
+ */
+
+#include <xen/types.h>
+#include <asm/arm64/sve.h>
+#include <asm/arm64/sysregs.h>
+#include <asm/processor.h>
+#include <asm/system.h>
+
+extern unsigned int sve_get_hw_vl(void);
+
+register_t compute_max_zcr(void)
+{
+    register_t cptr_bits = get_default_cptr_flags();
+    register_t zcr = vl_to_zcr(SVE_VL_MAX_BITS);
+    unsigned int hw_vl;
+
+    /* Remove trap for SVE resources */
+    WRITE_SYSREG(cptr_bits & ~HCPTR_CP(8), CPTR_EL2);
+    isb();
+
+    /*
+     * Set the maximum SVE vector length, doing that we will know the VL
+     * supported by the platform, calling sve_get_hw_vl()
+     */
+    WRITE_SYSREG(zcr, ZCR_EL2);
+
+    /*
+     * Read the maximum VL, which could be lower than what we imposed before,
+     * hw_vl contains VL in bytes, multiply it by 8 to use vl_to_zcr() later
+     */
+    hw_vl = sve_get_hw_vl() * 8U;
+
+    /* Restore CPTR_EL2 */
+    WRITE_SYSREG(cptr_bits, CPTR_EL2);
+    isb();
+
+    return vl_to_zcr(hw_vl);
+}
+
+/* Takes a vector length in bits and returns the ZCR_ELx encoding */
+register_t vl_to_zcr(uint16_t vl)
+{
+    ASSERT(vl > 0);
+    return ((vl / SVE_VL_MULTIPLE_VAL) - 1U) & ZCR_ELx_LEN_MASK;
+}
diff --git a/xen/arch/arm/cpufeature.c b/xen/arch/arm/cpufeature.c
index c4ec38bb2554..83b84368f6d5 100644
--- a/xen/arch/arm/cpufeature.c
+++ b/xen/arch/arm/cpufeature.c
@@ -9,6 +9,7 @@
 #include <xen/init.h>
 #include <xen/smp.h>
 #include <xen/stop_machine.h>
+#include <asm/arm64/sve.h>
 #include <asm/cpufeature.h>
 
 DECLARE_BITMAP(cpu_hwcaps, ARM_NCAPS);
@@ -143,6 +144,9 @@ void identify_cpu(struct cpuinfo_arm *c)
 
     c->zfr64.bits[0] = READ_SYSREG(ID_AA64ZFR0_EL1);
 
+    if ( cpu_has_sve )
+        c->zcr64.bits[0] = compute_max_zcr();
+
     c->dczid.bits[0] = READ_SYSREG(DCZID_EL0);
 
     c->ctr.bits[0] = READ_SYSREG(CTR_EL0);
@@ -199,7 +203,7 @@ static int __init create_guest_cpuinfo(void)
     guest_cpuinfo.pfr64.mpam = 0;
     guest_cpuinfo.pfr64.mpam_frac = 0;
 
-    /* Hide SVE as Xen does not support it */
+    /* Hide SVE by default to the guests */
     guest_cpuinfo.pfr64.sve = 0;
     guest_cpuinfo.zfr64.bits[0] = 0;
 
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 99577adb6c69..adb6ace2e24d 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -181,9 +181,6 @@ static void ctxt_switch_to(struct vcpu *n)
     /* VGIC */
     gic_restore_state(n);
 
-    /* VFP */
-    vfp_restore_state(n);
-
     /* XXX MPU */
 
     /* Fault Status */
@@ -234,6 +231,7 @@ static void ctxt_switch_to(struct vcpu *n)
     p2m_restore_state(n);
 
     /* Control Registers */
+    WRITE_SYSREG(n->arch.cptr_el2, CPTR_EL2);
     WRITE_SYSREG(n->arch.cpacr, CPACR_EL1);
 
     /*
@@ -258,6 +256,9 @@ static void ctxt_switch_to(struct vcpu *n)
 #endif
     isb();
 
+    /* VFP */
+    vfp_restore_state(n);
+
     /* CP 15 */
     WRITE_SYSREG(n->arch.csselr, CSSELR_EL1);
 
@@ -548,6 +549,8 @@ int arch_vcpu_create(struct vcpu *v)
 
     v->arch.vmpidr = MPIDR_SMP | vcpuid_to_vaffinity(v->vcpu_id);
 
+    v->arch.cptr_el2 = get_default_cptr_flags();
+
     v->arch.hcr_el2 = get_default_hcr_flags();
 
     v->arch.mdcr_el2 = HDCR_TDRA | HDCR_TDOSA | HDCR_TDA;
diff --git a/xen/arch/arm/include/asm/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
new file mode 100644
index 000000000000..bd56e2f24230
--- /dev/null
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -0,0 +1,43 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Arm SVE feature code
+ *
+ * Copyright (C) 2022 ARM Ltd.
+ */
+
+#ifndef _ARM_ARM64_SVE_H
+#define _ARM_ARM64_SVE_H
+
+#define SVE_VL_MAX_BITS (2048U)
+
+/* Vector length must be multiple of 128 */
+#define SVE_VL_MULTIPLE_VAL (128U)
+
+#ifdef CONFIG_ARM64_SVE
+
+register_t compute_max_zcr(void);
+register_t vl_to_zcr(uint16_t vl);
+
+#else /* !CONFIG_ARM64_SVE */
+
+static inline register_t compute_max_zcr(void)
+{
+    return 0;
+}
+
+static inline register_t vl_to_zcr(uint16_t vl)
+{
+    return 0;
+}
+
+#endif
+
+#endif /* _ARM_ARM64_SVE_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/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
index 463899951414..4cabb9eb4d5e 100644
--- a/xen/arch/arm/include/asm/arm64/sysregs.h
+++ b/xen/arch/arm/include/asm/arm64/sysregs.h
@@ -24,6 +24,7 @@
 #define ICH_EISR_EL2              S3_4_C12_C11_3
 #define ICH_ELSR_EL2              S3_4_C12_C11_5
 #define ICH_VMCR_EL2              S3_4_C12_C11_7
+#define ZCR_EL2                   S3_4_C1_C2_0
 
 #define __LR0_EL2(x)              S3_4_C12_C12_ ## x
 #define __LR8_EL2(x)              S3_4_C12_C13_ ## x
diff --git a/xen/arch/arm/include/asm/cpufeature.h b/xen/arch/arm/include/asm/cpufeature.h
index c62cf6293fd6..6d703e051906 100644
--- a/xen/arch/arm/include/asm/cpufeature.h
+++ b/xen/arch/arm/include/asm/cpufeature.h
@@ -32,6 +32,12 @@
 #define cpu_has_thumbee   (boot_cpu_feature32(thumbee) == 1)
 #define cpu_has_aarch32   (cpu_has_arm || cpu_has_thumb)
 
+#ifdef CONFIG_ARM64_SVE
+#define cpu_has_sve       (boot_cpu_feature64(sve) == 1)
+#else
+#define cpu_has_sve       (0)
+#endif
+
 #ifdef CONFIG_ARM_32
 #define cpu_has_gicv3     (boot_cpu_feature32(gic) >= 1)
 #define cpu_has_gentimer  (boot_cpu_feature32(gentimer) == 1)
@@ -323,6 +329,14 @@ struct cpuinfo_arm {
         };
     } isa64;
 
+    union {
+        register_t bits[1];
+        struct {
+            unsigned long len:4;
+            unsigned long __res0:60;
+        };
+    } zcr64;
+
     struct {
         register_t bits[1];
     } zfr64;
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 2a51f0ca688e..e776ee704b7d 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -190,6 +190,7 @@ struct arch_vcpu
     register_t tpidrro_el0;
 
     /* HYP configuration */
+    register_t cptr_el2;
     register_t hcr_el2;
     register_t mdcr_el2;
 
diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
index 54f253087718..bc683334125c 100644
--- a/xen/arch/arm/include/asm/processor.h
+++ b/xen/arch/arm/include/asm/processor.h
@@ -582,6 +582,8 @@ void do_trap_guest_serror(struct cpu_user_regs *regs);
 
 register_t get_default_hcr_flags(void);
 
+register_t get_default_cptr_flags(void);
+
 /*
  * Synchronize SError unless the feature is selected.
  * This is relying on the SErrors are currently unmasked.
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 1f26f67b90e3..5459cc4f5e62 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -135,10 +135,11 @@ static void __init processor_id(void)
            cpu_has_el2_32 ? "64+32" : cpu_has_el2_64 ? "64" : "No",
            cpu_has_el1_32 ? "64+32" : cpu_has_el1_64 ? "64" : "No",
            cpu_has_el0_32 ? "64+32" : cpu_has_el0_64 ? "64" : "No");
-    printk("    Extensions:%s%s%s\n",
+    printk("    Extensions:%s%s%s%s\n",
            cpu_has_fp ? " FloatingPoint" : "",
            cpu_has_simd ? " AdvancedSIMD" : "",
-           cpu_has_gicv3 ? " GICv3-SysReg" : "");
+           cpu_has_gicv3 ? " GICv3-SysReg" : "",
+           cpu_has_sve ? " SVE" : "");
 
     /* Warn user if we find unknown floating-point features */
     if ( cpu_has_fp && (boot_cpu_feature64(fp) >= 2) )
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 061c92acbd68..a78a99ddadd0 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -93,6 +93,21 @@ register_t get_default_hcr_flags(void)
              HCR_TID3|HCR_TSC|HCR_TAC|HCR_SWIO|HCR_TIDCP|HCR_FB|HCR_TSW);
 }
 
+register_t get_default_cptr_flags(void)
+{
+    /*
+     * Trap all coprocessor registers (0-13) except cp10 and
+     * cp11 for VFP.
+     *
+     * /!\ All coprocessors except cp10 and cp11 cannot be used in Xen.
+     *
+     * On ARM64 the TCPx bits which we set here (0..9,12,13) are all
+     * RES1, i.e. they would trap whether we did this write or not.
+     */
+    return  ((HCPTR_CP_MASK & ~(HCPTR_CP(10) | HCPTR_CP(11))) |
+             HCPTR_TTA | HCPTR_TAM);
+}
+
 static enum {
     SERRORS_DIVERSE,
     SERRORS_PANIC,
@@ -122,6 +137,7 @@ __initcall(update_serrors_cpu_caps);
 
 void init_traps(void)
 {
+    register_t cptr_bits = get_default_cptr_flags();
     /*
      * Setup Hyp vector base. Note they might get updated with the
      * branch predictor hardening.
@@ -135,17 +151,7 @@ void init_traps(void)
     /* Trap CP15 c15 used for implementation defined registers */
     WRITE_SYSREG(HSTR_T(15), HSTR_EL2);
 
-    /* Trap all coprocessor registers (0-13) except cp10 and
-     * cp11 for VFP.
-     *
-     * /!\ All coprocessors except cp10 and cp11 cannot be used in Xen.
-     *
-     * On ARM64 the TCPx bits which we set here (0..9,12,13) are all
-     * RES1, i.e. they would trap whether we did this write or not.
-     */
-    WRITE_SYSREG((HCPTR_CP_MASK & ~(HCPTR_CP(10) | HCPTR_CP(11))) |
-                 HCPTR_TTA | HCPTR_TAM,
-                 CPTR_EL2);
+    WRITE_SYSREG(cptr_bits, CPTR_EL2);
 
     /*
      * Configure HCR_EL2 with the bare minimum to run Xen until a guest
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:00:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:00:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515165.797774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgkZz-0007YT-11; Mon, 27 Mar 2023 10:59:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515165.797774; Mon, 27 Mar 2023 10: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 1pgkZy-0007YM-UW; Mon, 27 Mar 2023 10:59:58 +0000
Received: by outflank-mailman (input) for mailman id 515165;
 Mon, 27 Mar 2023 10:59: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=K09h=7T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pgkZx-0007YG-RH
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 10:59:57 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 81d7bfd0-cc8e-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 12:59:56 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 2C76F4B3;
 Mon, 27 Mar 2023 04:00:39 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A92913F663;
 Mon, 27 Mar 2023 03:59: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: 81d7bfd0-cc8e-11ed-85db-49a42c6b2330
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	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>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v4 00/12] SVE feature for arm guests
Date: Mon, 27 Mar 2023 11:59:32 +0100
Message-Id: <20230327105944.1360856-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie is introducing the possibility for Dom0 and DomU guests to use
sve/sve2 instructions.

SVE feature introduces new instruction and registers to improve performances on
floating point operations.

The SVE feature is advertised using the ID_AA64PFR0_EL1 register, SVE field, and
when available the ID_AA64ZFR0_EL1 register provides additional information
about the implemented version and other SVE feature.

New registers added by the SVE feature are Z0-Z31, P0-P15, FFR, ZCR_ELx.

Z0-Z31 are scalable vector register whose size is implementation defined and
goes from 128 bits to maximum 2048, the term vector length will be used to refer
to this quantity.
P0-P15 are predicate registers and the size is the vector length divided by 8,
same size is the FFR (First Fault Register).
ZCR_ELx is a register that can control and restrict the maximum vector length
used by the <x> exception level and all the lower exception levels, so for
example EL3 can restrict the vector length usable by EL3,2,1,0.

The platform has a maximum implemented vector length, so for every value
written in ZCR register, if this value is above the implemented length, then the
lower value will be used. The RDVL instruction can be used to check what vector
length is the HW using after setting ZCR.

For an SVE guest, the V0-V31 registers are part of the Z0-Z31, so there is no
need to save them separately, saving Z0-Z31 will save implicitly also V0-V31.

SVE usage can be trapped using a flag in CPTR_EL2, hence in this serie the
register is added to the domain state, to be able to trap only the guests that
are not allowed to use SVE.

This serie is introducing a command line parameter to enable Dom0 to use SVE and
to set its maximum vector length that by default is 0 which means the guest is
not allowed to use SVE. Values from 128 to 2048 mean the guest can use SVE with
the selected value used as maximum allowed vector length (which could be lower
if the implemented one is lower).
For DomUs, an XL parameter with the same way of use is introduced and a dom0less
DTB binding is created.

The context switch is the most critical part because there can be big registers
to be saved, in this serie an easy approach is used and the context is
saved/restored every time for the guests that are allowed to use SVE.

Luca Fancellu (12):
  xen/arm: enable SVE extension for Xen
  xen/arm: add SVE vector length field to the domain
  xen/arm: Expose SVE feature to the guest
  xen/arm: add SVE exception class handling
  arm/sve: save/restore SVE context switch
  xen/common: add dom0 xen command line argument for Arm
  xen: enable Dom0 to use SVE feature
  xen/physinfo: encode Arm SVE vector length in arch_capabilities
  tools: add physinfo arch_capabilities handling for Arm
  xen/tools: add sve parameter in XL configuration
  xen/arm: add sve property for dom0less domUs
  xen/changelog: Add SVE and "dom0" options to the changelog for Arm

 CHANGELOG.md                             |   5 +
 docs/man/xl.cfg.5.pod.in                 |  11 ++
 docs/misc/arm/device-tree/booting.txt    |   9 ++
 docs/misc/xen-command-line.pandoc        |  16 +-
 tools/golang/xenlight/helpers.gen.go     |   4 +
 tools/golang/xenlight/types.gen.go       |   2 +
 tools/include/arm-arch-capabilities.h    |  33 ++++
 tools/include/libxl.h                    |   5 +
 tools/include/xen-tools/common-macros.h  |   2 +
 tools/libs/light/libxl.c                 |   1 +
 tools/libs/light/libxl_arm.c             |   2 +
 tools/libs/light/libxl_internal.h        |   1 -
 tools/libs/light/libxl_types.idl         |   2 +
 tools/ocaml/libs/xc/xenctrl.ml           |   4 +-
 tools/ocaml/libs/xc/xenctrl.mli          |   4 +-
 tools/ocaml/libs/xc/xenctrl_stubs.c      |   8 +-
 tools/python/xen/lowlevel/xc/xc.c        |  10 +-
 tools/xl/xl_info.c                       |   8 +
 tools/xl/xl_parse.c                      |  26 +++-
 xen/arch/arm/Kconfig                     |  10 +-
 xen/arch/arm/arm64/Makefile              |   1 +
 xen/arch/arm/arm64/cpufeature.c          |   7 +-
 xen/arch/arm/arm64/sve-asm.S             | 189 +++++++++++++++++++++++
 xen/arch/arm/arm64/sve.c                 | 138 +++++++++++++++++
 xen/arch/arm/arm64/vfp.c                 |  79 ++++++----
 xen/arch/arm/arm64/vsysreg.c             |  39 ++++-
 xen/arch/arm/cpufeature.c                |   6 +-
 xen/arch/arm/domain.c                    |  48 +++++-
 xen/arch/arm/domain_build.c              |  21 +++
 xen/arch/arm/include/asm/arm64/sve.h     |  92 +++++++++++
 xen/arch/arm/include/asm/arm64/sysregs.h |   4 +
 xen/arch/arm/include/asm/arm64/vfp.h     |  10 ++
 xen/arch/arm/include/asm/cpufeature.h    |  14 ++
 xen/arch/arm/include/asm/domain.h        |   8 +
 xen/arch/arm/include/asm/processor.h     |   3 +
 xen/arch/arm/setup.c                     |   5 +-
 xen/arch/arm/sysctl.c                    |   3 +
 xen/arch/arm/traps.c                     |  40 +++--
 xen/arch/x86/dom0_build.c                |  46 ++----
 xen/common/domain.c                      |  23 +++
 xen/common/kernel.c                      |  24 +++
 xen/include/public/arch-arm.h            |   2 +
 xen/include/public/domctl.h              |   2 +-
 xen/include/public/sysctl.h              |   4 +
 xen/include/xen/domain.h                 |   1 +
 xen/include/xen/lib.h                    |  10 ++
 46 files changed, 874 insertions(+), 108 deletions(-)
 create mode 100644 tools/include/arm-arch-capabilities.h
 create mode 100644 xen/arch/arm/arm64/sve-asm.S
 create mode 100644 xen/arch/arm/arm64/sve.c
 create mode 100644 xen/arch/arm/include/asm/arm64/sve.h

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:00:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:00:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515166.797784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgka0-0007nL-8R; Mon, 27 Mar 2023 11:00:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515166.797784; Mon, 27 Mar 2023 11:00:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgka0-0007nE-4i; Mon, 27 Mar 2023 11:00:00 +0000
Received: by outflank-mailman (input) for mailman id 515166;
 Mon, 27 Mar 2023 10:59:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=K09h=7T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pgkZz-0007YG-99
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 10:59:59 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 8367d623-cc8e-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 12:59:58 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id E12DBFEC;
 Mon, 27 Mar 2023 04:00:41 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 66BB63F663;
 Mon, 27 Mar 2023 03:59:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8367d623-cc8e-11ed-85db-49a42c6b2330
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	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 02/12] xen/arm: add SVE vector length field to the domain
Date: Mon, 27 Mar 2023 11:59:34 +0100
Message-Id: <20230327105944.1360856-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230327105944.1360856-1-luca.fancellu@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add sve_vl field to arch_domain and xen_arch_domainconfig struct,
to allow the domain to have an information about the SVE feature
and the number of SVE register bits that are allowed for this
domain.

sve_vl field is the vector length in bits divided by 128, this
allows to use less space in the structures.

The field is used also to allow or forbid a domain to use SVE,
because a value equal to zero means the guest is not allowed to
use the feature.

Check that the requested vector length is lower or equal to the
platform supported vector length, otherwise fail on domain
creation.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v3:
 - don't use fixed types when not needed, use encoded value also in
   arch_domain so rename sve_vl_bits in sve_vl. (Jan)
 - rename domainconfig_decode_vl to sve_decode_vl because it will now
   be used also to decode from arch_domain value
 - change sve_vl from uint16_t to uint8_t and move it after "type" field
   to optimize space.
Changes from v2:
 - rename field in xen_arch_domainconfig from "sve_vl_bits" to
   "sve_vl" and use the implicit padding after gic_version to
   store it, now this field is the VL/128. (Jan)
 - Created domainconfig_decode_vl() function to decode the sve_vl
   field and use it as plain bits value inside arch_domain.
 - Changed commit message reflecting the changes
Changes from v1:
 - no changes
Changes from RFC:
 - restore zcr_el2 in sve_restore_state, that will be introduced
   later in this serie, so remove zcr_el2 related code from this
   patch and move everything to the later patch (Julien)
 - add explicit padding into struct xen_arch_domainconfig (Julien)
 - Don't lower down the vector length, just fail to create the
   domain. (Julien)
---
 xen/arch/arm/arm64/sve.c             | 11 +++++++++-
 xen/arch/arm/domain.c                | 32 ++++++++++++++++++++++++++++
 xen/arch/arm/include/asm/arm64/sve.h | 22 +++++++++++++++++--
 xen/arch/arm/include/asm/domain.h    |  5 +++++
 xen/include/public/arch-arm.h        |  2 ++
 xen/include/public/domctl.h          |  2 +-
 6 files changed, 70 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
index c466de61b47f..3c3adfb5c6bd 100644
--- a/xen/arch/arm/arm64/sve.c
+++ b/xen/arch/arm/arm64/sve.c
@@ -6,6 +6,7 @@
  */
 
 #include <xen/types.h>
+#include <asm/cpufeature.h>
 #include <asm/arm64/sve.h>
 #include <asm/arm64/sysregs.h>
 #include <asm/processor.h>
@@ -43,8 +44,16 @@ register_t compute_max_zcr(void)
 }
 
 /* Takes a vector length in bits and returns the ZCR_ELx encoding */
-register_t vl_to_zcr(uint16_t vl)
+register_t vl_to_zcr(unsigned int vl)
 {
     ASSERT(vl > 0);
     return ((vl / SVE_VL_MULTIPLE_VAL) - 1U) & ZCR_ELx_LEN_MASK;
 }
+
+/* Get the system sanitized value for VL in bits */
+unsigned int get_sys_vl_len(void)
+{
+    /* ZCR_ELx len field is ((len+1) * 128) = vector bits length */
+    return ((system_cpuinfo.zcr64.bits[0] & ZCR_ELx_LEN_MASK) + 1U) *
+            SVE_VL_MULTIPLE_VAL;
+}
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index adb6ace2e24d..7182d4567bf0 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -13,6 +13,7 @@
 #include <xen/wait.h>
 
 #include <asm/alternative.h>
+#include <asm/arm64/sve.h>
 #include <asm/cpuerrata.h>
 #include <asm/cpufeature.h>
 #include <asm/current.h>
@@ -550,6 +551,8 @@ int arch_vcpu_create(struct vcpu *v)
     v->arch.vmpidr = MPIDR_SMP | vcpuid_to_vaffinity(v->vcpu_id);
 
     v->arch.cptr_el2 = get_default_cptr_flags();
+    if ( is_sve_domain(v->domain) )
+        v->arch.cptr_el2 &= ~HCPTR_CP(8);
 
     v->arch.hcr_el2 = get_default_hcr_flags();
 
@@ -594,6 +597,7 @@ 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 sve_vl_bits = sve_decode_vl(config->arch.sve_vl);
 
     if ( (config->flags & ~flags_optional) != flags_required )
     {
@@ -602,6 +606,31 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
         return -EINVAL;
     }
 
+    /* Check feature flags */
+    if ( sve_vl_bits > 0 ) {
+        unsigned int zcr_max_bits = get_sys_vl_len();
+
+        if ( !cpu_has_sve )
+        {
+            dprintk(XENLOG_INFO, "SVE is unsupported on this machine.\n");
+            return -EINVAL;
+        }
+        else if ( !is_vl_valid(sve_vl_bits) )
+        {
+            dprintk(XENLOG_INFO, "Unsupported SVE vector length (%u)\n",
+                    sve_vl_bits);
+            return -EINVAL;
+        }
+        else if ( sve_vl_bits > zcr_max_bits )
+        {
+            dprintk(XENLOG_INFO,
+                    "The requested SVE vector length (%u) must be lower or \n"
+                    "equal to the platform supported vector length (%u)\n",
+                    sve_vl_bits, zcr_max_bits);
+            return -EINVAL;
+        }
+    }
+
     /* The P2M table must always be shared between the CPU and the IOMMU */
     if ( config->iommu_opts & XEN_DOMCTL_IOMMU_no_sharept )
     {
@@ -744,6 +773,9 @@ int arch_domain_create(struct domain *d,
     if ( (rc = domain_vpci_init(d)) != 0 )
         goto fail;
 
+    /* Copy the encoded vector length sve_vl from the domain configuration */
+    d->arch.sve_vl = config->arch.sve_vl;
+
     return 0;
 
 fail:
diff --git a/xen/arch/arm/include/asm/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
index bd56e2f24230..8037f09b5b0a 100644
--- a/xen/arch/arm/include/asm/arm64/sve.h
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -13,10 +13,23 @@
 /* Vector length must be multiple of 128 */
 #define SVE_VL_MULTIPLE_VAL (128U)
 
+static inline bool is_vl_valid(unsigned int vl)
+{
+    /* SVE vector length is multiple of 128 and maximum 2048 */
+    return ((vl % SVE_VL_MULTIPLE_VAL) == 0) && (vl <= SVE_VL_MAX_BITS);
+}
+
+static inline unsigned int sve_decode_vl(unsigned int sve_vl)
+{
+    /* SVE vector length is stored as VL/128 in xen_arch_domainconfig */
+    return sve_vl * SVE_VL_MULTIPLE_VAL;
+}
+
 #ifdef CONFIG_ARM64_SVE
 
 register_t compute_max_zcr(void);
-register_t vl_to_zcr(uint16_t vl);
+register_t vl_to_zcr(unsigned int vl);
+unsigned int get_sys_vl_len(void);
 
 #else /* !CONFIG_ARM64_SVE */
 
@@ -25,7 +38,12 @@ static inline register_t compute_max_zcr(void)
     return 0;
 }
 
-static inline register_t vl_to_zcr(uint16_t vl)
+static inline register_t vl_to_zcr(unsigned int vl)
+{
+    return 0;
+}
+
+static inline unsigned int get_sys_vl_len(void)
 {
     return 0;
 }
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index e776ee704b7d..78cc2da3d4e5 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 is_sve_domain(d) ((d)->arch.sve_vl > 0)
+
 /*
  * Is the domain using the host memory layout?
  *
@@ -67,6 +69,9 @@ struct arch_domain
     enum domain_type type;
 #endif
 
+    /* max SVE encoded vector length */
+    uint8_t sve_vl;
+
     /* Virtual MMU */
     struct p2m_domain p2m;
 
diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
index 1528ced5097a..38311f559581 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -300,6 +300,8 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
 struct xen_arch_domainconfig {
     /* IN/OUT */
     uint8_t gic_version;
+    /* IN - Contains SVE vector length divided by 128 */
+    uint8_t sve_vl;
     /* IN */
     uint16_t tee_type;
     /* IN */
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 51be28c3de7c..616d7a1c070d 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 0x00000015
+#define XEN_DOMCTL_INTERFACE_VERSION 0x00000016
 
 /*
  * NB. xen_domctl.domain is an IN/OUT parameter for this operation.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:00:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:00:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515168.797801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgka2-00089f-76; Mon, 27 Mar 2023 11:00:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515168.797801; Mon, 27 Mar 2023 11:00:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgka1-000874-TP; Mon, 27 Mar 2023 11:00:01 +0000
Received: by outflank-mailman (input) for mailman id 515168;
 Mon, 27 Mar 2023 11:00:00 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=K09h=7T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pgka0-0007YG-PU
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 11:00:00 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 84a2ecb5-cc8e-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 13:00:00 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 1CE394B3;
 Mon, 27 Mar 2023 04:00:44 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0C5513F663;
 Mon, 27 Mar 2023 03:59: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: 84a2ecb5-cc8e-11ed-85db-49a42c6b2330
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 04/12] xen/arm: add SVE exception class handling
Date: Mon, 27 Mar 2023 11:59:36 +0100
Message-Id: <20230327105944.1360856-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230327105944.1360856-1-luca.fancellu@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

SVE has a new exception class with code 0x19, introduce the new code
and handle the exception.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v3:
 - No changes
Changes from v2:
 - No changes
Changes from v1:
 - No changes
Changes from RFC:
 - No changes
---
 xen/arch/arm/include/asm/processor.h |  1 +
 xen/arch/arm/traps.c                 | 12 ++++++++++++
 2 files changed, 13 insertions(+)

diff --git a/xen/arch/arm/include/asm/processor.h b/xen/arch/arm/include/asm/processor.h
index bc683334125c..7e42ff8811fc 100644
--- a/xen/arch/arm/include/asm/processor.h
+++ b/xen/arch/arm/include/asm/processor.h
@@ -426,6 +426,7 @@
 #define HSR_EC_HVC64                0x16
 #define HSR_EC_SMC64                0x17
 #define HSR_EC_SYSREG               0x18
+#define HSR_EC_SVE                  0x19
 #endif
 #define HSR_EC_INSTR_ABORT_LOWER_EL 0x20
 #define HSR_EC_INSTR_ABORT_CURR_EL  0x21
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index a78a99ddadd0..c2e30feafd5a 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -2160,6 +2160,13 @@ void do_trap_guest_sync(struct cpu_user_regs *regs)
         perfc_incr(trap_sysreg);
         do_sysreg(regs, hsr);
         break;
+    case HSR_EC_SVE:
+        GUEST_BUG_ON(regs_mode_is_32bit(regs));
+        gprintk(XENLOG_WARNING,
+                "Domain id %d tried to use SVE while not allowed\n",
+                current->domain->domain_id);
+        inject_undef_exception(regs, hsr);
+        break;
 #endif
 
     case HSR_EC_INSTR_ABORT_LOWER_EL:
@@ -2189,6 +2196,11 @@ void do_trap_hyp_sync(struct cpu_user_regs *regs)
     case HSR_EC_BRK:
         do_trap_brk(regs, hsr);
         break;
+    case HSR_EC_SVE:
+        /* An SVE exception is a bug somewhere in hypervisor code */
+        printk("SVE trap at EL2.\n");
+        do_unexpected_trap("Hypervisor", regs);
+        break;
 #endif
     case HSR_EC_DATA_ABORT_CURR_EL:
     case HSR_EC_INSTR_ABORT_CURR_EL:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:00:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:00:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515169.797805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgka2-0008H3-Kb; Mon, 27 Mar 2023 11:00:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515169.797805; Mon, 27 Mar 2023 11:00:02 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgka2-0008EX-Ac; Mon, 27 Mar 2023 11:00:02 +0000
Received: by outflank-mailman (input) for mailman id 515169;
 Mon, 27 Mar 2023 11:00: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=K09h=7T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pgka1-0007lM-DY
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 11:00:01 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 8413bccd-cc8e-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 12:59:59 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0509D1042;
 Mon, 27 Mar 2023 04:00:43 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id E8C683F663;
 Mon, 27 Mar 2023 03:59: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: 8413bccd-cc8e-11ed-b464-930f4c7d94ae
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 03/12] xen/arm: Expose SVE feature to the guest
Date: Mon, 27 Mar 2023 11:59:35 +0100
Message-Id: <20230327105944.1360856-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230327105944.1360856-1-luca.fancellu@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When a guest is allowed to use SVE, expose the SVE features through
the identification registers.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v3:
 - no changes
Changes from v2:
 - no changes
Changes from v1:
 - No changes
Changes from RFC:
 - No changes
---
 xen/arch/arm/arm64/vsysreg.c | 39 ++++++++++++++++++++++++++++++++++--
 1 file changed, 37 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/arm64/vsysreg.c b/xen/arch/arm/arm64/vsysreg.c
index 758750983c11..10048bb4d221 100644
--- a/xen/arch/arm/arm64/vsysreg.c
+++ b/xen/arch/arm/arm64/vsysreg.c
@@ -18,6 +18,7 @@
 
 #include <xen/sched.h>
 
+#include <asm/arm64/cpufeature.h>
 #include <asm/current.h>
 #include <asm/regs.h>
 #include <asm/traps.h>
@@ -295,7 +296,28 @@ void do_sysreg(struct cpu_user_regs *regs,
     GENERATE_TID3_INFO(MVFR0_EL1, mvfr, 0)
     GENERATE_TID3_INFO(MVFR1_EL1, mvfr, 1)
     GENERATE_TID3_INFO(MVFR2_EL1, mvfr, 2)
-    GENERATE_TID3_INFO(ID_AA64PFR0_EL1, pfr64, 0)
+
+    case HSR_SYSREG_ID_AA64PFR0_EL1:
+    {
+        register_t guest_reg_value = guest_cpuinfo.pfr64.bits[0];
+
+        if ( is_sve_domain(v->domain) )
+        {
+            /* 4 is the SVE field width in id_aa64pfr0_el1 */
+            uint64_t mask = GENMASK(ID_AA64PFR0_SVE_SHIFT + 4 - 1,
+                                    ID_AA64PFR0_SVE_SHIFT);
+            /* sysval is the sve field on the system */
+            uint64_t sysval = cpuid_feature_extract_unsigned_field_width(
+                                system_cpuinfo.pfr64.bits[0],
+                                ID_AA64PFR0_SVE_SHIFT, 4);
+            guest_reg_value &= ~mask;
+            guest_reg_value |= (sysval << ID_AA64PFR0_SVE_SHIFT) & mask;
+        }
+
+        return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr, 1,
+                                  guest_reg_value);
+    }
+
     GENERATE_TID3_INFO(ID_AA64PFR1_EL1, pfr64, 1)
     GENERATE_TID3_INFO(ID_AA64DFR0_EL1, dbg64, 0)
     GENERATE_TID3_INFO(ID_AA64DFR1_EL1, dbg64, 1)
@@ -306,7 +328,20 @@ void do_sysreg(struct cpu_user_regs *regs,
     GENERATE_TID3_INFO(ID_AA64MMFR2_EL1, mm64, 2)
     GENERATE_TID3_INFO(ID_AA64AFR0_EL1, aux64, 0)
     GENERATE_TID3_INFO(ID_AA64AFR1_EL1, aux64, 1)
-    GENERATE_TID3_INFO(ID_AA64ZFR0_EL1, zfr64, 0)
+
+    case HSR_SYSREG_ID_AA64ZFR0_EL1:
+    {
+        /*
+         * When the guest has the SVE feature enabled, the whole id_aa64zfr0_el1
+         * needs to be exposed.
+         */
+        register_t guest_reg_value = guest_cpuinfo.zfr64.bits[0];
+        if ( is_sve_domain(v->domain) )
+            guest_reg_value = system_cpuinfo.zfr64.bits[0];
+
+        return handle_ro_read_val(regs, regidx, hsr.sysreg.read, hsr, 1,
+                                  guest_reg_value);
+    }
 
     /*
      * Those cases are catching all Reserved registers trapped by TID3 which
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:00:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:00:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515171.797835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgka6-0000y6-Ik; Mon, 27 Mar 2023 11:00:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515171.797835; Mon, 27 Mar 2023 11: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 1pgka6-0000xH-9V; Mon, 27 Mar 2023 11:00:06 +0000
Received: by outflank-mailman (input) for mailman id 515171;
 Mon, 27 Mar 2023 11: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=K09h=7T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pgka5-0007lM-9z
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 11:00:05 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 8668de97-cc8e-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 13:00:03 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id EDDE04B3;
 Mon, 27 Mar 2023 04:00:46 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 58ACD3FA27;
 Mon, 27 Mar 2023 04:00:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8668de97-cc8e-11ed-b464-930f4c7d94ae
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	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>
Subject: [PATCH v4 06/12] xen/common: add dom0 xen command line argument for Arm
Date: Mon, 27 Mar 2023 11:59:38 +0100
Message-Id: <20230327105944.1360856-7-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230327105944.1360856-1-luca.fancellu@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently x86 defines a Xen command line argument dom0=<list> where
there can be specified dom0 controlling sub-options, to use it also
on Arm, move the code that loops through the list of arguments from
x86 to the common code and from there, call architecture specific
functions to handle the comma separated sub-options.

No functional changes are intended.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v3:
 - new patch
---
 xen/arch/arm/domain_build.c |  5 ++++
 xen/arch/x86/dom0_build.c   | 46 ++++++++++++++-----------------------
 xen/common/domain.c         | 23 +++++++++++++++++++
 xen/include/xen/domain.h    |  1 +
 4 files changed, 46 insertions(+), 29 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 9707eb7b1bb1..35dbe964fc8b 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -59,6 +59,11 @@ static int __init parse_dom0_mem(const char *s)
 }
 custom_param("dom0_mem", parse_dom0_mem);
 
+int __init parse_arch_dom0_param(const char *str_begin, const char *str_end)
+{
+    return -1;
+}
+
 /* 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))
diff --git a/xen/arch/x86/dom0_build.c b/xen/arch/x86/dom0_build.c
index 79234f18ff01..5e143814c854 100644
--- a/xen/arch/x86/dom0_build.c
+++ b/xen/arch/x86/dom0_build.c
@@ -266,42 +266,30 @@ bool __initdata opt_dom0_pvh = !IS_ENABLED(CONFIG_PV);
 bool __initdata opt_dom0_verbose = IS_ENABLED(CONFIG_VERBOSE_DEBUG);
 bool __initdata opt_dom0_msr_relaxed;
 
-static int __init cf_check parse_dom0_param(const char *s)
+int __init parse_arch_dom0_param(const char *str_begin, const char *str_end)
 {
-    const char *ss;
-    int rc = 0;
-
-    do {
-        int val;
-
-        ss = strchr(s, ',');
-        if ( !ss )
-            ss = strchr(s, '\0');
+    int val, rc = 0;
 
-        if ( IS_ENABLED(CONFIG_PV) && !cmdline_strcmp(s, "pv") )
-            opt_dom0_pvh = false;
-        else if ( IS_ENABLED(CONFIG_HVM) && !cmdline_strcmp(s, "pvh") )
-            opt_dom0_pvh = true;
+    if ( IS_ENABLED(CONFIG_PV) && !cmdline_strcmp(str_begin, "pv") )
+        opt_dom0_pvh = false;
+    else if ( IS_ENABLED(CONFIG_HVM) && !cmdline_strcmp(str_begin, "pvh") )
+        opt_dom0_pvh = true;
 #ifdef CONFIG_SHADOW_PAGING
-        else if ( (val = parse_boolean("shadow", s, ss)) >= 0 )
-            opt_dom0_shadow = val;
+    else if ( (val = parse_boolean("shadow", str_begin, str_end)) >= 0 )
+        opt_dom0_shadow = val;
 #endif
-        else if ( (val = parse_boolean("verbose", s, ss)) >= 0 )
-            opt_dom0_verbose = val;
-        else if ( IS_ENABLED(CONFIG_PV) &&
-                  (val = parse_boolean("cpuid-faulting", s, ss)) >= 0 )
-            opt_dom0_cpuid_faulting = val;
-        else if ( (val = parse_boolean("msr-relaxed", s, ss)) >= 0 )
-            opt_dom0_msr_relaxed = val;
-        else
-            rc = -EINVAL;
-
-        s = ss + 1;
-    } while ( *ss );
+    else if ( (val = parse_boolean("verbose", str_begin, str_end)) >= 0 )
+        opt_dom0_verbose = val;
+    else if ( IS_ENABLED(CONFIG_PV) &&
+              (val = parse_boolean("cpuid-faulting", str_begin, str_end)) >= 0 )
+        opt_dom0_cpuid_faulting = val;
+    else if ( (val = parse_boolean("msr-relaxed", str_begin, str_end)) >= 0 )
+        opt_dom0_msr_relaxed = val;
+    else
+        rc = -EINVAL;
 
     return rc;
 }
-custom_param("dom0", parse_dom0_param);
 
 static char __initdata opt_dom0_ioports_disable[200] = "";
 string_param("dom0_ioports_disable", opt_dom0_ioports_disable);
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 626debbae095..7779ba088675 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -364,6 +364,29 @@ static int __init cf_check parse_extra_guest_irqs(const char *s)
 }
 custom_param("extra_guest_irqs", parse_extra_guest_irqs);
 
+static int __init cf_check parse_dom0_param(const char *s)
+{
+    const char *ss;
+    int rc = 0;
+
+    do {
+        int ret;
+
+        ss = strchr(s, ',');
+        if ( !ss )
+            ss = strchr(s, '\0');
+
+        ret = parse_arch_dom0_param(s, ss);
+        if ( ret && !rc )
+            rc = ret;
+
+        s = ss + 1;
+    } while ( *ss );
+
+    return rc;
+}
+custom_param("dom0", parse_dom0_param);
+
 /*
  * Release resources held by a domain.  There may or may not be live
  * references to the domain, and it may or may not be fully constructed.
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 26f9c4f6dd5b..b1259a3392b2 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -16,6 +16,7 @@ typedef union {
 struct vcpu *vcpu_create(struct domain *d, unsigned int vcpu_id);
 
 unsigned int dom0_max_vcpus(void);
+int parse_arch_dom0_param(const char *str_begin, const char *str_end);
 struct vcpu *alloc_dom0_vcpu0(struct domain *dom0);
 
 int vcpu_reset(struct vcpu *);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:00:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:00:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515172.797838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgka7-000159-22; Mon, 27 Mar 2023 11:00:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515172.797838; Mon, 27 Mar 2023 11:00: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 1pgka6-00014C-P3; Mon, 27 Mar 2023 11:00:06 +0000
Received: by outflank-mailman (input) for mailman id 515172;
 Mon, 27 Mar 2023 11:00: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=K09h=7T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pgka5-0007YG-LO
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 11:00:05 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 874313c1-cc8e-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 13:00:04 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 7E379C14;
 Mon, 27 Mar 2023 04:00:48 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 025133F663;
 Mon, 27 Mar 2023 04:00: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: 874313c1-cc8e-11ed-85db-49a42c6b2330
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 07/12] xen: enable Dom0 to use SVE feature
Date: Mon, 27 Mar 2023 11:59:39 +0100
Message-Id: <20230327105944.1360856-8-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230327105944.1360856-1-luca.fancellu@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a command line parameter to allow Dom0 the use of SVE resources,
the command line parameter sve=<integer>, sub argument of dom0=,
controls the feature on this domain and sets the maximum SVE vector
length for Dom0.

Add a new function, parse_integer(), to parse an integer command
line argument.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v3:
 - Don't use fixed len types when not needed (Jan)
 - renamed domainconfig_encode_vl to sve_encode_vl
 - Use a sub argument of dom0= to enable the feature (Jan)
 - Add parse_integer() function
Changes from v2:
 - xen_domctl_createdomain field has changed into sve_vl and its
   value now is the VL / 128, create an helper function for that.
Changes from v1:
 - No changes
Changes from RFC:
 - Changed docs to explain that the domain won't be created if the
   requested vector length is above the supported one from the
   platform.
---
 docs/misc/xen-command-line.pandoc    | 16 ++++++++++++++--
 xen/arch/arm/arm64/sve.c             |  9 +++++++++
 xen/arch/arm/domain_build.c          | 11 ++++++++++-
 xen/arch/arm/include/asm/arm64/sve.h | 16 ++++++++++++++++
 xen/common/kernel.c                  | 24 ++++++++++++++++++++++++
 xen/include/xen/lib.h                | 10 ++++++++++
 6 files changed, 83 insertions(+), 3 deletions(-)

diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index e0b89b7d3319..06c1eb4e6d6f 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -777,9 +777,9 @@ Specify the bit width of the DMA heap.
 
 ### dom0
     = List of [ pv | pvh, shadow=<bool>, verbose=<bool>,
-                cpuid-faulting=<bool>, msr-relaxed=<bool> ]
+                cpuid-faulting=<bool>, msr-relaxed=<bool> ] (x86)
 
-    Applicability: x86
+    = List of [ sve=<integer> ] (Arm)
 
 Controls for how dom0 is constructed on x86 systems.
 
@@ -838,6 +838,18 @@ Controls for how dom0 is constructed on x86 systems.
 
     If using this option is necessary to fix an issue, please report a bug.
 
+Enables features on dom0 on Arm systems.
+
+*   The `sve` integer parameter enables Arm SVE usage for Dom0 domain and sets
+    the maximum SVE vector length.
+    Values above 0 means feature is enabled for Dom0, otherwise feature is
+    disabled.
+    Possible values are from 0 to maximum 2048, being multiple of 128, that will
+    be the maximum vector length.
+    Please note that the platform can supports a lower value, if the requested
+    value is above the supported one, the domain creation will fail and the
+    system will stop.
+
 ### dom0-cpuid
     = List of comma separated booleans
 
diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
index 696a97811cac..6416403817e3 100644
--- a/xen/arch/arm/arm64/sve.c
+++ b/xen/arch/arm/arm64/sve.c
@@ -5,10 +5,14 @@
  * Copyright (C) 2022 ARM Ltd.
  */
 
+#include <xen/param.h>
 #include <xen/sched.h>
 #include <xen/sizes.h>
 #include <asm/arm64/sve.h>
 
+/* opt_dom0_sve: allow Dom0 to use SVE and set maximum vector length. */
+unsigned int __initdata opt_dom0_sve;
+
 extern unsigned int sve_get_hw_vl(void);
 extern void sve_save_ctx(uint64_t *sve_ctx, uint64_t *pregs, int save_ffr);
 extern void sve_load_ctx(uint64_t const *sve_ctx, uint64_t const *pregs,
@@ -115,3 +119,8 @@ void sve_restore_state(struct vcpu *v)
 
     sve_load_ctx(sve_ctx_zreg_end, v->arch.vfp.fpregs, 1);
 }
+
+int __init sve_parse_dom0_param(const char *str_begin, const char *str_end)
+{
+    return parse_integer("sve", str_begin, str_end, (int*)&opt_dom0_sve);
+}
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 35dbe964fc8b..f6019ce30149 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -26,6 +26,7 @@
 #include <asm/platform.h>
 #include <asm/psci.h>
 #include <asm/setup.h>
+#include <asm/arm64/sve.h>
 #include <asm/cpufeature.h>
 #include <asm/domain_build.h>
 #include <xen/event.h>
@@ -61,7 +62,12 @@ custom_param("dom0_mem", parse_dom0_mem);
 
 int __init parse_arch_dom0_param(const char *str_begin, const char *str_end)
 {
-    return -1;
+    int rc = 0;
+
+    if ( sve_parse_dom0_param(str_begin, str_end) < 0 )
+        rc = -EINVAL;
+
+    return rc;
 }
 
 /* Override macros from asm/page.h to make them work with mfn_t */
@@ -4089,6 +4095,9 @@ void __init create_dom0(void)
     if ( iommu_enabled )
         dom0_cfg.flags |= XEN_DOMCTL_CDF_iommu;
 
+    if ( opt_dom0_sve > 0 )
+        dom0_cfg.arch.sve_vl = sve_encode_vl(opt_dom0_sve);
+
     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/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
index d38a37408439..69a1044c37d9 100644
--- a/xen/arch/arm/include/asm/arm64/sve.h
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -25,8 +25,15 @@ static inline unsigned int sve_decode_vl(unsigned int sve_vl)
     return sve_vl * SVE_VL_MULTIPLE_VAL;
 }
 
+static inline unsigned int sve_encode_vl(unsigned int sve_vl_bits)
+{
+    return sve_vl_bits / SVE_VL_MULTIPLE_VAL;
+}
+
 #ifdef CONFIG_ARM64_SVE
 
+extern unsigned int opt_dom0_sve;
+
 register_t compute_max_zcr(void);
 register_t vl_to_zcr(unsigned int vl);
 unsigned int get_sys_vl_len(void);
@@ -34,9 +41,12 @@ int sve_context_init(struct vcpu *v);
 void sve_context_free(struct vcpu *v);
 void sve_save_state(struct vcpu *v);
 void sve_restore_state(struct vcpu *v);
+int sve_parse_dom0_param(const char *str_begin, const char *str_end);
 
 #else /* !CONFIG_ARM64_SVE */
 
+#define opt_dom0_sve (0)
+
 static inline register_t compute_max_zcr(void)
 {
     return 0;
@@ -61,6 +71,12 @@ static inline void sve_context_free(struct vcpu *v) {}
 static inline void sve_save_state(struct vcpu *v) {}
 static inline void sve_restore_state(struct vcpu *v) {}
 
+static inline int sve_parse_dom0_param(const char *str_begin,
+                                       const char *str_end)
+{
+    return -1;
+}
+
 #endif
 
 #endif /* _ARM_ARM64_SVE_H */
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index f7b1f65f373c..97b460f5a5c2 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -314,6 +314,30 @@ int parse_boolean(const char *name, const char *s, const char *e)
     return -1;
 }
 
+int parse_integer(const char *name, const char *s, const char *e,
+                  int *val)
+{
+    size_t slen, nlen;
+    const char *str;
+    long long pval;
+
+    slen = e ? ({ ASSERT(e >= s); e - s; }) : strlen(s);
+    nlen = strlen(name);
+
+    /* Does s start with name or contains only the name? */
+    if ( (slen <= nlen) || strncmp(s, name, nlen) || (s[nlen] != '=') )
+        return -1;
+
+    pval = simple_strtoll(&s[nlen + 1], &str, 0);
+
+    if ( (str != e) || (pval < INT_MIN) || (pval > INT_MAX) )
+        return -2;
+
+    *val = pval;
+
+    return 0;
+}
+
 int cmdline_strcmp(const char *frag, const char *name)
 {
     for ( ; ; frag++, name++ )
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 05ee1e18af6b..900f1257acb4 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -94,6 +94,16 @@ int parse_bool(const char *s, const char *e);
  */
 int parse_boolean(const char *name, const char *s, const char *e);
 
+/**
+ * Given a specific name, parses a string of the form:
+ *   $NAME[=...]
+ * returning 0 and a value in val, for a recognised integer.
+ * Returns -1 for name not found, general errors, or -2 if name is found but
+ * not recognised/overflow/underflow value.
+ */
+int parse_integer(const char *name, const char *s, const char *e,
+                  int *val);
+
 /**
  * Very similar to strcmp(), but will declare a match if the NUL in 'name'
  * lines up with comma, colon, semicolon or equals in 'frag'.  Designed for
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:00:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:00:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515170.797824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgka4-0000aR-Sl; Mon, 27 Mar 2023 11:00:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515170.797824; Mon, 27 Mar 2023 11:00: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 1pgka4-0000Zn-NR; Mon, 27 Mar 2023 11:00:04 +0000
Received: by outflank-mailman (input) for mailman id 515170;
 Mon, 27 Mar 2023 11:00: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=K09h=7T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pgka3-0007YG-2C
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 11:00:03 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 85560866-cc8e-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 13:00:01 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 5025AFEC;
 Mon, 27 Mar 2023 04:00:45 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 250073F663;
 Mon, 27 Mar 2023 04:00: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: 85560866-cc8e-11ed-85db-49a42c6b2330
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 05/12] arm/sve: save/restore SVE context switch
Date: Mon, 27 Mar 2023 11:59:37 +0100
Message-Id: <20230327105944.1360856-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230327105944.1360856-1-luca.fancellu@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Save/restore context switch for SVE, allocate memory to contain
the Z0-31 registers whose length is maximum 2048 bits each and
FFR who can be maximum 256 bits, the allocated memory depends on
how many bits is the vector length for the domain and how many bits
are supported by the platform.

Save P0-15 whose length is maximum 256 bits each, in this case the
memory used is from the fpregs field in struct vfp_state,
because V0-31 are part of Z0-31 and this space would have been
unused for SVE domain otherwise.

Create zcr_el{1,2} fields in arch_vcpu, initialise zcr_el2 on vcpu
creation given the requested vector length and restore it on
context switch, save/restore ZCR_EL1 value as well.

Remove headers from sve.c that are already included using
xen/sched.h.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v3:
 - don't use fixed len types when not needed (Jan)
 - now VL is an encoded value, decode it before using.
Changes from v2:
 - No changes
Changes from v1:
 - No changes
Changes from RFC:
 - Moved zcr_el2 field introduction in this patch, restore its
   content inside sve_restore_state function. (Julien)
---
 xen/arch/arm/arm64/sve-asm.S             | 141 +++++++++++++++++++++++
 xen/arch/arm/arm64/sve.c                 |  68 ++++++++++-
 xen/arch/arm/arm64/vfp.c                 |  79 +++++++------
 xen/arch/arm/domain.c                    |   7 ++
 xen/arch/arm/include/asm/arm64/sve.h     |  13 +++
 xen/arch/arm/include/asm/arm64/sysregs.h |   3 +
 xen/arch/arm/include/asm/arm64/vfp.h     |  10 ++
 xen/arch/arm/include/asm/domain.h        |   2 +
 8 files changed, 284 insertions(+), 39 deletions(-)

diff --git a/xen/arch/arm/arm64/sve-asm.S b/xen/arch/arm/arm64/sve-asm.S
index 4d1549344733..8c37d7bc95d5 100644
--- a/xen/arch/arm/arm64/sve-asm.S
+++ b/xen/arch/arm/arm64/sve-asm.S
@@ -17,6 +17,18 @@
     .endif
 .endm
 
+.macro _sve_check_zreg znr
+    .if (\znr) < 0 || (\znr) > 31
+        .error "Bad Scalable Vector Extension vector register number \znr."
+    .endif
+.endm
+
+.macro _sve_check_preg pnr
+    .if (\pnr) < 0 || (\pnr) > 15
+        .error "Bad Scalable Vector Extension predicate register number \pnr."
+    .endif
+.endm
+
 .macro _check_num n, min, max
     .if (\n) < (\min) || (\n) > (\max)
         .error "Number \n out of range [\min,\max]"
@@ -26,6 +38,54 @@
 /* SVE instruction encodings for non-SVE-capable assemblers */
 /* (pre binutils 2.28, all kernel capable clang versions support SVE) */
 
+/* STR (vector): STR Z\nz, [X\nxbase, #\offset, MUL VL] */
+.macro _sve_str_v nz, nxbase, offset=0
+    _sve_check_zreg \nz
+    _check_general_reg \nxbase
+    _check_num (\offset), -0x100, 0xff
+    .inst 0xe5804000                \
+        | (\nz)                     \
+        | ((\nxbase) << 5)          \
+        | (((\offset) & 7) << 10)   \
+        | (((\offset) & 0x1f8) << 13)
+.endm
+
+/* LDR (vector): LDR Z\nz, [X\nxbase, #\offset, MUL VL] */
+.macro _sve_ldr_v nz, nxbase, offset=0
+    _sve_check_zreg \nz
+    _check_general_reg \nxbase
+    _check_num (\offset), -0x100, 0xff
+    .inst 0x85804000                \
+        | (\nz)                     \
+        | ((\nxbase) << 5)          \
+        | (((\offset) & 7) << 10)   \
+        | (((\offset) & 0x1f8) << 13)
+.endm
+
+/* STR (predicate): STR P\np, [X\nxbase, #\offset, MUL VL] */
+.macro _sve_str_p np, nxbase, offset=0
+    _sve_check_preg \np
+    _check_general_reg \nxbase
+    _check_num (\offset), -0x100, 0xff
+    .inst 0xe5800000                \
+        | (\np)                     \
+        | ((\nxbase) << 5)          \
+        | (((\offset) & 7) << 10)   \
+        | (((\offset) & 0x1f8) << 13)
+.endm
+
+/* LDR (predicate): LDR P\np, [X\nxbase, #\offset, MUL VL] */
+.macro _sve_ldr_p np, nxbase, offset=0
+    _sve_check_preg \np
+    _check_general_reg \nxbase
+    _check_num (\offset), -0x100, 0xff
+    .inst 0x85800000                \
+        | (\np)                     \
+        | ((\nxbase) << 5)          \
+        | (((\offset) & 7) << 10)   \
+        | (((\offset) & 0x1f8) << 13)
+.endm
+
 /* RDVL X\nx, #\imm */
 .macro _sve_rdvl nx, imm
     _check_general_reg \nx
@@ -35,11 +95,92 @@
         | (((\imm) & 0x3f) << 5)
 .endm
 
+/* RDFFR (unpredicated): RDFFR P\np.B */
+.macro _sve_rdffr np
+    _sve_check_preg \np
+    .inst 0x2519f000                \
+        | (\np)
+.endm
+
+/* WRFFR P\np.B */
+.macro _sve_wrffr np
+    _sve_check_preg \np
+    .inst 0x25289000                \
+        | ((\np) << 5)
+.endm
+
+.macro __for from:req, to:req
+    .if (\from) == (\to)
+        _for__body %\from
+    .else
+        __for %\from, %((\from) + ((\to) - (\from)) / 2)
+        __for %((\from) + ((\to) - (\from)) / 2 + 1), %\to
+    .endif
+.endm
+
+.macro _for var:req, from:req, to:req, insn:vararg
+    .macro _for__body \var:req
+        .noaltmacro
+        \insn
+        .altmacro
+    .endm
+
+    .altmacro
+    __for \from, \to
+    .noaltmacro
+
+    .purgem _for__body
+.endm
+
+.macro sve_save nxzffrctx, nxpctx, save_ffr
+    _for n, 0, 31, _sve_str_v \n, \nxzffrctx, \n - 32
+    _for n, 0, 15, _sve_str_p \n, \nxpctx, \n
+        cbz \save_ffr, 1f
+        _sve_rdffr 0
+        _sve_str_p 0, \nxzffrctx
+        _sve_ldr_p 0, \nxpctx
+        b 2f
+1:
+        str xzr, [x\nxzffrctx]      // Zero out FFR
+2:
+.endm
+
+.macro sve_load nxzffrctx, nxpctx, restore_ffr
+    _for n, 0, 31, _sve_ldr_v \n, \nxzffrctx, \n - 32
+        cbz \restore_ffr, 1f
+        _sve_ldr_p 0, \nxzffrctx
+        _sve_wrffr 0
+1:
+    _for n, 0, 15, _sve_ldr_p \n, \nxpctx, \n
+.endm
+
 /* Gets the current vector register size in bytes */
 GLOBAL(sve_get_hw_vl)
     _sve_rdvl 0, 1
     ret
 
+/*
+ * Save the SVE context
+ *
+ * x0 - pointer to buffer for Z0-31 + FFR
+ * x1 - pointer to buffer for P0-15
+ * x2 - Save FFR if non-zero
+ */
+GLOBAL(sve_save_ctx)
+    sve_save 0, 1, x2
+    ret
+
+/*
+ * Load the SVE context
+ *
+ * x0 - pointer to buffer for Z0-31 + FFR
+ * x1 - pointer to buffer for P0-15
+ * x2 - Restore FFR if non-zero
+ */
+GLOBAL(sve_load_ctx)
+    sve_load 0, 1, x2
+    ret
+
 /*
  * Local variables:
  * mode: ASM
diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
index 3c3adfb5c6bd..696a97811cac 100644
--- a/xen/arch/arm/arm64/sve.c
+++ b/xen/arch/arm/arm64/sve.c
@@ -5,14 +5,29 @@
  * Copyright (C) 2022 ARM Ltd.
  */
 
-#include <xen/types.h>
-#include <asm/cpufeature.h>
+#include <xen/sched.h>
+#include <xen/sizes.h>
 #include <asm/arm64/sve.h>
-#include <asm/arm64/sysregs.h>
-#include <asm/processor.h>
-#include <asm/system.h>
 
 extern unsigned int sve_get_hw_vl(void);
+extern void sve_save_ctx(uint64_t *sve_ctx, uint64_t *pregs, int save_ffr);
+extern void sve_load_ctx(uint64_t const *sve_ctx, uint64_t const *pregs,
+                         int restore_ffr);
+
+static inline unsigned int sve_zreg_ctx_size(unsigned int vl)
+{
+    /*
+     * Z0-31 registers size in bytes is computed from VL that is in bits, so VL
+     * in bytes is VL/8.
+     */
+    return (vl / 8U) * 32U;
+}
+
+static inline unsigned int sve_ffrreg_ctx_size(unsigned int vl)
+{
+    /* FFR register size is VL/8, which is in bytes (VL/8)/8 */
+    return (vl / 64U);
+}
 
 register_t compute_max_zcr(void)
 {
@@ -57,3 +72,46 @@ unsigned int get_sys_vl_len(void)
     return ((system_cpuinfo.zcr64.bits[0] & ZCR_ELx_LEN_MASK) + 1U) *
             SVE_VL_MULTIPLE_VAL;
 }
+
+int sve_context_init(struct vcpu *v)
+{
+    unsigned int sve_vl_bits = sve_decode_vl(v->domain->arch.sve_vl);
+    uint64_t *ctx = _xzalloc(sve_zreg_ctx_size(sve_vl_bits) +
+                             sve_ffrreg_ctx_size(sve_vl_bits),
+                             L1_CACHE_BYTES);
+
+    if ( !ctx )
+        return -ENOMEM;
+
+    v->arch.vfp.sve_context = ctx;
+
+    return 0;
+}
+
+void sve_context_free(struct vcpu *v)
+{
+    xfree(v->arch.vfp.sve_context);
+}
+
+void sve_save_state(struct vcpu *v)
+{
+    unsigned int sve_vl_bits = sve_decode_vl(v->domain->arch.sve_vl);
+    uint64_t *sve_ctx_zreg_end = v->arch.vfp.sve_context +
+            (sve_zreg_ctx_size(sve_vl_bits) / sizeof(uint64_t));
+
+    v->arch.zcr_el1 = READ_SYSREG(ZCR_EL1);
+
+    sve_save_ctx(sve_ctx_zreg_end, v->arch.vfp.fpregs, 1);
+}
+
+void sve_restore_state(struct vcpu *v)
+{
+    unsigned int sve_vl_bits = sve_decode_vl(v->domain->arch.sve_vl);
+    uint64_t *sve_ctx_zreg_end = v->arch.vfp.sve_context +
+            (sve_zreg_ctx_size(sve_vl_bits) / sizeof(uint64_t));
+
+    WRITE_SYSREG(v->arch.zcr_el1, ZCR_EL1);
+    WRITE_SYSREG(v->arch.zcr_el2, ZCR_EL2);
+
+    sve_load_ctx(sve_ctx_zreg_end, v->arch.vfp.fpregs, 1);
+}
diff --git a/xen/arch/arm/arm64/vfp.c b/xen/arch/arm/arm64/vfp.c
index 47885e76baae..2d0d7c2e6ddb 100644
--- a/xen/arch/arm/arm64/vfp.c
+++ b/xen/arch/arm/arm64/vfp.c
@@ -2,29 +2,35 @@
 #include <asm/processor.h>
 #include <asm/cpufeature.h>
 #include <asm/vfp.h>
+#include <asm/arm64/sve.h>
 
 void vfp_save_state(struct vcpu *v)
 {
     if ( !cpu_has_fp )
         return;
 
-    asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
-                 "stp q2, q3, [%1, #16 * 2]\n\t"
-                 "stp q4, q5, [%1, #16 * 4]\n\t"
-                 "stp q6, q7, [%1, #16 * 6]\n\t"
-                 "stp q8, q9, [%1, #16 * 8]\n\t"
-                 "stp q10, q11, [%1, #16 * 10]\n\t"
-                 "stp q12, q13, [%1, #16 * 12]\n\t"
-                 "stp q14, q15, [%1, #16 * 14]\n\t"
-                 "stp q16, q17, [%1, #16 * 16]\n\t"
-                 "stp q18, q19, [%1, #16 * 18]\n\t"
-                 "stp q20, q21, [%1, #16 * 20]\n\t"
-                 "stp q22, q23, [%1, #16 * 22]\n\t"
-                 "stp q24, q25, [%1, #16 * 24]\n\t"
-                 "stp q26, q27, [%1, #16 * 26]\n\t"
-                 "stp q28, q29, [%1, #16 * 28]\n\t"
-                 "stp q30, q31, [%1, #16 * 30]\n\t"
-                 : "=Q" (*v->arch.vfp.fpregs) : "r" (v->arch.vfp.fpregs));
+    if ( is_sve_domain(v->domain) )
+        sve_save_state(v);
+    else
+    {
+        asm volatile("stp q0, q1, [%1, #16 * 0]\n\t"
+                     "stp q2, q3, [%1, #16 * 2]\n\t"
+                     "stp q4, q5, [%1, #16 * 4]\n\t"
+                     "stp q6, q7, [%1, #16 * 6]\n\t"
+                     "stp q8, q9, [%1, #16 * 8]\n\t"
+                     "stp q10, q11, [%1, #16 * 10]\n\t"
+                     "stp q12, q13, [%1, #16 * 12]\n\t"
+                     "stp q14, q15, [%1, #16 * 14]\n\t"
+                     "stp q16, q17, [%1, #16 * 16]\n\t"
+                     "stp q18, q19, [%1, #16 * 18]\n\t"
+                     "stp q20, q21, [%1, #16 * 20]\n\t"
+                     "stp q22, q23, [%1, #16 * 22]\n\t"
+                     "stp q24, q25, [%1, #16 * 24]\n\t"
+                     "stp q26, q27, [%1, #16 * 26]\n\t"
+                     "stp q28, q29, [%1, #16 * 28]\n\t"
+                     "stp q30, q31, [%1, #16 * 30]\n\t"
+                     : "=Q" (*v->arch.vfp.fpregs) : "r" (v->arch.vfp.fpregs));
+    }
 
     v->arch.vfp.fpsr = READ_SYSREG(FPSR);
     v->arch.vfp.fpcr = READ_SYSREG(FPCR);
@@ -37,23 +43,28 @@ void vfp_restore_state(struct vcpu *v)
     if ( !cpu_has_fp )
         return;
 
-    asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
-                 "ldp q2, q3, [%1, #16 * 2]\n\t"
-                 "ldp q4, q5, [%1, #16 * 4]\n\t"
-                 "ldp q6, q7, [%1, #16 * 6]\n\t"
-                 "ldp q8, q9, [%1, #16 * 8]\n\t"
-                 "ldp q10, q11, [%1, #16 * 10]\n\t"
-                 "ldp q12, q13, [%1, #16 * 12]\n\t"
-                 "ldp q14, q15, [%1, #16 * 14]\n\t"
-                 "ldp q16, q17, [%1, #16 * 16]\n\t"
-                 "ldp q18, q19, [%1, #16 * 18]\n\t"
-                 "ldp q20, q21, [%1, #16 * 20]\n\t"
-                 "ldp q22, q23, [%1, #16 * 22]\n\t"
-                 "ldp q24, q25, [%1, #16 * 24]\n\t"
-                 "ldp q26, q27, [%1, #16 * 26]\n\t"
-                 "ldp q28, q29, [%1, #16 * 28]\n\t"
-                 "ldp q30, q31, [%1, #16 * 30]\n\t"
-                 : : "Q" (*v->arch.vfp.fpregs), "r" (v->arch.vfp.fpregs));
+    if ( is_sve_domain(v->domain) )
+        sve_restore_state(v);
+    else
+    {
+        asm volatile("ldp q0, q1, [%1, #16 * 0]\n\t"
+                     "ldp q2, q3, [%1, #16 * 2]\n\t"
+                     "ldp q4, q5, [%1, #16 * 4]\n\t"
+                     "ldp q6, q7, [%1, #16 * 6]\n\t"
+                     "ldp q8, q9, [%1, #16 * 8]\n\t"
+                     "ldp q10, q11, [%1, #16 * 10]\n\t"
+                     "ldp q12, q13, [%1, #16 * 12]\n\t"
+                     "ldp q14, q15, [%1, #16 * 14]\n\t"
+                     "ldp q16, q17, [%1, #16 * 16]\n\t"
+                     "ldp q18, q19, [%1, #16 * 18]\n\t"
+                     "ldp q20, q21, [%1, #16 * 20]\n\t"
+                     "ldp q22, q23, [%1, #16 * 22]\n\t"
+                     "ldp q24, q25, [%1, #16 * 24]\n\t"
+                     "ldp q26, q27, [%1, #16 * 26]\n\t"
+                     "ldp q28, q29, [%1, #16 * 28]\n\t"
+                     "ldp q30, q31, [%1, #16 * 30]\n\t"
+                     : : "Q" (*v->arch.vfp.fpregs), "r" (v->arch.vfp.fpregs));
+    }
 
     WRITE_SYSREG(v->arch.vfp.fpsr, FPSR);
     WRITE_SYSREG(v->arch.vfp.fpcr, FPCR);
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 7182d4567bf0..8326ef15d159 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -552,7 +552,12 @@ int arch_vcpu_create(struct vcpu *v)
 
     v->arch.cptr_el2 = get_default_cptr_flags();
     if ( is_sve_domain(v->domain) )
+    {
+        if ( (rc = sve_context_init(v)) != 0 )
+            goto fail;
         v->arch.cptr_el2 &= ~HCPTR_CP(8);
+        v->arch.zcr_el2 = vl_to_zcr(sve_decode_vl(v->domain->arch.sve_vl));
+    }
 
     v->arch.hcr_el2 = get_default_hcr_flags();
 
@@ -582,6 +587,8 @@ fail:
 
 void arch_vcpu_destroy(struct vcpu *v)
 {
+    if ( is_sve_domain(v->domain) )
+        sve_context_free(v);
     vcpu_timer_destroy(v);
     vcpu_vgic_free(v);
     free_xenheap_pages(v->arch.stack, STACK_ORDER);
diff --git a/xen/arch/arm/include/asm/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
index 8037f09b5b0a..d38a37408439 100644
--- a/xen/arch/arm/include/asm/arm64/sve.h
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -30,6 +30,10 @@ static inline unsigned int sve_decode_vl(unsigned int sve_vl)
 register_t compute_max_zcr(void);
 register_t vl_to_zcr(unsigned int vl);
 unsigned int get_sys_vl_len(void);
+int sve_context_init(struct vcpu *v);
+void sve_context_free(struct vcpu *v);
+void sve_save_state(struct vcpu *v);
+void sve_restore_state(struct vcpu *v);
 
 #else /* !CONFIG_ARM64_SVE */
 
@@ -48,6 +52,15 @@ static inline unsigned int get_sys_vl_len(void)
     return 0;
 }
 
+static inline int sve_context_init(struct vcpu *v)
+{
+    return 0;
+}
+
+static inline void sve_context_free(struct vcpu *v) {}
+static inline void sve_save_state(struct vcpu *v) {}
+static inline void sve_restore_state(struct vcpu *v) {}
+
 #endif
 
 #endif /* _ARM_ARM64_SVE_H */
diff --git a/xen/arch/arm/include/asm/arm64/sysregs.h b/xen/arch/arm/include/asm/arm64/sysregs.h
index 4cabb9eb4d5e..3fdeb9d8cdef 100644
--- a/xen/arch/arm/include/asm/arm64/sysregs.h
+++ b/xen/arch/arm/include/asm/arm64/sysregs.h
@@ -88,6 +88,9 @@
 #ifndef ID_AA64ISAR2_EL1
 #define ID_AA64ISAR2_EL1            S3_0_C0_C6_2
 #endif
+#ifndef ZCR_EL1
+#define ZCR_EL1                     S3_0_C1_C2_0
+#endif
 
 /* ID registers (imported from arm64/include/asm/sysreg.h in Linux) */
 
diff --git a/xen/arch/arm/include/asm/arm64/vfp.h b/xen/arch/arm/include/asm/arm64/vfp.h
index e6e8c363bc16..8af714cb8ecc 100644
--- a/xen/arch/arm/include/asm/arm64/vfp.h
+++ b/xen/arch/arm/include/asm/arm64/vfp.h
@@ -6,7 +6,17 @@
 
 struct vfp_state
 {
+    /*
+     * When SVE is enabled for the guest, fpregs memory will be used to
+     * save/restore P0-P15 registers, otherwise it will be used for the V0-V31
+     * registers.
+     */
     uint64_t fpregs[64] __vfp_aligned;
+    /*
+     * When SVE is enabled for the guest, sve_context contains memory to
+     * save/restore Z0-Z31 registers and FFR.
+     */
+    uint64_t *sve_context;
     register_t fpcr;
     register_t fpexc32_el2;
     register_t fpsr;
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 78cc2da3d4e5..6b5ec3bd0680 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -195,6 +195,8 @@ struct arch_vcpu
     register_t tpidrro_el0;
 
     /* HYP configuration */
+    register_t zcr_el1;
+    register_t zcr_el2;
     register_t cptr_el2;
     register_t hcr_el2;
     register_t mdcr_el2;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:00:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:00:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515173.797850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgka8-0001U9-Mv; Mon, 27 Mar 2023 11:00:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515173.797850; Mon, 27 Mar 2023 11:00:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgka8-0001T1-BJ; Mon, 27 Mar 2023 11:00:08 +0000
Received: by outflank-mailman (input) for mailman id 515173;
 Mon, 27 Mar 2023 11: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=K09h=7T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pgka7-0007YG-DX
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 11:00:07 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 88498262-cc8e-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 13:00:06 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0CB73FEC;
 Mon, 27 Mar 2023 04:00:50 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 865143F663;
 Mon, 27 Mar 2023 04:00: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: 88498262-cc8e-11ed-85db-49a42c6b2330
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	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 08/12] xen/physinfo: encode Arm SVE vector length in arch_capabilities
Date: Mon, 27 Mar 2023 11:59:40 +0100
Message-Id: <20230327105944.1360856-9-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230327105944.1360856-1-luca.fancellu@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When the arm platform supports SVE, advertise the feature in the
field arch_capabilities in struct xen_sysctl_physinfo by encoding
the SVE vector length in it.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v3:
 - domainconfig_encode_vl is now named sve_encode_vl
Changes from v2:
 - Remove XEN_SYSCTL_PHYSCAP_ARM_SVE_SHFT, use MASK_INSR and
   protect with ifdef XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK (Jan)
 - Use the helper function sve_arch_cap_physinfo to encode
   the VL into physinfo arch_capabilities field.
Changes from v1:
 - Use only arch_capabilities and some defines to encode SVE VL
   (Bertrand, Stefano, Jan)
Changes from RFC:
 - new patch
---
 xen/arch/arm/arm64/sve.c             | 12 ++++++++++++
 xen/arch/arm/include/asm/arm64/sve.h |  2 ++
 xen/arch/arm/sysctl.c                |  3 +++
 xen/include/public/sysctl.h          |  4 ++++
 4 files changed, 21 insertions(+)

diff --git a/xen/arch/arm/arm64/sve.c b/xen/arch/arm/arm64/sve.c
index 6416403817e3..7b5223117e1b 100644
--- a/xen/arch/arm/arm64/sve.c
+++ b/xen/arch/arm/arm64/sve.c
@@ -124,3 +124,15 @@ int __init sve_parse_dom0_param(const char *str_begin, const char *str_end)
 {
     return parse_integer("sve", str_begin, str_end, (int*)&opt_dom0_sve);
 }
+
+void sve_arch_cap_physinfo(uint32_t *arch_capabilities)
+{
+    if ( cpu_has_sve )
+    {
+        /* Vector length is divided by 128 to save some space */
+        uint32_t sve_vl = MASK_INSR(sve_encode_vl(get_sys_vl_len()),
+                                    XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
+
+        *arch_capabilities |= sve_vl;
+    }
+}
diff --git a/xen/arch/arm/include/asm/arm64/sve.h b/xen/arch/arm/include/asm/arm64/sve.h
index 69a1044c37d9..a6d0fc851f68 100644
--- a/xen/arch/arm/include/asm/arm64/sve.h
+++ b/xen/arch/arm/include/asm/arm64/sve.h
@@ -42,6 +42,7 @@ void sve_context_free(struct vcpu *v);
 void sve_save_state(struct vcpu *v);
 void sve_restore_state(struct vcpu *v);
 int sve_parse_dom0_param(const char *str_begin, const char *str_end);
+void sve_arch_cap_physinfo(uint32_t *arch_capabilities);
 
 #else /* !CONFIG_ARM64_SVE */
 
@@ -70,6 +71,7 @@ static inline int sve_context_init(struct vcpu *v)
 static inline void sve_context_free(struct vcpu *v) {}
 static inline void sve_save_state(struct vcpu *v) {}
 static inline void sve_restore_state(struct vcpu *v) {}
+static inline void sve_arch_cap_physinfo(uint32_t *arch_capabilities) {}
 
 static inline int sve_parse_dom0_param(const char *str_begin,
                                        const char *str_end)
diff --git a/xen/arch/arm/sysctl.c b/xen/arch/arm/sysctl.c
index b0a78a8b10d0..64e4d3e06a6b 100644
--- a/xen/arch/arm/sysctl.c
+++ b/xen/arch/arm/sysctl.c
@@ -11,11 +11,14 @@
 #include <xen/lib.h>
 #include <xen/errno.h>
 #include <xen/hypercall.h>
+#include <asm/arm64/sve.h>
 #include <public/sysctl.h>
 
 void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
 {
     pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
+
+    sve_arch_cap_physinfo(&pi->arch_capabilities);
 }
 
 long arch_do_sysctl(struct xen_sysctl *sysctl,
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index e8dded9fb94a..99ea3fa0740b 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -94,6 +94,10 @@ struct xen_sysctl_tbuf_op {
 /* Max XEN_SYSCTL_PHYSCAP_* constant.  Used for ABI checking. */
 #define XEN_SYSCTL_PHYSCAP_MAX XEN_SYSCTL_PHYSCAP_gnttab_v2
 
+#ifdef __aarch64__
+#define XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK  (0x1FU)
+#endif
+
 struct xen_sysctl_physinfo {
     uint32_t threads_per_core;
     uint32_t cores_per_socket;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:00:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:00:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515174.797862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgkaB-0001yc-5C; Mon, 27 Mar 2023 11:00:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515174.797862; Mon, 27 Mar 2023 11:00: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 1pgkaA-0001xP-Pb; Mon, 27 Mar 2023 11:00:10 +0000
Received: by outflank-mailman (input) for mailman id 515174;
 Mon, 27 Mar 2023 11:00: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=K09h=7T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pgka9-0007YG-Gn
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 11:00:09 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 894cee7d-cc8e-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 13:00:08 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C574E4B3;
 Mon, 27 Mar 2023 04:00:51 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 158603F663;
 Mon, 27 Mar 2023 04:00: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: 894cee7d-cc8e-11ed-85db-49a42c6b2330
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Christian Lindig <christian.lindig@cloud.com>
Subject: [PATCH v4 09/12] tools: add physinfo arch_capabilities handling for Arm
Date: Mon, 27 Mar 2023 11:59:41 +0100
Message-Id: <20230327105944.1360856-10-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230327105944.1360856-1-luca.fancellu@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

On Arm, the SVE vector length is encoded in arch_capabilities field
of struct xen_sysctl_physinfo, make use of this field in the tools
when building for arm.

Create header arm-arch-capabilities.h to handle the arch_capabilities
field of physinfo for Arm.

Removed include for xen-tools/common-macros.h in
python/xen/lowlevel/xc/xc.c because it is already included by the
arm-arch-capabilities.h header.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: George Dunlap <george.dunlap@citrix.com>
Acked-by: Christian Lindig <christian.lindig@cloud.com>
---
Changes from v3:
 - add Ack-by for the Golang bits (George)
 - add Ack-by for the OCaml tools (Christian)
 - now xen-tools/libs.h is named xen-tools/common-macros.h
 - changed commit message to explain why the header modification
   in python/xen/lowlevel/xc/xc.c
Changes from v2:
 - rename arm_arch_capabilities.h in arm-arch-capabilities.h, use
   MASK_EXTR.
 - Now arm-arch-capabilities.h needs MASK_EXTR macro, but it is
   defined in libxl_internal.h, it doesn't feel right to include
   that header so move MASK_EXTR into xen-tools/libs.h that is also
   included in libxl_internal.h
Changes from v1:
 - now SVE VL is encoded in arch_capabilities on Arm
Changes from RFC:
 - new patch
---
 tools/golang/xenlight/helpers.gen.go    |  2 ++
 tools/golang/xenlight/types.gen.go      |  1 +
 tools/include/arm-arch-capabilities.h   | 33 +++++++++++++++++++++++++
 tools/include/xen-tools/common-macros.h |  2 ++
 tools/libs/light/libxl.c                |  1 +
 tools/libs/light/libxl_internal.h       |  1 -
 tools/libs/light/libxl_types.idl        |  1 +
 tools/ocaml/libs/xc/xenctrl.ml          |  4 +--
 tools/ocaml/libs/xc/xenctrl.mli         |  4 +--
 tools/ocaml/libs/xc/xenctrl_stubs.c     |  8 +++---
 tools/python/xen/lowlevel/xc/xc.c       | 10 +++++---
 tools/xl/xl_info.c                      |  8 ++++++
 12 files changed, 61 insertions(+), 14 deletions(-)
 create mode 100644 tools/include/arm-arch-capabilities.h

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index 0a203d22321f..35397be2f9e2 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -3506,6 +3506,7 @@ x.CapVmtrace = bool(xc.cap_vmtrace)
 x.CapVpmu = bool(xc.cap_vpmu)
 x.CapGnttabV1 = bool(xc.cap_gnttab_v1)
 x.CapGnttabV2 = bool(xc.cap_gnttab_v2)
+x.ArchCapabilities = uint32(xc.arch_capabilities)
 
  return nil}
 
@@ -3540,6 +3541,7 @@ xc.cap_vmtrace = C.bool(x.CapVmtrace)
 xc.cap_vpmu = C.bool(x.CapVpmu)
 xc.cap_gnttab_v1 = C.bool(x.CapGnttabV1)
 xc.cap_gnttab_v2 = C.bool(x.CapGnttabV2)
+xc.arch_capabilities = C.uint32_t(x.ArchCapabilities)
 
  return nil
  }
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index a7c17699f80e..3d968a496744 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -1079,6 +1079,7 @@ CapVmtrace bool
 CapVpmu bool
 CapGnttabV1 bool
 CapGnttabV2 bool
+ArchCapabilities uint32
 }
 
 type Connectorinfo struct {
diff --git a/tools/include/arm-arch-capabilities.h b/tools/include/arm-arch-capabilities.h
new file mode 100644
index 000000000000..46e876651052
--- /dev/null
+++ b/tools/include/arm-arch-capabilities.h
@@ -0,0 +1,33 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2023 ARM Ltd.
+ */
+
+#ifndef ARM_ARCH_CAPABILITIES_H
+#define ARM_ARCH_CAPABILITIES_H
+
+/* Tell the Xen public headers we are a user-space tools build. */
+#ifndef __XEN_TOOLS__
+#define __XEN_TOOLS__ 1
+#endif
+
+#include <stdint.h>
+#include <xen/sysctl.h>
+
+#include <xen-tools/common-macros.h>
+
+static inline
+unsigned int arch_capabilities_arm_sve(unsigned int arch_capabilities)
+{
+#if defined(__aarch64__)
+    unsigned int sve_vl = MASK_EXTR(arch_capabilities,
+                                    XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
+
+    /* Vector length is divided by 128 before storing it in arch_capabilities */
+    return sve_vl * 128U;
+#else
+    return 0;
+#endif
+}
+
+#endif /* ARM_ARCH_CAPABILITIES_H */
diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h
index 76b55bf62085..d53b88182560 100644
--- a/tools/include/xen-tools/common-macros.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -72,6 +72,8 @@
 #define ROUNDUP(_x,_w) (((unsigned long)(_x)+(1UL<<(_w))-1) & ~((1UL<<(_w))-1))
 #endif
 
+#define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
+
 #ifndef __must_check
 #define __must_check __attribute__((__warn_unused_result__))
 #endif
diff --git a/tools/libs/light/libxl.c b/tools/libs/light/libxl.c
index a0bf7d186f69..175d6dde0b80 100644
--- a/tools/libs/light/libxl.c
+++ b/tools/libs/light/libxl.c
@@ -409,6 +409,7 @@ int libxl_get_physinfo(libxl_ctx *ctx, libxl_physinfo *physinfo)
         !!(xcphysinfo.capabilities & XEN_SYSCTL_PHYSCAP_gnttab_v1);
     physinfo->cap_gnttab_v2 =
         !!(xcphysinfo.capabilities & XEN_SYSCTL_PHYSCAP_gnttab_v2);
+    physinfo->arch_capabilities = xcphysinfo.arch_capabilities;
 
     GC_FREE;
     return 0;
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_internal.h
index 5244fde6239a..8aba3e138909 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -132,7 +132,6 @@
 
 #define DIV_ROUNDUP(n, d) (((n) + (d) - 1) / (d))
 
-#define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
 #define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
 
 #define LIBXL__LOGGING_ENABLED
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index c10292e0d7e3..fd31dacf7d5a 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -1133,6 +1133,7 @@ libxl_physinfo = Struct("physinfo", [
     ("cap_vpmu", bool),
     ("cap_gnttab_v1", bool),
     ("cap_gnttab_v2", bool),
+    ("arch_capabilities", uint32),
     ], dir=DIR_OUT)
 
 libxl_connectorinfo = Struct("connectorinfo", [
diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index e4096bf92c1d..bf23ca50bb15 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -128,12 +128,10 @@ type physinfo_cap_flag =
   | CAP_Gnttab_v1
   | CAP_Gnttab_v2
 
-type arm_physinfo_cap_flag
-
 type x86_physinfo_cap_flag
 
 type arch_physinfo_cap_flags =
-  | ARM of arm_physinfo_cap_flag list
+  | ARM of int
   | X86 of x86_physinfo_cap_flag list
 
 type physinfo =
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
index ef2254537430..ed1e28ea30a0 100644
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -113,12 +113,10 @@ type physinfo_cap_flag =
   | CAP_Gnttab_v1
   | CAP_Gnttab_v2
 
-type arm_physinfo_cap_flag
-
 type x86_physinfo_cap_flag
 
 type arch_physinfo_cap_flags =
-  | ARM of arm_physinfo_cap_flag list
+  | ARM of int
   | X86 of x86_physinfo_cap_flag list
 
 type physinfo = {
diff --git a/tools/ocaml/libs/xc/xenctrl_stubs.c b/tools/ocaml/libs/xc/xenctrl_stubs.c
index 6ec9ed6d1e6f..526a3610fa42 100644
--- a/tools/ocaml/libs/xc/xenctrl_stubs.c
+++ b/tools/ocaml/libs/xc/xenctrl_stubs.c
@@ -853,13 +853,15 @@ CAMLprim value stub_xc_physinfo(value xch_val)
 	arch_cap_list = Tag_cons;
 
 	arch_cap_flags_tag = 1; /* tag x86 */
-#else
-	caml_failwith("Unhandled architecture");
-#endif
 
 	arch_cap_flags = caml_alloc_small(1, arch_cap_flags_tag);
 	Store_field(arch_cap_flags, 0, arch_cap_list);
 	Store_field(physinfo, 10, arch_cap_flags);
+#elif defined(__aarch64__)
+	Store_field(physinfo, 10, Val_int(c_physinfo.arch_capabilities));
+#else
+	caml_failwith("Unhandled architecture");
+#endif
 
 	CAMLreturn(physinfo);
 }
diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c
index 35901c2d63b6..254d3b5dccd2 100644
--- a/tools/python/xen/lowlevel/xc/xc.c
+++ b/tools/python/xen/lowlevel/xc/xc.c
@@ -7,6 +7,7 @@
 #define PY_SSIZE_T_CLEAN
 #include <Python.h>
 #define XC_WANT_COMPAT_MAP_FOREIGN_API
+#include <arm-arch-capabilities.h>
 #include <xenctrl.h>
 #include <xenguest.h>
 #include <fcntl.h>
@@ -22,8 +23,6 @@
 #include <xen/hvm/hvm_info_table.h>
 #include <xen/hvm/params.h>
 
-#include <xen-tools/common-macros.h>
-
 /* Needed for Python versions earlier than 2.3. */
 #ifndef PyMODINIT_FUNC
 #define PyMODINIT_FUNC DL_EXPORT(void)
@@ -897,7 +896,7 @@ static PyObject *pyxc_physinfo(XcObject *self)
     if ( p != virt_caps )
       *(p-1) = '\0';
 
-    return Py_BuildValue("{s:i,s:i,s:i,s:i,s:l,s:l,s:l,s:i,s:s,s:s}",
+    return Py_BuildValue("{s:i,s:i,s:i,s:i,s:l,s:l,s:l,s:i,s:s,s:s,s:i}",
                             "nr_nodes",         pinfo.nr_nodes,
                             "threads_per_core", pinfo.threads_per_core,
                             "cores_per_socket", pinfo.cores_per_socket,
@@ -907,7 +906,10 @@ static PyObject *pyxc_physinfo(XcObject *self)
                             "scrub_memory",     pages_to_kib(pinfo.scrub_pages),
                             "cpu_khz",          pinfo.cpu_khz,
                             "hw_caps",          cpu_cap,
-                            "virt_caps",        virt_caps);
+                            "virt_caps",        virt_caps,
+                            "arm_sve_vl",
+                              arch_capabilities_arm_sve(pinfo.arch_capabilities)
+                        );
 }
 
 static PyObject *pyxc_getcpuinfo(XcObject *self, PyObject *args, PyObject *kwds)
diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
index 712b7638b013..bf18ba2449ef 100644
--- a/tools/xl/xl_info.c
+++ b/tools/xl/xl_info.c
@@ -14,6 +14,7 @@
 
 #define _GNU_SOURCE
 
+#include <arm-arch-capabilities.h>
 #include <fcntl.h>
 #include <inttypes.h>
 #include <stdlib.h>
@@ -224,6 +225,13 @@ static void output_physinfo(void)
          info.cap_gnttab_v2 ? " gnttab-v2" : ""
         );
 
+    /* Print arm SVE vector length only on ARM platforms */
+#if defined(__aarch64__)
+    maybe_printf("arm_sve_vector_length  : %u\n",
+         arch_capabilities_arm_sve(info.arch_capabilities)
+        );
+#endif
+
     vinfo = libxl_get_version_info(ctx);
     if (vinfo) {
         i = (1 << 20) / vinfo->pagesize;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:00:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:00:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515175.797874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgkaE-0002X0-1N; Mon, 27 Mar 2023 11:00:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515175.797874; Mon, 27 Mar 2023 11: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 1pgkaD-0002Vv-Ff; Mon, 27 Mar 2023 11:00:13 +0000
Received: by outflank-mailman (input) for mailman id 515175;
 Mon, 27 Mar 2023 11: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=K09h=7T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pgkaB-0007YG-8g
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 11:00:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 8abcaa65-cc8e-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 13:00:10 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 50FB71424;
 Mon, 27 Mar 2023 04:00:54 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 409183F663;
 Mon, 27 Mar 2023 04:00:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8abcaa65-cc8e-11ed-85db-49a42c6b2330
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 11/12] xen/arm: add sve property for dom0less domUs
Date: Mon, 27 Mar 2023 11:59:43 +0100
Message-Id: <20230327105944.1360856-12-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230327105944.1360856-1-luca.fancellu@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a device tree property in the dom0less domU configuration
to enable the guest to use SVE.

Update documentation.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v3:
 - Now domainconfig_encode_vl is named sve_encode_vl
Changes from v2:
 - xen_domctl_createdomain field name has changed into sve_vl
   and its value is the VL/128, use domainconfig_encode_vl
   to encode a plain VL in bits.
Changes from v1:
 - No changes
Changes from RFC:
 - Changed documentation
---
 docs/misc/arm/device-tree/booting.txt | 9 +++++++++
 xen/arch/arm/domain_build.c           | 7 +++++++
 2 files changed, 16 insertions(+)

diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt
index 3879340b5e0a..d74bf9ab1c8b 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -193,6 +193,15 @@ with the following properties:
     Optional. Handle to a xen,cpupool device tree node that identifies the
     cpupool where the guest will be started at boot.
 
+- sve
+
+    Optional. A number that, when above 0, enables SVE for this guest and sets
+    its maximum SVE vector length. The default value is 0, that means this
+    guest is not allowed to use SVE, the maximum value allowed is 2048, any
+    other value must be multiple of 128.
+    Please note that if the platform supports a lower value of bits, then the
+    domain creation will fail.
+
 - xen,enhanced
 
     A string property. Possible property values are:
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index f6019ce30149..45263aea7e95 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3974,6 +3974,13 @@ void __init create_domUs(void)
             d_cfg.max_maptrack_frames = val;
         }
 
+        if ( dt_property_read_u32(node, "sve", &val) )
+        {
+            if ( val > UINT16_MAX )
+                panic("sve property value (%"PRIu32") overflow\n", val);
+            d_cfg.arch.sve_vl = sve_encode_vl(val);
+        }
+
         /*
          * The variable max_init_domid is initialized with zero, so here it's
          * very important to use the pre-increment operator to call
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:00:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:00:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515176.797878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgkaE-0002cM-Tv; Mon, 27 Mar 2023 11:00:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515176.797878; Mon, 27 Mar 2023 11: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 1pgkaE-0002a8-5L; Mon, 27 Mar 2023 11:00:14 +0000
Received: by outflank-mailman (input) for mailman id 515176;
 Mon, 27 Mar 2023 11: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=K09h=7T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pgkaB-0007lM-LM
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 11:00:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 8a2324f0-cc8e-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 13:00:09 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 397701042;
 Mon, 27 Mar 2023 04:00:53 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CD5F43F663;
 Mon, 27 Mar 2023 04:00:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a2324f0-cc8e-11ed-b464-930f4c7d94ae
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@cloud.com>
Subject: [PATCH v4 10/12] xen/tools: add sve parameter in XL configuration
Date: Mon, 27 Mar 2023 11:59:42 +0100
Message-Id: <20230327105944.1360856-11-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230327105944.1360856-1-luca.fancellu@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add sve parameter in XL configuration to allow guests to use
SVE feature.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: George Dunlap <george.dunlap@cloud.com>
---
Changes from v3:
 - no changes
Changes from v2:
 - domain configuration field name has changed to sve_vl,
   also its value now is VL/128.
 - Add Ack-by George for the Golang bits
Changes from v1:
 - updated to use arch_capabilities field for vector length
Changes from RFC:
 - changed libxl_types.idl sve field to uint16
 - now toolstack uses info from physinfo to check against the
   sve XL value
 - Changed documentation
---
 docs/man/xl.cfg.5.pod.in             | 11 +++++++++++
 tools/golang/xenlight/helpers.gen.go |  2 ++
 tools/golang/xenlight/types.gen.go   |  1 +
 tools/include/libxl.h                |  5 +++++
 tools/libs/light/libxl_arm.c         |  2 ++
 tools/libs/light/libxl_types.idl     |  1 +
 tools/xl/xl_parse.c                  | 26 ++++++++++++++++++++++++--
 7 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 10f37990be57..adf48fe8ac1d 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -2952,6 +2952,17 @@ Currently, only the "sbsa_uart" model is supported for ARM.
 
 =back
 
+=item B<sve="NUMBER">
+
+To enable SVE, user must specify a number different from zero, maximum 2048 and
+multiple of 128. That value will be the maximum number of SVE registers bits
+that the hypervisor will impose to this guest. If the platform has a lower
+supported bits value, then the domain creation will fail.
+A value equal to zero is the default and it means this guest is not allowed to
+use SVE.
+
+=back
+
 =head3 x86
 
 =over 4
diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index 35397be2f9e2..72a3a12a6065 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1149,6 +1149,7 @@ default:
 return fmt.Errorf("invalid union key '%v'", x.Type)}
 x.ArchArm.GicVersion = GicVersion(xc.arch_arm.gic_version)
 x.ArchArm.Vuart = VuartType(xc.arch_arm.vuart)
+x.ArchArm.Sve = uint16(xc.arch_arm.sve)
 if err := x.ArchX86.MsrRelaxed.fromC(&xc.arch_x86.msr_relaxed);err != nil {
 return fmt.Errorf("converting field ArchX86.MsrRelaxed: %v", err)
 }
@@ -1653,6 +1654,7 @@ default:
 return fmt.Errorf("invalid union key '%v'", x.Type)}
 xc.arch_arm.gic_version = C.libxl_gic_version(x.ArchArm.GicVersion)
 xc.arch_arm.vuart = C.libxl_vuart_type(x.ArchArm.Vuart)
+xc.arch_arm.sve = C.uint16_t(x.ArchArm.Sve)
 if err := x.ArchX86.MsrRelaxed.toC(&xc.arch_x86.msr_relaxed); err != nil {
 return fmt.Errorf("converting field ArchX86.MsrRelaxed: %v", err)
 }
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index 3d968a496744..3dc292b5f1be 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -564,6 +564,7 @@ TypeUnion DomainBuildInfoTypeUnion
 ArchArm struct {
 GicVersion GicVersion
 Vuart VuartType
+Sve uint16
 }
 ArchX86 struct {
 MsrRelaxed Defbool
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index cfa1a191318c..9f040316ad80 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -283,6 +283,11 @@
  */
 #define LIBXL_HAVE_BUILDINFO_ARCH_ARM_TEE 1
 
+/*
+ * libxl_domain_build_info has the arch_arm.sve field.
+ */
+#define LIBXL_HAVE_BUILDINFO_ARCH_ARM_SVE 1
+
 /*
  * LIBXL_HAVE_SOFT_RESET indicates that libxl supports performing
  * 'soft reset' for domains and there is 'soft_reset' shutdown reason
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index ddc7b2a15975..16a49031fd51 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -211,6 +211,8 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         return ERROR_FAIL;
     }
 
+    config->arch.sve_vl = d_config->b_info.arch_arm.sve;
+
     return 0;
 }
 
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index fd31dacf7d5a..ef4a8358e54e 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -690,6 +690,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
 
     ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
                                ("vuart", libxl_vuart_type),
+                               ("sve", uint16),
                               ])),
     ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
                               ])),
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 1f6f47daf4e1..3cbc23b36952 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -12,6 +12,7 @@
  * GNU Lesser General Public License for more details.
  */
 
+#include <arm-arch-capabilities.h>
 #include <ctype.h>
 #include <inttypes.h>
 #include <limits.h>
@@ -1312,8 +1313,6 @@ void parse_config_data(const char *config_source,
         exit(EXIT_FAILURE);
     }
 
-    libxl_physinfo_dispose(&physinfo);
-
     config= xlu_cfg_init(stderr, config_source);
     if (!config) {
         fprintf(stderr, "Failed to allocate for configuration\n");
@@ -2887,6 +2886,29 @@ skip_usbdev:
         }
     }
 
+    if (!xlu_cfg_get_long (config, "sve", &l, 0)) {
+        unsigned int arm_sve_vl =
+            arch_capabilities_arm_sve(physinfo.arch_capabilities);
+        if (!arm_sve_vl) {
+            fprintf(stderr, "SVE is not supported by the platform\n");
+            exit(-ERROR_FAIL);
+        } else if (((l % 128) != 0) || (l > 2048)) {
+            fprintf(stderr,
+                    "Invalid sve value: %ld. Needs to be <= 2048 and multiple"
+                    " of 128\n", l);
+            exit(-ERROR_FAIL);
+        } else if (l > arm_sve_vl) {
+            fprintf(stderr,
+                    "Invalid sve value: %ld. Platform supports up to %u bits\n",
+                    l, arm_sve_vl);
+            exit(-ERROR_FAIL);
+        }
+        /* Vector length is divided by 128 in domain configuration struct */
+        b_info->arch_arm.sve = l / 128U;
+    }
+
+    libxl_physinfo_dispose(&physinfo);
+
     parse_vkb_list(config, d_config);
 
     d_config->virtios = NULL;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:00:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:00:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515177.797884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgkaG-0002qm-Oa; Mon, 27 Mar 2023 11:00:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515177.797884; Mon, 27 Mar 2023 11:00: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 1pgkaF-0002me-Or; Mon, 27 Mar 2023 11:00:15 +0000
Received: by outflank-mailman (input) for mailman id 515177;
 Mon, 27 Mar 2023 11: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=K09h=7T=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1pgkaB-0007YG-Tp
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 11:00:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 8b464a39-cc8e-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 13:00:11 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4F9954B3;
 Mon, 27 Mar 2023 04:00:55 -0700 (PDT)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.195.25])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 57DC23F663;
 Mon, 27 Mar 2023 04:00:10 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b464a39-cc8e-11ed-85db-49a42c6b2330
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: bertrand.marquis@arm.com,
	wei.chen@arm.com,
	Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v4 12/12] xen/changelog: Add SVE and "dom0" options to the changelog for Arm
Date: Mon, 27 Mar 2023 11:59:44 +0100
Message-Id: <20230327105944.1360856-13-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20230327105944.1360856-1-luca.fancellu@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Arm now can use the "dom0=" Xen command line option and the support
for guests running SVE instructions is added, put entries in the
changelog.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Change from v3:
 - new patch
---
 CHANGELOG.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index c978cfd9b68f..a24951603359 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 
 ## [unstable UNRELEASED](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=staging) - TBD
 
+### Changed
+- The "dom0" option is now supported on Arm and "sve=" sub-option can be used
+  to enable dom0 guest to use SVE/SVE2 instructions.
+
 ### Added
  - On x86, support for features new in Intel Sapphire Rapids CPUs:
    - PKS (Protection Key Supervisor) available to HVM/PVH guests.
@@ -14,6 +18,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    - Bus-lock detection, used by Xen to mitigate (by rate-limiting) the system
      wide impact of a guest misusing atomic instructions.
  - xl/libxl can customize SMBIOS strings for HVM guests.
+ - On Arm, Xen supports guests running SVE/SVE2 instructions.
 
 ## [4.17.0](https://xenbits.xen.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.17.0) - 2022-12-12
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:34:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:34:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515232.797904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgl7T-0002IR-Me; Mon, 27 Mar 2023 11:34:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515232.797904; Mon, 27 Mar 2023 11:34: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 1pgl7T-0002IK-JF; Mon, 27 Mar 2023 11:34:35 +0000
Received: by outflank-mailman (input) for mailman id 515232;
 Mon, 27 Mar 2023 11:34: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=jSZI=7T=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pgl7S-0002IE-0M
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 11:34:34 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 555000d2-cc93-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 13:34:31 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id C7A0F5C009E;
 Mon, 27 Mar 2023 07:34:27 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Mon, 27 Mar 2023 07:34:27 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 27 Mar 2023 07:34:26 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 555000d2-cc93-11ed-b464-930f4c7d94ae
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=fm2; t=
	1679916867; x=1680003267; bh=mk7NA+PQSoE7BwnVKJsqKHAv9sBNy26hfcF
	9UMVzHO0=; b=gCUROkYHAMzJvPna56/JpL6n5NETiXxIFdtPQZzaQtxcZ9F6f2f
	Mg93q95dSWnLJUluLHl2dEvrT/m9hDdS8cYxO6wcxE/+0V9eg5sDy5CJSQ80kfJ0
	kQyuqX4zNBwnG41ier+KKlKggtDI9UKnUf6rAYZCyukgBIn862WiKuC0F7U9G640
	Kvl51J/P/VcPfFtJvC8+zEBMv3VgJNzbvJcyQqbbHHTkWrTUP97FyD0AG/ZsR8C1
	j9KhlyQ2Fjfaf7xWAzpy+/iGnTzQB4m4oejfk8Bq/aEf8Lv7arTnvKc1glEt3zwM
	9kF5jD9BiCWorozbSNanv66VG0RRUexGvSw==
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=fm2; t=1679916867; x=1680003267; bh=mk7NA+PQSoE7B
	wnVKJsqKHAv9sBNy26hfcF9UMVzHO0=; b=eW61jRZ1dYpixzkJSFLxASztGuNM6
	o7TqpX/Es+Fo+SMWQajumN85VsRlXSjDFTGW9iHZDnBr66k29AXml0QHOfjfe1UL
	aPp4IuICDXopf0X3mxZOKzTF/ZHTncsV43fTiUcVilDCAyGHGWR/sv2/bN8Pxlza
	YDLIGjipXgufn1HJ7nT/2C5AsH6Y7XZdr7cl7COdkmrHHL3Chlww7Y1S3lGT6f2T
	agawBttCI4VfBDJyDfkWNVQ9q4Es5knDm18wTsneibS6pUJYBw5wBQ41KzdVaWt/
	EG1vayaYdHDNb7gJrRUUXOUSZuPopi8pcv+L4Q3lX/L3qQOIFaOOe0z0g==
X-ME-Sender: <xms:Q38hZM2aVa0-nx8hujIg_TcBTDZB8carAzgKdONFy4w6cKyrQalE4Q>
    <xme:Q38hZHEzeXlDlppFo-wLY6NSppmFiCuu6GloGJz9eLfSr39zMFXXnIiVe6K6JuggQ
    TDh0uwe8y4hrw>
X-ME-Received: <xmr:Q38hZE7FXv7JRYEBTMdDmxAeH0MIz3Qet09EkocLJeYs9Actgmoe1km-9sP_fh8lIVIVeJJwKk-61x9mAmWYbMW219QlYUanOus>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehvddggedvucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:Q38hZF2CaUAwkxHrULO64ba35H3XWgR9AR7idVVRVEmr-Za71_K_lg>
    <xmx:Q38hZPHTC0hSaVHg1RPiWcR_3qm09YvRHhwfc3_UnT0rEU9rBKJqHQ>
    <xmx:Q38hZO9fhi4rJC9XIT-o1XsL3Ml5W4r8zWsjpA_zoGOXjDD4omXb9A>
    <xmx:Q38hZHA0G6mwn8BkVZDOgXay55EFj12YeHHT42BWI1RqpbM9HHJYnA>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 27 Mar 2023 13:34:23 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/3] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model
Message-ID: <ZCF/P22HaeZs4+To@mail-itl>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <ZCFsDbKfGvn7giN+@Air-de-Roger>
 <ZCFvPTpOixe582JU@mail-itl>
 <ZCF1HX6Dp7mrm65l@Air-de-Roger>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="h0yfVA2p3aHd7WRo"
Content-Disposition: inline
In-Reply-To: <ZCF1HX6Dp7mrm65l@Air-de-Roger>


--h0yfVA2p3aHd7WRo
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 27 Mar 2023 13:34:23 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/3] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model

On Mon, Mar 27, 2023 at 12:51:09PM +0200, Roger Pau Monn=C3=A9 wrote:
> On Mon, Mar 27, 2023 at 12:26:05PM +0200, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > On Mon, Mar 27, 2023 at 12:12:29PM +0200, Roger Pau Monn=C3=A9 wrote:
> > > On Sat, Mar 25, 2023 at 03:49:22AM +0100, Marek Marczykowski-G=C3=B3r=
ecki wrote:
> > > > 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.
> > > >=20
> > > > Give all necessary information to QEMU by passing all ctrl writes,
> > > > including masking a vector. This does include forwarding also writes
> > > > that did not change the value, but as tested on both Linux (6.1.12)=
 and
> > > > Windows (10 pro), they don't do excessive writes of unchanged values
> > > > (Windows seems to clear maskbit in some cases twice, but not more).
> > >=20
> > > Since we passthrough all the accesses to the device model, is the
> > > handling in Xen still required?  It might be worth to also expose any
> > > interfaces needed to the device model so all the functionality done by
> > > the msixtbl_mmio_ops hooks could be done by QEMU, since we end up
> > > passing the accesses anyway.
> >=20
> > This was discussed on v1 already. Such QEMU would need to be able to do
> > the actual write. If it's running in stubdomain, it would hit the exact
> > issue again (page mapped R/O to it). In fact, that might be an issue for
> > dom0 too (I haven't checked).
>=20
> Oh, sorry, likely missed that discussion, as I don't recall this.
>=20
> Maybe we need an hypercall for QEMU to notify the masking/unmasking to
> Xen?  As any change on the other fields is already handled by QEMU.
>=20
> > I guess that could use my subpage RO feature I just posted then, but it
> > would still mean intercepting the write twice (not a performance issue
> > really here, but rather convoluted handling in total).
>=20
> Yes, that does seem way too convoluted.
>=20
> > > > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblet=
hingslab.com>
> > > > ---
> > > > v2:
> > > >  - passthrough quad writes to emulator too (Jan)
> > > >  - (ab)use len=3D=3D0 for write len=3D4 completion (Jan), but add d=
escriptive
> > > >    #define for this magic value
> > > >=20
> > > > This behavior change needs to be surfaced to the device model someh=
ow,
> > > > so it knows whether it can rely on it. I'm open for suggestions.
> > >=20
> > > Maybe exposed in XEN_DMOP_get_ioreq_server_info?

Make flags IN/OUT parameter (and not reuse the same bits)? Or introduce
new field?

> > >=20
> > > But I wonder whether it shouldn't be the other way arround, the device
> > > model tells Xen it doesn't need to handle any MSI-X accesses because
> > > QEMU will take care of it, likely using a new flag in
> > > XEN_DMOP_create_ioreq_server or maybe in XEN_DOMCTL_bind_pt_irq as
> > > part of the gflags, but then we would need to assert that the flag is
> > > passed for all MSI-X interrupts bound from that device to the same
> > > domain.
> >=20
> > Is is safe thing to do? I mean, doesn't Xen need to guard access to
> > MSI-X configuration to assure its safety, especially if no interrupt
> > remapping is there? It probably doesn't matter for qemu in dom0 case,
> > but both with deprivileged qemu and stubdom, it might matter.
>=20
> Right - QEMU shouldn't write directly to the MSI-X table using
> /dev/mem, but instead use an hypercall to notify Xen of the
> {un,}masking of the MSI-X table entry.  I think that would allow us to
> safely get rid of the extra logic in Xen to deal with MSI-X table
> accesses.

But the purpose of this series is to give guest (or QEMU) more write
access to the MSI-X page, not less. If it wouldn't be this Intel AX
wifi, indeed we could translate everything to hypercalls in QEMU and not
worry about special handlers in Xen at all. But unfortunately, we do
need to handle writes to the same page outside of the MSI-X structures
and QEMU can't be trusted with properly filtering them (and otherwise
given full write access to the page).=20

So, while I agree translating {un,}masking individual vectors to
hypercalls could simplify MSI-X handling in general, I don't think it
helps in this particular case. That said, such simplification would
involve:
1. Exposing the capability in Xen to the qemu
(XEN_DMOP_get_ioreq_server_info sounds reasonable).
2. QEMU notifying Xen it will handle masking too, somehow.
3. QEMU using xc_domain_update_msi_irq and XEN_DOMCTL_VMSI_X86_UNMASKED
to update Xen about the mask state too.
4. Xen no longer interpreting writes to mask bit, but still intercepting
them to passthorugh those outside of MSI-X structures (the other patch
in the series). But the handler would still need to stay, to keep
working with older QEMU versions.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--h0yfVA2p3aHd7WRo
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQhf0AACgkQ24/THMrX
1yxHAgf+KfAziPA42KvZbxh62ns1DlAJqmak/h8QUvac1Nzx0S4WGKcIfvSSHZAR
brcTRgudZWagj4VKgey4nEMVOkIAgLMQKNoRCokbtMY9dTMPQd6/63Eb+30dd8kt
N1c5AIDq2KKkBZh1R2juLAyHeRBb7oqQmb5W8TuXN1+AuKlTd/xEmxlThiAYZNRa
IwLYicV9P5NrS44ZYW722cBTIilwajFrEA3qenKGbrUUFmd6aF4FL/ynlBTJWVX7
UfcQ0in5tZoK033ACkv1c9cZXfWYy8M3yctPoFNxcoFKiT8MQ0dkRnXCqE39QrqB
dhFnAdX7a1FV3/9BsVS7UC8C2X/Y3w==
=lOGC
-----END PGP SIGNATURE-----

--h0yfVA2p3aHd7WRo--


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:34:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:34:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515233.797914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgl7c-0002Z6-0w; Mon, 27 Mar 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 515233.797914; Mon, 27 Mar 2023 11: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 1pgl7b-0002Yz-Rd; Mon, 27 Mar 2023 11:34:43 +0000
Received: by outflank-mailman (input) for mailman id 515233;
 Mon, 27 Mar 2023 11: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 1pgl7a-0002YU-Lj; Mon, 27 Mar 2023 11: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 1pgl7a-0001ra-FJ; Mon, 27 Mar 2023 11: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 1pgl7Z-0006tL-Tw; Mon, 27 Mar 2023 11:34:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgl7Z-0006DZ-TS; Mon, 27 Mar 2023 11: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=soFpQKR3T50Ve9bUJ2hcy9iouLc4nXp7WT4Rtc6SDZE=; b=oAxD27iInE44UZU2fx9aEK8tsw
	pPV0TkGc/cHMxAW3oao47oPUB9L9XFkCNX2iwSF9BwiywqYjwoYgvhPXPunybMG1Fu4ThlotyyTcx
	UwLI39dl00XX4rfKGT7iH6+QxfuzABLloDlbiZwcG4k/RdZTpYmdP6lbW1fRD0Q8sqtM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180025-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 180025: regressions - trouble: blocked/fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-install/l1:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:build-arm64-xsm:xen-build:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-saverestore:fail:allowable
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=197b6b60ae7bc51dd0814953c562833143b292aa
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Mar 2023 11:34:41 +0000

flight 180025 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180025/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 17 guest-saverestore       fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl         18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 15 xen-install/l1      fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 build-arm64-xsm               6 xen-build                fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-ovmf-amd64 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-xl-rtds     17 guest-saverestore        fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                197b6b60ae7bc51dd0814953c562833143b292aa
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   33 days
Failing since        178093  2023-02-22 05:02:47 Z   33 days   60 attempts
Testing same since   180025  2023-03-27 02:40:15 Z    0 days    1 attempts

------------------------------------------------------------
2278 people touched revisions under test,
not listing them all

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              fail    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 267308 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:46:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:46:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515243.797924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pglJG-0004ft-7J; Mon, 27 Mar 2023 11:46:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515243.797924; Mon, 27 Mar 2023 11: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 1pglJG-0004fm-4b; Mon, 27 Mar 2023 11:46:46 +0000
Received: by outflank-mailman (input) for mailman id 515243;
 Mon, 27 Mar 2023 11:46:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=ToIK=7T=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1pglJE-0004fg-65
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 11:46:44 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2061c.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 093837f3-cc95-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 13:46:41 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by MW3PR12MB4459.namprd12.prod.outlook.com (2603:10b6:303:56::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Mon, 27 Mar
 2023 11:46:34 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242%4]) with mapi id 15.20.6178.041; Mon, 27 Mar 2023
 11: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: 093837f3-cc95-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SYrcc4KMUllAcELn+/QD7zljPAHrPzbVhujWyu1ItESOhVzF3nslX7xUtZ6xkcwWedKda+Na4UWN5o/Krp+GMxN7KP6RynJycWL2R0chJCPIjhDbOEazLJ9+/h3KS29REVc/Vt6DvDR3o7LbcGyCu0rHrcDj2KWq+4uX1rLdfhjAFAGaRoGNhkh+wPvuCRoEskhY9bC2ngFl1u30tE5tlBxF3aBbLD6hYRvfPGJxD/6RAswK3U2ALHPirYErquaiGO2R390hibRbqIje8jXhNuw5OwThWA4ijP98EG+HwByCyxHYxzZLeP3quZRR2uZqdrqka85YilbFg4m8ORwD1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gyfU/V06uu5wIww2j4lvMTkkIzdb0uCI5shBZTLP7CI=;
 b=e538YS/BUjCrBi8ohhJikaBMOSr42rzy2ezk4Mfoxh5H3/ZgZrXZgmv+Z2sntv+hq/EJIvw3e8ajZ8kLID7pNzRI1cKC5f9B4k8YvTnIPmK57jc98SqKZuPILoVN0wbmJ05Sf5xAFLdJYyV8vbGPhK2Ag/HQzpFuj1zOkum2HuqsRTaoX3RD6qb3tTjDNspyuGmyhyJB8iQ1IuNMe1aSk1Bxnp9/oFh9KFZQ0astZzsfpL3/tYzA6VYXDOb/sC7ouDchMAs72K22omGF47hOy0JBNXnVewlM9s8EUSxB7X83XTm/0QvPfXhNlXw/BIEuNSr6jWyWKZzEVBS1SR3pFw==
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=gyfU/V06uu5wIww2j4lvMTkkIzdb0uCI5shBZTLP7CI=;
 b=xO1Ykg2c9jH7VGB9xxraUtlAao4OPblSP9Nq/xyct5YTrZfiEwrW0sDv8i3gj+RelP8Cql/Uw1Zde4g41XbN3exGNFIu25SHGwdjq7Z1kD09o9gTB68XsMyhDCf2qvRQm8zOF810ffRbZQWYmaib4KG22++KBO94Esp2FwqSHhA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <f8146b63-5dc5-beec-613d-d842cd225aea@amd.com>
Date: Mon, 27 Mar 2023 12:46:27 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [XEN v4 07/11] xen/arm: Introduce choice to enable 64/32 bit
 physical addressing
To: Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 rahul.singh@arm.com, xen-devel@lists.xenproject.org,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-8-ayan.kumar.halder@amd.com>
 <7d90ad7a-5daf-915c-2055-a27ca50d8581@suse.com>
 <e268e11b-8e93-c506-668b-c5c004b3aa06@amd.com>
 <1883c9a3-ad25-ac45-b1fa-d29e19b3cc14@suse.com>
 <01a800a5-1c0d-b9d4-05c7-c886b3e3009d@amd.com>
 <205658ff-e0ac-1656-2d12-099abd891fcd@suse.com>
 <ac320354-454f-f6e6-d2b6-a470b66c7ec7@xen.org>
 <d9f3ef97-1101-ac4b-57b9-be0fa19a7310@suse.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <d9f3ef97-1101-ac4b-57b9-be0fa19a7310@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0421.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18b::12) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|MW3PR12MB4459:EE_
X-MS-Office365-Filtering-Correlation-Id: f43321f3-8e43-44bf-bdf5-08db2eb8ea78
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	E/9+WFYLVeuhXKHSJI+PH1smJBYH1ay8v1PdDg0mpIdYI/s6Dn6Flklfvx1LMoaufE8txxEyOKF9lTlirbJsbKiPfvfVE1BGpTTvswzIcUX7JWix6zBCily02ZU+cDHgZWsFZGhi/kGtsrPPD/8WiMdUJT+QHaod34QN8soQrQ1FlruHHOAHDvb39hFULQOKrVHUXM9G4a7LqwutOnq7kcH49hayCY9iEWb+us5GDOxoEe+V5Iqu0fPArIombdA1Az4DbiiR6DN18H/SJxVgc/nJemLL+bQN+u31DqyWIC92cqcVqytWZ7KWYsSW2l6JA6IcWAc14lHkS+5YJ4ItRgmz2pb0CeLrmqTqFuk05k/z2Y2EM7ThIAT3astVwQhUB17F6zKHo56QwE82p5x3jtH0T4vJ1/zvme55PNpIhCsTy/ypTcJB46g9fCtrVt4XI6psresZr5LUFC+aAggL886o1cDhWq+rSO+SJfDpZ+nQ097Sg63LlhVmUsLbG56kzUvcqXGhsS0f6ofXJ+JcQ/v/c6MTlJfZYX4c6BBHjfyNVbu8Hq1JtHUvQDif4Q94q43hnefwSVaPbZcACk2uRpD/TcFl37ukE4Ijy/NSesiqRSovUAczGstumIpNYdnAY4ue16nSC8KsI8G4AEdw+vqNxx9AeiBQUMiIouQe4fA7cI/W/lIfDKSawboXpWfe
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:(13230028)(4636009)(376002)(346002)(366004)(136003)(39860400002)(396003)(451199021)(110136005)(316002)(478600001)(8936002)(5660300002)(36756003)(31696002)(38100700002)(7416002)(2906002)(4326008)(8676002)(66556008)(66476007)(66946007)(41300700001)(6666004)(186003)(6512007)(6506007)(26005)(53546011)(2616005)(83380400001)(31686004)(6486002)(966005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NlNscUg0Z0h3QmNUUm14TkVPbWVOYS9CRURyYlRaRlN2dVJoeHNRZ2wrajk1?=
 =?utf-8?B?YzBjRVJENytlUkpLSUZaalZOM3hLdVBoMk5Oa0c3MGlDT1dwVzVZSUtzMVgv?=
 =?utf-8?B?dU1Sbm1tTG8zdGkzYmhadUJtK1lReGpvVmFrNlMxcml5N3JxSUpEa0QzTkRY?=
 =?utf-8?B?enZVdXBQNHcxcXJQZTl4KzUvL1JObTFzMmV6QUl6VkI5bmNLbEdHanB1SEUz?=
 =?utf-8?B?eHVKLzFmaldJaGFWVHZYSzlRM2hsTHFCK21jMlNSQjFYMnQwbUJvZzhCQzMy?=
 =?utf-8?B?WEJEb2JOa0RFVmhhd2ZwdXpGWXBXWmRaZU5CamRTMXJsakQ0OW1HQWZUNnFh?=
 =?utf-8?B?NndySVd0SEdFQzYzaFdRT1FNWkd1RG93cW9YYjUyOEh6VU1UUTlocHcwd29F?=
 =?utf-8?B?VlJ4bFBHYS9tTE05VndBb1ppRER4U2pFUmQ3ck1YdnBIOG15MWxhOHk5TVR1?=
 =?utf-8?B?VmJrUXcrYWhRZXZxYlo0YkxranduME83T1hkczdDY0pZRzdhZU9NZ2NMdXFC?=
 =?utf-8?B?Wng4T0tiK0gvZ0doa0ZBMmU4QjRTMTUvUGZxSFdxbEI2MVRTRnZyQlBKd0pZ?=
 =?utf-8?B?akFrQ0hyWmRVeGdKQlRRZTNUN3BIeDlka09mUWVpNVJ5c1VQTStWWmVwTldk?=
 =?utf-8?B?Z2VIQVh4UFpxVzRKZElvZzJGTWhYQ29udE5qclpLNzVhOG5vQnM1QUpvbkpW?=
 =?utf-8?B?d1h0MEdVakkweTNtOVFHZU5BVEV1Y29hT2ZOdzVDMVdVTWlsTVpxU3pIOHhm?=
 =?utf-8?B?UllpVFp3L1ZCMmdZdmlLUDNXaGx1cktYRHNDY0ZyaDQ3Y0NWYWJ4NDV6eXlJ?=
 =?utf-8?B?aE0xNHphQjJ6NnBORjFreWgzUnk4dzRVaTZhN2QvOEJBaWZMWERPS1UzRWVw?=
 =?utf-8?B?RUdKRjVKZldqaXpnc1JVU3ZnUzdDU0ZteE1EWTFQeHBqcU4wUWFqL3hXZ09j?=
 =?utf-8?B?YVl6OVVHdFJsNTdtcG96dE56bzV0OFFrb01pMmw1K05teFM3STUwcnFUZUpX?=
 =?utf-8?B?WkkxYzRmcWNyQTR2Sis2bkJwWXBuZzgrV08zUVFyaTE5QjZ5R00wQ05TOWto?=
 =?utf-8?B?VGJDYm4zODFLR1g4NUE5MXBlR1FKMXN2QjNKcDJaNSszaHZzMXhjUXFKVjAz?=
 =?utf-8?B?VkVnY2JZOEw3ZUo0LzUrQml2YnVGZDI3MVFRVE5GMEh6Z1NXZFE0ZkJSbEFF?=
 =?utf-8?B?ZVpnYzN4S1VweHIzVVpQVEFHNVBtZWlKcVdVdDdIUmgxZ2FnV1dVWmszUkZm?=
 =?utf-8?B?bE9BY1U2MHY1T1JxZnUyaWpoeHZnajFhdUNBV2NPbWMwcU9UcllvOVdLSGM1?=
 =?utf-8?B?MjVjd1lIQksxQjg5L1FZRkxSZWdKelZsUHhYaEZYZVp0U1lVL04vY2VnWDV4?=
 =?utf-8?B?MnNtWmxuNlNMRE9WWmJWNU9XMjRIQVNtSng5cTQ4MVE0ZjFKTjNMYng1UE4v?=
 =?utf-8?B?NEpVZ3EwZWZodnR5M1lOUGhSSWEzbWlKdUN5RlVIYUsyY3RmQVBwMjJDMElv?=
 =?utf-8?B?Q2dZZnB6WUpLNGpDZXVVTVYzQzZJNUFpMUg2dVh4bjM4eDVPaVExV1pMemRq?=
 =?utf-8?B?ZHlKK2hMclljem0wdm8zazB4dTVtTEg4Q29WT09BOWYzNTJPYWw4UzVkUzBo?=
 =?utf-8?B?YTBibkN2SUJTbExvTkFHY0ZXajZJTmExdVIrN2pEVmVsT2NWQWFtWStuZXlR?=
 =?utf-8?B?MXAwaEhtdHlqa1BhalRrU0M3MU53OWcrcVFyTExWZFgwTWhybmpkdWdMMW5Y?=
 =?utf-8?B?eG5pSXQyT2hEbFRKQmI5ckhVTkpoeWluSUFMWVFCTUp6UURZelF2QS9UTTZx?=
 =?utf-8?B?SGRLa1BIMUJnTVhLYUhLank2MzRmQnFzT2ZZdkhzNlpmRWdPZVZ3eGRIbldO?=
 =?utf-8?B?V3NreW1qeTcrbzhRcDd5djBVaVArVG1uc05EV2pHTVN4Rk5JcW15VXkrbXRZ?=
 =?utf-8?B?dlp4am1hYkFMNjg2YklYS3YxMlZvSnVFSkt0Yk1HNXRGYjRNb1BtWmRCR2oz?=
 =?utf-8?B?eGpmNHdvS2Z5TlpwbVlESG1IaGE3a3NIMUE0bXhJZldTS2ZKYzVpSXFQazhl?=
 =?utf-8?B?dmNFaHArNFNiNnRiNlA3QTJzeEpMKzI4ZTZoa1hHb2gwSkhWaU9taTgvTHB3?=
 =?utf-8?Q?gyUY4GvznwYvxOQnLZbi9a/bk?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f43321f3-8e43-44bf-bdf5-08db2eb8ea78
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 11:46:34.7886
 (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: u+12A3FDCjLgJ7Ud/0+aQzgQ2xvTauxhbvqiadb9xYN0FwOyVB62fqGf5MibJxINof71zWZ7P0Vyw02vPqsgJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4459

Hi Jan, Julien,

On 22/03/2023 13:53, Jan Beulich wrote:
> On 22.03.2023 14:29, Julien Grall wrote:
>> On 22/03/2023 06:59, Jan Beulich wrote:
>>> On 21.03.2023 19:33, Ayan Kumar Halder wrote:
>>>> On 21/03/2023 16:53, Jan Beulich wrote:
>>>>> On 21.03.2023 17:15, Ayan Kumar Halder wrote:
>>>>>> On 21/03/2023 14:22, Jan Beulich wrote:
>>>>>>> (Using "unsigned long" for a 32-bit paddr_t is of
>>>>>>> course suspicious as well - this ought to be uint32_t.)
>>>>>> The problem with using uint32_t for paddr_t is that there are instances
>>>>>> where the paddr_t is modified with PAGE_MASK or PAGE_ALIGN.
>>>>>>
>>>>>> For eg , handle_passthrough_prop()
>>>>>>
>>>>>>                 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);
>>>>>>
>>>>>> And in xen/include/xen/page-size.h,
>>>>>>
>>>>>> #define PAGE_SIZE           (_AC(1,L) << PAGE_SHIFT)
>>>>>> #define PAGE_MASK           (~(PAGE_SIZE-1))
>>>>>>
>>>>>> Thus, the resulting types are unsigned long. This cannot be printed
>>>>>> using %u for PRIpaddr.
>>>>> Is there anything wrong with making PAGE_SIZE expand to (1 << PAGE_SHIFT)
>>>>> when physical addresses are only 32 bits wide?
>>>> I don't have a strong objection except that this is similar to what
>>>> linux is doing today.
>>>>
>>>> https://elixir.bootlin.com/linux/latest/source/arch/arm/include/asm/page.h#L12
>>>>
>>>>>> I remember some discussion (or comment) that the physical addresses
>>>>>> should be represented using 'unsigned long'.
>>>>> A reference would be helpful.
>>>> https://lists.xenproject.org/archives/html/xen-devel/2023-02/msg00305.html
>>> I see. I guess this will be okay as long as only 32-bit arches elect to
>>> use 32-bit physical addresses. Maybe there should be a BUILD_BUG_ON()
>>> somewhere, accompanied by a suitable comment?
>> Hmmm... We definitely have 40-bits physical address space on Arm32. In
>> fact, my suggestion was not to define paddr_t as unsigned long for
>> everyone but only when PHYS_ADDR_T_32 is selected (AFAICT this is what
>> is done in this patch).
>>
>> This is to avoid having to add cast everywhere we are using PAGE_* on
>> paddr_t and print it.
>>
>> That said, I realize this means that for 64-bit, we would still use
>> 64-bit integer. I view it as a less a problem (at least on Arm) because
>> registers are always 64-bit. I am open to other suggestion.
> It simply struck me as odd to use a 64-bit type for something that was
> explicitly said is only going to be 32 bits wide. I would therefore
> prefer if we could limit 32-bit paddr_t to 32-bit architectures for
> now, as expressed before when asking for a respective BUILD_BUG_ON().
> Especially if, as intended, the type definition moves to xen/types.h
> (and hence isn't Arm-specific anymore).
>
> Jan

Please have a look at the below patch and let me know your thoughts. 
This patch now :-

1. Removes the config "PHYS_ADDR_T_64".  So when PHYS_ADDR_T_32 is not 
selected, it means that physical addresses are to be denoted by 64 bits.

2. Added a BUILD_BUG_ON() to check that paddr_t is exactly 32-bit wide 
when CONFIG_PHYS_ADDR_T_32 is selected. As 32-bit Arm architecture 
(Arm_32) can support 40 bits PA with LPAE, thus we cannot always use 
32-bit paddr_t.

3. For Jan's concern that the changes to 
xen/arch/arm/include/asm/types.h will complicate movement to common 
header, I think we will need to use CONFIG_PHYS_ADDR_T_32 to define 
types for 32-bit physical addresses.

I am open to any alternative suggestions that you propose.


commit 3a61721a5169072b4aa3bbd0df38de5e69a5abc1
Author: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Date:   Wed Feb 8 12:05:26 2023 +0000

     xen/arm: Introduce choice to enable 64/32 bit physical addressing

     Some Arm based hardware platforms which does not support LPAE
     (eg Cortex-R52), uses 32 bit physical addresses.
     Also, users may choose to use 32 bits to represent physical addresses
     for optimization.

     To support the above use cases, we have introduced arch independent
     configs to choose if the physical address can be represented using
     32 bits (PHYS_ADDR_T_32) or 64 bits (!PHYS_ADDR_T_32).
     For now only ARM_32 provides support to enable 32 bit physical
     addressing.

     When PHYS_ADDR_T_32 is defined, PADDR_BITS is set to 32.
     When PHYS_ADDR_T_32 is not defined for ARM_32, PADDR_BITS is set to 40.
     When PHYS_ADDR_T_32 is not defined for ARM_64, PADDR_BITS is set to 48.
     The last two are same as the current configuration used today on Xen.

     PADDR_BITS is also set to 48 when ARM_64 is defined. The reason being
     the choice to select ARM_PA_BITS_32/ARM_PA_BITS_40/ARM_PA_BITS_48 is
     currently allowed when ARM_32 is defined.

     Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
index 7028f7b74f..67ba38f32f 100644
--- a/xen/arch/Kconfig
+++ b/xen/arch/Kconfig
@@ -1,6 +1,9 @@
  config 64BIT
     bool

+config PHYS_ADDR_T_32
+   bool
+
  config NR_CPUS
     int "Maximum number of CPUs"
     range 1 4095
diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 239d3aed3c..e6dadeb8b1 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -19,13 +19,46 @@ config ARM
     select HAS_PMAP
     select IOMMU_FORCE_PT_SHARE

+menu "Architecture Features"
+
+choice
+   prompt "Physical address space size" if ARM_32
+   default ARM_PA_BITS_48 if ARM_64
+   default ARM_PA_BITS_40 if ARM_32
+   help
+     User can choose to represent the width of physical address. This can
+     sometimes help in optimizing the size of image when user chooses a
+     smaller size to represent physical address.
+
+config ARM_PA_BITS_32
+   bool "32-bit"
+   help
+     On platforms where any physical address can be represented within 
32 bits
+     , user should choose this option. This will help is reduced size 
of the
+     binary.
+   select PHYS_ADDR_T_32
+   depends on ARM_32
+
+config ARM_PA_BITS_40
+   bool "40-bit"
+   depends on ARM_32
+
+config ARM_PA_BITS_48
+   bool "40-bit"
+   depends on ARM_48
+endchoice
+
+config PADDR_BITS
+   int
+   default 32 if ARM_PA_BITS_32
+   default 40 if ARM_PA_BITS_40
+   default 48 if ARM_PA_BITS_48 || ARM_64
+
  config ARCH_DEFCONFIG
     string
     default "arch/arm/configs/arm32_defconfig" if ARM_32
     default "arch/arm/configs/arm64_defconfig" if ARM_64

-menu "Architecture Features"
-
  source "arch/Kconfig"

  config ACPI
diff --git a/xen/arch/arm/include/asm/page-bits.h 
b/xen/arch/arm/include/asm/page-bits.h
index 5d6477e599..deb381ceeb 100644
--- a/xen/arch/arm/include/asm/page-bits.h
+++ b/xen/arch/arm/include/asm/page-bits.h
@@ -3,10 +3,6 @@

  #define PAGE_SHIFT              12

-#ifdef CONFIG_ARM_64
-#define PADDR_BITS              48
-#else
-#define PADDR_BITS              40
-#endif
+#define PADDR_BITS              CONFIG_PADDR_BITS

  #endif /* __ARM_PAGE_SHIFT_H__ */
diff --git a/xen/arch/arm/include/asm/types.h 
b/xen/arch/arm/include/asm/types.h
index e218ed77bd..e3cfbbb060 100644
--- a/xen/arch/arm/include/asm/types.h
+++ b/xen/arch/arm/include/asm/types.h
@@ -34,9 +34,15 @@ typedef signed long long s64;
  typedef unsigned long long u64;
  typedef u32 vaddr_t;
  #define PRIvaddr PRIx32
+#if defined(CONFIG_PHYS_ADDR_T_32)
+typedef unsigned long paddr_t;
+#define INVALID_PADDR (~0UL)
+#define PRIpaddr "08lx"
+#else
  typedef u64 paddr_t;
  #define INVALID_PADDR (~0ULL)
  #define PRIpaddr "016llx"
+#endif
  typedef u32 register_t;
  #define PRIregister "08x"
  #elif defined (CONFIG_ARM_64)
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index b99806af99..6dc37be97e 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -690,6 +690,11 @@ void __init setup_frametable_mappings(paddr_t ps, 
paddr_t pe)
      const unsigned long mapping_size = frametable_size < MB(32) ? 
MB(2) : MB(32);
      int rc;

+   /* Check that paddr_t is exactly 32 bits when CONFIG_PHYS_ADDR_T_32 
is defined */

+   #ifdef  CONFIG_PHYS_ADDR_T_32

+   BUILD_BUG_ON((sizeof(paddr_t) * 8) != 32);

+  #endif

+    /*
+     * The size of paddr_t should be sufficient for the complete range of
+     * physical address.
+     */
+    BUILD_BUG_ON((sizeof(paddr_t) * 8) < PADDR_BITS);
      BUILD_BUG_ON(sizeof(struct page_info) != PAGE_INFO_SIZE);

      if ( frametable_size > FRAMETABLE_SIZE )

- Ayan



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 11:57:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 11:57:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515246.797935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pglT9-0006Jv-7j; Mon, 27 Mar 2023 11:56:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515246.797935; Mon, 27 Mar 2023 11:56: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 1pglT9-0006Jo-1s; Mon, 27 Mar 2023 11:56:59 +0000
Received: by outflank-mailman (input) for mailman id 515246;
 Mon, 27 Mar 2023 11:56: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 1pglT8-0006Je-Cb; Mon, 27 Mar 2023 11:56: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 1pglT8-0002SK-Aa; Mon, 27 Mar 2023 11:56: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 1pglT7-0007Pm-Sf; Mon, 27 Mar 2023 11:56:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pglT7-0004F0-SC; Mon, 27 Mar 2023 11:56: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=xnERLzi10Gtn3KOu/MyjNyM7ppMfC8mH40eD60LpXHc=; b=deYctZyvlCNFZMKnSGG1uJwiWR
	EvPeHCaAHGSFuJZvmpaSGkIS6ic6XkOKVkPsgo0dU4LMnG0T7CvciNRjTIuf22+SDQfMagc1yW3+J
	yVsoDvLbMEQC1cUOeIwloVyLXAhLy0JfR9ZAtTwLYe5yC5eww+yLhelGaWOKEx/uRF/o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180028-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180028: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=2bc854588309b6a9b348655297f3f82165de23a7
X-Osstest-Versions-That:
    ovmf=d55d73152ebf5c793b645d6ec5bc517d219881cd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Mar 2023 11:56:57 +0000

flight 180028 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180028/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 2bc854588309b6a9b348655297f3f82165de23a7
baseline version:
 ovmf                 d55d73152ebf5c793b645d6ec5bc517d219881cd

Last test of basis   180027  2023-03-27 07:42:12 Z    0 days
Testing same since   180028  2023-03-27 09:42:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dun Tan <dun.tan@intel.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Ray Ni <ray.ni@intel.com>
  Zhiguang Liu <zhiguang.liu@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          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
   d55d73152e..2bc8545883  2bc854588309b6a9b348655297f3f82165de23a7 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 13:30:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 13:30:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515264.797944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgmvA-00082r-3h; Mon, 27 Mar 2023 13:30:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515264.797944; Mon, 27 Mar 2023 13:30:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgmvA-00082k-0w; Mon, 27 Mar 2023 13:30:00 +0000
Received: by outflank-mailman (input) for mailman id 515264;
 Mon, 27 Mar 2023 13: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=jQtV=7T=tibco.com=sdyasli@srs-se1.protection.inumbo.net>)
 id 1pgmv9-00082e-5d
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 13:29:59 +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 76e25d97-cca3-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 15:29:57 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id w9so36305082edc.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Mar 2023 06:29:56 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76e25d97-cca3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1679923796;
        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=G2IWQeuNpYqwe5hUtmOdOz1mQfQsXHH0YFrd1VLuxSI=;
        b=YcGlnE9ZXqIIqqs0xXblIU9r6f0pzL09TvIfP33q8DV8NW8mGQJ8mR+5Xfp90cnVud
         wLjRr1PKbJwQb9YJXdcl73MBAevzTni1kFyIp5YLs7z6Peb8OIYwng6HCJ8Fj/N9l3EU
         xZheA/FkR89aIKkvHnrlZ8tHQK84bhWUPM/y4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679923796;
        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=G2IWQeuNpYqwe5hUtmOdOz1mQfQsXHH0YFrd1VLuxSI=;
        b=Xln/k4RM6mciU+h+9duLCG0Gdz7xvFlcYYuGEa5X2/jYkh1lGBnSXMvkDeIMfEymDT
         RLWkugPil+Z8DZDle/htA2b5cDiadqgPVbPXexbR66a7qfL8I2CV8JUoCx54CUPZj9xa
         nUXu8dKnIzf6yF/5WkS5AtFTgANenOcdmUXqoUHUORCBWA8i1fVmtyQEbc4z0mzqvsYr
         KQ4KtOHrsYHtKjPsU0eTRIXONiF7huwBi6XbZ0XGqd57G+10ReRE6Gu2t5+eyIv69M7n
         baskozFHV09K1D4DYaVTzH5QgEe1DXbXJ/O0M6tTKKN2OBr4+TQoCePgk3r9VGeHvmQW
         7kTw==
X-Gm-Message-State: AO0yUKUzGgTHYsmPvmUZIv0xzA6OxoSddQv7NKJr0hXRWMf0ARjpaI1J
	3P0iJC8MFKcOSp36pO9on1EPQVVph6UeX8Pn2sk6GQ==
X-Google-Smtp-Source: AK7set85LZGxIFp/2Fg9B5pHIq+E9otKW6+T3IL6w518xuYM0ViVCHkYiabkAhYbEr6f3+dRf3P7iSBQZ5kZZDrRLW0=
X-Received: by 2002:a17:906:ca41:b0:939:a51a:dc30 with SMTP id
 jx1-20020a170906ca4100b00939a51adc30mr9681659ejb.2.1679923796342; Mon, 27 Mar
 2023 06:29:56 -0700 (PDT)
MIME-Version: 1.0
References: <20230324214430.3277862-1-andrew.cooper3@citrix.com>
In-Reply-To: <20230324214430.3277862-1-andrew.cooper3@citrix.com>
From: Sergey Dyasli <sergey.dyasli@cloud.com>
Date: Mon, 27 Mar 2023 14:29:45 +0100
Message-ID: <CAPRVcucwjNCiHnioRHN_Rv7k5E3LOwU7N77Kj1NTb_MBmqux0w@mail.gmail.com>
Subject: Re: [PATCH] x86/ucode: Fix error paths control_thread_fn()
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>, 
	Sergey Dyasli <sergey.dyasli@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Mar 24, 2023 at 9:44=E2=80=AFPM Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:
>
> These two early exits skipped re-enabling the watchdog, and restoring the=
 NMI
> callback.  Always execute the tail of the function on the way out.
>
> Fixes: 8dd4dfa92d62 ("x86/microcode: Synchronize late microcode loading")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Sergey Dyasli <sergey.dyasli@citrix.com>

Thanks,
Sergey


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 13:30:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 13:30:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515265.797954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgmvP-0000jG-BB; Mon, 27 Mar 2023 13:30:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515265.797954; Mon, 27 Mar 2023 13: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 1pgmvP-0000j7-8Q; Mon, 27 Mar 2023 13:30:15 +0000
Received: by outflank-mailman (input) for mailman id 515265;
 Mon, 27 Mar 2023 13: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=d31z=7T=citrix.com=prvs=4435eb1af=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pgmvN-00082e-SM
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 13:30:14 +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 7f28987a-cca3-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 15:30:12 +0200 (CEST)
Received: from mail-bn8nam12lp2175.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 27 Mar 2023 09:30:05 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by MW4PR03MB6441.namprd03.prod.outlook.com (2603:10b6:303:120::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.41; Mon, 27 Mar
 2023 13:30:03 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Mon, 27 Mar 2023
 13:30:02 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f28987a-cca3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679923812;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=nVU8lbQ4eETD4LbwgxB7CidC+aE3jVZBc1x7oggwZn8=;
  b=Efzbg2ad6E8hzGQt2fy6BydevoyKFCMd2ybl+Cb56RK0REk7ZGf80WrV
   fTsK/T5qIubPINspxs6KZoImBqIIr+Ok7wvEXxgaJHVKESuQTQZYhl3jK
   MNIHiPzuwIRyu95nGLgogq6jlr/hnnGQhuZeNpgT9iBMuyj/kQjxP6bYY
   I=;
X-IronPort-RemoteIP: 104.47.55.175
X-IronPort-MID: 102351246
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:wQzXQ64IQJ9CQe/6/mkCWQxRtOXGchMFZxGqfqrLsTDasY5as4F+v
 moZUGqDOvaDMWf0edtxb9yw80wPupPSz9Q3SgZtqnpnHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasR4weH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5mp
 OBEcxwEXy25g7zukZOBU7ljrf4HFZy+VG8fkikIITDxK98DGMqGaYOaoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUooj+WF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eWxXmgBdtISOPQGvhC2A2B/lMsVwcqf16h5secrhOjA4J4N
 BlBksYphe1onKCxdfH4Vge9qWSJvTYdXcRRCOww7AyRyqvS7B2dD2JCRTlEAPQ2uclzSTE02
 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9BW0LYyMeXBYGy9bmqYA3yBnIS75LEqS4k9n0EjHY2
 C2RoW41gLB7pdEP/7W2+xbAmT3Em3TSZgs85wGSVGT16Ap8PdShf9bxtgWd6utcJoGESFXHp
 GIDh8WV8OEJC9eKiTCJR+IOWrqu4p5pLQHhvLKmJLF5nxzFxpJpVdo4DO1WTKuxDvs5RA==
IronPort-HdrOrdr: A9a23:aQbP9KGX7w+jS+oGpLqEwMeALOsnbusQ8zAX/mt6Q3VuA7elfg
 6V7Y0mPH7P+U4ssRQb8+xoV5PwJE80maQFg7X5eI3SPzUO21HIEGgB1/qH/9SIIUSXndK1l5
 0BT0EUMqyWMbEVt7ed3OB6KbodKRu8nZxASd2w856ld29XV50=
X-IronPort-AV: E=Sophos;i="5.98,294,1673931600"; 
   d="scan'208";a="102351246"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bZgxtSlE3tcufTxMb+Rzh/k88ETsmiMCX49AjQz47iup6XFIVqN6ivmfiKzWsqeFfUZd78aK6EURTzQSz4cRprovUu5JE1XaMXYgHvROO9NF5IbtOGtIbx7k+G9g6wgt/ullmf8TCIvX/ZQwvoVjzuEWiDomnoPMokpty3SDrQEnXaqmhlkU1WfmQH2m0iUSwTxXvnbGOONB2kQLbpRpHDfKE1qPr+lGvennYUMge9mkQcziZka3YoD1GLlw6qNwN/9DARcBAc+alM/ZlcRbF8q9HyI1jq/fIEn2ahn5ObygcsyR7pSKPBNa8aBgqokY68XAzWPH7g2HB+gxYBxKXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ND637UJlccBHSdYxpX0jSr37tgN69Fg9Q3DFQKGFO1E=;
 b=BC5TWEpwsxXleVs3+S48kVQ044piw4vWBXpFZflquh8jg34GUs+L+DrtVTr3RnaSpfKbkttNuYoVwTckDdb/w995KPjwwgfmrujdxwAMM0fAW4l64r9HOmjMRTI6UtkMrxz1NUGB1tIz0buQfM5MGzPXKpC59/lBJBnOmzomBjQuJGHzhwyv7GF+NOr5XcP9xA5B3L0dQmwp1YbqUYwh2UtUVZsV3Cd5gezkLLxrBDaR1LdivfAL262GW0QyaZXDNLcPEWiVVku/mJH3CCarS+OygzLcRmpMwXplc/rA6NQaCo67UVZ8QrYxkSvWO7il6PP1pdKfYgyPq8xKr/RMgA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ND637UJlccBHSdYxpX0jSr37tgN69Fg9Q3DFQKGFO1E=;
 b=Aknm/tpIocRu1FI29p6ayhH2ZxyfPgNPE7pco7n4KUqvhJSTWdi5UpnCgsEMFf/kzzw6+JdPuyl8If5tHhxoLJ5SEjBXyoIF27jKU7k5KbF+PMIqXDEyq1mbXxgufho2BQOEL+WgwY+wBTyqUm/kzHE7O/X410KxJvj5CtICay8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 27 Mar 2023 15:29:55 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/3] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model
Message-ID: <ZCGaU1sM/z3wJzJF@Air-de-Roger>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <ZCFsDbKfGvn7giN+@Air-de-Roger>
 <ZCFvPTpOixe582JU@mail-itl>
 <ZCF1HX6Dp7mrm65l@Air-de-Roger>
 <ZCF/P22HaeZs4+To@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZCF/P22HaeZs4+To@mail-itl>
X-ClientProxiedBy: LO4P123CA0369.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18e::14) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|MW4PR03MB6441:EE_
X-MS-Office365-Filtering-Correlation-Id: bddd2cbf-e882-4bb6-9686-08db2ec75e9f
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	H98yjVI1JfvxW1kHKiDLBaKqKR6tCpVNwWCrWFI+9ulNLzZuRdgFUXjC8OAcxK33qx7v4HiYcZ7cDVAosunLTrPvrJqEcpEVsabtRbjBLZBkZp4sOPjLHwqCRT2GyDfdHeNZhdXN7ZX/uhEBjOUTWeU8Hx9bHFiLjJbgTuUeWtblK00bb43okix7nWoLTT/ttol7xVqhJuagVknzAUWEzBhMgZOQkU2vYdv+9ntl2dZ62/5apAah8w5pUQ8qpm+cPpmoDO5iJzopyqJ8bvQY9ggOtuEDx9irDcM2VtC4SSfqvgsLDxuNCPJgrcOM9NOdD4wCPIhMfk+BR6qju56pcQ7PSFUghckhP0hG5JciuO+j4RthD5BBblTVMjxAChi1nHpd2iErKC4/CnUYKPgbN646GbX0Jl12VYx2PdyUjIbV7QHcBCzISSFIn8shUD+hw+xsVLzB0qhEZkTpaC3KZLvOMSWW8ACD0pTZLU2ig7rMBucngNt6Hd1DncA80pfepTHbs9LrwJ9jCg8RYUkDk+qacDDn0Ck74jwW/x+uBLna73Xr2yafjQ1hR38K8VKA
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(136003)(39860400002)(376002)(366004)(396003)(346002)(451199021)(5660300002)(316002)(8676002)(6916009)(4326008)(6666004)(8936002)(6512007)(6506007)(9686003)(83380400001)(38100700002)(26005)(41300700001)(82960400001)(66899021)(2906002)(33716001)(85182001)(66946007)(66556008)(66476007)(54906003)(6486002)(478600001)(66574015)(86362001)(186003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1pBbnBGUG5BS1Znd2xBTkRRUzdtN0VVS09pMVZDdUNvN29uY1FXVTNxVVJr?=
 =?utf-8?B?Q2dOem53UUhiamxUNXZMb1FJZlRqTFhoTGNJK25wUlBCbTdybzJCNlkzMFVw?=
 =?utf-8?B?RE4xRUtoL0RBYlVqNG5HUUltb0tKenJOdTlYdGZ6TnhYOWI0ZGp0cUI5T3Jo?=
 =?utf-8?B?aFFrOXlGT3AyTEwvLzFCOUlDQytsbHBFVktGaitoRWk3ZGhncjVvaGd2S0lJ?=
 =?utf-8?B?YmJCVWluNFJvVUQ0NGoxWno2dzBJYlpzdHZLQ1FVY0JJSTM4MWRtenJacWpr?=
 =?utf-8?B?NHg1bDFsNUJnbDg5M0VMZzJYbmo3MHU5NHVjcmdVcUJQMExLWmw3NmtRM1hK?=
 =?utf-8?B?ejBkeUJYY3M5dHlmOGY5WWMyYTg2TGQ5aTJhZko5N1I4WXpIOUVEWXlLZCt3?=
 =?utf-8?B?RXhVM0ZpRTBkWFQ2TmJzd2RzU0I2YmRsS0lHRzhxc3lFZTNFcFAya3Q3OU13?=
 =?utf-8?B?dDFRR1FVQVh3bUVuYjd4bnNESVUwdVJOdGYxWmloQkZNeExPZDE5Yjgya3BL?=
 =?utf-8?B?TWJqRnpXMGpMV29IWjVGd09lcnQyQlIvZlhwV2R3RDJjT0dGS3M3Z3NEeHFJ?=
 =?utf-8?B?b1pMVU5QVW8yTzBZZnZwMUsvaVVmTjh3ZG5VU1BBUzVGRXRKNVVnUmRjbUNj?=
 =?utf-8?B?aEE1MFRBY2ZqaytWa003OUkyRkl1c2t1eFlTQXF2TkNTc0NuQmJZKy9BaHlY?=
 =?utf-8?B?aHRtYnNvQ3FZV0VXK2FPY2gzaHM3ejk5T1BuQm1zTW4vT2xKRTZ4ZkF1MjRz?=
 =?utf-8?B?OGErWkd5U3U0azZ2OEthS2Nvam53SUpmU1JXUENLSWs1cjh5ak95VlFwSUtG?=
 =?utf-8?B?RHMrQmRDODRwWXNZTmVncDQrY3hpY1JkbjlyUUtJSEFxYVNQNzQrbFJ6VWF4?=
 =?utf-8?B?WVFmSFdiOFQrNThBZDVEaisyNEM2NFF1dzVReXVWWXNNRnVJY21UTG1QbUd3?=
 =?utf-8?B?L3EyazZRdDBPWCsvRUlOOGlHU2tFQ3R4UG9EZ0J4eUsxQVBxQ3dWRGZ5VW1x?=
 =?utf-8?B?dTZQNDZ5SWYyVVU5ZWRmcndidElUNHpIK05vMkd3UlUvUkNkMHJRUHpOdXla?=
 =?utf-8?B?YTZYRHA4S013dXpidHNhNzVsUUZVTVhDTWdEZ0E0M3crNTNhcVhOSFRsNm05?=
 =?utf-8?B?akQzeVc4UlF6bCtpa0dqdGkrQ2w4a0JvalBVRFc3dmtXZWZIY05TUjNuemZV?=
 =?utf-8?B?UHpBNm5DQkNENjVNQ2hlTTZZSlhTS01GaGUyZ053aVdHZzlhVCtzWXRLeHVi?=
 =?utf-8?B?MHljMjBNRnVoUHpOQ1FTeUZiOHhIeFJVTWltejI5eWhVQ01MS3dWNUlqM0d2?=
 =?utf-8?B?ckFQWWVvSnN3cmRoQ3l3STJ5aWFyVU9ORHpZSjBMVDM5K2RST2xNSXBFV01S?=
 =?utf-8?B?SnFydjYxNFBIeUxFeGlSOVVuUUgwZDNib1VoM3ZVeCt0R1pQbXJobmJQcmhO?=
 =?utf-8?B?SzJmRTVHNmlIV3JYT2ZTdWRtTkIzTFlHNk9ib2IwUm8rRzhqdVJoMDMvSzJi?=
 =?utf-8?B?VzhtTjZ0Y2lFUFhPV0NQODBqSnVva1BVdHdiZGw5Y0ZBdFJtUEhVQ3UwS1dq?=
 =?utf-8?B?Qm8vVnNadkJPYTZ2MHBrUjdJbDZnNVZOcUlPVUtCeCtoSk5xaDRjLzh4YTFz?=
 =?utf-8?B?R3JVZFJmZ09OelE0cnhEVElqTzg5Qy9MMkV5V21LaWlsci9MNlNwVzBUMVla?=
 =?utf-8?B?dURZWnhvdXJQcVo5MjZ5WkIydllST1RXWE5MT0FhTnY2NXN0OS9abHBBQlBO?=
 =?utf-8?B?Rzd6eTUrR0tMSWJXaVVmWDJLOElSMHJpS1o1WjVEeExLd3hDam12TGJCTVBj?=
 =?utf-8?B?N3NnVWpXS3RxTzJCUjN1ZVd1a251aGhmajBHS2JuNC9GL0NsU0IrS3BHYWhW?=
 =?utf-8?B?WTl6bGgvdEg0NGMxLzJCRW92ZVhsYUo3YWtuT2FSNU45a29QUWZqT1pwU2Fa?=
 =?utf-8?B?NjE5dFhPenZINE9jcEtMQkdlVzYycUE1bEVlMzhIRUVSK3hyQTh0NkdwSlk5?=
 =?utf-8?B?TlFUa2o3THIwd2p3QUNzSnVVNDkyemRuTE5TM2d5ZEV3SXpFM2JXV0dqZDFJ?=
 =?utf-8?B?eUlFR3lud1Zhb1NlTHUwZEc1OEl5WGRWczh2VDZzdGRjM044NWlEUkNBbVhX?=
 =?utf-8?Q?BYmhkPYjIO6FSTsTF2fWzKyBE?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	C0LZM5j1k4QS2YkhhtawGLpVqdcm8fYOyMEdvQwaY821cAH9MVlHghBhQPEm9CJVAIVtiMJQzg3E9zo4RmXV4lmXsfDHB7fhIho0n730lOpVMm7e14NmQUU5ME2Zp67d5XtOaAUN4UlQOd+Ucg57T2u8cb3/kbggrPUDjs2WUG7feIAH8TxfAgJDW6qt84IdU3RLaDXVLADUyNNakt1dCzfEfQLlfkP22/rsp+zWsWUh5GQRSN4zGFfcuPY/kIYEiwMSIai/mx1Ux2K6lABxEU/HZkfoHzgrsZ6+u5RMOY03FSRSwdTk9zpSizVlAHRORi5aZDBF3hKIiEk3j9CvQxv0P8aFGEs2a9wpyBfy022hFehgIrPOIlrtofrT4+1GnVJF/G4v6DIP4hyaWh7sUOyoLD89PIl8GtBKfoqlWOX85PapWVVzz8oo2bD370S9YGkuPEESnKa+KNDsgMHrj0YkqH8KV7yj/Jw5jqvMI7BmnlyWfHV1ZKODInNVcB6poUiHvT6sU5sRxusODycub/8kymXwirb5VKt4xdVAp1Js+PRmBR8GsRfTvDPqjcyXBgC2MLdf9MQ2hoYYxJ21JZ+BjAsoMd7+p/rfoSEWbSnmPppYd+V+DTVp6qAhbajYfWAxn4+E0+wkN25ioNAlki/Ig/4i5SVLRH7qcyyViEGblakca27xqkg60J2UrY2AfMvFOoggg0UCkEAd+RNW1s4j/yMDsqLUbiKVGHknDnUTh7Nwdys40Bxal+hOBDC6v0/2BbhEwbvb3s5hd+2nRPEW50NU428kPyaIH/OJWI/E3drkuN+FcIAEq3rNNFcMK+oaPIOJupycgcU35QymBrXkd9C2UxnpSdTEntLpwzeJGDSdEEJSfY5C5RDmDqDTmki1XXk/ao2JFwnTBXC+ROjLSBGRD8B/qUMzy8Mc5EI=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bddd2cbf-e882-4bb6-9686-08db2ec75e9f
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 13:30:02.7536
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mO40bVMm0Um2NBhw84LyaBKRqrNzcqqQi6NMoAFoZXJfF9gWJdEKgboHFFOPQogmIqa9QmYD4lSm31T4OEm93w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR03MB6441

On Mon, Mar 27, 2023 at 01:34:23PM +0200, Marek Marczykowski-Górecki wrote:
> On Mon, Mar 27, 2023 at 12:51:09PM +0200, Roger Pau Monné wrote:
> > On Mon, Mar 27, 2023 at 12:26:05PM +0200, Marek Marczykowski-Górecki wrote:
> > > On Mon, Mar 27, 2023 at 12:12:29PM +0200, Roger Pau Monné wrote:
> > > > On Sat, Mar 25, 2023 at 03:49:22AM +0100, Marek Marczykowski-Górecki wrote:
> > > > > 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. This does include forwarding also writes
> > > > > that did not change the value, but as tested on both Linux (6.1.12) and
> > > > > Windows (10 pro), they don't do excessive writes of unchanged values
> > > > > (Windows seems to clear maskbit in some cases twice, but not more).
> > > > 
> > > > Since we passthrough all the accesses to the device model, is the
> > > > handling in Xen still required?  It might be worth to also expose any
> > > > interfaces needed to the device model so all the functionality done by
> > > > the msixtbl_mmio_ops hooks could be done by QEMU, since we end up
> > > > passing the accesses anyway.
> > > 
> > > This was discussed on v1 already. Such QEMU would need to be able to do
> > > the actual write. If it's running in stubdomain, it would hit the exact
> > > issue again (page mapped R/O to it). In fact, that might be an issue for
> > > dom0 too (I haven't checked).
> > 
> > Oh, sorry, likely missed that discussion, as I don't recall this.
> > 
> > Maybe we need an hypercall for QEMU to notify the masking/unmasking to
> > Xen?  As any change on the other fields is already handled by QEMU.
> > 
> > > I guess that could use my subpage RO feature I just posted then, but it
> > > would still mean intercepting the write twice (not a performance issue
> > > really here, but rather convoluted handling in total).
> > 
> > Yes, that does seem way too convoluted.
> > 
> > > > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > > > > ---
> > > > > 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
> > > > > 
> > > > > This behavior change needs to be surfaced to the device model somehow,
> > > > > so it knows whether it can rely on it. I'm open for suggestions.
> > > > 
> > > > Maybe exposed in XEN_DMOP_get_ioreq_server_info?
> 
> Make flags IN/OUT parameter (and not reuse the same bits)? Or introduce
> new field?

I think it would be fine to make it IN/OUT, but see below.

> > > > 
> > > > But I wonder whether it shouldn't be the other way arround, the device
> > > > model tells Xen it doesn't need to handle any MSI-X accesses because
> > > > QEMU will take care of it, likely using a new flag in
> > > > XEN_DMOP_create_ioreq_server or maybe in XEN_DOMCTL_bind_pt_irq as
> > > > part of the gflags, but then we would need to assert that the flag is
> > > > passed for all MSI-X interrupts bound from that device to the same
> > > > domain.
> > > 
> > > Is is safe thing to do? I mean, doesn't Xen need to guard access to
> > > MSI-X configuration to assure its safety, especially if no interrupt
> > > remapping is there? It probably doesn't matter for qemu in dom0 case,
> > > but both with deprivileged qemu and stubdom, it might matter.
> > 
> > Right - QEMU shouldn't write directly to the MSI-X table using
> > /dev/mem, but instead use an hypercall to notify Xen of the
> > {un,}masking of the MSI-X table entry.  I think that would allow us to
> > safely get rid of the extra logic in Xen to deal with MSI-X table
> > accesses.
> 
> But the purpose of this series is to give guest (or QEMU) more write
> access to the MSI-X page, not less.

Right, but there are two independent issues here: one is the
propagation of the MSIX entry mask state to the device model, the
other is allowing guest accesses to MMIO regions adjacent to the MSIX
table.

> If it wouldn't be this Intel AX
> wifi, indeed we could translate everything to hypercalls in QEMU and not
> worry about special handlers in Xen at all. But unfortunately, we do
> need to handle writes to the same page outside of the MSI-X structures
> and QEMU can't be trusted with properly filtering them (and otherwise
> given full write access to the page).

Indeed, but IMO it would be helpful if we could avoid this split
handling of MSIX entries, where Xen handles entry mask/unmask, and
QEMU handles entry setup.  It makes the handling logic very
complicated, and more likely to be buggy (as you have probably
discovered).

Having QEMU always handle accesses to the MSI-X table would make
things simpler, and we could get rid of a huge amount of logic and
entry tracking in msixtbl_mmio_ops.

Then, we would only need to detect where an access falls into the same
page as the MSI-X (or PBA() tables, but outside of those, and forward
it to the underlying hardware, but that's a fairly simple piece of
logic, and completely detached from all the MSI-X entry tracking that
Xen currently does.

> So, while I agree translating {un,}masking individual vectors to
> hypercalls could simplify MSI-X handling in general, I don't think it
> helps in this particular case. That said, such simplification would
> involve:
> 1. Exposing the capability in Xen to the qemu
> (XEN_DMOP_get_ioreq_server_info sounds reasonable).
> 2. QEMU notifying Xen it will handle masking too, somehow.

I think it's possible we could get away with adding a new flag bit to
xen_domctl_bind_pt_irq, like: XEN_DOMCTL_VMSI_X86_MASK_HANDLING that
would tell Xen that QEMU will handle the mask bit for this entry.

QEMU using this flag should be prepared to handle the mask bit, but if
Xen doesn't know the flag it will keep processing the mask bit.

> 3. QEMU using xc_domain_update_msi_irq and XEN_DOMCTL_VMSI_X86_UNMASKED
> to update Xen about the mask state too.
> 4. Xen no longer interpreting writes to mask bit, but still intercepting
> them to passthorugh those outside of MSI-X structures (the other patch
> in the series). But the handler would still need to stay, to keep
> working with older QEMU versions.

Xen would need to intercept writes to the page(s) containing the MSI-X
table in any case, but the logic is much simpler if it just needs to
decide whether the accesses fall inside of the table region, and thus
needs to be forwarded to the device model, or fails outside of it and
needs to be propagated to the real address.

While true that we won't be able to remove the code that partially
handles MSIX entries for guests in Xen, it would be unused for newer
versions of QEMU, hopefully making the handling far more consistent as
the logic will be entirely in QEMU rather than split between Xen and
QEMU.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 13:30:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 13:30:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515268.797964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgmvm-0001HK-JX; Mon, 27 Mar 2023 13:30:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515268.797964; Mon, 27 Mar 2023 13:30:38 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgmvm-0001HD-Gs; Mon, 27 Mar 2023 13:30:38 +0000
Received: by outflank-mailman (input) for mailman id 515268;
 Mon, 27 Mar 2023 13:30: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 1pgmvl-0001DJ-Na
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 13:30: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 1pgmvf-0004iM-7g; Mon, 27 Mar 2023 13:30:31 +0000
Received: from 54-240-197-228.amazon.com ([54.240.197.228]
 helo=[10.95.159.134]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pgmvf-0001CX-0v; Mon, 27 Mar 2023 13:30: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=0w4eaeq9Lfd+yXEK8y0mAhZ0dwtwPsfxGDccO9Wy6Yg=; b=hNnDSSJ4bxWXec6O7wm86kMVQ+
	GcW41e7gnurGwsj7evyAEVOzEbk/O7wRzoOCB6LDptcn0PacUEaL080tFww5rDIoWy5HVyS1INLn5
	ucRYGehnS5h//RXBzZpanPzpMtVYI38zu0eDgcK8O44PE4Jt72XdEGT8b3MjoW+4hXRA=;
Message-ID: <358be266-9478-dee9-2dc7-58d54e894d1a@xen.org>
Date: Mon, 27 Mar 2023 14:30:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [XEN v4 07/11] xen/arm: Introduce choice to enable 64/32 bit
 physical addressing
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>, Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 rahul.singh@arm.com, xen-devel@lists.xenproject.org,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-8-ayan.kumar.halder@amd.com>
 <7d90ad7a-5daf-915c-2055-a27ca50d8581@suse.com>
 <e268e11b-8e93-c506-668b-c5c004b3aa06@amd.com>
 <1883c9a3-ad25-ac45-b1fa-d29e19b3cc14@suse.com>
 <01a800a5-1c0d-b9d4-05c7-c886b3e3009d@amd.com>
 <205658ff-e0ac-1656-2d12-099abd891fcd@suse.com>
 <ac320354-454f-f6e6-d2b6-a470b66c7ec7@xen.org>
 <d9f3ef97-1101-ac4b-57b9-be0fa19a7310@suse.com>
 <f8146b63-5dc5-beec-613d-d842cd225aea@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f8146b63-5dc5-beec-613d-d842cd225aea@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 27/03/2023 12:46, Ayan Kumar Halder wrote:
> On 22/03/2023 13:53, Jan Beulich wrote:
>> On 22.03.2023 14:29, Julien Grall wrote:
>>> On 22/03/2023 06:59, Jan Beulich wrote:
>>>> On 21.03.2023 19:33, Ayan Kumar Halder wrote:
>>>>> On 21/03/2023 16:53, Jan Beulich wrote:
>>>>>> On 21.03.2023 17:15, Ayan Kumar Halder wrote:
>>>>>>> On 21/03/2023 14:22, Jan Beulich wrote:
>>>>>>>> (Using "unsigned long" for a 32-bit paddr_t is of
>>>>>>>> course suspicious as well - this ought to be uint32_t.)
>>>>>>> The problem with using uint32_t for paddr_t is that there are 
>>>>>>> instances
>>>>>>> where the paddr_t is modified with PAGE_MASK or PAGE_ALIGN.
>>>>>>>
>>>>>>> For eg , handle_passthrough_prop()
>>>>>>>
>>>>>>>                 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);
>>>>>>>
>>>>>>> And in xen/include/xen/page-size.h,
>>>>>>>
>>>>>>> #define PAGE_SIZE           (_AC(1,L) << PAGE_SHIFT)
>>>>>>> #define PAGE_MASK           (~(PAGE_SIZE-1))
>>>>>>>
>>>>>>> Thus, the resulting types are unsigned long. This cannot be printed
>>>>>>> using %u for PRIpaddr.
>>>>>> Is there anything wrong with making PAGE_SIZE expand to (1 << 
>>>>>> PAGE_SHIFT)
>>>>>> when physical addresses are only 32 bits wide?
>>>>> I don't have a strong objection except that this is similar to what
>>>>> linux is doing today.
>>>>>
>>>>> https://elixir.bootlin.com/linux/latest/source/arch/arm/include/asm/page.h#L12
>>>>>
>>>>>>> I remember some discussion (or comment) that the physical addresses
>>>>>>> should be represented using 'unsigned long'.
>>>>>> A reference would be helpful.
>>>>> https://lists.xenproject.org/archives/html/xen-devel/2023-02/msg00305.html
>>>> I see. I guess this will be okay as long as only 32-bit arches elect to
>>>> use 32-bit physical addresses. Maybe there should be a BUILD_BUG_ON()
>>>> somewhere, accompanied by a suitable comment?
>>> Hmmm... We definitely have 40-bits physical address space on Arm32. In
>>> fact, my suggestion was not to define paddr_t as unsigned long for
>>> everyone but only when PHYS_ADDR_T_32 is selected (AFAICT this is what
>>> is done in this patch).
>>>
>>> This is to avoid having to add cast everywhere we are using PAGE_* on
>>> paddr_t and print it.
>>>
>>> That said, I realize this means that for 64-bit, we would still use
>>> 64-bit integer. I view it as a less a problem (at least on Arm) because
>>> registers are always 64-bit. I am open to other suggestion.
>> It simply struck me as odd to use a 64-bit type for something that was
>> explicitly said is only going to be 32 bits wide. I would therefore
>> prefer if we could limit 32-bit paddr_t to 32-bit architectures for
>> now, as expressed before when asking for a respective BUILD_BUG_ON().
>> Especially if, as intended, the type definition moves to xen/types.h
>> (and hence isn't Arm-specific anymore).
>>
>> Jan
> 
> Please have a look at the below patch and let me know your thoughts. 
> This patch now :-
> 
> 1. Removes the config "PHYS_ADDR_T_64".  So when PHYS_ADDR_T_32 is not 
> selected, it means that physical addresses are to be denoted by 64 bits.
> 
> 2. Added a BUILD_BUG_ON() to check that paddr_t is exactly 32-bit wide 
> when CONFIG_PHYS_ADDR_T_32 is selected. As 32-bit Arm architecture 
> (Arm_32) can support 40 bits PA with LPAE, thus we cannot always use 
> 32-bit paddr_t.
> 
> 3. For Jan's concern that the changes to 
> xen/arch/arm/include/asm/types.h will complicate movement to common 
> header, I think we will need to use CONFIG_PHYS_ADDR_T_32 to define 
> types for 32-bit physical addresses.
> 
> I am open to any alternative suggestions that you propose.
> 
> 
> commit 3a61721a5169072b4aa3bbd0df38de5e69a5abc1
> Author: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Date:   Wed Feb 8 12:05:26 2023 +0000
> 
>      xen/arm: Introduce choice to enable 64/32 bit physical addressing
> 
>      Some Arm based hardware platforms which does not support LPAE
>      (eg Cortex-R52), uses 32 bit physical addresses.
>      Also, users may choose to use 32 bits to represent physical addresses
>      for optimization.
> 
>      To support the above use cases, we have introduced arch independent
>      configs to choose if the physical address can be represented using
>      32 bits (PHYS_ADDR_T_32) or 64 bits (!PHYS_ADDR_T_32).
>      For now only ARM_32 provides support to enable 32 bit physical
>      addressing.
> 
>      When PHYS_ADDR_T_32 is defined, PADDR_BITS is set to 32.
>      When PHYS_ADDR_T_32 is not defined for ARM_32, PADDR_BITS is set to 
> 40.
>      When PHYS_ADDR_T_32 is not defined for ARM_64, PADDR_BITS is set to 
> 48.
>      The last two are same as the current configuration used today on Xen.
> 
>      PADDR_BITS is also set to 48 when ARM_64 is defined. The reason being
>      the choice to select ARM_PA_BITS_32/ARM_PA_BITS_40/ARM_PA_BITS_48 is
>      currently allowed when ARM_32 is defined.
> 
>      Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> 
> diff --git a/xen/arch/Kconfig b/xen/arch/Kconfig
> index 7028f7b74f..67ba38f32f 100644
> --- a/xen/arch/Kconfig
> +++ b/xen/arch/Kconfig
> @@ -1,6 +1,9 @@
>   config 64BIT
>      bool
> 
> +config PHYS_ADDR_T_32
> +   bool
> +
>   config NR_CPUS
>      int "Maximum number of CPUs"
>      range 1 4095
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 239d3aed3c..e6dadeb8b1 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -19,13 +19,46 @@ config ARM
>      select HAS_PMAP
>      select IOMMU_FORCE_PT_SHARE
> 
> +menu "Architecture Features"
> +
> +choice
> +   prompt "Physical address space size" if ARM_32
> +   default ARM_PA_BITS_48 if ARM_64
> +   default ARM_PA_BITS_40 if ARM_32
> +   help
> +     User can choose to represent the width of physical address. This can
> +     sometimes help in optimizing the size of image when user chooses a
> +     smaller size to represent physical address.
> +
> +config ARM_PA_BITS_32
> +   bool "32-bit"
> +   help
> +     On platforms where any physical address can be represented within 
> 32 bits
> +     , user should choose this option. This will help is reduced size 
> of the

Typo: I think it is more common to have the ',' at the end of the line 
rather than a the beginning followed by a space.

> +     binary.
> +   select PHYS_ADDR_T_32
> +   depends on ARM_32
> +
> +config ARM_PA_BITS_40
> +   bool "40-bit"
> +   depends on ARM_32
> +
> +config ARM_PA_BITS_48
> +   bool "40-bit"
> +   depends on ARM_48
> +endchoice
> +
> +config PADDR_BITS
> +   int
> +   default 32 if ARM_PA_BITS_32
> +   default 40 if ARM_PA_BITS_40
> +   default 48 if ARM_PA_BITS_48 || ARM_64
> +
>   config ARCH_DEFCONFIG
>      string
>      default "arch/arm/configs/arm32_defconfig" if ARM_32
>      default "arch/arm/configs/arm64_defconfig" if ARM_64
> 
> -menu "Architecture Features"
> -
>   source "arch/Kconfig"
> 
>   config ACPI
> diff --git a/xen/arch/arm/include/asm/page-bits.h 
> b/xen/arch/arm/include/asm/page-bits.h
> index 5d6477e599..deb381ceeb 100644
> --- a/xen/arch/arm/include/asm/page-bits.h
> +++ b/xen/arch/arm/include/asm/page-bits.h
> @@ -3,10 +3,6 @@
> 
>   #define PAGE_SHIFT              12
> 
> -#ifdef CONFIG_ARM_64
> -#define PADDR_BITS              48
> -#else
> -#define PADDR_BITS              40
> -#endif
> +#define PADDR_BITS              CONFIG_PADDR_BITS
> 
>   #endif /* __ARM_PAGE_SHIFT_H__ */
> diff --git a/xen/arch/arm/include/asm/types.h 
> b/xen/arch/arm/include/asm/types.h
> index e218ed77bd..e3cfbbb060 100644
> --- a/xen/arch/arm/include/asm/types.h
> +++ b/xen/arch/arm/include/asm/types.h
> @@ -34,9 +34,15 @@ typedef signed long long s64;
>   typedef unsigned long long u64;
>   typedef u32 vaddr_t;
>   #define PRIvaddr PRIx32
> +#if defined(CONFIG_PHYS_ADDR_T_32)
> +typedef unsigned long paddr_t;
> +#define INVALID_PADDR (~0UL)
> +#define PRIpaddr "08lx"
> +#else
>   typedef u64 paddr_t;
>   #define INVALID_PADDR (~0ULL)
>   #define PRIpaddr "016llx"
> +#endif
>   typedef u32 register_t;
>   #define PRIregister "08x"
>   #elif defined (CONFIG_ARM_64)
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index b99806af99..6dc37be97e 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -690,6 +690,11 @@ void __init setup_frametable_mappings(paddr_t ps, 
> paddr_t pe)
>       const unsigned long mapping_size = frametable_size < MB(32) ? 
> MB(2) : MB(32);
>       int rc;
> 
> +   /* Check that paddr_t is exactly 32 bits when CONFIG_PHYS_ADDR_T_32 
> is defined */

This is only describing the BUILD_BUG_ON() in words but don't really say 
why. In fact...

> 
> +   #ifdef  CONFIG_PHYS_ADDR_T_32
> 
> +   BUILD_BUG_ON((sizeof(paddr_t) * 8) != 32);
> 
> +  #endif

... nothing really wrong will happen if paddr_t is bigger. The code will 
just be less optimized. So I would drop it.

If there is a desire to keep it then it should be moved in 
build_assertions() with a suitable comment (e.g. what could go wrong if 
the build assertion fail).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 13:38:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 13:38:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515275.797974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgn3F-0002FS-IR; Mon, 27 Mar 2023 13:38:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515275.797974; Mon, 27 Mar 2023 13:38:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgn3F-0002FL-F6; Mon, 27 Mar 2023 13:38:21 +0000
Received: by outflank-mailman (input) for mailman id 515275;
 Mon, 27 Mar 2023 13:38: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=s+OC=7T=citrix.com=prvs=44343e547=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pgn3D-0002FF-U8
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 13:38: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 a11c303e-cca4-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 15:38:18 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a11c303e-cca4-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679924298;
  h=date:from:to:subject:message-id:mime-version;
  bh=1Vm/XmJespN+zR/alM23zOnU/EoDRb4nphiwjRzfvbs=;
  b=IR14WewhO6dPdiOXR5KosgZgLSY16Sro4ezXgSp17QKz93oiOo3Ri4v7
   i3hqXhbKrQSQygVIrD3u+ixBS4d4aeYvpFfzAH9j8s901y+ahoXJ3vUew
   6iA3KEDGhRFgeBpey5lZbpB/nJSHe9a/KJ3iklNyrRaWzyQBtmwTqPPEg
   U=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103403407
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:pP0dXKParupJEF3vrR3Ml8FynXyQoLVcMsEvi/4bfWQNrUor0zYPx
 jAbWD+FOPeMMWXzctl/Po/l/U9UsZXUzNFiSgto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5ANmPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0uFVXFlcy
 eIfEjJTRwzEmOWm7JmcWuY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w2Nk+ojx5nYz/7DLo3mvuogX/uNSVVsluPqYI84nTJzRw327/oWDbQUoXSHpkNxRrA+
 Qoq+UzmHk8zDviTxQPVyUqineGIvBvwapkrQejQGvlC3wTImz175ActfVKjrOOwkEKWR9NVI
 EtS8S0rxYAi+UruQtTjUhmQpH+fogVaS9dWC/c96gyG1uzT+QnxO4QfZmcfMpp87pZwHGF0k
 AbTxLsFGACDrpWSay+l5IuKqgmwZwEJanAFdQMvahsKtoyLTJ4Isv7fcjpyOPfr0YyrR2yqm
 GjiQDsW3OtK05NSv0mv1RWe2m/3+MCUJuIgzl+PNl9J+D+Vc2JMi2aAzVHApchNI4+CJrVql
 ChVwpPOhAzi4HzkqcBsfAnuNOvzjxp9GGeA6WOD5rF4n9hXx1atfJpL/BZ1L1pzP8APdFfBO
 RGM6FMMucECZiP7Msebhr5d7Ox0pZUM6Py/DqyEBjawSsEZmPC7ENFGOhfLgjGFfLkEmqAjI
 5aLGfuR4YIhIf0/llKeHr5NuYLHMwhinQs/s7inlUX4uVdfDVbJIYo43KymMr9pt/PY/FSKm
 zudXuPToyhivCTFSnG/2eYuwZoicRDX2bieRxRrS9O+
IronPort-HdrOrdr: A9a23:c4jCr6xXgdWmWAjAVSAhKrPwBL1zdoMgy1knxilNYDdeeKWj5r
 uTdTogpGbJYVcqKQkdcLW7UpVoLkmskKKdjbNhX4tKGTOW21dAT7sC0WKB+UyFJ8SWzIc0vp
 uIMZIfNDSaNykcsS+V2njfLz/i+rW6GWKT6Ns2A00DceiiUc9d0zs=
X-IronPort-AV: E=Sophos;i="5.98,294,1673931600"; 
   d="scan'208";a="103403407"
Date: Mon, 27 Mar 2023 14:38:12 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: <xen-devel@lists.xenproject.org>
Subject: OSSTEST: adding back rimava0 and rimava1 in production
Message-ID: <147fcf8a-17f5-45ba-ad99-c93cd2957a4b@perard>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline

Hi,

Just to let you know that we've added both machines "rimava0" and
"rimava1" in back in production. I did run a whole "xen-unstable" flight on
just those two machines and it looked fine.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 13:58:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 13:58:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515281.797984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgnMl-0004sV-1v; Mon, 27 Mar 2023 13:58:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515281.797984; Mon, 27 Mar 2023 13:58: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 1pgnMk-0004sO-Uv; Mon, 27 Mar 2023 13:58:30 +0000
Received: by outflank-mailman (input) for mailman id 515281;
 Mon, 27 Mar 2023 13:58: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=J70X=7T=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pgnMj-0004sI-5h
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 13:58:29 +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 72a6ea83-cca7-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 15:58:27 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 1384521DDF;
 Mon, 27 Mar 2023 13:58: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 B94CE13482;
 Mon, 27 Mar 2023 13:58:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gPXfKwKhIWSoAgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 27 Mar 2023 13:58:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72a6ea83-cca7-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679925507; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=XQSiCcEXSkpYT9fhztoHKNvKaF57XnxAqH14JZgYCzs=;
	b=tA2ZbM21zCgveBO0yUGH9kFopNQU3D87O37+Rqu4FTLjGdxSHJ7cNdMgnb4ESKyXGrTet6
	wwCeyGMYtA3nJvSNiVEkQWyPzKLc25ZWzOJrBcaCHfYfLtoJo9eMXUXv6bCDL8HdKxJ2GZ
	Pet0vtAtuzQfdIHJqKm6RkzXMQlg9pA=
Message-ID: <2fa1f1ff-ce1d-447d-18ee-9b787e03f86a@suse.com>
Date: Mon, 27 Mar 2023 15:58:26 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>, linux-kernel@vger.kernel.org,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, "Rafael J. Wysocki" <rafael@kernel.org>,
 Len Brown <lenb@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
 Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org
References: <20230321141904.49177-1-roger.pau@citrix.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v5] ACPI: processor: Fix evaluating _PDC method when
 running as Xen dom0
In-Reply-To: <20230321141904.49177-1-roger.pau@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------VW9ntCdcYgSOKUVi8GYJOibu"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------VW9ntCdcYgSOKUVi8GYJOibu
Content-Type: multipart/mixed; boundary="------------YyIPNzdADYYt07Gjw8fVWR2D";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Roger Pau Monne <roger.pau@citrix.com>, linux-kernel@vger.kernel.org,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, "Rafael J. Wysocki" <rafael@kernel.org>,
 Len Brown <lenb@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
 Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org
Message-ID: <2fa1f1ff-ce1d-447d-18ee-9b787e03f86a@suse.com>
Subject: Re: [PATCH v5] ACPI: processor: Fix evaluating _PDC method when
 running as Xen dom0
References: <20230321141904.49177-1-roger.pau@citrix.com>
In-Reply-To: <20230321141904.49177-1-roger.pau@citrix.com>

--------------YyIPNzdADYYt07Gjw8fVWR2D
Content-Type: multipart/mixed; boundary="------------JTcERGkYVZmOtTjYqZLsK8LM"

--------------JTcERGkYVZmOtTjYqZLsK8LM
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjEuMDMuMjMgMTU6MTksIFJvZ2VyIFBhdSBNb25uZSB3cm90ZToNCj4gSW4gQUNQSSBz
eXN0ZW1zLCB0aGUgT1MgY2FuIGRpcmVjdCBwb3dlciBtYW5hZ2VtZW50LCBhcyBvcHBvc2Vk
IHRvIHRoZQ0KPiBmaXJtd2FyZS4gIFRoaXMgT1MtZGlyZWN0ZWQgUG93ZXIgTWFuYWdlbWVu
dCBpcyBjYWxsZWQgT1NQTS4gIFBhcnQgb2YNCj4gdGVsbGluZyB0aGUgZmlybXdhcmUgdGhh
dCB0aGUgT1MgZ29pbmcgdG8gZGlyZWN0IHBvd2VyIG1hbmFnZW1lbnQgaXMNCj4gbWFraW5n
IEFDUEkgIl9QREMiIChQcm9jZXNzb3IgRHJpdmVyIENhcGFiaWxpdGllcykgY2FsbHMuICBU
aGVzZSBfUERDDQo+IG1ldGhvZHMgbXVzdCBiZSBldmFsdWF0ZWQgZm9yIGV2ZXJ5IHByb2Nl
c3NvciBvYmplY3QuICBJZiB0aGVzZSBfUERDDQo+IGNhbGxzIGFyZSBub3QgY29tcGxldGVk
IGZvciBldmVyeSBwcm9jZXNzb3IgaXQgY2FuIGxlYWQgdG8NCj4gaW5jb25zaXN0ZW5jeSBh
bmQgbGF0ZXIgZmFpbHVyZXMgaW4gdGhpbmdzIGxpa2UgdGhlIENQVSBmcmVxdWVuY3kNCj4g
ZHJpdmVyLg0KPiANCj4gSW4gYSBYZW4gc3lzdGVtLCB0aGUgZG9tMCBrZXJuZWwgaXMgcmVz
cG9uc2libGUgZm9yIHN5c3RlbS13aWRlIHBvd2VyDQo+IG1hbmFnZW1lbnQuICBUaGUgZG9t
MCBrZXJuZWwgaXMgaW4gY2hhcmdlIG9mIE9TUE0uICBIb3dldmVyLCB0aGUNCj4gbnVtYmVy
IG9mIENQVXMgYXZhaWxhYmxlIHRvIGRvbTAgY2FuIGJlIGRpZmZlcmVudCB0aGFuIHRoZSBu
dW1iZXIgb2YNCj4gQ1BVcyBwaHlzaWNhbGx5IHByZXNlbnQgb24gdGhlIHN5c3RlbS4NCj4g
DQo+IFRoaXMgbGVhZHMgdG8gYSBwcm9ibGVtOiB0aGUgZG9tMCBrZXJuZWwgbmVlZHMgdG8g
ZXZhbHVhdGUgX1BEQyBmb3INCj4gYWxsIHRoZSBwcm9jZXNzb3JzLCBidXQgaXQgY2FuJ3Qg
YWx3YXlzIHNlZSB0aGVtLg0KPiANCj4gSW4gZG9tMCBrZXJuZWxzLCBpZ25vcmUgdGhlIGV4
aXN0aW5nIEFDUEkgbWV0aG9kIGZvciBkZXRlcm1pbmluZyBpZiBhDQo+IHByb2Nlc3NvciBp
cyBwaHlzaWNhbGx5IHByZXNlbnQgYmVjYXVzZSBpdCBtaWdodCBub3QgYmUgYWNjdXJhdGUu
DQo+IEluc3RlYWQsIGFzayB0aGUgaHlwZXJ2aXNvciBmb3IgdGhpcyBpbmZvcm1hdGlvbi4N
Cj4gDQo+IEZpeCB0aGlzIGJ5IGludHJvZHVjaW5nIGEgY3VzdG9tIGZ1bmN0aW9uIHRvIHVz
ZSB3aGVuIHJ1bm5pbmcgYXMgWGVuDQo+IGRvbTAgaW4gb3JkZXIgdG8gY2hlY2sgd2hldGhl
ciBhIHByb2Nlc3NvciBvYmplY3QgbWF0Y2hlcyBhIENQVSB0aGF0J3MNCj4gb25saW5lLiAg
U3VjaCBjaGVja2luZyBpcyBkb25lIHVzaW5nIHRoZSBleGlzdGluZyBpbmZvcm1hdGlvbiBm
ZXRjaGVkDQo+IGJ5IHRoZSBYZW4gcENQVSBzdWJzeXN0ZW0sIGV4dGVuZGluZyBpdCB0byBh
bHNvIHN0b3JlIHRoZSBBQ1BJIElELg0KPiANCj4gVGhpcyBlbnN1cmVzIHRoYXQgX1BEQyBt
ZXRob2QgZ2V0cyBldmFsdWF0ZWQgZm9yIGFsbCBwaHlzaWNhbGx5IG9ubGluZQ0KPiBDUFVz
LCByZWdhcmRsZXNzIG9mIHRoZSBudW1iZXIgb2YgQ1BVcyBtYWRlIGF2YWlsYWJsZSB0byBk
b20wLg0KPiANCj4gRml4ZXM6IDVkNTU0YTdiYjA2NCAoJ0FDUEk6IHByb2Nlc3NvcjogYWRk
IGludGVybmFsIHByb2Nlc3Nvcl9waHlzaWNhbGx5X3ByZXNlbnQoKScpDQo+IFNpZ25lZC1v
ZmYtYnk6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPiAtLS0N
Cj4gQ2hhbmdlcyBzaW5jZSB2NDoNCj4gICAtIE1vdmUgZGVmaW5pdGlvbi9kZWNsYXJhdGlv
biBvZiB4ZW5fcHJvY2Vzc29yX3ByZXNlbnQoKSB0byBkaWZmZXJlbnQNCj4gICAgIGhlYWRl
ci4NCj4gICAtIEZvbGQgc3ViamVjdCBlZGl0Lg0KPiANCj4gQ2hhbmdlcyBzaW5jZSB2MzoN
Cj4gICAtIFByb3RlY3QgeGVuX3Byb2Nlc3Nvcl9wcmVzZW50KCkgZGVmaW5pdGlvbiB3aXRo
IENPTkZJR19BQ1BJLg0KPiANCj4gQ2hhbmdlcyBzaW5jZSB2MjoNCj4gICAtIEV4dGVuZCBh
bmQgdXNlIHRoZSBleGlzdGluZyBwY3B1IGZ1bmN0aW9uYWxpdHkuDQo+IA0KPiBDaGFuZ2Vz
IHNpbmNlIHYxOg0KPiAgIC0gUmV3b3JkIGNvbW1pdCBtZXNzYWdlLg0KPiAtLS0NCj4gICBk
cml2ZXJzL2FjcGkvcHJvY2Vzc29yX3BkYy5jIHwgMTEgKysrKysrKysrKysNCj4gICBkcml2
ZXJzL3hlbi9wY3B1LmMgICAgICAgICAgIHwgMjAgKysrKysrKysrKysrKysrKysrKysNCj4g
ICBpbmNsdWRlL3hlbi94ZW4uaCAgICAgICAgICAgIHwgMTAgKysrKysrKysrKw0KPiAgIDMg
ZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2Ry
aXZlcnMvYWNwaS9wcm9jZXNzb3JfcGRjLmMgYi9kcml2ZXJzL2FjcGkvcHJvY2Vzc29yX3Bk
Yy5jDQo+IGluZGV4IDhjM2Y4MmM5ZmZmMy4uMThmYjA0NTIzZjkzIDEwMDY0NA0KPiAtLS0g
YS9kcml2ZXJzL2FjcGkvcHJvY2Vzc29yX3BkYy5jDQo+ICsrKyBiL2RyaXZlcnMvYWNwaS9w
cm9jZXNzb3JfcGRjLmMNCj4gQEAgLTE0LDYgKzE0LDggQEANCj4gICAjaW5jbHVkZSA8bGlu
dXgvYWNwaS5oPg0KPiAgICNpbmNsdWRlIDxhY3BpL3Byb2Nlc3Nvci5oPg0KPiAgIA0KPiAr
I2luY2x1ZGUgPHhlbi94ZW4uaD4NCj4gKw0KPiAgICNpbmNsdWRlICJpbnRlcm5hbC5oIg0K
PiAgIA0KPiAgIHN0YXRpYyBib29sIF9faW5pdCBwcm9jZXNzb3JfcGh5c2ljYWxseV9wcmVz
ZW50KGFjcGlfaGFuZGxlIGhhbmRsZSkNCj4gQEAgLTQ3LDYgKzQ5LDE1IEBAIHN0YXRpYyBi
b29sIF9faW5pdCBwcm9jZXNzb3JfcGh5c2ljYWxseV9wcmVzZW50KGFjcGlfaGFuZGxlIGhh
bmRsZSkNCj4gICAJCXJldHVybiBmYWxzZTsNCj4gICAJfQ0KPiAgIA0KPiArCWlmICh4ZW5f
aW5pdGlhbF9kb21haW4oKSkNCj4gKwkJLyoNCj4gKwkJICogV2hlbiBydW5uaW5nIGFzIGEg
WGVuIGRvbTAgdGhlIG51bWJlciBvZiBwcm9jZXNzb3JzIExpbnV4DQo+ICsJCSAqIHNlZXMg
Y2FuIGJlIGRpZmZlcmVudCBmcm9tIHRoZSByZWFsIG51bWJlciBvZiBwcm9jZXNzb3JzIG9u
DQo+ICsJCSAqIHRoZSBzeXN0ZW0sIGFuZCB3ZSBzdGlsbCBuZWVkIHRvIGV4ZWN1dGUgX1BE
QyBmb3IgYWxsIG9mDQo+ICsJCSAqIHRoZW0uDQo+ICsJCSAqLw0KPiArCQlyZXR1cm4geGVu
X3Byb2Nlc3Nvcl9wcmVzZW50KGFjcGlfaWQpOw0KPiArDQo+ICAgCXR5cGUgPSAoYWNwaV90
eXBlID09IEFDUElfVFlQRV9ERVZJQ0UpID8gMSA6IDA7DQo+ICAgCWNwdWlkID0gYWNwaV9n
ZXRfY3B1aWQoaGFuZGxlLCB0eXBlLCBhY3BpX2lkKTsNCj4gICANCj4gZGlmZiAtLWdpdCBh
L2RyaXZlcnMveGVuL3BjcHUuYyBiL2RyaXZlcnMveGVuL3BjcHUuYw0KPiBpbmRleCBmZDNh
NjQ0YjA4NTUuLjE4MTRmODc2MmY1NCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy94ZW4vcGNw
dS5jDQo+ICsrKyBiL2RyaXZlcnMveGVuL3BjcHUuYw0KPiBAQCAtNTgsNiArNTgsNyBAQCBz
dHJ1Y3QgcGNwdSB7DQo+ICAgCXN0cnVjdCBsaXN0X2hlYWQgbGlzdDsNCj4gICAJc3RydWN0
IGRldmljZSBkZXY7DQo+ICAgCXVpbnQzMl90IGNwdV9pZDsNCj4gKwl1aW50MzJfdCBhY3Bp
X2lkOw0KPiAgIAl1aW50MzJfdCBmbGFnczsNCj4gICB9Ow0KPiAgIA0KPiBAQCAtMjQ5LDYg
KzI1MCw3IEBAIHN0YXRpYyBzdHJ1Y3QgcGNwdSAqY3JlYXRlX2FuZF9yZWdpc3Rlcl9wY3B1
KHN0cnVjdCB4ZW5wZl9wY3B1aW5mbyAqaW5mbykNCj4gICANCj4gICAJSU5JVF9MSVNUX0hF
QUQoJnBjcHUtPmxpc3QpOw0KPiAgIAlwY3B1LT5jcHVfaWQgPSBpbmZvLT54ZW5fY3B1aWQ7
DQo+ICsJcGNwdS0+YWNwaV9pZCA9IGluZm8tPmFjcGlfaWQ7DQo+ICAgCXBjcHUtPmZsYWdz
ID0gaW5mby0+ZmxhZ3M7DQo+ICAgDQo+ICAgCS8qIE5lZWQgaG9sZCBvbiB4ZW5fcGNwdV9s
b2NrIGJlZm9yZSBwY3B1IGxpc3QgbWFuaXB1bGF0aW9ucyAqLw0KPiBAQCAtMzgxLDMgKzM4
MywyMSBAQCBzdGF0aWMgaW50IF9faW5pdCB4ZW5fcGNwdV9pbml0KHZvaWQpDQo+ICAgCXJl
dHVybiByZXQ7DQo+ICAgfQ0KPiAgIGFyY2hfaW5pdGNhbGwoeGVuX3BjcHVfaW5pdCk7DQo+
ICsNCj4gKyNpZmRlZiBDT05GSUdfQUNQSQ0KPiArYm9vbCBfX2luaXQgeGVuX3Byb2Nlc3Nv
cl9wcmVzZW50KHVpbnQzMl90IGFjcGlfaWQpDQo+ICt7DQo+ICsJc3RydWN0IHBjcHUgKnBj
cHU7DQo+ICsJYm9vbCBvbmxpbmUgPSBmYWxzZTsNCj4gKw0KPiArCW11dGV4X2xvY2soJnhl
bl9wY3B1X2xvY2spOw0KPiArCWxpc3RfZm9yX2VhY2hfZW50cnkocGNwdSwgJnhlbl9wY3B1
cywgbGlzdCkNCj4gKwkJaWYgKHBjcHUtPmFjcGlfaWQgPT0gYWNwaV9pZCkgew0KPiArCQkJ
b25saW5lID0gcGNwdS0+ZmxhZ3MgJiBYRU5fUENQVV9GTEFHU19PTkxJTkU7DQo+ICsJCQli
cmVhazsNCj4gKwkJfQ0KPiArCW11dGV4X3VubG9jaygmeGVuX3BjcHVfbG9jayk7DQo+ICsN
Cj4gKwlyZXR1cm4gb25saW5lOw0KPiArfQ0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9p
bmNsdWRlL3hlbi94ZW4uaCBiL2luY2x1ZGUveGVuL3hlbi5oDQo+IGluZGV4IDdhZGY1OTgz
N2MyNS4uNDQxMGU3NGYzZWI1IDEwMDY0NA0KPiAtLS0gYS9pbmNsdWRlL3hlbi94ZW4uaA0K
PiArKysgYi9pbmNsdWRlL3hlbi94ZW4uaA0KPiBAQCAtNzEsNCArNzEsMTQgQEAgc3RhdGlj
IGlubGluZSB2b2lkIHhlbl9mcmVlX3VucG9wdWxhdGVkX3BhZ2VzKHVuc2lnbmVkIGludCBu
cl9wYWdlcywNCj4gICB9DQo+ICAgI2VuZGlmDQo+ICAgDQo+ICsjaWYgZGVmaW5lZChDT05G
SUdfWEVOX0RPTTApICYmIGRlZmluZWQoQ09ORklHX0FDUEkpICYmIGRlZmluZWQoQ09ORklH
X1g4NikNCj4gK2Jvb2wgX19pbml0IHhlbl9wcm9jZXNzb3JfcHJlc2VudCh1aW50MzJfdCBh
Y3BpX2lkKTsNCj4gKyNlbHNlDQo+ICtzdGF0aWMgaW5saW5lIGJvb2wgeGVuX3Byb2Nlc3Nv
cl9wcmVzZW50KHVpbnQzMl90IGFjcGlfaWQpDQo+ICt7DQo+ICsJQlVHKCk7DQoNCklzIHRo
aXMgcmVhbGx5IGEgZ29vZCBpZGVhPw0KDQpBcm02NCBzdXBwb3J0cyBBQ1BJLCB0b28sIGFz
IHdlbGwgYXMgWEVOX0RPTTAuIEkgdGhpbmsgeW91IGVpdGhlciBuZWVkIHRvDQpwcm92aWRl
IGEgc3R1YiBmb3IgdGhhdCBjYXNlLCB0b28sIG9yIHlvdSBuZWVkIG1ha2UgdGhpcyBzdHVi
IG5vbi1mYXRhbA0KZm9yIGNhbGxlcnMgKEkgZ3Vlc3MgcmV0dXJuaW5nIGZhbHNlIGlzIGZp
bmUsIGFzIGN1cnJlbnRseSB0aGVyZSBhcmUgbm8NCmh5cGVyY2FsbHMgb24gQXJtIHdoaWNo
IHdvdWxkIGFsbG93IHRvIGNvbnRyb2wgcGh5c2ljYWwgQ1BVcyBiYXNlZCBvbg0KQUNQSS1J
ZCkuDQoNClN0ZWZhbm8sIGNhbiB5b3UgY29uZmlybSB0aGlzPw0KDQoNCkp1ZXJnZW4NCg==

--------------JTcERGkYVZmOtTjYqZLsK8LM
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-----

--------------JTcERGkYVZmOtTjYqZLsK8LM--

--------------YyIPNzdADYYt07Gjw8fVWR2D--

--------------VW9ntCdcYgSOKUVi8GYJOibu
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQhoQIFAwAAAAAACgkQsN6d1ii/Ey9k
wAf+NNFcmhfd1rrcHx0K//8HQqwncoIKBJq1CwhZ9uxBQzs0LJIt5RaikRDi+ri+Z3BH6WXIAjLe
NaL9ZtXk2NQWonBB9AfcbSbTxZ8a+dHOW5Tn0NLwkDmPa+JXbILgG3YmLZYJ6Ahuquv0gJSu79wc
gcn6tqoSPAqAoH5zgfBELidBuyqY1PvEuZzVKrj9NitRgNzFaixmhS9fnfstGpjO5vCHmwpw06F+
EvD4/bmDJYRb8vQ9PEMgJCM1zjGnS1BCgPkn4NE46pt4ZTwkpl+YndeUOR45d2IMVXyC/E41OgI0
iSJcEkXe5tIhgU6yyjhmMFuIPk33FL/s2lucUu1LiA==
=ox1l
-----END PGP SIGNATURE-----

--------------VW9ntCdcYgSOKUVi8GYJOibu--


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 14:00:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 14:00:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515287.797994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgnP3-0006S3-E8; Mon, 27 Mar 2023 14:00:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515287.797994; Mon, 27 Mar 2023 14:00:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgnP3-0006Rw-BC; Mon, 27 Mar 2023 14:00:53 +0000
Received: by outflank-mailman (input) for mailman id 515287;
 Mon, 27 Mar 2023 14:00: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+OC=7T=citrix.com=prvs=44343e547=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pgnP2-0006Rq-36
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 14:00:52 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c32e4761-cca7-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 16:00:45 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c32e4761-cca7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679925649;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=XZ/VylZZdH7gN1gWRbGPgVlUknPaMl/61/kFHk/1rzM=;
  b=bhSjeeNVGpuRP+GT6VSatq3XrjltWtTuq1py+dBAvzEs8OnmdUZDRsZa
   VN77BMu1GfljM+cNJlYpKYntA5HWhRlXzlGtzv2JI1/S8RKK6V1TpvUWT
   M9Z2w28YMgTnv7Ku9ZpKYnW2RV//mD7cOC0/pW0MZ17BHyKI3cZigJ0BW
   c=;
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 105415416
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:ut9lZKAlaAFGDBVW//3jw5YqxClBgxIJ4kV8jS/XYbTApGwkhmMCx
 2IYDD/XbvnfNmH9fohxO962pk1Tvp7Rydc1QQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhC4QRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwoaEuJmYJz
 dIhECkGcAuCuf+W2KuWRbw57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTIJs4gOevgGi5azBCoUiZjaE2/3LS3Ep6172F3N/9I4TXGZwIwh/Gz
 o7A12/8Xx9ADJ/H8Bnf/HOX2s73whz3cqtHQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFaIsxsdc9tWDewh6QuJx7bU4gCWHWwNRHhKb9lOnO0cSCEu1
 1SJt8j0HjEpu7qQIVqG7audpz62PSkTLEcBaDUCQA9D5MPsyKksijrfQ9AlF7S65vX3BDXxz
 jaivCU4wbIJgqYj3r2251ndjxqwp5LCSUg+4QC/Y46+xlonPsj/PdXusAWFq68ad+51U2Vto
 lBf3JG566c2I6i1jSeTW+QzAZGx/tuKZWi0bUFUI3Uxy9i80yf9ItEOvmwkfx8B3tUsImGwP
 hKK0e9FzNoKZSbxM/cqC26kI55ypZUMA+gJQRw9gjBmRpFqPDGK8yh1DaJ79zC8yRN8+U3T1
 HryTCpNMZr5If49pNZOb71BuYLHPwhnrY8pebj1zg68zZ2Vb2OPRLEOPTOmN75mvfPZ/VuEq
 Y4OaKNmLimzt8WgChQ7DKZJdQxaRZTFLcmeRzNrmh6rfVM9RTBJ5w75yrI9YY1195loehPz1
 ijlACdwkQOv7UAr3C3WMhiPnpuzB8cgxZ/6VARwVWuVN48LPdn/t/dDK8poFVTlncQ6pcNJo
 zA+U53oKpxypv7vpWp1gUXVxGC6SCmWuA==
IronPort-HdrOrdr: A9a23:q0JR06AjwF2N7svlHemE55DYdb4zR+YMi2QD/Ep6ICYlCfBwWf
 re5cjztCWE8Ar5PUtLpTnuAtjkfZqxz+8W3WBVB8bAYOCEggqVxeNZnO/fKlTbckWUygce78
 ddmsNFebrN5DZB/KDHCcqDf+rIAuPrzEllv4jjJr5WIz1XVw==
X-IronPort-AV: E=Sophos;i="5.98,294,1673931600"; 
   d="scan'208";a="105415416"
Date: Mon, 27 Mar 2023 15:00:27 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Demi Marie Obenour
	<demi@invisiblethingslab.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>
Subject: Re: [PATCH] configure: Drop --enable-githttp
Message-ID: <d3d2c13f-5fed-4f02-91f3-be803b2f8588@perard>
References: <20230324201404.3247572-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230324201404.3247572-1-andrew.cooper3@citrix.com>

On Fri, Mar 24, 2023 at 08:14:04PM +0000, Andrew Cooper wrote:
> Following Demi's work to use HTTPS everywhere, all users of GIT_HTTP have
> been removed from the build system.  Drop the configure knob.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Do we need a changelog entry about these changes? (That git clone are
now default over https and --enable-githttp / GIT_HTTP are ignored.)

In any case:
Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 14:04:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 14:04:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515291.798004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgnSu-00072W-Ut; Mon, 27 Mar 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 515291.798004; Mon, 27 Mar 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 1pgnSu-00072P-R8; Mon, 27 Mar 2023 14:04:52 +0000
Received: by outflank-mailman (input) for mailman id 515291;
 Mon, 27 Mar 2023 14:04: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=s+OC=7T=citrix.com=prvs=44343e547=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1pgnSu-00071o-7b
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 14:04: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 560e3807-cca8-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 16:04:50 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 560e3807-cca8-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679925890;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=QhyMc0WEvzx0FwUZGFOL5dmiwy3DxKjdTkJHrJybHcY=;
  b=GtyEPX5TtpHPlOKZlBgWe+ogU7RP9l+/nrFwEf1hf5Q7gL64W+8CuNO0
   TeEmTzoBjJK6PRHULbj6htS/9XVbosML7iPXbXq+6Vz02QWVBgPuYQVm0
   tJhV3YFbK1Qh2s1iw8NCpS8GWmptcuF8zljsB6rr9pVX9raDnD7NQ214h
   Q=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 102913306
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:+C89j66/RvB6TpXMeW492AxRtA7HchMFZxGqfqrLsTDasY5as4F+v
 jEZUGqDaKmKZGvwKd0jOdi+9BsAsJ7TzIRmSQFprX8zHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasR4weH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5my
 tFEbx8LMRa/o/udxZCxbNBPm+QeFZy+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrnD5bz1frkPTvact6nLf5AdwzKLsIJzefdniqcB9xx7C9
 zudpDynav0cHIe/zgiOwmuDutfwwxjKYYQwNKGhqvE/1TV/wURMUUZLBDNXu8KRiESzRtZeI
 Ew84Tc1oO4580nDZsnwWVi0rWCJujYYWsFMCKsq5QeV0K3W7g2FQG8eQVZpasEitcIwbSwn0
 BmOhdyBLSd0rLSfRHaZ97GVhTC/Iy4YKSkFfyBsZRQBy8nupsc0lB2nZt97HbS8lNHdBTD6y
 DfMpy8774j/luZSif/9pwqexWvx+N6QFFVdChjrsnyN0S4lI6GjOIqUzUHw6NRKCr+6U3m8h
 S1R8ySB19ziHa1hhQTUHrpcQu/0va3dWNHPqQUxRsd8rlxB71bmJNkNu28meS+FJ+5eIVfUj
 FnvVRS9DXO5FF+jdudJbo24EKzGJoCwRI2+Bpg4gjejC6WdlTNrHwk0PyZ8J0i3zCARfVgXY
 P93i/qEA3cAErhAxzGrXeob2rJD7nlgmjKDGM2lnk7/gOX2iJuppVAtbjOzgh0RtvvY8G05D
 f4GXyd19/mveLKnOXSGmWLiBVsLMWI6FfjLliCjTcbaelAOMDh4W5fsLUYJJ9QNc1J9yr2Zo
 RlQmyZwlDLCuJEwAVnVOiszNO++Av6SbxsTZEQRALph4FB7Ca7H0UvVX8FfkWUPnAC78cNJc
 g==
IronPort-HdrOrdr: A9a23:XmnqKqzEHrHph/Vw+gcbKrPw671zdoMgy1knxilNoRw8SL3/qy
 nOppQmPHrP4wr5N0tApTntAtjkfZq+z+8N3WByB8bbYOCOggLBQ+9fBOPZskbd8kbFh4pgPM
 lbAs9DIey1IGJWyeDdy2CDf+rIxuPszImYwd3z9TNGayZES49d1C9FKiC9VndbeWB9dPkEPa
 vZ6cpDqyChangMB/7XOlAOQ/LfodnGj7LKCCR2ZSIa1A==
X-IronPort-AV: E=Sophos;i="5.98,294,1673931600"; 
   d="scan'208";a="102913306"
Date: Mon, 27 Mar 2023 15:04:43 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Andrew
 Cooper" <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] include: don't mention stub headers more than once in a
 make rule
Message-ID: <2ef8e03e-0150-494d-a3c0-6467e102f027@perard>
References: <a2b798b6-a5f8-abde-222c-5049cc11c6eb@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <a2b798b6-a5f8-abde-222c-5049cc11c6eb@suse.com>

On Wed, Mar 22, 2023 at 11:59:40AM +0100, Jan Beulich wrote:
> When !GRANT_TABLE and !PV_SHIM headers-n contains grant_table.h twice,
> causing make to complain "target '...' given more than once in the same
> rule" for the rule generating the stub headers. We don't need duplicate
> entries in headers-n anywhere, so zap them (by using $(sort ...)) right
> where the final value of the variable is constructed.
> 
> Fixes: 6bec713f871f ("include/compat: produce stubs for headers not otherwise generated")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 14:21:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 14:21:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515297.798014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgniV-0001AN-9a; Mon, 27 Mar 2023 14:20:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515297.798014; Mon, 27 Mar 2023 14:20:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgniV-0001AG-6l; Mon, 27 Mar 2023 14:20:59 +0000
Received: by outflank-mailman (input) for mailman id 515297;
 Mon, 27 Mar 2023 14:20:57 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=jSZI=7T=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1pgniT-0001A8-J1
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 14:20:57 +0000
Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com
 [64.147.123.20]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 945dbe8b-ccaa-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 16:20:54 +0200 (CEST)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id B4D5E3200934;
 Mon, 27 Mar 2023 10:20:50 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Mon, 27 Mar 2023 10:20:51 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 27 Mar 2023 10:20:48 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 945dbe8b-ccaa-11ed-85db-49a42c6b2330
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=fm2; t=
	1679926850; x=1680013250; bh=klLp4VrtdBfnXQ21jdqKG/3aERI4nkuWbXB
	cQaTD080=; b=A1tzHhXCA3pUXbRJ2XdnSVzc1Urc0ARbmn4jLVPeTf6N5zEhxFx
	Ufpg1H9wXl6mr0tpcx4IygT2xFB6aDxQDbkL/iDcMf35lrSPqIYzeuXaJ4RwhBkI
	NuDr4S9kRWu2JxI651crB5unDYnhfs8JV4f6wcYGELw6+eWlTq+iO4Nv6JSDc4gm
	qZXBtOqSQrNqB8FAHnDjPqgRgi0GHE6h71wbBq5CWuWUV+DVlzYItWoAsmd2HOds
	o/yKi1PYrsoj1uNVbKHoHAfkoxlkGkv80R/0ZKJ60XOC7CdJl9rtKirkxaoA2G7q
	kyvJIBWf6mWAV1Hm/vxKxq32EHRN1kCy5Cw==
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=fm2; t=1679926850; x=1680013250; bh=klLp4VrtdBfnX
	Q21jdqKG/3aERI4nkuWbXBcQaTD080=; b=Hcwkup2txfPOXBgEw/atc+mx2jUry
	j+S1ztz9wVOs8JhfJY+LWXzCKsBtzQWVOOwGhteF+c4bNHL3zoPm3Oy2ovwjLeWn
	eeG+MYWpgnkvM8+6MiQbfxkfWhsUD2ttqFPH98EfIJM3D+jFnQ3EfyfHvuq6mdI1
	Rlk0wFfIFLX7TC/NgFEOhE9IQDtFNrzLLTXdQwrYAbiaQ5f5+D3fb8qhkDUnPEMS
	7aAr8JXiYq/2biPZU/5vrba30Duxb2dazH5Lwmn5VydXtgz7JYrKdNN3oXeRdL/1
	5nOhDo7TEzwWhVfFOUwhg6rx3vjQh0Yz0/AaBQz8nh6mevcfdKa/MiIYA==
X-ME-Sender: <xms:QaYhZIN_a0cXP_MQkdMRpEENaFvGeFcFMK0_eyWmk2ugUfWpwiR96w>
    <xme:QaYhZO8YD2wakU8-Di7srE-FBihi_BBO-Pg63vRQwn_uohy5vCnANGB0y28T8mfB7
    coJgNO-Givs4A>
X-ME-Received: <xmr:QaYhZPSviMgXZo-8qqYQvdo34elpkVWOd2fPpig7m2l3QDpuqhhrs5SYNhEtsEfW_VrPZJfAvU0Vu-KPDAuYvpr64IqgVZgn87E>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehvddgjeehucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:QaYhZAuPG0L_GcU1SUXiC-Ztvvctoe6aAM-xidimoMDQkR9S2LCjcA>
    <xmx:QaYhZAeOp4ypacLgubih-1jOKWIUtjxWdHfIMkhKRz3wtyWpgDL4KA>
    <xmx:QaYhZE1fTO5c54hPh1eXP-k0SmIHzaZ-s7w5IFa4E4wroLrzc4Xe7Q>
    <xmx:QqYhZI6B0qW4wqwn9B8em1yXoLgXMxGS6ceHltVx3Fvm5Z0DL0IGyQ>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 27 Mar 2023 16:20:45 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/3] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model
Message-ID: <ZCGmPZcyWE2za+rw@mail-itl>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <ZCFsDbKfGvn7giN+@Air-de-Roger>
 <ZCFvPTpOixe582JU@mail-itl>
 <ZCF1HX6Dp7mrm65l@Air-de-Roger>
 <ZCF/P22HaeZs4+To@mail-itl>
 <ZCGaU1sM/z3wJzJF@Air-de-Roger>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="8O6l5slQpBbB/nyb"
Content-Disposition: inline
In-Reply-To: <ZCGaU1sM/z3wJzJF@Air-de-Roger>


--8O6l5slQpBbB/nyb
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 27 Mar 2023 16:20:45 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/3] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model

On Mon, Mar 27, 2023 at 03:29:55PM +0200, Roger Pau Monn=C3=A9 wrote:
> On Mon, Mar 27, 2023 at 01:34:23PM +0200, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > On Mon, Mar 27, 2023 at 12:51:09PM +0200, Roger Pau Monn=C3=A9 wrote:
> > > On Mon, Mar 27, 2023 at 12:26:05PM +0200, Marek Marczykowski-G=C3=B3r=
ecki wrote:
> > > > On Mon, Mar 27, 2023 at 12:12:29PM +0200, Roger Pau Monn=C3=A9 wrot=
e:
> > > > > On Sat, Mar 25, 2023 at 03:49:22AM +0100, Marek Marczykowski-G=C3=
=B3recki wrote:
> > > > > > QEMU needs to know whether clearing maskbit of a vector is real=
ly
> > > > > > clearing, or was already cleared before. Currently Xen sends on=
ly
> > > > > > clearing that bit to the device model, but not setting it, so Q=
EMU
> > > > > > cannot detect it. Because of that, QEMU is working this around =
by
> > > > > > checking via /dev/mem, but that isn't the proper approach.
> > > > > >=20
> > > > > > Give all necessary information to QEMU by passing all ctrl writ=
es,
> > > > > > including masking a vector. This does include forwarding also w=
rites
> > > > > > that did not change the value, but as tested on both Linux (6.1=
=2E12) and
> > > > > > Windows (10 pro), they don't do excessive writes of unchanged v=
alues
> > > > > > (Windows seems to clear maskbit in some cases twice, but not mo=
re).
> > > > >=20
> > > > > Since we passthrough all the accesses to the device model, is the
> > > > > handling in Xen still required?  It might be worth to also expose=
 any
> > > > > interfaces needed to the device model so all the functionality do=
ne by
> > > > > the msixtbl_mmio_ops hooks could be done by QEMU, since we end up
> > > > > passing the accesses anyway.
> > > >=20
> > > > This was discussed on v1 already. Such QEMU would need to be able t=
o do
> > > > the actual write. If it's running in stubdomain, it would hit the e=
xact
> > > > issue again (page mapped R/O to it). In fact, that might be an issu=
e for
> > > > dom0 too (I haven't checked).
> > >=20
> > > Oh, sorry, likely missed that discussion, as I don't recall this.
> > >=20
> > > Maybe we need an hypercall for QEMU to notify the masking/unmasking to
> > > Xen?  As any change on the other fields is already handled by QEMU.
> > >=20
> > > > I guess that could use my subpage RO feature I just posted then, bu=
t it
> > > > would still mean intercepting the write twice (not a performance is=
sue
> > > > really here, but rather convoluted handling in total).
> > >=20
> > > Yes, that does seem way too convoluted.
> > >=20
> > > > > > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisi=
blethingslab.com>
> > > > > > ---
> > > > > > v2:
> > > > > >  - passthrough quad writes to emulator too (Jan)
> > > > > >  - (ab)use len=3D=3D0 for write len=3D4 completion (Jan), but a=
dd descriptive
> > > > > >    #define for this magic value
> > > > > >=20
> > > > > > This behavior change needs to be surfaced to the device model s=
omehow,
> > > > > > so it knows whether it can rely on it. I'm open for suggestions.
> > > > >=20
> > > > > Maybe exposed in XEN_DMOP_get_ioreq_server_info?
> >=20
> > Make flags IN/OUT parameter (and not reuse the same bits)? Or introduce
> > new field?
>=20
> I think it would be fine to make it IN/OUT, but see below.
>=20
> > > > >=20
> > > > > But I wonder whether it shouldn't be the other way arround, the d=
evice
> > > > > model tells Xen it doesn't need to handle any MSI-X accesses beca=
use
> > > > > QEMU will take care of it, likely using a new flag in
> > > > > XEN_DMOP_create_ioreq_server or maybe in XEN_DOMCTL_bind_pt_irq as
> > > > > part of the gflags, but then we would need to assert that the fla=
g is
> > > > > passed for all MSI-X interrupts bound from that device to the same
> > > > > domain.
> > > >=20
> > > > Is is safe thing to do? I mean, doesn't Xen need to guard access to
> > > > MSI-X configuration to assure its safety, especially if no interrupt
> > > > remapping is there? It probably doesn't matter for qemu in dom0 cas=
e,
> > > > but both with deprivileged qemu and stubdom, it might matter.
> > >=20
> > > Right - QEMU shouldn't write directly to the MSI-X table using
> > > /dev/mem, but instead use an hypercall to notify Xen of the
> > > {un,}masking of the MSI-X table entry.  I think that would allow us to
> > > safely get rid of the extra logic in Xen to deal with MSI-X table
> > > accesses.
> >=20
> > But the purpose of this series is to give guest (or QEMU) more write
> > access to the MSI-X page, not less.
>=20
> Right, but there are two independent issues here: one is the
> propagation of the MSIX entry mask state to the device model, the
> other is allowing guest accesses to MMIO regions adjacent to the MSIX
> table.
>=20
> > If it wouldn't be this Intel AX
> > wifi, indeed we could translate everything to hypercalls in QEMU and not
> > worry about special handlers in Xen at all. But unfortunately, we do
> > need to handle writes to the same page outside of the MSI-X structures
> > and QEMU can't be trusted with properly filtering them (and otherwise
> > given full write access to the page).
>=20
> Indeed, but IMO it would be helpful if we could avoid this split
> handling of MSIX entries, where Xen handles entry mask/unmask, and
> QEMU handles entry setup.  It makes the handling logic very
> complicated, and more likely to be buggy (as you have probably
> discovered).
>=20
> Having QEMU always handle accesses to the MSI-X table would make
> things simpler, and we could get rid of a huge amount of logic and
> entry tracking in msixtbl_mmio_ops.
>=20
> Then, we would only need to detect where an access falls into the same
> page as the MSI-X (or PBA() tables, but outside of those, and forward
> it to the underlying hardware, but that's a fairly simple piece of
> logic, and completely detached from all the MSI-X entry tracking that
> Xen currently does.
>=20
> > So, while I agree translating {un,}masking individual vectors to
> > hypercalls could simplify MSI-X handling in general, I don't think it
> > helps in this particular case. That said, such simplification would
> > involve:
> > 1. Exposing the capability in Xen to the qemu
> > (XEN_DMOP_get_ioreq_server_info sounds reasonable).
> > 2. QEMU notifying Xen it will handle masking too, somehow.
>=20
> I think it's possible we could get away with adding a new flag bit to
> xen_domctl_bind_pt_irq, like: XEN_DOMCTL_VMSI_X86_MASK_HANDLING that
> would tell Xen that QEMU will handle the mask bit for this entry.

Technically, for Xen to not care about those writes, it would need to
observe this flag on all vectors, including those not mapped yet. In
practice though, I think it might be okay to say device model should set
XEN_DOMCTL_VMSI_X86_MASK_HANDLING flag consistently (either on none of
them, or all of them), and Xen can rely on it (if one vector has
XEN_DOMCTL_VMSI_X86_MASK_HANDLING, then assume all of them will have
it).

> QEMU using this flag should be prepared to handle the mask bit, but if
> Xen doesn't know the flag it will keep processing the mask bit.
>=20
> > 3. QEMU using xc_domain_update_msi_irq and XEN_DOMCTL_VMSI_X86_UNMASKED
> > to update Xen about the mask state too.
> > 4. Xen no longer interpreting writes to mask bit, but still intercepting
> > them to passthorugh those outside of MSI-X structures (the other patch
> > in the series). But the handler would still need to stay, to keep
> > working with older QEMU versions.
>=20
> Xen would need to intercept writes to the page(s) containing the MSI-X
> table in any case, but the logic is much simpler if it just needs to
> decide whether the accesses fall inside of the table region, and thus
> needs to be forwarded to the device model, or fails outside of it and
> needs to be propagated to the real address.
>=20
> While true that we won't be able to remove the code that partially
> handles MSIX entries for guests in Xen, it would be unused for newer
> versions of QEMU, hopefully making the handling far more consistent as
> the logic will be entirely in QEMU rather than split between Xen and
> QEMU.

In fact, it was easier for me to register a separate ioreq server for
writes outside of the MSI-X table. But I'm afraid the current one would
need to stay registered (just not accepting writes).

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--8O6l5slQpBbB/nyb
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQhpj4ACgkQ24/THMrX
1yy/Uwf9FDFZkg2EAG98xV0Sh4oEFRywc8b1F9/++Fc8MJ/o0QAjAcMKhMiIg4Zf
74CvPUh0XaA9kWYNkaIpYt8AXrJjwVP5ObE4GEwLNSI8ibuLpT9NvIeX/XWZSgAZ
nXXG3v4Ju9Hu6A7lCUUA1e+YnzPsGfU0xzSA/15t7VoYOX7/6E0NCkkwIQywywU+
yMkzC4BzDp8pCbfFAty9dQLiJ6zMy0x6atiuaf88GiYdghJt/jgoOBggznosFhuP
8qDTRfUJtyL4Ma/mihh5qVhGe4eOstAwIZKqpUVMsaoeUUUBJReA6dSnZqAqCnFV
Iy3oVgNJPnR2QtmoR3DoB+LH4jG03A==
=Oaj9
-----END PGP SIGNATURE-----

--8O6l5slQpBbB/nyb--


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 14:37:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 14:37:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515306.798024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgnyY-0002t5-MX; Mon, 27 Mar 2023 14:37:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515306.798024; Mon, 27 Mar 2023 14: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 1pgnyY-0002sy-IM; Mon, 27 Mar 2023 14:37:34 +0000
Received: by outflank-mailman (input) for mailman id 515306;
 Mon, 27 Mar 2023 14:37:32 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=d31z=7T=citrix.com=prvs=4435eb1af=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pgnyW-0002ss-Bv
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 14:37:32 +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 e31dbb88-ccac-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 16:37:25 +0200 (CEST)
Received: from mail-dm3nam02lp2045.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 27 Mar 2023 10:37:25 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH8PR03MB7308.namprd03.prod.outlook.com (2603:10b6:510:254::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.41; Mon, 27 Mar
 2023 14:37:22 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Mon, 27 Mar 2023
 14: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: e31dbb88-ccac-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679927849;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=t/JOudHH7PfVN3UFa6YiS0zewuuJ+wj/kCmjxPohUrk=;
  b=NMQL4A2BdHGyGsr5xZ2LbRK9fET+GHxUr8SlJTKr+6ln3HBuUyOMEAoR
   PGA+FDQ7uKyPBu3XKUokoxj5go1fi+32uDt3fnC0lnzfxo4k0YblcxAQD
   Ls83/Ykd6P2K0BRp9f4Wng/GpdT3tUaIECg5XWZ6l+PdGKiTV1vJPv+2J
   w=;
X-IronPort-RemoteIP: 104.47.56.45
X-IronPort-MID: 102923428
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:7mKFhamqTWHmn1LThXqReEro5gxcJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xJNDGqGaKmPNGbxeo9zadiz/UhXsZOHzNZnHARvqilnEiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5gCGzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 eBEBDVQRQuGvdidxrame9VrnJhkAta+aevzulk4pd3YJdAPZMiZBonvvppf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVI3jOWF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eWxXmqAtlOTu3QGvhCrUPKwn0iDjAtZEbk+9m7sRCARehPJ
 BlBksYphe1onKCxdfH4Vge9qWSJvTYdXcRRCOww7AyRyqvS7B2dD2JCRTlEAPQ2uclzSTE02
 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9BW0LYyMeXBYGy9bmqYA3yBnIS75LEqS4k9n0EjHY2
 C2RoW41gLB7pdEP/7W2+xbAmT3Em3TSZgs85wGSUmf+6Ap8PNShf9bwtQWd6utcJoGESFXHp
 GIDh8WV8OEJC9eKiTCJR+IOWrqu4p5pLQHhvLKmJLF5nxzFxpJpVdkIiN2iDC+F6vo5RAI=
IronPort-HdrOrdr: A9a23:J/K5lqzfGKE3eDWqqvBFKrPw671zdoMgy1knxilNoRw8SL3/qy
 nOppQmPHrP4wr5N0tApTntAtjkfZq+z+8N3WByB8bbYOCOggLBQ+9fBOPZskbd8kbFh4pgPM
 lbAs9DIey1IGJWyeDdy2CDf+rIxuPszImYwd3z9TNGayZES49d1C9FKiC9VndbeWB9dPkEPa
 vZ6cpDqyChangMB/7XOlAOQ/LfodnGj7LKCCR2ZSIa1A==
X-IronPort-AV: E=Sophos;i="5.98,294,1673931600"; 
   d="scan'208";a="102923428"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VXX+2MpLgR8jXEyzlexmWpLCznFAcizEKdDBbyta0c6RaU//xTLrgJhTNMroFHYOak8fbFqEaru64BNzyKTVGsXN4G4Xpc/AkrcuQdeuISkr//cy64nTWALGCi+tnlC8k17mcIOfnK6n8xAavdtz8L9hEmoOsbi1Iae94+2IS6R5FjYO5FXanYWM9pN4KFEQors+8hvM08TrELeWfFroSXyoA9x8jQHH9NtZTGNO3YKHrINvajlSIBjEmaZh01zbvCV5mp46/Sn0yEG4/Jy1umgkfzaihibThW4SAqzWZjiJvUK9Of8Hb8Xn0k6reet2CmTE4kvI50ckpy0JQmjD9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t4U/iOvc4GK2jeuldVJLiDqeVp/B957B7zqLJNBBoqg=;
 b=jy7bLrHC4j4JQ/FEKDzu8ygSFAp9CqMiwkWHBTIvfNg4o1wP1g9d3oTCmfy459WlxzupI8yfKVikpyln942ojxjHAulEpvyhprMrCmvTKFG9ESoyhTkOOL/3hrxEj+BOfS36SnjjTnyaBBep1DT0hOiHU7pISTT4n0DYYVJoKHs0U2/InAzjztZQ1qKtDE5D0rHT6shgg5u58iKgRTFrlOdog4FFOj8/ns/r8YJbpvQGFsBpm/GZJEZ53qQz4+0tedtVVIVc/mUUcifrvsG2MWE4kQOU07G/jpFXqTMFf/GrsK40sisOwN0muWcxNiuD/9S9IwUdeRCyYfsW/UT6jg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t4U/iOvc4GK2jeuldVJLiDqeVp/B957B7zqLJNBBoqg=;
 b=GaACp2g8kihfu2Mna7PCLQwtxC7UR2PhjBWNkI0h6DwsRctm9UYCJsMyzZreAWYdUeiprKTuI8v7VA/DvHZey4mgBWTViRj/Z+JUPidpXk1cML016pfoyIJESogVv53VtUEIu2oxvdmIuGG74SDDeQcgqzxNh4zdQY9C4sv5g+0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 27 Mar 2023 16:37:15 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 1/3] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model
Message-ID: <ZCGqGwzxLdpGlB9D@Air-de-Roger>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <ZCFsDbKfGvn7giN+@Air-de-Roger>
 <ZCFvPTpOixe582JU@mail-itl>
 <ZCF1HX6Dp7mrm65l@Air-de-Roger>
 <ZCF/P22HaeZs4+To@mail-itl>
 <ZCGaU1sM/z3wJzJF@Air-de-Roger>
 <ZCGmPZcyWE2za+rw@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZCGmPZcyWE2za+rw@mail-itl>
X-ClientProxiedBy: LO4P265CA0183.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:311::6) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH8PR03MB7308:EE_
X-MS-Office365-Filtering-Correlation-Id: 4b6c9eb7-aa4a-4f61-8efc-08db2ed0c5a6
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZZ2wr23SizsewEIQYJ+yUZfB827sye0ncMcf4wGon566sBFuszF7WusZoQNdKcr2qosvei6kj+vwzLwXXe36zAFZAR/0O56MOBzqgfpQXWZxv3ibKcAK+J30VBpVRt2qaMcBafKB7eUMRmDaZUdN4Oeq7WPSI3pXCflcAyvrqXYZF2pldwKml7HKCAVgufILlEFBVV3KPaXJm6Z8x5XnReREax/XrANYBMP/ko3ZG2XB2ZdMP6WTE0kWoObm9UhmQNnQ+POgUuW3PUn/mgycvSI3ODb/54PeW6Yyk2tJVajsvHkGvjm17yBk1S7UysEfDYG3IZgoIIF4MFcffjA1sMilDIzXUb7+QUcPawoXQkMF2VS8k2NNz89W95nn82ZFSyBHclH067xp2lCE4RK0wQ15NRvW4YR53yd6WzqDWa07/R9E7gLV3RrLNavoFwyW7Alek66m+6nicGj+9X7yTP4nQuP+0P8kcvrYLmHgOr8xnDzorcJQOdmS6tr62zCB03pnCh0sfSm3d3t9eOW6LbXMRN/zzLQkktGJ6jz7igPYJZuic8nf/MAiiw0GOn26
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(136003)(396003)(366004)(346002)(39860400002)(376002)(451199021)(66899021)(83380400001)(2906002)(66574015)(85182001)(316002)(9686003)(6666004)(5660300002)(54906003)(6486002)(8936002)(66946007)(478600001)(4326008)(6512007)(66556008)(8676002)(41300700001)(186003)(6916009)(38100700002)(33716001)(82960400001)(6506007)(26005)(66476007)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UjFJaWhmQ0dOQUJxMmJ3b1ZTM2d6eU8rT05qbXY5YWdiMmpjQzV6dmxJUXp1?=
 =?utf-8?B?TVVUMzRsQk42bzJLZ3hsc1NudnZtRlZKWm1CSzRjL0ZkVkhOdnpOcXJRMDNL?=
 =?utf-8?B?Yi8xRmxGN25FSWp6ZGlKVG9nbFBVaHNJVDg4ck8zcmZ6OUxMTDFzNGE0d29l?=
 =?utf-8?B?dGFnLzJKL09xR2FqUDU3U1Q5RWJPMEpVR05kVUpHU3IwUEdOd3hLc2s2ZmZN?=
 =?utf-8?B?N2lVSTI1ZFJVRm5qMDdIMzNjTWNacGhURjFHald6bm9mRjlTTm4zczJKQUhj?=
 =?utf-8?B?dDFjQlVkV1VBUXV1dTVKS1oxWmYrSUxQZjY3Nzc1akUyNExHcm1EUDIwR1Jt?=
 =?utf-8?B?ZW96KzZBbFdxYnpFOXZTZm9ZRzVkdm56SVlva2FEaFQvWld6c2ZReS8xcGQ3?=
 =?utf-8?B?Sk5qK0lkWm5sUldDV1hFRU51WHR0TEw5UVR4WmF1ekdqRjQwVUZOUHlNOFZU?=
 =?utf-8?B?RnBoUlhKdHZCSDBXcWRjVTNvaU5yK0hreVA3UU5ZOVJHbEYyNktoOGl0b3lH?=
 =?utf-8?B?LzBnQTdMa0FseVNseUFaWnkyTWE2MmlhUVRDRHJsdkJyYnVZNDBwM0FuTGZQ?=
 =?utf-8?B?VHRqKytZU05qV0tFNkNsb3hoU3BsTjNhR2FJdGw4ell0NC9ZZjIwQ054eDhY?=
 =?utf-8?B?b1NiZkVDaXB2V2hON01mRHZJUVFsMjdBY09OL2F6dHpUamJUcmN4Q3VRb0NK?=
 =?utf-8?B?eFVvZjZuMGRjeUh4UEpxRnR6dEcwenpnNzFPSUw5NjZ0RDA5MkpwaXlxVE9k?=
 =?utf-8?B?eUFMVnJMM2hMNnFJSUJ2SUdVTFd1ckRRZ0FsZk12Vzh5enlZbi9NUUs5VndT?=
 =?utf-8?B?bkQ0OS9QME0zajdWOUdQMVFVNlQ5L0U4cHlQOFI5d3RvQzhSRlhPTmdTem5J?=
 =?utf-8?B?UTUwUnJpRWNyK3BGbFMyaC9ZMGxCd3pTODc3RjZ1RmtEd2l0a1NwaDRnRnZr?=
 =?utf-8?B?ak9XM2IwWjFLZlFid2R2cnhTRXJPcEJSRlQ4NTlGWjhpaWJXYWhJMUp4VEt2?=
 =?utf-8?B?MTR5Wms4cmJlV200UlAyRkVpeDBlQ1IvTXZmTjcwOWFMVTN6Zkk5M0FKZ0xH?=
 =?utf-8?B?WlUxa2JEamt0eHNZMnRpZ3c4Y0VGclBLcWZmNmpSTmNxU3dMVGcyVC8xT2lF?=
 =?utf-8?B?MXhzbTZ1NDZqTkpoRFhjbmpTSHNCTnoxclNYNVFnOG44dWpwdHdDdDM5QWlP?=
 =?utf-8?B?Sjk3UUdYanN2WHNnRHo1QnAxekl2Z2xCVzdFYnE5STlsRjRMUzM4RmYvUElk?=
 =?utf-8?B?NDBmK1lkSnVHd3RxRWJoZi9WVTZuS0NCRjBrVTRVMkpwZ0hDaFUrZ1g1RzFW?=
 =?utf-8?B?NzdnQTQzTFpDMkJaQ0tQTHdLWlpwYmQ5Sk9TRUoxYzl4eXVEQ21sS2lLS2lI?=
 =?utf-8?B?bWh4ZlozTUxRN0VVRHQvWndkS2FMYVRaWHNkWmkyYXFUWjhjNXpQTVkxTlFH?=
 =?utf-8?B?VVRVNnV3L244cGRPS0xmd25KbmorcEVJQzgrYk1USW1lUzVCbElqVHhrTlg2?=
 =?utf-8?B?M3oyVytsdlIvampnTmhldTZzTUMyamgvWDVWdkJLbS85aU1ObjI3WjhSS2c3?=
 =?utf-8?B?cTNvN2JtbUIzMTh2TFZnSlRLQkZYS3VyUXRTeXZBTTdkZG02c09ZQnB1ZlY0?=
 =?utf-8?B?SWFiRUJmOUVOUDdCeUhZUkVCSDM3dk9IeThPRFh2NEJLWXBodWU2djMwYk5q?=
 =?utf-8?B?NElFNXpFamt2anFndTdDeG45TWVEejg1SkV4a0dQa2c1Mm9OcWlkT3pwMXNI?=
 =?utf-8?B?dE90TlpGVGgxU0Y2Z081MDhvbGN3eVk2ZGpUdEJCRzgxVHBZakIzYUZ3UlNu?=
 =?utf-8?B?Y2FGeTZFY2RkSU0zS0s0eVlvRzR2bXpjeGlFR2xLR2QrVHk2UFlUbjVpNE5T?=
 =?utf-8?B?V1o0M3R1MC9lNHQwQ3RieXZIRGJlcXFDUTVGMGFxMTEvbzNDQ0NDcU5idm5w?=
 =?utf-8?B?NTNpNEtKc0VKdWhqYU5wT20yREV4c2Q1RWo0ZzVhckpNb0l5YmFhOG5EVzYr?=
 =?utf-8?B?V05UbzFjb3Q2NGVUTHkvY0FDRmtLQUlPK3lDK2VrZXh3N0lqcURPTkdWS1hW?=
 =?utf-8?B?SFoveUQ1Q3BqWHBrbTQrWm12dTBQNEhXT3diRnFPYXYyWCtzMGs3ZUxKWTJU?=
 =?utf-8?Q?3XTPHsStdBeygv5UwEm2LRsYr?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Jk/XW3oM82SGE5Py+yA5ZbF6PeNmoxNTu7JlUGpko8iSmfLJ7IIGENREpfIjofKH7TuisGHksNB/IMO75Xw8QpDZAKEcP7YJclebQG0Uqfib/oraieoFfaRSdABA//QeCtFXXxk4BfoEZi3kBJ3WzQXrjsGIjHvI6wPK4uibLkJ2JPt40xH1frsTZHtLTIHUFQSsosfacC/G+DmLKLBkKjiiBjLnpuskLL6wMIIDaYMI54Jph9Gfpxv8aS8dGi4nfnys0c7U9AgzMstl0VeMUSrlMsXBq5XiM1VydSN+0Q09q6Ths/te57V2xMTqfrtitwEBr6eHh6tXzjtXP8slbn0kXap9rJIfxb1qBGHXpG9Y5hLrZKLJ9NMI8+D7wW5AwaMihSCRIxqN2CYtn6ScYS0ONpsAvJhJEMyHygu9gJtwQDvvAoPZX4B+muursCARM0i667kPr9To0M+C0g26XD+i3y9RxOmINN+f66fJWqsSWEchAvGE1/ZVm38u1mHPVLNdxIzavMwEjV+FXeC5FWJOJHxwr7Ri17aQ6j+MWNzkY9ExzcY7O0wn3Xxyg15AI4tzLDd3AnVd+GhkuC9vsIv0HGn/idSI3B8hxbyGt3r+2sZsaQSt4WcLoDPvo2wniN42hKFuq+x+iwg6F2W8YRNopuRzuhg06PBcegm/CpoCgnFgHgX78pEAfjm2AoPrNgxQWDPXgYmSFiIrCMc2JWfhioN8bsEcsBrjobbSctg4LJFMhV+eigGyNU9Enmpb112lQb7HPKyYKxBlGxYNh7DXBc5oWPALQ83d4fBqu8LLMW7EDhcnN3spNuBe0vckimzGno2UQr01X2YlFYy83QBSFFcvFEQ1YdZSwnORNtIHgXNGhGKuypt60RuRf9uhn4skzAhKnIXl33e+G9UfWPpYPQ8wSQ1EvmUV5192jV8=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4b6c9eb7-aa4a-4f61-8efc-08db2ed0c5a6
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 14:37:21.0609
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xleBxpHmbP+sgMnOW42/LdQDAVs9cbUXRDF674Wgd7C6eYDuR2sLTq62wPCCyete6oWWxsYHECw9xcv6E6DgOw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR03MB7308

On Mon, Mar 27, 2023 at 04:20:45PM +0200, Marek Marczykowski-Górecki wrote:
> On Mon, Mar 27, 2023 at 03:29:55PM +0200, Roger Pau Monné wrote:
> > On Mon, Mar 27, 2023 at 01:34:23PM +0200, Marek Marczykowski-Górecki wrote:
> > > On Mon, Mar 27, 2023 at 12:51:09PM +0200, Roger Pau Monné wrote:
> > > > On Mon, Mar 27, 2023 at 12:26:05PM +0200, Marek Marczykowski-Górecki wrote:
> > > > > On Mon, Mar 27, 2023 at 12:12:29PM +0200, Roger Pau Monné wrote:
> > > > > > On Sat, Mar 25, 2023 at 03:49:22AM +0100, Marek Marczykowski-Górecki wrote:
> > > > > > > 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. This does include forwarding also writes
> > > > > > > that did not change the value, but as tested on both Linux (6.1.12) and
> > > > > > > Windows (10 pro), they don't do excessive writes of unchanged values
> > > > > > > (Windows seems to clear maskbit in some cases twice, but not more).
> > > > > > 
> > > > > > Since we passthrough all the accesses to the device model, is the
> > > > > > handling in Xen still required?  It might be worth to also expose any
> > > > > > interfaces needed to the device model so all the functionality done by
> > > > > > the msixtbl_mmio_ops hooks could be done by QEMU, since we end up
> > > > > > passing the accesses anyway.
> > > > > 
> > > > > This was discussed on v1 already. Such QEMU would need to be able to do
> > > > > the actual write. If it's running in stubdomain, it would hit the exact
> > > > > issue again (page mapped R/O to it). In fact, that might be an issue for
> > > > > dom0 too (I haven't checked).
> > > > 
> > > > Oh, sorry, likely missed that discussion, as I don't recall this.
> > > > 
> > > > Maybe we need an hypercall for QEMU to notify the masking/unmasking to
> > > > Xen?  As any change on the other fields is already handled by QEMU.
> > > > 
> > > > > I guess that could use my subpage RO feature I just posted then, but it
> > > > > would still mean intercepting the write twice (not a performance issue
> > > > > really here, but rather convoluted handling in total).
> > > > 
> > > > Yes, that does seem way too convoluted.
> > > > 
> > > > > > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > > > > > > ---
> > > > > > > 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
> > > > > > > 
> > > > > > > This behavior change needs to be surfaced to the device model somehow,
> > > > > > > so it knows whether it can rely on it. I'm open for suggestions.
> > > > > > 
> > > > > > Maybe exposed in XEN_DMOP_get_ioreq_server_info?
> > > 
> > > Make flags IN/OUT parameter (and not reuse the same bits)? Or introduce
> > > new field?
> > 
> > I think it would be fine to make it IN/OUT, but see below.
> > 
> > > > > > 
> > > > > > But I wonder whether it shouldn't be the other way arround, the device
> > > > > > model tells Xen it doesn't need to handle any MSI-X accesses because
> > > > > > QEMU will take care of it, likely using a new flag in
> > > > > > XEN_DMOP_create_ioreq_server or maybe in XEN_DOMCTL_bind_pt_irq as
> > > > > > part of the gflags, but then we would need to assert that the flag is
> > > > > > passed for all MSI-X interrupts bound from that device to the same
> > > > > > domain.
> > > > > 
> > > > > Is is safe thing to do? I mean, doesn't Xen need to guard access to
> > > > > MSI-X configuration to assure its safety, especially if no interrupt
> > > > > remapping is there? It probably doesn't matter for qemu in dom0 case,
> > > > > but both with deprivileged qemu and stubdom, it might matter.
> > > > 
> > > > Right - QEMU shouldn't write directly to the MSI-X table using
> > > > /dev/mem, but instead use an hypercall to notify Xen of the
> > > > {un,}masking of the MSI-X table entry.  I think that would allow us to
> > > > safely get rid of the extra logic in Xen to deal with MSI-X table
> > > > accesses.
> > > 
> > > But the purpose of this series is to give guest (or QEMU) more write
> > > access to the MSI-X page, not less.
> > 
> > Right, but there are two independent issues here: one is the
> > propagation of the MSIX entry mask state to the device model, the
> > other is allowing guest accesses to MMIO regions adjacent to the MSIX
> > table.
> > 
> > > If it wouldn't be this Intel AX
> > > wifi, indeed we could translate everything to hypercalls in QEMU and not
> > > worry about special handlers in Xen at all. But unfortunately, we do
> > > need to handle writes to the same page outside of the MSI-X structures
> > > and QEMU can't be trusted with properly filtering them (and otherwise
> > > given full write access to the page).
> > 
> > Indeed, but IMO it would be helpful if we could avoid this split
> > handling of MSIX entries, where Xen handles entry mask/unmask, and
> > QEMU handles entry setup.  It makes the handling logic very
> > complicated, and more likely to be buggy (as you have probably
> > discovered).
> > 
> > Having QEMU always handle accesses to the MSI-X table would make
> > things simpler, and we could get rid of a huge amount of logic and
> > entry tracking in msixtbl_mmio_ops.
> > 
> > Then, we would only need to detect where an access falls into the same
> > page as the MSI-X (or PBA() tables, but outside of those, and forward
> > it to the underlying hardware, but that's a fairly simple piece of
> > logic, and completely detached from all the MSI-X entry tracking that
> > Xen currently does.
> > 
> > > So, while I agree translating {un,}masking individual vectors to
> > > hypercalls could simplify MSI-X handling in general, I don't think it
> > > helps in this particular case. That said, such simplification would
> > > involve:
> > > 1. Exposing the capability in Xen to the qemu
> > > (XEN_DMOP_get_ioreq_server_info sounds reasonable).
> > > 2. QEMU notifying Xen it will handle masking too, somehow.
> > 
> > I think it's possible we could get away with adding a new flag bit to
> > xen_domctl_bind_pt_irq, like: XEN_DOMCTL_VMSI_X86_MASK_HANDLING that
> > would tell Xen that QEMU will handle the mask bit for this entry.
> 
> Technically, for Xen to not care about those writes, it would need to
> observe this flag on all vectors, including those not mapped yet. In
> practice though, I think it might be okay to say device model should set
> XEN_DOMCTL_VMSI_X86_MASK_HANDLING flag consistently (either on none of
> them, or all of them), and Xen can rely on it (if one vector has
> XEN_DOMCTL_VMSI_X86_MASK_HANDLING, then assume all of them will have
> it).

I agree.  I would just return -EINVAL if the flag is not consistent
across vectors on the same device.

> > QEMU using this flag should be prepared to handle the mask bit, but if
> > Xen doesn't know the flag it will keep processing the mask bit.
> > 
> > > 3. QEMU using xc_domain_update_msi_irq and XEN_DOMCTL_VMSI_X86_UNMASKED
> > > to update Xen about the mask state too.
> > > 4. Xen no longer interpreting writes to mask bit, but still intercepting
> > > them to passthorugh those outside of MSI-X structures (the other patch
> > > in the series). But the handler would still need to stay, to keep
> > > working with older QEMU versions.
> > 
> > Xen would need to intercept writes to the page(s) containing the MSI-X
> > table in any case, but the logic is much simpler if it just needs to
> > decide whether the accesses fall inside of the table region, and thus
> > needs to be forwarded to the device model, or fails outside of it and
> > needs to be propagated to the real address.
> > 
> > While true that we won't be able to remove the code that partially
> > handles MSIX entries for guests in Xen, it would be unused for newer
> > versions of QEMU, hopefully making the handling far more consistent as
> > the logic will be entirely in QEMU rather than split between Xen and
> > QEMU.
> 
> In fact, it was easier for me to register a separate ioreq server for
> writes outside of the MSI-X table. But I'm afraid the current one would
> need to stay registered (just not accepting writes).

(I assume in the paragraph above you should use hvm_io_handler rather
than ioreq server, as ioreqs are only for emulation running outside of
Xen)

The handle is currently registered when a device with MSIX is assigned
to an HVM domain.  I think it's fine to leave as-is as long as the
handler doesn't accept any accesses if QEMU does handle the mask bit.
We can always see later about not registering it.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 15:32:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 15:32:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515318.798034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgopK-0001BD-Mj; Mon, 27 Mar 2023 15:32:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515318.798034; Mon, 27 Mar 2023 15:32: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 1pgopK-0001B6-Iw; Mon, 27 Mar 2023 15:32:06 +0000
Received: by outflank-mailman (input) for mailman id 515318;
 Mon, 27 Mar 2023 15: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=81wl=7T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pgopJ-0001B0-4W
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 15:32:05 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0630.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85331bbe-ccb4-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 17:32:02 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB9206.eurprd04.prod.outlook.com (2603:10a6:20b:44d::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.28; Mon, 27 Mar
 2023 15:32:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.029; Mon, 27 Mar 2023
 15: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: 85331bbe-ccb4-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HwDS5+J2xCSAsN8eUhW79cTY3wC8DaV6IlUSDzzTWg1Z0lQK9M1avx+BgKnUidKTEklEKRIIqjJLum5AG1t3iuWMpExSG0meU0XAhsYDja2gApM4YmPsAfj07550Tr4YiBnm00sXwPeTnmHdqyad2lr36dcI7XohTKA6B7lxlWsjXxdP9OUSaJgwJavktGEccy7xZi4Q25sFgSqyiALpUQu6iDkbZVZWi+oT29u5P1aCkZfmpCJJGGsz9GF23TkhbHOrBkIWSXdFKaIsQZqlDo8P2ELi8PYaM26KJEWWBETtl1PaB2UdaEHMdhprmoJ0kz2wMbvrwCEREe0v7vF9Qw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m0Luxp3ZmH4e0nS4kardGqQJvEXRAGiqZ/W1n3P9JvU=;
 b=Oex52l6NjZq+3Lx4Xr1DEYqt2kobabLzmd2x4E+9wVxnRDVX4hDuctvJZqBY5BjwruLvEnffLoHHVH6UJWwMs9+BYx5rDN4osnJvfKiAriusxj0IxgoR17aCo6Y8ufW42cV09r14efFdQegOF9VLhP/w1/VpP9iK+F/NOV8k1yq3r+GB3K4t4VK+rKahigEw8UKEdpn0qrVGiybARjBX05fAD67aUksnMNza9oAHcDHOvyfV5zkzDJ0QTHANPR/ryowR69f4k3gSr+NhvsVftf2uZ05M0xnOZh+JQJrShSvOFtjW6+K+eWTLWB8RQAqZJbN7nlPL38FgaWmJRphzoA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m0Luxp3ZmH4e0nS4kardGqQJvEXRAGiqZ/W1n3P9JvU=;
 b=lx+6wg2D/ZjnSgio8I/k+c+jemGv7qn57KoVo23K6VJ1gb1HgUZruAyGc4xmhYy1gGvTc4YaIEbCiWsWEy2JbcXCqFS8cu80GTRy6EY2tUFhFOL/eqnuYpUl3eYngAWHgVSrJ0f0EEXmpvMYcVsBbyoQMBJVD2xt26wlGmM5mmqfx5KCZMl1U+/3Hu3E/WDhLX2Q+D+tnruIxcogvoqVwlA46fb0twm+7x/Y03C+aICbjdB66gojvEPDRTREFeDKORFgz2P0cz0k6sTcRiOeO1J0MANf5pRXS2+IXZc7ggUvPz0+d7hpJLyaG4uod8SUrlmnIe0er1+k9CnVMn7SJw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0fa4f2e8-390c-f898-973f-55f5b56a9ccc@suse.com>
Date: Mon, 27 Mar 2023 17:32:01 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 1/3] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?= <marmarek@invisiblethingslab.com>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <ZCFsDbKfGvn7giN+@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCFsDbKfGvn7giN+@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0068.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB9206:EE_
X-MS-Office365-Filtering-Correlation-Id: 9ca523ad-65d2-4952-7cb1-08db2ed86847
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VKMxAexKcEu7Fgyn5JaSUTYg8IEeJtmSUUZubFQHXcN8EtuCYMYTlTjBCax1s1DX5nH8F6IN8KGiOnhliqPM4g1ZDR1+yNyZVyMhnmdzaQyTv/WXZzgk+UWxWw+r24WQ3I3Q9xRv/rAFGhrrHxyZB57+XWIYzxabclnBsAI1ISCTm+fn8dVMhG3Rk1kMJQcRhHINYNnW/jn40hl6690eOqNGFuVyZ7tzP7F5q7lY7FvVRlIEja/aHbATC42D15NFcErrkhTfEh1O5uwUhjLN4kjoB1MRhlqoqIy+l+9arFu5F1Q+BvTxAabO1wqh4dCd8ZWCHDFBKG4bUD0WSIFg1XfFXq+P/SncgavfisZRe9pyLjTd5qbmCJYK+cSDcGPljBDKuz4d9Z74uzFkbKLRI0DKPEadxZZE5U0p27UgfaC0BRKzYow7XBdO5YQu5OCuOuqZGR7T/ZgNxwi4CkCZEYJLu4Zbn9UVSCg58uYu9QOJu2g3t5/adCinKNrho6MgZy/u6Qw0b+scOR2wZqzEZW6aiJYlrHUS7zo3qF65PcwjpN/YDYZusuLTbfs8DK0O9FboZzmg1QgxuaZChbH+DACZvdKFYfGJvs5uKu+RUU/82J4ktiU/XLxMDzs91+M8604cSUh74/p9xh5NbRL7vA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(396003)(346002)(136003)(376002)(451199021)(31686004)(83380400001)(66574015)(31696002)(2906002)(86362001)(26005)(6486002)(186003)(316002)(54906003)(478600001)(6512007)(2616005)(53546011)(38100700002)(8676002)(4326008)(6916009)(5660300002)(66946007)(66476007)(66556008)(41300700001)(36756003)(6506007)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?REYwN1RMeEhhaS9WdndQZUJUUGZtNk5vaHNSMHNCMFFOTnRGdGwyOWQyU2gv?=
 =?utf-8?B?V1ZEOC9Da3c0b25JV3ZBanYrQnBVQWlsZjRpVXpDM20yeCtmSE9UMmo1bCtV?=
 =?utf-8?B?RnU2Y0xhaHlDbk5KWnhTMmdPTjRadzRrWjdwQ2tkYzkvT2NPaVpRdFptUW1u?=
 =?utf-8?B?eU5pVWEwN0cwUUdTZ1pJYzhNY3BlVHdqYWVTaS9DVS9ueXFlTXQ5YzJSVThB?=
 =?utf-8?B?aE5nS1lkWE54bG9CSmFWSzhuRjFkWGxVZ0RHWGlib09jclRLZk9PMzZ3VEFt?=
 =?utf-8?B?SFhRa3dCdDZQMTN0NFFCT3NCRmRNTmpqa3FGb1JwVExZSzlTSVpvbEZaY0xU?=
 =?utf-8?B?U3ZiNUx0T0pVVXhYYk9iOHdjV1hadmZrTGM3eVV0c1lJR2NzVnlobU9Xc3RE?=
 =?utf-8?B?bVB5N1hjRklMSXFwY2w5bkRBVXB3SENQVW0vUTBPS0xFQkdLWXRxV1BkSUVV?=
 =?utf-8?B?ZXppc0lMcFpSbFFyckxILzVzWnEyeXEwV2hvcGpIN2FCeVVqNnU4NnU3NWx6?=
 =?utf-8?B?NStKSi9sbUk4Y2JsVEJCYmkrdjE5TEpxcEpqUHVDVENtajlYZ3NvWFF2VWZE?=
 =?utf-8?B?ajJpVkFhU2R2aUVVQ2g3Rm9PVEt4UDYrNHB4TjdXdzMrdmVTbkViMzhwTXAv?=
 =?utf-8?B?M09GYVcrbW1IdWNvS2RaVS95OHc1eEZVOVRvbDJBc1FRa2doOWg5RzhwWG51?=
 =?utf-8?B?L3BNQzNmSkdhbVhrVDJlTXU2YTJ3MU4wVHBDTTBkQUhNZEorVDZwL09QSmhh?=
 =?utf-8?B?NzBaZ21DMjZESDRhL2p2NGlYTWtlRUhQMndPS1dudllxNmFHM3E2L1lEcW1X?=
 =?utf-8?B?bFJPd2lscjdiRmVpME5WejhVaE5JSDhaVmFZRWo0UVBUbmZRN29GWE1TdUgw?=
 =?utf-8?B?RDN1Y0V5eTlaK09rSkhOVVhGbEJMR1JRWjJpdVJtV09DVm02eUk1WVIxdmIx?=
 =?utf-8?B?SXE4bElUN1k5aTh3U3BOQTMxRHhMbUtpV2NXTUlxMVVJNENRdGEyOFRJUm5m?=
 =?utf-8?B?TDNOWGpNRXJibUJtZUJaMFh5d0Y4NVQrYWtZMzV5UGFGYndhYk4vaDhxOUhH?=
 =?utf-8?B?QUVWcDM4QmVRMXUyN2lyaG4xd0VVQ0pqbUVDU29hckFXaVlMQzhCRHNyMXZH?=
 =?utf-8?B?UjBZaERMUHVvNlVScWFaZVlobnlxcXMvSWlZWTQrTkY3QUdXWk9aWklOSW5G?=
 =?utf-8?B?eVFuNURuU09qeUtuQU1sN1JLcXpUdEZ3U2w5cERsWFhoZVgvVEMyQXhUWStp?=
 =?utf-8?B?UTFlTWIyUDlHTzJoV2JTdlVmdGxSaXRYZzd0ZGtJQ2QxTmhlUXdRYzh5VmU4?=
 =?utf-8?B?RlgxR1B1NE4zUUtTUnBxdUkya09pSTRQdGplY3hHMXd0MTVjNXZGY0Y2ZERU?=
 =?utf-8?B?SCsyQkQwQ3JmdmJUNENQeDRpdm1KREpzS1MrUnA1NjlBVGt0YXA2cUJIY1M0?=
 =?utf-8?B?L1hRL1pqcGZ5Q2FqM012NXJocUpCQWlXTXlBMEdMSlFLTWM3M3pUMEFNOTBM?=
 =?utf-8?B?V2NTQytQZUlqcjBHcEo5bnNRdithcWUzZ1dSVU1Cc3hTWmlkc011RUZIVTdy?=
 =?utf-8?B?b2pTT1dPNjVHTWZHUE9YaGw3S1Jud1JhYjVRZ0M4L1NiQTBldkxxMldQblBH?=
 =?utf-8?B?anEwc0lsSXZ3VTU0YnNWcHZiN0hXaGc0SEs2bWdyeWNaNDhsSWYxUnBRMU5k?=
 =?utf-8?B?c0RMeWtBZG8rU2NNTVUzWTJBUW5EcnJDaUJkV0g2ZTNCUExHTXl3bzJKb1hJ?=
 =?utf-8?B?K2czOE9IMXhITmJqRWNIMFg1eVhRZlF2bStPZ0JSZjVaVWZHanVaK3BNS3Nh?=
 =?utf-8?B?TVl0MXBxQ2wzMm95QkRoRnBqSnRWSlhKYzZuQm13VklsMTF4TFMyT29QRXlP?=
 =?utf-8?B?T1RkNCs2QmZyd1hpVlFiKzNwWVNiaFo2YUVDOXE0cThMMHNxN0lsSlFaaUZm?=
 =?utf-8?B?bXBISWRQbVBoTVhYaHZvUm9GcW82VCtqS0o0VDQwRlQrTHBjME5vQkVZSUdQ?=
 =?utf-8?B?UkpVNUY4NExVeDREanZXVWJvR1ZPODNRbjZ0ZndZVERpRlBLS2lqN0E5eCsz?=
 =?utf-8?B?NmRtbHVXN0xJRGJXQk4vUHFkQVRPQnpRN2VST2VOTGhEMW9UUFV2NkxiT2RX?=
 =?utf-8?Q?41ly5Wzfynhc0Dc90tPyM0Qd4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9ca523ad-65d2-4952-7cb1-08db2ed86847
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 15:32:00.8502
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FNyxSQETvjm+wO8MEmytEZvZKW58pnlxU/nIDQn6/vMjRTfTaGtkANtmnHSgsSbbQgeLFDum6X/mqCfhj8/YEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9206

On 27.03.2023 12:12, Roger Pau Monné wrote:
> On Sat, Mar 25, 2023 at 03:49:22AM +0100, Marek Marczykowski-Górecki wrote:
>> 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. This does include forwarding also writes
>> that did not change the value, but as tested on both Linux (6.1.12) and
>> Windows (10 pro), they don't do excessive writes of unchanged values
>> (Windows seems to clear maskbit in some cases twice, but not more).
>
> Since we passthrough all the accesses to the device model, is the
> handling in Xen still required?

"All accesses" isn't really correct; aiui even after this change it's only
"all writes". We still "accelerate" reading from the first 3 table entries
(whether or not that's [still] useful in this shape is a separate question).
Plus we need to invoke guest_mask_msi_irq() as necessary, and I don't think
we should make ourselves dependent upon qemu communicating the necessary
info back to us, when that's necessary for the correctness of Xen's internal
interrupt handling. (That's further leaving aside the performance aspect of
handing off to qemu just for it to pass data back to us.)

Jan

>  It might be worth to also expose any
> interfaces needed to the device model so all the functionality done by
> the msixtbl_mmio_ops hooks could be done by QEMU, since we end up
> passing the accesses anyway.
>
>> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
>> ---
>> 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
>>
>> This behavior change needs to be surfaced to the device model somehow,
>> so it knows whether it can rely on it. I'm open for suggestions.
>
> Maybe exposed in XEN_DMOP_get_ioreq_server_info?
>
> But I wonder whether it shouldn't be the other way arround, the device
> model tells Xen it doesn't need to handle any MSI-X accesses because
> QEMU will take care of it, likely using a new flag in
> XEN_DMOP_create_ioreq_server or maybe in XEN_DOMCTL_bind_pt_irq as
> part of the gflags, but then we would need to assert that the flag is
> passed for all MSI-X interrupts bound from that device to the same
> domain.
>
> Thanks, Roger.



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 15:38:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 15:38:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515323.798044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgovo-0001sx-IH; Mon, 27 Mar 2023 15:38:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515323.798044; Mon, 27 Mar 2023 15:38: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 1pgovo-0001sq-Fd; Mon, 27 Mar 2023 15:38:48 +0000
Received: by outflank-mailman (input) for mailman id 515323;
 Mon, 27 Mar 2023 15: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=81wl=7T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pgovn-0001si-FH
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 15:38:47 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20624.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75fa66f3-ccb5-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 17:38:46 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAWPR04MB9957.eurprd04.prod.outlook.com (2603:10a6:102:385::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Mon, 27 Mar
 2023 15:38:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.029; Mon, 27 Mar 2023
 15:38: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: 75fa66f3-ccb5-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mE8b7ZaNb7Nq7AODYOmb0kNCBtdxlRgUhU+rstvQ/YvDuMfIIKy8BHApX841ybEdIdETvk6WFRXbW3X2D/uz6BG9UV91wSs0WVWeKzZ4Z+YhJQTcDo7jnq3Oj762L3wB42bvQkxFeKgu92gZt6IDTgTBhO9bVNvhGcyNfjfGsug88yboicxSPMyusO2L0ZGj5Y5SeYjK7dchlnCDda1qCAhU+Mn5MryGk0d8TeRwLa2eFruTcsXMZAN2RETo2xOqRzi2eoa8Fin3UJRpsWb/uz61EOJg0eFzr8FzAgzUF2/+6nUZ2F3Aa0JeyrI21EZxHnrEMC5xTVxugOtCQBTuDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tET5XWsbzJc25vRwP7iQ1JD35iIyc4moy2SuPeyqit4=;
 b=FQOOKmy4atVPDutH6T1dVFvCFx/1WXBOBaZTBhOc5sJWLTYDq6pNqm4OR7LBFIo6L8RN55S+CtaOhGLNeYRxKWS8em4yoT93fIJWUnFg5dXtXfE4WR3rFtYSOmtZNM8TE19sPva9AXZnk3HgxQ73wKe+6TwmKszQPICGM1wowcSCce2ki3IQdrVIInlcdrzNqpLslkwiGxvMRGxRodMS4s2OVEEIuCln2QMfyELKj31RFZ+5g7oSrjU2IG7aFzlSHV4/x218MuI/JZbAlJeh+uVkLfcSurxs98l/RxpuDebgPdgMXGeHZbwv0YSLdoA5rCgv8NanKXvM99KJGY1dTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tET5XWsbzJc25vRwP7iQ1JD35iIyc4moy2SuPeyqit4=;
 b=UHOjdg5pxLhvF4LnWsIsPcO1jvtfkLKitskbrq9N6gOos4pxB3+ellqe5fimcFxlHjoHWmosenaEy3BeTiZZvDGCqfdkoxmbuJnJTjKU+5P3NJFxDgX/fOMuhEGdF3NCCXEIMMRC9rs9fM/fUa0U3JGvXTRQ1TVARnIur2uNqdfUDBTHGy/TZGs+oJ7hgLNeBk4F0d5nIalxlCwVEiuC29eo6k7rv6q2qm2uag5if5snekKCnrfen7mAAdebPfGGC3IvAb/i6dJFprf33oBVYvosa1M2Ef93BNfeHiuuRYB5uNTbjTd7qeY3i9VnN4ph/QK9nRDcuH2XTJ/ZFIs9fQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <89653286-f05e-1fc1-b6bf-265b7ecaad0d@suse.com>
Date: Mon, 27 Mar 2023 17:38:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH 1/2] xen/netback: don't do grant copy across page boundary
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, stable@vger.kernel.org,
 linux-kernel@vger.kernel.org, netdev@vger.kernel.org
References: <20230327083646.18690-1-jgross@suse.com>
 <20230327083646.18690-2-jgross@suse.com>
 <59d90811-bc68-83cd-b7e5-7a8c2e2370d9@suse.com>
 <f519a2d3-6662-35a2-b295-1825924affa8@suse.com>
Content-Language: en-US
In-Reply-To: <f519a2d3-6662-35a2-b295-1825924affa8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0139.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAWPR04MB9957:EE_
X-MS-Office365-Filtering-Correlation-Id: af957ac7-806d-4413-a7ab-08db2ed958aa
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:
	7NYbhtp4z21cSgB3y8FAXYG09iXZFSOA3SL+yW2Rl/kFVLiA9z0vjqtGg4ke2n0iFwcBmJwFYcODeC0x3ck7bzdk5pC8Xk+Ic40C+wUta1mSzOJ/JfBvW43bfFLTU3LfwA6MSlRw7GFTQFwcCk353v8jAEAuuZColXhTiAVVCoVSDjwaNTOt+bvvaYDLufim0OlSCP5B3q+GqOLO6IhkwnLtoTFNar+mMSNrFBssw9PzfdO77FOaXHkaY7P9jMEiYqt3sDaWXZiavVSUpsR/kBTBOkgMFVE1/W0h1kEjOlyOVYBt1aGucvJ+kbykz3FldJcomMMAzpqmZjFHt8gWw1qFjpg9pSZg3QLznu1UotZTqvzqI3WkfV+vkInUTZMH7qd0WrtrqAPOJcmsK04AIXeFcsFprPACrGEFyyzKSbDElaMmfzj/VAzCHsU+s8G4T0mT8ippS3WQHIQmrAiIEz/lb2lNP2J6SAwTxGdMiqHUEaeKbVlhdyfFqGUZK/g2TFJkwkzx/+QlQ7J94Q0wscn+mmWUkfelVWeNGcKAIPP9HZhlJ1kMhfxVpGW74jDy+FIaCfWovSfSRiNZXtLuQFAqmIcelnnHMokmATJydpkpY4fSTAHcvuk+/FUDjlptyb0raj0ty/3/AOm7tDvEVQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(396003)(376002)(346002)(39860400002)(451199021)(478600001)(31686004)(54906003)(6636002)(2616005)(316002)(37006003)(6512007)(6506007)(26005)(6486002)(66946007)(53546011)(66476007)(66556008)(8676002)(4326008)(31696002)(186003)(86362001)(41300700001)(8936002)(83380400001)(2906002)(36756003)(6862004)(38100700002)(5660300002)(7416002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SjJmUXkvMitGSnp5MWpzb2VYNWJFT25lOWlWMVd0Rk9PT20wMnZLOHBKUzBj?=
 =?utf-8?B?YUYySkJzU3AxQ01LVFFLdFJXVEFkSnFCSXpnREV3VHBmNytXbDBhenhBYnVl?=
 =?utf-8?B?SW9GZW12a3duOTcvSzhXVVRJT0laRDI3TEZLOVZmS3RiRjdRMUh2eWNHVUJB?=
 =?utf-8?B?bFVabWc2YmIvb3RJQU4zQUZvcmdLRGdmdUs0MURBYktOblc0Z0s3bEJrVG9V?=
 =?utf-8?B?c0xaOTNIL3BHNXNBeElFS0x4WDA4bDFqT3NNQVhNaTc3MkhkOUJZL1cweTYv?=
 =?utf-8?B?NnNCYlAwZ2FNU3ZqdzdJYnFLd0hkQkFENGk0OFk3aVNYMnB1UGoxRVJDZXpm?=
 =?utf-8?B?RVVIdDVxbS96QTBhY1RQSGo0QUx4NWdKOUdsYlRINzhYVjBRaFRGUFNlRnZY?=
 =?utf-8?B?T3FuSXNzcnRpdzFHTGhjSzVIN1dWV1NUN3I5U1hSVFIxYjJYeVdBZlY0SmVs?=
 =?utf-8?B?UnNzeVJ2Sm04MUVNZnlkZXRpUTh3TkdtczU0V3A2K1NvNnFqVW9qZGFlNnI1?=
 =?utf-8?B?b2FuK1pTUENZYXdVQ21DeDlrM2tXUVJ1QksyTmxHUnZhQU9lQVVvUHpMOGoz?=
 =?utf-8?B?MmViTzZFbDlZbzdGOVVIMkRoMVJqcTROVWZ1TVZFaUI2dlBXN3lyYlRwZzRR?=
 =?utf-8?B?YTVkQWcxbEJKd3hVZStYcE9KSndzbkc2N3Y1R0FOUTZnZFNYRDZRL2czTWtC?=
 =?utf-8?B?b3NKSzl6NHZoQ0FlYUtIQWZwczV2OVdiNkhJTEUrS0docE9pbHg0MlBnRVQz?=
 =?utf-8?B?UlFMUG00T1RVc2JOY0JYdVloNmNsYVpUREVHUkluR3F1YndWU2dVN1F1cXB3?=
 =?utf-8?B?dEk5WWRwbWREZWdCMExGamcrczF6QzV6MFpjTTVrQ2JLazZiNU8yd1pvNFU0?=
 =?utf-8?B?NUJhZzA0N0hoYUhEbTVYUjBhSi9uQjVzVDZnMUMxQlVMaG1MTjdpS1d4Ylpi?=
 =?utf-8?B?dmhGQ3BnYzI3eTFzRmRoQXlYdXdJZDZXQ1Z0MVdKa0gvVlg1bjRSb1hnbUtP?=
 =?utf-8?B?MDUyWkl0SmxVUFBlT1ZOT2d4K1pVYVdVUmRmOEQwb29LK1RuRkh5WGpZOWk3?=
 =?utf-8?B?c3lsRlR1R0lacVFRY1g3WTB6bHhSMnRPaGphTHNTTEZMWUtRS2VXV1dxNGs2?=
 =?utf-8?B?YjNkNWRhK0FYcWYvN292dzdRRGd6N244Zmp6c3AxcVdQd0dsMGhWaVdLUGRW?=
 =?utf-8?B?WXYrUk40RjdsbEZjQ2JIOFYrV2JvSTdtNEl4S0V3dG5IVTZwa3R3M2trV3NQ?=
 =?utf-8?B?SXVuK2lrOU52L2FQVHpZakhpTlVZbmJib3l0c2VUZEIvMXdiVmkxWS9LcVdP?=
 =?utf-8?B?LzBONlNSa3FaYmpTUytPNzFJY3RKeElDeUtsblpDc3FpS0FtNDdPSWg4Y3g4?=
 =?utf-8?B?T2lsV0p4cTJSVmlzMW9ydzgxQll3Y0xYNDJnM2VKS25VL3JSR1o1SENiUkl0?=
 =?utf-8?B?aVcyZ1RlQ1VCelNGc0E2NEpRUHV6ZDI5TTYvYzVsa0hPYTJLZFVITjY1d0VX?=
 =?utf-8?B?cnpMSmxNbGJTMThheWsxVGgzL3I5dTJ5WGZ2QmgyOWIySGFCMjU5QnA2c242?=
 =?utf-8?B?SVppM0VLdHZVdXBLU0E2c3BGNzE0VlJyWERVVzZlRWJmV1BWTld2aGdHR2pT?=
 =?utf-8?B?dFF0L2JFZTd0V29KejRsMkg3TDhGWUZ0Q3dyUGtOWENTR1p5RWJnck9LQkhQ?=
 =?utf-8?B?emI0eXRiajArdmY0dmNHeUdWNlo4VXFFMVVGcHZyQ2U4akNlaFJGT3hjUm9S?=
 =?utf-8?B?aFFDS3IvQ3d6YTd2OW1mQzJEY0JDeWFiYU5qZE1QOUc1a1Q5b2dBQ1ArMTM1?=
 =?utf-8?B?L0lqTGZiNFNvbEdzNzgzY3BzN2tpc3A1c3J5RFhyTUpjRzdzemlBNWo2MHE4?=
 =?utf-8?B?UytLdTM4SWZ6eFE2VWRDVUNab2NsOWtaVE92d3NxSDlqS20yTnRLQXlJV1c1?=
 =?utf-8?B?RVFVT0JWMjJVOVNVR0VMVWU0S0s0S2F6WWxZZ0w3TXRnWnB0RTlyMUs3WUJu?=
 =?utf-8?B?M2VSNkkvNkZacy9md2pwRnlDTDlYczMvakszeXp4Q1lOU2c4c2V6akFveDB6?=
 =?utf-8?B?RktvR20rMlMzRFkwTllERkpZSFRZMk1yNXBDRTUydzZoTC9DRGVvb0lkaFRM?=
 =?utf-8?Q?PFh92a7o8F/Ou5JVU18zlTIm9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: af957ac7-806d-4413-a7ab-08db2ed958aa
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 15:38:43.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: IL5DYqZ47DtvKirvgABQT+AeYJkIsO9JxFX7hgsjR8nrD9zzfbUCTWkiGuovdgbxSn0eEoLbtsZiFI1fVQI5vA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9957

On 27.03.2023 12:07, Juergen Gross wrote:
> On 27.03.23 11:49, Jan Beulich wrote:
>> On 27.03.2023 10:36, Juergen Gross wrote:
>>> @@ -413,6 +418,13 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
>>>   		cop->dest.u.gmfn = virt_to_gfn(skb->data + skb_headlen(skb)
>>>   				               - data_len);
>>>   
>>> +		/* Don't cross local page boundary! */
>>> +		if (cop->dest.offset + amount > XEN_PAGE_SIZE) {
>>> +			amount = XEN_PAGE_SIZE - cop->dest.offset;
>>> +			XENVIF_TX_CB(skb)->split_mask |= 1U << copy_count(skb);
>>
>> Maybe worthwhile to add a BUILD_BUG_ON() somewhere to make sure this
>> shift won't grow too large a shift count. The number of slots accepted
>> could conceivably be grown past XEN_NETBK_LEGACY_SLOTS_MAX (i.e.
>> XEN_NETIF_NR_SLOTS_MIN) at some point.
> 
> This is basically impossible due to the size restriction of struct
> xenvif_tx_cb.

If its size became a problem, it might simply take a level of indirection
to overcome the limitation.

>>> @@ -420,7 +432,8 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
>>>   		pending_idx = queue->pending_ring[index];
>>>   		callback_param(queue, pending_idx).ctx = NULL;
>>>   		copy_pending_idx(skb, copy_count(skb)) = pending_idx;
>>> -		copy_count(skb)++;
>>> +		if (!split)
>>> +			copy_count(skb)++;
>>>   
>>>   		cop++;
>>>   		data_len -= amount;
>>> @@ -441,7 +454,8 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
>>>   			nr_slots--;
>>>   		} else {
>>>   			/* The copy op partially covered the tx_request.
>>> -			 * The remainder will be mapped.
>>> +			 * The remainder will be mapped or copied in the next
>>> +			 * iteration.
>>>   			 */
>>>   			txp->offset += amount;
>>>   			txp->size -= amount;
>>> @@ -539,6 +553,13 @@ static int xenvif_tx_check_gop(struct xenvif_queue *queue,
>>>   		pending_idx = copy_pending_idx(skb, i);
>>>   
>>>   		newerr = (*gopp_copy)->status;
>>> +
>>> +		/* Split copies need to be handled together. */
>>> +		if (XENVIF_TX_CB(skb)->split_mask & (1U << i)) {
>>> +			(*gopp_copy)++;
>>> +			if (!newerr)
>>> +				newerr = (*gopp_copy)->status;
>>> +		}
>>
>> It isn't guaranteed that a slot may be split only once, is it? Assuming a
> 
> I think it is guaranteed.
> 
> No slot can cover more than XEN_PAGE_SIZE bytes due to the grants being
> restricted to that size. There is no way how such a data packet could cross
> 2 page boundaries.
> 
> In the end the problem isn't the copies for the linear area not crossing
> multiple page boundaries, but the copies for a single request slot not
> doing so. And this can't happen IMO.

You're thinking of only well-formed requests. What about said request
providing a large size with only tiny fragments? xenvif_get_requests()
will happily process such, creating bogus grant-copy ops. But them failing
once submitted to Xen will be only after damage may already have occurred
(from bogus updates of internal state; the logic altogether is too
involved for me to be convinced that nothing bad can happen).

Interestingly (as I realize now) the shifts you add are not be at risk of
turning UB in this case, as the shift count won't go beyond 16.

>> near-64k packet with all tiny non-primary slots, that'll cause those tiny
>> slots to all be mapped, but due to
>>
>> 		if (ret >= XEN_NETBK_LEGACY_SLOTS_MAX - 1 && data_len < txreq.size)
>> 			data_len = txreq.size;
>>
>> will, afaict, cause a lot of copying for the primary slot. Therefore I
>> think you need a loop here, not just an if(). Plus tx_copy_ops[]'es
>> dimension also looks to need further growing to accommodate this. Or
>> maybe not - at least the extreme example given would still be fine; more
>> generally packets being limited to below 64k means 2*16 slots would
>> suffice at one end of the scale, while 2*MAX_PENDING_REQS would at the
>> other end (all tiny, including the primary slot). What I haven't fully
>> convinced myself of is whether there might be cases in the middle which
>> are yet worse.
> 
> See above reasoning. I think it is okay, but maybe I'm missing something.

Well, the main thing I'm missing is a "primary request fits in a page"
check, even more so with the new copying logic that the commit referenced
by Fixes: introduced into xenvif_get_requests().

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 15:39:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 15:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515326.798054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgowT-0002UH-SQ; Mon, 27 Mar 2023 15:39:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515326.798054; Mon, 27 Mar 2023 15: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 1pgowT-0002U9-Ox; Mon, 27 Mar 2023 15:39:29 +0000
Received: by outflank-mailman (input) for mailman id 515326;
 Mon, 27 Mar 2023 15:39:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=UAss=7T=xen.org=tim@srs-se1.protection.inumbo.net>)
 id 1pgowS-0002Ty-Vb
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 15:39:28 +0000
Received: from deinos.phlegethon.org (deinos.phlegethon.org
 [2001:41d0:8:b1d7::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e6b0e86-ccb5-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 17:39:27 +0200 (CEST)
Received: from tjd by deinos.phlegethon.org with local (Exim 4.94.2 (FreeBSD))
 (envelope-from <tim@xen.org>)
 id 1pgowM-000P3Y-UM; Mon, 27 Mar 2023 15:39: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: 8e6b0e86-ccb5-11ed-85db-49a42c6b2330
Date: Mon, 27 Mar 2023 16:39:22 +0100
From: Tim Deegan <tim@xen.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: Re: [PATCH 07/16] x86/shadow: call sh_update_cr3() directly from
 sh_page_fault()
Message-ID: <20230327153922.GA96023@deinos.phlegethon.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <69304929-de84-04db-04f2-8faffc12ef0f@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
In-Reply-To: <69304929-de84-04db-04f2-8faffc12ef0f@suse.com>
X-SA-Known-Good: Yes
X-SA-Exim-Connect-IP: <locally generated>
X-SA-Exim-Mail-From: tim@xen.org
X-SA-Exim-Scanned: No (on deinos.phlegethon.org); SAEximRunCond expanded to false

Hi,

At 10:33 +0100 on 22 Mar (1679481226), Jan Beulich wrote:
> There's no need for an indirect call here, as the mode is invariant
> throughout the entire paging-locked region. All it takes to avoid it is
> to have a forward declaration of sh_update_cr3() in place.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> I find this and the respective Win7 related comment suspicious: If we
> really need to "fix up" L3 entries "on demand", wouldn't we better retry
> the shadow_get_and_create_l1e() rather than exit? The spurious page
> fault that the guest observes can, after all, not be known to be non-
> fatal inside the guest. That's purely an OS policy.

I think it has to be non-fatal because it can happen on real hardware,
even if the hardware *does* fill the TLB here (which it is not
required to).

Filling just one sl3e sounds plausible, though we don't want to go
back to the idea of having L3 shadows on PAE!

> Furthermore the sh_update_cr3() will also invalidate L3 entries which
> were loaded successfully before, but invalidated by the guest
> afterwards. I strongly suspect that the described hardware behavior is
> _only_ to load previously not-present entries from the PDPT, but not
> purge ones already marked present.

Very likely, but we *are* allowed to forget old entries whenever we
want to, so this is at worst a performance problem.

> IOW I think sh_update_cr3() would
> need calling in an "incremental" mode here.

This would be the best way of updating just the one entry - but as far
as I can tell the existing code is correct so I wouldn't add any more
complexity unless we know that this path is causing perf problems.

> In any event emitting a TRC_SHADOW_DOMF_DYING trace record in this case
> looks wrong.

Yep.

> Beyond the "on demand" L3 entry creation I also can't see what guest
> actions could lead to the ASSERT() being inapplicable in the PAE case.
> The 3-level code in shadow_get_and_create_l2e() doesn't consult guest
> PDPTEs, and all other logic is similar to that for other modes.

The assert's not true here because the guest can push us down this
path by doing exactly what Win 7 does here - loading CR3 with a
missing L3E, then filling the L3E and causing a page fault that uses
the now-filled L3E.  (Or maybe that's not true any more; my mental
model of the pagetable walker code might be out of date)

Cheers,

Tim.



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 15:39:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 15:39:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515327.798064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgowf-0002oL-4u; Mon, 27 Mar 2023 15:39:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515327.798064; Mon, 27 Mar 2023 15: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 1pgowf-0002oD-27; Mon, 27 Mar 2023 15:39:41 +0000
Received: by outflank-mailman (input) for mailman id 515327;
 Mon, 27 Mar 2023 15:39: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=81wl=7T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pgowd-0002Qb-KW
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 15:39:39 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on062f.outbound.protection.outlook.com
 [2a01:111:f400:fe02::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94b47738-ccb5-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 17:39:38 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7274.eurprd04.prod.outlook.com (2603:10a6:102:91::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Mon, 27 Mar
 2023 15:39:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.029; Mon, 27 Mar 2023
 15:39: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: 94b47738-ccb5-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T9HPraDPJ9h1zti4lgXI6htWeQV5Bwtf2OABHO6aDm1y1z7E5l9u5uUGUPKO/E2CuJpMz2cl1GqNcsr9hUr/QIRETKiSCVSYoLKPF96aYC3ruLjDYEcj8JC8q/4UM3DMlYKd1PKMDKBigsRgaiDtlZ/IZSmw4qF6Duu8xHIU4Kz1+DcvQ4raR2NvrNiHqOl00J6YvUCcXaZs8DsKk59baXA3zUxy8mdbZXWmO2cQ88OdeW+iSRP6l/s+AK0uLaR4osHz7oO7Z0+U0pzbLU5JCTHNEx5ut9xuZa086JfUGwv0vAIFVKVONtOepk32wzGvq+2NHWOCUO/sL2Tsho9DIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kXE3NMlpQTWxogyqp9LmhYc2ZvZ2B0l7htTM+Xf/OVQ=;
 b=QAcq3AzT0Fi6ZYC2ZSf2X2xcplW4aFV2iFEGSdp+ocW4vgadbBC2g3egPGuwLwJwFwSmP4aFrgeHTKFi11waZeoR8GFyh8rQc/oen9Xd8zFIX+7AK058RipCbTYM8Nx20clClyQSe5lg2apsFL9Z8dO2XlNqaqaWmIovVMuMrGLEfnfQJS6LflyA8hUJaORKUoBn54EQihqMQnz3+bZ4lt5ARW9w7uaptoDY+CYYBnYmHaITmNsWsFv7weC9Auc69sBTEzL5Blij/gF1y/UEJSev37LkkniHkzdBTA6wXTvzX+ibANHGU0OFVGRD6RgvwUg5PmjYeu1VKXPbn72sRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kXE3NMlpQTWxogyqp9LmhYc2ZvZ2B0l7htTM+Xf/OVQ=;
 b=2kc01x08t5/4k8KJJ0sLiP6R/lb5nQw72vs5/mvumdmmMyCF6VyY99Bua2nPaDddHJyc2WJO1y9QglgubeO3RZxPqD0HfOx2JEO0rn6g/na9GT4kB1A/46lhrCsa6SlNcLcwjyOlQPnboJXu9XKkHLobNWM6Lq4NUP3hzXAU4SiqaVywoq4xwioGSC3Oi9nWNuEbbqXNRJUB5Q3vnn47lpfk0GUe+kJJLsq0pYWGyBlLbQGJL4gFGiy6e8zfA4ZFwTexYg8XvU1y+5bM+ZssFiFPMI55E2BAWZwxJVZsyGpwh4u20uFNd0aMv0rCA2I0aYb8AN2BpQhYpe6N24mkdQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ef8a35ed-46e2-b7eb-60dc-bedd09b0c0c9@suse.com>
Date: Mon, 27 Mar 2023 17:39:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH] x86/ucode: Fix error paths control_thread_fn()
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230324214430.3277862-1-andrew.cooper3@citrix.com>
Content-Language: en-US
In-Reply-To: <20230324214430.3277862-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0129.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7274:EE_
X-MS-Office365-Filtering-Correlation-Id: 923756fb-3836-4c91-cdd5-08db2ed9777d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qBdSugBJH8g4XdMjgE4Bie13dG7WFEwTzXCSO4tfcaeb/IAcI6BxG0Nv8OEdOFVKVOoGUd25i5zAzEki9PnYA35BONUokhPmqTiiL09I8jVOwm8IwxdBMWMCdWiUBCeihl2VIijND63IvI4xjOQNJcgHFEZxBNryTSlbFsKrJHPiJJiF540gqGwe7GS4RaGEMCA7zADgpH2vaV19/Fw+YYs38J8Yj5BAcGS5Avt0RM9yLqQzqQi3hIyVThUQhyUsWekqjO5s+wc1rSVsPaTSHh7U1gqRFXOEaYH10Ma+jV6VvYBAyp05DY9rX3VktO6510clg+s45ugnitOl5qfmQMf1QElFYvqKaWq1ggPOUD5NfLSHybSk3aViDSSSX5t8wbC+ZvaQlKZ2TLeoMqnDrqOt8gISxHLOLC7W15+VzQ6b4xiwKkMqWjVgvQpJTqMiEZvth5Ob0ZWGzS21Q1qruNxAOSFDHl0mvEITlq+oH1lJfcGndqIqimYToRQ1X0NMUHSrZFZMqdfbOvGFRoLDGRxj1JZfIdiKE4iFxC+OtmbMXbgf2wCmOQV3neZnw8yTazlmagNVJhW5j+TSUx8Fr7TYrnr3mZlf9PJW4At6C6dq67vbeWW0QEQJSZD/10DhYGFZ+dc+0VOOZdYMk/Iurw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(366004)(376002)(39860400002)(346002)(451199021)(31686004)(31696002)(36756003)(86362001)(6512007)(6506007)(26005)(53546011)(186003)(2616005)(4744005)(8936002)(5660300002)(41300700001)(6486002)(6916009)(4326008)(54906003)(2906002)(38100700002)(316002)(66556008)(8676002)(66946007)(66476007)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZW02cUZBR3BWWUxYUFZvOFkrQ01QZUlhOEthQjU4V2FPbGFwU3plckcvR1FW?=
 =?utf-8?B?L2pKYU81ZVNGL2cxdFA1NHl5WG5kRnRkRzZIK01Ja2J3VWxXa1VOVWV5VElB?=
 =?utf-8?B?TkJFdFFKS0xLTVVzQWFPdmFpSGJJeWhwaTFRQ0pYTUcvZ0h5a3NhclRhYUdK?=
 =?utf-8?B?eTJjaFpad1JST1hnRGhMY1J5V21ESFErWTd4S1N4Ky9zWDBBbEZ0WERMSjNj?=
 =?utf-8?B?bHBBa3I4Q0RIc2lxNkRMcXhBcnZ5L3NXRGc5WUdNUkozR2d3cGFLaXhmU1ZU?=
 =?utf-8?B?b2JYZXJKM0ZzYytIZlVKcUVXRXFXZmVFNDlSSGVoZEhvTWZudDh4cW90dXIr?=
 =?utf-8?B?Z2h3bTZ2WXVwM1c1U0ZXWGhEL1k5VjBENGtXNUUxM1dIakRsMGRQRllodTR0?=
 =?utf-8?B?LzRvbWx2MDl1SGczMVRSMkplM3JvM0ExdklVZjc3SGR0QXMrRWozVW1FaUcw?=
 =?utf-8?B?bkw5Ly82bDJRY1JVUkN0MWYwS2NBdHpUWWlCNnUyV0FKejBMdVdhMHRkTFEv?=
 =?utf-8?B?V3JzbG5DTzdSN1gxQWFicktUSTM0bk4wZHhBS3ljVVZkSFVFZmpTZ0dhQWtV?=
 =?utf-8?B?U3Z3Zzhic0JVRkFkNW1Ca2E2M29ScXYzdFVmd0Zsa1BoWVdSbVhTTEVJNHVM?=
 =?utf-8?B?cy93blQrTXlLREhSbkN2RkpCZGVMeFllRUozYVpaVlVGOHZqcUh1dUI5enZX?=
 =?utf-8?B?cjlSeTIwNHhYR0xoUmxOZEhTR040SDVsRCtvUk0rTDM4S1ZmaldBbzJtVzZO?=
 =?utf-8?B?Z3FJVnV3d0NkbzVULzNrS05lS05LaEFxbzg4QnRhOTl1aS9zOFEreTVYeWRz?=
 =?utf-8?B?M0lITFY0cllmOCtZWllQbmYzeUhTKzdwZmFXRWozSDZ1SW9RZk9LZVAwbG5G?=
 =?utf-8?B?UzNwUzNJSEdHQXJYYlZsZjQycTc2NWtZSmJRNVNxc3JtckdrQzdPa1NkQ3hE?=
 =?utf-8?B?WWdwNk5WbGJaWmtxUTNpUEZTaHphMUhjREcxV3dMd21qWU9naTF6eXliYm5D?=
 =?utf-8?B?RWNwRnlUTGFNVXo3Y3Vua2tsM1kwZGk5SGZieGkvbHBvUGtKRExXakZEelQz?=
 =?utf-8?B?OW9KMUtLY3VCNUYxWE1kckQ0aG9sZTBJYXJEaTI1QU4yRkZFUzM2TXh6V21Q?=
 =?utf-8?B?ZE0yeitLZ0M1TWh1ZFI0M2xVcEF1eDQyNWlIRHpoL1EvSWRXaU9Kak5yVWZv?=
 =?utf-8?B?dkRTaDJyODVmdXBjbmVQbFdremw3Z2hUVm1xdkIrZ3M2aklRNHZhTmtlSWRn?=
 =?utf-8?B?YVBpdGhEdXM1OHBBQ2JHNnlaZ2RZc1IyNUo5K0JQVk0wTjJLZG9UTktRenZq?=
 =?utf-8?B?VlNhQTczL29ORld2YnU0TTY5cUVzbG91RjQ2ZWRjUU1mUDVTSkNmZTRmUmkr?=
 =?utf-8?B?WUhTeDRPSzIwZVR5VE5lRlo1WUk3U3FneGJTaEVFQ2NhWjNhNDdPNVdxeDlj?=
 =?utf-8?B?eHJXTGFUeDRvSWhSWlhXTkNUSFB4SEFGMkNNT0gzM09wanpGTnFIKzBIRTd1?=
 =?utf-8?B?S2pkaEJRaDRJWlFGampOSmhqOW1vKzJMaUFPMnpLOWlRbEdqQ015NUFoZjgw?=
 =?utf-8?B?ZHJGc2syU1ZYZENVbHVVaUQvWTByNityMmVhSW5BUm5tcERMSjVGU3RzeWUy?=
 =?utf-8?B?T3ZDSjN0YjUvSnRUL1JvaHB3eUMwQzUvZEVkTVM0WkxDSGt6SjV3dUZoaEVF?=
 =?utf-8?B?aTJHUXQ0OHdyL1V0RjdWazdZejljaDAySkt2VWZIYXR1d2lvcS96VkNxSW1K?=
 =?utf-8?B?ZzNOclRlRTNMOEJWVXlQcTByUm1hcU1Gck45QjU3bHVkWnJ2Umgwc1Jzd2U0?=
 =?utf-8?B?a0pLMG5YYVlXOEhvUlhucFpRVVZweHI4b3lUNURYMU0rbVhKOEFBbHIwUjNN?=
 =?utf-8?B?VHRPK29ML0lXcHBnaU9oU3Q4UFZWbWpjVzh4cTJwQmw3MmVyR2w3UmNEcDJD?=
 =?utf-8?B?NmR5VGIrbUxya09ycVhEUk1rSSs2V2NodEhXYUZZank1QTBPdTRtQkYrajZh?=
 =?utf-8?B?dWdUWmdBVHVTMUh2N0ZnL0MyMXZjc3RMMlJiY3lCMit5Vk9XV1NLRjVSU2JC?=
 =?utf-8?B?cVV0VU1GVnBJQkJBSW1INFFyaVF1amc0TWgvQldHT0JEWUFFbGtKNXNrS0Vi?=
 =?utf-8?Q?8nRlhHHmUy5W7aA6YTlzfxjQp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 923756fb-3836-4c91-cdd5-08db2ed9777d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 15:39:35.2433
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: L8aQZ9uQWYzm8twseYuCH5ohSIMSz3E4cszNxvHdQoQKNxdPNyx63nk1Bdhk4aII5E02g41fOVACD42+FfSJ/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7274

On 24.03.2023 22:44, Andrew Cooper wrote:
> These two early exits skipped re-enabling the watchdog, and restoring the NMI
> callback.  Always execute the tail of the function on the way out.
> 
> Fixes: 8dd4dfa92d62 ("x86/microcode: Synchronize late microcode loading")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

As a bonus you also avoid nmi_patch to hold a dangling pointer. May be worth
adding to the description.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 15:42:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 15:42:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515333.798074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgoze-0004Vy-Ja; Mon, 27 Mar 2023 15:42:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515333.798074; Mon, 27 Mar 2023 15: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 1pgoze-0004Vr-GM; Mon, 27 Mar 2023 15:42:46 +0000
Received: by outflank-mailman (input) for mailman id 515333;
 Mon, 27 Mar 2023 15: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=d31z=7T=citrix.com=prvs=4435eb1af=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pgozb-0004Vh-PA
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 15:42:44 +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 01a6cea9-ccb6-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 17:42:41 +0200 (CEST)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 27 Mar 2023 11:42:38 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BN8PR03MB5105.namprd03.prod.outlook.com (2603:10b6:408:d7::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Mon, 27 Mar
 2023 15:42:36 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Mon, 27 Mar 2023
 15:42: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: 01a6cea9-ccb6-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679931761;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=SSVDMtvUOqdL929W3SrqsG46NF49BM7hwjY9euzxMBM=;
  b=Ft3GpuNxbX1vBzTKUGhXSqhzpnIbaiG6JOXHuzuayXvY3XjVkpSNHmc+
   FBdATUSKKSp0BOssHkQhe3tpAeRtwDxI7oO/ArYNvVPYuDv68MVt1Hh3K
   txR3rVHkK3qHOd0922Jpv1fV/AiVzP3dvqpEG9X2BFYUanTec+PdTWJ5/
   c=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 102944185
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:2HFAyq5KfOh0KoWNCXHXbgxRtOXGchMFZxGqfqrLsTDasY5as4F+v
 mMYXmyCbq7ZZ2GgcogiO4q/9U4AsMDczNMxTlQ9rn81Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasR4weE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m5
 dwBLCA2bj251vPt/ZeqY/tLnoN/I5y+VG8fkikIITDxK98DGMmGaYOaoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OnEoojumF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eWxXmqBN5LRODQGvhCrXuf72FKE0Yqa0qKhNq/jF+ddcxCJ
 BlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWXQHSR7KaJrhu9PCEUKSkJYipsZRQBy8nupsc0lB2nZtNqCqu8lND2MTD23
 TGRrSI6iqkTjMgEzKGy9xbMhDfEm3TSZgs85wGSVGT16Ap8Pdehf9bxtwmd6utcJoGESFXHp
 GIDh8WV8OEJC9eKiTCJR+IOWrqu4p5pLQHhvLKmJLF5nxzFxpJpVdk4DO1WTKuxDvs5RA==
IronPort-HdrOrdr: A9a23:7X132qpfkowDx4lJiSYolF8aV5rseYIsimQD101hICG8cqSj5q
 aTdZUgtSMc7Qx7ZJhOo7G90cW7MBbhHP1OkPAs1NWZLXHbUQKTRekMg7cKqweQYBEWndQtsZ
 uIHZIOb+HYPBxWt+u/xi+SeuxN/DCAysqVrNab9VtWCStNTI5BwTtDIju6NGozfiV6bKBJd6
 a0145Jpz+tY3QFYt7TPBQ4duLevcDMkJ78QTNuPW9E1DWz
X-IronPort-AV: E=Sophos;i="5.98,295,1673931600"; 
   d="scan'208";a="102944185"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aKPGZ0q86DjwscCMBxySh2e5l1DnUqKHBYhCj+pZEMxkBECLIHTPsUuF7vw1QgzrYKy4PReR+W50/DF5USoC3veXGkXk/OgNglAN1GpwH25zC3HYj96Fuzk7d1WekSXmonbht+zuBUBF35SPeebgHrhAYy1Dr4n2PFFPb8WEm5Y1umLSPvoJ1lcob+julPj4LENC/1qGWMA3lw124N4YxKmAPM9gsVuP2vM2ds5cNxqAGYNN/5zj6Fs0a5Hjz/HG7JN/agn3UyMHmEC0XJ/R9mx5HJ//JAhfNaOt/yE4EAuWIZgSoa1iFystlm+TLDl6U/86NKg9DmyhrtM0UEMCbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bHS6jqjRW5IebXgDbZe0PUK5VFUcNMPbWPZWJDB03eU=;
 b=hgZQp8oLpXP2k2LhWyZt6eP1y5rj5ysbgr3nIuR1rXaNwYw5JRqXgnVMK6dpUk7HSQ6CwQS++iMWu/lE7q3231lBsZebBkWVZzGiBMkhWdlhocY8CJwPxJzq8lgilt1LoLAWwM5XII7SRourrbu+9mX7ZgathbOFw9pE6KT+i11GTBwaoXhDNuAHAXuMM58+4IUTd+POsLOcidXE3xACF5ON9XIJb4BIQwC8cAZHjcWRmiNVWtYP2UOJW1WYPLXpwtH2srL7jNgQ9EVVJXtbErqQdmJk5/HT2hDJO5ZTAIGNBdpcDXjLgmw0QY3Ebdl1lcp0rJi4kKZJUDC3pwYmQQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bHS6jqjRW5IebXgDbZe0PUK5VFUcNMPbWPZWJDB03eU=;
 b=a+Kamta5eaVOPQlrpHcbOt+9c9BuNBL7Qph6l+XK/uhMR2XLY0biIXt6Cy2A1sE5nHxrtI71NaehhhQLHjORWleN7OljZBLDJ44dMWpDFqeyPr0aURY8JXpXqghMQit36o0dIYhOtquwvdOT4jBKq2VYO0tS36y8fOuY8IJTYu4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 27 Mar 2023 17:42:29 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: [PATCH v2 1/3] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model
Message-ID: <ZCG5ZeWU5CtRsZ9g@Air-de-Roger>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <ZCFsDbKfGvn7giN+@Air-de-Roger>
 <0fa4f2e8-390c-f898-973f-55f5b56a9ccc@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0fa4f2e8-390c-f898-973f-55f5b56a9ccc@suse.com>
X-ClientProxiedBy: LO4P123CA0377.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18e::22) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BN8PR03MB5105:EE_
X-MS-Office365-Filtering-Correlation-Id: f32487cd-5695-43fe-11fa-08db2ed9e347
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8VljtFGLhk6/xEYZoKWa714n/GVOLr4HCLJDNLMKisVQ+9pJTDbJWJohZaVSHhGiQI61UtED8n3oTWE6YtoAMr+yXo8RmGlptOb+uOecc0My7T1JG5xOzik6TcbvkMazOp9NeVVKs8LqfrKGmgflm+4mZl9nclB+Vv3vTo4WhGVbi5A0xEBQJmm7nSJxCWwh+zo2KZWx3Zewdvi+L46TgutlLrxuZ4+J+f2arr+ArOzLO+Nb0nAotQiFUDlw1wksHfSgn9iiEs9Ed+yKHC03KgfpeFq+T7t8wgeNyJBKOO5grevRBqs0cfII4GS3aVhyFPSF1mKOwRYm8aAWkJ1Q3E9zDwRCnFbsoweZewE2ys9iEPiz+6Hid8msJJw68Ty/x3HV6IpOGZjQBQa32RSPLtWcNn8xTx2L7LhQGLSNg0XmyAxYFfL1TGRecJBqJ4OSEOttq5RXwa04W1eB8PuJbryyrL6D84j35uV8vBbezZj9kv3HPST6YRp9+dnRc0gKRE+IExnD4TS5qtNvgmYWmBWt9CB5w0OeVK08LqE4RGStPxb5cgcQuMBGX5y8dBLK
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(396003)(136003)(366004)(376002)(39860400002)(346002)(451199021)(85182001)(33716001)(86362001)(6512007)(6506007)(26005)(9686003)(53546011)(186003)(83380400001)(8936002)(82960400001)(6666004)(5660300002)(41300700001)(6486002)(6916009)(4326008)(54906003)(66574015)(2906002)(38100700002)(316002)(66556008)(8676002)(66946007)(66476007)(478600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y093S1A0anRVRGQ2UlZWN0RvNzJQa0xVL2N0SWVlNXlGc1ZWcGgwMlpEQzcw?=
 =?utf-8?B?cVR0V0R5VXhtd1ZjTEE2dHJWUGpsdUpjc095WkZmRFVtc0VTTWNsaWh3cWh6?=
 =?utf-8?B?VUdEeitjd2U1NlltUURFZk5uVFFRZmlEY1E0MG0zR3NpNlBBUnJkbmQ0WHpH?=
 =?utf-8?B?Mit6eTQxNEo2N2NxV0hqZlQvbGwxVXRGV1hlaUdIT2d1SEZnNElBOGJ6d0Jr?=
 =?utf-8?B?bVRxNDJKTG5pWHFVck1SbHh6Ry9VdVNkZVgwZ0F5ZHhibUx6bUlQNGl3amx0?=
 =?utf-8?B?R1RUVkVaN2JGdVFIakt0bWtQSHN1SXk2UUtOcEREcVJ0a1owSHVOei9LYW9S?=
 =?utf-8?B?djBlZ1NVdElmRm05dGFnME83YzZaaFoxUWFpa3pRMHNwM0REZ1oyVzdrT0lM?=
 =?utf-8?B?UVVpaWtBNzJlRWkwT3k2RlZ1Tm5sL05IdHNGSVFqYXZtR0dCV1lWN25sTlpV?=
 =?utf-8?B?UHV2SWN6MXZLZys1WWhnUTJrdHZ3azNzc3M1QjlNUXErbUVrNU10Q3VqV1JY?=
 =?utf-8?B?UFdCY0VKK2FLRkpqT2w4VElwQnFqRjdZK2dGRTZnb0tybWpOVzRWOXY3ZUo0?=
 =?utf-8?B?ZkNDbHk5NmZUVzVuSjUxcUZCSFU1YnNyWWUwTndDOXh6QURaSm9lMmEzdm9a?=
 =?utf-8?B?cENpNjNuK1hUeEpMMFU2S0g2cTVqYWFGc05TcDdHTmUxNEdsUTZ0VmZaeDBR?=
 =?utf-8?B?anRrOUhMYlQ1L2Z2UFVCQ2wzQWJuYmxtbHJOTHlDeGNjUUFwYUhQYVZ3TDNQ?=
 =?utf-8?B?aDZzaVdsRFVhR0xTL255bzRXZEdxeUFDYVQ2UnZ1cGZvV0VrTTB0YnJkMi8v?=
 =?utf-8?B?Qm5rb1NLeDdhZkl1QjQxSEpLR3lhb01ZR2tPcVZuR0dXUVRNUkZPY25jdGs0?=
 =?utf-8?B?eWVqWm53UTMyYnZvTFA4cFBDdldMNy9ZM3RGcW1VS1ZqSW5ZSnFCaUZaSHBY?=
 =?utf-8?B?YjdmYVFmQlVUd01PZGJHSVVJdWcvc0krYVhiK0M5aTdrZlNxdnNWZVY1QkRJ?=
 =?utf-8?B?QjZWa2I5ZXN4R3RSQjFFQm1hOGVreElkQm9iOSt2SVA4MldDVTR3QnpHRjVn?=
 =?utf-8?B?c0kwdDd3QWJlYVZsUkFiSjIwOEJCQlJycE1MOVJ5Q1dIMXNGMXVxcDVzYnNI?=
 =?utf-8?B?aFNEaHFpYnlZbUNCaUdBaHZ0Y0hETXk0bW8waG9IWEpYci9kZ2VFTURwcFV1?=
 =?utf-8?B?Q0ZBYURQWGMzSzE5TTJBc1Bla1lMWnNoYkxWV0lqWlVrZkNTc3M5dnFVaCtr?=
 =?utf-8?B?NGd5T1dONE52OWlocnhTWXp6OE1rNXg2bnl3RjNqRThZRmo4Z1FnTWd2aTZZ?=
 =?utf-8?B?KzVRTk0zczFGd1M1MHRmT21SVW52dzdtY1JDNjQxbmF1VjdlVUkxSjJvT1Zx?=
 =?utf-8?B?eG0ya2IvKzl0a3JaM1JuWHRxcjQ4Wk52MjcwM3QzT2VyWjZOU1N6aFJ4bXo2?=
 =?utf-8?B?ZTF0YS82Q3h4cGFHd0dvc1ZLVldYaE11NjI1NzhIN3RPL2VoRVJzOUxzOWZW?=
 =?utf-8?B?T3VsTXhVRUdaRmpQME8wQjVycEF0QlRDdktKeXdSSUVPWVpmZEpTVTl0RWRD?=
 =?utf-8?B?QkJBaHpDc3FCUUVUREU0c3dwajF3aEkzTDdOMElDVjA0d0QxNGtEY29mZFRm?=
 =?utf-8?B?eUJVQ1d6cXhmVEMzM01HNWpWczlvSVVmOGh3RUNMNmtkUjlxSkQybmJETnFS?=
 =?utf-8?B?OGVsZmcyckRWN0d2cEdJdDV6bWo1Lys4REZpWlBJdng4bkJVcHptK1N6TDQ5?=
 =?utf-8?B?THVxZ0pnU282VG1kaUJrMGJaVFpFT3dnbWR1eWJqOXVvTDZDeWJJWTVaUHJo?=
 =?utf-8?B?Y0JhNzNkZGlGOEpaby9jUytiZVNoZ3I1eFBkM291dkhWSngvaUJEWi9IYkZO?=
 =?utf-8?B?M21wdDBid3dscVgxd2k5bEI3allVaG9EVmxQanlsUU1NOHZtVityaDJuVWo2?=
 =?utf-8?B?VFpxa3VXcXZzM2lsY3RJdzFFUXNrcm1OVGx2RndseG5keSsrQ204VFlVNlEw?=
 =?utf-8?B?UHdRbmE3TlYzWW9PQXZiMUlJdTAvd3BsRnBTV2tsclZLeGNHZVlPeDNMU3Nk?=
 =?utf-8?B?N2dMWE1EUUg1SDNnWjJjcGhiMjlmTHliR3lpaFBIZEhRQk0rMlJFZWJsRE1C?=
 =?utf-8?Q?rg1icMOvMp6Enjzi1cM13nI8K?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Nb5PEphoeRXaw9mvpmxcqZy/mUqWJPG38XqpULvIRCHO7Pw3fIONkMchaqdaAubY4W/fh+ujgJH08IMpEIqqi6Q08+4abPIsxaJzO+SjV4w2zqJoHYSDM6m25IxkUmKxGAYQylK97LjDpGozK1AfwFRgtStkudC8ys9FzY+QJdDuLXJ4QFlfs6YSYkdn1SI14STsSRmQjnmq77HOvgf5I+2jsF/ko/dgkKkAjys2LfTKnMyM6Aa+/VvEz8Zdg/KDgZHby/RqwYXcB799rpppjBPfWDcRy55fIivRdSTt04KgueLAlcLbEJq8UFgWEbBhQQogOpjNIO6HNYAlHAYVpXME08qYlKN0vuHjKGdkizXViAfxbeN1Nu/spK5xMDF/AOiemmPmfWY2V0xWJjbYN/W2BU7MDHs8o9e18K2840zaE6wqgKFQ2vRrRw8q4HO1QII58djuWSHllQt23RizBRaMgfQAxgfk4Mir1JvdetjJDTNZ1qAkYLRa7hEsrjFPf84I81oehe9ngnt47dnabzo/sr8e9QkFFLqcZcSjXOWP0huvy2U3M4wtBatx+5M7bxFIlWxRqTWl3izwEBSR6mnj8+OiYnFE5yrek+b/1HEkjBWfTyo7j9rqMq80rbYcdI2v0yyiIZXBNsQlAp+p0dPW8WyuiKr5I+r6It4O8966Z9jUCneld9zmAjs3yERQ8RriT0ZItiXZ77Z/tq4sUT0O8ONfzUEyazYOXqwT3bCNWompVZI/aVPyT9u0rkTWT4PEyWHX0fF/wSDMD8+nRdAjc4+YAD/SDHpcYwVHWB4nWGaxOKaGZTRKu+sQXZkgSqClaBCin1jhEadJGiJ1j9MrCHRl1xnSWh4R8+acoRlKzSzxQoghyAB6+OfalP1zGaf8tntmdk9G5L1H5hb2t8PlvaMM7Y1e5nNOsWmZ8Ko=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f32487cd-5695-43fe-11fa-08db2ed9e347
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 15:42:36.2516
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5S74cgJYQ8BKezpdSVMsAG4snGyzMTS9G8A1ibVsqyNCQqFj7nfde6WWAFFZNQTmVy9M0JD46UWzkErbNWKQiw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN8PR03MB5105

On Mon, Mar 27, 2023 at 05:32:01PM +0200, Jan Beulich wrote:
> On 27.03.2023 12:12, Roger Pau Monné wrote:
> > On Sat, Mar 25, 2023 at 03:49:22AM +0100, Marek Marczykowski-Górecki wrote:
> >> 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. This does include forwarding also writes
> >> that did not change the value, but as tested on both Linux (6.1.12) and
> >> Windows (10 pro), they don't do excessive writes of unchanged values
> >> (Windows seems to clear maskbit in some cases twice, but not more).
> >
> > Since we passthrough all the accesses to the device model, is the
> > handling in Xen still required?
> 
> "All accesses" isn't really correct; aiui even after this change it's only
> "all writes". We still "accelerate" reading from the first 3 table entries
> (whether or not that's [still] useful in this shape is a separate question).
> Plus we need to invoke guest_mask_msi_irq() as necessary, and I don't think
> we should make ourselves dependent upon qemu communicating the necessary
> info back to us, when that's necessary for the correctness of Xen's internal
> interrupt handling. (That's further leaving aside the performance aspect of
> handing off to qemu just for it to pass data back to us.)

The call to guest_mask_msi_irq() is a result of a guest action, I'm
failing to see how that's necessary for the correctness of Xen's
internal interrupt handling.  In my proposed model QEMU won't be
allowed direct access to the physical MSIX entry mask bits, and would
instead use an hypercall to mask/unmask MSIX entries (and thus
guest_mask_msi_irq() would be called as appropriate).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 15:43:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 15:43:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515337.798084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgp0R-00055N-2K; Mon, 27 Mar 2023 15:43:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515337.798084; Mon, 27 Mar 2023 15:43: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 1pgp0Q-00055G-Ub; Mon, 27 Mar 2023 15:43:34 +0000
Received: by outflank-mailman (input) for mailman id 515337;
 Mon, 27 Mar 2023 15:43:33 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81wl=7T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pgp0P-0004wy-KT
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 15:43:33 +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 1fddfe64-ccb6-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 17:43:32 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9940.eurprd04.prod.outlook.com (2603:10a6:10:4c1::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Mon, 27 Mar
 2023 15:43:28 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.029; Mon, 27 Mar 2023
 15: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: 1fddfe64-ccb6-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JRl4O6wZ11Kjx9jVKw5QN/tqnCiLHUzhXplr7bsR+MDme66Re/L1Rlua9Vd1AL3/VNR6McazksYQw0BKTVNLwtWNjafP/plUKEpf7qgqttO2p+mhukA6WiKOZb8b3SeE/AOFFBMYYwzMr+so7crb6gn1EFJm1rPf/Vye1zcplEjz1RgZu28teDqwqNBfJjcm4qeimYDXc3u8rzT14Ceyhb4GzX3QSSnu+kF4TL6mgpFErT5maWOzCxwqpVJzXo9a1xQZ4yTmbXIJr2FqkGnK+gzmdXwSVG/+kWNC0cbrMAOypoumKbKK2+Hra+981/qHvzUFDNvJvU5R5mdz5pyXjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UY4KiqS9tzYsjtxXB2qDMvweTjlc6i8zYTxrnAk30u4=;
 b=M7kbkmUxlZqmrr9lbu0sDG08w3+jj7RJXjE59C5XMzuEvY8lQICk8dhmTD9MvTq+Roa67km7IPR2YfM0LOgFje3IMm1lu/KxghaPUTzx4twwz1quOZhBmAE+rh3IcWdGSvRqDo0/moSo7safKY63oxcbYncgiKIPiwyG2Sv1WwZy7dFAln53iiFclrLhtLTg8MIcD0X6DZLPTCJO7K6tuuDhdJ2TEdFYio1s2vGp6/7EDwNrbHy4fQKJR6jzAKfzIQO2fCsoEo4uJOvBM/PX97mJFt38RK7y+elisfkZKmgvLIxi2xSO9ocqJvd9zmOn68OIThvUr9EtISwb5531dQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UY4KiqS9tzYsjtxXB2qDMvweTjlc6i8zYTxrnAk30u4=;
 b=LbD5/Y6geG4FNpEah/h9mhO9xb3feS37cKnbQDluh+4bzVZLrikGo0QOqsGjpXuwl/bwDxXDadsaBcYxc58vmWtMU05MK8vBSTz5IQCVC8NSVXDuAsgJmMBOMpz7c6PvKWbpoSQJPR08zxMpZPjrrV8i1MJ1HKlVafOIGT1wrw5z+Jq59L5iJcx0CXXuZPiKpgYuUIozZrd5FxKbMxHqExDwMEgmOCtcyadXPDX4sXnTXVMEvqA9Ach/Xtz/GnTvjeBTRqov5MwbRWifWwxf7QvhhoXH6FNqr7dzfgARKaqhyvkdyYZHATepzmnEZqGTi4Ku4hG9I8jAGGeOILi2EA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d26961b0-0c13-83d8-9102-37e1e297fc4e@suse.com>
Date: Mon, 27 Mar 2023 17:43:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH] x86/boot: Restrict directmap permissions for
 .text/.rodata
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: <20230324220824.3279825-1-andrew.cooper3@citrix.com>
Content-Language: en-US
In-Reply-To: <20230324220824.3279825-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0042.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9940:EE_
X-MS-Office365-Filtering-Correlation-Id: cc8e3dd6-2c9e-49cc-b9e7-08db2eda0238
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6VXxEcEYc//cYpmb53MlGf5suXJWPIDQXXZMXWqcD0uH6VsoQXD0C42VP1tcbOytO+LrG0HMnsNKH8aoQ8PFgaDCgI7ylGE2ANQmJA40oDuHHKgB1H2J6fBFlaowWUPUrOIMuWXc/TXyxvSBMJua+801qSO8b5t0ItAIn8HzUoucuwgl4xbptCfjQCgX3SxBGXVJ3bTNmcp33VP09NBWMSm7M5pGahk4cYH4vNuEw70MmvVpDxWJSaJUd5nVVus4hIdabtQqEvEIWkt76qsNj/cAG44KJFPuRe14hyVN7fvG7/uo9WnCyPdXvvDy/0vRCR6B43j426dvr4oG42uOK1/IBzW3qenOGkm9xRaTsag96Tvuezo1bkgV9SNwHzNlVD+sTxBgV81ebNQ3fgL4E7B+EIq/00p6jBy9LkQ9sKLVnyW7lW8q6nzM7byZqGfleLJHwAfExUyEXdn6Knfgru6tR/tIdhIZf7k1VY4EzNAx6D+VTrngPic0CpqRdP65Om1G324gXHMGjWpJuflxunTaiai+AzM3+qCCpG87iFc/Ejz5qIkZJN1KR9CQKm4Zde/up4uEo3BltPrRe+lUsCxcIWEmF2LKujlyZQLYYTNEa8ey/lBMOOC7kSiFlvVkY19D6grK4OhFQEjHkLBqEvxau3gqBwkKIkihWUgrUKcfJCLbMsT61/Dg5MkPabxs
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(366004)(376002)(396003)(346002)(451199021)(31696002)(36756003)(86362001)(38100700002)(2906002)(31686004)(478600001)(6486002)(83380400001)(2616005)(26005)(6506007)(6512007)(6916009)(66556008)(66946007)(54906003)(4326008)(316002)(8676002)(66476007)(186003)(53546011)(5660300002)(41300700001)(8936002)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UXV4NUdici9DRzZ4OEszOTZLZlV6RzZFQjFpVFZ3bWNEUXVnNHdoN2pJVGN1?=
 =?utf-8?B?d0piUUFUY3AyR3hTUktEaU9tODVwUEhuM2V2SkRXOStKVmdjb0VRQXdCdkNz?=
 =?utf-8?B?c1ZsdGNnWmZVYzVrcFhORUVKUnh4S0FheEVaeGdDL1dxS1dNdG9SZ09MbmY3?=
 =?utf-8?B?cXFvWEpoREJyb2pvYnJOeU5mckNldUpLU2MzaXdpY0JtaCtOYVlHaWh3eEV5?=
 =?utf-8?B?UitVRGg3Q0lTNFNWYU4vVFVYSVFxTUUrOTVvOU1rRmJXMlViVDM5bHdtdVZQ?=
 =?utf-8?B?T2pVMmV0YUxxU3llVGc3T3Y1bWpsTy84SmtFMG1tYXlpdlgrM1M0eHI0amU3?=
 =?utf-8?B?dm12QXJUSlNHYkgzcUpKMzRPVnQyMzlDV0VQa1BPbVB3eWRuSVBVM1VhRXV4?=
 =?utf-8?B?ZndMN1lId014Q0g5bW9LYW9FZjhTZ1FoR2dzTHR0ZjBWbmk2NkRBbFp3TDZo?=
 =?utf-8?B?QlprQ2pSYWc5ODRkK3RPbXZhV2EyY01JVG0va0Z4U3pETlJCOEc0VzV1QnV0?=
 =?utf-8?B?MlNieEtjWTVla2VFRzJVcnpJSkpkNCtHcjc5bU9sdEpnNzErL2I0RkZaZGxr?=
 =?utf-8?B?VC9aeHhla2FrZGQrU1N5TVhPaitOSVVXd3ZWdWhHMk9PZWNxN2I2a0xnS3g1?=
 =?utf-8?B?ZE9pa2R6VmxVazIwM3I1NDNRZnhBc0VBemw1Y0FTQ1hiMzRSR2RWVUprUjJu?=
 =?utf-8?B?QTJpeWVqSGFQSWNhRUVlTUFNZ3dOMFdDRGpvRlhyNlJlbnRwQmlwMXQrOGow?=
 =?utf-8?B?SDZzZnc0Tll5WU9jVzZGZ3hIazl6MUl5L2JzU2ZZWGhjTXA2bzNOQ25yVEpa?=
 =?utf-8?B?UjFUWFc0bXdlM1kxc1lyU010ODBFcFdUVEthdStLL3ZBUFJmRnBlWnJ4dzMx?=
 =?utf-8?B?YVF4TWhvVTZsY1RFdWc4MzJjSHJvRjNpMTFCRVJzM1E3YjByVFNlY2wyQUhr?=
 =?utf-8?B?VElKTzVZeG9qZ2phVWRzVjRNTEd2ZXkxd1VNMW5QMS8wNEI5RlEzWmNHdFhw?=
 =?utf-8?B?UEZ0WEJOTXJ1ekNSWVk0WkxpQlhFNjlZTEk2SVB1aENEQ2ZLM1U3T1M4SFVj?=
 =?utf-8?B?RFBjd2RIa1ppVWowV2lsbENPTzloVGpVSTgwRDJ1cEhqZWRRdnZpVVJkSTAz?=
 =?utf-8?B?WkJkQ2NqRTk4RVBCVDR6QmRzdTVBMWRaMzJpRjJseWJwRzVoUVRxeHFmUTg2?=
 =?utf-8?B?ZkxFY2t3ZTRzaE4vZDN2YTMyR1JSK3EyZU1vcjg2V2JPRlVGdXdtM2hSZUh5?=
 =?utf-8?B?bHpBT0dYeXBWK01BdEh0dXo2SVJYWWpJYmdOaGZGeVdjZjVVVzRiZzFwYkZQ?=
 =?utf-8?B?NmsreDYvbUhYZE9lMzJUNjd1bmpoaTIvWE0yYmtGZjZ1SHdmYmdIS3dNWHVz?=
 =?utf-8?B?UnhaWXZxNWNreC85RlJVMnVXcFUvNDZUU1ljTHNvSzVMNmMzM3NzWGtTd20x?=
 =?utf-8?B?RUtEdjNlTDR5cStyRWpPaFIzb2NobHZTRlJiSjBZZTRxRkFCL3NUcEErNlBy?=
 =?utf-8?B?ZWtOb0VmK3A5NEZ0Lzc0QUtvVWRKVEZ6Y29ZcDZTb3lIZHlwQjJzb2l5QXJ6?=
 =?utf-8?B?cGl4ZVdvOGw3Mm5SK0RsUUYvTWp1YXhrT0xxRFAzQmtSUStKMTMvWXIvVzFQ?=
 =?utf-8?B?cXp4M04xSGdaQ2krOE5SWWhYQzVQd2dycGtoeWFUNGhJNE96dFF6eEkxSEtQ?=
 =?utf-8?B?dmxiaDRNaC94UnBkbThzZGdiRVN6VmY4MDhRK0QvUXBHdXRTczExYmNXaDgw?=
 =?utf-8?B?OWVDYi9nUi83K0F5SFZhRFRsQVVETWl1MU41Z1ZxT3dCb2Q4VDU4SHBITWNR?=
 =?utf-8?B?NFhKWWhreGZFQmwreUFob25NNXRXd3NYWXNQQ0UrbjJXc0ErVEhoVTBtU3Qw?=
 =?utf-8?B?RHJ1cGM3NGliRE4veVZqUGQvQ0QzYm8rcGNobU5KZ0hXZGJ4YUdqZkQrMjVi?=
 =?utf-8?B?SXUyanpIdjVsMEF0TGU0cElhY3dIYlIxWHZaUCtWUER3NlZ3K1NNZnJ1TXVZ?=
 =?utf-8?B?ZjhmVHVCbWQ2MzBKR3lLNUZxNktvMm9GWTNqWDQ4MTNoVCtlWDVNcVdlRVVo?=
 =?utf-8?B?c2JYMllQQTYwbFFXOXhUcFV1TVo2U2gvNTR5N1NLN2VHWWV4dXl6Um5qNjl2?=
 =?utf-8?Q?GWC+IatSjHIuYhFHzmsmZXHXS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cc8e3dd6-2c9e-49cc-b9e7-08db2eda0238
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 15:43:28.0177
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2jG62dWVXfyipz/W3lKTTcpxxZXhZlMDhbsKADvYceMpjuQasraKECCdOsGYTSb5vbYMHs75TxJnv5WIQsxxIw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9940

On 24.03.2023 23:08, Andrew Cooper wrote:
> While we've been diligent to ensure that the main text/data/rodata mappings
> have suitable restrictions, their aliases via the directmap were left fully
> read/write.  Worse, we even had pieces of code making use of this as a
> feature.
> 
> Restrict the permissions for .text/rodata, as we have no legitimate need for
> writeability of these areas via the directmap alias.  Note that the
> compile-time allocated pagetables do get written through their directmap
> alias, so need to remain writeable.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> Notes:
>  * The stubs are still have RX via one alias, RW via another, and these need
>    to stay.  We should harden this using PKS (available on SPR and later) to
>    block incidental writes.
>  * Backing memory for livepatch text/rodata needs similar treatment.

Right, but there it's somewhat more involved because upon removal the
attributes also need restoring.

>  * For backporting, this patch depends on c/s e7f147bf4ac7 ("x86/crash: Drop
>    manual hooking of exception_table[]") and c/s e7db635f4428 ("x86/pv-shim:
>    Don't modify the hypercall table").  No compile error will occur from
>    getting these dependencies wrong.

I suppose the latter isn't strictly a prereq, as the modification was done
from an __init function (i.e. before this new code runs).

Iirc we didn't backport prior similar hardening work? So I'm not sure we'd
want/need to do so in this case.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 15:44:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 15:44:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515340.798094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgp1I-0005d3-BM; Mon, 27 Mar 2023 15:44:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515340.798094; Mon, 27 Mar 2023 15:44:28 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgp1I-0005cw-7y; Mon, 27 Mar 2023 15:44:28 +0000
Received: by outflank-mailman (input) for mailman id 515340;
 Mon, 27 Mar 2023 15:44:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=81wl=7T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pgp1H-0005ck-6H
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 15:44:27 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40840916-ccb6-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 17:44:26 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9940.eurprd04.prod.outlook.com (2603:10a6:10:4c1::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Mon, 27 Mar
 2023 15:44:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.029; Mon, 27 Mar 2023
 15:44: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: 40840916-ccb6-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GDCUS1kBOP+zzFb1eAPTvk7HXKQ1YwClEc+ceiWUUHPNV/bZ1qBfl794pF8a+0sh99Tp4WWZHepvl6Yi0Nox993CLQ04C68VTS4wizkgiS/2Y8nEZNF4yvqIn2OkeXSr2wgCYAC0PqttbgBnJPYxOpcqAuAirHCYh0uPcOUjcpU0fCcJnEh2WHL1rri8ufXBXC5PDARtSX063uflTuYT+GEyjHUmzZ+3eqMM4E9GEAXRgo9XWZ4ZISyXNhpjsWuEsGADILsFfgJcFFiZmPwu0QdTVOHAyltierAIvrZfRXdDICAVJkZMrMBSFylYfrpoylw5cQWj5Einm+NG37u9ag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6iFoi/hNTfGQYdBRtD95lEI8PTHUKDOfMKdqsgbD1Vg=;
 b=FpgudbK5mi4fQOEb2axCSj6xhdaYwFO1IXajrS0FtDiHuVBaKg2dZhHnqwXK5eBLO0Y7Ork6HXCm/DGkFnErYRUTmH9G4Z/7QaPKNvYoWyWpBywXO7TssEgAs8Oaw7l0JW3lcDZ8Ztt3SB3z5p4qxAI1EYPImeo0pOhCcpWKqxsiLeuf/ezHjn/cDUXGhD/94cB6gc1VE95QeO9iwjCAzio5y/X26sD17DkInPSPUuM6XEzxpsOusUszF2TDcHI9dnqgmkMWAT8c4VghDmwKZVc1Eg3iXW08YR/sTd8zUDNYeqzw35ezzUclvt3NVXn8AO3tI4kCESjlpesaCO5oGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6iFoi/hNTfGQYdBRtD95lEI8PTHUKDOfMKdqsgbD1Vg=;
 b=GlX2/GGrpHp2mrFh/nCuHci1g35l3JivoVrFv6Jf3dnfH4aTfCHyKQidYhvXFOUIRplxkX+96pZmZr08XX960wAyZXsIwWdNuXLRbZf3+yR0PejE63IbSQLRaMwxLwgW+vyZom5oqaWfkmt2kdOq/SYbujumAYmdhWKG8oFMT9Z8COQ6Jl0UAZsfrpL3sia+EkYO7dQ/O88bLlV0f2PPWy2iWLz3yGymJhocQHiT5fDKdv07JNB9m0JSw5Rv/dDJzd3BsbsI6Kc+uvp+/EtMGLKlJ7U5J+JLvO6Jw0bYuDL81lOERQPcf1t+Byx0YczOTKI9KS5nlcPzp6P70PsKfw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <42b2a367-d27d-991f-3219-d3800e9a610b@suse.com>
Date: Mon, 27 Mar 2023 17:44:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH v4] x86: detect CMOS aliasing on ports other than
 0x70/0x71
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>, Paul Durrant <paul@xen.org>,
 Wei Liu <wl@xen.org>
References: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
 <367d0223-d481-b7a3-3b79-a9bc6f00531e@suse.com>
 <ZBm7N7oEDPlPmZ87@Air-de-Roger>
Content-Language: en-US
In-Reply-To: <ZBm7N7oEDPlPmZ87@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0048.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9940:EE_
X-MS-Office365-Filtering-Correlation-Id: 2900ef22-0d7f-4eb2-9d30-08db2eda23e0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FJL+4paDoXg/ycVNf0ysJhsr84sny++jvoh8V2OjhcDzmxEpk0WyXp85M2bpKU/t7ZiXMA47oUZyIhWQ79aKT8eNLhIftaHSOGt1z6s0nERKlDT34k2ar2V6e64OjirLWyC3Qamvco6il9Y8saCwrjcMjBAIsxdVDulIfOFJY5el3Z8KG4BpxOHZXKwaQpth+1mlgnD1FgyRek4D/sJRyFSwmGmFdvFyL0MjjFX04qmRhw3Yz0+CcZD27cmYHR/Uo709MaN/57po+uZ6pVCy/06QayFFBlT+CYJq1E3XQvGSG11Gul4+LeGnI/dcclhgH4uaZ9yUTe45qQSB+BoLQvWIexw0tGcNWwvXEAHpddNbCvoF9O8wX1xw0evjmIKSBboejwi1j6S0mKBNp6rUD7pE7tSeQxmVQzhM8CrR2PpfKJkgd7/weIMEO+wWURRSkNPH/NlsA63u7GEjW1E8ngtxP/MZQEBFba7gJpcRGbXkIFcCWW5Igmc6z3cvmnLA9z1VVrWFN7wknV7o9IGJ1bm68EXd5/xtjRn8mjq2aKTpRGXWR9Jyu2NRoRXU+uLyWjOaazfIDega/dX+mlEeEftEHvjKmFovb0AxbE6cjrIodZ9xXz5SmlgsYFS5fDNcOyGrlgemwVcwrR5PldKokQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(366004)(376002)(396003)(346002)(451199021)(31696002)(36756003)(86362001)(38100700002)(2906002)(31686004)(478600001)(6486002)(83380400001)(2616005)(26005)(6506007)(6512007)(6916009)(66556008)(66946007)(54906003)(4326008)(316002)(8676002)(66476007)(186003)(53546011)(5660300002)(41300700001)(8936002)(4744005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UGtMcllyZW1GVXR3QjVzM3premdURG51UzdaTEd6TkM3cExEbEd1UVRidTlV?=
 =?utf-8?B?VVpyOW9wZUxNZitJdmo5cDZucDRhZDVqTDRzREF3clNLWmpkSlhhbkVrc1kr?=
 =?utf-8?B?Z3ZTQlF6TWhXblN0ZmdBVnlZZDdVaXc4R2VuQ29WSzA5dFg0bEpDWlZGME5y?=
 =?utf-8?B?TTVVTEpIazZmd0lZMEdZTldIRkptem5PNHpUbjhSR3BtbE9YRHlkemNESDZU?=
 =?utf-8?B?Y1R5cUFOOFBML0pHN3BPbkVhWHFvbVZIenpTZlNWUm9IZmM3WHE1MFBGS1dq?=
 =?utf-8?B?VHZGYkxMRFl5VXg3Z3phelBTZTg1ZmlISm5XNkpNeE5xMGxwNWlFUnV6Ukk4?=
 =?utf-8?B?eDVDMXV6MWdTNXJ1cFVsczFGVks1SjBiUDBSMTJBY0twcVRjcVVubDdrQVN0?=
 =?utf-8?B?NnBDOWwwV3M1T2o5RVNoaXJCYmp0TlF4M3IzY3B6djkyTDRhdHhGbFVoTmRL?=
 =?utf-8?B?Y1JwZ2g4YnRZVWoxd212RWZ5azNrWURURXNnRTZyTmx5ODJVc2l2VWhuSVlV?=
 =?utf-8?B?QlY2SzFTMFQzQy9EK2crSndxQld2bC8yaWp3blZoMDltYmY0bEw5UnRjcWl1?=
 =?utf-8?B?Q2tFelI0WGRyWGxlRjJwL05UMjhGc0FCbDhkZ2ZXOXhnUzdOOGNQbWxJM1pa?=
 =?utf-8?B?ajNKMEs0UndoYzB1SkVtdk5QSFp0TU52RnBkcmdNWm9yMzhoUzFUdTdHMStK?=
 =?utf-8?B?YnVZQjFXOHJScjRWZzY2UFRneFFTUE1CK3NlcXlUN3JuMGFBRkI1eFdsa0Qz?=
 =?utf-8?B?Q2JJQnk3RnVobXFXdW5WVUUwemF3VVhGN1BweTBaSHFPQ09LamxDRGJPaEs0?=
 =?utf-8?B?ZE5WRXRMU2E4bEJLUXF0V3lEd2JTYnhYaGNhY3BiYmh3MFhOcFFONVdLTW5n?=
 =?utf-8?B?ek5WMUlpNTcyK1lTbVFMczE0T2hmMG9rNkVNSEFXQzBMMlZGMHRtaTN5bDdu?=
 =?utf-8?B?TU1WNlBSNkh5am5qazl0Mm1rcWp6dThQQmtMdTRWTEVRbXVkZmpNTDF0YWFM?=
 =?utf-8?B?S1VUM25hMmlDRXBsb2twQmwyRzZoNWE3MEl4VWZYQ25OMWJTa2dRUHFqbjRk?=
 =?utf-8?B?K3AzMzZFYXlWRVlSOEZhdFE5SmlpZFQ3bnlqSUZNajBobTBRa25FWjlpM09u?=
 =?utf-8?B?OVMrQ01FUThOcUtQdFJVaDhUNkh0ZVp4UENRdzN1S3dFVUR4eEY0RzVVTlRB?=
 =?utf-8?B?OHVpWGlXRmRZMmdXaU1QTWhYZU9LamlCTHJMRHl1bktMRTBzWnFOUjBQOVpH?=
 =?utf-8?B?TjFPSHdJc25kS3FJV1lER1F3RGNvRW1GQmFTYlZ2QU5kZW0vdDArL2lqaWxR?=
 =?utf-8?B?RmZLT2pvQXRKaXd5b004TEs5NkxiOEpBZXlvbGtQREVUendCQUxnbVMwUlFO?=
 =?utf-8?B?YzY3ZUlQNmh5K3F1ajdycWVjN0VtK21nWTNEekFIOGNoZW52RGJPY2pKY3FR?=
 =?utf-8?B?eHp6K1NIeU54MzNvWUlJYnpjWngrNEJyaVpJNkVUV3VJbkhDc0M4K0hoUDlS?=
 =?utf-8?B?NFNLUEk2dmpFYm1lY3hWZkNLdCtRMThUaEFGbnE0OEsrMjZkU0FXTTU4TExr?=
 =?utf-8?B?eG1zamNVTERFRC9VWjV0NVdvcDhZTFg3by9uY0lIaGVISWd3Z0pSdTZOcC90?=
 =?utf-8?B?em11U21KM09pd2FaTnp0c04rTnZlSUtmaWRJVFY4MDJiSTlwNjBaQUdiVzRl?=
 =?utf-8?B?dStJazRGZXBEZkh2aE5rTXA5UnhPOVNCNEloRXBiOU9BcDdMZVRxazB4ZjZB?=
 =?utf-8?B?b1VJUnlHUHAxWTh6N2Vra3ZpN1RaampSVmJsdG9mWEo0UlBsaXhXR3V5b0VC?=
 =?utf-8?B?RnNXM1dhRUpYMVdOTTA5NjYrS2NyM0w4SUVNSjBlcFdpUEZrNXoramlyT0x3?=
 =?utf-8?B?Q2hjWGRPNmJjaFVhUGNXQ3ViWW5Ca2R2aFpZVndUdWErZDkzVEVXdG5Qajh5?=
 =?utf-8?B?TFhPK0Mxd0t3SDliWlV4NHo1Y2tHNnlYMFF1bDBpcmpJbGQwWEdVQlovL0lu?=
 =?utf-8?B?WTBDbG51SjIrMlFLbGtRWnZoSzRYMmp3QVBtbUhYWkFqWllHWitzeVZnVzNU?=
 =?utf-8?B?SFR2OEhTYTVaWE1zN0V2OUpVSmhwRlVXUTdhVDVOd01WWFpBb0JCOEJDc0lm?=
 =?utf-8?Q?5iF0XRk29mozCcnv9y3CPjd9C?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2900ef22-0d7f-4eb2-9d30-08db2eda23e0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 15:44:24.4754
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pl7f3lxPlxhlMG760ollMLSBJLdmMwLZGnJzn+kNs4md/NTRm/8TTCwKUOOfTrBHeUw5YcQHIMROMsiNKP16QA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9940

On 21.03.2023 15:12, Roger Pau Monné wrote:
> On Mon, Mar 20, 2023 at 09:32:26AM +0100, Jan Beulich wrote:
>> ... in order to also intercept Dom0 accesses through the alias ports.
> 
> I'm trying to get some documentation about this aliasing, but so far I
> haven't been able to find any.  Do you have any references of where I
> might be able to find it?
> 
>> Also stop intercepting accesses to the CMOS ports if we won't ourselves
>> use the CMOS RTC.
> 
> Could this create any concerns with the ability to disable NMIs if we
> no longer filter accesses to the RTC?

I've added "..., because of there being none." If there's no RTC, I don't
think it's specified what function (if any) port 70 bit 7 has.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 15:44:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 15:44:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515341.798104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgp1U-0005wl-Ke; Mon, 27 Mar 2023 15:44:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515341.798104; Mon, 27 Mar 2023 15: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 1pgp1U-0005wc-Gg; Mon, 27 Mar 2023 15:44:40 +0000
Received: by outflank-mailman (input) for mailman id 515341;
 Mon, 27 Mar 2023 15: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=81wl=7T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pgp1S-0005vZ-Hp
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 15:44:38 +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 46a51207-ccb6-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 17:44:36 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9940.eurprd04.prod.outlook.com (2603:10a6:10:4c1::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Mon, 27 Mar
 2023 15:44:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.029; Mon, 27 Mar 2023
 15:44:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46a51207-ccb6-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PUDEn1a5YAt2dutlkrYueKqz0uWRlVLlnDurBO1aFkCKbLQqx+05w5OHZRfXbgARw0WNsHwFy+URSn82J19bfINNDKzZPQeaTpwpPBr6oRA//pXfM5TK9ZRShDtddKtBtFILp7Dexz/NCJQ1qUHKv0cPJLKAQKZxCrC35RZQtkOwfKPY3kZYzDMaZpqQAedG3ubHhIobh77cHsAz2RdSGVDafJEb+5TuVQgmFv6MNM7DhicnjJPBZl9LnAZthA5nlRQp6ZuCHKS61+WNZigqyhMt36kt94/CLmFDbK5X0qHstSoJlA6WiTDeqBVttSnxEOs02tVgWPTyjyO5d/7Kaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5Hl8whAR19XTlHICuHSxgug3RMH8J2TDN9COUiVGU9g=;
 b=aEKrf80pfMqeG7b2fQ9ZJWkXBuymYYR1OyQifBgcaGsWd0BWi0b7Z9flHBI1i4ckvE9PYGB/G8y0nyK2TI2DaGz6IhD8qXiYC/pIr5vGmGEWusOqMvydVnkemPKpOd6VeI11sBG6PV0YrwdoSW2UTHfyZREU3r7yBP07qLIruVfcoS/mBogmLqBFe4QJNDZYZOxTsyxa1h6StHQX9PLNm3OZs6VPyM+rUYrSeGafZp08URTeA3SSH+JmLXBR0KGdyObcpBEQVOd/kmOIzdRXW+RcT2KsrT/RlgwmCyBQq9tnFGO4ictb2Uy9nyyfuj4JLY1C81lFjVlhqSdAqdsNAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5Hl8whAR19XTlHICuHSxgug3RMH8J2TDN9COUiVGU9g=;
 b=hiJfZzP0sesgVjij05SvWev+f+/k056tC5rI4npVSoy1m/RYM9cB9PEuGGf6lajtgpici9bUa0t6enz5Xz7OEvTS7kC9T79wsUJbGhsrj/0p1S5MjWinKDnAX322MPdQ7zzqo5Znl71OLh2wrO3w6hRoCtB+LSBfacX6jCdnrOfxwYCv4TuaHlohOHDEDzV9dA/tYqQv4rbQ+3HLHUE4vRRPRAEtmifXMg5fcJskS4orWfHIKsjDpBKH/Oca9ur/2MCRtetaZcy0vYeWk4GelkJL2cL0h97A45nfaVYTy4SkSsSGkIGIIG9CemDpjDBvUC5PBfH1EwF4yyo/3NCRTQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f70f6136-7a4d-e77a-d73d-5b5dbbfd88da@suse.com>
Date: Mon, 27 Mar 2023 17:44:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH v4] x86: detect CMOS aliasing on ports other than
 0x70/0x71
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>, Paul Durrant <paul@xen.org>,
 Wei Liu <wl@xen.org>
References: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
 <367d0223-d481-b7a3-3b79-a9bc6f00531e@suse.com>
 <ZBxm+7/ldyHclXwc@Air-de-Roger>
Content-Language: en-US
In-Reply-To: <ZBxm+7/ldyHclXwc@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0141.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9940:EE_
X-MS-Office365-Filtering-Correlation-Id: 1b4fec11-52be-4f81-7371-08db2eda2a27
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ei+c/4xNBGRKrVQDn5zZY00yTas+YuOG4JxbW3Hcx8qvZwWF5qJLrdJtoG/JHvnf/V7t2xgtUPiJO0MWKwKfv5IC5cVwVpsCA8bKRITAmha2CgQImeVq7fLm714TuNh2J9rY17yJyv2HcIrZXdlTRw4FVHaea7qTHo3xfBkec2NsR1RmwBI92yKjKkRZf9+QL9qoJAtrZb1fIDp/AZvmOIiiaP2aPXTc8uvAmDfF8et6iMJ0hxuMHMidEBmfttITY89hyMDBPjUeAs7+mBmPQ0+XbPgUc/mmlRj+CMmrpmsQzJPvn3ndTelwykuWdPcDoCoiFzwYaArtOT/LRwPWOXTUy+DxYf6QkM96LgfAcPtdVjx980ZlSHtYlUimpUW5lqWKVlQnrL8sb9JH3PJOc5BRatYDlJ172rndAlAxieAH3IzzM6sZ4gZB6dnWssGwZU4JDSY3jlkQZWKDtk+J2tQiQphA1AsY5c6MhxgHcYKnvWYjz3v+2AcVJzJLrijcvkOd36wZwX/jQdeEFKNCD5jc7Ou7X8qxelMQgxBCaLn1wMtMSeB5JkjZWb6+/Cx95f3RKNXyFd8nkUQVSGgPwLh1NnNUSttOLaiOB63Ntsaky8jSGjsYwxY4dF7Lx6NMfjiLhgGHQHDKOfctsgXIOw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(366004)(376002)(396003)(346002)(451199021)(31696002)(36756003)(86362001)(38100700002)(2906002)(31686004)(478600001)(6486002)(83380400001)(2616005)(26005)(6506007)(6512007)(6916009)(66556008)(66946007)(54906003)(4326008)(316002)(8676002)(66476007)(186003)(53546011)(5660300002)(41300700001)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b3VpS3NCVnViKzZKT3RyNGY1MkxKQUc1NHZIRGRJSDFEdlFBYm1FNC9oQWpU?=
 =?utf-8?B?VmlXS3hyUzdwa3Fra01BcU1hOEpCbEpweTRWaGNwOE1DRGUxMDd3KzgyYklt?=
 =?utf-8?B?TVgwL1BnbytBMkIzSi8yQTRYQzYxMVJWR0c0eWhoWDR0SXp1YVZIaFhUQ29n?=
 =?utf-8?B?YzMyR0VSenhhaHZudW9YeHd5U3lOclF4cTFnY0FtMjRqVDd1a3lENVh5amt1?=
 =?utf-8?B?T3oyTWp6aENsMzdtbXpZelQyQk5Jem1LZFNpcndXNHA1RWJwREo3VjkzTll0?=
 =?utf-8?B?aGpXVTI3b3Zib0Fjc2s1TWU0VTVXclR2bmVyUm1wUUtPa3ZNWjZoYzArVTk3?=
 =?utf-8?B?d3hQQ2xwSld4Y3pUc2ZXWnM0TU14Z1hRUzZCVHhBbHhTU21pTGdGYW84VEVp?=
 =?utf-8?B?ODdJdnNhUVBBSEl5eHNRQ2IvcGtiWjdqa3M5SWlqK2ZQTlhEd2FGeGo1K1h1?=
 =?utf-8?B?eG5VTGlQbnFtbytUdkh0eW1EUXJ1UU1YZDZZL3RSRWRTTGs0bnFYeVBwUGZF?=
 =?utf-8?B?MnV3c2VxYWJWdFpUYVpieG9ZNnlidDZjQnR4UWdHcDVsMWRpMlRnQ0tyeTVD?=
 =?utf-8?B?N0U2a3Z0VnRVb3h2ZG1BZWdoa0pVLytISEV1d1JucmdVc3YxZ0phRk9QanNY?=
 =?utf-8?B?Z2xBQlpOQmRmSTF2YkZ3eXJ0aURkK2tsTG5YeFNoU0JHeTVkazFNYko4K1pp?=
 =?utf-8?B?dzQwZ0VDcXZ3WU13eUU4cG1GYjExdUMxRWdycmlqQW5rMGFIQTV6cW1tUmtC?=
 =?utf-8?B?b3U3ajU1T2J1T3lobFpFRzAvL3FnRHVqQ1F1eFZIcWlLY0xmUXpEaHlJZHhI?=
 =?utf-8?B?V0Y3OGYvSFo3RmRxR3hRT3BYc0hEOC80d1pBd3lvTUhPSVdYWGsvYis0WWU3?=
 =?utf-8?B?dVZaZm16bDZLQ1JXZ01kMFlpUStTU1M3dm4rdGFnODJWczlFUGFWZ0VocXln?=
 =?utf-8?B?c2pmbnFuRmVvY25EMTI2dzBhMHFWTVZWb1d1NlYyVGhLT0d3NTlpaFZWTjF2?=
 =?utf-8?B?REV0RXFIRzcxNXJLV3RCSWJtUjBORWxVOFk3TjRacmhBSnR2dllEUTJQRDhw?=
 =?utf-8?B?UGpDSi9YRVBqYkgxdStsS3dZbUtESWNGcERzN1hxVmNlNjRTTXF5aFdsV3I1?=
 =?utf-8?B?aldMWGl1NW10ejI4bFBmV3RFUmtWK0dEalR4b01vRWpLU2p2NzZEVmFwVkRV?=
 =?utf-8?B?YzdYaTdwNlZrMzF3U3Jac2YrZVFtSndhd1Y0b2lVcWxicGh1VS9MNlM4VFBR?=
 =?utf-8?B?TktpRVF3VTdtZk5HTlc1UmtiQStEaGEzdlNlVlo4S1NHQkY4SEhuNnFSVTFk?=
 =?utf-8?B?aXBDQVpSMmUyMnVVUjRNRFJHUW82V1NaMk1OOGpIYzMrREVZQm4wRU9VbzMy?=
 =?utf-8?B?ZXRRejZhVVhGYTRxdjJmL0tjUFpYVGE2cVNsU2Z4QVp1cWVZTXlBL0l3ZjlN?=
 =?utf-8?B?SkU4L2xCV0p6TVhyOEFQc1pqYVRWMHp1bC9KR052U0JtcTZsaEp4T1pPcDBR?=
 =?utf-8?B?akRkeXMzd045b2YyMW1CSDhjcmNDTXpYblVSZHhobUxwRDVRVmYvUWdCSjZy?=
 =?utf-8?B?UHRPaUNuazg2K3J4cDk5VDBxS3VxRStLa0FpVUdFVk1vQWdaWThQL1d0bDI1?=
 =?utf-8?B?NDhKTURxWE5aMVlvbVpSalB1L2FWeWtpeUQvT3RoNkgvZ2pwNGFCMWxHa2pZ?=
 =?utf-8?B?eS9EalNKR1FHUkNYK0dEaXhiN1NDUnVZcGN0M255cHVOWVFqLzZDL0pBaFVJ?=
 =?utf-8?B?Q2d3Nm5JSm1ybEVtUzNyeDFkNUhYRHUxdWVtMDlIV3F3aW5vMXFDSkxZZWh2?=
 =?utf-8?B?Qm56THpET0hNL1UrWHhDNjAremI4cnNyTS9DUGxTazFveWluVFMyU0ZITzJn?=
 =?utf-8?B?bUl4dHdOUE00My9DajNmaVlhd2dyUmVhajZZaG16STBJYXA1c1MvRWNoRzVj?=
 =?utf-8?B?dk9MOUdVRXprQXg3dTZPem1iODY2bFBnRVErZDVSbGlLWmhya0ZUc2xob0hh?=
 =?utf-8?B?OWViV01zYVJZYlFzTkV2TGZZKzliL0dsN3R4d2NPM1dUelEyTDFmek5SMkJi?=
 =?utf-8?B?SmdqSUlESmtHZGNiVWxONCtJTTJralk3cW1YOFVVSmEzZjdOb25UZU5VTkRT?=
 =?utf-8?Q?2HseyFWou1Ek2ohseoMKhTC7r?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b4fec11-52be-4f81-7371-08db2eda2a27
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 15:44:34.9398
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tzbPXTep8m+gCRd3GvPJu0WmQWJ3D5udr6n9lwZWgWd+CP7B1Xa4t0UW3t7qVb/+JsFAT1/01FaIkohqUuhhKw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9940

On 23.03.2023 15:49, Roger Pau Monné wrote:
> On Mon, Mar 20, 2023 at 09:32:26AM +0100, Jan Beulich wrote:
>> @@ -1249,6 +1252,80 @@ static unsigned long get_cmos_time(void)
>>      return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
>>  }
>>  
>> +static unsigned int __ro_after_init cmos_alias_mask;
>> +
>> +static int __init cf_check probe_cmos_alias(void)
>> +{
>> +    unsigned int i, offs;
>> +
>> +    if ( acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC )
>> +        return 0;
>> +
>> +    for ( offs = 2; offs < 8; offs <<= 1 )
>> +    {
>> +        bool read = true;
> 
> You can limit the scope of i to the inner for loop.
> 
>> +
>> +        for ( i = RTC_REG_D + 1; i < 0x80; ++i )
>> +        {
>> +            uint8_t normal, alt;
>> +            unsigned long flags;
>> +
>> +            if ( i == acpi_gbl_FADT.century )
>> +                continue;
>> +
>> +            spin_lock_irqsave(&rtc_lock, flags);
>> +
>> +            normal = CMOS_READ(i);
>> +            if ( inb(RTC_PORT(offs)) != i )
>> +                read = false;
>> +
>> +            alt = inb(RTC_PORT(offs + 1));
>> +
>> +            spin_unlock_irqrestore(&rtc_lock, flags);
>> +
>> +            if ( normal != alt )
>> +                break;
>> +
>> +            process_pending_softirqs();
> 
> You adding a call to process pending softirqs for every loop
> iteration makes me wonder how long is each of those accesses expected
> to take, since we could be performing a lot of them (0x80 * 3).
> 
> I don't think so, but there can not be any side effects from reading
> from the CMOS RAM I would assume, even for cases where the CMOS ports
> are not aliases?
> 
> I would assume ports to be either aliased to the CMOS, or otherwise
> reserved.  What makes me wonder if it wouldn't be simpler to just
> passthough accesses to all the possible CMOS alias ports.

I'm afraid this assumption doesn't hold, as can be seen from the ICH10
datasheet that I did point you at the other day. There ports 72/73
serve a purpose different from ports 70/71 (and their aliases at 74/75).
Unless (as the datasheet calls it) U128E is clear (wherever that bit
lives), in which case 72/73 (and 76/77) will also be aliases of 70/71.
So we won't get away without probing, and if we deem probing too risky,
then all I can do is drop this patch.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 15:46:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 15:46:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515348.798114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgp37-0006ps-3p; Mon, 27 Mar 2023 15:46:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515348.798114; Mon, 27 Mar 2023 15: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 1pgp37-0006pl-13; Mon, 27 Mar 2023 15:46:21 +0000
Received: by outflank-mailman (input) for mailman id 515348;
 Mon, 27 Mar 2023 15:46: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=81wl=7T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pgp36-0006pZ-7j
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 15:46:20 +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 8376cd50-ccb6-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 17:46:18 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9940.eurprd04.prod.outlook.com (2603:10a6:10:4c1::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Mon, 27 Mar
 2023 15:46:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.029; Mon, 27 Mar 2023
 15:46: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: 8376cd50-ccb6-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nIUUhQX37WtQRRK10qZRTYyNKL3fxIzxImSOzYTF0LmocDanhpWpUZrTtfSwkxFfl6naIr28AK2+kpiSlZSFD3cRRw9t7pbbRdsq4nju7d2p2/wBEjGJsAouKSfVOjyiyr9zMV2S7nOH3hPudEwPxup+viW49A3BPCXSGoeTSKpAjfxGetUTIClu52X9K7b41KVH3du81wonsG/IxYduAMWKKQqqBtb+wmvXrcEHEmDA6PFkzjl543Kber0iczCA/ZRaFJMxGzMC98+DM78NRQjM6bZIwwCEKrqR5eKqyX61xg0vVCHAwKVIaS1Bs1ggVB1Prov41Mw8066ZTF2cUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oKCQV29iqi1PZw4lRIAffX81GSs4e6Hw0otRVjXUGc4=;
 b=abwoL6JCWiyXvA0IxmdHYmfgtWalkMFPP73Tba2jI2edYoWIgHL/bfEOTUIXZt4VFUY5ow46Tc412b0LqZRqxH0S97KoL2uREdoz6Ej5zTGh0LwYvD2C/IW/T6Xj55IGnhS1djN0CMPA+Kcm4166dLT7DX6kfdc0+QHuHtOWwJRkHzQCOuoYI/GJDDz54z376vtAvNxW7R/AHFyTSfGcUN+HJSaaDaqUOLxVl7dvJ6yCWzCVBfXnw6PnlVuyB/wZMSBZ6eKpXQ2fQlIck0bYbGS+ZPGvXDUT1oh9P1l8m4EDDIpuVWsOLMjggzUL4k3FpMkRuxbqB6esyxWP7zasdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oKCQV29iqi1PZw4lRIAffX81GSs4e6Hw0otRVjXUGc4=;
 b=Lp8+KNmeRF/IbXI+hJslXHW0ouXBODi34CKNllZRGVfkc0TMpO9mlPC8e2KN8hzahh5+6DfVq36lRDbMQpCi/tNo45Bfsa4Ggpl6iLq+P/1Lv808Bf3eq6mXpiv67nOiRzMDpPPJfiosT+8/Akot+LHKz/AWzt4dugTPL0BAi3BwfFv6514Pk983/x46px/srRknypz5FPy9QNzVdnVxM0fd80iRqbTm/jWphOKkRs7PCztK984F/iiRvZyzLQqSSv+0fvNqvRDsoIezAsWi/3dj6Z5b75Ht+IsUWj8zrCjDDmtsO4pkB/BfFNRSqVDsGAwD3iUnDtezeHG+yBE/NA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <73a85276-620a-c0e6-c0b6-79a4f6466826@suse.com>
Date: Mon, 27 Mar 2023 17:46:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Jan Beulich <jbeulich@suse.com>
Subject: Re: [PATCH v4] x86: detect CMOS aliasing on ports other than
 0x70/0x71
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>, Paul Durrant <paul@xen.org>,
 Wei Liu <wl@xen.org>
References: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
 <367d0223-d481-b7a3-3b79-a9bc6f00531e@suse.com>
 <ZBxm+7/ldyHclXwc@Air-de-Roger>
 <62e5d8fe-df2e-eb95-bc8f-631dad4204f2@suse.com>
 <ZByA88LU2YgEbcK9@Air-de-Roger>
Content-Language: en-US
In-Reply-To: <ZByA88LU2YgEbcK9@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0105.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9940:EE_
X-MS-Office365-Filtering-Correlation-Id: 99977686-9f7f-4168-e011-08db2eda66e8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	F/aLa+tVVWaISKOfeMxrcZZGron3/NxNkK8LkmdyjY+TmOuoFSN9TWK92634P0cJChVfDrXpRdADYetf1Px4pzodsEcDLdXCYZs44HUWwJOIv2kZ137J0XcO72pY5QTQ+XnQ45k+iBfn+s3O0imm2U4c1iYyQAZ1Zgn3DBw27dGZtWXOhGnzhlq6RS8S9BwpXWOMviDnVGlqxoWq7ciyMtOfqQL6ibDMexRm7LDycGX7XDTBSWSEOWxa5fbG3rXCgIlXWSSV7SO+FOSuimrr9RjmTCWNW9lyfFhwPK4PbV3VvUQsl0gp5fr35PwpGESEBJ18I2RQd1xC+FBo8Cc6g2g4kjjCSnrWCuFYrHiTQvo4hjQ8zXMhlAvvMhq+dI577YrzdaStBdAnHtbU9XjsOIxfqbXl5SJCrUUnE47sTaKu0piC1z+RluY2xk/HWOpT5EFZribC6+ISlZf8xBiMXBm4mkGhy4pwwV3h1ixfMe+b+UzyZJKKzv3y4Jl+Vx6YAT3wr6dro54fYu/pPXJsNtCkCnCAXOq1ujzbnsArMlvC6NY8XbLR0XFDRtLh1VKFlXgwZQ2erYFYGEwuu4fh7Frl3aXV1rTchkL0QUOzsT/sTZEW+R7vz4ThtVfgmh/dOw9q2ued8H6nYLCbwld9bw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(366004)(376002)(396003)(346002)(451199021)(31696002)(36756003)(86362001)(38100700002)(2906002)(31686004)(478600001)(6486002)(83380400001)(2616005)(26005)(6506007)(6512007)(6916009)(66556008)(66946007)(54906003)(4326008)(316002)(8676002)(66476007)(186003)(53546011)(5660300002)(41300700001)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NTgzYXdZc0xpdWsxSXluUnlTN1VxanBGNCtLcS9iMWQyWS9GZldzNWZiYjJI?=
 =?utf-8?B?bW45WTAzRjBlWDhUU3hzVE1COVNoS0RVWWZDNVFwNUN6NGtDQkxKdkl3aEl2?=
 =?utf-8?B?ODlncEVHc1pQaGU2R1ZaRTNuMW5tcGtmVDM2ZjMrL0Nldy9tdzNpMWFkSzFS?=
 =?utf-8?B?R25CUGU4YTFRdDZGVmhTQ3NMaFAyWU9Ud2pzR2hRS1p4Z3FEVGFacmNqb0hI?=
 =?utf-8?B?QUIwazAvSFYySTlZUXc2cThqZlNSdE45YVNtcndtUHVnYlZENmowelR1U0po?=
 =?utf-8?B?bVpVcW1vOEtoOCtLVEZGQUgrdCtFcFkweThNNjRicDVVcUgxRzA5SDVhRWtB?=
 =?utf-8?B?Nmx5bUhpZGkvL2xjdVZiR2M0M3pmSU9yT0pxd3d3VnZNTitCYjNHcThKYkUx?=
 =?utf-8?B?cEhWT3g3d1o0RmNEaXU4TWRyZ3JqTklmdURteExNYktKRXFFTmF4MTRXZXJz?=
 =?utf-8?B?VWRkK2VpSGpGamtteGNxQ3JnT3hkT1dmbkptRzhPRDhPVVJXRUFBeG45SXov?=
 =?utf-8?B?MHpobFFRalZMSzJTdlRqUVczZ2xxNzAvd0tQRVRyYmtnM3dxUENHU3VXc1gy?=
 =?utf-8?B?SEdYRTU1TDR0SXBHMzhGdnRBa242cE1GUXlReHMzc3ROSGpRd2JUd1NSRUlX?=
 =?utf-8?B?eFllV3pTS0p1UEg0cVR4YjkxOXc4Q1U5aHRsak05T2YxejNGZWdSckFlM1ZG?=
 =?utf-8?B?cDRWZXh5ZktxVlRUeGdrZzFGWUtpVDBYcUFIclRiWE5wZ29LTjQvQzBCc2p6?=
 =?utf-8?B?bElpVE1qa3J3LzlhdHZDZEduMTJpaVkyc3NveFNJRUlJcmNlWXVOUmVMMys0?=
 =?utf-8?B?S3o5MCs0UyswMFJDV210UmJDSFhaRzJZY1pkNW41dGVsYnY1VEZLYjkzQW1a?=
 =?utf-8?B?dzg3NzZ3RFN0RjBlYUpwT3JYOGxyOG1MQWtOd0IyRDM1YVk2VzVSdmN0NEZR?=
 =?utf-8?B?TTl6SVIvNWowTEUxQW5wY0FqWVN3RXBuZVNZZXA3aXhBcElvZVlQV01jSXRM?=
 =?utf-8?B?K0xpSUtvOU5CN29NQW1xNDhIZ042anlkcTI5dS9Pc0RjM25PdE5oS0pxcjNa?=
 =?utf-8?B?WlJhVzlsWVNScnVxMmpkK3dZNmw1NkVkS0hUT3p2M1JERnJibGNKVmQ4dUti?=
 =?utf-8?B?Y0l4SEpMOEVMMDNBUmFoWUkwRC9nQ3NMS2N1RFlvVHlydVV4NzQ3MjFQV1pO?=
 =?utf-8?B?dE5vTG51dkt1MW43bGE0aHFMRy9YV3EveHJWNVA0Tm5RNHYrMFdjeDRKUDRW?=
 =?utf-8?B?VW5wTGc0QisxbHNSVkNrQXNKOHZZaUxkbGRyWHpRUTd3M29JK0ppVFIyaHFX?=
 =?utf-8?B?L1FrRnVtWDU1eURKNVJEeEcrWUNsTHVWTks3eEltVjRVZ3FIakJNeXN5V1NH?=
 =?utf-8?B?WDVNUytVNnc1RDc0UXVzdnNMckxFZG95UWVuN0RoRDJORjFhTjNNeVU2MTNo?=
 =?utf-8?B?cjMzMlJiTzY0UGp2eGQwempTbVN5aTVkQzhMdkpOSWN4cW1xblZrRnkyRTF5?=
 =?utf-8?B?TXBibHVQMUJLYlZIOXJLak4yZ3RBTGNnR09tUE01WFB3aU1pUU1ucWdCU3lw?=
 =?utf-8?B?OHlBbmNMWWI3ZkZ4ckkvMFVxMVYvN3pMRDNIaXAvc3p5YzNCM2JZL2wydDJC?=
 =?utf-8?B?Y0d2Yy9JUlJPYUhhb1NKRG5xdUJ6TUJ6cFJjZUcvS0RSZkJCWi9LTUJxWVV6?=
 =?utf-8?B?SU9vSU1wZ1J4L1JSaHN2dndFNGVKWGVWeFpSa0x3ZGhmcWdXT1hkWVRFSUJK?=
 =?utf-8?B?THFXWGFkMHVnbGFaMktZRkdqZWJhODBYYWNsc0FVSjM4TzI3bXF4VlB5T0ZC?=
 =?utf-8?B?eFdrYzBYVEhkeUNGTFQ5TnJ5bkF1Z2dlbmR5dFZEY1RQSUpFdHhveU5UZWIv?=
 =?utf-8?B?Qjg5ZFRmWEtsdjQvU0NkOWpkN3lmK095VUVSR1NmaENha21lSldrZlFRY2VM?=
 =?utf-8?B?d21RRjdZTFoxK3RodGlCZ0RxRzgwQkxtZkRlQWFrMU85dlZyZ015SXR3ZkVo?=
 =?utf-8?B?dmtTS3BQOTZ0MDNnR21HNlVJdDZQV0loaWdXeGlPaXpxcko4TVlsTExKZW1l?=
 =?utf-8?B?TFlnMThDY2NnemJzUitCTmM1WGh6dGxPYktFZXk0L0xxcEw0b01zNHpKeVEz?=
 =?utf-8?Q?I/QWNIp+yhbQb+wNNRQ1kwySn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 99977686-9f7f-4168-e011-08db2eda66e8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 15:46:16.8990
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lP8+FrIFol7MyciEik58pPUunSRTn5UozkCq7h1Ld3OwuqEvcMDBAq4MtlGHvh+xRkz3WePKE+enHOCjdv7ZQA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9940

On 23.03.2023 17:40, Roger Pau Monné wrote:
> On Thu, Mar 23, 2023 at 05:08:43PM +0100, Jan Beulich wrote:
>> On 23.03.2023 15:49, Roger Pau Monné wrote:
>>> On Mon, Mar 20, 2023 at 09:32:26AM +0100, Jan Beulich wrote:
>>>> --- a/xen/arch/x86/setup.c
>>>> +++ b/xen/arch/x86/setup.c
>>>> @@ -2072,37 +2072,36 @@ int __hwdom_init xen_in_range(unsigned l
>>>>  static int __hwdom_init cf_check io_bitmap_cb(
>>>>      unsigned long s, unsigned long e, void *ctx)
>>>>  {
>>>> -    struct domain *d = ctx;
>>>> +    const struct domain *d = ctx;
>>>>      unsigned int i;
>>>>  
>>>>      ASSERT(e <= INT_MAX);
>>>>      for ( i = s; i <= e; i++ )
>>>> -        __clear_bit(i, d->arch.hvm.io_bitmap);
>>>> +        /*
>>>> +         * Accesses to RTC ports also need to be trapped in order to keep
>>>> +         * consistency with PV.
>>>> +         */
>>>
>>> More than to keep consistency with PV, don't we need to trap accesses
>>> to that concurrent accesses between dom0 and Xen (when also using the
>>> device) don't overlap, as the RTC/CMOS space uses indirect indexing.
>>
>> That's what I read "consistency" to mean.
> 
> But consistency with PV?  We need to keep consistency with concurrent
> Xen (hypervisor) accesses I would think.
> 
> I would s/PV/hypervisor accesses/ in the comment above while moving
> it.

Hmm, yes, changed. (Still I'm not normally very happy about changing
comments I don't really understand the way they're written.)

>>>> +bool is_cmos_port(unsigned int port, unsigned int bytes, const struct domain *d)
>>>> +{
>>>> +    if ( !is_hardware_domain(d) )
>>>> +        return port <= RTC_PORT(1) && port + bytes > RTC_PORT(0);
>>>> +
>>>> +    if ( !(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) &&
>>>> +         port <= RTC_PORT(cmos_alias_mask | 1) && port + bytes > RTC_PORT(0) )
>>>> +    {
>>>> +        unsigned int cmos = RTC_PORT(0), nr = 2, step;
>>>> +
>>>> +        while ( cmos_alias_mask & nr )
>>>> +            nr <<= 1;
>>>> +        for ( step = nr << 1;
>>>> +              step < cmos_alias_mask && !(cmos_alias_mask & step); )
>>>> +            step <<= 1;
>>>> +        do {
>>>> +            if ( !(cmos & ~RTC_PORT(cmos_alias_mask)) &&
>>>> +                 port <= cmos + 1 && port + bytes > cmos )
>>>> +                return true;
>>>> +            cmos += step;
>>>> +        } while ( cmos <= RTC_PORT(cmos_alias_mask) );
>>>
>>> I would use a for loop similar to the one used in probe_cmos_alias()
>>> to check for aliased accesses?
>>>
>>> if ( port <= RTC_PORT(1) && port + bytes > RTC_PORT(0) )
>>>     return true;
>>>
>>> for ( offs = 2; offs < 8; offs <<= 1 )
>>> {
>>>     if ( !(offs & cmos_alias_mask) )
>>>         continue;
>>>     if ( port <= RTC_PORT(1 + off) && port + bytes > RTC_PORT(off) )
>>>         return true;
>>> }
>>>
>>> return false;
>>>
>>> So that you can also optimize for the more common case RTC_PORT(0) and
>>> RTC_PORT(1) are used?
>>>
>>> Or there's something I'm missing?
>>
>> I'll have to check carefully, but to be honest I would prefer to not
>> touch this code again unless there's clearly something wrong with it.
> 
> TBH, I think the proposed code is extremely difficult to follow, there
> are 3 loops in a row which gives me a headache when thinking about all
> the possible combinations.
> 
> I think my proposed alternative is much easier to follow because it
> has a single loop, and it's using the same bounds used to fill the
> cmos_alias_mask in the first place.  But maybe that's just my taste.

Upon re-consideration I've adjusted the code. Iirc probe_cmos_alias()
originally had something similar, so changing it in the other place as
well is only logical.

>>>> @@ -1256,7 +1333,7 @@ unsigned int rtc_guest_read(unsigned int
>>>>      unsigned long flags;
>>>>      unsigned int data = ~0;
>>>>  
>>>> -    switch ( port )
>>>> +    switch ( port & ~cmos_alias_mask )
>>>>      {
>>>>      case RTC_PORT(0):
>>>>          /*
>>>> @@ -1264,15 +1341,16 @@ unsigned int rtc_guest_read(unsigned int
>>>>           * of the first RTC port, as there's no access to the physical IO
>>>>           * ports.
>>>>           */
>>>> -        data = currd->arch.cmos_idx;
>>>> +        data = currd->arch.cmos_idx & (0xff >> (port == RTC_PORT(0)));
>>>
>>> We do allow read access to alias ports even when the underling
>>> hardware does do so,
>>
>> I'm afraid I don't understand this, so ...
>>
>>> which I think is fine, but might be worth a
>>> comment (since we already detect whether the RTC_PORT(0) alias is also
>>> readable.
>>
>> ... I can't really derive what kind of information you're after to put
>> in a comment.
> 
> Reading from ports that alias RTC_PORT(0) might not always return the
> value written to RTC_PORT(0) (you have a check for that in
> probe_cmos_alias()).  Yet in rtc_guest_read() Xen does always return
> the cached CMOS index.  Which is likely to be all fine, but needs a
> comment to note this behavior might not match what the underlying
> hardware would return.

You do realize that this is pre-existing behavior? On many chipsets
you cannot read the index value from port 70. Yet we've always
returned it, presumably on the grounds of the value either being
rubbish (often 0xff) or the index. And rather than trying to figure
out whether to return rubbish (explicitly of via accessing the port)
I guess it was deemed easier and more helpful to always return the
index value. (I've amended the comment there nevertheless.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 15:49:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 15:49:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515353.798124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgp60-0007WK-Ji; Mon, 27 Mar 2023 15:49:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515353.798124; Mon, 27 Mar 2023 15: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 1pgp60-0007WD-GA; Mon, 27 Mar 2023 15:49:20 +0000
Received: by outflank-mailman (input) for mailman id 515353;
 Mon, 27 Mar 2023 15:49:19 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=d31z=7T=citrix.com=prvs=4435eb1af=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pgp5z-0007Vv-37
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 15:49: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 eda2dbfb-ccb6-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 17:49:17 +0200 (CEST)
Received: from mail-co1nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 27 Mar 2023 11:49:14 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by CH0PR03MB6018.namprd03.prod.outlook.com (2603:10b6:610:bd::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.28; Mon, 27 Mar
 2023 15:49:12 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Mon, 27 Mar 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: eda2dbfb-ccb6-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679932157;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=QzJw79AnlrNANyl0hEbRbBBO1H1MYOhuiCxDTV/3mJA=;
  b=EBAJXzrBEiYU8F8sUw2lZLTTngoSPuePu6pUCNLtoxDKDNMgzUBZa5G7
   o4mc2F07+NHOl930qW/BuhIdeg94MpRIlAor6W1rU93bSCNiMyxe9lV16
   gY0OK3wrzRmBZ/TDup7l8CwGFhyIe6CX6GTAIhvmyXgE0vII6tR79gQX1
   w=;
X-IronPort-RemoteIP: 104.47.56.176
X-IronPort-MID: 103442823
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:3ZEera6nb6UmbSuyxR1/2gxRtGTHchMFZxGqfqrLsTDasY5as4F+v
 jZNUDyFOKuJZWbzLo1yYIu+oU9Xv8LQyd41TAprpXs0Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasR4weE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5my
 qMldhcKYy+63sGL/aOhZ8V+o5QaFZy+VG8fkikIITDxK98DGMmGaIKToNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Okkooj+aF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eWxXinBNhCTubQGvhCg1iYmjw+Mi0qVlanr6CBqH65fIxiN
 BlBksYphe1onKCxdfH/UAe/u2WspQMHVpxbFOhSwAWMzLfEpgWUHG4JShZfZ9E88sw7Xzon0
 hmOhdyBLSd0rLSfRHaZ97GVhTC/Iy4YKSkFfyBsZRsI5ZzvrZ8+ijrLT81/C+ilg9vtAzbyz
 juW6i8kiN07l8cF3qi/1VPKmTShot7OVAFdzgHaWGiN7Q5jYoOhIYuy5jDz6vJNL52QSFWbi
 2QVgMiV7O0IDpalmTSERaMGG7TBz+iINj7VnVN0H985/jCp+maqcYF44TdiKUMvOcEBERfga
 0/SsAVezJ9LenCtaMdfZ4O3FtRvxKP4FPz7Wf3OKNlDeJ58cEmA5i4GWKKL92XkkUxpmqZmP
 56eKJ+oFSxDVvohyyeqTeAA17Nt3jo52W7YWZH8yVKgzKaaY3mWD7wCNTNic9wE0U9Nmy2Nm
 /43CidA4043vDHWCsUPzbMuEA==
IronPort-HdrOrdr: A9a23:+WkoOKGkL2hV385+pLqEL8eALOsnbusQ8zAXP0AYc20yTiX4ra
 CTdZEgviMc5wxxZJhNo6HkBEDiewKkyXcW2/hoAV7KZmCP1wWVxelZnPDfKlbbaknDH4BmpM
 BdWpk7JefcSX5dpq/BjDVQFexL/PC3tJqFv6P16VBDbS9XUIlczyFfTjy2LyRNNWp7LKt8G5
 qY6tBGtDa7EE57Uu2wGmMZWezOvP3n/aiWAyI7Ow==
X-IronPort-AV: E=Sophos;i="5.98,295,1673931600"; 
   d="scan'208";a="103442823"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C4fTL2Crh+gGyHa9CfGe8gOvdGeYICouSJV9AUBYAtF7sDACjIl1SwfAuPrVGRC1I/0uHmQi6UGyP1UIPVkvPK9Wiy2mX65mBg0QNg76Pee4UvWxU11+EnXVelp9O2IORE4IQagStHmO68MkWzYMoP9FUjhcMGI2jLw4K+4eqvVnQVzO+pz91h6hIydJXGB/kEWtAMcI9K1yJYsjp+4R58KTu41FGd0PSxWUy06V2cqYPIJefgIg4cIA8MbLEaDcBbJq2COfFojJb7DIzjf9yLMJgoI5WtSpDVxwf3yB+yKuRN3LWiFiYVJHq3K3ISLJOJH7n2fJ7KwnHPA2+RXAnw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dFnXZhChO5CCthg+ZeSR3Ak6o6goOFLBpgEYERvumh0=;
 b=N1NlSgoV3Hop6TH5ALVvu2iZuS8BJF7SgLSNHj1YnvwC8wF73X4IB7rnQN/nVGgiK/0rnown3rw+fxboRM0MsxdhJ0LC/ExBFcIIROvqRCJmryfCTE9955hTP+Vyku4sBvogicrQvnTd/SkAjjB/BqcjW2EKFL8hwB/d0sD24Ua9jyop7keABzz7z07B9vj1bMDgLTEaP/BZc018eYxyY/CRfBdJ0LNgG8z51R7SCybie2skGzjHRH3ozBn/FmBLQ/9cpzz/rgFg0HTCrrIuQP9djaOrtkfH2Ll8tRL0IXjcIO9u71BcT9fbMAwhfOZHFZs4qjZlydmFWzHjOJi6UQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dFnXZhChO5CCthg+ZeSR3Ak6o6goOFLBpgEYERvumh0=;
 b=hS2TQSNmyBUivavUC2fgouKpAs8FvL6+a2Wz33hJ8n0poEfhbBTFUVIQHtvmm012GN5lYeRFzKPV8wSKYpdVEI/D9o9ovXhAeU1/b794LfKdsDc2PjjavaaD5i/3Yd1hEGxcbpSG/egFnKS5QdErYCFGzgbD5ohy+Q6kz0ndEUE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Mon, 27 Mar 2023 17:49:07 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
	Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org
Subject: Re: [PATCH v5] ACPI: processor: Fix evaluating _PDC method when
 running as Xen dom0
Message-ID: <ZCG686t8tPDNPFbX@Air-de-Roger>
References: <20230321141904.49177-1-roger.pau@citrix.com>
 <2fa1f1ff-ce1d-447d-18ee-9b787e03f86a@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2fa1f1ff-ce1d-447d-18ee-9b787e03f86a@suse.com>
X-ClientProxiedBy: LO4P123CA0542.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:319::7) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|CH0PR03MB6018:EE_
X-MS-Office365-Filtering-Correlation-Id: 38686669-9a08-4389-e0bf-08db2edacf92
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TuA2cO7qd8+f5ZGvKmrzwXVBNedjWZ2gqyCG5GeFGA/N/HftJyWV89GQtFoC/n1zAtGX05rLA7maVgz2odaHCsaenNYtsuoack8LSK/u0p9E30KNwFKMNUsp6fjZ11SGcFfrpI7CRziD5kMjM67lcHQA2XTLLw6iZwsSs3hFJQw7ZfWMD/9TWuYZMHFONHWNryiZPxFmghymHeP1Xu48e01H4Z6GhCwbeeQAOFxrg8ywitL4yGr8ieWGTjS8IOA0e6TbF7dljJyrHzhMBEDXKR/Ibv7nBHuUxOCEuMn4BzTh/NdpyYIRsVKaCzBY85bj7ITTb98rULNsgQ/MSQ9E8BLeula0s+eG6CaqOp7VhEsacR1YQmD7JBrn6cmNWJUH9BWDT1gCPhNUaungt1cBDUMZ8tYBs0kO3m5BspEachJ19kzpQzlFgooM2ghHDn5gRokq66GMvKDvGSHOa8tl3GPGlcmchyS3GyWivpEHHAU0pL54ssxPbhYosNbY2PT7kmWMACwODChglM6vhQb7p4w7fz3cprgcCdPiqDfJM0miHrc74USqWNKVLC7bSpAk
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(346002)(39860400002)(396003)(376002)(136003)(366004)(451199021)(83380400001)(41300700001)(33716001)(85182001)(86362001)(5660300002)(38100700002)(8936002)(82960400001)(54906003)(6486002)(478600001)(8676002)(66946007)(66556008)(4326008)(6916009)(2906002)(66476007)(53546011)(7416002)(6666004)(6506007)(26005)(186003)(9686003)(6512007)(316002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YklkVklTbG1pT25aWkIyTlBCZU5zMGhteEZmeXNGT1R0UUNZMWN0US8vRmRF?=
 =?utf-8?B?VDFTTzFTNUhiMkV4NVIvYjBjQVBvUCtmRkZUT0xzSzJ1bVpvY2krekxMK0FJ?=
 =?utf-8?B?N0t2YnlFUURmdlNOeHoxVmdmMHREVEE5YlQ3NVVZdUI0czRITjJzZ25scUVZ?=
 =?utf-8?B?T1gvZHEvN2tuT2xDVHp6cG1RRFdQa0tyQ0hqb1FsNWc3NjErZmwyRmQ4SEVN?=
 =?utf-8?B?VFQvVUpMWDRxMGNhSGRSYjFDbXJzOTlPdXFuSUZZQkpmdWVieWNyb0R0QXdY?=
 =?utf-8?B?TVltYUVBZWk3eWdzdUwvSXBWa2tqVmI1bEcxcENJclpRR2s3ZG9hUytXcGd3?=
 =?utf-8?B?UkpjaDRndEhmQk0ra1VkOGVHWk93R0FkVkRyMjl4bXF0VG8xS2w5cGtkZUNO?=
 =?utf-8?B?YkErZFIxTlZxNHBTYXBnNkRGQWp4ZTJZd3BrM1lyY1YyL0tuVzVzSTJiSk44?=
 =?utf-8?B?czd2Sm1aL1FvSFM4U2dnNWRkQkhERG11dFJzY21DckxuMTVMMWNOYVBob1da?=
 =?utf-8?B?Y0VyM0V3NTNxMnBVMlpNVStYbFJIZTYvb1puTmhKei9ESmpWZFBkT3VvK1Z5?=
 =?utf-8?B?ei95YTZ3bElxZUJ0SzV2enZWRUNVYmxNVnl4WEkrM2J2WGQ1aHVHcDVYamVX?=
 =?utf-8?B?VFFzdXFOb1UrVld2d3pKTWRZYU1nTjlTZkEyQUNRS2tUYzZOeW8ybjR6a2xJ?=
 =?utf-8?B?WGtjSUhZOTZEaFpNTkRLdHNmUVRVeUdZcEpuV3A5RnNEOEtUVllOUzZEZ0Jx?=
 =?utf-8?B?SzVuSmZJNFVGL2RUWmhJLyt6dnVud001WjRScHhpOFBmUy9reW5YWFgxdVo0?=
 =?utf-8?B?U3NsRE9CUTdlRk5KUUlvUGNpQXVIL3JUSzBHdllnRStUdWJoNnFmWDdMRHFp?=
 =?utf-8?B?bUh3QkU3OGtkbW5qd2pmN2FGaW44UGg3c0FaM1dpRjdoNTc5VjkxcVdhd0Jh?=
 =?utf-8?B?NCtoV0xuK1pyRjJweWkzMm4vNW9EeVNZeE15S2NpdDl6elBCRXNzczgyTWpQ?=
 =?utf-8?B?Qjg2c00vL3lHTURDOEpPK3Z4ZDh4bldjNkNaMEJsaHc5NmVQVlJWcUN1ekZ5?=
 =?utf-8?B?Z2FFN1BXcmFoTUc2VEp2N25Td3ZubkFrczIrMVlFTy9uODZVMHNvMW9nbm9D?=
 =?utf-8?B?Z0dGOEQ2NkRPcWRRbm1Ib3NuYktnamVDTVdxcDdMaGF6aTNML21qbXpsb3g2?=
 =?utf-8?B?dlFMY0VsNmN6Y25vZVZWMDIrT1E4TGovY01VWGJ4U0JkNUN6NUlDRjdia0lw?=
 =?utf-8?B?MkxMTGxRK09zM0orUDZieGF2VWVVTWZFd3ZZL21XVzg2WnRyOGY2S21HL2ZM?=
 =?utf-8?B?YVVlaDNuZTQvSkIrV1BROE10N1lNMDEvWk5EUGdyOThZM0xJUDdTUVRpdTNw?=
 =?utf-8?B?MkxEZ09lUFNnTHZHOUdxZmpXcmJCRlVlOVRZMlNPd1J2N3BCNzd6QXpleEJL?=
 =?utf-8?B?aWFZWEV2WU11VkVqS2xuYkp0OG9ZdVVJSW02SEZpYzVQQ20zd1FDOGNNWml0?=
 =?utf-8?B?WWZqUEFmV2Q1bGZLYUhJMk0xUHZ3d0VURFdZY09yMjl3TG9ZMzRtazJHSFdP?=
 =?utf-8?B?T2Vya01XclI4WWdmYTFVanJmL0tJWFFRaDNMWjlZU2VsZC91anlKWWdJUDRm?=
 =?utf-8?B?WC9BUVBLa0lyMTZuTHR6aFkrMCtBdlRnTjZQUHZndzlQU3RKdDVIYWMveGUx?=
 =?utf-8?B?ZWJ1K2NkalI3ZEJQVmtzQmRWNWUrdXV5TjhNQ2c2eU5WOTZHaXdnVldZeUFy?=
 =?utf-8?B?VkhOeTZiYVIveHhydVZxYjcvN3pTZmVjclJDNm9lMUwrb2g1SlBEUnJ3YXQr?=
 =?utf-8?B?TGZmQ2VHUnhzZ0xtOHpNTnVOZUlZalZYYnYxdXZkODJQUkdPMmNHbys1bUtu?=
 =?utf-8?B?YVpwNnBqZFVIQWp0QW5zRXp6VWNXZitOMDBtblE0S0JZOXRDdm84dlk0TFhq?=
 =?utf-8?B?aHR3bEZWWWtCbXpDSXg2NmdWcWVnV1ppY2ttZHVRYVlhS2pzZXFCNUgzeUlq?=
 =?utf-8?B?OUhmak5kd00zSzdEM2RXYjFVUzBMRGZhR0liWGo5bFZMaUUzanBneE9qbm1V?=
 =?utf-8?B?aWdYSHdwSEhGN1lKK3BneVRZdkV4RFE4ZmtuVGhaUk5oeFFTelh2MXkrdjBL?=
 =?utf-8?Q?EqZqCXLdJlzEKEhkNzGQsC+8G?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	=?utf-8?B?dXJaUGFpTkEvWWlCREY3M085OHEyMDROTTJ4TXVRS211bUQ0OHhaUXpsUm5D?=
 =?utf-8?B?c2MxM0NPTTFlc3NtaXlvMlhDOFZmeUNpeDZTZCt2cFpOaXFJck5tVHNkaFVm?=
 =?utf-8?B?MjZnTC90bWxicGdWbTdtU1BpSUs1V1JpUkZkeDh1OFRqTUQ4dWZuY2w2alox?=
 =?utf-8?B?eWlSb042RnBwaUQ1RHdZS3YwZFppdWlLWm1idnEyLzU0bzBUUy9ZYzRPaEpY?=
 =?utf-8?B?QUhTMlI3TG9SQ1I0cUtyNFIwcU9RQ2dwYzhFMExMNXg2SHhQVHllcjhYcnV1?=
 =?utf-8?B?ZW1ndkFGYlB1YUcrQUY2d3krQkRYL3dVT3d3ejVGUHlUSlBQSThGclhUYm9Q?=
 =?utf-8?B?L1BmZ2RFdTh5ZTd4WW5JK2xnd1IrVzZwekREbTVsbys4ODJJam9LdGpGOU1y?=
 =?utf-8?B?TGpRNC82ZktyMHdiVFYrTXVFUjFHNmZNc0hkYU1oejRqR3BIY2thNTNrOU01?=
 =?utf-8?B?K1NDcGRNaTlIdkpnVHR3c1pJazRueU82R2dMNTNONk5WeWFVYjVPQmFzVGl1?=
 =?utf-8?B?dXFrRHB0eXZJd2prSEk1bVo3K3BPeXVmU09LTytwbkpXRW5wcnFPYXkyNVJG?=
 =?utf-8?B?MTM4dHgwTEZsRnF2SHFXSWg5RkFoNitWODJIcHJhWExDeU9GZlpWVk50V1gw?=
 =?utf-8?B?dUloV0MzMWszM2F0UTNURklzMk94TDZJanh2VDN5R2NMTWplelVhRDduQ2Jl?=
 =?utf-8?B?RXBYQndvb1BxM3EvV2ViOUU1SkF3QWxhdm1aZnZDbVdra0xDaElFUjFOZzJj?=
 =?utf-8?B?RWpsUzd5bEltKzNCamNKUkcxRE5TR1QvTHUwNFl4MHgvdllMQUFyb1gvVEJI?=
 =?utf-8?B?QkF5UU5leWV3bHVmNU5QeWY0R3JsL3gxdkVuNEN2TEszT29Qa2p6eWwvRGk0?=
 =?utf-8?B?REVISHJQT0YveHpSVy9CVkxNb0F0L3pqTStmNENHOElvUTRienQ2UENEZTlj?=
 =?utf-8?B?ZXNid3Y2WDhnRU1od3ZYUXFLMnYzbmQwRUh0czBEeXE3TUNybzBrK2xQVHhu?=
 =?utf-8?B?WUs5NktWakhveExQdVoybE5sa09YMmtPQUZuNDdCU2JzWVI5QnRYbHU2UkM3?=
 =?utf-8?B?S0haaG5kSkF5akcyQkloNkhBeEpRWDNvQlVRY0hXNmtPcGlOZk5JTHRwL3g4?=
 =?utf-8?B?MWxHUmZnSVJKTVFieW5LUE9XZ2ZWL1ZLeUlqZitPZ3BDaXhjSHBzVFF3ejMz?=
 =?utf-8?B?citYNDZVT3BUVHluMWtPZExyOEVQaStsZ2NldWZDS010U0o2aUJ4ZUxaWmxM?=
 =?utf-8?Q?wX5ABQRxOwGr9pO?=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 38686669-9a08-4389-e0bf-08db2edacf92
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 15:49:12.6595
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: llRPsWUl7+3KiOOeIV6qVW1naf0HoTU1I04BNwx10l2wA7iI1Q13RLCxpiXFfK47//m0+IArOr8OkfZa4zqssg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6018

On Mon, Mar 27, 2023 at 03:58:26PM +0200, Juergen Gross wrote:
> On 21.03.23 15:19, Roger Pau Monne wrote:
> > In ACPI systems, the OS can direct power management, as opposed to the
> > firmware.  This OS-directed Power Management is called OSPM.  Part of
> > telling the firmware that the OS going to direct power management is
> > making ACPI "_PDC" (Processor Driver Capabilities) calls.  These _PDC
> > methods must be evaluated for every processor object.  If these _PDC
> > calls are not completed for every processor it can lead to
> > inconsistency and later failures in things like the CPU frequency
> > driver.
> > 
> > In a Xen system, the dom0 kernel is responsible for system-wide power
> > management.  The dom0 kernel is in charge of OSPM.  However, the
> > number of CPUs available to dom0 can be different than the number of
> > CPUs physically present on the system.
> > 
> > This leads to a problem: the dom0 kernel needs to evaluate _PDC for
> > all the processors, but it can't always see them.
> > 
> > In dom0 kernels, ignore the existing ACPI method for determining if a
> > processor is physically present because it might not be accurate.
> > Instead, ask the hypervisor for this information.
> > 
> > Fix this by introducing a custom function to use when running as Xen
> > dom0 in order to check whether a processor object matches a CPU that's
> > online.  Such checking is done using the existing information fetched
> > by the Xen pCPU subsystem, extending it to also store the ACPI ID.
> > 
> > This ensures that _PDC method gets evaluated for all physically online
> > CPUs, regardless of the number of CPUs made available to dom0.
> > 
> > Fixes: 5d554a7bb064 ('ACPI: processor: add internal processor_physically_present()')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> > Changes since v4:
> >   - Move definition/declaration of xen_processor_present() to different
> >     header.
> >   - Fold subject edit.
> > 
> > Changes since v3:
> >   - Protect xen_processor_present() definition with CONFIG_ACPI.
> > 
> > Changes since v2:
> >   - Extend and use the existing pcpu functionality.
> > 
> > Changes since v1:
> >   - Reword commit message.
> > ---
> >   drivers/acpi/processor_pdc.c | 11 +++++++++++
> >   drivers/xen/pcpu.c           | 20 ++++++++++++++++++++
> >   include/xen/xen.h            | 10 ++++++++++
> >   3 files changed, 41 insertions(+)
> > 
> > diff --git a/drivers/acpi/processor_pdc.c b/drivers/acpi/processor_pdc.c
> > index 8c3f82c9fff3..18fb04523f93 100644
> > --- a/drivers/acpi/processor_pdc.c
> > +++ b/drivers/acpi/processor_pdc.c
> > @@ -14,6 +14,8 @@
> >   #include <linux/acpi.h>
> >   #include <acpi/processor.h>
> > +#include <xen/xen.h>
> > +
> >   #include "internal.h"
> >   static bool __init processor_physically_present(acpi_handle handle)
> > @@ -47,6 +49,15 @@ static bool __init processor_physically_present(acpi_handle handle)
> >   		return false;
> >   	}
> > +	if (xen_initial_domain())
> > +		/*
> > +		 * When running as a Xen dom0 the number of processors Linux
> > +		 * sees can be different from the real number of processors on
> > +		 * the system, and we still need to execute _PDC for all of
> > +		 * them.
> > +		 */
> > +		return xen_processor_present(acpi_id);
> > +
> >   	type = (acpi_type == ACPI_TYPE_DEVICE) ? 1 : 0;
> >   	cpuid = acpi_get_cpuid(handle, type, acpi_id);
> > diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
> > index fd3a644b0855..1814f8762f54 100644
> > --- a/drivers/xen/pcpu.c
> > +++ b/drivers/xen/pcpu.c
> > @@ -58,6 +58,7 @@ struct pcpu {
> >   	struct list_head list;
> >   	struct device dev;
> >   	uint32_t cpu_id;
> > +	uint32_t acpi_id;
> >   	uint32_t flags;
> >   };
> > @@ -249,6 +250,7 @@ static struct pcpu *create_and_register_pcpu(struct xenpf_pcpuinfo *info)
> >   	INIT_LIST_HEAD(&pcpu->list);
> >   	pcpu->cpu_id = info->xen_cpuid;
> > +	pcpu->acpi_id = info->acpi_id;
> >   	pcpu->flags = info->flags;
> >   	/* Need hold on xen_pcpu_lock before pcpu list manipulations */
> > @@ -381,3 +383,21 @@ static int __init xen_pcpu_init(void)
> >   	return ret;
> >   }
> >   arch_initcall(xen_pcpu_init);
> > +
> > +#ifdef CONFIG_ACPI
> > +bool __init xen_processor_present(uint32_t acpi_id)
> > +{
> > +	struct pcpu *pcpu;
> > +	bool online = false;
> > +
> > +	mutex_lock(&xen_pcpu_lock);
> > +	list_for_each_entry(pcpu, &xen_pcpus, list)
> > +		if (pcpu->acpi_id == acpi_id) {
> > +			online = pcpu->flags & XEN_PCPU_FLAGS_ONLINE;
> > +			break;
> > +		}
> > +	mutex_unlock(&xen_pcpu_lock);
> > +
> > +	return online;
> > +}
> > +#endif
> > diff --git a/include/xen/xen.h b/include/xen/xen.h
> > index 7adf59837c25..4410e74f3eb5 100644
> > --- a/include/xen/xen.h
> > +++ b/include/xen/xen.h
> > @@ -71,4 +71,14 @@ static inline void xen_free_unpopulated_pages(unsigned int nr_pages,
> >   }
> >   #endif
> > +#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI) && defined(CONFIG_X86)
> > +bool __init xen_processor_present(uint32_t acpi_id);
> > +#else
> > +static inline bool xen_processor_present(uint32_t acpi_id)
> > +{
> > +	BUG();
> 
> Is this really a good idea?
> 
> Arm64 supports ACPI, too, as well as XEN_DOM0. I think you either need to
> provide a stub for that case, too, or you need make this stub non-fatal
> for callers (I guess returning false is fine, as currently there are no
> hypercalls on Arm which would allow to control physical CPUs based on
> ACPI-Id).

Currently CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC is only selected for x86 and
ia64, so I assumed if we ever needed this for Arm someone would have
to write a proper handler for it for Xen.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 15:57:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 15:57:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515358.798134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgpDN-0000fL-HD; Mon, 27 Mar 2023 15:56:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515358.798134; Mon, 27 Mar 2023 15: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 1pgpDN-0000fE-EO; Mon, 27 Mar 2023 15:56:57 +0000
Received: by outflank-mailman (input) for mailman id 515358;
 Mon, 27 Mar 2023 15:56: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=J70X=7T=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pgpDL-0000f8-Io
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 15:56:55 +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 fe9ca9d0-ccb7-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 17:56:54 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id DC3111FE21;
 Mon, 27 Mar 2023 15:56: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 84F2513329;
 Mon, 27 Mar 2023 15:56:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id UdfaHcW8IWRQRwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 27 Mar 2023 15:56: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: fe9ca9d0-ccb7-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679932613; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=uK5PiHKOP+JB2i+NhlEd3BFq8oEXePzqoGGlsAL2PvA=;
	b=Z9hZfWol5PtY3tt7qnofWE0xsNHCYqSu52+xRrvuizxpPESqdqzSr6ugHmw61Hv+4XY230
	zzUAolWjTAyEQk2J6aPF8fmCgDT9oKkUW19MjjDURL423ffax3ZPbreislUhQv+SvpHMOE
	QrDVYsR9y/E3t7Lq0ZRPfIonsN2wKrE=
Message-ID: <4d1bad2e-d5cb-2596-6c74-2f5a3a087a91@suse.com>
Date: Mon, 27 Mar 2023 17:56:53 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v5] ACPI: processor: Fix evaluating _PDC method when
 running as Xen dom0
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: linux-kernel@vger.kernel.org, Stefano Stabellini
 <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 "Rafael J. Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
 Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org
References: <20230321141904.49177-1-roger.pau@citrix.com>
 <2fa1f1ff-ce1d-447d-18ee-9b787e03f86a@suse.com>
 <ZCG686t8tPDNPFbX@Air-de-Roger>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <ZCG686t8tPDNPFbX@Air-de-Roger>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------hShQEHSO0RyU3NIgXMN7ktOr"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------hShQEHSO0RyU3NIgXMN7ktOr
Content-Type: multipart/mixed; boundary="------------VZL0QXJysSjcJgzrpiodEUI5";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: linux-kernel@vger.kernel.org, Stefano Stabellini
 <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 "Rafael J. Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>,
 Alex Chiang <achiang@hp.com>, linux-acpi@vger.kernel.org
Message-ID: <4d1bad2e-d5cb-2596-6c74-2f5a3a087a91@suse.com>
Subject: Re: [PATCH v5] ACPI: processor: Fix evaluating _PDC method when
 running as Xen dom0
References: <20230321141904.49177-1-roger.pau@citrix.com>
 <2fa1f1ff-ce1d-447d-18ee-9b787e03f86a@suse.com>
 <ZCG686t8tPDNPFbX@Air-de-Roger>
In-Reply-To: <ZCG686t8tPDNPFbX@Air-de-Roger>

--------------VZL0QXJysSjcJgzrpiodEUI5
Content-Type: multipart/mixed; boundary="------------1FQl0KddX4seM7BoEiUPiRoY"

--------------1FQl0KddX4seM7BoEiUPiRoY
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjcuMDMuMjMgMTc6NDksIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+IE9uIE1vbiwg
TWFyIDI3LCAyMDIzIGF0IDAzOjU4OjI2UE0gKzAyMDAsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6
DQo+PiBPbiAyMS4wMy4yMyAxNToxOSwgUm9nZXIgUGF1IE1vbm5lIHdyb3RlOg0KPj4+IElu
IEFDUEkgc3lzdGVtcywgdGhlIE9TIGNhbiBkaXJlY3QgcG93ZXIgbWFuYWdlbWVudCwgYXMg
b3Bwb3NlZCB0byB0aGUNCj4+PiBmaXJtd2FyZS4gIFRoaXMgT1MtZGlyZWN0ZWQgUG93ZXIg
TWFuYWdlbWVudCBpcyBjYWxsZWQgT1NQTS4gIFBhcnQgb2YNCj4+PiB0ZWxsaW5nIHRoZSBm
aXJtd2FyZSB0aGF0IHRoZSBPUyBnb2luZyB0byBkaXJlY3QgcG93ZXIgbWFuYWdlbWVudCBp
cw0KPj4+IG1ha2luZyBBQ1BJICJfUERDIiAoUHJvY2Vzc29yIERyaXZlciBDYXBhYmlsaXRp
ZXMpIGNhbGxzLiAgVGhlc2UgX1BEQw0KPj4+IG1ldGhvZHMgbXVzdCBiZSBldmFsdWF0ZWQg
Zm9yIGV2ZXJ5IHByb2Nlc3NvciBvYmplY3QuICBJZiB0aGVzZSBfUERDDQo+Pj4gY2FsbHMg
YXJlIG5vdCBjb21wbGV0ZWQgZm9yIGV2ZXJ5IHByb2Nlc3NvciBpdCBjYW4gbGVhZCB0bw0K
Pj4+IGluY29uc2lzdGVuY3kgYW5kIGxhdGVyIGZhaWx1cmVzIGluIHRoaW5ncyBsaWtlIHRo
ZSBDUFUgZnJlcXVlbmN5DQo+Pj4gZHJpdmVyLg0KPj4+DQo+Pj4gSW4gYSBYZW4gc3lzdGVt
LCB0aGUgZG9tMCBrZXJuZWwgaXMgcmVzcG9uc2libGUgZm9yIHN5c3RlbS13aWRlIHBvd2Vy
DQo+Pj4gbWFuYWdlbWVudC4gIFRoZSBkb20wIGtlcm5lbCBpcyBpbiBjaGFyZ2Ugb2YgT1NQ
TS4gIEhvd2V2ZXIsIHRoZQ0KPj4+IG51bWJlciBvZiBDUFVzIGF2YWlsYWJsZSB0byBkb20w
IGNhbiBiZSBkaWZmZXJlbnQgdGhhbiB0aGUgbnVtYmVyIG9mDQo+Pj4gQ1BVcyBwaHlzaWNh
bGx5IHByZXNlbnQgb24gdGhlIHN5c3RlbS4NCj4+Pg0KPj4+IFRoaXMgbGVhZHMgdG8gYSBw
cm9ibGVtOiB0aGUgZG9tMCBrZXJuZWwgbmVlZHMgdG8gZXZhbHVhdGUgX1BEQyBmb3INCj4+
PiBhbGwgdGhlIHByb2Nlc3NvcnMsIGJ1dCBpdCBjYW4ndCBhbHdheXMgc2VlIHRoZW0uDQo+
Pj4NCj4+PiBJbiBkb20wIGtlcm5lbHMsIGlnbm9yZSB0aGUgZXhpc3RpbmcgQUNQSSBtZXRo
b2QgZm9yIGRldGVybWluaW5nIGlmIGENCj4+PiBwcm9jZXNzb3IgaXMgcGh5c2ljYWxseSBw
cmVzZW50IGJlY2F1c2UgaXQgbWlnaHQgbm90IGJlIGFjY3VyYXRlLg0KPj4+IEluc3RlYWQs
IGFzayB0aGUgaHlwZXJ2aXNvciBmb3IgdGhpcyBpbmZvcm1hdGlvbi4NCj4+Pg0KPj4+IEZp
eCB0aGlzIGJ5IGludHJvZHVjaW5nIGEgY3VzdG9tIGZ1bmN0aW9uIHRvIHVzZSB3aGVuIHJ1
bm5pbmcgYXMgWGVuDQo+Pj4gZG9tMCBpbiBvcmRlciB0byBjaGVjayB3aGV0aGVyIGEgcHJv
Y2Vzc29yIG9iamVjdCBtYXRjaGVzIGEgQ1BVIHRoYXQncw0KPj4+IG9ubGluZS4gIFN1Y2gg
Y2hlY2tpbmcgaXMgZG9uZSB1c2luZyB0aGUgZXhpc3RpbmcgaW5mb3JtYXRpb24gZmV0Y2hl
ZA0KPj4+IGJ5IHRoZSBYZW4gcENQVSBzdWJzeXN0ZW0sIGV4dGVuZGluZyBpdCB0byBhbHNv
IHN0b3JlIHRoZSBBQ1BJIElELg0KPj4+DQo+Pj4gVGhpcyBlbnN1cmVzIHRoYXQgX1BEQyBt
ZXRob2QgZ2V0cyBldmFsdWF0ZWQgZm9yIGFsbCBwaHlzaWNhbGx5IG9ubGluZQ0KPj4+IENQ
VXMsIHJlZ2FyZGxlc3Mgb2YgdGhlIG51bWJlciBvZiBDUFVzIG1hZGUgYXZhaWxhYmxlIHRv
IGRvbTAuDQo+Pj4NCj4+PiBGaXhlczogNWQ1NTRhN2JiMDY0ICgnQUNQSTogcHJvY2Vzc29y
OiBhZGQgaW50ZXJuYWwgcHJvY2Vzc29yX3BoeXNpY2FsbHlfcHJlc2VudCgpJykNCj4+PiBT
aWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4N
Cj4+PiAtLS0NCj4+PiBDaGFuZ2VzIHNpbmNlIHY0Og0KPj4+ICAgIC0gTW92ZSBkZWZpbml0
aW9uL2RlY2xhcmF0aW9uIG9mIHhlbl9wcm9jZXNzb3JfcHJlc2VudCgpIHRvIGRpZmZlcmVu
dA0KPj4+ICAgICAgaGVhZGVyLg0KPj4+ICAgIC0gRm9sZCBzdWJqZWN0IGVkaXQuDQo+Pj4N
Cj4+PiBDaGFuZ2VzIHNpbmNlIHYzOg0KPj4+ICAgIC0gUHJvdGVjdCB4ZW5fcHJvY2Vzc29y
X3ByZXNlbnQoKSBkZWZpbml0aW9uIHdpdGggQ09ORklHX0FDUEkuDQo+Pj4NCj4+PiBDaGFu
Z2VzIHNpbmNlIHYyOg0KPj4+ICAgIC0gRXh0ZW5kIGFuZCB1c2UgdGhlIGV4aXN0aW5nIHBj
cHUgZnVuY3Rpb25hbGl0eS4NCj4+Pg0KPj4+IENoYW5nZXMgc2luY2UgdjE6DQo+Pj4gICAg
LSBSZXdvcmQgY29tbWl0IG1lc3NhZ2UuDQo+Pj4gLS0tDQo+Pj4gICAgZHJpdmVycy9hY3Bp
L3Byb2Nlc3Nvcl9wZGMuYyB8IDExICsrKysrKysrKysrDQo+Pj4gICAgZHJpdmVycy94ZW4v
cGNwdS5jICAgICAgICAgICB8IDIwICsrKysrKysrKysrKysrKysrKysrDQo+Pj4gICAgaW5j
bHVkZS94ZW4veGVuLmggICAgICAgICAgICB8IDEwICsrKysrKysrKysNCj4+PiAgICAzIGZp
bGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKykNCj4+Pg0KPj4+IGRpZmYgLS1naXQgYS9k
cml2ZXJzL2FjcGkvcHJvY2Vzc29yX3BkYy5jIGIvZHJpdmVycy9hY3BpL3Byb2Nlc3Nvcl9w
ZGMuYw0KPj4+IGluZGV4IDhjM2Y4MmM5ZmZmMy4uMThmYjA0NTIzZjkzIDEwMDY0NA0KPj4+
IC0tLSBhL2RyaXZlcnMvYWNwaS9wcm9jZXNzb3JfcGRjLmMNCj4+PiArKysgYi9kcml2ZXJz
L2FjcGkvcHJvY2Vzc29yX3BkYy5jDQo+Pj4gQEAgLTE0LDYgKzE0LDggQEANCj4+PiAgICAj
aW5jbHVkZSA8bGludXgvYWNwaS5oPg0KPj4+ICAgICNpbmNsdWRlIDxhY3BpL3Byb2Nlc3Nv
ci5oPg0KPj4+ICsjaW5jbHVkZSA8eGVuL3hlbi5oPg0KPj4+ICsNCj4+PiAgICAjaW5jbHVk
ZSAiaW50ZXJuYWwuaCINCj4+PiAgICBzdGF0aWMgYm9vbCBfX2luaXQgcHJvY2Vzc29yX3Bo
eXNpY2FsbHlfcHJlc2VudChhY3BpX2hhbmRsZSBoYW5kbGUpDQo+Pj4gQEAgLTQ3LDYgKzQ5
LDE1IEBAIHN0YXRpYyBib29sIF9faW5pdCBwcm9jZXNzb3JfcGh5c2ljYWxseV9wcmVzZW50
KGFjcGlfaGFuZGxlIGhhbmRsZSkNCj4+PiAgICAJCXJldHVybiBmYWxzZTsNCj4+PiAgICAJ
fQ0KPj4+ICsJaWYgKHhlbl9pbml0aWFsX2RvbWFpbigpKQ0KPj4+ICsJCS8qDQo+Pj4gKwkJ
ICogV2hlbiBydW5uaW5nIGFzIGEgWGVuIGRvbTAgdGhlIG51bWJlciBvZiBwcm9jZXNzb3Jz
IExpbnV4DQo+Pj4gKwkJICogc2VlcyBjYW4gYmUgZGlmZmVyZW50IGZyb20gdGhlIHJlYWwg
bnVtYmVyIG9mIHByb2Nlc3NvcnMgb24NCj4+PiArCQkgKiB0aGUgc3lzdGVtLCBhbmQgd2Ug
c3RpbGwgbmVlZCB0byBleGVjdXRlIF9QREMgZm9yIGFsbCBvZg0KPj4+ICsJCSAqIHRoZW0u
DQo+Pj4gKwkJICovDQo+Pj4gKwkJcmV0dXJuIHhlbl9wcm9jZXNzb3JfcHJlc2VudChhY3Bp
X2lkKTsNCj4+PiArDQo+Pj4gICAgCXR5cGUgPSAoYWNwaV90eXBlID09IEFDUElfVFlQRV9E
RVZJQ0UpID8gMSA6IDA7DQo+Pj4gICAgCWNwdWlkID0gYWNwaV9nZXRfY3B1aWQoaGFuZGxl
LCB0eXBlLCBhY3BpX2lkKTsNCj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vcGNwdS5j
IGIvZHJpdmVycy94ZW4vcGNwdS5jDQo+Pj4gaW5kZXggZmQzYTY0NGIwODU1Li4xODE0Zjg3
NjJmNTQgMTAwNjQ0DQo+Pj4gLS0tIGEvZHJpdmVycy94ZW4vcGNwdS5jDQo+Pj4gKysrIGIv
ZHJpdmVycy94ZW4vcGNwdS5jDQo+Pj4gQEAgLTU4LDYgKzU4LDcgQEAgc3RydWN0IHBjcHUg
ew0KPj4+ICAgIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7DQo+Pj4gICAgCXN0cnVjdCBkZXZp
Y2UgZGV2Ow0KPj4+ICAgIAl1aW50MzJfdCBjcHVfaWQ7DQo+Pj4gKwl1aW50MzJfdCBhY3Bp
X2lkOw0KPj4+ICAgIAl1aW50MzJfdCBmbGFnczsNCj4+PiAgICB9Ow0KPj4+IEBAIC0yNDks
NiArMjUwLDcgQEAgc3RhdGljIHN0cnVjdCBwY3B1ICpjcmVhdGVfYW5kX3JlZ2lzdGVyX3Bj
cHUoc3RydWN0IHhlbnBmX3BjcHVpbmZvICppbmZvKQ0KPj4+ICAgIAlJTklUX0xJU1RfSEVB
RCgmcGNwdS0+bGlzdCk7DQo+Pj4gICAgCXBjcHUtPmNwdV9pZCA9IGluZm8tPnhlbl9jcHVp
ZDsNCj4+PiArCXBjcHUtPmFjcGlfaWQgPSBpbmZvLT5hY3BpX2lkOw0KPj4+ICAgIAlwY3B1
LT5mbGFncyA9IGluZm8tPmZsYWdzOw0KPj4+ICAgIAkvKiBOZWVkIGhvbGQgb24geGVuX3Bj
cHVfbG9jayBiZWZvcmUgcGNwdSBsaXN0IG1hbmlwdWxhdGlvbnMgKi8NCj4+PiBAQCAtMzgx
LDMgKzM4MywyMSBAQCBzdGF0aWMgaW50IF9faW5pdCB4ZW5fcGNwdV9pbml0KHZvaWQpDQo+
Pj4gICAgCXJldHVybiByZXQ7DQo+Pj4gICAgfQ0KPj4+ICAgIGFyY2hfaW5pdGNhbGwoeGVu
X3BjcHVfaW5pdCk7DQo+Pj4gKw0KPj4+ICsjaWZkZWYgQ09ORklHX0FDUEkNCj4+PiArYm9v
bCBfX2luaXQgeGVuX3Byb2Nlc3Nvcl9wcmVzZW50KHVpbnQzMl90IGFjcGlfaWQpDQo+Pj4g
K3sNCj4+PiArCXN0cnVjdCBwY3B1ICpwY3B1Ow0KPj4+ICsJYm9vbCBvbmxpbmUgPSBmYWxz
ZTsNCj4+PiArDQo+Pj4gKwltdXRleF9sb2NrKCZ4ZW5fcGNwdV9sb2NrKTsNCj4+PiArCWxp
c3RfZm9yX2VhY2hfZW50cnkocGNwdSwgJnhlbl9wY3B1cywgbGlzdCkNCj4+PiArCQlpZiAo
cGNwdS0+YWNwaV9pZCA9PSBhY3BpX2lkKSB7DQo+Pj4gKwkJCW9ubGluZSA9IHBjcHUtPmZs
YWdzICYgWEVOX1BDUFVfRkxBR1NfT05MSU5FOw0KPj4+ICsJCQlicmVhazsNCj4+PiArCQl9
DQo+Pj4gKwltdXRleF91bmxvY2soJnhlbl9wY3B1X2xvY2spOw0KPj4+ICsNCj4+PiArCXJl
dHVybiBvbmxpbmU7DQo+Pj4gK30NCj4+PiArI2VuZGlmDQo+Pj4gZGlmZiAtLWdpdCBhL2lu
Y2x1ZGUveGVuL3hlbi5oIGIvaW5jbHVkZS94ZW4veGVuLmgNCj4+PiBpbmRleCA3YWRmNTk4
MzdjMjUuLjQ0MTBlNzRmM2ViNSAxMDA2NDQNCj4+PiAtLS0gYS9pbmNsdWRlL3hlbi94ZW4u
aA0KPj4+ICsrKyBiL2luY2x1ZGUveGVuL3hlbi5oDQo+Pj4gQEAgLTcxLDQgKzcxLDE0IEBA
IHN0YXRpYyBpbmxpbmUgdm9pZCB4ZW5fZnJlZV91bnBvcHVsYXRlZF9wYWdlcyh1bnNpZ25l
ZCBpbnQgbnJfcGFnZXMsDQo+Pj4gICAgfQ0KPj4+ICAgICNlbmRpZg0KPj4+ICsjaWYgZGVm
aW5lZChDT05GSUdfWEVOX0RPTTApICYmIGRlZmluZWQoQ09ORklHX0FDUEkpICYmIGRlZmlu
ZWQoQ09ORklHX1g4NikNCj4+PiArYm9vbCBfX2luaXQgeGVuX3Byb2Nlc3Nvcl9wcmVzZW50
KHVpbnQzMl90IGFjcGlfaWQpOw0KPj4+ICsjZWxzZQ0KPj4+ICtzdGF0aWMgaW5saW5lIGJv
b2wgeGVuX3Byb2Nlc3Nvcl9wcmVzZW50KHVpbnQzMl90IGFjcGlfaWQpDQo+Pj4gK3sNCj4+
PiArCUJVRygpOw0KPj4NCj4+IElzIHRoaXMgcmVhbGx5IGEgZ29vZCBpZGVhPw0KPj4NCj4+
IEFybTY0IHN1cHBvcnRzIEFDUEksIHRvbywgYXMgd2VsbCBhcyBYRU5fRE9NMC4gSSB0aGlu
ayB5b3UgZWl0aGVyIG5lZWQgdG8NCj4+IHByb3ZpZGUgYSBzdHViIGZvciB0aGF0IGNhc2Us
IHRvbywgb3IgeW91IG5lZWQgbWFrZSB0aGlzIHN0dWIgbm9uLWZhdGFsDQo+PiBmb3IgY2Fs
bGVycyAoSSBndWVzcyByZXR1cm5pbmcgZmFsc2UgaXMgZmluZSwgYXMgY3VycmVudGx5IHRo
ZXJlIGFyZSBubw0KPj4gaHlwZXJjYWxscyBvbiBBcm0gd2hpY2ggd291bGQgYWxsb3cgdG8g
Y29udHJvbCBwaHlzaWNhbCBDUFVzIGJhc2VkIG9uDQo+PiBBQ1BJLUlkKS4NCj4gDQo+IEN1
cnJlbnRseSBDT05GSUdfQVJDSF9NSUdIVF9IQVZFX0FDUElfUERDIGlzIG9ubHkgc2VsZWN0
ZWQgZm9yIHg4NiBhbmQNCj4gaWE2NCwgc28gSSBhc3N1bWVkIGlmIHdlIGV2ZXIgbmVlZGVk
IHRoaXMgZm9yIEFybSBzb21lb25lIHdvdWxkIGhhdmUNCj4gdG8gd3JpdGUgYSBwcm9wZXIg
aGFuZGxlciBmb3IgaXQgZm9yIFhlbi4NCg0KQWgsIG9rYXksIEkgZGlkbid0IGNoZWNrIHRo
YXQuDQoNClNvcnJ5IGZvciB0aGUgbm9pc2UsDQoNCg0KSnVlcmdlbg0KDQo=
--------------1FQl0KddX4seM7BoEiUPiRoY
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-----

--------------1FQl0KddX4seM7BoEiUPiRoY--

--------------VZL0QXJysSjcJgzrpiodEUI5--

--------------hShQEHSO0RyU3NIgXMN7ktOr
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQhvMUFAwAAAAAACgkQsN6d1ii/Ey9/
wAgAlV9K/d9ZKhpLRJ7huTNMrd12UmRpOc78b/okIjH6m4xOVoQ6V08gkkFshKXh865U24TTAs24
/qZnPM3RhSGd7boG3mMxDsBoRU+j8nb8i/Asm3Nv3Rao132wULu1Utn5y+kGq4vW5dfex7jpyd8p
vDLwfX33h5CA6DWAG0GTOPAIUs0sq+FvfkNOMCCIAkxlLujGsFUl2PpFqWni2tWTY9h/WUWxXuTi
/dqkC29FNUlidTbawx+8wgiZZ+dMdrVYdyYR/qdfPBSoDhT1VZnMF0FdozvVNdnQEJRjtwWXWKfK
zNoPMtKH4ZJy0+4OKoSAhDwu/sN6IGAVH+n4aGs+sA==
=yh66
-----END PGP SIGNATURE-----

--------------hShQEHSO0RyU3NIgXMN7ktOr--


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 16:00:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 16:00:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515363.798144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgpGy-0002i6-0r; Mon, 27 Mar 2023 16:00:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515363.798144; Mon, 27 Mar 2023 16: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 1pgpGx-0002hz-Tk; Mon, 27 Mar 2023 16:00:39 +0000
Received: by outflank-mailman (input) for mailman id 515363;
 Mon, 27 Mar 2023 16: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=81wl=7T=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pgpGw-0002ht-Cy
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 16:00:38 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20627.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 836731a0-ccb8-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 18:00:37 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6222.29; Mon, 27 Mar
 2023 16:00:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.029; Mon, 27 Mar 2023
 16:00: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: 836731a0-ccb8-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=In2M39JKrdUsvZ7OZFIrWk8wWa1Pv589tWHprSpyGmCxAFhtDuXt/m/Lamgt0LsFs+wNkW0vU/n4OAp/3dqrcKJ50fPKoP4uOcAX1HfHrD67fvYhKbR5W6faN6urvdeOKr6kbwyleappfnaO7vmbtqzZWxiFVNBnmV6AOdfUfYHQmmNjiS+RMTRr2l/iOwZUd6IMymhuOuoAGwjx30In385bZqXdqg7wMowelLGj9LPobcTndTB0VbyJTJcpeJeo0qgfHRp3e0iVb/mFZiwgHIUwRxFnnOometzUA8G0Jh1+wc6bum5Qv0LiejYqIOowdRTKIdd6g+b7w2YJINo6nQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mH7ml24ke/dUQlzBgHbx7LeAFcWgCXJy3gcXwPs50VY=;
 b=fnpWuIcgIoKTS+3SWc70qmC9J5/yVP1cEXQsMiJ0/BcBXWFxOiyU9twGDvbJnpJdEYWxLWR8t1+6hiiSSzAoGU1QoMNX2R8nhQz6NCXz6aeKvSw2ps4V8VjZmtJzLdV7JTTdiQJtfxBwHPerIh9XFV8iP5K7WzAI6a1UBwxH9rrHGzkB/DKCXzSv0SWgLAo10r35ZODLNzWbnmdO3zwyprGQEz4ixgvmIZEyAFsl5yoW1G2kdfBeDAs+ZoeEAXTlD90voZXWeflGbAea0bRxkl5JXwqiZogXBVrWkQ8p6RSbd81KmBi6UJfVY56VWbqSVzUST4YBOhnVl0QDJx+cCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mH7ml24ke/dUQlzBgHbx7LeAFcWgCXJy3gcXwPs50VY=;
 b=AbdkV0DiTBX4dv6W5xsJymaP9bTa9JM86hYzrCEU31HrjwjJP6naC7ltMkgOs4V088UAnKtGsj21VyODBdOYXJo4oQHE3Xv3Ui3C0wZ19ofSJ4nfDfh1MbTeZ4/ri21dcYI1m0D4YLIsYGH7Ij7lAviKw1jISXEApD5eMI3GgudhoFXIbek6ExM9vcjx60oyqLGtlwXVHy6Bochc2/mbheKs6wbR/vLbWtnikWDZ2kTKf4WaqATDNwvs2+YV5m60iD+NTZCmxQnpfqzlfThJISK15TJupriy7jppWaZE9BED0xck3+MHYZtkhxeNSCGpqRZ4Y0xkrozpHTq5TOiHHA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e840b93a-8f37-4ff2-6542-81289127a72b@suse.com>
Date: Mon, 27 Mar 2023 18:00:35 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: preparations for 4.16.4 and 4.17.1
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>,
 Anthony Perard <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <7bc583e8-6ca4-2197-2d3f-c4325c024407@suse.com>
 <c220e84b-bae5-7a53-2cdd-df5839603c01@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c220e84b-bae5-7a53-2cdd-df5839603c01@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0110.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB6914:EE_
X-MS-Office365-Filtering-Correlation-Id: 913c3466-4d9e-4417-dd07-08db2edc666c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sRGtWwAW7bQt8Et02h4uMpShdmtAWk9hvOJYCI8XJc/mQbvEvLIwnuDoAM7j0bymflkE3OHpOvdG/MOhUypzCH4JV3AqybZ5OVeSUuBe4UnbyjlIfE408q5MNV3mHw6zNYMM2SrBEQWP74fumHPATppT7xvcZnYAdkRaPgwSFasGjMUfxBuUT4oJrcZRA26HA1C4AelwgJ7vDXu3sBRGUWbdZRM+6Q0LNjMphf2LdD/2lhwVOuyXiX5KA4BzVFTq/8/6vI833oKkbU8KZxK9961SVvkUJGuQW5l+rHa5P4uCcf6crJVPWpOKB4SC0SeMxwZ2i0rrYJB64Aq+KZ9NrncZraFlTUnBva2U7OPEh7ImemPDTO/KjnN6iFP7erZquIl66t6q3fYkpUnwIQng8hK/xyfbYVcd6SDWMYYxuMSYinj3XA8q659YxVJhXmJxf5xleu55rnFT9ptqbF+UncJhiv4Mktu/c1G+0bpVSgMlNHXq871rkI+uB4VU0YlaO/ecapvmL30qvE7hqOJ++trTR1Cf/sNU4CiulUMqHobLQVQ5f/TOwdrJScbHIe+FGJLJZ3UDoow6QOC/Lns5vq6q1aUgtNEEL+yCFlmfTXq14vL7clNJjuOOlZKHpeasPuOrcFgDqdY3hDhnU6rZQw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(396003)(376002)(136003)(366004)(451199021)(31686004)(2616005)(83380400001)(41300700001)(31696002)(86362001)(36756003)(5660300002)(38100700002)(8936002)(54906003)(6486002)(478600001)(8676002)(66946007)(66556008)(4326008)(6916009)(2906002)(66476007)(53546011)(6506007)(26005)(186003)(6512007)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YTArdFZHOEp1eDdXb3ZvbUpFaEZpWGdmK05iRmRuNVk2THpKYWNGWGpWd0Fy?=
 =?utf-8?B?a3p5c1cvbURvQTRXTlliaU9BQlJWSXpjMENjQlA5TldnYTVsVStWQTRJc28v?=
 =?utf-8?B?R1JzcW95MUpwdkMrTmk3d2tVVC9mTmUvc2JuZUorMFBQL2tvY0pPbTNlUDZu?=
 =?utf-8?B?d2g3WHcyUkhvUTQzZFlwQ096UUFMQVpZYnJJL1Zva1VDRmhlQ3VpTW9kYWNl?=
 =?utf-8?B?ZEh0bTdlUUZxdFdTc0M5d1gvSldIeWVPUC9RVzNiY0JqeFJNb0xLTlVKdWlq?=
 =?utf-8?B?SndpayszNG1jTjJhUEM5KzBjQm5Jc2NjenlGY2MzUVZ1NFMyVzZZWEgzRkdO?=
 =?utf-8?B?UTJaaXZlbU5nT2s0bFBrWElPcENmU3hiSUU3b0tOdC8wK0tUUGNQMHpoeEpQ?=
 =?utf-8?B?bXVwNjBrZWJXWUFoQVc4eEg0czZpeFV2SHpkeTB0dnk5RHZiVERJL2gxM3N6?=
 =?utf-8?B?bkxmTDQ1bks3WGtQYU0vcE5wMjFwQkJoM1IxTDV6dDZ4NHFEVTJMeDJjTm96?=
 =?utf-8?B?WUsrR2M4MWhvV2xOUUwxbHpXdGdWSWh1dnRXNmtvbE5zcWY0eC9SeXllWG9L?=
 =?utf-8?B?emtOTzVCbCsxamdrbnJhUkdxU0tMVng0T2UxR3MzVklxUTVaMTZWb0tuWlND?=
 =?utf-8?B?bjdHQkFnOEpYRGpFNk5ZY2ZQeUExbytIMXl4Z1NKZDRnZFlVeGlFdDZUN2x5?=
 =?utf-8?B?NWVRaWVHT2E4TitnR2htVmNkSVBvMkwyVFgwei85R0dRNWFpaE1zdnhLeFU5?=
 =?utf-8?B?eDNNUHFPc2xRSlFKKzRudXZMRit5eUF4T1RVdnFvRjBIYzdwV0xnRjQzTWtL?=
 =?utf-8?B?NlBWajgyMVpiRDFrZGpiNGhqWkpEaUtMYnZGNE1oRXpjM2VmSmlmbVBOVGRP?=
 =?utf-8?B?dm1Pd0FCeTIrOGxMcFV4RFd0RW5PSmVPemwxdHRHMzMwRGNETDVFUGZoeENi?=
 =?utf-8?B?b01FSiswWC9FdmtjTERwS04xTlJwa0JMTS9PTGQrLzRyU3JRNjJSMkVqeTZw?=
 =?utf-8?B?NTZOQU91eklVS3ZBMXRvNXNlSGlzdWdxc05xWFl0cFk5YmhLby9CMkdvbzBt?=
 =?utf-8?B?engzQ1dVZnhVcWlLbXZONXRRdjlNMjQvWjdZWmVOQ0ZycktkWExSOEszT3N2?=
 =?utf-8?B?Qk1FN2p6dXVTd3BOR3hiaUlZd0JxZWRLNm9yNTJGTjFqcmpISW5mRG9Ma1Jp?=
 =?utf-8?B?UlNCR09rMHM1ZXBOWkp2U010MG5WbFFIUzBmYTBDb2FOdDNHcFBGRG1nWi96?=
 =?utf-8?B?RVYzRk1VSzR0a1h3Q0dwYjJFMUJnd0Nzb2RkU0I0MmRJQ29JTGN1UmVzc2F3?=
 =?utf-8?B?aVhUcW5FRktOVGJYMXhoQVdYeVo5d0ZZYis3WGZFVHJ3aitkVy9yNGdZUE5V?=
 =?utf-8?B?SGtkTFEvN1hPRjlkYjMvWVBwTnZhd1ZxZXNYQlJ3OGE1endSb05OY29UczYy?=
 =?utf-8?B?WGpuUG9FVzJyRStWWUFRaW9jbzgwWjNXWEpBczhsNWZmUXdUWUwvdnZyRHVp?=
 =?utf-8?B?d2FnaE5sNDlDakhPT3h5WFkyK1Z5VTNONjR4V3R6NENRSTl0ZEtMUTd1TnRk?=
 =?utf-8?B?S2hybUNGRVYwamt0bkoxd01BeDFXVS8vdkRlQWltL2hSbzA2dG9NbXV6Wkh0?=
 =?utf-8?B?cmd4TXFkRmlaQU9VaWlLUlhnczJqdG50NVBUK0xJdGhPaW5valovZUo3TklR?=
 =?utf-8?B?RGk4M1k5eWpOZzc1Q1lCYU9QbnV0S2R0cU9rVVJGN3hmSjRIM0dEUEM2UW9y?=
 =?utf-8?B?eXZObTFJdENMN1BseSs4S05rYndWcEJFbG1pZzdUWkZ2bGdJY1Z1K3MzZ2s0?=
 =?utf-8?B?NmFtb1N5Rk1KVGdQVlpwOVB2d3hKdnpYUkZ2NWJRLzlDOGViUCtHM3VFOHFW?=
 =?utf-8?B?Ui9NT2pGWXdkYnRhOFh2UU1MSTZzQXF0RXp4dm45YVZQcEpEWmtQa3pDVjZx?=
 =?utf-8?B?UWk0WHJzaVJxbEFtT1FCZ3l4ZDVVRlplRHppRStQL21OQlZxWUJwMG5VeHNQ?=
 =?utf-8?B?bm9VdVFEMGV2WktXZzlnamIrang4eVc5VCswdVdkcXdieVNoUitKMlBiQytT?=
 =?utf-8?B?RXo0ZWxBeUVwa1Vra3UxbmIzUVZnc0ViaTVGNEUwVjhZQUxPWEpjN3Bld3Ru?=
 =?utf-8?Q?beOj4gBQMelfPRnHzE8MCboyY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 913c3466-4d9e-4417-dd07-08db2edc666c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Mar 2023 16:00:35.2834
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 8M8sPjF9zYynRlr1s5kfEx/IK7JgUQvPnZamI5VqYOo/6KA1u9r23RaK+5/teShYEt6kyP5CZD7boc47cNOMcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6914

On 27.03.2023 12:55, Andrew Cooper wrote:
> On 21/03/2023 2:30 pm, Jan Beulich wrote:
>> All,
>>
>> the former release is due in a couple of weeks time, the latter a week
>> or two later. Note that with us following the 4 month cadence pretty
>> strictly this time, 4.16.4 isn't expected to be the last ordinary stable
>> release from the 4.16 branch, yet (unless, of course, we end up slipping
>> significantly).
>>
>> Please point out backports you find missing from the respective staging
>> branch, but which you consider relevant. I have one change queued on top
>> of what I've pushed to the branches earlier today, simply because it
>> hasn't passed the push gate on master yet:
>>
>> 0d2686f6b66b AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode
> 
> All subsequent to this email, but for completeness:
> 
> 6d14cb105b x86/shadow: Fix build with no PG_log_dirty (all trees, as
> this was a bug in XSA-427)
> 
> bc3c133841 x86/nospec: Fix evaluate_nospec() code generation under Clang

I've queued both already, yes, but for the first one you name I'm not
really intending to put it into 4.15 and 4.14 - this is the kind of
issue where older trees simply won't have fixed anymore. The problem
only affects an obscure configuration, which is hardly used anywhere
for real. Or are you suggesting that CI runs randconfig tests also
against branches which are in security-only mode? (If it does, then
I'm not sure this isn't a mistake, because issues not introduced by
security fixes wouldn't be fixed there anymore either.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 16:11:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 16:11:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515367.798154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgpQo-0004IL-VG; Mon, 27 Mar 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 515367.798154; Mon, 27 Mar 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 1pgpQo-0004IE-SW; Mon, 27 Mar 2023 16:10:50 +0000
Received: by outflank-mailman (input) for mailman id 515367;
 Mon, 27 Mar 2023 16:10:49 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=16zh=7T=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pgpQn-0004Hs-Ho
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 16:10:49 +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 ef431e0f-ccb9-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 18:10:47 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id h25so12153764lfv.6
 for <xen-devel@lists.xenproject.org>; Mon, 27 Mar 2023 09:10:47 -0700 (PDT)
Received: from [192.168.202.197] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 l17-20020ac25551000000b004cc9042c9cfsm4676568lfk.158.2023.03.27.09.10.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Mar 2023 09:10:46 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef431e0f-ccb9-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679933447;
        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=Jm0vGOJVMXpsgp1e2jXV2nmzYmRbltLbnCK4hDyAqn4=;
        b=qHq/8PKnuP8UbJuhJgLnpIQnmqfz7w0S3WZ+RDNJ0eeFw+R0S9hpkwLxii70vUfAOY
         VhsHj+a+vJWDFOrGdkv0mql2MnZ4R4b0c7mk2uCnaGd3olZBgXEQ/AVshXrC8Icg3Q6/
         AYR2FshsCilT7K9F8e9e5Q/kSH/jtISHsOjEk40b2CstVsOUvFBTOuSnCTM31PT9AWqg
         g7aa2n+mhZTCKxnsCQo8TRE9zBcKHXQFdiJLDNJ+lvwrFThhOgoS/kWAaMPZ7YUZ3u8I
         YC45xz8KM54cN+oknh0TrZaWJxrp9fq+r1k/Y9ItoAsvkmneaZJ4ki7cw4bh73DctxId
         o3Rg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679933447;
        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=Jm0vGOJVMXpsgp1e2jXV2nmzYmRbltLbnCK4hDyAqn4=;
        b=5kYLUWne6ijK2NG5eFMuSomoBElkqS/CX7k+DRHXDX+Ikih6xpjsrztMyj2LpUi4Bp
         wmcHn2Q+IanoKbrpraUNJX0hqkq1Jrk4GMQWi+zU78cL3XZFy4nxkG9NKjLCSlc+N40Z
         V0Z/2h5gopAZYrWBIFt/aYVA8djR1SwdFkSXMPC8lEEjy4OWKjM/aaDyZFjQ5vktD5U9
         QTD3tjYXvgi9nOr3ju/AC3S7c/FO8Aq+DCh/1CteTU3Hft24Lz/bMsgwSOQkACeixUQX
         YAykeWcuKGoLk2QbGUadKh6W3nQoY034y/FVgJ0nooPZ51VUcEy5iBW6h6pIsOhMwpxY
         78KQ==
X-Gm-Message-State: AAQBX9dhyrwFwUZgr5latFnn9t7bE5IpJO85ZbXxmkIg+JZ7qn1ndELF
	Emdusn0q5cDqSyq6f2XCSKg=
X-Google-Smtp-Source: AKy350biPmaCaNkNTIcOUz5+3U8IrNVI+DdR7nrNkixdG4xy0CNX9B2hORxmW5Ra19uPZRLkzN85/w==
X-Received: by 2002:ac2:508d:0:b0:4e8:49f6:674f with SMTP id f13-20020ac2508d000000b004e849f6674fmr3819191lfm.36.1679933446652;
        Mon, 27 Mar 2023 09:10:46 -0700 (PDT)
Message-ID: <3febb233792329adf0cddf81efa8536a98b7151b.camel@gmail.com>
Subject: Re: [PATCH v8 5/5] xen/x86: switch x86 to use generic implemetation
 of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Date: Mon, 27 Mar 2023 19:10:45 +0300
In-Reply-To: <9af94e49-ff66-5e7f-bf5f-ba4095cfed13@suse.com>
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
	 <5e252e8dacea5c4f2fdbb4f7970e34a862987639.1678900513.git.oleksii.kurochko@gmail.com>
	 <9af94e49-ff66-5e7f-bf5f-ba4095cfed13@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

SGVsbG8gSmFuLAoKT24gVGh1LCAyMDIzLTAzLTE2IGF0IDEwOjUyICswMTAwLCBKYW4gQmV1bGlj
aCB3cm90ZToKPiBPbiAxNS4wMy4yMDIzIDE4OjIxLCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+
ID4gVGhlIGZvbGxvd2luZyBjaGFuZ2VzIHdlcmUgbWFkZToKPiA+ICogTWFrZSBHRU5FUklDX0JV
R19GUkFNRSBtYW5kYXRvcnkgZm9yIFg4Ngo+ID4gKiBVcGRhdGUgYXNtL2J1Zy5oIHVzaW5nIGdl
bmVyaWMgaW1wbGVtZW50YXRpb24gaW4gPHhlbi9idWcuaD4KPiA+ICogVXBkYXRlIGRvX2ludmFs
aWRfb3AgdXNpbmcgZ2VuZXJpYyBkb19idWdfZnJhbWUoKQo+ID4gKiBEZWZpbmUgQlVHX0RFQlVH
R0VSX1RSQVBfRkFUQUwgdG8KPiA+IGRlYnVnZ2VyX3RyYXBfZmF0YWwoWDg2X0VYQ19HUCxyZWdz
KQo+ID4gKiB0eXBlIG9mIGVpcCB2YXJpYWJsZSB3YXMgY2hhbmdlZCB0byAnY29uc3Qgdm9pZCAq
Jwo+ID4gKiBhZGQgJyNpbmNsdWRlIDx4ZW4vZGVidWdnZXIuaD4nCj4gPiAKPiA+IFNpZ25lZC1v
ZmYtYnk6IE9sZWtzaWkgS3Vyb2Noa28gPG9sZWtzaWkua3Vyb2Noa29AZ21haWwuY29tPgo+ID4g
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KPiA+IC0tLQo+ID4g
Q2hhbmdlcyBpbiBWODoKPiA+IMKgKiBtb3ZlIDx4ZW4vZGVidWdlci5oPiBmcm9tIDxhc20vYnVn
Lmg+IHRvIDxjb21tb24vYnVnLmM+IHRvIGZpeAo+ID4gY29tcGlsYXRpb24gaXNzdWUuCj4gPiDC
oMKgIFRoZSBmb2xsb3dpbmcgY29tcGlsYXRpb24gaXNzdWUgb2NjdXJzOgo+ID4gwqDCoMKgwqAg
SW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4vYXJjaC94ODYvaW5jbHVkZS9hc20vc21wLmg6MTAsCj4g
PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcm9tIC4vaW5jbHVkZS94ZW4vc21w
Lmg6NCwKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZyb20gLi9hcmNoL3g4
Ni9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaDoxMCwKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIGZyb20gLi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9zeXN0ZW0uaDo2LAo+ID4gwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZnJvbSAuL2FyY2gveDg2L2luY2x1ZGUvYXNt
L2F0b21pYy5oOjUsCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcm9tIC4v
aW5jbHVkZS94ZW4vZ2Ric3R1Yi5oOjI0LAo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgZnJvbSAuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RlYnVnZ2VyLmg6MTAsCj4gPiDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcm9tIC4vaW5jbHVkZS94ZW4vZGVidWdnZXIu
aDoyNCwKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZyb20gLi9hcmNoL3g4
Ni9pbmNsdWRlL2FzbS9idWcuaDo3LAo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgZnJvbSAuL2luY2x1ZGUveGVuL2J1Zy5oOjE1LAo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgZnJvbSAuL2luY2x1ZGUveGVuL2xpYi5oOjI3LAo+ID4gwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgZnJvbSAuL2luY2x1ZGUveGVuL3BlcmZjLmg6NiwKPiA+IMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZyb20gYXJjaC94ODYveDg2XzY0L2FzbS1v
ZmZzZXRzLmM6OToKPiA+IMKgwqDCoMKgIC4vaW5jbHVkZS94ZW4vY3B1bWFzay5oOiBJbiBmdW5j
dGlvbiAnY3B1bWFza19jaGVjayc6Cj4gPiDCoMKgwqDCoCAuL2luY2x1ZGUveGVuL2NwdW1hc2su
aDo4NDo5OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YKPiA+IGZ1bmN0aW9uICdBU1NF
UlQnIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQo+ID4gwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgODQgfMKgwqDCoMKgwqDCoMKgwqAgQVNTRVJU
KGNwdSA8IG5yX2NwdV9pZHMpOwo+IAo+IEknbSBnb2luZyB0byBwb3N0IGEgcGF0Y2ggdG8gYWRk
cmVzcyB0aGlzIHNwZWNpZmljIGZhaWx1cmUuIEJ1dAo+IHNvbWV0aGluZwo+IHNpbWlsYXIgbWF5
IHRoZW4gc3VyZmFjZSBlbHNld2hlcmUuCj4gCj4gPiDCoMKgIEl0IGhhcHBlbnMgaW4gY2FzZSB3
aGVuIENPTkZJR19DUkFTSF9ERUJVRyBpcyBlbmFibGVkCj4gCj4gSSBoYXZlIHRvIGFkbWl0IHRo
YXQgSSBkb24ndCBzZWUgdGhlIGNvbm5lY3Rpb24gdG8gQ1JBU0hfREVCVUc6IEl0J3MKPiB0aGUK
PiBhc20vYXRvbWljLmggaW5jbHVzaW9uIHRoYXQncyBwcm9ibGVtYXRpYyBhZmFpY3MsIHlldCB0
aGF0Cj4gKG5lZWRsZXNzbHkpCj4gaGFwcGVucyBvdXRzaWRlIHRoZSByZXNwZWN0aXZlICNpZmRl
ZiBpbiB4ZW4vZ2Ric3R1Yi5oLgo+IAo+IElmIGFub3RoZXIgaW5zdGFuY2Ugb2YgdGhpcyBoZWFk
ZXIgaW50ZXJhY3Rpb24gaXNzdWUgd291bGQgc3VyZmFjZQo+IGRlc3BpdGUKPiBteSB0by1iZS1w
b3N0ZWQgcGF0Y2gsIEknZCBiZSBva2F5IHdpdGggZ29pbmcgdGhpcyByb3V0ZSBmb3IgdGhlCj4g
bW9tZW50Lgo+IEJ1dCBJIHRoaW5rIHRoZSByZWFsIGlzc3VlIGhlcmUgaXMgeGVuL2xpYi5oIGlu
Y2x1ZGluZyB4ZW4vYnVnLmguCj4gSW5zdGVhZAo+IG9mIHRoYXQsIHNvbWUgc3R1ZmYgdGhhdCdz
IHByZXNlbnRseSBpbiB4ZW4vbGliLmggc2hvdWxkIGluc3RlYWQgbW92ZQo+IHRvCj4geGVuL2J1
Zy5oLCBhbmQgdGhlIGluY2x1c2lvbiB0aGVyZSBiZSBkcm9wcGVkLiBBbnkgcGFydGllcyBhY3R1
YWxseQo+IHVzaW5nCj4gc3R1ZmYgZnJvbSB4ZW4vYnVnLmggKHhlbi9saWIuaCB0aGVuIHdvbid0
IGFueW1vcmUpIHNob3VsZCB0aGVuCj4gaW5jbHVkZQo+IHRoYXQgaGVhZGVyIHRoZW1zZWx2ZXMu
CkFzIGFsbCB5b3VyIHBhdGNoZXMgYXJlIGluIHRoZSBzdGFnaW5nLgoKQ2FuIEkgc2VuZCBhIG5l
dyBwYXRjaCB2ZXNyaW9uIHdpdGggPGFzbS9wcm9jZXNzb3IuaD4gcmVtb3ZlZCBpbgpjb21tb24v
YnVnLmMgYnV0IGxlYXZlIDx4ZW4vZGVidWdnZXIuaD4/IAoKU2hvdWxkIEkgd2FpdCBmb3IgeGVu
L2xpYi5oIHJld29ya2luZz8KPiAKPiBKYW4KPiAKPiA+IGFuZCB0aGUgcmVhc29uIGZvciB0aGF0
IGlzIHdoZW4KPiA+IMKgwqAgPHhlbi9saWIuaD4gaXMgaW5jbHVkZWQgaW4gPHg4Nl82NC9hc20t
b2Zmc2V0cy5jPjo5IHRoZSAibGF5b3V0Igo+ID4gb2YgPHhlbi9saWIuaD4gd291bGQgYmUKPiA+
IMKgwqAgdGhlIGZvbGxvd2luZzoKPiA+IMKgwqDCoMKgICNpbmNsdWRlIDx4ZW4vYnVnLmg+Ogo+
ID4gwqDCoMKgwqAgI2luY2x1ZGUgPGFzbS9idWcuaD46Cj4gPiDCoMKgwqDCoCAjaW5jbHVkZSA8
eGVuL2RlYnVnZ2VyLmg+Ogo+ID4gwqDCoMKgwqDCoMKgwqDCoCAuLi4uCj4gPiDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBjcHVtYXNrLmg6Cj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIC4uLi4KPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIEFTU0VSVChjcHUgPCBucl9jcHVfaWRzKTsKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBjcHU7Cj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIC4uLi4gCj4gPiDCoMKgwqDCoCAuLi4uCj4gPiDCoMKgwqDCoCAj
ZGVmaW5lIEFTU0VSVCAuLi4KPiA+IMKgwqDCoMKgIC4uLi4KPiA+IMKgwqAgVGhlcmVieSBBU1NF
UlQgaXMgZGVmaW5lZCBhZnRlciBpdCB3YXMgdXNlZCBpbiA8eGVuL2NwdW1hc2suaD4uCj4gCn4g
T2xla3NpaQo=



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 16:13:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 16:13:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515372.798164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgpTO-0004u7-HF; Mon, 27 Mar 2023 16:13:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515372.798164; Mon, 27 Mar 2023 16:13:30 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgpTO-0004u0-E2; Mon, 27 Mar 2023 16:13:30 +0000
Received: by outflank-mailman (input) for mailman id 515372;
 Mon, 27 Mar 2023 16:13: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=Dqr1=7T=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1pgpTN-0004tt-I2
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 16:13:29 +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 4ee40efc-ccba-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 18:13:27 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 o24-20020a05600c511800b003ef59905f26so5666904wms.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Mar 2023 09:13:27 -0700 (PDT)
Received: from georged-x-u.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 y24-20020a05600c365800b003ef71d541cbsm2279124wmq.1.2023.03.27.09.13.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Mar 2023 09:13:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ee40efc-ccba-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1679933607;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=jWK7DJewWhB76sKBU5USq0WS7TermcVDq89Y08sBTnY=;
        b=eBdrb2ZbX+p4rhw5mrsSJWhyNPVxt2NIKcmTIXsbadf8RU633scKyGTgAujqUc6uSO
         FLYp8ey4xvD1Sd5YSoa7tAJLCAWKtQ4kp/6X6Jo8WhecCni6OxKZ7sqFykGJcOuNfCqy
         /9nwx4GZDSQDM5I2qaaSlvmTzHKbGebYnOFrU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679933607;
        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=jWK7DJewWhB76sKBU5USq0WS7TermcVDq89Y08sBTnY=;
        b=f8vkfGoi/epnmUHms68pp0c1z4YDGRcrsXn68PaNaRvuOSsGMIEZ5Xs/lAekQnmF+1
         ynGRg7QcI+Ko0+2mb8yTeErkB1zk7zDIptpIbaVlyRk7oYqgqGTNgiPs5fXIoCBjkUei
         dHx4MALurEqyLa3tGZRI41W3G4QYOl1XIE1d93yQYjnU73rUI3C150++merJBj0grIG8
         3XqK0EToEiKRPh5mcbuRZVE9Vj2uflO/m2pnGYeq/E9uR2ywSZ6P+oV41zCw4M3S18JA
         4O1NcTRlV4rqPhSpQvZeRcWp2MI3fppCEq2Juz6ZIAr1KNhPv2OANn3YqS8X2Kjh+Gt9
         lImA==
X-Gm-Message-State: AO0yUKUzpQEZtYWrng+P9EUypFKMgQ2+Ytezmy7eCkN4UQnrT65UTxnQ
	WCTrMvIQfYvpquufAxJkvPInTR+95bib//GNwGVTmQ==
X-Google-Smtp-Source: AK7set+6xBiJuvOLT+3mNY8PjVz5frXqC3d4AUMXSMTYf6+/0hjg/fk2FjTSeR6lgc/k4A2XsMYVug==
X-Received: by 2002:a1c:4b02:0:b0:3ee:4481:5415 with SMTP id y2-20020a1c4b02000000b003ee44815415mr10063583wma.26.1679933607146;
        Mon, 27 Mar 2023 09:13:27 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>,
	Anthony Perard <anthony.perard@cloud.com>,
	Wei Liu <wl@xenproject.org>
Subject: [PATCH 1/2] xenalyze: Handle start-of-day ->RUNNING transitions
Date: Mon, 27 Mar 2023 17:13:25 +0100
Message-Id: <20230327161326.48851-1-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A recent xentrace highlighted an unhandled corner case in the vcpu
"start-of-day" logic, if the trace starts after the last running ->
non-running transition, but before the first non-running -> running
transition.  Because start-of-day wasn't handled, vcpu_next_update()
was expecting p->current to be NULL, and tripping out with the
following error message when it wasn't:

vcpu_next_update: FATAL: p->current not NULL! (d32768dv$p, runstate RUNSTATE_INIT)

where 32768 is the DEFAULT_DOMAIN, and $p is the pcpu number.

Instead of calling vcpu_start() piecemeal throughout
sched_runstate_process(), call it at the top of the function if the
vcpu in question is still in RUNSTATE_INIT, so that we can handle all
the cases in one place.

Sketch out at the top of the function all cases which we need to
handle, and what to do in those cases.  Some transitions tell us where
v is running; some transitions tell us about what is (or is not)
running on p; some transitions tell us neither.

If a transition tells us where v is now running, update its state;
otherwise leave it in INIT, in order to avoid having to deal with TSC
skew on start-up.

If a transition tells us what is or is not running on p, update
p->current (either to v or NULL).  Otherwise leave it alone.

If neither, do nothing.

Reifying those rules:

- If we're continuing to run, set v to RUNNING, and use p->first_tsc
  as the runstate time.

- If we're starting to run, set v to RUNNING, and use ri->tsc as the
  runstate time.

- If v is being deschedled, leave v in the INIT state to avoid dealing
  with TSC skew; but set p->current to NULL so that whatever is
  scheduled next won't trigger the assert in vcpu_next_update().

- If a vcpu is waking up (switching from one non-runnable state to
  another non-runnable state), leave v in INIT, and p in whatever
  state it's in (which may be the default domain, or some other vcpu
  which has already run).

While here, fix the comment above vcpu_start; it's called when the
vcpu state is INIT, not when current is the default domain.

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
CC: Anthony Perard <anthony.perard@cloud.com>
CC: Wei Liu <wl@xenproject.org>
---
 tools/xentrace/xenalyze.c | 159 ++++++++++++++++++++++++--------------
 1 file changed, 101 insertions(+), 58 deletions(-)

diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
index 5de167031e..9f6d9763ac 100644
--- a/tools/xentrace/xenalyze.c
+++ b/tools/xentrace/xenalyze.c
@@ -6885,39 +6885,86 @@ void vcpu_next_update(struct pcpu_info *p, struct vcpu_data *next, tsc_t tsc)
     p->lost_record.seen_valid_schedule = 1;
 }
 
-/* If current is the default domain, we're fixing up from something
- * like start-of-day.  Update what we can. */
-void vcpu_start(struct pcpu_info *p, struct vcpu_data *v) {
-    /* If vcpus are created, or first show up, in a "dead zone", this will
-     * fail. */
-    if( !p->current || p->current->d->did != DEFAULT_DOMAIN) {
-        fprintf(stderr, "Strange, p->current not default domain!\n");
-        error(ERR_FILE, NULL);
-        return;
-    }
+/* 
+ * If the vcpu in question is in state INIT, we're fixing up from something
+ * like start-of-day.  Update what we can.
+ */
+void vcpu_start(struct pcpu_info *p, struct vcpu_data *v,
+                int old_runstate, int new_runstate, tsc_t ri_tsc) {
+    tsc_t tsc;
+
+    /*
+     * 
+     * Cases:
+     * running -> running:
+     *  v -> running, using p->first_tsc
+     * {runnable, blocked} -> running:
+     *  v -> running, using ri->tsc
+     * running -> {runnable, blocked}:
+     *  Leave v INIT, but clear p->current in case another vcpu is scheduled
+     * blocked -> runnable:
+     *  Leave INIT, and also leave p->current, since we still don't know who's scheduled here
+     */
+
+    /* 
+     * NB that a vcpu won't come out of INIT until it starts running somewhere.  
+     * If this event is pcpu that has already seen a scheduling event, p->current
+     * should be null; if this is the first scheduling event on this pcpu, 
+     * p->current should be the default domain.
+     */
+    if( old_runstate == RUNSTATE_RUNNING ) {
+        if ( !p->current ||  p->current->d->did != DEFAULT_DOMAIN) {
+            fprintf(stderr, "Strange, p->current not default domain!\n");
+            error(ERR_FILE, NULL);
+            return;
 
-    if(!p->first_tsc) {
-        fprintf(stderr, "Strange, p%d first_tsc 0!\n", p->pid);
-        error(ERR_FILE, NULL);
+        }
+        
+        if(!p->first_tsc) {
+            fprintf(stderr, "Strange, p%d first_tsc 0!\n", p->pid);
+            error(ERR_FILE, NULL);
+        }
+
+        if(p->first_tsc <= p->current->runstate.tsc) {
+            fprintf(stderr, "Strange, first_tsc %llx < default_domain runstate tsc %llx!\n",
+                    p->first_tsc,
+                    p->current->runstate.tsc);
+            error(ERR_FILE, NULL);
+        }
+    
+        /* Change default domain to 'queued' */
+        runstate_update(p->current, RUNSTATE_QUEUED, p->first_tsc);
+
+        /* 
+         * Set current to NULL, so that if another vcpu (not in INIT)
+         * is scheduled here, we don't trip over the check in
+         * vcpu_next_update()
+         */
+        p->current = NULL;
     }
 
-    if(p->first_tsc <= p->current->runstate.tsc) {
-        fprintf(stderr, "Strange, first_tsc %llx < default_domain runstate tsc %llx!\n",
-                p->first_tsc,
-                p->current->runstate.tsc);
-        error(ERR_FILE, NULL);
+    /* TSC skew at start-of-day is hard to deal with.  Don't
+     * bring a vcpu out of INIT until it's seen to be actually
+     * running somewhere. */
+    if ( new_runstate != RUNSTATE_RUNNING ) {
+        fprintf(warn, "First schedule for d%dv%d doesn't take us into a running state; leaving INIT\n",
+                v->d->did, v->vid);
+
+        return;
     }
 
-    /* Change default domain to 'queued' */
-    runstate_update(p->current, RUNSTATE_QUEUED, p->first_tsc);
+    tsc = ri_tsc;
+    if ( old_runstate == RUNSTATE_RUNNING ) {
+        /* FIXME: Copy over data from the default domain this interval */
+        fprintf(warn, "Using first_tsc for d%dv%d (%lld cycles)\n",
+                v->d->did, v->vid, p->last_tsc - p->first_tsc);
 
-    /* FIXME: Copy over data from the default domain this interval */
-    fprintf(warn, "Using first_tsc for d%dv%d (%lld cycles)\n",
-            v->d->did, v->vid, p->last_tsc - p->first_tsc);
+        tsc = p->first_tsc;
+    }
 
     /* Simulate the time since the first tsc */
-    runstate_update(v, RUNSTATE_RUNNING, p->first_tsc);
-    p->time.tsc = p->first_tsc;
+    runstate_update(v, RUNSTATE_RUNNING, tsc);
+    p->time.tsc = tsc;
     p->current = v;
     pcpu_string_draw(p);
     v->p = p;
@@ -7021,6 +7068,13 @@ void sched_runstate_process(struct pcpu_info *p)
     last_oldstate = v->runstate.last_oldstate;
     v->runstate.last_oldstate.wrong = RUNSTATE_INIT;
 
+    /* Handle all "start-of-day" issues in one place.  This can be
+     * done before any of the other tracks or sanity checks. */
+    if ( v->runstate.state == RUNSTATE_INIT ) {
+        vcpu_start(p, v, sevt.old_runstate, sevt.new_runstate, ri->tsc);
+        return;
+    }
+
     /* Close vmexits when the putative reason for blocking / &c stops.
      * This way, we don't account cpu contention to some other overhead. */
     if(sevt.new_runstate == RUNSTATE_RUNNABLE
@@ -7190,32 +7244,27 @@ update:
      * or stopping actually running on a physical cpu. */
     if ( type == CONTINUE )
     {
-        if( v->runstate.state == RUNSTATE_INIT ) {
-            /* Start-of-day; account first tsc -> now to v */
-            vcpu_start(p, v);
-        } else {
-            /* Continue running.  First, do some sanity checks */
-            if ( v->runstate.state == RUNSTATE_LOST ) {
-                fprintf(warn, "WARNING: continue with d%dv%d in RUNSTATE_LOST.  Resetting current.\n",
-                        v->d->did, v->vid);
-                if ( p->current )
-                    vcpu_prev_update(p, p->current, ri->tsc, RUNSTATE_LOST);
-                vcpu_next_update(p, v, ri->tsc);
-            }
-            else if( v->runstate.state != RUNSTATE_RUNNING ) {
-                /* This should never happen. */
-                fprintf(warn, "FATAL: sevt.old_runstate running, but d%dv%d runstate %s!\n",
-                        v->d->did, v->vid, runstate_name[v->runstate.state]);
-                error(ERR_FILE, NULL);
-            } else if ( v->p != p ) {
-                fprintf(warn, "FATAL: continue on p%d, but d%dv%d p%d!\n",
-                        p->pid, v->d->did, v->vid,
-                        v->p ? v->p->pid : -1);
-                error(ERR_FILE, NULL);
-            }
-
-            runstate_update(v, RUNSTATE_RUNNING, ri->tsc);
+        /* Continue running.  First, do some sanity checks */
+        if ( v->runstate.state == RUNSTATE_LOST ) {
+            fprintf(warn, "WARNING: continue with d%dv%d in RUNSTATE_LOST.  Resetting current.\n",
+                    v->d->did, v->vid);
+            if ( p->current )
+                vcpu_prev_update(p, p->current, ri->tsc, RUNSTATE_LOST);
+            vcpu_next_update(p, v, ri->tsc);
+        }
+        else if( v->runstate.state != RUNSTATE_RUNNING ) {
+            /* This should never happen. */
+            fprintf(warn, "FATAL: sevt.old_runstate running, but d%dv%d runstate %s!\n",
+                    v->d->did, v->vid, runstate_name[v->runstate.state]);
+            error(ERR_FILE, NULL);
+        } else if ( v->p != p ) {
+            fprintf(warn, "FATAL: continue on p%d, but d%dv%d p%d!\n",
+                    p->pid, v->d->did, v->vid,
+                    v->p ? v->p->pid : -1);
+            error(ERR_FILE, NULL);
         }
+
+        runstate_update(v, RUNSTATE_RUNNING, ri->tsc);
     }
     else if ( sevt.old_runstate == RUNSTATE_RUNNING
               || v->runstate.state == RUNSTATE_RUNNING )
@@ -7232,10 +7281,7 @@ update:
          *   # (should never happen)
          */
         if( sevt.old_runstate == RUNSTATE_RUNNING ) {
-            if( v->runstate.state == RUNSTATE_INIT ) {
-                /* Start-of-day; account first tsc -> now to v */
-                vcpu_start(p, v);
-            } else if( v->runstate.state != RUNSTATE_RUNNING
+            if( v->runstate.state != RUNSTATE_RUNNING
                        && v->runstate.state != RUNSTATE_LOST ) {
                 /* This should never happen. */
                 fprintf(warn, "FATAL: sevt.old_runstate running, but d%dv%d runstate %s!\n",
@@ -7264,11 +7310,8 @@ update:
 
         vcpu_next_update(p, v, ri->tsc);
     }
-    else if ( v->runstate.state != RUNSTATE_INIT )
+    else
     {
-        /* TSC skew at start-of-day is hard to deal with.  Don't
-         * bring a vcpu out of INIT until it's seen to be actually
-         * running somewhere. */
         runstate_update(v, sevt.new_runstate, ri->tsc);
     }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 16:13:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 16:13:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515373.798174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgpTP-00059Q-OU; Mon, 27 Mar 2023 16:13:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515373.798174; Mon, 27 Mar 2023 16: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 1pgpTP-00059H-Kw; Mon, 27 Mar 2023 16:13:31 +0000
Received: by outflank-mailman (input) for mailman id 515373;
 Mon, 27 Mar 2023 16:13: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=Dqr1=7T=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1pgpTO-0004tz-I6
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 16:13:30 +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 4f1298f1-ccba-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 18:13:28 +0200 (CEST)
Received: by mail-wm1-x32f.google.com with SMTP id
 q7-20020a05600c46c700b003ef6e809574so2402810wmo.4
 for <xen-devel@lists.xenproject.org>; Mon, 27 Mar 2023 09:13:28 -0700 (PDT)
Received: from georged-x-u.eng.citrite.net ([185.25.67.249])
 by smtp.gmail.com with ESMTPSA id
 y24-20020a05600c365800b003ef71d541cbsm2279124wmq.1.2023.03.27.09.13.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Mar 2023 09:13: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: 4f1298f1-ccba-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1679933607;
        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=IwKM0mUDm0yiSQL3cWLoPSUZyNXRWXB6fhqvfZgVZT8=;
        b=ZtCaJBQDi2yCvEbh7MsCJkCRdej0Bwh6qqjCzJwlZq9mxQRR7fsyFK7rZa/b7bo9Vu
         lVMIctm7jjfSkLT5FLTGRcv5yA5vK+jrvUVfXZorDs1cYGIKE4iRcSGDh/OK4OBja6g1
         By33+U9gXgFYUAhzZCzV3QSlFL1UaJulCmfz4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679933607;
        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=IwKM0mUDm0yiSQL3cWLoPSUZyNXRWXB6fhqvfZgVZT8=;
        b=wX1CL+9mQA0SiSUI2lwQnXKChGQ84k+ZlCvJRoRoWx2/5GTI2UL3KMX3NklRPBJQlw
         Za9yrS5GcHTeIA0TuTD/BQM7MGi30EVUT0KjxSRedlJ/s9z1XWfGY9YKwBdXifdgy4kU
         61+HckMazT3hUNqHRLcu9g/mjlGm6bu1K7OVppqJwIKMVlfFCxhjMdOToSoKu3g3spIi
         9OH73382ChSpFqnetQzqUBlWh+Oy3/GhvCAWy4wFU9ughQMNlaglIOJ7TrAvoWl5Ryig
         sAqJcEhHPlcF63he2BfETlLeP88Idv1Vo/sQJoErfGwD3sPLGEfYJR5DTI1z5PFrHMBT
         OsiA==
X-Gm-Message-State: AO0yUKWoNeTv7sJshlA4R5Uve0otwN4KYdi738wmTA8iNI/iItf9BaBt
	GZ4aTITUSlQ29n9Je/SjzHOJFV0wo8OWZQ7wyBeh8w==
X-Google-Smtp-Source: AK7set+094p4e6b50ti5TAycS0gYA2EfNG+pCO9Z4Mjec8HxDHV3VQaKB+RIw4S6rVfehxR8NZVoRg==
X-Received: by 2002:a1c:7516:0:b0:3ef:3ce6:7c69 with SMTP id o22-20020a1c7516000000b003ef3ce67c69mr9600592wmc.8.1679933607525;
        Mon, 27 Mar 2023 09:13:27 -0700 (PDT)
From: George Dunlap <george.dunlap@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@cloud.com>
Subject: [PATCH 2/2] xenalyze: Basic TRC_HVM_EMUL handling
Date: Mon, 27 Mar 2023 17:13:26 +0100
Message-Id: <20230327161326.48851-2-george.dunlap@cloud.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230327161326.48851-1-george.dunlap@cloud.com>
References: <20230327161326.48851-1-george.dunlap@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For now, mainly just do volume analysis and get rid of the warnings.

Signed-off-by: George Dunlap <george.dunlap@cloud.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@cloud.com>
---
 tools/xentrace/xenalyze.c | 17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
index 9f6d9763ac..83b835d793 100644
--- a/tools/xentrace/xenalyze.c
+++ b/tools/xentrace/xenalyze.c
@@ -987,6 +987,7 @@ enum {
     HVM_VOL_VMENTRY,
     HVM_VOL_VMEXIT,
     HVM_VOL_HANDLER,
+    HVM_VOL_EMUL,
     HVM_VOL_MAX
 };
 
@@ -1013,6 +1014,7 @@ const char *hvm_vol_name[HVM_VOL_MAX] = {
     [HVM_VOL_VMENTRY]="vmentry",
     [HVM_VOL_VMEXIT] ="vmexit",
     [HVM_VOL_HANDLER]="handler",
+    [HVM_VOL_EMUL]="emul",
 };
 
 enum {
@@ -5275,15 +5277,18 @@ void hvm_process(struct pcpu_info *p)
     if(vcpu_set_data_type(p->current, VCPU_DATA_HVM))
         return;
 
-    if(ri->evt.sub == 2)
-    {
+    switch ( ri->evt.sub ) {
+    case 2: /* HVM_HANDLER */
         UPDATE_VOLUME(p, hvm[HVM_VOL_HANDLER], ri->size);
         hvm_handler_process(ri, h);
-    }
-    else
-    {
+        break;
+    case 4: /* HVM_EMUL */
+        UPDATE_VOLUME(p, hvm[HVM_VOL_EMUL], ri->size);
+        warn_once("WARNING: We don't yet analyze HVM_EMUL events.\n");
+        /* FIXME: Collect analysis on this */
+        break;
+    default:
         switch(ri->event) {
-            /* HVM */
         case TRC_HVM_VMEXIT:
         case TRC_HVM_VMEXIT64:
             UPDATE_VOLUME(p, hvm[HVM_VOL_VMEXIT], ri->size);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 16:22:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 16:22:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515378.798183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgpbs-00071w-Im; Mon, 27 Mar 2023 16:22:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515378.798183; Mon, 27 Mar 2023 16:22: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 1pgpbs-00071p-G8; Mon, 27 Mar 2023 16:22:16 +0000
Received: by outflank-mailman (input) for mailman id 515378;
 Mon, 27 Mar 2023 16:22: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=J70X=7T=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pgpbr-00071j-98
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 16:22:15 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88549bb9-ccbb-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 18:22:13 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 63FD31FDC2;
 Mon, 27 Mar 2023 16: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 0935B13482;
 Mon, 27 Mar 2023 16:22:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id QMiBALXCIWTKUgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 27 Mar 2023 16: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: 88549bb9-ccbb-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679934133; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=UcDPc/tgrynPUn5Yb3kFJbY/0rSBTe/WWm+ukByYBNM=;
	b=TGkHjJu7sMYfpPegpiMz6r/zjinvf3kc+DGbnTIIXrwRnjZy4qwzqzzJVbsuwY/njyAZTN
	Sq3EXI32nlHMl94cM5qFS5uvakOzeyFnyP/ErYr9k6tlZ4i/F5prP2PWPGmeLC9Cb/0PEI
	Pd1jLl14rSQY2G/6Jp5pfwJF0nIIxoE=
Message-ID: <f94dbfe9-f690-8c3e-c251-b0d5f93d32f9@suse.com>
Date: Mon, 27 Mar 2023 18:22:12 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, stable@vger.kernel.org,
 linux-kernel@vger.kernel.org, netdev@vger.kernel.org
References: <20230327083646.18690-1-jgross@suse.com>
 <20230327083646.18690-2-jgross@suse.com>
 <59d90811-bc68-83cd-b7e5-7a8c2e2370d9@suse.com>
 <f519a2d3-6662-35a2-b295-1825924affa8@suse.com>
 <89653286-f05e-1fc1-b6bf-265b7ecaad0d@suse.com>
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 1/2] xen/netback: don't do grant copy across page boundary
In-Reply-To: <89653286-f05e-1fc1-b6bf-265b7ecaad0d@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------KOZ7ZtvRb62jdp8pvjMndc9b"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------KOZ7ZtvRb62jdp8pvjMndc9b
Content-Type: multipart/mixed; boundary="------------0kqG5uzLZQlxMAQNhuEVe4xN";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, stable@vger.kernel.org,
 linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Message-ID: <f94dbfe9-f690-8c3e-c251-b0d5f93d32f9@suse.com>
Subject: Re: [PATCH 1/2] xen/netback: don't do grant copy across page boundary
References: <20230327083646.18690-1-jgross@suse.com>
 <20230327083646.18690-2-jgross@suse.com>
 <59d90811-bc68-83cd-b7e5-7a8c2e2370d9@suse.com>
 <f519a2d3-6662-35a2-b295-1825924affa8@suse.com>
 <89653286-f05e-1fc1-b6bf-265b7ecaad0d@suse.com>
In-Reply-To: <89653286-f05e-1fc1-b6bf-265b7ecaad0d@suse.com>

--------------0kqG5uzLZQlxMAQNhuEVe4xN
Content-Type: multipart/mixed; boundary="------------AK01Xsixlkeb0Sq0830RmZ1R"

--------------AK01Xsixlkeb0Sq0830RmZ1R
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjcuMDMuMjMgMTc6MzgsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNy4wMy4yMDIz
IDEyOjA3LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjcuMDMuMjMgMTE6NDksIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDI3LjAzLjIwMjMgMTA6MzYsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IEBAIC00MTMsNiArNDE4LDEzIEBAIHN0YXRpYyB2b2lkIHhlbnZp
Zl9nZXRfcmVxdWVzdHMoc3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUsDQo+Pj4+ICAgIAkJ
Y29wLT5kZXN0LnUuZ21mbiA9IHZpcnRfdG9fZ2ZuKHNrYi0+ZGF0YSArIHNrYl9oZWFkbGVu
KHNrYikNCj4+Pj4gICAgCQkJCSAgICAgICAgICAgICAgIC0gZGF0YV9sZW4pOw0KPj4+PiAg
ICANCj4+Pj4gKwkJLyogRG9uJ3QgY3Jvc3MgbG9jYWwgcGFnZSBib3VuZGFyeSEgKi8NCj4+
Pj4gKwkJaWYgKGNvcC0+ZGVzdC5vZmZzZXQgKyBhbW91bnQgPiBYRU5fUEFHRV9TSVpFKSB7
DQo+Pj4+ICsJCQlhbW91bnQgPSBYRU5fUEFHRV9TSVpFIC0gY29wLT5kZXN0Lm9mZnNldDsN
Cj4+Pj4gKwkJCVhFTlZJRl9UWF9DQihza2IpLT5zcGxpdF9tYXNrIHw9IDFVIDw8IGNvcHlf
Y291bnQoc2tiKTsNCj4+Pg0KPj4+IE1heWJlIHdvcnRod2hpbGUgdG8gYWRkIGEgQlVJTERf
QlVHX09OKCkgc29tZXdoZXJlIHRvIG1ha2Ugc3VyZSB0aGlzDQo+Pj4gc2hpZnQgd29uJ3Qg
Z3JvdyB0b28gbGFyZ2UgYSBzaGlmdCBjb3VudC4gVGhlIG51bWJlciBvZiBzbG90cyBhY2Nl
cHRlZA0KPj4+IGNvdWxkIGNvbmNlaXZhYmx5IGJlIGdyb3duIHBhc3QgWEVOX05FVEJLX0xF
R0FDWV9TTE9UU19NQVggKGkuZS4NCj4+PiBYRU5fTkVUSUZfTlJfU0xPVFNfTUlOKSBhdCBz
b21lIHBvaW50Lg0KPj4NCj4+IFRoaXMgaXMgYmFzaWNhbGx5IGltcG9zc2libGUgZHVlIHRv
IHRoZSBzaXplIHJlc3RyaWN0aW9uIG9mIHN0cnVjdA0KPj4geGVudmlmX3R4X2NiLg0KPiAN
Cj4gSWYgaXRzIHNpemUgYmVjYW1lIGEgcHJvYmxlbSwgaXQgbWlnaHQgc2ltcGx5IHRha2Ug
YSBsZXZlbCBvZiBpbmRpcmVjdGlvbg0KPiB0byBvdmVyY29tZSB0aGUgbGltaXRhdGlvbi4N
Cg0KTWF5YmUuDQoNCk9UT0ggdGhpcyB3b3VsZCByZXF1aXJlIHNvbWUgcmV3b3JrLCB3aGlj
aCBzaG91bGQgdGFrZSBzdWNoIHByb2JsZW1zIGludG8NCmNvbnNpZGVyYXRpb24uDQoNCklu
IHRoZSBlbmQgSSdkIGJlIGZpbmUgdG8gYWRkIHN1Y2ggYSBCVUlMRF9CVUdfT04oKSwgYXMg
dGhlIGNvZGUgaXMNCmNvbXBsaWNhdGVkIGVub3VnaCBhbHJlYWR5Lg0KDQo+IA0KPj4+PiBA
QCAtNDIwLDcgKzQzMiw4IEBAIHN0YXRpYyB2b2lkIHhlbnZpZl9nZXRfcmVxdWVzdHMoc3Ry
dWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUsDQo+Pj4+ICAgIAkJcGVuZGluZ19pZHggPSBxdWV1
ZS0+cGVuZGluZ19yaW5nW2luZGV4XTsNCj4+Pj4gICAgCQljYWxsYmFja19wYXJhbShxdWV1
ZSwgcGVuZGluZ19pZHgpLmN0eCA9IE5VTEw7DQo+Pj4+ICAgIAkJY29weV9wZW5kaW5nX2lk
eChza2IsIGNvcHlfY291bnQoc2tiKSkgPSBwZW5kaW5nX2lkeDsNCj4+Pj4gLQkJY29weV9j
b3VudChza2IpKys7DQo+Pj4+ICsJCWlmICghc3BsaXQpDQo+Pj4+ICsJCQljb3B5X2NvdW50
KHNrYikrKzsNCj4+Pj4gICAgDQo+Pj4+ICAgIAkJY29wKys7DQo+Pj4+ICAgIAkJZGF0YV9s
ZW4gLT0gYW1vdW50Ow0KPj4+PiBAQCAtNDQxLDcgKzQ1NCw4IEBAIHN0YXRpYyB2b2lkIHhl
bnZpZl9nZXRfcmVxdWVzdHMoc3RydWN0IHhlbnZpZl9xdWV1ZSAqcXVldWUsDQo+Pj4+ICAg
IAkJCW5yX3Nsb3RzLS07DQo+Pj4+ICAgIAkJfSBlbHNlIHsNCj4+Pj4gICAgCQkJLyogVGhl
IGNvcHkgb3AgcGFydGlhbGx5IGNvdmVyZWQgdGhlIHR4X3JlcXVlc3QuDQo+Pj4+IC0JCQkg
KiBUaGUgcmVtYWluZGVyIHdpbGwgYmUgbWFwcGVkLg0KPj4+PiArCQkJICogVGhlIHJlbWFp
bmRlciB3aWxsIGJlIG1hcHBlZCBvciBjb3BpZWQgaW4gdGhlIG5leHQNCj4+Pj4gKwkJCSAq
IGl0ZXJhdGlvbi4NCj4+Pj4gICAgCQkJICovDQo+Pj4+ICAgIAkJCXR4cC0+b2Zmc2V0ICs9
IGFtb3VudDsNCj4+Pj4gICAgCQkJdHhwLT5zaXplIC09IGFtb3VudDsNCj4+Pj4gQEAgLTUz
OSw2ICs1NTMsMTMgQEAgc3RhdGljIGludCB4ZW52aWZfdHhfY2hlY2tfZ29wKHN0cnVjdCB4
ZW52aWZfcXVldWUgKnF1ZXVlLA0KPj4+PiAgICAJCXBlbmRpbmdfaWR4ID0gY29weV9wZW5k
aW5nX2lkeChza2IsIGkpOw0KPj4+PiAgICANCj4+Pj4gICAgCQluZXdlcnIgPSAoKmdvcHBf
Y29weSktPnN0YXR1czsNCj4+Pj4gKw0KPj4+PiArCQkvKiBTcGxpdCBjb3BpZXMgbmVlZCB0
byBiZSBoYW5kbGVkIHRvZ2V0aGVyLiAqLw0KPj4+PiArCQlpZiAoWEVOVklGX1RYX0NCKHNr
YiktPnNwbGl0X21hc2sgJiAoMVUgPDwgaSkpIHsNCj4+Pj4gKwkJCSgqZ29wcF9jb3B5KSsr
Ow0KPj4+PiArCQkJaWYgKCFuZXdlcnIpDQo+Pj4+ICsJCQkJbmV3ZXJyID0gKCpnb3BwX2Nv
cHkpLT5zdGF0dXM7DQo+Pj4+ICsJCX0NCj4+Pg0KPj4+IEl0IGlzbid0IGd1YXJhbnRlZWQg
dGhhdCBhIHNsb3QgbWF5IGJlIHNwbGl0IG9ubHkgb25jZSwgaXMgaXQ/IEFzc3VtaW5nIGEN
Cj4+DQo+PiBJIHRoaW5rIGl0IGlzIGd1YXJhbnRlZWQuDQo+Pg0KPj4gTm8gc2xvdCBjYW4g
Y292ZXIgbW9yZSB0aGFuIFhFTl9QQUdFX1NJWkUgYnl0ZXMgZHVlIHRvIHRoZSBncmFudHMg
YmVpbmcNCj4+IHJlc3RyaWN0ZWQgdG8gdGhhdCBzaXplLiBUaGVyZSBpcyBubyB3YXkgaG93
IHN1Y2ggYSBkYXRhIHBhY2tldCBjb3VsZCBjcm9zcw0KPj4gMiBwYWdlIGJvdW5kYXJpZXMu
DQo+Pg0KPj4gSW4gdGhlIGVuZCB0aGUgcHJvYmxlbSBpc24ndCB0aGUgY29waWVzIGZvciB0
aGUgbGluZWFyIGFyZWEgbm90IGNyb3NzaW5nDQo+PiBtdWx0aXBsZSBwYWdlIGJvdW5kYXJp
ZXMsIGJ1dCB0aGUgY29waWVzIGZvciBhIHNpbmdsZSByZXF1ZXN0IHNsb3Qgbm90DQo+PiBk
b2luZyBzby4gQW5kIHRoaXMgY2FuJ3QgaGFwcGVuIElNTy4NCj4gDQo+IFlvdSdyZSB0aGlu
a2luZyBvZiBvbmx5IHdlbGwtZm9ybWVkIHJlcXVlc3RzLiBXaGF0IGFib3V0IHNhaWQgcmVx
dWVzdA0KPiBwcm92aWRpbmcgYSBsYXJnZSBzaXplIHdpdGggb25seSB0aW55IGZyYWdtZW50
cz8geGVudmlmX2dldF9yZXF1ZXN0cygpDQo+IHdpbGwgaGFwcGlseSBwcm9jZXNzIHN1Y2gs
IGNyZWF0aW5nIGJvZ3VzIGdyYW50LWNvcHkgb3BzLiBCdXQgdGhlbSBmYWlsaW5nDQo+IG9u
Y2Ugc3VibWl0dGVkIHRvIFhlbiB3aWxsIGJlIG9ubHkgYWZ0ZXIgZGFtYWdlIG1heSBhbHJl
YWR5IGhhdmUgb2NjdXJyZWQNCj4gKGZyb20gYm9ndXMgdXBkYXRlcyBvZiBpbnRlcm5hbCBz
dGF0ZTsgdGhlIGxvZ2ljIGFsdG9nZXRoZXIgaXMgdG9vDQo+IGludm9sdmVkIGZvciBtZSB0
byBiZSBjb252aW5jZWQgdGhhdCBub3RoaW5nIGJhZCBjYW4gaGFwcGVuKS4NCg0KVGhlcmUg
YXJlIHNhbml0eSBjaGVja3MgYWZ0ZXIgZWFjaCByZWxldmFudCBSSU5HX0NPUFlfUkVRVUVT
VCgpIGNhbGwsIHdoaWNoDQp3aWxsIGJhaWwgb3V0IGlmICIodHhwLT5vZmZzZXQgKyB0eHAt
PnNpemUpID4gWEVOX1BBR0VfU0laRSIgKHRoZSBmaXJzdCBvbmUNCmlzIGFmdGVyIHRoZSBj
YWxsIG9mIHhlbnZpZl9jb3VudF9yZXF1ZXN0cygpLCBhcyB0aGlzIGNhbGwgd2lsbCBkZWNy
ZWFzZSB0aGUNCnNpemUgb2YgdGhlIHJlcXVlc3QsIHRoZSBvdGhlciBjaGVjayBpcyBpbiB4
ZW52aWZfY291bnRfcmVxdWVzdHMoKSkuDQoNCj4gSW50ZXJlc3RpbmdseSAoYXMgSSByZWFs
aXplIG5vdykgdGhlIHNoaWZ0cyB5b3UgYWRkIGFyZSBub3QgYmUgYXQgcmlzayBvZg0KPiB0
dXJuaW5nIFVCIGluIHRoaXMgY2FzZSwgYXMgdGhlIHNoaWZ0IGNvdW50IHdvbid0IGdvIGJl
eW9uZCAxNi4NCj4gDQo+Pj4gbmVhci02NGsgcGFja2V0IHdpdGggYWxsIHRpbnkgbm9uLXBy
aW1hcnkgc2xvdHMsIHRoYXQnbGwgY2F1c2UgdGhvc2UgdGlueQ0KPj4+IHNsb3RzIHRvIGFs
bCBiZSBtYXBwZWQsIGJ1dCBkdWUgdG8NCj4+Pg0KPj4+IAkJaWYgKHJldCA+PSBYRU5fTkVU
QktfTEVHQUNZX1NMT1RTX01BWCAtIDEgJiYgZGF0YV9sZW4gPCB0eHJlcS5zaXplKQ0KPj4+
IAkJCWRhdGFfbGVuID0gdHhyZXEuc2l6ZTsNCj4+Pg0KPj4+IHdpbGwsIGFmYWljdCwgY2F1
c2UgYSBsb3Qgb2YgY29weWluZyBmb3IgdGhlIHByaW1hcnkgc2xvdC4gVGhlcmVmb3JlIEkN
Cj4+PiB0aGluayB5b3UgbmVlZCBhIGxvb3AgaGVyZSwgbm90IGp1c3QgYW4gaWYoKS4gUGx1
cyB0eF9jb3B5X29wc1tdJ2VzDQo+Pj4gZGltZW5zaW9uIGFsc28gbG9va3MgdG8gbmVlZCBm
dXJ0aGVyIGdyb3dpbmcgdG8gYWNjb21tb2RhdGUgdGhpcy4gT3INCj4+PiBtYXliZSBub3Qg
LSBhdCBsZWFzdCB0aGUgZXh0cmVtZSBleGFtcGxlIGdpdmVuIHdvdWxkIHN0aWxsIGJlIGZp
bmU7IG1vcmUNCj4+PiBnZW5lcmFsbHkgcGFja2V0cyBiZWluZyBsaW1pdGVkIHRvIGJlbG93
IDY0ayBtZWFucyAyKjE2IHNsb3RzIHdvdWxkDQo+Pj4gc3VmZmljZSBhdCBvbmUgZW5kIG9m
IHRoZSBzY2FsZSwgd2hpbGUgMipNQVhfUEVORElOR19SRVFTIHdvdWxkIGF0IHRoZQ0KPj4+
IG90aGVyIGVuZCAoYWxsIHRpbnksIGluY2x1ZGluZyB0aGUgcHJpbWFyeSBzbG90KS4gV2hh
dCBJIGhhdmVuJ3QgZnVsbHkNCj4+PiBjb252aW5jZWQgbXlzZWxmIG9mIGlzIHdoZXRoZXIg
dGhlcmUgbWlnaHQgYmUgY2FzZXMgaW4gdGhlIG1pZGRsZSB3aGljaA0KPj4+IGFyZSB5ZXQg
d29yc2UuDQo+Pg0KPj4gU2VlIGFib3ZlIHJlYXNvbmluZy4gSSB0aGluayBpdCBpcyBva2F5
LCBidXQgbWF5YmUgSSdtIG1pc3Npbmcgc29tZXRoaW5nLg0KPiANCj4gV2VsbCwgdGhlIG1h
aW4gdGhpbmcgSSdtIG1pc3NpbmcgaXMgYSAicHJpbWFyeSByZXF1ZXN0IGZpdHMgaW4gYSBw
YWdlIg0KPiBjaGVjaywgZXZlbiBtb3JlIHNvIHdpdGggdGhlIG5ldyBjb3B5aW5nIGxvZ2lj
IHRoYXQgdGhlIGNvbW1pdCByZWZlcmVuY2VkDQo+IGJ5IEZpeGVzOiBpbnRyb2R1Y2VkIGlu
dG8geGVudmlmX2dldF9yZXF1ZXN0cygpLg0KDQpXaGVuIHhlbnZpZl9nZXRfcmVxdWVzdHMo
KSBnZXRzIGNhbGxlZCwgYWxsIHJlcXVlc3RzIGFyZSBzYW5pdHkgY2hlY2tlZA0KYWxyZWFk
eSAobm90ZSB0aGF0IHhlbnZpZl9nZXRfcmVxdWVzdHMoKSBpcyB3b3JraW5nIG9uIHRoZSBs
b2NhbCBjb3BpZXMgb2YNCnRoZSByZXF1ZXN0cykuDQoNCg0KSnVlcmdlbg0K
--------------AK01Xsixlkeb0Sq0830RmZ1R
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-----

--------------AK01Xsixlkeb0Sq0830RmZ1R--

--------------0kqG5uzLZQlxMAQNhuEVe4xN--

--------------KOZ7ZtvRb62jdp8pvjMndc9b
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQhwrQFAwAAAAAACgkQsN6d1ii/Ey8o
7Qf/UNv6jyUJtB5UZE4sBvosfP6HG1LYaUFg5CY7KhDu74n8270KFyOj3G8TYc7aaobr3u8MvWOS
5V6fKu+/6VtBTtaoNKeqyTSstlwYjr6Cmp3B3cPQph5Mtfmrq4qrcKuHtGM5knaYCHvQisRybCYf
CnJ0CUGqns4XgqpJHLe0fNnp0CheYTkMujuVG/xhAlPiJnYcgwxYiTyQL4FqUFlRz5q11oYOR/iY
vEThuwSI4Q5saiXCJLuHgU6hSJd0arwDiajoP+joFPI8XLBtL2VDZrirj6voPawPVeLIoUm6bypi
YiK8rfr9H7qj1NGEwYZx40N4XLVflSnYot4A+MzmxA==
=idtz
-----END PGP SIGNATURE-----

--------------KOZ7ZtvRb62jdp8pvjMndc9b--


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 17:17:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 17:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515392.798219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgqT5-00052G-JS; Mon, 27 Mar 2023 17:17:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515392.798219; Mon, 27 Mar 2023 17: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 1pgqT5-00051I-Dh; Mon, 27 Mar 2023 17:17:15 +0000
Received: by outflank-mailman (input) for mailman id 515392;
 Mon, 27 Mar 2023 17:17: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=16zh=7T=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pgqT4-0004VI-7Z
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 17:17:14 +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 22191fb9-ccc3-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 19:16:39 +0200 (CEST)
Received: by mail-lf1-x12a.google.com with SMTP id y15so12403582lfa.7
 for <xen-devel@lists.xenproject.org>; Mon, 27 Mar 2023 10:17:09 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a4-20020a2e9804000000b002a03f9ffecesm2463322ljj.89.2023.03.27.10.17.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Mar 2023 10:17: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: 22191fb9-ccc3-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679937429;
        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=EaHHvwVhjyYbos6CGWe07D+RCHk30FR+6d6UIPlUWNo=;
        b=ZQeYittVeJr2UNDuvvDXidDJBEYEZLFwluLKYbYPx1MWEQr98vRxsfLEcU9IibgP9x
         z2FmtsdNwMlh+qJtM//tFMfNXg2Uz0JLXIVLT5fs7y9U5JZxTNPlvXAi0XJs9f1E4JQG
         ZPMdrDsC3kZOlj62HdbdmdLvlDOjcmUxUpTK7yV0H3zpQtlKCnp4G7h4xbJC9x9qpa1x
         0umRwNGP4d1458K47upkpJW534QaOd33Pg8tdkROro13gK0BWmgstGRTCKrz2oyHGToC
         ZuNyhAmC0mycYaFunjslv7cv1aa8E/bPEf4B0nhDB+7Hb508OLezEULLFkiwHahjkIBZ
         C6dg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679937429;
        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=EaHHvwVhjyYbos6CGWe07D+RCHk30FR+6d6UIPlUWNo=;
        b=VbU4pqJQT1lvLmXNylaOIeearu9thDykR2jXsjTnr3zcJCTEGmxjI+VLWnC/O1DaMF
         6YSWSyucUqIKqJQZL6MsSIAmwJkhNSmVswHS7CgLror5p9Ci7db6Dk/NFTUl9pgo3oe1
         t2X8nL4jKqE8H/f/X2q0fWRD+RaZ93WwL6yjn83fuIBSM82H3utZP5CWRffgi6E9ENQl
         x3B7HLfEMqa75mrnDFdfhfLdsmxEvfXTNF575oQBdmiwgLNBJMG+3XwYceokiDAcRPwI
         8FOz509GqXgEYSOSIPFOWp0Z1YFnlnAOcfn+JteDVkneZMH0reiOKT/rV334+4eF13tP
         wEQQ==
X-Gm-Message-State: AAQBX9cHKCMMG49Z9f7V8U+nRVGza4IvxpNOlHsjgNRXOJZQ9Jg2bcEZ
	p58jJC4bC+Pd3eZUP6LFWxOTUq83ihztSg==
X-Google-Smtp-Source: AKy350ZQrkKbnGAmZ+esRYZntTK4Lbbd1v7M9RwXozviMx8HJEd4jprII84u8SY5w+YWaIMuyUlVaA==
X-Received: by 2002:ac2:5330:0:b0:4e0:ce21:b92 with SMTP id f16-20020ac25330000000b004e0ce210b92mr3871589lfh.16.1679937428786;
        Mon, 27 Mar 2023 10:17:08 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v3 1/3] xen/riscv: introduce setup_initial_pages
Date: Mon, 27 Mar 2023 20:17:03 +0300
Message-Id: <93da6ba381604748e2c71e2ebd35e80798ec4bb2.1679934166.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1679934166.git.oleksii.kurochko@gmail.com>
References: <cover.1679934166.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The idea was taken from xvisor but the following changes
were done:
* Use only a minimal part of the code enough to enable MMU
* rename {_}setup_initial_pagetables functions
* add an argument for setup_initial_mapping to have
  an opportunity to make set PTE flags.
* update setup_initial_pagetables function to map sections
  with correct PTE flags.
* Rewrite enable_mmu() to C.
* map linker addresses range to load addresses range without
  1:1 mapping. It will be 1:1 only in case when
  load_start_addr is equal to linker_start_addr.
* add safety checks such as:
  * Xen size is less than page size
  * linker addresses range doesn't overlap load addresses
    range
* Rework macros {THIRD,SECOND,FIRST,ZEROETH}_{SHIFT,MASK}
* change PTE_LEAF_DEFAULT to RW instead of RWX.
* Remove phys_offset as it is not used now
* Remove alignment  of {map, pa}_start &= XEN_PT_LEVEL_MAP_MASK(0);
  in  setup_inital_mapping() as they should be already aligned.
  Make a check that {map_pa}_start are aligned.
* Remove clear_pagetables() as initial pagetables will be
  zeroed during bss initialization
* Remove __attribute__((section(".entry")) for setup_initial_pagetables()
  as there is no such section in xen.lds.S
* Update the argument of pte_is_valid() to "const pte_t *p"
* Add check that Xen's load address is aligned at 4k boundary
* Refactor setup_initial_pagetables() so it is mapping linker
  address range to load address range. After setup needed
  permissions for specific section ( such as .text, .rodata, etc )
  otherwise RW permission will be set by default.

Origin: git@github.com:xvisor/xvisor.git 9be2fdd7
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - update definition of pte_t structure to have a proper size of pte_t
   in case of RV32.
 - update asm/mm.h with new functions and remove unnecessary 'extern'.
 - remove LEVEL_* macros as only XEN_PT_LEVEL_* are enough.
 - update paddr_to_pte() to receive permissions as an argument.
 - add check that map_start & pa_start is properly aligned.
 - move  defines PAGETABLE_ORDER, PAGETABLE_ENTRIES, PTE_PPN_SHIFT to
   <asm/page-bits.h>
 - Rename PTE_SHIFT to PTE_PPN_SHIFT
 - refactor setup_initial_pagetables: map all LINK addresses to LOAD addresses
   and after setup PTEs permission for sections; update check that linker
   and load addresses don't overlap.
 - refactor setup_initial_mapping: allocate pagetable 'dynamically' if it is
   necessary.
 - rewrite enable_mmu in C; add the check that map_start and pa_start are
   aligned on 4k boundary.
 - update the comment for setup_initial_pagetable funcion
 - Add RV_STAGE1_MODE to support different MMU modes
 - set XEN_VIRT_START very high to not overlap with load address range
 - align bss section
---
Changes in V2:
 * update the commit message:
 * Remove {ZEROETH,FIRST,...}_{SHIFT,MASK, SIZE,...} and
   introduce instead of them XEN_PT_LEVEL_*() and LEVEL_*
 * Rework pt_linear_offset() and pt_index based on  XEN_PT_LEVEL_*()
 * Remove clear_pagetables() functions as pagetables were zeroed during
   .bss initialization
 * Rename _setup_initial_pagetables() to setup_initial_mapping()
 * Make PTE_DEFAULT equal to RX.
 * Update prototype of setup_initial_mapping(..., bool writable) -> 
   setup_initial_mapping(..., UL flags)  
 * Update calls of setup_initial_mapping according to new prototype
 * Remove unnecessary call of:
   _setup_initial_pagetables(..., load_addr_start, load_addr_end, load_addr_start, ...)
 * Define index* in the loop of setup_initial_mapping
 * Remove attribute "__attribute__((section(".entry")))" for setup_initial_pagetables()
   as we don't have such section
 * make arguments of paddr_to_pte() and pte_is_valid() as const.
 * make xen_second_pagetable static.
 * use <xen/kernel.h> instead of declaring extern unsigned long _stext, 0etext, _srodata, _erodata
 * update  'extern unsigned long __init_begin' to 'extern unsigned long __init_begin[]'
 * use aligned() instead of "__attribute__((__aligned__(PAGE_SIZE)))"
 * set __section(".bss.page_aligned") for page tables arrays
 * fix identatations
 * Change '__attribute__((section(".entry")))' to '__init'
 * Remove phys_offset as it isn't used now.
 * Remove alignment  of {map, pa}_start &= XEN_PT_LEVEL_MAP_MASK(0); in
   setup_inital_mapping() as they should be already aligned.
 * Remove clear_pagetables() as initial pagetables will be
   zeroed during bss initialization
 * Remove __attribute__((section(".entry")) for setup_initial_pagetables()
   as there is no such section in xen.lds.S
 * Update the argument of pte_is_valid() to "const pte_t *p"
---
 xen/arch/riscv/Makefile                |   1 +
 xen/arch/riscv/include/asm/config.h    |  15 +-
 xen/arch/riscv/include/asm/mm.h        |   9 +
 xen/arch/riscv/include/asm/page-bits.h |  10 +
 xen/arch/riscv/include/asm/page.h      |  62 ++++++
 xen/arch/riscv/mm.c                    | 277 +++++++++++++++++++++++++
 xen/arch/riscv/riscv64/head.S          |   2 +
 xen/arch/riscv/setup.c                 |  11 +
 xen/arch/riscv/xen.lds.S               |   3 +
 9 files changed, 389 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/riscv/include/asm/mm.h
 create mode 100644 xen/arch/riscv/include/asm/page.h
 create mode 100644 xen/arch/riscv/mm.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 443f6bf15f..956ceb02df 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 += mm.o
 obj-$(CONFIG_RISCV_64) += riscv64/
 obj-y += sbi.o
 obj-y += setup.o
diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index 763a922a04..7ffe9051b2 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -39,12 +39,25 @@
   name:
 #endif
 
-#define XEN_VIRT_START  _AT(UL, 0x80200000)
+#define ADDRESS_SPACE_END (_AC(-1, UL))
+#define SZ_1G             0x40000000
+
+#ifdef CONFIG_RISCV_64
+#define XEN_VIRT_START    (ADDRESS_SPACE_END - SZ_1G + 1)
+#else
+#error "RV32 isn't supported"asm
+#endif
 
 #define SMP_CACHE_BYTES (1 << 6)
 
 #define STACK_SIZE PAGE_SIZE
 
+#ifdef CONFIG_RISCV_64
+#define RV_STAGE1_MODE SATP_MODE_SV39
+#else
+#define RV_STAGE1_MODE SATP_MODE_SV32
+#endif
+
 #endif /* __RISCV_CONFIG_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
new file mode 100644
index 0000000000..e16ce66fae
--- /dev/null
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -0,0 +1,9 @@
+#ifndef _ASM_RISCV_MM_H
+#define _ASM_RISCV_MM_H
+
+void setup_initial_pagetables(void);
+
+void enable_mmu(void);
+void cont_after_mmu_is_enabled(void);
+
+#endif /* _ASM_RISCV_MM_H */
diff --git a/xen/arch/riscv/include/asm/page-bits.h b/xen/arch/riscv/include/asm/page-bits.h
index 1801820294..0879a527f2 100644
--- a/xen/arch/riscv/include/asm/page-bits.h
+++ b/xen/arch/riscv/include/asm/page-bits.h
@@ -1,6 +1,16 @@
 #ifndef __RISCV_PAGE_BITS_H__
 #define __RISCV_PAGE_BITS_H__
 
+#ifdef CONFIG_RISCV_64
+#define PAGETABLE_ORDER         (9)
+#else /* CONFIG_RISCV_32 */
+#define PAGETABLE_ORDER         (10)
+#endif
+
+#define PAGETABLE_ENTRIES       (1 << PAGETABLE_ORDER)
+
+#define PTE_PPN_SHIFT           10
+
 #define PAGE_SHIFT              12 /* 4 KiB Pages */
 #define PADDR_BITS              56 /* 44-bit PPN */
 
diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
new file mode 100644
index 0000000000..f1dd5142cf
--- /dev/null
+++ b/xen/arch/riscv/include/asm/page.h
@@ -0,0 +1,62 @@
+#ifndef _ASM_RISCV_PAGE_H
+#define _ASM_RISCV_PAGE_H
+
+#include <xen/const.h>
+#include <xen/types.h>
+
+#define VPN_MASK                    ((unsigned long)(PAGETABLE_ENTRIES - 1))
+
+#define XEN_PT_LEVEL_ORDER(lvl)     ((lvl) * PAGETABLE_ORDER)
+#define XEN_PT_LEVEL_SHIFT(lvl)     (XEN_PT_LEVEL_ORDER(lvl) + PAGE_SHIFT)
+#define XEN_PT_LEVEL_SIZE(lvl)      (_AT(paddr_t, 1) << XEN_PT_LEVEL_SHIFT(lvl))
+#define XEN_PT_LEVEL_MAP_MASK(lvl)  (~(XEN_PT_LEVEL_SIZE(lvl) - 1))
+#define XEN_PT_LEVEL_MASK(lvl)      (VPN_MASK << XEN_PT_LEVEL_SHIFT(lvl))
+
+#define PTE_VALID                   BIT(0, UL)
+#define PTE_READABLE                BIT(1, UL)
+#define PTE_WRITABLE                BIT(2, UL)
+#define PTE_EXECUTABLE              BIT(3, UL)
+#define PTE_USER                    BIT(4, UL)
+#define PTE_GLOBAL                  BIT(5, UL)
+#define PTE_ACCESSED                BIT(6, UL)
+#define PTE_DIRTY                   BIT(7, UL)
+#define PTE_RSW                     (BIT(8, UL) | BIT(9, UL))
+
+#define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
+#define PTE_TABLE                   (PTE_VALID)
+
+/* Calculate the offsets into the pagetables for a given VA */
+#define pt_linear_offset(lvl, va)   ((va) >> XEN_PT_LEVEL_SHIFT(lvl))
+
+#define pt_index(lvl, va) pt_linear_offset(lvl, (va) & XEN_PT_LEVEL_MASK(lvl))
+
+#ifdef CONFIG_RISCV_64
+typedef uint64_t pte_t;
+#else
+typedef uint32_t pte_t;
+#endif
+
+#define addr_to_pte(x) (((x) >> PTE_PPN_SHIFT) << PAGE_SHIFT)
+
+/* Shift the VPN[x] or PPN[x] fields of a virtual or physical address
+ * to become the shifted PPN[x] fields of a page table entry */
+#define addr_to_ppn(x) (((x) >> PAGE_SHIFT) << PTE_PPN_SHIFT)
+
+static inline pte_t paddr_to_pte(const unsigned long paddr,
+                                 const unsigned long permissions)
+{
+    pte_t tmp = (pte_t)addr_to_ppn(paddr);
+    return tmp | permissions;
+}
+
+static inline pte_t pte_to_paddr(const unsigned long paddr)
+{
+    return (pte_t)addr_to_pte(paddr);
+}
+
+static inline bool pte_is_valid(const pte_t p)
+{
+    return p & PTE_VALID;
+}
+
+#endif /* _ASM_RISCV_PAGE_H */
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
new file mode 100644
index 0000000000..2179ae9fd4
--- /dev/null
+++ b/xen/arch/riscv/mm.c
@@ -0,0 +1,277 @@
+#include <xen/init.h>
+#include <xen/kernel.h>
+
+#include <asm/early_printk.h>
+#include <asm/config.h>
+#include <asm/csr.h>
+#include <asm/mm.h>
+#include <asm/page.h>
+#include <asm/processor.h>
+
+#define PGTBL_INITIAL_COUNT 8
+#define PGTBL_ENTRY_AMOUNT  (PAGE_SIZE/sizeof(pte_t))
+
+struct mmu_desc {
+    unsigned long num_levels;
+    uint32_t pgtbl_count;
+    pte_t *next_pgtbl;
+    pte_t *pgtbl_base;
+};
+
+extern unsigned long __bss_start[];
+extern unsigned long __bss_end[];
+extern unsigned char cpu0_boot_stack[STACK_SIZE];
+
+#define PHYS_OFFSET ((unsigned long)_start - XEN_VIRT_START)
+#define LOAD_TO_LINK(addr) ((addr) - PHYS_OFFSET)
+#define LINK_TO_LOAD(addr) ((addr) + PHYS_OFFSET)
+
+pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
+stage1_pgtbl_root[PGTBL_ENTRY_AMOUNT];
+
+pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
+stage1_pgtbl_nonroot[PGTBL_INITIAL_COUNT * PGTBL_ENTRY_AMOUNT];
+
+#define HANDLE_PGTBL()                                                      \
+    index =  pt_index(curr_lvl_num, page_addr);                             \
+    if ( pte_is_valid(pgtbl[index]) ) {                                     \
+        /* Find L{ 0-3 } table */                                           \
+        pgtbl = (pte_t *)pte_to_paddr(pgtbl[index]);                        \
+    } else {                                                                \
+        /* Allocate new L{0-3} page table */                                \
+        if ( mmu_desc->pgtbl_count == PGTBL_INITIAL_COUNT ) {               \
+            early_printk("(XEN) No initial table available\n");             \
+            /* panic(), BUG() or ASSERT() aren't ready now. */              \
+            die();                                                          \
+        }                                                                   \
+        mmu_desc->pgtbl_count++;                                            \
+        pgtbl[index] = paddr_to_pte((unsigned long)mmu_desc->next_pgtbl,    \
+                                    PTE_VALID);                             \
+        pgtbl = mmu_desc->next_pgtbl;                                       \
+        mmu_desc->next_pgtbl += PGTBL_ENTRY_AMOUNT;                         \
+    }
+
+static void __init setup_initial_mapping(struct mmu_desc *mmu_desc,
+                                  unsigned long map_start,
+                                  unsigned long map_end,
+                                  unsigned long pa_start,
+                                  unsigned long permission)
+{
+    uint32_t index;
+    pte_t *pgtbl;
+    unsigned long page_addr;
+    unsigned int curr_lvl_num;
+    pte_t pte_to_be_written;
+    unsigned long paddr;
+
+    if ( (unsigned long)_start % XEN_PT_LEVEL_SIZE(0) ) {
+        early_printk("(XEN) Xen should be loaded at 4k boundary\n");
+        die();
+    }
+
+    if ( map_start & ~XEN_PT_LEVEL_MAP_MASK(0) ||
+        pa_start & ~XEN_PT_LEVEL_MAP_MASK(0) ) {
+
+        early_printk("(XEN) map and pa start addresses should be aligned\n");
+        /* panic(), BUG() or ASSERT() aren't ready now. */
+        die();
+    }
+
+    page_addr = map_start;
+    while ( page_addr < map_end ) {
+        pgtbl = mmu_desc->pgtbl_base;
+
+        switch (mmu_desc->num_levels)
+        {
+        case 4: /* Level 3 */
+            curr_lvl_num = 3;
+            HANDLE_PGTBL();
+        case 3: /* Level 2 */
+            curr_lvl_num = 2;
+            HANDLE_PGTBL();
+        case 2: /* Level 1 */
+            curr_lvl_num = 1;
+            HANDLE_PGTBL();
+        case 1: /* Level 0 */
+            index = pt_index(0, page_addr);
+            paddr = (page_addr - map_start) + pa_start;
+            pte_to_be_written = paddr_to_pte(paddr, permission);
+
+            if ( !pte_is_valid(pgtbl[index]) )
+                pgtbl[index] = pte_to_be_written;
+            else {
+                /*
+                 * get an adresses of current pte and that one to
+                 * be written without permission flags
+                 */
+                unsigned long curr_pte =
+                    (unsigned long)&pgtbl[index] & (PTE_PPN_SHIFT - 1);
+                pte_to_be_written &= (PTE_PPN_SHIFT - 1);
+
+                if ( curr_pte != pte_to_be_written ) {
+                    early_printk("PTE that is intended to write isn't the \
+                                 same that the once are overwriting\n");
+                    /* panic(), <asm/bug.h> aren't ready now. */
+                    die();
+                }
+            }
+        }
+
+        /* Point to next page */
+        page_addr += XEN_PT_LEVEL_SIZE(0);
+    }
+}
+
+static void __init calc_pgtbl_lvls_num(struct  mmu_desc *mmu_desc)
+{
+    unsigned long satp_mode = RV_STAGE1_MODE;
+
+    /* Number of page table levels */
+    switch (satp_mode) {
+    case SATP_MODE_SV32:
+        mmu_desc->num_levels = 2;
+        break;
+    case SATP_MODE_SV39:
+        mmu_desc->num_levels = 3;
+        break;
+    case SATP_MODE_SV48:
+        mmu_desc->num_levels = 4;
+        break;
+    default:
+        early_printk("(XEN) Unsupported SATP_MODE\n");
+        while (1);
+    }
+}
+
+static void __init setup_ptes_permission(struct mmu_desc *mmu_desc)
+{
+    pte_t *pgtbl;
+    uint32_t index;
+    uint32_t permissions = PTE_VALID;
+    unsigned long start = LOAD_TO_LINK((unsigned long)_start);
+    unsigned long end   = LOAD_TO_LINK((unsigned long)_end);
+
+    while ( start < end )
+    {
+        pgtbl = (pte_t *) mmu_desc->pgtbl_base;
+
+        switch (mmu_desc->num_levels)
+        {
+        case 4: /* find Level 3 page table*/
+            index = pt_index(3, start);
+            pgtbl = (pte_t *)pte_to_paddr(pgtbl[index]);
+        case 3: /* find level 2 page table */
+            index = pt_index(2, start);
+            pgtbl = (pte_t *)pte_to_paddr(pgtbl[index]);
+        case 2: /* find level 1 page table */
+            index = pt_index(1, start);
+            pgtbl = (pte_t *)pte_to_paddr(pgtbl[index]);
+        case 1: /* find level 0 page table */
+            index = pt_index(0, start);
+
+            if ( is_kernel_text(LINK_TO_LOAD(start)) ||
+                 is_kernel_inittext(LINK_TO_LOAD(start)) )
+                permissions |= PTE_EXECUTABLE | PTE_READABLE;
+
+            if ( is_kernel_rodata(LINK_TO_LOAD(start)) )
+                permissions |= PTE_READABLE;
+
+            pgtbl[index] |= permissions;
+        }
+
+        start += PAGE_SIZE;
+    }
+}
+
+/*
+ * setup_initial_pagetables:
+ *
+ * Build the page tables for Xen that map the following:
+ *  1. Calculate page table's level numbers.
+ *  2. Init mmu description structure.
+ *  3. Check that linker addresses range doesn't overlap
+ *     with load addresses range
+ *  4. Map all linker addresses and load addresses ( it shouldn't
+ *     be 1:1 mapped and will be 1:1 mapped only in case if
+ *     linker address is equal to load address ) with
+ *     RW permissions by default.
+ *  5. Setup proper PTE permissions for each section.
+ */
+void __init setup_initial_pagetables(void)
+{
+    struct mmu_desc mmu_desc = { 0, 0, NULL, 0 };
+
+    /*
+     * Access to _{stard, end } is always PC-relative
+     * thereby when access them we will get load adresses
+     * of start and end of Xen
+     * To get linker addresses LOAD_TO_LINK() is required
+     * to use
+     */
+    unsigned long load_start    = (unsigned long)_start;
+    unsigned long load_end      = (unsigned long)_end;
+    unsigned long linker_start  = LOAD_TO_LINK(load_start);
+    unsigned long linker_end    = LOAD_TO_LINK(load_end);
+
+    if ( (linker_start != load_start) &&
+         (linker_start <= load_end) && (load_start <= linker_end) ) {
+        early_printk("(XEN) linker and load address ranges overlap\n");
+        die();
+    }
+
+    calc_pgtbl_lvls_num(&mmu_desc);
+
+    mmu_desc.pgtbl_base = stage1_pgtbl_root;
+    mmu_desc.next_pgtbl = stage1_pgtbl_nonroot;
+
+    setup_initial_mapping(&mmu_desc,
+                          linker_start,
+                          linker_end,
+                          load_start,
+                          PTE_LEAF_DEFAULT);
+
+    setup_ptes_permission(&mmu_desc);
+}
+
+void __init enable_mmu()
+{
+    /*
+     * Calculate a linker time address of the mmu_is_enabled
+     * label and update CSR_STVEC with it.
+     * MMU is configured in a way where linker addresses are mapped
+     * on load addresses so in a case when linker addresses are not equal
+     * to load addresses, after MMU is enabled, it will cause
+     * an exception and jump to linker time addresses.
+     * Otherwise if load addresses are equal to linker addresses the code
+     * after mmu_is_enabled label will be executed without exception.
+     */
+    csr_write(CSR_STVEC, LOAD_TO_LINK((unsigned long)&&mmu_is_enabled));
+
+    /* Ensure page table writes precede loading the SATP */
+    asm volatile("sfence.vma");
+
+    /* Enable the MMU and load the new pagetable for Xen */
+    csr_write(CSR_SATP,
+              ((unsigned long)stage1_pgtbl_root >> PAGE_SHIFT) | RV_STAGE1_MODE << SATP_MODE_SHIFT);
+
+    asm volatile(".align 2");
+mmu_is_enabled:
+    /*
+     * Stack should be re-inited as:
+     * 1. Right now an address of the stack is relative to load time
+     *    addresses what will cause an issue in case of load start address
+     *    isn't equal to linker start address.
+     * 2. Addresses in stack are all load time relative which can be an
+     *    issue in case when load start address isn't equal to linker
+     *    start address.
+     */
+    asm volatile ("mv sp, %0" : : "r"((unsigned long)cpu0_boot_stack + STACK_SIZE));
+
+    /*
+     * We can't return to the caller because the stack was reseted
+     * and it may have stash some variable on the stack.
+     * Jump to a brand new function as the stack was reseted
+    */
+    cont_after_mmu_is_enabled();
+}
+
diff --git a/xen/arch/riscv/riscv64/head.S b/xen/arch/riscv/riscv64/head.S
index 8887f0cbd4..b3309d902c 100644
--- a/xen/arch/riscv/riscv64/head.S
+++ b/xen/arch/riscv/riscv64/head.S
@@ -1,4 +1,5 @@
 #include <asm/asm.h>
+#include <asm/asm-offsets.h>
 #include <asm/riscv_encoding.h>
 
         .section .text.header, "ax", %progbits
@@ -32,3 +33,4 @@ ENTRY(start)
         add     sp, sp, t0
 
         tail    start_xen
+
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 3786f337e0..315804aa87 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -2,6 +2,7 @@
 #include <xen/init.h>
 
 #include <asm/early_printk.h>
+#include <asm/mm.h>
 
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
@@ -26,3 +27,13 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 
     unreachable();
 }
+
+void __init noreturn cont_after_mmu_is_enabled(void)
+{
+    early_printk("All set up\n");
+
+    for ( ;; )
+        asm volatile ("wfi");
+
+    unreachable();
+}
diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index f299ea8422..54d4236866 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -136,6 +136,7 @@ SECTIONS
     . = ALIGN(POINTER_ALIGN);
     __init_end = .;
 
+    . = ALIGN(PAGE_SIZE);
     .bss : {                     /* BSS */
         __bss_start = .;
         *(.bss.stack_aligned)
@@ -169,3 +170,5 @@ SECTIONS
 
 ASSERT(!SIZEOF(.got),      ".got non-empty")
 ASSERT(!SIZEOF(.got.plt),  ".got.plt non-empty")
+
+ASSERT(_end - _start <= MB(2), "Xen too large for early-boot assumptions")
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 17:17:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 17:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515390.798200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgqT3-0004YW-4r; Mon, 27 Mar 2023 17:17:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515390.798200; Mon, 27 Mar 2023 17:17: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 1pgqT2-0004Xz-Uj; Mon, 27 Mar 2023 17:17:12 +0000
Received: by outflank-mailman (input) for mailman id 515390;
 Mon, 27 Mar 2023 17:17: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=16zh=7T=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pgqT2-0004V7-2c
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 17:17:12 +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 357665bb-ccc3-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 19:17:10 +0200 (CEST)
Received: by mail-lj1-x235.google.com with SMTP id q14so9796728ljm.11
 for <xen-devel@lists.xenproject.org>; Mon, 27 Mar 2023 10:17:10 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a4-20020a2e9804000000b002a03f9ffecesm2463322ljj.89.2023.03.27.10.17.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Mar 2023 10:17:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 357665bb-ccc3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679937430;
        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=rbeKnvVUMcAJnxyhEQPs0rd3V5kkb0qYLldQD4puS1A=;
        b=eVgC80Jsj0cPzOSnLePaPyKYJfNWCw/3FWy+Myb3XlCPv4GhkiR52oW2owD+CaZL8Z
         GL+PU+iDtzMlHrdlD8YOPywlT76dVBc9jUmMMYa3HrTwpqtD5vnKa7PAWHFFP2YHo5os
         gXb3CyHRustHiwmBtv4elfTYGIxzZT5vMBjZA6+Fqmxlm0FhdKez7GOpPTlZ578cXPKS
         2rSbTABzHkEYzNvT7/pgeCOfY9lwKRhmh+YtKEBeO16fJ9jQRAEfUklALDodY1uf0akL
         QOOwq7Bonb/StystfewURdZxB9WPPEPMtrf+aE1c/cGIl/EbGbdHsNB6BHIaLx+DduKi
         cbAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679937430;
        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=rbeKnvVUMcAJnxyhEQPs0rd3V5kkb0qYLldQD4puS1A=;
        b=Ko083rRn00JjDGabvvXRm6OqwyOPZfCgjtPSeKAhXxldjcCPzLdyv8mrJYBpgCorMX
         6Fy2S06oGTmqetOJDB+Ul6zlNcYjrGcpKerAhwD8RSdoW5Qu2tufKS46pWCRG9l087HQ
         AgUHLM6wRfOZorf+vgVO8saNe/zhuiMemkUi3kK3jqw+dIoEV3Fgo9AvdJG4VPbF1BwK
         fDlHtsIklwuqoPRbsQEXEwPwOBH7KcfgzjfAqE5kBYDVXApPCpD5DHCUGPRGxuuDxjFT
         Wfpa+nRVJY8cgoslZN1XKsFAx26YND3uhnqOIEfAfExy3ENqQvOKMA56+Qletiv8DWeY
         5xvg==
X-Gm-Message-State: AAQBX9fAPp4a1fkeUaccx1QuBttsVbCou5NxHyOamSf6fhQxmjJHmxkf
	J8XhbzhzEItYE0DiYvlN/wl95brYEbrCfA==
X-Google-Smtp-Source: AKy350b5WQkGBv+fTEeQeW9i8xlTs0hm2AmzvhhBG/NRVq0ASdM2pREuYBylkwlkuB2gmKGtmt8dsQ==
X-Received: by 2002:a2e:9845:0:b0:29d:8a1d:35d with SMTP id e5-20020a2e9845000000b0029d8a1d035dmr3757623ljj.46.1679937430103;
        Mon, 27 Mar 2023 10:17:10 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v3 3/3] xen/riscv: remove dummy_bss variable
Date: Mon, 27 Mar 2023 20:17:05 +0300
Message-Id: <cd20a2127db8ac0893a1d84a9071d5dd7ba70efe.1679934166.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1679934166.git.oleksii.kurochko@gmail.com>
References: <cover.1679934166.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

After introduction of initial pagetables there is no any sense
in dummy_bss variable as bss section will not be empty anymore.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 * patch was introduced in the current one patch series (v3).
---
Changes in V2:
 * patch was introduced in the current one patch series (v2).
---
 xen/arch/riscv/setup.c | 8 --------
 1 file changed, 8 deletions(-)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index cf5dc5824e..845d18d86f 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -8,14 +8,6 @@
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
     __aligned(STACK_SIZE);
 
-/*  
- * To be sure that .bss isn't zero. It will simplify code of
- * .bss initialization.
- * TODO:
- *   To be deleted when the first real .bss user appears
- */
-int dummy_bss __attribute__((unused));
-
 void __init noreturn start_xen(unsigned long bootcpu_id,
                                paddr_t dtb_addr)
 {
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 17:17:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 17:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515391.798214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgqT5-0004z6-9X; Mon, 27 Mar 2023 17:17:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515391.798214; Mon, 27 Mar 2023 17: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 1pgqT5-0004yz-60; Mon, 27 Mar 2023 17:17:15 +0000
Received: by outflank-mailman (input) for mailman id 515391;
 Mon, 27 Mar 2023 17:17: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=16zh=7T=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pgqT3-0004VI-Tg
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 17:17:14 +0000
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com
 [2a00:1450:4864:20::22e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 22431cc7-ccc3-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 19:16:39 +0200 (CEST)
Received: by mail-lj1-x22e.google.com with SMTP id s20so9825911ljp.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Mar 2023 10:17:10 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a4-20020a2e9804000000b002a03f9ffecesm2463322ljj.89.2023.03.27.10.17.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Mar 2023 10:17:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22431cc7-ccc3-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679937429;
        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=bqsmroTuXUg+LgDnuSVJ1/S+aZdNxi6zAwGnWTYpKyM=;
        b=XEia3EuGQ0AchgPYH+GkGRmCkE1J0jYSyen/zqRSGbbVTMfLc6aPHVaVn2G/hjtLLF
         5I+hXSzKm+wB33gaVFm/32kXd8+g9bjGl/DE30fqdoi/Opou9f6k6d4D/R54v9eusQqB
         zUo+2NUUAm8YZo2O2suExGan1BaKG4T6sVKWXWFwU61ux/SvstcVAFR0Rqbpo6nEzohK
         N4a45vYpaz7/bLyMRCmlGcShRVKDlODPRgJKPcBv/6ScSM8gnP25u/uL8gMAeN1awT9x
         X6qoKFvX/3TzgqLbmfvvvHb1p/LLjvtCs92yk+OpxuKCnPB6lAoJl+wocNme4tVTU7Tm
         gX2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679937429;
        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=bqsmroTuXUg+LgDnuSVJ1/S+aZdNxi6zAwGnWTYpKyM=;
        b=CZfzVLIYSXKO+mCW9z64Aub31IiceuDgtcEaYPKoF7YzKAzqErcAIGM64/Qg/xhX6+
         /OIgJBaVxX7at85G/jNjA8O4p/4fKIw4POgtyX9vM/tuDZLGtbHLc12z3I5G+QS27fbq
         4nXYg8WRG4YEVF9V9zBowAjJwStLlzgg+ShO2vWR19JFvHaxPyF/Q6fSmG7ZW77WOiE2
         kdS6O8hagXOc5v5CnWv1FzO3i7j8UOxIElOCRQVg93Jppx7hA3Oipy1ZNXJ3NIaLZGFB
         z4Q8r5E0cwLszS5FrGJ5rgSmbc6kDIBv/s57edQY9GN97FXQ97r9TmPQx9mnkeZAH6s6
         RzSQ==
X-Gm-Message-State: AAQBX9cBnHX5reA7DW0fFgHN99WsU0C5R84CxjL2dBoZMuTDLjSTP1HL
	sifgF8DxoTkpvQRcfgUtI75+zz3JXJ19ig==
X-Google-Smtp-Source: AKy350abs7PbOM7g5y4Uu3KOLm+im98z8jetRJJvq/oXnyscuj3xWb2hohyM4dd4GIIfsgaT7BdFAA==
X-Received: by 2002:a2e:985a:0:b0:298:9fb5:9f20 with SMTP id e26-20020a2e985a000000b002989fb59f20mr4315654ljj.26.1679937429424;
        Mon, 27 Mar 2023 10:17:09 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v3 2/3] xen/riscv: setup initial pagetables
Date: Mon, 27 Mar 2023 20:17:04 +0300
Message-Id: <9bdc3c2e8c11209761f068eb5562c2bde017e248.1679934166.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1679934166.git.oleksii.kurochko@gmail.com>
References: <cover.1679934166.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch does two thing:
1. Setup initial pagetables.
2. Enable MMU which end up with code in
   cont_after_mmu_is_enabled()

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - update the commit message that MMU is also enabled here
 - remove early_printk("All set up\n") as it was moved to
   cont_after_mmu_is_enabled() function after MMU is enabled.
---
Changes in V2:
 * Update the commit message
---
 xen/arch/riscv/setup.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 315804aa87..cf5dc5824e 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -21,7 +21,10 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
 {
     early_printk("Hello from C env\n");
 
-    early_printk("All set up\n");
+    setup_initial_pagetables();
+
+    enable_mmu();
+
     for ( ;; )
         asm volatile ("wfi");
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 17:17:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 17:17:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515389.798194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgqT2-0004VQ-QH; Mon, 27 Mar 2023 17:17:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515389.798194; Mon, 27 Mar 2023 17:17:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgqT2-0004VJ-NX; Mon, 27 Mar 2023 17:17:12 +0000
Received: by outflank-mailman (input) for mailman id 515389;
 Mon, 27 Mar 2023 17:17: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=16zh=7T=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pgqT1-0004V7-LB
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 17:17:11 +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 3457a44a-ccc3-11ed-85db-49a42c6b2330;
 Mon, 27 Mar 2023 19:17:09 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id e11so9804003lji.8
 for <xen-devel@lists.xenproject.org>; Mon, 27 Mar 2023 10:17:08 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a4-20020a2e9804000000b002a03f9ffecesm2463322ljj.89.2023.03.27.10.17.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Mar 2023 10:17:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3457a44a-ccc3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679937428;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=ls9nZ7WlKJ5lShAgqD+7Sylwd3APCPa2spkr26tAeoc=;
        b=VwdMtPdlDl7YEBoMYsSrqNvWpTL1b7VqPiG7RHqMC2NTNgeLnEcN3T/T7o2NB85vDa
         9svzDWlBHXFrLcBA8RWIzJkgqgT9XXxdYNhxQr6KslcTzUnf2qTtOKO9yemIRS7IgaQS
         wlnCtdgqQoEwIX1LhCyJIAarXnKt5FGVPKU0vpeiaH+AjLNLnLYXQe7ErMyKQs9sazVo
         KoPSkUNVtmMma2MZSa+zh5hpNlgM416dVXAxIXXfOpGZxjVyWiQxPOsJ1s9CmW0XvxSh
         k89I8vIBh9d3iUzBTRxiGoLJECAMhBtorXsYPhlE0/8CPK3h5gYlyyb4MdYuE9K5uyQa
         jkgQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679937428;
        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=ls9nZ7WlKJ5lShAgqD+7Sylwd3APCPa2spkr26tAeoc=;
        b=OxIwD3wJ1dHfyQrU+8MO8uFTLTGYWHySectylORPqGBGE8qbujI+41lYtJR/cQU3M6
         0DspOo4Icaiw69NyMaf5bO0Ayn+gtjs2sTQiY74tbry7Fez7yQ4tlKiJNEeTUulCtTn5
         OfVr339Tqys7YvOfrAJm0mxtDKOzJEsF1XdKJbCBSZbuhroElHvAF+uXzhFh80rwGLKH
         +tF/waf/s6Sk+zee5sv7XspOSpqYsLkEKN2rRdvDhEHBsC42/IPwsrtolYkCOucDpdaQ
         xJ0o7PwipFYn+8MYGywqnLgLb71A51N//q/XwmN1j6cVv5569xKIuNG9K1jmCKyJFtE0
         MVXA==
X-Gm-Message-State: AAQBX9eh5QBTNzmkybwDE7B1Z0vIlo+gbNnJb6fwXETtFsHfSaI7R7is
	i+JNBIzaRLsGwXji3HJ6VcOTHHa+kuPxeQ==
X-Google-Smtp-Source: AKy350aEcpiU6kruIGPJ2gqEiIpsR0PyOsjBWcpCBLaHqMrwtxdmGtM5Vlgtg/rPiX4fOupt4V1u7Q==
X-Received: by 2002:a2e:8eda:0:b0:2a0:201d:4c32 with SMTP id e26-20020a2e8eda000000b002a0201d4c32mr3621597ljl.30.1679937427997;
        Mon, 27 Mar 2023 10:17:07 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v3 0/3] enable MMU for RISC-V
Date: Mon, 27 Mar 2023 20:17:02 +0300
Message-Id: <cover.1679934166.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch series is based on top patches [1] and [2]

The patch series introduces the following things:
1. Functionality to build the page tables for Xen that map
   link-time to physical-time location.
2. Check that Xen is less then page size.
3. Check that load addresses don't overlap with linker addresses.
4. Prepare things for proper switch to virtual memory world.
5. Load the built page table into the SATP
6. Enable MMU.

[1] https://lore.kernel.org/xen-devel/2785518800dce64fafb3096480a5ae4c4e026bcb.1678970065.git.oleksii.kurochko@gmail.com/
[2] https://lore.kernel.org/xen-devel/7c066d6dcc0618749df04785b34b93819148087d.1678970065.git.oleksii.kurochko@gmail.com/

---
Changes in V3:
  * Update the cover letter message: the patch series isn't depend on
    [ RISC-V basic exception handling implementation ] as it was decied
    to enable MMU before implementation of exception handling. Also MMU
    patch series is based on two other patches which weren't merged [1]
    and [2]
  - Update the commit message for [ [PATCH v3 1/3]
    xen/riscv: introduce setup_initial_pages ].
  - update definition of pte_t structure to have a proper size of pte_t in case of RV32.
  - update asm/mm.h with new functions and remove unnecessary 'extern'.
  - remove LEVEL_* macros as only XEN_PT_LEVEL_* are enough.
  - update paddr_to_pte() to receive permissions as an argument.
  - add check that map_start & pa_start is properly aligned.
  - move  defines PAGETABLE_ORDER, PAGETABLE_ENTRIES, PTE_PPN_SHIFT to <asm/page-bits.h>
  - Rename PTE_SHIFT to PTE_PPN_SHIFT
  - refactor setup_initial_pagetables: map all LINK addresses to LOAD addresses and after
    setup PTEs permission for sections; update check that linker and load addresses don't
    overlap.
  - refactor setup_initial_mapping: allocate pagetable 'dynamically' if it is necessary.
  - rewrite enable_mmu in C; add the check that map_start and pa_start are aligned on 4k
    boundary.
  - update the comment for setup_initial_pagetable funcion
  - Add RV_STAGE1_MODE to support different MMU modes.
  - update the commit message that MMU is also enabled here
  - set XEN_VIRT_START very high to not overlap with load address range
  - align bss section
---
Changes in V2:
  * Remove {ZEROETH,FIRST,...}_{SHIFT,MASK, SIZE,...} and
    introduce instead of them XEN_PT_LEVEL_*() and LEVEL_*
  * Rework pt_linear_offset() and pt_index based on  XEN_PT_LEVEL_*()
  * Remove clear_pagetables() functions as pagetables were zeroed during
    .bss initialization
  * Rename _setup_initial_pagetables() to setup_initial_mapping()
  * Make PTE_DEFAULT equal to RX.
  * Update prototype of setup_initial_mapping(..., bool writable) -> 
    setup_initial_mapping(..., UL flags)  
  * Update calls of setup_initial_mapping according to new prototype
  * Remove unnecessary call of:
    _setup_initial_pagetables(..., load_addr_start, load_addr_end, load_addr_start, ...)
  * Define index* in the loop of setup_initial_mapping
  * Remove attribute "__attribute__((section(".entry")))" for setup_initial_pagetables()
    as we don't have such section
  * make arguments of paddr_to_pte() and pte_is_valid() as const.
  * use <xen/kernel.h> instead of declaring extern unsigned long _stext, 0etext, _srodata, _erodata
  * update  'extern unsigned long __init_begin' to 'extern unsigned long __init_begin[]'
  * use aligned() instead of "__attribute__((__aligned__(PAGE_SIZE)))"
  * set __section(".bss.page_aligned") for page tables arrays
  * fix identatations
  * Change '__attribute__((section(".entry")))' to '__init'
  * Remove alignment  of {map, pa}_start &= XEN_PT_LEVEL_MAP_MASK(0); in
    setup_inital_mapping() as they should be already aligned.
  * Remove clear_pagetables() as initial pagetables will be
    zeroed during bss initialization
  * Remove __attribute__((section(".entry")) for setup_initial_pagetables()
    as there is no such section in xen.lds.S
  * Update the argument of pte_is_valid() to "const pte_t *p"
  * Remove patch "[PATCH v1 3/3] automation: update RISC-V smoke test" from the patch series
    as it was introduced simplified approach for RISC-V smoke test by Andrew Cooper
  * Add patch [[xen/riscv: remove dummy_bss variable] as there is no any sense in
    dummy_bss variable after introduction of inittial page tables.
---

Oleksii Kurochko (3):
  xen/riscv: introduce setup_initial_pages
  xen/riscv: setup initial pagetables
  xen/riscv: remove dummy_bss variable

 xen/arch/riscv/Makefile                |   1 +
 xen/arch/riscv/include/asm/config.h    |  15 +-
 xen/arch/riscv/include/asm/mm.h        |   9 +
 xen/arch/riscv/include/asm/page-bits.h |  10 +
 xen/arch/riscv/include/asm/page.h      |  62 ++++++
 xen/arch/riscv/mm.c                    | 277 +++++++++++++++++++++++++
 xen/arch/riscv/riscv64/head.S          |   2 +
 xen/arch/riscv/setup.c                 |  22 +-
 xen/arch/riscv/xen.lds.S               |   3 +
 9 files changed, 392 insertions(+), 9 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/mm.h
 create mode 100644 xen/arch/riscv/include/asm/page.h
 create mode 100644 xen/arch/riscv/mm.c

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 18:45:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 18:45:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515416.798293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgrqf-0000jw-6e; Mon, 27 Mar 2023 18:45:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515416.798293; Mon, 27 Mar 2023 18: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 1pgrqf-0000jl-3F; Mon, 27 Mar 2023 18:45:41 +0000
Received: by outflank-mailman (input) for mailman id 515416;
 Mon, 27 Mar 2023 18:45: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 1pgrqd-0000YR-Eo
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 18:45: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 1pgrqc-0004Ph-0m; Mon, 27 Mar 2023 18:45:38 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pgrqb-00044j-PN; Mon, 27 Mar 2023 18:45: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:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=8HcbJC+XqqaA7nFlJfe2PeQAu9eLnYEVh/AG6X4EX/o=; b=3mPcLOCxVuWw+L+zoshgZ0DJFv
	jrpjs41IONDOp7lXI+wxUjDosd8yAksFYzE7YoeyESqJbzXO7OsjUzvxH+1u7kV+tCVtvFtiF08PU
	29CUMOtxo8p0qVFd38PcvGUGwEFd0g5w94yozAqztk+DbsHHiExpR0vBB7h9oTqyU/KA=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.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>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 6/7] xen/x86: Replace GPL v2.0+ license boilerplate with an SPDX tag in *.c
Date: Mon, 27 Mar 2023 19:45:19 +0100
Message-Id: <20230327184520.81828-7-julien@xen.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230327184520.81828-1-julien@xen.org>
References: <20230327184520.81828-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

It is easier to understand the license of a file when using SPDX.

This is replacing the below pattern with the SPDX tag GPL-2.0-or-later
in xen/arch/x86/*.c:

 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; If not, see <http://www.gnu.org/licenses/>.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---
    Changes in v2:
        - The license is GPLv2.0+ rather than GPLv2.0

42sh> cat gpl-2.0+-pattern-1.txt
 * 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/>.
42sh> find xen/arch/x86/ -name '*.c' -exec replace_license.py gpl-2.0+-pattern-1.txt GPL-2.0-or-later {} \;
---
 xen/arch/x86/alternative.c             | 14 +-------------
 xen/arch/x86/cpu/mcheck/amd_nonfatal.c | 14 +-------------
 xen/arch/x86/cpu/mcheck/mce_amd.c      | 14 +-------------
 xen/arch/x86/cpu/mcheck/vmce.c         | 14 +-------------
 xen/arch/x86/guest/hyperv/hyperv.c     | 14 +-------------
 xen/arch/x86/guest/hyperv/tlb.c        | 14 +-------------
 xen/arch/x86/guest/hyperv/util.c       | 14 +-------------
 xen/arch/x86/guest/hypervisor.c        | 14 +-------------
 xen/arch/x86/guest/xen/pvh-boot.c      | 14 +-------------
 xen/arch/x86/guest/xen/xen.c           | 14 +-------------
 xen/arch/x86/hvm/grant_table.c         | 14 +-------------
 xen/arch/x86/hvm/hypercall.c           | 14 +-------------
 xen/arch/x86/hypercall.c               | 14 +-------------
 xen/arch/x86/mm.c                      | 14 +-------------
 xen/arch/x86/mm/guest_walk.c           | 14 +-------------
 xen/arch/x86/mm/hap/hap.c              | 14 +-------------
 xen/arch/x86/mm/hap/nested_hap.c       | 14 +-------------
 xen/arch/x86/mm/mem_access.c           | 14 +-------------
 xen/arch/x86/mm/mem_paging.c           | 14 +-------------
 xen/arch/x86/mm/mem_sharing.c          | 14 +-------------
 xen/arch/x86/mm/nested.c               | 14 +-------------
 xen/arch/x86/mm/p2m-basic.c            | 14 +-------------
 xen/arch/x86/mm/p2m-pod.c              | 14 +-------------
 xen/arch/x86/mm/p2m-pt.c               | 14 +-------------
 xen/arch/x86/mm/p2m.c                  | 14 +-------------
 xen/arch/x86/mm/paging.c               | 14 +-------------
 xen/arch/x86/mm/physmap.c              | 14 +-------------
 xen/arch/x86/mm/shadow/common.c        | 14 +-------------
 xen/arch/x86/mm/shadow/hvm.c           | 14 +-------------
 xen/arch/x86/mm/shadow/multi.c         | 14 +-------------
 xen/arch/x86/mm/shadow/pv.c            | 14 +-------------
 xen/arch/x86/mm/shadow/set.c           | 14 +-------------
 xen/arch/x86/msr.c                     | 14 +-------------
 xen/arch/x86/pv/emul-gate-op.c         | 14 +-------------
 xen/arch/x86/pv/emul-inv-op.c          | 14 +-------------
 xen/arch/x86/pv/emul-priv-op.c         | 14 +-------------
 xen/arch/x86/pv/emulate.c              | 14 +-------------
 xen/arch/x86/pv/hypercall.c            | 14 +-------------
 xen/arch/x86/pv/misc-hypercalls.c      | 14 +-------------
 xen/arch/x86/pv/ro-page-fault.c        | 14 +-------------
 xen/arch/x86/pv/shim.c                 | 14 +-------------
 xen/arch/x86/pv/traps.c                | 14 +-------------
 xen/arch/x86/smpboot.c                 | 14 +-------------
 xen/arch/x86/spec_ctrl.c               | 14 +-------------
 xen/arch/x86/traps.c                   | 14 +-------------
 xen/arch/x86/x86_emulate/x86_emulate.c | 14 +-------------
 46 files changed, 46 insertions(+), 598 deletions(-)

diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
index 0c6fc7b4fb0c..2383fa66294c 100644
--- a/xen/arch/x86/alternative.c
+++ b/xen/arch/x86/alternative.c
@@ -1,18 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * alternative.c
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * 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/delay.h>
diff --git a/xen/arch/x86/cpu/mcheck/amd_nonfatal.c b/xen/arch/x86/cpu/mcheck/amd_nonfatal.c
index efb45c931e1f..7d48c9ab5f7a 100644
--- a/xen/arch/x86/cpu/mcheck/amd_nonfatal.c
+++ b/xen/arch/x86/cpu/mcheck/amd_nonfatal.c
@@ -1,19 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * MCA implementation for AMD CPUs
  * Copyright (c) 2007 Advanced Micro Devices, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 
diff --git a/xen/arch/x86/cpu/mcheck/mce_amd.c b/xen/arch/x86/cpu/mcheck/mce_amd.c
index d7ae8919df77..3c374fd4e4e9 100644
--- a/xen/arch/x86/cpu/mcheck/mce_amd.c
+++ b/xen/arch/x86/cpu/mcheck/mce_amd.c
@@ -1,19 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * common MCA implementation for AMD CPUs.
  * Copyright (c) 2012-2014 Advanced Micro Devices, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 /* K8 common MCA documentation published at
diff --git a/xen/arch/x86/cpu/mcheck/vmce.c b/xen/arch/x86/cpu/mcheck/vmce.c
index af30811afd44..40cc2c5230d7 100644
--- a/xen/arch/x86/cpu/mcheck/vmce.c
+++ b/xen/arch/x86/cpu/mcheck/vmce.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * vmce.c - provide software emulated vMCE support to guest
  *
  * Copyright (C) 2010, 2011 Jiang, Yunhong <yunhong.jiang@intel.com>
  * Copyright (C) 2012, 2013 Liu, Jinsong <jinsong.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 <xen/init.h>
diff --git a/xen/arch/x86/guest/hyperv/hyperv.c b/xen/arch/x86/guest/hyperv/hyperv.c
index b101ba3080b4..aacc7a61670b 100644
--- a/xen/arch/x86/guest/hyperv/hyperv.c
+++ b/xen/arch/x86/guest/hyperv/hyperv.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/guest/hyperv/hyperv.c
  *
  * Support for detecting and running under Hyper-V.
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2019 Microsoft.
  */
 #include <xen/init.h>
diff --git a/xen/arch/x86/guest/hyperv/tlb.c b/xen/arch/x86/guest/hyperv/tlb.c
index f249b259253d..ef930efa954b 100644
--- a/xen/arch/x86/guest/hyperv/tlb.c
+++ b/xen/arch/x86/guest/hyperv/tlb.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/guest/hyperv/tlb.c
  *
  * Support for TLB management using hypercalls
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2020 Microsoft.
  */
 
diff --git a/xen/arch/x86/guest/hyperv/util.c b/xen/arch/x86/guest/hyperv/util.c
index 2c5f421b7bd9..a88699e818b7 100644
--- a/xen/arch/x86/guest/hyperv/util.c
+++ b/xen/arch/x86/guest/hyperv/util.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/guest/hyperv/util.c
  *
  * Hyper-V utility functions
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2020 Microsoft.
  */
 
diff --git a/xen/arch/x86/guest/hypervisor.c b/xen/arch/x86/guest/hypervisor.c
index 366af1d65001..b8549a131a5a 100644
--- a/xen/arch/x86/guest/hypervisor.c
+++ b/xen/arch/x86/guest/hypervisor.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/guest/hypervisor.c
  *
  * Support for detecting and running under a hypervisor.
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2019 Microsoft.
  */
 #include <xen/cpumask.h>
diff --git a/xen/arch/x86/guest/xen/pvh-boot.c b/xen/arch/x86/guest/xen/pvh-boot.c
index 498625eae0a3..9cbe87b61bdd 100644
--- a/xen/arch/x86/guest/xen/pvh-boot.c
+++ b/xen/arch/x86/guest/xen/pvh-boot.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/guest/pvh-boot.c
  *
  * PVH boot time support
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017 Citrix Systems Ltd.
  */
 #include <xen/init.h>
diff --git a/xen/arch/x86/guest/xen/xen.c b/xen/arch/x86/guest/xen/xen.c
index 9c2defaa6621..f93dfc89f724 100644
--- a/xen/arch/x86/guest/xen/xen.c
+++ b/xen/arch/x86/guest/xen/xen.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/guest/xen.c
  *
  * Support for detecting and running under Xen.
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017 Citrix Systems Ltd.
  */
 #include <xen/event.h>
diff --git a/xen/arch/x86/hvm/grant_table.c b/xen/arch/x86/hvm/grant_table.c
index b7a896ea5855..30d51d54a949 100644
--- a/xen/arch/x86/hvm/grant_table.c
+++ b/xen/arch/x86/hvm/grant_table.c
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/hvm/grant_table.c
  *
  * Grant table interfaces for HVM guests
  *
  * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.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 <xen/types.h>
diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index 405d0a95afd8..20d266ffd53a 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/hvm/hypercall.c
  *
  * HVM hypercall dispatching routines
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017 Citrix Systems Ltd.
  */
 #include <xen/lib.h>
diff --git a/xen/arch/x86/hypercall.c b/xen/arch/x86/hypercall.c
index 6b73cff9b9ff..cc9a6a9d59a0 100644
--- a/xen/arch/x86/hypercall.c
+++ b/xen/arch/x86/hypercall.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/hypercall.c
  *
  * Common x86 hypercall infrastructure.
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2015,2016 Citrix Systems Ltd.
  */
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 0fe14faa5fa7..daa5fa78d1ac 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm.c
  *
  * Copyright (c) 2002-2005 K A Fraser
  * Copyright (c) 2004 Christian Limpach
- *
- * 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/>.
  */
 
 /*
diff --git a/xen/arch/x86/mm/guest_walk.c b/xen/arch/x86/mm/guest_walk.c
index 76b4e0425887..fe7393334fcb 100644
--- a/xen/arch/x86/mm/guest_walk.c
+++ b/xen/arch/x86/mm/guest_walk.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/guest_walk.c
  *
@@ -6,19 +7,6 @@
  * Parts of this code are Copyright (c) 2006 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 <xen/types.h>
diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
index 16e9c3325f9b..de1b8189d924 100644
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/hap/hap.c
  *
  * hardware assisted paging
  * Copyright (c) 2007 Advanced Micro Devices (Wei Huang)
  * Parts of this code are Copyright (c) 2007 by XenSource Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/types.h>
diff --git a/xen/arch/x86/mm/hap/nested_hap.c b/xen/arch/x86/mm/hap/nested_hap.c
index 098e8e5d4ca9..ee78a797d1a4 100644
--- a/xen/arch/x86/mm/hap/nested_hap.c
+++ b/xen/arch/x86/mm/hap/nested_hap.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/hap/nested_hap.c
  *
  * Code for Nested Virtualization
  * Copyright (c) 2011 Advanced Micro Devices
- *
- * 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 <xen/vm_event.h>
diff --git a/xen/arch/x86/mm/mem_access.c b/xen/arch/x86/mm/mem_access.c
index f3aed9fcc966..4b03effaaae7 100644
--- a/xen/arch/x86/mm/mem_access.c
+++ b/xen/arch/x86/mm/mem_access.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/mem_access.c
  *
@@ -6,19 +7,6 @@
  * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 <xen/guest_access.h> /* copy_from_guest() */
diff --git a/xen/arch/x86/mm/mem_paging.c b/xen/arch/x86/mm/mem_paging.c
index 01281f786ee0..2c2b34ccf60a 100644
--- a/xen/arch/x86/mm/mem_paging.c
+++ b/xen/arch/x86/mm/mem_paging.c
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/mem_paging.c
  *
  * Memory paging support.
  *
  * Copyright (c) 2009 Citrix Systems, Inc. (Patrick Colp)
- *
- * 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/>.
  */
 
 
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 649d93dc5444..a7f94bced46c 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/mem_sharing.c
  *
@@ -5,19 +6,6 @@
  *
  * Copyright (c) 2011 GridCentric, Inc. (Adin Scannell & Andres Lagar-Cavilla)
  * Copyright (c) 2009 Citrix Systems, Inc. (Grzegorz Milos)
- *
- * 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 <xen/types.h>
diff --git a/xen/arch/x86/mm/nested.c b/xen/arch/x86/mm/nested.c
index fab62b2b2dc1..03741ffae441 100644
--- a/xen/arch/x86/mm/nested.c
+++ b/xen/arch/x86/mm/nested.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/nested.c
  *
@@ -6,19 +7,6 @@
  * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 <xen/sched.h>
diff --git a/xen/arch/x86/mm/p2m-basic.c b/xen/arch/x86/mm/p2m-basic.c
index 47b780d6d63a..8599bd15c61a 100644
--- a/xen/arch/x86/mm/p2m-basic.c
+++ b/xen/arch/x86/mm/p2m-basic.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/p2m-basic.c
  *
@@ -8,19 +9,6 @@
  * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 <xen/event.h>
diff --git a/xen/arch/x86/mm/p2m-pod.c b/xen/arch/x86/mm/p2m-pod.c
index c75a60c19fba..9969eb45fa8c 100644
--- a/xen/arch/x86/mm/p2m-pod.c
+++ b/xen/arch/x86/mm/p2m-pod.c
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/p2m-pod.c
  *
  * Populate-on-demand p2m entries.
  *
  * Copyright (c) 2009-2011 Citrix Systems, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License 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 <xen/event.h>
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index cd1af33b6772..6d1bb5daadb9 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/p2m-pt.c
  *
@@ -9,19 +10,6 @@
  * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 <xen/vm_event.h>
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index 7e481aec380a..714358f953f2 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/p2m.c
  *
@@ -8,19 +9,6 @@
  * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 <xen/iommu.h>
diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index ff5b480677ca..9ec305730a6d 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/paging.c
  *
  * x86 specific paging support
  * Copyright (c) 2007 Advanced Micro Devices (Wei Huang)
  * Copyright (c) 2007 XenSource Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/init.h>
diff --git a/xen/arch/x86/mm/physmap.c b/xen/arch/x86/mm/physmap.c
index 2d267b42f73b..f1695e456e85 100644
--- a/xen/arch/x86/mm/physmap.c
+++ b/xen/arch/x86/mm/physmap.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/physmap.c
  *
@@ -6,19 +7,6 @@
  * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 <xen/iommu.h>
diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
index 1c1b0ad0d827..0f3a369d89c3 100644
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/shadow/common.c
  *
@@ -5,19 +6,6 @@
  * Parts of this code are Copyright (c) 2006 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 <xen/ioreq.h>
diff --git a/xen/arch/x86/mm/shadow/hvm.c b/xen/arch/x86/mm/shadow/hvm.c
index e2ee1c77056f..0bb341c13e0b 100644
--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 
 /******************************************************************************
  * arch/x86/mm/shadow/hvm.c
@@ -6,19 +7,6 @@
  * Parts of this code are Copyright (c) 2006 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 <xen/domain_page.h>
diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
index 8699de050127..6fd70cf3f280 100644
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/shadow/multi.c
  *
@@ -5,19 +6,6 @@
  * Parts of this code are Copyright (c) 2006 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 <xen/types.h>
diff --git a/xen/arch/x86/mm/shadow/pv.c b/xen/arch/x86/mm/shadow/pv.c
index 0ef8e53d1279..345fd5419a13 100644
--- a/xen/arch/x86/mm/shadow/pv.c
+++ b/xen/arch/x86/mm/shadow/pv.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/shadow/pv.c
  *
@@ -5,19 +6,6 @@
  * Parts of this code are Copyright (c) 2006 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 <xen/types.h>
diff --git a/xen/arch/x86/mm/shadow/set.c b/xen/arch/x86/mm/shadow/set.c
index bd6c68b547c9..8b670b6bb555 100644
--- a/xen/arch/x86/mm/shadow/set.c
+++ b/xen/arch/x86/mm/shadow/set.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/shadow/set.c
  *
@@ -5,19 +6,6 @@
  * Parts of this code are Copyright (c) 2006 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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/>.
  */
 
 #define GUEST_PAGING_LEVELS 0
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index 7ddf0078c3a2..639d13992c52 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/msr.c
  *
  * Policy objects for Model-Specific Registers.
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017 Citrix Systems Ltd.
  */
 
diff --git a/xen/arch/x86/pv/emul-gate-op.c b/xen/arch/x86/pv/emul-gate-op.c
index 758a20ad9df4..107c58b3485c 100644
--- a/xen/arch/x86/pv/emul-gate-op.c
+++ b/xen/arch/x86/pv/emul-gate-op.c
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/pv/emul-gate-op.c
  *
  * Emulate gate op for PV guests
  *
  * Modifications to Linux original are copyright (c) 2002-2004, K A Fraser
- *
- * 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 <xen/err.h>
diff --git a/xen/arch/x86/pv/emul-inv-op.c b/xen/arch/x86/pv/emul-inv-op.c
index 2c07eed9a092..d89708afe94b 100644
--- a/xen/arch/x86/pv/emul-inv-op.c
+++ b/xen/arch/x86/pv/emul-inv-op.c
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/pv/emul-inv-op.c
  *
  * Emulate invalid op for PV guests
  *
  * Modifications to Linux original are copyright (c) 2002-2004, K A Fraser
- *
- * 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 <asm/pv/trace.h>
diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
index 5da00e24e4ff..4242456165e9 100644
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/pv/emul-priv-op.c
  *
  * Emulate privileged instructions for PV guests
  *
  * Modifications to Linux original are copyright (c) 2002-2004, K A Fraser
- *
- * 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 <xen/domain_page.h>
diff --git a/xen/arch/x86/pv/emulate.c b/xen/arch/x86/pv/emulate.c
index 0a7907ec5e84..e763571b38fc 100644
--- a/xen/arch/x86/pv/emulate.c
+++ b/xen/arch/x86/pv/emulate.c
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/pv/emulate.c
  *
  * Common PV emulation code
  *
  * Modifications to Linux original are copyright (c) 2002-2004, K A Fraser
- *
- * 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 <xen/guest_access.h>
diff --git a/xen/arch/x86/pv/hypercall.c b/xen/arch/x86/pv/hypercall.c
index 2eedfbfae864..4294e930128b 100644
--- a/xen/arch/x86/pv/hypercall.c
+++ b/xen/arch/x86/pv/hypercall.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/pv/hypercall.c
  *
  * PV hypercall dispatching routines
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017 Citrix Systems Ltd.
  */
 
diff --git a/xen/arch/x86/pv/misc-hypercalls.c b/xen/arch/x86/pv/misc-hypercalls.c
index aaaf70eb6330..b11bd718b7de 100644
--- a/xen/arch/x86/pv/misc-hypercalls.c
+++ b/xen/arch/x86/pv/misc-hypercalls.c
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/pv/misc-hypercalls.c
  *
  * Misc hypercall handlers
  *
  * Modifications to Linux original are copyright (c) 2002-2004, K A Fraser
- *
- * 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 <xen/hypercall.h>
diff --git a/xen/arch/x86/pv/ro-page-fault.c b/xen/arch/x86/pv/ro-page-fault.c
index 5963f5ee2d51..c15e5971a27c 100644
--- a/xen/arch/x86/pv/ro-page-fault.c
+++ b/xen/arch/x86/pv/ro-page-fault.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/pv/ro-page-fault.c
  *
@@ -5,19 +6,6 @@
  *
  * Copyright (c) 2002-2005 K A Fraser
  * Copyright (c) 2004 Christian Limpach
- *
- * 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 <asm/pv/trace.h>
diff --git a/xen/arch/x86/pv/shim.c b/xen/arch/x86/pv/shim.c
index ae1a0e6e65af..404408711972 100644
--- a/xen/arch/x86/pv/shim.c
+++ b/xen/arch/x86/pv/shim.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/pv/shim.c
  *
  * Functionaltiy for PV Shim mode
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017 Citrix Systems Ltd.
  */
 #include <xen/event.h>
diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
index 97fe54b5ee5a..6d330dfe2d1c 100644
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/pv/traps.c
  *
  * PV low level entry points.
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017 Citrix Systems Ltd.
  */
 
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index b26758c2c89f..cf9bb220f90d 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * x86 SMP booting functions
  *
  * This inherits a great deal from Linux's SMP boot code:
  *  (c) 1995 Alan Cox, Building #3 <alan@redhat.com>
  *  (c) 1998, 1999, 2000 Ingo Molnar <mingo@redhat.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 <xen/init.h>
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index e80e2a5ed1a9..f81db2143328 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -1,19 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/spec_ctrl.c
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017-2018 Citrix Systems Ltd.
  */
 #include <xen/errno.h>
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index cade9e12f8fa..2397ae299552 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1,20 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/traps.c
  *
  * Modifications to Linux original are copyright (c) 2002-2004, K A Fraser
- *
- * 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/>.
  */
 
 /*
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index e38f98b54726..66c0395d1beb 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * x86_emulate.c
  *
@@ -5,19 +6,6 @@
  *
  * Copyright (c) 2005-2007 Keir Fraser
  * Copyright (c) 2005-2007 XenSource Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 /* Operand sizes: 8-bit operands or specified/overridden size. */
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 18:45:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 18:45:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515410.798234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgrqW-0007aa-3d; Mon, 27 Mar 2023 18:45:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515410.798234; Mon, 27 Mar 2023 18:45: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 1pgrqW-0007aT-0w; Mon, 27 Mar 2023 18:45:32 +0000
Received: by outflank-mailman (input) for mailman id 515410;
 Mon, 27 Mar 2023 18:45: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 1pgrqU-0007aN-UU
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 18:45: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 1pgrqU-0004ON-KK; Mon, 27 Mar 2023 18:45:30 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pgrqU-00044j-CJ; Mon, 27 Mar 2023 18:45: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:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=2ey7kqBxZP5zNWSxhGX1+zDIiWebvhkGl+Uz54kj/XM=; b=3MF7CP+MRrcEEjqvk9kLe7S/4E
	6F6O5t8ND1S3gECny0NRMVMuZl+/IvI5wqnjtG27ILd7h/lYS1NY9Eh6Ma0dce4C2/hSKGxwlAL3g
	xYXZIPxOZfxSGB4UOlKwjgp1jDMy4gNe/xldn3owGqq5zr9ljALPQIO9c1UftinecTkA=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.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: [PATCH v2 1/7] LICENSES: Clarify that the SPDX tag GPL-2.0 is deprecated
Date: Mon, 27 Mar 2023 19:45:14 +0100
Message-Id: <20230327184520.81828-2-julien@xen.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230327184520.81828-1-julien@xen.org>
References: <20230327184520.81828-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

>From https://spdx.org/licenses/GPL-2.0.html, the SPDX tag GPL-2.0
is deprecated. Instead, GPL-2.0-only should be used.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---
    Changes in v2:
        - Patch added
---
 LICENSES/GPL-2.0 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/LICENSES/GPL-2.0 b/LICENSES/GPL-2.0
index ff0812fd89cc..9f09528a8bce 100644
--- a/LICENSES/GPL-2.0
+++ b/LICENSES/GPL-2.0
@@ -8,9 +8,9 @@ Usage-Guide:
   tag/value pairs into a comment according to the placement
   guidelines in the licensing rules documentation.
   For 'GNU General Public License (GPL) version 2 only' use:
-    SPDX-License-Identifier: GPL-2.0
-  or
     SPDX-License-Identifier: GPL-2.0-only
+  or (now deprecated)
+    SPDX-License-Identifier: GPL-2.0
   For 'GNU General Public License (GPL) version 2 or any later version' use:
     SPDX-License-Identifier: GPL-2.0+
   or
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 18:45:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 18:45:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515412.798254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgrqZ-00084c-Hs; Mon, 27 Mar 2023 18:45:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515412.798254; Mon, 27 Mar 2023 18: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 1pgrqZ-00084V-El; Mon, 27 Mar 2023 18:45:35 +0000
Received: by outflank-mailman (input) for mailman id 515412;
 Mon, 27 Mar 2023 18:45:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1pgrqX-0007pO-Ek
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 18:45:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pgrqX-0004Ok-9B; Mon, 27 Mar 2023 18:45:33 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pgrqX-00044j-1c; Mon, 27 Mar 2023 18:45: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:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=W0STCVm9FInPltGQ7FKCUcrUVXGBEkNPTjaWfPociOI=; b=TOKEZygHIvVMAvkz3qCY7e/K8N
	JTj5gYuvrdrLq2w/h/2t2Gm4Zfg1wMiPoty9pypFxa10gI7lvKw2dZMyp7nwBnhoEGqsd4N3ohKpg
	1TiXSRy1Kt9e1bZ6TVqYWWEjX2a+bGZN0aE8Uug6sg8Fx7QbWvW6LM3ZobxsfcG1+XuA=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.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 3/7] xen/x86: Replace GPL v2.0 license boilerplate with an SPDX tag in *.c (part 3)
Date: Mon, 27 Mar 2023 19:45:16 +0100
Message-Id: <20230327184520.81828-4-julien@xen.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230327184520.81828-1-julien@xen.org>
References: <20230327184520.81828-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

It is easier to understand the license of a file when using SPDX.

This is replacing the below pattern with the SPDX tag GPL-2.0-only
in xen/arch/x86/*.c:

 * This program is free software; you can redistribute it and/or
 * modify it under the terms and conditions of the GNU General Public
 * License, version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope 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/>.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---

    Changes in v2:
        - Switch SPDX to GPL-2.0-only

42sh> cat gpl-2.0-pattern-2.txt
 * This program is free software; you can redistribute it and/or
 * modify it under the terms and conditions of the GNU General Public
 * License, version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public
 * License along with this program; If not, see <http://www.gnu.org/licenses/>.
42sh> find xen/arch/x86/ -name '*.c' -exec replace_license.py gpl-2.0-pattern-2.txt GPL-2.0-only {} \;
---
 xen/arch/x86/hvm/dom0_build.c       | 13 +------------
 xen/arch/x86/hvm/domain.c           | 13 +------------
 xen/arch/x86/pv/callback.c          | 13 +------------
 xen/arch/x86/pv/descriptor-tables.c | 13 +------------
 xen/arch/x86/pv/grant_table.c       | 13 +------------
 xen/arch/x86/pv/mm.c                | 13 +------------
 6 files changed, 6 insertions(+), 72 deletions(-)

diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
index d44de7f2b2c6..fd2cbf68bc62 100644
--- a/xen/arch/x86/hvm/dom0_build.c
+++ b/xen/arch/x86/hvm/dom0_build.c
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * hvm/dom0_build.c
  *
  * Dom0 builder for PVH guest.
  *
  * Copyright (C) 2017 Citrix Systems R&D
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/acpi.h>
diff --git a/xen/arch/x86/hvm/domain.c b/xen/arch/x86/hvm/domain.c
index 10e30175a1b6..deec74fdb4f5 100644
--- a/xen/arch/x86/hvm/domain.c
+++ b/xen/arch/x86/hvm/domain.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * HVM domain specific functions.
  *
  * Copyright (C) 2017 Citrix Systems R&D
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/domain_page.h>
diff --git a/xen/arch/x86/pv/callback.c b/xen/arch/x86/pv/callback.c
index 067ee3b795d0..702a68def69c 100644
--- a/xen/arch/x86/pv/callback.c
+++ b/xen/arch/x86/pv/callback.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * pv/callback.c
  *
  * hypercall handles and helper functions for guest callback
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/event.h>
diff --git a/xen/arch/x86/pv/descriptor-tables.c b/xen/arch/x86/pv/descriptor-tables.c
index b4135b450cdf..02647a2c5047 100644
--- a/xen/arch/x86/pv/descriptor-tables.c
+++ b/xen/arch/x86/pv/descriptor-tables.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * arch/x86/pv/descriptor-tables.c
  *
@@ -5,18 +6,6 @@
  *
  * Copyright (c) 2002-2005 K A Fraser
  * Copyright (c) 2004 Christian Limpach
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/guest_access.h>
diff --git a/xen/arch/x86/pv/grant_table.c b/xen/arch/x86/pv/grant_table.c
index 81c72e61ed55..247436a0156a 100644
--- a/xen/arch/x86/pv/grant_table.c
+++ b/xen/arch/x86/pv/grant_table.c
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * pv/grant_table.c
  *
  * Grant table interfaces for PV guests
  *
  * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/types.h>
diff --git a/xen/arch/x86/pv/mm.c b/xen/arch/x86/pv/mm.c
index 5ed7b3ccdbf2..24f0d2e4ff7d 100644
--- a/xen/arch/x86/pv/mm.c
+++ b/xen/arch/x86/pv/mm.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * pv/mm.c
  *
@@ -5,18 +6,6 @@
  *
  * Copyright (c) 2002-2005 K A Fraser
  * Copyright (c) 2004 Christian Limpach
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/guest_access.h>
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 18:45:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 18:45:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515417.798299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgrqf-0000nS-IL; Mon, 27 Mar 2023 18:45:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515417.798299; Mon, 27 Mar 2023 18: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 1pgrqf-0000mQ-E0; Mon, 27 Mar 2023 18:45:41 +0000
Received: by outflank-mailman (input) for mailman id 515417;
 Mon, 27 Mar 2023 18:45: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 1pgrqe-0000ie-By
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 18:45: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 1pgrqd-0004Q3-Cy; Mon, 27 Mar 2023 18:45:39 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pgrqd-00044j-5R; Mon, 27 Mar 2023 18:45: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:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=qHRg/4Zkq1X4Ohv5w/IP1HRxAhXetaIPrWlA40blPGk=; b=V8uk607FScFH2j/o/BcdfBoIYP
	56jsd2ZyKPfz2rLZCtCygs2BnPS1CN9LBGHsdKbRyY7eX+1JULq8KuE0uccCc3TV3OPjakTEZuDpL
	PFv+4kzljl+XpqHKWbHGm52Dt7DEqkXyZw3bPPHztWp0YKeTjaq9ECmKNu7+IpfkKcLk=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.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>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 7/7] xen/x86: Replace GPL v2.0+ license boilerplate with an SPDX tag in *.h
Date: Mon, 27 Mar 2023 19:45:20 +0100
Message-Id: <20230327184520.81828-8-julien@xen.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230327184520.81828-1-julien@xen.org>
References: <20230327184520.81828-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

It is easier to understand the license of a file when using SPDX.

This is replacing the below pattern with the SPDX tag GPL-2.0-or-later
in xen/arch/x86/*.h:

 * 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/>.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---

42sh> cat gpl-2.0+-pattern-1.txt
 * 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/>.
42sh> find xen/arch/x86/ -name '*.h' -exec replace_license.py gpl-2.0+-pattern-1.txt GPL-2.0-or-later {} \;
---
 xen/arch/x86/cpu/mcheck/x86_mca.h        | 14 +-------------
 xen/arch/x86/guest/hyperv/private.h      | 14 +-------------
 xen/arch/x86/include/asm/endbr.h         | 14 +-------------
 xen/arch/x86/include/asm/guest_pt.h      | 14 +-------------
 xen/arch/x86/include/asm/hap.h           | 14 +-------------
 xen/arch/x86/include/asm/mem_access.h    | 14 +-------------
 xen/arch/x86/include/asm/mem_paging.h    | 14 +-------------
 xen/arch/x86/include/asm/mem_sharing.h   | 14 +-------------
 xen/arch/x86/include/asm/p2m.h           | 14 +-------------
 xen/arch/x86/include/asm/paging.h        | 14 +-------------
 xen/arch/x86/include/asm/shstk.h         | 14 +-------------
 xen/arch/x86/include/asm/spec_ctrl.h     | 14 +-------------
 xen/arch/x86/include/asm/spec_ctrl_asm.h | 14 +-------------
 xen/arch/x86/include/asm/traps.h         | 14 +-------------
 xen/arch/x86/include/asm/xenoprof.h      | 14 +-------------
 xen/arch/x86/mm/mm-locks.h               | 14 +-------------
 xen/arch/x86/mm/p2m.h                    | 14 +-------------
 xen/arch/x86/mm/shadow/multi.h           | 14 +-------------
 xen/arch/x86/mm/shadow/private.h         | 14 +-------------
 xen/arch/x86/mm/shadow/types.h           | 14 +-------------
 xen/arch/x86/x86_emulate/x86_emulate.h   | 14 +-------------
 21 files changed, 21 insertions(+), 273 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/x86_mca.h b/xen/arch/x86/cpu/mcheck/x86_mca.h
index 8f7fced0fee0..18116737af29 100644
--- a/xen/arch/x86/cpu/mcheck/x86_mca.h
+++ b/xen/arch/x86/cpu/mcheck/x86_mca.h
@@ -1,19 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * MCA implementation for AMD CPUs
  * Copyright (c) 2007-2012 Advanced Micro Devices, Inc. 
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * 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 X86_MCA_H
diff --git a/xen/arch/x86/guest/hyperv/private.h b/xen/arch/x86/guest/hyperv/private.h
index fea3e291e944..0277e8314c54 100644
--- a/xen/arch/x86/guest/hyperv/private.h
+++ b/xen/arch/x86/guest/hyperv/private.h
@@ -1,21 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/guest/hyperv/private.h
  *
  * Definitions / declarations only useful to Hyper-V code.
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2020 Microsoft.
  */
 
diff --git a/xen/arch/x86/include/asm/endbr.h b/xen/arch/x86/include/asm/endbr.h
index d946fac13130..3033e40d29a8 100644
--- a/xen/arch/x86/include/asm/endbr.h
+++ b/xen/arch/x86/include/asm/endbr.h
@@ -1,17 +1,5 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2021-2022 Citrix Systems Ltd.
  */
 #ifndef XEN_ASM_ENDBR_H
diff --git a/xen/arch/x86/include/asm/guest_pt.h b/xen/arch/x86/include/asm/guest_pt.h
index 6802db2a415a..bde758834238 100644
--- a/xen/arch/x86/include/asm/guest_pt.h
+++ b/xen/arch/x86/include/asm/guest_pt.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * xen/asm-x86/guest_pt.h
  *
@@ -10,19 +11,6 @@
  * Parts of this code are Copyright (c) 2006 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 _XEN_ASM_GUEST_PT_H
diff --git a/xen/arch/x86/include/asm/hap.h b/xen/arch/x86/include/asm/hap.h
index 90dece29deca..9d12327b120d 100644
--- a/xen/arch/x86/include/asm/hap.h
+++ b/xen/arch/x86/include/asm/hap.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * include/asm-x86/hap.h
  *
@@ -7,19 +8,6 @@
  * Parts of this code are Copyright (c) 2006 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 _XEN_HAP_H
diff --git a/xen/arch/x86/include/asm/mem_access.h b/xen/arch/x86/include/asm/mem_access.h
index 18091610aea0..8957e1181cc3 100644
--- a/xen/arch/x86/include/asm/mem_access.h
+++ b/xen/arch/x86/include/asm/mem_access.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * include/asm-x86/mem_access.h
  *
@@ -8,19 +9,6 @@
  * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 __ASM_X86_MEM_ACCESS_H__
diff --git a/xen/arch/x86/include/asm/mem_paging.h b/xen/arch/x86/include/asm/mem_paging.h
index d3635e96cffc..5ae86669fb40 100644
--- a/xen/arch/x86/include/asm/mem_paging.h
+++ b/xen/arch/x86/include/asm/mem_paging.h
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * include/asm-x86/mem_paging.h
  *
  * Memory paging support.
  *
  * Copyright (c) 2009 Citrix Systems, Inc. (Patrick Colp)
- *
- * 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 __ASM_X86_MEM_PAGING_H__
diff --git a/xen/arch/x86/include/asm/mem_sharing.h b/xen/arch/x86/include/asm/mem_sharing.h
index 2c00069bc91c..040962f690d2 100644
--- a/xen/arch/x86/include/asm/mem_sharing.h
+++ b/xen/arch/x86/include/asm/mem_sharing.h
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * include/asm-x86/mem_sharing.h
  *
  * Memory sharing support.
  *
  * Copyright (c) 2009 Citrix Systems, Inc. (Grzegorz Milos)
- *
- * 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 __MEM_SHARING_H__
 #define __MEM_SHARING_H__
diff --git a/xen/arch/x86/include/asm/p2m.h b/xen/arch/x86/include/asm/p2m.h
index cd43d8621ad2..40545f5fa84f 100644
--- a/xen/arch/x86/include/asm/p2m.h
+++ b/xen/arch/x86/include/asm/p2m.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * include/asm-x86/paging.h
  *
@@ -8,19 +9,6 @@
  * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 _XEN_ASM_X86_P2M_H
diff --git a/xen/arch/x86/include/asm/paging.h b/xen/arch/x86/include/asm/paging.h
index 2647b95e67a7..403243bfbde1 100644
--- a/xen/arch/x86/include/asm/paging.h
+++ b/xen/arch/x86/include/asm/paging.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * include/asm-x86/paging.h
  *
@@ -6,19 +7,6 @@
  * Parts of this code are Copyright (c) 2006 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 _XEN_PAGING_H
diff --git a/xen/arch/x86/include/asm/shstk.h b/xen/arch/x86/include/asm/shstk.h
index fdc9cc65a3fa..9160fe9f0e99 100644
--- a/xen/arch/x86/include/asm/shstk.h
+++ b/xen/arch/x86/include/asm/shstk.h
@@ -1,17 +1,5 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2022 Citrix Systems Ltd.
  */
 #ifndef XEN_ASM_SHSTK_H
diff --git a/xen/arch/x86/include/asm/spec_ctrl.h b/xen/arch/x86/include/asm/spec_ctrl.h
index f718f94088a1..011ab1db2709 100644
--- a/xen/arch/x86/include/asm/spec_ctrl.h
+++ b/xen/arch/x86/include/asm/spec_ctrl.h
@@ -1,19 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * include/asm-x86/spec_ctrl.h
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017-2018 Citrix Systems Ltd.
  */
 
diff --git a/xen/arch/x86/include/asm/spec_ctrl_asm.h b/xen/arch/x86/include/asm/spec_ctrl_asm.h
index f23bb105c51e..f48f9e75e8dc 100644
--- a/xen/arch/x86/include/asm/spec_ctrl_asm.h
+++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h
@@ -1,19 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * include/asm-x86/spec_ctrl.h
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017-2018 Citrix Systems Ltd.
  */
 
diff --git a/xen/arch/x86/include/asm/traps.h b/xen/arch/x86/include/asm/traps.h
index b0dd2d24614d..01ef362edc8c 100644
--- a/xen/arch/x86/include/asm/traps.h
+++ b/xen/arch/x86/include/asm/traps.h
@@ -1,19 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /*
  * Copyright (c) 2007, 2008 Advanced Micro Devices, Inc.
  * Author: Christoph Egger <Christoph.Egger@amd.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 ASM_TRAP_H
diff --git a/xen/arch/x86/include/asm/xenoprof.h b/xen/arch/x86/include/asm/xenoprof.h
index cf6af8c5df52..dc6f822d3220 100644
--- a/xen/arch/x86/include/asm/xenoprof.h
+++ b/xen/arch/x86/include/asm/xenoprof.h
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * asm-x86/xenoprof.h
  * xenoprof x86 arch specific header file
  *
  * Copyright (c) 2006 Isaku Yamahata <yamahata at valinux co jp>
  *                    VA Linux Systems Japan K.K.
- *
- * 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 __ASM_X86_XENOPROF_H__
diff --git a/xen/arch/x86/mm/mm-locks.h b/xen/arch/x86/mm/mm-locks.h
index c1523aeccf99..5a3f96fbaadd 100644
--- a/xen/arch/x86/mm/mm-locks.h
+++ b/xen/arch/x86/mm/mm-locks.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/mm-locks.h
  *
@@ -7,19 +8,6 @@
  * Copyright (c) 2007 Advanced Micro Devices (Wei Huang)
  * Copyright (c) 2006-2007 XenSource Inc.
  * Copyright (c) 2006 Michael A Fetterman
- *
- * 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 _MM_LOCKS_H
diff --git a/xen/arch/x86/mm/p2m.h b/xen/arch/x86/mm/p2m.h
index cc0f6766e4df..11e63b8fe42a 100644
--- a/xen/arch/x86/mm/p2m.h
+++ b/xen/arch/x86/mm/p2m.h
@@ -1,18 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/p2m.h
- *
- * 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/>.
  */
 
 struct p2m_domain *p2m_init_one(struct domain *d);
diff --git a/xen/arch/x86/mm/shadow/multi.h b/xen/arch/x86/mm/shadow/multi.h
index 222c31bd1001..0e938594345a 100644
--- a/xen/arch/x86/mm/shadow/multi.h
+++ b/xen/arch/x86/mm/shadow/multi.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/shadow/multi.h
  *
@@ -5,19 +6,6 @@
  * Parts of this code are Copyright (c) 2006 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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/>.
  */
 
 extern int
diff --git a/xen/arch/x86/mm/shadow/private.h b/xen/arch/x86/mm/shadow/private.h
index d9a127e15d8f..93a443ee5974 100644
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/shadow/private.h
  *
@@ -5,19 +6,6 @@
  * Parts of this code are Copyright (c) 2006 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 _XEN_SHADOW_PRIVATE_H
diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
index e81a3c2c5c27..d700d8d64c8a 100644
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -1,22 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * arch/x86/mm/shadow/types.h
  *
  * Parts of this code are Copyright (c) 2006 by XenSource Inc.
  * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
  * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
- *
- * 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 _XEN_SHADOW_TYPES_H
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index bb7af967ffee..0ace27f34ca5 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
 /******************************************************************************
  * x86_emulate.h
  *
@@ -5,19 +6,6 @@
  *
  * Copyright (c) 2005-2007 Keir Fraser
  * Copyright (c) 2005-2007 XenSource Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * 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 __X86_EMULATE_H__
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 18:45:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 18:45:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515414.798273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgrqc-0000Aa-Aj; Mon, 27 Mar 2023 18:45:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515414.798273; Mon, 27 Mar 2023 18:45: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 1pgrqc-0000AP-7D; Mon, 27 Mar 2023 18:45:38 +0000
Received: by outflank-mailman (input) for mailman id 515414;
 Mon, 27 Mar 2023 18:45: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 1pgrqa-0008PK-GJ
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 18:45: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 1pgrqa-0004PH-B5; Mon, 27 Mar 2023 18:45:36 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pgrqa-00044j-3S; Mon, 27 Mar 2023 18:45: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:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=eag0yULGjEkDeN5lzxlGdsA7K2MYhuGrowzj21CvemI=; b=wo/R6Q2PlgLvv/gApeMMRYPWa5
	x4XoL6tIKVOit/x3svI/GMP+0oFrxSn5eE1aoO80PI3wv+wY60+X0PeRMVOK3lxU3hDw6PiitQFr6
	ABE0h//3NSVcunY647nU5XyTLT9Y4yYSXcpcn4RjkA3KLZZQJKSKOIgJ8VK/pqAS0ogg=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>
Subject: [PATCH v2 5/7] xen/x86: Replace GPL v2.0 license boilerplate with an SPDX tag in *.h (part 3)
Date: Mon, 27 Mar 2023 19:45:18 +0100
Message-Id: <20230327184520.81828-6-julien@xen.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230327184520.81828-1-julien@xen.org>
References: <20230327184520.81828-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

It is easier to understand the license of a file when using SPDX.

This is replacing the below pattern with the SPDX tag GPL-2.0-only
in xen/arch/x86/*.h:

 * This program is free software; you can redistribute it and/or
 * modify it under the terms and conditions of the GNU General Public
 * License, version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public
 * License along with this program; If not, see <http://www.gnu.org/licenses/>.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---

    Changes in v2:
        - Switch to GPL-2.0-only

42sh> cat gpl-2.0-pattern-2.txt
 * This program is free software; you can redistribute it and/or
 * modify it under the terms and conditions of the GNU General Public
 * License, version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public
 * License along with this program; If not, see <http://www.gnu.org/licenses/>.
42sh> find xen/arch/x86/ -name '*.h' -exec replace_license.py gpl-2.0-pattern-2.txt GPL-2.0-only {} \;
---
 xen/arch/x86/include/asm/guest.h              | 13 +------------
 xen/arch/x86/include/asm/guest/hyperv-hcall.h | 13 +------------
 xen/arch/x86/include/asm/guest/hyperv.h       | 13 +------------
 xen/arch/x86/include/asm/guest/hypervisor.h   | 13 +------------
 xen/arch/x86/include/asm/guest/pvh-boot.h     | 13 +------------
 xen/arch/x86/include/asm/guest/xen-hcall.h    | 13 +------------
 xen/arch/x86/include/asm/guest/xen.h          | 13 +------------
 xen/arch/x86/include/asm/hvm/grant_table.h    | 13 +------------
 xen/arch/x86/include/asm/pv/domain.h          | 13 +------------
 xen/arch/x86/include/asm/pv/grant_table.h     | 13 +------------
 xen/arch/x86/include/asm/pv/mm.h              | 13 +------------
 xen/arch/x86/include/asm/pv/shim.h            | 13 +------------
 xen/arch/x86/include/asm/pv/traps.h           | 13 +------------
 13 files changed, 13 insertions(+), 156 deletions(-)

diff --git a/xen/arch/x86/include/asm/guest.h b/xen/arch/x86/include/asm/guest.h
index ccf1ffbb729a..c3124c7b8d3a 100644
--- a/xen/arch/x86/include/asm/guest.h
+++ b/xen/arch/x86/include/asm/guest.h
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * asm-x86/guest.h
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017 Citrix Systems Ltd.
  */
 
diff --git a/xen/arch/x86/include/asm/guest/hyperv-hcall.h b/xen/arch/x86/include/asm/guest/hyperv-hcall.h
index 423ca0860b5d..b76dbf9ccca3 100644
--- a/xen/arch/x86/include/asm/guest/hyperv-hcall.h
+++ b/xen/arch/x86/include/asm/guest/hyperv-hcall.h
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * asm-x86/guest/hyperv-hcall.h
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2019 Microsoft.
  */
 
diff --git a/xen/arch/x86/include/asm/guest/hyperv.h b/xen/arch/x86/include/asm/guest/hyperv.h
index 1a1b47831c8d..c05efdce71a4 100644
--- a/xen/arch/x86/include/asm/guest/hyperv.h
+++ b/xen/arch/x86/include/asm/guest/hyperv.h
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * asm-x86/guest/hyperv.h
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2019 Microsoft.
  */
 
diff --git a/xen/arch/x86/include/asm/guest/hypervisor.h b/xen/arch/x86/include/asm/guest/hypervisor.h
index 0a6c3b47ab36..4cffea386609 100644
--- a/xen/arch/x86/include/asm/guest/hypervisor.h
+++ b/xen/arch/x86/include/asm/guest/hypervisor.h
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * asm-x86/guest/hypervisor.h
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2019 Microsoft.
  */
 
diff --git a/xen/arch/x86/include/asm/guest/pvh-boot.h b/xen/arch/x86/include/asm/guest/pvh-boot.h
index 48ffd1a0b1b4..247ba6899e72 100644
--- a/xen/arch/x86/include/asm/guest/pvh-boot.h
+++ b/xen/arch/x86/include/asm/guest/pvh-boot.h
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * asm-x86/guest/pvh-boot.h
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017 Citrix Systems Ltd.
  */
 
diff --git a/xen/arch/x86/include/asm/guest/xen-hcall.h b/xen/arch/x86/include/asm/guest/xen-hcall.h
index 03d5868a9efd..665b472d05ac 100644
--- a/xen/arch/x86/include/asm/guest/xen-hcall.h
+++ b/xen/arch/x86/include/asm/guest/xen-hcall.h
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * asm-x86/guest/xen-hcall.h
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017 Citrix Systems Ltd.
  */
 
diff --git a/xen/arch/x86/include/asm/guest/xen.h b/xen/arch/x86/include/asm/guest/xen.h
index 2042a9a0c253..c330c4d40078 100644
--- a/xen/arch/x86/include/asm/guest/xen.h
+++ b/xen/arch/x86/include/asm/guest/xen.h
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * asm-x86/guest/xen.h
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017 Citrix Systems Ltd.
  */
 
diff --git a/xen/arch/x86/include/asm/hvm/grant_table.h b/xen/arch/x86/include/asm/hvm/grant_table.h
index a5612585b35e..33c1da1a25f3 100644
--- a/xen/arch/x86/include/asm/hvm/grant_table.h
+++ b/xen/arch/x86/include/asm/hvm/grant_table.h
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * asm-x86/hvm/grant_table.h
  *
  * Grant table interfaces for HVM guests
  *
  * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef __X86_HVM_GRANT_TABLE_H__
diff --git a/xen/arch/x86/include/asm/pv/domain.h b/xen/arch/x86/include/asm/pv/domain.h
index 924508bbb4f0..db7a40f68e92 100644
--- a/xen/arch/x86/include/asm/pv/domain.h
+++ b/xen/arch/x86/include/asm/pv/domain.h
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * pv/domain.h
  *
  * PV guest interface definitions
  *
  * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef __X86_PV_DOMAIN_H__
diff --git a/xen/arch/x86/include/asm/pv/grant_table.h b/xen/arch/x86/include/asm/pv/grant_table.h
index 85442b60749f..88f36c6595f0 100644
--- a/xen/arch/x86/include/asm/pv/grant_table.h
+++ b/xen/arch/x86/include/asm/pv/grant_table.h
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * asm-x86/pv/grant_table.h
  *
  * Grant table interfaces for PV guests
  *
  * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef __X86_PV_GRANT_TABLE_H__
diff --git a/xen/arch/x86/include/asm/pv/mm.h b/xen/arch/x86/include/asm/pv/mm.h
index 9983f8257c63..182764542c1f 100644
--- a/xen/arch/x86/include/asm/pv/mm.h
+++ b/xen/arch/x86/include/asm/pv/mm.h
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * asm-x86/pv/mm.h
  *
  * Memory management interfaces for PV guests
  *
  * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef __X86_PV_MM_H__
diff --git a/xen/arch/x86/include/asm/pv/shim.h b/xen/arch/x86/include/asm/pv/shim.h
index a43c3689b48a..5625b90b72bd 100644
--- a/xen/arch/x86/include/asm/pv/shim.h
+++ b/xen/arch/x86/include/asm/pv/shim.h
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * asm-x86/guest/shim.h
  *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
- *
  * Copyright (c) 2017 Citrix Systems Ltd.
  */
 
diff --git a/xen/arch/x86/include/asm/pv/traps.h b/xen/arch/x86/include/asm/pv/traps.h
index 855203c4e288..404f5b169ca8 100644
--- a/xen/arch/x86/include/asm/pv/traps.h
+++ b/xen/arch/x86/include/asm/pv/traps.h
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * pv/traps.h
  *
  * PV guest traps interface definitions
  *
  * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms and conditions of the GNU General Public
- * License, version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef __X86_PV_TRAPS_H__
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 18:45:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 18:45:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515411.798244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgrqY-0007ph-9g; Mon, 27 Mar 2023 18:45:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515411.798244; Mon, 27 Mar 2023 18: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 1pgrqY-0007pa-71; Mon, 27 Mar 2023 18:45:34 +0000
Received: by outflank-mailman (input) for mailman id 515411;
 Mon, 27 Mar 2023 18:45: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 1pgrqW-0007kG-II
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 18:45: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 1pgrqT-0004OL-FF; Mon, 27 Mar 2023 18:45:29 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pgrqT-00044j-3A; Mon, 27 Mar 2023 18: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=qxlp15yYz1ts/aw9JCCm2hV20iAHQIAH1LJ/j5n3V58=; b=zsoU8E
	Bkg/amOf5YSQPa3ZQcIjr9KHzzdpcF7lw00fDxY7wSTLddLbfvQ8g1dCIhY8NZnbaPwf1h9NjdRu4
	qTxX1VkcoMhiT9DRvZYqWLfqQKiwddEhVjXBHvkoJwKg/qw7Kp+XWDv8V++8SWUwdPguKffRQrwSs
	9bOTElnYVNg=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Paul Durrant <paul@xen.org>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Tim Deegan <tim@xen.org>
Subject: [PATCH v2 0/7] xen/x86: Use SPDX (take 1)
Date: Mon, 27 Mar 2023 19:45:13 +0100
Message-Id: <20230327184520.81828-1-julien@xen.org>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Hi all,

This is a first attempt to replace all the full license text with
SPX tag in xen/arch/x86/. This is covering most of the x86 files.

I have used the script below to remove the full license and add
an SPDX tag. The script is based on the work from Anthony [1].

#! /usr/bin/python3
## We are opening/writing to files using the binary mode to avoid
## python interpreting the content (reading ./drivers/video/font_8x14.c
## will throw some encoding error otherwise).

import sys

if len(sys.argv) < 4:
    print("./replace_license <licence-file> <spdx> <file> [debug]")
    exit(1)

licence_file = sys.argv[1]
spdx = str.encode(sys.argv[2])
file = sys.argv[3]
# HACK: enable debug if there is a 4th argument
debug = len(sys.argv) == 5

with open(licence_file, 'rb') as f:
    licence = f.read()

licence_spdx = b"/* SPDX-License-Identifier: " + spdx + b" */\n"

print(f"reading {file}")
with open(file, 'rb') as f:
    whole_file = f.read()

try:
    licence_loc = whole_file.index(licence)
except ValueError:
    print("licence not found. Ignoring")
    exit(0)

# Replace one the below pattern with nothing
## Pattern 1
# *
# * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# *
# * <licence>
# *
# * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
whole_file = whole_file.replace(
b' *\n'  +
b' * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n' +
b' *\n'  +
licence +
b' *\n' +
b' * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n', b'')

## Pattern 2
# * <licence>
# *
whole_file = whole_file.replace(licence + b' *\n', b'')

## Pattern 3
# *
# * <licence>
whole_file = whole_file.replace(b' *\n' + licence, b'')

## Pattern 4
# /*
#  * <licence>
#  */
whole_file = whole_file.replace(b'/*\n' + licence + b' */\n', b'')

## Pattern 5
# *
# * <licence>
whole_file = whole_file.replace(b' * \n' + licence, b'')

## Pattern 6
# /*
#  * <licence>
# */
whole_file = whole_file.replace(b'/*\n' + licence + b'*/\n', b'')

# Check if the license was removed
try:
    _ = whole_file.index(licence)
    print("The license was not removed. Bailing out")
    exit(0)
except ValueError:
    print("The license was removed. Updating the file")

if debug:
    print(whole_file)
else:
    with open('%s' % file, 'wb') as f:
        f.write(licence_spdx)
        f.write(whole_file)

[1] https://lore.kernel.org/xen-devel/20221103115204.49610-7-anthony.perard@citrix.com/

Julien Grall (7):
  LICENSES: Clarify that the SPDX tag GPL-2.0 is deprecated
  xen/x86: Replace GPL v2.0 license boilerplate with an SPDX tag in *.c
  xen/x86: Replace GPL v2.0 license boilerplate with an SPDX tag in *.c
    (part 3)
  xen/x86: Replace GPL v2.0 license boilerplate with an SPDX tag in *.h
  xen/x86: Replace GPL v2.0 license boilerplate with an SPDX tag in *.h
    (part 3)
  xen/x86: Replace GPL v2.0+ license boilerplate with an SPDX tag in *.c
  xen/x86: Replace GPL v2.0+ license boilerplate with an SPDX tag in *.h

 LICENSES/GPL-2.0                              |  4 ++--
 xen/arch/x86/alternative.c                    | 14 +-------------
 xen/arch/x86/cpu/mcheck/amd_nonfatal.c        | 14 +-------------
 xen/arch/x86/cpu/mcheck/mce_amd.c             | 14 +-------------
 xen/arch/x86/cpu/mcheck/vmce.c                | 14 +-------------
 xen/arch/x86/cpu/mcheck/x86_mca.h             | 14 +-------------
 xen/arch/x86/cpu/mwait-idle.c                 | 13 +------------
 xen/arch/x86/cpu/vpmu.c                       | 13 +------------
 xen/arch/x86/cpu/vpmu_amd.c                   | 13 +------------
 xen/arch/x86/cpu/vpmu_intel.c                 | 13 +------------
 xen/arch/x86/genapic/x2apic.c                 | 13 +------------
 xen/arch/x86/guest/hyperv/hyperv.c            | 14 +-------------
 xen/arch/x86/guest/hyperv/private.h           | 14 +-------------
 xen/arch/x86/guest/hyperv/tlb.c               | 14 +-------------
 xen/arch/x86/guest/hyperv/util.c              | 14 +-------------
 xen/arch/x86/guest/hypervisor.c               | 14 +-------------
 xen/arch/x86/guest/xen/pvh-boot.c             | 14 +-------------
 xen/arch/x86/guest/xen/xen.c                  | 14 +-------------
 xen/arch/x86/hvm/asid.c                       | 13 +------------
 xen/arch/x86/hvm/dm.c                         | 13 +------------
 xen/arch/x86/hvm/dom0_build.c                 | 13 +------------
 xen/arch/x86/hvm/domain.c                     | 13 +------------
 xen/arch/x86/hvm/grant_table.c                | 14 +-------------
 xen/arch/x86/hvm/hpet.c                       | 13 +------------
 xen/arch/x86/hvm/hvm.c                        | 13 +------------
 xen/arch/x86/hvm/hypercall.c                  | 14 +-------------
 xen/arch/x86/hvm/intercept.c                  | 13 +------------
 xen/arch/x86/hvm/io.c                         | 13 +------------
 xen/arch/x86/hvm/ioreq.c                      | 13 +------------
 xen/arch/x86/hvm/irq.c                        | 13 +------------
 xen/arch/x86/hvm/mtrr.c                       | 13 +------------
 xen/arch/x86/hvm/nestedhvm.c                  | 13 +------------
 xen/arch/x86/hvm/pmtimer.c                    | 13 +------------
 xen/arch/x86/hvm/quirks.c                     | 13 +------------
 xen/arch/x86/hvm/save.c                       | 13 +------------
 xen/arch/x86/hvm/svm/asid.c                   | 13 +------------
 xen/arch/x86/hvm/svm/emulate.c                | 13 +------------
 xen/arch/x86/hvm/svm/intr.c                   | 13 +------------
 xen/arch/x86/hvm/svm/nestedsvm.c              | 13 +------------
 xen/arch/x86/hvm/svm/svm.c                    | 13 +------------
 xen/arch/x86/hvm/svm/svmdebug.c               | 13 +------------
 xen/arch/x86/hvm/svm/vmcb.c                   | 13 +------------
 xen/arch/x86/hvm/vlapic.c                     | 13 +------------
 xen/arch/x86/hvm/vmx/intr.c                   | 13 +------------
 xen/arch/x86/hvm/vmx/vmcs.c                   | 13 +------------
 xen/arch/x86/hvm/vmx/vmx.c                    | 13 +------------
 xen/arch/x86/hvm/vmx/vvmx.c                   | 13 +------------
 xen/arch/x86/hvm/vpt.c                        | 13 +------------
 xen/arch/x86/hypercall.c                      | 14 +-------------
 xen/arch/x86/include/asm/altp2m.h             | 13 +------------
 xen/arch/x86/include/asm/endbr.h              | 14 +-------------
 xen/arch/x86/include/asm/guest.h              | 13 +------------
 xen/arch/x86/include/asm/guest/hyperv-hcall.h | 13 +------------
 xen/arch/x86/include/asm/guest/hyperv.h       | 13 +------------
 xen/arch/x86/include/asm/guest/hypervisor.h   | 13 +------------
 xen/arch/x86/include/asm/guest/pvh-boot.h     | 13 +------------
 xen/arch/x86/include/asm/guest/xen-hcall.h    | 13 +------------
 xen/arch/x86/include/asm/guest/xen.h          | 13 +------------
 xen/arch/x86/include/asm/guest_pt.h           | 14 +-------------
 xen/arch/x86/include/asm/hap.h                | 14 +-------------
 xen/arch/x86/include/asm/hvm/asid.h           | 13 +------------
 xen/arch/x86/include/asm/hvm/domain.h         | 13 +------------
 xen/arch/x86/include/asm/hvm/grant_table.h    | 13 +------------
 xen/arch/x86/include/asm/hvm/hvm.h            | 13 +------------
 xen/arch/x86/include/asm/hvm/io.h             | 13 +------------
 xen/arch/x86/include/asm/hvm/ioreq.h          | 13 +------------
 xen/arch/x86/include/asm/hvm/irq.h            | 13 +------------
 xen/arch/x86/include/asm/hvm/monitor.h        | 13 +------------
 xen/arch/x86/include/asm/hvm/nestedhvm.h      | 13 +------------
 xen/arch/x86/include/asm/hvm/save.h           | 13 +------------
 xen/arch/x86/include/asm/hvm/support.h        | 13 +------------
 xen/arch/x86/include/asm/hvm/svm/nestedsvm.h  | 13 +------------
 xen/arch/x86/include/asm/hvm/svm/svm.h        | 13 +------------
 xen/arch/x86/include/asm/hvm/svm/svmdebug.h   | 13 +------------
 xen/arch/x86/include/asm/hvm/svm/vmcb.h       | 13 +------------
 xen/arch/x86/include/asm/hvm/vcpu.h           | 13 +------------
 xen/arch/x86/include/asm/hvm/vlapic.h         | 13 +------------
 xen/arch/x86/include/asm/hvm/vm_event.h       | 13 +------------
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h       | 13 +------------
 xen/arch/x86/include/asm/hvm/vmx/vmx.h        | 13 +------------
 xen/arch/x86/include/asm/hvm/vmx/vvmx.h       | 13 +------------
 xen/arch/x86/include/asm/hvm/vpt.h            | 13 +------------
 xen/arch/x86/include/asm/iommu.h              | 14 +-------------
 xen/arch/x86/include/asm/ioreq.h              | 13 +------------
 xen/arch/x86/include/asm/mem_access.h         | 14 +-------------
 xen/arch/x86/include/asm/mem_paging.h         | 14 +-------------
 xen/arch/x86/include/asm/mem_sharing.h        | 14 +-------------
 xen/arch/x86/include/asm/p2m.h                | 14 +-------------
 xen/arch/x86/include/asm/paging.h             | 14 +-------------
 xen/arch/x86/include/asm/pv/domain.h          | 13 +------------
 xen/arch/x86/include/asm/pv/grant_table.h     | 13 +------------
 xen/arch/x86/include/asm/pv/mm.h              | 13 +------------
 xen/arch/x86/include/asm/pv/shim.h            | 13 +------------
 xen/arch/x86/include/asm/pv/traps.h           | 13 +------------
 xen/arch/x86/include/asm/shstk.h              | 14 +-------------
 xen/arch/x86/include/asm/spec_ctrl.h          | 14 +-------------
 xen/arch/x86/include/asm/spec_ctrl_asm.h      | 14 +-------------
 xen/arch/x86/include/asm/traps.h              | 14 +-------------
 xen/arch/x86/include/asm/vm_event.h           | 13 +------------
 xen/arch/x86/include/asm/vpmu.h               | 13 +------------
 xen/arch/x86/include/asm/xenoprof.h           | 14 +-------------
 xen/arch/x86/mm.c                             | 14 +-------------
 xen/arch/x86/mm/altp2m.c                      | 13 +------------
 xen/arch/x86/mm/guest_walk.c                  | 14 +-------------
 xen/arch/x86/mm/hap/guest_walk.c              | 13 +------------
 xen/arch/x86/mm/hap/hap.c                     | 14 +-------------
 xen/arch/x86/mm/hap/nested_ept.c              | 13 +------------
 xen/arch/x86/mm/hap/nested_hap.c              | 14 +-------------
 xen/arch/x86/mm/hap/private.h                 | 13 +------------
 xen/arch/x86/mm/mem_access.c                  | 14 +-------------
 xen/arch/x86/mm/mem_paging.c                  | 14 +-------------
 xen/arch/x86/mm/mem_sharing.c                 | 14 +-------------
 xen/arch/x86/mm/mm-locks.h                    | 14 +-------------
 xen/arch/x86/mm/nested.c                      | 14 +-------------
 xen/arch/x86/mm/p2m-basic.c                   | 14 +-------------
 xen/arch/x86/mm/p2m-ept.c                     | 13 +------------
 xen/arch/x86/mm/p2m-pod.c                     | 14 +-------------
 xen/arch/x86/mm/p2m-pt.c                      | 14 +-------------
 xen/arch/x86/mm/p2m.c                         | 14 +-------------
 xen/arch/x86/mm/p2m.h                         | 14 +-------------
 xen/arch/x86/mm/paging.c                      | 14 +-------------
 xen/arch/x86/mm/physmap.c                     | 14 +-------------
 xen/arch/x86/mm/shadow/common.c               | 14 +-------------
 xen/arch/x86/mm/shadow/hvm.c                  | 14 +-------------
 xen/arch/x86/mm/shadow/multi.c                | 14 +-------------
 xen/arch/x86/mm/shadow/multi.h                | 14 +-------------
 xen/arch/x86/mm/shadow/private.h              | 14 +-------------
 xen/arch/x86/mm/shadow/pv.c                   | 14 +-------------
 xen/arch/x86/mm/shadow/set.c                  | 14 +-------------
 xen/arch/x86/mm/shadow/types.h                | 14 +-------------
 xen/arch/x86/msr.c                            | 14 +-------------
 xen/arch/x86/pv/callback.c                    | 13 +------------
 xen/arch/x86/pv/descriptor-tables.c           | 13 +------------
 xen/arch/x86/pv/emul-gate-op.c                | 14 +-------------
 xen/arch/x86/pv/emul-inv-op.c                 | 14 +-------------
 xen/arch/x86/pv/emul-priv-op.c                | 14 +-------------
 xen/arch/x86/pv/emulate.c                     | 14 +-------------
 xen/arch/x86/pv/grant_table.c                 | 13 +------------
 xen/arch/x86/pv/hypercall.c                   | 14 +-------------
 xen/arch/x86/pv/misc-hypercalls.c             | 14 +-------------
 xen/arch/x86/pv/mm.c                          | 13 +------------
 xen/arch/x86/pv/ro-page-fault.c               | 14 +-------------
 xen/arch/x86/pv/shim.c                        | 14 +-------------
 xen/arch/x86/pv/traps.c                       | 14 +-------------
 xen/arch/x86/smpboot.c                        | 14 +-------------
 xen/arch/x86/spec_ctrl.c                      | 14 +-------------
 xen/arch/x86/traps.c                          | 14 +-------------
 xen/arch/x86/x86_64/mmconfig.h                | 13 +------------
 xen/arch/x86/x86_emulate/x86_emulate.c        | 14 +-------------
 xen/arch/x86/x86_emulate/x86_emulate.h        | 14 +-------------
 150 files changed, 151 insertions(+), 1858 deletions(-)

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 18:45:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 18:45:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515413.798259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgrqZ-00088H-Sl; Mon, 27 Mar 2023 18:45:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515413.798259; Mon, 27 Mar 2023 18: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 1pgrqZ-00087w-NA; Mon, 27 Mar 2023 18:45:35 +0000
Received: by outflank-mailman (input) for mailman id 515413;
 Mon, 27 Mar 2023 18:45:33 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1pgrqX-0007pU-Ms
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 18:45:33 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pgrqW-0004OZ-7I; Mon, 27 Mar 2023 18:45:32 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pgrqV-00044j-Ru; Mon, 27 Mar 2023 18:45: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:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=QocsWa+ZWvxdn5Tw2Ssm0euyN93Y3Z7uWoyB+fBuNPg=; b=ELLp6C9YnWaUcr293M/dWBdV0k
	k53VWnJPAfZjnuUCD/lmSGq7SAmaUjzMCB4f6fk2vlWoUEjrBYBP1NvgIlhAQZ+yN8UwIL3ilHrLs
	SiFpsB15OWvhYHRGwIveNeYcD8GOZguUNU21pVuNpZgGoaWr/4lao+3LsY1ikyg8bHFo=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.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>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Paul Durrant <paul@xen.org>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [PATCH v2 2/7] xen/x86: Replace GPL v2.0 license boilerplate with an SPDX tag in *.c
Date: Mon, 27 Mar 2023 19:45:15 +0100
Message-Id: <20230327184520.81828-3-julien@xen.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230327184520.81828-1-julien@xen.org>
References: <20230327184520.81828-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

It is easier to understand the license of a file when using SPDX.

This is replacing the below pattern with the SPDX tag GPL-2.0-only
in xen/arch/x86/*.c:

 * This program is free software; you can redistribute it and/or modify it
 * under the terms and conditions of the GNU General Public License,
 * version 2, as published by the Free Software Foundation.
 *
 * This program is distributed in the hope it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program; If not, see <http://www.gnu.org/licenses/>.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---

    Changes in v2:
        * Switch to GPL-2.0-only
        * Rebase

42sh> cat gpl-2.0.txt
 * 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/>.
42sh> find xen/arch/x86/ -name '*.c' -exec replace_license.py gpl-2.0.txt GPL-2.0-only {} \;
---
 xen/arch/x86/cpu/mwait-idle.c    | 13 +------------
 xen/arch/x86/cpu/vpmu.c          | 13 +------------
 xen/arch/x86/cpu/vpmu_amd.c      | 13 +------------
 xen/arch/x86/cpu/vpmu_intel.c    | 13 +------------
 xen/arch/x86/genapic/x2apic.c    | 13 +------------
 xen/arch/x86/hvm/asid.c          | 13 +------------
 xen/arch/x86/hvm/dm.c            | 13 +------------
 xen/arch/x86/hvm/hpet.c          | 13 +------------
 xen/arch/x86/hvm/hvm.c           | 13 +------------
 xen/arch/x86/hvm/intercept.c     | 13 +------------
 xen/arch/x86/hvm/io.c            | 13 +------------
 xen/arch/x86/hvm/ioreq.c         | 13 +------------
 xen/arch/x86/hvm/irq.c           | 13 +------------
 xen/arch/x86/hvm/mtrr.c          | 13 +------------
 xen/arch/x86/hvm/nestedhvm.c     | 13 +------------
 xen/arch/x86/hvm/pmtimer.c       | 13 +------------
 xen/arch/x86/hvm/quirks.c        | 13 +------------
 xen/arch/x86/hvm/save.c          | 13 +------------
 xen/arch/x86/hvm/svm/asid.c      | 13 +------------
 xen/arch/x86/hvm/svm/emulate.c   | 13 +------------
 xen/arch/x86/hvm/svm/intr.c      | 13 +------------
 xen/arch/x86/hvm/svm/nestedsvm.c | 13 +------------
 xen/arch/x86/hvm/svm/svm.c       | 13 +------------
 xen/arch/x86/hvm/svm/svmdebug.c  | 13 +------------
 xen/arch/x86/hvm/svm/vmcb.c      | 13 +------------
 xen/arch/x86/hvm/vlapic.c        | 13 +------------
 xen/arch/x86/hvm/vmx/intr.c      | 13 +------------
 xen/arch/x86/hvm/vmx/vmcs.c      | 13 +------------
 xen/arch/x86/hvm/vmx/vmx.c       | 13 +------------
 xen/arch/x86/hvm/vmx/vvmx.c      | 13 +------------
 xen/arch/x86/hvm/vpt.c           | 13 +------------
 xen/arch/x86/mm/altp2m.c         | 13 +------------
 xen/arch/x86/mm/hap/guest_walk.c | 13 +------------
 xen/arch/x86/mm/hap/nested_ept.c | 13 +------------
 xen/arch/x86/mm/p2m-ept.c        | 13 +------------
 35 files changed, 35 insertions(+), 420 deletions(-)

diff --git a/xen/arch/x86/cpu/mwait-idle.c b/xen/arch/x86/cpu/mwait-idle.c
index 9e981e7e26dc..ff5c808bc952 100644
--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * mwait_idle.c - native hardware idle loop for modern processors
  *
  * Copyright (c) 2013, Intel Corporation.
  * Len Brown <len.brown@intel.com>
- *
- * 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/>.
  */
 
 /*
diff --git a/xen/arch/x86/cpu/vpmu.c b/xen/arch/x86/cpu/vpmu.c
index b6b7342fb466..f31c32bcf3a6 100644
--- a/xen/arch/x86/cpu/vpmu.c
+++ b/xen/arch/x86/cpu/vpmu.c
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vpmu.c: PMU virtualization for HVM domain.
  *
  * Copyright (c) 2007, 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/>.
- *
  * Author: Haitao Shan <haitao.shan@intel.com>
  */
 #include <xen/cpu.h>
diff --git a/xen/arch/x86/cpu/vpmu_amd.c b/xen/arch/x86/cpu/vpmu_amd.c
index 9df739aa3f03..18266b9521a9 100644
--- a/xen/arch/x86/cpu/vpmu_amd.c
+++ b/xen/arch/x86/cpu/vpmu_amd.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vpmu_amd.c: AMD specific PMU virtualization.
  *
@@ -7,18 +8,6 @@
  * Author: Wei Wang <wei.wang2@amd.com>
  * Tested by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
- *
  */
 
 #include <xen/err.h>
diff --git a/xen/arch/x86/cpu/vpmu_intel.c b/xen/arch/x86/cpu/vpmu_intel.c
index bcfa187a14b6..35e350578b84 100644
--- a/xen/arch/x86/cpu/vpmu_intel.c
+++ b/xen/arch/x86/cpu/vpmu_intel.c
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vpmu_intel.c: CORE 2 specific PMU virtualization.
  *
  * Copyright (c) 2007, 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/>.
- *
  * Author: Haitao Shan <haitao.shan@intel.com>
  */
 
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index 0a7ee820f578..ca1db27157e2 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * x2APIC driver.
  *
  * Copyright (c) 2008, 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/>.
  */
 
 #include <xen/init.h>
diff --git a/xen/arch/x86/hvm/asid.c b/xen/arch/x86/hvm/asid.c
index 1fd2770a3ae0..0faaa24a8f6e 100644
--- a/xen/arch/x86/hvm/asid.c
+++ b/xen/arch/x86/hvm/asid.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * asid.c: ASID management
  * Copyright (c) 2007, Advanced Micro Devices, Inc.
  * Copyright (c) 2009, Citrix Systems, Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/init.h>
diff --git a/xen/arch/x86/hvm/dm.c b/xen/arch/x86/hvm/dm.c
index f8e6089870b0..462691f91d3c 100644
--- a/xen/arch/x86/hvm/dm.c
+++ b/xen/arch/x86/hvm/dm.c
@@ -1,17 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (c) 2016 Citrix Systems Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/event.h>
diff --git a/xen/arch/x86/hvm/hpet.c b/xen/arch/x86/hvm/hpet.c
index c65e1b27d09e..dff27b760eb6 100644
--- a/xen/arch/x86/hvm/hpet.c
+++ b/xen/arch/x86/hvm/hpet.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * hpet.c: HPET emulation for HVM guests.
  * Copyright (c) 2006, Intel Corporation.
  * Copyright (c) 2006, Keir Fraser <keir@xensource.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <asm/hvm/vpt.h>
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index d326fa1c0136..5733829e4db4 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * hvm.c: Common hardware virtual machine abstractions.
  *
  * Copyright (c) 2004, Intel Corporation.
  * Copyright (c) 2005, International Business Machines Corporation.
  * Copyright (c) 2008, Citrix Systems, Inc.
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/ctype.h>
diff --git a/xen/arch/x86/hvm/intercept.c b/xen/arch/x86/hvm/intercept.c
index ffa31b746716..61664c0ad13f 100644
--- a/xen/arch/x86/hvm/intercept.c
+++ b/xen/arch/x86/hvm/intercept.c
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * intercept.c: Handle performance critical I/O packets in hypervisor space
  *
  * Copyright (c) 2004, Intel Corporation.
  * Copyright (c) 2008, Citrix Systems, Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/ioreq.h>
diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
index 5ae209d3b6b3..c6fca689ba78 100644
--- a/xen/arch/x86/hvm/io.c
+++ b/xen/arch/x86/hvm/io.c
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * io.c: Handling I/O and interrupts.
  *
  * Copyright (c) 2004, Intel Corporation.
  * Copyright (c) 2005, International Business Machines Corporation.
  * Copyright (c) 2008, Citrix Systems, Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/init.h>
diff --git a/xen/arch/x86/hvm/ioreq.c b/xen/arch/x86/hvm/ioreq.c
index 0bdcca1e1a5f..20dbb4c8cfb4 100644
--- a/xen/arch/x86/hvm/ioreq.c
+++ b/xen/arch/x86/hvm/ioreq.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * hvm/io.c: hardware virtual machine I/O emulation
  *
  * Copyright (c) 2016 Citrix Systems Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/domain.h>
diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
index 4fe87a71c12b..1258371eb029 100644
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * irq.c
  * 
  * Interrupt distribution and delivery logic.
  * 
  * Copyright (c) 2006, K A Fraser, XenSource Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/types.h>
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index f1a88d761635..29f3fb160776 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * mtrr.c: MTRR/PAT virtualization
  *
  * Copyright (c) 2007, 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/>.
  */
 
 #include <xen/domain_page.h>
diff --git a/xen/arch/x86/hvm/nestedhvm.c b/xen/arch/x86/hvm/nestedhvm.c
index 58370190ffc9..ec68551127b7 100644
--- a/xen/arch/x86/hvm/nestedhvm.c
+++ b/xen/arch/x86/hvm/nestedhvm.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Nested HVM
  * Copyright (c) 2011, Advanced Micro Devices, Inc.
  * Author: Christoph Egger <Christoph.Egger@amd.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <asm/msr.h>
diff --git a/xen/arch/x86/hvm/pmtimer.c b/xen/arch/x86/hvm/pmtimer.c
index b89d0fd53ba1..2145c531b62f 100644
--- a/xen/arch/x86/hvm/pmtimer.c
+++ b/xen/arch/x86/hvm/pmtimer.c
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * hvm/pmtimer.c: emulation of the ACPI PM timer 
  *
  * Copyright (c) 2007, XenSource inc.
  * Copyright (c) 2006, 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/>.
  */
 
 #include <xen/sched.h>
diff --git a/xen/arch/x86/hvm/quirks.c b/xen/arch/x86/hvm/quirks.c
index 2adab1f4b84b..bd30b0f881cb 100644
--- a/xen/arch/x86/hvm/quirks.c
+++ b/xen/arch/x86/hvm/quirks.c
@@ -1,17 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * x86/hvm/quirks.c
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/types.h>
diff --git a/xen/arch/x86/hvm/save.c b/xen/arch/x86/hvm/save.c
index c1675e3d9fb0..79713cd6cad0 100644
--- a/xen/arch/x86/hvm/save.c
+++ b/xen/arch/x86/hvm/save.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * hvm/save.c: Save and restore HVM guest's emulated hardware state.
  *
@@ -6,18 +7,6 @@
  * Copyright (c) 2007, Isaku Yamahata <yamahata at valinux co jp>
  *                     VA Linux Systems Japan K.K.
  *                     split x86 specific part
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/guest_access.h>
diff --git a/xen/arch/x86/hvm/svm/asid.c b/xen/arch/x86/hvm/svm/asid.c
index 150d8dfc8178..09f8c23fd99a 100644
--- a/xen/arch/x86/hvm/svm/asid.c
+++ b/xen/arch/x86/hvm/svm/asid.c
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * asid.c: handling ASIDs in SVM.
  * Copyright (c) 2007, Advanced Micro Devices, Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <asm/amd.h>
diff --git a/xen/arch/x86/hvm/svm/emulate.c b/xen/arch/x86/hvm/svm/emulate.c
index 391f0255162e..a5977aa6a61f 100644
--- a/xen/arch/x86/hvm/svm/emulate.c
+++ b/xen/arch/x86/hvm/svm/emulate.c
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * emulate.c: handling SVM emulate instructions help.
  * Copyright (c) 2005 AMD 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/>.
  */
 
 #include <xen/err.h>
diff --git a/xen/arch/x86/hvm/svm/intr.c b/xen/arch/x86/hvm/svm/intr.c
index dbb0022190a8..0d2c0a86fdb3 100644
--- a/xen/arch/x86/hvm/svm/intr.c
+++ b/xen/arch/x86/hvm/svm/intr.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * intr.c: Interrupt handling for SVM.
  * Copyright (c) 2005, AMD Inc.
  * Copyright (c) 2004, 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/>.
  */
 
 #include <xen/init.h>
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index 63ed9fc248e1..36e458d665fe 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * nestedsvm.c: Nested Virtualization
  * Copyright (c) 2011, Advanced Micro Devices, Inc
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
- *
  */
 
 #include <asm/hvm/support.h>
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index bfe03316def6..f3cd4db306fd 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * svm.c: handling SVM architecture-related VM exits
  * Copyright (c) 2004, Intel Corporation.
  * Copyright (c) 2005-2007, Advanced Micro Devices, Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/domain_page.h>
diff --git a/xen/arch/x86/hvm/svm/svmdebug.c b/xen/arch/x86/hvm/svm/svmdebug.c
index bce86f0ef706..7d6dc9ef47db 100644
--- a/xen/arch/x86/hvm/svm/svmdebug.c
+++ b/xen/arch/x86/hvm/svm/svmdebug.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * svmdebug.c: debug functions
  * Copyright (c) 2011, Advanced Micro Devices, Inc.
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
- *
  */
 
 #include <xen/sched.h>
diff --git a/xen/arch/x86/hvm/svm/vmcb.c b/xen/arch/x86/hvm/svm/vmcb.c
index ba93375e87d2..314e1fab419e 100644
--- a/xen/arch/x86/hvm/svm/vmcb.c
+++ b/xen/arch/x86/hvm/svm/vmcb.c
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vmcb.c: VMCB management
  * Copyright (c) 2005-2007, Advanced Micro Devices, Inc.
  * Copyright (c) 2004, 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/>.
- *
  */
 
 #include <xen/init.h>
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index dc93b5e930b1..faa07db03d06 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vlapic.c: virtualize LAPIC for HVM vcpus.
  *
  * Copyright (c) 2004, Intel Corporation.
  * Copyright (c) 2006 Keir Fraser, XenSource Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/types.h>
diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
index 6a8316de0e25..3b6fa1519a1d 100644
--- a/xen/arch/x86/hvm/vmx/intr.c
+++ b/xen/arch/x86/hvm/vmx/intr.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * intr.c: handling I/O, interrupts related VMX entry/exit
  * Copyright (c) 2004, Intel Corporation.
  * Copyright (c) 2004-2007, XenSource Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/init.h>
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index d3c75b380381..92b833f3f890 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vmcs.c: VMCS management
  * Copyright (c) 2004, 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/>.
  */
 
 #include <xen/init.h>
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 7d5ed8d470e1..7fa72c162a2a 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vmx.c: handling VMX architecture-related VM exits
  * Copyright (c) 2004, 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/>.
  */
 
 #include <xen/guest_access.h>
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 674cdabb0736..b8c92d643780 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vvmx.c: Support virtual VMX for nested virtualization.
  *
@@ -5,18 +6,6 @@
  * Author: Qing He <qing.he@intel.com>
  *         Eddie Dong <eddie.dong@intel.com>
  *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
- *
  */
 
 #include <xen/ioreq.h>
diff --git a/xen/arch/x86/hvm/vpt.c b/xen/arch/x86/hvm/vpt.c
index 621f5bb88b63..8f53e88d6706 100644
--- a/xen/arch/x86/hvm/vpt.c
+++ b/xen/arch/x86/hvm/vpt.c
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vpt.c: Virtual Platform Timer
  *
  * Copyright (c) 2006, Xiaowei Yang, 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/>.
  */
 
 #include <xen/sched.h>
diff --git a/xen/arch/x86/mm/altp2m.c b/xen/arch/x86/mm/altp2m.c
index 07393befeeed..a04297b646ff 100644
--- a/xen/arch/x86/mm/altp2m.c
+++ b/xen/arch/x86/mm/altp2m.c
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Alternate p2m HVM
  * 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/>.
  */
 
 #include <asm/hvm/hvm.h>
diff --git a/xen/arch/x86/mm/hap/guest_walk.c b/xen/arch/x86/mm/hap/guest_walk.c
index 1da8d3b99edc..d1b7c5762c9e 100644
--- a/xen/arch/x86/mm/hap/guest_walk.c
+++ b/xen/arch/x86/mm/hap/guest_walk.c
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * arch/x86/mm/hap/guest_walk.c
  *
  * Guest page table walker
  * Copyright (c) 2007, AMD Corporation (Wei Huang)
  * Copyright (c) 2007, XenSource Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include <xen/domain_page.h>
diff --git a/xen/arch/x86/mm/hap/nested_ept.c b/xen/arch/x86/mm/hap/nested_ept.c
index 605e47c16cd5..d6df48af5427 100644
--- a/xen/arch/x86/mm/hap/nested_ept.c
+++ b/xen/arch/x86/mm/hap/nested_ept.c
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * nested_ept.c: Handling virtulized EPT for guest in nested case.
  *
  * Copyright (c) 2012, Intel Corporation
  *  Xiantao Zhang <xiantao.zhang@intel.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 #include <xen/vm_event.h>
 #include <xen/event.h>
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index bb143c6c42c6..ffd34a1cc65f 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * ept-p2m.c: use the EPT page table as p2m
  * Copyright (c) 2007, 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/>.
  */
 
 #include <xen/domain_page.h>
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 18:45:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 18:45:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515415.798279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgrqc-0000Dr-NW; Mon, 27 Mar 2023 18:45:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515415.798279; Mon, 27 Mar 2023 18:45: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 1pgrqc-0000D4-Fi; Mon, 27 Mar 2023 18:45:38 +0000
Received: by outflank-mailman (input) for mailman id 515415;
 Mon, 27 Mar 2023 18:45: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 1pgrqb-000093-FM
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 18:45: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 1pgrqZ-0004PB-5T; Mon, 27 Mar 2023 18:45:35 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=dev-dsk-jgrall-1b-035652ec.eu-west-1.amazon.com)
 by xenbits.xenproject.org with esmtpsa
 (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pgrqY-00044j-Qa; Mon, 27 Mar 2023 18:45:35 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=WbncluMJqXFuclE/Z6KpLTTiH8u6lIjghGGIazdqqQw=; b=eGSVOR+lYIgZPMjq9isWYRcmKK
	8Otj2R1XfEhvR9yiAuV0txVGSIC+kUA+ABnKugmXx9gs/se7GXYROF97iBZjSdLc/d8O4RScl2leN
	BcNym1sACb6pJrWzDzYwswjhvYM0/W6oialg6NOLmn9viO3Ap0rpQVeKoCEYB8IjxDfk=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: julien@xen.org,
	Julien Grall <jgrall@amazon.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>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [PATCH v2 4/7] xen/x86: Replace GPL v2.0 license boilerplate with an SPDX tag in *.h
Date: Mon, 27 Mar 2023 19:45:17 +0100
Message-Id: <20230327184520.81828-5-julien@xen.org>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20230327184520.81828-1-julien@xen.org>
References: <20230327184520.81828-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

It is easier to understand the license of a file when using SPDX.

This is replacing the below pattern with the SPDX tag GPL-2.0-only
in xen/arch/x86/*.h:

 * 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/>.

Signed-off-by: Julien Grall <jgrall@amazon.com>

---

    Changes in v2:
        * Use GPL-2.0-only
        * Regenerate the patch as some headers were moved

42sh> cat gpl-2.0.txt
 * 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/>.
42sh> find xen/arch/x86/ -name '*.h' -exec replace_license.py gpl-2.0.txt GPL-2.0-only {} \;
---
 xen/arch/x86/include/asm/altp2m.h            | 13 +------------
 xen/arch/x86/include/asm/hvm/asid.h          | 13 +------------
 xen/arch/x86/include/asm/hvm/domain.h        | 13 +------------
 xen/arch/x86/include/asm/hvm/hvm.h           | 13 +------------
 xen/arch/x86/include/asm/hvm/io.h            | 13 +------------
 xen/arch/x86/include/asm/hvm/ioreq.h         | 13 +------------
 xen/arch/x86/include/asm/hvm/irq.h           | 13 +------------
 xen/arch/x86/include/asm/hvm/monitor.h       | 13 +------------
 xen/arch/x86/include/asm/hvm/nestedhvm.h     | 13 +------------
 xen/arch/x86/include/asm/hvm/save.h          | 13 +------------
 xen/arch/x86/include/asm/hvm/support.h       | 13 +------------
 xen/arch/x86/include/asm/hvm/svm/nestedsvm.h | 13 +------------
 xen/arch/x86/include/asm/hvm/svm/svm.h       | 13 +------------
 xen/arch/x86/include/asm/hvm/svm/svmdebug.h  | 13 +------------
 xen/arch/x86/include/asm/hvm/svm/vmcb.h      | 13 +------------
 xen/arch/x86/include/asm/hvm/vcpu.h          | 13 +------------
 xen/arch/x86/include/asm/hvm/vlapic.h        | 13 +------------
 xen/arch/x86/include/asm/hvm/vm_event.h      | 13 +------------
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h      | 13 +------------
 xen/arch/x86/include/asm/hvm/vmx/vmx.h       | 13 +------------
 xen/arch/x86/include/asm/hvm/vmx/vvmx.h      | 13 +------------
 xen/arch/x86/include/asm/hvm/vpt.h           | 13 +------------
 xen/arch/x86/include/asm/iommu.h             | 14 +-------------
 xen/arch/x86/include/asm/ioreq.h             | 13 +------------
 xen/arch/x86/include/asm/vm_event.h          | 13 +------------
 xen/arch/x86/include/asm/vpmu.h              | 13 +------------
 xen/arch/x86/mm/hap/private.h                | 13 +------------
 xen/arch/x86/x86_64/mmconfig.h               | 13 +------------
 28 files changed, 28 insertions(+), 337 deletions(-)

diff --git a/xen/arch/x86/include/asm/altp2m.h b/xen/arch/x86/include/asm/altp2m.h
index b206e95863a6..e5e59cbd6836 100644
--- a/xen/arch/x86/include/asm/altp2m.h
+++ b/xen/arch/x86/include/asm/altp2m.h
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Alternate p2m HVM
  * 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_X86_ALTP2M_H
diff --git a/xen/arch/x86/include/asm/hvm/asid.h b/xen/arch/x86/include/asm/hvm/asid.h
index 633ddb72e494..0207f8fc29db 100644
--- a/xen/arch/x86/include/asm/hvm/asid.h
+++ b/xen/arch/x86/include/asm/hvm/asid.h
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * asid.h: ASID management
  * Copyright (c) 2007, Advanced Micro Devices, Inc.
  * Copyright (c) 2009, Citrix Systems, Inc.
- *
- * 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_X86_HVM_ASID_H__
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
index 698455444ea8..02c32cf26d6b 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * domain.h: HVM per domain definitions
  *
  * Copyright (c) 2004, Intel Corporation.
  * Copyright (c) 2005, International Business Machines 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_X86_HVM_DOMAIN_H__
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 43d3fc249887..de320177294d 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * hvm.h: Hardware virtual machine assist interface definitions.
  *
  * Leendert van Doorn, leendert@watson.ibm.com
  * Copyright (c) 2005, International Business Machines 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_X86_HVM_HVM_H__
diff --git a/xen/arch/x86/include/asm/hvm/io.h b/xen/arch/x86/include/asm/hvm/io.h
index 54e0161b492c..8df33eb6cc42 100644
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * io.h: HVM IO support
  *
  * Copyright (c) 2004, 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_X86_HVM_IO_H__
diff --git a/xen/arch/x86/include/asm/hvm/ioreq.h b/xen/arch/x86/include/asm/hvm/ioreq.h
index 9b2eb6fedf99..84be14fd0850 100644
--- a/xen/arch/x86/include/asm/hvm/ioreq.h
+++ b/xen/arch/x86/include/asm/hvm/ioreq.h
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * hvm.h: Hardware virtual machine assist interface definitions.
  *
  * Copyright (c) 2016 Citrix Systems Inc.
- *
- * 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_X86_HVM_IOREQ_H__
diff --git a/xen/arch/x86/include/asm/hvm/irq.h b/xen/arch/x86/include/asm/hvm/irq.h
index c4369ceb7aaa..2d136ab99b79 100644
--- a/xen/arch/x86/include/asm/hvm/irq.h
+++ b/xen/arch/x86/include/asm/hvm/irq.h
@@ -1,21 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /******************************************************************************
  * irq.h
  * 
  * Interrupt distribution and delivery logic.
  * 
  * Copyright (c) 2006, K A Fraser, XenSource Inc.
- *
- * 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_X86_HVM_IRQ_H__
diff --git a/xen/arch/x86/include/asm/hvm/monitor.h b/xen/arch/x86/include/asm/hvm/monitor.h
index 639f6dfa374c..da521064b9d0 100644
--- a/xen/arch/x86/include/asm/hvm/monitor.h
+++ b/xen/arch/x86/include/asm/hvm/monitor.h
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * include/asm-x86/hvm/monitor.h
  *
  * Arch-specific hardware virtual machine monitor abstractions.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef __ASM_X86_HVM_MONITOR_H__
diff --git a/xen/arch/x86/include/asm/hvm/nestedhvm.h b/xen/arch/x86/include/asm/hvm/nestedhvm.h
index 7184928c2bb1..3d1ec53a6ff9 100644
--- a/xen/arch/x86/include/asm/hvm/nestedhvm.h
+++ b/xen/arch/x86/include/asm/hvm/nestedhvm.h
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Nested HVM
  * Copyright (c) 2011, Advanced Micro Devices, Inc.
  * Author: Christoph Egger <Christoph.Egger@amd.com>
- *
- * 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 _HVM_NESTEDHVM_H
diff --git a/xen/arch/x86/include/asm/hvm/save.h b/xen/arch/x86/include/asm/hvm/save.h
index e975011ddb71..9d838c48e357 100644
--- a/xen/arch/x86/include/asm/hvm/save.h
+++ b/xen/arch/x86/include/asm/hvm/save.h
@@ -1,17 +1,6 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * save.h: HVM support routines for save/restore
- *
- * 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 __XEN_HVM_SAVE_H__
diff --git a/xen/arch/x86/include/asm/hvm/support.h b/xen/arch/x86/include/asm/hvm/support.h
index 6b583738ecb5..8d4707e58c9c 100644
--- a/xen/arch/x86/include/asm/hvm/support.h
+++ b/xen/arch/x86/include/asm/hvm/support.h
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * support.h: HVM support routines used by VT-x and SVM.
  *
  * Leendert van Doorn, leendert@watson.ibm.com
  * Copyright (c) 2005, International Business Machines 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_X86_HVM_SUPPORT_H__
diff --git a/xen/arch/x86/include/asm/hvm/svm/nestedsvm.h b/xen/arch/x86/include/asm/hvm/svm/nestedsvm.h
index 230f818df80c..406fc082b107 100644
--- a/xen/arch/x86/include/asm/hvm/svm/nestedsvm.h
+++ b/xen/arch/x86/include/asm/hvm/svm/nestedsvm.h
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * nestedsvm.h: Nested Virtualization
  * Copyright (c) 2011, Advanced Micro Devices, Inc
  *
- * 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_X86_HVM_SVM_NESTEDSVM_H__
 #define __ASM_X86_HVM_SVM_NESTEDSVM_H__
diff --git a/xen/arch/x86/include/asm/hvm/svm/svm.h b/xen/arch/x86/include/asm/hvm/svm/svm.h
index 7d5de0122a40..687d35be4027 100644
--- a/xen/arch/x86/include/asm/hvm/svm/svm.h
+++ b/xen/arch/x86/include/asm/hvm/svm/svm.h
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * svm.h: SVM Architecture related definitions
  * Copyright (c) 2005, AMD Corporation.
  * Copyright (c) 2004, 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_X86_HVM_SVM_H__
diff --git a/xen/arch/x86/include/asm/hvm/svm/svmdebug.h b/xen/arch/x86/include/asm/hvm/svm/svmdebug.h
index 330c1d91aad5..f1cde676dca1 100644
--- a/xen/arch/x86/include/asm/hvm/svm/svmdebug.h
+++ b/xen/arch/x86/include/asm/hvm/svm/svmdebug.h
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * svmdebug.h: SVM related debug defintions
  * Copyright (c) 2011, AMD 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_X86_HVM_SVM_SVMDEBUG_H__
diff --git a/xen/arch/x86/include/asm/hvm/svm/vmcb.h b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
index b809e85507aa..7da50dbc6cbd 100644
--- a/xen/arch/x86/include/asm/hvm/svm/vmcb.h
+++ b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vmcb.h: VMCB related definitions
  * Copyright (c) 2005-2007, Advanced Micro Devices, Inc
  * Copyright (c) 2004, 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_X86_HVM_SVM_VMCB_H__
 #define __ASM_X86_HVM_SVM_VMCB_H__
diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h b/xen/arch/x86/include/asm/hvm/vcpu.h
index 8adf4555c2ab..c9ef2b325bd4 100644
--- a/xen/arch/x86/include/asm/hvm/vcpu.h
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vcpu.h: HVM per vcpu definitions
  *
  * Copyright (c) 2005, International Business Machines 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_X86_HVM_VCPU_H__
diff --git a/xen/arch/x86/include/asm/hvm/vlapic.h b/xen/arch/x86/include/asm/hvm/vlapic.h
index 8f908928c35c..f27454a13698 100644
--- a/xen/arch/x86/include/asm/hvm/vlapic.h
+++ b/xen/arch/x86/include/asm/hvm/vlapic.h
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * hvm_vlapic.h: virtualize LAPIC definitions.
  *
  * Copyright (c) 2004, Intel Corporation.
  * Copyright (c) 2006 Keir Fraser, XenSource Inc.
- *
- * 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_X86_HVM_VLAPIC_H__
diff --git a/xen/arch/x86/include/asm/hvm/vm_event.h b/xen/arch/x86/include/asm/hvm/vm_event.h
index 28cb07ce8ff6..506a85c7748b 100644
--- a/xen/arch/x86/include/asm/hvm/vm_event.h
+++ b/xen/arch/x86/include/asm/hvm/vm_event.h
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * include/asm-x86/hvm/vm_event.h
  *
  * Hardware virtual machine vm_event abstractions.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; If not, see <http://www.gnu.org/licenses/>.
  */
 
 #ifndef __ASM_X86_HVM_VM_EVENT_H__
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
index 0a84e7447805..51641caa9fd3 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vmcs.h: VMCS related definitions
  * Copyright (c) 2004, 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_X86_HVM_VMX_VMCS_H__
 #define __ASM_X86_HVM_VMX_VMCS_H__
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
index 82a9487b40f5..36c108d8797d 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vmx.h: VMX Architecture related definitions
  * Copyright (c) 2004, 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_X86_HVM_VMX_VMX_H__
 #define __ASM_X86_HVM_VMX_VMX_H__
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vvmx.h b/xen/arch/x86/include/asm/hvm/vmx/vvmx.h
index 2c3adb5dd6b3..dc9db69258d2 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vvmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vvmx.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 
 /*
  * vvmx.h: Support virtual VMX for nested virtualization.
@@ -6,18 +7,6 @@
  * Author: Qing He <qing.he@intel.com>
  *         Eddie Dong <eddie.dong@intel.com>
  *
- * 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_X86_HVM_VVMX_H__
 #define __ASM_X86_HVM_VVMX_H__
diff --git a/xen/arch/x86/include/asm/hvm/vpt.h b/xen/arch/x86/include/asm/hvm/vpt.h
index 74c0cedd11cc..935cbe333b11 100644
--- a/xen/arch/x86/include/asm/hvm/vpt.h
+++ b/xen/arch/x86/include/asm/hvm/vpt.h
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vpt.h: Virtual Platform Timer definitions
  *
  * Copyright (c) 2004, 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_X86_HVM_VPT_H__
diff --git a/xen/arch/x86/include/asm/iommu.h b/xen/arch/x86/include/asm/iommu.h
index 586c7434f243..0540cd9faa87 100644
--- a/xen/arch/x86/include/asm/iommu.h
+++ b/xen/arch/x86/include/asm/iommu.h
@@ -1,16 +1,4 @@
-/*
- * 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/>.
-*/
+/* SPDX-License-Identifier: GPL-2.0-only */
 #ifndef __ARCH_X86_IOMMU_H__
 #define __ARCH_X86_IOMMU_H__
 
diff --git a/xen/arch/x86/include/asm/ioreq.h b/xen/arch/x86/include/asm/ioreq.h
index d06ce9a6ea56..5fe811eff598 100644
--- a/xen/arch/x86/include/asm/ioreq.h
+++ b/xen/arch/x86/include/asm/ioreq.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * ioreq.h: Hardware virtual machine assist interface definitions.
  *
@@ -5,18 +6,6 @@
  * from the common code.
  *
  * Copyright (c) 2016 Citrix Systems Inc.
- *
- * 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_X86_IOREQ_H__
diff --git a/xen/arch/x86/include/asm/vm_event.h b/xen/arch/x86/include/asm/vm_event.h
index 075612407523..46e77ed6d936 100644
--- a/xen/arch/x86/include/asm/vm_event.h
+++ b/xen/arch/x86/include/asm/vm_event.h
@@ -1,19 +1,8 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vm_event.h: architecture specific vm_event handling routines
  *
  * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
- *
- * 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_X86_VM_EVENT_H__
diff --git a/xen/arch/x86/include/asm/vpmu.h b/xen/arch/x86/include/asm/vpmu.h
index 05e1fbfccfcf..b165acc6c273 100644
--- a/xen/arch/x86/include/asm/vpmu.h
+++ b/xen/arch/x86/include/asm/vpmu.h
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * vpmu.h: PMU virtualization for HVM domain.
  *
  * Copyright (c) 2007, 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/>.
- *
  * Author: Haitao Shan <haitao.shan@intel.com>
  */
 
diff --git a/xen/arch/x86/mm/hap/private.h b/xen/arch/x86/mm/hap/private.h
index 1040eaf69f43..7eb672fa413a 100644
--- a/xen/arch/x86/mm/hap/private.h
+++ b/xen/arch/x86/mm/hap/private.h
@@ -1,20 +1,9 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * arch/x86/mm/hap/private.h
  *
  * Copyright (c) 2007, AMD Corporation (Wei Huang)
  *
- * 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 __HAP_PRIVATE_H__
 #define __HAP_PRIVATE_H__
diff --git a/xen/arch/x86/x86_64/mmconfig.h b/xen/arch/x86/x86_64/mmconfig.h
index 433046be663a..2d49fc79a0bb 100644
--- a/xen/arch/x86/x86_64/mmconfig.h
+++ b/xen/arch/x86/x86_64/mmconfig.h
@@ -1,18 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
 /*
  * Copyright (c) 2006, 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/>.
- *
  * Author: Allen Kay <allen.m.kay@intel.com> - adapted from linux
  */
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 19:20:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 19:20:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515443.798314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgsOG-0007xW-Qz; Mon, 27 Mar 2023 19:20:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515443.798314; Mon, 27 Mar 2023 19: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 1pgsOG-0007xP-OD; Mon, 27 Mar 2023 19:20:24 +0000
Received: by outflank-mailman (input) for mailman id 515443;
 Mon, 27 Mar 2023 19:20: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 1pgsOF-0007xF-If; Mon, 27 Mar 2023 19:20: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 1pgsOF-0005Hl-Fj; Mon, 27 Mar 2023 19:20: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 1pgsOF-0006eq-5C; Mon, 27 Mar 2023 19:20:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgsOF-0000Pi-4R; Mon, 27 Mar 2023 19:20:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=E1jubpIdtFmOFm4XPnt5jgBTGJdb+QV590cZbz1z3tQ=; b=DWGSZx1t8bPqP2Cxxpc8IDJ2TR
	/0Y5BjmaQbat52MBu0Ac5wT0dxLVPBBJtYEjBrhh15gK9gtLm3aVUA1LColRi5f5yQfir+mSZI8vg
	4WsrI5rpL0jNjIjMkhCm5Ru/7b9t8cqbsEf/k9RZULeqs9pgfNrp5EaV5yT+DP4poU50=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180031-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180031: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=144028626e0072c2c4fdfcc0fe1b72de319bdd2f
X-Osstest-Versions-That:
    ovmf=2bc854588309b6a9b348655297f3f82165de23a7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Mar 2023 19:20:23 +0000

flight 180031 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180031/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 144028626e0072c2c4fdfcc0fe1b72de319bdd2f
baseline version:
 ovmf                 2bc854588309b6a9b348655297f3f82165de23a7

Last test of basis   180028  2023-03-27 09:42:11 Z    0 days
Testing same since   180031  2023-03-27 16:40:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Patel Umang <umang.patel@intel.com>
  Umang Patel <umang.patel@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
   2bc8545883..144028626e  144028626e0072c2c4fdfcc0fe1b72de319bdd2f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 19:30:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 19:30:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515448.798323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgsY6-00016i-PZ; Mon, 27 Mar 2023 19:30:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515448.798323; Mon, 27 Mar 2023 19:30:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgsY6-00016b-Mb; Mon, 27 Mar 2023 19:30:34 +0000
Received: by outflank-mailman (input) for mailman id 515448;
 Mon, 27 Mar 2023 19:30: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 1pgsY5-00016R-QQ; Mon, 27 Mar 2023 19:30: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 1pgsY5-0005Sx-IT; Mon, 27 Mar 2023 19:30:33 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pgsY5-0006sR-4Q; Mon, 27 Mar 2023 19:30:33 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgsY5-0004jb-3x; Mon, 27 Mar 2023 19:30:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wGT2BxAd+fNLUVsBJLMN7AZDOirJQOAC7n/ZJW4YB60=; b=VvLOiYjh3NT/zUftbFlzq8L3O8
	2L8pdcEnQ/QiUaq6Wq0y7t8WrL6v4aZ9aI/M58jMHGX1Fu3FYgK8SGSDdD+W3nayfUETee6oDT/c2
	4J8+gz2a4dSqfToDWJeHG+lNqorUJ8cSpNHyJ5K7hp5xnWbBM3PPcPb2HxvcfH9nBYog=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180029-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 180029: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-start:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host/debian.repeat:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start/debian.repeat:fail:regression
    linux-linus:build-arm64-xsm:xen-build:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-install/l1:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/src_host/dst_host:fail:heisenbug
    linux-linus:test-arm64-arm64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore.2:fail:heisenbug
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-saverestore:fail:allowable
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked: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-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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-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-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=197b6b60ae7bc51dd0814953c562833143b292aa
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Mar 2023 19:30:33 +0000

flight 180029 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180029/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   19 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  19 guest-saverestore.2      fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 17 guest-saverestore fail in 180025 REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 28 guest-migrate/dst_host/src_host/debian.repeat fail in 180025 REGR. vs. 178042
 test-amd64-coresched-amd64-xl 17 guest-saverestore fail in 180025 REGR. vs. 178042
 test-arm64-arm64-xl 18 guest-start/debian.repeat fail in 180025 REGR. vs. 178042
 build-arm64-xsm               6 xen-build      fail in 180025 REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 180025 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-shadow   14 guest-start      fail in 180025 pass in 180029
 test-amd64-amd64-xl-credit2  14 guest-start      fail in 180025 pass in 180029
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 180025 pass in 180029
 test-amd64-amd64-qemuu-nested-amd 15 xen-install/l1 fail in 180025 pass in 180029
 test-amd64-amd64-libvirt-pair 26 guest-migrate/src_host/dst_host fail pass in 180025
 test-arm64-arm64-xl          14 guest-start                fail pass in 180025
 test-amd64-amd64-xl-rtds     14 guest-start                fail pass in 180025
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 17 guest-saverestore.2 fail pass in 180025
 test-amd64-coresched-amd64-xl 14 guest-start               fail pass in 180025
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail pass in 180025
 test-amd64-amd64-xl-multivcpu 14 guest-start               fail pass in 180025

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 16 guest-localmigrate fail in 180025 REGR. vs. 178042
 test-amd64-amd64-xl-rtds  17 guest-saverestore fail in 180025 REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm       1 build-check(1)           blocked in 180025 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 180025 n/a
 test-arm64-arm64-xl         15 migrate-support-check fail in 180025 never pass
 test-arm64-arm64-xl     16 saverestore-support-check fail in 180025 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                197b6b60ae7bc51dd0814953c562833143b292aa
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   34 days
Failing since        178093  2023-02-22 05:02:47 Z   33 days   61 attempts
Testing same since   180025  2023-03-27 02:40:15 Z    0 days    2 attempts

------------------------------------------------------------
2278 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 267308 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Mar 27 19:41:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 19:41:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515454.798344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgsiu-0002yX-6H; Mon, 27 Mar 2023 19:41:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515454.798344; Mon, 27 Mar 2023 19:41: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 1pgsiu-0002yQ-2e; Mon, 27 Mar 2023 19:41:44 +0000
Received: by outflank-mailman (input) for mailman id 515454;
 Mon, 27 Mar 2023 19:41:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kO+W=7T=citrix.com=prvs=443697bea=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pgsis-0002j7-De
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 19:41:42 +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 62f618e2-ccd7-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 21:41:39 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62f618e2-ccd7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679946098;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=zXrYZq0YbjQfrHz+D24bJPE28LLfa/PMxOmz2kUZMhI=;
  b=ctJbWgX1qxk3abg3PZsD1sPghlIXUnMqBAigEjSdWNbBttBzjZj3iIxr
   PXhf5RLym/mtS3qTCXAD8sipb2h7WBDFFYXMh4h754XTiqS3Sh+/8wDno
   7ygldHb2najrY/Nt9Al3QhwvUROdVu8JKXk7j6uzpMcs2XzPhrd2apW8Z
   A=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103115614
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:pgESI6A8heWN5RVW/1Pjw5YqxClBgxIJ4kV8jS/XYbTApD0ngTRRz
 WoeDz2Eb/yJZzD3LtlwPoy+oxtQucLWy4RmQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhC4QRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwq/R2HF9L/
 +EhFnMgdD3c2824/+u/Y7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9I4TRHJwIwB/Ez
 o7A1073OUpZbMeU8iqI4339grbt3im8dJ1HQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFamlBMBX9tbE8Uh9RqAjKHT5m6xGWwsXjNHLts8u6cLqScCj
 wHT2YmzXHo27ePTECjGnluJkd+sEXkHLHI8YCUZdDVGzsPO/90cgC2WSv82RcZZkebJ9SHML
 yGi9XZh1utN0JRQj81X7nic3Wvy+8Ghohodo1yOAzn7tl4RiJuNPdTA1LTN0RpXwG91pHGlt
 WNMpcWR5ftm4XqlxH3UG7Vl8F1ECp+43Nzgbb1HRcNJG8yFoSLLQGypyGgWyL1VGsgFYyT1R
 0TYpBlc4pReVFPzM/AmMt7oW591l/a4fTgAahwyRoAWCnSWXFHvwc2TTRTIgzCFfLYEyMnTx
 qt3ge7zVC1HWMyLPRK9RvsH0K9D+x3SMVj7HMihpzz+iOr2WZJgYetdWLd4RrxjvfzsTcS82
 4o3CvZmPD0GCbSlOHWOod9KRb3IRFBiba3LRwVsXrbrCmJb9KsJUJc9HZtJl1RZoplo
IronPort-HdrOrdr: A9a23:GqQEYaMZId+AvMBcTgajsMiBIKoaSvp037Eqv3oBLyC9E/b5qy
 nKpp8mPHDP6Qr5NEtQ/OxoW5PwOE80l6QFmbX5VI3KNGaJhILBFvAY0WKI+UyFJ8SRzJ876Y
 5QN4VFJZnXK3MSt6rHCQ+DeeoI8Z283Jrtr8H44FdCcTpDVoFHyENCJjvzKDwUeCB2QZU4EZ
 aH5tlKvVObFEg/ZNigG38AU/PiirTw5fDbXSI=
X-IronPort-AV: E=Sophos;i="5.98,295,1673931600"; 
   d="scan'208";a="103115614"
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>, Sergey Dyasli
	<sergey.dyasli@citrix.com>
Subject: [PATCH 4/5] x86/ucode: Cache results in microcode_scan_module()
Date: Mon, 27 Mar 2023 20:41:25 +0100
Message-ID: <20230327194126.3573997-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

When microcode_scan_module() is used, it's used twice.

The caching of the bootstrap_map() pointer in ucode_blob.data is buggy for
multiple reasons and is going to be removed.

Right now, the boot flow depends on the second pass over
bootstrap_map()/find_cpio_data() altering ucode_blob.data to use the directmap
alias of the CPIO module, where previously it caches the early boostrap
mapping.

If the scan is successful, it will be successful the second time too, but
there's no point repeating the work.  Cache the module index, offset and size
to short circuit things the second time around.

While rearranging this, reduce the scope of the internals of the loop,
changing the type of _blob_start to void and droping the dead stores into cd.

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: Sergey Dyasli <sergey.dyasli@citrix.com>
---
 xen/arch/x86/cpu/microcode/core.c | 34 ++++++++++++++++++++++++++-----
 1 file changed, 29 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 4d2a896fe78d..7d32bc13db6f 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -152,14 +152,30 @@ void __init microcode_scan_module(
     unsigned long *module_map,
     const multiboot_info_t *mbi)
 {
+    static __initdata struct { /* Cached details of a previous successful scan. */
+        unsigned long offset;  /* Offset from the start of the CPIO archive. */
+        unsigned long size;    /* Size of the CPIO file. */
+        unsigned int mod_idx;  /* Which multiboot module the CPIO archive is. */
+    } scan;
+
     module_t *mod = (module_t *)__va(mbi->mods_addr);
-    uint64_t *_blob_start;
-    unsigned long _blob_size;
-    struct cpio_data cd;
     const char *p = NULL;
     int i;
 
     ucode_blob.size = 0;
+
+    if ( scan.mod_idx ) /* Previous scan was successful. */
+    {
+        void *map = bootstrap_map(&mod[scan.mod_idx]);
+
+        if ( !map )
+            return;
+
+        ucode_blob.size = scan.size;
+        ucode_blob.data = map + scan.offset;
+        return;
+    }
+
     if ( !ucode_scan )
         return;
 
@@ -175,6 +191,10 @@ void __init microcode_scan_module(
      */
     for ( i = 1 /* Ignore dom0 kernel */; i < mbi->mods_count; i++ )
     {
+        void *_blob_start;
+        unsigned long _blob_size;
+        struct cpio_data cd;
+
         if ( !test_bit(i, module_map) )
             continue;
 
@@ -186,15 +206,19 @@ void __init microcode_scan_module(
                    i, _blob_size);
             continue;
         }
-        cd.data = NULL;
-        cd.size = 0;
+
         cd = find_cpio_data(p, _blob_start, _blob_size);
         if ( cd.data )
         {
+            scan.mod_idx = i;
+            scan.offset  = cd.data - _blob_start;
+            scan.size    = cd.size;
+
             ucode_blob.size = cd.size;
             ucode_blob.data = cd.data;
             break;
         }
+
         bootstrap_map(NULL);
     }
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 19:41:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 19:41:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515453.798333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgsis-0002jP-Po; Mon, 27 Mar 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 515453.798333; Mon, 27 Mar 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 1pgsis-0002jI-NG; Mon, 27 Mar 2023 19:41:42 +0000
Received: by outflank-mailman (input) for mailman id 515453;
 Mon, 27 Mar 2023 19:41:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=kO+W=7T=citrix.com=prvs=443697bea=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pgsir-0002j7-PD
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 19:41:42 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 62f0e800-ccd7-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 21:41:38 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62f0e800-ccd7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679946098;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=qHxoaXcYTvK6LrtavVTEPpXmEC/muoBbiaV4h46YBMA=;
  b=R2aKa0qEOt6uVQ9A1QIMt9c8NaZjDlVvmlonnFgeG25wWVYK044tzGqR
   kyXzdVzkB7M7Swz7IFqcfy4IoJ2uLaJoWuB3TldSLGpmEey0KcmdBwjwq
   AtXn24YKrBBANxg2ZJrZ9IsWjoXScKgCbuwRpk0+YEV3nYnDFAgscashT
   o=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103008786
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:2TsHU6PFZ10BXH/vrR2ol8FynXyQoLVcMsEvi/4bfWQNrUorhjRWy
 GMcWD2POqmDamvxe9B1PISz9BwH6pLSmNJiQAto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5ANmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0vddXUpW6
 8MfFAI2UzyIm/6J+b6JddA506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEN3w2Nk+ojx5nYz/7DLoXmuuyi2a5WDpfsF+P/oI84nTJzRw327/oWDbQUoXSHp0NzhnI+
 Aoq+Uz2XjcLDp+k9QOrySz8nM/trSr5RacdQejQGvlC3wTImz175ActfUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxasnDQRRt5RGO0S8xyWx+zf5APxLncAZi5MbpohrsBeeNAx/
 gbXxZWzX2Up6eDLDyvHrd94sA9eJwAEBzMpfTE7Sjc32OTPq50vsSvDfOlaRfvdYsLOJd3g/
 9ybhHFg2ORN05NRjP3TEUPv2Gz1+MWQJuIhzkCOBz/+sFskDGKwT9bwgWU3+8qsO2pworOpm
 HEf0/aT4+kVZX1mvHzcGb5ddF1FChvsDdE9vbKMN8N7n9hV0yT/Fb28Gg1WKkZzKdojcjT0e
 kLVsg45zMYNYyr7MfYnON3rVZxCIU3c+TLNDKi8gj1mPPBMmPKvpnkyNSZ8IUi0+KTTrU3PE
 cjCKpv9ZZrrIa9m0CC3V48g7FPf/QhnnTm7bcmin3yaPU+2OCb9Ya0bK2GHcu1RxPrC+G05B
 f4DbZrVo/ieOcWiChTqHXk7dAlTdiJnXMCn8qS6tIere2JbJY3oMNeJqZtJRmCvt/49ejvgl
 p1lZnJl9Q==
IronPort-HdrOrdr: A9a23:cyh7iqGKBec31Sn8pLqEL8eALOsnbusQ8zAXP0AYc20yTiX4ra
 CTdZEgviMc5wxxZJhNo6HkBEDiewKkyXcW2/hoAV7KZmCP1wWVxelZnPDfKlbbaknDH4BmpM
 BdWpk7JefcSX5dpq/BjDVQFexL/PC3tJqFv6P16VBDbS9XUIlczyFfTjy2LyRNNWp7LKt8G5
 qY6tBGtDa7EE57Uu2wGmMZWezOvP3n/aiWAyI7Ow==
X-IronPort-AV: E=Sophos;i="5.98,295,1673931600"; 
   d="scan'208";a="103008786"
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>, Sergey Dyasli
	<sergey.dyasli@citrix.com>
Subject: [PATCH 1/5] xen/earlycpio: Drop nextoff parameter
Date: Mon, 27 Mar 2023 20:41:22 +0100
Message-ID: <20230327194126.3573997-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This is imported from Linux, but the parameter being signed is dubious in the
first place and we're not plausibly going to gain a use for the functionality.
Linux has subsequently made it an optional parameter to avoid forcing callers
to pass a stack variable they don't care about using.

In the unlikely case that we gain a usecase, we can reintroduce it, but in the
meantime simplify the single caller.

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: Sergey Dyasli <sergey.dyasli@citrix.com>
---
 xen/arch/x86/cpu/microcode/core.c | 3 +--
 xen/common/earlycpio.c            | 8 +-------
 xen/include/xen/earlycpio.h       | 3 +--
 3 files changed, 3 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index cfa2d5053a52..11c471cc3f83 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -156,7 +156,6 @@ void __init microcode_scan_module(
     uint64_t *_blob_start;
     unsigned long _blob_size;
     struct cpio_data cd;
-    long offset;
     const char *p = NULL;
     int i;
 
@@ -189,7 +188,7 @@ void __init microcode_scan_module(
         }
         cd.data = NULL;
         cd.size = 0;
-        cd = find_cpio_data(p, _blob_start, _blob_size, &offset /* ignore */);
+        cd = find_cpio_data(p, _blob_start, _blob_size);
         if ( cd.data )
         {
             ucode_blob.size = cd.size;
diff --git a/xen/common/earlycpio.c b/xen/common/earlycpio.c
index 4bcf32a51ceb..6c76307c2541 100644
--- a/xen/common/earlycpio.c
+++ b/xen/common/earlycpio.c
@@ -56,10 +56,6 @@ enum cpio_fields {
  * @path:       The directory to search for, including a slash at the end
  * @data:       Pointer to the the cpio archive or a header inside
  * @len:        Remaining length of the cpio based on data pointer
- * @nextoff:    When a matching file is found, this is the offset from the
- *              beginning of the cpio to the beginning of the next file, not the
- *              matching file itself. It can be used to iterate through the cpio
- *              to find all files inside of a directory path.
  *
  * @return:     struct cpio_data containing the address, length and
  *              filename (with the directory path cut off) of the found file.
@@ -68,8 +64,7 @@ enum cpio_fields {
  *              the match returned an empty filename string.
  */
 
-struct cpio_data __init find_cpio_data(const char *path, void *data,
-				       size_t len,  long *nextoff)
+struct cpio_data __init find_cpio_data(const char *path, void *data, size_t len)
 {
 	const size_t cpio_header_len = 8*C_NFIELDS - 2;
 	struct cpio_data cd = { NULL, 0, "" };
@@ -129,7 +124,6 @@ struct cpio_data __init find_cpio_data(const char *path, void *data,
 		if ((ch[C_MODE] & 0170000) == 0100000 &&
 		    ch[C_NAMESIZE] >= mypathsize &&
 		    !memcmp(p, path, mypathsize)) {
-			*nextoff = (long)nptr - (long)data;
 			if (ch[C_NAMESIZE] - mypathsize >= MAX_CPIO_FILE_NAME) {
 				printk(
 				"File %s exceeding MAX_CPIO_FILE_NAME [%d]\n",
diff --git a/xen/include/xen/earlycpio.h b/xen/include/xen/earlycpio.h
index 16d9404d739e..d4992035982d 100644
--- a/xen/include/xen/earlycpio.h
+++ b/xen/include/xen/earlycpio.h
@@ -9,7 +9,6 @@ struct cpio_data {
 	char name[MAX_CPIO_FILE_NAME];
 };
 
-struct cpio_data find_cpio_data(const char *path, void *data, size_t len,
-				long *offset);
+struct cpio_data find_cpio_data(const char *path, void *data, size_t len);
 
 #endif /* _EARLYCPIO_H */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 19:41:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 19:41:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515456.798360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgsiv-0003H5-Pc; Mon, 27 Mar 2023 19:41:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515456.798360; Mon, 27 Mar 2023 19: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 1pgsiv-0003Gg-JF; Mon, 27 Mar 2023 19:41:45 +0000
Received: by outflank-mailman (input) for mailman id 515456;
 Mon, 27 Mar 2023 19: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=kO+W=7T=citrix.com=prvs=443697bea=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pgsiu-0002j7-Dp
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 19:41:44 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 65bbf68f-ccd7-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 21:41:41 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65bbf68f-ccd7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679946101;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ycSPzPhEBhMtNfmYAIo5IKgNH3bA3cjpPAQnh0Y1CjM=;
  b=Za7FuoYXny5HaZx7CwZZwwnK5L7JmrWwz1JRXckx6o+JPc2Jaikx6cPT
   mYtzcXdXTPNkBSGYrTujTffDV1Eim2cjp1IVdFR8u0uo2nrHHowzRRoIO
   fXLeSZINi89oyyFLZtNhiLbfEqv4DHIgESpgDnxS4Jd44/BYgii1T3WKR
   0=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103115617
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:2Q+mEqgX7AJFwVioDI3Czs2XX161GhAKZh0ujC45NGQN5FlHY01je
 htvCG+Ea/beMWbwKd5yOori8RwEvcfQxtFqHQU++XowRi0b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wWBzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tRJOjEQUBWJmtuIg5+hZ7Ywqcocdc3CadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/
 jmfpjmnW05y2Nq3liOsyzHz2PX1vSbHerAUCZS0rNBnqQjGroAUIEJPDgbqyRWjsWauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O88Q5RyJy6HUyx2EHWVCRTlEAPQ5sOcmSDps0
 UWG9+4FHhQ27ufTEyjEsO7J83XrY3N9wXI+iTEsHBkE/ufmqpwKsFHiVPs8TIG7sYTxMGSlq
 9yVlxTSl4n/nOZSifrqow6a2Wn0znTaZlVrv1uKBwpJ+is8Pdf4PNLwtDA3+N4adO6kok+9U
 G/ociR0xMQHFtmzmSOEW43h95n5tq/eYFUwbbOCdqTNFghBGFb5J+i8GBkkeC9U3j8sIFcFm
 nP7twJL/4N0N3C3d6JxaI/ZI510kvmxSY21Da+OMIImjn1NmOmvpnkGiam4gQjQfLUEy/lja
 f93j+71ZZrlNUiX5GXvHLpMuVPa7is/2XnSVfjG8vhT6pLHPCT9Ye5cYDOzghURsPvsTPP9r
 4wOaKNnCnx3DIXDX8Ug2ddKdAtQcSFrVMmeRg4+XrfrHzeK0VoJU5f5qY7NsaQ890iJvo8kJ
 k2AZ3I=
IronPort-HdrOrdr: A9a23:kV1XHKgXmofnPIpRnl/2v2WnuHBQXh0ji2hC6mlwRA09TySZ//
 re+sjztCWVtN91YhodcL+7WZVoLUmskKKdgrNhRItKPjOWwFdARbsKheSN/9SJIVyEygc379
 YFT0ERMqyWMXFKyevBzU2fNf1I+rW6GaaT79v2/jNWYTsvQYdGwCdWNj2yL21RY019KadRLu
 v+2uN34zWhfHgMbte2HBA+MtTrrcHQiZTjbQUnKnccmWuzsQ8=
X-IronPort-AV: E=Sophos;i="5.98,295,1673931600"; 
   d="scan'208";a="103115617"
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>, Sergey Dyasli
	<sergey.dyasli@citrix.com>
Subject: [PATCH 5/5] x86/ucode: Drop ucode_mod and ucode_blob
Date: Mon, 27 Mar 2023 20:41:26 +0100
Message-ID: <20230327194126.3573997-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

These both incorrectly cache bootstrap_map()'d pointers across returns back to
__start_xen().  This is never valid, and such pointers may fault, or point to
something unrelated.

With the refactoring work in the previous patches, they're clearly now just
non-standard function return parameters.

Rename struct ucode_mod_blob to just struct blob for breviy and because
there's nothing really ucode-specific about it.

Introduce find_microcode_blob(), to replace microcode_grab_module(), and
rework microcode_scan_module() so they both return a pointer/size tuple, and
don't cache their return values in global state.

This allows us to remove the microcode_init() initcall, the comments of which
gives the false impression that either of the cached pointers are safe to use.

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: Sergey Dyasli <sergey.dyasli@citrix.com>
---
 xen/arch/x86/cpu/microcode/core.c | 154 +++++++++++++-----------------
 1 file changed, 68 insertions(+), 86 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 7d32bc13db6f..0ae628ba99d4 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -55,7 +55,6 @@
  */
 #define MICROCODE_UPDATE_TIMEOUT_US 1000000
 
-static module_t __initdata ucode_mod;
 static signed int __initdata ucode_mod_idx;
 static bool_t __initdata ucode_mod_forced;
 static unsigned int nr_cores;
@@ -76,18 +75,11 @@ static enum {
     LOADING_EXIT,
 } loading_state;
 
-/*
- * If we scan the initramfs.cpio for the early microcode code
- * and find it, then 'ucode_blob' will contain the pointer
- * and the size of said blob. It is allocated from Xen's heap
- * memory.
- */
-struct ucode_mod_blob {
+struct blob {
     const void *data;
     size_t size;
 };
 
-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.
@@ -148,7 +140,15 @@ static int __init cf_check parse_ucode(const char *s)
 }
 custom_param("ucode", parse_ucode);
 
-void __init microcode_scan_module(
+/*
+ * Scan all unclaimed modules, looking for a decompressed CPIO archive
+ * containing a microcode file according to the Linux early microcode API.
+ *
+ * Always caches the results, positive or negative.
+ *
+ * Returns a ptr/size tupe.  Either NULL/0, or a bootstrap_map()'d region.
+ */
+static struct blob __init microcode_scan_module(
     unsigned long *module_map,
     const multiboot_info_t *mbi)
 {
@@ -159,32 +159,35 @@ void __init microcode_scan_module(
     } scan;
 
     module_t *mod = (module_t *)__va(mbi->mods_addr);
+    struct blob blob = {};
     const char *p = NULL;
     int i;
 
-    ucode_blob.size = 0;
-
     if ( scan.mod_idx ) /* Previous scan was successful. */
     {
         void *map = bootstrap_map(&mod[scan.mod_idx]);
 
         if ( !map )
-            return;
+            return blob;
+
+        blob.size = scan.size;
+        blob.data = map + scan.offset;
 
-        ucode_blob.size = scan.size;
-        ucode_blob.data = map + scan.offset;
-        return;
+        return blob;
     }
 
     if ( !ucode_scan )
-        return;
+        return blob;
+
+    /* Only scan once, whatever the outcome. */
+    ucode_scan = false;
 
     if ( boot_cpu_data.x86_vendor == X86_VENDOR_AMD )
         p = "kernel/x86/microcode/AuthenticAMD.bin";
     else if ( boot_cpu_data.x86_vendor == X86_VENDOR_INTEL )
         p = "kernel/x86/microcode/GenuineIntel.bin";
     else
-        return;
+        return blob;
 
     /*
      * Try all modules and see whichever could be the microcode blob.
@@ -214,30 +217,15 @@ void __init microcode_scan_module(
             scan.offset  = cd.data - _blob_start;
             scan.size    = cd.size;
 
-            ucode_blob.size = cd.size;
-            ucode_blob.data = cd.data;
+            blob.size = cd.size;
+            blob.data = cd.data;
             break;
         }
 
         bootstrap_map(NULL);
     }
-}
-
-static void __init microcode_grab_module(
-    unsigned long *module_map,
-    const multiboot_info_t *mbi)
-{
-    module_t *mod = (module_t *)__va(mbi->mods_addr);
 
-    if ( ucode_mod_idx < 0 )
-        ucode_mod_idx += mbi->mods_count;
-    if ( ucode_mod_idx <= 0 || ucode_mod_idx >= mbi->mods_count ||
-         !__test_and_clear_bit(ucode_mod_idx, module_map) )
-        goto scan;
-    ucode_mod = mod[ucode_mod_idx];
-scan:
-    if ( ucode_scan )
-        microcode_scan_module(module_map, mbi);
+    return blob;
 }
 
 static struct microcode_ops __ro_after_init ucode_ops;
@@ -746,28 +734,6 @@ int microcode_update(XEN_GUEST_HANDLE(const_void) buf, unsigned long len)
                                      microcode_update_helper, buffer);
 }
 
-static int __init cf_check microcode_init(void)
-{
-    /*
-     * At this point, all CPUs should have updated their microcode
-     * via the early_microcode_* paths so free the microcode blob.
-     */
-    if ( ucode_blob.size )
-    {
-        bootstrap_map(NULL);
-        ucode_blob.size = 0;
-        ucode_blob.data = NULL;
-    }
-    else if ( ucode_mod.mod_end )
-    {
-        bootstrap_map(NULL);
-        ucode_mod.mod_end = 0;
-    }
-
-    return 0;
-}
-__initcall(microcode_init);
-
 /* Load a cached update to current cpu */
 int microcode_update_one(void)
 {
@@ -779,26 +745,53 @@ int microcode_update_one(void)
     return microcode_update_cpu(NULL);
 }
 
+/*
+ * Find microcode within the boot modules provided.
+ *
+ * This is called twice on boot, once very early to find the BSP microcode,
+ * and a second time in order to initalise the cache once we've set up the
+ * heap to use.
+ *
+ * Returns a ptr/size tuple, either NULL/0 or a bootstrap_map()'d region.
+ */
+static struct blob __init find_microcode_blob(
+    unsigned long *module_map, const multiboot_info_t *mbi)
+{
+    struct blob blob = {};
+
+    if ( ucode_mod_idx != 0 )
+    {
+        module_t *mod = __va(mbi->mods_addr);
+
+        /* Adjust to support negative backreferences. */
+        if ( ucode_mod_idx < 0 )
+            ucode_mod_idx += mbi->mods_count;
+
+        if ( ucode_mod_idx > 0 &&
+             ucode_mod_idx < mbi->mods_count &&
+             __test_and_clear_bit(ucode_mod_idx, module_map) )
+        {
+            mod += ucode_mod_idx;
+
+            blob.data = bootstrap_map(mod);
+            blob.size = mod->mod_end;
+
+            return blob;
+        }
+
+        /* Still not valid.  Ignore it next time around. */
+        ucode_mod_idx = 0;
+    }
+
+    return microcode_scan_module(module_map, mbi);
+}
+
 int __init microcode_init_cache(unsigned long *module_map,
                                 const struct multiboot_info *mbi)
 {
     int rc = 0;
     struct microcode_patch *patch;
-    struct ucode_mod_blob blob = {};
-
-    if ( ucode_scan )
-        /* Need to rescan the modules because they might have been relocated */
-        microcode_scan_module(module_map, mbi);
-
-    if ( ucode_mod.mod_end )
-    {
-        blob.data = bootstrap_map(&ucode_mod);
-        blob.size = ucode_mod.mod_end;
-    }
-    else if ( ucode_blob.size )
-    {
-        blob = ucode_blob;
-    }
+    struct blob blob = find_microcode_blob(module_map, mbi);
 
     if ( !blob.data )
         return 0;
@@ -833,7 +826,7 @@ int __init early_microcode_init(unsigned long *module_map,
 {
     const struct cpuinfo_x86 *c = &boot_cpu_data;
     struct microcode_patch *patch;
-    struct ucode_mod_blob blob = {};
+    struct blob blob = {};
     int rc = 0;
 
     switch ( c->x86_vendor )
@@ -855,20 +848,9 @@ int __init early_microcode_init(unsigned long *module_map,
         return -ENODEV;
     }
 
-    microcode_grab_module(module_map, mbi);
-
     ucode_ops.collect_cpu_info();
 
-    if ( ucode_blob.data )
-    {
-        blob = ucode_blob;
-    }
-    else if ( ucode_mod.mod_end )
-    {
-        blob.data = bootstrap_map(&ucode_mod);
-        blob.size = ucode_mod.mod_end;
-    }
-
+    blob = find_microcode_blob(module_map, mbi);
     if ( !blob.data )
         return 0;
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 19:41:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 19:41:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515455.798353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgsiv-0003Dq-DG; Mon, 27 Mar 2023 19:41:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515455.798353; Mon, 27 Mar 2023 19: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 1pgsiv-0003Dj-AJ; Mon, 27 Mar 2023 19:41:45 +0000
Received: by outflank-mailman (input) for mailman id 515455;
 Mon, 27 Mar 2023 19:41: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=kO+W=7T=citrix.com=prvs=443697bea=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pgsit-0002j7-ET
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 19:41:43 +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 65a50857-ccd7-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 21:41:41 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65a50857-ccd7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679946101;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=+37pQAwDXobSUp4Mzig8HvM3vol/fpBbo+6RTtS8o+U=;
  b=NFAbki5vAz5tR0Sc3/Q7kmMPUkKSL57zbrlv+wN1XLXZqmVyts0wVHN4
   xN1GEwva1h9sGvb2x9S3EtQ8hvEMV+/Jfe0hEVEE0kE/wkfQqv8eoQfaD
   oXzU23nbtv4KZ2RD257bTxg7F+xgU9632xTvEyw2z1r1fOuHHtWfe7XMz
   E=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103008789
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:U/9cFqnuwuEzBP100vdnyHjo5gyMJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xJOXWmHaa6MMTTxKtF3O9ix808Bv5/QytdjHAFlqS0wRCMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5gCGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 e0ydBsVcC+Eu9CN/Z6wVvVTv8gRE/C+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglHWdTFCpU3Tjq0w+2XJlyR60aT3McqTcduPLSlQth/A/
 TqerzupU3n2MvSG8wvf2FuTqtWWvgzZcblNLIOn98dT1Qj7Kms7V0RNCArTTeOCol6zXZdTJ
 lIZ/gIqrLMu7wq7Q9/lRRq6rXWY+BkGVLJ4Mcc39QWMwar8+BuCCy4PSTspQMMinN87Q3otz
 FDhoj/yLWUx6vvPEyvbr+rK62roYkD5MFPuewcVZ1cu+8fcp70BtS/jRcp/L5e5vOLMTGSYL
 y+xkMQuu1kCpZdViPTlow2d2GrESovhFVBsuFiONo6xxkYgPdP+OdT1gbTOxawYRLt1WGVtq
 5TtdyK2yOkVRa+AmyWWKAnmNOH4vq3VWNEwbLMGInXAy9hO0yT5FWyoyGsiTHqFyPosdz7ze
 1P0sghM/pJVN3bCRfYpPNPgV516lve6S4yNuhXogjxmOMAZmOivoklTibO4hTixwCDAb4lmU
 XtkTSpcJSlDUvk2pNZHb+wczaUq1kgD+I8nfriil07P+ePHNBaopUItbAPmRvon95mNvAi92
 48Zb6NmPT0DCryhCsQWmKZPRW03wY8TXMmv8JYLL77Se2KL2ggJUpfs/F/oQKQ994w9qwsC1
 ivVtpNwoLYnuUD6FA==
IronPort-HdrOrdr: A9a23:xBZJf6ADUn2ktp3lHelr55DYdb4zR+YMi2TC1yhKOHpom62j9/
 xG+c5x6faaslcssR0b6LW90cq7MArhHPxOkPEs1N6ZNWGI1ldARLsSlrcKqAeQfxEWmNQtsp
 tIQuxSMvC1K35Q5PyX3OC/Kbwd6ejCyoyTwc356FhMYz1QQ5xBySA8MCqne3cGJzVuNN43FJ
 +R/MpVqyDIQxkqR86mHGQCW+TZh/CjruOFXSI7
X-IronPort-AV: E=Sophos;i="5.98,295,1673931600"; 
   d="scan'208";a="103008789"
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>, Sergey Dyasli
	<sergey.dyasli@citrix.com>
Subject: [PATCH 0/5] x86/ucode: Fixes to bootstrap_map() handling
Date: Mon, 27 Mar 2023 20:41:21 +0100
Message-ID: <20230327194126.3573997-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

Stumbled on to while trying to fix bugs elsewhere with bootstrap_map().  I
don't know if I'd conciously reaslised how bogus microcode_init() was
previously, but it absolutely can't stay...

Andrew Cooper (5):
  xen/earlycpio: Drop nextoff parameter
  x86/ucode: Fold early_update_cache() into microcode_init_cache()
  x86/ucode: Fold early_microcode_update_cpu() into early_microcode_init()
  x86/ucode: Cache results in microcode_scan_module()
  x86/ucode: Drop ucode_mod and ucode_blob

 xen/arch/x86/cpu/microcode/core.c | 247 +++++++++++++++---------------
 xen/common/earlycpio.c            |   8 +-
 xen/include/xen/earlycpio.h       |   3 +-
 3 files changed, 128 insertions(+), 130 deletions(-)

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 19:41:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 19:41:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515457.798374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgsix-0003ij-19; Mon, 27 Mar 2023 19:41:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515457.798374; Mon, 27 Mar 2023 19:41: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 1pgsiw-0003iD-Sd; Mon, 27 Mar 2023 19:41:46 +0000
Received: by outflank-mailman (input) for mailman id 515457;
 Mon, 27 Mar 2023 19: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=kO+W=7T=citrix.com=prvs=443697bea=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pgsiv-0002j7-Dt
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 19:41:45 +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 65bdbad7-ccd7-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 21:41:43 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65bdbad7-ccd7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679946102;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=LsekXLTw0DjPTzJsgqE8jFzXfBBPFxBP5u5EwDgnQTo=;
  b=PsKJoU5VoM6ym3ON0I2H/5duSvBza1Q1OIi0J9EYG51NS2kONfizgEQP
   AKtlDCf/H0wK5Bo6TdhSVNWyk4IRFOuiqmvwPn7qhPiaKOBtU/vRy/nyN
   kJVvevfwbNo4URNcd86KKxH0tBMqNYMAJQ4I3V5YneEX1v6dCbXB5jZ22
   g=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103008790
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:LMLZAqktGizZl7cFfGK/wRzo5gyMJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIbWGqCPq7ZNmumL4skPYS/8E1QsZGGmodmHAM+/i48FSMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5gCGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 e0ydBsVcC+Eu9CN/Z6wVvVTv8gRE/C+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglHWdTFCpU3Tjq0w+2XJlyR60aT3McqTcduPLSlQth/A/
 TqerzuoWnn2MvS7+COb8HeiodXVkAO4BIs9U6KAyMB11Qj7Kms7V0RNCArTTeOCol6zXZdTJ
 lIZ/gIqrLMu7wq7Q9/lRRq6rXWY+BkGVLJ4Mcc39QWMwar8+BuCCy4PSTspQMMinN87Q3otz
 FDhoj/yLWUx6vvPEyvbr+rK62roYkD5MFPuewcVZ1cu+8fcp70BtS/jRcp/L5e5vOLMTGSYL
 y+xkMQuu1kCpZdViPTlow2d2GrESovhFVBsuFiONo6xxkYgPdP+OdT1gbTOxawYRLt1WGVtq
 5TtdyK2yOkVRa+AmyWWKAnmNOH4vq3VWNEwbLMGInXAy9hO0yT5FWyoyGsiTHqFyPosdz7ze
 1P0sghM/pJVN3bCRfYpPNPgV516lve6S4yNuhXogjxmOMAZmOivoklTibO4hTixwCDAb4lmU
 XtkTSpcJSlDUvk2pNZHb+wczaUq1kgD+I8nfriil07P+ePHNBaopUItbAPmRvon95mNvAi92
 48Zb6NmPT0DCryhCsQWmKZPRW03wY8TXMmv8JYLL77Se2KL2ggJUpfs/F/oQKQ994w9qwsC1
 ivVtpNwoLYnuUD6FA==
IronPort-HdrOrdr: A9a23:iClWU63um1A9Kjec2YfYpQqjBHUkLtp133Aq2lEZdPRUGvbo8f
 xG/c566faQsl0ssR4b+OxoVJPwJE80lqQFmLX5X43SJDUO0VHARO4N0WKL+UyaJ8SUzJ846U
 4PSdkYNPTASXVBoILdxiLQKbodKd+8mpyAtKPl400oZydMRIFP0zxQNya8NQlNaDQuP+tbKL
 OsosVGoja7eWcadK2Aa0UtVfTYutvOmInHTHc9dnwa1DU=
X-IronPort-AV: E=Sophos;i="5.98,295,1673931600"; 
   d="scan'208";a="103008790"
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>, Sergey Dyasli
	<sergey.dyasli@citrix.com>
Subject: [PATCH 3/5] x86/ucode: Fold early_microcode_update_cpu() into early_microcode_init()
Date: Mon, 27 Mar 2023 20:41:24 +0100
Message-ID: <20230327194126.3573997-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

It is not valid to retain a bootstrap_map() across returning back to
__start_xen(), but various pointers get stashed across calls.

Begin to address this by folding early_update_cache() into it's single caller,
rearranging the exit path to always invalidate the mapping.

No practical 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: Sergey Dyasli <sergey.dyasli@citrix.com>
---
 xen/arch/x86/cpu/microcode/core.c | 70 +++++++++++++++----------------
 1 file changed, 33 insertions(+), 37 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 3d23e3ed7ee4..4d2a896fe78d 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -804,45 +804,12 @@ int __init microcode_init_cache(unsigned long *module_map,
     return rc;
 }
 
-/* BSP calls this function to parse ucode blob and then apply an update. */
-static int __init early_microcode_update_cpu(void)
-{
-    const void *data = NULL;
-    size_t len;
-    struct microcode_patch *patch;
-
-    if ( ucode_blob.size )
-    {
-        len = ucode_blob.size;
-        data = ucode_blob.data;
-    }
-    else if ( ucode_mod.mod_end )
-    {
-        len = ucode_mod.mod_end;
-        data = bootstrap_map(&ucode_mod);
-    }
-
-    if ( !data )
-        return -ENOMEM;
-
-    patch = ucode_ops.cpu_request_microcode(data, len, false);
-    if ( IS_ERR(patch) )
-    {
-        printk(XENLOG_WARNING "Parsing microcode blob error %ld\n",
-               PTR_ERR(patch));
-        return PTR_ERR(patch);
-    }
-
-    if ( !patch )
-        return -ENOENT;
-
-    return microcode_update_cpu(patch);
-}
-
 int __init early_microcode_init(unsigned long *module_map,
                                 const struct multiboot_info *mbi)
 {
     const struct cpuinfo_x86 *c = &boot_cpu_data;
+    struct microcode_patch *patch;
+    struct ucode_mod_blob blob = {};
     int rc = 0;
 
     switch ( c->x86_vendor )
@@ -868,8 +835,37 @@ int __init early_microcode_init(unsigned long *module_map,
 
     ucode_ops.collect_cpu_info();
 
-    if ( ucode_mod.mod_end || ucode_blob.size )
-        rc = early_microcode_update_cpu();
+    if ( ucode_blob.data )
+    {
+        blob = ucode_blob;
+    }
+    else if ( ucode_mod.mod_end )
+    {
+        blob.data = bootstrap_map(&ucode_mod);
+        blob.size = ucode_mod.mod_end;
+    }
+
+    if ( !blob.data )
+        return 0;
+
+    patch = ucode_ops.cpu_request_microcode(blob.data, blob.size, false);
+    if ( IS_ERR(patch) )
+    {
+        rc = PTR_ERR(patch);
+        printk(XENLOG_WARNING "Parsing microcode blob error %d\n", rc);
+        goto out;
+    }
+
+    if ( !patch )
+    {
+        rc = -ENOENT;
+        goto out;
+    }
+
+    rc = microcode_update_cpu(patch);
+
+ out:
+    bootstrap_map(NULL);
 
     return rc;
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 19:41:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 19:41:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515458.798383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgsiy-000425-FD; Mon, 27 Mar 2023 19:41:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515458.798383; Mon, 27 Mar 2023 19:41: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 1pgsiy-00041s-Bi; Mon, 27 Mar 2023 19:41:48 +0000
Received: by outflank-mailman (input) for mailman id 515458;
 Mon, 27 Mar 2023 19: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=kO+W=7T=citrix.com=prvs=443697bea=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1pgsiw-0002j7-Du
 for xen-devel@lists.xenproject.org; Mon, 27 Mar 2023 19:41: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 66e52436-ccd7-11ed-b464-930f4c7d94ae;
 Mon, 27 Mar 2023 21:41:43 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66e52436-ccd7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679946103;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=A4IRiksY66q+14P3ogmWDrkQ7IqWvKWCQhasxkw28Ak=;
  b=LAkwARIq+I+QU2FFcMsqWq/v0WT3eHmyvBn7MTt8YQXs1KVZBQ21PHqS
   CvTngYcwlBvRg/zcnZBH80ntUDmpoGKcL7l6tYXQ/eXQOCZ2NBFBgxcwQ
   EGKSrZjJ+Q1bKkhzbKUilXQehUJvDsiKm9fY+M4rAmFSBhEYMdZhzZ1K2
   U=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103008793
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:T2PxKa/qUbeyCuyvy2XTDrUDjX6TJUtcMsCJ2f8bNWPcYEJGY0x3n
 GQZDDvUOfuCNmP8c48iPt639k0GscSBnddhSwNopCw8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqoU5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklf3
 6AzMC4yaSyxvN+ay66nddBgtPsaeZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGOkcUUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0Mxh3A/
 jKZrj+R7hcyOO2Ylgil3mKXr7HjoQW4f7MgFJmo6as/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c/h6HvA+6QqN4rHJ+AvfDW8BJhZebPQ2uclwQiYlv
 mJlhPuwW2Yp6ufMDyvAqPHN92ja1TUpwXEqdAVYZhMb3N7fkroOohnTUulaHJyKt4igcd3v+
 AxmvBTSlp1K05Faifvmpwuf696/jsOXF1Bov207Skrgt1okP9D9OuRE/HCBtZ59wJClok5tV
 ZTus+yX96gwAJ6Ej0Rhq81dTejyt55p3NAx6GOD/qXNFBz3oRZPhagKvFlDyL1VGsgFYyT1R
 0TYpBlc4pReVFPzM/AmMt7oW591l/a4fTgAahwyRoAWCnSWXFHvwc2TTRTIgzCFfLYEyMnTx
 qt3ge7zVC1HWMyLPRK9RvsH0K9D+x3SMVj7HMihpzz+iOr2WZJgYetdWHOUcPsD5b+JyC2Mt
 Y432z2il08OD4UTo0D/reYuELz9BSFiXMus95UHJ7frz8gPMDhJNsI9CIgJI+RN95m5XM+Rl
 p1hcie0EGbCuEA=
IronPort-HdrOrdr: A9a23:Ss6r4qMpffVyZcBcTgajsMiBIKoaSvp037Eqv3oBLyC9E/b5qy
 nKpp8mPHDP6Qr5NEtQ/OxoW5PwOE80l6QFmbX5VI3KNGaJhILBFvAY0WKI+UyFJ8SRzJ876Y
 5QN4VFJZnXK3MSt6rHCQ+DeeoI8Z283Jrtr8H44FdCcTpDVoFHyENCJjvzKDwUeCB2QZU4EZ
 aH5tlKvVObFEg/ZNigG38AU/PiirTw5fDbXSI=
X-IronPort-AV: E=Sophos;i="5.98,295,1673931600"; 
   d="scan'208";a="103008793"
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>, Sergey Dyasli
	<sergey.dyasli@citrix.com>
Subject: [PATCH 2/5] x86/ucode: Fold early_update_cache() into microcode_init_cache()
Date: Mon, 27 Mar 2023 20:41:23 +0100
Message-ID: <20230327194126.3573997-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

It is not valid to retain a bootstrap_map() across returning back to
__start_xen(), but various pointers get stashed across calls.

Begin to address this by folding early_update_cache() into it's single caller,
rearranging the exit path to always invalidate the mapping.

No practical 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: Sergey Dyasli <sergey.dyasli@citrix.com>
---
 xen/arch/x86/cpu/microcode/core.c | 54 +++++++++++++++++--------------
 1 file changed, 29 insertions(+), 25 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 11c471cc3f83..3d23e3ed7ee4 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -755,47 +755,51 @@ int microcode_update_one(void)
     return microcode_update_cpu(NULL);
 }
 
-static int __init early_update_cache(const void *data, size_t len)
+int __init microcode_init_cache(unsigned long *module_map,
+                                const struct multiboot_info *mbi)
 {
     int rc = 0;
     struct microcode_patch *patch;
+    struct ucode_mod_blob blob = {};
 
-    if ( !data )
-        return -ENOMEM;
+    if ( ucode_scan )
+        /* Need to rescan the modules because they might have been relocated */
+        microcode_scan_module(module_map, mbi);
+
+    if ( ucode_mod.mod_end )
+    {
+        blob.data = bootstrap_map(&ucode_mod);
+        blob.size = ucode_mod.mod_end;
+    }
+    else if ( ucode_blob.size )
+    {
+        blob = ucode_blob;
+    }
 
-    patch = parse_blob(data, len);
+    if ( !blob.data )
+        return 0;
+
+    patch = parse_blob(blob.data, blob.size);
     if ( IS_ERR(patch) )
     {
-        printk(XENLOG_WARNING "Parsing microcode blob error %ld\n",
-               PTR_ERR(patch));
-        return PTR_ERR(patch);
+        rc = PTR_ERR(patch);
+        printk(XENLOG_WARNING "Parsing microcode blob error %d\n", rc);
+        goto out;
     }
 
     if ( !patch )
-        return -ENOENT;
+    {
+        rc = -ENOENT;
+        goto out;
+    }
 
     spin_lock(&microcode_mutex);
     rc = microcode_update_cache(patch);
     spin_unlock(&microcode_mutex);
     ASSERT(rc);
 
-    return rc;
-}
-
-int __init microcode_init_cache(unsigned long *module_map,
-                                const struct multiboot_info *mbi)
-{
-    int rc = 0;
-
-    if ( ucode_scan )
-        /* Need to rescan the modules because they might have been relocated */
-        microcode_scan_module(module_map, mbi);
-
-    if ( ucode_mod.mod_end )
-        rc = early_update_cache(bootstrap_map(&ucode_mod),
-                                ucode_mod.mod_end);
-    else if ( ucode_blob.size )
-        rc = early_update_cache(ucode_blob.data, ucode_blob.size);
+ out:
+    bootstrap_map(NULL);
 
     return rc;
 }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Mar 27 23:09:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Mar 2023 23:09:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515482.798394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgvxs-000236-C7; Mon, 27 Mar 2023 23:09:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515482.798394; Mon, 27 Mar 2023 23:09: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 1pgvxs-00022z-75; Mon, 27 Mar 2023 23:09:24 +0000
Received: by outflank-mailman (input) for mailman id 515482;
 Mon, 27 Mar 2023 23:09: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 1pgvxq-00022p-V4; Mon, 27 Mar 2023 23:09:22 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pgvxq-0001vk-T3; Mon, 27 Mar 2023 23:09:22 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pgvxq-0005iu-HV; Mon, 27 Mar 2023 23:09:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgvxq-0000zV-Gy; Mon, 27 Mar 2023 23: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RsH+BaJ+EsSKe3Gt7YKMkSfjjHvigVMjpkoMEOddCNw=; b=dAPrLoV0VVxxPNcDAB4GpTQ1Z+
	InKJsYLy6XfKr3ZrdErCSqa0zU7EwxfzajmQrKNJYEQVcs8porhFxAD4UbgfL1+3ekAcAeAhjjPBi
	TlHamUTMYJTH55K0/8Cg9BHtp2Sg5Vhbr0fhVQlu8CukhXQLj1AX0fBpxXueMcP+blaE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180030-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-upstream-unstable test] 180030: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    qemu-upstream-unstable:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:heisenbug
    qemu-upstream-unstable:test-amd64-amd64-xl-qcow2:guest-start/debian.repeat:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-upstream-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-upstream-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-upstream-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-upstream-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=8c51cd970509b97d8378d175646ec32889828158
X-Osstest-Versions-That:
    qemuu=625eb5e96dc96aa7fddef59a08edae215527f19c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Mar 2023 23:09:22 +0000

flight 180030 qemu-upstream-unstable real [real]
flight 180033 qemu-upstream-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180030/
http://logs.test-lab.xenproject.org/osstest/logs/180033/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start      fail pass in 180033-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qcow2    21 guest-start/debian.repeat    fail  like 175982
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 175982
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 175982
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 175982
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 175982
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 175982
 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-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-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                8c51cd970509b97d8378d175646ec32889828158
baseline version:
 qemuu                625eb5e96dc96aa7fddef59a08edae215527f19c

Last test of basis   175982  2023-01-19 13:57:28 Z   67 days
Testing same since   180030  2023-03-27 14:09:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anthony PERARD <anthony.perard@citrix.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   625eb5e96d..8c51cd9705  8c51cd970509b97d8378d175646ec32889828158 -> master


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 00:26:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 00:26:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515488.798408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgxAg-00035y-Rq; Tue, 28 Mar 2023 00:26:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515488.798408; Tue, 28 Mar 2023 00:26:42 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgxAg-00035r-OW; Tue, 28 Mar 2023 00:26:42 +0000
Received: by outflank-mailman (input) for mailman id 515488;
 Tue, 28 Mar 2023 00:26:41 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=by25=7U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pgxAf-00035g-IV
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 00:26: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 3514a917-ccff-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 02:26:39 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 4DCCFB8191D;
 Tue, 28 Mar 2023 00:26:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D4E31C433D2;
 Tue, 28 Mar 2023 00: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: 3514a917-ccff-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679963197;
	bh=qkOeqc25HzgkoabAcrW2SovfaG7h0nvPl0oFquzlfHE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cy+Fa3sC64N0DVuVUEl3K9QD50ZV9Kiwu31NMM999tsldNIbdJKaA964gZdRosnHQ
	 s/GTwKEn52OonrKt1mxi0x1Ao/I5GfHEb+lvkQ7qMSgipOStQizLLGUulBGBiwrRbI
	 91rDqWVBStRMaEJvKsMORsxfZZWhMnmk/vyaEXAPo20NQMz3/ZN0OkdqtNCLSiSnMA
	 ayqfQfSLcdJIN0dnEoSfOaQ18w1fBJWxgsQALtYR/JXCXhUGv9dzZ5jMQkp2X3DHP0
	 +bywWGyLaW5/FxrE04ayqgnKmthNVi1JuXt/H8+O5bo2MIpGLViqrFUsXdZ/7qQ2cs
	 biXPlgyYnFlSg==
Date: Mon, 27 Mar 2023 17:26:35 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: 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 v2 1/7] LICENSES: Clarify that the SPDX tag GPL-2.0 is
 deprecated
In-Reply-To: <20230327184520.81828-2-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2303271726280.4066@ubuntu-linux-20-04-desktop>
References: <20230327184520.81828-1-julien@xen.org> <20230327184520.81828-2-julien@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, 27 Mar 2023, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> >From https://spdx.org/licenses/GPL-2.0.html, the SPDX tag GPL-2.0
> is deprecated. Instead, GPL-2.0-only should be used.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>     Changes in v2:
>         - Patch added
> ---
>  LICENSES/GPL-2.0 | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/LICENSES/GPL-2.0 b/LICENSES/GPL-2.0
> index ff0812fd89cc..9f09528a8bce 100644
> --- a/LICENSES/GPL-2.0
> +++ b/LICENSES/GPL-2.0
> @@ -8,9 +8,9 @@ Usage-Guide:
>    tag/value pairs into a comment according to the placement
>    guidelines in the licensing rules documentation.
>    For 'GNU General Public License (GPL) version 2 only' use:
> -    SPDX-License-Identifier: GPL-2.0
> -  or
>      SPDX-License-Identifier: GPL-2.0-only
> +  or (now deprecated)
> +    SPDX-License-Identifier: GPL-2.0
>    For 'GNU General Public License (GPL) version 2 or any later version' use:
>      SPDX-License-Identifier: GPL-2.0+
>    or
> -- 
> 2.39.2
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 00:33:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 00:33:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515491.798418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgxGp-0004cg-HU; Tue, 28 Mar 2023 00:33:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515491.798418; Tue, 28 Mar 2023 00: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 1pgxGp-0004cZ-Dx; Tue, 28 Mar 2023 00:33:03 +0000
Received: by outflank-mailman (input) for mailman id 515491;
 Tue, 28 Mar 2023 00:33: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=by25=7U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pgxGo-0004cT-IS
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 00:33:02 +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 183e9628-cd00-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 02:33:01 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 4153AB819ED;
 Tue, 28 Mar 2023 00:33:00 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 46D99C433D2;
 Tue, 28 Mar 2023 00:32:58 +0000 (UTC)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 183e9628-cd00-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679963579;
	bh=DuJIqtLusLEkE88kdfcYiTRfUxxzAPVtYwv8bhOl068=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=g097HBIb1aWf1KJG790w8pfWvlOtd3QmemSGRej/8z/6YsdPx11BzOp/TYrfy+DYP
	 /S2vkpb/SAZBVL/ztqJ50J/wpO65wnpaAtRgbwGbi/t5avYIt0XDDHYvvTu26wU0an
	 3UIcR4235J4SZz12WDmy5WaU8DsPCxkJfQ+svSGVWMUwN65vzbqJKGitJ+eVN7irkA
	 CejRPGg31/efNbqZ+g8i1wSWvcFK/nsKKiLtPVf28wCAt/V/Y/t+4P5J56iHl5Ti84
	 rFO0zzdIM79uezqpKkICVJekgz3tNkPMOfMwAeXkk03zTsiLyAksJsehcjXXG8yC2/
	 FFtprxJZpPi4w==
Date: Mon, 27 Mar 2023 17:32:56 -0700 (PDT)
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, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 1/2] automation: update x86-64 tests to Linux 6.1.19
In-Reply-To: <cd3c32a9e013ff4f9442eccb17c3fc698a862bbf.1679778534.git-series.marmarek@invisiblethingslab.com>
Message-ID: <alpine.DEB.2.22.394.2303271732480.4066@ubuntu-linux-20-04-desktop>
References: <cover.21e1254a0c5cb3256afbc6b7bd44e8f347d7c08f.1679778534.git-series.marmarek@invisiblethingslab.com> <cd3c32a9e013ff4f9442eccb17c3fc698a862bbf.1679778534.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-805764948-1679963579=:4066"

  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-805764948-1679963579=:4066
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Sat, 25 Mar 2023, Marek Marczykowski-Górecki wrote:
> It will be used in tests added in subsequent patches.
> Enable config options needed for those tests.
> While at it, migrate all the x86 tests to the newer kernel, and
> introduce x86-64-test-needs to allow deduplication later (for now it's
> used only once).
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> v2:
>  - replace 5.10.74 with 6.1.19 in all the tests
>  - introduce x86-64-test-needs
> ---
>  automation/gitlab-ci/build.yaml                      |  4 +-
>  automation/gitlab-ci/test.yaml                       |  7 +-
>  automation/tests-artifacts/kernel/5.10.74.dockerfile | 38 +------------
>  automation/tests-artifacts/kernel/6.1.19.dockerfile  | 40 +++++++++++++-
>  4 files changed, 47 insertions(+), 42 deletions(-)
>  delete mode 100644 automation/tests-artifacts/kernel/5.10.74.dockerfile
>  create mode 100644 automation/tests-artifacts/kernel/6.1.19.dockerfile
> 
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 820cc0af83bd..0817f110556e 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -798,9 +798,9 @@ alpine-3.12-rootfs-export:
>    tags:
>      - x86_64
>  
> -kernel-5.10.74-export:
> +kernel-6.1.19-export:
>    extends: .test-jobs-artifact-common
> -  image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:5.10.74
> +  image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:6.1.19
>    script:
>      - mkdir binaries && cp /bzImage binaries/bzImage
>    artifacts:
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index d75662358f34..ee9e3210772b 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -15,6 +15,10 @@
>  .arm32-test-needs: &arm32-test-needs
>    - qemu-system-aarch64-6.0.0-arm32-export
>  
> +.x86-64-test-needs: &x86-64-test-needs
> +  - alpine-3.12-rootfs-export
> +  - kernel-6.1.19-export
> +
>  .qemu-arm64:
>    extends: .test-jobs-common
>    variables:
> @@ -299,9 +303,8 @@ qemu-alpine-x86_64-gcc:
>    script:
>      - ./automation/scripts/qemu-alpine-x86_64.sh 2>&1 | tee ${LOGFILE}
>    needs:
> +    - *x86-64-test-needs
>      - alpine-3.12-gcc
> -    - alpine-3.12-rootfs-export
> -    - kernel-5.10.74-export
>  
>  qemu-smoke-x86-64-gcc:
>    extends: .qemu-x86-64
> diff --git a/automation/tests-artifacts/kernel/5.10.74.dockerfile b/automation/tests-artifacts/kernel/5.10.74.dockerfile
> deleted file mode 100644
> index 112e27fe45e1..000000000000
> --- a/automation/tests-artifacts/kernel/5.10.74.dockerfile
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -FROM debian:unstable
> -LABEL maintainer.name="The Xen Project" \
> -      maintainer.email="xen-devel@lists.xenproject.org"
> -
> -ENV DEBIAN_FRONTEND=noninteractive
> -ENV LINUX_VERSION=5.10.74
> -ENV USER root
> -
> -RUN mkdir /build
> -WORKDIR /build
> -
> -# build depends
> -RUN apt-get update && \
> -    apt-get --quiet --yes install \
> -        build-essential \
> -        libssl-dev \
> -        bc \
> -        curl \
> -        flex \
> -        bison \
> -        libelf-dev \
> -        && \
> -    apt-get autoremove -y && \
> -    apt-get clean && \
> -    rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
> -
> -# Build the kernel
> -RUN curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-"$LINUX_VERSION".tar.xz && \
> -    tar xvJf linux-"$LINUX_VERSION".tar.xz && \
> -    cd linux-"$LINUX_VERSION" && \
> -    make defconfig && \
> -    make xen.config && \
> -    cp .config .config.orig && \
> -    cat .config.orig | grep XEN | grep =m |sed 's/=m/=y/g' >> .config && \
> -    make -j$(nproc) bzImage && \
> -    cp arch/x86/boot/bzImage / && \
> -    cd /build && \
> -    rm -rf linux-"$LINUX_VERSION"*
> diff --git a/automation/tests-artifacts/kernel/6.1.19.dockerfile b/automation/tests-artifacts/kernel/6.1.19.dockerfile
> new file mode 100644
> index 000000000000..c2171555a0a6
> --- /dev/null
> +++ b/automation/tests-artifacts/kernel/6.1.19.dockerfile
> @@ -0,0 +1,40 @@
> +FROM debian:unstable
> +LABEL maintainer.name="The Xen Project" \
> +      maintainer.email="xen-devel@lists.xenproject.org"
> +
> +ENV DEBIAN_FRONTEND=noninteractive
> +ENV LINUX_VERSION=6.1.19
> +ENV USER root
> +
> +RUN mkdir /build
> +WORKDIR /build
> +
> +# build depends
> +RUN apt-get update && \
> +    apt-get --quiet --yes install \
> +        build-essential \
> +        libssl-dev \
> +        bc \
> +        curl \
> +        flex \
> +        bison \
> +        libelf-dev \
> +        && \
> +    apt-get autoremove -y && \
> +    apt-get clean && \
> +    rm -rf /var/lib/apt/lists* /tmp/* /var/tmp/*
> +
> +# Build the kernel
> +RUN curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-"$LINUX_VERSION".tar.xz && \
> +    tar xvJf linux-"$LINUX_VERSION".tar.xz && \
> +    cd linux-"$LINUX_VERSION" && \
> +    make defconfig && \
> +    make xen.config && \
> +    scripts/config --enable BRIDGE && \
> +    scripts/config --enable IGC && \
> +    cp .config .config.orig && \
> +    cat .config.orig | grep XEN | grep =m |sed 's/=m/=y/g' >> .config && \
> +    make -j$(nproc) bzImage && \
> +    cp arch/x86/boot/bzImage / && \
> +    cd /build && \
> +    rm -rf linux-"$LINUX_VERSION"*
> -- 
> git-series 0.9.1
> 
--8323329-805764948-1679963579=:4066--


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 00:33:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 00:33:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515493.798428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgxH6-00051n-TR; Tue, 28 Mar 2023 00:33:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515493.798428; Tue, 28 Mar 2023 00: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 1pgxH6-00051e-QY; Tue, 28 Mar 2023 00:33:20 +0000
Received: by outflank-mailman (input) for mailman id 515493;
 Tue, 28 Mar 2023 00:33: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=by25=7U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pgxH5-0004wX-75
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 00:33:19 +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 2040026f-cd00-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 02:33:14 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ams.source.kernel.org (Postfix) with ESMTPS id 20B41B819ED;
 Tue, 28 Mar 2023 00:33:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2D435C433D2;
 Tue, 28 Mar 2023 00:33: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: 2040026f-cd00-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679963592;
	bh=opwjYMsdzJrfCxAV1946I525eYfji2K0ASbYsJ5T2hA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=jrY3K9R6GaouRI2hN3U+j5klydxRFvQO4KKyRknluhmRxGJooZLTfpNo3XOfCAQD4
	 GLTIt+iTvqTqagt8fPzGn/WFOl7Kf0YiB1DNmosdSPVJ9WfM/zdaxqlz0fpdgZU5Fk
	 YjircnnJ4ijcMe21UuKLfpjknRqRR89hUScb4ouIbH34JMeRVJFQwuDqkkFWQhRCxW
	 3cxuHHA17ZSvv/SoGB4KyA+EgZBFdcki2UrLGjOf1YKjp6NCqMKhVrTbK33cvGatU/
	 23oTdbU6jUAL3GgsXI61PbLdJRrxqTVNWB19NVps7+WRD5lHjc+5pVwZDeI6wxICEw
	 pNwOWitRahHbQ==
Date: Mon, 27 Mar 2023 17:33:10 -0700 (PDT)
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, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 2/2] automation: add a smoke and suspend test on an
 Alder Lake system
In-Reply-To: <6997fb7c3a40da23683bb0ca1961de40376e71a8.1679778534.git-series.marmarek@invisiblethingslab.com>
Message-ID: <alpine.DEB.2.22.394.2303271733030.4066@ubuntu-linux-20-04-desktop>
References: <cover.21e1254a0c5cb3256afbc6b7bd44e8f347d7c08f.1679778534.git-series.marmarek@invisiblethingslab.com> <6997fb7c3a40da23683bb0ca1961de40376e71a8.1679778534.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-924388815-1679963592=:4066"

  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-924388815-1679963592=:4066
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Sat, 25 Mar 2023, Marek Marczykowski-Górecki wrote:
> This is a first test using Qubes OS CI infra. The gitlab-runner has
> access to ssh-based control interface (control@thor.testnet, ssh key
> exposed to the test via ssh-agent) and pre-configured HTTP dir for boot
> files (mapped under /scratch/gitlab-runner/tftp inside the container).
> Details about the setup are described on
> https://www.qubes-os.org/news/2022/05/05/automated-os-testing-on-physical-laptops/
> 
> There are two test. First is a simple dom0+domU boot smoke test, similar
> to other existing tests. The second is one boots Xen, and try if S3
> works. It runs on a ADL-based desktop system. The test script is based
> on the Xilinx one.
> 
> The machine needs newer kernel than other x86 tests run, so use 6.1.x
> kernel added in previous commit.
> 
> The usage of fakeroot is necessary to preserve device nodes (/dev/null
> etc) when repacking rootfs. The test runs in a rootless podman
> container, which doesn't have full root permissions. BTW the same
> applies to docker with user namespaces enabled (but it's only opt-in
> feature there).
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> v2:
>  - install test deps in dockerfile
>  - rename test script
>  - add smoke test too (reusing the same script with different argument)
>  - use CONTROLLER variable for ssh target
>  - explain fakeroot usage
>  - replace final "sleep 30" with polling + timeout
> ---
>  automation/build/alpine/3.12-arm64v8.dockerfile |   3 +-
>  automation/gitlab-ci/test.yaml                  |  33 +++-
>  automation/scripts/qubes-x86-64.sh              | 174 +++++++++++++++++-
>  3 files changed, 210 insertions(+)
>  create mode 100755 automation/scripts/qubes-x86-64.sh
> 
> diff --git a/automation/build/alpine/3.12-arm64v8.dockerfile b/automation/build/alpine/3.12-arm64v8.dockerfile
> index 180c978964aa..3f1e6a3fc6df 100644
> --- a/automation/build/alpine/3.12-arm64v8.dockerfile
> +++ b/automation/build/alpine/3.12-arm64v8.dockerfile
> @@ -41,3 +41,6 @@ RUN apk --no-cache add \
>    libattr \
>    libcap-ng-dev \
>    pixman-dev \
> +  # qubes test deps
> +  openssh-client \
> +  fakeroot \
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index ee9e3210772b..0916b367ea90 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -88,6 +88,23 @@
>    tags:
>      - xilinx
>  
> +.adl-x86-64:
> +  extends: .test-jobs-common
> +  variables:
> +    # the test controller runs on RPi4
> +    CONTAINER: alpine:3.12-arm64v8
> +    LOGFILE: smoke-test.log
> +  artifacts:
> +    paths:
> +      - smoke.serial
> +      - '*.log'
> +    when: always
> +  only:
> +    variables:
> +      - $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
> +  tags:
> +    - qubes-hw2
> +
>  # Test jobs
>  build-each-commit-gcc:
>    extends: .test-jobs-common
> @@ -114,6 +131,22 @@ xilinx-smoke-dom0less-arm64-gcc:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-arm64
>  
> +adl-smoke-x86-64-gcc:
> +  extends: .adl-x86-64
> +  script:
> +    - ./automation/scripts/qubes-x86-64.sh 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *x86-64-test-needs
> +    - alpine-3.12-gcc
> +
> +adl-suspend-x86-64-gcc:
> +  extends: .adl-x86-64
> +  script:
> +    - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *x86-64-test-needs
> +    - alpine-3.12-gcc
> +
>  qemu-smoke-dom0-arm64-gcc:
>    extends: .qemu-arm64
>    script:
> diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
> new file mode 100755
> index 000000000000..2d4cf2e2268c
> --- /dev/null
> +++ b/automation/scripts/qubes-x86-64.sh
> @@ -0,0 +1,174 @@
> +#!/bin/sh
> +
> +set -ex
> +
> +test_variant=$1
> +
> +wait_and_wakeup=
> +timeout=120
> +if [ -z "${test_variant}" ]; then
> +    passed="ping test passed"
> +    domU_check="
> +ifconfig eth0 192.168.0.2
> +until ping -c 10 192.168.0.1; do
> +    sleep 1
> +done
> +echo \"${passed}\"
> +"
> +    dom0_check="
> +until grep -q \"${passed}\" /var/log/xen/console/guest-domU.log; do
> +    sleep 1
> +done
> +# get domU console content into test log
> +tail -n 100 /var/log/xen/console/guest-domU.log
> +echo \"${passed}\"
> +"
> +elif [ "${test_variant}" = "s3" ]; then
> +    passed="suspend test passed"
> +    wait_and_wakeup="started, suspending"
> +    domU_check="
> +ifconfig eth0 192.168.0.2
> +echo domU started
> +"
> +    dom0_check="
> +until grep 'domU started' /var/log/xen/console/guest-domU.log; do
> +    sleep 1
> +done
> +echo \"${wait_and_wakeup}\"
> +set -x
> +echo deep > /sys/power/mem_sleep
> +echo mem > /sys/power/state
> +# now wait for resume
> +sleep 5
> +# get domU console content into test log
> +tail -n 100 /var/log/xen/console/guest-domU.log
> +xl list
> +xl dmesg | grep 'Finishing wakeup from ACPI S3 state' || exit 1
> +# check if domU is still alive
> +ping -c 10 192.168.0.2 || exit 1
> +echo \"${passed}\"
> +"
> +fi
> +
> +# DomU
> +mkdir -p rootfs
> +cd rootfs
> +# fakeroot is needed to preserve device nodes in rootless podman container
> +fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
> +mkdir proc
> +mkdir run
> +mkdir srv
> +mkdir sys
> +rm var/run
> +echo "#!/bin/sh
> +
> +${domU_check}
> +/bin/sh" > etc/local.d/xen.start
> +chmod +x etc/local.d/xen.start
> +echo "rc_verbose=yes" >> etc/rc.conf
> +find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../binaries/domU-rootfs.cpio.gz
> +cd ..
> +rm -rf rootfs
> +
> +# DOM0 rootfs
> +mkdir -p rootfs
> +cd rootfs
> +fakeroot -s ../fakeroot-save tar xzf ../binaries/initrd.tar.gz
> +mkdir boot
> +mkdir proc
> +mkdir run
> +mkdir srv
> +mkdir sys
> +rm var/run
> +cp -ar ../binaries/dist/install/* .
> +
> +echo "#!/bin/bash
> +
> +export LD_LIBRARY_PATH=/usr/local/lib
> +bash /etc/init.d/xencommons start
> +
> +brctl addbr xenbr0
> +brctl addif xenbr0 eth0
> +ifconfig eth0 up
> +ifconfig xenbr0 up
> +ifconfig xenbr0 192.168.0.1
> +
> +xl create /etc/xen/domU.cfg
> +${dom0_check}
> +" > etc/local.d/xen.start
> +chmod +x etc/local.d/xen.start
> +# just PVH for now
> +echo '
> +type = "pvh"
> +name = "domU"
> +kernel = "/boot/vmlinuz"
> +ramdisk = "/boot/initrd-domU"
> +extra = "root=/dev/ram0 console=hvc0"
> +memory = 512
> +vif = [ "bridge=xenbr0", ]
> +disk = [ ]
> +' > etc/xen/domU.cfg
> +
> +echo "rc_verbose=yes" >> etc/rc.conf
> +echo "XENCONSOLED_TRACE=all" >> etc/default/xencommons
> +echo "QEMU_XEN=/bin/false" >> etc/default/xencommons
> +mkdir -p var/log/xen/console
> +cp ../binaries/bzImage boot/vmlinuz
> +cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
> +find . | fakeroot -i ../fakeroot-save cpio -H newc -o | gzip > ../binaries/dom0-rootfs.cpio.gz
> +cd ..
> +
> +
> +TFTP=/scratch/gitlab-runner/tftp
> +CONTROLLER=control@thor.testnet
> +
> +echo '
> +multiboot2 (http)/gitlab-ci/xen console=com1 com1=115200,8n1 loglvl=all guest_loglvl=all
> +module2 (http)/gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0
> +module2 (http)/gitlab-ci/initrd-dom0
> +' > $TFTP/grub.cfg
> +
> +cp -f binaries/xen $TFTP/xen
> +cp -f binaries/bzImage $TFTP/vmlinuz
> +cp -f binaries/dom0-rootfs.cpio.gz $TFTP/initrd-dom0
> +
> +# start logging the serial; this gives interactive console, don't close its
> +# stdin to not close it; the 'cat' is important, plain redirection would hang
> +# until somebody opens the pipe; opening and closing the pipe is used to close
> +# the console
> +mkfifo /tmp/console-stdin
> +cat /tmp/console-stdin |\
> +ssh $CONTROLLER console | tee smoke.serial &
> +
> +# start the system pointing at gitlab-ci predefined config
> +ssh $CONTROLLER gitlabci poweron
> +trap "ssh $CONTROLLER poweroff; : > /tmp/console-stdin" EXIT
> +
> +if [ -n "$wait_and_wakeup" ]; then
> +    # wait for suspend or a timeout
> +    until grep "$wait_and_wakeup" smoke.serial || [ $timeout -le 0 ]; do
> +        sleep 1;
> +        : $((--timeout))
> +    done
> +    if [ $timeout -le 0 ]; then
> +        echo "ERROR: suspend timeout, aborting"
> +        exit 1
> +    fi
> +    # keep it suspended a bit, then wakeup
> +    sleep 30
> +    ssh $CONTROLLER wake
> +fi
> +
> +until grep "$passed" smoke.serial || [ $timeout -le 0 ]; do
> +    sleep 1;
> +    : $((--timeout))
> +done
> +if [ $timeout -le 0 ]; then
> +    echo "ERROR: test timeout, aborting"
> +    exit 1
> +fi
> +
> +sleep 1
> +
> +(grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
> +exit 0
> -- 
> git-series 0.9.1
> 
--8323329-924388815-1679963592=:4066--


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 00:53:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 00:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515499.798438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgxak-0007tK-HX; Tue, 28 Mar 2023 00:53:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515499.798438; Tue, 28 Mar 2023 00: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 1pgxak-0007tD-EP; Tue, 28 Mar 2023 00:53:38 +0000
Received: by outflank-mailman (input) for mailman id 515499;
 Tue, 28 Mar 2023 00:53: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=by25=7U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pgxaj-0007t5-5a
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 00:53:37 +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 f5ee4107-cd02-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 02:53:32 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1108561501;
 Tue, 28 Mar 2023 00:53:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 03C26C433D2;
 Tue, 28 Mar 2023 00:53: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: f5ee4107-cd02-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679964810;
	bh=J7eJtl9i15BzokmwKBS5RFiT9X6UKNG7Gm8uqPruCTQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DTfuQ0TPNQlwlqyQTnOoD1ArqC4TanO4JyW/XcbwOFzRX6kD/PH422Q1UqiMwapp9
	 bFC5v0wWRAlucCVCHB3/6tVfM7Cyu8oSpgkxmnHtSUGDxbEwKZQFgTzZ20lEfRdZty
	 fBKupMi0fw3ULx7pL0ZNNWFj5sS1E8X9SyWvVFB1NKFeWjIiGMw2zqH/BiwmMIrhP+
	 Ewn86n7ktMWlLEsqMLgfaoTUOU+ATt4qjwXuouYD0W8d0xUPbjRSjW777PrglET5RO
	 cD1tQpq6yPRNh5oASlbLr1HrXJxy7bJIoSUBC/jBipH8CmLVdQ85Lj6syp8MnAHgxQ
	 V+u240HZwiNZA==
Date: Mon, 27 Mar 2023 17:53:27 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.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>, 
    George Dunlap <george.dunlap@citrix.com>
Subject: Re: [PATCH v2 2/7] xen/x86: Replace GPL v2.0 license boilerplate
 with an SPDX tag in *.c
In-Reply-To: <20230327184520.81828-3-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2303271752210.4066@ubuntu-linux-20-04-desktop>
References: <20230327184520.81828-1-julien@xen.org> <20230327184520.81828-3-julien@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, 27 Mar 2023, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> It is easier to understand the license of a file when using SPDX.
> 
> This is replacing the below pattern with the SPDX tag GPL-2.0-only
> in xen/arch/x86/*.c:
> 
>  * This program is free software; you can redistribute it and/or modify it
>  * under the terms and conditions of the GNU General Public License,
>  * version 2, as published by the Free Software Foundation.
>  *
>  * This program is distributed in the hope it will be useful, but WITHOUT
>  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
>  * more details.
>  *
>  * You should have received a copy of the GNU General Public License along with
>  * this program; If not, see <http://www.gnu.org/licenses/>.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> ---
> 
>     Changes in v2:
>         * Switch to GPL-2.0-only
>         * Rebase
> 
> 42sh> cat gpl-2.0.txt
>  * 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/>.
> 42sh> find xen/arch/x86/ -name '*.c' -exec replace_license.py gpl-2.0.txt GPL-2.0-only {} \;

I confirm that the commands above lead to this exact patch. I ran them
on my system and checked that the resulting changes are the same.

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/x86/cpu/mwait-idle.c    | 13 +------------
>  xen/arch/x86/cpu/vpmu.c          | 13 +------------
>  xen/arch/x86/cpu/vpmu_amd.c      | 13 +------------
>  xen/arch/x86/cpu/vpmu_intel.c    | 13 +------------
>  xen/arch/x86/genapic/x2apic.c    | 13 +------------
>  xen/arch/x86/hvm/asid.c          | 13 +------------
>  xen/arch/x86/hvm/dm.c            | 13 +------------
>  xen/arch/x86/hvm/hpet.c          | 13 +------------
>  xen/arch/x86/hvm/hvm.c           | 13 +------------
>  xen/arch/x86/hvm/intercept.c     | 13 +------------
>  xen/arch/x86/hvm/io.c            | 13 +------------
>  xen/arch/x86/hvm/ioreq.c         | 13 +------------
>  xen/arch/x86/hvm/irq.c           | 13 +------------
>  xen/arch/x86/hvm/mtrr.c          | 13 +------------
>  xen/arch/x86/hvm/nestedhvm.c     | 13 +------------
>  xen/arch/x86/hvm/pmtimer.c       | 13 +------------
>  xen/arch/x86/hvm/quirks.c        | 13 +------------
>  xen/arch/x86/hvm/save.c          | 13 +------------
>  xen/arch/x86/hvm/svm/asid.c      | 13 +------------
>  xen/arch/x86/hvm/svm/emulate.c   | 13 +------------
>  xen/arch/x86/hvm/svm/intr.c      | 13 +------------
>  xen/arch/x86/hvm/svm/nestedsvm.c | 13 +------------
>  xen/arch/x86/hvm/svm/svm.c       | 13 +------------
>  xen/arch/x86/hvm/svm/svmdebug.c  | 13 +------------
>  xen/arch/x86/hvm/svm/vmcb.c      | 13 +------------
>  xen/arch/x86/hvm/vlapic.c        | 13 +------------
>  xen/arch/x86/hvm/vmx/intr.c      | 13 +------------
>  xen/arch/x86/hvm/vmx/vmcs.c      | 13 +------------
>  xen/arch/x86/hvm/vmx/vmx.c       | 13 +------------
>  xen/arch/x86/hvm/vmx/vvmx.c      | 13 +------------
>  xen/arch/x86/hvm/vpt.c           | 13 +------------
>  xen/arch/x86/mm/altp2m.c         | 13 +------------
>  xen/arch/x86/mm/hap/guest_walk.c | 13 +------------
>  xen/arch/x86/mm/hap/nested_ept.c | 13 +------------
>  xen/arch/x86/mm/p2m-ept.c        | 13 +------------
>  35 files changed, 35 insertions(+), 420 deletions(-)
> 
> diff --git a/xen/arch/x86/cpu/mwait-idle.c b/xen/arch/x86/cpu/mwait-idle.c
> index 9e981e7e26dc..ff5c808bc952 100644
> --- a/xen/arch/x86/cpu/mwait-idle.c
> +++ b/xen/arch/x86/cpu/mwait-idle.c
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * mwait_idle.c - native hardware idle loop for modern processors
>   *
>   * Copyright (c) 2013, Intel Corporation.
>   * Len Brown <len.brown@intel.com>
> - *
> - * 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/>.
>   */
>  
>  /*
> diff --git a/xen/arch/x86/cpu/vpmu.c b/xen/arch/x86/cpu/vpmu.c
> index b6b7342fb466..f31c32bcf3a6 100644
> --- a/xen/arch/x86/cpu/vpmu.c
> +++ b/xen/arch/x86/cpu/vpmu.c
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vpmu.c: PMU virtualization for HVM domain.
>   *
>   * Copyright (c) 2007, 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/>.
> - *
>   * Author: Haitao Shan <haitao.shan@intel.com>
>   */
>  #include <xen/cpu.h>
> diff --git a/xen/arch/x86/cpu/vpmu_amd.c b/xen/arch/x86/cpu/vpmu_amd.c
> index 9df739aa3f03..18266b9521a9 100644
> --- a/xen/arch/x86/cpu/vpmu_amd.c
> +++ b/xen/arch/x86/cpu/vpmu_amd.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vpmu_amd.c: AMD specific PMU virtualization.
>   *
> @@ -7,18 +8,6 @@
>   * Author: Wei Wang <wei.wang2@amd.com>
>   * Tested by: Suravee Suthikulpanit <Suravee.Suthikulpanit@amd.com>
>   *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   */
>  
>  #include <xen/err.h>
> diff --git a/xen/arch/x86/cpu/vpmu_intel.c b/xen/arch/x86/cpu/vpmu_intel.c
> index bcfa187a14b6..35e350578b84 100644
> --- a/xen/arch/x86/cpu/vpmu_intel.c
> +++ b/xen/arch/x86/cpu/vpmu_intel.c
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vpmu_intel.c: CORE 2 specific PMU virtualization.
>   *
>   * Copyright (c) 2007, 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/>.
> - *
>   * Author: Haitao Shan <haitao.shan@intel.com>
>   */
>  
> diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
> index 0a7ee820f578..ca1db27157e2 100644
> --- a/xen/arch/x86/genapic/x2apic.c
> +++ b/xen/arch/x86/genapic/x2apic.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * x2APIC driver.
>   *
>   * Copyright (c) 2008, 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/>.
>   */
>  
>  #include <xen/init.h>
> diff --git a/xen/arch/x86/hvm/asid.c b/xen/arch/x86/hvm/asid.c
> index 1fd2770a3ae0..0faaa24a8f6e 100644
> --- a/xen/arch/x86/hvm/asid.c
> +++ b/xen/arch/x86/hvm/asid.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * asid.c: ASID management
>   * Copyright (c) 2007, Advanced Micro Devices, Inc.
>   * Copyright (c) 2009, Citrix Systems, Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/init.h>
> diff --git a/xen/arch/x86/hvm/dm.c b/xen/arch/x86/hvm/dm.c
> index f8e6089870b0..462691f91d3c 100644
> --- a/xen/arch/x86/hvm/dm.c
> +++ b/xen/arch/x86/hvm/dm.c
> @@ -1,17 +1,6 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Copyright (c) 2016 Citrix Systems Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/event.h>
> diff --git a/xen/arch/x86/hvm/hpet.c b/xen/arch/x86/hvm/hpet.c
> index c65e1b27d09e..dff27b760eb6 100644
> --- a/xen/arch/x86/hvm/hpet.c
> +++ b/xen/arch/x86/hvm/hpet.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * hpet.c: HPET emulation for HVM guests.
>   * Copyright (c) 2006, Intel Corporation.
>   * Copyright (c) 2006, Keir Fraser <keir@xensource.com>
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <asm/hvm/vpt.h>
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index d326fa1c0136..5733829e4db4 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -1,21 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * hvm.c: Common hardware virtual machine abstractions.
>   *
>   * Copyright (c) 2004, Intel Corporation.
>   * Copyright (c) 2005, International Business Machines Corporation.
>   * Copyright (c) 2008, Citrix Systems, Inc.
> - * 
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/ctype.h>
> diff --git a/xen/arch/x86/hvm/intercept.c b/xen/arch/x86/hvm/intercept.c
> index ffa31b746716..61664c0ad13f 100644
> --- a/xen/arch/x86/hvm/intercept.c
> +++ b/xen/arch/x86/hvm/intercept.c
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * intercept.c: Handle performance critical I/O packets in hypervisor space
>   *
>   * Copyright (c) 2004, Intel Corporation.
>   * Copyright (c) 2008, Citrix Systems, Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/ioreq.h>
> diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
> index 5ae209d3b6b3..c6fca689ba78 100644
> --- a/xen/arch/x86/hvm/io.c
> +++ b/xen/arch/x86/hvm/io.c
> @@ -1,21 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * io.c: Handling I/O and interrupts.
>   *
>   * Copyright (c) 2004, Intel Corporation.
>   * Copyright (c) 2005, International Business Machines Corporation.
>   * Copyright (c) 2008, Citrix Systems, Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/init.h>
> diff --git a/xen/arch/x86/hvm/ioreq.c b/xen/arch/x86/hvm/ioreq.c
> index 0bdcca1e1a5f..20dbb4c8cfb4 100644
> --- a/xen/arch/x86/hvm/ioreq.c
> +++ b/xen/arch/x86/hvm/ioreq.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * hvm/io.c: hardware virtual machine I/O emulation
>   *
>   * Copyright (c) 2016 Citrix Systems Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/domain.h>
> diff --git a/xen/arch/x86/hvm/irq.c b/xen/arch/x86/hvm/irq.c
> index 4fe87a71c12b..1258371eb029 100644
> --- a/xen/arch/x86/hvm/irq.c
> +++ b/xen/arch/x86/hvm/irq.c
> @@ -1,21 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * irq.c
>   * 
>   * Interrupt distribution and delivery logic.
>   * 
>   * Copyright (c) 2006, K A Fraser, XenSource Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/types.h>
> diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
> index f1a88d761635..29f3fb160776 100644
> --- a/xen/arch/x86/hvm/mtrr.c
> +++ b/xen/arch/x86/hvm/mtrr.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * mtrr.c: MTRR/PAT virtualization
>   *
>   * Copyright (c) 2007, 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/>.
>   */
>  
>  #include <xen/domain_page.h>
> diff --git a/xen/arch/x86/hvm/nestedhvm.c b/xen/arch/x86/hvm/nestedhvm.c
> index 58370190ffc9..ec68551127b7 100644
> --- a/xen/arch/x86/hvm/nestedhvm.c
> +++ b/xen/arch/x86/hvm/nestedhvm.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Nested HVM
>   * Copyright (c) 2011, Advanced Micro Devices, Inc.
>   * Author: Christoph Egger <Christoph.Egger@amd.com>
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <asm/msr.h>
> diff --git a/xen/arch/x86/hvm/pmtimer.c b/xen/arch/x86/hvm/pmtimer.c
> index b89d0fd53ba1..2145c531b62f 100644
> --- a/xen/arch/x86/hvm/pmtimer.c
> +++ b/xen/arch/x86/hvm/pmtimer.c
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * hvm/pmtimer.c: emulation of the ACPI PM timer 
>   *
>   * Copyright (c) 2007, XenSource inc.
>   * Copyright (c) 2006, 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/>.
>   */
>  
>  #include <xen/sched.h>
> diff --git a/xen/arch/x86/hvm/quirks.c b/xen/arch/x86/hvm/quirks.c
> index 2adab1f4b84b..bd30b0f881cb 100644
> --- a/xen/arch/x86/hvm/quirks.c
> +++ b/xen/arch/x86/hvm/quirks.c
> @@ -1,17 +1,6 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * x86/hvm/quirks.c
> - * 
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/types.h>
> diff --git a/xen/arch/x86/hvm/save.c b/xen/arch/x86/hvm/save.c
> index c1675e3d9fb0..79713cd6cad0 100644
> --- a/xen/arch/x86/hvm/save.c
> +++ b/xen/arch/x86/hvm/save.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * hvm/save.c: Save and restore HVM guest's emulated hardware state.
>   *
> @@ -6,18 +7,6 @@
>   * Copyright (c) 2007, Isaku Yamahata <yamahata at valinux co jp>
>   *                     VA Linux Systems Japan K.K.
>   *                     split x86 specific part
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/guest_access.h>
> diff --git a/xen/arch/x86/hvm/svm/asid.c b/xen/arch/x86/hvm/svm/asid.c
> index 150d8dfc8178..09f8c23fd99a 100644
> --- a/xen/arch/x86/hvm/svm/asid.c
> +++ b/xen/arch/x86/hvm/svm/asid.c
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * asid.c: handling ASIDs in SVM.
>   * Copyright (c) 2007, Advanced Micro Devices, Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <asm/amd.h>
> diff --git a/xen/arch/x86/hvm/svm/emulate.c b/xen/arch/x86/hvm/svm/emulate.c
> index 391f0255162e..a5977aa6a61f 100644
> --- a/xen/arch/x86/hvm/svm/emulate.c
> +++ b/xen/arch/x86/hvm/svm/emulate.c
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * emulate.c: handling SVM emulate instructions help.
>   * Copyright (c) 2005 AMD 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/>.
>   */
>  
>  #include <xen/err.h>
> diff --git a/xen/arch/x86/hvm/svm/intr.c b/xen/arch/x86/hvm/svm/intr.c
> index dbb0022190a8..0d2c0a86fdb3 100644
> --- a/xen/arch/x86/hvm/svm/intr.c
> +++ b/xen/arch/x86/hvm/svm/intr.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * intr.c: Interrupt handling for SVM.
>   * Copyright (c) 2005, AMD Inc.
>   * Copyright (c) 2004, 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/>.
>   */
>  
>  #include <xen/init.h>
> diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
> index 63ed9fc248e1..36e458d665fe 100644
> --- a/xen/arch/x86/hvm/svm/nestedsvm.c
> +++ b/xen/arch/x86/hvm/svm/nestedsvm.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * nestedsvm.c: Nested Virtualization
>   * Copyright (c) 2011, Advanced Micro Devices, Inc
>   *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   */
>  
>  #include <asm/hvm/support.h>
> diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
> index bfe03316def6..f3cd4db306fd 100644
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * svm.c: handling SVM architecture-related VM exits
>   * Copyright (c) 2004, Intel Corporation.
>   * Copyright (c) 2005-2007, Advanced Micro Devices, Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/domain_page.h>
> diff --git a/xen/arch/x86/hvm/svm/svmdebug.c b/xen/arch/x86/hvm/svm/svmdebug.c
> index bce86f0ef706..7d6dc9ef47db 100644
> --- a/xen/arch/x86/hvm/svm/svmdebug.c
> +++ b/xen/arch/x86/hvm/svm/svmdebug.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * svmdebug.c: debug functions
>   * Copyright (c) 2011, Advanced Micro Devices, Inc.
>   *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   */
>  
>  #include <xen/sched.h>
> diff --git a/xen/arch/x86/hvm/svm/vmcb.c b/xen/arch/x86/hvm/svm/vmcb.c
> index ba93375e87d2..314e1fab419e 100644
> --- a/xen/arch/x86/hvm/svm/vmcb.c
> +++ b/xen/arch/x86/hvm/svm/vmcb.c
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vmcb.c: VMCB management
>   * Copyright (c) 2005-2007, Advanced Micro Devices, Inc.
>   * Copyright (c) 2004, 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/>.
> - *
>   */
>  
>  #include <xen/init.h>
> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
> index dc93b5e930b1..faa07db03d06 100644
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vlapic.c: virtualize LAPIC for HVM vcpus.
>   *
>   * Copyright (c) 2004, Intel Corporation.
>   * Copyright (c) 2006 Keir Fraser, XenSource Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/types.h>
> diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
> index 6a8316de0e25..3b6fa1519a1d 100644
> --- a/xen/arch/x86/hvm/vmx/intr.c
> +++ b/xen/arch/x86/hvm/vmx/intr.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * intr.c: handling I/O, interrupts related VMX entry/exit
>   * Copyright (c) 2004, Intel Corporation.
>   * Copyright (c) 2004-2007, XenSource Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/init.h>
> diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
> index d3c75b380381..92b833f3f890 100644
> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vmcs.c: VMCS management
>   * Copyright (c) 2004, 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/>.
>   */
>  
>  #include <xen/init.h>
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 7d5ed8d470e1..7fa72c162a2a 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vmx.c: handling VMX architecture-related VM exits
>   * Copyright (c) 2004, 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/>.
>   */
>  
>  #include <xen/guest_access.h>
> diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
> index 674cdabb0736..b8c92d643780 100644
> --- a/xen/arch/x86/hvm/vmx/vvmx.c
> +++ b/xen/arch/x86/hvm/vmx/vvmx.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vvmx.c: Support virtual VMX for nested virtualization.
>   *
> @@ -5,18 +6,6 @@
>   * Author: Qing He <qing.he@intel.com>
>   *         Eddie Dong <eddie.dong@intel.com>
>   *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   */
>  
>  #include <xen/ioreq.h>
> diff --git a/xen/arch/x86/hvm/vpt.c b/xen/arch/x86/hvm/vpt.c
> index 621f5bb88b63..8f53e88d6706 100644
> --- a/xen/arch/x86/hvm/vpt.c
> +++ b/xen/arch/x86/hvm/vpt.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vpt.c: Virtual Platform Timer
>   *
>   * Copyright (c) 2006, Xiaowei Yang, 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/>.
>   */
>  
>  #include <xen/sched.h>
> diff --git a/xen/arch/x86/mm/altp2m.c b/xen/arch/x86/mm/altp2m.c
> index 07393befeeed..a04297b646ff 100644
> --- a/xen/arch/x86/mm/altp2m.c
> +++ b/xen/arch/x86/mm/altp2m.c
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Alternate p2m HVM
>   * 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/>.
>   */
>  
>  #include <asm/hvm/hvm.h>
> diff --git a/xen/arch/x86/mm/hap/guest_walk.c b/xen/arch/x86/mm/hap/guest_walk.c
> index 1da8d3b99edc..d1b7c5762c9e 100644
> --- a/xen/arch/x86/mm/hap/guest_walk.c
> +++ b/xen/arch/x86/mm/hap/guest_walk.c
> @@ -1,21 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * arch/x86/mm/hap/guest_walk.c
>   *
>   * Guest page table walker
>   * Copyright (c) 2007, AMD Corporation (Wei Huang)
>   * Copyright (c) 2007, XenSource Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/domain_page.h>
> diff --git a/xen/arch/x86/mm/hap/nested_ept.c b/xen/arch/x86/mm/hap/nested_ept.c
> index 605e47c16cd5..d6df48af5427 100644
> --- a/xen/arch/x86/mm/hap/nested_ept.c
> +++ b/xen/arch/x86/mm/hap/nested_ept.c
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * nested_ept.c: Handling virtulized EPT for guest in nested case.
>   *
>   * Copyright (c) 2012, Intel Corporation
>   *  Xiantao Zhang <xiantao.zhang@intel.com>
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  #include <xen/vm_event.h>
>  #include <xen/event.h>
> diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
> index bb143c6c42c6..ffd34a1cc65f 100644
> --- a/xen/arch/x86/mm/p2m-ept.c
> +++ b/xen/arch/x86/mm/p2m-ept.c
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * ept-p2m.c: use the EPT page table as p2m
>   * Copyright (c) 2007, 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/>.
>   */
>  
>  #include <xen/domain_page.h>
> -- 
> 2.39.2
> 
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 00:55:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 00:55:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515503.798448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgxcn-000056-2I; Tue, 28 Mar 2023 00:55:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515503.798448; Tue, 28 Mar 2023 00: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 1pgxcm-00004v-V3; Tue, 28 Mar 2023 00:55:44 +0000
Received: by outflank-mailman (input) for mailman id 515503;
 Tue, 28 Mar 2023 00: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=by25=7U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pgxcm-0008WU-KK
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 00:55:44 +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 43d4be67-cd03-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 02:55:43 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 1A2116151A;
 Tue, 28 Mar 2023 00:55:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9378AC433D2;
 Tue, 28 Mar 2023 00:55: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: 43d4be67-cd03-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679964941;
	bh=QwH876x3Xp10ISoavWb7onImESnjGegfwz5SnvRb7wc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=S16sYIwqrLX1eTj5H/GZ+abc7GpYxt7lVfOdQKnuT5daJI+1x41cgxn8vavrciCOx
	 zSiYyVgWAL6MlsWhj0m0MRsvXF7EJdZH1mWpRJ9vJaaJ8q+HU9VgK4iC/vjT7XMTI+
	 ZJ1KHgMtmhRULeNUJ6AGQKbQzjL9s8fLtW4kYsqLFOY4+gIt7/P6Mtfx9sUYEtf0s8
	 /2v+Dpxt5njt+musQuLNxE20HMLxUGexNrbwlczwL9KKUkEC33smr3XSmxotCHpRHT
	 yuGLqlttnLDDYyxA4O87a2pFQMM01b4yZyCXWpnuwH0sTq3Pvj9TZH3AqJe+Zk2Hgj
	 xgIOKAl8WenQw==
Date: Mon, 27 Mar 2023 17:55:39 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.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: [PATCH v2 3/7] xen/x86: Replace GPL v2.0 license boilerplate
 with an SPDX tag in *.c (part 3)
In-Reply-To: <20230327184520.81828-4-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2303271755200.4066@ubuntu-linux-20-04-desktop>
References: <20230327184520.81828-1-julien@xen.org> <20230327184520.81828-4-julien@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, 27 Mar 2023, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> It is easier to understand the license of a file when using SPDX.
> 
> This is replacing the below pattern with the SPDX tag GPL-2.0-only
> in xen/arch/x86/*.c:
> 
>  * This program is free software; you can redistribute it and/or
>  * modify it under the terms and conditions of the GNU General Public
>  * License, version 2, as published by the Free Software Foundation.
>  *
>  * This program is distributed in the hope 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/>.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> ---
> 
>     Changes in v2:
>         - Switch SPDX to GPL-2.0-only
> 
> 42sh> cat gpl-2.0-pattern-2.txt
>  * This program is free software; you can redistribute it and/or
>  * modify it under the terms and conditions of the GNU General Public
>  * License, version 2, as published by the Free Software Foundation.
>  *
>  * This program is distributed in the hope that it will be useful,
>  * but WITHOUT ANY WARRANTY; without even the implied warranty of
>  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>  * General Public License for more details.
>  *
>  * You should have received a copy of the GNU General Public
>  * License along with this program; If not, see <http://www.gnu.org/licenses/>.
> 42sh> find xen/arch/x86/ -name '*.c' -exec replace_license.py gpl-2.0-pattern-2.txt GPL-2.0-only {} \;

I ran the same commands on my system and the result is the same.

Acked-by: Stefano Stabellini <sstabellini@kernel.org>



> ---
>  xen/arch/x86/hvm/dom0_build.c       | 13 +------------
>  xen/arch/x86/hvm/domain.c           | 13 +------------
>  xen/arch/x86/pv/callback.c          | 13 +------------
>  xen/arch/x86/pv/descriptor-tables.c | 13 +------------
>  xen/arch/x86/pv/grant_table.c       | 13 +------------
>  xen/arch/x86/pv/mm.c                | 13 +------------
>  6 files changed, 6 insertions(+), 72 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/dom0_build.c b/xen/arch/x86/hvm/dom0_build.c
> index d44de7f2b2c6..fd2cbf68bc62 100644
> --- a/xen/arch/x86/hvm/dom0_build.c
> +++ b/xen/arch/x86/hvm/dom0_build.c
> @@ -1,21 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * hvm/dom0_build.c
>   *
>   * Dom0 builder for PVH guest.
>   *
>   * Copyright (C) 2017 Citrix Systems R&D
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/acpi.h>
> diff --git a/xen/arch/x86/hvm/domain.c b/xen/arch/x86/hvm/domain.c
> index 10e30175a1b6..deec74fdb4f5 100644
> --- a/xen/arch/x86/hvm/domain.c
> +++ b/xen/arch/x86/hvm/domain.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * HVM domain specific functions.
>   *
>   * Copyright (C) 2017 Citrix Systems R&D
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/domain_page.h>
> diff --git a/xen/arch/x86/pv/callback.c b/xen/arch/x86/pv/callback.c
> index 067ee3b795d0..702a68def69c 100644
> --- a/xen/arch/x86/pv/callback.c
> +++ b/xen/arch/x86/pv/callback.c
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * pv/callback.c
>   *
>   * hypercall handles and helper functions for guest callback
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/event.h>
> diff --git a/xen/arch/x86/pv/descriptor-tables.c b/xen/arch/x86/pv/descriptor-tables.c
> index b4135b450cdf..02647a2c5047 100644
> --- a/xen/arch/x86/pv/descriptor-tables.c
> +++ b/xen/arch/x86/pv/descriptor-tables.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * arch/x86/pv/descriptor-tables.c
>   *
> @@ -5,18 +6,6 @@
>   *
>   * Copyright (c) 2002-2005 K A Fraser
>   * Copyright (c) 2004 Christian Limpach
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/guest_access.h>
> diff --git a/xen/arch/x86/pv/grant_table.c b/xen/arch/x86/pv/grant_table.c
> index 81c72e61ed55..247436a0156a 100644
> --- a/xen/arch/x86/pv/grant_table.c
> +++ b/xen/arch/x86/pv/grant_table.c
> @@ -1,21 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * pv/grant_table.c
>   *
>   * Grant table interfaces for PV guests
>   *
>   * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.com>
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/types.h>
> diff --git a/xen/arch/x86/pv/mm.c b/xen/arch/x86/pv/mm.c
> index 5ed7b3ccdbf2..24f0d2e4ff7d 100644
> --- a/xen/arch/x86/pv/mm.c
> +++ b/xen/arch/x86/pv/mm.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * pv/mm.c
>   *
> @@ -5,18 +6,6 @@
>   *
>   * Copyright (c) 2002-2005 K A Fraser
>   * Copyright (c) 2004 Christian Limpach
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/guest_access.h>
> -- 
> 2.39.2
> 
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 00:57:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 00:57:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515506.798457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgxeA-0000fg-CF; Tue, 28 Mar 2023 00:57:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515506.798457; Tue, 28 Mar 2023 00: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 1pgxeA-0000fZ-9L; Tue, 28 Mar 2023 00:57:10 +0000
Received: by outflank-mailman (input) for mailman id 515506;
 Tue, 28 Mar 2023 00:57: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=by25=7U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pgxe9-0000fT-0h
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 00:57:09 +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 74713971-cd03-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 02:57:05 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id A8A296151A;
 Tue, 28 Mar 2023 00:57:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 424F6C433EF;
 Tue, 28 Mar 2023 00:57: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: 74713971-cd03-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679965023;
	bh=aAUWHWmPw7U1ethANRUZwvwmjl4X46qKxXVyPN0aPsk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DGYaKzjnHW0IRgH/USUA8baAA4ES2cuMX5+O/g1ITWY27NMYGEdJ9ZP/xJEKL8RTp
	 iRwfaz+xTjV3+BjIIO7MdQ4lQiM4Blf+HRgJJ47d3UhmJRx7V6XRyfPuJ0fA8/f+ml
	 mvVsrRMzhOANa5BxDwWBilWrqKQM0u40WxNPs8NGuTMEgTHAZgp22VNe/SbwNM2O5K
	 UKEsElic+C0fepSPMjgQaUTQSaz+1qbPbis52iTeAEIVbJAafsUkcazbQnDBXDbp5M
	 rbtMio5CYkRtsyjWV88oM9c01jl0h9qV71FvG3Y4Fz6ag5dr+phiumYryToF2nTVVj
	 nPxlKThh8Qp7w==
Date: Mon, 27 Mar 2023 17:57:00 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.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>, 
    Tamas K Lengyel <tamas@tklengyel.com>, 
    Alexandru Isaila <aisaila@bitdefender.com>, 
    Petre Pircalabu <ppircalabu@bitdefender.com>, 
    Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, 
    George Dunlap <george.dunlap@citrix.com>
Subject: Re: [PATCH v2 4/7] xen/x86: Replace GPL v2.0 license boilerplate
 with an SPDX tag in *.h
In-Reply-To: <20230327184520.81828-5-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2303271756420.4066@ubuntu-linux-20-04-desktop>
References: <20230327184520.81828-1-julien@xen.org> <20230327184520.81828-5-julien@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, 27 Mar 2023, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> It is easier to understand the license of a file when using SPDX.
> 
> This is replacing the below pattern with the SPDX tag GPL-2.0-only
> in xen/arch/x86/*.h:
> 
>  * 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/>.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

I ran the same commands on my system leading to the same results

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> 
>     Changes in v2:
>         * Use GPL-2.0-only
>         * Regenerate the patch as some headers were moved
> 
> 42sh> cat gpl-2.0.txt
>  * 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/>.
> 42sh> find xen/arch/x86/ -name '*.h' -exec replace_license.py gpl-2.0.txt GPL-2.0-only {} \;
> ---
>  xen/arch/x86/include/asm/altp2m.h            | 13 +------------
>  xen/arch/x86/include/asm/hvm/asid.h          | 13 +------------
>  xen/arch/x86/include/asm/hvm/domain.h        | 13 +------------
>  xen/arch/x86/include/asm/hvm/hvm.h           | 13 +------------
>  xen/arch/x86/include/asm/hvm/io.h            | 13 +------------
>  xen/arch/x86/include/asm/hvm/ioreq.h         | 13 +------------
>  xen/arch/x86/include/asm/hvm/irq.h           | 13 +------------
>  xen/arch/x86/include/asm/hvm/monitor.h       | 13 +------------
>  xen/arch/x86/include/asm/hvm/nestedhvm.h     | 13 +------------
>  xen/arch/x86/include/asm/hvm/save.h          | 13 +------------
>  xen/arch/x86/include/asm/hvm/support.h       | 13 +------------
>  xen/arch/x86/include/asm/hvm/svm/nestedsvm.h | 13 +------------
>  xen/arch/x86/include/asm/hvm/svm/svm.h       | 13 +------------
>  xen/arch/x86/include/asm/hvm/svm/svmdebug.h  | 13 +------------
>  xen/arch/x86/include/asm/hvm/svm/vmcb.h      | 13 +------------
>  xen/arch/x86/include/asm/hvm/vcpu.h          | 13 +------------
>  xen/arch/x86/include/asm/hvm/vlapic.h        | 13 +------------
>  xen/arch/x86/include/asm/hvm/vm_event.h      | 13 +------------
>  xen/arch/x86/include/asm/hvm/vmx/vmcs.h      | 13 +------------
>  xen/arch/x86/include/asm/hvm/vmx/vmx.h       | 13 +------------
>  xen/arch/x86/include/asm/hvm/vmx/vvmx.h      | 13 +------------
>  xen/arch/x86/include/asm/hvm/vpt.h           | 13 +------------
>  xen/arch/x86/include/asm/iommu.h             | 14 +-------------
>  xen/arch/x86/include/asm/ioreq.h             | 13 +------------
>  xen/arch/x86/include/asm/vm_event.h          | 13 +------------
>  xen/arch/x86/include/asm/vpmu.h              | 13 +------------
>  xen/arch/x86/mm/hap/private.h                | 13 +------------
>  xen/arch/x86/x86_64/mmconfig.h               | 13 +------------
>  28 files changed, 28 insertions(+), 337 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/altp2m.h b/xen/arch/x86/include/asm/altp2m.h
> index b206e95863a6..e5e59cbd6836 100644
> --- a/xen/arch/x86/include/asm/altp2m.h
> +++ b/xen/arch/x86/include/asm/altp2m.h
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Alternate p2m HVM
>   * 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_X86_ALTP2M_H
> diff --git a/xen/arch/x86/include/asm/hvm/asid.h b/xen/arch/x86/include/asm/hvm/asid.h
> index 633ddb72e494..0207f8fc29db 100644
> --- a/xen/arch/x86/include/asm/hvm/asid.h
> +++ b/xen/arch/x86/include/asm/hvm/asid.h
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * asid.h: ASID management
>   * Copyright (c) 2007, Advanced Micro Devices, Inc.
>   * Copyright (c) 2009, Citrix Systems, Inc.
> - *
> - * 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_X86_HVM_ASID_H__
> diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
> index 698455444ea8..02c32cf26d6b 100644
> --- a/xen/arch/x86/include/asm/hvm/domain.h
> +++ b/xen/arch/x86/include/asm/hvm/domain.h
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * domain.h: HVM per domain definitions
>   *
>   * Copyright (c) 2004, Intel Corporation.
>   * Copyright (c) 2005, International Business Machines 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_X86_HVM_DOMAIN_H__
> diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
> index 43d3fc249887..de320177294d 100644
> --- a/xen/arch/x86/include/asm/hvm/hvm.h
> +++ b/xen/arch/x86/include/asm/hvm/hvm.h
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * hvm.h: Hardware virtual machine assist interface definitions.
>   *
>   * Leendert van Doorn, leendert@watson.ibm.com
>   * Copyright (c) 2005, International Business Machines 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_X86_HVM_HVM_H__
> diff --git a/xen/arch/x86/include/asm/hvm/io.h b/xen/arch/x86/include/asm/hvm/io.h
> index 54e0161b492c..8df33eb6cc42 100644
> --- a/xen/arch/x86/include/asm/hvm/io.h
> +++ b/xen/arch/x86/include/asm/hvm/io.h
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * io.h: HVM IO support
>   *
>   * Copyright (c) 2004, 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_X86_HVM_IO_H__
> diff --git a/xen/arch/x86/include/asm/hvm/ioreq.h b/xen/arch/x86/include/asm/hvm/ioreq.h
> index 9b2eb6fedf99..84be14fd0850 100644
> --- a/xen/arch/x86/include/asm/hvm/ioreq.h
> +++ b/xen/arch/x86/include/asm/hvm/ioreq.h
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * hvm.h: Hardware virtual machine assist interface definitions.
>   *
>   * Copyright (c) 2016 Citrix Systems Inc.
> - *
> - * 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_X86_HVM_IOREQ_H__
> diff --git a/xen/arch/x86/include/asm/hvm/irq.h b/xen/arch/x86/include/asm/hvm/irq.h
> index c4369ceb7aaa..2d136ab99b79 100644
> --- a/xen/arch/x86/include/asm/hvm/irq.h
> +++ b/xen/arch/x86/include/asm/hvm/irq.h
> @@ -1,21 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * irq.h
>   * 
>   * Interrupt distribution and delivery logic.
>   * 
>   * Copyright (c) 2006, K A Fraser, XenSource Inc.
> - *
> - * 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_X86_HVM_IRQ_H__
> diff --git a/xen/arch/x86/include/asm/hvm/monitor.h b/xen/arch/x86/include/asm/hvm/monitor.h
> index 639f6dfa374c..da521064b9d0 100644
> --- a/xen/arch/x86/include/asm/hvm/monitor.h
> +++ b/xen/arch/x86/include/asm/hvm/monitor.h
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * include/asm-x86/hvm/monitor.h
>   *
>   * Arch-specific hardware virtual machine monitor abstractions.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #ifndef __ASM_X86_HVM_MONITOR_H__
> diff --git a/xen/arch/x86/include/asm/hvm/nestedhvm.h b/xen/arch/x86/include/asm/hvm/nestedhvm.h
> index 7184928c2bb1..3d1ec53a6ff9 100644
> --- a/xen/arch/x86/include/asm/hvm/nestedhvm.h
> +++ b/xen/arch/x86/include/asm/hvm/nestedhvm.h
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Nested HVM
>   * Copyright (c) 2011, Advanced Micro Devices, Inc.
>   * Author: Christoph Egger <Christoph.Egger@amd.com>
> - *
> - * 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 _HVM_NESTEDHVM_H
> diff --git a/xen/arch/x86/include/asm/hvm/save.h b/xen/arch/x86/include/asm/hvm/save.h
> index e975011ddb71..9d838c48e357 100644
> --- a/xen/arch/x86/include/asm/hvm/save.h
> +++ b/xen/arch/x86/include/asm/hvm/save.h
> @@ -1,17 +1,6 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * save.h: HVM support routines for save/restore
> - *
> - * 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 __XEN_HVM_SAVE_H__
> diff --git a/xen/arch/x86/include/asm/hvm/support.h b/xen/arch/x86/include/asm/hvm/support.h
> index 6b583738ecb5..8d4707e58c9c 100644
> --- a/xen/arch/x86/include/asm/hvm/support.h
> +++ b/xen/arch/x86/include/asm/hvm/support.h
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * support.h: HVM support routines used by VT-x and SVM.
>   *
>   * Leendert van Doorn, leendert@watson.ibm.com
>   * Copyright (c) 2005, International Business Machines 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_X86_HVM_SUPPORT_H__
> diff --git a/xen/arch/x86/include/asm/hvm/svm/nestedsvm.h b/xen/arch/x86/include/asm/hvm/svm/nestedsvm.h
> index 230f818df80c..406fc082b107 100644
> --- a/xen/arch/x86/include/asm/hvm/svm/nestedsvm.h
> +++ b/xen/arch/x86/include/asm/hvm/svm/nestedsvm.h
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * nestedsvm.h: Nested Virtualization
>   * Copyright (c) 2011, Advanced Micro Devices, Inc
>   *
> - * 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_X86_HVM_SVM_NESTEDSVM_H__
>  #define __ASM_X86_HVM_SVM_NESTEDSVM_H__
> diff --git a/xen/arch/x86/include/asm/hvm/svm/svm.h b/xen/arch/x86/include/asm/hvm/svm/svm.h
> index 7d5de0122a40..687d35be4027 100644
> --- a/xen/arch/x86/include/asm/hvm/svm/svm.h
> +++ b/xen/arch/x86/include/asm/hvm/svm/svm.h
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * svm.h: SVM Architecture related definitions
>   * Copyright (c) 2005, AMD Corporation.
>   * Copyright (c) 2004, 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_X86_HVM_SVM_H__
> diff --git a/xen/arch/x86/include/asm/hvm/svm/svmdebug.h b/xen/arch/x86/include/asm/hvm/svm/svmdebug.h
> index 330c1d91aad5..f1cde676dca1 100644
> --- a/xen/arch/x86/include/asm/hvm/svm/svmdebug.h
> +++ b/xen/arch/x86/include/asm/hvm/svm/svmdebug.h
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * svmdebug.h: SVM related debug defintions
>   * Copyright (c) 2011, AMD 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_X86_HVM_SVM_SVMDEBUG_H__
> diff --git a/xen/arch/x86/include/asm/hvm/svm/vmcb.h b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
> index b809e85507aa..7da50dbc6cbd 100644
> --- a/xen/arch/x86/include/asm/hvm/svm/vmcb.h
> +++ b/xen/arch/x86/include/asm/hvm/svm/vmcb.h
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vmcb.h: VMCB related definitions
>   * Copyright (c) 2005-2007, Advanced Micro Devices, Inc
>   * Copyright (c) 2004, 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_X86_HVM_SVM_VMCB_H__
>  #define __ASM_X86_HVM_SVM_VMCB_H__
> diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h b/xen/arch/x86/include/asm/hvm/vcpu.h
> index 8adf4555c2ab..c9ef2b325bd4 100644
> --- a/xen/arch/x86/include/asm/hvm/vcpu.h
> +++ b/xen/arch/x86/include/asm/hvm/vcpu.h
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vcpu.h: HVM per vcpu definitions
>   *
>   * Copyright (c) 2005, International Business Machines 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_X86_HVM_VCPU_H__
> diff --git a/xen/arch/x86/include/asm/hvm/vlapic.h b/xen/arch/x86/include/asm/hvm/vlapic.h
> index 8f908928c35c..f27454a13698 100644
> --- a/xen/arch/x86/include/asm/hvm/vlapic.h
> +++ b/xen/arch/x86/include/asm/hvm/vlapic.h
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * hvm_vlapic.h: virtualize LAPIC definitions.
>   *
>   * Copyright (c) 2004, Intel Corporation.
>   * Copyright (c) 2006 Keir Fraser, XenSource Inc.
> - *
> - * 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_X86_HVM_VLAPIC_H__
> diff --git a/xen/arch/x86/include/asm/hvm/vm_event.h b/xen/arch/x86/include/asm/hvm/vm_event.h
> index 28cb07ce8ff6..506a85c7748b 100644
> --- a/xen/arch/x86/include/asm/hvm/vm_event.h
> +++ b/xen/arch/x86/include/asm/hvm/vm_event.h
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * include/asm-x86/hvm/vm_event.h
>   *
>   * Hardware virtual machine vm_event abstractions.
> - *
> - * This program is free software; you can redistribute it and/or modify it
> - * under the terms and conditions of the GNU General Public License,
> - * version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope it will be useful, but WITHOUT
> - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
> - * more details.
> - *
> - * You should have received a copy of the GNU General Public License along with
> - * this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #ifndef __ASM_X86_HVM_VM_EVENT_H__
> diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> index 0a84e7447805..51641caa9fd3 100644
> --- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> +++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vmcs.h: VMCS related definitions
>   * Copyright (c) 2004, 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_X86_HVM_VMX_VMCS_H__
>  #define __ASM_X86_HVM_VMX_VMCS_H__
> diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
> index 82a9487b40f5..36c108d8797d 100644
> --- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
> +++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vmx.h: VMX Architecture related definitions
>   * Copyright (c) 2004, 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_X86_HVM_VMX_VMX_H__
>  #define __ASM_X86_HVM_VMX_VMX_H__
> diff --git a/xen/arch/x86/include/asm/hvm/vmx/vvmx.h b/xen/arch/x86/include/asm/hvm/vmx/vvmx.h
> index 2c3adb5dd6b3..dc9db69258d2 100644
> --- a/xen/arch/x86/include/asm/hvm/vmx/vvmx.h
> +++ b/xen/arch/x86/include/asm/hvm/vmx/vvmx.h
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  
>  /*
>   * vvmx.h: Support virtual VMX for nested virtualization.
> @@ -6,18 +7,6 @@
>   * Author: Qing He <qing.he@intel.com>
>   *         Eddie Dong <eddie.dong@intel.com>
>   *
> - * 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_X86_HVM_VVMX_H__
>  #define __ASM_X86_HVM_VVMX_H__
> diff --git a/xen/arch/x86/include/asm/hvm/vpt.h b/xen/arch/x86/include/asm/hvm/vpt.h
> index 74c0cedd11cc..935cbe333b11 100644
> --- a/xen/arch/x86/include/asm/hvm/vpt.h
> +++ b/xen/arch/x86/include/asm/hvm/vpt.h
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vpt.h: Virtual Platform Timer definitions
>   *
>   * Copyright (c) 2004, 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_X86_HVM_VPT_H__
> diff --git a/xen/arch/x86/include/asm/iommu.h b/xen/arch/x86/include/asm/iommu.h
> index 586c7434f243..0540cd9faa87 100644
> --- a/xen/arch/x86/include/asm/iommu.h
> +++ b/xen/arch/x86/include/asm/iommu.h
> @@ -1,16 +1,4 @@
> -/*
> - * 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/>.
> -*/
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  #ifndef __ARCH_X86_IOMMU_H__
>  #define __ARCH_X86_IOMMU_H__
>  
> diff --git a/xen/arch/x86/include/asm/ioreq.h b/xen/arch/x86/include/asm/ioreq.h
> index d06ce9a6ea56..5fe811eff598 100644
> --- a/xen/arch/x86/include/asm/ioreq.h
> +++ b/xen/arch/x86/include/asm/ioreq.h
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * ioreq.h: Hardware virtual machine assist interface definitions.
>   *
> @@ -5,18 +6,6 @@
>   * from the common code.
>   *
>   * Copyright (c) 2016 Citrix Systems Inc.
> - *
> - * 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_X86_IOREQ_H__
> diff --git a/xen/arch/x86/include/asm/vm_event.h b/xen/arch/x86/include/asm/vm_event.h
> index 075612407523..46e77ed6d936 100644
> --- a/xen/arch/x86/include/asm/vm_event.h
> +++ b/xen/arch/x86/include/asm/vm_event.h
> @@ -1,19 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vm_event.h: architecture specific vm_event handling routines
>   *
>   * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
> - *
> - * 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_X86_VM_EVENT_H__
> diff --git a/xen/arch/x86/include/asm/vpmu.h b/xen/arch/x86/include/asm/vpmu.h
> index 05e1fbfccfcf..b165acc6c273 100644
> --- a/xen/arch/x86/include/asm/vpmu.h
> +++ b/xen/arch/x86/include/asm/vpmu.h
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * vpmu.h: PMU virtualization for HVM domain.
>   *
>   * Copyright (c) 2007, 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/>.
> - *
>   * Author: Haitao Shan <haitao.shan@intel.com>
>   */
>  
> diff --git a/xen/arch/x86/mm/hap/private.h b/xen/arch/x86/mm/hap/private.h
> index 1040eaf69f43..7eb672fa413a 100644
> --- a/xen/arch/x86/mm/hap/private.h
> +++ b/xen/arch/x86/mm/hap/private.h
> @@ -1,20 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * arch/x86/mm/hap/private.h
>   *
>   * Copyright (c) 2007, AMD Corporation (Wei Huang)
>   *
> - * 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 __HAP_PRIVATE_H__
>  #define __HAP_PRIVATE_H__
> diff --git a/xen/arch/x86/x86_64/mmconfig.h b/xen/arch/x86/x86_64/mmconfig.h
> index 433046be663a..2d49fc79a0bb 100644
> --- a/xen/arch/x86/x86_64/mmconfig.h
> +++ b/xen/arch/x86/x86_64/mmconfig.h
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * Copyright (c) 2006, 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/>.
> - *
>   * Author: Allen Kay <allen.m.kay@intel.com> - adapted from linux
>   */
>  
> -- 
> 2.39.2
> 
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 00:58:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 00:58:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515511.798468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgxfC-0001Hg-Pk; Tue, 28 Mar 2023 00:58:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515511.798468; Tue, 28 Mar 2023 00: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 1pgxfC-0001HZ-Mr; Tue, 28 Mar 2023 00:58:14 +0000
Received: by outflank-mailman (input) for mailman id 515511;
 Tue, 28 Mar 2023 00:58:13 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=by25=7U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pgxfB-0001HG-48
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 00:58:13 +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 9bf41da0-cd03-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 02:58:11 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 0307A6155C;
 Tue, 28 Mar 2023 00:58:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 494F6C433EF;
 Tue, 28 Mar 2023 00:58: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: 9bf41da0-cd03-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679965089;
	bh=rpzPA0TXyXjEr8B+wCJ+QuXoibiiLx1QumD5tAgsLtM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hvafVBRxMcEsgDa5TmHIcgTVn2F+sksjXWhQFPMQETjHiNnh2ZVl0uf6JB1MXBIBc
	 quumN0Doe2+Ytcm8bqKpS3vo42tbZ9fkvLVdU7gthu19+2bztoUhp/H/yDtMF1GzTa
	 ZUNJFfhcHl1EtgZi6qG6L0FdfF8O3malj3hwfuttoAiMxoOmU1fblSHfn5VCXZfOy0
	 58594v6EGJ6X4QKr5LuQLkT3JkW56q9IMVpRtJHZwuDeoN2LqzHJIIWbPq0b0rwUG9
	 SL72hO5xH5KfVO2L9JPaf3FzemgZTR8Bsms90o//iANPzHKE/csjYJ26lXUs+lad86
	 tCJsPLtlzLYtg==
Date: Mon, 27 Mar 2023 17:58:06 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.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>
Subject: Re: [PATCH v2 5/7] xen/x86: Replace GPL v2.0 license boilerplate
 with an SPDX tag in *.h (part 3)
In-Reply-To: <20230327184520.81828-6-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2303271757490.4066@ubuntu-linux-20-04-desktop>
References: <20230327184520.81828-1-julien@xen.org> <20230327184520.81828-6-julien@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, 27 Mar 2023, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> It is easier to understand the license of a file when using SPDX.
> 
> This is replacing the below pattern with the SPDX tag GPL-2.0-only
> in xen/arch/x86/*.h:
> 
>  * This program is free software; you can redistribute it and/or
>  * modify it under the terms and conditions of the GNU General Public
>  * License, version 2, as published by the Free Software Foundation.
>  *
>  * This program is distributed in the hope that it will be useful,
>  * but WITHOUT ANY WARRANTY; without even the implied warranty of
>  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>  * General Public License for more details.
>  *
>  * You should have received a copy of the GNU General Public
>  * License along with this program; If not, see <http://www.gnu.org/licenses/>.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>

I ran the same commands on my system leading to the same results

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> 
>     Changes in v2:
>         - Switch to GPL-2.0-only
> 
> 42sh> cat gpl-2.0-pattern-2.txt
>  * This program is free software; you can redistribute it and/or
>  * modify it under the terms and conditions of the GNU General Public
>  * License, version 2, as published by the Free Software Foundation.
>  *
>  * This program is distributed in the hope that it will be useful,
>  * but WITHOUT ANY WARRANTY; without even the implied warranty of
>  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>  * General Public License for more details.
>  *
>  * You should have received a copy of the GNU General Public
>  * License along with this program; If not, see <http://www.gnu.org/licenses/>.
> 42sh> find xen/arch/x86/ -name '*.h' -exec replace_license.py gpl-2.0-pattern-2.txt GPL-2.0-only {} \;
> ---
>  xen/arch/x86/include/asm/guest.h              | 13 +------------
>  xen/arch/x86/include/asm/guest/hyperv-hcall.h | 13 +------------
>  xen/arch/x86/include/asm/guest/hyperv.h       | 13 +------------
>  xen/arch/x86/include/asm/guest/hypervisor.h   | 13 +------------
>  xen/arch/x86/include/asm/guest/pvh-boot.h     | 13 +------------
>  xen/arch/x86/include/asm/guest/xen-hcall.h    | 13 +------------
>  xen/arch/x86/include/asm/guest/xen.h          | 13 +------------
>  xen/arch/x86/include/asm/hvm/grant_table.h    | 13 +------------
>  xen/arch/x86/include/asm/pv/domain.h          | 13 +------------
>  xen/arch/x86/include/asm/pv/grant_table.h     | 13 +------------
>  xen/arch/x86/include/asm/pv/mm.h              | 13 +------------
>  xen/arch/x86/include/asm/pv/shim.h            | 13 +------------
>  xen/arch/x86/include/asm/pv/traps.h           | 13 +------------
>  13 files changed, 13 insertions(+), 156 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/guest.h b/xen/arch/x86/include/asm/guest.h
> index ccf1ffbb729a..c3124c7b8d3a 100644
> --- a/xen/arch/x86/include/asm/guest.h
> +++ b/xen/arch/x86/include/asm/guest.h
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * asm-x86/guest.h
>   *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017 Citrix Systems Ltd.
>   */
>  
> diff --git a/xen/arch/x86/include/asm/guest/hyperv-hcall.h b/xen/arch/x86/include/asm/guest/hyperv-hcall.h
> index 423ca0860b5d..b76dbf9ccca3 100644
> --- a/xen/arch/x86/include/asm/guest/hyperv-hcall.h
> +++ b/xen/arch/x86/include/asm/guest/hyperv-hcall.h
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * asm-x86/guest/hyperv-hcall.h
>   *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2019 Microsoft.
>   */
>  
> diff --git a/xen/arch/x86/include/asm/guest/hyperv.h b/xen/arch/x86/include/asm/guest/hyperv.h
> index 1a1b47831c8d..c05efdce71a4 100644
> --- a/xen/arch/x86/include/asm/guest/hyperv.h
> +++ b/xen/arch/x86/include/asm/guest/hyperv.h
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * asm-x86/guest/hyperv.h
>   *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2019 Microsoft.
>   */
>  
> diff --git a/xen/arch/x86/include/asm/guest/hypervisor.h b/xen/arch/x86/include/asm/guest/hypervisor.h
> index 0a6c3b47ab36..4cffea386609 100644
> --- a/xen/arch/x86/include/asm/guest/hypervisor.h
> +++ b/xen/arch/x86/include/asm/guest/hypervisor.h
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * asm-x86/guest/hypervisor.h
>   *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2019 Microsoft.
>   */
>  
> diff --git a/xen/arch/x86/include/asm/guest/pvh-boot.h b/xen/arch/x86/include/asm/guest/pvh-boot.h
> index 48ffd1a0b1b4..247ba6899e72 100644
> --- a/xen/arch/x86/include/asm/guest/pvh-boot.h
> +++ b/xen/arch/x86/include/asm/guest/pvh-boot.h
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * asm-x86/guest/pvh-boot.h
>   *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017 Citrix Systems Ltd.
>   */
>  
> diff --git a/xen/arch/x86/include/asm/guest/xen-hcall.h b/xen/arch/x86/include/asm/guest/xen-hcall.h
> index 03d5868a9efd..665b472d05ac 100644
> --- a/xen/arch/x86/include/asm/guest/xen-hcall.h
> +++ b/xen/arch/x86/include/asm/guest/xen-hcall.h
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * asm-x86/guest/xen-hcall.h
>   *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017 Citrix Systems Ltd.
>   */
>  
> diff --git a/xen/arch/x86/include/asm/guest/xen.h b/xen/arch/x86/include/asm/guest/xen.h
> index 2042a9a0c253..c330c4d40078 100644
> --- a/xen/arch/x86/include/asm/guest/xen.h
> +++ b/xen/arch/x86/include/asm/guest/xen.h
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * asm-x86/guest/xen.h
>   *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017 Citrix Systems Ltd.
>   */
>  
> diff --git a/xen/arch/x86/include/asm/hvm/grant_table.h b/xen/arch/x86/include/asm/hvm/grant_table.h
> index a5612585b35e..33c1da1a25f3 100644
> --- a/xen/arch/x86/include/asm/hvm/grant_table.h
> +++ b/xen/arch/x86/include/asm/hvm/grant_table.h
> @@ -1,21 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * asm-x86/hvm/grant_table.h
>   *
>   * Grant table interfaces for HVM guests
>   *
>   * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.com>
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #ifndef __X86_HVM_GRANT_TABLE_H__
> diff --git a/xen/arch/x86/include/asm/pv/domain.h b/xen/arch/x86/include/asm/pv/domain.h
> index 924508bbb4f0..db7a40f68e92 100644
> --- a/xen/arch/x86/include/asm/pv/domain.h
> +++ b/xen/arch/x86/include/asm/pv/domain.h
> @@ -1,21 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * pv/domain.h
>   *
>   * PV guest interface definitions
>   *
>   * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.com>
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #ifndef __X86_PV_DOMAIN_H__
> diff --git a/xen/arch/x86/include/asm/pv/grant_table.h b/xen/arch/x86/include/asm/pv/grant_table.h
> index 85442b60749f..88f36c6595f0 100644
> --- a/xen/arch/x86/include/asm/pv/grant_table.h
> +++ b/xen/arch/x86/include/asm/pv/grant_table.h
> @@ -1,21 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * asm-x86/pv/grant_table.h
>   *
>   * Grant table interfaces for PV guests
>   *
>   * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.com>
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #ifndef __X86_PV_GRANT_TABLE_H__
> diff --git a/xen/arch/x86/include/asm/pv/mm.h b/xen/arch/x86/include/asm/pv/mm.h
> index 9983f8257c63..182764542c1f 100644
> --- a/xen/arch/x86/include/asm/pv/mm.h
> +++ b/xen/arch/x86/include/asm/pv/mm.h
> @@ -1,21 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * asm-x86/pv/mm.h
>   *
>   * Memory management interfaces for PV guests
>   *
>   * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.com>
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #ifndef __X86_PV_MM_H__
> diff --git a/xen/arch/x86/include/asm/pv/shim.h b/xen/arch/x86/include/asm/pv/shim.h
> index a43c3689b48a..5625b90b72bd 100644
> --- a/xen/arch/x86/include/asm/pv/shim.h
> +++ b/xen/arch/x86/include/asm/pv/shim.h
> @@ -1,18 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /******************************************************************************
>   * asm-x86/guest/shim.h
>   *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017 Citrix Systems Ltd.
>   */
>  
> diff --git a/xen/arch/x86/include/asm/pv/traps.h b/xen/arch/x86/include/asm/pv/traps.h
> index 855203c4e288..404f5b169ca8 100644
> --- a/xen/arch/x86/include/asm/pv/traps.h
> +++ b/xen/arch/x86/include/asm/pv/traps.h
> @@ -1,21 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
>  /*
>   * pv/traps.h
>   *
>   * PV guest traps interface definitions
>   *
>   * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.com>
> - *
> - * This program is free software; you can redistribute it and/or
> - * modify it under the terms and conditions of the GNU General Public
> - * License, version 2, as published by the Free Software Foundation.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> - * General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public
> - * License along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #ifndef __X86_PV_TRAPS_H__
> -- 
> 2.39.2
> 
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 00:59:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 00:59:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515515.798478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgxgk-0001wa-4B; Tue, 28 Mar 2023 00:59:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515515.798478; Tue, 28 Mar 2023 00:59:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgxgk-0001wR-1K; Tue, 28 Mar 2023 00:59:50 +0000
Received: by outflank-mailman (input) for mailman id 515515;
 Tue, 28 Mar 2023 00:59: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=by25=7U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pgxgi-0001wL-Ng
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 00:59:49 +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 d32c4ee7-cd03-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 02:59:44 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id 93F2BCE19E8;
 Tue, 28 Mar 2023 00:59:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 130EFC433EF;
 Tue, 28 Mar 2023 00:59: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: d32c4ee7-cd03-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679965179;
	bh=Me9B1plvTRmZyjyFUlxYSHzW/9+Q/Rbwszgf+0nYMOQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=u5hFJEm80OU0e8s0X0NHK9fKl4wicJh0d6+8Op2xGe70htFDT2b8Cmi/yq6EXiZYC
	 /ajtAkF/xM9aHR7BzbF5dXVYzOi+pvltt9QGm90x36iD0/7RxwES5j008oc2CzBxnR
	 3vtX0i8iP/q5CRzNCs4PVq0o+99Y2pqV5/oj67DzZZfeRCKx/KbcY9aqjuLwg1Fyuh
	 jUQOnGE1FHgxIGB8YazfypTSZno4JgLAFqvmc8dl8RDJ83wDuUGecp6ooAcI55Ibqq
	 Fm32r3jmBSQbKo3iuwHblhd112fqgDZkbqOVhpp5fKFKuPZAhueYAJnPind5Ua4LzJ
	 WhYxb2Sd58DpQ==
Date: Mon, 27 Mar 2023 17:59:36 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.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>, 
    Tamas K Lengyel <tamas@tklengyel.com>, 
    Alexandru Isaila <aisaila@bitdefender.com>, 
    Petre Pircalabu <ppircalabu@bitdefender.com>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH v2 6/7] xen/x86: Replace GPL v2.0+ license boilerplate
 with an SPDX tag in *.c
In-Reply-To: <20230327184520.81828-7-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2303271759200.4066@ubuntu-linux-20-04-desktop>
References: <20230327184520.81828-1-julien@xen.org> <20230327184520.81828-7-julien@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, 27 Mar 2023, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> It is easier to understand the license of a file when using SPDX.
> 
> This is replacing the below pattern with the SPDX tag GPL-2.0-or-later
> in xen/arch/x86/*.c:
> 
>  * This program is free software; you can redistribute it and/or modify
>  * it under the terms of the GNU General Public License as published by
>  * the Free Software Foundation; either version 2 of the License, or
>  * (at your option) any later version.
>  *
>  * This program is distributed in the hope that it will be useful,
>  * but WITHOUT ANY WARRANTY; without even the implied warranty of
>  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>  * GNU General Public License for more details.
>  *
>  * You should have received a copy of the GNU General Public License
>  * along with this program; If not, see <http://www.gnu.org/licenses/>.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> ---
>     Changes in v2:
>         - The license is GPLv2.0+ rather than GPLv2.0
> 
> 42sh> cat gpl-2.0+-pattern-1.txt
>  * 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/>.
> 42sh> find xen/arch/x86/ -name '*.c' -exec replace_license.py gpl-2.0+-pattern-1.txt GPL-2.0-or-later {} \;

I ran the same commands on my system leading to the same results

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/x86/alternative.c             | 14 +-------------
>  xen/arch/x86/cpu/mcheck/amd_nonfatal.c | 14 +-------------
>  xen/arch/x86/cpu/mcheck/mce_amd.c      | 14 +-------------
>  xen/arch/x86/cpu/mcheck/vmce.c         | 14 +-------------
>  xen/arch/x86/guest/hyperv/hyperv.c     | 14 +-------------
>  xen/arch/x86/guest/hyperv/tlb.c        | 14 +-------------
>  xen/arch/x86/guest/hyperv/util.c       | 14 +-------------
>  xen/arch/x86/guest/hypervisor.c        | 14 +-------------
>  xen/arch/x86/guest/xen/pvh-boot.c      | 14 +-------------
>  xen/arch/x86/guest/xen/xen.c           | 14 +-------------
>  xen/arch/x86/hvm/grant_table.c         | 14 +-------------
>  xen/arch/x86/hvm/hypercall.c           | 14 +-------------
>  xen/arch/x86/hypercall.c               | 14 +-------------
>  xen/arch/x86/mm.c                      | 14 +-------------
>  xen/arch/x86/mm/guest_walk.c           | 14 +-------------
>  xen/arch/x86/mm/hap/hap.c              | 14 +-------------
>  xen/arch/x86/mm/hap/nested_hap.c       | 14 +-------------
>  xen/arch/x86/mm/mem_access.c           | 14 +-------------
>  xen/arch/x86/mm/mem_paging.c           | 14 +-------------
>  xen/arch/x86/mm/mem_sharing.c          | 14 +-------------
>  xen/arch/x86/mm/nested.c               | 14 +-------------
>  xen/arch/x86/mm/p2m-basic.c            | 14 +-------------
>  xen/arch/x86/mm/p2m-pod.c              | 14 +-------------
>  xen/arch/x86/mm/p2m-pt.c               | 14 +-------------
>  xen/arch/x86/mm/p2m.c                  | 14 +-------------
>  xen/arch/x86/mm/paging.c               | 14 +-------------
>  xen/arch/x86/mm/physmap.c              | 14 +-------------
>  xen/arch/x86/mm/shadow/common.c        | 14 +-------------
>  xen/arch/x86/mm/shadow/hvm.c           | 14 +-------------
>  xen/arch/x86/mm/shadow/multi.c         | 14 +-------------
>  xen/arch/x86/mm/shadow/pv.c            | 14 +-------------
>  xen/arch/x86/mm/shadow/set.c           | 14 +-------------
>  xen/arch/x86/msr.c                     | 14 +-------------
>  xen/arch/x86/pv/emul-gate-op.c         | 14 +-------------
>  xen/arch/x86/pv/emul-inv-op.c          | 14 +-------------
>  xen/arch/x86/pv/emul-priv-op.c         | 14 +-------------
>  xen/arch/x86/pv/emulate.c              | 14 +-------------
>  xen/arch/x86/pv/hypercall.c            | 14 +-------------
>  xen/arch/x86/pv/misc-hypercalls.c      | 14 +-------------
>  xen/arch/x86/pv/ro-page-fault.c        | 14 +-------------
>  xen/arch/x86/pv/shim.c                 | 14 +-------------
>  xen/arch/x86/pv/traps.c                | 14 +-------------
>  xen/arch/x86/smpboot.c                 | 14 +-------------
>  xen/arch/x86/spec_ctrl.c               | 14 +-------------
>  xen/arch/x86/traps.c                   | 14 +-------------
>  xen/arch/x86/x86_emulate/x86_emulate.c | 14 +-------------
>  46 files changed, 46 insertions(+), 598 deletions(-)
> 
> diff --git a/xen/arch/x86/alternative.c b/xen/arch/x86/alternative.c
> index 0c6fc7b4fb0c..2383fa66294c 100644
> --- a/xen/arch/x86/alternative.c
> +++ b/xen/arch/x86/alternative.c
> @@ -1,18 +1,6 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * alternative.c
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * 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/delay.h>
> diff --git a/xen/arch/x86/cpu/mcheck/amd_nonfatal.c b/xen/arch/x86/cpu/mcheck/amd_nonfatal.c
> index efb45c931e1f..7d48c9ab5f7a 100644
> --- a/xen/arch/x86/cpu/mcheck/amd_nonfatal.c
> +++ b/xen/arch/x86/cpu/mcheck/amd_nonfatal.c
> @@ -1,19 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /*
>   * MCA implementation for AMD CPUs
>   * Copyright (c) 2007 Advanced Micro Devices, Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  
> diff --git a/xen/arch/x86/cpu/mcheck/mce_amd.c b/xen/arch/x86/cpu/mcheck/mce_amd.c
> index d7ae8919df77..3c374fd4e4e9 100644
> --- a/xen/arch/x86/cpu/mcheck/mce_amd.c
> +++ b/xen/arch/x86/cpu/mcheck/mce_amd.c
> @@ -1,19 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /*
>   * common MCA implementation for AMD CPUs.
>   * Copyright (c) 2012-2014 Advanced Micro Devices, Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  /* K8 common MCA documentation published at
> diff --git a/xen/arch/x86/cpu/mcheck/vmce.c b/xen/arch/x86/cpu/mcheck/vmce.c
> index af30811afd44..40cc2c5230d7 100644
> --- a/xen/arch/x86/cpu/mcheck/vmce.c
> +++ b/xen/arch/x86/cpu/mcheck/vmce.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /*
>   * vmce.c - provide software emulated vMCE support to guest
>   *
>   * Copyright (C) 2010, 2011 Jiang, Yunhong <yunhong.jiang@intel.com>
>   * Copyright (C) 2012, 2013 Liu, Jinsong <jinsong.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 <xen/init.h>
> diff --git a/xen/arch/x86/guest/hyperv/hyperv.c b/xen/arch/x86/guest/hyperv/hyperv.c
> index b101ba3080b4..aacc7a61670b 100644
> --- a/xen/arch/x86/guest/hyperv/hyperv.c
> +++ b/xen/arch/x86/guest/hyperv/hyperv.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/guest/hyperv/hyperv.c
>   *
>   * Support for detecting and running under Hyper-V.
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2019 Microsoft.
>   */
>  #include <xen/init.h>
> diff --git a/xen/arch/x86/guest/hyperv/tlb.c b/xen/arch/x86/guest/hyperv/tlb.c
> index f249b259253d..ef930efa954b 100644
> --- a/xen/arch/x86/guest/hyperv/tlb.c
> +++ b/xen/arch/x86/guest/hyperv/tlb.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/guest/hyperv/tlb.c
>   *
>   * Support for TLB management using hypercalls
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2020 Microsoft.
>   */
>  
> diff --git a/xen/arch/x86/guest/hyperv/util.c b/xen/arch/x86/guest/hyperv/util.c
> index 2c5f421b7bd9..a88699e818b7 100644
> --- a/xen/arch/x86/guest/hyperv/util.c
> +++ b/xen/arch/x86/guest/hyperv/util.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/guest/hyperv/util.c
>   *
>   * Hyper-V utility functions
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2020 Microsoft.
>   */
>  
> diff --git a/xen/arch/x86/guest/hypervisor.c b/xen/arch/x86/guest/hypervisor.c
> index 366af1d65001..b8549a131a5a 100644
> --- a/xen/arch/x86/guest/hypervisor.c
> +++ b/xen/arch/x86/guest/hypervisor.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/guest/hypervisor.c
>   *
>   * Support for detecting and running under a hypervisor.
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2019 Microsoft.
>   */
>  #include <xen/cpumask.h>
> diff --git a/xen/arch/x86/guest/xen/pvh-boot.c b/xen/arch/x86/guest/xen/pvh-boot.c
> index 498625eae0a3..9cbe87b61bdd 100644
> --- a/xen/arch/x86/guest/xen/pvh-boot.c
> +++ b/xen/arch/x86/guest/xen/pvh-boot.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/guest/pvh-boot.c
>   *
>   * PVH boot time support
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017 Citrix Systems Ltd.
>   */
>  #include <xen/init.h>
> diff --git a/xen/arch/x86/guest/xen/xen.c b/xen/arch/x86/guest/xen/xen.c
> index 9c2defaa6621..f93dfc89f724 100644
> --- a/xen/arch/x86/guest/xen/xen.c
> +++ b/xen/arch/x86/guest/xen/xen.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/guest/xen.c
>   *
>   * Support for detecting and running under Xen.
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017 Citrix Systems Ltd.
>   */
>  #include <xen/event.h>
> diff --git a/xen/arch/x86/hvm/grant_table.c b/xen/arch/x86/hvm/grant_table.c
> index b7a896ea5855..30d51d54a949 100644
> --- a/xen/arch/x86/hvm/grant_table.c
> +++ b/xen/arch/x86/hvm/grant_table.c
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/hvm/grant_table.c
>   *
>   * Grant table interfaces for HVM guests
>   *
>   * Copyright (C) 2017 Wei Liu <wei.liu2@citrix.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 <xen/types.h>
> diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
> index 405d0a95afd8..20d266ffd53a 100644
> --- a/xen/arch/x86/hvm/hypercall.c
> +++ b/xen/arch/x86/hvm/hypercall.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/hvm/hypercall.c
>   *
>   * HVM hypercall dispatching routines
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017 Citrix Systems Ltd.
>   */
>  #include <xen/lib.h>
> diff --git a/xen/arch/x86/hypercall.c b/xen/arch/x86/hypercall.c
> index 6b73cff9b9ff..cc9a6a9d59a0 100644
> --- a/xen/arch/x86/hypercall.c
> +++ b/xen/arch/x86/hypercall.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/hypercall.c
>   *
>   * Common x86 hypercall infrastructure.
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2015,2016 Citrix Systems Ltd.
>   */
>  
> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> index 0fe14faa5fa7..daa5fa78d1ac 100644
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm.c
>   *
>   * Copyright (c) 2002-2005 K A Fraser
>   * Copyright (c) 2004 Christian Limpach
> - *
> - * 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/>.
>   */
>  
>  /*
> diff --git a/xen/arch/x86/mm/guest_walk.c b/xen/arch/x86/mm/guest_walk.c
> index 76b4e0425887..fe7393334fcb 100644
> --- a/xen/arch/x86/mm/guest_walk.c
> +++ b/xen/arch/x86/mm/guest_walk.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/guest_walk.c
>   *
> @@ -6,19 +7,6 @@
>   * Parts of this code are Copyright (c) 2006 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 <xen/types.h>
> diff --git a/xen/arch/x86/mm/hap/hap.c b/xen/arch/x86/mm/hap/hap.c
> index 16e9c3325f9b..de1b8189d924 100644
> --- a/xen/arch/x86/mm/hap/hap.c
> +++ b/xen/arch/x86/mm/hap/hap.c
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/hap/hap.c
>   *
>   * hardware assisted paging
>   * Copyright (c) 2007 Advanced Micro Devices (Wei Huang)
>   * Parts of this code are Copyright (c) 2007 by XenSource Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/types.h>
> diff --git a/xen/arch/x86/mm/hap/nested_hap.c b/xen/arch/x86/mm/hap/nested_hap.c
> index 098e8e5d4ca9..ee78a797d1a4 100644
> --- a/xen/arch/x86/mm/hap/nested_hap.c
> +++ b/xen/arch/x86/mm/hap/nested_hap.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/hap/nested_hap.c
>   *
>   * Code for Nested Virtualization
>   * Copyright (c) 2011 Advanced Micro Devices
> - *
> - * 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 <xen/vm_event.h>
> diff --git a/xen/arch/x86/mm/mem_access.c b/xen/arch/x86/mm/mem_access.c
> index f3aed9fcc966..4b03effaaae7 100644
> --- a/xen/arch/x86/mm/mem_access.c
> +++ b/xen/arch/x86/mm/mem_access.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/mem_access.c
>   *
> @@ -6,19 +7,6 @@
>   * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 <xen/guest_access.h> /* copy_from_guest() */
> diff --git a/xen/arch/x86/mm/mem_paging.c b/xen/arch/x86/mm/mem_paging.c
> index 01281f786ee0..2c2b34ccf60a 100644
> --- a/xen/arch/x86/mm/mem_paging.c
> +++ b/xen/arch/x86/mm/mem_paging.c
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/mem_paging.c
>   *
>   * Memory paging support.
>   *
>   * Copyright (c) 2009 Citrix Systems, Inc. (Patrick Colp)
> - *
> - * 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/>.
>   */
>  
>  
> diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
> index 649d93dc5444..a7f94bced46c 100644
> --- a/xen/arch/x86/mm/mem_sharing.c
> +++ b/xen/arch/x86/mm/mem_sharing.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/mem_sharing.c
>   *
> @@ -5,19 +6,6 @@
>   *
>   * Copyright (c) 2011 GridCentric, Inc. (Adin Scannell & Andres Lagar-Cavilla)
>   * Copyright (c) 2009 Citrix Systems, Inc. (Grzegorz Milos)
> - *
> - * 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 <xen/types.h>
> diff --git a/xen/arch/x86/mm/nested.c b/xen/arch/x86/mm/nested.c
> index fab62b2b2dc1..03741ffae441 100644
> --- a/xen/arch/x86/mm/nested.c
> +++ b/xen/arch/x86/mm/nested.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/nested.c
>   *
> @@ -6,19 +7,6 @@
>   * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 <xen/sched.h>
> diff --git a/xen/arch/x86/mm/p2m-basic.c b/xen/arch/x86/mm/p2m-basic.c
> index 47b780d6d63a..8599bd15c61a 100644
> --- a/xen/arch/x86/mm/p2m-basic.c
> +++ b/xen/arch/x86/mm/p2m-basic.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/p2m-basic.c
>   *
> @@ -8,19 +9,6 @@
>   * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 <xen/event.h>
> diff --git a/xen/arch/x86/mm/p2m-pod.c b/xen/arch/x86/mm/p2m-pod.c
> index c75a60c19fba..9969eb45fa8c 100644
> --- a/xen/arch/x86/mm/p2m-pod.c
> +++ b/xen/arch/x86/mm/p2m-pod.c
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/p2m-pod.c
>   *
>   * Populate-on-demand p2m entries.
>   *
>   * Copyright (c) 2009-2011 Citrix Systems, Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License 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 <xen/event.h>
> diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
> index cd1af33b6772..6d1bb5daadb9 100644
> --- a/xen/arch/x86/mm/p2m-pt.c
> +++ b/xen/arch/x86/mm/p2m-pt.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/p2m-pt.c
>   *
> @@ -9,19 +10,6 @@
>   * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 <xen/vm_event.h>
> diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
> index 7e481aec380a..714358f953f2 100644
> --- a/xen/arch/x86/mm/p2m.c
> +++ b/xen/arch/x86/mm/p2m.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/p2m.c
>   *
> @@ -8,19 +9,6 @@
>   * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 <xen/iommu.h>
> diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
> index ff5b480677ca..9ec305730a6d 100644
> --- a/xen/arch/x86/mm/paging.c
> +++ b/xen/arch/x86/mm/paging.c
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/paging.c
>   *
>   * x86 specific paging support
>   * Copyright (c) 2007 Advanced Micro Devices (Wei Huang)
>   * Copyright (c) 2007 XenSource Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  #include <xen/init.h>
> diff --git a/xen/arch/x86/mm/physmap.c b/xen/arch/x86/mm/physmap.c
> index 2d267b42f73b..f1695e456e85 100644
> --- a/xen/arch/x86/mm/physmap.c
> +++ b/xen/arch/x86/mm/physmap.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/physmap.c
>   *
> @@ -6,19 +7,6 @@
>   * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 <xen/iommu.h>
> diff --git a/xen/arch/x86/mm/shadow/common.c b/xen/arch/x86/mm/shadow/common.c
> index 1c1b0ad0d827..0f3a369d89c3 100644
> --- a/xen/arch/x86/mm/shadow/common.c
> +++ b/xen/arch/x86/mm/shadow/common.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/shadow/common.c
>   *
> @@ -5,19 +6,6 @@
>   * Parts of this code are Copyright (c) 2006 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 <xen/ioreq.h>
> diff --git a/xen/arch/x86/mm/shadow/hvm.c b/xen/arch/x86/mm/shadow/hvm.c
> index e2ee1c77056f..0bb341c13e0b 100644
> --- a/xen/arch/x86/mm/shadow/hvm.c
> +++ b/xen/arch/x86/mm/shadow/hvm.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  
>  /******************************************************************************
>   * arch/x86/mm/shadow/hvm.c
> @@ -6,19 +7,6 @@
>   * Parts of this code are Copyright (c) 2006 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 <xen/domain_page.h>
> diff --git a/xen/arch/x86/mm/shadow/multi.c b/xen/arch/x86/mm/shadow/multi.c
> index 8699de050127..6fd70cf3f280 100644
> --- a/xen/arch/x86/mm/shadow/multi.c
> +++ b/xen/arch/x86/mm/shadow/multi.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/shadow/multi.c
>   *
> @@ -5,19 +6,6 @@
>   * Parts of this code are Copyright (c) 2006 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 <xen/types.h>
> diff --git a/xen/arch/x86/mm/shadow/pv.c b/xen/arch/x86/mm/shadow/pv.c
> index 0ef8e53d1279..345fd5419a13 100644
> --- a/xen/arch/x86/mm/shadow/pv.c
> +++ b/xen/arch/x86/mm/shadow/pv.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/shadow/pv.c
>   *
> @@ -5,19 +6,6 @@
>   * Parts of this code are Copyright (c) 2006 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 <xen/types.h>
> diff --git a/xen/arch/x86/mm/shadow/set.c b/xen/arch/x86/mm/shadow/set.c
> index bd6c68b547c9..8b670b6bb555 100644
> --- a/xen/arch/x86/mm/shadow/set.c
> +++ b/xen/arch/x86/mm/shadow/set.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/shadow/set.c
>   *
> @@ -5,19 +6,6 @@
>   * Parts of this code are Copyright (c) 2006 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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/>.
>   */
>  
>  #define GUEST_PAGING_LEVELS 0
> diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
> index 7ddf0078c3a2..639d13992c52 100644
> --- a/xen/arch/x86/msr.c
> +++ b/xen/arch/x86/msr.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/msr.c
>   *
>   * Policy objects for Model-Specific Registers.
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017 Citrix Systems Ltd.
>   */
>  
> diff --git a/xen/arch/x86/pv/emul-gate-op.c b/xen/arch/x86/pv/emul-gate-op.c
> index 758a20ad9df4..107c58b3485c 100644
> --- a/xen/arch/x86/pv/emul-gate-op.c
> +++ b/xen/arch/x86/pv/emul-gate-op.c
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/pv/emul-gate-op.c
>   *
>   * Emulate gate op for PV guests
>   *
>   * Modifications to Linux original are copyright (c) 2002-2004, K A Fraser
> - *
> - * 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 <xen/err.h>
> diff --git a/xen/arch/x86/pv/emul-inv-op.c b/xen/arch/x86/pv/emul-inv-op.c
> index 2c07eed9a092..d89708afe94b 100644
> --- a/xen/arch/x86/pv/emul-inv-op.c
> +++ b/xen/arch/x86/pv/emul-inv-op.c
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/pv/emul-inv-op.c
>   *
>   * Emulate invalid op for PV guests
>   *
>   * Modifications to Linux original are copyright (c) 2002-2004, K A Fraser
> - *
> - * 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 <asm/pv/trace.h>
> diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
> index 5da00e24e4ff..4242456165e9 100644
> --- a/xen/arch/x86/pv/emul-priv-op.c
> +++ b/xen/arch/x86/pv/emul-priv-op.c
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/pv/emul-priv-op.c
>   *
>   * Emulate privileged instructions for PV guests
>   *
>   * Modifications to Linux original are copyright (c) 2002-2004, K A Fraser
> - *
> - * 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 <xen/domain_page.h>
> diff --git a/xen/arch/x86/pv/emulate.c b/xen/arch/x86/pv/emulate.c
> index 0a7907ec5e84..e763571b38fc 100644
> --- a/xen/arch/x86/pv/emulate.c
> +++ b/xen/arch/x86/pv/emulate.c
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/pv/emulate.c
>   *
>   * Common PV emulation code
>   *
>   * Modifications to Linux original are copyright (c) 2002-2004, K A Fraser
> - *
> - * 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 <xen/guest_access.h>
> diff --git a/xen/arch/x86/pv/hypercall.c b/xen/arch/x86/pv/hypercall.c
> index 2eedfbfae864..4294e930128b 100644
> --- a/xen/arch/x86/pv/hypercall.c
> +++ b/xen/arch/x86/pv/hypercall.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/pv/hypercall.c
>   *
>   * PV hypercall dispatching routines
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017 Citrix Systems Ltd.
>   */
>  
> diff --git a/xen/arch/x86/pv/misc-hypercalls.c b/xen/arch/x86/pv/misc-hypercalls.c
> index aaaf70eb6330..b11bd718b7de 100644
> --- a/xen/arch/x86/pv/misc-hypercalls.c
> +++ b/xen/arch/x86/pv/misc-hypercalls.c
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/pv/misc-hypercalls.c
>   *
>   * Misc hypercall handlers
>   *
>   * Modifications to Linux original are copyright (c) 2002-2004, K A Fraser
> - *
> - * 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 <xen/hypercall.h>
> diff --git a/xen/arch/x86/pv/ro-page-fault.c b/xen/arch/x86/pv/ro-page-fault.c
> index 5963f5ee2d51..c15e5971a27c 100644
> --- a/xen/arch/x86/pv/ro-page-fault.c
> +++ b/xen/arch/x86/pv/ro-page-fault.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/pv/ro-page-fault.c
>   *
> @@ -5,19 +6,6 @@
>   *
>   * Copyright (c) 2002-2005 K A Fraser
>   * Copyright (c) 2004 Christian Limpach
> - *
> - * 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 <asm/pv/trace.h>
> diff --git a/xen/arch/x86/pv/shim.c b/xen/arch/x86/pv/shim.c
> index ae1a0e6e65af..404408711972 100644
> --- a/xen/arch/x86/pv/shim.c
> +++ b/xen/arch/x86/pv/shim.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/pv/shim.c
>   *
>   * Functionaltiy for PV Shim mode
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017 Citrix Systems Ltd.
>   */
>  #include <xen/event.h>
> diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
> index 97fe54b5ee5a..6d330dfe2d1c 100644
> --- a/xen/arch/x86/pv/traps.c
> +++ b/xen/arch/x86/pv/traps.c
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/pv/traps.c
>   *
>   * PV low level entry points.
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017 Citrix Systems Ltd.
>   */
>  
> diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
> index b26758c2c89f..cf9bb220f90d 100644
> --- a/xen/arch/x86/smpboot.c
> +++ b/xen/arch/x86/smpboot.c
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /*
>   * x86 SMP booting functions
>   *
>   * This inherits a great deal from Linux's SMP boot code:
>   *  (c) 1995 Alan Cox, Building #3 <alan@redhat.com>
>   *  (c) 1998, 1999, 2000 Ingo Molnar <mingo@redhat.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 <xen/init.h>
> diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
> index e80e2a5ed1a9..f81db2143328 100644
> --- a/xen/arch/x86/spec_ctrl.c
> +++ b/xen/arch/x86/spec_ctrl.c
> @@ -1,19 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/spec_ctrl.c
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017-2018 Citrix Systems Ltd.
>   */
>  #include <xen/errno.h>
> diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
> index cade9e12f8fa..2397ae299552 100644
> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -1,20 +1,8 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/traps.c
>   *
>   * Modifications to Linux original are copyright (c) 2002-2004, K A Fraser
> - *
> - * 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/>.
>   */
>  
>  /*
> diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
> index e38f98b54726..66c0395d1beb 100644
> --- a/xen/arch/x86/x86_emulate/x86_emulate.c
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.c
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * x86_emulate.c
>   *
> @@ -5,19 +6,6 @@
>   *
>   * Copyright (c) 2005-2007 Keir Fraser
>   * Copyright (c) 2005-2007 XenSource Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
>   */
>  
>  /* Operand sizes: 8-bit operands or specified/overridden size. */
> -- 
> 2.39.2
> 
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 01:00:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 01:00:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515519.798487 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgxhm-0005jF-JN; Tue, 28 Mar 2023 01:00:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515519.798487; Tue, 28 Mar 2023 01: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 1pgxhm-0005iZ-Gk; Tue, 28 Mar 2023 01:00:54 +0000
Received: by outflank-mailman (input) for mailman id 515519;
 Tue, 28 Mar 2023 01:00: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=by25=7U=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1pgxhl-0005LF-UE
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 01:00:54 +0000
Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fafb1aaa-cd03-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 03:00:50 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 2F4886155A;
 Tue, 28 Mar 2023 01:00:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D583C433EF;
 Tue, 28 Mar 2023 01:00: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: fafb1aaa-cd03-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1679965248;
	bh=jCxTDhm9TAFzm7JwYkQQm2z2yCQlgbqt8kdQKgFvqNU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=CbemYh62W6F5mh2JWlFWc1xb7OyF7CBskF//hDJu4/1N1BxTR99JkN5+TnfeXBTOR
	 AwmtVK40SraRnvqMlV6OpEfaAss0NUDo8uq5LmP6Q0+kg1KwB8wkXYsdD5mHOV8akC
	 RAjUsLCYIlHWTmVrxJCgc+GTkY1f3S8ofBZKbzcnwkdvRCSiAQUl8uYCIYayu6uzWX
	 ifst8ORjlNJZCes/naktxJjyWFgfywgb+AOZ2d6VQi6nSzASbVNngQXwcqrJwfnFOL
	 TmAomSn+ZqdPNq+70l5yaa9UEyoVL1y2DaqZ+iF+a06z2NqGoXcFYGQFK0QEH6vOqL
	 PD4P8uY2yeumQ==
Date: Mon, 27 Mar 2023 18:00:45 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.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>, Tim Deegan <tim@xen.org>
Subject: Re: [PATCH v2 7/7] xen/x86: Replace GPL v2.0+ license boilerplate
 with an SPDX tag in *.h
In-Reply-To: <20230327184520.81828-8-julien@xen.org>
Message-ID: <alpine.DEB.2.22.394.2303271800280.4066@ubuntu-linux-20-04-desktop>
References: <20230327184520.81828-1-julien@xen.org> <20230327184520.81828-8-julien@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, 27 Mar 2023, Julien Grall wrote:
> From: Julien Grall <jgrall@amazon.com>
> 
> It is easier to understand the license of a file when using SPDX.
> 
> This is replacing the below pattern with the SPDX tag GPL-2.0-or-later
> in xen/arch/x86/*.h:
> 
>  * 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/>.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> 
> ---
> 
> 42sh> cat gpl-2.0+-pattern-1.txt
>  * 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/>.
> 42sh> find xen/arch/x86/ -name '*.h' -exec replace_license.py gpl-2.0+-pattern-1.txt GPL-2.0-or-later {} \;

I ran the same commands on my system leading to the same results

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  xen/arch/x86/cpu/mcheck/x86_mca.h        | 14 +-------------
>  xen/arch/x86/guest/hyperv/private.h      | 14 +-------------
>  xen/arch/x86/include/asm/endbr.h         | 14 +-------------
>  xen/arch/x86/include/asm/guest_pt.h      | 14 +-------------
>  xen/arch/x86/include/asm/hap.h           | 14 +-------------
>  xen/arch/x86/include/asm/mem_access.h    | 14 +-------------
>  xen/arch/x86/include/asm/mem_paging.h    | 14 +-------------
>  xen/arch/x86/include/asm/mem_sharing.h   | 14 +-------------
>  xen/arch/x86/include/asm/p2m.h           | 14 +-------------
>  xen/arch/x86/include/asm/paging.h        | 14 +-------------
>  xen/arch/x86/include/asm/shstk.h         | 14 +-------------
>  xen/arch/x86/include/asm/spec_ctrl.h     | 14 +-------------
>  xen/arch/x86/include/asm/spec_ctrl_asm.h | 14 +-------------
>  xen/arch/x86/include/asm/traps.h         | 14 +-------------
>  xen/arch/x86/include/asm/xenoprof.h      | 14 +-------------
>  xen/arch/x86/mm/mm-locks.h               | 14 +-------------
>  xen/arch/x86/mm/p2m.h                    | 14 +-------------
>  xen/arch/x86/mm/shadow/multi.h           | 14 +-------------
>  xen/arch/x86/mm/shadow/private.h         | 14 +-------------
>  xen/arch/x86/mm/shadow/types.h           | 14 +-------------
>  xen/arch/x86/x86_emulate/x86_emulate.h   | 14 +-------------
>  21 files changed, 21 insertions(+), 273 deletions(-)
> 
> diff --git a/xen/arch/x86/cpu/mcheck/x86_mca.h b/xen/arch/x86/cpu/mcheck/x86_mca.h
> index 8f7fced0fee0..18116737af29 100644
> --- a/xen/arch/x86/cpu/mcheck/x86_mca.h
> +++ b/xen/arch/x86/cpu/mcheck/x86_mca.h
> @@ -1,19 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /*
>   * MCA implementation for AMD CPUs
>   * Copyright (c) 2007-2012 Advanced Micro Devices, Inc. 
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * 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 X86_MCA_H
> diff --git a/xen/arch/x86/guest/hyperv/private.h b/xen/arch/x86/guest/hyperv/private.h
> index fea3e291e944..0277e8314c54 100644
> --- a/xen/arch/x86/guest/hyperv/private.h
> +++ b/xen/arch/x86/guest/hyperv/private.h
> @@ -1,21 +1,9 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/guest/hyperv/private.h
>   *
>   * Definitions / declarations only useful to Hyper-V code.
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2020 Microsoft.
>   */
>  
> diff --git a/xen/arch/x86/include/asm/endbr.h b/xen/arch/x86/include/asm/endbr.h
> index d946fac13130..3033e40d29a8 100644
> --- a/xen/arch/x86/include/asm/endbr.h
> +++ b/xen/arch/x86/include/asm/endbr.h
> @@ -1,17 +1,5 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2021-2022 Citrix Systems Ltd.
>   */
>  #ifndef XEN_ASM_ENDBR_H
> diff --git a/xen/arch/x86/include/asm/guest_pt.h b/xen/arch/x86/include/asm/guest_pt.h
> index 6802db2a415a..bde758834238 100644
> --- a/xen/arch/x86/include/asm/guest_pt.h
> +++ b/xen/arch/x86/include/asm/guest_pt.h
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * xen/asm-x86/guest_pt.h
>   *
> @@ -10,19 +11,6 @@
>   * Parts of this code are Copyright (c) 2006 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 _XEN_ASM_GUEST_PT_H
> diff --git a/xen/arch/x86/include/asm/hap.h b/xen/arch/x86/include/asm/hap.h
> index 90dece29deca..9d12327b120d 100644
> --- a/xen/arch/x86/include/asm/hap.h
> +++ b/xen/arch/x86/include/asm/hap.h
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * include/asm-x86/hap.h
>   *
> @@ -7,19 +8,6 @@
>   * Parts of this code are Copyright (c) 2006 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 _XEN_HAP_H
> diff --git a/xen/arch/x86/include/asm/mem_access.h b/xen/arch/x86/include/asm/mem_access.h
> index 18091610aea0..8957e1181cc3 100644
> --- a/xen/arch/x86/include/asm/mem_access.h
> +++ b/xen/arch/x86/include/asm/mem_access.h
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * include/asm-x86/mem_access.h
>   *
> @@ -8,19 +9,6 @@
>   * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 __ASM_X86_MEM_ACCESS_H__
> diff --git a/xen/arch/x86/include/asm/mem_paging.h b/xen/arch/x86/include/asm/mem_paging.h
> index d3635e96cffc..5ae86669fb40 100644
> --- a/xen/arch/x86/include/asm/mem_paging.h
> +++ b/xen/arch/x86/include/asm/mem_paging.h
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * include/asm-x86/mem_paging.h
>   *
>   * Memory paging support.
>   *
>   * Copyright (c) 2009 Citrix Systems, Inc. (Patrick Colp)
> - *
> - * 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 __ASM_X86_MEM_PAGING_H__
> diff --git a/xen/arch/x86/include/asm/mem_sharing.h b/xen/arch/x86/include/asm/mem_sharing.h
> index 2c00069bc91c..040962f690d2 100644
> --- a/xen/arch/x86/include/asm/mem_sharing.h
> +++ b/xen/arch/x86/include/asm/mem_sharing.h
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * include/asm-x86/mem_sharing.h
>   *
>   * Memory sharing support.
>   *
>   * Copyright (c) 2009 Citrix Systems, Inc. (Grzegorz Milos)
> - *
> - * 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 __MEM_SHARING_H__
>  #define __MEM_SHARING_H__
> diff --git a/xen/arch/x86/include/asm/p2m.h b/xen/arch/x86/include/asm/p2m.h
> index cd43d8621ad2..40545f5fa84f 100644
> --- a/xen/arch/x86/include/asm/p2m.h
> +++ b/xen/arch/x86/include/asm/p2m.h
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * include/asm-x86/paging.h
>   *
> @@ -8,19 +9,6 @@
>   * Parts of this code are Copyright (c) 2006-2007 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 _XEN_ASM_X86_P2M_H
> diff --git a/xen/arch/x86/include/asm/paging.h b/xen/arch/x86/include/asm/paging.h
> index 2647b95e67a7..403243bfbde1 100644
> --- a/xen/arch/x86/include/asm/paging.h
> +++ b/xen/arch/x86/include/asm/paging.h
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * include/asm-x86/paging.h
>   *
> @@ -6,19 +7,6 @@
>   * Parts of this code are Copyright (c) 2006 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 _XEN_PAGING_H
> diff --git a/xen/arch/x86/include/asm/shstk.h b/xen/arch/x86/include/asm/shstk.h
> index fdc9cc65a3fa..9160fe9f0e99 100644
> --- a/xen/arch/x86/include/asm/shstk.h
> +++ b/xen/arch/x86/include/asm/shstk.h
> @@ -1,17 +1,5 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2022 Citrix Systems Ltd.
>   */
>  #ifndef XEN_ASM_SHSTK_H
> diff --git a/xen/arch/x86/include/asm/spec_ctrl.h b/xen/arch/x86/include/asm/spec_ctrl.h
> index f718f94088a1..011ab1db2709 100644
> --- a/xen/arch/x86/include/asm/spec_ctrl.h
> +++ b/xen/arch/x86/include/asm/spec_ctrl.h
> @@ -1,19 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * include/asm-x86/spec_ctrl.h
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017-2018 Citrix Systems Ltd.
>   */
>  
> diff --git a/xen/arch/x86/include/asm/spec_ctrl_asm.h b/xen/arch/x86/include/asm/spec_ctrl_asm.h
> index f23bb105c51e..f48f9e75e8dc 100644
> --- a/xen/arch/x86/include/asm/spec_ctrl_asm.h
> +++ b/xen/arch/x86/include/asm/spec_ctrl_asm.h
> @@ -1,19 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * include/asm-x86/spec_ctrl.h
>   *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License
> - * along with this program; If not, see <http://www.gnu.org/licenses/>.
> - *
>   * Copyright (c) 2017-2018 Citrix Systems Ltd.
>   */
>  
> diff --git a/xen/arch/x86/include/asm/traps.h b/xen/arch/x86/include/asm/traps.h
> index b0dd2d24614d..01ef362edc8c 100644
> --- a/xen/arch/x86/include/asm/traps.h
> +++ b/xen/arch/x86/include/asm/traps.h
> @@ -1,19 +1,7 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /*
>   * Copyright (c) 2007, 2008 Advanced Micro Devices, Inc.
>   * Author: Christoph Egger <Christoph.Egger@amd.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 ASM_TRAP_H
> diff --git a/xen/arch/x86/include/asm/xenoprof.h b/xen/arch/x86/include/asm/xenoprof.h
> index cf6af8c5df52..dc6f822d3220 100644
> --- a/xen/arch/x86/include/asm/xenoprof.h
> +++ b/xen/arch/x86/include/asm/xenoprof.h
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * asm-x86/xenoprof.h
>   * xenoprof x86 arch specific header file
>   *
>   * Copyright (c) 2006 Isaku Yamahata <yamahata at valinux co jp>
>   *                    VA Linux Systems Japan K.K.
> - *
> - * 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 __ASM_X86_XENOPROF_H__
> diff --git a/xen/arch/x86/mm/mm-locks.h b/xen/arch/x86/mm/mm-locks.h
> index c1523aeccf99..5a3f96fbaadd 100644
> --- a/xen/arch/x86/mm/mm-locks.h
> +++ b/xen/arch/x86/mm/mm-locks.h
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/mm-locks.h
>   *
> @@ -7,19 +8,6 @@
>   * Copyright (c) 2007 Advanced Micro Devices (Wei Huang)
>   * Copyright (c) 2006-2007 XenSource Inc.
>   * Copyright (c) 2006 Michael A Fetterman
> - *
> - * 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 _MM_LOCKS_H
> diff --git a/xen/arch/x86/mm/p2m.h b/xen/arch/x86/mm/p2m.h
> index cc0f6766e4df..11e63b8fe42a 100644
> --- a/xen/arch/x86/mm/p2m.h
> +++ b/xen/arch/x86/mm/p2m.h
> @@ -1,18 +1,6 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/p2m.h
> - *
> - * 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/>.
>   */
>  
>  struct p2m_domain *p2m_init_one(struct domain *d);
> diff --git a/xen/arch/x86/mm/shadow/multi.h b/xen/arch/x86/mm/shadow/multi.h
> index 222c31bd1001..0e938594345a 100644
> --- a/xen/arch/x86/mm/shadow/multi.h
> +++ b/xen/arch/x86/mm/shadow/multi.h
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/shadow/multi.h
>   *
> @@ -5,19 +6,6 @@
>   * Parts of this code are Copyright (c) 2006 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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/>.
>   */
>  
>  extern int
> diff --git a/xen/arch/x86/mm/shadow/private.h b/xen/arch/x86/mm/shadow/private.h
> index d9a127e15d8f..93a443ee5974 100644
> --- a/xen/arch/x86/mm/shadow/private.h
> +++ b/xen/arch/x86/mm/shadow/private.h
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/shadow/private.h
>   *
> @@ -5,19 +6,6 @@
>   * Parts of this code are Copyright (c) 2006 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 _XEN_SHADOW_PRIVATE_H
> diff --git a/xen/arch/x86/mm/shadow/types.h b/xen/arch/x86/mm/shadow/types.h
> index e81a3c2c5c27..d700d8d64c8a 100644
> --- a/xen/arch/x86/mm/shadow/types.h
> +++ b/xen/arch/x86/mm/shadow/types.h
> @@ -1,22 +1,10 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * arch/x86/mm/shadow/types.h
>   *
>   * Parts of this code are Copyright (c) 2006 by XenSource Inc.
>   * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
>   * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
> - *
> - * 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 _XEN_SHADOW_TYPES_H
> diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
> index bb7af967ffee..0ace27f34ca5 100644
> --- a/xen/arch/x86/x86_emulate/x86_emulate.h
> +++ b/xen/arch/x86/x86_emulate/x86_emulate.h
> @@ -1,3 +1,4 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
>  /******************************************************************************
>   * x86_emulate.h
>   *
> @@ -5,19 +6,6 @@
>   *
>   * Copyright (c) 2005-2007 Keir Fraser
>   * Copyright (c) 2005-2007 XenSource Inc.
> - *
> - * This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * 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 __X86_EMULATE_H__
> -- 
> 2.39.2
> 
> 


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 02:02:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 02:02:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515528.798498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgyfL-0000rY-CM; Tue, 28 Mar 2023 02:02:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515528.798498; Tue, 28 Mar 2023 02:02:27 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgyfL-0000rQ-6m; Tue, 28 Mar 2023 02:02:27 +0000
Received: by outflank-mailman (input) for mailman id 515528;
 Tue, 28 Mar 2023 02: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=t3nS=7U=intel.com=kevin.tian@srs-se1.protection.inumbo.net>)
 id 1pgyfJ-0000rK-9Q
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 02:02:25 +0000
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 92711b53-cd0c-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 04:02:22 +0200 (CEST)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 27 Mar 2023 19:01:59 -0700
Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83])
 by orsmga007.jf.intel.com with ESMTP; 27 Mar 2023 19:01:58 -0700
Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.21; Mon, 27 Mar 2023 19:01:58 -0700
Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) 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.21; Mon, 27 Mar 2023 19:01:57 -0700
Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by
 fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.21 via Frontend Transport; Mon, 27 Mar 2023 19:01:57 -0700
Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.168)
 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.21; Mon, 27 Mar 2023 19:01:57 -0700
Received: from BN9PR11MB5276.namprd11.prod.outlook.com (2603:10b6:408:135::18)
 by PH7PR11MB6747.namprd11.prod.outlook.com (2603:10b6:510:1b5::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.28; Tue, 28 Mar
 2023 02:01:55 +0000
Received: from BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::73e9:b405:2cae:9174]) by BN9PR11MB5276.namprd11.prod.outlook.com
 ([fe80::73e9:b405:2cae:9174%8]) with mapi id 15.20.6222.032; Tue, 28 Mar 2023
 02:01: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: 92711b53-cd0c-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1679968942; x=1711504942;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=gp3/FYgyN6VOxSkveE+QbhuxPGByHAClcMqKqStIm6w=;
  b=ButkUBwv/06mWYJDjx/ZzyI5mhZQZK1qIkhNokZe6Wc8MHvp1B4AaBQ6
   Cd4CEBBG+Qo7A+thlrhZEAEYTXE9IfHOIJmeb6oHPXer9N5w7ZevVO+vJ
   3PPhu8koctRIZc17P3BPkLq8yqEHOHK9NK3Tp5xwloYWxvRofqvfgR1Bm
   inpqI1oGECkzVMV44iuZ8eVCfUTb5h9InGBfSOjSOXiTrURsRVp0CCKlN
   PrbB2IfGTPMCDjzQ+76HiAxTFYd/h7R/U4JgVnP8yATO5JUM5KM8zyi5V
   Wxe31ufNZ/TGs4FFt8YU5Zo80Nw5nRHEy6b1V3XO5k0idUuA76UEdkape
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10662"; a="328891775"
X-IronPort-AV: E=Sophos;i="5.98,295,1673942400"; 
   d="scan'208";a="328891775"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10662"; a="677174645"
X-IronPort-AV: E=Sophos;i="5.98,295,1673942400"; 
   d="scan'208";a="677174645"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lwLkDmD5FmPcqAiZlQ8ekSY08K4kt1tnNs0t1zqflQU3CeLfk7ZCRo9E4JNmlkuwbbEUvMNgjC3npanxFLA8jHb26yRWGGVazCzZFqCX2PWn9g3oUjvrbrka4nDod1c9cvK7DJwtoAomryXqLqqKkbXhhpGOouh+gbWIzu2ayYItfqGWDHvufvkBtdw1IexSZ8W0Li90dGC19o1DPxRk+kXRvuZtndqgzTIq5NJ4wfptqvLdUYqCNz1RR1xPtRP94psQou4PZfx4oJwivgZf9Cpe9XcXrQiwIK9LKNzJbO5S5pmXeA2tB19pDDEYCMjywNx20N7djh4FogBcQqW0cQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gp3/FYgyN6VOxSkveE+QbhuxPGByHAClcMqKqStIm6w=;
 b=U6jKxsGtVpo5AZPNAjxaUCCqOVRfRlhhGwHd+PamTzM17KDHv//1jTvK5zOoEtNoj/BEU0xYi5jHp1NQyrrxndWg6tDxeWVSzAD92vvA+fmMOJluBnr82KP3nUvCjQcEMJiriksLKWm+hEmZJeOI8ja7dvRsWN1WeZtG1AmyM5/ItCt/K0febhOp3ZJtF5fP2K4muvqr/YJT/Wnw+jsRDY/NoCzGCqHAiD1c7XhtQIJ87l0yfIvMt8Qb4Ko1TkcyJ4D3iDFNyQ778U0DWkl41EtsagoK9n1P0Er4Dp4gjCF0fOcobol4XdOLyE/wEqlyJMvZ3jy9rgQJbtQDInHHBA==
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: "Tian, Kevin" <kevin.tian@intel.com>
To: Dmitry Isaykin <isaikin-dmitry@yandex.ru>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, "Gross,
 Jurgen" <jgross@suse.com>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
	"Beulich, Jan" <JBeulich@suse.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu
	<ppircalabu@bitdefender.com>, =?iso-8859-1?Q?Pau_Monn=E9=2C_Roger?=
	<roger.pau@citrix.com>, "Nakajima, Jun" <jun.nakajima@intel.com>, "Anton
 Belousov" <abelousov@ptsecurity.com>
Subject: RE: [XEN PATCH v5] x86/monitor: Add new monitor event to catch I/O
 instructions
Thread-Topic: [XEN PATCH v5] x86/monitor: Add new monitor event to catch I/O
 instructions
Thread-Index: AQHZW/1XdYUNBKl0cUuTM/1Eg+CUsa8PenqA
Date: Tue, 28 Mar 2023 02:01:54 +0000
Message-ID: <BN9PR11MB5276A1481CD4996C16EB46988C889@BN9PR11MB5276.namprd11.prod.outlook.com>
References: <7bd5ec4ff75ea0157d782f8820db1d17b6ad1289.1679406554.git.isaikin-dmitry@yandex.ru>
In-Reply-To: <7bd5ec4ff75ea0157d782f8820db1d17b6ad1289.1679406554.git.isaikin-dmitry@yandex.ru>
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: BN9PR11MB5276:EE_|PH7PR11MB6747:EE_
x-ms-office365-filtering-correlation-id: 6f1077df-8b7a-4912-d229-08db2f3067d1
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: zAcazFfaN0ir/Ss35EIjdcNtvcznGuKN3EbpjMkgYiB3pLYWCMtD1xyJqXgwbdC9rXaHcwHO7JzgclXJGIR6GbUOJwxx5a9eWQFz0k+J9Pskx7o1Sp6LaGaz0uyUOUDgdkulvyQK89TnrUGzkxTgoNj57d8KyKld5N1Q8Fg8wpod/cKJdeTaK6MUKZ5X4fWLqQag760ySZGAJ+COo5oAYCcSAng+Sk2KKanL+Re90/4Emjij2JSpj8PEoR9saTiX6f9NpZa2JcWSb8+6fpqk/LoSYOFUcwn1lFptarlsSbkWiUsdTkems8BEzmAk4d1FmOR3X+xaY260WxtxRNNsRMDnIrArg6cCC5+8i1BDVkKA2ZPXGBYG059rnXxqoTIAICHpGpq8dMig0DQl6eoro55BMbOOImuCO+ZvT7dWagwxShZjHsqjQcJUBma+rCNhypj0ZNWPkv/AqpUZwrtEvF/C9+NUDn3Fz5lsfEUo7o0JwVG+UObu8h5SeB8t4+zzdEJllJ7Feyz/IfJq9ShSnnRjnkTDR/wUzi0S4DZJn87dPrPD01Z89CkUjXkVMjF/8PFP0cjr4qlxJqFDX24BzdwoUJR4JU9DfkFpA0OxaN7ppJboQ8q/uQ+ywIRnyHSL
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR11MB5276.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(346002)(366004)(136003)(376002)(451199021)(41300700001)(558084003)(52536014)(86362001)(33656002)(5660300002)(38100700002)(8936002)(122000001)(82960400001)(66446008)(54906003)(478600001)(7696005)(71200400001)(76116006)(8676002)(66946007)(66556008)(64756008)(2906002)(66476007)(4326008)(38070700005)(7416002)(55016003)(6506007)(9686003)(316002)(186003)(26005)(110136005);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?3yXIrMoXvVl/AOOPbREBQ/3sZ6CNvxMPrKPfRidm97BaMTH+AZ3uegTYaP?=
 =?iso-8859-1?Q?Hi0c8XUffE3mPZbkm9RRccEO0kOtoko/0G3aWWSYuZccVOJK8+eJ0/40+V?=
 =?iso-8859-1?Q?dWrAPWC9cZN8/wP2+9+81j1UWJHSAYtJveeWelMJd0A87Xt9oyM3eBwz3b?=
 =?iso-8859-1?Q?//XIpo2p9kjCZ+zbMS8uCu/1zP8TJVUDdcWZSWXqCqtsG4mrUfZlyJvDhF?=
 =?iso-8859-1?Q?LTs5lzG3eW9D59KLAGqj8128wG6b+nmD10ruLuQmaqNHiScNXJXcZFLdLm?=
 =?iso-8859-1?Q?c3aYrH0bVPs3NAlMIlLVBZDFuTzaCk8xBnoQHaFfC+dcxSK3Ir/n+pbRZJ?=
 =?iso-8859-1?Q?c/UXJnkc2BsQhPuoEepmb3WKDoGLkoHhAuKTgZDSidCDl8nbYSE2M/D/iH?=
 =?iso-8859-1?Q?+Efn53uNn130w9/oc8w3dEQpkYMv7Y9t71ZrUUCTJ5oqPOr5RGECzM4YPQ?=
 =?iso-8859-1?Q?JpuHrXcSz3hK12HWJQVcaQWFxNmlqjy09PfEC/1360YimWSkAj+fEnRmCT?=
 =?iso-8859-1?Q?2owb9lsyMUqOCQM36s4IE7+vuql7rMX4gH+j6WQt6GSh4VdRBOJdX9fvm4?=
 =?iso-8859-1?Q?fsDEtqvbE0pPzUMl4q+teCPFsyJOEcNexF0Q7oBa/Ehhyxl9uEGAJ7K2zu?=
 =?iso-8859-1?Q?PrieBET+urLy37FTJPe6CFIC9FaEhvGhlZN1p41+jCt1rSWRZJ7XdPhEuU?=
 =?iso-8859-1?Q?APcuE9GzkrLvD00BBdNV3fayp7O1k4Vv9h7R483PPzmXDkeRdnCA1i2dOY?=
 =?iso-8859-1?Q?m7hY4aGt3s0wRfBIjt5eLZXrbXbWyQxGQm+oPlCTWn3qEKpXeko4VKT5hf?=
 =?iso-8859-1?Q?WGiKm3RYsYCafhw3L4r3IzntSp35xaq+Nzj0eabRVt+kGBqVGW9jRLRTO7?=
 =?iso-8859-1?Q?basuZquxXq30ocWJajJ9MzOmEbVN4suwPNsfGxDqge6D8pJg9yT/G2ELyc?=
 =?iso-8859-1?Q?95NKQ9oBITcNYYdpkzEt4ZoQQYt5ncJmfsY6W11pMil0b8uHWgo303FkjX?=
 =?iso-8859-1?Q?oppZ1RiwNBcKbtnIR5Q+cjfH/eV8+NL3BCWrana4lh40eNkELrm6zRNSwD?=
 =?iso-8859-1?Q?N27B96BuIOsurrIbAWEyt2pBFV8JrnD6FWG8F7YUYEIf1UTN76J3/78E57?=
 =?iso-8859-1?Q?J34Ig8poo4jnw01Qn7ILDWqcxJJThII50KqjTb7GJQkzqlpCiBqkVCp+9S?=
 =?iso-8859-1?Q?y+pGXYFqfWXQJbYYcQi3yOI3Am984Lyvj+MKd3hoKAtGkJ21cgxN3gnSDx?=
 =?iso-8859-1?Q?cGsJ9hEmG4BlDzJk/IWyV1c9nPP5PJbf1y2K9VTsKmUuS6lkYYR4jUhn0X?=
 =?iso-8859-1?Q?zU+SaZJSsmRZQvA/7Z5aT1iCTi+w2nB3yCMzzZVwuxC2u6ysDi7X2U+GK2?=
 =?iso-8859-1?Q?qUTc5UfsG6mw6P3jmKDu1WEAZgS9q3ENjOe21Kwe37bkECRIW57UEIYRK+?=
 =?iso-8859-1?Q?t29mcG06MLk/srg6Ulw1CcgJa9rJ5UP0cXslKP1NB3dTds95SzLP9Vz8cn?=
 =?iso-8859-1?Q?h7TkR3yZijqwNlOW0hJUUEiptJ8Waw4hVO9cFHfG3ITRM8TXIn4Ah7r3Os?=
 =?iso-8859-1?Q?VOmiX9nTTlfiEN+DsyhlcTjxQs4oWuEsxSddxbGhAWYl9ehDslnEk2IXEm?=
 =?iso-8859-1?Q?+MjjVqmdC8feqqGenDPqdShcrQbJhwTTVA?=
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN9PR11MB5276.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6f1077df-8b7a-4912-d229-08db2f3067d1
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2023 02:01:54.9433
 (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: l/jIRpCXQt3NpW8khynCaP8+8LL/OKDnqyDuuUIOqqdWPDKo4dFHfmCnO+CbvQR1rBqPG0N5OuK0tRCUSv5TcQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6747
X-OriginatorOrg: intel.com

> From: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
> Sent: Tuesday, March 21, 2023 9:59 PM
>=20
> Adds monitor support for I/O instructions.
>=20
> Signed-off-by: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
> Signed-off-by: Anton Belousov <abelousov@ptsecurity.com>

Reviewed-by: Kevin Tian <kevin.tian@intel.com>


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 02:52:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 02:52:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515532.798508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pgzS7-0006VX-0s; Tue, 28 Mar 2023 02:52:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515532.798508; Tue, 28 Mar 2023 02: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 1pgzS6-0006VQ-U2; Tue, 28 Mar 2023 02:52:50 +0000
Received: by outflank-mailman (input) for mailman id 515532;
 Tue, 28 Mar 2023 02:52: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 1pgzS5-0006VG-RK; Tue, 28 Mar 2023 02:52: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 1pgzS5-0006S4-Ov; Tue, 28 Mar 2023 02:52: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 1pgzS5-0002Dy-77; Tue, 28 Mar 2023 02:52:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pgzS5-00067S-6L; Tue, 28 Mar 2023 02: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=Q12DBZvsMIq/HW9Enh/gVg/D4WTYMTy36LIcMKfAG20=; b=y2FKnkMg0/prxgktuxDQgH6Igg
	CREzIEBDJNLjpsTTZe/sWTmYbA6BXMmpm75blwHn4uLQDNw71cxvSkwkpRO0bE9A4Lpub1gOAmP7B
	AtIb/FWg+9k/eXZQvfa/SAwyjBY+6HuLmKDCGXntdaYEB5E7v9R/IQDyUN/TWfCGGI6Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180034-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 180034: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=0ab316e7e15f895c983e853512cfe0bb71ee3053
X-Osstest-Versions-That:
    xen=b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Mar 2023 02:52:49 +0000

flight 180034 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180034/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  0ab316e7e15f895c983e853512cfe0bb71ee3053
baseline version:
 xen                  b1f11273d5a774cc88a3685c96c2e7cf6385e3b6

Last test of basis   179947  2023-03-24 23:00:25 Z    3 days
Testing same since   180034  2023-03-28 01:01:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   b1f11273d5..0ab316e7e1  0ab316e7e15f895c983e853512cfe0bb71ee3053 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 06:57:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 06:57:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515540.798518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph3GM-0007Ev-Fd; Tue, 28 Mar 2023 06:56:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515540.798518; Tue, 28 Mar 2023 06:56: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 1ph3GM-0007Eo-8W; Tue, 28 Mar 2023 06:56:58 +0000
Received: by outflank-mailman (input) for mailman id 515540;
 Tue, 28 Mar 2023 06:56: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 1ph3GL-0007Ee-MO; Tue, 28 Mar 2023 06:56: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 1ph3GL-0004Dx-J4; Tue, 28 Mar 2023 06:56: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 1ph3GL-00069l-75; Tue, 28 Mar 2023 06:56:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ph3GL-0004b8-6h; Tue, 28 Mar 2023 06:56: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=rMF+9bdAZCerdwkx2PPG0x3kT0ncfqP5lnv9DFyPAa4=; b=cR4e+Js/EcKyiQo10JWlg6nLvO
	A2voJ+/KVXx7GM9rlGwXKJBkMBcgVTDwa0UMd83dJW87OUE1bdlNfY8epNK5VZJ6xbFFVyuVGd60m
	29f+ikgeGV/gbSXUJNtaWZT1zanaPMwzCIf1m3RmxEOStkNwZS+oeKSgmfiV84OIVRMw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180032-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 180032: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-install/l1:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=3a93e40326c8f470e71d20b4c42d36767450f38f
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Mar 2023 06:56:57 +0000

flight 180032 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180032/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 15 xen-install/l1      fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     18 guest-localmigrate       fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt-xsm 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-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                3a93e40326c8f470e71d20b4c42d36767450f38f
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   34 days
Failing since        178093  2023-02-22 05:02:47 Z   34 days   62 attempts
Testing same since   180032  2023-03-27 19:41:27 Z    0 days    1 attempts

------------------------------------------------------------
2281 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 267921 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 07:14:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 07:14:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515548.798527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph3Wk-0001Wr-Vs; Tue, 28 Mar 2023 07:13:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515548.798527; Tue, 28 Mar 2023 07: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 1ph3Wk-0001Wk-TL; Tue, 28 Mar 2023 07:13:54 +0000
Received: by outflank-mailman (input) for mailman id 515548;
 Tue, 28 Mar 2023 07:13: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=TlhL=7U=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1ph3Wj-0001We-Me
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 07:13:53 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 16ccc776-cd38-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 09:13:50 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 221F3C14;
 Tue, 28 Mar 2023 00:14:34 -0700 (PDT)
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 741C63F73F;
 Tue, 28 Mar 2023 00:13: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: 16ccc776-cd38-11ed-b464-930f4c7d94ae
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 0/4] P2M improvements for Arm
Date: Tue, 28 Mar 2023 15:13:30 +0800
Message-Id: <20230328071334.2098429-1-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There are some clean-up/improvement work that can be done in the
Arm P2M code triggered by [1] and [2]. These were found at the 4.17
code freeze period so the issues were not fixed at that time.
Therefore do the follow-ups here.

Patch#1 addresses one comment in [1]. It was sent earlier and reviewed
once. Pick the updated version, i.e. "[PATCH v2] xen/arm: Reduce
redundant clear root pages when teardown p2m", to this series.

Patch#2 is a new patch based on v1 comments, this is a pre-requisite
patch for patch#3 where the deferring of GICv2 CPU interface mapping
should also be applied for new vGIC.

Patch#3 and #4 addresses the comment in [2] following the discussion
between two possible options.

[1] https://lore.kernel.org/xen-devel/a947e0b4-8f76-cea6-893f-abf30ff95e0d@xen.org/
[2] https://lore.kernel.org/xen-devel/e6643bfc-5bdf-f685-1b68-b28d341071c1@xen.org/

v2 -> v3:
1. Add Julien's acked-by tag for patch #2.
2. Reword the reason why hwdom extra mappings are not touched by this
   patch in the commit message of patch #3.
3. Rework the address check in stage-2 data abort trap so that larger
   CPU interface size can work fine.
4. Correct a typo in original in-code comment, slightly modify
   the wording to avoid the presence of preemptive/non-preemptive
   p2m_teardown() call assumption.
5. Drop the (now) unnecessary second parameter of p2m_teardown().

v1 -> v2:
1. Move in-code comment for p2m_force_tlb_flush_sync() on top of
   p2m_clear_root_pages().
2. Add a new patch as patch #2.
3. Correct style in in-code comment in patch #3.
4. Avoid open-coding gfn_eq() and gaddr_to_gfn(d->arch.vgic.cbase).
5. Apply same changes for the new vGICv2 implementation, update the
   commit message accordingly.
6. Add in-code comment in old GICv2's vgic_v2_domain_init() and
   new GICv2's vgic_v2_map_resources() to mention the mapping of the
   virtual CPU interface is deferred until first access.
7. Add reviewed-by and acked-by tags accordingly.

Henry Wang (4):
  xen/arm: Reduce redundant clear root pages when teardown p2m
  xen/arm: Rename vgic_cpu_base and vgic_dist_base for new vGIC
  xen/arm: Defer GICv2 CPU interface mapping until the first access
  xen/arm: Clean-up in p2m_init() and p2m_final_teardown()

 xen/arch/arm/domain.c               | 10 ++++-
 xen/arch/arm/include/asm/new_vgic.h | 10 +++--
 xen/arch/arm/include/asm/p2m.h      | 15 +++----
 xen/arch/arm/include/asm/vgic.h     |  2 +
 xen/arch/arm/p2m.c                  | 64 +++++++++++------------------
 xen/arch/arm/traps.c                | 19 +++++++--
 xen/arch/arm/vgic-v2.c              | 25 ++++-------
 xen/arch/arm/vgic/vgic-init.c       |  4 +-
 xen/arch/arm/vgic/vgic-v2.c         | 41 +++++++-----------
 9 files changed, 85 insertions(+), 105 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 07:14:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 07:14:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515549.798538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph3Wu-0001oe-7i; Tue, 28 Mar 2023 07:14:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515549.798538; Tue, 28 Mar 2023 07: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 1ph3Wu-0001oV-43; Tue, 28 Mar 2023 07:14:04 +0000
Received: by outflank-mailman (input) for mailman id 515549;
 Tue, 28 Mar 2023 07:14: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=TlhL=7U=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1ph3Ws-0001nm-Kh
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 07:14:02 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 1c47d8be-cd38-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 09:14:01 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 42A54C14;
 Tue, 28 Mar 2023 00:14:43 -0700 (PDT)
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 904453F73F;
 Tue, 28 Mar 2023 00:13:55 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c47d8be-cd38-11ed-85db-49a42c6b2330
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v3 1/4] xen/arm: Reduce redundant clear root pages when teardown p2m
Date: Tue, 28 Mar 2023 15:13:31 +0800
Message-Id: <20230328071334.2098429-2-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230328071334.2098429-1-Henry.Wang@arm.com>
References: <20230328071334.2098429-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, p2m for a domain will be teardown from two paths:
(1) The normal path when a domain is destroyed.
(2) The arch_domain_destroy() in the failure path of domain creation.

When tearing down p2m from (1), the part to clear and clean the root
is only needed to do once rather than for every call of p2m_teardown().
If the p2m teardown is from (2), the clear and clean of the root
is unnecessary because the domain is not scheduled.

Therefore, this patch introduces a helper `p2m_clear_root_pages()` to
do the clear and clean of the root, and move this logic outside of
p2m_teardown(). With this movement, the `page_list_empty(&p2m->pages)`
check can be dropped.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
v2 -> v3:
1. No change.
v1 -> v2:
1. Move in-code comment for p2m_force_tlb_flush_sync() on top of
   p2m_clear_root_pages().
2. Add Reviewed-by tag from Michal and Acked-by tag from Julien.
---
 xen/arch/arm/domain.c          |  8 +++++++
 xen/arch/arm/include/asm/p2m.h |  1 +
 xen/arch/arm/p2m.c             | 40 +++++++++++++++++-----------------
 3 files changed, 29 insertions(+), 20 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 99577adb6c..b8a4a60570 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -959,6 +959,7 @@ enum {
     PROG_xen,
     PROG_page,
     PROG_mapping,
+    PROG_p2m_root,
     PROG_p2m,
     PROG_p2m_pool,
     PROG_done,
@@ -1021,6 +1022,13 @@ int domain_relinquish_resources(struct domain *d)
         if ( ret )
             return ret;
 
+    PROGRESS(p2m_root):
+        /*
+         * We are about to free the intermediate page-tables, so clear the
+         * root to prevent any walk to use them.
+         */
+        p2m_clear_root_pages(&d->arch.p2m);
+
     PROGRESS(p2m):
         ret = p2m_teardown(d, true);
         if ( ret )
diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index 91df922e1c..bf5183e53a 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -281,6 +281,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);
 
 /*
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index 948f199d84..f1ccd7efbd 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1314,6 +1314,26 @@ static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
     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.
@@ -1698,30 +1718,10 @@ int p2m_teardown(struct domain *d, bool allow_preemption)
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
     unsigned long count = 0;
     struct page_info *pg;
-    unsigned int i;
     int rc = 0;
 
-    if ( page_list_empty(&p2m->pages) )
-        return 0;
-
     p2m_write_lock(p2m);
 
-    /*
-     * We are about to free the intermediate page-tables, so clear the
-     * root to prevent any walk to use them.
-     */
-    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
-        clear_and_clean_page(p2m->root + i);
-
-    /*
-     * 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.
-     */
-    p2m_force_tlb_flush_sync(p2m);
-
     while ( (pg = page_list_remove_head(&p2m->pages)) )
     {
         p2m_free_page(p2m->domain, pg);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 07:14:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 07:14:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515550.798548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph3Wy-00026Z-HA; Tue, 28 Mar 2023 07:14:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515550.798548; Tue, 28 Mar 2023 07: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 1ph3Wy-00026Q-EF; Tue, 28 Mar 2023 07:14:08 +0000
Received: by outflank-mailman (input) for mailman id 515550;
 Tue, 28 Mar 2023 07:14: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=TlhL=7U=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1ph3Ww-0001We-O8
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 07:14:06 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 1f4f535e-cd38-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 09:14:04 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 6B702C14;
 Tue, 28 Mar 2023 00:14:48 -0700 (PDT)
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 7D6E73F73F;
 Tue, 28 Mar 2023 00:14:01 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f4f535e-cd38-11ed-b464-930f4c7d94ae
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v3 2/4] xen/arm: Rename vgic_cpu_base and vgic_dist_base for new vGIC
Date: Tue, 28 Mar 2023 15:13:32 +0800
Message-Id: <20230328071334.2098429-3-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230328071334.2098429-1-Henry.Wang@arm.com>
References: <20230328071334.2098429-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In the follow-up patch from this series, the GICv2 CPU interface
mapping will be deferred until the first access in the stage-2
data abort trap handling code. Since the data abort trap handling
code is common for the current and the new vGIC implementation,
it is necessary to unify the variable names in struct vgic_dist
for these two implementations.

Therefore, this commit renames the vgic_cpu_base and vgic_dist_base
for new vGIC to cbase and dbase. So we can use the same code in
the data abort trap handling code for both vGIC implementations.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
v2 -> v3:
1. Add Julien's acked-by tag.
v1 -> v2:
1. New patch.
---
 xen/arch/arm/include/asm/new_vgic.h |  8 ++++----
 xen/arch/arm/vgic/vgic-init.c       |  4 ++--
 xen/arch/arm/vgic/vgic-v2.c         | 17 ++++++++---------
 3 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm/new_vgic.h
index b7fa9ab11a..18ed3f754a 100644
--- a/xen/arch/arm/include/asm/new_vgic.h
+++ b/xen/arch/arm/include/asm/new_vgic.h
@@ -115,11 +115,11 @@ struct vgic_dist {
     unsigned int        nr_spis;
 
     /* base addresses in guest physical address space: */
-    paddr_t             vgic_dist_base;     /* distributor */
+    paddr_t             dbase;     /* distributor */
     union
     {
         /* either a GICv2 CPU interface */
-        paddr_t         vgic_cpu_base;
+        paddr_t         cbase;
         /* or a number of GICv3 redistributor regions */
         struct
         {
@@ -188,12 +188,12 @@ struct vgic_cpu {
 
 static inline paddr_t vgic_cpu_base(const struct vgic_dist *vgic)
 {
-    return vgic->vgic_cpu_base;
+    return vgic->cbase;
 }
 
 static inline paddr_t vgic_dist_base(const struct vgic_dist *vgic)
 {
-    return vgic->vgic_dist_base;
+    return vgic->dbase;
 }
 
 #endif /* __ASM_ARM_NEW_VGIC_H */
diff --git a/xen/arch/arm/vgic/vgic-init.c b/xen/arch/arm/vgic/vgic-init.c
index 62ae553699..ea739d081e 100644
--- a/xen/arch/arm/vgic/vgic-init.c
+++ b/xen/arch/arm/vgic/vgic-init.c
@@ -112,8 +112,8 @@ int domain_vgic_register(struct domain *d, int *mmio_count)
         BUG();
     }
 
-    d->arch.vgic.vgic_dist_base = VGIC_ADDR_UNDEF;
-    d->arch.vgic.vgic_cpu_base = VGIC_ADDR_UNDEF;
+    d->arch.vgic.dbase = VGIC_ADDR_UNDEF;
+    d->arch.vgic.cbase = VGIC_ADDR_UNDEF;
     d->arch.vgic.vgic_redist_base = VGIC_ADDR_UNDEF;
 
     return 0;
diff --git a/xen/arch/arm/vgic/vgic-v2.c b/xen/arch/arm/vgic/vgic-v2.c
index 1a99d3a8b4..07c8f8a005 100644
--- a/xen/arch/arm/vgic/vgic-v2.c
+++ b/xen/arch/arm/vgic/vgic-v2.c
@@ -272,7 +272,7 @@ int vgic_v2_map_resources(struct domain *d)
      */
     if ( is_hardware_domain(d) )
     {
-        d->arch.vgic.vgic_dist_base = gic_v2_hw_data.dbase;
+        d->arch.vgic.dbase = gic_v2_hw_data.dbase;
         /*
          * For the hardware domain, we always map the whole HW CPU
          * interface region in order to match the device tree (the "reg"
@@ -280,13 +280,13 @@ int vgic_v2_map_resources(struct domain *d)
          * Note that we assume the size of the CPU interface is always
          * aligned to PAGE_SIZE.
          */
-        d->arch.vgic.vgic_cpu_base = gic_v2_hw_data.cbase;
+        d->arch.vgic.cbase = gic_v2_hw_data.cbase;
         csize = gic_v2_hw_data.csize;
         vbase = gic_v2_hw_data.vbase;
     }
     else if ( is_domain_direct_mapped(d) )
     {
-        d->arch.vgic.vgic_dist_base = gic_v2_hw_data.dbase;
+        d->arch.vgic.dbase = gic_v2_hw_data.dbase;
         /*
          * For all the direct-mapped domain other than the hardware domain,
          * we only map a 8kB CPU interface but we make sure it is at a location
@@ -296,13 +296,13 @@ int vgic_v2_map_resources(struct domain *d)
          * address when the GIC is aliased to get a 8kB contiguous
          * region.
          */
-        d->arch.vgic.vgic_cpu_base = gic_v2_hw_data.cbase;
+        d->arch.vgic.cbase = gic_v2_hw_data.cbase;
         csize = GUEST_GICC_SIZE;
         vbase = gic_v2_hw_data.vbase + gic_v2_hw_data.aliased_offset;
     }
     else
     {
-        d->arch.vgic.vgic_dist_base = GUEST_GICD_BASE;
+        d->arch.vgic.dbase = GUEST_GICD_BASE;
         /*
          * The CPU interface exposed to the guest is always 8kB. We may
          * need to add an offset to the virtual CPU interface base
@@ -310,14 +310,13 @@ int vgic_v2_map_resources(struct domain *d)
          * region.
          */
         BUILD_BUG_ON(GUEST_GICC_SIZE != SZ_8K);
-        d->arch.vgic.vgic_cpu_base = GUEST_GICC_BASE;
+        d->arch.vgic.cbase = GUEST_GICC_BASE;
         csize = GUEST_GICC_SIZE;
         vbase = gic_v2_hw_data.vbase + gic_v2_hw_data.aliased_offset;
     }
 
 
-    ret = vgic_register_dist_iodev(d, gaddr_to_gfn(dist->vgic_dist_base),
-                                   VGIC_V2);
+    ret = vgic_register_dist_iodev(d, gaddr_to_gfn(dist->dbase), VGIC_V2);
     if ( ret )
     {
         gdprintk(XENLOG_ERR, "Unable to register VGIC MMIO regions\n");
@@ -328,7 +327,7 @@ int vgic_v2_map_resources(struct domain *d)
      * Map the gic virtual cpu interface in the gic cpu interface
      * region of the guest.
      */
-    ret = map_mmio_regions(d, gaddr_to_gfn(d->arch.vgic.vgic_cpu_base),
+    ret = map_mmio_regions(d, gaddr_to_gfn(d->arch.vgic.cbase),
                            csize / PAGE_SIZE, maddr_to_mfn(vbase));
     if ( ret )
     {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 07:14:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 07:14:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515552.798557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph3X3-0002UY-Oi; Tue, 28 Mar 2023 07:14:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515552.798557; Tue, 28 Mar 2023 07: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 1ph3X3-0002UR-Lo; Tue, 28 Mar 2023 07:14:13 +0000
Received: by outflank-mailman (input) for mailman id 515552;
 Tue, 28 Mar 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=TlhL=7U=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1ph3X1-0001We-Gw
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 07:14:11 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 2203c1f5-cd38-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 09:14:09 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id F03A7C14;
 Tue, 28 Mar 2023 00:14:52 -0700 (PDT)
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 4FE413F73F;
 Tue, 28 Mar 2023 00:14:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2203c1f5-cd38-11ed-b464-930f4c7d94ae
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 3/4] xen/arm: Defer GICv2 CPU interface mapping until the first access
Date: Tue, 28 Mar 2023 15:13:33 +0800
Message-Id: <20230328071334.2098429-4-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230328071334.2098429-1-Henry.Wang@arm.com>
References: <20230328071334.2098429-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, the mapping of the GICv2 CPU interface is created in
arch_domain_create(). This causes some troubles in populating and
freeing of the domain P2M pages pool. For example, a default 16
P2M pages are required in p2m_init() to cope with the P2M mapping
of 8KB GICv2 CPU interface area, and these 16 P2M pages would cause
the complexity of P2M destroy in the failure path of
arch_domain_create().

As per discussion in [1], similarly as the MMIO access for ACPI, this
patch defers the GICv2 CPU interface mapping until the first MMIO
access. This is achieved by moving the GICv2 CPU interface mapping
code from vgic_v2_domain_init()/vgic_v2_map_resources() to the
stage-2 data abort trap handling code. The original CPU interface
size and virtual CPU interface base address is now saved in
`struct vgic_dist` instead of the local variable of
vgic_v2_domain_init()/vgic_v2_map_resources().

Take the opportunity to unify the way of data access using the
existing pointer to struct vgic_dist in vgic_v2_map_resources() for
new GICv2.

Since gicv2_map_hwdom_extra_mappings() happens after domain_create(),
so there is no need to map the extra mappings on-demand, and therefore
keep the hwdom extra mappings as untouched.

[1] https://lore.kernel.org/xen-devel/e6643bfc-5bdf-f685-1b68-b28d341071c1@xen.org/

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v2 -> v3:
1. Reword the reason why hwdom extra mappings are not touched by this
   patch in the commit message.
2. Rework the address check in stage-2 data abort trap so that larger
   CPU interface size can work fine.
v1 -> v2:
1. Correct style in in-code comment.
2. Avoid open-coding gfn_eq() and gaddr_to_gfn(d->arch.vgic.cbase).
3. Apply same changes for the new vGICv2 implementation, update the
   commit message accordingly.
4. Add in-code comment in old GICv2's vgic_v2_domain_init() and
   new GICv2's vgic_v2_map_resources() to mention the mapping of the
   virtual CPU interface is deferred until first access.
---
 xen/arch/arm/include/asm/new_vgic.h |  2 ++
 xen/arch/arm/include/asm/vgic.h     |  2 ++
 xen/arch/arm/traps.c                | 19 ++++++++++++---
 xen/arch/arm/vgic-v2.c              | 25 ++++++-------------
 xen/arch/arm/vgic/vgic-v2.c         | 38 ++++++++++-------------------
 5 files changed, 40 insertions(+), 46 deletions(-)

diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm/new_vgic.h
index 18ed3f754a..1e76213893 100644
--- a/xen/arch/arm/include/asm/new_vgic.h
+++ b/xen/arch/arm/include/asm/new_vgic.h
@@ -127,6 +127,8 @@ struct vgic_dist {
             paddr_t     vgic_redist_free_offset;
         };
     };
+    paddr_t             csize; /* CPU interface size */
+    paddr_t             vbase; /* virtual CPU interface base address */
 
     /* distributor enabled */
     bool                enabled;
diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/vgic.h
index 3d44868039..328fd46d1b 100644
--- a/xen/arch/arm/include/asm/vgic.h
+++ b/xen/arch/arm/include/asm/vgic.h
@@ -153,6 +153,8 @@ struct vgic_dist {
     /* Base address for guest GIC */
     paddr_t dbase; /* Distributor base address */
     paddr_t cbase; /* CPU interface base address */
+    paddr_t csize; /* CPU interface size */
+    paddr_t vbase; /* Virtual CPU interface base address */
 #ifdef CONFIG_GICV3
     /* GIC V3 addressing */
     /* List of contiguous occupied by the redistributors */
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 061c92acbd..d40c331a4e 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1787,9 +1787,12 @@ static inline bool hpfar_is_valid(bool s1ptw, uint8_t fsc)
 }
 
 /*
- * When using ACPI, most of the MMIO regions will be mapped on-demand
- * in stage-2 page tables for the hardware domain because Xen is not
- * able to know from the EFI memory map the MMIO regions.
+ * Try to map the MMIO regions for some special cases:
+ * 1. When using ACPI, most of the MMIO regions will be mapped on-demand
+ *    in stage-2 page tables for the hardware domain because Xen is not
+ *    able to know from the EFI memory map the MMIO regions.
+ * 2. For guests using GICv2, the GICv2 CPU interface mapping is created
+ *    on the first access of the MMIO region.
  */
 static bool try_map_mmio(gfn_t gfn)
 {
@@ -1798,6 +1801,16 @@ static bool try_map_mmio(gfn_t gfn)
     /* For the hardware domain, all MMIOs are mapped with GFN == MFN */
     mfn_t mfn = _mfn(gfn_x(gfn));
 
+    /*
+     * Map the GICv2 virtual CPU interface in the GIC CPU interface
+     * region of the guest on the first access of the MMIO region.
+     */
+    if ( d->arch.vgic.version == GIC_V2 &&
+         gfn_to_gaddr(gfn) >= d->arch.vgic.cbase &&
+         (gfn_to_gaddr(gfn) - d->arch.vgic.cbase) < d->arch.vgic.csize )
+        return !map_mmio_regions(d, gfn, d->arch.vgic.csize / PAGE_SIZE,
+                                 maddr_to_mfn(d->arch.vgic.vbase));
+
     /*
      * Device-Tree should already have everything mapped when building
      * the hardware domain.
diff --git a/xen/arch/arm/vgic-v2.c b/xen/arch/arm/vgic-v2.c
index 0026cb4360..0b083c33e6 100644
--- a/xen/arch/arm/vgic-v2.c
+++ b/xen/arch/arm/vgic-v2.c
@@ -644,10 +644,6 @@ static int vgic_v2_vcpu_init(struct vcpu *v)
 
 static int vgic_v2_domain_init(struct domain *d)
 {
-    int ret;
-    paddr_t csize;
-    paddr_t vbase;
-
     /*
      * The hardware domain and direct-mapped domain both get the hardware
      * address.
@@ -667,8 +663,8 @@ static int vgic_v2_domain_init(struct domain *d)
          * aligned to PAGE_SIZE.
          */
         d->arch.vgic.cbase = vgic_v2_hw.cbase;
-        csize = vgic_v2_hw.csize;
-        vbase = vgic_v2_hw.vbase;
+        d->arch.vgic.csize = vgic_v2_hw.csize;
+        d->arch.vgic.vbase = vgic_v2_hw.vbase;
     }
     else if ( is_domain_direct_mapped(d) )
     {
@@ -683,8 +679,8 @@ static int vgic_v2_domain_init(struct domain *d)
          */
         d->arch.vgic.dbase = vgic_v2_hw.dbase;
         d->arch.vgic.cbase = vgic_v2_hw.cbase;
-        csize = GUEST_GICC_SIZE;
-        vbase = vgic_v2_hw.vbase + vgic_v2_hw.aliased_offset;
+        d->arch.vgic.csize = GUEST_GICC_SIZE;
+        d->arch.vgic.vbase = vgic_v2_hw.vbase + vgic_v2_hw.aliased_offset;
     }
     else
     {
@@ -697,18 +693,11 @@ static int vgic_v2_domain_init(struct domain *d)
          */
         BUILD_BUG_ON(GUEST_GICC_SIZE != SZ_8K);
         d->arch.vgic.cbase = GUEST_GICC_BASE;
-        csize = GUEST_GICC_SIZE;
-        vbase = vgic_v2_hw.vbase + vgic_v2_hw.aliased_offset;
+        d->arch.vgic.csize = GUEST_GICC_SIZE;
+        d->arch.vgic.vbase = vgic_v2_hw.vbase + vgic_v2_hw.aliased_offset;
     }
 
-    /*
-     * Map the gic virtual cpu interface in the gic cpu interface
-     * region of the guest.
-     */
-    ret = map_mmio_regions(d, gaddr_to_gfn(d->arch.vgic.cbase),
-                           csize / PAGE_SIZE, maddr_to_mfn(vbase));
-    if ( ret )
-        return ret;
+    /* Mapping of the virtual CPU interface is deferred until first access */
 
     register_mmio_handler(d, &vgic_v2_distr_mmio_handler, d->arch.vgic.dbase,
                           PAGE_SIZE, NULL);
diff --git a/xen/arch/arm/vgic/vgic-v2.c b/xen/arch/arm/vgic/vgic-v2.c
index 07c8f8a005..1308948eec 100644
--- a/xen/arch/arm/vgic/vgic-v2.c
+++ b/xen/arch/arm/vgic/vgic-v2.c
@@ -258,8 +258,6 @@ void vgic_v2_enable(struct vcpu *vcpu)
 int vgic_v2_map_resources(struct domain *d)
 {
     struct vgic_dist *dist = &d->arch.vgic;
-    paddr_t csize;
-    paddr_t vbase;
     int ret;
 
     /*
@@ -272,7 +270,7 @@ int vgic_v2_map_resources(struct domain *d)
      */
     if ( is_hardware_domain(d) )
     {
-        d->arch.vgic.dbase = gic_v2_hw_data.dbase;
+        dist->dbase = gic_v2_hw_data.dbase;
         /*
          * For the hardware domain, we always map the whole HW CPU
          * interface region in order to match the device tree (the "reg"
@@ -280,13 +278,13 @@ int vgic_v2_map_resources(struct domain *d)
          * Note that we assume the size of the CPU interface is always
          * aligned to PAGE_SIZE.
          */
-        d->arch.vgic.cbase = gic_v2_hw_data.cbase;
-        csize = gic_v2_hw_data.csize;
-        vbase = gic_v2_hw_data.vbase;
+        dist->cbase = gic_v2_hw_data.cbase;
+        dist->csize = gic_v2_hw_data.csize;
+        dist->vbase = gic_v2_hw_data.vbase;
     }
     else if ( is_domain_direct_mapped(d) )
     {
-        d->arch.vgic.dbase = gic_v2_hw_data.dbase;
+        dist->dbase = gic_v2_hw_data.dbase;
         /*
          * For all the direct-mapped domain other than the hardware domain,
          * we only map a 8kB CPU interface but we make sure it is at a location
@@ -296,13 +294,13 @@ int vgic_v2_map_resources(struct domain *d)
          * address when the GIC is aliased to get a 8kB contiguous
          * region.
          */
-        d->arch.vgic.cbase = gic_v2_hw_data.cbase;
-        csize = GUEST_GICC_SIZE;
-        vbase = gic_v2_hw_data.vbase + gic_v2_hw_data.aliased_offset;
+        dist->cbase = gic_v2_hw_data.cbase;
+        dist->csize = GUEST_GICC_SIZE;
+        dist->vbase = gic_v2_hw_data.vbase + gic_v2_hw_data.aliased_offset;
     }
     else
     {
-        d->arch.vgic.dbase = GUEST_GICD_BASE;
+        dist->dbase = GUEST_GICD_BASE;
         /*
          * The CPU interface exposed to the guest is always 8kB. We may
          * need to add an offset to the virtual CPU interface base
@@ -310,9 +308,9 @@ int vgic_v2_map_resources(struct domain *d)
          * region.
          */
         BUILD_BUG_ON(GUEST_GICC_SIZE != SZ_8K);
-        d->arch.vgic.cbase = GUEST_GICC_BASE;
-        csize = GUEST_GICC_SIZE;
-        vbase = gic_v2_hw_data.vbase + gic_v2_hw_data.aliased_offset;
+        dist->cbase = GUEST_GICC_BASE;
+        dist->csize = GUEST_GICC_SIZE;
+        dist->vbase = gic_v2_hw_data.vbase + gic_v2_hw_data.aliased_offset;
     }
 
 
@@ -323,17 +321,7 @@ int vgic_v2_map_resources(struct domain *d)
         return ret;
     }
 
-    /*
-     * Map the gic virtual cpu interface in the gic cpu interface
-     * region of the guest.
-     */
-    ret = map_mmio_regions(d, gaddr_to_gfn(d->arch.vgic.cbase),
-                           csize / PAGE_SIZE, maddr_to_mfn(vbase));
-    if ( ret )
-    {
-        gdprintk(XENLOG_ERR, "Unable to remap VGIC CPU to VCPU\n");
-        return ret;
-    }
+    /* Mapping of the virtual CPU interface is deferred until first access */
 
     dist->ready = true;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 07:14:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 07:14:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515555.798568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph3X7-0002qg-7H; Tue, 28 Mar 2023 07:14:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515555.798568; Tue, 28 Mar 2023 07:14: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 1ph3X7-0002qX-3I; Tue, 28 Mar 2023 07:14:17 +0000
Received: by outflank-mailman (input) for mailman id 515555;
 Tue, 28 Mar 2023 07:14: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=TlhL=7U=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1ph3X5-0001nm-VL
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 07:14:16 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 255b2265-cd38-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 09:14:14 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 869AEC14;
 Tue, 28 Mar 2023 00:14:58 -0700 (PDT)
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 970303F73F;
 Tue, 28 Mar 2023 00:14: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: 255b2265-cd38-11ed-85db-49a42c6b2330
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v3 4/4] xen/arm: Clean-up in p2m_init() and p2m_final_teardown()
Date: Tue, 28 Mar 2023 15:13:34 +0800
Message-Id: <20230328071334.2098429-5-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20230328071334.2098429-1-Henry.Wang@arm.com>
References: <20230328071334.2098429-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With the change in previous patch, the initial 16 pages in the P2M
pool is not necessary anymore. Drop them for code simplification.

Also the call to p2m_teardown() from arch_domain_destroy() is not
necessary anymore since the movement of the P2M allocation out of
arch_domain_create(). Drop the code and the above in-code comment
mentioning it. Take the opportunity to fix a typo in the original
in-code comment.

With above clean-up, the second parameter of p2m_teardown() is
also not needed anymore. Drop this parameter and the logic related
to this parameter.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
v2 -> v3:
1. Correct a typo in original in-code comment, slightly modify
   the wording to avoid the presence of preemptive/non-preemptive
   p2m_teardown() call assumption.
2. Drop the (now) unnecessary second parameter of p2m_teardown().
3. Update the commit message.
v1 -> v2:
1. Add Reviewed-by tag from Michal.
---
 xen/arch/arm/domain.c          |  2 +-
 xen/arch/arm/include/asm/p2m.h | 14 +++++---------
 xen/arch/arm/p2m.c             | 24 +++---------------------
 3 files changed, 9 insertions(+), 31 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index b8a4a60570..d8ef6501ff 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -1030,7 +1030,7 @@ int domain_relinquish_resources(struct domain *d)
         p2m_clear_root_pages(&d->arch.p2m);
 
     PROGRESS(p2m):
-        ret = p2m_teardown(d, true);
+        ret = p2m_teardown(d);
         if ( ret )
             return ret;
 
diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index bf5183e53a..f67e9ddc72 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -194,18 +194,14 @@ int p2m_init(struct domain *d);
 
 /*
  * The P2M resources are freed in two parts:
- *  - p2m_teardown() will be called preemptively when relinquish the
- *    resources, in which case it will free large resources (e.g. intermediate
- *    page-tables) that requires preemption.
+ *  - p2m_teardown() will be called when relinquish the resources. It
+ *    will free large resources (e.g. intermediate page-tables) that
+ *    requires preemption.
  *  - p2m_final_teardown() will be called when domain struct is been
- *    freed. This *cannot* be preempted and therefore one small
+ *    freed. This *cannot* be preempted and therefore only small
  *    resources should be freed here.
- *  Note that p2m_final_teardown() will also call p2m_teardown(), to properly
- *  free the P2M when failures happen in the domain creation with P2M pages
- *  already in use. In this case p2m_teardown() is called non-preemptively and
- *  p2m_teardown() will always return 0.
  */
-int p2m_teardown(struct domain *d, bool allow_preemption);
+int p2m_teardown(struct domain *d);
 void p2m_final_teardown(struct domain *d);
 
 /*
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index f1ccd7efbd..418997843d 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1713,7 +1713,7 @@ static void p2m_free_vmid(struct domain *d)
     spin_unlock(&vmid_alloc_lock);
 }
 
-int p2m_teardown(struct domain *d, bool allow_preemption)
+int p2m_teardown(struct domain *d)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
     unsigned long count = 0;
@@ -1727,7 +1727,7 @@ int p2m_teardown(struct domain *d, bool allow_preemption)
         p2m_free_page(p2m->domain, pg);
         count++;
         /* Arbitrarily preempt every 512 iterations */
-        if ( allow_preemption && !(count % 512) && hypercall_preempt_check() )
+        if ( !(count % 512) && hypercall_preempt_check() )
         {
             rc = -ERESTART;
             break;
@@ -1750,13 +1750,9 @@ void p2m_final_teardown(struct domain *d)
     /*
      * 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, or from failure path of
-     * domain_create()/arch_domain_create() where mappings that require
-     * p2m_put_l3_page() should never be created. For the latter case, also see
-     * comment on top of the p2m_set_entry() for more info.
+     * where relinquish_p2m_mapping() has been called.
      */
 
-    BUG_ON(p2m_teardown(d, false));
     ASSERT(page_list_empty(&p2m->pages));
 
     while ( p2m_teardown_allocation(d) == -ERESTART )
@@ -1827,20 +1823,6 @@ int p2m_init(struct domain *d)
     if ( rc )
         return rc;
 
-    /*
-     * Hardware using GICv2 needs to create a P2M mapping of 8KB GICv2 area
-     * when the domain is created. Considering the worst case for page
-     * tables and keep a buffer, populate 16 pages to the P2M pages pool here.
-     * For GICv3, the above-mentioned P2M mapping is not necessary, but since
-     * the allocated 16 pages here would not be lost, hence populate these
-     * pages unconditionally.
-     */
-    spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, 16, NULL);
-    spin_unlock(&d->arch.paging.lock);
-    if ( rc )
-        return rc;
-
     return 0;
 }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 07:50:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 07:50:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515571.798577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph45b-0007gi-W0; Tue, 28 Mar 2023 07:49:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515571.798577; Tue, 28 Mar 2023 07: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 1ph45b-0007gb-Sh; Tue, 28 Mar 2023 07:49:55 +0000
Received: by outflank-mailman (input) for mailman id 515571;
 Tue, 28 Mar 2023 07:49: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 1ph45a-0007gR-JB; Tue, 28 Mar 2023 07:49:54 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ph45a-0005Vm-H0; Tue, 28 Mar 2023 07:49:54 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ph45a-0008IN-20; Tue, 28 Mar 2023 07:49:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ph45a-0002R8-1X; Tue, 28 Mar 2023 07:49:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NmveGSnp3Rbl9vAla/AMT+M1h6YMZjBIzhjKRiejA4Y=; b=PxoNZ31GD8Q4Wman2wqmqa4G9s
	MBFmXXNFemWdvaDat/EE1b+3LBFMgJZ/wknLB3xj5A8bYzNQ0ztdevhHrwWGgk32d/yKPvzyUaDqz
	jZRtdHaMEem8tvNiMVb8bJZSYB5NkhyWw0GCqD4IWxU6R0lkSKvkN3r7ILt8Dooh3fUk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180037-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180037: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=71fd87e98a3d68dffe2f37ec1bdc61732c01597a
X-Osstest-Versions-That:
    ovmf=144028626e0072c2c4fdfcc0fe1b72de319bdd2f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Mar 2023 07:49:54 +0000

flight 180037 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180037/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 71fd87e98a3d68dffe2f37ec1bdc61732c01597a
baseline version:
 ovmf                 144028626e0072c2c4fdfcc0fe1b72de319bdd2f

Last test of basis   180031  2023-03-27 16:40:42 Z    0 days
Testing same since   180037  2023-03-28 05:12:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Sunil V L <sunilvl@ventanamicro.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
   144028626e..71fd87e98a  71fd87e98a3d68dffe2f37ec1bdc61732c01597a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 07:50:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 07:50:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515575.798587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph464-0000X0-7X; Tue, 28 Mar 2023 07:50:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515575.798587; Tue, 28 Mar 2023 07:50: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 1ph464-0000Wt-4o; Tue, 28 Mar 2023 07:50:24 +0000
Received: by outflank-mailman (input) for mailman id 515575;
 Tue, 28 Mar 2023 07:50: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph463-0000Wg-DD
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 07:50:23 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20607.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30eae5c9-cd3d-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 09:50:21 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS5PR04MB9828.eurprd04.prod.outlook.com (2603:10a6:20b:678::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 07:50:18 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 07: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: 30eae5c9-cd3d-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BfeFYeRvZWNmxHQxrNCgh8W5M1Xo2TpncEYZR4gomCBCms0E1WUc9BxQ7Yt1jUfIZs56mX28pZ7/Gd4UKOeAPBglbr9FpqdUK6/m1v2+piJsickhI3/JYo7RYK00f4qi52+Anv6c4mTRXuaMCjSD1lqDBB5kNzwoPfMhYSgPKNssfQ7yi8RyH5MY+eKFjavqBt0d04bmoxarOIPbp3HOOYyGvtfR/dP4YO5Hpmxb099gUalBOGUnD0ECGTk80LbbspOepfRtTlHWRNEnqDY6IbKazSR0XOk5+PCSsIyxPYSGpxipFC4ZZkiIRVK6TG8djZc7EZagnvW31ssyKQQNYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kn8Isedu5ZHAI5xEhdAg+vLqa0pzkRpjr6Vq35BBG2s=;
 b=gIL+RdbP/5FM18k8b6j64ytgJuNpdBqdNHbEn4u9jx7Mx7jjoX7I6mQrQeB8PwMaensf+q5ZgWBrKd3cw4qBJfPFdwwUIAXr4rnAL3K8MhRBT5flebtt53FeJtBYS0b2XJANbnPbwi83jHAF/medVBwii0+Fno1LvwZ0vLD8YvGABOd4ZughRH9MRYf4bBoie5H/3tASIkqKsnIycbFJaO0Z59wssW/9esT7iq9pK4VwnMHs/RZ1GYjl2JD9jknFByY9KEC7d+Xdo8yyJWqch+kvdQRR9PpWZ9p+HtpBL6XHiJkoVq6PoDTKWQvstgJARxhDrfsz8wKk/++YiR8Aig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kn8Isedu5ZHAI5xEhdAg+vLqa0pzkRpjr6Vq35BBG2s=;
 b=EJvshNUCpGiOvCm0PdswCgAp7p+IPS8k9IUme3Tk5FyRppw2tcvSYdn2bWxVHrlXI/UxahEkGPHQVkpjTnsvLVye8oQnSwVfiBFLHWtZZFTi6xelNQnQ0eaCHeqigic8EHYgeKrSts6zgg+T/rNpVAWPVdFG4y+wki3T3e5eWHpQ34/fivx6qihsNlEqUH9x68tZ6BQGbjB+yFUys9grpy3VbtQWC25tqVVHTu1Gk7jMLPHk7ugnjrEYj6Oe63vtXUCuUAg+7SjxqcjcNIfyxHBQESacHqrQx8tw+Y4tKB1BURGKQgxUlqNZmiIdQLVQ5TOookDV9jM6THuyajseog==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4992e7c4-e424-1fce-b508-ff9eaf2fbf2a@suse.com>
Date: Tue, 28 Mar 2023 09:50:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 1/2] xen/netback: don't do grant copy across page boundary
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, stable@vger.kernel.org,
 linux-kernel@vger.kernel.org, netdev@vger.kernel.org
References: <20230327083646.18690-1-jgross@suse.com>
 <20230327083646.18690-2-jgross@suse.com>
 <59d90811-bc68-83cd-b7e5-7a8c2e2370d9@suse.com>
 <f519a2d3-6662-35a2-b295-1825924affa8@suse.com>
 <89653286-f05e-1fc1-b6bf-265b7ecaad0d@suse.com>
 <f94dbfe9-f690-8c3e-c251-b0d5f93d32f9@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f94dbfe9-f690-8c3e-c251-b0d5f93d32f9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0112.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::15) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AS5PR04MB9828:EE_
X-MS-Office365-Filtering-Correlation-Id: a363389b-e55e-470d-35bf-08db2f61132b
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:
	b9PdpVQ+5GXmMa9DdQS5zhz6SHOvx0a963w+9MWz1mlhq47rZVtM0Qtm6h8LEEnoZekC3PBNKgyyYMbiiYdzar1Wz8+2uxqf7YGglwumBkx2DIt8gaRpg03o2u7OZoPMvkPzdM1iOhDdmYOjfYPjWxIrrD2hFaCqAW8IWbP6qefU2eGSMhgNBHWz94JHdohV8mxMP8GUjTDAD43+dLxJsPA9nPPJJuyhvRMtdLpcmFmczU42cchewCQEpdke2L12qoNxdgRfm00mk5JlP+vIvJakimEPsk35+4dX9MY4bmh5n4oPIAnLdNdw2dQ+phlAoWZidaNFmwIbXsv2mAU1/vO3Pzn/QDvmdHgEhtFoPYwL6w4smfcnXcFQxTcBYZ3Z8b/josxWcrOqnJztTR38FSRrIWb+HLCfIve+vevfBfRyqDGeWRP1HwOPRyipOBZCiWSiXPGXAeCMNFrY51wGT0EwW8vH0Qsm3/QGjjOCWytQoBVEWCblteUjMp/GF49X/zMAZ5zu+sKGtyNtNDkFP0k2vW/iJlJnw8KnPhwd30L2yE8Fuky9vQCPHaIDrdvmmJhCvAXz0gY65MwAb3UXSYl5I4ajlAZIunc8J6iAnth1BXukcEgkiYCFjHIjhyC0eCDGqApoJ3LvLP7ql2dauQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(39860400002)(396003)(366004)(136003)(451199021)(86362001)(31686004)(2616005)(83380400001)(31696002)(53546011)(2906002)(54906003)(186003)(7416002)(38100700002)(6512007)(6506007)(26005)(5660300002)(8936002)(6862004)(41300700001)(36756003)(4326008)(8676002)(66556008)(66946007)(66476007)(6486002)(37006003)(316002)(6636002)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?emZlTTk0N284RVhhek93UnZwbVRDVTRRVy80SHVDeGFiYkJoeWg2Q0NtYnB4?=
 =?utf-8?B?KzdBeGcvZjJ1N3FVMUFNVm5SdnN2L1RMK29LTklvQi9VZ1pjN0pha0dpWThz?=
 =?utf-8?B?MVRpNWZwZnBlWG91RHNhRFhRZi9IMS9taExra1U4VUlXMm4rUmhFaEpxY3Vl?=
 =?utf-8?B?cGxqeXRUNHdiTUljMytKZ3FkSGZ6eXAxMHhES3JLa2hlNUJ2THNkUlFhSHN1?=
 =?utf-8?B?WithNUhmcFo1QXNDckg4eEc0ZXd1cXRUUE5xdm84VS90OTUxYWVmckJjTTdH?=
 =?utf-8?B?aFQ3SHlWRCsrVWVUTFVaa1lJWjNrR2p6VENBNTlTYmQyMVRsYW5QNFVzWDNm?=
 =?utf-8?B?Qmg2aU5wQVBCL3lkODE2dGRacFhsNWw4TXhOWk5TYUZlUUJuNklYbUFJRFRK?=
 =?utf-8?B?Wmc0Z0MvNFcwSTVlV2xNRDFZa0tiVTA5a0hkdkRkZi9oUWg1ZnJ5NXZDdm1I?=
 =?utf-8?B?NHVkWnl1WVM0WTNORVFJUTlYZzc5alRpWkdnWFEwOWlBZzY5V0RtMWIvZHhi?=
 =?utf-8?B?T0dLTFNMUnRNTUdZUFkyTHJhWEs3SzVDayttcHJSNlM1aG9lVGN0TXZuREpE?=
 =?utf-8?B?L2hzeUpYS3pyckxpc0ZCK0k4R2diWjBQK3hZYmJ1c0REVTMweEQyUU5vWlNk?=
 =?utf-8?B?dTgrditoUUVNMjg0T2JQNGJSbU5SS24ydlh2eWhHbm5xNVlpNEdvV3IyTGll?=
 =?utf-8?B?ZmNVbU9nbm1XM0I3TTh6SFV2SmN3Qi9iWWl4K2Q1eGlwdDg2UHFSWHhEeDEv?=
 =?utf-8?B?cy9HQ21vQzFZc25hYkRFcFdldmZvNFVnTHI2VG14QlBWSWwwVk9ZcGJCcnFj?=
 =?utf-8?B?NFN5anJuK0pYTDREVEdMcFVHcjlzaTlEZ3I1TjROcUl3bDNkUDVRT3d0MjBL?=
 =?utf-8?B?NDlQTzZ3OVdGWlRWcXJtWVBGWHdJdXpqZWhvUVpNM0NObVBoRTUwSWYvYjdK?=
 =?utf-8?B?cklyRzRZUExhZGFxcWg5dmpYdnk3WllRMENMdmxObFM4YlJ5d21OcDRYVGE4?=
 =?utf-8?B?UHNkaGpyTjh5WGYwMnpBMjlQY0JLcElaRmlGRWpiZTdUQXRHNkZMU0VRaGZ3?=
 =?utf-8?B?RmkxdEhnK05UOTZiOSsza3pOeFNCZVczSTFORjNlZFdJVXFoeEw2TFJqVFUv?=
 =?utf-8?B?bzJTcFRUMlY5WkVIWHNNd21aUTlKc00vc2ZtUTZDaE92TWtFeUIzL0t6MkNz?=
 =?utf-8?B?dUhCZzJkNUc5Y090WUhGaFFPT1F0akdxd1Nha3pIRjQzOWoyTHZzc2Z6NGJQ?=
 =?utf-8?B?T2ZrQSs5L1NUSnhSS2RlM0NkczYxNFRwMzVPUGplcjQ2ajMxNEt5V0t3em1B?=
 =?utf-8?B?WkliYW5jaVBocHczQmU5c2VDNnpPT1VER1A1b09MVmQ0RE9uc1BBa2k3b1J4?=
 =?utf-8?B?cktTUHhyRXpCRXgrY1pUY1dtellhcHBMRTNaMUg0NFB4NVZ5ckI4dnBtVHoy?=
 =?utf-8?B?bTlDZE14b00wRVhtL1lKemM1U0twTGc4QUUyNWpKbXVjZXlDODlwVWI3UW0x?=
 =?utf-8?B?OG15Y3ROVVhCR2NZSzRpVHdWak5vWElpaGQ3dUl5R3NlT0NQdnNvS1JwREN0?=
 =?utf-8?B?S2dOSUtLRGtPb2V2ZjFwdWVPSFNpTmJESyt2c3AwMG5DWlJGZHY2NDhnaGgr?=
 =?utf-8?B?TnFSUS9nT1UzY2pNSkI2eHJVTHBhNFpaN01iV0ZDNEZJMmt2Ty9UaWxJeFhG?=
 =?utf-8?B?czVXTVpUME9rc0VzR2Q1NjNBS2NsYnl2QUErN2JXQWlVbmVMcFNVeXhIK3ha?=
 =?utf-8?B?aVZLbUg5MkNySmROdlRBcE1ndU1yUVY4dy9YcnNTMzQrdkd4R05Hdm9sZ3Q3?=
 =?utf-8?B?dkNQRzlvTmNiZkVSMTFZb1plcTUxRjZuc3NIM0xOT1BzckU0SHdZTmtEeDF1?=
 =?utf-8?B?WmljSGdod1VFZVB4aDVrRXBxN2x5eS9YZTByVDlrQTZFelhOTVNpc1o5TE1R?=
 =?utf-8?B?K1ZSK294Y0FwUC81bGtvV2lDMnFIeEc0cUFxTkFXN2tvbnhwRW16MW8zeENv?=
 =?utf-8?B?ZFVrK1lWL3ZTZDF4alZaLzdwVWIzS1I0OEN1TnNmL2tFRzArcmMraVlEN3hT?=
 =?utf-8?B?czQrbzV2UjNlOVNvNGxjVmZMN2djVnpUazFUS2RFaCtuMllzZERnejlaV1VI?=
 =?utf-8?Q?xipGSvNlIvDXzhwMjxydTATiS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a363389b-e55e-470d-35bf-08db2f61132b
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 07:50:18.5419
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xOvDimsfZi9JxaCqvWeFe2EveT7el9s9lUodowHRvJnzzWioppFUTDFqNkRoYFpxRP/a/vKfCUkSoPndHnIh0w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9828

On 27.03.2023 18:22, Juergen Gross wrote:
> On 27.03.23 17:38, Jan Beulich wrote:
>> On 27.03.2023 12:07, Juergen Gross wrote:
>>> On 27.03.23 11:49, Jan Beulich wrote:
>>>> On 27.03.2023 10:36, Juergen Gross wrote:
>>>>> @@ -539,6 +553,13 @@ static int xenvif_tx_check_gop(struct xenvif_queue *queue,
>>>>>    		pending_idx = copy_pending_idx(skb, i);
>>>>>    
>>>>>    		newerr = (*gopp_copy)->status;
>>>>> +
>>>>> +		/* Split copies need to be handled together. */
>>>>> +		if (XENVIF_TX_CB(skb)->split_mask & (1U << i)) {
>>>>> +			(*gopp_copy)++;
>>>>> +			if (!newerr)
>>>>> +				newerr = (*gopp_copy)->status;
>>>>> +		}
>>>>
>>>> It isn't guaranteed that a slot may be split only once, is it? Assuming a
>>>
>>> I think it is guaranteed.
>>>
>>> No slot can cover more than XEN_PAGE_SIZE bytes due to the grants being
>>> restricted to that size. There is no way how such a data packet could cross
>>> 2 page boundaries.
>>>
>>> In the end the problem isn't the copies for the linear area not crossing
>>> multiple page boundaries, but the copies for a single request slot not
>>> doing so. And this can't happen IMO.
>>
>> You're thinking of only well-formed requests. What about said request
>> providing a large size with only tiny fragments? xenvif_get_requests()
>> will happily process such, creating bogus grant-copy ops. But them failing
>> once submitted to Xen will be only after damage may already have occurred
>> (from bogus updates of internal state; the logic altogether is too
>> involved for me to be convinced that nothing bad can happen).
> 
> There are sanity checks after each relevant RING_COPY_REQUEST() call, which
> will bail out if "(txp->offset + txp->size) > XEN_PAGE_SIZE" (the first one
> is after the call of xenvif_count_requests(), as this call will decrease the
> size of the request, the other check is in xenvif_count_requests()).

Oh, indeed - that's the check I've been overlooking. (The messages logged
there could do with also mentioning "Cross page boundary", like the one
in xenvif_count_requests() does.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 08:14:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 08:14:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515582.798598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph4Sk-0003rZ-GS; Tue, 28 Mar 2023 08:13:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515582.798598; Tue, 28 Mar 2023 08:13:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph4Sk-0003rS-D0; Tue, 28 Mar 2023 08:13:50 +0000
Received: by outflank-mailman (input) for mailman id 515582;
 Tue, 28 Mar 2023 08:13: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph4Si-0003rM-Tq
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 08:13:48 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0620.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75d26c88-cd40-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 10:13:46 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PAXPR04MB8847.eurprd04.prod.outlook.com (2603:10a6:102:20e::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 08:13:43 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 08:13: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: 75d26c88-cd40-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gSj+z6JcjhnRqN1Gk2uUJJ7MfRCHAQYhK8bjKAkT5ffAZ0kUnyXuTMxjQ9dqJTaY9qronuz+21uhYIhCzI8xFMhRDpVOvQLUXxPx3kU18dFsYE6B9J109ycqYqPZQjQqA8+uyQD1rUAtU6aeOXWkTDSJWvxUsn3wYVM+oLJT91d9Rbo0n0rbMqgGK6kR1CWcS62ipzMcPLoyTqr6VqpRskzVfQCPKCaCxii4f27JIDZYJPzGJ+ybafDJ0oq03PpfyTfkka8GUttFFe05j5sUngT+ZlbAkna4ujQIAB2gaUjviJIGYDCdReS+pXVpntl7KsrifHIQzzxnfCiFvNCKUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ps6Cg2zFYgpSH96/vj2RJEY4CEwXSqfHOGsAuHE53z0=;
 b=cRFSEEldHr32ef7m+79TJT49B8KS2+Fd3MHu4HlDBr9cchIcnyNxXvQw5RMN4xROh88lNS4ju+KtItODhEtR/f9BcZR7uLMB4DmfdIpR2zP/PVQ+RQFKDJxmiVvMbb10oB7L2c19r/BWw84W6bmXWY3uFOCOVWF/oocjaWb93icoMy9zMEc8YTEiBoVSADgfO+5YATqxyvNocTYUCiV2qS7Qa+e1CvLoy81PNjrG1BFShdVt+XUY3MTYOkL/rlrLLE7cjQdXrfaK6zse/G/gY7v+UdwHxfIxoacD0kpWnBfukBR1V3ix2MErMdnKEOm1zEc1LTOGSwRhwONmCbMuLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ps6Cg2zFYgpSH96/vj2RJEY4CEwXSqfHOGsAuHE53z0=;
 b=tnoWuOf8fIodAG/QTtCLfw62HZjk+FUJfyv0aGrMFWHMRV/RLbDuzyqh+6CxfFJXRa433B8I6EzJ+cr3x+/QLU0ibn1vDNiDSML+/k2AwKrwPoR6WbCwqGyKEiDWWuBr7X8FO1kcl8RVD3fGsQulMEurP/IIexZD1eAycXPuZ+MJnoyhKM7nJewC0dw2m6PcwPQxHnH4EyQztyyVeTSBVpRVPsEML9siMNarcuXnZJJq6oQYK45uM2rA5VZHEGMo8S45O0wW/VFiDlP0xNgqx3PHRKv3j72rMCzgn4DK66Zx6IzPictVuM/ydgTY+7E6PwrNaCf94ecni4AkBxGezg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eccd3494-6e6b-48f0-be2e-7fbda1db1196@suse.com>
Date: Tue, 28 Mar 2023 10:13:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v8 5/5] xen/x86: switch x86 to use generic implemetation
 of bug.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.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.1678900513.git.oleksii.kurochko@gmail.com>
 <5e252e8dacea5c4f2fdbb4f7970e34a862987639.1678900513.git.oleksii.kurochko@gmail.com>
 <9af94e49-ff66-5e7f-bf5f-ba4095cfed13@suse.com>
 <3febb233792329adf0cddf81efa8536a98b7151b.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3febb233792329adf0cddf81efa8536a98b7151b.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: DX2P273CA0013.AREP273.PROD.OUTLOOK.COM
 (2603:1086:300:8::25) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PAXPR04MB8847:EE_
X-MS-Office365-Filtering-Correlation-Id: b139cc81-2e8c-4dde-99a4-08db2f64588f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BjzMhtRpG6ZV7fNR6ycGU32IjF5Fq0t9uGQsgZO5Fvo5FtEaPnpm30T12CxUv2CrNjXUFoLHE7uCoT4a7nWdlGlKBMZjblnghSGVkF3nEDwsxQkWINMlIkgT4JSbfQibjv4QcNo7Qu3uvathePP1A7Hbt4x744pOpQCHIh6cOi/tP9IUa1Hwvc5FQH1zFaFNxLNiESFkGlxObLF2aaP3lBJ7ilfsyTSGmJdUgnknqv6Ti/OsDBvm79KFKLf6V7JMhs9H/1YngVXuK6jVBK6aQJcPGQc8XmrWttoJFtX2RLCsMPrfsowZgRLHGDFr7Rz5OAgjYbwG4x73Td41pQbO/FVhsVFJ3PEApsRRrXbv8aX3jWkUrK5vHGSRN38sG7yq8nPJ2v1wE2A9fIfcpsLllvp9CzNSrV74yd+Nz7H8tORTyryHvYJ+Rdlij9FHsfArxA34gkm+e6xdIUet7xvDQhZMySaeZvw2Vl3LRGDEDyMbUt9Ms/TNIyO/ZvfI4/KG4qG/vIV20MSuW+DNCn2+IzCEphqAKImv4aXJsyrBxmn66bmM6+857mx8rx6MWE8gXw0zNP2tdPLw36mQjzYENgBgzsqKscogEF6iuJCDvLktgYrH3OGj3FRwjVKCHX0QBFEc03y0utNmA8Uh7SPOu5rLXMKc1HOfPRlo+spQ7IQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(346002)(376002)(39860400002)(136003)(366004)(451199021)(38100700002)(53546011)(2616005)(6666004)(6512007)(6506007)(26005)(36756003)(83380400001)(41300700001)(8936002)(66946007)(5660300002)(8676002)(66556008)(4326008)(6916009)(186003)(66476007)(2906002)(6486002)(31696002)(316002)(86362001)(54906003)(478600001)(31686004)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZCtxRThYU2w1ZzNGOTdxeG5iTUxMQ0RCZG1ZUCsyZlZrcFhaQ3RnWVVTSG1S?=
 =?utf-8?B?NlFycDBITkt4dkV1YUF0UnpSQzlzb3RXK2tTUys5eU52bnBoVHBVd2xKbSs0?=
 =?utf-8?B?NEJIVkFBdzUzWHBJbEF2d3BNNmxtNnZEK2VmWmZ3Zjg3YnJtVDBvbGpPei8w?=
 =?utf-8?B?NlEzbFVYbU5TUkg2QzB5WHN5OGIvQzRPRGR5ZTNpYlRWKzE4S0tCK1JRUFhz?=
 =?utf-8?B?cFptMk1TVk51a3pjcDR0Sk9STWRKYnE1S2dwdVZ0VUo1SWlMN2ZNSFRkNVVH?=
 =?utf-8?B?Q2lRYTJQNHRVbm5tcVgvbUYwM1lQTjZXQjBNY2RYRW54NVBuTW1QcTQyNXRI?=
 =?utf-8?B?Q2NqS2RkRTZUU3dJNWh1NWhGdnIwS2NiejJEVGRodkZLT1dzRlhXUlg4UjNn?=
 =?utf-8?B?Q2xGUXlyTWVxNGFKWCsrYmYyL1Y0ekhrTmVMSWpvc2M1NHpRdGtxZjJWcUdu?=
 =?utf-8?B?NG9KNGlUYkNCRXV1VFlyVzJOQmE4SDkxbVZWWFBNdGNVOEF4L1ltZ1hYc2pv?=
 =?utf-8?B?M09jQS8wcTFsZGVnQlF2UUhpd094NEs2NDByRjVvNUZBc21IQUd6T2EvK2Ey?=
 =?utf-8?B?ZUEreFRNbFdKZXZOQ2IvRCtIM0h2VWV0TDNYTlRlemkyK01hamZrSTUyYTFX?=
 =?utf-8?B?Z216dzMza1BOQjdTaVkwUElleCtLNXA0elNiMDAyRXo3bWQvTHkwRHRpOEE3?=
 =?utf-8?B?WWI3QXY3RWRkMmlHZ1EvRUlwV3YxN01VRTRNSXl4WStlK0FZd1g0Qk5tY0gr?=
 =?utf-8?B?MmZXazZVajJSanNUMDljNFJnT3daakVDeSs4K21QamFuQ1NwcVZJTi9za0x4?=
 =?utf-8?B?eEpjdzVtd01VQUZmRkUwNkFKVEFDRDJxRy9SRXNzV0xSOHlSLzZ6MjRFTWtE?=
 =?utf-8?B?bUZ2eVhkNlpybm9YZ2h4cHFDaDdaUFhyU0lGRmlsR2pLR0Uxa0xzejZJdXZx?=
 =?utf-8?B?QUFUTmRsOWM5c2MyOUF6WlRxc3lxN3Vxb3lGLzE3RUg4b1NGY1BETk5NNFpl?=
 =?utf-8?B?eXRWaEc5WDcrdEpPWE5nTS9vVFNUVkx2ZDFBQ041Yy9XU20zdURxa3lQWkoy?=
 =?utf-8?B?OGl0Kzg3azBKUllYeFJjZXBzMGJzRzlWWUlBVkIrMi9iSnJhS2NSb0MwUGF3?=
 =?utf-8?B?R0oybEFhMDVGeENmdHE0ZTVHY2V1OUxBcnJhcFR2L2hycmt6T1ZxZUVaZEpL?=
 =?utf-8?B?eFpvWnVuUkoxR1AxWUtYNWFDdzB4ZThFT3NtdWlFYUIzV2NXbXF4TzFlRmVW?=
 =?utf-8?B?QUY3Q2phaGNobWorQmJlSHV4S1VMcUR3QitFMVVUZ291U0E1dzFEVmFxcnBy?=
 =?utf-8?B?QkZ1UFRtQnUvSWRTRk1OdWlkN3NqR2p3RFdjdE5xbmovYTdQVU1Qd3NBQnZF?=
 =?utf-8?B?MHBUaWw1Q1R6UklKbFNlL0xzZFU0T0g5Y2pMZXJGa05DU05UWjVXVEpJcWRR?=
 =?utf-8?B?ZGQwZ1c5N1JuYTRiZTBudk5rcURkZnBkQkhmZjVQa0FpUFJROXk4cVhITzJ1?=
 =?utf-8?B?TkZsS2M1d0w0Y0QwZ1RVd243NFBDTEtNdStrdEZ4RHRMT3llc1d0dHNWQlVk?=
 =?utf-8?B?MU8zMUJHWXZlS3VkYjJJekNUWUtyT0htbjZBRFpodVpkbUZHcmZramovZkFV?=
 =?utf-8?B?K1h4WDVIb3RHN2RlWDE1UDB4UXBpTTkwZXc3d0FMUXliMWNQbzhkeU5vRnk4?=
 =?utf-8?B?R1VLNEtaMEJaRXQ2SkZmVHlWcEFuWDRpM3N4V3BPVWNyTHBMcjdYTUovVXhS?=
 =?utf-8?B?Y2Q1UzNFclFDQm54QS8rU0JSVnJ6eUpjMVpjK01mWHZxRjI3YlpGVS82V2Vu?=
 =?utf-8?B?MDRYT2l6ZFBwUUxPREdJaTIyY2NhMWhWZUxEVm40NjA5ay8yVVExK3lkMVkr?=
 =?utf-8?B?OUxZYUJhQVpYYUtDR3IvSWJTMkFJbU5MNGIyNmpDVndvVE1QbnVFd2RFR3NQ?=
 =?utf-8?B?U2ZsZWFENVByejVDdGtrd05NL3M4dzljeWVpL0R0MzJqY3F4eW9oS0RPQndC?=
 =?utf-8?B?Y1lBaHpGbHZCQnVHWklLM0haY2dremp2eFRGN0FCRHltN1JvWlBTQVQxOXNn?=
 =?utf-8?B?WmJLMFo3TWM0WVN0NHdEVDNDUGVlb2VDQ2QzTXhoTi85VzJkdU94aHJtQ25O?=
 =?utf-8?Q?K7K1PH0pyWm0AwI8r50xxSFUQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b139cc81-2e8c-4dde-99a4-08db2f64588f
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 08:13:43.5740
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9G79G+hSnu7Mat6mbqq/dB5D0c2iCa8tALIOIyuF4qpW2uIFDaBkQQxBsI/PmIiUsYeQ2+OtS+KL4aGBhESdsA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8847

On 27.03.2023 18:10, Oleksii wrote:
> Hello Jan,
> 
> On Thu, 2023-03-16 at 10:52 +0100, Jan Beulich wrote:
>> On 15.03.2023 18:21, Oleksii Kurochko wrote:
>>> The following changes were made:
>>> * Make GENERIC_BUG_FRAME mandatory for X86
>>> * Update asm/bug.h using generic implementation in <xen/bug.h>
>>> * Update do_invalid_op using generic do_bug_frame()
>>> * Define BUG_DEBUGGER_TRAP_FATAL to
>>> debugger_trap_fatal(X86_EXC_GP,regs)
>>> * type of eip variable was changed to 'const void *'
>>> * add '#include <xen/debugger.h>'
>>>
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> Changes in V8:
>>>  * move <xen/debuger.h> from <asm/bug.h> to <common/bug.c> to fix
>>> compilation issue.
>>>    The following compilation issue occurs:
>>>      In file included from ./arch/x86/include/asm/smp.h:10,
>>>                  from ./include/xen/smp.h:4,
>>>                  from ./arch/x86/include/asm/processor.h:10,
>>>                  from ./arch/x86/include/asm/system.h:6,
>>>                  from ./arch/x86/include/asm/atomic.h:5,
>>>                  from ./include/xen/gdbstub.h:24,
>>>                  from ./arch/x86/include/asm/debugger.h:10,
>>>                  from ./include/xen/debugger.h:24,
>>>                  from ./arch/x86/include/asm/bug.h:7,
>>>                  from ./include/xen/bug.h:15,
>>>                  from ./include/xen/lib.h:27,
>>>                  from ./include/xen/perfc.h:6,
>>>                  from arch/x86/x86_64/asm-offsets.c:9:
>>>      ./include/xen/cpumask.h: In function 'cpumask_check':
>>>      ./include/xen/cpumask.h:84:9: error: implicit declaration of
>>> function 'ASSERT' [-Werror=implicit-function-declaration]
>>>                     84 |         ASSERT(cpu < nr_cpu_ids);
>>
>> I'm going to post a patch to address this specific failure. But
>> something
>> similar may then surface elsewhere.
>>
>>>    It happens in case when CONFIG_CRASH_DEBUG is enabled
>>
>> I have to admit that I don't see the connection to CRASH_DEBUG: It's
>> the
>> asm/atomic.h inclusion that's problematic afaics, yet that
>> (needlessly)
>> happens outside the respective #ifdef in xen/gdbstub.h.
>>
>> If another instance of this header interaction issue would surface
>> despite
>> my to-be-posted patch, I'd be okay with going this route for the
>> moment.
>> But I think the real issue here is xen/lib.h including xen/bug.h.
>> Instead
>> of that, some stuff that's presently in xen/lib.h should instead move
>> to
>> xen/bug.h, and the inclusion there be dropped. Any parties actually
>> using
>> stuff from xen/bug.h (xen/lib.h then won't anymore) should then
>> include
>> that header themselves.
> As all your patches are in the staging.
> 
> Can I send a new patch vesrion with <asm/processor.h> removed in
> common/bug.c but leave <xen/debugger.h>? 

If another variant of the build issue still exists, then you want to
leave that as is, yes (but update the description to point out the
new issue that makes this necessary).

> Should I wait for xen/lib.h reworking?

No.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 08:46:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 08:46:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515592.798607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph4xn-0007dy-TJ; Tue, 28 Mar 2023 08:45:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515592.798607; Tue, 28 Mar 2023 08: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 1ph4xn-0007dr-Qd; Tue, 28 Mar 2023 08:45:55 +0000
Received: by outflank-mailman (input) for mailman id 515592;
 Tue, 28 Mar 2023 08: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=WLKu=7U=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ph4xn-0007dl-1a
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 08:45: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 f11550a9-cd44-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 10:45:51 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E5E36219CB;
 Tue, 28 Mar 2023 08:45: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 B38E31390D;
 Tue, 28 Mar 2023 08:45:50 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id RdNgKj6pImThLgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 28 Mar 2023 08:45: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: f11550a9-cd44-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679993150; 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=yXUBjKrqwM53T7UrMckHmjpZFpuDk2TlKdZU+l+grfw=;
	b=fJXUKWANRW8UbMDWIBWa1Ugqequ8HMpEy8gvoVbpd6zkULAMbQGG4p9jGgHdqu6qTdxLhc
	46qW60UcAgbI86aHUuh8Utl7D1GVZkBPPdOIqW5XcHq1NFUqRVZGRbgoBwPsx68xwhMFHV
	KFpMEV+ONinzbFqgbDt2HwSgfcmEXwg=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Dan Carpenter <error27@gmail.com>
Subject: [PATCH] xen/pciback: don't call pcistub_device_put() under lock
Date: Tue, 28 Mar 2023 10:45:49 +0200
Message-Id: <20230328084549.20695-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

pcistub_device_put() shouldn't be called under spinlock, as it can
sleep.

For this reason pcistub_device_get_pci_dev() needs to be modified:
instead of always calling pcistub_device_get() just do the call of
pcistub_device_get() only if it is really needed. This removes the
need to call pcistub_device_put().

Reported-by: Dan Carpenter <error27@gmail.com>
Link: https://lore.kernel.org/lkml/Y+JUIl64UDmdkboh@kadam/
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/xen/xen-pciback/pci_stub.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index bba527620507..e34b623e4b41 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -194,8 +194,6 @@ static struct pci_dev *pcistub_device_get_pci_dev(struct xen_pcibk_device *pdev,
 	struct pci_dev *pci_dev = NULL;
 	unsigned long flags;
 
-	pcistub_device_get(psdev);
-
 	spin_lock_irqsave(&psdev->lock, flags);
 	if (!psdev->pdev) {
 		psdev->pdev = pdev;
@@ -203,8 +201,8 @@ static struct pci_dev *pcistub_device_get_pci_dev(struct xen_pcibk_device *pdev,
 	}
 	spin_unlock_irqrestore(&psdev->lock, flags);
 
-	if (!pci_dev)
-		pcistub_device_put(psdev);
+	if (pci_dev)
+		pcistub_device_get(psdev);
 
 	return pci_dev;
 }
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 08:46:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 08:46:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515593.798617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph4y0-0007vg-4p; Tue, 28 Mar 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 515593.798617; Tue, 28 Mar 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 1ph4y0-0007vZ-2G; Tue, 28 Mar 2023 08:46:08 +0000
Received: by outflank-mailman (input) for mailman id 515593;
 Tue, 28 Mar 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=WLKu=7U=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ph4xz-0007dl-6m
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 08:46: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 f95cfe1f-cd44-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 10:46:04 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id F2E521FDA1;
 Tue, 28 Mar 2023 08:46: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 AC5A91390D;
 Tue, 28 Mar 2023 08:46:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id X72GKEypImQKLwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 28 Mar 2023 08: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: f95cfe1f-cd44-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679993165; 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=XkRrVX8XzPB5UHUjHXjJ+xWWlRyOClSfTOm/ZrUGMDw=;
	b=BXUn2XOtBlkO6BfqJ9xz1Y8JkP8uIsgjzDECMGZ0Jh/UurP91nuLzaw9ZDMKbiiO4tpgKn
	48XtNjyA4FGeWwJDGjFzuzqKiaGnm/Xh/6L5tLJypGtfmM2kE3IixxVyNd5tURiLH/24Hi
	XN7f7GP61eB39zwsjvWYRnfODaJQtPY=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	linux-scsi@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Dan Carpenter <error27@gmail.com>
Subject: [PATCH] xen/scsiback: don't call scsiback_free_translation_entry() under lock
Date: Tue, 28 Mar 2023 10:46:02 +0200
Message-Id: <20230328084602.20729-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

scsiback_free_translation_entry() shouldn't be called under spinlock,
as it can sleep.

This requires to split removing a translation entry from the v2p list
from actually calling kref_put() for the entry.

Reported-by: Dan Carpenter <error27@gmail.com>
Link: https://lore.kernel.org/lkml/Y+JUIl64UDmdkboh@kadam/
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/xen/xen-scsiback.c | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/drivers/xen/xen-scsiback.c b/drivers/xen/xen-scsiback.c
index 954188b0b858..294f29cdc7aa 100644
--- a/drivers/xen/xen-scsiback.c
+++ b/drivers/xen/xen-scsiback.c
@@ -1010,12 +1010,6 @@ static int scsiback_add_translation_entry(struct vscsibk_info *info,
 	return err;
 }
 
-static void __scsiback_del_translation_entry(struct v2p_entry *entry)
-{
-	list_del(&entry->l);
-	kref_put(&entry->kref, scsiback_free_translation_entry);
-}
-
 /*
   Delete the translation entry specified
 */
@@ -1024,18 +1018,20 @@ static int scsiback_del_translation_entry(struct vscsibk_info *info,
 {
 	struct v2p_entry *entry;
 	unsigned long flags;
-	int ret = 0;
 
 	spin_lock_irqsave(&info->v2p_lock, flags);
 	/* Find out the translation entry specified */
 	entry = scsiback_chk_translation_entry(info, v);
 	if (entry)
-		__scsiback_del_translation_entry(entry);
-	else
-		ret = -ENOENT;
+		list_del(&entry->l);
 
 	spin_unlock_irqrestore(&info->v2p_lock, flags);
-	return ret;
+
+	if (!entry)
+		return -ENOENT;
+
+	kref_put(&entry->kref, scsiback_free_translation_entry);
+	return 0;
 }
 
 static void scsiback_do_add_lun(struct vscsibk_info *info, const char *state,
@@ -1239,14 +1235,19 @@ static void scsiback_release_translation_entry(struct vscsibk_info *info)
 {
 	struct v2p_entry *entry, *tmp;
 	struct list_head *head = &(info->v2p_entry_lists);
+	struct list_head tmp_list;
 	unsigned long flags;
 
 	spin_lock_irqsave(&info->v2p_lock, flags);
 
-	list_for_each_entry_safe(entry, tmp, head, l)
-		__scsiback_del_translation_entry(entry);
+	list_cut_before(&tmp_list, head, head);
 
 	spin_unlock_irqrestore(&info->v2p_lock, flags);
+
+	list_for_each_entry_safe(entry, tmp, &tmp_list, l) {
+		list_del(&entry->l);
+		kref_put(&entry->kref, scsiback_free_translation_entry);
+	}
 }
 
 static void scsiback_remove(struct xenbus_device *dev)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 08:59:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 08:59:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515598.798628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph5BB-0001QD-Bq; Tue, 28 Mar 2023 08:59:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515598.798628; Tue, 28 Mar 2023 08:59:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph5BB-0001Q6-7F; Tue, 28 Mar 2023 08:59:45 +0000
Received: by outflank-mailman (input) for mailman id 515598;
 Tue, 28 Mar 2023 08:59:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph5BA-0001Q0-9d
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 08:59:44 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20614.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e082a7f6-cd46-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 10:59:41 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PAXPR04MB8672.eurprd04.prod.outlook.com (2603:10a6:102:21f::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 08:59:39 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 08:59: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: e082a7f6-cd46-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D2pWC0p7tmRGxLaVsmDk9T6fwtHkLetpli5qDGZKzKaHes6QoToNlhqpNtXM50YdB3ZO2XqqTdNJ/dY/W7HCqMh2y0/Fub0pGeHUZ+oG4+ViX6M6yqZoFSVR43ew3vqYKvZP70nCJNLfG8FRmbgF0/l+hGHvXnJm4+Y3qj4ETwG6W9HY2soDPHdVOx+S/16eoq6CWQgBI/PLWyheQ0LxStrLqYXtydgv0mxD9+GpOkJ9o113Ve5bjKfMAaQ/iPyOg8oPzmMU0Dff/qSO2ELroXMEwO3IDuJLkr8oVxpTPIiXfJq5WIPjVxCHX+ffH0CQB0m8Q9xE6/c5DZRZA4q8Yg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C2l85hnaHm4kI8+50pDF47Gnua/qWJQoEMJDTN0bHoM=;
 b=XpRqk28AXQftNpOurt2PRgMoWXcIdFNJ68goNGkICMbeukZu4bXrKeirFAObg3FFAUQblXXag/LT9+48lggtNAXHcu/Mz599BRRZm+CGevPDiqqHFEBL34IXVTiVYv22WfPXChtEBMjSBWo6tzc/t15IWK++YS+yWo/zdkIzZMNgOW97NLwHlFEOlBhDKE3FCzbdTgSKbfaqMw5lPmdn9VBBjyx35x7vMqicyGmZvk2cX/wXvJSVI2xlYg19NY1UfeFVpnvKcVWPzAFeF+opCicCOfmgI6W/vi10G1wwwE3tMVbDnbzyF4jf2Fp/cwfEP+xqFWcWYG+FGiGhmFbaAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C2l85hnaHm4kI8+50pDF47Gnua/qWJQoEMJDTN0bHoM=;
 b=AwIGP01LzoRrFgQHZ5ibefiofIEHPOU9lF5lqAch0EABwl5DhBEA0t2c0A+wrYG+DwS897pl+OFcqltZg1r+T0FG5W2EjvBm62T4dY3QJx8T/w4RlEny+mkwNkikB7b1a2tyHtJMac8jlkJH4fHrAAIa7GRu5NbTsmscT9XLVL4Qn/iGDbB+6G4FSUFJDy6aE123dGkvVCimfRzuLnAOsBUYmCLEVLoBtwYSZgVsH8+mPdUMoynW5XoLdvLARYUFY0hh1HRqYx5Hse9bxKpOs5L1Z13ZM39vq6mixDMbPoPG/xEpchqS8N+8KbVnuJhFoVPCbOjfIOWPZxbaiyEBog==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <77245440-079f-50bd-7237-a44317642b3f@suse.com>
Date: Tue, 28 Mar 2023 10:59:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [XEN PATCH v5] x86/monitor: Add new monitor event to catch I/O
 instructions
Content-Language: en-US
To: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
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>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>,
 Anton Belousov <abelousov@ptsecurity.com>, xen-devel@lists.xenproject.org
References: <7bd5ec4ff75ea0157d782f8820db1d17b6ad1289.1679406554.git.isaikin-dmitry@yandex.ru>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7bd5ec4ff75ea0157d782f8820db1d17b6ad1289.1679406554.git.isaikin-dmitry@yandex.ru>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0140.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::8) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PAXPR04MB8672:EE_
X-MS-Office365-Filtering-Correlation-Id: 3a763f8a-60f5-4fc7-5164-08db2f6ac330
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:
	f8Q+GfJDsNHannAQ1ihfwKMnwo5uAahJ/N7bZXi094Fr/9GILnAr4HTdJPeEZ3XKzPMK5AnuvtUPkoRY7oFWSoClS4rx3o3NbjxxUPd4M4MYK0Z1ibyiQL/eomayaTDSSy8W2o8V4MbeMxGuxH0S2Wsido0CWBLRDA6gA17OAa1dhQ5aTJ6WtT42+uAzSV+mTL73yv+SZzj5ybMVh7EEXq2rlDl0KH1vH5R1DTBX7Lu711UY1BLhTx4DXlSvvT9gQfIOfa/IGor9zrzIfarNwX0kmHY9R/F42qFyUyR5RZCEP/4w6N8UHnzWDGxDtFRZKomEZmevoEkdUpY04BGweaYI/z7Z7rMS/GGkENYMRhWFAPyedAZZ5VObtXVvKn9S5kSehlwui8/kDhJ4XZOm8NGsPsEERkTAPkL8tnWp0skQmzDummmKLNFJL00/1NHNVVu4weKwAnnJF2rAX7nhTPz+T6y14mnnuA3GaEIEFKzxmwv9yT98zTkESrmpaKEklerV5f86xMt1/bSt4aSfsnpWJYOcJwiQsFA9n3HBrvwNaxUpR3SPy59GSnK7lmdWzIh8igGNiTK0E7U4+Xx5+4o2ZNYqNRiQtUUxrjvN5PYIW56MWYfXBa5nB4EmlT8Nka8vAulqKRMf/3pceYIyKnj9BJteSqQSPZaUYQFkK2qWxnI0VrvWsvTitRkaMsC8
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(396003)(136003)(39860400002)(366004)(451199021)(31696002)(186003)(83380400001)(8936002)(86362001)(2616005)(6506007)(6512007)(26005)(53546011)(31686004)(2906002)(4744005)(38100700002)(5660300002)(478600001)(7416002)(66556008)(4326008)(66946007)(316002)(66476007)(41300700001)(8676002)(6486002)(36756003)(6916009)(54906003)(23180200003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dGpveGpUdXkxYjFYbXVSb2NFK0FSWHdzMTZGUFJZQi9yR1p6ZHliR2gzbUZK?=
 =?utf-8?B?WFhubU5DRExiVmxiZUgwMDN3S2VnbC93Vk5GRExDM0JWdm80UjlZT2M5M2xs?=
 =?utf-8?B?ZkRLdTlqeGVVbjk1WFh3bDgwZGpGdjJ6aGcrNGg0b3JVdEgwWFArTkpmMGt1?=
 =?utf-8?B?WTJSY3dCRWRwdFdKWnQvVWdNZGZGcWhTVDlDbGEvbnVpSlN4VTVSNHpkRVVz?=
 =?utf-8?B?eG1INlhOVzR0UHRxNGRZVVcvSHAxajZ6ekZyT3JJbjBFT3NrREt1aWxqNDRH?=
 =?utf-8?B?MlJHT1VsemVXaXp4eGJIRXNoenhxZ3pmSFROM1lpNFlMZHljRmIxMmtrMDRp?=
 =?utf-8?B?MkVsbWdaUkVST0VjZTZrUWYvS3pqcVZHckpXVVZEV2JRWWtseTEzT2diYnB4?=
 =?utf-8?B?TEtZcjAxbVl4dC9keW9FclpvcWNvVHRKMmVlVWtvRU50ZDBIMmJJaFRxaVdr?=
 =?utf-8?B?TjVlZzY1TWxDd05zTnVUcGo5MUNQWDNwbDRyU1dKSzNoMnBzWlpOcDIyb0N0?=
 =?utf-8?B?eFdyY2JodXRISFpNL1ZyckQ4NzNORTlPNGVZNUNaZnhyOUk4SVU1ZjRWMVRN?=
 =?utf-8?B?YnNPQUU3cmFuMU8xUm1kOXByTlc2NTN0UXBUTGhGV1BWYVFLK1FGRXdNcDJn?=
 =?utf-8?B?TFNQREhzMWlNOVRlTVZ4TS9YYXVYMy9OcUgzZ3FIbzQxaE1zSWtDaVM0dzZF?=
 =?utf-8?B?ODhyTk80cWNyOXhqTjRiY3pad3NvWGVYSUZmYzBFc1FseTZvOVdFOStXb3hX?=
 =?utf-8?B?OU80MVk1TjBqZ3dzcG5YeUJ6bk5LWlloZzlyZkE0eFRKTDBialdDTWg3TXUy?=
 =?utf-8?B?dEhEdno0TXk1VUtZb2ZPQ0tiZjROVURkQ1ZkUTgwMExmbXVsd2E1VGJpaXBI?=
 =?utf-8?B?VHFlZVMzeFdwME5YWmNtMXF4eG1aaEVMYkhaV2dvS3BEdnZGY3RpTkRST1ZP?=
 =?utf-8?B?cGQ0amhMNHkwRUs3MXF3V3pXa1BDa1ZqeGhLY3d1Z3FKeFFRNk1WOTYrcXRV?=
 =?utf-8?B?ZDZMYVdOellxTkZ0b2tpcU9xalJOM3BsM3ZPaENDMmlYZmFoLzVnTHU3SGJO?=
 =?utf-8?B?QjBzUTlTMS85am1pR292Y09LaHQxNCtvOVV5aEFGY0JsMnBYVGtLSDZ3VDdx?=
 =?utf-8?B?WTBSZDB0Si80YmlaTVZkMm5WM1BSOFUxekRYSzZlV3F4V3lYNGtBdWxEK3dW?=
 =?utf-8?B?Yis4bDN3Q2hPNU1UcHA5TDJDOVBlTFV6QVljMGgwc1V0NThPTkp2U3Z5U3VL?=
 =?utf-8?B?M2FTYyswSjhnOWlrYzZMS2ZzQit3S3VZVC9FNE9IanRwcVhZTndGZGNLMTJF?=
 =?utf-8?B?STQ4Z2FMRTN0ZFBHTnFTSnp1SFVXK2IzNk4wSTRoRVBZOGUwS0xxOHYzci9S?=
 =?utf-8?B?d0lqOFVNNXFyT0w4M2Q4WFpNUjMvOXBEMU5yWVJhSVBhTUZVMWQ4VEVFVHNO?=
 =?utf-8?B?UGFhVjVjNnVYelJIUkJlazlyNHlMVmxCRlZqUjlyR2ZPY3JkUmpxWEVzQlRy?=
 =?utf-8?B?U2grczNCM1c4dXhnak9GbzVJaWNXWWg0ZnZqYnU2UzRFTmZCNG5kZFByVUx5?=
 =?utf-8?B?d1Y2Q08xYVdPcDVYNE96cit2Y2d3YWdYSjdRdlpsbFZPMzBMeTdEcFJMYkFw?=
 =?utf-8?B?dDJiK0hhTHZ3MjlkT01Sc3MzNlk3SFRkN0MvRUNNQUxyRlNJbDk3L0xCMkJi?=
 =?utf-8?B?WnZSb1hOSE5oTUNJRFlqVmJMcHpUTDdCMGtVbzlwZmEydlloMHdGTmppUkZE?=
 =?utf-8?B?TGR0a0MyRmJzV2lnajJPNFNQc1N1NkozUlV2clpsYzFlNEpNUU5XeUJidS9J?=
 =?utf-8?B?TW5VeXJ5VEI4c0ZTdjZTU3pLNFlBSU5MVHpQUWlxZ3p2cTZVOUFHTFo1ZUkx?=
 =?utf-8?B?bG5uSldGR2x0VTJmbDI0ai9MYmptRW9JUEdNeTRIMXkyMk1rYVVrbGw1Sy8r?=
 =?utf-8?B?MG5tOENXOHlkZEwwSVRTbmNzaDBTeEEwWmt4QStYRnJVbWlrTGtJU1g4b1BD?=
 =?utf-8?B?QnJ4b2FOMHdjTjVXZzV4Mmc5Mkg0QlB0SnF5M3RoMWdLTHZkQ0pkNGJhVnFk?=
 =?utf-8?B?SUYxYjhkVlFzSWlDVkVPbC81ck1KUFppWGN1REhuQVp0WERBVm1NSE1NSmpj?=
 =?utf-8?Q?3X4MDYfZWeFVr8gBPbfDKxeq4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a763f8a-60f5-4fc7-5164-08db2f6ac330
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 08:59:39.4244
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5GMx5JMQOzl5TEZ4FBYAYLZB/HJamz25+hzgKhU/T6/BIupuiaH8vFRE1LY6E1q6ZTpRQ1UZ3OwoA8327uyKHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8672

On 21.03.2023 14:58, Dmitry Isaykin wrote:
> Adds monitor support for I/O instructions.
> 
> Signed-off-by: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
> Signed-off-by: Anton Belousov <abelousov@ptsecurity.com>

Acked-by: Jan Beulich <jbeulich@suse.com>

On top of Kevin's R-b and besides Tamas'es (to-be-re-instated) ack this
also would preferably get one from Anthony.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 09:16:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 09:16:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515604.798637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph5RT-00040V-Mp; Tue, 28 Mar 2023 09:16:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515604.798637; Tue, 28 Mar 2023 09:16: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 1ph5RT-00040O-KE; Tue, 28 Mar 2023 09:16:35 +0000
Received: by outflank-mailman (input) for mailman id 515604;
 Tue, 28 Mar 2023 09: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph5RS-00040I-0Q
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 09:16:34 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on061d.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 33427776-cd49-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 11:16:30 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PAXPR04MB8783.eurprd04.prod.outlook.com (2603:10a6:102:20e::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 09:16:17 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 09:16: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: 33427776-cd49-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l6ye7miuPqI84SYiGipZrVw0XR+IycED6HSzlRbNvOwaqVz8TfUL0u1Cjt2tMHTBH7+bASwqpJqR9SkdsUzB1p2zqRywpcZhogyrFQi1L96vhincZCD7ql0jUjEDddB6cDrNyBi2dPUdDXJdb8ndLBCosC/j0RZAizP9fskObBC+3aptV1ZUIMpHkS4ODyJpgqfMhsHVrIe95wg+nWcJkcrS0tNGCVHekdgDJksGg5nDG+GJzVKPySmBNfsC3bG3N1b7+LySYEAiijdauzVFPFIBMoLtPVkb4Eujr+FwwHXotsAAx7gBxAmFF0F+k+brbp0NmJZfVBDv+YXvXSfIwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1FN32dYvuvGjQIT55MGiIxJ5x/QAEOIWgKB7fShQt1A=;
 b=gERvlGpiR2VRelEvG+paYBtFRkd799o2kWgbFK3Jzk2Fyi28eCV5jUGhawT4FiNQawRkJH9H79j7IrqDcQjW2bLbMZdLxCTuGuo7DkSajdy2J/ne/xVyjpTaQDsL4gPWB7mE2PlkYaB9oGtCiZhY+nrn3CrVuvFKXHJJ4VDqvMaVxygd7TNDuW37VFYGhlRv65S9ZAkO/qz3UY7voOQxwURPcPqFHUNrx7XxEEcI+4Oy0f5tOnDp42RMAJcQWT1FDvIg84ZrYccIij5jqBKUc1vFwKvr+DfTUwn1/ttdzQBkPQiSZFNnothPBAMqV0ZNyQT5KmdoBG95ImeD8TGuog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1FN32dYvuvGjQIT55MGiIxJ5x/QAEOIWgKB7fShQt1A=;
 b=QkXAXzStBO+LJVLETZXJZZBiFaCLXCwC2pydBdjaIJu2/9CUcslBfkcpDanRPsQ6Eii/K+1lE0O/ri3RP7N3ZumqdSSo2rnHe5YtiOnWybl/+4BKHZuyQcMbtiIIqvEfndTwK+HX4e2Xr4A7juyoGXfY3765U8h0tmRiT7bXSP0lI+qo7x04wqS0hmV4yOEsrOpJ+FoySZ5dJjeDuKLvqH7rjCFrFpf1V433i3iuvI4eo2xTVyegvLN5jBD1Y1k+TYr1FgxPwBVXYvFDaLDIC+VfpiWvn7WZYI8GY+UMzH0XkIQzxNhfP5loPJp6+8PfZ/V62luaYoaSnmFh+yvE1Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <96d6a307-14dd-aa0e-4039-d84d67cf7ed6@suse.com>
Date: Tue, 28 Mar 2023 11:16:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 2/7] xen/x86: Replace GPL v2.0 license boilerplate with
 an SPDX tag in *.c
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Julien Grall <jgrall@amazon.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>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20230327184520.81828-1-julien@xen.org>
 <20230327184520.81828-3-julien@xen.org>
 <alpine.DEB.2.22.394.2303271752210.4066@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2303271752210.4066@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0010.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::9) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PAXPR04MB8783:EE_
X-MS-Office365-Filtering-Correlation-Id: 0a1aa99a-aa9a-4ebb-3ef1-08db2f6d1620
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/sKOQ7ggHry+WTWKgPbC8zjyh3gLFt7kUrT8KFKrqX6RiQKYkvgsYRaf+63vxtBKAHSsJq05pq3L0cApj9+wRH2jNoWvgEQSnDF6hCY+8mc1Qx83TUltFtCDB0T9NeBfs7fBacwdSvFhN/zMiEs0bLRQBxSFBnZCJcM2WrDkwBHjkuMjZ82lARxQerVpoP4lfAYMvzWYz7hdBi2qyRj+iz2Ro5lo5Po/lIu5EvfK8asb2uk33VzLe10jw6wDEUlex2VcpM6hfGy1w+kl0X+ECC9PQxHyWqtPDHNivPgecWFMB7tHT+8tCXcAQaOr5Nnxta7toPBhjWi3Nxq4esNAvCHtSLKPbU/Bp2nXjygxjJ7lxCWZZfslmc43b2Y7/a4yObbOTysIIbP71yNqR08d+G2mMQFd952PaQqWp5FKehgt1ourA8eUjQaChlBjbnfb3YiNnNaRurN2wfl2jwvd0phSVNQCo11c1FscBiDmJbMI4ndM5aMoKzihRFqfJok4SGq0BS2QRpANv7uJXnyEqnAgRkqMoPad29J8pPbID6ZyaSsBwLpb2uABk8oovpQnE8zzYniRWd3c1AXcv0n2EanWfZd+EylvUA3oQRJPXuQKP1iS1IMzwI/HtJvmCuZj7cBuqgF67K74451AIIDKClSMEGn7GlNNCHDm2pulBv8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(376002)(346002)(39860400002)(396003)(136003)(451199021)(5660300002)(8936002)(6916009)(66556008)(66476007)(8676002)(66946007)(41300700001)(4326008)(2906002)(36756003)(38100700002)(7416002)(2616005)(83380400001)(6486002)(86362001)(53546011)(31686004)(6506007)(26005)(6512007)(186003)(31696002)(478600001)(316002)(54906003)(2004002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c293eU4vZ2l4RjRuZGtyREhDODE1c1ZYWFVqMndWMDBCM0l2OG40aEpZQWt1?=
 =?utf-8?B?OFlHQVpZMlFRa1hnaGlGV3hZUHE0eXNIT3l1dDI1Z2RHbjNYNFJleHJFaG5O?=
 =?utf-8?B?K1VOaFcxSk1qQ0kyaW1CdGM2L2dMbU4vaGpxeldtS1ZrbURwMXI1TEFjZnNt?=
 =?utf-8?B?YzEyOGxnYTN4TUhTWDdHL2hPR2Q3Zkp0dFBSbENKT3M3WlNMazNFaVBUYWJD?=
 =?utf-8?B?ZXlHbmJTaE5ma1NFcFVFQ1ZJeUZaSGZZbit5SmJicGlUNVBhVHVnOXJ1a1Zs?=
 =?utf-8?B?TDNIeE9nclR0L0dqcUl2dEtMRGZ3R0U5SkMwRU5SMHFuUjB1MkZlSWJmUVhk?=
 =?utf-8?B?bGlqaWZ5Z0JlSXREaUVPKzBiWHVEc0Y3QVdFNEtSbWZ3WVF5a3dWY3o3ZEl4?=
 =?utf-8?B?Lzg4OHkwYjVSSEFQWnJwMnpzeEh6YWZ3amtZSWFDc0tIS1QveWtjakhnS0dx?=
 =?utf-8?B?MG1xb2NkWXlnanZncHJxR01lQ3N4QzYrc01oMmtQZXJHM2lFYjhBRjlaN1hP?=
 =?utf-8?B?VkZGRkk4bUY2QnY2KzBGU0s3ZTJBMk0xYTNFcFdQOTVXQmtxMWkrME5kWUgz?=
 =?utf-8?B?bE0yamxPemgvTlJ1OUk2c1RUK3hCaXRzR1dKS0VhdkcwQjNtcGsxZjVIMENJ?=
 =?utf-8?B?WXc1Rlp2eHdLMStNWkJUQTJOM3JrNWlqTWlnVllWWlpPMG9hRU9VejNHc1Vv?=
 =?utf-8?B?bTJJVDhsNU5HSnZJbGsxMUM5VzJlZitBWWliMmEwVExBYXlRN2FIOFJjYUwv?=
 =?utf-8?B?UjNDS3NmK0dPMDNMTnFRektJREdObVIwa2dQQnEvK21mRGNnVWNpS3pHb1dP?=
 =?utf-8?B?VG1FMk82azIxM0VUQk9JQWNaeDJRK1BZT3VtRmNaYU1kWjI0bkp3WWhPeGFz?=
 =?utf-8?B?MXh3MFU1YlhTZERjUXR1VWsyNWM3ME4ybnZHYXZmL1YwalFYRXI5eGl6My9I?=
 =?utf-8?B?SUNrcFlYYVFhS09VZm51Z3FrTytxRFg4UGMwUEhhZGZpbWFEVnlpenVNUGJv?=
 =?utf-8?B?angvNGhxR0RxOG9NYVYxWXQyK3BmVlBaeG10K0dDamp6ZFkyRDVzazk3aFla?=
 =?utf-8?B?U1hZUEpmOWtnZUlaM1RMTUVsMWdsVWdidkdmWmY3V3RiL0c0aEhhaHRCZW84?=
 =?utf-8?B?U0NHbGVEUFRWOUgrUXY3UDlZNnRpUkxCWEcvZFlPZXVhMU5HT05Mek0rd1Jz?=
 =?utf-8?B?VGVXVVBHZFRJZTkzYmtMa1hRanlRYWp2RHlYN2d5VkVQSDFHZUxoUzBhS3I4?=
 =?utf-8?B?bVBUL0xhT3N0QWRjaENzNG14bi96bDVJMzhMV3o1QUFLbFJKbGhBSDEyMk1F?=
 =?utf-8?B?eGR4ZEZCay9UN2c1QTVvOVIxS05rRVNxZE05UngvdmVaN2owRXJEWTZWbnhD?=
 =?utf-8?B?eU1zYUFmRUYvWWNCWHNxc2pwQUVOTGdoTTFKMDhXcC9WOXkrSE8wczJUU3hM?=
 =?utf-8?B?Z2x0ZlFwa0g1ZkJxY2NqQkxXNmRCUUVlb0VFRWFYUW5RYmM4Um0yVXM0dzRC?=
 =?utf-8?B?OEE3MTNqZkdiNWhZOS9aQ0NIOEZDaDBaVVpJY3FTS1hnbWV4bzM2VzFOblZz?=
 =?utf-8?B?TzZ6MVNwVDQ3L2xCbG1zajY0OEZ3UllOcTRsQzg4emdrQ0RranRjNTg3RUpW?=
 =?utf-8?B?UTI1M2p1VnFGMS9OOWp4RDI4WU1ubDBYeDBuTnBNQVB3Q2Q4OThQaHY5NkFI?=
 =?utf-8?B?QUtmQVJsRGNWb1FHWW4xSXUyd1pzeTJuNmZwc1RqNEM3TnNNUTFiSjNEYTMy?=
 =?utf-8?B?eTJUSWtYK0tGNWhRWmdGaU50ZmpNeVZmalFuMFNodlhWQWpvMVFTV0VEMkdY?=
 =?utf-8?B?Q2toSm5Ha3hDL29UazM5VlhqR05UUm5UVFJrcDFHanhzZWwrUG9EMmI5QVQv?=
 =?utf-8?B?alViYzBQM0dQL0JlaG1WaWdZSjJpaFNGd2RyU09ab0NZVWNqUTIrRmVMdjRU?=
 =?utf-8?B?aUE4Zi9DR2tBM3JIZkIrTEdNZkExMVEvU3BOcm8yT2ZPMHkvS1cyUkQ1MHZL?=
 =?utf-8?B?NVlSd2Q3b2NjYXViTlFkcHlITmN2NS91SjY0OURSOXc3OGE3QzZ4YkRQS01I?=
 =?utf-8?B?Q09zc1lRbGlwK2dVYlVpZ3haRkpubFp4Z2kzdzBGekcwWXdvMjBvTFZvNERJ?=
 =?utf-8?Q?rjEUrrgE6He0UnXR09GUUm2fQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0a1aa99a-aa9a-4ebb-3ef1-08db2f6d1620
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 09:16:17.4248
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0BAY+D2PoR3xxxgzao7xAv+7UBfYmCJe53usfqEDcwpqi7mtxrBHsxwyBRtu+l7QUmP+WkJuejvZOojtSrwCQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8783

On 28.03.2023 02:53, Stefano Stabellini wrote:
> On Mon, 27 Mar 2023, Julien Grall wrote:
>> From: Julien Grall <jgrall@amazon.com>
>>
>> It is easier to understand the license of a file when using SPDX.
>>
>> This is replacing the below pattern with the SPDX tag GPL-2.0-only
>> in xen/arch/x86/*.c:
>>
>>  * This program is free software; you can redistribute it and/or modify it
>>  * under the terms and conditions of the GNU General Public License,
>>  * version 2, as published by the Free Software Foundation.
>>  *
>>  * This program is distributed in the hope it will be useful, but WITHOUT
>>  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>>  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
>>  * more details.
>>  *
>>  * You should have received a copy of the GNU General Public License along with
>>  * this program; If not, see <http://www.gnu.org/licenses/>.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>>
>> ---
>>
>>     Changes in v2:
>>         * Switch to GPL-2.0-only
>>         * Rebase
>>
>> 42sh> cat gpl-2.0.txt
>>  * 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/>.
>> 42sh> find xen/arch/x86/ -name '*.c' -exec replace_license.py gpl-2.0.txt GPL-2.0-only {} \;
> 
> I confirm that the commands above lead to this exact patch. I ran them
> on my system and checked that the resulting changes are the same.
> 
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>

On this basis then also
Acked-by: Jan Beulich <jbeulich@suse.com>
for this and the subsequent patches.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 09:36:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 09:36:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515611.798647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph5kZ-0006gb-DG; Tue, 28 Mar 2023 09:36:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515611.798647; Tue, 28 Mar 2023 09:36: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 1ph5kZ-0006gU-Ac; Tue, 28 Mar 2023 09:36:19 +0000
Received: by outflank-mailman (input) for mailman id 515611;
 Tue, 28 Mar 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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph5kY-0006gM-22
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 09:36:18 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0608.outbound.protection.outlook.com
 [2a01:111:f400:fe02::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fbc0bee2-cd4b-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 11:36:15 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by DUZPR04MB10061.eurprd04.prod.outlook.com (2603:10a6:10:4df::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 09:36:13 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 09: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: fbc0bee2-cd4b-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CqfCpWIAAop3zfWNI6BZjiVLtNYPw+5mMUZraOtUkHxXxQG+esScG3dt99upcOgJlgDkt0Ro/3VYsYwfcqDwV5CQLJTBvXArGYcjKMD2zwt6mV0RHrVMxd8yO/OnD83vNip8c65980LL20De5OxiwFAsApXDw+gucr4LlxcLuv1rG+YX2QmtL660a7KxdTAf/WWUtvx7Awg0JHCstO2pb6g7H7RfwVINeqQHzcwBUUa4wnKm09oh2NLlV0VTQANWTKTJ9U5/7T8tFabGyuZPemCe9ZytAwRwuHJcaLx53YbWSiN0G0JlX6DKeWq8y/Yp4F0ooqZQeFMixHpGrzZFtg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yuXyElF4pj7hsRw9xnoJwDhC/3+/G/RnYOgwBJdu7mo=;
 b=XlIfkICH/RLAJTjerPRuuxT6ONraGmMuD5wZ0wnX+Y+ICFBbw2Ob8pDSVPaL5ay/746rxPDMnSMV5lDmgeAQxd03aHAFBFksg9YUMLbgtVOC453aRsG1/Z0ts6OaS6S1qQyhs14UBkN2gLOfeKovBbXDcBuT3vVYVxNCGlytWQFCN4z488TkS6nZtJ5fW/pmn1lgb6n0qlTm3hdfzieyIC46WdakK4ML86lWgh7kEQEuPINZeu/DAXJjv0Rm8QXyr9kErgGHzQlA3UNgN3CzWNVA8cOYemX8GXMixJyIODqcj+4gc811tbvHjDQnVotjPqkKnsn/Od2tFTHjsWhtdw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yuXyElF4pj7hsRw9xnoJwDhC/3+/G/RnYOgwBJdu7mo=;
 b=nfxI5gIQMnf983ItK+FLqJR/9cDLAHKNNdqGTpiKnqhHYNd7Df+nmJ17CBKJ4bBeR5jmY6mngqB/hXw66EpzP9ih3wVoe4lSY0Zl6Dn73xIs8Y9pngBtMyRyH9uefdmlu9NQiztfP3FmVsB2L6qicXSi+ZY4QTagJNkySQD47NQqw0gnktej/OAixbe6ht4LjKXHAAyFl94vtTkZNPR6bFu3MzWRyvksf3arQ4+jLWXT2LY4THk37HHwqRT1kCEgvMn2evFjd/dScziJTxTREa4jItVtoVj7xOqLMuPnZ6yhZtOxbpoi2VLBANztqY8I/v3xNW/dpuWeIzCgEhV34w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <71f3e78a-aa70-a12f-8380-ab8806cefd39@suse.com>
Date: Tue, 28 Mar 2023 11:36:11 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v4 02/12] xen/arm: add SVE vector length field to the
 domain
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-3-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230327105944.1360856-3-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0136.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::9) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|DUZPR04MB10061:EE_
X-MS-Office365-Filtering-Correlation-Id: ee5c534c-2eba-4c73-8a0e-08db2f6fdf31
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ydd7dalE5PfChT6xATElp2dyxx8ZeKZHGx3tBmu/tBslUqt17rzCun7L2k2ATrUHZ9+VFsjhvzAhl4VCTN3CVE7vvW2QULGlnfWe4A5QfAmmOoywEkUdYR+CKC3AU3xlkYrhTQMRhs4Fw1VXUUk2Vnofe217orlKUf3YvmAF0oJ90RjQKJjONV8Dt+Ik65o+Li4sX2ysx4UpdN7GwR5h8yIJGy9udXfKvzhaAUR4co8UCDcVKfe1uxDd4QsszoK99oEl/xQHUxJttJp9p/ohDlQLVv86zvniw479ur1I8gJfa7fiYDeF2OlE1Jb5SFd9/ep8JtjauY9sfR9cm3arMgtirkmk09srjGJZl/nk6TUdr+HLCpn4v62yuRiZw2G2fBeCxv5TT+l6gQHO6F4EqPHq7qCyvo2mjCZyPZ3ea2m0ZbExdbFYCddbgqkm39lj5C0k/FEVAULm3yhjJiFlndLcLZvzsDWN1YlnkclQ7RjF1irEVnZoNbuUW3qibUeQ8+tkqHeSeXl3xy658h16x1dgJY2iDG8OuNRx7zsL2uksGB4QY7SmUMD2LT+Mk0hV+a/n8O2nnRncUylY79jmKGr3OTRF9/VqLmhdBfcPYD5eNlnz6p8Ic3RauWbfw1ZUCr7ZRVVVucACnDjqM1nXpg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(346002)(376002)(396003)(136003)(451199021)(2616005)(6486002)(53546011)(36756003)(6506007)(26005)(186003)(6512007)(31696002)(86362001)(41300700001)(66946007)(8676002)(66556008)(66476007)(6916009)(4326008)(8936002)(38100700002)(7416002)(5660300002)(316002)(54906003)(478600001)(31686004)(83380400001)(2906002)(66899021)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TlRzeDQrYjJ2Yk5BcFRqYkJOSVM1RnFaTVliYnhsbUFhT2dRWDU5NnhJVDVo?=
 =?utf-8?B?M1UwdXlnL0Y2NnREVmV0U0JKT041RVZ4dEhUVVdHU3BCUUZEYlJLS1JsNFZq?=
 =?utf-8?B?UG9yRkhrVDJJMDhhdXQ4aDJ6YlI0WlN2Z281NWZIV212SDczS3B4M05ycUhx?=
 =?utf-8?B?NklmY2Ercy93ZmZDTkh4TjNVa0lycDRVcTJJcytUbkhQUkUzMDJheFRkVWlG?=
 =?utf-8?B?T2ZtM2tNVmhuWG1QWCtxV1VqQ2c5QkY2aFhndTZud1RKUFJXU3ZFWVJjRGUy?=
 =?utf-8?B?SW1IaUYvY2dpSExTSFJQNHNzV3hacGpzOW5SV3NuQk5sRzZJYUM0bXFFWlc1?=
 =?utf-8?B?T2pxcHVQK2pEaTNkYll5SzJHaGI3V0M2cU9rb3RreDA0MnBxZGVPS0k4aDU1?=
 =?utf-8?B?elY2V0pGQU1mTjBOdUZ6QmpkT2E2TCswS0hDZnFyRFBJcWpmZVh0ZzRObjNN?=
 =?utf-8?B?SFRpODk5blh1QXh4b2NrMGJzeE9QRWxtMkkxUFNwZFU0KzhoQ3N4eDlSNHNP?=
 =?utf-8?B?bnBBaW05Q0JvS2pnTy9HbVprYzllUFdRYnJRbWJKQlNMOU5ZdzNHdGRrckNv?=
 =?utf-8?B?U2J2dzRQWjlsZEppM21GQmdvZXBBRVJONFpzMUhib2dnUnpBMks3MUNuVVFT?=
 =?utf-8?B?T0V3VkdmNGVacWlQaWFMeG12WnMrRDRhbGwxb05qMlJWQzlJU0lMQ0N6MVlv?=
 =?utf-8?B?ajNOYUdmS1F1VWUvbXRaV21xalpCbmpFNEFCeUNPdTE0RDRrQm15eXU5cXQ3?=
 =?utf-8?B?VWppZldmVDlsOXZXc3VhSGwxOXlKRmlGYW1KWlFPVzBTY3B1Y3BzN2hiZkha?=
 =?utf-8?B?OG1kM0xEb3lvUWFkN0xtbTAyK3ZKUkpoMXRqcUMrNzdYdnNBSmh6Z01VaTBS?=
 =?utf-8?B?U0xwT0FyVWtBOGZtRE5QNU8wWFc4RDJjYlkycmtOK2VUVE4rM29vclJXTnNy?=
 =?utf-8?B?cS8ydTZiRWtndU8reDlaSWo3MGFpQ3JnZzRmcUQzM004Y0paTW1jbG9lZXg1?=
 =?utf-8?B?RlRGN1JJc21xSlo0cE44N3g0UHhzR1hEYm5EZFcvcURBb21uWXVGZmFHYko4?=
 =?utf-8?B?ZUNzSDNRek9XZ2xxbUd6UlpsbVA1aTVlQWxHRDB2WWFrQWxOSTNHdkIreXNN?=
 =?utf-8?B?V2lsYThna0NSRHNHc0o5ODJieitZeW4xbXBJL1hJd0xUdVhtc0lGM25lOUM2?=
 =?utf-8?B?NnJsbE84cUNjcWlsTjJVdEV0TnAzN2lMQkZBZHZiY21vWkkyTnh3QlJaaThB?=
 =?utf-8?B?VWFKNHgvM1ZOU1pBNjErNUJGQ3UybSs5Tk5EKzdMazFMeUtVUDUwRktWRFJt?=
 =?utf-8?B?Z2FvdUdkQkJ5UUFWbUNaejk1WnB2NXcrUXVtS3VxOXFKcGs1ZHdkY01SOXpQ?=
 =?utf-8?B?ZFBkL25lUmd4VzFhcG1ZS0FHbERNY05DRGJWZmYwUmVrYmFPSEoxckVzemJY?=
 =?utf-8?B?Vm90YkZwOVMwbklrVkxvRUJ1cWhzdmh1R08vWFFISmR6eWoxRUk3K3IzYktN?=
 =?utf-8?B?aTBYUWIvaWhDcENWSkRFeW1wY0EvY0ZSTmJiWFV2TEo3dGxCNDRMcHZjeHlj?=
 =?utf-8?B?dStVMEVnNEk3cWw4MXloVFBOdFBwSU53eXBXS0R1Q1lRTlAwdjFXMUh2RUxS?=
 =?utf-8?B?RlZSRmNoYWhFRXlPMEZ0TUZVejdHZ0tKOHZPdFVDaW9SU3NRaHFHaVJKcXBM?=
 =?utf-8?B?b0doMjBRR2FSMlMrSldGbjMwc2RoU1gwZ2ZxZi9IVGswY2drZEd0dEZWVm5T?=
 =?utf-8?B?SlBnaGk2aFoyZlVBWWJJYmJueExteW9CTTlRdHpPMUxzclJUNGMwUnR5SHR4?=
 =?utf-8?B?cFlveUI4bm4xb2E5QW9VbmluWG5DaS9WbjdseHR6d1BDK2IzazYxRkZEU2ls?=
 =?utf-8?B?L2p1bHR3cHhybUozT2hHc2JwaGhUalo5TlI5NXZ4Q1NDQm9MZlN4TzdFY28w?=
 =?utf-8?B?YVVvejJuMk43bVZnalQrMmdoUmY4ZnBWMzFKRWtmS3I3ZGVqZnlXd3p2cE9O?=
 =?utf-8?B?UERPcWxBdi9ocm8rSW54WFFwNW9TbVdCa0RwOGZEYXFScDV4d3dJRmlkRmpQ?=
 =?utf-8?B?UUdUekxVdFZHMlJ5eStzaHJldzduYzlyY0x0Z0had0ovYjk2U0JzQzlQbVEz?=
 =?utf-8?Q?Ob0k5z4lQTrVd4h0iewJj1EBR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ee5c534c-2eba-4c73-8a0e-08db2f6fdf31
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 09:36:13.6615
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Uh8WgwPhcmYigC7O2HmRjPCPWVs/9YsmxmYV8WkztlJroNgAWmGws/P2IkRMk4AgTLAoX3aEmVzPcQeNYuUkog==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB10061

On 27.03.2023 12:59, Luca Fancellu wrote:
> @@ -43,8 +44,16 @@ register_t compute_max_zcr(void)
>  }
>  
>  /* Takes a vector length in bits and returns the ZCR_ELx encoding */
> -register_t vl_to_zcr(uint16_t vl)
> +register_t vl_to_zcr(unsigned int vl)
>  {
>      ASSERT(vl > 0);
>      return ((vl / SVE_VL_MULTIPLE_VAL) - 1U) & ZCR_ELx_LEN_MASK;
>  }
> +
> +/* Get the system sanitized value for VL in bits */
> +unsigned int get_sys_vl_len(void)
> +{
> +    /* ZCR_ELx len field is ((len+1) * 128) = vector bits length */
> +    return ((system_cpuinfo.zcr64.bits[0] & ZCR_ELx_LEN_MASK) + 1U) *
> +            SVE_VL_MULTIPLE_VAL;
> +}

Wouldn't this function better return 0 when !cpu_has_sve?

> @@ -602,6 +606,31 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
>          return -EINVAL;
>      }
>  
> +    /* Check feature flags */
> +    if ( sve_vl_bits > 0 ) {

Nit: Style (brace placement).

> +        unsigned int zcr_max_bits = get_sys_vl_len();
> +
> +        if ( !cpu_has_sve )
> +        {
> +            dprintk(XENLOG_INFO, "SVE is unsupported on this machine.\n");
> +            return -EINVAL;
> +        }
> +        else if ( !is_vl_valid(sve_vl_bits) )

If this was code I'm the maintainer for, I'd ask for the "else" to be
dropped. Please consider doing so, as it makes more visible that the
earlier if() cannot "fall through". (This could then be further
supported by inserting blank lines, here and again right below.)

As to the check - this being the only user of is_vl_valid() (at this
point) I'd like to mention that half of what that function checks is
now pointless, as we're dealing with a decoded value. Future further
users may need the full value checked, but given that all interfaces
are now using encoded values this doesn't seem very likely. Hence the
respective part of the condition there may want to become an
assertion instead (or be dropped).

Yet another question is whether both range checks (against
SVE_VL_MAX_BITS and zcr_max_bits) are actually necessary / useful.
Iirc 2048 is a hard upper bound, so zcr_max_bits being higher than
that value should likely lead to not using SVE at all (if it doesn't
already; didn't check).

> +        {
> +            dprintk(XENLOG_INFO, "Unsupported SVE vector length (%u)\n",
> +                    sve_vl_bits);
> +            return -EINVAL;
> +        }
> +        else if ( sve_vl_bits > zcr_max_bits )
> +        {
> +            dprintk(XENLOG_INFO,
> +                    "The requested SVE vector length (%u) must be lower or \n"
> +                    "equal to the platform supported vector length (%u)\n",
> +                    sve_vl_bits, zcr_max_bits);

Again, if I was the maintainer of this code, I'd ask for the message
to be shortened, such that it easily fits on one line. E.g.
"requested SVE vector length (%u) > supported length (%u)\n". This
would then also avoid the apparent grammar issue of "lower" not fitting
with "to" (i.e. a "than" needing inserting, or "below" being used
instead).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 09:39:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 09:39:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515614.798658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph5nf-0007Gj-Tn; Tue, 28 Mar 2023 09:39:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515614.798658; Tue, 28 Mar 2023 09: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 1ph5nf-0007Gc-Qu; Tue, 28 Mar 2023 09:39:31 +0000
Received: by outflank-mailman (input) for mailman id 515614;
 Tue, 28 Mar 2023 09:39: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=WLKu=7U=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ph5ne-0007GW-Ms
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 09:39: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 6f91195a-cd4c-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 11:39:29 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E8C561F8BA;
 Tue, 28 Mar 2023 09:39: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 B4D771390B;
 Tue, 28 Mar 2023 09:39:28 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 7X7MKtC1ImS8TgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 28 Mar 2023 09:39: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: 6f91195a-cd4c-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1679996368; 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=UgfE83B87JnzYkBplYgpUKueaTqClGbainLz0Z27234=;
	b=gfW4yDUUcpChSDwKbNwRwXDijsOrfTAYRLllKADw1zl14hMfdZIMuXN3TbT4u6uaSFrDqT
	Q2vFJQRYFbG8AjjFNyNEcn651PsaOqFI97MLfmMww8FlBy070mZdJ/W+m/I5+RASiIcqQa
	vOUS4k4u/p/h3gEUPsirmtaOOyp2Jec=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org,
	Dan Carpenter <error27@gmail.com>
Subject: [PATCH] xen/pvcalls: don't call bind_evtchn_to_irqhandler() under lock
Date: Tue, 28 Mar 2023 11:39:24 +0200
Message-Id: <20230328093924.12260-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

bind_evtchn_to_irqhandler() shouldn't be called under spinlock, as it
can sleep.

This requires to move the calls of create_active() out of the locked
regions. This is no problem, as the worst which could happen would be
a spurious call of the interrupt handler, causing a spurious wake_up().

Reported-by: Dan Carpenter <error27@gmail.com>
Link: https://lore.kernel.org/lkml/Y+JUIl64UDmdkboh@kadam/
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 drivers/xen/pvcalls-front.c | 46 ++++++++++++++++++++++---------------
 1 file changed, 27 insertions(+), 19 deletions(-)

diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c
index d5d589bda243..6e5d712e3115 100644
--- a/drivers/xen/pvcalls-front.c
+++ b/drivers/xen/pvcalls-front.c
@@ -227,22 +227,31 @@ static irqreturn_t pvcalls_front_event_handler(int irq, void *dev_id)
 
 static void free_active_ring(struct sock_mapping *map);
 
-static void pvcalls_front_free_map(struct pvcalls_bedata *bedata,
-				   struct sock_mapping *map)
+static void pvcalls_front_destroy_active(struct pvcalls_bedata *bedata,
+					 struct sock_mapping *map)
 {
 	int i;
 
 	unbind_from_irqhandler(map->active.irq, map);
 
-	spin_lock(&bedata->socket_lock);
-	if (!list_empty(&map->list))
-		list_del_init(&map->list);
-	spin_unlock(&bedata->socket_lock);
+	if (bedata) {
+		spin_lock(&bedata->socket_lock);
+		if (!list_empty(&map->list))
+			list_del_init(&map->list);
+		spin_unlock(&bedata->socket_lock);
+	}
 
 	for (i = 0; i < (1 << PVCALLS_RING_ORDER); i++)
 		gnttab_end_foreign_access(map->active.ring->ref[i], NULL);
 	gnttab_end_foreign_access(map->active.ref, NULL);
+
 	free_active_ring(map);
+}
+
+static void pvcalls_front_free_map(struct pvcalls_bedata *bedata,
+				   struct sock_mapping *map)
+{
+	pvcalls_front_destroy_active(bedata, map);
 
 	kfree(map);
 }
@@ -433,19 +442,18 @@ int pvcalls_front_connect(struct socket *sock, struct sockaddr *addr,
 		pvcalls_exit_sock(sock);
 		return ret;
 	}
-
-	spin_lock(&bedata->socket_lock);
-	ret = get_request(bedata, &req_id);
+	ret = create_active(map, &evtchn);
 	if (ret < 0) {
-		spin_unlock(&bedata->socket_lock);
 		free_active_ring(map);
 		pvcalls_exit_sock(sock);
 		return ret;
 	}
-	ret = create_active(map, &evtchn);
+
+	spin_lock(&bedata->socket_lock);
+	ret = get_request(bedata, &req_id);
 	if (ret < 0) {
 		spin_unlock(&bedata->socket_lock);
-		free_active_ring(map);
+		pvcalls_front_destroy_active(NULL, map);
 		pvcalls_exit_sock(sock);
 		return ret;
 	}
@@ -821,28 +829,28 @@ int pvcalls_front_accept(struct socket *sock, struct socket *newsock, int flags)
 		pvcalls_exit_sock(sock);
 		return ret;
 	}
-	spin_lock(&bedata->socket_lock);
-	ret = get_request(bedata, &req_id);
+	ret = create_active(map2, &evtchn);
 	if (ret < 0) {
+		free_active_ring(map2);
+		kfree(map2);
 		clear_bit(PVCALLS_FLAG_ACCEPT_INFLIGHT,
 			  (void *)&map->passive.flags);
 		spin_unlock(&bedata->socket_lock);
-		free_active_ring(map2);
-		kfree(map2);
 		pvcalls_exit_sock(sock);
 		return ret;
 	}
 
-	ret = create_active(map2, &evtchn);
+	spin_lock(&bedata->socket_lock);
+	ret = get_request(bedata, &req_id);
 	if (ret < 0) {
-		free_active_ring(map2);
-		kfree(map2);
 		clear_bit(PVCALLS_FLAG_ACCEPT_INFLIGHT,
 			  (void *)&map->passive.flags);
 		spin_unlock(&bedata->socket_lock);
+		pvcalls_front_free_map(bedata, map2);
 		pvcalls_exit_sock(sock);
 		return ret;
 	}
+
 	list_add_tail(&map2->list, &bedata->socket_mappings);
 
 	req = RING_GET_REQUEST(&bedata->ring, req_id);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 09:44:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 09:44:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515619.798668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph5sf-0000LZ-IG; Tue, 28 Mar 2023 09:44:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515619.798668; Tue, 28 Mar 2023 09:44:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph5sf-0000LS-E4; Tue, 28 Mar 2023 09:44:41 +0000
Received: by outflank-mailman (input) for mailman id 515619;
 Tue, 28 Mar 2023 09:44: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph5sd-0000LL-Ta
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 09:44:39 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0629.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 276821c0-cd4d-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 11:44:37 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS8PR04MB8248.eurprd04.prod.outlook.com (2603:10a6:20b:3fd::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 09:44:36 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 09:44: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: 276821c0-cd4d-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AODR45f020lKj6zsFqIssa3mNYzeVcYuwYbJrfLp/Pi+FW6hXTVfaw4dMBVnFW0fgOM5tGF+k8XdehLwKM42BcY27I0aMZlK+IVSeqxvJDT872lU/45okQdGpemzK5JgfUq/SMpepjgyLngILi+gDLYbipS5bSmyhtL3O0XxQz9E0U/rRNJG8EZMSwI9LGTXApCaFyJ9ykdFlfu8TiANe+YMTdkaTBuVFHQWftRcoJaEgYYPMNjjEVswllt6dgIZI5HbaaaKda7CwThqvdFdUgGPEba3qjLejZNCSxY1JY/BJ0zy7z9ryUjD4P4ar9ec2vo4alcg2ssWB2VnewUPXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FS9VaI5T1Rqb9dw/YiPr/o6Wyx+B/vw5OBGvrEVxztM=;
 b=XKXwwRrSGENJoaKTyho6LKQOQH6+HxGUloQm/k9asKNBAO9ykQcrt8surOBbfLuYoSj9bdFAKMRhwmvHpPgWKSDiOPLBUN4IIKpn+WN0JJLU57IoC9DiQ32sSmXTx52ZB7PxTtk6hKDtI+hvOosUA/vSYZ5jm/VM+45DpoascXPTPapMudKMMUyWkJA1K7OeNhTU2w2BPS8axTyuNa6w8Pf7VxVzF7CC4sjut4E483w2GC9CujJdTwiNueyWogTfaHJ3+msGLjYerEQMPS/IjDRP4fz8XUjmrnZ6f6u+o9OEwP0swpUFeWHqjR1SGbwgQwgD7HnvIkCRetULde8kIQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FS9VaI5T1Rqb9dw/YiPr/o6Wyx+B/vw5OBGvrEVxztM=;
 b=v09zg7/dVMawdctwNOzAihbv2vp5Jpkr/fWsEP/uOSbges8VTpfn7d/n+7GpNcs7VB8GnqJ5seInhmAbkUnGYUspQ7Ryas72jCoIubBk02fAQjPdlychGkn9R3MvDmQwmF2/EUo1W6pBzEkhlk+GVDQdbGy6e9LNJ7rzDRjqSUNdOszRZiIxRY4XuUG9/QsE/IKVf9Lty+8krGTa/+SaN7UqkX/TFCJhck8WOckWgovSovlroNwG0SngIU0v4Nhs851HyakeGnWEARF0b7NtbBl05JNfdOZqa24jVNxsclF4YV+QLPNkNm2JSH00dL45umdBaz6yt8HTrl5auVF7Gw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <56aede95-9e08-ede7-c0fb-51e7f4b99d6e@suse.com>
Date: Tue, 28 Mar 2023 11:44:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v4 06/12] xen/common: add dom0 xen command line argument
 for Arm
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 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: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-7-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230327105944.1360856-7-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0035.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::8) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AS8PR04MB8248:EE_
X-MS-Office365-Filtering-Correlation-Id: d8b391ca-2269-472e-b7a5-08db2f710ac0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GmfoC5TF3IVThsoV01rJ/9iPObIdFishZFWGdBhCmzmZ7M3tcw8AJ5jDWD9NDxazzfASY/+eOc1F9E6Fwo5qy7VpTbhQcXoNQSORWOZtFbqsxYHVATz/noi3o8GAC35snwQuUSkpl1W3NCAvLDO3HxRMMfrHHOCCLPwRZKwr9oTBlqz+0NcG9HC1DHT7uv6O94q470DRoUVdm7F1/V72nWv8VK3h21tVtK78gEuV8ThEOeAmBbVCvXRFcBaVJN7Bmb/DZ2he6LHOkhVe7V6qQVEwlnW+duFdHPcH+uRkWMoZeDTQVp5h36llPh4+MLYajN8H4b83KQs0S2sMP41886yzTG3Rs7+m115krifsYBdvB37zM8Z6DrodRB2pEpBE4j1YoSJM5sWeBw7wxyggcdW4dAo/YXasBgJgXF7Ivabv73sg5jX1AdKSvcA/e5Gz/L6hPdn4k38YbLa+z5SUO9dHNNHZoLmoaco/iQP0stRYuQ5o/6esklXi/M6iAC8jk8M8FqtA0qr1+TqSHXoPA+z2oydyvbirNrHlRDf6NmdnXnRhFmiiWL/HAeAgoEHE8VjjBgL1niqA1YKM5duZD0Zvgd7NfYG/LPFzaV+pSpsAu0RcS5u7uLeelouVDwLYJtcsoPJkAUuNEZyViEOW6w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(39860400002)(346002)(136003)(376002)(396003)(451199021)(2906002)(6512007)(6506007)(53546011)(186003)(26005)(2616005)(83380400001)(66946007)(66476007)(4326008)(66556008)(54906003)(8676002)(316002)(478600001)(6916009)(8936002)(7416002)(6486002)(5660300002)(41300700001)(38100700002)(86362001)(36756003)(31696002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dzBWbmQrZEQ1Qmx4Rk50UWszckk1VkYrdWlTSHB2UER2UmdMb081bVJGclpK?=
 =?utf-8?B?RnhUMDVaQzFDdTFkWTNsSWZSbStHZllTbXZHL3d2Znh5dTg5ZFhNS2RQYUJX?=
 =?utf-8?B?MDd3cURNYjZYcHFNVlBXME1jUDFKdm03NTlFZmlJTkNwTVNFcDBSblVDQUhw?=
 =?utf-8?B?Rk9BQ1hNREdTc2xWUDdCTkozcklNWWsvMUNSZlU3ODRqcGcyN1cvak9uMWJG?=
 =?utf-8?B?T1dzcVgvSXhJTkozMGJxWUZxNWRrY0NxNjNpT1dHS1FkVGFoVy9XTGpOUUhP?=
 =?utf-8?B?RTZoUkJ3Wll5RmN3VGRZWE1aVEpUY3lqbzZXZFdXZUNETHYwYmJ4c0JwTzF4?=
 =?utf-8?B?TnZQbXpzb3lkaG5YZmtNYmNpVU1BcU5VTmRWeGx4eU52d0JGeHN0eS94Vnd1?=
 =?utf-8?B?bGlubEZ6S1NiWHNMWitTK3dMZVcxd0llbHRuaEFOTkRWOXBxMG5qcFV1Q1BU?=
 =?utf-8?B?YXg2eUVocGRpNm1CQkU2WityMnZkUzVlbDV5VzRneXlmTC8rS1ZqcTFTaXli?=
 =?utf-8?B?QmwybkhxUVVmRHZwazREbXFrdXRLcnhrMUYyMmJGQ0dVa0FGSmpINzJ3MG5r?=
 =?utf-8?B?aE95Q1VoVEkyZnN1b0JGb2R4RTFXTUQ2RGVPbUlOT0pmUHFhZGZ6Qm5uVnhu?=
 =?utf-8?B?ZWRSc0pwODZFVzJncldhc2RKaHhuYWNnUEg4VXQ5SU1nZHNmZXcrY3pOWnk1?=
 =?utf-8?B?S2psYnpMOXQyU21RMzQrMzZjOFlXNHA5azBaWjVnT0F6cTREbE5NbDVvTXYv?=
 =?utf-8?B?dDBzVmpZb0ttdDVyYmd4cUJTNXdSd2tYcWc5NjJpN3UrbHdEZ3F1MFpValln?=
 =?utf-8?B?Vnl4NkJJREI5M1ZzdkUvVS9oSngxWHVtMDY5T0RoaHBJdHhHQVZBT3BqNWRr?=
 =?utf-8?B?ZHZXdWh1Y0U1dDJ5aHU3RGJabG90NzJIWDFGZmdoV28rQ1NLMTU4aGxNNTRJ?=
 =?utf-8?B?SGxyVVBISE1LOVpvOEZ4Mld6Y0kvaG9lc0lWNGNBYjVRRHhVSFN6T0FXV0lC?=
 =?utf-8?B?WnlUWjl5eU1hUnliS0h6ZVRrSHl1WnlZQ3d3ZkRXeEwxUk9pZFZMYTdFZUhO?=
 =?utf-8?B?aDU0UENzdzVFNDVNQ0p1YnZYUUlMb0pyZ3RBcFJvajRPUHBrWUpaQVFrdGFY?=
 =?utf-8?B?by9lcEpuY1FhREI2bXhnN21wOW5YWDBhWnVsUWxLdjRZS1NBcCtxejZsNGdM?=
 =?utf-8?B?UzMzdkZvYTVULzhweDhGLzlMemFuNFA3QkI0dmU2SVhRZ09xSGowL2gyU2ox?=
 =?utf-8?B?NkYvcjcwcU5RRUxCNmMvK3BtVXdCQjdmb2k4YXNzSmtNUHo5MFdwdS9sdUZD?=
 =?utf-8?B?V3ZoYVZQUllwUW5lS0ZNRHN3bUdVT2V3ZkxuOXl6ZDFvd21WbENnVTB3WTZw?=
 =?utf-8?B?dmtTUm8zbjY1UmZHRUpmdlhTRzJxSXBiZ1VXQTVoVnZDZ1RISldHcnowR2lB?=
 =?utf-8?B?YURPSkQ1TEJqbUVRQTBmNHVLR1MvOFNSNUFDT3F2WCtKL2JMUytYdGIvaEpX?=
 =?utf-8?B?b2VCODFKUTdVZHp0RnF2UVpzcUkzYnRKS01yUit4bGxSZlpqbENyWVFBbmxj?=
 =?utf-8?B?TlVEQ295dTRUM0tlSlBLbEtRTXNCcVNFWmJON3RoRWdEam5iWTlJTXZ6YkFQ?=
 =?utf-8?B?Y1Nkbys0NnFrTXh1T0pmb2FubXhUVmlMNis3eCtEaUdKa3U4VE0zT2t3SW14?=
 =?utf-8?B?YUZKTlJuZGRybkNHRlBGcHliTnlsSEJwYmc5QXh0RXFPOFRMRk14QjJWQnRY?=
 =?utf-8?B?Ym1GOUxKbi9yRzNuM05wdStyYWtiam5hZ0luZFdtWjhFKytiK1g4WUUwaWxJ?=
 =?utf-8?B?NTF1TWdhbVpGUXpmbjFQUE1vMyt6ZzdHM2xTUEdMYVQ0QmZYeWlwSWVyM3hO?=
 =?utf-8?B?WkZhZjFwSEJteDNqSUZnc1Y4WDI4bFQzenpITlFyZ3A4Y3o1RDlTSnR1Nldx?=
 =?utf-8?B?UmY4OVlNQnhUS2VVOXVqWjlaSEpvZ1JPaHlYSDAvWW5TNHNBbEQvZkdXU0Nt?=
 =?utf-8?B?bHQ0b09DdC9MSkUydkFLT0Y4WUVSL09CTFliWWZsS1Y1dzJpQUJxeWc0YUYw?=
 =?utf-8?B?NXptYVdFM05oVDl4eWpReUxvMkx0d0EzN2lzd3BnR2VqMWxQTS9Xc1VOaVRX?=
 =?utf-8?Q?URLAQb1h8QmmFJLC4dNaRLkjR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d8b391ca-2269-472e-b7a5-08db2f710ac0
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 09:44:36.2942
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pnI2PcQTe61yNhlR/imYXioeWYW23E+h4NKs77zA2kipeuoNKneveD1JFiQdKBQssnbJhVzaQ0GKran3roZYjw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8248

On 27.03.2023 12:59, Luca Fancellu wrote:
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -59,6 +59,11 @@ static int __init parse_dom0_mem(const char *s)
>  }
>  custom_param("dom0_mem", parse_dom0_mem);
>  
> +int __init parse_arch_dom0_param(const char *str_begin, const char *str_end)
> +{
> +    return -1;
> +}

Please also use -E... here, like x86 does.

> --- a/xen/arch/x86/dom0_build.c
> +++ b/xen/arch/x86/dom0_build.c
> @@ -266,42 +266,30 @@ bool __initdata opt_dom0_pvh = !IS_ENABLED(CONFIG_PV);
>  bool __initdata opt_dom0_verbose = IS_ENABLED(CONFIG_VERBOSE_DEBUG);
>  bool __initdata opt_dom0_msr_relaxed;
>  
> -static int __init cf_check parse_dom0_param(const char *s)
> +int __init parse_arch_dom0_param(const char *str_begin, const char *str_end)

Is there any reason you couldn't stick to the original variable names (s
and ss) or use other meaningful by shorter names like s and e or str and
end (my personal preference among the three in the order given)? That'll
help with line length and hence readability.

>  {
> -    const char *ss;
> -    int rc = 0;
> -
> -    do {
> -        int val;
> -
> -        ss = strchr(s, ',');
> -        if ( !ss )
> -            ss = strchr(s, '\0');
> +    int val, rc = 0;
>  
> -        if ( IS_ENABLED(CONFIG_PV) && !cmdline_strcmp(s, "pv") )
> -            opt_dom0_pvh = false;
> -        else if ( IS_ENABLED(CONFIG_HVM) && !cmdline_strcmp(s, "pvh") )
> -            opt_dom0_pvh = true;
> +    if ( IS_ENABLED(CONFIG_PV) && !cmdline_strcmp(str_begin, "pv") )
> +        opt_dom0_pvh = false;
> +    else if ( IS_ENABLED(CONFIG_HVM) && !cmdline_strcmp(str_begin, "pvh") )
> +        opt_dom0_pvh = true;
>  #ifdef CONFIG_SHADOW_PAGING
> -        else if ( (val = parse_boolean("shadow", s, ss)) >= 0 )
> -            opt_dom0_shadow = val;
> +    else if ( (val = parse_boolean("shadow", str_begin, str_end)) >= 0 )
> +        opt_dom0_shadow = val;
>  #endif
> -        else if ( (val = parse_boolean("verbose", s, ss)) >= 0 )
> -            opt_dom0_verbose = val;
> -        else if ( IS_ENABLED(CONFIG_PV) &&
> -                  (val = parse_boolean("cpuid-faulting", s, ss)) >= 0 )
> -            opt_dom0_cpuid_faulting = val;
> -        else if ( (val = parse_boolean("msr-relaxed", s, ss)) >= 0 )
> -            opt_dom0_msr_relaxed = val;
> -        else
> -            rc = -EINVAL;
> -
> -        s = ss + 1;
> -    } while ( *ss );
> +    else if ( (val = parse_boolean("verbose", str_begin, str_end)) >= 0 )
> +        opt_dom0_verbose = val;
> +    else if ( IS_ENABLED(CONFIG_PV) &&
> +              (val = parse_boolean("cpuid-faulting", str_begin, str_end)) >= 0 )
> +        opt_dom0_cpuid_faulting = val;
> +    else if ( (val = parse_boolean("msr-relaxed", str_begin, str_end)) >= 0 )
> +        opt_dom0_msr_relaxed = val;
> +    else
> +        rc = -EINVAL;
>  
>      return rc;
>  }

While largely a style aspect (and hence I'm not going to insist), I don't
see the value of the "rc" local variable with the changed logic. With at
least the other aspects addressed
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 10:09:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 10:09:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515624.798678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph6G2-00037z-Ji; Tue, 28 Mar 2023 10:08:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515624.798678; Tue, 28 Mar 2023 10: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 1ph6G2-00037s-Gw; Tue, 28 Mar 2023 10:08:50 +0000
Received: by outflank-mailman (input) for mailman id 515624;
 Tue, 28 Mar 2023 10: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph6G0-00037m-MN
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 10:08:49 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0623.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 86fdd308-cd50-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 12:08:46 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PAXPR04MB8911.eurprd04.prod.outlook.com (2603:10a6:102:20e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 10:08:44 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 10:08: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: 86fdd308-cd50-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mlZiggdq47b3MIBhb39p0MNpOjiv7b1wi3a/QcVh7j/TmRdrydm/HJGAX0XgdPY9PTKSLvwa+DIzIZmofjkwDR2Ejaac2iXUzBYstg1mThcTJgE7+2Wk52anZwAxVUnkya5HhRz3teGw2b8yzmuQTquPrsSXEQji+pkf42ruMuKGmc1OiVLt+0KkaEiuBcE1h2/Tp5bCA6wmngezHQTadkeyM93WOEdoVNMu6P0CqBNaRgossXBS5vxJuuYPdoDs7ZKWiREXz81kMIxs9XP7bNyIShPaOCZaD1nHMp9fX89iI+5VFNcn9/rAKbTvpeUyT6jUrjxvIxHpXrFimdQXiw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m6zFHA3w8KKR0hHfVv+GK0s4e+pE9WXzqKnnVmruR0U=;
 b=LysIyBfLhKmKIGTnnDcx2uVOZR4SHgi1OwQLZZSK/J51UDopByyJ2FUjnL7PM76IBm7r2hNCLtlvhG19ZqOTfGt+EXWEBHS6BL4tn/yQhiN99ZQA/6ibGlQ4kjxrSArntSLoFVD+TK/lDQPF/q2PO9kkxjWVcyEKSDKR5AsA+F2osqW2//uILVPBsjbaoI9A7rRo4mVOQQBaoKREuRufofdxUMDmFpVh/1tvMjnT/Lw0IDSHFL9YpEe7CYm+kTpdfSb+pKp7fPPr4HzWLwCY0OzqhsmIMJ4/uP6WveQ/fed+NMOpxJm76usc5sohMEjGqPbp2NlCUw0b8Hx6xmrmig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m6zFHA3w8KKR0hHfVv+GK0s4e+pE9WXzqKnnVmruR0U=;
 b=2QFmUXXLufRSSzqO2BFgo5dmYEwFdx6NcNz98X4FaiRS0w/fHBTae6cyRkKGx21JUtqlyOj6S6w3+FiYdB5fwo1Elly8Pzp2DxHvDllVzz4fEXM70FCScK8Y1cnG5b1InF87r15TbZHCDXfUea0oIVAajs7Bi78SOXk/9fdbAeZQ0JH8VofznSVwJRmdcNoLTfrvIphSCHcwH40tlQPGJpDsdJ6AAOReTCH9/x8k4q4imaXyfbK1BS3PvcIoqX7H5Twnk38+O87f+IPkvi5KK/+1nJ6jcgjhaIhsPF4hEmCQQDveK9FPN7p7ct9ILQpJHxP1m8NkEY6QPc9ImxxdMg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2846794b-8057-2f41-3082-4d6c6fcd3f50@suse.com>
Date: Tue, 28 Mar 2023 12:08:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v4 07/12] xen: enable Dom0 to use SVE feature
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-8-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230327105944.1360856-8-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0205.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::17) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PAXPR04MB8911:EE_
X-MS-Office365-Filtering-Correlation-Id: cab65a54-df25-4096-074b-08db2f7469a2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yQYLH4TuQ7tyAD8z0+mBoCUtZNUaq+Wr2QbknWWMFegBFgIcA1y5FzhS8ycd40SAZ1sHiPao77Y+SxSVWHFk33yqz/cKZ+9kaIFEwNDG2g4dL0OnVi8tzlnGXOaJUDP5xWoqq83xXknwbPW5Oqglsi7A2wHa3G/aapYWExcuWao5ed2BIyHHskoYZxbkpoLF4ua8kW+GSb+Xnz3QH3rRhJTpj1YGLViTUXBSsT3mT7KhLBSrcj1uxDoZr9K2U7yk2GNwuv0Do1LbA4aSwTAn8jPcb72VB1UjfOyKe8DQxscFYrhOoN89CzpqXzKPZVro/GrNQS9WWPiZyb/d++TnqBmDvUwBi+pNQw5frG/Fve4Si8Ur80+VcifjVQZ2dDE3WaOTtcbQSVl1G1rH3cya0IRLdOKELmjITUFHcGTLdy7Zfb0pW0qY5QU5rZkfQN+lIbQ7YG3CzDIr43ptrk11P8DG20oFFsrdEH4Sm/v3A8PEZf/DFXdF5CB5upRHZeuElitsgVyXKOBNUQCxhSS2oWYFc4CqwUljWYWHTrvE5AGj+m7Wg8FC0E6DydoA8CNJjnCJuc91PffOHQakZ48Zh/lpe932Zfpzri1ulDcXUMYQiY2gfAwMEc6pBM0+LwwfoWyoQEq8AvMsR3zrcxaeeA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(396003)(376002)(39860400002)(136003)(346002)(451199021)(31686004)(36756003)(186003)(53546011)(6512007)(6506007)(26005)(83380400001)(2616005)(8676002)(4326008)(5660300002)(66556008)(41300700001)(66946007)(6916009)(66476007)(316002)(54906003)(8936002)(7416002)(478600001)(38100700002)(2906002)(6486002)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b3lvTmVYRy9NRDZyOCtSM09RVlY2aHZEZnk4a2c2d2xhVk5WZTVtVHEySklS?=
 =?utf-8?B?eTNBYnQ2MTRRakFMYjlpVW4wMGlRUGxaQlQ4K0R5ZTY2ZUg5RXNZWDlQN1l5?=
 =?utf-8?B?cDM2Slo0Z0NkR2hGOU5yWktYUndLSlFpZG9iN0dpTFJUVllBRTNtWHRiaXI2?=
 =?utf-8?B?Nm1udFdqRUlZS2JBRmUwL3pqWFQ2a2l2S0NXSGoxZnZtNTRnUTQ3TEdySUI2?=
 =?utf-8?B?RU8vbDZ1QnloREpId1lzZjFjU05kSE8rbTN4dVJRT0sraDlhTnJrSE1rR3NU?=
 =?utf-8?B?SmtBUlZMWU5UQ003VlRVUXVlekUzNmFqR0RCcjI4UHpubWI4VmhnOEEwNlFh?=
 =?utf-8?B?aGdSR3Y1QkxOQnhicG0yZzJQVitpRVBRdzFVblZBd0lwbGYwcUVxaXloRlh1?=
 =?utf-8?B?c2ZNUUpoTml6MU9GZ2t1NUdKUkUrV2xtd1JXMVpCaHhYS0JUWFhzQmlxd2sr?=
 =?utf-8?B?WnlaTUFrckNZeFBBcmhLeEZrT0MxRkU4TXdlRFJYYmIxTnRPMWpGTks2ajgv?=
 =?utf-8?B?cjg5TllvVG5ZT1NRelFmZmJJajhVZHlXZzczVUptU0l1ZnUvRExqUzBRZTRC?=
 =?utf-8?B?Y1RzR09DUVN4WVZ2aTlTblZxSWdaWFcwN2YyQ01lY3pPVmQrUmtlYnpDV1dY?=
 =?utf-8?B?djlJRUpWQnJFaUlLWHdMQjU5L2Fwd3pQOE90RUwwZmp3RVkzeEJ6dndnVHlG?=
 =?utf-8?B?UFRvMWphU3NnYlhZL3U4L1VYbU4vK083UjlkM0tXay9ad0dUMWluMld0YlJ1?=
 =?utf-8?B?U21RVE9sc3pYUTNra0tNSFVscU8rRHRqbmJMSDJlS2lnUFAzMEx6cjdic2dr?=
 =?utf-8?B?SzBXRGdFV2UvWHE2SFM1TXVDVzdMYkprdllrdmNXZXArTTdYcGh1akZMK2s0?=
 =?utf-8?B?NTg1VXkxemlWS0Nlcm5YVng3cmhZWTlHc1pVdTJqa1hZTTJRUjFqRlJKT2hu?=
 =?utf-8?B?Tk1xbU9WSW95Uk0xRXJ2OHpMK1k3UFEzOEVRRjlhdXpIcklJbXRrUjVKclYv?=
 =?utf-8?B?dmhMRmd3V1BzSWFxUnFmV2xqL0xSVlVJdDRNQ0VBclJWaTJrLyt3MW4wbFI2?=
 =?utf-8?B?NkFka0p5bUVGdVdlTXNmRGMxZUVaVTdybHBjb0xWRFUxUmdDbG96RVhrOE9q?=
 =?utf-8?B?MWhaZVpINHE0Q0F2WUw3L3BobTBacmRXNzY0RitGeFR5UDhRanZDQWZPelg1?=
 =?utf-8?B?bkZtUlYzbjIzWjNkQ3d1ZjI1UUtrN2R4MXJZTkhzaHhlWUx6UFZKcm4vcTdm?=
 =?utf-8?B?Yk5keFJ1NGZ5Z1VkQTFJbGFvZHZkOXZuK2JRdm5BQVJhTXV4TE5CN2k4Z1JM?=
 =?utf-8?B?Mkd6RkVrR2dubDJYNXVMeUNqV0drOGs4bW1DWDFERWhiWHRsN0JPb1MzQmFy?=
 =?utf-8?B?Q3I3VjNyd0R3dHlmRlM5RGZhUHI0aEJzZTdpT0NodXA5Ym9rb3pwbmV3OUdq?=
 =?utf-8?B?blZCMHM1ZlJKUk5KS05Day90OHpNeDRKYkl4cUUzTnY2WEVuZE9zZjNLaUhh?=
 =?utf-8?B?SkFjZFoyalB3ZFZVOVcvZjRnVjh0S2ZqQk5RU2RuMndIakl4SFdNK0I1bTIx?=
 =?utf-8?B?bjlGQ0tSRzNUaVp6VDJEVlVQdVVUTkVPbWZDOGFxWnpwK0hRbzl0UEZSeURO?=
 =?utf-8?B?TWVzU1J4M29iZTY3Q0d0QkI0UXhxYjg4RHU1S1dmU01yRVg4RXdxeVBFVWRr?=
 =?utf-8?B?RkZlR01jczRmMUZSTloxdG81T3RnQ2ZtOElEd0RnQ3pHTXBMbUo4UHo5OFJZ?=
 =?utf-8?B?R29yRzNnbkJXbHNIOWplNTZ5KzdZZER3bm9RV25GbXNwcWFQZVNMKzlBdnI4?=
 =?utf-8?B?QXJKV0VYbmEzVDBUZGVSNG9qMlk4VjBPV2xHaENCYXl5RE12WnY5aUo0cVBY?=
 =?utf-8?B?S01iK3NwYncwWUk3cnJpQWlGV1ZnSWQ1T2dFRnpmMEw0WktVQUxtWWtYMnFX?=
 =?utf-8?B?UGVuckZGR0VPQmIxOGNFL0J1cWNhNmZMN05US091cER0M1dkZG8xc2FjMEtp?=
 =?utf-8?B?Y1ErZW0wTXg5Y2QybGh1VFRxVUR1NC9OSVF0czl5a0RPQzlPOFg1VEs0MFJo?=
 =?utf-8?B?WGxGWG1iaXQ2cFNCYVN1SGlRVGZtbG45Q3Jsd2ZuTzd6NHh3d2Vubms5U3NS?=
 =?utf-8?Q?pBE9YtZ65Sd+fjtXNi16VNzVI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cab65a54-df25-4096-074b-08db2f7469a2
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 10:08:43.9323
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rEPmP0675T4ITmB8Bs6RlYsix9ot9cXB8i8szZOgBYN70/Yop2VvlDdQVz7AvOHYBT7cNII1q1eltZJc415SdQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8911

On 27.03.2023 12:59, Luca Fancellu wrote:
> @@ -838,6 +838,18 @@ Controls for how dom0 is constructed on x86 systems.
>  
>      If using this option is necessary to fix an issue, please report a bug.
>  
> +Enables features on dom0 on Arm systems.
> +
> +*   The `sve` integer parameter enables Arm SVE usage for Dom0 domain and sets
> +    the maximum SVE vector length.
> +    Values above 0 means feature is enabled for Dom0, otherwise feature is
> +    disabled.

Nit: "above" suggests negative values may also enable the feature, which
I'm sure isn't intended. You may want to consider using negative values
to signal "use length supported by hardware".

> +    Possible values are from 0 to maximum 2048, being multiple of 128, that will
> +    be the maximum vector length.

It may be advisable to also state the default here.

> +    Please note that the platform can supports a lower value, if the requested

Maybe better "... may only support ..."?

> +    value is above the supported one, the domain creation will fail and the
> +    system will stop.

Such behavior may be acceptable for DomU-s which aren't essential for the
system (i.e. possibly excluding ones in dom0less scenarios), but I don't
think that's very nice for Dom0. I'd rather suggest falling back to no
SVE in such an event.

> @@ -115,3 +119,8 @@ void sve_restore_state(struct vcpu *v)
>  
>      sve_load_ctx(sve_ctx_zreg_end, v->arch.vfp.fpregs, 1);
>  }
> +
> +int __init sve_parse_dom0_param(const char *str_begin, const char *str_end)
> +{
> +    return parse_integer("sve", str_begin, str_end, (int*)&opt_dom0_sve);

Please can you avoid introducing casts like this? If you're after an unsigned
value, make a function which only parses (and returns) an unsigned one. Also
why ...

> @@ -61,7 +62,12 @@ custom_param("dom0_mem", parse_dom0_mem);
>  
>  int __init parse_arch_dom0_param(const char *str_begin, const char *str_end)
>  {
> -    return -1;
> +    int rc = 0;
> +
> +    if ( sve_parse_dom0_param(str_begin, str_end) < 0 )
> +        rc = -EINVAL;

... can't you call parse_integer() right here? opt_dom0_sve isn't static,
so ought to be accessible here (provided the necessary header was included).

> --- a/xen/common/kernel.c
> +++ b/xen/common/kernel.c
> @@ -314,6 +314,30 @@ int parse_boolean(const char *name, const char *s, const char *e)
>      return -1;
>  }
>  
> +int parse_integer(const char *name, const char *s, const char *e,
> +                  int *val)
> +{
> +    size_t slen, nlen;
> +    const char *str;
> +    long long pval;
> +
> +    slen = e ? ({ ASSERT(e >= s); e - s; }) : strlen(s);
> +    nlen = strlen(name);
> +
> +    /* Does s start with name or contains only the name? */
> +    if ( (slen <= nlen) || strncmp(s, name, nlen) || (s[nlen] != '=') )
> +        return -1;
> +
> +    pval = simple_strtoll(&s[nlen + 1], &str, 0);
> +
> +    if ( (str != e) || (pval < INT_MIN) || (pval > INT_MAX) )
> +        return -2;

Like its counterpart in parse_boolean() (which I understand you've
derived parts of the function from) this if+return wants a comment.
Also - why strtoll() when you're only after an int? Yet then another
question is whether we really want to gain parse_long() and
parse_longlong() functions subsequently, or whether instead we
limit ourselves to (e.g.) parse_signed_integer() and
parse_unsigned_integer(), taking long long * and unsigned long long *
respectively to store their outputs. (Of course right now you'd
implement only one of the two.)

Finally, for the purposes right now the function can (and should) be
__init.

> --- a/xen/include/xen/lib.h
> +++ b/xen/include/xen/lib.h
> @@ -94,6 +94,16 @@ int parse_bool(const char *s, const char *e);
>   */
>  int parse_boolean(const char *name, const char *s, const char *e);
>  
> +/**
> + * Given a specific name, parses a string of the form:
> + *   $NAME[=...]
> + * returning 0 and a value in val, for a recognised integer.
> + * Returns -1 for name not found, general errors, or -2 if name is found but
> + * not recognised/overflow/underflow value.
> + */
> +int parse_integer(const char *name, const char *s, const char *e,
> +                  int *val);

The comment wants to match function behavior: The '=' and the value
aren't optional as per the implementation, unlike for parse_boolean().
Also please be precise and say "... and a value in *val, ..."

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 10:15:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 10:15:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515627.798687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph6M4-0004ee-9F; Tue, 28 Mar 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 515627.798687; Tue, 28 Mar 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 1ph6M4-0004eX-6J; Tue, 28 Mar 2023 10:15:04 +0000
Received: by outflank-mailman (input) for mailman id 515627;
 Tue, 28 Mar 2023 10:15:02 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph6M2-0004e9-1u
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 10:15:02 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on062b.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 660e4a6d-cd51-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 12:15:01 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 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.6222.33; Tue, 28 Mar
 2023 10:14:58 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 10:14:58 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 660e4a6d-cd51-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KpD16FrxGofH2NKJuvEIFtS8Otx8MBjco/h/tgvYzfJ68x+rjo2sNvhV/YUAEVB8i0QiRR3HzW4+zHFactxzHVL26Ew+8pAyPgfR1bMkZtJ0sYYrrCVOjTUGjdxtO3r2I1S5BDUhPrY0PTgpOgEMSW8RJtwBUxG71XvpHGphI1D6hQsWTebayfEnrBAZBnaEOmcCm+9RwaluX0n7Ne9ASCdzFon6apxdBGqgd71MYKE8zGiNfS3XZygFmF/v1dXnq/bL+r/pF7lp2CmSKAlIum390o6xkWV/vkeMvrVZrEkQ6+fE9b7jpw9SMPjC8Bb7Flu7cmQWsPR6YhiJ+Sm9xA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mhSDwoQ4kqHBumKlLoGgNQ2DGi7mV2osGT+cRRBdg+M=;
 b=MoQcSk3b3NzJWcI9zS8CRYzTCfLeYbhbW4yQKRnglxKCWYnL2CSA09foX+vLsO14JVQq8w3RTUwwmBkgWMU8jypdiX4awgvo1GLaPbfh/trOPmp0381EAoGZyRzltz9fkXMwGNxJE3K8dsLRXK6mzOW5vc4Lr1mqAeiuxj5A+mNdLeFBbWXCF0oTGCQSBoy/43BOoFVVaZl2kX2TMZf4At1ajtmgyjt9pjbXOQISFe5f7Ny8/RDjbC31ZbPyOZwCksbzucB++H13/mr1GsJPdm3cxHl71O+wSFoiDjGWW20U0RSIdWRPBedjMxJPlW7lizRQdfIwf0io8TeciK1bwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mhSDwoQ4kqHBumKlLoGgNQ2DGi7mV2osGT+cRRBdg+M=;
 b=xnnwi5NX5WtSkthtisi6I6qKGOkOWR08nuqFbYGVbXgEFkJ+frY8pLzyN1qnMxOqV9pZYAq3R6gCcoIvpw3Yhst0Y1w8GPTiv7JR/pVVf0R7R2dZunm7Yn42xb+fd1JZYyG7mTJkvu750HGBDl/73heFwKkvDvgo+PqBOqiUk8vDQUGSo7FG3nZUTb4aJBA28d/cQA1GcYBVkVAW9Kr/x9oe99p7qGaFn5bvJ+QXpcWoBA9h63M118n7KNVC8Qs2jVKYgfPSauLG8ziCkDQfr76zhRsfYI43GlDv4pJnyIgT5lilGL2f39gZ1psf0sq0pM2Yx9+ic5S0rsOT9WnTNQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b5411b23-2c2a-b771-c2c6-00b0f2a7a033@suse.com>
Date: Tue, 28 Mar 2023 12:14:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v4 08/12] xen/physinfo: encode Arm SVE vector length in
 arch_capabilities
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>
Cc: bertrand.marquis@arm.com, wei.chen@arm.com,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-9-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230327105944.1360856-9-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0174.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::7) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PAWPR04MB9743:EE_
X-MS-Office365-Filtering-Correlation-Id: 87c75164-afd1-48db-a247-08db2f75488c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9miS//vl2TQiQmec3V2KBKEjJjIzT6fT1XvxsgyQbuaiczI9rEsPujEHS23GUHYQP7dk1W1QSdMjp3ARqpleGhV87UH+0NUOsQL2D2DnYc9sT/QgZ9MJ/M5p2UFsCEUZKw+mSbsjo+WXQyxUH3mCFeudnA29nJQmBTd2FgotGY24+cJlsO1pNeDrfsveDkrg6rKBeV9e7kiKynZZXJYG6iXtkXyohc70HrDmY41R7ypZl7X9pfK8XGmEdNkRMiKKGDOFgpt1jQgMZGJOaee3G6E4ksO+i9F47CsWr0RaCbjTfK8vDTGIkvFx1Rz1T0pAEQKnQWmmiP9LP9gbeMGujSgOfmsvqGmAslH5sS4Bh9aq/nfonVkbYR0QmfWfO4nmqPOSWinkRt8a0L8hHKmdUtOiuT9+TyjEPPch7EJssUyF6U0shaM0dqlkJvSWSVRh7sz0Ww/jWbAOr0VFIeflObOJhF8eIOdBuZQkWDZdZdSyK9b8FAmam6xawWOTWbQWVKxfBgBWk40ONNTcNT/+ADj/ce8/W8wR8nTpLs+i7NL1v0sSiNoW23gQ/8csKqLvwNhHNXbOaOQEx/Bf3A6bbY9jTkagsJlUF5F1iogoJ7P1cPbg6CB9s0iYOsnFAZ+VXvZhDQicvtq0Z2Kao8oUAQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(346002)(366004)(39860400002)(376002)(451199021)(26005)(6506007)(6512007)(53546011)(6486002)(6916009)(31686004)(316002)(54906003)(478600001)(186003)(66556008)(66476007)(66946007)(8676002)(2616005)(41300700001)(8936002)(4326008)(7416002)(5660300002)(2906002)(38100700002)(86362001)(31696002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RWp2UVZoSmoxUitYd2FhWGowTXdLOUdxSFR5N2gySklzYjk3ZWdOaGRNVllt?=
 =?utf-8?B?eXNJakVmSE5jaG51UU12MUlUWmhYSUVORU9HWW9ncVFIZ1V4Z3hTZ0JlY09t?=
 =?utf-8?B?VmM2azQ5dENqVlFFeFdUNEl3cU5zckRxaHErdDhCQlJRcjJEVC9sd0hCQmNU?=
 =?utf-8?B?QW1jT0xkWmRvay94dkR0MVNBZWJ3TklGU3hFMXJ0ZkhRbzNERVl1aVVGSXZv?=
 =?utf-8?B?a1l5cXZhbDhMakhOQ2xKK205c21OQ0wxelFvY0NBL0lGR3dyY2t0cnlaWlRJ?=
 =?utf-8?B?Q2lSS1YwZzN4MWFNWVNXdk9iOWg4RGNHNk54ZUxGdUNtUDNKZDR6ZmFnSGEy?=
 =?utf-8?B?dVBVQ1B3eGs2NnZiTFhtYjJZbFZJeEIxanErWkw2dUlsR0dsNEFkR2VZUkgy?=
 =?utf-8?B?cThPUVhpTTVHcTlaR1ZSVTFmNjBwMzBrRFBpcUE2Wi80ZjFLdkRPbDN2emFE?=
 =?utf-8?B?QVVJeDNldTN5NE1makxGK2NKK0hjY0pJTmFKekc0MjdxUUY4SmMyS0hDMVQx?=
 =?utf-8?B?aGJCSlRBOGhMUUhBMVhmS05SY1FlZi9oMVlob2JmazNXNVRRYTR4bE5SdE1t?=
 =?utf-8?B?REd5RG1JLzlUOVFMQkh0RUZJOTZzdEpNWXAveUZQRnA4emRTZWhHekxWZjND?=
 =?utf-8?B?VWZ2SzZBRnN3RUJDZnhyVFhTaGsrb1JYcjhWc3g3cmhBb1NCMU1jYUMvYmcv?=
 =?utf-8?B?d09LM0pZOW40N2o4VkZrWEVBL1pBK0E3WWNhQVNyN1NOMW5EazM5RXpnTkZO?=
 =?utf-8?B?U3dtVDJKeFJMblV0OTA5SkVJQzhETmFNeXBabm1tUGdrODhXWWhaMVk2bTFy?=
 =?utf-8?B?bk56LzBJdGt1Y1Avb3JTR0lxVmptWWZ4Vnhqc2dQbWE2aEd0cTVYeHBVT0tL?=
 =?utf-8?B?bXQzQ2x1Q3JWUEI4Q0E3c3dvZnFkYVVVSFl1Qk0wRFBoMCtGR3J3aVlzM0Qx?=
 =?utf-8?B?UlZSSTlPMWdhY3NldXZERm1FcVRVL1dxZGd1MkdqdGtCRTJpblNhUnZISHZa?=
 =?utf-8?B?MjR1UVp4TSs3Y1dpN0FrWG9WMUk1NHo0dXpLaERxa2txVHRtMkFtVWduQ1Jr?=
 =?utf-8?B?RTJwQXFCK01kSzNEL3RnME1VWWFPV2hrVU5BUTU3SlBSUmFhUHJBSGZlMjkz?=
 =?utf-8?B?bnN4SDN3U0luamJLOVdndDA3dFBYZUo0YVJpaThLek9Mem9ERHhwQ1pOZC9L?=
 =?utf-8?B?M3dNTW9YSXlNUXZyMldRbXFkZWl1M1ovV3lQenNnZGlVR2ttM2Zjb1JaTUJQ?=
 =?utf-8?B?NE9HcGgwUzk0MmFwQnNtaE05UGtzMWlxUE51N3pGZ2hDbVNYeW94OU15eFh6?=
 =?utf-8?B?SnpqOVNuai9yRUJzTmxaNUFvMWZyb2tzVXpXLzVyRUFEeDJaQzlzMktaZ2JD?=
 =?utf-8?B?Y3FRZjJGUldSRkJGaXpjTWpZZmZrUEdYUHh1ejYzbkxGMnZmWU00bFNpNWxS?=
 =?utf-8?B?VnlTWWY2dDJTWUtENkVxS0dUbGRsT0ZJVU5wdXgvRE94dWJ6bys2WW15Y1Rr?=
 =?utf-8?B?bUg2M2lNNW5mT3NXdU14dzlLR0k2STZHS1B5TWR4OUJxT2Y2bWl2Y21lSCty?=
 =?utf-8?B?Tk8rZFBuMlJNR09ReWsyd3hWeTN3SW1wNGQ1WXV4UUd1dnFwZWdSMFZxVUFq?=
 =?utf-8?B?cENYb3pCZFA1KzR0c1FvWlNEenJPYjRaL05McDR6Q1pueWxUcVpmUWZwSVEz?=
 =?utf-8?B?V0hLTW56QUJaR1Rib25Tei96d3hneE0wNEZWL0ttd2QreGFKRUhtcFA2MG5a?=
 =?utf-8?B?dzJWYzdsSDU5OEdkdUl5bkxyUnc0eFdvRFl1UzFCNXZzZGlBSHBxMXdwenlx?=
 =?utf-8?B?YldCSlFYam9aK3dkczZZUWxPWWpndzQ5TEplSnhvRWpBRzQ3NkRVM2o0OTlk?=
 =?utf-8?B?TjRHL1hVdGt4dGhHellUQWREckNyOG9qK2xDU2FtVkVKeWZvQXpBem1MS3Mz?=
 =?utf-8?B?TzBpak1ObDNDTDFJelRDb1l0aXY1cWxxVEtDNWtWTi9DUWFnckxlMDF1RlZN?=
 =?utf-8?B?VnFjUElQRTg4dzlmOXpmT0NQNE1pY08wRGNDTE1EQ3VwYjhZeVVwYVFNbDkr?=
 =?utf-8?B?c3hFT1lvRmU4ekw5ZHdmTTVRN1pwak55T21IVnZtODliWk5SQkdsbWJEOUU4?=
 =?utf-8?Q?SP4IVbWia/I93e3ev4cJsGkBn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 87c75164-afd1-48db-a247-08db2f75488c
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 10:14:58.1760
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c2DR1tA9B5qZWY20fYTiavTil5Z8ZD5DcTbkF1KBFr5oaQ9K4yYQEr2JPjx/ljc1vZhdwYS+j20k9ukRC03YOA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9743

On 27.03.2023 12:59, Luca Fancellu wrote:
> --- a/xen/arch/arm/arm64/sve.c
> +++ b/xen/arch/arm/arm64/sve.c
> @@ -124,3 +124,15 @@ int __init sve_parse_dom0_param(const char *str_begin, const char *str_end)
>  {
>      return parse_integer("sve", str_begin, str_end, (int*)&opt_dom0_sve);
>  }
> +
> +void sve_arch_cap_physinfo(uint32_t *arch_capabilities)
> +{
> +    if ( cpu_has_sve )
> +    {
> +        /* Vector length is divided by 128 to save some space */
> +        uint32_t sve_vl = MASK_INSR(sve_encode_vl(get_sys_vl_len()),
> +                                    XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
> +
> +        *arch_capabilities |= sve_vl;
> +    }
> +}

I'm again wondering why a separate function is needed, when everything
that's needed is ...

> --- a/xen/arch/arm/sysctl.c
> +++ b/xen/arch/arm/sysctl.c
> @@ -11,11 +11,14 @@
>  #include <xen/lib.h>
>  #include <xen/errno.h>
>  #include <xen/hypercall.h>
> +#include <asm/arm64/sve.h>

... becoming available here for use ...

>  #include <public/sysctl.h>
>  
>  void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>  {
>      pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
> +
> +    sve_arch_cap_physinfo(&pi->arch_capabilities);

... here. That would be even more so if, like suggested before,
get_sys_vl_len() returned 0 when !cpu_has_sve.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 10:28:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 10:28:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515631.798699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph6Yq-0006MG-HF; Tue, 28 Mar 2023 10:28:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515631.798699; Tue, 28 Mar 2023 10:28:16 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph6Yq-0006M9-Ci; Tue, 28 Mar 2023 10:28:16 +0000
Received: by outflank-mailman (input) for mailman id 515631;
 Tue, 28 Mar 2023 10:28: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=UojI=7U=citrix.com=prvs=444182d81=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1ph6Yp-0006M3-BG
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 10:28: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 3c94900d-cd53-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 12:28:12 +0200 (CEST)
Received: from mail-mw2nam10lp2103.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.103])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 06:28:05 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH7PR03MB7092.namprd03.prod.outlook.com (2603:10b6:510:2a5::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 10:28:01 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 10: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: 3c94900d-cd53-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1679999292;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=eX2lLUjOHCoEVtIeRr6xcJjanCHo2v15xZR4v5Bjj0U=;
  b=cWiOKwQiq1k6Cu5IRiypSQ9osBIkL/LTYW/cNhwBbT94mryb9MEei6m9
   dQPKI7HPXO0kk09J2lT49yyJEA3cEEVUOaOFJJk8Z6H0caXFBYc9wbGRB
   rQFXDPXMzbI4OxEv2dDeOw4j3iTSRs2w7Zo6j183uyvQKWOJTTc7o0+d/
   0=;
X-IronPort-RemoteIP: 104.47.55.103
X-IronPort-MID: 105716062
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:3cdW9qltMKKo7oivZ30JAnLo5gysJ0RdPkR7XQ2eYbSJt1+Wr1Gzt
 xIbCj2BOqveZWX0Ktxzatyy8k9X78WGy9QwSQtuq38yHiMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5g+GzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dYBCAAvYFO4vrro75CpdrYrq+MZKeC+aevzulk4pd3YJdAPZMmbBoD1v5pf1jp2gd1SF/HDY
 cZfcSBocBnLfxxIPBEQFY46m+CrwHL4dlW0qnrM/fZxvzeVkVE3ieC2WDbWUoXiqcF9t0CUv
 G/ZuU/+BQkXLoe3wjuZ6HO8wOTImEsXXapLTODnr6Ay3gf7Kmo7EDkfEnrhhuGAu0+kUPgPc
 2Ys1HsulP1nnKCsZpynN/Gim1aGtBMBX9tbE8Uh9RqAjKHT5m6xGWwsXjNHLts8u6ceVTEsk
 1OEgd7tLThuq6GOD2KQ8K+OqjG/MjRTKnUNDRLoViMA6tjn5YQs1BTGS487FLbv14WuXzbt3
 zqNsS4ywa0JitIG3Lm6+laBhC+wop/OTUg+4QC/sn+Z0z6VrbWNP+SAgWU3J94ZRGpFZjFtZ
 EQ5pvU=
IronPort-HdrOrdr: A9a23:ZMvwQ6xeXqTteJkzlVrJKrPw671zdoMgy1knxilNoRw8SL3/qy
 nOppQmPHrP4wr5N0tApTntAtjkfZq+z+8N3WByB8bbYOCOggLBQ+9fBOPZskbd8kbFh4pgPM
 lbAs9DIey1IGJWyeDdy2CDf+rIxuPszImYwd3z9TNGayZES49d1C9FKiC9VndbeWB9dPkEPa
 vZ6cpDqyChangMB/7XOlAOQ/LfodnGj7LKCCR2ZSIa1A==
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="105716062"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aiqQ1hZFB+vj5QUWVhq8OpNyBrJkoFjUpIXlSCZV3rbMAPi8LFh3fxOTQrJ7gU3EXKhNapAegDnwAsaYQZWuXV9/cv7V6hMreLTsF3BI7aZW13vDQKNagBluuwmddAVLQoJjuIpiX9JwQ4sh86NFCUwqFL+m6pcsADVSp59gfZfuem4pF4mi/3ugbdf9py8IwL6zwl44ocpHMxfDzx44BzeA3XlhEe3n0fYhjo2P6hSNcU1be87ax1StL28By4a7R1ZLSPamzIa2CBPvUHH0qNobAEhd2PvCR0gHRzQyiUARTl3yMPwjCH5pkMOsNYqdclX+gPeG1D/KyOyO5onqrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+1/s8iZ851MSYZGrNlrsauuVrtCXjUKHj5dmy4jKTQ=;
 b=cZ1MdMpUNPF17twHU5pNr7yrQlaPlM04dzdJ/F3CZw/e0LPiHAKPPf1iBfxECJUuzuiVPmoE079lOU+nBVCN2KM5SaW63qEYdExKTAQgv8ffSck+vjkIwbpAqhT0ifpd8rblT0luK799DJlXv0Lu4Ozg1jWIG/aJ5fANeRolHq2lcnSaKuEgQCd5wJZroqBc/LNaqwAzsfeDTjMrDJ/gX6K9BHW5qsWjgyhlEP06Epfv5QbMSsO9+HeLWkvC2/eE65wdSFSCjeNlTLGg3vY1geE/jnKo80wUC/CMApw3+SDXmLr4L3YiSXnR65cKvLunbMKOimDwC1FZ7vY03L/16g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R+1/s8iZ851MSYZGrNlrsauuVrtCXjUKHj5dmy4jKTQ=;
 b=nstahfWW/jzfL6ztkcRHZdF8/AvUECxxnToy2NMGgAt+u/on5zg3sGfPZJ+lNKoYIfq5jNelZh786r7VlCFFlYvgTif7uYTmoWpIPQPmCwCB+AqAC+bfgjeIBm5XdKVhDQeanU1hDmRQKDEQXDsnEsXrWBOrsugV6DZ51nwa9kg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <fe6627a6-067d-c3b0-f6f1-25d21bb6a530@citrix.com>
Date: Tue, 28 Mar 2023 11:27:55 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/boot: Restrict directmap permissions for
 .text/.rodata
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: <20230324220824.3279825-1-andrew.cooper3@citrix.com>
 <d26961b0-0c13-83d8-9102-37e1e297fc4e@suse.com>
In-Reply-To: <d26961b0-0c13-83d8-9102-37e1e297fc4e@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0204.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9e::24) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH7PR03MB7092:EE_
X-MS-Office365-Filtering-Correlation-Id: 939d1fea-f786-4568-09f8-08db2f771b31
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ic3xi/YfnWbMMTgQD4dmwZI6sRkz0PRCXnNydD0UopwkOVrvYXOZL/t1C7D7OVaUJjlvOkFP5C8u+DR8gX2EGftTJcYNw7aT22eskiaC9n/zxP9+5x64AntbBpr3+EePpoEPv3LU+RYbVBaeCm/4TfyJuj4dD2d9fg2VqzmtpoBR7nV3DcNCPog+5G53TcaQ8ENTFXXRzTCjP99qW8H9/oVYEagRko76iuryFhGTRCY1fvlBGw2QdaMUjKqCg0dKBqzlkis68shPtMnD6OdWtiH49EOOM1v8OcLOaZFC7tcCmOhnWr7bAmCbreoYOIfjM9mvdW2sCVahlguqz7XnvpJVRMIGcjCrbmfoEj/0VnuUa++tR+to6COUCIPh1RnA0diybr3Pk2nAfTe1nwpBfJHmOQmn4n/HCZsnfenzMTEdQL82FAviV5NbMEeI3nODsUIQ6FbE4TKgGeQwVV8wRh6ER3Ek0VPkL89JgGBhNdTHj7ungPMOH4Pn2tBXYzWQlMC8ie59P48CibqG08H7lKWqccmlc8nlqM29AusJ3ch5R0UIMoiaBprV36l3ua9ac0wswlpMfLJkDEmBFHFWAwog0RNlj50tVq006YTXCMhrIGI1zb+4U6DIMn0YP/99rYSldo0BupYIhgjtwK6ojsN5M+Oxrxyd9iLTnI+1mCbYP8qI56FDZ6Iee82bnRqu
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(39860400002)(376002)(136003)(366004)(346002)(451199021)(66556008)(8936002)(66946007)(5660300002)(83380400001)(38100700002)(54906003)(31686004)(6916009)(4326008)(8676002)(2906002)(41300700001)(316002)(66476007)(2616005)(478600001)(82960400001)(6486002)(31696002)(86362001)(186003)(6506007)(6512007)(53546011)(26005)(36756003)(6666004)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q2V1UXZvV1VzV2VSVFVIT0hRcytkSXdyVm54QTAyMldTU3BOdjlsMnBtdnVp?=
 =?utf-8?B?K3ZJUk1iUUswREl2V3UvWDQ5eGVKZk1FdWdiKzcwUUZ6cVBVS3ZPUjloVWRU?=
 =?utf-8?B?eTdGMVF5eWhqOUFXRUJaeExrWks2REhTekhLZitnVktIMFQzSE5RWS93QXdJ?=
 =?utf-8?B?ekhzczJKTWtJaktrdGJsaWhXU05rd2x1SGJOeE5PY3Q0MHpHak1aZFUzT2lq?=
 =?utf-8?B?K3cyc3lkelFRejc3SnlOckplNk5TMURZVXhTSENjbmoweVpvNnhPZE13S0Zy?=
 =?utf-8?B?Tnh5ZStSZk1XcHg2bGNIVFBJUnVUTDZLV2VhaDBuMWVmT3NLa3p1KzUwaXVl?=
 =?utf-8?B?WldzWVZ6QnhEWGc5ekhJb1lST3Q4QWl0M1VXampvTzVBbFRRKzJqNlU0cW96?=
 =?utf-8?B?TUs2L0hIQ2hBemxmRDFmWTZhM3hTWXo5OUhGdUFaRlFaYVA3VmZ0VDhKdXBW?=
 =?utf-8?B?V3N1alBYL1ZxT1VhM3JkbkZSK0lkbkZRQmFyTHJwbXFwUFdvWVR6T3FMZ3ho?=
 =?utf-8?B?TjNGdDF3Qk1JdTkyR21ZQWdXTGlmTm9vcWJ2akxtN0tvWUFyMW1IMmw0eWJp?=
 =?utf-8?B?RUlsREphbEdmaThvK3RYVWFRNFY3a1dKMXFBNVVnUTZiQkdpYUVTaVV3STVP?=
 =?utf-8?B?d0JCNllMZ2lMS2orUEp1ZUs2WTVEUCt4ZDgvK0NNemptMHVGcVM1MnhRZ1U0?=
 =?utf-8?B?K0EvUGV0a21vVVB2aEZFb1FYQnVDblhqZmtBZmJoUm9IT2RRSmp1cGwwTjBE?=
 =?utf-8?B?bk81YkI0cnRTMldPV2YrS0pUYWQza1lpbC92OTlMTkhvY1ZvVko1SzN5TnAw?=
 =?utf-8?B?Y2RjQmVhUkxOVWtlUVAvLytIeVV2TEQyQmkybFVLOGorWHBSbnhGYWkxNDlY?=
 =?utf-8?B?YjBCMW5xT1A3REM4MzNiZ2FHQTBVRldTMDl3Ym1GRjdqL0JZVWVRY0cvVEMw?=
 =?utf-8?B?MkNmL1orYkN4aGJJcnRySGFKRFFFV1RwclAvN3ZrYVdsaUdSMkdKdkx6SUZM?=
 =?utf-8?B?bnRtbVcrQ0I5RFF3Mkk5cGZKeE1mdXc5eE11bDRxTTFlSlowTThoZ3d2WkdO?=
 =?utf-8?B?ci81NkpXOEg0dXdOUi9NQmV0VE1lZGdkOGdsUEZZSE5GaG5ubitpYXNDWjdL?=
 =?utf-8?B?MTVaYXp3d2RUR0NIeG5wdkNUMExkeUQ1TWtPMk0zVGZ5cHJCbnJNT2NpQUNm?=
 =?utf-8?B?eCs0a056T3F3UlBRSDg1cnFOLzlWWXE0L0lVV3YyUnFjTGR0bHRIMGEvN0tl?=
 =?utf-8?B?WGwyMVBIQlh3Sm9QKzZrRW5yRjVNcW1zV1orOGFTb2NoRi9DL05ZdFczM1dj?=
 =?utf-8?B?RVFDWHkzc1Y0dm9wWjE5YjNrU25VdzNjNFpKWVYxSFltSUlvemNUU2pZdkxi?=
 =?utf-8?B?R3FZKzlwSUhYU2FkYzNSc0xrUUZQUkZXektTOVRtMUJGMTQzRWc4WitKVEF0?=
 =?utf-8?B?ZGxaQTFZbTEwT0Y0NjhTM2NPbTMzMXUxeWFGUUpUTEw3MTgzd0lyTzl2M2pP?=
 =?utf-8?B?ZHhIYnpSUU81UHBqZVZCUktDQVVMaEhRUDVKWDZsSTlhbklqRHZESnE1bUpV?=
 =?utf-8?B?YllXaXorZldrei9zNG0rZzRtQkFCd1ZybEdpOWliSWdFWHd1N0lkaldpN3RR?=
 =?utf-8?B?UnIxUVpFd3ZLR3IvOFhYUmE5dkFBMXJGS3F3QjVsKzk4T210NFpYVVpwdWVE?=
 =?utf-8?B?UmJCOFhHdndjbGxEZEY3RzJQZkthdlRIUE1UQlkyN1VueW16MEJpNmo0Y2pi?=
 =?utf-8?B?dFJ5dTVuUTZXL0R6SzZHTGl2SnI3Z0VoQlppZmRiT2lyZTNQRTlNekdZeDlk?=
 =?utf-8?B?UHVnRmFaTmw3d1UwWW1BdFZTR1NlUEJJMythbm1oS0pMTk9UMWUzVEVmYTVZ?=
 =?utf-8?B?ckZJRlV1RXIxUXg5eDMxT0dzUTJFdUNFQm9zOExRWmF2ajRjYVNQZWpETE5W?=
 =?utf-8?B?NVlpeTM2c2h4Qnl0WkkxRkxtNjFpVDFmUkhjeVJKNWY1ajJIK1lqUzNYNTl6?=
 =?utf-8?B?a1lhQ2luWFJFSDh5Y2ZWMGZUMFR2VWIxLzZOTFNJMXhxYmRwdTZOU1gxR0pr?=
 =?utf-8?B?UDVaWmdFMG9JRGRBSWhjY25rWW5JVWxXWDJTQjkyTXZKZjUxZ241aTJLdklw?=
 =?utf-8?B?VnMrT1h5b2ZiT2NQVi90bTA2Q0tXQ21POFFsWHlFU0paekZnMmduWnJCbTE2?=
 =?utf-8?B?V1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	mCJtUzv7RkKRaNYi4T5lq5yiXzXqhz7XZdD7cGIUsmDeRU5eBwEOgiFxibSoDmEDhNRgR/8QvzSNOcbBZhWAREq7Vky4QCqUueBxe7rlYWs0tH1CyZc57c3sVtiJLAqs0DFB+PvtwjRhARjhgJwyKyH7LA2jPzXLw/9W6UZJtnIyNs4WAwSfdwSBLoOpIKZ6i99ZqwEznYYRuuN8Z2pnAKtE7wKxavSC8jwr41ot2m5jIRNTFdne0BYVWaFW8zDEw6Fx8Qs+PVNtq5lAnJ7+oh9yDmZWKeD+6gDhPxa0kpf2n7/LAB7zl/X6QB2XWiGwpFxAsvXF5ULNiweimmujtoUJ/FvmKl1IR4HrebEMs5FEWQHHSlHTtSllZ7XrxjnMY8HVK8G5TO23Y5+2FjqenpJsqkHu0GUlf0D+LHrFgUsnbe4JIP4mgHfAQeXQC5S1SZt1pJ1FXmUXsnaOz6JFmbFMACZtAxv1Ihs821Aja9K8/Gq/WfREDK2BZfxu+00C3STmbvuQQZyEqr9pYnE0Ym4G20qiCHePJst3MYLZM1SiPu/d7VcCOf9dWHshukj1jJkSz/B1omobbP3UgH2puvB7mCeKFmTiUbR9aNgQDf3rh4gcfDl+kR2vAVZy3M7ebaM3S/QOO7AGQ4tnVYWVE42D4SucuGNjkxRc23RUsJbqCvvG9S66ehy2LRnBg7zAotf8uDts5ZE2GiueV+5yHfarxVYFKkZo4pI4B5ZIKC8fCfmBZh2idLY0ozRFzN/lZ6f/YCtx+0teQvx2gKdcytKdaAQfTWuIHphPyuDpO4UrC+xApPZ+f/6k9oMDYR+OfrlkP4FbwwB/R9mUX41uwA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 939d1fea-f786-4568-09f8-08db2f771b31
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 10:28:01.0123
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0OaVJtKS7hg0BV7biXDZOYM+i5MesHB4vY+5Wd9laKNCas0uf7YX2xIFgxQjXKXMil+7FoPwbvbfrtgLcagretLmn81jtZxwE7tIbCm4RiM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB7092

On 27/03/2023 4:43 pm, Jan Beulich wrote:
> On 24.03.2023 23:08, Andrew Cooper wrote:
>> While we've been diligent to ensure that the main text/data/rodata mappings
>> have suitable restrictions, their aliases via the directmap were left fully
>> read/write.  Worse, we even had pieces of code making use of this as a
>> feature.
>>
>> Restrict the permissions for .text/rodata, as we have no legitimate need for
>> writeability of these areas via the directmap alias.  Note that the
>> compile-time allocated pagetables do get written through their directmap
>> alias, so need to remain writeable.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
>> Notes:
>>  * The stubs are still have RX via one alias, RW via another, and these need
>>    to stay.  We should harden this using PKS (available on SPR and later) to
>>    block incidental writes.
>>  * Backing memory for livepatch text/rodata needs similar treatment.
> Right, but there it's somewhat more involved because upon removal the
> attributes also need restoring.

Yeah, I'm going to defer it to a gitlab ticket for now.  And the PKS
addition too.

>>  * For backporting, this patch depends on c/s e7f147bf4ac7 ("x86/crash: Drop
>>    manual hooking of exception_table[]") and c/s e7db635f4428 ("x86/pv-shim:
>>    Don't modify the hypercall table").  No compile error will occur from
>>    getting these dependencies wrong.
> I suppose the latter isn't strictly a prereq, as the modification was done
> from an __init function (i.e. before this new code runs).

This code here runs long before pv_shim_setup_dom().  This dependency
was found experimentally via testing IIRC.

> Iirc we didn't backport prior similar hardening work? So I'm not sure we'd
> want/need to do so in this case.

That patch wasn't backported.  I was originally planning to, as part of
the CET-IBT work for Intel-retbleed, but in the end didn't. 

We went for the "ENDBR on every function" approach on older trees
because it was better than nothing, and far less invasive than
backporting cf_check everywhere.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 10:34:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 10:34:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515636.798707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph6em-0007yR-94; Tue, 28 Mar 2023 10:34:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515636.798707; Tue, 28 Mar 2023 10: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 1ph6em-0007yK-64; Tue, 28 Mar 2023 10:34:24 +0000
Received: by outflank-mailman (input) for mailman id 515636;
 Tue, 28 Mar 2023 10:34: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=DUVK=7U=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1ph6ek-0007yC-Lw
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 10:34:22 +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 1a17a31f-cd54-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 12:34:21 +0200 (CEST)
Received: by mail-lj1-x229.google.com with SMTP id y35so9470906ljq.4
 for <xen-devel@lists.xenproject.org>; Tue, 28 Mar 2023 03:34:21 -0700 (PDT)
Received: from [192.168.0.106] ([91.123.150.38])
 by smtp.gmail.com with ESMTPSA id
 o22-20020a2e9456000000b0029caabd3c7asm3754253ljh.54.2023.03.28.03.34.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Mar 2023 03:34:20 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a17a31f-cd54-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1679999661;
        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=uBJXkpYafqivBcbNlrQuUJmPyhRhZxAZpwT/By5GE8w=;
        b=p9qWyY2EK1v3QYhsmBzD8YVLpewv4/lw1ue1sdIACv5OgEFk9uirTqMMO5mzh+A2gc
         u5iKU8WxBOdw4Ts2ktB3677dF9vrThll2ObDxgS0ZMrkh+7ccZs83Vqq9kmK5pEtb5eg
         EJVSoyT0x64QjPnytXMKujaUAJJlAAmVNQs/zXPSlPtKxZa63ZaDo/BhLOAMIenQINTR
         ZpHOuC1w19cU7V8e3tyJKHgJGAkDXp/4SgxnuQ2TaKCOHFfROCirdLP3sfS+VAiosFOt
         VGXAA3asOpCiCk6xnFoW7trGUrUowAnO+FXSoaylypsmHvnohSAcH+7kDp8vHZvum2gC
         4ULg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1679999661;
        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=uBJXkpYafqivBcbNlrQuUJmPyhRhZxAZpwT/By5GE8w=;
        b=7eHgfGBktoIJmfAi75HkLnKewbS371vYD5HiB+tPobUDcNWr1pP+vfUupEud4YIujA
         CCzgNppUhF2vAouboxumgCTeYCa4QC4fv9w9ZQ+uR9HE+aahwy+yxuCnz5USBfc8+D1G
         gu4mvwKShs4hSlPCWVXzA+NhzkurIu/oXBfXvq+n4jdUfpBpV7pyui0wC8qgODSxE7eG
         Vcft/DR4IVp9/iikxYTgTyLkY+RTUc6qa9KZmdpEUgKZXo8nMTVeP/0yh44/8q1ypbmz
         DIfMb49D/TKG8VvGYVh8V95gMmt5Ri4Bmy+ksBJJp8IadWs9M1Bu6Xb5A+yS6QIVRRhI
         KtTg==
X-Gm-Message-State: AAQBX9ep9o8Atzj3aQ9bNY7PljC9y49d3fI34UtO7rgqPgdjwfQKgxIY
	GQst6iA2Tv2oOrlJEgJk4PM=
X-Google-Smtp-Source: AKy350bJGqbczSZTknHZ2qtR5hvBR/MKIbLAWmTKZVOxrO9lfjfd0j+EsUWfNQhawriVY4xpX6TZ1A==
X-Received: by 2002:a2e:9d83:0:b0:299:57eb:ef34 with SMTP id c3-20020a2e9d83000000b0029957ebef34mr4472155ljj.53.1679999661072;
        Tue, 28 Mar 2023 03:34:21 -0700 (PDT)
Message-ID: <a9799084-fef5-73b2-3631-6d61c713a18f@gmail.com>
Date: Tue, 28 Mar 2023 13:34:19 +0300
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/pvcalls: don't call bind_evtchn_to_irqhandler() under
 lock
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, Dan Carpenter <error27@gmail.com>,
 linux-kernel@vger.kernel.org
References: <20230328093924.12260-1-jgross@suse.com>
Content-Language: en-US
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <20230328093924.12260-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 28.03.23 12:39, Juergen Gross wrote:

Hello Juergen


> bind_evtchn_to_irqhandler() shouldn't be called under spinlock, as it
> can sleep.
> 
> This requires to move the calls of create_active() out of the locked
> regions. This is no problem, as the worst which could happen would be
> a spurious call of the interrupt handler, causing a spurious wake_up().
> 
> Reported-by: Dan Carpenter <error27@gmail.com>
> Link: https://lore.kernel.org/lkml/Y+JUIl64UDmdkboh@kadam/
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   drivers/xen/pvcalls-front.c | 46 ++++++++++++++++++++++---------------
>   1 file changed, 27 insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c
> index d5d589bda243..6e5d712e3115 100644
> --- a/drivers/xen/pvcalls-front.c
> +++ b/drivers/xen/pvcalls-front.c
> @@ -227,22 +227,31 @@ static irqreturn_t pvcalls_front_event_handler(int irq, void *dev_id)
>   
>   static void free_active_ring(struct sock_mapping *map);
>   
> -static void pvcalls_front_free_map(struct pvcalls_bedata *bedata,
> -				   struct sock_mapping *map)
> +static void pvcalls_front_destroy_active(struct pvcalls_bedata *bedata,
> +					 struct sock_mapping *map)
>   {
>   	int i;
>   
>   	unbind_from_irqhandler(map->active.irq, map);
>   
> -	spin_lock(&bedata->socket_lock);
> -	if (!list_empty(&map->list))
> -		list_del_init(&map->list);
> -	spin_unlock(&bedata->socket_lock);
> +	if (bedata) {
> +		spin_lock(&bedata->socket_lock);
> +		if (!list_empty(&map->list))
> +			list_del_init(&map->list);
> +		spin_unlock(&bedata->socket_lock);
> +	}
>   
>   	for (i = 0; i < (1 << PVCALLS_RING_ORDER); i++)
>   		gnttab_end_foreign_access(map->active.ring->ref[i], NULL);
>   	gnttab_end_foreign_access(map->active.ref, NULL);
> +
>   	free_active_ring(map);
> +}
> +
> +static void pvcalls_front_free_map(struct pvcalls_bedata *bedata,
> +				   struct sock_mapping *map)
> +{
> +	pvcalls_front_destroy_active(bedata, map);
>   
>   	kfree(map);
>   }
> @@ -433,19 +442,18 @@ int pvcalls_front_connect(struct socket *sock, struct sockaddr *addr,
>   		pvcalls_exit_sock(sock);
>   		return ret;
>   	}
> -
> -	spin_lock(&bedata->socket_lock);
> -	ret = get_request(bedata, &req_id);
> +	ret = create_active(map, &evtchn);
>   	if (ret < 0) {
> -		spin_unlock(&bedata->socket_lock);
>   		free_active_ring(map);
>   		pvcalls_exit_sock(sock);
>   		return ret;
>   	}
> -	ret = create_active(map, &evtchn);
> +
> +	spin_lock(&bedata->socket_lock);
> +	ret = get_request(bedata, &req_id);
>   	if (ret < 0) {
>   		spin_unlock(&bedata->socket_lock);
> -		free_active_ring(map);
> +		pvcalls_front_destroy_active(NULL, map);
>   		pvcalls_exit_sock(sock);
>   		return ret;
>   	}
> @@ -821,28 +829,28 @@ int pvcalls_front_accept(struct socket *sock, struct socket *newsock, int flags)
>   		pvcalls_exit_sock(sock);
>   		return ret;
>   	}
> -	spin_lock(&bedata->socket_lock);
> -	ret = get_request(bedata, &req_id);
> +	ret = create_active(map2, &evtchn);
>   	if (ret < 0) {
> +		free_active_ring(map2);
> +		kfree(map2);
>   		clear_bit(PVCALLS_FLAG_ACCEPT_INFLIGHT,
>   			  (void *)&map->passive.flags);
>   		spin_unlock(&bedata->socket_lock);


Looks like we also need to remove spin_unlock() above, correct?


> -		free_active_ring(map2);
> -		kfree(map2);
>   		pvcalls_exit_sock(sock);
>   		return ret;
>   	}
>   
> -	ret = create_active(map2, &evtchn);
> +	spin_lock(&bedata->socket_lock);
> +	ret = get_request(bedata, &req_id);
>   	if (ret < 0) {
> -		free_active_ring(map2);
> -		kfree(map2);
>   		clear_bit(PVCALLS_FLAG_ACCEPT_INFLIGHT,
>   			  (void *)&map->passive.flags);
>   		spin_unlock(&bedata->socket_lock);
> +		pvcalls_front_free_map(bedata, map2);
>   		pvcalls_exit_sock(sock);
>   		return ret;
>   	}
> +
>   	list_add_tail(&map2->list, &bedata->socket_mappings);
>   
>   	req = RING_GET_REQUEST(&bedata->ring, req_id);


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 10:37:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 10:37:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515640.798718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph6hZ-00008y-NN; Tue, 28 Mar 2023 10:37:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515640.798718; Tue, 28 Mar 2023 10:37: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 1ph6hZ-00008r-Ka; Tue, 28 Mar 2023 10:37:17 +0000
Received: by outflank-mailman (input) for mailman id 515640;
 Tue, 28 Mar 2023 10:37: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph6hY-00008l-Al
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 10:37:16 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20629.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81868380-cd54-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 12:37:15 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by DB8PR04MB7017.eurprd04.prod.outlook.com (2603:10a6:10:123::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Tue, 28 Mar
 2023 10:37:14 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 10:37:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81868380-cd54-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=meESlKgkTSyNeuCJGZ335sg2W8Vsza3CIpAZjDge56F/opSBwWMiJ5ztDhZ5ksWtv4tsYfmmcrY6hfW5EMTlAM/ShXiEVw/d6qXK/j49jUuvWov2gfH2zpcYWBltLVncBh22R+DPOZ+MoSDSytL1r0RhBOC7I30VLQ0903D1DmgZdfYyLZf8varuSDINUC2wMXVI8cFR6c2Snt/qoGZwp9nySOq/rTo1Q+tINsGKKdfMf6+weFVVoZzYz28gg+ykfyeArpVN+OXBG7iYs01poZA8V8M2NX2VgoRWmYwpa4ctIIx4xdkjnTxouxioJtH7q9JUZaQw2UmqQ3pl7BvSGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jbCZuIqNlPg+SwxFcp0FIazRUetdLwA6oZtyUR36JnM=;
 b=Gb1YTzLVcry66CR16WPyL+RaaFbjOZXJGSpawf7vSSwhAy2wzn2cWmKDEa3RABupOZFayuRWMfPSaYCYW1SqP5rd9TT9IzEKakuvpzWSxxSRuRr+FS7OXEa+1Xnt/x8iSGW3LGC01r/NNysrBmvzLJDPuX1XEAFVMvSK4tUKWCwLXSKeoMHjxjQOPGpve1TPX+fAo9Gy5TMZr+NaivA7yB1Q4nXXe3xInTnh6ofdgFffwUaaPaAlpm1jmur5Xl9+A8QWX+24y8LKYweUJ63gf6KGUVJIkWpTvyzp6peBrhbuEZoSwZmpElqvcWClvVToKr59jf874Mq3XkcPpF/Giw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jbCZuIqNlPg+SwxFcp0FIazRUetdLwA6oZtyUR36JnM=;
 b=VhYqhDlJGnrC/5FeNpwSjyh5w7JxW7EWyvuGbEmyRAbnGP2xqcIQvmFZ/On/Anc9UU0d6dd8s7oKR4IqXmBin093rab5JVckwsmEPnA2spDaSYYBN3m8kPco2hhZBO8iyUV+zxoL1bRUxsSRGDEuevjAb4pwzBuIbmuWEVX7YWA/5DJt4WSnPN7G9kbjapvfheI+fGI9KAJLz8MuE0aWhEnFszQEEihaUoYLpwxkmGKOLtT6qzfNzTOE8XL08tYy4AKxn1Ve0CUgQmIMBdLNH07rUKGBwwyVpOmSHx+o3tZm639GzbMWmEPqUaMNb3+HvoHKK2AqvJkxJrYCA+GARw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <324a10c7-92f6-d636-ee3b-da9858399d34@suse.com>
Date: Tue, 28 Mar 2023 12:37:12 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 07/16] x86/shadow: call sh_update_cr3() directly from
 sh_page_fault()
Content-Language: en-US
To: Tim Deegan <tim@xen.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <69304929-de84-04db-04f2-8faffc12ef0f@suse.com>
 <20230327153922.GA96023@deinos.phlegethon.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230327153922.GA96023@deinos.phlegethon.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0133.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::20) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|DB8PR04MB7017:EE_
X-MS-Office365-Filtering-Correlation-Id: cf970407-54b0-483e-a34f-08db2f7864f9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tq1LzTvDTuHF71uQ5kug1lgHaHtl3l2ysj5ALbjvV4NHcIntNissc8VcYLyI+cMy/PaF7ljFzPOd6FAr7aIrr1WXkqt0TPUjo1KKcYsHLon+oYCz6lCbIIJtqXAz2n5vWmjDfSpQ572ASmNtz990z0/ZephBMWSoB79DjBH2fr2CS63NRVKuoBs3z81vFz9gvUlc4b3X8a3e6Cm57DMXT8EtxveZzY+iHfwvvXQHQfb7jeNVQ5d+PYD92K214fQ0Kd/UzeyLPC7iAfYvuLjfYvVIwYoolbL9vpkJyv6Kuu1pBst4BTyFsA6b724UpGk26PEj6iXUMv9lJGlxmYwWhL7VN3ev+fC+MzTWcwJqgU/TqRoxvL3qLXSjSHvyV++D3oh1W79W3skTljIdiDREM/l+MCRazOKTH3ASXqomEjivkJnaprdMnydJ1ChnneZYsjXsSr5LLUiOnVRtMQFh7HdHyTY7vUGGHObV9Puf7tzxyucolfBJSEl1fBdSHS2k6unTWxd6cfvO9lZDu4b6YAhB9DKCyiDxJ4Z5vMGbWx+RSNIExZYVGSp2tNF7gTUu5SeP9aHxNsdTRseBbBEqIzDTYOSdDdR9XwkavMavppcASAmGGa6V0RXH1HBImdFstLgJKaB3282wktSGCCBS4A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(396003)(376002)(366004)(136003)(451199021)(36756003)(31686004)(31696002)(86362001)(6506007)(26005)(186003)(53546011)(2616005)(83380400001)(6512007)(8936002)(5660300002)(41300700001)(6486002)(6916009)(4326008)(8676002)(54906003)(2906002)(38100700002)(66946007)(316002)(66556008)(66476007)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WkFyMlE4b0NzYXJCYzk4NGlNOHlRK202eEpNdlJaeFUydXVpTGJzeVNYZ3o5?=
 =?utf-8?B?cHR6V2ZqbFM0bFFJaHV3V0IxamdpWDU5TXdsVi9XUzFraXRUV1cxMU1VZGJi?=
 =?utf-8?B?eTFMSVozYnI5ejFqM01ENmlzQzVEdXppYm00RzVLR01SejE3eit0OTZGaVVY?=
 =?utf-8?B?Q1MzMmFYOGIxR3ZXQmpLNXBKYWJEM0VzTTZ0cWtJbGZSejdXdlY3cGxOSHNy?=
 =?utf-8?B?K1R6VW9NV3VBK3pBNWMyTGRYcHoybWdTRlArUGdPdUdsSWJBaGlIQlZVL3lu?=
 =?utf-8?B?R3RnSlducWJleG0zck1JWW9OanJyMTBsNVY4NjAzLzNpcUxwdHN4RThWQXA4?=
 =?utf-8?B?alBuYUdkMGlNR0k4OGwrNkxUbkFFRXBVSGh6UGF5TWhJdHV1WWVwRUNseVBu?=
 =?utf-8?B?VTR1Q3YzY2lGZ3V5MWdpSVRGUUdsMXBSaHZ2dHBwQkRIZUhHOWZYRzM4bjBq?=
 =?utf-8?B?b2ZPekFETXdxMFlEaEFjOE5ZUVo2QThQYUtZeDdsUVZmUnJWTm0zREdxUTBh?=
 =?utf-8?B?eVZnZWNqaWxsN3BoRGRMNW42SFpXcFBJcklaZEc3RDMzQVR3L2d3OS9XNFdl?=
 =?utf-8?B?Y1huTWpzRXBKK3A4THdNc08yZ1pTQnhGK2VXV0ZpN05scER2bGdEK0UwTkth?=
 =?utf-8?B?elhaaE5CQjEwK1AxSVNWWEhoT21oQjNaVEd2M05sMWx1VmZEOEw4WW5IckEw?=
 =?utf-8?B?VERSUzBaNzNwcVA0UldOZ2luZXhkdkRlWWJlWUNZUDhVTWlTS29mbjhvS3lU?=
 =?utf-8?B?cWpPbGF6cmY5WVpzVE5ObWZ3YjYyWjlZRk8rZ1JuT1ZiVU50K1prcjljdzIx?=
 =?utf-8?B?VGNMT3ZpeURZUkFFREU4SHE0ODd1MXJUWTBwRXdnZ2w4WThRSU9WQmJ5TmFB?=
 =?utf-8?B?V0t6SkJUZElqYjVVM3JheEJLWVJrL0I5VTh3UU9FS3pqUERPWUdvQ2t4RUxx?=
 =?utf-8?B?RmV0SnQ4RWZqdjB2N1JDVFZldmJjR2twcU5IbjBPNmMzOUc4d3hTWWlHQmIv?=
 =?utf-8?B?Wk9CNXNUZUZLYjUvcURGQjQvd0ZTQ1dIclY1dWM4ZFVhWTI1QUNGZTZGV2w2?=
 =?utf-8?B?UUhnSmowRUJTbUpWQkh3eDFLQjdmM1ViTThhWUhtT2IreDdZeGFqR2g5VWZt?=
 =?utf-8?B?bmRCSHJCNVRvblRhSFJIK2lOclE5d3NuTWFrdGRwS1FtaUh4eUNKYTJ6MjJ5?=
 =?utf-8?B?ZVVWbUt4WWZmMy9FaHN2NUdhUWtnZ2dpdHhRN1hKWGd1Tnd6ay9KeHFjWDVL?=
 =?utf-8?B?dDRyL3NEWk5xZ0VtaWtRbzJDZnpZTDRVR29CUGRGeDIrM2tPRENwOVZFbXNw?=
 =?utf-8?B?WXVPTXhTYkViWTJNTjNuUUlJV1VKelNlcmFHS3F3eGNxSWtYZDdra2dDSjZH?=
 =?utf-8?B?bStLZnl5TmlpclI3dTFXOUU3eSs4bFdKRlJReGt1ZmhIZ3RCVTVGV1VtbDV5?=
 =?utf-8?B?akY3aVNHS1p1ZUhNb0NNcHhRUWhWdHVpeTI4MCsxd05DZHRVWHRrdXJkVFFH?=
 =?utf-8?B?blVma1NqNCtpUU52akFiYXhydllOMEV1bkFPcWlINVVWSU5ldElBNmpCdzZJ?=
 =?utf-8?B?M2RHRHFTcXpGbDBCUTFxMk1rdG5iUnBYcTBWK1JsSFdxMmJCSE95L1VONmdY?=
 =?utf-8?B?N2F5K1hEN2tHMk5DekY5RDkrOGxHOU5ibnllZnU2TU1JZHovV3lNazd0cTg1?=
 =?utf-8?B?c0FQdnBVRjFIZUs2Ri9CbXJoMDRuaEE3L2lMWkVhK3VCQ3lVaWUxVURrRmdE?=
 =?utf-8?B?MlQrSlZPNG9iUGx5NldJWTIxSmE2T205MWFxVmdzVkk0TjZwa2dFT1ZvaVlO?=
 =?utf-8?B?dkdSK2lET0NhZmtQbmthNVNhNEZBUU5yMkFUVVozNG5sU0F2RENEK2pIZDhH?=
 =?utf-8?B?QzFncFZGMUhGYmVxeG9aQzNMcUcyQXlaa2ZUZi9uRFVIbm1uU1VEL3RSblZu?=
 =?utf-8?B?YXpXM1J3SFpsREdRRWZFNWkxczdwUzlLQnUreWVuR1FQbGNPeXV6dTZQY203?=
 =?utf-8?B?Q1YxWUpuclkrSEVsYjd1eXl0ck15cTV2MHIxOG5HY3N0bXRCZlhoSzR0bkxE?=
 =?utf-8?B?NHNBdEdvaEFCZitaTHBBaGhpSU5nMGFTWkE3K2hYdjdRa1YzUGM2eXFnUkJU?=
 =?utf-8?Q?08OV1oMAA/+TNG7AwOYSbp3Ry?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cf970407-54b0-483e-a34f-08db2f7864f9
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 10:37:14.1169
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: g0Y7hONFrw56v+DpU7+VNCKAYXr8n4XM2bq3V2ixQYHIrw0i04Qg9j6xMLPKxbcESzlMHTbBHmrk03qKgYFxdw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7017

On 27.03.2023 17:39, Tim Deegan wrote:
> At 10:33 +0100 on 22 Mar (1679481226), Jan Beulich wrote:
>> There's no need for an indirect call here, as the mode is invariant
>> throughout the entire paging-locked region. All it takes to avoid it is
>> to have a forward declaration of sh_update_cr3() in place.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> I find this and the respective Win7 related comment suspicious: If we
>> really need to "fix up" L3 entries "on demand", wouldn't we better retry
>> the shadow_get_and_create_l1e() rather than exit? The spurious page
>> fault that the guest observes can, after all, not be known to be non-
>> fatal inside the guest. That's purely an OS policy.
> 
> I think it has to be non-fatal because it can happen on real hardware,
> even if the hardware *does* fill the TLB here (which it is not
> required to).

But if hardware filled the TLB, it won't raise #PF. If it didn't fill
the TLB (e.g. because of not even doing a walk when a PDPTE is non-
present), a #PF would be legitimate, and the handler would then need
to reload CR3. But such a #PF is what, according to the comment, Win7
chokes on. So it can only be the former case, yet what we do here is
fill the (virtual) TLB _and_ raise #PF. Win7 apparently ignores this
as spurious, but that's not required behavior for an OS afaik.

> Filling just one sl3e sounds plausible, though we don't want to go
> back to the idea of having L3 shadows on PAE!

Of course.

>> Furthermore the sh_update_cr3() will also invalidate L3 entries which
>> were loaded successfully before, but invalidated by the guest
>> afterwards. I strongly suspect that the described hardware behavior is
>> _only_ to load previously not-present entries from the PDPT, but not
>> purge ones already marked present.
> 
> Very likely, but we *are* allowed to forget old entries whenever we
> want to, so this is at worst a performance problem.

That depends on the model, I think: In the original Intel model PDPTEs
cannot be "forgotten". In some AMD variants, where L3 is walked normally,
they of course can be.

>> IOW I think sh_update_cr3() would
>> need calling in an "incremental" mode here.
> 
> This would be the best way of updating just the one entry - but as far
> as I can tell the existing code is correct so I wouldn't add any more
> complexity unless we know that this path is causing perf problems.

If it was/is just performance - sure.

>> In any event emitting a TRC_SHADOW_DOMF_DYING trace record in this case
>> looks wrong.
> 
> Yep.

Will add another patch to the series then.

>> Beyond the "on demand" L3 entry creation I also can't see what guest
>> actions could lead to the ASSERT() being inapplicable in the PAE case.
>> The 3-level code in shadow_get_and_create_l2e() doesn't consult guest
>> PDPTEs, and all other logic is similar to that for other modes.
> 
> The assert's not true here because the guest can push us down this
> path by doing exactly what Win 7 does here - loading CR3 with a
> missing L3E, then filling the L3E and causing a page fault that uses
> the now-filled L3E.  (Or maybe that's not true any more; my mental
> model of the pagetable walker code might be out of date)

Well, I specifically started the paragraph with 'Beyond the "on demand"
L3 entry creation'. IOW the assertion would look applicable to me if
we, as suggested higher up, retried shadow_get_and_create_l1e() and it
failed again. As the comment there says, "we know the guest entries are
OK", so the missing L3 entry must have appeared.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 10:42:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 10:42:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515643.798728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph6mt-0001hr-C2; Tue, 28 Mar 2023 10:42:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515643.798728; Tue, 28 Mar 2023 10: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 1ph6mt-0001hk-7h; Tue, 28 Mar 2023 10:42:47 +0000
Received: by outflank-mailman (input) for mailman id 515643;
 Tue, 28 Mar 2023 10:42: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 1ph6mr-0001hY-IV; Tue, 28 Mar 2023 10:42: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 1ph6mr-0001sY-F8; Tue, 28 Mar 2023 10:42: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 1ph6mq-00063P-VK; Tue, 28 Mar 2023 10:42:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ph6mq-0008SW-Ul; Tue, 28 Mar 2023 10:42: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=RUZEHzBPuQXveMHAtQ3xT0lnjsZz/OpgSilN1ZYtq8o=; b=KRfkXwYuu3l4+8OdI6T5eAfEYj
	wwsxaX1BnPL7M30IiT0rJikaGfj+UkbQ4PbqRtzxe+JUm30p3gAn7GJy31v9AhCMdEBKp1r3LW+df
	uTLGVt+mkMv0aNyePktTZIPsnB4UEq1kG82jqYf2BqHJFTIaEzHxbJELgJ7WyCgBY858=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180035-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 180035: tolerable trouble: fail/pass/starved
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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
X-Osstest-Versions-That:
    xen=b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Mar 2023 10:42:44 +0000

flight 180035 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180035/

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 180024
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 180024
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 180024
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 180024
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 180024
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail like 180024
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 180024
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 180024
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 180024
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 180024
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-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-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
baseline version:
 xen                  b1f11273d5a774cc88a3685c96c2e7cf6385e3b6

Last test of basis   180035  2023-03-28 01:52:06 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 Mar 28 10:46:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 10:46:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515650.798738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph6qP-0002ON-0R; Tue, 28 Mar 2023 10:46:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515650.798738; Tue, 28 Mar 2023 10: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 1ph6qO-0002OG-TG; Tue, 28 Mar 2023 10:46:24 +0000
Received: by outflank-mailman (input) for mailman id 515650;
 Tue, 28 Mar 2023 10:46:24 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=cOFk=7U=citrix.com=prvs=44429d01f=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1ph6qO-0002OA-3k
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 10:46: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 c66d5cf1-cd55-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 12:46:22 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c66d5cf1-cd55-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680000382;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=KjxABWvDmB1pgxMHLN50dAXerqKDFh0e/CViqJ3PLt8=;
  b=JBiWy6QL5H0f9xWw0zg6BCfU6kYUKaN4wQQ/XCpkKc71mcr1uVGSILx1
   hpEoYKqA1+0RMqo9xDLMjsW1pykObOzq4xcp1vYBZd+TuxTTfHpFGyyqo
   2y5PYuXexWNXSKk3JD/i+FpNYKnB16l08isBCljQOHohDlF0pxes4Pxtj
   c=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103709986
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:6rhWoa+XAk0V6kPte653DrUD8nmTJUtcMsCJ2f8bNWPcYEJGY0x3x
 zYWCmqFa6zYNDD3LtBwaYi190gCu8DdmNRiSAc9qnw8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqob5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkl27
 MQxDhcqKSmBuMOuz5GwZc9XmP8seZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGOkcUUrsUIMtWcOOAj3/jczpeuRSNqLA++WT7xw1tyrn9dtHSf7RmQO0Mxh3H/
 jOXrzqR7hcyP9y0k2KD0yqVp+LMhSjgZcFVP56F36s/6LGU7jNKU0BHPbehmtG7gEOjX9NUK
 2QP5zEj66M18SSDT8L0Xh65pjuIux8AQct4AuQ85AydjLDJiy6GAkAUQzgHb8Yp3Oc0SiYtz
 UShhM7yCHpkt7j9YXCA8raZqxuiNC5TKnUNDQcfVhcM6dTnpIA1jzrMQ8xlHarzicf6cRnsy
 jWDtwAihLEei8Ea2qH99lfC6xqlp4PATwo8zg/WQm6o4A5/aIO/IYev7DDz9e5BNo2QSlCLo
 VAOmtSS4e4DC52AjmqGR+BlNLO04bCDOT7Vg19qFrEg8Sig/zioeoU4yDJzOkZvdNoFcDnBY
 UnPtAcX75hWVFOjZ6JzZJ+qDNoC1bT7GN/4TPHIf5xFZZ0ZXB+K+mRiaFCd20jpkVMwiucvN
 JGDa8GuAH0GT6N9w1KeTv8Qy7YxyggixGnYQtbwyBHP7FaFTCfLE/FfagLIN71nqvre+2057
 uqzKeOy0i12dsrZJRDVzq8LInMBAl4AG6v5/pk/mvG4HuZ2JI0wI6aPnuJwK9w5w/Q9evTgp
 S/kBBIBoLbrrTiecFjRNCg+AF/6dcwnxU/XKxDAKrpBN5ILRY+0pJkSeJIsFVXM3LwylKUkJ
 xXplijpPxiudtgk025HBXUFhNY+HClHfCrXV8ZfXBAxfoR7WyvC8cL+cw3k+UEmV3To5Jpi+
 u37iVmFGfLvojiO6u6MMJpDKHvv1UXxZcooBxeYSjWtUByEHHdWx9zZ0aZsfpBkxeTrzTqGz
 QeGaSolSR32i9ZtqrHh3PnUx7pF5sMiRiK26UGHt+fpXcQbl0L/qbJ9vBGgJGqMBDuvqPX4O
 o24DZjUaZU6obqDiKIke54D8E70z4KHS2Nypui8IEj2Ug==
IronPort-HdrOrdr: A9a23:F+X/qa2dHNIo6OuRXXqvrAqjBHUkLtp133Aq2lEZdPRUGvbo8f
 xG/c566faQsl0ssR4b+OxoVJPwJE80lqQFmLX5X43SJDUO0VHARO4N0WKL+UyaJ8SUzJ846U
 4PSdkYNPTASXVBoILdxiLQKbodKd+8mpyAtKPl400oZydMRIFP0zxQNya8NQlNaDQuP+tbKL
 OsosVGoja7eWcadK2Aa0UtVfTYutvOmInHTHc9dnwa1DU=
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="103709986"
Date: Tue, 28 Mar 2023 11:46:09 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Dmitry Isaykin <isaikin-dmitry@yandex.ru>, Wei Liu <wl@xen.org>, "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>, Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu
	<ppircalabu@bitdefender.com>, Roger Pau =?iso-8859-1?Q?Monn=E9?=
	<roger.pau@citrix.com>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
	<kevin.tian@intel.com>, Anton Belousov <abelousov@ptsecurity.com>,
	<xen-devel@lists.xenproject.org>
Subject: Re: [XEN PATCH v5] x86/monitor: Add new monitor event to catch I/O
 instructions
Message-ID: <615cc24c-9ab8-47dc-bad3-f45258494428@perard>
References: <7bd5ec4ff75ea0157d782f8820db1d17b6ad1289.1679406554.git.isaikin-dmitry@yandex.ru>
 <77245440-079f-50bd-7237-a44317642b3f@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <77245440-079f-50bd-7237-a44317642b3f@suse.com>

On Tue, Mar 28, 2023 at 10:59:37AM +0200, Jan Beulich wrote:
> On 21.03.2023 14:58, Dmitry Isaykin wrote:
> > Adds monitor support for I/O instructions.
> > 
> > Signed-off-by: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
> > Signed-off-by: Anton Belousov <abelousov@ptsecurity.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> On top of Kevin's R-b and besides Tamas'es (to-be-re-instated) ack this
> also would preferably get one from Anthony.

Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 10:55:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 10:55:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515654.798747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph6yq-0003xX-Qe; Tue, 28 Mar 2023 10:55:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515654.798747; Tue, 28 Mar 2023 10: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 1ph6yq-0003xQ-Nr; Tue, 28 Mar 2023 10:55:08 +0000
Received: by outflank-mailman (input) for mailman id 515654;
 Tue, 28 Mar 2023 10: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=UojI=7U=citrix.com=prvs=444182d81=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1ph6yp-0003xK-D5
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 10:55:07 +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 fe27164b-cd56-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 12:55:05 +0200 (CEST)
Received: from mail-bn1nam02lp2045.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 06:55:01 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6536.namprd03.prod.outlook.com (2603:10b6:a03:394::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.41; Tue, 28 Mar
 2023 10:54:58 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 10:54: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: fe27164b-cd56-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680000905;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=ghup7X43Ve7ShV0jGKZUOfSzgg8oEtfXsxVzGBo/vD4=;
  b=WzQYcaJIT04afczcch2VAd7a4Sf4Bt0leHeTxOxfXvIfLxsHubc69GTp
   7k5nzfooPRB4YJhHBaWHPFdZiTKhfozfA7gdOdwpfK7ttBGZkoB51Szxd
   lc87/YQ7Ova8ycDPyrHDoWpRTETikQxFhUHcfWHalNc7Nb/G3ibWHGZJn
   8=;
X-IronPort-RemoteIP: 104.47.51.45
X-IronPort-MID: 103218658
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:nUHXh68fvAIayjDybBtmDrUDaX+TJUtcMsCJ2f8bNWPcYEJGY0x3z
 GIcDGCAO/eIZWSgedh0boniph5Q6JTWxt5lSAVq/ig8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqob5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklSz
 bszLC1WcSu7vM+rxJ2Ve+MwisQKeZyD0IM34hmMzBn/JNN+G9XpZfyP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWKilAsuFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuiANlITe3mq64CbFu760pPNho3VmGBkeCzrGW+RIx2K
 WIKw397xUQ13AnxJjXnZDWorXjBshMCVt54F+wh9BrL2qfS+xyeBGUPUnhGctNOnMM7QD0C1
 1mXnsjoDzhirL2UT32G8r6e6zi1PEA9D0UPeCsFRgst+MT4rcc4iRenZs14DKe/g9nxGDfx6
 zOHti4zg/MUl8Fj/7q/1UDKhXSrvJehZgwo4gTaWEq14wU/Y5SqD7FE8nDe5PdEaYyfF1+Iu
 SBen9DEtLxTS5aQiCaKXeMBWqmz4OqIOyHdhlgpGIQ98zOq+DioeoU4DCxCGXqF+/0sIVfBC
 HI/cysLjHOPFBNGtZNKXr8=
IronPort-HdrOrdr: A9a23:AFuIha8alYnF2vr6wH9uk+DJI+orL9Y04lQ7vn2ZKCY5TiX8ra
 vFoB11726WtN9vYgBDpTntAse9qBDnmaKdg7NwAV7KZmCPhILCFu5fBOXZogEIEheOk9Jg6Q
 ==
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="103218658"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TV1/DhuE5gHmEMQyuonNFZQkKAwPVQrAG3kEUwUxzih3aY/DnCheQz3UQoSQim52+bewdn2n0jz6XGFB2Jp3lBxH6DZBzJKT88rT5wm9mVi7A/pirukD1yA1jtZDgcbFd8pjQ4t7ObJHfnu7DvU/gYUEpUYKtJhV/YX5Pm1Ag3BxBkn5B3YWvfTZpla+AJmNaxwtR1WPWhOQnMrOZU0fnmqXQbBmICyC0DdWen/20ZbLhG4H+zv6qEELn8bTPCRvRiX7h1uofHopGFwal2xs51c8ckFWx7cHBssTUGUWZ8SQh4jHeqXmKNg2dUNCf2DXua4vVq6Mi/xZAI8aWVvhcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PynbXxAGCQq0cz4TLXXjtNT46kbM04f/9WFDZlFGHTE=;
 b=hh8aRudbqsFYdYwI2OxQUPNYcUtmSzGC2Gr1QMtXTUyPeawd+rLkWBgexcpqyWwB2sCbHSIpA2t1YksDUwJKmkNykQFH87tJUBeJI8qdS3ch9QdCq0Qc8QcHKwijJDswKRd0lBTmRwIwAcDvdbwFSxQUR3L8xlp1vucrj4GQKunlKfjA1BdUYN+V654kZ+dNbX1bOnOM/5Cvn0YSOcb7SfnwDc1oxGYL6Da/A8/VLVmWYpyfwKcVhGF3mc0xrdUi6YUNR7scaTUpez+2J9UdBC0Mu08xJkAqtwnycpcXBDMSd49WEixHMN2a7CzyXYyGGghbt4+XlrKiTWr+Cfoi1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PynbXxAGCQq0cz4TLXXjtNT46kbM04f/9WFDZlFGHTE=;
 b=nsIunUaWeZ9SS54zBYnKdU63ZqB0AdNQKefXtx8Qco0Rg26WMnxcuk2eqX13l8EZFW9cey5gtqwUvN+y3dDih6eG0qxufg4n2Nh2DtkopQkrtic0kMPOQhhSBCaUfzEgXnmNu+/cp2Y6rX18XHfJZJRHBkz0rwSv0m2NrLrmiJ8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <504baa65-7fd8-0492-55a3-48bac5aa7f27@citrix.com>
Date: Tue, 28 Mar 2023 11:54:53 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] configure: Drop --enable-githttp
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Demi Marie Obenour <demi@invisiblethingslab.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>
References: <20230324201404.3247572-1-andrew.cooper3@citrix.com>
 <d3d2c13f-5fed-4f02-91f3-be803b2f8588@perard>
In-Reply-To: <d3d2c13f-5fed-4f02-91f3-be803b2f8588@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0654.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:296::12) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6536:EE_
X-MS-Office365-Filtering-Correlation-Id: 6fe2a0c1-d2d0-4a2f-1a4b-08db2f7adf60
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KN48/N2DL0ggW0ZCmeyGzhXsO04XsutFoliG9Ws1ItE0lct5SN9gi6CTFnq13j+VWoE/1Mr0HY9g0ScmGrzoxWM54j7xiuf4m77vSsQCqlj1shHG91ueKgNhbtsWLeclcVnUjP+SJCfEuq9IleYhw4z84KwrsoeWwjzwxdotI4NR6vI36oql82xE8J3PXnheQBOma27BibbQUW+A7nzoRXKxb8QJC+GR0sTaN8vjK9xdFlPlNiL8/qisxJuMYUY2hw3UfNzHsLGeZM5WYufl0YUuHDAAROCq3NU/JoAqL4c7qwIgAvafOeKuJM55fekeRalhzZuQQgWGXzlIJqa76d4hPLbQonboSR/DPfNk/Jooh4YGn0yfPLqCze0CFdZ8m7q7Hajc+wZF8TNX0ANn30JthBYKuFvN6MTi6uiLMN4J9RYnU4wfg2yAyCuATOl470qrFmYFS9FGxl5wEPSW5cICC+Rc5weUbTJf5i0USPyAp+0lC1qSwJtT5/VMdKwLViLm/y1lxjI/HRhwCAjgttvU+bcTdgw7+jRbDDAgujPLdgu2eUGsZAW6fs2Xyf7pGRxkc1F9ItMeXYCfMHiE7WkNPnwa0pQ4CdVjJ9ufnh4tmPpTpEJahnJt+4637vhdjLg86JKYIIq3Xdt6bhwaHg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(136003)(376002)(366004)(396003)(39860400002)(451199021)(86362001)(38100700002)(6636002)(54906003)(4326008)(8676002)(66476007)(4744005)(316002)(5660300002)(2906002)(82960400001)(6862004)(37006003)(8936002)(2616005)(66946007)(41300700001)(31686004)(478600001)(66556008)(6486002)(31696002)(26005)(6666004)(186003)(6506007)(6512007)(53546011)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ekkyV2pINVFmb0p6akxrSVFnK1Arb056ZW8vOTlycHR5NndUdkRrQURDVVVk?=
 =?utf-8?B?eTdRSnhVSmZieTJ6Vy9aU3Z5MDNqSWUrbWdZSGxSMk5Xd2twYkhpOExRakRD?=
 =?utf-8?B?ajhVTndkdjgyamxsTWlxdGxzdGZ5UU1IVFZoWHFaRVdGcGsrNEF0TWdmYmtP?=
 =?utf-8?B?eUJaelRiMG9yNC9GdUxxaG8yNUxwT2JFeVR4M2FQRHh0a3NROXBTcGozVm01?=
 =?utf-8?B?SDBsNGFkOFVFOG5XOVRzUHRSeHFJN3hVaDA1ZkY5ektDREM2WEpVam9XMkpL?=
 =?utf-8?B?cmpVc1J6V1ZmdFR2MVZqcnVlYXhBNFQ1RFkyclFkM3U0TVpvanBzR2cwRC82?=
 =?utf-8?B?b2diRzM5TEx3TFo2VlRPZjFqSHdvZ2hJQ0NBSVFDNHc2V2xEcnkycHpYM3px?=
 =?utf-8?B?NUNzMEx3N1c0am5sMmlxOFZzanU5d2FxNk1vdXk2Y1hqTjNKd1pCRUVZY3l6?=
 =?utf-8?B?Vm05ZnB1Zlp5ZWRLWEhWdmV6ajh6Z3JhdnVSdUtLVnl3UW11azhSVUtvTFFY?=
 =?utf-8?B?dlpxSWRBdWQzNkVVUU1rOGlTM01DNjV2eThsSWprY1ZoY1VQbG9hcG1GM0I1?=
 =?utf-8?B?YU94YzJVbmxkYk9iWXBpVzVXY2xWS1drbDFBQ002UmRINU1rL29ZRUtUTjNE?=
 =?utf-8?B?aDE2VjBKczlxc0piOFNkc20yRitKeTh2aHMydCtVVmVSVVFIUldKaWJqMmU1?=
 =?utf-8?B?WGU4SEtJMXY0b1BhSkJJMTFaSG5sMnZRZERkTmpGdTZQSTQxRWVyVlFSZ3ln?=
 =?utf-8?B?WkdNdTVNZ3dyamhUbFlkNER0dmdUc1ZBREJaK0wwdmZyUHpkUEtEbGx0WjJu?=
 =?utf-8?B?UzRKeVhLem1kdEJ6TzltUmU4dWhtaERYT2pGQWpRbHJ0bkZNeWVyNUovanFk?=
 =?utf-8?B?eFpUaW1FL2ZBNFRYMHM3NVp4aGtyQVdmV241Y2ZybjlGc29ka1UyZm05aC9v?=
 =?utf-8?B?YXpBV2s5cks2Y3YycGN3V0RGcmd1bTEvWHhMRGdMbmFONkF1MXlwZFcyejhz?=
 =?utf-8?B?WTljekJYYkVVelZNTTQ4QlAwMVZvSm5BS3crN2wzVlI5b3R5MHpnY0N6Wmd5?=
 =?utf-8?B?aHhmOEZJaWZiV2FDbmhnbCtQSE9IU25RQXd5Yytkb29keFE0ME1TNmhBU1Za?=
 =?utf-8?B?MDZxMzlQZGVrRFlta0dFUDRkM3hicHd5dEdBVE1rNmZnSHFWRjRHQWppWEdy?=
 =?utf-8?B?b1JNMkVBekZuNUhxb2dSRjZJOHZDWWVEdCtIUlo5NjNWS0xQQWd2TnEvNGc3?=
 =?utf-8?B?L2E1TFhaMnA2bWtnM3FybG55RWpER0NaVmZHb09HeHB5VlpScHZYeEF3TSt0?=
 =?utf-8?B?dnVmYVFQa0hTQ0hDMU13WjVIc1pPc3F6VEZaNkZpSGVpNzhWcjllazVvaGR0?=
 =?utf-8?B?ZnNiMDBVMzNHeEdTbGJEQkxKbXBta1h5YWRWK1ZJVnU0eE5hL2pMOGRtNm1G?=
 =?utf-8?B?OTN4MFB4TmRlemtuVU92M1pMZHRod3YxNkE5R3FHRGpEUzlmUzZsSjh5VzhH?=
 =?utf-8?B?aUZkOG85MUI1TXFYSWxPVE15Q0hDY2FoZm8wbWxPYWVsNW1TUjFHVVZ6UmM1?=
 =?utf-8?B?eW1oL2xhSHovclhEQU1PYzZETjYvYTFwMDNOaVgzUU9EaUk4K21KK0Y5OHRX?=
 =?utf-8?B?OUZzUWFNWjFoc2xCQ200ZElCT2habzNxRlRMOGVzUDYzeHNncVNuMTBkSjVl?=
 =?utf-8?B?VlBOVGZWck0zWDJNK25tVWlMUU5PQ1JoTHg5dGpNWEJDYVpjSTJ6VWpkK09u?=
 =?utf-8?B?aWM1dUpTMUJPNko0SW0xb0FaUGgrQk9PamZKNVhabkpibnMzM3pXVzdKY3Y5?=
 =?utf-8?B?ek9peVFQa3QySGkybDNwTHZkMnhHL3AxRFpwQ1NQR0E3eEZBWTZKWlJQank3?=
 =?utf-8?B?V1hBOEFSVVJ6L2djWEkrR2MxYXd2UkZTbTcvTWx2aWZyaXdEaVRLcmFOZEpH?=
 =?utf-8?B?UzU3SUhlRGlKYWtEbHNEUUI0empvRnE3VUUveVV3emUyc3NJZCtVOEdpeFlF?=
 =?utf-8?B?ZW5xNDNpUVNTNGd6ZGFUQklUc25Nck53SVFSWHA4MitSNUNya3l0YkkreU96?=
 =?utf-8?B?OFNvZUxBbHNHR0ZqdHBabkVLRCtReGpTeUMramxkSFV1cElzTnVyQ1paTzNu?=
 =?utf-8?B?Mmtzb29lR1IzN1NSSEV2VHJBRCtJQ2xVUldKMHh3RnY1bndnQzNYRjh6R0hZ?=
 =?utf-8?B?V3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	KWtnptQtZj63v+kw3jhPsGKF7+C+LkQTdnK0zFO5aRNjwiEuSqzpPryQiZetpBEl/K10TfKXowaI1laknixdTED3A+BgGsS+eqxARP1yoB7OTrcUax7wdOwQDfFWAqx4atBZwX1e+1f++UsJLxvlpICUF/ZRe8nX+13ElGHm53ZONf1aXsIpBUVZmcD29n7cgC5pn52ERkeVdI8gTmqvq9dsXBOhvT6Udz2/a5ZKHhJE+AILiGqRiTdxv0Z0XSsiRV+MOrp2bOS1mEMkXsx7dnZpsOvy54BTY/XXb3DxdHSaQudaCdofy4v8vOQHqpvyJvbizXnMJh9/XBH/4Xgsa6zrZIawHRGjEw3w8i4cPav5b6bjBKL9CPwAe3p2Rghuiw5ywaqkLrSJn8LVst8DxM5T9blsvBau7yL82J5cjcD4uxirYHkB5viIYIeL7DjUAUm19ryaGapJvIV6Ehx/+LmAmq7cYvDdYdf1bC5TM4JGYx7/LW/ETQ36yEVbT/D5U03utjKkdCUDvSIam6JGHKsBEEKC2fE6T+/vJQWAkc4aaOttBbIN5uQhLlTsYvJQe0x6xAeh7z/vyNDTD4uUyPameCdR28uOzORrrVrQYhNaIy43XNpuFiJXlhXWJrSD2yvGxiVShBppwJwypm02hHEYzgt2cu+5wNqyBMwdY85ebcY4T91YjKOY2rSVFa1sWrO0WOxyx0jGwQFcz7+qRvnegqQqDJnV3sQc/HsNpdFeLNSIADIpnSG3fYEddlDh3zwPtL8RI7xL/AuxfkEd17tBN2ozrwqiL7k6jYIHCcp/cDLrbAE0DA2NMtvXVikU/q05z2keFv+2H91Xu/hLhVSSW2Ub6ecJuC4gcPEBEIWlHK1rUw+EiKRJTcNtaI9wucAX3rMmcu2QVWMMITTyH93/eqd3WZjyVsxgJPLTNU4=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6fe2a0c1-d2d0-4a2f-1a4b-08db2f7adf60
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 10:54:58.6334
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dZNEXqEaA+V9sg4gaLCVK26MKixj8mNVTQlUlX0fA/rT7O6ASuHR5Wx1WauIlKyKRto+tsh3exWxN9dvkPGobnhWNGlDwhW9MenSxl5u6JM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6536

On 27/03/2023 3:00 pm, Anthony PERARD wrote:
> On Fri, Mar 24, 2023 at 08:14:04PM +0000, Andrew Cooper wrote:
>> Following Demi's work to use HTTPS everywhere, all users of GIT_HTTP have
>> been removed from the build system.  Drop the configure knob.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Do we need a changelog entry about these changes? (That git clone are
> now default over https and --enable-githttp / GIT_HTTP are ignored.)

Yeah, I was going to write one after everything has gone on, because its
more than just this one issue.

> In any case:
> Acked-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 10:58:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 10:58:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515657.798758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph72I-0004Z2-8x; Tue, 28 Mar 2023 10:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515657.798758; Tue, 28 Mar 2023 10: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 1ph72I-0004Yv-60; Tue, 28 Mar 2023 10:58:42 +0000
Received: by outflank-mailman (input) for mailman id 515657;
 Tue, 28 Mar 2023 10:58: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=WLKu=7U=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ph72H-0004Yp-8W
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 10:58:41 +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 7eca7b52-cd57-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 12:58:39 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id CA3DD219D0;
 Tue, 28 Mar 2023 10:58: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 90F371390D;
 Tue, 28 Mar 2023 10:58:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id rWPrIV7IImRnfQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 28 Mar 2023 10:58: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: 7eca7b52-cd57-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680001118; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=JcTpx7oqnqnbUFSMAXkJp9bY3dxx2D+gAhxJsUNceng=;
	b=a8Ut/Gbuwg1fLhLobNIxlJY2I1UuHRPp8TPslzsY1XAVH1lBzAlcbQh4j6SL2wGN42XHCG
	e9nyil4OMslMN3tQlbj+XDNsSz1uQFkS38svcZ3N4Qb4j2j77+fW3wWdmZBXGBrVC7ZjRZ
	3VXHpBCbpquf1eI8bVFkamBMfG+Psr0=
Message-ID: <bd3dbee2-2cae-228c-fd31-05911fef2a89@suse.com>
Date: Tue, 28 Mar 2023 12:58:38 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH] xen/pvcalls: don't call bind_evtchn_to_irqhandler() under
 lock
Content-Language: en-US
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, Dan Carpenter <error27@gmail.com>,
 linux-kernel@vger.kernel.org
References: <20230328093924.12260-1-jgross@suse.com>
 <a9799084-fef5-73b2-3631-6d61c713a18f@gmail.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <a9799084-fef5-73b2-3631-6d61c713a18f@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------8v2meAxAYsA631pM7Yk8AcmT"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------8v2meAxAYsA631pM7Yk8AcmT
Content-Type: multipart/mixed; boundary="------------ZZ3Z0CuDQgh7Sc7u4VooHLRG";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Oleksandr Tyshchenko <olekstysh@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, Dan Carpenter <error27@gmail.com>,
 linux-kernel@vger.kernel.org
Message-ID: <bd3dbee2-2cae-228c-fd31-05911fef2a89@suse.com>
Subject: Re: [PATCH] xen/pvcalls: don't call bind_evtchn_to_irqhandler() under
 lock
References: <20230328093924.12260-1-jgross@suse.com>
 <a9799084-fef5-73b2-3631-6d61c713a18f@gmail.com>
In-Reply-To: <a9799084-fef5-73b2-3631-6d61c713a18f@gmail.com>

--------------ZZ3Z0CuDQgh7Sc7u4VooHLRG
Content-Type: multipart/mixed; boundary="------------KhWCnnap0ZD04wlpoW0NFLhH"

--------------KhWCnnap0ZD04wlpoW0NFLhH
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjguMDMuMjMgMTI6MzQsIE9sZWtzYW5kciBUeXNoY2hlbmtvIHdyb3RlOg0KPiANCj4g
DQo+IE9uIDI4LjAzLjIzIDEyOjM5LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPiANCj4gSGVs
bG8gSnVlcmdlbg0KPiANCj4gDQo+PiBiaW5kX2V2dGNobl90b19pcnFoYW5kbGVyKCkgc2hv
dWxkbid0IGJlIGNhbGxlZCB1bmRlciBzcGlubG9jaywgYXMgaXQNCj4+IGNhbiBzbGVlcC4N
Cj4+DQo+PiBUaGlzIHJlcXVpcmVzIHRvIG1vdmUgdGhlIGNhbGxzIG9mIGNyZWF0ZV9hY3Rp
dmUoKSBvdXQgb2YgdGhlIGxvY2tlZA0KPj4gcmVnaW9ucy4gVGhpcyBpcyBubyBwcm9ibGVt
LCBhcyB0aGUgd29yc3Qgd2hpY2ggY291bGQgaGFwcGVuIHdvdWxkIGJlDQo+PiBhIHNwdXJp
b3VzIGNhbGwgb2YgdGhlIGludGVycnVwdCBoYW5kbGVyLCBjYXVzaW5nIGEgc3B1cmlvdXMg
d2FrZV91cCgpLg0KPj4NCj4+IFJlcG9ydGVkLWJ5OiBEYW4gQ2FycGVudGVyIDxlcnJvcjI3
QGdtYWlsLmNvbT4NCj4+IExpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2xrbWwvWStK
VUlsNjRVRG1ka2JvaEBrYWRhbS8NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3Mg
PGpncm9zc0BzdXNlLmNvbT4NCj4+IC0tLQ0KPj4gwqAgZHJpdmVycy94ZW4vcHZjYWxscy1m
cm9udC5jIHwgNDYgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQ0KPj4g
wqAgMSBmaWxlIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDE5IGRlbGV0aW9ucygtKQ0K
Pj4NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmMgYi9kcml2
ZXJzL3hlbi9wdmNhbGxzLWZyb250LmMNCj4+IGluZGV4IGQ1ZDU4OWJkYTI0My4uNmU1ZDcx
MmUzMTE1IDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy94ZW4vcHZjYWxscy1mcm9udC5jDQo+
PiArKysgYi9kcml2ZXJzL3hlbi9wdmNhbGxzLWZyb250LmMNCj4+IEBAIC0yMjcsMjIgKzIy
NywzMSBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgcHZjYWxsc19mcm9udF9ldmVudF9oYW5kbGVy
KGludCBpcnEsIA0KPj4gdm9pZCAqZGV2X2lkKQ0KPj4gwqAgc3RhdGljIHZvaWQgZnJlZV9h
Y3RpdmVfcmluZyhzdHJ1Y3Qgc29ja19tYXBwaW5nICptYXApOw0KPj4gLXN0YXRpYyB2b2lk
IHB2Y2FsbHNfZnJvbnRfZnJlZV9tYXAoc3RydWN0IHB2Y2FsbHNfYmVkYXRhICpiZWRhdGEs
DQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBzb2Nr
X21hcHBpbmcgKm1hcCkNCj4+ICtzdGF0aWMgdm9pZCBwdmNhbGxzX2Zyb250X2Rlc3Ryb3lf
YWN0aXZlKHN0cnVjdCBwdmNhbGxzX2JlZGF0YSAqYmVkYXRhLA0KPj4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHNvY2tfbWFwcGluZyAqbWFw
KQ0KPj4gwqAgew0KPj4gwqDCoMKgwqDCoCBpbnQgaTsNCj4+IMKgwqDCoMKgwqAgdW5iaW5k
X2Zyb21faXJxaGFuZGxlcihtYXAtPmFjdGl2ZS5pcnEsIG1hcCk7DQo+PiAtwqDCoMKgIHNw
aW5fbG9jaygmYmVkYXRhLT5zb2NrZXRfbG9jayk7DQo+PiAtwqDCoMKgIGlmICghbGlzdF9l
bXB0eSgmbWFwLT5saXN0KSkNCj4+IC3CoMKgwqDCoMKgwqDCoCBsaXN0X2RlbF9pbml0KCZt
YXAtPmxpc3QpOw0KPj4gLcKgwqDCoCBzcGluX3VubG9jaygmYmVkYXRhLT5zb2NrZXRfbG9j
ayk7DQo+PiArwqDCoMKgIGlmIChiZWRhdGEpIHsNCj4+ICvCoMKgwqDCoMKgwqDCoCBzcGlu
X2xvY2soJmJlZGF0YS0+c29ja2V0X2xvY2spOw0KPj4gK8KgwqDCoMKgwqDCoMKgIGlmICgh
bGlzdF9lbXB0eSgmbWFwLT5saXN0KSkNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGxp
c3RfZGVsX2luaXQoJm1hcC0+bGlzdCk7DQo+PiArwqDCoMKgwqDCoMKgwqAgc3Bpbl91bmxv
Y2soJmJlZGF0YS0+c29ja2V0X2xvY2spOw0KPj4gK8KgwqDCoCB9DQo+PiDCoMKgwqDCoMKg
IGZvciAoaSA9IDA7IGkgPCAoMSA8PCBQVkNBTExTX1JJTkdfT1JERVIpOyBpKyspDQo+PiDC
oMKgwqDCoMKgwqDCoMKgwqAgZ250dGFiX2VuZF9mb3JlaWduX2FjY2VzcyhtYXAtPmFjdGl2
ZS5yaW5nLT5yZWZbaV0sIE5VTEwpOw0KPj4gwqDCoMKgwqDCoCBnbnR0YWJfZW5kX2ZvcmVp
Z25fYWNjZXNzKG1hcC0+YWN0aXZlLnJlZiwgTlVMTCk7DQo+PiArDQo+PiDCoMKgwqDCoMKg
IGZyZWVfYWN0aXZlX3JpbmcobWFwKTsNCj4+ICt9DQo+PiArDQo+PiArc3RhdGljIHZvaWQg
cHZjYWxsc19mcm9udF9mcmVlX21hcChzdHJ1Y3QgcHZjYWxsc19iZWRhdGEgKmJlZGF0YSwN
Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IHNvY2tf
bWFwcGluZyAqbWFwKQ0KPj4gK3sNCj4+ICvCoMKgwqAgcHZjYWxsc19mcm9udF9kZXN0cm95
X2FjdGl2ZShiZWRhdGEsIG1hcCk7DQo+PiDCoMKgwqDCoMKgIGtmcmVlKG1hcCk7DQo+PiDC
oCB9DQo+PiBAQCAtNDMzLDE5ICs0NDIsMTggQEAgaW50IHB2Y2FsbHNfZnJvbnRfY29ubmVj
dChzdHJ1Y3Qgc29ja2V0ICpzb2NrLCBzdHJ1Y3QgDQo+PiBzb2NrYWRkciAqYWRkciwNCj4+
IMKgwqDCoMKgwqDCoMKgwqDCoCBwdmNhbGxzX2V4aXRfc29jayhzb2NrKTsNCj4+IMKgwqDC
oMKgwqDCoMKgwqDCoCByZXR1cm4gcmV0Ow0KPj4gwqDCoMKgwqDCoCB9DQo+PiAtDQo+PiAt
wqDCoMKgIHNwaW5fbG9jaygmYmVkYXRhLT5zb2NrZXRfbG9jayk7DQo+PiAtwqDCoMKgIHJl
dCA9IGdldF9yZXF1ZXN0KGJlZGF0YSwgJnJlcV9pZCk7DQo+PiArwqDCoMKgIHJldCA9IGNy
ZWF0ZV9hY3RpdmUobWFwLCAmZXZ0Y2huKTsNCj4+IMKgwqDCoMKgwqAgaWYgKHJldCA8IDAp
IHsNCj4+IC3CoMKgwqDCoMKgwqDCoCBzcGluX3VubG9jaygmYmVkYXRhLT5zb2NrZXRfbG9j
ayk7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgZnJlZV9hY3RpdmVfcmluZyhtYXApOw0KPj4g
wqDCoMKgwqDCoMKgwqDCoMKgIHB2Y2FsbHNfZXhpdF9zb2NrKHNvY2spOw0KPj4gwqDCoMKg
wqDCoMKgwqDCoMKgIHJldHVybiByZXQ7DQo+PiDCoMKgwqDCoMKgIH0NCj4+IC3CoMKgwqAg
cmV0ID0gY3JlYXRlX2FjdGl2ZShtYXAsICZldnRjaG4pOw0KPj4gKw0KPj4gK8KgwqDCoCBz
cGluX2xvY2soJmJlZGF0YS0+c29ja2V0X2xvY2spOw0KPj4gK8KgwqDCoCByZXQgPSBnZXRf
cmVxdWVzdChiZWRhdGEsICZyZXFfaWQpOw0KPj4gwqDCoMKgwqDCoCBpZiAocmV0IDwgMCkg
ew0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHNwaW5fdW5sb2NrKCZiZWRhdGEtPnNvY2tldF9s
b2NrKTsNCj4+IC3CoMKgwqDCoMKgwqDCoCBmcmVlX2FjdGl2ZV9yaW5nKG1hcCk7DQo+PiAr
wqDCoMKgwqDCoMKgwqAgcHZjYWxsc19mcm9udF9kZXN0cm95X2FjdGl2ZShOVUxMLCBtYXAp
Ow0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIHB2Y2FsbHNfZXhpdF9zb2NrKHNvY2spOw0KPj4g
wqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiByZXQ7DQo+PiDCoMKgwqDCoMKgIH0NCj4+IEBA
IC04MjEsMjggKzgyOSwyOCBAQCBpbnQgcHZjYWxsc19mcm9udF9hY2NlcHQoc3RydWN0IHNv
Y2tldCAqc29jaywgc3RydWN0IA0KPj4gc29ja2V0ICpuZXdzb2NrLCBpbnQgZmxhZ3MpDQo+
PiDCoMKgwqDCoMKgwqDCoMKgwqAgcHZjYWxsc19leGl0X3NvY2soc29jayk7DQo+PiDCoMKg
wqDCoMKgwqDCoMKgwqAgcmV0dXJuIHJldDsNCj4+IMKgwqDCoMKgwqAgfQ0KPj4gLcKgwqDC
oCBzcGluX2xvY2soJmJlZGF0YS0+c29ja2V0X2xvY2spOw0KPj4gLcKgwqDCoCByZXQgPSBn
ZXRfcmVxdWVzdChiZWRhdGEsICZyZXFfaWQpOw0KPj4gK8KgwqDCoCByZXQgPSBjcmVhdGVf
YWN0aXZlKG1hcDIsICZldnRjaG4pOw0KPj4gwqDCoMKgwqDCoCBpZiAocmV0IDwgMCkgew0K
Pj4gK8KgwqDCoMKgwqDCoMKgIGZyZWVfYWN0aXZlX3JpbmcobWFwMik7DQo+PiArwqDCoMKg
wqDCoMKgwqAga2ZyZWUobWFwMik7DQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgY2xlYXJfYml0
KFBWQ0FMTFNfRkxBR19BQ0NFUFRfSU5GTElHSFQsDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgKHZvaWQgKikmbWFwLT5wYXNzaXZlLmZsYWdzKTsNCj4+IMKgwqDCoMKg
wqDCoMKgwqDCoCBzcGluX3VubG9jaygmYmVkYXRhLT5zb2NrZXRfbG9jayk7DQo+IA0KPiAN
Cj4gTG9va3MgbGlrZSB3ZSBhbHNvIG5lZWQgdG8gcmVtb3ZlIHNwaW5fdW5sb2NrKCkgYWJv
dmUsIGNvcnJlY3Q/DQoNClRoYW5rcyBmb3IgY2F0Y2hpbmchDQoNCg0KSnVlcmdlbg0KDQo=

--------------KhWCnnap0ZD04wlpoW0NFLhH
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-----

--------------KhWCnnap0ZD04wlpoW0NFLhH--

--------------ZZ3Z0CuDQgh7Sc7u4VooHLRG--

--------------8v2meAxAYsA631pM7Yk8AcmT
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQiyF4FAwAAAAAACgkQsN6d1ii/Ey9/
mgf/TGZU4d8NiAWB/fAAkjSv8TdEWj4SIWKAAK1xecKxikwhj7N8Unb1gZPjUlZCJUAw0gH1U3dq
KScRvGE+oFEh7bVMQprQFdWxhYzuj3dSogUaF61xQpdZpJMvFXU6Cf1aRx6lgyC46aUMyRZJCMNI
yNkASNOdGmAqJMPMhU0SzS7P7qHHOJd1U6B8dfv4Xfijsxxsr5wGjA4h2na21T2I0GwSlS3x9PKz
00ehNV6zJYmWkCQg7V6CtW8coi7pdBcpJUgAuqac+GnrJuNwMF3COvdd4azqqDW6RSzNPAx8FNAe
l6Uap5Zfqy8PiVYgvbJ6lW1oqD3LLywXpIMjadbSYQ==
=7MIr
-----END PGP SIGNATURE-----

--------------8v2meAxAYsA631pM7Yk8AcmT--


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 11:13:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 11:13:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515662.798768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph7Fw-0007FC-JW; Tue, 28 Mar 2023 11:12:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515662.798768; Tue, 28 Mar 2023 11: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 1ph7Fw-0007F5-Gi; Tue, 28 Mar 2023 11:12:48 +0000
Received: by outflank-mailman (input) for mailman id 515662;
 Tue, 28 Mar 2023 11: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=HyHB=7U=tklengyel.com=bounce+v2+e181d6.cd840.1680001961.BAABAAWg_Frc9p6JxGBL7ZUexnUQBwSqZA==~xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1ph7Fu-0007Ex-Gp
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 11:12:46 +0000
Received: from so254-35.mailgun.net (so254-35.mailgun.net [198.61.254.35])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 75561bd4-cd59-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 13:12:43 +0200 (CEST)
Received: from mail-yw1-f170.google.com (mail-yw1-f170.google.com
 [209.85.128.170]) by
 6aa516786f5e with SMTP id 6422cba9eb301e4528ed4ec0 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Tue, 28 Mar 2023 11:12:41 GMT
Received: by mail-yw1-f170.google.com with SMTP id
 00721157ae682-545e907790fso106817747b3.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Mar 2023 04:12: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
X-Inumbo-ID: 75561bd4-cd59-11ed-b464-930f4c7d94ae
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=tklengyel.com;
 q=dns/txt; s=mailo; t=1680001961; x=1680009161; h=Content-Type: Cc: To: To:
 Subject: Subject: Message-ID: Date: From: From: In-Reply-To: References:
 MIME-Version: Sender: Sender;
 bh=3WZBG9TLPspWHZDsLArweosNPiAFJFpnR91857ID/Qg=;
 b=jn9x5H2eycb4NaJXxkCAH2tVZaI/UtrSmztil320GAmsd8lShYoWzNcJfQEcX+C/gKcSAY3h/XonQCJsoQlLAESdO+de6BHthZ4d0lLyMaRg0GvQifXxwZebMaRGZ3tEtgXV067u2LjOtLukgHXT3COuDnNFkzdmSTuU5dejBDSZeTml5ChOXlR9+zOiHY41N/f8mwNXCIVJZTPe6LaT1k4v6MkjfwEkJ4WTqkg8Q3NFKXkjrAwbTmAQZt1fRxuqrSWIwDmPPjypvXp13NwHh2FfMsdno5IgB9Qn/yKh+VWouOOpIA//K5XpG8txU3SRH0lzenNWQzqJHwZkLIHvpA==
X-Mailgun-Sending-Ip: 198.61.254.35
X-Mailgun-Sid: WyIyYTNmOCIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsImNkODQwIl0=
Sender: tamas@tklengyel.com
X-Gm-Message-State: AAQBX9etTXJegcLVNdQ56PdM8thXmEtpgGZ1yVVjoaVNtfSMBRRwhYNS
	6j57XcL85KzqErihNInoXJKsQnrLTXoYLjrtBcU=
X-Google-Smtp-Source: AKy350ZXiRmNTJ18hlDi07yMcjhgDV03/bQBH4JJbAeTAQVYe9v46y02fkpgI8/sq/gMz4kyEc0cYXgBTblwjXSf8KI=
X-Received: by 2002:a81:b617:0:b0:544:b864:5532 with SMTP id
 u23-20020a81b617000000b00544b8645532mr6614883ywh.3.1680001961002; Tue, 28 Mar
 2023 04:12:41 -0700 (PDT)
MIME-Version: 1.0
References: <7bd5ec4ff75ea0157d782f8820db1d17b6ad1289.1679406554.git.isaikin-dmitry@yandex.ru>
 <77245440-079f-50bd-7237-a44317642b3f@suse.com>
In-Reply-To: <77245440-079f-50bd-7237-a44317642b3f@suse.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Tue, 28 Mar 2023 07:12:04 -0400
X-Gmail-Original-Message-ID: <CABfawhku1rH336Lrxji816vZ1hjdgtXjkPHvhPCVKFEovQ=mqg@mail.gmail.com>
Message-ID: <CABfawhku1rH336Lrxji816vZ1hjdgtXjkPHvhPCVKFEovQ=mqg@mail.gmail.com>
Subject: Re: [XEN PATCH v5] x86/monitor: Add new monitor event to catch I/O instructions
To: Jan Beulich <jbeulich@suse.com>
Cc: Dmitry Isaykin <isaikin-dmitry@yandex.ru>, 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>, 
	Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, 
	Anton Belousov <abelousov@ptsecurity.com>, xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000001b8ca905f7f3f0e3"

--0000000000001b8ca905f7f3f0e3
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 28, 2023 at 4:59=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 21.03.2023 14:58, Dmitry Isaykin wrote:
> > Adds monitor support for I/O instructions.
> >
> > Signed-off-by: Dmitry Isaykin <isaikin-dmitry@yandex.ru>
> > Signed-off-by: Anton Belousov <abelousov@ptsecurity.com>
>
> Acked-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

--0000000000001b8ca905f7f3f0e3
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><br><br>On Tue, Mar 28, 2023 at 4:59=E2=80=AFAM Jan Beulic=
h &lt;<a href=3D"mailto:jbeulich@suse.com">jbeulich@suse.com</a>&gt; wrote:=
<br>&gt;<br>&gt; On 21.03.2023 14:58, Dmitry Isaykin wrote:<br>&gt; &gt; Ad=
ds monitor support for I/O instructions.<br>&gt; &gt;<br>&gt; &gt; Signed-o=
ff-by: Dmitry Isaykin &lt;<a href=3D"mailto:isaikin-dmitry@yandex.ru">isaik=
in-dmitry@yandex.ru</a>&gt;<br>&gt; &gt; Signed-off-by: Anton Belousov &lt;=
<a href=3D"mailto:abelousov@ptsecurity.com">abelousov@ptsecurity.com</a>&gt=
;<br>&gt;<br>&gt; Acked-by: Jan Beulich &lt;<a href=3D"mailto:jbeulich@suse=
.com">jbeulich@suse.com</a>&gt;<br><div><br></div><div>
Acked-by: Tamas K Lengyel &lt;<a href=3D"mailto:tamas@tklengyel.com" target=
=3D"_blank">tamas@tklengyel.com</a>&gt;

</div></div>

--0000000000001b8ca905f7f3f0e3--


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 11:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 11:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515668.798778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph7Tz-0000TL-SW; Tue, 28 Mar 2023 11:27:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515668.798778; Tue, 28 Mar 2023 11:27: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 1ph7Tz-0000TE-Nx; Tue, 28 Mar 2023 11:27:19 +0000
Received: by outflank-mailman (input) for mailman id 515668;
 Tue, 28 Mar 2023 11:27:17 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbbH=7U=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1ph7Tx-0000T8-Oj
 for xen-devel@lists.xen.org; Tue, 28 Mar 2023 11:27:17 +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 7dbe7cd2-cd5b-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 13:27:16 +0200 (CEST)
Received: by mail-wm1-x32a.google.com with SMTP id
 d11-20020a05600c3acb00b003ef6e6754c5so3736347wms.5
 for <xen-devel@lists.xen.org>; Tue, 28 Mar 2023 04:27:15 -0700 (PDT)
Received: from zen.linaroharston ([85.9.250.243])
 by smtp.gmail.com with ESMTPSA id
 b3-20020a5d4d83000000b002dfca33ba36sm5932061wru.8.2023.03.28.04.27.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Mar 2023 04:27:14 -0700 (PDT)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id 4841F1FFB7;
 Tue, 28 Mar 2023 12:27:14 +0100 (BST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7dbe7cd2-cd5b-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1680002835;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:from:to:cc:subject:date
         :message-id:reply-to;
        bh=mmLVWRHv9Mce/1Gxtf/hiKt4uOFJk025+sXNL5BqVhI=;
        b=YbTyLOPmPySapMP2QBhlVXPUCcCkd6KpTjdJOInijHZXQvUz9MLJDoti6nyk+3EuYF
         iMAaopafZHrwY7fXxRGIjeIOXQUJEfuLOjdioqxSS07SI/yzrlw8OPLON59sdXBlAl24
         VJeDRAxmEfB4fgWLOqI+ct4Cu2eQ9d08cB3Yvdc9bNrhy/pBly83H6Gtj8bCUmdfU7LR
         pvuFwYCiBc2dJpeAXZwdoowyWSJsmZ6Fir9a6c7JOTQuEl0NcXUKo1Ch0ieJGcK++fu+
         jpflbace6M0fFT8n+Rs1pd3CIMF+chP0c0Cy9rXxbHFTy1j9QDUghSZOZmw8APT9Y/SO
         FKVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680002835;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=mmLVWRHv9Mce/1Gxtf/hiKt4uOFJk025+sXNL5BqVhI=;
        b=i7YviKzA1CTj+n0ThlRqbBfK93tK2qq8INpc1raHEwYYiR8FbzxxZlrnxJgNYeBOep
         tM2wOmhynpL7htLHGJrOl+ZQ89JP+UcZ7HUcuiLmbRNTC9ByVQblqOACKej/x0ljRROD
         XDj6dkFRBJCgC9LJBBiOLyto0P0XxTDVZ1Z2DU/aT2x/xHR18syAuWQjNvEMkuJqTskL
         H4UL4AcUNjpk3Pkelg+BhJ8R0DKo+2yr3mJWcdyjLx0/lV7/oz/uudNVXU6q0gbOPf2x
         u1tv8/DaZcH8PU5CKP5iwlz8qd/p0zQ2Y9w14RaMHrRFXIEYEkehySrI3c5bluUDbUmW
         Qbjw==
X-Gm-Message-State: AO0yUKU/fCmcZ5NNvASnCM3xeKn8APm1Qx5QJPZ8Nlp+9JP11uYeI7E0
	gp76huZItQyVd0/VJ3UnLfSR8w==
X-Google-Smtp-Source: AK7set/rKuJeCLEfn8iMwesAs+RUH7DbxCveNvjd+59wlqYXnKCIHEaAUVqNtzWdJIjs2hdckl2YNw==
X-Received: by 2002:a7b:cd88:0:b0:3ee:7061:1bdd with SMTP id y8-20020a7bcd88000000b003ee70611bddmr11925479wmj.4.1680002834958;
        Tue, 28 Mar 2023 04:27:14 -0700 (PDT)
References: <cover.1678351495.git.viresh.kumar@linaro.org>
 <7c3718e5eb99178b22696682ae73aca6df1899c7.1678351495.git.viresh.kumar@linaro.org>
User-agent: mu4e 1.10.0; emacs 29.0.60
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org, Stefan Hajnoczi
 <stefanha@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Vincent
 Guittot <vincent.guittot@linaro.org>, stratos-dev@op-lists.linaro.org,
 Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
 Andrew Cooper <andrew.cooper3@citrix.com>, Juergen Gross
 <jgross@suse.com>, Sebastien Boeuf <sebastien.boeuf@intel.com>, Liu Jiang
 <gerry@linux.alibaba.com>, Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH V3 1/2] docs: vhost-user: Define memory region separately
Date: Tue, 28 Mar 2023 12:27:09 +0100
In-reply-to: <7c3718e5eb99178b22696682ae73aca6df1899c7.1678351495.git.viresh.kumar@linaro.org>
Message-ID: <871ql9ru99.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Viresh Kumar <viresh.kumar@linaro.org> writes:

> The same layout is defined twice, once in "single memory region
> description" and then in "memory regions description".
>
> Separate out details of memory region from these two and reuse the same
> definition later on.
>
> While at it, also rename "memory regions description" to "multiple
> memory regions description", to avoid potential confusion around similar
> names. And define single region before multiple ones.
>
> This is just a documentation optimization, the protocol remains the same.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

Reviewed-by: Alex Benn=C3=A9e <alex.bennee@linaro.org>

--=20
Alex Benn=C3=A9e
Virtualisation Tech Lead @ Linaro


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 11:29:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 11:29:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515671.798787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph7VW-00010c-5B; Tue, 28 Mar 2023 11:28:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515671.798787; Tue, 28 Mar 2023 11: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 1ph7VW-00010V-2E; Tue, 28 Mar 2023 11:28:54 +0000
Received: by outflank-mailman (input) for mailman id 515671;
 Tue, 28 Mar 2023 11:28:52 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=HbbH=7U=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1ph7VU-00010O-TC
 for xen-devel@lists.xen.org; Tue, 28 Mar 2023 11:28:52 +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 b7532aff-cd5b-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 13:28:52 +0200 (CEST)
Received: by mail-wm1-x331.google.com with SMTP id u1so6705567wmn.5
 for <xen-devel@lists.xen.org>; Tue, 28 Mar 2023 04:28:52 -0700 (PDT)
Received: from zen.linaroharston ([85.9.250.243])
 by smtp.gmail.com with ESMTPSA id
 k11-20020a05600c0b4b00b003edef091b17sm16896279wmr.37.2023.03.28.04.28.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Mar 2023 04:28:51 -0700 (PDT)
Received: from zen (localhost [127.0.0.1])
 by zen.linaroharston (Postfix) with ESMTP id E5E1A1FFB7;
 Tue, 28 Mar 2023 12:28:50 +0100 (BST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7532aff-cd5b-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1680002931;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vb0DTSv9wEHNLZijpIORbSppIJNmyE3YOU6O+WGux0E=;
        b=h2z8xiA4BAvpHt8YCGoGagfxlAgNHvIX/uZXc5kpXiDtN5Z+d8vGnpc25lcrtP84yK
         H62NA4mSkvxVywzE2GUXVDmmKyBm8XCXn4GUXzftjKCATz4uj5s8G2vOgH/PKrmZDQPP
         HnpmRcpGILgpwbHDItUujilSlsmBNhlwy0nAk1KFndHLd8eHmp+CYAFR87A1Ph3C9oNm
         pGYWmTgO7EHdAWvXAxw5xIGfN5SLN/nzw0WIhE9KfGAGbm3GB5PXZQYp1TFSym+Cq9q0
         a9vJ9ZuX8fEMdxRKoBcWk8fOlI+q2BpCsbZ/WpzkbVJEvPqPYupyKyrjxFfjtBFpUcHJ
         8qew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680002931;
        h=content-transfer-encoding:mime-version:message-id:in-reply-to:date
         :subject:cc:to:from:user-agent:references:x-gm-message-state:from:to
         :cc:subject:date:message-id:reply-to;
        bh=vb0DTSv9wEHNLZijpIORbSppIJNmyE3YOU6O+WGux0E=;
        b=upKy9fzRXyRi51W6t2MCbWnU/fN0XZQvDb+Swzyq3qaa20YyURgfFsaTTCxOnOvtGu
         BWkxbSYfoiFN9HZZ3+wIWAzkbLmVeUxy9+jT1QwW3MNVf5RaGa9YiUhjicg7ibV0XRvz
         xS+QhPoxxJZeGDHSriRskTPtVdxVfIQbqUZYedao++QVkRjxcYwAAlqj+QLMvi6xY4Sc
         uZ+IaYcwUht56gfaSNGNwFr77/kqX+B5OBe6XHtebzJAdF1RVKuEHsIzpE9GD/xQ6CSq
         Fz2bNIEYYW9dzJzHhGrQqEIFP35ElX9R9RJSGdkDFdUJ8BxiFDR6vfjStAxN1QrTkSNj
         wHFA==
X-Gm-Message-State: AO0yUKUd8HKPxyvYCU6R/RQfzwPb12jFyYxu2zrzehcg4/7gt8RuuQCY
	YLAbu6k2hjnwLrtVe213EVkcXQ==
X-Google-Smtp-Source: AK7set9dTJkMQYlZNEtMnnUsOG7J832VNvyYYZs/1b3NcBIGkUnLhqbfE5332XP0aXA1RG5zIZ9LYw==
X-Received: by 2002:a7b:ce16:0:b0:3ed:9b20:c7c1 with SMTP id m22-20020a7bce16000000b003ed9b20c7c1mr10702075wmc.20.1680002931595;
        Tue, 28 Mar 2023 04:28:51 -0700 (PDT)
References: <cover.1678351495.git.viresh.kumar@linaro.org>
 <6d0bd7f0e1aeec3ddb603ae4ff334c75c7d0d7b3.1678351495.git.viresh.kumar@linaro.org>
User-agent: mu4e 1.10.0; emacs 29.0.60
From: Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: qemu-devel@nongnu.org, virtio-dev@lists.oasis-open.org, Stefan Hajnoczi
 <stefanha@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Vincent
 Guittot <vincent.guittot@linaro.org>, stratos-dev@op-lists.linaro.org,
 Oleksandr Tyshchenko <olekstysh@gmail.com>, xen-devel@lists.xen.org,
 Andrew Cooper <andrew.cooper3@citrix.com>, Juergen Gross
 <jgross@suse.com>, Sebastien Boeuf <sebastien.boeuf@intel.com>, Liu Jiang
 <gerry@linux.alibaba.com>, Mathieu Poirier <mathieu.poirier@linaro.org>
Subject: Re: [PATCH V3 2/2] docs: vhost-user: Add Xen specific memory
 mapping support
Date: Tue, 28 Mar 2023 12:28:45 +0100
In-reply-to: <6d0bd7f0e1aeec3ddb603ae4ff334c75c7d0d7b3.1678351495.git.viresh.kumar@linaro.org>
Message-ID: <87wn31qfm5.fsf@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


Viresh Kumar <viresh.kumar@linaro.org> writes:

> The current model of memory mapping at the back-end works fine where a
> standard call to mmap() (for the respective file descriptor) is enough
> before the front-end can start accessing the guest memory.
>
> There are other complex cases though where the back-end needs more
> information and simple mmap() isn't enough. For example Xen, a type-1
> hypervisor, currently supports memory mapping via two different methods,
> foreign-mapping (via /dev/privcmd) and grant-dev (via /dev/gntdev). In
> both these cases, the back-end needs to call mmap() and ioctl(), with
> extra information like the Xen domain-id of the guest whose memory we
> are trying to map.
>
> Add a new protocol feature, 'VHOST_USER_PROTOCOL_F_XEN_MMAP', which lets
> the back-end know about the additional memory mapping requirements.
> When this feature is negotiated, the front-end will send the additional
> information within the memory regions themselves.
>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>

Reviewed-by: Alex Benn=C3=A9e <alex.bennee@linaro.org>

--=20
Alex Benn=C3=A9e
Virtualisation Tech Lead @ Linaro


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 11:29:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 11:29:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515672.798798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph7Vk-0001Rh-DT; Tue, 28 Mar 2023 11:29:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515672.798798; Tue, 28 Mar 2023 11:29:08 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph7Vk-0001Ra-AU; Tue, 28 Mar 2023 11:29:08 +0000
Received: by outflank-mailman (input) for mailman id 515672;
 Tue, 28 Mar 2023 11:29: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=0K3v=7U=citrix.com=prvs=4442f050c=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ph7Vj-00010O-7B
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 11:29:07 +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 be241b12-cd5b-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 13:29:05 +0200 (CEST)
Received: from mail-dm6nam10lp2103.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.103])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 07:28:53 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DM6PR03MB4953.namprd03.prod.outlook.com (2603:10b6:5:1e9::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.29; Tue, 28 Mar
 2023 11:28:51 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Tue, 28 Mar 2023
 11:28:50 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be241b12-cd5b-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680002945;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=TjEUYUdMJPsxywq28utGfTsnWfHiOVJrS+ZHkDc+lH0=;
  b=YHTFwhUYl9weThU1Jlq1Y8hEj2DiWQUYalZBPve90XHnnYd0vsArSLT1
   z0PcmDcpNQqAGa+GGIJXXNI5db7rSr3OBwMmnI3vHsJSw30o4r4ZEU1SD
   8j6dA6vg7pOpSQD6E798VXAMN5NAupEFXk2ibunxAC4/MFE3hLUYpE4T4
   s=;
X-IronPort-RemoteIP: 104.47.58.103
X-IronPort-MID: 105731059
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Tj7lDK//Sh7tkPDoIuUYDrUDXX+TJUtcMsCJ2f8bNWPcYEJGY0x3x
 jAXDz/QMqncZTajLYp1Oo628BgO78XUy4dqHARv+3g8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqob5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklA2
 sw7A283UCu73buRnKKactRVg+MKeZyD0IM34hmMzBn/JNN/GdXvZvuP4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTWDilUpi9ABM/KMEjCObd9SkUuC4
 HrP4kzyAw0ANczZwj2Amp6prraXwHygAdpPRdVU8NZphAGWlk1CMSEbbguhgsa+oFODcIJ2f
 hl8Fi0G6PJaGFaQZtz0RRixunOHlh8aRdtLEuc+5R2Ny6zb+AKQDC4PSTspQMwrsoo6SCIn0
 neNnsj1Hnp/vbuNU3Wf+7yI6zSoNkA9L2YEaTUVUAgt7NzqoYV1hRXKJv5hGqOoitz+GRnr3
 iuH6iM5gt07ksojx6i9u1fdjFqRSoPhSwc04kDbWzyj5wYgPIq9PdXwsh7c8OpKK5ufQh+Zp
 n8YlsOC7ecIS5aQiCiKR+ZLF7asjxqYDADhbZdUN8FJ31yQF7SLJ+i8PBkWyJ9VD/s5
IronPort-HdrOrdr: A9a23:zZ+Eca/vI6rTCNTzQJ1uk+AfI+orL9Y04lQ7vn2YSXRuA6qlfq
 GV/MjzsCWetN9/YhAdcLy7Scy9qBDnhOdICOsqTM+ftWDd0QPGQr2KhbGSuAEIcBeOktK1u5
 0QFJRWOZncN3U/q+DQiTPVLz8n+rO62ZHtv8vli11Kai5LRZ1axzpYLCHeKGFKLTM2ZqYRJd
 6S5s9KvTqydW5/VKmGL3MYRfXEo9HRtL+OW29lOyIa
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="105731059"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XuEeNh5vw1D6uwjsswnd0j75c1aXbEO5sLjvF9HXjzr96xoJ7VtiIWBpTo9c1yy/oOXrQmqMCvr0v7+nV1KEBdiaA+G+r/vPtt2Yf78ifl1gVvogif+0VsSwTQ+0bXR58p2vt4Tzf0rmgFjeUQKJLnD1X6fWO61Cls2P+RGpodpdt5xKcleLwQRq9ZpABI3RJcojQBRYXoxH1gooDDch9IVdVZnj4U6pbUBGX8XuzWC4dv0eXAQkXLQzx5nQ6JuPwpIQ+wFTSrgy9PmYwZa5yZPBYqeXr5kHsjFw5M0TVXnVg2NklWJPq1oJD04f6mqCDSQb60L76LSriibq3r/P0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RDJmvBYR1N+sA6Ptq+8sGs75RXK+IWVqkBdflUBSLUQ=;
 b=Fzp0aJa276pyCzmzx8tAoTPC3EzojBsPxEbS29YaHhnvozgoq5pTIHVZQziVcr3K2LLUTGizk7/aPmBpjMCdClFMEjdAVye4FoXjEpIJb1XknUlCSsdrJ8DvXyVqAS9w2oUkwghbl4m78VPegAOFHBBmRPvFnYlYpn86sDacCQNodtKf42azAH4HSBijPyHJNnfGdkL28XiQOmkVk0Ncuvz/IbEoZDf9vP8Eyq3usZOAbhbQQRAu8iZCiw7BglIb66bu9yei0mJIrfTIdxA667SjKDJot00T+ZgB3fk8jbFovCmVAqlJGkUzoK+nK7lFHIy6/usSRDsuKMqxNBRnTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RDJmvBYR1N+sA6Ptq+8sGs75RXK+IWVqkBdflUBSLUQ=;
 b=qCAtCRt0hyhlEB8cJDgFg/fQEfkmK3XW/xWDUVDwd1sTP+N3Lnrp6SfU0blS7ubfIZXlywuJ7TBpp4r6M/nkpYwKJAt+eHQ9saSUKbzdj8iSuyRFrVbZvqo0RvP5F/d4EdkNMd+4k2qocxmWxIYSmM+y7Uu287PZmdux16Q9dKU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 28 Mar 2023 13:28:44 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 2/3] x86/hvm: Allow writes to registers on the same
 page as MSI-X table
Message-ID: <ZCLNQGXvUBxZbIGS@Air-de-Roger>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-2-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230325024924.882883-2-marmarek@invisiblethingslab.com>
X-ClientProxiedBy: LO2P265CA0316.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a4::16) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DM6PR03MB4953:EE_
X-MS-Office365-Filtering-Correlation-Id: 9638985b-b67a-4558-c471-08db2f7f9a34
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y+bJYhkjDoc5k6j02WpEqJ/QHp2RcdcPXF6x3DbjwSNvEFI7oCS1x9eL+EaI3KhRjS0vzx+6sZj6cDmhhB0DwRBb2iLrJ2uPpK6uQCQHvbBj89C8DQr0vIjsB9C+PsWHVl3AZ9cRovdOvM6K/g7URTYr/DSBpLvtWw3sjiBoFh+zDBkyD4rFQxZP8TKaSm+KOvQd0KGwC0LTgzB2zLaUkbg5o1MftpxKpFMYL2Ac/LebUbvuvSuDx/Xsq75o/bwn0YGiqUpYABd9VScdFSaaUdUooBJR6BR5xIaEaVsOcsZNdXde4gYGht03rLkrCd0+A9Pe+tCEltbvTfCiuzKSaLuNDDZLmZHc4bm9eQavMo59Vs5pzIxEB/cthoWaFs1wuAHbtOLOiwrlpZ4AEBfMU7HRVuHcLHS9721Gsa/r+j0Xu5hsYMztjkFrJF6fWSRTFKYVblfwwjohyCXw53RHbOQThzai4HwsW2YzR2LM8sriuwjaYhYqtSq+H7iD0oYU74jMG9VoXqIE4fhnNSTLm+RA0tsHRNxdiQ9bM2C52XtCKbmw6s+4s+EOiCFByPDedqpZjou9CcJsJBunGRFqInDPfrnKhIiPULaVmF8HJ5U=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(366004)(39860400002)(346002)(396003)(136003)(376002)(451199021)(66899021)(66574015)(83380400001)(41300700001)(85182001)(33716001)(86362001)(38100700002)(5660300002)(6486002)(8936002)(82960400001)(478600001)(66946007)(66556008)(2906002)(8676002)(6916009)(66476007)(6512007)(4326008)(54906003)(30864003)(6666004)(6506007)(186003)(316002)(9686003)(26005)(21314003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U2UvR0xQNDBtWnE1Lyt3Rmt0b20xcVhvdS9sS3A5STk2SUNtVFNXREw5anFv?=
 =?utf-8?B?TVlROXdQc0V5ZzN0RDhzem5wZ3AxU2VTbE9sQ25mQndVcU90T1BNYkNhL0J4?=
 =?utf-8?B?ZmNRV1FyNHJjY0Fyak9ycW16ZnpWSU96bXlRc2wyTlRTQlE1WEw5U1phdVZ0?=
 =?utf-8?B?c1JJWkpXQm9heVJIbHdJYWgzbms5N0dGc0J6bHRSbFhLWWdiak83c09BSFVj?=
 =?utf-8?B?Y2w1RVkyUzhnVUtucjkyMFoxZDdSVWdsL3dMOHNOVWY2aTh5aXl5Rk5RQUN3?=
 =?utf-8?B?RVJRTHNOVEhNdTk4dWp6aTRudTFWNnMzYmJrbC91bHoxR0Z2T2ltY2wyNHl3?=
 =?utf-8?B?WFhoSlpPaU9WekFrSEN5SzhYZGFFY0hjaWU0eEJSbjBHQStjVFIxZWg4NW5Q?=
 =?utf-8?B?Z0E5Y21LMnV4VmhVSUJNdHNROXdzSE1sVEROVWZMNGY2eitNRHFWd2NhN0Zn?=
 =?utf-8?B?TEVWSmwwUGQxeVRWMEVUWWJMaUI4eWVkRWR5NldnajkvY0pmcjBqYXp2RzBS?=
 =?utf-8?B?OFhNUk1xcEhGN3hwakx4OCtpWEhDQ1ZzbEFteUtvc2ZsaDE2YWhyU2l0NWxr?=
 =?utf-8?B?YkttTDB4TGtPVytQdGtmdGMyd25GM1EzUFhSVWJqekdpNTJPM0ZzS0V3Wnc3?=
 =?utf-8?B?NEQvRlpnbHdDaFNOOFgrdXhFdDlFRjhackxZUVNpcUYyUUdzSmkyL01lZ1J3?=
 =?utf-8?B?K1FBd1lUc2FrbUtteHBOZVlHa1ZlU3BUanhoalg1citsVXZYR1RmbTN5bTBQ?=
 =?utf-8?B?OXk5c2RvTS8rSFNZc0pRbDU4NEVFVWdFM0JxcGZNN1Z0QUI3QmpreXRUY0Rw?=
 =?utf-8?B?YzVtQ25hNWNHVWhCM3psQUtibjlKRzdnZU9RZlJRQUN2TTMyNEtTNUJ2dUZa?=
 =?utf-8?B?Yk84MytUeUJHRDRhRlN0c2FORjhSeWdTRFNxNVkvWFpGQUFUNlNSZ3NSeHpL?=
 =?utf-8?B?NERMMDdNZ1hvT1lYMS9yRUN1N2JNa3haQy9ucUJZZnZtb1VKRDRUem9pNS9O?=
 =?utf-8?B?ajJ3V2N5d2ZZN0VqTlQ5SEJjd3Y4OTZnL2hBb1RkaGFuaHlybHZsWEk1TU5P?=
 =?utf-8?B?YS9jdmE3dEVRK0pXWVAwMFZHcHNnbmpvTlpwT2xoVU95bTZyTkluSmJtdXdx?=
 =?utf-8?B?a3VtZ3NPaDBiZzV1ZEZESDR6ckhRbUZLbU5hK0dwZlFuWExQaWtrTXoxWGJY?=
 =?utf-8?B?ZzBKWG80Vk5keDBDZ0NXQTAxUXpmaDg5dzNkQW51aVhLK3VwRG5kWWxjcnJX?=
 =?utf-8?B?N2ZHMlUrZCtuYUFndGJ5Ump5ZmxDaUNTVk5jRWR1VGRGY2piZVYrVnRxdFQ3?=
 =?utf-8?B?VkxNdzJERXFQTkxETmxmeUVHZ1pBN09BU2dTMkYydXkrZTh1SzQwdWRvNU1C?=
 =?utf-8?B?c29KT1BMWEduaE9IU2hqZEY3WEd5d3U1cWx6Q0ZoZTRMZ2FnYnlTaXRQOGhQ?=
 =?utf-8?B?cUpBTm4xN0tzanBja1Q2WGpXN3FyYjBPRHN3V1lPY2RTSUY2RDViVGVJYTBB?=
 =?utf-8?B?RGp4dzFvaEVLOXRQMVM2ZUdPKzJJZ0VGVWRFc3NncDl4MGQ4am5QWFRBNXlC?=
 =?utf-8?B?VFdqaytZTkc3ajdZcHRzdklJVDNJRitxdU0wZWs3ckdJckgyQmRQdkIzQmhJ?=
 =?utf-8?B?SC90WGhqQ1ZuQ0FRRzFrQmxYU013djE3M1U0U0hlUEdxOForZ3hxQnRRUXdz?=
 =?utf-8?B?VFFzZXVTekJxbHo2YnY5QjI3QW1GejZFb2orUVJUTmIzaWQ1NzUvdjQraHlL?=
 =?utf-8?B?OVFZRjhLUkFveko1SWxadFkvR010V1A0WStvdlJReFJ4N3kxWDludzBjSndT?=
 =?utf-8?B?WTlrY3NtaVMvcWdBaVdKMjZnMkNXa2RXRitHeWhnRy9XRlhMcUdvZnpmOG56?=
 =?utf-8?B?ZlRodENRQ3VRYWxUZ3FXV0l0WUZJcXI3ZFIvcEJvakd5dDdHUDNRb2lFR0VC?=
 =?utf-8?B?ZE0yTFpGNHpwNFFKQXQ0QTFiT0VZMGkvYjNKc3hReHNjNjhSdEtuNlVYSGNB?=
 =?utf-8?B?c2ZsKzB2MGhkZ0hTd0hCcnZySHE2YWk0Z1BrRWJaU2hJTllIdTNQb3h6OEZt?=
 =?utf-8?B?THNXOHV0WXV6N25JUFZwZEp2L24wWFZmdXpMWlRaUDVzTlk4VEY2a1Y2Nkk2?=
 =?utf-8?Q?hpzbXLJuWFnLfspraHkviUiEv?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	NNFHEOc8LT6dkoHwPRlWqtJjpmbBpSh3dCJv5NMuD71WdZtP6HzQzsu+tHKc+u53ilN+1wwT90fA6/6aMJLea00gNxE2HiWT0Ru0SgvDkVVA/qBApv8o8qCs3mGNDqKa9Be/d71G+KyBGHgMURHWDBxoF+eVQ3gRupJxzyHAjUjM4YN3/97a3ruOv1JyxKMsZAReQ18ilM21MKTiJiGJSLhJykoB3DsBBJmeoEOJ8h6LFy/6w7pw0UuE92kpzq8Am1Ej262ijU7K8owPxBG722W4gnAE2/D5EJGi2sIPAcgN9GyxRtINA8M9eCqRaI3Yc7Sm4Y+6D2XZ/Bn8QLrG+vFQpf0FKODIHkyLk11r6fdPq416T8WlgMajO3osEmV/rQTDsfuml7QwJJxDUT7Mw5npSoVwsDhgqktX03Z0ieCWoU1raPJFaUYfKJ7C0gL/fIM4AoiRkEoflS1JSUVkZ5eVbWR5cAOZmiNtPtT6asEZMKrhnnUM6OagdZZN5Tx6aKj+U72pCpFUshLTzunMuRIC2Xd86Wxl3Y9b4CTbpFhpopJ+Im2rAR3DaLHh7sHFK7kYlfQ6D4IdgZiNVGykmxrRzWmu83SC1rmQqy9Rxvj3XqR8yYA2G8q5eK1n4DL74B79+be5z0zlLYyeoznAMGB4MwVByAUeLu9h679Zx+KX/SQ57Z4RCnC6cAC7WrXHphzLGXUgLEPRXFzg6HOLa89WQ0RU6QFi3L0dLy+BhneHFlQGFGpc7TZfdtJ0jcWk1CjTzFLW9QS4L57tM0uTI6yvyN1M9CGsgassR9peJbwTftdbyC2zOOGYkaDzLfChD8mBv86E+3Zn99XEzD23PSLD/EywRRTX442vmt2+jFWSxLU+KvrfmtzoKtHbvh9FWqrOE+6rcCVa+Be6NBqr5tfMXQu5CKDbpx/sq2CwP/Q=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9638985b-b67a-4558-c471-08db2f7f9a34
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 11:28:49.9277
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /jV17xzB6RNGdJXZsMqUMbSWzATLZuaixypVFrRewLpHs+l3mUDNygsHwRQF1l7ods0HuNPcBnFxG38cm4hq2g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB4953

On Sat, Mar 25, 2023 at 03:49:23AM +0100, 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, add internal ioreq
> server that handle those writes.
> 
> Doing this, requires correlating write location with guest view
> 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 can 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, forbid 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.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
> 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        | 154 +++++++++++++++++++++++++++++++++
>  xen/arch/x86/include/asm/msi.h |   5 ++
>  xen/arch/x86/msi.c             |  38 ++++++++
>  3 files changed, 197 insertions(+)
> 
> diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
> index 9c82bf9b4ec2..9293009a4075 100644
> --- a/xen/arch/x86/hvm/vmsi.c
> +++ b/xen/arch/x86/hvm/vmsi.c
> @@ -438,6 +438,152 @@ static const struct hvm_io_ops msixtbl_mmio_ops = {
>      .write = _msixtbl_write,
>  };
>  
> +static void __iomem *msixtbl_page_handler_get_hwaddr(
> +    const struct domain *d,
> +    uint64_t address,
> +    bool write)
> +{
> +    const struct pci_dev *pdev = NULL;
> +    const struct msixtbl_entry *entry;
> +    int adj_type;

unsigned AFAICT.

> +
> +    rcu_read_lock(&msixtbl_rcu_lock);
> +    /*
> +     * Check if it's on the same page as the end of the MSI-X table, but
> +     * outside of the table itself.
> +     */
> +    list_for_each_entry( entry, &d->arch.hvm.msixtbl_list, list )
> +    {
> +        if ( PFN_DOWN(address) == PFN_DOWN(entry->gtable) &&
> +             address < entry->gtable )
> +        {
> +            adj_type = ADJ_IDX_FIRST;
> +            pdev = entry->pdev;
> +            break;
> +        }
> +        if ( PFN_DOWN(address) == PFN_DOWN(entry->gtable + entry->table_len) &&

Should be entry->gtable + entry->table_len - 1, or else you are
off-by-one.

> +             address >= entry->gtable + entry->table_len )
> +        {
> +            adj_type = ADJ_IDX_LAST;
> +            pdev = entry->pdev;
> +            break;
> +        }
> +    }
> +    rcu_read_unlock(&msixtbl_rcu_lock);
> +
> +    if ( !pdev )
> +        return NULL;
> +
> +    ASSERT(pdev->msix);
> +
> +    if ( !pdev->msix->adj_access_table_idx[adj_type] )
> +    {
> +        gdprintk(XENLOG_WARNING,
> +                 "Page for adjacent MSI-X table access not initialized for %pp\n",
> +                 pdev);
> +
> +        return NULL;
> +    }
> +
> +    /* If PBA lives on the same page too, forbid writes. */
> +    if ( write && (
> +        (adj_type == ADJ_IDX_LAST &&
> +         pdev->msix->table.last == pdev->msix->pba.first) ||
> +        (adj_type == ADJ_IDX_FIRST &&
> +         pdev->msix->table.first == pdev->msix->pba.last)) )
> +    {
> +        gdprintk(XENLOG_WARNING,
> +                 "MSI-X table and PBA of %pp live on the same page, "
> +                 "writing to other registers there is not implemented\n",
> +                 pdev);

Don't you actually need to check that the passed address falls into the
PBA array?  PBA can be sharing the same page as the MSI-X table, but
that doesn't imply there aren't holes also not used by either the PBA
or the MSI-X table in such page.

> +        return NULL;
> +    }
> +
> +    return fix_to_virt(pdev->msix->adj_access_table_idx[adj_type]) +
> +        (address & (PAGE_SIZE - 1));

You can use PAGE_OFFSET().

> +
> +}
> +
> +static bool cf_check msixtbl_page_accept(
> +        const struct hvm_io_handler *handler, const ioreq_t *r)
> +{
> +    ASSERT(r->type == IOREQ_TYPE_COPY);
> +
> +    return msixtbl_page_handler_get_hwaddr(
> +            current->domain, r->addr, r->dir == IOREQ_WRITE);

I think you want to accept it also if it's a write to the PBA, and
just drop it.  You should always pass write=false and then drop it in
msixtbl_page_write() if it falls in the PBA region (but still return
X86EMUL_OKAY).

> +}
> +
> +static int cf_check msixtbl_page_read(
> +        const struct hvm_io_handler *handler,
> +        uint64_t address, uint32_t len, uint64_t *pval)

Why use hvm_io_ops and not hvm_mmio_ops?  You only care about MMIO
accesses here.

> +{
> +    void __iomem *hwaddr;

const

I would also initialize *pval = ~0ul for safety.

> +
> +    if ( address & (len - 1) )
> +        return X86EMUL_UNHANDLEABLE;

You can use IS_ALIGNED for clarity.  In my fix for this for vPCI Jan
asked to split unaligned accesses into 1byte ones, but I think for
guests it's better to just drop them unless there's a specific case
that we need to handle.

Also you should return X86EMUL_OKAY here, as the address is handled
here, but the current way to handle it is to drop the access.

Printing a debug message can be helpful in case unaligned accesses
need to be implemented in order to support some device.

> +
> +    hwaddr = msixtbl_page_handler_get_hwaddr(
> +            current->domain, address, false);
> +
> +    if ( !hwaddr )
> +        return X86EMUL_UNHANDLEABLE;

Maybe X86EMUL_RETRY, since the page was there in the accept handler.

> +
> +    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;

Nit: we usually add a newline after every break;

> +    default:
> +        return X86EMUL_UNHANDLEABLE;

I would rather use ASSERT_UNREACHABLE() here and fallthrough to the
return below.  Seeing such size is likely an indication of something
else gone very wrong, better to just terminate the access at once.

> +    }
> +    return X86EMUL_OKAY;
> +}
> +
> +static int cf_check msixtbl_page_write(
> +        const struct hvm_io_handler *handler,
> +        uint64_t address, uint32_t len, uint64_t val)
> +{
> +    void __iomem *hwaddr = msixtbl_page_handler_get_hwaddr(
> +            current->domain, address, true);
> +

You don't seem to check whether the access is aligned here?

Otherwise I have mostly the same comments as in msixtbl_page_read().

> +    if ( !hwaddr )
> +        return X86EMUL_UNHANDLEABLE;
> +
> +    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:
> +            return X86EMUL_UNHANDLEABLE;
> +    }
> +    return X86EMUL_OKAY;
> +
> +}
> +
> +static const struct hvm_io_ops msixtbl_mmio_page_ops = {
> +    .accept = msixtbl_page_accept,
> +    .read = msixtbl_page_read,
> +    .write = msixtbl_page_write,
> +};
> +
>  static void add_msixtbl_entry(struct domain *d,
>                                struct pci_dev *pdev,
>                                uint64_t gtable,
> @@ -593,6 +739,14 @@ void msixtbl_init(struct domain *d)
>          handler->type = IOREQ_TYPE_COPY;
>          handler->ops = &msixtbl_mmio_ops;
>      }
> +
> +    /* passthrough access to other registers on the same page */
> +    handler = hvm_next_io_handler(d);
> +    if ( handler )
> +    {
> +        handler->type = IOREQ_TYPE_COPY;
> +        handler->ops = &msixtbl_mmio_page_ops;
> +    }
>  }
>  
>  void msixtbl_pt_cleanup(struct domain *d)
> diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
> index a53ade95c9ad..d13cf1c1f873 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_table_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];
> +    int adj_access_table_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 d0bf63df1def..680853f84685 100644
> --- a/xen/arch/x86/msi.c
> +++ b/xen/arch/x86/msi.c
> @@ -961,6 +961,34 @@ static int msix_capability_init(struct pci_dev *dev,
>                  domain_crash(d);
>              /* XXX How to deal with existing mappings? */
>          }
> +
> +        /*
> +         * If the MSI-X table doesn't start at the page boundary, map the first page for
> +         * passthrough accesses.
> +         */

I think you should initialize
msix->adj_access_table_idx[ADJ_IDX_{FIRST,LAST}] to -1?

> +        if ( table_paddr & (PAGE_SIZE - 1) )
> +        {
> +            int idx = msix_get_fixmap(msix, table_paddr, table_paddr);
> +
> +            if ( idx >= 0 )
> +                msix->adj_access_table_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 span full page(s), map the last page for
> +         * passthrough accesses.
> +         */
> +        if ( (table_paddr + msix->nr_entries * PCI_MSIX_ENTRY_SIZE) & (PAGE_SIZE - 1) )
> +        {
> +            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_table_idx[ADJ_IDX_LAST] = idx;
> +            else
> +                gprintk(XENLOG_ERR, "Failed to map last MSI-X table page: %d\n", idx);
> +        }
>      }
>      WARN_ON(msix->table.first != (table_paddr >> PAGE_SHIFT));
>      ++msix->used_entries;
> @@ -1090,6 +1118,16 @@ static void _pci_cleanup_msix(struct arch_msix *msix)
>              WARN();
>          msix->table.first = 0;
>          msix->table.last = 0;
> +        if ( msix->adj_access_table_idx[ADJ_IDX_FIRST] )
> +        {
> +            msix_put_fixmap(msix, msix->adj_access_table_idx[ADJ_IDX_FIRST]);
> +            msix->adj_access_table_idx[ADJ_IDX_FIRST] = 0;
> +        }
> +        if ( msix->adj_access_table_idx[ADJ_IDX_LAST] )
> +        {
> +            msix_put_fixmap(msix, msix->adj_access_table_idx[ADJ_IDX_LAST]);
> +            msix->adj_access_table_idx[ADJ_IDX_LAST] = 0;

Isn't 0 a valid idx?  You should check for >= 0 and also set
to -1 once the fixmap entry has been put.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 11:37:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 11:37:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515679.798808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph7dp-0003DD-BE; Tue, 28 Mar 2023 11:37:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515679.798808; Tue, 28 Mar 2023 11:37:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph7dp-0003D6-86; Tue, 28 Mar 2023 11:37:29 +0000
Received: by outflank-mailman (input) for mailman id 515679;
 Tue, 28 Mar 2023 11:37: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=0K3v=7U=citrix.com=prvs=4442f050c=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ph7dn-0003D0-RP
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 11:37:27 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e80ff479-cd5c-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 13:37:24 +0200 (CEST)
Received: from mail-sn1nam02lp2049.outbound.protection.outlook.com (HELO
 NAM02-SN1-obe.outbound.protection.outlook.com) ([104.47.57.49])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 07:37:22 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by CO1PR03MB5937.namprd03.prod.outlook.com (2603:10b6:303:6e::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 11:37:19 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Tue, 28 Mar 2023
 11:37: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: e80ff479-cd5c-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680003444;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=npx8/bKfU37mgdzZKAlH+/AUuNgEQ3lxICNG78LpVrc=;
  b=Sbsk0tfmI1yoUJgSSy/JfjY9I13FiDcpWCUQ8EN37ggDeDZIJOapBv9W
   4mjYiLTl3Fc9Tsl0ngn6TcclCvNTMD1ue0n9AjCMj0rZ3tLxRU12gu9eS
   xuanHTqzVGdXszMsDDjCdjhGX/ZXI9RioETmgTtMuUWgSzzvUlMnpHlt0
   k=;
X-IronPort-RemoteIP: 104.47.57.49
X-IronPort-MID: 105733176
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:kA1AFa2HYFu8Q8W6l/bD5Q9wkn2cJEfYwER7XKvMYLTBsI5bpzMFz
 zMeDW2BPKnYNDP8eYskPYi2o0xUu5/Tz9dmS1Q/pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdkNagR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfESZCq
 uQYKhE0bgHYjMev7+iQdNFxmZF2RCXrFNt3VnBI6xj8VaxjeraaBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvC6PnWSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv027CUxnqkBur+EpWy7eBz2nmR2VYMDRAoZ2SG4sDit3eXDoc3x
 0s8v3BGQbIJ3EmiVNz0RRC7iH+CoB8HWtBUHvE66QeC0a7d6UCSAW1sZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluaOyETIXUTeCwsQg4M4t2lq4Y25jrNRNt+FK++jvXuBCr9h
 TuNqUAWn7wOieYb2qP9+krI6w9AvbDMRw8xox7RB2Ss61sjYJb/P9D5r1/G8fxHMYCVCEGbu
 2QJkNSf6+ZICoyRkCuKQ6MGG7TBC+u5DQAwSGVHR/EJnwlBMVb5FWyMyFmS/HtUD/s=
IronPort-HdrOrdr: A9a23:RGUe6qiv/YMfbk0VvYaMmx21wnBQXh0ji2hC6mlwRA09TySZ//
 re+sjztCWVtN91YhodcL+7WZVoLUmskKKdgrNhRItKPjOWwFdARbsKheSN/9SJIVyEygc379
 YFT0ERMqyWMXFKyevBzU2fNf1I+rW6GaaT79v2/jNWYTsvQYdGwCdWNj2yL21RY019KadRLu
 v+2uN34zWhfHgMbte2HBA+MtTrrcHQiZTjbQUnKnccmWuzsQ8=
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="105733176"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QgWgF8oPuVmsjpTeiHYthlyqOoitngwkXjs6xgGULjCzRHmPNDSHMsjYeZjPxj+UOrikKe8HKOiUV1ny8FpVgxLtb6JDMU3+ZnTbXW5cRNzz47C/992Lzce6oHbHZIA/2iui4i43y3ccrupk5A7ZoR1pYslwjptbNtGl9vj/+V61TbxH/Rdor826XK077KV6d2IVC0aEonqKwekvWb1iVJLHTcVdxpHByhIm/cDAbJ7GvV+ltQPqmNtu4QV0xtV2sUgA6wVX02tPRqjOqkSp3O2vhIOBP1SEN3dFVFnOs9fSNc115+ugzLZEsLtt7GrBQnjGE7rDncATLWV2iAJjMg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lzEw7p6+PZaKQFwkoCVGL3EP/xw22qVnPpTX2XO8PSQ=;
 b=VCp4TQIQUVvhFCNJb6QYnsnjjT6NHeBHmEwAKOq3TVzxG1utfkmUdxpJ4lOmMUZxOtlaWKJ2NcL9epMggoOKkTiN8G4U1/MhDplayN+y+XnxE9rdLe1mEfkcMroAHmFS/nQXKz7WJbF8nQozl+fm//Ea4MyI4zEsvn4lGv2KLW5hKtGVrcIYQ2YkE2Bn6nZawroZcz1UOcffA9ZjjxmEfInHpo3oBBdBCmkxhqvOv0hLUhpdwxdLEhVP8ftbHEJgVxHhhgu7VwHXiisWjNzA4vj2zqlkxnuPs6h8uyyMOMlZG0BZTt0Yi0wfbEodyB5l9ouuhsrfz6PVeci7SlmgDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lzEw7p6+PZaKQFwkoCVGL3EP/xw22qVnPpTX2XO8PSQ=;
 b=aI7sYyYDaQ0Vn5QI1hy5w0ZLnzyEKLZB09/9hsJe40udzTtAiyj0CmTpF45VnYoS03oBheNPL/6SCc0X7qPfQsSQr0UENAmqKWtzA32/0ShjkKw0XuWMEutWGMy98HSUMmgQaezek6s6O6l6gC5FmsEzFfgmJ8R2WHaYpTYGR34=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 28 Mar 2023 13:37:14 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
Message-ID: <ZCLRap2GJE0xwBCN@Air-de-Roger>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20230325024924.882883-3-marmarek@invisiblethingslab.com>
X-ClientProxiedBy: LO4P265CA0097.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bc::16) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|CO1PR03MB5937:EE_
X-MS-Office365-Filtering-Correlation-Id: 58053972-833c-401f-3aaf-08db2f80c99f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8md+SzhQ12WXcyFNEbZJ8NBJJhi3kbpqwMkEFaEJVn4awZROXiQB/5XNxJ+3Q2z9dBo48abeKc2FXEwfRIlfCQeBamE4ZVceovc0G7AqAQ3S+hQBoYZuYL3hKTW1dFCj2AV5k3a/086bMffew3u+BCV6IX13beuz8cATmCNEJgu5lEMWHcLoM7sA74i/S08UIHsef8M4ialDp3nQEUCvScx9JOrl1lDDuQSrfObpzdxmu3fUaYMLoebpuUrORcEhgrxAgvUje6pFl4Lz9+QChKVAe1wgazKa/ZBFQWLrT0u7I/fYsPkvU9a+mP7SIQFSRJsN02S4TO3v+5I0WmA/Ib8c7IzdD4mRiQSZP015Mx6AmrXiovXjAGqziX1jamLRd/6rtzOBKynhDNgdfj2MB4Ue/5eDzI5fWbfqkBL8T367eWD/+oh0vh2WbuyMaG4BXTc7KDd39KU/NTG3sZt2dgrUhe21u/eV8Lr64Oy6bDWK1fq+tB2c6wuwvu/SEFxdrlGv/pDnlahnE8BCcf3HzadjBBA3jqRp5VxODG5PNl56EePqrXCFTRjlTQXdmsOF
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(396003)(346002)(366004)(39860400002)(376002)(136003)(451199021)(33716001)(86362001)(83380400001)(9686003)(6506007)(26005)(6512007)(5660300002)(85182001)(2906002)(186003)(82960400001)(6666004)(8936002)(6486002)(41300700001)(478600001)(66946007)(66476007)(66556008)(66574015)(316002)(54906003)(38100700002)(4326008)(8676002)(6916009);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NklFMURITjBBS2NXeDBNWjcrRHNBbTVBRHNLQStsRXF0UUlhTTFVMGpGSFlS?=
 =?utf-8?B?SVVVLzhxR25WOG9XYmN3YU5zTTV6THZybjdzeDNTbUNhZ0xlV3J1QUFSbzBQ?=
 =?utf-8?B?ZDBEcVJGTnhvOTUyMmNyajBEWUduSEYyakZVOHVPSHpaYmlKUjZQbS8zQWlG?=
 =?utf-8?B?cmRtTUJjWVl0QlhEMEowWWJ6cmN5V0duYVZwSEdBT0ViUDVzVjhVZDZJRko3?=
 =?utf-8?B?L2RSK2pzN0QxS1BCTlh3eFprU0hoOEZnbWtyNHYvaTZNejhMdVh1NkJ1ZlZR?=
 =?utf-8?B?SjFlSGZkN0dMNE9YSFhzeXBzVGkwS1VxRXJsMWQ2Z2JZOTJMejlYMTZqbDg0?=
 =?utf-8?B?cVJCWlM1Q2NEc0dNY0UwVGRtd1licWh2LzlnQk1aVGVjdWhhNjRCSzNnZ21R?=
 =?utf-8?B?ak44czBRMzBzOUhLTmpOeWx6ak1yM0liOERKVnNibkZ1dUd1RUNrNlMzaFR4?=
 =?utf-8?B?WnBrd0YzUUhjVTFCTUpNamhPbCszOVZNOVZyOHBUaE5yU2d5RE0vQm9QdWZB?=
 =?utf-8?B?M0ZKSGpLbFVCc1VBZEJYb0NYVnNQYk9GRUR6MnFnTGhBQlNKUzJVbklCeTkz?=
 =?utf-8?B?MDdnWmdvTzZuellIWmtISDdjN0kxL21DYndwT1lmK2pvaFE5OHlrSUZsSlJa?=
 =?utf-8?B?bFFQMSt0Qml4QnhObUhoSUdQZXJPbTZYWEloUUtTTnFPYUcrajNJU0g4dnpn?=
 =?utf-8?B?QU13TVlyeHYvSUxKRGZ4YVdoRHpPRE5sSFJRNkdrdVBXblJreGlCcGRGRTdJ?=
 =?utf-8?B?aUV0S3VrdUdYTUcyaTBJeDFzWk9teDB2SnQ4bzVxZ1FSTmN1TFY1dlNZSTVI?=
 =?utf-8?B?VnF0OWNVWjc1RDRHNHdNZ3FBZzlMYmk0LzJFWjdTL1FaTTRHK0FVdEZwbjhP?=
 =?utf-8?B?WG95UVFyZHJaWkFBZjExc1Vtbk80R29NS3hLVUsva0llaWZnSlNMYWhkem5n?=
 =?utf-8?B?U2haZmdXQ0pZaGhNUFNhQmVWNm9xT3VBSUVhZGI4RDF1TGxYTCtTTUtxemVq?=
 =?utf-8?B?WTJCTWh4ci94cHkvb0hTcnBNM3RWZytyTTRsM2ZBMVhuakt5Y0lqbnlPUWwx?=
 =?utf-8?B?aHN3ODhwSkR0RzA4WkR4U0ZXQ3BsWWhTcWs1ZmRlbE1xMW1XdW5aNzNyczls?=
 =?utf-8?B?VUphYXRZdnN6c0paUnh6NVMxNzh3QWc3RXYrUEJGdGV5dzJUU1FSKzFjZXlX?=
 =?utf-8?B?Z0ovdU1mZ2NRandJS2lPakFpU2djQk9zZFFRbnlvelpMaUFBTXN1OVd3bGVk?=
 =?utf-8?B?NTUzeWNzc1JubkxaeEtUSU05UUR4UzYrdnZ4UEdUVTNZRUxid2ZvVnVIY2Jk?=
 =?utf-8?B?TG51Tndnby84WTV1OTVZQUVSUHJqMWV1ZklJbDZEL1VNWlE2NTJBUzdmV3R5?=
 =?utf-8?B?OFhGb0k5UzB5blJ3UjF6U3pNZTJTSWpoazFSZi9ISE04NUxBTG8rUjl2WG9j?=
 =?utf-8?B?Vnh2V2RoWnhicUhIekdXaWxjTnhHSnp1eG1Yc2U0dlp6ekNEUkR3OTZpaEZI?=
 =?utf-8?B?WGpSQmJEc2NBOThFT1pHVlJxdktQVFNwb082OTJqOTFlVzRNSEI2TjZ2dDNT?=
 =?utf-8?B?ZmlQUEFZQlpublhlZHVuZzZLaU13Skl1SzVMSlBEVHY0b1JTSThMZFBLanhH?=
 =?utf-8?B?MElrM09jTGZRNkQ3czFmV1FIdEFSTmJmMktxMmh5MEdMVUgzZU9FZncxR3Q5?=
 =?utf-8?B?VnVxWm1GakpldVkwcVlhRE9tdDRqVkQyQTFiWjlqOHBoMU9DVy9pZ1MyN3pi?=
 =?utf-8?B?L1BSSVk0bjFlaFFCa1NwREEvazhjaGNTMVp6bHRMMVFkajJwRUVHeFBOZ0lI?=
 =?utf-8?B?TjAyNWFGVjRkM3l3QlFMUWFyRHFXY3JYQ0h0NE1HNnhzKzRpZ3NnTVNUMVh6?=
 =?utf-8?B?WENLRmhUOVpNbEYzNXk2czhFMHRncVhqeHRzUGZTSUZwRHMrVGJDb0V5M2ZI?=
 =?utf-8?B?UnplZGVHUGd1UjU0eGViZXFhMERlek1nL01CR3E3dXdDajU3M0dZRUJZeTEv?=
 =?utf-8?B?eTdNVWpUVHRCRlN4R1hRRm1XWFJEd2ZFZDB4YURhaG1ML0JDdGppQjNUa1Bz?=
 =?utf-8?B?YkZxR3Q1Zm1oTzVlVy9EQy84d1VpemJYQUVGMkJ5VkFZdHlyWmU4YjQxZGR3?=
 =?utf-8?Q?PT/lk3LqsW8zDKpcZOeVkY9IT?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	JkEI5NGh41Qt3JKVRR0jptKdqX4PVxsGCYsd7pRecHRgYDpLMa62JlHPIlHBDf6BtZuGCx9gCbZKUrltOM8tW8PI8N4PrhdWnZGEoCTuR5i1uOrW/QEahCTci0Ycsqjg2B12i9qtCnqsm4x1XgUQud2kAforgU29FonhYUPe6ZIyoTxqK2SeWpCEoFkFj70UOPtSlcKD71OWj5jptZWhjKULnbpUkO00pwYegPN1hxWAPDAobbUQprfc2i7eotN2tW2cMY8XBHDinGBTl5UjOdeMEXgB+dTqBEjU/pK4cAvlzZF9vEcW3r4vkMohiRcproFl5mwK0lxVJ4hOKs6Uw3DKpmNQZe1e8AfHOVyZIv/6a6HrQLySJ99X8JAl9vvwexc+gP8ztUDGiBoe81Kr353D1v5znYhZRvVj1PpGRLlP439pbNAQukA9lSyR/8tVlNyLBAIm8g+fAh7t9ylUINLXNb7TVQVAeDMa+CiFeSbmN6lv/Dah+27+4piPXidJosfaBGAaoptqLIsucdfDQJZQsCEm1UnclxyD1H30IRRbxWaqoas0UjcMJKCsSk/59aOg73gAwcwxBcr5ot3grcw7lRB8FIrA4n4r4q7ZvYBA87COr0/50kK4zlmScglAAJtGJh0qIO/4nX2oCXTBG/XO3xvKHuqjaoZQbFMxy69yWXkPiZo1RwG7F5LKYzCSHhdJ21MdN/wx5LpqKiwPN6gE8YmHYhNIKh2+hv7+vQo5FRknOXzlAvYvRGSsKNdXfqRppLnx/1sFf7C/4TAPLFVjRcGv8ZJPRP2Ypegj9TmI1jMPeJPB+hxHOoh0Rswp8T7jjnePgpzt0Nafdg/qw8evtCEvkhNTYdReMDs2YaFHlDkqgBSGLHHvNAx8Pzksy6yD5FY535nPftHkHQKhhXUid6c6M69B39LYKFC0ssE=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 58053972-833c-401f-3aaf-08db2f80c99f
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 11:37:19.0844
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zFpnITTFqUB3b6ME+GBb3vsSeHY7/kBaU0UZDSLG8pGibxwks5S2+KtNNA14DbWc9Zl6AZMBwwnTL8rnPWeBXQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR03MB5937

On Sat, Mar 25, 2023 at 03:49:24AM +0100, Marek Marczykowski-Górecki wrote:
> Some firmware/devices are found to not reset MSI-X properly, leaving
> MASKALL set. Xen relies on initial state being both disabled.

The 'both' in this sentence seems out of context, as you just mention
MASKALL in the previous sentence.

> Especially, pci_reset_msix_state() assumes if MASKALL is set, it was Xen
> setting it due to msix->host_maskall or msix->guest_maskall. Clearing
> just MASKALL might be unsafe if ENABLE is set, so clear them both.
> 
> Reported-by: Jason Andryuk <jandryuk@gmail.com>
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
> v2:
>  - new patch
> ---
>  xen/drivers/passthrough/msi.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/xen/drivers/passthrough/msi.c b/xen/drivers/passthrough/msi.c
> index ce1a450f6f4a..60adad47e379 100644
> --- a/xen/drivers/passthrough/msi.c
> +++ b/xen/drivers/passthrough/msi.c
> @@ -48,6 +48,13 @@ int pdev_msi_init(struct pci_dev *pdev)
>          ctrl = pci_conf_read16(pdev->sbdf, msix_control_reg(pos));
>          msix->nr_entries = msix_table_size(ctrl);
>  
> +        /*
> +         * Clear both ENABLE and MASKALL, pci_reset_msix_state() relies on this
> +         * initial state.
> +         */
> +        ctrl &= ~(PCI_MSIX_FLAGS_ENABLE|PCI_MSIX_FLAGS_MASKALL);
> +        pci_conf_write16(pdev->sbdf, msix_control_reg(pos), ctrl);

Should you make this conditional to them being set in the first place:

if ( ctrl & (PCI_MSIX_FLAGS_ENABLE | PCI_MSIX_FLAGS_MASKALL) )
{
    ...

We should avoid the extra access if possible (specially if it's to
write the same value that has been read).

I would even move this before the msix_table_size() call, so the
handling of ctrl is closer together.

Would it also be worth to print a debug message that the initial
device state seems inconsistent?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 11:47:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 11:47:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515682.798818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph7mu-0004mq-AT; Tue, 28 Mar 2023 11:46:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515682.798818; Tue, 28 Mar 2023 11: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 1ph7mu-0004mj-6P; Tue, 28 Mar 2023 11:46:52 +0000
Received: by outflank-mailman (input) for mailman id 515682;
 Tue, 28 Mar 2023 11:46: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=/g+s=7U=epam.com=prvs=8451319e69=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1ph7ms-0004md-Du
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 11:46:50 +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 37130e26-cd5e-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 13:46:47 +0200 (CEST)
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
 32S9Xn1M028027; Tue, 28 Mar 2023 11:46:35 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 3pkq299u60-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 28 Mar 2023 11:46:35 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by PAVPR03MB10101.eurprd03.prod.outlook.com (2603:10a6:102:30e::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 11:46:32 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::bdd:a497:66a0:a342]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::bdd:a497:66a0:a342%5]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 11:46: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: 37130e26-cd5e-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dw9PFsM7vQQEwen/WkQxITSoW6pjNMrDAtp6taiFJhodiAyIsvMG0A0I43245SltYDI2jU8o4VmVjanxBhcdxvHBO4Qy2CEvCPvZ86vBfcTmy40sQUQRyivjYWt6/bIRFkULCUosmK4VnID0Oqs+ocfJndJ4cpXh1UNagt4EXnopqlej40h/V2xRPq1fQPG7vOPHR1d+zlcg7QulrS28nDvU3W/JggAdw/xUN2X2as1Lq5JWVv6PfgVqo5F0OeEYw4+1zX6K7dXS39bbMnmVdhQUopfsKXoBFDDcwBZlLv0EFl29dMwgbe5fBOunOdXncyhk0hPitNwphA24VlAkCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9qKmWnoj5vjmFJbWqFY4zt+zKe2uqHMERXn07Z1eAvs=;
 b=PV9KRydVahk+ZsVlWkMEm5+wnDVDq3Hf3y9FGIwX9AwLpJO/1uVs/BNrHB8RSPIfdUmWiM67LL839vOlvbJYZUFhTQZWboptr/t3oDYCD44LskNu65uD+jhWjCRNln33DB6VJ93vBOJMqfEd2Q5W4lb/69ku7zpOQqbjIJYA0jb7hdUpT4WXgJYpX+8JczyC4/mO69mT88dRzIMFGCSxiNfWdxbsJDmFmrOSYvOx03/PSSMWNo/yfcQUt6Y+yuDRMWHmY7+qSPIcsTMz4BB5jJH7Zpq9K7qESpJ6CyR6KZOpzDCX4phbaSoEXBnYuF46SfZBMuCX4hu+dA7/EA5BWA==
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=9qKmWnoj5vjmFJbWqFY4zt+zKe2uqHMERXn07Z1eAvs=;
 b=QTtmsA4kcdGc3urpb2LV/nbd8iAxJgoJF5ALL9PbzNDz1SUFPasOJWJLas7q/7xgTuGPPTAqiv0J8XuVBLb5qEq5LUaiOS7Z+pP3aCfJV4r36JjTcRCZR+C/+jCjGgrOq4Te/OgsB8Zi+dN+K1QkSPGfaau5CYbqtbHJ7KK/U/mvJikEqR86MBz/fAJj3tDnJ+G8KChKoEYo1GDuQ/Oi5jTLGy7IrcuiZE3EAZSzRnn9KHyDKlwHFdVNrvwelQRCobh3B6Rz+10DhKcX52N7LX/8vOArMIBux/37p77gkIvq2Y6VleiLy3q+u0qdBU9uC4ulL6mF/00YiHyfZyZG7w==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Dan
 Carpenter <error27@gmail.com>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] xen/pciback: don't call pcistub_device_put() under lock
Thread-Topic: [PATCH] xen/pciback: don't call pcistub_device_put() under lock
Thread-Index: AQHZYVG3Th/ejZHSZUelfLFc3pO1U68QEzcA
Date: Tue, 28 Mar 2023 11:46:32 +0000
Message-ID: <7e50b6ec-2b84-f5d9-0b5d-bf6e5e83cc25@epam.com>
References: <20230328084549.20695-1-jgross@suse.com>
In-Reply-To: <20230328084549.20695-1-jgross@suse.com>
Accept-Language: en-US, ru-RU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB8PR03MB6108:EE_|PAVPR03MB10101:EE_
x-ms-office365-filtering-correlation-id: 6d1a3875-2863-4f3f-247b-08db2f821383
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 2kDv9O8zOVxeLcBS8Pp87FYh4zIxwxxkZsCUzNbRVvPbFVhVFMeyzh7UgGHqBgPJH+1hX4VeKErfkwgXRU/hAhmx5+0tKdOp4tZO9tV8YtUXvVCS2axVKwmCnHLIFbij/xvXQLN8amqk1fnSgHdp/butjDerVolg8a2iUIhu/XhBUyr2AqGZ2B+IU7ft9KdBnTRc26+GKLCoNPmVQ2MYZ0B7Aamdn/D9DxuPywQg4Gc3u4BdAWGU6WAbcDZgBFj6kK5lj9NB36QKhoDbwSI4LyqL26UW5WU0pFk0K7u2hHtY7v91WXrZBu8bDsEB+GvFpYwISi7gOmJfdl4OCHcgyhXQdu1j8grs8Zxxv/PbtZSDc0uz7odz33tPf0XADq0IBaMYK5kY+Fi6pbCQMP91bqIUH8HT3CiT9bwiwXP2cTsHccPwMfFrDSeuhrZgbEea4Gcg5NTrn6/yy9APDlWA6bM9ROVYCn+WOm2teQve38UI8iipqD9yc1e7e4Dj64Kg4EVtfylBclL7gMPyon8DNSJGKI17bQAGkIRoZScozHYgvg+ERQOvZF08KxOB+w8SvvLbidPig4yfvzsjFFYeRnmhKe/3fl+ppEMg5cb3+hECKFaik68SVmzLliHJrQXsrEVXGpIKyFii1khaEoo8Sg==
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:(13230028)(4636009)(376002)(346002)(136003)(396003)(39860400002)(366004)(451199021)(122000001)(5660300002)(8936002)(38100700002)(316002)(54906003)(41300700001)(66946007)(86362001)(6916009)(4326008)(66446008)(64756008)(8676002)(66556008)(66476007)(91956017)(76116006)(71200400001)(478600001)(2906002)(83380400001)(31686004)(6486002)(966005)(38070700005)(2616005)(31696002)(6512007)(6506007)(26005)(186003)(53546011)(36756003)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?T1VVVGNJWC9WLy9kWnkwTXRXdWZRM0RrMGdrZDJXYjFPZlYwdEsrVGtjWE8x?=
 =?utf-8?B?NVUyRFl5M3ZVdkEwWmRrNUxQdHR6aVBzK2FqUDR3YTZ1ZzhweDVycnlqd0RH?=
 =?utf-8?B?b015dG52NDhJelFWaDB0aXhLV1lTYmFocFRZN1Y2UnBqdEw5N2FFVThMRG5m?=
 =?utf-8?B?UG5jcTFLbkVRZ2JrZU5SL1NkaUFSdHFrYy9aanhpYnVUS3ZkL2lMWjhYQlVp?=
 =?utf-8?B?RUkxR2lGREhwb2ZMUmJIcjlETW54QjcxL0tQdjNKR2ZRUUkzdGVsSkZUTmtO?=
 =?utf-8?B?a3JXNGQ2dTRUQUc2TU1rYmk1cU1ZcXhuK3dOa1VIc2V5U1ovVERpTW1pVzFu?=
 =?utf-8?B?c3hoRVk5MnFUWUVQQ1NrbTF6UW5xSlRZVjNZajQrOWxqS01vVytndXcwTE9O?=
 =?utf-8?B?UStXeEtOMW16SnJGK3JwYUNzOWhxQkVSZmZKSFk1L29iS1VEZlFzbzFmMFdq?=
 =?utf-8?B?UFprelkvdEtOVFQvd3hCVnROYy9aUEMwZjNHT3psWWFNTG14bzdTaVF0c0JB?=
 =?utf-8?B?ZlpCdi90WGM4aTdvblAxTGU4MHgyT0NWYU1qSDk2ZlM0L2xGVVpRcnJvSndZ?=
 =?utf-8?B?NTYwYTFkSG9haFEwelM0US9ZVEtuYTVhOGNtd21oVEI0enJmbGhsUmZtcE9u?=
 =?utf-8?B?bW9Ncm5Bekp0dDlXcldjNzZXczV4OERrMEN6RXNGWjFGeVp4NXFXVDFaeTBR?=
 =?utf-8?B?ckRoM0J2NkdFTXJoVHVwRmR0NVIzN1dTbWZuQWlneW5ZeXNUUGpEMjhNY3BU?=
 =?utf-8?B?SGxpclVmK0ErMWdONjd0ZFFqVmFQZ2s3aC9WOGcrcERkeEY4VkdlOGVvWUlV?=
 =?utf-8?B?R2oxVU4vSUlwZDdTMzBIUFBtdENtNmZMekdmRkhSRFROZEF3SzgwNC8vNnMx?=
 =?utf-8?B?WG1BQlkwZTUvL0ZKaFdIdndBUCtYSkxocnhZZ2ZJV3JEZ2lpNnJkNjliU2Ri?=
 =?utf-8?B?UUVMUng3MGo3YUI0MWNPRlZRM0dZTjdubGxuV0xqZE9jcFhLUHlzbHhtWnYx?=
 =?utf-8?B?UktFMXFhRnhTbDN4Tm5SUW9udER6N2luOGdYekFRTG5leVBWa3QwQ0NmU2pU?=
 =?utf-8?B?cVMzcThSK1p2aFlMZEhNNU42MnVweU1nUjBhY2QrRHRLMzM5elBUa0xlaWpr?=
 =?utf-8?B?TVVLaWsvNEY2dkJqcmhlaUVzNEpLQnM3OVorOG1jTnFCdnM4aXZ6UFU1cG1m?=
 =?utf-8?B?dzUraVdpdVNzbXJjdnBwcHc2RUlrNVRlRGxDRVBwL0pXVHlmRmFvaWRoSUFC?=
 =?utf-8?B?OEhzeXBycHhOV2JDZmVnWWN5T0YwTG5Oc2tDaEQwbHoxYk5hRkFNSHBuak1t?=
 =?utf-8?B?YzBpdTF4dExrd3U5Zi85K21lVlNHdUpVRlhIYTFDV3c3bVlJamlTNDVWNlNS?=
 =?utf-8?B?eHUyYjVJU1pzejArTU5JQmZrekF6T0RLQmtRQ0hLOG9FY1FpQ0dqb2N2S1Nk?=
 =?utf-8?B?bzF2NXRpRkE4Q1lIN1hUanNlT0ZiWktabjFIbWFMQWVvMTZRUWxHQm9Jc1FC?=
 =?utf-8?B?OXEwbXU4TEJmMDBUUkVSR2cyam5uTG9FUkZBY1JvNkVVZnI4ZXVKbUZsS3BS?=
 =?utf-8?B?MnUyczB4Tkg1OGJjVTRmUERkTDI5T1haVWQyZUNFOFRaTGVBNjFPaTBQbkc1?=
 =?utf-8?B?MjZRUmlRU21GRlZpMHNlNU9YYlBxWHE5WXVRVW16M0xWYzIySVhZalRyalhK?=
 =?utf-8?B?VGdMQlVoL2ZGL21jRHZzTXpMN21US1cwQjV0RXRpUzZ6bVcyN2cva3JZZ2Zr?=
 =?utf-8?B?U0kyT1ZOMVNSYVltNUlPalcydldjTGVrOXVSVVE3a3RpKzdTMXlURjFoNVN1?=
 =?utf-8?B?a0RiTS80cjJHWW1scFJyVzNIdXVYczBLd2lKcFJ6WkNTOTVlVFBTVnZQVDVx?=
 =?utf-8?B?aXY5TWdoNCtMcDlkWkZwT3J3aXFkdzRFcDBCYk40c2Q5ZktobE9seFFVR2ZS?=
 =?utf-8?B?Q2E4dGx4WmxJQVR2bmlETEJiUTk4bkFUV1pYMkxwWmJBdm5JRVkwdytsamU2?=
 =?utf-8?B?OE80bS8zbWZpOGRoeDMvaXduTklxRXpOUnkrM0NGTEF0aGZSMGhScitBazBV?=
 =?utf-8?B?cFlHaGRVTGN5Y2ZJVFNFbjBmaUhyNFpmVTUzQklZSVQ2QmVpY1N6bVRsd3VD?=
 =?utf-8?B?SHE4NnBYbS80SXBCazV4WmhqRW50YjhiNWpuQmVpR1kramtRSDk5WFBYOThu?=
 =?utf-8?Q?bqxKbK0JTsJ3YtywzmqIPxs=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F1D6F9FCB86E354093817B58F58D320B@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: 6d1a3875-2863-4f3f-247b-08db2f821383
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2023 11:46:32.2529
 (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: hv9GCN05PCBF9k+1yN4APl0UDRd57r6WE+ywdj5RfLupgxo64giDDH8o+0T2M9LWRe8jqHAR7A5gzrSn4iBd6bcdsJaOqU5d1ODpykmtRoE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR03MB10101
X-Proofpoint-GUID: woonEXiu3MeIReiKM2spzwpq7Z-XMHFR
X-Proofpoint-ORIG-GUID: woonEXiu3MeIReiKM2spzwpq7Z-XMHFR
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-24_11,2023-03-28_01,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 bulkscore=0
 mlxlogscore=742 spamscore=0 impostorscore=0 mlxscore=0 malwarescore=0
 clxscore=1011 lowpriorityscore=0 priorityscore=1501 phishscore=0
 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2303200000 definitions=main-2303280094

DQoNCk9uIDI4LjAzLjIzIDExOjQ1LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KDQpIZWxsbyBKdWVy
Z2VuDQoNCj4gcGNpc3R1Yl9kZXZpY2VfcHV0KCkgc2hvdWxkbid0IGJlIGNhbGxlZCB1bmRlciBz
cGlubG9jaywgYXMgaXQgY2FuDQo+IHNsZWVwLg0KPiANCj4gRm9yIHRoaXMgcmVhc29uIHBjaXN0
dWJfZGV2aWNlX2dldF9wY2lfZGV2KCkgbmVlZHMgdG8gYmUgbW9kaWZpZWQ6DQo+IGluc3RlYWQg
b2YgYWx3YXlzIGNhbGxpbmcgcGNpc3R1Yl9kZXZpY2VfZ2V0KCkganVzdCBkbyB0aGUgY2FsbCBv
Zg0KPiBwY2lzdHViX2RldmljZV9nZXQoKSBvbmx5IGlmIGl0IGlzIHJlYWxseSBuZWVkZWQuIFRo
aXMgcmVtb3ZlcyB0aGUNCj4gbmVlZCB0byBjYWxsIHBjaXN0dWJfZGV2aWNlX3B1dCgpLg0KPiAN
Cj4gUmVwb3J0ZWQtYnk6IERhbiBDYXJwZW50ZXIgPGVycm9yMjdAZ21haWwuY29tPg0KPiBMaW5r
OiBodHRwczovL3VybGRlZmVuc2UuY29tL3YzL19faHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGtt
bC9ZKkpVSWw2NFVEbWRrYm9oQGthZGFtL19fO0t3ISFHRl8yOWRiY1FJVUJQQSF3TzRIUjFqQ3JE
TU9mQjFJaDJxRVpzMmpucWNpZVpVWm5jNmNQd2g3VGE4aGlMUkt3UzFHcy0xdG1RUC1OdUVZb3o5
TGhZV0k4YUZhekl3SWE4TGgkIFtsb3JlWy5da2VybmVsWy5db3JnXQ0KPiBTaWduZWQtb2ZmLWJ5
OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0KUmV2aWV3ZWQtYnk6IE9sZWtz
YW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4NCg0KPiAtLS0N
Cj4gICBkcml2ZXJzL3hlbi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jIHwgNiArKy0tLS0NCj4gICAx
IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlm
ZiAtLWdpdCBhL2RyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaV9zdHViLmMgYi9kcml2ZXJzL3hl
bi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jDQo+IGluZGV4IGJiYTUyNzYyMDUwNy4uZTM0YjYyM2U0
YjQxIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3hlbi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jDQo+
ICsrKyBiL2RyaXZlcnMveGVuL3hlbi1wY2liYWNrL3BjaV9zdHViLmMNCj4gQEAgLTE5NCw4ICsx
OTQsNiBAQCBzdGF0aWMgc3RydWN0IHBjaV9kZXYgKnBjaXN0dWJfZGV2aWNlX2dldF9wY2lfZGV2
KHN0cnVjdCB4ZW5fcGNpYmtfZGV2aWNlICpwZGV2LA0KPiAgIAlzdHJ1Y3QgcGNpX2RldiAqcGNp
X2RldiA9IE5VTEw7DQo+ICAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+ICAgDQo+IC0JcGNpc3R1
Yl9kZXZpY2VfZ2V0KHBzZGV2KTsNCj4gLQ0KPiAgIAlzcGluX2xvY2tfaXJxc2F2ZSgmcHNkZXYt
PmxvY2ssIGZsYWdzKTsNCj4gICAJaWYgKCFwc2Rldi0+cGRldikgew0KPiAgIAkJcHNkZXYtPnBk
ZXYgPSBwZGV2Ow0KPiBAQCAtMjAzLDggKzIwMSw4IEBAIHN0YXRpYyBzdHJ1Y3QgcGNpX2RldiAq
cGNpc3R1Yl9kZXZpY2VfZ2V0X3BjaV9kZXYoc3RydWN0IHhlbl9wY2lia19kZXZpY2UgKnBkZXYs
DQo+ICAgCX0NCj4gICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcHNkZXYtPmxvY2ssIGZsYWdz
KTsNCj4gICANCj4gLQlpZiAoIXBjaV9kZXYpDQo+IC0JCXBjaXN0dWJfZGV2aWNlX3B1dChwc2Rl
dik7DQo+ICsJaWYgKHBjaV9kZXYpDQo+ICsJCXBjaXN0dWJfZGV2aWNlX2dldChwc2Rldik7DQo+
ICAgDQo+ICAgCXJldHVybiBwY2lfZGV2Ow0KPiAgIH0=


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 12:04:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 12:04:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515731.798852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph83F-0007sy-6c; Tue, 28 Mar 2023 12:03:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515731.798852; Tue, 28 Mar 2023 12: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 1ph83F-0007sr-3W; Tue, 28 Mar 2023 12:03:45 +0000
Received: by outflank-mailman (input) for mailman id 515731;
 Tue, 28 Mar 2023 12:03: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph83E-0007sl-1z
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 12:03:44 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0613.outbound.protection.outlook.com
 [2a01:111:f400:fe02::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 94e8f5d6-cd60-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 14:03:42 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PAXPR04MB9677.eurprd04.prod.outlook.com (2603:10a6:102:24f::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.41; Tue, 28 Mar
 2023 12:03:39 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 12:03:38 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94e8f5d6-cd60-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hkZgVfb4pUJIFBYkaxiytcFjKOdlNyKHqbJ4nDeZBrY+Zq1m8ak6d6LGUfMVhAl6nXwgQ5M9GRWrJ3etI5GHHhcfphysT3TQ//VwLYgSVvW6NigCqcftUboQhTvIWlMLLR9tSaFMJ7Jg5hWelAI+K7xYKVx/IHwekRcBAx1KKk3jSXnmHQn4OMO8WpflkcFsMd2oEyaQJm5lDz29y0agWb0HmG01dsUFyOw4lNqmgmvQ9lEfrO3m0vhsmkzA1BqH1UknP5KmmeTM7K06r90eanWL9jj+MbmD6n+FJHBg+RXKzFPL/eHen0PUk9BNc6hIdRcdqUVQ99ZWb5Ij2ojEzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DTaPpCmDqesLSLqCWRt+vBFYz7YAwSIX21Wt7s5OZ90=;
 b=DBsmaOisDMcgeb2G47qy6rwmhIV4MfUZBrOKBsliQTq8yjG6nbcHDmLUnsB8jV34DPc6j0kgTCOMgPmjU4MXxF2Se3uyTdIleU6WXrlfaQ8GZs8LU+AcZqLthz3n2yFV+rj42GOYgUFnrTzjkm9MwuS2aOG+PBVeHtSA+Y6/ViaYsHUqCrcx+bCWnhNflQ86zBgVlSSRJ3llG5006rGWrboY+BCWq8yYp/A5mYeDymzNlMLRrxrPiVqFIonG8Nj+N6xnHI5YW66xi95LuZizzmi9LEcBaOYvNWyxXMcLA3c+i89JjTr/h77VxWLAePHIJBMEvWqw9hEzBevW7EqfvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DTaPpCmDqesLSLqCWRt+vBFYz7YAwSIX21Wt7s5OZ90=;
 b=MB9eIvrQzeqcugpFZc4ACVqMAJzBu7SpFkcXjzm+rylvVrBkkHe6XfJk4rGPp64oQPlpZin61y/KtXEBnlZCS5HGMusiXpSlyI8p+/COnRHQG4D42MSIiUkGqYf/Emv5wbp7VnLOx920ec4Rm4s8YpW7xfDDNn0lSP9YinkixJz5DmmTlqgPX7ad4BqrXPMhbUPc2A+G1Gbfw02nNqmr/wTS6XjRaKmJLpZvjYMoshmLhP55LW6vF1ywxC/Hm3SRFe2mblfZcaLR4X0FkKi3r6u1FDrYDKtIWABMoCFUa2lZfYtTVgOz2dyHtYCCFDZzq/e+ZYVK/ZzlKWmciPi+Mg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e932269e-86b5-a62d-c936-d52ded3799aa@suse.com>
Date: Tue, 28 Mar 2023 14:03:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH] x86/boot: Restrict directmap permissions for
 .text/.rodata
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: <20230324220824.3279825-1-andrew.cooper3@citrix.com>
 <d26961b0-0c13-83d8-9102-37e1e297fc4e@suse.com>
 <fe6627a6-067d-c3b0-f6f1-25d21bb6a530@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <fe6627a6-067d-c3b0-f6f1-25d21bb6a530@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0117.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::8) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PAXPR04MB9677:EE_
X-MS-Office365-Filtering-Correlation-Id: 882aa99d-2538-4204-2f7c-08db2f847751
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0czL5J8CmNHrD2chOyGduh31P1jOMbGfc80LKwnc95Gy2Y9b6U13xHkwCg90RQmYtePWBH9N3sxKvc5Qz5sIKrqXwbC58136acpWzoxUBRlHiCuuhyxMe3kvrXdYgIXWfFVuXXnG1frGdHqmo2cUww2/FLCVuVg74ZcT/y5bI7pnscbPHSqkOt2hpgBehrERx2xcdHvLaW4aNJMEPBcuAlNdZCfKg7XFi/9SjaPa0eLG4nW2vbQLqls/2fbKVHjTCvzMOpHQJ5UNVR+pac2BJJiYox4cJJV/H7D/l6T7D5tzTmaa75cuikkY1FgjR2/fRpys+gK/A/VvcmkDn2GuEcoAmpcvfYH1+qllazg5NDgYZW2YCeeqo8PDadx6VAFjas4zOcqzf88IASO6bLplKY5xSlJc4Klh4bG4IFZZiNkaNHNjgtRFqf6D6B0h/ZclfJGwsJewVdXrCVk/KXvgosffXY/YZcJtAX9Wsb7FSN1SYVqTs5AowR8JyIgjdm1dLlnYy6siRCUOhVGfxHLHapACvy6hD/e+IVHR1t/OIvAPGk7cwZDJUY9fOFD+Avbbk9oDEjoKkTanLK2Ad6db/Bd8dXjaOdnYz2ULn1ISUt8FeKPZP0HXa/x3ZxnqXJf6MH7TA7E6YdqvM8S9BSGS343zRbXUqXLoBTRXQmhsvno=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(39860400002)(396003)(366004)(136003)(451199021)(186003)(26005)(6512007)(53546011)(2906002)(38100700002)(86362001)(31696002)(36756003)(2616005)(6506007)(54906003)(66946007)(4744005)(66556008)(5660300002)(478600001)(6916009)(8936002)(66476007)(4326008)(41300700001)(8676002)(6486002)(316002)(31686004)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RXlOWC8yK3RFeWtmZmRrRGVPT0ZLTzNjL2czM1ZTZWUrdXI2K0ZHM2kwcm4x?=
 =?utf-8?B?RThqbEFoaVNzT29IemxKSW84VkJBTDdSSVBlbTlFa2hOQ2pFa25KVzJWVUkx?=
 =?utf-8?B?U3JpZlF3cHFMVTNTNGdWMnZsRmFMT0RURHo1Y0tpSUR5OHByNVFXNVB2cjFj?=
 =?utf-8?B?cU0rOWRydDRwekNhbWJrWFZvUVMxZWdCYjVUeXl5ekJieDZ0V3cwenZjNlRx?=
 =?utf-8?B?cGNDV3ZiYm1Dcjc0WmxqR0JIazE0dTk2WUFjdjU4aHJVcDRnY2VtVWtnSm5C?=
 =?utf-8?B?ZEFoTko0Qk1zVTBQeUdoQVZHOFFudUFwMWpFUHBsbmErMFhieXpjWmV4TW1R?=
 =?utf-8?B?dVZxWWZhb1JjMktoYkx3Qk1temJST1ZSZUp1ckpwRDJWNnRZM1NYV3ZPNjY3?=
 =?utf-8?B?VU1rOG54ZEFQRzFLajl4MnRZbU9ZRFZhSVBFRTJoOXoxVkovb2NFdzliOWph?=
 =?utf-8?B?Z3ZBa1YwdklLMXdsd0lwZTZhWVJYWkdvUXJteERCaGNkMk4wRlZlNzVxQTBG?=
 =?utf-8?B?Mi9lV2UrSk1XVDJ1Z0pUZ3VCNDJHTEp3WnJMUjJQbjdQbWcyQU5MeC9HV3hD?=
 =?utf-8?B?UzdEQnJDVUFXckNoaGh0dytJQjl0U3BvM2VIbmp3ck9nY05ZakpSdE9QbGQ5?=
 =?utf-8?B?aUlTR2g1RFJYcmo2dnBVUFkyNGZBMDd4RlVQUEo2b0l3VUVLeis2Vm5YeHZV?=
 =?utf-8?B?NUNuR0NyZVBMNUVoTzdNeFF0dTJTMlF4VDloRUdWQjlkMHAxUlY1blovTjVl?=
 =?utf-8?B?UDcrZ0l5QkJVWXFzWng0RlZlMGNiWmJYVzRON01IcEtkbndjL01nQndRSEJ3?=
 =?utf-8?B?QnFjRm5LaE12YTBFcnBmR3ZpTng5bWdsV0J5RE96V0JxZFFEZVJwWVloMEM2?=
 =?utf-8?B?QlBWZ0tkSXFHWTAxMHozekFMVlRJeFcxMzFuWjJXczkyd3FwQTFSUzVyM0tS?=
 =?utf-8?B?SlVGTllrS3lFTlpnS2NTdjJ6VzdLSHBCN3IzVXNQVXA4Y0VTRStrREN3TVVM?=
 =?utf-8?B?ODQzTXFHOTNIaUNKUnkvUWp1dEM5SzRXV2FmWTJIMzh3d1k1QVhHNGRiWWFT?=
 =?utf-8?B?eHhScFBvRDBYUmJTdm4zbWloY1pVQjNPM0lrRExUT3p6ME1zbFlESmUyZnNV?=
 =?utf-8?B?U3BKcnBOU1hiRC9ucjQyQ2JXZkZ6ZzVjLzVmaWxOZ2xINFRVU2F2TGgzYXNn?=
 =?utf-8?B?cStldk1KeTgwR3p5akZEWWpvaDgxK2NIdjRCcUNtbHZSekhxOHUvaFJkZkxM?=
 =?utf-8?B?MFJQMEFNZ1dBS05UZGhnNFdhNVlBNzZQZml5WTNOdXJUMzNGdmhrbTRWaUFL?=
 =?utf-8?B?ekhwWlFlaWd5V1B0MVU3UW91azM1dVgyaGhtc0R6N1VZQWF4bWU1eU93Ny9M?=
 =?utf-8?B?Rnh2OHlXRjljbGEybG5yN285aFppVmJDUmRoOGtubklOTTNSZkh2c1hRellC?=
 =?utf-8?B?cmo0Rnk5cnFnUE85OXE0a2k4K2lkQzVPUS9NUGo5WTh6c29VM1A0bnVlYVhr?=
 =?utf-8?B?TmpTVjI3UlBvNkpTVHFqdHF5WEkvQlA3cmZiNW9lbDlnZEZDNTdUd0w3WHlU?=
 =?utf-8?B?aDFoUXNscFlZdVFGN3hMY2ZwSzcwaU1SU0NvWWdyR1I4djRLOURvcjNTdHN1?=
 =?utf-8?B?ellCRERnOXZzdVd5OFFSLzVqMWZmVzRhYVc1bGhCR25TVi9VNllLNVhtOUZC?=
 =?utf-8?B?UXhTTjl3NlNVcU1MTW12NVQzaEZ1eE0rUVlpSFRrN3BqWm9UK1pWbFpjRmdt?=
 =?utf-8?B?MEZqRWo3UTVsTWFFaW1DaUVic1d1a240VjlXcC9jS29aS1o2WERuREZsM2NG?=
 =?utf-8?B?ekJSZ2lVZTlpSFY0cDFYZHQyRm1BUmRLWnRaTm03cm9VQ3pRaXAwS1lXRHBG?=
 =?utf-8?B?dUpVeERnSEVoaHpvdzBYWkVManR2VnV6ZWl3aXJlUm9PYm5idDJMRTYzQ0Ex?=
 =?utf-8?B?cG1QQmlZNjE2RTVjRkZFK0JjdUJTcjVueEk3SWZVN01ES05TTGFlWmdidC95?=
 =?utf-8?B?TWtKSVBvNVJVSWxjSCs2VmdKeSt0TWtpakZBRVg1bDZIdE14SGpYcndEMDJQ?=
 =?utf-8?B?cHpnbDRJV3oyN3J5aEwrVkt2VmVjN0NmRHpMNzY5R3lDY0gxbDFZTDF1ZHZq?=
 =?utf-8?Q?bes+QD35+/5Jw5/Vonp0Xgv/4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 882aa99d-2538-4204-2f7c-08db2f847751
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 12:03:38.8496
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JIyvrC2JvmHBH4zONSJOnVqFGUz1h/Df9Jo6FlLLOKIey+jgLdiWDuy5V+r+nzQ5D6wubT+pjMZvKMCX1IcLIA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9677

On 28.03.2023 12:27, Andrew Cooper wrote:
> On 27/03/2023 4:43 pm, Jan Beulich wrote:
>> On 24.03.2023 23:08, Andrew Cooper wrote:
>>>  * For backporting, this patch depends on c/s e7f147bf4ac7 ("x86/crash: Drop
>>>    manual hooking of exception_table[]") and c/s e7db635f4428 ("x86/pv-shim:
>>>    Don't modify the hypercall table").  No compile error will occur from
>>>    getting these dependencies wrong.
>> I suppose the latter isn't strictly a prereq, as the modification was done
>> from an __init function (i.e. before this new code runs).
> 
> This code here runs long before pv_shim_setup_dom().  This dependency
> was found experimentally via testing IIRC.

Oh, of course. I was mistakenly associating the new code with init_done().
(Iirc this was because the only sensible search hit for ".rodata" was
there, and I didn't pay enough attention to context.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 12:05:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 12:05:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515734.798861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph84s-0008SD-Hh; Tue, 28 Mar 2023 12:05:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515734.798861; Tue, 28 Mar 2023 12: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 1ph84s-0008S3-F1; Tue, 28 Mar 2023 12:05:26 +0000
Received: by outflank-mailman (input) for mailman id 515734;
 Tue, 28 Mar 2023 12:05: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=B75i=7U=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1ph84q-0008Rx-Sn
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 12:05:25 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfe639ef-cd60-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 14:05:22 +0200 (CEST)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id 5C2EE5C017E;
 Tue, 28 Mar 2023 08:05:20 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute1.internal (MEProxy); Tue, 28 Mar 2023 08:05:20 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 28 Mar 2023 08:05:19 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfe639ef-cd60-11ed-85db-49a42c6b2330
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=fm2; t=
	1680005120; x=1680091520; bh=P+bC37AqWrmzlpXX+z6Jx69A2M8fHeNxeHl
	Lq1yNjmE=; b=ltp7sQ8CnBFcVpp7vUmlAbZcLa7C5BAjv8DSGOjDZV8y66Qi0Md
	C17j2uB2h47vBux4oQeSX0I1qEVafzOERzEqiNYicO/MCwPQ7SKLxPwSq/d5yPGR
	iFfTpUs4lqym0IrOV3WioMvT2M6yyj4MowwI4fG4RnjtjAS38rEkMVIzMHA+bfwk
	B5NOezShxByaYyYM37fT0Hrc+5ZOI6vZHcnrdKOkxva0wMnQienewIE6u6dhe1+W
	D1aI9DG6xzNkacuh3ksp/5D4FmsGS1PYNJTKIjWvaI9YnX4OXREN7grGHcYFA5LW
	fghhbOJfRqWOSZ+UsBS2i2XdizUQ9NU4CmA==
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=fm2; t=1680005120; x=1680091520; bh=P+bC37AqWrmzl
	pXX+z6Jx69A2M8fHeNxeHlLq1yNjmE=; b=FKqf8d+rjZ+8AASwWMVxWLM2A9Lxc
	IUr7FNj5jn+Oz3bxF7P3/VnI9s6wl73r5m0rzVkjktDtPuEGoDUbv5NRDugdaivL
	i8bQHLkNias29e8q23pVgBrCI/USq7ILhuDxgA8/angWVSCw6+hXYO0ICpckHB9s
	RtXAtYK0X4H572OvgKSEukpDrNxhjQ6N0OWf2aCTHgX9QyISND6t1x32uZ3Wn6iA
	DhKV7jZJC/3/Lgq3OQvgkDCJbevRVtBGWnWZwMz/Jx85k8x3TOwl8tQ1+T519Uzf
	IHGmwdhpDDpey9jFyK6vvbOhSkewLzBSlW9WytvCNg80Prs3xseN9Jzbg==
X-ME-Sender: <xms:ANgiZCx5lP9oFvqh5fgJ-ZBoFLkpjm-Zs-pU-u6EoIWjV0sgo8ELfg>
    <xme:ANgiZOQ7m1uNI0pAUKrlCOYWbFB_yJYKhJYz4dEJo6uMhYqTsLGobMELxAM2ORLna
    TGCEiEuJAjWqw>
X-ME-Received: <xmr:ANgiZEWwd17Q699P1fMeon28eS6oujjMbZC5URQY6f9MjPfPQcu4m7q9Fh6f22YZXiiskhS3vnQZj8J4sKy8FfIkKEkEw5Mvw4A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehgedggeejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:ANgiZIh301vreivqZ1gAlUzNnaAoIDQbvei_cTaxIkq0EhGnnp9vZQ>
    <xmx:ANgiZEDZEXQH24rT-Grp0aZkCtI2ysu5oG3VrPk0PFyeMfEvypduQw>
    <xmx:ANgiZJKcr7wzZFDmt2y1nOXzHZkVU4mJTMikJQ7aWvcIU3VBnBaEHA>
    <xmx:ANgiZHNCpJnKXyIzWWU59f0Qfgvt45Y5_6ujLJI0BsVAJPMLRanitg>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 28 Mar 2023 14:05:14 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 2/3] x86/hvm: Allow writes to registers on the same
 page as MSI-X table
Message-ID: <ZCLX1qD/FmbF5ulu@mail-itl>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-2-marmarek@invisiblethingslab.com>
 <ZCLNQGXvUBxZbIGS@Air-de-Roger>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="VavojxH82hISeCT6"
Content-Disposition: inline
In-Reply-To: <ZCLNQGXvUBxZbIGS@Air-de-Roger>


--VavojxH82hISeCT6
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 28 Mar 2023 14:05:14 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 2/3] x86/hvm: Allow writes to registers on the same
 page as MSI-X table

On Tue, Mar 28, 2023 at 01:28:44PM +0200, Roger Pau Monn=C3=A9 wrote:
> On Sat, Mar 25, 2023 at 03:49:23AM +0100, Marek Marczykowski-G=C3=B3recki=
 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, add internal ior=
eq
> > server that handle those writes.
> >=20
> > Doing this, requires correlating write location with guest view
> > 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.
> >=20
> > This can 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, forbid 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.
> >=20
> > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
> > ---
> > 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 sa=
me
> >    page
> >  - do not passthrough unaligned accesses
> >  - handle accesses both before and after MSI-X table
> > ---
> >  xen/arch/x86/hvm/vmsi.c        | 154 +++++++++++++++++++++++++++++++++
> >  xen/arch/x86/include/asm/msi.h |   5 ++
> >  xen/arch/x86/msi.c             |  38 ++++++++
> >  3 files changed, 197 insertions(+)
> >=20
> > diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
> > index 9c82bf9b4ec2..9293009a4075 100644
> > --- a/xen/arch/x86/hvm/vmsi.c
> > +++ b/xen/arch/x86/hvm/vmsi.c
> > @@ -438,6 +438,152 @@ static const struct hvm_io_ops msixtbl_mmio_ops =
=3D {
> >      .write =3D _msixtbl_write,
> >  };
> > =20
> > +static void __iomem *msixtbl_page_handler_get_hwaddr(
> > +    const struct domain *d,
> > +    uint64_t address,
> > +    bool write)
> > +{
> > +    const struct pci_dev *pdev =3D NULL;
> > +    const struct msixtbl_entry *entry;
> > +    int adj_type;
>=20
> unsigned AFAICT.

Ok.

> > +
> > +    rcu_read_lock(&msixtbl_rcu_lock);
> > +    /*
> > +     * Check if it's on the same page as the end of the MSI-X table, b=
ut
> > +     * outside of the table itself.
> > +     */
> > +    list_for_each_entry( entry, &d->arch.hvm.msixtbl_list, list )
> > +    {
> > +        if ( PFN_DOWN(address) =3D=3D PFN_DOWN(entry->gtable) &&
> > +             address < entry->gtable )
> > +        {
> > +            adj_type =3D ADJ_IDX_FIRST;
> > +            pdev =3D entry->pdev;
> > +            break;
> > +        }
> > +        if ( PFN_DOWN(address) =3D=3D PFN_DOWN(entry->gtable + entry->=
table_len) &&
>=20
> Should be entry->gtable + entry->table_len - 1, or else you are
> off-by-one.

Ok.

> > +             address >=3D entry->gtable + entry->table_len )
> > +        {
> > +            adj_type =3D ADJ_IDX_LAST;
> > +            pdev =3D entry->pdev;
> > +            break;
> > +        }
> > +    }
> > +    rcu_read_unlock(&msixtbl_rcu_lock);
> > +
> > +    if ( !pdev )
> > +        return NULL;
> > +
> > +    ASSERT(pdev->msix);
> > +
> > +    if ( !pdev->msix->adj_access_table_idx[adj_type] )
> > +    {
> > +        gdprintk(XENLOG_WARNING,
> > +                 "Page for adjacent MSI-X table access not initialized=
 for %pp\n",
> > +                 pdev);
> > +
> > +        return NULL;
> > +    }
> > +
> > +    /* If PBA lives on the same page too, forbid writes. */
> > +    if ( write && (
> > +        (adj_type =3D=3D ADJ_IDX_LAST &&
> > +         pdev->msix->table.last =3D=3D pdev->msix->pba.first) ||
> > +        (adj_type =3D=3D ADJ_IDX_FIRST &&
> > +         pdev->msix->table.first =3D=3D pdev->msix->pba.last)) )
> > +    {
> > +        gdprintk(XENLOG_WARNING,
> > +                 "MSI-X table and PBA of %pp live on the same page, "
> > +                 "writing to other registers there is not implemented\=
n",
> > +                 pdev);
>=20
> Don't you actually need to check that the passed address falls into the
> PBA array?  PBA can be sharing the same page as the MSI-X table, but
> that doesn't imply there aren't holes also not used by either the PBA
> or the MSI-X table in such page.

I don't know exact location of PBA, so I'm rejecting writes just in case
they do hit PBA (see commit message).

> > +        return NULL;
> > +    }
> > +
> > +    return fix_to_virt(pdev->msix->adj_access_table_idx[adj_type]) +
> > +        (address & (PAGE_SIZE - 1));
>=20
> You can use PAGE_OFFSET().

Ok.

> > +
> > +}
> > +
> > +static bool cf_check msixtbl_page_accept(
> > +        const struct hvm_io_handler *handler, const ioreq_t *r)
> > +{
> > +    ASSERT(r->type =3D=3D IOREQ_TYPE_COPY);
> > +
> > +    return msixtbl_page_handler_get_hwaddr(
> > +            current->domain, r->addr, r->dir =3D=3D IOREQ_WRITE);
>=20
> I think you want to accept it also if it's a write to the PBA, and
> just drop it.  You should always pass write=3Dfalse and then drop it in
> msixtbl_page_write() if it falls in the PBA region (but still return
> X86EMUL_OKAY).

I don't want to interfere with msixtbl_mmio_page_ops, this handler is
only about accesses not hitting actual MSI-X structures.

> > +}
> > +
> > +static int cf_check msixtbl_page_read(
> > +        const struct hvm_io_handler *handler,
> > +        uint64_t address, uint32_t len, uint64_t *pval)
>=20
> Why use hvm_io_ops and not hvm_mmio_ops?  You only care about MMIO
> accesses here.

I followed how msixtbl_mmio_ops are registered. Should that also be
changed to hvm_mmio_ops?

>=20
> > +{
> > +    void __iomem *hwaddr;
>=20
> const
>=20
> I would also initialize *pval =3D ~0ul for safety.

When returning X86EMUL_OKAY, then I agree.

> > +
> > +    if ( address & (len - 1) )
> > +        return X86EMUL_UNHANDLEABLE;
>=20
> You can use IS_ALIGNED for clarity.  In my fix for this for vPCI Jan
> asked to split unaligned accesses into 1byte ones, but I think for
> guests it's better to just drop them unless there's a specific case
> that we need to handle.
>=20
> Also you should return X86EMUL_OKAY here, as the address is handled
> here, but the current way to handle it is to drop the access.
>=20
> Printing a debug message can be helpful in case unaligned accesses
> need to be implemented in order to support some device.
>=20
> > +
> > +    hwaddr =3D msixtbl_page_handler_get_hwaddr(
> > +            current->domain, address, false);
> > +
> > +    if ( !hwaddr )
> > +        return X86EMUL_UNHANDLEABLE;
>=20
> Maybe X86EMUL_RETRY, since the page was there in the accept handler.

How does X86EMUL_RETRY work? Is it trying to find the handler again?

> > +
> > +    switch ( len )
> > +    {
> > +    case 1:
> > +        *pval =3D readb(hwaddr);
> > +        break;
> > +    case 2:
> > +        *pval =3D readw(hwaddr);
> > +        break;
> > +    case 4:
> > +        *pval =3D readl(hwaddr);
> > +        break;
> > +    case 8:
> > +        *pval =3D readq(hwaddr);
> > +        break;
>=20
> Nit: we usually add a newline after every break;

Ok.

> > +    default:
> > +        return X86EMUL_UNHANDLEABLE;
>=20
> I would rather use ASSERT_UNREACHABLE() here and fallthrough to the
> return below.  Seeing such size is likely an indication of something
> else gone very wrong, better to just terminate the access at once.
>=20
> > +    }
> > +    return X86EMUL_OKAY;
> > +}
> > +
> > +static int cf_check msixtbl_page_write(
> > +        const struct hvm_io_handler *handler,
> > +        uint64_t address, uint32_t len, uint64_t val)
> > +{
> > +    void __iomem *hwaddr =3D msixtbl_page_handler_get_hwaddr(
> > +            current->domain, address, true);
> > +
>=20
> You don't seem to check whether the access is aligned here?
>=20
> Otherwise I have mostly the same comments as in msixtbl_page_read().

Ok.

> > +    if ( !hwaddr )
> > +        return X86EMUL_UNHANDLEABLE;
> > +
> > +    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:
> > +            return X86EMUL_UNHANDLEABLE;
> > +    }
> > +    return X86EMUL_OKAY;
> > +
> > +}
> > +
> > +static const struct hvm_io_ops msixtbl_mmio_page_ops =3D {
> > +    .accept =3D msixtbl_page_accept,
> > +    .read =3D msixtbl_page_read,
> > +    .write =3D msixtbl_page_write,
> > +};
> > +
> >  static void add_msixtbl_entry(struct domain *d,
> >                                struct pci_dev *pdev,
> >                                uint64_t gtable,
> > @@ -593,6 +739,14 @@ void msixtbl_init(struct domain *d)
> >          handler->type =3D IOREQ_TYPE_COPY;
> >          handler->ops =3D &msixtbl_mmio_ops;
> >      }
> > +
> > +    /* passthrough access to other registers on the same page */
> > +    handler =3D hvm_next_io_handler(d);
> > +    if ( handler )
> > +    {
> > +        handler->type =3D IOREQ_TYPE_COPY;
> > +        handler->ops =3D &msixtbl_mmio_page_ops;
> > +    }
> >  }
> > =20
> >  void msixtbl_pt_cleanup(struct domain *d)
> > diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/=
msi.h
> > index a53ade95c9ad..d13cf1c1f873 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)))
> > =20
> > +/* indexes in adj_access_table_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];
> > +    int adj_access_table_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 d0bf63df1def..680853f84685 100644
> > --- a/xen/arch/x86/msi.c
> > +++ b/xen/arch/x86/msi.c
> > @@ -961,6 +961,34 @@ static int msix_capability_init(struct pci_dev *de=
v,
> >                  domain_crash(d);
> >              /* XXX How to deal with existing mappings? */
> >          }
> > +
> > +        /*
> > +         * If the MSI-X table doesn't start at the page boundary, map =
the first page for
> > +         * passthrough accesses.
> > +         */
>=20
> I think you should initialize
> msix->adj_access_table_idx[ADJ_IDX_{FIRST,LAST}] to -1?
>=20
> > +        if ( table_paddr & (PAGE_SIZE - 1) )
> > +        {
> > +            int idx =3D msix_get_fixmap(msix, table_paddr, table_paddr=
);
> > +
> > +            if ( idx >=3D 0 )
> > +                msix->adj_access_table_idx[ADJ_IDX_FIRST] =3D idx;
> > +            else
> > +                gprintk(XENLOG_ERR, "Failed to map first MSI-X table p=
age: %d\n", idx);
> > +        }
> > +        /*
> > +         * If the MSI-X table doesn't span full page(s), map the last =
page for
> > +         * passthrough accesses.
> > +         */
> > +        if ( (table_paddr + msix->nr_entries * PCI_MSIX_ENTRY_SIZE) & =
(PAGE_SIZE - 1) )
> > +        {
> > +            uint64_t entry_paddr =3D table_paddr + msix->nr_entries * =
PCI_MSIX_ENTRY_SIZE;
> > +            int idx =3D msix_get_fixmap(msix, table_paddr, entry_paddr=
);
> > +
> > +            if ( idx >=3D 0 )
> > +                msix->adj_access_table_idx[ADJ_IDX_LAST] =3D idx;
> > +            else
> > +                gprintk(XENLOG_ERR, "Failed to map last MSI-X table pa=
ge: %d\n", idx);
> > +        }
> >      }
> >      WARN_ON(msix->table.first !=3D (table_paddr >> PAGE_SHIFT));
> >      ++msix->used_entries;
> > @@ -1090,6 +1118,16 @@ static void _pci_cleanup_msix(struct arch_msix *=
msix)
> >              WARN();
> >          msix->table.first =3D 0;
> >          msix->table.last =3D 0;
> > +        if ( msix->adj_access_table_idx[ADJ_IDX_FIRST] )
> > +        {
> > +            msix_put_fixmap(msix, msix->adj_access_table_idx[ADJ_IDX_F=
IRST]);
> > +            msix->adj_access_table_idx[ADJ_IDX_FIRST] =3D 0;
> > +        }
> > +        if ( msix->adj_access_table_idx[ADJ_IDX_LAST] )
> > +        {
> > +            msix_put_fixmap(msix, msix->adj_access_table_idx[ADJ_IDX_L=
AST]);
> > +            msix->adj_access_table_idx[ADJ_IDX_LAST] =3D 0;
>=20
> Isn't 0 a valid idx?  You should check for >=3D 0 and also set
> to -1 once the fixmap entry has been put.

I rely here on msix using specific range of fixmap indexes
(FIX_MSIX_TO_RESERV_BASE - FIX_MSIX_TO_RESERV_END), which isn't starting
at 0. For this reason also, I keep unused entries at 0 (no need explicit
initialization).

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--VavojxH82hISeCT6
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQi1/kACgkQ24/THMrX
1ywIdwf+JeXjo0IepTSQNBmMC7ncwswbDbDnOqxj/0VVIKTe60yhg9g694Il6H+J
tBQV9UyaroRBLDrn+Q0K84igWGTnPfD3lWFXOt4On/oc9ZiB0O8DCGAT4c7bOsnw
YiQF65jb320UgEH7vwXp5uCRhqBflwP3mLqIbB3xAHfjUCJahVoPxAzFwXlHbt5L
JoLcXwV8T/uGdBaADa1L4J8+oHXZnJUMTANHromKWwsu6gHyhbF2EANUABwKwNPz
xUFX3U3mnnN/t+B3sr+Jo5sovXwuEesbqBpXD2WO6Yj4/P7Zqh1VDDVLyMNrZ2lM
Ta/3dZc6dsKoxxSSBBP5jflJFXKtgg==
=yh2Q
-----END PGP SIGNATURE-----

--VavojxH82hISeCT6--


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 12:07:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 12:07:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515738.798872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph86q-0000bb-Tg; Tue, 28 Mar 2023 12:07:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515738.798872; Tue, 28 Mar 2023 12: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 1ph86q-0000bU-Qw; Tue, 28 Mar 2023 12:07:28 +0000
Received: by outflank-mailman (input) for mailman id 515738;
 Tue, 28 Mar 2023 12:07:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=B75i=7U=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1ph86p-0000bI-L5
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 12:07:27 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1aaaf452-cd61-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 14:07:26 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id EFFEE5C012A;
 Tue, 28 Mar 2023 08:07:25 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Tue, 28 Mar 2023 08:07:25 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 28 Mar 2023 08:07:24 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1aaaf452-cd61-11ed-85db-49a42c6b2330
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=fm2; t=
	1680005245; x=1680091645; bh=GwPQfU/1OdNZDH0514UzlX2nnEEw76zTzl7
	0uQOSdcU=; b=HHenlbhd1k7rT1iN862qfCchuOQip+gQ6J4s1riad9DjEM7UmgR
	MAyRokdVvRKg9iWwtwQcbAKNsRCFHesbC1JExT7eaCfS/fxIG7Kz5STGfxhJSnte
	fcQ8CgbOlgQcAOEund5TiXMcCGgjpVHE+V9yTdlIlJiDSUYnCMHXswPTFduVUiLi
	uWPyDQSSXt3gdp+OauudO2g5N+B4wP4zl0V3VlccYEZ/8KdfFMvrSn/SjwpFLozX
	2EgyBfJ/G3WOkOKYk69imInARaE+WafN6NERr7PKe3hbntf5AeiHZAcini0u4EGr
	oN7lGV2aRlqBP0mdpQtrUaU9PSW2vO9zMxw==
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=fm2; t=1680005245; x=1680091645; bh=GwPQfU/1OdNZD
	H0514UzlX2nnEEw76zTzl70uQOSdcU=; b=BWPTp9IEab5ci5DWYvOmkzBNkRZju
	YysJ7XYmYd7Hia7lddpD7S4e8TIffgwGDlUu6OE6LOd0YS0qc0L7zg+D9SSIFpOj
	sBZ2H1HZRdR//2gTkicxB4hrGwKpQNX9lKzPOzOf30EhY7QYv8LvXH3kfr0a05R8
	bJ4Jmspk1mzmjwKjdm/1WMksybRWgVWxGx/vWOjhf8RNlED6Yr+eBLnhtiNEyVov
	3X/2EJsM1x/qkYZgugsfyhIFZ8W9DNO9Tcdtl1PHC7qPsA4AySdhdBLHDSn8Bhh0
	SrBXFZnhShBaMcQKn5USrh7aAUOWKSdAieESAyltYK9RUkCERMyv//gRQ==
X-ME-Sender: <xms:fdgiZPetMCd9TDTXFftIh4-tK6MvYPsdxs9NAkI3WJj5UMJEbsFhAA>
    <xme:fdgiZFMYsEX8DzKV_ckEsywMLTNp8C_Ou9Z5VYx2R4Ou8l8gGtP22R0BcoJwQ8oow
    nn_HvjGEm4ilQ>
X-ME-Received: <xmr:fdgiZIhFuT9dtbtOl3pl_XH--8HHoYoW8EcRUhusFpNgwaVaxCO6Ltx--MClVHlUjVrHu3ThRdUmF67wjvA5oCEnEX6vZF-SJtQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehgedggeejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:fdgiZA83nuRTCFOLQ8bNqiEBr7pyL_DJopSxg9uH066jc34Nz9KN-w>
    <xmx:fdgiZLuv7HywvOcvmBjK9_lL8D3QIOxWdgW5J-Xo-w9qpF49WyMafQ>
    <xmx:fdgiZPFw84EGnVgY6gqZ2s3JlG1YMkPJbBvpnzCqbUDYY4UeNj6nxA>
    <xmx:fdgiZE7ZeWMHIyNePDjLEcAHAi5jgwU3FjPwXMhEy18jkM5fqqF5nQ>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 28 Mar 2023 14:07:22 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
Message-ID: <ZCLYe94PE3WXYnU5@mail-itl>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com>
 <ZCLRap2GJE0xwBCN@Air-de-Roger>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="HoIGlTicOpUPWFzV"
Content-Disposition: inline
In-Reply-To: <ZCLRap2GJE0xwBCN@Air-de-Roger>


--HoIGlTicOpUPWFzV
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 28 Mar 2023 14:07:22 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot

On Tue, Mar 28, 2023 at 01:37:14PM +0200, Roger Pau Monn=C3=A9 wrote:
> On Sat, Mar 25, 2023 at 03:49:24AM +0100, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > Some firmware/devices are found to not reset MSI-X properly, leaving
> > MASKALL set. Xen relies on initial state being both disabled.
>=20
> The 'both' in this sentence seems out of context, as you just mention
> MASKALL in the previous sentence.
>=20
> > Especially, pci_reset_msix_state() assumes if MASKALL is set, it was Xen
> > setting it due to msix->host_maskall or msix->guest_maskall. Clearing
> > just MASKALL might be unsafe if ENABLE is set, so clear them both.
> >=20
> > Reported-by: Jason Andryuk <jandryuk@gmail.com>
> > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
> > ---
> > v2:
> >  - new patch
> > ---
> >  xen/drivers/passthrough/msi.c | 7 +++++++
> >  1 file changed, 7 insertions(+)
> >=20
> > diff --git a/xen/drivers/passthrough/msi.c b/xen/drivers/passthrough/ms=
i.c
> > index ce1a450f6f4a..60adad47e379 100644
> > --- a/xen/drivers/passthrough/msi.c
> > +++ b/xen/drivers/passthrough/msi.c
> > @@ -48,6 +48,13 @@ int pdev_msi_init(struct pci_dev *pdev)
> >          ctrl =3D pci_conf_read16(pdev->sbdf, msix_control_reg(pos));
> >          msix->nr_entries =3D msix_table_size(ctrl);
> > =20
> > +        /*
> > +         * Clear both ENABLE and MASKALL, pci_reset_msix_state() relie=
s on this
> > +         * initial state.
> > +         */
> > +        ctrl &=3D ~(PCI_MSIX_FLAGS_ENABLE|PCI_MSIX_FLAGS_MASKALL);
> > +        pci_conf_write16(pdev->sbdf, msix_control_reg(pos), ctrl);
>=20
> Should you make this conditional to them being set in the first place:
>=20
> if ( ctrl & (PCI_MSIX_FLAGS_ENABLE | PCI_MSIX_FLAGS_MASKALL) )
> {
>     ...
>=20
> We should avoid the extra access if possible (specially if it's to
> write the same value that has been read).
>=20
> I would even move this before the msix_table_size() call, so the
> handling of ctrl is closer together.
>=20
> Would it also be worth to print a debug message that the initial
> device state seems inconsistent?

That may make sense. XENLOG_WARNING? XENLOG_DEBUG?

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--HoIGlTicOpUPWFzV
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQi2HoACgkQ24/THMrX
1ywkKAf/cohYwgU975KIK3B73OnhFRF+E9GOexJJYm/Ru41ClX2AimK2lS69S12T
M51Jf5x/ZEPkUC/o5VjlkpymXneQNXQA2f8W2pVZwGdb0BUJ+h0xCZapAYG6ZyKI
1V9STOydzZXJBm+xlH5NBbjbsjJwrzeid2F/HAwfTaXFq9Yz30MmuSym4UBW4zgg
/V6kSS+Q1zp8HLiIRTGyqCtvj+AnjXCNr47qSwNrWaiVbbeKYaAFhM3Z81FQdqJj
HSnHGI56c/WKxRHbb8cMB7dKgTbifvPkdMCl6A3SlknPRSZSs9aXtHzsjJxWpYkw
W0qa52ujrcIqheyALVCbiIj2LvDYiQ==
=2pX+
-----END PGP SIGNATURE-----

--HoIGlTicOpUPWFzV--


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 12:17:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 12:17:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515746.798881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph8Ft-0002HG-Tu; Tue, 28 Mar 2023 12:16:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515746.798881; Tue, 28 Mar 2023 12: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 1ph8Ft-0002H9-RL; Tue, 28 Mar 2023 12:16:49 +0000
Received: by outflank-mailman (input) for mailman id 515746;
 Tue, 28 Mar 2023 12: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph8Fs-0002H3-N9
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 12:16:48 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6823f663-cd62-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 14:16:46 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PAXPR04MB8174.eurprd04.prod.outlook.com (2603:10a6:102:1c4::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 12:16:43 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 12:16: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: 6823f663-cd62-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Oa/PAlTOyaD2+pukA+xRy8QZN+lt3jf2G6bUHa5rfmqd/sRrz1/e8bsVtRxyZF8QeBqa6E5Z7odo8vlcGogQ3pMt2t1cfY40yuVdht4oTphaiBocQRsHNPDYRx/7iLRGNxzspA2Ij4iI0OYQhcm3aJ3udZeRCOKxBBV8myOTGpTi3Qsl8UXpeAq1ZjQt1JMETW09S0P4ENhdzuTccBf8njSLHrq5SC9yfHnPo9UmouWLl3LJJI6NLlk1n4NDPGRp+Oy42eHMUoCIsRCN2goAWLHqrViS3fx/ovBUAlc4ZixYWVDgTDW6JEi96SZHC+kyAdUJxltWmNtAxEtQO1as5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nRmXVPK24nPfY7pgIbbDlalW9xrFtKsQ5snuwt5GU44=;
 b=OtPakWgbToTp4AD46tFcVhtTziPWfNTXHadNlGH2XcCBr++l85q9E54JMum6QXBh2HXSw2VPg3HNYkoHNmrcc7F9wNfNyp5VVjpvuTsILE7OsxYddebMavG4zK2ASsSV/nLbsODObjC6FKE1cvlQbkXtA7wTiSxqCmJVEjs8R9Qu71LDWSUV2s1UkMAtPa+M4cK1jLwxT0v9xVwMpV/dqZv40hVpkvqwy9CUQgpVMwAPa+LwR1Gd3Q4w6BmbS/cLkLhWFjoIDzmiGaqQlTjKF/Jj1fGTeSzoieTgIGTP8iJGrsIEOfja6XakLGqbmwTqiCW8fLgIdNUYbb9yzY4OKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nRmXVPK24nPfY7pgIbbDlalW9xrFtKsQ5snuwt5GU44=;
 b=gBYcq7ZwYlxC0xZNDz9rvHq/nQQ7rxtHbYSagh65u7iVUC6610aUoC10usbFICPgCkinGjq42v2lQXmPkkQX3kPcKpU89IzKaP3fccDuqtK1t1oaSRkZB/t36aT+XEL+g1C+DjceRjOtlgd58Rmn8beutYoPUUecEnh33tgDu/yB81CGXmM3U/FEcZh11ckYfjmLa5LIsJ9KgAPwLGmQXDiQhu5sMoFgBTAXIunjw2+zYndBb+TpOId1QVZvrH3/mt44TruNZuw45Rir10CvJTYlAzd3JyrZAxq2qWfu+6Gv90Yh/5G6HwUPz8+EC6yoP/jfx+yIEz6C9qI0VCO15A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <857b9f24-437b-52e8-a195-5bb990a2b647@suse.com>
Date: Tue, 28 Mar 2023 14:16:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v4] vpci/msix: handle accesses adjacent to the MSI-X table
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
References: <20230324121738.4920-1-roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230324121738.4920-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0036.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::18) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PAXPR04MB8174:EE_
X-MS-Office365-Filtering-Correlation-Id: c8f21998-9537-4ac8-af0b-08db2f864b0d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iImogDIusAz5mvT/P11WeRitbzhhvjUYr46UxTvozba5c9YCDpubH/BTwxvOBa0Mi0P+UGGDCH60OgQ/8uB4rhvTjDUsnzpe4/iYqPlddunI38DxdupNSoIcWUOL1pY4Z/N3VGOmY1Db/jz8wRAALXfsFURTLHgxNAbSVW4lWIz7xGyDrucCPHhvGJW8NsGyqZye4rps2ky6Jf+1nDJ0jMq0J1xVZrMkD9ibk5S7Tbu5KF0i2DNEXHhcbomXUVgqpAlaXCrY/unHYl5ccqQzcv+G2DZ16WQOnRtNlRvU6f1QoPdd1Ow+U+KFR+4UUJrIeO0qk6GhXiDIPuyeUYVE0zSzPXUle0IhOsL+iA5NFZHpv8anerZPzBL5Tmn92tRcMymvmb8cvkkIHhoEYC34OlBNHzGhkkkbxptr0GUgveCPTBzgjt7W2/GYCpTUcK1uNx1IQ7VMgbflxZHASATxyaMiiVXBWcFQ5LPR7hHocK4xGS4BPmXwoXSe4V4cUNaaABtWDjooU195ZP91e4nOyCtA8eti8cWjQVTmx+rGHwba9xKkeRHdLad9VRG48uY8COfNAnUCp0eMGhkktbN1xnad00AerZkmtYwOpZOFscSYBypslB3j8j7h7bVFarl/NngPBG3uq088Sfkchd3CPA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(366004)(346002)(376002)(39860400002)(451199021)(41300700001)(8676002)(6916009)(66476007)(66946007)(4326008)(66556008)(186003)(2906002)(36756003)(5660300002)(83380400001)(31696002)(38100700002)(86362001)(8936002)(2616005)(478600001)(6486002)(31686004)(53546011)(26005)(6512007)(6506007)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VE9DZmFKVzBneVpNNzV1TTdzbTF3ZlloUlo1R1BmanZhY3dDNEQvR0xZVWxE?=
 =?utf-8?B?R2hUK0lSKzU0V3k3NG9hWVRaaVdMdlpPQUQzS1NIVzkvYU9nc0lLZDNxaDl1?=
 =?utf-8?B?TGRyQUlqT0pnMEFIMWJGblJ0Wm9IRDI2VlVKQ3JUd3llblc4YnIyM0hyaTMz?=
 =?utf-8?B?TDVrRzNhT0ZGVTVKZjJaMU5YR0ZPTEdZaHlSTmZGS2xBTWNjZk92a2g2L21J?=
 =?utf-8?B?ZjhsS2tvMlgzS1JnbzlybloremxYSkV4WlhHQU5Md0lrNEQ3b2hqUzZhSGJI?=
 =?utf-8?B?WEZQdEdNRy92UUE2NnlReVhYaFIrNzJkaVN3UytMOXFyRUNYZjhzRFl3TitG?=
 =?utf-8?B?bVJTa2RJUFhxakpaVHdvT3BMWTc5VnRXRU5RWFFJK0JhRWpWR0ZaMXBmaWRJ?=
 =?utf-8?B?S0JKOVpyY2dNWmU2bEtQbTFrRklBVnBBMmJWOWRBdXl1cFRDTTFJRXRSbWxm?=
 =?utf-8?B?MzRaYXNiNktCK1VncHlhMGZudXRST3NNVFFUUUFHQmp1V0Y5RFFNa0NPV1No?=
 =?utf-8?B?UFNxdERTKzB4Z1MyQWFYeU05ZkVhVlNDbTNvemJCZHYwSGZXZyt0U2VJTi9I?=
 =?utf-8?B?WFRtNUdTcUEzRUs0WU9IWUlyYWF0cm1Qb1N5WTNhZEhKYW5Jbm9iUjI3WFZT?=
 =?utf-8?B?ZVhKMHZveDlJdTlLZlVrR0ZQdHpiSHNyMCthcDVLd3ViemlhMU1JYkRNRlJx?=
 =?utf-8?B?QUljMWxxbkhzb3RFRGxUOEtiU3YyOFN1b05hMDBYd1NGdFJvUmQzN3B5QVpE?=
 =?utf-8?B?WDJXMHFBczU2TVM0bklpN01MeFNVZGJHNFVQVndxTnpRWE5CbEp3bStWUE5r?=
 =?utf-8?B?WWRVUHFUajNTMUczYTU4Rm1LWHRFZUhjQVN5OThtMFhqaHhiM3FncEZRYmpp?=
 =?utf-8?B?ME14RkhlYVdHZHpETDdBYnBzREhFSnpydkY2RTB0V3JCalNWWUc4Tzc0UE5u?=
 =?utf-8?B?aHVkZWFYeTNaVHNJK1JBdEk1cUlHZXYvSjBxTEQ2RUlpNXIzenhobjVxcFRZ?=
 =?utf-8?B?WS81dHRUbjJFa0tjMjJYbG1Ja20zaHIrZGJ3Y1gvbnp1RitFZ1hobXJ2Vlo1?=
 =?utf-8?B?WnV5R1hGK2ZUQ2pVazdMSXkrQzBmZ0tOL2xaMHlRMG9xUTBiWCs0MU1aVjAx?=
 =?utf-8?B?R1ltYlNuR0pyN24wQk85b2dEVzB6WWg2UVo3ME5GN3BsVFh4cC9IeHM0aCtp?=
 =?utf-8?B?R1RFK1FqdjVrRWdyMlV1VXp2aFR5UnN3VFNYTlpqellvdDN0ZGRzcFpNcjJM?=
 =?utf-8?B?Sys3ODJSS0docVZSYkpVdDRNNmpKdHBmSncySklVMXVXNXFvaDJhb1FVWWdD?=
 =?utf-8?B?VUViRmQrZmxZaXczUUpyVmkrMFJuV3pYV25GZ0UrWEdQZ3NOVWdOTjhxODJs?=
 =?utf-8?B?azZqMGd5Z2NVS0JPRzhTWlZNWDlLT24yYUtHN3ByVWlQL0lFV0REZVJFQzRY?=
 =?utf-8?B?Vm15RCtWbG94M3hqUldrd1RvT0ZDRVRLM2l1R2FtcDNqd0s5MHZSbExQMlpD?=
 =?utf-8?B?TmsrSzRuOUtyNXhQamFaeFNsOGRjWDlTc2tXdzZxOGNHTlNPL0FyTEcxZ3hl?=
 =?utf-8?B?eDhZOGoyQzllRXhUclFTVkhVclBvOGNNUFNXMENmRE5SU05YcjhqeGVRcWZP?=
 =?utf-8?B?bHdDM0I5LzBUMFJvRHozcjBGY1o3VmRMYmlOdStHTk1mS2JOQ2I3d2EyQmMz?=
 =?utf-8?B?YldTdjVOekZ2WHcvM1FVK3AwZlNMQkMxd3NKR2xWcTU4bHY1aXB2bEx3Y3RP?=
 =?utf-8?B?dU5DSGNXdmc5Vkd4SGhlSHBKc0FTeU81TTRRQjlHSmtvTWlPODdYd1JIZzZ4?=
 =?utf-8?B?WFZMbEJRZ3BvaUhrK09jVjZ2cDdPWU5UOGY5OTlDUUZRdEEzVXMxRkhXUEZX?=
 =?utf-8?B?REFkcHRQczZGTnpqUEZKNDA5NUlybHhWZ0l3MmNvQXZMeXFaVlZwR0doT3dx?=
 =?utf-8?B?MVRnMmpPZTV6SkVlbXJNUDJURkFSQXQ3QnFOaWYvUlpLVFd6M0dFU2R2V2gx?=
 =?utf-8?B?a0M2bnRGeGZ3aThXTzU4U2NYTllpZDFlSXZ4ZnU2c0F3Zk9HazVlc1FKb3lh?=
 =?utf-8?B?amlsVUJtZXluTzRjTGhlRFEvVytVWWpXS3ZDTjY2RE5rV3dIOHFhWHZDV1dO?=
 =?utf-8?Q?oBwzqMvx0W7W2SuiwKvVmzzt/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8f21998-9537-4ac8-af0b-08db2f864b0d
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 12:16:43.5779
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VU4HycEDQY0ApE1rWT0QkO5LhQy1BOYenzh35CXw07r7EMlAOy9c2aTkUbLz7a6ar4ojrd1767ONZ/RnayK8Yw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8174

On 24.03.2023 13:17, Roger Pau Monne wrote:
> The handling of the MSI-X table accesses by Xen requires that any
> pages part of the MSI-X related tables are not mapped into the domain
> physmap.  As a result, any device registers in the same pages as the
> start or the end of the MSIX or PBA tables is not currently
> accessible, as the accesses are just dropped.
> 
> Note the spec forbids such placing of registers, as the MSIX and PBA
> tables must be 4K isolated from any other registers:
> 
> "If a Base Address register that maps address space for the MSI-X
> Table or MSI-X PBA also maps other usable address space that is not
> associated with MSI-X structures, locations (e.g., for CSRs) used in
> the other address space must not share any naturally aligned 4-KB
> address range with one where either MSI-X structure resides."
> 
> Yet the 'Intel Wi-Fi 6 AX201' device on one of my boxes has registers
> in the same page as the MSIX tables, and thus won't work on a PVH dom0
> without this fix.
> 
> In order to cope with the behavior passthrough any accesses that fall
> on the same page as the MSIX tables (but don't fall in between) to the
> underlying hardware.  Such forwarding also takes care of the PBA
> accesses, so it allows to remove the code doing this handling in
> msix_{read,write}.  Note that as a result accesses to the PBA array
> are no longer limited to 4 and 8 byte sizes, there's no access size
> restriction for PBA accesses documented in the specification.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

> Changes since v3:
>  - Keep the vpci lock taken for the duration of the access to the
>    mapped region.
>  - Move back the handling of unaligned accesses before getting the
>    table map.

I can see why you've done this; let's hope the excessive logging won't
trigger in reality.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 12:34:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 12:34:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515750.798892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph8X0-0004qz-Dz; Tue, 28 Mar 2023 12:34:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515750.798892; Tue, 28 Mar 2023 12: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 1ph8X0-0004qs-As; Tue, 28 Mar 2023 12:34:30 +0000
Received: by outflank-mailman (input) for mailman id 515750;
 Tue, 28 Mar 2023 12:34: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph8Wy-0004qm-UA
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 12:34:29 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e0833ca3-cd64-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 14:34:27 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by DB9PR04MB8250.eurprd04.prod.outlook.com (2603:10a6:10:245::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 12:34:25 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 12:34: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: e0833ca3-cd64-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iRT7IU1ZFyt70tMRmOqM1f///gH1SJf3I9X0+H0I8s513qqcOV6nPjCKY3RY0BvxjW8lv5e7DvZudU66CRV3nTGp+SzgTiGCQ4x55ouHuLY1KejLYzvBesNmeiGtg5JCvj8xFZycqP8x2gjOAdc3oSA3E6H863dZ8E+5+i9E7BmBGCjxZGzUHy+sJpP6ePUUOaFDA6dGGzPy2marQzt1jpZbTNkk5NvEUV9vki7yKme7TlvJ7pLefYTNIK0ualzF0I9+VCclYnOmnJDOX7UrdtC4EhjRBSziMFXd/AePaP1VjUq5q4AzwOJ2OIO5Wp4ZiBfwJjtTbkmveKTCChYSvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SR2v+k5b+UTUIkeAzScGiORhaXWTD8V42v2z/uGuu1o=;
 b=SPb1B2UqlviKnemPgtFR/UFWRqENOgZzVc9ohWRy2OLcwx9vUnXrWFzf46BJ+4u05GTdTA0Yd+NQMK1mtDU76r8b44a+81s/ERybzZ7r7y7XeS/XDA+/zm/S1Br9d25+2hKaS9dg2gLtSZ2AxTj2/sHz3jZQWfgIHdw3gmVcfJp+EVUX2NNuoJx6J+W5fL46Ef8Q4QfyYkfEkBX2WH2qbSbTamCnhFY9Lk3Co129mjQOZKa3yJuwv0Ii1AgbVyf0RlkLXxXXcB7e4FEsVlz7Z3QDX4EDYfoICXTCrA+r3UG5qsaSSJIsPMc+fYl6qGJRWHIqhEEWsFuIiImeujECqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SR2v+k5b+UTUIkeAzScGiORhaXWTD8V42v2z/uGuu1o=;
 b=hcRgw/psnnLFIbcshDTNE8KQiHcOCXOuqSt6MmakG6ns95lBtDOvm7hDCEiaMX9A9K/eYsPLV5YTCNK6mepZo71k3LEKagpEcQ0ufnmIXlGsIiNYxyoeV9F2ZCl/QI/oW9ylylGd5Zt3qYaPo/LvltqvDPRmawwpL0KtNeeybQfAoKZOwH+L1/pN2dbWaCdG0seD1+jR24quWn+HhxjmbBRaaJ682DdcxwDMk+kMnB/AxYY8dCjcmCk5IvD2r1e4RyHFimVD/WG7wGFogFbNufPIzz9Ogqan3kNFvo3ZjOjTZliqYNpNKKxdscS/4wtxMQAzCTgBzL9bEbP3cQA2+w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <540906f7-4543-9d01-2b2b-a3bd70eda74b@suse.com>
Date: Tue, 28 Mar 2023 14:34:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 2/3] x86/hvm: Allow writes 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: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-2-marmarek@invisiblethingslab.com>
 <ZCLNQGXvUBxZbIGS@Air-de-Roger> <ZCLX1qD/FmbF5ulu@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCLX1qD/FmbF5ulu@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0254.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::9) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|DB9PR04MB8250:EE_
X-MS-Office365-Filtering-Correlation-Id: 41fd51b0-064f-4dea-3687-08db2f88c3db
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	c7mvjAPNKWF4Ru1taQPUpTKPGuf3x10+ba+quWh0enLFQ1nQSX4swSl31K/IZtGA+D1x6b0atzo0amtn5OIrhYlyjAxy8wqFYCsMqrPH1Lijsekoeoa9Fwz8M031elmI9zR7H2LIeDfoNpk482haSR9cruyCr9SRVRGYHt4RR0LZ/FY/6ddr2RmBPbfeyQmfqqmLJHqra//s6L6kB+604uJUOUASBNqI5OiJHRSK5vyxcYu0y3F+C6h/H901foe/kIRczujKYrzShnIsbalJBHHI6EM8gZLaEM6eiJZJ9Nv1Axawi7I0Ez8wiPUlRLcresAz4+Y5+rLkky/332N2ZvSrKacaVJ/gsMgqoE1fo2bfkytps3cFTc5C+a3Ni7ArsvPjFhXrkWoE/ZY1KPu+0hZRuBUV96EDcn8YF/m10zU8xxNZko8EDTyXzb+i4mzIGMa2/HtNfMgvdf6G58qZTzZjIZKD4F/tdNUzDujmpku6x0wmkKnLdmm3ja+sG/0+Mzp/LSs4pkfsOXzlEcYiB5zvmQ6Y3RKTR+nJVVNJN5lWvdl2mYWhf62h9jKYjZJTPh3LEV1/toNiHFpguHZX6U3VZtRYicn9qaX5+vcGcsC10RRNlQKwxSZNTNgVbWGkByv3vh76NDEa7lsM/uTPMihqWPgWgdP10ncMBI/CJSg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(396003)(366004)(376002)(136003)(451199021)(2906002)(38100700002)(478600001)(86362001)(31696002)(6486002)(54906003)(316002)(5660300002)(66556008)(8676002)(4326008)(66476007)(6916009)(66946007)(8936002)(186003)(36756003)(6506007)(41300700001)(53546011)(6512007)(66574015)(26005)(31686004)(83380400001)(2616005)(66899021)(21314003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?clJDK3lrQzhncE11VHNqSmlpU1RRQ21wakZNMXp1TTJaMmxnK0g3V0RXVm1u?=
 =?utf-8?B?czNyQ0lRVDBmek0yQ3ZMQjRGMXN4Z0lmbHRoN28xWmxhbmxOOUJsQUgwSlI2?=
 =?utf-8?B?THhOclNUWVFmaE1JUHg4YmMwWWJyM2VsM0dkSnRQME1EK2IxYnNxOWZXT0JW?=
 =?utf-8?B?QnRGK0NmUGZsNTlCL2dFbGRBVjFEaGJhclRGSjRxZVVUWUN0QmMweUlBa2wz?=
 =?utf-8?B?aEFXdldMMWhVNWIwSy9jN05LdFF4RWtkajdFbnV4ckcxL1BvdVRHUHFMcWhn?=
 =?utf-8?B?amIyREl3QjNDZTFjbDdnMDNWdGJIZEJiQUNaaUFVelo0c24weGs4cEtnNXJO?=
 =?utf-8?B?eTkxS2ZJM0Q2LzR3dUFRZmhDMWlNNGFxRk1pd3hmVmhLalJrdVNSckNLcVdl?=
 =?utf-8?B?enVPTEo1MGVNeU53cGVRRFI1V2ZJSTh0bTVPSmV1aWpmNHQxMEo4L3FWV2Na?=
 =?utf-8?B?eUlNZkphZGtaSFk0U1JQMHpVNXJjazJ2MmttNTh0anp6d2hMWTRhVENreHF4?=
 =?utf-8?B?cnFNeEo3cGpBSUNkTzV3VGNicmgxYnhzQXVhYzNjRFlYakd5eUZicGNhU3dw?=
 =?utf-8?B?T1FwQXdyTzdjRU1qOGFveS9NVE40bzZVRlpGVGhmSm5rK2ljbHlLOFdqNUV4?=
 =?utf-8?B?aXBla3BYdlhuY3lEbG14ck1iSkdYSlpPNDJ1S1IyQ0dJTDVWdDlLQjltcEE0?=
 =?utf-8?B?NytHUnBTVlZwR210YWN0cWIrbjBWaVF5c3N4NFNDZHo3RE92OFBzZkZ6Qk00?=
 =?utf-8?B?RFJQQTl3eHRIeU1heVlabE5nT2VYbUJBZDZEYWFYYXQrRjB3aEYzZytpV0NE?=
 =?utf-8?B?YXhZRSt2dnFiMDNQZmRDNDdsWU55c1NZdkE5US9JcUdUWFZPcnlnekp4VU56?=
 =?utf-8?B?TW1QdDVYZ2JEcForTVpRK21oT3pTRmh5dGk0R3dpUDN5V1FhVm8zeEpncWdY?=
 =?utf-8?B?MkJqejJqQzR3aUI4UkVybFU0bGU2QU1pNTJMcDhzcmZ2SEhyeEFBVC9VMVB0?=
 =?utf-8?B?eTZZa0pScVhNNEZwQ010QlI4UndScDMxUjQ0ZTF1STRDaTdpaEFpWHM2bWli?=
 =?utf-8?B?anYrVXdjeFdXVXNwVmYwVTBVei8xTjBaVyt6UEZjaGhJNmNKc2daUG1ibnpt?=
 =?utf-8?B?RklnYW5KV3Z2Z0UzYmQwS0ZRYnUvMGxOeXRhalQ4a0EzQmJ3ZCtFUE50dTlO?=
 =?utf-8?B?QTFIeGdBM01Wc0lxS28vc24rVmFkS1J3ZWpCbnNPampaL0tqNGZ1NnI3Snc5?=
 =?utf-8?B?WUtlV1QvaElVdHlOOEVLNU9vN0FPYllZSXBEUHprSTE4NmZqV3JhOTlJcVBk?=
 =?utf-8?B?TGJMZFRBaGVaaTBZcmUzT3V2VnVyWnNYN01zUHJsSmI4NW0yZWQySWNuOUZX?=
 =?utf-8?B?V0o1ajB0S3gwQ0NPb0ZCbFdzemNWSE9VV0hWNHNLWjBoVmFvelhxWXVVVEJG?=
 =?utf-8?B?T0dreEVNS2pJQ3o5dVFpYzJNR25nNTJyV20yZGQzellUUHZyOVNNeHUyd3ov?=
 =?utf-8?B?elBpVjBtM1dVbGdyMWVleEFtM2VITkpVa2FHYURWWUk3NVNvVUg5L0hvNzVj?=
 =?utf-8?B?SXdLaTMvY2JtY3EvdDJVRWgzZ2hzL1JNNTZZVXhVSmtaY1laM213VmlxbEMx?=
 =?utf-8?B?eDJOUjVKVkVDUXhZSjF5R3E2RGU4ZmFySXdwbVprMlQ2MWZFZEorVnV2TGZC?=
 =?utf-8?B?SVZ6ZW4wajVrZHdFdGFzQi9ncmpNL3FLOFlSRVZpSkpTSDIzeUhaMlZHbDhp?=
 =?utf-8?B?U2JOTjg4YzBRbnZGcWczYXdTLzZYYVc1VHVwdUJlZlVGTi9WUFlHNmZKZVBL?=
 =?utf-8?B?K0gyeXBuRkdyRGVxYjF4Zyt5YnlTQUNLei96NmV4a21JKzhicUdMYzNZMC9G?=
 =?utf-8?B?N1ZUMElER21URktuSUVReklPb3NtM1BFdklSbjZsakdzdWRqUmlaWXFUeXgr?=
 =?utf-8?B?c3BiRThNQTZRSjJyektjTTVYU09nd1llU1MyeE55d1JhUzZBRjJOR3BBYThr?=
 =?utf-8?B?dnVkbnptUlpUQm5Rak1oSXVZSGtuQjliaEVURWZuTHp6TEtXUkZacHhaVWc3?=
 =?utf-8?B?bnZtM3dDaTRxdElsK3hqQk1YM1VoazlzTXh5dnJqQmEzeWovOStLaXBLbG85?=
 =?utf-8?Q?jhIKNXS+6ZLYMDN8QTGwM+E8F?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 41fd51b0-064f-4dea-3687-08db2f88c3db
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 12:34:25.2214
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NJajquHiRjsZbeMj3cvBHfg9tT0mq87OY8DqbCu2PaJn53hPCVaLAAEBWirqv0aM3iVKJ8LCPp5DEUSIoT76Qw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8250

On 28.03.2023 14:05, Marek Marczykowski-Górecki wrote:
> On Tue, Mar 28, 2023 at 01:28:44PM +0200, Roger Pau Monné wrote:
>> On Sat, Mar 25, 2023 at 03:49:23AM +0100, Marek Marczykowski-Górecki wrote:
>>> +static bool cf_check msixtbl_page_accept(
>>> +        const struct hvm_io_handler *handler, const ioreq_t *r)
>>> +{
>>> +    ASSERT(r->type == IOREQ_TYPE_COPY);
>>> +
>>> +    return msixtbl_page_handler_get_hwaddr(
>>> +            current->domain, r->addr, r->dir == IOREQ_WRITE);
>>
>> I think you want to accept it also if it's a write to the PBA, and
>> just drop it.  You should always pass write=false and then drop it in
>> msixtbl_page_write() if it falls in the PBA region (but still return
>> X86EMUL_OKAY).
> 
> I don't want to interfere with msixtbl_mmio_page_ops, this handler is
> only about accesses not hitting actual MSI-X structures.

In his functionally similar vPCI change I did ask Roger to handle the
"extra" space right from the same handlers. Maybe that's going to be
best here, too.
>>> +    hwaddr = msixtbl_page_handler_get_hwaddr(
>>> +            current->domain, address, false);
>>> +
>>> +    if ( !hwaddr )
>>> +        return X86EMUL_UNHANDLEABLE;
>>
>> Maybe X86EMUL_RETRY, since the page was there in the accept handler.
> 
> How does X86EMUL_RETRY work? Is it trying to find the handler again?

It exits back to guest context, to restart the insn in question. Then
the full emulation path may be re-triggered. If the region was removed
from the guest, a handler then won't be found, and the access handed
to the device model.

>>> --- a/xen/arch/x86/msi.c
>>> +++ b/xen/arch/x86/msi.c
>>> @@ -961,6 +961,34 @@ static int msix_capability_init(struct pci_dev *dev,
>>>                  domain_crash(d);
>>>              /* XXX How to deal with existing mappings? */
>>>          }
>>> +
>>> +        /*
>>> +         * If the MSI-X table doesn't start at the page boundary, map the first page for
>>> +         * passthrough accesses.
>>> +         */
>>
>> I think you should initialize
>> msix->adj_access_table_idx[ADJ_IDX_{FIRST,LAST}] to -1?

Or better not use a signed type there and set to UINT_MAX here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 12:38:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 12:38:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515753.798902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph8ar-0005SE-Ui; Tue, 28 Mar 2023 12:38:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515753.798902; Tue, 28 Mar 2023 12:38:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph8ar-0005S7-R5; Tue, 28 Mar 2023 12:38:29 +0000
Received: by outflank-mailman (input) for mailman id 515753;
 Tue, 28 Mar 2023 12:38: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph8aq-0005S1-Aq
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 12:38:28 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20616.outbound.protection.outlook.com
 [2a01:111:f400:fe13::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f44418f-cd65-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 14:38:26 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by DB9PR04MB10012.eurprd04.prod.outlook.com (2603:10a6:10:4c1::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Tue, 28 Mar
 2023 12:38:24 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 12:38: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: 6f44418f-cd65-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ayHrlTElz90GpviE58jAypkr4f5qkQpXtAtMutx9dBIgnSsCZa/WXND7I/6YbyO55B5zd4pGrhmWfK/UytpKUvRq50oFrsMULX3uqMInZ4LqCl+XG2XoJnPiIYHXKcGMdiYecHoPtqAeVl6JsrM9B6+93cQbke5NcrQT9Yv2288eePx9vjHXXVUWRPjRWvSuH4G0+dcBkD5xecVUX9jlGwIWZJzNtHQ8lJN/3e0YxxzRq0BL8Uv36MAPxi6bb316cANqQLsIiLHK940gjozzXiRr5N/ca0M6d37VSn9KsQ7gqmELOQvu+nnUg0R8cbutKp2MueoXiMswQxE+wwVVGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=snYl6+DUNGmGFIGv1Ug0RJEqdcUwcyyoylDMzhHIMwQ=;
 b=S7Be5czlXMKAnZrhM03OG9pOxXu/92uZtQ7JZtd/qvJE8BI1sn2YbvLJdt5ff8/OFngsFRNMQjNW66Kg7CxErLG3F3GYaqjnA77LHVJgdY7iLWlaeG8WoIgCJpumbomtLSL8P5cd/RzFpz7fXpafb0cF+w6g1QBdtVrJkVqw6sQP9Ls5n+wdvGEb1p97Iq74M/qG0P0o9bd10/j4Zc9TA3Y/1AD9GIk11m/rw6r+Z0vh+F2WPZ4pAzaB7VZWG/8u+LREu23C4aEJZqth52AVt8EdC1KBfkU1lL9cpZPkzyllZ9HMkDP7AWMSeq8hGkpPdiCntBA1JyDW0CHWa0f4YQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=snYl6+DUNGmGFIGv1Ug0RJEqdcUwcyyoylDMzhHIMwQ=;
 b=AkJRvaF31wNl2pFtIt5gLUpY8UGo9bJRAxhp2OQuRigeLF1IxrS/JPnq7GkTEy+pJvU9lMxWvUbWoPeuVj/g+IFHEwS56mReVwBcA+qXCPdJgVCoXRat2dyDrQ9rXyThF8bLbbuhrfj1FTkLvrmHb7uQKxSovQdnVB3vPauqPlN8L4sjq4BjecEbY+r9o2C03U+Oo+eLY+vm8REgurhUGZ1AUQ751CF4vKlwk0YBzrWmJhyLGq8S6exh4Ywl5Z0gyL3WZ5xBIg7olQMB0D6ypeS1nP0BAGPmGu9Yf7LhDK6Ou7VSAbe8Xpf5ofIWRhbGUs9J6YqTnb26jU0bTaMetQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e953c7e2-bbf0-d005-7427-e3d22b77a231@suse.com>
Date: Tue, 28 Mar 2023 14:38:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
 Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com>
 <ZCLRap2GJE0xwBCN@Air-de-Roger> <ZCLYe94PE3WXYnU5@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCLYe94PE3WXYnU5@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0254.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::9) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|DB9PR04MB10012:EE_
X-MS-Office365-Filtering-Correlation-Id: 0619d38a-da49-491e-e22f-08db2f8952a0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	J3KwksMncTVvmQvO/9Bsf+Q3cU+8a4BgUkD9iDWHaOX1oGMhm1zw6qg3dvyn9zjXX1hMI2d5tp6U4x5Ta3sXWzGfeIyQFZDVQPT9VOu/975Djc8JKXpQ+07wgEAxq5qSgakYnwsU5UgOucuaBOdIdmvoy7n9GsYnwheSKCjw5Wpp8I2zZkPTcD3SePXctYki4G8kt+AKaL5FGlFc6sxQhaClvnbndp+HxImp+/AGF+L4+cPHUXwHKarGJ6jSWjVUhHZx3WnVQilAumaampz6hjTYJS6Th/yPFJagJxadeuQ2es3YzvcIRYmRYikCYrtknQbgNpO/cxV21ATUvoFb+x+GGNel/VXRohq8beTtigsvR+1Wsh3RoIMBmOE0Wop+Co0bTkwn/Yks5Cdh53o1IpmlDfWANDM9aLLKeOR/61yBK58RoTMcL7NAGDsdQuwHdm4tFKcXdayMg8G0m1EfZZQzMhbSW9yHmrSc4DC18xlmXra98lznAAJ1qHpXG+cPNOHwYD9qtkw6E8KoZEEzPeyzMl9JXjhZQIuU3XVugZscgmdzYHkoGBevlGcXDl5JbDIyBUV3qwIpvnAbKCOa2UIXS7K+M+nwefwbhP0qteT8m6l0q2MbuhJgKRY9OSdEIKWgrnuqpGeppHVza5dMFg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(39860400002)(396003)(346002)(376002)(451199021)(53546011)(26005)(6512007)(6506007)(41300700001)(186003)(6486002)(83380400001)(2616005)(31686004)(66574015)(478600001)(54906003)(316002)(38100700002)(4326008)(66476007)(66946007)(66556008)(6916009)(8676002)(2906002)(31696002)(36756003)(86362001)(5660300002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N0syRG1yWWNqZ3pSL1lQalU1djc5QVN5cjBXN2hubGJkak5iS213aXNtRkN5?=
 =?utf-8?B?SVFvL3ZjN3ZRSWZlK3BaS3RzTXA4ZHVrcnVYcTEzRmM5SEh2VGlLZEJKc2xM?=
 =?utf-8?B?SGN3eHdXYXpOVnVhMW90M2c2akNlV29MZXpwbTBIQjk2ZlgzNUdzZmlIMmx0?=
 =?utf-8?B?eWt2Y0lYOGZibklFMjZyZUpqQnVqcys5WW1PQWFzbVB5S2tBQVlQVFd2Z0JN?=
 =?utf-8?B?MFI4MGZGU1ZtRDJXOUduaVpNRitXd1B4aFpONk00ZFRoNGZSTWdDc3I4K0Q5?=
 =?utf-8?B?cjZDTWRnY2hUeUpndzkwaW9hUXlPcXo0R3YwbWVoRng2OUFWNkQ3Z0RwbDJa?=
 =?utf-8?B?ZFBZa2Vkakdld1pyZW53L2RPdVNlMTFVQ3dMOXoxYkpvMS9RZE43dm9YcjA5?=
 =?utf-8?B?Rm9UUUN4dStWWHhrRTM2OHNqZnpEMTBwVERvamI0ZGo4Ykx3eU1QTE1RaVRo?=
 =?utf-8?B?WE1Uc0M3d29nUHNIcXNEZXRUUmNSV205QjM2a2VXaG90ME5hTnhvMlNkTUYx?=
 =?utf-8?B?bFQ1YllaQXowMlRjZ2lYRWdSampNSTM1cjNUbExxUVkxVlN5K08rMGpzVTlm?=
 =?utf-8?B?QzhjaXY1UnJ4MU5zaUtMeHFlMmJlU2dib2ZlMHVvYWpJTU1yYnZ6UlV0M3Zk?=
 =?utf-8?B?bkgzQ2ZxdU9TSWxwZUtVYko5T2Zzd3NkRjBwSGxvUlZ3elZMZjV6azZHeXhp?=
 =?utf-8?B?Um5UQmxmWnFxYjlVb0Fjc3FxcGt2bWcrM3ZEWU9hTE0wbzRLMjQvRGUzY1RW?=
 =?utf-8?B?TEt5R1VRQUYwYXZ1ZWpnNjN6TnZUaWNyc1NhQWNoUGpZczFtamNOSEFSSmMv?=
 =?utf-8?B?UGd2bDJoUmZWZHgzaGlkZGs2aUNFM05LbHVNak1nMXBCU1Fua3lza3ZodE0w?=
 =?utf-8?B?b3B4YllOSzJ1MmVsbG53amxHTmRqclJERkFuVXVVODVsQ2FHMjh2OHZqMmxl?=
 =?utf-8?B?enZMVlhEUHprZTQxdTBRV2toQ3FuMGZwWGF4bm9kTE1seHcrTDBtajBGa0Mw?=
 =?utf-8?B?czRCdlBPemYzMkxPNWhsdlJhSmkyTlA5SlZacUsrVktGSnZqTG5razNHS2pM?=
 =?utf-8?B?RHBxZ0JER2xrMmJscjQvbjB1N2RIZm5oK0I0bVRZMzVpeWVoUm5ZdWZ3TGpk?=
 =?utf-8?B?Sm1BT0lOTmhVR2pGdVQ2UFRVZXdxT3FhMHFUKzIvNEI2Y29POS9pZWlNY1dm?=
 =?utf-8?B?M0xQaU45Y2FySC9qdENkQ2pnMHA0MThwc2M3MndNaGtPYnFPdGhuejJzb1Za?=
 =?utf-8?B?SkVNKzNWeG1odWNYWi9yODg2ZkN4Q0xyOHZvNmpWNHV6bHIremJrRXJNcE5H?=
 =?utf-8?B?dXlGVkg2Qm1TOUJteUovZnBIdlJnZUh4WVhobHVGMTVHRzZ2ZFJDTUwza1pp?=
 =?utf-8?B?NlBFNUo5d29UR2RXbkdrelZaVVNXUjNWQ1NUbzNIMko4TUNLbHNWSGJuK2Zu?=
 =?utf-8?B?WjJJY1g1c2JQNUREZFFXRWI4OTZ1d1NOVTltZ010YjZtV3Bxc2ZMRkxKMGwv?=
 =?utf-8?B?aE00d29WUUJ2VzZtaFVYWkt1NGRMc254eEYyQWRZMFRYT3k4TUFDb2RxK3lH?=
 =?utf-8?B?QlFScDR4WlNqaFZrZDFvM3d6eU5RSTVXVzR3dndSRWhaWWZsb1IySFVEZ0lW?=
 =?utf-8?B?UGJGRTExcUVRd2lONitCcXUvOHFFclptN3UrQkNRbWlBRlBHRlZYQzB0TURT?=
 =?utf-8?B?SzRsa1luQ2lWSTh1MGRZRnNXdlBFelVpaFBpcnJMQmlvUm1mczQ3cnVuWTFU?=
 =?utf-8?B?V1EzLzFyZGZZYzc5VkpzUlVVdG5zUDNNZ3pCVWZMS3ZPUU9URDRSazV2dlRa?=
 =?utf-8?B?QjJKRGlqWHRYYzc5NW5pSEFTQ1JKK2plREcrNHVMN0hHelVkRnFIaDVMM29p?=
 =?utf-8?B?bWhyNXd2MlhlTkZuYWJlbkxEYnF5WkU1SXhmZm16dEFCSnVNTXFIZmgrRVpn?=
 =?utf-8?B?LzA4L3k3WUhTUUhobXNHemkrUGVrN0paU2NNRzFpYmJpZm5TZG1PRWRkSFJW?=
 =?utf-8?B?QVRHWTJHOTBhVEU2N0JSYzBUSThZZjhZazRiUmY5U3RoTXdCeVNjV1UwTnY5?=
 =?utf-8?B?UldEZjZtdUoxNzFjNkRqRUtpY3ZhK3NDdEM0MlJjeE5DaU9XdStPVXBJMjJO?=
 =?utf-8?Q?5sKqpYwraOhnIJ+tgRHdVGveT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0619d38a-da49-491e-e22f-08db2f8952a0
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 12:38:24.7316
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TyI2VUacvg5kFBIB6FAzu8Fw6VwJDo0Ux6v02dncKM453qvLrC3uFiAHPEgGUwBI/vj3oyLwcgCf1qQ1xzhzQg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB10012

On 28.03.2023 14:07, Marek Marczykowski-Górecki wrote:
> On Tue, Mar 28, 2023 at 01:37:14PM +0200, Roger Pau Monné wrote:
>> On Sat, Mar 25, 2023 at 03:49:24AM +0100, Marek Marczykowski-Górecki wrote:
>>> --- a/xen/drivers/passthrough/msi.c
>>> +++ b/xen/drivers/passthrough/msi.c
>>> @@ -48,6 +48,13 @@ int pdev_msi_init(struct pci_dev *pdev)
>>>          ctrl = pci_conf_read16(pdev->sbdf, msix_control_reg(pos));
>>>          msix->nr_entries = msix_table_size(ctrl);
>>>  
>>> +        /*
>>> +         * Clear both ENABLE and MASKALL, pci_reset_msix_state() relies on this
>>> +         * initial state.
>>> +         */
>>> +        ctrl &= ~(PCI_MSIX_FLAGS_ENABLE|PCI_MSIX_FLAGS_MASKALL);
>>> +        pci_conf_write16(pdev->sbdf, msix_control_reg(pos), ctrl);
>>
>> Should you make this conditional to them being set in the first place:
>>
>> if ( ctrl & (PCI_MSIX_FLAGS_ENABLE | PCI_MSIX_FLAGS_MASKALL) )
>> {
>>     ...
>>
>> We should avoid the extra access if possible (specially if it's to
>> write the same value that has been read).
>>
>> I would even move this before the msix_table_size() call, so the
>> handling of ctrl is closer together.
>>
>> Would it also be worth to print a debug message that the initial
>> device state seems inconsistent?
> 
> That may make sense. XENLOG_WARNING? XENLOG_DEBUG?

Warning I would say, as this isn't liable to repeat frequently for the
same device. And it's helpful to see even in release build runs using
default log levels.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 12:50:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 12:50:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515758.798912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph8mg-00084i-3I; Tue, 28 Mar 2023 12:50:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515758.798912; Tue, 28 Mar 2023 12:50: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 1ph8mg-00084b-0G; Tue, 28 Mar 2023 12:50:42 +0000
Received: by outflank-mailman (input) for mailman id 515758;
 Tue, 28 Mar 2023 12:50: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 1ph8me-00084R-Om; Tue, 28 Mar 2023 12:50: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 1ph8me-0004wO-Ke; Tue, 28 Mar 2023 12:50: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 1ph8me-0002Ty-7u; Tue, 28 Mar 2023 12:50:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ph8me-0006yl-7K; Tue, 28 Mar 2023 12: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=RxWZC5te/0enuEPOVUG4pXxg3leEHKEb8OLWjcOIUtw=; b=TlepwxK+5fEnyx1gTErkVH6L7N
	M6/f93sCHL41IBaFO/UfNDJFlE910/O5/mJJQPhwSl/XRuxBq35TXfQzEo0H2rt+YRp3wz285JKaS
	2mOZAunhFJ1Ep+ZqniU2XbHarBe0FzhOqtOkj3aOD5C4mnfdMzpDxlsg5y3Gm4+x9c1A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180039-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180039: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=e4b3fd905a170b185dcea11e2997cfe935fea208
X-Osstest-Versions-That:
    ovmf=71fd87e98a3d68dffe2f37ec1bdc61732c01597a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Mar 2023 12:50:40 +0000

flight 180039 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180039/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 e4b3fd905a170b185dcea11e2997cfe935fea208
baseline version:
 ovmf                 71fd87e98a3d68dffe2f37ec1bdc61732c01597a

Last test of basis   180037  2023-03-28 05:12:20 Z    0 days
Testing same since   180039  2023-03-28 09:42:23 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-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
   71fd87e98a..e4b3fd905a  e4b3fd905a170b185dcea11e2997cfe935fea208 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 12:52:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 12:52:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515775.798930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph8oj-0000L5-Ho; Tue, 28 Mar 2023 12:52:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515775.798930; Tue, 28 Mar 2023 12: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 1ph8oj-0000Ky-Ek; Tue, 28 Mar 2023 12:52:49 +0000
Received: by outflank-mailman (input) for mailman id 515775;
 Tue, 28 Mar 2023 12:52: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=B75i=7U=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1ph8oi-0000Kr-5w
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 12:52:48 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7019c9c4-cd67-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 14:52:47 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 20FD25C00EC;
 Tue, 28 Mar 2023 08:52:46 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Tue, 28 Mar 2023 08:52:46 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 28 Mar 2023 08:52:44 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7019c9c4-cd67-11ed-85db-49a42c6b2330
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=fm2; t=
	1680007966; x=1680094366; bh=8nEn154hhQTFvoDQzXmV54xbCE34vLtQH2U
	SJVF4R0s=; b=lgrSyOOuk/rcUtCL7gmkhwctJh9Q1oxWWYay5KLQfQ+JmJunJOl
	cYHhXyy1U3pYAyKLZ6ybHlsvmT8ocQStN7lzGqA6xYYi1xaQjy6m1129zUWzaqjI
	/rNm2cWjXlFpODlRGyYZhjOOFx/wxtG07FTxarX6c9AWrJum7v6GVEATm0RjR+Wj
	jEomBVZW9ICnqQqLnx7QiGHNPyNdjtaobfXMwziKblqgr1gup3PNhBtOeMUEFZko
	lLbrN2BoOTFWc6nCFNG/aKVaz51vOc25ny9jEP9HRlG+w7i2IR5YkF3qKBJMsJ5W
	YhnX7pUgD6HJ83u0RddjXq/2KjHVOx9W3qA==
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=fm2; t=1680007966; x=1680094366; bh=8nEn154hhQTFv
	oDQzXmV54xbCE34vLtQH2USJVF4R0s=; b=P7iRMiOCYvJGsc4iZ7sX2YS+Nk73q
	4/DQkbk6+FHO4yvyzqTbFj8P9VMjPibaTuk/35w7o6E2ODnh4WzzIHYES/4KjMcU
	5UM4M3k2U0IG8vvWDbpHbxm4tc/lTm0csgbtnFwfRp31QZhlUSfd6tdbsKbTgGPq
	0YZBGETZkvLJgZpQvKEI8/x2YC5MlLMjOZ3mQQen2ZKM3it3L3LZCca75qTzh7JT
	AkzDOz/u3I+48f0aNXJD2/vEdE79wHBIZD2EAmc0ZZlU0WwB56yBNrbcHKjNtIvL
	/CaoQZfYWOKO9BZCdlNQZd4a+RAIczRR+EZNHZp3Ks9PegW3bWCB/2/Jg==
X-ME-Sender: <xms:HeMiZC3ZNoLiHUrUkqVdAoE89VyYvA96UGt2syY-uC3doOQbnWqq4A>
    <xme:HeMiZFEC6zudTxzW3RnMkKKbfnraP9TcTNfNCUy4PMk1e2hUB6Nkom7Nr8U_FoZ0T
    s5K6GF3gAbf-g>
X-ME-Received: <xmr:HeMiZK4aMf-X0X01hNL9N2jF9lQiTwbZc6IebbNUCmrGUadcRp_zgNIn7qSx2T8udAQH_sUDCSP2R1UJAL-AtAxE6NuxUA-Iwpw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehgedgheeiucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:HeMiZD0cLIde6ueNUh8lR44tEr450_FwYTyWVsKJriSxBkowBpACTQ>
    <xmx:HeMiZFGYplkAmzztPD5aBOzFxYFNxIyKf89xlHePpl3b66cmbKjxTQ>
    <xmx:HeMiZM88WgK2iEiZkRkp9PPgPU6kdcixqQPbAWZYrnT8nj3EqjDo0w>
    <xmx:HuMiZFDN-Zlx1lH1YDY12IhcJpfIXKCTabiG5Suywe-bphY11P1gtw>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 28 Mar 2023 14:52:42 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH v2 2/3] x86/hvm: Allow writes to registers on the same
 page as MSI-X table
Message-ID: <ZCLjGhbzGD2jykT9@mail-itl>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-2-marmarek@invisiblethingslab.com>
 <ZCLNQGXvUBxZbIGS@Air-de-Roger>
 <ZCLX1qD/FmbF5ulu@mail-itl>
 <540906f7-4543-9d01-2b2b-a3bd70eda74b@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="DPxcdv3g2IgGGUVa"
Content-Disposition: inline
In-Reply-To: <540906f7-4543-9d01-2b2b-a3bd70eda74b@suse.com>


--DPxcdv3g2IgGGUVa
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 28 Mar 2023 14:52:42 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Subject: Re: [PATCH v2 2/3] x86/hvm: Allow writes to registers on the same
 page as MSI-X table

On Tue, Mar 28, 2023 at 02:34:23PM +0200, Jan Beulich wrote:
> On 28.03.2023 14:05, Marek Marczykowski-G=C3=B3recki wrote:
> > On Tue, Mar 28, 2023 at 01:28:44PM +0200, Roger Pau Monn=C3=A9 wrote:
> >> On Sat, Mar 25, 2023 at 03:49:23AM +0100, Marek Marczykowski-G=C3=B3re=
cki wrote:
> >>> +static bool cf_check msixtbl_page_accept(
> >>> +        const struct hvm_io_handler *handler, const ioreq_t *r)
> >>> +{
> >>> +    ASSERT(r->type =3D=3D IOREQ_TYPE_COPY);
> >>> +
> >>> +    return msixtbl_page_handler_get_hwaddr(
> >>> +            current->domain, r->addr, r->dir =3D=3D IOREQ_WRITE);
> >>
> >> I think you want to accept it also if it's a write to the PBA, and
> >> just drop it.  You should always pass write=3Dfalse and then drop it in
> >> msixtbl_page_write() if it falls in the PBA region (but still return
> >> X86EMUL_OKAY).
> >=20
> > I don't want to interfere with msixtbl_mmio_page_ops, this handler is
> > only about accesses not hitting actual MSI-X structures.
>=20
> In his functionally similar vPCI change I did ask Roger to handle the
> "extra" space right from the same handlers. Maybe that's going to be
> best here, too.

I have considered this option, but msixtbl_range() is already quite
complex, adding yet another case there won't make it easier to follow.
I mean, technically I can probably merge those two handlers together,
but I don't think it will result in nicer code. Especially since the
general direction is to abandon split of MSI-X table access handling
between Xen and QEMU and go with just QEMU doing it, hopefully at some
point not needing msixtbl_mmio_ops anymore (but still needing the one
for adjacent accesses).

> >>> --- a/xen/arch/x86/msi.c
> >>> +++ b/xen/arch/x86/msi.c
> >>> @@ -961,6 +961,34 @@ static int msix_capability_init(struct pci_dev *=
dev,
> >>>                  domain_crash(d);
> >>>              /* XXX How to deal with existing mappings? */
> >>>          }
> >>> +
> >>> +        /*
> >>> +         * If the MSI-X table doesn't start at the page boundary, ma=
p the first page for
> >>> +         * passthrough accesses.
> >>> +         */
> >>
> >> I think you should initialize
> >> msix->adj_access_table_idx[ADJ_IDX_{FIRST,LAST}] to -1?
>=20
> Or better not use a signed type there and set to UINT_MAX here.

If not using 0 as unused entry (see the other commend I made in response
to Roger), then that's probably the way to go.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--DPxcdv3g2IgGGUVa
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQi4xoACgkQ24/THMrX
1yzvKAf8CTEChxywfyFBs4MSJLFYlMwM4zkOdi/Gf3bsDgvSjAiUSejvNFGPqJaf
ThQjMa8wEH1/QXiHRDvOYIYDWyIMn77HVYyMTtnodlwZefxgWQzsIcoD2/WcVerG
AyH8m3skeny2lV+SHwTTdvqMQaPmDTM9+CdKs2cOlgIAjoDDe+mCov4cR3P6+4lf
j8AeCkGLltigN6tWsxwsGlCgI2zcE8eIqHBTiDwsurdUubDPqCAoYv8ZJ/TL8uGp
qFSGA8kfDG8cq87VU7cisbu6szrvLnN4GoZFCX+OiDutc4VhUrdQNDfLZs6hmCK+
1UFN6Sn3OJbnhK2V61d4SZqFimb3Hg==
=60Jc
-----END PGP SIGNATURE-----

--DPxcdv3g2IgGGUVa--


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 12:53:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 12:53:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515781.798940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph8pE-0000qm-Qf; Tue, 28 Mar 2023 12:53:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515781.798940; Tue, 28 Mar 2023 12:53: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 1ph8pE-0000qf-NX; Tue, 28 Mar 2023 12:53:20 +0000
Received: by outflank-mailman (input) for mailman id 515781;
 Tue, 28 Mar 2023 12:53: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=0K3v=7U=citrix.com=prvs=4442f050c=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ph8pD-0000Kr-FB
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 12:53:19 +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 8118cc51-cd67-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 14:53:16 +0200 (CEST)
Received: from mail-mw2nam04lp2176.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 08:52:56 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB6351.namprd03.prod.outlook.com (2603:10b6:510:ab::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 12:52:54 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Tue, 28 Mar 2023
 12:52: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: 8118cc51-cd67-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680007997;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=iSutf6mn2bGMxfawWt4vgnTDvLfNNECzwmQEEOTyoNU=;
  b=OyCM7oK4A+wnCQY030RUyltgBXnaSiLGxTnlU62kQH6gB199RxuM9Adq
   FhsEpcz+K1Bxgc2I51ZNckMathbjyEAqhSSNVRoSkWIbB/Du3xdPXh3Nn
   9aaULx/eyxRxbpQxavAq/peFjxFJYhCVxbSKeQWbbWkJZkTixf6n8Erpl
   g=;
X-IronPort-RemoteIP: 104.47.73.176
X-IronPort-MID: 102137738
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:WYxKZKy0tajuoM7ulQt6t+fqxyrEfRIJ4+MujC+fZmUNrF6WrkUDz
 GcXCjuHa/eJZDDwe9twYImy9BsB7MOEzodrTVNvqiAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6AT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KXNT3
 NNbdW8UVR283/zu76CKbLRilu12eaEHPKtH0p1h5RfwKK56BLX8GeDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvDOVlVMvuFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE37eVxHikB9lCfFG+3tdMrAbU7DM+NEQ5bn+Bq6OEslPves0Kf
 iT4/QJr98De7neDS9DnWhSirX2svxgCWsFRGek39AGMzKXP5w+TQGMDS1ZpeNEg8cM7WzEu/
 luIhM/yQyxitqWPTnCQ/avSqim9UQAXJGkOfz4ZTiMK5tDipMc4iRenZtRpHbOxj9b1MSrt2
 D3Mpy87750MieYb2qP9+krI6w9AvbDMRw8xowDIBGSs61slYJb/PtP2r1/G8fxHMYCVCEGbu
 2QJkNSf6+ZICoyRkCuKQ6MGG7TBC+u5DQAwSGVHR/EJnwlBMVb5FWyMyFmS/HtUD/s=
IronPort-HdrOrdr: A9a23:Lcvdoqs8xag8A6tc6AtE0YFl7skDsdV00zEX/kB9WHVpmszxrb
 HJoB1773/JYVMqM03I9urgBEDtewK4yXcX2/hpAV7BZnifhILAFugLguXfKlXbalbDH4VmpM
 NdmsZFebrNJGk/oPzWpC+fOL8brOVv9prDuc7ui01Ad0VBTYZOzylEMS6nMmtQADNrOPMCZf
 mhz/sCqDqkdW4Wfcigb0NpY8HIu8fXkpbrej4qbiRXijWzsQ==
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="102137738"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l7Q/4DgHneU/O+WZnRAebAjxWkn+yUO9Cn9/LrKFyuaTDAQuAm9VJXw4QwpeEtCWYiY4JIzj2bRtUHDgvDiJQSgjpy1ny+vhpPOVtSewgqkHn7oDUmMBZng5fz3Nq9KDWgtKvwwTvNCDcaZgyZc/2qTegknIWvRIMPuGnOi1zxr4NI03wABmaRcIqBzxURZs6gVspNWPy3/4kx1sDa3Eo2ezcSmaFReiVyxMiSeNndPuvTeHmt0ScruXJhM92rCPVXWxvm8x4HUEgXaqnJNuGHkbPXFl/gZaDZzmY2m1clcXoxiQ5AqvYXzzf1w3ylkoosXxw+VPuCcRXzHlO7Mtag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZXuaqZu+wMTtK+tt2wvlsx1Z1QNSMamgJcJfv5Wg9M4=;
 b=OHLj3kayBgcmms6hMGUS92Sfxs94en7RZhWyseHotpRSTMf0pXXnB8OtnzIMzcZ5d+5yeXPUGdE/BXzVZBlsnJ6YUqA++phf13GuOl3bfc6IQJRGa+4/AxUE8YJ9N7yzDjeDmYTelZX8UJOeQZyJF4w46gbnm0moumU+i5h5sxy7b/MShcsNM/HeKiuTFqjLAn8IUXyvHsFx9wawRRix4NWKJGpNL4l6XQ2LpHFgKhSGod6YM4EZp3sE9zCPWKmZQFavB8ySE8YPvmZCGecfI6jDAEUMb/Xp9pLCLOCJ93qasOgyD452B/F44vfOXuhYKs9iFy+fXUKCQNT94pktvg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZXuaqZu+wMTtK+tt2wvlsx1Z1QNSMamgJcJfv5Wg9M4=;
 b=Myu5gN568ZSLW7vFjLmM9kueAjYVYCX7AvTUe2SFtGENBK61INKorX1Q/smInkXDZVYyrxba5yCz22lfM7NqYX/qxGn4jHEPNJyCMijT5E3nBkBw+yfvviTPNLLLn2k8lMUTfsiFHZX9zT934GOX40jnu40Pw65yBJ8xfwykRB0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 28 Mar 2023 14:52:47 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 2/3] x86/hvm: Allow writes to registers on the same
 page as MSI-X table
Message-ID: <ZCLjH5bK9Ue9xrzu@Air-de-Roger>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-2-marmarek@invisiblethingslab.com>
 <ZCLNQGXvUBxZbIGS@Air-de-Roger>
 <ZCLX1qD/FmbF5ulu@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZCLX1qD/FmbF5ulu@mail-itl>
X-ClientProxiedBy: LO4P123CA0144.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:193::23) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB6351:EE_
X-MS-Office365-Filtering-Correlation-Id: 400f5824-c28b-44f0-f42f-08db2f8b58df
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vbmKp/DhEMBa6qPRs/gIea5KTsZQQ4i2/I2NlRMmwscQoaR1g+nDYGGR1fnopMR9Mm/Wt42KoAnrIOonvybG/7HDxaphxtFJJNyuDPuW+4Tl4qq6QjxftY5yLhpIbanQhQUKYW+eAWV1kvRkgwJoQFiwogRcnDFC6IPNqeacCFs2yieuWuZVppbW9cWTh2aRexlUH5JBDoVdn6Q+gy8kDU9bOqX+vBprIB9CUrb8P4aLpCiQK0PKPOqM2MMZaEYW1irScjctO3DoykFPaTIkHgqa9clzd4f8yRP7ejdjIWKfGzubUgh+vV790imsRDYjtUdf9IZQRyHAPzcWFY38A7sjRUJCts+kcjNAwgG938nlH6isN59xKKd+swa2FK/jFb+didtEUOM0QbNYAGyU8oBnbhPfRogJJCGI3NboXQ+GO2Y9CXBnrsjeyCA618++UGyHfos8PTR2qliGdR7ZzIBMvz0rj1H+a4OzRoUlAiwsGYjzscoJsxGb9jx6RBfnuu7yIla26BRjxFKgvO88Lswa9zl54rLOZ9fvJIXRtcFprRQaeQGGpt7zC02ZM6Xp
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(396003)(136003)(366004)(39860400002)(346002)(376002)(451199021)(6486002)(4326008)(66476007)(6916009)(8676002)(66946007)(66556008)(41300700001)(82960400001)(85182001)(2906002)(33716001)(86362001)(5660300002)(8936002)(38100700002)(478600001)(316002)(54906003)(6506007)(6512007)(26005)(9686003)(186003)(6666004)(83380400001)(66574015);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aE9qOHpWUmdRdmJhOWNSV1VvRy9xcWZQdnBOZnhuRE9HRFZrbTdqazNkVFZl?=
 =?utf-8?B?UzVDODBFN283U2ZJMkpxNVVyM3ROdngwR1d6dDB4WjJuaWhQLzM1YVJWR0pH?=
 =?utf-8?B?R1NVSHEyd3IrRElYOFEvSUQ5T2ZJdmRZa0V5ZjE0VU9JRmYvZURMUVZySDZ3?=
 =?utf-8?B?VjVHekNVTkdTSUpJN1g2eG5RYXcwODJVVGZvTWUwQkdZVEd3ckhBWWpSWHJK?=
 =?utf-8?B?SElzclRGaGVmNjY2VnNDSVZtZFJGNitkTTFJYUY0MTVnTkR2T2x4L00yNDZF?=
 =?utf-8?B?WTFBd3h2RDR5eHUzTEk1TmFuRUdHd0tPOFpuUTBWSzJoY3VBSzhSdnFsSjF3?=
 =?utf-8?B?b3pWNjF3QnpnZW9JMVM5K0lXUU9nb1NobHlxMXNrM21CcjllNDljOVR2T1BL?=
 =?utf-8?B?Zk9BV0tXMUxXZHpYa0NWdkV5TFZSOUNHTVVhN0JrZXBlbzJEbTRrU1VZeHZt?=
 =?utf-8?B?c1FvblQrcjNjME9VZHZjeEI1Wk9OSDVuQUcxZkNyVXZOMThFZEcvWVl0Wlpv?=
 =?utf-8?B?YkEyaGs4Z0QwWlh6bEdWaHZ1dG13aDdKdWJBdGQ5VWpBYVJwcmxHZW1PRVI5?=
 =?utf-8?B?aklJNlZ2T2Y1QjdkRm9VaDJVSGd0SWNab00xWithVy9la2M4eGQzcGUwMFVa?=
 =?utf-8?B?bkJab3FWTmJIQ3VUejZ2M29makJXaDFGdmtGc1dheU9YS0tTU2VHaTVRakN2?=
 =?utf-8?B?c2wwY1RBRzkwbzVYeDRvd1dxM0VyemdxTkJzcktselhORDNPaG5Sd3ZqRUxp?=
 =?utf-8?B?TklHVXczVHRCaXg1RldRTFNVRjRTMENmRDBqM3NsZHJEcEZURy9iQlY4ajBC?=
 =?utf-8?B?TnBsT2VwdnFEbDM5YWZTd3E5ZE8ySmRsMnVnTCtLSDZrald4YVVxbnZ0VWxo?=
 =?utf-8?B?NVgvaEw5L0w2OVRUaUwrUkpSang4dXFjcUliTklyQmhJTWVtRUxhWWhMYUZo?=
 =?utf-8?B?U1R4T2wzU2JvR1YzY09DZHE4YWFGZ1dxTEo5T0dENENackozZncweUEzbTdZ?=
 =?utf-8?B?dnprUjRrZW1YZEkrUEVETmZRY3BnTkhDeWtRaWhrZHJSa0QzM3Y0azljanZm?=
 =?utf-8?B?ZERTeHNpL1JTNjZGOUlCNkxOMGtST0VQNlJxZFR6NmZZVFlkTGZaZFRSR0lm?=
 =?utf-8?B?Vk1Id0hCblRtWXZseEVybThiVHRGMklKeHAwTHJzZE4xeUQ1V0xoS1Z4ZUhE?=
 =?utf-8?B?cnBmcll1V3ZuRXVjTHlZYTJmcnhYZWFIMTFqbFBYSDlIeEZOQkF3OVZBQ3FZ?=
 =?utf-8?B?VGtkZkNzRDNSVEJwYTlmVWxuRUFIUlgrOGhoSkt0VE1UZTdYakVXbkdPbCtq?=
 =?utf-8?B?L0c2WVBqUStFYnVFTEl6VkNmQzJUd09uaHhIZEhlMzVhaUJvWm1UWjBOL0w3?=
 =?utf-8?B?dWdXeVFnQnpCTDhOb29DeWYvdkxpTWloenV2L3JJYlh4eHovQXpmOHphT0Vi?=
 =?utf-8?B?Q1cvSEpyWjl0T0x3U1gyOS9qMkllK25kNm5MRkRNZ25UZDBXTHpSUFd4eXE0?=
 =?utf-8?B?WVVvenQ5M3hLRngxZVdsNzBXL3JNdXVvK2lhdHM5R1Bxb2FpNTBNTVZpYjAx?=
 =?utf-8?B?SVBUd0JUOHdnQ3NKK2JMYWE0OGZ5RmhNSzMzRDVyY3NGb2M4eTVWb29FWFlG?=
 =?utf-8?B?QnExNjZFbzh5VmVhYVZERlF1Y1hTU0xkK09GQU0vRXJKSWlBSXk2dGhEQmhK?=
 =?utf-8?B?MmJkNUxpVjZVWWpBOUNPbHI5WWVCby92eGxFcUxCZGU0UkxMVmlqVFE5VS95?=
 =?utf-8?B?aUQ4NytRRUNPaVlCM053bDI3ZitQRmNZVytCOVpZOWc4aGoxZzRHNlhzYVpt?=
 =?utf-8?B?U2RzRG1sSU10TmxQU2orZmp3Mi9oakhpYWt3K1dicFBVWFFVbDB6VFEwMG1Z?=
 =?utf-8?B?eEtaK1p5amtONkJWZFhuWFVFR2ptZmJiSWhkNkgrZFhYdHdyd0c3UlIvMFZ5?=
 =?utf-8?B?RjR0MG9WMlBidHdReWtzdHR4MDBEdmR0d0ZRbXZHZlFoeEI1bjcrcDJXNFlG?=
 =?utf-8?B?anV1QnY1TC9EOEN6TlRDekhLSnpMRTJSUlFJMXE1TUcxbW8vUzRPbU1Uakoy?=
 =?utf-8?B?ZnhMVG5QWVVyOG1XQWJMbmZPYkdEMmYvWWlqLzNGeUtWZ0dxM3NZSkUrUDJq?=
 =?utf-8?Q?6/RtiWW7PjK0R+hNvnZSNhFrc?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	ficKLVNcNQnByRF8a0G1vNIknKr1bMrCtrC7sqMAcMfgptN/DXhgVPS9gh8RVCKkgOO4jeQqJy9GVQFXRXnCSui4huJIe8SSos99jpqalhRZi7nGHMbRhbz+A2D/ZhlV0EKb8pDOLzk0ICgforWTxoCM3m7IKsNDKwvQk1+60XoiRCvn/ylRf4X9Sr52GrcDRlfyFeHp6Yma7EDG/mA24nmqObseUrgvvqQe0V8DNtOtyRt7dT9lpGj1nQ8sHPThMd8q2S6OfxERqn1yWrZQrdCSJzo8UNfrkpI9gfa8JB3/5obT+wMWMuCcuc+DFBSeTyGL4tk8QFx113x9iiq+Uhg4nQJodOoF5o7plA5AP/F881owBSsO2B5eHegYvjYCYxPBxlEPQ0jXCesdKvPnitk6Vdd8a6BPQGSuDJpD3oT6Ptq7eGWkNes+imLP+toijFj20hPBsmO8EEwRg6Yw7hhR+5iX/xv7k8YTr2Aexx0+pY0G7Xd2IMGqFOMRc0n/wBnZIvkssbQ3YFjeWqX5u35YT0BkNQ6tFTi0aDgmj+U8s7qDKwlcFR2datdi1tb/vywUoKnis0677n3oUQ1iyUrLGGY/fLKc+bA/UHj7/mJpRH5H4GSUZNuc/f7kYm9DPKFsoBmwOt+mZ7Emj9fX+qTjbqSAEE4W0bLHFQCv3Q9MarRNRSRWgZiGls0tUweMh0PfogI+Fri+DT8RlVZxDFjevyRofIHkgeuQGYPAaulqrBlFTlVP6q62arc6744XHR1B6lNnJMD+4QUOJebGyVDhluWYuArKwhzluNGxdWNmdgEk9SRq7CgXMTUAOGbyUbzAK+HbFMyhVzBYUtGsaHXVjTS/zQ+k1+bipPfxhSKewpiFJPSSrroKGhkQohN+CXO0krLX5WAiFoP990qdC9eISS8OiR/54caDd9qQVlk=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 400f5824-c28b-44f0-f42f-08db2f8b58df
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 12:52:54.3744
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: axJ0sP9XezayJM2MYHlZQ9IokHIITtEaRZrdvkk6td/nquI2JOtGlQezhYHPu3LTutmK+opt0zWWbd6aQQSEpg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6351

On Tue, Mar 28, 2023 at 02:05:14PM +0200, Marek Marczykowski-Górecki wrote:
> On Tue, Mar 28, 2023 at 01:28:44PM +0200, Roger Pau Monné wrote:
> > On Sat, Mar 25, 2023 at 03:49:23AM +0100, Marek Marczykowski-Górecki wrote:
> > > +             address >= entry->gtable + entry->table_len )
> > > +        {
> > > +            adj_type = ADJ_IDX_LAST;
> > > +            pdev = entry->pdev;
> > > +            break;
> > > +        }
> > > +    }
> > > +    rcu_read_unlock(&msixtbl_rcu_lock);
> > > +
> > > +    if ( !pdev )
> > > +        return NULL;
> > > +
> > > +    ASSERT(pdev->msix);
> > > +
> > > +    if ( !pdev->msix->adj_access_table_idx[adj_type] )
> > > +    {
> > > +        gdprintk(XENLOG_WARNING,
> > > +                 "Page for adjacent MSI-X table access not initialized for %pp\n",
> > > +                 pdev);
> > > +
> > > +        return NULL;
> > > +    }
> > > +
> > > +    /* If PBA lives on the same page too, forbid writes. */
> > > +    if ( write && (
> > > +        (adj_type == ADJ_IDX_LAST &&
> > > +         pdev->msix->table.last == pdev->msix->pba.first) ||
> > > +        (adj_type == ADJ_IDX_FIRST &&
> > > +         pdev->msix->table.first == pdev->msix->pba.last)) )
> > > +    {
> > > +        gdprintk(XENLOG_WARNING,
> > > +                 "MSI-X table and PBA of %pp live on the same page, "
> > > +                 "writing to other registers there is not implemented\n",
> > > +                 pdev);
> > 
> > Don't you actually need to check that the passed address falls into the
> > PBA array?  PBA can be sharing the same page as the MSI-X table, but
> > that doesn't imply there aren't holes also not used by either the PBA
> > or the MSI-X table in such page.
> 
> I don't know exact location of PBA, so I'm rejecting writes just in case
> they do hit PBA (see commit message).

Hm, maybe we should cache the address and size of the PBA in
msix_capability_init().

> > > +
> > > +}
> > > +
> > > +static bool cf_check msixtbl_page_accept(
> > > +        const struct hvm_io_handler *handler, const ioreq_t *r)
> > > +{
> > > +    ASSERT(r->type == IOREQ_TYPE_COPY);
> > > +
> > > +    return msixtbl_page_handler_get_hwaddr(
> > > +            current->domain, r->addr, r->dir == IOREQ_WRITE);
> > 
> > I think you want to accept it also if it's a write to the PBA, and
> > just drop it.  You should always pass write=false and then drop it in
> > msixtbl_page_write() if it falls in the PBA region (but still return
> > X86EMUL_OKAY).
> 
> I don't want to interfere with msixtbl_mmio_page_ops, this handler is
> only about accesses not hitting actual MSI-X structures.

But msixtbl_mmio_page_ops doesn't handle PBA array accesses at all, so
you won't interfere by accepting PBA writes here and dropping them in
msixtbl_page_write()?

Maybe there's some piece I'm missing.

> > > +}
> > > +
> > > +static int cf_check msixtbl_page_read(
> > > +        const struct hvm_io_handler *handler,
> > > +        uint64_t address, uint32_t len, uint64_t *pval)
> > 
> > Why use hvm_io_ops and not hvm_mmio_ops?  You only care about MMIO
> > accesses here.
> 
> I followed how msixtbl_mmio_ops are registered. Should that also be
> changed to hvm_mmio_ops?

Maybe, but let's leave that for another series I think.  Using
hvm_mmio_ops and register_mmio_handler() together with the slightly
simplified handlers will allow you to drop some of the code.

> > > +
> > > +    if ( address & (len - 1) )
> > > +        return X86EMUL_UNHANDLEABLE;
> > 
> > You can use IS_ALIGNED for clarity.  In my fix for this for vPCI Jan
> > asked to split unaligned accesses into 1byte ones, but I think for
> > guests it's better to just drop them unless there's a specific case
> > that we need to handle.
> > 
> > Also you should return X86EMUL_OKAY here, as the address is handled
> > here, but the current way to handle it is to drop the access.
> > 
> > Printing a debug message can be helpful in case unaligned accesses
> > need to be implemented in order to support some device.
> > 
> > > +
> > > +    hwaddr = msixtbl_page_handler_get_hwaddr(
> > > +            current->domain, address, false);
> > > +
> > > +    if ( !hwaddr )
> > > +        return X86EMUL_UNHANDLEABLE;
> > 
> > Maybe X86EMUL_RETRY, since the page was there in the accept handler.
> 
> How does X86EMUL_RETRY work? Is it trying to find the handler again?

Hm, I'm not sure it works as I thought it does, so maybe not a good
suggestion after all.

> > > @@ -1090,6 +1118,16 @@ static void _pci_cleanup_msix(struct arch_msix *msix)
> > >              WARN();
> > >          msix->table.first = 0;
> > >          msix->table.last = 0;
> > > +        if ( msix->adj_access_table_idx[ADJ_IDX_FIRST] )
> > > +        {
> > > +            msix_put_fixmap(msix, msix->adj_access_table_idx[ADJ_IDX_FIRST]);
> > > +            msix->adj_access_table_idx[ADJ_IDX_FIRST] = 0;
> > > +        }
> > > +        if ( msix->adj_access_table_idx[ADJ_IDX_LAST] )
> > > +        {
> > > +            msix_put_fixmap(msix, msix->adj_access_table_idx[ADJ_IDX_LAST]);
> > > +            msix->adj_access_table_idx[ADJ_IDX_LAST] = 0;
> > 
> > Isn't 0 a valid idx?  You should check for >= 0 and also set
> > to -1 once the fixmap entry has been put.
> 
> I rely here on msix using specific range of fixmap indexes
> (FIX_MSIX_TO_RESERV_BASE - FIX_MSIX_TO_RESERV_END), which isn't starting
> at 0. For this reason also, I keep unused entries at 0 (no need explicit
> initialization).

Hm, OK, then you should also check that the return of
msix_get_fixmap() is strictly > 0, as right now it's using >= (and
thus would think 0 is a valid fixmap entry).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 12:54:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 12:54:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515786.798950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph8qa-0001V6-8G; Tue, 28 Mar 2023 12:54:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515786.798950; Tue, 28 Mar 2023 12:54:44 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph8qa-0001Ux-5P; Tue, 28 Mar 2023 12:54:44 +0000
Received: by outflank-mailman (input) for mailman id 515786;
 Tue, 28 Mar 2023 12:54:42 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph8qY-0001Un-QK
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 12:54:42 +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 b41c94da-cd67-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 14:54:41 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AM9PR04MB8354.eurprd04.prod.outlook.com (2603:10a6:20b:3b6::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 12:54:39 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 12:54: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: b41c94da-cd67-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N5ZtpSObE0Ig5cxQ7hO1YKC4+cds7fPuYmpWhJ1XvYD6kgkJvN0yCLexF1ahCh2jgvax5LDwQNeYaFO9Yy4qATBeurb73Qj+sSj3umW8G1a62oJxiLLopMsWptQsbTmDei92oPp1JbADT493znruyxt3DC8xmFbi0LcawkbjyxU9B/FO108O/wIt0vSNnPdUy79amG5RaHSrmtVAKy7dJkGuzuCf2rGu35vngeDfuQX6Nj467DtSXafChwOzQKFK7glQ2zZ88Clez3Mp6zjleTq7DOPry1kwjz6xhUNajctGG7FNKBxBMmjlLc0e8f5zvgVpqYPb61YF+k+lEsA8QQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eIxMtcO8FGXRErZNwVX/JZutpjwl7UgT8b+v9lvMKxY=;
 b=nlbbg4O1qaACxVDadp35OouYl1AcMZ34OJv0JdsP0G1LTlzcV1m+tjILFL0AM8wr6ha5wBAKCL4MK5McaG/DxWJU2o6B4TL6+EdehAwTyXL3pjCAtlKH7qJRYi/6p1YDljKPd5ikZaRbKuWcRPZsbVUe7ZYRq/YWYfQQw6MPUhzr8UTg6q+8B+XDFKB2NEgP5ZU0xrdmBGxD0eYZleyEmHf/+ARw3gJ+ZZuSxZEBv3LZxF6a4YPOTJg1aocEg0T4eEsDnBJO95q1+oeEsW0ym83c0Bczt73wRZ7klhjK6xtwBHMIIJ3TdV2/OSltYD05mc3A+g7v9ca9hyRtAmvy2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eIxMtcO8FGXRErZNwVX/JZutpjwl7UgT8b+v9lvMKxY=;
 b=oAlhhdjOb6cSj+MKx72nQBzPnAzD1dE9dlWmlptDQpqilSW/L6h/PJB8hOAuQojPwidx8WA+kIans1lwS0ewyZCRsHKBrBe5jGECNUl2x9kqhkcU3udkFMi38XBWst3ySY8CksYQ8prNBBJfHv5nUEcd6xAXWUV/jRXERCGAAoEDtkANVRuqjSUtcnaNqcUwf7GSFKzz+zeBdPE6eF5n2CP2x9QIu/pa5YqGZ5Pz1NMR//CUt0wBhpEkSdJwmwT+0a6nRuo+t53ukGyeyyEqeKX1TVzlyXQA2QaCvmSAi2Ce8Z0eI8PTzk1ugvB8IjITlK3Bq3Hs7C4h5t7+m0Gqxw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5cfcfb7a-df50-fbe4-89e6-611a83991790@suse.com>
Date: Tue, 28 Mar 2023 14:54:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Jason Andryuk <jandryuk@gmail.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230325024924.882883-3-marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0067.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::14) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AM9PR04MB8354:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ca51384-4e04-4f06-bc94-08db2f8b9791
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2tlLtkcML348U/tO4SF/YHxVrkT9932hbVxa5o4BDnCGbuuakIQuf6VMPF3f9p1tm3T7XwYbGfgbr7TUNiDdZOeSfXqTzHxijiaRii9jwg9DTvuqjX4j/kx8BazGvveRR5vszyRoddUcfvIPzaiRm2gOWZW8UopigbeHEJKeGdt8uYWgb9DssOqadIP0fE3FwR78n0U2zgyls5e95PPZ0A90hk3DUbPObLMx1fgbCBSDKMtaBhIq1sPcWuLKjcBcTDoNVXAyHYe/pGbUenT57E0i+qhOwZHfTK0jtp/aAMvOP3RG6p0kHCyMfF0liXDLmUWjs1SSfyyjIm9+C4U62k6PenYRGgE0QV1Ai43mlv6V/EQH3P5fwkMrwjSLjgjcUNA5Wa8LgMBF8x495lV289RpkrL6mPQxh9OqhkrgmlPOyTgor0INBv0mVfLD8WDp0usc3zFlqHRUTjCxYTJ2qC/3SaFbZdpRWg+Tt3GeL3DZvucvOiyOHLmpeGRipQPqdvuBgeSAEYiqMRjmPuI+a2mvwJ4Y85vn2YX5PX+P5LStrUIa3Nv70/j8hG+zkQ7YKaqLtJNDl1RV60pYcGzas8MjB786a4TUTOaiM/rcUXNleIlhi19D3FfxoLvp3ZwWIvLojbHIrPkcNUSNzNLScw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(376002)(366004)(346002)(39860400002)(396003)(451199021)(31686004)(36756003)(53546011)(6506007)(66574015)(26005)(6512007)(186003)(66899021)(83380400001)(2616005)(8936002)(66556008)(4326008)(66476007)(41300700001)(66946007)(6916009)(5660300002)(478600001)(316002)(8676002)(54906003)(38100700002)(2906002)(6486002)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QXRrR1MzN1RWUWhXVmYrU2JXVU9BYXp1WUMzYmUvVzR1K0F6aGJDd0ZYRnU1?=
 =?utf-8?B?emIxc0VEbW1KSUFERW1MMDFKY2t0cDVlbWltamtqdDk5RkNuQ2lhZ2NIMzZk?=
 =?utf-8?B?RXh6VWxuRlh6eExTTUJmWmlBVlNDb21KTmpqMDN3MVlaZjZYK0dsUkY1dTJJ?=
 =?utf-8?B?U1lrSXBYRGk5RDVjTi9hbFZrUjV5V1psNmpUZUd4SmxEMzBEejlGOUFaaEli?=
 =?utf-8?B?MjdpMGR5ZTc4Y0FpdXZZRWp1eWtDRzAzQmpMVTd5TFVLNjlSQ2VFVTY0TkRa?=
 =?utf-8?B?OVQwWisyUnp5ZmJxMTBBeVM0UTl2UnNncFpkTmpVMFZqdTVUV2ZPNUE0UmVF?=
 =?utf-8?B?UUFKRjJFWEhVbFV4T0xQZUowNnIzTWV3L1RpaEJJWWJJVG80RzAwV3FCaXc2?=
 =?utf-8?B?b1BMUVJVNXFiWkxUNGd6UUdNRk9LRlJLSXVrb09uWEhRUWY2MlBXS2VZTnl6?=
 =?utf-8?B?azhhbTB2REE0bXZ1YjFpRGxmWmdtdnhpNUJFbU51blZYajR5SWR2NkQ1TFA1?=
 =?utf-8?B?ZjhkNEVNUmlyQ3dvQ1NZSXpEVTg0eS8wYmtwc1Qxb1FYSXEvRFRoemhNeGF1?=
 =?utf-8?B?NkhObE03a3ZpcnV1NVFWMklDY1p2amdveG9Ld21nYWFWYmFaWEttYUUzOE03?=
 =?utf-8?B?MXMyai9IWE5seXExTUtvanpBRk1wYzZ3azlTVE5CNVhCZStXNjFvQmxKUHZk?=
 =?utf-8?B?T08rZ1FEeVo0YzdOTjZRWUdJd3pPQ1o3VlBRTjZwaU9rQ0duY240TUpRQ1Jy?=
 =?utf-8?B?OGFNQ3hoMkZhZWx0RHdCcUMwN2x2RHpuZ3ZRLzhxa3FoS3FwZWR3ZGYySzBz?=
 =?utf-8?B?VDRWRXVVQXRmWnVoSzJJSXozK0ZGM1JrcFYwN2RQUEdtT2tsYkdkQm9yRTFB?=
 =?utf-8?B?YTN5emtLM3VCYkN1SnlyQVVldEQ0ZWw4OHRKRElKY05lcE1yZGRPYUFtc1g5?=
 =?utf-8?B?OTk5Mml1WFgyMi9tWEpIUWMvdGt6Y05yQjJqem5pQmhzMVlkTi9sQ3ZoRHNz?=
 =?utf-8?B?R2VRZEZmYUJsQWtHR0piS1BGTTAweER3emF3RWNIYU9hY1JpUUVwa3JYY1FD?=
 =?utf-8?B?WG9teUoyKy9mNVVyemNuNTVjVjhBOWlDdFg1NUZhNytlMnlWbHlqTFFuQmEv?=
 =?utf-8?B?YmhXTDRzVEFLalJGb1M0NjJPam5KVkVKdWU4ek0wV1QvaHFyZEo0SWoxUHh2?=
 =?utf-8?B?a0REUklFd1BjWklrRFovdkFNdFVwL3k2NHp0clpaT1FmbWxLZnF6ZUU3OWlq?=
 =?utf-8?B?UDB1bU5sUGQ2VUFYQXBSMU9vRTFoL0xxejlMbTM4WTdCdlA1ZElCM3RaanZ2?=
 =?utf-8?B?TjB4K3phWUdzTXUrUVdWaExhMU0rWURpS0hWdDFYSzJ6c1l6KzZrb2VFSm50?=
 =?utf-8?B?UzBic09XYXY5QUxWNGtET2pKNzdQTm01aTY0TTFESXFrQzYrZDgrQTR6Nktp?=
 =?utf-8?B?QWNkblJBVTVjdEtGZUFxa1Vmek84ZDBpY0RLeE5jK1JtMXNUOGk1NG8wTTlR?=
 =?utf-8?B?b3p5WGFuaGJKK0ZTZCs2K3lBQ2tub0djcVJGSEVlVGQ5VGYzcFRsRC9jUDJE?=
 =?utf-8?B?NHgyS09iVTFPRXQrcURPK2VsRFA3MllLSjJHUk51RlUxTkp2NGlzUGpMZmFQ?=
 =?utf-8?B?ekpQT0JTRU4rcFd2Q2hrb05NWkxHUkxCbWxXa2VyK0RnTDh0V0kzQlNGendF?=
 =?utf-8?B?VDFmckZQcmNCanpVQkUvTkNGM280eFo2eVNZRStoWGt3QnhZdGxnR2xMVHZ1?=
 =?utf-8?B?NU4wQVFLdHVTZEh1aEtjTTd5RGRienI5dkE3cDMwNVlJTjZhek84T3R1aUNM?=
 =?utf-8?B?cG9UUVpTcHBRUGhaSDdjKzZFd1IxM01xZkZWU1ZoZHA3WlVCYVJkd0txRGR6?=
 =?utf-8?B?Qmc3MzFFVEVUbmRURDQrZFg2c0ZJZkZPREM3NW9RR05jRlhXcTVXcVZpNGpV?=
 =?utf-8?B?ajJOSW5DL09QRVNWYm1ITzlPdmxYeG5pQVpNWE5oZFpMMHBTMStRWUdPS01N?=
 =?utf-8?B?TXVuanZqSW1BcllhSVRCWFJxd1FCMStodGc5bmV5RFZqUHVFZFZMVE1HVE4z?=
 =?utf-8?B?cjR6TnNqLzRQQlA0MTNab0QwOHhnNldHT0FRMFI0V0ZvVzZKaWxsUHBOZVhE?=
 =?utf-8?Q?4h8c8LX8nt+s2gXNd36RiZ/K+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ca51384-4e04-4f06-bc94-08db2f8b9791
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 12:54:39.5008
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UbSzLBY+6U/gOiSdoe80Dnz8PYQZvP1itREpFIHdioYzZtk2YdU00vjsTVZgAC3zW67MQO1/3/KxNOoqcUiNcQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8354

On 25.03.2023 03:49, Marek Marczykowski-Górecki wrote:
> Some firmware/devices are found to not reset MSI-X properly, leaving
> MASKALL set. Xen relies on initial state being both disabled.
> Especially, pci_reset_msix_state() assumes if MASKALL is set, it was Xen
> setting it due to msix->host_maskall or msix->guest_maskall. Clearing
> just MASKALL might be unsafe if ENABLE is set, so clear them both.

But pci_reset_msix_state() comes into play only when assigning a device
to a DomU. If the tool stack doing a reset doesn't properly clear the
bit, how would it be cleared the next time round (i.e. after the guest
stopped and then possibly was started again)? It feels like the issue
wants dealing with elsewhere, possibly in the tool stack.

> --- a/xen/drivers/passthrough/msi.c
> +++ b/xen/drivers/passthrough/msi.c
> @@ -48,6 +48,13 @@ int pdev_msi_init(struct pci_dev *pdev)
>          ctrl = pci_conf_read16(pdev->sbdf, msix_control_reg(pos));
>          msix->nr_entries = msix_table_size(ctrl);
>  
> +        /*
> +         * Clear both ENABLE and MASKALL, pci_reset_msix_state() relies on this
> +         * initial state.
> +         */

Please can comments be accurate at least at the time of writing?
pci_reset_msix_state() doesn't care about ENABLE at all.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:03:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:03:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515790.798960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph8yx-00037b-32; Tue, 28 Mar 2023 13:03:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515790.798960; Tue, 28 Mar 2023 13: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 1ph8yx-00037U-07; Tue, 28 Mar 2023 13:03:23 +0000
Received: by outflank-mailman (input) for mailman id 515790;
 Tue, 28 Mar 2023 13:03: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph8yv-00037O-Ha
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:03:21 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2060e.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea0e98db-cd68-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 15:03:20 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PR3PR04MB7451.eurprd04.prod.outlook.com (2603:10a6:102:93::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 13:03:19 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 13:03: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: ea0e98db-cd68-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gNdIsXzlmMWfZNMFzBlSV8tOKpSYk4ov1JabMGFMWjKThODK40MvsoP67xqYiz+GPx0MPKuJMiYW4QU6pXDApCMHWDgIm+O7SVX/ZoNIz2sOS5C+U4qOOUReoJYgJC/BAWoTef5uXeEJUfyJNtN/s+E0yxlJyS/RivUfFP9Fzeh9rYqtzZ0sZ/9FVbtUkc3exR2okOLTYym+Jd0FwWt2zsrCoh8uw+eS18bXPYWLb9q9fJycD+6TTMbMpjOKQCBC+xRmX+N/+6Goet0hlTKRpxvqnErawigR41KjcTGFSsH2lURMBrOjsdx661HijG7iYDCb8rWKGx0EVMOJPe7mGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=snnWXGz0HbVgVivR0ee/+TvpCfZHx6zyVCQ2mssJ2Jc=;
 b=KUMZjoYLmZNe+cJpJvIChhLFnsu75soRh5uk1YmZ5sEmGlm2u1LUrc76ekrj/3yHcxCTpYxpsBqsUyHTBXLP7sUbHfahD63wsKZdKI9VcVvXaXCAuASARHnNp7CvjsZwPyn59h7LPF2lNeoEujE8EwpviMzEyFZm2uByo1FlITNp+TrzA+TuRDWROfKFIqdo2XtDHVARbDl0tturBR12v1OjhN4ZKKQnR8dI8Y4Ni/omh+tMSikwH6QOqykiO1osgsDENyG8kUIY7Sq+GlYdNiUzHffoaIM8o8ekUZgS0dGCnkz95TKbM4MQuH7s1KRKJc6Wa1vT4lRzFyo3+oRgBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=snnWXGz0HbVgVivR0ee/+TvpCfZHx6zyVCQ2mssJ2Jc=;
 b=a/H4+wcik+6F9zrWXnF7q+OKrSyUBvLQe3WYX7MoICkGq1j++QwfvbIjJh8XUcwaC0GLwIgM7ssK5PnatQyy3l4JLbR2tSD3FBPMyFSSs+/JdzAou3ujV9Dr+urRQom82grnbnb8ndy0IU2JiLSJodM94IJL1WR0BHqTVphsT4Cp1bkUBAJ+H0wAqWpbNxWhLahlyXIWKsyYIZiyqAiEU4N1wiGRYGeBd6IzUAYE1db+mC5QMEPmV7KYhsPFJcstQg8u1oIB0BbP8/PMxWwb+DiAPhQKZxVu8u+eOvSb9apSs7mCl0yi4PNfw1pKCad4MqFffNEZsVlanwA8ffPWng==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9eb7b538-4074-4b15-4ea2-67d9cc0bf85d@suse.com>
Date: Tue, 28 Mar 2023 15:03:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 2/3] x86/hvm: Allow writes 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: xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-2-marmarek@invisiblethingslab.com>
 <ZCLNQGXvUBxZbIGS@Air-de-Roger> <ZCLX1qD/FmbF5ulu@mail-itl>
 <540906f7-4543-9d01-2b2b-a3bd70eda74b@suse.com> <ZCLjGhbzGD2jykT9@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCLjGhbzGD2jykT9@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0002.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::12) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PR3PR04MB7451:EE_
X-MS-Office365-Filtering-Correlation-Id: a26e835a-3f22-48e0-9321-08db2f8ccd47
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jUTD9mfieRMYzi9EjnVfzgoZNWgJVwCmZoKOVzj4lfv+IcFaRyJi8SmtNMAea9QHueDUYvGZ7XSCV7szvl/+AOq9UxyW8Ohk3L5nzGo4Wov2MeXipr219SPbDbYpIfoyyoS98qO5yXAxCLxI1zpKaeNQxW7w+iSECnXKBKHvTdB1IaOYw26P0fHM0hqBqGElyfBbB/16q7NItN2g7VeoWR3kWyE05VaClYlfIjUwtTkHIoS2aOyk1o/Qe+KPUDrFC8abvDRufHlreQB3f4m1Kfx7+EKoSu6bxTMblLGpxYpxFJdgtjlT/oNV4RtWEj4gW1QHhyCQ3pDHnOVvwBLmOb2Dz8wRL1qhJZk0UVaSXhFTXzZVp9cE05dHeONhWE5JfPZaZvqH3QbAfw9Uc5H0rSekpvVA+5C9BZSPYEFv/wH+Y1+R/Q01kzHZJM1VILfcEPlmqLdAqU4R9DS+wv2CHyo7DqpsVVt79nB26/nBW5sTgs7KMh1jOllmBaDtggBT59juVLmSUpLhQrzL88uMMssEZDqz+l5ci6qZgGvBc0/ur1/FRkdQWdHTL58cTdlbIIe/KGcEWPkWu96FSwxwGxhy/iSnMUmWMmEHVKwQwI9B2u0gkupizZaZy/bwx727zpgrJ3RzytbKmnQSbgJQ2w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(396003)(376002)(346002)(39860400002)(451199021)(36756003)(86362001)(31696002)(478600001)(316002)(54906003)(8676002)(6486002)(66946007)(6916009)(66476007)(41300700001)(6512007)(4326008)(6506007)(26005)(53546011)(2616005)(186003)(83380400001)(31686004)(66574015)(2906002)(66556008)(8936002)(5660300002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZkhSM0lRaXBCVC93ZlVKaHJkVWRuNnhCeUNPb1BzUUd1bTgrOGIvaXFPTnBM?=
 =?utf-8?B?akp6SGV5Q3lwWCtWN0tpNGNjTWZUbTlVZGtzWW9jNVRzaXE5aDNlSXNYRThi?=
 =?utf-8?B?SEpscUFuMlQ4U2kyNkcyVFluTnphU3B5R3V4Q21NUzY0OW16eGZxUS90a1lZ?=
 =?utf-8?B?dXUxcDJIYTlZTE10YnBEenZDVmt1Z3pxajdrSnNHV0tXdnhXbGN2RDRpY1pP?=
 =?utf-8?B?azFubXhEd044UlQxRjBRbU9SSGFwUjZtY1IzZzd2K0RZRlFObEhaYU05SDIv?=
 =?utf-8?B?R0xHREZuRi8zWnErRFFQOEMyNFFEWUQ5OWVudHhVaTBHT1JKSXhVY1VpdzhZ?=
 =?utf-8?B?WThPUXl5ZkN5QXVVU04xUGNnZGppMDVrTTc3dkJuR1B5L0FVL0FoQXhSenVn?=
 =?utf-8?B?VGtqR0lkcnE2N2pIcWsvZm95OTlCeUlLU0I0THBabjVEZkEyU3FnN3I5bVMw?=
 =?utf-8?B?WEd5dldTWElPTUcrSW9QZTV3a3VVVlVOblRRVDFSaTUvWWRTUTY5d1hsWm5N?=
 =?utf-8?B?d09yS3NWVXJJUmdDMkNwTGFwdXJkWXNPMzJVZmRlZHBxS2pTczF4VlJBcXc5?=
 =?utf-8?B?UnFGOEFTZ01aN1VrK3FlTXkrM0xjZzUyVTc5SkpUT01IN0dNMlk5WFRaQXl3?=
 =?utf-8?B?VE5PaTVYUFM4NUJ3VTJmZ2hYVzZlMkdkODE5TW1XU3VvVkpDakNSQVNWaDJY?=
 =?utf-8?B?cTJkZmVUQlhBUVdFZ2hLakp0MWNiZllMMjIwWDJTMmVnN05odVpIUFJkWTFw?=
 =?utf-8?B?VVg2Y0N3ck5vekJRQ1ozYWJuZm9ielFFNDFSYmV5eEJJNXlXZHV5d2NSaWFm?=
 =?utf-8?B?K05TTXRXMis0UE9sZUk1a0swVVUvblBJWkJzRWVxV0tjN3R5b0Q0K0ZGYTVk?=
 =?utf-8?B?bitkYjhOa0t3Yzh1clQyQTBBQzFEYWhSS3BBUEpBaVQxeW9DQ0JGUXVVaHRF?=
 =?utf-8?B?ZDBucDh5YnlmMllnYkNmbU9nK25PL0hCcVoyRFJjT3BvWjQvc0ozbUJPSUJh?=
 =?utf-8?B?NTVSeXhSTk1SRlk5NUYxd1lJb2xENFFYdEJ1c0dJUURtejFMUlNSMzRVME0w?=
 =?utf-8?B?c2NkRURyNzQrbld6QWJtYWN5UXJGb1Ayb0EwK0dqUEw4ZU9IaXR3RlUxTi9z?=
 =?utf-8?B?VEoxRVV1cERrNkkyRmc2VnM2cDRzNnNyRHh4YTJ3bWhZOTk0WGVSdGsvZGh1?=
 =?utf-8?B?N3hlSUpIUHh5TEFjcVZqbVdRVjNpdnNBblp1REZKQXZKTU01UGloQWt4T2NE?=
 =?utf-8?B?L3pTbmFDcitxOC82aVFDK1dvckNQSXJidm1aekc4NDFjZ25NYTNXek9Zak9y?=
 =?utf-8?B?M1NEdHhiZW9JeW1CTVY1VDB4cEJyNFNxY2NCSnNBNTNqUWZMSTljZjhlQnJp?=
 =?utf-8?B?Szd6MzR3SkdFZG1HT0IxYjRDOTBIRmM4Z1dDRER5SG41UU9DVU9mYjdWUHlY?=
 =?utf-8?B?Z1FPaUdPVjJ4Ny9NZ085K1hOOUpwMjArNEY2NVQzK0RjN2JyaGNDbEkwQXVL?=
 =?utf-8?B?dksyTTIwdXNYektOTWdWSmp4ZVRYbGVhYzdWakppK25mWno0TGRpQjNNc20x?=
 =?utf-8?B?dGZFR0wyMmxCazhGQXA3ajB1anpOMXJtOUpCT2Z4RDZ4dkJJMVIyaUpDemhY?=
 =?utf-8?B?K3dnQTJVNVU4MzFlWXNySTkvcnlQR2ErRWZoZjZYaklVSU5jMGpDL3RMNzQw?=
 =?utf-8?B?ekpWNUtGbmVQMEZHdHFLaTlxVW1tSEhPWDFCNkVCUzhCTW12aVpGbnJOSkcr?=
 =?utf-8?B?SjNGMDdEb3JjUzlVbkQ1MmxnQmU2eWUzOE1UOVBBQXlpTDdQY3ZDQUxhbGpV?=
 =?utf-8?B?Y2VWcEFiVitGMDViVGFjekh0ai96Z0RnREh4TmExOW82V29VY3BTMElQVmFQ?=
 =?utf-8?B?cGFBMnVtMERnU3RKRGI5Uk9pYkk3b0tKQjJ4bCthWkRydC9XSzcxR01tRS85?=
 =?utf-8?B?UzdMVHovZC8zeHR6NVVaMXF2ZGZLUmNKMjdqSGlMajF0ZFFQeTBjeUNNOGVH?=
 =?utf-8?B?MUVVTDFENGFUWU5TSHdienJwY09nY21qcGpTVFN1UXk1VS9FWmxCSlBOck03?=
 =?utf-8?B?Y0FJbzlKU2Zqc2NMWUQ4ZUxZU0JMSEZMam1VdXhhL0ZuaWF3M1NUa05CYnpr?=
 =?utf-8?Q?rlPMPGSsfRiVRjvxqrZCRxKn8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a26e835a-3f22-48e0-9321-08db2f8ccd47
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 13:03:19.0181
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bJ0PlG9X3dgh2KtlYAvf0MV3EsS8AwE6/cywj/Px970mR0kCZgx3iVoP2pK744Pvu4iprUHIlmCyzeRXX+gGqw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7451

On 28.03.2023 14:52, Marek Marczykowski-Górecki wrote:
> On Tue, Mar 28, 2023 at 02:34:23PM +0200, Jan Beulich wrote:
>> On 28.03.2023 14:05, Marek Marczykowski-Górecki wrote:
>>> On Tue, Mar 28, 2023 at 01:28:44PM +0200, Roger Pau Monné wrote:
>>>> On Sat, Mar 25, 2023 at 03:49:23AM +0100, Marek Marczykowski-Górecki wrote:
>>>>> +static bool cf_check msixtbl_page_accept(
>>>>> +        const struct hvm_io_handler *handler, const ioreq_t *r)
>>>>> +{
>>>>> +    ASSERT(r->type == IOREQ_TYPE_COPY);
>>>>> +
>>>>> +    return msixtbl_page_handler_get_hwaddr(
>>>>> +            current->domain, r->addr, r->dir == IOREQ_WRITE);
>>>>
>>>> I think you want to accept it also if it's a write to the PBA, and
>>>> just drop it.  You should always pass write=false and then drop it in
>>>> msixtbl_page_write() if it falls in the PBA region (but still return
>>>> X86EMUL_OKAY).
>>>
>>> I don't want to interfere with msixtbl_mmio_page_ops, this handler is
>>> only about accesses not hitting actual MSI-X structures.
>>
>> In his functionally similar vPCI change I did ask Roger to handle the
>> "extra" space right from the same handlers. Maybe that's going to be
>> best here, too.
> 
> I have considered this option, but msixtbl_range() is already quite
> complex, adding yet another case there won't make it easier to follow.

Do you care about the case of msixtbl_addr_to_desc() returning NULL at
all for the purpose you have? Like in Roger's patch I'd assume
msixtbl_find_entry() needs extending what ranges it accepts; if need
be another parameter may be added to cover cases where the extended
coverage isn't wanted.

> I mean, technically I can probably merge those two handlers together,
> but I don't think it will result in nicer code. Especially since the
> general direction is to abandon split of MSI-X table access handling
> between Xen and QEMU and go with just QEMU doing it, hopefully at some
> point not needing msixtbl_mmio_ops anymore (but still needing the one
> for adjacent accesses).

Hmm, at this point I'm not convinced of this plan. Instead I was hoping
that once vPCI properly supports PVH DomU-s, we may also be able to make
use of it for HVM, delegating less to qemu rather than more.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:04:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:04:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515793.798969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph909-0003dS-CY; Tue, 28 Mar 2023 13:04:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515793.798969; Tue, 28 Mar 2023 13:04:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph909-0003dL-9c; Tue, 28 Mar 2023 13:04:37 +0000
Received: by outflank-mailman (input) for mailman id 515793;
 Tue, 28 Mar 2023 13:04: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=B75i=7U=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1ph907-0003dB-Ah
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:04:35 +0000
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 153fb636-cd69-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 15:04:34 +0200 (CEST)
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id AED355C00AE;
 Tue, 28 Mar 2023 09:04:32 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute4.internal (MEProxy); Tue, 28 Mar 2023 09:04:32 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 28 Mar 2023 09:04:31 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 153fb636-cd69-11ed-85db-49a42c6b2330
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=fm2; t=
	1680008672; x=1680095072; bh=pL0tLrc9qM4OsGACRy2e5LYzD34JTezhh9/
	AUatTcTg=; b=k8Z4pm1s/MV7EX4yG/c7iIUuzZOrMnuW/zO75he9eFa96AbMMdc
	904+H1wHIZym6tGIaenIhuwPN1LA7Y0YckBYyi+gS7ndXYeBgdwS85rCcW20c3SJ
	k/gDr+yY+uq94TU5AGjyJ/m05QzTdGY1cKqboCqWHJMlrilgDmgodu5ag/YC18HS
	1Z6pT//dtVHrNyek5rCi+/eGqZSRLWWRMd7XkyDzAsk/79pDMuDZH+P557okhSPk
	p4Muy+JLarSVHRmV1I2eXxz01iABt+SzuGFrgC0D6LBxgZAcZWUlDux1fLiivh3H
	Qp2UAA6+zbBfYNDjszEP2t+5KqqUYsgVshg==
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=fm2; t=1680008672; x=1680095072; bh=pL0tLrc9qM4Os
	GACRy2e5LYzD34JTezhh9/AUatTcTg=; b=ZbcJkeUjwgXcUo7frujIpjg3uQNSm
	JjiVkQ1Gp8s61sVNtgOHYI+4hLMiqUBo8DxeiwsJVGzZoxC3xpJX9/PevtkEcXgo
	syMijTkjSIjzdOzHdXpi5tYmXyEefGmEzuAzSdrSCU4q9viG208gDh7rj3AXUjMs
	I/c947cJeF2+5p0c4XFwKHkzOMKKtwXVBTMEm3n8L59COiInM9wEVQePpweSMjhu
	0Dw1eywo+JLRI970ypVMvNpMppKxKu+EY1Sog6vRlZ8vhR7s58wwAQtpnWRdRQA3
	oPm23HkrMJN7c3EU5VAa1JtS5835exSN/4PV4+Dl7Wzl3oagEp8PTNiBQ==
X-ME-Sender: <xms:4OUiZHfPek84W-55uAJZT46o5_8yoQI_5a6DyPw5NueIKMALZu9rTg>
    <xme:4OUiZNNbWeniZkQxncTfk_IaLPOELVYdSPgKQyZW6bPLAPTyxULbJ0zNpw_Th_fUa
    OsAeQIkhDQVOA>
X-ME-Received: <xmr:4OUiZAgDcDs5viQaicLOlso-uPkQ4Vx9lPaNVi9JkNLL8yJ3Uy8hXIM4BOyRLo_eAqHcOG5MREFVTSNhG8K6YCQXDhCNcpuMhmM>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehgedgheelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:4OUiZI_mrfFktsxx-GoZyWv13k3l6WOcDwUkRyQP_ZSss1S8D2cQAg>
    <xmx:4OUiZDtpR-5zfmq4oJW_t33Tkurx1ZYrk_pcr1YrenES5sDHS06VeA>
    <xmx:4OUiZHFsPUp7J3RjCijDK1RSLA0LwPHxV9RM91QMEC1f_cLrm03p3g>
    <xmx:4OUiZM5C4qh9grm1UdM_h0i_jQBfubhNKXuO10PJ-bepyEa_gHhsbA>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 28 Mar 2023 15:04:28 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Jason Andryuk <jandryuk@gmail.com>, Paul Durrant <paul@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
Message-ID: <ZCLl3ePLgrmFTViV@mail-itl>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com>
 <5cfcfb7a-df50-fbe4-89e6-611a83991790@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="2FN9AqTqpoC1MuGg"
Content-Disposition: inline
In-Reply-To: <5cfcfb7a-df50-fbe4-89e6-611a83991790@suse.com>


--2FN9AqTqpoC1MuGg
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 28 Mar 2023 15:04:28 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Jason Andryuk <jandryuk@gmail.com>, Paul Durrant <paul@xen.org>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot

On Tue, Mar 28, 2023 at 02:54:38PM +0200, Jan Beulich wrote:
> On 25.03.2023 03:49, Marek Marczykowski-G=C3=B3recki wrote:
> > Some firmware/devices are found to not reset MSI-X properly, leaving
> > MASKALL set. Xen relies on initial state being both disabled.
> > Especially, pci_reset_msix_state() assumes if MASKALL is set, it was Xen
> > setting it due to msix->host_maskall or msix->guest_maskall. Clearing
> > just MASKALL might be unsafe if ENABLE is set, so clear them both.
>=20
> But pci_reset_msix_state() comes into play only when assigning a device
> to a DomU. If the tool stack doing a reset doesn't properly clear the
> bit, how would it be cleared the next time round (i.e. after the guest
> stopped and then possibly was started again)? It feels like the issue
> wants dealing with elsewhere, possibly in the tool stack.

I may be misremembering some details, but AFAIR Xen intercepts
toolstack's (or more generally: accesses from dom0) attempt to clean
this up and once it enters an inconsistent state (or rather: starts with
such at the start of the day), there was no way to clean it up.

I have considered changing pci_reset_msix_state() to not choke on
MASKALL being set, but I'm a bit afraid of doing it, as there it seems
there is a lot of assumptions all over the place and I may miss some.

>=20
> > --- a/xen/drivers/passthrough/msi.c
> > +++ b/xen/drivers/passthrough/msi.c
> > @@ -48,6 +48,13 @@ int pdev_msi_init(struct pci_dev *pdev)
> >          ctrl =3D pci_conf_read16(pdev->sbdf, msix_control_reg(pos));
> >          msix->nr_entries =3D msix_table_size(ctrl);
> > =20
> > +        /*
> > +         * Clear both ENABLE and MASKALL, pci_reset_msix_state() relie=
s on this
> > +         * initial state.
> > +         */
>=20
> Please can comments be accurate at least at the time of writing?
> pci_reset_msix_state() doesn't care about ENABLE at all.
>=20
> Jan

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--2FN9AqTqpoC1MuGg
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQi5dwACgkQ24/THMrX
1yy2qwf+O7LltHLiXvyHxdz07WNEGXP6yOXyDd/KS1xmYHxklWaswAT31cwVROsF
Pez5/dyhaV61leAvJ7Y2DIIKXUWh+9/0hW3jXnGqhbTHolaqcxb40OhBmF2qjOoe
MAqQuVjAvXku5wxEqRYIukrehP0gEsU4D7qWZJGpdj+Xd5bkXiK8D6gPu2gtYoCx
Ov6GuMEc0dDrVwNLKWZtwhQ8BYHqSvpU6KFQok2jqUp2MDVxjGdaQ8UojDaZm/gg
X5foNfgSPVJIT05BeHjMMOsIwswlkVXsyEQ3qtwUdwxiUkRr/Oj+214yn0NJlR9u
tGdPmlAjgiTelxeWmKABAUxHjL+uVQ==
=NG7A
-----END PGP SIGNATURE-----

--2FN9AqTqpoC1MuGg--


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:11:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:11:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515800.798979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph96I-0005Gl-4V; Tue, 28 Mar 2023 13:10:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515800.798979; Tue, 28 Mar 2023 13:10:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph96I-0005Ge-1S; Tue, 28 Mar 2023 13:10:58 +0000
Received: by outflank-mailman (input) for mailman id 515800;
 Tue, 28 Mar 2023 13:10: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=WLKu=7U=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ph96H-0005GX-Da
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:10: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 f9a02d2f-cd69-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 15:10:56 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C97D51F8B8;
 Tue, 28 Mar 2023 13:10: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 38C4F1390D;
 Tue, 28 Mar 2023 13:10:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Hvl+DF/nImQ1TQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 28 Mar 2023 13:10: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: f9a02d2f-cd69-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680009055; 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=Nw57r4ThzP515ds3lDpYM7Hl3NRvlAaDQvtIsIkfIz8=;
	b=U8xR4NYPd2oP+KbbTf12uNbuGqeSVqFfLMHH0GBM/KMkNT3J5snWac7d4OGQTjxYnVFdPQ
	RbPIwQRUfohMt2xNvpyu01g7plm7JWEbOl+56ODRgJkUR0QROehYIJ6SiuguGF05Xwdqu1
	GKSMTzHmwsnosUyZOYm29qhE/zMEgVw=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	xen-devel@lists.xenproject.org,
	stable@vger.kernel.org
Subject: [PATCH v2 0/3] xen/netback: fix issue introduced recently
Date: Tue, 28 Mar 2023 15:10:44 +0200
Message-Id: <20230328131047.2440-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The fix for XSA-423 introduced a bug which resulted in loss of network
connection in some configurations.

The first patch is fixing the issue, while the second one is removing
a test which isn't needed. The third patch is making error messages
more uniform.

Changes in V2:
- add patch 3
- comment addressed (patch 1)


Juergen Gross (3):
  xen/netback: don't do grant copy across page boundary
  xen/netback: remove not needed test in xenvif_tx_build_gops()
  xen/netback: use same error messages for same errors

 drivers/net/xen-netback/common.h  |  2 +-
 drivers/net/xen-netback/netback.c | 37 ++++++++++++++++++++++---------
 2 files changed, 28 insertions(+), 11 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:13:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:13:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515803.798989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph98G-0005p9-Go; Tue, 28 Mar 2023 13:13:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515803.798989; Tue, 28 Mar 2023 13:13: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 1ph98G-0005p2-EA; Tue, 28 Mar 2023 13:13:00 +0000
Received: by outflank-mailman (input) for mailman id 515803;
 Tue, 28 Mar 2023 13: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=WLKu=7U=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ph98F-0005os-2X
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:12: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 41801ebf-cd6a-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 15:12:56 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id A0B271FD68;
 Tue, 28 Mar 2023 13:12: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 465211390D;
 Tue, 28 Mar 2023 13:12:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 1mr0D9jnImQvTgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 28 Mar 2023 13:12: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: 41801ebf-cd6a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680009176; 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=GRtiw58QBwYt1y2vIyrV4Ht9sSLlbTNKn/D5VG5kP7Q=;
	b=T8dWjekjuCeQuXPswXPubpp/ASd5SY0NYnRBczh42+aTdCelOiFWCymfpmrRbED+E+Tc08
	j1Juj+Ph6kGm1D58BaiYC5r8FLnV8X8Yp2pRbjEy91XLbE6A84OfTp95bz/xioUXHglBy9
	ivSyG2ZAVS4xp+CvmysQeiDShu/Nnfo=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	xen-devel@lists.xenproject.org,
	stable@vger.kernel.org
Subject: [PATCH v2 1/3] xen/netback: don't do grant copy across page boundary
Date: Tue, 28 Mar 2023 15:12:31 +0200
Message-Id: <20230328131233.2534-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230328131047.2440-1-jgross@suse.com>
References: <20230328131047.2440-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Fix xenvif_get_requests() not to do grant copy operations across local
page boundaries. This requires to double the maximum number of copy
operations per queue, as each copy could now be split into 2.

Make sure that struct xenvif_tx_cb doesn't grow too large.

Cc: stable@vger.kernel.org
Fixes: ad7f402ae4f4 ("xen/netback: Ensure protocol headers don't fall in the non-linear area")
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Paul Durrant <paul@xen.org>
---
V2:
- add another BUILD_BUG_ON() (Jan Beulich)
---
 drivers/net/xen-netback/common.h  |  2 +-
 drivers/net/xen-netback/netback.c | 27 +++++++++++++++++++++++++--
 2 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/drivers/net/xen-netback/common.h b/drivers/net/xen-netback/common.h
index 3dbfc8a6924e..1fcbd83f7ff2 100644
--- a/drivers/net/xen-netback/common.h
+++ b/drivers/net/xen-netback/common.h
@@ -166,7 +166,7 @@ struct xenvif_queue { /* Per-queue data for xenvif */
 	struct pending_tx_info pending_tx_info[MAX_PENDING_REQS];
 	grant_handle_t grant_tx_handle[MAX_PENDING_REQS];
 
-	struct gnttab_copy tx_copy_ops[MAX_PENDING_REQS];
+	struct gnttab_copy tx_copy_ops[2 * MAX_PENDING_REQS];
 	struct gnttab_map_grant_ref tx_map_ops[MAX_PENDING_REQS];
 	struct gnttab_unmap_grant_ref tx_unmap_ops[MAX_PENDING_REQS];
 	/* passed to gnttab_[un]map_refs with pages under (un)mapping */
diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 1b42676ca141..54c76af90233 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -334,6 +334,7 @@ static int xenvif_count_requests(struct xenvif_queue *queue,
 struct xenvif_tx_cb {
 	u16 copy_pending_idx[XEN_NETBK_LEGACY_SLOTS_MAX + 1];
 	u8 copy_count;
+	u32 split_mask;
 };
 
 #define XENVIF_TX_CB(skb) ((struct xenvif_tx_cb *)(skb)->cb)
@@ -361,6 +362,10 @@ static inline struct sk_buff *xenvif_alloc_skb(unsigned int size)
 	struct sk_buff *skb =
 		alloc_skb(size + NET_SKB_PAD + NET_IP_ALIGN,
 			  GFP_ATOMIC | __GFP_NOWARN);
+
+	BUILD_BUG_ON(sizeof(*XENVIF_TX_CB(skb)) > sizeof(skb->cb));
+	BUILD_BUG_ON(sizeof(XENVIF_TX_CB(skb)->split_mask) * 8 <
+		     ARRAY_SIZE(XENVIF_TX_CB(skb)->copy_pending_idx));
 	if (unlikely(skb == NULL))
 		return NULL;
 
@@ -396,11 +401,13 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
 	nr_slots = shinfo->nr_frags + 1;
 
 	copy_count(skb) = 0;
+	XENVIF_TX_CB(skb)->split_mask = 0;
 
 	/* Create copy ops for exactly data_len bytes into the skb head. */
 	__skb_put(skb, data_len);
 	while (data_len > 0) {
 		int amount = data_len > txp->size ? txp->size : data_len;
+		bool split = false;
 
 		cop->source.u.ref = txp->gref;
 		cop->source.domid = queue->vif->domid;
@@ -413,6 +420,13 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
 		cop->dest.u.gmfn = virt_to_gfn(skb->data + skb_headlen(skb)
 				               - data_len);
 
+		/* Don't cross local page boundary! */
+		if (cop->dest.offset + amount > XEN_PAGE_SIZE) {
+			amount = XEN_PAGE_SIZE - cop->dest.offset;
+			XENVIF_TX_CB(skb)->split_mask |= 1U << copy_count(skb);
+			split = true;
+		}
+
 		cop->len = amount;
 		cop->flags = GNTCOPY_source_gref;
 
@@ -420,7 +434,8 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
 		pending_idx = queue->pending_ring[index];
 		callback_param(queue, pending_idx).ctx = NULL;
 		copy_pending_idx(skb, copy_count(skb)) = pending_idx;
-		copy_count(skb)++;
+		if (!split)
+			copy_count(skb)++;
 
 		cop++;
 		data_len -= amount;
@@ -441,7 +456,8 @@ static void xenvif_get_requests(struct xenvif_queue *queue,
 			nr_slots--;
 		} else {
 			/* The copy op partially covered the tx_request.
-			 * The remainder will be mapped.
+			 * The remainder will be mapped or copied in the next
+			 * iteration.
 			 */
 			txp->offset += amount;
 			txp->size -= amount;
@@ -539,6 +555,13 @@ static int xenvif_tx_check_gop(struct xenvif_queue *queue,
 		pending_idx = copy_pending_idx(skb, i);
 
 		newerr = (*gopp_copy)->status;
+
+		/* Split copies need to be handled together. */
+		if (XENVIF_TX_CB(skb)->split_mask & (1U << i)) {
+			(*gopp_copy)++;
+			if (!newerr)
+				newerr = (*gopp_copy)->status;
+		}
 		if (likely(!newerr)) {
 			/* The first frag might still have this slot mapped */
 			if (i < copy_count(skb) - 1 || !sharedslot)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:13:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:13:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515804.799000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph98L-00066J-PB; Tue, 28 Mar 2023 13:13:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515804.799000; Tue, 28 Mar 2023 13:13:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph98L-00066A-La; Tue, 28 Mar 2023 13:13:05 +0000
Received: by outflank-mailman (input) for mailman id 515804;
 Tue, 28 Mar 2023 13:13:04 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=WLKu=7U=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ph98K-0005os-Mx
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:13:04 +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 4538cd1e-cd6a-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 15:13:03 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E146221A25;
 Tue, 28 Mar 2023 13:13: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 98ADC1390D;
 Tue, 28 Mar 2023 13:13:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id bIYXJN7nImRBTgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 28 Mar 2023 13:13: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: 4538cd1e-cd6a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680009182; 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=YW7EQFAaSbV1XiZ+rWOC33Mh7NdDO+nn7h2JPqjxGsU=;
	b=O/kjrp9uwhaX0UHcxnMEsib0oNTmVBstScUxSKkHjVOFyAM6ud1RCyuekMkZ36jQpPD1ZR
	DM6toj/Ixa4HrtnnqRELqKdV5fzFX7Xh5gXJKbQgznCMyUK/eCvzYBpBmemN5d0MS02eho
	LyrmFwNOmbYVjCPAQEH2c0kPLjUJMZE=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	xen-devel@lists.xenproject.org,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 2/3] xen/netback: remove not needed test in xenvif_tx_build_gops()
Date: Tue, 28 Mar 2023 15:12:32 +0200
Message-Id: <20230328131233.2534-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230328131047.2440-1-jgross@suse.com>
References: <20230328131047.2440-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The tests for the number of grant mapping or copy operations reaching
the array size of the operations buffer at the end of the main loop in
xenvif_tx_build_gops() isn't needed.

The loop can handle at maximum MAX_PENDING_REQS transfer requests, as
XEN_RING_NR_UNCONSUMED_REQUESTS() is taking unsent responses into
consideration, too.

Remove the tests.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 drivers/net/xen-netback/netback.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 54c76af90233..9ca4b69d3b39 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -1084,10 +1084,6 @@ static void xenvif_tx_build_gops(struct xenvif_queue *queue,
 		__skb_queue_tail(&queue->tx_queue, skb);
 
 		queue->tx.req_cons = idx;
-
-		if ((*map_ops >= ARRAY_SIZE(queue->tx_map_ops)) ||
-		    (*copy_ops >= ARRAY_SIZE(queue->tx_copy_ops)))
-			break;
 	}
 
 	return;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:13:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:13:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515805.799010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph98T-0006RD-1m; Tue, 28 Mar 2023 13:13:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515805.799010; Tue, 28 Mar 2023 13: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 1ph98S-0006R0-VF; Tue, 28 Mar 2023 13:13:12 +0000
Received: by outflank-mailman (input) for mailman id 515805;
 Tue, 28 Mar 2023 13:13: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=WLKu=7U=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1ph98Q-0005os-Ue
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:13:10 +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 48f0a444-cd6a-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 15:13:09 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 26F491FD68;
 Tue, 28 Mar 2023 13:13: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 CEEE21390D;
 Tue, 28 Mar 2023 13:13:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 5g83MeTnImRMTgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 28 Mar 2023 13:13: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: 48f0a444-cd6a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680009189; 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=e6vgelWHY1ROLaWG0osSVVXd0iuJBGBZOPQEJcLJre4=;
	b=LFdM3W5zZdqeRLZgZr7qTz4F8ur5guOoVem4nRZ5tsOfJdaBCOsiQzafNzRFzubTv7yfyb
	feDgbHO21RGAggkFmlAu9qVgUNQwRwRcMSErkykvTj3OpSc/KPkMlv24EVnN1IiuN5l4HP
	lBHqk0bOEMYvh57nwqVONSIthXtdbiA=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	xen-devel@lists.xenproject.org,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 3/3] xen/netback: use same error messages for same errors
Date: Tue, 28 Mar 2023 15:12:33 +0200
Message-Id: <20230328131233.2534-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230328131047.2440-1-jgross@suse.com>
References: <20230328131047.2440-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Issue the same error message in case an illegal page boundary crossing
has been detected in both cases where this is tested.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 drivers/net/xen-netback/netback.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 9ca4b69d3b39..5dfdec44354a 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -996,10 +996,8 @@ static void xenvif_tx_build_gops(struct xenvif_queue *queue,
 
 		/* No crossing a page as the payload mustn't fragment. */
 		if (unlikely((txreq.offset + txreq.size) > XEN_PAGE_SIZE)) {
-			netdev_err(queue->vif->dev,
-				   "txreq.offset: %u, size: %u, end: %lu\n",
-				   txreq.offset, txreq.size,
-				   (unsigned long)(txreq.offset&~XEN_PAGE_MASK) + txreq.size);
+			netdev_err(queue->vif->dev, "Cross page boundary, txp->offset: %u, size: %u\n",
+				   txreq.offset, txreq.size);
 			xenvif_fatal_tx_err(queue->vif);
 			break;
 		}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:18:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:18:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515812.799019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9DE-0007Y2-J9; Tue, 28 Mar 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 515812.799019; Tue, 28 Mar 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 1ph9DE-0007Xv-GV; Tue, 28 Mar 2023 13:18:08 +0000
Received: by outflank-mailman (input) for mailman id 515812;
 Tue, 28 Mar 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=IY7/=7U=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1ph9DD-0007Xp-6U
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:18:07 +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 f85ddb38-cd6a-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 15:18:03 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id ew6so49532001edb.7
 for <xen-devel@lists.xenproject.org>; Tue, 28 Mar 2023 06:18:03 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f85ddb38-cd6a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680009483;
        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=LhT+ZhphlbdeUESsSSgGWxwo5/1pHAMO/rIl/XZvRVQ=;
        b=oEpjkZ+B3up9MPdlF02zEwh027XzlHFpQgS7gGDuP2kiIvBfmJaMeaQtsGuxo4pas+
         6qbl+rGyaeIyl9waibTijT45S79OfcBEogpvP3rgeJDYdEHa3Su6v0CXpZfrr80wA5Ff
         PN/KXVOXKNzxoO9Dek4YYJcprRi+qQNs2xbx7zWoiE0et9f6MKzqx9SCy3p88U7lTXok
         ki+5sHyuo+DzluGKgi3LFwqhTotG8lQHfkRb3fmtTfa/xec5xhNmG21rzjV/H4vadkzJ
         y5PNS8iCZwP7k8jFo8IAQQVbQf2SvIP8zN5iuVGLzODygzXDjG5REopq3JzY7wdn3wBC
         ohnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680009483;
        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=LhT+ZhphlbdeUESsSSgGWxwo5/1pHAMO/rIl/XZvRVQ=;
        b=juHUsrfggs1Q3eeQRDyj6jZkLzTdhclFsS8mCXL434l5lM9qYnZJgSO/GK3gqq4pjx
         hfdfjMu6ZQGk6BqjA2a3oDDqxAG4OpNbSFXK8DfTROVExEguv0CyuUcML4Jr6X9n/VfN
         x4iVAsTLFWroREQKaOQ//6ZsLTHmZuEHki03IDjBTQoTk4vFRtHWk+DMAm3/1yADgiRq
         McJk+6YJE6BjwZqsk+RYiOJpXcVFjG2kwRqQx46M1EhW0dIBJrGY8tD3CuDPaLjV8rOI
         DYiQsoAkjVQKqv93Cn6oDMszR1kyZFCdJUFa+pyD4IrFEi2UyDzFBz6WWIT2/NYdUpRG
         1E4w==
X-Gm-Message-State: AAQBX9dpIRWnK1hLwoC44idxcKnRqEVHfn2w/7H0hUzr2Gqlzgvr3Hl1
	ur9jRLWsSVWn6FsBkVhh8VIb2tqe8kxR2kb6GMA=
X-Google-Smtp-Source: AKy350adxhMxYXEULKXAdAsCgMBdNursG8/RisqS74DQxotcbMeFYnuEp+Jh80j8UoVOJMahHsY2etrIZbgy0F+5P74=
X-Received: by 2002:a17:906:ee8b:b0:93e:739f:b0b8 with SMTP id
 wt11-20020a170906ee8b00b0093e739fb0b8mr6628491ejb.3.1680009482936; Tue, 28
 Mar 2023 06:18:02 -0700 (PDT)
MIME-Version: 1.0
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com> <5cfcfb7a-df50-fbe4-89e6-611a83991790@suse.com>
 <ZCLl3ePLgrmFTViV@mail-itl>
In-Reply-To: <ZCLl3ePLgrmFTViV@mail-itl>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 28 Mar 2023 09:17:50 -0400
Message-ID: <CAKf6xpto87QRSKT2qc1yApNfaw2SrLLxPoytYJv_jEbYTAbjCg@mail.gmail.com>
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
To: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 28, 2023 at 9:04=E2=80=AFAM Marek Marczykowski-G=C3=B3recki
<marmarek@invisiblethingslab.com> wrote:
>
> On Tue, Mar 28, 2023 at 02:54:38PM +0200, Jan Beulich wrote:
> > On 25.03.2023 03:49, Marek Marczykowski-G=C3=B3recki wrote:
> > > Some firmware/devices are found to not reset MSI-X properly, leaving
> > > MASKALL set. Xen relies on initial state being both disabled.
> > > Especially, pci_reset_msix_state() assumes if MASKALL is set, it was =
Xen
> > > setting it due to msix->host_maskall or msix->guest_maskall. Clearing
> > > just MASKALL might be unsafe if ENABLE is set, so clear them both.
> >
> > But pci_reset_msix_state() comes into play only when assigning a device
> > to a DomU. If the tool stack doing a reset doesn't properly clear the
> > bit, how would it be cleared the next time round (i.e. after the guest
> > stopped and then possibly was started again)? It feels like the issue
> > wants dealing with elsewhere, possibly in the tool stack.
>
> I may be misremembering some details, but AFAIR Xen intercepts
> toolstack's (or more generally: accesses from dom0) attempt to clean
> this up and once it enters an inconsistent state (or rather: starts with
> such at the start of the day), there was no way to clean it up.
>
> I have considered changing pci_reset_msix_state() to not choke on
> MASKALL being set, but I'm a bit afraid of doing it, as there it seems
> there is a lot of assumptions all over the place and I may miss some.

Hi, Marek and Jan,

Marek, thank you for working on MSI-X support.

As Jan says, the clearing here works during system boot.  However, I
have found that Xen itself is setting MASKALL in __pci_disable_msix()
when shutting down a domU.  When that is called, memory_decoded(dev)
returns false, and Xen prints "cannot disable IRQ 137: masking MSI-X
on 0000:00:14.3".  That makes the device unavailable for subsequent
domU assignment.  I haven't investigated where and why memory decoding
gets disabled for the device.

Testing was with this v2 patchset integrated into OpenXT w/ Xen 4.16.
We have some device reset changes, so I'll have to look at them again.
Hmmm, they move the libxl device reseting from pci_remove_detached()
to libxl__destroy_domid() to ensure all devices are de-assign after
the domain is destroyed.  A kernel patch implements a "more thorough
reset" which could do a slot or bus level reset, and the desire is to
have all devices deassigned before that.  Maybe the shift later is
throwing off Xen's expectations?

As Marek says, the MASKALL handling seems tricky.  Xen seems to use it
to ensure there are no interrupts, so clearing it makes one worry
about breaking something else.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:23:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:23:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515815.799029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9I0-0000cO-63; Tue, 28 Mar 2023 13:23:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515815.799029; Tue, 28 Mar 2023 13: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 1ph9I0-0000cH-2N; Tue, 28 Mar 2023 13:23:04 +0000
Received: by outflank-mailman (input) for mailman id 515815;
 Tue, 28 Mar 2023 13:23: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=0K3v=7U=citrix.com=prvs=4442f050c=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ph9Hy-0000cB-Ny
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:23:02 +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 a87f485b-cd6b-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 15:23:00 +0200 (CEST)
Received: from mail-co1nam11lp2172.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 09:22:57 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB6637.namprd03.prod.outlook.com (2603:10b6:510:b1::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 13:22:54 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Tue, 28 Mar 2023
 13:22:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a87f485b-cd6b-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680009781;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=7JEMnRv8lLCcEes8n2e9KS7VjZpNSRUCLUTRfjbxccE=;
  b=Amp7DHrBJazJC1hKQDyapiFdOcDEMkUEmRMeC+PBNQfpHXIaMpTF8L9J
   7vSsF2GET1CWPjaPpsAYyN6qOzHAkx009Y95gGVODzWjFBwRrknnuurNP
   +BulONCifLmQCC9sDCOgmDfcTgJZ4I++1xtPx34huKE63OL0fP2Wdmdda
   0=;
X-IronPort-RemoteIP: 104.47.56.172
X-IronPort-MID: 103368707
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:1r42YaBotccTMxVW//Tiw5YqxClBgxIJ4kV8jS/XYbTApDMr1DUOx
 jEZXTuBP/bfNGX8fNsnaY7lo0lT65OAmIVmQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhC7gRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwvcVUGl5gy
 qQhcCEWYiGso8+8mqqSRbw57igjBJGD0II3nFhFlGicJtF/BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI++xuvDK7IA9ZidABNPLPfdOHX4NNl1uwr
 WPa5WXpRBodMbRzzBLcqin32L+QxXyTtIQ6CK+708V7vEyp3WkaUgY0WAC9nb6UhRvrMz5YA
 wlOksY0loAw/kG2Stj2XzWjvWWJ+BUbXrJ4FuQg7QiXx6n84gCHB3MFRDpMdNwnssAtQTUgk
 FSOmrvBFTFp9bGYV3+Z3rOVti+pfzgYK3cYYi0JRhdD5MPsyKkxhxTDVMd+E4a6i9T0HXf7x
 DXihDc6r6Uei4gMzarTwLzcqzelp5yMRQls4AzSBzuh9lkgO9TjYJG041/G6/oGNJyeUlSKo
 HkDnY6Z8fwKCpaO0ieKRY3hAY2U2hpMCxWE6XYHInXr32jFF6KLFWyI3AxDGQ==
IronPort-HdrOrdr: A9a23:GuO4wKzKqJliJO31kX2mKrPw671zdoMgy1knxilNoRw8SL3/qy
 nOppQmPHrP4wr5N0tApTntAtjkfZq+z+8N3WByB8bbYOCOggLBQ+9fBOPZskbd8kbFh4pgPM
 lbAs9DIey1IGJWyeDdy2CDf+rIxuPszImYwd3z9TNGayZES49d1C9FKiC9VndbeWB9dPkEPa
 vZ6cpDqyChangMB/7XOlAOQ/LfodnGj7LKCCR2ZSIa1A==
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="103368707"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fvCi9MucQOEY3Xy+rZUtXmwZ3/gQu2Pu4pdlaS7m3UrFs385x0ajck2Zj1nDtHgbBGG3vbi4XOGhAYwlKEu0kHCi8am3tM2Ij+d/CROz1qdtZf72F1/MDM9pXySK/uX+QjAINzMFff1WR/XqYj7EDzUk4XlMgReP7LcMj6XGkm/QxS/ey0TY1YOenFIvzphjHE8cduwAo3u0C7KVjy/PVTPNDUicHGziAOxbNFar4naJW7GAUWZhHXbjFjgna7GDlUQ6QpyBP5VsdtLm4BsB7wbRMSpHU+L8MO9Mi5bkSHMKrHbii5UWL0rZ5l+aWX/B67iO8PU8u/63a8BXnEa7NA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PvwZQFNm3krwZa3ZBV3aRjMuKVLtmA27XLmbnyNHIo8=;
 b=g+9J1GfSZP4904bWkS/AprJzZJMWzIjya5Pu3pT2Y9l9i39nm8DQ1Z8+GmaT02rjz/AOwojR9bKMHmDmQxmxQd5eG6lni3Jsh0jc+Zm0N0Acemv9UuOO2KDurvmIWJdYWR0KbKCxFRkIw1YQJujjuolWkprhl4sJdkh73mmuAwd5rsTG8TJFoW3Fct73jqu8kNv2wRw4AydV1DH5JHkzH4w5epNXZGxzAJGHfSNnX9Vo+3sGbkNR79EMOpIuXEMPfLSvo5Nz+C6YSOZRAMVxFALHB7LXL8s40M/PUxheHkoY1Ptc83u8fKeO0lZ/PnKFYwkIYZGtJWtj3hX3fO4X8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PvwZQFNm3krwZa3ZBV3aRjMuKVLtmA27XLmbnyNHIo8=;
 b=CD22hmquJN2sTdXaxgVdMs57Co8hGV87z849WNV9TRC6ALXDo5VpD/6mEuraMuMdXcLw3m/7VaNZkh2aRTB0Tsux1HPN7/AMEys+Wg+wQaabcok9mgTlP00hJ4aGrczspLMmZqhEJbzqpXZEJvOaAoB2n6h7terkEuKdc/CIUtU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 28 Mar 2023 15:22:48 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	xen-devel@lists.xenproject.org, Jason Andryuk <jandryuk@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2 2/3] x86/hvm: Allow writes to registers on the same
 page as MSI-X table
Message-ID: <ZCLqKGURR1QJgROK@Air-de-Roger>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-2-marmarek@invisiblethingslab.com>
 <ZCLNQGXvUBxZbIGS@Air-de-Roger>
 <ZCLX1qD/FmbF5ulu@mail-itl>
 <540906f7-4543-9d01-2b2b-a3bd70eda74b@suse.com>
 <ZCLjGhbzGD2jykT9@mail-itl>
 <9eb7b538-4074-4b15-4ea2-67d9cc0bf85d@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9eb7b538-4074-4b15-4ea2-67d9cc0bf85d@suse.com>
X-ClientProxiedBy: LO2P265CA0061.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:60::25) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB6637:EE_
X-MS-Office365-Filtering-Correlation-Id: 839d0d04-30c5-49eb-0a0d-08db2f8f89d1
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6plcK2X2rSwg2RJONhEixk7PvkmLASt1QsTLbLmnKFwzKVp5WZQOd9BDckr1a8Jf812GN9ciQ/hDjSdDELxID0vxHo3DzU7VdmnvWoMq7X3KVByXxJkY40iJWyht+KcODZs7ztRmbruyRna1t5E2240KuqBZL1OUJURUGCaRNUJEENuE7WHnkM9++3gm0nO+W9jMd0+bL3KKSE8RoEIdAkS6cNcuuWXFWRSbDFfQVYsUgS33tS7Gl+riHY0Czvn715OQDOV9ZT3O1DHuEsLutQ5/z8TovA6ZzFN+U8ZNStjA4k99ER0Bk9+iGwhejinyTJVLBcp3e7SGkvUUYvLnY9Fzuw7/KE7yYLZbsbznmRzT1GtLxKZSAtSi2JxTwoBIN4DKBzurhjEORJqv3vcDcvUZtBlK1lGNdG9y3DtuhtxzFjOjIX6/Yh0flEbqX0bqmN6kAi3oaB6n1ZYjBqJAqlFyBQNyD8+BlQ+N/xQq0pueIV1Ea1la4UYXkzihvixaI4VkdJE63MfvXikeAvnP+6JFvoC56uHiAX5D1M5Ip8MkWrSJxSn6fZpCdPmanCZT
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(39860400002)(396003)(136003)(376002)(366004)(346002)(451199021)(6666004)(26005)(6506007)(9686003)(6512007)(53546011)(6486002)(6916009)(478600001)(316002)(54906003)(186003)(66574015)(83380400001)(66556008)(66476007)(66946007)(8676002)(41300700001)(8936002)(4326008)(5660300002)(2906002)(82960400001)(38100700002)(86362001)(33716001)(85182001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y2RIeUJiTmp2WDlUZWkzWm9ISUNEZzZ2WG5FNmErSldzRDU5WHlqQmZRNFZw?=
 =?utf-8?B?WEY4N0VkYS9odUs5Y2h0V2NTK290by9RNVhDTmxoeXZybzZlWjFIVXlNbUZW?=
 =?utf-8?B?RDVyQndodFgwUVgwVmVvVUtjeGlESHVVU3dHczRuekJQZFpPdEpQZlBtK3RM?=
 =?utf-8?B?Umg5N0ZNYktRUFJ4bEdHanZCTk14ZUdzNVVLSjM0bmx1eHR6M0tqUFJkUzVq?=
 =?utf-8?B?RS9kTk9NMnJlNDB0elJUdzg1OVFWSU9mVEp3U0FDWm1TeW4rRG5iMFlwTnBP?=
 =?utf-8?B?S05QL0h3TUZBaWR4TnRnTGFOUmFGd0hQc1l3YWh3b3NKY3FERXVlT0x5WmtM?=
 =?utf-8?B?M2QrcFJNN2hEeHM4azJlY3ZvZHIxWW1tYjFtUXFVWG1zT1ZNUWwzUEhiT3Ay?=
 =?utf-8?B?WWZ0eUxUMnNPcnk2Y0VRc0R2RTVXNDh3a0EvUC9hQlVDMEdGb054QVpnQXdM?=
 =?utf-8?B?UnZXbnU0a28wejJad3hhYkcvL1dOTlVpVThiR2UxajZZWWcrOWFtK0ZvTHFG?=
 =?utf-8?B?dTdyUHNQOU5Dc0lweUxXSDlQTElneURxUVdHR1RKWHFsOEVxaVFYUGh1RjJt?=
 =?utf-8?B?QWZFdDA5aHFkRjQ3N0FIMUpNZ01RdHZjODhlclNhZ2hnbmZtR3RicmNkanJj?=
 =?utf-8?B?UlZtOFllR3ZkY2lOdVdoeThUNkhqNGpIeHg0UmpROCtINnhkb08zU2U3em9V?=
 =?utf-8?B?RjZuL1hFVEZYdTNhQ1A2eGxsNHllUTM5cE9ObStuSk1hZnI4aWFsVWFiQ2hN?=
 =?utf-8?B?SmNxOVVRNkloOG1ZLzBiOU11NllLc2NLYXZydzA2RDJyUUs0UE5Od20yN2xJ?=
 =?utf-8?B?SzNpdno2QVduZjZ1WDhaeTRtdEJrb0dRQXVwNk1XVlVuc3Bwd3lMN0hMYlVu?=
 =?utf-8?B?bk9QaUxwd0tLQzRYcHVXakVqeWY5Y0k4SmN6OVQ5dXpic0tWZGVsaW9KbFA1?=
 =?utf-8?B?K2ovcTZsWU1DbHVobFY0OWNVV3gvQVJrRmVjZmhORG5LNHdKejUvYVJCWHdM?=
 =?utf-8?B?U2xqUGVlaWk0TTJwOGwvbFZIRVc2ekRleDArRlRDZ1lGWVVkVjlnZ0t6M2lu?=
 =?utf-8?B?V1BlZDNIaS9IcEJMTGJnVG0yeTFyNkphRmo4RDgxdllrRVM1bmRDa1hEdHh2?=
 =?utf-8?B?SlgyVGlqU1NKL3N4aE16a3ZPVzFKcFk4T3RZLzFmYWdDU2hwb216OTVzdTJs?=
 =?utf-8?B?OUJ2VkZOTGlyajZmR3lKMnlMYWg4WmdBZGd1RzA1YkFobWZHK1pqcHdhK0R4?=
 =?utf-8?B?TDZnK2dzTDRrTHExWXJ4WFJ4MmhMbXMzTFBZY1FDbWNFejJwYi9JRldFR0tS?=
 =?utf-8?B?cjhxcGFNTzRRUHdpRWtXNWt3WlEvR211WkpqQStZUXRFb2JhbVNma2FkeTVG?=
 =?utf-8?B?bXhnN1VJelJMTmJPWnNKS1EwS3Exbmc2YmtOYlljY2tZelZ6aXIzRHVXL251?=
 =?utf-8?B?UE1Kc01vcWpYVVVDbkFQblNYWWJMcHNKaE5xdUFUS2E2QWcyT2R2cTVPVkNT?=
 =?utf-8?B?ZGc3TU5aRnp2VS81UWpZaWgvejVhYWtjRC8zU1p2bytpRXRjczJOVzRPVEY4?=
 =?utf-8?B?UTMzeXIvRUxKd0htQi9CQnFBVlpsdk5UcTFBaS9SVkdSTVd4eXJ0OXFySzMy?=
 =?utf-8?B?d3hBZzJPN3VnM24rMmZrMkVuYVFmTGFNbXQvNFJmLzdtRkg4ODNGWm1ZMzNU?=
 =?utf-8?B?bDdBSlhyQnhTVzNUTmh3azZpSUpLTGF0aEZQMU9lK0VjOERxL2ZOdENnb1Nu?=
 =?utf-8?B?M1FoUEY2WkFBY3Y4UjlIcEFHN0tqZGZFcWFYUUVOWTFQSjR0K2VjQUJiVEpP?=
 =?utf-8?B?dEtFMTNQay9RUlFjNHY5VmdMSWk4bHpydkF1N1dSRWIvbktNczBQWXVDc1lG?=
 =?utf-8?B?UWhMbGhIRSthNDRGTjYvNTVzbFJ0Tldha0dVVUw1b0IzSFd5aTBGKzU1N2tz?=
 =?utf-8?B?VlM0VGhrK3NKWkZxWE82L3NPZUhOK1RvTHYxYXUwVU1LclZ3UWRqaU9yUzBE?=
 =?utf-8?B?WmVqNzlDOEt0RHhicUJGNWVDTlZSVXVjV2dzeVpvVW9vTGhmV04zbVh5eURl?=
 =?utf-8?B?cmRLL3AvSFpGV3UxZmFsZHNsbmpPblFsOUphbVYvc285cU1BcE8wc0RYMTh3?=
 =?utf-8?Q?th1skDRZgS2IQwRM35oxhvuTo?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	B237Q7kU4K0GD9by54cTnEb69iHV8NELGwYUqI8ntH9J0v0PYrccS5AiS2Z0Dc6xNQWUHdG5WfJruKB5yWMidE3iLQRUCW7DE4mFql/UI1R7F/qrUMxLXtxXxdEKZxPISUShJJugYfTKWC6Yzxo0QckUH6x7pxhXu2eQMcj6J8cFpCZ6Ag4p6Nx+Id80dxSNJVIHHuYM6VAFUwrLKzoyU5QzwVcyVvJyCVmTsKCLIs9Bfyw3k16Q5nIMLlP00PL9NgVzD6p1OfzO9HzxNJyVWYbcmBhLI3Xq+cG1QCwFG0It1s6fbGzB5VfP0jmUU9ewRZxCkIkmlVYELjcsy4s7mg5wP2iTOVa9e5TAdVMsMTz87R/EgONue7rVUxxv/4wK07UZb9tfg9fvZZ3SJ8aujRK/sE5748+Bz5VQpMmrZ/eaKVuRpEaNBT/pK/IucNm5M4OcX7fIr0Uv58UoexXrMYUFeyxe0vEcDqf44+PnONaX24isIJAzQUvCbttEroGZwl7BwZ0loeZbSp9BCKOmYN+/BtvV1aX6MMFS+DCIloCL9VcXtI9rndP11q6isOlvD0aeOr6M7rr9KVZWqy3EMmWtEjag4igFvH3Vg4Vl01tzZ+OwsEhh22IPOI5Y4udxoyxa90cjwJlD9NAA4sCs7+qbU9k1KLx1k1S13NnJtqo0owS2OWeUPMEa46BlP8eVeBBzMjv6y3/RRX5BpsAvn18Mkv0sFjgqe+PvY5VD24Mblb2eNLa6ZQbGN3i9U/h7WEbnWn+lfxZqR+SwsGVnuqbWxschLNUA15DiLWaTijO3VF/Rq7s6gbiTgYh+k/mlKLWauoupUgfRD/jB3A6C2vSkX20HvXdKU+WZSlgrqs0Kxdv4C785snyA8UMTYWKi50KuH9ipzfbQxORlD/epJeknDPN4+e0KryDaHPACaVs=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 839d0d04-30c5-49eb-0a0d-08db2f8f89d1
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 13:22:54.3782
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HYilWNj1SMM95iIZe5GhMKoxXt58yTMiXWA09aMErzpkr2K3X9JdcXkQR44J8X0PeRZT6P3ncINGoukl92mskQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6637

On Tue, Mar 28, 2023 at 03:03:17PM +0200, Jan Beulich wrote:
> On 28.03.2023 14:52, Marek Marczykowski-Górecki wrote:
> > On Tue, Mar 28, 2023 at 02:34:23PM +0200, Jan Beulich wrote:
> >> On 28.03.2023 14:05, Marek Marczykowski-Górecki wrote:
> >>> On Tue, Mar 28, 2023 at 01:28:44PM +0200, Roger Pau Monné wrote:
> >>>> On Sat, Mar 25, 2023 at 03:49:23AM +0100, Marek Marczykowski-Górecki wrote:
> >>>>> +static bool cf_check msixtbl_page_accept(
> >>>>> +        const struct hvm_io_handler *handler, const ioreq_t *r)
> >>>>> +{
> >>>>> +    ASSERT(r->type == IOREQ_TYPE_COPY);
> >>>>> +
> >>>>> +    return msixtbl_page_handler_get_hwaddr(
> >>>>> +            current->domain, r->addr, r->dir == IOREQ_WRITE);
> >>>>
> >>>> I think you want to accept it also if it's a write to the PBA, and
> >>>> just drop it.  You should always pass write=false and then drop it in
> >>>> msixtbl_page_write() if it falls in the PBA region (but still return
> >>>> X86EMUL_OKAY).
> >>>
> >>> I don't want to interfere with msixtbl_mmio_page_ops, this handler is
> >>> only about accesses not hitting actual MSI-X structures.
> >>
> >> In his functionally similar vPCI change I did ask Roger to handle the
> >> "extra" space right from the same handlers. Maybe that's going to be
> >> best here, too.
> > 
> > I have considered this option, but msixtbl_range() is already quite
> > complex, adding yet another case there won't make it easier to follow.
> 
> Do you care about the case of msixtbl_addr_to_desc() returning NULL at
> all for the purpose you have? Like in Roger's patch I'd assume
> msixtbl_find_entry() needs extending what ranges it accepts; if need
> be another parameter may be added to cover cases where the extended
> coverage isn't wanted.
> 
> > I mean, technically I can probably merge those two handlers together,
> > but I don't think it will result in nicer code. Especially since the
> > general direction is to abandon split of MSI-X table access handling
> > between Xen and QEMU and go with just QEMU doing it, hopefully at some
> > point not needing msixtbl_mmio_ops anymore (but still needing the one
> > for adjacent accesses).
> 
> Hmm, at this point I'm not convinced of this plan. Instead I was hoping
> that once vPCI properly supports PVH DomU-s, we may also be able to make
> use of it for HVM, delegating less to qemu rather than more.

Right, but vPCI doesn't use msixtbl_mmio_ops at all.

I have to admit I don't like the split model we currently use for MSIX
handling with QEMU.  I find it difficult to understand, and prone to
errors.  IMO it would be much better if all the handling was either
done in QEMU (except for the quirk we need here to handle adjacent
accesses) or Xen by using vPCI.

Hence I proposed to Marek that given writes to MSIX entries need to be
propagated to QEMU in order for it to also track the mask bit, we
could also move the handling of the mask bit to QEMU entirely,
dropping the usage of msixtbl_mmio_ops.

At some point I expect we should be able to choose between doing the
handling in QEMU or vPCI in Xen.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:24:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:24:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515821.799040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9J0-0001DC-MB; Tue, 28 Mar 2023 13:24:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515821.799040; Tue, 28 Mar 2023 13: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 1ph9J0-0001D5-Hu; Tue, 28 Mar 2023 13:24:06 +0000
Received: by outflank-mailman (input) for mailman id 515821;
 Tue, 28 Mar 2023 13:24: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph9Iy-0000cB-JG
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:24:04 +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 cecb5a03-cd6b-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 15:24:03 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by DUZPR04MB9966.eurprd04.prod.outlook.com (2603:10a6:10:4d9::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Tue, 28 Mar
 2023 13:24:00 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 13:23: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: cecb5a03-cd6b-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oE+/PYOltqNKq+ZsujQ4lPF7AiF0tWuYuv3PYTe4LYLpTlMtae9luL0WdvI5hqZMAo1inra6z30AkLN+F6C7m+qZr11Ned+ViQAAZ0k3ZHB4Ruuub4ft8fg0Y1lxiRR+An69j57qMCoqxsYCp8qYyA3lzJM7li8TiQ5fdII/+2F2S1p1tMK3sWH4iTw/zJRWTysFjsE4/6QUM7KV5/tKVijbMnv9xiNzplydd+hg0TXHgYKNjgbCOMnJxAEbJYNUIdrMCXAnvHdwp8lWG7KOHfQY7J1A8e6F7cU5vTKXJh5Q9prg0hnFFdBkmycBkErBEBa7mVies4owsGNtCfyHcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t3eCDX+fMVqcX6fxYVvXryVIz69Tn7v9A98zjONpfQg=;
 b=R3w9QjLf+L3YRbotemDN/G2/dtDdAMyXl9dHiiLr3yU76I9B/rB76kbLO+waHnJ/UJ4JRE4HhQcxsqi3xnh7clEkJL0lSHv8vtXI1BNYZb6zOHoICy3tn2t9/NNERuybZhFNEIpInnbWZLGKFUdwRdbcXVA5PEl4m+hryErMbGtyt+WJ0X7w5VDyQdC/OuKcyff5p6TyDH21wdv+XOtO55ykJ626Lxk5lTKD9h8UhxT2lQ51Tq7rrHeXoA9R9uS4olTmHJShmh4mlTpDeLjbA2X1i+OsGrwKjHBgCOtqBMz5jQiAW44/vUlzE7JitAjtkneAts9E4Zf2TxeW9kht5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t3eCDX+fMVqcX6fxYVvXryVIz69Tn7v9A98zjONpfQg=;
 b=fO5MvQ2gYnRgEAfMEe8Jm6LgW2lU1XuOwy0dWCDJYn1L1j7Qtzo/7wgK2Sp0eHJOAOVhoWnLZE3xqqQbrM92TXfm51GGHHyy3IdENv9H/BhJRzQiGhGpWoE2vhE695PbNzpsfXQUsFq9WYUHV7VR4nuh60IpAcXVugo6W/UPVBKNyBNFVS/RQjfp3Ne3r+YP1CZcA9AkW1mVpIFzfJnL4tgy1hgxhg0Y6vY9L/WwaKDzSO5WIOXHCGnKNVdLtQvnhNc1CipFyvovAWSPohcSYyY/cZ2qfEkx6joH9dOfX+ECxfMCImpkMMb4KDhkkVEuN38kjhCZwmkJllqsgZChAg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1b530e63-de12-f953-1fb5-4e3c3ea69fea@suse.com>
Date: Tue, 28 Mar 2023 15:23:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Jason Andryuk <jandryuk@gmail.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com>
 <5cfcfb7a-df50-fbe4-89e6-611a83991790@suse.com> <ZCLl3ePLgrmFTViV@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCLl3ePLgrmFTViV@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0083.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::18) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|DUZPR04MB9966:EE_
X-MS-Office365-Filtering-Correlation-Id: ddd6dbb8-81c3-42e9-e27b-08db2f8fb005
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KSrXfI5O53X2dxzA9Osdf3lvTlIHkh+ACUaytL9RAVOaIiPUjiJsvB1KNe8imNfN8AweCv+GVH6Eb0oxKQJVyRBDZ/JBl5pIx2dljVNokIQ63LcyE2QvPX4GpOV5zt0Kq51qI/df9sWI/1kr/8fwRVltxq9I54ZWa5C4UiTJhzYVVI7nmSyqKhsZBs4qqDGaCfg+UWqHy/pe/Q9q25i8r4JgA/d0+trwyRl8he26W/APPy9UWfvJjn90dF/KpkRFMJYKoC7No+YvnsGG+OK13TRSVnWFZeQfsLseM2zVylQJYfpjXLmKNv8g2x36T8bRnyXeF1Y846pjr8PcDlFBnzsOxnPTZ0G2x4hR+f5q3waTK294rmsYGEn/w2LdtyFwQBQ77npRt4ougZTAQY3ok/FGPrGRA3aphOPYpipUid4TYZKDaxdUu6+7ELqfJsV+Z6Se6+qAH/9RXpRCLmlgjkG5hCJqRwkIO0/ADzLznr4TJu1Y0rB3gb0RvTs7B9wkcQ5Xf1n9TMF+ba/ldRaHfKHBzNiUdcCFKmNp2O/rdcgIidl720tmAE/Sgi7pjFmanaVxmGOr7rESmVsnRyDNRf5DNexiW6LpLHct47vjQRyUi1AwsfZdtFQQAvKDXvY9nlecnfIkyugaAmWUtp/DWw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(376002)(136003)(396003)(39860400002)(451199021)(26005)(6512007)(6506007)(54906003)(6486002)(316002)(66574015)(4326008)(186003)(6916009)(8676002)(66476007)(53546011)(66556008)(66946007)(31686004)(478600001)(41300700001)(5660300002)(2906002)(38100700002)(83380400001)(36756003)(2616005)(31696002)(86362001)(8936002)(66899021)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q3g3cGJLYmhpcVkvZVFnSHh3OXJobTFBN2ExeVY4UndwRnBNS054MVZpcXYx?=
 =?utf-8?B?MUFyZ1ZpWHBRdkJtTW5WdWhQczhSSTdBVldNaENVZXlPcTczQndETzdOUEgr?=
 =?utf-8?B?d2FOOE5UdzI4TThEc05raUVpbXpvbC9BZkloVS81aS85NGVRQUZ3dVVRTzN3?=
 =?utf-8?B?d25vUmNseUNhdFR4QUJVTXFQOTI3M1VvSHhRZURQa293YTd0MUYyU2VOdkxB?=
 =?utf-8?B?cjZOWTRpSmlBemNnMzU5M29WZUlpVTF4Vzl6bDljeHJ1aXdHMjBKRGM1ZkI5?=
 =?utf-8?B?Q3o5UDY5d1kzUVlvWVM0a0pxTitjZ0xZNzVLemZEWjE4TUozNFJrMDZ5VnVh?=
 =?utf-8?B?WHVjb0Z2UkNYV2pPeERsZkpxNkRxWEFOQjRRUE1KWk1CRytFczFkM2hjYkZW?=
 =?utf-8?B?dVBqNm9ydzVGbXJjU01HbUc2VTliZ0JkdEVUWEFPRFVQZUlCVzB4NVYzUWFO?=
 =?utf-8?B?K2pzS0JlKzl4SzVBdlo5Z1JONGZtc3MxL1l3aTVBNHFQdFNMY3dzek5PaGFS?=
 =?utf-8?B?NDl4TjJXcC9pUFRWeTA5eFhXYVZXd2JRazU3L0QxNXA3eHVyRDlQSVRETnNu?=
 =?utf-8?B?MGRsZ0dpNDFLemp0T2Fhb0NLSDE2REpURU1uWjF4SjlmeDVaY1c3RmhrV08z?=
 =?utf-8?B?RTkxK1FlemY3aXNpeHdvRmlwdDhsOURBWkh3R3FGY0puUFdDQ2F3a0lFR21N?=
 =?utf-8?B?ZDhqMmN3bUllblJwVVFGL3hJaTZMVGg3SXdBak9EWWNYM2Y1YnRMbW5QQ1VH?=
 =?utf-8?B?b25rNGsvTnZJVXAybnhSMU5ZTmNPdnFMdDBiQnJnNEd2azNZN3ludzMzOS9z?=
 =?utf-8?B?SUJPQVV6SDFFV29oMmFISXBRY0xKQlBnaWdUYWdLeDI1ZVgreTA4YStMcHFJ?=
 =?utf-8?B?bnZJZmNKYWY4b3c3Y2VPTlBUaldrejZyeGpVWXpGK0xtcUF0ZjRRaEhLYlli?=
 =?utf-8?B?Zm40UTRYQlNoeDh1SjNaYmlzbTNTcUYzWFZZQjRVUVBlSFpkckFVN0NGcXNu?=
 =?utf-8?B?eEVuZWpmTHVZOXZvYU9jQ3h2bk9ka1N1MnkycUhodW5UenB5TFR2TzVLZHIz?=
 =?utf-8?B?L1RjMDJjM2VjSm1VWlgzdE1aaUhCWEhZcDAzZ1lIMDVtU0VzdllxNVkvcGJj?=
 =?utf-8?B?OFJQUUJKQjR3K3pvZVIwZ2ZOKys4NHB1VUlLWHU2S3NxTGo1NkpDS3dIUnNs?=
 =?utf-8?B?ZEdYcTBkbnZCRHp1cDU3eXNHdzJ6SmxPWVBMUndiR0JzaFBlQUZrbFpwUnVJ?=
 =?utf-8?B?WU9zaXZXOEJ1WG9tKzIzY05rd0RRQkxaMURrWXYzMWxGdUtIZWlkVWQ0SWNS?=
 =?utf-8?B?b1F1TVB0cko4VUdXeHYwcUxvR205NU9QRWQ4VTRKZzQzeVZ3NlRubDM1V09K?=
 =?utf-8?B?WVJoL2FpKzZIM2tRZmJCT1IyTW9vaVY2eVlyNUZ1bm5PM2JhVUdUYWJpSGt3?=
 =?utf-8?B?N0FXT0VXcUt3Q3NLTmkzTkgwSm4vcjNoaTdBZmdtc3BBQjVXNzVpcTNROE9V?=
 =?utf-8?B?V1RGaUk3ckVPV3hKcm96SG5JUVcyUng2TlZ5NVlpaFZzVFpSTm8rTjdHRUdh?=
 =?utf-8?B?OUd1TjZEbFY0RmxheEdodnhjRkxIMXE3VEtwREJUazY4c2dSRWJlQURKa3ZT?=
 =?utf-8?B?OWpkYlhxUkE0MFlFR0oydjhOcm9GbHNnSzFCaXlnSVFKWTdqZkZSaFB2NjU2?=
 =?utf-8?B?akM4Z1ZSQ0NPc3lXMlI2b0MrQ2hHU0N3OXNXcnBiMDlNU1NRUEVZRFBjeDVZ?=
 =?utf-8?B?dmV4TU5idG9wdTByNnlhMFAzeGxzYkhCNUhOaVhWUXo4akJ4SWtkZ0ZiOUl1?=
 =?utf-8?B?em1veGVtdEhiUEhiRGFsa0ZvZjYyUVZmb0dKMmdCNDFidEg0NTJpQWFkTlda?=
 =?utf-8?B?YXVDa1N4OFNZVE9kbmd5cythSnlnLzl4L0l3alZGV0VtT0IwS0F6ZUpBYVBa?=
 =?utf-8?B?VDZub21GQlJndnd6TVJ3UmU3WEdTR1FpUGdRYk9WcXBxM2lDYUJzWHU5dHVZ?=
 =?utf-8?B?ajlhRFhMTmtrRVY3Y3FkdDE1VEtGRHpzTFY0T29XcEJ2Y25NcWY2ekIycGxH?=
 =?utf-8?B?RG1OZjVHQWlCenFkV0VQV3YzNTJ3clIvVjBUenkvM0dPOFlOSWJPMEdHL1J5?=
 =?utf-8?Q?qx947gQDuH7O2OUosemndGllF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ddd6dbb8-81c3-42e9-e27b-08db2f8fb005
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 13:23:58.4379
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cwJZ73U7kRkH/USgL5T1g5xDQlkiMZGNtCSaEdiWSM7g3zy/E76uq7UHJ4/tL/ff7onndf6u34SQOzzP1dSTCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9966

On 28.03.2023 15:04, Marek Marczykowski-Górecki wrote:
> On Tue, Mar 28, 2023 at 02:54:38PM +0200, Jan Beulich wrote:
>> On 25.03.2023 03:49, Marek Marczykowski-Górecki wrote:
>>> Some firmware/devices are found to not reset MSI-X properly, leaving
>>> MASKALL set. Xen relies on initial state being both disabled.
>>> Especially, pci_reset_msix_state() assumes if MASKALL is set, it was Xen
>>> setting it due to msix->host_maskall or msix->guest_maskall. Clearing
>>> just MASKALL might be unsafe if ENABLE is set, so clear them both.
>>
>> But pci_reset_msix_state() comes into play only when assigning a device
>> to a DomU. If the tool stack doing a reset doesn't properly clear the
>> bit, how would it be cleared the next time round (i.e. after the guest
>> stopped and then possibly was started again)? It feels like the issue
>> wants dealing with elsewhere, possibly in the tool stack.
> 
> I may be misremembering some details, but AFAIR Xen intercepts
> toolstack's (or more generally: accesses from dom0) attempt to clean
> this up and once it enters an inconsistent state (or rather: starts with
> such at the start of the day), there was no way to clean it up.

Iirc Roger and you already discussed that there needs to be an
indication of device reset having happened, so that Xen can resync
from this "behind its back" operation. That would look to be the
point/place where such inconsistencies should be eliminated.

> I have considered changing pci_reset_msix_state() to not choke on
> MASKALL being set, but I'm a bit afraid of doing it, as there it seems
> there is a lot of assumptions all over the place and I may miss some.

Well, the comment there alone is enough justification to leave that
check as is, I would say. To drop it there, something equivalent
would likely want adding in its stead.

But you haven't really answered my earlier question: If reset leaves
MASKALL set, how would the same issue be taken care of the 2nd time
round? (If, otoh, firmware sets the bit for some reason, but reset
clears it along with ENABLE, I could see how a one-time action might
suffice. But the first sentence in the description doesn't make clear
which situation it is that we have to work around.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:25:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:25:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515824.799050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9Jv-0001kB-V4; Tue, 28 Mar 2023 13:25:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515824.799050; Tue, 28 Mar 2023 13:25:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9Jv-0001k4-Rr; Tue, 28 Mar 2023 13:25:03 +0000
Received: by outflank-mailman (input) for mailman id 515824;
 Tue, 28 Mar 2023 13:25: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 1ph9Ju-0001jo-4k; Tue, 28 Mar 2023 13:25: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 1ph9Ju-0005j8-17; Tue, 28 Mar 2023 13:25:02 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1ph9Jt-000472-IV; Tue, 28 Mar 2023 13:25:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1ph9Jt-0006cl-I1; Tue, 28 Mar 2023 13:25: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=zZ6Ury9c9xXyEuEf53ak3NBsbeUEKzdWo3HYBEuf4AU=; b=B1RgrQFSWhgtFkeGJEJ55zwLLf
	ICmjpUnxmb5yDiAb1AI6a0HA8wMzOm822NNZRJI3uek25ponz6uUQ1da9xw806qUeCfkJ2Glx+re/
	O8YuPzy4/PuDjH0cmm4xoI073d4w3/8fFp7KFLD7V2+41MkDhWkK5BtqHgpuEgX2zhis=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180036-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 180036: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    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-i386-libvirt-xsm: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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=8dfa2805d84f01ccfb8feef7ecd0a82eaf0ee358
X-Osstest-Versions-That:
    libvirt=e9adb4dcb1e51a098a530d0e68f697ad0fff579f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Mar 2023 13:25:01 +0000

flight 180036 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180036/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-i386-libvirt-xsm  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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              8dfa2805d84f01ccfb8feef7ecd0a82eaf0ee358
baseline version:
 libvirt              e9adb4dcb1e51a098a530d0e68f697ad0fff579f

Last test of basis   179987  2023-03-26 04:18:44 Z    2 days
Testing same since   180036  2023-03-28 04:20:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Jiri Denemark <jdenemar@redhat.com>
  Weblate <noreply@weblate.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   e9adb4dcb1..8dfa2805d8  8dfa2805d84f01ccfb8feef7ecd0a82eaf0ee358 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:28:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:28:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515829.799060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9N9-0002OO-FI; Tue, 28 Mar 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 515829.799060; Tue, 28 Mar 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 1ph9N9-0002OH-CY; Tue, 28 Mar 2023 13:28:23 +0000
Received: by outflank-mailman (input) for mailman id 515829;
 Tue, 28 Mar 2023 13: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=0K3v=7U=citrix.com=prvs=4442f050c=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ph9N8-0002OB-4M
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:28:22 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 659a272b-cd6c-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 15:28:19 +0200 (CEST)
Received: from mail-co1nam11lp2170.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.170])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 09:28:07 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DM4PR03MB6061.namprd03.prod.outlook.com (2603:10b6:5:390::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 13:28:05 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Tue, 28 Mar 2023
 13: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: 659a272b-cd6c-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680010099;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=Q8eRLYNotjVrJ2sncRr/alVc4U89d7/6a2U+ofYKzE8=;
  b=VPblyt2mviJjY3r7GFe6DqrwFBEJ/4bjh5muaYOGvrUjGzz8MDUByeUL
   XthjjzLj2G1qxZB1aj1XibXeX0OUEEkeTp4wm2nP4FwM9uhdiCtXgzDju
   D+Z7OenehzGQi+O3mBynt9tT1tZfka+SrYx/PGGEjy+dFlaQqsoq0fK3D
   4=;
X-IronPort-RemoteIP: 104.47.56.170
X-IronPort-MID: 102148540
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:QFGsS6OhfAqD5N3vrR16lsFynXyQoLVcMsEvi/4bfWQNrUp01D1Uz
 GsdXmuDb/jfZ2HyfN50PIu2oUoBsMXTyt42Gwto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5AxmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0s9KBUBr1
 OEXETIiRQuDo/25/o6FFdA506zPLOGzVG8ekldJ6GiASN0BGNXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PRxujeLpOBy+OGF3N79YNuFSN8Thk+Fj
 mnH4374ElcRM9n3JT+tqyr237OfwH+jMG4UPJGSq8Ipim2O+nNNDSRLeAK8h9Lpj3frDrqzL
 GRRoELCt5Ma9kamU938VB2Qu2Ofs1gXXN84O+gz8gSE0KfXywefGGkfTzRFZcAmtck5Xjgj3
 BmCmNaBLT5mtrGPWG+e3riRpDK2fyMSKAcqfSYZSSMV7t+lp5s85jrfQ9AmHKOrg9ndHTDr3
 yvMvCU4n68Uj8MAy+O851+vvt63jp3ATwpw7QKOWGugt1p9fNT8ONTu7kXH5/FdKorfVkOGo
 HUPh8mZ6qYJEI2JkyuOBu4KGdlF+sq4DdEVunY3d7FJythn0yLLkVx4iN2mGHpUDw==
IronPort-HdrOrdr: A9a23:OIXO+aD7TlsDRSXlHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="102148540"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GwIVhhZI40rF0x+nWNuXr67gJsDEX8Jo0Jgo74T0TP1/ys9Nvi/hzMA7tZVwBYIqHJfCA5RqV5GW9RlA3KXlSoJJb2XXDXri357JaTiiBWgSFWTFtw8P+vDNdqLP532LVTDqldlrB4XDCD/sWzbAXPpuRWGfWYGKnMMW42FwARqqpcUWRC5WzKsybnUE2Nqkdvk+FVM7UlEU6myToQoUSNmTK+92Sv8XNKO5G7Rm2kyQALWAnxwjlFuyWa3voZ+2whLRBJbn0cAYvxpUpjBINMgVED0+QT78alp8lm2RlCTtbf1ZAkgBa4EfdFPe3WFkm6I2TLHwCqHAl43ANnb/8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Btt827VBYLFqUue410Zhu8SboxTGCWNkWDFTgaM5Z5I=;
 b=lLItXtaztx//7NgwMvhkLY3mW1/bFJqMSO6kumsK33P8roj3L1uT2Rg2NvAzlaGudU2JBWL+Qy7eB6mljpNh4dO8rJYvv7jsBPN05euJQbjLYOJa/j6Ft4adS531K9v4WWHzL0NV51BC5HvT5Vjw1mdmOILgv+EiYS4VahpyhVgrkvSSW04M0/PelMQgXWV77Syr5BTz4V74+KRo7NtKUBGTDClsvxPDhQyxf1THh87M2wtmRM82UsgXgMMJh7CfEgv1JjzbTbOeUuQQp6jkBSJzSoZFGId5UzTwj+9OiX/xgPoh3EYyQ/pb+RFFbPjgl2JAOJU3FkrGsUhmOhcM6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Btt827VBYLFqUue410Zhu8SboxTGCWNkWDFTgaM5Z5I=;
 b=exSswrYPecU0llU1RhozLxQT4kInVHElz7dnINzPNZXQPEK0+8waIm10kLT8IIdm2uGPI2Fuf+ZkwA21fC1kyTbxAEp1G5haS810Gi23TolqhUPXPHt1XykkMw2lSuzEs00mYYxqsv73ifbCCSOx9MEea07WkripKgrriVpxw6o=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 28 Mar 2023 15:27:59 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Jason Andryuk <jandryuk@gmail.com>, Paul Durrant <paul@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
Message-ID: <ZCLrX2TmYlg2kMxL@Air-de-Roger>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com>
 <5cfcfb7a-df50-fbe4-89e6-611a83991790@suse.com>
 <ZCLl3ePLgrmFTViV@mail-itl>
 <1b530e63-de12-f953-1fb5-4e3c3ea69fea@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1b530e63-de12-f953-1fb5-4e3c3ea69fea@suse.com>
X-ClientProxiedBy: LNXP265CA0068.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5d::32) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DM4PR03MB6061:EE_
X-MS-Office365-Filtering-Correlation-Id: 484ce4fd-b002-483a-c680-08db2f90432d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RlJeosKmUopRAroDAtWVBJD5icpnVFjBgcBGS1Pdtydk/t+8r0TF9aPgwxR0LOJAXiP3bQR7s3aYfZ/+6TgZ3rNqdY7IcdMSZxoMkG0gcYTw1QxZT0q9dmjM2f0r75lhhZLIvfe7FaNavaJ73pdLpsHHXjkyHn1XxQBK563YuP1SXk0NaO/SPl1pGJKP607IGPZx61TnFnskAdBd20NgwYUBk/8L6GZNRNnfDOsdKr/Z2ZmhqnBo0toQmXAizIjoxvhzGWfcNi3GPJn2TyVSgM+z/3dAvuXpNuslD/46Aw7wFpIoDXHZuYyBkxd98nFYeFTTPKFIoNwfXyCdFVdxQhfFCOzvuz/b4y0QKVJu/FsgPFVA/jZOD16jK/1LYcWJwywLYQMWzgYvIET6ROCKYc8ZGnD1PfGMhhqoBKtO0dW3510eRIYjwzcDpvB1eZ63gBNATwCjOUJeSshFPprNJUSxZ9DUhaUI4SSOaGZiooSRgozvSwU4JWbzKsO3E8+RNmv2Serh73L4MMLnpN4qW/Nfw/9gGG9vzHgtEf3hC/4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(136003)(376002)(346002)(39860400002)(396003)(366004)(451199021)(82960400001)(5660300002)(8936002)(6916009)(8676002)(66946007)(66556008)(41300700001)(66574015)(4326008)(2906002)(85182001)(38100700002)(83380400001)(66899021)(33716001)(966005)(6486002)(86362001)(66476007)(53546011)(6506007)(26005)(9686003)(6666004)(6512007)(186003)(478600001)(316002)(54906003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M1hscFVISXdlbzlKdjZzMi9WRG5PeEcrTEhuVkhHSUxSMWtMUkZGRTU1RVho?=
 =?utf-8?B?UzkyOXAvWERNQUZ6SGhEa2wwTUUwYkJUTTJnWFp5R2UzYm5JNC9RdzB4THpi?=
 =?utf-8?B?WEFTMWMvdi9BMFBzcVhZZFAzY2c3YVFXU3ZOYzFoY3dzMHFwVzF2WE1UUFVy?=
 =?utf-8?B?ckZZZ3hVbk1KUHUwaG9ZR21GdFR0ZDluZzMzRS9nSS9FNVVoUFpuejNDK3NP?=
 =?utf-8?B?S2ZZNnhJeVkzckljM1hVdng3TUcxRkxoNkY2V0lxbi9oZ1gvMFJtc3pHUFda?=
 =?utf-8?B?bDFSYlNqZ2pkdkFsTWI4dDk0NnRpaGtPeHBKN0hQNnVPWmZNZENyMk1JODBX?=
 =?utf-8?B?ZGw5eWFCNlVwNU5FOXBuK1RrNlRIS0k5U1F3WkZ0ZG5xYWRaTVgwVG42YzMv?=
 =?utf-8?B?TS94YWE2dFBOeWtUcFF3aUpEd3hhMU9sT2NDNHpBcTZBOGxsd3ZEWFZ4dUI2?=
 =?utf-8?B?ajc5ZTkzRDhQVEdpYWZMUU4xcXRkUk56eXFpclZ6Y1NiYkNKalB4WC90aDRF?=
 =?utf-8?B?ZWVwcUN4T25jUjAvQTRkQ29HUHFjb2dmN2tzTFBleTBGTjdxZ3NvMGdseTJD?=
 =?utf-8?B?M3RSUk16bThkanFRKzgyOHpqRXhqeEk0azE1KzU5ZjhSbDByNlB6bWxhSUQy?=
 =?utf-8?B?R2x2cnBPdmErQ1hJWDc2UGFDN3BLNG9scVlIQ1NBbFFqYlE0cThrL0F2SkdV?=
 =?utf-8?B?VndkbzY0dVkvNzhTOEZYL2ZjbFlNTHZTSm4zOUdENjRicVVDL2p3dXlmdlVC?=
 =?utf-8?B?bnB5K2JqbHNpQlZyQ1orWlpaZkVDYnBySWQ2WTJ4QmFiYXkvYU80b2RDV1Nk?=
 =?utf-8?B?R3lyOEhDQW1SQWUwemlmZmhjblpoVm1RS0pobEM3eVVLTTB6LzcrT3NnUTcy?=
 =?utf-8?B?QWNiclhiTVhtZXp4MUh2aEQwYWF6VTd0NkJoQjNMR1B0SzhnQlNGQ3pyQ01t?=
 =?utf-8?B?b2VPeU01VEQ0VUw5WjVGQW9pNWZUcUxTV0ExOFVrWDF5bmNBSkU5Z0Q5U1hQ?=
 =?utf-8?B?bWtGVWNlMjJST3ZWTGVobXMzUUdnRktSblp6akpiNzhnVmFRSXM5ZnBoNGNR?=
 =?utf-8?B?cXpvcUt6ZkNITytIN0tPYXlGQTVXSHhsWHlzNHhpN2dWM1R0SUxEalVrbkhm?=
 =?utf-8?B?UEh0K3p3SnhkemZZOU5ad0ZRazlERHpJUVNTdEYzUnk3eXFlQVl5SC9VL01z?=
 =?utf-8?B?RHgwQkVPOE5kZXdNeTBhU0I2dGVLNXhISGRQVW1YeFlFZUhDU2VmR1FPME5H?=
 =?utf-8?B?ZlJ3cEFZMXZ1SG5JUG54M2lHUFJJVkJ3cWdJVzJrTzhNd0s4aGRvbEhZUVds?=
 =?utf-8?B?WW82cnV6MVZsYTFaa3JvejBHYnlvSlR0N2dJV3YvcUtOQlg5bWwwZ3pYdFda?=
 =?utf-8?B?a0JabTMydkVWMzQxTWVoTk9nc3RQNTY3Z2xxN2JLcnBjakdoc20vWUdoZnNZ?=
 =?utf-8?B?YkxuWFVJc25FZFVpWE0zVDNXUDlqVTBnTFZGRlhVenBxVnBYdE0wRmVWN0VZ?=
 =?utf-8?B?UXluU2xDUkhCOVdDOHF5amV5K0tYUlVzVUJJdkdJRmlmc1N2a0U0cjhzRU5T?=
 =?utf-8?B?bDFja2VSVC9FbnhrbHFkRm8zekdNRGNMaGttaVQzNTFVc0d3Rjl6cFIvbHJU?=
 =?utf-8?B?SXZuMVJxdGRTbnFKUzBOcjR4ZVF2NDZGODRPVzNYZUY4djB0SDg0b1hBQjE4?=
 =?utf-8?B?NFRKTGZqU0w0VVJUVTRMNFNSaDNJMWlVbW9zOXl6aGVCcFpTb29GZk1lWG5r?=
 =?utf-8?B?bU8waFUrQk5XdE5Xc1FYUGtuZFRPMHlsV0tjYk91MlZaRE56SjFpUndsc2JR?=
 =?utf-8?B?cUNVOE9zdGxiSGgvVzdhWHJYUCtuOUtEUlh3TzcwZDhkSU55ZWc0djlaWjds?=
 =?utf-8?B?UC9HZUU3M3hGZWw0Qjk0RFRmbmQrYlJmd2trRGRpQVZLVEt5VjZUT1ZyQndE?=
 =?utf-8?B?SktxR0tWT0Q1dE5uL0pIZkpkQW14N1RUNkFONW1RVXUrYVRaM3JGUjlIQ0d1?=
 =?utf-8?B?YWdzVFdQM2xMczlBNDFWK0toQ3FXWWE5bVIwSDd4cVJ4V0Z3b3U4WTAvM2dL?=
 =?utf-8?B?RlRPb2hkQU1uL0xQOEFaSjduWkwvMDlyZHFEbDBDdlhhNjAxVnMvVnZzSHlR?=
 =?utf-8?Q?G7VdFC6QKw9EnDoTVru2GHWAr?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	JJQNhb+tq0gfZ6VemC67oXTECS709Hm2y/UneAYs+3TFavtnf8mvzI1NXVrm+lRKJJHEQHJhEftg9CLTdogKwTZgicMgvOlFVANkzDo+2c7pUwocQjFK1kY3xaTrfV7y3Xf449wfgH0Y5X6SBr+Dq06YE0Ewo9rNYJaH03BNdX4GojrTLWAAF8cP+gV2rMNQoY3UIpW9/7Da3tRXgQkImkMAiRgYwi9odBPvYg+526h40gkBMcNmeLm66PMMPB8p1ohxbDDnxMRDHKjjD19wYAKZ2G55odTZx9igljwxTEd9m1ckfElwxOHxxsCOzpD/BGkD8BYw84+hH0FtOt9dGMEQT5Wl/Vq/jLNjvEmH4YLLYSJtj8MAuiKD5MxD+j88lblo7wB9zzsEGsqbr0E3bpz3j0vuR/v6b4ArY/AJWdvP6EJWlzBlrWf3VzYfAZfWWK829BCxX+fBRBpcFz9RyXxOtGzjAkDXYkdWqeNAQuPxMVpQJpzcQc/YGjMr0j65K3fE09b2UQYFTh31M3GWqI37dDuqglQMwlEePpjA9o5v4rCQFahCpePtkQd2OlpjtUJpfYljplTOGkIy3lyMkHRQxuMOzrJnEEI3OTiyi2l8tOX/b0eklgrr/dCF3QkmxVTtdNwevPO/b54PAvN0Y/3mPd1vzanTu2VWmB7PhvlnyQBdFYTST7IAztDvg7wgTHAwtUSwSP/zHfX5YM1yxTMc4rGThVGxrN1lRH4VUHSYlaIRO//uEC0FrGDpbB3KL+aUqO/yLZhAbUSod1ywcjfcynXg8Y0o9gewWc6PryGe/ZeY+2H+eodtPd4nbVZuSK5JkuYOm/6XyZ54rU5gr089XIVnZAWbo5ZjN47yP3lckTT2drEAbdcFmVM6nxC5jpwgcfH/3wVtiteKsDUooTAODR8y5iUWIFWuP4ZeW+I=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 484ce4fd-b002-483a-c680-08db2f90432d
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 13:28:05.4269
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Xe5fZkHdaAyRp3f/fzggXTbFkXYLzPD6Gl+0ivRUJGp/2ZyR6ddIXNlus2HnY25Ng1g8GL60TKtByS6fCKrSyw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6061

On Tue, Mar 28, 2023 at 03:23:56PM +0200, Jan Beulich wrote:
> On 28.03.2023 15:04, Marek Marczykowski-Górecki wrote:
> > On Tue, Mar 28, 2023 at 02:54:38PM +0200, Jan Beulich wrote:
> >> On 25.03.2023 03:49, Marek Marczykowski-Górecki wrote:
> >>> Some firmware/devices are found to not reset MSI-X properly, leaving
> >>> MASKALL set. Xen relies on initial state being both disabled.
> >>> Especially, pci_reset_msix_state() assumes if MASKALL is set, it was Xen
> >>> setting it due to msix->host_maskall or msix->guest_maskall. Clearing
> >>> just MASKALL might be unsafe if ENABLE is set, so clear them both.
> >>
> >> But pci_reset_msix_state() comes into play only when assigning a device
> >> to a DomU. If the tool stack doing a reset doesn't properly clear the
> >> bit, how would it be cleared the next time round (i.e. after the guest
> >> stopped and then possibly was started again)? It feels like the issue
> >> wants dealing with elsewhere, possibly in the tool stack.
> > 
> > I may be misremembering some details, but AFAIR Xen intercepts
> > toolstack's (or more generally: accesses from dom0) attempt to clean
> > this up and once it enters an inconsistent state (or rather: starts with
> > such at the start of the day), there was no way to clean it up.
> 
> Iirc Roger and you already discussed that there needs to be an
> indication of device reset having happened, so that Xen can resync
> from this "behind its back" operation. That would look to be the
> point/place where such inconsistencies should be eliminated.

I think that was a different conversation with Huang Rui related to
the AMD GPU work, see:

https://lore.kernel.org/xen-devel/ZBwtaceTNvCYksmR@Air-de-Roger/

I understood the problem Marek was trying to solve was that some
devices where initialized with the MASKALL bit set (likely by the
firmware?) and that prevented Xen from using them.  But now seeing the
further replies on this patch I'm unsure whether that's the case.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:30:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:30:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515835.799070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9P6-0003v1-Um; Tue, 28 Mar 2023 13:30:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515835.799070; Tue, 28 Mar 2023 13: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 1ph9P6-0003uu-R6; Tue, 28 Mar 2023 13:30:24 +0000
Received: by outflank-mailman (input) for mailman id 515835;
 Tue, 28 Mar 2023 13: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=Z0Zt=7U=kernel.org=patchwork-bot+netdevbpf@srs-se1.protection.inumbo.net>)
 id 1ph9P4-0003uh-T7
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:30: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 af813c56-cd6c-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 15:30:21 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 956BE617C3;
 Tue, 28 Mar 2023 13:30:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id DF534C433A7;
 Tue, 28 Mar 2023 13:30:18 +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
 BE71DE50D77; Tue, 28 Mar 2023 13:30: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: af813c56-cd6c-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1680010218;
	bh=wAOqKXa5k+PpvaTqojjqTGvRwfUjAI5kHX4cGuCo+zg=;
	h=Subject:From:Date:References:In-Reply-To:To:Cc:From;
	b=uYFmZ+KCxb84fhWh6BTAOpT75G1dlq265BRyJH9EwV+5fNqyj3t1NNe3aEKjwz49z
	 /7k2Zjq5O+zK7A0piXnv5r2oPRwUpKWezf/XSaRx4x/92BArDGtSAcOI/iicezlmjB
	 0947QOThA8fpXzkBlpXJdFni1ygDCQIOeY7LmyqK5u1kTBjBvMfy649GCcYY9Yg0za
	 1x2jFsD6J+wRbxLqZmxrUs8F1qIwQ5iou6lt4p+XAU6m7ejMvlW3BOtimwKJ5vnihi
	 adc6QkoW9kYQnYXxxPHqmcjU+cWtGdwQGsoLrfOcR0tpc1xzGtb+xuNkh4r9p5npHt
	 P7oWeNeAswnYA==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Re: [PATCH v2 0/3] xen/netback: fix issue introduced recently
From: patchwork-bot+netdevbpf@kernel.org
Message-Id: 
 <168001021877.12098.5546775808625533153.git-patchwork-notify@kernel.org>
Date: Tue, 28 Mar 2023 13:30:18 +0000
References: <20230328131047.2440-1-jgross@suse.com>
In-Reply-To: <20230328131047.2440-1-jgross@suse.com>
To: Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, wei.liu@kernel.org,
 paul@xen.org, davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
 pabeni@redhat.com, xen-devel@lists.xenproject.org, stable@vger.kernel.org

Hello:

This series was applied to netdev/net.git (main)
by Paolo Abeni <pabeni@redhat.com>:

On Tue, 28 Mar 2023 15:10:44 +0200 you wrote:
> The fix for XSA-423 introduced a bug which resulted in loss of network
> connection in some configurations.
> 
> The first patch is fixing the issue, while the second one is removing
> a test which isn't needed. The third patch is making error messages
> more uniform.
> 
> [...]

Here is the summary with links:
  - [v2,1/3] xen/netback: don't do grant copy across page boundary
    (no matching commit)
  - [v2,2/3] xen/netback: remove not needed test in xenvif_tx_build_gops()
    https://git.kernel.org/netdev/net/c/8fb8ebf94877
  - [v2,3/3] xen/netback: use same error messages for same errors
    (no matching commit)

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html




From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:30:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:30:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515836.799076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9P7-0003yQ-9h; Tue, 28 Mar 2023 13:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515836.799076; Tue, 28 Mar 2023 13: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 1ph9P7-0003yD-3h; Tue, 28 Mar 2023 13:30:25 +0000
Received: by outflank-mailman (input) for mailman id 515836;
 Tue, 28 Mar 2023 13: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=Z0Zt=7U=kernel.org=patchwork-bot+netdevbpf@srs-se1.protection.inumbo.net>)
 id 1ph9P6-0003uh-Dd
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:30:24 +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 b060ddba-cd6c-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 15:30:23 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by sin.source.kernel.org (Postfix) with ESMTPS id A5160CE1D37;
 Tue, 28 Mar 2023 13:30:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id D6ACEC4339E;
 Tue, 28 Mar 2023 13:30:18 +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
 B33B6E4D01A; Tue, 28 Mar 2023 13:30: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: b060ddba-cd6c-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1680010218;
	bh=e+sEc22DlWRxqg+rsXUSntwCJEqVWE0Lzu3VVQAVOlE=;
	h=Subject:From:Date:References:In-Reply-To:To:Cc:From;
	b=JxUuyTD6iz2hgt6jWbY8X6dfypCFSKDuEv1BeBG7fatdm6LYXEziWvSEXEA22zuLt
	 l1NnqeHVoI0DdXmlem7pU6Ale7Q65MvIQy4QbFd9XTaUfli4N/69HOF8eJkEByfy8c
	 jzFws96gci0OWwa+tUEpWlMWfDIjVOACkZcTy6O1G5EyHKeJghlMlJE4G/CMhjy3C8
	 q6HPgyOKI+O6CPSlXICgC+nF08nvLYHpyc6WACXSXatNGqCP3oZJDXu9/5iXLMDG2w
	 r/cmnZ8gfgoUpkf/G/1QGejWmr/dcx2ErsiTBArxc8F3CR4SPUubvtacWj/4OZ3Eg6
	 a9KHQvnw++WQQ==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Re: [PATCH 0/2] xen/netback: fix issue introduced recently
From: patchwork-bot+netdevbpf@kernel.org
Message-Id: 
 <168001021872.12098.12374211537916209882.git-patchwork-notify@kernel.org>
Date: Tue, 28 Mar 2023 13:30:18 +0000
References: <20230327083646.18690-1-jgross@suse.com>
In-Reply-To: <20230327083646.18690-1-jgross@suse.com>
To: Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, wei.liu@kernel.org,
 paul@xen.org, davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
 pabeni@redhat.com, xen-devel@lists.xenproject.org, stable@vger.kernel.org

Hello:

This series was applied to netdev/net.git (main)
by Paolo Abeni <pabeni@redhat.com>:

On Mon, 27 Mar 2023 10:36:44 +0200 you wrote:
> The fix for XSA-423 introduced a bug which resulted in loss of network
> connection in some configurations.
> 
> The first patch is fixing the issue, while the second one is removing
> a test which isn't needed.
> 
> Juergen Gross (2):
>   xen/netback: don't do grant copy across page boundary
>   xen/netback: remove not needed test in xenvif_tx_build_gops()
> 
> [...]

Here is the summary with links:
  - [1/2] xen/netback: don't do grant copy across page boundary
    https://git.kernel.org/netdev/net/c/05310f31ca74
  - [2/2] xen/netback: remove not needed test in xenvif_tx_build_gops()
    https://git.kernel.org/netdev/net/c/8fb8ebf94877

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html




From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:32:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:32:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515841.799089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9RH-00051q-LF; Tue, 28 Mar 2023 13:32:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515841.799089; Tue, 28 Mar 2023 13:32:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9RH-00051j-Ij; Tue, 28 Mar 2023 13:32:39 +0000
Received: by outflank-mailman (input) for mailman id 515841;
 Tue, 28 Mar 2023 13:32: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=IY7/=7U=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1ph9RG-00051b-KX
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:32:38 +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 00ba43ff-cd6d-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 15:32:36 +0200 (CEST)
Received: by mail-ed1-x533.google.com with SMTP id i5so50001192eda.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Mar 2023 06:32: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: 00ba43ff-cd6d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680010356;
        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=avRdTBxIRXTiqbYNmx6BA/a4fa3mHTMXauIWBufhyO4=;
        b=TfJs0zypfELqSJHvH9hleNj8oLr73pRrVYtYd3TjdHX31fwaNOb7UuOvhtkjTOW7yK
         BKEnR/Qn7EUIMRcLRbvLx3OCqJWNMwX57lpy2z+0w2U7w0JXdTAXWiH/YlHBtlBQVk4D
         Nb1GFsNe/rxVnVEwxuYrP+Lmd5Yf1D5ucYBP0ZDqoxX5j6oJs+wCb+r06+5XlcgH9tve
         HxKmZX4FybklHh2CP01s7l6wXrgHcbBDya8dd/pGV7kjVYJ54AcMxdcYWDY8TK3894QF
         ulbNNEH45LpHdt2Hvlj1NmADaA2LvcwxKlHfQy07ryQjfLqMjpMzCfSY/+A/nn1NWufX
         TSSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680010356;
        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=avRdTBxIRXTiqbYNmx6BA/a4fa3mHTMXauIWBufhyO4=;
        b=LQ6OQaYX6dNO6QM65o9yMJcttHIrPgSvnNsvURywS+d5HscP1Ue8TFE8ZNy5j99yp9
         g+443YWgav36grVXUegJTjGMV5eiDz1l1J8sJthPh4+nI9RSzTDnnBBcGNSBY/VsuYSQ
         jl3ych1Fc1TPs88ovaBD18dt8qb1bhevqDklzmwmj1BF5MEk/m093qQS7x2gFUtHnbvS
         8+OZFRmDH9I367+cDK0uNVDnO33jp9VRsvRMmDTq9eoAkg/+gFlNwL0vGGaG/Ks46KTw
         DXZ6DLpCEpbb0WIo6IoK1bAozPU1v51Ua7iHYnNawlivZWdeSTQbq0Kxe6ALhLM06Fxq
         HtIA==
X-Gm-Message-State: AAQBX9fnjJ0nxsyMI7Grj5XQQ1HutavAPtIMHdMAJ38iLeroqIRN5hF5
	5IC6cbDwSNBo7UxKqTbNDbBpo90+6qw5ZPn12Y4=
X-Google-Smtp-Source: AKy350bho/1fNnsajXNRLFQXT3x5+9j9GIVjkAti6HPujy3hz4TN4V9KaH/latPG7kIOcYv9T0Bzz6AGenY0SzP73sw=
X-Received: by 2002:a17:907:b60b:b0:8ae:9f1e:a1c5 with SMTP id
 vl11-20020a170907b60b00b008ae9f1ea1c5mr7618068ejc.3.1680010356177; Tue, 28
 Mar 2023 06:32:36 -0700 (PDT)
MIME-Version: 1.0
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com> <5cfcfb7a-df50-fbe4-89e6-611a83991790@suse.com>
 <ZCLl3ePLgrmFTViV@mail-itl> <1b530e63-de12-f953-1fb5-4e3c3ea69fea@suse.com> <ZCLrX2TmYlg2kMxL@Air-de-Roger>
In-Reply-To: <ZCLrX2TmYlg2kMxL@Air-de-Roger>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 28 Mar 2023 09:32:24 -0400
Message-ID: <CAKf6xptXovH5-OwuuJ4cNz4JxG-mw3mcwRBJf4PuTwjBA12fSA@mail.gmail.com>
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 28, 2023 at 9:28=E2=80=AFAM Roger Pau Monn=C3=A9 <roger.pau@cit=
rix.com> wrote:
>
> On Tue, Mar 28, 2023 at 03:23:56PM +0200, Jan Beulich wrote:
> > On 28.03.2023 15:04, Marek Marczykowski-G=C3=B3recki wrote:
> > > On Tue, Mar 28, 2023 at 02:54:38PM +0200, Jan Beulich wrote:
> > >> On 25.03.2023 03:49, Marek Marczykowski-G=C3=B3recki wrote:
> > >>> Some firmware/devices are found to not reset MSI-X properly, leavin=
g
> > >>> MASKALL set. Xen relies on initial state being both disabled.
> > >>> Especially, pci_reset_msix_state() assumes if MASKALL is set, it wa=
s Xen
> > >>> setting it due to msix->host_maskall or msix->guest_maskall. Cleari=
ng
> > >>> just MASKALL might be unsafe if ENABLE is set, so clear them both.
> > >>
> > >> But pci_reset_msix_state() comes into play only when assigning a dev=
ice
> > >> to a DomU. If the tool stack doing a reset doesn't properly clear th=
e
> > >> bit, how would it be cleared the next time round (i.e. after the gue=
st
> > >> stopped and then possibly was started again)? It feels like the issu=
e
> > >> wants dealing with elsewhere, possibly in the tool stack.
> > >
> > > I may be misremembering some details, but AFAIR Xen intercepts
> > > toolstack's (or more generally: accesses from dom0) attempt to clean
> > > this up and once it enters an inconsistent state (or rather: starts w=
ith
> > > such at the start of the day), there was no way to clean it up.
> >
> > Iirc Roger and you already discussed that there needs to be an
> > indication of device reset having happened, so that Xen can resync
> > from this "behind its back" operation. That would look to be the
> > point/place where such inconsistencies should be eliminated.
>
> I think that was a different conversation with Huang Rui related to
> the AMD GPU work, see:
>
> https://lore.kernel.org/xen-devel/ZBwtaceTNvCYksmR@Air-de-Roger/
>
> I understood the problem Marek was trying to solve was that some
> devices where initialized with the MASKALL bit set (likely by the
> firmware?) and that prevented Xen from using them.  But now seeing the
> further replies on this patch I'm unsure whether that's the case.

In my case, Xen's setting of MASKALL persists through a warm reboot,
so Xen sees it set when booting.  On a cold boot, MASKALL is not set.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:32:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:32:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515842.799100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9RQ-0005KE-Ty; Tue, 28 Mar 2023 13:32:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515842.799100; Tue, 28 Mar 2023 13: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 1ph9RQ-0005K5-Qf; Tue, 28 Mar 2023 13:32:48 +0000
Received: by outflank-mailman (input) for mailman id 515842;
 Tue, 28 Mar 2023 13:32: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph9RO-00051b-U3
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:32:47 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on062c.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05d03233-cd6d-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 15:32:45 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AM0PR04MB7074.eurprd04.prod.outlook.com (2603:10a6:208:196::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.28; Tue, 28 Mar
 2023 13:32:43 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 13:32: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: 05d03233-cd6d-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IoGdNevQl0l9nKEQUNppydx9akfVXMpFYM9fsEOYN7A6FUO4S9KNOrW6EzdxltDeK4kJ18C5HAI+2NF0rRzrsERV88v1wCtz0yUgZGsKnAjdxybNJ9MtPfPnLhOAJu6PFl5TDHZjAJSNBS+MhgTEG4t8ihp1w8l5pEyGQf/48ED5fFshDkAlfF6ehq7AxUKNnhKlWQ1cdPw6tBOcDqU5VEROZpn5CRaCZBYX/ACBTQCMGYm3kDLnFPuqlZkQibI+ziAXsKWg6puphhqNI7LC9tjvGPgdqHvXOkuLRJom20kCgeHf64rw52YoJNtA/QPkcBrI9BZTAR0gZ8nrS/CL+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=ZuEfew6F7O5FqpL5JfXk/rbchYCXeV0JaKg4P/PJ6vs=;
 b=hIeZMn0LvSh4ftUjf0PPCKzwjNkzEtOyE3r9IVgBMGWtpUwfS8BVjn7i/zDncAqAaYWmqUofZ9yBWsq36gWhK+lYnhTeZlqU88R/IGi3VIfw/0h2/T1wS1kiSLqp8ODl1GJ/1kqec23v8OgisYCvtYxD5t+J2QijJnEBjJfLsR/X8Y/nU7c+L0uuzEuYDhhPbtyTUNIMreSit+BJMEQEJPOrY/PtR83Xq4Q0dfL941jJIPFTeOvig459XQWoRmAIh+ixa2KN3Zqupc5eKvHyAOByOlkDsjJHF/S3JXE3ysEDF2Rr3U4XT/EBpYeyhrbdsF9Ski5k1tkB+Gbpay0jHg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZuEfew6F7O5FqpL5JfXk/rbchYCXeV0JaKg4P/PJ6vs=;
 b=LoblLIO8Jg+axYjCeImL/5GgdHHP7R1JRzp0QrRlMYAO8g31/W1iUJz1I4fZCAZ/PP8+9zUHg0znqgPmA0hteY4MolYPMXnpmwL4humSJZhrFtkXRNyJ5oJtUREgRMaBG/ISbchQXOAXRqmbexyBqJ0uk+yb5EYb/21C7194zkHWSdo3n5TPSUg0iImAKs9moWq9huQc18q9i5RSCRGyyWSWk5zJdp8UtW45cAK8Qf5wVLQNfFZ/adKf0rOPB1wlM5gq3F+2ueQqig/fa730JX5qUyWInpy0S37J2C7xYSPXLtBYaQE910/qKqECTrgL6SgliQBSyZDmbavBWbenQg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <435f5ab4-e0ca-f66d-dc0d-0ed8633ed2e7@suse.com>
Date: Tue, 28 Mar 2023 15:32:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 3/3] xen/netback: use same error messages for same
 errors
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 netdev@vger.kernel.org
References: <20230328131047.2440-1-jgross@suse.com>
 <20230328131233.2534-4-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230328131233.2534-4-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0084.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::23) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AM0PR04MB7074:EE_
X-MS-Office365-Filtering-Correlation-Id: f1ad4562-b714-4248-27a9-08db2f90e91d
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:
	IUauTuyV2q7+xh30MZeB/5pgoI31ZpHDXfyGpGTQ3bpxZsVx0wRKCDw7j5285EJAkXh9sbUiniVmHBjeDCU0guTt8vMVyrgtoLEGE4qmDfqVzAZ+3ihtd6PuV3pZVPlvdbaGe6zc9lh9Bu8aGkJNfl5qT+KkoekAEKn6uQPcFsRjw7SezHhrAurkmOpRRUZZOslYFELcQZHWKUXqeMi6XfuwizJEJ6M6XqQ2ibwoAFsSNNaHPaqLW3vZrXw/FcDiY+EM0O48wtCUhkv3HR50zDxZUPdv5ewU9xYO2f4Q9Uloj2iPRsbtOz7EC+qK6EYNRYmycgIC9aB1O/5Lv98OaivYQRCfHLqNU81m1M39PoQXpdxMzu2sT0b3J7iVzOvbH2xwvCSk+Ai0kpdmruS+C4vfOmP3/8IhxxNkola+7tNqLMn2w+ZhNwXelG1znjfBS8BUWWWeflIyJZeJEoKYV5lWnq5bWl89jPzf5PmGpM/rxl4+SzbUH8GiP0fciSQI2TLpxCOf0P9FwXL2uQ7qDTqKCVYmBfthM1Rp//niPbHJ91GcvyQCqowszyH6I6DOyRyHTXY/MQLeXpq4OWB5o5SL2SGezsUQSO5oPKTgP9YRCjsGzkzZw80HA75ASPW8brrN7WDB0Al10Q17KeUGHw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(39860400002)(366004)(396003)(346002)(451199021)(2616005)(83380400001)(2906002)(8676002)(66556008)(66946007)(4326008)(66476007)(6512007)(478600001)(6636002)(54906003)(53546011)(316002)(26005)(15650500001)(186003)(37006003)(6506007)(36756003)(86362001)(41300700001)(31696002)(8936002)(6486002)(38100700002)(5660300002)(31686004)(6862004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Um1mdi83OGduVGtCL3JQQjVVM0UzRUhqQ3hvK1AwY3dCcXNhdEpYenVXVzAx?=
 =?utf-8?B?amdRNDM1bXZsR3dNeXkwR0YvSk02Sk9tOXBhRDMrTm9yWTJVRFZJWTJRelhW?=
 =?utf-8?B?V0k1dlNpZFI4cWkrUXBpL3B1anJHUmQ4QjNUU1RqQ29JMTlGTTdtN1VhdG5L?=
 =?utf-8?B?YTNYYVIzV2FqejM3MUxvSUsyWlBuUllxUWhJd29YZXpMNXQ3RUN3cTBaSUwy?=
 =?utf-8?B?NkpBKzZKZjBGbGkzTDB5OXpHYzNvaWREVnpUY1pTQ2lyd3lyRjFCR2RKc1g5?=
 =?utf-8?B?K3dqWnBmZTBnQ2RiaUJKQWFoZnA1UUViRmNqNG1CMFZSZTE2dkE0U3YyOFBS?=
 =?utf-8?B?QjdzVHJITkFDMlhrcWR0ZEErQXpMYVhzZkxGdWIxZlIzQzJoS253MEM3SHlk?=
 =?utf-8?B?K1lJUFczd0lCRENRVVVqek4rSGlIY2UvSXIycHVOMGJWQVF3bVpaNG5DdWdv?=
 =?utf-8?B?S3huejE2S1VRL3N6UHAvaEczYnRTOEZqTkRnWGRyQmlMc29MVUMvd29wbWVT?=
 =?utf-8?B?a2RjT3RxeUJFLzFMcjZjcDdZT2FjWnFvODdnTk95cGpNeUFSRWhPWDI4UnlT?=
 =?utf-8?B?alBSSUJ6TnZGOFZsRmVsU1FoelN4OHJKZHZqcFpGY2F4azdLbVhTNGhlMG00?=
 =?utf-8?B?QlhRdklPQjRyR3JibC9iTHA0VXZsRVppSmlPNStJWmYvVWlZbFJlcjNiTHgr?=
 =?utf-8?B?OFE4cENJNlRTOExuWEtCSnhSY3FRQTRsajlTWkFwRm94OHY2Y2wxWDh5SWFG?=
 =?utf-8?B?aWQzOHNmRDI3SXB3UmZvd3p5anhZSC9sdFh0TnluMHFtS3h3cUIxazNmYlQv?=
 =?utf-8?B?SEMwOGo0TDF2a1JYNTBHeG93UmVzWDZmQjlSR1d1dldFUG0wSW5mNE91YnlW?=
 =?utf-8?B?SlZSRUhiMDZvWGtGNXJndkxaUGtGeGE0bFJMRkNnZkJ5OEdiWitsbmdmaFB2?=
 =?utf-8?B?SEpubXFHZEM5WDdQemJsMkZzNklsSTN4TlUyeHNqdWQ1cTR2Mmk2MnZtZVZG?=
 =?utf-8?B?REhQRmFLMllVeU0xMWZDaXk3S2JwdStIb2l1TWxsWXlhOUFhR0t1eVl1OUtW?=
 =?utf-8?B?Wkc0bDRRdjk4VVJXeEI2N3NVUmh4YjJjU2FnSVVXVDV3cDFzdjMwWFRMQlM2?=
 =?utf-8?B?MlVuUUs2TjlHaC91MkxBcUI4VWlRRm0xcUZabWVML0NhTGpKU0hOOFdNZUdX?=
 =?utf-8?B?bWtpck9OZGxjMUY3K1BtazNCMnlxaVpibzBSWHBIRDNHeWNrQmJqV3djSDNW?=
 =?utf-8?B?aVJZbDhqRlhCUDBacmxRK2poSUJkamtKRnI4MzZsMStpWXVtMUFmS0JCeFJu?=
 =?utf-8?B?U0liK1I4TzlaeGpvOURqRWptd1hrSVFia1pWYUUrWVQ2bjlBdE9vQmJzMTM1?=
 =?utf-8?B?a05yY0Qzd0RENlpleGdTQ0N3b0tOMXpNMmxlTE9pYTJIclI5czVIMW5kYnJx?=
 =?utf-8?B?MEUram1YNG82dmo4Y0FuUGtFQnYzY1VPekFBOW5aRzc0Q2dzc0ZGdEpuL1ZV?=
 =?utf-8?B?Q3BnSzYvRXJ1UjBDSlFJeU95RTlvWkFyRjAybVR2SUE1dnIwd1dlQ0lEaUNF?=
 =?utf-8?B?engrVU5WSnIxSjJJNFRUVFA3dXZBTWpVNWVHZjgzS2ZQYmN6TnJGcWtMa2Qx?=
 =?utf-8?B?b0NRajl1NjhIa0FTTkpGMDNoRFc1OGJSODFiMHk4UnVWMlBKVEVEcUw5M0dx?=
 =?utf-8?B?b0J4Q1VmMnoyZDExZnB0QUxSQ0tKYXBOV3J3emJUanlSczFaWThGd0I0dzAx?=
 =?utf-8?B?MEczeE4zT3FCOE1taDVDUmhxMDNPVE5Ha3dsamQvTDFwYW9VdFBKSnVVTjRL?=
 =?utf-8?B?dko5a1BCaC9abWZzU0ZGR0c0Z2VERXhmQlVQYVR5Ym5NR3UrcmFLNkpYTFkr?=
 =?utf-8?B?enlxYWgxVmlzb3F4MmVkelpjU3lUWDhvM090NVRkcHAySityMWY0N3ZnOUt6?=
 =?utf-8?B?cm9NeXJORjFFL3dDR0VyM1NWMmRub0tZMURpZmxEaTdoQVQ3YWNNMlNsVFkw?=
 =?utf-8?B?WHFEbzg4ODZtaWJXc3lrL2VkdDZwS2tCbG5jOERsR0JBOXBBOHV3U2VDV0l6?=
 =?utf-8?B?czRjdkU5dG80OGl2YS8xR0VzTU43a0NETG1jK2R3Vk1HU1hIM0VBNnFFMFlK?=
 =?utf-8?Q?HuIwrKzSKIGBTcYEVT1Evex+i?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1ad4562-b714-4248-27a9-08db2f90e91d
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 13:32:43.7083
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CDhUOBZpEjcMuS9QNWxgIscSsywGOvD69wdu9tW2dfVOzmQukQ+MKzCDSro0wefJqZgmULa0xdlRbHbxIDEcvA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7074

On 28.03.2023 15:12, Juergen Gross wrote:
> Issue the same error message in case an illegal page boundary crossing
> has been detected in both cases where this is tested.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - new patch
> ---
>  drivers/net/xen-netback/netback.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
> index 9ca4b69d3b39..5dfdec44354a 100644
> --- a/drivers/net/xen-netback/netback.c
> +++ b/drivers/net/xen-netback/netback.c
> @@ -996,10 +996,8 @@ static void xenvif_tx_build_gops(struct xenvif_queue *queue,
>  
>  		/* No crossing a page as the payload mustn't fragment. */
>  		if (unlikely((txreq.offset + txreq.size) > XEN_PAGE_SIZE)) {
> -			netdev_err(queue->vif->dev,
> -				   "txreq.offset: %u, size: %u, end: %lu\n",
> -				   txreq.offset, txreq.size,
> -				   (unsigned long)(txreq.offset&~XEN_PAGE_MASK) + txreq.size);
> +			netdev_err(queue->vif->dev, "Cross page boundary, txp->offset: %u, size: %u\n",
> +				   txreq.offset, txreq.size);
>  			xenvif_fatal_tx_err(queue->vif);
>  			break;
>  		}

To be honest I'm of the opinion that this goes slightly too far:
Making the two messages more similar is certainly helpful. But in
case of problems I think it wouldn't hurt if they're still
distinguishable - when the one here triggers it may e.g also mean
that the calculation of the residual size is causing an issue. So
maybe stick to txreq.offset in the message text, with everything
else left as you have it?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:35:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:35:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515848.799110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9U9-0006BL-BY; Tue, 28 Mar 2023 13:35:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515848.799110; Tue, 28 Mar 2023 13:35:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9U9-0006BE-8z; Tue, 28 Mar 2023 13:35:37 +0000
Received: by outflank-mailman (input) for mailman id 515848;
 Tue, 28 Mar 2023 13:35: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph9U7-0006B8-7N
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:35:35 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on060f.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69ae960b-cd6d-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 15:35:32 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AM0PR04MB7074.eurprd04.prod.outlook.com (2603:10a6:208:196::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.28; Tue, 28 Mar
 2023 13:35:31 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 13: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: 69ae960b-cd6d-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nnY1UUJx3cmNB69DF/Z2njbH1TRFlqy4/ovVeVKgkjsoi/ofGCfvKvTIISORsf3db9WTl+NOhu6CCz7QmTPINXvQB49uzd6NLgepGcfZsKxXfBPWQVtckZ81EK4URx6RtzW0HouwnOmZC2okOfPiDBT8dekTSzVIEhBdEpEAH8rwJzQQyi2vWvK6AXoNvsHE0jOaeMrMDLbupN7e8sdqzbNUqxL5pG3Z7VgS1ShnX5zOfxnYw3hyT0azLIiq1JcNNJgH41W3mWQMEDHOmDWt+p1HSpTwikBVCzF6nV2Ie63gFlzhHqDB7DyAjJH2/r+r69EwqnDuqCina6/rBZfr1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uvhSuuHQXIffvgOGKvC6ChQtpU69/lQ5A3cB1jJ1rQA=;
 b=TPTlHo6PD8PJYgrAomhAjwYURcyx1YlOrDTa3oZrZ7VrApWtCt+A7hLluBpmr9G1/hEij1ka50/VnUYZScWZ+xEXSE7VkUh24s+Iy6XEUEe24SbOUYk6foSNRmCAePI60m2iodNssmOnAa7ayp9dSMzmI7r9wGE8dB9Vuxjf+61838IBzzM737oyT3BBv04b7yYVp312635+fm7q1p8AdAHh5jzm6zigb6Orr4W/fNb6jjqUKCJQG0F/wYmmXPdTH2lbgueLjz6yd91FvSKVrws7PuyE5/5mu2uU/aVc7MfRCOW93qM0PlZOGS8DZ/26wdE+IPIFKnOftGDNGf4gEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uvhSuuHQXIffvgOGKvC6ChQtpU69/lQ5A3cB1jJ1rQA=;
 b=UX/b9khWFKLjACqagdrikzoHjeuxZbYuJ4tsK57KWZ1D9G/XESwPAKCp8r1J5PJjGjO8VXQG+QA7HglZ2gAyYfksUAVfs3TDkIr3sviTNidUH5Uz4drz9dfmMnEkXq2qdPHtw6q2g1ZPrcfdSve+4veq4c0K9jAC4FYjpI2x0/k+mRWYaC8bF1/Je8q3tW3/0ZcY4mVYPbepvbLhIi+R7JMCW6m0U0L9gBGWsPX2dFQ4TyPpykqlxg3ayKyO8k2PpGlJ37Be1mLA9VB2siC7tnTBl9P/xnaSAKBIJTw4LnGK7OoatWmfrfldwoz/lrz0c8GZWxI4ISfHiDrGnEqtRw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6d4c11c3-31f1-48bc-b7b6-0ad0b73fc09c@suse.com>
Date: Tue, 28 Mar 2023 15:35:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com>
 <5cfcfb7a-df50-fbe4-89e6-611a83991790@suse.com> <ZCLl3ePLgrmFTViV@mail-itl>
 <1b530e63-de12-f953-1fb5-4e3c3ea69fea@suse.com>
 <ZCLrX2TmYlg2kMxL@Air-de-Roger>
 <CAKf6xptXovH5-OwuuJ4cNz4JxG-mw3mcwRBJf4PuTwjBA12fSA@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAKf6xptXovH5-OwuuJ4cNz4JxG-mw3mcwRBJf4PuTwjBA12fSA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0050.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::13) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AM0PR04MB7074:EE_
X-MS-Office365-Filtering-Correlation-Id: 3afec9a6-811d-4aa4-1293-08db2f914d05
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mrswTEMOZeJXpjEXSYatJ/fIV86WAEx8hSy2oWtgdvGCdB/SuJiYW53PXsAqEsGJLHdXuKQrMBCSIodYpileudBNIhPQFmfvPqOKW95pA4vywUO+mOsENpk5DTZ5WlW7kaqNUu/or+t7vwEG1LW5dzTDTiiKtj362btCWYQX7W5tH+pSolbeO6+dLcyZ3LdZtsuR6QqXzPRmDxIbhfMdNnzN61x6Hy2fzaSg4qYups2lsd9seRJf/ngwtIkuPprYqGtwbV3P9gU+CsIBTBjwwGwSCHPoCZfoxo8zImpc35zBLEvoT0ga95hEmOOGzyMh7nRzgNDGDuTa8w8KDZAdH3OyRJpWghP3mjcDFYdM7ozoPOHmAB8hPZwWRFb4rYwufV78szAndqcLiw1+kd0YsBIs1ApN4N4KyhIuVPJz+BjMLGdfJfEXkN/9sF1QRInSeV9UYrtFr9uHsD3k0zHmYBCqQOPrMqFsRVAr5GszC60czjHTZEclrBgIcbiXCIYwwy/vl2hlHaCcHatR4wuAWUxF3GiB9dyMRMe1dfcKjqblZWlTmA2Ho11plJO3IS/qXCD7XNR4CXjgZbSxy+UEdKvNfSpbwWU42JS8p2kG37Epl7VQ2ugZkHjjtXcZGGgMBfF3MLLaXnuI9YhmcI9EFg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(39860400002)(366004)(396003)(346002)(451199021)(66574015)(2616005)(83380400001)(2906002)(8676002)(6916009)(66556008)(66946007)(4326008)(66476007)(6512007)(478600001)(966005)(54906003)(53546011)(316002)(26005)(186003)(6506007)(36756003)(86362001)(41300700001)(31696002)(8936002)(6486002)(38100700002)(5660300002)(66899021)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aDF4TEE5RVRvTXRTaytYWjBuTUZ4SUtlUXd3NjNqbHJ0K3g4VWR4Y2lqZjE4?=
 =?utf-8?B?OGpsSzJ4R3ptZm0yNENPMWkrNlI4MGRqM1EzeXRIT1lna29UVTE4WUpmQTh1?=
 =?utf-8?B?WWVMWDQ3NzFibWIrbkhqSVZjY2FkczFieENvTEoxTjRjMm5icGp3endEekVs?=
 =?utf-8?B?MFo5SU8vNG04a2ovc0JSL2NzZmZDcTJGUU1wazMwMTdPNXNyTkcyd1BsSTBx?=
 =?utf-8?B?bS92Z3pEVEdSKzhFalVoUWgxZDdWMU54a0VNQUxaQVp6NHhmcCtOUGVTbDNK?=
 =?utf-8?B?cTJENTY2YjdaWE1laDZLL1h4UkpaOGhQbXl4aVRRSlpjaDhVOW5zSHZ3WFV3?=
 =?utf-8?B?cDQzcTlBOWtoRENudXR4eXlSNDluUlg0VUt2UHRDMkVCTUJ6Vy91bmpFbkEw?=
 =?utf-8?B?RlM5K0RIMkFtVG12VUJWQURPaE5YWnRXZFRRK0o2d2JNbG1FYzJLREdDaUdr?=
 =?utf-8?B?U3FsMzNEM3k3MUlqdWY1RENuYXh0NlIzTUdBQ2NraUVRL2tSWTEydWY1Q0oz?=
 =?utf-8?B?OHVJZ2ZrMlRNNWZZdVRsc0pmdFV6aXZLclVNVXluc09SekdFWnkyaEFxekU0?=
 =?utf-8?B?aTJrQk1LZTZVRkhaMDB4QXM3cEdXQm9NRWQvVDRJQlVpR2RIb1Q3SnM2UURE?=
 =?utf-8?B?YzlxZGwwRklKZlNDSlEzK0h4bnpkOW1MMS81Yk9qeTZUaHVOajh2d0ovTllk?=
 =?utf-8?B?bEhVeXoyc04vcGtqVDFobVl5V2kveHIrK0hSWFNGdFBCRloxUjdLREUwVWl2?=
 =?utf-8?B?YXhGWGxPaTZlRXN6ZVlyTDFnQ2gvQzRhUlJidTQ1ZlBuMmQyMjgvS1lyT1ZE?=
 =?utf-8?B?NkNUQjNMNGZsUjNJY1pvKzhHL2M5QWV6S2NUWWtnRGh0c1V1YVc4QklFMUdG?=
 =?utf-8?B?R0kvMXBocHNGbUxoZjVtKytiQUpjNVBoalQyaThkaWhhTkN4UFFMRnUvb1M5?=
 =?utf-8?B?SFFJemdXd1pURzJLejVVY0JPb0lGeHFjdEVoNDZlTjhBaGU4eExGano0Ri9l?=
 =?utf-8?B?VWV2TitMdWFnYmlaTmdRWjZnbjZLc1Y3bmp4ZGp6aExYYmVsTFZsYlJRaUJK?=
 =?utf-8?B?MzBBcWQ0ZVpCR2krQThyT2xKK0NwQlh0Z1dkcWt0UjU4ZlBMcUhFT2FKTk5U?=
 =?utf-8?B?RFB3czB5QnAyM0l0MFdlbHQ0djdNNWZwemhxcldQcE5nRXE2eE5QdUxnQlB2?=
 =?utf-8?B?NUYxeVNxK2RKQmFSdHlKMFhjbDJpSHFTaUxKYjdoY001V0VIaEhDWDdqZTVG?=
 =?utf-8?B?N3NwSS9INkQyMjgxbERjQm95dWtwYytCbGErSkh0YTFHdlE2b2toRExZZlVs?=
 =?utf-8?B?Z2RnZ04zemFvKzV0TXNSOHM2RFhNVFE2UlJ6cFdieFNwWE9sakJTM1VITHU5?=
 =?utf-8?B?U0RjWUtwclFZSFh4cHI0VTRWMlk0YnFEK0JMd3RteVc0Qit6WnRqL04xN0g2?=
 =?utf-8?B?Ykg3L2VvVUdWVWtZaFh3UWlxczdRaDNZSVRFSU5mUWFEWkdJNmZsUFhkdjZN?=
 =?utf-8?B?aWFUTzhjeVBCWHp5TDJOUHlDUTBQQTJabHhZQzNSRmFzUjZlaE1mT1IrUVQy?=
 =?utf-8?B?QWhKZjR1RnVIemVsWS9NZkdyUEYrNE5VamNTQXNWSjNOcTNnQzR6OGtUYVdU?=
 =?utf-8?B?ZDAvUXhDTmp5SjJOOVFudC9OR0ZPcXpTdStFendNNWwyeWRkSU16bGhBUnND?=
 =?utf-8?B?K2FSOUUxajdLandxTDRYTnBocDh0NGw1eVp2UHVWUDZrL2k1ZEF6eXVYK1V2?=
 =?utf-8?B?U28yOHlUVUhvalhTemRscTN1L3MxMTI5MU80L3R6SkluUzRlL0tIYUUzWFF2?=
 =?utf-8?B?ejNlUHZISnUxZERTRjZVNGM4ZG5FNTZVK1pmZXQwakhCb0syZEdOWlJKd1Zz?=
 =?utf-8?B?ckhpWUhhQThKbmxINDJEM1k1NzhZaHNhQ3U3SFdEcm8wcW1GN1dFaGtMZkJE?=
 =?utf-8?B?ZUdwNTRyWWZhRGhkNndocVJ4SVFaUGc5SU9wMk1wektKYWN1V29kNEpWNUtk?=
 =?utf-8?B?RWJXNHF1NmRGd3E5K0RjbXZKZDREQXhjb2p3VXBybkY4eTllYUxmQXhudThV?=
 =?utf-8?B?dmdIUXBrSGtwTXRIUUNPK0RoWWZsbzVudFlPRzVwS0FKdG5mWkw4elpMMSsv?=
 =?utf-8?Q?VGmPNh3997dKe2ZAIGiGwuQ7m?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3afec9a6-811d-4aa4-1293-08db2f914d05
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 13:35:31.3336
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hW2Fc/pSrcAV3G73HaaQkke8vIYBPJZHEaPt/M0y/2YW7r6mFesEkCHxv49gOhkk9eVA9eCS4D/Ts8ReaDzMOg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7074

On 28.03.2023 15:32, Jason Andryuk wrote:
> On Tue, Mar 28, 2023 at 9:28 AM Roger Pau Monné <roger.pau@citrix.com> wrote:
>> On Tue, Mar 28, 2023 at 03:23:56PM +0200, Jan Beulich wrote:
>>> On 28.03.2023 15:04, Marek Marczykowski-Górecki wrote:
>>>> On Tue, Mar 28, 2023 at 02:54:38PM +0200, Jan Beulich wrote:
>>>>> On 25.03.2023 03:49, Marek Marczykowski-Górecki wrote:
>>>>>> Some firmware/devices are found to not reset MSI-X properly, leaving
>>>>>> MASKALL set. Xen relies on initial state being both disabled.
>>>>>> Especially, pci_reset_msix_state() assumes if MASKALL is set, it was Xen
>>>>>> setting it due to msix->host_maskall or msix->guest_maskall. Clearing
>>>>>> just MASKALL might be unsafe if ENABLE is set, so clear them both.
>>>>>
>>>>> But pci_reset_msix_state() comes into play only when assigning a device
>>>>> to a DomU. If the tool stack doing a reset doesn't properly clear the
>>>>> bit, how would it be cleared the next time round (i.e. after the guest
>>>>> stopped and then possibly was started again)? It feels like the issue
>>>>> wants dealing with elsewhere, possibly in the tool stack.
>>>>
>>>> I may be misremembering some details, but AFAIR Xen intercepts
>>>> toolstack's (or more generally: accesses from dom0) attempt to clean
>>>> this up and once it enters an inconsistent state (or rather: starts with
>>>> such at the start of the day), there was no way to clean it up.
>>>
>>> Iirc Roger and you already discussed that there needs to be an
>>> indication of device reset having happened, so that Xen can resync
>>> from this "behind its back" operation. That would look to be the
>>> point/place where such inconsistencies should be eliminated.
>>
>> I think that was a different conversation with Huang Rui related to
>> the AMD GPU work, see:
>>
>> https://lore.kernel.org/xen-devel/ZBwtaceTNvCYksmR@Air-de-Roger/
>>
>> I understood the problem Marek was trying to solve was that some
>> devices where initialized with the MASKALL bit set (likely by the
>> firmware?) and that prevented Xen from using them.  But now seeing the
>> further replies on this patch I'm unsure whether that's the case.
> 
> In my case, Xen's setting of MASKALL persists through a warm reboot,

And does this get in the way of Dom0 using the device? (Before a DomU
gets to use it, things should be properly reset anyway.)

Jan

> so Xen sees it set when booting.  On a cold boot, MASKALL is not set.
> 
> Regards,
> Jason



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:38:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:38:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515854.799120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9Wn-0006o1-SW; Tue, 28 Mar 2023 13:38:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515854.799120; Tue, 28 Mar 2023 13:38:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9Wn-0006nu-Pt; Tue, 28 Mar 2023 13:38:21 +0000
Received: by outflank-mailman (input) for mailman id 515854;
 Tue, 28 Mar 2023 13:38: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph9Wn-0006no-BI
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:38:21 +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 ccd06fca-cd6d-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 15:38:19 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by GVXPR04MB9901.eurprd04.prod.outlook.com (2603:10a6:150:113::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.41; Tue, 28 Mar
 2023 13:38:17 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 13:38: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: ccd06fca-cd6d-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JPEfitOWIZUu0PKAfkGvaN4S2vrVZQrOzX0ky+/1n/W2ASz+LOlAj24qT1qnVGG2EA9gEsZE9V4X3EfUTOxLFCLjCVr3cIOY9GGjgz5JarODTyY+QUpXKeCFz7mFWnqW3XsUdXSbd2sV/hyTASZWfgacLUS52UbqELWk16p/oIQJ2ppk+rrKvrRlV+LQes9nBnV3ZK7fwfKmhzMjoKxJNWbKfH4k2bQjLztYeoUej886XTZBtjIvG+fHGerByBzHsXHNbJCjSXJE4WC/HPLlX5ZP/wFsUvgvS0sChaGZstTsJ6wEnZ4rn/F72TBof8FOWq4Wz0NecCwiu1Ax0A8cHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dakqjN5U3rEqL38YqYMoG9qIj7Qank4HaaLaGPfFkrw=;
 b=XGsFeCgoYk26DKOXyMfvjWuoM7BOof++hgIQzKDPyUvb0+4eMg1mZljGg5Jer/OErzDGd1LZrgs0Llu84XYt8zCpMDtM1eTMa9bbtUFoEZ6KawXzxGnwxlOobZ6FotW+k1yOGHlRpUs2Fn1RXJsan0l6J58LnfKsgaoeod1aH9OaWsB4eoYaoOlGEH+Sd5DRZlq5ZoKH+9pXIQhsQbTaW9mUgx3nCommdrOUYU/T5WGyn1kmMinBuxJEViYheZDGwH2OmAgVKrDadXjIrqSjz4ZgmAHJSN1OOEeKJK/ChBWvMNxiTJBeF1x/I6KSocKJK1sf9garcozn9pg+UWALjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dakqjN5U3rEqL38YqYMoG9qIj7Qank4HaaLaGPfFkrw=;
 b=qPXbAc5gwBS8CTaSxyyfzh/xuBcdqJzaIJdOiqATXkuTJLSlB8WuqP537xQloGX5wlui9Q9wi1MH5rSml/szDEHIM7Ue60sqIotEDJHmATpKcv6YJdsWnfPKPY6OSmM+Io+Bt9VdiVcKdDH1Cg6t6b260KfCxmA8vwBj6+u0Or3RVLJBzglTY2x2yW4smBANRMy7vUaQCGuMjfxlqkYtwqi8csd27/xSjKEYjEsYE8PAcRIzN/M/KyVEEab+uF513LklZzqYftQV+xfyYWb96kEQ0HHEvR7GYR9T0jGSnb4bPJx7bm3013Ba8rPJg+EH3sPAEQsxJS/MAsSz65KufA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d217ea45-b0d6-c6ad-5d06-76cd9885d3d0@suse.com>
Date: Tue, 28 Mar 2023 15:38:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 1/5] xen/earlycpio: Drop nextoff parameter
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230327194126.3573997-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0145.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::18) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|GVXPR04MB9901:EE_
X-MS-Office365-Filtering-Correlation-Id: 809a7ec0-1101-4d40-5d8e-08db2f91afc5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M/ZeZvujt8Y6bQLsqDH5VABAe5p8yYESe8t9XbPYRp5LWAmSCdLFruFu87AyFg9yeHHHSHB88gFpcmFYwFH2v29JuwB/NEucallWgw0de5tc7Iz6hFvvepLaCCkSIxsMuu8IoPiHh3JcRn1Znpe2jRI6f1XN4lJyG1fnzay6qfJ2lGvH4aHJghD1TAWcMWZdrUaW4VzUYt1uPvp8b9uwx2SLHMronXdNnr8TDvbDY4YsmMZNf8U4kY8YC8c1ssNS1sMoQ96kU+MFAoF89vb3H4keKMLESdBU6EFzIdRHQ34DRTYiteJiDeI70NGrZL492LJivRsy03Vj3KhYANfu0PBm4CxQUF4pWfdYQC8jv9AuQiIBmOAOnjzDCoZux3sv5GxOWnFX4+K0wytI+HHqyOf3/mKjrunBl1faqRiomHtUTbKSve93Dt2qKspeqktwTP0DEexewcbg7i8oIwz1lxIcXF3gDP0UPrqk8wQOrm+Ew8PcuNO9Sd6gaufT45rHoFDqm980PfEwFQn6A/u7P0cm06iIe5ZajPgoye3rLg+Bkvve98JXVm0BfaTk5y6PBFqzzZPZjFNoMjzy4rhwoff76vOI3mNQY++qQK2T/q48hIiSxFOv8yMzjtzqm8A7l2xuUyyOEJwTKogsd6L4/Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(376002)(39860400002)(366004)(346002)(451199021)(36756003)(478600001)(186003)(54906003)(316002)(31686004)(8676002)(41300700001)(6506007)(38100700002)(53546011)(2906002)(8936002)(6512007)(5660300002)(26005)(4744005)(6916009)(66476007)(66946007)(4326008)(2616005)(66556008)(86362001)(6486002)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WDh1dGZzRmpSbENLdENzaFFDalhVNjJoK2xmZnRQTkJlM0lyWjg3Z0RCbENN?=
 =?utf-8?B?U2xUVkdubW9sMmN0Q0xCSkp0eGQxUVVQZnlZTnY3RjdGUzJGQk5zdU5mNjF4?=
 =?utf-8?B?ZURSbGNpNkhUeEF1NFk5Q1U5YU51MnBPUmxoQVN3RE1HOXN5bjdHZDB1QTNI?=
 =?utf-8?B?QzBWanBPMk01OWxIMGNtZVFuVW1hV2x5c3R1NlVHbUdvWW5vZnVkUThXMWV2?=
 =?utf-8?B?RWhCN2ZCY0lpMnVBRjJWUnFlRlhFRE5hdTVYUGxRb2dSZjl1ZkpmRUlGazFp?=
 =?utf-8?B?RzdkY3Y3M2ZhbWF4T1Zvanc5WjNCeWMraWRwSWs2RHdLVHBRVzZHUDhYYVRR?=
 =?utf-8?B?TG52Qm5WNjl4MXZhN0xQcWhyNDlVMHNacE1sK3dQcHduQnRHenhTMmJYTXRH?=
 =?utf-8?B?Wk5VYkRXVFlaRGtIWTFVN2o2NlVJcjNRd1A4VVZMSGxVWW1xN3pWTVJaNFFB?=
 =?utf-8?B?VGpoUG1DQStxTHRYeDl1eHZZSE9SYXRhbWk2bHhwV3dRcjlNL1huZzdHNFhW?=
 =?utf-8?B?WG01WjdabFFnUjBpSXlYRFd6QWYydXN6Q29LbmZ6QmhmaENpVnF5c3ZjaW92?=
 =?utf-8?B?ZktzRjRFaS9wVS9HR3o2a2ZkcEtwL01pRHczUnl2VGNmc1JucitIbm43aVND?=
 =?utf-8?B?Zk43anlKRnZJT1JIcExwdEhiYXpGQzB3cUJ5bDRYV2htTzBDZXVTcVJKMWJ2?=
 =?utf-8?B?Wm00VEtibGN0Nzdyd2hVNUtuMU95UHNtVFlLMCtLUTB0SU5FaFMyaUd5ekpH?=
 =?utf-8?B?eDRaWVhKMnBIdy9iTGlzV2YxUHFjYzR6NkVyUzV5d1R2VEVvSXNWNGVmakJh?=
 =?utf-8?B?UDlZcUtpU2VwNFdtcW5USUtrVnNrVlVoR1BFVnBEaGV6Z2hTT0JhanlGa0Fl?=
 =?utf-8?B?aGh1YTdWSk5UUE1XR2JhUjV5S1VIbzhqZ1J6ZE9Ja3ZJWTI4eFE1K2R4TWV0?=
 =?utf-8?B?VVBDNkxod1BsaGIzSlVCSWdjMjFJTDFqVEpQZGpaVHp0UWozZDBaUHhMOFBa?=
 =?utf-8?B?UmFCY1NJdGtwc0ZoVmNDZllmWnZ5eVlWRXNsT3dYc1VpRFNXeEZYMlovOFFh?=
 =?utf-8?B?MFJuak5JUUo3YURaNFBzWHJBcXowOFFxZzF3eUttaGE5bDJQaHVoS2YvWE9v?=
 =?utf-8?B?NWNwcnhwY1RvSkROSjBJRjdvc3p1LzBJYWpSNGdYWndVYUsrM2RVZXZqd3hT?=
 =?utf-8?B?bGg4UzJocXVKRE4xdzVlS0duTkNEdTFxRHNhRHg3d2xrdXBkR09PNTQ2VWVt?=
 =?utf-8?B?M2d0YjF4MUFOVklabUhTeVlrSStWZnVkTkE4WlBIOVNiaFJuaDMweHdQaFVh?=
 =?utf-8?B?dTRDUERVdDBncG96WGtyS0cxRmsyTjM4TjI3V2ZNM3gzcXNVczRBUjBZWUZ1?=
 =?utf-8?B?M0djSFhPR21MVlRCMUl3U1RvMlhPNXBZUzFpZmpya2h3d1p5RlV6YUJRZTJu?=
 =?utf-8?B?N1M4aFVRSS9jV1d3V0tXQ3FRekJwaFp3SUgxTTdSVkZDL2U0Y3dQb0t5REp3?=
 =?utf-8?B?SzhoSExlTXV4OUhjNk9CSGNtOStFdVJRQmVNTXIrOXZvTjBoOHMvZ3ZzK1VS?=
 =?utf-8?B?eG53eVZqUmF6VW55SXBXaTM5SUh4Ny9obnJGYUo3K1lzVFpjY2diSm5kZWhm?=
 =?utf-8?B?MjU1aHo5cFpIS21hZG1zUFdDTFdlN1d5MmxMM2tuWTNxOE9WS1lBcDdSVEpV?=
 =?utf-8?B?ZUlGVEFuN056dnZlejB4ZUV6alRZajZtRWpwM29iSG9BRm9iRVMrc0hFYWww?=
 =?utf-8?B?R08vdVZ6UzNGSGZRWVpKUnhpK3pJY2xKVEFkRWM0bklxK245UXFPQXE5MExR?=
 =?utf-8?B?VGlyN2dUVmk4TS81TWFzQnZ5U2hPU1pDNDRRdStxaFRaN0E5MldaUy90STJk?=
 =?utf-8?B?Nk9BVC90ZWozcjhNUkVsZDRrdkYzcjA4YTJZVy91R3BhcUNMdDlmQ2N1SjFU?=
 =?utf-8?B?L1FxZUVncXJWUjhTUnBENXZYTmJUQWZPZTM2S3NJaWl4V2dEYkx6THQ2emo4?=
 =?utf-8?B?citidG9MMWFXQzV3VURibTFOaTltbDJTb0hsUkNscWpRYTlUZkhVeDhRQVFD?=
 =?utf-8?B?aitXUWdDU0hPUU4wYUtLbVRKTHllTlBMRTh5MlAzZzFWaDRadDBGdzJhZm5G?=
 =?utf-8?Q?J7OraD2gOZSBGM0eP4cu8M/y4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 809a7ec0-1101-4d40-5d8e-08db2f91afc5
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 13:38:16.9743
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hW14DKjZvc5JMRgr+brcYMzMm9s7YqlpGoX0Os+Vs+3BnerMgGpp8CYFQYPG+YtIdnN/wwXwa+qmwxbb1jMpcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9901

On 27.03.2023 21:41, Andrew Cooper wrote:
> This is imported from Linux, but the parameter being signed is dubious in the
> first place and we're not plausibly going to gain a use for the functionality.
> Linux has subsequently made it an optional parameter to avoid forcing callers
> to pass a stack variable they don't care about using.
> 
> In the unlikely case that we gain a usecase, we can reintroduce it, but in the
> meantime simplify the single caller.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:43:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:43:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515859.799130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9c6-0008K7-J3; Tue, 28 Mar 2023 13:43:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515859.799130; Tue, 28 Mar 2023 13:43: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 1ph9c6-0008K0-GY; Tue, 28 Mar 2023 13:43:50 +0000
Received: by outflank-mailman (input) for mailman id 515859;
 Tue, 28 Mar 2023 13:43: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=IY7/=7U=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1ph9c5-0008Ju-Ku
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:43:49 +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 91294e64-cd6e-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 15:43:48 +0200 (CEST)
Received: by mail-ed1-x52d.google.com with SMTP id cn12so49954812edb.4
 for <xen-devel@lists.xenproject.org>; Tue, 28 Mar 2023 06:43: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: 91294e64-cd6e-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680011028;
        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=fMmKS3ch1qD+4oU0IdBcFNRmcoLkHIFo6+MDjVVdc2w=;
        b=fd4MZHQIzbN8W4QYwRjabteV2LNYAXDnbX/zk67gaGM2g49N5tGnBDOgdyQGVs57WW
         6QcyEF401/m9tO3pRzXLavP8FY8mlXdhbmfDkMvD8ht4jSxj2hP4+lBhysKQNe9msLOR
         sfca3BlZQFoKwc8N6adZ+6cbkYGZ1rO4vpJQth44MaMyyKl2QWmLmAzhi+b6+OrR5YrI
         V54ZTNG14N49aGX4Boflmhb+N1P/ogr6KFqIsvsXUaOT1QD45gt2F+PtR9PJ73nH1P33
         b7j+vI+Q8Y/YE0hP04du3aRkvNLUx+N08cKmFI7Z7oSuqIqKz5jT8NBwcAAbvNdCUqDE
         7d0w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680011028;
        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=fMmKS3ch1qD+4oU0IdBcFNRmcoLkHIFo6+MDjVVdc2w=;
        b=DNuIAKCDQdqYOzsZX4/7CMjYTf1Gx30Xxp6NFPcmztwBUOvm9L+zE2FyAOu7dnx0dU
         DwjgcMmom1YdrxdbSBbFFwGzya7x8b+bNsBb+citbdCzmJNL4C9NVtcrTNUIRAToEKGu
         Kwqd6EUQHDHrG+s21IZPcraomfQNmELn+bkWkYEMDUb6eqqzTmsjuuzn9JUU4KN98o+X
         7QEi23FGO3564rVBNQ6Ep+G5XLVaGZ1WBtJ+mAulOldOc8I746LssVwUcSYqTU9g1flS
         4WdXCY2LCXSfTdv5RQxz++C7lIIGLzvEX54ouVC/LUWO2aewVqrLC17A8lU5cRDbzT2T
         uEog==
X-Gm-Message-State: AAQBX9fRDAKtHSNOl5lLE8RntzYCfSFF5cN6VmQDgSxC/RR1kCDWcygV
	gX5mORiODbML//TGVzxKUdqswj74FUkr1GVicxrQnhy95XI=
X-Google-Smtp-Source: AKy350YIh3KZpAulf6SmhkeMYgdNFdg2i6H5mX7sttqubron1D8fwHIsmM8+7O7UTDM8YbDPf1ZQYpgu1RWTO65zFOw=
X-Received: by 2002:a17:907:20bc:b0:92a:581:ac49 with SMTP id
 pw28-20020a17090720bc00b0092a0581ac49mr6960342ejb.3.1680011027952; Tue, 28
 Mar 2023 06:43:47 -0700 (PDT)
MIME-Version: 1.0
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com> <5cfcfb7a-df50-fbe4-89e6-611a83991790@suse.com>
 <ZCLl3ePLgrmFTViV@mail-itl> <1b530e63-de12-f953-1fb5-4e3c3ea69fea@suse.com>
 <ZCLrX2TmYlg2kMxL@Air-de-Roger> <CAKf6xptXovH5-OwuuJ4cNz4JxG-mw3mcwRBJf4PuTwjBA12fSA@mail.gmail.com>
 <6d4c11c3-31f1-48bc-b7b6-0ad0b73fc09c@suse.com>
In-Reply-To: <6d4c11c3-31f1-48bc-b7b6-0ad0b73fc09c@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 28 Mar 2023 09:43:35 -0400
Message-ID: <CAKf6xptkHRcda5DPs4e2+7sgq8ck4-wKZhTHNC+43XWHZy_2TQ@mail.gmail.com>
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 28, 2023 at 9:35=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 28.03.2023 15:32, Jason Andryuk wrote:
> > On Tue, Mar 28, 2023 at 9:28=E2=80=AFAM Roger Pau Monn=C3=A9 <roger.pau=
@citrix.com> wrote:
> >> On Tue, Mar 28, 2023 at 03:23:56PM +0200, Jan Beulich wrote:
> >>> On 28.03.2023 15:04, Marek Marczykowski-G=C3=B3recki wrote:
> >>>> On Tue, Mar 28, 2023 at 02:54:38PM +0200, Jan Beulich wrote:
> >>>>> On 25.03.2023 03:49, Marek Marczykowski-G=C3=B3recki wrote:
> >>>>>> Some firmware/devices are found to not reset MSI-X properly, leavi=
ng
> >>>>>> MASKALL set. Xen relies on initial state being both disabled.
> >>>>>> Especially, pci_reset_msix_state() assumes if MASKALL is set, it w=
as Xen
> >>>>>> setting it due to msix->host_maskall or msix->guest_maskall. Clear=
ing
> >>>>>> just MASKALL might be unsafe if ENABLE is set, so clear them both.
> >>>>>
> >>>>> But pci_reset_msix_state() comes into play only when assigning a de=
vice
> >>>>> to a DomU. If the tool stack doing a reset doesn't properly clear t=
he
> >>>>> bit, how would it be cleared the next time round (i.e. after the gu=
est
> >>>>> stopped and then possibly was started again)? It feels like the iss=
ue
> >>>>> wants dealing with elsewhere, possibly in the tool stack.
> >>>>
> >>>> I may be misremembering some details, but AFAIR Xen intercepts
> >>>> toolstack's (or more generally: accesses from dom0) attempt to clean
> >>>> this up and once it enters an inconsistent state (or rather: starts =
with
> >>>> such at the start of the day), there was no way to clean it up.
> >>>
> >>> Iirc Roger and you already discussed that there needs to be an
> >>> indication of device reset having happened, so that Xen can resync
> >>> from this "behind its back" operation. That would look to be the
> >>> point/place where such inconsistencies should be eliminated.
> >>
> >> I think that was a different conversation with Huang Rui related to
> >> the AMD GPU work, see:
> >>
> >> https://lore.kernel.org/xen-devel/ZBwtaceTNvCYksmR@Air-de-Roger/
> >>
> >> I understood the problem Marek was trying to solve was that some
> >> devices where initialized with the MASKALL bit set (likely by the
> >> firmware?) and that prevented Xen from using them.  But now seeing the
> >> further replies on this patch I'm unsure whether that's the case.
> >
> > In my case, Xen's setting of MASKALL persists through a warm reboot,
>
> And does this get in the way of Dom0 using the device? (Before a DomU
> gets to use it, things should be properly reset anyway.)

Dom0 doesn't have drivers for the device, so I am not sure.  I don't
seem to have the logs around, but I believe when MASKALL is set, the
initial quarantine of the device fails.  Yes, some notes I have
mention:

It's getting -EBUSY from pdev_msix_assign() which means
pci_reset_msix_state() is failing:
    if ( pci_conf_read16(pdev->sbdf, msix_control_reg(pos)) &
         PCI_MSIX_FLAGS_MASKALL )
        return -EBUSY;

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:51:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:51:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515862.799140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9jY-0001RI-AM; Tue, 28 Mar 2023 13:51:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515862.799140; Tue, 28 Mar 2023 13:51:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9jY-0001RB-7X; Tue, 28 Mar 2023 13:51:32 +0000
Received: by outflank-mailman (input) for mailman id 515862;
 Tue, 28 Mar 2023 13: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph9jW-0001R5-T2
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:51:30 +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 a34a000f-cd6f-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 15:51:28 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AM0PR04MB6930.eurprd04.prod.outlook.com (2603:10a6:208:186::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 13:51:26 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 13:51: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: a34a000f-cd6f-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cXUU1SA4cIrWhYd9O3Pi6pyRGcLq/Sd2esITsCq8ghao7riLcxyAhHfb7H5OnhJnQSdNr0cFLGMeOaEb7FKgv8wLQQXPVc3BB9dKFpsmPu1Qul/eh/bJBbiWKVI4jrqT7y1yOC5GkaSPYNqVZUDl2L+WNwGHVRZrmQfZI/ormiPNSJlLULjIOkFfUiRDj1RUY2kGCL4z+Tpyar8rdH228EcjOcjQB8JVtfS07a/EfePa8vfcC8E5DYff38FUY0qbJBwd07641v/CVd8zGc7cTQlwSp7s+yJd2oSwYHWvbP/Shn6pmXOBXUFf4hy8RneFg5ZmaDV0I4lfzDKj/uTZdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7ZcaX2y5V1bTP0Arq0RT/OQDF/ptatLDuxmANi7x0dw=;
 b=D+VV9jENRT/qoEd9TV2WTMYMbYm/pIIhTjXgHxAmp9SeESirIY7JkwLn2NoNcIvROtr+TpdbNOTgj2H1XeRLjHw4dk9Zp7FmyRkSNphosZytWhGMTMFvBPGdoDVbQa5aZHLrC5juUz+Nv4GiBvr13SCvUvnjk6F1/0Q0oNNfYIWngLTjL38BAXfkw68dlUyyar2FBzcRkskXaxJIICfQpXkEvegZq5WkuNc+ucltOMQ2EShFuRqjU7Ktf8h6MKi6ovoIx7rGSIuYsuttdkfixusORoHI1XsNOFu3xZh3QzRjxFNbvtuQXPDmmX3Ziiiiv7h5fLgWK4cm2p/uYAtv8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7ZcaX2y5V1bTP0Arq0RT/OQDF/ptatLDuxmANi7x0dw=;
 b=FLqm6X56Ottg4NUzEJI9lVfQB8p/r5X6sd9iuf9xEy0xXXFEjHTRZ5W5Y/sCA3z5oRcAcgp00JCSCsaglMiNU/RTJMy8cpjXPciYQ+yFdGPRb+svoSc4sDJGeEcy/qpCtY3gqLsVmgKxJHmzgr6Xs82WKwRTTeKqMcMd4ukS8fNNzryUAWfkd22zlhUZsdNrX1XY1hXqw7DTbMjJE06JK5Ju3bIsgUmFqV2EYtwJNmk7OkxeXbajilZAqeM+PVgPZ56AieXzVnrtP0dcBCCcR/spPExOsMwovYo3+azUlIH601sgkPwq9SwGnP1dVaLWIqARD2iHCf1vjAssrzqb3Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6b6b7da5-dd1a-1b17-b1ce-1b1adb687807@suse.com>
Date: Tue, 28 Mar 2023 15:51:24 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 2/5] x86/ucode: Fold early_update_cache() into
 microcode_init_cache()
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230327194126.3573997-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0064.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::12) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AM0PR04MB6930:EE_
X-MS-Office365-Filtering-Correlation-Id: 057048bf-e696-428e-7990-08db2f93864f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qCxSGP2m6EeV22BZoZuFu6wVB7zs6BeK24WEW1nkd4DvTFIMmyLQiBSk6MMvVHh2GbY5SGffIR2VjIMMHQJo6zFVHI51BebUwcRtJuuBTV66yg6zL+wfS11T5yBMGdCKhCG5rqwhW5tAtt3GZq3g8GXJ78nXhEeCbdIIuqGqj+JVfh7giox8tFU8lF4scaQtfY6ntxrL27lh/GYNaGPde2wFm0qW5GDIdcSFDxV1fD/K6iHDeblG98mUKBoQrIdWMkAQfMaS4DdCE1q9m4k0zgvOgVaQL36wQHBfiPeurgAe8X13tKLSgZiwIyvGpkQpYlIfytUh38lFWx522qUZcjWoT1F9QRen5e+1vRHB4Tyfim4HsMOaj5Crb2HqgjvaSOxwZ5T1B/+Ml8M2ouWzSibCnOqCtD+LrAcR8tCNc9B0DKENTYTqXFqvpVxm4t5cBV5w2V9vFprxh2ChasArHPZfcLhV20KLgE0f1AxjtI1xZEOWBf0l01dFf/qbMMTNmsVI3JcMgozaxn9zPJBmdy6j2eOvdbbPwbAgxvg0NuN1ypuISmPTREY0XgIk9urBan6fXiwtmjw81TcMMokAIRHhK/0fb1Bg4baWFDCKSZxGEh+Jijm8emOvM4kDdmhJs3W+zKaw47Z3BbfcGivN1A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(376002)(396003)(346002)(39860400002)(451199021)(36756003)(31696002)(86362001)(478600001)(316002)(54906003)(6916009)(6486002)(4326008)(186003)(66946007)(66476007)(66556008)(8676002)(41300700001)(6506007)(6512007)(26005)(53546011)(2616005)(31686004)(83380400001)(2906002)(8936002)(5660300002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bkhvWnY4RnQxL3ZhUVZPNE93aGVxaXkybEs5eUhCaFN1TTgxSFd1SnVDcFlY?=
 =?utf-8?B?UTdoOHRVL2ZKcVlQcGgrU1ZiREczM0NHdkY3cWNhc0t1OFZmZXgwQ3Y1bjlI?=
 =?utf-8?B?MVVPSytTSk5uTDBSNVhWcVl2ZXA4OTd1bXpueGZ1c1IrVkpELzBmNVo3N0VV?=
 =?utf-8?B?Z1c5ZEFrRnQxcG5nRXloZ2krZkMvdUZGa0djSjFjVmJySEcwRGRGR0c2Mnlo?=
 =?utf-8?B?U3FhaUxEUklabkJ1aENaQTUrNGF4WUovYkFWS1VvcE1IMEFGSXFqWmg5bWNz?=
 =?utf-8?B?b2V3bjJ0SmgwOTljVTdKWEtneTZoWW1BSzd1ang1S1JKb0pHOTFBaFNseWE0?=
 =?utf-8?B?S2FrYlI3UXJaanEyaFNmWndCL0RrVktRVXJqKzZOa0JuTnE1QjhSY3NFQXgz?=
 =?utf-8?B?VjVxMEFvSVZxMzVzZ3grVFBMWDNBUmRWc2JqSEF6aEpPTEZzY1laSkRCT2xP?=
 =?utf-8?B?bW01eXozaC84RTl4aVozMWYwM1hNWmpIa2VQWkNCT1Z3SkxhYjhFQlR3QXZC?=
 =?utf-8?B?allEWUcwRnFTWGo0Nm1XSTV4SDFZY0d6alNJYTExVlE2eXNvcnh6WGFhTUUy?=
 =?utf-8?B?R1dJQTZYSFNpNWhiaFN4WHM4TW9CQmRDZytyQlR5R0JhUlZ1THJaNjVrdWhk?=
 =?utf-8?B?eUVIQTNhSGR5dGd1aXZDbmhsS21jV2c2T2Z0Y01DR3VPMiswaE9DMWJsMDNo?=
 =?utf-8?B?S3ZjLzJVUDFyMkc2UFg0TWtQK21KajFUR2w3dXVJWk5YWkVkditxYmxlUDF0?=
 =?utf-8?B?UDB0b2NTdHpPdzMwUnZFbGRhTjRzblp0MklmZnNQOWdxTWxySkxKYmhFbHhl?=
 =?utf-8?B?STA1L01zNE9ZZk54TGJUQ253ekpQekY4dmxmRzZVVzQ2Y05qQlNDNlNSNE5H?=
 =?utf-8?B?bEU1ZzgxMTRoOENUanJORXJLS0VTc24vVjJUckNXeks0Qit3T3hMczIxY0Va?=
 =?utf-8?B?L2QxQkp3dVE3R1RsVzNxalNneWJNWWNGUGVIelgvdnZSblZoVUFWMlZSOGdJ?=
 =?utf-8?B?TFdJRW1mVnN6dkhwUGJlY1A3UVdCUUk1bER3QmRKRS9jQTlsTXJEN3B1cWlj?=
 =?utf-8?B?c1VpSHVkZ1JLaEtidWZzdCt1a1RWbStuTWFteDAvYSsrZFhqS0NGYnd3SGRB?=
 =?utf-8?B?SW9EWVJuMHRQVTgzNnhMQnBKVVI1dGhCNXpUNG1sZVByNmx2MFE1cTUxSEti?=
 =?utf-8?B?UW1hVVNKN0ZGMmlGOFBFQnNCQW5mUjVnYzdzWlRWMXd2TzZWQXJGUmJ2aUMx?=
 =?utf-8?B?MWVSTC9GUUxGb1diQURkYlFKV29sU1RUanRqTExzY2NkNSt2dThTUUF6bWky?=
 =?utf-8?B?dEVVbVo4c05nOWhUWmFwVTZLZ29oZXAwTkxwMTBmU2xVbzlieHB6UVB5WmtL?=
 =?utf-8?B?VlVJMmFwdHFxdVZjWFdzd2RkY0dKaG1mT0wvRTNaMWZtejI3OVIrWlhIT0VC?=
 =?utf-8?B?MFcvdUx1VSsrYVFySWFFblVSWTdpbXJScXU5aHpGcHc3T3AzdnkxQVc5aW1z?=
 =?utf-8?B?SkpTN1dmUnE1dGhkbDh2TE95WkhtSy8xQUNSMTI1WjQ3b090bmM4MlpaVlo0?=
 =?utf-8?B?OUZPNGg0RUhzeGZRUkp0NHdyWVpMYWtrUmwwVEVIV1ZJMlNjd3JoaWxabXdo?=
 =?utf-8?B?elhjSUdUb1NBOHZPYlB2RHpqWllrTlhUUnFlSDBjelFqd3NzbmFQeExmSS9i?=
 =?utf-8?B?Q1pjdXIvQ3Z3ak4rOGlkcVFqNE9XdEE2c0liZ09DWkNsNkMzbi85OTQzdVpK?=
 =?utf-8?B?RlFNdWFWdDFKVVFPcHN4SUh2bE5Ob2R4eFdnVVpmeEZpamJsSllXU0N1UWNa?=
 =?utf-8?B?akVoMzFNRkdMYStPZEVjeWtGbCtnRWFPU09HQS9EbjAyWVpKaGRnSklvMFls?=
 =?utf-8?B?TmhiZEJ1TEdQcXZ2bjcvOGdnUFNKVXJCU1BiRkx3SkY1Rzc2UzhSRmllcjdo?=
 =?utf-8?B?c3ZOQ1IyS0JZcXg5L0pwbjhtRi9ES1dvcWhyRGtpbHp3bnBCS3hTSmZXeFFa?=
 =?utf-8?B?R01rQjc5bE1LMU0xbkVoOWttWG1RUmVldXh6YlIzcDgrc1RKK2JIMmE2SW9s?=
 =?utf-8?B?ZDRaczlsTHFOd3pvYjRxcHJTNE94VStYaGZQMnE4MWxjWWI5Nlg5UUhBVkRu?=
 =?utf-8?Q?EYH6Dqr5igLclT8OGEms1BAqr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 057048bf-e696-428e-7990-08db2f93864f
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 13:51:26.4843
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: y3lsKbHNcegDWEE95hTViu0flCErci/c0qLiTQklNUOFIquUSo4FfWLIsSstsO6b0YFWDI0sY05kiOGknDKRhA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6930

On 27.03.2023 21:41, Andrew Cooper wrote:
> It is not valid to retain a bootstrap_map() across returning back to
> __start_xen(), but various pointers get stashed across calls.

It's error prone, yes, but "not valid" isn't really true imo: As long as
nothing calls bootstrap_map(NULL) all mappings will remain as they are.

> --- a/xen/arch/x86/cpu/microcode/core.c
> +++ b/xen/arch/x86/cpu/microcode/core.c
> @@ -755,47 +755,51 @@ int microcode_update_one(void)
>      return microcode_update_cpu(NULL);
>  }
>  
> -static int __init early_update_cache(const void *data, size_t len)
> +int __init microcode_init_cache(unsigned long *module_map,
> +                                const struct multiboot_info *mbi)
>  {
>      int rc = 0;
>      struct microcode_patch *patch;
> +    struct ucode_mod_blob blob = {};
>  
> -    if ( !data )
> -        return -ENOMEM;

This is lost afaict. To be in sync with earlier code ) think you want to ...

> +    if ( ucode_scan )
> +        /* Need to rescan the modules because they might have been relocated */
> +        microcode_scan_module(module_map, mbi);
> +
> +    if ( ucode_mod.mod_end )
> +    {
> +        blob.data = bootstrap_map(&ucode_mod);

... check here instead of ...

> +        blob.size = ucode_mod.mod_end;
> +    }
> +    else if ( ucode_blob.size )
> +    {
> +        blob = ucode_blob;
> +    }

(nit: unnecessary braces)

> -    patch = parse_blob(data, len);
> +    if ( !blob.data )
> +        return 0;

... here, making the "return 0" the "else" to the earlier if/else-if.

Alternatively, if you think the -ENOMEM isn't sensible, I'm happy to
consider respective justification for its removal.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:52:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:52:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515865.799149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9km-0001y7-JK; Tue, 28 Mar 2023 13:52:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515865.799149; Tue, 28 Mar 2023 13: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 1ph9km-0001y0-Gh; Tue, 28 Mar 2023 13:52:48 +0000
Received: by outflank-mailman (input) for mailman id 515865;
 Tue, 28 Mar 2023 13: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=5ZWa=7U=redhat.com=pabeni@srs-se1.protection.inumbo.net>)
 id 1ph9kk-0001xs-Qp
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:52:46 +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 d0623f00-cd6f-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 15:52:45 +0200 (CEST)
Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com
 [209.85.219.69]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-443-w9lb66jMOy6vIbYMtvz_Qw-1; Tue, 28 Mar 2023 09:52:42 -0400
Received: by mail-qv1-f69.google.com with SMTP id
 e1-20020a0cd641000000b005b47df84f6eso5111365qvj.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Mar 2023 06:52:42 -0700 (PDT)
Received: from gerbillo.redhat.com (146-241-232-148.dyn.eolo.it.
 [146.241.232.148]) by smtp.gmail.com with ESMTPSA id
 s20-20020a374514000000b00746b2ca65edsm7102786qka.75.2023.03.28.06.52.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Mar 2023 06:52: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: d0623f00-cd6f-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1680011563;
	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=Lj+lqmXXS0BSikuA1TdKYzG9abofXGYmvsNuCdhCLz8=;
	b=FYIKUnu4O4fWwrwalTCOfjjHkXf12Ymk/4lVH5i13RoeyczFYSV6jc/Leig1EFYgTZJO3n
	AFwHzvCaOV3MnllS+uhFyIR7cWWf6jrE1Lm8R7ughNuf2BJxJKLahDGyWGx8BlubxkfcPZ
	JLDj4nR/MsvjHpY1oeAYuT+4WwQaQ6A=
X-MC-Unique: w9lb66jMOy6vIbYMtvz_Qw-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680011562;
        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=Lj+lqmXXS0BSikuA1TdKYzG9abofXGYmvsNuCdhCLz8=;
        b=b3wtNsSnz1rUi5U3d8dd8Osx7QciI+AhjuNvn1vJO2T2CZAVtL93kN66PA1xD1V37I
         meCvMn9DVoXwGdyg8t3UZYIhc065bWsXAG/G5c2hDKCyCFf/wM+hJ7BR13VzS9YtZxMW
         2ENscSnP+DHx3LsPtQtey4Ty2wPyEj55MATvqSEE4DXaZk3CwDgf2BkCU66AqfGDANnw
         ICDcfQgcNGg0hWVJV/G+tzZD91+5n7tzTFyr0oXP1+cPnVTLRjn2w4BgMW5L5lcKmV0P
         tz/j/VepdHVQnezU9nVcRfrocJN57qoK8qiUG6VtXkObuwe/QiseoazYs+AmPDOvGkwo
         sLyg==
X-Gm-Message-State: AO0yUKVmJRrIbSP8Lm0fhKBCCeNnN4E5C8CPBEH+ZT6KxySeJuLKy1+s
	GioluGQa3sI23rdszMtusop8UxHTDcwawtuIi5GLW4t44h0J+aLAC7msPpBHRXjDjcSDdbP/F3t
	SpZ7E8B6TAYEBEm0T+gJYaf0xQws=
X-Received: by 2002:ac8:5c49:0:b0:3e1:b2b4:f766 with SMTP id j9-20020ac85c49000000b003e1b2b4f766mr26805731qtj.5.1680011561956;
        Tue, 28 Mar 2023 06:52:41 -0700 (PDT)
X-Google-Smtp-Source: AK7set+Nsnehld0v77wMMLYEKM1+leVknIUJ69BwExMVTazmwQLBmfGnLpDVN40nlnWtQr6AxhbgBA==
X-Received: by 2002:ac8:5c49:0:b0:3e1:b2b4:f766 with SMTP id j9-20020ac85c49000000b003e1b2b4f766mr26805706qtj.5.1680011561719;
        Tue, 28 Mar 2023 06:52:41 -0700 (PDT)
Message-ID: <da45f73bcc2642260ef7718a6650dc535cc05c86.camel@redhat.com>
Subject: Re: [PATCH v2 0/3] xen/netback: fix issue introduced recently
From: Paolo Abeni <pabeni@redhat.com>
To: Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org, 
	netdev@vger.kernel.org
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>, "David S.
 Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub
 Kicinski <kuba@kernel.org>,  xen-devel@lists.xenproject.org,
 stable@vger.kernel.org
Date: Tue, 28 Mar 2023 15:52:38 +0200
In-Reply-To: <20230328131047.2440-1-jgross@suse.com>
References: <20230328131047.2440-1-jgross@suse.com>
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37)
MIME-Version: 1.0
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

On Tue, 2023-03-28 at 15:10 +0200, Juergen Gross wrote:
> The fix for XSA-423 introduced a bug which resulted in loss of network
> connection in some configurations.
>=20
> The first patch is fixing the issue, while the second one is removing
> a test which isn't needed. The third patch is making error messages
> more uniform.
>=20
> Changes in V2:
> - add patch 3
> - comment addressed (patch 1)

I misread the thread on v2 as the build_bug_on() was not needed and
applied such revision.=C2=A0

Please rebase any further change on top of current net.

Thanks,

Paolo



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:54:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:54:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515870.799160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9mf-0002bt-33; Tue, 28 Mar 2023 13:54:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515870.799160; Tue, 28 Mar 2023 13:54: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 1ph9mf-0002bm-0G; Tue, 28 Mar 2023 13:54:45 +0000
Received: by outflank-mailman (input) for mailman id 515870;
 Tue, 28 Mar 2023 13: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph9md-0002ba-PH
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:54:43 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0630.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 16ed3f8a-cd70-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 15:54:42 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by DU0PR04MB9657.eurprd04.prod.outlook.com (2603:10a6:10:31c::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.41; Tue, 28 Mar
 2023 13:54:39 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 13:54: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: 16ed3f8a-cd70-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RbOTnknAQZWimc13KZlIh2OIVBo2eiyAYM4zba11qrKaDyuTkhC1eb/80zRGZAegNWYUmoD5aB/qhzX5xRPBOpHNd4uXAAzMm4iJi3+3HDJeJXdmAunIg0xE1XQJOtCW8bu90EQov0zQ6hZCWHXjs4nbuwwYmdySETN4Jst2ZcoN6JyJwGiEf3ZIAkWnv0Y2d/WW7s1a6sxK1Q2wzLUua82LP4omTn35JZ7+v12uAaJFXu2SLH/OgIhdy0uCi6PCtv3j33q8p6XfOASewt6/HZ4/5SslsPebeyC6lbyyGInMRy/IkhMl34hbhkjM6jXgBWDFja3zVb9PqsoMjdp8bA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=da4x69juNdHN/z5lLumvV+pmMAm8MxL/bno2l7xNtMQ=;
 b=P/wfK/4AWCgg0a3uQtzQwHjZ1UB0/QVfS3bzlGUAae/JR+lrUkzdclLU6i65YiMDxGseRKP4Nih/oi7lAjgeP9QNRjtmtOZs0Oala3T2ZvORwoifjfKi0TcE/XAQhI8qRiXdXZky662T3ucrkV7e4hkcsGMb72pIJ8tVZDF9sZ4Rrbd8/7tN2ng13N4jkwl7yJR1rvYfvE5exbZm8YxIy5T/D76rw2W5uAM8ndypTgvH8/w8RcrEaSFbi2GIz6VjQpR+4zrLLMjioXLr8MhA0DJkR8ze6ykQ4+5Eg70oMhGMFSEZBz+88iHjuDfvMxavLQ30M9Pjd/hVNBXrHEN+WA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=da4x69juNdHN/z5lLumvV+pmMAm8MxL/bno2l7xNtMQ=;
 b=sLsGNObzaTZ5tMeg4Dm04pcEv7qTEAyP7ziD7MzDV62TZK/+oam/hOtA+DWFpO8kq/XbPAZfKBvLUd2/Pn9mh6DCUPMS4KXiT2SbvA4uFKCiCGr9kN9/DdE1tzIk9pXMfMsmnRWVblGb06gSsYA7LsrPnQ1JHWUPN/E9wxDogy4XDGqyUUbcllkx0gUmU9brUspXA8FPG0ks1aV7Eo1f31xR5hRd8xzCC9t1lm7ECu2EjhQzWO77UvYJRm7/tOd21M3RmZbFhfNfYxte2N6df4QR45IsLG+8c1LUfDbQ4WAwxn2a4z1qraXRpFl+5LZ+ijzmB6q8sWViNsOwUKEXMw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dcba169e-9243-3e7c-f1fa-400af444f158@suse.com>
Date: Tue, 28 Mar 2023 15:54:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com>
 <5cfcfb7a-df50-fbe4-89e6-611a83991790@suse.com> <ZCLl3ePLgrmFTViV@mail-itl>
 <1b530e63-de12-f953-1fb5-4e3c3ea69fea@suse.com>
 <ZCLrX2TmYlg2kMxL@Air-de-Roger>
 <CAKf6xptXovH5-OwuuJ4cNz4JxG-mw3mcwRBJf4PuTwjBA12fSA@mail.gmail.com>
 <6d4c11c3-31f1-48bc-b7b6-0ad0b73fc09c@suse.com>
 <CAKf6xptkHRcda5DPs4e2+7sgq8ck4-wKZhTHNC+43XWHZy_2TQ@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAKf6xptkHRcda5DPs4e2+7sgq8ck4-wKZhTHNC+43XWHZy_2TQ@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0056.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::6) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|DU0PR04MB9657:EE_
X-MS-Office365-Filtering-Correlation-Id: 407e5bc0-9807-4064-5ed1-08db2f93f946
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QHQsOmmid/oYaMQ57/ID5hGtokFcMPYmYn9zDeCbaUGF8gVGeibkh8UmPCYo4j84Cn7ka2D3KMdtSpcFOuLEEZL9yxCgJGx02G7EZppipea5kPakokOpbhplj1JvJ3zP0VWvXhkDDwLm7CwrqcOJvL5MLv3NDOWse4u4cFC+ZUtndw5dq6HyDItXPy25mAh+PeBZGicNIzleI+94GG494xzLHqaRj9Cg/yfnpEGjlrQ/M7gpO6uq+f6s64b+1y8ipe1Lrkcm4Z72FXAaWc3EvuC+GXGeTL0e9kmAfNPRC1FPKZc2ISZ6tR4491qLhaQ0j/Ql15pQLZVzEl0Z33Zn+qIo4/sJOREdzdazEal2eSlEOyI6c6Q06K/sbNkOsEX0tqqZlJlO3rS6PpXHRUDCL5IqEdM4fmHf+hRucUNvPxN3FPAs9Nao+icTB3BJBwNTeU88gaHXJpouf55oRpn9mTuupntQoizwah5mvTMikjqooikqrOT7HTWLfKkzE727m0ImHV7ssdiTkcm9o7XGUx/Q/MBlJZWlKM2fY3QuvOomnci5PYcfscMcCCKKGNLThIUMtVmAZhNqUjYYDk5t/7hseBuvhmF4/g1oeSoCNhXilC4gqmbGsALkj3/7H9zLK6O7W7sZQXHuGn/p3mgV3g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(346002)(396003)(366004)(136003)(451199021)(31696002)(8936002)(316002)(31686004)(54906003)(41300700001)(2906002)(66899021)(5660300002)(6916009)(8676002)(4326008)(478600001)(66946007)(66476007)(66556008)(2616005)(38100700002)(66574015)(86362001)(6486002)(966005)(83380400001)(186003)(53546011)(26005)(6512007)(6506007)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S3Q2elZ4bG0yU1NTQnVTdXRpNkZmZUtWU1NvdEhyNVduMTNKTUo4N0o1YkRm?=
 =?utf-8?B?ZTRnUFhHaUtFM21MNXEyMU1BaU1UWGdlK1Y2ZEFJNFBOUUZGS05lcXRrTy9z?=
 =?utf-8?B?U09nUGUvVEs0NjMrUnA2K1VQdDJMWTlpT1ZKWnd6aERiU2d5THpGZXl1dTRm?=
 =?utf-8?B?OEZ3QWRrSit0NXRuNENiZW9ZcEJtblZHUys4VmE5V3I0N1R1S28xSGZaVkg0?=
 =?utf-8?B?azJiMnBNZ1RsM1RKTlRRMTlhQzdMZ291SVZJNFVUUUkzWkZ1QWZQcEZZYXJm?=
 =?utf-8?B?Ky9ycXJ3c2ZqcEh4d0V2Y29NTWpBUDRWRVVGR2U1b0JXWk5ubGQ0Yk1TZFJ4?=
 =?utf-8?B?MlJaYlJON09EMlg5WXcxWFJ6S0NBK0I1aTRpQkYxWk5zSzIzK1hPbGtTMEs1?=
 =?utf-8?B?RE0zdVYvNGk2VXJWL3gxd3ZOYmUweTM1NzBmVnhtWjRYU2ZnY1loMnlLWXJt?=
 =?utf-8?B?RGsvRmVwYkZ6Yy9lRHpQZGZmTWZIS3RJKzMwSWQ5dFRpT3VjbjI5ZzZuM0FF?=
 =?utf-8?B?TlJjWjJOZHAyajkzTEd0SG91VitlVWxQaWszZzRlZ3B2Zkw2RG1uUmVYR0l2?=
 =?utf-8?B?TVpnR0krSlBuOWVYWjVlbkJEWjRQOUxmM0s0QmZJRW1xQkkyM0FnZzhWNm5a?=
 =?utf-8?B?Sm1ld1hjbGlFR3QybUhNT2ZLQThyZGJiclMwakFLbjdhUGJBYXAxZlBzWVpq?=
 =?utf-8?B?em5DaDI2UUk1anJ2T0luNE84enBHSkx2UHNja1VnZm5pMUVJcnE0WE1UZlJn?=
 =?utf-8?B?bHdZVW1zZHg5MDhkMjNPWURITHBjQi9UQWhmVzNxSFR2TTV6bUJSU0VEWXRp?=
 =?utf-8?B?VkM1RkM3dGp1N0EzUmtqbTBCNU9YVDFIZjgwVUtuMmFSdnp5UERTYjVRcTM3?=
 =?utf-8?B?Z29mSGpFcEdnK0FZOWJJUElsUXFSMTdUcVVvWndPNjV4N1ZiK0V2K3RuVVps?=
 =?utf-8?B?TWFIeGRRQ3cwQ3ZsV1BCZ05EK1FtSklBcmhmbE1FVVRib2Q1K2dzR3RyTUZT?=
 =?utf-8?B?OXp4TjkyMjc1SHJ2ZU13QWszRWwxUythOFpUV0gwSUdHK1grYmZoZ0xBS2cy?=
 =?utf-8?B?VlZ3VTZXbFdmaW5GaGxzTVFwU3pKdnF4aTRkNlpMOThzc29ZeTZPdVlhSFB3?=
 =?utf-8?B?eUlvWjl1YmIwM3RUNXRRZ216R1E0cFBlWGxuOUlMckYvdHdzdHhsZ01SZ0xF?=
 =?utf-8?B?Rjd5cGhRaG5yUEZLT3F5eTRVenJBQ2ZIcitOS0c4VW5oeXFyNmh6dEx5VVN0?=
 =?utf-8?B?ZnFiVTd6TURxakcxdytvLzFvbkwzUkNMZkR6RVU5U3h5RVhZZFpqNG1SRXRj?=
 =?utf-8?B?RTJiMTU3YTJOb2lzWU1jTnFXMGc5a2VaNGZjdlo4c0x2QXBqYVhITC94a1Zw?=
 =?utf-8?B?cTJNdkZydDVWQUxuNTUwOUphVkhTNDJ5YjI0SEdqQUhiWmxNWTJXc2p1T1dp?=
 =?utf-8?B?bW95RFYzeERCSUhaanpIZm9ENFU1cFpleXM3c0FwNEM1cVJsZXVhV2dObytX?=
 =?utf-8?B?YkJCdFNqclFnQTYxYlFoL2oycWJJd2VhcURvS2R1V0FTOVRzLzB4MkkrUjZ6?=
 =?utf-8?B?RkpYNldUMld4QmxSRk5iczFXTXI1bWtIOVFPeG81UlFaNlR1N3lSOTQvNFd4?=
 =?utf-8?B?UnpodUtGZldMbjZGVzYwVm1BUTRXckZQNGMyYi9BVVcvSFpyazM5TFdOK2lX?=
 =?utf-8?B?eXVPdFNCOVlFVTdjb0tzNmk5TmFZRWdRY2ovWjlSOVBzV0NHMEpIR213aHNE?=
 =?utf-8?B?OGR2elZGUnorZ3QvU2Y3dDBiS1RudlRwdkJsOFBqV2FNejE1dTliaTVXVXV6?=
 =?utf-8?B?bHdDWC9jMjJJeW5ybzQwaE5iTUowZ3Q1Z2xhdTNXZDVod2lMZFhIWGtCaHBa?=
 =?utf-8?B?eHNFcUcwWmRBcDN4NitrcTdvUS9SSzdZQTJpcFJ0YU5STTdXWGo0K1ViYUZs?=
 =?utf-8?B?UEFmYmd3WmlCeithVE01VHFoV1dQa3FuTUFrUjRvWnZJU3BPc0o1aEg1THpW?=
 =?utf-8?B?L3BIK0V4ZFErTS95RVpuRnY3bXRRaDNBdG5tNmpYLzUreG9GV2V5Y0MyOFlo?=
 =?utf-8?B?Yko2dzVvV21YNDdDTnN1M0F4VnR0Q004WVF1MC9yWEkzZXczRFRpM2pEeHBF?=
 =?utf-8?Q?Qpqp86XbH1MO/d312QNg1l7LZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 407e5bc0-9807-4064-5ed1-08db2f93f946
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 13:54:39.2683
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MuGQYNNT4m8mCG0MhwLJ8WV54Ukovn4oXNQRtk5iITrDR/v1B7nzN/nUONB1NR67/dP9gQUijvr2HtopNxzTxg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9657

On 28.03.2023 15:43, Jason Andryuk wrote:
> On Tue, Mar 28, 2023 at 9:35 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 28.03.2023 15:32, Jason Andryuk wrote:
>>> On Tue, Mar 28, 2023 at 9:28 AM Roger Pau Monné <roger.pau@citrix.com> wrote:
>>>> On Tue, Mar 28, 2023 at 03:23:56PM +0200, Jan Beulich wrote:
>>>>> On 28.03.2023 15:04, Marek Marczykowski-Górecki wrote:
>>>>>> On Tue, Mar 28, 2023 at 02:54:38PM +0200, Jan Beulich wrote:
>>>>>>> On 25.03.2023 03:49, Marek Marczykowski-Górecki wrote:
>>>>>>>> Some firmware/devices are found to not reset MSI-X properly, leaving
>>>>>>>> MASKALL set. Xen relies on initial state being both disabled.
>>>>>>>> Especially, pci_reset_msix_state() assumes if MASKALL is set, it was Xen
>>>>>>>> setting it due to msix->host_maskall or msix->guest_maskall. Clearing
>>>>>>>> just MASKALL might be unsafe if ENABLE is set, so clear them both.
>>>>>>>
>>>>>>> But pci_reset_msix_state() comes into play only when assigning a device
>>>>>>> to a DomU. If the tool stack doing a reset doesn't properly clear the
>>>>>>> bit, how would it be cleared the next time round (i.e. after the guest
>>>>>>> stopped and then possibly was started again)? It feels like the issue
>>>>>>> wants dealing with elsewhere, possibly in the tool stack.
>>>>>>
>>>>>> I may be misremembering some details, but AFAIR Xen intercepts
>>>>>> toolstack's (or more generally: accesses from dom0) attempt to clean
>>>>>> this up and once it enters an inconsistent state (or rather: starts with
>>>>>> such at the start of the day), there was no way to clean it up.
>>>>>
>>>>> Iirc Roger and you already discussed that there needs to be an
>>>>> indication of device reset having happened, so that Xen can resync
>>>>> from this "behind its back" operation. That would look to be the
>>>>> point/place where such inconsistencies should be eliminated.
>>>>
>>>> I think that was a different conversation with Huang Rui related to
>>>> the AMD GPU work, see:
>>>>
>>>> https://lore.kernel.org/xen-devel/ZBwtaceTNvCYksmR@Air-de-Roger/
>>>>
>>>> I understood the problem Marek was trying to solve was that some
>>>> devices where initialized with the MASKALL bit set (likely by the
>>>> firmware?) and that prevented Xen from using them.  But now seeing the
>>>> further replies on this patch I'm unsure whether that's the case.
>>>
>>> In my case, Xen's setting of MASKALL persists through a warm reboot,
>>
>> And does this get in the way of Dom0 using the device? (Before a DomU
>> gets to use it, things should be properly reset anyway.)
> 
> Dom0 doesn't have drivers for the device, so I am not sure.  I don't
> seem to have the logs around, but I believe when MASKALL is set, the
> initial quarantine of the device fails.  Yes, some notes I have
> mention:
> 
> It's getting -EBUSY from pdev_msix_assign() which means
> pci_reset_msix_state() is failing:
>     if ( pci_conf_read16(pdev->sbdf, msix_control_reg(pos)) &
>          PCI_MSIX_FLAGS_MASKALL )
>         return -EBUSY;

Arguably this check may want skipping when moving to quarantine. I'd
still be curious to know whether the device works in Dom0, and
confirmation of device reset's effect on the bit would also be helpful.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:57:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:57:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515874.799169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9p6-0003EA-GG; Tue, 28 Mar 2023 13:57:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515874.799169; Tue, 28 Mar 2023 13: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 1ph9p6-0003E3-DO; Tue, 28 Mar 2023 13:57:16 +0000
Received: by outflank-mailman (input) for mailman id 515874;
 Tue, 28 Mar 2023 13:57:15 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph9p5-0003Dw-8k
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:57:15 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20601.outbound.protection.outlook.com
 [2a01:111:f400:fe16::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 70a9e168-cd70-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 15:57:13 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by DU0PR04MB9657.eurprd04.prod.outlook.com (2603:10a6:10:31c::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.41; Tue, 28 Mar
 2023 13:57:09 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 13:57:07 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70a9e168-cd70-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qb0D4sYCQsB0e+GERBn8qAvDQG/zsiOhGZWGgwJCeBQv/ucU3c1pMN11r7sZJPtAY4h9Y2dQSAHclD4Yadg7pj5uMEGiW0Aizu31DzhQn9xJXKwTVAvT/Bw9qvHaTQGpPo4u2VXbEMo6PFXXmdWU7bIpyf9jYJz5n7rBIATg3M5QCNlbKwwritz7q9j+Ht64hk26Vm3anwoUNFrcvimiE7V0NBjhrnAX+YkAKzZ/Al4yX8YY418z9yjef+KN/EVPLy8m7mBNDo5xSadexgp/m5NaS3C0Id4hqNbk2rS64hYdI4hvYZT+Z70URLtgdwaSxZRjsqHeU9lxFc6qgNwp0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+9TUmBIYEGl46AeH09cvKAPol47UwJJ/LDEqA7e1ToQ=;
 b=Vwb4EHEdSM0hJJ0zPhWZQvMo2c4Wwenl5os9Au3XjwcDaQ3Wkdg9ypnrx8mvXRdiR++7+uCCluDgZ6DNd3Cy8/QCOHqELy/3RqzehaBta2OeufCn4cNNaX4dDmcngQ7oDzVvtiQ+MDreu+7gMR9F/A7Ww8qV3HYeGM57hCDx8wzTGNy5Lzy2e5AGWt6bTTCBGpA9OOa6YTLPDmH2z99+u+isAkV5b01m4yyKEMJBNWMqVZHKAVNIxqaU1uOINvijm3ZQPDJQKd8CEPjI9GOIViXVfO/IcAWMFXCSN/xV3seyxgn+2DcXkaZS0cLfj2dUnJM0/h/zoCuhYs2voEwmNA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+9TUmBIYEGl46AeH09cvKAPol47UwJJ/LDEqA7e1ToQ=;
 b=nlysnF0Jyk2sIC4+Z+TpJL5kYA2E28u8DxoZlTgGqgjVL0RxBqX1FPXMsRLU/7T64k1347buqLulJTzX287h0DUwnT0fiVl4TUP5JVfW2aclKBnh5GNEZbj8msn+wgeiezPmLmCi0gsULjCKSIXpukBTYVYwOvZBXXAM19tgVx3aH3Kd/ymrWmzMJgdo+DoQX1rFrXrOoOHqzHIrg1KBO1JJu1GL9SRifFTM2M/JzDYEfgCR0+sb4inY/tKFYb9jMHaB/8SyLuS+2ANbRJj2wLAatYh9oOLD9TILHdZGvLyD6O1t7Sfcp9LjkMpozjHCPWOzwySam+0PI2GhdjJYlA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7fcb4be2-2c8c-dc17-3266-82c35a45eedd@suse.com>
Date: Tue, 28 Mar 2023 15:57:05 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 0/3] xen/netback: fix issue introduced recently
Content-Language: en-US
To: Paolo Abeni <pabeni@redhat.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, xen-devel@lists.xenproject.org,
 stable@vger.kernel.org, Juergen Gross <jgross@suse.com>,
 linux-kernel@vger.kernel.org, netdev@vger.kernel.org
References: <20230328131047.2440-1-jgross@suse.com>
 <da45f73bcc2642260ef7718a6650dc535cc05c86.camel@redhat.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <da45f73bcc2642260ef7718a6650dc535cc05c86.camel@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0090.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::15) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|DU0PR04MB9657:EE_
X-MS-Office365-Filtering-Correlation-Id: 076ed602-5b48-4ff4-ca55-08db2f945155
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:
	fUXPCu5GUYkWtxsfg/QpC/BynnqmidM3jSkLVcA8N7ZmtuqABLspZ6ye6NKZHuslMAHBzBlxfPoNNEhfk6TcFZ3qtzgWc0fLxfxtCwu9m9yMv1OWlDUWnjNt+tacshjE1paJc5UE5eXCyb97LwO3O+J884aZB+OPzcNCyvQLzoyxeU6Idm+Tm3ibx7+3csgS2DDerUOn3KJyOIgPE2BVyzs25s8UuZ9R99Nj1CY1RtLLYHy3MkMnSFjV9n2Ou2EzOPuJAbJKUkwPJB6PIvcZNXJzeuwJxE3KdBS4FGsnSyM31qLutdVLDNpgCWxoe8y4ZqKJ4g15cCu8S2UFEWNqFgqdxkgzhZvu19eKySiu3/7D4xy7PeDMs1yt+XbzcNFn6/LDCrpdb/8yCp6VNGFcc6PkT2wxEZJ42MALvU7PYNyvOoI97aEwSQfGJFVjueHWMk5xmGpljwpIJJ1ucYdqxjI3F/fzrwQS2WmXHMRXEzn4AldMGl7mXLySA1Y/fyipgRadhZ9zxab5iCoS4ZOmBmd9JMCMzr2SUZ9iTsoqk7m14vW2a+VSSrRRoHKEXyJcH++hSN4vi8qhgAtjoFPTSHlhCbGrrfRgZNY3USQPPkQ/NEWSLptLbAgRt1iDYl2ZX4VINYxYJlkUoZCPq0ymug==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(396003)(376002)(39860400002)(346002)(451199021)(38100700002)(53546011)(26005)(36756003)(6512007)(6506007)(186003)(83380400001)(6486002)(86362001)(54906003)(41300700001)(31686004)(2906002)(31696002)(8936002)(316002)(8676002)(4744005)(7416002)(5660300002)(6916009)(66476007)(66556008)(2616005)(66946007)(4326008)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TGVmMHJPZ1d2ek16WmE5TmJRaXBwWUFQdWx0R0lUQ2pJVWVZR2NlaWZtMW52?=
 =?utf-8?B?OVZzTEVxcG54Z216ckh1NlJOYzg5S1lxNnZ6SWd2TFFISnY4dm1id2pSak80?=
 =?utf-8?B?ampGck9ubHdVcmNvTU9GQUlGN3Z3V3l0cmhSajYxSHRWR2hhV21oTUI5Y3ZR?=
 =?utf-8?B?OE9VNVVpbFpsWUR1YjI5VTZlUC9FekF5RXR1WmsvVTdvOWx5VW5WcHBnakNQ?=
 =?utf-8?B?VEVmN3F1TXV6b0oxZk05OXQ1T3NDTnlnenpxSm9aNmpROU5yL2hka0NWcHB0?=
 =?utf-8?B?azFHc0pzQkhSd1Q1YlV3Nk5HTFV1WGhEZmFENlE3ZGNYVUVabFpjM2sxU2Ro?=
 =?utf-8?B?WkgrcVVxYXJieVpRQ25MVEJ3YXlIL0hjb09oTVZLbTQzSFZnalhTa0NVTzd5?=
 =?utf-8?B?R1NpR3R1djNFTTFERVozcDhvZG8vV1VrNE12NXNtTEUwT2FqeDVwUEhYbDNQ?=
 =?utf-8?B?VWtUc0h1S1pmb2laQ3VSRDlWekNaMjhQNHZncUU0UmlrUFo0dWJLTmdGOHZx?=
 =?utf-8?B?ZHhTUWVKRndmdm94QmFEM0dsVHg0YzdUOU9ndFNFOEsrZ1ZuT08xYzhJZ1Fy?=
 =?utf-8?B?U1VqVnkvcTFnNXZpRnRUK2tqVDYxM1NId04rcGRzNGpMbU5SaGFYa0NHcXla?=
 =?utf-8?B?YzMrYlpjOXY5NVArOVdtdXluZURNeDlycVp2NEpOOVI5UWpFanlmUCthQjBn?=
 =?utf-8?B?WDBRenRiS3VPMXRNdWN4Q1FMOXhndVJzZXhyNEtGdTVjbkNVLzVQZFpnQXZl?=
 =?utf-8?B?bVR2UUtMK1JVdjR5djRuUllGRU1XV0I2MTgxeWJKelRGcmIzWURnNkdHWXNG?=
 =?utf-8?B?aURlaUgwaXBYYUdSVzlyM3BjQ1RlSGNGcVhETEsrRWtENXFENXpoS2RqODNy?=
 =?utf-8?B?U3JtUXBZSVgzT3RyekY3dUJ5MERQTVlFMUlsa1kvUWVydVdTRm5SL0kwR1BH?=
 =?utf-8?B?SUV1QStrTXdGZXZ4S3o0S2xLRDNEZ2d4RkpGTzYycGV3VkdVNDhDQ2xOY0lG?=
 =?utf-8?B?S1ovSDk5Qy9lK0F5dDNPUU5KS05DeG9TTk55SnZibVNtUENzbTVDYnVMMnFE?=
 =?utf-8?B?b2NsMURLZjlucDZqR2RSdGNQVndNdHYrRm54Q1pLcGRlazV0NWdrWDEvVnRZ?=
 =?utf-8?B?V1JUbUlIR0pJaUxZdmlOTWxVYXhoTTBXdU5zckU3a29wWUhWTzVMblFzZHdG?=
 =?utf-8?B?VTZ0UnRsRytRUTAyU2U4RFRtTlA2WnhFR1JTcy9oeEZvVndSU0lMVm90b0Zk?=
 =?utf-8?B?ekdCa0VsSnBieXZjMFNvM212cmtiZERhd25ycXQ0YnFPRG9jcXBDcWZJYlFR?=
 =?utf-8?B?eGg3aUVlSVZmUDVjVUFIOGNpSmQ5N0w3NkZXUlhSM1g4VDI3OE9rZURnOUlX?=
 =?utf-8?B?Y1B5REUvMHZRMTNIS3dBU0lOQ3FuZVVXZjVycEN4YWZMZHlOSWZDK1NnRHBy?=
 =?utf-8?B?YXZWMjNqZTh6bHIxK0d5V3JYZm1YcE8xaHNQaHF2cGpGVXQrTkpUK3YvMWMz?=
 =?utf-8?B?SnJCLzMzaG5leSs4WmNBZGZEc3E3aW9EcW1TL0lSb1ZzbkF6dFlWZ3hLeFpP?=
 =?utf-8?B?R2QwMnF0cUx2KzlkVThUYVYxRFBvNVhEUENKTEF3UEExaUdhNEcxYWVvWStt?=
 =?utf-8?B?c1IvRlgvRXc4ZENtajNHZlMvNXNwVjZnT0orTDFPL0szQlRJRTBwcTU0M2N3?=
 =?utf-8?B?Zm5yWGdycE93VWwxdkRWUFJYV2NxOUwvNWlrVjNwVkNPYnNWOU5RcjhKYTB6?=
 =?utf-8?B?UkJRb3FiV3pyUEFWeElaT2FmV1VCNjMrbHRpMWxMVTNuenVsNjliNUlsbGJm?=
 =?utf-8?B?dnkxRXV2YUtvQnA1OFVHaldFZ3dHR2JleTdERzZGYkZBUTB4VVQ1NHppVFNP?=
 =?utf-8?B?OTM3YkZVbEFBbUd0dytzeXArNjkxRGttU1RHTm1veHZBWjNUYWdEUHkyUTdt?=
 =?utf-8?B?bFdiL2xPakgzY3R4eGFNZHVNZGhQKzBoQ1RMWDllUnFKZjc1aUk0TlBIWEJ4?=
 =?utf-8?B?UmtjSkM5eHZWZ2RBQmpweWdmN1ZBQnFIOTQ5Q3BqTkxLZXRPZFFadTF5cG9x?=
 =?utf-8?B?SDBHR1dObzB4aTdPTXNvOVNId3EyRzZlM1JMYTU0V1VucTA3cXJJNWovL1Ax?=
 =?utf-8?Q?atFtUP7SUBuJTGHLF5c/Q/Vsx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 076ed602-5b48-4ff4-ca55-08db2f945155
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 13:57:07.0760
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ErKnn2eW9ki8FF24/p/klBK1wr7aFywRgIfCdLBZzirej1YKnLpF/7DODiZOPtraqxd1pTKk7pjzJMDw4jmuQg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9657

On 28.03.2023 15:52, Paolo Abeni wrote:
> On Tue, 2023-03-28 at 15:10 +0200, Juergen Gross wrote:
>> The fix for XSA-423 introduced a bug which resulted in loss of network
>> connection in some configurations.
>>
>> The first patch is fixing the issue, while the second one is removing
>> a test which isn't needed. The third patch is making error messages
>> more uniform.
>>
>> Changes in V2:
>> - add patch 3
>> - comment addressed (patch 1)
> 
> I misread the thread on v2 as the build_bug_on() was not needed and
> applied such revision. 

I guess it's not the end of the world if we go forward without that extra
check. It's a safeguard for theoretical future work which, as Jürgen says,
isn't very likely to occur anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 13:58:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 13:58:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515877.799180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9q8-0003kq-Pi; Tue, 28 Mar 2023 13:58:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515877.799180; Tue, 28 Mar 2023 13: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 1ph9q8-0003kj-Mv; Tue, 28 Mar 2023 13:58:20 +0000
Received: by outflank-mailman (input) for mailman id 515877;
 Tue, 28 Mar 2023 13:58: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=UojI=7U=citrix.com=prvs=444182d81=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1ph9q6-0003kR-Li
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 13:58:19 +0000
Received: from esa4.hc3370-68.iphmx.com (esa4.hc3370-68.iphmx.com
 [216.71.155.144]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9172e7d7-cd70-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 15:58:15 +0200 (CEST)
Received: from mail-dm3nam02lp2043.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.43])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 09:57:59 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB5289.namprd03.prod.outlook.com (2603:10b6:5:24c::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Tue, 28 Mar
 2023 13:57:57 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 13:57: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: 9172e7d7-cd70-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680011895;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=k7k7NuRV5ZjnSIvUj+MJbGfjGfDJ5vttmoAbJQ1o/lY=;
  b=JwU0fH+Et32o23SeSO5VGMRh3/708V+qIYh2nobk0wJbr//19KTfVB00
   XSsZt9WjZ8XSosHoMmwSPzAW45X9Fix8Ad/c6TL3bwwbAKR/oP16zvhJI
   S80IAc7+Tql/SpwpkZ6wwwUp5GEVJ7pd7p34n9BP/mP8wswN8yCWW+ii7
   c=;
X-IronPort-RemoteIP: 104.47.56.43
X-IronPort-MID: 105771565
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:gJOTFKqdJdIdhN3h4rlTdcjNZHReBmIpZBIvgKrLsJaIsI4StFCzt
 garIBmPaPmNZmHyetFwaNu28E1VupDTytVhGwdopSlmEisX85uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSlNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAGoxYh2frM+Q+YiQFOZBj+QcPsfJZKpK7xmMzRmBZRonabbqZv2QoPN9h3I3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jearbIG9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgq6E12QDNmwT/DjUPXnmZp8Ogl3eiXpF8E
 1UJ5gAngqwboRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LRQ21
 1qhj97vQzt1v9W9WX+bs7uZsz62ESwUNnMZIz8JSxMf5Nvuq511iQjAJuuPC4awh9zxXD31m
 DaDqXBkg61J1ZJQkaKm4VrAnjSg4IDTSRI47RnWWWTj6R5lYImiZMqj7l2zAet8Ebt1h2Kp5
 BAs8/VyJshUZX1RvERhmNkwIYw=
IronPort-HdrOrdr: A9a23:/e3PUa6IZ3sFLjSK0wPXwA/XdLJyesId70hD6qhwISYlFPBw9v
 rPoB1/73TJYVkqOU3I9erwXZVoIkmsjKKdg7NhRYtKNTOO0ATHEGgL1/qY/9SKIVybygcy79
 YGT4FOTPDLIBxdq+2S2mWF+tAbquWvweSTqd2b5VFLYiFFV5pJ0ideLUKgPnAefngkObMJUJ
 Wd48ZcpymtYx0sA/iTDGUeQu7Gq8bqufvdEHw7OyI=
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="105771565"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=izn0JYV0M0148WPEOH4hmLICUkECxzT0GaOs3nZvw9ExFqW+MZmtY8rmsg/N4oxEFL5qmiTdaqhJD00jPN3JrdOExUMVjm7dqJFR09MaC+2UUh0Ad9M0eRfYFN8i96vN0J4bsvdV2JIdh1R2tZHb+ptv6cYErgTUEJMRkR+bW/tfDaammuHFhDPH0hmF5MUJKzNOCykAw93UZHFEYUvcBOoUXRPpJfLl2NUJwFX5HLIv17c7stWW4dge3bcJ+5O++YB9t0MMoxDZ+gRBWxipqOGw1mgMRABJx5HsP3k+aO1i5E+ivsVuRS8Xa4vJLZX8DSheLu1sGgZMbyXE3WxEMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JbCikyANWzYPrnlxVeMzdao1CjUOcM/u5LBLhCFDbwE=;
 b=GzToB6KCbtnTXVpzxFmehBOXoLGtA+Mf7L+HuUi2GtJOu2WhDxp9Y7zrzCdUDJ+/2jrATHMW/V5/u0xn27ZQ4eFSS1OiMoiyP0JTEgcD4xxhAiiscKQTioXmZ8X2lrKuQCKWz0GLXxhoUGtUnY1MvOxrSDuLNwa4cF6DKbrNjRD8T//qVnLS9nPd9AqXl2XwglQGVimST0czQMdTKXgX2O4vXZQ00EJyi5ceL+TZUEo7iNcgsXvL+j4CjJn/v5AnCQ8FdmHfupohsuIJj4MtDj9leUyPRlbs67SR8vyk+LQJU7Ww+pjNOYlpOCVkfE0IRSfty5cnR+FwnmWQvNKpDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JbCikyANWzYPrnlxVeMzdao1CjUOcM/u5LBLhCFDbwE=;
 b=gHsm3qsCMmkMVBLgw3a7TPM7K1Q0WeUGOBgy19yQZTcWpdcKX3MY8Dl68Dn3faPKZomOM1qJePTyGw5EwMXIpnHxnPYQb/0IHFoliddjbmj/2NPuGHCwIun7vRA0kvLwKAPrQik9vJ4S3IGRx/Kdi84Rd7ie2Tt2k+RNzCSYG/I=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <68c0196a-966e-8d87-52ae-367b3c05d107@citrix.com>
Date: Tue, 28 Mar 2023 14:57:50 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 11/16] x86/shadow: drop is_hvm_...() where easily possible
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <5944a3ea-cddf-7ddb-d167-a0a0aa9b4967@suse.com>
 <97c3fe74-89f3-fd26-f8bf-69113df1dc12@citrix.com>
 <2f148fc2-04c4-5411-2931-8dde4ed9bc97@suse.com>
In-Reply-To: <2f148fc2-04c4-5411-2931-8dde4ed9bc97@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0060.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2af::6) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM6PR03MB5289:EE_
X-MS-Office365-Filtering-Correlation-Id: a5fe9542-8a84-422c-c007-08db2f946f37
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hSVOaZBZJ/1zl1x0v55wPmAlEc7mGgFsfF0HTqiDnx4vm4bjSJE2m5+tP9MWGa7LjO2Z0tNAWeAyDib9ReqZ05bmPHEtq62PICBwpjTJy2aTbfGel+SLDcCHd1UQsjAdOSIZ1EuUJxVeOsU6qiOBoZDQkxuqLYszglkaFbv5mjBa/R9fepnnpzAZUv+xfoHW1NzlbiDD8hyQ/FTffP7GGHd6KP28ZQuqYQsLhFN6eoe5i1kz9PbjTZr7TnQaCbrSb/NLLAL4OAgQKZl/NLxTTfCTOew7bmccC/XH1W+RfqNWJq6mptfV/J2CGbvzK/4H0sO1i6hsF3MvC5joLpFUU2RZJMysIGqUvDYAGXmPQbB70IvBAOfKcFeut4Z+dE7S6kUVUQaDH4tubTnCUl+JSpey/GYHasTyYjCVuu0CQj5FQC0Y0trnTGjTh3+3/sDqroX8pd1fTv8kTFsOjge6ePAwknr+RdteHyu0VV6/8slIX06IHa3QlWCFl3vMpCAueWjDTxiieT54YXUhGGHvorY2cqTuJ4DtzA0orcpuXbk5R58Nv1DYrFJdXmkcSAxSIP6MKUF2g+3hE5KfinwDoaLCnJm8SbYX2/zpUhywf8/lveYtjmKgri36ob+zSmqugJovDFsVvZVxIpRyV+oLZQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(136003)(366004)(39860400002)(376002)(346002)(451199021)(53546011)(26005)(6512007)(6506007)(41300700001)(186003)(6666004)(6486002)(83380400001)(2616005)(31686004)(478600001)(54906003)(316002)(38100700002)(4326008)(66476007)(66946007)(66556008)(8676002)(6916009)(2906002)(31696002)(36756003)(86362001)(82960400001)(5660300002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QW51Qm9sMXpOOXRwaFBBdFBjM1hJUlN5eGVjdlJDTHNjT1JhRksrZEFtcC9q?=
 =?utf-8?B?eUFrS2ZkOTdMUEVJY2tMR0Q4cnMzNmpQWEEwWXYrdDRiMHVuOUZObThqUXFS?=
 =?utf-8?B?NU5jRkQyc0ZjejBreFNTN0NYOWtPdTdGRU1XeHNnQ3RiMGF0M0pXVTlDVGEy?=
 =?utf-8?B?NEJTeEkxd3g5L0dJbU1wUlU5emtqRXQrMVJqN0pMbWhFKzNhRXB1SGd5eFFM?=
 =?utf-8?B?K3pudlFxUDYvdW0vWVA0TkNZK3FHZTBjcHlsTE9HdzRZZE55WVhGZnJleHZV?=
 =?utf-8?B?MnJWTFJ6WWwrcEVqd2JOMUMrQnNnRUpKNmJhQ0lPVisyajJTcFdQb3UyV1du?=
 =?utf-8?B?N1VWYkZ5MVBwRHpuTVR5YXBITUQzMDhaNm9TT2tGRXlNblVUSlptNjVMM05u?=
 =?utf-8?B?cWQ4ZlcxQmJrU3FlQUREeEtRNmdkVlkrc1BHRU92VE9kQlp4UUp5TUFCVWtE?=
 =?utf-8?B?b2ZTSXVKVnFZdG5rcldnUHRVajdscmtjV1JhbUpieVByanZRTFRkaWNCdnZi?=
 =?utf-8?B?U3BibmNONFA4OG5rZUt3TUg1MWFna1dZaWJKVy9BS0pmazBQdDBKaHo3ejR2?=
 =?utf-8?B?eDVwRGlOR2dLK3lQYmxwa0gvVDRmMzJVYURuQmNSRmJEcUJaN3ZOZ3l0ZTZh?=
 =?utf-8?B?NXNuZzBUZWYxRExtaXJxWlBKYk00ZklkeU03cGZFUFVTOGw5bTZoK1RGZzMy?=
 =?utf-8?B?WFc4WjRrVmI0bitRcWZiY05CZngyNS8zYjZIbWFWKzJpRjBjSDFLUGtDNjd4?=
 =?utf-8?B?cWJrZzdwdHpoOVhBbVlZYUZKSnRpVWJGUW1XbGNFaDZMVVZDVnVMb0hNUUoz?=
 =?utf-8?B?VSsvMk85ek9BZnZTRmdscGErcGNCZUVMZHFSQjI5MEI3N3lZOWU4Uk1paWcy?=
 =?utf-8?B?MHhWQmpROE9EL3JSNlZwY3pTTzdRcEZweEVDYytVMnFwek5NS2FjbzJhTTlq?=
 =?utf-8?B?dDFzUlZBYjJyb05SNHRVelZyOElYNWp6Z2ZKeHB0R2FWUUNOcm5lbFRpTlJM?=
 =?utf-8?B?WS9BeTQ5SHhpNFh6WGNwQm1teitCc0JJOURwU0FrcXRTWEZ4TFZvWGZBY3Bj?=
 =?utf-8?B?RWRMV3M4dUhVV3ZjMEszRys0Nk5GZk83MWVNS2JobHR6WTFkYnVZTi9IUVZk?=
 =?utf-8?B?VzJqMkJhbnZLa3hHZzcrZWNDS0toYXRTKzZ5My9Hem9rVHUycWExbFppSml2?=
 =?utf-8?B?NUZ0b3phVWZMWEh0dFBja1M0MVIzS2ZhK1JKeGxzbnI4b0xDTGJlSkxKOUZM?=
 =?utf-8?B?Y1BVVTBQamF2NEUxN1dPc1dwOFFIa1NjS05neGkyRmVWUmlYdW53aWMvRVhl?=
 =?utf-8?B?ZWFKTy9iWFNVc3lVL2RxS0VsTjI0WkxWSVNlTzMxbk1EVkU0bzlYRmp1QkRQ?=
 =?utf-8?B?dCtCUkJ4a0tyRkhtMWFRY1JnN1hObHFiTTdQTEhVdzRxVnNFY0J3dkRRRFZj?=
 =?utf-8?B?ajBmN0c5Z0pPMk1IWDJFOWZndUJ2OFhidGU2UWluOWJpbEhjZ3RsRXBXU0Ex?=
 =?utf-8?B?Wm9TWENiZk5rQlFEcHBpQkNHT2Z2QlIzWEduREVSNVFYUDdCMmp1cW4zOWpH?=
 =?utf-8?B?YVIwb01RN3VoMmRrbUpMTFdnY2VJMGRwODhEbTNGaXFNaXFVUEpVZW1SWjFu?=
 =?utf-8?B?ZXVVdyt6bldNanU1WFF2SUFRSVFKM04vb3J4MzVkOXBRNk1Zc1o5OEllaWVp?=
 =?utf-8?B?VXZjL0FqbXh4OUxzSmo3RityZERnVUV2Q0RpUXYwdWlyRWV0Rlpkbkt4SXF0?=
 =?utf-8?B?NGhKaWwvamd0M09SL3JuRlB0WGRHem1KY2pZZ0djTTNlY0NOaUNuVWJRelN5?=
 =?utf-8?B?YzBJOTVhTHNqVUd2aGkxV1dJYXVNV1pxUHA1WGVpeUsvRkFWNlZDTkEzYzd4?=
 =?utf-8?B?V3hTclFYSkZOQmxMQ21WWFcxQlJzZitpWjlZb1RyUjNnV2c1RUFOdUdRc3hr?=
 =?utf-8?B?czhEakRaWjdsUXdJTkZVVWE3MWRaWlNrVGdOOXJSdlcyZVJXUEJaNTZCWmVx?=
 =?utf-8?B?dzJTUWIvcWFTeDdOUmR6RlVxT056UzFUZDdOR0ZIc2QrZ0dwbWRnR1dMOEJy?=
 =?utf-8?B?UUZyUVZxRUJheXZYMm9Lc1VvSTlyM1IrTG14djJ0aVFPUUFHbTJwaGREazFm?=
 =?utf-8?B?Mi9ObnhEcVlZM21QemV3M0lGNGpreWNyK09qSTYzQkxkcE8zVEl4MURzVTNS?=
 =?utf-8?B?MWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	b0Sh4SGCA6Csi+tqxvozYv+4zuFbX9TCRu1s+alf/SoJCBSjHxcldxqexUni5kr86CVPPnWkoIvrDuVqd9ykprheAXIRDiIDqa6cTtSkEpFvtTqcEDO0uVLY+gIx6Fqg5+ZmLolPAeulYnVHvzLYjaLyvboXYsPlFArEZayQ891JCVNMH8Z9rYP1Bp3aubmvi5T0PkvVSJi8oUmIqAMNKq9aWSNpSckTKqCyh/8v4Atrq8P0hc70N6jLj//ymGBPx6QTCpVld2OR0jWeF1gEDhee5qn4f8IykIDEIap7Jru8UfLnuRvyMkn3dHS/Ly/8r5ZceqbUAqFRvr1UoXBZ2iIJsEXK1izp7qCNsUQTJ+MQ4hrg02ZVjRZnHjxQ/4PyD/rCdmenUg+wTGhj8SJ1SUp3Jo9/HfZ1VxMDr2VQNedADuzD5GTGabke0UswoayPxsG/ynZgWlkdnUzzKuqUmoyKj+Y+VqMQPx3J1+ofmBfDbk0D+A5gJNbm+ZOrctnuHeD8GSlzrkdRImwPZKEFuZliYgr87sfmfgYU21eKyzPjX8WuH0I4PFmA/vhTttpf9mJvbuKkBEWSj29zicdB0UtD7l1swYZH1WLLgD/TKDrAoKm4xiyT67MOLkd1GN5q7ewJ6MN9fLvvXDKNjKmxWENbmGtOp+xiBj+PBsl8uflwmWitLg9pxlc7aXwDM3qkhLevejDSEcSpzVIr9SBBDjhUhXMFbNad/VN8M6Fm+e+KAKPqRudRzj0J+W6HZHTiZe3vWqx0/k1IUHPaAOygHVSdeFtHXl/5A9KnIztWEgUA7TCeQGQ8/9RLTxSMks1+
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a5fe9542-8a84-422c-c007-08db2f946f37
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 13:57:57.3523
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CsScuQuzA/jx9iy2tV5e1KyElYYCUkg6483ViHRORBE7+plq0wjbwGUBZYAc7YxVhiMBuf0XuHcc7wiJzkkhyR7igt3hQv17GCR7lYCVVos=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5289

On 24/03/2023 7:38 am, Jan Beulich wrote:
> On 23.03.2023 19:18, Andrew Cooper wrote:
>> On 22/03/2023 9:35 am, Jan Beulich wrote:
>>> Emulation related functions are involved in HVM handling only, and in
>>> some cases they even invoke such checks after having already done things
>>> which are valid for HVM domains only. OOS active also implies HVM. In
>>> sh_remove_all_mappings() one of the two checks is redundant with an
>>> earlier paging_mode_external() one (the other, however, needs to stay).
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> --- a/xen/arch/x86/mm/shadow/common.c
>>> +++ b/xen/arch/x86/mm/shadow/common.c
>>> @@ -1522,7 +1522,7 @@ int sh_remove_all_mappings(struct domain
>>>                 && (page->count_info & PGC_count_mask) <= 3
>>>                 && ((page->u.inuse.type_info & PGT_count_mask)
>>>                     == (is_special_page(page) ||
>>> -                       (is_hvm_domain(d) && is_ioreq_server_page(d, page))))) )
>>> +                       is_ioreq_server_page(d, page)))) )
>>>              printk(XENLOG_G_ERR "can't find all mappings of mfn %"PRI_mfn
>>>                     " (gfn %"PRI_gfn"): c=%lx t=%lx s=%d i=%d\n",
>>>                     mfn_x(gmfn), gfn_x(gfn),
>> Out of context here needs an equivalent adjustment.
> I'm afraid I don't seen any further is_hvm_*() in this function.

Final parameter to the printk(), calculating the i=%d diagnostic.

>> But in this case, I'm not sure the commit message covers the relevant
>> details.  ioreq servers have been made fully common since this code was
>> written, and *that* is a better reason for dropping the predicates IMO
>> than the redundancy with paging_mode_external().
> How does "fully common" matter? It's still a HVM-only thing,

ioreq server info used to be in d->arch.hvm.ioreq.

The is_hvm_domain() was guarding against speculative type confusion in
the HVM union, and should have been removed by the ARM work that made it
common.

This isn't really related to the outer paging_mode_external().

>> That said...  I'm not sure the logic here is correct any more.  It used
>> to be the case that ioreq pages were in the p2m, but they're outside of
>> the p2m these days, so don't see how there can be any interaction with
>> unexpected refcounts any more.
>>
>> I suspect that one way or another, this change wants to be in a separate
>> patch.
> I think that if there are further adjustments to make (like dropping
> is_ioreq_server_page() altogether, as you appear to suggest), that would
> want to be in a separate patch, but the change as done fully fits the
> given justification. (Of course in such a patch both _could_ also be
> dropped at the same time.)

I'd still suggest doing it all separately.  It's sufficiently unrelated
to the justification for the other hunks of the patch.

>>> --- a/xen/arch/x86/mm/shadow/oos.c
>>> +++ b/xen/arch/x86/mm/shadow/oos.c
>>> @@ -577,7 +577,6 @@ int sh_unsync(struct vcpu *v, mfn_t gmfn
>>>      if ( pg->shadow_flags &
>>>           ((SHF_page_type_mask & ~SHF_L1_ANY) | SHF_out_of_sync)
>>>           || sh_page_has_multiple_shadows(pg)
>>> -         || !is_hvm_vcpu(v)
>>>           || !v->domain->arch.paging.shadow.oos_active )
>> This is reachable for PV guests as far as I can see.  What am I missing ?
> Well, the footnote in patch 1 ("x86/shadow: fix and improve
> sh_page_has_multiple_shadows()") kind of explains this wrt the safety
> of the sh_page_has_multiple_shadows() use here: Since PV guests can't
> have OOS pages, there's no way SHF_out_of_sync could be set.

Hmm, I suppose.  We enter sh_unsync() directly from a demand write, but
it is only meaningful when OOS is active to begin with.

Although having looked through this, there ought to be an early exit for
oos_active even ahead of the SHADOW_PRINTK(), and the single caller of
this function doesn't check the return value.  (This appears to be a
common theme...)

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 14:05:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 14:05:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515883.799190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9wf-0005Ra-Ly; Tue, 28 Mar 2023 14:05:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515883.799190; Tue, 28 Mar 2023 14:05:05 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9wf-0005RT-HZ; Tue, 28 Mar 2023 14:05:05 +0000
Received: by outflank-mailman (input) for mailman id 515883;
 Tue, 28 Mar 2023 14:05: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=0K3v=7U=citrix.com=prvs=4442f050c=roger.pau@srs-se1.protection.inumbo.net>)
 id 1ph9wd-0005R7-Ku
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 14:05:03 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85c080cb-cd71-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 16:05:00 +0200 (CEST)
Received: from mail-bn1nam02lp2046.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.46])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 10:04:56 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DS0PR03MB7277.namprd03.prod.outlook.com (2603:10b6:8:12d::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 14:04:53 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Tue, 28 Mar 2023
 14:04:53 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85c080cb-cd71-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680012300;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=bJry89oDabJavmGUMl3oDDvY5ATfXIcoAeYJZbEJpYM=;
  b=D+IuMrYULWtgmtARWXpEKov0w01HBcPSmFzqZnA81IEgBHJqpPXEPonB
   oJzGBpASDsVhlIANKhv+Kym6B9vzfLGllPN6MblqslGberdh/QQ7ofE1r
   LE0QPFNOy6fKDVip87mc68liTN2uGP1uoKxReEXXww9NRSasNK3W4n1bB
   A=;
X-IronPort-RemoteIP: 104.47.51.46
X-IronPort-MID: 103271235
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:XGu+qK2beNom0mNXM/bD5Qdwkn2cJEfYwER7XKvMYLTBsI5bp2cCx
 jYaDzyBOf6NYDGgeYgiOt+yph5UvMeEztIxSgA4pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdkNagR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfJ05rs
 s0aGAs0TRGTqc262qOmcutmv5F2RCXrFNt3VnBI6xj8Vaxja7aaBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqui6PkmSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03bWQxHmgBer+EpWn2Mx2nQyY+lc8Ukc/CnWGrOOykU6HDoc3x
 0s8v3BGQbIJ3EmiVNz0RRC7iH+CoB8HWtBUHvE66QeC0a7d6UCSAW1sZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluaISEIKUcSaClCShEKi/HhqowuihPETv54DbW4yNbyHFnY3
 DSivCU4wbIJgqY2O76T+FnGh3emoMHPRwttvAHPBDr5sEV+eZKvYJGu5R7D9/FcIY2FT16H+
 n8Zh8yZ6+NIBpaI/MCQfNgw8HiSz67tGFXhbZRHQvHNKxzFF6afQL1t
IronPort-HdrOrdr: A9a23:YtjkaqwdCRb22xIAqedgKrPw671zdoMgy1knxilNoRw8SL3/qy
 nOppQmPHrP4wr5N0tApTntAtjkfZq+z+8N3WByB8bbYOCOggLBQ+9fBOPZskbd8kbFh4pgPM
 lbAs9DIey1IGJWyeDdy2CDf+rIxuPszImYwd3z9TNGayZES49d1C9FKiC9VndbeWB9dPkEPa
 vZ6cpDqyChangMB/7XOlAOQ/LfodnGj7LKCCR2ZSIa1A==
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="103271235"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Jx+8C9bmaeVZmYl2h36vgYmgZbB67NLwMO5HLmCLX2AnqzBnGckZVSvAgv9ikHRaDrf+RBKESZPUk/LKGAXm9ZPUJplny+bl73A9EgtgVTwAvG2hIJKMJtcKcCIATZv3Eq7PCbM28fgoxPw8VGDPmO5Mc7H1JyEygJouWUolneR0PPswIWxG3WO5UWx4VdXAUAcvL3Pk9BmkRnG8lK9gJWlwKWBl7n3gJ/zUP+h2EwavoC25AA7SEBMBBVkapwA9tYemMQfz2ASmzryz3sWGezq9qymExKCYblN1l0A9eoJwuxaOD0OBUZWh3VrJ1VuYYI6SBexn5/QdQmA3/kgFBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c1DS4VMMSiXKeCgZOSVNu18fpWQO9NZk3/qNtckSkE8=;
 b=ju6WnzS5tX9HtnplThGCCrM9xPAeL/RcBveFOxYacqpexH0sS6qFxBRVkMDc0p1CiL8FvLqb4MckXYKOGS1bxuxLmVUDTtb5FF8tqbbYc7cCqWDs84BPpsrdgGZRnyaRn7EzAsRpiaQ/Bee94uPSVkFMyuwztbg1PIz68GDfF/+JD0b6oJRvkqxadHvBhFIkvRwm4rcebb0yMhSUkjkdtKyDNa4iaMe485Lzv+vgPBxwandnc3h85bq641zjOmu9JJCsULcDmSimHYhmDQChck8aU8zrE1J1GzTJdkfoad1Jwq1YdVTqlg1nCdxc+NN8SaTcKDQrKrN5nj+9rkJ0ew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c1DS4VMMSiXKeCgZOSVNu18fpWQO9NZk3/qNtckSkE8=;
 b=UPO1OHcfrEP5S6ionrJDlcou+q3/jAcxxjrfputwLH1MS6KNCe1j+//K9SMv+0FFoeseeHcoCpfL5+uZpsjOI1xkhXAnDPIHBil0qHsX5DACjgbuGsqNjG1uICZkrIizuG+rDEeQItCFoFtLRn3A9LPqm9LyA6OpcMK7gdB+AGY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 28 Mar 2023 16:04:47 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/2] x86/mm: add API for marking only part of a MMIO page
 read only
Message-ID: <ZCLz/2QeoMVyOej8@Air-de-Roger>
References: <cover.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
 <f5381e06d92cccf9756ad00fd77f82fba98a9d80.1679911575.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f5381e06d92cccf9756ad00fd77f82fba98a9d80.1679911575.git-series.marmarek@invisiblethingslab.com>
X-ClientProxiedBy: LO2P265CA0091.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:8::31) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DS0PR03MB7277:EE_
X-MS-Office365-Filtering-Correlation-Id: ed8694c6-6004-400c-98c8-08db2f9566e7
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kCF7SdRYyB5JWuXJM++fCKgz80vzMbXaM7DWuthwQEKYSYiHPvp2HCAFJs4NqowVblSyBlLoHfUD89Ra17/Q8h0z7s3FhKtvWMXBqb++M606i0dyrUqfhOYR+YUfv9ALOzkVK4Oun0G7klrjIiPscPHrWCxM22j5hHub6SiIFk+0weiM62m4yDewuspl9niYiPD5YaegGY/bwR1yuAxyNKERHxVMtXXdsWhvwrBDOg17WcZR2+UscsRbRg2olueA0uBRnUJtLF7sSUNnIqPVQJBOVj6v6q/FANZwgyVWCEFJuYw7tdDGrjiU+dtq36+PZlq01wITF14cR8KGQYGQOGTMlM6iUEUqqpf6q473zZ9xX3Desz0/2lZI6Fg1EuaiXAuJmojKvbafRX/OHQxmMb85zxyQ8sjM/yYEcMNjWMJW+6udwC387JPTqUyBcQmwiDVFo9ZVOUuS7mm47qk19bp5m1L8s4uyjokWfr5M1WC9EJP+fe/jK8aaViGZ4nsqrmoVYWmfyHHPmpuVZnGMwcXyqpBzll18dr8yiEbc41B32n9sEoAlTFBtvMqxvmsBlQLAQZ6pCttWuB1KlChF5TA4xcPI9XB76TtEhT6lWCc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(396003)(136003)(366004)(346002)(39860400002)(376002)(451199021)(6486002)(4326008)(66476007)(6916009)(8676002)(66946007)(66556008)(82960400001)(41300700001)(85182001)(2906002)(33716001)(86362001)(30864003)(5660300002)(8936002)(38100700002)(478600001)(316002)(54906003)(6506007)(6512007)(26005)(9686003)(186003)(6666004)(83380400001)(66574015);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K3kxOVJtUTlvN0xGMnZSNU1yTXJUVC9EcDlWYUJrdXRsR1ozcS85SmFoL0tL?=
 =?utf-8?B?SVBHSW5ET2FMM0Q1aXZwZStJdlpScVNqYTl0cDNoU3dXbElMNkhSbklsYzdt?=
 =?utf-8?B?V2dMdkN6K3ZvSFJNdUdLVFZwRkJ6U3EwdVpzcSswejBkaUVLc0RmbzJWZVBG?=
 =?utf-8?B?RWVJLzc3S3VuakJITkRlQ3F4TUNrL3M5WGRXSUtQNGYycVlOVE1BVkVhVmo0?=
 =?utf-8?B?RnY4a0NTcy9WdkpyVnVFTGJZWEJ4SXM3V0I1QnpqRkdoQUhma1ZJNGxwbTl1?=
 =?utf-8?B?NUdDR200LytwYXdpT1hxb0x6ZTByUkpvZmlZWmxiNm5yM3RIWFdsRnQ3L1Ar?=
 =?utf-8?B?S2I1dzN1NERSZ1RVaXN0Q0pkckwvLzZ3RUtDQXZZMmUvMnROdDJCWTBrYyt1?=
 =?utf-8?B?ZHdEbm42OFNoa3ZGM094Z1UxSTlmNXd2MlFIQ09uS0JLY3poK1hCQVB2WHVN?=
 =?utf-8?B?WCtkLzNEZ1kwZEpDR2dXSnIzSnVoN2JPamxTWGVxb1I0ZWxUdUs2dnZIN3dW?=
 =?utf-8?B?SFJ0bFlLbDlLTlJ3b292MnZXNmIrVFM5WlozT1QwbS9rTldjWEY0TW1QWkl4?=
 =?utf-8?B?M2I2N1BDcWpFb1RkRHowTmdBRFRacXluMnlHWU90OUpHM20wQWwrMFY5TDc1?=
 =?utf-8?B?amFwL3FMUkc2dy95WnRNeERQS1VUWWhzcWY5Wkx0WmxKQ0JlRVYzaVdmWXdB?=
 =?utf-8?B?eHlwT2VqMUw1dXVSazh3TjBNbUNhVnVjZXJJdFVJWkg4L1hJT2YzWUZHa0ZD?=
 =?utf-8?B?L1ZBaGF3S0QrQ1RZdmY0eXdBY2lZRjI0VEUwR0ViVFM4cGhyT0k0czJET0Rk?=
 =?utf-8?B?Q0IxdUdwbUpQcG1sdkJad2QxVWhtSGtReXpTWFg1SmY4TUZiVXBNT3pXWUhI?=
 =?utf-8?B?NU1DOG9WNGhtV0xReWZrSXY5aWJBVENZWVF0Y2drdUE2ODhwUXl6VFBxTkpz?=
 =?utf-8?B?MU5vaitUWCtpekxZWlJsYVVlVVJLWkZ4SjFoRDF5YnRyL2RJeXdqNWxzclVr?=
 =?utf-8?B?MWpNZFR6VC8rVlRxZ2RadFVmajcyMitjRnBnVWl4Y2lvK0J2eEYreVoxUmsy?=
 =?utf-8?B?NmE4TG5qSElDQnBITkVQbGZuK3FWem9tLzU3K0FvcHROYWZzMWZIaGFVV2pD?=
 =?utf-8?B?VjB3RXhCM3QxMWNYVDM0QjEydmEyeXJuOE9UdEtJTUpFeHlBRksvdHpPdGxR?=
 =?utf-8?B?ZkZ3dzB0ZUs0YVBMMnJFRDMrWUVGemRlUlMzbDZTb29jZWhVSWgzZlptQnhJ?=
 =?utf-8?B?R1Foc0c0N255U3R2YWt1MU5UbnF6NjNoZVRpODhOYUhqb0R5aVA2RzNKRytS?=
 =?utf-8?B?NjFIZTdNaTBlQkxFTm5FRGs2ZDRKRVltbVNQYkNPT3c1SFJ4dTRmM2dkUmRO?=
 =?utf-8?B?VFp0RExLZE9LLzVyWkdUSXYvZHlZdTVUaFZaRFNTZ21yMEQrZFNiOXFYdHQ4?=
 =?utf-8?B?TVFKNjNJQnVoc3lNNlJLM1o0Z3BqWCtNUWhCbDU3WVl3RkpCTkloUDFEYTNs?=
 =?utf-8?B?bFVpdmdzWHJJWUVBQTNqbmRydjZudi85V2FPaHdPSXRIYlJqWXppU21pTjAw?=
 =?utf-8?B?YUg5dlczYXROYjlOUTVvQnljR3NiNFkxM3g0eU5pcG05aFppeVBGUjJ1OU5V?=
 =?utf-8?B?aUZjK0M3M0xtNktrZTZiRVZrMHl4dm5kTWt2dXRoMkRVcktEOXJVZStSaVpD?=
 =?utf-8?B?MnJUUjFZdzNodG1TbHNYUWVrdllyOVNxRVdnZHQ4ZGNaN2VSNWZYTEFZK2Q3?=
 =?utf-8?B?bEU4VWE5STh4RFpSVnNrdUttaVJvMForcVJzZmRtSTJ5UXhuUVBQdzB3M3BC?=
 =?utf-8?B?bXZ3dFowWlRGZWYwSHN5RncrbG0vWmxSQUZUQ0REakk4T1Evb1MwMGZ0NDFw?=
 =?utf-8?B?dkpvSGJGSEpoNzBPb09hQko1R0hsNUoybXBuc0JOWllWRFNlRkZHc1ozVlgx?=
 =?utf-8?B?U0JDY2pHdkVRRllOUVlwSXZVb1BOelZ5QmpkdGxaV3NwNWg4QWFsMGZlSFlJ?=
 =?utf-8?B?UERiU0oyMFhqcGdJbTFpdXVMRGtiM1pXSVZEemdYSXlIaUdFUHFDMzRMeGJ2?=
 =?utf-8?B?Z0JBTVRtTXZvRndlUjBGeWFtbEhobXIzeHl2Vmp1VkwxU0N3RkFucGpsSHVG?=
 =?utf-8?Q?DEhK7YFKTV8CBhTNk39ClUsuv?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	QTm/gSdwF0aWwyhWJm196Fj9nfSPn7YEnWptWBa36+lY0AG8JGcmjMvFqfg+9nUv9nqZSvcjh/x5lDtIB02X1lhzyAOnjy9iwPOX5LwrYERCo/USDVaDz6oA+7mrrT94n92JMPKl1QfZHHWO3F06cAqIKzkyVXWHrFaujVLiRLloK5/6fCBB3rcfFZ7KSrTAeE6ribpXb0v34GrVJ3MzFlG8kU2rCEqgCkvTauxKI9bBHfOA2iAUsUX9EXuw/pOUbcnjEEiDQX/mHny3YYJf26Ji6nTIiuu599ZfVCZda1O+8xXwQJnfhZV99uNRC/gJS+o0f8cYevZsxZeKwn8cOuBMiaxcId5dW2xloJRHrlseA9+NmdrkU6dlYkcF4LQPVFZqnReLI9iqMCTAP8fqZes+V3EUc7CeJHQBEIS8TEcCDlJJOOJsHT7YCXnRcnvOKTctjNfeDc6wDYFU0KiTz44zV+MZNiSc5HDyphv5i91XImRtloYLQpWlz9I2XgbP9RDN8BM+1v1XkMov+VKx0taynixekzwhrK+oYVfmg4vI0bIjVATlamUcRP5FA72CfffWnAXcop03Hwg46xL3VTtwqbJbOq7g6Me/JaKwNFTYRDaTQwL4CLYCVW4zFMbKX3omolGzFOEcxR0oYxPU6mMsI+hNrPS+QQ02bs3XqgdrgjstQ+t31lTS8+mnof/TJqWtnWuvKxs6vLllxhSUyo9DdfFlZSFp5C4nmCbQTf3ETKUS8aJp7jgXsFIFIXYEdEoggEWoawmJatvhhUOgKctXJHkKNAubVJGqgpAuX8TizNTEq+Xb2DUNxSTLfZ9fc6OYdMpnrTyXsi1vVrSXCa/VrRFlJzJ1DEDvYa7039RYIKV7k5AGXYjX9vRHoWxf
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ed8694c6-6004-400c-98c8-08db2f9566e7
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 14:04:52.7862
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zENpdd8slm1BHugYQA47fHweNuMGOSPtMenInaCxDRKo9lMYE7crHcGTSr0Ru9fhQ8ernQBsUTPe3+q6jleVBA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB7277

On Mon, Mar 27, 2023 at 12:09:15PM +0200, Marek Marczykowski-Górecki wrote:
> In some cases, only few registers on a page needs to be write-protected.
> Examples include USB3 console (64 bytes worth of registers) or MSI-X's
> PBA table (which doesn't need to span the whole table either).
> Current API allows only marking whole pages pages read-only, which
> sometimes may cover other registers that guest may need to write into.
> 
> Currently, when a guest tries to write to an MMIO page on the
> mmio_ro_ranges, it's either immediately crashed on EPT violation - if
> that's HVM, or if PV, it gets #PF. In case of Linux PV, if access was
> from userspace (like, /dev/mem), it will try to fixup by updating page
> tables (that Xen again will force to read-only) and will hit that #PF
> again (looping endlessly). Both behaviors are undesirable if guest could
> actually be allowed the write.
> 
> Introduce an API that allows marking part of a page read-only. Since
> sub-page permissions are not a thing in page tables, do this via
> emulation (or simply page fault handler for PV) that handles writes that
> are supposed to be allowed. Those writes require the page to be mapped
> to Xen, so subpage_mmio_ro_add() function takes fixmap index of the
> page. The page needs to be added to mmio_ro_ranges, first anyway.
> Sub-page ranges are stored using rangeset for each added page, and those
> pages are stored on a plain list (as there isn't supposed to be many
> pages needing this precise r/o control).

Since mmio_ro_ranges is x86 only, it is possible to mutate
it to track address ranges instead of page frames.  The current type
is unsigned long, so that should be fine, and would avoid having to
create a per-page rangeset to just track offsets.

> The mechanism this API is plugged in is slightly different for PV and
> HVM. For both paths, it's plugged into mmio_ro_emulated_write(). For PV,
> it's already called for #PF on read-only MMIO page. For HVM however, EPT
> violation on p2m_mmio_direct page results in a direct domain_crash().
> To reach mmio_ro_emulated_write(), change how write violations for
> p2m_mmio_direct are handled - specifically, treat them similar to
> p2m_ioreq_server. This makes relevant ioreq handler being called,
> that finally end up calling mmio_ro_emulated_write().
> Both of those paths need an MFN to which guest tried to write (to check
> which part of the page is supposed to be read-only, and where
> the page is mapped for writes). This information currently isn't
> available directly in mmio_ro_emulated_write(), but in both cases it is
> already resolved somewhere higher in the call tree. Pass it down to
> mmio_ro_emulated_write() via new mmio_ro_emulate_ctxt.mfn field.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
> Shadow mode is not tested, but I don't expect it to work differently than
> HAP in areas related to this patch.
> The used locking should make it safe to use similar to mmio_ro_ranges,
> but frankly the only use (introduced in the next patch) could go without
> locking at all, as subpage_mmio_ro_add() is called only before any
> domain is constructed and subpage_mmio_ro_remove() is never called.
> ---
>  xen/arch/x86/hvm/emulate.c      |   2 +-
>  xen/arch/x86/hvm/hvm.c          |   3 +-
>  xen/arch/x86/include/asm/mm.h   |  22 ++++-
>  xen/arch/x86/mm.c               | 181 +++++++++++++++++++++++++++++++++-
>  xen/arch/x86/pv/ro-page-fault.c |   1 +-
>  5 files changed, 207 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
> index 95364deb1996..311102724dea 100644
> --- a/xen/arch/x86/hvm/emulate.c
> +++ b/xen/arch/x86/hvm/emulate.c
> @@ -2733,7 +2733,7 @@ int hvm_emulate_one_mmio(unsigned long mfn, unsigned long gla)
>          .write      = mmio_ro_emulated_write,
>          .validate   = hvmemul_validate,
>      };
> -    struct mmio_ro_emulate_ctxt mmio_ro_ctxt = { .cr2 = gla };
> +    struct mmio_ro_emulate_ctxt mmio_ro_ctxt = { .cr2 = gla, .mfn = _mfn(mfn) };
>      struct hvm_emulate_ctxt ctxt;
>      const struct x86_emulate_ops *ops;
>      unsigned int seg, bdf;
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index d326fa1c0136..f1c928e3e4ee 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -1942,7 +1942,8 @@ int hvm_hap_nested_page_fault(paddr_t gpa, unsigned long gla,
>       */
>      if ( (p2mt == p2m_mmio_dm) ||
>           (npfec.write_access &&
> -          (p2m_is_discard_write(p2mt) || (p2mt == p2m_ioreq_server))) )
> +          (p2m_is_discard_write(p2mt) || (p2mt == p2m_ioreq_server) ||
> +           p2mt == p2m_mmio_direct)) )
>      {
>          if ( !handle_mmio_with_translation(gla, gpa >> PAGE_SHIFT, npfec) )
>              hvm_inject_hw_exception(TRAP_gp_fault, 0);
> diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
> index db29e3e2059f..91937d556bac 100644
> --- a/xen/arch/x86/include/asm/mm.h
> +++ b/xen/arch/x86/include/asm/mm.h
> @@ -522,9 +522,31 @@ extern struct rangeset *mmio_ro_ranges;
>  void memguard_guard_stack(void *p);
>  void memguard_unguard_stack(void *p);
>  
> +/*
> + * Add more precise r/o marking for a MMIO page. Bytes range specified here
> + * will still be R/O, but the rest of the page (nor marked as R/O via another
> + * call) will have writes passed through. The write passthrough requires
> + * providing fixmap entry by the caller.
> + * Since multiple callers can mark different areas of the same page, they might
> + * provide different fixmap entries (although that's very unlikely in
> + * practice). Only the one provided by the first caller will be used. Return value
> + * indicates whether this fixmap entry will be used, or a different one
> + * provided earlier (in which case the caller might decide to release it).

Why not use ioremap() to map the page instead of requiring a fixmap
entry?

> + *
> + * Return values:
> + *  - negative: error
> + *  - 0: success, fixmap entry is claimed
> + *  - 1: success, fixmap entry set earlier will be used
> + */
> +int subpage_mmio_ro_add(mfn_t mfn, unsigned long offset_s,
> +                        unsigned long offset_e, int fixmap_idx);
> +int subpage_mmio_ro_remove(mfn_t mfn, unsigned long offset_s,
> +                           unsigned long offset_e);
> +
>  struct mmio_ro_emulate_ctxt {
>          unsigned long cr2;
>          unsigned int seg, bdf;
> +        mfn_t mfn;
>  };
>  
>  int cf_check mmio_ro_emulated_write(
> diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> index 0fe14faa5fa7..b50bdee40b6b 100644
> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -165,6 +165,19 @@ bool __read_mostly machine_to_phys_mapping_valid;
>  
>  struct rangeset *__read_mostly mmio_ro_ranges;
>  
> +/* Handling sub-page read-only MMIO regions */
> +struct subpage_ro_range {
> +    struct list_head list;
> +    mfn_t mfn;
> +    int fixmap_idx;
> +    struct rangeset *ro_bytes;
> +    struct rcu_head rcu;
> +};
> +
> +static LIST_HEAD(subpage_ro_ranges);
> +static DEFINE_RCU_READ_LOCK(subpage_ro_rcu);
> +static DEFINE_SPINLOCK(subpage_ro_lock);
> +
>  static uint32_t base_disallow_mask;
>  /* Global bit is allowed to be set on L1 PTEs. Intended for user mappings. */
>  #define L1_DISALLOW_MASK ((base_disallow_mask | _PAGE_GNTTAB) & ~_PAGE_GLOBAL)
> @@ -4893,6 +4906,172 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>      return 0;
>  }
>  
> +int subpage_mmio_ro_add(
> +    mfn_t mfn,
> +    unsigned long offset_s,
> +    unsigned long offset_e,

Since those are page offset, you can likely use unsigned int rather
than long?

I also wonder why not use [paddr_t start, paddr_t end] (or start and
size) and drop the mfn parameter?  You can certainly get the mfn from
the full address, and it seems more natural that having the caller
pass an mfn and two offsets.

> +    int fixmap_idx)
> +{
> +    struct subpage_ro_range *entry = NULL, *iter;
> +    int rc;
> +
> +    ASSERT(rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)));
> +    ASSERT(offset_s < PAGE_SIZE);
> +    ASSERT(offset_e < PAGE_SIZE);
> +
> +    spin_lock(&subpage_ro_lock);
> +
> +    list_for_each_entry( iter, &subpage_ro_ranges, list )
> +    {
> +        if ( mfn_eq(iter->mfn, mfn) )
> +        {
> +            entry = iter;
> +            break;
> +        }
> +    }
> +    if ( !entry )
> +    {
> +        /* iter==NULL marks it was a newly allocated entry */
> +        iter = NULL;
> +        entry = xmalloc(struct subpage_ro_range);
> +        rc = -ENOMEM;
> +        if ( !entry )
> +            goto err_unlock;
> +        entry->mfn = mfn;
> +        entry->fixmap_idx = fixmap_idx;
> +        entry->ro_bytes = rangeset_new(NULL, "subpage r/o mmio",
> +                                       RANGESETF_prettyprint_hex);
> +        rc = -ENOMEM;

rc will already be -ENOMEM, albeit doing error handling this way is
tricky...

> +        if ( !entry->ro_bytes )
> +            goto err_unlock;
> +    }
> +
> +    rc = rangeset_add_range(entry->ro_bytes, offset_s, offset_e);
> +    if ( rc < 0 )
> +        goto err_unlock;
> +
> +    if ( !iter )
> +        list_add_rcu(&entry->list, &subpage_ro_ranges);
> +
> +    spin_unlock(&subpage_ro_lock);
> +
> +    if ( !iter || entry->fixmap_idx == fixmap_idx )
> +        return 0;
> +    else
> +        return 1;
> +
> +err_unlock:
> +    spin_unlock(&subpage_ro_lock);
> +    if ( !iter )
> +    {
> +        if ( entry )
> +        {
> +            if ( entry->ro_bytes )
> +                rangeset_destroy(entry->ro_bytes);
> +            xfree(entry);
> +        }
> +    }
> +    return rc;
> +}
> +
> +static void subpage_mmio_ro_free(struct rcu_head *rcu)
> +{
> +    struct subpage_ro_range *entry = container_of(rcu, struct subpage_ro_range, rcu);
> +
> +    rangeset_destroy(entry->ro_bytes);
> +    xfree(entry);
> +}
> +
> +int subpage_mmio_ro_remove(
> +    mfn_t mfn,
> +    unsigned long offset_s,
> +    unsigned long offset_e)
> +{
> +    struct subpage_ro_range *entry = NULL, *iter;
> +    int rc;
> +
> +    ASSERT(offset_s < PAGE_SIZE);
> +    ASSERT(offset_e < PAGE_SIZE);
> +
> +    spin_lock(&subpage_ro_lock);
> +
> +    list_for_each_entry_rcu( iter, &subpage_ro_ranges, list )
> +    {
> +        if ( mfn_eq(iter->mfn, mfn) )
> +        {
> +            entry = iter;
> +            break;
> +        }
> +    }
> +    rc = -ENOENT;
> +    if ( !entry )
> +        goto out_unlock;
> +
> +    rc = rangeset_remove_range(entry->ro_bytes, offset_s, offset_e);
> +    if ( rc < 0 )
> +        goto out_unlock;
> +
> +    rc = 0;

You can use `if ( rc ) goto out_unlock;` and that avoids having to
explicitly set rc to 0.

> +
> +    if ( !rangeset_is_empty(entry->ro_bytes) )
> +        goto out_unlock;
> +
> +    list_del_rcu(&entry->list);
> +    call_rcu(&entry->rcu, subpage_mmio_ro_free);
> +
> +out_unlock:
> +    spin_unlock(&subpage_ro_lock);
> +    return rc;
> +}
> +
> +static void subpage_mmio_write_emulate(
> +    mfn_t mfn,
> +    unsigned long offset,
> +    void *data,
> +    unsigned int len)
> +{
> +    struct subpage_ro_range *entry;

const.

> +    void __iomem *addr;

Do we care about the access being aligned?

> +
> +    rcu_read_lock(&subpage_ro_rcu);
> +
> +    list_for_each_entry_rcu( entry, &subpage_ro_ranges, list )
> +    {
> +        if ( mfn_eq(entry->mfn, mfn) )
> +        {

You need to take the spinlock at this point, since the contents of
entry->ro_bytes are not protected by the RCU.  The RCU only provides
safe iteration over the list, but not the content of the elements on
the list.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 14:07:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 14:07:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515886.799200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1ph9yU-00060s-0l; Tue, 28 Mar 2023 14:06:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515886.799200; Tue, 28 Mar 2023 14:06: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 1ph9yT-00060l-TP; Tue, 28 Mar 2023 14:06:57 +0000
Received: by outflank-mailman (input) for mailman id 515886;
 Tue, 28 Mar 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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1ph9yR-00060d-Tb
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 14:06:55 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20616.outbound.protection.outlook.com
 [2a01:111:f400:7d00::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cabba360-cd71-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 16:06:53 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PAXPR04MB9446.eurprd04.prod.outlook.com (2603:10a6:102:2b3::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.41; Tue, 28 Mar
 2023 14:06:51 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 14:06:51 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cabba360-cd71-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=myD8+qFKdKMkO5VStvnRjXVLV/YfRnbipdFE5EtYVe3f8sOrCUxiSkTGbQx6vo/HuE5znXsUzxTlJ7NBJgzE4wcOQAYtg6CTy4WtMGsGyrRHDpEYuyjTafbgmdHJ2CE2qZTCPVxXzaa9es70etn5TQgLsmTGtH1BQ6OIVhAhZ/0pdtP86O23QYqIHQdJbwE941CiFhiiq/zq7qR/1GZJoAuWUFdAJllV9wtM9txXpLvmUhUczFd8Sr5ANksjt9pWYvX65bUu8Sn1hHwxPaQq5SM/HtLcR40njfxj4v6tyHdcZgneiCwFU6fGWU9i35m4JxBuo1mi9nib0xlD7IWMJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Dk4CB2bDUPrvY3FuJimChSSIF7EDCoyJ2LS0qWZRRfU=;
 b=V5EU0oyL3oYyyLnTnaSql5AI80EV7gu2Qn9+WGPAZRnhLCy5OrL9niK5JTodq/DMSn+oEAbl5eH57A+MDCFI71cnhe4CZ6/JM2sffTOzckSTkabCtu/PAEpK8Pn+Og2iw38rknxCHwY/f5YP5oiHU0L/mNjuJxMea0gcIpmVX+WQLvljVkV5or9r8lEe2DoZI1T54sBPO55YK5jBcCkkPTY2BqucuM2HieLz+nhRSf/KPEuhkYzxwV6EF7rYreNT2s0ecrdabnGLkCMqAOT/q0uwP3AxG1br8nDUZ+hFofCHNk1B58/bFDAjIkLrtyHnXi5QqhndQu2dEZkXHg9MGw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Dk4CB2bDUPrvY3FuJimChSSIF7EDCoyJ2LS0qWZRRfU=;
 b=SUoOKedjMd8v16SM6Gfhng5kgIH+4BNucMUHSG+bnfZyhYhABpw9eiSe70WS1HYluOnyQJx2dQyPIqRzH+zUk5vJEGIv0adGBt2rc6SoALucId0ILlAQMxO4iBSD8cTHlPbTE7JN+t1cJjGrZ3C5QMRZKiTHVp0T9G/KjDRelLpC4AssB246685GNdqKagNSjEQzSsYRUdiLLTDXEZWmHEJ+dSShg19QEnGjvT5lQHnaM1vD1wqK47Xaz+MY/89NBHL85C1UVRIodleJuPZgptUw6lAVprCCDSjsmMewti5bOFgK9y7udM5F2z++i+kqPWRGJ3kN4OdXUOPbvEFD1Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <310d2d40-223b-5cd2-97cb-d9e40441c254@suse.com>
Date: Tue, 28 Mar 2023 16:06:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 3/5] x86/ucode: Fold early_microcode_update_cpu() into
 early_microcode_init()
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-4-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230327194126.3573997-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0164.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::14) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PAXPR04MB9446:EE_
X-MS-Office365-Filtering-Correlation-Id: 7e8dca27-02af-44a0-68ff-08db2f95ad73
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VrytbZkGKq8IPLyXKCivM8YBkbrtL5tMsca6wFW6o8Jm2METEloSOw0sgwPvFgBZQdhm9+UWhWMU2XnrIlaMB+QA6t5Zw5Fl4rbe2dd9eRcL4Xcz7Me6YaCkNjSPyvSnq51sqys1TqWgRhYMQcquLz/95g2agP6oZ3rMaS5MD3UuzbruEVdnORpOPbBC+Ynke8sc9D7AZzX5OY5gictmkUUjjWKg5npA88AYb21hCj38yBUSX5EOG/t2++UxYe3orW4FNzjFu+4E+soNoATLT+dh5F1isCGDpe8oDOZoijv6N7mAatS1RdG9HqZB1o4efuenIUNBayRItD97jvNLpJYs4YgeZnP6TLcvw04eynvH3vm2XqBL+zt2BqR+axMqXlbxRtH/KO8S9zvKu+ClZTFkrsHtqXVDlt5u/sBjmvscoFHqzbYEHZuEuOTIeWyqbymHz6Q8BfSeiv6H8VV5rAUrwJLkZFy0K+RIFGs0KGCh2LiN4ZmAbnTrrdsiMIp0AX0fc/yoW0CReX0fCGSj/2i436brFOl1DeDfE9EQPII6VOkVFneaIAPuqDulCM0pqIH5lr0G0KuXeXugbrefa1AJSjKsHG5vHXOZ6+febqILXJ2DN3yAPB6vax7uix2yAS5dmYMcVjs9bTwnk3p3Tw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(396003)(39860400002)(136003)(366004)(451199021)(54906003)(8936002)(5660300002)(66556008)(66946007)(478600001)(66476007)(316002)(41300700001)(8676002)(6486002)(6916009)(4326008)(31686004)(2906002)(26005)(53546011)(6506007)(186003)(6512007)(83380400001)(2616005)(38100700002)(36756003)(31696002)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SGduWk5meUZTMFozTWhPNlBlUmxxdTNNN3dEb3ZkQlNqNXFvc0dqeTM1VVc2?=
 =?utf-8?B?R3grRnpOQkloTTNETXU0WldWUDFRZVNFeDd2SVF6aHNDUC9wUDVDRUE1WHpB?=
 =?utf-8?B?LzVaZkt0K05aZzk5MmpzRWwwLzAyNGNtUTNzYWZMRXgxbjFRWFpnYXJHcnAx?=
 =?utf-8?B?SGpvZFo1SlR0dlQ4cXNkSjZyV2pmWWppQ2JJNzhCVTc0NktGQWtNSFh6Z3Bu?=
 =?utf-8?B?ZXV6a05uSWRYV3UxaXdMYUxJN2JFazdWaVo4WXljSlBSdTdCYWh6a25odVZM?=
 =?utf-8?B?TWVuT2RtTW9KWEhMMzBlR3FFQmJNeTlOVWFsSENEeTFGeEw0MTF5WkZDM2oy?=
 =?utf-8?B?ZVpKTGlrQktCZzZTb0ovdENGRVhZNkxUdEN2R2dZbHUxbFJZY3Y3ZXcyd01i?=
 =?utf-8?B?Mm1uL1N5K1Z0T3VTWFF0NDJhU3ZyRk04SkJpeUZQOUNQd01XNFdKQy9lajEx?=
 =?utf-8?B?c3AvVlR6aVRaUENjMzlqWmwxcFJWWm9KcmRDWFNpalhFc3BXSjBXTXRja1V0?=
 =?utf-8?B?Zi9XZG5mNG8vaW51aFBYQ3dyaGpOdE0vMzgrbXowMktVaC91eEF3YjQxTjFW?=
 =?utf-8?B?U1pWY3BOQUVqMUVaRDgvYjJVOE05MXNFbGVlbWVGMHIzNFdYdUFlOXFJNUxn?=
 =?utf-8?B?bjZvQTNSWnFVa1RiMGtsYkJCUXhBM2xVY3JjcmlObmYzU0U3V1l2Uit3UE5q?=
 =?utf-8?B?WkJsNlJQU2gwYlhQOHVaRDhZbjlmUEZOVmZuWUJ3eXNNaTF4STUwUUFzRkxp?=
 =?utf-8?B?eVVzNFhTL1kxc3NzWGF2NnI5MkxSbmloeTF4S3o2Q1FOS01CaGozUEFaeGlz?=
 =?utf-8?B?Zlp5MnU2T1dtSVdlRjE5eTRGZ1c0bzViZGd3VDdvY2RLNmVXQ1pUTmZIVjlE?=
 =?utf-8?B?bC9HYVo3c1Jpa1dhMDl3Q2UwcDVMbkRZOTJnaTBDTHFJelRTbXNkaDZsLzd5?=
 =?utf-8?B?WTlzMjhJbkJmTmdpRlJUY2Iyc2lTb1BMUkZtSkFObG9TMlY0WWJFUWhwclE3?=
 =?utf-8?B?RmM3YldZMkdCVi96anBMRDJ5Z3pNbUkwZUhQRjFLdFBYeGZ3Z1RpMFhBSnEy?=
 =?utf-8?B?K2FrTDlaRTFvcTg0TGlBOEVZQlh1Y1Bjb2dYV2NyM3VwM0FoNzVaZW5JYmU0?=
 =?utf-8?B?MnZHZmtLZFI5T1AvMzlDdUVQTHFQdWliSGhpVXBmVytlSldqR1JtTlhFUFBs?=
 =?utf-8?B?ek94aE1uT1FZR0Z1N2FQSU1BVURBV1dpMU9xeEJGM2ZoVG1XeVNYeVdDckVT?=
 =?utf-8?B?YmFWOThBWWNESklFWXA2L3dkTU9CK2w1R2NVS2JENnl2SnNCQkpIQUErckdn?=
 =?utf-8?B?Zi9wbjcrOG5Sd1k5RVJ4eEtpZ0VQRXE0cDVGQUIzdlkyaEU0SXRwbWE5RnVF?=
 =?utf-8?B?VEV6SmJUZVJ0dmFlQXZqSlA4ZHFMdS93QUxaWmRySnVzWm1tT01rYnhubmZi?=
 =?utf-8?B?TFRqTWk5WFIrcnJJcVI4VHJncG04OG5iY1o2eXJxc2NmZ2M4SGxnSGF1OXpk?=
 =?utf-8?B?bE1OWUJYYzRhcGJtUU5ha25nKzRlRFJ1aU1tS1M2WWd6d3hIVXpWUWxibUla?=
 =?utf-8?B?VGdGd3lPeFF1cElsK3gwaW9jckpieHFKcHZXcHdncUNoT003cjJYbWRncHEy?=
 =?utf-8?B?TTFzenBhcElZVUROelZhSk5vTjZrdm80QlBaTWUwRGJQbHlFMDJzbENUTWh5?=
 =?utf-8?B?ODhoWFZPUG5sTWZ4VjNYVE9PTjZVSm1maTQ1aXRLRk5qM2dSL3ZpT1lzaldI?=
 =?utf-8?B?dFUvYkhxYXhIWmVpK2tCNERQSGc5UHVSZVhTTzhta3Y5Nno0MVNhRnFEb3F3?=
 =?utf-8?B?eGppendCblNFK25kWmJGQ1VzbFZlSGk0RXZLTG5CZ0ZMb1M0Tjd4eUNKWEhn?=
 =?utf-8?B?L3BZS1ZkZGpKMGR3NmpERmF1c0hPeDc5VUlQNHBFQlFwUmpnMmZDZngrK3Vr?=
 =?utf-8?B?Lyt2aDVJSnpXMGdjRWdtUkFaek1pTGpnUzljMmVqc1ZUZXo2YkREV2ovc2dj?=
 =?utf-8?B?Qkx0ZDUzTlQzZlJQQlVWT2FpVTl5TGlLLzNaajZlYkJzcldQSVJobi9keisr?=
 =?utf-8?B?RCtEVXB0T08xNEFVR3prOWdmQmZsUWZaY1dhRlVGK3ZqN2h5SjdYdmRVUDM5?=
 =?utf-8?Q?FcSMPIQ38h50dbf80eKDKRYVr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7e8dca27-02af-44a0-68ff-08db2f95ad73
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 14:06:51.1199
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nwJxPjuz4nUF+KqFNkHzi8YTtFApoYQaVSRrLqbqmP90GszKYeNjdXBvHCUtwbLMuVfB6J+XgmiBOzNImwwnlg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9446

On 27.03.2023 21:41, Andrew Cooper wrote:
> It is not valid to retain a bootstrap_map() across returning back to
> __start_xen(), but various pointers get stashed across calls.

Same comment here, and ...

> Begin to address this by folding early_update_cache() into it's single caller,
> rearranging the exit path to always invalidate the mapping.

... this looks to lack editing after copy-and-paste from the earlier patch.

> --- a/xen/arch/x86/cpu/microcode/core.c
> +++ b/xen/arch/x86/cpu/microcode/core.c
> @@ -804,45 +804,12 @@ int __init microcode_init_cache(unsigned long *module_map,
>      return rc;
>  }
>  
> -/* BSP calls this function to parse ucode blob and then apply an update. */
> -static int __init early_microcode_update_cpu(void)
> -{
> -    const void *data = NULL;
> -    size_t len;
> -    struct microcode_patch *patch;
> -
> -    if ( ucode_blob.size )
> -    {
> -        len = ucode_blob.size;
> -        data = ucode_blob.data;
> -    }
> -    else if ( ucode_mod.mod_end )
> -    {
> -        len = ucode_mod.mod_end;
> -        data = bootstrap_map(&ucode_mod);
> -    }
> -
> -    if ( !data )
> -        return -ENOMEM;

Like in the earlier patch this looks to be lost.

> -    patch = ucode_ops.cpu_request_microcode(data, len, false);
> -    if ( IS_ERR(patch) )
> -    {
> -        printk(XENLOG_WARNING "Parsing microcode blob error %ld\n",
> -               PTR_ERR(patch));
> -        return PTR_ERR(patch);
> -    }
> -
> -    if ( !patch )
> -        return -ENOENT;
> -
> -    return microcode_update_cpu(patch);
> -}
> -
>  int __init early_microcode_init(unsigned long *module_map,
>                                  const struct multiboot_info *mbi)
>  {
>      const struct cpuinfo_x86 *c = &boot_cpu_data;
> +    struct microcode_patch *patch;
> +    struct ucode_mod_blob blob = {};
>      int rc = 0;
>  
>      switch ( c->x86_vendor )
> @@ -868,8 +835,37 @@ int __init early_microcode_init(unsigned long *module_map,
>  
>      ucode_ops.collect_cpu_info();
>  
> -    if ( ucode_mod.mod_end || ucode_blob.size )
> -        rc = early_microcode_update_cpu();
> +    if ( ucode_blob.data )
> +    {
> +        blob = ucode_blob;
> +    }
> +    else if ( ucode_mod.mod_end )
> +    {
> +        blob.data = bootstrap_map(&ucode_mod);
> +        blob.size = ucode_mod.mod_end;
> +    }

I wonder whether the order of if/else-if being different between
microcode_init_cache() and here (also before your change) is meaningful
in any way. I would prefer if the checking was always done in the same
order, if I can talk you into re-arranging here and/or in the earlier
patch.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 14:19:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 14:19:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515892.799210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAAa-0007mE-9n; Tue, 28 Mar 2023 14:19:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515892.799210; Tue, 28 Mar 2023 14: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 1phAAa-0007m7-5S; Tue, 28 Mar 2023 14:19:28 +0000
Received: by outflank-mailman (input) for mailman id 515892;
 Tue, 28 Mar 2023 14:19: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=0K3v=7U=citrix.com=prvs=4442f050c=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phAAZ-0007lx-BI
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 14:19:27 +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 8842090f-cd73-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 16:19:23 +0200 (CEST)
Received: from mail-mw2nam10lp2106.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.106])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 10:19:20 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB6755.namprd03.prod.outlook.com (2603:10b6:510:122::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Tue, 28 Mar
 2023 14:19:13 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Tue, 28 Mar 2023
 14:19: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: 8842090f-cd73-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680013163;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=5y+nNRLdIlX6JyWse4KtLL2uyLMWdzbAiJcScIblJmA=;
  b=W4Gs0DKhncmxEpRPocG8/CpooeHEbyLKi8q2s6DTUUI9bUPOXYkWtSpI
   EFyW51uQQvtJieMmoIruo2XW6yGA5DU3KTaWkv1lBJUMd8wy7x0defBk8
   cQabKvSXdC7vBlPEPNJFI0U41ujPn3O02vv40IkXPQ+Zf+rOoPNbfTnqz
   0=;
X-IronPort-RemoteIP: 104.47.55.106
X-IronPort-MID: 103386364
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:lF0wFK7PVmeBBh4rUfBkqwxRtB7GchMFZxGqfqrLsTDasY5as4F+v
 jYcUW3XPP2CajP8KYt1advn8UlUuJbdm4BhTFM4+XhgHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasR7AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5mx
 MFfJDkidSK5ocm3xJOFU7Qrn5R8M5y+VG8fkikIITDxK98DGMiGZpqQoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUooiOaF3Nn9I7RmQe1PmUmVv
 CTe9nnRCRAGLt2PjzGC9xpAg8eWxXigCNxJSuHQGvhCw024+G0YEzwtaEaqvfia0hSxZetjE
 hlBksYphe1onKCxdfH/VRClpH+PvjYHRsFdVeY97Wml2qfSpgqUGGUAZjpAc8A98t87QyQw0
 V2ElM+vAiZg2JWKTVqN+7HSqim9URX5NkcHbC4ACA4aud/qpdhrigqVF449VqmoktfyBDf8h
 SiQqzQzjKkSishN0Lin+VfAgHSnoZ2hohMJ2zg7l1mNtmtRDLNJraTxgbQHxZ6s9Lqkc2Q=
IronPort-HdrOrdr: A9a23:Z71bUKHpmuPjSE0apLqEL8eALOsnbusQ8zAXP0AYc20yTiX4ra
 CTdZEgviMc5wxxZJhNo6HkBEDiewKkyXcW2/hoAV7KZmCP1wWVxelZnPDfKlbbaknDH4BmpM
 BdWpk7JefcSX5dpq/BjDVQFexL/PC3tJqFv6P16VBDbS9XUIlczyFfTjy2LyRNNWp7LKt8G5
 qY6tBGtDa7EE57Uu2wGmMZWezOvP3n/aiWAyI7Ow==
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="103386364"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cKl4g7hl1reruNc0YPQyY2561xGF1rUAv7+OmS2vQbaBwM322FUTzGM0Xsggns/sSf9d7FE8otolxrXbJ4BZ61C8ER8wbu7IbezM1uWpd724RfFnHKjxrLpn9J+NjmdC6mImGKAoFShoOeauZ4ZxxV9LEWPhw10WDC6/iJ3z8ITNB4GNOgBo6XDlNUzFmOOMJL+nOQhF9NBt72kBZx4bdfJbTYHO6SioJQGlbH3vB82qGqbrzbxFJgD7jh5ry+4AV3nXB5VnCc04lQ5mVxvVO9MOeeYaolf6+WzrtGXQ43uxoeHHULaG3FVxrLwiyN1oi7VD6SNuJMPE6hpG2zzl+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=5y+nNRLdIlX6JyWse4KtLL2uyLMWdzbAiJcScIblJmA=;
 b=HS2nB9r9koBs4JnjBBK5MkmjM+ApI2UI01zntNEOFBK/X9gQmuj3bZU4oQVxaMs5AEs8pnKHR3bKMSUIdcZ7xX9g0lFou+XSkZU02U79Jy7OyK7HeUypZPKr1LFcdE27t+g+iKZhXfN+ynyLvtNWK/PzYwqUrLEmsAiEJd4YYF2tFjgFdHj6o60mRo8InvDMkgf4PVdi2ydKpX/9eRGLKLBOzWsh9oTngEWRYNmBMGTheH2D1oHkc9QnI0fscwy2xnqN/UJkAqRXwGoivP8PVHkTVqOhQkPcojiQ3SxbNQHbqtI0i/bVLrcUZ8X1DLp5fUkgi3AH5md0jJjZgBGOAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5y+nNRLdIlX6JyWse4KtLL2uyLMWdzbAiJcScIblJmA=;
 b=KDWi5Wg0GBqW4ZtknOvvaWgodU4e6Um7iZV57LSX7F964Epr/2E/oCDplsoOZWj4hOIi0A0lLbRSVv5naZnT8BxzkvC8IQIWZUxUNef64BRSJh8B0PsUBhlspodjynyi7nuOkTVUSv2z8Rai7FmSTKM5ao1qGDOZRDGZNQtQtEo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 28 Mar 2023 16:19:07 +0200
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 v2 0/8] x86emul: a few small steps towards disintegration
Message-ID: <ZCL3W/HrwLANuE/0@Air-de-Roger>
References: <7f5287ad-8442-6c53-d513-f9a8345c4857@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <7f5287ad-8442-6c53-d513-f9a8345c4857@suse.com>
X-ClientProxiedBy: LO2P265CA0101.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:c::17) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB6755:EE_
X-MS-Office365-Filtering-Correlation-Id: c7b51001-152b-4f83-b349-08db2f9767d1
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bsTvCuHaw+4kD7RbeYIaAzKZbBCIq+H4X0YysCR3bi9Of65MhKLLSJjcpE7DPA5uLKv/58wlC1n/ww9xMOJyLJoYrCpQFfdY1UYYZAe9414r59X3B8nXceQitQ4eGpOc5C5BggB9l1Hnxwm7Q/ij9T+SkeKcM/0ackDWNx0J+Qysj+X75ythOw/zDt+RkorRSL9dKbEvyXVn+PWM6aY9Y4QwklV8K11IoPSzTHl36etty29WERK7N8lL/DTCK6/z9JYAKLUxk4QE5JSTxl87GxliAG0BFSUutGHSeS5u18O66iykXZpfaB0Vp4TubxhoKmjWZ+F0lq4T97qKjBZIfRCeTqy6KUzFoFBc7mPrTXXh3qxRMbX6Jnw+lyAAzRZnS73BS0utxCl0kwUS0p3pqt2URnDMWM1vn/r0EupYw8jqxPK+TLH2mU4TGjyPHli4GBDgqp3F/dEqIVMJp6GClfivzegsDFlLViN0fY+tgcO6vOViXMz3NBiL4B+NVxn3650Qp59n9houiE0ubkGyAJ9hISnvQj/9llmtSqJw/mcK1CkKUOIAcNUXXSpURDPS
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(376002)(396003)(136003)(366004)(39860400002)(346002)(451199021)(186003)(478600001)(54906003)(9686003)(6506007)(6512007)(316002)(66556008)(66946007)(6916009)(66476007)(26005)(8676002)(38100700002)(4326008)(6486002)(41300700001)(6666004)(5660300002)(4744005)(85182001)(8936002)(86362001)(33716001)(2906002)(82960400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZkxaNFA1TnVwYVloOVJDVjNaaHg3S2ZjTHFTWmNQVndEQmUyQUM1d25aZ1Vz?=
 =?utf-8?B?Wk1SbE5nWGR5ZGkyNWU5bFNEb2NORXdKODlVV3YzOUtvdnV4TlBadTk4TjVK?=
 =?utf-8?B?QngzNGZKaEQ1QWRaTVZzMlkyQUlrYnRxTjZmWDN3bVJwcEc0Zlh3SmhCSW4x?=
 =?utf-8?B?Rys5djlJNWd3Tzc1L2hsTld5Y3Raczg5ZVIyYjRkeXhJUGIzNlM4QUJHSUMx?=
 =?utf-8?B?K2pTUXE0Sm95bng5NEdnSUxqOU0yNjJyaC96TTEwTGtlTTAvWWJuTGhySWZP?=
 =?utf-8?B?bGNFWUNobUtLeDRrNkx3cW01R2RVd011ZGRpVUFPM3dVZytsK2NJZVZ3OE45?=
 =?utf-8?B?dHVYYzdKdytHQWhTQXkxTVhKeTVneWVWN0dyemNQTzVsbTlXOGlWNGRMTEpG?=
 =?utf-8?B?Z1M5d1Rud2wzc3JLcnhTVzdaY09FYXdUdUg5cjhBa2svV0ZmaXBBbExXY2wx?=
 =?utf-8?B?bklRY0oxUzBiMWR2b2NWTnEzRDl6QnJqTXhTTWRtMEJEeURxZEpZOElIZ1FL?=
 =?utf-8?B?cXhYeUltOXFoYzIwRzZGQldRd3YzbDNITmFLcHo1R0tRSXJLVityb0lrNVZG?=
 =?utf-8?B?M2V5VWFVaHBjL2ZKVk5qMnl2VzAwS2FjeVdTOGFKZGcvbGIvdDRaWnhOYXpE?=
 =?utf-8?B?QjhyV2txT2U4OVNpVDhCdFIzTDFFSm9VbXpEMTd3NzhJczRjdE5HTm5FWWNh?=
 =?utf-8?B?eFJkTFNrTlpZUnU2RlY1c2ZJZ1IxUkdxNVcrMnRybzF6SDluYjJDcEMrYzI2?=
 =?utf-8?B?MTJJTHcva2FLUFI0cEN4Z3hGSzZrM1E0dEdBdEgrNGpjNlFDT29DZUpNSFFS?=
 =?utf-8?B?b2tvS085SWRTUUpOeXQvcElFeUVUT2pBT3FrUlZrNUx5Q3A1cVc5aENua3k0?=
 =?utf-8?B?WjJEL0Z1L2tZRXlqTE1RRDdaLzVSZ0U0YkZGZFlLME15QWFSdE1jMDJ6eTVz?=
 =?utf-8?B?dU0zTk9FQ1VzbFRrV2x4a3U5TnZWYkxnZlBZY0tsc1hXZjcyMGNnSnYxakQ5?=
 =?utf-8?B?V2F2QzlKSllqZHlaV0UvMTh3azlyUXk1YmJ1YUQ2TzdyWnJ3dlMrcWRTT1dy?=
 =?utf-8?B?L1VEamUzRFBlTkl2elpNWTRqZEo3bVBVdlFaeHBTa2owSFNzcHI5TmpoTDBV?=
 =?utf-8?B?V3hEdmVuSE1tNisyRmpiSEFlV1hoVU9TcVVhT2xUaFl0UWdxYTY2V0RyNHh6?=
 =?utf-8?B?TDAwN1Fhd1ZQcGtrQnpKMWtocUhvRXYxbHhmQXdUb051MFFtM3laQkpTakt5?=
 =?utf-8?B?TGhVQ0h6ci9BMWVRbjN3MFN2MU90OWFrSkt0blVYQVFsVHZSWFJ2bS9iY0dv?=
 =?utf-8?B?S0F3cEtZbVp1WkNiN1h2bkEzREdGNTVWcmczb01LSmJFNzI0TGp0eHA2MlA2?=
 =?utf-8?B?cFhhMktDYm0vV015bFA3b3FGMlhjT2R2U3hucDQzaUtRVCtKUGp0VXNOY3pq?=
 =?utf-8?B?aDI3eUc4Tk82MWR4eGFGNWZBbmM3U01ZQWVjT3JlNFdrbXc1NXNWNXdQYXI5?=
 =?utf-8?B?WXRKRWZQbDB1cDVndjdkSElUeHR6Nk85NE9uSTFTRW9wdHh5bEdNVW0yZ25F?=
 =?utf-8?B?TlJZZDF6VklNSDFSdklCZ2thZGdZT1EwRytJR3IwR1BDRlRSSlNXYStEWjJx?=
 =?utf-8?B?dGlML1orL3UyOGlxR1EzWFJmdG45ZkRmSXJGRGpnejlsTUp0dG9WeklpUnRC?=
 =?utf-8?B?VStYdURBQmJ6R3BraFc0MDdrc0tBZXBlbXBnKzlKb25MbWdSTVJ4NStnUXRx?=
 =?utf-8?B?SUYyL2JWVkRKTTJ6VUFvYnA1TjgrWGZ5aXFkUUgzWWc2MHZnMUR2UHZYWnhh?=
 =?utf-8?B?ekV2M3lVKy9NRjFmdlhtVkhvRDd1TjBIQUg2aWJhV0d0QVQ4UHEzdEtZZUVq?=
 =?utf-8?B?Y3NjSjd3YjRRQUk5QnJ1MnVoR2xoZkR0elBtSWFZbzA2Ni9QSnJXVXJpUTQx?=
 =?utf-8?B?bXExNnRsdDl5VXViYTJYNnRBU05Ga2NBYmVuWjFvWStnNW53cm1WWU9MTVBV?=
 =?utf-8?B?M2JSaHg5WWpxS2hJVzNsZlFOcEZ0YXgxUWdmOXA3QmVDNDA3QlJ4NG1UQmhQ?=
 =?utf-8?B?RVN5b1hKMmRla29TcnowNXA5NmxPMk92elFKWm02RlpkM0FtdW9ldVRoOW5o?=
 =?utf-8?Q?Dlnl2ryHnneMP09uHU9L/61n4?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	1zTKDOZgxHn0IddP45XnWlkvH0IV7CvuJnea0Ogb9LPXqdL6BDShvNYw9ozqFN7/KKUAsAcZic2QkWUnHVSKII+xx1CV/qH7CtHRZCYwIVzo7YV99RRoLz3srEtWP/PPq7P4Gk9deai+m6ZysjR39mYYJD7886Hvz6nDqgY0UvhpjlS92T28BxT4hwIF57KFOTnRHS0KHG7TQGN6HNXYYG8tz1NL7rHK8mrIVQYp18i6BzdQ6o030/mDT6um2pH+YN4WNA9eaJiZR+kzKKvrDl2wERD++9SBjJPhPxnOKmvh7nDw34weuYjRXBE5UYDugnSphEiL2VWRox3cnrywGjvIeJnVHlq1ltDnoAlUp/txcHzzqpKL2V4+0rSgHKwQELYMi5LbHIBDgbjvh58Rhxw8YC/Ils7Rga1s20sxlSANhgFzfFOIJMM/4yLYkO86nHEZ05ohuN17AoCjCJHasdG0hCZnxcFdVnYx7ezcPJ39V+OAa1NK7i5Xy+0JdIYSc2PglXrGol+yGlqFyjVnx3l1nxu7NtaMvQrzWWUsfvEAIKkzi04qrmA/e8Mx/FQRmjyRa2QpsQz7tBHxPccIm94ANFcLoLwT1hLwoKqTGDLwQ+mLFm0Zy8OsvmF1SoAlc/fKdd3dCWGNy39gpMkiJ18fwU3oiboNlrky2n7PwPCCvnkDSZjVgkKlIdPvS+ABqvF89o7moYF1+pBc0VWrF1AwVW3jr3HDGOBpXnBdRF1qtv//UTVlmkl62dTDhbUQ3AvLLLqcdSIE495pzbJXUxEb+0a+RmL6uNAsb0MbH4p93jnA48/vZieevCKmjdzh
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c7b51001-152b-4f83-b349-08db2f9767d1
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 14:19:13.2982
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iJAw4K9WPGBNG7RY6uxuTg2l8DBmdPi4mTf5GRE9Lvxd2vB+esQHOp3MFj7O0egnbsuBiXfidZycRVHxeeELZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6755

On Wed, Jun 15, 2022 at 11:57:54AM +0200, Jan Beulich wrote:
> ... of the huge monolithic source file. The series is largely code
> movement and hence has the intention of not incurring any functional
> change.

I take the intention is to make code simpler and easier to follow by
splitting it up into smaller files?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 14:19:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 14:19:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515893.799220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAAh-00082g-Fv; Tue, 28 Mar 2023 14:19:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515893.799220; Tue, 28 Mar 2023 14: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 1phAAh-00082Z-Cl; Tue, 28 Mar 2023 14:19:35 +0000
Received: by outflank-mailman (input) for mailman id 515893;
 Tue, 28 Mar 2023 14:19: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phAAf-0007lx-Iz
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 14:19: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-flk1.inumbo.com (Halon) with ESMTPS
 id 8e2069a3-cd73-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 16:19:32 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS8PR04MB8117.eurprd04.prod.outlook.com (2603:10a6:20b:3fc::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 14:19:29 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 14:19: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: 8e2069a3-cd73-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L7M7nk875zCxjuukrb5hp0w+WsaO2Y2XxvocLlooDLWpk3mHlLltEfDgOWoGSe9DxigfAzoejYn5J6ugUMngYq6Y2SCMyArb27NjC/KUv7jXKW2p9GetyzAvKmMtEeFnrxlYYvFjTFrEERebnqKP6eZHo5SjXwn+uFEoR8w8zoxhAMzGMZU25KVRdvnitZ6CoCgh0EhrQ+PU9XMqZyZs0BQPHsSck3hVu1oFE/AdzOBBEjOL7q5ruh/hcK7/VZ1hxviDFjg7FaZd/o14yjEOVfzYcRP7FIWZl/nXhwNy1znM+i0EgzYFZ7vU0qVOLxvwy6SMpX211cxCeBLoKaXgLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ELX2Ur6gsiOCVOazo1FUIqwKgik4m20t3JWgvWETr7c=;
 b=hOdIIEdm8dVMO8uVuQIgbGWvZ9UJ8DQHywUUQVe3g1zoOkUCg7LhgkeDMlEj5cXgZd7A5byJtTB0sK18VH2jHclWBGG9kWxEJtBV5IIv9AKKaOxI6pUbgDbt+UU5oKYAF1g+FEh/4Qv7q90BkuVu0UNHgLlMJj8g6B9SrVVu2da8hS5ZKInD/4Z011+8SbbkqUg11yfKpvCGEdkZjw1n1L2Gf9+1TdYFrZo/9xy3LQuEwBJO3IphIfJ+oWK6ngEAN8aJ6enEfq/ZclgXseg/EijHKIF0ePeDM9mbdyuAaBiC1PGtM35A40hnTjNS0S27aTVRuOIXFDXqEMQfSc0Tzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ELX2Ur6gsiOCVOazo1FUIqwKgik4m20t3JWgvWETr7c=;
 b=r0BsSOW819MgLaHpxBuc3NC8tlvCl/06/+lk4exZuBm8M8Iyop550xwoDBQ/PKHG7iVZGguN8gUK1koF+jJxBTngM/6DX1bNenfXCTADCgGjCwCmMSg66U4WvDx8uykGq8BQgg1JIBMjcksH1qjsCHV84v91+fp9A8TFWA9JCGDDZY0fyU2VOBkzEiQ+lSd+5YdjzFK2Joke4kK/AmH1XfIBZh8SPEFKfYya+LtX+ZgD7a2CfOtow+KykG1SNxUORwWOSMSmW03R7OxJV+PvYxmTcCYj7SM3/TEqIwceISqUuU8HlIhAN0ewKrQf4zt7/3z5vBPOg5yeunyXG+DrRA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8e86b93e-06c4-5998-5ec1-5543d357f960@suse.com>
Date: Tue, 28 Mar 2023 16:19:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 4/5] x86/ucode: Cache results in microcode_scan_module()
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-5-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230327194126.3573997-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0059.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::21) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AS8PR04MB8117:EE_
X-MS-Office365-Filtering-Correlation-Id: 7f29cc27-8c9c-4eaf-140f-08db2f97711d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NrqAtJJHWqqG46rsfdGqQHo6Gco82eYiz2Cj53rJk94DRSPJJ2hC0pXtdCZ5ekxIH8fAuxFdMCb+Psc41fl7x/DBW1Ms5g+nJqWGvst8Rv+jKmvx24exipEW229l0v7RwzQPWBFFkklMT/CA3bk/vSzH3RjFQh9XbABYp8wSuFnTG/520tvK52Ar7JX8F3gA73GNvU7uavQDbGC5B8GA/pNUY9k1FnfluaaN9C9PSoe1+XhnxjTRDKrDZgJuFiwiPK3sKOe4ZCGyaS8QW5mIsD8XDFxNYgcZW/x/XRj/1Jc97FX5IBsZjZ69U+2Ffx501+juU7k28OLzyRtlXBy4HWh6hXmsxYsBtRUEjSkC2XkX916GTxavufaFaxVtAs0/arUrLOFSDupMkUOo/+HeXSTclQ35WkgjBPSgMpDpRGiAWYqPldCvVLptwAgU0Ecrn9pVOCOyV1qffqJw+D2WTTzlghWh+gI9bURzDkSa/RNTVq3y4xqSqpnxeoCcV93nTRUAvsOHrfBZKaShMgm6AqVAPrhnRD2AnMJh0KACQhm3EGdTYCz/U0LdLh7DNBKLVaoIFKFvrqleBRzxhR97HUWE5CQWuXu0vok1RhyJvbPBS7SFZeRVOMOIf4hMrl3XCASlVIQnBzHi+b/gqBs1Eg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(376002)(39860400002)(396003)(346002)(451199021)(31686004)(36756003)(53546011)(6506007)(26005)(6512007)(186003)(66899021)(2616005)(8936002)(66556008)(41300700001)(4326008)(66476007)(6916009)(66946007)(5660300002)(478600001)(316002)(8676002)(54906003)(4744005)(38100700002)(2906002)(6486002)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z0l2YzlicWlBcHNhVkVOcFluNmx5RjVZU0Nua1luL2JBbGpuMGZCdHZuYzg5?=
 =?utf-8?B?YzFjM0J6Ulg1OUx5d1FmUVlMN0dZekoxWi9TQWptSHVGUlpzdWlVRDEveEx4?=
 =?utf-8?B?S25qV2hiNDdXWUhGRElUdUxYNW9FL0p1TTUrR0htcHRndW02TlJ3LzN6bXZ0?=
 =?utf-8?B?aUVVVmp1RmpFeTh3aDRiaEEzQUh6cklKeVlXTWVHMnV5RmZGVkJrdjBac0l6?=
 =?utf-8?B?emVRSXlENzNYb3dMVThuRDhzbVdGRXY2T0RGTGZSVitOdis1Szh3T1VRUmkv?=
 =?utf-8?B?cXdUT2wyWWc4NWtubTdHZ2NjWndTVm5HTldualFtOFBUeVp0VGlnU3ptcU02?=
 =?utf-8?B?MFc1ZkpyU2szaEs3QkxsMm4yWEtJQm1pSmFJajdnR1dZbXUvUXRLRjRJbE5U?=
 =?utf-8?B?bktTMFY5cXV3UGorQm9nSDZrSjZ4ZS9vTlRVRjdrNXUrRytoTDIyUTE1ejVq?=
 =?utf-8?B?cFFpRXB1L05GOU8xSzdDTFkyT3R4ZnlZTCtsTm1wb3hSczhEUjBldU1qZjN1?=
 =?utf-8?B?UkZjeDR4cktZWUVUSWFPbG9uczBCSStqa000NlhHSGkyTk0xQ1hTZnlpMzBh?=
 =?utf-8?B?cHFHdmdZT3UvQlRSYWZzOHlxL25CTHZqMjd4WGJLaEJnZzJWbkxaRVJ6SVNq?=
 =?utf-8?B?TUJMZG9xZVhJN2EwZTFYcmpyOUhPRk9VMnhDRWYwY3JwUmJiVng0ay8yQ09q?=
 =?utf-8?B?dThRc3MxQTNmeTFrTC8xaGJiYnFUZFBoQUZ2K0phTWdBYkRaQ2dSYStGU3BV?=
 =?utf-8?B?M2gxVWM5MUswY0tzQ1VheVhhSVlPSlZjRyt1bDJMRVNNYXhBc0tiSXdLUHAx?=
 =?utf-8?B?dkhHRmYySHJTS3QyYm9oWkdJNHMvTExEN05XanJVeUllZERoYlZPcmVmVXN3?=
 =?utf-8?B?SFFheitJaXlibUdvY09yRlZNdzdCUXVaNTBKaGtUdWhUT1NhZnhkOHRzUFZ3?=
 =?utf-8?B?bVhvRG93SnlzcWdndEU3QXdvUkFsUzMwYW9MK1hpV0wrLzFVenpkV0ppY2xL?=
 =?utf-8?B?NHB6OXdXVUVyQUt6MzlIeGliaDVHaU92ejgrREtjT0FmcDk5NkdhbExRZFBn?=
 =?utf-8?B?dkJaQVF1WGRlODRGTW83WHVSelkrTmt6cHc0UXV3ejdyYUs3WnUvNXcxRHlU?=
 =?utf-8?B?RlRVSkhxam9WTkJYeS83a012UWlSK1JuZkxXSXV5cjVZaDErbVgxQmF4cDJP?=
 =?utf-8?B?TlM5NDFxL2xZeHFVS2xEUWhITHIxVFVKTklnSWN5U3l6L3BBWkxYdmZDV0E4?=
 =?utf-8?B?Q2FQNXU4cStwZk5uRjhUaDRGNXg0WlMwL3JaOURYaDFOS3dlVWhFOTlxaXpX?=
 =?utf-8?B?T2dzRWFYSFVtcERjOEJkeFQwK0RiRDNSZTRCSjdVRnlyWFJrOGxXWkQrakh3?=
 =?utf-8?B?QUI0OXlaNWpxZ0xCTjZmTjVUUStncG9ZWGlnYy93WXZmVU5aN0EvT0RFNHpC?=
 =?utf-8?B?VmdsS1gvb0JmT1BxQ0tKa3YxMHpzeUc3N2MxR095a1F4SDV5NmtWdWpLTjF5?=
 =?utf-8?B?M1ZIZ0pLcTZwb3FDbHZPZXh3aExKUS9YZmtNWjJYVHRuMWpjNEtLMWVpWXg3?=
 =?utf-8?B?NHRPZURlUlZMZ0R4VHdsMDIvNEhPdTdKMmVjUXpySDBxYVBCb2VYT2RBbTdy?=
 =?utf-8?B?enN6NDdZSmhDRjJGYVNHcGM0clJwNjdXVDRMdGZ3bUVWTWhwdWVxakNhWlUz?=
 =?utf-8?B?NnJyYk9BbUN3eE52QzhKVUVjWHRkR2NNejFuWStyalBuWVNWaWlHK1lwTjNX?=
 =?utf-8?B?eE84aWRqZnhTM0diZ3Y4UUdQTElnQzB5N3MvZkl0aTNVRWM4UXgweGxYdXJJ?=
 =?utf-8?B?MDlIOGlWdlRIcTdRSkdlQk9wdTVJa3J5NDRNaDdnUHFMQzBDcFh3YzV3Nitk?=
 =?utf-8?B?aC9rcmJyNWUzMC9KcThhWHBodUxDNHFRbW11dXllZGlBdHlTSjV6OHBDRFZT?=
 =?utf-8?B?d1h1WXRLbUVDQ0FOSlVLbCtkNkowMmhjYzVlMXRURTVGdk5ueHh4UklEUXgr?=
 =?utf-8?B?YTdJZWxHeThHQTdWSmdnMTVKU01JemQ5eThHVExGUkxUV1JuNDdBQzNrdjlS?=
 =?utf-8?B?UGdpNTMxNmRUcTczZnNTK05vTTg5QW5VY2VUYXlWRDVOUmNNb1FQbEZBU001?=
 =?utf-8?Q?gd+atoMXkZbpwez24f5EpnROq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7f29cc27-8c9c-4eaf-140f-08db2f97711d
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 14:19:28.8676
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +28RakD2xPM9LBTqbby6onOgMieZW2czhlCCj83loK0Da2bv/yjjfePse8nuNh5lucDwg8fHTlQ3DyV7oAU8iA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8117

On 27.03.2023 21:41, Andrew Cooper wrote:
> When microcode_scan_module() is used, it's used twice.
> 
> The caching of the bootstrap_map() pointer in ucode_blob.data is buggy for
> multiple reasons and is going to be removed.

As before I'm not convinced of "buggy".

> Right now, the boot flow depends on the second pass over
> bootstrap_map()/find_cpio_data() altering ucode_blob.data to use the directmap
> alias of the CPIO module, where previously it caches the early boostrap
> mapping.
> 
> If the scan is successful, it will be successful the second time too, but
> there's no point repeating the work.  Cache the module index, offset and size
> to short circuit things the second time around.

If the scan failed, it will fail the 2nd time too. Maybe deal with
this case as well, e.g. by clearing ucode_scan at the end of
microcode_scan_module() when nothing was found?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 14:28:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 14:28:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515898.799230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAJY-0001N6-Bd; Tue, 28 Mar 2023 14:28:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515898.799230; Tue, 28 Mar 2023 14:28: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 1phAJY-0001Mz-83; Tue, 28 Mar 2023 14:28:44 +0000
Received: by outflank-mailman (input) for mailman id 515898;
 Tue, 28 Mar 2023 14: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phAJW-0001Mt-7a
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 14:28:42 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20605.outbound.protection.outlook.com
 [2a01:111:f400:fe13::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d50d78c9-cd74-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 16:28:40 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PAXPR04MB9421.eurprd04.prod.outlook.com (2603:10a6:102:2b5::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.41; Tue, 28 Mar
 2023 14:28:38 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 14: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>
X-Inumbo-ID: d50d78c9-cd74-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IcFywrLDgnW/ChEKNZZgiBoBkqJ3tRhxfo7MwlgafRvmsVpb7NqDHPJW6WwulkYl6URIHZ/+GjG6hP8L5Qd+wr29VhrW6bqqaplaRNrezKODjVGaXcEgG5sMf09qfCfb6UpKm625hT9e1/QDGbmt50Tm4WxQXZRJiYfxB9KNi9v4xpDMDmMhSxXCDabZHo3IWweJRtclLaR/ZaRg8r7jW9fcOuPG0a6ZtGcgyRqfZ1OlV78UE1V1zzTu2l/pdo1vWRsD4EU89N3+Y8rYu5M3kHS8YNcg2B9fLuMmYGBT//rGm+Mtpb014JxkD/yBf4iDjI9H0696g2NxnaozzjE9YQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OrRzzGZx79GvdfvZtfyt7X++JTiFnWIX+XEBOGPhBY4=;
 b=kRDOcC06KJPvJ9mpvYsAlGcMPYoICU/wXeIs1YICLK38rJreZvwxR4A1v0/bcmGjLREqf4voUna11e+4+5dKozzeHfPrRTokqwwuGxTy5EwDmXIp13ov3BLVf1ceqcFiZyLbocG/TP8t1DGfShwXCo1zOTUWbWfWaV4uT0FBUEa/Ck9SUyrQja3sJpWmSEfsH0DEKKDRAZRX5Ky6LpMAwJockLvyXakmy4GB8/y5KgoJMuUnqVlEr4Lv7SHxJtazIuntPejHgEKdmxBAdm0EgMntn92ASFI/WNnwguhx6Ko+sEeGvLtBR/Fkmhwyoh34P4An7NfZP1GRGDBXEODLwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OrRzzGZx79GvdfvZtfyt7X++JTiFnWIX+XEBOGPhBY4=;
 b=RhN1yIKvR/FjETD+FDO6/pvpLeTHvpFilEaFRJCAhqbK6XsIEqBi6NSw+Xc/G+GXFsyk0FJxqSFURICL35DGteIkcHQ42F2tRQJqLq7p761FMCTf47cmULj1HYyJcOdDDgkW6W38ZsqjRzd4sqPI8N10LH8TYWmhMtS9WLcFA4d8y7OfPkLQ4/OWAu16qW0LU/MktXVzt58atqCVkDKbQZjZPD1hlnbXPauAO0OcCJaRPvvPB9X7viGi3iNj/jNsvlWmanYyzJIDWdTQ36AzUhzzo7JmDGMVv+q1xF4G4+DUSTYXOIYKow5G1pXKWV4aJl/rvRztk3iwoNkj1sSuMA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d7539fcb-0e47-bb4a-f39f-d9d60e072a7c@suse.com>
Date: Tue, 28 Mar 2023 16:28:36 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 5/5] x86/ucode: Drop ucode_mod and ucode_blob
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-6-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230327194126.3573997-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0162.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::9) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PAXPR04MB9421:EE_
X-MS-Office365-Filtering-Correlation-Id: 80fcffe7-c1ce-4c38-d480-08db2f98b841
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bsTysIwaaZ9W/j549Yzd85RF54HqbN4FO+P2Tkiw41II2N5lT2ifad9Sica/+zAeYT4Qf/7A3016gQoQRc0jLYzCri/ipAlagBageZ02bvkxXqSY2ZyurCn8gHHPSlqtcYuwNF/NI3nOTphQjDMpl0hGQxhFaTjnfSbkyy0GpxkokqeIAnfrqCTiFT1m4dhN0AsRsKByZxQEo8UzOHOcPyRE8JGq483AL8sZ63Xe6MTjJF6s69QwYhII/G4x8JCEP91S11nRWO7vFQEh07PuQ1Gv5ZFeowEqUy5WVnK/+RP9ka3mUDTc2Kqbr4UlZhpEWZY2yJ5pal2WDwhORvnWebSQzE3hfchz26gSHcv/aWcn+taapOjEg49til2NcMZ8p+2Jl0ABtf2TM3kV9RqLleq/uSqNLreCOCdIECmHuthf/NDOrcdDC5XyXKnW2s2TJ0P9rfW8+ItN8SZ9MgtBkTcjTrWaEFwdPzXj9MfqSTHH/ns58Azjv4ZZBtMdWZ9PULga4ZHMnxpVYUR/z+aStOfa75IjlfeG0hXDGMDD0acFQ7O5pbWcwj2IuiO/Z7XvBGvyrYfcR/qVeHakBrLDkhzt5BWXihNzytCQwqIhZU9iy56he41aCWt1J5iEo1WrkI59wNiGZOtoT1JRMbiqLw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(396003)(366004)(376002)(136003)(451199021)(38100700002)(8936002)(316002)(54906003)(6486002)(31686004)(66476007)(4326008)(41300700001)(2906002)(8676002)(6916009)(66556008)(66946007)(5660300002)(31696002)(86362001)(478600001)(36756003)(6506007)(26005)(6512007)(53546011)(186003)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enBETlR2V0JJU1BVQXJ1a2tONjdmQnJtcnZHYXR1TlZVREZPRW4wazgvU3JH?=
 =?utf-8?B?aU5LL29QVHczSzk5LytJdWNLMnJaMjJ3WVZxZHN1em1PckdNOTBKTGlYdFV3?=
 =?utf-8?B?Yml4VFIzaTNXSHZ5OFNjOWxIekJwbWJyaThVZjNGNUlSRnRBaXR3QUI4enli?=
 =?utf-8?B?RFhUSEJZTUdNYTY5M2ltVjZsY0ovNElmRUdKV0JLc2VtRENtalR4a3NyQ2pt?=
 =?utf-8?B?eXZudDVJWTNYdFNtZG9YWXd3UzVyb1B3bjVOOTVCY1h1TGJCUXJ2Rzd4N0ZD?=
 =?utf-8?B?bmpBelFzR3pRb00wTzRYcGRpTEJyZWlMbjdzRk1rOWhET3kzd1JObHZId1pl?=
 =?utf-8?B?QVFsUEw2aE45RHVqYWVBNEdNSy93TFJlaks1bnNtOEEzV3BaVW9oWGZpV0U4?=
 =?utf-8?B?eU9BbXhHanlGRHNGRmFYci9MTVQ3YWgyYkUwZkJNZVJ2WFF4UllBSnlvR2du?=
 =?utf-8?B?QVNjM1dkbGpEZFhoM0dzQUljNkxDeW13S1pnVkl5bUZCRFdyRDVPL3FlT2xl?=
 =?utf-8?B?STErQmQ3eUY0S3R2ZUFuMXlQdlorTkNaZFk4ems0cVl5anp2akRyN0ViMmZ4?=
 =?utf-8?B?UVRtWUdCVDliR3lIMlBXRmU0dnh6NmtaSlR3U1htaVgwMVM1ZFlmOTgzVFlm?=
 =?utf-8?B?UWxmbzFHR3NYS09jbFFMUkJwMjVFKzFUbHZlZjlmRE53OXV0TUNQeStCQVNN?=
 =?utf-8?B?YStCcW52YnVtRzlJeEpxYWUvdksveHhmMkxwSUJFanQrQmE5Q1lHSU1YM3Jm?=
 =?utf-8?B?a0FmV0RRQTZtVVlmeFAvdHc0dk9qNi9HY0hkOUpvblVNbzZ1NGZIeUN0amJU?=
 =?utf-8?B?b1M5QVNTVnNTSUFTWExlZUdUL29aQ28zTTA1eGhkTmg2aEo0dW4zN0liM3Iy?=
 =?utf-8?B?cmE5YWNKdXU5L2diTHJPMWlvT2xRM1ZlTEFhNWlHa09EWUs3cE13Z1NCeTU2?=
 =?utf-8?B?b0Y1TFpmMDBkN2xka0UzWTE2V0REYUp5QzdEVVdsMVZxWmNxNVpoV0RxVzVv?=
 =?utf-8?B?M3Z4TjBaTExVd3VnT3phb0UxSG85UjR1Tkk3aU1TRHhxenRnLzg3bW4xZ1l5?=
 =?utf-8?B?aHN5L0dUUHExOUZ2MkxxQ3hWT0NGeFZyd1dIN0N2Nm82V01IN1ZCaytnZFVq?=
 =?utf-8?B?eDNmbFpadlBqQ1VQQVJkSFp3Z2xSM3VQWTFPOUwrZ0pXYXBpSmlxTkk4Vjhu?=
 =?utf-8?B?aVJVYlNkWkMvLzdsN3pjOFFRZ1JnR2IyRXBodWVQRmpZN2lUa1RzSzhaSGN6?=
 =?utf-8?B?TmwxbUJwSUcvQnFGaEFBajVoVFQxaXpQUjdVTnczNVFUV1JoZVRPMVJ3RTc3?=
 =?utf-8?B?U3Awd1Z5THRiZUNGWkdUSDU2R29heWRZTVlTd2w3Zk5uZjNxT1FYeDhIUWQ2?=
 =?utf-8?B?dDlPM01JdzJyV291c1YyQ3hNQVFzdUQyMDlITUdmbzZ5NFMvSTIraVp6Qk82?=
 =?utf-8?B?SXBOVlBtdWhERnV6ekhRNERmN2ZhdFlXVHBKdnBRcVNYMkhkRENNbU9PNVFm?=
 =?utf-8?B?Y0wycWNCL2RVUEVOS3dOTGd2NFhKbmtPMmZxd1lNR2JJUkVCaDN2VjJlbUJU?=
 =?utf-8?B?ODV4YWhla2JIa1NQYnNEUUlzRTAzSWNCdEIxUWZBREN4RzdKSnVic1R4eXAx?=
 =?utf-8?B?WjBxanZ0dnEvQmpEV0NOV3o4NDREUEtoMHdxSk1wbXMyeERuYTZONnVVdnYw?=
 =?utf-8?B?N1Z3WjRTWXZsVkhJYUNqczBGK29CY0J1YWdjNi9rQVhYNHFPbDRudjdZYmVF?=
 =?utf-8?B?cFBXKzI5eDRuVmlYTzZOTFh2d1FaZWdtOGRKb3UzVE9ES2EvTlhIMUpBMGZC?=
 =?utf-8?B?WTNidjB4T2MrY0c5NHhyd3dMbHVUZ2JDYmNKRjMvRWhLY3dVdVpIQnZFMXFs?=
 =?utf-8?B?bFdSUGlPNlg2cG1OeUszUTZRMnlWYlQxZUFYMGpJNFVSWGt5RDUyTGlZUzN5?=
 =?utf-8?B?YVJUZXk3TXJUTXViamFXQmpyNEdMUVh5Y2pXNDJESUhBLzR0WTNQaktGYzlE?=
 =?utf-8?B?Ui92MU9kMmhrN3pDWTU5YmRpS1pybTRBY3RKdXdHVlIveVhTSjRqK21ZRDht?=
 =?utf-8?B?UnVCdkgreHRtVWVJY2Y2cDZWVEd1UHVCYXJwNnpabFpsUitmcFg2VzNzLysr?=
 =?utf-8?Q?iYCK9SDpNccyD3tT7CpS3v/ox?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 80fcffe7-c1ce-4c38-d480-08db2f98b841
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 14:28:37.9468
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FJAMFkx8A1h9RqIcIjShlCgoNTo3c1AnVBFyxILkSH7uTr+0tmObrxH3L9sZWkpHIlR+8ZItQun1M9V2blhJqQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9421

On 27.03.2023 21:41, Andrew Cooper wrote:
> These both incorrectly cache bootstrap_map()'d pointers across returns back to
> __start_xen().  This is never valid, and such pointers may fault, or point to
> something unrelated.

As before - unless bootstrap_map(NULL) was (carefully) not called in
between. Same ...

> With the refactoring work in the previous patches, they're clearly now just
> non-standard function return parameters.
> 
> Rename struct ucode_mod_blob to just struct blob for breviy and because
> there's nothing really ucode-specific about it.
> 
> Introduce find_microcode_blob(), to replace microcode_grab_module(), and
> rework microcode_scan_module() so they both return a pointer/size tuple, and
> don't cache their return values in global state.
> 
> This allows us to remove the microcode_init() initcall, the comments of which
> gives the false impression that either of the cached pointers are safe to use.

... here.

> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
but I'd appreciate if the description was adjusted to only call the
original code as bad as it really is, not any worse.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 14:35:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 14:35:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515903.799240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAQ1-0002z7-4B; Tue, 28 Mar 2023 14:35:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515903.799240; Tue, 28 Mar 2023 14:35: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 1phAQ1-0002z0-1Y; Tue, 28 Mar 2023 14:35:25 +0000
Received: by outflank-mailman (input) for mailman id 515903;
 Tue, 28 Mar 2023 14:35: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=WLKu=7U=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phAQ0-0002yu-LQ
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 14:35:24 +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 c54a345c-cd75-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 16:35:22 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id F13081FDD8;
 Tue, 28 Mar 2023 14:35: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 BD68F1390D;
 Tue, 28 Mar 2023 14:35:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id yFw+LCn7ImQNewAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 28 Mar 2023 14:35: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: c54a345c-cd75-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680014121; 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=cpP+qMBWSkWzFGiAjKpXztpzxl2tQH7Ol5+fc07JFl8=;
	b=QDfBS3AijC3KKlnDh41hx7ETWI84MuyaMBZy9LOUpv3fq9RUc/HFLrT7BsWSNDJBvQyRyH
	qi13l9FFlQe7E2/LTFmn3sWC5ONcnm1hvSMqB5umACJEI1r9wKl0aeNVX42Kr/7fXNvOAH
	xe0B9W9TyToq4X0fJEwfunKEnMjEkCI=
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] tools/xenstore: remove stale comment in create_node()
Date: Tue, 28 Mar 2023 16:35:20 +0200
Message-Id: <20230328143520.5988-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There is a part of a comment in create_node() which should have been
deleted when modifying the related coding.

Fixes: 1cd3cc7ea27c ("tools/xenstore: create_node: Don't defer work to undo any changes on failure")
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
V2:
- add Fixes: tag (Julien Grall)
---
 tools/xenstore/xenstored_core.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 7348f935bc..a61db2db2d 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -1480,9 +1480,6 @@ static struct node *create_node(struct connection *conn, const void *ctx,
 	 * All new created nodes will have i->parent set, while the final
 	 * node will be already existing and won't have i->parent set.
 	 * New nodes are subject to quota handling.
-	 * Initially set a destructor for all new nodes removing them from
-	 * TDB again and undoing quota accounting for the case of an error
-	 * during the write loop.
 	 */
 	for (i = node; i; i = i->parent) {
 		/* i->parent is set for each new node, so check quota. */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 14:42:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 14:42:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515907.799250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAWT-0004V5-PW; Tue, 28 Mar 2023 14:42:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515907.799250; Tue, 28 Mar 2023 14:42: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 1phAWT-0004Ul-Md; Tue, 28 Mar 2023 14:42:05 +0000
Received: by outflank-mailman (input) for mailman id 515907;
 Tue, 28 Mar 2023 14:42: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phAWS-0004UZ-KY
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 14:42:04 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20619.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b37c555c-cd76-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 16:42:02 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by DB9PR04MB9627.eurprd04.prod.outlook.com (2603:10a6:10:30a::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.41; Tue, 28 Mar
 2023 14:41:59 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 14:41: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: b37c555c-cd76-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NsQe9cgAiFWBkltW0ArSrCeSy7ezFfR3AkCIRRfr5UaSwEqrdv8+BAA9RFpgqLsnFZYG3CY0Iv+/buBBuPQNF3u8iX0pdVWc7c18bZ4MiaNdVLD5OacO3uwgG4Xt/8yww3bOLqa9x6Exdlv38fX5Q8fMbT+FG/f7PzdYaN2nSKOf0U3M+eu3wQ+ocWcJ+y8Kqraz6v1lY5B6doWoTN0Py48Yh6dPM0XKuFqqL0J95U3X7HBpyqU/pJ1MfSbmBuLdFOUXLdTa9H/u1Ddtq4nPiQ1bs+izBEUuXToJMQXcmFluXdcIb8DOrPlwCjX/kljhKGGrB6oyGY9A8Jb/e5GN3Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VAFdX3Edbtm0Ueq/5t5W9p3vGsbOHCXBspS0C5+tT3c=;
 b=FO6L3Q4b/Yeu/iRTsepDFdtOHvUrkMLyae7zZPvheyBc6B8vnXL1j9crnpVqJMxus2iHRs3B/a9zddir/1aEUZG0NkSLQNBlGswf1p61C004v+Fzg+3OmpwOi+IzQ4vSh5v7BnGl0dd/C7ycXdc8BsTb7eZAFa2P3sbNM234iaqXJSHfWLZVuvSo2uSbrR1fJuu+WVw1R3e4G9HADWcfq2a3ryks648Lu3nlASBj3wZjUXjZZcJKYvCynNMketGEGVHEDMgq/NAhxU9EpaGxZpJ7opeGL8aAasg0FdfS5oEsg6LLiTZZdXBHKOZ9SACPUcjcyrwmGqtBR+CePUMyYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VAFdX3Edbtm0Ueq/5t5W9p3vGsbOHCXBspS0C5+tT3c=;
 b=wf/D7NaefolXtFBaUDmKujsbSlqeqhsr7VZnO68kkv8wUojPYl09BZ0wEXnTTRfSh+N27IzK/peA/m+giiVtGAOlExPDCMh7wnGBrnUS+i6Axgyd6OchGVeWngeE7ZS0f+P2rpZhvdeY1qY+NDZkXPXnfMUOFzTDjJePiYBJPSfSmr4kncl8v1KayU9j3beUNULCDRzDocGfHA/kIRkhNSgFfW3G0PkOIfuWGBEtr+Kvsd0XckXXjqKF5gCSvRsOCmO+m2Eilwjg9L+bm0XIbihuIDye3RRWLLEXVWFlX8iROLFBGMWEFnG0dtBhBnkuXt1H9OuHdQWFNI7Tl6lDcg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b285e38a-8a9b-dd59-3b24-dccc5236b1ec@suse.com>
Date: Tue, 28 Mar 2023 16:41:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 11/16] x86/shadow: drop is_hvm_...() where easily possible
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <5944a3ea-cddf-7ddb-d167-a0a0aa9b4967@suse.com>
 <97c3fe74-89f3-fd26-f8bf-69113df1dc12@citrix.com>
 <2f148fc2-04c4-5411-2931-8dde4ed9bc97@suse.com>
 <68c0196a-966e-8d87-52ae-367b3c05d107@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <68c0196a-966e-8d87-52ae-367b3c05d107@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0103.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::19) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|DB9PR04MB9627:EE_
X-MS-Office365-Filtering-Correlation-Id: c5bfb9d3-95a7-48aa-979c-08db2f9a95c5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fvA4fiiplh3kF/2zFfn0yPTUgULey3PuF7B13PTprvmH6D4TRuFLimAwgLAPJjAaCM+mHHm8bGJ+IcY8bnrS4fbpOrUCi+In1gqim80vrJgyRmFvIccx37dIsbH9BdmqUM9Z4nzOSFHsCKPUnF86TALH8tJiCBjxBvDvCZZZqMH8z7OlSMMdY8Wy2JQmpl+kth4hiHFXjkYf6HgDNY/Jfwuw9CXr461c/gwWT8SqKTZQrj6JFVKlkGLwndVme2thaLHLuL75RQkVtX6Iou3wuHkJZLxC6Mj01VCcvU43oNfw61bFxqNyjwad+Unv35OaJD3jQnoDoSVDDYtrXAHVA0/WWAvxQ9l1chnxUzD1dXesqezFSLq/BTyc+XFMQw2yBGCeZOQkRNk19tto8p4rvXx2ZWJ3VI8k3qkvoLusF3GnP6etOHwp99yeei92629whvLwEbdzMvjh/PqIr0nQ4Pl7SjjfbDR3Oyfoky14cS07v4EFVq7MmH86N+yXL69vO0CnBLrc9QzWZsZBKLYLoCeLsCdIVzqIs8Sy+DiCGxpCNO3lRLnxddSvroplnicBEdGLUEfXsqe50YhI5BKAM+N9lB+GUWf/55YS0nZlqgJFJTidZmk805C3SJA06awCkKSrxRO96IebIUJD3PSJqg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(376002)(39860400002)(346002)(366004)(396003)(451199021)(6486002)(31686004)(6506007)(41300700001)(186003)(4326008)(5660300002)(8936002)(53546011)(26005)(6512007)(478600001)(2616005)(66556008)(66476007)(66946007)(6916009)(54906003)(83380400001)(8676002)(316002)(2906002)(38100700002)(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?ZjhHZStlaSs2ak15ZDVIb2lYV2Y4bEtJcXJRWTEyMGxwdmdiRUM5RGplY3VR?=
 =?utf-8?B?SlkydS95TkE3b1ZRc0M0T1p0M1M4QVBOQmt2STZJUUw0aUlEd0xac0ZmNWR1?=
 =?utf-8?B?QWZhUGdidnVQblJrN0thZ1QyWU9RR0NJSUsyWURQVjRmcUxxb1VJMlVBZHdx?=
 =?utf-8?B?d0lHRW5NdHB3YnJqcWtnR3EvcnVXRW1nazZnS1dON1JXcHBoejBUWjV4ZFhT?=
 =?utf-8?B?WUxtZVhPSkwzUEtaaXF3T0VPY1Niajh6c1h0VTY5Z1VhU2VraFlDK2gzOTVC?=
 =?utf-8?B?VWpvL1lCOWdkZDUxWjZuTGZId3JYQmZZME4zK2RzeENnM1NhWXZuaitQTUNi?=
 =?utf-8?B?WjNUYm9YWTd4WElXOGY4TEJ0bmtUWjhzK1RzbEZOZnMydndNUExLMmk4Rktt?=
 =?utf-8?B?TWQyWTR5RkI5MDFWbk0vTnM0RU9JaURlQjlEQXBSbGlkdmg5aEI3WVZ0T0Yr?=
 =?utf-8?B?SnFQc29BS2ROL0NJUXNyVFQvOFZLWGo4Y0lyTWJJRGlMdGUwVUVxb3REU1o0?=
 =?utf-8?B?ekwyUkZELzlWdXUrSlFzSndMWm85YUJTdUNXT2pMYlhCTXNWb1psd2ptRSta?=
 =?utf-8?B?YlJmcHVQS2ZpUndWOXlMelV3MEFaUER4dGZtclNvTFgvUFpIUGZQMWhxTnU4?=
 =?utf-8?B?S1RFVHg5MXdCN3ZxQzFhVVBJaVgwRUk1T1ZleVB5ZW83OFVWejVFRlJuR0lS?=
 =?utf-8?B?SHhxV2ZnSFZXc2RoQmxweGF6OHNwVmUyTjMreGE0cWtINHlJWnFjaTlLTDFU?=
 =?utf-8?B?c2dGbC9yOVo4M2tBaHBQYWd0RE1DWXhiajhXZEsyRVBpUDFiWjZ2NGZqbFRE?=
 =?utf-8?B?WDEvTVBCNXFOcUgrMURlWkZDa0lZVlowSCtueExLclRORlMwTEc4cGlxUkgw?=
 =?utf-8?B?cFpxTFhOeEd6M3hVV2VkNjZKTGYwMk1zMHZybWhjbTVTbUszMjZxYTlHTTA5?=
 =?utf-8?B?VWcvK1pqM0xsYjhtN0FVRlFWc2k2OUxiczBLa2hxKzUvc2ZTRW5tRE1qMVNP?=
 =?utf-8?B?YithUDd5WU1QcEhmczVMcytHcThreTdBNzk0TWJCVmJZRlozcVdIYnEyWFdI?=
 =?utf-8?B?Sm9MNXl3YTB3NC9qckFvalExSTNONXAzdWczRmVVMnNFNVdpVVBSSE5Pa0pM?=
 =?utf-8?B?WHl4VXc1eFVBbHB3emxpSk52b0hGVnMwbzFFMEFjbzN1b3dLckc3Zm1rWUZP?=
 =?utf-8?B?bGVIS0NRTU1GbjV0M3ZzTk82b1JKRmdxS0NnZytTclVZSithRFhzd1VudTZk?=
 =?utf-8?B?NkdpRjU0Smk2R0lVMW1WWmVXVzdPZVhNenIwVEdBS3lNTmNZYnpocm9ESnJa?=
 =?utf-8?B?d00wNW16OThRcjd5VzZTY2Q3OS8wd1FHbGxaSGVVTE9HRFl1d3NEdzFZTzNQ?=
 =?utf-8?B?d1dQTU9TOFVPcHFaZEdRZnRHdk5VbkNzRS9iR1Zpd1VYcDNCNXI0a2QyTlB1?=
 =?utf-8?B?NWhRTEdqdC9ZSVZiSGNDWVFOOG1XNU1odkpKM2JON1h6bllET0VoejIvQTJ4?=
 =?utf-8?B?aC9uTTdQSjVJQWJQYW5pWkFqdmhCS0ptS2FQaUZuUUszdEpTdWpGb3VaM1Z1?=
 =?utf-8?B?MFJ0Y29vMWVSK2RReFRGalZCY2JvS3BkdHZVYm9EUks5QXRIb05na3QxdStE?=
 =?utf-8?B?SW9seVNQZW5IVXVDYzBDTTVORFNvdHBhQmFCZW9QSDluTWxzc0hhdk00bzV0?=
 =?utf-8?B?eW55LzFzenFnSWFialVZOEFhZWJUeVlBTjJ0emhiMVRZbERnaWpIMnIxSkpK?=
 =?utf-8?B?VXlSOFhTenVzUUFtUFBnejNZREdwREVEUXkxQUR0OXBTVWV6SnNlbmtUd0lY?=
 =?utf-8?B?cGFkZklFOXVRd0V4UVpCV1NWM0wrMVFFWjlKdzdXVURrYU1UUExZMTlieUZ1?=
 =?utf-8?B?RWFjNnlkeFB0TjZZNHVLNVlmc25mUzVEVzRKM1lDR1pPWERrNmNyVXdmV2pq?=
 =?utf-8?B?OHJldWFrZzNyc0lsZ2szWnd2S2xST2JaL2VGRi9jT3QzTUdtOUE3bjRQZ1lD?=
 =?utf-8?B?RWdGY21EVTlvWHJPZnlqL3hzNUtEMTArYnFNenEvemhlbFBiSTdCUElVK01B?=
 =?utf-8?B?TndIc0h3TEQwS3l1MWVyRG1QS1NRMFZwV0tHcFEwVitJRnRJMDlQZWJkbFJi?=
 =?utf-8?Q?n2C+OXvvnVZw0GATLAUyWtbxS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5bfb9d3-95a7-48aa-979c-08db2f9a95c5
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 14:41:58.8794
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GvVbkn7oTrysIOvwtNKFJMXdJeaN1y2hLPNt0+FidW2Vg6K+dSnQSUhhhwkoeY8Rd6ohfZY7c08pjX80IFVhww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9627

On 28.03.2023 15:57, Andrew Cooper wrote:
> On 24/03/2023 7:38 am, Jan Beulich wrote:
>> On 23.03.2023 19:18, Andrew Cooper wrote:
>>> On 22/03/2023 9:35 am, Jan Beulich wrote:
>>>> Emulation related functions are involved in HVM handling only, and in
>>>> some cases they even invoke such checks after having already done things
>>>> which are valid for HVM domains only. OOS active also implies HVM. In
>>>> sh_remove_all_mappings() one of the two checks is redundant with an
>>>> earlier paging_mode_external() one (the other, however, needs to stay).
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>>
>>>> --- a/xen/arch/x86/mm/shadow/common.c
>>>> +++ b/xen/arch/x86/mm/shadow/common.c
>>>> @@ -1522,7 +1522,7 @@ int sh_remove_all_mappings(struct domain
>>>>                 && (page->count_info & PGC_count_mask) <= 3
>>>>                 && ((page->u.inuse.type_info & PGT_count_mask)
>>>>                     == (is_special_page(page) ||
>>>> -                       (is_hvm_domain(d) && is_ioreq_server_page(d, page))))) )
>>>> +                       is_ioreq_server_page(d, page)))) )
>>>>              printk(XENLOG_G_ERR "can't find all mappings of mfn %"PRI_mfn
>>>>                     " (gfn %"PRI_gfn"): c=%lx t=%lx s=%d i=%d\n",
>>>>                     mfn_x(gmfn), gfn_x(gfn),
>>> Out of context here needs an equivalent adjustment.
>> I'm afraid I don't seen any further is_hvm_*() in this function.
> 
> Final parameter to the printk(), calculating the i=%d diagnostic.

That one. This needs to stay, as calling is_ioreq_server_page() isn't
safe for PV domains. ioreq_domain_init(), which initializes the involved
spinlock, is called only for HVM domains. This is why I'm insisting ...

>>> But in this case, I'm not sure the commit message covers the relevant
>>> details.  ioreq servers have been made fully common since this code was
>>> written, and *that* is a better reason for dropping the predicates IMO
>>> than the redundancy with paging_mode_external().
>> How does "fully common" matter? It's still a HVM-only thing,
> 
> ioreq server info used to be in d->arch.hvm.ioreq.
> 
> The is_hvm_domain() was guarding against speculative type confusion in
> the HVM union, and should have been removed by the ARM work that made it
> common.
> 
> This isn't really related to the outer paging_mode_external().

... that the dropping that I can safely do here is solely because of
the earlier paging_mode_external(). This is irrespective to what the
check may (also) have been used for before.

>>>> --- a/xen/arch/x86/mm/shadow/oos.c
>>>> +++ b/xen/arch/x86/mm/shadow/oos.c
>>>> @@ -577,7 +577,6 @@ int sh_unsync(struct vcpu *v, mfn_t gmfn
>>>>      if ( pg->shadow_flags &
>>>>           ((SHF_page_type_mask & ~SHF_L1_ANY) | SHF_out_of_sync)
>>>>           || sh_page_has_multiple_shadows(pg)
>>>> -         || !is_hvm_vcpu(v)
>>>>           || !v->domain->arch.paging.shadow.oos_active )
>>> This is reachable for PV guests as far as I can see.  What am I missing ?
>> Well, the footnote in patch 1 ("x86/shadow: fix and improve
>> sh_page_has_multiple_shadows()") kind of explains this wrt the safety
>> of the sh_page_has_multiple_shadows() use here: Since PV guests can't
>> have OOS pages, there's no way SHF_out_of_sync could be set.
> 
> Hmm, I suppose.  We enter sh_unsync() directly from a demand write, but
> it is only meaningful when OOS is active to begin with.
> 
> Although having looked through this, there ought to be an early exit for
> oos_active even ahead of the SHADOW_PRINTK(), and the single caller of
> this function doesn't check the return value.  (This appears to be a
> common theme...)

Well, of course there's much more cleanup left than done by this series.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 14:43:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 14:43:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515910.799260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAXt-00051o-4E; Tue, 28 Mar 2023 14:43:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515910.799260; Tue, 28 Mar 2023 14:43:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAXt-00051h-0k; Tue, 28 Mar 2023 14:43:33 +0000
Received: by outflank-mailman (input) for mailman id 515910;
 Tue, 28 Mar 2023 14:43: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=WLKu=7U=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phAXr-00051b-VO
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 14:43: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 e78ee3cf-cd76-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 16:43:29 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 063D221A2E;
 Tue, 28 Mar 2023 14: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 CF4BB1390D;
 Tue, 28 Mar 2023 14:43:28 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id fj9iMRD9ImRvfwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 28 Mar 2023 14: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: e78ee3cf-cd76-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680014609; 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=WJKej2F2T0liQUy5RrirY2PhZ84TxQV/5YAjMJ02gg0=;
	b=bYA1m47rG+RYuvY1drnbx/Kj+vPAIp4ooiUX1AQfFpvXTPYiTFGxGfPW0t0CNR2LbaFh/P
	Ga20qDsIxxvv12HeVBQ/H1Xd6Sbx9/a3otrdFnbsDJTP+Z0kevu2JR5WLUylg5v0qaSAi6
	09FA3bVJrb5gGennYS75PqghfzfzORo=
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] tools/xenstore: fix quota check in acc_fix_domains()
Date: Tue, 28 Mar 2023 16:43:27 +0200
Message-Id: <20230328144327.6562-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today when finalizing a transaction the number of node quota is checked
to not being exceeded after the transaction. This check is always done,
even if the transaction is being performed by a privileged connection,
or if there were no nodes created in the transaction.

Correct that by checking quota only if:
- the transaction is being performed by an unprivileged guest, and
- at least one node was created in the transaction

Reported-by: Julien Grall <julien@xen.org>
Fixes: f2bebf72c4d5 ("xenstore: rework of transaction handling")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- add comment (Julien Grall)
---
 tools/xenstore/xenstored_core.c        |  3 +++
 tools/xenstore/xenstored_domain.c      |  4 ++--
 tools/xenstore/xenstored_domain.h      |  7 ++++++-
 tools/xenstore/xenstored_transaction.c | 16 ++++++++++++++--
 tools/xenstore/xenstored_transaction.h |  3 +++
 5 files changed, 28 insertions(+), 5 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index a61db2db2d..3ca68681e3 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -1472,6 +1472,9 @@ static struct node *create_node(struct connection *conn, const void *ctx,
 	if (!node)
 		return NULL;
 
+	if (conn && conn->transaction)
+		ta_node_created(conn->transaction);
+
 	node->data = data;
 	node->datalen = datalen;
 
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index d7fc2fafc7..f62be2245c 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -544,7 +544,7 @@ static struct domain *find_domain_by_domid(unsigned int domid)
 	return (d && d->introduced) ? d : NULL;
 }
 
-int acc_fix_domains(struct list_head *head, bool update)
+int acc_fix_domains(struct list_head *head, bool chk_quota, bool update)
 {
 	struct changed_domain *cd;
 	int cnt;
@@ -552,7 +552,7 @@ int acc_fix_domains(struct list_head *head, bool update)
 	list_for_each_entry(cd, head, list) {
 		cnt = domain_nbentry_fix(cd->domid, cd->nbentry, update);
 		if (!update) {
-			if (cnt >= quota_nb_entry_per_domain)
+			if (chk_quota && cnt >= quota_nb_entry_per_domain)
 				return ENOSPC;
 			if (cnt < 0)
 				return ENOMEM;
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index dc4660861e..279cccb3ad 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -96,7 +96,12 @@ void domain_outstanding_dec(struct connection *conn);
 void domain_outstanding_domid_dec(unsigned int domid);
 int domain_get_quota(const void *ctx, struct connection *conn,
 		     unsigned int domid);
-int acc_fix_domains(struct list_head *head, bool update);
+
+/*
+ * Update or check number of nodes per domain at the end of a transaction.
+ * If "update" is true, "chk_quota" is ignored.
+ */
+int acc_fix_domains(struct list_head *head, bool chk_quota, bool update);
 
 /* Write rate limiting */
 
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index 1aa9d3cb3d..2b15506953 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -160,12 +160,20 @@ struct transaction
 	/* List of changed domains - to record the changed domain entry number */
 	struct list_head changed_domains;
 
+	/* There was at least one node created in the transaction. */
+	bool node_created;
+
 	/* Flag for letting transaction fail. */
 	bool fail;
 };
 
 uint64_t generation;
 
+void ta_node_created(struct transaction *trans)
+{
+	trans->node_created = true;
+}
+
 static struct accessed_node *find_accessed_node(struct transaction *trans,
 						const char *name)
 {
@@ -509,6 +517,7 @@ int do_transaction_end(const void *ctx, struct connection *conn,
 	const char *arg = onearg(in);
 	struct transaction *trans;
 	bool is_corrupt = false;
+	bool chk_quota;
 	int ret;
 
 	if (!arg || (!streq(arg, "T") && !streq(arg, "F")))
@@ -523,13 +532,16 @@ int do_transaction_end(const void *ctx, struct connection *conn,
 	if (!conn->transaction_started)
 		conn->ta_start_time = 0;
 
+	chk_quota = trans->node_created && domain_is_unprivileged(conn);
+
 	/* Attach transaction to ctx for auto-cleanup */
 	talloc_steal(ctx, trans);
 
 	if (streq(arg, "T")) {
 		if (trans->fail)
 			return ENOMEM;
-		ret = acc_fix_domains(&trans->changed_domains, false);
+		ret = acc_fix_domains(&trans->changed_domains, chk_quota,
+				      false);
 		if (ret)
 			return ret;
 		ret = finalize_transaction(conn, trans, &is_corrupt);
@@ -539,7 +551,7 @@ int do_transaction_end(const void *ctx, struct connection *conn,
 		wrl_apply_debit_trans_commit(conn);
 
 		/* fix domain entry for each changed domain */
-		acc_fix_domains(&trans->changed_domains, true);
+		acc_fix_domains(&trans->changed_domains, false, true);
 
 		if (is_corrupt)
 			corrupt(conn, "transaction inconsistency");
diff --git a/tools/xenstore/xenstored_transaction.h b/tools/xenstore/xenstored_transaction.h
index b6f8cb7d0a..883145163f 100644
--- a/tools/xenstore/xenstored_transaction.h
+++ b/tools/xenstore/xenstored_transaction.h
@@ -36,6 +36,9 @@ int do_transaction_end(const void *ctx, struct connection *conn,
 
 struct transaction *transaction_lookup(struct connection *conn, uint32_t id);
 
+/* Set flag for created node. */
+void ta_node_created(struct transaction *trans);
+
 /* This node was accessed. */
 int __must_check access_node(struct connection *conn, struct node *node,
                              enum node_access_type type, TDB_DATA *key);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 14:48:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 14:48:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515913.799270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAcT-0005fi-Lm; Tue, 28 Mar 2023 14:48:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515913.799270; Tue, 28 Mar 2023 14: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 1phAcT-0005fb-II; Tue, 28 Mar 2023 14:48:17 +0000
Received: by outflank-mailman (input) for mailman id 515913;
 Tue, 28 Mar 2023 14: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phAcR-0005fV-Qq
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 14:48:15 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on0626.outbound.protection.outlook.com
 [2a01:111:f400:fe1e::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 90f27e36-cd77-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 16:48:13 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 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.6222.33; Tue, 28 Mar
 2023 14:48:12 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 14:48:11 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90f27e36-cd77-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Mngg55R+igaRtMd9gTVp7PofMk39IdBtWH9aaPqnfpSkl+S9aXIyEjPmk5LWiXUQpDS0ERNJsVnho/W2u1WolAWtJaLl2EmSpzR8AbKNYVj4I1OA+cY6VbQi+gZpePHg8YlhOr/BKR2usdXdBd6kDrA3mMYxPfcLnyLMh8r0JoDFjsIFJPyXOS6BYWEGrc11tS11QzpSjSyDOw9pCibqD2kNZKNxsTw159cp+IrUrVlQm9sHQ0LIc6rEiPbUVSYt8qCPxXwSwHFhrgtP8J92tH2mmh1oM+Lo8tMysVgrOfc2lYK+ZoOPRhxUHXNWcy/UBYa5HobM/S9c+aN+jHKdyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5UIawk3+xYUwRZCBPDDulIciXc9qVGYaLjQgqgvF/qA=;
 b=QdjzNtLAcOGTf4fCMmoeosusNQY4k2ITT2kHofohnXcoc1XHGisro4vD7qNo+nEYFx2OqC9qHSkYdSmE91TUqyH1hfu8uwSgIUjMDFrOg6mO4Lhgm4kqMqOH4mma1tUbVNrueSUh9e193qUZQ4FNueWn6hPOZ5bv0PT/1WBBGkWy2cnCjI49UwCdVhc4Du/EhBaWDJpHzPgRRvVbmR2UhFqMS1I8VUzhhKtwv4wszssOzml55QoEZBl4kRK3FTbGFHj0ZRSHHLeD52IqWmIiNjvwI88iDTYVqx+2+u3zA69PLxovQt7kA10LVOzO3IzthC9yAeMvjRZNHb14AAnheQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5UIawk3+xYUwRZCBPDDulIciXc9qVGYaLjQgqgvF/qA=;
 b=rLvofGJKuKSpexyDScaGnPUISuKjveoAXbsB/ZLdzlr5mn0dW5McOi6FcZednjxJiliXB0u/PD3oRMe6PfFC1aYtHmNUAKm3gtMo58Gd+vXXZEyr0xX56xmAMlQ32B2EwnO8dNJ84e76/Mfb3lsEuWe/6VSoyv/dHFq/R+lkKERV4LlpU/j4LVPifOAtsz1+DiZ+2lXbDpV71lMtkHIRpnW8gA+3SF3IVPVQ5g0lJ7WgXDaLHHgJtB79wZaZMkIQvGx6/k76e3Abgv9ZIHUnQujcEP5r39x9RvfPLzAI9P6iC8ES3IEJABYu3aGEsSvrvkobWe52hDWFb0UJX45OFg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <40d58ac1-d0bb-afed-c0ae-c545c7bff30c@suse.com>
Date: Tue, 28 Mar 2023 16:48:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 0/8] x86emul: a few small steps towards disintegration
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: <7f5287ad-8442-6c53-d513-f9a8345c4857@suse.com>
 <ZCL3W/HrwLANuE/0@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCL3W/HrwLANuE/0@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0136.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::10) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|DU2PR04MB8936:EE_
X-MS-Office365-Filtering-Correlation-Id: 6bb2683b-c230-4518-66a3-08db2f9b741c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fR73QbNk0Mj9V/O5IwNgYc4ndcjA8nlxgn+fngI544Ghj5y+6rZL8xSptArQ2dLHY/5ERXt/Ri26kecbHMikDcJD/UYQ3DZRKXedq90RtgRF5mgBTGrBIfTkAxtIxLl2bEayU2WZMsJ3r048cmuPQnOwMeenZzZNEOOpRH0DricdtN1pNWtxJGDL2mhpTyab+DGp4RwHWP2jBafeQDE8A4bk5lAH2YcJaviS1Yk1ZAt4tlWL1hq5vM/iEoZ4KMk7HR9y3zYEJU3335Za3CX7T7e9P603cVlrsVuDu7vgnzMKRO7TXGtNB/wsWnpepg0MjPYYhEQGb82oV2BNaRDHeclU9RKIkU2/rhicwQbPDRrz3a0fXpMZrV2qqMDJpI0mnIssW5JO9rnaWMbYwQ76ykC3yCdMJUfpjXGU2PWe6K/bXbRM+QKSMZs4AN6H3c/gyzg+Tq5lzP6vXp+6feTbu+knlJyzYYPAAXGF9PqcWnkbi0dII0exctqEEJP8h+bH7FqitGis+VcDiLBcM9XHqNlZKBA56oCWwLLBMI60sHK+5Z5XFoMNT3C7G46AH9ps/6fowfV3OnJgRROszoQsBxFalkK2uwPVe7f7rAseDPDTNSwZu3NnQbDpNERzzXMTH4TB2QjNiyIWqr7UA+HQ0Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(376002)(39860400002)(396003)(346002)(451199021)(31686004)(36756003)(186003)(6512007)(53546011)(41300700001)(6506007)(26005)(83380400001)(2616005)(8676002)(4326008)(5660300002)(66556008)(66946007)(66476007)(6916009)(316002)(54906003)(8936002)(4744005)(478600001)(38100700002)(2906002)(6486002)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cjB1OHhyUHFSc20xRWFWV3JxUTFSVUk0S3J2aTZsT201RzRSazhoSVFpRGNp?=
 =?utf-8?B?QkdCaVRRMlIyODg2ZHZwR1ZoY2wwb3pYY0RZcWlxRG5aMXlZdVdMWDhONTdo?=
 =?utf-8?B?RnFhSm1zQW5tWjNaRks0ZzZKZ0luZ3dpOFpTSFAySkJvVmF3RnJJSldxUGg4?=
 =?utf-8?B?T0puY0U2YTFWM1kwc1ZUc3VuRWlZaDNaQm1nRlQvRnVJSi9YcTArUzk4cXBD?=
 =?utf-8?B?c2tsQ1dpK2ZXbHYvUmltNS9sOHU0dDN3blpnL01Xdkt6VVhwaEs2UHlVM001?=
 =?utf-8?B?YndKS05NTFgrWlp4WXFnblZHSTBZU2dsQVBxalNwbnRWTXdrSHp6SHVOUjBy?=
 =?utf-8?B?RWVRbktLWDZOcjl0bUR4ejY3TmV6UTg2SkV3L0dvMDkwcy9MSUlpbis0bU9n?=
 =?utf-8?B?L01zL2pDOUhvYVc0c2tSemFlWTNlMHc1YWloQklPRndxU2ZYOTZ3SHpna2NU?=
 =?utf-8?B?TFNsS216MW5va2RqRmduUHNzVVA0RlJ3V3BiSysyU3VHS0NwNWxCbmxqWUxJ?=
 =?utf-8?B?MFZDaHNrOVJ2R1JNUFdTVkY3Y3ppeFdEcHBhYkxvd2NhNHJac2NPZTk3aUhv?=
 =?utf-8?B?Ly9SbzJ4NGs2TEU0R0JmdVE5QTBYWjJjT1JVV3dUWk5XclBZYU51NjJmTHIv?=
 =?utf-8?B?R2phek5jYUZFaXpORHkreENBVnRteUtUamlRcWdvbmh6QVFOS05XR001QVB1?=
 =?utf-8?B?N3ZWUFgxUk5YRlk2Unp2OE9wdVo5TC9qM0JaTmFFREc4eU91aTZtMWcxWUxM?=
 =?utf-8?B?bzVHZ1BYelF3TFRMb1pVMHp3MFNmK0NpQkc1ektnS1JkVmh3WElYMmUxUCtD?=
 =?utf-8?B?UUg0bVpaYlk5V3Zva3FsS3ZBOXBGc2xQVkphTGo1eGlRb0RpRm8wdEJHSHlY?=
 =?utf-8?B?aUI0RmFuSDBXakJrazh1TVBrcXJIUi9YTTRFTzVWeGJEMEdVaytKUmtObWk4?=
 =?utf-8?B?UDZJait2T1Q5N2p3M1QrTVdPZ3ZYcmRpWkNEdUlrRll5WTBCQ3YxVzNLa0Zy?=
 =?utf-8?B?SEdsSXZEM0VLNE5GN29TRWdYSUpvdFVpRXdKVk1LaW05RFViaVpNZ0JCQ2px?=
 =?utf-8?B?RnJsNjlWdWlSc3RGTzZqOFUveTA4Uk52dFhJTzVWbWFLMXhqdFRhckhzL09C?=
 =?utf-8?B?VFNXTDIyZ3AwRWp2STV4SGF3SEk0Z3ZCd0ZWNFdyVDBwbkNHbWZSQjJ2WXF6?=
 =?utf-8?B?ZkJWZEpmakJOQXFaMFpNaUZ5UXBhMDArUmRWUGFydGl6UG5sTVkwTHZOOXAz?=
 =?utf-8?B?RkJWaEV0bXBrbUxleWpzc0pzcVBNS0VyeVkrTTNONFZOTzlmdXlEQlpId2Ju?=
 =?utf-8?B?RXduSXo0T1JXK3A0SCtPQ0Z2OUhQNW9BNHo3YWd3bHFmVEF3ckdVRUYrRXJG?=
 =?utf-8?B?T1VzL1BKZlBYNFVtcmk0Mk5hVmdkM2xWZElCdTNDVlZzd1U1OFVFdGpaNlhF?=
 =?utf-8?B?ZWZGVVVKV0dhZW0rVlIzLzFXVUMvUXVOekgzNjQrMVU1YS8zZU8zTFlBRnZv?=
 =?utf-8?B?cEc3SWEyVkFWV3psTFNta2hVSzRjVTRtTzdDSzZFbTg3VmpySEpPaTYyOGJV?=
 =?utf-8?B?NzFjYXJ0cWpNaFRYaEhtY2FhSzBzZHprMTh3VnZ0eVF3TGFnTlZxM242czl0?=
 =?utf-8?B?WmVFTnMxd3VjVW1RSG1vSzZSOEplRXoyRTdacGFsRkhsQUZCRDhESDB1UENn?=
 =?utf-8?B?cms3Qmg0Z2hpVy9taUVKaXB4UWtGV051cTErM0UzazhmT1NidFQyWUJBZis3?=
 =?utf-8?B?cjJTN3BwekZEZjV6dWx1Um5aWDJGZUJJVEkvZ2NsVXNodThjMWRXRjVQV051?=
 =?utf-8?B?QlN1TlpFMkZrbS9WMU0zejlSSG5DQUNVRFU5TEY2SlMwQ0ErOWkzM05acWQ3?=
 =?utf-8?B?TnF4cGZvTzcyTGRRaHpJWjhOMGJpMkxLZ2hISGJuVEJmbU1YdFI1ZmFpVTlJ?=
 =?utf-8?B?SCtXVkxOVHBQUkJaZkgxUEFQOGFFYXpBeWlEaEFud2Zwb2xkUWMzaGZySUEy?=
 =?utf-8?B?bGlmc3ByRUI4UU5mb0ZIczJyeHBPVWJNVUxxNGJxQUp2QjV6MTZLelZEeHNB?=
 =?utf-8?B?NVRsT3loOTRWd3ZZUkNidlJkeDkxRGJpbmlvZGJ4WHRGcGN5ZzdBRzNzNnZK?=
 =?utf-8?Q?cvz76B0f6+hpnYfKEKZSCnwRk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6bb2683b-c230-4518-66a3-08db2f9b741c
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 14:48:11.8795
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: e/mnkpGAJuRQ3/4CcLp7A84Gef6arPn1RdDMGAFbrdCcR6gndjtr1l2K0lHQmRMdKYIsNjfzIBxJTqPfgH0jPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8936

On 28.03.2023 16:19, Roger Pau Monné wrote:
> On Wed, Jun 15, 2022 at 11:57:54AM +0200, Jan Beulich wrote:
>> ... of the huge monolithic source file. The series is largely code
>> movement and hence has the intention of not incurring any functional
>> change.
> 
> I take the intention is to make code simpler and easier to follow by
> splitting it up into smaller files?

Well, I can't say yes or no to "simpler" or "easier to follow", but
splitting is the goal, in the hope that these may end up as a side
effects. There's always the risk that scattering things around may
also make things less obvious. My main motivation, however, is the
observation that this huge source file alone consumes a fair part
of (non-parallelizable) build time. To the degree that with older
gcc building this one file takes ten (or so) times as long as the
entire rest of the hypervisor.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 14:49:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 14:49:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515919.799280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAdv-0006MY-2U; Tue, 28 Mar 2023 14:49:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515919.799280; Tue, 28 Mar 2023 14: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 1phAdu-0006MR-Vg; Tue, 28 Mar 2023 14:49:46 +0000
Received: by outflank-mailman (input) for mailman id 515919;
 Tue, 28 Mar 2023 14:49: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=B75i=7U=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1phAdt-0006MJ-HD
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 14:49:45 +0000
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com
 [66.111.4.28]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c5133a99-cd77-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 16:49:41 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id A57435C012B;
 Tue, 28 Mar 2023 10:49:40 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Tue, 28 Mar 2023 10:49:40 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue,
 28 Mar 2023 10:49:39 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5133a99-cd77-11ed-b464-930f4c7d94ae
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=fm2; t=
	1680014980; x=1680101380; bh=wnn0gOpdKskpRCNkgRumtSecj850TAhpnzA
	fX7/J51E=; b=E7/NqVVMsIkR2ynhI0NtM5+Rz1/OGIsvHihj4OB52DysIWzM+eA
	E5DZ/ySmPWDubT+ZaFwIKdHArtx7HPoOhc/syOv7a+PedlfcZqp1MeRTsCBNy1uZ
	5JANZwNXoqC47BJwk7nyGZeHGXhNJM3HIkn2JOtWa6mKIS0h92ymuSBAyuPc9fOa
	wjJ4IOm9BHBWfHCl7xaVycQf7ZUvQs75mwp0iTnrwG4ch85w+lkLush+3BSZC2E/
	2/EG+zlGM6TkWoLehPK7+N69DMAPycpf4+ohNhdaIq5STyuq7rIRhFQ7QdKD2cjd
	4O7gjYlp+1d0sLMpOgKyhq4I3FuFTJoVMug==
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=fm2; t=1680014980; x=1680101380; bh=wnn0gOpdKskpR
	CNkgRumtSecj850TAhpnzAfX7/J51E=; b=C85Z/rVG3pMmeTA5Bubq80S3/sfZ5
	fQbkQ1WhULjp9DDibRdjYMjImNeny6btMc8lVc8AuYNenfvlCwYsil346d6d6s8Z
	LPeXD5vOH+zrMyLApn1UC3Yfund5Ppt5jjmm/7ctDuwoGNQU6H9EBzCS5BWR1Z0W
	UhnTmoHzlCxdqO7hl5g2X8ycXfeT2ufNiPKHtlqTVolRU2FFeGyFlVueL1FCi1uV
	1CldTJ0mY0hTpCno+2yJZ8dyZt1jSwRnNLMRP1kVvEUN+0cZPFDb9047kFGCawVM
	5L9bODhdjjyMvfEwyiYuSvadXKMbXZiCTtBBwvzeckDYiLHMCfpQnrIYg==
X-ME-Sender: <xms:hP4iZAgt16H6x_rGYVznY1Od0OXs7vK79FRWob4OP3nLe1YlbBXyGQ>
    <xme:hP4iZJB4afbTLf4M7Abys65uHjS5jojeXKoXIpInm7Ol8WM17p1sFKpgA5UdpzCEP
    zfergTvaFSNQg>
X-ME-Received: <xmr:hP4iZIENWql89xBl7dX4rYBOMuV05Dv5KgtAQgQzWcW4boxG1rdLxM5ZTN81e4_i3RfqZPGaeO6wtp1a62laVhLCrviHg2CBa0k>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehgedgkeduucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:hP4iZBQSSZnlD-gmscNtAd3ARVZTM_hfku3T6uG3WntA7DLaAKFSsw>
    <xmx:hP4iZNxuDilKpR7BOhs8TWJvWqmKaM_SIb1CmxjkF3htJJ2_JAv0cg>
    <xmx:hP4iZP53de6sQsLEM23S5e029W_E6Z8Q0nCSFSmQfsiT3fK9E8yjCg>
    <xmx:hP4iZF-fCbKt61rP4UkBuwWnO8Wa-lBZgtuobIR_jrU69lugdCPBXw>
Feedback-ID: i1568416f:Fastmail
Date: Tue, 28 Mar 2023 16:49:36 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/2] x86/mm: add API for marking only part of a MMIO page
 read only
Message-ID: <ZCL+gCQrUc2lUf1A@mail-itl>
References: <cover.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
 <f5381e06d92cccf9756ad00fd77f82fba98a9d80.1679911575.git-series.marmarek@invisiblethingslab.com>
 <ZCLz/2QeoMVyOej8@Air-de-Roger>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="VITwGu5IVH8xZkDz"
Content-Disposition: inline
In-Reply-To: <ZCLz/2QeoMVyOej8@Air-de-Roger>


--VITwGu5IVH8xZkDz
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Tue, 28 Mar 2023 16:49:36 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/2] x86/mm: add API for marking only part of a MMIO page
 read only

On Tue, Mar 28, 2023 at 04:04:47PM +0200, Roger Pau Monn=C3=A9 wrote:
> On Mon, Mar 27, 2023 at 12:09:15PM +0200, Marek Marczykowski-G=C3=B3recki=
 wrote:
> > In some cases, only few registers on a page needs to be write-protected.
> > Examples include USB3 console (64 bytes worth of registers) or MSI-X's
> > PBA table (which doesn't need to span the whole table either).
> > Current API allows only marking whole pages pages read-only, which
> > sometimes may cover other registers that guest may need to write into.
> >=20
> > Currently, when a guest tries to write to an MMIO page on the
> > mmio_ro_ranges, it's either immediately crashed on EPT violation - if
> > that's HVM, or if PV, it gets #PF. In case of Linux PV, if access was
> > from userspace (like, /dev/mem), it will try to fixup by updating page
> > tables (that Xen again will force to read-only) and will hit that #PF
> > again (looping endlessly). Both behaviors are undesirable if guest could
> > actually be allowed the write.
> >=20
> > Introduce an API that allows marking part of a page read-only. Since
> > sub-page permissions are not a thing in page tables, do this via
> > emulation (or simply page fault handler for PV) that handles writes that
> > are supposed to be allowed. Those writes require the page to be mapped
> > to Xen, so subpage_mmio_ro_add() function takes fixmap index of the
> > page. The page needs to be added to mmio_ro_ranges, first anyway.
> > Sub-page ranges are stored using rangeset for each added page, and those
> > pages are stored on a plain list (as there isn't supposed to be many
> > pages needing this precise r/o control).
>=20
> Since mmio_ro_ranges is x86 only, it is possible to mutate
> it to track address ranges instead of page frames.  The current type
> is unsigned long, so that should be fine, and would avoid having to
> create a per-page rangeset to just track offsets.

I was thinking about it, but rangeset doesn't allow attaching extra data
(fixmap index, or mapped address as you propose with ioremap()).
Changing all the places where mmio_ro_ranges is used will be a bit
tedious, but that isn't really a problem.

> > The mechanism this API is plugged in is slightly different for PV and
> > HVM. For both paths, it's plugged into mmio_ro_emulated_write(). For PV,
> > it's already called for #PF on read-only MMIO page. For HVM however, EPT
> > violation on p2m_mmio_direct page results in a direct domain_crash().
> > To reach mmio_ro_emulated_write(), change how write violations for
> > p2m_mmio_direct are handled - specifically, treat them similar to
> > p2m_ioreq_server. This makes relevant ioreq handler being called,
> > that finally end up calling mmio_ro_emulated_write().
> > Both of those paths need an MFN to which guest tried to write (to check
> > which part of the page is supposed to be read-only, and where
> > the page is mapped for writes). This information currently isn't
> > available directly in mmio_ro_emulated_write(), but in both cases it is
> > already resolved somewhere higher in the call tree. Pass it down to
> > mmio_ro_emulated_write() via new mmio_ro_emulate_ctxt.mfn field.
> >=20
> > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
> > ---
> > Shadow mode is not tested, but I don't expect it to work differently th=
an
> > HAP in areas related to this patch.
> > The used locking should make it safe to use similar to mmio_ro_ranges,
> > but frankly the only use (introduced in the next patch) could go without
> > locking at all, as subpage_mmio_ro_add() is called only before any
> > domain is constructed and subpage_mmio_ro_remove() is never called.
> > ---
> >  xen/arch/x86/hvm/emulate.c      |   2 +-
> >  xen/arch/x86/hvm/hvm.c          |   3 +-
> >  xen/arch/x86/include/asm/mm.h   |  22 ++++-
> >  xen/arch/x86/mm.c               | 181 ++++++++++++++++++++++++++++++++=
+-
> >  xen/arch/x86/pv/ro-page-fault.c |   1 +-
> >  5 files changed, 207 insertions(+), 2 deletions(-)
> >=20
> > diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
> > index 95364deb1996..311102724dea 100644
> > --- a/xen/arch/x86/hvm/emulate.c
> > +++ b/xen/arch/x86/hvm/emulate.c
> > @@ -2733,7 +2733,7 @@ int hvm_emulate_one_mmio(unsigned long mfn, unsig=
ned long gla)
> >          .write      =3D mmio_ro_emulated_write,
> >          .validate   =3D hvmemul_validate,
> >      };
> > -    struct mmio_ro_emulate_ctxt mmio_ro_ctxt =3D { .cr2 =3D gla };
> > +    struct mmio_ro_emulate_ctxt mmio_ro_ctxt =3D { .cr2 =3D gla, .mfn =
=3D _mfn(mfn) };
> >      struct hvm_emulate_ctxt ctxt;
> >      const struct x86_emulate_ops *ops;
> >      unsigned int seg, bdf;
> > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> > index d326fa1c0136..f1c928e3e4ee 100644
> > --- a/xen/arch/x86/hvm/hvm.c
> > +++ b/xen/arch/x86/hvm/hvm.c
> > @@ -1942,7 +1942,8 @@ int hvm_hap_nested_page_fault(paddr_t gpa, unsign=
ed long gla,
> >       */
> >      if ( (p2mt =3D=3D p2m_mmio_dm) ||
> >           (npfec.write_access &&
> > -          (p2m_is_discard_write(p2mt) || (p2mt =3D=3D p2m_ioreq_server=
))) )
> > +          (p2m_is_discard_write(p2mt) || (p2mt =3D=3D p2m_ioreq_server=
) ||
> > +           p2mt =3D=3D p2m_mmio_direct)) )
> >      {
> >          if ( !handle_mmio_with_translation(gla, gpa >> PAGE_SHIFT, npf=
ec) )
> >              hvm_inject_hw_exception(TRAP_gp_fault, 0);
> > diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/m=
m.h
> > index db29e3e2059f..91937d556bac 100644
> > --- a/xen/arch/x86/include/asm/mm.h
> > +++ b/xen/arch/x86/include/asm/mm.h
> > @@ -522,9 +522,31 @@ extern struct rangeset *mmio_ro_ranges;
> >  void memguard_guard_stack(void *p);
> >  void memguard_unguard_stack(void *p);
> > =20
> > +/*
> > + * Add more precise r/o marking for a MMIO page. Bytes range specified=
 here
> > + * will still be R/O, but the rest of the page (nor marked as R/O via =
another
> > + * call) will have writes passed through. The write passthrough requir=
es
> > + * providing fixmap entry by the caller.
> > + * Since multiple callers can mark different areas of the same page, t=
hey might
> > + * provide different fixmap entries (although that's very unlikely in
> > + * practice). Only the one provided by the first caller will be used. =
Return value
> > + * indicates whether this fixmap entry will be used, or a different one
> > + * provided earlier (in which case the caller might decide to release =
it).
>=20
> Why not use ioremap() to map the page instead of requiring a fixmap
> entry?

In all the cases this feature is used (for now), I do have a fixmap
anyway. So, I don't need to worry if I can call ioremap() at that boot
stage (I think it's okay in console_init_postirq(), but that may not
be obvious in other places).

> > + *
> > + * Return values:
> > + *  - negative: error
> > + *  - 0: success, fixmap entry is claimed
> > + *  - 1: success, fixmap entry set earlier will be used
> > + */
> > +int subpage_mmio_ro_add(mfn_t mfn, unsigned long offset_s,
> > +                        unsigned long offset_e, int fixmap_idx);
> > +int subpage_mmio_ro_remove(mfn_t mfn, unsigned long offset_s,
> > +                           unsigned long offset_e);
> > +
> >  struct mmio_ro_emulate_ctxt {
> >          unsigned long cr2;
> >          unsigned int seg, bdf;
> > +        mfn_t mfn;
> >  };
> > =20
> >  int cf_check mmio_ro_emulated_write(
> > diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
> > index 0fe14faa5fa7..b50bdee40b6b 100644
> > --- a/xen/arch/x86/mm.c
> > +++ b/xen/arch/x86/mm.c
> > @@ -165,6 +165,19 @@ bool __read_mostly machine_to_phys_mapping_valid;
> > =20
> >  struct rangeset *__read_mostly mmio_ro_ranges;
> > =20
> > +/* Handling sub-page read-only MMIO regions */
> > +struct subpage_ro_range {
> > +    struct list_head list;
> > +    mfn_t mfn;
> > +    int fixmap_idx;
> > +    struct rangeset *ro_bytes;
> > +    struct rcu_head rcu;
> > +};
> > +
> > +static LIST_HEAD(subpage_ro_ranges);
> > +static DEFINE_RCU_READ_LOCK(subpage_ro_rcu);
> > +static DEFINE_SPINLOCK(subpage_ro_lock);
> > +
> >  static uint32_t base_disallow_mask;
> >  /* Global bit is allowed to be set on L1 PTEs. Intended for user mappi=
ngs. */
> >  #define L1_DISALLOW_MASK ((base_disallow_mask | _PAGE_GNTTAB) & ~_PAGE=
_GLOBAL)
> > @@ -4893,6 +4906,172 @@ long arch_memory_op(unsigned long cmd, XEN_GUES=
T_HANDLE_PARAM(void) arg)
> >      return 0;
> >  }
> > =20
> > +int subpage_mmio_ro_add(
> > +    mfn_t mfn,
> > +    unsigned long offset_s,
> > +    unsigned long offset_e,
>=20
> Since those are page offset, you can likely use unsigned int rather
> than long?
>=20
> I also wonder why not use [paddr_t start, paddr_t end] (or start and
> size) and drop the mfn parameter?  You can certainly get the mfn from
> the full address, and it seems more natural that having the caller
> pass an mfn and two offsets.

That would work for the function parameters indeed, regardless of what's
really stored.

> > +    int fixmap_idx)
> > +{
> > +    struct subpage_ro_range *entry =3D NULL, *iter;
> > +    int rc;
> > +
> > +    ASSERT(rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)));
> > +    ASSERT(offset_s < PAGE_SIZE);
> > +    ASSERT(offset_e < PAGE_SIZE);
> > +
> > +    spin_lock(&subpage_ro_lock);
> > +
> > +    list_for_each_entry( iter, &subpage_ro_ranges, list )
> > +    {
> > +        if ( mfn_eq(iter->mfn, mfn) )
> > +        {
> > +            entry =3D iter;
> > +            break;
> > +        }
> > +    }
> > +    if ( !entry )
> > +    {
> > +        /* iter=3D=3DNULL marks it was a newly allocated entry */
> > +        iter =3D NULL;
> > +        entry =3D xmalloc(struct subpage_ro_range);
> > +        rc =3D -ENOMEM;
> > +        if ( !entry )
> > +            goto err_unlock;
> > +        entry->mfn =3D mfn;
> > +        entry->fixmap_idx =3D fixmap_idx;
> > +        entry->ro_bytes =3D rangeset_new(NULL, "subpage r/o mmio",
> > +                                       RANGESETF_prettyprint_hex);
> > +        rc =3D -ENOMEM;
>=20
> rc will already be -ENOMEM, albeit doing error handling this way is
> tricky...
>=20
> > +        if ( !entry->ro_bytes )
> > +            goto err_unlock;
> > +    }
> > +
> > +    rc =3D rangeset_add_range(entry->ro_bytes, offset_s, offset_e);
> > +    if ( rc < 0 )
> > +        goto err_unlock;
> > +
> > +    if ( !iter )
> > +        list_add_rcu(&entry->list, &subpage_ro_ranges);
> > +
> > +    spin_unlock(&subpage_ro_lock);
> > +
> > +    if ( !iter || entry->fixmap_idx =3D=3D fixmap_idx )
> > +        return 0;
> > +    else
> > +        return 1;
> > +
> > +err_unlock:
> > +    spin_unlock(&subpage_ro_lock);
> > +    if ( !iter )
> > +    {
> > +        if ( entry )
> > +        {
> > +            if ( entry->ro_bytes )
> > +                rangeset_destroy(entry->ro_bytes);
> > +            xfree(entry);
> > +        }
> > +    }
> > +    return rc;
> > +}
> > +
> > +static void subpage_mmio_ro_free(struct rcu_head *rcu)
> > +{
> > +    struct subpage_ro_range *entry =3D container_of(rcu, struct subpag=
e_ro_range, rcu);
> > +
> > +    rangeset_destroy(entry->ro_bytes);
> > +    xfree(entry);
> > +}
> > +
> > +int subpage_mmio_ro_remove(
> > +    mfn_t mfn,
> > +    unsigned long offset_s,
> > +    unsigned long offset_e)
> > +{
> > +    struct subpage_ro_range *entry =3D NULL, *iter;
> > +    int rc;
> > +
> > +    ASSERT(offset_s < PAGE_SIZE);
> > +    ASSERT(offset_e < PAGE_SIZE);
> > +
> > +    spin_lock(&subpage_ro_lock);
> > +
> > +    list_for_each_entry_rcu( iter, &subpage_ro_ranges, list )
> > +    {
> > +        if ( mfn_eq(iter->mfn, mfn) )
> > +        {
> > +            entry =3D iter;
> > +            break;
> > +        }
> > +    }
> > +    rc =3D -ENOENT;
> > +    if ( !entry )
> > +        goto out_unlock;
> > +
> > +    rc =3D rangeset_remove_range(entry->ro_bytes, offset_s, offset_e);
> > +    if ( rc < 0 )
> > +        goto out_unlock;
> > +
> > +    rc =3D 0;
>=20
> You can use `if ( rc ) goto out_unlock;` and that avoids having to
> explicitly set rc to 0.
>=20
> > +
> > +    if ( !rangeset_is_empty(entry->ro_bytes) )
> > +        goto out_unlock;
> > +
> > +    list_del_rcu(&entry->list);
> > +    call_rcu(&entry->rcu, subpage_mmio_ro_free);
> > +
> > +out_unlock:
> > +    spin_unlock(&subpage_ro_lock);
> > +    return rc;
> > +}
> > +
> > +static void subpage_mmio_write_emulate(
> > +    mfn_t mfn,
> > +    unsigned long offset,
> > +    void *data,
> > +    unsigned int len)
> > +{
> > +    struct subpage_ro_range *entry;
>=20
> const.
>=20
> > +    void __iomem *addr;
>=20
> Do we care about the access being aligned?

I don't think Xen cares about it when page is mapped R/W to the guest,
so why should it care when it's partially R/W only?

>=20
> > +
> > +    rcu_read_lock(&subpage_ro_rcu);
> > +
> > +    list_for_each_entry_rcu( entry, &subpage_ro_ranges, list )
> > +    {
> > +        if ( mfn_eq(entry->mfn, mfn) )
> > +        {
>=20
> You need to take the spinlock at this point, since the contents of
> entry->ro_bytes are not protected by the RCU.  The RCU only provides
> safe iteration over the list, but not the content of the elements on
> the list.

mfn is not supposed to change ever on the specific list element, and
IIUC, rangeset does locking itself. Am I missing something?

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--VITwGu5IVH8xZkDz
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQi/n8ACgkQ24/THMrX
1ywMZgf/Rbm1xOs9cGq+cbc+ydJYcLLZBzSd1ME7ROeCEk/zHDLdTr5WzHYRyVK8
VLllYhFoZ3TSL6YyZKuIK4L2bwHfobWDr9GY0FpFGFYeYwjbK6HiQM+Dzlds4Okl
si95Q68NgVEfbKvzB+Q5bJ8t72wbOmwXW11xfgnq7irkvorOhA63zGVNq4uXj6uA
5hBhtJlGRa68wcVeQNV1W1EdNyAF7KVE+GYGTtivqlk5BX1JGh33oghdb2dCQ+w9
7reASicDwoZ6D0f/qOk8Yw8s65t+ouqTtrv7LFA1rROGUkwpKGQUtZmeabCvSeIz
bGwgd8vi5pJ3xc2MYP6YJ9aOySfmiA==
=Vh9f
-----END PGP SIGNATURE-----

--VITwGu5IVH8xZkDz--


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 14:57:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 14:57:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515923.799290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAlR-0007qi-TQ; Tue, 28 Mar 2023 14:57:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515923.799290; Tue, 28 Mar 2023 14:57: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 1phAlR-0007qb-Q3; Tue, 28 Mar 2023 14:57:33 +0000
Received: by outflank-mailman (input) for mailman id 515923;
 Tue, 28 Mar 2023 14:57: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=0K3v=7U=citrix.com=prvs=4442f050c=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phAlQ-0007qV-Uv
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 14:57:32 +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 dc182f70-cd78-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 16:57:31 +0200 (CEST)
Received: from mail-mw2nam12lp2044.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 10:57:27 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DS0PR03MB7251.namprd03.prod.outlook.com (2603:10b6:8:116::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Tue, 28 Mar
 2023 14:57:23 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Tue, 28 Mar 2023
 14:57: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: dc182f70-cd78-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680015451;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=Md+oQusXHQuKhOGF71sh3+DsEmo9+qF/sJdfObuv6Og=;
  b=UI7V7DAfWp0793xMHcnJonUBcsAXYUF9G+qL6NSCcFxzgqTID9IjIHlE
   0zxQHK5ZNGiER+8+xyCoya0c77Z8nFgcIAixj+bCamJJoOogCg5akagwD
   Zi9lFh1Vpgo42Gh6finuAqj+ufIN75tUwFOEQLScuBCkQNThHKXySeADs
   s=;
X-IronPort-RemoteIP: 104.47.66.44
X-IronPort-MID: 103284789
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Xze2R60LlPzOZITcL/bD5fRwkn2cJEfYwER7XKvMYLTBsI5bp2FSn
 WcaDz+POvrYNGf8LdwiboixpEoE7MfUzdQwT1FkpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdkNagR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfEXpM0
 vw3D282awHch72m8qO/Sch2v5F2RCXrFNt3VnBI6xj8VKxjZK+ZBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxpvS6PkGSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03bWfwXyrCer+EpWg9aNymWCv1lZJDQcQURikjtW+sECXDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBLSNrmK2YTzSa7Lj8kN+pES0cLGtHYDBeSwIAuoPnuNtr0k6JSct/GqmoiNGzASv33
 z2BsCk5gfMUkNIP0KK4u1vAhlpAu6T0c+L83S2PNkrN0++zTNTNi1CAgbQD0ct9EQ==
IronPort-HdrOrdr: A9a23:LM8YD6DDTgOV8AHlHemo55DYdb4zR+YMi2TDgXoBLSC9E/b5qy
 nApp8mPHPP4gr5O0tApTnjAsa9qCjnhPtICOAqVN+ftW/d1VdAR7sN0WKN+VHd84KVzJ876U
 /NGZIOa+EZrDJB/KTH3DU=
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="103284789"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NNgeFSVfTlIcV4D8MQuaq+dHnQ070Nly8MnxbBZncNxcPYfNjJQCCj9AFThQ/mGdBWznVqK0hfFmaegTQqOu96+QSTvGsrc5G1D7iurjzlcrkzyjL1pBzs3AWRrVnSx58N9HSVoKztJ2sku0f/rjbpYWnT2QcPDemPRIACvQd5ByuQCIOwKpgenP94E7lnWJpsT0gr8b2quzFf0I//nxhFSIYxfDCp6bfbneuIE02iY5yzfyAaiWAVy2Av1tO9rCNM3r2YvKr0mzeDNHXT6Kl3xgx3Gl0LZHRw3fo1HxqiAxZ5zEzawsVIHwrAvkIadgvBkmn+fqm7MUNzz0Akru7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ec8uG0wR72qhpTCf5BPrVMWzBpC9XXsWBL5rGI8uzjQ=;
 b=mJybmRl7VLPJsW0zmqHLJVxzZStUZoBw5CZbdfrc03cgcMYesEK/GherBqFm3YpDsP99PqIGZYFl5D10RFfQ2ScVNAm3KxBGQT082Kbv5lvB6Q/p8+UlQAtWmsDIkEXK8aCYW9ckBlXNOrYtZyktqojbUSE3ogkwwo/KKENbgVSJdS4XjB7UKzMceQWFMkFe8upVioCB+bgH9v8oliDs3W3LNaPM7qQpj0+PKfxRSbGHHNlXwC6IRBY/zXPdvy7s0tYdWZN2uLfIuudQ4sZXy6L055X28FPM9K5z1PzTSiBwCCuYy4GFp4xG1c0CJR7DTrWBEHda7C3mM2DzrZXIhg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ec8uG0wR72qhpTCf5BPrVMWzBpC9XXsWBL5rGI8uzjQ=;
 b=BRQhtfOpFhRvdx2kyRUqfi1lzKiuWpHdnk/0d1cxepyDv5eo3/6Knjz69BfKld2zliEV0rZW7VgyyEa2X7Hp8B1HI3DimydaZWOnAogqxHQoy5ZE/cC36PYSRjBiBOSfI6qR1Ig8cy03S20RKVLEpjZidplM1quOOLF6QzBbsis=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 28 Mar 2023 16:57:15 +0200
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 v2 1/8] x86emul: split off opcode 0f01 handling
Message-ID: <ZCMAS1+pzlU2k6BF@Air-de-Roger>
References: <7f5287ad-8442-6c53-d513-f9a8345c4857@suse.com>
 <c8ecf582-2c1c-ca41-f289-b6a6a080061c@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <c8ecf582-2c1c-ca41-f289-b6a6a080061c@suse.com>
X-ClientProxiedBy: LO2P265CA0213.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9e::33) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DS0PR03MB7251:EE_
X-MS-Office365-Filtering-Correlation-Id: 2b4217a8-874b-4a1e-569f-08db2f9cbcaf
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IUg1rfrAILcVBo7OwAl+M/xpr7ltymxnfDyeTxnjPvS+PyVIx4DUlvutKSN73553w+eECY+tCHVQkVF4ngp3K0O2VyhF3ImE8mbDff3B/fl8BasRGai83lKCdHF6ghUE0mPFjIQvR6iT2HSWZHCobRaG+dD4XBuRWxhiDSFOekSR6yFjB4DpaBTypwtARL9AZPZp8Oha4jjJkSfK/6N580x9SxaG8p2tw1nOlCM+LpzSQc75H5c+bbEWjpao6wNz3rNimTPdLu3KoeTvvSrwGhcFusIm7AN75e7G3hPgfJeQTJgk0O8hYB1Dc/P86KNnHP9oSJ6A/GHU5VBJPTfLPZ62ei+JdzCoR7jsr3Ooy/3SjSClxLt/CdNdcD0CyaePbwTrdk9Skl663f9p5bKnSK2oRvOfIHJ0o4tyB3amM9O0x+cUmB2gHaWo+qQGOCrt8R16K33H6YEhcguLXhYAMR/IUrhOToQH4yZRFD0EpUUJtY/K4BABxMtJ7kwjurXtYBR/Gg3to7+tR1LbbJ+iOdyTWN5GFzqrCMpqbeGoQDwA73l2Iy6XuqIrisOKPPdxRiDMdfOyBT+dpxS9gyqv0AhfJyZvXXqyYsbSo3V4mXv6SSzcza2v1kgEboabOQs+
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(346002)(376002)(39860400002)(366004)(136003)(396003)(451199021)(316002)(478600001)(54906003)(85182001)(33716001)(8936002)(82960400001)(86362001)(5660300002)(38100700002)(4326008)(66476007)(6916009)(8676002)(2906002)(66946007)(66556008)(41300700001)(6506007)(6666004)(186003)(9686003)(6512007)(26005)(6486002)(2004002)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MTBTL0xybTdjalNUQ0xGODN1QXRDZGNWYTJLRGdMTGRnL3pCNnRCc3V0ZC9z?=
 =?utf-8?B?WWZhZkZKaVhrVytlbllXUmxEZlphN2h6bUlnMlI1SGhzK3JNZ29UOHgreHBh?=
 =?utf-8?B?RFZWOS9WRE04d3JlYkxFQVYvNEkwTlNkVnk3ZXBkdFlVODQxL09uSjBBRGFW?=
 =?utf-8?B?WEc0Y3k4cVNlUEQvZFNCNTZOZ2NZcTFiYThUbE56aWRWeDRBZmhGeGw0T0kw?=
 =?utf-8?B?ZDJadTQ2VkZLeGYyVVFJdXU2eVpSYXdENWx2NzJZYlBwRy9uV0FMYWJCRy9Q?=
 =?utf-8?B?SjBhVlk0a1B5eno1ZDNXUEMraGNxQjI0dXZBOVRQdDBSb3V1MU9JZkhFTlJM?=
 =?utf-8?B?UkNxYlJQVGYzZE8xVE43bDB5WnJkemxHbEpNeXlVdmtUcVpVdS84eXZhdnRX?=
 =?utf-8?B?TUdyYTFjUWUwbmJuZ2JlK3pzWmlVU2syQ1l1Z3FRejJEcEx4dm5hSXhsR3Zs?=
 =?utf-8?B?bUhEbWswdDNqQTRNZy9DMjZybUYxTnZBZ3BRb0JxMmsrZncxL3RyYXNWcTFz?=
 =?utf-8?B?bGp3emRVTENkdEpDRUZPSlRCTWtuRjVGM2IzNWFqWnlMaVc3TTluTndWTWVK?=
 =?utf-8?B?aWp3K3VnTGcvbUlTUzJOekFUbDJkbEIxcmNPeDZscEh5Mk5nTUw0bkN0a0tR?=
 =?utf-8?B?YkhSWWgvZVUyWksrSXJlNEZ6dERYMm5KejR2eDV6b3NWVXQxclVveVA1TWNJ?=
 =?utf-8?B?VTM0c3dtMVI4aFo1eldEbjhyZ1dKYmxWbHhjU3BVdWRnTStGM01teWtJWUFp?=
 =?utf-8?B?VUFoSFVSOUE5dFJ0TlNSdUZYQVBUZzhmbGlZbW1LVzUyK2xVcmNYY24xdUhZ?=
 =?utf-8?B?YVRneW1peHUwN1crS05yV1dJMld6eUZHa0hNejFTbXhmZ1JVSllzZU9BcEFM?=
 =?utf-8?B?M0haRDQwYXl3d1ZqTEo4TUlDaFIycWRhNTNyQlVMOTdrbUI1QklTM29CYTMw?=
 =?utf-8?B?a3NRSTYydEVCUFk1SkFWcGFMTWJpYXVhV1U5QXliUENUeEVUNVRGNEdJcGkx?=
 =?utf-8?B?djJQWUN2emxqcGhqWkRsT3h5S1ZYMmFZblZoUUNKMW9sK1k2ejMrNnJjUzNG?=
 =?utf-8?B?TkxGWS9OZDhiOVlsUERNL1ljaitsV1lyUUxBSG8raWVrV1gzb3VhR0FmSjlG?=
 =?utf-8?B?cGxnaGxkTnp6cXdaV2JnbGRQdEFDYXVKUUVoMHZSYkdmelgrNUxSdjRXeGIr?=
 =?utf-8?B?ZEZKWmFBbGJQd3ZLREk3dmtHRXRZVFhiU3F4cUxZaVZqTUtON1pxaUNCY2x1?=
 =?utf-8?B?U3czdFV4R0hMZkNVQmlhTG42ZDUrSElOeUhUYjZleDJOOTBHN1VCcEN6U09R?=
 =?utf-8?B?RERtN3ZUNlBhM1crS0JnS1Y1bGN3Z2F4c05UNERRMW5kY0RxT1Vmd2ltdFZ6?=
 =?utf-8?B?Vjc0U2xYYXVLVWx3Z28wMDBLd0ZIYzhKcDJNZDhzRWlRRHUrVW93NXRMRFEx?=
 =?utf-8?B?SVFGSFpHUlg0ZHhHa0gvcmREZHA2Yzd4bEVSVDFxVjZRdnBKUmt4MXE2Z2tx?=
 =?utf-8?B?Q1ZTNzFSdEl4Ny9ValJjajB3OGNmOW1XYkxDNlB5c05qcEo2QTJScFdCTFg1?=
 =?utf-8?B?YTBkOUw5ZDVxbDJVRjgzemhUUDYwWjM3anAydmR6S09SR3pkeWl1aFZ5YTMv?=
 =?utf-8?B?cjlaYjlweG8zMERqeUViWWxhcm1UZDFlaFhVaFVJY2FaN3E0RGZzZ2piaHlP?=
 =?utf-8?B?NWhjUjZnS0ZpMGpJUXE1V1VwRnc2VlNsVDR2dW9KaDhyR0NPMFZqYTJuV3Nn?=
 =?utf-8?B?b2pnSDZBWkFFK1dLUXB1cFVnZG1WU2xERWw5QXFicFgrTUxRZFpuM3E2azhl?=
 =?utf-8?B?T0Fkb0xzRHpyTGtIYkpZUTlZK0JpNFpVaGh5SEtqSWxqVVU0Nm5EaTlRM2NG?=
 =?utf-8?B?eHRhMXp5Mndtd0ZaWlhseC9HUlVXZ0hWVWZHazhObHYwYzMydENrdU9YT2kw?=
 =?utf-8?B?VS9jbGp2Y1NyQUxEaWNvcmNIRDFmVlVid2dJOUNMZnpibjgwNUVBaDNRQ0E4?=
 =?utf-8?B?MzRzUnFxWFhLaGEvNnJxbFNDNDR3b09adE5jUHZzcnFybS9McG9WZmxJeGFO?=
 =?utf-8?B?Z21OUzMyUzIwc2hQaTRJSXRXZnZ5OTJSTDZTTUs1bGdGRisvWGt2Tm1KVURJ?=
 =?utf-8?Q?05Em+8WL6Kfw42tW2R5dIukvu?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	gGLP0bh47SloO/OV7S6hzH+26kUUJGt18tMdsrWfwpvM1+835DCT9KdjrOTcp/tt5Fn5ZkJuZu4VVb0Cp89KFSZStX1H2j0WELecjNUChqLcAjyHdnCNopXqUpxzXXTdP/DncXr3hLYOsOdaGT+VbHfwFsRsFsLbCAVRXzUq3rSXAwtebR9P3+P/4MDMRA4CjwXJGF8QOfEVcYFn/97R646wMnpScPSLk9vJxviMJnd9ZQzcAkPwcTeX1nHM/R5HaRdkt94Ez7lsJIC3wUiY7kk2p0n2iG6MXodrwTehPhoCpwL7Pt29ZCzlrwM/DoCVAyU14gFc+DkYaUr9s60wK4aFAh+PJWm8fRP9/CKyzazw7b6gSgVx6lSGoL9PrWd9IPBkYS0QYAmfHFdLEkh/zuyY3ZNARkl+OJASMkGh6d6iuwWGLnpjfDQbwAS3GpMMyWayxEwglAcBHgbJD8twFPcOCKAC4VPkNXU9+xI3/nf4TgGK6m4YBLhd+OSpn3hKMDcXy7deuoshHey7egh5KauddhVYgqCpAlE29AZXEgcpvmXzJrukG0ScFv6s1vS4Pn4zjoc4rHlzbMmQhtLllHezW0izUAIEFfeRhpaA7zAaEKwXMb8ZGZLYTSRAaTSR/+C3QnmZGTIXTA526aFIbttPFKh2G7VTOzKzWzJdR5M1QJvyCUb8EXieh/XnI32GUc6GZyAcVm3dFhJyOOSZtXuVVLyroPPCWqCbm1DaY25HFcLSIwnFnMObtnklRnvZACiGcwOJuVnNxmgJ+Fb/692TByZGisUPTroQAu0ubLDVAliZrOHE7/be6P9atQXR
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b4217a8-874b-4a1e-569f-08db2f9cbcaf
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 14:57:23.3036
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ToLbRlLY51+vE4vbO/mE3M+fFdA+HdHG7tn6oe3Lhwxq3ygD5KuYQhQE/CaT+S6mbeWRawQwhNaYFcSCVk+G0w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB7251

On Wed, Jun 15, 2022 at 11:58:46AM +0200, Jan Beulich wrote:

> --- /dev/null
> +++ b/xen/arch/x86/x86_emulate/private.h
> @@ -0,0 +1,531 @@
> +/******************************************************************************
> + * private.h - interface between x86_emulate.c and its helpers
> + *
> + * Copyright (c) 2005-2007 Keir Fraser
> + * Copyright (c) 2005-2007 XenSource Inc.
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; If not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#ifdef __XEN__
> +
> +# include <xen/kernel.h>
> +# include <asm/msr-index.h>
> +# include <asm/x86_emulate.h>
> +
> +# ifndef CONFIG_HVM
> +#  define X86EMUL_NO_FPU
> +#  define X86EMUL_NO_MMX
> +#  define X86EMUL_NO_SIMD
> +# endif
> +
> +#else /* !__XEN__ */
> +# include "x86-emulate.h"
> +#endif
> +
> +#ifdef __i386__

Do we ever build this code in 32bit mode?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 15:03:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 15:03:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515929.799300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAqe-000116-Ka; Tue, 28 Mar 2023 15:02:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515929.799300; Tue, 28 Mar 2023 15:02:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAqe-00010z-HM; Tue, 28 Mar 2023 15:02:56 +0000
Received: by outflank-mailman (input) for mailman id 515929;
 Tue, 28 Mar 2023 15:02: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 1phAqd-00010p-Qu; Tue, 28 Mar 2023 15:02: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 1phAqd-000828-Op; Tue, 28 Mar 2023 15:02: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 1phAqd-0001Sf-8b; Tue, 28 Mar 2023 15:02:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phAqd-0002Ih-84; Tue, 28 Mar 2023 15:02: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=O/lVGy0sXm2W/P7RLtH9JX/q9gM+mTtYvqpxoiR0/qw=; b=krKQT3WbtGh+AWFcCltl4kylSg
	Dih4b6b9sXJq6YD3FWyGWr5+TC6gq56fbRIsEniPQKbLGBwHL1cbuLmZfjSm7QDgll0vPa0LRZY2Y
	njCq2myNLE9A+9DUADNomxoKZmhVU6+8g+ocBl+rDOzmleJrz3+kAoMqilsvm/l4uJ/k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180041-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 180041: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b177892d2d0e8a31122c218989f43130aeba5282
X-Osstest-Versions-That:
    xen=0ab316e7e15f895c983e853512cfe0bb71ee3053
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Mar 2023 15:02:55 +0000

flight 180041 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180041/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b177892d2d0e8a31122c218989f43130aeba5282
baseline version:
 xen                  0ab316e7e15f895c983e853512cfe0bb71ee3053

Last test of basis   180034  2023-03-28 01:01:50 Z    0 days
Testing same since   180041  2023-03-28 13:02:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Anton Belousov <abelousov@ptsecurity.com>
  Dmitry Isaykin <isaikin-dmitry@yandex.ru>
  Jan Beulich <jbeulich@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Tamas K Lengyel <tamas@tklengyel.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   0ab316e7e1..b177892d2d  b177892d2d0e8a31122c218989f43130aeba5282 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 15:07:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 15:07:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515935.799309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAvE-0001d7-7h; Tue, 28 Mar 2023 15:07:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515935.799309; Tue, 28 Mar 2023 15:07:40 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAvE-0001d0-4y; Tue, 28 Mar 2023 15:07:40 +0000
Received: by outflank-mailman (input) for mailman id 515935;
 Tue, 28 Mar 2023 15:07: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=UojI=7U=citrix.com=prvs=444182d81=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phAvC-0001cu-GY
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 15:07:39 +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 45322c39-cd7a-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 17:07:36 +0200 (CEST)
Received: from mail-dm6nam10lp2104.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.104])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 11:07:34 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB5050.namprd03.prod.outlook.com (2603:10b6:5:1e8::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 15:07:29 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 15:07: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: 45322c39-cd7a-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680016056;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=U1CgHFGut6FFVBCg6ioXIgGK4BgOgzHi5q/d+poevjo=;
  b=gffdBJHSkzbzN9L0FvidLEwcRGZaU3rZsc8XabFrchU8VX+4R0bkylkU
   N6XJ+mRNQXcZ0/ER4pGW2ZIH5L/oX4RuLm6a2OcaxRvGL6doDAQcQ43v5
   Kp7Q485ZDliZlJYc8YxZV2ZZhTPVMP489urBj09S+tHmLfUPEqZS8OwpU
   c=;
X-IronPort-RemoteIP: 104.47.58.104
X-IronPort-MID: 103287222
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:6VPjlapMJz8AlwiMA/p4mgEcTyZeBmI1ZBIvgKrLsJaIsI4StFCzt
 garIBnSOf6CZGbxc4p2PYiwpBgCvJGDmodiSlE5rX8xFCMWopuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSlNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXACkwQyCPl83o+5Kya7VQisklNNjqIrpK7xmMzRmBZRonabbqZvySoPN9gnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeiraYKJEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhrqUw0ALJnDZ75Bs+dEe7m7qos3aFeIxwJ
 RAI9SAQgqsdzRn+JjX6d1jiyJKehTYeUddNF+wx6CmW17HZpQ2eAwAsUTppeNEg8sgsSlQCx
 lKP2t/kGzFrmLmUUm6GsKeZqyuoPioYJnNEYjULJTbp+PHmqYA3yx7KENBqFfftisWvQGmsh
 TeXsCI5mrMfy9YR0Lm29kzGhDTqoYXVSgky5UPcWWfNAh5FWbNJrreAsTDzhcus5q7CJrVdl
 BDoQ/Sj0d0=
IronPort-HdrOrdr: A9a23:JgsfDa7Ydr5YJWrBTwPXwDjXdLJyesId70hD6qkQc3Fom62j5q
 STdZEgvyMc5wx/ZJhNo7690cq7MBbhHPxOkOos1N6ZNWGLhILPFuBfBOPZqAEIcBeOlNK1u5
 0BT0EEMqyWMbB75/yKnDVREbwbsaa6GHbDv5ah859vJzsaGp2J921Ce2Cm+tUdfng9OXI+fq
 Dsn/Zvln6bVlk8SN+0PXUBV/irnay3qHq3CSR2fyLO8WO1/EiV1II=
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="103287222"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SDxCrOoVyJvvMTUzN5pOmF+LMo67YhQ5hsirzzs1WwwDUR1lLzMFQujvjkCgbQDZJYlKeIvqPSlHCcbQb51YzdwYtfT0X+pSAw+fma8b77zuOB1kNCmqn6IciNVHMkTzRxa5yduti8WBsKa+iZFX6jgNQuCBpmf48pm2BIooYypp7c73i8l7kfziCPMcATFuDAQiEN7CZnAgKtufxeAHNr9pzrmfoNnOqGEup3X4p7iznx78JBZfPB/J4O5tpSnL3EYCM8sfE3wPBJQvAfx0/pS7AlRko3MVyJkMGyBr2gaOwEiL0AAzzAl8efpbOFfP4md7W88Ub/qPpDVXIJBqFg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wT18pRIW9EKsfFc1/H4hWyhnNTEYypv/ni0nOQ0BZTI=;
 b=hM1q6rdInQIJSFQPeBFlvlUhShnbvdtPPRARKWwmYkC+WYLU8NM/j7KyzNhjotNm9UDc9lMRTeMf/dImOpDEEoCTemoCp3FcnFonz5WDobUUoQH2XsKnDF/HRAesUJDRadXm8pXbdWrl8O//QpWQkyE1K+g3AZPvzwPhU6pEdncyUOt8b0a7f1281qqZr7UdCM4s7XCgehwn4H0Qsb1h8Zc+7woam8jIgKaxyY5hdc+Do2t+3nwwIr7EFeN2s7zLBgcFPZR7x6TJec/4NCY/H4ERv10NzgK4l2KA3jeOuk7avl2ME7iphJ5VMr9rBCE5CigsIaHDjhO5jSwTf3HyeA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wT18pRIW9EKsfFc1/H4hWyhnNTEYypv/ni0nOQ0BZTI=;
 b=l9ywYhm7O5RG4CghQbPZZ7xwo40JM0aDgf85nPpM3I++ZDoz61PU2PZvhtoGHUnwcnowaRKu23GUBekAx/O6SgyN4I+3jRwXiK/Su5R1veIfPDzlJgESBZv1nv2yddbjticjcxWa8BY4ezZn9eh1Bu4CxiBmNYgF8tMuz94cSQc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <c6661fc2-bdc2-b953-88fb-7250eb2fce1b@citrix.com>
Date: Tue, 28 Mar 2023 16:07:23 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 2/5] x86/ucode: Fold early_update_cache() into
 microcode_init_cache()
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-3-andrew.cooper3@citrix.com>
 <6b6b7da5-dd1a-1b17-b1ce-1b1adb687807@suse.com>
In-Reply-To: <6b6b7da5-dd1a-1b17-b1ce-1b1adb687807@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0470.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a8::7) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM6PR03MB5050:EE_
X-MS-Office365-Filtering-Correlation-Id: 54f40b71-2456-479c-75c4-08db2f9e25d3
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QAaTAWlUd1mZ1bz4v+z6O53f7Jm5gxq88GR9Kxqcndd9Bk6yyNKAVHF0F95slKpOyWuzAkzcxer56/W2vwUWxvgDADAW2IK1ksY7OCvYsTi3MJQK2u0PBEWM7GU0ksfwlTQ6B1u/b54BdA9kjMuHLmZfLVAnmLuBZtrkvEiW+4e64quqQvivh0TmWyjEMNo7sEXvZynCYt3dqqQTZJ9yEh8jjbq9g50m8b7bgE8AlR++VreE/9Amio3lBzeYguOqhxa/7Y3LLaEc70qIzsgsN88Gik9vOfXVPKTEjY0VljzJJCfg/Q1wiZCMZ01hTIK7DkC9wCSWtLTwsgKhDCiT66eik0XqYcmKgx1MlnH/ad0lR55G92WGisWu10yT/OIlh91qMM0SL9LvQlOOBoAD4JLz2YImUHXv4r8ABRn+PmcvOTc/bTop30JzlEKb5lfhQeJt7WvsYFLXuVFJYkNjdGxp5xJ/WxZjlcsMwYRmhzoReNc5M91kqcRVGAzwTGUfrU3qQukbNo7w3zeO02KfgfI+dquoSOQhX3iVlcwvlD2+NoBa5xSrjA6Ao78XIKu11bF2Y7sn5i7A6+iTLTqLdqRYg/l6furzi5Glxz25G8Veh08H84b3f4/Ik9NudKpTVGu2rFU0Ot/RORhL1insVA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(366004)(346002)(39860400002)(396003)(376002)(451199021)(31686004)(66899021)(6486002)(82960400001)(86362001)(54906003)(66476007)(66946007)(8676002)(31696002)(316002)(38100700002)(4326008)(478600001)(6916009)(66556008)(186003)(53546011)(2616005)(26005)(83380400001)(6506007)(6512007)(6666004)(41300700001)(2906002)(36756003)(5660300002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cllYdklOV1VFTVEzeWlhREg5amZkQzF6dEp4ZEhES1VJRU1UV01rVlNSUndh?=
 =?utf-8?B?RnFXVDRjUmljcGlWa1hpREtMZUU0YWF2WGRKUDRXaktjTHQwYUhOQ3g1TGhX?=
 =?utf-8?B?cVh2WldFZDJqbnp5VXE5RThuc09oZnl1aURvVk84TjBMNkp0RHpSVkZrN3Bi?=
 =?utf-8?B?aXBzaE4yaTNsWXVpWGRLTkN3ci9TZzR1SDRqTmdRR2NZdlprU1RTdWc3cUNK?=
 =?utf-8?B?dFBpVUlZam9sb044NGc2cGdaUkFuRkJyZTY4V2lldnppZUMyZDFGMmg2bDN2?=
 =?utf-8?B?emRRVjhlOFl0MFpBYURJUFFETkpTQ2hTT0RtMmNwQnk2ZFJmcDhGeXRIWkRB?=
 =?utf-8?B?ZmlwUXA3VTFFQ3RWc1lLaU9jOWZkTGl0aWRwaDZpNytvMmd3SjUwdkdTaUdn?=
 =?utf-8?B?YzBMSjZyY3NzYk9uRGlMcVdTVkowakZudFplSVZsQ0NKeDd4cU5ORmpicVVZ?=
 =?utf-8?B?QURocU5MUzVaZEZlVWpZSklCYVNBSlVKdFlHek5QelUvZXBCU1NVNlN6dkNK?=
 =?utf-8?B?TWVKQld4NXlCa3JEUUlnRmVRdlBHaGl5MzZkMmhUcDY1eWtzZkNxNHdubW5O?=
 =?utf-8?B?TExxc1k0VUxBWXVuRjJaT0VvU0MzelVIbDJtMmtGZEcyc1pRN3RZRm9vK1hS?=
 =?utf-8?B?NVZQYzlkL2lrcHVNeFFhNGFlcDFSV1BuckwwZytabDVlRFQ4ODdXWUlMNmRq?=
 =?utf-8?B?VDFTTlV5cmxncUtUWER2eGNaMEMyNGZPMEExR25MZXNxY2pWR2lPQmtNMkth?=
 =?utf-8?B?MjJSQkJkWnZyUFg4di84NURJRzVybmlUVkY2Z2RMU0VGZ2hnVU9CSFZSZWRY?=
 =?utf-8?B?cEVtVG83TmFWbjlWK1Z5ZWdZeUtPK0ZSOXg1ZjJIRDhCWkRHQmRtdDhvR1FH?=
 =?utf-8?B?Q0RLWXpxUUFZZmVhZThXNFRuRUx2REVOYVdaTVlYL2o1MVYvZjV2R3dLZG1i?=
 =?utf-8?B?YlEyRUlTcTRtbU9rQTVEWlF0MnM0VkJWVW45cXBsVExvelVwMFV3a1hpNWh0?=
 =?utf-8?B?Rmp2ZmhSYkhKdjdFaUh3eEFhSFFETXNmVXpUcVpQQ1NZVVRJMnRDTnl5ZmRQ?=
 =?utf-8?B?WU1haC9LTkdLQVlWaVVZL2FINXZOSnpqN3JGekF4cDRZK09yTVh3UlRybE94?=
 =?utf-8?B?SzJsTmZBZ0ZyeWlwS25kM24xd3JqYU1GR09lUGhHL2NSYk1BSnF5Y1Aza2FY?=
 =?utf-8?B?aUMyMVJqUFREOXAvLytYSTZXdDVnallyT25ZSXk1TjhzZ1FZNCtMcFJBbXcy?=
 =?utf-8?B?SXoyaTh2cnRWemlpMkUyeGk4Uk9adWFydHMzOTFoOFhGMDkxRHovZjl0c3Bl?=
 =?utf-8?B?RGN0YTI2NUo3YUhZRjM4QmtTNU9DK2V3R2ZDcmVvdk5HSzRiTlRlNk9zUDE5?=
 =?utf-8?B?VmxDeWJUZFl4NkRTa2hIc2FZYklRSElheUJIMEpJRzdoNWhhK2ZXbDYxSjRV?=
 =?utf-8?B?MWtsRjRmY1c3WUpEcW9IaG8vcUdMd2lxSzFjbndQdWR4b1YyaHo1SFNDdFVB?=
 =?utf-8?B?V2hDaE5qQXNMU1pSbVg1bFBzL2p6VU91QnZ4YzJMejFXTm5Qa01kMlVYTDNi?=
 =?utf-8?B?bE5tREU0SGJ0OCs0UXhhRmlkbWt2N1lhNHUzK0dKakIxMXdxQzRMTUFKZGtr?=
 =?utf-8?B?STFndUE5L0RoNkIrTkNGazBZbHB0cVgraitjdVh3dGFpR2owcENjcDBtSm9j?=
 =?utf-8?B?RmpiejdMK0QyT01OV3dtc3d4RDBuZXU0dVhJR0ZIdEFXMjdrVDNLeWdFRGQ4?=
 =?utf-8?B?TzA3RksycndOM256M0dqZncxUEo4NlFKWjlYSTRTVmRqS0krT1VRWEhIMGI1?=
 =?utf-8?B?S1J1UVNHYjF2MzlxaEdvemFobGRLOXVSMFZlRDNqUTRiU25YNHFtZFBYWFFG?=
 =?utf-8?B?NkZjOXc4azdvZWd1d0dPbjJVdDBsQko5UE81Z002OVRkdTA2SjNEVFJ3cGF5?=
 =?utf-8?B?dERJMTNEbUcvOTZmdXdRekRYdHQ1TkNQS3V3K1BFZDdWN3Mvc2dRRzkzQU5l?=
 =?utf-8?B?czBOWk4xdmN1ZmtGZy9IUVorUWV6OGVKVmlPVmpFazdDS2ROTHFid041RUZx?=
 =?utf-8?B?OHh5ekVSR2RZYUJwQ0ZreWVYS0ZSSUVvcU85c1BWV3U3bjJLNzhNNEl1cEd1?=
 =?utf-8?B?U2xFTjdoaWhkK1oyRUpVT2VmVS9qYWlyWGZpZkRZdExuT0w3RFZBeE93cVRR?=
 =?utf-8?B?bFE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	LUC0UO2jAZaWa/hv7UizMOhjqXQYitj4krVVIGR12zfO/a28kRMg91AHqhbNlqoF/EaPVtlOzVFQfTHX+4E3EJgc930vd8fq92ahWpFctCo2e2bq73Gp1f9/+FyxpSTmxJ13ZWvugD7WqZzlIPRa8lnaViLEWos4hAO73YPsVy4jBfjiizgj54gEF6jYCFOgDTaG0WLl8DePQc6QLZdV/uR9ubaRuFpYFyJeZFbxEsnfhTd2+Z0bpCClntsBf/5PJZnVYTdkws5BXGMyBtWRL9qzqAAE6n8WYfuTvLBYlp8nAfmZSqu565PRmop0h0shQlWtjB2KZFNiJbPnpqVkNAWZxwDfIclSMbwqOXIMiVPS8d304oasCN0ERdRw+h3Y0OW2LFY3WFzGrCBEumwHa/WqGX+BelrKIHmv13Qz53zyn/DGgxQpkBYkuhyD2Vqh76Gzlfv0qju8QYfqjG5suJV2SgW5f9iKqYkY+7Pk+WlJ9QuaLI7r20IOOeLbHk2fZzFV0013Kd8hVfLTnt+hsf47Gfkqib8xeaGw3PnT8L+THFOkb+8jcigvHq8QsLm1yeccBJG3kAGhJFn0EQah3QLh6cuzKdE2zXmpn2neCW3CPPJde5U9nTxRXDpQjWlKAverHs+2dfDADk2QWpaP5iF+GRqRV1QKjM8P1UKU49X/Bhtlzcgfr11vvtbE92v0yguTrgmRJxUtdy0MYW7L888AvEPtKNYOC4CGjBrugXYxumFYBFIaEV8ACgGgsbeB37UWkyQizZ/Z2UYycJ4nnlq97X+UvbPHAMsOwCLiZmGlIo0CK3hQ9Q5Q19k7Fmti
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 54f40b71-2456-479c-75c4-08db2f9e25d3
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 15:07:29.2153
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QSA2cyH7+QBhTVmpWv+kOyEeP5MtZD2JJ4mUmyK3msI7fwjsPzTsnDX7X44lP7iioZnFWwHOvy/K7j7Hp3KwiWW+XicOfgVLVxOkcXfZyQE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5050

On 28/03/2023 2:51 pm, Jan Beulich wrote:
> On 27.03.2023 21:41, Andrew Cooper wrote:
>> It is not valid to retain a bootstrap_map() across returning back to
>> __start_xen(), but various pointers get stashed across calls.
> It's error prone, yes, but "not valid" isn't really true imo: As long as
> nothing calls bootstrap_map(NULL) all mappings will remain as they are.

And how is this code supposed to know whether it's stashed pointer is
any good or not?

This is precisely "not valid" means.  It doesn't mean "it definitely
doesn't work", but very much does mean "can't rely on it working".

c/s dc380df12ac which introduced microcode_init_cache() demonstrates the
problem by having to call scan module a second time to refresh the
cached pointer in ucode_blob.data.

The code we have today really is buggy, and is having to go out of its
way to not trip over.

>> --- a/xen/arch/x86/cpu/microcode/core.c
>> +++ b/xen/arch/x86/cpu/microcode/core.c
>> @@ -755,47 +755,51 @@ int microcode_update_one(void)
>>      return microcode_update_cpu(NULL);
>>  }
>>  
>> -static int __init early_update_cache(const void *data, size_t len)
>> +int __init microcode_init_cache(unsigned long *module_map,
>> +                                const struct multiboot_info *mbi)
>>  {
>>      int rc = 0;
>>      struct microcode_patch *patch;
>> +    struct ucode_mod_blob blob = {};
>>  
>> -    if ( !data )
>> -        return -ENOMEM;
> This is lost afaict. To be in sync with earlier code ) think you want to ...
>
>> +    if ( ucode_scan )
>> +        /* Need to rescan the modules because they might have been relocated */
>> +        microcode_scan_module(module_map, mbi);
>> +
>> +    if ( ucode_mod.mod_end )
>> +    {
>> +        blob.data = bootstrap_map(&ucode_mod);
> ... check here instead of ...
>
>> +        blob.size = ucode_mod.mod_end;
>> +    }
>> +    else if ( ucode_blob.size )
>> +    {
>> +        blob = ucode_blob;
>> +    }
> (nit: unnecessary braces)
>
>> -    patch = parse_blob(data, len);
>> +    if ( !blob.data )
>> +        return 0;
> ... here, making the "return 0" the "else" to the earlier if/else-if.
>
> Alternatively, if you think the -ENOMEM isn't sensible, I'm happy to
> consider respective justification for its removal.

I'm a little on the fence here.  Nothing checks the return value at all,
and nothing printed a failure previously either.

Right now, the early boostrap map limit is 1G-16M, so this really does
fail with a large enough initrd to scan.  There is a corner case where
the second pass can succeed where the first one failed, but this is also
fixed in the general case when thread 1 loads microcode (and updates the
BSP too.)

I'm also not convinced that early bootstrap mapping is safe if the
bootloader places Xen in [16M, 1G) but if that goes wrong, it will go
wrong before we get to microcode loading.

Overall, I think that bootstrap_map() itself should warn (and ideally
provide a backtrace) if it fails to map, because one way or another it's
an issue wanting fixing.  Individual callers can't really do anything
useful.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 15:08:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 15:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515938.799319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAvs-00026x-Hr; Tue, 28 Mar 2023 15:08:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515938.799319; Tue, 28 Mar 2023 15: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 1phAvs-00026q-F9; Tue, 28 Mar 2023 15:08:20 +0000
Received: by outflank-mailman (input) for mailman id 515938;
 Tue, 28 Mar 2023 15: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=IY7/=7U=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1phAvq-0001cu-IZ
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 15:08:18 +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 5ebaeb5a-cd7a-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 17:08:17 +0200 (CEST)
Received: by mail-ed1-x52a.google.com with SMTP id ek18so51069269edb.6
 for <xen-devel@lists.xenproject.org>; Tue, 28 Mar 2023 08:08:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ebaeb5a-cd7a-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680016097;
        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=ftgbVGitq94O4TdWMnnAmTJwugrFTeka2OPr4Eje9HI=;
        b=esyqpFQmet9E1YfQaeHaiSCScZccc8DQ1E9VqXZ8CQq21x/CZMGdbJgqMuR0uCQ5Xo
         UnzXpuRCA9XVZKR3yWDuiVJPw8GNUetBUyAIL2fEx25Sfn/vpePsduxTxpVG67WEX3ip
         hjcK55hliJ7y1mlzJddQiFkqnyXH+g4ExUIxYCWzVdG4yHBsQPt2Ip0RqSMXWaO1cLNn
         nTfWsQzQeNm3Ru6cRscKIe+LcsEGqPnvbgIAJHFbw80O55AxiebZu7wPwKd1PaMUhyQ/
         +gmmqd2T5tqX1b08TFcPp4vk4TZANZxXZ/aHCDP9fRSgg60zdkgSpoCKbnzzgd6NnJXU
         RM7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680016097;
        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=ftgbVGitq94O4TdWMnnAmTJwugrFTeka2OPr4Eje9HI=;
        b=RG+Em1Z9o8woeeP9uX25/IVKbZbqCHyQwjGlSW3L6jmYipOrnlMzz5CnB9LDtR1SnH
         hKM1WJ8xfhQtaK/7tuHXvAibT9yXv6RSaXRPmOL6awuNwvv0vXpMBvveHoYGhdH1o2d3
         0f2Gt3+fzlIWfjCEBaC7wnGBng4XJBWWnpL6xNHhJvnaTnNF2IsRGcNmvJ2FN+aKBoHO
         dUSCZ2U/nlHNDsSOowIi8Bz2q0OeUOw9tJLKwUK63O4ASqw6one8imZTK1zmjJUwUfp8
         hBlvUVtmyDyzRxkl9gFlgTklOwWLgK/W5HXCR1l7GQFsEv8O8gSwTz4JCc/UfOxPn9/5
         0sww==
X-Gm-Message-State: AAQBX9d9nw12AwyXuazNOgZU8DezjoZ/XHHFmUQ+FZ7jJyMm3X17mFGq
	YdPIKq9I2PpBsQcf1KxwkJogbmWnHXG59wjnegY=
X-Google-Smtp-Source: AKy350bokq2a/IaXVBM1JXw+RMbif3Ln/22rcUKV18Tb29UKxoz2ORFwqSRFZjHPd56ri6L2TSdKPWd3VgrGY0zuTCE=
X-Received: by 2002:a17:906:ee8b:b0:93e:739f:b0b8 with SMTP id
 wt11-20020a170906ee8b00b0093e739fb0b8mr6819627ejb.3.1680016097170; Tue, 28
 Mar 2023 08:08:17 -0700 (PDT)
MIME-Version: 1.0
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com> <5cfcfb7a-df50-fbe4-89e6-611a83991790@suse.com>
 <ZCLl3ePLgrmFTViV@mail-itl> <1b530e63-de12-f953-1fb5-4e3c3ea69fea@suse.com>
 <ZCLrX2TmYlg2kMxL@Air-de-Roger> <CAKf6xptXovH5-OwuuJ4cNz4JxG-mw3mcwRBJf4PuTwjBA12fSA@mail.gmail.com>
 <6d4c11c3-31f1-48bc-b7b6-0ad0b73fc09c@suse.com> <CAKf6xptkHRcda5DPs4e2+7sgq8ck4-wKZhTHNC+43XWHZy_2TQ@mail.gmail.com>
 <dcba169e-9243-3e7c-f1fa-400af444f158@suse.com>
In-Reply-To: <dcba169e-9243-3e7c-f1fa-400af444f158@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 28 Mar 2023 11:08:05 -0400
Message-ID: <CAKf6xpu1DriHyknidr=o3YqWBQFEDjMndUYKpF1iW4BAhTmHNA@mail.gmail.com>
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 28, 2023 at 9:54=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wro=
te:
>
> On 28.03.2023 15:43, Jason Andryuk wrote:
> > On Tue, Mar 28, 2023 at 9:35=E2=80=AFAM Jan Beulich <jbeulich@suse.com>=
 wrote:
> >>
> >> On 28.03.2023 15:32, Jason Andryuk wrote:
> >>> On Tue, Mar 28, 2023 at 9:28=E2=80=AFAM Roger Pau Monn=C3=A9 <roger.p=
au@citrix.com> wrote:
> >>>> On Tue, Mar 28, 2023 at 03:23:56PM +0200, Jan Beulich wrote:
> >>>>> On 28.03.2023 15:04, Marek Marczykowski-G=C3=B3recki wrote:
> >>>>>> On Tue, Mar 28, 2023 at 02:54:38PM +0200, Jan Beulich wrote:
> >>>>>>> On 25.03.2023 03:49, Marek Marczykowski-G=C3=B3recki wrote:
> >>>>>>>> Some firmware/devices are found to not reset MSI-X properly, lea=
ving
> >>>>>>>> MASKALL set. Xen relies on initial state being both disabled.
> >>>>>>>> Especially, pci_reset_msix_state() assumes if MASKALL is set, it=
 was Xen
> >>>>>>>> setting it due to msix->host_maskall or msix->guest_maskall. Cle=
aring
> >>>>>>>> just MASKALL might be unsafe if ENABLE is set, so clear them bot=
h.
> >>>>>>>
> >>>>>>> But pci_reset_msix_state() comes into play only when assigning a =
device
> >>>>>>> to a DomU. If the tool stack doing a reset doesn't properly clear=
 the
> >>>>>>> bit, how would it be cleared the next time round (i.e. after the =
guest
> >>>>>>> stopped and then possibly was started again)? It feels like the i=
ssue
> >>>>>>> wants dealing with elsewhere, possibly in the tool stack.
> >>>>>>
> >>>>>> I may be misremembering some details, but AFAIR Xen intercepts
> >>>>>> toolstack's (or more generally: accesses from dom0) attempt to cle=
an
> >>>>>> this up and once it enters an inconsistent state (or rather: start=
s with
> >>>>>> such at the start of the day), there was no way to clean it up.
> >>>>>
> >>>>> Iirc Roger and you already discussed that there needs to be an
> >>>>> indication of device reset having happened, so that Xen can resync
> >>>>> from this "behind its back" operation. That would look to be the
> >>>>> point/place where such inconsistencies should be eliminated.
> >>>>
> >>>> I think that was a different conversation with Huang Rui related to
> >>>> the AMD GPU work, see:
> >>>>
> >>>> https://lore.kernel.org/xen-devel/ZBwtaceTNvCYksmR@Air-de-Roger/
> >>>>
> >>>> I understood the problem Marek was trying to solve was that some
> >>>> devices where initialized with the MASKALL bit set (likely by the
> >>>> firmware?) and that prevented Xen from using them.  But now seeing t=
he
> >>>> further replies on this patch I'm unsure whether that's the case.
> >>>
> >>> In my case, Xen's setting of MASKALL persists through a warm reboot,
> >>
> >> And does this get in the way of Dom0 using the device? (Before a DomU
> >> gets to use it, things should be properly reset anyway.)
> >
> > Dom0 doesn't have drivers for the device, so I am not sure.  I don't
> > seem to have the logs around, but I believe when MASKALL is set, the
> > initial quarantine of the device fails.  Yes, some notes I have
> > mention:
> >
> > It's getting -EBUSY from pdev_msix_assign() which means
> > pci_reset_msix_state() is failing:
> >     if ( pci_conf_read16(pdev->sbdf, msix_control_reg(pos)) &
> >          PCI_MSIX_FLAGS_MASKALL )
> >         return -EBUSY;
>
> Arguably this check may want skipping when moving to quarantine. I'd
> still be curious to know whether the device works in Dom0, and
> confirmation of device reset's effect on the bit would also be helpful.

echo 1 > /sys/.../reset does not clear MASKALL.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 15:11:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 15:11:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515941.799329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phAz6-0003fP-0f; Tue, 28 Mar 2023 15:11:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515941.799329; Tue, 28 Mar 2023 15:11: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 1phAz5-0003fI-U1; Tue, 28 Mar 2023 15:11:39 +0000
Received: by outflank-mailman (input) for mailman id 515941;
 Tue, 28 Mar 2023 15:11: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=UojI=7U=citrix.com=prvs=444182d81=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phAz4-0003fC-3m
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 15:11: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 d3b5a306-cd7a-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 17:11:35 +0200 (CEST)
Received: from mail-dm6nam10lp2103.outbound.protection.outlook.com (HELO
 NAM10-DM6-obe.outbound.protection.outlook.com) ([104.47.58.103])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 11:11:32 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DM6PR03MB5050.namprd03.prod.outlook.com (2603:10b6:5:1e8::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 15:11:30 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 15: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: d3b5a306-cd7a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680016295;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=2p2e8HrFgbPoVYDP3c4WeMtTY4AKovc2qqGIrFuDucE=;
  b=T1yVVzPnD3g1mr8atmBi3mF66+SrJN+v07Oc/GU/D8dDhYOl6fYKxPnB
   OjEejuF6mWKKIignu0fw0HFGX0vHqqf7lK+L4jEOLCmFXmJ7Bz/PoDT+0
   jT9u9lY3YXul9i/gUx5LVN/EU9ZMQyupURtz+Q0EILHhIOtD9E+M8xEZQ
   U=;
X-IronPort-RemoteIP: 104.47.58.103
X-IronPort-MID: 103398610
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:w2hT5KrTClgYaL0fchhipmvsc6deBmI1ZBIvgKrLsJaIsI4StFCzt
 garIBmHM6yPY2qhfNB+PI21oEsHsJfSm95qHFFk/i4wFnlEopuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzSlNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAC02Zyq/vN+m+a+YVtt8oZ8AdfbBZIxK7xmMzRmBZRonabbqZvySoPN9gnI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeiraYKOEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhrqUx0Q3NnzR75Bs+XgbmjMvltWWFdsNnB
 BRO6jAwj/E0zRn+JjX6d1jiyJKehTYeUddNF+wx6CmW17HZpQ2eAwAsUTppeNEg8sgsSlQCx
 lKP2t/kGzFrmLmUUm6GsKeZqyuoPioYJnNEYjULJTbp+PHmqYA3yx7KENBqFfftisWvQGmrh
 TeXsCI5mrMfy9YR0Lm29kzGhDTqoYXVSgky5UPcWWfNAh5FWbNJrreAsTDzhcus5q7AJrVdl
 BDoQ/Sj0d0=
IronPort-HdrOrdr: A9a23:MdLC+a0cgDXWNZXxm387XgqjBQdyeYIsimQD101hICG9Lfbo8v
 xGzc5rtyMc1gxhO03IwerwSJVpQRvnhOZICPoqTMSftWjdySqVxe5ZnPffKlHbakvDH6tmpN
 ZdmstFeZ3N5DpB/LnHCWCDer5KqrTqn87I5Za7vhBQpENRGt9dBmxCe32m+zhNNXR77O0CZe
 ChD6R81kOdkah+VLXlOlA1G8z44/HbnpPvZhALQzQ97hOVsD+u4LnmVzCFwxY3SVp0sPQf2F
 mAtza8yrSosvm9xBOZ/XTU9Y5qlNzozcYGLNCQi/ISNi7nhm+TFcZcsvy5zXUISdOUmREXee
 r30lEd1gNImirsl1SO0F/QMs/boW4TAjHZuASlaDDY0L7ErXoBer98bMRiA0HkAo4bzYwMjN
 MU40uJ85VQFh/OhyL7+pzBUAxrjFO9pT44nfcUlGE3a/pTVFb/l/1XwKp5KuZLIMvB0vFrLM
 B+SMXHoPpGe1KTaH7U+mFp3dy3R3w2WhOLWFILtMCZ2yVf2CkR9TpX+OUP2nMbsJ4tQZhN4O
 rJdqxuibFVV8cTKaZwHv0IT8e7AnHEBRjMLGWRK1L6E7xvAQODl7fnpLEuoO26cp0By5U/3J
 zHTVNDrGY3P1njDMWftac7uSwlgF/NFQgF5vsukaSR4IeMMIYDGRfzP2wTrw==
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="103398610"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UgFLK3uUqSBa0khq5+Lxxv2cMdHgkqtaA42QfDAl52tvbAS2QX5hmVd6yNjP6mqxjqyxcR7A9cDYPA8FJ602dvIvhYTklM1fCigb+UbpS850lqGhfHHvVPlw8kFvHl3QuB6cUl0OgznVJxtXwMGywZQek3keIiEBAN8MdkPOKbq7WD6SJ8urG9VZjdY9NcCaUm52aGng7H+Mwh3+p+SVFpSths3lPZ2kAyF7xfLgeTF+x53ZEXROQfVELoT86gSSSqyeCSDVjBln2Tz+W7KYaiqzx2cZ6NzXtCy5q8wMAOg58JlGuUlZSoJjJrNz0THKUR8SLccuH53wpQsQJ6bR0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AAGZscfSPCjABFB6jEqDbtA9rUhJYf33PbYVvWvVqLU=;
 b=JW/oeqR0RwvCDTQ0Z39G3iJUAYYjWZqAIt/IKVXEudNlDrtesOVFReDUQKQzWrgPPIFh/5fcJ4BOETozv4O3UqYgJo4MT4VkesHGYcyoh+qIJgMojnNnzIKcYDuj7ziY2zSWjBjDZFzflqUtG2DtqAo2X9209DgICbQio+XJ1vuyXi7+NzI2E3Ph/+PY0DzbDweFk+HztcPxaGpmWfRjfTQPb7ifXbA6HuMLrYG3KyV9iRAYVSsgObhEpa6r7zUimkDEeJz4Zx4aFTE9dh0Q+N0u5k1a9lAEvwAU8tWFvO2QCSXF3wIW7zLti8tDVApTQvn8IxnZXPmwz/J4C4qgJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AAGZscfSPCjABFB6jEqDbtA9rUhJYf33PbYVvWvVqLU=;
 b=sDXSQccuU4czNeO/mj9/Tuiwf3o0FKmEG/hq+GTG31QsjNPjAGX57tDY7GsRTya/ddWaDTEW9+srbBFGzZ04kVQSqtFhUPMlR3SuIpaGsYOND7p2R2c3ODpOlcdGgL/rC96D7UYp0knCLza+BcFV1Og4YEIY7wwoULsG8KcBnbQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <1a2acd07-98ec-b23c-07aa-3ff2be825ac9@citrix.com>
Date: Tue, 28 Mar 2023 16:11:25 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 3/5] x86/ucode: Fold early_microcode_update_cpu() into
 early_microcode_init()
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-4-andrew.cooper3@citrix.com>
 <310d2d40-223b-5cd2-97cb-d9e40441c254@suse.com>
In-Reply-To: <310d2d40-223b-5cd2-97cb-d9e40441c254@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0035.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:61::23) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DM6PR03MB5050:EE_
X-MS-Office365-Filtering-Correlation-Id: fc8ed192-c35e-45f3-9a42-08db2f9eb5bb
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ne4c8dCPEzEuu2LQrNc3SdB/Syr59B4w5N7z82NTHTNaLiXz79NNNxPzNhXTV6hKOKgukaLUn8uXRaULfBZLUX2l5fE74ulH8RYurv6xSCRxRHVPo5nASMIVDHO3YWY4e4Lzd30c0TxvnZSgf6CQOh9pQ04FY7/FbwpbaYavBZ7SCDc69xKx+4rtaMZvYNkoTUgmvmhq37vxGJgJZ8BrzUXfoIae4kGxFZpht7JYXwunpjoQ9Yxc4CsUGDrIHYxrQobVciXsvFc8C4/zU1aBhdAi/Ub+obSzboO54WPTsMRpKKivScu1B4hbFjxg0w5nfbG+S/ka+NbFAWqkI/SAC7KITI5lpAq1HvohvzhXCgh7YIPUYTescMMsKNuw023S9R5lTUbkJCeBmXGbjBNLos9hU4p+bXriOGoTEgJr51Xg7iPkuKJWtLNZATUg0+ttX3ANKUDjiDHvtOv0JwK7FsPJB9+cU9Z2f9DJlPjRS5NjO/pSMdMOrpPw1pGh/xQWqbdnnE3tZRg8H2oVj9rcfPruyEyIwuFL4SDTuSrDHEg1JrnNO0KIiei0vVjA0pU3FbLBMFlwPyT/FM71SRv9J6vooDlgFAn1+l7eORUhouuq2IZdVQhOtGejUj/n4a2C7U3CsCpdefhszOWQvYlG/Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(366004)(346002)(39860400002)(396003)(376002)(451199021)(31686004)(6486002)(82960400001)(86362001)(54906003)(66476007)(66946007)(8676002)(31696002)(316002)(38100700002)(4326008)(478600001)(6916009)(66556008)(186003)(53546011)(2616005)(26005)(83380400001)(6506007)(6512007)(6666004)(41300700001)(2906002)(36756003)(5660300002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aTR2R1NlQVFqcThhOTREL3ZhL3MrRUxOOTI5M1BXTnNuTHlMMjZBZjZJT2JL?=
 =?utf-8?B?dk5MY0NHYXZxelg2TG5EMWwvTVF5N0o1NmZkQTBLS2x4ODA0cXUxTHg4M2pi?=
 =?utf-8?B?U0FtNjVuTDkyOU1ETHpkdnA5ekVzeTFtK1kyYUNuOHE2WnkrVzF1M29kOUV2?=
 =?utf-8?B?TXk4WFVPVUxwWldUTEpIbVRnckF1NTloUFpJTkRkTkVxaUdvclBuY2hTdXMx?=
 =?utf-8?B?anNwVEl2c29IcVBqQUNDTXJ5RTdrNG1mTmhFajVhei94Y1BsSFZGZTdzeDBU?=
 =?utf-8?B?RjJMMjJmWmRWUmtMNnZOZzRUaFBSOUcrWEZYb21US0dOcHpqdmFQRlhSc04x?=
 =?utf-8?B?bzBHQ2phSkZ6UHpoOWVqUkpyeUJScmhZUkxidWlscjczT0lkWEJLZ2p2cGlt?=
 =?utf-8?B?MldMVWQ0SnVvbkFYeHhoQitIaDBPTDNUYysvdG5GQkR3YXo3M2V5YVBzSHlF?=
 =?utf-8?B?ZDErZldsazlyQUZoWUdrcVhtNUxxclVKb0dCbjdkWE1qeTMwc1V5K0JJSVJ2?=
 =?utf-8?B?MVNLeXBTK09GTWtQRFkvc3p2UjFpVjBwKzNjSTNCWTJPWDNKUDhsakNxdUhv?=
 =?utf-8?B?S0EvWE00L1dNS0cwL3Axd0hLSUxUMTFJSFQyVTJXUUZmVXc5VEdVY1l0Vzll?=
 =?utf-8?B?em9GU1VCL0s4aUdqZlJyditDZVMwSnJWWjRFYzhoWHB5RktVUERLWm85LzVS?=
 =?utf-8?B?bXNyYlRjM3FuWFl5M0l0UjJrSnNvVmdJS3pmaVZJYjYvaG8vREluYlR4cmJB?=
 =?utf-8?B?N2U1YjlEL2lVdmhQaVdmZ3Q3Y3VwNHJlR2J4V0JnK0NFQ2p2NmFIMTRjMG9D?=
 =?utf-8?B?YzNWZXBCeGxJUUFydFg0MWQ5d3ZudVl2UmFMZEZ1YWpxalBLM25wRlR2NmxD?=
 =?utf-8?B?eDdrVXorTkUraFN2MzhodUFnUjNld2Y4RGcwNEZJOGVQUmx3SG1FVFdOWkVG?=
 =?utf-8?B?TDBRTDlvNHVuRjQ3Yk15bFlPU0Ivb3hLYUN2blFzNThZRUZFOVEyWk5YOCtY?=
 =?utf-8?B?NmFHNkYrTTl6OW0za2VpYjduNUgraXdGRUJ4MEZxQml5akFlWmlCOWhjQ0dv?=
 =?utf-8?B?Sm1oamQzY244c3IwdUxMbGp6anREalVpOWFtMzRvSjYwMkJDTnA1bjBWRzQ5?=
 =?utf-8?B?SVlWUUV4YWJQRHZMN3RzSlpTQWZlc0ZYVUV0V1Y4RmZwcElXck8raHdLbUxP?=
 =?utf-8?B?aGFKN0hNQnlObWNGYW5ncXZlNGFwWnBKWHAyYVNDZ1R2eWg4cFpvdWZiaXN3?=
 =?utf-8?B?MUJPTm1yY3ZzQTI5YTcyeFVnclBSZUZXUFdRRS82c2IrMXJCUFRGUGcxMGRl?=
 =?utf-8?B?MERoeWdEQm54emI2clJlckJFVEVISzN1UTdvQzVXR2VwKzBLTmNwRXlBR2Zq?=
 =?utf-8?B?NmRZMml6djFzSjN0a045Y3RHVzhGV1RqMEVSVEMxNDIyN3IxbXl3RTN0NVVw?=
 =?utf-8?B?d1FadDgxbS9raVY1aFJZbzhMczVWM0VBc0ptaEY1Mzh6emxEaDVjS2xQOE9z?=
 =?utf-8?B?dGpnWWhCNHZYWnl0NFE4MjgyOXZ5VEVFVjU1WTlXdEp0alBmbERYeUROREMw?=
 =?utf-8?B?WmxtUXVKMytTYUI3ZnFnSnp6UUxMTXdFQ0ZjeWNiRUtWMW0wZHVuc3EzZ1dH?=
 =?utf-8?B?T3VsdDJZZzR0eGFPVnZLTDg2blJieS9nNFdyNjlVOGhNQmlaRFhNMHh4WUdl?=
 =?utf-8?B?dVJwaXgwWVFRcjlsQ1RNb2M1NEhUT01XUlFsQisyeE8zQW9WYXFiZ2J2S1RD?=
 =?utf-8?B?czNpTERQNUxvdnJibW5KSXg5dURiZy9RWHpMU093azNBeHJFTTlJZ1lhTS9a?=
 =?utf-8?B?d2hkKzdDMHRuOUZSMnFKa2hraHFoaFZpMi9UQVZPTTJjVnVHb3ZsSTlMZnNX?=
 =?utf-8?B?cnI4aTNTdEtxVjA0YU1DYUpkbU56SFZFay9rS0dtbUpwQThKdVdzNk1PWm9t?=
 =?utf-8?B?TGZrVmhHZlBIcVpscWJiL2trV0E4OHpDNHgvTTVDbEdCWldoRlQ4eFcrbHVu?=
 =?utf-8?B?ZkJpbmp0ZmRENnpuVklJeEIvSjFJdEJuUkw2U1h6N25iVnhYUFd2ZmJzbWxN?=
 =?utf-8?B?T1ExODMvczNPaitCeFhrdHdzZHdRTGNKMTlCQXV0eS9rNjRYaktBZUE5ZUlE?=
 =?utf-8?B?Y3M4SENlM1I0VldscU5vVld4T2NRdVI2YzdiTFF5OTF0N3JHVHUxY2dyRExk?=
 =?utf-8?B?Wmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	PsiFj5EKVVI30lN0MI0GOJJlHIJ/J8KHztvW2CRahOONX/1RAfIB/HS+Ut5YysvqepTgJFc/S6whnf64pNt0wO61NL16LST1Zy8tIE+yuab2IzaFRLl4HynDM//bjfD7CnlBjuOZnnrOapoCWwChyi/8r19lcCf+mhCAJpA+kdnyU0zMtSvsn0P+UvDr2LCr0ISbGfP74Fcet7TX7VrtUhAUvk0wP+C1tO20Mlx5Uz3CzvlzBgFVoHJ4Ay37frfylU+xVApSeR9neu9QKfzDw+/n0383zH2o7Ceww3RO/BzuB/bNsbeWlnZP+wu2QcY762b1xx7Wtyra+cTRFks89JJjc7RGqEot0Akxc6vi13CVUsKoPoKkrAJemAQu+31P9q69zDzon/tLVME6jwbFeh6Dh2mWhJ2Y/FR/KWV52S9rsYtvOhCyB2ljlK3gK/s38bTdccGaKL31VX0Y0a3/28N3XuNRwE+/gUhsrkn/N/AZ7IACJJRbet2IbMyH1R4tmx2uWvwRFBdxHih0N5Rl38qgvpqO+ejcG0Ybiwa3RU5v17ZBQ0EIwA4in2LA7rLGJNHA3bH/ZvBT8Q3cpU0Fa+UpHsDAjMlSpRrwfYzo+zbJX6hjQj/2rJe4rvg8COHElJZg1TV04ax/qeTW+CbabRmYiK25O/PV+BLd6IzQDiGj3AFlQXM5G0B0hUc7dFaE7BGQX5EGBubg7gDqgcNUnGQSAG+IpJrCOZrBmuJoDEnWNWQGN86Ttzl1fwoIZyghyXTJH2W3okr/2KYNfA8a0nGA7LJxlGatRIW2+k7jnwNiVjAYBtapkLGYJv4j1j81
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fc8ed192-c35e-45f3-9a42-08db2f9eb5bb
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 15:11:30.7075
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TMfNxNlH6J3fe+hj1EhGxQvj4znGjEY92/mG66ASlS/VIgSoErBZp5mGvRVfaXwBkNA/8ERGETqLPeFGpF8+NF5CqDGb5wX6Eu6moxJSvrQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5050

On 28/03/2023 3:06 pm, Jan Beulich wrote:
> On 27.03.2023 21:41, Andrew Cooper wrote:
>> Begin to address this by folding early_update_cache() into it's single caller,
>> rearranging the exit path to always invalidate the mapping.
> ... this looks to lack editing after copy-and-paste from the earlier patch.

Will fix.

>> --- a/xen/arch/x86/cpu/microcode/core.c
>> +++ b/xen/arch/x86/cpu/microcode/core.c
>> @@ -868,8 +835,37 @@ int __init early_microcode_init(unsigned long *module_map,
>>  
>>      ucode_ops.collect_cpu_info();
>>  
>> -    if ( ucode_mod.mod_end || ucode_blob.size )
>> -        rc = early_microcode_update_cpu();
>> +    if ( ucode_blob.data )
>> +    {
>> +        blob = ucode_blob;
>> +    }
>> +    else if ( ucode_mod.mod_end )
>> +    {
>> +        blob.data = bootstrap_map(&ucode_mod);
>> +        blob.size = ucode_mod.mod_end;
>> +    }
> I wonder whether the order of if/else-if being different between
> microcode_init_cache() and here (also before your change) is meaningful
> in any way. I would prefer if the checking was always done in the same
> order, if I can talk you into re-arranging here and/or in the earlier
> patch.

It does matter, yes (well - certainly in patch 2).  (Although I see a
.size -> .data typo in the moved code, which I need to fix.)

However, both these chains are deleted in patch 5, so I'm going to keep
patches 2 and 3 as close to pure code movement as I can.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 15:13:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 15:13:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515945.799340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phB0J-0004GC-Et; Tue, 28 Mar 2023 15:12:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515945.799340; Tue, 28 Mar 2023 15:12: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 1phB0J-0004G5-C9; Tue, 28 Mar 2023 15:12:55 +0000
Received: by outflank-mailman (input) for mailman id 515945;
 Tue, 28 Mar 2023 15:12: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=UojI=7U=citrix.com=prvs=444182d81=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phB0I-00045m-0z
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 15:12:54 +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 010b01f9-cd7b-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 17:12:52 +0200 (CEST)
Received: from mail-bn1nam02lp2045.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 11:12:43 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SN4PR03MB6686.namprd03.prod.outlook.com (2603:10b6:806:21d::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.31; Tue, 28 Mar
 2023 15:12:41 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 15:12: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: 010b01f9-cd7b-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680016372;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=62CUmrKHz5/Yiu1/hglKt3oKSpLc7KQ+Dth9He2xVdg=;
  b=OBE31Gl39uOS8z7U6iaRemOkvW1teKK7ohaHtZ9bxeqxHcdS/L2hbSOB
   aEeKzjk++R6JRBjuexCBUwrA5U/2rCxICcwPxjW8/Vw3D4VMseY49B7EH
   PaLpuRIoxUHhhiUUFlJbOeox6jcmjHYB1DXQhxH3WLFu1DCWLYcdMskDr
   k=;
X-IronPort-RemoteIP: 104.47.51.45
X-IronPort-MID: 105791202
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:VXVWjqwPjL+YSTQ9C0l6t+cVxyrEfRIJ4+MujC+fZmUNrF6WrkUPm
 jcXCz2Aa67ZYWb8LthxYNuw9kgFv5Hcn4Q1HAQ/+CAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6AT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KXN/q
 toRFRUfVTCkp/3onLjrW/Rjxct2eaEHPKtH0p1h5RfwKK58BLrlGuDN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjGVkFEZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqjBd1DTefgrJaGhnW3yFMJBB8OZWHgqPeeyWSEB8xlD
 nQbr39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLL5y6JC25CSSROAPQ2uclzSTE02
 1uhm9LyGScpoLCTUWia9LqfsXW1Iyd9EIMZTSoNTA9A6d+6pog21kjLVow7TPPzicDpEzbtx
 TzMtDI5m7gYkc8M0eO84EzDhDWv4JPOS2bZ+znqY45s1SshDKbNWmBiwQGzASpoRGpBcmS8g
 Q==
IronPort-HdrOrdr: A9a23:2QU0067cjUQV9uDC9APXwDjXdLJyesId70hD6qkQc3Fom62j5q
 STdZEgvyMc5wx/ZJhNo7690cq7MBbhHPxOkOos1N6ZNWGLhILPFuBfBOPZqAEIcBeOlNK1u5
 0BT0EEMqyWMbB75/yKnDVREbwbsaa6GHbDv5ah859vJzsaGp2J921Ce2Cm+tUdfng9OXI+fq
 Dsn/Zvln6bVlk8SN+0PXUBV/irnay3qHq3CSR2fyLO8WO1/EiV1II=
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="105791202"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UHkXQozOopYkAzrRzyXTmgJgcXDZRdOI62EsNJZ5nEBbxduERU+8aYRRkRJy/36H22xqx0tPTpoyxKrMaOBOIrIfU3kUhyIFEIGzhuyYaVnrx+DEyi2sw9e6qTFwjuSn+wQ4iPjoV8fklXPriXyA11UgD7ZqR1kyhjDZVQ+bPTejHhmx58KIpUj9HUgd1zOCJRPZZznS3adu/Ufgf1CP1wBc6kCBSEOS/O8cxKkTmRdFZRCSuKcEJAWl72ijGvVpSWsB81dMnHC/ICi5mJCYK+SPDGuxaiCd/afsNZKJwAV6jTVxiw6kBfLDeVkx2lGG5Oc8GEawySMcNyPdB4kryw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=STKRbWgEKugg+vE+Eiy4QzTPIKFoFyR0NEe/djv8Pa0=;
 b=D3RtMtJLKb8s1pBjBOsz1VAaIfO1H5jH/StSU85T9zG5pna2c9xM4/1Tgh6cHBQzt2gE9q0Hw0TryZsufBO2njeURywV93oxnFzj5yQDTqJ7Y0X0opRJjFj3oozg2muFR3bgDiw+3S2W/iLBAB3ztK5wWyci2FdE/z5RFWrSNSbkurkIupFN7IQu0ch9Q+NVZJUguIopJGOyXLNjjHP4alqM13+Vp3rCdk3yVbZvn2qhQUt4VVYl85gEAxeyfIy4qLGuUuWncNGHvDvOMxmuiKFT/4xhyIJ8ZNp0zXJtmY5uYD76dno/KtBsiAnkqSvyFoLucfdYqT//waXNtAZ5Dg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=STKRbWgEKugg+vE+Eiy4QzTPIKFoFyR0NEe/djv8Pa0=;
 b=qrFokG889IjiBZACB8haVt5eURZJ8prSjJ0yMkhvP9Vqd0v47SbOOQnsQeTR/TbeAo1vIh+ZIM9eh6i0hZ4efk154rMoyG9FVXmvwgtHVayYgrPoK1wfCS4Az5X7ezpRwyxvq9oMj7BHrW4j3rNXNpx0SsQuMWz5kfgeN+cEzvI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <61f32d99-67b7-d7f9-db93-12105266a03f@citrix.com>
Date: Tue, 28 Mar 2023 16:12:35 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 4/5] x86/ucode: Cache results in microcode_scan_module()
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-5-andrew.cooper3@citrix.com>
 <8e86b93e-06c4-5998-5ec1-5543d357f960@suse.com>
In-Reply-To: <8e86b93e-06c4-5998-5ec1-5543d357f960@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0028.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:61::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SN4PR03MB6686:EE_
X-MS-Office365-Filtering-Correlation-Id: 20bf2d48-f82d-47c9-93e3-08db2f9edfaf
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gKp7eakp3VHy+/dblLYlXDPvr3PgL1ZK42BnNDuU30QcRuzTP1LXnWUC8Ue1VxhgIvLFBD1OXby9dTKkYLd0q9y99MO4AwPFn3K4g2z7w4ZbxofOo15u6rZMXdv2i+S6zc0Uf5TZP8/mCkcUrKZ12unvRqydZPYD+Xt2AGjCvJf7Eh/y+ECYV7MbDNy1G/CUD5dtbygoVxcihn+wvPVlQBDkQWMJs76XHrYlxhhvNakxj+80qAUktx6UneaJslfRYPyYAGhXHsVof+v/7n8J2o6oIv7nF7+BRcruR1Ue8uLYtp8wYDNTx20KFWAZWa9X5QyNqfnjq8fHyGWxwdbXUXN8zgRjfVsPE9r6uOJtsfx7B2mZrRwUocqWud9ARPILPXLPSiDkkFVBuOFZuCBST6o1buZPWiydlzsLavTkkyfTH8gf/Vhgbbj2gg0BJuz5yeSsmOEdcf2WHMxDDexwvha3YUbm3t6bwiY7haoso021yGuJha1XVrVsel851yFqq6K0fTEGYg7p4BsDr3QZL6HyHoh67sTkVYNFiONIlE4B4g+mlc+JpCxJZ/E5F7TaNsWuDDoy5tZFS7x+MOB7SYQcEXD097Hek31Zeg5OTbHWNcb8U4uUfJz3t0kEb8POJ0sATTKRvEVr+qr1jHe8ow==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(376002)(346002)(366004)(39860400002)(451199021)(6486002)(31686004)(31696002)(86362001)(36756003)(2906002)(66899021)(6666004)(478600001)(6512007)(2616005)(38100700002)(53546011)(4326008)(66946007)(6916009)(6506007)(8676002)(316002)(66476007)(186003)(66556008)(8936002)(26005)(54906003)(5660300002)(4744005)(41300700001)(82960400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WWdsYmtlNVplU05qbVdKY2pla1lRbnViUWR0K01RNkZwa1dLNU1TQ1ZEZk44?=
 =?utf-8?B?amJWQmhqWFBTUkFPaWJUckFXdHl0Q1NCRFpoc3ZyQ0JheFQzR0h4eXllbDB2?=
 =?utf-8?B?MVEyMzkyTE90bkd5ekt6SFZOTWE1M2loZnBzUU1lYzNFOTFYVThjRVUvVzhl?=
 =?utf-8?B?YVlKQXQwQUNlbmM1TlNDRlJVUkZjWE8walZLMlJNcWxLNGxmaVYxMUx3OGlB?=
 =?utf-8?B?bEZYbFRXOHBFRWlOazNSRWtSd3NIREpEOFZLaXB6TXhTcURzYWIrZHZzeHpu?=
 =?utf-8?B?Q3oyNmltZUdaMTFmWkFZazJtTkg1TlBWczc5RG42T3BPN1NFZ0dnblJsUE9t?=
 =?utf-8?B?dWV1b294cjlvRHFNSmxIVGFaeFI4QlgvMk02czF3SGMrNk5vdUlmY0RBZFB2?=
 =?utf-8?B?RXRnUEU3cUEzTzFKMVA3ditkR21kcjNQcDhBWjFhbFJvbmYrUjltc1VmY0NQ?=
 =?utf-8?B?TVE3MUxVVnM0cU1RQXNLTk1LUU9VVWpZVU1pL3JtMzJsQmNYOXdCamR4dFVo?=
 =?utf-8?B?VitaOUYyT1pSdy9WcFZIeUlNSUNUd2ZzYmVaWVhXWVVsYWxjZU5pZiticU1p?=
 =?utf-8?B?bE40NUtkY2dMS1RBanNaNWh1QmRjVTBFdHp1MUV2d2xkNVRoL05lUUpOMTd5?=
 =?utf-8?B?TUEzVHlGRjlXekxNZm85ZXhweGthN0c3cDNXMEpzVmRhbUxzYjBUTnVIdGpI?=
 =?utf-8?B?Wm1sRmM5b0dvcXBGMVdwRzQ1MjRqS0tBTG1DVzBhMnhDbXUvNDZxOThQVFJO?=
 =?utf-8?B?WjRRU2E0WmZ1V1VuY2E1U1YvMFNLTFdIeUtwNzQ5T2lrS1pNSTZjc3FNcWVC?=
 =?utf-8?B?VHRMRUNhUXZWVlJDTDFzTllvelV5ZWJpOVp0a0lxekhUUER6RGduTUJHZ0pV?=
 =?utf-8?B?azVMRHJCcGVhVXNXY1lsY0NwU3NoM0x0c3l3aUJKSHNMYURDSW9ZVWx2V1BJ?=
 =?utf-8?B?T01zdk9oWjNaNWFnQURyTEk0NTVSc1JTU3JrUTJCMW9hKy9WR3VTVTI5ZWNr?=
 =?utf-8?B?U2lGcktLRlZsMTkrbnlCUzYzNmFiQkVnb1JEU3FZaHFobkVKUVpGaU1TWCtV?=
 =?utf-8?B?Q09kaTIyT3JnY1VzRGdhQnpzdVlsN08xUDRWdHVjTm9FUWxWVTVPZy9oUW5U?=
 =?utf-8?B?OFZLYVhGc0RQcERPWERjalV4YjBhWS93Q3pRZkJXaTMrZXZpdzF2ZlY4Vys5?=
 =?utf-8?B?ek1JdkNVYXIyMmJOM29Hem9YVERkdms0eG5rdStYR2dIVmEwU1BJY2thajJ5?=
 =?utf-8?B?bTBqNjB4TFR0RVRZQytxYVhzNWhxaEJLOTUzU2tQdnFoSGVtQkJibktsZElX?=
 =?utf-8?B?OGpwakdiTCtUak1QbHg1MUdSY3hQQWdoL0xXakhpU2p3MXdTdTNvdzRIbGhO?=
 =?utf-8?B?RU81dmh6WUZ1bkF2S01kcHRGVVg0VHU0bVNwdExSdDh1VDduRmp0cUd2QlN0?=
 =?utf-8?B?NU0zUDJadlNnM2xnN0N4ZkVHdnNKaFg3aVB3blZ5S1JzT0Rwdjc5bjF2T3pr?=
 =?utf-8?B?dFJWNFRzclhKVWdxWGtKb3N2RmgvM1BPMCtyNWdrOERwSG5tejh3L1IyaUtP?=
 =?utf-8?B?VzNPQndjNWFadDVlS2NVOExJTFRMdU9Xd0pwNk9paVBvTTFxSzloOHZMeE9z?=
 =?utf-8?B?Rm1pNkRWbEhhYkNxUTlvYWE0REVjR2tVUWx1WFpra3RuQTdVeGMwcHpxUlhu?=
 =?utf-8?B?ZUR5a1B6YWU3L24xWm00WEpiQjZJU0JDK09YVFlhTlBORGhvQ3AyRFdFak12?=
 =?utf-8?B?NFRGN1l1V1ZnRmV2eUlhU3NDVkhkWUE2bm1ZUTdVREhFUE5lb2hnaURiZG02?=
 =?utf-8?B?cjVycW4rcFVSZFYxcUp0dzI4T2pHNXNrWVZaTVZCcjJrV1VhdUJJMjRSTStR?=
 =?utf-8?B?UklKTEJ6Q1BWcXhlN29Hc2xkVzlJeCtWTWc2MHNYL1lmVHpGRHlKSEROeTVx?=
 =?utf-8?B?NVJBMTE5RmRITTJyMnFzVVJtZGdkbUJ2VkFwR0xVVitiV2VqWEYzT3ZEYnRU?=
 =?utf-8?B?aHJCaEk2QUNMUkhTYTVkVWdZQTg3bUhnWkhJMWFwODl4NmkwNy9KVGxUQXB6?=
 =?utf-8?B?NzFlTDR4WjNncXhUZmRRb2FKZjg1bVU4VTVRWFhSNjJFZWlsVkFmTEQ4RTVI?=
 =?utf-8?B?ckNpUHVXbXlrNThGd2hPa3VCcklzZlJycXo4TithUy9uYXZ3S3pXT0JoWFBY?=
 =?utf-8?B?QXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	+dj3OyXv52OHUPaITV7cfjJsbewA74R/qlu0PEb/CFVZty6b3mSxcQfmDhjorq0UXXP30k/L5tHjPN4C+xtds76AwscwxllGJCa5tXokyWBCjmzsP8vjFLCP/M9+sCwnXt4rvmGbt/d8FYbNmvywMYEsZt4XZYF0DFWhE7cmuY/wjFuvdO3tBN0yRPVgKTbrpX6zkqIBoVg2OcECLGwiodznOjPv/5uemrLYHj16wioivhmltwxTzCvn4A9xhG/Lojcs8ZSWawrS7wYmmr9Wwf4qKghy1nOrzsC2UXkMpId3dgalkPkpNzQI8a/PqTumZXQPt422J2ZhQv6STACtkAXN4HToylvnNK6bteKQ3vzdcAZOdY+05CaW6rbWhiRK8nGiiaAdOGR4E6YgjMfrQog0yUKyghmmEKUGQvox0NdFpRpuIh8/KDdBrbZY1SI+4fAl4KKLgdaV1V0rPMofqpeToVgDJvb9HychIUqaNYykqGSphNXvYWjSl5KFPjqoHWGTlE2ya603NIKEKO+4HicyFg2NqFZ41LfdEzezWOwdttABtNqirKRaVtpqzmmGjfPblcaAhmhk5nCS2xG5bgt3A2MftAD1G+LTiz0tn7dpGfCwhj1qDQR0bQ0UAnOCg75U8I566zxX26xfyrMfXS/XhTwWTsmZaoKOKrRW6IuNvLl70gKkpcpY7PkDJTmLAABIRd3Co+E22s2Bb2YzSiVLrMW8Cr9Grkhm8XVM+25X5G8McezPMZYPWL6b8sTYL1dUvoZqUHseVGcKWtzdDjW/Ab3uvT5Th9NVj8UDb0QDEYdTeZd/xNxmNt4/1Ixp
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 20bf2d48-f82d-47c9-93e3-08db2f9edfaf
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 15:12:40.9838
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lYAAYYcEwL02H3DKLTfZGNQv9WWPwGF8wJZeY5cp6xB0/gERmUAOxs5iUrXVkfq1SgT5hFaj7kwwcTLf3GVnEVqsPNaFcoQitUCTdcHjTQw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN4PR03MB6686

On 28/03/2023 3:19 pm, Jan Beulich wrote:
> On 27.03.2023 21:41, Andrew Cooper wrote:
>> Right now, the boot flow depends on the second pass over
>> bootstrap_map()/find_cpio_data() altering ucode_blob.data to use the directmap
>> alias of the CPIO module, where previously it caches the early boostrap
>> mapping.
>>
>> If the scan is successful, it will be successful the second time too, but
>> there's no point repeating the work.  Cache the module index, offset and size
>> to short circuit things the second time around.
> If the scan failed, it will fail the 2nd time too. Maybe deal with
> this case as well, e.g. by clearing ucode_scan at the end of
> microcode_scan_module() when nothing was found?

See patch 5.  It can only become true then because of how the callers
are arranged.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 15:31:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 15:31:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515949.799350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phBIK-00072x-Va; Tue, 28 Mar 2023 15:31:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515949.799350; Tue, 28 Mar 2023 15:31: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 1phBIK-00072q-RX; Tue, 28 Mar 2023 15:31:32 +0000
Received: by outflank-mailman (input) for mailman id 515949;
 Tue, 28 Mar 2023 15:31: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=0K3v=7U=citrix.com=prvs=4442f050c=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phBIJ-00072k-UA
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 15:31:32 +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 9ad5047e-cd7d-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 17:31:28 +0200 (CEST)
Received: from mail-dm3nam02lp2045.outbound.protection.outlook.com (HELO
 NAM02-DM3-obe.outbound.protection.outlook.com) ([104.47.56.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 11:31:24 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SA2PR03MB5945.namprd03.prod.outlook.com (2603:10b6:806:11c::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 15:31:13 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Tue, 28 Mar 2023
 15:31: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: 9ad5047e-cd7d-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680017488;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=vVYYGMLZcNN3Bya6NFBdPpH1O24UqryU53E10iJDBww=;
  b=NLsIr031I63rT8XzqP3/Whe3LMaJy1aVYU5/3CKnDDgNk/OQxjiVYFsv
   9M3cSs019H6t6SNczs9/st9Li4IGJ9kZulAjW6qtwU86XiudOyhDtz40X
   Wtw0lerGw9m2pf5jeNnux3BAu3B68MoyJ4bzOXVD9Hv2E3jgWKdDYPZ2Y
   M=;
X-IronPort-RemoteIP: 104.47.56.45
X-IronPort-MID: 103291472
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:IhpuF61+UZKeNVrvLfbD5QRwkn2cJEfYwER7XKvMYLTBsI5bpzFUx
 mFNXD2Haa6NM2TxLo0lbduz8UME6p/WzIQ1QVQ+pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdkNagR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfG1lj0
 dk9C2A0YTum28KS5IiHTOxBiZF2RCXrFNt3VnBI6xj8VaxjbbWYBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvS6PkWSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03bWexH+kAur+EpXg3N5Omn2J7FdCJz1RUljqufeZl0uxDoc3x
 0s8v3BGQbIJ3EmiVNz0RRC7iH+CoB8HWtBUHvE66QeC0a7d6UCSAW1sZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluaISEIKUcSaClCShEKi/HhqowuihPETv54DbW4yNbyHFnY3
 DSivCU4wbIJgqY2O76T+FnGh3ego8PPRwttvAHPBDr5s0V+eZKvYJGu5R7D9/FcIY2FT16H+
 n8Zh8yZ6+NIBpaI/MCQfNgw8HiSz67tGFXhbZRHRcBJG+iFk5J7Qb1t3Q==
IronPort-HdrOrdr: A9a23:0wvQeaDbLMLCO4PlHehWsseALOsnbusQ8zAXPhhKOG9omwmj5r
 eTdPRy726OtN9jYgB1pTngAtjWfZq4z/VICOYqTMiftWXdyRKVxcRZnPvfKl7bamLDH4xmpN
 ldmsFFYbWbYTca7beckW+F+pQbsai6GciT9KbjJhxWPHtXgtRbnntE43GgYzBLrWd9dOIE/a
 6nl4p6jgvlVWUca8y6AnUffu7YutHHrpLpZhYaGwUq8k2rgSmz4LD3KgOf1BsFST9DqI1Skl
 TtokjU96+nu/G+xgT903bJ75NKsNH9yt1Fbfb87vQ9G3HBmwysbIRkV6ajuCkvoOazzV42nN
 7Hs34bTqFOwkKUUnC+pBPs3wX66S0p+m/GwUKVhnHyyPaJJg7SRvAxw76wvXPimgYdVHwW6s
 929lPck6ASIQLLnSz76dSNfxZ2lnCsqX5nvf8Pg2dZWY4+bqYUiYAE5ktaHLoJASq/sekcYb
 FTJfCZwMwTXUKRbnjfsGUq6NuwXk4rFhPDblketteT2z12mmk860cD3sQQkloJ6Zp4YZhZ4O
 bvNLhuidh1P5YrRJM4IN1Ebdq8C2TLTx6JGGWOIW7/HKVCAH7Jo46f2sR/2An/EqZn8LIC3L
 D6FH9Iv287fEzjTeeU2odQzxzLSGKhGRzw18B3/fFCy+zBbYuuFRfGZEElksOmrflaKNbcQe
 yPNJVfBOKmBXfyGLxOwxb1V/BpWCcjufUuy4YGsm+10572w8zRx7Hmmc/oVeDQ+OMfKzzC6n
 hqZkm6GCwP1DHkKyzFaN64YQKvRqW1x+MDLEHgxZlb9GDWXrc89zT9uW7JpP1jYQcyx5DeXH
 EOZI8PwZnL4lVfCw7znihU0u00NDce3F1mOEk68DPj5yjPAOQ+UpOkCDtvNHfrHG4Kcyr/Kn
 8om2hK
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="103291472"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MyIqLqwtoB8gaHF15YHzXFSCzohs4Cf12LbIgP1ajBs8mrhV4ugLMqK+zaccbnlnvjJk8WBeSZW99RgIRDX9VHDtUprmxkscbDWFDOKNbGBzhVhzbZsDv56QIB5HtiMcq1W/fTPIUrWtRZlLK7B9iqL3PvrV1mRz1za0ThCliaGygeh4pELQZo/ACyvBw7VP5W5Tk5I/HUM3G5nI3HMAoXGCE1Z0D/p1qHhMuE9JZ/hqsjlEz0OMlQj198jt/TMVVuTnLEPjVysvF6qFL+zbWX+IzJlyDpG86aN5Frr6Dh+/BUrX2bjifcukYw55Jz1uSpyU9XI4h6e29FPHUmsOcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fZlafUHjvj0NetsmAe4XBuVz19+xsy3QF5zg+Tv72Cw=;
 b=X3gDk6Yq9Ugea7CSRubYrZGPAsZEGTBxijg+lRq/HjDXAtQjr84cCkCNzx2WEKTCvnlS2NZkvAE1JiVmFCqSMogyYMe/KaS1yt3dj/m8EcCmieLICO2nECEcn/cLzaf3Kd4QhF0C6Oof7vJTvIRtMH5HtJfLyC5Y8DPc9XZGqfdE6e0hw2S9+jcXQ1LBE7M83sYgfDXHQG0/sO3d3BEZIfvWtd//znU7YQgYCN337u+ncoEqrjekpzV9c57W3fJ897iZ0KENThqwI6X+vwMKjMHi8BIPXxTqwQzA2Ucr2JzCc/5DONkqOgdA51WlKvSjIVwm/K1w3I42CAjpa4RigA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fZlafUHjvj0NetsmAe4XBuVz19+xsy3QF5zg+Tv72Cw=;
 b=rLSyP4geBw7JtzSpnQ2qcTCTeuTXP+8Tt+YDzqxNHpMuQSz3lORcqpINnk59YP6zb80RZ0WybpK9d9Rr2est3JtjfP6HsKhD2a2Dpu1cJbbVXkmPIONhEKoO1XzEgkKMvqzl+f8sMb9zcz7iB8bCCI/WlFGskkEzQgl9gk6s2kQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Tue, 28 Mar 2023 17:31:07 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: xen-devel@lists.xenproject.org, Paul Durrant <paul@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 1/2] x86/mm: add API for marking only part of a MMIO page
 read only
Message-ID: <ZCMIO7cv4CBRXffs@Air-de-Roger>
References: <cover.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
 <f5381e06d92cccf9756ad00fd77f82fba98a9d80.1679911575.git-series.marmarek@invisiblethingslab.com>
 <ZCLz/2QeoMVyOej8@Air-de-Roger>
 <ZCL+gCQrUc2lUf1A@mail-itl>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZCL+gCQrUc2lUf1A@mail-itl>
X-ClientProxiedBy: LO4P265CA0050.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ac::16) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SA2PR03MB5945:EE_
X-MS-Office365-Filtering-Correlation-Id: 2afc9c8d-ff48-4ee8-a64b-08db2fa17648
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UC2arYLCkabo7BA0TOPI1TbCfemnOvO+edywv0DVKyg9Nir2GRTn0kpaqV0f2lqmYg0+S5T9zoEfrtnIyoYNa5DKngNUZn15+ryzgFrXmNKvpQSX8f/Aim55OzBZfQQ/grUtxrJxr3lKm7JCIfBlrRlCITlO7N4AWYZa9alYVhdAvecdU7MQFz7K1xRBvzYq4cbIRgrz1unWFNPY89wlgdlR60GxYOvMfTc256ZmpqaJSY/QxP3HnxY7wNnRvXm91EKmbfBx3VBh8khr2H4CyEGpWrR3ltgBrWFqUgEMFn/frccrUBZl/vtoZZRQvhuoRPxJb/ZreMmJiRhGrEMcthpuKMBzlI10j9BSJ16hhRIcPPeQBOJx65xGPLRPdfHd587B6UYUoXM4e0Fvm6qNDzmX0zO4ZNIFITIOxJ9aHuZdHvA8Nk2XUxPZ0h3gNKlExUsU5aXwpXgT4A+0/eZpptSWTYWVCNBdYuwvx8EzyxgRvyb/xfHH/4Vsq3/hBgmj8m99cVSVDwzfdcAMv7BHnVUlj7qWq42R+LRzjcVoZHTVmX8HD49PbIslR+j5smHn
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(346002)(366004)(39860400002)(396003)(136003)(376002)(451199021)(54906003)(6486002)(6666004)(478600001)(8936002)(6506007)(9686003)(316002)(6512007)(26005)(66476007)(66946007)(6916009)(8676002)(4326008)(186003)(66556008)(41300700001)(82960400001)(5660300002)(2906002)(85182001)(33716001)(38100700002)(86362001)(83380400001)(30864003)(66574015);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b25UTmg5YlprWGRXejV0cXI5M09nMWRTc29NMkk5WGlGd0x1dmpYVFQ3NXFM?=
 =?utf-8?B?OFBaQ0J6Z0M3cWRjZkRXRWk3TGg5cktkL0pHa2pDZGVtRTdwb2p6U2w3OUJw?=
 =?utf-8?B?T3AwSHVHZnlLdVNzdXpXK01TMlVyTE94TnNrTm5qaVgrY2pRdlRvblFWYm5J?=
 =?utf-8?B?NnU2SVBSbTZZT0dQUmNZNnlOeFhxeEI1K3ZjdjZUN01QaXMySFVNK3grRHhS?=
 =?utf-8?B?OGUrNndyR2daczBiQ1h5ejBDQW50RkR3RnJJQjNDK25UUHZEUGZwRU85VXJT?=
 =?utf-8?B?b3UwTE1abVZoMDFvNVYrc2RUTFhlaExjRnFBbklxc0pEdW8rVVdhUFZvUkhv?=
 =?utf-8?B?QzVlRDJ1OWRRTEl2aEVtTWNPQ2ROOVk0R1FiWHBnc2NteTFHNWpmVndGUzhs?=
 =?utf-8?B?eEdGME9yY1lJZmNDcUV1dmljdHpjanJWUU01bk54SW40c1d4d3RYOHhSSjFC?=
 =?utf-8?B?UGptRnEyc0JSNllMeThmcWtvWm01QmZSQWU0VERvbURQZ0tsS201UUNRWUln?=
 =?utf-8?B?aGNxTWpzMlFxMU9zUUVBUklDTXRGWTJzalFWMmxUeC96ZnQ0UEtTaXRjOXpI?=
 =?utf-8?B?N2pleXFNL0gwdE9XbSt0dEZpZldzeVV2ZnRyTWlJRFNOZFZ1eU9ycE90VGla?=
 =?utf-8?B?YmZ6VmUwSC9TTzV2U0labzdHNExmNzhIOFcvS0NIcThkK0l1TndRV2NxNCtD?=
 =?utf-8?B?Sk13YVhmUzl4alJHcWZ2V2dpRFVuY2w2OGY1aG1VclZEblFYT3QwdzFlMWtO?=
 =?utf-8?B?M3FQeFdsdkJkbG9WWUlwZlVpK2kwRFNmVExKa2crak8zZ2ZIUW94dVlheTdT?=
 =?utf-8?B?dlJkTzVFTGJOMkRpUnV2MFFzNmp5ZjNKRUdtZlI2R1p0TzM4S3NhNEFYWkhp?=
 =?utf-8?B?ZzFHSmRsSnQvSmxEU2JRdUh4UGlNdEZuMkozbzRwZ2t1MExhYWxWcmpCdUJq?=
 =?utf-8?B?Z2FzWk5FYWdOaWVTQ2IyaVZ2Tkh5RUZ1dGozM1c4Y3gzRG9za0xUbGNRdlQy?=
 =?utf-8?B?cGdsOFowNzl3S1FZMXNueEpIdDhUczJJVVFhU003U2VXSjQwd212S0VQdjN6?=
 =?utf-8?B?eU9iMSsxQTVxVGk1SVJMdlRoaW5OcG1FUnFaRUpkZnZHVWdCTkdlanQzWWNi?=
 =?utf-8?B?dUFJdWJjc0poZmp2TFhkZ0JkOVFveVhkMGREcGFDNW42SExXMkJwQllacGpv?=
 =?utf-8?B?TWhodG5vVjlVeEpUTEViR2VzK2hxOHJ6a3FOTFB4MGZCZ1RGejlkVmdrRWxK?=
 =?utf-8?B?V0JsTmRKVktVcG4vdjBaNGFQSU5uOGt6UTI0Z09oR3ZIWndSOGtoTjk2MXlh?=
 =?utf-8?B?UURNNjJVN0JnRExkOUhEU1BnK2gwQjVHQXNRZlRBbzBySGdLVi9MY0l2Mjdj?=
 =?utf-8?B?TmN5dVBGRHA2T0NOU3hVWktBZWs5TCtqZFpiNTFYaDgxdDByaWFwdDlQYXZp?=
 =?utf-8?B?UjdhUTRpWXlrSTBkQ2hYMlEzM0tneW01U0NGTFN1NFJwYmVqcVhVN0lTWVRB?=
 =?utf-8?B?V2R3cy9sQzdwT0RWcnFUZ0ZrOGVBRG9ibW1wVDlZTVBQaElLOHoveWNXaUJz?=
 =?utf-8?B?dHFKalVSdUgvQUlrSjhWdXhFS0cxaFBPbVdHU0RqdzEyRHVWWDBrMTBUZWg0?=
 =?utf-8?B?NDhpL0FMd0M1QkEzQklwbHd5c1ZDelFQS2E3S09BbDArMVdVUVJOMHA5NTBy?=
 =?utf-8?B?ZXhiM0NLcWZBNE5uUjYwaTdRemhRUGJHUS9QUkIrb2Q0NUEzNmdzNm5GVHVW?=
 =?utf-8?B?WFRYTGZqZGR3OUJZZU5waVB0VEFEcUs1NHNpTzh5YTI4WEdRQWdxK0t2d0tU?=
 =?utf-8?B?VExlNmd0RTkxditUblVOWHM2Ui9IT2RqTjZuTFV3bTNiWktRenhoc29GR0RJ?=
 =?utf-8?B?cXNPeDVudVJCdjNVbzd5TWkwVjBCSE4vR3U5NkF6RzdmRkw3THBaaXFTNitv?=
 =?utf-8?B?cEdGQ0VyWHJqK0R5NE5EcTg3UTJ6WFVRRDVnQzU4YnIvbzJHVElwWWNOaG5r?=
 =?utf-8?B?aWw3TG0wL3QzZ1dlejdKZS9KaGJFR1RCeUhRaURiclRaWGlMaHkzdXdXR1ox?=
 =?utf-8?B?VGtLK2hDZWtsbGR3akgyclF2b1k1dnJWZy9Oc3Z4VytKa3NWVmY0Z2d4MXd4?=
 =?utf-8?Q?wHc+Jh27o5gi7UxopQZcZZQQV?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Ys5kMAeEuwn3bFLiNjI9my2bWhakdCOR09la8J/VEf1rcY6KbS43VVKbrWzDndwG5ktB0S4i860HrMlJ1BG/y6yHS5T6vKNN2e8BhjKcdvefAXocgMW3cHPN1PbucQDjbpG0jnatEXtsZNUDyvyYClX4GP+KAFJRIAeQyg1tDimssBFuGfytZ2iLH9Zj4lZiA9uOoXBPizuejg/LHmIaxrlB8Ucn0qvULTPsSKdeW5pnw/fUw8XbNxgPFUnvu36iwVFo1G5fO7nEf+oCG48Kw4DT0ywbZPnWg6gPLV5jvfupz36IaEJOx//UuemxpgbRyRPArbOSpxZSnlX7kiy007lKNv6ELnJJa4PPboZLQalgEMGiVWB0M/6T07THrj/Rmx2zFiyhVDG9G2diUBIV5pOBlXZN5FD1sQiUxq2aNfYh7rpsKp0bb94IP1qxMQJL4LlFuOs72GpHKBLKePzbSrRAJiCCkfCfV5wLunjCbzxxFGypWXRtCz8jWEsCc8DsS91GAReFGrz5sBPtWuUFxkoVqBnegozgt45FlX+G/Oisrrj/YXL+VMMkWqerWfJjTDufipJbXHDVNPydlztiNrl9KLzDbefnvdYKTTT1DDM2ZpChdZlkef/j0MZYNXE7oFnYD9/jPqBx0tuuLVj1SaDFLutXMSD3k7XwtjjN7zE8W0xS8NJ/tn7C9UiNedk8VYk/C+jT/uAvoU+jE+PhxJv2WMoXO0Lt9K9wm9PBnINxHG6EIfcM8c0hMErrMYFUmWfhRu1Wi+9y0s8LYfcFtmLqB2AthttIM5YFZug9bEF7AiGZ9/rnTErXxT7dt/fbVpZEbhgYLkF8n31tZtauByFYprwQ0svxwzi7iOPJvDDc7jUifAbkGC9I7ukp2SH1
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2afc9c8d-ff48-4ee8-a64b-08db2fa17648
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 15:31:12.7050
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DspoYBMnRWWLFRTB7FElvMDmUDBTlfw3D5hrcn5ghZbxPb2Pz2aPmO/Q39cHAH/dUk8H69Mn4FGhOe7v7XJXsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA2PR03MB5945

On Tue, Mar 28, 2023 at 04:49:36PM +0200, Marek Marczykowski-Górecki wrote:
> On Tue, Mar 28, 2023 at 04:04:47PM +0200, Roger Pau Monné wrote:
> > On Mon, Mar 27, 2023 at 12:09:15PM +0200, Marek Marczykowski-Górecki wrote:
> > > In some cases, only few registers on a page needs to be write-protected.
> > > Examples include USB3 console (64 bytes worth of registers) or MSI-X's
> > > PBA table (which doesn't need to span the whole table either).
> > > Current API allows only marking whole pages pages read-only, which
> > > sometimes may cover other registers that guest may need to write into.
> > > 
> > > Currently, when a guest tries to write to an MMIO page on the
> > > mmio_ro_ranges, it's either immediately crashed on EPT violation - if
> > > that's HVM, or if PV, it gets #PF. In case of Linux PV, if access was
> > > from userspace (like, /dev/mem), it will try to fixup by updating page
> > > tables (that Xen again will force to read-only) and will hit that #PF
> > > again (looping endlessly). Both behaviors are undesirable if guest could
> > > actually be allowed the write.
> > > 
> > > Introduce an API that allows marking part of a page read-only. Since
> > > sub-page permissions are not a thing in page tables, do this via
> > > emulation (or simply page fault handler for PV) that handles writes that
> > > are supposed to be allowed. Those writes require the page to be mapped
> > > to Xen, so subpage_mmio_ro_add() function takes fixmap index of the
> > > page. The page needs to be added to mmio_ro_ranges, first anyway.
> > > Sub-page ranges are stored using rangeset for each added page, and those
> > > pages are stored on a plain list (as there isn't supposed to be many
> > > pages needing this precise r/o control).
> > 
> > Since mmio_ro_ranges is x86 only, it is possible to mutate
> > it to track address ranges instead of page frames.  The current type
> > is unsigned long, so that should be fine, and would avoid having to
> > create a per-page rangeset to just track offsets.
> 
> I was thinking about it, but rangeset doesn't allow attaching extra data
> (fixmap index, or mapped address as you propose with ioremap()).
> Changing all the places where mmio_ro_ranges is used will be a bit
> tedious, but that isn't really a problem.

Yes, you would still need to keep a separate structure in order to
store the maps, a simple list that contains the physical mfn and the
virtual address where it's mapped would suffice I think.  That would
avoid creating a separate rangeset for each mfn that you need to
track.

> > > The mechanism this API is plugged in is slightly different for PV and
> > > HVM. For both paths, it's plugged into mmio_ro_emulated_write(). For PV,
> > > it's already called for #PF on read-only MMIO page. For HVM however, EPT
> > > violation on p2m_mmio_direct page results in a direct domain_crash().
> > > To reach mmio_ro_emulated_write(), change how write violations for
> > > p2m_mmio_direct are handled - specifically, treat them similar to
> > > p2m_ioreq_server. This makes relevant ioreq handler being called,
> > > that finally end up calling mmio_ro_emulated_write().
> > > Both of those paths need an MFN to which guest tried to write (to check
> > > which part of the page is supposed to be read-only, and where
> > > the page is mapped for writes). This information currently isn't
> > > available directly in mmio_ro_emulated_write(), but in both cases it is
> > > already resolved somewhere higher in the call tree. Pass it down to
> > > mmio_ro_emulated_write() via new mmio_ro_emulate_ctxt.mfn field.
> > > 
> > > Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> > > ---
> > > Shadow mode is not tested, but I don't expect it to work differently than
> > > HAP in areas related to this patch.
> > > The used locking should make it safe to use similar to mmio_ro_ranges,
> > > but frankly the only use (introduced in the next patch) could go without
> > > locking at all, as subpage_mmio_ro_add() is called only before any
> > > domain is constructed and subpage_mmio_ro_remove() is never called.
> > > ---
> > >  xen/arch/x86/hvm/emulate.c      |   2 +-
> > >  xen/arch/x86/hvm/hvm.c          |   3 +-
> > >  xen/arch/x86/include/asm/mm.h   |  22 ++++-
> > >  xen/arch/x86/mm.c               | 181 +++++++++++++++++++++++++++++++++-
> > >  xen/arch/x86/pv/ro-page-fault.c |   1 +-
> > >  5 files changed, 207 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
> > > index 95364deb1996..311102724dea 100644
> > > --- a/xen/arch/x86/hvm/emulate.c
> > > +++ b/xen/arch/x86/hvm/emulate.c
> > > @@ -2733,7 +2733,7 @@ int hvm_emulate_one_mmio(unsigned long mfn, unsigned long gla)
> > >          .write      = mmio_ro_emulated_write,
> > >          .validate   = hvmemul_validate,
> > >      };
> > > -    struct mmio_ro_emulate_ctxt mmio_ro_ctxt = { .cr2 = gla };
> > > +    struct mmio_ro_emulate_ctxt mmio_ro_ctxt = { .cr2 = gla, .mfn = _mfn(mfn) };
> > >      struct hvm_emulate_ctxt ctxt;
> > >      const struct x86_emulate_ops *ops;
> > >      unsigned int seg, bdf;
> > > diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> > > index d326fa1c0136..f1c928e3e4ee 100644
> > > --- a/xen/arch/x86/hvm/hvm.c
> > > +++ b/xen/arch/x86/hvm/hvm.c
> > > @@ -1942,7 +1942,8 @@ int hvm_hap_nested_page_fault(paddr_t gpa, unsigned long gla,
> > >       */
> > >      if ( (p2mt == p2m_mmio_dm) ||
> > >           (npfec.write_access &&
> > > -          (p2m_is_discard_write(p2mt) || (p2mt == p2m_ioreq_server))) )
> > > +          (p2m_is_discard_write(p2mt) || (p2mt == p2m_ioreq_server) ||
> > > +           p2mt == p2m_mmio_direct)) )
> > >      {
> > >          if ( !handle_mmio_with_translation(gla, gpa >> PAGE_SHIFT, npfec) )
> > >              hvm_inject_hw_exception(TRAP_gp_fault, 0);
> > > diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
> > > index db29e3e2059f..91937d556bac 100644
> > > --- a/xen/arch/x86/include/asm/mm.h
> > > +++ b/xen/arch/x86/include/asm/mm.h
> > > @@ -522,9 +522,31 @@ extern struct rangeset *mmio_ro_ranges;
> > >  void memguard_guard_stack(void *p);
> > >  void memguard_unguard_stack(void *p);
> > >  
> > > +/*
> > > + * Add more precise r/o marking for a MMIO page. Bytes range specified here
> > > + * will still be R/O, but the rest of the page (nor marked as R/O via another
> > > + * call) will have writes passed through. The write passthrough requires
> > > + * providing fixmap entry by the caller.
> > > + * Since multiple callers can mark different areas of the same page, they might
> > > + * provide different fixmap entries (although that's very unlikely in
> > > + * practice). Only the one provided by the first caller will be used. Return value
> > > + * indicates whether this fixmap entry will be used, or a different one
> > > + * provided earlier (in which case the caller might decide to release it).
> > 
> > Why not use ioremap() to map the page instead of requiring a fixmap
> > entry?
> 
> In all the cases this feature is used (for now), I do have a fixmap
> anyway. So, I don't need to worry if I can call ioremap() at that boot
> stage (I think it's okay in console_init_postirq(), but that may not
> be obvious in other places).

If we moved for a model where mmio_ro_ranges tracks at address
granularity I would suggest that the underlying addresses are only
mapped when there's a guest access to handle, so that we don't waste
fixmap entries for no reason.

> > > +        if ( !entry->ro_bytes )
> > > +            goto err_unlock;
> > > +    }
> > > +
> > > +    rc = rangeset_add_range(entry->ro_bytes, offset_s, offset_e);
> > > +    if ( rc < 0 )
> > > +        goto err_unlock;
> > > +
> > > +    if ( !iter )
> > > +        list_add_rcu(&entry->list, &subpage_ro_ranges);
> > > +
> > > +    spin_unlock(&subpage_ro_lock);
> > > +
> > > +    if ( !iter || entry->fixmap_idx == fixmap_idx )
> > > +        return 0;
> > > +    else
> > > +        return 1;
> > > +
> > > +err_unlock:
> > > +    spin_unlock(&subpage_ro_lock);
> > > +    if ( !iter )
> > > +    {
> > > +        if ( entry )
> > > +        {
> > > +            if ( entry->ro_bytes )
> > > +                rangeset_destroy(entry->ro_bytes);
> > > +            xfree(entry);
> > > +        }
> > > +    }
> > > +    return rc;
> > > +}
> > > +
> > > +static void subpage_mmio_ro_free(struct rcu_head *rcu)
> > > +{
> > > +    struct subpage_ro_range *entry = container_of(rcu, struct subpage_ro_range, rcu);

Overly long line.

Out of precaution I would also add an extra
ASSERT(rangeset_is_empty(entry->ro_bytes)) here.

> > > +
> > > +    if ( !rangeset_is_empty(entry->ro_bytes) )
> > > +        goto out_unlock;
> > > +
> > > +    list_del_rcu(&entry->list);
> > > +    call_rcu(&entry->rcu, subpage_mmio_ro_free);
> > > +
> > > +out_unlock:
> > > +    spin_unlock(&subpage_ro_lock);
> > > +    return rc;
> > > +}
> > > +
> > > +static void subpage_mmio_write_emulate(
> > > +    mfn_t mfn,
> > > +    unsigned long offset,
> > > +    void *data,
> > > +    unsigned int len)
> > > +{
> > > +    struct subpage_ro_range *entry;
> > 
> > const.
> > 
> > > +    void __iomem *addr;
> > 
> > Do we care about the access being aligned?
> 
> I don't think Xen cares about it when page is mapped R/W to the guest,
> so why should it care when it's partially R/W only?

It's kind of the same issue we have with adjacent MSIX accesses: we
don't really know whether the device might choke on unaligned accesses
and generate some kind of exception that results in a NMI to the CPU.
Handling those it's likely more feasible if they happen in guest
context, rather than Xen context.

> > 
> > > +
> > > +    rcu_read_lock(&subpage_ro_rcu);
> > > +
> > > +    list_for_each_entry_rcu( entry, &subpage_ro_ranges, list )
> > > +    {
> > > +        if ( mfn_eq(entry->mfn, mfn) )
> > > +        {
> > 
> > You need to take the spinlock at this point, since the contents of
> > entry->ro_bytes are not protected by the RCU.  The RCU only provides
> > safe iteration over the list, but not the content of the elements on
> > the list.
> 
> mfn is not supposed to change ever on the specific list element, and
> IIUC, rangeset does locking itself. Am I missing something?

Oh, sorry, it was me being wrong, I didn't recall and didn't check that
rangesets do have internal locking.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 15:35:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 15:35:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515954.799359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phBLZ-0007gq-I6; Tue, 28 Mar 2023 15:34:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515954.799359; Tue, 28 Mar 2023 15: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 1phBLZ-0007gj-FP; Tue, 28 Mar 2023 15:34:53 +0000
Received: by outflank-mailman (input) for mailman id 515954;
 Tue, 28 Mar 2023 15:34: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phBLX-0007gd-J5
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 15:34:51 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on061f.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 13782917-cd7e-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 17:34:50 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AM0PR04MB7108.eurprd04.prod.outlook.com (2603:10a6:208:19e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 15:34:46 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 15:34:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13782917-cd7e-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y2SSe1V+NQAlXNcNOTFDzMkSfzeBDqD+Tm2FrI8oDbQYycesrYLabH2Mwvlp2hSNbLEbqgsSqdObqEMuAiApajLR0Awk59NJsPK8rEEfeU2DAUjjKtbbqI5xOpWeqQQGsrOJL+QFYaWaKSF/jG8iZUcgBgjSUJJ/GmR6Ogc9fuqGRuZHNpv63VVvNovl7QMfJ+QKJyHvw9cMtXPu0QHjiFg/hoM/nHeCGD/01aFsdGC/jXK58fZZazbWCy7XTymg6Wolq3yM4yZ067OuvMpGb0Ne8ojjgjGj4sOKX3EoJfsC0RPQ6AAFxeP0pPGRWdy7CxiQMszGObvefXcRjiI/Vw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sAjNoidCv6+NrE51YETuS9refmykrqxDPyRgNKFbHsU=;
 b=WS2niqD2vCUCZ68e459tfiGv90ijr3NE+LQ44F9tgiC7O5stIHRCWvs6K/U2MPSNndwPIqeyHoKLyJ4VNOujnjRI/tnDv7wGx3R3SQzcKMIxMmyaOGKz9YoHwKH9Fh/8rJ+qfmfYjztmrWETkFZ7ZNkwQfuh25iOOYJa4Z35mq7nZnueGhgORXMMbHoPDjCJDWMte6VdlBOAVWDXelBCLlRAaKdySvi/kHC+LO9Nx2MAq4+fKSZnoK/eYLaZwfdS3eVan6fCENdSqfTQGnyzc42RXe5912tdf5pPQ0SzxJ1H7YB4mVdnQGRf68GGbxUNtyPvokAer8f1dyI9jTmpSQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sAjNoidCv6+NrE51YETuS9refmykrqxDPyRgNKFbHsU=;
 b=q++WwExwsieK3n7pxzboeCsLxxHcFC05WTSPoUfg8kkgWf5sE7mhb69uHeROO7pGVz3naDOXS4EnLzfYMLA7XHTd+2MtGiSnrMkN9UVjLyRG2pvqFrL9ksVPU2RRFyd1QDjtzTOngNbMMavzfuFbBrBsxYUl6NShW1lthAHePsy71AC2fBm7mNLaSALS9/2bHLxq3DXjJT9yVhAXy7Qd/7j9iO57fm+Mz0+Zc/iQxR3XzySEa8JzkbG2BDyaaKJizQ1d9v9fH4J4pYcuBwk7gqOX84X6h9B47wAi7SPvGsKeBGKFouvEHXD9UXwUU9awqg+H5KfSOe6gFWFJa8QK8g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0a16b79e-8292-6947-24d4-dd027113943f@suse.com>
Date: Tue, 28 Mar 2023 17:34:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v3 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1679934166.git.oleksii.kurochko@gmail.com>
 <93da6ba381604748e2c71e2ebd35e80798ec4bb2.1679934166.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <93da6ba381604748e2c71e2ebd35e80798ec4bb2.1679934166.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0192.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::16) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AM0PR04MB7108:EE_
X-MS-Office365-Filtering-Correlation-Id: 38fac045-2c9b-4d3a-d006-08db2fa1f535
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OAswwHUOEWhjfdR8V0WYFRMcjU6Bz8Jlo8L3yJeO3AEYpQ243ddioX4FTIvYygfUH711Ltv1FHz1VNjAc+Y0rqWRqUWt+50HuuZ9dZkgwlWlgB+S6PhPO8CQVonrcm3aJvRsGw5D/SmaRgB6TLPd+izMOvePtEk+y+6Bv/mMJOuRpjiJVRfStluqWTaPt6zRPzj6nPMM7yI9X3VbWyPyGQtlGk19oGoXEEH4prEnQnAbEZFb8nzKGFULFvXwGzOrezxHne5sc7FynIPREjKmCWX1GYadOCeKz+T/ShyeGtn8eK6dplbMdfnuCeo2me7fFQ7a44YWiP0giqhFAuv5cLJmPNsMTy/Okr1GPuDMYQp1+loO+s9rMMSXncK22j2/rePgBblrIYINrliBPw+0xORJ9JQSilCD/qc05RkMUaQUvQqOuNchGoLiPj7LSIv4pj9m+/Hf8seWM2+CNiLLG0iVW20DL2nJ0EzoxQJz2xUotC0jybParYM/OsxuRcePx+SPodJX1ZRzakb3b4RGaEuhfjL4QuUgC3wHVTg60wRluPKK2Vc7/+yWhJJAtuCiPKBvF9BNKr5wx533m7THcg2tWnTmGbQXDRHoq019C9rVh5W47Tm3w1pwCSoJIWCb3B2bpzr0phWwMnCe73YoRw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(39860400002)(366004)(136003)(451199021)(5660300002)(38100700002)(8936002)(54906003)(316002)(86362001)(6916009)(66946007)(66476007)(8676002)(66556008)(41300700001)(30864003)(4326008)(2906002)(478600001)(31686004)(83380400001)(6486002)(2616005)(31696002)(6512007)(6506007)(186003)(26005)(53546011)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VXF3UGRpZm1GbHEzNFpPYVNlTDE2MThMOXNxR29tMkowM2RGdmk3RzhmZmdm?=
 =?utf-8?B?Yk9SV3Y2djBWbGNGWXNldmJGdzR4clArTWRkdVg0VjVNcUZDRkRhOFVqOFk0?=
 =?utf-8?B?Wjc0QlRualRKRTBSTm9XRnJiMFlhMVFLdjllSmlGYndlSkxvYVp0VGhSTTNU?=
 =?utf-8?B?UVY5S3FXK2JrLzlQbzVLOFQ5dzBrZlpvNU84R3IwbVZCRzZ2LzJNb2dxbU96?=
 =?utf-8?B?TWR0TmNqUGpWNkhUd243QXZCS1E0bEpjVFR6eU5MNHZIN0dZNTFZMVUrOGdN?=
 =?utf-8?B?NWV4amxxTkFhbDJwY3JsY1VobnNpY0xXcnQ3c25nekdBdTlXbm4xZHVrTUlJ?=
 =?utf-8?B?amp4cW9aZ28vN3ozWGh1Tk8yemdLbGJyZWNFQ0Fld1BsZERmVUxJNzZTRDR6?=
 =?utf-8?B?K050TFhLWXEyQVFrcVBhUzZOVzlZeVh4TUtwa05YSWpTcnN4TnU5Wmw0ZGRl?=
 =?utf-8?B?RCsvZUZrZHE3STlrT0E4ZnlSODROdU9iNTVvaVhsVXFMQVJDMHc1M0o3NHN5?=
 =?utf-8?B?UlJ2SUFjbzFVTndncHc2dU5TMTg0Z29EUHpMQmZHY2NLOWpWYXNBYnlWTUJ2?=
 =?utf-8?B?YXE5RXR0RmhMVkxjU3VHL3ZyQXZuQWZ0cG5iU2J3N0gzNmVVaGN1eGJqNmpJ?=
 =?utf-8?B?b014SExsYjAweWdEU05MWDVDNXhRY1o4S1Y0TS84S1JITUwvK1VPdEFGS0tP?=
 =?utf-8?B?TGRVajlEbmp6eVljNS9lQVk4Q0Q3M1ZmRmRuUWJRVW9XSjVUdkxxNmlDNHZn?=
 =?utf-8?B?eThuQUMwK2VWOHhaVFRBaExIRFl0SXNicXlHZ1lUYW5YbHBhV3JIZk9Od3F5?=
 =?utf-8?B?VHo3UjNLbjYwYWpoRU1lQVhIaXV4QVdPSG1uMVZEaExpSk9wU2xJTk0xcUZL?=
 =?utf-8?B?b2Q2UGpiVU5XRWFjL1FUQm9na0tnN1FmbUoyUC9Id3hLaXdMb2hlYVUwajdR?=
 =?utf-8?B?cDBiVmVsd0VPRmVVdkJjZjVTUFVwODhDdHovVjFnU0hYUnlZcE9ZWDhtaTJ4?=
 =?utf-8?B?R1BXdEdkY3dPazVIa01DL2tQSzdRR3RZdGEwVlkvR0pla1Joa245MktPWlpJ?=
 =?utf-8?B?YVBxVlAzekw0VE9yZDcvV0N6Q1RkYU13WFc0ZElPNElNeFBxM3FQV1lWNDhE?=
 =?utf-8?B?THo5SUlPTEtwcUhaWGhWTmx3aXRpT2lldnlIRTk1bmF4QWtrSGQxZm5ZaVBM?=
 =?utf-8?B?ZkFHcit0SVBmT1o4MXArQjQ1WjN2enVqV1NhekdvaCtTUC9Uam5WYXJ2cStN?=
 =?utf-8?B?Tjc1TU1YQnU1R2cyNG1rTjdSdXZsVHJQS2lvQi9nNTNrbCt6YUxjVTI4K0lJ?=
 =?utf-8?B?Wmwxd2dvd3RodDhXaXpUTkVVQWl1WlJhZDZ5QWJmcWg1V2lmL2JjOW5PWCtr?=
 =?utf-8?B?MDMwY1Qrak44RjR0VTlzSy9oZ3IrY2lqV3VobHNYaCtCZ09TWkZWYXVGMTUz?=
 =?utf-8?B?WGJhZGxKbnZUdDg4UGN0Slc0SmV1Z0FHNEhtaE5Sc2QzcmFxTXhQSU03YmhU?=
 =?utf-8?B?RkVmWWFkQjJLN0lBa3JXSzU4c0ZUMmpXTHBIUTJpQkk2Y2Q3d3Y2MU9NYUJh?=
 =?utf-8?B?Qzc0dHFkWENjYVhvNzE2Y2hUeGVTR0k5TGJjSC9BS3dlYWRjNHU3MmF1M2tu?=
 =?utf-8?B?Y3dTbFg0bFN3Z0hDb0RPcGRsOGZ6R1VmSEdyaVZTMjM1dzlPNzQ5ZS9sdmhq?=
 =?utf-8?B?MERuWklHVXoyWTAwa2ZOb2hjdHNtOVFxSjdNZzR5RHlNaEk3ZnljMlIvNEVW?=
 =?utf-8?B?TjE2NFhrUXJJcEp1Qnh3OTV6RmY2K09kMVRlNUtRdkU4MVoxWk1NZTF2UWJJ?=
 =?utf-8?B?d3hLRmtJR2VHUGlzVWFBbUVLdmdYc21RWWNFcU1XU1JGcjZlcC9nZHdvWTgw?=
 =?utf-8?B?cno3TUpoa3U5d2s3Ny9HTTIzNnRna040VWNoWFNGVldUQmNzN3BCeklReG1M?=
 =?utf-8?B?MS9kS20rdC9RVFFXQjhFMm5HdFFQWEFERXRqckFpSFJzS2U1WG0vTGlCL1pm?=
 =?utf-8?B?K2pjZ3dNUjJpbVljZi8vZGNIbFhNM1VNV2tsdVBCYXVKZE9HdWxqL0lraXQ2?=
 =?utf-8?B?ZVdmanpiaWZ1cVFacWlXUndHSERqblUxOGYrVVN1cURFWkt3bGNQRnA2cUUr?=
 =?utf-8?Q?0yR4I/KN0HoF8myKhyQxsXFMw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 38fac045-2c9b-4d3a-d006-08db2fa1f535
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 15:34:45.4593
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HQALHL2YKizcMyDtBYd72T65i3oFf8N2v3Ncqcouis6GameQ7/SAiJix95J5SKTRiMBZQMQfE+6H9HDkLCfJSw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7108

On 27.03.2023 19:17, Oleksii Kurochko wrote:
> --- a/xen/arch/riscv/include/asm/config.h
> +++ b/xen/arch/riscv/include/asm/config.h
> @@ -39,12 +39,25 @@
>    name:
>  #endif
>  
> -#define XEN_VIRT_START  _AT(UL, 0x80200000)
> +#define ADDRESS_SPACE_END (_AC(-1, UL))
> +#define SZ_1G             0x40000000

No need for this - please use GB(1) (see xen/config.h) in its stead.

> +#ifdef CONFIG_RISCV_64
> +#define XEN_VIRT_START    (ADDRESS_SPACE_END - SZ_1G + 1)

I first thought the " + 1" would be rendering the address misaligned.
May I suggest (ADDRESS_SPACE_END + 1 - SZ_1G) to help avoiding this
impression?

> +#else
> +#error "RV32 isn't supported"asm

Stray "asm" at the end of the line.

> --- /dev/null
> +++ b/xen/arch/riscv/include/asm/page.h
> @@ -0,0 +1,62 @@
> +#ifndef _ASM_RISCV_PAGE_H
> +#define _ASM_RISCV_PAGE_H
> +
> +#include <xen/const.h>
> +#include <xen/types.h>
> +
> +#define VPN_MASK                    ((unsigned long)(PAGETABLE_ENTRIES - 1))
> +
> +#define XEN_PT_LEVEL_ORDER(lvl)     ((lvl) * PAGETABLE_ORDER)
> +#define XEN_PT_LEVEL_SHIFT(lvl)     (XEN_PT_LEVEL_ORDER(lvl) + PAGE_SHIFT)
> +#define XEN_PT_LEVEL_SIZE(lvl)      (_AT(paddr_t, 1) << XEN_PT_LEVEL_SHIFT(lvl))
> +#define XEN_PT_LEVEL_MAP_MASK(lvl)  (~(XEN_PT_LEVEL_SIZE(lvl) - 1))
> +#define XEN_PT_LEVEL_MASK(lvl)      (VPN_MASK << XEN_PT_LEVEL_SHIFT(lvl))
> +
> +#define PTE_VALID                   BIT(0, UL)
> +#define PTE_READABLE                BIT(1, UL)
> +#define PTE_WRITABLE                BIT(2, UL)
> +#define PTE_EXECUTABLE              BIT(3, UL)
> +#define PTE_USER                    BIT(4, UL)
> +#define PTE_GLOBAL                  BIT(5, UL)
> +#define PTE_ACCESSED                BIT(6, UL)
> +#define PTE_DIRTY                   BIT(7, UL)
> +#define PTE_RSW                     (BIT(8, UL) | BIT(9, UL))
> +
> +#define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
> +#define PTE_TABLE                   (PTE_VALID)
> +
> +/* Calculate the offsets into the pagetables for a given VA */
> +#define pt_linear_offset(lvl, va)   ((va) >> XEN_PT_LEVEL_SHIFT(lvl))
> +
> +#define pt_index(lvl, va) pt_linear_offset(lvl, (va) & XEN_PT_LEVEL_MASK(lvl))
> +
> +#ifdef CONFIG_RISCV_64
> +typedef uint64_t pte_t;
> +#else
> +typedef uint32_t pte_t;
> +#endif

Are you sure you don't want to encapsulate these in a struct, for type
safety purposes?

> +#define addr_to_pte(x) (((x) >> PTE_PPN_SHIFT) << PAGE_SHIFT)

This looking like the inverse of ...

> +/* Shift the VPN[x] or PPN[x] fields of a virtual or physical address
> + * to become the shifted PPN[x] fields of a page table entry */
> +#define addr_to_ppn(x) (((x) >> PAGE_SHIFT) << PTE_PPN_SHIFT)

... this, does that one want to be called "ppn_to_addr()"? Otherwise I
can't see how name an operation fit together.

> +static inline pte_t paddr_to_pte(const unsigned long paddr,

paddr_t?

> +                                 const unsigned long permissions)
> +{
> +    pte_t tmp = (pte_t)addr_to_ppn(paddr);
> +    return tmp | permissions;
> +}
> +
> +static inline pte_t pte_to_paddr(const unsigned long paddr)

A function of this name wants to take pte_t as parameter and return
paddr_t (note the type safety remark higher up, as it becomes relevant
right here). It also hardly can be implemented ...

> +{
> +    return (pte_t)addr_to_pte(paddr);

... in terms of a function/macro with effectively the opposite name.

> --- /dev/null
> +++ b/xen/arch/riscv/mm.c
> @@ -0,0 +1,277 @@
> +#include <xen/init.h>
> +#include <xen/kernel.h>
> +
> +#include <asm/early_printk.h>
> +#include <asm/config.h>
> +#include <asm/csr.h>
> +#include <asm/mm.h>
> +#include <asm/page.h>
> +#include <asm/processor.h>
> +
> +#define PGTBL_INITIAL_COUNT 8

What does this magic number derive from? (A comment may help.)

> +#define PGTBL_ENTRY_AMOUNT  (PAGE_SIZE/sizeof(pte_t))

Nit: Style (blanks around binary operators).

> +struct mmu_desc {
> +    unsigned long num_levels;
> +    uint32_t pgtbl_count;

Nit: Style (as before please avoid fixed width types when their use
isn't really warranted; afaics unsigned int will do fine here and
elsewhere below).

> +    pte_t *next_pgtbl;
> +    pte_t *pgtbl_base;
> +};
> +
> +extern unsigned long __bss_start[];
> +extern unsigned long __bss_end[];

Why are these being added here? They aren't being used afaics.

> +extern unsigned char cpu0_boot_stack[STACK_SIZE];
> +
> +#define PHYS_OFFSET ((unsigned long)_start - XEN_VIRT_START)
> +#define LOAD_TO_LINK(addr) ((addr) - PHYS_OFFSET)
> +#define LINK_TO_LOAD(addr) ((addr) + PHYS_OFFSET)
> +
> +pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
> +stage1_pgtbl_root[PGTBL_ENTRY_AMOUNT];
> +
> +pte_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
> +stage1_pgtbl_nonroot[PGTBL_INITIAL_COUNT * PGTBL_ENTRY_AMOUNT];
> +
> +#define HANDLE_PGTBL()                                                      \
> +    index =  pt_index(curr_lvl_num, page_addr);                             \

Nit: Style (stray double blanks).

> +    if ( pte_is_valid(pgtbl[index]) ) {                                     \

Nit: Style (brace placement throughout the macro - in really small
macros the way you have it may be okay as an exception, but this macro
isn't small).

> +        /* Find L{ 0-3 } table */                                           \
> +        pgtbl = (pte_t *)pte_to_paddr(pgtbl[index]);                        \
> +    } else {                                                                \
> +        /* Allocate new L{0-3} page table */                                \
> +        if ( mmu_desc->pgtbl_count == PGTBL_INITIAL_COUNT ) {               \
> +            early_printk("(XEN) No initial table available\n");             \
> +            /* panic(), BUG() or ASSERT() aren't ready now. */              \
> +            die();                                                          \
> +        }                                                                   \
> +        mmu_desc->pgtbl_count++;                                            \
> +        pgtbl[index] = paddr_to_pte((unsigned long)mmu_desc->next_pgtbl,    \
> +                                    PTE_VALID);                             \
> +        pgtbl = mmu_desc->next_pgtbl;                                       \
> +        mmu_desc->next_pgtbl += PGTBL_ENTRY_AMOUNT;                         \
> +    }
> +
> +static void __init setup_initial_mapping(struct mmu_desc *mmu_desc,
> +                                  unsigned long map_start,
> +                                  unsigned long map_end,
> +                                  unsigned long pa_start,
> +                                  unsigned long permission)

Nit: Style (indentation, and it feels like I commented on this before).

> +{
> +    uint32_t index;
> +    pte_t *pgtbl;
> +    unsigned long page_addr;
> +    unsigned int curr_lvl_num;
> +    pte_t pte_to_be_written;
> +    unsigned long paddr;
> +
> +    if ( (unsigned long)_start % XEN_PT_LEVEL_SIZE(0) ) {

Nit: Style (brace placement).

> +        early_printk("(XEN) Xen should be loaded at 4k boundary\n");
> +        die();
> +    }
> +
> +    if ( map_start & ~XEN_PT_LEVEL_MAP_MASK(0) ||
> +        pa_start & ~XEN_PT_LEVEL_MAP_MASK(0) ) {

Nit: Style (indentation and brace placement; more below).

> +        early_printk("(XEN) map and pa start addresses should be aligned\n");
> +        /* panic(), BUG() or ASSERT() aren't ready now. */
> +        die();
> +    }
> +
> +    page_addr = map_start;
> +    while ( page_addr < map_end ) {
> +        pgtbl = mmu_desc->pgtbl_base;
> +
> +        switch (mmu_desc->num_levels)
> +        {
> +        case 4: /* Level 3 */
> +            curr_lvl_num = 3;
> +            HANDLE_PGTBL();
> +        case 3: /* Level 2 */
> +            curr_lvl_num = 2;
> +            HANDLE_PGTBL();
> +        case 2: /* Level 1 */
> +            curr_lvl_num = 1;
> +            HANDLE_PGTBL();

Am I getting it right that curr_lvl_num solely exists to pass a parameter
to the macro? If so, why doesn't the macro take an appropriate parameter
instead?

> +        case 1: /* Level 0 */
> +            index = pt_index(0, page_addr);
> +            paddr = (page_addr - map_start) + pa_start;
> +            pte_to_be_written = paddr_to_pte(paddr, permission);
> +
> +            if ( !pte_is_valid(pgtbl[index]) )
> +                pgtbl[index] = pte_to_be_written;
> +            else {
> +                /*
> +                 * get an adresses of current pte and that one to
> +                 * be written without permission flags
> +                 */
> +                unsigned long curr_pte =
> +                    (unsigned long)&pgtbl[index] & (PTE_PPN_SHIFT - 1);
> +                pte_to_be_written &= (PTE_PPN_SHIFT - 1);
> +
> +                if ( curr_pte != pte_to_be_written ) {
> +                    early_printk("PTE that is intended to write isn't the \
> +                                 same that the once are overwriting\n");

Iirc there are compilers which warn about line continuation characters
inside a string literal. Since adjacent string literals are concatenated
by the compiler anyway, you'll find elsewhere we have the equivalent of

                    early_printk("PTE that is intended to write isn't the"
                                 " same that the once are overwriting\n");

This will also avoid an excessive number of blanks in the middle of the
string.

> +                    /* panic(), <asm/bug.h> aren't ready now. */
> +                    die();
> +                }
> +            }
> +        }
> +
> +        /* Point to next page */
> +        page_addr += XEN_PT_LEVEL_SIZE(0);
> +    }
> +}
> +
> +static void __init calc_pgtbl_lvls_num(struct  mmu_desc *mmu_desc)
> +{
> +    unsigned long satp_mode = RV_STAGE1_MODE;
> +
> +    /* Number of page table levels */
> +    switch (satp_mode) {

Nit: Style (missing blanks and brace placement).

> +    case SATP_MODE_SV32:
> +        mmu_desc->num_levels = 2;
> +        break;
> +    case SATP_MODE_SV39:
> +        mmu_desc->num_levels = 3;
> +        break;
> +    case SATP_MODE_SV48:
> +        mmu_desc->num_levels = 4;
> +        break;
> +    default:
> +        early_printk("(XEN) Unsupported SATP_MODE\n");
> +        while (1);

die() (until you have panic()) like above?

> +    }
> +}
> +
> +static void __init setup_ptes_permission(struct mmu_desc *mmu_desc)
> +{
> +    pte_t *pgtbl;
> +    uint32_t index;
> +    uint32_t permissions = PTE_VALID;
> +    unsigned long start = LOAD_TO_LINK((unsigned long)_start);
> +    unsigned long end   = LOAD_TO_LINK((unsigned long)_end);
> +
> +    while ( start < end )
> +    {
> +        pgtbl = (pte_t *) mmu_desc->pgtbl_base;

Nit: Style (extra blank after closing parenthesis). But afaict you don't
need a case here in the first place; as said before, please avoid casts
whenever possible.

> +        switch (mmu_desc->num_levels)

Nit: Style (Missing blanks).

> +        {
> +        case 4: /* find Level 3 page table*/
> +            index = pt_index(3, start);
> +            pgtbl = (pte_t *)pte_to_paddr(pgtbl[index]);
> +        case 3: /* find level 2 page table */
> +            index = pt_index(2, start);
> +            pgtbl = (pte_t *)pte_to_paddr(pgtbl[index]);
> +        case 2: /* find level 1 page table */
> +            index = pt_index(1, start);
> +            pgtbl = (pte_t *)pte_to_paddr(pgtbl[index]);
> +        case 1: /* find level 0 page table */
> +            index = pt_index(0, start);
> +
> +            if ( is_kernel_text(LINK_TO_LOAD(start)) ||
> +                 is_kernel_inittext(LINK_TO_LOAD(start)) )
> +                permissions |= PTE_EXECUTABLE | PTE_READABLE;
> +
> +            if ( is_kernel_rodata(LINK_TO_LOAD(start)) )
> +                permissions |= PTE_READABLE;
> +
> +            pgtbl[index] |= permissions;

setup_initial_mapping() has installed R/W mappings. Hence ORing in
PTE_READABLE is meaningless here, and neither .text nor .rodata
will end up write-protected. The question is ...

> +        }
> +
> +        start += PAGE_SIZE;
> +    }
> +}
> +
> +/*
> + * setup_initial_pagetables:
> + *
> + * Build the page tables for Xen that map the following:
> + *  1. Calculate page table's level numbers.
> + *  2. Init mmu description structure.
> + *  3. Check that linker addresses range doesn't overlap
> + *     with load addresses range
> + *  4. Map all linker addresses and load addresses ( it shouldn't
> + *     be 1:1 mapped and will be 1:1 mapped only in case if
> + *     linker address is equal to load address ) with
> + *     RW permissions by default.
> + *  5. Setup proper PTE permissions for each section.
> + */
> +void __init setup_initial_pagetables(void)
> +{
> +    struct mmu_desc mmu_desc = { 0, 0, NULL, 0 };
> +
> +    /*
> +     * Access to _{stard, end } is always PC-relative
> +     * thereby when access them we will get load adresses
> +     * of start and end of Xen
> +     * To get linker addresses LOAD_TO_LINK() is required
> +     * to use
> +     */
> +    unsigned long load_start    = (unsigned long)_start;
> +    unsigned long load_end      = (unsigned long)_end;
> +    unsigned long linker_start  = LOAD_TO_LINK(load_start);
> +    unsigned long linker_end    = LOAD_TO_LINK(load_end);
> +
> +    if ( (linker_start != load_start) &&
> +         (linker_start <= load_end) && (load_start <= linker_end) ) {
> +        early_printk("(XEN) linker and load address ranges overlap\n");
> +        die();
> +    }
> +
> +    calc_pgtbl_lvls_num(&mmu_desc);
> +
> +    mmu_desc.pgtbl_base = stage1_pgtbl_root;
> +    mmu_desc.next_pgtbl = stage1_pgtbl_nonroot;
> +
> +    setup_initial_mapping(&mmu_desc,
> +                          linker_start,
> +                          linker_end,
> +                          load_start,
> +                          PTE_LEAF_DEFAULT);
> +
> +    setup_ptes_permission(&mmu_desc);

...: Why does this require a 2nd pass / function in the first place?

> +}
> +
> +void __init enable_mmu()
> +{
> +    /*
> +     * Calculate a linker time address of the mmu_is_enabled
> +     * label and update CSR_STVEC with it.
> +     * MMU is configured in a way where linker addresses are mapped
> +     * on load addresses so in a case when linker addresses are not equal
> +     * to load addresses, after MMU is enabled, it will cause
> +     * an exception and jump to linker time addresses.
> +     * Otherwise if load addresses are equal to linker addresses the code
> +     * after mmu_is_enabled label will be executed without exception.
> +     */
> +    csr_write(CSR_STVEC, LOAD_TO_LINK((unsigned long)&&mmu_is_enabled));

That looks like a pretty unusual way of moving from physical to virtual
addresses. But if it works ...

> +    /* Ensure page table writes precede loading the SATP */
> +    asm volatile("sfence.vma");
> +
> +    /* Enable the MMU and load the new pagetable for Xen */
> +    csr_write(CSR_SATP,
> +              ((unsigned long)stage1_pgtbl_root >> PAGE_SHIFT) | RV_STAGE1_MODE << SATP_MODE_SHIFT);

Nit: Style (excessively long line).

> +    asm volatile(".align 2");
> +mmu_is_enabled:

Nit: Style (labels want indenting by at least one blank).

> @@ -26,3 +27,13 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
>  
>      unreachable();
>  }
> +
> +void __init noreturn cont_after_mmu_is_enabled(void)

To prevent undue link-time optimization such a function also wants to
be noinline.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 15:38:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 15:38:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515957.799370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phBP6-0008Hw-1Z; Tue, 28 Mar 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 515957.799370; Tue, 28 Mar 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 1phBP5-0008Hp-VC; Tue, 28 Mar 2023 15:38:31 +0000
Received: by outflank-mailman (input) for mailman id 515957;
 Tue, 28 Mar 2023 15:38: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=ba0k=7U=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1phBP3-0008Hj-Sl
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 15:38:29 +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 957a882f-cd7e-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 17:38:27 +0200 (CEST)
Received: by mail-lj1-x22b.google.com with SMTP id s20so13028626ljp.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Mar 2023 08:38:27 -0700 (PDT)
Received: from [192.168.202.197] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 x10-20020a2e880a000000b00298a81f3184sm4944474ljh.100.2023.03.28.08.38.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Mar 2023 08:38:26 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 957a882f-cd7e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680017907;
        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=Od1F/QFWvgDRnM3OxYDT1Y8Rvi2BogXT66QhtX9GRPY=;
        b=RwSSqyOWUu+v7t2PiBA4toyHjqw88e/xEJ/6Jt2wDIhqib3AbA0Sgd6/QEJk91P0pS
         wGUcuPGclu9JiAtBGtxlNoclTXdfRd59fxsTv7CjL9k4u7dcHmlPEZkNnnVZ6BQp4t9H
         HHqLXLSVuSn5fe5MIeNByodjdEQN9j/SD+7G4t0glPmMeqnESYAo9Y6d4YnN0kR3Lrcu
         sXFrwGNpOwYa8zotAohWn/H53IcjMFskwtHuAOCRXRmq1h81Zlixy+6QQBZJH63wYuTn
         hPQBaNS2JgkiiMmgZg0UOdgnAXLtb+HHO+te5Zr9ISoYPyLiA+NTzBbw8cIpbkovwicH
         AEHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680017907;
        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=Od1F/QFWvgDRnM3OxYDT1Y8Rvi2BogXT66QhtX9GRPY=;
        b=woGiEFbK6kXyYawrzvRLik1vHp28ECn2m/6jOqK+vaHb62KpfzZGZqFLxYMfLfQvkA
         aQmIQZ6mcHLD70k01eGz8tS3znpJWftcYfpBABGbabrbTVgmN9RdBM0IReZwV00IiE3c
         8jmAaDI/yFTbR0hft84W//d7XuHfv7CRzyl2nTZFL/VqLL2evULD9NefOurmi8lpuiku
         Vp+ORY0EiC1DQ/5cjGQFefqYgiiLEW22xngMoqvDqN2+yjHneAVv3JJgcVQgggZdHwAQ
         iAXGsGAbW+7NcKmQ5yEJrnW5qLC3fId3yLc+5yBWbmjB/CH8T03VmpUG/SDeQoHvDTBt
         YphA==
X-Gm-Message-State: AAQBX9d8dRXCuwGYLF4PCh7bnorrdMKVpfOdcgylwqfun2Zq79coUDT3
	t0L07x5nollgqMnOZJs46mRGZEWFn2g=
X-Google-Smtp-Source: AKy350bnrATPuIO2IbENUU6A3XAVJnGrpd9LVJeCxlx7WPyahbRZz2ElGNZVqJUFHi4aEzrTirFxCQ==
X-Received: by 2002:a2e:9594:0:b0:29b:3050:4e85 with SMTP id w20-20020a2e9594000000b0029b30504e85mr4626975ljh.25.1680017906872;
        Tue, 28 Mar 2023 08:38:26 -0700 (PDT)
Message-ID: <883d29a6bc888b4f78d5f20af4c2cf4b1b64e7c7.camel@gmail.com>
Subject: Re: [PATCH v8 5/5] xen/x86: switch x86 to use generic implemetation
 of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Date: Tue, 28 Mar 2023 18:38:25 +0300
In-Reply-To: <9af94e49-ff66-5e7f-bf5f-ba4095cfed13@suse.com>
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
	 <5e252e8dacea5c4f2fdbb4f7970e34a862987639.1678900513.git.oleksii.kurochko@gmail.com>
	 <9af94e49-ff66-5e7f-bf5f-ba4095cfed13@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Thu, 2023-03-16 at 10:52 +0100, Jan Beulich wrote:
> On 15.03.2023 18:21, Oleksii Kurochko wrote:
> > The following changes were made:
> > * Make GENERIC_BUG_FRAME mandatory for X86
> > * Update asm/bug.h using generic implementation in <xen/bug.h>
> > * Update do_invalid_op using generic do_bug_frame()
> > * Define BUG_DEBUGGER_TRAP_FATAL to
> > debugger_trap_fatal(X86_EXC_GP,regs)
> > * type of eip variable was changed to 'const void *'
> > * add '#include <xen/debugger.h>'
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > Reviewed-by: Jan Beulich <jbeulich@suse.com>
> > ---
> > Changes in V8:
> > =C2=A0* move <xen/debuger.h> from <asm/bug.h> to <common/bug.c> to fix
> > compilation issue.
> > =C2=A0=C2=A0 The following compilation issue occurs:
> > =C2=A0=C2=A0=C2=A0=C2=A0 In file included from ./arch/x86/include/asm/s=
mp.h:10,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from ./include/xen/smp.h:4,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from ./arch/x86/include/asm/processor.h:10,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from ./arch/x86/include/asm/system.h:6,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from ./arch/x86/include/asm/atomic.h:5,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from ./include/xen/gdbstub.h:24,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from ./arch/x86/include/asm/debugger.h:10,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from ./include/xen/debugger.h:24,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from ./arch/x86/include/asm/bug.h:7,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from ./include/xen/bug.h:15,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from ./include/xen/lib.h:27,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from ./include/xen/perfc.h:6,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 from arch/x86/x86_64/asm-offsets.c:9:
> > =C2=A0=C2=A0=C2=A0=C2=A0 ./include/xen/cpumask.h: In function 'cpumask_=
check':
> > =C2=A0=C2=A0=C2=A0=C2=A0 ./include/xen/cpumask.h:84:9: error: implicit =
declaration of
> > function 'ASSERT' [-Werror=3Dimplicit-function-declaration]
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 84 |=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 ASSERT(cpu < nr_cpu_ids);
>=20
> I'm going to post a patch to address this specific failure. But
> something
> similar may then surface elsewhere.
>=20
> > =C2=A0=C2=A0 It happens in case when CONFIG_CRASH_DEBUG is enabled
>=20
> I have to admit that I don't see the connection to CRASH_DEBUG: It's
> the
> asm/atomic.h inclusion that's problematic afaics, yet that
> (needlessly)
> happens outside the respective #ifdef in xen/gdbstub.h.
>=20
> If another instance of this header interaction issue would surface
> despite
> my to-be-posted patch, I'd be okay with going this route for the
> moment.
> But I think the real issue here is xen/lib.h including xen/bug.h.
> Instead
> of that, some stuff that's presently in xen/lib.h should instead move
> to
> xen/bug.h, and the inclusion there be dropped. Any parties actually
> using
> stuff from xen/bug.h (xen/lib.h then won't anymore) should then
> include
> that header themselves.
I tried to remove dependency between xen/lib.h and xen/bug.h but it is
still the same issue but for different compilation unit:

mmanual-endbr -fno-jump-tables '-D__OBJECT_LABEL__=3Dasm-offsets.s' -
mpreferred-stack-boundary=3D3 -S -g0 -o asm-offsets.s.new -MQ asm-
offsets.s arch/x86/x86_64/asm-offsets.c
In file included from ./include/public/domctl.h:21,
                 from ./include/public/sysctl.h:18,
                 from ./arch/x86/include/asm/cpuid.h:14,
                 from ./arch/x86/include/asm/cpufeature.h:10,
                 from ./arch/x86/include/asm/system.h:7,
                 from ./arch/x86/include/asm/atomic.h:5,
                 from ./include/xen/gdbstub.h:24,
                 from ./arch/x86/include/asm/debugger.h:10,
                 from ./include/xen/debugger.h:24,
                 from ./arch/x86/include/asm/bug.h:6,
                 from ./include/xen/bug.h:15,
                 from ./arch/x86/include/asm/alternative.h:7,
                 from ./arch/x86/include/asm/bitops.h:8,
                 from ./include/xen/bitops.h:106,
                 from ./arch/x86/include/asm/smp.h:8,
                 from ./include/xen/smp.h:4,
                 from ./include/xen/perfc.h:7,
                 from arch/x86/x86_64/asm-offsets.c:9:
~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 15:39:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 15:39:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515962.799380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phBQK-0000Xr-Eh; Tue, 28 Mar 2023 15:39:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515962.799380; Tue, 28 Mar 2023 15: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 1phBQK-0000Xk-BE; Tue, 28 Mar 2023 15:39:48 +0000
Received: by outflank-mailman (input) for mailman id 515962;
 Tue, 28 Mar 2023 15: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phBQJ-0000XY-A9
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 15:39:47 +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 c38ed5c6-cd7e-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 17:39:45 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by VE1PR04MB7309.eurprd04.prod.outlook.com (2603:10a6:800:1a8::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 15:39:43 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 15:39:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c38ed5c6-cd7e-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jR0aGa7wPqGArllZSiThJCS8sHIdIPTBEm9Nj/NMYB0c/Ady5tEOkylL7G8Nlz28aNJepPuzc10G7Z6DCpbIHw0V5AifEFp5rMATd5cr7XydNQQFPAtp4/Cypgd6btKNm3XIb0ytNeF3bst1D/iuLgqFmnls86Z2lXsOQwCRJW2vADeVuIR8e95JaXDdsgnupuU+QlkHRFzt/m5R78x++RnqVIMxAbpj4thMSuJgmVI6NYWF6V5i4JDziflgKvoAlWMEC22NymOXuhFRykx8CUzvZFYe+dMA6AMXCJcDirFcu+NGYTKLWGXGDtItS4VTCK9dD8Ru48qA9R9m7eqMfg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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/7DDeknrat4TsFHcxmfgsUOcXcBNhgyUmTnCQ460w4=;
 b=l+tAWVpj94zKo9TzkC4bXQxn7HiGujfRNh4BdI1OnX+uUe2ZauKCBCDu5UP5quVaIi5kJaZjQl5IBTN9gW7MY+IOI/06pbO3tuKmYibB2HOOiNBIWI32xJMdG79gMTkwL2WFapu7wUBfLvCqVBC2Oau5qHWBRLdeF9rNKChIokZAftMwhMZ//ifLnjWQ4lybPs9L5D/txlZt0K32v/MOIBgoc5DU7PME31zZlw5yxafeDKYqr9Zi24JNz6oXCbpttHZoeLlIy5iKTTphSLmxnD0xWRJIHTMAz14zjkjl2gqRTNOIK+cKZYu/vhqQy38ecwqSzJAYnEbkpYzifCVC6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-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/7DDeknrat4TsFHcxmfgsUOcXcBNhgyUmTnCQ460w4=;
 b=4TkOC8ACvWMc6spHOnRkCywMzgFYEqVtXnyfDWrKpAazHEmCzY7Gnd3vOymrj1KtwkOOuS7T/qeptc9vsBy2IRdjoqhYx86T+XSw82ubO7WZE+JlNBtAnDdhQXRnVXE1K5APE6VeY8U/9xBpZBfz7b/Ia3QejgyPHNVjnf7K2RL8SEdNd75EjgKHZkcle1oHJ7XAIhCdxASnCBPAWw6c4thJAoaQpNF6P7d0E8OkINbgeAMfvem86sdorl7YCEHTNLRV+TT2Lk9avwTVYP3087cxVs58Qt632sniK0dLvO7nMY/4oQlCPNpiwWupwU8HGzDlWwNOhCTrgYypMVD/Nw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <77dd812a-eb8a-c86b-a3e7-f87d03ece346@suse.com>
Date: Tue, 28 Mar 2023 17:39:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com>
 <5cfcfb7a-df50-fbe4-89e6-611a83991790@suse.com> <ZCLl3ePLgrmFTViV@mail-itl>
 <1b530e63-de12-f953-1fb5-4e3c3ea69fea@suse.com>
 <ZCLrX2TmYlg2kMxL@Air-de-Roger>
 <CAKf6xptXovH5-OwuuJ4cNz4JxG-mw3mcwRBJf4PuTwjBA12fSA@mail.gmail.com>
 <6d4c11c3-31f1-48bc-b7b6-0ad0b73fc09c@suse.com>
 <CAKf6xptkHRcda5DPs4e2+7sgq8ck4-wKZhTHNC+43XWHZy_2TQ@mail.gmail.com>
 <dcba169e-9243-3e7c-f1fa-400af444f158@suse.com>
 <CAKf6xpu1DriHyknidr=o3YqWBQFEDjMndUYKpF1iW4BAhTmHNA@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAKf6xpu1DriHyknidr=o3YqWBQFEDjMndUYKpF1iW4BAhTmHNA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FRYP281CA0017.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::27)
 To AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|VE1PR04MB7309:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b5c1e0c-1b52-48bf-e1bf-08db2fa2a6b7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rVwqgFsZZLueCIkpXovNQXNTWlNvrkU9/LCh1hIxVwHiZ0MRqn4kOivTNN/cVL9PCEFnrNXAaSX6I5pwcV8FubV3G8nQyRRVzJhkgPgFS79tzaTSEmumnNhxFklwZ5vIS2F6bB6VgUE8TJLB7lFF88RIHOElDqyciTED+iRrT6jHjfOiBkEmc7+C+drczYSRXMwTxzmy4eH5Y1vJkLyz3r+ESf9Z1BZ0BcA2PfcckqK+6jSJyQFZLg0PNlGWzmat6sc189hOZU7LdEfqTByyyU7YwvIVz35sUP9kxpXbiR8Pq14NXirtWSq5jRJPR/Wjh1pWL815WFgeDiVK5xNbBg0dLHXCTuuoEdhVasUchRC+R0w/htIplgF0mpFySoMHTS8dFgPGM7LnvrLUQKWPsE0biXbGeZMxU9xg9VEyMyHTBw993k1fXfM37t1p9qsFsuEYBw/4Ht1Z6olbQbyHDoT6TEIizTrY72vGqiEAyX84JSpljBeQqtxYt8LOwFUUfUC7HpDWUNMv4Rk0QbhZXodDxARK3Eaw2CEjqzdx5TY6JR5tF4Z3EWeqUVHysvmokraRJw6Zlot8QVrb+LjuKjm9E2J3KYR4eP5/x7a/4QJPGDkbbViD11VgtOnO+t4sQwGvWY/QD7KGJh2OqbKU3A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(376002)(366004)(136003)(39850400004)(451199021)(2906002)(38100700002)(478600001)(86362001)(31696002)(966005)(6486002)(54906003)(316002)(5660300002)(66556008)(8676002)(4326008)(66476007)(6916009)(66946007)(8936002)(186003)(36756003)(6506007)(53546011)(6512007)(66574015)(41300700001)(26005)(31686004)(83380400001)(2616005)(66899021)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Vm9JZG8ySXFnMnJ0S3JHamJOZWJZM1lWNUJSNTYzVUs3Wi9jWEV3L0tldWUy?=
 =?utf-8?B?TmZsVDY1R0J6VlNHR2NKSTZFcXZ5NzkxT2ZLQWI0VVJSMUE4V3pGZTlxWjY4?=
 =?utf-8?B?MkZzOGFtQVlQeUxqSXZaMEpaZzFiT2x3UnRjeUtzeVV5dXdtQjVia1hHZWQ2?=
 =?utf-8?B?bWZOWHRidUg5ZHg2YWtjZ1hkd0Jzbi8zS21IMnA3SHB5bStaeFR3M1UyVVJw?=
 =?utf-8?B?UkJuR1A1V3JtbXhQb01uUjJVT2haS2RpK1RDbEVYR2RYTlFPOUY3eEM4ZlBj?=
 =?utf-8?B?WlZxTmx6QVNmZGJpenU2VlFUYm11U3BYVnNlUytsS1Exdk1INkZsSkFCckVs?=
 =?utf-8?B?eVJJck1sb3FtaWxneHJoS0pNMlprRVg5UnVvaTlZb3N3MnVnc3ExRFBHRDhH?=
 =?utf-8?B?MmQwbXl5ckZ0cVRCM3N1bEZhMDVra0pEYkxnVG1KMGxGdFdCR29JQ0RaKy9s?=
 =?utf-8?B?LzQ2N1lJQzRqNXB4Vlg3VGVVejh6TWFLcjh4ektreEhpOWdqZUZqeEU1aGIv?=
 =?utf-8?B?cmdhRmxYK0tJM1I0bml4NXJTQ08vR3pxN2tya3NKTFFPbHJ0V3ROZG5NRUxF?=
 =?utf-8?B?VUFubVlvK25KRkRiZGd5Q3FEQ2ZlV0pEUjFKM1MvN3FidkN5WHlNQkQzVGNw?=
 =?utf-8?B?WGc0KzcwZ0RkbWJlamtPK0JFeE1ib1lhNUJTV2JSSWZzYWZPTGZxUmRUcGUy?=
 =?utf-8?B?aGlHbVcxWHBvWlRRc2szUWhEQWNJUi92Nk5HY2RXYXhGd3FETlRrOEtGU3ha?=
 =?utf-8?B?eUhHMGxESDZTSWNXdVZ5UC8zb2pSZHd1akJNdnF5YWwzUThaYmFZNCtGRzE5?=
 =?utf-8?B?TFd5L0pJSHpYUzdmNTVwMUlRS21hU0VkRkpPYUdSVzNEdThtWUYrcHJ1OGRh?=
 =?utf-8?B?b2VzRU03cHU2S2NpZlhVK1NxWFU3ZENYbllYRmpkK3Rhby96MmxvR1F5aGtS?=
 =?utf-8?B?UTZ1SFMrb0gvN3ZwNmw2RGJ5K1JQcEkzZWFLUjBWZFVSTzA5Um5sNmtiMWRt?=
 =?utf-8?B?dnlDbk5SQzFEWnNLK3NPTDZjUWU0TzVBaWpTQ1hMb3Nza0FMRWFhNEM5QXUy?=
 =?utf-8?B?WU5SanlOdTJmejJnRW9Ba1k1WHhHT0dZRVNZR0FWeURhMTA0OThzR3pRQXVH?=
 =?utf-8?B?NzBwRVc4eUl2WVVvcHpEK2J5aWZheUkzOHd0aWVVK0RWNEZGQTk5TVRPQ3Uw?=
 =?utf-8?B?Vm5GeHlDSHdubVJ4Um9tbk52L0JBdWxjTlh0Ky9WMzB3enc2WlVSa01YQXgx?=
 =?utf-8?B?YURTU2NTUEtMZUR2bkJvdjBlL2ViUUFsUU81WG5VR0dxc3RCTE9lUngzQWo0?=
 =?utf-8?B?Sm54eEJqeUsxd2NYS0dEakR1QUMwUENVZTBzR3U5MDVOUklaY1dMN1pwNlds?=
 =?utf-8?B?c09xYjJuTDZ1d3BCUDByakRndFBUVzlzUDVnZUtCSVFDdEVqVnI5VGdUTjQ1?=
 =?utf-8?B?R0NpMGFjZFJLVVFva3hVTzJ5TlhTdWdpTXYrYWcxUVg1UVMwVGVGaVRRVy84?=
 =?utf-8?B?SjBhUmlGZWZmQWxteVFrWXV0RjdhZ1d1L1RKaFNrbGlVOEVtU0t6VGtYSFMv?=
 =?utf-8?B?THZtUGpFZzRVblRjcm5FZFQ5NFNZcTRQcEFRS28zNENsa1FSZUdUSitvMmFv?=
 =?utf-8?B?VHNOTzZjMDdMcWMyYWR0Sm55dFlnKy9QRTVEVTloY0pjdUZtMWhFQWtQVlBo?=
 =?utf-8?B?RTlMOG1xMmJoSnlMc1FUbi8vNjlKS3hsNlpoUE0zUDllcDl2ak1rMVI0ZHVm?=
 =?utf-8?B?KzdDRUpFbzJaR0cycjk4Rm5WRm0vMEhMbEV2WGJLRWN4emdNVS9mNk5nZU1P?=
 =?utf-8?B?WlVhRnMxUGtFV1FWQldsNUwxTG5wTURSaHgyaWh3MXZUaFZaZCttS1Z4SHQ4?=
 =?utf-8?B?QkVFc2VoYitFNXhtdU5veUF1Z0NCcndlUW1vNUs1K3ZKbkVsbnV5bjdqUGZp?=
 =?utf-8?B?TThzVW1NZ0tQemJHb2p0Z0hab2haOXM0WEY4Zy9laERtMkJCaVFycFFHY0h1?=
 =?utf-8?B?VGprZ2FaWGdBVWRnQ09zRHZJcG03SzVTTlJjczlmcmVlK1pqcUtqNVllcm8y?=
 =?utf-8?B?dnM1dXZualFMeHQrWjExeUo2RkRtSDlHd3VBMm40VEpIK1phVC9USmtTK1Jz?=
 =?utf-8?Q?+DdzYmFhZawQl5rQTNOnOizGk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b5c1e0c-1b52-48bf-e1bf-08db2fa2a6b7
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 15:39:43.2556
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: L2fnJqitbK1PrRNTCJ5kkObKbxnC1ztRr+X+0GZMa7K/qkW65QL+rwlGYT2kN9pKtv3n/CQz8X0SD5gH/AEfDw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7309

On 28.03.2023 17:08, Jason Andryuk wrote:
> On Tue, Mar 28, 2023 at 9:54 AM Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 28.03.2023 15:43, Jason Andryuk wrote:
>>> On Tue, Mar 28, 2023 at 9:35 AM Jan Beulich <jbeulich@suse.com> wrote:
>>>>
>>>> On 28.03.2023 15:32, Jason Andryuk wrote:
>>>>> On Tue, Mar 28, 2023 at 9:28 AM Roger Pau Monné <roger.pau@citrix.com> wrote:
>>>>>> On Tue, Mar 28, 2023 at 03:23:56PM +0200, Jan Beulich wrote:
>>>>>>> On 28.03.2023 15:04, Marek Marczykowski-Górecki wrote:
>>>>>>>> On Tue, Mar 28, 2023 at 02:54:38PM +0200, Jan Beulich wrote:
>>>>>>>>> On 25.03.2023 03:49, Marek Marczykowski-Górecki wrote:
>>>>>>>>>> Some firmware/devices are found to not reset MSI-X properly, leaving
>>>>>>>>>> MASKALL set. Xen relies on initial state being both disabled.
>>>>>>>>>> Especially, pci_reset_msix_state() assumes if MASKALL is set, it was Xen
>>>>>>>>>> setting it due to msix->host_maskall or msix->guest_maskall. Clearing
>>>>>>>>>> just MASKALL might be unsafe if ENABLE is set, so clear them both.
>>>>>>>>>
>>>>>>>>> But pci_reset_msix_state() comes into play only when assigning a device
>>>>>>>>> to a DomU. If the tool stack doing a reset doesn't properly clear the
>>>>>>>>> bit, how would it be cleared the next time round (i.e. after the guest
>>>>>>>>> stopped and then possibly was started again)? It feels like the issue
>>>>>>>>> wants dealing with elsewhere, possibly in the tool stack.
>>>>>>>>
>>>>>>>> I may be misremembering some details, but AFAIR Xen intercepts
>>>>>>>> toolstack's (or more generally: accesses from dom0) attempt to clean
>>>>>>>> this up and once it enters an inconsistent state (or rather: starts with
>>>>>>>> such at the start of the day), there was no way to clean it up.
>>>>>>>
>>>>>>> Iirc Roger and you already discussed that there needs to be an
>>>>>>> indication of device reset having happened, so that Xen can resync
>>>>>>> from this "behind its back" operation. That would look to be the
>>>>>>> point/place where such inconsistencies should be eliminated.
>>>>>>
>>>>>> I think that was a different conversation with Huang Rui related to
>>>>>> the AMD GPU work, see:
>>>>>>
>>>>>> https://lore.kernel.org/xen-devel/ZBwtaceTNvCYksmR@Air-de-Roger/
>>>>>>
>>>>>> I understood the problem Marek was trying to solve was that some
>>>>>> devices where initialized with the MASKALL bit set (likely by the
>>>>>> firmware?) and that prevented Xen from using them.  But now seeing the
>>>>>> further replies on this patch I'm unsure whether that's the case.
>>>>>
>>>>> In my case, Xen's setting of MASKALL persists through a warm reboot,
>>>>
>>>> And does this get in the way of Dom0 using the device? (Before a DomU
>>>> gets to use it, things should be properly reset anyway.)
>>>
>>> Dom0 doesn't have drivers for the device, so I am not sure.  I don't
>>> seem to have the logs around, but I believe when MASKALL is set, the
>>> initial quarantine of the device fails.  Yes, some notes I have
>>> mention:
>>>
>>> It's getting -EBUSY from pdev_msix_assign() which means
>>> pci_reset_msix_state() is failing:
>>>     if ( pci_conf_read16(pdev->sbdf, msix_control_reg(pos)) &
>>>          PCI_MSIX_FLAGS_MASKALL )
>>>         return -EBUSY;
>>
>> Arguably this check may want skipping when moving to quarantine. I'd
>> still be curious to know whether the device works in Dom0, and
>> confirmation of device reset's effect on the bit would also be helpful.
> 
> echo 1 > /sys/.../reset does not clear MASKALL.

Well, I think that - as proposed elsewhere - we need the kernel to tell
us about resets, and then we could clear the bit from there. (I didn't
check whether the spec permits the bit to remain set, or whether this
is a device erratum.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 15:45:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 15:45:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515965.799390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phBVF-0001yh-0S; Tue, 28 Mar 2023 15:44:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515965.799390; Tue, 28 Mar 2023 15:44:52 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phBVE-0001ya-U5; Tue, 28 Mar 2023 15:44:52 +0000
Received: by outflank-mailman (input) for mailman id 515965;
 Tue, 28 Mar 2023 15:44: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 1phBVD-0001yU-Kt
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 15:44: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 1phBV9-0000eM-9L; Tue, 28 Mar 2023 15:44:47 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=[192.168.20.22]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1phBV9-0001uZ-2E; Tue, 28 Mar 2023 15: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>
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=nrlIQc5Bzeb32cDNCaTlF2/ofru2rKJQ1WLwbs3qWYw=; b=KDW8fcJMTWRM3D8nkdE74rErXZ
	McFylTPEfG2x888lMiXg7JtQomNV9NWvtYr+LtiFukXzdWNrKev9BBCaMx9+MxXnqU/Jmw4UCYklU
	tDlP+5l9yI2D5NRr893CBy6Y8h5XtJlJSBiurherKAdna9ZvSm6b08UkT67qVB9tOlZ8=;
Message-ID: <fa074729-ccf7-cf2a-b8df-6c77ae3117f1@xen.org>
Date: Tue, 28 Mar 2023 16:44:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v3 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1679934166.git.oleksii.kurochko@gmail.com>
 <93da6ba381604748e2c71e2ebd35e80798ec4bb2.1679934166.git.oleksii.kurochko@gmail.com>
 <0a16b79e-8292-6947-24d4-dd027113943f@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <0a16b79e-8292-6947-24d4-dd027113943f@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 28/03/2023 16:34, Jan Beulich wrote:
> On 27.03.2023 19:17, Oleksii Kurochko wrote:
>> --- a/xen/arch/riscv/include/asm/config.h
>> +++ b/xen/arch/riscv/include/asm/config.h
>> @@ -39,12 +39,25 @@
>>     name:
>>   #endif
>>   
>> -#define XEN_VIRT_START  _AT(UL, 0x80200000)
>> +#define ADDRESS_SPACE_END (_AC(-1, UL))
>> +#define SZ_1G             0x40000000
> 
> No need for this - please use GB(1) (see xen/config.h) in its stead.
> 
>> +#ifdef CONFIG_RISCV_64
>> +#define XEN_VIRT_START    (ADDRESS_SPACE_END - SZ_1G + 1)
> 
> I first thought the " + 1" would be rendering the address misaligned.
> May I suggest (ADDRESS_SPACE_END + 1 - SZ_1G) to help avoiding this
> impression?

I will jump on this to say that I am finding quite difficult to review 
code using define/variable that contains "end" in their name because it 
is never clear whether this is inclusive or exclusive.

In this case, it is inclusive, but within the same patch I can see 
map_end which is exclusive.

For this case, my suggestion would be to remove ADDRESS_SPACE_END and 
just hardcode the value where you want to put Xen. For others, you could 
use (start, size) to describe a region.

Also, are you sure that all the CPU will be able to support more full 
64-bit VA space?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 15:47:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 15:47:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515968.799400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phBXh-0002Yp-DL; Tue, 28 Mar 2023 15:47:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515968.799400; Tue, 28 Mar 2023 15: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 1phBXh-0002Yg-9i; Tue, 28 Mar 2023 15:47:25 +0000
Received: by outflank-mailman (input) for mailman id 515968;
 Tue, 28 Mar 2023 15:47: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=/g+s=7U=epam.com=prvs=8451319e69=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1phBXf-0002YY-GS
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 15:47: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 d265f0d2-cd7f-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 17:47:20 +0200 (CEST)
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
 32SFJFea022154; Tue, 28 Mar 2023 15:47:09 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2055.outbound.protection.outlook.com [104.47.14.55])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3pky54s57h-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 28 Mar 2023 15:47:08 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by PA4PR03MB6830.eurprd03.prod.outlook.com (2603:10a6:102:f0::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 15:47:05 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::bdd:a497:66a0:a342]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::bdd:a497:66a0:a342%5]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 15:47:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d265f0d2-cd7f-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZvgsIQgVF6MtxZ4IWdtKTfYaOgm1RofK2WagQ39n+Fxh084h+sLbtZNNUSLJoZY2xYsM30mX5tN56nnx+WnhFhMprbMNvwBEMMniKD0bd8Hvw1Kaoyn32XQF27wpPCIWVYr9dX1kuKXFFCTxHQew7nXYtKBBDdF63LPZqHw4KkDZST/WHoJYWojxl4IlPbjJY0KFjDcwxVX7rAlJVV9Likc93gS3b3EDUUSFUMjNzZyyiqUD0llsCEw2FnQtbR7Euoe4ccqZO5Ddp14HtzjIhakPHDPMfrTaKdz5nnVBwIo9CNHWdlXxZ+At21rEor4L+9oEXA3sdzF7f5pQ50AItw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0lyl2FbygBKyUAq7wNX6N1p7kZaXAlPRDYbwEJ10+l4=;
 b=kSiGk9dDUrIXOH2U8dmotPQQdv+BmumbJxq4wG9HWZg0cbeMzHoxQ6l3TUJsIn5vLnqcC3AAu4xJg8GTxNKhrdYvVRWoaL3+X2FquTmBatpRijk4NIsflvtNnHtvo6Z5Xyw2yHIqhlY16/2H2HhtZqlfWpoeIAbx/cbHkria4P6mrLNA9xi+ehyJu8bSSAaMOl8eRlhoZjtzzqUJH7+lZyE5d0DL8G35bjS5ICD+D2IZJiDJbBqwGGn4+mtlZaoQn9sCH9chiKEDO1+0/v3Eqo9M20hVlnpHorB1nl4nCBwYGf1ox+tH3/4zC9CTewi0DJ+n3OTn7DQYQV2G0qkg9w==
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=0lyl2FbygBKyUAq7wNX6N1p7kZaXAlPRDYbwEJ10+l4=;
 b=Z6LJvsNA1C7kqC13gRWp1g2Sw5DKyxe5/cBPkJFdR/qtyqWacV3TZCcqEm7VULLFhf/Q6GJBdlfddqBpjjH3AE5swClBvn7LXw/ZnUtp2N5S8XdYdO+HbXskY6TwvkOptB2wRABvD6IV1O70u/N82cMZktEBLFAETfKqdPn300U73SK6K8BZlVtsi5DsHFgEByANsFc+SHkHgFrKCnXLqIOYZpVjk7zgo3CVULwD+8L0mFgZG2PXyRQAPM7dETInZ6Z2ZUrB/+Cj0F55dILvD7tHxmSNyj0HzdG1myfWofDShwh+3VVLByY+NEmhGMXmTBunG36UVnZDPauvEQJ04g==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Dan
 Carpenter <error27@gmail.com>,
        "linux-scsi@vger.kernel.org"
	<linux-scsi@vger.kernel.org>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] xen/scsiback: don't call
 scsiback_free_translation_entry() under lock
Thread-Topic: [PATCH] xen/scsiback: don't call
 scsiback_free_translation_entry() under lock
Thread-Index: AQHZYVG+3GUB3O/23kquKYQ39EYPJq8QVnGA
Date: Tue, 28 Mar 2023 15:47:05 +0000
Message-ID: <df07e1e3-ebe0-65c6-58c0-831739b9ed4c@epam.com>
References: <20230328084602.20729-1-jgross@suse.com>
In-Reply-To: <20230328084602.20729-1-jgross@suse.com>
Accept-Language: en-US, ru-RU
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DB8PR03MB6108:EE_|PA4PR03MB6830:EE_
x-ms-office365-filtering-correlation-id: 93015f63-7a9d-4aea-6174-08db2fa3ae3d
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 WPw6Mfg+4KfyPBtOeEvAP1zLNJwNNJsjHcPnUxYjuyYb3p8VV6dQosLOrCDsMWl9WXrCYchhTDh2jdzyNAfGKo+OcWtA9XLfZWCrjbuSADLFEbCF0YLvKyL6f6CR8xyexMUgrn2wrwRRWgjAss9tK3MMCtUxap6yNED59VrUYENANdEZ82VMV6dyu6Ok6XYaCb9dFGTM4kWhcjgPHPnxK01x+yPNjBZ2j2/LI2xiZmvqyqdyK6pbJx7+YzMwEsdfIFVK5eKi8BzjK64qBJl1VsxV+FVhGeQ5talKIO3STJZOZABZxiKypELnBL8DWgHlWR4OXuy9ZX2Nj1ysORXgX9ZZfZHQZEzUIRZYAbOtrQeOfQp84HpwXD4OM3Slfi99aqQKNvZcFHkxwDGD70l8D5pqLKYhZJDFjzaNbPYwXitjNoFID6kYt4SP14rDVJQANx9FAZ8SvlhZvM+rciSshr8HohNmAqXm5P1rrN3PYq64r/I6tXZgWo43iDUBSVIVXUj3fcV/doOP3wclSP/zy4dZ2BH8rY5NUVjf2u6m4HBbP4yCo6yFEMmB8yX9WK5gry7oxw77zJx/xdjkLF9MV8fFFqe8FApkPnanUiIu0vufyeYQpr0BntIgUvwXFLZ8
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:(13230028)(4636009)(366004)(376002)(396003)(346002)(39860400002)(136003)(451199021)(6506007)(26005)(6512007)(53546011)(31686004)(83380400001)(86362001)(8936002)(38070700005)(2616005)(186003)(31696002)(966005)(71200400001)(2906002)(38100700002)(5660300002)(91956017)(478600001)(122000001)(4326008)(6916009)(41300700001)(66946007)(66476007)(76116006)(316002)(36756003)(8676002)(66446008)(64756008)(6486002)(66556008)(54906003)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?TFpGcDNHck5MUS85cHp0bVFlSDRVV3N6WEtwcEJ0dHdpSVpOZmFraG1UU2RY?=
 =?utf-8?B?TUxra3dCd3A1d2tLdzNKM2hmOXdtRXBUYkNwU1AyUmx2TU1qTVpFbW1Palhv?=
 =?utf-8?B?YkV6UU0xQXgrazliUWYrSVYxMk5YenJVdXFKemNmcndGYXlmbVpLR1dhZGsz?=
 =?utf-8?B?MVRaRnJJSjJxTGxyRXVGcXhlY3pSaXVFZWl1Z253RVZDWE5WeENUbjNtZjEw?=
 =?utf-8?B?US9FNjdWYk5QTmk1WHVIUFpwTWhhcHBUMTBqTkU0aVo5dGptbUlReGUvK2Jh?=
 =?utf-8?B?U0MweTBGSTMrUnpRYmc1cjQydkkvUXgwTGkyc0dHYTdYUlJrSWgyME9NMEww?=
 =?utf-8?B?MGdSUnkrcW0ybjNZY3FsQkUxTkxEZm9xQ3N1ZEpSRnZqOWpQZkIzVHJuREFC?=
 =?utf-8?B?S2FLeWxiRkxXQkdQNVNqanZJOXdtcDZSUFJZaVlnUTFqWGZBL002K2tURitF?=
 =?utf-8?B?YWlBdGxaV2dXMGQ2R2dMc3ZhbTY2SVhlN0xoS05xaVQyUjFERDBPWUJYZnVO?=
 =?utf-8?B?dk1CVXFwdzNlUXVYMUQ4YTN5M0U4b1BzZUk1a3p0YjVBRk9ZUEo2LzBwcjlI?=
 =?utf-8?B?U2hSeVl1bkFXSENLdHl6cjhYc0hPMGlQZFJyeU1WdEFscDFkTkd2Z0RpaDFo?=
 =?utf-8?B?Nmt3eFY4Rkx0VFBCMVcrTUZXUDRzNmJ6UHdzNGlkQnZtRjJySFpZT3ZrS0hz?=
 =?utf-8?B?aWpGOUlndk9jcWxPaFhQM3VJeUlreU1HYWJ0UStXTC9tN0JMZlFsSzlCUGd2?=
 =?utf-8?B?MHJSTGk3bFlsMlRTS01vVWlBK0s0SlhRS2RmK2NJY3VtZjJieFlJT04zU2VE?=
 =?utf-8?B?MHhodko5b0FVSW5rd1B5c0R2TG9LVEtWMURFVGx0eXdWUENjU0pOcEFHTGNQ?=
 =?utf-8?B?QXNoS1ZaQU51bHY0UXVBZXdISm1pY1VvL3JBU2dMRGRuUXk4UHBmMlpOZVhq?=
 =?utf-8?B?TVJBaXFWUGkyTm5tTFZYSS9xcDhCcUhsNFJmbXMzVWdjQjVvR2paTGI0STlj?=
 =?utf-8?B?bFdlTTh6UnFHOUN5bUdFR3VGbzIvblg4cTlaMzBKc21xMDVBSDgrd09JYWNE?=
 =?utf-8?B?YnJzaHp3K3IrWDVNdGczWXptWG92UHIzeEZxTmZCK1lDaTJhWFowWGphTHY3?=
 =?utf-8?B?MEt2UHBnbHhJLzlUQ0l2SCtFVEt6SXU0M25OOURmTmRRNlA5ZldLeEJDenpr?=
 =?utf-8?B?dWVDcFoyVDhuNUVNSnhJQlZ0ZlUvRHp6MSs0cFQrM1JJaDFQWTlsazIwREky?=
 =?utf-8?B?UmFZRk5RZWlGcmJrYXVZRHkvZ2xHOHJ6THRvMllMZm53aHRGamx5R2dYR0tT?=
 =?utf-8?B?NzROUGlGYW1Ecmt5WnhWK012ZmRVc2hSNUsvV2dvYmlielkvUjJVR1ZoSVJ1?=
 =?utf-8?B?K1c1bDF1Z1JDM0RPQ1V2MW5iRk0waS9oRy9nMlRxTFJrT3lZQVdrYWErQWI2?=
 =?utf-8?B?a3FDcHVwKy83bzJCcCtIT0xjVm4wem1BZk1HZ05oOGFhSnp6ZE9PVEFlOEls?=
 =?utf-8?B?WGZwVVk5RnV4anVNSUMvbEczNmltYTBPTG9ZUlJ2ZW1KTHhkdzJGUHV5b2NC?=
 =?utf-8?B?bWo5WUpTMjZkcC9OWStFSWtBZGlDbVBzRytUdXo5dmRkYW96SUFxMmZVU056?=
 =?utf-8?B?K1o3b2NMQlhIakQ2MW5oSTVmNFRRWlRjSHlrM0xwWWs5U1IzN3J2eElmS1hq?=
 =?utf-8?B?a3VYWldhT09GMkpIaHBmdEpiakRuampFTTRsaDVYTGFUc04xdkVRcTJ1Y0dw?=
 =?utf-8?B?djEybE8zalBJL0VnQzZFQlFQVCtlYndmaCt6bzRzTTkyajhNWjVINjYxcEFx?=
 =?utf-8?B?dWxxNFJFRjNLNmxNOXNpWmtVTDRGQ2VLbHBGcWdDbTVBZWZUY3VEYmd6TE1x?=
 =?utf-8?B?cXBIVFJIUlFaK2dOZ3FnNmRPdER4bTNKSWhLM2p1emFZL1FlYU1qaDV6Nk9h?=
 =?utf-8?B?QlZJUlV3UEE4V1pIMzNxMVRQRFVMUXBHdkQrUGpnR1YrcFNCalY1YXJQQkpI?=
 =?utf-8?B?eTFDdldENnRVR1MxcFA0NVd2KzJtNWZSeitVdE1GMEIrSVROYXk0WXcwQjZW?=
 =?utf-8?B?LzdHa1pJd1Q0blUxU3FJMDZnSG8vSURGZWx3NDMyc0tXa2tyTVd0czRNZUJG?=
 =?utf-8?B?QjBlbnFjVGRBNUtlN3BRN1M3OHQ4NGI4aTRHSjlZRlJzUldpSW5IamxJbFFF?=
 =?utf-8?Q?wJV+oNHOzDu+n8C17KLPdbw=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <6B986A28BDA94C44AB2C19B25B666365@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: 93015f63-7a9d-4aea-6174-08db2fa3ae3d
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2023 15:47:05.2249
 (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: /yewUB5QhFAUnBOOD5B3qgCxVK0ZO2taUR7orP/FK475J2TolsGetn1szqzgud2WVPM50ClU3d4CR11ZYcU0LNywp6dzpAZHpp1bS1osS1k=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB6830
X-Proofpoint-ORIG-GUID: CRz42z7gB8Ij7HwLbjoI_EwRzIf6KvAm
X-Proofpoint-GUID: CRz42z7gB8Ij7HwLbjoI_EwRzIf6KvAm
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-24_11,2023-03-28_02,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 adultscore=0
 priorityscore=1501 bulkscore=0 malwarescore=0 phishscore=0 spamscore=0
 suspectscore=0 impostorscore=0 lowpriorityscore=0 mlxlogscore=999
 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2303200000 definitions=main-2303280122

DQoNCk9uIDI4LjAzLjIzIDExOjQ2LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KDQpIZWxsbyBKdWVy
Z2VuDQoNCj4gc2NzaWJhY2tfZnJlZV90cmFuc2xhdGlvbl9lbnRyeSgpIHNob3VsZG4ndCBiZSBj
YWxsZWQgdW5kZXIgc3BpbmxvY2ssDQo+IGFzIGl0IGNhbiBzbGVlcC4NCj4gDQo+IFRoaXMgcmVx
dWlyZXMgdG8gc3BsaXQgcmVtb3ZpbmcgYSB0cmFuc2xhdGlvbiBlbnRyeSBmcm9tIHRoZSB2MnAg
bGlzdA0KPiBmcm9tIGFjdHVhbGx5IGNhbGxpbmcga3JlZl9wdXQoKSBmb3IgdGhlIGVudHJ5Lg0K
PiANCj4gUmVwb3J0ZWQtYnk6IERhbiBDYXJwZW50ZXIgPGVycm9yMjdAZ21haWwuY29tPg0KPiBM
aW5rOiBodHRwczovL3VybGRlZmVuc2UuY29tL3YzL19faHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcv
bGttbC9ZKkpVSWw2NFVEbWRrYm9oQGthZGFtL19fO0t3ISFHRl8yOWRiY1FJVUJQQSEyM0lLZFZo
YW1vRnE4cHRVbnByZF9UdWJETU9iai0wUUFhbHNHaWZmQkhDZUVkT3V3cnE3ejRvaGc5MlNqMG9s
Z2wwbmg3M29YdlNyLWkxenFYaFkkIFtsb3JlWy5da2VybmVsWy5db3JnXQ0KPiBTaWduZWQtb2Zm
LWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+IC0tLQ0KPiAgIGRyaXZlcnMv
eGVuL3hlbi1zY3NpYmFjay5jIHwgMjcgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tDQo+ICAg
MSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQ0KPiANCj4g
ZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3hlbi1zY3NpYmFjay5jIGIvZHJpdmVycy94ZW4veGVu
LXNjc2liYWNrLmMNCj4gaW5kZXggOTU0MTg4YjBiODU4Li4yOTRmMjljZGM3YWEgMTAwNjQ0DQo+
IC0tLSBhL2RyaXZlcnMveGVuL3hlbi1zY3NpYmFjay5jDQo+ICsrKyBiL2RyaXZlcnMveGVuL3hl
bi1zY3NpYmFjay5jDQo+IEBAIC0xMDEwLDEyICsxMDEwLDYgQEAgc3RhdGljIGludCBzY3NpYmFj
a19hZGRfdHJhbnNsYXRpb25fZW50cnkoc3RydWN0IHZzY3NpYmtfaW5mbyAqaW5mbywNCj4gICAJ
cmV0dXJuIGVycjsNCj4gICB9DQo+ICAgDQo+IC1zdGF0aWMgdm9pZCBfX3Njc2liYWNrX2RlbF90
cmFuc2xhdGlvbl9lbnRyeShzdHJ1Y3QgdjJwX2VudHJ5ICplbnRyeSkNCj4gLXsNCj4gLQlsaXN0
X2RlbCgmZW50cnktPmwpOw0KPiAtCWtyZWZfcHV0KCZlbnRyeS0+a3JlZiwgc2NzaWJhY2tfZnJl
ZV90cmFuc2xhdGlvbl9lbnRyeSk7DQo+IC19DQo+IC0NCj4gICAvKg0KPiAgICAgRGVsZXRlIHRo
ZSB0cmFuc2xhdGlvbiBlbnRyeSBzcGVjaWZpZWQNCj4gICAqLw0KPiBAQCAtMTAyNCwxOCArMTAx
OCwyMCBAQCBzdGF0aWMgaW50IHNjc2liYWNrX2RlbF90cmFuc2xhdGlvbl9lbnRyeShzdHJ1Y3Qg
dnNjc2lia19pbmZvICppbmZvLA0KPiAgIHsNCj4gICAJc3RydWN0IHYycF9lbnRyeSAqZW50cnk7
DQo+ICAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+IC0JaW50IHJldCA9IDA7DQo+ICAgDQo+ICAg
CXNwaW5fbG9ja19pcnFzYXZlKCZpbmZvLT52MnBfbG9jaywgZmxhZ3MpOw0KPiAgIAkvKiBGaW5k
IG91dCB0aGUgdHJhbnNsYXRpb24gZW50cnkgc3BlY2lmaWVkICovDQo+ICAgCWVudHJ5ID0gc2Nz
aWJhY2tfY2hrX3RyYW5zbGF0aW9uX2VudHJ5KGluZm8sIHYpOw0KPiAgIAlpZiAoZW50cnkpDQo+
IC0JCV9fc2NzaWJhY2tfZGVsX3RyYW5zbGF0aW9uX2VudHJ5KGVudHJ5KTsNCj4gLQllbHNlDQo+
IC0JCXJldCA9IC1FTk9FTlQ7DQo+ICsJCWxpc3RfZGVsKCZlbnRyeS0+bCk7DQo+ICAgDQo+ICAg
CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmluZm8tPnYycF9sb2NrLCBmbGFncyk7DQo+IC0JcmV0
dXJuIHJldDsNCj4gKw0KPiArCWlmICghZW50cnkpDQo+ICsJCXJldHVybiAtRU5PRU5UOw0KPiAr
DQo+ICsJa3JlZl9wdXQoJmVudHJ5LT5rcmVmLCBzY3NpYmFja19mcmVlX3RyYW5zbGF0aW9uX2Vu
dHJ5KTsNCj4gKwlyZXR1cm4gMDsNCj4gICB9DQo+ICAgDQo+ICAgc3RhdGljIHZvaWQgc2NzaWJh
Y2tfZG9fYWRkX2x1bihzdHJ1Y3QgdnNjc2lia19pbmZvICppbmZvLCBjb25zdCBjaGFyICpzdGF0
ZSwNCj4gQEAgLTEyMzksMTQgKzEyMzUsMTkgQEAgc3RhdGljIHZvaWQgc2NzaWJhY2tfcmVsZWFz
ZV90cmFuc2xhdGlvbl9lbnRyeShzdHJ1Y3QgdnNjc2lia19pbmZvICppbmZvKQ0KPiAgIHsNCj4g
ICAJc3RydWN0IHYycF9lbnRyeSAqZW50cnksICp0bXA7DQo+ICAgCXN0cnVjdCBsaXN0X2hlYWQg
KmhlYWQgPSAmKGluZm8tPnYycF9lbnRyeV9saXN0cyk7DQo+ICsJc3RydWN0IGxpc3RfaGVhZCB0
bXBfbGlzdDsNCg0KDQpJIHdvdWxkIHVzZSBMSVNUX0hFQUQodG1wX2xpc3QpOw0KDQo+ICAgCXVu
c2lnbmVkIGxvbmcgZmxhZ3M7DQo+ICAgDQo+ICAgCXNwaW5fbG9ja19pcnFzYXZlKCZpbmZvLT52
MnBfbG9jaywgZmxhZ3MpOw0KPiAgIA0KPiAtCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShlbnRy
eSwgdG1wLCBoZWFkLCBsKQ0KPiAtCQlfX3Njc2liYWNrX2RlbF90cmFuc2xhdGlvbl9lbnRyeShl
bnRyeSk7DQo+ICsJbGlzdF9jdXRfYmVmb3JlKCZ0bXBfbGlzdCwgaGVhZCwgaGVhZCk7DQoNCnNv
IHdlIGp1c3QgbW92ZSBhbGwgZW50cmllcyBmcm9tIGhlYWQgdG8gdG1wX2xpc3QgaGVyZSB0byBi
ZSBwcm9jZXNzZWQuLi4NCg0KPiAgIA0KPiAgIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZpbmZv
LT52MnBfbG9jaywgZmxhZ3MpOw0KDQouLi4gd2hlbiB0aGUgbG9jayBpcyBub3QgaGVsZCwgb2sN
Cg0KUGF0Y2ggTEdUTSwgYnV0IG9uZSAobWF5YmUgc3R1cGlkKSBxdWVzdGlvbiB0byBjbGFyaWZ5
Lg0KDQpXaHkgZG8gd2UgbmVlZCB0byB1c2UgYSBsb2NrIGhlcmUgaW4gdGhlIGZpcnN0IHBsYWNl
PyBUaGUgDQpzY3NpYmFja19yZWxlYXNlX3RyYW5zbGF0aW9uX2VudHJ5KCkgZ2V0cyBjYWxsZWQg
d2hlbiB0aGUgZHJpdmVyIA0KaW5zdGFuY2UgaXMgYWJvdXQgdG8gYmUgcmVtb3ZlZCBhbmQgKmFm
dGVyKiB0aGUgZGlzY29ubmVjdGlvbiBmcm9tIA0Kb3RoZXJlbmQgKHNvIG5vIHJlcXVlc3RzIGFy
ZSBleHBlY3RlZCksIHNvIHdoYXQgZWxzZSBtaWdodCBjYXVzZSB0aGlzIA0KbGlzdCB0byBiZSBh
Y2Nlc3NlZCBjb25jdXJyZW50bHk/DQoNCg0KPiArDQo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeV9z
YWZlKGVudHJ5LCB0bXAsICZ0bXBfbGlzdCwgbCkgew0KPiArCQlsaXN0X2RlbCgmZW50cnktPmwp
Ow0KPiArCQlrcmVmX3B1dCgmZW50cnktPmtyZWYsIHNjc2liYWNrX2ZyZWVfdHJhbnNsYXRpb25f
ZW50cnkpOw0KPiArCX0NCj4gICB9DQo+ICAgDQo+ICAgc3RhdGljIHZvaWQgc2NzaWJhY2tfcmVt
b3ZlKHN0cnVjdCB4ZW5idXNfZGV2aWNlICpkZXYp


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 15:58:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 15:58:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515974.799410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phBi1-0004D3-GS; Tue, 28 Mar 2023 15:58:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515974.799410; Tue, 28 Mar 2023 15:58: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 1phBi1-0004Cw-Ch; Tue, 28 Mar 2023 15:58:05 +0000
Received: by outflank-mailman (input) for mailman id 515974;
 Tue, 28 Mar 2023 15:58: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phBhz-0004Cq-OC
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 15:58:03 +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 514f058c-cd81-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 17:58:02 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by DU0PR04MB9588.eurprd04.prod.outlook.com (2603:10a6:10:31d::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 15:57:58 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 15:57: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: 514f058c-cd81-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lpSgjM35aEa6ng/dspZzllYeaDsGm+bRZfVyjyB3+2kR5BUy3KdfDN25QuVqqhkOz4tq27NIGz3BO2BrXyjkxQ/3QCl6EqS3tU5fFSNa5z5/WkqdVUvkXPsKvokZIaIA763aL0BUHuy5W1hhsvEQD2SNPZNG6cG9RdrydX0vSc2q5n5HPBApPV07KC3kWc7pFOxGFzH1hNxwaiyitQw9lwaCRUPc1TI7+pbnyQkT3Daqhvzr/RHQO3tQ/SNNCg5+oQ0YdcERC5evIdogJy7PIP8mf5CA8uEVuviMtYUdxmxy9CMnaXdAk9b60WUBdaYWzZGYEujBzC9regZ/PI2PvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZCD2K3neQwvO8bvUE58hygQIvMlA3llqM1UPaKgUxdU=;
 b=Z3rEM1T1YEefAlcSr7bydmtrEmKR1HHJVVdk/zo/MWCP2FNcZA5752S4pZLztUd4sgpQ5PO8DIuh9fwpShQfRJDJEwHbxvD8ihS/nUhU6DRlrhb2QujeHQmU2wy9ZVAEP21rzrVS+X6JLN0yduAeNa1DbhNmB5dvA+JR0Ovv1SRqaWA0hYcNr+GJlLg8DtskxO/oQi0h2QRHuoH2/He3GcRAuTfJ2/ozQFx8TDgwy8vD+bubFx87f6ReZZb9cskaOeD9nXHMmJWLBZ/QZPGCDXdRCQHWqi7ugwKayy9WV1jSjZw3W0Aqn1xLaZcOY01OIyJNsT3wfQ5ajN4HkQOVUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZCD2K3neQwvO8bvUE58hygQIvMlA3llqM1UPaKgUxdU=;
 b=nNV1bwwwm4slLSsTEZPVIZlnhs7si4OexmPzB0x/DtLB3p34kfzmQ0dPMvG7SK2nqjip1azo2QOKxt+VKv1/npjMxh7+XA2GXpVgzBtaOo5b7E3q0FEU9EXwgWk/p60W1lpVPpG1u4WDS8bRLV7VKLYfnnP1I7a+tPT4xyCVQgUsKAjykjneIlh8Weuj0dsmIu1efFsZvRiOGFAH6lyVZxQ2pXtzme3nGxhq7K5PCwlxHymclAShhS5Zl4MgSs1so2ebIgyC3SJ+WrRkq7byuJkdwZu+8tWVBXsZeF8AItLWmfbAW6WvEtPbrhm9t+I7sCvxuM0LP4YpO1gF/sqm8Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8ca9ddb1-d94a-7010-ab42-e6d0f0670aa3@suse.com>
Date: Tue, 28 Mar 2023 17:57:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 2/5] x86/ucode: Fold early_update_cache() into
 microcode_init_cache()
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-3-andrew.cooper3@citrix.com>
 <6b6b7da5-dd1a-1b17-b1ce-1b1adb687807@suse.com>
 <c6661fc2-bdc2-b953-88fb-7250eb2fce1b@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c6661fc2-bdc2-b953-88fb-7250eb2fce1b@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0134.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::18) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|DU0PR04MB9588:EE_
X-MS-Office365-Filtering-Correlation-Id: 428f1a2a-9d7d-4e4d-154b-08db2fa533aa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vorP74EzWy4hW3+YR57pqo1hoKjzqjMk2LFegw54WDNI/U67X/5X7+57l41giJHTO+iDGw8puGRuoQgjiW8ioyPgV5zB1Qs27AlyY3mHTTK0cY3Q7Jn4O4ESmJSvN7NQ+8NnRDEtgOZBtj2eoQGKyfMQU91m0ruJWpD0y+H7zPHhMI0inBuquGJ5UWCPUB6fDdw1e143sf2gknx3FNdJMOBx728TLf8pN7Jd7fb/AjRmBNAUtQuDYg6YDFXalDUGM+ufdkBifjYfc6qPfTQNwZjjjRZUvU43Q6Ftr/Y2urJp7aunnEmUXJLiJipv7nEi4B6M/STV+EsbmhGISkinqpbPureQMmtK77D8PoTIvRhKwprqeLaDlQyOw9RtkMGj2y+Vks7crrgagHAMMWbPmI+lmmtcFlvPslN1PwZx0kYz8/R99n4RYi//bxDKDmmTGNBszcurNhPVkzPTA6EY7ZYV3cBYRRJyv7MTOOIr6M/p6x7WTt77KADMOYG4BznaE9VtdRllGqTvZ2iebTUWe4V6p4Vi9He8SVnb1AclSncVterMRCa7G6cfUge+mQj+WbbkGJmz6g/w/8p1eQSNygI/lDCFV2gKfDu5b5/MnEp9UN7WJXL+wYmP+eG6qtll04ioavEGLVntahaCv0Pinw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(346002)(376002)(39860400002)(396003)(451199021)(2616005)(6486002)(6506007)(53546011)(36756003)(26005)(186003)(6512007)(31696002)(86362001)(41300700001)(66946007)(6916009)(8676002)(66556008)(66476007)(4326008)(8936002)(316002)(5660300002)(54906003)(38100700002)(478600001)(31686004)(83380400001)(2906002)(66899021)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VVR6RlZodHZEYmdtdkNEQ3BnSU1BVUtoL2xkS2E2WU83ajdma29xbUlQSEFU?=
 =?utf-8?B?UDhYS3BBZnIxOVZLWUNvWFgvNUFrR2V4UCs2WktUYkUzQkw3c000WCtqUGQ2?=
 =?utf-8?B?QS8xVEFZaEw2MStCNFVURFYvY0s5VTAya2hwbGVmeS8xR1pycnQzaFdGdXc4?=
 =?utf-8?B?OHM2aHhTa05NSERuV1FyUGV1b0NxWlR0OFFkWUpKTUhITUJMZStOTWR5VnZH?=
 =?utf-8?B?Q3ZMVlVwcUhYNzNYc3RWbkRKcnFKZThaRmFsMCs1ekp1a29SSVdSUFJuWURz?=
 =?utf-8?B?RnRaT0cxcDVnTmxNL2RualVxUlZmeDJGM1l4SkQveHl2dXFlemJBcmFQOVhw?=
 =?utf-8?B?VVhIaFFXOHFrRy8yY1g1MWZ6RHMwVDBxSzZiR0RrR2o5cDJ4Z1p3RUZnVTVB?=
 =?utf-8?B?TDdveFh3ckNxc2lETlgxOWhQWTE3Qy8rQVphWUZUOFdxTk54T0F5NlozZWlo?=
 =?utf-8?B?ak9SbnNQR0gwODAzblN3SFhqTXJrcm1aL3F1d2tkVzhoUGhvVmJXK0c1NnVk?=
 =?utf-8?B?Q1ZQQlZWUTYyM0hta0xCaHNFOTBqczYxdUZHUWU4RWlNK0d5Q01qZ2pnWlRH?=
 =?utf-8?B?d29qNDEvdWhmK1FINVdtYm1WR09JTWkrUjU2Ui9NdFZ1QTdZSlRVcEVVdXVl?=
 =?utf-8?B?eFBEZHY0dDhhV1BQTUdwQ1YraUR6VUxoQWVjQXhvNVNyZVpGbVZOM2JYUysz?=
 =?utf-8?B?a2lQb3FDaUYrZkg1MHVwOW02WmJ4M0NvSVRIK0RRK3l4U05hYlJZS3MrVFFX?=
 =?utf-8?B?UDEwTTlrR0VpN0F5d0t0RFFucmlYZmFVVkkwSTRjSURPNC9Xd3R6WWZmT3lD?=
 =?utf-8?B?SXpRZy8xSVp5K2FyNTJQdDNMVTdVSFRQd2tySTdoUDVQRlpPaDdQdnR2SGt1?=
 =?utf-8?B?aUxISDZMemRRY1IwSjVXdEcwNWxjcnNOR2xQdlY5UjZrankyMFdIbTBVbEJx?=
 =?utf-8?B?ZjZJRGRXQ01teXJ3blRvQU9LcDVtZm91OFZSLzdrYzJKanJYZU5TMzNrdTl2?=
 =?utf-8?B?Rjhzc3E4Vkp0K2xvaW1qUFRYSDd3MVZ6Vk5YbVZXU1ZIbkJqKzcyQm5neGd1?=
 =?utf-8?B?M2QwWnlSMGhMSFNVcnN6U1RzdldINUVId2hHMXhIMzk1SEczU3A4SDdpM1Fp?=
 =?utf-8?B?UGNCcjk5VlZ0OFVEd05sWFZQV2ZCcVhxdnlpRVo4b3pRUzAwTFhsNzlTN2hn?=
 =?utf-8?B?OFFOc3NZZjczSUVDK3FoYnpzemlMNCtESTliODUrK0JIT3N3OTI0WTlMeWxF?=
 =?utf-8?B?Wk93QlVSdlRZWGhQNDJ2R0tzVm5xRFdpWjlqVWhxRHZuc1kxTUI4eHU5WXBj?=
 =?utf-8?B?dVFxNkw1YU1SRWVEMC84RkVGcWw5QWJPL3NubTBkNHBGYkoweExZL1ZwL3RS?=
 =?utf-8?B?NlNjbDIxdVVOOW5ULzJSelJlWHVQSmRjNzN5azh2cnVUMGM2Y2JsTUxkU3Nk?=
 =?utf-8?B?dE92WlREOExnWWtnSFRNVjB4Qk1WbHhUR0JsMit2SlQ4L1BHd0F0QTI4em1i?=
 =?utf-8?B?cWZVMzhZcVlEaFFoSW84ZEFpeUM1YXc2MmRMRHBBQW5HeUM3WXI3eHdxcENr?=
 =?utf-8?B?UExUbnNyQlcvQnYzQlpTWlBqT3MxSVBjb215WXRZVW1IWGh1aXNFUEk3UFVy?=
 =?utf-8?B?K1NoZDJPcm83NUZ4MnhSWm1MaVc5SXBkdW1IQ3NURjNLUHZKSkJLSXpCaURy?=
 =?utf-8?B?S042SUdQZGlKbHIrT1VKTjVaelFBWVphdmNlbmZFT3IzU3UrMENtYXJDUGJZ?=
 =?utf-8?B?RGFPMldDS0NSMnJkaWZzS3g5V054MVlmcFdCTC9LWjZlc2R3VEFUR0o4Qmtt?=
 =?utf-8?B?U29MbGRESzVRQkl0aUZEWWRGNEJrcnRYT1VROHBmVHYxRTVhbU1ocHM3dGVY?=
 =?utf-8?B?NWpPOTM2RmJSSXYwR2FTaHNQbUJhQkR6SG1ZTWkrcitNd2VGMER1MHg5T255?=
 =?utf-8?B?Nk9Sc1BkUzZ6UFIrTzJoLzkvMzUwNGRoaHUyYmVlamR4bSsweHBoSjgvek16?=
 =?utf-8?B?Wm12VFBqWnUrd1VFN2xIR0RGck1JelJBcGgwQzdhdE1VeFBxSUpmRk9lK2Y4?=
 =?utf-8?B?ZDN2bFdlaCs4NjNzMEVIREJIUnMzUmo1aUpmWHk0QlBFL0grVkxmaGhNMklz?=
 =?utf-8?Q?ka0gRkOoplORdlss6gAmN6CXJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 428f1a2a-9d7d-4e4d-154b-08db2fa533aa
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 15:57:58.7557
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2vSCEm7vemWjBb/0NjmXLGRzYNqPHKOkD4UJMVKFX2zGCw4I0h/+ikv/eT9vswwMdqVeNwp54xVEHQ8r+0j5qw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9588

On 28.03.2023 17:07, Andrew Cooper wrote:
> On 28/03/2023 2:51 pm, Jan Beulich wrote:
>> On 27.03.2023 21:41, Andrew Cooper wrote:
>>> It is not valid to retain a bootstrap_map() across returning back to
>>> __start_xen(), but various pointers get stashed across calls.
>> It's error prone, yes, but "not valid" isn't really true imo: As long as
>> nothing calls bootstrap_map(NULL) all mappings will remain as they are.
> 
> And how is this code supposed to know whether it's stashed pointer is
> any good or not?
> 
> This is precisely "not valid" means.  It doesn't mean "it definitely
> doesn't work", but very much does mean "can't rely on it working".

Hmm, not my understanding of "not valid".

> c/s dc380df12ac which introduced microcode_init_cache() demonstrates the
> problem by having to call scan module a second time to refresh the
> cached pointer in ucode_blob.data.
> 
> The code we have today really is buggy, and is having to go out of its
> way to not trip over.

Right - the code is fragile. And it's okay calling it so.

>>> --- a/xen/arch/x86/cpu/microcode/core.c
>>> +++ b/xen/arch/x86/cpu/microcode/core.c
>>> @@ -755,47 +755,51 @@ int microcode_update_one(void)
>>>      return microcode_update_cpu(NULL);
>>>  }
>>>  
>>> -static int __init early_update_cache(const void *data, size_t len)
>>> +int __init microcode_init_cache(unsigned long *module_map,
>>> +                                const struct multiboot_info *mbi)
>>>  {
>>>      int rc = 0;
>>>      struct microcode_patch *patch;
>>> +    struct ucode_mod_blob blob = {};
>>>  
>>> -    if ( !data )
>>> -        return -ENOMEM;
>> This is lost afaict. To be in sync with earlier code ) think you want to ...
>>
>>> +    if ( ucode_scan )
>>> +        /* Need to rescan the modules because they might have been relocated */
>>> +        microcode_scan_module(module_map, mbi);
>>> +
>>> +    if ( ucode_mod.mod_end )
>>> +    {
>>> +        blob.data = bootstrap_map(&ucode_mod);
>> ... check here instead of ...
>>
>>> +        blob.size = ucode_mod.mod_end;
>>> +    }
>>> +    else if ( ucode_blob.size )
>>> +    {
>>> +        blob = ucode_blob;
>>> +    }
>> (nit: unnecessary braces)
>>
>>> -    patch = parse_blob(data, len);
>>> +    if ( !blob.data )
>>> +        return 0;
>> ... here, making the "return 0" the "else" to the earlier if/else-if.
>>
>> Alternatively, if you think the -ENOMEM isn't sensible, I'm happy to
>> consider respective justification for its removal.
> 
> I'm a little on the fence here.  Nothing checks the return value at all,
> and nothing printed a failure previously either.
> 
> Right now, the early boostrap map limit is 1G-16M, so this really does
> fail with a large enough initrd to scan.  There is a corner case where
> the second pass can succeed where the first one failed, but this is also
> fixed in the general case when thread 1 loads microcode (and updates the
> BSP too.)

As said - with the removal justified in the description (e.g. by an
abridged version of the above), I'm okay.

> I'm also not convinced that early bootstrap mapping is safe if the
> bootloader places Xen in [16M, 1G) but if that goes wrong, it will go
> wrong before we get to microcode loading.

Hmm, yes, this could be a concern on systems with very little memory
below 4G.

Jan

> Overall, I think that bootstrap_map() itself should warn (and ideally
> provide a backtrace) if it fails to map, because one way or another it's
> an issue wanting fixing.  Individual callers can't really do anything
> useful.
> 
> ~Andrew



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 15:59:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 15:59:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515977.799420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phBjN-0004pS-SA; Tue, 28 Mar 2023 15:59:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515977.799420; Tue, 28 Mar 2023 15: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 1phBjN-0004pL-OR; Tue, 28 Mar 2023 15:59:29 +0000
Received: by outflank-mailman (input) for mailman id 515977;
 Tue, 28 Mar 2023 15:59: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phBjL-0004p9-St
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 15:59:27 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062a.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 835173c7-cd81-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 17:59:26 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by PAXPR04MB8685.eurprd04.prod.outlook.com (2603:10a6:102:21c::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 15:59:23 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 15:59: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: 835173c7-cd81-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DIy56DHmN3Leqrwu1insYqRkjMIXGfP945O6JBqDdv5GYAU7gqGVv8XPbryc5O3aRgDaufREsBhzMECggC4YVPHxY0cTuPqNo6qpcuAzJV0rFpAWrl6LfiW1NjV/81ZP3/UfrC5IqzgZCW08zw9RmaRds+TM7ZKMzrqb3DPbDhMlQCqbVQli7Vit+WWkEL/Ea+lR/u/VO93pJcXgJR1CxUcLR0o+YrB5GN1nz7J7tAmfFzksG14cL2vPHBMhx/KFoa6DxetfoR+Anm/PtDJ6CRvdZSdWc7c+RX9L9D7/v3vIgmD0+cOKSdwf9p4RcnXjcdoeQqyDObKVn6915n5V4Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=htNpuA1czaFLb4WrVM1TQeHwuK5LuptGstbAvRYDhFM=;
 b=KTlvGkU7eG8c4ujvS6/uaD+Tnqt5TWUItDfbBEs9VJocooiVBo1aULS0w+TMzXEfcPS4zmwNe3cOZQzf4J52tas3uqo0UVcr4wm2dH0b0ZnwaN/AR3F4OP/kORh6XL0nVwPbp2aAQ6cMHA0K6neWaDPObLpYpKqR62vbYs6lmTdbLjsxOtiNlQmlxKUMxAZxM066AD5l2uKD988OG76ShaYZ/c/+Wd9t5eWVIYEKwTIWBTqSr0jrBERFFMqCOdsB7cUE+L16TRfv0pzX4BPwJGcPtc8A0eUNsLTMG6+9P0hVPuVga5uILl34oAM907XEHgtkhsYr1NGmFEuU+tNg9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=htNpuA1czaFLb4WrVM1TQeHwuK5LuptGstbAvRYDhFM=;
 b=amwshnWt//XR5hQQzqFmzdMxiixy7NEdvdl0IEHXrOSMkKDZpwBbeS7ukMqV1nZ1iPEJ9p5lUmW9onQ8ia/AuhJwYq25e/CoccO4Hk4gHv3Z1qxt3cJwGzMqdBD/vWPudAG2LZOy6kNhyzwlSNXnty8/wuFpnvDFoFUyphCE5pb3G5goVLsyCtF14l5IpXvErUbIR36lSBACgnxHsRFiUgACJGFh8jPNjAQyX7CUujiWRM7rvVX86sgjAQSjxNqWvh1JSgxMCQTA48iW+Rny7Y7y6s6ogFPf8WoVhxI/ouwG4uiJL6HEqmWl9KPBdSuPHDFw2/sKlNy94Zu/sAm/2g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d664d2b4-4e31-143f-3bdc-d0b2f2daf6f3@suse.com>
Date: Tue, 28 Mar 2023 17:59:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 3/5] x86/ucode: Fold early_microcode_update_cpu() into
 early_microcode_init()
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-4-andrew.cooper3@citrix.com>
 <310d2d40-223b-5cd2-97cb-d9e40441c254@suse.com>
 <1a2acd07-98ec-b23c-07aa-3ff2be825ac9@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1a2acd07-98ec-b23c-07aa-3ff2be825ac9@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0087.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::9) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|PAXPR04MB8685:EE_
X-MS-Office365-Filtering-Correlation-Id: 5c29314f-e7fd-454d-39dc-08db2fa56653
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	24+UvDYwG7aq8Yp6Rwb1ziK6Ggwf/xTdKsqGTTlHAv3R96DkKqy28YybIKtZSUTHFBASwL83X+ZtpKGHhVzOtD/EYr5b9q18RpShQUtJfXy8GpmcJJgWLM4I8r5kYAxjFfw8THJ8CulRRgY7An0wtsJ1QGh81FPEi32BBumE/Ln09Jhna/zg+VtKGlOz5q3mN2cevjJpWb5GEFXu3n6DHIqSluNS7n+k2h2xfzxPDrMqo3Zr21TR40r/jajlykQ2vXD2CvdIos8+AszvQYCnv8z3uxnDD/MUc/5BQh4QOeHzohx4zOfD8eoTsjP2y4z2imlK/Q5liBdbx7kD7sy1XO3p4DbBTxdgNNbTDmZ9VUQVA8b+tZsEuaG07UgI45wHE6gqmCHEIyfqwwcMA5uIY3Yxl2D+O+xyVObabZpcGFDY2sd4ohbX2dvzVabzZvodjpl35cnemq9DZrAE05PwO1qDHVxTa4T9uXYk8H/AX72Kt2fz9tJg8uTK2FbzG13pnFQoHT8vUDLOJa68E13OMEXG91aLP6nnv3CdFS+NV7uVq+5lCEQcytmET2k8rvlp8kHJdkQfCJj01RHP0fEoYpapcQPgYuuSE4qIu4fv6DBIj6A7tXsyomLPu9Vr999svmACqGRnIU3cX91sSQth9Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(136003)(376002)(39860400002)(396003)(451199021)(8936002)(5660300002)(36756003)(38100700002)(41300700001)(2616005)(2906002)(83380400001)(26005)(6506007)(6512007)(316002)(54906003)(53546011)(31696002)(86362001)(478600001)(31686004)(6486002)(66556008)(66476007)(66946007)(8676002)(186003)(6916009)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWtZL0tFOGdCYWFVazl5bWM2V3VFaVdWN09BSnZNdnYvUFRrUWdma2QvTVNH?=
 =?utf-8?B?SEx1dnFiNU1wNnZoaHV4MWdlYW9tSzNmN1hMeEhtMzVmM2dNQnkwRlVwYkxC?=
 =?utf-8?B?aHFGMS9DTFdXbnZBdW5SUnU0TFNLUlVteDlrc3VCZWVEaTh3YTFzK1V5SDFz?=
 =?utf-8?B?UGlISDBaRGtqYUNGdG5xdDFpanVpR0hMTkQ0Q2lzV2hzR2NNWDRmVGdiUjk2?=
 =?utf-8?B?VzFGTFJqb1loZWh6R09lbzNtdUtKengxOXZiNk5zdGl3K0RHZGZvaHJCMDkw?=
 =?utf-8?B?d0QyclpoLzZSTXFHZzU0Rm9rYmFCUUZmeCtPVWswOE5NNGpndjlxUVA5WktZ?=
 =?utf-8?B?NUdwRmFiaUZmWXltVHJNWHVNditETGlXbUFURGVDcHNqYnlqM0Y4Y1lWNDU4?=
 =?utf-8?B?a281Y2dPVW43VGhkRzltRXprK1hpbGE5dGxQNDdCSTA0YXdVeER3ekRsaitD?=
 =?utf-8?B?ckdxZEdwNnRWTU5abVB6ZVNpNzdlL2dHT3A3cFZCOE9yYVFoVEFKRHNNNUcx?=
 =?utf-8?B?cG8yWDkweHUxWjFqaDBWS2ZFWC8yekNEamJqRUZHZUVLMVNSaTk5M204Ry9X?=
 =?utf-8?B?OHY1azZ3N3BmK2FVZU90YkRPa1VtNmhuSXJtMlQrcjMvN25rSFFKTEM1UHU5?=
 =?utf-8?B?akgxcGtyZ24yZlNyb3JWb2laeXdLT1dBYlpDZlFJVXBuaCtxQUVtdG1GYzll?=
 =?utf-8?B?eHZLUk5BeEJNblBNUkZxcW5OM0VTUWhuY1ZHZUVTNXNvdVAvZ0ZQenovL2dt?=
 =?utf-8?B?NnBHcml2RXBTMTQyQTlTU044WGR2QUFvUG81dW5ZUWI1SEF2VG9RUUhrcjh0?=
 =?utf-8?B?NXlQRmRTQTlXWWUwVSt6VDdDUFlTYlhYVjd4M3dBeXNqQXRkSWFManFDbWtZ?=
 =?utf-8?B?dGhERk1BNzZOemlUa1lGeWFJTGgvQzJLdVpzQjEyRHovcWZvUlRHNEpkZ3FJ?=
 =?utf-8?B?R00yZExyR0VzZ01rclg4ZTAwTTFvTTB3dmRDR1I2MW5nQzBMTTY0ZUdhdXo5?=
 =?utf-8?B?M2duUUt5OXVUclRUUkNCNElSQmNDN1BEcEhrY01BaWVnR1VUKzVtVlVjTitt?=
 =?utf-8?B?OTdtVmJWL0xIdGpjTlpXTnoxUGlqZklSMU5mOG4ySzV0MTVCVGl1R0tVTXBR?=
 =?utf-8?B?eXA5SjJhODV6eXJBVy9PVS8xTGFpdUFpVHpPMmROY2psb0UrUDVBOUpSL0VR?=
 =?utf-8?B?eEZWK3NRVy9uc0FHQkNlWkNzOEhpdm5VOHFtVExrRnVYNzB3T0JWZWFOenZ1?=
 =?utf-8?B?dCt6RWVEVjdLQTUwN3VicnN6NjYxT1hTKzVhY25iOFptOTE2THRpZmR5VXJI?=
 =?utf-8?B?SE9kUzVtUEdtZ29CdkhTbkRCZXhlVEVENlhTUVZqWVFkbHlNWmd3bW51SkN3?=
 =?utf-8?B?KzlYTHpXb2x5TlRyMWhRMnNRcnNQazI2YmpBU09ONlAyS2szU3ZJTGlVeHcv?=
 =?utf-8?B?bFllQlRUV3hhMzhlY1dPSXZmZWpoZUlkTG9nSGpVQlJYVUx4MDgzRGVZSzVW?=
 =?utf-8?B?cUZCdWtFdG5mTnQxRnAwcElkdkhiR3Q5d1BBUzVPS1RpRkZkNFJ2TWc4Y2gv?=
 =?utf-8?B?NEdwOCtlaVVGeVhOanpDbzJ0cmlEZW5YNjBmYWdwdFBaNFUyWEtCeXpseC9G?=
 =?utf-8?B?ZVR4cEQ2YmV1cWRqMmxTQTNFbXJWRVhCYmZOWU5lc0JVc3R3OVVmTVIvSUFu?=
 =?utf-8?B?ajBvdDl5QjUyOVE3cks4aUs5QmdjYnV5WUlMNlFuY3Y1Zzk1OU85YXdXUkFs?=
 =?utf-8?B?RlRKcjg2cnloYy9qSmN1WUlFQy9pWmR3ZUdVRHd0V2oycHgrVyt5NVFiQThq?=
 =?utf-8?B?YmNNTjlKeW5OVXFSZ0cyVUdyS1VMVXI2aXF4V2NkNTZJeHc1VUtPWUNINGJm?=
 =?utf-8?B?c3RFRFk0M2dvYzJtS1laM0phcFkwenZBUXlrcjNBNlEwb0RkdmR3QzJCejZy?=
 =?utf-8?B?b0h5bnB6bit3RnQ0SnJlaWp0Y1ZqT0ZJaDdvamVHU3gvQWhDZ0p6eGFDbTgv?=
 =?utf-8?B?ZXF1YXd2YTFFOEZDNEJ3N2NXQTBxZDdyZCtlVnY5VXN2UFkwRzZnOHhMWndm?=
 =?utf-8?B?RWt4ZUJMRTFXWjFMWVVZS2dwZHFIQXEwTVFyYVBOZTAxcTFpUUVPU09lZGFD?=
 =?utf-8?Q?UP7o1lAQC0aBInnz/neS5dsS3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5c29314f-e7fd-454d-39dc-08db2fa56653
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 15:59:23.7094
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wyUz1REEDtq+8yIIRsFF3H5yiR266DFdXCfmgnSOv+CxNAye5Y24ZVghT9Hq5eaI4OuLTn481b1o1vvhDWdDFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8685

On 28.03.2023 17:11, Andrew Cooper wrote:
> On 28/03/2023 3:06 pm, Jan Beulich wrote:
>> On 27.03.2023 21:41, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/cpu/microcode/core.c
>>> +++ b/xen/arch/x86/cpu/microcode/core.c
>>> @@ -868,8 +835,37 @@ int __init early_microcode_init(unsigned long *module_map,
>>>  
>>>      ucode_ops.collect_cpu_info();
>>>  
>>> -    if ( ucode_mod.mod_end || ucode_blob.size )
>>> -        rc = early_microcode_update_cpu();
>>> +    if ( ucode_blob.data )
>>> +    {
>>> +        blob = ucode_blob;
>>> +    }
>>> +    else if ( ucode_mod.mod_end )
>>> +    {
>>> +        blob.data = bootstrap_map(&ucode_mod);
>>> +        blob.size = ucode_mod.mod_end;
>>> +    }
>> I wonder whether the order of if/else-if being different between
>> microcode_init_cache() and here (also before your change) is meaningful
>> in any way. I would prefer if the checking was always done in the same
>> order, if I can talk you into re-arranging here and/or in the earlier
>> patch.
> 
> It does matter, yes (well - certainly in patch 2).  (Although I see a
> .size -> .data typo in the moved code, which I need to fix.)
> 
> However, both these chains are deleted in patch 5, so I'm going to keep
> patches 2 and 3 as close to pure code movement as I can.

Right - having seen the last patch, I'm certainly okay with this.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 16:01:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 16:01:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515980.799429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phBlF-0006mU-5v; Tue, 28 Mar 2023 16:01:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515980.799429; Tue, 28 Mar 2023 16: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 1phBlF-0006mN-3B; Tue, 28 Mar 2023 16:01:25 +0000
Received: by outflank-mailman (input) for mailman id 515980;
 Tue, 28 Mar 2023 16:01: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phBlE-0006mH-GY
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 16:01:24 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20631.outbound.protection.outlook.com
 [2a01:111:f400:fe16::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c87d77f2-cd81-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 18:01:22 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AS8PR04MB7846.eurprd04.prod.outlook.com (2603:10a6:20b:2a0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 16:01:19 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 16:01:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c87d77f2-cd81-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MTlzIcLbI3edS8NnCDBe12i0PcdVQDvxhy4gVUxd+mo79llkPcm+g8+ZB+/03zmWyeduBHMURRTOKBU0i4zyvWZdufSyHWkJ64ufobvzB/xxKrJ4FYu9qlwMNBT/DLH2hJ+eVgucNXkSwA1Og90F3XIBjKF/DM+0/9cOWEirjWmznGKQKq8iAxFNBEHSYywbIVvAtnYGQ30Zo+s23OGt3CP5wDT3D2p8V1RsJfLQsjJ70eGCOO1D+sau8bbfyuHfUg3dz1IWDZMR4Zr8zIaq7hEzB0t+APTqADYBpDQWL5gMjqk5ZltwuwgZjHGXEA1WTtyk7yE+2vYlBlMpsbq0Xg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uRvuKYbS+QJL6709WtQbaCoWNTCNq1Sg0Yqg/TCmN3s=;
 b=HCDRvYUTp275Ft+Gk5dVLJvnTh55oexzeC3W+0jX0NEsGoWRYEbinyhGdhce896u7O3EJCsht+su68tS1DR19+fK6vrczZSzxLpHDNymT7kRBaeo1DL1doJqt+LmXwTKmX7HnpaOG8O+J84aGMao4LQ9FI/sMn9W/R1eR2L9bsG05aLdH/DgvyJ03kqN5Ag1A0GtygF9j59SmgOQh3ao7oyyaMEgIhJmMtiDXsCNoV9krtV9af4RSQkKLT8enZ8G73ZR9z3CNSj+ywDxz67dMyj74kOxCg8cwARi+sA1zjHKis/i4BhOlLcmQ0AP/a9WMeG/ceMUQCLuLng98ib33A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uRvuKYbS+QJL6709WtQbaCoWNTCNq1Sg0Yqg/TCmN3s=;
 b=XG4PZp2LCPIehfOwiLqdvuoBkh9TKlYwAryl/lih9+hETLuvbZX459iuI74NzUjNYn/dS23BkpKrAt+Bx32qfdrUc9+CawT7vlancCVeWDBOWRyt0Ma7ys1Mb7vX4DmYsfluYpm0ZodZDgbkXNRa97MMh/KDPtjo6K3H8GiyjOsOOs5hlMhJr4ufUc3+OdlcRcDgWVXN9LzXk8C4z039jVQ1ker7Udl837Io5JLWaGXvv8g1SHxhANz8u47l+fBOYzmbGUV/6JXilkM4NhQOiJoEeO1uDrd9C//N0fNiAnwEfV7RznrHY7wNrVeUWqBL3E+swK2xPHBlbRx6Ymt3qQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cf6a0e24-ef24-57bc-b53d-919cf494ee63@suse.com>
Date: Tue, 28 Mar 2023 18:01:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 4/5] x86/ucode: Cache results in microcode_scan_module()
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-5-andrew.cooper3@citrix.com>
 <8e86b93e-06c4-5998-5ec1-5543d357f960@suse.com>
 <61f32d99-67b7-d7f9-db93-12105266a03f@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <61f32d99-67b7-d7f9-db93-12105266a03f@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0034.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::21) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AS8PR04MB7846:EE_
X-MS-Office365-Filtering-Correlation-Id: 7c4c2b5f-2c06-4139-6ade-08db2fa5ab4b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ni0bBbwH3u7I954rlqZmtpY9fBwUD+ncUqGR4ISJ7r4ke1vvxapqgJwQbYONvwlifWi5UU9LwJ6I6WzoqTPdkQQYz2e4URmnifeOqG3F5FlxKvotZI2u8jZ/he/iNKCC8tC5psvhZwHh6ZChSUPf2SiLaqmZMeQPrvDQUpvlbvUi22j7MZEiuwlqod22T7ZmiymRuoct5ZE01D50xj0JcKbn4voSkTXeACWF4Orc2XOywmfYUMpFSWsEwxLdpfTF/ZvlQC56Dr8uQlVT/Y3ZRJjYPdlR1oJYW0G5bNuijataAONY+mY8nYgGT8bKT0u56r2zEF60naXl4aji6j8ID0yDZWWuSrDdBYgnZD0LW3DAmYakrtnpCgqBhFmRc/jX2NMwHdwIa4F3hS7HDbAIf03gJDFfYFx/Fbx77Hs/Y9t/4Y/h7GJV2gM4wBviWh4SsO4Ar4h/zrBCxK7jKSRDyDe5xn5txZ+GrYYNhfzwqPgtRcDyzgzFOzIvcDql86u8bDm7FDa9/jkUto6iZ5MoLv0VfSku+4ieP0+PIKAhw0EtTKh6XaFq1J75C1zhadDlUmM9UBKvGeaLyzCLxgJ5Sc9WKjbe4m4MFEMRT1Sy7xpe8pCbKux7aYBHnQSGFDOjDbYVATA7FwWtxHW8UptIjw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(39860400002)(136003)(346002)(366004)(396003)(451199021)(6486002)(478600001)(38100700002)(54906003)(8676002)(66946007)(2616005)(66556008)(316002)(186003)(26005)(6506007)(6512007)(31696002)(86362001)(66476007)(41300700001)(36756003)(4326008)(53546011)(6916009)(2906002)(8936002)(5660300002)(66899021)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?azZIS3FPS1oxTWpaNkhsVVQxNHpDZE1KTGVnMkpwR1ZIUFhuTFZKL0RBMTRC?=
 =?utf-8?B?YWwwVm56ZkZ1Q2YwOHFWaWJETU1MUnlNWXFTaGNLUmE2UFlGWjAvMy9aeXpC?=
 =?utf-8?B?eDRoL2U4QWg3bzFJN3l5L0hjRGpUem92Y3QxZkJnRDR1NVlaajBTblByU1o1?=
 =?utf-8?B?cEV2eG1ZUjY4LzAvdkdXOElla0syNXJobDBpR2VaclJjRWg1anVaOVVqZFJo?=
 =?utf-8?B?aTNLZEJVZlhGSDI0MXVGUUs4cmlmelpXbTB3SnowdDNaV1RtdUg4ZE1vRWpD?=
 =?utf-8?B?ZDdPN0tOVU40S0FCUnl1UjdmWDBBdFZtRnJnSE5nY0QrQ2FJYy9WWk1zeWtE?=
 =?utf-8?B?NXBGOENGbDdxSjh4emhrbDFJOUFLTHhvcXcwajZrcjBRL09yc05vRWxmeFN4?=
 =?utf-8?B?a2FLUXhaKyt2U2I0b2RydW93UWlYSWNXMlQyYzFlT0FqK3lFSFJZc0VRcGJ1?=
 =?utf-8?B?NGZPYitEVm1aOVpySUR5RUFPdU5OMzBpTHVmaW1seXZaTFNEbGtxejM2UkQw?=
 =?utf-8?B?QmtRaktxVkRTNmtXUm5Ja1BONCtiQzZnS3ZRYnd3bmdTeHVGMmZ0NEFJeVl6?=
 =?utf-8?B?WUt6ZnRXVC82NWZUTjdXdm14QjMvUFpCVEhYTWhybEpLU3pKeXZiMlJnTENy?=
 =?utf-8?B?azhBODV5dmhyQ2xIdFh6eVprRzlNYW5yNW9IdjE4MWNZTHZiSE4rL2JOQzdI?=
 =?utf-8?B?eVRGeWd1TU8yR2oreEZlemlVb0cxdlYwZGZybWZmT1lPUWZLZDZReXAzV25O?=
 =?utf-8?B?NUJKeGlDL3NGVHphUDNkVlFPZU5GRGZUUDNsYVZ5cmRrZG5FcFh6dElEVHIv?=
 =?utf-8?B?OXo5c3BPMnBUeWV5bm5CcXhXYU41VlN1cTkrUjlFWmVyUHhXS3JCOGE1amJ6?=
 =?utf-8?B?OWF6eHBuOGhZdUpod01TaElEcURHZnZyNGNGck93allSMzh5MlFXczMxRGNL?=
 =?utf-8?B?YTFaQ0l4dHJSY1FuTjlrWDE4OUNmV1lncG0rZTJQV3N5aGtYeU14YXR2QWho?=
 =?utf-8?B?VzhjcS9WT2puU3FxTlRiTmk3NzI3cm9zaUxnSkZMU01rL3ZjNWNqMUNEQTBQ?=
 =?utf-8?B?Wk1lYmoxR0hzNFBUNmhrRmg2RlRzY1dYaGJOU3dSOFZyc2kwbmRMaldrZjI2?=
 =?utf-8?B?TWtmVnkrY2EvWHQ0ak1qUFVSMDFNd0FzcXlXdC84V0M4emliWXJxa2FJdTI3?=
 =?utf-8?B?YVJvalBqc3BoNUxiTFlqOS9yaFJObDE2UjlKVUJsMVhEZnRnMWMrZHc0TlZo?=
 =?utf-8?B?SkR5UmhWRUcvNDlhdTNnUThsaUxVcWgzTDNMV1BjUnUyQ3dQbE4vYVRGcnFx?=
 =?utf-8?B?UVVPOEtIZ21NWUVsMVlqSDF5Y1k0dkhvUU9xeVFOU0JTdC9XOFJOVWx5cDhh?=
 =?utf-8?B?djcvZXR3bFpSYXk5Lzg2Uy9GQkRkV1FKM0d6aFY1R1ZjbXVhcnlPcVVLNmVw?=
 =?utf-8?B?VEVxM0x2K2VwTE9CalNhaDhiOXB0Q2hCWFZxazhEMG5kMXJOZ1QyT2JOaGFE?=
 =?utf-8?B?WW9RbDRrNEFOWlhXdEVlVU8wTUN5dHNUNVJyQzV5b3UvMjc2a0RZc2M4ZlBm?=
 =?utf-8?B?VkllcC8xWWRUeDBXT3A4UTJHaHc4QWZtSy9UN1J0MVAvRitMbEFiT0NqMXps?=
 =?utf-8?B?L20vUTdDLzVra1ZBRWNYYVBueXE4Yy9WdTlaaFNING0wcnNJbytJVUprTFJV?=
 =?utf-8?B?VVI4TFB2K3dxWlFpMytmNGNmUUxKM1ZSak8ra0ZIbkV6cHEzMzMwUVRMZWFE?=
 =?utf-8?B?MTNJR3lNYk1uY0MvY3VFQW1vblRGdEw5V0xyOGwycUVWV3BzSlRKWk1CUHZm?=
 =?utf-8?B?djdjQm50MldqV3BVVFBWNEpyQUxPRitPYStoT3BYaDd1VStOY0lHQlFOcCtI?=
 =?utf-8?B?Vm1TUmNNTGRVaFFhK0VwNG40RXhlOW96WUx2aml3dzVkS2JYcFhvSlhwbjc5?=
 =?utf-8?B?cGw0YmU2MzJHY1dRK0xia3ZsRW5zaGF0Y3RSc2gwQ00rb3Nib2pFUWtRaHpx?=
 =?utf-8?B?dytGNXRYTHdXRTBsMlA5bkZaMzM1N2FadUpzNW9TclZONFVQL2x6STdqbzJp?=
 =?utf-8?B?UjVWZjBLRk1PRitPTGlrMitPM0lwQ3RIdmhBN3JLY3RySnZyc0tSMUZkSUhm?=
 =?utf-8?Q?ZWp8YWJTQ/3HJVtUT/q7ZLvTi?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c4c2b5f-2c06-4139-6ade-08db2fa5ab4b
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 16:01:19.4138
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wyQOzVD3LaAuJi46dM00+DKC4ljVXHvK60ljVk1JnTSf1kohr1+tL8COgUNxZCH1ZS1kwTm4+pzta5khaumPZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7846

On 28.03.2023 17:12, Andrew Cooper wrote:
> On 28/03/2023 3:19 pm, Jan Beulich wrote:
>> On 27.03.2023 21:41, Andrew Cooper wrote:
>>> Right now, the boot flow depends on the second pass over
>>> bootstrap_map()/find_cpio_data() altering ucode_blob.data to use the directmap
>>> alias of the CPIO module, where previously it caches the early boostrap
>>> mapping.
>>>
>>> If the scan is successful, it will be successful the second time too, but
>>> there's no point repeating the work.  Cache the module index, offset and size
>>> to short circuit things the second time around.
>> If the scan failed, it will fail the 2nd time too. Maybe deal with
>> this case as well, e.g. by clearing ucode_scan at the end of
>> microcode_scan_module() when nothing was found?
> 
> See patch 5.  It can only become true then because of how the callers
> are arranged.

Right, I've meanwhile seen you do it there. That's fine. Yet I think it
could also be done earlier (and if I'm not mistaken also ahead of all
of the rearrangements you do).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 16:05:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 16:05:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515985.799440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phBoX-0007RC-Op; Tue, 28 Mar 2023 16:04:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515985.799440; Tue, 28 Mar 2023 16: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 1phBoX-0007R5-Kv; Tue, 28 Mar 2023 16:04:49 +0000
Received: by outflank-mailman (input) for mailman id 515985;
 Tue, 28 Mar 2023 16: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=6aKL=7U=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phBoW-0007Qz-Fy
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 16:04:48 +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 42844f0a-cd82-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 18:04:47 +0200 (CEST)
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com (2603:10a6:20b:fa::20)
 by AM7PR04MB6853.eurprd04.prod.outlook.com (2603:10a6:20b:107::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 16:04:44 +0000
Received: from AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965]) by AM6PR04MB6551.eurprd04.prod.outlook.com
 ([fe80::4189:2d2a:eb83:5965%3]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 16:04: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: 42844f0a-cd82-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aPUqbxf30InLPiW7DnCDHNkRvNhd4eqOax0p9C311S7SaQKWYtYT99ey6t1KXibXPH0ihgOHAH25eeLDddzEyptOnZtv2J94AMTA0ExhlMSlBUhDNsxBd1eeuznQUuivRNW4turLYnB3tDGovrPD5ppLhjx/65mvBt1LPdru7DoNaJn5GWMN6ItnilLIhTZMATZ/oQNpM+Ewi5572MI2aICxrUh+f4/hrQQ4M0Mdntwk/lmABkCuVKk9kw0Jg+3QN+vGBwXGW5Ura/eTM7bDWffFI9hGnYnLT0R8JgWiYBmOV6SBOxrN1rheiSYXY3v3tdB3F6XNTmuAr3/DUz4yxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oBWZ92GV0sYp13Kh1h6hT0v2619ihGuAG3IGPIaZZ/I=;
 b=EXjhUSwcDMprzdxJ4/AVWTlzhDNcIQIMKoG3XnQ5BnI85ZZdSVB21Dkh28Uykpy7xgTSM8DfJQ4QMr4iUAvl9uHvLuFTuhe2KQ2aswBV6/ZabviNMx44Qkc+Rd3RrY71+ag0MNj89+Jj2ZGFIMLD7oYRDzKIVnEFMqMNFHMqI2lpuixA40Npazy5sHigrwJGziIucLGyN7BaprsxPlD4A/HhBtY8P3VZtoSPE7EE8ZWKDZUIhhxaEPK5+AzWQk35qBiRyTJCRIO8qx+LRW+dtHebqJgfz4BTdpfu/PLdoILOJhEViY+vwUf7L59dJHkTIHV2Z2vZ9TEkh+ZYxfh3eQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oBWZ92GV0sYp13Kh1h6hT0v2619ihGuAG3IGPIaZZ/I=;
 b=FU7rLwF947F0ibR5Hj50vNeJLHh2mCfS9gLUOOY67XcwdoZh+bwILi0Vl0xf7sM0XYUT6/aVhEotLdfPh4+gGv3c5PXnpzjwC1LqPq8YMtiS/cPaM3in2YVg2pnC045d70kHCWahvhW8hoc03YiKyp8DSr+nEPdhhDNhgOynRHl63FJZljk6SmxnjHs+S+kYH9O0rJU8/mb9jRASBrBIXl/25P0rwOK1GYmakoHPyN3Uplboyb3og0TgjuxIYqxdiQp9/f4gECNWGj3roFTFUh4IwrhTgwFXVHoat57np5HtAgnfTZAFpQvsjzraxnPxC6ZNVPY8OHIBybr04Wa+Vg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <353bfbe2-4101-6de8-e972-859eda62fabb@suse.com>
Date: Tue, 28 Mar 2023 18:04:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 1/8] x86emul: split off opcode 0f01 handling
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: <7f5287ad-8442-6c53-d513-f9a8345c4857@suse.com>
 <c8ecf582-2c1c-ca41-f289-b6a6a080061c@suse.com>
 <ZCMAS1+pzlU2k6BF@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCMAS1+pzlU2k6BF@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0180.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::10) To AM6PR04MB6551.eurprd04.prod.outlook.com
 (2603:10a6:20b:fa::20)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AM6PR04MB6551:EE_|AM7PR04MB6853:EE_
X-MS-Office365-Filtering-Correlation-Id: 6c526995-8ba2-4477-214b-08db2fa62581
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nLyZMsYj1SoeJk6VLpZE+2Rwwu9gjDJn9/gwRULWTJTPVyCWBWEqLJU+dnm1u+mUpRq/+5O5jtNV8Fk8kbFhNCTscUmF/90sAvMmLS1bWwx04NXv4fKDC835vw3sob74DYSvQx2cz9FMkYBVELnbrVX1PSFF+rWv/yxzbuUw82iHXP+2rexSzD1jm3REqhShHkh6ydRngkT4GHkuPF4CIAethxMwA5lCrT42WTagQJ7X/fUPFrDy4b7tccIOeQUOWMYycViYeDJ4D7pWMmc8X0FZXisVjPwrXNER4eGJctMSg8ptLhDSZEmbL1BvP8LyVh9vfN9KfWI7S2tet0Flnr6mR+083ohqE95rGU/QfvdK6RfeQbuhY7gSldUUx19ZUqhiuzOuuupN+QDYXe4BOdh8cguyRnhq32bV6F1HkBE4aH/fnfFZk4du5AIia6q3a7mACIvl+Nv798+4xrHXncssec7N9QWrpeD9DdSo48RjOBQ0A66EU85WsKIbDD9yZ6aZoepDMNMkHKA7nAnuWjdvI8fazF+QAt2YANYY/ISP+H/8TxYGOtcp5LdNtvpYOiWOCanXCp77KOCq4PiAezbTTfefRWr7+lqQTfAvHR5SOYI+K/7GhAG2r2KfSx7SrwGduk5kHZqQUiv/MUUK18YYsIcVJ8MC7b8O3S74144=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR04MB6551.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39850400004)(136003)(366004)(376002)(346002)(396003)(451199021)(316002)(6512007)(86362001)(5660300002)(31696002)(2616005)(54906003)(8936002)(41300700001)(36756003)(66556008)(6916009)(8676002)(66946007)(4326008)(66476007)(186003)(26005)(53546011)(38100700002)(478600001)(2906002)(31686004)(6486002)(6506007)(2004002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NE9BbjNmK1lDYld5TzIrdW9aRTM0bGo3Zmc2WU1sdWJiQlo3bVlJUXJvOHF0?=
 =?utf-8?B?ZlRZNmNLSlU0Q21YUnFwSGNqS3d5cXZIeUtvb1JWeTdqOWw5WGs1NVBsWTZv?=
 =?utf-8?B?MnlzUU1BVFJqS3BVZ2V6d25IQXZmSTlFTGIzUFhTYzNxZVR6cTV5Vmx1aE9M?=
 =?utf-8?B?ekVMbHoxcFZDSUJwbk1zMmt3WEJhQm12aHZNSm9UUmZmYXkxbWZlSisxMm1Y?=
 =?utf-8?B?Z1FUOUt2UWxYYWJzR1F4TlByRGhQVTBGQzh4Vmt3ZzBXSitqd29acjhaYnZX?=
 =?utf-8?B?cDBuTmlJL2l3Q3FhOHdTMTFNZFBtTkhpTkp1aHNHclZpZ3FVVk5BenZYWVdY?=
 =?utf-8?B?bFVBalRqOE51aTVGSE5wcEJWZE8vd3BWaW5YZnAvZklPSGE1U1NCRnRCd2NL?=
 =?utf-8?B?Y2J2ck9UYzV2NXBjUG5xZk8zdGRPa0IwWk5sK2ZhNDdwbUhLNEhVZjVMN25I?=
 =?utf-8?B?RVdIeFhsREQ0dnJQRkJjNkxTSHBpY3hBaDZXRnFCOGN3Wks4SWk3akkzOHN1?=
 =?utf-8?B?RHhEaFZMazZmVjJ6VlJIWHZSSFNyTjE3NzZwWVJ5VVdEYUFOM2RYdjZuY292?=
 =?utf-8?B?c3cxY3IvbFVmQmZ4RTQ0cGJ4NjlLSG8wZE1QZW9iVW5Ga296aVVsZkttNlZK?=
 =?utf-8?B?SDA1T2xJWjhWcUl3ci9GUGZ2YkFQWitBYzhTc1lEcGJ3UytyOUwxWkNxdk43?=
 =?utf-8?B?QUNSVElCb2JKZ2F6MkxJRkJ4aXNFSzVzNXFyTUQvd0trajRkY0FObEJ6bktp?=
 =?utf-8?B?UG5IUFRySWZsbDdXQmxMazNwS2F0Zi9NejJrcXZwR2hoRStnOVNVbktxSERr?=
 =?utf-8?B?amFSZWt3eUx3a3JXZTJJemUyMDFwbkJ1MTUvc0hXaG1FcVUyVHBvN294VU05?=
 =?utf-8?B?WG9haGU4Z1NNODFMR0wvZ092WmNScHdGN0IyaFN5aHprR3oxTmFzSVJ6d2hl?=
 =?utf-8?B?NC9lWExqbnZER0piTkN1UklEeTM5WXhSdHV1am42UlJJWTZLYnFJR3psUVQv?=
 =?utf-8?B?UW80bkJyOXJwdDBBQW1kSkpjblAvQ21QRlhpMko2SWg5bnE5YjMrMVZQbmFJ?=
 =?utf-8?B?a1FQWFd4L0tjV292VDhMYUoxMkI4cGx0RElKdk5zdFdOc1R6Y1FaR2VmdzB2?=
 =?utf-8?B?cTZiL2w0elVpdU9NUTA2ZWFXRy9VV2pRNi9jK1JYcHVtY01vcmRKTG44UnEz?=
 =?utf-8?B?MFNxOHN5YzZZYmtzS2RXKytUTDg3czdNelNLMDg3bkhoZGd5dWtNRVJkVVgx?=
 =?utf-8?B?aXQ4VkhoNjBYV3ZLOStkN1Q1RXpuRnJyUHBzWTJzbjh3QVI0Q0l3WFArSTRi?=
 =?utf-8?B?UGp1Mnc0Q2pMNE00L1VTOHMveUVETDd6elVUVzdmbm9DRWkwSk9pbERGQWQw?=
 =?utf-8?B?UnFwbnNHcjVGVWUrVUZTYndSZUwyKzdQczArQWpidGxUOXhVK1daUzBESldV?=
 =?utf-8?B?NzYzZUxPcWUzMGRIYWZYT3p4bUdERnRLYWNhOUdJZjhPc3FQMTlBeXM2dWFp?=
 =?utf-8?B?SHl2UURock1MVzhGaFlNc2xIYjB6eUdQRS8xcUlxbVI3Ym1VVERsaGdRVlpI?=
 =?utf-8?B?TFRPa21MaVNjMEhTTmhqcmlkUXZKd1JNN2REZHk4dG1FV3VoYkc2WjROeHlm?=
 =?utf-8?B?TkdDeXN4K0FJTUEwbC9WaFoxOHlWcm9lYjVhUUlXMDVPMktpQ1p6L0FteGhn?=
 =?utf-8?B?Q0VlNFNyRkhlNjZmbzlJbGpYWGkrRVdLb0ZZNXFRMFdVWVBXMS81eWdQVTc4?=
 =?utf-8?B?MFdYZ3YxUkdvbXVkL1VMUmxiRG80VEdteGZ1VmtkUEppVHlZN3pPNGNNTmEz?=
 =?utf-8?B?Y2lEZnJZcEJxdG50cEpXQnpuaUs0QVM4eU50azIxT1RQaGd2Sk5rYWkxcHhu?=
 =?utf-8?B?OHJrSEE1UzFVL0oycEdnRVVEcWx3YjhKc2JYRkdBR2dMa1JVM1N3N2NjRHpP?=
 =?utf-8?B?UmQ0QTl0ZG96NkRpUm9VQWYrY1pRYmtIcHphL0MyOFpKQ0xJeUF3Y0Zobk8x?=
 =?utf-8?B?RmI2YjRISTl2T0FYa3FwekFObDZFd1dENHd1eXhkSUxoay9tVTQxZFAwM2F3?=
 =?utf-8?B?WlBtS3VKa1FtNnk4SnRIOCtKcVZzeVhWTWpmMm9SaDVWY3F3Zm9OaXZTWEZt?=
 =?utf-8?Q?7vB/QaKLrBi5QczUuQUw1UbiV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c526995-8ba2-4477-214b-08db2fa62581
X-MS-Exchange-CrossTenant-AuthSource: AM6PR04MB6551.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 16:04:44.4328
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OxU0hwCYdPKeVmUCLG1rBHHxVupLp6G1Xdz7mCoFvA5T8TZAtsdGc1Qm0tP70IodRt0AQsHkCLJ5cw3wAzWB3A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6853

On 28.03.2023 16:57, Roger Pau Monné wrote:
> On Wed, Jun 15, 2022 at 11:58:46AM +0200, Jan Beulich wrote:
>> --- /dev/null
>> +++ b/xen/arch/x86/x86_emulate/private.h
>> @@ -0,0 +1,531 @@
>> +/******************************************************************************
>> + * private.h - interface between x86_emulate.c and its helpers
>> + *
>> + * Copyright (c) 2005-2007 Keir Fraser
>> + * Copyright (c) 2005-2007 XenSource Inc.
>> + *
>> + * This program is free software; you can redistribute it and/or modify
>> + * it under the terms of the GNU General Public License as published by
>> + * the Free Software Foundation; either version 2 of the License, or
>> + * (at your option) any later version.
>> + *
>> + * This program is distributed in the hope that it will be useful,
>> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
>> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> + * GNU General Public License for more details.
>> + *
>> + * You should have received a copy of the GNU General Public License
>> + * along with this program; If not, see <http://www.gnu.org/licenses/>.
>> + */
>> +
>> +#ifdef __XEN__
>> +
>> +# include <xen/kernel.h>
>> +# include <asm/msr-index.h>
>> +# include <asm/x86_emulate.h>
>> +
>> +# ifndef CONFIG_HVM
>> +#  define X86EMUL_NO_FPU
>> +#  define X86EMUL_NO_MMX
>> +#  define X86EMUL_NO_SIMD
>> +# endif
>> +
>> +#else /* !__XEN__ */
>> +# include "x86-emulate.h"
>> +#endif
>> +
>> +#ifdef __i386__
> 
> Do we ever build this code in 32bit mode?

Yes, for the emulator test harness, which can be built both 32-bit and
64-bit (like all of the tool stack can be). When the tool stack is
otherwise 64-bit we even have Makefile logic there so the test harness
can be built both ways in parallel (and hence things can be tested both
ways, provided 32-bit runtime packages are installed).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 16:07:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 16:07:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515988.799450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phBr1-00081U-4C; Tue, 28 Mar 2023 16:07:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515988.799450; Tue, 28 Mar 2023 16: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 1phBr1-00081N-1H; Tue, 28 Mar 2023 16:07:23 +0000
Received: by outflank-mailman (input) for mailman id 515988;
 Tue, 28 Mar 2023 16:07: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=UojI=7U=citrix.com=prvs=444182d81=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phBqz-00081H-C8
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 16:07:21 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c5345ff-cd82-11ed-b464-930f4c7d94ae;
 Tue, 28 Mar 2023 18:07:18 +0200 (CEST)
Received: from mail-mw2nam12lp2045.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 28 Mar 2023 12:07:09 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by DS7PR03MB5400.namprd03.prod.outlook.com (2603:10b6:5:2cc::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Tue, 28 Mar
 2023 16:07:07 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6222.030; Tue, 28 Mar 2023
 16: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: 9c5345ff-cd82-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680019638;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=W/pu5UwGRNQlz2CnXck3IcUt60RHWpRYns3qcZvv9uU=;
  b=UdXMzx50das13UeMKwOT/circuSr5ENcjSyTN0VRheOe2ukGKbqCKMUQ
   cfpj1zKV7VyCYfxGGpaJas432lr1Ah8lEpagpNEcIMuwIrRNr88OBPvx2
   iqXNNs7ClM4nDMi28o9bWbSxAAo6Y2u2p30oMI37/fCGSHjhfw7WMuSHg
   g=;
X-IronPort-RemoteIP: 104.47.66.45
X-IronPort-MID: 102186496
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:VmZzYa9zSmPB5ywYlWrUDrUDon+TJUtcMsCJ2f8bNWPcYEJGY0x3m
 DMbDGyEO6qMM2fyfNl3bYq+8U4CucSAn4JhG1Q4/ig8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqob5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklxy
 N4UKzJcbiuqqN617YCJb+hnn+EseZyD0IM34hmMzBn/JNN/G9XmfP+P4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTaNilAsuFTuGIO9ltiibMNZhEuH4
 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuiANhLROPkp6ACbFu750sXBy1KUgeBiviz0UXmUMtmF
 2k69X97xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L8/AKxFmUCCDlbZ7QOpMIwADAny
 FKNt9foHiB09q2YT2qH8bWZpi/0PjIaRVLufgcBRAoBptz8+oc6i0uVSs45SPLoyNroBTv33
 jaG6jAkgKkehtIK0KP9+k3bhzWrpd7CSQtdChjrY19JJzhRPOaND7FEI3CChRqcBO51lmW8g
 UU=
IronPort-HdrOrdr: A9a23:D9y11a0OglF4gMoUQ4YCwQqjBJkkLtp133Aq2lEZdPU1SL38qy
 nKpp536faaslossR0b9uxoQZPwOE80lqQFg7X5X43DYOCOggLBEGgF1+XfKlbbak7DH4BmtJ
 uIRJIObOEYXWIQsS8j2njCLz/7+qjgzEl0v5a4856wd3ATV0i/1XYCNjqm
X-IronPort-AV: E=Sophos;i="5.98,297,1673931600"; 
   d="scan'208";a="102186496"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MxnlmJuwkQKFWsXbCnkehZABqDg3BKJTsuYPi4PblhEzkfqObm28DE4vAZv/aWDU3h89oDidQmNLyv4rxQZWPTCc5bKDiNIYit6nlv24te3VRqHAYIG7ApJ0/SI/3DE+ncw8OM4RtGfIg2KsKfc6ZYALkUbjB2qeULYH8itAq2ABqmPpXyVAcU5FT1uTP4MiW0AT+hyVB3l3CdTsTyXgLb4+Zpi9mcRPL0kwxwZMrOE/tX1MYCPp6HL5BXh8T4KN8ot3JgK2PDbyoCz3rbxmcS/s+D7nLHG0/9fUFULreBeTfiMX7pWUIQsT7+DrDtad1s7QaXyLEzYLI8m+823tKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GG4rUN60l+pY8tXo1iGChUHs1QqbGFcCNfK7RdO0aIE=;
 b=KGl7nmUQMPY6wRRIyAvupHN+uO7Y6leWTE8Hgx7FizwE9QrxDUwiGG8scgtC030nmtXLJVfMvBeRcb0anT+sC/makQBvAgFappHssOTdyCk08T499FIwly1kiboYDZCjRZkMivppMS3zGqGKIkBHuelqWTDO8mZUWmHgzKY5Jh8iTYdqSHdfvodLbrhhWiFB8vi6ltidWaQL77QcWOj7yJLGp2RBV2SjtH/MSUCyTvEfKAc1X1PG72gcJEzkb0m1KX+8OrHMZoEhsrMKCMC6NHZGxm9lCeU8veQRg0/QZqAvc7Tp2cs0FsxhIYTxJqiD14OBQQGToUVMS6AK/F1rHg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GG4rUN60l+pY8tXo1iGChUHs1QqbGFcCNfK7RdO0aIE=;
 b=HQH4EVJ+tQ1S5lbKFpfnfK8iK0h3EowWT7U5OjaR8gxpYx22S+85ezOgW6Qt0tmSP/ZnqIVybkNMxfQ5MHdeKzH0AfE2IrOL6gl3cK36XucxF8RS30rzFIsAqxBFYF8sJN0MRpRJKHvf0rkTChMz9xMgVphVIpA/LalarMeBOIw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <de8a81df-7b20-5b68-37a5-5359d9504026@citrix.com>
Date: Tue, 28 Mar 2023 17:07:01 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 4/5] x86/ucode: Cache results in microcode_scan_module()
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-5-andrew.cooper3@citrix.com>
 <8e86b93e-06c4-5998-5ec1-5543d357f960@suse.com>
 <61f32d99-67b7-d7f9-db93-12105266a03f@citrix.com>
 <cf6a0e24-ef24-57bc-b53d-919cf494ee63@suse.com>
In-Reply-To: <cf6a0e24-ef24-57bc-b53d-919cf494ee63@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0224.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a6::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|DS7PR03MB5400:EE_
X-MS-Office365-Filtering-Correlation-Id: 3d7ef3eb-5f0b-40fc-b21f-08db2fa67a3d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	H/82b6Z/wkcLPTIuG3yb8NRsnHXsoJHk3QHrLAjpTZqztTGUttZu5DKbxISlG6YmgG1Xn0iT3HycQBR3VXfAp98Q2/00XkD+yW9axmOPS0qCaf5neQo49RO7xD1OaZhqwpR2+4BBHwtr3hKvi3LwfIqhmLbOyG3XncUStTGLmT9IDZYJocdMPT8y2/ghR26w6qjKsJMMiM8VAe2ggekHe4HeQZU2Wt0pRPDr0GM5eES6KmIcsvlRijnM+WLqOhK4iiB7w9TQdQUaoLoNzIaNdg9lC6CAyMCln/cls7quTNlO55U53pvkmAjr9bW3TFFhvLgNQQfm49Qtl06PzK2UD1rAf1BPB7MYU5PECd+vEIthc216voWk8gCaNNYDy4Za/gA6tS/UUOc+yAQztR9yMxNVmuKe6tOdQLTW98TopXRekuBm7HJqgvwYfJ9HKixclo8FZMaNj0tsQIbhApNvAmiorJ5Q5j3dD71wpb+CZWLN1DmcmDrZJPX5r8b4ugSwja5ZOF0th2NwbpWiD1BJjR1PQmGxVSCzqX+i82fpPll3EbGen6oEf3JpPdDrVwqEmOFUqRNnOHoDJ/FSc1T5NN1IfGlOQ5npHN5oi6skYG/Eb+8ZmEfN1hUo93UqtHWVZIw0Z/B830QkTirQvNIWpA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(366004)(136003)(39860400002)(346002)(376002)(451199021)(2616005)(478600001)(31686004)(186003)(6486002)(8676002)(6916009)(4326008)(66899021)(66946007)(66556008)(66476007)(54906003)(316002)(6666004)(53546011)(6506007)(6512007)(26005)(5660300002)(41300700001)(8936002)(38100700002)(2906002)(82960400001)(31696002)(86362001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b3lXSFMyR0xnWlNSUzZ6MlpsQ3MxZHhIMEdjU0JGWXBvMnE5d0lGYlNHR2RV?=
 =?utf-8?B?cTMyZG14MWJ4YWRaWjRRbE54UHpvVkdMeElpeVJ3c2dlc05GL29yVDJTOWkr?=
 =?utf-8?B?QWFGT255akFUMTIrN3Rrd1N6MTE5TXRJTFJWUVBLeWNyYzdBZXdoQU1nN25q?=
 =?utf-8?B?Znh1Q1BIMjhSR0RLOEU0RXU0a0sxdGRGRlVPVnpRanlaMGxCWDdOaHh4bU9R?=
 =?utf-8?B?ZW1uRWZqMGFwUkFqMTFqSDcxZmFZZXltSGhqWVY3YUVQeDRqMHh2a25uOUx0?=
 =?utf-8?B?aDlMTGh5TWFyWFFYMzdZTHB2WmZqWlVmc0lEQkNiNXl0WWVWWnNTamdHTlRS?=
 =?utf-8?B?UmRCdHZ0UlVYdGNuZzZoV0pLZS9KWDlpUmI5RmVYVE5Id21wVmFqY3RtVitQ?=
 =?utf-8?B?RVRxbEVCcCtDeGVaeHZvTEdSMzJzTEFLaU1IRlU5REhOSjhsclBBK0pCbXgw?=
 =?utf-8?B?Y2NmaFNia05KK2V5eW5oY3ZOSDdFb0R1cG8ybDRXWVh6Q3cxVTFZVGlReno2?=
 =?utf-8?B?SHdvMDVzZVo2alNwWU5lU0JpS3lUcWNvWm1CWm9lRThGMlNTNHE4Ym1UNnZJ?=
 =?utf-8?B?NGl1dUVSdlNhQlR4RTdkRzNiQXVSRnJrVFh5b0xMMTYzN3FodUd3VDV1c2pG?=
 =?utf-8?B?L0RDRjd3c2hmaVU4VE1zaXhXcDZFVXN0U3g4WmkxYUQ3QWQyMzJVZzMva0VJ?=
 =?utf-8?B?YlpZMy9ZUDBOZ3piTHJ5ZjhZTm9EdkhiMEF1ajBlV0Fuazhma0s0STdRazc1?=
 =?utf-8?B?T1h1bXlaU0VQYmdQZjBvbHY5Z3VTMW8xQVpFTUJJNmJvSyt5b0RQWlpSRWZk?=
 =?utf-8?B?YVI4dDVaZjBHVW9tNS85MTVtSWxWNTROZVpTQUlQcGpkV0MvRUZReWxFSE5G?=
 =?utf-8?B?UDcrT2JoTGs5T2wvMzZacmNTU2tTYWVuM2JXczBKdU0wWWVrdW5JUVJMMUho?=
 =?utf-8?B?Z2VDZGZneHpRUkFXZDIyMXhyYW95WU9iWUNyUkdYaW9QL0xSVXhtd0JpWnd1?=
 =?utf-8?B?ekwwNkI3c2c4VHRNSVVlU3B0bmxLaGgrcUpsQkZaWm1BTUQzeDdnOENWa2VZ?=
 =?utf-8?B?QmNlektYSXpCS3owNmY4VlJROVMrcmZXRkVab25hY2tNZVJ3MHpXWEVRbFhN?=
 =?utf-8?B?a1cybUlQTE1YQ1VBMnV3WDRCSUwwWVlUYlV5QjlZS1FPUHVzeE9CTXFGcXVK?=
 =?utf-8?B?Q3ZWaVE0ZDIwQkl2RWVOb2h0ckE1eXlhZDBIbVp5YlZHOEZUcjllc2FRRm1M?=
 =?utf-8?B?T3AzTDNJSGFhQ29WRndsd3JkcjV6dHFqN0dNRGtOL09lRy91U1FFbHVVcEhq?=
 =?utf-8?B?c29JMEUxQWZjUXoySHEzVXpqRUw5SU5QUWxURTVQSU1lbmptQUpWUm9JQU1U?=
 =?utf-8?B?eUpwZ0VBWDQ3eW5ZaHhPTlBQNFh1UzVMbEJhTHg5ME5QdWJKUlora2E1Smhx?=
 =?utf-8?B?SGlRcGtJelVhWnRiVWpSMm50ZGFGanRHVzFBQUVWYjd6VmZJeGd2ZnNWd2tK?=
 =?utf-8?B?VnZ4Umk5U2d6bUpzV2puVGVFSGNBSTFmNWlyMVQ4WnhDMm5FKzRmVlp1eHEy?=
 =?utf-8?B?MWRabHRMMFRyVlQzalpDTmdzOUNvdzRMcnQzYzBBNFZ3NG5Sa01vRU1xbHpu?=
 =?utf-8?B?dmFHSS9sZWcwWU5aNnZKQ0tGZHk1TUo5TkxGWHBicEVCVW9wQ3pUNGFBWGtU?=
 =?utf-8?B?QUJFZWp0cVpzbG1NNytYOVMrZFlmZzV1d254OTY1bDBuRktsVjNHVk1pdDVu?=
 =?utf-8?B?MHl6aDlseGgwYUdYTmtTaGtOMGFTR1RMcUV4ZENGcVhOeTBHQjlLSnJadzhX?=
 =?utf-8?B?alhnK0xveitGZ2lwSmhDMVN2QUxvOVYrVk56dHU2RXcrNDdoZWozc3RZY1cz?=
 =?utf-8?B?Si84VjF1ZUFlQWFwd2krWFJ0ZDlJTUt4c2xnV2VSZ2ZyTFQ0ZE10VWRieklG?=
 =?utf-8?B?SXFiakE5VHM2NzJNZzFNZVlTaGZYdThZT1NxS2xWa2hoclNFYlR5NTdsRXFj?=
 =?utf-8?B?SzhPYU5MTkdIaVYrckduUXFaeHpWMzdGYjkwUWtwU1RmNHJBTkVEOWZGK0pt?=
 =?utf-8?B?Q1lKM1MrOVpsMHRmYlZLUUN3RXdNemhzRHRKS3NaaDBKQ3Q2d3R2c0JjYTlw?=
 =?utf-8?B?bzQ0RjU0a3N0eDJTNFRQRzkwb1lHZzNDMDhianQyS2tINVVJaGkybGdhcTd3?=
 =?utf-8?B?Tnc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	SfYCoha3sIFNly6kmHwvLzkkwm1TkwICaGFYuYlKthRFya0u2GbET5qizBtisk8NK3fBYstPSFTr90biRme6bdWuEPffB33E4ubd4ZHNKUYjwkf02PEspv80+HlkkdwtstGXJVWTG5grl0gTzjJJnL0xPp7M/eR+ev7wV7sG9LE2hy5QDtxzuMYxL6OrzLkwLJ2rUhuEFiQQSH143lJPCDoUzBw0ondHnEmnspMP8CWidwA62AUYOYFWLCOJaioBtw6T5UCDPFP8kVU2v2QA6a71JITzJJEodZ4OF1A9PY37GTv681SiBP+zqI9QbS3vj3sU2ypU8/B6e3u5oPbEUkpLDSebj9c7x4yjA/3QMfMscZDzERHsmKbkIa3ga7ucij2cu+4XvDYSaO2yWprQUpAQmkU8mi9UjF8QxavNfDUtvrwofaMmNiTxLNBrRN95vO0AKhqTshF1Ce4vaJgA58WH2i+6F7huJ9oCrkNGQfszp+gb4ao/XE9B/KYAaIzMwzszioH3Rd3gNwloY7c0oUQ0IRfi/MEdnZ7oGDQenFVLQGCMp8B4OoNn1janqVKlMLZ2Jxsv3KQ9rHlSBtiXbZ5CUKDhedKH7b+pH2Pcy67kXZyMyZ3RpmeNCJgZDZVfcZSIbHxSb0heDaHBPrGfICau5bspjfEZJHEJ1hrC8HdvqdquMBTGvA71lcyE26HiWiLO5AjYzVhzSKKxPc5McB/UMnBJiOdmW1PgwAzko4a0/S2kOCcE0sGkak/jUX6rePApnVWtgi7e0ztOd9OipJn48CTywv1sZBzdMAmZusSncClSV8oL96rSdbRoJetA
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d7ef3eb-5f0b-40fc-b21f-08db2fa67a3d
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2023 16:07:06.8032
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1/l9SZHqQT6U88qAV5VXReMZi699YMM1Cd4mOUsOLOlrJwgLalkwX7Cx+g3emiAZic9GA+46UHmhqmP8Lj730svEFB0qcPkq1KZJJN+zcEw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5400

On 28/03/2023 5:01 pm, Jan Beulich wrote:
> On 28.03.2023 17:12, Andrew Cooper wrote:
>> On 28/03/2023 3:19 pm, Jan Beulich wrote:
>>> On 27.03.2023 21:41, Andrew Cooper wrote:
>>>> Right now, the boot flow depends on the second pass over
>>>> bootstrap_map()/find_cpio_data() altering ucode_blob.data to use the directmap
>>>> alias of the CPIO module, where previously it caches the early boostrap
>>>> mapping.
>>>>
>>>> If the scan is successful, it will be successful the second time too, but
>>>> there's no point repeating the work.  Cache the module index, offset and size
>>>> to short circuit things the second time around.
>>> If the scan failed, it will fail the 2nd time too. Maybe deal with
>>> this case as well, e.g. by clearing ucode_scan at the end of
>>> microcode_scan_module() when nothing was found?
>> See patch 5.  It can only become true then because of how the callers
>> are arranged.
> Right, I've meanwhile seen you do it there. That's fine. Yet I think it
> could also be done earlier (and if I'm not mistaken also ahead of all
> of the rearrangements you do).

Prior to patch 5, calls into scan are guarded with "if ( ucode_scan )"
as well as there being an "if ( !ucode_scan )" check.

Clobbering ucode_scan prior to patch 5 breaks the second pass to cache
the ucode we loaded on the BSP.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 16:38:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 16:38:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515991.799460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phCLH-0003Bg-FP; Tue, 28 Mar 2023 16:38:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515991.799460; Tue, 28 Mar 2023 16: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 1phCLH-0003BZ-C8; Tue, 28 Mar 2023 16:38:39 +0000
Received: by outflank-mailman (input) for mailman id 515991;
 Tue, 28 Mar 2023 16: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=ba0k=7U=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1phCLG-0003BT-2V
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 16:38:38 +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 fc7abeba-cd86-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 18:38:36 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id bi9so16582876lfb.12
 for <xen-devel@lists.xenproject.org>; Tue, 28 Mar 2023 09:38:36 -0700 (PDT)
Received: from [192.168.202.197] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 p5-20020a19f005000000b004e856a4159bsm5141675lfc.20.2023.03.28.09.38.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Mar 2023 09:38:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fc7abeba-cd86-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680021516;
        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=5Xi9lhOFO1DiFWfu8sd6p8mLqaBqFlDxbeLPfqhB0gY=;
        b=TjHlT2e3yyF8JXuqDULfYso5nr8pje+1Cf5Ib8YlUc+GuQj0cTetGnS53WgzoxnAaQ
         up3qyDPj8sofXmeN3UeB6qDEP20LZgLw1rTgQ/WSphYdwCzUEXKTM/hw690I3Kzs7kjX
         RUky/kWmW3ruZ9gihe6F0fc0uUeTDNkgTTwk0g/9y6hBvUIHo09FQCmrG4EflS4aYgkN
         dUsYLCS/jhLASdT+ZVy4VuonER+PlR0oLRI33ZAolfsTe89gJGISPEQfyDwM0em9uCCM
         wVazLU1rw+l1emcPs0BniKZhq/hUN0vv+QW2FwYG9EVe+2kRMhpmzDJkaee8PE8vSbeR
         TurA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680021516;
        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=5Xi9lhOFO1DiFWfu8sd6p8mLqaBqFlDxbeLPfqhB0gY=;
        b=uCrr+fR1C06mGwRv3I5tB9J8+Qn0/bhynlOty/KEKadY/PBBGy9y4koOzvg6afRy/Z
         GIwlU5QomBIIyrkWxKjim8U1/sTkFK9GO43DgNrt33rnkaiphi++C0AMyWgI4LO59y6j
         cpn6t6Uw3j6v2Ih+h5OHHTJLPTZf6jecl7e6PHgTrP2tHcpmWgBsAgD11c/tT2wh6/6c
         Rp7/y6b43BmfrcGzmuzgc8f+SPbTIkdRJGsCBJX70FAwhlA+q4N3zqXQwSIB78kYAwmU
         FFaLhpko+s+zQ47voj5iH/uehlh+ywIUdQW+Qy8BkcJUIu9LPiogaDDolvr+gHpY8bq/
         nWqA==
X-Gm-Message-State: AAQBX9fPMJjZD1ofN8XHUejVWMJTLtbbZ70x3VOewSO3wk127HRUjVUq
	cxEfbH0feA3vItEjcS2YpMg=
X-Google-Smtp-Source: AKy350Ycw8t4AVeavxFVfdryc9r91XMXWeaoa0w1zOlFVkEmG2nS0HFJIVwwatcvOvWKZa0SUBoA7A==
X-Received: by 2002:ac2:43bc:0:b0:4b5:3505:d7f9 with SMTP id t28-20020ac243bc000000b004b53505d7f9mr4071773lfl.35.1680021515957;
        Tue, 28 Mar 2023 09:38:35 -0700 (PDT)
Message-ID: <20063ebfc717b8281aaad4314213f26545f28273.camel@gmail.com>
Subject: Re: [PATCH v8 5/5] xen/x86: switch x86 to use generic implemetation
 of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Date: Tue, 28 Mar 2023 19:38:34 +0300
In-Reply-To: <883d29a6bc888b4f78d5f20af4c2cf4b1b64e7c7.camel@gmail.com>
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
	 <5e252e8dacea5c4f2fdbb4f7970e34a862987639.1678900513.git.oleksii.kurochko@gmail.com>
	 <9af94e49-ff66-5e7f-bf5f-ba4095cfed13@suse.com>
	 <883d29a6bc888b4f78d5f20af4c2cf4b1b64e7c7.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

T24gVHVlLCAyMDIzLTAzLTI4IGF0IDE4OjM4ICswMzAwLCBPbGVrc2lpIHdyb3RlOgo+IG9mZnNl
dHMucyBhcmNoL3g4Ni94ODZfNjQvYXNtLW9mZnNldHMuYwo+IEluIGZpbGUgaW5jbHVkZWQgZnJv
bSAuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oOjIxLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIGZyb20gLi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwuaDoxOCwKPiDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcm9tIC4vYXJjaC94ODYvaW5jbHVkZS9hc20vY3B1aWQu
aDoxNCwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcm9tIC4vYXJjaC94ODYv
aW5jbHVkZS9hc20vY3B1ZmVhdHVyZS5oOjEwLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIGZyb20gLi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9zeXN0ZW0uaDo3LAo+IMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZyb20gLi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9hdG9t
aWMuaDo1LAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZyb20gLi9pbmNsdWRl
L3hlbi9nZGJzdHViLmg6MjQsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZnJv
bSAuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2RlYnVnZ2VyLmg6MTAsCj4gwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgZnJvbSAuL2luY2x1ZGUveGVuL2RlYnVnZ2VyLmg6MjQsCj4gwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZnJvbSAuL2FyY2gveDg2L2luY2x1ZGUvYXNt
L2J1Zy5oOjYsCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZnJvbSAuL2luY2x1
ZGUveGVuL2J1Zy5oOjE1LAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZyb20g
Li9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9hbHRlcm5hdGl2ZS5oOjcsCj4gwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgZnJvbSAuL2FyY2gveDg2L2luY2x1ZGUvYXNtL2JpdG9wcy5oOjgs
Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZnJvbSAuL2luY2x1ZGUveGVuL2Jp
dG9wcy5oOjEwNiwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcm9tIC4vYXJj
aC94ODYvaW5jbHVkZS9hc20vc21wLmg6OCwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBmcm9tIC4vaW5jbHVkZS94ZW4vc21wLmg6NCwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCBmcm9tIC4vaW5jbHVkZS94ZW4vcGVyZmMuaDo3LAo+IMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIGZyb20gYXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmM6OToK
QW5kIGFnYWluIHRoZSBwcm9ibGVtIGlzIHRoYXQgeDg2J3MgPGFzbS9idWcuaD4gaW5jbHVkZXMK
PHhlbi9kZWJ1Z2dlci5oPiB3aGljaCBzb21ld2hlcmUgaW5zaWRlIHVzZXMgQlVHKCkgd2hpY2gg
d2lsbCBiZQpkZWZpbmVkIGFmdGVyIHdlIHdpbGwgYmFjayBmb3IgeDg2J3MgPGFzbS9idWcuaD4g
dG8gPHhlbi9idWcuaD4gd2hlcmUKQlVHKCkgaXMgZGVmaW5lZC4KClNvIGl0IGxvb2tzIGxpa2Ug
d2UgY2FuJ3QgaW5jbHVkZSB0byA8YXNtL2J1Zy5oPiBzb21ldGhpbmcgdGhhdCB3aWxsCnVzZSBm
dW5jdGlvbmFsaXR5IGRlZmluZWQgaW4gPHhlbi9idWcuaD4uLi4KClRoZXJlYnkgSSBkb24ndCBz
ZWUgYmV0dGVyIG9wdGlvbiB0aGF0IGluY2x1ZGUgPHhlbi9kZWJ1Z2dlci5oPiBpbgo8Y29tbW9u
L2J1Zy5jPiBpbnN0ZWFkIG9mIDxhc20vYnVnLmg+Cgp+IE9sZWtzaWkK



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 16:55:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 16:55:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.515999.799470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phCbX-0005oJ-Sp; Tue, 28 Mar 2023 16:55:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 515999.799470; Tue, 28 Mar 2023 16: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 1phCbX-0005oC-PM; Tue, 28 Mar 2023 16:55:27 +0000
Received: by outflank-mailman (input) for mailman id 515999;
 Tue, 28 Mar 2023 16:55: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=ba0k=7U=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1phCbW-0005o3-Fa
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 16:55:26 +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 55b3844c-cd89-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 18:55:25 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id g17so16683138lfv.4
 for <xen-devel@lists.xenproject.org>; Tue, 28 Mar 2023 09:55:25 -0700 (PDT)
Received: from [192.168.202.197] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 m1-20020ac24241000000b004cb1de3f487sm5094215lfl.104.2023.03.28.09.55.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Mar 2023 09:55: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: 55b3844c-cd89-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680022524;
        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=tTFTZz5OtbOSc/QXArIuDNkh8+NovwbS/0gjjzGOaiw=;
        b=cVyURrKNfjJZjnY3jluHvjiiDxhcPPvF2ABTgsGeQ0SWkEUGRF80yLNlIUi/WgVDXo
         pUmye07FHGjT0jXerL32mZ7JSJjIb3+QLTRyqoMGK02VR54PR9XTw/xtgRU38wZxyf+d
         y6Pgoxmfw4WwUvcneZ69j+0konLhC320D8crSBIXji3ox15uPrQ794uIUZ/51NVfdn7r
         XsuDNyoGesVu2ZyieNfyDZCbvZ/keF2jKq4zNnOtauONSRhONmPOdJdhvs31WW4s4yRL
         TqDsk7M+JclB0VmjZUHnFCyhLXBgIV7mpmXbLsPpdxi8e7lMA0XtQHO2JnNcoZPKUSjK
         5a2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680022524;
        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=tTFTZz5OtbOSc/QXArIuDNkh8+NovwbS/0gjjzGOaiw=;
        b=XECygzKiW4Au1l6CqxxdkaY0iWhbxZKAS7RCCl3KmUWCRLH9ngICihB97xQE3x9wJ9
         juffKDkqN6MqCvRyU6tWC0fF+7sqENdBG3yKyGvNvuUEqw8vbvZ5RFxuOB6cYXxD8KUq
         pzfXPLNmtFysUwS+yIGD/vvitikBXpbXBMPPTzd8BnMRhqmuC/wGPxNz/Bv7T8imtIqb
         /ot7ei4rCIiIFB0Luj0zWuQzTfq1TpSQ+WrNY21LxRyJctBHxp29vFI3ikYnvsHgMsl1
         2A3gG8G/QLib4VC2/fQrqlPLok+O28rYN9lfSipGHeMOALSw6nBd5vzKOKk45B7zqLIy
         BEgA==
X-Gm-Message-State: AAQBX9c6dZp7bRF/CLbIzJjteCY/jyq8DSwiK1AviRD7iZrm9qXT66vf
	JJnngzDzI/01H0DjtLQXsXI=
X-Google-Smtp-Source: AKy350YZuD5oKTVksbuJ+ROeU4AYsNbBbtrZEzFtdcwWzkbipzY2N3k8TNWRgOkymxUeIInrYHZqhg==
X-Received: by 2002:a19:c51a:0:b0:4de:3c94:da15 with SMTP id w26-20020a19c51a000000b004de3c94da15mr5234417lfe.4.1680022524224;
        Tue, 28 Mar 2023 09:55:24 -0700 (PDT)
Message-ID: <4d0565dbc1711c2ebd122af2f6da69006be02ee5.camel@gmail.com>
Subject: Re: [PATCH v8 5/5] xen/x86: switch x86 to use generic implemetation
 of bug.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Date: Tue, 28 Mar 2023 19:55:23 +0300
In-Reply-To: <20063ebfc717b8281aaad4314213f26545f28273.camel@gmail.com>
References: <cover.1678900513.git.oleksii.kurochko@gmail.com>
	 <5e252e8dacea5c4f2fdbb4f7970e34a862987639.1678900513.git.oleksii.kurochko@gmail.com>
	 <9af94e49-ff66-5e7f-bf5f-ba4095cfed13@suse.com>
	 <883d29a6bc888b4f78d5f20af4c2cf4b1b64e7c7.camel@gmail.com>
	 <20063ebfc717b8281aaad4314213f26545f28273.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

T24gVHVlLCAyMDIzLTAzLTI4IGF0IDE5OjM4ICswMzAwLCBPbGVrc2lpIHdyb3RlOgo+IE9uIFR1
ZSwgMjAyMy0wMy0yOCBhdCAxODozOCArMDMwMCwgT2xla3NpaSB3cm90ZToKPiA+IG9mZnNldHMu
cyBhcmNoL3g4Ni94ODZfNjQvYXNtLW9mZnNldHMuYwo+ID4gSW4gZmlsZSBpbmNsdWRlZCBmcm9t
IC4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmg6MjEsCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCBmcm9tIC4vaW5jbHVkZS9wdWJsaWMvc3lzY3RsLmg6MTgsCj4gPiDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcm9tIC4vYXJjaC94ODYvaW5jbHVkZS9hc20vY3B1
aWQuaDoxNCwKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZyb20gLi9hcmNo
L3g4Ni9pbmNsdWRlL2FzbS9jcHVmZWF0dXJlLmg6MTAsCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBmcm9tIC4vYXJjaC94ODYvaW5jbHVkZS9hc20vc3lzdGVtLmg6NywKPiA+
IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZyb20gLi9hcmNoL3g4Ni9pbmNsdWRl
L2FzbS9hdG9taWMuaDo1LAo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZnJv
bSAuL2luY2x1ZGUveGVuL2dkYnN0dWIuaDoyNCwKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIGZyb20gLi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9kZWJ1Z2dlci5oOjEwLAo+ID4g
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZnJvbSAuL2luY2x1ZGUveGVuL2RlYnVn
Z2VyLmg6MjQsCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcm9tIC4vYXJj
aC94ODYvaW5jbHVkZS9hc20vYnVnLmg6NiwKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIGZyb20gLi9pbmNsdWRlL3hlbi9idWcuaDoxNSwKPiA+IMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIGZyb20gLi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9hbHRlcm5hdGl2ZS5o
OjcsCj4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcm9tIC4vYXJjaC94ODYv
aW5jbHVkZS9hc20vYml0b3BzLmg6OCwKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIGZyb20gLi9pbmNsdWRlL3hlbi9iaXRvcHMuaDoxMDYsCj4gPiDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBmcm9tIC4vYXJjaC94ODYvaW5jbHVkZS9hc20vc21wLmg6OCwKPiA+
IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZyb20gLi9pbmNsdWRlL3hlbi9zbXAu
aDo0LAo+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZnJvbSAuL2luY2x1ZGUv
eGVuL3BlcmZjLmg6NywKPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZyb20g
YXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmM6OToKPiBBbmQgYWdhaW4gdGhlIHByb2JsZW0g
aXMgdGhhdCB4ODYncyA8YXNtL2J1Zy5oPiBpbmNsdWRlcwo+IDx4ZW4vZGVidWdnZXIuaD4gd2hp
Y2ggc29tZXdoZXJlIGluc2lkZSB1c2VzIEJVRygpIHdoaWNoIHdpbGwgYmUKPiBkZWZpbmVkIGFm
dGVyIHdlIHdpbGwgYmFjayBmb3IgeDg2J3MgPGFzbS9idWcuaD4gdG8gPHhlbi9idWcuaD4gd2hl
cmUKPiBCVUcoKSBpcyBkZWZpbmVkLgo+IAo+IFNvIGl0IGxvb2tzIGxpa2Ugd2UgY2FuJ3QgaW5j
bHVkZSB0byA8YXNtL2J1Zy5oPiBzb21ldGhpbmcgdGhhdCB3aWxsCj4gdXNlIGZ1bmN0aW9uYWxp
dHkgZGVmaW5lZCBpbiA8eGVuL2J1Zy5oPi4uLgo+IAo+IFRoZXJlYnkgSSBkb24ndCBzZWUgYmV0
dGVyIG9wdGlvbiB0aGF0IGluY2x1ZGUgPHhlbi9kZWJ1Z2dlci5oPiBpbgo+IDxjb21tb24vYnVn
LmM+IGluc3RlYWQgb2YgPGFzbS9idWcuaD4KCk9yIGFzIGFuIG9wdGlvbiB3ZSBjYW4gaW5jbHVk
ZSA8eGVuL2J1Zy5oPiBpbiA8YXNtL2J1Zy5oPiBpbnN0ZWFkIG9mCmluY2x1ZGUgPGFzbS9idWcu
aD4gaW4gPHhlbi9idWcuaD4gaXQgd2lsbCBhbGxvdyB1cyB0byByZXNvbHZlIGFuCmlzc3VlLi4u
CgpEbyB5b3UgdGhpbmsgdGhpcyBvcHRpb24gd2lsbCBiZSBiZXR0ZXI/Cgp+IE9sZWtzaWkK



From xen-devel-bounces@lists.xenproject.org Tue Mar 28 17:37:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 17:37:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516004.799480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phDFX-0002Io-Vw; Tue, 28 Mar 2023 17:36:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516004.799480; Tue, 28 Mar 2023 17: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 1phDFX-0002Ih-S1; Tue, 28 Mar 2023 17:36:47 +0000
Received: by outflank-mailman (input) for mailman id 516004;
 Tue, 28 Mar 2023 17:36: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 1phDFW-0002IX-MA; Tue, 28 Mar 2023 17:36: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 1phDFW-0003rp-Jw; Tue, 28 Mar 2023 17:36: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 1phDFV-0007HM-Ux; Tue, 28 Mar 2023 17:36:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phDFV-0005pe-UR; Tue, 28 Mar 2023 17:36: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=iiIKH/Fa1IWA9f63ur/OLX0N1f5X24E5Gp4u6rcv8bo=; b=jpiqdBSgRscXXk4tHInuxIaRpo
	f0i2/JHXf3O5r3R+T0en0sF6NGviwbnooLNycDV8mZV1k7cmnYhFGee7dc4Zu+XfD2WpEx+ylV1rj
	75ZcJfZO9R8sXJA3ph/wvis/yAtuDpbdtVKeyUTtGRSfKoDQ3NKfwoXSJcMMf/SKKKpM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180042-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180042: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=07e17188df9042d6a6af96f21b0fb7bc5595ec07
X-Osstest-Versions-That:
    ovmf=e4b3fd905a170b185dcea11e2997cfe935fea208
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Mar 2023 17:36:45 +0000

flight 180042 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180042/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 07e17188df9042d6a6af96f21b0fb7bc5595ec07
baseline version:
 ovmf                 e4b3fd905a170b185dcea11e2997cfe935fea208

Last test of basis   180039  2023-03-28 09:42:23 Z    0 days
Testing same since   180042  2023-03-28 15:13:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Tinh Nguyen <tinhnguyen@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
   e4b3fd905a..07e17188df  07e17188df9042d6a6af96f21b0fb7bc5595ec07 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 17:38:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 17:38:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516008.799489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phDHF-0002qO-AA; Tue, 28 Mar 2023 17:38:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516008.799489; Tue, 28 Mar 2023 17:38: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 1phDHF-0002qH-7I; Tue, 28 Mar 2023 17:38:33 +0000
Received: by outflank-mailman (input) for mailman id 516008;
 Tue, 28 Mar 2023 17:38: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=IY7/=7U=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1phDHE-0002q9-7F
 for xen-devel@lists.xenproject.org; Tue, 28 Mar 2023 17:38:32 +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 5b2de6c3-cd8f-11ed-85db-49a42c6b2330;
 Tue, 28 Mar 2023 19:38:31 +0200 (CEST)
Received: by mail-ed1-x531.google.com with SMTP id w9so52966537edc.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Mar 2023 10:38:31 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b2de6c3-cd8f-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680025111;
        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=/8W8qlPz79ogoa6D6Z1b2Q3RyWIL+9RhPTChdKg42fI=;
        b=Ahdl9iMilksF/aQuGIiraZSaafnx2eZbcwdfbCdMoT8T0nvGfFvrZcKbVSSbqD+euu
         +cvXwQzQlh1UG8ScIHvUcSaRt0IPWW1XNO/87LwLDe8aIZO3+4NIoyA6+P/M/blseq/l
         STkkySh3hrH0qOmpZJxh3jrxlUSED+/rEKXyYW64I8UYRvuvzcGSIGBKyfBYOIfsJdhZ
         09SyxpH01DJJSOidzJGXzvFaZmmaVX8fXbt30981/Kwzq3CpzrMxqLUoKw9rx5e2wHVN
         v2OEd7Zk9YeOrxvUhEeaZYD5LOfqZKz7QLwrQxOIfxT7WeG+RRRfZ0ujzPfhhbzGuvQV
         1pgw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680025111;
        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=/8W8qlPz79ogoa6D6Z1b2Q3RyWIL+9RhPTChdKg42fI=;
        b=gGWwlPsN+spQkPJOVCJzdNIbf7EU6cQwUrJ2SsoGIFpDzgK3WZlAemhPCL4GnpbI9h
         3p9n0Xiiknxe52WiokAoVinobw4REQKqh5mH+plo03Ga1F0n21/SGscj9tnPKSUxjEe5
         VP5AmKJr3ARV7z4N+S0z6MsYWW/7kH8/WkmVvfCgHDIo988NFLhGcIjqaxnl7aNyVFW0
         cWvPNA+iS1l7A9KtaqLh/G4cQrHURZS0PCwz+UMRY2KohrK5xZBm0rvxUJBIEOP4AkNk
         /rboIAZ1k3weF0pMSZKbE5GB4nwIXKcqW6ZJ5Cl9KD8RqmS27I2gUgrUjtFcaftA+uid
         iSZw==
X-Gm-Message-State: AAQBX9dsWCm5V+WtDZiqpF1fbn4P8ln+0FBpoVp9JzWFlJGBj+4cl0UG
	6oegTN+tgwdPxWE8/45YxycfEcEZpfxCIXvgjjI=
X-Google-Smtp-Source: AKy350Yd9u9HVIzvN+5I2BYSlO8yCMHotrbdr2IyIq078JhrW9x3R2jKcxe0+9+ezZoYh4KhdvbmK8vj+FGMYhxgLfU=
X-Received: by 2002:a17:907:f90:b0:924:32b2:e3d1 with SMTP id
 kb16-20020a1709070f9000b0092432b2e3d1mr8220585ejc.3.1680025110763; Tue, 28
 Mar 2023 10:38:30 -0700 (PDT)
MIME-Version: 1.0
References: <20230325024924.882883-1-marmarek@invisiblethingslab.com>
 <20230325024924.882883-3-marmarek@invisiblethingslab.com> <5cfcfb7a-df50-fbe4-89e6-611a83991790@suse.com>
 <ZCLl3ePLgrmFTViV@mail-itl> <CAKf6xpto87QRSKT2qc1yApNfaw2SrLLxPoytYJv_jEbYTAbjCg@mail.gmail.com>
In-Reply-To: <CAKf6xpto87QRSKT2qc1yApNfaw2SrLLxPoytYJv_jEbYTAbjCg@mail.gmail.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 28 Mar 2023 13:38:18 -0400
Message-ID: <CAKf6xptHALLR-Qjf=p5y0o9Ud2V7eFMJuB8Ap-PLjv-N7PAJVQ@mail.gmail.com>
Subject: Re: [PATCH v2 3/3] x86/msi: clear initial MSI-X state on boot
To: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 28, 2023 at 9:17=E2=80=AFAM Jason Andryuk <jandryuk@gmail.com> =
wrote:
>
> On Tue, Mar 28, 2023 at 9:04=E2=80=AFAM Marek Marczykowski-G=C3=B3recki
> <marmarek@invisiblethingslab.com> wrote:
> >
> > On Tue, Mar 28, 2023 at 02:54:38PM +0200, Jan Beulich wrote:
> > > On 25.03.2023 03:49, Marek Marczykowski-G=C3=B3recki wrote:
> > > > Some firmware/devices are found to not reset MSI-X properly, leavin=
g
> > > > MASKALL set. Xen relies on initial state being both disabled.
> > > > Especially, pci_reset_msix_state() assumes if MASKALL is set, it wa=
s Xen
> > > > setting it due to msix->host_maskall or msix->guest_maskall. Cleari=
ng
> > > > just MASKALL might be unsafe if ENABLE is set, so clear them both.
> > >
> > > But pci_reset_msix_state() comes into play only when assigning a devi=
ce
> > > to a DomU. If the tool stack doing a reset doesn't properly clear the
> > > bit, how would it be cleared the next time round (i.e. after the gues=
t
> > > stopped and then possibly was started again)? It feels like the issue
> > > wants dealing with elsewhere, possibly in the tool stack.
> >
> > I may be misremembering some details, but AFAIR Xen intercepts
> > toolstack's (or more generally: accesses from dom0) attempt to clean
> > this up and once it enters an inconsistent state (or rather: starts wit=
h
> > such at the start of the day), there was no way to clean it up.
> >
> > I have considered changing pci_reset_msix_state() to not choke on
> > MASKALL being set, but I'm a bit afraid of doing it, as there it seems
> > there is a lot of assumptions all over the place and I may miss some.
>
> Hi, Marek and Jan,
>
> Marek, thank you for working on MSI-X support.
>
> As Jan says, the clearing here works during system boot.  However, I
> have found that Xen itself is setting MASKALL in __pci_disable_msix()
> when shutting down a domU.  When that is called, memory_decoded(dev)
> returns false, and Xen prints "cannot disable IRQ 137: masking MSI-X
> on 0000:00:14.3".  That makes the device unavailable for subsequent
> domU assignment.  I haven't investigated where and why memory decoding
> gets disabled for the device.
>
> Testing was with this v2 patchset integrated into OpenXT w/ Xen 4.16.
> We have some device reset changes, so I'll have to look at them again.
> Hmmm, they move the libxl device reseting from pci_remove_detached()
> to libxl__destroy_domid() to ensure all devices are de-assign after
> the domain is destroyed.  A kernel patch implements a "more thorough
> reset" which could do a slot or bus level reset, and the desire is to
> have all devices deassigned before that.  Maybe the shift later is
> throwing off Xen's expectations?

I dropped the OpenXT libxl patch, and Xen is not setting MASKALL.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 19:12:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 19:12:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516014.799500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phEkC-0005qZ-VP; Tue, 28 Mar 2023 19:12:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516014.799500; Tue, 28 Mar 2023 19: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 1phEkC-0005qS-SS; Tue, 28 Mar 2023 19:12:32 +0000
Received: by outflank-mailman (input) for mailman id 516014;
 Tue, 28 Mar 2023 19:12: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 1phEkA-0005qI-Vf; Tue, 28 Mar 2023 19:12: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 1phEkA-0006dB-S8; Tue, 28 Mar 2023 19:12: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 1phEkA-0004Xh-H7; Tue, 28 Mar 2023 19:12:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phEkA-00064s-Gf; Tue, 28 Mar 2023 19:12: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=KSe9/0HA4tmFK7eEcEhwJ/ALbaGXsGAXlqfS6OFdhxc=; b=Cn7qe7bkQbgA6UFYzqNUqsLKv2
	Zr/lgpDgOjJlNC9WMyYKvjnN5+OfCRFY/lT8zVee16sasvWgybhwd07HPp2dhdLai/CXtQXD0FTH9
	5mS92r5pAs42lfB/BYC6fFqjsEOb3CMte+08iiZ3lYWZoRb5td+Zk3jfpEXdbCcsN3qA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180038-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 180038: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-install/l1:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=3a93e40326c8f470e71d20b4c42d36767450f38f
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Mar 2023 19:12:30 +0000

flight 180038 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180038/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   19 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 26 guest-migrate/src_host/dst_host fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2      fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm     18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1 18 guest-localmigrate fail in 180032 REGR. vs. 178042
 test-amd64-amd64-xl       17 guest-saverestore fail in 180032 REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail in 180032 REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 15 xen-install/l1 fail in 180032 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-shadow 18 guest-localmigrate fail in 180032 pass in 180038
 test-amd64-amd64-xl-xsm      14 guest-start      fail in 180032 pass in 180038
 test-amd64-amd64-libvirt-pair 25 guest-start/debian fail in 180032 pass in 180038
 test-amd64-amd64-libvirt-xsm 17 guest-saverestore fail in 180032 pass in 180038
 test-arm64-arm64-xl-credit2  14 guest-start      fail in 180032 pass in 180038
 test-arm64-arm64-xl-xsm      14 guest-start      fail in 180032 pass in 180038
 test-amd64-amd64-xl-credit2 17 guest-saverestore fail in 180032 pass in 180038
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 16 guest-localmigrate fail in 180032 pass in 180038
 test-amd64-amd64-xl-credit1  17 guest-saverestore          fail pass in 180032
 test-amd64-amd64-xl          14 guest-start                fail pass in 180032
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 180032
 test-amd64-amd64-xl-rtds     14 guest-start                fail pass in 180032
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install    fail pass in 180032

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds 18 guest-localmigrate fail in 180032 REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-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-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                3a93e40326c8f470e71d20b4c42d36767450f38f
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   35 days
Failing since        178093  2023-02-22 05:02:47 Z   34 days   63 attempts
Testing same since   180032  2023-03-27 19:41:27 Z    0 days    2 attempts

------------------------------------------------------------
2281 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 267921 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 19:45:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 19:45:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516022.799510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phFGL-00019P-KV; Tue, 28 Mar 2023 19:45:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516022.799510; Tue, 28 Mar 2023 19: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 1phFGL-00019I-HG; Tue, 28 Mar 2023 19:45:45 +0000
Received: by outflank-mailman (input) for mailman id 516022;
 Tue, 28 Mar 2023 19:45: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 1phFGK-000198-6C; Tue, 28 Mar 2023 19:45: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 1phFGK-0007Pd-2J; Tue, 28 Mar 2023 19:45:44 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1phFGJ-0005c5-JE; Tue, 28 Mar 2023 19:45:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phFGJ-0001Rj-Io; Tue, 28 Mar 2023 19: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dQR+ENI8iHiHUYpOAXcRTK+pjiKJyhLQ5frMUcnRCLQ=; b=A3J3D8seGOw3UPmijNELc9zYQ1
	ZxSUcPX3qMd81uMfXlSsSkYaAJDm5bnbrlyeM7n2SHZxqVM8bPXOQW7I78E9TXLiZXIA3T857htg/
	Y1PBgk1yHeiMlcjt/SWIx9u8mS4wviM2i4UJmo12iKNGFx9q7B899cwWEBcgFlLq+t2A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180044-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180044: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=5eb3d1bcc16fb7dfd0c972bf71278e2c85dfc1ff
X-Osstest-Versions-That:
    ovmf=07e17188df9042d6a6af96f21b0fb7bc5595ec07
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Mar 2023 19:45:43 +0000

flight 180044 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180044/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 5eb3d1bcc16fb7dfd0c972bf71278e2c85dfc1ff
baseline version:
 ovmf                 07e17188df9042d6a6af96f21b0fb7bc5595ec07

Last test of basis   180042  2023-03-28 15:13:44 Z    0 days
Testing same since   180044  2023-03-28 17:40:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jianyong Wu <jianyong.wu@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
   07e17188df..5eb3d1bcc1  5eb3d1bcc16fb7dfd0c972bf71278e2c85dfc1ff -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Mar 28 22:44:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Mar 2023 22:44:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516030.799519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phI2j-0004Jd-3s; Tue, 28 Mar 2023 22:43:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516030.799519; Tue, 28 Mar 2023 22:43: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 1phI2j-0004JW-1F; Tue, 28 Mar 2023 22:43:53 +0000
Received: by outflank-mailman (input) for mailman id 516030;
 Tue, 28 Mar 2023 22:43: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 1phI2h-0004JM-IC; Tue, 28 Mar 2023 22:43: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 1phI2h-0003al-ES; Tue, 28 Mar 2023 22:43: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 1phI2g-0003UW-Vy; Tue, 28 Mar 2023 22:43:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phI2g-0007ze-VV; Tue, 28 Mar 2023 22:43: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=LoZsKI8C1HQYbvRkWoF8nFJreyVpbpYjlBHrE1oL55Q=; b=hAG9XydqJ2E3ftGdiBVl6QnTRd
	T0XO1CBY+0RpV0YwbMqweJZfq6oVMt1su2YiL+DBQ4uIOA8tUmJktqyI/kCEFlq3P2qGN6SFJboBP
	vjgXCC9RCyhyF55nY5Vnx4JJSRuJIfep40lvFvuvk4jUjNWVmnykDOP5z08wI/1A6m1g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180040-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 180040: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:xen-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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: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-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=0ab316e7e15f895c983e853512cfe0bb71ee3053
X-Osstest-Versions-That:
    xen=b1f11273d5a774cc88a3685c96c2e7cf6385e3b6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Mar 2023 22:43:50 +0000

flight 180040 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180040/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 7 xen-install fail like 179969
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 180035
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 180035
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 180035
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 180035
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 180035
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail like 180035
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 180035
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 180035
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 180035
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 180035
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  0ab316e7e15f895c983e853512cfe0bb71ee3053
baseline version:
 xen                  b1f11273d5a774cc88a3685c96c2e7cf6385e3b6

Last test of basis   180035  2023-03-28 01:52:06 Z    0 days
Testing same since   180040  2023-03-28 11:08:41 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   b1f11273d5..0ab316e7e1  0ab316e7e15f895c983e853512cfe0bb71ee3053 -> master


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 02:39:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 02:39:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516038.799538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phLif-00028E-37; Wed, 29 Mar 2023 02:39:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516038.799538; Wed, 29 Mar 2023 02: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 1phLie-00027q-Tk; Wed, 29 Mar 2023 02:39:24 +0000
Received: by outflank-mailman (input) for mailman id 516038;
 Wed, 29 Mar 2023 02:39: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 1phLic-00027g-Qq; Wed, 29 Mar 2023 02:39: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 1phLic-0000Fa-ON; Wed, 29 Mar 2023 02:39: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 1phLic-0005MI-Bs; Wed, 29 Mar 2023 02:39:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phLic-0008T7-Ai; Wed, 29 Mar 2023 02:39: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=+m6Lc7bRYdvYcwfgqW5q6UdorqnOVXNYwdzaNLKZLOs=; b=3+eE4dMkrdxwg3KFbzD3L2bjjL
	MHwwGNuhSr8+wVpqWpGzzBjwHib/vqh+hg5Q5oq7X2tVNaWyBvWfQ0bMoKzyThVNogJMZj84krac9
	4OY5EnV23qFQYMvIEAi6Db5SNXRf7dJ3EPe3brt0ATWKSAGDLmGfHVWuw+7avgltORPE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180043-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 180043: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-i386-xl-vhd:guest-start/debian.repeat:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=eeb2f7e35779845254fda594f7866ec9770ce97c
X-Osstest-Versions-That:
    qemuu=e3debd5e7d0ce031356024878a0a18b9d109354a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Mar 2023 02:39:22 +0000

flight 180043 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180043/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-vhd       21 guest-start/debian.repeat    fail  like 179993
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179993
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179993
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179993
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179993
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179993
 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-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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          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-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-amd64-i386-libvirt-raw  14 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-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      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                eeb2f7e35779845254fda594f7866ec9770ce97c
baseline version:
 qemuu                e3debd5e7d0ce031356024878a0a18b9d109354a

Last test of basis   179993  2023-03-26 06:49:42 Z    2 days
Testing same since   180043  2023-03-28 16:08:35 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Akihiko Odaki <akihiko.odaki@daynix.com>
  Jason Wang <jasowang@redhat.com>
  Klaus Jensen <k.jensen@samsung.com>
  Mateusz Kozlowski <kozlowski.mateuszpl@gmail.com>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Sriram Yagnaraman <sriram.yagnaraman@est.tech>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 test-amd64-i386-xl-vhd                                       fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   e3debd5e7d..eeb2f7e357  eeb2f7e35779845254fda594f7866ec9770ce97c -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 06:21:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 06:21:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516053.799548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phPB9-0002WS-ME; Wed, 29 Mar 2023 06:21:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516053.799548; Wed, 29 Mar 2023 06:21:03 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phPB9-0002WL-JG; Wed, 29 Mar 2023 06:21:03 +0000
Received: by outflank-mailman (input) for mailman id 516053;
 Wed, 29 Mar 2023 06:21: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=i+Ld=7V=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phPB7-0002WF-Lq
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 06:21:01 +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 debfabbe-cdf9-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 08:20:59 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 362E11FE00;
 Wed, 29 Mar 2023 06:20: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 05844139D3;
 Wed, 29 Mar 2023 06:20:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id tTh3O8nYI2TxGwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 29 Mar 2023 06:20: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: debfabbe-cdf9-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680070858; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=QF5tiN4pJiDhfYy3HpUYqdCSveJtIUKnzfiikwybTCg=;
	b=oCKkGwdZQd25vu3lwQnEnN97MY8+LkWt7J0QmPCBjJsZArKaxypZ2DxIXqi5i3tCdDcj2/
	WvrkdVlQhdG6D/6KpBdokIPkrjGqi5blyuZ9ESdVIdoZHh/c5A7xaE6gwmLnEIvfshyFiR
	B+hVNCGiPy2L7oOsqQY/rINnvBw7Kdw=
Message-ID: <38d97163-5c02-9193-5c20-ab3b5274bd51@suse.com>
Date: Wed, 29 Mar 2023 08:20:57 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Dan Carpenter <error27@gmail.com>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
References: <20230328084602.20729-1-jgross@suse.com>
 <df07e1e3-ebe0-65c6-58c0-831739b9ed4c@epam.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] xen/scsiback: don't call
 scsiback_free_translation_entry() under lock
In-Reply-To: <df07e1e3-ebe0-65c6-58c0-831739b9ed4c@epam.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------KkuCFGL7jBk3rYHaRTGCaHD7"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------KkuCFGL7jBk3rYHaRTGCaHD7
Content-Type: multipart/mixed; boundary="------------N0THAbnNAKLqB2Z0kJHF16FQ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Dan Carpenter <error27@gmail.com>,
 "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Message-ID: <38d97163-5c02-9193-5c20-ab3b5274bd51@suse.com>
Subject: Re: [PATCH] xen/scsiback: don't call
 scsiback_free_translation_entry() under lock
References: <20230328084602.20729-1-jgross@suse.com>
 <df07e1e3-ebe0-65c6-58c0-831739b9ed4c@epam.com>
In-Reply-To: <df07e1e3-ebe0-65c6-58c0-831739b9ed4c@epam.com>

--------------N0THAbnNAKLqB2Z0kJHF16FQ
Content-Type: multipart/mixed; boundary="------------t8ySs607nzW2I72U1Z9Pv10N"

--------------t8ySs607nzW2I72U1Z9Pv10N
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjguMDMuMjMgMTc6NDcsIE9sZWtzYW5kciBUeXNoY2hlbmtvIHdyb3RlOg0KPiANCj4g
DQo+IE9uIDI4LjAzLjIzIDExOjQ2LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPiANCj4gSGVs
bG8gSnVlcmdlbg0KPiANCj4+IHNjc2liYWNrX2ZyZWVfdHJhbnNsYXRpb25fZW50cnkoKSBz
aG91bGRuJ3QgYmUgY2FsbGVkIHVuZGVyIHNwaW5sb2NrLA0KPj4gYXMgaXQgY2FuIHNsZWVw
Lg0KPj4NCj4+IFRoaXMgcmVxdWlyZXMgdG8gc3BsaXQgcmVtb3ZpbmcgYSB0cmFuc2xhdGlv
biBlbnRyeSBmcm9tIHRoZSB2MnAgbGlzdA0KPj4gZnJvbSBhY3R1YWxseSBjYWxsaW5nIGty
ZWZfcHV0KCkgZm9yIHRoZSBlbnRyeS4NCj4+DQo+PiBSZXBvcnRlZC1ieTogRGFuIENhcnBl
bnRlciA8ZXJyb3IyN0BnbWFpbC5jb20+DQo+PiBMaW5rOiBodHRwczovL3VybGRlZmVuc2Uu
Y29tL3YzL19faHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC9ZKkpVSWw2NFVEbWRrYm9o
QGthZGFtL19fO0t3ISFHRl8yOWRiY1FJVUJQQSEyM0lLZFZoYW1vRnE4cHRVbnByZF9UdWJE
TU9iai0wUUFhbHNHaWZmQkhDZUVkT3V3cnE3ejRvaGc5MlNqMG9sZ2wwbmg3M29YdlNyLWkx
enFYaFkkIFtsb3JlWy5da2VybmVsWy5db3JnXQ0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdl
biBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4gLS0tDQo+PiAgICBkcml2ZXJzL3hlbi94
ZW4tc2NzaWJhY2suYyB8IDI3ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQ0KPj4gICAg
MSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQ0KPj4N
Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi94ZW4tc2NzaWJhY2suYyBiL2RyaXZlcnMv
eGVuL3hlbi1zY3NpYmFjay5jDQo+PiBpbmRleCA5NTQxODhiMGI4NTguLjI5NGYyOWNkYzdh
YSAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMveGVuL3hlbi1zY3NpYmFjay5jDQo+PiArKysg
Yi9kcml2ZXJzL3hlbi94ZW4tc2NzaWJhY2suYw0KPj4gQEAgLTEwMTAsMTIgKzEwMTAsNiBA
QCBzdGF0aWMgaW50IHNjc2liYWNrX2FkZF90cmFuc2xhdGlvbl9lbnRyeShzdHJ1Y3QgdnNj
c2lia19pbmZvICppbmZvLA0KPj4gICAgCXJldHVybiBlcnI7DQo+PiAgICB9DQo+PiAgICAN
Cj4+IC1zdGF0aWMgdm9pZCBfX3Njc2liYWNrX2RlbF90cmFuc2xhdGlvbl9lbnRyeShzdHJ1
Y3QgdjJwX2VudHJ5ICplbnRyeSkNCj4+IC17DQo+PiAtCWxpc3RfZGVsKCZlbnRyeS0+bCk7
DQo+PiAtCWtyZWZfcHV0KCZlbnRyeS0+a3JlZiwgc2NzaWJhY2tfZnJlZV90cmFuc2xhdGlv
bl9lbnRyeSk7DQo+PiAtfQ0KPj4gLQ0KPj4gICAgLyoNCj4+ICAgICAgRGVsZXRlIHRoZSB0
cmFuc2xhdGlvbiBlbnRyeSBzcGVjaWZpZWQNCj4+ICAgICovDQo+PiBAQCAtMTAyNCwxOCAr
MTAxOCwyMCBAQCBzdGF0aWMgaW50IHNjc2liYWNrX2RlbF90cmFuc2xhdGlvbl9lbnRyeShz
dHJ1Y3QgdnNjc2lia19pbmZvICppbmZvLA0KPj4gICAgew0KPj4gICAgCXN0cnVjdCB2MnBf
ZW50cnkgKmVudHJ5Ow0KPj4gICAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+PiAtCWludCBy
ZXQgPSAwOw0KPj4gICAgDQo+PiAgICAJc3Bpbl9sb2NrX2lycXNhdmUoJmluZm8tPnYycF9s
b2NrLCBmbGFncyk7DQo+PiAgICAJLyogRmluZCBvdXQgdGhlIHRyYW5zbGF0aW9uIGVudHJ5
IHNwZWNpZmllZCAqLw0KPj4gICAgCWVudHJ5ID0gc2NzaWJhY2tfY2hrX3RyYW5zbGF0aW9u
X2VudHJ5KGluZm8sIHYpOw0KPj4gICAgCWlmIChlbnRyeSkNCj4+IC0JCV9fc2NzaWJhY2tf
ZGVsX3RyYW5zbGF0aW9uX2VudHJ5KGVudHJ5KTsNCj4+IC0JZWxzZQ0KPj4gLQkJcmV0ID0g
LUVOT0VOVDsNCj4+ICsJCWxpc3RfZGVsKCZlbnRyeS0+bCk7DQo+PiAgICANCj4+ICAgIAlz
cGluX3VubG9ja19pcnFyZXN0b3JlKCZpbmZvLT52MnBfbG9jaywgZmxhZ3MpOw0KPj4gLQly
ZXR1cm4gcmV0Ow0KPj4gKw0KPj4gKwlpZiAoIWVudHJ5KQ0KPj4gKwkJcmV0dXJuIC1FTk9F
TlQ7DQo+PiArDQo+PiArCWtyZWZfcHV0KCZlbnRyeS0+a3JlZiwgc2NzaWJhY2tfZnJlZV90
cmFuc2xhdGlvbl9lbnRyeSk7DQo+PiArCXJldHVybiAwOw0KPj4gICAgfQ0KPj4gICAgDQo+
PiAgICBzdGF0aWMgdm9pZCBzY3NpYmFja19kb19hZGRfbHVuKHN0cnVjdCB2c2NzaWJrX2lu
Zm8gKmluZm8sIGNvbnN0IGNoYXIgKnN0YXRlLA0KPj4gQEAgLTEyMzksMTQgKzEyMzUsMTkg
QEAgc3RhdGljIHZvaWQgc2NzaWJhY2tfcmVsZWFzZV90cmFuc2xhdGlvbl9lbnRyeShzdHJ1
Y3QgdnNjc2lia19pbmZvICppbmZvKQ0KPj4gICAgew0KPj4gICAgCXN0cnVjdCB2MnBfZW50
cnkgKmVudHJ5LCAqdG1wOw0KPj4gICAgCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQgPSAmKGlu
Zm8tPnYycF9lbnRyeV9saXN0cyk7DQo+PiArCXN0cnVjdCBsaXN0X2hlYWQgdG1wX2xpc3Q7
DQo+IA0KPiANCj4gSSB3b3VsZCB1c2UgTElTVF9IRUFEKHRtcF9saXN0KTsNCg0KVGhlcmUg
aXMgbm8gbmVlZCB0byBpbml0aWFsaXplIGl0LCBzbyBJIHRoaW5rIEkgd2lsbCBrZWVwIGl0
IGFzIGlzLg0KDQo+IA0KPj4gICAgCXVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+PiAgICANCj4+
ICAgIAlzcGluX2xvY2tfaXJxc2F2ZSgmaW5mby0+djJwX2xvY2ssIGZsYWdzKTsNCj4+ICAg
IA0KPj4gLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoZW50cnksIHRtcCwgaGVhZCwgbCkN
Cj4+IC0JCV9fc2NzaWJhY2tfZGVsX3RyYW5zbGF0aW9uX2VudHJ5KGVudHJ5KTsNCj4+ICsJ
bGlzdF9jdXRfYmVmb3JlKCZ0bXBfbGlzdCwgaGVhZCwgaGVhZCk7DQo+IA0KPiBzbyB3ZSBq
dXN0IG1vdmUgYWxsIGVudHJpZXMgZnJvbSBoZWFkIHRvIHRtcF9saXN0IGhlcmUgdG8gYmUg
cHJvY2Vzc2VkLi4uDQoNCkNvcnJlY3QuDQoNCj4gDQo+PiAgICANCj4+ICAgIAlzcGluX3Vu
bG9ja19pcnFyZXN0b3JlKCZpbmZvLT52MnBfbG9jaywgZmxhZ3MpOw0KPiANCj4gLi4uIHdo
ZW4gdGhlIGxvY2sgaXMgbm90IGhlbGQsIG9rDQo+IA0KPiBQYXRjaCBMR1RNLCBidXQgb25l
IChtYXliZSBzdHVwaWQpIHF1ZXN0aW9uIHRvIGNsYXJpZnkuDQo+IA0KPiBXaHkgZG8gd2Ug
bmVlZCB0byB1c2UgYSBsb2NrIGhlcmUgaW4gdGhlIGZpcnN0IHBsYWNlPyBUaGUNCj4gc2Nz
aWJhY2tfcmVsZWFzZV90cmFuc2xhdGlvbl9lbnRyeSgpIGdldHMgY2FsbGVkIHdoZW4gdGhl
IGRyaXZlcg0KPiBpbnN0YW5jZSBpcyBhYm91dCB0byBiZSByZW1vdmVkIGFuZCAqYWZ0ZXIq
IHRoZSBkaXNjb25uZWN0aW9uIGZyb20NCj4gb3RoZXJlbmQgKHNvIG5vIHJlcXVlc3RzIGFy
ZSBleHBlY3RlZCksIHNvIHdoYXQgZWxzZSBtaWdodCBjYXVzZSB0aGlzDQo+IGxpc3QgdG8g
YmUgYWNjZXNzZWQgY29uY3VycmVudGx5Pw0KDQpNYXliZSBub3RoaW5nLCBidXQgSSB0aGlu
ayBpdCBpcyBnb29kIHByYWN0aWNlIHRvIGtlZXAgdGhlIGxvY2sgaW4gb3JkZXINCnRvIGF2
b2lkIGZ1dHVyZSBjb2RlIGNoYW5nZXMgdG8gY2F1c2UgcHJvYmxlbXMuDQoNCg0KSnVlcmdl
bg0KDQo=
--------------t8ySs607nzW2I72U1Z9Pv10N
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-----

--------------t8ySs607nzW2I72U1Z9Pv10N--

--------------N0THAbnNAKLqB2Z0kJHF16FQ--

--------------KkuCFGL7jBk3rYHaRTGCaHD7
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQj2MkFAwAAAAAACgkQsN6d1ii/Ey9Q
nwgAh2roWMbyeLfm3rQu+e0ELkmG/8lZWYH15wQWk0EzXenPfJ0XtQ4vrL7Bb37/eoZdZvLKEtxE
Xj3FsX0hyr71+LBf4dVAks9qX0RxOkPv8TcscgjIhLQAEtkYHRhkTlCwdCYeqSKjqSwnxAMS/YEQ
4WgGCaQoLFvf66PUmV0jKrdahzf1IfpMUk/5ftPOn12Mm45xlCIixdq1C7zehozQjRb6MZLAfeN0
DR5Da9/aXfRzxbVdoFnhqkVP6PzRH/1E/3V+V5n9OSmmiHmA60NNHWdBe2xqTEB4VDfwR7qIiNVQ
bljElpfwXkTRyvCcvOvNt92BjviZlCsku5epOPeYFg==
=07qg
-----END PGP SIGNATURE-----

--------------KkuCFGL7jBk3rYHaRTGCaHD7--


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 06:21:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 06:21:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516055.799557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phPBd-0002uR-Um; Wed, 29 Mar 2023 06:21:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516055.799557; Wed, 29 Mar 2023 06:21:33 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phPBd-0002uK-SE; Wed, 29 Mar 2023 06:21:33 +0000
Received: by outflank-mailman (input) for mailman id 516055;
 Wed, 29 Mar 2023 06:21: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=i+Ld=7V=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phPBd-0002u2-0u
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 06:21: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 f1c84dde-cdf9-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 08:21:30 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 62F601FE00;
 Wed, 29 Mar 2023 06:21: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 1AD86139D3;
 Wed, 29 Mar 2023 06:21:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id st79BOrYI2RMHAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 29 Mar 2023 06:21: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: f1c84dde-cdf9-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680070890; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:
	 mime-version:mime-version:content-type:content-type:
	 in-reply-to:in-reply-to:references:references;
	bh=L14tD8JgCIJiHJ4SUWL9zMGaARCTrQmXrX+IJ54lWQ0=;
	b=crY9KMi+5NMuFc2oi3nW4AC6XP7Q3OR8RMh0dgGV8eNaIqu7QuAlneK0v1U8E9pjLIwWSv
	4tSx4o4bzImro2+e0a3FHZ2qa9xzJn4JvBs53CyO4bGe1FZtV1Ogo8iKTrRCDv3qeivW1G
	7ZqMclBjCoDY+QujNglSQ1ZntI1W/KA=
Message-ID: <e518732c-3104-9263-f484-a8b374ac604d@suse.com>
Date: Wed, 29 Mar 2023 08:21:29 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.8.0
Subject: Re: [PATCH v2 3/3] xen/netback: use same error messages for same
 errors
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 netdev@vger.kernel.org
References: <20230328131047.2440-1-jgross@suse.com>
 <20230328131233.2534-4-jgross@suse.com>
 <435f5ab4-e0ca-f66d-dc0d-0ed8633ed2e7@suse.com>
From: Juergen Gross <jgross@suse.com>
In-Reply-To: <435f5ab4-e0ca-f66d-dc0d-0ed8633ed2e7@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0MeRe4op47ysplC7AKBme1iZ"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0MeRe4op47ysplC7AKBme1iZ
Content-Type: multipart/mixed; boundary="------------Uxsj61YPyfZ0kMT3HGUNDcQT";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 netdev@vger.kernel.org
Message-ID: <e518732c-3104-9263-f484-a8b374ac604d@suse.com>
Subject: Re: [PATCH v2 3/3] xen/netback: use same error messages for same
 errors
References: <20230328131047.2440-1-jgross@suse.com>
 <20230328131233.2534-4-jgross@suse.com>
 <435f5ab4-e0ca-f66d-dc0d-0ed8633ed2e7@suse.com>
In-Reply-To: <435f5ab4-e0ca-f66d-dc0d-0ed8633ed2e7@suse.com>

--------------Uxsj61YPyfZ0kMT3HGUNDcQT
Content-Type: multipart/mixed; boundary="------------dsiNCLK0cAyWKl6mSzjOKpdi"

--------------dsiNCLK0cAyWKl6mSzjOKpdi
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

T24gMjguMDMuMjMgMTU6MzIsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyOC4wMy4yMDIz
IDE1OjEyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gSXNzdWUgdGhlIHNhbWUgZXJyb3Ig
bWVzc2FnZSBpbiBjYXNlIGFuIGlsbGVnYWwgcGFnZSBib3VuZGFyeSBjcm9zc2luZw0KPj4g
aGFzIGJlZW4gZGV0ZWN0ZWQgaW4gYm90aCBjYXNlcyB3aGVyZSB0aGlzIGlzIHRlc3RlZC4N
Cj4+DQo+PiBTdWdnZXN0ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4N
Cj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+
IC0tLQ0KPj4gVjI6DQo+PiAtIG5ldyBwYXRjaA0KPj4gLS0tDQo+PiAgIGRyaXZlcnMvbmV0
L3hlbi1uZXRiYWNrL25ldGJhY2suYyB8IDYgKystLS0tDQo+PiAgIDEgZmlsZSBjaGFuZ2Vk
LCAyIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pDQo+Pg0KPj4gZGlmZiAtLWdpdCBh
L2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL25ldGJhY2suYyBiL2RyaXZlcnMvbmV0L3hlbi1u
ZXRiYWNrL25ldGJhY2suYw0KPj4gaW5kZXggOWNhNGI2OWQzYjM5Li41ZGZkZWM0NDM1NGEg
MTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9uZXRiYWNrLmMNCj4+
ICsrKyBiL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL25ldGJhY2suYw0KPj4gQEAgLTk5Niwx
MCArOTk2LDggQEAgc3RhdGljIHZvaWQgeGVudmlmX3R4X2J1aWxkX2dvcHMoc3RydWN0IHhl
bnZpZl9xdWV1ZSAqcXVldWUsDQo+PiAgIA0KPj4gICAJCS8qIE5vIGNyb3NzaW5nIGEgcGFn
ZSBhcyB0aGUgcGF5bG9hZCBtdXN0bid0IGZyYWdtZW50LiAqLw0KPj4gICAJCWlmICh1bmxp
a2VseSgodHhyZXEub2Zmc2V0ICsgdHhyZXEuc2l6ZSkgPiBYRU5fUEFHRV9TSVpFKSkgew0K
Pj4gLQkJCW5ldGRldl9lcnIocXVldWUtPnZpZi0+ZGV2LA0KPj4gLQkJCQkgICAidHhyZXEu
b2Zmc2V0OiAldSwgc2l6ZTogJXUsIGVuZDogJWx1XG4iLA0KPj4gLQkJCQkgICB0eHJlcS5v
ZmZzZXQsIHR4cmVxLnNpemUsDQo+PiAtCQkJCSAgICh1bnNpZ25lZCBsb25nKSh0eHJlcS5v
ZmZzZXQmflhFTl9QQUdFX01BU0spICsgdHhyZXEuc2l6ZSk7DQo+PiArCQkJbmV0ZGV2X2Vy
cihxdWV1ZS0+dmlmLT5kZXYsICJDcm9zcyBwYWdlIGJvdW5kYXJ5LCB0eHAtPm9mZnNldDog
JXUsIHNpemU6ICV1XG4iLA0KPj4gKwkJCQkgICB0eHJlcS5vZmZzZXQsIHR4cmVxLnNpemUp
Ow0KPj4gICAJCQl4ZW52aWZfZmF0YWxfdHhfZXJyKHF1ZXVlLT52aWYpOw0KPj4gICAJCQli
cmVhazsNCj4+ICAgCQl9DQo+IA0KPiBUbyBiZSBob25lc3QgSSdtIG9mIHRoZSBvcGluaW9u
IHRoYXQgdGhpcyBnb2VzIHNsaWdodGx5IHRvbyBmYXI6DQo+IE1ha2luZyB0aGUgdHdvIG1l
c3NhZ2VzIG1vcmUgc2ltaWxhciBpcyBjZXJ0YWlubHkgaGVscGZ1bC4gQnV0IGluDQo+IGNh
c2Ugb2YgcHJvYmxlbXMgSSB0aGluayBpdCB3b3VsZG4ndCBodXJ0IGlmIHRoZXkncmUgc3Rp
bGwNCj4gZGlzdGluZ3Vpc2hhYmxlIC0gd2hlbiB0aGUgb25lIGhlcmUgdHJpZ2dlcnMgaXQg
bWF5IGUuZyBhbHNvIG1lYW4NCj4gdGhhdCB0aGUgY2FsY3VsYXRpb24gb2YgdGhlIHJlc2lk
dWFsIHNpemUgaXMgY2F1c2luZyBhbiBpc3N1ZS4gU28NCj4gbWF5YmUgc3RpY2sgdG8gdHhy
ZXEub2Zmc2V0IGluIHRoZSBtZXNzYWdlIHRleHQsIHdpdGggZXZlcnl0aGluZw0KPiBlbHNl
IGxlZnQgYXMgeW91IGhhdmUgaXQ/DQoNCkZpbmUgd2l0aCBtZS4NCg0KDQpKdWVyZ2VuDQoN
Cg==
--------------dsiNCLK0cAyWKl6mSzjOKpdi
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-----

--------------dsiNCLK0cAyWKl6mSzjOKpdi--

--------------Uxsj61YPyfZ0kMT3HGUNDcQT--

--------------0MeRe4op47ysplC7AKBme1iZ
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature"

-----BEGIN PGP SIGNATURE-----

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmQj2OkFAwAAAAAACgkQsN6d1ii/Ey9j
Xwf/SAh05L2mpANQIHipHjodS5ge3aJwDAHjaDBrP2JOOsZk89jAloRwQ0uUiPuB7OIiVlZt9hrj
hbFTPwJEDfvXirfZRtLqCaVA41jP/HqdPcJ/og8R/ZtYK0kaARds6PIgbbSX17x8epKwGFygVhOu
3ZlAyVC3GcEz06+vBGmdxKwJLdKyoUn6mERplLhquP9qgnx0DFhC1w9zzZNkFZGQkAxZueRutkoR
yRtbVG4UHM+t40uHWXGZYfiITG0fbWor/bZ3A3DKuv55xnX5m3gAVfAjFLFolCv3nihCQilJY73b
l6NK9FzmqgsP9erKV4WiBRSZjRnOOZJAozFv8GhRTw==
=bePB
-----END PGP SIGNATURE-----

--------------0MeRe4op47ysplC7AKBme1iZ--


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 06:49:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 06:49:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516059.799567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phPcN-0005kM-3v; Wed, 29 Mar 2023 06:49:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516059.799567; Wed, 29 Mar 2023 06:49: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 1phPcN-0005kF-1G; Wed, 29 Mar 2023 06:49:11 +0000
Received: by outflank-mailman (input) for mailman id 516059;
 Wed, 29 Mar 2023 06:49: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=Z5OA=7V=xen.org=tim@srs-se1.protection.inumbo.net>)
 id 1phPcM-0005k9-4K
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 06:49:10 +0000
Received: from deinos.phlegethon.org (deinos.phlegethon.org
 [2001:41d0:8:b1d7::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cbe64cfb-cdfd-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 08:49:06 +0200 (CEST)
Received: from tjd by deinos.phlegethon.org with local (Exim 4.94.2 (FreeBSD))
 (envelope-from <tim@xen.org>)
 id 1phPcC-0004R8-VQ; Wed, 29 Mar 2023 06:49:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cbe64cfb-cdfd-11ed-b464-930f4c7d94ae
Date: Wed, 29 Mar 2023 07:49:00 +0100
From: Tim Deegan <tim@xen.org>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>
Subject: Re: [PATCH 07/16] x86/shadow: call sh_update_cr3() directly from
 sh_page_fault()
Message-ID: <20230329064900.GA17009@deinos.phlegethon.org>
References: <dd9205b8-63f0-b1bc-f2b8-50d5da2bf2a7@suse.com>
 <69304929-de84-04db-04f2-8faffc12ef0f@suse.com>
 <20230327153922.GA96023@deinos.phlegethon.org>
 <324a10c7-92f6-d636-ee3b-da9858399d34@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
In-Reply-To: <324a10c7-92f6-d636-ee3b-da9858399d34@suse.com>
X-SA-Known-Good: Yes
X-SA-Exim-Connect-IP: <locally generated>
X-SA-Exim-Mail-From: tim@xen.org
X-SA-Exim-Scanned: No (on deinos.phlegethon.org); SAEximRunCond expanded to false

At 12:37 +0200 on 28 Mar (1680007032), Jan Beulich wrote:
> On 27.03.2023 17:39, Tim Deegan wrote:
> > At 10:33 +0100 on 22 Mar (1679481226), Jan Beulich wrote:
> >> There's no need for an indirect call here, as the mode is invariant
> >> throughout the entire paging-locked region. All it takes to avoid it is
> >> to have a forward declaration of sh_update_cr3() in place.
> >>
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> >> ---
> >> I find this and the respective Win7 related comment suspicious: If we
> >> really need to "fix up" L3 entries "on demand", wouldn't we better retry
> >> the shadow_get_and_create_l1e() rather than exit? The spurious page
> >> fault that the guest observes can, after all, not be known to be non-
> >> fatal inside the guest. That's purely an OS policy.
> > 
> > I think it has to be non-fatal because it can happen on real hardware,
> > even if the hardware *does* fill the TLB here (which it is not
> > required to).
> 
> But if hardware filled the TLB, it won't raise #PF. If it didn't fill
> the TLB (e.g. because of not even doing a walk when a PDPTE is non-
> present), a #PF would be legitimate, and the handler would then need
> to reload CR3. But such a #PF is what, according to the comment, Win7
> chokes on.

IIRC the Win7 behaviour is to accept and discard the #PF as spurious
(because it sees the PDPTE is present) *without* reloading CR3, so it
gets stuck in a loop taking pagefaults.  Here, we reload CR3 for it,
to unstick it.

I can't think of a mental model of the MMU that would have a problem
here -- either the L3Es are special in which case the pagefault is
correct (and we shouldn't even read the new contents) or they're just
like other PTEs in which case the spurious fault is fine.

> > The assert's not true here because the guest can push us down this
> > path by doing exactly what Win 7 does here - loading CR3 with a
> > missing L3E, then filling the L3E and causing a page fault that uses
> > the now-filled L3E.  (Or maybe that's not true any more; my mental
> > model of the pagetable walker code might be out of date)
> 
> Well, I specifically started the paragraph with 'Beyond the "on demand"
> L3 entry creation'. IOW the assertion would look applicable to me if
> we, as suggested higher up, retried shadow_get_and_create_l1e() and it
> failed again. As the comment there says, "we know the guest entries are
> OK", so the missing L3 entry must have appeared.

Ah, I didn't quite understand you.  Yes, if we changed the handler to
rebuild the SL3E then I think the assertion would be valid again.

Cheers,

Tim.


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 06:51:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 06:51:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516063.799578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phPe1-00077V-Er; Wed, 29 Mar 2023 06:50:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516063.799578; Wed, 29 Mar 2023 06:50: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 1phPe1-00077O-C1; Wed, 29 Mar 2023 06:50:53 +0000
Received: by outflank-mailman (input) for mailman id 516063;
 Wed, 29 Mar 2023 06:50: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phPe0-00077I-EZ
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 06:50:52 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061a.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09520038-cdfe-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 08:50:49 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6222.35; Wed, 29 Mar
 2023 06:50:47 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 06: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: 09520038-cdfe-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g0nYBF8Y7ZxO88hnGgZV+GYYppJcP0ey9mWHIZpCd+HRIjs3JRQOpBKac4oX6Lvai1vnZ+y5P8P4kp9PVDzi5I6TtH5AEbxFYRZKyRuvQjAzhSMtlOOuYvYzy/weKRdYYdHVS1Kqf85mjhZlVSKCq/9m5FzgdVtve3uCiekuURKtxxzPaUcAUAmMPwk3+xmAdEJPP+cALloJsiMat8XDm/pVmYYq/GCUeQkARkwLj0OrePvFzmpHC56hz7hqVAP2H+L88qSJevarvp8NKwXfIhwjHAianzNoUDG44hkIHDo0vUDmOnjy1GiyK6HWyH9sNLfFSDi0qIR0UvnWxW9/UQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SC8JjrPz6uqOyyhMgMFiAFkMiLXWPS32xD/kCYDQ6Us=;
 b=GcZ+2cXrbqawfheG5FfdglutgEDxA2MLrpQabo4iff8oqr/bolQTTu084lakZSv1FsbRJJDiMUuzbQ2PcnLvfLhzLCS9xoUO1pymqCxzut5PtB6lZmhAHajZsb0T2ngCqCK6tx1+B2TJn3T/Vz5fH17G8JeVqT7o3RhRRFfEmet5B0DmjoXsC0SD9VHJpwTNPTzyf59wTLjVIg4wwl2eZmq7z7yEidL7autCqIaRLXKHpVGdcFbaxEfq4ssfJ6rtIr3cWHqoZc87IgGynsn6N8KybOAVrZJpC0Xz8lQ6k+WkI8ihRG6KVuPHZ8xDeSDBVYRumHaob8aGKdeRzVbfKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SC8JjrPz6uqOyyhMgMFiAFkMiLXWPS32xD/kCYDQ6Us=;
 b=T48QqwBx6XBWyMndpIiM0jMOkO4WfiWlJEMV80pEnKQasTG91fNHSAkUUj3nB6DCb+6pfhXiktd2IDPX24moPyMUl1IhcQLSRIBv75dXdySliB+lrA0I6iMCv5TWX9RB17g40dBV9lbd+s8Mk1mGQnR7vpkmrWebSn4LPS1rOJO4e0PZGECwYiwwYUiG0lJyyuBa5WU3rESOung5+1Kb1ajB3DbJtht1V0aaOE2XvT/AacSJ+RD5w12yEtU4IjKL7dN/U6vZtNf9IvnmEkcjjcc21ieLQdMwO78iio947PFRuLyuXO7zQyl9URZ3jSDsoXe9rXTEYhMBV548xZc/pg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8e96dec5-1575-3561-c61f-ee188c884b9a@suse.com>
Date: Wed, 29 Mar 2023 08:50:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] ns16550: correct name/value pair parsing for PCI port/bridge
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0192.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7651:EE_
X-MS-Office365-Filtering-Correlation-Id: afc99936-8446-46c5-d4bc-08db3021ec6e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nhMY8KW7+I7MXFzt/Un5DIS7Mcr5nYlLvu4B2w4Zx/jhCLfEolJ3KkP947HHkfiQ39Ksjgjo0O6EzsAQfMBGxfdNi24lG4qWrhrL7WcuICWh9cz8seYR5/jPI830cvUB1RfW2gjti3QDrV+TzNUofXR9tpZH6sVNZxgq2SeoaX3MkRKUyaHc3MSGAjeZtIMF9GP+the/+B8axWc0tw/+BuTKf6CWT3/tMmJbpBDVY9LmYBicoRfayZizjyz2YdYrpRSTTFKEbGcQfdixwJfdyMEyQlbPe7GjTVen0hCojsd96DsbH5+ClkycNNgtPrSM5xCRXGrnCZU5WospP9ruFHTBUWHzWgjiApMKCpt6HOz/W3SCMSKWAhb/kPfW/ndKYSdh8CEOB14u6ylNlFCe9B1Mijo1TPxfaMJceI+T3K1DF1kSW4ZSsCwFKnEUEZGZJxVI40NT0WBYTlIdsWgWzyKnmjo5QAbX0dLCrXQ/3IyeuFu5tHOB805g3egjX7Wb3xjane6/mLenjcaFeKojizWassyIdxr6zh5A9lnrWXN01YTg0qcIK3oATePWEhkAKHKWZzZ4JBoN128qUxZXJfWkZul4jnx69WFY+wu9XMXEd5j6199sPVgq3HkHorkbXwhAg5XhtMFjLZ9S1sD9iQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(346002)(396003)(376002)(366004)(39860400002)(451199021)(26005)(6486002)(38100700002)(2616005)(186003)(2906002)(5660300002)(8936002)(6512007)(6506007)(36756003)(54906003)(478600001)(316002)(86362001)(41300700001)(4326008)(31696002)(6916009)(66476007)(66556008)(66946007)(8676002)(83380400001)(31686004)(66899021)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cEZLcDltY1N3YkUyYU1YZWZKejZrdjFEMHlydm93NS9nYzZ0OWR4dmFFc3o1?=
 =?utf-8?B?c0RJbjdnemJNNXRUeTFmUnUxeTFqTWJHMU0wVmZjTmgvQTlEOG1XMzgxVEww?=
 =?utf-8?B?UEZvUnAzemR5SHdmTXFHVmk3Qzk1eGNMOWJGdUd3T0h2b1Fsdk5BZGtETVVK?=
 =?utf-8?B?OU9ERG91KzJ6V29zajRVWlFFR096S1p2ZXBtWUVnRE1FMlFMM3VkWVRqOStz?=
 =?utf-8?B?bXBIWi9Vb3k1M0VGb2VZTkJxZUYvZG9VR1MyVXNCTFNUb0hFMVU3Vi9Id3Ji?=
 =?utf-8?B?Nm9udVVCVTVNZ21LTXpBRTZhQlVjQUh6cmlHWjZzUWpZMmpFVDZEenpNMG15?=
 =?utf-8?B?UmdESk5CaE1qczJYNWlDQmVCbFpEVU1FdkhGS3ZGZlVaSmZxSXdRZnhFaUdm?=
 =?utf-8?B?OE11MjZRUWR3NGdGNXpXN1lld1c4TlN1UXBHbmZveHkvZnpzdjlhT09aVTdp?=
 =?utf-8?B?STZONUlYUTY3b3kwVFJvYXdLTHoyQzNwMUp1T29NaFZTS0l4dlRpVEczTVdG?=
 =?utf-8?B?VVhkcVBFaDBHaTRMbEQzYUIxNjdZZTJJT1ovVnpQWmRGTmNmUk5wRk5XQ2NK?=
 =?utf-8?B?cGx5YTViM1c1YTUrdU11RXdKTjJ5MTNsQ0VrMGJjcGhOQ1dTdFJ4YmJ6TjVo?=
 =?utf-8?B?N0JaZExuT1dGUVZHU216RzB4U1ZhMlZPd0NGNGpFbkNxeDM3bm9WRXVJU1Iy?=
 =?utf-8?B?NXoyYUU5ZkRPYVhhdVV1anM0QUI0WXduT2piRVBlU2o3UGVsWThNbjdKVzhN?=
 =?utf-8?B?ZkJtd3VUWWNFNW5NM2dmWHdNQXBhSWV6TXRUcWFWQk9POVV4NGdQNkRkNVp6?=
 =?utf-8?B?OVBIT05RaXFUY1ZBRDB4a2pxYWdkRUVBc3ZnRmNidlBDWGlCU09FVGpzS3Ja?=
 =?utf-8?B?MUZOQUJuWnBaSXc2TTFvUFpIbGVjUnJrMEdaMm9BSUk0ZlJ3KzY2Q2JPMUc1?=
 =?utf-8?B?ak9SaHQwRDFzZzJDNnJ1S3d3SnNmOVFlYkJjMHZJUDlIbDF2SW92SnZuUkRv?=
 =?utf-8?B?SVgrSkZFWUh3eFB2dFFRdGtjMElnQ2lDSzhlRkFxcHJUcmlVSGtTTTVob3pV?=
 =?utf-8?B?WkZpdXhhV3hHa1ZUcHIyOWJWS25LWVFWcWpLeVBNTnhmb2FxTXM0MzYzd3hM?=
 =?utf-8?B?bFhiUVRqc1ZrYzNmNmJqUlFQMkFzS2dKQlZHQmdFb2xDVFBuTktXc2pRQjY0?=
 =?utf-8?B?Ny9pL29UcWlYR0tzREFPQm90cWd4Y29nYm9KY3duVDBsZEFSbStCSHdnallh?=
 =?utf-8?B?S0xib0Y1cFJHVVpUdWk4V0h1aTEyZDdCMVdMajc5RGtqM1JSY0xPQVpxOEMz?=
 =?utf-8?B?QlR2S2lzSlZXMjZYbmRWV29pMTQ3NzdGRnE0aHhYRCtvUmF0bzlyckMwVW5O?=
 =?utf-8?B?R0VvOGxKWjh2QmFidlZEa3VOM3EyYWxoemNpWXQvdGVtaHVhaTRpNkZXZGl4?=
 =?utf-8?B?SllrRFlxS3NqSS9DUHZDcnhSU3pzby9TQUZ0YmpmUUpsYkRGbkZ6dXo4OE84?=
 =?utf-8?B?WDhDWVVycmVqOHBsbzNGbEduUC9uRDVGQUIxYWM3ek1wYUllMUpnYm5LU0pQ?=
 =?utf-8?B?TFpRc3oyY2NaM28xVThGVlkrY2FFNkM4OGd6di9hRjU5VWRxbUxVdHQ0U1FZ?=
 =?utf-8?B?Rzcwc3NVeXNPMW5hRW44VzAvaGptczBnYnNqeCtKWkJzMFlXSVRySzNzWFl6?=
 =?utf-8?B?M2xSS0JiZjlUVHFLYzhpMGgvMVpDWWdhUWZpV2ZwTWtiQjhaazdkSmVReWNN?=
 =?utf-8?B?VTg4QmZRb2F0dStUY2Q2YWQrK0JuWk1QR3dwaHY4bVVORFYrcWpFMkRZNGRG?=
 =?utf-8?B?MGpucjlSQ0hOOFRyL2ZvMlN5Uklra3hXb1J0MGd2T1c4Y2k5dTNXd01Vbkox?=
 =?utf-8?B?VUNCVlowakVUWmg4MmhYT21HL01zaXVRMUlzNVF6VnVJMGJqUFF3RG80NFJQ?=
 =?utf-8?B?ZXJGT3BLVHgvZ2I5L2JJTXN0emJxMmN2b253UFY5YmRGWEZoRDk1VFhjRnRx?=
 =?utf-8?B?dnE4bUpqME14R1l6eXRaeFlhVnQ5bnNPUnFxMFNEczFISE90S09DKy84TnA5?=
 =?utf-8?B?MjlkMHRZZ0hacmV3VG5ENnB6ZmJKUXBvZ2NncFBZTXMyVnhyOXM1Vzk5WFpn?=
 =?utf-8?Q?DkkUcCrEW/C6nu0+JRxm6rmwh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: afc99936-8446-46c5-d4bc-08db3021ec6e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 06:50:46.4148
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4pQPVMTifLyunzUHCmKrM8BoKJ2zjm905d7CqAe6v2UZAloL0yOBD/Dgts43mpg2BgmhUcZQ2iWcQPJKKawQ6A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7651

First of all these were inverted: "bridge=" caused the port coordinates
to be established, while "port=" controlled the bridge coordinates. And
then the error messages being identical also wasn't helpful. While
correcting this also move both case blocks close together.

Fixes: 97fd49a7e074 ("ns16550: add support for UART parameters to be specifed with name-value pairs")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
pci_serial_early_init() only dealing with I/O port variants is also
bogus, but that's a separate topic (which arguably would better be taken
care of by someone actually in the position of testing it). Additionally
I think it would be a good idea if the function left the bridge windows
alone if they're already configured suitably (perhaps with a wider
range).

_ns16550_resume() also doesn't care about configuring the bridge
correctly.

It further looks to be a shortcoming that pci_uart_config() doesn't
determine the bridge behind which the selected device may be located
(let alone a hierarchy of bridges).

--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -1631,13 +1631,6 @@ static bool __init parse_namevalue_pairs
             break;
 
 #ifdef CONFIG_HAS_PCI
-        case bridge_bdf:
-            if ( !parse_pci(param_value, NULL, &uart->ps_bdf[0],
-                            &uart->ps_bdf[1], &uart->ps_bdf[2]) )
-                PARSE_ERR_RET("Bad port PCI coordinates\n");
-            uart->ps_bdf_enable = true;
-            break;
-
         case device:
             if ( strncmp(param_value, "pci", 3) == 0 )
             {
@@ -1652,9 +1645,16 @@ static bool __init parse_namevalue_pairs
             break;
 
         case port_bdf:
+            if ( !parse_pci(param_value, NULL, &uart->ps_bdf[0],
+                            &uart->ps_bdf[1], &uart->ps_bdf[2]) )
+                PARSE_ERR_RET("Bad port PCI coordinates\n");
+            uart->ps_bdf_enable = true;
+            break;
+
+        case bridge_bdf:
             if ( !parse_pci(param_value, NULL, &uart->pb_bdf[0],
                             &uart->pb_bdf[1], &uart->pb_bdf[2]) )
-                PARSE_ERR_RET("Bad port PCI coordinates\n");
+                PARSE_ERR_RET("Bad bridge PCI coordinates\n");
             uart->pb_bdf_enable = true;
             break;
 #endif


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 06:56:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 06:56:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516067.799588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phPj9-0007nt-8H; Wed, 29 Mar 2023 06:56:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516067.799588; Wed, 29 Mar 2023 06:56:11 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phPj9-0007nm-47; Wed, 29 Mar 2023 06:56:11 +0000
Received: by outflank-mailman (input) for mailman id 516067;
 Wed, 29 Mar 2023 06: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=ZCZW=7V=epam.com=prvs=84528947cd=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1phPj7-0007ng-G9
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 06:56:09 +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 c547e17a-cdfe-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 08:56:04 +0200 (CEST)
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
 32T5kfiW019104; Wed, 29 Mar 2023 06:55:59 GMT
Received: from eur01-he1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2056.outbound.protection.outlook.com [104.47.0.56])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3pkhqrwne2-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 29 Mar 2023 06:55:59 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by AM9PR03MB7044.eurprd03.prod.outlook.com (2603:10a6:20b:2d9::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 06:50:02 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::bdd:a497:66a0:a342]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::bdd:a497:66a0:a342%5]) with mapi id 15.20.6222.035; Wed, 29 Mar 2023
 06:50: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: c547e17a-cdfe-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mvq74Sdno0Pn9I1TaqobyId7m3kWsBFN8yCsR3IJUrf/2Q8Q0WqnUA7suX6neKPLjf7xSVi5fcADgk3U0nUIK+WQ/8hezsoWfYrIV298EQpXkSW1SxupLiteHLhwyF9FV+L77+MVO47QCtw0Ye4pJ2lKWZdVFcRoMrZv2smKgHjOevmWRh4V0dXoI8QbE58aCC8KvcEo1KnLEs/8qXQpREX1m3WCFKqbLkwTSgXRLq1gvhO5cYhuKSpPYkU7dM4JxLEBm8ag+iDqZyTHyTMXePMnZnsq3N6nwxVTBUmAgzQnVsofrLCFR8ohnE+t7dZI9PKSCwq9MhLHE86hT6s9GA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MhIooVbQWUZf8NzYXnOVOKL1TXqa0K3M//rYXCpJ6NY=;
 b=YPHkoejNaggzGt2TRZxjblPMzK6fSupVRnrGuc/B+4kpRNfkdBbmeUTvEQYwQ7sCPUYxuC8TdER66TUK1J6i1bffIPT/RN7n4H21OZguFEZI6vLF+g2LKmVYuX562bLxvct66olgv7Yo5u/tuhMsHA8TkPU6nDVPmcD9EDpw1QM/xkTHatxWKfZZ6MzY8CjjY8RkrMYELX+ZojoxpIaI+3q+dssR2ax+KEy0gH9OJmFpGuv5tuRfDjSpp9IuZ/MA0T0DAi1oSsb+tl+In7EMSLsdYp9onURda/fPnOiNqMZyrmGUSzD8BhQAsgWKZGSOulCEFKd38cuvKQfY+fbDFA==
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=MhIooVbQWUZf8NzYXnOVOKL1TXqa0K3M//rYXCpJ6NY=;
 b=dVNUSATRX+Oa0AOHvso3v+5TYGtMN5zpyY01ko3CmOXaw0hDJ3TohacnGr9zMfBJelGh3kw9zMEIjw8sKC2OYx96lc6hjzMjRwD5YXgy4pcD22KK2thpsGGbRo6Wg5xSjgG0nczvwfD2MbHtyseCtQnntoL0GzRqN0BXDcfboZyzgDpkXElXxyYnxRGvzqrtIoNSgu1TfKxf6uE8bliif8U48KUdxM8CnyKVHs0NOoLX1DoE3/u3qAi98Go7dnjjGPG6CcMBNxghlghin3CBheSIee9L5dUYNNVgsdz1GjePItxPio9JDCE+5fHohqbFW/jWRwzRRrR+V3W0jbR7kw==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Dan
 Carpenter <error27@gmail.com>,
        "linux-scsi@vger.kernel.org"
	<linux-scsi@vger.kernel.org>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] xen/scsiback: don't call
 scsiback_free_translation_entry() under lock
Thread-Topic: [PATCH] xen/scsiback: don't call
 scsiback_free_translation_entry() under lock
Thread-Index: AQHZYVG+3GUB3O/23kquKYQ39EYPJq8QVnGAgAD0KoCAAAgfgA==
Date: Wed, 29 Mar 2023 06:50:02 +0000
Message-ID: <9e94aeea-b56f-ef97-089c-84b669367002@epam.com>
References: <20230328084602.20729-1-jgross@suse.com>
 <df07e1e3-ebe0-65c6-58c0-831739b9ed4c@epam.com>
 <38d97163-5c02-9193-5c20-ab3b5274bd51@suse.com>
In-Reply-To: <38d97163-5c02-9193-5c20-ab3b5274bd51@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_|AM9PR03MB7044:EE_
x-ms-office365-filtering-correlation-id: e38c81d6-36d9-4f8d-c4f8-08db3021d23a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 DiV1le8pFx9iK5Kiqy4nt8OeVt+K8Pck6t0sAy1oD6shr3EvxRFFo5tuHdpdTKBZC5MCaENzptkdq+hC1+wwZu/bUYNCCS+ASq5lOq2QeI+pTizwF80Q3hyUaEm3ugTgbesP7yWhu/1NEj5sru+vm+UZP/ONwPEHGk+F1jej9PkXp91dHYMZ8gQRpwoP0/vVdPWhKfsVlDPc5r8AxzwZP2ycyY7In1NAlYFliMg3k/GkAzFtE3skA73GqFjzEsopMpVpwPkEHTN3c4+LVh0Dp7reJdvNfVXI9szDyAbozIybvTTVyrhWr2RBr/ihjj5F9e7a1jTlFEYOn9Bqcvi7edhmxOM35XsHqcu3Xnt3S9DdafO3u9vVwtGpKM7c8IgoQZ5GGYprv4Oo6HS3MYa4oUieA/PxdJ1nyjeVLiDDnkGGflwgh0TZH62wbmiihKFwUnKwAcUum9CGC0DufPEFF6Fa39fUPAhDKn6B7EuwH7Z/EzLlEtYshlPl06SYPgfTCxv1620tRwNSHozXQA3uooUD3zyIJd82tMmZ/ZhowW29gT3YOkejc4tShSFqwrtogt80Gn4BmT2OaayR/XnjJgC5+21Jg++6RS5xN17uNEmvUrcqvVaom1Tp8Uc3wM0w
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:(13230028)(4636009)(136003)(376002)(346002)(39860400002)(396003)(366004)(451199021)(6506007)(122000001)(53546011)(26005)(6486002)(966005)(38100700002)(2616005)(186003)(2906002)(8936002)(5660300002)(6512007)(36756003)(54906003)(478600001)(38070700005)(316002)(71200400001)(91956017)(41300700001)(86362001)(31696002)(8676002)(64756008)(66446008)(66476007)(66556008)(66946007)(76116006)(6916009)(4326008)(31686004)(83380400001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?RDZsYUFMK1I4UFIxMnVvS0UrcFhLNmlEbk04M25kcDBad01aZnF1d1BSaDlv?=
 =?utf-8?B?a1hnUjBvR2lRR0FNVnFTQVY0MEZtVzVPSHJlYkY1cWhLUklNbzlvNUNSV1Rh?=
 =?utf-8?B?cjU0NHBtQmRvYWVmbk9GYjB1WGFzWWMvMHZGSER6Q2ZDR3YzSVRJUmgxWm1t?=
 =?utf-8?B?UE44ZDdTT25FUEpYeExZZ3h6aU5vY09Xb3Vucjl3d2h2TXVnYkw4L3VYR0lX?=
 =?utf-8?B?enN0MlRRM01jaG5hNnQwdWRmbUN4eC9BdFVuQzVwcnVybll6ZmhrM3lUdVh5?=
 =?utf-8?B?cVJoaENMUVY5VFNUWmdoU3lDQm1ZeVhrUHZ3NXRTa2VCRWNxTnJMWVlQS3Zu?=
 =?utf-8?B?dEV4YVNEMFVvLzNmdDViUEcrQ2piY1hUUTlqTlJQRDBySCtYaWxwNjErTEhr?=
 =?utf-8?B?TWMxUjgwQ2xGYUU0Tmd4ZnJyODdKMFdFUDZzZUc1TmI0Rlc0aVV4MVVJVVJt?=
 =?utf-8?B?eGc5amVaZGlhL1BGdkx5ZERORmlwblVXZ3ZQcEdJREkxckpTb1F4dVhXQjFs?=
 =?utf-8?B?Nm95NFpLbmNpa2dhRUdtR0Q3QzhyNXZITE1hVDBFMnoxcWRUNSszV2pEUjh1?=
 =?utf-8?B?NVp3UU9TUUd2bnAvdVd3V0dnUmQ5SGN6RUlTTk9LdVhsUDJZWDZlRUIySVJl?=
 =?utf-8?B?bmM0VzcvQXovZ1hkSjZDU1F6ZnNDY1ZFNjVycHFXUmsvUXZHR3hKYWlnM20r?=
 =?utf-8?B?UFplNzhBb09pWEdEdVk1Q0tOc0xtNW9XaUxDVjhUUkJjUjc5WGI4eWVCTWxV?=
 =?utf-8?B?ZXg4TnA2OHdkQlJMVDRaY1FNcXJaeTJ4ZEZVaFBsRGt1ZUdJb1YwZGFGNEFT?=
 =?utf-8?B?TkFnc1RzWU43bjhDSmhDMk1ub2FGMW1RQTExVnVQU3JrVW1UYktlZGJJdEwy?=
 =?utf-8?B?LzEvUUxoNjdCUllTdTdXbUhOK1NBc09WRzBYaW01WHMrancxRktUaVRMbDUy?=
 =?utf-8?B?bGI2dWtTTkpiT1BEVFdqL3lYOVNUTUQzTHlOUm9CUzFZaHQxdmN0c3RZd2My?=
 =?utf-8?B?OTliaWYycjR5QStOc2FieVZJbnZ6Zm55SG80MlhOTkYzdlFRY1BVSkRBbTVV?=
 =?utf-8?B?d0RydEh2ZVdUNEtONC9LbXVLSmczZHltMHdseFJkR3hnejNHbUdOU3hSeWRu?=
 =?utf-8?B?NWhiMTZlS0E2b2FtNnJDMjdGR1kxd0lYVWswd1kwbnY1U3lZdk1oTXVFaXJU?=
 =?utf-8?B?N2tGV0dGYnFidlRJaEpHYk1RNncxVHYzZlJlVlZGTHFjeDVRMWVKMjVXY3Vy?=
 =?utf-8?B?UHM5bzlQVnJHTjd5VWRiZ3JQL3VCcDI3eTV1eldTeXBOV1Q2M3lJQmc1ZWVm?=
 =?utf-8?B?NC9lUjAyMEErL2F5cnUyRDlZcHJ4bjNSSEF4QS9aRkM5ZkpBRFhma0cyZ0pR?=
 =?utf-8?B?L2d3RllHTFh1UjlmOGJwYXVxS290RHBQMHJNTmd2ZVJKdGRPV1VXYXFnR3hP?=
 =?utf-8?B?UlVqZFUxalVISWZEc3UxMjVXQ0JzL0tOTmovVUNJOWloNWV4d0FxZ1N1aWJx?=
 =?utf-8?B?ZWM3SnRGOVZURHl0UWkwTDhIL1VJaUZqek56VjBwQVBiaVBQWEYwYkVLM3NQ?=
 =?utf-8?B?N0dzS0IrNmsrQUJiMnR4MEYySEdMTnpVaG1naTZOQnM0ckZidEl3dmtJSUVr?=
 =?utf-8?B?Z0VjWmJvZU5JcTdyS2U4K3VVc0VVdC9SS3lOTGJtdGVmTmVhZDlNT3JzUTA2?=
 =?utf-8?B?ci9KaWNaWk1aT2FYcUZqMktFNUVYN3FOdWlHeG1QbVJlL000YTFsZy9lTVJl?=
 =?utf-8?B?STRIUHVsNUtoUmdLOUhJQXhQcXhQZjVydkt4Wm5mU1lEekcxVDhYQVBmYWdz?=
 =?utf-8?B?bjRtaHAvQU5ZeWkvVFFmeFVaM2syZjdoYzNxOXNkVm9oYThxTy9OR3doMFNB?=
 =?utf-8?B?U0VvV1RTZUF5a1RkeWJyK21PSXpnM21SSkRZRjh1NGVJRkZPVk1WbXYrdnNT?=
 =?utf-8?B?eHNtTkpvUDZVMHQ5ZXFiZmQxamNSaC9qME9UcVVlaHVqeVl6WnBQcUtrd0Jo?=
 =?utf-8?B?anNsbEZ5TWJyc2NoUlZWeTNVYVczcW5PdzRuM3JTOEY5V2p0dVlHZG9MWVhn?=
 =?utf-8?B?MnFMamRvem5XamFFaVVabWVMSEdlbkhCSWhFVmVJcDNZa0plQ2NMTFVTcE10?=
 =?utf-8?B?YlVWcHJXU29uQVl5Tnd0ZUNSZjVST1RhcEFJbEc5S1ZnK3ZjN0hrbWZTRitJ?=
 =?utf-8?Q?rJZ7ZPSPKvGb48J69NQHtfM=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <B5FDC056BDEB2E44B1B779D0CAC6F944@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: e38c81d6-36d9-4f8d-c4f8-08db3021d23a
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Mar 2023 06:50:02.1698
 (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: r9o/w6Jsu1EBqgU4dtreGfREmr5RrdqdN5A4iRGY9LAt4muj7LFU6cYKGSQ2Khk5ZuTDTcn11H2Pjhst14IuMfONWrR5qj+IZ6x/vMLPIJw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7044
X-Proofpoint-ORIG-GUID: LJDg4k5yuiFzF4xfRe48eA3-Od7Gtbe_
X-Proofpoint-GUID: LJDg4k5yuiFzF4xfRe48eA3-Od7Gtbe_
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-29_01,2023-03-28_02,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 bulkscore=0
 adultscore=0 spamscore=0 malwarescore=0 mlxscore=0 lowpriorityscore=0
 priorityscore=1501 suspectscore=0 impostorscore=0 clxscore=1015
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2303200000 definitions=main-2303290056

DQoNCk9uIDI5LjAzLjIzIDA5OjIwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KDQpIZWxsbyBKdWVy
Z2VuDQoNCg0KPiBPbiAyOC4wMy4yMyAxNzo0NywgT2xla3NhbmRyIFR5c2hjaGVua28gd3JvdGU6
DQo+Pg0KPj4NCj4+IE9uIDI4LjAzLjIzIDExOjQ2LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4N
Cj4+IEhlbGxvIEp1ZXJnZW4NCj4+DQo+Pj4gc2NzaWJhY2tfZnJlZV90cmFuc2xhdGlvbl9lbnRy
eSgpIHNob3VsZG4ndCBiZSBjYWxsZWQgdW5kZXIgc3BpbmxvY2ssDQo+Pj4gYXMgaXQgY2FuIHNs
ZWVwLg0KPj4+DQo+Pj4gVGhpcyByZXF1aXJlcyB0byBzcGxpdCByZW1vdmluZyBhIHRyYW5zbGF0
aW9uIGVudHJ5IGZyb20gdGhlIHYycCBsaXN0DQo+Pj4gZnJvbSBhY3R1YWxseSBjYWxsaW5nIGty
ZWZfcHV0KCkgZm9yIHRoZSBlbnRyeS4NCj4+Pg0KPj4+IFJlcG9ydGVkLWJ5OiBEYW4gQ2FycGVu
dGVyIDxlcnJvcjI3QGdtYWlsLmNvbT4NCj4+PiBMaW5rOiANCj4+PiBodHRwczovL3VybGRlZmVu
c2UuY29tL3YzL19faHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC9ZKkpVSWw2NFVEbWRrYm9o
QGthZGFtL19fO0t3ISFHRl8yOWRiY1FJVUJQQSEyM0lLZFZoYW1vRnE4cHRVbnByZF9UdWJETU9i
ai0wUUFhbHNHaWZmQkhDZUVkT3V3cnE3ejRvaGc5MlNqMG9sZ2wwbmg3M29YdlNyLWkxenFYaFkk
IFtsb3JlWy5da2VybmVsWy5db3JnXQ0KPj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3Mg
PGpncm9zc0BzdXNlLmNvbT4NCj4+PiAtLS0NCj4+PiDCoMKgIGRyaXZlcnMveGVuL3hlbi1zY3Np
YmFjay5jIHwgMjcgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tDQo+Pj4gwqDCoCAxIGZpbGUg
Y2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pDQo+Pj4NCj4+PiBkaWZm
IC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuLXNjc2liYWNrLmMgYi9kcml2ZXJzL3hlbi94ZW4tc2Nz
aWJhY2suYw0KPj4+IGluZGV4IDk1NDE4OGIwYjg1OC4uMjk0ZjI5Y2RjN2FhIDEwMDY0NA0KPj4+
IC0tLSBhL2RyaXZlcnMveGVuL3hlbi1zY3NpYmFjay5jDQo+Pj4gKysrIGIvZHJpdmVycy94ZW4v
eGVuLXNjc2liYWNrLmMNCj4+PiBAQCAtMTAxMCwxMiArMTAxMCw2IEBAIHN0YXRpYyBpbnQgDQo+
Pj4gc2NzaWJhY2tfYWRkX3RyYW5zbGF0aW9uX2VudHJ5KHN0cnVjdCB2c2NzaWJrX2luZm8gKmlu
Zm8sDQo+Pj4gwqDCoMKgwqDCoMKgIHJldHVybiBlcnI7DQo+Pj4gwqDCoCB9DQo+Pj4gLXN0YXRp
YyB2b2lkIF9fc2NzaWJhY2tfZGVsX3RyYW5zbGF0aW9uX2VudHJ5KHN0cnVjdCB2MnBfZW50cnkg
KmVudHJ5KQ0KPj4+IC17DQo+Pj4gLcKgwqDCoCBsaXN0X2RlbCgmZW50cnktPmwpOw0KPj4+IC3C
oMKgwqAga3JlZl9wdXQoJmVudHJ5LT5rcmVmLCBzY3NpYmFja19mcmVlX3RyYW5zbGF0aW9uX2Vu
dHJ5KTsNCj4+PiAtfQ0KPj4+IC0NCj4+PiDCoMKgIC8qDQo+Pj4gwqDCoMKgwqAgRGVsZXRlIHRo
ZSB0cmFuc2xhdGlvbiBlbnRyeSBzcGVjaWZpZWQNCj4+PiDCoMKgICovDQo+Pj4gQEAgLTEwMjQs
MTggKzEwMTgsMjAgQEAgc3RhdGljIGludCANCj4+PiBzY3NpYmFja19kZWxfdHJhbnNsYXRpb25f
ZW50cnkoc3RydWN0IHZzY3NpYmtfaW5mbyAqaW5mbywNCj4+PiDCoMKgIHsNCj4+PiDCoMKgwqDC
oMKgwqAgc3RydWN0IHYycF9lbnRyeSAqZW50cnk7DQo+Pj4gwqDCoMKgwqDCoMKgIHVuc2lnbmVk
IGxvbmcgZmxhZ3M7DQo+Pj4gLcKgwqDCoCBpbnQgcmV0ID0gMDsNCj4+PiDCoMKgwqDCoMKgwqAg
c3Bpbl9sb2NrX2lycXNhdmUoJmluZm8tPnYycF9sb2NrLCBmbGFncyk7DQo+Pj4gwqDCoMKgwqDC
oMKgIC8qIEZpbmQgb3V0IHRoZSB0cmFuc2xhdGlvbiBlbnRyeSBzcGVjaWZpZWQgKi8NCj4+PiDC
oMKgwqDCoMKgwqAgZW50cnkgPSBzY3NpYmFja19jaGtfdHJhbnNsYXRpb25fZW50cnkoaW5mbywg
dik7DQo+Pj4gwqDCoMKgwqDCoMKgIGlmIChlbnRyeSkNCj4+PiAtwqDCoMKgwqDCoMKgwqAgX19z
Y3NpYmFja19kZWxfdHJhbnNsYXRpb25fZW50cnkoZW50cnkpOw0KPj4+IC3CoMKgwqAgZWxzZQ0K
Pj4+IC3CoMKgwqDCoMKgwqDCoCByZXQgPSAtRU5PRU5UOw0KPj4+ICvCoMKgwqDCoMKgwqDCoCBs
aXN0X2RlbCgmZW50cnktPmwpOw0KPj4+IMKgwqDCoMKgwqDCoCBzcGluX3VubG9ja19pcnFyZXN0
b3JlKCZpbmZvLT52MnBfbG9jaywgZmxhZ3MpOw0KPj4+IC3CoMKgwqAgcmV0dXJuIHJldDsNCj4+
PiArDQo+Pj4gK8KgwqDCoCBpZiAoIWVudHJ5KQ0KPj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4g
LUVOT0VOVDsNCj4+PiArDQo+Pj4gK8KgwqDCoCBrcmVmX3B1dCgmZW50cnktPmtyZWYsIHNjc2li
YWNrX2ZyZWVfdHJhbnNsYXRpb25fZW50cnkpOw0KPj4+ICvCoMKgwqAgcmV0dXJuIDA7DQo+Pj4g
wqDCoCB9DQo+Pj4gwqDCoCBzdGF0aWMgdm9pZCBzY3NpYmFja19kb19hZGRfbHVuKHN0cnVjdCB2
c2NzaWJrX2luZm8gKmluZm8sIGNvbnN0IA0KPj4+IGNoYXIgKnN0YXRlLA0KPj4+IEBAIC0xMjM5
LDE0ICsxMjM1LDE5IEBAIHN0YXRpYyB2b2lkIA0KPj4+IHNjc2liYWNrX3JlbGVhc2VfdHJhbnNs
YXRpb25fZW50cnkoc3RydWN0IHZzY3NpYmtfaW5mbyAqaW5mbykNCj4+PiDCoMKgIHsNCj4+PiDC
oMKgwqDCoMKgwqAgc3RydWN0IHYycF9lbnRyeSAqZW50cnksICp0bXA7DQo+Pj4gwqDCoMKgwqDC
oMKgIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQgPSAmKGluZm8tPnYycF9lbnRyeV9saXN0cyk7DQo+
Pj4gK8KgwqDCoCBzdHJ1Y3QgbGlzdF9oZWFkIHRtcF9saXN0Ow0KPj4NCj4+DQo+PiBJIHdvdWxk
IHVzZSBMSVNUX0hFQUQodG1wX2xpc3QpOw0KPiANCj4gVGhlcmUgaXMgbm8gbmVlZCB0byBpbml0
aWFsaXplIGl0LCBzbyBJIHRoaW5rIEkgd2lsbCBrZWVwIGl0IGFzIGlzLg0KPiANCj4+DQo+Pj4g
wqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+Pj4gwqDCoMKgwqDCoMKgIHNwaW5f
bG9ja19pcnFzYXZlKCZpbmZvLT52MnBfbG9jaywgZmxhZ3MpOw0KPj4+IC3CoMKgwqAgbGlzdF9m
b3JfZWFjaF9lbnRyeV9zYWZlKGVudHJ5LCB0bXAsIGhlYWQsIGwpDQo+Pj4gLcKgwqDCoMKgwqDC
oMKgIF9fc2NzaWJhY2tfZGVsX3RyYW5zbGF0aW9uX2VudHJ5KGVudHJ5KTsNCj4+PiArwqDCoMKg
IGxpc3RfY3V0X2JlZm9yZSgmdG1wX2xpc3QsIGhlYWQsIGhlYWQpOw0KPj4NCj4+IHNvIHdlIGp1
c3QgbW92ZSBhbGwgZW50cmllcyBmcm9tIGhlYWQgdG8gdG1wX2xpc3QgaGVyZSB0byBiZSBwcm9j
ZXNzZWQuLi4NCj4gDQo+IENvcnJlY3QuDQo+IA0KPj4NCj4+PiDCoMKgwqDCoMKgwqAgc3Bpbl91
bmxvY2tfaXJxcmVzdG9yZSgmaW5mby0+djJwX2xvY2ssIGZsYWdzKTsNCj4+DQo+PiAuLi4gd2hl
biB0aGUgbG9jayBpcyBub3QgaGVsZCwgb2sNCj4+DQo+PiBQYXRjaCBMR1RNLCBidXQgb25lICht
YXliZSBzdHVwaWQpIHF1ZXN0aW9uIHRvIGNsYXJpZnkuDQo+Pg0KPj4gV2h5IGRvIHdlIG5lZWQg
dG8gdXNlIGEgbG9jayBoZXJlIGluIHRoZSBmaXJzdCBwbGFjZT8gVGhlDQo+PiBzY3NpYmFja19y
ZWxlYXNlX3RyYW5zbGF0aW9uX2VudHJ5KCkgZ2V0cyBjYWxsZWQgd2hlbiB0aGUgZHJpdmVyDQo+
PiBpbnN0YW5jZSBpcyBhYm91dCB0byBiZSByZW1vdmVkIGFuZCAqYWZ0ZXIqIHRoZSBkaXNjb25u
ZWN0aW9uIGZyb20NCj4+IG90aGVyZW5kIChzbyBubyByZXF1ZXN0cyBhcmUgZXhwZWN0ZWQpLCBz
byB3aGF0IGVsc2UgbWlnaHQgY2F1c2UgdGhpcw0KPj4gbGlzdCB0byBiZSBhY2Nlc3NlZCBjb25j
dXJyZW50bHk/DQo+IA0KPiBNYXliZSBub3RoaW5nLCBidXQgSSB0aGluayBpdCBpcyBnb29kIHBy
YWN0aWNlIHRvIGtlZXAgdGhlIGxvY2sgaW4gb3JkZXINCj4gdG8gYXZvaWQgZnV0dXJlIGNvZGUg
Y2hhbmdlcyB0byBjYXVzZSBwcm9ibGVtcy4NCg0KDQpUaGFua3MgZm9yIHRoZSBleHBsYW5hdGlv
biwgaXQgc291bmRzIHJlYXNvbmFibGUgdG8gbWUuDQoNClJldmlld2VkLWJ5OiBPbGVrc2FuZHIg
VHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+DQoNCj4gDQo+IA0KPiBK
dWVyZ2VuDQo+IA==


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 06:56:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 06:56:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516070.799598 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phPje-0008HI-Fg; Wed, 29 Mar 2023 06:56:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516070.799598; Wed, 29 Mar 2023 06: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 1phPje-0008HB-Cq; Wed, 29 Mar 2023 06:56:42 +0000
Received: by outflank-mailman (input) for mailman id 516070;
 Wed, 29 Mar 2023 06: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=ZCZW=7V=epam.com=prvs=84528947cd=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1phPjd-0008FO-8a
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 06:56:41 +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 d9d4e6ea-cdfe-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 08:56:38 +0200 (CEST)
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
 32T6uQCp014217; Wed, 29 Mar 2023 06:56:33 GMT
Received: from eur01-he1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2055.outbound.protection.outlook.com [104.47.0.55])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3pm003av11-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 29 Mar 2023 06:51:26 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by AM9PR03MB7044.eurprd03.prod.outlook.com (2603:10a6:20b:2d9::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 06:50:02 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::bdd:a497:66a0:a342]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::bdd:a497:66a0:a342%5]) with mapi id 15.20.6222.035; Wed, 29 Mar 2023
 06:50: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: d9d4e6ea-cdfe-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mvq74Sdno0Pn9I1TaqobyId7m3kWsBFN8yCsR3IJUrf/2Q8Q0WqnUA7suX6neKPLjf7xSVi5fcADgk3U0nUIK+WQ/8hezsoWfYrIV298EQpXkSW1SxupLiteHLhwyF9FV+L77+MVO47QCtw0Ye4pJ2lKWZdVFcRoMrZv2smKgHjOevmWRh4V0dXoI8QbE58aCC8KvcEo1KnLEs/8qXQpREX1m3WCFKqbLkwTSgXRLq1gvhO5cYhuKSpPYkU7dM4JxLEBm8ag+iDqZyTHyTMXePMnZnsq3N6nwxVTBUmAgzQnVsofrLCFR8ohnE+t7dZI9PKSCwq9MhLHE86hT6s9GA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MhIooVbQWUZf8NzYXnOVOKL1TXqa0K3M//rYXCpJ6NY=;
 b=YPHkoejNaggzGt2TRZxjblPMzK6fSupVRnrGuc/B+4kpRNfkdBbmeUTvEQYwQ7sCPUYxuC8TdER66TUK1J6i1bffIPT/RN7n4H21OZguFEZI6vLF+g2LKmVYuX562bLxvct66olgv7Yo5u/tuhMsHA8TkPU6nDVPmcD9EDpw1QM/xkTHatxWKfZZ6MzY8CjjY8RkrMYELX+ZojoxpIaI+3q+dssR2ax+KEy0gH9OJmFpGuv5tuRfDjSpp9IuZ/MA0T0DAi1oSsb+tl+In7EMSLsdYp9onURda/fPnOiNqMZyrmGUSzD8BhQAsgWKZGSOulCEFKd38cuvKQfY+fbDFA==
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=MhIooVbQWUZf8NzYXnOVOKL1TXqa0K3M//rYXCpJ6NY=;
 b=dVNUSATRX+Oa0AOHvso3v+5TYGtMN5zpyY01ko3CmOXaw0hDJ3TohacnGr9zMfBJelGh3kw9zMEIjw8sKC2OYx96lc6hjzMjRwD5YXgy4pcD22KK2thpsGGbRo6Wg5xSjgG0nczvwfD2MbHtyseCtQnntoL0GzRqN0BXDcfboZyzgDpkXElXxyYnxRGvzqrtIoNSgu1TfKxf6uE8bliif8U48KUdxM8CnyKVHs0NOoLX1DoE3/u3qAi98Go7dnjjGPG6CcMBNxghlghin3CBheSIee9L5dUYNNVgsdz1GjePItxPio9JDCE+5fHohqbFW/jWRwzRRrR+V3W0jbR7kw==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Dan
 Carpenter <error27@gmail.com>,
        "linux-scsi@vger.kernel.org"
	<linux-scsi@vger.kernel.org>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] xen/scsiback: don't call
 scsiback_free_translation_entry() under lock
Thread-Topic: [PATCH] xen/scsiback: don't call
 scsiback_free_translation_entry() under lock
Thread-Index: AQHZYVG+3GUB3O/23kquKYQ39EYPJq8QVnGAgAD0KoCAAAgfgA==
Date: Wed, 29 Mar 2023 06:50:02 +0000
Message-ID: <9e94aeea-b56f-ef97-089c-84b669367002@epam.com>
References: <20230328084602.20729-1-jgross@suse.com>
 <df07e1e3-ebe0-65c6-58c0-831739b9ed4c@epam.com>
 <38d97163-5c02-9193-5c20-ab3b5274bd51@suse.com>
In-Reply-To: <38d97163-5c02-9193-5c20-ab3b5274bd51@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_|AM9PR03MB7044:EE_
x-ms-office365-filtering-correlation-id: e38c81d6-36d9-4f8d-c4f8-08db3021d23a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 DiV1le8pFx9iK5Kiqy4nt8OeVt+K8Pck6t0sAy1oD6shr3EvxRFFo5tuHdpdTKBZC5MCaENzptkdq+hC1+wwZu/bUYNCCS+ASq5lOq2QeI+pTizwF80Q3hyUaEm3ugTgbesP7yWhu/1NEj5sru+vm+UZP/ONwPEHGk+F1jej9PkXp91dHYMZ8gQRpwoP0/vVdPWhKfsVlDPc5r8AxzwZP2ycyY7In1NAlYFliMg3k/GkAzFtE3skA73GqFjzEsopMpVpwPkEHTN3c4+LVh0Dp7reJdvNfVXI9szDyAbozIybvTTVyrhWr2RBr/ihjj5F9e7a1jTlFEYOn9Bqcvi7edhmxOM35XsHqcu3Xnt3S9DdafO3u9vVwtGpKM7c8IgoQZ5GGYprv4Oo6HS3MYa4oUieA/PxdJ1nyjeVLiDDnkGGflwgh0TZH62wbmiihKFwUnKwAcUum9CGC0DufPEFF6Fa39fUPAhDKn6B7EuwH7Z/EzLlEtYshlPl06SYPgfTCxv1620tRwNSHozXQA3uooUD3zyIJd82tMmZ/ZhowW29gT3YOkejc4tShSFqwrtogt80Gn4BmT2OaayR/XnjJgC5+21Jg++6RS5xN17uNEmvUrcqvVaom1Tp8Uc3wM0w
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:(13230028)(4636009)(136003)(376002)(346002)(39860400002)(396003)(366004)(451199021)(6506007)(122000001)(53546011)(26005)(6486002)(966005)(38100700002)(2616005)(186003)(2906002)(8936002)(5660300002)(6512007)(36756003)(54906003)(478600001)(38070700005)(316002)(71200400001)(91956017)(41300700001)(86362001)(31696002)(8676002)(64756008)(66446008)(66476007)(66556008)(66946007)(76116006)(6916009)(4326008)(31686004)(83380400001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?RDZsYUFMK1I4UFIxMnVvS0UrcFhLNmlEbk04M25kcDBad01aZnF1d1BSaDlv?=
 =?utf-8?B?a1hnUjBvR2lRR0FNVnFTQVY0MEZtVzVPSHJlYkY1cWhLUklNbzlvNUNSV1Rh?=
 =?utf-8?B?cjU0NHBtQmRvYWVmbk9GYjB1WGFzWWMvMHZGSER6Q2ZDR3YzSVRJUmgxWm1t?=
 =?utf-8?B?UE44ZDdTT25FUEpYeExZZ3h6aU5vY09Xb3Vucjl3d2h2TXVnYkw4L3VYR0lX?=
 =?utf-8?B?enN0MlRRM01jaG5hNnQwdWRmbUN4eC9BdFVuQzVwcnVybll6ZmhrM3lUdVh5?=
 =?utf-8?B?cVJoaENMUVY5VFNUWmdoU3lDQm1ZeVhrUHZ3NXRTa2VCRWNxTnJMWVlQS3Zu?=
 =?utf-8?B?dEV4YVNEMFVvLzNmdDViUEcrQ2piY1hUUTlqTlJQRDBySCtYaWxwNjErTEhr?=
 =?utf-8?B?TWMxUjgwQ2xGYUU0Tmd4ZnJyODdKMFdFUDZzZUc1TmI0Rlc0aVV4MVVJVVJt?=
 =?utf-8?B?eGc5amVaZGlhL1BGdkx5ZERORmlwblVXZ3ZQcEdJREkxckpTb1F4dVhXQjFs?=
 =?utf-8?B?Nm95NFpLbmNpa2dhRUdtR0Q3QzhyNXZITE1hVDBFMnoxcWRUNSszV2pEUjh1?=
 =?utf-8?B?NVp3UU9TUUd2bnAvdVd3V0dnUmQ5SGN6RUlTTk9LdVhsUDJZWDZlRUIySVJl?=
 =?utf-8?B?bmM0VzcvQXovZ1hkSjZDU1F6ZnNDY1ZFNjVycHFXUmsvUXZHR3hKYWlnM20r?=
 =?utf-8?B?UFplNzhBb09pWEdEdVk1Q0tOc0xtNW9XaUxDVjhUUkJjUjc5WGI4eWVCTWxV?=
 =?utf-8?B?ZXg4TnA2OHdkQlJMVDRaY1FNcXJaeTJ4ZEZVaFBsRGt1ZUdJb1YwZGFGNEFT?=
 =?utf-8?B?TkFnc1RzWU43bjhDSmhDMk1ub2FGMW1RQTExVnVQU3JrVW1UYktlZGJJdEwy?=
 =?utf-8?B?LzEvUUxoNjdCUllTdTdXbUhOK1NBc09WRzBYaW01WHMrancxRktUaVRMbDUy?=
 =?utf-8?B?bGI2dWtTTkpiT1BEVFdqL3lYOVNUTUQzTHlOUm9CUzFZaHQxdmN0c3RZd2My?=
 =?utf-8?B?OTliaWYycjR5QStOc2FieVZJbnZ6Zm55SG80MlhOTkYzdlFRY1BVSkRBbTVV?=
 =?utf-8?B?d0RydEh2ZVdUNEtONC9LbXVLSmczZHltMHdseFJkR3hnejNHbUdOU3hSeWRu?=
 =?utf-8?B?NWhiMTZlS0E2b2FtNnJDMjdGR1kxd0lYVWswd1kwbnY1U3lZdk1oTXVFaXJU?=
 =?utf-8?B?N2tGV0dGYnFidlRJaEpHYk1RNncxVHYzZlJlVlZGTHFjeDVRMWVKMjVXY3Vy?=
 =?utf-8?B?UHM5bzlQVnJHTjd5VWRiZ3JQL3VCcDI3eTV1eldTeXBOV1Q2M3lJQmc1ZWVm?=
 =?utf-8?B?NC9lUjAyMEErL2F5cnUyRDlZcHJ4bjNSSEF4QS9aRkM5ZkpBRFhma0cyZ0pR?=
 =?utf-8?B?L2d3RllHTFh1UjlmOGJwYXVxS290RHBQMHJNTmd2ZVJKdGRPV1VXYXFnR3hP?=
 =?utf-8?B?UlVqZFUxalVISWZEc3UxMjVXQ0JzL0tOTmovVUNJOWloNWV4d0FxZ1N1aWJx?=
 =?utf-8?B?ZWM3SnRGOVZURHl0UWkwTDhIL1VJaUZqek56VjBwQVBiaVBQWEYwYkVLM3NQ?=
 =?utf-8?B?N0dzS0IrNmsrQUJiMnR4MEYySEdMTnpVaG1naTZOQnM0ckZidEl3dmtJSUVr?=
 =?utf-8?B?Z0VjWmJvZU5JcTdyS2U4K3VVc0VVdC9SS3lOTGJtdGVmTmVhZDlNT3JzUTA2?=
 =?utf-8?B?ci9KaWNaWk1aT2FYcUZqMktFNUVYN3FOdWlHeG1QbVJlL000YTFsZy9lTVJl?=
 =?utf-8?B?STRIUHVsNUtoUmdLOUhJQXhQcXhQZjVydkt4Wm5mU1lEekcxVDhYQVBmYWdz?=
 =?utf-8?B?bjRtaHAvQU5ZeWkvVFFmeFVaM2syZjdoYzNxOXNkVm9oYThxTy9OR3doMFNB?=
 =?utf-8?B?U0VvV1RTZUF5a1RkeWJyK21PSXpnM21SSkRZRjh1NGVJRkZPVk1WbXYrdnNT?=
 =?utf-8?B?eHNtTkpvUDZVMHQ5ZXFiZmQxamNSaC9qME9UcVVlaHVqeVl6WnBQcUtrd0Jo?=
 =?utf-8?B?anNsbEZ5TWJyc2NoUlZWeTNVYVczcW5PdzRuM3JTOEY5V2p0dVlHZG9MWVhn?=
 =?utf-8?B?MnFMamRvem5XamFFaVVabWVMSEdlbkhCSWhFVmVJcDNZa0plQ2NMTFVTcE10?=
 =?utf-8?B?YlVWcHJXU29uQVl5Tnd0ZUNSZjVST1RhcEFJbEc5S1ZnK3ZjN0hrbWZTRitJ?=
 =?utf-8?Q?rJZ7ZPSPKvGb48J69NQHtfM=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <B5FDC056BDEB2E44B1B779D0CAC6F944@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: e38c81d6-36d9-4f8d-c4f8-08db3021d23a
X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Mar 2023 06:50:02.1698
 (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: r9o/w6Jsu1EBqgU4dtreGfREmr5RrdqdN5A4iRGY9LAt4muj7LFU6cYKGSQ2Khk5ZuTDTcn11H2Pjhst14IuMfONWrR5qj+IZ6x/vMLPIJw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7044
X-Proofpoint-GUID: Aw8RBeJCilb1EFAtKlRbyM61DJ1HSl_E
X-Proofpoint-ORIG-GUID: Aw8RBeJCilb1EFAtKlRbyM61DJ1HSl_E
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.254,Aquarius:18.0.942,Hydra:6.0.573,FMLib:17.11.170.22
 definitions=2023-03-24_11,2023-03-28_02,2023-02-09_01
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 impostorscore=0
 bulkscore=0 malwarescore=0 suspectscore=0 lowpriorityscore=0 mlxscore=0
 mlxlogscore=999 spamscore=0 adultscore=0 priorityscore=1501 clxscore=1015
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2303200000
 definitions=main-2303290056

DQoNCk9uIDI5LjAzLjIzIDA5OjIwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KDQpIZWxsbyBKdWVy
Z2VuDQoNCg0KPiBPbiAyOC4wMy4yMyAxNzo0NywgT2xla3NhbmRyIFR5c2hjaGVua28gd3JvdGU6
DQo+Pg0KPj4NCj4+IE9uIDI4LjAzLjIzIDExOjQ2LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4N
Cj4+IEhlbGxvIEp1ZXJnZW4NCj4+DQo+Pj4gc2NzaWJhY2tfZnJlZV90cmFuc2xhdGlvbl9lbnRy
eSgpIHNob3VsZG4ndCBiZSBjYWxsZWQgdW5kZXIgc3BpbmxvY2ssDQo+Pj4gYXMgaXQgY2FuIHNs
ZWVwLg0KPj4+DQo+Pj4gVGhpcyByZXF1aXJlcyB0byBzcGxpdCByZW1vdmluZyBhIHRyYW5zbGF0
aW9uIGVudHJ5IGZyb20gdGhlIHYycCBsaXN0DQo+Pj4gZnJvbSBhY3R1YWxseSBjYWxsaW5nIGty
ZWZfcHV0KCkgZm9yIHRoZSBlbnRyeS4NCj4+Pg0KPj4+IFJlcG9ydGVkLWJ5OiBEYW4gQ2FycGVu
dGVyIDxlcnJvcjI3QGdtYWlsLmNvbT4NCj4+PiBMaW5rOiANCj4+PiBodHRwczovL3VybGRlZmVu
c2UuY29tL3YzL19faHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGttbC9ZKkpVSWw2NFVEbWRrYm9o
QGthZGFtL19fO0t3ISFHRl8yOWRiY1FJVUJQQSEyM0lLZFZoYW1vRnE4cHRVbnByZF9UdWJETU9i
ai0wUUFhbHNHaWZmQkhDZUVkT3V3cnE3ejRvaGc5MlNqMG9sZ2wwbmg3M29YdlNyLWkxenFYaFkk
IFtsb3JlWy5da2VybmVsWy5db3JnXQ0KPj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3Mg
PGpncm9zc0BzdXNlLmNvbT4NCj4+PiAtLS0NCj4+PiDCoMKgIGRyaXZlcnMveGVuL3hlbi1zY3Np
YmFjay5jIHwgMjcgKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tDQo+Pj4gwqDCoCAxIGZpbGUg
Y2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pDQo+Pj4NCj4+PiBkaWZm
IC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuLXNjc2liYWNrLmMgYi9kcml2ZXJzL3hlbi94ZW4tc2Nz
aWJhY2suYw0KPj4+IGluZGV4IDk1NDE4OGIwYjg1OC4uMjk0ZjI5Y2RjN2FhIDEwMDY0NA0KPj4+
IC0tLSBhL2RyaXZlcnMveGVuL3hlbi1zY3NpYmFjay5jDQo+Pj4gKysrIGIvZHJpdmVycy94ZW4v
eGVuLXNjc2liYWNrLmMNCj4+PiBAQCAtMTAxMCwxMiArMTAxMCw2IEBAIHN0YXRpYyBpbnQgDQo+
Pj4gc2NzaWJhY2tfYWRkX3RyYW5zbGF0aW9uX2VudHJ5KHN0cnVjdCB2c2NzaWJrX2luZm8gKmlu
Zm8sDQo+Pj4gwqDCoMKgwqDCoMKgIHJldHVybiBlcnI7DQo+Pj4gwqDCoCB9DQo+Pj4gLXN0YXRp
YyB2b2lkIF9fc2NzaWJhY2tfZGVsX3RyYW5zbGF0aW9uX2VudHJ5KHN0cnVjdCB2MnBfZW50cnkg
KmVudHJ5KQ0KPj4+IC17DQo+Pj4gLcKgwqDCoCBsaXN0X2RlbCgmZW50cnktPmwpOw0KPj4+IC3C
oMKgwqAga3JlZl9wdXQoJmVudHJ5LT5rcmVmLCBzY3NpYmFja19mcmVlX3RyYW5zbGF0aW9uX2Vu
dHJ5KTsNCj4+PiAtfQ0KPj4+IC0NCj4+PiDCoMKgIC8qDQo+Pj4gwqDCoMKgwqAgRGVsZXRlIHRo
ZSB0cmFuc2xhdGlvbiBlbnRyeSBzcGVjaWZpZWQNCj4+PiDCoMKgICovDQo+Pj4gQEAgLTEwMjQs
MTggKzEwMTgsMjAgQEAgc3RhdGljIGludCANCj4+PiBzY3NpYmFja19kZWxfdHJhbnNsYXRpb25f
ZW50cnkoc3RydWN0IHZzY3NpYmtfaW5mbyAqaW5mbywNCj4+PiDCoMKgIHsNCj4+PiDCoMKgwqDC
oMKgwqAgc3RydWN0IHYycF9lbnRyeSAqZW50cnk7DQo+Pj4gwqDCoMKgwqDCoMKgIHVuc2lnbmVk
IGxvbmcgZmxhZ3M7DQo+Pj4gLcKgwqDCoCBpbnQgcmV0ID0gMDsNCj4+PiDCoMKgwqDCoMKgwqAg
c3Bpbl9sb2NrX2lycXNhdmUoJmluZm8tPnYycF9sb2NrLCBmbGFncyk7DQo+Pj4gwqDCoMKgwqDC
oMKgIC8qIEZpbmQgb3V0IHRoZSB0cmFuc2xhdGlvbiBlbnRyeSBzcGVjaWZpZWQgKi8NCj4+PiDC
oMKgwqDCoMKgwqAgZW50cnkgPSBzY3NpYmFja19jaGtfdHJhbnNsYXRpb25fZW50cnkoaW5mbywg
dik7DQo+Pj4gwqDCoMKgwqDCoMKgIGlmIChlbnRyeSkNCj4+PiAtwqDCoMKgwqDCoMKgwqAgX19z
Y3NpYmFja19kZWxfdHJhbnNsYXRpb25fZW50cnkoZW50cnkpOw0KPj4+IC3CoMKgwqAgZWxzZQ0K
Pj4+IC3CoMKgwqDCoMKgwqDCoCByZXQgPSAtRU5PRU5UOw0KPj4+ICvCoMKgwqDCoMKgwqDCoCBs
aXN0X2RlbCgmZW50cnktPmwpOw0KPj4+IMKgwqDCoMKgwqDCoCBzcGluX3VubG9ja19pcnFyZXN0
b3JlKCZpbmZvLT52MnBfbG9jaywgZmxhZ3MpOw0KPj4+IC3CoMKgwqAgcmV0dXJuIHJldDsNCj4+
PiArDQo+Pj4gK8KgwqDCoCBpZiAoIWVudHJ5KQ0KPj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4g
LUVOT0VOVDsNCj4+PiArDQo+Pj4gK8KgwqDCoCBrcmVmX3B1dCgmZW50cnktPmtyZWYsIHNjc2li
YWNrX2ZyZWVfdHJhbnNsYXRpb25fZW50cnkpOw0KPj4+ICvCoMKgwqAgcmV0dXJuIDA7DQo+Pj4g
wqDCoCB9DQo+Pj4gwqDCoCBzdGF0aWMgdm9pZCBzY3NpYmFja19kb19hZGRfbHVuKHN0cnVjdCB2
c2NzaWJrX2luZm8gKmluZm8sIGNvbnN0IA0KPj4+IGNoYXIgKnN0YXRlLA0KPj4+IEBAIC0xMjM5
LDE0ICsxMjM1LDE5IEBAIHN0YXRpYyB2b2lkIA0KPj4+IHNjc2liYWNrX3JlbGVhc2VfdHJhbnNs
YXRpb25fZW50cnkoc3RydWN0IHZzY3NpYmtfaW5mbyAqaW5mbykNCj4+PiDCoMKgIHsNCj4+PiDC
oMKgwqDCoMKgwqAgc3RydWN0IHYycF9lbnRyeSAqZW50cnksICp0bXA7DQo+Pj4gwqDCoMKgwqDC
oMKgIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQgPSAmKGluZm8tPnYycF9lbnRyeV9saXN0cyk7DQo+
Pj4gK8KgwqDCoCBzdHJ1Y3QgbGlzdF9oZWFkIHRtcF9saXN0Ow0KPj4NCj4+DQo+PiBJIHdvdWxk
IHVzZSBMSVNUX0hFQUQodG1wX2xpc3QpOw0KPiANCj4gVGhlcmUgaXMgbm8gbmVlZCB0byBpbml0
aWFsaXplIGl0LCBzbyBJIHRoaW5rIEkgd2lsbCBrZWVwIGl0IGFzIGlzLg0KPiANCj4+DQo+Pj4g
wqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7DQo+Pj4gwqDCoMKgwqDCoMKgIHNwaW5f
bG9ja19pcnFzYXZlKCZpbmZvLT52MnBfbG9jaywgZmxhZ3MpOw0KPj4+IC3CoMKgwqAgbGlzdF9m
b3JfZWFjaF9lbnRyeV9zYWZlKGVudHJ5LCB0bXAsIGhlYWQsIGwpDQo+Pj4gLcKgwqDCoMKgwqDC
oMKgIF9fc2NzaWJhY2tfZGVsX3RyYW5zbGF0aW9uX2VudHJ5KGVudHJ5KTsNCj4+PiArwqDCoMKg
IGxpc3RfY3V0X2JlZm9yZSgmdG1wX2xpc3QsIGhlYWQsIGhlYWQpOw0KPj4NCj4+IHNvIHdlIGp1
c3QgbW92ZSBhbGwgZW50cmllcyBmcm9tIGhlYWQgdG8gdG1wX2xpc3QgaGVyZSB0byBiZSBwcm9j
ZXNzZWQuLi4NCj4gDQo+IENvcnJlY3QuDQo+IA0KPj4NCj4+PiDCoMKgwqDCoMKgwqAgc3Bpbl91
bmxvY2tfaXJxcmVzdG9yZSgmaW5mby0+djJwX2xvY2ssIGZsYWdzKTsNCj4+DQo+PiAuLi4gd2hl
biB0aGUgbG9jayBpcyBub3QgaGVsZCwgb2sNCj4+DQo+PiBQYXRjaCBMR1RNLCBidXQgb25lICht
YXliZSBzdHVwaWQpIHF1ZXN0aW9uIHRvIGNsYXJpZnkuDQo+Pg0KPj4gV2h5IGRvIHdlIG5lZWQg
dG8gdXNlIGEgbG9jayBoZXJlIGluIHRoZSBmaXJzdCBwbGFjZT8gVGhlDQo+PiBzY3NpYmFja19y
ZWxlYXNlX3RyYW5zbGF0aW9uX2VudHJ5KCkgZ2V0cyBjYWxsZWQgd2hlbiB0aGUgZHJpdmVyDQo+
PiBpbnN0YW5jZSBpcyBhYm91dCB0byBiZSByZW1vdmVkIGFuZCAqYWZ0ZXIqIHRoZSBkaXNjb25u
ZWN0aW9uIGZyb20NCj4+IG90aGVyZW5kIChzbyBubyByZXF1ZXN0cyBhcmUgZXhwZWN0ZWQpLCBz
byB3aGF0IGVsc2UgbWlnaHQgY2F1c2UgdGhpcw0KPj4gbGlzdCB0byBiZSBhY2Nlc3NlZCBjb25j
dXJyZW50bHk/DQo+IA0KPiBNYXliZSBub3RoaW5nLCBidXQgSSB0aGluayBpdCBpcyBnb29kIHBy
YWN0aWNlIHRvIGtlZXAgdGhlIGxvY2sgaW4gb3JkZXINCj4gdG8gYXZvaWQgZnV0dXJlIGNvZGUg
Y2hhbmdlcyB0byBjYXVzZSBwcm9ibGVtcy4NCg0KDQpUaGFua3MgZm9yIHRoZSBleHBsYW5hdGlv
biwgaXQgc291bmRzIHJlYXNvbmFibGUgdG8gbWUuDQoNClJldmlld2VkLWJ5OiBPbGVrc2FuZHIg
VHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+DQoNCj4gDQo+IA0KPiBK
dWVyZ2VuDQo+IA==


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 07:15:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 07:15:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516075.799608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phQ1g-0002XT-4c; Wed, 29 Mar 2023 07:15:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516075.799608; Wed, 29 Mar 2023 07: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 1phQ1g-0002XM-1X; Wed, 29 Mar 2023 07:15:20 +0000
Received: by outflank-mailman (input) for mailman id 516075;
 Wed, 29 Mar 2023 07:15:18 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phQ1e-0002X9-O5
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 07:15:18 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20614.outbound.protection.outlook.com
 [2a01:111:f400:7d00::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74759c2b-ce01-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 09:15:17 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8767.eurprd04.prod.outlook.com (2603:10a6:102:20e::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 07:15:14 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 07:15:14 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74759c2b-ce01-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KlgUdrLaPOw+5Quw3MUy7UwIUwxq3D6vbvVQKZp1EkO8SCxIsCaKDJKpdwwULIpKSqK9qwQ0gTRh+pHA9qhpLGUywxHSiyEDfbRjsq8N5RXOGYkgc3BR2SZP3BQq1zrRmQ8ALaV8JHVUGqZBG2k81HLOE72EovddhnR+v2aZd6n5ySPgTYZux10bpHVqBVcue0+WfLmzQdWrWn5eXdqetMcvaKDJs35CQhcvf4mOL3ZOBhQ0tcuPN+MBjcDtBjYrC14k+fJDZ43YEM+HjRSwG03nShUKtkBg0bq2eJCSunlJEb38PBdYQxtYh4N8Swt+Tp9G0Mki5x3m9gWYCYRI3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RLUm2dX2Z5EJl8PrVBg6l86Q535A0KvN1z5s0boiVVw=;
 b=KvxvUxOpv3QVS20zzyJuOomg4rsJbjPAAb6i3e/qecI+RsegkyGuAjNSvxlmjHruqI0hgwQ72crqLs4rsb/uwmdMyD+nUys60NzvHhfv6tmd7AzVaQFfbCbjaTCYZZij9kiGNuyRyzij6ovULJNEMBmv4h4jWfM6/eCkjoEdX6rr0Y0Qvz4O+22qv+9x67hicgqaKA5AhV4C/loQeeE57LbzJsThrcyVcXKKpdNCRA5kQrGO0OzJ0CR07DzkyHjpNUw4sqGhWimyD5Nf3wjK+VHohx9zj1oOGS8duGXVGx0wilrRNT9aZ7fac1dvskR5RIFv2mKzCfcUTKsH6/lUFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RLUm2dX2Z5EJl8PrVBg6l86Q535A0KvN1z5s0boiVVw=;
 b=UgkS7CASwNmmZfh9iG6GmL3tmWZuI0o1PO6cJnrW9Ox69YLfOYAYFQgseF6hoO5mnKekwSWy/a/wx0HQf5GaY3HmGRrOE3R7t58t8H0oj8ZLE43TMVmu+xAEwbfCWqSwSOKstBCG8riyo1oBOazOpx3/HBEkEIwU0yKNAnJrUPawGJ8BcXuXbDmzqGxmuz85qOSofqSzgQtP5WO+8mYyQq/6tmjtE4MpC3MhB9Gh2xovj2aMISVOuJPrOQM6bJ4+1m+gsUYw89zPa6lXPd7Krplz58bsF3TLCA4JL9IaetvktlExB13s3FmWXZAeR0glpPNy45pJftX9T6h3QfdW0Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <736f512f-858a-214b-bdd5-aadc183d2cb8@suse.com>
Date: Wed, 29 Mar 2023 09:15:11 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v8 5/5] xen/x86: switch x86 to use generic implemetation
 of bug.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.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.1678900513.git.oleksii.kurochko@gmail.com>
 <5e252e8dacea5c4f2fdbb4f7970e34a862987639.1678900513.git.oleksii.kurochko@gmail.com>
 <9af94e49-ff66-5e7f-bf5f-ba4095cfed13@suse.com>
 <883d29a6bc888b4f78d5f20af4c2cf4b1b64e7c7.camel@gmail.com>
 <20063ebfc717b8281aaad4314213f26545f28273.camel@gmail.com>
 <4d0565dbc1711c2ebd122af2f6da69006be02ee5.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4d0565dbc1711c2ebd122af2f6da69006be02ee5.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: DB6PR07CA0175.eurprd07.prod.outlook.com
 (2603:10a6:6:43::29) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8767:EE_
X-MS-Office365-Filtering-Correlation-Id: 5f0b7e65-86b3-48fa-3fdf-08db3025577c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hgGGKttXVmEDVtUQWhpbZTJRc0W7uqoNuk9QKSxKCAllgJUszeubOERqT+rf+HBjUQ2sGq18/FZsnv9o9aXL61wodcVSluH+NoIkpY8JpyI4+WlxQoPto+gBwt4iK2uH+lgOaXshhbWGd84Yy/kpYDbcH9+aqmIzjcI5xzjNo9FmgV3P2DdsdluaZWvMY5r9ejUQ7sNkhM6KhjyTos1PvQJDAVBVw5ztUtTXFCeG3YKowgaAi8WonCniA1xti4IdoibaxuVcAIqKvWBb4A0HWSVrRdRXhrgnQCf6NeZ2KQzIIWstu8mZg8i7gTl5GX+UZHEpwr6BeUdZo9imlMInxXnwo32BYiSaAul2akd6EKt2UPnGkffUqVm+Zo4i0D04a/anufy2b3+QAH7lAfZNzgVurO+L8tep7D+4VxM/L+QARfoEWs5MYq8+KROjBi2ENL+uRq8Lmlv28imOwfQDRxEdBBzDpX+C1zbCrm5r6YkYUbX3cniHkbon9QGKX/fBbdpNbkq2pJ93mcW8EyfF8/Ig/Sq33MMdEXlgvqU/2dVlFTZCYPVXf5/sHyTZ9x14elttLcxq74q25R/61nhU/bonV+JetSRTh4RtGcf8AgncU6lzXu3v7Hlw58MeRx6m3TdlMe0U+X7oI7CLRdi6/TrF3h5z8FoXHskcAOYZntY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(366004)(39860400002)(346002)(136003)(451199021)(6666004)(53546011)(26005)(6486002)(38100700002)(2616005)(186003)(2906002)(5660300002)(8936002)(6506007)(36756003)(6512007)(54906003)(478600001)(316002)(86362001)(41300700001)(31696002)(6916009)(4326008)(66946007)(8676002)(66556008)(66476007)(83380400001)(31686004)(66899021)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OVM0Z3FlR3VLY2pMSndzeGF0Rm91M0ZiSDBiUEIvRk9HOXJUK1FMNmdGamY4?=
 =?utf-8?B?b0o2TmdHYzRWV3FXb0sxU2pxc0lGZDNkVFZmTVl1QnhydkUyV0d4dmUwc0hi?=
 =?utf-8?B?S3lhYnFNUEc3K2dkd3JUTkx5cFJsWlV3RUlSN0s5TGhOdHlHd2hlTG83Q0ZZ?=
 =?utf-8?B?TGVEOUJxbTU5ay9YcGRNRVN3QXZvdkw2RjRQV2dlN250L0tJeityTkFuaElh?=
 =?utf-8?B?MG1aZjhFdWhXTktITmlocjJxNzg2b21kMHJQa3NSUGd5SktSNzNJWG1GMVBQ?=
 =?utf-8?B?dUNiQ0dLdzRmY2ViNHN5NjJHaTc2ajVwZ3VQaitLK21sZUQ5ZG1zeExnY0VP?=
 =?utf-8?B?MFdWd0g0c215VGFEUStUK0tDTUJTOVBWL0dhZ0tiTUZ6b0tkZzlOTmgwZzc1?=
 =?utf-8?B?MWRPV0x1Vk96S2xpRTgxbnBxTW16K3ptVmxUaHNYVE5reE8zQUFBbzVEMFYy?=
 =?utf-8?B?S1NtT1poZVFGYU1zS0h5OXBtQmdVWDdJTmt0UTBiSUgvVTkrc2YxK2loeFlo?=
 =?utf-8?B?dzM5aVhod0pxUW1rby9rMU81R3ZYOFpTY0laekVrankrbnZyNE9kRzhrTzNL?=
 =?utf-8?B?T21XaHc3WDFQcDk3bUtkMHE4SHA2Qm1Dd2xWZUhOdkk2NGVCeGRYc2hBK1pS?=
 =?utf-8?B?TlRqU2MzU2hJVzVtbWxiam1mL0lsakR1YUdTMW9rTmpEaDVPYTVEUG5WMWFr?=
 =?utf-8?B?Y0hjVCtRbFFiYUZzbjJCeDM0b3I1QnFTOEZVY2dHaGJnNDRqNUZDK25sdzdR?=
 =?utf-8?B?L09zcjJWYjJ2K0E4VGNhc2FSVkplaEtvZkZIZHhOS1NTQUxwR3dBcEN6eVU1?=
 =?utf-8?B?d3FMd2FOUnBzYkhiRlV4OTlGaFNLNmxhMWh3TVdUNm52K3p1TGRSOVJvaGNX?=
 =?utf-8?B?Z1cxY3hzMzhqOW5tVlUzcUhZTkwzV2h2U0t4aFhvb2VaRjFWeDdienFJenFY?=
 =?utf-8?B?VmliRG43SlI0WFNwR0pBNitTcUhaeGIwL3VscmpxY2wxQ0ZqNVErUFBvWm5I?=
 =?utf-8?B?U1pvRHJtTWdFMTZRbUR4NVJ3RzVKeDViV3B1R1pUOWNtRnhkZkF6MVR1NmU2?=
 =?utf-8?B?RnFCRTBndElzYVN1Q0U4RlRuVVhuelUrK2VCa2ljNThSOE91SDNnNGFqbHlM?=
 =?utf-8?B?NFhsVFVJSU55S2NlYm1zK0ZybW9WQ25wczJrQld4T0lqVjJHa2NQYjhTSms5?=
 =?utf-8?B?L1NRam5MYXZEYWhoMy9QWHJoN3NBZDRQR2dpWU1jU0M2NWR3UGpNdUdma3JM?=
 =?utf-8?B?ZWlRODRib2xqTUwrLzMxWjM5clVjcTlSVzh0U1E5c3hMaGpqaFRZaCs5T0hD?=
 =?utf-8?B?WUxMTFRRNDVpSkh6ZllQQld2MktUYlArWElycHdUc3B3RkxHSzJCc210QU1m?=
 =?utf-8?B?NmxaNStXRkw5VmU2MXdrem5iUjB6ejFnamN5TDhhK1JXUjBRVWwweGlPSWk3?=
 =?utf-8?B?ckRVbG9aMFArR2RwcWVGbWpMcXJxWC91OHdkTTdJZHJGc1pyWXBSWTNjU3VV?=
 =?utf-8?B?TXNwSi92a1NGQWRzVkdMbEtrVEJ2NjRBMHpkQWJlZ01TVERTYXhyVU1LR1c2?=
 =?utf-8?B?bnV3UUpoYXdqaDM0NnRFMkR0SExSWno2MCtJdGQzb1ZvOGI2eEhrcDhobGtv?=
 =?utf-8?B?M08rUWh2clhmWnZlc1ozY3ZqZ0Y1dU03VWNIUUlpYkZwcVd5M2Q1RGg1QUhU?=
 =?utf-8?B?TTNtZ2toa2JiTkZoUzJ4VG42SUlTSDhXNnhUQWVKRUJlL1lDN2NUOVRhcytL?=
 =?utf-8?B?REJzd1JTeXN0SXowRVVrL2lWR2dLYmJDWFZNaVVKd2RJVVgrQVZjdldxTzNX?=
 =?utf-8?B?cWZsMHF1d2VtK0lxT3RUR0dkWlZRd0s4WUFFd0JGQjh4UXdXazVkY28zRmMx?=
 =?utf-8?B?UGVrOTYwU3pMY0VBTVhPMWg2b2Y4dVlMTlhZOUxGdDVwS1pmQ29GQkxrV05U?=
 =?utf-8?B?UU1BdUVSaWRpa3BQaFg0dTJpUmc0TGVyRGtrTVNDdFJSNnFnbzlhdi9vcXQw?=
 =?utf-8?B?VWdzV0dESE8rdnZiRE83TFRvWk82dmFad1FnckhLSVJNTk9EQXZCMHdxcXhl?=
 =?utf-8?B?dGpDMnJIc25LT3FiNHh1dERMWkV5OEFqT21OT1V0VHZjaUdzSGpXdFdBUHNM?=
 =?utf-8?Q?bOTNLz1b8fVgsN8cHUSxaA9J3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5f0b7e65-86b3-48fa-3fdf-08db3025577c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 07:15:14.4632
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ToBLUemr0i+O6IqO6mcqDQu4QmSC9SNlMdeMo0ui3VZwmoM0WIo8Fer2cEti7+DbkfmTPHQVIvi2Y6vAOQ3CmA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8767

On 28.03.2023 18:55, Oleksii wrote:
> On Tue, 2023-03-28 at 19:38 +0300, Oleksii wrote:
>> On Tue, 2023-03-28 at 18:38 +0300, Oleksii wrote:
>>> offsets.s arch/x86/x86_64/asm-offsets.c
>>> In file included from ./include/public/domctl.h:21,
>>>                  from ./include/public/sysctl.h:18,
>>>                  from ./arch/x86/include/asm/cpuid.h:14,
>>>                  from ./arch/x86/include/asm/cpufeature.h:10,
>>>                  from ./arch/x86/include/asm/system.h:7,
>>>                  from ./arch/x86/include/asm/atomic.h:5,
>>>                  from ./include/xen/gdbstub.h:24,
>>>                  from ./arch/x86/include/asm/debugger.h:10,
>>>                  from ./include/xen/debugger.h:24,
>>>                  from ./arch/x86/include/asm/bug.h:6,
>>>                  from ./include/xen/bug.h:15,
>>>                  from ./arch/x86/include/asm/alternative.h:7,
>>>                  from ./arch/x86/include/asm/bitops.h:8,
>>>                  from ./include/xen/bitops.h:106,
>>>                  from ./arch/x86/include/asm/smp.h:8,
>>>                  from ./include/xen/smp.h:4,
>>>                  from ./include/xen/perfc.h:7,
>>>                  from arch/x86/x86_64/asm-offsets.c:9:
>> And again the problem is that x86's <asm/bug.h> includes
>> <xen/debugger.h> which somewhere inside uses BUG() which will be
>> defined after we will back for x86's <asm/bug.h> to <xen/bug.h> where
>> BUG() is defined.
>>
>> So it looks like we can't include to <asm/bug.h> something that will
>> use functionality defined in <xen/bug.h>...
>>
>> Thereby I don't see better option that include <xen/debugger.h> in
>> <common/bug.c> instead of <asm/bug.h>

Well, to deal with this specific issue we could re-arrange xen/perfc.h
a little (to skip part of it when COMPILE_OFFSETS is defined), but it
seems quite likely that then the same issue would surface yet again
elsewhere. So yes, for the time being I guess we need to go with what
you have. Until we can sort the xen/lib.h vs xen/bug.h aspect.

> Or as an option we can include <xen/bug.h> in <asm/bug.h> instead of
> include <asm/bug.h> in <xen/bug.h> it will allow us to resolve an
> issue...
> 
> Do you think this option will be better?

No, imo that arrangement should remain as is.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 07:20:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 07:20:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516078.799618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phQ6W-000409-N8; Wed, 29 Mar 2023 07:20:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516078.799618; Wed, 29 Mar 2023 07: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 1phQ6W-000402-K7; Wed, 29 Mar 2023 07:20:20 +0000
Received: by outflank-mailman (input) for mailman id 516078;
 Wed, 29 Mar 2023 07:20: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=PU7e=7V=citrix.com=prvs=445237bd4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phQ6U-0003zp-NV
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 07:20:18 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 244680e4-ce02-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 09:20:15 +0200 (CEST)
Received: from mail-bn8nam04lp2044.outbound.protection.outlook.com (HELO
 NAM04-BN8-obe.outbound.protection.outlook.com) ([104.47.74.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Mar 2023 03:20:02 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6779.namprd03.prod.outlook.com (2603:10b6:a03:40e::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Wed, 29 Mar
 2023 07:19:58 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6222.030; Wed, 29 Mar 2023
 07:19: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: 244680e4-ce02-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680074415;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=/+hEML6wSmOL967Fs7Y2bFIQfFM5Zp5V++5d8UsbAVE=;
  b=Qp5qf5jX48qOXM6L5tFjuqAqRM3xZVFpE+zu1a+G25ohFXoobpgtZ+Sn
   n2Jn4fnDu+cq6BVMxA8Tj9iF5R7mqVXXUZPrNDK2yGIQawSz7E4FtuRrk
   02H75yCG+GXIItRtCzbgjf1VP/I1PDYUTarP0aB47XfTjU1EG/KXCETVb
   Q=;
X-IronPort-RemoteIP: 104.47.74.44
X-IronPort-MID: 102272871
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:o7r806w+mMq8oW6E/ut6t+f9xyrEfRIJ4+MujC+fZmUNrF6WrkVUn
 zZJDT/VOauOYDejf9B1Pdnl8BkHvZCAmNMxHgU6pSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6ET5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KTse9
 9ccDh8AVQGSmP7r2pKxe8x23O12eaEHPKtH0p1h5RfwKK56BLrlE+DN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvDSVkFAZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqjAthNTu3nr5aGhnW2+ncVDUcvDmKpvNaillSUA9BnO
 UA9r39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLE7gDcCmUaQzppbN09qNRwVTEsz
 kWOnd7iGXpoqrL9YXCA8raZqxuiNC5TKnUNDQcfVhcM6dTnpIA1jzrMQ8xlHarzicf6cRnvx
 xiaoS54gK8c5fPnzI2+9FHDxjiq9p7AS1Zp4h2NBj75qARkeISieoqkr0DB6upNJ5qYSV/Hu
 2UYn8+Z76YFCpTleDGxfdjh1YqBv56tWAAwS3Y2d3X931xBI0KeQL0=
IronPort-HdrOrdr: A9a23:hNOH7qGyj0GCXwJQpLqEOceALOsnbusQ8zAXPo5KOH5om+ij5r
 iTdZUgpGbJYVMqNk3I9urgBEDtexPhHNtOkPIs1PSZLXbbUQiTXedfBOnZslnd8nbFh5JgPM
 5bGsAUYrCdYmSSz/yKhzVQeOxQpeVvnprY5tv2/jNIRQFua6ZvqyJ4EBvzKDwJeOBfP+tFKH
 OD3Ls8mwad
X-IronPort-AV: E=Sophos;i="5.98,300,1673931600"; 
   d="scan'208";a="102272871"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GF0HfsnW6aGB/EkJb0L3zuiuQNaCoqMhaS17yc4n2IO40DxkDYm+GdMUu1hVdS3GOXvaMZqr4C9flJwS7Hf8AY0CPmy90Tph1f8U83gfeYTS12Bp5Zq0/ABEkP6WfEwC371QjwCzu2T+5m7F2VUOMBimO3szEj9wAslIyf/O7xDEC8JNoYvv8ht/X6WIITth8A80EkTTDaLqxwl1EJvdDsdJSzjMaEfoiGJUJuMz8lrbhLGDKDu4VLJX0rmfM5zFdMfOICRvUtTZxRJASxaGPPcDV/gDE8mYF11uI8guub5GJeVsFQVxobMUeNoXttQvcHppAgNyp0KdviW0/mVzXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/+hEML6wSmOL967Fs7Y2bFIQfFM5Zp5V++5d8UsbAVE=;
 b=jVojF7UTgCXmHcCNE0rla+NsqZXsef/UlSe2zEJP1FYLfobtLIRYCoDyH7Jq3vUyKTtCodHTPqRg1eS9gYZLS8sdF93O5GM4TpAChgd3RGYhibbkHwbcHUHL/TDTWineB9c8LRq5paBOTkMKe3YkGLzSE/Bopr0QsEkYe98xPu15XvHCJLg6S8eQnT+HItoZZAdyNhbaidkH+QDPKzpWMUWhOgnyYxzK1bqcV+MKpRPXyDjkiy/JqVj6Vy5a5XmBsAEW3m3fVMsqSR3f125M/IreFmh1co4Q1LS1aXvSghsJR3y6Rc1PoiGFAFv3dhSuRBl/bp3HucXy6IKvLFZp8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/+hEML6wSmOL967Fs7Y2bFIQfFM5Zp5V++5d8UsbAVE=;
 b=T2mFrLNAKisdaH4DmCN2NY/L3h0/a1j4mHgZW5ilVe+K3Y6TGwe/N3vMfhlnGWVosTzQidv9QHcH7Y0k24E6yqD/j4rui09yUQiIbDaYqmHURIdMiL83DQIVqY0ptl0bgFHLqAiF1U8mBaB2UwA0/2FGkW5ChPaz9WrbwBHpFA4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <72defa4a-3dfa-e113-2313-4b897c3dace2@citrix.com>
Date: Wed, 29 Mar 2023 08:19:52 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] ns16550: correct name/value pair parsing for PCI
 port/bridge
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <8e96dec5-1575-3561-c61f-ee188c884b9a@suse.com>
In-Reply-To: <8e96dec5-1575-3561-c61f-ee188c884b9a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P265CA0020.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2ae::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6779:EE_
X-MS-Office365-Filtering-Correlation-Id: 69b2ce62-d38b-4049-6983-08db30260082
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lXROzhgw9uFLqDrJzi5kEuk64bL2P+0eiCGEP7ZAQufJrZSUwIBjroD7zP5OSNDzDK4++1RlXcMhZIb+DoaQ86qtSNE/hxtHB6Wa8pD4rwOV8V6vCH3unXzo5GB6KH2PCeJBSmLUv/CN/lj+g4dLv0zgdkh1u8snBTIcQr5V5Zb8MbN9N15NfqUcGyJ8rNNGlsUShY2ONhQ+UF3Mz7D+E+xXiegTmiXFUoF7pufHtPj/36oHrf2ZUYy44sOyQkgpb2VRO0TJcTyEkDg5aXQW2VquS7F7FYKmq5Dl9mh2kn/sgIFwmbiFM3quVTACgToBIpoOCytfWbfQkYWmiGJh4p6zKARfas+pexx5sLKQdpeM8wYLPCUSOT1RZF8o4eHK+rH81KVkK4WD72Z56YYcS6Ak0u3B1Qml8acznLQa9/8BggCbAMCP0shkM3NtfTQQlei8pMd+SLsGHIUukmWlhjB8hf5bNEnfuAxsR4aXUvU8a1AI//caU0+WCVc/YO/G+wFB/T7CnQDZ09aalGpOZyn0TsAkbcKHdtlGCOUX5OBPkmKh0GkFEHbAgAW1IRZnRp1NtUi9BKbat+wLvEvnm6a+B/z7/aDczNPPjZ3EtPlu0S8HOpw5cI1+zUQBKv7EX1kZ+DBan2JyRTVzmtI48w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(346002)(39860400002)(376002)(136003)(366004)(451199021)(36756003)(86362001)(31696002)(316002)(66556008)(66946007)(4326008)(8676002)(6666004)(478600001)(6486002)(110136005)(54906003)(8936002)(66476007)(41300700001)(5660300002)(4744005)(82960400001)(2906002)(38100700002)(186003)(26005)(53546011)(6506007)(6512007)(2616005)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dHhpL2NOanZ1ek4zYy9COUpOQm1SUTA2NXRYOGFVaHJVV2JDMEhIMTlOU0lj?=
 =?utf-8?B?ZXgrcVVhWXovdHYvbUNndlN5K1lJSlIyWTZ2aUN1MzFnY2QwVjU4dnFjZTQ3?=
 =?utf-8?B?ZzdyenVENys2dzNCdXlHTitBdjJab0wxSGlGWE9xZE1Uc0UzU3BZM0gyN0ZX?=
 =?utf-8?B?ZDduYXF1Ujg3YUoreFJHemVHNWRheWMzRnlXS1gxRWZkL20xQmRvUEZMYzRV?=
 =?utf-8?B?L0VOYWNhY3c3SGUxUjRMNHJIcVZaVlpxT2dUQ2JGL2RhejczUjRrMndPTGNZ?=
 =?utf-8?B?cC9Qc29YTnZ6ZERHbjVXcW92SkpxNms2Sm1MY2FKbFFGNmdTYjZ0V1dlbXdr?=
 =?utf-8?B?T0RFLzNWQjExR20zM0Nrd25FS25tV3BqYWMvdUJoMnZ5WTZFMjl4UVBub3VE?=
 =?utf-8?B?VFBzTVVCbUExNE9pTWZqdzhSbTFuaFY1UFZaQnVVUVp5UWllWTBCTk51QUt3?=
 =?utf-8?B?TW9YbEhVR2JIZDhwRmJCOXFjWjNURWFvOEs5QmZNaFcwYk5SMkpjTlJ3ZW41?=
 =?utf-8?B?Z29sN0djZ0ZZcHhCck5VMzRoeGpvRVkzQURqaTNKZWxERE0xUklvTWw2dmJU?=
 =?utf-8?B?cVN5aFlnZEgyMHdoVU9lK21jUmVsaXJoY2pSQ3VlZElrMy9MTkRMK0NWRDVh?=
 =?utf-8?B?MmV1NUtGZk5zK2dvWG04amhMd3AxRFEzcWNNU3lxOTlDWHlKZ3pFTGw5bXVH?=
 =?utf-8?B?MGF6VGlsbDMrREkyNVlMMnhFNG1RQldVYnRpeTh0eTBGdUZCNXF4SUhqYktI?=
 =?utf-8?B?SzlIdm9VWnAySFhWS1liSFBYalpXWmhROUhaa3V5bFJwbkI2Z3hnZmd2TTRT?=
 =?utf-8?B?VU90dTZwR3ZOelZhZjRWY3pYU3JKbTlHcUdpNFRXNDM1SjFPTTNlcy9Hb1ZL?=
 =?utf-8?B?ZmxuSjh4LzJQRTIxSlpiOVZnTzhXbUM1cGJOaFBPUE5zSmhqazRMM1BuYSsr?=
 =?utf-8?B?aFVDaDAzMUNxSWUxa014RTJqTmk1ZWxDQ2NPeHVnbU9sbnc0Y1kwSUR1MkhC?=
 =?utf-8?B?eGpTZy9tNWM4YkxRZDUyWUx5dEp3UGhFODlwZ0JoRU41d3FXeG4xQk1sa3lt?=
 =?utf-8?B?cTI3YlIwZDNlY2UzTWhkSGlEaFEvcTVNZVBsUmVUUDJXU3F5UWRpa3FOdVNj?=
 =?utf-8?B?NEQ0ZSsyOGlNSEFCSFlTWk5yVXFraFUyOWVGc0ZVVTBzaklXQlViSTk1cmFB?=
 =?utf-8?B?WHpoZUFkYStHQWNYUlRleU15c0ZhK1NZTVI3OHlLKzQveVZzSkExbmtuaGZF?=
 =?utf-8?B?WXFPSWFOam1SRFROQWFOQTNQR1hQRjFXeXJCWU0yaTIxU2t1OGcvTHNzZFQ5?=
 =?utf-8?B?UFVNOWVnUHpnZHY4RzdyZ3ZmVFBOcXRsMkJQdjhCM1dLU2tnWGlsNlpZYjZq?=
 =?utf-8?B?cys2MWErU2lXMkNJZTgxTzlFcjMwTXlNZmdDaHU3YjJRTjE3OFV2dlgxK0lx?=
 =?utf-8?B?N2VrNlgrSkdWVXhCQmdicmNxVGsxVG5GWUdJMHZYK0xvcFVBS1QyK1NlbDhh?=
 =?utf-8?B?aEdyVTdBUmxKWGE2dXJFSE1kTVgxM1VRaVppRThBYklYK3Q2eEJsNkRucEpP?=
 =?utf-8?B?MGpjZmtnVXNlanUreldGZ3pVYlU3Y2phZWlPSE1WeklQU3ZmTHBjanRrb0JN?=
 =?utf-8?B?NExkZEd4M3FZSjI1NW5IazZ4M1JjWW5nZmxoa3dLZGI4QzJ5UVFwbTdjUXEw?=
 =?utf-8?B?b0xubzJ3WVFQc3BBZXhiei9oS29WNGk0NjZza3RKK0huVzRuTWlPeWJHNW9F?=
 =?utf-8?B?WC9rYVZCL0E2Wnl3L21rYlN5MDFqbGVMblliUWlvTGNOVW0ydEwxLzZjZEhw?=
 =?utf-8?B?Tm5MRVpvU1VEb2sxL1dhYlVTdzIxaHhSUHBCTzF1bUdSYTRWQjM0cVpLUk0w?=
 =?utf-8?B?UnpLOG1EclgvWXpobElJVGw5Qml4OFBGVXJMSFd1cHdJUzFZMUxXcWFJeGZJ?=
 =?utf-8?B?c0tleDFHaFJndC9yMDU2aEhxeU1CeE1GcDBBczZaUS8vTXp5OGNHZVo2RnhN?=
 =?utf-8?B?bFBEMC9yVHV6UlFkb1l0NmNRNWlkMVVvNHNjM0dod3FFajJpTGwvWS8vUzBG?=
 =?utf-8?B?VVdBL3J5d05VUGlaWlZWV1ZSQUc5MmtnQ3pFT3dIaHcwbDVRYXIzSnBoU05i?=
 =?utf-8?B?UkZNZGs5Tkx2RTFxSFh2bzVkQkU4b3dvd1NvYmwwQlMzSTdySFNrWkl3SXNM?=
 =?utf-8?B?dFE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	1+zIZrrwZuFpy2JmojDycZZlCmELO9eIeHDS16ORZV1N+BQI6wvLxgnJuvNdAnDy6SKnq4euHzPoDiosiEgQVK7OSfLf7cbIXBAwilDygux0vJ83eQA1MC4Cl0/EfQezd+B8p5Jni5lAxFFVGg26+kMUTZeo9dzeniu8zCRKnLnOQEEbpW1fj0vbTAj4MJX33wOz9HaXo8U6U2+hbv6SSMpXzcZ1HNsx+4a28Il0RuUEDvpDPHKMPZMUj5nsRBd0rDSZib5Bkph9VsrM7nEkuElWxh/7xk6BEZ2rSaQZbnsdjGQgtfWW9N7sE9BNwgngzgbkH5Y2M6V+JVqJXWvCH2Kf9NSj8WeURLoVGqzQT/ZQCsiHowviEd5rUORuC2ZfcuyZFaKLVmQPkteTdUE0EXZV4xuxsPIVyMsXU8c46c76I476eFeZJ4zsQivkrjRP2VweTm71Y6/o2yeqwL18RJsvsHFQLpBJc8d6dJdbqY7ZPIbT7XdMgCujiVLMlGTpWyspFtnLihc4M9xIlFs+jZPr0wBoMPNH0amXKesO1fdsM2khUJxrOxaSFng6LKJQDxAIGH7dU4waWhUrRRgRURPQvitlB5ksSU4t7+8KegkwTcYJ6J2J+x6DpK089ay2i2fHgE6bjvN7zUSB68Mrtej3nbCLWbwOitzAGpoDcuEk/8zRhCV2QnrJf8NJ2A5aMVlz/n8goj45fXlF/kROgWa5a/7Ej6fOKNWyW65uYrTQQJED7CKi9+7t4X6VrJSaQ7Sbd95MyWUTi6QpFvc0VHU9HAGn8i8Z1Q/Ny7Y3ei0zDaYPsaCq3ctTxV+h2E2SH2Zv8DaaJj7KvvctoawRdmI1xGzNuUkxskIEA/btWRU=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 69b2ce62-d38b-4049-6983-08db30260082
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 07:19:58.2294
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Hzb4HTiuDXg3L8hgtkVaDuWIKxy3E0Buk5HscyS0IR+UrVUDjKFWr6MqfwPqxe0mfPdvTEfv0nSlFhBU8pzyGlCI9PGmyN38/9ZwasNu8Z8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6779

On 29/03/2023 7:50 am, Jan Beulich wrote:
> First of all these were inverted: "bridge=" caused the port coordinates
> to be established, while "port=" controlled the bridge coordinates. And
> then the error messages being identical also wasn't helpful. While
> correcting this also move both case blocks close together.
>
> Fixes: 97fd49a7e074 ("ns16550: add support for UART parameters to be specifed with name-value pairs")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citirx.com>


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 07:23:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 07:23:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516082.799628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phQ9g-0004aE-6A; Wed, 29 Mar 2023 07:23:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516082.799628; Wed, 29 Mar 2023 07: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 1phQ9g-0004a7-2w; Wed, 29 Mar 2023 07:23:36 +0000
Received: by outflank-mailman (input) for mailman id 516082;
 Wed, 29 Mar 2023 07: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phQ9e-0004a1-RP
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 07:23:34 +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 9c61d71e-ce02-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 09:23:32 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM8PR04MB7891.eurprd04.prod.outlook.com (2603:10a6:20b:237::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.38; Wed, 29 Mar
 2023 07:23:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 07:23: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: 9c61d71e-ce02-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HS64oCry4UoASiBkhefVfFGQnu2iRyt1SAoCuWbeqW7SIbEpeXw/9i/ouuVKl2fXpbtHv66udMG45zX08fVScdnHi31dcOcFmeaWr9QzjvKskVNewqej87t2Fp0vnWRbQnEdbok+knRzpBEY6HIgDLmBRS6xjhK/HjFVLk6gEId1OrWtc5265cVipAWSlDkK3MsrDVr8L57OQEvDMWMXyAyDA9BC4X9l9zSJvo14L8fAvKeUjb4/6u6raHKQhRmKoDqQAtnD6fL2CmBvgc8F2EqpkSblB+B1yGcU0HqR2HLrK37zVoqxhe5dyhNhAZg1/XDwC/sjWnZ6hW1Jch9U9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ewJymG1DliaWayF/c0Nkp1LCtoLM0Tx0g2yOr//9m3I=;
 b=OOFPdHU86GYpcyswPwA2FAJFLuqR2k//FavWi30HJHo+ma+fsx8I7WUp4/jzHLl4PFUD/I+1z5cxql7iL0Q+a6/JLfqA36GsBq7mi4bAPnDYRQ/vXekDkcQiWMKB+gweJ3GDN0uOgo4WjbWcFmdhUB+5iKA0fCMCHC8tG817atm51AjQS34CTkCFn4p70Tv44LiROMVheNLTegNJaD7gvjHUtYLfYQ3ZO2DdZRGcNsw9REgFx2kxXymW2l2AGP7cwAgfxzFfAHcMcLbeOApiGy8/Rr+h8wZE3f9zhWD6nl3RKZz3pAqn4e4OEDxo3/EQMxLrIGZfbxmStH9GILbXrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ewJymG1DliaWayF/c0Nkp1LCtoLM0Tx0g2yOr//9m3I=;
 b=F+6zgEAk7miMC1dfVEVrX21C4vWY/vzEkOfpzpFWOUUJCvXHT8vioeQ+09cVIzpPmM3mrAb6ekmgCDiLOOqrrUhLw2PXa1JRhKB3vQ0H8r8YB/nxPga4uZ8EDKjpKaI1JG+JtvReU3Fs8M8D2u2kaBUdPeXOGdDcREy+0iPp26JbWJeOqfAIWpxlQ/UL2CKm35VlEkVCtdgj/9OJV+WxYgFr+5n7VJKUCsi9ZxySD9hDNi5oBwqjkPPEoptxsvNQoeABK+LbDO4FSrrQ01sCzwwKbwDyMrr4tvwvk4zY4oJ8J1vhasdVwvJNXYHv9La4Wpa13/T407hOs9VwkltwbA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e2dd4962-4010-dfec-dd7b-1ba77d78a347@suse.com>
Date: Wed, 29 Mar 2023 09:23:29 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 4/5] x86/ucode: Cache results in microcode_scan_module()
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-5-andrew.cooper3@citrix.com>
 <8e86b93e-06c4-5998-5ec1-5543d357f960@suse.com>
 <61f32d99-67b7-d7f9-db93-12105266a03f@citrix.com>
 <cf6a0e24-ef24-57bc-b53d-919cf494ee63@suse.com>
 <de8a81df-7b20-5b68-37a5-5359d9504026@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <de8a81df-7b20-5b68-37a5-5359d9504026@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0141.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7891:EE_
X-MS-Office365-Filtering-Correlation-Id: bbb9c1f0-4065-4164-1f02-08db30267fc9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	T6zWLVJ4p+bFRxuo3ouVvnPh7nyY/huZN0oZR6IL4mFUOgxQ8Qn/feVWF0ybZou3PboN54ztvqTqNJKQTklHBMGshtS+jzkscyCzV/7HDTEGhNS/Lm8AfjSVGkFIbpgrVB65LJK+mIv8L/6cOo6WbnS9Nt1OGz+34phuHtbKCNHC2Bii7FDZw3UV4Im4YzVEbthIn851Jft8SJ+37RTOXoQIJLnRFqhaBfFW7+IcqspyLYfqZq5Urk4q5PMABwz9GWamOkFO5QvjBNMnwy1lyY301X92c/z2RwBpO0aIjXaSt/4+/0f7rl4GamToDBXuQf3UsBAJUnUH8KTIEQx3nB5EZXnwrMMfRvo+ORU96eEhKS7/PzX8FcVU7MgUmkNAVBdi8xe1ploTuAjRKPJCaIgai7+gnegI22GNXKrvPbwiLn/WZ2riBQlxIU9AZKvE/JpTrC72ssa2IsyPXx/i/M6+zR26PkvSLXvO3kQsl2dzE1GLyz56NYzmTQxRmpdITuUc7OlqF10odTnA0c1hZUZm0h1YEyesUbdXf+QzGI029RORzEb91Lv8gDUqs/d+CaGavMOAXavdfGwgP7xvaMiZXlLo46imFr0fUvXNB/r/ojNxzjrjQ+WFhzn9PFVu1kTcJKOs4GXYBPCIuTshlQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(346002)(396003)(136003)(366004)(376002)(451199021)(6512007)(66899021)(5660300002)(66476007)(6506007)(38100700002)(54906003)(316002)(26005)(186003)(8936002)(36756003)(2616005)(41300700001)(6916009)(86362001)(4326008)(31686004)(6486002)(53546011)(66946007)(2906002)(31696002)(66556008)(83380400001)(8676002)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TzI3Z21LV1hva1NTbDhxbFI3aU1TS2dHQWdHeXNLOEVEK3hYV052RklZWGY4?=
 =?utf-8?B?TEI0Mnphb2FpVDh6MEEyM0l6SEVET0hacUh5ci9EOHhxb3FPenR2eEVtU3I3?=
 =?utf-8?B?TWpmSm04Y0F1TDJYN1A2UDVhL2pXcUo1Q1F1MkxnMmM1bVhOR0grK1hxc3da?=
 =?utf-8?B?ZlQzWkEzOVZ1Y2NDRDdzMnNXTTVMNTZiS0xOcmMwWkNnT0tRVDhuYzZTNlla?=
 =?utf-8?B?dk40N01KSm5qcnBmaG9KT1Y4Y2ZBZHJzUENKelpKZUZyUjZDd0RXaHYycmtD?=
 =?utf-8?B?dytlN20xTFpnd3JPN1cwNU4wTm11T0FONkErMHc0UXFvbVlQQUVDVnBzTWd2?=
 =?utf-8?B?YVdTblR5cXFYZVNZMDJST2lyR2R4dkpVVTNGWTh5Y0NOdE9laUdCNDYwT0JQ?=
 =?utf-8?B?RFg2Ny94MHRaODJ1K0JtMGFBL1FKdkt0ei9jZFBUN3VhQVlSOUxabVRHTnJn?=
 =?utf-8?B?Nitad1NOaGZRSW1PZnpYVi9BMFNpajNPRUhlQmd1RTNUMkRvb0JrQUk2a0h3?=
 =?utf-8?B?UnRCOHpxWkRub0Q0TUZCSFFKdlFoaldKMnZiWTYrV2hkT01wNU0zQjZLZVdI?=
 =?utf-8?B?SUFyNkg3dE9OeUtjRmcyemhhbTRocVZGbE1Nc2lxSjJrcU83YmlCK0tZOTB3?=
 =?utf-8?B?ZTNQN1Nma0lSbGc1T3Y0VkF5MG9wSjAySnh3N2o3WjdXcmxuUlFwUkdrMEQ1?=
 =?utf-8?B?YVlRQ0NHSE1NSDRYOEJUNjZMdDZVaTZGVEhFSStCWHQ4WTBlVEt4RVVabWlT?=
 =?utf-8?B?NU85Z3NGU3BndmhRQlBaRnpFMUJnY3k5YzMvMFRKV052YjdiS2FzZGFQUXpD?=
 =?utf-8?B?dmtWK1Q5MmRjRjRVSnBBQ0ZsQXZwOUJXVFFpMHpEQUlTc2JCUGFaNkxDYW96?=
 =?utf-8?B?VUVTcHZ6MjlqUS82dlZ0b0Y0d09IUEpDeFB6S3JuNWxvVDh1ZXpIeUxzYXov?=
 =?utf-8?B?cDNDcHFsSmV1alJYSEMwQnpWcVZyMjRXZHpxTldjLzVpUVMxVHpDdCs2ZCtt?=
 =?utf-8?B?OHlhWHJ0V3dzV1pqSmFreHM0QXAveFFoTnY1UzBaTFFocm41NVNKV25ETVdJ?=
 =?utf-8?B?dkN2Y3NreVhsaXhubmd5R3ZKQU92bVd2U2lIMzBqbktWanM2ME5LbGRsN3d4?=
 =?utf-8?B?bGVlU0Fmc3FORXpzWjdUeDU0c2wxa1pJOE5jZHM5ME1lSzJvQjRjMW9xNGZs?=
 =?utf-8?B?T1R0ejIvcU9ETDBjVlFhNWUyalAyWko2Sm9QWHdBU0pmS29yeWRROHQvSk4r?=
 =?utf-8?B?M0hOYytzVFJzcFFtQk4xRHhpb2xMUEJMVEZZSEZRSHB6UkQyZ2JtbTU2aXpq?=
 =?utf-8?B?VDAvdjJuTHNsdytrZzdZUVBmaWVLQjBXM0NBMSswNDFsTzRnT0hqQUFBczlN?=
 =?utf-8?B?dFJiWGpseEJKeFBwU0RtN0o4TFp5RUxvS1ZuZ2J3SWFSRVhuMzhQK0NWTWl3?=
 =?utf-8?B?dWI4MlYvZzJ5NG5MRHZjUk5jbGVCWitJaDNQd01SUXJ5QTJnYWhURTVybTZT?=
 =?utf-8?B?UUhFY2RxaUhPd3B4UXY1UDVLbUk3bFBRdG8zV1pBU282NEF5RUNhUDFSSG5t?=
 =?utf-8?B?ZUcyTlJPQUU0WkFHb1MxUkEvU1d1YWYzdWFCazBxZlNYeGsyWHJ0NTZ1VHc3?=
 =?utf-8?B?ZW9qbWRhU2pEckFMaGpqMWV1UWRodEtHbVJqSWp5QlYzR3c1UHJka2ZpSm5E?=
 =?utf-8?B?RjU4Z1VhYmRwOXl4T1cydTlqSGRCOXRZYlZHUUlQYmQxM2tEQWhERG95M0cz?=
 =?utf-8?B?cUVsamJsMFVaQTNJdHVtVm03NHk2QlQ5TnBnT3V6SEpLWlRIZk1oMnJ1T0Nt?=
 =?utf-8?B?dWxBbXVYMzJTdlcxWXc3dnRGRXJ6S3JXOEJrK1pTc3JZRkdjTENzUURBb0tq?=
 =?utf-8?B?SU8zOGJ6Qkt1cUxGUmdEUW40S1E2cGxTTHJ3bmVIZHNvTWh2L1BEcVc1dlNj?=
 =?utf-8?B?d1FTODNGcVptMkFYOU1MaSsyVFMvZmpGRFJ1WTArR1NISVAxQldCT1IxZFdZ?=
 =?utf-8?B?ZVlNdzhkOHhSaUFzeUFVd25mdm1TTkRMWDJndUtRSmhNMGhHbTFWSjZBRmEx?=
 =?utf-8?B?TFFySnZab0twei9lWTd0YWVlblJnL1F1TXNxcU9SdDVzRVpUbVJaNE9LZkJE?=
 =?utf-8?Q?sjoznIAEJ5yvf7KGiNKXXckQZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bbb9c1f0-4065-4164-1f02-08db30267fc9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 07:23:31.6408
 (UTC)
X-MS-Exchange-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+IBt4zpaV1nOneKQrOUaf8RhDWN25oqkxOF6TRTGccxFemmjc2Zsl8kBsy5ehjlm5bU1MmOj15VQ9fUScJaLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7891

On 28.03.2023 18:07, Andrew Cooper wrote:
> On 28/03/2023 5:01 pm, Jan Beulich wrote:
>> On 28.03.2023 17:12, Andrew Cooper wrote:
>>> On 28/03/2023 3:19 pm, Jan Beulich wrote:
>>>> On 27.03.2023 21:41, Andrew Cooper wrote:
>>>>> Right now, the boot flow depends on the second pass over
>>>>> bootstrap_map()/find_cpio_data() altering ucode_blob.data to use the directmap
>>>>> alias of the CPIO module, where previously it caches the early boostrap
>>>>> mapping.
>>>>>
>>>>> If the scan is successful, it will be successful the second time too, but
>>>>> there's no point repeating the work.  Cache the module index, offset and size
>>>>> to short circuit things the second time around.
>>>> If the scan failed, it will fail the 2nd time too. Maybe deal with
>>>> this case as well, e.g. by clearing ucode_scan at the end of
>>>> microcode_scan_module() when nothing was found?
>>> See patch 5.  It can only become true then because of how the callers
>>> are arranged.
>> Right, I've meanwhile seen you do it there. That's fine. Yet I think it
>> could also be done earlier (and if I'm not mistaken also ahead of all
>> of the rearrangements you do).
> 
> Prior to patch 5, calls into scan are guarded with "if ( ucode_scan )"
> as well as there being an "if ( !ucode_scan )" check.
> 
> Clobbering ucode_scan prior to patch 5 breaks the second pass to cache
> the ucode we loaded on the BSP.

How that? We didn't load anything if scan failed on the first pass, and
clearing ucode_scan if the first pass failed would merely suppress a
fruitless second pass. Of course we cannot clear ucode_scan in the case
that the first pass succeeded, but my earlier suggestion was limited to
the failure case.

The "!ucode_scan" check also is dead code, btw (and hence doesn't matter
here), since neither caller would invoke the function in that case in
the first place.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 07:25:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 07:25:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516086.799638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phQBk-0005DP-ML; Wed, 29 Mar 2023 07:25:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516086.799638; Wed, 29 Mar 2023 07: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 1phQBk-0005DI-I7; Wed, 29 Mar 2023 07:25:44 +0000
Received: by outflank-mailman (input) for mailman id 516086;
 Wed, 29 Mar 2023 07:25:44 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phQBk-0005DA-2E
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 07:25:44 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0629.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e93d40dc-ce02-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 09:25:42 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7871.eurprd04.prod.outlook.com (2603:10a6:102:c2::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Wed, 29 Mar
 2023 07:25:39 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 07:25:39 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e93d40dc-ce02-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mjttkJa2YOFuI9xAFrHzd8SERt3Tv+fsgNBZJ+gwgbqaug+URl82fECyzOuyIwvXW7abvpZkCMVWPh//xBoOzP7eS1YYMjvgMkiJu06LwEJf5d59yG9WbgoZVLuoipr1EcxjuTwGoIyP/WOJjSWtH+vFiM80wnOvmHkkDPr0/88z3HGtQuAvIdkGUuuewRKFbvRYIqphU+eVbJScEGJDVyzFHIoHABJuBhJ5TzDNvmmwQN30rFhTCEz3NZgZPKRTnxoDGu8G6nXEK8IWV04Uh3tmrozQeXyJIHxNd+HKHjTeI4rLnqrkuxYtOGPH1tNP/GzkT+EfWoNJYre2czP3EQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ioLo9+0X+GQ5YQ1JVPore/ZKCbNiW29s/t3/+NymwGQ=;
 b=ct2gDBa73+CKnM5l6+D8RTkobqtwNsecasNNYVUQc2aGsAb7oq/NjwGjSq6oBMxEpKzcUy//EChKnZAfs3McR+8ptSIKso5jvDgMrB+6eUR/VRW7e/TVfpEL/lieLi1C4NjWOF24rbn2NZzkktUurHaTgbuInBOXzPOnhBDI75D6F4daI0T9v6y/+I5KWpUJzQTP8VOsef+GU81fuTruXtmHimlCjf7kP7GWvcYyG+mrPVqJfTrZSkz7t5Z4GSHFdkQ89WznD07cV3BmQvGsvj484CX25+KhSzWN6jnRZWN22B3tKawlMHZv6SHGttLkCcpkMfWnCEyKRRr2uIt6BA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ioLo9+0X+GQ5YQ1JVPore/ZKCbNiW29s/t3/+NymwGQ=;
 b=PLY+h2SFtQetfJT3XRaXGs8H63QNht1sxtm+B3NdSjPTpxXnkaBMwooYXG1sDEEBlpBdnstpl7kW0QzGfeu1AuAnNgZYfZ6x8fqS9S3GFzPWAlsTWbUqwJsf/jLB2Dx5EJAGNi/uOb6jexoGJ5D/B0d+7kgkosRhHpe3Y4G+J/MtCuxlSrYigwWn7mjdxBK02dogg2EaekEwlcB9VVaOEj3+6RMxxlCQcEW1OoQyiPOQtugfTx7HOjjYDSf1gykOes0vGLzGDPMs+qEHXCFGcCd2Wr7HJGqXL1YAurwAhTVVvwC8mXWPgv56SBgVDXqFUxEwNLoHKdkvfkNFsIrbtg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8227f9c8-6066-f495-a620-b52bb6080875@suse.com>
Date: Wed, 29 Mar 2023 09:25:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH] ns16550: correct name/value pair parsing for PCI
 port/bridge
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <8e96dec5-1575-3561-c61f-ee188c884b9a@suse.com>
 <72defa4a-3dfa-e113-2313-4b897c3dace2@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <72defa4a-3dfa-e113-2313-4b897c3dace2@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0007.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7871:EE_
X-MS-Office365-Filtering-Correlation-Id: 719f3f05-62e2-4e4a-2196-08db3026cc32
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4NCRZ92xefOOHHm/vOVlbm2qwG4xsGIhPluVmg/oIgnSiq7dtkjFhK/gYxGwi3qEyoGcr0hC+Kjcp3GjplTM3G+Ska3La2wFhx2MA0aYVoDeiGNwzrKhmToxDJ7LPSZI4ZprGcrvGDp/0697IV5NMa13qjfqWDXBsjBYQqO5ZLPhW9sDfwMKQXwM4zHir2lpwDozoV0eGSvADUev1R0RKmzQmRXmCOH5/Djge6BNL0LDs/LuZeZL+fIvpox1v47eTB45wgfMpy9JDrVWtpnF0OZe+s9Rpxy5leG0s4EtySKoj6ATaF6/YntJJoaItLDfN7VM1pBVs9n3gm6XhIOAminWQi7Q1hMZBNHFH6dDJuTVLzNTne69PUo32iQOw/yhfe8XWLMq7kVlGyz5FJR/hv0Jhnjx+puPRItk21+u7/ChluDjv/cZlcJayggMiC7POr4Yq52JQr/etBN+y0ss0LjWWPr/ZDcUQxk/VOKWC7JQNRfnBR/bAQ2wxhuAXYzwyDuNbldaQRwL/LYbf4o97EudnkD2cfyZumbM/CYkS//I3h3s9aCEfq4PIjYT4JRGe27zvqshDqQjUm4+82kLTwU0OjW/cPGXGMiqbOkm/L0F0sf8KfOffbNDe+7/4TLEEcLE6+syQyDYQnceg/w9kg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(396003)(346002)(376002)(136003)(451199021)(6512007)(53546011)(26005)(6506007)(6486002)(6916009)(31686004)(316002)(54906003)(478600001)(186003)(66556008)(2616005)(66946007)(8676002)(66476007)(83380400001)(8936002)(41300700001)(5660300002)(4326008)(2906002)(4744005)(38100700002)(86362001)(31696002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b2dMMmw2a1ZDUXEyaDU3QWVkdUpER3FGbVk4RXpJdVFFcWw0QlpsVW5yblpx?=
 =?utf-8?B?VFBkOTdUZEdiZm8vVVdONnQwdkFVNFh3SzBxcDYxeXF5YWZ2TmlQWWUyZ2tU?=
 =?utf-8?B?VEJnQ0ZqYXhnN1RaZ1NRVUc3Y1Q5cThrOFMxUUxqZFpqNG9Fd2xCU0FiS3My?=
 =?utf-8?B?UGpjZ1ZTcjZid1Z6TVNqTGp2ekJqdTRPZ25oU1UxU2ZSNlBIUXpKR3c2V1Rk?=
 =?utf-8?B?Qk9nVG9tMDNublErUVZpUnU5TkQxN1UzdDZQK08wdzlVV0ZPbnVySUlqVnlH?=
 =?utf-8?B?UnlweUZNZ2xjTEMzcmI4bUJ5eTRScW5YSjk0Nlk3cmdOV0pyckZmdXlsSVlu?=
 =?utf-8?B?WTN2TEU3TTFXZzZKcFpxT0NFM2RENUZzQ3NqTklPTFV1NE52c3dZck5zTkNW?=
 =?utf-8?B?RkFCNnVHbUFUL0ZlWG9SS3BvZnYvOFUwdWlKd2x5S1A2Wjgyd2NQWkFXeVVx?=
 =?utf-8?B?YnRaNHlDOW5jTmNITXFzeVUxV01RcXprazlURnkyNTJIWnlPeXNOcmJKL0Jw?=
 =?utf-8?B?c2J3ekxTMVEvM05lVkF2R1BtS0xzd0N6ekdqQ0d5bE16TUhmRUx3Vno4emJP?=
 =?utf-8?B?ZFQxSER0R3QvUGNURCtjbmF3OHpJVk5aVlpNbittVnJneERqT0xPNmU5a0hz?=
 =?utf-8?B?UGE5WTI0aWNaNVAwOXE2OHpCdytoOTNuQ0wzMWlka3dyRWJ6LzdNRXpzSnlW?=
 =?utf-8?B?bGJweDRtbldTTCtoTE5KRDFUeS9icmJLcU95ZW8vRmhZdk01OHBZOGJYY0pL?=
 =?utf-8?B?cWFuVWlkQllwUFI0YWhDcEZTWERuTzdEV3lmRXVoTDNLVHNhVDZpSnR6eFJp?=
 =?utf-8?B?cm84Ky8ycFVTNlAvR1ZRMzhWVXlMMXZsNTVwendMVDFqWHcyZEdJdkZzZSsz?=
 =?utf-8?B?YU16VkgwbnkwZVRudTUxYnIxSFovbXJ3eEdiZFc5MWEvRGZwMlZ5MHRyeTlV?=
 =?utf-8?B?ME5NbUQ0bXhucTRhWlIrQjhjVW1RQmVFcmJFaFJQRWFiUm4xT0Z0WldkMm5H?=
 =?utf-8?B?bERPZS9JcWpYQWJXb2pqeVc2UDIwQkdOUm80enAveFlQekE2SVhFL2pZandK?=
 =?utf-8?B?Q1lxdGhXM05aYWo5TDFEdnFJcXFLTG1IRy9zamdaNldjK1FRZEorR3hoU3Ba?=
 =?utf-8?B?cStoOGMwVzdubjFpTGNIeDN0dTZ3eHlyNUVHYlRPVWJmN25kM1FybGJid004?=
 =?utf-8?B?WVdkN2lJOU5LSXZJaHVYOXlaaTdqUERjYVNhY2VIMW1mbklBVWU4QUR6VmNt?=
 =?utf-8?B?Wi9TV0tpNGs4YVpKTndWNEVOTXd4STUxa2tTdHI5Nzl6Y1g3NDViaW0yVEMx?=
 =?utf-8?B?WVVsZHo4bUZVSFR4eGtaT0NpWUt1dDFjU2tVcjYxSzI5WERnRER6eHlwUVBV?=
 =?utf-8?B?eGtUa1NvL1AyWk9jUUVpUUo3dVBIVDJNRHRSZXhNMmZ0bDM3YVEvOGMvSmFi?=
 =?utf-8?B?YzZKMkM2TDkyUWhiUGRvNERTWUlWOFg3dEU2bE9qN25mc2UxM0lLSlNtc1E3?=
 =?utf-8?B?SmlyOXROUjZqUWcvaUtma0xTY3JlVU5WVEdkTTZqdjR2OXNNVnRYVVhNTldZ?=
 =?utf-8?B?VHZ3WjNlZVRKc1FhT0NPZ0IyWFRkTk5uK0I0WUgvbE5penFxemVoblJ6QS9m?=
 =?utf-8?B?dmVzRDUrWkkwbDZBblJkNWNFUWo2THIvdkZIV0gxd3hXek1JRE5FTlRXWDh0?=
 =?utf-8?B?M0EzZHJ0N3c5K00vaVBBQUZwOGJvMGlteVV4cVJUWFN6WXBGY240TXhCYVBU?=
 =?utf-8?B?M0g3bnVYMWhCRE1Jc2FGUGRWZnIybjhUQkJmZTZpSnJpeFp5Z1NkOEg5M0dz?=
 =?utf-8?B?Wks1ZVczalNBYnNrd3NQUEl3b0FMWElYMXZ1SUowNGx4QkovTld4UzhyTXk0?=
 =?utf-8?B?RGhzNmc4WUdBZzJkaU5uTmFXQXVLM1BLVUs4MDd2OEovaHMvR2V6RmdXeFpW?=
 =?utf-8?B?aGlCdWFjRDhhZ0xRYkk3b2F5WG9yZ2w1ODZqSU92c2dmTHlUWEVCVkV5dmNU?=
 =?utf-8?B?YlNBcnJZdzhmLzZVZlF3am44Y3hqeTc5ekdXTFpmeDRRUWtOMnUza3E2blR5?=
 =?utf-8?B?d1AyYklTMFk4cFdDUXd4VWRlYlFTUjJuOGR0NUFvUG5wdmFpMGhtNE1hVjRn?=
 =?utf-8?Q?ZRH4GmjRrD7+Nu07F36zMrQnx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 719f3f05-62e2-4e4a-2196-08db3026cc32
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 07:25:39.7238
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Radb5FapmvMi7wu1rBe/6CM3Dc3j1jYdpohj95RbZVtlHQjVPBT5CFk6iZ4pRSKWv9p5UjNYG3C7gb6b9K79kA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7871

On 29.03.2023 09:19, Andrew Cooper wrote:
> On 29/03/2023 7:50 am, Jan Beulich wrote:
>> First of all these were inverted: "bridge=" caused the port coordinates
>> to be established, while "port=" controlled the bridge coordinates. And
>> then the error messages being identical also wasn't helpful. While
>> correcting this also move both case blocks close together.
>>
>> Fixes: 97fd49a7e074 ("ns16550: add support for UART parameters to be specifed with name-value pairs")
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citirx.com>

Thanks; I'll assume you don't mind if I correct the domain name spelling
while applying the tag.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 07:41:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 07:41:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516089.799648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phQQl-0007gy-VO; Wed, 29 Mar 2023 07:41:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516089.799648; Wed, 29 Mar 2023 07: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 1phQQl-0007gr-SX; Wed, 29 Mar 2023 07:41:15 +0000
Received: by outflank-mailman (input) for mailman id 516089;
 Wed, 29 Mar 2023 07: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phQQk-0007gl-Sx
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 07:41:14 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20607.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 14a1b9af-ce05-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 09:41:13 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8067.eurprd04.prod.outlook.com (2603:10a6:20b:3e5::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 07:41:12 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 07:41:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14a1b9af-ce05-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GvJqda3PZ6dSQo0/3ZKE+hfFxgDWOVfgooKLe113jIYWgUez2/SKOr8oT/dTFzckJYeNqyhRxVFEzpaR1+KbzeDrtuhwJpPEYoiXLmI8inDk973hEGvUetHaktQ/nnTkU/FTgPOmSodmG3qy7b9VIZPdHoSn53ru/7QwT50lhX5FKvveC7E1gzAHlok7DIXX0xjwUkf5Bl4DCa+wTQtuiLa+pL7upkoTEDYc34pbgMe19OwUAHhpOUa8wmGN2OxzZXIkjX9ChdVBLKHcq+zyYwK6Wnx3SLmy/+w8KnKkiiYWL/sX7tKH7x7gGWtAPi/4IRxoNDIFZ6BWHvePy7ZzEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hTj7jQmZ+aNviIf7tLtuPXsyLxN8QFlGO3m2R0eJ89c=;
 b=E8cuQ6LXWvpBRIpX0CZzFr0FtL/vJ8SNH8y9zB/imfpd1IM8Jl7qLkE3Hi/X0vjkccGbUp/XSEpQ6W4gPEqYKKZl1nfvrB+ducjEitufFpmUOzObVsYAcNrcwNPT5JSIGVcoXndK3RXIN5mQUGDbNHppgUdpKUkz2WXRTce5bf+p92vayYQDkLmRa0PpToeXcMvgxXavdwuzDtBIhB9bhPtU5eXP6VqUz/bi7bpULzJah6ua8wrFmknvfp7mL6gl7ajHY+VFg7kDwC5iyQo4RyFvF50VgFBQC2WDLpmp7jte1jFOV9jjvBdcS6WKV40Ss9b972w2x/z+BdLrRac0bw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hTj7jQmZ+aNviIf7tLtuPXsyLxN8QFlGO3m2R0eJ89c=;
 b=zCfKLO9blH1yqHCQiFx5CkIGD0xqbAMFaLtFX7/zVgKIRiUhYGPl/o8zFcehgmcKQta49vb2FpfpHGcf64ifMttpsTBM8QkcAmG//piGr1oSUqdAbfXmwLL+GPNkGnnoiZUPcf0qy76Uy4f8nBl5/RR+FDlDVB0NqEjDfUzddssuBrLBFvw3CwUm9SKBR9zdwCrFC33Gd1JObAEydOMoDyFN9OzNZlPP3tb6pYWqq8FXJ/WjPutaeAHwSwJdMvM1iJzzSa1w56v2GxlfBK4jvadob/QAp93RcUUOlQBYfVDttT+eSJCkCG98Y2BN0Prur2BWjr/Lfaf/fTH6pykcwg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cc3d6ad8-d89e-23b7-1570-784079c5a982@suse.com>
Date: Wed, 29 Mar 2023 09:41:10 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 2/5] x86/ucode: Fold early_update_cache() into
 microcode_init_cache()
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>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-3-andrew.cooper3@citrix.com>
 <6b6b7da5-dd1a-1b17-b1ce-1b1adb687807@suse.com>
 <c6661fc2-bdc2-b953-88fb-7250eb2fce1b@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c6661fc2-bdc2-b953-88fb-7250eb2fce1b@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0155.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:188::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8067:EE_
X-MS-Office365-Filtering-Correlation-Id: 53dcde19-fb07-4d79-de51-08db3028f802
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	F+w4yAVlEpgQ0AxYUmEBF2o91pbOBbsIkZWjBUIcp3XYtpApPjdWAyiF6AydmoBK/2BW/dNWAl83H0VfNdkx4+qCACWhOfZaXMiMGmbOiQJ8yYMWjH47LdtQn7Owkukf33CVqUW22sHziLGGjLR35SWYhuVc5HzAastn3rQ+y8+RvlKyLFCwHmv3QNsb+TBdewvkIFow1ehCp2StwF8m7NyGON5RRTapwz+scv8JWTfe/6nYUdL+QnVxeWOaDwnc8W2Yt0nlNRWnOzVPO3n9KQBlyXeC43BRt/6LODdkRa7RMbCzgoHJP9eOjSXKIVc1sa1NcqGb4y17TTzBRMj3bevnZ3KWfeUVXEx6MjlkWoHhHYK/w4aerC1Kg/Uq52Id0hv8XxH3BmoQVY5ryaPNLDFWp/8YWQ+lfGqrhiX8zDQ+ag2n2eMEgTMbrY1u+QMl0OIWOYelSnZB+qJc43dzOjNCFC8vVTMwVIm4dg6lKui4Lqq1PhN3jXpbzcBjxLSdpgXkEqfGkq2LFD2VN0DoDo94XO0kcinUFrVFWCbfoYrFSUZ57gSUmcrKgP6JnCcOHdBIA4kBdJ1n6vZ63rnMIX8TozGl/YBwBLXg9J0YAT3V1R+p1kjXXqpGqMMretyp//Fp2F5GJXBrOulr/Zybmw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(396003)(366004)(39860400002)(346002)(136003)(451199021)(26005)(53546011)(6486002)(38100700002)(2616005)(186003)(2906002)(5660300002)(8936002)(6512007)(6506007)(36756003)(54906003)(478600001)(316002)(86362001)(41300700001)(4326008)(31696002)(6916009)(66556008)(66946007)(66476007)(8676002)(83380400001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SjBFTUlPOTVRaHZ1L0R3M0xVQTlxck9rbjhDeHRJQ0tSNUNsU2ZYNXZPUklI?=
 =?utf-8?B?MUFGU1I3bkFJUzMxaDNFS25NR3hkTm85N1phN0tWVUh5T2hBdXFTSTVJM21T?=
 =?utf-8?B?UjNBcXUzdDV4WUtUbUplekYxVU9HZ3dINkFZMUtyUUZSOGRNOEJtSzZCMjFu?=
 =?utf-8?B?c09Ub2FpaDFrY3J4aHlmYU1mNi85Um9hdWRPUDY1bHFJZnRHYTgzRDlDT21D?=
 =?utf-8?B?bEx4MnB3bHNzTGhGVFI1T0graUVxSktEalBFSmVTdFR6Ym9zV0M4VTRpenhq?=
 =?utf-8?B?eUxFS2YvRFJOYmZUa0lxYnpJeHdCOTV3RGVla2pOVVA1NlZBSlUrSnBoNHZi?=
 =?utf-8?B?WHR0a0E0RVM4M25oek91b1YyRkJobWVJSVZMQXFGa0hpZXNFQ2lQYjBWLzFV?=
 =?utf-8?B?OU9IWlJrdjBQSTIwN0R4a3pJNnVhWWozMm1jR2ZKQ1FjSWZDQkhPVjNzdXo4?=
 =?utf-8?B?VGN1SllsSWpXejUydWV3ZlUxb1VSbS9aeFVRNkNjRGVweVdrUnRIaFZ0bzJo?=
 =?utf-8?B?dGhTbTJDQ29jVnBVL0x4bkg5OTUzZ3R5bWNlelRZWFpET3l0THBGaG1YckIv?=
 =?utf-8?B?WGhGZHpzT1JtaGJGTUVGTTNzKys2alJVZFZ0SkEwSWp4VEg0SzlVTUpNNlQ1?=
 =?utf-8?B?V3ZEKy84Vm1PTGgwSkxtNXMvMlhaRE1zd29oUmYwOU1ldzBtTkRFbk5UMFR6?=
 =?utf-8?B?TUFvcDRtYXJhL0kvb3NuNkpyYXAybW5raE1IQlU3cWU0L0J0N3N1SUR4QytV?=
 =?utf-8?B?TVJlczlVdWRlWERGSzVhQVBoak1NZk0zNTJRQWxLQ1ltUk1mWWc5UE5aV0gv?=
 =?utf-8?B?dmtTcFN3d254VXBHTHRzMENONkN3d0JCTCtnVFMzNFB4WEVnODFzNnVSVzRq?=
 =?utf-8?B?OXd3b0NlV1JiUDJrbEcxTUlLZzEzMGI2bXFsbFVkbS8yd1NwZ2JZbk9ORnhr?=
 =?utf-8?B?elpRTG9vQW04U0JSU2hQdUhGaHdrL3hsVldHL2dYN2xPc2d6Rkx0Vzl4T05P?=
 =?utf-8?B?NW1nWFBPSWNCL0JNVzFtbHZzQi93eG9GVUg5UVorOUV3QzhVREtVZTRnVEZh?=
 =?utf-8?B?OExJbWFadTl5UThERWxPMWJQU3cyV0hoTzMyd0xyN1FkYmdvYXVtQ1F5akN3?=
 =?utf-8?B?ekZEaEJ6aHJrNmpEcm93Y1duSU1zeHUyVTV6QUlhL0dUSHA2LzZxamhHd2Rs?=
 =?utf-8?B?eHJvWmtNRnJGc1A1T003b3RINS80QjRyY3dMejdldHlvMTRJU0FycHN3bUFC?=
 =?utf-8?B?YjZMR2RUbm9iWEZJbEZwdnB5MVM0aFZnVGROdUVlNDlpRWorTHczdG03RC9v?=
 =?utf-8?B?czFmTFFDOHBUVUhaS0puUUZ5ZjZGTFQwTVFFenowVWJRSEJ6SEdzb1hUZXFj?=
 =?utf-8?B?YnpKWGNWUnptRDhYdGRKK3R1SDZpNG00c004SWh5QVgrN2QvQmE5UEVjZVFX?=
 =?utf-8?B?cnNUOWFob1RjYjFkYlhIYWVsNnYrbW9Kb3UvaFMyVktzUS9SdC8vemFyVFYw?=
 =?utf-8?B?Q3ZQVHJjUnZ6S3pDd2pqZ3pSS3RJd0FhVzBFQlVGckFCd2grdktJK1E3TnlV?=
 =?utf-8?B?R1JodlZUQmFGejJjNjdqeHdIMGo1SGt2VEFvMmNnK3A2bmRuWjI5a2w3bEVD?=
 =?utf-8?B?UVc5alFTSm5EWEtmNk80SUFodThSSW8xMmxVTndmOWFTSnU3dG1KNDRkSlZJ?=
 =?utf-8?B?eFNqTUhRU0d5Z1RLMWw2Vkg4RTVIcUM5ajN2d09mT0FveHhvTkxyekt2VHRU?=
 =?utf-8?B?VE9GSzV6SkVYVS81ZXpSNnAwNWZEN09EYmhoYi9KSk53UUJzZldyMFJNbEMv?=
 =?utf-8?B?VEl1dC81RW5QdVYwNk5rWU11anVjSW5ZWEl4UzVKdU11bUdyRTliU25UUDJt?=
 =?utf-8?B?NGc5NEZIV3RtbnJDajhRYW5vTkJ0Zy9xZC95eWlUYW1NbXgyUmtsK1JMcnNJ?=
 =?utf-8?B?ZGYvSUlRNXFTYUwxczA2bHlKenJJVUJzbHJPRVVPanhGMEl2SUUvbk5ta2hn?=
 =?utf-8?B?R1NrNU1wWTRjK2RVQWJYejd2ZmVRYlhXeFpYT3l3TG9hSExJZzZzMGpHdktD?=
 =?utf-8?B?eHdObWErUVM3VlJVcmVHSTJXNjlzcFFVT3JybFBlK2tiMlNoQ1BiQkMxSGFT?=
 =?utf-8?Q?efG/CDtKDfUE7JTAt01+QRsDt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 53dcde19-fb07-4d79-de51-08db3028f802
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 07:41:12.3153
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AlkwIQgA8l0ZWUdB99Ev1c69lz99P/UsRN8/n7cy+aWwEG4hCTHsHXgoQ3/Q8dI2EJ6+ex8CRbQk/MxKh6flMQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8067

On 28.03.2023 17:07, Andrew Cooper wrote:
> On 28/03/2023 2:51 pm, Jan Beulich wrote:
>> On 27.03.2023 21:41, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/cpu/microcode/core.c
>>> +++ b/xen/arch/x86/cpu/microcode/core.c
>>> @@ -755,47 +755,51 @@ int microcode_update_one(void)
>>>      return microcode_update_cpu(NULL);
>>>  }
>>>  
>>> -static int __init early_update_cache(const void *data, size_t len)
>>> +int __init microcode_init_cache(unsigned long *module_map,
>>> +                                const struct multiboot_info *mbi)
>>>  {
>>>      int rc = 0;
>>>      struct microcode_patch *patch;
>>> +    struct ucode_mod_blob blob = {};
>>>  
>>> -    if ( !data )
>>> -        return -ENOMEM;
>> This is lost afaict. To be in sync with earlier code ) think you want to ...
>>
>>> +    if ( ucode_scan )
>>> +        /* Need to rescan the modules because they might have been relocated */
>>> +        microcode_scan_module(module_map, mbi);
>>> +
>>> +    if ( ucode_mod.mod_end )
>>> +    {
>>> +        blob.data = bootstrap_map(&ucode_mod);
>> ... check here instead of ...
>>
>>> +        blob.size = ucode_mod.mod_end;
>>> +    }
>>> +    else if ( ucode_blob.size )
>>> +    {
>>> +        blob = ucode_blob;
>>> +    }
>> (nit: unnecessary braces)
>>
>>> -    patch = parse_blob(data, len);
>>> +    if ( !blob.data )
>>> +        return 0;
>> ... here, making the "return 0" the "else" to the earlier if/else-if.
>>
>> Alternatively, if you think the -ENOMEM isn't sensible, I'm happy to
>> consider respective justification for its removal.
> 
> I'm a little on the fence here.  Nothing checks the return value at all,
> and nothing printed a failure previously either.

So how about switching both microcode_init_cache() and, considering
the similar aspect in patch 3, early_microcode_init() to return void?
There's hardly any use the caller can make of the return value; if an
error message was to be logged, it likely would better be logged
closer to the source of the error.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 07:55:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 07:55:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516092.799658 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phQed-0000ry-5R; Wed, 29 Mar 2023 07:55:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516092.799658; Wed, 29 Mar 2023 07:55: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 1phQed-0000rr-2I; Wed, 29 Mar 2023 07:55:35 +0000
Received: by outflank-mailman (input) for mailman id 516092;
 Wed, 29 Mar 2023 07:55: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phQeb-0000rl-SV
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 07:55:33 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on060c.outbound.protection.outlook.com
 [2a01:111:f400:fe02::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 13e3dc2c-ce07-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 09:55:32 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6222.28; Wed, 29 Mar
 2023 07:55:29 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 07:55: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: 13e3dc2c-ce07-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kUW+GQs8nNwFSyb0N2EoUJnnTb8b04LjywLP85c9owWm16yDVf3enuivMrOSdBlDLH5pP1zr/hKgKTLFIjzVHTGfvYc3YxghkM/bd5735vPdzh65C+CbDzzpki7l0Am2Oo0Sff210DYv8K/ZzmE6GEz1paqA/0aSrNBnJxL61AIKocIauzEAtcZ4p/Op4G+CbbSeWO3xIiksn0rpGt4nIjoq+11ro/2ZD807iOscbKieOT5x41/TCKijPdL/Za/5X6GKJryqdVYEXO5VIq0/Sfefk0lVoUXPmTKfnq7J3vWOWUNRp4TVrL3uZP5OWgPZKU0mDOd5KWsOEsl7KuVejA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aw+6nKsp25v0JyTW/mJ0Av+Mg24DK3K6bNYchYNO60g=;
 b=XszwJ1pXSTayxRcMPE7NHa2ajdZlfuaxnPhF89zIp+cxGjvmBK//1kwlfyialPaM56i6DuN5Dly/YEnf9FA4FpbdX+QVku++xLqy50pHhoUGyU7sJkY27iBJbBfyEngQ7SsnT/za67EedMINX+6O5Qzk0yTPmUB2/bZUU+oXszly6JH2gc9YSd/bSopjVmzQAaBOh5csy9nJQDGunPApyhYe60Vw2yyst0ybUa26ZKNLLH3rC9jnAZPWkS2fAnShhc/Zoo9M1c9gf8h2PdomZvCwfqvwpkISLNxe/Qdzt+UPDHcLRIarCHWP/pdXSKe0Iut4ZmGzmuDmXrGLTvFKYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aw+6nKsp25v0JyTW/mJ0Av+Mg24DK3K6bNYchYNO60g=;
 b=UZTyAhRNu6rM/5XrUEYwQgdps8P4H16P72IKrxQPvHc69c+RVyVYvq1HxjDCI/8PAQYsG92BJeqrn3F+fC7oM/mWVk+ppIvEOA07rIobcvxaE+2KZ9giBt0Bk9gApJpeMTTZJV8wiIonJqpB+symwLUWnGBYLOVsXU/jr/Pwt3NNUfvLP2USU2SVkjjsN+UzuhbWgqnebh/V7+EEn59KdKugSZBcFSiZ4zE6Nb9wMb4kQ/HrxSnXppP2JSNIAiELDZwdbZ9KDzd5hO9QVw2Fk6VZUlR4023x382DvMBtptRdtlmlZ9vAGoUEHv7wWwd6srBDlcsUqEqUMGQJeQ3YpQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <85db0f26-7f3b-7956-a25b-f5b09db217f7@suse.com>
Date: Wed, 29 Mar 2023 09:55:27 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v4] vpci/msix: handle accesses adjacent to the MSI-X table
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
References: <20230324121738.4920-1-roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230324121738.4920-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0141.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM8PR04MB7810:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b8f7b86-3a77-42bc-da61-08db302af6c0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ir3L2c47cCYq71ueZp2Ee5vyhhxthBHeH91PDrWd1ZAjl87jCnlBVjNSG9NfqA3hxbPd0xKCXfwYtBOVslstA4q5/XTq+P7CV3WpQVY28kgxW/aZTy1KoJqZhbDXU+23qGhu0iEMHQY2UdPwGFBawIaxwP2e6gpW5U3fvjopMgPJlCG6b8tJAVgr0mLO7UPLv7UQUkbdjwjly4L+TqfQpsz64MhFRGSrBiBNQDbs19Cp0rVWuhvxu/TjU2IYqyF2MpcH2Km1T1IApoA265FmoRc3arplhu7C7bZN9SNRnMrLyEE8ZJnV72R0uMXqylirotX44XE91nU1OapVHHs6JwWTAXryw/i76tmpRdu1Qt4KLtk6CDkDR9hJPNDaY4c2PG4FExve4WM60iC47iMtG7NLWNkI3xqqVo9XJdYSAYhMkO5biLZqoZY8FxMxF//jlHIkkUx7Pysqm+eiy2R86MA7Lo0Ixtg5+uQ6emDpneWpzcXmj9cGbrqADI2xrobAArUgU8DkRG0ua9EjDDw37+aeBbf2lH5gRs90eAvP8B1/6VWgv5fSz0Dof+nNnBaZypy2Y8qo+UyWcbv1Q9uoiA8ZIIU54CCYC1W21N+SABI87/QNH7lDTfjqhWhxOgCu5vFrb4iA4B8+UCgIPRVGXw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(136003)(396003)(39860400002)(346002)(366004)(451199021)(2906002)(2616005)(83380400001)(6512007)(6916009)(8676002)(66946007)(4326008)(66476007)(66556008)(478600001)(53546011)(26005)(316002)(6506007)(186003)(38100700002)(36756003)(86362001)(41300700001)(31696002)(5660300002)(6486002)(31686004)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L21aeEVkajMrYXorTGd1R0VzaDJ5bXBCYndRV0lDVkx2WDg3SmI5NldSS1Fm?=
 =?utf-8?B?dHNLb0ZTWHk4eEpFQ21QUDhXWmNZcEhqZ1VXeWJ0ZXdIVzQ3VjBlb2hOUUdY?=
 =?utf-8?B?cTBhZXhCOVBCa1dEQ1NxWEEydzJ0ZC9kbm0vaXpQOEltb3V4bUVUL2lBSjdH?=
 =?utf-8?B?OEZYQ0tuZG9GdGEzRkY3azRWakthZTJlOHQ3MUtndlhjTkh2K2ZFZkk3U1VG?=
 =?utf-8?B?RE5CSTFrL05NRFY4bm5ySlhKZDlHSVdBRS9MZ3UwNUJqSDlkTW1FYmxaQkg0?=
 =?utf-8?B?RmRmK0wxNG9zb21CS010VURZTDJ6TktOOU0yNEhFQjZmN3QzZjRtYnZKMjBt?=
 =?utf-8?B?cm5LVDVSaWlEMExtdDNhbEdmU0tOS2tJWWcxeHRKVXRLTVNtTWV6Y2lLWFdE?=
 =?utf-8?B?aitXcTlnK04yYnlnL1BzZ3NWcnRCSGVSTVR0Q1VWT0t0WmwxKzY4MUl3d1Fz?=
 =?utf-8?B?SWVNaTZKOWc5MkRUTngyTmx4am1WVmhmUGpVWjVyOHlKZDd4bHlMVGxrTVNk?=
 =?utf-8?B?VmpySzg3Z0dXOFV5akExMGlpWU01MitEdVZJNlVXM2IreGxWWE1WdjliVmRa?=
 =?utf-8?B?Ny9OZ1pnVnlCK3VFOHBEcTRvQklvSkhvN3ZkWlMyMlM2bzlpeEhtY0hURDlL?=
 =?utf-8?B?YlVwc1hzYTkvb3J3OFpFTTBwSHBtNGp6ZHc2NDBtc3dMZzRVOWNLVzRiQXpu?=
 =?utf-8?B?aWNpTEZxODd1RXIrc0g4YnBHcEhUTmpDZFlGaXNTd3FycDlPM1Q5a002UERZ?=
 =?utf-8?B?TjJzUytrQnhjODZyMFhUVnVvbjhGcHZ6SkxVTEJnRVNsMmhlR3Q5U0FFUmUy?=
 =?utf-8?B?Y0c1UlBTcGRhZUJyOEVjZkJzRVR2OUp0ZkxkeUxZQzhlS3FqWVgxQUl2blNO?=
 =?utf-8?B?eG9JS0ZGVmJiNkFkK2p1a2wxcVJqOEVCNnJIa2JoWEI3SGxlNkVYU21ldkFT?=
 =?utf-8?B?Q2txenlMZDBzMTBiU2JYWDF3aTc5Sm1JemtUeXNMVDNhbFg0aFlqY1JMVysx?=
 =?utf-8?B?U0x2Umd5WmovK1dnMHMxMU5peXltRXkraGlXbEl5RmxGVVYwWHZDRUozY3do?=
 =?utf-8?B?aHZHVVJpVkVraXVRU2hXZlR5WHRNbWZqZm52eGw2VDNINnFiaTFhOTgzaWti?=
 =?utf-8?B?eFFTY2QwRUFxdzU2emhVUlpKN2NPZVAvM3NDdldET1VGaUlYTE56Y3E4a0ZW?=
 =?utf-8?B?eFhYd0RCQ3J3aUFmMWlGRzY5VDJ3eU5QK2N2aGlhSFpUY2M0cU4vZVhUOUlG?=
 =?utf-8?B?YXFDVktHMTNaNFc3Ni9vUXoxMEYrYWRxQzk2K0JBUFFKaXRCVUhJcmR1SkhO?=
 =?utf-8?B?K2orZ1BDR09PTmV2L1JmYVh1UytBKzVRRWs0WEVrQWZLV2pQWldnZ2Fjb3Mr?=
 =?utf-8?B?aHUwcFVacEUzVlRScXQ0ODhiN1pLcnkxVnNQWGlCeDd6TSt5YndZS2NhaEhz?=
 =?utf-8?B?YWVCb3RmN0R0YndVTFJJck5CcUhVQ2NYQklXbmRaY3NwZ2VCd2N0RUg0dSts?=
 =?utf-8?B?Rk1pQ3R3R3pFZjExZWRCdkhwR1pkYkJBTGNabTR5azltYUNOV0ZrUzU3c1R5?=
 =?utf-8?B?ZHlhWWJlVk1JZGRBc2hmTTRHNEcyK1EvUWQ3Wlhmb2EvNzJKZndEWElZZVhy?=
 =?utf-8?B?QXBWOTdoZWczZmgwS1BTK1NHd3pkVDhDamxqZkxOR2ltWnQxNkk5ZUlFdmtO?=
 =?utf-8?B?RkZvWVhkdHNOYld6Mm5MU1Z3MHpzbWd0SHlZTEtBT09MZmFSdFhlYlNCWmhk?=
 =?utf-8?B?UGtlOFhIcFFhdXJ4VGErUElTQmgvN2JYSkJ2NzUrYnc5U2xlYjJMRUtyZ2h0?=
 =?utf-8?B?OXRLcjJPR3pJMU9VeGVOTitaMVZMRExpczY2OWlQSnpvZzQ3MzZRc3loRnhZ?=
 =?utf-8?B?aExEN1RvSkZQS2hnVEhDWmR3Zit3MW9EWFhpNUNXbFVzbDJBd3JnN2lZYW5N?=
 =?utf-8?B?d2I1V2VPdHVSUmVteFlndUZOVVJxeU9Va0lPNmhITFFxVThvVnF1czlxdk5o?=
 =?utf-8?B?OWkzRUtaOWsrZFFkT0V0MU9yYXRQcklGbk9udXgrYzFNdlBNaFpLZG81MCtl?=
 =?utf-8?B?cGZzVVhQT2RTWmlvNWJmRmU0N0lWR2huVDlKaEx6ZjBrUis3TC9ZZGFNSkFs?=
 =?utf-8?Q?yK1Idy7ovhuAZi0A84t71gFgy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b8f7b86-3a77-42bc-da61-08db302af6c0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 07:55:29.1387
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0genY/SPcOlWzLugoZTepyzX+G9wZI0YHcn459+jTJKN+AmDLQ7YYTmS2wexomh5R5PvLH0eXMlYaYAINmSSkA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7810

On 24.03.2023 13:17, Roger Pau Monne wrote:
> The handling of the MSI-X table accesses by Xen requires that any
> pages part of the MSI-X related tables are not mapped into the domain
> physmap.  As a result, any device registers in the same pages as the
> start or the end of the MSIX or PBA tables is not currently
> accessible, as the accesses are just dropped.
> 
> Note the spec forbids such placing of registers, as the MSIX and PBA
> tables must be 4K isolated from any other registers:
> 
> "If a Base Address register that maps address space for the MSI-X
> Table or MSI-X PBA also maps other usable address space that is not
> associated with MSI-X structures, locations (e.g., for CSRs) used in
> the other address space must not share any naturally aligned 4-KB
> address range with one where either MSI-X structure resides."
> 
> Yet the 'Intel Wi-Fi 6 AX201' device on one of my boxes has registers
> in the same page as the MSIX tables, and thus won't work on a PVH dom0
> without this fix.
> 
> In order to cope with the behavior passthrough any accesses that fall
> on the same page as the MSIX tables (but don't fall in between) to the
> underlying hardware.  Such forwarding also takes care of the PBA
> accesses, so it allows to remove the code doing this handling in
> msix_{read,write}.  Note that as a result accesses to the PBA array
> are no longer limited to 4 and 8 byte sizes, there's no access size
> restriction for PBA accesses documented in the specification.

I should have (re)checked the spec. There is a restriction, common to table
and PBA: "For all accesses to MSI-X Table and MSI-X PBA fields, software
must use aligned full DWORD or aligned full QWORD transactions; otherwise,
the result is undefined."

Jan



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 08:03:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 08:03:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516098.799668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phQlw-0002y1-AM; Wed, 29 Mar 2023 08:03:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516098.799668; Wed, 29 Mar 2023 08:03: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 1phQlw-0002xu-7R; Wed, 29 Mar 2023 08:03:08 +0000
Received: by outflank-mailman (input) for mailman id 516098;
 Wed, 29 Mar 2023 08:03: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=i+Ld=7V=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phQlv-0002xm-3Z
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 08:03:07 +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 21d3d7c8-ce08-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 10:03:04 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id A91031FE0C;
 Wed, 29 Mar 2023 08:03: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 5602A139D3;
 Wed, 29 Mar 2023 08:03:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gP+dE7fwI2QLVAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 29 Mar 2023 08:03: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: 21d3d7c8-ce08-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680076983; 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=XkIlKbNA1TkczV1RQwGRPvUdSOv/P1LFG2UzjXLvDSU=;
	b=l686GUWRSYDUHgUznltiyuVdym2edkLnSc7FQgWFkIM47r7WpN2eCj0rOSOWAOPRzKIbcn
	MzsbTQUYdGLGBtUVfeL7hzX+43Sf0U78MmmZWgWiwD85yibarwgOUC4rWn+AtBS3389qCJ
	o3va+i7x9e5FYkdI02qO0JklhX3jyjI=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wei.liu@kernel.org>,
	Paul Durrant <paul@xen.org>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>,
	Paolo Abeni <pabeni@redhat.com>,
	xen-devel@lists.xenproject.org,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3] xen/netback: use same error messages for same errors
Date: Wed, 29 Mar 2023 10:02:59 +0200
Message-Id: <20230329080259.14823-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Issue the same error message in case an illegal page boundary crossing
has been detected in both cases where this is tested.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
V3:
- modify message text (Jan Beulich)
---
 drivers/net/xen-netback/netback.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
index 9ca4b69d3b39..dbaead243737 100644
--- a/drivers/net/xen-netback/netback.c
+++ b/drivers/net/xen-netback/netback.c
@@ -996,10 +996,8 @@ static void xenvif_tx_build_gops(struct xenvif_queue *queue,
 
 		/* No crossing a page as the payload mustn't fragment. */
 		if (unlikely((txreq.offset + txreq.size) > XEN_PAGE_SIZE)) {
-			netdev_err(queue->vif->dev,
-				   "txreq.offset: %u, size: %u, end: %lu\n",
-				   txreq.offset, txreq.size,
-				   (unsigned long)(txreq.offset&~XEN_PAGE_MASK) + txreq.size);
+			netdev_err(queue->vif->dev, "Cross page boundary, txreq.offset: %u, size: %u\n",
+				   txreq.offset, txreq.size);
 			xenvif_fatal_tx_err(queue->vif);
 			break;
 		}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 08:15:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 08:15:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516101.799679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phQxM-0004Xg-DO; Wed, 29 Mar 2023 08:14:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516101.799679; Wed, 29 Mar 2023 08:14: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 1phQxM-0004XZ-8V; Wed, 29 Mar 2023 08:14:56 +0000
Received: by outflank-mailman (input) for mailman id 516101;
 Wed, 29 Mar 2023 08: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=WOlf=7V=citrix.com=prvs=445effd08=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phQxL-0004XT-DG
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 08:14:55 +0000
Received: from esa3.hc3370-68.iphmx.com (esa3.hc3370-68.iphmx.com
 [216.71.145.155]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c66e4cc2-ce09-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 10:14:53 +0200 (CEST)
Received: from mail-mw2nam12lp2044.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Mar 2023 04:14:31 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DM4PR03MB6998.namprd03.prod.outlook.com (2603:10b6:8:44::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 08:14:30 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Wed, 29 Mar 2023
 08:14:29 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c66e4cc2-ce09-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680077692;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=SZBSP41HP5lPnlHFPOFQaj4Q6AHyvqmSulO6E/pbBRM=;
  b=AswAKM7EMsyRhTxIou5yhxRlHze67HdYpnazQyElVkmyT7+aD3q56NyT
   TgJzJaPamaFGdG+TEY/CRjtNqW6WeGpBCWDaBQeScPuw02gAEg0mfw8Y/
   5Kv0V+Xes4waDlxtHFnN6iT2aHCcPy1mXUP03nHQGgM46qNwHjC7NhosW
   E=;
X-IronPort-RemoteIP: 104.47.66.44
X-IronPort-MID: 103502715
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:nRFGdK11+8o7ttwQU/bD5cFwkn2cJEfYwER7XKvMYLTBsI5bpzwBy
 TAXXT3XaK3eZWajeNl+OYjk80wOv8LXm9BhSFc6pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdkNKgS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfWEdh8
 NkGKys3PkqvpsaxwJKYVup2r5F2RCXrFNt3VnBI6xj8VKxjZK+ZBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxpvS6PkGSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03bKXx3yiBer+EpWG/fRSjQKJ2FBNKy0dZ1md/fiSkEGhDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8Uq5QfIxqfK7gKxAmkfUiUHeNEgrNUxRzEhy
 hmOhdyBONB0mLicSHbY86jOqzq3YHIRNTVaOXNCShYZ6d7+po11lgjIUttoDK+yiJvyBC30x
 DeJ6iM5gt3/kPI26klyxnif6xrEm3QDZlVpjukLdgpJNj9EWbM=
IronPort-HdrOrdr: A9a23:M8JPuapnAlQP4VpZztTfVJkaV5tBLNV00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssREb9uxo9pPwJE800aQFmbX5XI3SJTUO3VHFEGgM1+vfKlHbak7DH6tmpN
 xdmstFeaHN5DpB/KHHCWCDer5PoeVvsprY49s2p00dMD2CAJsQizuRZDzrcHGfE2J9dOAE/d
 enl716jgvlXU5SQtWwB3EDUeSGj9rXlKj+aRpDKw875BKIhTaI7qe/NxSDxB8RXx5G3L9nqA
 H+4kfEz5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJptkJJi7qggOIYp0kf7GZpjg6rMym9V5vut
 jRpBULOdh19hrqDymIiCqo/zOl/Ccl6nfkx1PdqXz/ofbhTDZ/L8Zan4pWfjbQ9kJl5bhHoe
 t29lPck6ASIQLLnSz76dSNfxZ2lnCsqX5nteIIlXRQXaYXdbcUh40C+0F+FosGAUvBmfYaOd
 grKPuZyOddcFucYXyclm5zwOa0VnB2JRuCSlhqgL3m7xFm2FRCi2cIzs0WmXkNsLgnTYNf2u
 jCOqN00JlTU84/d8tGdag8aPryLlaIbQPHMWqUL1iiProAIWjxp5n+56hwzP22eaYP0IA5lP
 36IR9lXFYJCgPT4PC1rd12GkinehT/Yd2t8LAS23FBgMyzeFKxWhfzCmzHkKOb0oYi64PgKr
 OO0altco7exFvVaPl0NjLFKudvwFklIbgoU4UAKiazi/OODLHWncrmV9uWDIbRMF8fKxPC6z
 04LXLOGPk=
X-IronPort-AV: E=Sophos;i="5.98,300,1673931600"; 
   d="scan'208";a="103502715"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FM8z3jgZNIuyyHHiqwR6xs7j8HCM90bq5B3QdoB7LSApi2X3lxq08i9cw1hFWeb1i7BVvS3ASxzl6WHtaJlIDWimRebvghEOMigTrFcpe5u2O3ubrewx6ArTNlI8VBtT2NOasgadnOQT5GhyMrQWowDvBcNLcV+WxfEylyOb4yau5hnkq6mWYRGzAjU9pVoenWbQUOPE88tyobo6zSIPbC2ykrNxcMg8O5gfQcZDy0v19rIUt/qxnNQQwQzdQS1UCF1V9IZCq+LFJKWo8eVG2wUbNZjU2ldQh5HOKEu9wtMoLi46ewMXygnB75O/VP9Y1gapx9IaMPVC2VPmcsdoDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6ffu8UzT4EyYI0xuDQ4y8k/B7uxLU278y9xgVNBg13Y=;
 b=SwO+kG8ox4KKSzszGfxh1OT52gAmEWHqu6gYnXoezYfePsCKjZl4QqGNyiN7Ka19CQrSOYnsO0i9UstMlEaA3FmNABUngk3iMY4wEAZqh8hGVLiisjE5SLAnp+Nrbaads5NddfdIaaRO2wxKN2UNuTdjeRhrjvyVbp/b38N+JGp9NWJW8b7Sn3zBLqttekAVcBIPZS7zJEGuvjnS8niSH44ShcrAZRzj/sYn6JGrJI3XAiMlfFsoaGFGGWtkE/MX2P8/IEkc/iBiYlNLwFoRW6sCzU6UfuIYNPOv5inA6WLlP3SBX/KMYVUDcFawxqSpi0wgKypceX9IxatSdZGvYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6ffu8UzT4EyYI0xuDQ4y8k/B7uxLU278y9xgVNBg13Y=;
 b=mXrzzk/ahUu+PlMsJVnMqnTTppR3S89drKPomiKio8vuAg6RM5+Qdno6ma3RJMhFl+o02RwAEFISkWDYVeHy6ruXCNpPubYgkfpFYgXM/S2esUJQyU5doZ8fEtL+a2PcNpgdG2F9pl6DfkrmPOddMsW0r/Pr8WmW1z+S9mNB6ik=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 29 Mar 2023 10:14:23 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4] vpci/msix: handle accesses adjacent to the MSI-X table
Message-ID: <ZCPzX+fpEhQUxZZm@Air-de-Roger>
References: <20230324121738.4920-1-roger.pau@citrix.com>
 <85db0f26-7f3b-7956-a25b-f5b09db217f7@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <85db0f26-7f3b-7956-a25b-f5b09db217f7@suse.com>
X-ClientProxiedBy: LO4P265CA0217.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:33a::14) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DM4PR03MB6998:EE_
X-MS-Office365-Filtering-Correlation-Id: 706a8d9a-6998-46ef-53c3-08db302d9e80
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	q9SE69WSyzKFp9q9gyB2eJUdcX8IWLFZgarEbSvyB4AImhivejmXLGuTuC4SjzuJu46cMhxnKn1SPY4m3EWQNP3Lb6yLO8VHVVrWypdJ/wK3ztF683zv5gJ0Sp9wIlqwNA0+Cp/6/wTl01SYcvpwAXUzIGWGPY8EdDAcgJhybtfbHIUscMlojCFprdJXdezfr6bSQuaIBgFrEhiQiljs0pZsCP56EVluh/VQvLbJeTRv9PJiSY6PN03hFDhtokj4sanCTRACYRORYsBN6/nGbUKbZzIXiLStQAtcm/fnvbixyE0nprNYC2iv/wW+pmLjPBU9BVAdITjnkP3DpOE1Loyjn112LW0fIS8TsOcPGxCaghGHv3DcWE3H1uCADwKE0I0UxBxGrVBvNU6TniWVHuVxT4b7/kGVpXOpIhW8VeG9k2Cq6SwX4bKcyvGwXfWf7LXveF7CDblFuoHq3XGAFQ2Kwe9eQ/bIFHGS8zXJUR0mwQtNxfek1kJKbzKSLTOVJ9/iI1gehLKJdnCNYKLEalAabCgpKnIiVynUNaVIvkTFbui980KIaA61MvIbZw79Tw08kpWWFvwFgMzzxHketbYIhNDsk6EFJG6YAds+2zU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(396003)(376002)(39860400002)(136003)(366004)(346002)(451199021)(83380400001)(6506007)(9686003)(6512007)(26005)(53546011)(86362001)(186003)(82960400001)(38100700002)(41300700001)(8936002)(85182001)(5660300002)(6666004)(478600001)(6486002)(33716001)(66946007)(4326008)(6916009)(8676002)(66476007)(66556008)(316002)(2906002)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d1hYTHZ0UE94elBmWTQ5bmZ3OTBFT01tWGxFTWtPUXgybDlHU2NqSlJOWGJ4?=
 =?utf-8?B?dnNmUG5UTXduVnR1QnVNU2Z3dXM3dXdnWFZjeDZuODZKRndxYzJsR0xBSjBG?=
 =?utf-8?B?ZkpUMENVd1ZhRmdKaW00cXZkanZ4ZnpxeE9YalZCRVBQNlBZeXV6aStqN3ps?=
 =?utf-8?B?aTNvQmtLbC9wbGhRa0NHa2lRQlVGeThaNnNIWEpYU3p6NXdVbk91dm5tb0x2?=
 =?utf-8?B?Uzd3MGJ0bXFtTkdieHRjWlN4SW5CaEdHN0Vhd1QvQnRlMUxxMlErSFgwd0ll?=
 =?utf-8?B?QVJrWmhOTnkrcEViZW1KR2plYVBBTmxTOC9BaW04WmtCWXcwTFBqYUZETXB4?=
 =?utf-8?B?cXNCelNKZkxlZ1hrdUZERmlWNHR0enIrdnI3bGcyc2FLS1hQeUt5cDhram9I?=
 =?utf-8?B?ajlZT0l6bCt6QTJyY1Q2ZHpud3M3d2xpSkt4QTNONlFsQjJVVFpSRlluZ2JJ?=
 =?utf-8?B?eStxTXlTZEtoY1BnSlJGZFlJcTV1NCttd1dYMC9STFV3aG5MTHlaNWQ3K3ZH?=
 =?utf-8?B?ZGkrNDZlZkUvMC9lMWFjUEJvMG5aM3g4QkhyeXNoM2pZa2EySUo0WDN2VGVi?=
 =?utf-8?B?ZVR3U1lrT3p5Q0xsMGZLbVNQaUZpN3VaeFR2VU1qa2M0Wm9zajZMWjdlQWx4?=
 =?utf-8?B?R29CRko2b1dKNlRQWUlGb0FaNFppM0JjM0s2ampsb01HWjV5Skg4WnZTZzlt?=
 =?utf-8?B?bjNZZldET3BSUExYbzUvTlJuQzdFWFJKWTZnQWRQV3J3RDZHYU9VOWhqT1hi?=
 =?utf-8?B?em1FYjVpeVRQYUl1WUtlNDBpejlMNHdZSm11eEM0MFcyY0NDMkxPbmg3Sllu?=
 =?utf-8?B?RmswVUNHMWlhVU4ybkNlRUNiNStoc2xFaGtFZk1sbkxlYUtSSCtyRExNMzR3?=
 =?utf-8?B?YnI3VW00eS9CMkd3RjRwam84VlEzTDBnVXJXbFdzZVY2WVk4WHFMU0FZWWhv?=
 =?utf-8?B?TWd6UTZGdkVmSE95WERMQ3JVRGVMampLSjl5SElITGJzU1ZRSUNoN2FrSUVG?=
 =?utf-8?B?VUtDU2J5QmFaWTZoaVRDZWdzbWpNQ01jeEVBRzZybXZXbzZ1Q0g4ODUvZGtQ?=
 =?utf-8?B?bmxiK1lSQzU5bkJoTVlZckN0TmVjWUtyQ2dNWml2bGNoU3oyQllFcFp5MGYv?=
 =?utf-8?B?UnJRejUzdlFWdmZkQ2t5OVhQbllxWHV3aXZENWxlNWlFTjZndnB1Yzgza1R0?=
 =?utf-8?B?SXJOc2JHUXpQS0Qzcjk0eTBOZmdTQ2pPL1F3eGtrSlFGcVVscVg3b2ZncTFx?=
 =?utf-8?B?cVM1dzJJaWlMVXU4VXEybFA0VEtuWXNsSzFyK0wxN01MRTRSZC9lNkVPU1Ur?=
 =?utf-8?B?eUlVMlNWdG5ZcTAxZjBhemd4UTZKeUcrUmQrZkRhUDdtTW1OYmVJSmdiYjdB?=
 =?utf-8?B?NUJHT1ZLaVFLd09sYXdnd0lqUDY3RituWTVIOVhWdnBBOVZwUHh2RlY5aTMw?=
 =?utf-8?B?MGxvUzF1aE5tK25WQVkyWEQrRHErLytkU1lmVkhQWDdDeU1oZDI4aHhNTVc3?=
 =?utf-8?B?N01WM0M3cjRSeTRvbkFkcDZoSXptVFg1WU10ZExrWDh3dzk1MGMzUGdmelVZ?=
 =?utf-8?B?eDhxL2g0WG5Ta0tycXhBMEFUUkVOTDhndEpOaFZxcHJ5aXh4UmRqMlA0V012?=
 =?utf-8?B?YzI1NGRwa25OOUgvd2FIWXQ3QldUd1p3UUxjMGhqdyt2TEtQS1dnN2tGQnlu?=
 =?utf-8?B?VGdxd3ZNMllyTUpKK2lGWEVEZTJZY1BPbEs2V1NPeHpQNlNPMk1nRzl2SzFh?=
 =?utf-8?B?MkhrdFUrVDl1UnlIT1RUdHg4eDdtTkQvbVhnV0lMaFgyZlp3eHlocFN1TENm?=
 =?utf-8?B?eTV3M01kY1htVmxPdllRcTFnVC9aTm40UkdDdldYQ3pVelpudThUVWNvei80?=
 =?utf-8?B?K05uay9od1JsY3NHWFoyWHg3VVhIclU1U0RFc3dFRjUwZ2NLRHYxa0ZJWXcz?=
 =?utf-8?B?NVBpL3hXODc5R2l0ano1SzQ3dWY5NUVvblJaRjZMTGJBQ2tweWpBaVA4TVdy?=
 =?utf-8?B?VUVsWDdtTUdOOEkrYXg5SDI3MjVmaFE5ZE1OdXJ2cUtMdkpzNVQ4STF3R0VN?=
 =?utf-8?B?dTN5NmpJMXM2di9Nallhd01QbUlTZXdkQ1ZwSGIwVVgvU3FRUzRKSXJrQWQy?=
 =?utf-8?Q?Bn19IbDqEvwyJP6X6zOeZPsIg?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Di0TtcGF99kz76t0x65DHEd4ofRIF6WraIkvC6/rJVpRAN0R5bgTEIQP+hLa6OplStMEavzOVbIV9StkoqOYr4OEZGB4ifB9HRcSvBXiqyoML4U417MlFxbID78CnBBoqA0OAoaF/G3QnCu90gld46L7Lm3J6SJ40/8hrFV8OcKJljp+MhqdI2Oh502odRkTx17PQUaIoKzREHHGUHSBNt+sY9t5NahrjHZ7q5YonIhnpUHTmXvL5GJey31ComFvvl+mG/x893kHQd54n3K+a9/BHzxHTMmsemovjnn71uAhqDbT5viXykM9a0E5QE6WVKcS5py47KUubM2JuQMZRtBrmroHX0HLgFYPel95Yclz4q6OMyMMVk7Bxln3eoRC5g2xJgqAjtSwI7EdXLwi5zhJMBHpBz3lbHOPNOxKs3TnobxomwTOL1cqwPLPCkKz/MF8dtX4UM5Idw+nrcw6oKB8fy1Utz9g8xoWIY+EKeP3lkhxMlIkOV6UHltn7ZmPXbkm6ZMsIpjzbxJEKF8hLqDM+/tfDOk0Bp0Va9bgv/lBCwRKn4avAX+rOGVvpl/WOmgbbpgt2b0MP/g6chsZNeu972LcuaLfpPJSUjdFLXs91+pkkiL1H3eG36XTUyiEZDp/8IQMHfmP3il/eFLoEHoxefggqMHRm+HkcRVL6zrP3Yk8Tgy3q0L1v5Bz2DARAcfAPBYxyLnEzepzNP8sDYu0Bd0DDJY0EBmKGQosgtghsnryf8F+Hae9hMXvqw+ge83q7lF/odiSTRjd7UyNVQ7Z24CKcY9GsTAGB39fzu0=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 706a8d9a-6998-46ef-53c3-08db302d9e80
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 08:14:29.8771
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NYEgG3DGhRwrUKeOBJUc+uFRKUm/pe0inqRUXOmxIupOGKrLKiSk45g7VDp2irRDYskivYGZX8vdG9Uy7hqMLA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6998

On Wed, Mar 29, 2023 at 09:55:27AM +0200, Jan Beulich wrote:
> On 24.03.2023 13:17, Roger Pau Monne wrote:
> > The handling of the MSI-X table accesses by Xen requires that any
> > pages part of the MSI-X related tables are not mapped into the domain
> > physmap.  As a result, any device registers in the same pages as the
> > start or the end of the MSIX or PBA tables is not currently
> > accessible, as the accesses are just dropped.
> > 
> > Note the spec forbids such placing of registers, as the MSIX and PBA
> > tables must be 4K isolated from any other registers:
> > 
> > "If a Base Address register that maps address space for the MSI-X
> > Table or MSI-X PBA also maps other usable address space that is not
> > associated with MSI-X structures, locations (e.g., for CSRs) used in
> > the other address space must not share any naturally aligned 4-KB
> > address range with one where either MSI-X structure resides."
> > 
> > Yet the 'Intel Wi-Fi 6 AX201' device on one of my boxes has registers
> > in the same page as the MSIX tables, and thus won't work on a PVH dom0
> > without this fix.
> > 
> > In order to cope with the behavior passthrough any accesses that fall
> > on the same page as the MSIX tables (but don't fall in between) to the
> > underlying hardware.  Such forwarding also takes care of the PBA
> > accesses, so it allows to remove the code doing this handling in
> > msix_{read,write}.  Note that as a result accesses to the PBA array
> > are no longer limited to 4 and 8 byte sizes, there's no access size
> > restriction for PBA accesses documented in the specification.
> 
> I should have (re)checked the spec. There is a restriction, common to table
> and PBA: "For all accesses to MSI-X Table and MSI-X PBA fields, software
> must use aligned full DWORD or aligned full QWORD transactions; otherwise,
> the result is undefined."

Thanks for noticing, I really wasn't able to spot it when I checked.
I guess because of the intermixed "Implementation Note" sections in
the spec.

Will amend and resend v5 then.

Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 08:39:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 08:39:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516104.799687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phRKX-00078N-8a; Wed, 29 Mar 2023 08:38:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516104.799687; Wed, 29 Mar 2023 08: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 1phRKX-00078G-5c; Wed, 29 Mar 2023 08:38:53 +0000
Received: by outflank-mailman (input) for mailman id 516104;
 Wed, 29 Mar 2023 08:38: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 1phRKV-000786-Ql; Wed, 29 Mar 2023 08:38: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 1phRKV-0002UG-NG; Wed, 29 Mar 2023 08:38: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 1phRKV-000486-55; Wed, 29 Mar 2023 08:38:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phRKV-000780-4Y; Wed, 29 Mar 2023 08: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=0kQZkHLdgu1NY4oV86qrX3HuSCba+wiVBi2JcVClMKc=; b=mkxydPrSupCC0gNH/yjG1MGePK
	Bas0J/jzuurhJ6+pIBe78cOVQYBXQ8zzwiMLg6G4QCGTuLLF0cjGV5yJFfDrP2i5v0So7SKHNCts0
	OwI6R6LYTrHzDttOUCMVsABD0R3zAmMdCCZaJLtQ+4wsA0y976sjPACcxvnwqRmDrKDM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180045-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 180045: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:guest-saverestore:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:xen-install/l1:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:heisenbug
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-rtds:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-shadow:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:heisenbug
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:heisenbug
    linux-linus:test-arm64-arm64-xl-credit2:guest-stop:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:allowable
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-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-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=3a93e40326c8f470e71d20b4c42d36767450f38f
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Mar 2023 08:38:51 +0000

flight 180045 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180045/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 18 guest-saverestore.2  fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 15 guest-saverestore fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt    20 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl       17 guest-saverestore fail in 180032 REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 15 xen-install/l1 fail in 180032 REGR. vs. 178042
 test-amd64-amd64-xl-shadow 19 guest-saverestore.2 fail in 180038 REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10 fail in 180038 REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 26 guest-migrate/src_host/dst_host fail in 180038 REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2 fail in 180038 REGR. vs. 178042
 test-arm64-arm64-xl-xsm 18 guest-start/debian.repeat fail in 180038 REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail in 180038 REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail in 180038 REGR. vs. 178042

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-libvirt-xsm 17 guest-saverestore fail in 180032 pass in 180038
 test-amd64-amd64-xl-xsm      14 guest-start      fail in 180032 pass in 180045
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 15 guest-saverestore fail in 180032 pass in 180045
 test-arm64-arm64-xl-credit2  14 guest-start      fail in 180032 pass in 180045
 test-amd64-amd64-xl-credit2 17 guest-saverestore fail in 180032 pass in 180045
 test-amd64-amd64-xl-credit1 17 guest-saverestore fail in 180038 pass in 180045
 test-amd64-amd64-freebsd11-amd64 13 guest-start  fail in 180038 pass in 180045
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 180038 pass in 180045
 test-amd64-amd64-libvirt     14 guest-start      fail in 180038 pass in 180045
 test-amd64-coresched-amd64-xl 14 guest-start     fail in 180038 pass in 180045
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail in 180038 pass in 180045
 test-amd64-amd64-xl          14 guest-start                fail pass in 180032
 test-amd64-amd64-xl-rtds     14 guest-start                fail pass in 180032
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install    fail pass in 180032
 test-amd64-amd64-xl-shadow   18 guest-localmigrate         fail pass in 180038
 test-amd64-amd64-xl-multivcpu 18 guest-localmigrate        fail pass in 180038
 test-amd64-amd64-libvirt-xsm 14 guest-start                fail pass in 180038
 test-amd64-amd64-libvirt-pair 25 guest-start/debian        fail pass in 180038
 test-arm64-arm64-xl-xsm      14 guest-start                fail pass in 180038
 test-arm64-arm64-xl-credit2  17 guest-stop                 fail pass in 180038
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 16 guest-localmigrate fail pass in 180038

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-xl-rtds 18 guest-localmigrate fail in 180032 REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check fail in 180038 never pass
 test-arm64-arm64-xl-xsm     15 migrate-support-check fail in 180038 never pass
 test-arm64-arm64-xl-xsm 16 saverestore-support-check fail in 180038 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                3a93e40326c8f470e71d20b4c42d36767450f38f
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   35 days
Failing since        178093  2023-02-22 05:02:47 Z   35 days   64 attempts
Testing same since   180032  2023-03-27 19:41:27 Z    1 days    3 attempts

------------------------------------------------------------
2281 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 267921 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 08:39:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 08:39:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516111.799697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phRLF-0007jJ-MQ; Wed, 29 Mar 2023 08:39:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516111.799697; Wed, 29 Mar 2023 08: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 1phRLF-0007jC-Jl; Wed, 29 Mar 2023 08:39:37 +0000
Received: by outflank-mailman (input) for mailman id 516111;
 Wed, 29 Mar 2023 08: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=v9Kw=7V=tibco.com=clindig@srs-se1.protection.inumbo.net>)
 id 1phRLE-0007WO-OF
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 08:39:36 +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 3b602877-ce0d-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 10:39:35 +0200 (CEST)
Received: by mail-wm1-x336.google.com with SMTP id
 r19-20020a05600c459300b003eb3e2a5e7bso9070857wmo.0
 for <xen-devel@lists.xenproject.org>; Wed, 29 Mar 2023 01:39:35 -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
 s17-20020a7bc391000000b003edd1c44b57sm1414068wmj.27.2023.03.29.01.39.33
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 29 Mar 2023 01:39: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: 3b602877-ce0d-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1680079174;
        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=elhpBcVoieKJYr0KR2KfPLbxc1wcwzDWm2bmNPoHAlg=;
        b=i2lrEYaNEsZYF4P8sMgKfqkd1mVO64ml8eBoeRSU5StnX6VFcIW3zGbFhg3JSDYDTv
         +MBCNBlP1CgpFx6mLC8Z6CbvmyEZMSMzuXVfkteLgjkPIO5siP+TLoTXjDQ3pmJKRqPp
         roGa9Z92lqdomRKlcKgjs1WVH+sLFRfc6ZUuY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680079174;
        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=elhpBcVoieKJYr0KR2KfPLbxc1wcwzDWm2bmNPoHAlg=;
        b=U3BbQpJbblBRKvb4tlbSdvM2xl0FbY4p23vUKtmkoFmUkmularrv4AdqsGPgriJ2Zj
         qwaTPs8RpbNBikC1Bs59Ohs1qyMK9vd+UJd/Vc6/7nZKp0bqkBgTPDLcvuo+IB3PmpS/
         rE65KYhoQZcAisDDxlagMsO3z7DbbfA+HrVIiMOb9U2rhz5m1Y0SUFsNR8Rv8Ddo25Hj
         K+PLN5v4kWqkJetGNzQTRhvJWJETuImi22bnN4VyGUxHVkYqUCSu6sxhqRC2vAgW6SUS
         sNQLptiZvQnsog7t0eNj1vdNKpsDMYmz+9gswPQBhmgvaZ79WFI6uh1rkGMc3gIIc6ns
         xUbw==
X-Gm-Message-State: AO0yUKW1AeIxTsC5lDpAoyuaMCP6bus6Nd+X37pm2f5OPgkWGhZMfEpZ
	9oIEykqsfZMy1teWzEMaCoCVpQ==
X-Google-Smtp-Source: AK7set94WvmicPOqKNiT0/wF1YtAp/qIKgjLnqQZ8X6HBppimSAxGvF0aKAntnCT7FSPufC+I0qMbw==
X-Received: by 2002:a1c:7219:0:b0:3eb:9822:f0 with SMTP id n25-20020a1c7219000000b003eb982200f0mr13953235wmc.30.1680079174146;
        Wed, 29 Mar 2023 01:39:34 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.1\))
Subject: Re: [PATCH] tools/ocaml/mmap: Drop the len parameter from
 Xenmmap.write
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <20230324202525.3256586-1-andrew.cooper3@citrix.com>
Date: Wed, 29 Mar 2023 09:39:32 +0100
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edwin.torok@cloud.com>,
 Rob Hoes <Rob.Hoes@citrix.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <50DA727A-DBA1-4B87-AF7D-4C9D89BB6433@cloud.com>
References: <20230324202525.3256586-1-andrew.cooper3@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
X-Mailer: Apple Mail (2.3696.120.41.1.1)



> On 24 Mar 2023, at 20:25, Andrew Cooper <Andrew.Cooper3@citrix.com> =
wrote:
>=20
> Strings in Ocaml carry their own length.  Absolutely nothing good can =
come
> from having caml_string_length(data) be different to len.
>=20
> Use the appropriate accessor, String_val(), but retain the workaround =
for the
> Ocaml -safe-string constness bug in the same way as we've done =
elsewhere in
> Xen.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Christian Lindig <christian.lindig@citrix.com>
> CC: David Scott <dave@recoil.org>
> CC: Edwin T=C3=B6r=C3=B6k <edwin.torok@cloud.com>
> CC: Rob Hoes <Rob.Hoes@citrix.com>
> ---
> tools/ocaml/libs/mmap/xenmmap.ml      |  4 ++--
> tools/ocaml/libs/mmap/xenmmap.mli     |  2 +-
> tools/ocaml/libs/mmap/xenmmap_stubs.c | 11 +++++------
> 3 files changed, 8 insertions(+), 9 deletions(-)

Acked-by: Christian Lindig <christian.lindig@cloud.com>



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 08:50:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 08:50:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516114.799708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phRVj-0001pM-MU; Wed, 29 Mar 2023 08:50:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516114.799708; Wed, 29 Mar 2023 08:50: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 1phRVj-0001pF-Je; Wed, 29 Mar 2023 08:50:27 +0000
Received: by outflank-mailman (input) for mailman id 516114;
 Wed, 29 Mar 2023 08:50: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phRVi-0001p6-Hi
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 08:50:26 +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 be71298b-ce0e-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 10:50:24 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8483.eurprd04.prod.outlook.com (2603:10a6:20b:34b::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 08:50:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 08:50: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: be71298b-ce0e-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HODU2ap3wxttrYE+nj0+9XhMTE7/xriCOd6BTn+BP1U/rkOMqzcYhImlTuLRHecOptAz6MIqjUM8ZWjnmXoG5M+d5nizsMRwJb0kuvtXNuCiAK43bq4XjP55f8N+WcIkhhZ/8J2RlMSknKkwmkCxN6/r0786WAQsx+P219RPYllj3KbAsZ04/oaPDD7K9yVmFs0lQ48EXcwF5lMPm6Qy6IHqmX0XcUHSmnQcX9s/Y1xwxc2t6DdPCt5/oDM78SXUhJx92syz1o2pkSbkovqm/9HIhz+bV4OEEqoAE5vp/m8TY3Wx7bgOkDABKdfNsCjtwQXwZLSwOC/mIo9ABfjrcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WDwTQjm9f4YS0A6Zf/UkCq2GJX8v/ebzIxfJ7bjcWB0=;
 b=gaRUEkkNujS2LlvrMlc3Bmn/Lem2jkOvLd+Q7jzXu1cMzgKqs2G7C/qkwF/SFuLeaLzHOzluHSceEnxZrAskmv1REQ/FcpUmKMm8ePXTIw/AzDrzvGlsPMdnMxifmhlhJZd0H3kVZYMkO7GmCaRfCnGUjdcRa12M+CNSe5H9HYUVRoEERtzpt0WVsPDAf3TAuR3U+ujgvAunqT1PFs0oq5V9xhK3p9b4pHWte0BeEWTsPqIq7r6Q+AJB753gKCPGs5hx/QpjYhbnvtOjGy7cGmVmhdf3B597IWU0RQRHCiXYLS1TfCEEsBblkJWDDnGhSM3wiWmsqG7kWlyVim0R8A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WDwTQjm9f4YS0A6Zf/UkCq2GJX8v/ebzIxfJ7bjcWB0=;
 b=p1yL8hCH7C770sUp7r4gADhEqjbKAEk6xgf2WOEKZn1/5eHvq75a8x66bFWkvdxe1SeqobSFy+hvA2C+nNsGT2NgPmojD4KharVQL+IZ2t8tCBM8fk8PuS3um3Tqd/K7u8F95XBYUdu6Wx3Lb4ibPgYz9kSyZzs5TU5taAxSOW9hFLlO3FqyA73auYD7z8e9IIpEwCbDqQBb1rXh1vFXjoZjFnVjM0jgokx0yY34nylNiV+a3wCutHyfASGMtJ6pxQOZLiht+C1MGyDsU8HXeKxdNAmHrfFDIKvFblyeR6RPbd4nETJ7abpX4iptgqErLgp/7YcuGyqXIb8BZmqYvA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e238bffa-5eba-b18f-ed73-1c5c9730cf70@suse.com>
Date: Wed, 29 Mar 2023 10:50:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 1/2] x86/mm: add API for marking only part of a MMIO page
 read only
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Paul Durrant <paul@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.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
 <f5381e06d92cccf9756ad00fd77f82fba98a9d80.1679911575.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f5381e06d92cccf9756ad00fd77f82fba98a9d80.1679911575.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0175.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b4::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8483:EE_
X-MS-Office365-Filtering-Correlation-Id: d572f895-60b6-4e0c-257c-08db3032a188
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dg411uFw3HKiYorjYzQ4hifBL9EinMfn4X4km4+CL2GyfmcefxJExktRDK2UFqboUfy8uJ9QE9Sp9ablQDdRygiFqV4M+sqGd2Qbxfd773uH4G6qUMT3AT/nCCMx4TS7kUePhmWSao7xs9ilNMBA74848NNPLm2/L/FedMJyZO1S/Fip213rWiIqVTWEuPl7uunn7S31V5jWjfweg9bDBPKiR5wWqgkNLZGpJfN0QP0qiG/wHX9R0kFF4nM0qn0UoVlV/lS1g3WeqAdnd9BvSx9p+jpyX0IQ7+6mXmvSc/bv6nq30idf9Qz+h8RLacS/c7HtSMla5lphIyw6J21vFF5qUhXWE8kpGcA3zCWK60KYZOWvyYSMWxEtAmDQ+NoWXhfgdM2+PbxSAhGssSChmqSAfkTxPzut/IQBBh+7gdgAer3/7vlSCr2ca03OveyonI5+XIjr/tl9StJsXK3TPbc3wjouVjd0KUyFb8+ZtTtNDAQWAwm76bddenVn0TEk5Bfd+ODNNnJHSVfR6PJ03ezgxJI/JQ4XBpO63BXGPGo7mEFsaS7znTiWwWM7mBUiYh7B5bO7bfCuOC3mnp/3QfUa+NllkFfVBoPQxsOoCtQ8uZuEfQnhFi4+IQRBgWLBlZxBW+KLIGhF9i7LVd61WQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(376002)(346002)(39860400002)(366004)(451199021)(53546011)(26005)(6486002)(38100700002)(2616005)(6512007)(66574015)(186003)(2906002)(8936002)(5660300002)(36756003)(6506007)(54906003)(478600001)(316002)(41300700001)(31696002)(86362001)(66476007)(66556008)(66946007)(6916009)(8676002)(4326008)(31686004)(83380400001)(66899021)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bHEzeFA5TVlYbUhaejF2bVdTSmx4TkZvbnoyUDVFWXBIQ1l3ZzQ1ajd1UnpN?=
 =?utf-8?B?U0tYT0hxMDlkOG1uMmpmL1VMbGVvR2NobUViYUFMZ25hR2lMb2tIODVYNGUx?=
 =?utf-8?B?MW5LZkNQL3ExOFBXRG82V29ybGpPMEFDVWloQTJQYVNDTkVhOFhLS2NSNEFJ?=
 =?utf-8?B?UUhDTGNXaFpZL2x1Z2lQN1F3UTcyYnZ0Rlk1ZDloS1BiZVYwdmZTamFHeG96?=
 =?utf-8?B?RlRxKys3T1V2SmFJOGdXanpDVG92azlVekx6NEpLbjNwQ2tjWVNvOFdQaFpY?=
 =?utf-8?B?SXE3cWZRVnNHeDV2Yng1NXZIS3k1aHFabHhpVVVTRnQ5VkpNaVBLbjhhZGUw?=
 =?utf-8?B?NVRnSi80aXVwTFBZR0tobGZSTllhNGozOXJQOXQ1YnZOM3NKdDkweURyTzBD?=
 =?utf-8?B?VFRxaVZxRm0wVXNaeUxaZlBXckZIbXlyR3FUSzUyTTBBekdmMFNGWXB1SVl0?=
 =?utf-8?B?YmMyWHVGc0hWVS80SkxuaXBDazdTbXEvM3FySWxkK3VaNlhXY0JKbm5kUHY1?=
 =?utf-8?B?b0ZzV0lUaHNYSlk0LzB5ZlEydlBlUTNDT0d6VkduVVRKaEQxSGJmd2pwckhz?=
 =?utf-8?B?NlVGakFRZHEreDlFRWh2eU56anhkVWR3NXY3M1FhZGpoeWhURkRnV2VNejM5?=
 =?utf-8?B?MkpQZ0RJZ3Exc1lTSmdhWGRIOEV6SDFYcTE3SFNsV0JjVUhQYnNXVi9zUW5L?=
 =?utf-8?B?K3JRVW04VEtEUk9rVjJ3T0pZVHJPSExlak42NGxWL09kbkVnU1dtK3d5VGQ5?=
 =?utf-8?B?aUNkTE9OV1loNG50dlBJeVM0VllSUHB4NG51dlZWUTdRRCt0a2wxWGp3Tktx?=
 =?utf-8?B?YldDMDhJK3RxYzhIWk15Yk9xVGtHMk9LRXNiREd4TkpyVmoyNmp3Sjl6SFZF?=
 =?utf-8?B?WXBwbHJWTktTZjFQczJTRUZmdDR4WUlXdmN2Zi9mblFnbDBnYzI3ci8yczc0?=
 =?utf-8?B?L0ltZ1BTT01kWVRGZjQ4dG92SDFGZzJGOTlobzlWeCsvbEtmaG9OMlErSVNo?=
 =?utf-8?B?RWRpOEhVWkZBN0hiRTllOWdTalhWWkxFV3Vad0Y2Vks2d2k2dEJFdkRoUXJp?=
 =?utf-8?B?VnhuVkJOQmVOYnMrRjQ4RmpzOSszTzRRd3U3U0dCRStnNzd1Ry9CaDZVU29z?=
 =?utf-8?B?b1NjTFptSVBFcXVic3V5VmJYN1BBdURQK1VnZFUyTE5QZzIwRzRia1NiZkVk?=
 =?utf-8?B?bklsZ2ZiaFFKa28ySkVUcnMvaDEydllWeDJjZ0JtbFRyS1VGSGowOFp2V3RN?=
 =?utf-8?B?am13b0ZIL3BHUlR6TmVIdzZMVmRKa0ZHL0tWN1ZhSXhFbDVnTHpTc1B5azlE?=
 =?utf-8?B?eVQrUEF1bWJtV0RBbzBMc3pKQUtuTDRJZm5vUzh4LzZ4OW9odGtCNk8rZkhy?=
 =?utf-8?B?RitraTZqcit5U0h3TTFTcWtNc1JIaTZkSitzT3ViZFRTaUVoQnQwbER4R1lh?=
 =?utf-8?B?Rlpxb2syTkJMLzFNcm1rNGZjOU5hU0dvTmJwakp6VDlsenFQeEk0Z1NyeHB4?=
 =?utf-8?B?ZmkrTFlBbU9KLzNBdEtFWE94ZEtrZm5teUoya2FHRW90bFFEZzgrMGxrVlpN?=
 =?utf-8?B?R3pNUFhHd0FHNjd5QU02bWdrR1I0NTg0SjJkclIramRvSHJiT3JYYmdrN09r?=
 =?utf-8?B?cThEZCt4QjEwUkg3bnowQm1GNEJMRml6aUJ2dVRjQjBYWUF4bE5lZGVtYkt1?=
 =?utf-8?B?bGxsL3gwTFhOSng0dXAvWFMvUFFYUHZ3U3RDS29rMWJOSjkxUTNLbXFKR3Q0?=
 =?utf-8?B?SmZsS0dwd3N6NjhiTlNYUnRvd2paSjh1Y2crK2hQY3ZKd2htckRRTkQyTVNi?=
 =?utf-8?B?VjdIUVJZNEo5aFFBY3Zyb2xyZCtjd3NkMSt2aXJRUGZrUDc3RGE1VTlYM0d6?=
 =?utf-8?B?dXFLRlFWOXZRc2Y4d2l1VXp3WnN4OG9UZWwzbnpPMThsY1g5QTVWbEtmRFV6?=
 =?utf-8?B?akI2aHVEUmlSeUJGUmFVeWlyS1lyZnJ6d1NFYmZUS1ZQM04yckVWL0NSV1ll?=
 =?utf-8?B?YWkrOUlKMndMYjJnU0tDTWMxK3BjdmhBM2hCNGFOOTVhNVI4SEQ4YS80ekps?=
 =?utf-8?B?aXRGQ1ZhV3J5SUNDS3oxZ3hVSEg1eFBlL3lsSG5XVzU1UzdMVTUzcFIxQStz?=
 =?utf-8?Q?A3RbGyD9VtCJR2mkTAsw9OQGu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d572f895-60b6-4e0c-257c-08db3032a188
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 08:50:22.1443
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OS9yXcqxwBhBSbKQ6jVbsHhBN0BabmV8WZ2zNV2CZn5l13iXR1R9FMCTg5u7trZxTQmLSI25sA6nflWF+hV/FA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8483

On 27.03.2023 12:09, Marek Marczykowski-Górecki wrote:
> In some cases, only few registers on a page needs to be write-protected.
> Examples include USB3 console (64 bytes worth of registers) or MSI-X's
> PBA table (which doesn't need to span the whole table either).

Yet like the MSI-X table the PBA is not permitted to share a page with
other registers (the table itself excluded). So a need there would
(again) only arise for devices violating the spec.

> Current API allows only marking whole pages pages read-only, which
> sometimes may cover other registers that guest may need to write into.
> 
> Currently, when a guest tries to write to an MMIO page on the
> mmio_ro_ranges, it's either immediately crashed on EPT violation - if
> that's HVM, or if PV, it gets #PF. In case of Linux PV, if access was
> from userspace (like, /dev/mem), it will try to fixup by updating page
> tables (that Xen again will force to read-only) and will hit that #PF
> again (looping endlessly). Both behaviors are undesirable if guest could
> actually be allowed the write.
> 
> Introduce an API that allows marking part of a page read-only. Since
> sub-page permissions are not a thing in page tables, do this via
> emulation (or simply page fault handler for PV) that handles writes that
> are supposed to be allowed. Those writes require the page to be mapped
> to Xen, so subpage_mmio_ro_add() function takes fixmap index of the
> page. The page needs to be added to mmio_ro_ranges, first anyway.
> Sub-page ranges are stored using rangeset for each added page, and those
> pages are stored on a plain list (as there isn't supposed to be many
> pages needing this precise r/o control).

While, unlike Roger, I don't want to see mmio_ro_ranges' granularity
changed, I wonder if a bitmap isn't going to be easier to use (even
if perhaps requiring a little more memory, but whether that's the case
depends on intended granularity - I'm not convinced we need byte-
granular ranges). I'm also worried of this yet more heavily tying to
x86 of (as of the next patch) the USB3 debug console driver (i.e. as
opposed to Roger I wouldn't take anything that's x86-only as
justification for making wider changes).

As to sub-page permissions: EPT has, as one of its extensions, support
for this. It might be worth at least mentioning, even if the feature
isn't intended to be used right here.

Taking both remarks together, limiting granularity to 16(?) bytes
would allow using the advanced EPT functionality down the road, and
would at the same time limit the suggested bitmap to just 256 bits /
32 bytes, which I think gets us below what even an empty rangeset
would require. Plus lookup would also be quite a bit more lightweight.

> The mechanism this API is plugged in is slightly different for PV and
> HVM. For both paths, it's plugged into mmio_ro_emulated_write(). For PV,
> it's already called for #PF on read-only MMIO page. For HVM however, EPT
> violation on p2m_mmio_direct page results in a direct domain_crash().
> To reach mmio_ro_emulated_write(), change how write violations for
> p2m_mmio_direct are handled - specifically, treat them similar to
> p2m_ioreq_server. This makes relevant ioreq handler being called,
> that finally end up calling mmio_ro_emulated_write().

I wonder whether that isn't too heavy a change to existing behavior.
I understand that taking this path is necessary for the purpose of the
patch, but I don't think it is necessary for all p2m_mmio_direct pages.
Checking at least mmio_ro_ranges right in hvm_hap_nested_page_fault()
looks reasonable to me.

> --- a/xen/arch/x86/mm.c
> +++ b/xen/arch/x86/mm.c
> @@ -165,6 +165,19 @@ bool __read_mostly machine_to_phys_mapping_valid;
>  
>  struct rangeset *__read_mostly mmio_ro_ranges;
>  
> +/* Handling sub-page read-only MMIO regions */
> +struct subpage_ro_range {
> +    struct list_head list;
> +    mfn_t mfn;
> +    int fixmap_idx;
> +    struct rangeset *ro_bytes;
> +    struct rcu_head rcu;
> +};
> +
> +static LIST_HEAD(subpage_ro_ranges);
> +static DEFINE_RCU_READ_LOCK(subpage_ro_rcu);
> +static DEFINE_SPINLOCK(subpage_ro_lock);
> +
>  static uint32_t base_disallow_mask;
>  /* Global bit is allowed to be set on L1 PTEs. Intended for user mappings. */
>  #define L1_DISALLOW_MASK ((base_disallow_mask | _PAGE_GNTTAB) & ~_PAGE_GLOBAL)
> @@ -4893,6 +4906,172 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>      return 0;
>  }
>  
> +int subpage_mmio_ro_add(

As long as patch 2 is going to add the only users, __init please, and
there's no need for a "remove" counterpart.

> +    mfn_t mfn,
> +    unsigned long offset_s,
> +    unsigned long offset_e,
> +    int fixmap_idx)

enum fixed_addresses?

> +{
> +    struct subpage_ro_range *entry = NULL, *iter;
> +    int rc;
> +
> +    ASSERT(rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)));
> +    ASSERT(offset_s < PAGE_SIZE);
> +    ASSERT(offset_e < PAGE_SIZE);
> +
> +    spin_lock(&subpage_ro_lock);
> +
> +    list_for_each_entry( iter, &subpage_ro_ranges, list )

Nit: Style (either you view list_for_each_entry as a [pseudo]keyword
for the purposes of what blanks should be present/absent, or you don't,
a mixture isn't reasonable; also elsewhere).

> +    {
> +        if ( mfn_eq(iter->mfn, mfn) )
> +        {
> +            entry = iter;
> +            break;
> +        }
> +    }
> +    if ( !entry )
> +    {
> +        /* iter==NULL marks it was a newly allocated entry */
> +        iter = NULL;
> +        entry = xmalloc(struct subpage_ro_range);
> +        rc = -ENOMEM;
> +        if ( !entry )
> +            goto err_unlock;
> +        entry->mfn = mfn;
> +        entry->fixmap_idx = fixmap_idx;
> +        entry->ro_bytes = rangeset_new(NULL, "subpage r/o mmio",
> +                                       RANGESETF_prettyprint_hex);
> +        rc = -ENOMEM;
> +        if ( !entry->ro_bytes )
> +            goto err_unlock;
> +    }
> +
> +    rc = rangeset_add_range(entry->ro_bytes, offset_s, offset_e);
> +    if ( rc < 0 )
> +        goto err_unlock;
> +
> +    if ( !iter )
> +        list_add_rcu(&entry->list, &subpage_ro_ranges);
> +
> +    spin_unlock(&subpage_ro_lock);
> +
> +    if ( !iter || entry->fixmap_idx == fixmap_idx )
> +        return 0;
> +    else
> +        return 1;

If this case is really needed, this special return value (as documented
in the header) probably needs specially handling in the callers - it's
not necessarily an error after all. But I wonder whether it wouldn't be
easier to check earlier on and fail right away (with e.g. -EBUSY), rather
than adding the range and _then_ (kind of, as per patch 2) failing.

> +err_unlock:

Nit: Style (labels indented by at least one space please, also elsewhere).

> +static void subpage_mmio_write_emulate(
> +    mfn_t mfn,
> +    unsigned long offset,

unsigned int

> +    void *data,

const

> +    unsigned int len)
> +{
> +    struct subpage_ro_range *entry;
> +    void __iomem *addr;
> +
> +    rcu_read_lock(&subpage_ro_rcu);
> +
> +    list_for_each_entry_rcu( entry, &subpage_ro_ranges, list )
> +    {
> +        if ( mfn_eq(entry->mfn, mfn) )
> +        {
> +            if ( rangeset_overlaps_range(entry->ro_bytes, offset, offset + len - 1) )
> +                goto out_unlock;

This case ...

> +            addr = fix_to_virt(entry->fixmap_idx) + offset;
> +            switch ( len )
> +            {
> +            case 1:
> +                writeb(*(uint8_t*)data, addr);
> +                break;
> +            case 2:
> +                writew(*(uint16_t*)data, addr);
> +                break;
> +            case 4:
> +                writel(*(uint32_t*)data, addr);
> +                break;
> +            case 8:
> +                writeq(*(uint64_t*)data, addr);
> +                break;
> +            default:
> +                /* mmio_ro_emulated_write() already validated the size */
> +                ASSERT_UNREACHABLE();

... as well as, in a release build, this one wants to ...

> +            }
> +            goto out_unlock;

... not use this path but ...

> +        }
> +    }
> +    gdprintk(XENLOG_WARNING,
> +             "ignoring write to R/O MMIO mfn %" PRI_mfn " offset %lx len %u\n",
> +             mfn_x(mfn), offset, len);

... make it here. (By implication: I'm not convinced this wants to be a
gdprintk(), as I think at least one such warning would better surface in
release builds as well.)

At the same time I don't think any message should be issued for write
attempts to pages which don't have part of it marked writable. We deal
with such silently right now, and this shouldn't change. In fact even
for ranges which don't overlap the writable portion of a page we may want
to consider remaining silent. The log message ought to be of interest
mainly for writes which we meant to permit, but which for whatever reason
we elect to suppress nevertheless.

As to the message - why do you split MFN from offset, rather than simply
logging an address ("... %" PRI_mfn "%03x ...")?

Like (iirc) Roger I think that misaligned accesses should be refused (and
hence also make it here).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 08:52:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 08:52:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516117.799717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phRXx-0002MP-2V; Wed, 29 Mar 2023 08:52:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516117.799717; Wed, 29 Mar 2023 08:52:45 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phRXw-0002MI-Vn; Wed, 29 Mar 2023 08:52:44 +0000
Received: by outflank-mailman (input) for mailman id 516117;
 Wed, 29 Mar 2023 08:52: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phRXv-0002MC-Fj
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 08:52:43 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10b7a333-ce0f-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 10:52:42 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8981.eurprd04.prod.outlook.com (2603:10a6:10:2e0::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 08:52:39 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 08: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>
X-Inumbo-ID: 10b7a333-ce0f-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BpNelwCLnH03khw8CLOoLpW6les24SyttU9DupJNE+tNKEa3KM+Tfl4Xbq1ppVKrm30ppQL+0BwkRO+Zy0Q9SJEaGTgku+1d93ybv+iT4p6y4MRAXt5TUHyWKBhn6F+M7QmjzBOeInQRDJRUINyiESRxWP4krISBKbq9tmVE16kGI9UOm6VgsExXhygYlvRdZddSOJwMwo8kk3Mjuxk5p7zxFqs561fe1TfV5bpSXZkdGYwBaXSAW347kbgJnEQjXm+BszSWhqMzaHqivpneEveSQrsDQgu/QZpargb6wQ3pGD4i3mpeJsXJafBkg8YiYc1lMyUrH5pPmkQ4Og/VFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rgqRLCvRS8UdDHfNHohzGN2fUAUG3Qc8bc8B8ab12HE=;
 b=P1+sh6wnYgVwPlGhOKLuQJ988brRmyVi37jXU3Rqfp62bcgEOKkvd/TDgwNaDWatSJImyCOIBOWsaFQ9WJfVqnvTJg19IA6Wy+V++JkNNnZVDYpSLzFyKffKvEAW94P12zVe6rdhw7BsZrCAHIwMwjwKNQ7uNfdX6c2QQtAdX9Czrhdk3JUXRsV9O9i4wP9tz7R974LJB90/zD73W26fy9m4bh//pRHpL5xMm4fXnl1cada360wt8Pbg5iSPSzAGKM9oWak+pPnaWBBjOepr+eSBOA/Twn7nxI5xjltSz1fEKLb9SU9z2hf1RdCku7a+Pd9tFABgODfiPsBrR0Z9uQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rgqRLCvRS8UdDHfNHohzGN2fUAUG3Qc8bc8B8ab12HE=;
 b=i22OYISo4fSAgTn5hNdxnZSmui1CbbEegceau3ts8aFKO8V+fN8HigpZHa9PbDTyQ9bY7S5yvENlx9lcCMB0sgwhqi/bjDZzBXVUuvPS/BvMsLiynCCfZGUFT3mepOMO1k96JbYnyr7G7pqJPPdBlU5AbHTfK8zp74drZtiKxk4FVjHGjPHARlTYmh3P0gysRVEF34tZi/asurhEJQZ91bNDb9MNSS5r+y+S6n4NgSgWwZ360ZGBo4bXtUcm9IyxVjoy4vn+T1g6AFbXaFtaZxDayP+vPnooD+On7oQn4k5DRLmUnKKKgZuL9xSB6InPUYncK19zOUKUFFJDDQW3WA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b60c42c4-9d49-0971-f511-16748a77d767@suse.com>
Date: Wed, 29 Mar 2023 10:52:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v4] vpci/msix: handle accesses adjacent to the MSI-X table
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <20230324121738.4920-1-roger.pau@citrix.com>
 <85db0f26-7f3b-7956-a25b-f5b09db217f7@suse.com>
 <ZCPzX+fpEhQUxZZm@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCPzX+fpEhQUxZZm@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0099.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8981:EE_
X-MS-Office365-Filtering-Correlation-Id: 7fa1810d-b153-4105-a7b2-08db3032f35c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ndb+J21oHRnJ3tYwuvImFGPweC/X4ScKCm2nUvlVsdzjQxJUM1PDdRSH3KmsZG+PP5l/FGrGKbi/bAv3yvgQ6/n2gFqFKWRntAR9PpwMWWJtbkYY5CrszkkY1dy1TsV5xsq0yKVvrr5d1xuDfOl+1mHXApnYsjKDmIphxmRbyTJODJwZd0Y7GgScd5TWulJwYhnr8XUPY2neTBgo0xklToDj/UHkZQYfObKQ8jXkIRiUhh/sZpD8+qqGObeQqVwkzC3gYSrcmRI+NLJ5dnNNc8Yc/NbDLzoFiCKlTDXLfdW8NUBfNr4rYpgsECknztuhdQfx/6Hedvtlds8as5ZNezP/clmp5s+1OarSpDF/BtELe28n1rBtxYdofAXeBPJQbdLzVMXiYf1zfuZgCfHyUuo+TtoP9vsdfm2UykFIIBM7/GCa/ukPCfqrvUfrq9LUuCS1JJayJS/Hh+2j5lamYrrYsvYd0LQWInOsbQ2sZrWvmCIohe3WpfsmlW1qoYKDK7CXFEtdOIsxAsP+kmlsFyyOAVi2MOwBDGmOvc5EV6LKle0mnlTamDwoAgj1CV84/JjtdIKG8zYc4cgpmfdKkQjZ1skyxOnihD3ft3ollpI0nL2gLEQ1NkuF+5pofzwLy/8DY5IbUpqc0hxFxErA9g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(366004)(376002)(39860400002)(396003)(346002)(451199021)(53546011)(66556008)(316002)(8676002)(66946007)(6916009)(66476007)(5660300002)(8936002)(38100700002)(41300700001)(4326008)(186003)(6486002)(6506007)(83380400001)(2616005)(6512007)(478600001)(26005)(31696002)(86362001)(2906002)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y21iUVRMTUNNVHB5aFdKM3BZcWptNDFNL1NRRmFMNllBTUcxeERDSXZkUGl1?=
 =?utf-8?B?bDJUZ1FVM1VmMWJDelFqVC96MENkQ1NEdkNTVmZBa2xWQjBZTGhWSDBnWVhq?=
 =?utf-8?B?ZkhTRDI0UGtidXRMQmNBSVp1cmw1SThXVi9IdlZoNnczdnhTdDh4L1luOG14?=
 =?utf-8?B?K0Q1S1lqMHo3WG5jYnROQVJLZVEraWlDaHNXbEZIWHlyWHgzSnlLWGlWVCtD?=
 =?utf-8?B?amV6L1BQaUpvUjcxRHc5c3RZRTdlSkllQmIrbUM5eWRJSHhXdEhobXVMNHgy?=
 =?utf-8?B?V2pMazQwTXVJQWZGeXI1QlhnZ1RHU1Q3ak5vSm1kdEFMMkRmOU5FN2tnZG1G?=
 =?utf-8?B?SGg0aDNZaW4wNE1wbVRIdjBVQmlDUVU5NVZlVWR1U0gwYUw4YjJ3UlBTTDBi?=
 =?utf-8?B?bHNJcVplZjFXU1FhYmpieitwYWdWTy94SWdFZnVjaGNQNzEwK3YrbXNHY2Va?=
 =?utf-8?B?VEUwYSthZi8xWVJsWDlqYm9EOVdqdzZNQmZDa3k5bzU2Mkdrck9SYTNpVFY4?=
 =?utf-8?B?MVI2dktRZzBJVngxcmFockpTV1R0cWNlNmhKbHE5bGxCRzJhdUhZYmhYRGlu?=
 =?utf-8?B?ZzBkdGh6YzU2Nlg0Q0tJczg3VWZKdWpJWEhTdTNyN2ZMVEgrYUNXd2F6RnFG?=
 =?utf-8?B?YStFdkZJbVdiamV0dEhLMkd2U1V5MXNUWXpqK2NHRGZzeDB4VzdFY3p6Z2RD?=
 =?utf-8?B?UVArOXdFZmM1cExVVWxQTElLUGNsaDJwMFY2QU0vWkVoYnMzdlFjaDBPeVBW?=
 =?utf-8?B?d0psWnhMbU1JMzRzZHB3RnFNenJPRlphSmxtTm5IdHg5bWRhcGtlMDdzK25H?=
 =?utf-8?B?bDBta0JrczZOWnpnU3hkZVZDZndldW53cUorMUQ3dzAvNnJGL2d6UG5UbGp0?=
 =?utf-8?B?aXRJcHVlU1pYbHF6UXRpTEhUYUJpV2RRNkV2QmVNSWtybksxTXJWVkdLV1pV?=
 =?utf-8?B?S1BlSkIvZlNzMXUyQ2NScHhVTFY0elJKcUtEQzRsSFRZVjEzL1Jua1AxTnlO?=
 =?utf-8?B?MVBJRWlJeEp1cDNZNHllbHhSYzl0WXNNdUpGTkt3Z1FucFdVTGdzajRqNWxL?=
 =?utf-8?B?UC9pTm9CTFNzT2JZYTFUaklPN2lXTUNZdkRjUVpJTGRpQjByYnl1ZWRjbnFF?=
 =?utf-8?B?NmY4amtMMVJKV0NBSUo5eGxUUDlWQmNOMnd1VGEramo1Qk5JcGlveHNicjJK?=
 =?utf-8?B?cnpmdzdlV3B3d1VEejV3UTBqa3d0UzRtUEtubkJkMk5NbGIrQlA5bzQwcUhw?=
 =?utf-8?B?WTludjlGaFJ1eGNuNGNlU21PS3RBL2ViVzBDU0IrNVhQZitWTkpYWDF6Zm1X?=
 =?utf-8?B?alkwNlpXZ3NyY3c3dnlZbUYvQ0pxM3dmOEdkQmQ5cHB2Nnp0bHBUWHdWcWV1?=
 =?utf-8?B?Nk82MWtON0dybXhtVHFFTU9MbkphNDdjejQ4aDE1U3pUd2swU1d5eHdTUDBO?=
 =?utf-8?B?Z1JncGUvNlZNRVRjc2c5YytRcldhS25ydWNpTXAxR1J5T29BTTJEZnpvQlRr?=
 =?utf-8?B?dVZud29wc0QyUm1FMThlM2dTaWlOdWErNk1xMEdCdFQraDUxdVpJTk1zL2kz?=
 =?utf-8?B?Smx3bkVycDNrZHN3VEI4eVFIaFBRa21LL0FLK0VXQ1Q5RDBKTno1QlJZbUJo?=
 =?utf-8?B?bGtMUEttay91M1lzSkJmWDdDSEIvbGVmMlh5Q2h0eDROZEFPNVFqUGZGTGx0?=
 =?utf-8?B?VmdEMTA3LzlnZEFZdkxwbEgrTzgreGlmQ0k1NmVtK21kd2RiWCs4K3ozVnhC?=
 =?utf-8?B?Nnc0ZzhVUGxVL1I4aGhrK20rK2d6V3lsZ29xbFlwWnROT1ZDSzhrcjVVcGVD?=
 =?utf-8?B?ZXA3VksrZHMyTkY4dzQzTzRuUytpNjkyNFo2Mmo4MzltOTJZbVE1RDYwYk94?=
 =?utf-8?B?ZVB6MzIvVlROSHF3elArZHJoVXM4QzNkc0ZHR09uUFdIbHVmcFR0VGFWVCtn?=
 =?utf-8?B?TmdUeUNSQmEwSWVaNms3VDgyWng4VlNOOW5Hai9LOHh3ZlptTFdYMVpTekNn?=
 =?utf-8?B?WXg3LzlEOFhiQ1Z5d1NhQ050M2QrSUh5UnNQTWx4UUtjb29McGs0c3Y0bGd1?=
 =?utf-8?B?OUtscktoRDlHTmpNMTFwMm5ZOHBUN0J5cDI3QlNnMVZzbGpJZE9XZ0w3NEx6?=
 =?utf-8?Q?qLI7AAlsqWnwtBIc2qe/mKVxi?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7fa1810d-b153-4105-a7b2-08db3032f35c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 08:52:39.4107
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: z2DibDd8yejFJ+qtY7qVgU8VOxxv4dx1FiEfh3POfAUmM1xd4HVH+CErzpE5cOAKdjinek3512OLnF/+QMXK3Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8981

On 29.03.2023 10:14, Roger Pau Monné wrote:
> On Wed, Mar 29, 2023 at 09:55:27AM +0200, Jan Beulich wrote:
>> On 24.03.2023 13:17, Roger Pau Monne wrote:
>>> The handling of the MSI-X table accesses by Xen requires that any
>>> pages part of the MSI-X related tables are not mapped into the domain
>>> physmap.  As a result, any device registers in the same pages as the
>>> start or the end of the MSIX or PBA tables is not currently
>>> accessible, as the accesses are just dropped.
>>>
>>> Note the spec forbids such placing of registers, as the MSIX and PBA
>>> tables must be 4K isolated from any other registers:
>>>
>>> "If a Base Address register that maps address space for the MSI-X
>>> Table or MSI-X PBA also maps other usable address space that is not
>>> associated with MSI-X structures, locations (e.g., for CSRs) used in
>>> the other address space must not share any naturally aligned 4-KB
>>> address range with one where either MSI-X structure resides."
>>>
>>> Yet the 'Intel Wi-Fi 6 AX201' device on one of my boxes has registers
>>> in the same page as the MSIX tables, and thus won't work on a PVH dom0
>>> without this fix.
>>>
>>> In order to cope with the behavior passthrough any accesses that fall
>>> on the same page as the MSIX tables (but don't fall in between) to the
>>> underlying hardware.  Such forwarding also takes care of the PBA
>>> accesses, so it allows to remove the code doing this handling in
>>> msix_{read,write}.  Note that as a result accesses to the PBA array
>>> are no longer limited to 4 and 8 byte sizes, there's no access size
>>> restriction for PBA accesses documented in the specification.
>>
>> I should have (re)checked the spec. There is a restriction, common to table
>> and PBA: "For all accesses to MSI-X Table and MSI-X PBA fields, software
>> must use aligned full DWORD or aligned full QWORD transactions; otherwise,
>> the result is undefined."
> 
> Thanks for noticing, I really wasn't able to spot it when I checked.
> I guess because of the intermixed "Implementation Note" sections in
> the spec.
> 
> Will amend and resend v5 then.

The patch was committed already, so it'll need to be a incremental new one
if we want to enforce to constraint again. (For just a description change
it's too late now.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 08:53:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 08:53:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516121.799728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phRYl-0002wE-HC; Wed, 29 Mar 2023 08:53:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516121.799728; Wed, 29 Mar 2023 08:53:35 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phRYl-0002w7-EQ; Wed, 29 Mar 2023 08:53:35 +0000
Received: by outflank-mailman (input) for mailman id 516121;
 Wed, 29 Mar 2023 08:53: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phRYk-0002vu-Ex
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 08:53:34 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on0607.outbound.protection.outlook.com
 [2a01:111:f400:fe1e::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2f6c5ccc-ce0f-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 10:53:33 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU0PR04MB9669.eurprd04.prod.outlook.com (2603:10a6:10:316::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Wed, 29 Mar
 2023 08:53:31 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 08:53: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: 2f6c5ccc-ce0f-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZIZlr9fLtco/CfGEnx45R891zqmhO7QW3rYgB4ysuykjCsvbeQz+WunzfMyBryHKlLM0l94eGLaFwOIDQOOLQV9/Gu/tfKounKhPB+NHRJFX33K2MQJWMuW60vgnc3BEgO9MSUwwuW4HhATty0e0Ue61HoolrIbl+6vZm2J6O52Yn8LxevJpI0co3WUs5ax7O3JClj2vt4KwTigkLzESRJXwJ6TUPQVtyjdD7iah/w3QLkzy4zlzDcF3rGwIOi7F2Ici4LiYvq6X7HxTrhy4Qoc62PuUlpr3LybR4sl40RCObs4S2JFml5b/VHNGZlNAezuwAm/orVQVf89nsxIGDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QvSd7dcVqEtXl8d7+Tp/X5T6833dC7VLQ2+OEGCALc4=;
 b=ISr/4pI/LM/fAySvUK+7D1X15yfXYwBwzGVvurvJAxYeYzOJemuM/0m4wQmfyChFjw9UdA3MG7R0q/5KUHHliY8tqCelKGaBOPWjvTWIrxVjQNEphaZkCEjwWYhd3f84WVODJJj5N/ZxFEVzrTgFX3u/wbBdm5H0JGPrOjweHPtQaduH/kvcF5P0JaGyQs2L6w5wr6LlDmwrii291/+opxy7JQh0e0g5kQqOu2GnRKyhtn4yrjCC2RXYfcNWkJCqCCKtCMJFtKVZ2Eri07sjoXk3yHaUeOBl4Wz8xSaNZ6pQkWd9lmEipjASVDX030wZAR6hlQK121/YbIJ7CGKWUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QvSd7dcVqEtXl8d7+Tp/X5T6833dC7VLQ2+OEGCALc4=;
 b=kmtzEDh4uToYu7UtoFQrKxFUPj+LFRKn+JLGIN09BTdjLZU4DrHeSJazA48ijAZw+QOrv57oqByKz96nunBhKGod9NwJ0p0GjjExJa4o7Ob5usm9SLhWPbKlqnGhQwcimY/XffOoRbbLtNq9SW4C6LTvxGixlWskPGAhoOMtJglFfoKO6h6RLOd9vXArjoA0QIPpFuzXEflOesoEW17d3+jePwv3a+NiPCZWqiJOljiJ48/FiHkEJbxZgIuwraMIyvgRQjjBlzQw8SJb9wTlUYUdZ912GT/418vCc4HnFyRUdsGXgQ2Cp/KAEeZQ8EXf0KCTJlhPAxYs4Z3/23c1Fw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f8795f25-718f-9336-266c-ca26c86b0e73@suse.com>
Date: Wed, 29 Mar 2023 10:53:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v3] xen/netback: use same error messages for same errors
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>,
 "David S. Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>,
 Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 netdev@vger.kernel.org
References: <20230329080259.14823-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230329080259.14823-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0093.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU0PR04MB9669:EE_
X-MS-Office365-Filtering-Correlation-Id: 5a1978ac-6632-4666-b801-08db3033125a
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:
	efFBkTqaAKFwfGrnXogBWzhMps+7pJ/MCF20Sar5rBZPIgLYrB+S1+7kZub8G1PLQUNTBbMTSbiI4SCDb8gI1TaiRz4g1tHHUYR87nHdk3ycyTSHVvc3d7M0j4UcS08VfO+VSp8UtaZGIu/wAFgATlUgOBoj/cLnsxkOr7AAS0osS0Y+7uCb8C4AvUVwYzwdDwD5rw/n3HaHS1Wj//8x7uSmljtKYK9NlutO74+yB/nmOfeUP8IK5oWKq5wJeAwAM+D/r7M1T2GeULXdScJg6uaZ/h7kHwjc3wg/YLwrOFavIgrTDJZucbrgAuJ1uSW+igdgEcTovYdF6CtQw7lWhrTj7TiMBBTP7dWx99RB6K0VuEJ7AFLmLXtv3+lSWLEi886IdsihbazNwSyHGKJIh8H/44vn75sXEZRIxVmG0WCkCos3GNeuXh8r9QaByfTTeVX1gulmvvc8kKwCsPleZOop9PRsPbcobD8ETV6Xg409nfH+kutIKI1IqO2nKU0RqssxwYKjlxIlYtuWP16mZNkTp/JzgYa6BnFUczI2cj3lJ4JWu/bGzo5B7YznhsdI++o7mRs1dteBc2O+O/wDvFi6QCs4fe+Jx7+PMFmAMzsa9RJtoc8tXyi6nkoNFrVjHeDpMrvICW14s7MoWp2psQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(346002)(366004)(396003)(376002)(451199021)(53546011)(6512007)(26005)(6506007)(41300700001)(186003)(6486002)(83380400001)(2616005)(31686004)(478600001)(54906003)(37006003)(6636002)(316002)(4326008)(15650500001)(66476007)(38100700002)(66556008)(4744005)(2906002)(8676002)(66946007)(31696002)(86362001)(5660300002)(36756003)(8936002)(6862004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TS9xYmRheW5VWEp5Nzh3aHZxVFFSZkhYR3dOWEZCdGdXQkVqWEtoOWlwSWlp?=
 =?utf-8?B?eldZaWhiK0l0UHRTTWNmazVHd0tMY2VVSEkyMTRiLy9Vc09LSEJPQjVxWlVx?=
 =?utf-8?B?Qm5WaTd6NjRUVFlGbHIvZkRUMUt4NGFIL2l0QkFXYWpJdUZ5V3BMeFRCVmFh?=
 =?utf-8?B?WWcyaG9HL0VWZE8zUjZXOUdRUzBURzlVNmJiNzVMMjBqSThxUFFkV2dQV3F2?=
 =?utf-8?B?Zml0bG41OGFMOW5ydDcyeTN3K2FiQ2UzRjdtQjRoZkVPUWJqald0UktEc1h4?=
 =?utf-8?B?S3N2c1NPcEFEVzBqRkluUW00NmY4RmxWZUZjTTcwZE9KODdxYmtCc2xGaFdw?=
 =?utf-8?B?ZFBLckVXc3hCZDBDbFEvUWJjUG1lY0R5RjczU04wa3RzWmtBZFRrV0pyUTh6?=
 =?utf-8?B?WEwzbWo4TGM3d3ZmR0t4ZnZaRytSWUVtbVZ0TGJOM3dPQUhOeFVRZGUxMHl2?=
 =?utf-8?B?S3JUUVNkNVJFWkx3VEl5YW5GNXg4bS9FUzBBQ2ZBby8yUkxsQkZjSTRMZGVl?=
 =?utf-8?B?bDFvalBJcjBlMDhrb2hPODZjbGFSMkY4WDNIZ0lxQWhHSUFuNGlSYnQrZnBF?=
 =?utf-8?B?ZnlyUE9haThkTWg3UmJTaXFpaXU1eFgwZzEzOE5DcE9vREsvN09oc2drcVlp?=
 =?utf-8?B?d0xEZ3JKRWpvc0d1OEN4TkhqZmkyckVBNy9oZ0c2c1g4clVheUp1TUdLQmdP?=
 =?utf-8?B?K29rc2o0UVM2KzBjTnM1NXlBQ1JWR3lGUmlqNGtCRm8yaWRLdE0yK05oK3Vh?=
 =?utf-8?B?VW9vS21RMml1M3daV2E1SmQxZHQ3YUFaa2hud1JHcjFDREI1QlNpeHpZMHRa?=
 =?utf-8?B?SkZkVnpiWWU4cnU1RU1Md3d2a0xGZzVZemZOaXU0d2FvdEsva0llSlJHS05l?=
 =?utf-8?B?RWczd3Z0Y0l5SjNnZG56T2JCOXdXczJYMXcxNHpTWVhsaXRvam9jd2QxTzdN?=
 =?utf-8?B?M2lrTjBzZGlSQlczQUhZV2VGdUtpamJreEtVb3ZjQkF1d3ZWZy94d2VYTGFh?=
 =?utf-8?B?eWFSSW1ZZ1Rwb3AydGFieUdacWlwOHVuN0JSYzJKeWVGQmRWOUlXRXVCYmIy?=
 =?utf-8?B?R3MxMkZDTXRCWEUzeXo3ZnRaT0NwL214RDFmaHc3Q0NTTlN4V005K3luYTYw?=
 =?utf-8?B?OE5rOVF6WDhidGlQMEpvZGRhSkRkT3d6ZnNtb1BmSENISHQyeG85MjJvRU9I?=
 =?utf-8?B?UUhQM2JodTVtQjdxSHVLdjNQRlpJdGlyemFpdjJEdXZxQno2OUtxWjQrRG9J?=
 =?utf-8?B?TTlXTjkyUDJsSzM0UWtFdTNzUlpOTGRTc0hPeUN4aVdhU1pKNHpMZEhZU21Q?=
 =?utf-8?B?SkFpQUs3Qm5pMUI4SUdjbktVNnA0UXkrKzVrRDVJU1kyNVM3alQ2M0RPeXpK?=
 =?utf-8?B?eExyVEtEU1UvUmRlcjhFaU83WHNSUjQvekt5ZWRnaklodVFra3k4NEhERmNw?=
 =?utf-8?B?Qk5aUElPaTBrTHZmYnZ5T1k0T3lpYWtoTk1xbXZHdFY4NW1jaElBT3FXSzFp?=
 =?utf-8?B?VWN5Y3BVTXJ3SE9NVkx6YWdBTGlFcnJJc0NzUkpzcUw5Z1VkTTdTSmlMazVS?=
 =?utf-8?B?REhnWDFsZDdjWERhTE1kTjdBWGNwNDdrZzEyV2FRcGFDQUNQS3lqdno1ZVVX?=
 =?utf-8?B?UDIrQ0JWUnZPdG1wYmEyb096Um5CVkFMdmNBcXQ3ZHBtLzlSOWpCcUdkZGo1?=
 =?utf-8?B?Z01SRllaSXlRNUhLYmYzSG5uVWYrcDRVeE9XdkRpUi9LUFdkOWFIMzN5NEYw?=
 =?utf-8?B?Uk41NHFmWExQc0xGRkMrbzNCY1oyNmdJVE4zVmRIM1dGOHhuOGlJVkE2SkI5?=
 =?utf-8?B?UEU0MTgwOHBrcVdGM0hEZXc4aUdKQVJsZlB1S2xtODBiSHZ6blFCNkJ6bGsx?=
 =?utf-8?B?cXR4S1pYalQwbnpZQWVJaUlCYVpKOExucGRSc3lJTzVkQUNZSXhma0V3V0lT?=
 =?utf-8?B?cmN2TWk2eFpXR3hhRDV2KzdhUW1oOUFJOFkvTXlNSWZsRkV0UFUvODgvTkhR?=
 =?utf-8?B?SkxiZWZ1RzFrMWRJbXZGSzlZVXU1RGNLVWw0MEtlYkJGeXlrakNqT3M4dWhJ?=
 =?utf-8?B?MlVMWm1aRkpvVmpWT251S1I2YnV4YkJlbzJGNDRpNnBJdTdia3U1QjVJMzB4?=
 =?utf-8?Q?Tkv68dxnZiReuctMWfU4o/XWS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5a1978ac-6632-4666-b801-08db3033125a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 08:53:31.4089
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E7QVC5OQ146+3Y8GEjRZ7j3YPPOOY+eFL9qt6rO0fNrUXDoKQ+xSFB7yBUfu8TW8U36AsWUB2xHK8NZoP2l/NA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9669

On 29.03.2023 10:02, Juergen Gross wrote:
> Issue the same error message in case an illegal page boundary crossing
> has been detected in both cases where this is tested.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Wed Mar 29 09:13:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 09:13:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516125.799737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phRs4-0005ZE-50; Wed, 29 Mar 2023 09:13:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516125.799737; Wed, 29 Mar 2023 09: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 1phRs4-0005Z7-2P; Wed, 29 Mar 2023 09:13:32 +0000
Received: by outflank-mailman (input) for mailman id 516125;
 Wed, 29 Mar 2023 09:13: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=BI9Y=7V=gmail.com=dunlapg@srs-se1.protection.inumbo.net>)
 id 1phRs2-0005Z1-Sq
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 09:13:30 +0000
Received: from mail-ua1-x92e.google.com (mail-ua1-x92e.google.com
 [2607:f8b0:4864:20::92e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f7e75e41-ce11-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 11:13:29 +0200 (CEST)
Received: by mail-ua1-x92e.google.com with SMTP id q8so3170701uas.7
 for <xen-devel@lists.xenproject.org>; Wed, 29 Mar 2023 02:13:29 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7e75e41-ce11-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=umich.edu; s=google-2016-06-03; t=1680081208;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=O11jjMmM5RLColZIiysSNrOXRVv7fG3Cd/+0hEg2fCY=;
        b=sgIh60IzSHMtVkUn64VjdYhEyT0IBWmDEMB+lhcCsHSVWawQ6LJvkxJLHJBIEEZ0Fn
         On1l2VomWGn3OfsQHovhpehdQlkSA/F0y/2+1rf9A7x1AVfAlxt7IDO2zbUsUECj5GAw
         ukiafRWFionrLeohzDZQ5X/gkCO47RZp6uaTxS58b+ldPtFIqbuUvPzCDD2rP9oxtxjO
         1DYLpjxtfeyQnx4UesOXzChvokdY3bvngFQKI7oUk4NwyHKxvDymG1t6s1MFcJGpAN56
         owtYqUWhPFuPbhOYxAUeJAcW3SezkfEbKi0QaIOQST+bDbeHVy/c8A2ntFFvdIvIfxTZ
         NkoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680081208;
        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=O11jjMmM5RLColZIiysSNrOXRVv7fG3Cd/+0hEg2fCY=;
        b=ulRkb9JlOwbxVnaDn0pNjhNE7CWv3jNprxUB3gp+hFuZ+hvYMKLcPwufE19GEH5rdQ
         xp5bGgZTHImbthOv2U3v8G0xtVDeHKnw20IWZl37Np1YWXQfeOIRTz7YnMgiT9BqusZT
         Svib7OTzUqDi5mlvha3BNPT6/wHnWpjbRtNX0ICiFCoFctixISqyGhXY25+kTCBUvpd1
         5qsNcp7RWpBKU0qBNQn0IG4XJS2aE4EyScnnq9DZFn4/6wcpNZ/pA0bkKF30aXytSOZQ
         qPPIa1mlf4UvxvLi/QzbOo4Gay4HyKGPZRNUl+mT668r8Mcpdn3tCll1VsS0y+B9US42
         efhA==
X-Gm-Message-State: AAQBX9ehWBT32Sygwg1uCPwSl4ui916F1gY1dCo5Uxgzyt+PkXK/bm6y
	6r1T6BrttQ7N3nTdGaxt3CYtBatDtJtKBNQUvMI=
X-Google-Smtp-Source: AKy350Y+oV4uEBGLPfz/3zUb9eosD3oeTvgrABqiDhKCgUQdD9vFzINfPJ83dYh1U0DVKBBmuTsLQ6K+m01atBJc0a0=
X-Received: by 2002:a1f:2997:0:b0:432:8b30:81b7 with SMTP id
 p145-20020a1f2997000000b004328b3081b7mr10179762vkp.2.1680081208255; Wed, 29
 Mar 2023 02:13:28 -0700 (PDT)
MIME-Version: 1.0
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-3-andrew.cooper3@citrix.com> <6b6b7da5-dd1a-1b17-b1ce-1b1adb687807@suse.com>
 <c6661fc2-bdc2-b953-88fb-7250eb2fce1b@citrix.com> <8ca9ddb1-d94a-7010-ab42-e6d0f0670aa3@suse.com>
In-Reply-To: <8ca9ddb1-d94a-7010-ab42-e6d0f0670aa3@suse.com>
From: George Dunlap <dunlapg@umich.edu>
Date: Wed, 29 Mar 2023 09:13:16 +0000
Message-ID: <CAFLBxZY98QO99+EAURNeDU+tNrLRGot0w2=ybfRWvFEq7XH9dg@mail.gmail.com>
Subject: Re: [PATCH 2/5] x86/ucode: Fold early_update_cache() into microcode_init_cache()
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Wei Liu <wl@xen.org>, Sergey Dyasli <sergey.dyasli@citrix.com>, 
	Xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="0000000000009caac005f8066312"

--0000000000009caac005f8066312
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Mar 28, 2023 at 4:58=E2=80=AFPM Jan Beulich <jbeulich@suse.com> wro=
te:

> On 28.03.2023 17:07, Andrew Cooper wrote:
> > On 28/03/2023 2:51 pm, Jan Beulich wrote:
> >> On 27.03.2023 21:41, Andrew Cooper wrote:
> >>> It is not valid to retain a bootstrap_map() across returning back to
> >>> __start_xen(), but various pointers get stashed across calls.
> >> It's error prone, yes, but "not valid" isn't really true imo: As long =
as
> >> nothing calls bootstrap_map(NULL) all mappings will remain as they are=
.
> >
> > And how is this code supposed to know whether it's stashed pointer is
> > any good or not?
> >
> > This is precisely "not valid" means.  It doesn't mean "it definitely
> > doesn't work", but very much does mean "can't rely on it working".
>
> Hmm, not my understanding of "not valid".
>

A "valid" approach or algorithm is one which can be relied on.  If an
approach or algorithm may sometimes work or may sometimes not work, it's
not valid.

That said:

* "Not valid" is kind of vague: it tells you think it's "bad", but not
how.  (Even "racy" or "risky" or "error-prone" are more descriptive,
because it prompts you for the types of problems to think about.) It's
usually better to state exactly what problems might happen if you do X,
rather than simply saying X is "not valid".

* It's usually better to propose specific alternate wording, rather than
arguing about whether a given wording is... er, valid or not.

 -George

--0000000000009caac005f8066312
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Tue, Mar 28, 2023 at 4:58=E2=80=AF=
PM Jan Beulich &lt;<a href=3D"mailto:jbeulich@suse.com">jbeulich@suse.com</=
a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0p=
x 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On=
 28.03.2023 17:07, Andrew Cooper wrote:<br>
&gt; On 28/03/2023 2:51 pm, Jan Beulich wrote:<br>
&gt;&gt; On 27.03.2023 21:41, Andrew Cooper wrote:<br>
&gt;&gt;&gt; It is not valid to retain a bootstrap_map() across returning b=
ack to<br>
&gt;&gt;&gt; __start_xen(), but various pointers get stashed across calls.<=
br>
&gt;&gt; It&#39;s error prone, yes, but &quot;not valid&quot; isn&#39;t rea=
lly true imo: As long as<br>
&gt;&gt; nothing calls bootstrap_map(NULL) all mappings will remain as they=
 are.<br>
&gt; <br>
&gt; And how is this code supposed to know whether it&#39;s stashed pointer=
 is<br>
&gt; any good or not?<br>
&gt; <br>
&gt; This is precisely &quot;not valid&quot; means.=C2=A0 It doesn&#39;t me=
an &quot;it definitely<br>
&gt; doesn&#39;t work&quot;, but very much does mean &quot;can&#39;t rely o=
n it working&quot;.<br>
<br>
Hmm, not my understanding of &quot;not valid&quot;.<br></blockquote><div><b=
r></div><div>A &quot;valid&quot; approach or algorithm is one which can be =
relied on.=C2=A0 If an approach or algorithm may sometimes work or may some=
times not work, it&#39;s not valid.</div><div><br></div><div>That said:</di=
v><div><br></div><div>* &quot;Not valid&quot; is kind of vague: it tells yo=
u think it&#39;s &quot;bad&quot;, but not how.=C2=A0 (Even &quot;racy&quot;=
 or &quot;risky&quot; or &quot;error-prone&quot; are more descriptive, beca=
use it prompts you for the types of problems to think about.) It&#39;s usua=
lly better to state exactly what problems might happen if you do X, rather =
than simply saying X is &quot;not valid&quot;.</div><div><br></div><div>* I=
t&#39;s usually better to propose specific alternate wording, rather than a=
rguing about whether a given wording is... er, valid or not.=C2=A0</div><di=
v><br></div><div>=C2=A0-George</div></div></div>

--0000000000009caac005f8066312--


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 09:14:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 09:14:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516128.799747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phRtS-000663-GT; Wed, 29 Mar 2023 09:14:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516128.799747; Wed, 29 Mar 2023 09:14:58 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phRtS-00065w-Dj; Wed, 29 Mar 2023 09:14:58 +0000
Received: by outflank-mailman (input) for mailman id 516128;
 Wed, 29 Mar 2023 09:14: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phRtR-00065o-6a
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 09:14:57 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2bb5fcd0-ce12-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 11:14:56 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8358.eurprd04.prod.outlook.com (2603:10a6:20b:3fa::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Wed, 29 Mar
 2023 09:14:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 09:14: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: 2bb5fcd0-ce12-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YQI0XU+O6OlKlfYYSSKY4zdkXkIIyjTIJWcwvrFf893P706456Zt06ixZqYAMm7B0PHEVxb3/KbN5ivwCsqnU+FyuPxYqlSjlWqK+vkjrEGdDZZGBjsKxS0s9fjc0BQoF61OOd0DGVIihjqVsDRzyWbdrPxcjkx6swZal8bgEnRphdcJhmwZG6/CCujE2Ww69LjERyxSSU6oOK98ti1isOHhvJg1dEK3V2RpseDChrJ1lCiRrUOEir7nutlTU3WmYRxWr+mD2TgXHP/iaaNQ1/Qr5bK7Ii/HMrR88xJI21P7yT0y4PaEKyaWu1DzvFDoEIkkwrfLk3YRuYyOPkV5Cg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y4sAWKyaDBwFNNLe+1g52Oq/a530evX3QKSsEN31DOU=;
 b=A+nrVKi6Y3/73Udp9/5bLzR4DKVq0NjYOZWdJX0KK0I6kFLxg0INqxyzavTwk7OO/DawwHGu1uMAfNms68qqAidZGTuTP1oWIfIdPWin/Q3dIsJD6OBm7mo/Dkz9VFqYEfLv2+82knURBWmNCXXxaU8V3obF4hJC2tnK/ywyfdp1/ARC/ZZCxgfUh388TfvALcrK/73hIwNJHHSUR4ghwfNF6Jh8NqyAtZ7fZiAl2m4iq1z4osqpKoHzyWekBsAl90rhI0CN4XlxbdWCLt5VFXOtyXgA5d3spGS/UDAyP7s/zi4QT/9jdaIL1XBriIjpHm0iOWVx1Bw39sfbQn8cRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=y4sAWKyaDBwFNNLe+1g52Oq/a530evX3QKSsEN31DOU=;
 b=3Mlty+yxQD6/vxK8nwWq0LxqEN9f1v3bsgtaKB47wLqNdK5krhdadoX2eCRJbupXpvOxWJ6N5/GOWbOQU0BUGTCXoISfNH4oMkQSoWxWwkY7lUI/IlNUat95tPrKpH0aIWNuZd4J/IPUlfD/Ezx8T5iPr6ZhzYrSmjzoyQo8f9q010qJF7NT0j43aaoSUOvkCnVDjmw3P/+21oey8pdobpxZ9pzQ9dN6Te8dqn4/9B/35Kfyq5EHDhncEcZ+aVG2DzfnEYPICW4dntrm5mpWIgLgYs0KHP2qjTKLdKgepin0tNNjIZdDngccFteGzs8TlKD5FKYW2jNPRM9ijtZmgw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5cc58e5b-ba23-e7ae-c575-fe8cd713f515@suse.com>
Date: Wed, 29 Mar 2023 11:14:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 2/2] drivers/char: Use sub-page ro API to make just xhci
 dbc cap RO
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
 <befefa60ea42a41543bc6dad70a559816cda8b7c.1679911575.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <befefa60ea42a41543bc6dad70a559816cda8b7c.1679911575.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0216.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::20) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8358:EE_
X-MS-Office365-Filtering-Correlation-Id: 8a694611-6827-4660-b87c-08db30360eb2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5GwdWnSl6GcBAU7U8TjtBVRV5UNvdipo9D096xqVk+pN4WUTRNI2+PG1gjQLUYuHGdYG3hcYqOVyNY3ADyE8sUTH2iEQZvJf5uFm8WOjBYs7JmUGsplkdESWbXChoH2cMs5FQIY3FtzsyVVEAR37uBFue6FdDn8D75c68GcEPBpgZVv7N//tBYKbub9AUW0ju5/ahH61IMn38wbG1ktO+5tQyF4rJridaz8Nkv0at9HA4pZHZnr2JLb1OaJD0oqi9pIWtZFVGFA88XTjIoI9bXTX9C3FzqJVA6qbxJ/bxNcrl32zUM8SyygUMY4DKg8P7U3FhY8jaW325XUphDYCd0lr3xjcfB5c8AzkCiBBcnfq/bcwDcTFTRJtpIQUhFRI85l1iU1JD8808V9A3WZyHmlA/NmRN3T2Rtz2iZf8KskfzGZnwh9H4jC+V/o4Vb8SwFqucarqvQc3Yi6EEaCF9W5QjntK/qNcuHualWm+76GCebeh3+C/aK+FB9nxZ7H0jvuJ2vAxhhIYpA4kmQrL+TtiwnVeVwvVG7qqH9Ur5BR5A4gvgh4BTmIH5HHD8M8pemVfRAEt8qiqPcqwhE51LAZdtlplvvDgG+yI6zLN8mRpsS0FjQJpFMi/mVLUwoyZdYtKej1+9F5NjbyxJNj8IQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(136003)(366004)(396003)(376002)(451199021)(478600001)(38100700002)(86362001)(31696002)(6486002)(4326008)(54906003)(2906002)(6916009)(8676002)(8936002)(316002)(66556008)(66476007)(5660300002)(66946007)(186003)(36756003)(53546011)(6512007)(26005)(41300700001)(6506007)(31686004)(2616005)(83380400001)(66574015)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U08xM1owRzZadmRyNGRWbGV5ejBnUHN1em5EL2F5MU0zQTFRejBxSVVKSU92?=
 =?utf-8?B?QWo4U29HYUIvbjVzdk8yZ1pXR0pCTkNWWDcxT1dDMUNnQVV5djJIaTA5VGdL?=
 =?utf-8?B?THVFMHQxSEJkR1lZd3dVMC8xc0hVNjZyTEw0V0h0amwxTG1wdnUzUTUyY0hW?=
 =?utf-8?B?Mmo2Q0tyNjlmWDJJU2p3ckhRZGc5SytRcGJlVHJaZEFJTm5HSEJFMXd4emM0?=
 =?utf-8?B?UTE0VkZBNEZJMXQzZzh5aDQ5aDYzS3FXK2Q5aUxFNFlSNjQybTR4bDc1NGlh?=
 =?utf-8?B?bzdJak5wQUE2THN6QWdjcld3WjdZZmZOSmduVHRoM3FqNm1JT2JROG1QcUhR?=
 =?utf-8?B?ejBSaUhOenZuNjVkSGNVSUxhTUlKVjhGMVY4OTlnbkVXbHk0K3FKUzA4Q1Ft?=
 =?utf-8?B?TmZzZ3VGWnBnbHF3dzdEeFh1R2FMbmRKbGZ6cUdNYTVzY0xSSmVzcUNjYXhr?=
 =?utf-8?B?bEVWdXNOQTY3MWtvRkdadjFCRWd1U0hVMTZ3OVczdGVldUVQUjZhVGtNTThk?=
 =?utf-8?B?M3o0RXNOcXoyYklwNWZtMncrZmdnY09hc05yczBMNlJhb1NOdy9sSWpJL1pY?=
 =?utf-8?B?Y1JyRUg3V3dIdFAwSGx0bzRDc01DZDloYklhcmh4ZEJncnMycit6MDRuck1a?=
 =?utf-8?B?UU10L2trbEpadFZEUC92VDZ3ZnhkdWdOaFhjMTYrSEhTTFNJVXZ0S3g4YW1Q?=
 =?utf-8?B?NVMvMGZZSW9Oak12VS9jUUZpU0Q5cHBEc0xvakFhWXVLeW42WE9IdlJjWmp5?=
 =?utf-8?B?MHE5ZGk3V0IxOWM5WUJTTVdXb1FvOGNRczROZTBXZXVkWk5SZS8wdDZ5cm9r?=
 =?utf-8?B?STRwTUVUZ29seGlqSVc1VnFtZ0l4M1JQMmg2S1ByTzhQVXdYM2dVd0ZpTWtx?=
 =?utf-8?B?elcwOUR5UVM5U2tROTlyVnBCay95TXJ6R2UzeC9VRFNXTkpDeW9PZEdNdjli?=
 =?utf-8?B?eVZ1S050RE9PZGN5NExpUGFvdDBud0tuQzVmaWFIWmU5cnNDeG9rS0RoaVA1?=
 =?utf-8?B?eXpyRnB2cWJzM2h4czRSUjByMCsrVFg2R1Z6Q2lsOE14eVo1NjdZT3N6S3V6?=
 =?utf-8?B?a2g3bTl1N3FMU1VwQTBXd1g1SUtSemJCVGR3dlpOZllEd0pTWnpYazJnVlVk?=
 =?utf-8?B?TmtNbExxTVBraVBmYWVsOHZXZDFLcDNUZUtSOFcwd25kZ215bnZHY3J1dmdX?=
 =?utf-8?B?R2NDNWFlbkY2dy81TkJTL1A1bzBHZEYweDg4YzhWYkt5c0N0RytnQVhITVh1?=
 =?utf-8?B?Skw4NGkyM3FIVFlqSU5SbVk4Tko0dWlsTkRZOC81UHVUM1lnU3pHckVLRmF5?=
 =?utf-8?B?OUxUa2oybFJ5M0FTZlhUYUkwOE1WZCs3VHlDbmoyZm1jejdoazZEcWtta3RH?=
 =?utf-8?B?SFFvckR5TWt4UVNLQ3grUkZzcnlsaFVjd3g2UzNVZjl5L1pZaVZWMEc3dTho?=
 =?utf-8?B?OC9HOUYwa2NDaUVSU3hVU21UdWJLTWl2ZjErYzVSaEhYbXE4VFFOK2xGUlJm?=
 =?utf-8?B?bjZkTm9RMGJzditvYmFTTkZFVzJwOHRKNmZ4a0lGRE43ODlVNWlxbkNIMWtE?=
 =?utf-8?B?SWgxM1VvOWt4N3pqTE9Rc0NaUFVVSWNESWxzT0FhcXJGTG9yRTJxMWs4ekxT?=
 =?utf-8?B?YUxlVERPZTZ2dHAwcEZnUnhwS2lLSkJEaHNVQWRkYXFZRFlOSmpXcmx2WGhu?=
 =?utf-8?B?R3dwd3hXV2tCWGovVmdZSFRnMWNhei9Ob3BEVUhpd0czV1o2ZURHaWV5bWJu?=
 =?utf-8?B?RGNEZ2hXVEFpMG80T09SQzlRZmZneEJvcDV0b3NyTjRqbVR6NDRHckFGRkpm?=
 =?utf-8?B?dzRIRytyOUdVZkpXSm1tWWhTdnpUNU1hR01MMC9hQUhyR09PQlR1YTRSOWtn?=
 =?utf-8?B?ZSt4aWRpU0o5Tk5FazlIcXBJdVpZUjZGaXRueEpmUElCM052MEZ0dTk2Z2tO?=
 =?utf-8?B?Y1QvZ3dHWjJLWFkzbW9iS2pEYmJic3VybWN6cmxqWkFxeXRiSVBBd0ZQYWUv?=
 =?utf-8?B?L3JqR3k3UU9UcHI3MndvaTRNejRyTUtqbHVYNnZyUnFVUW0rZkxWZnAzVFpl?=
 =?utf-8?B?eGNJMXVkYWtHTzlSREN1dDVWOUxieGZiUFltUUhHUE01VUpSd1YxYllQTHpR?=
 =?utf-8?Q?tKO99ZAiakp2lDO8hE2BzdJnX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a694611-6827-4660-b87c-08db30360eb2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 09:14:53.7104
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ThBR9mBryTMpcdzUuilryI1ejchHE5VZ1p6u1qEqVHmwRqiAKmmlSPcAUqbyQNWdT6l79NZTGUGW+TxIq0FfMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8358

On 27.03.2023 12:09, Marek Marczykowski-Górecki wrote:
> ... not the whole page, which may contain other registers too. In fact
> on Tiger Lake and newer (at least), this page do contain other registers
> that Linux tries to use. And with share=yes, a domU would use them too.
> Without this patch, PV dom0 would fail to initialize the controller,
> while HVM would be killed on EPT violation.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> ---
>  xen/drivers/char/xhci-dbc.c | 38 ++++++++++++++++++++++++++++++++++++--
>  1 file changed, 36 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
> index 60b781f87202..df2524b0ca18 100644
> --- a/xen/drivers/char/xhci-dbc.c
> +++ b/xen/drivers/char/xhci-dbc.c
> @@ -1226,9 +1226,43 @@ static void __init cf_check dbc_uart_init_postirq(struct serial_port *port)
>                           uart->dbc.xhc_dbc_offset),
>                  PFN_UP((uart->dbc.bar_val & PCI_BASE_ADDRESS_MEM_MASK) +
>                         uart->dbc.xhc_dbc_offset +
> -                sizeof(*uart->dbc.dbc_reg)) - 1) )
> -        printk(XENLOG_INFO
> +                sizeof(*uart->dbc.dbc_reg)) - 1) ) {

Nit: No need for a brace here (and certainly not a misplaced one).

> +        printk(XENLOG_WARNING

This log level change looks kind of unrelated.

>                 "Error while adding MMIO range of device to mmio_ro_ranges\n");
> +    }
> +    else
> +    {
> +        unsigned long dbc_regs_start = (uart->dbc.bar_val &
> +                PCI_BASE_ADDRESS_MEM_MASK) + uart->dbc.xhc_dbc_offset;
> +        unsigned long dbc_regs_end = dbc_regs_start + sizeof(*uart->dbc.dbc_reg);
> +
> +        /* This being smaller than a page simplifies conditions below */
> +        BUILD_BUG_ON(sizeof(*uart->dbc.dbc_reg) >= PAGE_SIZE - 1);

Why PAGE_SIZE - 1 (or why >= instead of > )? If there is a reason, then
the comment wants to be in sync.

> +        if ( dbc_regs_start & (PAGE_SIZE - 1) ||

Nit: Please parenthesize the & against the || (similarly again below).

Like asked by Roger for patch 1 (iirc), here and below please use
PAGE_OFFSET() in favor of (kind of) open-coding it.

> +                PFN_DOWN(dbc_regs_start) == PFN_DOWN(dbc_regs_end) )

Nit: Style (indentation).

> +        {
> +            if ( subpage_mmio_ro_add(
> +                        _mfn(PFN_DOWN(dbc_regs_start)),
> +                        dbc_regs_start & (PAGE_SIZE - 1),
> +                        PFN_DOWN(dbc_regs_start) == PFN_DOWN(dbc_regs_end)
> +                        ? dbc_regs_end & (PAGE_SIZE - 1)
> +                        : PAGE_SIZE - 1,
> +                        FIX_XHCI_END) )

Nit: I think this is too deep a level of indentation; it should be a
single level (4 blanks) from the start of the function name (also
again another time below).

> +                printk(XENLOG_WARNING
> +                        "Error while adding MMIO range of device to subpage_mmio_ro\n");

Nit: Style (indentation).

> +        }
> +        if ( dbc_regs_end & (PAGE_SIZE - 1) &&
> +                PFN_DOWN(dbc_regs_start) != PFN_DOWN(dbc_regs_end) )
> +        {
> +            if ( subpage_mmio_ro_add(
> +                        _mfn(PFN_DOWN(dbc_regs_end)),
> +                        0,
> +                        dbc_regs_end & (PAGE_SIZE - 1),
> +                        FIX_XHCI_END + PFN_DOWN(sizeof(*uart->dbc.dbc_reg))) )
> +                printk(XENLOG_WARNING
> +                        "Error while adding MMIO range of device to subpage_mmio_ro\n");
> +        }
> +    }

Seeing the uses it occurs to me that the interface is somewhat odd: It
adds a r/o range to a page that is already recorded to be r/o. It would
imo be more logical the other way around: To add an exception (writable)
range. The only alternative would be to include the call to
rangeset_add_range(mmio_ro_ranges, ...) as part of the new function, and
reduce accordingly the range passed earlier in the function. But I think
this would needlessly complicate the code there.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 09:26:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 09:26:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516132.799758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phS4M-0007kk-Kw; Wed, 29 Mar 2023 09:26:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516132.799758; Wed, 29 Mar 2023 09:26: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 1phS4M-0007kd-Hu; Wed, 29 Mar 2023 09:26:14 +0000
Received: by outflank-mailman (input) for mailman id 516132;
 Wed, 29 Mar 2023 09:26: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phS4M-0007kX-8k
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 09:26:14 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0608.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id be07b906-ce13-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 11:26:11 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS1PR04MB9405.eurprd04.prod.outlook.com (2603:10a6:20b:4db::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 09:26:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 09:26: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: be07b906-ce13-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kxI31J9fQnEtViqO4fpM50E3qyxTdGQhtcbmUjmMFtxbU/DbP8/eHO6+b4HLBh6WVtPq/UFLpD9CTMeDsLKBSKbl3KHXLCzJJLdqQlw7TwMlm+g2SVp0zDd7Y/sGB44VB1Bo/CseneDNQMk690SZNwz/LpX42VYwoTKtWeS5g8DxTgSM+q7Q99/YC7OJ4HlIJ0H36IEPxm6zijv9o56xcgKuc1IpTR5eOBNQhocIGGDoq7z2Y1dBufyUJOFcUSP8UlSGBv7MaDp5w3ggUQpTW4p1Uc3tN43Id5WrlJRaRavTglq7lgEV61vJG9zrxBc3wyt3Qus5t1xlonGxpjgz7A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5dHrHk7e7MWwaapL9Sz1b672jKFXAfjfMAQ5upDJ++o=;
 b=cWTeou4zpQo+vlCTiHRmA9ONmbz5wzKfmVybw5S3oOPQU50KNHPWTbOPhZ/Z1CIK2oymMvMHMR63mbIW/T/iEgapNQCASH46TSXOnN6zyd3IHdmxpHvuSRrR+qOVs4RGcDo+tPSFfN2q4D3igKxMuZHC+joTYT715yzdmAHhDSj4LYwNOxCVzRU8Ja/olEmhv/OT29FWPkR2OcikjPXIkCkWVL3nuL1cMN4qpLiQ8baKQVOuq7vxRqtpPwLCQp9LTBz8IewW6Z5ANX2DUnuKHaEaJqmfpvABysxJEgjndXVGDRn2fnDRvYSqq/VHWlTUaZQG8CbmI/Z0xE8E2XrEjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5dHrHk7e7MWwaapL9Sz1b672jKFXAfjfMAQ5upDJ++o=;
 b=FxV8jyWfT7B7wU2dzzdeoS40vpEWkkfS36naal3AMYumo36OX+qLcpyLVJcvHwh4M2JeIvWQUyHX1p0VEkKpSc4S1SYNL/7iAHeeTPKiQhhCb4xJFcd+nCtOJd9v/GH/4bX8D48B2JTFv7PovlCuybsw2vapPsYjSI3lskf2tUNkQ9WgiIimWvZIK/1V1cjVha+DI+R3jtBPTZ6eh/kiB+aRTLGGfG9O8GRkyq0XFEDnN75zYcUXrBhZDYSVQ/uTC3zPGmrB9F2anX3pU9dtvRsSd3rKOV1VxL1Q5tGGbyI6h4hL+qVA2Czyv2AWxPP04wJt4fRSfE4ECNNSevBNbQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <23552dd4-f913-70e0-a737-a80ca71018c9@suse.com>
Date: Wed, 29 Mar 2023 11:26:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 2/5] x86/ucode: Fold early_update_cache() into
 microcode_init_cache()
Content-Language: en-US
To: George Dunlap <dunlapg@umich.edu>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Sergey Dyasli <sergey.dyasli@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20230327194126.3573997-1-andrew.cooper3@citrix.com>
 <20230327194126.3573997-3-andrew.cooper3@citrix.com>
 <6b6b7da5-dd1a-1b17-b1ce-1b1adb687807@suse.com>
 <c6661fc2-bdc2-b953-88fb-7250eb2fce1b@citrix.com>
 <8ca9ddb1-d94a-7010-ab42-e6d0f0670aa3@suse.com>
 <CAFLBxZY98QO99+EAURNeDU+tNrLRGot0w2=ybfRWvFEq7XH9dg@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAFLBxZY98QO99+EAURNeDU+tNrLRGot0w2=ybfRWvFEq7XH9dg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0055.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS1PR04MB9405:EE_
X-MS-Office365-Filtering-Correlation-Id: 5f51cd80-7c6f-4d29-3959-08db3037a0e9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	X8vBm5gEztYDjeGTVAV5RjIdWhGd+z/ZEFpar2zxe7okTJQEmJSCajmq53jE2VNLKgKLuLeuTj7erZQ9KY5fbZKvySJdPSZ7fNYeCTi53816Dw1hk47QM+L62+RPLxMh6kkmZvo/nCYWNXm/eX4oGlV4XPGz8G0ivkG8Psb5I5vMBtotsAiF3Kd4MevkXHExMcQWePCJbgk44Okm7rsjsAUutuac4i+nUKXFdUSLNSWy2bfTvRSaYaSZ7XjeaTsKl9BbsRYP9FO3pwVTD2H/T0LnsuY9l52CMbKktwBUiIgy7UmsDpkslhFvFqpShnjF2xKoga/kMfWv4Z7bbq4mrB+FXTQ7bFDoLeHXo5nMj/zQ5BgoAR5Eb/Ix+yX0gs0FwXwpDEcHKoyWrcW95HGY2pFQqpG8U81MYoiQ4TakG/MFH59biQEN2HgWeJhCOzc+HwTRXj0BCD71v4zta1D41EdGWOvdKZ3amWOWVyR0+vETA8/Z0cePWfNIb8a/WIn6spOkwtHs8d6IrB/rJaD1rmFEfZfWvs+8ueA5ZP+l+8wJvEiFww+gLgp5AHLeTtc5KMLaOp4apjzjpAa5XteMJDGKtsEDyHjRZX03vHBsMD6FBNt7v+CC+W5QIwJWUMo8XNI/yNNCT2hZAJTsoCQHXQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(366004)(376002)(39860400002)(136003)(451199021)(83380400001)(2616005)(5660300002)(478600001)(6486002)(54906003)(316002)(6506007)(26005)(6512007)(186003)(53546011)(2906002)(36756003)(31696002)(86362001)(8936002)(38100700002)(66476007)(66556008)(66946007)(41300700001)(4326008)(6916009)(8676002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eC9HT1dNaWhtaTlsVkF4amNrQVlJa3JZbWVlQ3BSdERKblU0akVSdHRCUnMx?=
 =?utf-8?B?aFpHeUVOSkRpa1JDaUF2NXdqWVdvNFlSalZOa3RIMTF5R1ozcm0vK0swMDdR?=
 =?utf-8?B?MUQ5cUVPVXRxbXNlVE1tWVd0WWlCZTdReURHbXJJU3dqZWhRYlZmdW5MNHZS?=
 =?utf-8?B?ZFdOZXVlQy84UUZpcWNGS0ExbDVxeXZFVG9xRldMbnBPc3BuWVpDU1JSRC9Z?=
 =?utf-8?B?SFJCWDdEVTRZREFCM3JLcE1BdUtUUUZrazk3RGVvbTlDUXhOaGVQTXEyaUtD?=
 =?utf-8?B?WDFIZ1RjQmZjTHUzVnNPNVJrY2g4OWV6QStNMVk1SzdPVUNQeXduMmp5RGh3?=
 =?utf-8?B?ZDhjSzQ0QS9tR3UxbzQ4bG0vQjZmSzczQVJoWm1majRkb21aUVdCZFBwTWpR?=
 =?utf-8?B?aHJTazBQcjVJZlZmc0JQUjRBWmc5TjltS1FtRWZzUVhQejNxeS9uWGtEbjFi?=
 =?utf-8?B?T2JlNzF4VW5hNWZsY1czNU1MczVXUFFuVHdvZ1JZOWExRWlhUnZzaVVnbTR6?=
 =?utf-8?B?MEFVQkUvNkhTZ1c3cEZvQWkxOFA2TkNocWpaVnBENWRTTWZlZHI5WkVqbjZy?=
 =?utf-8?B?Zm9xQmhXLzF4TkhsOFZvSENMeVIrd2p3NXRSQ1pzU25pdjhMZThBck4xcVhE?=
 =?utf-8?B?ZER2YkE4MVV4cld3bGZIOUpFcjZzZ1lsNGNlZXM0YWRxU29lVXF6a2s3bUNy?=
 =?utf-8?B?c2hKRm1tUi91aDU4dXhwbjFWVGVDKzNFK3o1d0F5a0MzMGhFMStkbjJDa1pu?=
 =?utf-8?B?djk2cnMrZXhvdmN3cjVzRGxzRDNYTXpMVkJEaXpxM3FiVGlnc3dHM3VrRWt5?=
 =?utf-8?B?bWc0V0RlRFdTbGFCSDIzRXoyZnRsOHpZMzdyZ3Y3VVF6U3VMYkIrcWxYazVk?=
 =?utf-8?B?QkV0MGlydUFFYU5vbGJmUWVzZ2w2aThkQ3R3U21DRGtqMHcyNkxUSlcyOEZM?=
 =?utf-8?B?TUh3Yk53ejR4Z3R6L2dtR1pwbURNZWljZms0UUd4SmtlN1lEcTFIZmdKdkxE?=
 =?utf-8?B?TEt3eXQ1Vkw4d2xSazc4NUtTREl4bk5DQjFCZUN0dlJSbkt4M3pTSmRRQ0la?=
 =?utf-8?B?a2lMc2Rta0NtK1RNOXNsNHhlSk9FYVB3TW5wRnR6ZFg4N2hzN0FWTjZLM2JC?=
 =?utf-8?B?SVR5M1BFUW84Qm83RWkyWjdxd0lwL1lUMTk2NGZ5cE4wbWMyLytIOC92eHN1?=
 =?utf-8?B?dW9yY0ErN01HQ3hVY2NSbGNmL3k2Y09aWmp6WFlYN3lRaFNUS2dWMTZkYlJz?=
 =?utf-8?B?Z2ZPRC9iTVQyNnphUTlnOEhSSWJBZ1JXZERQUktveHFlWmE5SENjSHpFcDUz?=
 =?utf-8?B?My9Hcm9UaU9DcHR0YStHUGUyeG5waUxWWUdSM2xmRFltcS8wZGFpR0FJSmRk?=
 =?utf-8?B?OFN4b2FoTnc3RDZ1RGtNRTdmRlMxaFNuazRHWVhIeUlaN2RnZkFvNjFHaGs3?=
 =?utf-8?B?THhYZG9mK0EzdktldFNKQXo0eTBVUFRqTFdTaXBZaWlYU1dhUU9ZMGZSZWMx?=
 =?utf-8?B?UDl5TUQvVkdNQU9yTXlnUk80bkI3NUQ1UW9ibmQ3MEs3WXJ5NWNncDZzNDFZ?=
 =?utf-8?B?UzdPdlVMVjN5SzYyMEg4K2JUTmhxL1VkSk5mblVZZkg1RWpqZHVEVVpKOEMx?=
 =?utf-8?B?STRpMHo2MXlXUDl3QTRNTDE1QUN4Q1p2anRUMnBTTHpzSWxaMXV0bDhXNklv?=
 =?utf-8?B?NUhhejlaRGNTbkFiNWdIeXhIRU5GQ09pN2FtL3RuUE9KM0VKMmJRMVY4VTd0?=
 =?utf-8?B?ZDB4cHF3Wldkd0ZrYnZFdDNSU3pXRzZPMUEyT3dXRC9vY1VrL2prRGF1RUtq?=
 =?utf-8?B?UXZESCtDRXAwbVdzeGhNcURHSnFvaDU2U21uV3NrSXU4aWd4ZWxxUFRNY0xX?=
 =?utf-8?B?bXRPbEN6RHR5TnRUYVNpRjBtd1JYRkZIamlDL0dxWGdLZUpHYkpEemRhNU9j?=
 =?utf-8?B?djJqazArQ1JDUGptV3RLYjVubHlKdzNTNC9IV1lCaVR6UGkxZDVybyttclFw?=
 =?utf-8?B?VFJKRk1rWkNyT2FGVm5IeDJvTGdzN2dYOEZjc293aGt0VWVCTUdMTGhFcUx4?=
 =?utf-8?B?ZXMvcTJpc0NsODBLbXVWZWF0Rnc1MVpyUHBjNWx3bXhrNlY4cm1KNEN6MHJn?=
 =?utf-8?Q?ljpjrdFBc5pNOLw+2nJuzr13Q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5f51cd80-7c6f-4d29-3959-08db3037a0e9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 09:26:08.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: +ZRUb5cmKDqjSYRs4okGWVz+ZwzUN+T3VLYlwcgryyD1eh6AcoHeZ3Yw9u1vw5DH5zQjewNfBiYtomNXYlUUBQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9405

On 29.03.2023 11:13, George Dunlap wrote:
> On Tue, Mar 28, 2023 at 4:58 PM Jan Beulich <jbeulich@suse.com> wrote:
> 
>> On 28.03.2023 17:07, Andrew Cooper wrote:
>>> On 28/03/2023 2:51 pm, Jan Beulich wrote:
>>>> On 27.03.2023 21:41, Andrew Cooper wrote:
>>>>> It is not valid to retain a bootstrap_map() across returning back to
>>>>> __start_xen(), but various pointers get stashed across calls.
>>>> It's error prone, yes, but "not valid" isn't really true imo: As long as
>>>> nothing calls bootstrap_map(NULL) all mappings will remain as they are.
>>>
>>> And how is this code supposed to know whether it's stashed pointer is
>>> any good or not?
>>>
>>> This is precisely "not valid" means.  It doesn't mean "it definitely
>>> doesn't work", but very much does mean "can't rely on it working".
>>
>> Hmm, not my understanding of "not valid".
>>
> 
> A "valid" approach or algorithm is one which can be relied on.  If an
> approach or algorithm may sometimes work or may sometimes not work, it's
> not valid.

Interesting. Still not my understanding of "not valid", not the least
because "may work" again depends on further aspects. In the case here,
carefully placed (or avoided) bootstrap_map(NULL) means the logic, which
has served us well for years, does always work - so long as you apply
sufficient care. Over time that "sufficient care" has arguably turned
into "overly much care", and hence Andrew's rework here is definitely an
improvement. All I dislike is to call things worse than they really are.
(Another thing would be if "sufficient care" wasn't applied at some
point, and if as a result we actually had active breakage somewhere.)

> That said:
> 
> * "Not valid" is kind of vague: it tells you think it's "bad", but not
> how.  (Even "racy" or "risky" or "error-prone" are more descriptive,
> because it prompts you for the types of problems to think about.) It's
> usually better to state exactly what problems might happen if you do X,
> rather than simply saying X is "not valid".
> 
> * It's usually better to propose specific alternate wording, rather than
> arguing about whether a given wording is... er, valid or not.

Which I did (without explicitly saying that this is an alternative wording
proposal) by starting with "It's error prone, ...". Similarly (iirc) in
replies elsewhere on this series' thread.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 09:32:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 09:32:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516135.799768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phS9u-0000nJ-8m; Wed, 29 Mar 2023 09:31:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516135.799768; Wed, 29 Mar 2023 09: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 1phS9u-0000nC-5v; Wed, 29 Mar 2023 09:31:58 +0000
Received: by outflank-mailman (input) for mailman id 516135;
 Wed, 29 Mar 2023 09:31: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phS9t-0000n6-Ay
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 09:31:57 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8be497c5-ce14-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 11:31:56 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7538.eurprd04.prod.outlook.com (2603:10a6:20b:2d8::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 09:31:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 09:31: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: 8be497c5-ce14-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Gh7mXWbnEdEjkxN81y7gHqj3AiwUkIhP8bU4U+V3o6MQh14twzcCNg2Xx/6fi6qUEZtW2ZakzUqKzMzJNuSMOhuLoF+zmab2ZxXq2Vb5PGwPJ8TG1urpEKouyFs8RBYortmOI7mqTYQI4jbd/NmSzl8UotbIHqsbd5SvODGUr9MB/4+8FPMR3Gh2qxDjzuwhHhe0nCIRLYCRH3tKUBAQZRtP9Zcf70wUsGcfHVF4O/+ZkRFz53gIqA+wTTX4moUSa++RHGxCNAfVi/UG8tTyIIa/hr3YGPSzb+WMvSEsjUsK+LLY/RrkqQPsXgSEJBhZZcXptZc955qANkEVj5wG9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=76rYo/icGWXG1N9jUWEnrx+p2geu0sIqXAVpi5oXy6c=;
 b=TTSU9pdlAm+EzViynOwFwSgMHu1H3FGMdWjXukDa+RZBTsrdUHEw4Vsy+IenBznyOcDoerUg7p/5pmS4ouRXMr6AuAdd5UPJ65a/4egCo5lpJLKwulc8Bs9nvqIoHDClGX+W3919lIfCcoUbHVG7VkSskRQvqLcPC4sC5Qftfee97LR5y/HpaUH8JAnLjig+d9ApghN6TEFOfKltMZn9lL5+Jzt5gUgQ/d1KbFSKqjDr/kMjwpHXLS6KjnwfaknIjtR1AAWjr3YnIoew1zJ1c9E4jhFlnUDSPcRVNlyshQH/O0E7KeGQ8G6awaNK5rsaKhV+z05YKfz+m8FZBB4+Yw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=76rYo/icGWXG1N9jUWEnrx+p2geu0sIqXAVpi5oXy6c=;
 b=sDleq5XyS3FsUlCPqEi4NOwImFf80YYGFYRo1lWxFqBCJUBEllio8fXsjOuVVFtPitsliu+dX6U9J1uefs0uIuKt1cEVSdhraFNv52tmZcg8Tr2zTMOMxdw0IxCH71ZtG/Oa8qBl/H/5H4KU6sFiyTZ6XbDcXjcrDbXSo3EH2jbyfETU5gIOaboUVDxAzqrkEb58bZeNuVRaO2THePbj5yEIaslol983i82679LyS8P6p6mhxWmrolJxFRw5hJVqlGCxirCcgUgQHdK8w5Uva4goyN3BvpZwuIWwfUgcEAn9Tfk1kU1XUg4hEY+uklQZUslIIdYPO+OX83aXXpHn4A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2d18032c-9917-096e-e963-a20eabb75161@suse.com>
Date: Wed, 29 Mar 2023 11:31:49 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v3 5/6] vpci: use reference counter to protect vpci state
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-6-volodymyr_babchuk@epam.com>
 <ZBQoLFz5T0G7p9Dm@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBQoLFz5T0G7p9Dm@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0166.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7538:EE_
X-MS-Office365-Filtering-Correlation-Id: 46d2675c-6d8c-46fb-7937-08db30386ce7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	48xPtGWsZQlHbB+q0SBkQj2HguE2hvTGY5fYmwMj9qAKzrnQ93kXu9PLZyE3Nzr819TWciew3l78r8jZKq1jaHJ0rBCX51wTumTqQouzhGGNN06WsAmXUggK0qMPvi9HQod6EZjB8UZXRxlPEz9Wc5LFF/+Mf/+5iqM1WxjGGmN4gKX8b6fxJeHsppz6FI5NxJ0uBKADdEZcIfgl4xw4gIOqlzB+H4UWPnaGzqW+/3/oZbiYO8LGysxK4iOPMEFRpGgEWH6ZwQB4aso/Jnihr4L1s7mkvHX9mFLj0TX2aTvDFeLJgu2L8JRl8XUwWbYmnfQn0yq8m6slcSPCm7EC5i3zpasDLMyw0yTAvgOX0FHNChFZC6Ks9XqSqYdXLQ8KXhgBePi37UpXZyEUmxV8lLHZ1w2LPwSlQI6kxxHqjUlTqqYcESlFVa5X7A1VhLGeUpv8OT6HqeSckBo0z6rbhVnHvdhP4X5XWr25iH0npDjKV+r3HRzqYUgihRAb4PKQDIPRdch5hRuxH1oOqHYdg5cd3Lump9IppB+c6hZvTDQgnkhjBfrGjlQQbQqTZdYBwaH5p04w8LiOJAC7ZdDmhKFuQ7614n0tzKcMWT710bD547lrxrNtezox14P4bWKAlpOS2kr/2uShR4GTmBYP6Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(376002)(39860400002)(136003)(396003)(346002)(451199021)(36756003)(8936002)(2906002)(8676002)(31686004)(66556008)(66946007)(66476007)(316002)(110136005)(6486002)(5660300002)(4326008)(41300700001)(478600001)(6506007)(53546011)(186003)(6512007)(2616005)(83380400001)(26005)(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?Sk1QTy9wMmViSndqNHFBQlhFcDRxTFRPMDdIcGw0UGQxd3NIVFZNbUZJNEJV?=
 =?utf-8?B?MUxCaTlrQ203ZzE2WWNaTkhNeUVnZzcwNE9sSlc3ODJoYXB6T1kvV2ZaM1Np?=
 =?utf-8?B?S1U5b2p4ZHlVNGxYakFYYmV5RHFRWjh5OEZ2dHBZNlhOZWFvbFdZR2ttaGxR?=
 =?utf-8?B?ZUN1VVdla0ViQXhHZG93ZHpRcDB1TE1yaGwybHVmTFB2S204amRnQVJ6Mmdy?=
 =?utf-8?B?RjFzQU9SNG15RGEydzJzdjIwWklucUR1QndmcThURGtzTk9HSDdyU25EMUl1?=
 =?utf-8?B?OEJ4SXJESWRxNmpDMUx2NUVRWnRpd05zZ2xPdXU3OHlHQTgrbFpNUXF4K203?=
 =?utf-8?B?ZUgveHduQmU5MWt0c1BVR1N6U1hnM0FjSG5QYlZGSkdPdmNkWjhDZXFDd2dS?=
 =?utf-8?B?VUZxV3AzRUVxekVJRjQ1V0drMjlmdUl6cUxNdUp1eEJlUTBRemVUS2FnVjNi?=
 =?utf-8?B?eXNuWTd2TU92b2RFczVoRHdkN0NrNmFwZWczZi9ObklKZmpsZzNYNUxWdGNz?=
 =?utf-8?B?TkhNbFBINllaVHU5V2EyT0x0VHNzOTRPQWRiRkwxSjd2UmNyVmowemdpMjRJ?=
 =?utf-8?B?VDRQcGhkZGVvYkdtTVY2TVhCcStOSnZKenlJblpuOWRyeHlIV1ZHbmtPaTNa?=
 =?utf-8?B?SzAycjg5VldFMTVWS2dRVytGejkxWW1vaW5yMlhqL1Q0Nyt0YXVqWWxrSWlo?=
 =?utf-8?B?R1V6S0xqdWdNai9STVJacWtxZisvNEhGTHp0Qk1LdndvMVp0MDhBM1ZUTEx2?=
 =?utf-8?B?cDlHK0N2R29MK2QwVWlsZGQvMkFNZXQrS0dQbTF5Vnc3OXZudldJa0dOc1Vp?=
 =?utf-8?B?d2RJOVAvZGlHcnI4WXUwV1dTdHNHZDQ4dW05elJPQmRxd3NBckV6WlVqZEFT?=
 =?utf-8?B?dnNrNW1RclBDbVJ4VzA3K0dWWTRQMTI5eUZrVzdpajJJOUFVc0JLdjNWbW9Z?=
 =?utf-8?B?S1V3SjNES2ZtQjl1UjRXUTFmTVJad3lpRW9jWkpGUlp6NVRrcklKRWRQQktq?=
 =?utf-8?B?RGQ1VkY3SWQ0OG5WajlpYVpmRnJNY2lMTVVsRHRKVmRzM0tOclRXdXR6aDJB?=
 =?utf-8?B?UzVuYVdaejhRNUloQ1NYM0d4Rlo1c3R0Q3g1VGJhTVgydUhPNThKSVREVWcr?=
 =?utf-8?B?anhVWmo3NEdmTENtYzJrNlJod1FuT0s5TFBUbW5OaUVucnRrS00ySnZQSkVi?=
 =?utf-8?B?UFRjckFJOEFibzUwZU5yNzl4R21YSkVUM0tDb0diVnRXY2NFZkZaRXBsWFFh?=
 =?utf-8?B?ZnBxaDV0TmtsZ2l2M0s0U0NhRWNseld0SnN3Q0RHbDIwQ2QwYjVMaExwVFVx?=
 =?utf-8?B?MjZvaENuOE1KODUwTVhITmJYaXBneHBLWGhvUXVCbys3Skw1QlBCMmM3b0dM?=
 =?utf-8?B?OGd2VE9zMEY3dUFETVpyN2JiL3RPRXRCWW9kVlVHQ1VuUHRpdzV5MnlpNHJT?=
 =?utf-8?B?c2EzNzRLaDV1d2NNU0R1QU41T2ZHUEc5bzlsYnNKVEFGQjNYVFVabFQ4QkUz?=
 =?utf-8?B?VDJnQzVsbHV3T1RDRUV6dHRkMkZBdFQ1TGgxcVlCYTY4MFR5QnVxNGtLcWti?=
 =?utf-8?B?aTEwTDlzSzZkTlFsUXh6cXIvV2ZiSWNuTFBOYXlBTjhYejVZM0k3TDNhN2hn?=
 =?utf-8?B?U2wvWVcvSG5SZUJkbm52K1pQNmpyR004YkZyeEV6N1ZDcEx2TGtGa1JHVzlT?=
 =?utf-8?B?RkxCUTI2NEtadEFJUVpqN0hTakpNVndNdUNNSEt6V3RFZW5DQjRCbHk1bk9N?=
 =?utf-8?B?K0hVR0dNY2VUdGtnL1Z4ZjVZYVFWQTJPNlA4eVo0S2xKUTJYckxYeWx4UHpE?=
 =?utf-8?B?b3ROSnJjSDl0QzVDSjVxbTZWS2RYQzZPNEZWWlJET25SVUd1NEdvUW4zWlJh?=
 =?utf-8?B?dFRYNVA0UnZMN2hHbm9nSTRLK0VOUEFCZ1JpbDhQUFdBMmZPVjVvV1EyaXp4?=
 =?utf-8?B?Mjg0NlZudGRJeEt0T2JzQTRXSmJhMHB3WjNsa3FacFc1UmYxMDNxbVc0RWw1?=
 =?utf-8?B?aTlxWW95anEzVjRESGpyYXlNMWZFQi9ySm5tL3lCdmhMSDArQUVIeWI2WXhi?=
 =?utf-8?B?czhlby9iZmZJay94ZS92blBTODBwNEcyMFcxM1hodHZycDFWSFhlMHhNTENZ?=
 =?utf-8?Q?xpUtZ5jj87wH1Mfrsxgr0jvmm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 46d2675c-6d8c-46fb-7937-08db30386ce7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 09:31:51.0970
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cIVtKtqvNsnMTd3TF4oOUXTEQriaJSShB9cM7bL2RNPSQvvmRvo8t0NDXTvSH74DT1dbpoAjF7nmgAMZCZd4HQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7538

On 17.03.2023 09:43, Roger Pau Monné wrote:
> On Tue, Mar 14, 2023 at 08:56:30PM +0000, Volodymyr Babchuk wrote:
>> vPCI MMIO handlers are accessing pdevs without protecting this
>> access with pcidevs_{lock|unlock}. This is not a problem as of now
>> as these are only used by Dom0. But, towards vPCI is used also for
>> guests, we need to properly protect pdev and pdev->vpci from being
>> removed while still in use.
>>
>> For that use pdev reference counting.
> 
> I wonder whether vPCI does need to take another reference to the
> device.  This all stems from me not having it fully clear how the
> reference counting is supposed to be used for pdevs.
> 
> As mentioned in a previous patch, I would expect device assignation to
> take a reference, and hence vPCI won't need to take an extra refcount
> since vPCI can only be used once the device has been assigned to a
> domain, and hence already has at least an extra reference taken from
> the fact it's assigned to a domain.
> 
> If anything I would add an ASSERT(pdev->refcount > 1) or equivalent.

FWIW: +1

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 09:55:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 09:55:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516138.799778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phSWk-0003NJ-62; Wed, 29 Mar 2023 09:55:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516138.799778; Wed, 29 Mar 2023 09:55: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 1phSWk-0003NC-3A; Wed, 29 Mar 2023 09:55:34 +0000
Received: by outflank-mailman (input) for mailman id 516138;
 Wed, 29 Mar 2023 09:55: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phSWi-0003N6-Ph
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 09:55:32 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20617.outbound.protection.outlook.com
 [2a01:111:f400:7d00::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d675af11-ce17-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 11:55:30 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB8636.eurprd04.prod.outlook.com (2603:10a6:20b:43f::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 09:55:28 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 09:55: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: d675af11-ce17-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SZUqb9SOAYipU76GmtGEBe81yDfWRuvzSOAwmA1d4z5MfVqJL118L5gc0kAlBVe7z2w0O2tE2ZCn2pQDT+f68BCfTxZDrPuAJ+HE+w7gqwVglkq+uRwwNtHjnsMU3bRn0/Iz2vX/S7zDsF69PfOxE1OcCP/zsuSMDKdNDEGDX+VbcoG6uB5dOrRHIsQWSMWjR0/UjvLCZcxw/Q1wtjzNpGb7+q2gAEgHP9D0kmyQb5Pw9lR9YVImcawvwq04fR3SNQKzpDcuyXOTQsjBj5G/ulDOKG/M9/KagdQn5/CSPvvgXnsxK+IIJbxA5r0bQctXDB/FWJ7Csib5UMlYSTv+SA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ECfIwREF0Q6qzio+pGWhCZlG54XqiXJrnNrs4RrSaTk=;
 b=cXKFm93LPOw3qGTkJ5OZg5gqtkUuXNdcKblWaHCW1u8ZYBVYMa/OsusgT9bdcs8/h7lzjFpL35z9lQuqoZy94SEaT6gXgWmesrETLvSa0B5UpZf6+7Mzer8ZNbsA8j2IED3Cxpnn5GucQBthMaxbLsGRwjEFufkB+x6Sd6GLbr83QGSJIifJFMMQMiCRjXUgP+sqBTv8+1P48uEHMFksLg55y03NQcpnwbSzeu+7FwUlU8G43q0WdajPB1MEhpD6AiTKMHsThAk+ijEvc4ZuDZPq/ZyAFT60SL12NHtPi17THstuqWb/r6tCCYo1krZaJwAMHP5HtOvxLj1J8NqU0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ECfIwREF0Q6qzio+pGWhCZlG54XqiXJrnNrs4RrSaTk=;
 b=YhaG+avE5PvqEahRm0AA5f1nuFP4k/FauW+aEKyY6R8ZaojC+BCRA8iKVqkl61rxoKZ6PXDSlmv/N5mj1Dhm7pgin2qLgAutdIQHd1Jmjo9dgB82/AAlFmuWiSsZkjtO0ln4OpY+/eNsdmGGIUIXlfuQLGg39xPbPa2nKjo7fw83YLg/+d2EGS7R8eqBOOsXSG/nO1px5sEEShXSAoVOCD1IbMJ9kGx137FVaYqu3tflD0bpB1SyB9x4ekbaRRacOK7A7DWlNkDnbOW4VF7Pa/+Zfd8uH009wlEG3D3aTmSSIhxOAru0x5AfHScXpb5Wb4eViRMu33IcXzuQsGfcvw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c175d1b5-972c-e311-d634-e7a68e919ece@suse.com>
Date: Wed, 29 Mar 2023 11:55:26 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v3 2/6] xen: pci: introduce reference counting for pdev
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 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>, Paul Durrant <paul@xen.org>,
 Kevin Tian <kevin.tian@intel.com>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-3-volodymyr_babchuk@epam.com>
 <ZBNA9q5DXJYG3KVp@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZBNA9q5DXJYG3KVp@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::22) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB8636:EE_
X-MS-Office365-Filtering-Correlation-Id: 4d46f12c-337b-4c06-8454-08db303bb9a2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	L1xGm9uvJB1CwPNxmrJGhOZKDlNc6Bcq7wwAHeDLnoQIhRH/xPxF33VIoiBCYUEgNWo9W2cG1R6he/yiqR5wQiSIkiP8P8tLThEt0zeEdJN46RYDsU0QwrfUwP58C+vnVqKIdTW0kJh19S4puU3qb9yikqp2478N+36YdFx7TVsfGjqfkt+iPejadxQOAfFK+18NcUQg/NpFZ36JQEfTdZ6z2cqOf7kh9LMxFiOxEgRgc9k2kIyiYEQtajwQKLDeYJDpIym3TtI7vEWsppGbwogQavN4uKG7+qaObaIZjmQnXUS+06fvxTh/c4hMBnfP6iwXVx8Fvj+9aD5pRauam3GS82kvH9m9N9ZnjnPINvdr4s8EOG/amQkjLC3qeyZbi+4EEmj9gFNRpzQRGFbCvhT4po0W3cyYcJHdHDQpyIvydntGxzAFJSVP/B0XecqjiRqF2lTtObbivSaEkMf0Y/x6CL2fO3exMdUtipfkcabxlp1Py58YZg6XmO3SlKw3Psys5zh7LxAVP5iRgS+r/K9zn58gf5aZizEE37dmTXLsWfJxrxiq/ijKFlrBPpslWR9UeIy6/sfDQBC6gsZsqR4dwVka+9wrpnXYf5hvTolPwljVLougabFJt5aHag+pmhtCr7W9VPyMs4WUuLNCCA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(39860400002)(346002)(136003)(396003)(451199021)(26005)(53546011)(6486002)(38100700002)(2616005)(186003)(2906002)(5660300002)(8936002)(7416002)(6506007)(36756003)(54906003)(478600001)(110136005)(316002)(86362001)(4326008)(41300700001)(6512007)(31696002)(66476007)(66946007)(8676002)(66556008)(83380400001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K3JZVlVwdE1pbnMxbDlTclFia3hBN01KREczSnNpc2h4N1d2RHNDVU1pQlFX?=
 =?utf-8?B?bUh5SjVQSThiUmtBR2J1WlZPLzJUMCtyWXBZNko3Nnk0QW9TdmM3QitiUjVy?=
 =?utf-8?B?ejhTLzFIWmZqem45cDRUSnM2MEh0MjVaWVBYQ2JrUmpmbHRTSXRkRXpNUGFH?=
 =?utf-8?B?N01qbHI2UXBqK053bktyVTdYSktWNnZiNE9waU96d1B2WjJSU3pvbzlNcHhV?=
 =?utf-8?B?Q3E5bHBsU2NTcFdvTkljTDFpT0tUeU5zN3hsTzRtL0VJNzlPRTR5K01QNWpl?=
 =?utf-8?B?VG1IV0tFUjRSMXZFYTlTeEs1Um0zRWExYzdkSVVUdUgvdU41L3pjVXB3RmJL?=
 =?utf-8?B?L3pKc1M5QWE4eXFVc21ta1NEODFrSHpLdVJiZlFGaWI2QVdNaGtBRk5pWjk2?=
 =?utf-8?B?WTY5b2pzazd6TGYzVVdUc2VTTFQ5dkFzVHdPbitmWjN4cHZEZzRUeGwrei9T?=
 =?utf-8?B?ZEFBUG1vUXJndmdqTUR6bStqenpqUTFlTTQycDFSNUZQTklNeW5xNktkOWJV?=
 =?utf-8?B?aWZEaVZkZWNmTnhNU2o0eXVCYS9SRUlsWnU5SnNWZTRhMnd0L29LanJJMFdX?=
 =?utf-8?B?MFVINE1GL1RtcGxXTFFyMTQ4dXRHWnpmc3ZTTmhBMUtHSU9jSVBhUWJmaFU0?=
 =?utf-8?B?a3lvYm9odkc1S2l1T2Y4R1FuNFJpQXhNbitWNCtldm5Nc2lyS3BIazNIQ1do?=
 =?utf-8?B?cTRvZ2o4eHZEL0J5cXlLWkdMWkFkV3ZLVloyR3REUnA1WE53ZTVxWkpMN2lY?=
 =?utf-8?B?V2N6NVB5SncyclNycHcxUW1QSWNpSU5qMXJtRnJ2Z082cVdxeDRBVjAvYTdM?=
 =?utf-8?B?K3ptVkZ3bVpDNlREZmNtS1FYM1FZUklMakxIV2FZT252TWZlemlxeVNyNDlL?=
 =?utf-8?B?RkdkdTB5NkE2bDdTVVl1TTMxcDlUSncrUUEyYjdza0pKWUNleXQ0aXRiTXZ0?=
 =?utf-8?B?ai9UNTZBdTVrcWUyV0hiUDM4SUhHcnBwZjhwMGkzcE9FSkJrb3FWdGcwK1p5?=
 =?utf-8?B?QTYyUjA0RUEwVmJFeGJnSWFWUWh5WTQrOThtaVFodmI0SHUzNkxITWllYWVw?=
 =?utf-8?B?dEgxekR1VFhqQUtSRkl5TnlaRjM0akF4RzBUTUs4Z2lOdmp6OGxJOGxaOVQ2?=
 =?utf-8?B?bHZ0cCtZMUtBek16UURxUTNHRnE5VFlDM0dCeGczeG9EQW1KQTBhQ0ROTVpR?=
 =?utf-8?B?c3RBZUVPUUhoZ0o1TG4rdEowT2xIUWk2Q2UrWjdJMXFUWnd0bDB6VjVyQkxS?=
 =?utf-8?B?eGlxNlJTVWdHa081ZlVTMVBZQml2d2VETW45V0dFcDdDTEJHc2lLQ0pObTZQ?=
 =?utf-8?B?eitQZnRLeWh1aHVkSHZCSFRiRnFFbm1BcEFYM0pjRE5yZVU2cTBnYkdiNm1o?=
 =?utf-8?B?ZkRwU2MvR1ZMQVhRYU42UXlVNE9NeTNtYld6ZTdIa2FpWkt1ZllLNUpSSmVR?=
 =?utf-8?B?a2JtVEl1KzdXU2dHanRxU0lUTjhReTJTRFFLY0xTVGFFN3hUK3FlSGNYZzM5?=
 =?utf-8?B?RlhaYVowK1ltY3BDNXhjZ3cxeFpla09oajhQN2E0MFFRblNUbko4M2lEbzY2?=
 =?utf-8?B?VEo3a1VLeUdndDFKMml6S2dlNkZUS3A1YUJlSWltNENVVmVNSjlEeHlDTWZJ?=
 =?utf-8?B?TG9IS3RyS0xjMm1pVXF1aWw1OUkwZE90M3NTQUxrWEZIS2ZkWkdhdUtSeHdy?=
 =?utf-8?B?QTNyUHJQRTMrai85aWJqWkZLei82RDlMcXlhU0QzalFxbEl2aWdVQkhZSXJ5?=
 =?utf-8?B?MDFOTFJEV20zL2hpMHJXeGplTjJNOHdnS0RjY0N3aUZtblUrT1ZvZng5UkQ5?=
 =?utf-8?B?NXE2TC9YK3Bkd0l0RTVuWTNsMVhSaWRxMjFxVHhIME43TXFKSzVYaGd4anBy?=
 =?utf-8?B?aE1QQnQzTThaNEdrRkduTXJsTDQzQnE1a2I2NEhIeVNoNmVpWGlCNndlc3B0?=
 =?utf-8?B?NDh1eThkRUUwZ3ltY2l4dUlDUnlmZFIyWXUySm81dnNTb0t0bjRNaVZlbm4r?=
 =?utf-8?B?dUszSjFIeHVHNURGTGkreFAzMU1EMGxENk50Wk1lakNaakJDakVyNEdOMDMy?=
 =?utf-8?B?TmxVRWNHZFdHMko3aUR0eWxxbUpqRUZhWmhNRFplazUzK05UbStuSHR0d3Y3?=
 =?utf-8?Q?i7wi2/7zo4hIIzAkG7dmGA1Bc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d46f12c-337b-4c06-8454-08db303bb9a2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 09:55:28.0752
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2IdMGqMBXK/7yUBSS5zhAl/MFiksWY59lK37JkzkFN5LWB+B8dZbdYan6TinSfFLTIiiBn3m+6c/57MVEahk8w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8636

On 16.03.2023 17:16, Roger Pau Monné wrote:
> On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
>> Prior to this change, lifetime of pci_dev objects was protected by global
>> pcidevs_lock(). Long-term plan is to remove this log, so we need some
>                                                    ^ lock
> 
> I wouldn't say remove, as one way or another we need a lock to protect
> concurrent accesses.
> 
>> other mechanism to ensure that those objects will not disappear under
>> feet of code that access them. Reference counting is a good choice as
>> it provides easy to comprehend way to control object lifetime.
>>
>> This patch adds two new helper functions: pcidev_get() and
>> pcidev_put(). pcidev_get() will increase reference counter, while
>> pcidev_put() will decrease it, destroying object when counter reaches
>> zero.
>>
>> pcidev_get() should be used only when you already have a valid pointer
>> to the object or you are holding lock that protects one of the
>> lists (domain, pseg or ats) that store pci_dev structs.
>>
>> pcidev_get() is rarely used directly, because there already are
>> functions that will provide valid pointer to pci_dev struct:
>> pci_get_pdev(), pci_get_real_pdev(). They will lock appropriate list,
>> find needed object and increase its reference counter before returning
>> to the caller.
>>
>> Naturally, pci_put() should be called after finishing working with a
>> received object. This is the reason why this patch have so many
>> pcidev_put()s and so little pcidev_get()s: existing calls to
>> pci_get_*() functions now will increase reference counter
>> automatically, we just need to decrease it back when we finished.
> 
> After looking a bit into this, I would like to ask whether it's been
> considered the need to increase the refcount for each use of a pdev.
> 
> For example I would consider the initial alloc_pdev() to take a
> refcount, and then pci_remove_device() _must_ be the function that
> removes the last refcount, so that it can return -EBUSY otherwise (see
> my comment below).

I thought I had replied to this, but couldn't find any record thereof;
apologies for a possible duplicate.

In a get-/put-ref model, much like we have it for domheap pages, the
last put should trigger whatever is needed for "freeing" (here:
removing) the item. Therefore I think in this new model all
PHYSDEVOP_{pci_device_remove,manage_pci_remove} should cause is the
dropping of the ref that alloc_pdev() has put in place (plus some
marking of the device, so that another PHYSDEVOP_{pci_device_remove,
manage_pci_remove} can be properly ignored rather than dropping one
ref too many; this marking may then also prevent the obtaining of new
references, if such can be arranged for without breaking [cleanup]
functionality elsewhere). Whenever the last reference is put, that
would trigger the operations that pci_remove_device() presently
carries out.

Of course this would mean that if PHYSDEVOP_{pci_device_remove,
manage_pci_remove} didn't drop the last reference, it would need to
signal this to its caller, for it to be aware that the device is not
yet ready for (e.g.) hot-unplug. There'll then also need to be a way
for the caller to figure out when that situation has changed (which
might be via repeated invocations of the same hypercall sub-op, or
some new sub-op).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:01:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:01:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516142.799788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phScn-00050j-Ud; Wed, 29 Mar 2023 10:01:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516142.799788; Wed, 29 Mar 2023 10:01:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phScn-00050c-Rk; Wed, 29 Mar 2023 10:01:49 +0000
Received: by outflank-mailman (input) for mailman id 516142;
 Wed, 29 Mar 2023 10:01: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=wGTc=7V=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1phScm-00050W-KS
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:01:48 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2062a.outbound.protection.outlook.com
 [2a01:111:f400:fe16::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b4f206e4-ce18-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 12:01:43 +0200 (CEST)
Received: from DUZPR01CA0109.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4bb::28) by AM9PR08MB6049.eurprd08.prod.outlook.com
 (2603:10a6:20b:2de::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 10:01:37 +0000
Received: from DBAEUR03FT031.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:4bb:cafe::80) by DUZPR01CA0109.outlook.office365.com
 (2603:10a6:10:4bb::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.43 via Frontend
 Transport; Wed, 29 Mar 2023 10:01:37 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT031.mail.protection.outlook.com (100.127.142.173) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6254.20 via Frontend Transport; Wed, 29 Mar 2023 10:01:37 +0000
Received: ("Tessian outbound 3570909035da:v136");
 Wed, 29 Mar 2023 10:01:37 +0000
Received: from 857a78d42278.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C9A4B248-95D3-48B5-B828-E01E1C239F09.1; 
 Wed, 29 Mar 2023 10:01:26 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 857a78d42278.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 29 Mar 2023 10:01:26 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS8PR08MB7337.eurprd08.prod.outlook.com (2603:10a6:20b:444::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 10:01:24 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6222.035; Wed, 29 Mar 2023
 10:01: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: b4f206e4-ce18-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fHnZMbeMZ3PnoU9T9KfP0M6BS5FCYGfEcsoEL51V7PE=;
 b=ig54hKC7gyhM3qWoyp1fwQK5jwaqP327Ehb6N4yzYxiOm2/kDclZ+DkEYyjxLNpFXHDevNuIAP/plpXS9DfVCjuKTWbbKGndDxVrQHnWox6O1TayQomMjpmT2EgJP+bsA7NBFYl5m5XhwhABgv9V5oVYPZtzUbTXKVe1iUo9VT8=
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: 2063f362ab453502
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TLYk30J/DXiQ0CHAm5TxUXW2QVekS8lDuOoBn82g405hWVE8J1/bdwIaqVr4GqAE7FI6mlAKULZ5KapTaWZcILW9s8CASJwbjCEWgt4L5Y/KInutxJ1VEhCwxKrGlnJjOVDvxnoIc/NLJCMgeaF6PFI0IWsMb/3lWS7Z7EjxOJ4Tq9sozQwIix12Edf6D9SovGrY0tR+6hYOIB+N4xASwxM8GQ23X7/6nL3MA5Joy4jC5gLUxVnDFgACM4YouSWI94pywIUrYzHnlrQNaHjDLrpxiatRYOXVm6myI7/zjmqFTUFT+mquHjSi+9r9HRwS/t1T0v2dGzhH79D2g3XTww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fHnZMbeMZ3PnoU9T9KfP0M6BS5FCYGfEcsoEL51V7PE=;
 b=IJKB6KlYHN2WWSrNd4N25wc8elF/O5to2hjXivPa/Tkb363wbibvlzfWEvDkxOyEI/CgXX0LtJLQi2j9/Dm4x4MLLs3l01sIsRo5bMisG2eXAxdC/pdN+3WGn3ozMmVOO9cVfz/YgVGsHxIYIDxt0SS2g0LyvbJwmuEudJsnw+hyKoOOwM6V3ogmGRrdULA6wNdG30XpGnBpvFNVdGNq7192/WTvp4NiPOr4XzVVEYQIUuL4QyIgQ/JQXUL4CnuhWcih+sB3lywsMFrOm7oPpwLWV138sfCPa8oE3yFI4eSDu/fCeNvXhYmZRSYAbBTwowyZ1JxiU5/Dbg/4plo33w==
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=fHnZMbeMZ3PnoU9T9KfP0M6BS5FCYGfEcsoEL51V7PE=;
 b=ig54hKC7gyhM3qWoyp1fwQK5jwaqP327Ehb6N4yzYxiOm2/kDclZ+DkEYyjxLNpFXHDevNuIAP/plpXS9DfVCjuKTWbbKGndDxVrQHnWox6O1TayQomMjpmT2EgJP+bsA7NBFYl5m5XhwhABgv9V5oVYPZtzUbTXKVe1iUo9VT8=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v4 02/12] xen/arm: add SVE vector length field to the
 domain
Thread-Topic: [PATCH v4 02/12] xen/arm: add SVE vector length field to the
 domain
Thread-Index: AQHZYJtYhPNp4K3qPECnSSUY8aM6MK8P8D+AgAGZUgA=
Date: Wed, 29 Mar 2023 10:01:24 +0000
Message-ID: <D3910D5E-BA1E-40AB-B960-CF8806F0D9E6@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-3-luca.fancellu@arm.com>
 <71f3e78a-aa70-a12f-8380-ab8806cefd39@suse.com>
In-Reply-To: <71f3e78a-aa70-a12f-8380-ab8806cefd39@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.3731.400.51.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_|AS8PR08MB7337:EE_|DBAEUR03FT031:EE_|AM9PR08MB6049:EE_
X-MS-Office365-Filtering-Correlation-Id: 100fa5c8-dbf8-4d16-7992-08db303c95e3
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:
 cTat4mkavOiYpuDVnPWW9PYP2tw/83qryNERY9Uj45La8FQQTblG1lNg5WEdMaXI5whD/EixOtGodziapLPPX88zQDykxGLJTLNfbJHLx50lIYN+LsKyv7Tal8Yxz8RDJf5zbT+gryY2fnmfUqIY8wsR7Srati6Xs9cm7YbRgKeFZTJyPWPKjLo06MrSaYpSJb4oFJHN/9jhwgBZAQHTcVLOWG0andm/+0AHPot+sr8KGfHkGWldaL3WK8nom1KsWt89Dz2iTgLF6dd8gm7L/9e4FERHacbaK4C1PlEmv/7Bm1BEydlkU87B4T1SFgzbKmwo10SevMTniPJVR86tdNNV6TWnVqIKhGNEGb3LFtrqSLM1N3ooNG+Ane0wMzhziV1RVWANJQAoIkrtKJ4npGUyYVFHe40Ct3YZ8mXrLcKGxiDhLafaSKfPNKYEp0kpIDwOTkz39qfhsuQY1IbuftaTxR3qw/rSF4BpEba2b118ZAf/VzkX7sOnDTlA4wsJ1HJdduVjn9XQBHPRAP0b3j41kKd1fBiN24O5b5HJM+IQZCpCchb0f18GtSPoOL7Kz+Q/nGkk305/T7PxVkhd46bBwXRjgJOHcW1KeEHnIeqmJ74KQlsu5gM1Uwjr7aVIxGgk/R2AOZwDNGH0Bq3k0Q==
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:(13230028)(4636009)(136003)(346002)(396003)(376002)(39860400002)(366004)(451199021)(8936002)(6916009)(4326008)(66899021)(41300700001)(122000001)(2906002)(38070700005)(38100700002)(6506007)(5660300002)(8676002)(53546011)(6512007)(26005)(2616005)(83380400001)(33656002)(36756003)(186003)(6486002)(54906003)(316002)(66446008)(66556008)(66946007)(91956017)(64756008)(66476007)(76116006)(71200400001)(86362001)(478600001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <42181EF41F58214B9AA4FFFEE68D8053@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB7337
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 DBAEUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7499b5f6-a397-4caf-4ec4-08db303c8e22
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dsGx+tRXrGvHKolUdfy7ILieUgvE0mLz2rjA9Pv3tOZl+bwhskkGyKDNKGj7+LVfeKJ25/TOYSs03tJ1SMGxz3g/luu3WKKhThB+Alev68Y7xwyMuMQTDjw+sB/OlF0iaqZA/7dq4DgdmCAkmNzfRO57ZrKRPmAIvvF+5zoOMrFPUgmcZnhJvBVf815+dRwf3wmm2QXo/r5PNwEnMb0hbr3yy/dzPnppQCeQONSc2cJBT+u9dDU0eo4MhhQPofFUAV44GHRYGiNeWrEE2N4IeBgNfAdOPLVYqGzRiw54/HZ+L9KXfEeyZ62nmFcGQgSgU4YXLQOkTHLFqy/C2fhMjwf6Lzc7uQ7QVJLJoAkLeVbBOkp/ZT+XCCBpLKR0Ty96uCVfdmB4wNxpAtqyTWDvF+2PgpT9OwslJWNmkdsvrLkhy7GND+1G0boQnSwsMKgHNUOChhnvcwpHWqlh+gT9Pl612O9ZOLW9sIsxs9PEGEP14vHBP4369TMMl3RgiWv9f2a+9db14rvYYYE/pSfjRPUGTj62PcoR2Ziae1Rs4h34YfKTe/1yk30DkcpXAiHbXixXL8K5SYmBU1f2FiEd62fUATJink1L93U5WbvGJ3L0ukqmhFo20S6XvfYZ2R3Y96cyNaENx9lDmuB5rXCn9lSy4UgSvIvdCzfpYRM7f/SnvNwY8M746vYAMzHMEMcCNFJwpEtJ5mijoLfliY2ndA==
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:(13230028)(4636009)(396003)(136003)(346002)(39860400002)(376002)(451199021)(36840700001)(46966006)(40470700004)(83380400001)(66899021)(81166007)(82740400003)(356005)(53546011)(26005)(478600001)(82310400005)(54906003)(316002)(6506007)(36756003)(8676002)(70586007)(70206006)(40480700001)(86362001)(4326008)(41300700001)(6512007)(2616005)(47076005)(6486002)(6862004)(33656002)(336012)(5660300002)(8936002)(40460700003)(2906002)(36860700001)(186003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 10:01:37.3784
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 100fa5c8-dbf8-4d16-7992-08db303c95e3
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	DBAEUR03FT031.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6049

SGkgSmFuLA0KDQpUaGFuayB5b3UgZm9yIHlvdXIgcmV2aWV3LCB2ZXJ5IGFwcHJlY2lhdGVkLA0K
DQo+IE9uIDI4IE1hciAyMDIzLCBhdCAxMDozNiwgSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2Uu
Y29tPiB3cm90ZToNCj4gDQo+IE9uIDI3LjAzLjIwMjMgMTI6NTksIEx1Y2EgRmFuY2VsbHUgd3Jv
dGU6DQo+PiBAQCAtNDMsOCArNDQsMTYgQEAgcmVnaXN0ZXJfdCBjb21wdXRlX21heF96Y3Iodm9p
ZCkNCj4+IH0NCj4+IA0KPj4gLyogVGFrZXMgYSB2ZWN0b3IgbGVuZ3RoIGluIGJpdHMgYW5kIHJl
dHVybnMgdGhlIFpDUl9FTHggZW5jb2RpbmcgKi8NCj4+IC1yZWdpc3Rlcl90IHZsX3RvX3pjcih1
aW50MTZfdCB2bCkNCj4+ICtyZWdpc3Rlcl90IHZsX3RvX3pjcih1bnNpZ25lZCBpbnQgdmwpDQo+
PiB7DQo+PiAgICAgQVNTRVJUKHZsID4gMCk7DQo+PiAgICAgcmV0dXJuICgodmwgLyBTVkVfVkxf
TVVMVElQTEVfVkFMKSAtIDFVKSAmIFpDUl9FTHhfTEVOX01BU0s7DQo+PiB9DQo+PiArDQo+PiAr
LyogR2V0IHRoZSBzeXN0ZW0gc2FuaXRpemVkIHZhbHVlIGZvciBWTCBpbiBiaXRzICovDQo+PiAr
dW5zaWduZWQgaW50IGdldF9zeXNfdmxfbGVuKHZvaWQpDQo+PiArew0KPj4gKyAgICAvKiBaQ1Jf
RUx4IGxlbiBmaWVsZCBpcyAoKGxlbisxKSAqIDEyOCkgPSB2ZWN0b3IgYml0cyBsZW5ndGggKi8N
Cj4+ICsgICAgcmV0dXJuICgoc3lzdGVtX2NwdWluZm8uemNyNjQuYml0c1swXSAmIFpDUl9FTHhf
TEVOX01BU0spICsgMVUpICoNCj4+ICsgICAgICAgICAgICBTVkVfVkxfTVVMVElQTEVfVkFMOw0K
Pj4gK30NCj4gDQo+IFdvdWxkbid0IHRoaXMgZnVuY3Rpb24gYmV0dGVyIHJldHVybiAwIHdoZW4g
IWNwdV9oYXNfc3ZlPw0KDQpZZXMgSSBhZ3JlZQ0KDQo+IA0KPj4gQEAgLTYwMiw2ICs2MDYsMzEg
QEAgaW50IGFyY2hfc2FuaXRpc2VfZG9tYWluX2NvbmZpZyhzdHJ1Y3QgeGVuX2RvbWN0bF9jcmVh
dGVkb21haW4gKmNvbmZpZykNCj4+ICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+PiAgICAgfQ0K
Pj4gDQo+PiArICAgIC8qIENoZWNrIGZlYXR1cmUgZmxhZ3MgKi8NCj4+ICsgICAgaWYgKCBzdmVf
dmxfYml0cyA+IDAgKSB7DQo+IA0KPiBOaXQ6IFN0eWxlIChicmFjZSBwbGFjZW1lbnQpLg0KDQpX
aWxsIGZpeA0KDQo+IA0KPj4gKyAgICAgICAgdW5zaWduZWQgaW50IHpjcl9tYXhfYml0cyA9IGdl
dF9zeXNfdmxfbGVuKCk7DQo+PiArDQo+PiArICAgICAgICBpZiAoICFjcHVfaGFzX3N2ZSApDQo+
PiArICAgICAgICB7DQo+PiArICAgICAgICAgICAgZHByaW50ayhYRU5MT0dfSU5GTywgIlNWRSBp
cyB1bnN1cHBvcnRlZCBvbiB0aGlzIG1hY2hpbmUuXG4iKTsNCj4+ICsgICAgICAgICAgICByZXR1
cm4gLUVJTlZBTDsNCj4+ICsgICAgICAgIH0NCj4+ICsgICAgICAgIGVsc2UgaWYgKCAhaXNfdmxf
dmFsaWQoc3ZlX3ZsX2JpdHMpICkNCj4gDQo+IElmIHRoaXMgd2FzIGNvZGUgSSdtIHRoZSBtYWlu
dGFpbmVyIGZvciwgSSdkIGFzayBmb3IgdGhlICJlbHNlIiB0byBiZQ0KPiBkcm9wcGVkLiBQbGVh
c2UgY29uc2lkZXIgZG9pbmcgc28sIGFzIGl0IG1ha2VzIG1vcmUgdmlzaWJsZSB0aGF0IHRoZQ0K
PiBlYXJsaWVyIGlmKCkgY2Fubm90ICJmYWxsIHRocm91Z2giLiAoVGhpcyBjb3VsZCB0aGVuIGJl
IGZ1cnRoZXINCj4gc3VwcG9ydGVkIGJ5IGluc2VydGluZyBibGFuayBsaW5lcywgaGVyZSBhbmQg
YWdhaW4gcmlnaHQgYmVsb3cuKQ0KPiANCj4gQXMgdG8gdGhlIGNoZWNrIC0gdGhpcyBiZWluZyB0
aGUgb25seSB1c2VyIG9mIGlzX3ZsX3ZhbGlkKCkgKGF0IHRoaXMNCj4gcG9pbnQpIEknZCBsaWtl
IHRvIG1lbnRpb24gdGhhdCBoYWxmIG9mIHdoYXQgdGhhdCBmdW5jdGlvbiBjaGVja3MgaXMNCj4g
bm93IHBvaW50bGVzcywgYXMgd2UncmUgZGVhbGluZyB3aXRoIGEgZGVjb2RlZCB2YWx1ZS4gRnV0
dXJlIGZ1cnRoZXINCj4gdXNlcnMgbWF5IG5lZWQgdGhlIGZ1bGwgdmFsdWUgY2hlY2tlZCwgYnV0
IGdpdmVuIHRoYXQgYWxsIGludGVyZmFjZXMNCj4gYXJlIG5vdyB1c2luZyBlbmNvZGVkIHZhbHVl
cyB0aGlzIGRvZXNuJ3Qgc2VlbSB2ZXJ5IGxpa2VseS4gSGVuY2UgdGhlDQo+IHJlc3BlY3RpdmUg
cGFydCBvZiB0aGUgY29uZGl0aW9uIHRoZXJlIG1heSB3YW50IHRvIGJlY29tZSBhbg0KPiBhc3Nl
cnRpb24gaW5zdGVhZCAob3IgYmUgZHJvcHBlZCkuDQoNClllcyBJIGNhbiBkbyB0aGF0DQoNCj4g
DQo+IFlldCBhbm90aGVyIHF1ZXN0aW9uIGlzIHdoZXRoZXIgYm90aCByYW5nZSBjaGVja3MgKGFn
YWluc3QNCj4gU1ZFX1ZMX01BWF9CSVRTIGFuZCB6Y3JfbWF4X2JpdHMpIGFyZSBhY3R1YWxseSBu
ZWNlc3NhcnkgLyB1c2VmdWwuDQo+IElpcmMgMjA0OCBpcyBhIGhhcmQgdXBwZXIgYm91bmQsIHNv
IHpjcl9tYXhfYml0cyBiZWluZyBoaWdoZXIgdGhhbg0KPiB0aGF0IHZhbHVlIHNob3VsZCBsaWtl
bHkgbGVhZCB0byBub3QgdXNpbmcgU1ZFIGF0IGFsbCAoaWYgaXQgZG9lc24ndA0KPiBhbHJlYWR5
OyBkaWRuJ3QgY2hlY2spLg0KDQpJIHRoaW5rIHRoZSBjaGVjayBzdmVfdmxfYml0cyA+IHpjcl9t
YXhfYml0cyBpcyBuZWVkZWQgYmVjYXVzZSBmcm9tIA0Kc3ZlX3ZsX2JpdHMgPSBzdmVfZGVjb2Rl
X3ZsKGNvbmZpZy0+YXJjaC5zdmVfdmwpOyBJIGNhbiBnZXQgdmFsdWVzIGFib3ZlIHRoZQ0KbWF4
aW11bSBzdXBwb3J0ZWQgYml0cyAoemNyX21heF9iaXRzKSwgbGF0ZXIgb24gSSB3aWxsIHVzZSB0
aGUgc3RydWN0IGFyY2hfZG9tYWluDQpmaWVsZCBzdmVfdmwgdG8gY29tcHV0ZSB0aGUgc2l6ZSBv
ZiB0aGUgcmVnaXN0ZXJzIHRvIGJlIHNhdmVkL3Jlc3RvcmUNCg0KSXMgdGhlcmUgc29tZXRoaW5n
IEnigJl2ZSBtaXNzZWQgZnJvbSB5b3VyIGNvbW1lbnQ/DQoNCj4gDQo+PiArICAgICAgICB7DQo+
PiArICAgICAgICAgICAgZHByaW50ayhYRU5MT0dfSU5GTywgIlVuc3VwcG9ydGVkIFNWRSB2ZWN0
b3IgbGVuZ3RoICgldSlcbiIsDQo+PiArICAgICAgICAgICAgICAgICAgICBzdmVfdmxfYml0cyk7
DQo+PiArICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+PiArICAgICAgICB9DQo+PiArICAg
ICAgICBlbHNlIGlmICggc3ZlX3ZsX2JpdHMgPiB6Y3JfbWF4X2JpdHMgKQ0KPj4gKyAgICAgICAg
ew0KPj4gKyAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0lORk8sDQo+PiArICAgICAgICAgICAg
ICAgICAgICAiVGhlIHJlcXVlc3RlZCBTVkUgdmVjdG9yIGxlbmd0aCAoJXUpIG11c3QgYmUgbG93
ZXIgb3IgXG4iDQo+PiArICAgICAgICAgICAgICAgICAgICAiZXF1YWwgdG8gdGhlIHBsYXRmb3Jt
IHN1cHBvcnRlZCB2ZWN0b3IgbGVuZ3RoICgldSlcbiIsDQo+PiArICAgICAgICAgICAgICAgICAg
ICBzdmVfdmxfYml0cywgemNyX21heF9iaXRzKTsNCj4gDQo+IEFnYWluLCBpZiBJIHdhcyB0aGUg
bWFpbnRhaW5lciBvZiB0aGlzIGNvZGUsIEknZCBhc2sgZm9yIHRoZSBtZXNzYWdlDQo+IHRvIGJl
IHNob3J0ZW5lZCwgc3VjaCB0aGF0IGl0IGVhc2lseSBmaXRzIG9uIG9uZSBsaW5lLiBFLmcuDQo+
ICJyZXF1ZXN0ZWQgU1ZFIHZlY3RvciBsZW5ndGggKCV1KSA+IHN1cHBvcnRlZCBsZW5ndGggKCV1
KVxuIi4gVGhpcw0KPiB3b3VsZCB0aGVuIGFsc28gYXZvaWQgdGhlIGFwcGFyZW50IGdyYW1tYXIg
aXNzdWUgb2YgImxvd2VyIiBub3QgZml0dGluZw0KPiB3aXRoICJ0byIgKGkuZS4gYSAidGhhbiIg
bmVlZGluZyBpbnNlcnRpbmcsIG9yICJiZWxvdyIgYmVpbmcgdXNlZA0KPiBpbnN0ZWFkKS4NCg0K
WWVzIHRoaXMgc3VnZ2VzdGlvbiBtYWtlcyBzZW5zZSB0byBtZS4NCg0KDQpUbyBhZGRyZXNzIHlv
dXIgY29tbWVudHMgSeKAmW0gZG9pbmcgdGhlc2UgbW9kaWZpY2F0aW9ucyB0byB0aGUgcGF0Y2gs
IEkgaG9wZQ0KdGhleSBjYXB0aW9uIGFsbCB5b3VyIGZlZWRiYWNrczoNCg0KZGlmZiAtLWdpdCBh
L3hlbi9hcmNoL2FybS9hcm02NC9zdmUuYyBiL3hlbi9hcmNoL2FybS9hcm02NC9zdmUuYw0KaW5k
ZXggM2MzYWRmYjVjNmJkLi43OGY3NDgyNjE5ZGEgMTAwNjQ0DQotLS0gYS94ZW4vYXJjaC9hcm0v
YXJtNjQvc3ZlLmMNCisrKyBiL3hlbi9hcmNoL2FybS9hcm02NC9zdmUuYw0KQEAgLTUzLDYgKzUz
LDkgQEAgcmVnaXN0ZXJfdCB2bF90b196Y3IodW5zaWduZWQgaW50IHZsKQ0KIC8qIEdldCB0aGUg
c3lzdGVtIHNhbml0aXplZCB2YWx1ZSBmb3IgVkwgaW4gYml0cyAqLw0KIHVuc2lnbmVkIGludCBn
ZXRfc3lzX3ZsX2xlbih2b2lkKQ0KIHsNCisgICAgaWYgKCAhY3B1X2hhc19zdmUgKQ0KKyAgICAg
ICAgcmV0dXJuIDA7DQorDQogICAgIC8qIFpDUl9FTHggbGVuIGZpZWxkIGlzICgobGVuKzEpICog
MTI4KSA9IHZlY3RvciBiaXRzIGxlbmd0aCAqLw0KICAgICByZXR1cm4gKChzeXN0ZW1fY3B1aW5m
by56Y3I2NC5iaXRzWzBdICYgWkNSX0VMeF9MRU5fTUFTSykgKyAxVSkgKg0KICAgICAgICAgICAg
IFNWRV9WTF9NVUxUSVBMRV9WQUw7DQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2RvbWFpbi5j
IGIveGVuL2FyY2gvYXJtL2RvbWFpbi5jDQppbmRleCA3MTgyZDQ1NjdiZjAuLmMxZmIzMGRmYzVl
ZiAxMDA2NDQNCi0tLSBhL3hlbi9hcmNoL2FybS9kb21haW4uYw0KKysrIGIveGVuL2FyY2gvYXJt
L2RvbWFpbi5jDQpAQCAtNjA3LDcgKzYwNyw4IEBAIGludCBhcmNoX3Nhbml0aXNlX2RvbWFpbl9j
b25maWcoc3RydWN0IHhlbl9kb21jdGxfY3JlYXRlZG9tYWluICpjb25maWcpDQogICAgIH0NCiAN
CiAgICAgLyogQ2hlY2sgZmVhdHVyZSBmbGFncyAqLw0KLSAgICBpZiAoIHN2ZV92bF9iaXRzID4g
MCApIHsNCisgICAgaWYgKCBzdmVfdmxfYml0cyA+IDAgKQ0KKyAgICB7DQogICAgICAgICB1bnNp
Z25lZCBpbnQgemNyX21heF9iaXRzID0gZ2V0X3N5c192bF9sZW4oKTsNCiANCiAgICAgICAgIGlm
ICggIWNwdV9oYXNfc3ZlICkNCkBAIC02MTUsMTcgKzYxNiwxOCBAQCBpbnQgYXJjaF9zYW5pdGlz
ZV9kb21haW5fY29uZmlnKHN0cnVjdCB4ZW5fZG9tY3RsX2NyZWF0ZWRvbWFpbiAqY29uZmlnKQ0K
ICAgICAgICAgICAgIGRwcmludGsoWEVOTE9HX0lORk8sICJTVkUgaXMgdW5zdXBwb3J0ZWQgb24g
dGhpcyBtYWNoaW5lLlxuIik7DQogICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7DQogICAgICAg
ICB9DQotICAgICAgICBlbHNlIGlmICggIWlzX3ZsX3ZhbGlkKHN2ZV92bF9iaXRzKSApDQorDQor
ICAgICAgICBpZiAoICFpc192bF92YWxpZChzdmVfdmxfYml0cykgKQ0KICAgICAgICAgew0KICAg
ICAgICAgICAgIGRwcmludGsoWEVOTE9HX0lORk8sICJVbnN1cHBvcnRlZCBTVkUgdmVjdG9yIGxl
bmd0aCAoJXUpXG4iLA0KICAgICAgICAgICAgICAgICAgICAgc3ZlX3ZsX2JpdHMpOw0KICAgICAg
ICAgICAgIHJldHVybiAtRUlOVkFMOw0KICAgICAgICAgfQ0KLSAgICAgICAgZWxzZSBpZiAoIHN2
ZV92bF9iaXRzID4gemNyX21heF9iaXRzICkNCisNCisgICAgICAgIGlmICggc3ZlX3ZsX2JpdHMg
PiB6Y3JfbWF4X2JpdHMgKQ0KICAgICAgICAgew0KICAgICAgICAgICAgIGRwcmludGsoWEVOTE9H
X0lORk8sDQotICAgICAgICAgICAgICAgICAgICAiVGhlIHJlcXVlc3RlZCBTVkUgdmVjdG9yIGxl
bmd0aCAoJXUpIG11c3QgYmUgbG93ZXIgb3IgXG4iDQotICAgICAgICAgICAgICAgICAgICAiZXF1
YWwgdG8gdGhlIHBsYXRmb3JtIHN1cHBvcnRlZCB2ZWN0b3IgbGVuZ3RoICgldSlcbiIsDQorICAg
ICAgICAgICAgICAgICAgICAiUmVxdWVzdGVkIFNWRSB2ZWN0b3IgbGVuZ3RoICgldSkgPiBzdXBw
b3J0ZWQgbGVuZ3RoICgldSlcbiIsDQogICAgICAgICAgICAgICAgICAgICBzdmVfdmxfYml0cywg
emNyX21heF9iaXRzKTsNCiAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCiAgICAgICAgIH0N
CmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvc3ZlLmggYi94ZW4v
YXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvc3ZlLmgNCmluZGV4IDgwMzdmMDliNWIwYS4uZThj
MDFhMjRlNmRhIDEwMDY0NA0KLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2FybTY0L3N2
ZS5oDQorKysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vYXJtNjQvc3ZlLmgNCkBAIC0xNiw3
ICsxNiw5IEBADQogc3RhdGljIGlubGluZSBib29sIGlzX3ZsX3ZhbGlkKHVuc2lnbmVkIGludCB2
bCkNCiB7DQogICAgIC8qIFNWRSB2ZWN0b3IgbGVuZ3RoIGlzIG11bHRpcGxlIG9mIDEyOCBhbmQg
bWF4aW11bSAyMDQ4ICovDQotICAgIHJldHVybiAoKHZsICUgU1ZFX1ZMX01VTFRJUExFX1ZBTCkg
PT0gMCkgJiYgKHZsIDw9IFNWRV9WTF9NQVhfQklUUyk7DQorICAgIEFTU0VSVCgodmwgJSBTVkVf
VkxfTVVMVElQTEVfVkFMKSA9PSAwKTsNCisNCisgICAgcmV0dXJuIHZsIDw9IFNWRV9WTF9NQVhf
QklUUzsNCiB9DQogDQogc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgc3ZlX2RlY29kZV92bCh1
bnNpZ25lZCBpbnQgc3ZlX3ZsKQ0KDQo+IA0KPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:05:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:05:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516145.799798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phSfy-0005a7-Ej; Wed, 29 Mar 2023 10:05:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516145.799798; Wed, 29 Mar 2023 10:05: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 1phSfy-0005a0-Aq; Wed, 29 Mar 2023 10:05:06 +0000
Received: by outflank-mailman (input) for mailman id 516145;
 Wed, 29 Mar 2023 10:05: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phSfw-0005Zs-Ik
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:05:04 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0620.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2bdc6805-ce19-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 12:05:02 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8655.eurprd04.prod.outlook.com (2603:10a6:102:21e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 10:05:00 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 10:05: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: 2bdc6805-ce19-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eUfiVXuGWDqMI4/gqIDUN1xHkCqqUsHxSNgTVqX8jGU57vJePszSu5IsAPNd5xdNJThr0VUJt/BtZGQkOM3MWyL6Oi1iWqv3VOVuT6VEkcqdG5FGP3k7IcwU64lHTmMIb6nFwvHwFCGMxdnJgQlSLXZ48jYJm16tlf5e6xGpyGmbJW8gBNr/RbhPG4Z2Xyz9vRkOcYz5kkLvtj0QtRy7Y6cynW8INqg3KbuUw16zye6zeZbTZHI71wXfvttR0sI/pKb36NhHq5erhWR3r6ro9eoBFPyQsetAojFoi7yAXQ/Ff8oLuk3FnmrF7f3G65wOfawDYPGEmDGRA/J/cFXkGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m9N7Kb9ZDYD6IGrvpuY9ZA50iPcP5rEl0mPeo9OWl/4=;
 b=PDVzd7p+ApbnqsOz+S2TLAbziwOF8m0lUdVIrukY5kUq3PO9AxOXaB+B15Q+fCpyB/nsOqKhz2ItumWzOstf1cC03RioLEqzVWgUV6iBVvpdckVE/5Ew7jjeFF/mIPt71JOMPkYnZRoBCUtx6ky0lzitGkve9U3uMsq+kLjnXJ9O7nN23KHDbvtqs4ImpMeEiC5CkPmSUTbnPlWp36Ro8jBxYzeWWiYSu4ByoRz6oa6XaNv1uzVD/R6tRyxPtReJRqOqT1ED3GvxL4LoIz5Xf650/fnKG4DL9Z5kS0ByVU4A88CvycaM5iOaRa00vEi+E3r7fTCd17IgGw+lxOgeSg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=m9N7Kb9ZDYD6IGrvpuY9ZA50iPcP5rEl0mPeo9OWl/4=;
 b=weJ+swLv0IdiKTDbgfMsCow6hWfgrighidOonxf4p/Xf5/pBumoF4t4XGW8T+ixTeGFOIhj1gSeRWF4EMNh6uyxD9qKxRLbO/8FoeGTDKqm8Ns6ysZpFM5ie0ux1x7gcp8j6G+9Is+kYWaOXHvZSxrmxNxw2f1YtZcvyC9aAX4lxr87G+7RmrCuyVhrCNMrws9HGXEGD6G8G7wAn1VBHmZF0vIXIr5lvnxG0LdXPCBHLiS4JPtwsBtBHwB/g1AYBaFDt4Mw1IW9M2B3W+eswIJARaZR6zrVvr2sFFSC7kg6XbLojE8RI8ccq4DqTJHGfAfn1Qw45Bx/NVjX3jlEItA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <89c52f60-5978-acec-c3c5-606942f419d4@suse.com>
Date: Wed, 29 Mar 2023 12:04:58 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v3 2/6] xen: pci: introduce reference counting for pdev
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.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>,
 Paul Durrant <paul@xen.org>, Kevin Tian <kevin.tian@intel.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-3-volodymyr_babchuk@epam.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230314205612.3703668-3-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0088.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8655:EE_
X-MS-Office365-Filtering-Correlation-Id: 4b09f301-f933-45e0-db6b-08db303d0ea9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KOvL3/qbq1W+vmdKSXtv5pEDxWgp5gzqeSDZUbitDqZUqp+a0g92+K9ehGnY3wvl1osazhP2iJYMoQEDmSKCXpcPzJmaSEbwkX2/q1X0LGe0D9y79MN7V+9AMZxPtsZLehRp2T/knDMKG5/5+od8mRFsBAWEllZKj6Tja3eIbzF2HoDO8IsBYvtRr7DWtQMEziHsJ4CYZmh2SHyN/6X4+5BttR20R/6NJvhr9RDnZMuhLv2SmkSPHbYK9CQWgdRs4pw1LK2sfZv6JsL86zbjsp7B9KcR9sBqdzoCpc7pPaLCE2Yupf1pXBHm0/4TnQyzMgi191goqbEJyN49WhFeS9RZTteC4DzusT4SQ/ZiEeOCqzTwI4aEuq2FEFHdxrdokFIuFW0Qc6DeA8c0xR5nX0fx1uuD/1D+3jEv6mgmyss/13OVuWDBxaNlZvfDr5mS+vuDg4qKJLKmwqZfHP53ebMAb2n3TMrbA6rRoTumDb43e1OEWVd2MG7vNJz7K0l127iVJmX4RRnwK3UsxJw2KefsoaNyOXyCpHGYEAS/JdkYZDlnWXMOyUOkya4bkYFULPSqzW/vEtQyf4cw2hOIIgXl2yIOPZplUUCQQbMQQSTJcIUZpIBCLRgCowCiGOB9HU60pBYpVLpmZDFbimE5BQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(39860400002)(346002)(136003)(396003)(366004)(451199021)(54906003)(6512007)(6506007)(2616005)(53546011)(26005)(478600001)(31686004)(186003)(4326008)(6916009)(316002)(66556008)(66946007)(66476007)(6486002)(8676002)(83380400001)(7416002)(38100700002)(41300700001)(5660300002)(8936002)(2906002)(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?SytBdHR5RTZiL0NoaWFmbG5taHArRlFPZEZKV3pNTTc0MXg1aC83QmFQSFNj?=
 =?utf-8?B?MlNMTXlZVlBuZHFqN0lmQzV1ZGVUSzErTmROYXl6cnNNem5ZWHVWNExsRytk?=
 =?utf-8?B?bVdqb0l0b2N4M2dOeTZNTDlSSVNLRzQyN3JIbXVoc3BiaWcrSG9CZmZLcnBi?=
 =?utf-8?B?TWM4SlZ5blc3a1gyRTVhQmJuTWZ5cVBjMG93RGtySUpOVmQyTzJ1Yi9VSXdy?=
 =?utf-8?B?OU40N2pYc1J0dWFTajFQMWlNR3NFZjE1NTV6dXprSUtpZlFWYlBPMitYSmZE?=
 =?utf-8?B?SXdpSG16TDlpVis5dUtGOFVMQ1FrN2lUaE1taEZXRHN4V3NMMG1kT0dKNXRs?=
 =?utf-8?B?eEtZdXVTYXF6ZStjZ0RJbFg1d2lwSzVMRmp5U2NTa1RXUW4zanJPb1NEMXNh?=
 =?utf-8?B?U3ZQWUN1akRyNDd0SWpRNWNUS0c0UlRLNEJEdmV5MzY3VXhvTW9FTTRCamk2?=
 =?utf-8?B?SW1XNjhOTUNnV0ROV3BGamRwSUgvb3ZSQTZ4K0tYdmdmMy93Wkc3OUs2azJo?=
 =?utf-8?B?UjErZnk0blFGYmJoR0U3cmowZXkrRXRVeDB2amZhclNnT0hKREcreUQvWE5H?=
 =?utf-8?B?dC9ub2ZESEkzZHM0MHhkMUFHVXpNT2J1VmI0RXhLeUt6V3RUNzlYY2gzZGhJ?=
 =?utf-8?B?dDdiSC9ocmtNTHN6MzgxY1BkOFhGejZ3bnZjSnlPWEdUMjBURmtiNUF5T1FP?=
 =?utf-8?B?ZC9HYS95aU9uVnd1WVRWN0Y3bU1rcWVlYW02Wm85djZGQk9VeGhqZmVPRXo1?=
 =?utf-8?B?V3lCN2NzUTg5Q2JxRURmelFDMzN0QXVKem5tNDF3b0pvbmFyVVZkcUJtYTE2?=
 =?utf-8?B?SVVBMFl4QkJmckhFYml6UlJ3T1V3QU54RUtMZXN2MXdONU8rV3VwWGFja2Yy?=
 =?utf-8?B?ZlJxbVJvb1NDU1NHSm1pNnFPbUxxV0NJWE1xZWN0eDZBVU5pQ3J4dmt6Witv?=
 =?utf-8?B?YWJpSUNwZkh3TmhrOXdKVlBnaHlLbXplYnZNb0tHSGkxT3gvVkxxRjJPSDVm?=
 =?utf-8?B?TFRTQWUrRTRpNmhleFk5YXB5UmVZY3VwaXNDYXA1WGdXYU9pVjFhQXRjbXc2?=
 =?utf-8?B?TXRUc2RsYTdxSWJsN2c3amZmWHRDZ1ZhVUJRTmdhZmpIdmNPRzNxMFhGdThT?=
 =?utf-8?B?dGxPNlI2eWQvNkRaY3JEcmUvVmhTVEx3NGV5VmhqTGRhSTNuQlhCWWtvRWhp?=
 =?utf-8?B?T2d6UlNVSEhxSUhnSjlwWk9qdFJHMC9leTZScnR2dkwxb2hQYmpqdUxVNEI3?=
 =?utf-8?B?b0NpSmdIaGFDYVlKTFhpRVRlY2JadUk2YmoyRUI0Vk40U1dld0JVYTFZMTN2?=
 =?utf-8?B?OUxjMVFmd2RmYXNrRUJIY0ZCR1RSY2o4MEZPdVY0N2dRU0w4bHF3OG80elV6?=
 =?utf-8?B?ZHdKQlFHbVduOXZVYzZGVm5pUkEyLy9ic2RWSXdobmRGYWxzdDdMRlJFUjdo?=
 =?utf-8?B?QlVoaGxxcjRrT2dhSFVuc2g3cnpKaGM0dTAxcTBIYm1uYmowK05KR0ZzUGdT?=
 =?utf-8?B?S0VvbEZKREhqUjBHTzRpcGZORm16NkxoNEFqYTBLVG45d1JKVG9YRTd2OVNE?=
 =?utf-8?B?NlZYa0xLMkRGTjUyUU16UjdWZkJPVjQ5TDVORVFPODF5bnRBRG8xdHh2OHpa?=
 =?utf-8?B?WVRtRlBmZUQxdnoyYWxvTm9ocDZ0Q01wU0g2dlVGbXlPUC9VYk5LR0NoNndY?=
 =?utf-8?B?QWYyTkJmR0FLcTZhbHIzTzFtVHFBeVhMd2ZFcS9YWHl4Q0JGMFU1WDBKNDEy?=
 =?utf-8?B?ejc1YVhQN0J3L1NMM3dQM2FJWXMxRW92U2xXSlJRcENtZ25ZWnJvUDhJWENB?=
 =?utf-8?B?SW1ycy9HWllwMFA3a0ZGZGRNUFBESnlMMWRzQ2xRM2t5NGdhdVR4WGI5LzhJ?=
 =?utf-8?B?R2Q4ckJvRDZVVEtXNEE5MW9ldTEyKzlBSXhuWXk2Z292N05PMUdSOW1vOUlG?=
 =?utf-8?B?OXFLSkFJRVNtTlh5eHZoTWhmbU5mZG9lUWNacWNYYzlKK0RvQVZOUms3SnFs?=
 =?utf-8?B?SlY2VEhldStiZENGU0VuaXFaRjNjTVNlYy9EY3JqQXJiRCtMU2c3TGpCa0Za?=
 =?utf-8?B?cUlwRGlVa292T29QalJZZkRkMyt3bktpdFNoSFh3eXhuSVVoRk5HU2c0aHRn?=
 =?utf-8?Q?vbOK6oJg94ovqfyjghdPNa/qh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4b09f301-f933-45e0-db6b-08db303d0ea9
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 10:05:00.1825
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AhIR2qN5iIzOAVcxhkDrtshKP2wIfkW1aNLc6AQYsW3is6FYeh22VQKzrbFRGLcHGn70G4Ma+botqwqiOpayfA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8655

On 14.03.2023 21:56, Volodymyr Babchuk wrote:
> @@ -422,33 +423,6 @@ static struct pci_dev *alloc_pdev(struct pci_seg *pseg, u8 bus, u8 devfn)
>      return pdev;
>  }
>  
> -static void free_pdev(struct pci_seg *pseg, struct pci_dev *pdev)
> -{
> -    /* update bus2bridge */
> -    switch ( pdev->type )
> -    {
> -        unsigned int sec_bus, sub_bus;
> -
> -        case DEV_TYPE_PCIe2PCI_BRIDGE:
> -        case DEV_TYPE_LEGACY_PCI_BRIDGE:
> -            sec_bus = pci_conf_read8(pdev->sbdf, PCI_SECONDARY_BUS);
> -            sub_bus = pci_conf_read8(pdev->sbdf, PCI_SUBORDINATE_BUS);
> -
> -            spin_lock(&pseg->bus2bridge_lock);
> -            for ( ; sec_bus <= sub_bus; sec_bus++ )
> -                pseg->bus2bridge[sec_bus] = pseg->bus2bridge[pdev->bus];
> -            spin_unlock(&pseg->bus2bridge_lock);
> -            break;
> -
> -        default:
> -            break;
> -    }
> -
> -    list_del(&pdev->alldevs_list);
> -    pdev_msi_deinit(pdev);
> -    xfree(pdev);
> -}

No matter what cleanup model we choose in the end, I think it would be helpful
if this function wasn't effectively moved to the end of the file, but adjusted
in place. Then it'll be much easier to see what actually is moved out of here.
pcidev_{get,put}() could be added right after this function. They're important
enough anyway to warrant them not living at the bottom of the
file.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:21:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:21:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516150.799808 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phSvU-000897-UE; Wed, 29 Mar 2023 10:21:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516150.799808; Wed, 29 Mar 2023 10:21: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 1phSvU-000890-RJ; Wed, 29 Mar 2023 10:21:08 +0000
Received: by outflank-mailman (input) for mailman id 516150;
 Wed, 29 Mar 2023 10: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phSvT-00088s-TN
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:21:08 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on062e.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 66f6f846-ce1b-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 12:21:03 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8128.eurprd04.prod.outlook.com (2603:10a6:102:1c8::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 10:20:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 10:20: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: 66f6f846-ce1b-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DnehlA93MflxS2oFJQ5s6S9Hqt6n5rPa0i+LG92xIgzD8yVu2CLAS/fBEznNxNlx/ReuwqcqCpEj1lOr1CPDO1qOz2KT7hXpfXzmK9dm40J6mf1zXqNfTqvfreBXkPiXPJtKnsFkHlKfxeGZJQVeI+IfpyAnlZym0nXEv20c58KaS0d/c8iUo8Hz0mVGRbA6AdRHb4z9ybxgmUSjQ+C9R9Rjv+dgKAGFQDcNwOQ6yK3TxR1Lttjf/G8HHWo8rxxBXIUs2o8OWDCKJXthZXpMG5VWJWi66Q0VXzJNnNbVtItv6PDYGeLW1lkc5MgHRduTvKU8NMNg2L5WfFQfyKjXbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mJsv5RmYmoMgi88lUZyoeqZVDXwsABOflEuxeJ8WDc8=;
 b=JxaUlBc+XZMbv3v+6kZ3dZ0Bp5AWOEx95FtPHH/JrFybFsTQORkD7V815hCv7eYLKRuvNwahqOrLlkQOIn4Vpvpfl5mjX2Iwmn4RE9kbTG/xHlr1KwhyQS5TgdNF+N4TI+Kvghy/jG4wiXz9MEPZGJOx+o6CMMy85vDQcX2VSSJXJheJ/CF0s/Na+OQ5+xPJnRdm+5rVAzus6jhzymiD5/DQ7OyUT3o20lyGSG+JmNITu9C+oovzns5McwBxp3zmRwhydtT+/ILKL+vuxvLCmckLDLBszFY8esdg2O9OQLvYZIFJMz2PhjO/1aFeGfNhCpNZ0n6o8r7JMAc/paI8BQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mJsv5RmYmoMgi88lUZyoeqZVDXwsABOflEuxeJ8WDc8=;
 b=HXxHUT2tPy9cqeTzqFuub6yAY8BKnFzqT7bxA4rrmoPTj4PtIcHokW2LlJqWZTIfULY5Y1KfaqzZ2h1SvnQemsySB3ld6CLF67iHhboCbA5phriJGxdYb+lzN5noEzu9njocGkcC0Bs1fY4ZIQcqdBNkzCecvMLYD5lmeHYSa1yW0g7D2TW0g1RjCG+iTnLMX6nP4hwUEb75CAHlXF1p68BEAMWyGZ53pT9e5eItLK7rWHBFh8VDNiGCT3MBegCO3l/kRlvjKzTZHZlFmNxXTOuUVJ72nF3cVTH9ef0/HCkHCmZ2JueGf0UAFkfQWq/HOiQay502/RL8qqd3Mc1BOQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2e3c8f9d-8007-638a-c88b-21ad2783d8d3@suse.com>
Date: Wed, 29 Mar 2023 12:20:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 0/2] build: out-of-tree building adjustments
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0088.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8128:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b1a213e-7853-4624-8f32-08db303f49c7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DPSoY96eWxu7ZPt3wwTaug9mL5AVQQq9zr8WxoV0xtzmKvHBAQxS0okQw4l6eYyNgrliHYyyx4Bh36vPF5aW2vC6Guz4ZRrtJn/pcyjJfwM8kGbLtVtZ/uB6Fv8h+CT6U+6XnLNof4JSQSQvdfL969uBK12ddlFLkp3RGSgYM+SjtIr1zykjW4YSISo316GX3HCeLI9nXAfrdCdbKG9981myksecbrLUAD4tyegFYuD7Qi/FXpD7owqMi+LUmRRHGe3+8UrjR8SKMzSJedW5lPmojyGoxKKEb+UlnmXEJavgW9aDKM5jdNHsTic6jyXzLo7Ia4WMxctyMgXJpRx+Jmo+cM3Z9t1wMFUk2W8DCs3DNat+IbOQ6r2WD4JcaWyYJJjlf+WT18u34zdaiMEinHo7JE70Yqq5pawai3yWgnqDvt12W7oSKtfSdk4AojQx+i04/ivTaLcVyzhjFG//bkTVF1x/QDkVWPuUmJNdC6vgoMqOH+VDYziSTHWmE6MKXZ508m57IepckoOOR/bqkyO9QJw8Y+TZgGz3VsVgib3uzpnvxoUDJGWhxNKY3ypPLc8MpzwoVwpG2WewCRSQr28f+DiA/GGGd90RLTHI2CAwqMZ259VyhQS5kjT8fVdVQa1SoEI+1XU/d/YC6EZQIw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(346002)(39860400002)(376002)(396003)(136003)(451199021)(26005)(6486002)(38100700002)(2616005)(6512007)(186003)(2906002)(5660300002)(8936002)(36756003)(558084003)(6506007)(54906003)(478600001)(316002)(41300700001)(31696002)(86362001)(66946007)(6916009)(8676002)(66556008)(66476007)(4326008)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eEF1R1VYbHNJWFUyOG11d2lLZFE5Vm5QbUUzbTRwVzJZaXp5bzgyWi8xT1dx?=
 =?utf-8?B?OTdHTDEwcUc4VHpIUHMxVzQ4MU5UZkcwTnZzYUNzUTV0Y0ZDZVVvUkEyWjd0?=
 =?utf-8?B?VkdzWFRXMDhINmZiQ0FmY3BSR2h0VERKSnI1QXlkME5MZlU5WUM5V0x5bnpG?=
 =?utf-8?B?STBDTzNkOEdTNUtGbURPdlFWYVlVY2RpbWE3ZDlyK21wQWNtTzB1a3h6aVp4?=
 =?utf-8?B?b05Kb0lVemRSYklBOFJibVRzcnZRZXI3bWNCZFJNZFJPMXZTcUpoaHMrc0Vp?=
 =?utf-8?B?SDFkdDIvZ2FVeWNSU3dTMVNvRVcwU00wazlYbFhVamVUS1FHRjhHTW4zMk5x?=
 =?utf-8?B?TUFzdkc3b2hRSVNYTXd6N0hleklCSUQ5ck9uTTFtUDRnTXp0TW4zQlRvZDJi?=
 =?utf-8?B?SHQ3REpmOS9zbCtGbDdJeXpHYWo5L0FuMW1jRDVEb3pkazFGZEQ1TmRkVEVO?=
 =?utf-8?B?bXhoLzNLUmFBTjZtM09oQlp0MWJ0WTQ0TUN5T0UxS281dVQrK3ErYTFMdlcz?=
 =?utf-8?B?YVV3L3pNVVUreTlkYlNWOUVQWDlQb1NvY1VzcmtyK3ZCSkcydTg3U2U3eURi?=
 =?utf-8?B?L2RPYm1XUkc2K29FTTd2KzVoR3I1WmJVdVZ3UFR4Q0tkNEhUUG1MN1V0NFB3?=
 =?utf-8?B?T20wQ3kvbEpaMEZUandUSE02amFSNzVvYXJuTnFYRTYvOVZzTFBsZkdGMmhl?=
 =?utf-8?B?U0hyRzhVNER1TTRUL2haSFNrQmU0WjRodjFLbDRPVldJcE5CTVVrU1Z0V1d4?=
 =?utf-8?B?Wm9qQjBDbDh3TzBpaFI0OUZoOWNSaENmdWlmdGR4MXpkOGJudFJhVXNZeFBL?=
 =?utf-8?B?L2N0dWI3QmQwbEFyc3NQcFdEQ2k3VnFSUjdwV3ExYnU1Yisyc0duUXBSUVlF?=
 =?utf-8?B?Ny9oMGozNVUySmozN1piZVVCMkY2N1YrYXBkLysvdlZRNGNlSXlUMXhPR2FI?=
 =?utf-8?B?NzBhQmhCamsvQlZ3dmZ0dXlmN0FJUkYvc29nclRzamtnSTRRMDliSDZkQWhm?=
 =?utf-8?B?QjBCTVVUaVk3WkppVWs2NXhtc3p2d2haTzlMNUdzU1czRVBFREN3WFBlSU11?=
 =?utf-8?B?YnFmR2VTb2ZZem9neWtOWG56R3NXaUdtODh3WE1aaTRNNG9keElHQkMxcnVX?=
 =?utf-8?B?UndZU1N3OFZMUEdKa2pMUUtvU3RBSGt0UWlzQXh2YWUyVEhuN3hScVRnNFA3?=
 =?utf-8?B?Y1YvQjRrNEsxZk04MitDTCswOE40dExJcGlUTnVZT0hpOC8rRUMrb3dvR0Ir?=
 =?utf-8?B?TGFaUEpaQnFycmpXL3Z1UXMxL2NkWnZ1a1JNdkNqNHpLRmg4a09oNUtkUmRY?=
 =?utf-8?B?dFVZL1o3akR0TGxQVzZCblM5ZlZvNVU3VGxKOFhPWVU2QmtUSm1PUEd5Y0hR?=
 =?utf-8?B?SjJJNHphYWRmOEJCUnQzYm56ZnE1anViYmRpcytiMElDVWRVVkhrb3F1cUEy?=
 =?utf-8?B?eGN6cWgzd3J5ekUxM1c1SmY1a0JVVjF2SXg2TGJpN3I1WExXRlo5bzdCOVZ0?=
 =?utf-8?B?TkVvV0F6L3JnNkN0WGVVcmFQTy9URzlWK3Z3dzl1QW9vK1h4dDI0OUdmeXg1?=
 =?utf-8?B?UU1DTnFYc0xqR0NPNHdFeW0xeXYzTXlOcnFmNCtBcFhScUZNcVR2czJqUC9i?=
 =?utf-8?B?ZTBxYlF6UUZoNmhVb2swL2Q4MFdmSThmbDZvb09ZZ3FwUDhRZ0VQR1l6WDQ4?=
 =?utf-8?B?dDBHeENXbWpNQTdMNEJmMU9IUkFsMEUwYlBtTHVJNjR2ZFV6YTJKakhjRzFq?=
 =?utf-8?B?OE1vTHpFUEVWTHAzZVljekRnbVMyWnB1clRNQytnNnNFdDNnT29Pak5Wbndj?=
 =?utf-8?B?VkFLRTZBYjlTZU1jM2xFR3dMTno1Slp6TDhBNHVlWFlZd2FvWDV1THI0RTdi?=
 =?utf-8?B?eS92MnVOaXNQbEdtbUZ1aVFIMmNFUG91Qkhnc09iM2JYWnRzYndFNVk5Y0g3?=
 =?utf-8?B?WnJEWExFVGR2ZGlVbW4zdTR3bWpET0h2TVVmdlV5L2VnUGJpVElncDZNU3ZI?=
 =?utf-8?B?b3NROTdlTU45eU5BcVBsS2VSc0pMb0RKakIzb0tjSlYvdU83SzNEYVZCeGxk?=
 =?utf-8?B?bWd2aUdlbVVtVlBrbVpZZkcxTXFtMHRtRVluTXFGN2N1RXV1Tjk0b3A4MlhB?=
 =?utf-8?Q?g0pJBLs8V93nceBRZN8aXVrys?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b1a213e-7853-4624-8f32-08db303f49c7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 10:20:58.4047
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MX7wFa05AxZ1rJ3u8HSi60+IdWz+ndu8SYmEOmT1tlR6TNH1qNpguu1wdDJalWNVjM2NlfP9w+7dopuvr9ryUA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8128

The 1st patch is new, addressing comments on the previously standalone
(and unchanged) 2nd patch in a way different from what was discussed.

1: don't export building_out_of_srctree
2: omit "source" symlink when building hypervisor in-tree

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:21:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:21:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516153.799818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phSw7-0000BL-6v; Wed, 29 Mar 2023 10:21:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516153.799818; Wed, 29 Mar 2023 10: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 1phSw7-0000BE-3j; Wed, 29 Mar 2023 10:21:47 +0000
Received: by outflank-mailman (input) for mailman id 516153;
 Wed, 29 Mar 2023 10:21: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=Nen3=7V=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1phSw5-0000Ax-A4
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:21:45 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7edb853b-ce1b-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 12:21:41 +0200 (CEST)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.nyi.internal (Postfix) with ESMTP id 5A2615C0061;
 Wed, 29 Mar 2023 06:21:40 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Wed, 29 Mar 2023 06:21:40 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 29 Mar 2023 06:21:38 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7edb853b-ce1b-11ed-b464-930f4c7d94ae
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=fm2; t=
	1680085300; x=1680171700; bh=KfquH4sfpRUM3ASZWY2tWbSYgabYb4sCOmF
	F71dxQ3I=; b=ZGjktOg8M2ePuXKdoZ0zAREAJEb2l3Cv3J42rQcVxl6mOGFRJuy
	X+d4ZTyBIa7lFlOvalL08lVVkNV2NwZPIl4WCJuxemgxnLO9Y56bSSpj7I7yjS1p
	Vb+p2nR9Bmw56IF+S/QSuf2xPtBOHfPHfdZGI74Rr/8l9FwJcPoIbm8dmIo4UbHH
	7sMLJGt5BpGnstdbID8wlPIiCR3sj9XDxaV/fDYu3V8CxjjV4cXHqYbulx38plbm
	gtf1H9F4LqU50OlDb32HP/p3Q5JaCajbIO6UGDcTq9wkKn81fJGI0h5PXZDsfPim
	WCTofDJfLn2e9rTsU55TU0On2D9Ty/iwKpg==
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=fm2; t=1680085300; x=1680171700; bh=KfquH4sfpRUM3
	ASZWY2tWbSYgabYb4sCOmFF71dxQ3I=; b=jNTCSLPDey86fQQlzO3OSLgVFGey/
	eRg+nGzR8GKkrtgtTUZuXd3Rqbk7fDr1+ZJrsFIQmUkOX+oxUF6s1z3ZL7rcDtom
	tHRMv2xLmkag75WpfvjLxH7pZYvbEmOpTYXt9iX86NXjxVNwHkz67eVSpWuTXs3p
	T3E9xsHt+KuJbwS8aFrx7KvVb6LYEAJ3auO2zTD4Vp+CrZuczgCKfzzZM8qRpa5u
	qxbq4vNPCegSP0i8Setec2zJ3sHm6jpIgg0rlcfzifcA0S98S+NUukrSYhRw3Gr6
	n7s28yILCuulgKIVb8xN3+xiKN+9PndTGsMMTn+4QBmBHN/oK0swqzwSg==
X-ME-Sender: <xms:NBEkZHqiPzLo1ND1gQwXM78UfNWnD7FQsHq6nFde0a2zhdwDS14Ukg>
    <xme:NBEkZBrmf23O40WCKfaNtw8J9jVcOq5AigEArMsDMvGzfIxpjFs7PVCh_rQ1TAIRZ
    Ck8o4NeBOCdYA>
X-ME-Received: <xmr:NBEkZEOtiCsAjyGiij5Uu9l-CWtS1OL6fauVjlWOqMA20e-8khsa4-GhlKwlDeDra5aScr_hUu2ZCP1GZUpD3Mskvz1YSkvFdXw>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehiedgvdejucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:NBEkZK5jg217hqWI-BxswLrO9Ge66d1xGycAe8sQmzTrf-5KTayVAg>
    <xmx:NBEkZG6JK7FwZ-7Ri3s3IyWKg7vFW5NUg1aaexGjdwXq9ShdukWPxA>
    <xmx:NBEkZCj0UCOwQrnN4hykopRfX0YMc5qKj8OJC-XGMwUS3RicaWFWtw>
    <xmx:NBEkZB0JmsgJVgH0pVPG5zoO7zuhFpoT6mRG3js1y-7vJM7Cf0PB2A>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 29 Mar 2023 12:21:36 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 2/2] drivers/char: Use sub-page ro API to make just xhci
 dbc cap RO
Message-ID: <ZCQRMAoch+oq+2/e@mail-itl>
References: <cover.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
 <befefa60ea42a41543bc6dad70a559816cda8b7c.1679911575.git-series.marmarek@invisiblethingslab.com>
 <5cc58e5b-ba23-e7ae-c575-fe8cd713f515@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="oFYokrQPuEpgDQOi"
Content-Disposition: inline
In-Reply-To: <5cc58e5b-ba23-e7ae-c575-fe8cd713f515@suse.com>


--oFYokrQPuEpgDQOi
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 29 Mar 2023 12:21:36 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 2/2] drivers/char: Use sub-page ro API to make just xhci
 dbc cap RO

On Wed, Mar 29, 2023 at 11:14:52AM +0200, Jan Beulich wrote:
> On 27.03.2023 12:09, Marek Marczykowski-G=C3=B3recki wrote:
> > ... not the whole page, which may contain other registers too. In fact
> > on Tiger Lake and newer (at least), this page do contain other registers
> > that Linux tries to use. And with share=3Dyes, a domU would use them to=
o.
> > Without this patch, PV dom0 would fail to initialize the controller,
> > while HVM would be killed on EPT violation.
> >=20
> > Signed-off-by: Marek Marczykowski-G=C3=B3recki <marmarek@invisiblething=
slab.com>
> > ---
> >  xen/drivers/char/xhci-dbc.c | 38 ++++++++++++++++++++++++++++++++++++--
> >  1 file changed, 36 insertions(+), 2 deletions(-)
> >=20
> > diff --git a/xen/drivers/char/xhci-dbc.c b/xen/drivers/char/xhci-dbc.c
> > index 60b781f87202..df2524b0ca18 100644
> > --- a/xen/drivers/char/xhci-dbc.c
> > +++ b/xen/drivers/char/xhci-dbc.c
> > @@ -1226,9 +1226,43 @@ static void __init cf_check dbc_uart_init_postir=
q(struct serial_port *port)
> >                           uart->dbc.xhc_dbc_offset),
> >                  PFN_UP((uart->dbc.bar_val & PCI_BASE_ADDRESS_MEM_MASK)=
 +
> >                         uart->dbc.xhc_dbc_offset +
> > -                sizeof(*uart->dbc.dbc_reg)) - 1) )
> > -        printk(XENLOG_INFO
> > +                sizeof(*uart->dbc.dbc_reg)) - 1) ) {
>=20
> Nit: No need for a brace here (and certainly not a misplaced one).
>=20
> > +        printk(XENLOG_WARNING
>=20
> This log level change looks kind of unrelated.
>=20
> >                 "Error while adding MMIO range of device to mmio_ro_ran=
ges\n");
> > +    }
> > +    else
> > +    {
> > +        unsigned long dbc_regs_start =3D (uart->dbc.bar_val &
> > +                PCI_BASE_ADDRESS_MEM_MASK) + uart->dbc.xhc_dbc_offset;
> > +        unsigned long dbc_regs_end =3D dbc_regs_start + sizeof(*uart->=
dbc.dbc_reg);
> > +
> > +        /* This being smaller than a page simplifies conditions below =
*/
> > +        BUILD_BUG_ON(sizeof(*uart->dbc.dbc_reg) >=3D PAGE_SIZE - 1);
>=20
> Why PAGE_SIZE - 1 (or why >=3D instead of > )? If there is a reason, then
> the comment wants to be in sync.

Indeed looks like off-by-one.

> > +        if ( dbc_regs_start & (PAGE_SIZE - 1) ||
>=20
> Nit: Please parenthesize the & against the || (similarly again below).
>=20
> Like asked by Roger for patch 1 (iirc), here and below please use
> PAGE_OFFSET() in favor of (kind of) open-coding it.
>=20
> > +                PFN_DOWN(dbc_regs_start) =3D=3D PFN_DOWN(dbc_regs_end)=
 )
>=20
> Nit: Style (indentation).
>=20
> > +        {
> > +            if ( subpage_mmio_ro_add(
> > +                        _mfn(PFN_DOWN(dbc_regs_start)),
> > +                        dbc_regs_start & (PAGE_SIZE - 1),
> > +                        PFN_DOWN(dbc_regs_start) =3D=3D PFN_DOWN(dbc_r=
egs_end)
> > +                        ? dbc_regs_end & (PAGE_SIZE - 1)
> > +                        : PAGE_SIZE - 1,
> > +                        FIX_XHCI_END) )
>=20
> Nit: I think this is too deep a level of indentation; it should be a
> single level (4 blanks) from the start of the function name (also
> again another time below).
>=20
> > +                printk(XENLOG_WARNING
> > +                        "Error while adding MMIO range of device to su=
bpage_mmio_ro\n");
>=20
> Nit: Style (indentation).
>=20
> > +        }
> > +        if ( dbc_regs_end & (PAGE_SIZE - 1) &&
> > +                PFN_DOWN(dbc_regs_start) !=3D PFN_DOWN(dbc_regs_end) )
> > +        {
> > +            if ( subpage_mmio_ro_add(
> > +                        _mfn(PFN_DOWN(dbc_regs_end)),
> > +                        0,
> > +                        dbc_regs_end & (PAGE_SIZE - 1),
> > +                        FIX_XHCI_END + PFN_DOWN(sizeof(*uart->dbc.dbc_=
reg))) )
> > +                printk(XENLOG_WARNING
> > +                        "Error while adding MMIO range of device to su=
bpage_mmio_ro\n");
> > +        }
> > +    }
>=20
> Seeing the uses it occurs to me that the interface is somewhat odd: It
> adds a r/o range to a page that is already recorded to be r/o. It would
> imo be more logical the other way around: To add an exception (writable)
> range. The only alternative would be to include the call to
> rangeset_add_range(mmio_ro_ranges, ...) as part of the new function, and
> reduce accordingly the range passed earlier in the function. But I think
> this would needlessly complicate the code there.

I'm trying to make the interface safe against multiple calls making
different parts of the page R/O. If it would mark an exception, then
handling a page where multiple regions need to be protected would be
rather cumbersome. It isn't the case for XHCI driver, but for example it
could be in MSI-X (if I'd actually use this API there).

Making subpage_mmio_ro_add() to call mmio_ro_ranges() on its own,
together with Roger's suggestion of using ioremap() internally instead
of using fixmap would make it a bit nicer (if mapping the same page with
ioremap() in addition to fixmap isn't a problem).

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--oFYokrQPuEpgDQOi
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQkETAACgkQ24/THMrX
1yw5Rgf6AwqEcnmXLtIEPNdBPC3YPwhQtXnzRVzU6y9Gvp8enlVcMNYzlpt+3rCF
ccbPL2oR2g8wyENdxZ5p0Z84fe86x3W9hVwI4dNadTT3RTXdhgw/CpV7RbHfl3u3
JCVTwrw97Vq1waptdzIrjwRPJPW/OwgESefJxXb42h8nliO0wqwT/U/8VnsD7H/U
jiEIswH3pBId9NkKFrScE0iai5+BVgW4S7B2vNsNsLVzcW+4foHNtU++3hZD1fBr
svjLHx7UwMfEA+r+I9S0sp5HVuZOXwLyKMx/4S9TsxF00/ND1tOyOfaeQqOMpPQj
fQR/euc/FEsiRKrWnuhmhV9S/7XijA==
=iav7
-----END PGP SIGNATURE-----

--oFYokrQPuEpgDQOi--


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:21:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:21:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516154.799828 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phSwG-0000Vk-Ex; Wed, 29 Mar 2023 10:21:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516154.799828; Wed, 29 Mar 2023 10:21: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 1phSwG-0000Vd-C3; Wed, 29 Mar 2023 10:21:56 +0000
Received: by outflank-mailman (input) for mailman id 516154;
 Wed, 29 Mar 2023 10: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=WOlf=7V=citrix.com=prvs=445effd08=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phSwE-0000AN-Ax
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:21:54 +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 83f93df2-ce1b-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 12:21:52 +0200 (CEST)
Received: from mail-bn7nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Mar 2023 06:21:38 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by PH0PR03MB6940.namprd03.prod.outlook.com (2603:10b6:510:16e::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 10:21:36 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Wed, 29 Mar 2023
 10:21: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: 83f93df2-ce1b-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680085312;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=GgzvQ4F97uMh6hQ3cKDDJg2+/D82P4paLoBbMztQgYE=;
  b=cvnvmoP4R/Lj0L5M429EDwTEh7aJo+mPf/A7uR/E1Q+mH1+RQijEUjlH
   3yyLa1LFq69l6IHubnqwAo1vl+8MAuc66IxLIX4N68OEEU5NatNUwGACc
   y/Ak4S5VcBYjhNZU8M1XnL9x7eHHzlgwiiEq/TyG/Utq8pHPU2J1wStUy
   E=;
X-IronPort-RemoteIP: 104.47.70.101
X-IronPort-MID: 102857261
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:9JUsM6oJSSfGGex5NXgzlXeoO0leBmIKZBIvgKrLsJaIsI4StFCzt
 garIBnUb/uKMDf2LdgkaYjkpBlU7Z+Ay9ZiS1Y5rH0zQSwb+JuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzShNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAB4yTACYi767+bCQZMA8nvw9J/jBJoxK7xmMzRmBZRonabbqZvySoPV+g3I3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3j+CraYKMEjCJbZw9ckKwv
 GXJ8n6/GhgHHNee1SCE4jSngeqncSbTAdpIRODnrKAz6LGV7jMLKx87CluwmP6o1FWbf/FzC
 WBI4xN7+MDe82TuFLERRSaQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3Oc0TzE30
 l6Cn/vyGCdi9raSTBqgGqy8qDqzPW0fKzAEbCpdFQ8duYC7+cc0kw7FSctlHOitlNrpFDrsw
 jeM6i8jm7EUis1N3KK+lbzavw+RSlHyZlZdzm3qsqiNtGuVuKbNi1SU1GXm
IronPort-HdrOrdr: A9a23:Ash9VqBNegzMiDjlHejHsseALOsnbusQ8zAXPh9KJCC9I/bzqy
 nxpp8mPH/P5wr5lktQ++xoX5PwOU80lKQFmLX5WI3PYOCIghrNEGgP1+vfKl7balDDH5BmpM
 BdmsFFYbWfbGSS5fyKmjVQeOxQpeVvnprY5ts3mBxWPHpXguxbnnBE4kHxKDwGeCB2Qb4CUL
 aM7MtOoDStPVwRc8SAH3EAG8TTutHRk5riQBgeQzoq8hOHgz+E4KPzV0Hw5GZUbxp/hZMZtU
 TVmQ3w4auu99m91x/nzmfWq7hGhdf7zdNHJcqUzuwYMC/lhAqEbJloH5eCoDc2iuey70tCqq
 iFnz4Qe+BIr1/BdGC8phXgnyHmzTYV8nfnjXuVm2Hqr8DVTC8zT5Mpv/MRTjLpr24b+P1s2q
 NC2GyU87JREBP7hSz4o/zFTQtjmEaYqWcr1cQTk3tce40Db6I5l/1owGplVLM7WA7q4oEuF+
 djSOna+fZtaFufK0vUu2F+qebcLEgbL1OjeAwvq8aV2z9ZkDRS1E0D3vESmX8G6dYUV4REz/
 6sCNUmqJh+CustKY5tDuYIRsW6TkbXRwjXDW6UKVP7UIkaJnP2rYLt6rld3pDnRHUx9upypH
 39aiIZiYZrEHieSvFmnac7vywleV/NEwgEkaplltpEUr6VfsuZDcTMciFqryKamYRgPiTqYY
 fOBHtoOY6dEYKXI/cu4+TfYegmFZBMarxghv8LH3Szn+nsFqrG8sTmTde7HsucLd9jYBK0Pk
 c+
X-IronPort-AV: E=Sophos;i="5.98,300,1673931600"; 
   d="scan'208";a="102857261"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A2IaZAR5vPZAk/isGePCrxrxNs0Kn6y9ikSt2Q89VMyv8c/UrAr8HljfVLEv8GdPSGe+lhNTHlbo9zAL+NWrlYp5osggMFJu6YItD9kWOw8jtq/Xnu6Ya1QJ7BWhg6XWImU0hoVh4zmf/OceCr+3CnT8I17nnXBiFY4A91hTeFtZ1kiMr6WwIol5j1uINIvL1I3ueDcMHR238+gX6GI4UkBXKH9ZcsIX6arIzIFrhrrkY1N1Hx/BuydUb60gqpwVJ8QSxvFa+Wl2rOPUTP5hgYJkzUrKSQbZhcRieMlo7E7SNcVpczh5GJL0fkrYJbVpy8bMIWbHi4Y51PpI29tNPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GBcikQid1EDsNKVmlhoAesovXe8SAQfNny1rvck7MW4=;
 b=TyzBoTPpJLj3nfCkblAAUY66i4P5J/JX5Qovwqne8VjrGY1nVAvn2mLsBaGOgNDG6LxFrPr3RmFqnny9P6MrtKlmU5h+flP5x654QmGxKCRQpkfRzts0wSUYAPLWwTQfzRvskvZwxeHtL3bgAuNGoFiw+b16eAHS1we6h0kZzHA5WJ5EfKcwQ3DBWwW062X17uMiU8Y4HqBKs5ULL5jPw75BX2Un5lj58btXEuCy+cSiWvFK59a09RRsGxnu9w9a/8b1frwRNy7hRKvVZuDMILB9p0OK9SEIFtZbHrcocd6XVYVArnWL8rJ01Lh6OHP9uC3C2+gsgj1c12glxhNohQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GBcikQid1EDsNKVmlhoAesovXe8SAQfNny1rvck7MW4=;
 b=bhz+H6GD+MtpaZkzz1G7eQG6yLfxiCLJIijOK6CpFuOSFwkMjuKFhlyZ+FuBeydqHdoEIKKbCaVN9EAHDQWcGYXqvu8xKGz3WzSrlvhn2AyOgwpCBcKBsIoFoEw3bm/IS7AgzfkqHjMarN5McGCSbs5KDhaasws+sbFPtxZhnfQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: jbeulich@suse.com,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH] vpci/msix: restore PBA access length and alignment restrictions
Date: Wed, 29 Mar 2023 12:18:10 +0200
Message-Id: <20230329101810.84726-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.40.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0238.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:350::11) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|PH0PR03MB6940:EE_
X-MS-Office365-Filtering-Correlation-Id: 7128f24e-ec8a-4a87-fa31-08db303f6042
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	REENbcAroG1WWJHJJ+Tn53SljIdFat1+X2oiIJbUqOeVsQ/dy5Al/5wtMqb9pnoby02ZlvaR1EiFp0GvJs5vlEBCZkq+/cb34TjnTxuaIy1o/5N3Xq5lg3p58x8EMdp9q3BGpseWGIJz+ogBihE2iI1KjQJfhtO2wteCmPMovNRuDoVCjOri7de/1b9WyQ4yJqaYVkPmCmSt08a2VBJKFD0Aam4dJ+CSFGRsqlXJQrSs2jC6+pzV9U8kRm6PMnfzvsJDhWVbmEUVB7cgkFN3Orh5IHqG2bQQl/PO7Xf3dYuSSjV+Bp3Pu4G81h2bTfn5MCbGoK4FqWougoU4XsvaBipvGNFhVLMIsSp57TnqToc2g0aNVURKS0AjxEdDRVchqZGa+Lz9ql4qC7SZzWc8ycZSdwESeFn5+Jl+/qFmwueFUSTq8Nf5ltFU4/7fr6uOXRl03su2zVcCui2gOL21+vTPX0olYz236x65Hsxk8adjaEe0E/Z1LzE9junt0tiyPgnHth20Te9VhbPDG4VNv+Dl+J5zMQpMtKwAeUFu3ojRi6Q1B/7ypirXB5HYo4Re
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(396003)(136003)(346002)(39860400002)(376002)(451199021)(83380400001)(1076003)(6666004)(107886003)(82960400001)(26005)(478600001)(316002)(6506007)(36756003)(8676002)(66476007)(66946007)(66556008)(6916009)(86362001)(4326008)(41300700001)(6512007)(2616005)(6486002)(38100700002)(5660300002)(8936002)(2906002)(186003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N0xBM01saWZzNGx6bjNPSFA2MjNiN0RuOGltamVYQzl2MStBMUQxejFWcERo?=
 =?utf-8?B?TzJ5NzJKTklSelZsY1NpVDV3YlhPL2VqUk81QTdPOGtOczU2UlZkaDlIWjRy?=
 =?utf-8?B?Q0N1NzRjNUx4SmVRbUgvdVl3QXRNVGlxSE1IUi9TVWRNdk9CRnk4UEs4Q2lS?=
 =?utf-8?B?RDVacnFlVnRES25jUE1PZHdGTVhQWVcvZm5hb2Vpdy9WL0huR29hZ2pnQWs1?=
 =?utf-8?B?bWowaTNBNjJnemxBeEp3ZEw2dVAwMUIzWmRIRVhoZnZnMm04dmp5UzViR3Bh?=
 =?utf-8?B?MUpVWU84NHBHQzlCRDA1NS85YnMrejdTWkoreGMwR1FQdU42aU9VNnA5bXg0?=
 =?utf-8?B?UGtDTWZDdDJGU1ZDTEhCY0w2dXh0bGFRdXl6MHlSOUpMemNVVWh4K3N6eEdV?=
 =?utf-8?B?Q0RacXhVTWNJVTg1MnFDS0NQeUlySjdqTVRYNjFGamtmejR4YUYwdm1HZVpY?=
 =?utf-8?B?M09xR3grSjNLaVhNZlVabHVoZWlLM3F6TG0xdXZxNmZ5VUgydS82d1NtSzI0?=
 =?utf-8?B?K2tjQ2ZTd0cyKzB2UlpoaE1WOFFnYkM4cXRFeEYrTmJUbFRTaitGYXBwZDhr?=
 =?utf-8?B?YW1pZUFGbWEwSWpUZFo3N2wrRzJ0anhhb1NpZGMwbGw1VGhBTytITW8wRUhm?=
 =?utf-8?B?bVFhd0FrUlBHdUhVRE9qNHVKdWRPdzRaSzNTQ2h3Ync5UlYrbCs3SDZUdk1r?=
 =?utf-8?B?ZXVITHJaMlYyVXRBNlpRdThheUMvbmV2OTBxMFdwY1dCU3RLcHhNc2s1V0la?=
 =?utf-8?B?ekJjNXVtNnZhd3Ixc005UEo2VTBWcG9QTHVBWmhwWnhEcnJsVHBNVkVmVnFl?=
 =?utf-8?B?OGdGNlVKMFhpNmxSUURTRnJEQ0ZnbTdEMnNtNUo4d2NNM1lUckVsVEJ0V2o0?=
 =?utf-8?B?UE9CNkxwUXhhZW5KYTdFNGsvbHFVeU94L0t4UXE5SDdIK0I5bTVpTXpYSWgr?=
 =?utf-8?B?ZWFySGR5UEhUcXdxVERrRVZnZXJWYXR1anlFUkhYa2I1b3dtNXRFT1pia2Yx?=
 =?utf-8?B?d0NXanZEVFYrQk15Qjcra2R4QUUzZkZxWnFuQlhvajhZekkyNE5YUnlqR1h4?=
 =?utf-8?B?bFI5bFBhTXRzMnZDZzVRVmk4RUZMYkt4ekFkaWFwT053ZFZkTHNoaUtOZnla?=
 =?utf-8?B?Uk5leFRNYzgyMUY4UWFCWDlRRUNOdUdoeDdSYWN1bndTT0tsR241YkZkaFhx?=
 =?utf-8?B?QTRna2JUYnZ2WHYvK2hGaktSVDNwNm1KSS9kOHVCemY3NDN0c3AzdG55U1B5?=
 =?utf-8?B?cC9IdnFVOGhPRGVyd3dqd2JPQU5qVVhJajRFcFc2VHVyVGlVZFZxUlRBQk9l?=
 =?utf-8?B?dzRjMFFaYkp6MzRKYTlKbnkzZVFEYTZFQlQ5WmQxTVhwcTlPby9iQWw4MDg0?=
 =?utf-8?B?ajc2cnBFQSs5Qmh0UDRsZlZBbFBVK3hGUHZkSEFCVjZlM1R6aFRvcnVDUEcw?=
 =?utf-8?B?MUZXczdnY2VVbCtVU1JWY3ZNWCtMNjRnZHk3VnE5akVBZFVXemMvN1RQSEpr?=
 =?utf-8?B?T1hrOUFmSXkvOVJLc1VwZy90eHJvODQvNC91OUc0SGtRUVRYODlRYm1aSk9h?=
 =?utf-8?B?TjFpVmpjalpmUkExMXZtTFIyblZCTFZHSi9yYmlhclRzUmpGZkpsUXR5YUFP?=
 =?utf-8?B?T2w3S3lYbnplTlVVYjQ0U2dGcW5zWCt5OGtWQVcxYnRQd2ZjckZKZW5ScVdD?=
 =?utf-8?B?d3hOUjhRbUhCckduVmY1NEhINkNmdXVpZnBidVNEZkUvbEs1cGlScy9RbzlH?=
 =?utf-8?B?aitKc2Q2TzRLSTQxK1YyT05yQXNhYjg2TzZMMFVjOG5tWTlubVJDL1V5MnRT?=
 =?utf-8?B?ME5TN1FkbmxxeDBCbkdVNllLTU1sdUxBUXVlc1pNOUF2d0tqVlkxVDh1RE1u?=
 =?utf-8?B?WHZDZTBrbzk2SHJDckVJUjZ0eG93WittWFc5QWNhaFlGc09oaXlwazZJZlJ0?=
 =?utf-8?B?bWpEaDRMZUxKeVpaMEJmNmhlRTJ6VHlLOHB4S3ZMMDJwSEZnNkxIclZyQldI?=
 =?utf-8?B?RXAxTW9qU01OVjFhaFdhR2QxaXJjVzF0ZGRTelRQbkFJUFZJbGlvM2lLK2t0?=
 =?utf-8?B?MEpBUTNCcER2VXpyT1hwemtYQVFLdzVabWU5NEVVUnh2MzF0TzVNNXdRWkor?=
 =?utf-8?Q?bWR/UMw2vz8laF//JbIA06ebT?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	QMQq+ifS9ww4cSH1RWg0yjBqZ0XfCCTveaxNwczdjjc1B29o/uoqyyrkjz3NQDXyfQpAowvnc6kENrdDLBLu0wxgi4meEJj8r5hbA9wTYIDmdWs9wuEjiLm1aqJuvsgKoCiwQBhrIQJJ78lujOc9+JN/RVnzO1wMFtvbqOEaMpm7Ty1SolXuLltlz9sUyxhdSfpWC8vF/Yz8qJ1M/O11L1k5/9SICJv6IEdQ1+C+5VbyMGaKNDFo/bWnX+pOU1tZW/KSDUqToO5DPeCxpJozwuL/BcwAc02xvfRoMRgLIXhKJrRQWFvCtuu5qkS0RQ+Lpu9oJXi/z7TW9E9SFXBkVEWip7kY2+1BHJWUbNboROcDkO/qtllR/7fd0KvF7tYm6xXc7BBLriV3BIKGeIhxTy3jchOL0J5PPpYFXujetdFsu9keMWCDNWYjocQXybaEinT8c5j8GqtExGFNychOtgIWtQY/RFo94Kjb54lhycvIRuCzW/OqwPnKdsaAwblEmC9Me0bIoF3jXfF9QmSseyopZfpbMaGJ8tdljdqgz/nQaZJyMBJMQGvErheZ8rjYRn9gimzY59/ABE0XCj/pmB/Rg2sav9mSKAPTNsNFpbgEzajgCPsMbHrb/hfnReZA4e7ulNgsI3Nq/1NLsBO3IHKC3OkoPw6gSe+xPHUMlNqttVcPQ0crxPd/gIbPzCxJbFrnBv+wiiWZV/VYyo9hEVtDKTGUCxN9AqZPQdQoUrPemeTxp9GwDX9xpTb8YzqgbM4gB/Nfx1/bUNmiqXtVK7bE9XNWoaggZ8FBSbgN2heLTuXG8Rz+bzsx+E9D9JPw
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7128f24e-ec8a-4a87-fa31-08db303f6042
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 10:21:36.2100
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: v2E7w6pWb5pGsTV/0r8eXjKOWgRUZxuTvLAw5oLTd1IyoRF/Gv5s/T6wnoWRGsRmRjWmJPZtFUCxsSS/HrWthA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR03MB6940

Accesses to the PBA array have the same length and alignment
limitations as accesses to the MSI-X table:

"For all accesses to MSI-X Table and MSI-X PBA fields, software must
use aligned full DWORD or aligned full QWORD transactions; otherwise,
the result is undefined."

Introduce such length and alignment checks into the handling of PBA
accesses for vPCI.  This was a mistake of mine for not reading the
specification correctly.

Note that accesses must now be aligned, and hence there's no longer a
need to check that the end of the access falls into the PBA region as
both the access and the region addresses must be aligned.

Fixes: b177892d2d ('vpci/msix: handle accesses adjacent to the MSI-X table')
Reported-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/drivers/vpci/msix.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
index 99dd249c15..25bde77586 100644
--- a/xen/drivers/vpci/msix.c
+++ b/xen/drivers/vpci/msix.c
@@ -278,6 +278,11 @@ static int adjacent_read(const struct domain *d, const struct vpci_msix *msix,
     if ( !adjacent_handle(msix, addr + len - 1) )
         return X86EMUL_OKAY;
 
+    if ( VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) &&
+         !access_allowed(msix->pdev, addr, len) )
+        /* PBA accesses must be aligned and 4 or 8 bytes in size. */
+        return X86EMUL_OKAY;
+
     slot = get_slot(vpci, addr);
     if ( slot >= ARRAY_SIZE(msix->table) )
         return X86EMUL_OKAY;
@@ -419,9 +424,8 @@ static int adjacent_write(const struct domain *d, const struct vpci_msix *msix,
      * assumed to be equal or bigger (8 bytes) than the length of any access
      * handled here.
      */
-    if ( (VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) ||
-          VMSIX_ADDR_IN_RANGE(addr + len - 1, vpci, VPCI_MSIX_PBA)) &&
-         !is_hardware_domain(d) )
+    if ( VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) &&
+         (!access_allowed(msix->pdev, addr, len) || !is_hardware_domain(d)) )
         /* Ignore writes to PBA for DomUs, it's undefined behavior. */
         return X86EMUL_OKAY;
 
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:22:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:22:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516161.799838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phSwi-0001Gq-R5; Wed, 29 Mar 2023 10:22:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516161.799838; Wed, 29 Mar 2023 10: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 1phSwi-0001Gh-Nm; Wed, 29 Mar 2023 10:22:24 +0000
Received: by outflank-mailman (input) for mailman id 516161;
 Wed, 29 Mar 2023 10: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phSwi-0000AN-6m
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:22:24 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9724d3e3-ce1b-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 12:22:23 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8646.eurprd04.prod.outlook.com (2603:10a6:10:2dd::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 10:22:18 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 10:22: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: 9724d3e3-ce1b-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A5K+KTgbZKxr5BFROl5peoFRwGa2g277T6soGF8cjDZ8Ih+aVFhU2+Xw9zkpbMWCjyz4Et4Q7cpt4LUhzZhFO98zxeKHoUI+twS0MPHwWDU4WHAIa0zEUbb73lvB6Nhn6XZph7aDjfskLFBFTGj3BNC7+XaoM8aq+d7BfJtYIOxFqZqiemAqcXcDgvbrUFezUbNInmeqDGo+ozNEHuIauXl5L/Qec1eaxyvnObtf+Fzv4nF4hc6RggDpbgpXPdVxSONCxzp+ZlODvUF0xRNMu1iMqtwo1jsNwKpwySBDUJDMuJlNpBppqPxYBZRbmrynn/yZUVVEnlJ7NCCM7htFVw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WP/pn7PcqitYNzksceXHyWQ8WFxxaZJTAXiWHpt903Y=;
 b=V/xdUZSNQXhLa5UqPESrzT5SwHeZuFrMdCLtGVMj2RDCHAPvfvIEU6UMgeiDG9Td3wRXh/+ywCNJmrzspEE8bNY+CyXAn0ASq35uEwF2+WZbOEGAj9+B8TTN9GvjSSQex1ihp5i/l6O+XMgTsQ8L6VQUEUiTk9iDB1UnLsFqbRI4WZaPj/h3a14vpeHc1ntjC4WU9hPCk0RDhqXBG4cLvpG9oZa1CJaOl9yJ6WmVToa0K7Y15TFhp5Nk5E9AT4V2w0dkOuKSYsrAX1/bP/IVTQMxHUxuvtofOWtaYiKF55GY5rBXSeQuBsrD+RyUiaEltovrhZFCfn92lB2Qd2neBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WP/pn7PcqitYNzksceXHyWQ8WFxxaZJTAXiWHpt903Y=;
 b=xlYISuAgarliBTf5gW9z/Cm+SFyydo25P0pilG8OhtDJFpEZo7q5QvhIz3JiBrDdIFnwinPgwFYdBJl2RLetWEhTzZ18NHZnvV+h7OB8KKFinCWr9jxeYxDRuWYXETfB2DyDX6I4tDbmDtkhBOWq23qiIW0Yor9K/ikGeCjtbIXAXrNPYNkxKlUW5SMenMLnzdaxJ6E+SeXFqupF2z2EGUIWgYzrdg40ulECe0qOnRLakShyof+gpqvSvFqVHy83QeZInmD/aPjNqi4uJwtwpOwVl3L6jnT7eQvEPvRvmoHU+suEXtWYHOwqZNvpsoSGXmUpcMERV31BRvg+D533hw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9e63c6e5-11cb-9f0e-b33e-0247b17e3785@suse.com>
Date: Wed, 29 Mar 2023 12:22:16 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 1/2] build: don't export building_out_of_srctree
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>,
 Anthony Perard <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <2e3c8f9d-8007-638a-c88b-21ad2783d8d3@suse.com>
In-Reply-To: <2e3c8f9d-8007-638a-c88b-21ad2783d8d3@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0123.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8646:EE_
X-MS-Office365-Filtering-Correlation-Id: d8909c3f-54e9-4178-e14e-08db303f7988
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	N8DOJfQ7Sl6jT6pKJSKrvqzbgg9OP6wbghkH7olWoMbfLjRcUElTfX07We54Y6KOwOaxS9djNLZBQqSV4RTXLWWIkh/xecl+INLjbMRSCGvKwv3VFl7kFABcKIuyv8iifLlSoPUpDLIDq0ZHZJT2taOU0GKIqEtJ11PfnVHPQjA/Q+EFcQOjSpu/0bwzeWBSN6rFSfFCKNKYkynLBNoCqe8mAKNh76HX+0cjSFoXbFKdLi6L5grxEcIEegZEWsZEjA+zYPHa/++Jzc/P5pTb+RHNwJsBKaXtUEeMcGUDzgaShZcbidxTdmdHvN3QyPMgOh694Pn8jhEBVu1YBPQ1lKn1WpFkIkEYIRZ1UPbNssrwvFVvV5sdwecX1DtTxAmNPvTY9DonUGlizBNlqfQ+wZmAer2U6OgoV9TzuaQ+jpgg1XwrlKt9X48Gl37+fswCU79mkO9QAKAhNCwe9JgxewOTcREwZqOEIW60QKWL01N15V+sJy+NbqzamjlJmVp9oHBVVVBd+14XCGoeFLnkZBTJG4lZD1AAWKJmTWco0bUKAKabVxbiv5K/DYyKovgXgtKfV6WmtrcJ9vBp6uonLbNkv10OoCeZgYVTvRM29E2NTXl28RnRj+ahrK1tCgqMoSJ/QJ1trl5RcSpJPkblOQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(39860400002)(346002)(136003)(396003)(451199021)(6512007)(26005)(38100700002)(6486002)(2616005)(5660300002)(186003)(2906002)(8936002)(36756003)(54906003)(478600001)(6506007)(316002)(6916009)(4326008)(41300700001)(86362001)(31696002)(8676002)(66556008)(66476007)(66946007)(83380400001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R0dBTUtRM1lFeGJpaXF6T3JmQUJrenpMYlVKcWRRV3RVZzk4ZVhkUnlTN0hJ?=
 =?utf-8?B?NWJRWTJoeEU0YUUxeFpuYTg2Y0hGSWkrNUg2RjdTNU8zQUJ0RVNPZTF4dHF4?=
 =?utf-8?B?YkUwQWtCTjNSdy9nWDNvS2FTY1pkYVJvWmxQNUtiZzRKMVZ4eXlsWk12NDF3?=
 =?utf-8?B?YWNWM1FDalQ1RlZYTmFocFNTYmVCaE4vQ0IvY0JwUHJnd0RBTG1HMFc2d1BT?=
 =?utf-8?B?YjFXWFRkR2VqVzRHM0Z3bktpb3JZMlF0azJPcXYybzBqa0RnZVFnWG5qWU45?=
 =?utf-8?B?Zmp3YUQvQ2FITFlYOThXS0lKOCtLWTRZMTZEdTJEdG1FelJsMTJGcVc2Mi9p?=
 =?utf-8?B?ZzlWYmUyOW54Zm1CZUtyNlEzVWlWSCtLYTRaeGFpQWtWbnpNTWw0c0FXZW1L?=
 =?utf-8?B?bWo5cno5SzFTckhMN0RaYzE3d1JZdFgyTGFNUHNKMkhiTzJYZW1KMmZlZ1I1?=
 =?utf-8?B?V2JvdXBOZkUrenZ1UjYxOHc1ZjM1c1RpRWZZYlZhUjBwc2VId3BSNTI4MzRH?=
 =?utf-8?B?MTZPUDQ2SW45aGdwOTZPaWZibTgxL21Eaytoc3VaeGRDV1hMVjc5RG9XeTk1?=
 =?utf-8?B?bzBDRGxzaWtCaTRiNFQzS2xobkhmRTJMUEEwQzBkaFgxOHNrMENxVWp3ZHc3?=
 =?utf-8?B?UVlqZTFkVUlZK1NXRVZ0czI2QVorc0VJWXR0NVpnRGl6TzRmWWNYa2NNQU42?=
 =?utf-8?B?SlI1blNkVkt6bStwNW53Y1draTVVUTVmSFhDQjhoMEszRjJ6ano2M2FYVDIr?=
 =?utf-8?B?VEF4dW1ucGYwakJrMEh6dkNaNStHZjA4RHdmaHVORjBRUUZucWtNQlk5eGZO?=
 =?utf-8?B?NzgwYTdIL3FpZjhxcm84V2RPQllJekdaeXVRdzE1Qi9yN0VQVG50aURWZUM4?=
 =?utf-8?B?emkzUGhaZlYreVRFRWxFQnl5bEpIVjZQRjVmakFNR0VSVW4yMkYzZGdsZktD?=
 =?utf-8?B?ZkpndXFLOTdjK3FWOVVna1Ewd01HUGtLZUhtNkh0c2ExUHhrNEpEMGR6MmtC?=
 =?utf-8?B?ZE10N2ZkanhOVTNLK3JHVnNhSHJPUU5jTndJNjM2QlA0bU9rU3lhUlJ1VUpp?=
 =?utf-8?B?enJjUTdlUHhsN2lrbWtoNEVhZWNIbjJiSjFjWnhySWtOSmF1OGEwcWZuZ2xQ?=
 =?utf-8?B?R1BMaWYwL2pLVHk3SXVVelRoL1ZlK3p5UXUvQkl5SHVGeUIweWxCWWJndzdH?=
 =?utf-8?B?NTNpY05OK21xSm03N1dCZHZxMWJVZ05NdUwxWC9LSldYWEdaTzE0b3UyeTQ0?=
 =?utf-8?B?S3paMVdXb215Z1ZmN1BSaUkvTGdBMGk0eGxVdG5yNTZ5R3F3OVB1cnpjWmJp?=
 =?utf-8?B?eXNxRmJOUGVqREhmY2E1RHV4alB4c2dXYUFDNVgvRXZyR0xIY1dDaEF6WkpB?=
 =?utf-8?B?RE00OUZhWXh5TkFnQjkzbEtubVFwM015dFJycEtLYWxGeVpMaFNTZXl3Snox?=
 =?utf-8?B?NW9pWEhTbGxvZUsrcU9ucGJZNCs2NTFGOU5UbnpRT3BGNERSZElVWkZkdXRi?=
 =?utf-8?B?M21rc21tVFg3cS83a0tNTW1lR1F3Q2xxVnBRamZOQjV1Q0NTRnRMb3IvRkh0?=
 =?utf-8?B?UDIxZlJ3ZytEdVgxcDhtT2RFM2EvMG5VaHZHclRDYlYvRUU0ZE9LNkdVTDVR?=
 =?utf-8?B?TS8zTHBKcnpOcldmOU5xZHNKSGk3ZlJxMGRMVWUrT05Ha0U0UjhJL1NVQitY?=
 =?utf-8?B?S0RqeGlqU2RtNFpJR0Q5L2k0TTBFWm1WVExBQ1lxRjBaSjl3bnNLeWdyUWJy?=
 =?utf-8?B?UUtaL3ZkSEtXTUdvbWgrdnFNUk9nYUNJZnE0N0tlZUJUZTUxOVB5UDJxZitZ?=
 =?utf-8?B?eE5IZk1qWXdUN3dRaC9qN3lGelpMaG5Hekx3dGdMdVhZUlQyZncveUJmeStC?=
 =?utf-8?B?REQzaVZFYmh1ZS93dmNFa2R5emZkRVJLTitVTVRhRThMOTFzbFpPN0ZFbnRB?=
 =?utf-8?B?emRCNjhVUzByVTUwNUlJMUgzZUV5YTlWTjhGa3VFdXFyU2NoczlpZDZ6VitG?=
 =?utf-8?B?NHlIZ2RsSXJCa1Q3ZzZnUWM4LzJXSFVyWFlUY0R2OXlnZE1nQ1BVR25vbWZj?=
 =?utf-8?B?akgzVnRvcjVkeG5DKzJCR1loMHo5cDRpWU5icnVpQkYyZmpUd1kvTW5hZVZl?=
 =?utf-8?Q?vn1xrVHDEWvA6ctOSN8I5l9Ea?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d8909c3f-54e9-4178-e14e-08db303f7988
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 10:22:18.4862
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vB+T58nMWgh0BdqqJ2wngRqlEXmYxgE0FBEzhDp5XblOJ6Z+07w505fcJsObKKHcpOPKdzs9Jy1nMZtm/50pzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8646

I don't view a variable of this name as suitable for exporting, the more
that it carries entirely redundant information. The reasons for its
introduction in Linux commit 051f278e9d81 ("kbuild: replace
KBUILD_SRCTREE with boolean building_out_of_srctree") also don't apply
to us. Ditch exporting of the variable, replacing uses suitably.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.
---
For further reasons (besides the similar redundancy aspect) exporting
VPATH looks also suspicious: Its name being all uppercase makes it a
"non application private" variable, i.e. it or its (pre-existing) value
may have a purpose/use elsewhere. And exporting it looks to be easily
avoidable: Instead of setting it in xen/Makefile, it looks like it could
be set in xen/scripts/Kbuild.include. Thoughts?

--- a/xen/Makefile
+++ b/xen/Makefile
@@ -208,7 +208,7 @@ endif
 objtree := .
 VPATH := $(srctree)
 
-export building_out_of_srctree srctree objtree VPATH
+export srctree objtree VPATH
 
 export XEN_ROOT := $(abs_srctree)/..
 
--- a/xen/arch/x86/boot/Makefile
+++ b/xen/arch/x86/boot/Makefile
@@ -14,7 +14,7 @@ $(obj)/head.o: $(head-bin-objs:.o=.bin)
 CFLAGS_x86_32 := $(subst -m64,-m32 -march=i686,$(XEN_TREEWIDE_CFLAGS))
 $(call cc-options-add,CFLAGS_x86_32,CC,$(EMBEDDED_EXTRA_CFLAGS))
 CFLAGS_x86_32 += -Werror -fno-builtin -g0 -msoft-float
-ifdef building_out_of_srctree
+ifneq ($(abs_objtree),$(abs_srctree))
 CFLAGS_x86_32 += -I$(objtree)/include
 endif
 CFLAGS_x86_32 += -I$(srctree)/include
--- a/xen/scripts/Makefile.host
+++ b/xen/scripts/Makefile.host
@@ -88,7 +88,7 @@ _hostcxx_flags = $(HOSTCXXFLAGS) $(HOST_
                  $(HOSTCXXFLAGS_$(target-stem).o)
 
 # $(objtree)/$(obj) for including generated headers from checkin source files
-ifdef building_out_of_srctree
+ifneq ($(abs_objtree),$(abs_srctree))
 _hostc_flags   += -I $(objtree)/$(obj)
 _hostcxx_flags += -I $(objtree)/$(obj)
 endif



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:23:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:23:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516164.799848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phSxz-0001wu-4a; Wed, 29 Mar 2023 10:23:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516164.799848; Wed, 29 Mar 2023 10: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 1phSxz-0001wn-1P; Wed, 29 Mar 2023 10:23:43 +0000
Received: by outflank-mailman (input) for mailman id 516164;
 Wed, 29 Mar 2023 10:23: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phSxx-0001wb-Rk
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:23:41 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20610.outbound.protection.outlook.com
 [2a01:111:f400:fe13::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c626d600-ce1b-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 12:23:40 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8646.eurprd04.prod.outlook.com (2603:10a6:10:2dd::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 10:23:39 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 10:23: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: c626d600-ce1b-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DBf4jZHXck5Lx+va/zVqp5fnSzUM4R84romrJBcFLjTMkGnzspnqoedircjRnq+UcydUVonaMf0sX7S6/wD3YD8kn4bX4EeNk9SGmw5n7UeKluszWtD2j2cD13sAp+V2L2p4/WZuyHZ8/YgdYqXnpxEb03gGAJbn7Kmv/cW6AbXzahEaujMb3LZH+WybJf36S2sAliMdc2WsDKcxl0p50YflhfwrMe5M27FiuhSwgIJbt5WJU0GHxs6oPba4zlJ70W8EBlkl6xu5XNWgpBX9uqJxNN6CQU75MlhANFsPV2BfkS4n1O7Hn4fSDSjRL2+THOG+AqL+jv7LkI7vJ1GQNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WUp7Plbc2kXtBLdSWWqlV8g55m/2J4f6Qht55ExnldM=;
 b=UzqGkiwfyl4+0Bm+tBtXKc7UBpim4UQK7TwRMxaDyUFN99YQNpxGCftM0KGBEBhfnIGzWnk4UEhzPErzo274PR8/IzwG/IirX7FXnzZnMwQ0/dGfDwLaeOBt9grmbsy1tQBkhYBsRfOr9jm6E2rlaAiCD/16vXV0zfBaNibdOm2812Lpp0tozkpR9y3trd0ghAyQE6U9jp3C/JzdU8vhv8T0oYVeGEJhBifkbFMGPXLbj6+U189f1ReQL5dgrOD+Q8ZeXINV391fjS7XEmvFcEedpuu0WTQt20q3pfJ3VA6aAzdtFso20QLLhHW3QkdfgrufQ0e++eylbdPrDMRX3g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WUp7Plbc2kXtBLdSWWqlV8g55m/2J4f6Qht55ExnldM=;
 b=TaO6mBGDlxgoC0lsSotpwiFUWTD/23LK7o+m3nyCx/Aw9BpVNiBjO52juGNUu2babQV9Oi/EQDImpAvwgvFRL9FWmUZaw6TpjraczePDCjQwrYS5ZeIduhfK52QL9dat8TWU5ccXNBEj4WEcSh8Hu33JMs0lhr+k/UkZj/9ESTVjNalyeSRtiUT/6I6KKN9KKMCzr2kS1P315Zyhe0dqYc2lPSfxKvap45BIKlbkRHpFVal9dPmpnSZydATmo0VXzGYCXV4/sKxYRD9Rmgb/jxKg8Jwr3zhcwZXrzAE2xwUJOMPUGdpZMhsSz3dzyhGhalJ6qO+GHA0IdtVzyETcXA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0d073a56-b3a0-a64d-6bf4-851c660c6155@suse.com>
Date: Wed, 29 Mar 2023 12:23:37 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 2/2] build: omit "source" symlink when building hypervisor
 in-tree
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>,
 Anthony Perard <anthony.perard@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <2e3c8f9d-8007-638a-c88b-21ad2783d8d3@suse.com>
In-Reply-To: <2e3c8f9d-8007-638a-c88b-21ad2783d8d3@suse.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8646:EE_
X-MS-Office365-Filtering-Correlation-Id: 3cce8e73-0bae-4c78-f5f7-08db303fa96d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xmVBh6cB2zNMvKaDb2gftZjasbAF7ti6INghhxHO/cHBz5Y/hAKNZmuKH6cTlD9Aikn4b3jUh4h+r5ZVw4eGLtfcQUUYYds9J1jyb1dd0085tydm+UScbh8z8K10znMOgTaQGoFjc78kcuVxI4WgrJTrIcLlXLWrGGfqNjaVx6Fdq19CTsu/12poSVPzs+G7h7pKcoRcNCxtoDdP0oOvCSC3cZRKapKmwEXvBrTCVw3eFlXhKzfRDBrNFpJCla9sOueY0Y6HaZ70L5TW6i1kQewi5LlyGfTLni9UMFBGEbaVAjsBZnLbfV/VMqQR6Rjx2HKe6RuoYTTwhTB9g4lKE8PNCF2Ukq9nB1lmBY4TbYIDgUmNdsoJ/TxkKFDak81vVR8n9D7Eky6VDevQt5jM4Axee4QYIe15iin3Vu8nD7yoquNE0Z5h/PclZHYVE95mErTGgtbnJQFQc84BMHL8CR61xMMK19CpaZLWjQUZ+ZXNptQKTYTCBpEDxK0CXRvVCaRpLv/dA6CxbYk2kr4ajmHIt4ROY+mXx11KI+4th6PnvEaDJ80T0tDjeNrQxzdVHXM2Tgb7ZPPven1J3UMLWA/taJLz24FV2CmZP8ffE6FIb0fG28zZWM/cSZFaGYhg86SzoE84RICvKNbZ/WpZrw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(39860400002)(346002)(136003)(396003)(451199021)(6512007)(26005)(38100700002)(6486002)(2616005)(5660300002)(186003)(2906002)(8936002)(36756003)(54906003)(478600001)(6506007)(316002)(6916009)(4326008)(41300700001)(86362001)(31696002)(8676002)(66556008)(66476007)(66946007)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bnFJTDlNQ1l4aWNGVXdtLy9IMU4ydG0wYktnWTUyMEF4U0JGNVBPK0d4QzRx?=
 =?utf-8?B?cENiQjh4cVJ3REpEeWJ5V2s1Y2lYbnJVeE1LOFNpeTNhRUU1bXA4Q1pNbTJV?=
 =?utf-8?B?S1paK3RPMHRkSXVQNDJ3aG95dUVySUdLRVZPV3Zsdis1UnUwMkNOamZiNjhp?=
 =?utf-8?B?c29HdVAwUkVMWmc3d20yWkU1bWNiaXhKMGFIMTJDVk5zNXN0SXF4ZXVPRkRB?=
 =?utf-8?B?c1lCVkNTemFudUVrUklQSUFQdXhWRzdXZDZrcFJYN0k4dGlDc1lDZGpFMXh6?=
 =?utf-8?B?cmVIRWpUOFQyVlJCbWtTVE02SXpzWlFZZHJ0bEdGb2NHeDdGaUZWcmFIeTZV?=
 =?utf-8?B?aWNRelZKYjBydnFUaEU2YkJYSkpPRFBUb2t2dnFacVI5V2J4RmgxaFpPOGMr?=
 =?utf-8?B?MmkrTWIyN2ZKMWh4UHl1KzdCZzZKMVFNaEhabEtMSDI2NWl4RnVpVDFqbWpC?=
 =?utf-8?B?a2JaNFNQR0kxOU9BMWg2S1NKeVdHY1EvTVFNRmVySjViS0hQdUtzTUhQYTl3?=
 =?utf-8?B?cXBsSVd3NlcrbGw5TWdQTWN1MEVSRW1xVEVnb2k1dFZzamx4Qmk4NVdkSjdq?=
 =?utf-8?B?bGNFZGpTMTFsN251Tlp1eEtsMktUTHplUGwxM1V6bWJVb2sxWnN6SENVWHZm?=
 =?utf-8?B?ZWdXcUVSZ2xmb2hPNkhBYVhtbFd2MkJvNzdlUlNZRTZReG90YnplcE5SQVlw?=
 =?utf-8?B?dXBya0l1eE1CTjR4ZEQzSStpTGZnaG5JeVZhc3FZMmhRSmUwVDk1R0d3Z1Iw?=
 =?utf-8?B?MVdGSmdTTzNxa0Y0b0d4ZW45QzMzOEZWRHN0UlhxeFlmdlhCdHVZakF6K2Ry?=
 =?utf-8?B?UVE4aURRWlU2MzhYYVZJOGpLL0Q4NkF2ZjZvd042MEVTdXBBVjhBNXg4WEFM?=
 =?utf-8?B?S2VjZTJHSURiaWgwWlRuKzRwQzZjZk5odGdRQ0M4REtxWTBCTDEyVWZPK2NE?=
 =?utf-8?B?alhLQzF1RVhrWXhrK3djK1pTUVVWc25yWURNNURDYTk5ZFg1Zlh4bUYwMjM4?=
 =?utf-8?B?MUo4ZlRFUDZRTlkzZUY1bmpGdnN3UGZJVy9yUVFQcUJTa2E5bTEwdkQxRk55?=
 =?utf-8?B?dWpCWlZYczJDWEhXQ3ovMzNxV1BsY28yWG5BelpjekJZQXcxd2ZodWdTRTYz?=
 =?utf-8?B?WkJrS0paR29IRXJGaC9Ua2MxTzVTanIxNFN6TUlnVkE1bHJsdWdXcTVIL2Z5?=
 =?utf-8?B?cnJNYk12OTRyOGZHb21IS1hxblRIejBUUmdMNVgrZnl0T2tuRFFzRWF0UHBF?=
 =?utf-8?B?a2dEMG1qbVhJS001ZjNuSUtaQ3dNcWZ0a3NEQUx5UlZRSmFwTFNaNDFnejRp?=
 =?utf-8?B?RzVlZURsSFRNZ0RWbEhtVjZTSlhoYlM1SjZLeFVPUDErb3d1dGNsUUxjMHhY?=
 =?utf-8?B?dTFGQ29FKzdLVEhQWUQ3dXBvYXFBSk9RaGZoRkdOMitLSzVqRGdzK09jUjRG?=
 =?utf-8?B?ZHV3aU5RODNMOHA3RDVieXhVNDdvS0hvSVlyMWZLeHEvc2l4MWI1d0RibnBk?=
 =?utf-8?B?cm1wdGYyTzV5S3psU1V4R2dQRW45S20yYndiVFYrZ1ZoUE8ya0kyL0RxZjJu?=
 =?utf-8?B?YUFPUWNMV3ZtVHRJOXF4ZlF0bjhlS1RNK3JsbHBleHl6Um9EZm81RzV0ZC9i?=
 =?utf-8?B?Ym5iQUtBM3pXTXBQUXlHelBqaWxrdDBsdWYxZk9yVFRwSnVkNTBUandzZHUz?=
 =?utf-8?B?OWtGK2I3eUlBeFplNHBob001QlRYUTVTWVR0VHZiMnQ4ZzEwUHkyYkprZkxs?=
 =?utf-8?B?RFdkTFIzZWtWaGZJbm5KVUxEdXdFNUluSk01M0hBeU5HWVFVWm1JaHEzQ0pP?=
 =?utf-8?B?VVJ2VVdpWklmSUlvSHdqSmVrcXJPUmxqNWtZMW5IakhjNG0xRElEdTRzVEpw?=
 =?utf-8?B?MHNZKzFLNU1zOWNKbWNLYXlHVU9MWkErcGJMclIveXZGaFVOaW85WDFFbGJi?=
 =?utf-8?B?MUpneUdFZEJEVS9WUUdJNU9aU2szK1BsN09IR3lNVGVkVUhpemZ5OUhEWFQx?=
 =?utf-8?B?RWtjeHVaMmtXZDVkeDBabUpnUDcwaUQwdEk0TVE5NFNzWmtrdm5PeldjemlP?=
 =?utf-8?B?OHd4VFFRdmoySUFEOSt6M0RVS0c0RnNCcmUzNnhHOG1sQms1clF4M3o0NCs1?=
 =?utf-8?Q?i8W+jAZrCGgyEyp6bI86qqrL9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3cce8e73-0bae-4c78-f5f7-08db303fa96d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 10:23:38.8342
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ldxmPttJrOzhhfw9/skXPOgVWzFdsql3kM9On0lb3zWpP1ZJF42K7Ep4UAnHWUtvdX0SGAexAeu8ndqhwLc5gA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8646

This symlink is getting in the way of using e.g. "find" on the xen/
subtree, and it isn't really needed when not building out-of-tree:
The one use that there was can easily be avoided.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/.gitignore
+++ b/.gitignore
@@ -295,7 +295,6 @@ xen/include/xen/acm_policy.h
 xen/include/xen/compile.h
 xen/include/xen/hypercall-defs.h
 xen/include/xen/lib/x86/cpuid-autogen.h
-xen/source
 xen/test/livepatch/config.h
 xen/test/livepatch/expect_config.h
 xen/test/livepatch/*.livepatch
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -310,7 +310,6 @@ cmd_makefile = { \
     } > Makefile
 
 outputmakefile:
-	$(Q)ln -fsn $(srctree) source
 ifdef building_out_of_srctree
 	$(Q)if [ -f $(srctree)/.config -o \
 		 -d $(srctree)/include/config -o \
@@ -321,6 +320,7 @@ ifdef building_out_of_srctree
 		echo >&2 "***"; \
 		false; \
 	fi
+	$(Q)ln -fsn $(srctree) source
 	$(call cmd,makefile)
 	$(Q)test -e .gitignore || \
 	{ echo "# this is build directory, ignore it"; echo "*"; } > .gitignore
--- a/xen/common/efi/efi-common.mk
+++ b/xen/common/efi/efi-common.mk
@@ -5,11 +5,16 @@ CFLAGS-y += -fshort-wchar
 CFLAGS-y += -iquote $(srctree)/common/efi
 CFLAGS-y += -iquote $(srcdir)
 
+source :=
+ifneq ($(abs_objtree),$(abs_srctree))
+source := source/
+endif
+
 # Part of the command line transforms $(obj)
 # e.g.: It transforms "dir/foo/bar" into successively
 #       "dir foo bar", ".. .. ..", "../../.."
 $(obj)/%.c: $(srctree)/common/efi/%.c FORCE
-	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/source/common/efi/$(<F) $@
+	$(Q)ln -nfs $(subst $(space),/,$(patsubst %,..,$(subst /, ,$(obj))))/$(source)common/efi/$(<F) $@
 
 clean-files += $(patsubst %.o, %.c, $(EFIOBJ-y:.init.o=.o) $(EFIOBJ-))
 clean-files += common-stub.c



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:28:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:28:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516167.799858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phT2s-0002bD-KO; Wed, 29 Mar 2023 10:28:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516167.799858; Wed, 29 Mar 2023 10: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 1phT2s-0002b6-H4; Wed, 29 Mar 2023 10:28:46 +0000
Received: by outflank-mailman (input) for mailman id 516167;
 Wed, 29 Mar 2023 10:28: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phT2r-0002b0-Gl
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:28:45 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0627.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a3cf769-ce1c-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 12:28:43 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8093.eurprd04.prod.outlook.com (2603:10a6:102:1c9::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 10:28:41 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 10: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>
X-Inumbo-ID: 7a3cf769-ce1c-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N1H6qMJyraKyUvv5yUMguUYiomjcsc+QPF3jyXEQdSouFBMC3Z0YipItSZjc5Wdk0GzZbPKRqA8WCy+H7pwXWDHmSZzKgIcQHYnChDD68WiHIrvI4HC57tHypkLS5oD6QwSwGgRO0CTgW9Orh5x+PDCKeU9P59v6NIOHhFEx3fqy0z7VYnFzL+0Cm4+g4CFIruZeEOu52YTBbb9u9e74uJNh8CLgP5tNp7scpYJc8rcnSvermFmkNyUgo5vgaFxFviH2YkcGBLngGapkhxemZsv8SQAlqJj1bEqB/R+LzdoS85oNGLFaJsDtlYVBH4va1drn1Y6B2UzAKzz7o+EtQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t6xRqmJhY1xhZvRzBSlkPEWOc2x0ZWxkS7h9y+lJSOg=;
 b=b0q6Cbca8HuoI2lbnX9IwLxCKGysMSVs5n6FsD/0/yYKYmBvYCFtO54mxp9ML70goZhyDdD0Mewh+lqC6UFDkB6nLYdJYi2rjCnf7pd8oedruPPTI8xm9/CEJlH0MRI9ULz0XRpTJevbLF87eXPIp4ugBJeEEkXd+hdY2p8jTtKmPuv2nx8ypfg4BIMBikehLX1hr0LTWCxrgD3K3YTpR9TvXqCLWCSKeW7WhP9q4pnFQJnMz/jmbr7NH3mMWadlfECHLln05TYLvyHoCwGZ81AP6kdGx65uLYLBQLOdwpsgnhgKMWmV9eMfRQMer4vpTTfwzvajNcZICkUtWBQfAQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t6xRqmJhY1xhZvRzBSlkPEWOc2x0ZWxkS7h9y+lJSOg=;
 b=GKfdMRU7ol6xCZy4OtvNTrEkgL70as1RPrXew7Ph2xSuIldISfoVcuL3Z980U6T1e2tujM6RbUTf1QJ/GLc91q0qY5s+uZfpEcuVI6b/xgzXMbvFDScsKyQ6B2MrN/044i7WMD6SXPmKpvl2JwjQFUQzO2hOtlKuiIuYpPPT8JWRu9+UL1TxpGZ+gD6cRVQhhRrCcErNUZZZUlmJrRVatPyxQ0wNmet20dtlCtcrBB9x+cC0CGb6nhZXySHDCoOc4IuQJiiXxnIgt/lUat0n9NwpFSrqP54+RAeR4Qry1x5ftDiXQMFG2VYrn8TVJgpPYGgGw11rG5PnoEKQ/+RdXw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fbb16a2f-4a25-466e-7f64-7bad99936562@suse.com>
Date: Wed, 29 Mar 2023 12:28:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 2/2] drivers/char: Use sub-page ro API to make just xhci
 dbc cap RO
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
 <befefa60ea42a41543bc6dad70a559816cda8b7c.1679911575.git-series.marmarek@invisiblethingslab.com>
 <5cc58e5b-ba23-e7ae-c575-fe8cd713f515@suse.com> <ZCQRMAoch+oq+2/e@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCQRMAoch+oq+2/e@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0183.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8093:EE_
X-MS-Office365-Filtering-Correlation-Id: 68f87ec6-3fef-4dce-332b-08db30405d89
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Cvhr57li3fbAqNgk5+iHvnT8ZVDipfWouBM4VCrMaTZg6pxHpFZqEryMKImQ9RlAGfhquDnE7DgM683KslgdlEEZbGqRrezhESL9uM+1vDCb1V0HBcUtQcaQuZCC2zT0cyDrCTc6OOWAtfnqwdSBP97aWZJTD95gUukbagmlfmZYuik7/qnIvtjORznca2c3a3KMOH/HKoVvBVsZefGrjr+M8SmFATd0lP71CPHcWsdeTV26XOyVyUfp6h5nrez1GEhLNw4h1tMLPT72s4a9tL/mchsKCFH7w261OKskdc8XvNRiAUbWYcRKlrONt82jOilHIc5iBF0WP+fH306WaTpytgo5RwNi94ZY/tW7Yq75oiXdg9+5h+XjNoPcyky0Mphf1htNp5pI2PTMTuMIuoN0pIMKRUNC0MFtBdAEgX6MO7fbRchxZXkjhy8bleQkp8QSi4aSNdO/hx2cJvBJBxbFPH4LpWXaUeSLBAoSTLbyVRFn3+KW2AZ6+vxZFNorabIeaUR4XPomijpM6hHBr3TJhmvIMahvJcDfpyxvuPphTvLHUKzPR5hOWCblc3AEgPL2yYvkAGPuxhd5X1RPasxAKsGMc4FE/3hJAuiaQAFP+grsBzDZDGLB+iTb+eUdb5/Fcyr+diE9nBMcCReXKA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(376002)(346002)(396003)(366004)(451199021)(6506007)(6666004)(53546011)(26005)(6486002)(38100700002)(2616005)(186003)(4744005)(5660300002)(8936002)(2906002)(6512007)(36756003)(54906003)(316002)(478600001)(41300700001)(6916009)(4326008)(31696002)(86362001)(8676002)(66946007)(66476007)(66556008)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UUpqNXdLdHJUTDhiRi9lNk1WYXEzS1FkZWNDcDdsZVJnTFlwcE5xTEc0a2RT?=
 =?utf-8?B?YWd5ZjNaSzAyK0F5aG9FVjZ5YnVTNTNDYm5FaGsvMVZib0dyTk1SNk1Vd1Zl?=
 =?utf-8?B?YnRnTENjQVFSSkhQa3hZcVQ2QUNOb2pieUJrSC9zd0tIbGhpejFJNUZWM2hl?=
 =?utf-8?B?d3dhVndlNU1BcG10UTVkUXJkUVAxK2dnRHFaY1pXT1hGc09xUE1zS29lMmNU?=
 =?utf-8?B?Q1BMSU1rMmlpSU5KeEVYL3BpdXNZeElvTFlyakZoQjNwcjRnUHV1aHNvRkpJ?=
 =?utf-8?B?aEg3T1UxSkpXM2NubGRML2lwRzBrdDg2S3FXYWFYYjRsWGJuazhTaEt3TlNK?=
 =?utf-8?B?REwvRHFBVEZlK0hZTjcxZDFrMjh6bmdGVENnOFRETnIzbzllNzRDTTl5YmNm?=
 =?utf-8?B?aDVoR1Z5ZG9iZ3RubEUyWG4xK2x6UmFWdUVraDlpR2s0d1NLQWIwT1lsaHNQ?=
 =?utf-8?B?b0U4aW5iVUlVZnVwYzBuSXhFL0tYSHUzTWdLRVBxU1A1eXBJNU9YYWZWMm9r?=
 =?utf-8?B?RW9ObDljRmNYRzVKVk5ONTE5dFNRUnhPUm8xaGUzMnJjM2lNbE1GSnJjeDlz?=
 =?utf-8?B?bytKdEVzaWd6THFCRFJoQlJBZkJKOG82aDRKT3FIVEV6SmNoODRCQXBONUNm?=
 =?utf-8?B?RFZtblMxVTk2cGpKbUNUM0RqdHZxajFTSVB2YnJjSTh1RWtRMEpyN0RFKzVj?=
 =?utf-8?B?WnQvazVlUW13cWxGbE9ENXBDcFVkUjZjb0JRVHIzY3FsdXE4U1ZDUzlldTFv?=
 =?utf-8?B?NDdZK2JLcUs1am9aQjZWYUI0MEFTdXh0KzI0UlpJS1FLR2RnTGxDYmlnUDVk?=
 =?utf-8?B?QWZDR0pEOFg5b2hUWmt6TzZmWUwrd1F6SE0wZXdCQmpiSlR6dU1PckhKaW9r?=
 =?utf-8?B?bXljbHh4YmJQQTJKUktNdG9RNVVMa1pZVnhMZVQ5VVpmSFI2N2ZHZkxzWVVZ?=
 =?utf-8?B?eHUvaDlBelBJdzhzZytHZDkyQkViWTBGVVVWa09hSTBnNlZ3a1ZFYjhEeUNl?=
 =?utf-8?B?MW53amxjVlJ3MmZGeWNRd2krTGd5bzZWcVQyL0FBRkpJcnZEVXE0OWcvQXVU?=
 =?utf-8?B?Nmw0cXdxd3doOU1ORzRMUFROdkZwK1JldE5oTHVuVm5LL3RPWGpVeCt1Sk44?=
 =?utf-8?B?TklFVUp6S1ZKVVVkTHV4d2w5UmwvbTAvem9vQjlsdktQMGRXSTdXd3NUMHgw?=
 =?utf-8?B?UDZOVld3Q2hnUVV5Rk1ReUNCdHRvenFrVm5yQTdsZzRNMlY2bEFJZVlSeXBj?=
 =?utf-8?B?UGp5T0RVL21DMVJzQ0lHVVpXMFk3eE1ienlMWEdoUkpiajY0ZTZXa21VeWZY?=
 =?utf-8?B?bkYyUWxMVUZuZGRqa0ZkSU8xRUZqbzQ1UmZGOFFaMVNwSDhCNWVWUTE5K1Rx?=
 =?utf-8?B?L2M2NDZyMldCTW9qcEpWNzkxVmZIWi93UFV2dUJXWWV4YW81SldMTU1SR2Zy?=
 =?utf-8?B?TFNBTUMxTkpwTi83Mk1zT3NsWC9PUFRyRXBGekFrWGlVQUhqelNsaDI2M2x2?=
 =?utf-8?B?eFI1cXp2Vm83cU1mL2YzeENRajFzZGx2SXBFOHpBKysrMlVDYy9FMmJ5Wnc4?=
 =?utf-8?B?dy90U0xpOUJER2Jhcmhpb1FEUGUyRU1lM2JycUc3Q2pHdDlESXIxTHpaOGcw?=
 =?utf-8?B?OWNsZllocmNtMG9vUlR6OHQvY2dxYi85NVkwbkI4WUh0YTdGRHliT2hsemZB?=
 =?utf-8?B?aTRxak5nWng0TWVRQm9oeHZGNFE5RTduL1pJNThHWGRyUEVJUFkyYTRXWVVm?=
 =?utf-8?B?a09wS2Z4enBKc0pEbnExK05DRlN3aGhEckFwbUdESCtJbXZKQ1VkTWo2Wlhz?=
 =?utf-8?B?bVhpeU5KVGtCUjlrbkd5WkVKMUFDbkF2cGFaNExzKzhjNlFGb2NTOHRyZit3?=
 =?utf-8?B?NDE4cEhubkk3N3dkVFFmZ3dXVjFNK0IvYllsM0Z1UzFvRUI3M0t6Zk9MZWpi?=
 =?utf-8?B?VDRtNzBwRkt5amlaZHAwSVFxRjE2STM2dGZlaG1kUWFYZUVoQmtmV1pOTS9D?=
 =?utf-8?B?Z21POEF6UWZ2Zlh2NkVRMmN5RzVjS3BwRnVFZE5PeDlOUDFsa3FCMkswd3Ix?=
 =?utf-8?B?YWswcTFhQVhaRFNDSWlaQ3I2MXFzZXNZMmRCb0tFU2RvQXhSMkJxd0h6MDZC?=
 =?utf-8?Q?Wr/4XoUeHmHf1XodumNLglGhQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 68f87ec6-3fef-4dce-332b-08db30405d89
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 10:28:41.0343
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: X7Mogd0kaz12+ioLg8/oPJtedxx4qbwHAxAUruZ2Bw4LvSU0M4qBlpfkdD4ymYEn/WZqKw4uBJyBhQqwGz0tGA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8093

On 29.03.2023 12:21, Marek Marczykowski-Górecki wrote:
> Making subpage_mmio_ro_add() to call mmio_ro_ranges() on its own,
> together with Roger's suggestion of using ioremap() internally instead
> of using fixmap would make it a bit nicer (if mapping the same page with
> ioremap() in addition to fixmap isn't a problem).

I don't see any problem there, as long as we don't gain many of these
(at which point wasting address space may become an issue).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:32:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:32:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516172.799868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phT6T-00047h-82; Wed, 29 Mar 2023 10:32:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516172.799868; Wed, 29 Mar 2023 10:32:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phT6T-00047a-5A; Wed, 29 Mar 2023 10:32:29 +0000
Received: by outflank-mailman (input) for mailman id 516172;
 Wed, 29 Mar 2023 10:32: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phT6R-00047U-Av
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:32:27 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20620.outbound.protection.outlook.com
 [2a01:111:f400:7d00::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff7d06ff-ce1c-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 12:32:26 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB10068.eurprd04.prod.outlook.com (2603:10a6:10:4c9::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Wed, 29 Mar
 2023 10:32:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 10:32: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: ff7d06ff-ce1c-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fDmvkIPN+znX7101xEcmEx3LRZAFxBYtK8j1n5beGKVxHJaW60TqcdNjOHQx5WI1E37PKYVVqSFEDwq5d8cCtukxL2deyUqbu0jmAxtzGK2uHEyG1F7s1uRwbfO3SjhICgGefnuw070lQkfKO4agXKIE1qODz8u0amdo9EGVmGNCo+RmfoXJL2KP719z6saa2zRUlyieTlSwsFuQKlV+FU/ANZoM0NUOshlLjt0C4BBv1mcQi3cHht6krq/+vN5VdpxY4oBvfaQVWpPh2H0eHzPnVD0qhfGz7ec+eTlyg94xjlPmvU35vjufL+MvTkGNdllwxkVSLejIQfs+rRJCQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o2JcidsXNALf/2xzil5z70T3tCERle1BA3F2yliYlJg=;
 b=I/9mfhfHnhtB+ASZIWLflz3XDD9wR0rZrTK1LELMWTYxzWTHHFQZtHK6wo7HnwJCocw9D5/mDOCR+kEJa6uJvE8LC+jqh94wymwlEXEN4Y5FAzjD5+Op3cDvxICFlQmwpX7PennCDT2qFc4ql5zP/spcTSdbsLaLK0AoOxNpP4eJDzju2MsDnkGUXIhdkb/sjz8s6rfNGJKI6iZI6zltRzC8JY0QxF1tNzI29KEmuvEfr8gz+h6GOgpFgKu04dtussH7540PLgRrQyt1pvHtACOTLtOmJsle/fFPjGf4Xc1DEKNLVlkyPgQqM/zw+J420SptZqB+SX23YQkfUm4AaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o2JcidsXNALf/2xzil5z70T3tCERle1BA3F2yliYlJg=;
 b=Ga1sHxGdR0dwEL7+8gfbRBlcsdI/RvvipUx7VDJUgf/n5pPtWnM6Sb8IljwRyhnTjhCANQ/WsfVdtUfjRLYn5ZK3kFUEcaKQySFYD6WjgSbQuvRL0vdoch+/8DuMClZ3xrIiAWBn8Axl+N+fSgWg209qoBUjqzJPZApEf2bZzGT0m+hHiErL13OLwK8YIe9WnObVpnjDvssgAHOXaz0u3vvh2WPT0fi6+0CGzQ7t7zCk56Mi3d9OEjZWVjTh/z+f2xQHEJSW1wQF2KeMncrczPYMa7mWXmHUL6KARCmDK5ju9kV3yuATn0Mufeafp3XNX22b1lq07lc/zETARyC7ow==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6736a614-258b-0d5e-9c78-e25fa6b8a932@suse.com>
Date: Wed, 29 Mar 2023 12:32:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v4 02/12] xen/arm: add SVE vector length field to the
 domain
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-3-luca.fancellu@arm.com>
 <71f3e78a-aa70-a12f-8380-ab8806cefd39@suse.com>
 <D3910D5E-BA1E-40AB-B960-CF8806F0D9E6@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <D3910D5E-BA1E-40AB-B960-CF8806F0D9E6@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0054.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB10068:EE_
X-MS-Office365-Filtering-Correlation-Id: 244d33db-8967-4c08-39d0-08db3040e2c3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mAptcGZj20x2D9bo+IY5a08XOtbxXR4MeWArT2KPhtpFAQx9t3w0ULVUISYjetjN+v62tXLqiH0/6i/68WXGJZdDnqH3t3S9PdqCC61/U8o+0Uinigjw8piyIh/dWnmQMfKLldHnoQQgYmC/+GSfqT5GK1cbU6fp5Xp/fcNnflP0btahXPI+XEWyoQlJZp2fQkJf6oD6H4x5F2Fo7YP0o255q+G911LCCGAzFQ/ih092ruYyaZaSDWvjsdnyx8pfQZRY26oL1g867Xeq+WFPzOunIeO/wrLqUWWpNqFmUSXJfEM8vlEEVjc0tuNyYd06dh9DszSAgv1G2+t0O9KgMIW8QCUGYwOOy9WL/fB8cHiIx1vXJczvX4IFUPx8Wi7cHU7OFAu9EDMML4v2Jm3Ly+IWYZa0zv4ZmB2OQGvs/XrkPdCS8xI7dHZd2DZ5KMTJRb6CD5Tz7mW88czHVO167SJcgZxwu3Kn5cixGMvEqqajvTbgI5ZgVjuM283VzzsChpOonqJPOmWoFFGDWTdu45/BB+7NCde6qnUMAGXbzxkAH+kP1poiHGb/s+f08ZuuIDqgvbGVoG3So9I/Dexr8a9RINE0Akc/NATW6GB0Y4LWc7eOM5e21PFTNPqn/SkLr+9a/XJF6X7AkhTou806sw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(39860400002)(346002)(376002)(366004)(451199021)(53546011)(6512007)(6506007)(6486002)(26005)(6916009)(31686004)(54906003)(316002)(478600001)(186003)(83380400001)(66946007)(8676002)(2616005)(66556008)(41300700001)(8936002)(5660300002)(4326008)(7416002)(2906002)(38100700002)(66476007)(86362001)(31696002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SEwxMzZkS3JFTm5XMU96K1pWV1hnL0lUNi9kSEdsNUpXcGUwSS9CekNpdlBt?=
 =?utf-8?B?VGdpTC9obTlTT3FLSTVBYldVVHd3T25oa2lHTFRtaDE4T1pseE5HdkJWRDFv?=
 =?utf-8?B?bzNXOUlmLzEwc2RZS3RqYU5TTnpFK0hQdzEwcFNjRlF5c1RSdW9vYWY4Vmhq?=
 =?utf-8?B?M0Qyc3JuZFMxZitPQUZVaXNmZlVXeEFzcHoxdHNGTFhjd2hudmZ4S1F1eW5U?=
 =?utf-8?B?ME5vc25Cb1JrQjdJN2xOOHdVeml3ekxYam5WQmQyS2dTTEhnTmRLVW1nZ0tF?=
 =?utf-8?B?OEp2Zk54LzhuRlJuSVUyOFdPZ0F6azNuZmNWcExlTEtIbytxZUc3SkRoeng2?=
 =?utf-8?B?anBrczNrNnR1cmxJckJqMFBVTVZjalFuc01QUW9XZTBFOXRxdTZZeHRTdkVj?=
 =?utf-8?B?OEdPNmkrWE54L0Y5TWg1THNHbXJFbHR2bWxSNngxem5XRytqM1NFbTJsWUQ0?=
 =?utf-8?B?bWhQNG9vOC8zamhnb2I1MEJ5aUJDSFhqYTlVLzhaNkx4MUtsT2ExWSs3Mjhl?=
 =?utf-8?B?Tmh6N254MmVVbEtwS0FMRHVYeXI0VitJN2cwM2wxR0RhNHgyOUs1TVJkUzB0?=
 =?utf-8?B?dEF3TTI4TDE4TWJuRVBrdnBxRlBhdUhwQUdGcEdEMWFSekpIUEhGUUhpeG1V?=
 =?utf-8?B?aC9Mb3oyOXQ2UURETVdyMkF0c2pYZDExMkxQdmpCVjh2SEtEN1JhTmY5eFdX?=
 =?utf-8?B?RmgweWMyb2RhUDJlVUhEOG0zTlVLVkhCMlQyZVArQlE4RGhpaDE0ZG5kdysr?=
 =?utf-8?B?TC94MjZiNFRYTGY0aGJ2MmxCMjhPZlpKZUx0Y0crUkZ3YUtScTJ1bVdkSlJn?=
 =?utf-8?B?R0tCZlYzbk56ZkJXdUJmRUlnbnprV3pVZWlqOXN3K3R6SHlMM2dObldTOUpX?=
 =?utf-8?B?R1lWMkFJNXVLZHhmZ0JzeG1vTFd4Y1JvNDFac0xTV0YxaWJXRGJHbUJSL0tr?=
 =?utf-8?B?SFZsdC9ENUVPR3liYU1LcUp1N1dvcGVqWC9ETGhrWksyRW1pdHZxd3lsS2JE?=
 =?utf-8?B?WUpiQkl0c0EyREw1bzltSng1LzZzQ2o2aVhVU1ByNU05NXRqL294UnJYSDQz?=
 =?utf-8?B?Z0VBWi8wZWMrWTRaU0JyVXdIQkdiRy8xMmxzRTcyQ3lvcUNramw4Z1BSeEl2?=
 =?utf-8?B?NUFYYnRBZTAvU0JFUDdNQUNsNWhJTU1sVWttSGFGUkhZUXJLYUlOZFNOaDVI?=
 =?utf-8?B?MXkvaFVSTy8zRzAyRTI4RlltQnlpQ2grSGczQzFjZzN6bFl3S1NVR3FOS2FC?=
 =?utf-8?B?VStiaDJ2VmJTT3VXTkprUVpDZ1NwU2I1TTEzZG9hZnJzVU9oQjA5ZW1QWG4r?=
 =?utf-8?B?QW9qUW13NWZZT253cHpCZU5OYkppaVIyVVRJK3FDTjZWYjJ1UkFZRFFzUzhw?=
 =?utf-8?B?RUg2c21WUmdJUTRuZmhjUzVsU3RkbCtXZS9FR2pHR1lFZzRkNDA2OERocUdz?=
 =?utf-8?B?RzFmY1d2TVJvV3NVeFJjSDBobjZPOHozcW5JVi92U0JsTk12ZmtQTnFUL0Qy?=
 =?utf-8?B?aS90c1BQREJFMFZ1WnNmUFFXRWJsQ2pzYzY3SmRHT2RDK1hiUkorV3Q3bmJJ?=
 =?utf-8?B?aHI2bXdzVURXd2tScUozc2pHaDdaS0p0WlJZVmxlbEZJanFDVnM5ekRrWjY2?=
 =?utf-8?B?Ty9PaW5yR3NML3JtdEpnUUt0bzFyWGpDRHBaUk5ReWZqWjQyY05nSUJNKytT?=
 =?utf-8?B?RHF5VjdmWlBCNUZnNHRNdUNnOGVnaWlOZ3ZhaWNPVlZIWkkzZDI0TzF2Q2NO?=
 =?utf-8?B?Zk50M2h0aFM5RzAxRWo3RlZTS3lWajJ5dCtCbFladk1SMHB6ZnQwVm1MZlhu?=
 =?utf-8?B?RlJnbUoxTGtQRDFjZE5rR0txUkVqRkVIelBRSld1NWRqdnU5dEh4bGtnTjdv?=
 =?utf-8?B?TUtva2JwVG5qaFdJRm02V0Z5UG8rREF4QjR3dWhzYnZtWnA0aFFCODUrSnA2?=
 =?utf-8?B?MWs0aThjWU1YdHVEMDRkbGY0L1lpcEtyL0JLRXY2ZS91TWFNQ0pjMmNiNG4z?=
 =?utf-8?B?SUE5clFLNzdoQVVoK2JLZFIrL2JKTnY3YVNyYkJ5bFhSdWZVYzVoSXRhcFZp?=
 =?utf-8?B?TTJTejNlNjRacThpNlNCN3FRS1d3M25SYXpzWk9hQWRMcGw0WldzSUNIaE44?=
 =?utf-8?Q?IlI78XXbufx7iJieNOqT+ovWv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 244d33db-8967-4c08-39d0-08db3040e2c3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 10:32:24.4987
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: B16NnsVy+QYt5L+Gc4b6FY6SVjal76CQlH26Xxvmkr8qAhrYsaTeruOsnH5fyg6hxft0GFejuBhoKU3Vs6bn7Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB10068

On 29.03.2023 12:01, Luca Fancellu wrote:
>> On 28 Mar 2023, at 10:36, Jan Beulich <jbeulich@suse.com> wrote:
>> Yet another question is whether both range checks (against
>> SVE_VL_MAX_BITS and zcr_max_bits) are actually necessary / useful.
>> Iirc 2048 is a hard upper bound, so zcr_max_bits being higher than
>> that value should likely lead to not using SVE at all (if it doesn't
>> already; didn't check).
> 
> I think the check sve_vl_bits > zcr_max_bits is needed because from 
> sve_vl_bits = sve_decode_vl(config->arch.sve_vl); I can get values above the
> maximum supported bits (zcr_max_bits), later on I will use the struct arch_domain
> field sve_vl to compute the size of the registers to be saved/restore
> 
> Is there something I’ve missed from your comment?

Hmm, I realize my earlier response may have been ambiguous: I didn't
mean to question the presence of both checks individually. I merely
meant to question whether in addition to the zcr_max_bits check you
really also need the SVE_VL_MAX_BITS one.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:46:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:46:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516175.799878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phTJg-0005hk-El; Wed, 29 Mar 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 516175.799878; Wed, 29 Mar 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 1phTJg-0005hd-Bj; Wed, 29 Mar 2023 10:46:08 +0000
Received: by outflank-mailman (input) for mailman id 516175;
 Wed, 29 Mar 2023 10: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=wGTc=7V=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1phTJe-0005hX-Lw
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:46:06 +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 e5c285e2-ce1e-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 12:46:01 +0200 (CEST)
Received: from DB8PR03CA0021.eurprd03.prod.outlook.com (2603:10a6:10:be::34)
 by AS8PR08MB8252.eurprd08.prod.outlook.com (2603:10a6:20b:53c::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 10:45:57 +0000
Received: from DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:be:cafe::b7) by DB8PR03CA0021.outlook.office365.com
 (2603:10a6:10:be::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.20 via Frontend
 Transport; Wed, 29 Mar 2023 10:45:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT014.mail.protection.outlook.com (100.127.143.22) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.22 via Frontend Transport; Wed, 29 Mar 2023 10:45:57 +0000
Received: ("Tessian outbound 5154e9d36775:v136");
 Wed, 29 Mar 2023 10:45:57 +0000
Received: from 2ccd6a0d4885.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C842C504-C028-457E-B322-0581F10ABD14.1; 
 Wed, 29 Mar 2023 10:45:56 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2ccd6a0d4885.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 29 Mar 2023 10:45:56 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM8PR08MB6371.eurprd08.prod.outlook.com (2603:10a6:20b:363::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.34; Wed, 29 Mar
 2023 10:45:46 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6222.035; Wed, 29 Mar 2023
 10: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: e5c285e2-ce1e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Eut2csArcCZA5PYPoSV7KJjsImLE6DzQJgIfbnA88ZU=;
 b=AD/zidtCfPrYdNYkOGV99bCd6CHhqruPXjoPyQ3OeBGuzGTjhdKJBXw+2AXTtcFYXoXsicdhXN7Kc85dF31XNIyWewFkI3n6r3ffAhEcVT8dwk/zM9jEYbRrxULydXr+/3NG6rZ5dY59rLbkMkynjDrRHIDdtGMwqFCYyHG/eE0=
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: f3114729f6e634d9
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Br/CDISAFkwpzYktg8J8RRcTugHJ6mSQtGxmzWdXfhUfleTUJqYJXPTiY1XCvn2mHt6cACazskrLvIC5tyvCWsBh4nxuEjwURl7aDd8gsLMep4tmoYKdd2YOJD9LGW/z9Ja8hQL8Wi12q8oYBgUdW7kRlO2qvv3/i34oOQ+ZWFYAflDXN/Az3ta8YifT5wCJb3ycV1o2QgSNHXUWVpjTnU3j7n7Tpz6fSpFs22jHJTgUiNK1pol4iqR8b/4zwifqjEgxrV/iUUiaArbBqtPHNWSyWNUvBm2t17wFrHhGLas4rF4s6es/KV9Nl4nv2qmkKIobMTrjPqsxl2Lzzdr8XA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Eut2csArcCZA5PYPoSV7KJjsImLE6DzQJgIfbnA88ZU=;
 b=dT3dyMnVRTcPs5XqqtJhpGgdqALAGTaDsz0YNIvxDrHnY0bl/tOHdoutw9ufMLCkbK8tZnMhVbZw4An10Ye+TvA8gsya/MqkMXMk2mh2hyJ52GXe6eMgMDKiUrWYOoWUUEqL9gCuckLYPCDNnW/LkeetUPqbSl5wOc1O8Z1mEl2rLK+u/js3ONHJKgNnZbEi5etQZaAfbevqDuCF7jiP/sdA93N7TFpmcLiyG+O5e+/TbJPaSn4wU2NXXfpEq0qhN0bMejtqXLijkE+0/wZgh9CXRr9qOs6LyY2DYc2aTf2TIYCy1rIo0GSGmEV044Bvgc0UbV8JldkHaBegckyTpA==
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=Eut2csArcCZA5PYPoSV7KJjsImLE6DzQJgIfbnA88ZU=;
 b=AD/zidtCfPrYdNYkOGV99bCd6CHhqruPXjoPyQ3OeBGuzGTjhdKJBXw+2AXTtcFYXoXsicdhXN7Kc85dF31XNIyWewFkI3n6r3ffAhEcVT8dwk/zM9jEYbRrxULydXr+/3NG6rZ5dY59rLbkMkynjDrRHIDdtGMwqFCYyHG/eE0=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v4 02/12] xen/arm: add SVE vector length field to the
 domain
Thread-Topic: [PATCH v4 02/12] xen/arm: add SVE vector length field to the
 domain
Thread-Index: AQHZYJtYhPNp4K3qPECnSSUY8aM6MK8P8D+AgAGZUgCAAAi3gIAAA68A
Date: Wed, 29 Mar 2023 10:45:45 +0000
Message-ID: <E93EA3A5-0C3F-4B67-8AAF-68CD446B1C02@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-3-luca.fancellu@arm.com>
 <71f3e78a-aa70-a12f-8380-ab8806cefd39@suse.com>
 <D3910D5E-BA1E-40AB-B960-CF8806F0D9E6@arm.com>
 <6736a614-258b-0d5e-9c78-e25fa6b8a932@suse.com>
In-Reply-To: <6736a614-258b-0d5e-9c78-e25fa6b8a932@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.3731.400.51.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_|AM8PR08MB6371:EE_|DBAEUR03FT014:EE_|AS8PR08MB8252:EE_
X-MS-Office365-Filtering-Correlation-Id: 68a1e63c-3bf9-4398-2f6c-08db3042c75a
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:
 khUJ4OGNVRIwNKbEodNF1ByXJ9EVzBP0K+oBbFD9nRxkEogbK1MgFYWtJG2fTMAY8qOigiEeHMyH75fkolcZ6vDiz2gSZjpIU9rkzJsbH7YR4IQhh62ukkuPUHyYsBjlZyzoVizO/OPzXW9hea63EnzWwq4G/c+ks7+b9lYjXCyfjvTuU8IUQRsnXpYDktlMLXioM8OiSWlom0/qCqNAu72J8FPav+Y2xhfQDKZtoxyhZEZBNciwg1DqzXjsSvV8b/ojvQs7RAouXwlTSBgEThODVUq35k9MvjP5GDuEsrZiuOoSAnkH5XVSD1M/Kl40rYRQMcM8a8F6iqFaCVDkFTzW9YdlOg5C0fyZiXNqJfwachPN3JPQNaWdB//u3ZqP305adVVGbWFYc3VGyyofANvhbNtKuhFKDD7Fu3XoZMoU7xhgUsmBNUi3qG30yIb0lr73P06BZaGfQ/QSCWlbfLoa/4ZLfoAkERbj7uoIl/JSZM5w4q/7hOr7C3uGw/moEOf+/5xKvaZEPu4BDtAibYMxbi5bGNm3UVtQYBpjsUX7CS9Zk6FBlGGJounSGu/fH5G+LWbjCAavqxhwMrFmAtHQJO1jnaGog4SFhBYNqk9wrxO/fMT5naVsyng4YLeRSnUQJZ8d7vhf+DTijyVIEA==
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:(13230028)(4636009)(366004)(376002)(39860400002)(396003)(346002)(136003)(451199021)(41300700001)(83380400001)(6486002)(86362001)(54906003)(5660300002)(38100700002)(38070700005)(478600001)(71200400001)(2906002)(91956017)(8676002)(6916009)(186003)(2616005)(4326008)(66476007)(66446008)(66946007)(64756008)(66556008)(76116006)(122000001)(33656002)(8936002)(36756003)(53546011)(6506007)(316002)(6512007)(26005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <36156CE0AE72D6429032A2DFB9ACAE85@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6371
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:
 DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1e59c7e8-d855-4837-0395-08db3042c082
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HApqPa9tTmLlOHfZcKZyPBkEvqdBIeDsAeyBguG0rscefKhY2uGfU6KRfgADrBTD16Yotm/kcXOr+NtWHdtisn82+FdAq8UK8Ke8sGjr4GKeGOKt/akvurLb+HNijge3thmACgrxGKB/p0lfE4AjeUh6KPYj9eu8u751CchYKBIMcJ1tcx4aahH3c/4lV3ZNJQyM+paooZmXmZ/jx8gogVDn1YmejBXFOiBCRm/bGeIPf6plTdX5ruNuyo4NXcAlQb8fiPvuSHyD5GpTdh7SDFdRPenX4WWMd+PbF+Kdg7oJ+YSKtMbxY6ZmsrRiKljk9Kbw5kHi0/iTTfmxH6Iogxp2uOpCmBl8A3UR9bnZZ2wDf6ZoKYB1iSFu+umLEnGqGpIetsE/nR8pEa0mvUTmyCo3BCMX6D/NBP1/UdHoHOktP07Q/+GDoPlckjsjU7dAFaNQVoO7HzfjvYXfMMBghKxM3mr6VDtJrV9SEHLFm2NeQd4HieMMBkJRkz9EZJC1DmYmIe3RVeGCNQKpxpcaOBmMhrdgxLFJT5UXnOs2yZyon2ExWTZS4jzzmKJ4qAmSGsYdcb7MVffx910AdiNGOBNXmf46px7vJZHF705ULNKhE9rk1XnoW+xaN98sPYCzvFw2VdQujuzebs6nZoVPtKVVxFE1BPYAm3xcFiZwYXC5Pp2cponm4FVGmYTex9C1vQAW6yR/8Qw4qs0VUg5QxA==
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:(13230028)(4636009)(346002)(396003)(376002)(39860400002)(136003)(451199021)(36840700001)(46966006)(40470700004)(83380400001)(6506007)(81166007)(356005)(82740400003)(26005)(53546011)(82310400005)(478600001)(316002)(54906003)(6512007)(36756003)(70206006)(8676002)(70586007)(40480700001)(41300700001)(86362001)(4326008)(336012)(2616005)(47076005)(6486002)(33656002)(6862004)(8936002)(2906002)(40460700003)(5660300002)(36860700001)(186003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 10:45:57.3452
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 68a1e63c-3bf9-4398-2f6c-08db3042c75a
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:
	DBAEUR03FT014.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8252

DQoNCj4gT24gMjkgTWFyIDIwMjMsIGF0IDExOjMyLCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMjkuMDMuMjAyMyAxMjowMSwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+PiBPbiAyOCBNYXIgMjAyMywgYXQgMTA6MzYsIEphbiBCZXVsaWNoIDxqYmV1bGlj
aEBzdXNlLmNvbT4gd3JvdGU6DQo+Pj4gWWV0IGFub3RoZXIgcXVlc3Rpb24gaXMgd2hldGhlciBi
b3RoIHJhbmdlIGNoZWNrcyAoYWdhaW5zdA0KPj4+IFNWRV9WTF9NQVhfQklUUyBhbmQgemNyX21h
eF9iaXRzKSBhcmUgYWN0dWFsbHkgbmVjZXNzYXJ5IC8gdXNlZnVsLg0KPj4+IElpcmMgMjA0OCBp
cyBhIGhhcmQgdXBwZXIgYm91bmQsIHNvIHpjcl9tYXhfYml0cyBiZWluZyBoaWdoZXIgdGhhbg0K
Pj4+IHRoYXQgdmFsdWUgc2hvdWxkIGxpa2VseSBsZWFkIHRvIG5vdCB1c2luZyBTVkUgYXQgYWxs
IChpZiBpdCBkb2Vzbid0DQo+Pj4gYWxyZWFkeTsgZGlkbid0IGNoZWNrKS4NCj4+IA0KPj4gSSB0
aGluayB0aGUgY2hlY2sgc3ZlX3ZsX2JpdHMgPiB6Y3JfbWF4X2JpdHMgaXMgbmVlZGVkIGJlY2F1
c2UgZnJvbSANCj4+IHN2ZV92bF9iaXRzID0gc3ZlX2RlY29kZV92bChjb25maWctPmFyY2guc3Zl
X3ZsKTsgSSBjYW4gZ2V0IHZhbHVlcyBhYm92ZSB0aGUNCj4+IG1heGltdW0gc3VwcG9ydGVkIGJp
dHMgKHpjcl9tYXhfYml0cyksIGxhdGVyIG9uIEkgd2lsbCB1c2UgdGhlIHN0cnVjdCBhcmNoX2Rv
bWFpbg0KPj4gZmllbGQgc3ZlX3ZsIHRvIGNvbXB1dGUgdGhlIHNpemUgb2YgdGhlIHJlZ2lzdGVy
cyB0byBiZSBzYXZlZC9yZXN0b3JlDQo+PiANCj4+IElzIHRoZXJlIHNvbWV0aGluZyBJ4oCZdmUg
bWlzc2VkIGZyb20geW91ciBjb21tZW50Pw0KPiANCj4gSG1tLCBJIHJlYWxpemUgbXkgZWFybGll
ciByZXNwb25zZSBtYXkgaGF2ZSBiZWVuIGFtYmlndW91czogSSBkaWRuJ3QNCj4gbWVhbiB0byBx
dWVzdGlvbiB0aGUgcHJlc2VuY2Ugb2YgYm90aCBjaGVja3MgaW5kaXZpZHVhbGx5LiBJIG1lcmVs
eQ0KPiBtZWFudCB0byBxdWVzdGlvbiB3aGV0aGVyIGluIGFkZGl0aW9uIHRvIHRoZSB6Y3JfbWF4
X2JpdHMgY2hlY2sgeW91DQo+IHJlYWxseSBhbHNvIG5lZWQgdGhlIFNWRV9WTF9NQVhfQklUUyBv
bmUuDQoNCk9oIG9rIG5vdyBJIHNlZSB3aGF0IHlvdSBtZWFuLCB0aGlzIGNoZWNrDQoNCmlmICgg
IWlzX3ZsX3ZhbGlkKHN2ZV92bF9iaXRzKSApDQp7DQogICBkcHJpbnRrKFhFTkxPR19JTkZPLCAi
VW5zdXBwb3J0ZWQgU1ZFIHZlY3RvciBsZW5ndGggKCV1KVxu4oCdLA0KICAgc3ZlX3ZsX2JpdHMp
Ow0KICAgcmV0dXJuIC1FSU5WQUw7DQp9DQoNCkNhbiBiZSByZW1vdmVkIGJlY2F1c2UgaWYgKCBz
dmVfdmxfYml0cyA+IHpjcl9tYXhfYml0cyApIGlzIGVub3VnaCwNCkkgYWdyZWUgYW5kIHNvIGlz
X3ZsX3ZhbGlkIGlzIG5vdCByZXF1aXJlZCBhbnltb3JlDQoNCj4gDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:48:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:48:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516178.799888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phTLn-0006G2-Sf; Wed, 29 Mar 2023 10:48:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516178.799888; Wed, 29 Mar 2023 10: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 1phTLn-0006Fv-O7; Wed, 29 Mar 2023 10:48:19 +0000
Received: by outflank-mailman (input) for mailman id 516178;
 Wed, 29 Mar 2023 10:48: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=WOlf=7V=citrix.com=prvs=445effd08=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phTLn-0006Fp-30
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:48: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 357cb11b-ce1f-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 12:48:17 +0200 (CEST)
Received: from mail-mw2nam10lp2100.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.100])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Mar 2023 06:48:14 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB5871.namprd03.prod.outlook.com (2603:10b6:a03:2dd::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.34; Wed, 29 Mar
 2023 10:48:12 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Wed, 29 Mar 2023
 10:48:12 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 357cb11b-ce1f-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680086897;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=Gcb555ZZxThI/dq0Tuz+5D2I5IyYAMW0SLNGqI7QqPg=;
  b=YVJT2SzVnG4x5V5fU2fK32A/TTsOuaavkzFDcowGO+zFXtQW/ld2qbdT
   XFxZflSCx52wYocyArPcZVScr77WEEFObHJivJieJvsU0H23duIvChLPD
   MvdSckjfzrpT/roxFGOsBr41vnfdRBuUCDxyUtXmBVa14Q1DqmprzDSy4
   0=;
X-IronPort-RemoteIP: 104.47.55.100
X-IronPort-MID: 103903716
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:cuxBKKIf+O1qekp1FE+RX5QlxSXFcZb7ZxGr2PjKsXjdYENS0zAHz
 TMYD22EaPvYYDP0Kt4jPYW/oUoD6J/Uz4JrHFdlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZvPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4pOkR37
 NFbcAsSVRqKprin64KRSPVz05FLwMnDZOvzu1lG5BSAVbMDfsqGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dqpTGLlGSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03b6XxnyiBur+EpWH1aBxiw2NyFYxGSYyVQCkm/iks3OXDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8UE7wWKxrvR8hyuLGEORT5ca/QrrMYzAzct0
 zehj97vQDBirrCRYXac7auP6yO/PzAPKm0PbjNCShEKi/H8pKkjgxSJScxseIa3k9n0FDfY0
 z2M6i8kiN07ltUX3q+2+VTGhTOEpZXTSAMxoALNUQqN9gpkYKa1aoru7kLUhd5DIZiYSB+dv
 XECs8mY8O0KS5qKkUSwrP4lGbio47OAL2faiFs2R505rW31ozikYJxa5yx4KAFxKMEYdDT1Y
 UjV/wRM+JtUO3jsZqhyC26sN/kXIWHbPYyNfpjpghBmO/CdqCfvEPlSWHOt
IronPort-HdrOrdr: A9a23:VBygo6Fd8Ii4DswfpLqE5seALOsnbusQ8zAXPiFKJSC9F/byqy
 nAppsmPHPP5gr5OktBpTnwAsi9qBrnnPYejLX5Vo3SPzUO1lHYSb1K3M/PxCDhBj271sM179
 YFT0GmMqyTMWRH
X-IronPort-AV: E=Sophos;i="5.98,300,1673931600"; 
   d="scan'208";a="103903716"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iahTiel1oJ9aEzXq9e8BIpcFZbChQ/gZDMu5xpU+gcGOtH1c6sbn0bXc36cDFHfoQmpp/ClaTIZ05vWEehlBOEurbw+Sg/wCZ6YPl2foxGylnWGG11lcwFvifmuXWinM/f0gVK9dnxMuPLG9unRPsZf6YewanjDTEQbMu+VsGXZaQjxcTvmrcMGs1Y1+o3YnBbHo2Uz/Yn5X3frJjkabwUSqiIZ4/SP64LOb2uSGOQ/gR8HaBreInlrqn2yjV9FbierIdfjDSDx3I/7GyWhNx/h/27lTuOLWLdbiODhTHYsPiqGtGtK+54iDSCrQKU01EIhr7WFbqDEr5bJGAztfYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zjccRZPr+GMcor3zhNZBlxQ+vDMUSFsIPZ21KlTWugg=;
 b=SwqHG5F7fE4AQ+sNrM6S5Q7ZABP9FM4Fotmuf+5dOnUp3eEqkZR3MZ/wB4BspX5l0KBCE7ZKVyvRudU0J6fweyz0KsWHKIkJdXLZQE0LsKsU8VBrz0Qenpf6BqEZ9P8bUqOmczpNKclyZjLa7Iz48/JPp9aMQBuR6ekO7e0weTIAcPJF1kaKzk50W/j71V8ga1A1EuNCMB9QQ4YmRUF6dkAC0mjoHSUx29whZF1FKrmfr/JsZcwO2DvFARstBNVTdozqmUeny5U4B/ZKIHTpdZ9wnhqDdpCc4FrSGQhSIpX3jEoQ4LBPeDDGazuWbdYAvY0h2GF+16zniOgAa6jpuw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zjccRZPr+GMcor3zhNZBlxQ+vDMUSFsIPZ21KlTWugg=;
 b=d0oxFyMmJng9UXKRC+LLU9gXBV4ea497exmoJ7QwIQ5RTZ2LNc7hCfSATGZpTbZ/sKmMlA8LzBs8WxxLrUbMfrDFaN6kx2U0GYueRFW8ItAc0NgGy5s70azvZcXuA57653VsAe3so90V2ajqbTPu1J+onCkrvZ38Wauhr1eFL14=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 29 Mar 2023 12:48:06 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	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>,
	Paul Durrant <paul@xen.org>, Kevin Tian <kevin.tian@intel.com>
Subject: Re: [PATCH v3 2/6] xen: pci: introduce reference counting for pdev
Message-ID: <ZCQXZu8AqZtLGCUB@Air-de-Roger>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-3-volodymyr_babchuk@epam.com>
 <ZBNA9q5DXJYG3KVp@Air-de-Roger>
 <c175d1b5-972c-e311-d634-e7a68e919ece@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <c175d1b5-972c-e311-d634-e7a68e919ece@suse.com>
X-ClientProxiedBy: LO4P265CA0073.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2bd::6) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB5871:EE_
X-MS-Office365-Filtering-Correlation-Id: d174e814-e39b-407e-03cf-08db30431720
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3SS2xkH1dqW892E+/vv6mqmbX+fR3nyBoBA3Qav0c7MAf1zJ+X5gsJAWwcNooPqX89IYJ+ymKKkiHWHzmwf9bnaoNhWC2C32yxsam20LZiwcGU7gRD08POPr96Z4H7UUyFLUaF4HOH94lv3SKsxr6QzVmc3dh8KDYe4pnBbQIUmcWK+apkb8UOir/eOBmmgZBDIz2r5wNka967PvytKcaNndoUlkF0/3hGiYyrC9KfIkZq8A6S0p833CCy/WNPOxwpgma7ds0y4037HA/5uVUuJuhCKI/lUBZcT1cAspO/67JR+4FtBskAKimtIze7A/DOVatAGwiRtHcQG4QeDVt4fafbTy3bkElCsDhRFgzp5Vw4ZoLR7Ak3Hk2aySUGe0ELR+MKLHD0105z998+PV4jlJfaVCo9Iay/eM2RH8nmKB9oBnsr0l52FbTgM9cgQJNInl6A6z9N7wQ1pig5g7O9HDd5g3DrESM0fAjt7y2vusHsH7mi0QB+hFTOeWZlNP8PGr+QEKlN0Gt6MrXikaAxjzpwdZBn82Hkz04T3Qikw26wVuzkSeNGzqh1Os6d/J
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(366004)(136003)(396003)(346002)(39860400002)(376002)(451199021)(6486002)(54906003)(8936002)(316002)(478600001)(53546011)(6666004)(9686003)(26005)(6506007)(6512007)(66556008)(186003)(66476007)(66946007)(4326008)(6916009)(8676002)(41300700001)(82960400001)(7416002)(2906002)(85182001)(5660300002)(33716001)(38100700002)(86362001)(83380400001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NEtVN0JTeTFyRmpwSjhiSmxIVk5aMkFoeDIybXRSby9EZmplRWI4VUZabUpw?=
 =?utf-8?B?bEVlTmlCaVJyRUVhQlNlYXpLSmZwdlRLektZMUJHYXBwTHh4NTRqOU55QVps?=
 =?utf-8?B?VTVjUzdjcUpQSVF1MDVDTTVoN3YyM3A5OEcyWG5NTjVCV0FWUUhQOFRiWGd0?=
 =?utf-8?B?K3lYWVRTV1BaRzFrbDNwYm5vbWhuZmlrSU5jRGxvNzhZbHdrc1RyWmRncnZN?=
 =?utf-8?B?dGpOMTZzSW1LZWExeXRHT2VhMitiUlYzZ3VUbXIrUk5LNW43ZnhocU4rSWFY?=
 =?utf-8?B?N2tWalVBc0hVMUdydTdyRTlxM3NpcGxLUUttZitFWjdOQ05mV0pkWUtPcnJk?=
 =?utf-8?B?UG96bVVhRXZYcVlkWi9vWFY1N2lZRTIvUVZFQ0NOWjAxeHZpMWN5SzVKMzNk?=
 =?utf-8?B?WHBIcGdKQVpOTjZrN0F6T04vanVuMEUyQzFvNElrdlZxSGtDNHpVQ2h5Vkxx?=
 =?utf-8?B?K0hRZkhYUTJSZUtqRGxTU0xEcExHQ2szd0didVE2b3UvTkwzSHFycEd3cVQw?=
 =?utf-8?B?Unl3UTRtNkM5MmxuV1NweENKcWYzdzBGRmlRWEhzbmZmV251WnkwSnRoSFNy?=
 =?utf-8?B?WVBkUGxPR0hYRlNNVGc1Qm9BQVZqMXhIT3hMZTIyYjRWbURSVHVRVlkySE5U?=
 =?utf-8?B?NkpHTjh5dG1iYmg1OHJESGE1YklmYlZiZnd0aE82bEJkWG4xZjlCTWlzVnIz?=
 =?utf-8?B?UlNSbkdvNTI3RTFrZzc0cWM1aEltZEplMzRrQ25qcmJhWHRvS0ZkT2FHVG1V?=
 =?utf-8?B?YmlhN1lrUWdzU1RHZDVoTFBXb2JRaGp2WE0rZE9xWUwvVithblZjVk9HU2E5?=
 =?utf-8?B?Y3NuTHF5REl6cnloN2dtUVVaQnZybGo0VS9oWWVXaWgveVRBc0dCWUU3VmhP?=
 =?utf-8?B?UzVpakd2VDFDTnA5aUgxaXE1Z3p2THJnNzJiVFBYa25CMVVqR3BKbDduY0Mr?=
 =?utf-8?B?VGN1UVMxRkxsSVpiTkhxekMvMGtKbENKUFdWVG9YclREYk0wNHkzdUJDQ1Bt?=
 =?utf-8?B?MVgzTE1xVmlHUkxrTVloZk0yWWZiWWZyVEJla1drUWIyOG5URlpSVkpDc3BU?=
 =?utf-8?B?dkVvT2d3Z1lsaHJqdzU5SmhQT3ZSNisxdVFEOVB4U3ArRDVBeC9iaWZMemFu?=
 =?utf-8?B?YXRHMEVnWmt1eWx6MGthOTZRckV6Zk5JcXNCYzk4YWpxMTY3UGlhbE9vczZz?=
 =?utf-8?B?KzM3VFJsTnFsOHhoY2hVQjBRUGMxUlJ4Y2FrUks0S0NsVTlRVVl2M1NPdGtN?=
 =?utf-8?B?dXJNbG1NZE5xMStaRS9RUmVaSUJDMlRVWUVERU1mQWV0cFFYSXhOUUZvUG1v?=
 =?utf-8?B?TnhrcXZoNE02R2JtcmpNWWJLWkpiZHR2bkVsaFF1Vlp5ZzlHWElkVFZFQVlX?=
 =?utf-8?B?K3pXakhFZStmVkUvWk90MXBEQ3JheC9icWpCODJSODd3ZGFseVBveWw1Z3or?=
 =?utf-8?B?KzNWQzZoeTFMOC9PT3BsWVNFbElQOGdvTll0aWE5YmdCdjVvbGdPYmRnaGVF?=
 =?utf-8?B?S3g2R3RNV1IrYlM2VE9VQjZTRndXSjYrK2VNVWVhaUovV1p4bEpJL1RwZStP?=
 =?utf-8?B?Z3g2VUxQZG9FajlGY3IwdHJmZjk3cnExWGQ2S3NFQ3VKeTZHSThqL3YxTjZH?=
 =?utf-8?B?RnM3bW1JNGRIZ2FDODd1c0tWbEFtRFVqWlZWa1pXZUdGQm9rYnRqSk5IYmt4?=
 =?utf-8?B?bFlVNHl1MlhrNzd1R01KYmFWSXowRWMxOGRSdWZRUXp4eDhUd3lXaGNLMDBY?=
 =?utf-8?B?ZWZtdVN2MUNEM0xXY2x6Qno5dFVRTFNBR0RvcWxDZlNPMkM3bm9HamtJTHNJ?=
 =?utf-8?B?YlJhdWtSMjg1YTBUbWVoUEJPdVFmaU9Sc0JCNGRVU1U5OHhCZmhhNUU2UVZD?=
 =?utf-8?B?MGVpK1V5VlJhYzlQRFNTMC9nc3IxQkptMWdJc3NXb00yZE5iR3d1SHNmMzN6?=
 =?utf-8?B?T3VBNHlWb3FrcnNxY2Z6eDR5Q1ZBTmEvWEFMSmNnUXVHSjNnUmRLY2pWKzhr?=
 =?utf-8?B?K3FXT0ZuVmphNUJDcTluMCtoOGtqWjJPR2wxckJ6ZVRLK0JOZ3BOTWxPdC9p?=
 =?utf-8?B?L2JOb01wVS8zRzVRZSttaDdEKzcvUHYzQzFEWWdpcTNYUDZLVU9yRFBQUThM?=
 =?utf-8?B?SjlYSnBGZStQOHo3Zmh4WWtOSWhEdjRIZnNnUGgrb0N5OWlmYVpxVlhtNUdJ?=
 =?utf-8?B?M3c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	cPCilO2ju8rOZ8bMEIwfR9IPGZ//LJPFMWMGn8t1By7CVkV3bwft4tHdGy3VUHi/o0rM/Ox7DfWXqr1+xmcotZqIcIFxxXWyQAHASGkhcJcHg0RkOOhgZofHkIXKDfthzMw9AmARj7Q/cTogjqGeJyGg13mIAKvVmwHCZMBnwiXDy1tMVLfDcdvkaUvNQsgi5WK90zFgcTmEsvNrPac63fRmNF8WSTFwtk1C07ThlXWllVBLTxr8fN7pt8ZCzkNDpq4e239k21qS7G6Azu56gfUzamjJA76/9i3VbAOcvDj3qDhENdLpac2YX6ahfzKP3Epm9NoFZHR0SVDVYyLe68aji9JWm2HkwDtihI/iG7k8C603CPkjjY+eXdzTBJj8hJbYJ1RJp1DqvshZBdq/vGxr2oWc1+NU1CVoLexHttvV/99eDHxLotH9ijr+1BrdC3c21WVNr7ImObgM3uEoyzllrt11V0srN6ohRAyXcUxJIij/3Kq+CsWRHO4LDgnGFTlb+cqe52yzPNNIaCYOh/CDUqhvxXvkc7yOuZAioPNUE+rDR7+bkhdaZxTN/cIjeL/CYCMsGvN+eD5GVyqkngLDLzzQVK0KEqfe1L8O9whN1XHjsLgVRFwIapS6KHlVFSsATIxicqfH5QIpKIb+QEFqqC2JkNT+JoPIDUHnqZm4yUWwnhI0yFQW1X7FjLmRcPfxAopHvDKPLkr2oCOowHuo7EKi5oPwkqkGxkDdx8YHWo1tw27g8v8xGZKARGiu6DjYap1Q7Gyxo+1aTm0uV98AoJTKECns+dARRTRJP7jVIBJoRqXQCw5Hmgpdn6o4ArVClr3Lse4jBcBb6ejmot5wdNiPV21M7no4Rj2sqvAYPZ97KkgJlYa1gk7tkbjyyAvKqzGiOVwXgsdT7GYi6g==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d174e814-e39b-407e-03cf-08db30431720
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 10:48:11.9158
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ia7Q/Rw0OLcL+dsaQwjgZ5zQlv8BelN+yfg7CQ67PtSaizzD211dQ7U7us51zt3jO8vvwPaCk9lCZCNRyZLpBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB5871

On Wed, Mar 29, 2023 at 11:55:26AM +0200, Jan Beulich wrote:
> On 16.03.2023 17:16, Roger Pau Monné wrote:
> > On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
> >> Prior to this change, lifetime of pci_dev objects was protected by global
> >> pcidevs_lock(). Long-term plan is to remove this log, so we need some
> >                                                    ^ lock
> > 
> > I wouldn't say remove, as one way or another we need a lock to protect
> > concurrent accesses.
> > 
> >> other mechanism to ensure that those objects will not disappear under
> >> feet of code that access them. Reference counting is a good choice as
> >> it provides easy to comprehend way to control object lifetime.
> >>
> >> This patch adds two new helper functions: pcidev_get() and
> >> pcidev_put(). pcidev_get() will increase reference counter, while
> >> pcidev_put() will decrease it, destroying object when counter reaches
> >> zero.
> >>
> >> pcidev_get() should be used only when you already have a valid pointer
> >> to the object or you are holding lock that protects one of the
> >> lists (domain, pseg or ats) that store pci_dev structs.
> >>
> >> pcidev_get() is rarely used directly, because there already are
> >> functions that will provide valid pointer to pci_dev struct:
> >> pci_get_pdev(), pci_get_real_pdev(). They will lock appropriate list,
> >> find needed object and increase its reference counter before returning
> >> to the caller.
> >>
> >> Naturally, pci_put() should be called after finishing working with a
> >> received object. This is the reason why this patch have so many
> >> pcidev_put()s and so little pcidev_get()s: existing calls to
> >> pci_get_*() functions now will increase reference counter
> >> automatically, we just need to decrease it back when we finished.
> > 
> > After looking a bit into this, I would like to ask whether it's been
> > considered the need to increase the refcount for each use of a pdev.
> > 
> > For example I would consider the initial alloc_pdev() to take a
> > refcount, and then pci_remove_device() _must_ be the function that
> > removes the last refcount, so that it can return -EBUSY otherwise (see
> > my comment below).
> 
> I thought I had replied to this, but couldn't find any record thereof;
> apologies for a possible duplicate.
> 
> In a get-/put-ref model, much like we have it for domheap pages, the
> last put should trigger whatever is needed for "freeing" (here:
> removing) the item. Therefore I think in this new model all
> PHYSDEVOP_{pci_device_remove,manage_pci_remove} should cause is the
> dropping of the ref that alloc_pdev() has put in place (plus some
> marking of the device, so that another PHYSDEVOP_{pci_device_remove,
> manage_pci_remove} can be properly ignored rather than dropping one
> ref too many; this marking may then also prevent the obtaining of new
> references, if such can be arranged for without breaking [cleanup]
> functionality elsewhere). Whenever the last reference is put, that
> would trigger the operations that pci_remove_device() presently
> carries out.

Right, this all seems sensible.

> 
> Of course this would mean that if PHYSDEVOP_{pci_device_remove,
> manage_pci_remove} didn't drop the last reference, it would need to
> signal this to its caller, for it to be aware that the device is not
> yet ready for (e.g.) hot-unplug. There'll then also need to be a way
> for the caller to figure out when that situation has changed (which
> might be via repeated invocations of the same hypercall sub-op, or
> some new sub-op).

Returning -EBUSY and expecting the caller to repeat the call would
likely be the easier one to implement and likely fine for our
purposes.  There's a risk that the toolstack/kernel enters an infinite
loop if there's a dangling extra ref somewhere, but that would be a
bug anyway.

So device creation would take a reference, and device assignation would
take another one.  Devices assigned are safe against removal, so there
should be no need to take an extra reference in that case.

There are however a number of cases that use pci_get_pdev(NULL, ...)
for example, at which point we would need to take an extra reference
on those cases if the device is not assigned to a domain?

Or would we just keep those under pcidevs_locked regions as-is?

(as PHYSDEVOP_{pci_device_remove, manage_pci_remove} will still take
the pci_lock).

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:51:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:51:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516184.799907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phTOX-00081I-KQ; Wed, 29 Mar 2023 10:51:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516184.799907; Wed, 29 Mar 2023 10: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 1phTOX-00081B-HZ; Wed, 29 Mar 2023 10:51:09 +0000
Received: by outflank-mailman (input) for mailman id 516184;
 Wed, 29 Mar 2023 10:51:08 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=UO3W=7V=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1phTOW-0007lb-4E
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:51:08 +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 9b88ce0e-ce1f-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 12:51:06 +0200 (CEST)
Received: by mail-lf1-x12b.google.com with SMTP id k37so19602307lfv.0
 for <xen-devel@lists.xenproject.org>; Wed, 29 Mar 2023 03:51:06 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 j17-20020ac253b1000000b004eb0f6b7ccfsm1173572lfh.134.2023.03.29.03.51.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Mar 2023 03:51: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: 9b88ce0e-ce1f-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680087066;
        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=G+SyusVLNbqVMrW8ZRpmVQ40Jehx8sJ9+PJYZzoVhT8=;
        b=S+Hrmaxf8pMC9LSHW+l8zJsFz405qpjG46TIID8rth8PoG/9eGviAuSsd5BfnRCdfi
         pKrDX4q6/vaOmqrcdiTPbMRrZbXKX5ziB/k4/RnxSybDALlRHEN+659Pob8QE3l6BrUS
         0ouJyhypqznny50k3ZEXcZzk3+bUVeZPH+ZEsAHGJpqBco8JkkLyEyFwLEr4ljLi8eTb
         r4vZsi0ADPmqm11AgdrKG4XXw6IbJ0myCwgVvby36Bsj8Dv2ROUs/lXLClRsiOH6R5hn
         EEfHRY4HQC5bSAD6R+SFHtvH1XdwfuwT+4KWAiowfaFuG9jWFE/WyZgLlvxmLD54Wv1D
         Oesw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680087066;
        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=G+SyusVLNbqVMrW8ZRpmVQ40Jehx8sJ9+PJYZzoVhT8=;
        b=hOwPUDKZZLI/E2VOUeoVOo71x8z+Sdyk9N+3ReBa2dvyjutzLyDW8vzNBjeb+OH6zt
         eS6iid0BYVSWUpsBT6Iy9g+MfTp3C7XHBgFjXLACZLjjRglH65KC+hWWaNamrHODxu7C
         FTmisusKhjs6vPWXiHS7XO6JrvODLbOdx8WWPPw5YvncSudM/xM5oZQg0H4lNlGEAbFN
         WZH58s5qMzWBTXFZX818nLz+7UOM0YLm0eUDOiKzhHSJxwcc3Or6t3oG7u+5HhB+kueM
         ORuxrUODCGoYvxcrkTnObnC6VveHad1X62Yr+qxLcpmlkrBVie9dw3TTqsRetCIOyQe6
         IJyg==
X-Gm-Message-State: AAQBX9egVdh5Qtkfn1IKfs/AgvqJF6esIqS6uMo8rvebChgw3tfgQ1Jb
	HVDtwSt/Jm9KNYSNoKgOkzqbYBeFDCo=
X-Google-Smtp-Source: AKy350afs6RDHIFsWJidIx/0a45G1DYXY+mEijDW6N78rrBUHoDvE2SsAxa5nH0eoSQaUS90Ds0RuQ==
X-Received: by 2002:ac2:490f:0:b0:4e8:4a9d:2ae1 with SMTP id n15-20020ac2490f000000b004e84a9d2ae1mr4551091lfi.32.1680087066129;
        Wed, 29 Mar 2023 03:51:06 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v9 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
Date: Wed, 29 Mar 2023 13:50:28 +0300
Message-Id: <c9fb416c98e023ff3150064222cb42b6c67f37e8.1680086655.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1680086655.git.oleksii.kurochko@gmail.com>
References: <cover.1680086655.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A large part of the content of the bug.h is repeated among all
architectures, so it was decided to create a new config
CONFIG_GENERIC_BUG_FRAME.

The version of <bug.h> from x86 was taken as the base version.

The patch introduces the following stuff:
  * common bug.h header
  * generic implementation of do_bug_frame
  * new config CONFIG_GENERIC_BUG_FRAME

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V9:
  * rename BUILD_BUG_ON_LINE_WIDTH to BUG_CHECK_LINE_WIDTH
  * Remove <asm/processor.h> from <common/bug.c> as the patch were
    merged to staging which move all things used in <common/bug.c>
    from <asm/processor.h> to more proper headers.
  * add "struct cpu_user_regs" to <common/bug.c>.
  * add explanation why <xen/debugger.h> is included in <common/bug.c>
---
Changes in V8:
 * move  BUILD_BUG_ON_LINE_WIDTH(line) to "ifndef BUG_FRAME_STRUCT" and add #elif for
   "ifndef BUG_FRAME_STRUCT" to define stub for BUILD_BUG_ON_LINE_WIDTH.
 * move <xen/debuger.h> from <asm/bug.h> to <common/bug.c> to fix compilation issue
   ( more details in the changes to the patch [xen/x86: switch x86 to use generic
     implemetation of bug.h] ).
---
Changes in V7:
 * fix code style.
 * Remove '#include <xen/debugger.h>' from bug.c. it should be a part
   of <asm/bug.h>.
 * move BUILD_BUG_ON_LINE_WIDTH to '#ifndef BUG_FRAME_STRUCT' and define
   dummy BUILD_BUG_ON_LINE_WIDTH when BUG_FRAME_STRUCT is defined.
 * remove update prototype of 'void (*fn)(const struct cpu_user_regs *)' to
	 'void (*fn)(struct cpu_user_regs *)'.
 * add code to to make sure the type used in run_in_exception_handler()
	 matches the one used here.
---
Changes in V6:
 * fix code style.
 * change -EINVAL to -ENOENT in case when bug_frame wasn't found in
   generic do_bug_frame()
 * change all 'return id' to 'break' inside switch/case of generic do_bug_frame()
 * move up "#ifndef __ASSEMBLY__" to include BUG_DEBUGGER_TRAP_FATAL
 * update the comment of BUG_ASM_CONST
 * make the line with 'BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))' in
	 BUG_FRAME macros more abstract
 * remove #ifndef BUG_FRAME_STRUCT around BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH as it is
	 required to be defined before <asm/bug.h> as it is used by x86's <asm/bug.h> when
	 the header is included in assembly code.
---
Changes in V5:
 * Remove "#ifdef BUG_FN_REG..." from generic do_bug_frame() as ARM will
   use generic implementation fully.
---
Changes in V4:
 * common/bug.c:
		- Use BUG_DEBUGGER_TRAP_FATAL(regs) mnacros instead of debugger_trap_fatal(TRAP_invalid_op, regs)
		  in <common/bug.c> as TRAP_invalid_op is x86-specific thereby BUG_DEBUGGER_TRAP_FATAL should
		  be defined for each architecture.
		- add information about what do_bug_frame() returns.
		- invert the condition 'if ( region )' in do_bug_frame() to reduce the indention.
		- change type of variable i from 'unsigned int' to 'size_t' as it  is compared with
		  n_bugs which has type 'size_t'

 * xen/bug.h:
		- Introduce generic BUG_DEBUGGER_TRAP_FATAL(regs) mnacros which is used to deal with 
		  debugger_trap_fatal(TRAP_invalid_op, regs) where TRAP_invalid_op is x86-specific
		- remove '#include <xen/stringify.h>' as it doesn't need any more after switch to
		  x86 implementation.
		- remove '#include <xen/errno.h>' as it isn't needed any more
		- move bug_*() macros inside '#ifndef BUG_FRAME_STRUCT'
		- add <xen/lib.h> to fix compile issue with BUILD_ON()...
		- Add documentation for BUG_ASM_CONST.
 * Update the commit message
---
Changes in V3:
 * Add debugger_trap_fatal() to do_bug_frame(). It simplifies usage of
   do_bug_frame() for x86 so making handle_bug_frame() and find_bug_frame()
   not needed anymore.
 * Update do_bug_frame() to return -EINVAL if something goes wrong; otherwise
   id of bug_frame
 * Update _ASM_BUGFRAME_TEXT to make it more portable.
 * Drop unnecessary comments.
 * define stub value for TRAP_invalid_op in case if wasn't defined in
   arch-specific folders.
---
Changes in V2:
  - Switch to x86 implementation as generic as it is more compact
    ( at least from the point of view of bug frame structure ).
  - Rename CONFIG_GENERIC_DO_BUG_FRAME to CONFIG_GENERIC_BUG_FRAME.
  - Change the macro bug_loc(b) to avoid the need for a cast:
    #define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
  - Rename BUG_FRAME_STUFF to BUG_FRAME_STRUCT
  - Make macros related to bug frame structure more generic.
  - Introduce BUG_INSTR and MODIFIER to make _ASM_BUGFRAME_TEXT reusable
    between x86 and RISC-V.
  - Rework do_bug_frame() and introduce find_bug_frame() and handle_bug_frame()
    functions to make it reusable by x86.
  - code style fixes
---
 xen/common/Kconfig    |   3 +
 xen/common/Makefile   |   1 +
 xen/common/bug.c      | 126 +++++++++++++++++++++++++++++++++
 xen/include/xen/bug.h | 161 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 291 insertions(+)
 create mode 100644 xen/common/bug.c
 create mode 100644 xen/include/xen/bug.h

diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 855c843113..3d2123a783 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -29,6 +29,9 @@ config ALTERNATIVE_CALL
 config ARCH_MAP_DOMAIN_PAGE
 	bool
 
+config GENERIC_BUG_FRAME
+	bool
+
 config HAS_ALTERNATIVE
 	bool
 
diff --git a/xen/common/Makefile b/xen/common/Makefile
index bbd75b4be6..46049eac35 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -1,5 +1,6 @@
 obj-$(CONFIG_ARGO) += argo.o
 obj-y += bitmap.o
+obj-$(CONFIG_GENERIC_BUG_FRAME) += bug.o
 obj-$(CONFIG_HYPFS_CONFIG) += config_data.o
 obj-$(CONFIG_CORE_PARKING) += core_parking.o
 obj-y += cpu.o
diff --git a/xen/common/bug.c b/xen/common/bug.c
new file mode 100644
index 0000000000..680269b49a
--- /dev/null
+++ b/xen/common/bug.c
@@ -0,0 +1,126 @@
+#include <xen/bug.h>
+/*
+ * Ideally <xen/debugger.h> should be included in <asm/bug.h>
+ * but an issue with compilation can occur as <xen/debugger.h> uses
+ * BUG/ASSERT/etc macros inside but they will be defined later in
+ * <xen/bug.h> after return from inclusion of <asm/bug.h>:
+ * 
+ * <xen/bug.h>:
+ *  ...
+ *   <asm/bug.h>:
+ *     ...
+ *     <xen/debugger.h> -> some of included header in it uses BUG/ASSERT/etc
+ *     ...
+ *  ...
+ *  #define BUG() ...
+ *  ...
+ *  #define ASSERT() ...
+ *  ...
+ */
+#include <xen/debugger.h>
+#include <xen/errno.h>
+#include <xen/kernel.h>
+#include <xen/livepatch.h>
+#include <xen/string.h>
+#include <xen/types.h>
+#include <xen/virtual_region.h>
+
+struct cpu_user_regs;
+
+/*
+ * Returns a negative value in case of an error otherwise
+ * BUGFRAME_{run_fn, warn, bug, assert}
+ */
+int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc)
+{
+    const struct bug_frame *bug = NULL;
+    const struct virtual_region *region;
+    const char *prefix = "", *filename, *predicate;
+    unsigned long fixup;
+    unsigned int id, lineno;
+
+    region = find_text_region(pc);
+    if ( !region )
+        return -EINVAL;
+
+    for ( id = 0; id < BUGFRAME_NR; id++ )
+    {
+        const struct bug_frame *b;
+        size_t i;
+
+        for ( i = 0, b = region->frame[id].bugs;
+              i < region->frame[id].n_bugs; b++, i++ )
+        {
+            if ( bug_loc(b) == pc )
+            {
+                bug = b;
+                goto found;
+            }
+        }
+    }
+
+ found:
+    if ( !bug )
+        return -ENOENT;
+
+    if ( id == BUGFRAME_run_fn )
+    {
+        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
+
+        fn(regs);
+
+        /* Re-enforce consistent types, because of the casts involved. */
+        if ( false )
+            run_in_exception_handler(fn);
+
+        return id;
+    }
+
+    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
+    filename = bug_ptr(bug);
+    if ( !is_kernel(filename) && !is_patch(filename) )
+        return -EINVAL;
+    fixup = strlen(filename);
+    if ( fixup > 50 )
+    {
+        filename += fixup - 47;
+        prefix = "...";
+    }
+    lineno = bug_line(bug);
+
+    switch ( id )
+    {
+    case BUGFRAME_warn:
+        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
+        show_execution_state(regs);
+
+        break;
+
+    case BUGFRAME_bug:
+        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
+
+        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
+            break;
+
+        show_execution_state(regs);
+        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
+
+    case BUGFRAME_assert:
+        /* ASSERT: decode the predicate string pointer. */
+        predicate = bug_msg(bug);
+        if ( !is_kernel(predicate) && !is_patch(predicate) )
+            predicate = "<unknown>";
+
+        printk("Assertion '%s' failed at %s%s:%d\n",
+               predicate, prefix, filename, lineno);
+
+        if ( BUG_DEBUGGER_TRAP_FATAL(regs) )
+            break;
+
+        show_execution_state(regs);
+        panic("Assertion '%s' failed at %s%s:%d\n",
+              predicate, prefix, filename, lineno);
+    }
+
+    return id;
+}
diff --git a/xen/include/xen/bug.h b/xen/include/xen/bug.h
new file mode 100644
index 0000000000..4438b31ee2
--- /dev/null
+++ b/xen/include/xen/bug.h
@@ -0,0 +1,161 @@
+#ifndef __XEN_BUG_H__
+#define __XEN_BUG_H__
+
+#define BUGFRAME_run_fn 0
+#define BUGFRAME_warn   1
+#define BUGFRAME_bug    2
+#define BUGFRAME_assert 3
+
+#define BUGFRAME_NR     4
+
+#define BUG_DISP_WIDTH    24
+#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
+#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
+
+#include <asm/bug.h>
+
+#ifndef __ASSEMBLY__
+
+#ifndef BUG_DEBUGGER_TRAP_FATAL
+#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
+#endif
+
+#include <xen/lib.h>
+
+#ifndef BUG_FRAME_STRUCT
+
+struct bug_frame {
+    signed int loc_disp:BUG_DISP_WIDTH;
+    unsigned int line_hi:BUG_LINE_HI_WIDTH;
+    signed int ptr_disp:BUG_DISP_WIDTH;
+    unsigned int line_lo:BUG_LINE_LO_WIDTH;
+    signed int msg_disp[];
+};
+
+#define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
+
+#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
+
+#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
+                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
+                      BUG_LINE_LO_WIDTH) +                                   \
+                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
+                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
+
+#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
+
+#define BUG_CHECK_LINE_WIDTH(line) \
+    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))
+
+#elif !defined(BUG_CHECK_LINE_WIDTH)
+
+#define BUG_CHECK_LINE_WIDTH(line) ((void)(line)
+
+#endif /* BUG_FRAME_STRUCT */
+
+
+/*
+ * Some architectures mark immediate instruction operands in a special way.
+ * In such cases the special marking may need omitting when specifying
+ * directive operands. Allow architectures to specify a suitable
+ * modifier.
+ */
+#ifndef BUG_ASM_CONST
+#define BUG_ASM_CONST ""
+#endif
+
+#ifndef _ASM_BUGFRAME_TEXT
+
+#define _ASM_BUGFRAME_TEXT(second_frame)                                            \
+    ".Lbug%=:"BUG_INSTR"\n"                                                         \
+    "   .pushsection .bug_frames.%"BUG_ASM_CONST"[bf_type], \"a\", %%progbits\n"    \
+    "   .p2align 2\n"                                                               \
+    ".Lfrm%=:\n"                                                                    \
+    "   .long (.Lbug%= - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_hi]\n"                 \
+    "   .long (%"BUG_ASM_CONST"[bf_ptr] - .Lfrm%=) + %"BUG_ASM_CONST"[bf_line_lo]\n"\
+    "   .if " #second_frame "\n"                                                    \
+    "   .long 0, %"BUG_ASM_CONST"[bf_msg] - .Lfrm%=\n"                              \
+    "   .endif\n"                                                                   \
+    "   .popsection\n"
+
+#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
+    [bf_type]    "i" (type),                                                 \
+    [bf_ptr]     "i" (ptr),                                                  \
+    [bf_msg]     "i" (msg),                                                  \
+    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
+                      << BUG_DISP_WIDTH),                                    \
+    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
+
+#endif /* _ASM_BUGFRAME_TEXT */
+
+#ifndef BUG_FRAME
+
+#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
+    BUG_CHECK_LINE_WIDTH(line);                                           \
+    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
+    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
+                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
+} while ( false )
+
+#endif
+
+#ifndef run_in_exception_handler
+
+/*
+ * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
+ * and use a real static inline here to get proper type checking of fn().
+ */
+#define run_in_exception_handler(fn) do {                   \
+    (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
+    BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);             \
+} while ( false )
+
+#endif /* run_in_exception_handler */
+
+#ifndef WARN
+#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, NULL)
+#endif
+
+#ifndef BUG
+#define BUG() do {                                              \
+    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, NULL);      \
+    unreachable();                                              \
+} while ( false )
+#endif
+
+#ifndef assert_failed
+#define assert_failed(msg) do {                                 \
+    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
+    unreachable();                                              \
+} while ( false )
+#endif
+
+#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}
+ */
+int do_bug_frame(struct cpu_user_regs *regs, unsigned long pc);
+
+#endif /* CONFIG_GENERIC_BUG_FRAME */
+
+extern const struct bug_frame __start_bug_frames[],
+                              __stop_bug_frames_0[],
+                              __stop_bug_frames_1[],
+                              __stop_bug_frames_2[],
+                              __stop_bug_frames_3[];
+
+#endif /* !__ASSEMBLY__ */
+
+#endif /* __XEN_BUG_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:51:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:51:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516183.799897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phTOW-0007mC-Ca; Wed, 29 Mar 2023 10:51:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516183.799897; Wed, 29 Mar 2023 10:51: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 1phTOW-0007m5-9e; Wed, 29 Mar 2023 10:51:08 +0000
Received: by outflank-mailman (input) for mailman id 516183;
 Wed, 29 Mar 2023 10:51: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=UO3W=7V=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1phTOV-0007lb-3x
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:51:07 +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 9b2dba1f-ce1f-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 12:51:06 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id j11so19519507lfg.13
 for <xen-devel@lists.xenproject.org>; Wed, 29 Mar 2023 03:51:06 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 j17-20020ac253b1000000b004eb0f6b7ccfsm1173572lfh.134.2023.03.29.03.50.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Mar 2023 03:50:35 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b2dba1f-ce1f-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680087065;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=+u+EjSKc1zL7CRLFsYSj29ghRtfcCrYUxraTQdJKBfY=;
        b=kYPrT74D7dvMWbGJOVvHwbUbJF8O5Yw0m76j5FmjhUhKdAqkz8PzI8IK2XfUz5gXSR
         Q211MqPmzF+lTDDEgnsgL9f/Cv9j/FDigEi67+pKB8CcyuGOIUbF/OEDko/yanNbxa9I
         JOCOtyK6Ie3rB8ctC7+d0ZMFx7mB24aP4p/lDAwTRhZenZdqdeGtrYvbXZe3Z64XzUJT
         +vZ25TDeIoV+ueFdBtdc481vkYV19dn7Z17uqtnM9hDs5N6tu/EGh5hNN819riteb661
         hvIezqIiGBKY/He7tbZvFxope0rH5c/kjbQvKa8S8N90wrIG9JR0KuHafvOHoTDcy8WB
         59fg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680087065;
        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=+u+EjSKc1zL7CRLFsYSj29ghRtfcCrYUxraTQdJKBfY=;
        b=1xMonjbS/Ao2KcOqFTP8Yg+LDPSlR98b8PrLWMuHs7a2pf6Vs793UzcWTtmNfS/aX4
         darQcSUQskglhnz+ifF0W5Go/BYiyydpWvMs7bUxhFBKIPY3kzb4d0njhiCCAfAzdkBZ
         CDGjiXI4S4J0Mfhi6rtm1DZvbgjypUsJQWuvjUOMGjUoDDIP5diRgBmCQLvaDCSOOJVl
         JJjxmAg2pAl/R518Gz8NLxTciDzmOcQv3vvo+IH39rvvAjRO2bwfkYOtRgvQKlV1gqQq
         /B1+SffV3LY64t290WYKQpPPmPUWAfLfYbhRhCCehX4KRp/nVguJw1IxQfzspcOti33s
         Tt2g==
X-Gm-Message-State: AAQBX9dcFVKHHfmfs23FF8KzevSKRn3huHEPGe1SMoNjz8b1Qa9OuNrW
	1C2PMMzJcS4SXFBSZmUkRLdoTgh1Cwo=
X-Google-Smtp-Source: AKy350YQprT0tzDh9DRkST1ZbNOCHhTX8voTwPkZEbJvzlHmF6fRjAqXZTMkCLvpAIOMvXWOz88ahA==
X-Received: by 2002:ac2:4ac2:0:b0:4ea:f5dd:8aa1 with SMTP id m2-20020ac24ac2000000b004eaf5dd8aa1mr4797976lfp.18.1680087035304;
        Wed, 29 Mar 2023 03:50:35 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v9 0/5] introduce generic implementation of macros from bug.h
Date: Wed, 29 Mar 2023 13:50:27 +0300
Message-Id: <cover.1680086655.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A large part of the content of the bug.h is repeated among all
architectures (especially x86 and RISCV have the same implementation), so it
was created a new config CONFIG_GENERIC_BUG_FRAME which is used to
introduce generic implementation of do_bug_frame() and move x86's <asm/bug.h>
to <xen/common/...> with the following changes:
  * Add inclusion of arch-specific header <asm/bug.h>
  * Rename the guard and remove x86 specific changes
  * Wrap macros BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed/etc
    into #ifndef "BUG_FRAME/run_in_exception_handler/WARN/BUG/assert_failed/etc"
    thereby each architecture can override the generic implementation of macros.
  * Add #if{n}def __ASSEMBLY__ ... #endif
  * Introduce BUG_FRAME_STRUCTURE define to be able to change the structure of bug
    frame
  * Introduce BUG_INSTR and BUG_ASM_CONST to make _ASM_BUGFRAME_TEXT reusable between
    architectures
  * Introduce BUG_DEBUGGER_TRAP_FATAL to hide details about TRAP_invalid_op for specific
    architecture
  * Introduce BUILD_BUG_ON_LINE_WIDTH(line) to make more generic BUG_FRAME macros
  * Make macros related to bug frame structure more generic.

RISC-V will be switched to use <xen/bug.h> and in the future, it will use common
the version of do_bug_frame() when xen/common will work for RISC-V.

---
Changes in V9:
  * rename BUILD_BUG_ON_LINE_WIDTH to BUG_CHECK_LINE_WIDTH
  * Remove <asm/processor.h> from <common/bug.c> as the patch were
    merged to staging which move all things used in <common/bug.c>
    from <asm/processor.h> to more proper headers.
  * add "struct cpu_user_regs" to <common/bug.c>.
  * add explanation why <xen/debugger.h> is included in <common/bug.c>
  * add additional explanation to <asm/bug.h> header	  
  * update descrption.
---
Changes in V8:
 * move  BUILD_BUG_ON_LINE_WIDTH(line) to "ifndef BUG_FRAME_STRUCT" and add #elif for
   "ifndef BUG_FRAME_STRUCT" to define stub for BUILD_BUG_ON_LINE_WIDTH.
 * move <xen/debuger.h> from <asm/bug.h> to <common/bug.c> to fix compilation issue
   ( more details in the changes to the patch [xen/x86: switch x86 to use generic
     implemetation of bug.h] ).
 * remove <asm/bug.h> from <x86/acpi/cpufreq/cpufreq.c> and
   <drivers/cpufreq/cpufreq.c> as nothing from <xen/bug.h> are used in
   <*/cpufreq.c>
 * Rebase the patch series on the top of the latest staging: it was a merge conflict
   inisde x86/Kconfig.
---
Changes in V7:
 * Introduce new patch to clean up ARM's <asm/bug.h> from unused defines: 
   BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH
 * fix addressed code style.
 * Remove '#include <xen/debugger.h>' from bug.c. it should be a part
	 of <asm/bug.h>.
 * move BUILD_BUG_ON_LINE_WIDTH to '#ifndef BUG_FRAME_STRUCT' and define
	 dummy BUILD_BUG_ON_LINE_WIDTH when BUG_FRAME_STRUCT is defined.
 * remove update prototype of 'void (*fn)(const struct cpu_user_regs *)' to
	 'void (*fn)(struct cpu_user_regs *)'.
 * add code to to make sure the type used in run_in_exception_handler()
	 matches the one used here.
 * Remove #undef {BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH} from
	 ARM and x86:
	 - for ARM was created separate patch where the defines are removed as
	   unused.
	 - for x86, the defines were removed now not to produce #undef of them to remove
     them again in the following-up patch
 * make eip 'const void *' in x86's do_invalid_op() 
 * change [eip = (unsigned char *)eip + sizeof(bug_insn);] to [eip += sizeof(bug_insn);]
 * add '#include <xen/debugger.h>' to x86's <asm/bug.h>
---
Changes in V6:
 * Update the cover letter message: add information that BUG_DEBUGGER_TRAP_FATAL() and
   BUILD_BUG_ON_LINE_WIDTH().
 * Introduce BUILD_BUG_ON_LINE_WIDTH(line) to make more generic BUG_FRAME macros.
 * fix addressed code style
 * change -EINVAL to -ENOENT in case when bug_frame wasn't found in generic do_bug_frame().
 * change all 'return id' to 'break' inside switch/case of do_bug_frame().
 * move up "#ifndef __ASSEMBLY__" to include BUG_DEBUGGER_TRAP_FATAL.
 * update the comment of BUG_ASM_CONST.
 * Introduce BUILD_BUG_ON_LINE_WIDTH(line) to make more generic BUG_FRAME macros
 * remove #ifndef BUG_FRAME_STRUCT around BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH as it is
   required to be defined before <asm/bug.h> as it is used by x86's <asm/bug.h> when
   the header is included in assembly code.
 * add undef of BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH for ARM & x86
   as they were introduced unconditionally in <xen/bug.h>.
 * update the type of eip to 'void *' in do_invalid_op() for x86
 * fix the logic of do_invalid_op() for x86
 * move macros BUG_DEBUGGER_TRAP_FATAL under #ifndef __ASSEMBLY__ as
	 it is not necessary to be in assembly code for x86.

---
Changes in V5:
 * Update the cover letter message as the patch, on which the patch series
   is based, has been merged to staging.
 * Remove "#ifdef BUG_FN_REG..." from generic do_bug_frame() as ARM will
   use generic implementation fully.
---
Changes in V4:
 * Introduce and use generic BUG_DEBUGGER_TRAP_FATAL(regs) mnacros which is used to deal with
   debugger_trap_fatal(TRAP_invalid_op, regs) where TRAP_invalid_op is x86-specific.
 * Add comment what do_bug_frame() returns.
 * Do refactoring of do_bug_frame():
     * invert the condition 'if ( region )' in do_bug_frame() to reduce the indention.
		 * change type of variable i from 'unsigned int' to 'size_t' as it  is compared with
		   n_bugs which has type 'size_t'
 * Remove '#include <xen/stringify.h>' from <xen/bug.h> as it doesn't need any more after switch to
   x86 implementation.
 * Remove '#include <xen/errno.h>' as it isn't needed any more
 * Move bug_*() macros inside '#ifndef BUG_FRAME_STRUCT'
 * Add <xen/lib.h> to fix compile issue with BUILD_ON()...
 * Add documentation for BUG_ASM_CONST.
 * Defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH were moved into
   "ifndef BUG_FRAME_STRUCT" in <xen/bug.h> as they are specific for 'struct bug_frame' and so should
   co-exist together. So the defines were back to <asm/bug.h> until BUG_FRAME_STRUCT will be defined in
	 <asm/bug.h>.
 * Switch ARM implementation to generic one
 * Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed after switch to generic implementation
 * Back comment /* !__ASSEMBLY__ */ for #else case in <asm/bug.h>
 * Remove changes related to x86/.../asm/debuger.h as do_bug_frame() prototype was updated and cpu_user_regs
	 isn't const any more.

---
Changes in V3:
 * Nothing was done with the comment in <xen/bug.h> before run_in_exception_handler
   but I think it can be changed during the merge.
 * Add debugger_trap_fatal() to do_bug_frame(). It simplifies usage of
   do_bug_frame() for x86 so making handle_bug_frame() and find_bug_frame()
   not needed anymore.
 * Update do_bug_frame() to return -EINVAL if something goes wrong; otherwise
   id of bug_frame
 * Update _ASM_BUGFRAME_TEXT to make it more portable.
 * Drop unnecessary comments.
 * Update patch 2 not to break compilation: move some parts from patches 3 and 4
   to patch 2
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
 * Change debugger_trap_fatal() prototype for x86 to align with prototype in
   <xen/debugger.h>
---
Changes in V2:
  * Update cover letter.
  * Switch to x86 implementation as generic as it is more compact ( at least from the point of view of bug frame structure).
  * Put [PATCH v1 4/4] xen: change <asm/bug.h> to <xen/bug.h> as second patch,
    update the patch to change all <asm/bug.h> to <xen/bug.h> among the whole project
    to not break compilation.
  * Rename CONFIG_GENERIC_DO_BUG_FRAME to CONFIG_GENERIC_BUG_FRAME.
  * Change the macro bug_loc(b) to avoid the need for a cast:
    #define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
  * Rename BUG_FRAME_STUFF to BUG_FRAME_STRUCT
  * Make macros related to bug frame structure more generic.
  * Rename bug_file() in ARM implementation to bug_ptr() as generic do_bug_frame() uses
    bug_ptr().
  * Introduce BUG_INSTR and MODIFIER to make _ASM_BUGFRAME_TEXT reusable between x86 and
    RISC-V.
  * Rework do_invalid_op() in x86 ( re-use handle_bug_frame() and find_bug_frame() )
---

Oleksii Kurochko (5):
  xen: introduce CONFIG_GENERIC_BUG_FRAME
  xen/arm: remove unused defines in <asm/bug.h>
  xen: change <asm/bug.h> to <xen/bug.h>
  xen/arm: switch ARM to use generic implementation of bug.h
  xen/x86: switch x86 to use generic implemetation of bug.h

 xen/arch/arm/Kconfig                 |   1 +
 xen/arch/arm/arm32/traps.c           |   2 +-
 xen/arch/arm/include/asm/arm32/bug.h |   2 -
 xen/arch/arm/include/asm/arm64/bug.h |   2 -
 xen/arch/arm/include/asm/bug.h       | 106 ++++--------------
 xen/arch/arm/include/asm/div64.h     |   2 +-
 xen/arch/arm/include/asm/traps.h     |   2 -
 xen/arch/arm/traps.c                 |  81 +-------------
 xen/arch/arm/vgic/vgic-v2.c          |   2 +-
 xen/arch/arm/vgic/vgic.c             |   2 +-
 xen/arch/x86/Kconfig                 |   1 +
 xen/arch/x86/acpi/cpufreq/cpufreq.c  |   1 -
 xen/arch/x86/include/asm/asm_defns.h |   2 +-
 xen/arch/x86/include/asm/bug.h       | 100 ++++-------------
 xen/arch/x86/traps.c                 |  81 ++------------
 xen/common/Kconfig                   |   3 +
 xen/common/Makefile                  |   1 +
 xen/common/bug.c                     | 126 +++++++++++++++++++++
 xen/drivers/cpufreq/cpufreq.c        |   1 -
 xen/include/xen/bug.h                | 161 +++++++++++++++++++++++++++
 xen/include/xen/lib.h                |   2 +-
 21 files changed, 349 insertions(+), 332 deletions(-)
 create mode 100644 xen/common/bug.c
 create mode 100644 xen/include/xen/bug.h

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:51:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:51:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516185.799918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phTOZ-0008HT-2Q; Wed, 29 Mar 2023 10:51:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516185.799918; Wed, 29 Mar 2023 10: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 1phTOY-0008HL-VI; Wed, 29 Mar 2023 10:51:10 +0000
Received: by outflank-mailman (input) for mailman id 516185;
 Wed, 29 Mar 2023 10:51: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=UO3W=7V=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1phTOX-0007lb-4Y
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:51: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 9c23af94-ce1f-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 12:51:07 +0200 (CEST)
Received: by mail-lj1-x233.google.com with SMTP id t14so15603741ljd.5
 for <xen-devel@lists.xenproject.org>; Wed, 29 Mar 2023 03:51:07 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 j17-20020ac253b1000000b004eb0f6b7ccfsm1173572lfh.134.2023.03.29.03.51.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Mar 2023 03:51:06 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c23af94-ce1f-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680087067;
        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=DldPskHzgYoIvAYeHKpbfRQwsqZOEaBiKKquVpoPiN4=;
        b=NGek71g98vpT7REoy4T6NLVHYWa68X4Sp3dnCziNewPw/8I4LGvQLcnxihy/InMOyo
         YrEhUXAluKiWfKjoJzJeQDxWx0dC3kN0xeL7pzXwZEyGl+YHRtBybg42ZqaKEluXQnuE
         LEagycEAyZbURb9D6g4YFgUJzc077QUgllUFaKPJsOkQTKCWeLWnBZ4gHYn7wGBobAP/
         E02g8aLkxMS2RLgfYCJYlV+03uo0SR4zw8p9vNCqk3jZ1xODCOkybo7woq6cK+A+ooGu
         guIMDxW6U2tE2/JYI8loW0fRjeQylRadX9d6uSIjdfvQkuykeixeGK6T8IOLSaY9YFM8
         OQ0g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680087067;
        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=DldPskHzgYoIvAYeHKpbfRQwsqZOEaBiKKquVpoPiN4=;
        b=bz9L22UYRgJVXG1vdLbUKlTr/Yp+QxS708BUpH27bYgKEeLWSeY7E6KK6v4LD9kHKw
         ezoFDDV795mYeAFUopwWIs91Re6T/DxAND+//F0qm7ECfSrG6fF1+lwHva0ZmUY2iLCR
         dsd7MzSuNkeVGEa5UZYDsn80ltI+JIo11zodsFEz8CQBzcbWr73f0/0EgqOVPZB+T0n9
         uLu10jpOcm3/ciVMVsq3eJURAiI3rRP+J6ymDqwxdBSoZjdafUAN7qHPw9PU8AsUvWme
         qhPIKrY/K0oJ9sjBSrwwZAOwY1gxj976c9AvQYrPBc7Fja60/70bO8aZ1zbnSJX+kQms
         gVKw==
X-Gm-Message-State: AAQBX9dOw2/7cIACxwkAbRyayi8uZlK/yB78WK6dOjC7hLvUGIyF/T8/
	mrhs590wyzFiEE1sDUAKRmvdxENVxMw=
X-Google-Smtp-Source: AKy350Z616Thnf37B8Qxl0dFhprg4uBVFFk/qBOlc5ZzDA8BzpZbYqD1+zq/MIFZ3gzv6fFLTudzSw==
X-Received: by 2002:a2e:80d6:0:b0:29d:d0b:7a78 with SMTP id r22-20020a2e80d6000000b0029d0d0b7a78mr5996097ljg.21.1680087067008;
        Wed, 29 Mar 2023 03:51:07 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v9 2/5] xen/arm: remove unused defines in <asm/bug.h>
Date: Wed, 29 Mar 2023 13:50:29 +0300
Message-Id: <b1f14f37c933fb4185d85b0ecf6fe9794ce81970.1680086655.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1680086655.git.oleksii.kurochko@gmail.com>
References: <cover.1680086655.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH,
BUG_LINE_HI_WIDTH aren't used in ARM so could be purged
as unused.

Requested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V9:
 * Nothing changed
---
Changes in V8:
 * Update the commit message with Requested-by and Reviewed-by
---
 xen/arch/arm/include/asm/bug.h | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index f4088d0913..d6c98505bf 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -9,10 +9,6 @@
 # error "unknown ARM variant"
 #endif
 
-#define BUG_DISP_WIDTH    24
-#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
-#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
-
 struct bug_frame {
     signed int loc_disp;    /* Relative address to the bug address */
     signed int file_disp;   /* Relative address to the filename */
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:51:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:51:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516186.799925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phTOZ-0008Kz-HP; Wed, 29 Mar 2023 10:51:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516186.799925; Wed, 29 Mar 2023 10: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 1phTOZ-0008Jm-7b; Wed, 29 Mar 2023 10:51:11 +0000
Received: by outflank-mailman (input) for mailman id 516186;
 Wed, 29 Mar 2023 10:51: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=UO3W=7V=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1phTOY-0007lb-4i
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:51:10 +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 9cf3b944-ce1f-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 12:51:09 +0200 (CEST)
Received: by mail-lf1-x136.google.com with SMTP id j11so19519676lfg.13
 for <xen-devel@lists.xenproject.org>; Wed, 29 Mar 2023 03:51:09 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 j17-20020ac253b1000000b004eb0f6b7ccfsm1173572lfh.134.2023.03.29.03.51.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Mar 2023 03:51: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: 9cf3b944-ce1f-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680087068;
        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=W4hm0NhPYtnVD8krpgBcFgSPSXUb/9KSDjrwyawhzs4=;
        b=Ti4IqCK97MPndFrP8PVZIVu+Q79yqwYq68VMR0d21qgNXnLwL7LGvNW3ziw7+ueBjt
         TiosmseI0q4zvaBg6HdYGos65WBPDgPSMRCdB6fdDrF9r45+t625/SWX74lonnILo6Jg
         FYSvAxs6UeUEd3IkRYevF9th4/ZdvQ8ySzs+p/hI5hzptw4lRfqDaaPrmExAvTgSaKM6
         1+L6uoYywk5Vaz4+0FEXh0M8GB6qv7jFQUsfJlyC64zaVbYoaOb5wv44rU/s1+ErGo/F
         Qj1KJRhZqbWyRuZb727X0O3A9UnkEaejZbDr7EigZBBzWUkmUCDGCsRacC7sZTaVn9l1
         2IBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680087068;
        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=W4hm0NhPYtnVD8krpgBcFgSPSXUb/9KSDjrwyawhzs4=;
        b=3Prvovyl4BZ8Xs8CEKrDupSJAz1iN/pC4TKeahbquVs1AmoTzCPBf/Y4S8HkV8u3n/
         xZ05gSxSORxW1JIFuPnyF1ass3c3T4Hr1xWs43ZhF3pkRd2Y+i6kxjqvazLJwlPAyA+1
         Vwl8Tv36PKAmLtArLMw14K25VugtfhIR4JwVuEcj43T5CnwbMTiBjjImme+sImQcFhDD
         dzJ2Gdf8gdPxSa7WTnnF4i4Jp38GbaJlq0HvcxbF7hJa2yS5SVTF9tB7GWlDYSimJL8Q
         Sa3SvL1b5Wk1TZndJfwmSgMrHNmH3a89OJUi4moFwl48XSr5/K89FrcYt+IizMrqrLO2
         Mo/w==
X-Gm-Message-State: AAQBX9ezZ5K6IH0kNzYp7FGfsvqBAJHgwERElVDWxhPn890q+6VlkMrD
	Np+6JL1LbDGJ/A7eqq9udixqFr716WE=
X-Google-Smtp-Source: AKy350aZ+yRz5s1d6x6XlDfDtkrtemdQFAaW9oZQdezm35Wzno1h/TZqKTfQeeqfRruQK3WnqPMkcA==
X-Received: by 2002:a19:f602:0:b0:4e8:a093:5eea with SMTP id x2-20020a19f602000000b004e8a0935eeamr577637lfe.11.1680087068545;
        Wed, 29 Mar 2023 03:51:08 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v9 4/5] xen/arm: switch ARM to use generic implementation of bug.h
Date: Wed, 29 Mar 2023 13:50:31 +0300
Message-Id: <8fdb98350ae4fc6029738d0aabe13a57e1945a50.1680086655.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1680086655.git.oleksii.kurochko@gmail.com>
References: <cover.1680086655.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following changes were made:
* make GENERIC_BUG_FRAME mandatory for ARM
* As do_bug_frame() returns -EINVAL in case something goes wrong
  otherwise id of bug frame. Thereby 'if' cases where do_bug_frame() was
  updated to check if the returned value is less than 0
* Switch ARM's implementation of bug.h macros to generic one

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V9:
 * add additional explanation to <asm/bug.h> header
---
Changes in V8:
 * Nothing changed.
---
Changes in V7:
 * Rebase the patch.
---
Changes in V6:
 * Update the "changes in v5"
 * Rebase on top of the patch [xen: introduce CONFIG_GENERIC_BUG_FRAME] as
   there were minor changes.
---
Changes in V5:
 * common/bug.c changes were removed after rebase
   (the patch [xen: introduce CONFIG_GENERIC_BUG_FRAME] was reworked to make
    ARM implementation to use generic do_bug_frame())
---
Changes in V4:
 * Switch ARM implementation to generic one
 * Remove BUG_FN_REG from arm{16,32}/bug.h as it isn't needed after switch to generic implementation
 * Update commit message
---
Changes in V3:
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
---
Changes in V2:
 * Rename bug_file() in ARM implementation to bug_ptr() as
   generic do_bug_frame() uses bug_ptr().
 * Remove generic parts from bug.h
 * Remove declaration of 'int do_bug_frame(...)'
   from <asm/traps.h> as it was introduced in <xen/bug.h>
---
 xen/arch/arm/Kconfig                 |  1 +
 xen/arch/arm/arm32/traps.c           |  2 +-
 xen/arch/arm/include/asm/arm32/bug.h |  2 -
 xen/arch/arm/include/asm/arm64/bug.h |  2 -
 xen/arch/arm/include/asm/bug.h       | 89 ++++++----------------------
 xen/arch/arm/include/asm/traps.h     |  2 -
 xen/arch/arm/traps.c                 | 81 +------------------------
 7 files changed, 22 insertions(+), 157 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 239d3aed3c..aad6644a7b 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -12,6 +12,7 @@ config ARM_64
 
 config ARM
 	def_bool y
+	select GENERIC_BUG_FRAME
 	select HAS_ALTERNATIVE
 	select HAS_DEVICE_TREE
 	select HAS_PASSTHROUGH
diff --git a/xen/arch/arm/arm32/traps.c b/xen/arch/arm/arm32/traps.c
index a2fc1c22cb..61c61132c7 100644
--- a/xen/arch/arm/arm32/traps.c
+++ b/xen/arch/arm/arm32/traps.c
@@ -48,7 +48,7 @@ void do_trap_undefined_instruction(struct cpu_user_regs *regs)
     if ( instr != BUG_OPCODE )
         goto die;
 
-    if ( do_bug_frame(regs, pc) )
+    if ( do_bug_frame(regs, pc) < 0 )
         goto die;
 
     regs->pc += 4;
diff --git a/xen/arch/arm/include/asm/arm32/bug.h b/xen/arch/arm/include/asm/arm32/bug.h
index 25cce151dc..3e66f35969 100644
--- a/xen/arch/arm/include/asm/arm32/bug.h
+++ b/xen/arch/arm/include/asm/arm32/bug.h
@@ -10,6 +10,4 @@
 
 #define BUG_INSTR ".word " __stringify(BUG_OPCODE)
 
-#define BUG_FN_REG r0
-
 #endif /* __ARM_ARM32_BUG_H__ */
diff --git a/xen/arch/arm/include/asm/arm64/bug.h b/xen/arch/arm/include/asm/arm64/bug.h
index 5e11c0dfd5..59f664d7de 100644
--- a/xen/arch/arm/include/asm/arm64/bug.h
+++ b/xen/arch/arm/include/asm/arm64/bug.h
@@ -6,6 +6,4 @@
 
 #define BUG_INSTR "brk " __stringify(BRK_BUG_FRAME_IMM)
 
-#define BUG_FN_REG x0
-
 #endif /* __ARM_ARM64_BUG_H__ */
diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index cacaf014ab..3fb0471a9b 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -1,6 +1,24 @@
 #ifndef __ARM_BUG_H__
 #define __ARM_BUG_H__
 
+/*
+ * Please do not include in the header any header that might
+ * use BUG/ASSERT/etc maros asthey will be defined later after
+ * the return to <xen/bug.h> from the current header:
+ * 
+ * <xen/bug.h>:
+ *  ...
+ *   <asm/bug.h>:
+ *     ...
+ *     <any_header_which_uses_BUG/ASSERT/etc macros.h>
+ *     ...
+ *  ...
+ *  #define BUG() ...
+ *  ...
+ *  #define ASSERT() ...
+ *  ...
+ */
+
 #include <xen/types.h>
 
 #if defined(CONFIG_ARM_32)
@@ -11,76 +29,7 @@
 # error "unknown ARM variant"
 #endif
 
-#define BUG_FRAME_STRUCT
-
-struct bug_frame {
-    signed int loc_disp;    /* Relative address to the bug address */
-    signed int file_disp;   /* Relative address to the filename */
-    signed int msg_disp;    /* Relative address to the predicate (for ASSERT) */
-    uint16_t line;          /* Line number */
-    uint32_t pad0:16;       /* Padding for 8-bytes align */
-};
-
-#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
-#define bug_file(b) ((const void *)(b) + (b)->file_disp);
-#define bug_line(b) ((b)->line)
-#define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
-
-/* Many versions of GCC doesn't support the asm %c parameter which would
- * be preferable to this unpleasantness. We use mergeable string
- * sections to avoid multiple copies of the string appearing in the
- * Xen image. BUGFRAME_run_fn needs to be handled separately.
- */
-#define BUG_FRAME(type, line, file, has_msg, msg) do {                      \
-    BUILD_BUG_ON((line) >> 16);                                             \
-    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                    \
-    asm ("1:"BUG_INSTR"\n"                                                  \
-         ".pushsection .rodata.str, \"aMS\", %progbits, 1\n"                \
-         "2:\t.asciz " __stringify(file) "\n"                               \
-         "3:\n"                                                             \
-         ".if " #has_msg "\n"                                               \
-         "\t.asciz " #msg "\n"                                              \
-         ".endif\n"                                                         \
-         ".popsection\n"                                                    \
-         ".pushsection .bug_frames." __stringify(type) ", \"a\", %progbits\n"\
-         "4:\n"                                                             \
-         ".p2align 2\n"                                                     \
-         ".long (1b - 4b)\n"                                                \
-         ".long (2b - 4b)\n"                                                \
-         ".long (3b - 4b)\n"                                                \
-         ".hword " __stringify(line) ", 0\n"                                \
-         ".popsection");                                                    \
-} while (0)
-
-/*
- * GCC will not allow to use "i"  when PIE is enabled (Xen doesn't set the
- * flag but instead rely on the default value from the compiler). So the
- * easiest way to implement run_in_exception_handler() is to pass the to
- * be called function in a fixed register.
- */
-#define  run_in_exception_handler(fn) do {                                  \
-    asm ("mov " __stringify(BUG_FN_REG) ", %0\n"                            \
-         "1:"BUG_INSTR"\n"                                                  \
-         ".pushsection .bug_frames." __stringify(BUGFRAME_run_fn) ","       \
-         "             \"a\", %%progbits\n"                                 \
-         "2:\n"                                                             \
-         ".p2align 2\n"                                                     \
-         ".long (1b - 2b)\n"                                                \
-         ".long 0, 0, 0\n"                                                  \
-         ".popsection" :: "r" (fn) : __stringify(BUG_FN_REG) );             \
-} while (0)
-
-#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, "")
-
-#define BUG() do {                                              \
-    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, "");        \
-    unreachable();                                              \
-} while (0)
-
-#define assert_failed(msg) do {                                 \
-    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
-    unreachable();                                              \
-} while (0)
+#define BUG_ASM_CONST   "c"
 
 #endif /* __ARM_BUG_H__ */
 /*
diff --git a/xen/arch/arm/include/asm/traps.h b/xen/arch/arm/include/asm/traps.h
index 883dae368e..c6518008ec 100644
--- a/xen/arch/arm/include/asm/traps.h
+++ b/xen/arch/arm/include/asm/traps.h
@@ -69,8 +69,6 @@ void do_cp(struct cpu_user_regs *regs, const union hsr hsr);
 void do_trap_smc(struct cpu_user_regs *regs, const union hsr hsr);
 void do_trap_hvc_smccc(struct cpu_user_regs *regs);
 
-int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc);
-
 void noreturn do_unexpected_trap(const char *msg,
                                  const struct cpu_user_regs *regs);
 void do_trap_hyp_sync(struct cpu_user_regs *regs);
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 061c92acbd..9c6eb66422 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1197,85 +1197,6 @@ void do_unexpected_trap(const char *msg, const struct cpu_user_regs *regs)
     panic("CPU%d: Unexpected Trap: %s\n", smp_processor_id(), msg);
 }
 
-int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
-{
-    const struct bug_frame *bug = NULL;
-    const char *prefix = "", *filename, *predicate;
-    unsigned long fixup;
-    int id = -1, lineno;
-    const struct virtual_region *region;
-
-    region = find_text_region(pc);
-    if ( region )
-    {
-        for ( id = 0; id < BUGFRAME_NR; id++ )
-        {
-            const struct bug_frame *b;
-            unsigned int i;
-
-            for ( i = 0, b = region->frame[id].bugs;
-                  i < region->frame[id].n_bugs; b++, i++ )
-            {
-                if ( ((vaddr_t)bug_loc(b)) == pc )
-                {
-                    bug = b;
-                    goto found;
-                }
-            }
-        }
-    }
- found:
-    if ( !bug )
-        return -ENOENT;
-
-    if ( id == BUGFRAME_run_fn )
-    {
-        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
-
-        fn(regs);
-        return 0;
-    }
-
-    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = bug_file(bug);
-    if ( !is_kernel(filename) )
-        return -EINVAL;
-    fixup = strlen(filename);
-    if ( fixup > 50 )
-    {
-        filename += fixup - 47;
-        prefix = "...";
-    }
-    lineno = bug_line(bug);
-
-    switch ( id )
-    {
-    case BUGFRAME_warn:
-        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
-        return 0;
-
-    case BUGFRAME_bug:
-        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
-        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-    case BUGFRAME_assert:
-        /* ASSERT: decode the predicate string pointer. */
-        predicate = bug_msg(bug);
-        if ( !is_kernel(predicate) )
-            predicate = "<unknown>";
-
-        printk("Assertion '%s' failed at %s%s:%d\n",
-               predicate, prefix, filename, lineno);
-        show_execution_state(regs);
-        panic("Assertion '%s' failed at %s%s:%d\n",
-              predicate, prefix, filename, lineno);
-    }
-
-    return -EINVAL;
-}
-
 #ifdef CONFIG_ARM_64
 static void do_trap_brk(struct cpu_user_regs *regs, const union hsr hsr)
 {
@@ -1292,7 +1213,7 @@ static void do_trap_brk(struct cpu_user_regs *regs, const union hsr hsr)
     switch ( hsr.brk.comment )
     {
     case BRK_BUG_FRAME_IMM:
-        if ( do_bug_frame(regs, regs->pc) )
+        if ( do_bug_frame(regs, regs->pc) < 0 )
             goto die;
 
         regs->pc += 4;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:51:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:51:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516187.799930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phTOZ-0008RV-Up; Wed, 29 Mar 2023 10:51:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516187.799930; Wed, 29 Mar 2023 10: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 1phTOZ-0008QB-Kg; Wed, 29 Mar 2023 10:51:11 +0000
Received: by outflank-mailman (input) for mailman id 516187;
 Wed, 29 Mar 2023 10:51: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=UO3W=7V=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1phTOY-0008D9-Kb
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:51:10 +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 9c7dd214-ce1f-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 12:51:08 +0200 (CEST)
Received: by mail-lf1-x12f.google.com with SMTP id g19so6432096lfr.9
 for <xen-devel@lists.xenproject.org>; Wed, 29 Mar 2023 03:51:08 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 j17-20020ac253b1000000b004eb0f6b7ccfsm1173572lfh.134.2023.03.29.03.51.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Mar 2023 03:51:07 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c7dd214-ce1f-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680087068;
        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=1s1r6KRhx39jhndI0y/4b14T4ESIUvQbe+DJRtNyGyY=;
        b=FIFosA7GknH4flXYa8J1UMBlQWtHrSLkM4Vu3/eXeVMrIXYZtwJ2y7IZj4nTKjVzQR
         LD2/Hx6V9CN9FqhHxavXETXQ96vynLflIo4fpyJQUkvRiTpU0TcgVS+qS1ec/pqT5WEk
         kaiRkho9aywL5rY4d53MlWCdVSd88tHl6d88hu3+NBzWl2fMOHDhJxe8DkjX77+LTnOa
         TATmB0gFmkySlAAklbJ+4E//bo4dd/+LDFDL0fqbRVAIH8iY0PIi986/zHRs03pKr94g
         7l7y10gUC00oWNCu/0uFH63lRVGsDgP/+zhI3ep9Uy03C/0eZ9gihqbMb80Dtqr2TIW3
         CDdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680087068;
        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=1s1r6KRhx39jhndI0y/4b14T4ESIUvQbe+DJRtNyGyY=;
        b=NyJw853Qj73dmBa/4Er1ea5XsgfAahedC4fH1dF4TtJ5CvZXn8xRX4xN7cpP6sy7EG
         7RN/bQsp0fmy09/YRqlkGF/XcAXUKhN6wHRo1FPtyHSUW86iq6dNHhNdMZuUlA9bKWbF
         4E/vssJOVZ1cLdbcnyTdEUBJ33iHrhPYfaiTs/k/Ts+x28RS9RWzXZmWvuSvRW49nOMG
         RlRFRwpCLkUU2Ik0IkZJCgOYBI/WBMjp7gsBtII2cVfdFDKIo78l6oSNJQ2kFQxMsKtb
         56LxqD7XumZZ//sJvDSXcMk7rZwfVVOeigxkUFaiTx/mnP6PYnXHYsnXJV8MZgoh1SdK
         zn5Q==
X-Gm-Message-State: AAQBX9dKFmnhPcoIEWNQAYMQQsGFSlMJQuts/a1PhpsfIdFuUZNnPzuA
	ym7SDzO3utuePMSj8PMUNQ7CIXSOsJU=
X-Google-Smtp-Source: AKy350bIGBtupeLsdA/Kna4fNOQJTLfgJ6kdr7w5t16OPdln2pa7VcDzfhcKAwypAUb4RJBVsFbT8w==
X-Received: by 2002:ac2:5681:0:b0:4e9:7931:809f with SMTP id 1-20020ac25681000000b004e97931809fmr5290721lfr.61.1680087067853;
        Wed, 29 Mar 2023 03:51:07 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v9 3/5] xen: change <asm/bug.h> to <xen/bug.h>
Date: Wed, 29 Mar 2023 13:50:30 +0300
Message-Id: <67e4c153cecb5757c7b55a4cffc8c7bb6b10c0d0.1680086655.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1680086655.git.oleksii.kurochko@gmail.com>
References: <cover.1680086655.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The idea of the patch is to change all <asm/bug.h> to <xen/bug.h> and
keep Xen compilable with adding only minimal amount of changes:
1. It was added "#include <xen/types.h>" to ARM's "<asm/bug.h>" as it
  uses uint_{16,32}t in 'struct bug_frame'.
2. It was added '#define BUG_FRAME_STRUCT' which means that ARM hasn't
  been switched to generic implementation yet.
3. It was added '#define BUG_FRAME_STRUCT' which means that x86 hasn't
  been switched to generic implementation yet.
4. BUGFRAME_* and _start_bug_frame[], _stop_bug_frame_*[] were removed
  for ARM & x86 to deal with compilation errors such as:
      redundant redeclaration of ...
5. Remove BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH from
  x86's <asm.bug.h> to not to produce #undef for them and #define again
  with the same values as in <xen/bug.h>. These #undef and #define will
  be anyway removed in the patch [2]
6. Remove <asm/bug.h> from <x86/acpi/cpufreq/cpufreq.c> and
  <drivers/cpufreq/cpufreq.c> as nothing from <xen/bug.h> are used in
  <*/cpufreq.c>

In the following two patches x86 and ARM archictectures will be
switched fully:
[1] xen/arm: switch ARM to use generic implementation of bug.h
[2] xen/x86: switch x86 to use generic implemetation of bug.h

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V9:
 * Nothing changed
---
Changes in V8:
 * remove <asm/bug.h> from <x86/acpi/cpufreq/cpufreq.c> and
   <drivers/cpufreq/cpufreq.c> as nothing from <xen/bug.h> are used in
   <*/cpufreq.c>
 * update the commit message
---
Changes in V7:
 * Remove #undef {BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH} from
   ARM and x86:
   * for ARM was created separate patch where the defines are removed as
     unused.
   * for x86, the defines were removed now not to produce #undef of them to remove
            them again in the following-up patch
 * Update commit message
 * Add Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V6:
	- change the inclusion order of <xen/bug.h>.
	- add #undef of BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH for ARM & x86
	  as they were introduced unconditionally in <xen/bug.h>.
	- update the commit message
---
Changes in V5:
 - Nothing changed
---
Changes in V4:
	- defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH were moved into
	  "ifndef BUG_FRAME_STRUCT" in <xen/bug.h> as they are specific for 'struct bug_frame' and so should
	  co-exist together. So the defines were back to <asm/bug.h> until BUG_FRAME_STRUCT will be defined in
	  <asm/bug.h>.
	- Update the comment message.
---
Changes in V3:
 * Update patch 2 not to break compilation: move some parts from patches 3 and 4
   to patch 2:
   * move some generic parts from <asm/bug.h> to <xen/bug.h>
   * add define BUG_FRAME_STRUCT in ARM's <asm/bug.h>
---
Changes in V2:
 * Put [PATCH v1 4/4] xen: change <asm/bug.h> to <xen/bug.h> as second patch,
   update the patch to change all <asm/bug.h> to <xen/bug.h> among the whole project
   to not break build.
 * Update the commit message.
---
 xen/arch/arm/include/asm/bug.h       | 17 ++++-------------
 xen/arch/arm/include/asm/div64.h     |  2 +-
 xen/arch/arm/vgic/vgic-v2.c          |  2 +-
 xen/arch/arm/vgic/vgic.c             |  2 +-
 xen/arch/x86/acpi/cpufreq/cpufreq.c  |  1 -
 xen/arch/x86/include/asm/asm_defns.h |  2 +-
 xen/arch/x86/include/asm/bug.h       | 19 ++-----------------
 xen/drivers/cpufreq/cpufreq.c        |  1 -
 xen/include/xen/lib.h                |  2 +-
 9 files changed, 11 insertions(+), 37 deletions(-)

diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
index d6c98505bf..cacaf014ab 100644
--- a/xen/arch/arm/include/asm/bug.h
+++ b/xen/arch/arm/include/asm/bug.h
@@ -1,6 +1,8 @@
 #ifndef __ARM_BUG_H__
 #define __ARM_BUG_H__
 
+#include <xen/types.h>
+
 #if defined(CONFIG_ARM_32)
 # include <asm/arm32/bug.h>
 #elif defined(CONFIG_ARM_64)
@@ -9,6 +11,8 @@
 # error "unknown ARM variant"
 #endif
 
+#define BUG_FRAME_STRUCT
+
 struct bug_frame {
     signed int loc_disp;    /* Relative address to the bug address */
     signed int file_disp;   /* Relative address to the filename */
@@ -22,13 +26,6 @@ struct bug_frame {
 #define bug_line(b) ((b)->line)
 #define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
 
-#define BUGFRAME_run_fn 0
-#define BUGFRAME_warn   1
-#define BUGFRAME_bug    2
-#define BUGFRAME_assert 3
-
-#define BUGFRAME_NR     4
-
 /* Many versions of GCC doesn't support the asm %c parameter which would
  * be preferable to this unpleasantness. We use mergeable string
  * sections to avoid multiple copies of the string appearing in the
@@ -85,12 +82,6 @@ struct bug_frame {
     unreachable();                                              \
 } while (0)
 
-extern const struct bug_frame __start_bug_frames[],
-                              __stop_bug_frames_0[],
-                              __stop_bug_frames_1[],
-                              __stop_bug_frames_2[],
-                              __stop_bug_frames_3[];
-
 #endif /* __ARM_BUG_H__ */
 /*
  * Local variables:
diff --git a/xen/arch/arm/include/asm/div64.h b/xen/arch/arm/include/asm/div64.h
index 1cd58bc51a..fc667a80f9 100644
--- a/xen/arch/arm/include/asm/div64.h
+++ b/xen/arch/arm/include/asm/div64.h
@@ -74,7 +74,7 @@
 
 #elif __GNUC__ >= 4
 
-#include <asm/bug.h>
+#include <xen/bug.h>
 
 /*
  * If the divisor happens to be constant, we determine the appropriate
diff --git a/xen/arch/arm/vgic/vgic-v2.c b/xen/arch/arm/vgic/vgic-v2.c
index 1a99d3a8b4..c90e88fddb 100644
--- a/xen/arch/arm/vgic/vgic-v2.c
+++ b/xen/arch/arm/vgic/vgic-v2.c
@@ -16,8 +16,8 @@
  */
 
 #include <asm/new_vgic.h>
-#include <asm/bug.h>
 #include <asm/gic.h>
+#include <xen/bug.h>
 #include <xen/sched.h>
 #include <xen/sizes.h>
 
diff --git a/xen/arch/arm/vgic/vgic.c b/xen/arch/arm/vgic/vgic.c
index f0f2ea5021..b9463a5f27 100644
--- a/xen/arch/arm/vgic/vgic.c
+++ b/xen/arch/arm/vgic/vgic.c
@@ -15,9 +15,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <xen/bug.h>
 #include <xen/list_sort.h>
 #include <xen/sched.h>
-#include <asm/bug.h>
 #include <asm/event.h>
 #include <asm/new_vgic.h>
 
diff --git a/xen/arch/x86/acpi/cpufreq/cpufreq.c b/xen/arch/x86/acpi/cpufreq/cpufreq.c
index c27cbb2304..2e0067fbe5 100644
--- a/xen/arch/x86/acpi/cpufreq/cpufreq.c
+++ b/xen/arch/x86/acpi/cpufreq/cpufreq.c
@@ -35,7 +35,6 @@
 #include <xen/sched.h>
 #include <xen/timer.h>
 #include <xen/xmalloc.h>
-#include <asm/bug.h>
 #include <asm/msr.h>
 #include <asm/io.h>
 #include <asm/processor.h>
diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
index d9431180cf..baaaccb26e 100644
--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -6,8 +6,8 @@
 /* NB. Auto-generated from arch/.../asm-offsets.c */
 #include <asm/asm-offsets.h>
 #endif
-#include <asm/bug.h>
 #include <asm/x86-defns.h>
+#include <xen/bug.h>
 #include <xen/stringify.h>
 #include <asm/cpufeature.h>
 #include <asm/alternative.h>
diff --git a/xen/arch/x86/include/asm/bug.h b/xen/arch/x86/include/asm/bug.h
index b7265bdfbe..4b3e7b019d 100644
--- a/xen/arch/x86/include/asm/bug.h
+++ b/xen/arch/x86/include/asm/bug.h
@@ -1,19 +1,10 @@
 #ifndef __X86_BUG_H__
 #define __X86_BUG_H__
 
-#define BUG_DISP_WIDTH    24
-#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
-#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
-
-#define BUGFRAME_run_fn 0
-#define BUGFRAME_warn   1
-#define BUGFRAME_bug    2
-#define BUGFRAME_assert 3
-
-#define BUGFRAME_NR     4
-
 #ifndef __ASSEMBLY__
 
+#define BUG_FRAME_STRUCT
+
 struct bug_frame {
     signed int loc_disp:BUG_DISP_WIDTH;
     unsigned int line_hi:BUG_LINE_HI_WIDTH;
@@ -80,12 +71,6 @@ struct bug_frame {
     unreachable();                                              \
 } while (0)
 
-extern const struct bug_frame __start_bug_frames[],
-                              __stop_bug_frames_0[],
-                              __stop_bug_frames_1[],
-                              __stop_bug_frames_2[],
-                              __stop_bug_frames_3[];
-
 #else  /* !__ASSEMBLY__ */
 
 /*
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index a94520ee57..2321c7dd07 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -39,7 +39,6 @@
 #include <xen/guest_access.h>
 #include <xen/domain.h>
 #include <xen/cpu.h>
-#include <asm/bug.h>
 #include <asm/io.h>
 #include <asm/processor.h>
 
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 05ee1e18af..e914ccade0 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -24,12 +24,12 @@
 
 #ifndef __ASSEMBLY__
 
+#include <xen/bug.h>
 #include <xen/inttypes.h>
 #include <xen/stdarg.h>
 #include <xen/types.h>
 #include <xen/xmalloc.h>
 #include <xen/string.h>
-#include <asm/bug.h>
 
 #define BUG_ON(p)  do { if (unlikely(p)) BUG();  } while (0)
 #define WARN_ON(p)  ({                  \
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:51:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:51:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516188.799939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phTOa-0000FH-Kk; Wed, 29 Mar 2023 10:51:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516188.799939; Wed, 29 Mar 2023 10:51: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 1phTOa-0000Bu-B6; Wed, 29 Mar 2023 10:51:12 +0000
Received: by outflank-mailman (input) for mailman id 516188;
 Wed, 29 Mar 2023 10:51: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=UO3W=7V=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1phTOZ-0007lb-4v
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:51:11 +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 9d5fdfb1-ce1f-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 12:51:09 +0200 (CEST)
Received: by mail-lf1-x12d.google.com with SMTP id y20so19584158lfj.2
 for <xen-devel@lists.xenproject.org>; Wed, 29 Mar 2023 03:51:09 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 j17-20020ac253b1000000b004eb0f6b7ccfsm1173572lfh.134.2023.03.29.03.51.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Mar 2023 03:51:09 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d5fdfb1-ce1f-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680087069;
        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=OIBTQ+/gJzftoYOKQxHsDF5nCeh3hAxpIqkYkUYYTMY=;
        b=pKJwHoFeJf4Co42bNQ5W2ghNeKhv63JzLkAc+zxHSA7GSrDe8ZHt7xNxn3m6zGAwzp
         SClf5sDPvpSTTDvcSqZxa3HMgw8h2KexmVkDPnOONrAIOBkVBNOF2mdQx4WIYvsRGMuS
         NnPoWS4hk40zgII3NeWl6vLJCzHR8lCgoENncATiJxNV2SVibPopB0V6HdFFmM194XBk
         gzkTbwP6Z8MMo+tCl+rqnZCHQKhnz7NAr5X63U47aBAyzI9BDHmGC80YteFm5aOnQpYb
         l5N9FvNtiCIJoOfqTamImdt0KBhFb9zGRGEjZ4CUBf9UKO3XdCpvLmRqWmM2Hip6jHmH
         aYLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680087069;
        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=OIBTQ+/gJzftoYOKQxHsDF5nCeh3hAxpIqkYkUYYTMY=;
        b=fnXQ6EC2t0VkfuhkqBHnQ2oNfuYindWevkUV1ab0hTFLXRinN6r+bhXSp7vWJ6M2l0
         j2RVAfjU37RjMIH00/myKWzRqWg5DuVPJceOdE225GdkNqtidVlZinq1uBvz0Km5teWI
         1SS2Z4ZvBuIb9VJhPvsflFmiV+jWopAvlhwxZPLX7nGHYMmGih0lOfj49bdc+Gt6MUgK
         h44ZXppl0AoU484rxXYxduT1MXLEPMT6OLwAGqYMd24FKDZsvDUMn7/WTKUcQ2F+vEWv
         PBRkgUFg17XYdGeTOgjr22gaaFs+tTYgBa4PTivFouqeRlc+LRBMSgz3foBg2NpSPlf4
         hAgQ==
X-Gm-Message-State: AAQBX9f/CtSaflBZ0ko33QenrokiWw1v9I0zFQnbVFnagg234M5jf25s
	yKhIB9bFHogHn1B3vIEvt5ceV6sgSyk=
X-Google-Smtp-Source: AKy350ZNeIHeMYGuilMAahLbuTiRVF+c5zy4VfaaE4cnemjYkZDyiwrRWCC3HmTVTQBmo53NkUYngA==
X-Received: by 2002:ac2:5df2:0:b0:4a4:68b7:d64b with SMTP id z18-20020ac25df2000000b004a468b7d64bmr4782586lfq.50.1680087069326;
        Wed, 29 Mar 2023 03:51:09 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <julien@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Gianluca Guida <gianluca@rivosinc.com>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v9 5/5] xen/x86: switch x86 to use generic implemetation of bug.h
Date: Wed, 29 Mar 2023 13:50:32 +0300
Message-Id: <c5f48581421a7b0927b2f4b900443de9e02b30e1.1680086655.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <cover.1680086655.git.oleksii.kurochko@gmail.com>
References: <cover.1680086655.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following changes were made:
* Make GENERIC_BUG_FRAME mandatory for X86
* Update asm/bug.h using generic implementation in <xen/bug.h>
* Update do_invalid_op using generic do_bug_frame()
* Define BUG_DEBUGGER_TRAP_FATAL to debugger_trap_fatal(X86_EXC_GP,regs)
* type of eip variable was changed to 'const void *'

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V9:
 * update the commit message
 * add additional explanation to <asm/bug.h> header
---
Changes in V8:
 * move <xen/debuger.h> from <asm/bug.h> to <common/bug.c> to fix compilation issue.
   The following compilation issue occurs:
     In file included from ./arch/x86/include/asm/smp.h:10,
                 from ./include/xen/smp.h:4,
                 from ./arch/x86/include/asm/processor.h:10,
                 from ./arch/x86/include/asm/system.h:6,
                 from ./arch/x86/include/asm/atomic.h:5,
                 from ./include/xen/gdbstub.h:24,
                 from ./arch/x86/include/asm/debugger.h:10,
                 from ./include/xen/debugger.h:24,
                 from ./arch/x86/include/asm/bug.h:7,
                 from ./include/xen/bug.h:15,
                 from ./include/xen/lib.h:27,
                 from ./include/xen/perfc.h:6,
                 from arch/x86/x86_64/asm-offsets.c:9:
     ./include/xen/cpumask.h: In function 'cpumask_check':
     ./include/xen/cpumask.h:84:9: error: implicit declaration of function 'ASSERT' [-Werror=implicit-function-declaration]
                    84 |         ASSERT(cpu < nr_cpu_ids);

   It happens in case when CONFIG_CRASH_DEBUG is enabled and the reason for that is when
   <xen/lib.h> is included in <x86_64/asm-offsets.c>:9 the "layout" of <xen/lib.h> would be
   the following:
     #include <xen/bug.h>:
     #include <asm/bug.h>:
     #include <xen/debugger.h>:
         ....
              cpumask.h:
                     ....
                    ASSERT(cpu < nr_cpu_ids);
	            return cpu;
                     .... 
     ....
     #define ASSERT ...
     ....
   Thereby ASSERT is defined after it was used in <xen/cpumask.h>.

 * Rebase the patch series on the top of the latest staging: it was a merge conflict
   inisde x86/Kconfig.
---
Changes in V7:
 * update the commit message
 * make eip 'const void *'
 * change [eip = (unsigned char *)eip + sizeof(bug_insn);] to [eip += sizeof(bug_insn);]
 * add '#include <xen/debugger.h>' to <asm/bug.h>
 * add Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V6:
 * update the commit message
 * update the type of eip to 'void *' in do_invalid_op()
 * fix the logic of do_invalid_op()
 * move macros BUG_DEBUGGER_TRAP_FATAL under #ifndef __ASSEMBLY__ as
   it is not necessary to be in assembly code.
---
Changes in V5:
 * Nothing changed
---
Changes in V4:
 * Back comment /* !__ASSEMBLY__ */ for #else case in <asm/bug.h>
 * Remove changes related to x86/.../asm/debuger.h as do_bug_frame() prototype
   was updated and cpu_user_regs isn't const any more.
---
Changes in V3:
 * As prototype and what do_bug_frame() returns was changed so patch 3 and 4
   was updated to use a new version of do_bug_frame
 * MODIFIER was change to BUG_ASM_CONST to align with generic implementation
---
Changes in V2:
  * Remove all unnecessary things from <asm/bug.h> as they were introduced in
    <xen/bug.h>.
  * Define BUG_INSTR = 'ud2' and MODIFIER = 'c' ( it is needed to skip '$'
    when use an imidiate in x86 assembly )
  * Update do_invalid_op() to re-use handle_bug_frame() and find_bug_frame()
    from generic implemetation of CONFIG_GENERIC_BUG_FRAME
  * Code style fixes.
---
 xen/arch/x86/Kconfig           |  1 +
 xen/arch/x86/include/asm/bug.h | 87 ++++++++--------------------------
 xen/arch/x86/traps.c           | 81 ++++---------------------------
 3 files changed, 30 insertions(+), 139 deletions(-)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 2a5c3304e2..406445a358 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -11,6 +11,7 @@ config X86
 	select ARCH_MAP_DOMAIN_PAGE
 	select ARCH_SUPPORTS_INT128
 	imply CORE_PARKING
+	select GENERIC_BUG_FRAME
 	select HAS_ALTERNATIVE
 	select HAS_COMPAT
 	select HAS_CPUFREQ
diff --git a/xen/arch/x86/include/asm/bug.h b/xen/arch/x86/include/asm/bug.h
index 4b3e7b019d..7fe879a8cc 100644
--- a/xen/arch/x86/include/asm/bug.h
+++ b/xen/arch/x86/include/asm/bug.h
@@ -1,75 +1,30 @@
 #ifndef __X86_BUG_H__
 #define __X86_BUG_H__
 
-#ifndef __ASSEMBLY__
-
-#define BUG_FRAME_STRUCT
-
-struct bug_frame {
-    signed int loc_disp:BUG_DISP_WIDTH;
-    unsigned int line_hi:BUG_LINE_HI_WIDTH;
-    signed int ptr_disp:BUG_DISP_WIDTH;
-    unsigned int line_lo:BUG_LINE_LO_WIDTH;
-    signed int msg_disp[];
-};
-
-#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
-#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
-#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
-                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
-                      BUG_LINE_LO_WIDTH) +                                   \
-                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
-                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
-#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
-
-#define _ASM_BUGFRAME_TEXT(second_frame)                                     \
-    ".Lbug%=: ud2\n"                                                         \
-    ".pushsection .bug_frames.%c[bf_type], \"a\", @progbits\n"               \
-    ".p2align 2\n"                                                           \
-    ".Lfrm%=:\n"                                                             \
-    ".long (.Lbug%= - .Lfrm%=) + %c[bf_line_hi]\n"                           \
-    ".long (%c[bf_ptr] - .Lfrm%=) + %c[bf_line_lo]\n"                        \
-    ".if " #second_frame "\n"                                                \
-    ".long 0, %c[bf_msg] - .Lfrm%=\n"                                        \
-    ".endif\n"                                                               \
-    ".popsection\n"                                                          \
-
-#define _ASM_BUGFRAME_INFO(type, line, ptr, msg)                             \
-    [bf_type]    "i" (type),                                                 \
-    [bf_ptr]     "i" (ptr),                                                  \
-    [bf_msg]     "i" (msg),                                                  \
-    [bf_line_lo] "i" ((line & ((1 << BUG_LINE_LO_WIDTH) - 1))                \
-                      << BUG_DISP_WIDTH),                                    \
-    [bf_line_hi] "i" (((line) >> BUG_LINE_LO_WIDTH) << BUG_DISP_WIDTH)
-
-#define BUG_FRAME(type, line, ptr, second_frame, msg) do {                   \
-    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH));         \
-    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                     \
-    asm volatile ( _ASM_BUGFRAME_TEXT(second_frame)                          \
-                   :: _ASM_BUGFRAME_INFO(type, line, ptr, msg) );            \
-} while (0)
-
-
-#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, NULL)
-#define BUG() do {                                              \
-    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, NULL);      \
-    unreachable();                                              \
-} while (0)
-
 /*
- * TODO: untangle header dependences, break BUILD_BUG_ON() out of xen/lib.h,
- * and use a real static inline here to get proper type checking of fn().
+ * Please do not include in the header any header that might
+ * use BUG/ASSERT/etc maros asthey will be defined later after
+ * the return to <xen/bug.h> from the current header:
+ * 
+ * <xen/bug.h>:
+ *  ...
+ *   <asm/bug.h>:
+ *     ...
+ *     <any_header_which_uses_BUG/ASSERT/etc macros.h>
+ *     ...
+ *  ...
+ *  #define BUG() ...
+ *  ...
+ *  #define ASSERT() ...
+ *  ...
  */
-#define run_in_exception_handler(fn)                            \
-    do {                                                        \
-        (void)((fn) == (void (*)(struct cpu_user_regs *))NULL); \
-        BUG_FRAME(BUGFRAME_run_fn, 0, fn, 0, NULL);             \
-    } while ( 0 )
 
-#define assert_failed(msg) do {                                 \
-    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
-    unreachable();                                              \
-} while (0)
+#ifndef __ASSEMBLY__
+
+#define BUG_DEBUGGER_TRAP_FATAL(regs) debugger_trap_fatal(X86_EXC_GP,regs)
+
+#define BUG_INSTR       "ud2"
+#define BUG_ASM_CONST   "c"
 
 #else  /* !__ASSEMBLY__ */
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index cade9e12f8..c36e3f855b 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -24,6 +24,7 @@
  * Gareth Hughes <gareth@valinux.com>, May 2000
  */
 
+#include <xen/bug.h>
 #include <xen/init.h>
 #include <xen/sched.h>
 #include <xen/lib.h>
@@ -1166,12 +1167,9 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
 
 void do_invalid_op(struct cpu_user_regs *regs)
 {
-    const struct bug_frame *bug = NULL;
     u8 bug_insn[2];
-    const char *prefix = "", *filename, *predicate, *eip = (char *)regs->rip;
-    unsigned long fixup;
-    int id = -1, lineno;
-    const struct virtual_region *region;
+    const void *eip = (const void *)regs->rip;
+    int id;
 
     if ( likely(guest_mode(regs)) )
     {
@@ -1185,83 +1183,20 @@ void do_invalid_op(struct cpu_user_regs *regs)
          memcmp(bug_insn, "\xf\xb", sizeof(bug_insn)) )
         goto die;
 
-    region = find_text_region(regs->rip);
-    if ( region )
-    {
-        for ( id = 0; id < BUGFRAME_NR; id++ )
-        {
-            const struct bug_frame *b;
-            unsigned int i;
-
-            for ( i = 0, b = region->frame[id].bugs;
-                  i < region->frame[id].n_bugs; b++, i++ )
-            {
-                if ( bug_loc(b) == eip )
-                {
-                    bug = b;
-                    goto found;
-                }
-            }
-        }
-    }
-
- found:
-    if ( !bug )
+    id = do_bug_frame(regs, regs->rip);
+    if ( id < 0 )
         goto die;
-    eip += sizeof(bug_insn);
-    if ( id == BUGFRAME_run_fn )
-    {
-        void (*fn)(struct cpu_user_regs *) = bug_ptr(bug);
-
-        fn(regs);
-        fixup_exception_return(regs, (unsigned long)eip);
-        return;
-    }
 
-    /* WARN, BUG or ASSERT: decode the filename pointer and line number. */
-    filename = bug_ptr(bug);
-    if ( !is_kernel(filename) && !is_patch(filename) )
-        goto die;
-    fixup = strlen(filename);
-    if ( fixup > 50 )
-    {
-        filename += fixup - 47;
-        prefix = "...";
-    }
-    lineno = bug_line(bug);
+    eip += sizeof(bug_insn);
 
     switch ( id )
     {
+    case BUGFRAME_run_fn:
     case BUGFRAME_warn:
-        printk("Xen WARN at %s%s:%d\n", prefix, filename, lineno);
-        show_execution_state(regs);
         fixup_exception_return(regs, (unsigned long)eip);
-        return;
-
     case BUGFRAME_bug:
-        printk("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return;
-
-        show_execution_state(regs);
-        panic("Xen BUG at %s%s:%d\n", prefix, filename, lineno);
-
     case BUGFRAME_assert:
-        /* ASSERT: decode the predicate string pointer. */
-        predicate = bug_msg(bug);
-        if ( !is_kernel(predicate) && !is_patch(predicate) )
-            predicate = "<unknown>";
-
-        printk("Assertion '%s' failed at %s%s:%d\n",
-               predicate, prefix, filename, lineno);
-
-        if ( debugger_trap_fatal(TRAP_invalid_op, regs) )
-            return;
-
-        show_execution_state(regs);
-        panic("Assertion '%s' failed at %s%s:%d\n",
-              predicate, prefix, filename, lineno);
+        return;
     }
 
  die:
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 10:51:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 10:51:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516197.799958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phTOw-00022g-2r; Wed, 29 Mar 2023 10:51:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516197.799958; Wed, 29 Mar 2023 10:51:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phTOv-00022Y-Vo; Wed, 29 Mar 2023 10:51:33 +0000
Received: by outflank-mailman (input) for mailman id 516197;
 Wed, 29 Mar 2023 10:51:32 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Nen3=7V=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1phTOu-0007lb-Cv
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 10:51:32 +0000
Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com
 [66.111.4.26]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9a01090-ce1f-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 12:51:31 +0200 (CEST)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.nyi.internal (Postfix) with ESMTP id 182C25C007F;
 Wed, 29 Mar 2023 06:51:30 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Wed, 29 Mar 2023 06:51:30 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 29 Mar 2023 06:51:28 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9a01090-ce1f-11ed-85db-49a42c6b2330
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=fm2; t=
	1680087090; x=1680173490; bh=ZDSfsW2w6ztHjS57+/dF5bkmVS3qa3EzC/L
	b9zf0gSE=; b=NIknI/4yGK4SCbzdqndLPkgMdBpEXnbLP2bI0nmZcwlI44iQ8gc
	SNLHQvexyBFBDEH8maxU7Y8t/D9aES1jR1yffAWmOvGwDVqe+ZmC2OlKmwAiYXdb
	04VSdatdoE1vOB9dapni9ydzwy9a5ZBXNAISsVa9RJBum7xeJJWKhkQuSJP+Zun0
	XDT6ho8X7j0qgwPjx5pT/8pCSXmTZuxNyQ2Q69L+Ir7CrYHFRA+evKn2WFYQnikt
	VRft9iYZ+ayE4HxmufS2BCHFx2Wl6YG7N+pJETgfYhzDPnbcGmPjAdwdrtmS6qCy
	qEN5yNszAbfazVpTjYw2LMtqU7tnjUcF6Xg==
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=fm2; t=1680087090; x=1680173490; bh=ZDSfsW2w6ztHj
	S57+/dF5bkmVS3qa3EzC/Lb9zf0gSE=; b=k9frO48nIScp5l0qJpXeQ59hR5OWl
	ghShFlQ/+H3cgO+922TtE2/IZswso26r0Ret05aPtbpupp6/X4TTGKgNTE7uSUjD
	CjL+zjWjUFxSggVm2DTOTNiB9A47aeIFC5waGgWDCE7RZkdobG/ircPOIYYD0Owo
	n2OAkhCbQbs7ebLBBscH8NTzDWb+2wa380Vlj7+Tv6UPutgdOdscz/XBryPNMeGq
	lWXYQbBHsC7aepAv97ZSmkOKYMYU2LuvLI13oibSWLIkvbtefm6rCctG9G0I1pbu
	bHoY7wAzVzYIIVTStICumoi5tYmCj09YZDTXIpD6l14edPwpiV8KEa41A==
X-ME-Sender: <xms:MRgkZJ-wedrkHF0mpnB1pMplsAjmR0MDB2NDmidrI09f1HyGwA_KEw>
    <xme:MRgkZNspCVdj4qgLKgVqUZ6L6nnmmL1X6aG71ACGPc-Rfau_pcz3UKN4yabi2Ay5p
    ARO0DUJC6H2qw>
X-ME-Received: <xmr:MRgkZHDsxcHap46fJhFctovyAmy1P9ZLhXXpOoTWQx5rYpEybiGInF4RWgAANkc9rj8GIJgFij7OMCUAtUgfMFlc-aI0OUjbX2A>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehiedgfeegucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:MRgkZNe31a8CifKMU3i49NlR3ctNBbK_t8W65v1uP0af27Sn6tqfLg>
    <xmx:MRgkZOM0ognDme5UuBl-XF7FMViRMmdwsYR0W4js1BU-v1-Y3IGotg>
    <xmx:MRgkZPkSv_HtdDrQ2x6sG985wt-kESGa2c3sUqIBv_QesEKkZpivoQ>
    <xmx:MhgkZLp-DyEvJr68l4Qrf5GQHrocesNsxm4iF9wqQnkOrYqdd8M71w>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 29 Mar 2023 12:51:26 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 1/2] x86/mm: add API for marking only part of a MMIO page
 read only
Message-ID: <ZCQYLkoSfZ7klmNC@mail-itl>
References: <cover.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
 <f5381e06d92cccf9756ad00fd77f82fba98a9d80.1679911575.git-series.marmarek@invisiblethingslab.com>
 <e238bffa-5eba-b18f-ed73-1c5c9730cf70@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="sEtyxlEXaJmqpWsx"
Content-Disposition: inline
In-Reply-To: <e238bffa-5eba-b18f-ed73-1c5c9730cf70@suse.com>


--sEtyxlEXaJmqpWsx
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 29 Mar 2023 12:51:26 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 1/2] x86/mm: add API for marking only part of a MMIO page
 read only

On Wed, Mar 29, 2023 at 10:50:20AM +0200, Jan Beulich wrote:
> On 27.03.2023 12:09, Marek Marczykowski-G=C3=B3recki wrote:
> > In some cases, only few registers on a page needs to be write-protected.
> > Examples include USB3 console (64 bytes worth of registers) or MSI-X's
> > PBA table (which doesn't need to span the whole table either).
>=20
> Yet like the MSI-X table the PBA is not permitted to share a page with
> other registers (the table itself excluded). So a need there would
> (again) only arise for devices violating the spec.

For PBA, indeed (and due to not seeing device needing such hack, I don't
do that for PBA yet). But the XHCI spec doesn't include such limitation, so
this case is perfectly valid.

> > Current API allows only marking whole pages pages read-only, which
> > sometimes may cover other registers that guest may need to write into.
> >=20
> > Currently, when a guest tries to write to an MMIO page on the
> > mmio_ro_ranges, it's either immediately crashed on EPT violation - if
> > that's HVM, or if PV, it gets #PF. In case of Linux PV, if access was
> > from userspace (like, /dev/mem), it will try to fixup by updating page
> > tables (that Xen again will force to read-only) and will hit that #PF
> > again (looping endlessly). Both behaviors are undesirable if guest could
> > actually be allowed the write.
> >=20
> > Introduce an API that allows marking part of a page read-only. Since
> > sub-page permissions are not a thing in page tables, do this via
> > emulation (or simply page fault handler for PV) that handles writes that
> > are supposed to be allowed. Those writes require the page to be mapped
> > to Xen, so subpage_mmio_ro_add() function takes fixmap index of the
> > page. The page needs to be added to mmio_ro_ranges, first anyway.
> > Sub-page ranges are stored using rangeset for each added page, and those
> > pages are stored on a plain list (as there isn't supposed to be many
> > pages needing this precise r/o control).
>=20
> While, unlike Roger, I don't want to see mmio_ro_ranges' granularity
> changed, I wonder if a bitmap isn't going to be easier to use (even
> if perhaps requiring a little more memory, but whether that's the case
> depends on intended granularity - I'm not convinced we need byte-
> granular ranges). I'm also worried of this yet more heavily tying to
> x86 of (as of the next patch) the USB3 debug console driver (i.e. as
> opposed to Roger I wouldn't take anything that's x86-only as
> justification for making wider changes).

Well, it's still under the very same CONFIG_X86, and for the same
purpose, so I don't think it's "more heavily tying".

> As to sub-page permissions: EPT has, as one of its extensions, support
> for this. It might be worth at least mentioning, even if the feature
> isn't intended to be used right here.

Ah, ok.

> Taking both remarks together, limiting granularity to 16(?) bytes
> would allow using the advanced EPT functionality down the road, and
> would at the same time limit the suggested bitmap to just 256 bits /
> 32 bytes, which I think gets us below what even an empty rangeset
> would require. Plus lookup would also be quite a bit more lightweight.

Indeed, in that case it makes sense.

> > The mechanism this API is plugged in is slightly different for PV and
> > HVM. For both paths, it's plugged into mmio_ro_emulated_write(). For PV,
> > it's already called for #PF on read-only MMIO page. For HVM however, EPT
> > violation on p2m_mmio_direct page results in a direct domain_crash().
> > To reach mmio_ro_emulated_write(), change how write violations for
> > p2m_mmio_direct are handled - specifically, treat them similar to
> > p2m_ioreq_server. This makes relevant ioreq handler being called,
> > that finally end up calling mmio_ro_emulated_write().
>=20
> I wonder whether that isn't too heavy a change to existing behavior.
> I understand that taking this path is necessary for the purpose of the
> patch, but I don't think it is necessary for all p2m_mmio_direct pages.
> Checking at least mmio_ro_ranges right in hvm_hap_nested_page_fault()
> looks reasonable to me.

Before this change, domU was crashed on write EPT violation to
p2m_mmio_direct page (which, IIUC, can happen only for mmio_ro_ranges,
as otherwise page is mapped R/W), so I don't think there are many
accesses that would hit this path for other reasons.

> > --- a/xen/arch/x86/mm.c
> > +++ b/xen/arch/x86/mm.c
> > @@ -165,6 +165,19 @@ bool __read_mostly machine_to_phys_mapping_valid;
> > =20
> >  struct rangeset *__read_mostly mmio_ro_ranges;
> > =20
> > +/* Handling sub-page read-only MMIO regions */
> > +struct subpage_ro_range {
> > +    struct list_head list;
> > +    mfn_t mfn;
> > +    int fixmap_idx;
> > +    struct rangeset *ro_bytes;
> > +    struct rcu_head rcu;
> > +};
> > +
> > +static LIST_HEAD(subpage_ro_ranges);
> > +static DEFINE_RCU_READ_LOCK(subpage_ro_rcu);
> > +static DEFINE_SPINLOCK(subpage_ro_lock);
> > +
> >  static uint32_t base_disallow_mask;
> >  /* Global bit is allowed to be set on L1 PTEs. Intended for user mappi=
ngs. */
> >  #define L1_DISALLOW_MASK ((base_disallow_mask | _PAGE_GNTTAB) & ~_PAGE=
_GLOBAL)
> > @@ -4893,6 +4906,172 @@ long arch_memory_op(unsigned long cmd, XEN_GUES=
T_HANDLE_PARAM(void) arg)
> >      return 0;
> >  }
> > =20
> > +int subpage_mmio_ro_add(
>=20
> As long as patch 2 is going to add the only users, __init please, and
> there's no need for a "remove" counterpart.

__init makes sense. But as for removing "remove" part, I'm not sure. I
realize it is a dead code now, but it's easier to introduce it now to
provide complete API, than later by somebody else who would want to use
it in other places. Is there some trick to make compiler/linker optimize
it out?

>=20
> > +    mfn_t mfn,
> > +    unsigned long offset_s,
> > +    unsigned long offset_e,
> > +    int fixmap_idx)
>=20
> enum fixed_addresses?

If that parameter stays, yes.

> > +{
> > +    struct subpage_ro_range *entry =3D NULL, *iter;
> > +    int rc;
> > +
> > +    ASSERT(rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)));
> > +    ASSERT(offset_s < PAGE_SIZE);
> > +    ASSERT(offset_e < PAGE_SIZE);
> > +
> > +    spin_lock(&subpage_ro_lock);
> > +
> > +    list_for_each_entry( iter, &subpage_ro_ranges, list )
>=20
> Nit: Style (either you view list_for_each_entry as a [pseudo]keyword
> for the purposes of what blanks should be present/absent, or you don't,
> a mixture isn't reasonable; also elsewhere).

Which version would be your preference for list_for_each_entry?

> > +    {
> > +        if ( mfn_eq(iter->mfn, mfn) )
> > +        {
> > +            entry =3D iter;
> > +            break;
> > +        }
> > +    }
> > +    if ( !entry )
> > +    {
> > +        /* iter=3D=3DNULL marks it was a newly allocated entry */
> > +        iter =3D NULL;
> > +        entry =3D xmalloc(struct subpage_ro_range);
> > +        rc =3D -ENOMEM;
> > +        if ( !entry )
> > +            goto err_unlock;
> > +        entry->mfn =3D mfn;
> > +        entry->fixmap_idx =3D fixmap_idx;
> > +        entry->ro_bytes =3D rangeset_new(NULL, "subpage r/o mmio",
> > +                                       RANGESETF_prettyprint_hex);
> > +        rc =3D -ENOMEM;
> > +        if ( !entry->ro_bytes )
> > +            goto err_unlock;
> > +    }
> > +
> > +    rc =3D rangeset_add_range(entry->ro_bytes, offset_s, offset_e);
> > +    if ( rc < 0 )
> > +        goto err_unlock;
> > +
> > +    if ( !iter )
> > +        list_add_rcu(&entry->list, &subpage_ro_ranges);
> > +
> > +    spin_unlock(&subpage_ro_lock);
> > +
> > +    if ( !iter || entry->fixmap_idx =3D=3D fixmap_idx )
> > +        return 0;
> > +    else
> > +        return 1;
>=20
> If this case is really needed, this special return value (as documented
> in the header) probably needs specially handling in the callers - it's
> not necessarily an error after all. But I wonder whether it wouldn't be
> easier to check earlier on and fail right away (with e.g. -EBUSY),=20

The idea is to allow multiple sub-ranges in a single page. Again, if
using ioremap() internally, instead of fixmap provided externally, this
case will go away.

> rather
> than adding the range and _then_ (kind of, as per patch 2) failing.

Right, I missed "!=3D 0" there.

> > +err_unlock:
>=20
> Nit: Style (labels indented by at least one space please, also elsewhere).
>=20
> > +static void subpage_mmio_write_emulate(
> > +    mfn_t mfn,
> > +    unsigned long offset,
>=20
> unsigned int
>=20
> > +    void *data,
>=20
> const
>=20
> > +    unsigned int len)
> > +{
> > +    struct subpage_ro_range *entry;
> > +    void __iomem *addr;
> > +
> > +    rcu_read_lock(&subpage_ro_rcu);
> > +
> > +    list_for_each_entry_rcu( entry, &subpage_ro_ranges, list )
> > +    {
> > +        if ( mfn_eq(entry->mfn, mfn) )
> > +        {
> > +            if ( rangeset_overlaps_range(entry->ro_bytes, offset, offs=
et + len - 1) )
> > +                goto out_unlock;
>=20
> This case ...
>=20
> > +            addr =3D fix_to_virt(entry->fixmap_idx) + offset;
> > +            switch ( len )
> > +            {
> > +            case 1:
> > +                writeb(*(uint8_t*)data, addr);
> > +                break;
> > +            case 2:
> > +                writew(*(uint16_t*)data, addr);
> > +                break;
> > +            case 4:
> > +                writel(*(uint32_t*)data, addr);
> > +                break;
> > +            case 8:
> > +                writeq(*(uint64_t*)data, addr);
> > +                break;
> > +            default:
> > +                /* mmio_ro_emulated_write() already validated the size=
 */
> > +                ASSERT_UNREACHABLE();
>=20
> ... as well as, in a release build, this one wants to ...
>=20
> > +            }
> > +            goto out_unlock;
>=20
> ... not use this path but ...
>=20
> > +        }
> > +    }
> > +    gdprintk(XENLOG_WARNING,
> > +             "ignoring write to R/O MMIO mfn %" PRI_mfn " offset %lx l=
en %u\n",
> > +             mfn_x(mfn), offset, len);
>=20
> ... make it here. (By implication: I'm not convinced this wants to be a
> gdprintk(), as I think at least one such warning would better surface in
> release builds as well.)

Right, gprintk() would make more sense indeed.

> At the same time I don't think any message should be issued for write
> attempts to pages which don't have part of it marked writable. We deal
> with such silently right now, and this shouldn't change.

At least for HVM domains, it isn't really silent. It's domain_crash()
(before my change, not reaching this function at all).
I think it is silent only for PV domains (or maybe even just hardware
domain?).

> In fact even
> for ranges which don't overlap the writable portion of a page we may want
> to consider remaining silent. The log message ought to be of interest
> mainly for writes which we meant to permit, but which for whatever reason
> we elect to suppress nevertheless.
>=20
> As to the message - why do you split MFN from offset, rather than simply
> logging an address ("... %" PRI_mfn "%03x ...")?

I could use such formatting trick indeed.

> Like (iirc) Roger I think that misaligned accesses should be refused (and
> hence also make it here).

Ok, will change.

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--sEtyxlEXaJmqpWsx
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQkGC4ACgkQ24/THMrX
1yzAlwf8DZ98cj8EOKiwBIpg5HjCYtpW6OSMq9jQVKuDrEd0YqoNtG8524SBSwwe
qnO+083KGGPUExi9iJRpPVqzfVaPDe5gxTcHv8ywxOtq+NT67ECv6HfhV51w2YT4
OStfhqnwHF+/m43KEn4OErPZF1lwt1ZdqVzAjbIx0uOmbHeV071roPj8O7t9fSJY
rCamXh2z7CJQ9YXqKqeCbc+8EqgXovOuFAklUP57VkwQGtsikRSaIlzkFEauHvnL
EJwFxR/lWyFMHVhgmaAU5GUd2mw1daU80AVaUMc/EK6buVbON8R8Of2EdYKR+iHI
Hhj4iRJB2vyu6VlWi2ufbDXfMuyy7A==
=F8ob
-----END PGP SIGNATURE-----

--sEtyxlEXaJmqpWsx--


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 11:42:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 11:42:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516208.799968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUC9-0008R9-1Z; Wed, 29 Mar 2023 11:42:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516208.799968; Wed, 29 Mar 2023 11:42: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 1phUC8-0008R2-UI; Wed, 29 Mar 2023 11:42:24 +0000
Received: by outflank-mailman (input) for mailman id 516208;
 Wed, 29 Mar 2023 11:42: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phUC7-0008Qw-VA
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 11:42:24 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20620.outbound.protection.outlook.com
 [2a01:111:f400:7d00::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c3e335b8-ce26-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 13:42:21 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9314.eurprd04.prod.outlook.com (2603:10a6:20b:4e5::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.28; Wed, 29 Mar
 2023 11:42:18 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 11: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: c3e335b8-ce26-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NeoxLPE6HlopsCKq4cc3TDyVwonwzi857emX5VmGb7dkcwvROQ7YY2z4T+8XumhAxnXbjOXVmLOER592hw8XDNqER+5NnX2T1GKeEDEYN+g9RKYgHNyqIPTlKR73XTe66bpIbGrIr4D19Ak+ETaVkDWxo8RQ1jdnPwzNRCBckL5tRUOZhwPP/ZEyEVD836EpKE+IkScqpxN6rzMFD+O6is+3uXbwD3IckuXRfqM8S59wBwWc0kQoF5WbdBU/UNo+a0bgIzrZN+uQAkmUxNYQycZbfCvTxtBLPHoTXAFq6IhIIsbrQwTRE2x6jDHU7dIRp6IiI1nUiTlGpCEPMaJ+pQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=35OWXAVGF+XCGCVlGvSe5AVhdV6759La18KTaQiYgPI=;
 b=oF9V5NEzNEawi62DNPSB1zgGeFDGYTDHnq/GLl3KQAXUId3R3wFz9fhWA8oEns1S5mPpAMYJqA5OXiQFGHOzeLX/uWj3mNmZRJ55DHEU5KKQkyPRHj3ELeAgFLgqAaaxxqpH5ZeQlgUO/hu6vs2K/RomAkBcDz2sqNJ/FDVTwyifvDe2T14BFYP2+xMzyP1mF8sxhzZWsoFz8rAFhM//fX2yFqQxBR+LcFlE+KxK26LuwU//R1qzepNIziIBmw2XPh58HKxM1HzMRz+ia+KtlDkxx8lgdgzmmG2R9DDowdgQvA/uxp3rj83xeha3WDkHuXrnJXiWY72EAqFQWvDjdA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=35OWXAVGF+XCGCVlGvSe5AVhdV6759La18KTaQiYgPI=;
 b=d0DMeKqrWsECWJjVTfcf/tGdY5GwbtglQBs6C2IeIJG0VqtaisjX02TgLoqBdi94BmaKHdysK6o9uXFf+5N2eDFb1I9FY0PtboXGDnFS4k5jNRFrpuFx29OK70jq8tqb1qJvMuwr6S7ZNoDXXBJhK9SWy3q+SRtXaP5jQRx8QeC3GPWLFh+P4ozjeSBkHNYwicOovt47BePNnii8jxYjTYQzEEyM3vD9bfqXECLcWnVOgFAsm2cf0AgfDx+NHCTWz62KuNyLHdGtvO9KL0QTbQpMgLhUB3STYniJZUi96zpC+64EYmwUs32k0JjTAHZ31kCiUXm4IFV0vyBpWt6nYw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3b621681-8786-b282-4376-40b7dbecb2b2@suse.com>
Date: Wed, 29 Mar 2023 13:42:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v9 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1680086655.git.oleksii.kurochko@gmail.com>
 <c9fb416c98e023ff3150064222cb42b6c67f37e8.1680086655.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c9fb416c98e023ff3150064222cb42b6c67f37e8.1680086655.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0135.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS4PR04MB9314:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b0b00d0-6c4d-4f2d-c6da-08db304aa6bf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RELrFzbT9HgJBHl0OIPHA4v0uS0k6NHLhLX9hSMFTzbO7Ojd1Yj4mqRA8DYDIBUeAgiUjjU6/+uzENHVMA0qOnVTBK88W8WFcl52YMqgJxT8VMr0cuHMxcfzgJp+JjGznAqi0ISeyK4Nv4H80a7nKrGy4f6JrbMjctZWuj3hIPoMs8yIuvzQ/aZ6/Nx2XfTLOaT4oL9+FZMB0RptkvTA6EW6LKuL2Q+5N3lxt2LDY36Zx38vrKvH7rLVM09FBOXp/xRvmV9uIZVWGeOBMpXkH1ovpbE4D28rC1rogd022tq0ReOv1vrYFeeUGymBskV4aL1alVnzaDzORjLYFAthWAXOqegGEPt78oL4MlWzqsILEWarvV0APA+gEQT6SnwePi6h9n4KUBnn/VSP6msnDWbjqZZYANfrK1uBBZc4V4vJbUkqwI1UNJB75pDMCCLABjYEonXao9+JuFa/ZP53zfihvQL/c7FeZjozaQYDFpaX/fSxTR2KjgDoySxXzpMwJuH4ZZZ5wEZrc53L+twFqLzBDcIrGyNSbrSC9sa1NWkpqAKGRAmjfx5o1kAhe4kSZJN7cJ71KZhtogS9gHtV2Q1PaOSVcV5l12kIRTuT5zCWuBb3IC+je57bB6dUoUDKvPSGl4KbClXuf4EkBwZptKNf62YGZOcL8UznGPGimXs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(346002)(366004)(136003)(376002)(451199021)(8936002)(66899021)(31686004)(2906002)(2616005)(86362001)(41300700001)(31696002)(38100700002)(36756003)(5660300002)(6486002)(54906003)(66556008)(478600001)(8676002)(6512007)(6916009)(66946007)(66476007)(4326008)(6506007)(186003)(53546011)(316002)(26005)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ty9jWU9HeEJrcjlXSnBJK2tSaitkL0pYOFVndGYxM25wREtqNm1qNzdHdi9K?=
 =?utf-8?B?bEtBMHdid0svcThDUlhTRXNnYzMxMjRlbU5IQkFPUGN6cnFRaHBjc0JjNnMy?=
 =?utf-8?B?aWFwMFlTQnc2S0drelZHUXlHOUJqaUlhaU5nbjhyNmRGQ2NBL0RMQXdrak4w?=
 =?utf-8?B?aTJ4RVBieGlDMTZwdTN5bXhpR1A2Qi85UXRLVUJkdUhZMjhYYVV0ZkszZjVu?=
 =?utf-8?B?a25EZXI4a2JOamZXc1I3MFpmSHBPSTZTZDU2bkdmOENYYTBNcklaV2tnOXZ2?=
 =?utf-8?B?eTNCWjkzQXRtM0tkb0FEcTFyTkdmK0ZvRHEyanNvdzNhbnZWYUlBWFR4Ymdh?=
 =?utf-8?B?Y2xFQXlETXZqME1vUndUQ2RJRXVXalNBWm5pYXdocjd3NVFCNFY5OE42Lys5?=
 =?utf-8?B?UVZiQlh2ZG16V29hOVZaUm1EMkdqWldVNTZ4QlBHZjA2c3djY1ZEQ0dCK0Rk?=
 =?utf-8?B?dUNnYklNZ0VSWTJlLzVYZkVJYVJFUE5LVWgxYkdFOUpGNnhTWTMycmJOblZR?=
 =?utf-8?B?R2JLcXd4bHpGQmU2NXg4Z2JTd1lXR01nR0NDTW9pV1hFazJzTFFHY0prSnBD?=
 =?utf-8?B?Y0h5QlJqNkZLbUlXK0JVQld2YUcvUnRCRWhDdkZGNXdVQXR2RVRTd0c0bVlJ?=
 =?utf-8?B?YnMweHdBdEE1c0ZrOGtubnFQY0JUKzJIRnNZZWNHcWNXdVJ5MVl2cEt2Y29r?=
 =?utf-8?B?M3RBOEs2NWdURkttRzZkRkdBcU1mc3RFQS9BTGh6dXowa25ieEQ1bjQ5UWw4?=
 =?utf-8?B?OEVwcWRRaWthaEdzTS9BRW9sTUIzbVpja3NCQ1NhRzJBWGRRUHhuY3Y2VkhW?=
 =?utf-8?B?bWo1VW9md2x3b29IRzUzVmNoTkhoVGEwR3F2cFJCcFA4WE5VbjdQMXZCUjFt?=
 =?utf-8?B?ZUFnRmZEQW1mWUxXdlBJNWNHQ3NGZUQxNjJJWmlEZUE4RG44UFVRdXhQSm5T?=
 =?utf-8?B?cVhOY3BQTUNwdHlTUEUxaVM1dEpJTk5XN2pzRmpmbjhBaVpxL05qeEdZSFA0?=
 =?utf-8?B?dmwwRk0xL1pKNmlncjJjeE5IaG1tYWJib1Jya01Eait3TXNtUlRRaGEwT2RC?=
 =?utf-8?B?K0g5cHZsRGJRaGM1bkNXRFYrcjhXWUtaUjZQVy8vQkNubFJkOTFUN1ZMaE1o?=
 =?utf-8?B?Q2kyUU1iYnp0TU1TRWx5T2RHVWgxUHlXWnZ6MG15bGljSWhrZEdVaVFRc2tl?=
 =?utf-8?B?azA0YUVpQnM4RWxHYVFTQ1NSaTAvelB0VzlIdHpVT0VyZjUzSExoeW9QUTlX?=
 =?utf-8?B?bUdWbXhMTzA4TDB0SW1SVDZBZXV6Y3VRQ2NNWk03SzRILytsUnN0b2NIYlU0?=
 =?utf-8?B?VFNFRC9ab0lLcmQrSkF5Smdod25jMWtxVitQYk1TZk0vMWtvenowZGtKNjVq?=
 =?utf-8?B?RXlIeHNMZXFSZDRoTExZYXFCSDBjUWtobXlua2FDUENIK2RPRzU1S0grUm9L?=
 =?utf-8?B?U3NSSTM0TjB3eVFXTGxHZHZ3b01Da0FUbkwvN1J3UlIxb2ZiaEdFZmc4Rmdx?=
 =?utf-8?B?cEF6NFpKcVl5aVJ3dXV6YlVOMnF4NXpiaE5rOGJzOUlPeHVsS1NNZ3cvNDZm?=
 =?utf-8?B?MDdhRlVReGR0TnNGdXNFQ3NVSjBCWEhoS0luOTVFYVF0Y2gzOW5Cb2tTS2Qy?=
 =?utf-8?B?eXlIeEV0UmpLNWQwODVQbW1EaTFOVkFTSGFKTStIMitjdkJQWWN0L3p4Y3J3?=
 =?utf-8?B?U01YU0RFRkxiT3hySnNGUklHcDFZTHRGZktEcWdPN2w4RllBRnZ5bVVVYjJj?=
 =?utf-8?B?VjhqVVh0cThkTEhJTDRCaUk0a0tMWEZTRGpJNmZzQVdHQ1FEL3hKRlZSVE9O?=
 =?utf-8?B?N0Q1MURBS0J6eWNXQ0VSYStrZHVzNFFuS3RiYk82bDBvbmtNR2JpWFVvdTdO?=
 =?utf-8?B?MWQ3YXNPWW5OcGJWNTY0cDFTcDJ2cTJjL0ZDSUNBazJtMEhmOWNFVGF4Smxj?=
 =?utf-8?B?aXdHMVNNYTg0UnhmRUVSOGlBUlJpYTdnTWZpM3JqbkRQUGpkSTBXVkFyNUp0?=
 =?utf-8?B?bVk5MkxzNUlraXpjSUtGeHhiaENkUEZJRnR5amxpN3FobUVkUTRyL21UZEY0?=
 =?utf-8?B?MEdBQW0rTWQyUXRkdy8ySG9zemNOMEtjTVFxNzlJbDUvV3RMakN1RGtlclFN?=
 =?utf-8?Q?jlxzinRY/o0qvnYZNfH2DEe3V?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b0b00d0-6c4d-4f2d-c6da-08db304aa6bf
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 11:42:18.8096
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2P9gWEGtBAnqDCoP1HCdNmkB/iLLnSrQiJcbZ/2xh787Wrc+tjomdzokZ4UPSUvI/lBOwB5ZHUWxhAyUsCncew==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9314

On 29.03.2023 12:50, Oleksii Kurochko wrote:
> A large part of the content of the bug.h is repeated among all
> architectures, so it was decided to create a new config
> CONFIG_GENERIC_BUG_FRAME.
> 
> The version of <bug.h> from x86 was taken as the base version.
> 
> The patch introduces the following stuff:
>   * common bug.h header
>   * generic implementation of do_bug_frame
>   * new config CONFIG_GENERIC_BUG_FRAME
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with two further adjustments (which I'd be fine doing while committing):

> --- /dev/null
> +++ b/xen/common/bug.c
> @@ -0,0 +1,126 @@
> +#include <xen/bug.h>
> +/*
> + * Ideally <xen/debugger.h> should be included in <asm/bug.h>
> + * but an issue with compilation can occur as <xen/debugger.h> uses
> + * BUG/ASSERT/etc macros inside but they will be defined later in
> + * <xen/bug.h> after return from inclusion of <asm/bug.h>:
> + * 
> + * <xen/bug.h>:
> + *  ...
> + *   <asm/bug.h>:
> + *     ...
> + *     <xen/debugger.h> -> some of included header in it uses BUG/ASSERT/etc
> + *     ...
> + *  ...
> + *  #define BUG() ...
> + *  ...
> + *  #define ASSERT() ...
> + *  ...
> + */
> +#include <xen/debugger.h>
> +#include <xen/errno.h>
> +#include <xen/kernel.h>
> +#include <xen/livepatch.h>
> +#include <xen/string.h>
> +#include <xen/types.h>
> +#include <xen/virtual_region.h>
> +
> +struct cpu_user_regs;

This doesn't need repeating here, as xen/bug.h necessarily has such a
forward declaration as well, for use in do_bug_frame()'s declaration.

> --- /dev/null
> +++ b/xen/include/xen/bug.h
> @@ -0,0 +1,161 @@
> +#ifndef __XEN_BUG_H__
> +#define __XEN_BUG_H__
> +
> +#define BUGFRAME_run_fn 0
> +#define BUGFRAME_warn   1
> +#define BUGFRAME_bug    2
> +#define BUGFRAME_assert 3
> +
> +#define BUGFRAME_NR     4
> +
> +#define BUG_DISP_WIDTH    24
> +#define BUG_LINE_LO_WIDTH (31 - BUG_DISP_WIDTH)
> +#define BUG_LINE_HI_WIDTH (31 - BUG_DISP_WIDTH)
> +
> +#include <asm/bug.h>
> +
> +#ifndef __ASSEMBLY__
> +
> +#ifndef BUG_DEBUGGER_TRAP_FATAL
> +#define BUG_DEBUGGER_TRAP_FATAL(regs) 0
> +#endif
> +
> +#include <xen/lib.h>
> +
> +#ifndef BUG_FRAME_STRUCT
> +
> +struct bug_frame {
> +    signed int loc_disp:BUG_DISP_WIDTH;
> +    unsigned int line_hi:BUG_LINE_HI_WIDTH;
> +    signed int ptr_disp:BUG_DISP_WIDTH;
> +    unsigned int line_lo:BUG_LINE_LO_WIDTH;
> +    signed int msg_disp[];
> +};
> +
> +#define bug_loc(b) ((unsigned long)(b) + (b)->loc_disp)
> +
> +#define bug_ptr(b) ((const void *)(b) + (b)->ptr_disp)
> +
> +#define bug_line(b) (((((b)->line_hi + ((b)->loc_disp < 0)) &                \
> +                       ((1 << BUG_LINE_HI_WIDTH) - 1)) <<                    \
> +                      BUG_LINE_LO_WIDTH) +                                   \
> +                     (((b)->line_lo + ((b)->ptr_disp < 0)) &                 \
> +                      ((1 << BUG_LINE_LO_WIDTH) - 1)))
> +
> +#define bug_msg(b) ((const char *)(b) + (b)->msg_disp[1])
> +
> +#define BUG_CHECK_LINE_WIDTH(line) \
> +    BUILD_BUG_ON((line) >> (BUG_LINE_LO_WIDTH + BUG_LINE_HI_WIDTH))
> +
> +#elif !defined(BUG_CHECK_LINE_WIDTH)
> +
> +#define BUG_CHECK_LINE_WIDTH(line) ((void)(line)

There's a closing parenthesis missing here, as it looks.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 11:43:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 11:43:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516211.799978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUD5-0000VJ-AX; Wed, 29 Mar 2023 11:43:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516211.799978; Wed, 29 Mar 2023 11: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 1phUD5-0000VC-7I; Wed, 29 Mar 2023 11:43:23 +0000
Received: by outflank-mailman (input) for mailman id 516211;
 Wed, 29 Mar 2023 11:43: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=UO3W=7V=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1phUD4-0000V4-8W
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 11:43:22 +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 e66033a5-ce26-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 13:43:18 +0200 (CEST)
Received: by mail-lf1-x134.google.com with SMTP id q16so19717548lfe.10
 for <xen-devel@lists.xenproject.org>; Wed, 29 Mar 2023 04:43:18 -0700 (PDT)
Received: from [192.168.202.197] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 w2-20020ac25d42000000b004e7d6eb9cbfsm5392157lfd.190.2023.03.29.04.43.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Mar 2023 04:43:17 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e66033a5-ce26-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680090198;
        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=EQvAXadmTXasdJY6dj3/wXLznbjc2KAlgVU+d42ZyJQ=;
        b=KKJcR3yPsTFIZ+aRL8lSNsTCvYaRDznpR9BDbi9bpA/JMjtRseylHmeS2ec3Tp9BvW
         iuoGcPkOEQDWgJ8pJdYbQ/gtyVlVkfjYoxj7YI7Ya9ivlvtmbxbOir3Re3sLRoUMOcKT
         nP1kd3llrMSyqG40a8bRDCPP2/+OGGN0rzna6/ojfIDKsYBddCZ7P+DocFWBUflUWfdy
         al3oSkE3vvF04oNdzQGfIfTj+JRJMJpPg+2mP3Dszlf7cZ8PuiSKeRx4QmnxelanaWa5
         UH7BUpzL0u47arT8p4Q9MDjtIzTlcZymiXH2dV1Lq1pla5qRv+FfAZwQRsmvdTPmHIzb
         8P0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680090198;
        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=EQvAXadmTXasdJY6dj3/wXLznbjc2KAlgVU+d42ZyJQ=;
        b=SCxm0/b4dnGoqlQXCcHsyKkMDTTPP2WxPCMV/14kd3ueL8ThqnJfaTMe9af5y7Y5FI
         PgNzcnYm6Iq6Cp02Ov8GjI+bQAJavtKn2CzXoFa3QHW2/ShiTRJmCMDqU3POJMgD4ENM
         cvP+6kcxlNPnmxk6th5r2uj7t/2POpXs2px7TJmC8PxpbVJ1cWCxpxR9phs9+wDo/0qT
         20YVdutg0Bdtyhz2pwV43cj6CoqikLsmb6Dm2tfZR9pi0UNCOWvBfxE6xg2KQlpLcHJO
         uy26TMVz7XRgqt59MoF4TlnKfsUdWkIqd2eDHdnR4R1GFT2oqDCsufMUpLH2Zk880LF6
         EqRw==
X-Gm-Message-State: AAQBX9f3oHsiDaCoPvKXGRQgdoeFURHoAss12IOKJH1phMrGjmL5aNJl
	CmBivHFualdcCMN/jO9nTzc=
X-Google-Smtp-Source: AKy350b5fC7bI8hJMW/rD+gCOmLeSXxsOxNaVc+7mHFUtddqA04rcJmddODU8mTwgRfTcK/5v5aKNg==
X-Received: by 2002:ac2:5fc2:0:b0:4e8:4106:ea93 with SMTP id q2-20020ac25fc2000000b004e84106ea93mr5128416lfg.69.1680090198102;
        Wed, 29 Mar 2023 04:43:18 -0700 (PDT)
Message-ID: <f83cf0373bdcf31d6d273d53949cb81f54f74d5a.camel@gmail.com>
Subject: Re: [PATCH v3 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Wed, 29 Mar 2023 14:43:17 +0300
In-Reply-To: <0a16b79e-8292-6947-24d4-dd027113943f@suse.com>
References: <cover.1679934166.git.oleksii.kurochko@gmail.com>
	 <93da6ba381604748e2c71e2ebd35e80798ec4bb2.1679934166.git.oleksii.kurochko@gmail.com>
	 <0a16b79e-8292-6947-24d4-dd027113943f@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

T24gVHVlLCAyMDIzLTAzLTI4IGF0IDE3OjM0ICswMjAwLCBKYW4gQmV1bGljaCB3cm90ZToKPiBP
biAyNy4wMy4yMDIzIDE5OjE3LCBPbGVrc2lpIEt1cm9jaGtvIHdyb3RlOgo+ID4gLS0tIGEveGVu
L2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vY29uZmlnLmgKPiA+ICsrKyBiL3hlbi9hcmNoL3Jpc2N2
L2luY2x1ZGUvYXNtL2NvbmZpZy5oCj4gPiBAQCAtMzksMTIgKzM5LDI1IEBACj4gPiDCoMKgIG5h
bWU6Cj4gPiDCoCNlbmRpZgo+ID4gwqAKPiA+IC0jZGVmaW5lIFhFTl9WSVJUX1NUQVJUwqAgX0FU
KFVMLCAweDgwMjAwMDAwKQo+ID4gKyNkZWZpbmUgQUREUkVTU19TUEFDRV9FTkQgKF9BQygtMSwg
VUwpKQo+ID4gKyNkZWZpbmUgU1pfMUfCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMHg0MDAwMDAw
MAo+IAo+IE5vIG5lZWQgZm9yIHRoaXMgLSBwbGVhc2UgdXNlIEdCKDEpIChzZWUgeGVuL2NvbmZp
Zy5oKSBpbiBpdHMgc3RlYWQuCkknbGwgdXNlIEdCKDEpLiBUaGFua3MuCj4gCj4gPiArI2lmZGVm
IENPTkZJR19SSVNDVl82NAo+ID4gKyNkZWZpbmUgWEVOX1ZJUlRfU1RBUlTCoMKgwqAgKEFERFJF
U1NfU1BBQ0VfRU5EIC0gU1pfMUcgKyAxKQo+IAo+IEkgZmlyc3QgdGhvdWdodCB0aGUgIiArIDEi
IHdvdWxkIGJlIHJlbmRlcmluZyB0aGUgYWRkcmVzcyBtaXNhbGlnbmVkLgo+IE1heSBJIHN1Z2dl
c3QgKEFERFJFU1NfU1BBQ0VfRU5EICsgMSAtIFNaXzFHKSB0byBoZWxwIGF2b2lkaW5nIHRoaXMK
PiBpbXByZXNzaW9uPwpTdXJlLiBXaWxsIHVwZGF0ZSBpdCBpbiBuZXh0IHZlcnNpb24gb2YgdGhl
IHBhdGNoIHNlcmllcy4KPiAKPiA+ICsjZWxzZQo+ID4gKyNlcnJvciAiUlYzMiBpc24ndCBzdXBw
b3J0ZWQiYXNtCj4gCj4gU3RyYXkgImFzbSIgYXQgdGhlIGVuZCBvZiB0aGUgbGluZS4KTXkgZmF1
bHQuLi4KPiAKPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL3hlbi9hcmNoL3Jpc2N2L2luY2x1
ZGUvYXNtL3BhZ2UuaAo+ID4gQEAgLTAsMCArMSw2MiBAQAo+ID4gKyNpZm5kZWYgX0FTTV9SSVND
Vl9QQUdFX0gKPiA+ICsjZGVmaW5lIF9BU01fUklTQ1ZfUEFHRV9ICj4gPiArCj4gPiArI2luY2x1
ZGUgPHhlbi9jb25zdC5oPgo+ID4gKyNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KPiA+ICsKPiA+ICsj
ZGVmaW5lIFZQTl9NQVNLwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKCh1
bnNpZ25lZAo+ID4gbG9uZykoUEFHRVRBQkxFX0VOVFJJRVMgLSAxKSkKPiA+ICsKPiA+ICsjZGVm
aW5lIFhFTl9QVF9MRVZFTF9PUkRFUihsdmwpwqDCoMKgwqAgKChsdmwpICogUEFHRVRBQkxFX09S
REVSKQo+ID4gKyNkZWZpbmUgWEVOX1BUX0xFVkVMX1NISUZUKGx2bCnCoMKgwqDCoCAoWEVOX1BU
X0xFVkVMX09SREVSKGx2bCkgKwo+ID4gUEFHRV9TSElGVCkKPiA+ICsjZGVmaW5lIFhFTl9QVF9M
RVZFTF9TSVpFKGx2bCnCoMKgwqDCoMKgIChfQVQocGFkZHJfdCwgMSkgPDwKPiA+IFhFTl9QVF9M
RVZFTF9TSElGVChsdmwpKQo+ID4gKyNkZWZpbmUgWEVOX1BUX0xFVkVMX01BUF9NQVNLKGx2bCnC
oCAofihYRU5fUFRfTEVWRUxfU0laRShsdmwpIC0KPiA+IDEpKQo+ID4gKyNkZWZpbmUgWEVOX1BU
X0xFVkVMX01BU0sobHZsKcKgwqDCoMKgwqAgKFZQTl9NQVNLIDw8Cj4gPiBYRU5fUFRfTEVWRUxf
U0hJRlQobHZsKSkKPiA+ICsKPiA+ICsjZGVmaW5lIFBURV9WQUxJRMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBCSVQoMCwgVUwpCj4gPiArI2RlZmluZSBQVEVfUkVBREFCTEXC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQklUKDEsIFVMKQo+ID4gKyNkZWZpbmUgUFRF
X1dSSVRBQkxFwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJJVCgyLCBVTCkKPiA+ICsj
ZGVmaW5lIFBURV9FWEVDVVRBQkxFwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQklUKDMsIFVM
KQo+ID4gKyNkZWZpbmUgUFRFX1VTRVLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBCSVQoNCwgVUwpCj4gPiArI2RlZmluZSBQVEVfR0xPQkFMwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBCSVQoNSwgVUwpCj4gPiArI2RlZmluZSBQVEVfQUNDRVNTRUTCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQklUKDYsIFVMKQo+ID4gKyNkZWZpbmUgUFRFX0RJ
UlRZwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEJJVCg3LCBVTCkKPiA+ICsj
ZGVmaW5lIFBURV9SU1fCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChC
SVQoOCwgVUwpIHwgQklUKDksIFVMKSkKPiA+ICsKPiA+ICsjZGVmaW5lIFBURV9MRUFGX0RFRkFV
TFTCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChQVEVfVkFMSUQgfCBQVEVfUkVBREFCTEUgfAo+ID4g
UFRFX1dSSVRBQkxFKQo+ID4gKyNkZWZpbmUgUFRFX1RBQkxFwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIChQVEVfVkFMSUQpCj4gPiArCj4gPiArLyogQ2FsY3VsYXRlIHRoZSBv
ZmZzZXRzIGludG8gdGhlIHBhZ2V0YWJsZXMgZm9yIGEgZ2l2ZW4gVkEgKi8KPiA+ICsjZGVmaW5l
IHB0X2xpbmVhcl9vZmZzZXQobHZsLCB2YSnCoMKgICgodmEpID4+Cj4gPiBYRU5fUFRfTEVWRUxf
U0hJRlQobHZsKSkKPiA+ICsKPiA+ICsjZGVmaW5lIHB0X2luZGV4KGx2bCwgdmEpIHB0X2xpbmVh
cl9vZmZzZXQobHZsLCAodmEpICYKPiA+IFhFTl9QVF9MRVZFTF9NQVNLKGx2bCkpCj4gPiArCj4g
PiArI2lmZGVmIENPTkZJR19SSVNDVl82NAo+ID4gK3R5cGVkZWYgdWludDY0X3QgcHRlX3Q7Cj4g
PiArI2Vsc2UKPiA+ICt0eXBlZGVmIHVpbnQzMl90IHB0ZV90Owo+ID4gKyNlbmRpZgo+IAo+IEFy
ZSB5b3Ugc3VyZSB5b3UgZG9uJ3Qgd2FudCB0byBlbmNhcHN1bGF0ZSB0aGVzZSBpbiBhIHN0cnVj
dCwgZm9yCj4gdHlwZQo+IHNhZmV0eSBwdXJwb3Nlcz8KWWVhaCwgaXQgbWFrZXMgc2Vuc2UuCj4g
Cj4gPiArI2RlZmluZSBhZGRyX3RvX3B0ZSh4KSAoKCh4KSA+PiBQVEVfUFBOX1NISUZUKSA8PCBQ
QUdFX1NISUZUKQo+IAo+IFRoaXMgbG9va2luZyBsaWtlIHRoZSBpbnZlcnNlIG9mIC4uLgo+IAo+
ID4gKy8qIFNoaWZ0IHRoZSBWUE5beF0gb3IgUFBOW3hdIGZpZWxkcyBvZiBhIHZpcnR1YWwgb3Ig
cGh5c2ljYWwKPiA+IGFkZHJlc3MKPiA+ICsgKiB0byBiZWNvbWUgdGhlIHNoaWZ0ZWQgUFBOW3hd
IGZpZWxkcyBvZiBhIHBhZ2UgdGFibGUgZW50cnkgKi8KPiA+ICsjZGVmaW5lIGFkZHJfdG9fcHBu
KHgpICgoKHgpID4+IFBBR0VfU0hJRlQpIDw8IFBURV9QUE5fU0hJRlQpCj4gCj4gLi4uIHRoaXMs
IGRvZXMgdGhhdCBvbmUgd2FudCB0byBiZSBjYWxsZWQgInBwbl90b19hZGRyKCkiPyBPdGhlcndp
c2UKPiBJCj4gY2FuJ3Qgc2VlIGhvdyBuYW1lIGFuIG9wZXJhdGlvbiBmaXQgdG9nZXRoZXIuCnBw
bl90b19hZGRyKCkgd2lsbCBiZSBiZXR0ZXIgc28gaXQgd2lsbCBiZSB1cGRhdGUgaW4gbmV4dCB2
ZXJzaW9uIG9mCnRoZSBwYXRjaCBzZXJpZXMuCgo+IAo+ID4gK3N0YXRpYyBpbmxpbmUgcHRlX3Qg
cGFkZHJfdG9fcHRlKGNvbnN0IHVuc2lnbmVkIGxvbmcgcGFkZHIsCj4gCj4gcGFkZHJfdD8KSXQg
bG9va3MgbGlrZSBJIHVzZWQgcGFkZHJfdCBiZWZvcmUgYnV0IGdvdCBhIHJlY29tbWVuZGF0aW9u
IHRvIGNoYW5nZQppdCB0byAndWwnLiBJIHdpbGwgZG91YmxlLWNoZWNrLgo+IAo+ID4gK8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgY29uc3QgdW5zaWduZWQgbG9uZyBwZXJtaXNzaW9ucykKPiA+ICt7Cj4gPiArwqDCoMKgIHB0
ZV90IHRtcCA9IChwdGVfdClhZGRyX3RvX3BwbihwYWRkcik7Cj4gPiArwqDCoMKgIHJldHVybiB0
bXAgfCBwZXJtaXNzaW9uczsKPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIGlubGluZSBwdGVfdCBw
dGVfdG9fcGFkZHIoY29uc3QgdW5zaWduZWQgbG9uZyBwYWRkcikKPiAKPiBBIGZ1bmN0aW9uIG9m
IHRoaXMgbmFtZSB3YW50cyB0byB0YWtlIHB0ZV90IGFzIHBhcmFtZXRlciBhbmQgcmV0dXJuCj4g
cGFkZHJfdCAobm90ZSB0aGUgdHlwZSBzYWZldHkgcmVtYXJrIGhpZ2hlciB1cCwgYXMgaXQgYmVj
b21lcwo+IHJlbGV2YW50Cj4gcmlnaHQgaGVyZSkuIEl0IGFsc28gaGFyZGx5IGNhbiBiZSBpbXBs
ZW1lbnRlZCAuLi4KPiAKPiA+ICt7Cj4gPiArwqDCoMKgIHJldHVybiAocHRlX3QpYWRkcl90b19w
dGUocGFkZHIpOwo+IAo+IC4uLiBpbiB0ZXJtcyBvZiBhIGZ1bmN0aW9uL21hY3JvIHdpdGggZWZm
ZWN0aXZlbHkgdGhlIG9wcG9zaXRlIG5hbWUuClRoYW5rcy4gSSdsbCB1cGRhdGUgdGhhdC4KPiAK
PiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL3hlbi9hcmNoL3Jpc2N2L21tLmMKPiA+IEBAIC0w
LDAgKzEsMjc3IEBACj4gPiArI2luY2x1ZGUgPHhlbi9pbml0Lmg+Cj4gPiArI2luY2x1ZGUgPHhl
bi9rZXJuZWwuaD4KPiA+ICsKPiA+ICsjaW5jbHVkZSA8YXNtL2Vhcmx5X3ByaW50ay5oPgo+ID4g
KyNpbmNsdWRlIDxhc20vY29uZmlnLmg+Cj4gPiArI2luY2x1ZGUgPGFzbS9jc3IuaD4KPiA+ICsj
aW5jbHVkZSA8YXNtL21tLmg+Cj4gPiArI2luY2x1ZGUgPGFzbS9wYWdlLmg+Cj4gPiArI2luY2x1
ZGUgPGFzbS9wcm9jZXNzb3IuaD4KPiA+ICsKPiA+ICsjZGVmaW5lIFBHVEJMX0lOSVRJQUxfQ09V
TlQgOAo+IAo+IFdoYXQgZG9lcyB0aGlzIG1hZ2ljIG51bWJlciBkZXJpdmUgZnJvbT8gKEEgY29t
bWVudCBtYXkgaGVscC4pCkl0IGNhbiBiZSBub3cgNCB0YWJsZXMgYXMgaXQgaXMgZW5vdWdoIHRv
IG1hcCAyTWIuIDggaXQgd2FzIHdoZW4gSQpleHBlcmltZW50ZWQgd2l0aCBiaWdnZXIgc2l6ZXMg
b2YgWGVuIGJpbmFyeSBhbmQgdmVyaWZpZWQgdGhhdCBsb2dpYyBvZgp3b3JraW5nIHdpdGggcGFn
ZSB0YWJsZXMgd29ya3MuCj4gCj4gPiArI2RlZmluZSBQR1RCTF9FTlRSWV9BTU9VTlTCoCAoUEFH
RV9TSVpFL3NpemVvZihwdGVfdCkpCj4gCj4gTml0OiBTdHlsZSAoYmxhbmtzIGFyb3VuZCBiaW5h
cnkgb3BlcmF0b3JzKS4KVGhhbmtzLgoKPiAKPiA+ICtzdHJ1Y3QgbW11X2Rlc2Mgewo+ID4gK8Kg
wqDCoCB1bnNpZ25lZCBsb25nIG51bV9sZXZlbHM7Cj4gPiArwqDCoMKgIHVpbnQzMl90IHBndGJs
X2NvdW50Owo+IAo+IE5pdDogU3R5bGUgKGFzIGJlZm9yZSBwbGVhc2UgYXZvaWQgZml4ZWQgd2lk
dGggdHlwZXMgd2hlbiB0aGVpciB1c2UKPiBpc24ndCByZWFsbHkgd2FycmFudGVkOyBhZmFpY3Mg
dW5zaWduZWQgaW50IHdpbGwgZG8gZmluZSBoZXJlIGFuZAo+IGVsc2V3aGVyZSBiZWxvdykuCkkg
d2lsbCBjaGFuZ2UgaXQgYnV0IEkgYW0gbm90IHN1cmUgdGhhdCBJIGZ1bGx5IHVuZGVyc3RhbmQg
d2hhdCBpcyBhbgppc3N1ZSB3aXRoIHVpbnQzMl90LgoKPiAKPiA+ICvCoMKgwqAgcHRlX3QgKm5l
eHRfcGd0Ymw7Cj4gPiArwqDCoMKgIHB0ZV90ICpwZ3RibF9iYXNlOwo+ID4gK307Cj4gPiArCj4g
PiArZXh0ZXJuIHVuc2lnbmVkIGxvbmcgX19ic3Nfc3RhcnRbXTsKPiA+ICtleHRlcm4gdW5zaWdu
ZWQgbG9uZyBfX2Jzc19lbmRbXTsKPiAKPiBXaHkgYXJlIHRoZXNlIGJlaW5nIGFkZGVkIGhlcmU/
IFRoZXkgYXJlbid0IGJlaW5nIHVzZWQgYWZhaWNzLgpNaXNzc2VkIHRvIHJlbW92ZSB0aGVtLiBU
aGV5IHdhcyB1c2VkIGluIHRoZSBwcmV2aW91cyB2ZXJzaW9uIG9mIHRoZQpwYXRjaC4KPiAKPiA+
ICtleHRlcm4gdW5zaWduZWQgY2hhciBjcHUwX2Jvb3Rfc3RhY2tbU1RBQ0tfU0laRV07Cj4gPiAr
Cj4gPiArI2RlZmluZSBQSFlTX09GRlNFVCAoKHVuc2lnbmVkIGxvbmcpX3N0YXJ0IC0gWEVOX1ZJ
UlRfU1RBUlQpCj4gPiArI2RlZmluZSBMT0FEX1RPX0xJTksoYWRkcikgKChhZGRyKSAtIFBIWVNf
T0ZGU0VUKQo+ID4gKyNkZWZpbmUgTElOS19UT19MT0FEKGFkZHIpICgoYWRkcikgKyBQSFlTX09G
RlNFVCkKPiA+ICsKPiA+ICtwdGVfdCBfX3NlY3Rpb24oIi5ic3MucGFnZV9hbGlnbmVkIikgX19h
bGlnbmVkKFBBR0VfU0laRSkKPiA+ICtzdGFnZTFfcGd0Ymxfcm9vdFtQR1RCTF9FTlRSWV9BTU9V
TlRdOwo+ID4gKwo+ID4gK3B0ZV90IF9fc2VjdGlvbigiLmJzcy5wYWdlX2FsaWduZWQiKSBfX2Fs
aWduZWQoUEFHRV9TSVpFKQo+ID4gK3N0YWdlMV9wZ3RibF9ub25yb290W1BHVEJMX0lOSVRJQUxf
Q09VTlQgKiBQR1RCTF9FTlRSWV9BTU9VTlRdOwo+ID4gKwo+ID4gKyNkZWZpbmUKPiA+IEhBTkRM
RV9QR1RCTCgpwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oAo+ID4gXAo+ID4gK8KgwqDCoCBpbmRleCA9wqAgcHRfaW5kZXgoY3Vycl9sdmxfbnVtLAo+ID4g
cGFnZV9hZGRyKTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCBcCj4gCj4gTml0OiBTdHlsZSAoc3RyYXkgZG91YmxlIGJsYW5rcykuClN1cmUu
IFRoYW5rcy4KPiAKPiA+ICvCoMKgwqAgaWYgKCBwdGVfaXNfdmFsaWQocGd0YmxbaW5kZXhdKSAp
Cj4gPiB7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiAKPiBOaXQ6IFN0eWxlIChicmFjZSBwbGFjZW1lbnQg
dGhyb3VnaG91dCB0aGUgbWFjcm8gLSBpbiByZWFsbHkgc21hbGwKPiBtYWNyb3MgdGhlIHdheSB5
b3UgaGF2ZSBpdCBtYXkgYmUgb2theSBhcyBhbiBleGNlcHRpb24sIGJ1dCB0aGlzCj4gbWFjcm8K
PiBpc24ndCBzbWFsbCkuCkl0IGxvb2tzIGxpa2UgSSBjb25mdXNlZCBicmFjZSBwbGFjZW1lbnQg
Zm9yIGlmL2Vsc2Ugd2l0aCBMSy4uLgpBbnl3YXkgaXQgd2lsbCBiZSB1cGRhdGVkLgo+IAo+ID4g
K8KgwqDCoMKgwqDCoMKgIC8qIEZpbmQgTHsgMC0zIH0gdGFibGUKPiA+ICovwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqDCoMKgwqDCoCBwZ3RibCA9IChwdGVfdAo+ID4g
KilwdGVfdG9fcGFkZHIocGd0YmxbaW5kZXhdKTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqAgfSBlbHNlCj4gPiB7wqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IFwKPiA+ICvCoMKgwqDCoMKgwqDCoCAvKiBBbGxvY2F0ZSBuZXcgTHswLTN9IHBhZ2UgdGFibGUK
PiA+ICovwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoMKgwqDCoMKgIGlmICggbW11X2Rlc2MtPnBndGJsX2Nv
dW50ID09IFBHVEJMX0lOSVRJQUxfQ09VTlQgKQo+ID4ge8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgXAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZWFybHlfcHJpbnRrKCIoWEVOKSBO
byBpbml0aWFsIHRhYmxlCj4gPiBhdmFpbGFibGVcbiIpO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCBcCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBwYW5pYygpLCBCVUcoKSBvciBBU1NF
UlQoKSBhcmVuJ3QgcmVhZHkgbm93Lgo+ID4gKi/CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBc
Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gZGllKCk7wqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqDCoMKg
wqDCoAo+ID4gfcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoAo+ID4gXAo+ID4gK8KgwqDCoMKgwqDCoMKgIG1t
dV9kZXNjLQo+ID4gPnBndGJsX2NvdW50Kys7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
XAo+ID4gK8KgwqDCoMKgwqDCoMKgIHBndGJsW2luZGV4XSA9IHBhZGRyX3RvX3B0ZSgodW5zaWdu
ZWQgbG9uZyltbXVfZGVzYy0KPiA+ID5uZXh0X3BndGJsLMKgwqDCoCBcCj4gPiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoAo+ID4gUFRFX1ZBTElEKTvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBcCj4gPiArwqDCoMKgwqDCoMKgwqAgcGd0YmwgPSBtbXVfZGVz
Yy0KPiA+ID5uZXh0X3BndGJsO8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXAo+ID4gK8KgwqDCoMKgwqDC
oMKgIG1tdV9kZXNjLT5uZXh0X3BndGJsICs9Cj4gPiBQR1RCTF9FTlRSWV9BTU9VTlQ7wqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwKPiA+ICvCoMKgwqAg
fQo+ID4gKwo+ID4gK3N0YXRpYyB2b2lkIF9faW5pdCBzZXR1cF9pbml0aWFsX21hcHBpbmcoc3Ry
dWN0IG1tdV9kZXNjCj4gPiAqbW11X2Rlc2MsCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcg
bWFwX3N0YXJ0LAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBsb25nIG1hcF9lbmQsCj4gPiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHVuc2lnbmVkIGxvbmcgcGFfc3RhcnQsCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGxv
bmcgcGVybWlzc2lvbikKPiAKPiBOaXQ6IFN0eWxlIChpbmRlbnRhdGlvbiwgYW5kIGl0IGZlZWxz
IGxpa2UgSSBjb21tZW50ZWQgb24gdGhpcwo+IGJlZm9yZSkuCllvdSBjb21tZW50ZWQuIEkgd2ls
bCBkb3VibGUgY2hlY2sgYmVjYXVzZSBJIHRob3VnaCB0aGF0IEkgZml4ZWQgaXQuCj4gCj4gPiAr
ewo+ID4gK8KgwqDCoCB1aW50MzJfdCBpbmRleDsKPiA+ICvCoMKgwqAgcHRlX3QgKnBndGJsOwo+
ID4gK8KgwqDCoCB1bnNpZ25lZCBsb25nIHBhZ2VfYWRkcjsKPiA+ICvCoMKgwqAgdW5zaWduZWQg
aW50IGN1cnJfbHZsX251bTsKPiA+ICvCoMKgwqAgcHRlX3QgcHRlX3RvX2JlX3dyaXR0ZW47Cj4g
PiArwqDCoMKgIHVuc2lnbmVkIGxvbmcgcGFkZHI7Cj4gPiArCj4gPiArwqDCoMKgIGlmICggKHVu
c2lnbmVkIGxvbmcpX3N0YXJ0ICUgWEVOX1BUX0xFVkVMX1NJWkUoMCkgKSB7Cj4gCj4gTml0OiBT
dHlsZSAoYnJhY2UgcGxhY2VtZW50KS4KVGhhbmtzLiBJbGwgdXBkYXRlIGJyYWNlIHBsYWNlbWVu
dC4KPiAKPiA+ICvCoMKgwqDCoMKgwqDCoCBlYXJseV9wcmludGsoIihYRU4pIFhlbiBzaG91bGQg
YmUgbG9hZGVkIGF0IDRrCj4gPiBib3VuZGFyeVxuIik7Cj4gPiArwqDCoMKgwqDCoMKgwqAgZGll
KCk7Cj4gPiArwqDCoMKgIH0KPiA+ICsKPiA+ICvCoMKgwqAgaWYgKCBtYXBfc3RhcnQgJiB+WEVO
X1BUX0xFVkVMX01BUF9NQVNLKDApIHx8Cj4gPiArwqDCoMKgwqDCoMKgwqAgcGFfc3RhcnQgJiB+
WEVOX1BUX0xFVkVMX01BUF9NQVNLKDApICkgewo+IAo+IE5pdDogU3R5bGUgKGluZGVudGF0aW9u
IGFuZCBicmFjZSBwbGFjZW1lbnQ7IG1vcmUgYmVsb3cpLgpUaGFua3MuIElsbCB1cGRhdGUgYnJh
Y2UgcGxhY2VtZW50Lgo+IAo+ID4gK8KgwqDCoMKgwqDCoMKgIGVhcmx5X3ByaW50aygiKFhFTikg
bWFwIGFuZCBwYSBzdGFydCBhZGRyZXNzZXMgc2hvdWxkIGJlCj4gPiBhbGlnbmVkXG4iKTsKPiA+
ICvCoMKgwqDCoMKgwqDCoCAvKiBwYW5pYygpLCBCVUcoKSBvciBBU1NFUlQoKSBhcmVuJ3QgcmVh
ZHkgbm93LiAqLwo+ID4gK8KgwqDCoMKgwqDCoMKgIGRpZSgpOwo+ID4gK8KgwqDCoCB9Cj4gPiAr
Cj4gPiArwqDCoMKgIHBhZ2VfYWRkciA9IG1hcF9zdGFydDsKPiA+ICvCoMKgwqAgd2hpbGUgKCBw
YWdlX2FkZHIgPCBtYXBfZW5kICkgewo+ID4gK8KgwqDCoMKgwqDCoMKgIHBndGJsID0gbW11X2Rl
c2MtPnBndGJsX2Jhc2U7Cj4gPiArCj4gPiArwqDCoMKgwqDCoMKgwqAgc3dpdGNoIChtbXVfZGVz
Yy0+bnVtX2xldmVscykKPiA+ICvCoMKgwqDCoMKgwqDCoCB7Cj4gPiArwqDCoMKgwqDCoMKgwqAg
Y2FzZSA0OiAvKiBMZXZlbCAzICovCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjdXJyX2x2
bF9udW0gPSAzOwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSEFORExFX1BHVEJMKCk7Cj4g
PiArwqDCoMKgwqDCoMKgwqAgY2FzZSAzOiAvKiBMZXZlbCAyICovCj4gPiArwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCBjdXJyX2x2bF9udW0gPSAyOwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
SEFORExFX1BHVEJMKCk7Cj4gPiArwqDCoMKgwqDCoMKgwqAgY2FzZSAyOiAvKiBMZXZlbCAxICov
Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjdXJyX2x2bF9udW0gPSAxOwo+ID4gK8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgSEFORExFX1BHVEJMKCk7Cj4gCj4gQW0gSSBnZXR0aW5nIGl0IHJp
Z2h0IHRoYXQgY3Vycl9sdmxfbnVtIHNvbGVseSBleGlzdHMgdG8gcGFzcyBhCj4gcGFyYW1ldGVy
Cj4gdG8gdGhlIG1hY3JvPyBJZiBzbywgd2h5IGRvZXNuJ3QgdGhlIG1hY3JvIHRha2UgYW4gYXBw
cm9wcmlhdGUKPiBwYXJhbWV0ZXIKPiBpbnN0ZWFkPwpjdXJyX2x2bF9udW0gZXhpc3RzIG9ubHkg
dG8gcGFzcyBjdXJyZW50IHBhZ2UgdGFibGUgbGV2ZWwgdG8gdGhlIG1hY3JvLgpJJ2xsIGFkZCBh
IHBhcmFtZXRlciB0byB0aGUgbWFjcm8uClRoYW5rcy4KPiAKPiA+ICvCoMKgwqDCoMKgwqDCoCBj
YXNlIDE6IC8qIExldmVsIDAgKi8KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGluZGV4ID0g
cHRfaW5kZXgoMCwgcGFnZV9hZGRyKTsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBhZGRy
ID0gKHBhZ2VfYWRkciAtIG1hcF9zdGFydCkgKyBwYV9zdGFydDsKPiA+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHB0ZV90b19iZV93cml0dGVuID0gcGFkZHJfdG9fcHRlKHBhZGRyLCBwZXJtaXNz
aW9uKTsKPiA+ICsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmICggIXB0ZV9pc192YWxp
ZChwZ3RibFtpbmRleF0pICkKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGd0
YmxbaW5kZXhdID0gcHRlX3RvX2JlX3dyaXR0ZW47Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCBlbHNlIHsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyoKPiA+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIGdldCBhbiBhZHJlc3NlcyBvZiBjdXJyZW50
IHB0ZSBhbmQgdGhhdCBvbmUgdG8KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAqIGJlIHdyaXR0ZW4gd2l0aG91dCBwZXJtaXNzaW9uIGZsYWdzCj4gPiArwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8KPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgdW5zaWduZWQgbG9uZyBjdXJyX3B0ZSA9Cj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgKHVuc2lnbmVkIGxvbmcpJnBndGJsW2luZGV4XSAmIChQVEVfUFBOX1NI
SUZUCj4gPiAtIDEpOwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwdGVfdG9f
YmVfd3JpdHRlbiAmPSAoUFRFX1BQTl9TSElGVCAtIDEpOwo+ID4gKwo+ID4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoIGN1cnJfcHRlICE9IHB0ZV90b19iZV93cml0dGVuICkg
ewo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGVhcmx5X3ByaW50
aygiUFRFIHRoYXQgaXMgaW50ZW5kZWQgdG8gd3JpdGUKPiA+IGlzbid0IHRoZSBcCj4gPiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBzYW1lIHRoYXQgdGhlIG9uY2UgYXJlCj4gPiBvdmVyd3JpdGluZ1xuIik7Cj4gCj4gSWly
YyB0aGVyZSBhcmUgY29tcGlsZXJzIHdoaWNoIHdhcm4gYWJvdXQgbGluZSBjb250aW51YXRpb24K
PiBjaGFyYWN0ZXJzCj4gaW5zaWRlIGEgc3RyaW5nIGxpdGVyYWwuIFNpbmNlIGFkamFjZW50IHN0
cmluZyBsaXRlcmFscyBhcmUKPiBjb25jYXRlbmF0ZWQKPiBieSB0aGUgY29tcGlsZXIgYW55d2F5
LCB5b3UnbGwgZmluZCBlbHNld2hlcmUgd2UgaGF2ZSB0aGUgZXF1aXZhbGVudAo+IG9mCj4gCj4g
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZWFybHlfcHJpbnRrKCJQVEUg
dGhhdCBpcyBpbnRlbmRlZCB0byB3cml0ZSBpc24ndAo+IHRoZSIKPiDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICIgc2FtZSB0
aGF0IHRoZSBvbmNlIGFyZQo+IG92ZXJ3cml0aW5nXG4iKTsKPiAKPiBUaGlzIHdpbGwgYWxzbyBh
dm9pZCBhbiBleGNlc3NpdmUgbnVtYmVyIG9mIGJsYW5rcyBpbiB0aGUgbWlkZGxlIG9mCj4gdGhl
Cj4gc3RyaW5nLgpBZ3JlZS4gSXQgd2lsbCBiZSBtdWNoIGJldHRlci4KPiAKPiA+ICvCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAvKiBwYW5pYygpLCA8YXNtL2J1Zy5oPiBh
cmVuJ3QgcmVhZHkgbm93LiAqLwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIGRpZSgpOwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4gPiAr
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB9Cj4gPiArwqDCoMKgwqDCoMKgwqAgfQo+ID4gKwo+ID4g
K8KgwqDCoMKgwqDCoMKgIC8qIFBvaW50IHRvIG5leHQgcGFnZSAqLwo+ID4gK8KgwqDCoMKgwqDC
oMKgIHBhZ2VfYWRkciArPSBYRU5fUFRfTEVWRUxfU0laRSgwKTsKPiA+ICvCoMKgwqAgfQo+ID4g
K30KPiA+ICsKPiA+ICtzdGF0aWMgdm9pZCBfX2luaXQgY2FsY19wZ3RibF9sdmxzX251bShzdHJ1
Y3TCoCBtbXVfZGVzYyAqbW11X2Rlc2MpCj4gPiArewo+ID4gK8KgwqDCoCB1bnNpZ25lZCBsb25n
IHNhdHBfbW9kZSA9IFJWX1NUQUdFMV9NT0RFOwo+ID4gKwo+ID4gK8KgwqDCoCAvKiBOdW1iZXIg
b2YgcGFnZSB0YWJsZSBsZXZlbHMgKi8KPiA+ICvCoMKgwqAgc3dpdGNoIChzYXRwX21vZGUpIHsK
PiAKPiBOaXQ6IFN0eWxlIChtaXNzaW5nIGJsYW5rcyBhbmQgYnJhY2UgcGxhY2VtZW50KS4KSSB0
aGluayB0aGF0IGFmdGVyIHRoaXMgcGF0Y2ggSSdsbCByZW1tZWJlciBhYm91dCBicmFjZSBwbGFj
ZW1lbnQuClRoYW5rIHlvdSBmb3IgcmVtaW5kIG1lIHRoYXQgOikKPiAKPiA+ICvCoMKgwqAgY2Fz
ZSBTQVRQX01PREVfU1YzMjoKPiA+ICvCoMKgwqDCoMKgwqDCoCBtbXVfZGVzYy0+bnVtX2xldmVs
cyA9IDI7Cj4gPiArwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4gPiArwqDCoMKgIGNhc2UgU0FUUF9N
T0RFX1NWMzk6Cj4gPiArwqDCoMKgwqDCoMKgwqAgbW11X2Rlc2MtPm51bV9sZXZlbHMgPSAzOwo+
ID4gK8KgwqDCoMKgwqDCoMKgIGJyZWFrOwo+ID4gK8KgwqDCoCBjYXNlIFNBVFBfTU9ERV9TVjQ4
Ogo+ID4gK8KgwqDCoMKgwqDCoMKgIG1tdV9kZXNjLT5udW1fbGV2ZWxzID0gNDsKPiA+ICvCoMKg
wqDCoMKgwqDCoCBicmVhazsKPiA+ICvCoMKgwqAgZGVmYXVsdDoKPiA+ICvCoMKgwqDCoMKgwqDC
oCBlYXJseV9wcmludGsoIihYRU4pIFVuc3VwcG9ydGVkIFNBVFBfTU9ERVxuIik7Cj4gPiArwqDC
oMKgwqDCoMKgwqAgd2hpbGUgKDEpOwo+IAo+IGRpZSgpICh1bnRpbCB5b3UgaGF2ZSBwYW5pYygp
KSBsaWtlIGFib3ZlPwpTaG91bGQgYmUgZGllLiBUaGFua3MuCj4gCj4gPiArwqDCoMKgIH0KPiA+
ICt9Cj4gPiArCj4gPiArc3RhdGljIHZvaWQgX19pbml0IHNldHVwX3B0ZXNfcGVybWlzc2lvbihz
dHJ1Y3QgbW11X2Rlc2MKPiA+ICptbXVfZGVzYykKPiA+ICt7Cj4gPiArwqDCoMKgIHB0ZV90ICpw
Z3RibDsKPiA+ICvCoMKgwqAgdWludDMyX3QgaW5kZXg7Cj4gPiArwqDCoMKgIHVpbnQzMl90IHBl
cm1pc3Npb25zID0gUFRFX1ZBTElEOwo+ID4gK8KgwqDCoCB1bnNpZ25lZCBsb25nIHN0YXJ0ID0g
TE9BRF9UT19MSU5LKCh1bnNpZ25lZCBsb25nKV9zdGFydCk7Cj4gPiArwqDCoMKgIHVuc2lnbmVk
IGxvbmcgZW5kwqDCoCA9IExPQURfVE9fTElOSygodW5zaWduZWQgbG9uZylfZW5kKTsKPiA+ICsK
PiA+ICvCoMKgwqAgd2hpbGUgKCBzdGFydCA8IGVuZCApCj4gPiArwqDCoMKgIHsKPiA+ICvCoMKg
wqDCoMKgwqDCoCBwZ3RibCA9IChwdGVfdCAqKSBtbXVfZGVzYy0+cGd0YmxfYmFzZTsKPiAKPiBO
aXQ6IFN0eWxlIChleHRyYSBibGFuayBhZnRlciBjbG9zaW5nIHBhcmVudGhlc2lzKS4gQnV0IGFm
YWljdCB5b3UKPiBkb24ndAo+IG5lZWQgYSBjYXNlIGhlcmUgaW4gdGhlIGZpcnN0IHBsYWNlOyBh
cyBzYWlkIGJlZm9yZSwgcGxlYXNlIGF2b2lkCj4gY2FzdHMKPiB3aGVuZXZlciBwb3NzaWJsZS4K
VGhlcmUgaXMgbm8gYW55IHNlbnNlIGluIGNhc3QuIFRoYW5rcy4KCj4gCj4gPiArwqDCoMKgwqDC
oMKgwqAgc3dpdGNoIChtbXVfZGVzYy0+bnVtX2xldmVscykKPiAKPiBOaXQ6IFN0eWxlIChNaXNz
aW5nIGJsYW5rcykuCj4gCj4gPiArwqDCoMKgwqDCoMKgwqAgewo+ID4gK8KgwqDCoMKgwqDCoMKg
IGNhc2UgNDogLyogZmluZCBMZXZlbCAzIHBhZ2UgdGFibGUqLwo+ID4gK8KgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgaW5kZXggPSBwdF9pbmRleCgzLCBzdGFydCk7Cj4gPiArwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBwZ3RibCA9IChwdGVfdCAqKXB0ZV90b19wYWRkcihwZ3RibFtpbmRleF0pOwo+ID4g
K8KgwqDCoMKgwqDCoMKgIGNhc2UgMzogLyogZmluZCBsZXZlbCAyIHBhZ2UgdGFibGUgKi8KPiA+
ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGluZGV4ID0gcHRfaW5kZXgoMiwgc3RhcnQpOwo+ID4g
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGd0YmwgPSAocHRlX3QgKilwdGVfdG9fcGFkZHIocGd0
YmxbaW5kZXhdKTsKPiA+ICvCoMKgwqDCoMKgwqDCoCBjYXNlIDI6IC8qIGZpbmQgbGV2ZWwgMSBw
YWdlIHRhYmxlICovCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbmRleCA9IHB0X2luZGV4
KDEsIHN0YXJ0KTsKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHBndGJsID0gKHB0ZV90ICop
cHRlX3RvX3BhZGRyKHBndGJsW2luZGV4XSk7Cj4gPiArwqDCoMKgwqDCoMKgwqAgY2FzZSAxOiAv
KiBmaW5kIGxldmVsIDAgcGFnZSB0YWJsZSAqLwo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
aW5kZXggPSBwdF9pbmRleCgwLCBzdGFydCk7Cj4gPiArCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBpZiAoIGlzX2tlcm5lbF90ZXh0KExJTktfVE9fTE9BRChzdGFydCkpIHx8Cj4gPiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaXNfa2VybmVsX2luaXR0ZXh0KExJTktfVE9f
TE9BRChzdGFydCkpICkKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcGVybWlz
c2lvbnMgfD0gUFRFX0VYRUNVVEFCTEUgfCBQVEVfUkVBREFCTEU7Cj4gPiArCj4gPiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBpZiAoIGlzX2tlcm5lbF9yb2RhdGEoTElOS19UT19MT0FEKHN0YXJ0
KSkgKQo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwZXJtaXNzaW9ucyB8PSBQ
VEVfUkVBREFCTEU7Cj4gPiArCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwZ3RibFtpbmRl
eF0gfD0gcGVybWlzc2lvbnM7Cj4gCj4gc2V0dXBfaW5pdGlhbF9tYXBwaW5nKCkgaGFzIGluc3Rh
bGxlZCBSL1cgbWFwcGluZ3MuIEhlbmNlIE9SaW5nIGluCj4gUFRFX1JFQURBQkxFIGlzIG1lYW5p
bmdsZXNzIGhlcmUsIGFuZCBuZWl0aGVyIC50ZXh0IG5vciAucm9kYXRhCj4gd2lsbCBlbmQgdXAg
d3JpdGUtcHJvdGVjdGVkLiBUaGUgcXVlc3Rpb24gaXMgLi4uCj4gCj4gPiArwqDCoMKgwqDCoMKg
wqAgfQo+ID4gKwo+ID4gK8KgwqDCoMKgwqDCoMKgIHN0YXJ0ICs9IFBBR0VfU0laRTsKPiA+ICvC
oMKgwqAgfQo+ID4gK30KPiA+ICsKPiA+ICsvKgo+ID4gKyAqIHNldHVwX2luaXRpYWxfcGFnZXRh
YmxlczoKPiA+ICsgKgo+ID4gKyAqIEJ1aWxkIHRoZSBwYWdlIHRhYmxlcyBmb3IgWGVuIHRoYXQg
bWFwIHRoZSBmb2xsb3dpbmc6Cj4gPiArICrCoCAxLiBDYWxjdWxhdGUgcGFnZSB0YWJsZSdzIGxl
dmVsIG51bWJlcnMuCj4gPiArICrCoCAyLiBJbml0IG1tdSBkZXNjcmlwdGlvbiBzdHJ1Y3R1cmUu
Cj4gPiArICrCoCAzLiBDaGVjayB0aGF0IGxpbmtlciBhZGRyZXNzZXMgcmFuZ2UgZG9lc24ndCBv
dmVybGFwCj4gPiArICrCoMKgwqDCoCB3aXRoIGxvYWQgYWRkcmVzc2VzIHJhbmdlCj4gPiArICrC
oCA0LiBNYXAgYWxsIGxpbmtlciBhZGRyZXNzZXMgYW5kIGxvYWQgYWRkcmVzc2VzICggaXQgc2hv
dWxkbid0Cj4gPiArICrCoMKgwqDCoCBiZSAxOjEgbWFwcGVkIGFuZCB3aWxsIGJlIDE6MSBtYXBw
ZWQgb25seSBpbiBjYXNlIGlmCj4gPiArICrCoMKgwqDCoCBsaW5rZXIgYWRkcmVzcyBpcyBlcXVh
bCB0byBsb2FkIGFkZHJlc3MgKSB3aXRoCj4gPiArICrCoMKgwqDCoCBSVyBwZXJtaXNzaW9ucyBi
eSBkZWZhdWx0Lgo+ID4gKyAqwqAgNS4gU2V0dXAgcHJvcGVyIFBURSBwZXJtaXNzaW9ucyBmb3Ig
ZWFjaCBzZWN0aW9uLgo+ID4gKyAqLwo+ID4gK3ZvaWQgX19pbml0IHNldHVwX2luaXRpYWxfcGFn
ZXRhYmxlcyh2b2lkKQo+ID4gK3sKPiA+ICvCoMKgwqAgc3RydWN0IG1tdV9kZXNjIG1tdV9kZXNj
ID0geyAwLCAwLCBOVUxMLCAwIH07Cj4gPiArCj4gPiArwqDCoMKgIC8qCj4gPiArwqDCoMKgwqAg
KiBBY2Nlc3MgdG8gX3tzdGFyZCwgZW5kIH0gaXMgYWx3YXlzIFBDLXJlbGF0aXZlCj4gPiArwqDC
oMKgwqAgKiB0aGVyZWJ5IHdoZW4gYWNjZXNzIHRoZW0gd2Ugd2lsbCBnZXQgbG9hZCBhZHJlc3Nl
cwo+ID4gK8KgwqDCoMKgICogb2Ygc3RhcnQgYW5kIGVuZCBvZiBYZW4KPiA+ICvCoMKgwqDCoCAq
IFRvIGdldCBsaW5rZXIgYWRkcmVzc2VzIExPQURfVE9fTElOSygpIGlzIHJlcXVpcmVkCj4gPiAr
wqDCoMKgwqAgKiB0byB1c2UKPiA+ICvCoMKgwqDCoCAqLwo+ID4gK8KgwqDCoCB1bnNpZ25lZCBs
b25nIGxvYWRfc3RhcnTCoMKgwqAgPSAodW5zaWduZWQgbG9uZylfc3RhcnQ7Cj4gPiArwqDCoMKg
IHVuc2lnbmVkIGxvbmcgbG9hZF9lbmTCoMKgwqDCoMKgID0gKHVuc2lnbmVkIGxvbmcpX2VuZDsK
PiA+ICvCoMKgwqAgdW5zaWduZWQgbG9uZyBsaW5rZXJfc3RhcnTCoCA9IExPQURfVE9fTElOSyhs
b2FkX3N0YXJ0KTsKPiA+ICvCoMKgwqAgdW5zaWduZWQgbG9uZyBsaW5rZXJfZW5kwqDCoMKgID0g
TE9BRF9UT19MSU5LKGxvYWRfZW5kKTsKPiA+ICsKPiA+ICvCoMKgwqAgaWYgKCAobGlua2VyX3N0
YXJ0ICE9IGxvYWRfc3RhcnQpICYmCj4gPiArwqDCoMKgwqDCoMKgwqDCoCAobGlua2VyX3N0YXJ0
IDw9IGxvYWRfZW5kKSAmJiAobG9hZF9zdGFydCA8PSBsaW5rZXJfZW5kKQo+ID4gKSB7Cj4gPiAr
wqDCoMKgwqDCoMKgwqAgZWFybHlfcHJpbnRrKCIoWEVOKSBsaW5rZXIgYW5kIGxvYWQgYWRkcmVz
cyByYW5nZXMKPiA+IG92ZXJsYXBcbiIpOwo+ID4gK8KgwqDCoMKgwqDCoMKgIGRpZSgpOwo+ID4g
K8KgwqDCoCB9Cj4gPiArCj4gPiArwqDCoMKgIGNhbGNfcGd0YmxfbHZsc19udW0oJm1tdV9kZXNj
KTsKPiA+ICsKPiA+ICvCoMKgwqAgbW11X2Rlc2MucGd0YmxfYmFzZSA9IHN0YWdlMV9wZ3RibF9y
b290Owo+ID4gK8KgwqDCoCBtbXVfZGVzYy5uZXh0X3BndGJsID0gc3RhZ2UxX3BndGJsX25vbnJv
b3Q7Cj4gPiArCj4gPiArwqDCoMKgIHNldHVwX2luaXRpYWxfbWFwcGluZygmbW11X2Rlc2MsCj4g
PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbGlu
a2VyX3N0YXJ0LAo+ID4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIGxpbmtlcl9lbmQsCj4gPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgbG9hZF9zdGFydCwKPiA+ICvCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBQVEVfTEVBRl9ERUZBVUxUKTsKPiA+ICsK
PiA+ICvCoMKgwqAgc2V0dXBfcHRlc19wZXJtaXNzaW9uKCZtbXVfZGVzYyk7Cj4gCj4gLi4uOiBX
aHkgZG9lcyB0aGlzIHJlcXVpcmUgYSAybmQgcGFzcyAvIGZ1bmN0aW9uIGluIHRoZSBmaXJzdCBw
bGFjZT8KUHJvYmFibHkgSSBtaXN1bmRlcnN0b29kIEp1bGllbiBhbmQgaXQgc2V0dXBfcHRlX3Bl
cm1pc3Npb24gY2FuIGJlIGRvbmUKaW4gc2V0dXBfaW5pdGlhbF9tYXBwaW5nKCkgYnV0IGhlcmUg
aXMgdGhlIHJlcGx5OgpodHRwczovL2xvcmUua2VybmVsLm9yZy94ZW4tZGV2ZWwvNzllODM2MTAt
NTk4MC1kOWI1LTc5OTQtNmIwY2IyYjkwNDlhQHhlbi5vcmcvCj4gCj4gPiArfQo+ID4gKwo+ID4g
K3ZvaWQgX19pbml0IGVuYWJsZV9tbXUoKQo+ID4gK3sKPiA+ICvCoMKgwqAgLyoKPiA+ICvCoMKg
wqDCoCAqIENhbGN1bGF0ZSBhIGxpbmtlciB0aW1lIGFkZHJlc3Mgb2YgdGhlIG1tdV9pc19lbmFi
bGVkCj4gPiArwqDCoMKgwqAgKiBsYWJlbCBhbmQgdXBkYXRlIENTUl9TVFZFQyB3aXRoIGl0Lgo+
ID4gK8KgwqDCoMKgICogTU1VIGlzIGNvbmZpZ3VyZWQgaW4gYSB3YXkgd2hlcmUgbGlua2VyIGFk
ZHJlc3NlcyBhcmUKPiA+IG1hcHBlZAo+ID4gK8KgwqDCoMKgICogb24gbG9hZCBhZGRyZXNzZXMg
c28gaW4gYSBjYXNlIHdoZW4gbGlua2VyIGFkZHJlc3NlcyBhcmUKPiA+IG5vdCBlcXVhbAo+ID4g
K8KgwqDCoMKgICogdG8gbG9hZCBhZGRyZXNzZXMsIGFmdGVyIE1NVSBpcyBlbmFibGVkLCBpdCB3
aWxsIGNhdXNlCj4gPiArwqDCoMKgwqAgKiBhbiBleGNlcHRpb24gYW5kIGp1bXAgdG8gbGlua2Vy
IHRpbWUgYWRkcmVzc2VzLgo+ID4gK8KgwqDCoMKgICogT3RoZXJ3aXNlIGlmIGxvYWQgYWRkcmVz
c2VzIGFyZSBlcXVhbCB0byBsaW5rZXIgYWRkcmVzc2VzCj4gPiB0aGUgY29kZQo+ID4gK8KgwqDC
oMKgICogYWZ0ZXIgbW11X2lzX2VuYWJsZWQgbGFiZWwgd2lsbCBiZSBleGVjdXRlZCB3aXRob3V0
Cj4gPiBleGNlcHRpb24uCj4gPiArwqDCoMKgwqAgKi8KPiA+ICvCoMKgwqAgY3NyX3dyaXRlKENT
Ul9TVFZFQywgTE9BRF9UT19MSU5LKCh1bnNpZ25lZAo+ID4gbG9uZykmJm1tdV9pc19lbmFibGVk
KSk7Cj4gCj4gVGhhdCBsb29rcyBsaWtlIGEgcHJldHR5IHVudXN1YWwgd2F5IG9mIG1vdmluZyBm
cm9tIHBoeXNpY2FsIHRvCj4gdmlydHVhbAo+IGFkZHJlc3Nlcy4gQnV0IGlmIGl0IHdvcmtzIC4u
Lgo+IAo+ID4gK8KgwqDCoCAvKiBFbnN1cmUgcGFnZSB0YWJsZSB3cml0ZXMgcHJlY2VkZSBsb2Fk
aW5nIHRoZSBTQVRQICovCj4gPiArwqDCoMKgIGFzbSB2b2xhdGlsZSgic2ZlbmNlLnZtYSIpOwo+
ID4gKwo+ID4gK8KgwqDCoCAvKiBFbmFibGUgdGhlIE1NVSBhbmQgbG9hZCB0aGUgbmV3IHBhZ2V0
YWJsZSBmb3IgWGVuICovCj4gPiArwqDCoMKgIGNzcl93cml0ZShDU1JfU0FUUCwKPiA+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoKHVuc2lnbmVkIGxvbmcpc3RhZ2UxX3BndGJsX3Jvb3Qg
Pj4gUEFHRV9TSElGVCkgfAo+ID4gUlZfU1RBR0UxX01PREUgPDwgU0FUUF9NT0RFX1NISUZUKTsK
PiAKPiBOaXQ6IFN0eWxlIChleGNlc3NpdmVseSBsb25nIGxpbmUpLgpTdXJlLiBJIHdpbGwgdXBk
YXRlIGl0Lgo+IAo+ID4gK8KgwqDCoCBhc20gdm9sYXRpbGUoIi5hbGlnbiAyIik7Cj4gPiArbW11
X2lzX2VuYWJsZWQ6Cj4gCj4gTml0OiBTdHlsZSAobGFiZWxzIHdhbnQgaW5kZW50aW5nIGJ5IGF0
IGxlYXN0IG9uZSBibGFuaykuClRoYW5rcy4gSSB3aWxsIHRha2UgaXQgaW50byBhY2NvdW50Lgo+
IAo+ID4gQEAgLTI2LDMgKzI3LDEzIEBAIHZvaWQgX19pbml0IG5vcmV0dXJuIHN0YXJ0X3hlbih1
bnNpZ25lZCBsb25nCj4gPiBib290Y3B1X2lkLAo+ID4gwqAKPiA+IMKgwqDCoMKgIHVucmVhY2hh
YmxlKCk7Cj4gPiDCoH0KPiA+ICsKPiA+ICt2b2lkIF9faW5pdCBub3JldHVybiBjb250X2FmdGVy
X21tdV9pc19lbmFibGVkKHZvaWQpCj4gCj4gVG8gcHJldmVudCB1bmR1ZSBsaW5rLXRpbWUgb3B0
aW1pemF0aW9uIHN1Y2ggYSBmdW5jdGlvbiBhbHNvIHdhbnRzIHRvCj4gYmUgbm9pbmxpbmUuClN1
cmUuIE1pc3NlZCB0aGF0LgoKfiBPbGVrc2lpCgo=



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 11:44:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 11:44:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516215.799988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUEO-00018g-PN; Wed, 29 Mar 2023 11:44:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516215.799988; Wed, 29 Mar 2023 11: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 1phUEO-00018Z-MQ; Wed, 29 Mar 2023 11:44:44 +0000
Received: by outflank-mailman (input) for mailman id 516215;
 Wed, 29 Mar 2023 11:44: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 1phUEN-00018K-2i; Wed, 29 Mar 2023 11:44: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 1phUEM-0007ok-W9; Wed, 29 Mar 2023 11:44: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 1phUEM-0002Bm-K9; Wed, 29 Mar 2023 11:44:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phUEM-0000a1-Jg; Wed, 29 Mar 2023 11:44: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=te5Blq10+1/ltmdo6xn5Q919+BNh4Y77XpX7CGfCbgc=; b=HmsNL+JFzvXQ63R5sxb6zopn68
	A+5oNETkVqhRa3ElzmZcygAQiaq0ecsfF7iuHE3UQuFgGxFAvxB6j9f8fboNENduGwV4pyyvWzxYI
	DZcc9jEajpk8hC3F8xMck6L0lHu8YRigWjvWTxw2FuvMnTdo1f0yIaVsziKYPExEW0/4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180050-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180050: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=e3aba976f6d588abd88027fef46999a1d3724576
X-Osstest-Versions-That:
    ovmf=5eb3d1bcc16fb7dfd0c972bf71278e2c85dfc1ff
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Mar 2023 11:44:42 +0000

flight 180050 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180050/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 e3aba976f6d588abd88027fef46999a1d3724576
baseline version:
 ovmf                 5eb3d1bcc16fb7dfd0c972bf71278e2c85dfc1ff

Last test of basis   180044  2023-03-28 17:40:45 Z    0 days
Testing same since   180050  2023-03-29 09:42:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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
   5eb3d1bcc1..e3aba976f6  e3aba976f6d588abd88027fef46999a1d3724576 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 11:47:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 11:47:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516220.799998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUHN-0001lr-8L; Wed, 29 Mar 2023 11:47:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516220.799998; Wed, 29 Mar 2023 11:47: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 1phUHN-0001lk-5G; Wed, 29 Mar 2023 11:47:49 +0000
Received: by outflank-mailman (input) for mailman id 516220;
 Wed, 29 Mar 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=UO3W=7V=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1phUHL-0001ld-I1
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 11:47:47 +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 855ddcc1-ce27-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 13:47:45 +0200 (CEST)
Received: by mail-lf1-x135.google.com with SMTP id q16so19732569lfe.10
 for <xen-devel@lists.xenproject.org>; Wed, 29 Mar 2023 04:47:45 -0700 (PDT)
Received: from [192.168.202.197] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 y6-20020ac255a6000000b004b5634f9b9dsm5412019lfg.115.2023.03.29.04.47.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Mar 2023 04:47:45 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 855ddcc1-ce27-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680090465;
        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=xdsZayu9Q1jPOdBOcQzSF2oKk5pWISHh+s6DyQ3WvME=;
        b=hVkx2Se+5bg18ylvrgiAAQ4CF+0kSysmC5UPihUNckWmhzPQOattvHH2X0wMjlxroh
         yNr25jTmsE46KcworRqivv1A3Z+J+2PRLquaNv6AhHCRTvyKAThsOCvLyS7PSJh5DTLg
         U9B7rf3YQMPY9H4Vd636rD9UWH1uiYpqk37wVSPQOlcmcGrzZzYSjcANK8CiDeSJ+u0+
         qShoVtrNcdoLzv9Ob1qeHFP3O2HuBsMid7IVZy4wQlsLBHyNKeCd6uY3wjlG+wneFPYT
         36o5+a7a0ym8UYI+AvYW8kRZm+AORPZm4eBcfdxNp9YfRvPy1+k4n4fasQnWZuVVQ9/V
         P/kA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680090465;
        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=xdsZayu9Q1jPOdBOcQzSF2oKk5pWISHh+s6DyQ3WvME=;
        b=tuBU7URTILwQFzSLpKS4rq77K4Cy5QvIYt2epvUkYQP3V55jCj9hhQpDtI+k1ECtPZ
         KRhpJUk/glsER46lMn5kpZUtQbCpxoZH+QzIfqFG2SAv74CNcp1XFNeLNjIzhtLPi2cu
         JhxJqxHoj19x4jDl0by6SxorL3MON587yWRjpRWjYw76RobIwiri11Pt5gMml+gHVpBW
         IJlZ8xisw9gWBGU1s/E5x7nUN90nD6rs7oeMwG5WZ7RyB7VPreaoMi9mFQRgIxJgQINi
         V+twp2eLZ/7fNM31Fqo1sAXmNEJ5QqEwjnMmLYPeGK0tUBPsf07azGyYbBPNLSSrytJi
         T0Vg==
X-Gm-Message-State: AAQBX9c5kjUGE1dV3oVQnchgti5+0Nf224t0ztLxkbiZzJVOubODkulX
	24IDH6KZGSkWHz4FTUQQeDM=
X-Google-Smtp-Source: AKy350Y1ok5GKE/83Xr9NDHxHISOz5cgwNTBTNNMZ1pQXkESWeXRQIyOYRP0b3vvGj2wHQcucbInHA==
X-Received: by 2002:ac2:442a:0:b0:4ea:ea03:ec8f with SMTP id w10-20020ac2442a000000b004eaea03ec8fmr660369lfl.9.1680090465166;
        Wed, 29 Mar 2023 04:47:45 -0700 (PDT)
Message-ID: <66b64c69fdc1404d9ade4be97c4a184715e4c967.camel@gmail.com>
Subject: Re: [PATCH v3 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>,
 xen-devel@lists.xenproject.org
Date: Wed, 29 Mar 2023 14:47:44 +0300
In-Reply-To: <fa074729-ccf7-cf2a-b8df-6c77ae3117f1@xen.org>
References: <cover.1679934166.git.oleksii.kurochko@gmail.com>
	 <93da6ba381604748e2c71e2ebd35e80798ec4bb2.1679934166.git.oleksii.kurochko@gmail.com>
	 <0a16b79e-8292-6947-24d4-dd027113943f@suse.com>
	 <fa074729-ccf7-cf2a-b8df-6c77ae3117f1@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

Hi Julien,

On Tue, 2023-03-28 at 16:44 +0100, Julien Grall wrote:
> Hi,
>=20
> On 28/03/2023 16:34, Jan Beulich wrote:
> > On 27.03.2023 19:17, Oleksii Kurochko wrote:
> > > --- a/xen/arch/riscv/include/asm/config.h
> > > +++ b/xen/arch/riscv/include/asm/config.h
> > > @@ -39,12 +39,25 @@
> > > =C2=A0=C2=A0=C2=A0 name:
> > > =C2=A0 #endif
> > > =C2=A0=20
> > > -#define XEN_VIRT_START=C2=A0 _AT(UL, 0x80200000)
> > > +#define ADDRESS_SPACE_END (_AC(-1, UL))
> > > +#define SZ_1G=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 0x40000000
> >=20
> > No need for this - please use GB(1) (see xen/config.h) in its
> > stead.
> >=20
> > > +#ifdef CONFIG_RISCV_64
> > > +#define XEN_VIRT_START=C2=A0=C2=A0=C2=A0 (ADDRESS_SPACE_END - SZ_1G =
+ 1)
> >=20
> > I first thought the " + 1" would be rendering the address
> > misaligned.
> > May I suggest (ADDRESS_SPACE_END + 1 - SZ_1G) to help avoiding this
> > impression?
>=20
> I will jump on this to say that I am finding quite difficult to
> review=20
> code using define/variable that contains "end" in their name because
> it=20
> is never clear whether this is inclusive or exclusive.
>=20
> In this case, it is inclusive, but within the same patch I can see=20
> map_end which is exclusive.
>=20
> For this case, my suggestion would be to remove ADDRESS_SPACE_END and
> just hardcode the value where you want to put Xen. For others, you
> could=20
> use (start, size) to describe a region.
Thanks for the suggestion. I'll take it into account.
>=20
> Also, are you sure that all the CPU will be able to support more full
> 64-bit VA space?
I am not sure but based on Linux it looks like it is true. ( at least,
they use the same definitions for RV64 ).

I am curious how that can be checked.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 11:48:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 11:48:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516223.800008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUIM-0002Iq-J9; Wed, 29 Mar 2023 11:48:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516223.800008; Wed, 29 Mar 2023 11: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 1phUIM-0002Ij-Fk; Wed, 29 Mar 2023 11:48:50 +0000
Received: by outflank-mailman (input) for mailman id 516223;
 Wed, 29 Mar 2023 11: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=wGTc=7V=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1phUIK-0002IY-Sj
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 11:48:49 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0620.outbound.protection.outlook.com
 [2a01:111:f400:fe02::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a9e58f50-ce27-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 13:48:46 +0200 (CEST)
Received: from AM6PR04CA0067.eurprd04.prod.outlook.com (2603:10a6:20b:f0::44)
 by AS8PR08MB9791.eurprd08.prod.outlook.com (2603:10a6:20b:614::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.28; Wed, 29 Mar
 2023 11:48:44 +0000
Received: from AM7EUR03FT062.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:f0:cafe::2) by AM6PR04CA0067.outlook.office365.com
 (2603:10a6:20b:f0::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.20 via Frontend
 Transport; Wed, 29 Mar 2023 11:48:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT062.mail.protection.outlook.com (100.127.140.99) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6254.20 via Frontend Transport; Wed, 29 Mar 2023 11:48:43 +0000
Received: ("Tessian outbound e13c2446394c:v136");
 Wed, 29 Mar 2023 11:48:43 +0000
Received: from 12a423fb647e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CFFE4DDC-03BB-4254-A669-C62A61ACA1FE.1; 
 Wed, 29 Mar 2023 11:48:32 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 12a423fb647e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 29 Mar 2023 11:48:32 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB9903.eurprd08.prod.outlook.com (2603:10a6:10:470::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Wed, 29 Mar
 2023 11:48:30 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6222.035; Wed, 29 Mar 2023
 11:48:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9e58f50-ce27-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=16LBxrFWbEOsifnLrlm2xHFtmhZ3sqRJp2TVWGLNEng=;
 b=UdsilF+THFS3y8pPAjCGibJtPuyj/LEW8zza1kyd0TYGJe15Pw0JFOjeuEefgeMPsqISRojRwQiRSoEFjM6/NuoyDiQaoiTQOWJhY1V9zL/1MzS/QMCma4oMgy+ATxXoLZqAmNA+LRxByAJ5IkmG3c41e3pAmTNYFTJg58jYJOM=
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: 5391c22564e8c9d6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VGC2WSSY5fYfBs28XkSs7Jrwi1/Qo76ptfYous805s6PE4iR4Skeu9SOeg/vN8Zlj9KL40Mz2kM4gYgZ8BwGbzwEXdLsi7SsAMNRU88zd5ga9ZUtCJPsvbj+k46Um0k5/SEFJiyl1cdmY2NeSnEoARewCeV1JMkTDCzwk+oM2OOLfpAyHN38a/oAPGvEaygC+JJn6u5ltHN0bQYQ75gwbE7XnH1FzzfmjX53u3PPxMzoVlb6BTzSsF832Iq1swbntNdjwuMzv/kTa7soxnwlfzRj9SRgbBJICNF/WjAbB0QHxPp8t3dYChFXBP9jiyNC/yuUqibTVgNsT639Ya0cYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=16LBxrFWbEOsifnLrlm2xHFtmhZ3sqRJp2TVWGLNEng=;
 b=MCl958a6qk+2O8C526aNcs8bOrgFD8ttfm2Fxpfo4xB7y2yEan+wX6DIMEnxBZQ7hxxAzHqDYQCYjlCn1B1bUXaxICFjVsZ9gFZQwQoHqkCarZLqOdNLi2Z5xHzcYc5ubUzInlIZNDUKggDBx4w1aLSwHumLXcgwuVxLYiy4x4xBqlJokobt1G+b65vXCpz4PzkmfOVwzduSPvOBQdPs9sq0MVi91PKYbBttt63XLOfrtF4/9aAjI2SKhB6J+n+l96BwfwkpUwVywFrtaNIks+D+sd+QGop7WPgH47cvN6+M278OLMjs4cZ6jWaZJ+CPjo/a/IgilAuE1DyCkphyng==
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=16LBxrFWbEOsifnLrlm2xHFtmhZ3sqRJp2TVWGLNEng=;
 b=UdsilF+THFS3y8pPAjCGibJtPuyj/LEW8zza1kyd0TYGJe15Pw0JFOjeuEefgeMPsqISRojRwQiRSoEFjM6/NuoyDiQaoiTQOWJhY1V9zL/1MzS/QMCma4oMgy+ATxXoLZqAmNA+LRxByAJ5IkmG3c41e3pAmTNYFTJg58jYJOM=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v4 07/12] xen: enable Dom0 to use SVE feature
Thread-Topic: [PATCH v4 07/12] xen: enable Dom0 to use SVE feature
Thread-Index: AQHZYJtnVirGlcet3UaNyqwRESxZda8P+VUAgAGuKwA=
Date: Wed, 29 Mar 2023 11:48:30 +0000
Message-ID: <00BD9D2D-AB18-4D23-8F01-7C8151E6F975@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-8-luca.fancellu@arm.com>
 <2846794b-8057-2f41-3082-4d6c6fcd3f50@suse.com>
In-Reply-To: <2846794b-8057-2f41-3082-4d6c6fcd3f50@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.3731.400.51.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_|DU0PR08MB9903:EE_|AM7EUR03FT062:EE_|AS8PR08MB9791:EE_
X-MS-Office365-Filtering-Correlation-Id: b76164d6-6dee-4271-d297-08db304b8c2e
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:
 +OGU4gqbXG+wJdhZRTA5KwOhW4HttF0Mx7PDZG6xV5nuUXx5kuetvUq6jtt6IlNZgCilOkG2yh+L1i6lT4K8/zKd704hi/3TrhG0bKtBmyyFj5KMPo2Xm7M04tCqCvYGS9FqeTC0IFYwWIMKihpnfBi3PqlbBjqXxNPkOa0b7T5tbKSnrKoSe4TpnRgwKSD3zlQ6gkCpCCEzdpdQ9lvhFyWxUZINphSGYSgDnWqLz5oRwVvQzXwFc7Gt5BWv8otZcvl6bcZC3ffqW6Zff5vdD7jSQ5P7XnAkPvcqrtKxdYZ/QDn+FJZDhiM9lgwVeZX9eJniqp9RHrC+Eb6p/GzLko7HWbP4XAHzHhujis+b56hcR8/Fd8877Up3X5Tpm0cimSnWyYXUZCOsXp0FADOv40nAW53AVQurwVqchBkvlPpaBY91lX+m4/KMlpob5V30pbrZ1fsTI7fYVV5l5/N7L6dKqn+9zzInIBkGdXughZEYHKxj5tYZE/EDAmYYoEK5VebFLlGAQIGVHgJWLBRx5vVg//SFQstOP3uJXwRkezIdHy5JiNmAV03Scmdy1Y7oOc35kCHN8IS330ZGc/UVl+ARt6kHk5Smc8piEE9KAs9GAb/MJrwENbeRQJ/EWWL5Y3Rb8Wp6veGPVM8AU3Knww==
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:(13230028)(4636009)(376002)(346002)(39860400002)(136003)(396003)(366004)(451199021)(316002)(478600001)(54906003)(86362001)(122000001)(8936002)(36756003)(38070700005)(5660300002)(66556008)(76116006)(91956017)(4326008)(66446008)(38100700002)(66476007)(66946007)(2906002)(8676002)(33656002)(6916009)(6506007)(41300700001)(64756008)(186003)(53546011)(6512007)(26005)(2616005)(83380400001)(71200400001)(6486002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <80AEFAF5A1AEA443A57FE6F94C13803E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9903
Original-Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
X-EOPAttributedMessage: 0
X-MS-Exchange-Transport-CrossTenantHeadersStripped:
 AM7EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	21b3c339-1280-4a02-8f85-08db304b848d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0WYU9MtzHXM9f1D7Q2M6eJhViXAZTZoSb00axlrmmt1U5XGN2cm3GOIy1yw/Y1wy1HzgEeQjgRjYqEjonMwYIuc4PIk4O2VhAEejGxNwxYkw90spaeDmVgfPbh85nQrTf5KhGU2XnWKEkh5NyJ4jv/6djUcIot2ANLnDoVfkdTmb80ZK28iuyragwmdSxIwnFQYoKTn+1zaGGVpllKnAL1cu/2nFbrFhQJXMdCUc66Fc4l+l8vOCqPAPRf/SinQ6KIsM5Ly91oCFutWiTVen5yUUn+uH/52BuBzuFHlsqGFo+CHYY9DW7cq29QazYf4uGWKncYt+t7Pb90oTuuGdIa5X6ppdxjRZyt36zEovKwWU7fmCrtfbPNLYKzDIdm1Y+Xp3uNvgDgNbeYbv/FSqteeno38OK1zz/yij5eeVGEsg4ecw93+6L8rGBsYsRXineGWeedcPUzL4UwNG9s64blnpU4ZlY2nZfZMcWmc04VKEST/W8cfetKhL7u1fmxgS08nICPrQpUb9MpcXKNX5BnU4aGwij/FhH821mGFjHZiBlt6BAI3MCUnXZ0QgSRVLNNw2OKhWmwTlxn3hFsfmArtO4SIUP1icccLN1m4cRJdlQJCKs3vU07i+3Zh1wzIY5fgLlSBQLPGPURr6yqpAQBnnsZE7GlzlEqSZo1Ag4d9jdiX2lTPNcLtGbslUsidNvA9Z8nhv2nlxEv+/61hE5A==
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:(13230028)(4636009)(136003)(376002)(346002)(39860400002)(396003)(451199021)(36840700001)(40470700004)(46966006)(47076005)(2906002)(2616005)(83380400001)(336012)(6512007)(8676002)(4326008)(70206006)(70586007)(478600001)(54906003)(53546011)(316002)(26005)(6506007)(82310400005)(186003)(36756003)(36860700001)(86362001)(41300700001)(81166007)(82740400003)(5660300002)(6486002)(356005)(40480700001)(40460700003)(33656002)(8936002)(6862004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 11:48:43.4835
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b76164d6-6dee-4271-d297-08db304b8c2e
X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com]
X-MS-Exchange-CrossTenant-AuthSource:
	AM7EUR03FT062.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9791



> On 28 Mar 2023, at 11:08, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 27.03.2023 12:59, Luca Fancellu wrote:
>> @@ -838,6 +838,18 @@ Controls for how dom0 is constructed on x86 systems=
.
>>=20
>>     If using this option is necessary to fix an issue, please report a b=
ug.
>>=20
>> +Enables features on dom0 on Arm systems.
>> +
>> +*   The `sve` integer parameter enables Arm SVE usage for Dom0 domain a=
nd sets
>> +    the maximum SVE vector length.
>> +    Values above 0 means feature is enabled for Dom0, otherwise feature=
 is
>> +    disabled.
>=20
> Nit: "above" suggests negative values may also enable the feature, which
> I'm sure isn't intended. You may want to consider using negative values
> to signal "use length supported by hardware".

This is a very good suggestion, do you think I should restrict only to one =
negative value,
for example -1, instead of every negative value?

>=20
>> +    Possible values are from 0 to maximum 2048, being multiple of 128, =
that will
>> +    be the maximum vector length.
>=20
> It may be advisable to also state the default here.

I will add it

>=20
>> +    Please note that the platform can supports a lower value, if the re=
quested
>=20
> Maybe better "... may only support ..."?

ok

>=20
>> +    value is above the supported one, the domain creation will fail and=
 the
>> +    system will stop.
>=20
> Such behavior may be acceptable for DomU-s which aren't essential for the
> system (i.e. possibly excluding ones in dom0less scenarios), but I don't
> think that's very nice for Dom0. I'd rather suggest falling back to no
> SVE in such an event.

I guess that with the introduction of a negative value meaning max supporte=
d
VL, it is ok to stop the system if the user provides a custom VL value that=
 is
not OK. I remember Julien asked to stop the creation of Dom0 in such a case=
 on
the RFC serie.

>=20
>> @@ -115,3 +119,8 @@ void sve_restore_state(struct vcpu *v)
>>=20
>>     sve_load_ctx(sve_ctx_zreg_end, v->arch.vfp.fpregs, 1);
>> }
>> +
>> +int __init sve_parse_dom0_param(const char *str_begin, const char *str_=
end)
>> +{
>> +    return parse_integer("sve", str_begin, str_end, (int*)&opt_dom0_sve=
);
>=20
> Please can you avoid introducing casts like this? If you're after an unsi=
gned
> value, make a function which only parses (and returns) an unsigned one. A=
lso
> why ...
>=20
>> @@ -61,7 +62,12 @@ custom_param("dom0_mem", parse_dom0_mem);
>>=20
>> int __init parse_arch_dom0_param(const char *str_begin, const char *str_=
end)
>> {
>> -    return -1;
>> +    int rc =3D 0;
>> +
>> +    if ( sve_parse_dom0_param(str_begin, str_end) < 0 )
>> +        rc =3D -EINVAL;
>=20
> ... can't you call parse_integer() right here? opt_dom0_sve isn't static,
> so ought to be accessible here (provided the necessary header was include=
d).
>=20
>> --- a/xen/common/kernel.c
>> +++ b/xen/common/kernel.c
>> @@ -314,6 +314,30 @@ int parse_boolean(const char *name, const char *s, =
const char *e)
>>     return -1;
>> }
>>=20
>> +int parse_integer(const char *name, const char *s, const char *e,
>> +                  int *val)
>> +{
>> +    size_t slen, nlen;
>> +    const char *str;
>> +    long long pval;
>> +
>> +    slen =3D e ? ({ ASSERT(e >=3D s); e - s; }) : strlen(s);
>> +    nlen =3D strlen(name);
>> +
>> +    /* Does s start with name or contains only the name? */
>> +    if ( (slen <=3D nlen) || strncmp(s, name, nlen) || (s[nlen] !=3D '=
=3D') )
>> +        return -1;
>> +
>> +    pval =3D simple_strtoll(&s[nlen + 1], &str, 0);
>> +
>> +    if ( (str !=3D e) || (pval < INT_MIN) || (pval > INT_MAX) )
>> +        return -2;
>=20
> Like its counterpart in parse_boolean() (which I understand you've
> derived parts of the function from) this if+return wants a comment.
> Also - why strtoll() when you're only after an int? Yet then another
> question is whether we really want to gain parse_long() and
> parse_longlong() functions subsequently, or whether instead we
> limit ourselves to (e.g.) parse_signed_integer() and
> parse_unsigned_integer(), taking long long * and unsigned long long *
> respectively to store their outputs. (Of course right now you'd
> implement only one of the two.)
>=20
> Finally, for the purposes right now the function can (and should) be
> __init.
>=20
>> --- a/xen/include/xen/lib.h
>> +++ b/xen/include/xen/lib.h
>> @@ -94,6 +94,16 @@ int parse_bool(const char *s, const char *e);
>>  */
>> int parse_boolean(const char *name, const char *s, const char *e);
>>=20
>> +/**
>> + * Given a specific name, parses a string of the form:
>> + *   $NAME[=3D...]
>> + * returning 0 and a value in val, for a recognised integer.
>> + * Returns -1 for name not found, general errors, or -2 if name is foun=
d but
>> + * not recognised/overflow/underflow value.
>> + */
>> +int parse_integer(const char *name, const char *s, const char *e,
>> +                  int *val);
>=20
> The comment wants to match function behavior: The '=3D' and the value
> aren't optional as per the implementation, unlike for parse_boolean().
> Also please be precise and say "... and a value in *val, ..."

Ok I will address all the comments above

>=20
> Jan



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 11:54:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 11:54:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516226.800017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUNo-0003nL-6B; Wed, 29 Mar 2023 11:54:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516226.800017; Wed, 29 Mar 2023 11: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 1phUNo-0003nE-3W; Wed, 29 Mar 2023 11:54:28 +0000
Received: by outflank-mailman (input) for mailman id 516226;
 Wed, 29 Mar 2023 11:54: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phUNl-0003n4-Uh
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 11:54:25 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7349dcbb-ce28-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 13:54:24 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by GVXPR04MB10022.eurprd04.prod.outlook.com (2603:10a6:150:11a::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Wed, 29 Mar
 2023 11:54:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 11: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>
X-Inumbo-ID: 7349dcbb-ce28-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bX8MtrFvAur4wzUO7TrqTmwp2fW0u0U53DAlhs8YuXrO+lrdYfIAhQLpi6L10wnGOLCaD6fvmVOsLSFii4PSs/mmK3lXVr8NRFUSK4V/u0vcvEc9WUeuFOsieKRLNOb6SXOi58W65TUYiTV9AqjiUsyzkAInLBOlu7zoJRt4k1nFzcNsG4OJkoO9JlD4mObFTkrj7Jta0BmSFH8zg0rCDnk0xXKdpnJLpbBmDHqNQfAjVuzAiF9OnEdxfDjmDT+UYu3vqYjj4N5hvu8qBk/UWZrWfEEiQmB6/fipFQ2UEDwwnaotnZ/8dwaq5s/bqWlBosNlzDUKQiy6c5Ir44iznQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Yjruo/ZTxj5wgTIZ/6ZG/IoYP2xlo02q8YiOiFA4EYw=;
 b=oU9T/hwgZ7LheQdEjGLqFWf2UM+1gbuQshZRQwJE9h9GtCUWshqx4Yb21lufiXkr7UncYK8MVzsAp+AEzuxfdaH16OarY1LAuqONd4Zh2BbGZeszqzYgrRwM3GsG7OAyxdgZcZlol8/2VZheJ9mdBivjIMJ1ViDsGEapXkJ0Jrn/Zinf7CQPGgtzNjC2h5J779lfkpVrsYwalAY3uP8x96au6xVhbvu5Evur9S6ln1c2StmyGtTdxW4QGNVtCMj4yri/Qsur13Y/H4YmjdvHwnhEuqPh7H94Fy7QNzuJdCrjDCj8eRcfrpm+8enUhBnPpeq+Pg61ZlibaU2yRryuVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Yjruo/ZTxj5wgTIZ/6ZG/IoYP2xlo02q8YiOiFA4EYw=;
 b=dTNP1d+mQhXVf0DEHEgb/WmwqrdF70JNOt85oy2IVF/2U/CZk3Ef/M6JYc7323F11bevy8539i2cbjSZrFglZmhhmDWLR9jOlbe+JHH8ci8yhDYzrgoYBCbiO7aruGMBrV8HsCDUq1+/KJRzhZL/ssyb6GRjGA2L3q2Dos80SDoAGGrTMwGATCVhVr1ghqjxaSKMdWjGOOrfez17jd9OSe2+GDoG7S0eK+ZK1DUPTMJoX+IARQhbNwmF+/CboYn+0lYRdr5kEonP0DDUxO77uAa6KemCf0nhAVeczzECEhss0uep6c+lABzJ7ZZPSqKJI6qxhIodADO9RdRydl9vMg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7bcf8cac-1e30-7d9c-8bd1-9d7283617b73@suse.com>
Date: Wed, 29 Mar 2023 13:54:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v4 07/12] xen: enable Dom0 to use SVE feature
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-8-luca.fancellu@arm.com>
 <2846794b-8057-2f41-3082-4d6c6fcd3f50@suse.com>
 <00BD9D2D-AB18-4D23-8F01-7C8151E6F975@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <00BD9D2D-AB18-4D23-8F01-7C8151E6F975@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0077.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|GVXPR04MB10022:EE_
X-MS-Office365-Filtering-Correlation-Id: 1c0c1ac6-444d-4a31-d561-08db304c5657
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	g3RD0GWeWm1doH7XgB5FvYC49U0gmA18E+DpJ+VMS8fLbtFmd0ewE+1SVRVZyfCRfX1K73ecqtKqe56q3OyraDEHPocHTN/ZJbjiSCk8VbXhzSj4oqdEASEYi+L9sSyfBNshHguiympylyBBf9v93mfV8WqkflkZvnREPjyQyK2PbZSkIcNL+NBzddoPVK6KPZrC9CavbDqTCEPZYHX1VOV2lc1BxSYyLOan/N/dTtQUoFaGSSQdffhaOWz8h7dX5oW7u155oA8K0Lpt9ghw7F7HzZ4GeuqyXQxQJMY1S6zzF5WzB3opghLQ4FBMd4maIU2ntlM/f5ODH2MUNFz2R1O+xEQJdKqABrMtcrzaayjY/C+KnLyrSfxvbpXieKJ5QZvw9JBVYvHspXo0DN22oNbR028SmchT4C8xkGnFR/XGdpmpTzKpoaXOBqCTv2ZxF2kasjS0TpLG+zOAipqysXOcwVVPjlzk7fTSZx/EnXEksY/0LtzM3Re7Ykra81YxQElGEJhh5sOHhOU2GlM//z2NYrGJH4u9yEIzObjGVyYf8gY0XsE4+BOi5Ipl6skBnxJ54VhOFRtsgkFc07ThSN22L8kAetSX6Yf6w1NJfK1/iIR7NyIel+2SSr146FwqE9Q2HCiLGAIOdnnxrzeqjQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(39860400002)(396003)(366004)(136003)(451199021)(7416002)(5660300002)(8936002)(316002)(38100700002)(54906003)(31686004)(6916009)(41300700001)(86362001)(4326008)(8676002)(66476007)(66556008)(478600001)(83380400001)(2906002)(66946007)(6486002)(2616005)(31696002)(26005)(6512007)(186003)(6506007)(53546011)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UWxGQ1FsUnovemxIS0ZFWUlSY0pwc3VzWTArK1BkendLS3dXUGNDRzFPajF3?=
 =?utf-8?B?T2luTnJvSXM2NkVWaEJjbEJ3Q1ZUSVYzRmlRSk1CU3BGOUtxQ2N0eDZ2TVVT?=
 =?utf-8?B?Qk1jdjBNVi9vZFRseXpOdDB5Q0JYbDNmeXdIZTNxbWpsWEZrb1p6WnpFTHUx?=
 =?utf-8?B?dTlMSEhpL29VVFZoRkhQaXkyK2tQV0lqbmRuaGNIT0dQaHhMSDZBY1gvT3Fh?=
 =?utf-8?B?cW1yUmVnbnFUSHJhcjJSeVNtRnVGTWVJb1JydEI1TkppRnpFMDFFYnl1SWc0?=
 =?utf-8?B?MGlIYnN6VmExaStDdUNTYmErYTVnd00rN0l5WXd1UmtLdEpKZVZHV0hwS0hm?=
 =?utf-8?B?MDFLME1Mc0J3VnZhc2lqRjMwamZLNnBydXdqSnlmREdJNThpdzl2VW8wbU1F?=
 =?utf-8?B?RG05OGNwcFFDT3J0ZUp4dEhrR1QyWEYrcTZhL3pYZGlpd2VtMklTenRFaUJl?=
 =?utf-8?B?VHZCRjlFam5sSElWVXczOXo2RkxSdnZlRHpMcFVTWmhqVTh5VmJzU3FwTVlO?=
 =?utf-8?B?Z3djaEhlaFI2U2pTQ0N3NFRRY2k5cVJpeFo3bWd0dG82TEVuSDd0c05tT3hp?=
 =?utf-8?B?dCtwTmhGTlVySDJrUUtYTmM1REp6VGJreVd6K1Bzc2QxTTYxa2tRVElXSkZN?=
 =?utf-8?B?NFloUE9SR08rb2R6ZFBKUk9TNVBJcTFOaS9USW5hK2dZZFgvL2VxVGlSWnpR?=
 =?utf-8?B?R3JKeDIvUW0yR1V2ZkhWRkMvK1ZNZG5uWXJUeDBERlFwaTlLU2toYndJbUpx?=
 =?utf-8?B?NWJ2c1JLeXdId0h3MnpvdGplVDVHU1lmQW91NG1EM05YUXIvMkk0cVpDOHpa?=
 =?utf-8?B?WVV4QTRUdytGL2txRDZrYjVWd0Y5TTk4WjQ2eHF1V2xudDVaR1BDbnF4VW96?=
 =?utf-8?B?cjk3dEtPckRZTllnRzhnR2FTeHZVYTdmc2dmSGttcDVXY1BEa0t5UFpWUkFZ?=
 =?utf-8?B?SzRBeEM3V2FpUStXNXhKbVlKMjdnc3J6NkxpbC9NbTM1UW5nVTdKK0MzZ1BE?=
 =?utf-8?B?L2VQVU8zSHQ2MVlYYU50NTJkT05YbVB2S3J3Rk9WVXlBSSs4UUJ5M1M2ZU1l?=
 =?utf-8?B?bWI2SnBsY3dCejRuVStDOHBZdVdHVjlmL1NueUg3N0pjNytxQU9qTWE4Um52?=
 =?utf-8?B?ZVZ6SU5Sc2dmMDB2cEZTSzVvdVlFY0d1T2RIUnBydTJSTWpOT1VGcU0xai9j?=
 =?utf-8?B?c2ZVY0ZsbWtGOTQyMEFsSmVNckZVdnBYUHRoZ25KYnphWmhnMTRQRnN6QWll?=
 =?utf-8?B?T1RnT3Y1V2NjVnNSbEVRMXhpMEFoL2hBbFpxS2psR0NXV0xTTnBQbE5reDkz?=
 =?utf-8?B?ZU5ldWhLMStveTlKU1pVWlF1L2VsZ0JML3ZtaEJwSFZxb3FLUUhoY3puYnRa?=
 =?utf-8?B?ajhyMUZJRHpMMWt2UlpPVHRpUitveFdNZ0hqb1FadTBnSWlEWVZZY1B5aHNq?=
 =?utf-8?B?d05jb3NtOVN0MDJLUktDSHNXbHIwRExESHM3ZjVlNy9OdEdlbVFvckVtekZ6?=
 =?utf-8?B?OGVDWlYyS2JQeEdYRjRLTC9aSTZncXRuMVlZVllpSit3dkIxZ0NuMFZwZy9G?=
 =?utf-8?B?eEl0TlZTTXUzdGh3YlJoRHlnN1llSXJ6YVhZTEdXUGxpNWVGM0I3M20xakJC?=
 =?utf-8?B?aVJ0WVorOVNYOS80Q05lNjFHRTF3bGh3aEcyQVhsMkNtcm16aGlXNzNWbjJM?=
 =?utf-8?B?UFFFekNIYjZ3MmNSRlhXOTlIOHpwcngrRjRlRmJJVVJEZWk4bXRoNjYvbWZw?=
 =?utf-8?B?WjFuNzBLSkZJNFhNeWttSzRLNXJzOStMWUd4dVZacFlBaDN5M3NKaFZXc05k?=
 =?utf-8?B?emVyRTRhVUxLaDNibmUxOHNwb0wydFZoNDJDZ05abDcxSGlTTEROQ3oydk5Q?=
 =?utf-8?B?TVN4MEtObzlKN2ZzYmhoU3F1R0tEbWRUUHhweE1NU1hldGhLL2ZDcmJLOWhD?=
 =?utf-8?B?MlVPNmxXNXlHdk5va1dMV1RiQ21NSmJQaWRXTlhtTWxwZldCOUhPbDkvUjlo?=
 =?utf-8?B?Vm1waXJ2YmJ2SWU2QnR6aDhuRkNwZE5MV0tvUW5ibTd4Qzc5aWc5VHY3MlFP?=
 =?utf-8?B?a0xXR1c3bUZPc3hQZlFWWWlPeWVCTFMxT1FGWmlHSVNQTk5QWXJiT204cTMr?=
 =?utf-8?Q?bc1bgLK705kZG6A19A1egDTOO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1c0c1ac6-444d-4a31-d561-08db304c5657
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 11:54:22.9024
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 88Wgq925ZGEy03ljg9nPceWkOibUwLwAO9+x8v+JPsfW8urjkPn8Ht6j9qPNIHkTLDUieoxgUl231aJh2mFZoQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10022

On 29.03.2023 13:48, Luca Fancellu wrote:
>> On 28 Mar 2023, at 11:08, Jan Beulich <jbeulich@suse.com> wrote:
>> On 27.03.2023 12:59, Luca Fancellu wrote:
>>> @@ -838,6 +838,18 @@ Controls for how dom0 is constructed on x86 systems.
>>>
>>>     If using this option is necessary to fix an issue, please report a bug.
>>>
>>> +Enables features on dom0 on Arm systems.
>>> +
>>> +*   The `sve` integer parameter enables Arm SVE usage for Dom0 domain and sets
>>> +    the maximum SVE vector length.
>>> +    Values above 0 means feature is enabled for Dom0, otherwise feature is
>>> +    disabled.
>>
>> Nit: "above" suggests negative values may also enable the feature, which
>> I'm sure isn't intended. You may want to consider using negative values
>> to signal "use length supported by hardware".
> 
> This is a very good suggestion, do you think I should restrict only to one negative value,
> for example -1, instead of every negative value?

That highly depends on whether there's any foreseeable use for other negative
values. I can't imagine such, so I'm inclined to say that "just negative" is
all that matters.

>>> +    Please note that the platform can supports a lower value, if the requested
>>
>> Maybe better "... may only support ..."?
> 
> ok
> 
>>
>>> +    value is above the supported one, the domain creation will fail and the
>>> +    system will stop.
>>
>> Such behavior may be acceptable for DomU-s which aren't essential for the
>> system (i.e. possibly excluding ones in dom0less scenarios), but I don't
>> think that's very nice for Dom0. I'd rather suggest falling back to no
>> SVE in such an event.
> 
> I guess that with the introduction of a negative value meaning max supported
> VL, it is ok to stop the system if the user provides a custom VL value that is
> not OK. I remember Julien asked to stop the creation of Dom0 in such a case on
> the RFC serie.

Oh, okay. I don't mean to override a maintainer's view. I don't see the
connection to assigning meaning to negative values though - preventing
successful (even if functionally restricted) boot is imo never a good
thing, when it can easily be avoided.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 11:59:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 11:59:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516230.800028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUSB-0004UE-Sg; Wed, 29 Mar 2023 11:58:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516230.800028; Wed, 29 Mar 2023 11:58:59 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUSB-0004U7-O9; Wed, 29 Mar 2023 11:58:59 +0000
Received: by outflank-mailman (input) for mailman id 516230;
 Wed, 29 Mar 2023 11:58: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phUSA-0004U1-Ha
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 11:58:58 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe13::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 159860da-ce29-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 13:58:57 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9708.eurprd04.prod.outlook.com (2603:10a6:102:24e::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.34; Wed, 29 Mar
 2023 11:58:55 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 11: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: 159860da-ce29-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YLQuX8N5JHB1ulMNboC41kEW2Hukth0WRTUQmK6FANCcVxplTlU40ZFF4wOlkOa9tNYH7ASaRgy6T2Ps1702Lbg3NZxXbICrl3nSvivP4S0tgAvRuc1E6zheDl0PkX9q1QKLHWmzYbbx++wpIaiFGk0I0B92hB2zZrSXHQVnwP1Hx//diZeMw6EOucPxqGnS0Bq4j2HaXEYmXzWlkYmwGL0pRdL8oGKxHLX+v6rjiY3yMv0SkDeu68hnIOOFgUL/lh1vdThJONBD61Z/gWV11dgfdqftePjLwY/5BxEt6lz7KV8AML3a+ncAFSlRKMFxyAHlycUWf11jLx9geGlFfQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IZNnF6LoiXr9w2KAYcVNxpXiwUaCUzFehIFGRlC+3Mk=;
 b=XOpU2UWxzkZO8y6d9aJkkQ5P2qjhDJixCqobM199p+nW9LdXbZo15T85nspJTMjn9znUQJlX6v+nftctBzRC6WXUXiGKjl4LEDH+CHLjQ8UIgoo+HDAC8EM44ihmPcKqedBHqW0gZgeb4FhZQJd6Dfm+Xkvj4T9NoK3aZHYVwavxFaqZ8gdFTA8EUMjeZ9jW+z0QXpVbOYnc9+iZucrUlH/jWcQ1XkLPZHJ4ydizkOhK+weQd4aDVpCU4azwt6+BSEmC3vn6MI36IfJeoNeqsU2Xkp0XjjU8UakGxgl2+kPdTH/7lVbweh0eGzq46FXiuT1if6I1GLfIafADQBlBNg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IZNnF6LoiXr9w2KAYcVNxpXiwUaCUzFehIFGRlC+3Mk=;
 b=DFLohIKV/75ZInuQ7hr2RTCL1QX5cVAMD25PEUIum4JI9IV7M6Xlh81/G9x/G4Wh7XTdrnQw3grjkEv2mkEF9SXiAi7TTGmeheX4ex8Q4Dvbo+rM4JfgDuuJgsq2Gsm/kh6qmZv/VT01Dnto1pfgikEptLcV32MBjTiR1+uME3kaLEzdChP8LDdYf/lkyisp/FISQN0o7syYSRcpJ3lmC42lcgjcdofzcXWhZ3FPORlw/qLFbS4Zj9vvgeyEHSMUfkMMYwyu5gaUSFxkXZ/2GczRLhjGJN8ahcQ14NIDqT7S7UUK8AZcIBjIJhGgJSJ2v5r7TniJl31U9MQa+WzFlw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <650e89ae-1a3d-d7c9-62e5-cdcbb9aa2d4d@suse.com>
Date: Wed, 29 Mar 2023 13:58:53 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v3 2/6] xen: pci: introduce reference counting for pdev
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 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>, Paul Durrant <paul@xen.org>,
 Kevin Tian <kevin.tian@intel.com>
References: <20230314205612.3703668-1-volodymyr_babchuk@epam.com>
 <20230314205612.3703668-3-volodymyr_babchuk@epam.com>
 <ZBNA9q5DXJYG3KVp@Air-de-Roger>
 <c175d1b5-972c-e311-d634-e7a68e919ece@suse.com>
 <ZCQXZu8AqZtLGCUB@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCQXZu8AqZtLGCUB@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0095.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9708:EE_
X-MS-Office365-Filtering-Correlation-Id: 0799e025-af03-4a65-dea2-08db304cf898
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IRupQ9kVBB+X9Zn/xK20Ty38gZyYzwPxSSWPPIF6kTJkOhdai8C11yCGtEZm/GjyRX27fOXf75DrclCdOkJqNIAEATg25GoYdbJC6iT1MVEUpHgYWs57AmlggQTsPgxI7I3MWK9SASEmO0q7lCbyo4pRlWV0PHs6+wAL+0lYuZSHd+sJR/+BwPZUuM1o6hpZaW6u66aMciBWdIzHX6n9HgRSiVD+0mUjMR/F66yFzBW4c3L+137ARrUlROtH4K5eYqHKrbMNzvm/nrwgIyHJjTp0CnMM1Y4yv5RY39QD3z1lMtFm4ie+wmTgd1/eOIkkTgHEKTQpxm7ggVNfAwrcd4i57NXdWLoktiZZNFTBJP/ZhIb8+NWoXIAibfyCiam/lzk8Lfg8ZbNqKL92CNTD+sK79lwWmIIwtnYGRrVfXd9r4p8R4zUJHqNTfzLi/Oznbv50AKo5h5JBrK3sTXhR31CjhHKnklaQwnQfq5orekWluyMdxMGTvH59BpBdGgJVdJkMwWl9br9LjBnSgSGV1Fut9A+l121RarKIntFmxe2SFN7gKJljXGsrbQbZ3TSE0EtUe7jUUcFWH2y+JNI9yPDPLJEoILDwhsk2yDO1bWB0Vj/2GQ7hL5Cs1srjYGGzjoNHXE19TtnkDcNOXvhFmg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(136003)(366004)(376002)(396003)(451199021)(186003)(31686004)(6486002)(316002)(54906003)(6506007)(4326008)(8676002)(66946007)(53546011)(6512007)(26005)(478600001)(2616005)(6916009)(66556008)(83380400001)(66476007)(7416002)(41300700001)(5660300002)(38100700002)(2906002)(8936002)(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?U01XK011VVZGRDNOaEp6TVQ5dVpLcEQrQUlaV0VuKzI5TXdLV2N2QjYvN0pE?=
 =?utf-8?B?b3lBbm1TZHV5RGpEU1VCVHNKMFhmeFpYbGdrYVB1bkl1VjdDM1lObXcrdWlo?=
 =?utf-8?B?RFNLTldzYnVMYy9UWU5xSzJDejdlY0Z4ZWZKdmNSMjVEcGNmdXFCdkp2Yml4?=
 =?utf-8?B?YUlON2FOT1hkMmR5TTNKWkM2Ukt4R29DZmEyQWdLQ0srbmJPV1NvN3dwd1A3?=
 =?utf-8?B?ZkdzNFNoSjlTbXZIVG9XVzhuSWI4Sk8yZkJ0RzNqVEZtZXJMRGtQaENnU0p0?=
 =?utf-8?B?NHdOclg4bSt1eDNGTU9USjNNS0pwMjlvMnM1UFBIRnRVRVJvMFdCWHFSM2ha?=
 =?utf-8?B?RGMzUHNRNlh4U0FHQXRwTTJVbmdRVnJ1K2RoekNWMzBta0ZUVGRBUTNMbTNl?=
 =?utf-8?B?dHIwQUxldW5KT2g5TElJOCtGZ1REQWtlZEM0dDF0c1h3YkcxS2tDYjV2Vk5n?=
 =?utf-8?B?MkZQbXh5bFcybkl5eml6MG1McCttZHFJRUlSSlBZa2wva0RPVHIySk1vS3J0?=
 =?utf-8?B?RVZWY05QZldTU0ZnUHcrSUJLa3dqVmxIdldqenFlakxXMGczYjRjdEhYeVQy?=
 =?utf-8?B?L1BBWGViTmk3T2d6NHlabHR1K0hVRG8xWldQRUpXTmY4K2lHeDl3RXJRWmF6?=
 =?utf-8?B?N3o4aUJWWFp3MTFkdElkWnNrbGVZUU9vWVF2ZU9OOHk1UzQ4MEtYL0hMdlhx?=
 =?utf-8?B?U3FjY0VlRmlxVHFSaFNsUXZGeVZRbFFBVFVEVk9GdGVWbkZXWlNNRWlwamF0?=
 =?utf-8?B?bHFSMnhJRUFCVXNSS0dtTGprcGs2UE82Y1JQRDBtVlRLaFZuVnJzZ1N3RXht?=
 =?utf-8?B?MmQ4Q3hva21WcXRNcmpoa3NDUDhYUWRpR2RXSFZ5M1BWbEF4TzgxdUdZamVl?=
 =?utf-8?B?ZW5WZjNid0tvQ0FUQmNOaVBQYVdMVDZWNFNOb20vM0NldkpBeHBldGw0cjJa?=
 =?utf-8?B?cXk1TDRkTTlOQ05sbjdoZEV1S2NINnAyRGxBSHZ2bi9TK3RPOXZybUI0T3Bo?=
 =?utf-8?B?UzFkMHNwS0wzcnZFMndJME53d25ZM0d4RmJ4M1ZRVExjVlFkcEpZVnowSXhy?=
 =?utf-8?B?VnN2VHhUVnltSGtuaXlKRDF3MzJzVTJnU3ArS0s1UGNiQ3NpSkZaNTRwcEFx?=
 =?utf-8?B?dlBCVE16bi8vOEVvTU01Qy9hN1J6d3VLMWd2REMxR0FEM0lQVm12MEVtcngy?=
 =?utf-8?B?Y3FjSHVZY1dFOS94a3RRYU4wR0JZS2JreW9SUXNqdzhKN01Nb3J0SjBxNFVV?=
 =?utf-8?B?Ti9NNzluaG91NzFiT0RkWDdKYlVQeC9RT1ZQZHZBeDZhTnBxOVBYSUNoT0NR?=
 =?utf-8?B?Zk4wUWFJMFNTQUovTlV2MHdjSVE1OG92aDNiL0t4WDVjdzBSUTBaWXJCQjJo?=
 =?utf-8?B?ZWNQOGk0MlRUajRIbTBWcmJ4L1VULzBwOTliUFZnTHcybi9CRG0xNVh2eUU3?=
 =?utf-8?B?Y3g1ZU1yNlZFUEdjWWZxTTlmMUZIZFM2ZTVTcm1mNHljaXpJZCttdHNNQXJ5?=
 =?utf-8?B?aTVXZytYUU9hMWxEYnpGdmJ0amkzMzZyNVQ2RTJFTUJFaDFCcEJMbEZmdTlK?=
 =?utf-8?B?NEhLSnZkU1g3enZ0aWRvRmxzQU0xUWRhNlBpRWVtVzZQaDhmcm9hMEljbEZN?=
 =?utf-8?B?Tld0TzZudmUrMncrL3A2TlBYSXFGTXZZV2p3THFDeFF1ZjBLMnFSZ0dxZmNO?=
 =?utf-8?B?T1BqTUNKNzRKVE80VHdnLzJKUmRaWWNEMmZuMnN1UjlJKzdONUNnc0tDaHor?=
 =?utf-8?B?TFcvZ2V4T3JDdkh6Q21BOS84UXZrMlpHeHM2QnFBR2g2RnJoWTFuTU1mUjUz?=
 =?utf-8?B?OWRWKytHbkxkb3NMM3JhK0llQkNRV3FmdWxZQ3I5YlBxRVh6R3ZFR2cvRXU5?=
 =?utf-8?B?eTA4ZUpSNVFVRDQ5NERqYXc0dkx4Rmc5N013dWd6V3VNVWtrVU1xM2lDdjBP?=
 =?utf-8?B?eFR3cThiVHkxc2hXeWJIcUx0UmZXZG1pZUYwdHZ0L2xyZTJ0aVJZTUFwOWJD?=
 =?utf-8?B?RWlycWJQNlprU204MUFlallaZ1llRDJhU0oyTXphOCs4cFpFR2tjaDVmUjhk?=
 =?utf-8?B?SFIwQWNlbkd6NlZMRWRSOFVMallJNmNZdCtURWVpVEwzR0hMU2tJMlJHM1hv?=
 =?utf-8?Q?A/rWwvDwxgR82khpb7zG1TxjW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0799e025-af03-4a65-dea2-08db304cf898
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 11:58:55.1105
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IUQVMiWO4m4Zmf8J4E3/Jud4n5thU/SrO7j2yb65K3iNpuxiWsxQF4R0hq511H00X4PRGk/rlQvMeczn4cxYfg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9708

On 29.03.2023 12:48, Roger Pau Monné wrote:
> On Wed, Mar 29, 2023 at 11:55:26AM +0200, Jan Beulich wrote:
>> On 16.03.2023 17:16, Roger Pau Monné wrote:
>>> On Tue, Mar 14, 2023 at 08:56:29PM +0000, Volodymyr Babchuk wrote:
>>>> Prior to this change, lifetime of pci_dev objects was protected by global
>>>> pcidevs_lock(). Long-term plan is to remove this log, so we need some
>>>                                                    ^ lock
>>>
>>> I wouldn't say remove, as one way or another we need a lock to protect
>>> concurrent accesses.
>>>
>>>> other mechanism to ensure that those objects will not disappear under
>>>> feet of code that access them. Reference counting is a good choice as
>>>> it provides easy to comprehend way to control object lifetime.
>>>>
>>>> This patch adds two new helper functions: pcidev_get() and
>>>> pcidev_put(). pcidev_get() will increase reference counter, while
>>>> pcidev_put() will decrease it, destroying object when counter reaches
>>>> zero.
>>>>
>>>> pcidev_get() should be used only when you already have a valid pointer
>>>> to the object or you are holding lock that protects one of the
>>>> lists (domain, pseg or ats) that store pci_dev structs.
>>>>
>>>> pcidev_get() is rarely used directly, because there already are
>>>> functions that will provide valid pointer to pci_dev struct:
>>>> pci_get_pdev(), pci_get_real_pdev(). They will lock appropriate list,
>>>> find needed object and increase its reference counter before returning
>>>> to the caller.
>>>>
>>>> Naturally, pci_put() should be called after finishing working with a
>>>> received object. This is the reason why this patch have so many
>>>> pcidev_put()s and so little pcidev_get()s: existing calls to
>>>> pci_get_*() functions now will increase reference counter
>>>> automatically, we just need to decrease it back when we finished.
>>>
>>> After looking a bit into this, I would like to ask whether it's been
>>> considered the need to increase the refcount for each use of a pdev.
>>>
>>> For example I would consider the initial alloc_pdev() to take a
>>> refcount, and then pci_remove_device() _must_ be the function that
>>> removes the last refcount, so that it can return -EBUSY otherwise (see
>>> my comment below).
>>
>> I thought I had replied to this, but couldn't find any record thereof;
>> apologies for a possible duplicate.
>>
>> In a get-/put-ref model, much like we have it for domheap pages, the
>> last put should trigger whatever is needed for "freeing" (here:
>> removing) the item. Therefore I think in this new model all
>> PHYSDEVOP_{pci_device_remove,manage_pci_remove} should cause is the
>> dropping of the ref that alloc_pdev() has put in place (plus some
>> marking of the device, so that another PHYSDEVOP_{pci_device_remove,
>> manage_pci_remove} can be properly ignored rather than dropping one
>> ref too many; this marking may then also prevent the obtaining of new
>> references, if such can be arranged for without breaking [cleanup]
>> functionality elsewhere). Whenever the last reference is put, that
>> would trigger the operations that pci_remove_device() presently
>> carries out.
> 
> Right, this all seems sensible.
> 
>>
>> Of course this would mean that if PHYSDEVOP_{pci_device_remove,
>> manage_pci_remove} didn't drop the last reference, it would need to
>> signal this to its caller, for it to be aware that the device is not
>> yet ready for (e.g.) hot-unplug. There'll then also need to be a way
>> for the caller to figure out when that situation has changed (which
>> might be via repeated invocations of the same hypercall sub-op, or
>> some new sub-op).
> 
> Returning -EBUSY and expecting the caller to repeat the call would
> likely be the easier one to implement and likely fine for our
> purposes.  There's a risk that the toolstack/kernel enters an infinite
> loop if there's a dangling extra ref somewhere, but that would be a
> bug anyway.
> 
> So device creation would take a reference, and device assignation would
> take another one.  Devices assigned are safe against removal, so there
> should be no need to take an extra reference in that case.
> 
> There are however a number of cases that use pci_get_pdev(NULL, ...)
> for example, at which point we would need to take an extra reference
> on those cases if the device is not assigned to a domain?

I think in this case a ref should be acquired, and independent of
whether the device is assigned anywhere (or else I expect this would
end up cumbersome for callers, when they need to figure whether to
drop a ref).

> Or would we just keep those under pcidevs_locked regions as-is?

This may be a short-term option, but longer term I think we want to
fully move over (and get rid of the global lock altogether, if at all
possible).

Jan

> (as PHYSDEVOP_{pci_device_remove, manage_pci_remove} will still take
> the pci_lock).
> 
> Thanks, Roger.



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 12:06:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 12:06:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516239.800048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUZo-0006Kh-1S; Wed, 29 Mar 2023 12:06:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516239.800048; Wed, 29 Mar 2023 12: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 1phUZn-0006KU-UU; Wed, 29 Mar 2023 12:06:51 +0000
Received: by outflank-mailman (input) for mailman id 516239;
 Wed, 29 Mar 2023 12: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=wGTc=7V=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1phUZm-0006K6-Pj
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 12:06:50 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0603.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ecff189-ce2a-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 14:06:48 +0200 (CEST)
Received: from AS9PR06CA0392.eurprd06.prod.outlook.com (2603:10a6:20b:461::32)
 by VE1PR08MB5584.eurprd08.prod.outlook.com (2603:10a6:800:1a4::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Wed, 29 Mar
 2023 12:06:37 +0000
Received: from AM7EUR03FT019.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:461:cafe::c7) by AS9PR06CA0392.outlook.office365.com
 (2603:10a6:20b:461::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.43 via Frontend
 Transport; Wed, 29 Mar 2023 12:06:37 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT019.mail.protection.outlook.com (100.127.140.245) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6254.20 via Frontend Transport; Wed, 29 Mar 2023 12:06:37 +0000
Received: ("Tessian outbound 99a3040377ca:v136");
 Wed, 29 Mar 2023 12:06:36 +0000
Received: from f1e4e4e61c25.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 84FD3418-9028-474E-BA13-3A1A6B4E1092.1; 
 Wed, 29 Mar 2023 12:06:35 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f1e4e4e61c25.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 29 Mar 2023 12:06:35 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB8188.eurprd08.prod.outlook.com (2603:10a6:10:3ef::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 12:06:24 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6222.035; Wed, 29 Mar 2023
 12:06: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: 2ecff189-ce2a-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=toKGm4MY+gkhQ5b7dRlY1UGapjFnpTS2B+KA2nvdseg=;
 b=MS6D5rjWRG92t8bsTGKyNvYh/M4luuhSZCzvgyjyDHJP8K3kHNppJmoMyy4hIQvzW5ZdmP1uLVBBXR98Fd1sFJlPCNg0EclZBax+XLtC7zLBYVNV7zhIouPn5GTIxl6A127QD7KlC1/kD6bYqj5Bn4WSGVLX7R3DKEhhBmtCtsg=
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: 80e133b9aebda20f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NmQ/t7QvudEfD7pi3/YeIqqHucsmkQbI9Jy9rn1Lv+umKfaVOwjkUwaNJvbXN/8CPvia0K4mpmlvz7jptxnLWzxtNmO8FnfPaVau8h5uEhDp/b67k/aWY1rgC3xPyzybCrwOfI1Lop3UKGvVVn9caqChTwGGulVoX8mr5kkR+BNT//ZYa5ec9M24DmsVdpQyJMZov6E/AXhBl/VPuzHt23b2JXZewCKYU/Cm/7dLBJjcVuZGgRycg9WghCD4kolcCDXQu00Qkv3iWnqj+mUNtaBC6gCfYB5X01OJjF1E5n9Xl1tsZdtEeyfEznd7oLtWoNytYHUZe9mceg6TbgEJ/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=toKGm4MY+gkhQ5b7dRlY1UGapjFnpTS2B+KA2nvdseg=;
 b=Mw+w8sf+rNRJ4HYaMH7tZ9zrTztk7bZ6KK9OvBO1k1YjzlOuHsKlSaIXumAF+7owwBLQ01BbY64XWcDhKvS3lbePuA6jD2thjVgrRuEweU7FJsZ3XtVMdzlrwQvIxxcTiNV8Tf+XsU/EDhA+asBEwRct1kBGhlJBVdAHQe8XIIQG744MPwQ5eop174cGAlRHSsumsCo40WUEeyvwFdLzBK9ja53FhaeBokWDAAYuusdVeVXN1LN1B/noNHfMZsFU64YAfNQybMuOWWllkqmMv1+hZn294LvVDO1SeFf3k7DKD/TSHaamCZ3P9L81zvIxwDEVKDuGQm70HCDNz44ELQ==
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=toKGm4MY+gkhQ5b7dRlY1UGapjFnpTS2B+KA2nvdseg=;
 b=MS6D5rjWRG92t8bsTGKyNvYh/M4luuhSZCzvgyjyDHJP8K3kHNppJmoMyy4hIQvzW5ZdmP1uLVBBXR98Fd1sFJlPCNg0EclZBax+XLtC7zLBYVNV7zhIouPn5GTIxl6A127QD7KlC1/kD6bYqj5Bn4WSGVLX7R3DKEhhBmtCtsg=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v4 07/12] xen: enable Dom0 to use SVE feature
Thread-Topic: [PATCH v4 07/12] xen: enable Dom0 to use SVE feature
Thread-Index: AQHZYJtnVirGlcet3UaNyqwRESxZda8P+VUAgAGzKoA=
Date: Wed, 29 Mar 2023 12:06:24 +0000
Message-ID: <B3F6542B-B6AC-47F1-A273-CC2E0F347E59@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-8-luca.fancellu@arm.com>
 <2846794b-8057-2f41-3082-4d6c6fcd3f50@suse.com>
In-Reply-To: <2846794b-8057-2f41-3082-4d6c6fcd3f50@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.3731.400.51.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_|DU0PR08MB8188:EE_|AM7EUR03FT019:EE_|VE1PR08MB5584:EE_
X-MS-Office365-Filtering-Correlation-Id: af7d2767-a2ee-4ff2-ddbe-08db304e0c22
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:
 rdYIxvzpfj8AnC2kaUPV6GafT75UrywTkAxYErQ+F8OkLl0/QIkPsvz2U8kT84gnNjDK2vbJBClKVbZVPaNWC7Vbab4HIv7cTFZWTEXZt1hH7jMI5VAU8OZfTiEflvcpJ3wAbqzGHaa+yYp9kSDQaWTJr/wh7m4oti4O0g9pH+z0pDgAZIWpZap9yC/bzMhVcDP076dasuKxTd8c5mBerech1FA3/HljOmoihgEWOMa7VfcxuB6gyat6yHCGojMVxHnwoHFMIR/kmHl4KyEPJeklwMPOh7aAKkcYK3+mpv/elaBZXUxWL5izg8m+4vTgkCNcN/ahNRWi+RFH42ibAyCYl13U5tAdAlf8eCmVQ3JvNsfZIfBWAg+GXRA+oNkNHUXdN3xDS2PPBXFwNN46tt/zxCy8ZSRE+QRjwZGJshBZbHWJf8bCqnZXfaSwk/kGIsaa6H+Ry0CoNVfXtNddPYYx7rTwZvGwuU0Sd1FUjd2jwzNTmVoBsGC8q0QURqQlTy+hFrluYDGD5a9n9gcdVz830FN843slhNHrQZ58U9/SVqLR7bihd3Pxw3SbTfPXRjZj5XjKwLxztNuJ/KcY0DQ6f6j/ZcDhcRT+xZzlcUWrKEeZj4sAmnFpIHP9vyQlHgog5MGzMHNty/JQIp/GcQ==
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:(13230028)(4636009)(346002)(396003)(39860400002)(366004)(136003)(376002)(451199021)(122000001)(38100700002)(83380400001)(4744005)(2906002)(2616005)(8936002)(6486002)(86362001)(186003)(38070700005)(26005)(33656002)(76116006)(71200400001)(316002)(54906003)(41300700001)(5660300002)(4326008)(91956017)(478600001)(6916009)(6512007)(66556008)(6506007)(64756008)(66946007)(8676002)(36756003)(66476007)(66446008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <48E546EAE4ACC544B0786EB2E524274D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8188
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:
 AM7EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9719fdaa-ff8d-4dfe-18ea-08db304e04bc
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GOwnTt+L0MJuX2WrZk6I4PSpIuedIdC9keHN0n3um1RH0mSVE/j9UUf6p+OzuaRqwJFp6Qtl+BMg0zhynZoCGUDgQk6Rnajz70+0YpGxLQEMeL2FXoNTqJ7F0Z2EOOM1ieCo5R+V0JK0LX59Jt6nSNvVtah5tKle8cvlAbijAFw01fLSPA2PsqNxZOQRwBXSQu/T153Z7fSgeAqYR+zq+RYbA2RWG9aneqp11y9tDNm3QU6TdridCrMt42WmNxbMms04iks0Z8Ym9XLz++S6jdl500N16Oiogx+H6YzNx1+fATQ4rivPky2gBI04WZnu0Todw+8qWUQl0u2WbqwMuU9LEOp8vt2UhVcAr4wt69wOXInxl+KpvF6DrwyRKCKGBQ1OLuzOKoX5l0Ck2nTZ8LdsRQzYudXbU7ONdPtsOxXu7mFos/ChZ3IXMQf1CZLt7ajH2Wj7aVbtLXaudJlRcn9Z274S/uweIfJtOs23njnLwt/0o54sfKkv66c7wFMShSC11xG/rOlwTm8ELSXNvmYE8w+HpU3LB1YWCzaoav+zQoZJK2UaqVBmt1/U65TQYmgvxwjnFu+gXuiQ8m9AlgS/bubT7Xa295Pwif0nqjern/lbi86I5NjUQSIm6WOjLNFu8lO5JZcCDYToLV8wD7CqWBBt6WbBRVRvNeY/N18ScbPhc049ha5HRaTHwz5V1fZeAQdyIabTq7YYgX7QZg==
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:(13230028)(4636009)(376002)(346002)(136003)(39850400004)(396003)(451199021)(40470700004)(46966006)(36840700001)(81166007)(5660300002)(6862004)(8936002)(70206006)(356005)(47076005)(8676002)(41300700001)(82740400003)(70586007)(40460700003)(4326008)(2906002)(336012)(36756003)(82310400005)(33656002)(4744005)(2616005)(83380400001)(6486002)(40480700001)(86362001)(26005)(6506007)(6512007)(36860700001)(186003)(478600001)(316002)(54906003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 12:06:37.1782
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: af7d2767-a2ee-4ff2-ddbe-08db304e0c22
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:
	AM7EUR03FT019.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5584

PiANCj4+IEBAIC02MSw3ICs2MiwxMiBAQCBjdXN0b21fcGFyYW0oImRvbTBfbWVtIiwgcGFyc2Vf
ZG9tMF9tZW0pOw0KPj4gDQo+PiBpbnQgX19pbml0IHBhcnNlX2FyY2hfZG9tMF9wYXJhbShjb25z
dCBjaGFyICpzdHJfYmVnaW4sIGNvbnN0IGNoYXIgKnN0cl9lbmQpDQo+PiB7DQo+PiAtICAgIHJl
dHVybiAtMTsNCj4+ICsgICAgaW50IHJjID0gMDsNCj4+ICsNCj4+ICsgICAgaWYgKCBzdmVfcGFy
c2VfZG9tMF9wYXJhbShzdHJfYmVnaW4sIHN0cl9lbmQpIDwgMCApDQo+PiArICAgICAgICByYyA9
IC1FSU5WQUw7DQo+IA0KPiAuLi4gY2FuJ3QgeW91IGNhbGwgcGFyc2VfaW50ZWdlcigpIHJpZ2h0
IGhlcmU/IG9wdF9kb20wX3N2ZSBpc24ndCBzdGF0aWMsDQo+IHNvIG91Z2h0IHRvIGJlIGFjY2Vz
c2libGUgaGVyZSAocHJvdmlkZWQgdGhlIG5lY2Vzc2FyeSBoZWFkZXIgd2FzIGluY2x1ZGVkKS4N
Cj4gDQoNCk9oIG9rIG5vdyBJ4oCZdmUgc2VlbiB3aHkgSeKAmW0gZG9pbmcgdGhpcywgYmVjYXVz
ZSBvcHNfZG9tMF9zdmUgaXMgY29tcGlsZWQgb25seQ0Kd2hlbiBDT05GSUdfQVJNNjRfU1ZFIGlz
IGVuYWJsZWQsIHNvIEnigJltIHVzaW5nIHN2ZV9wYXJzZV9kb20wX3BhcmFtKCkNCnRoYXQgcmV0
dXJucyBuZWdhdGl2ZSBpZiB0aGF0IG9wdGlvbiBpcyBub3QgZW5hYmxlZC4NCg0KT3RoZXJ3aXNl
IEkgc2hvdWxkIGRlY2xhcmUgb3BzX2RvbTBfc3ZlIGFueXdheSwgYnV0IEkgc2hvdWxkIG5vdCBh
Y2NlcHQgdXNlcg0KY3VzdG9taXphdGlvbiBvZiBpdCBpZiB0aGUgb3B0aW9uIGlzIG5vdCBlbmFi
bGVkLg0KDQpTbyBJIHRob3VnaHQgdGhlIHVzZSBvZiBzdmVfcGFyc2VfZG9tMF9wYXJhbSgpIHdh
cyB0aGUgYmVzdCB3YXkgdG8gaGFuZGxlIHRoYXQNCg0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 12:06:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 12:06:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516238.800037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUZk-00065S-Q2; Wed, 29 Mar 2023 12:06:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516238.800037; Wed, 29 Mar 2023 12:06:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUZk-00065L-N3; Wed, 29 Mar 2023 12:06:48 +0000
Received: by outflank-mailman (input) for mailman id 516238;
 Wed, 29 Mar 2023 12:06: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phUZj-00065E-J9
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 12:06:47 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d26830d-ce2a-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 14:06:46 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB7735.eurprd04.prod.outlook.com (2603:10a6:20b:2a5::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 12:06:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 12: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>
X-Inumbo-ID: 2d26830d-ce2a-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VFb8vFoGe6D3qywZ6MaMsawWhdHJP9CuQTjDxYQoKv9M5WBNbb2A6oCO7zhmeVjJYqHlPTiZFZRXNxALs2AH2hP64p74OzePpytAV2NYACYEzUa8gUWeGrss0wOwg7ZaVgtSak70aoBzMzpA2R/Bwi62etATHr0o1pHA7MHGjRHDIq6qwg7/iKosv7/apSoa7JgL3s8j0bop66svacMle8/pnNwq/n+C/ypZFkqHRzqg78E6o9rzoTXJXXR/BR0MAWIv2YkEb1WAZXjJzI01RwF9bj0XckkUo5eT9qJbdj2/zA6/2Kmo/KC1IFk2Zb2HYHMIphaTNeMYO91FVLSxtw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C184tFCrsDO43lZbwFwhZRV6RvW9yUSnFb0tMDnXM8Y=;
 b=Qfql7FGlDRDDRG6H3exVftwLi7K8qHCq48IzcaWvS9kVfIVG01i4undzC5oIiFVr9LnOGkiL03l24ytOZcTOSp3r2g+G95lErX1Qyku4CupSzn0LkBqko9wa1Mdjkj5pvYbyBQlDJUpHqhQdY28YFO8CDgyosu84rXg1AsFIaLxXq1+uZr9LL8bmKk/evQ+9kFOXvozZXP1iBD/YJirtMxDpZVhCCyHjZuCEJHoOa3pPkZTYPt/YHeaFQZ2t8jJHJjrJOw6LPQcebKl9piuoq7A7NZoGGtSN+8Ba7rUlpr4Tu57LUqTzf454UPNPxwgo5SvbM69SqX/3pDnzL8+2cA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C184tFCrsDO43lZbwFwhZRV6RvW9yUSnFb0tMDnXM8Y=;
 b=G63vP8dDcxGYt56QUSt8/oEN0QSDn0UNwZfXWGb44vK/C6fMf9vdo8JvWt0TlLVjFxYMIW2CWv7V8mx7JVdJg4twspD7WrLxS4oB0WtuEDLJfT05GMSJvnKQm8PZCLbJeot2j6gRdM1dBXVY8DjQ3PoFTUHdYPLcqsrVaUKUw5sSsLyzUMk80f6vB12N57aEP3UNjplHV5Rprb1VxODXW379iGoTz3nhIf/D8brwmJ8CEP1MeW1uvd8lSXQaQf70ysjMiMYqaUpec400beVDBisquYr10KGvI0z0hf4/ETotvms/19hBFJU8iKIvgJjQts0TX0n/FgN6qqt3YTF0Fg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <621425bb-03ad-1a5b-f53f-553eeefebf44@suse.com>
Date: Wed, 29 Mar 2023 14:06:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v3 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1679934166.git.oleksii.kurochko@gmail.com>
 <93da6ba381604748e2c71e2ebd35e80798ec4bb2.1679934166.git.oleksii.kurochko@gmail.com>
 <0a16b79e-8292-6947-24d4-dd027113943f@suse.com>
 <f83cf0373bdcf31d6d273d53949cb81f54f74d5a.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f83cf0373bdcf31d6d273d53949cb81f54f74d5a.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0101.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB7735:EE_
X-MS-Office365-Filtering-Correlation-Id: 896bddd0-2677-4f6e-7a8a-08db304e0ff7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NfthtHcxrMkHnCDsnaa/mBjTHe+2tlkKOZIPb2cncJsaZsNu8QoSq+k3UAgQXV5hCCRTcWKF3XQAenr97uCYxjSpmFlZdosQBp77xp+Rej5xYt+CR9eI0XpPTjRhwuOWpKtttgpTwEIZQAG3fb09wMtuUdYHCNeqOy4IKqfoCYNMFgTAFbisG6kpOexBfAGzZ4/Qn4Ja7Ago1QVLmY48PoCMcfrKI/S1EOwtNA4g0drKmsaKInHhuG5kEwrwtL/g3RyPBvnvxVlU5CbP5bWtCreFby9MEoNIN7D60culsu/2sBuqkc3rVXt/UW/WMHqpImiqm+rs5ZdzgKim8lRMEYEPaD6CXv00EiiHu/bwLEEvjO3nFRzWsWvy31QaYeHP4oOZbxXx1D+PFF6Kq5VLH5mPQSUkrg8izGyyUf48K5jcBKCXSMcRcwzgtu+gUsSGuehusm6RyH4mdx3WWF8GST2y0UJJBVPQWBHVC7d4JPLng9rgXS077tTvWOWnaSjLQgkCt0h8NEDKbE/NtF/MC4u2DKRDDk1hv7WCJsaGevd/E8kN4WF9jlAkhLnAvMG4tvelWNlNARDn3avLVNic8/yQbNYWk/i3iNoWVWj+jhlueBBaqF1/Hr9plfNzYcvl7QVsS8dkmH4HPkWhkCFtJw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(396003)(366004)(136003)(346002)(451199021)(83380400001)(31686004)(26005)(53546011)(478600001)(316002)(54906003)(36756003)(66946007)(8676002)(66476007)(6916009)(66556008)(41300700001)(31696002)(6506007)(86362001)(4326008)(2616005)(6512007)(966005)(38100700002)(6486002)(8936002)(2906002)(5660300002)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WjNBRHpGeUpCMzV1NnpMTFZ3VVJUSWdDMTRiYXYrQTdEL2wxS1FvU0JmZVlr?=
 =?utf-8?B?L2QzNmU0cGt4aDVLRG1zTDVKUFlXSTFwakFnOFN4VkU0RkpLTW5GZjk5YWQ1?=
 =?utf-8?B?eDhqRkU3ck1KOFdZcXNuUm95NWQ4emFBbnhpMzVDenJ4OUFLMEp6aHUxNksr?=
 =?utf-8?B?ZXZWUHdUS0x6L0dOUHV5VndXSHhEb1Fibm9CckFKSGJZa0x0WjFyeHJrRFVy?=
 =?utf-8?B?ZEhrbkpjZ2hIb0VlZjJxeU10N09saHIzbTI5WUErODVYSXhLdTl3VnZHY0FL?=
 =?utf-8?B?dHNDK3J1QnJYektjTXRzaWZ4UGZlcG1rL0hzY1pORzZzSXRWNURQSXBvdHJw?=
 =?utf-8?B?WUorT0I2anFKOC9YVTdtVGRrekx4SUYrYVkrSnh0MUJicDV2a0ZJQ2tFVVBP?=
 =?utf-8?B?RTJ0amNzOTRGTXpQay9TZ2RxYWNJRlU2WlRGTFBxTUtibUpEd0wrRVVMWk5K?=
 =?utf-8?B?S3RXem5NSm5laHp0S28xOG1zYXJiZlRkajFwMGZNclk0U29aV2JjVDhqaUdU?=
 =?utf-8?B?ZzdOM3lQMURzYkl4Slc1Q0lkeEdUWXZBb2lRT1J1aXpzT0NsUTNsWmFLVGw1?=
 =?utf-8?B?K2I0WDI2M3F1WTU2bXI4V2FOdURIdy9FdVJFNGF3aER5QjI0UWtJM3IwTXNx?=
 =?utf-8?B?THVKczNKZ3BsVFhqdEVoYWNaY2kvY1ViVkxFRW1SSTJCcGx0R2U0WVl2c1hH?=
 =?utf-8?B?T1JBVnF6ZmlhK0NXeXE0NFBvY0k1QU5zaDFxbUVaWlVPS0lUTkNEdDZXT1pT?=
 =?utf-8?B?ZG9BeDNteEVyNXZKZVB0dUw2OVFVWityZGpDMWU1NjQ4TGcxZW1Lc0RnSHVV?=
 =?utf-8?B?VEg5K0hSV3Azd3krK2RVelZGeUpoaXVLVitMZWwwS3QyOTVRVEF3SGk5Wnd4?=
 =?utf-8?B?NlhKZWNqWHNZNDJGd2RMRERjcGFEek1JRTBYaFkrblFHbnlKRERGWUd0ejA5?=
 =?utf-8?B?ZmRxbGJ1UWN1UE9YMEQxczZRNTVVbEZvNWFtM2d6R0d4OFYrT0h6dTdibFZ4?=
 =?utf-8?B?OVRQN0dJblBCZVVLNlcwOGV0a1RTTXA5SXVHUGlVU2JmNzFTalFpSWtibzNj?=
 =?utf-8?B?OWR4OURXWWxvVFhjKys2V09CNlFkZWVRK29XcFBoL1d4VUY1MEFTckVSM0Vj?=
 =?utf-8?B?T2JyZ2k4eHBTUndtelorR3podmdYVHp6emw5VzBLd28xY3A4VUVGTktodENV?=
 =?utf-8?B?NDRrNkUrbzhybG81QmZ3RUxaMWhSOFVoU2IzcFZzRGF6UkNHYmpCL2ViaytY?=
 =?utf-8?B?bVdhUU5pY3dFWEYyOC9TODlmVU5PeG1wdnhYU0JrZGVtbi9nYld6bVZFa2Fo?=
 =?utf-8?B?L2ZaZ0gyZHk2K21uTm9rRmhzT2J5QUNSbWV5QXgzUUd6dzZaMThsVk4rN0VL?=
 =?utf-8?B?OXVHdDNiWk1pUGgwSnZnYVJlR2RYQW5rYWEzbkNLOG9Ld21wK1ptMXRyT1Aw?=
 =?utf-8?B?Skx6Q2VvSnVpY01HbmJPZ2pjYk5Md2JrRDVpMnR6b3ZkRC9SMzlQQ2czUDFE?=
 =?utf-8?B?S0U5T2hLaHNpM1B1cVRyc3ZGb01qRGxBaHBVQTNSZlFJTVRadk5xQVJ2aVhQ?=
 =?utf-8?B?b3k2b1Q0VHVZbUx4MkRLWkFlNUZKUUcwRmhGM21EWFNiODVYOUF5Lyt2UWN0?=
 =?utf-8?B?ZVpnY0tWVmkyUDE4elV2VzJabGVTWGtMRlZXYXZyZ1gxZUVPVVJpWkpzWEhp?=
 =?utf-8?B?UUpWS2lsRmRYRlUrYnlpdzhXZVhOYTRlRVpaNm44dEQ3KzlYcUhJWHBvU0FW?=
 =?utf-8?B?eFJqZ1FvQ0h4aXlXd2hHUUo0SUt6Z0ZZL2NmbEFoVW9WR0hMVW1pMXg5RCs4?=
 =?utf-8?B?VDZWWlVSd29pTUJWTk1KL095dmVEcjJvRGgwWFNwc081TXF5aUwzMVQrMlk1?=
 =?utf-8?B?aTBZK1NCWkRjbGtBRGVoRkljbU9lcXQraVlnd0kyc2xQV09MMmlERkxaVGxn?=
 =?utf-8?B?b1g2VGxTTlN4QW95OWNUWGhtMDRyM01mTk5xTjg1VFhxSkhSRm9sU1ZuV2RF?=
 =?utf-8?B?VFRVN3I2bWpRTUZhQlk5MlFham5Mc3g2MUdVZnUyUkwvNWVNWStuM3J6dERQ?=
 =?utf-8?B?SnJhTDVlYXFrRUIycEJpRjg4YXRyV2NNOUFaVHRpRmFmR1FMaEZPQXNQdUFX?=
 =?utf-8?Q?6phkZVA2d0W2Icn347VeboRCR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 896bddd0-2677-4f6e-7a8a-08db304e0ff7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 12:06:43.8264
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rpnn71tWDS//R/WJX5q9xQ0XpSUfBrYQpVS9cU7DZGhXC1gwimodjGo+zUJbePuFz2VuWC7o3HS4ksEUrEweTQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7735

On 29.03.2023 13:43, Oleksii wrote:
> On Tue, 2023-03-28 at 17:34 +0200, Jan Beulich wrote:
>> On 27.03.2023 19:17, Oleksii Kurochko wrote:
>>> --- /dev/null
>>> +++ b/xen/arch/riscv/mm.c
>>> @@ -0,0 +1,277 @@
>>> +#include <xen/init.h>
>>> +#include <xen/kernel.h>
>>> +
>>> +#include <asm/early_printk.h>
>>> +#include <asm/config.h>
>>> +#include <asm/csr.h>
>>> +#include <asm/mm.h>
>>> +#include <asm/page.h>
>>> +#include <asm/processor.h>
>>> +
>>> +#define PGTBL_INITIAL_COUNT 8
>>
>> What does this magic number derive from? (A comment may help.)
> It can be now 4 tables as it is enough to map 2Mb. 8 it was when I
> experimented with bigger sizes of Xen binary and verified that logic of
> working with page tables works.

Since this is connected to Xen's image size as you say, I guess the
constant wants to move to a header, and then be used in an assertion
in xen.lds.S. That way one will become easily aware if/when this 2Mb
assumption breaks.

>>> +struct mmu_desc {
>>> +    unsigned long num_levels;
>>> +    uint32_t pgtbl_count;
>>
>> Nit: Style (as before please avoid fixed width types when their use
>> isn't really warranted; afaics unsigned int will do fine here and
>> elsewhere below).
> I will change it but I am not sure that I fully understand what is an
> issue with uint32_t.

The issue is simply that ./CODING_STYLE says to prefer basic types
whenever possible.

>>> +void __init setup_initial_pagetables(void)
>>> +{
>>> +    struct mmu_desc mmu_desc = { 0, 0, NULL, 0 };
>>> +
>>> +    /*
>>> +     * Access to _{stard, end } is always PC-relative
>>> +     * thereby when access them we will get load adresses
>>> +     * of start and end of Xen
>>> +     * To get linker addresses LOAD_TO_LINK() is required
>>> +     * to use
>>> +     */
>>> +    unsigned long load_start    = (unsigned long)_start;
>>> +    unsigned long load_end      = (unsigned long)_end;
>>> +    unsigned long linker_start  = LOAD_TO_LINK(load_start);
>>> +    unsigned long linker_end    = LOAD_TO_LINK(load_end);
>>> +
>>> +    if ( (linker_start != load_start) &&
>>> +         (linker_start <= load_end) && (load_start <= linker_end)
>>> ) {
>>> +        early_printk("(XEN) linker and load address ranges
>>> overlap\n");
>>> +        die();
>>> +    }
>>> +
>>> +    calc_pgtbl_lvls_num(&mmu_desc);
>>> +
>>> +    mmu_desc.pgtbl_base = stage1_pgtbl_root;
>>> +    mmu_desc.next_pgtbl = stage1_pgtbl_nonroot;
>>> +
>>> +    setup_initial_mapping(&mmu_desc,
>>> +                          linker_start,
>>> +                          linker_end,
>>> +                          load_start,
>>> +                          PTE_LEAF_DEFAULT);
>>> +
>>> +    setup_ptes_permission(&mmu_desc);
>>
>> ...: Why does this require a 2nd pass / function in the first place?
> Probably I misunderstood Julien and it setup_pte_permission can be done
> in setup_initial_mapping() but here is the reply:
> https://lore.kernel.org/xen-devel/79e83610-5980-d9b5-7994-6b0cb2b9049a@xen.org/

Hmm, yes, his option 2 looks like what you've implemented. Still I
don't see why the permissions can't be got right on the first pass.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 12:17:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 12:17:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516244.800058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUjs-0008Aq-1J; Wed, 29 Mar 2023 12:17:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516244.800058; Wed, 29 Mar 2023 12:17: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 1phUjr-0008Aj-TS; Wed, 29 Mar 2023 12:17:15 +0000
Received: by outflank-mailman (input) for mailman id 516244;
 Wed, 29 Mar 2023 12:17: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 1phUjr-0008AZ-Ie; Wed, 29 Mar 2023 12:17: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 1phUjr-0000f8-GR; Wed, 29 Mar 2023 12:17: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 1phUjr-0003Cm-1L; Wed, 29 Mar 2023 12:17:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phUjr-0000gl-0s; Wed, 29 Mar 2023 12:17: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=GqUgucyrh8IH1vBZzPMdOqmk9X9SDqoR1Xah5eETSus=; b=v9dDA9MENTFjkI/L5fqQEyYkxa
	c/Du2Fu1UXKWOCNIFnEVakbK2slYgsLAtxMJAzz57aigA4tFxn1KyOydnqHhje1BmueMcrEYs1fzS
	I0zMJ6g8jz/8zGCET6cSXREPSpZZoCZVWyaHZ36UPJo9izdmpZAS/4uqZTWeLbGbOgYM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180046-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 180046: tolerable trouble: fail/pass/starved - 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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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: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-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b177892d2d0e8a31122c218989f43130aeba5282
X-Osstest-Versions-That:
    xen=0ab316e7e15f895c983e853512cfe0bb71ee3053
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Mar 2023 12:17:15 +0000

flight 180046 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180046/

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 180040
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 180040
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 180040
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 180040
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 180040
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail like 180040
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 180040
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 180040
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 180040
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 180040
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b177892d2d0e8a31122c218989f43130aeba5282
baseline version:
 xen                  0ab316e7e15f895c983e853512cfe0bb71ee3053

Last test of basis   180040  2023-03-28 11:08:41 Z    1 days
Testing same since   180046  2023-03-28 23:10:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Anthony PERARD <anthony.perard@citrix.com>
  Anton Belousov <abelousov@ptsecurity.com>
  Dmitry Isaykin <isaikin-dmitry@yandex.ru>
  Jan Beulich <jbeulich@suse.com>
  Roger Pau Monné <roger.pau@citrix.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   0ab316e7e1..b177892d2d  b177892d2d0e8a31122c218989f43130aeba5282 -> master


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 12:21:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 12:21:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516250.800068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUnW-0001Fw-KD; Wed, 29 Mar 2023 12:21:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516250.800068; Wed, 29 Mar 2023 12: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 1phUnW-0001Fp-HF; Wed, 29 Mar 2023 12:21:02 +0000
Received: by outflank-mailman (input) for mailman id 516250;
 Wed, 29 Mar 2023 12:21: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phUnV-0001Fh-DW
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 12:21:01 +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 2a07b784-ce2c-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 14:21:00 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9940.eurprd04.prod.outlook.com (2603:10a6:10:4c1::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Wed, 29 Mar
 2023 12:20:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 12:20: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: 2a07b784-ce2c-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Uh559brhhcbviKZK8gEQoSbeS4hng0RWQU7/AW5TtjynERSk3hU2Zim6NkyCAdk04PIpntdG7t2tI+eszzOeqS4GKZ8HQBlqFFnhNQr4NAgLIang3I53GEIb6ZdNCGAPy13DftGtQApQ1PI8zRR3JQ2vzdNHsuClyotfjj6b20L6+kbTbKmW3CdGm1voUeYAAqdVVjVFZoUeNTzSGK16hP3INJaLzN7sFpeJCwjHffTn61vzGnA93TkZqdJMmceGS41ALyi3yXakIAFJ2h0P2S+fNzlB3ioDC4dHTl3LoqZyFYr2Y5f9r6IhyQp2HvAHzZXj8UZemhVT0mr9Q1jN3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tRbQe96ngt7JAwoH3/zxEPzhlOJ9PsMfTDPEbysMuUE=;
 b=HoVNthqrge7vqXPLkLGZdHloMvJEoL2OiKnjbsuCCkNsg3xuiloPOXaNkdSK/h76umWN0Dpo4vVxDDz1Hy/equTGezw5CGWV5D4LemR77KzC7EFPtSTa9zkLL4NdZNlGmP1YWCEwjbtFnTux0E7F0ZUO+EzveDV+pazONJ0nys3IU3DmP3eYjyS2fbmbUoLLYGR1Cw4FYnGYIRdtxZu0lvBYKt8Kww9GcoEkqcI+z5S7EWI4Ll6bcOnlNb5CkO9EyOA3t41KEPIfKNzK7WkhEgUczeKzZL947xMcVmW21baT+Cl8fIehxeReKPVhrilxdv6nsiBZjIaPFOfE5GLHUg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tRbQe96ngt7JAwoH3/zxEPzhlOJ9PsMfTDPEbysMuUE=;
 b=CzxWiC23uUcqN4qWZ5z22osotgYSR/KcVwZ7mkQjI/c18guiKss0akXN39Ma6lZSx9Nz0xXwht83DbG6EEwUiCxvYEzHraZqv8iLqaBsn8ha+nHfepExnLZdI6u6INvUUlrWEkFwyEvFE945cCFf4t5jHNId4IyQLcbhb0wKWSL9n7i0LryGv1EtZ73ql8PWewhnl3W5fMhqfdbNYvMu3xxHSV7FyEcXYiGX0FyUldkDtrGlAIspP95QWsI3VZvkUYYb+s5R30dfoOVQElxdVL6ZOVYFyjbY0VBwRaLkUCxZ6K56iR+rCu65R6e9WfrUryt0UKVsDmycIe9XyShRcw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0f4ec693-d3f5-d1d9-03fb-1a5918bae0b3@suse.com>
Date: Wed, 29 Mar 2023 14:20:56 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v3 1/3] xen/riscv: introduce setup_initial_pages
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bob Eshleman <bobbyeshleman@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org,
 Julien Grall <julien@xen.org>
References: <cover.1679934166.git.oleksii.kurochko@gmail.com>
 <93da6ba381604748e2c71e2ebd35e80798ec4bb2.1679934166.git.oleksii.kurochko@gmail.com>
 <0a16b79e-8292-6947-24d4-dd027113943f@suse.com>
 <fa074729-ccf7-cf2a-b8df-6c77ae3117f1@xen.org>
 <66b64c69fdc1404d9ade4be97c4a184715e4c967.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <66b64c69fdc1404d9ade4be97c4a184715e4c967.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0162.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9940:EE_
X-MS-Office365-Filtering-Correlation-Id: 3fec1a7f-3e17-4447-1932-08db30500cee
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	65cDqIt/GKGZsRZTDhevjQ09tzdU5/UG1FTsmaN2brPj70s35ilnC5S+O403pCVR4uJJILh2NGh1UAzZB6Ic0SOIpsJMPrSvnG130ZO0gVRFV438r+82SoWFBCjrCFYms1P3BwPzTlkj38dxiO99Ou/zCPSMGLbJsl6cqTxptuWzM+Re9heRREU8v358ngrJpVoM/rbcV4gX/G+8QP6OnIXZ1BhspMCvrZgxoIDBkFvEdxDk8r92d24Ba53pr9H9IRogjcOsiP5/V0MX9iqylZEKRy3akrMOilSrh6yU2IrSvbE12810vY8Z4jr5yFo6+kjG3aybir8UmfTgN/5nOsOBWVuVJgmFDZZ8YFyByenx3BDq7x4npF7KjrJGOBIc56326w/SDDL166+CwmIGvjVicNAZ/yuN+ouvW8tpjk+xrAyRuQi/XZNVeJbQsxCosUyW3unTY8oJtt6NVYvn3dSUILPYseDPLCNnpvFk4dprfDxs0HN6XFYhl/GDAWaaUG9GHEbqC+SYO8AUZ8SYsRIjAwUizmIi5UvF1WYwLg9vvj8YUPHwhP5FXfw9xegHS/KgsfVK3WCVxLS76PN9t8t+21nI7vphshOOdbJ6VS6iFaztrOFpEIyrv8n+gTXnkaWb9a4i2+4B5on6F8Rv6A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(136003)(366004)(376002)(396003)(346002)(451199021)(86362001)(36756003)(31696002)(38100700002)(2906002)(31686004)(478600001)(83380400001)(6486002)(26005)(54906003)(2616005)(4326008)(6506007)(6512007)(6916009)(316002)(66476007)(41300700001)(8676002)(186003)(66556008)(53546011)(66946007)(5660300002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TWY2Y3plWFZWbklaNEs0NFZBZGU1RjRBekRIYkVmeXV3NVpoeVJTMUFqamxU?=
 =?utf-8?B?UncxeUVPdW55SWp1NTFPNm1jNG9SSzhhVExQbWVyaWxkUG95UXFjSFh5YVFy?=
 =?utf-8?B?WHRza0FTVi9XclA4Q0FsWkFNZGQwM1BsTnhWdWU0NmUxaW1SUVJZd0hzZURD?=
 =?utf-8?B?L0xiSGxQVElKVjlHYnIyYjFrNVpUUW4weTZJLzFMUmQ0Y2F1SG9PRUZiMHBN?=
 =?utf-8?B?WnRwNkZMWjVhRGR4SytLOUdwYlI5SjhJZUdINmE1TGNnYmQrUVlCZTVyaU41?=
 =?utf-8?B?eWo0aVp1R2VDSEFuTkd2ZmlBRDJVY2JNalJTSnBqRUtjNTlGZG1Dd2NBa2Mv?=
 =?utf-8?B?NWhzRDN5VDkveHFXN3NBekNjMDdjOWZ1bExOenFEalVGeklPWXRhYVpKMHlI?=
 =?utf-8?B?REFUdWtjc3N0cllOUjZsQ2VSR2ZrRDVIMkg3WUQrSGV3bTY0Zzk0eTRwYnRX?=
 =?utf-8?B?QVloQm9jZWRrYlA0aDZjVlNMVER2c0RSNmh0UmhZR0FiOWRJemgxaE16WXRE?=
 =?utf-8?B?STdvZTU0d3JTclBQZVZRbi9qMEZtOGJ2SFJURkh4cGRxTWtDRmxLMHhnQXlU?=
 =?utf-8?B?K3RRZTVFTFN5bkhMWjBmY3NzU01KaWYxM3M5elVvb21OMlpsQTFrUU45SlE0?=
 =?utf-8?B?U1pEdHhLN05qSEJVOWVPQVZwdGF0L0JzSXNtWnZSbjRwZk5sb2UzUG1raDVh?=
 =?utf-8?B?cHhXL2NJYVh1cWpEYVhYYlZNYkw0aXRGb0FYMHpHUWU3WWRVOHRkTy85Y2VH?=
 =?utf-8?B?T0V5bVBVeVZIdUZzVzVGbVFqMTBaVlFKYUhSY1BvM0ptVmowSkdpczZLdjVs?=
 =?utf-8?B?eExNU3NEWHFtTkk1YllKMHNnb1l0Z1p2WGpKQWpLak9TaTRTdW9wMWJRQVRI?=
 =?utf-8?B?amRlR2JrMTI0REx6bHAzK2R3a0JIbWh3TEU4bENNWXdiQnJrejJSOWpYSkhJ?=
 =?utf-8?B?eEIxVFpHT2loaStyZjRFVDBmdXF5RWtpcDh3ZlJobUphSk9tdm8ycnRWYzdM?=
 =?utf-8?B?Rk9BbU9lZHVtejZaYVBWRXdEQzlxcjQwbGR0VkEyRkJDNVFmSW9zelg0ZzFo?=
 =?utf-8?B?OXhxZVkyNmRNVmFrOWVzNUZpMVlCelUwRnFoT3VucmN0c20xdzhNdVlYQUdl?=
 =?utf-8?B?NEpDclVhY0V5UDZycHNsOC9aeGVUZ1Q1ZkV1SUM2UDBlbS9iSkhyQVZkUEdY?=
 =?utf-8?B?cXhIS1hlcTZNSytIU0tJbzFqSWw1azd0RU1ibmhzV2tITGIzd3pvVXlXVlp5?=
 =?utf-8?B?K0RSTU1IaS83K0VTdTFEQTJKdE5FVjhmTTNvZU9ueXV4QTh2VHF0bS9wYXVZ?=
 =?utf-8?B?eW5QMmdNTmlyQ3pJU2tLdGlVQy8rcGNsS1FmZEpKajlhSjJJcDRvT0hpV3Zq?=
 =?utf-8?B?dlVSZWJoNjdFODIvd3RpVHNyOHVnaEJiOTZQOFNOMmlQVlVEclBEcXc2bkMy?=
 =?utf-8?B?bzhuRXJObHVtaGROb0htMEliaFhIdUYvK3M5U1E2MGM5N0FTcVMzMmpQZWQv?=
 =?utf-8?B?azExTTg1Zk9PVlRoSVgzdjVLRFR3MFAwMHV4VkNiS0xDSG80Q3BPK0xJamFj?=
 =?utf-8?B?MjZFd3hEMWtoaWwxWU5OQTdLcFp5dFJibnR3UmV1ajUweWlUdTF3R1Yyd3Ra?=
 =?utf-8?B?MktSN093amF0ekd2bEZxU3NGR1Rtekd1UnZvcGtkSGlNZ3EyTk5yRUloclhm?=
 =?utf-8?B?blJCaEVadm1VR29qZ0I4TG5tVnZhbGt2anpoYWtHaWMxSThjTFBDVDJRM1J1?=
 =?utf-8?B?WUgrcTR3bnJqMlZsSk5kS1ZRVmo2c0NIVUdqT0hMYTZNTXpQWVpBRHVVazlq?=
 =?utf-8?B?bldnUHFWRCtieTBFZ0FKN2l3dGI2RjVRblJNUjJ1NnpONFRLUjNyZTlhWDZK?=
 =?utf-8?B?ZitIOTZwdGU5L3V2TXJ0YmxYeGhpZmMzTk5aYUFxU1VmaU14OWJvRDhickx0?=
 =?utf-8?B?dVR4cklNb1RwTXRRajc4aEFBSXpYZ0tLZmE0RFFkRzRzVVF5NXpxeFpYclJI?=
 =?utf-8?B?cyttam43VVh4ZVFyR3QrdlpacFFwVHJDMFQzU0tTdUQvNEJrZUp5WHBsMnVk?=
 =?utf-8?B?WjA0cDVnL2hrVUdFV3pEU2FxRC9vMk5xdlZ3S1N3MUxHVE1OKyt3MEJXSlVY?=
 =?utf-8?Q?b6Trrris87grv3QugeTJGEW9J?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3fec1a7f-3e17-4447-1932-08db30500cee
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 12:20:57.7037
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aMY7slbxGPjzQLwhO/whKt2JujxpShMo+gpWxUGs36SPQnc8QoJRUM+2vqiYnZNEWRU21aNghd/04nNzDoS83w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9940

On 29.03.2023 13:47, Oleksii wrote:
> On Tue, 2023-03-28 at 16:44 +0100, Julien Grall wrote:
>> On 28/03/2023 16:34, Jan Beulich wrote:
>>> On 27.03.2023 19:17, Oleksii Kurochko wrote:
>>>> --- a/xen/arch/riscv/include/asm/config.h
>>>> +++ b/xen/arch/riscv/include/asm/config.h
>>>> @@ -39,12 +39,25 @@
>>>>     name:
>>>>   #endif
>>>>   
>>>> -#define XEN_VIRT_START  _AT(UL, 0x80200000)
>>>> +#define ADDRESS_SPACE_END (_AC(-1, UL))
>>>> +#define SZ_1G             0x40000000
>>>
>>> No need for this - please use GB(1) (see xen/config.h) in its
>>> stead.
>>>
>>>> +#ifdef CONFIG_RISCV_64
>>>> +#define XEN_VIRT_START    (ADDRESS_SPACE_END - SZ_1G + 1)
>>>
>>> I first thought the " + 1" would be rendering the address
>>> misaligned.
>>> May I suggest (ADDRESS_SPACE_END + 1 - SZ_1G) to help avoiding this
>>> impression?
>>
>> I will jump on this to say that I am finding quite difficult to
>> review 
>> code using define/variable that contains "end" in their name because
>> it 
>> is never clear whether this is inclusive or exclusive.
>>
>> In this case, it is inclusive, but within the same patch I can see 
>> map_end which is exclusive.
>>
>> For this case, my suggestion would be to remove ADDRESS_SPACE_END and
>> just hardcode the value where you want to put Xen. For others, you
>> could 
>> use (start, size) to describe a region.
> Thanks for the suggestion. I'll take it into account.
>>
>> Also, are you sure that all the CPU will be able to support more full
>> 64-bit VA space?
> I am not sure but based on Linux it looks like it is true. ( at least,
> they use the same definitions for RV64 ).

Hmm, the spec has this text in a rationalizing remark: "The mapping
between 64-bit virtual addresses and the 39-bit usable address space
of Sv39 is not based on zero-extension but instead follows an
entrenched convention that allows an OS to use one or a few of the
most-significant bits of a full-size (64-bit) virtual address to
quickly distinguish user and supervisor address regions."

Apart from that all descriptions look to assume that the top VA bits
are simply ignored for the purpose of translating to PA, which would
mean that any address within the 64-bit address space can be mapped,
and the same mapping would appear many times in VA space. I wonder
whether that's really how it's meant to be, or whether I'm overlooking
something, or whether the spec would want clarifying.

> I am curious how that can be checked.

Try it out somewhere?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 12:24:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 12:24:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516263.800110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phUrB-0002Bv-Fg; Wed, 29 Mar 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 516263.800110; Wed, 29 Mar 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 1phUrB-0002Bo-CP; Wed, 29 Mar 2023 12:24:49 +0000
Received: by outflank-mailman (input) for mailman id 516263;
 Wed, 29 Mar 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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phUr9-0002Bi-Kx
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 12:24:47 +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 b126cc2e-ce2c-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 14:24:46 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU0PR04MB9494.eurprd04.prod.outlook.com (2603:10a6:10:32e::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Wed, 29 Mar
 2023 12:24:45 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 12:24:45 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b126cc2e-ce2c-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=K/1RzJqoJvrMbDUato9JW20HWqlwiIu1cBV2F6DB8RrfMjYAIbSdlpjNPC+E0lXotTz2lD53XuJ+DjTy8IRV1xogpLs3RclgkNfBwdnydyjtsHkwpL492pFjamwgpiAGcylFXfoNB8rjbsMWCPpnfbrBB46jbEN5zLRXK/pjCrvV+W7IO52xcUL4YU9Ed7Xd9rWFnx7fjvc+VC63IIJqZHrQb0ivM5Kt5iLP5OMcGxGVzModEe5OQ+c35/HanIZriyKwg1guePrZeKdMyx9J2JtQIvhvIBPdl3xzhpktDQ/5ZnbTi6GaMTmPVtTvysKzJpCx32pMFnkBAANI9UgCRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dyYg3i6dNg+T7AwsZ7nfIl4RxewkaT43X+v0JHlgckk=;
 b=Ix1c8EWhpTV92aVhyql/WbkaTKL7Pbm2shDSDE6wCTT8KV7hmJpXOLqBKng025Kqt/9ZuONFAXVQgx/m3mD5zayfM0XCN71MDgTq55kAa9NU0vMFu4ZM9vbGvZfm/cXAXfRy5lusSiIg/NpGO7HM51Yg02GAhdBY8nzWKTeGAGZ09QobY121Eg0/ToWfD+NDVcsslETo01vAIg7XFW0gaAvruMhNIrdF5gdUqNRStDM/bkEs61W2E1LjUJkAKQLJTcUaPO5UIn8Cl1fLXkbIIIt2tb9ndV5i73clr6AAApDhK4WRo4rzBKQJV+Lki5tGaIh89V8Ym4Y4y+MNEmbOfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dyYg3i6dNg+T7AwsZ7nfIl4RxewkaT43X+v0JHlgckk=;
 b=ziDaWNBFrBrZNmpyKWgVV9dY8mZD54yU3SY/HmoBT0DdTNTlJ9b5BAC1fgonXo4Zx350hDYG8HE2G2oTi8wSkxd9ie94o9iZg1wW94ZRFUA5WxX96Ez9Wsl9MYoCh7NpGX7U1I5NIBM4g65AP2r1B/DRqahjQfLCuspOZsjjqMERSFRUJfZbA9sTgy0Q/fY6vLM2f/84KDR9WvJmH7Dd02e/w75a6fwrb3OOUdWSaLCQtecCkcOHvJIBhUs/7XnvexEzXtYqIK1n+QYgGkrzhIQRsOVWYwHagxi2Wvpiw7dOK+dYerkp1eiDLvq9gpjtD9VQhp8Nm25NtyHotEb5+Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6f1ac2d6-b772-e25b-7170-5de896aed612@suse.com>
Date: Wed, 29 Mar 2023 14:24:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v4 07/12] xen: enable Dom0 to use SVE feature
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-8-luca.fancellu@arm.com>
 <2846794b-8057-2f41-3082-4d6c6fcd3f50@suse.com>
 <B3F6542B-B6AC-47F1-A273-CC2E0F347E59@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <B3F6542B-B6AC-47F1-A273-CC2E0F347E59@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0133.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU0PR04MB9494:EE_
X-MS-Office365-Filtering-Correlation-Id: 609e43fb-019e-40ba-b347-08db30509479
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QmIB0JlOdZxyo9Iq13J/R76gB6BeXcBBJUeVwp81+wdzyjpmDzR7wk9ipBJMu16+NrSBxKQlrq7ZrkXQpGJ+FY3o8xhvVAn88V4wdhgrcOHtGu+o8zmq3xhIk4ca8Cjp52QkCAFylPezZMWdBZeJHgLg7djj9l7ey8MyM7I2xioE2N/ps/r1l9q0nAnQGGwrNxObr/+IhmCXw0o3bj7iaKOesIXOSNrASsGL8eX519cPpGkISKbyahgP2czIpYxMHxXCotBpLzYHhlzZFYvn0rZFWgGvioHOYHtUY9924TFcMeKEaCQsCbHkK58K9EqRuscwsMbE+76fs1aN46a8TzfOPGWxN/S4lNce9g/MYEXAQO2ONyVKjrvFirWRgxwXl5WrSgufA0qkzZdkR5D1KhMPm7hZUwu6+axzjNX1eGZyb7SPygGBVO+CUXHTrp5D7t2mK4+WhwTY0dpDYLyzhmT9+DfabL++KVYJ170/B8Q+lY4VCpRwQrJCpmhZzF96zbSv4PypeldLrkpj32KYaHDPcKe3HgGME85r6rdtgw/P5mh2hh1IqJR9gRGPJhBeqIYNQXxDrdNCnSfEwF424NqGTRSq5nGRonpOhzFVGWIlWtBFkqEngKOZhWDnerAjlLwr0JHDurAa4YQUGJiGnw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(136003)(396003)(376002)(39860400002)(451199021)(6506007)(6512007)(26005)(316002)(6486002)(4326008)(54906003)(186003)(53546011)(66946007)(66476007)(6916009)(8676002)(66556008)(31686004)(478600001)(41300700001)(7416002)(5660300002)(38100700002)(2906002)(36756003)(83380400001)(2616005)(31696002)(86362001)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S2tEVVZiQW9GbVFaYVNwREpMUklsZWkyOW1COEJ3ei9lckFoYnBZYUc2cC9s?=
 =?utf-8?B?QS84K1dEeUNQZVJPM1VKRUcrNU9mZFhTNGQvVFQ5dEhDZVZDVEZYTzRqbEV6?=
 =?utf-8?B?MENHclNZNzMxYUdMZmlEaGQrZGM3RXpGZlRnVXZ0cmNZL0xkUmRJV1Z2dFI2?=
 =?utf-8?B?dDdVL3RMa0Y1TVY2cUF1YkcvdEx0S1RuV05ZTjRKSjArZXhDcGVNQjJtdlF6?=
 =?utf-8?B?RXMyLzF1aEo2KzZkQkpaZ1ZGR3krSHM2SzhxdzlGRUVRZ2NrMHkyQlIwb24r?=
 =?utf-8?B?MXdsRi9JdGlwR2Z0dnpTNnpFQ0hkNGpMM0IrRkpzTlJkbVJOZUk0dW9GUGgx?=
 =?utf-8?B?RjQzUzR4QVVSSi9NM0JLdjhzaGhaak5kSzZWWC9DcUc2eHkyVFdkOTBFT2JG?=
 =?utf-8?B?WVF6eGh1MitpU2szNk9yczJPM2hjOWc1NkZsZXJQL2E5MVJtTXlyZ0FmTWpR?=
 =?utf-8?B?ckc3bFhjaE5CNUNFMGdPRlBUaFBGbk1YcDU2SDFiblQyRVViK3crLzBPQTh1?=
 =?utf-8?B?YmxUQ3VjaXZ0b3FrdVJwczFRdFhHMzNIekdNK091QzdGYkk0SlhwR0VhWFRD?=
 =?utf-8?B?eDZmaUpxeTJMVXBwck1HeVloUEVwdkRjVGl0RWVNNUVpbk9ubCtNVWVlR2NM?=
 =?utf-8?B?bDh0SjVKM2kzS3M2bFF1UFNtN3RtYWtuSDhpVCtOZnR0MmlKeDdGdHNpY29n?=
 =?utf-8?B?MmwzL1ZvdUNIOVpPdWZ5MkR4S1AvWnJreDdNUTNLSFZIbGRSVXY4V1VveCtN?=
 =?utf-8?B?VnpOWE5HTDlqYWQ1a2pNQkUyNGtKMjNMUGQ3M1cwK2pPMzd4ZUt5Yjk5ZnA3?=
 =?utf-8?B?RWM4ZEN4QTY3eVFrN3RxMVAzOW5mYXpDbHFrS1RwN2dmV284OUlCTGhrYVVn?=
 =?utf-8?B?OUtRWE1rRjhwVThBQ0VyUUl5b00xSVFMMWtPK2F6LzNjbVU3WGI5TWdUMURy?=
 =?utf-8?B?RTJ6RzlVbVpmcHhOUmRPYkwzVThMdlpqVzFUUk9vMTk1OTFMcGh5bXMzL2l6?=
 =?utf-8?B?SzQzUlFKYzhKSFFoQVl0Z0VlUXNrdGY5SVRhYjdKdFAwR0pWd3V6ZWcxN051?=
 =?utf-8?B?V3ppQ25wRDhHWjdld1pVRkJZV2tJVnJOWGdpSDduRENkTjg2M3MvZnlBSzNH?=
 =?utf-8?B?T3RhdVk5NjF3MnBTSmIwTkNrZ2xmeXduZ3g4bVdObnovMUI1MURKL2s0OVNO?=
 =?utf-8?B?UnpxbDhqNHhiUHlnRm5HNmRmWUU3d3FBeUxVb1NQNjRsT3ZFTEFNVjZ2b0hp?=
 =?utf-8?B?bUQxbXRWNzN0WXJLMjFmUTFOLzhGbXV0YitKTkNXOUtDNVo0ZUJMVk1tak5Q?=
 =?utf-8?B?alRZazBUdVNxT0NYT0lsNWx3RWluWTdiTDBVMFh1SkZjNXdOZkdHeGc5TUVJ?=
 =?utf-8?B?MlFxRTZyc2N0bmZHTVlUR0EwaEtjd2RNQ3N3V1hSRnlVNENsUWlyc1Uzd2pH?=
 =?utf-8?B?T1ZXSFk4RjFYU1VlbFhOcHlHQ2F1T2p5OXF5dVMrYnhmTldQY3J4QTVPYlVn?=
 =?utf-8?B?cEJGa1NOTkVoZHhpZlFlcHRvb1pyZk1RN2ZhSDBKQkZoWGdmbUF5N1BoSTdK?=
 =?utf-8?B?SEFkckppTWxTdkpSZFpkZDd3VnZ5ZVJ4bmh5dmdEYWtFaE9iWjcvZnhOWTlC?=
 =?utf-8?B?NGtnaGpiTHhDWnNjNVh6RUx6Tnp1emd5QlpvYk5Vd3BwYlFYK1orcE96M2Vl?=
 =?utf-8?B?dkVmcVN6bGt4MGx0a29PYitndGorODhYZTFiUVVKSjlhZTNIY3RuZE41c3Fq?=
 =?utf-8?B?UDk3ZkFuc3BsUDh4UG9OOVJhRjNJM2MrWlpCbG1hRzd0SjlZOElTQUJIMXFC?=
 =?utf-8?B?WnJMdVNhQjRONE9EYnl4aGlWTXBxMTJ4cFYxUE5hTmtma2d1S0dMOUJhQWlM?=
 =?utf-8?B?eFhCRWdhazRaREYvSUJuUDhGT3Qvem9wekJDbEx5NDJ4aG5QVDhGSkFWam56?=
 =?utf-8?B?ZnkvaXFGZC9JTGRZRnBnZWVSbHRYS042SWNJME0vbG5LeHpackh2WWJLak5E?=
 =?utf-8?B?ZDlZMXNsMHFvVXIxaHFadGg0anlLbmpsSXNjYWxLUFVLQlpqZTdhWEtNVHBw?=
 =?utf-8?B?clN4SmFqQ2Y0dE9VdytNUFJnR2xseFhvOGhDcW5jZ3BJRDVxTUR6RkFIVGM0?=
 =?utf-8?Q?qyqzV1ZVGLfpE1+z6Zzc8k6A+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 609e43fb-019e-40ba-b347-08db30509479
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 12:24:45.1019
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ww+azxNlzjOpGC/bPcDvFO7SmZNC+ZxF9ptKSaTmUT6HeUKkO/92xx9x3+Qr37YVQa0sZNCwK3kl9HCnjjljfQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9494

On 29.03.2023 14:06, Luca Fancellu wrote:
>>> @@ -61,7 +62,12 @@ custom_param("dom0_mem", parse_dom0_mem);
>>>
>>> int __init parse_arch_dom0_param(const char *str_begin, const char *str_end)
>>> {
>>> -    return -1;
>>> +    int rc = 0;
>>> +
>>> +    if ( sve_parse_dom0_param(str_begin, str_end) < 0 )
>>> +        rc = -EINVAL;
>>
>> ... can't you call parse_integer() right here? opt_dom0_sve isn't static,
>> so ought to be accessible here (provided the necessary header was included).
>>
> 
> Oh ok now I’ve seen why I’m doing this, because ops_dom0_sve is compiled only
> when CONFIG_ARM64_SVE is enabled, so I’m using sve_parse_dom0_param()
> that returns negative if that option is not enabled.
> 
> Otherwise I should declare ops_dom0_sve anyway, but I should not accept user
> customization of it if the option is not enabled.
> 
> So I thought the use of sve_parse_dom0_param() was the best way to handle that

Maybe. But please also pay attention to the existence of no_config_param()
(as in: consider using it here, which would require the code to live outside
of sve.c).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 12:39:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 12:39:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516266.800120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phV5N-0003po-Pq; Wed, 29 Mar 2023 12:39:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516266.800120; Wed, 29 Mar 2023 12: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 1phV5N-0003ph-Ln; Wed, 29 Mar 2023 12:39:29 +0000
Received: by outflank-mailman (input) for mailman id 516266;
 Wed, 29 Mar 2023 12: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phV5M-0003pW-5o
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 12:39:28 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd3dbb09-ce2e-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 14:39:26 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7807.eurprd04.prod.outlook.com (2603:10a6:102:b8::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.34; Wed, 29 Mar
 2023 12:39:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 12:39: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: bd3dbb09-ce2e-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c9s+mfdrpewzRyFR8bKKfFdw36yUoFQ4hCyfLei3oGr7YWsY2G8UyYkbKbdEqEufMgx5HxoZyDU9A4fWo77HOhWxBuAVt0i9Xu5bU4AJe7msXF8j+0YhODLsF1vxIEBYGmvwwGvUgyf/HlgIJc4nyKoG/lTt4J56wcgWbLFizRMp5uh+xnV1FgG6F5yH6qLdRHKtPpn1fGOO0BV4iQj+4i5yvYvOY69Cg8APcr7HZAMe7Rpx17ZS6gwouB5qs63H4i0kECT/OExLYB8KLCUx+dvJ2Gw0ft9FQaYnz097k99PDpJSTbmzMpCzkOSA1/pxoPyBvg3D6Tq0/kHC+ZIKEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2G2f/T67qJji4pmNb8rtlag+GnESLtkQshqk1X8WSAk=;
 b=St6F7JoMnVHlyqCw7NGKGCCOabIQg2z2wGODhfAHn8g4mSrX0tYplXdngr2RXDe44Mm4W3ewtMgS/hSwWi5sZsRbRvRolyvlLBw4Kpreq2C+TSYw4AG4lvbHqyinCNzvqZHQOBEjr5RgGJ4KIvI22tgyJKtpREayyUVzIVjPcZZE3F5ZzsFISEkhZ+nxFI53NbQ0y8iRH5u/r9tUDDyb6x4c5YZA0YM58ljuBMNj70KNW10wvCDfxgkpbQ0ob2nBQkqk6M5LhS7cuxQF2ns2Yo3IR3VC+0hsDhRgT+6+6UvCfZj2UFmduURCrN2kX9/LlxXWgbt8M9k7N+kmdQXSHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2G2f/T67qJji4pmNb8rtlag+GnESLtkQshqk1X8WSAk=;
 b=LY6NXMBsEBKnaRD2gB2pIepbiKU1+lrfEUAD3cJuFVlgrIJ5MHCmMk7rRe97r9ypt4blR4s1DL7xgCOC+KejCY0J59kO2cGHMukBB5HIo8JvA0DNgDIFS8hwsp3XaKPeT7ySXPTz7LktCxrQyuZ7T3nffuueDAqz3lHlzguWLvP3BSJonsIz9Jfp9JbDfQnJoLoIT/3GF/mmofWXRZ/BWqjrrpwS/720GU4L4VBTBtVeW8P627NMAfRGbTsB/UqnbQg1LNPv4UcBTdAaxf0bSjqhtMoP4FzX24jt+Ccj2c7/9hNwmWElNEe0WEa/oQcE6e26958Myvo2dAUVrAlFEA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2c689aeb-db4a-f2a4-d1b2-31f1283c0de7@suse.com>
Date: Wed, 29 Mar 2023 14:39:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 1/2] x86/mm: add API for marking only part of a MMIO page
 read only
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Paul Durrant <paul@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.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
 <f5381e06d92cccf9756ad00fd77f82fba98a9d80.1679911575.git-series.marmarek@invisiblethingslab.com>
 <e238bffa-5eba-b18f-ed73-1c5c9730cf70@suse.com> <ZCQYLkoSfZ7klmNC@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCQYLkoSfZ7klmNC@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0128.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7807:EE_
X-MS-Office365-Filtering-Correlation-Id: fb9ea86f-b880-487b-4242-08db3052a08b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	55Sm3/ttYXKkvQhyVcNw6aLODr96jVucN+5/fgUlxwepdPn7kaNqFgz3ZgV6v8kPmIMc2N5jOotu+AbNGJqIFZMr45AXQbfDL700Xz+WJl8I8P89s96GJtG9Q5jxO1oI4qqwjWPstxuEchKGmyaUJrWLgoyWn4aAyjKVvZajw0yS9U9JoY85kyHXv/4BC3AytNMwfMroA3c06K5HzqwPOpKOPp4M/1t98/75Fk7aQUGLVPs8VTK+9lHSTLl2bGvOs+ZpHS80qqhj23qIG1sMcSpHy6wRKiiFZ6QpBun2dsnqHq/ZAP1BeiDkVl3ecFYF42sYoOezjgEdbLVeCwHSCmkphf1StM4xHhNgG/SWKFIo/M7WF/fFdlG0Z8yThPo4m8U0p3d23sI+cWc6Ziz3WwjIkC98EDqyvkRXJhhcCjuz6ZjNdWsieS4srGmh7HSZcqAJbQzuDyUCRph1fLKFqLo3qXbtzmz2l1qHecUiZrvgdYrIMv9S0tbAqzN8Rjj0XqhU978/ixG13N+BoiMmRjZgnszi6E9RyvdMO16Q/KpU8FKM9x5a0BonQ0qwq7HQ5TWyoKsNe77aHgrxF2qRQ3cgZMASE2VJBlbuHCmAZC9uOA9nL0N7t13O7HGcBueG/p/R4T061Z9U1h0jj03hOg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(346002)(39860400002)(376002)(366004)(396003)(451199021)(31686004)(478600001)(2906002)(31696002)(83380400001)(86362001)(6486002)(38100700002)(5660300002)(54906003)(6512007)(26005)(6506007)(316002)(53546011)(36756003)(8936002)(66476007)(186003)(2616005)(4326008)(66556008)(66946007)(6916009)(8676002)(66574015)(66899021)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?alQycjVra04wY0RQK1RhbGtsQ1haUGF5ZmFyaExnbjUxUGhQeVNyTjdMMHpp?=
 =?utf-8?B?aVVFbmkyRFFTTk9rb2lQZVRIazQ3NHNhZytUMjhodHlnb3hzajhrdXNDM05m?=
 =?utf-8?B?cCs4azkyc0pZTSt5cVdlVHM5aTRrclVVendDTHFpcjN3bEJ4VC8rWVhBayt3?=
 =?utf-8?B?cXR4bE1oNEFCak55L3FkTGRaMklNbmhNQk5ETi82OUszRUtHQXRvWlNmRjZZ?=
 =?utf-8?B?OHp0SVNSUmxMN2F2QUtuRWNjSm92aEo2ZEx0S3I0S1YvVkE5YmJtOTN4KytF?=
 =?utf-8?B?UXkwR3lybVR2REFtM3BQcm91N2FTdEJQdkcwSktZQnNXRW5yREpYMnZvT2lv?=
 =?utf-8?B?MDNIcDg0WHJoUE5OMTRQT2NHMmkzNjlkeUVrMEYvREo4QjY5dGdSK2VKNE4w?=
 =?utf-8?B?RmdRSy8zSDlEQ1BRbWxKMEhwS29rMFB6bU1aYkJZUmVuV0crSXRlSmw5TW9j?=
 =?utf-8?B?aHNSZ1V6SFdnTGJKMVI2ZzN6TDZSbVBCQUExNGRFa3l2NE9saERnK0VVNHJh?=
 =?utf-8?B?WFYzTUl0cWU1Z3hoOHFhSmRvS2pwZytQNTdIblFrbEpjRlFzWkdBT0N3RGNL?=
 =?utf-8?B?TFcrUlhFUHZCMzZnQzNtaFJWK3BWRzYvaXM0UU44Z0pPakZWZFZHbjBsRFM3?=
 =?utf-8?B?b3FNaEttNFE5c1VIODJSaVRBaEpJTkZBSThMRjA2dDFzM2RUTHpCNTRTSG02?=
 =?utf-8?B?SmxFaFk5YThMK0RVTk9tYk16T2p0ZnA1YWdqVktEVXN3T1pyRDlnNko4VWZZ?=
 =?utf-8?B?UmN3NlpzVkUzZ0RQYTR4dUdUcHVhWkhBWCtIU3pQUE9sNXlTZ0pBZ2t0UUc1?=
 =?utf-8?B?SUNwNHoraHlzbWJuUDI0U2N3RmhjZEl2RWFwOUdwWFYvMy95SkRNd2s0d3Fh?=
 =?utf-8?B?NEZ2Tnh4VDk5OWQ5bDUvRGQ5M0hqaWdHL1dzc01SRTBJaVpIZldmNmRkVnU5?=
 =?utf-8?B?cnc1ZkZkQk9UVlRIUVprd095WjR5RWNpbW9JeXJuczNMYmt5NDZWQVhReUhX?=
 =?utf-8?B?Z1lTdnFZQ3huMStpcGpkRG9mVzFVeXQ0ZExTdUtKRDFFVzZVLzYvVnFkUHM5?=
 =?utf-8?B?bUlnejR5NlJrWmxEV1QvNUZERXhqTWU4NjdVeFJodmNETnRxQkJ0ZkRBRDN1?=
 =?utf-8?B?cSs5a1NPQi9sMUgvL0QyU3VDUGlMU0FyRzdRV244NzBnaVRPZFhuTTR4dmxp?=
 =?utf-8?B?dG9TL0krLzBjS1ZTQnRnWStjQk1hSTNtQjhqcjhkK2dhdXNVb3pRR1B3RmdJ?=
 =?utf-8?B?QUFqdVVmam5KT1dvNmtaRktUbTJIcENBajk2clpkYXNveGE3L3Rkc3VBS2ln?=
 =?utf-8?B?N3dZNlg1Z0RKQmE3NjdEcFZGWG05ZDdJNTZIc0RBZDEyTGYxNjVqQ3ZzRjBr?=
 =?utf-8?B?NkVhdSthWFF1VVNMVnJmRG11WEdpd21vbTdhVG9vb0JIVUJ1NlcrOXloa2lC?=
 =?utf-8?B?ald4Qkd4cHhjVkhLVTJ4eTFxZlh6VEcwQ3ZscUY4RkZzYVR5RWh6YSt3dVk1?=
 =?utf-8?B?UXRMOFBEcnBOa3VjR24zN2VOVTdVbWloalJ5M3R3M3Z4cDlsVG5LOFpYTWFv?=
 =?utf-8?B?M213bUt4S1FzOUhVOE1OSTh6a1ZxU3owWm96eVFEK2ZkRGY3ejFrbVVLWm1v?=
 =?utf-8?B?Rk5Sa2hvWENxem1ROXVWV1l1cjJnampDUk9ZekQ1UVQ2SEdhUmFUd2hsaXJr?=
 =?utf-8?B?QkZheDl4REJsajBMU2ptbVBVZlduNDJlaEozM1JiMXlQZHY2WTExN3pNTTkw?=
 =?utf-8?B?RTQxdzYwRlVrZmFPS0x3Z2dka004NE5uZzVCdkdXd1dWRk1LcnpNWURYeDJo?=
 =?utf-8?B?cW01TXA0OU9rUlhuT05rM0c4cEcwY3F4OVFlQTBiOXFtWEs5c2xpZENSb2t0?=
 =?utf-8?B?bld5VG1RT3d1QmJlMlVRaW0wYUxSMFh1bkxOSklGNlRpTEtjWmpEL21OeHd1?=
 =?utf-8?B?N3Y2QkduQVpjd3lJRnpyNzROOVo0OTBiMTd1UzFYR2lmOG8wRTNPcXpwVlJp?=
 =?utf-8?B?V2NSRHBxUGVwTjBaUUJZYVRpS2Q5N1JMdWNlV0RUWDNrOVVURGhQK2FHU3ph?=
 =?utf-8?B?RUdCbTNZWHdYbyt2S0c0WEVPRXJGMjBWRjgrRXAwUERBaUtUZkdteHNNRVNH?=
 =?utf-8?Q?taRqqiO9Lb/Pxf6uSa7mgifgp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fb9ea86f-b880-487b-4242-08db3052a08b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 12:39:24.3413
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5DdQq0xqLgGyzaNMa9cB4jIb6MaClmndOG/z/L/OX545fOoy+k4dDuG1Gvkps8MFuFQLe3KJZhriMtkhpyJuBA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7807

On 29.03.2023 12:51, Marek Marczykowski-Górecki wrote:
> On Wed, Mar 29, 2023 at 10:50:20AM +0200, Jan Beulich wrote:
>> On 27.03.2023 12:09, Marek Marczykowski-Górecki wrote:
>>> In some cases, only few registers on a page needs to be write-protected.
>>> Examples include USB3 console (64 bytes worth of registers) or MSI-X's
>>> PBA table (which doesn't need to span the whole table either).
>>
>> Yet like the MSI-X table the PBA is not permitted to share a page with
>> other registers (the table itself excluded). So a need there would
>> (again) only arise for devices violating the spec.
> 
> For PBA, indeed (and due to not seeing device needing such hack, I don't
> do that for PBA yet). But the XHCI spec doesn't include such limitation, so
> this case is perfectly valid.

My remark was merely because you mention PBA in the description.
Mentioning it is okay, but you would want to further qualify it, I
think.

>>> Current API allows only marking whole pages pages read-only, which
>>> sometimes may cover other registers that guest may need to write into.
>>>
>>> Currently, when a guest tries to write to an MMIO page on the
>>> mmio_ro_ranges, it's either immediately crashed on EPT violation - if
>>> that's HVM, or if PV, it gets #PF. In case of Linux PV, if access was
>>> from userspace (like, /dev/mem), it will try to fixup by updating page
>>> tables (that Xen again will force to read-only) and will hit that #PF
>>> again (looping endlessly). Both behaviors are undesirable if guest could
>>> actually be allowed the write.
>>>
>>> Introduce an API that allows marking part of a page read-only. Since
>>> sub-page permissions are not a thing in page tables, do this via
>>> emulation (or simply page fault handler for PV) that handles writes that
>>> are supposed to be allowed. Those writes require the page to be mapped
>>> to Xen, so subpage_mmio_ro_add() function takes fixmap index of the
>>> page. The page needs to be added to mmio_ro_ranges, first anyway.
>>> Sub-page ranges are stored using rangeset for each added page, and those
>>> pages are stored on a plain list (as there isn't supposed to be many
>>> pages needing this precise r/o control).
>>
>> While, unlike Roger, I don't want to see mmio_ro_ranges' granularity
>> changed, I wonder if a bitmap isn't going to be easier to use (even
>> if perhaps requiring a little more memory, but whether that's the case
>> depends on intended granularity - I'm not convinced we need byte-
>> granular ranges). I'm also worried of this yet more heavily tying to
>> x86 of (as of the next patch) the USB3 debug console driver (i.e. as
>> opposed to Roger I wouldn't take anything that's x86-only as
>> justification for making wider changes).
> 
> Well, it's still under the very same CONFIG_X86, and for the same
> purpose, so I don't think it's "more heavily tying".
> 
>> As to sub-page permissions: EPT has, as one of its extensions, support
>> for this. It might be worth at least mentioning, even if the feature
>> isn't intended to be used right here.
> 
> Ah, ok.
> 
>> Taking both remarks together, limiting granularity to 16(?) bytes
>> would allow using the advanced EPT functionality down the road, and
>> would at the same time limit the suggested bitmap to just 256 bits /
>> 32 bytes, which I think gets us below what even an empty rangeset
>> would require. Plus lookup would also be quite a bit more lightweight.
> 
> Indeed, in that case it makes sense.

Hmm, I've checked the SDM, and I was misremembering: Granularity is
128 bytes, which might be too large for the purposes here.

>>> @@ -4893,6 +4906,172 @@ long arch_memory_op(unsigned long cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>      return 0;
>>>  }
>>>  
>>> +int subpage_mmio_ro_add(
>>
>> As long as patch 2 is going to add the only users, __init please, and
>> there's no need for a "remove" counterpart.
> 
> __init makes sense. But as for removing "remove" part, I'm not sure. I
> realize it is a dead code now, but it's easier to introduce it now to
> provide complete API, than later by somebody else who would want to use
> it in other places. Is there some trick to make compiler/linker optimize
> it out?

At the very least you could also mark it __init. There are also the .discard
and .discard.* sections we handle specially in the linker script. But no
matter what you do to retain the code without impacting the resulting binary,
iirc Misra tells us that there shouldn't be dead code.

>>> +    mfn_t mfn,
>>> +    unsigned long offset_s,
>>> +    unsigned long offset_e,
>>> +    int fixmap_idx)
>>
>> enum fixed_addresses?
> 
> If that parameter stays, yes.
> 
>>> +{
>>> +    struct subpage_ro_range *entry = NULL, *iter;
>>> +    int rc;
>>> +
>>> +    ASSERT(rangeset_contains_singleton(mmio_ro_ranges, mfn_x(mfn)));
>>> +    ASSERT(offset_s < PAGE_SIZE);
>>> +    ASSERT(offset_e < PAGE_SIZE);
>>> +
>>> +    spin_lock(&subpage_ro_lock);
>>> +
>>> +    list_for_each_entry( iter, &subpage_ro_ranges, list )
>>
>> Nit: Style (either you view list_for_each_entry as a [pseudo]keyword
>> for the purposes of what blanks should be present/absent, or you don't,
>> a mixture isn't reasonable; also elsewhere).
> 
> Which version would be your preference for list_for_each_entry?

I have no preference, and I'm sure we have ample examples of all forms
(including the mixed ones that we shouldn't have). There's a
for_each_online_cpu() in this file, using the non-keyword style, so
if anything this might be taken as reference. But I didn't check whether
there are any other uses of keyword-like identifiers which may use the
other style.

>>> +    {
>>> +        if ( mfn_eq(iter->mfn, mfn) )
>>> +        {
>>> +            entry = iter;
>>> +            break;
>>> +        }
>>> +    }
>>> +    if ( !entry )
>>> +    {
>>> +        /* iter==NULL marks it was a newly allocated entry */
>>> +        iter = NULL;
>>> +        entry = xmalloc(struct subpage_ro_range);
>>> +        rc = -ENOMEM;
>>> +        if ( !entry )
>>> +            goto err_unlock;
>>> +        entry->mfn = mfn;
>>> +        entry->fixmap_idx = fixmap_idx;
>>> +        entry->ro_bytes = rangeset_new(NULL, "subpage r/o mmio",
>>> +                                       RANGESETF_prettyprint_hex);
>>> +        rc = -ENOMEM;
>>> +        if ( !entry->ro_bytes )
>>> +            goto err_unlock;
>>> +    }
>>> +
>>> +    rc = rangeset_add_range(entry->ro_bytes, offset_s, offset_e);
>>> +    if ( rc < 0 )
>>> +        goto err_unlock;
>>> +
>>> +    if ( !iter )
>>> +        list_add_rcu(&entry->list, &subpage_ro_ranges);
>>> +
>>> +    spin_unlock(&subpage_ro_lock);
>>> +
>>> +    if ( !iter || entry->fixmap_idx == fixmap_idx )
>>> +        return 0;
>>> +    else
>>> +        return 1;
>>
>> If this case is really needed, this special return value (as documented
>> in the header) probably needs specially handling in the callers - it's
>> not necessarily an error after all. But I wonder whether it wouldn't be
>> easier to check earlier on and fail right away (with e.g. -EBUSY), 
> 
> The idea is to allow multiple sub-ranges in a single page. Again, if
> using ioremap() internally, instead of fixmap provided externally, this
> case will go away.
> 
>> rather
>> than adding the range and _then_ (kind of, as per patch 2) failing.
> 
> Right, I missed "!= 0" there.

Hmm, adding "!= 0" won't make a difference, will it? Adding "< 0" would.

>>> +err_unlock:
>>
>> Nit: Style (labels indented by at least one space please, also elsewhere).
>>
>>> +static void subpage_mmio_write_emulate(
>>> +    mfn_t mfn,
>>> +    unsigned long offset,
>>
>> unsigned int
>>
>>> +    void *data,
>>
>> const
>>
>>> +    unsigned int len)
>>> +{
>>> +    struct subpage_ro_range *entry;
>>> +    void __iomem *addr;
>>> +
>>> +    rcu_read_lock(&subpage_ro_rcu);
>>> +
>>> +    list_for_each_entry_rcu( entry, &subpage_ro_ranges, list )
>>> +    {
>>> +        if ( mfn_eq(entry->mfn, mfn) )
>>> +        {
>>> +            if ( rangeset_overlaps_range(entry->ro_bytes, offset, offset + len - 1) )
>>> +                goto out_unlock;
>>
>> This case ...
>>
>>> +            addr = fix_to_virt(entry->fixmap_idx) + offset;
>>> +            switch ( len )
>>> +            {
>>> +            case 1:
>>> +                writeb(*(uint8_t*)data, addr);
>>> +                break;
>>> +            case 2:
>>> +                writew(*(uint16_t*)data, addr);
>>> +                break;
>>> +            case 4:
>>> +                writel(*(uint32_t*)data, addr);
>>> +                break;
>>> +            case 8:
>>> +                writeq(*(uint64_t*)data, addr);
>>> +                break;
>>> +            default:
>>> +                /* mmio_ro_emulated_write() already validated the size */
>>> +                ASSERT_UNREACHABLE();
>>
>> ... as well as, in a release build, this one wants to ...
>>
>>> +            }
>>> +            goto out_unlock;
>>
>> ... not use this path but ...
>>
>>> +        }
>>> +    }
>>> +    gdprintk(XENLOG_WARNING,
>>> +             "ignoring write to R/O MMIO mfn %" PRI_mfn " offset %lx len %u\n",
>>> +             mfn_x(mfn), offset, len);
>>
>> ... make it here. (By implication: I'm not convinced this wants to be a
>> gdprintk(), as I think at least one such warning would better surface in
>> release builds as well.)
> 
> Right, gprintk() would make more sense indeed.
> 
>> At the same time I don't think any message should be issued for write
>> attempts to pages which don't have part of it marked writable. We deal
>> with such silently right now, and this shouldn't change.
> 
> At least for HVM domains, it isn't really silent. It's domain_crash()
> (before my change, not reaching this function at all).

Well, yes, but that's one instance in the lifetime of a domain.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 12:51:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 12:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516270.800130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phVGx-0006Gl-02; Wed, 29 Mar 2023 12:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516270.800130; Wed, 29 Mar 2023 12:51:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phVGw-0006Ge-Sv; Wed, 29 Mar 2023 12:51:26 +0000
Received: by outflank-mailman (input) for mailman id 516270;
 Wed, 29 Mar 2023 12:51: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phVGv-0006GY-UU
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 12:51:26 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20626.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 680fd8b4-ce30-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 14:51:22 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM0PR04MB6945.eurprd04.prod.outlook.com (2603:10a6:208:17f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 12:51:20 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 12:51:19 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 680fd8b4-ce30-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I3fgq/nmIfYSDNI9Zb+VIJMzSFZBJXTSL+O/O/5ino2hKqE6+pQgGW25d0o7Jap+j0xkGcOHqzcS8zhsrReCLxNH3WlqoF6ltvXFw26YARF7Sx06aeD4h0l3bWD4xtODKGPr2ILyHLu6CErWulST2rh4koafGAvLJfrAnOZNaKuxzX2MXEC7NfdvonDMIicAqujbfu+6l5jBZ2WhMa1ol0Ac2tPrQeyVyBnAONoR2/puOOpZDTmdoyTOs/6uhYKyYy5joz0qSHmfUxxcC8WnnLLC4WiG2EVVV3wXOSDMoz+4MFPgPaadjauRfSqtG1Db7qcSNUtH39mjHJ4Jg73L6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9T39mK3XpB8Qy8WK3dRWFWUJy9x62EEydfVSESKViGg=;
 b=llyTdefLIRIDiTlRSebVjC5D4vVYQD0z6+FLxseAcCO0wx2Rd4n+I0IPlNq0SdUzNNGEgqt1GQwMwFzIFv5ULKhEaDqvBq9tl9XWxRs/sj+EKZZn+9ZIAfFOCVUQDKNPKyBadzMDudqALmLf+39aZj5HwtGv5u+CjoD/QKAE5Xp7WpOPDDrKinK9fF8kB97G4ahJexOHRy1APv0SQOoVzXeb9peGBv4OWaH14+GIaR4ARqfYXiXQfOSdrW86Ob2IwGsZmwme/biN0sthiFE+/zYaH5kB2jhGQ9BpRP94rQQBpgUZ2hz2ELoiPB+xTRQzbGX0AagCKSgyUcjag7abFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9T39mK3XpB8Qy8WK3dRWFWUJy9x62EEydfVSESKViGg=;
 b=r25B1oHOqyNtso8q2HYddFLOwSDn96PNLfNmU87YNK/8y4hntGwREDHPqmRk5z4pxXnCJp3PamgfJVwctD1uuQI9OvJDUwCi9E3tu87FaQQ+qyKpK3GQEd6Hzz/texp16Sy7tziD8a6ay6a1U6CYDjlZ/dp8cFwPldAZu5Zu1onp9hO+p8IWp38noT1K6NN9aysK5rlzPak7LBHsfQWbIcjdBPdDo/y+CtJpdL/NtOfVOHO5t6VRi1JWreuVVu9BDtQe4cEjbJx22sNfovw9kBWF/RZVC6ZTH4jY64gznUxWEJJ5NveTI0Fz5xZg9MgPefL9qalsM/305VZ9keKU5g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b07d8fb7-c99a-ecec-b69f-6c8c4cebdf5a@suse.com>
Date: Wed, 29 Mar 2023 14:51:18 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH] vpci/msix: restore PBA access length and alignment
 restrictions
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
References: <20230329101810.84726-1-roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230329101810.84726-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0199.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM0PR04MB6945:EE_
X-MS-Office365-Filtering-Correlation-Id: 9d787569-de2f-4bb1-60d1-08db30544ae0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FtYrR6CThIJwmrt6HHsjy0E5w6Dza4WCNlsMRN1AvLpTzdFZPt5mcKQ63Ro/q7KwJ6/8JLtGVO+ZxgkEkClT04o+83FAqesvS3biQmMlD0NdEAhlV6sdQCxP6Y1jOdX9+BSVR8EG0a9CmXT3OjL3LC/TLx7bPMRmFBgtT7nGA+Yn9Xz+duldYvozMpdNfPoCYpWAoQJoR/v0DUcXQuYKK768paOpIbDnQPJbw2oYLNMQYoTLqfktK3y+xhhUURPB5Q9n13xBZ05SjIQZ2wqpIoE70Kj2mvkZwHl/WFih5cxY43wm8fRaWqCTG1lDA2zbX4NdZXOD/UYrBTZ3RUJ9iNSfqFuYkdPNvXYnKv17zor7GRycU5GhA9UdD+ulgxSSDXVtdGGovbQZ301rkdfQGoiL4PyYs+IFCnkPDbmpIJIazy9eu4yYlNBn+hGcK1QwosxGaPAQJSeVtfWYxzozcD40b7YxkAJNwXn4ZnJwyHBwmwfKoWXR6aAF0GOXr06J0lyBq0q034Y/AyWoXdZRs4WQckT+jCyeZp0oa+8/anEGk/FqWqIW77x2tmTw9VD9Q+uduR7Kp9Y1cxg/GMkqrkiXi4kpI8Kic/p32Z3BiIwGBYpSf09QszRKPtB6n6mMaT71UrB8ErAsen0gQd92TQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(366004)(39860400002)(346002)(136003)(396003)(451199021)(31686004)(83380400001)(6506007)(26005)(53546011)(478600001)(316002)(6512007)(36756003)(4326008)(6916009)(66476007)(66946007)(66556008)(8676002)(86362001)(31696002)(41300700001)(2616005)(38100700002)(6486002)(4744005)(2906002)(5660300002)(8936002)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VkxPNlU0OXYvOHgvWWJuMXlkZHFjakJhOHRtLzJmUENJTHo5QmlXM1NCczVF?=
 =?utf-8?B?ZFJDRnJjeTlQaFVLdHd6cEhsblZrZkF4Z1E4YWpGN09Xd1dIVXpIYXFuVlZ1?=
 =?utf-8?B?cWhDLzErMnJDL0ZETktVS0kwWXF4NkNtTEM0SnVDK3RmcFA0MG1abXJjV2dM?=
 =?utf-8?B?cFQ0MG1FSHJ6V0VJUTF1NEFxL290UDFLN016SFJDdjVhcEJSU05SSUNpclpC?=
 =?utf-8?B?aE0vSHh5ZXBObzAxRGRkamxtenZxTTZiNHJINnlZWG54UmwxaEhVRkNNb0NS?=
 =?utf-8?B?TEM3aUxSWHNpUy9rWTc3T0k3cjZrTmtIMlNySmppazVjMjRVOHYyTEI4eFV0?=
 =?utf-8?B?eUc0WDhBWXNneTI0L1pWSGI3dEkxZG4xamZJR3c3bzkvbVhxLzQxUmVGV2dx?=
 =?utf-8?B?RXduYVhVVVpFN0VEVzhBMXBvZ0lOVFNMNVlRMWxJdzI2YkVjUUIwMWMwOXR3?=
 =?utf-8?B?bmJ5bHBueDlqNjdIZ1lHQTEzUU9ZOUJ2bTk1YXdxMHFHUWx6NVY5am5LRDRn?=
 =?utf-8?B?cEN1RDhiQi80Q3FGQ0FISHRqYUtRR0QzVTZzR2o5a25nZ1lGNWtGL3FYTS9L?=
 =?utf-8?B?bTdZeHlYemkwNjFQbC9FcndWdDFkMGc1SzhxTzlXanlxSi91MXFCOFFoUVha?=
 =?utf-8?B?ZHVWOVdZVUY1YUx5aTFpbUU3RWVrLzlEVUNqdVFjMFZJdklCWFVMQXdxbW8z?=
 =?utf-8?B?ZjNLUlphcFBqdnQ4YU9JeERiN0JKVndEQ1NiS0UrMW94SXFqRDZSTi9MVUdt?=
 =?utf-8?B?ZFZMMXgxcThJSzFRa0pMVDBIU3luVHk5dDlKU3VyMlFISXpvZ29jS0VHUEVr?=
 =?utf-8?B?RTFoOFhrTGNXZjEwb0ppNzR1RzZkaFEySWRtRmxFMjNJREZ4R2F4Yzhwcitn?=
 =?utf-8?B?ZlF2RlFEamYyWjZzcUJmNjlXN1V4SjdvTjRzcWdBTmlHbW9YckNJczZwWk9w?=
 =?utf-8?B?SmRyazQrc2lLbXUrYU5lL0dOa2ZKeVRXdjRWYVBBWFpYNnpicVdBZ3V1dWpR?=
 =?utf-8?B?U2RjRDBsQ1lWUzdTSW9kb2lHVXNxS1BlOFd3NnVhWjZTU3lBM2NBYVVVRzN2?=
 =?utf-8?B?SFh3UlhVb1BmS1Q3dVhaZm85Z0ExZ2djMTl6clVMSExTN2RUeWdSK0VKV2oy?=
 =?utf-8?B?bkNIWStsUjFZc0ZjTDJ3bldxUVlBOHpXQjIvc0pIKzAyK2lyenZkUFgvNzk5?=
 =?utf-8?B?T2t6TE9CK0pqNDZMUklWdWx5RVRqT1FuaW5CakFiRmJWbWVHSjl2dTFhcTAw?=
 =?utf-8?B?cFdHS3MvYWhMK2RNeFlsakJrN2pubDBQMWZvY3U4SHE5UlkwVktBMlJ1NHhX?=
 =?utf-8?B?R3g0ZWNzb2J0TXFublBpYi8vczY4SnVJUmcwMEhya000cWlqL2dzWDJxSlVN?=
 =?utf-8?B?bGR4OWJhMExObHY2ZjhKS2p4dnRyV013RitNNm9sVTVPQk1KejdSalE0Z05H?=
 =?utf-8?B?Wmwxc25FU3FqVkFMNmNsYno4clRMSDFGeW1kV2g0NjBudm1oV1BqR3VpOXpv?=
 =?utf-8?B?RWVLQ3kzYlhtYlhoVjNZVjI2S2IvcVZVejA2NVg2M1FKc0M3bDdjUWFNR1Rm?=
 =?utf-8?B?UlEzaU5RMXU1Vzk1ZG9CV24rWjJQTXlrZkVtTG9Eck10RTgxeEFURVh5a3l4?=
 =?utf-8?B?bkdReXJvSm9kaEc4L1lxNXlva2pGTUhOdGROYXlFMUZJZldwcUNKTjlCcWVU?=
 =?utf-8?B?VXowdWZ0Wmx1aHR5L1RMK0p4U1hBVWw1aHFEdDVFMm9MRVpxbnd2VFR1Slky?=
 =?utf-8?B?WmVoNmluWUh2cnJ3TFMySmxMQ0tXSGIyaU5hQ0hnTlY2KzhielBHdzZCaW1I?=
 =?utf-8?B?R3h6YUR2d0t6QmFRL2djU21XQStmZDROTExRWkV0Ylk4Q3l2QVlTUU82TkNT?=
 =?utf-8?B?QU5DVUhrbEhVRDlzLzJuY2hBNERNZnJNT1c0RlY5dCtLU2VzYktabmI3NHYz?=
 =?utf-8?B?V04wYS84bzkyQnlWajhydXFxSkhqZlY0ZWRNalJMblRSRUdudkZNalBxUm5I?=
 =?utf-8?B?V1BLUFozbm84YmQxV3dNb0laUWtFa3ZrTHc2SVYyMzUzcVlEM2hUcHJPZEJW?=
 =?utf-8?B?OFhyQUI5UnNRZUpPN0pXWExXZ3B4ZGVhMlBhWE9iRnNSbVhGWTJid2k0Mllp?=
 =?utf-8?Q?5IAg1MbsmELCuH1KddZ8zg06d?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d787569-de2f-4bb1-60d1-08db30544ae0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 12:51:19.6689
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aHbyXao9i9q/68avPDak6jBDcDUdIB+aae7niznXzft/Lv2mYRTM8pJ0iA1LzTEt6w6DQaPoc1/77sDKBRAKGw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6945

On 29.03.2023 12:18, Roger Pau Monne wrote:
> Accesses to the PBA array have the same length and alignment
> limitations as accesses to the MSI-X table:
> 
> "For all accesses to MSI-X Table and MSI-X PBA fields, software must
> use aligned full DWORD or aligned full QWORD transactions; otherwise,
> the result is undefined."
> 
> Introduce such length and alignment checks into the handling of PBA
> accesses for vPCI.  This was a mistake of mine for not reading the
> specification correctly.
> 
> Note that accesses must now be aligned, and hence there's no longer a
> need to check that the end of the access falls into the PBA region as
> both the access and the region addresses must be aligned.
> 
> Fixes: b177892d2d ('vpci/msix: handle accesses adjacent to the MSI-X table')
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>

And thanks for taking care of this so quickly.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 13:23:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 13:23:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516273.800140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phVlC-0001N4-FQ; Wed, 29 Mar 2023 13:22:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516273.800140; Wed, 29 Mar 2023 13:22: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 1phVlC-0001Mx-Aq; Wed, 29 Mar 2023 13:22:42 +0000
Received: by outflank-mailman (input) for mailman id 516273;
 Wed, 29 Mar 2023 13:22: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phVlB-0001Mr-6q
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 13:22:41 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2061c.outbound.protection.outlook.com
 [2a01:111:f400:fe13::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c709bc5b-ce34-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 15:22:39 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DU2PR04MB8952.eurprd04.prod.outlook.com (2603:10a6:10:2e3::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 13:22:36 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 13:22: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: c709bc5b-ce34-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MafniogVHMpePVVmGqvDNP33JSi/q7bDlvQ/Q//dKKukHsLQBNQTmtRYB7q0c9vCUQdxvutc56v3U5P6/E0bYq1Hd+MhTLFSRtW93csO/NYyRTvnwNUCkl6CTn4JbQZiCgvy3g5jOP51BDLdrsQlETPsiY9VF3bYLGth1FczQN7MB61Q0ZnG37shF2GST7WTZZFj9GyXOu4S4gqeBTz+iJdpWgEMQaLlat+hqn0XDwSenLiUrzOtTQIGQAZcU67F7AIGJ+UDOi0dYV+tY4N/TRyyGZH1wYZ3IqWr46EMCRmsMbwFL7xH/N8vQQdtyPsuG9sjW/jYjZaw8GpfUnRwGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7FNYIWSXSyfAcJlYVXVlF6LufMrN+XtaTunTNge7Cic=;
 b=UwBAfoFVvDv1o5SfdyosWG8Kf9zxinckSdungK53mqt5rEKvBP4OhhTsjNGUjN3dHGpFRaiTwaEwYeuJGwLv2TzKwHgXY5jufDvqjm7bj7z5UuCHkYKKaIuzEZd+WnTVfrfyJHRtwY1q1t2mXD30fRfzEyr3cxLUr62ES1b3nHxx1V+M85z51Q4+D0Bd7ur5NS+6avx6au9UwhlrCIshIeT0ZWdgRM1zO1Ygf0w/Wt/dgGJ4XrMb/ca32kGzQjtSCb0ucohSKwsueHJFME2FPTGus/cdLT+qUJVPbaEUD2sJlOWajpARFJ98UDhWTIPiRyuVTynVygRik7kWgn855g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7FNYIWSXSyfAcJlYVXVlF6LufMrN+XtaTunTNge7Cic=;
 b=Sgm+Kx4nm4ThWcIEBGmGXTDlptNpwTKyUMfx2D7CiG306H6WAQdgg6722Tptu5CrEjNy3qvStzXfoYuvAveqauSJy6g3PgBDpZN+OF2fP64e9udmOsJ09Ef57vZlw2dOQ9Sr5Ez8PwAHf/XQ3UAQQKFBvhwu8UAupfaxKrUFBuBpahNk1ACEiROnagO0XsqhcE5l3pBm0gpizkEB1AM9tCOl1CZCxA8CM8+POehX3BZEE2+fXqBGDLT75gCwk48MP7pB9vj+YLQ+G54iGt91n+q7OZL1Z58ymiKKI2bjNQUsLvLExOJMbXDI1IhRQ4WmlPWtkMf1F4R8hCeNQqGWPg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <77d0a652-89f1-af15-0a45-0bf28a826b15@suse.com>
Date: Wed, 29 Mar 2023 15:22:34 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH] vpci/msix: restore PBA access length and alignment
 restrictions
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
References: <20230329101810.84726-1-roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230329101810.84726-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0104.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::11) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DU2PR04MB8952:EE_
X-MS-Office365-Filtering-Correlation-Id: f8d3b7ce-bda0-410d-053b-08db3058a985
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YiOEPTws6LaKT1OQAA+Ik2wvj5eKy/VfmgiXw66WVXjcUykWmfEXxypc3aq5MAfjweodc3BgCNAozy+z3xnJPTa35/NjZqAFt8uBgCBgkoJo3Bdz1bbnYn6KW/1d5hw4MR1tK8gJXLFMUrEVcFgIckBVfssDmyUveUdsTVPLFFBDVZy/xg1speAmSK9u8TeKOwj2j4HxH888X3kYIi4r3y1CH1gK191vfz4L0X7/X9g+Qj3LW55qg8N1aiZIe2W9aBazbNpAvKbRc62ZQFjtywkCSVpgnSyHZqzWDBmg/u7wFr6amILz+UxnGOBhmBRiZzIbs2bpjFdkD/aQ61prjsgVZerN4KmsGqwP5QWI3WSqh1J0wvVRo65dcmLjV1USzJF+nesWsnL8qDrQjlKMrjOnoxAi7AdJnZmKPKk198XFYARsZoLsLjLNhLo1R/5zi+FVcaWt4Th5isNAhe2uxncXsIPVIqrpceWfgXcJA+NfvrMNBmgOvZXQ+p5LUfm128tSrqN05W0R9keGYKJS6wLp1g62wC2o6jqi/esVCeFaL0aZxMpAl6SfY0bBfhI3SjBiguAfEKIm6/q2G9N1yhSCJ61bRGAT36hL7wSaVRrF0l1idb7oF7gd5CYOw5AoPlx/qjhkOnZC3pgvh5+lKg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(366004)(396003)(376002)(346002)(136003)(451199021)(6916009)(4326008)(66476007)(66946007)(8676002)(41300700001)(316002)(66556008)(186003)(26005)(53546011)(6506007)(6512007)(83380400001)(2616005)(478600001)(31686004)(6486002)(31696002)(86362001)(36756003)(2906002)(4744005)(8936002)(5660300002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aGtxaFdoSXdXVjNha3BqbUZ1QXZOL3hZLzV2WmZHVTRYSWdHc1VqamhGMGJG?=
 =?utf-8?B?ZS80TjBKc3V1ZHB6U2JCbjhLb2RnUmJib0hEakNxZjczMkRxanczclUwcW5h?=
 =?utf-8?B?eGRTYTJzdHBjd1djb1V0RDhVKzlTeGtlNUQ2allENmpBQXA0SW1MYVFqZzIr?=
 =?utf-8?B?bTZwTG0vY1B4ckxYeU4zMkIycUhaMkJCK21haFBiQWtKV3B5V012UFJRR2Q5?=
 =?utf-8?B?R1BFZnhDRFJISnpvYXpuaXJBeVVxTVJtaXB5WjNzeWx5WlBIZzAvY29PbXFl?=
 =?utf-8?B?TkNJYmxwMXN1dTRqb0FiWE05UlBkSmJlNm1UUlpZWUR5WGtURlhuSTJmVHZY?=
 =?utf-8?B?UkRpcVJ1eU11NTB4dHJTdFNDTTl3bk5ndkpBV28zNzFXL0lMaTNyQWp2N2d1?=
 =?utf-8?B?UTNLUDd4THVyOGdBRUxjVGJGNDJLQ3hFcG9IK1dPWnplRkUzdU9KUEd0Zkdm?=
 =?utf-8?B?SjNCTWo1dlpLYmVCSFBkWnUzUTVUV0QzWVh3OWdGZ2syMGQ3eHhvZE9qVCtH?=
 =?utf-8?B?L1NtelFGQVdsNHhxWkhreTdLYlQ4UHQyQi9xQ0dVM3NyaVppT1FFUFZSdzcv?=
 =?utf-8?B?SEpVTm80dEdtam13MFMyVFVydHpkN05JWGZMOFVRVjR6b0lEaTVWY0xPdDAw?=
 =?utf-8?B?MHZGWHdycUFCc1cvMkplVEd5cDVmSkQ2RFMwMmpXbnhRandkZGdRVGxxS0I5?=
 =?utf-8?B?dVdLZ041M3dXOXlSZVpPaGhObEs5dVE2WCswTWNWeHBOOVJEWGljQnBQclJ2?=
 =?utf-8?B?eXlJRnZQUC9rTnZLcUNyaXVLNnVMZnUzWk9tV0dXSUR3SEkrSkhoNFFxUHlt?=
 =?utf-8?B?eTIrbGxsUDdVVm1BUDd6TmtOYlNXaTBVRTUvVTJZcUw2VUp3RmJjMkphV3I2?=
 =?utf-8?B?KzF6cUsrbUlabFV4ZDVwRWJJZ0FMN3M3VEgwQUxFQ0d1UHVXcHdvaHhZZUg2?=
 =?utf-8?B?K1pxeTNsUndkREtKaUZ4VENBbzZrTnVVeW1QSlJqdU1iWUVPZE5reUxTeWgz?=
 =?utf-8?B?Y3JhZm45c3FyNnFNT1lkbGoxN0xKeTdzLy9UWDVKa2IzdDhodlJySHpmY0dk?=
 =?utf-8?B?c3BIWDQwcldidnNUVnp3R2Ywalo0eVNyYjh5aXJBSGZ5QTd6dUZYcWJOZUR0?=
 =?utf-8?B?WnhjUmZySk95R3hhREQxMk9BR1MweUxXZ3k1TitSVWMrakIzWFdoMlBzTDJs?=
 =?utf-8?B?WEJId09SRWh3OWJRUmRETWxjVlVhYmtYNFJ6bzJGVjZQNTZCUTI2VGphemIw?=
 =?utf-8?B?blBrWEpBTHExWEQ0UzQ5bklKcE9QUHU2M1hWa3pkaGdKUU1WS1Q4V1VoR25w?=
 =?utf-8?B?ekpBKzd2b0JYaWRKQ3FtbC9jYVU5WVZTakV0ZUROaWsxdVd4d2VDeWlQNEpx?=
 =?utf-8?B?L0N1S1IvaGMyREdiN1VoMDlLb3NwalZxWkJvWEVtQnErMGJuSy83cHd2UnBM?=
 =?utf-8?B?aGNRTlphM2lNUXMyS3BpMDl5QitOMmVRZDk3K0tKZktrcE5wNnRVYjl5ODNr?=
 =?utf-8?B?V2pYTERIOEJiUXF1NUhtaWNiUUdnM0JqSnErNDkya2dlMXBKMFYxVVF0SXl4?=
 =?utf-8?B?UUF4dTE1eUJvTStWdHFlSDFNWEpMSWIrUmcvaTNDd2hIZ0ZraVk5RUVMeUUv?=
 =?utf-8?B?eGk3L2hKOTNld3dEd2VZTVdCNmZWWFVseEZkMmxxY2VxenlnUG5xbXhUaXZt?=
 =?utf-8?B?Q3B3b0tzaEdyVmRaaVpMdi9kWlMvNmdvSVFDZHBwQ2k1TkNyNFMxUmZjMWhj?=
 =?utf-8?B?dnBZWHArTzgwNkVZc0dsTU53UDdqUC96OGdtNFJxcDR5MTR0Z0JVZVdpcHRF?=
 =?utf-8?B?SlE0azMvR0tZTXZLNk9tdlFUTWJYTnFOdTJ1K0xXcEtZU3FyM3ErdTFZdlFW?=
 =?utf-8?B?NnR4bXVnczQ5QnRpSVUvRXBmaTVxOGtkMTBVbVgvd3JIOFUzQ3dOYzFTdzdq?=
 =?utf-8?B?ZUJNMmhhLzNHdm5VbWVQTmw0RThJbVNscmxkUEpoeXlJVkRTOVBvYmMyeVdN?=
 =?utf-8?B?elQvMjd2SjdQeTRVN2czbHBMdHQzN3ZSQjZHbzZmU29OYnRPcWcyMVJLM1BV?=
 =?utf-8?B?WDhqTnFScENiVnZ3Mkd0RnFBMHJlbURHU2poZTRRQm0wdjBpYVNkdUlGODVv?=
 =?utf-8?Q?P6U3I92QgZmsqTMxWqZ5HPjDg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f8d3b7ce-bda0-410d-053b-08db3058a985
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 13:22:36.4588
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ht1apU/EMNEWODIH+29JsABAiF6TrFKAjpjgIa+W8m8pubKkRm57JiPu8vTy/5kiQGLtu9YxFSyaAi/haSlrXA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8952

On 29.03.2023 12:18, Roger Pau Monne wrote:
> @@ -419,9 +424,8 @@ static int adjacent_write(const struct domain *d, const struct vpci_msix *msix,
>       * assumed to be equal or bigger (8 bytes) than the length of any access
>       * handled here.
>       */
> -    if ( (VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) ||
> -          VMSIX_ADDR_IN_RANGE(addr + len - 1, vpci, VPCI_MSIX_PBA)) &&
> -         !is_hardware_domain(d) )
> +    if ( VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) &&
> +         (!access_allowed(msix->pdev, addr, len) || !is_hardware_domain(d)) )
>          /* Ignore writes to PBA for DomUs, it's undefined behavior. */
>          return X86EMUL_OKAY;

While preparing the backport, where I'm folding this into the earlier
patch, I've noticed that this change has now left the comment stale
(the problematic part if just out of context). Not sure though whether
that's worth yet another fixup patch.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 13:27:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 13:27:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516276.800150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phVpx-0001yY-0w; Wed, 29 Mar 2023 13:27:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516276.800150; Wed, 29 Mar 2023 13:27:37 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phVpw-0001yR-TD; Wed, 29 Mar 2023 13:27:36 +0000
Received: by outflank-mailman (input) for mailman id 516276;
 Wed, 29 Mar 2023 13:27: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=Nen3=7V=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1phVpv-0001yL-HS
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 13:27:35 +0000
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com
 [66.111.4.29]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 753e1221-ce35-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 15:27:32 +0200 (CEST)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.nyi.internal (Postfix) with ESMTP id 219EA5C00D5;
 Wed, 29 Mar 2023 09:27:31 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Wed, 29 Mar 2023 09:27:31 -0400
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed,
 29 Mar 2023 09:27:29 -0400 (EDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 753e1221-ce35-11ed-b464-930f4c7d94ae
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=fm2; t=
	1680096451; x=1680182851; bh=/+MRYRsaQkmdXXHGULqnK17tx9iLlBePVV5
	Mq4zZ5ZY=; b=aa8l+QzM05SJOfSX6w/xbEUdVg15gUFDU7y+lKlBp97/546FlBP
	0X7RBjrWGuqzcdXFK/s9TThuL13M20fO+BshwS4Ybssn67Lvf+PQSgwEng6h0pqf
	y+nqzVDpnKb1N3d1BBPXw/jpW/Mukv9fEn2GsHYgweCXIhBK9YsLEYX6pBBfLTi6
	Ld8PHV9uZ2qV12qy6Wp9uHunh4w3DcbHlfkwgGEKtdaaKB3Uw8CGACT9WS9Y8nfD
	r+mCyH8phKrzVUCH9azg51poDCNOVIk6RN0ocp+FcRNptjrLo1S/TpLJxh0+cz1N
	r3YdRNrUqcdwrhY4IbxK4X5BCgulsyLj40Q==
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=fm2; t=1680096451; x=1680182851; bh=/+MRYRsaQkmdX
	XHGULqnK17tx9iLlBePVV5Mq4zZ5ZY=; b=eG6veM0G2+VvSdqvLhxO4UwgnH+jp
	W7b0BjbLKqh3JltprLQc+ZIuzTCpQvha+Ezz6WtGM8iWsPcgGIAPmSVxJtb77AKV
	lTljdF2G+UEkzoT0DvTgG9T/zQI9Avkcw8o05htyjHROyfUk+tyJA2ijZugIzjT+
	ld+0IdA52vdmKvQfy3a8ar9+Vp/7+nm6EoNvjUko9rje7YTSY2zr6BoCdtejhZh/
	wXVk9DBWoQKE4HJEUXMG8kKDjEy3xhNosp3iyAnVIyc/X0P7iR4kJYxg2ppXxqg8
	zAvYrcJi2O0aOD81yIZcC2t5xZguEBk6Fmsw/AU1F2TCzy0MNK5M1V9yA==
X-ME-Sender: <xms:wjwkZO4xzQesmKWQ3jzpUR90UUsgKdQNP7E5Qf478ylO8ImHNaUVTg>
    <xme:wjwkZH4ymGAKiFRM44WE2KYtlWkN9hzy-c5btKJ_zRvh_neKonB-5Nm3JZXMkrlJu
    xiK0qmQOpsNlg>
X-ME-Received: <xmr:wjwkZNcLs6X1vMq3SutxHTYiMlrZAeBBeKuTtSAf1proWSyUvgY7brqU3CTu8qObyV8LYlmA4OGt7FgYsk4nXypzMnmqsj5QvE4>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrvdehiedgieehucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:wjwkZLKg9gphRS6MH0Uienv4FY2YSvVRQp63FgrHfFt-dEON1Pxw0g>
    <xmx:wjwkZCIcvvsfmzsYNueNK4EF8xt-8LAsqwQ6M7BbGKEZmbPnyQW92g>
    <xmx:wjwkZMwid-mD_wd1N9rgIr2T4vCQsVP4s73uocyNL1Oe0Ux4FcMMiQ>
    <xmx:wzwkZO2VHLhU_G1W2Lp1hbSM4Ac753h-T0QUhHu2d6cuLaKKIlBCpw>
Feedback-ID: i1568416f:Fastmail
Date: Wed, 29 Mar 2023 15:27:26 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 1/2] x86/mm: add API for marking only part of a MMIO page
 read only
Message-ID: <ZCQ8vmkqvyH/KJEX@mail-itl>
References: <cover.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
 <f5381e06d92cccf9756ad00fd77f82fba98a9d80.1679911575.git-series.marmarek@invisiblethingslab.com>
 <e238bffa-5eba-b18f-ed73-1c5c9730cf70@suse.com>
 <ZCQYLkoSfZ7klmNC@mail-itl>
 <2c689aeb-db4a-f2a4-d1b2-31f1283c0de7@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="4D6BWUFxZyIsaY8h"
Content-Disposition: inline
In-Reply-To: <2c689aeb-db4a-f2a4-d1b2-31f1283c0de7@suse.com>


--4D6BWUFxZyIsaY8h
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Wed, 29 Mar 2023 15:27:26 +0200
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 1/2] x86/mm: add API for marking only part of a MMIO page
 read only

On Wed, Mar 29, 2023 at 02:39:22PM +0200, Jan Beulich wrote:
> On 29.03.2023 12:51, Marek Marczykowski-G=C3=B3recki wrote:
> > On Wed, Mar 29, 2023 at 10:50:20AM +0200, Jan Beulich wrote:
> >> On 27.03.2023 12:09, Marek Marczykowski-G=C3=B3recki wrote:
> >>> In some cases, only few registers on a page needs to be write-protect=
ed.
> >>> Examples include USB3 console (64 bytes worth of registers) or MSI-X's
> >>> PBA table (which doesn't need to span the whole table either).
> >>
> >> Yet like the MSI-X table the PBA is not permitted to share a page with
> >> other registers (the table itself excluded). So a need there would
> >> (again) only arise for devices violating the spec.
> >=20
> > For PBA, indeed (and due to not seeing device needing such hack, I don't
> > do that for PBA yet). But the XHCI spec doesn't include such limitation=
, so
> > this case is perfectly valid.
>=20
> My remark was merely because you mention PBA in the description.
> Mentioning it is okay, but you would want to further qualify it, I
> think.

Ah, ok.

> >> Taking both remarks together, limiting granularity to 16(?) bytes
> >> would allow using the advanced EPT functionality down the road, and
> >> would at the same time limit the suggested bitmap to just 256 bits /
> >> 32 bytes, which I think gets us below what even an empty rangeset
> >> would require. Plus lookup would also be quite a bit more lightweight.
> >=20
> > Indeed, in that case it makes sense.
>=20
> Hmm, I've checked the SDM, and I was misremembering: Granularity is
> 128 bytes, which might be too large for the purposes here.

Indeed, it seems so. In case of USB3 console, I want to protect 64 bytes
of registers...

I guess 16 bytes granularity would work, but it feels kinda arbitrary
without any good reason to choose this specific number. More logical
would be 4 bytes (as common register size), but it means 128 bytes for
the bitmask.

> >>> @@ -4893,6 +4906,172 @@ long arch_memory_op(unsigned long cmd, XEN_GU=
EST_HANDLE_PARAM(void) arg)
> >>>      return 0;
> >>>  }
> >>> =20
> >>> +int subpage_mmio_ro_add(
> >>
> >> As long as patch 2 is going to add the only users, __init please, and
> >> there's no need for a "remove" counterpart.
> >=20
> > __init makes sense. But as for removing "remove" part, I'm not sure. I
> > realize it is a dead code now, but it's easier to introduce it now to
> > provide complete API, than later by somebody else who would want to use
> > it in other places. Is there some trick to make compiler/linker optimize
> > it out?
>=20
> At the very least you could also mark it __init. There are also the .disc=
ard
> and .discard.* sections we handle specially in the linker script. But no
> matter what you do to retain the code without impacting the resulting bin=
ary,
> iirc Misra tells us that there shouldn't be dead code.

Well, if dropping remove, then I guess I could leave a comment
describing what it would need to do. Or maybe just hint in the
description that earlier version of the patch had remove implemented -
so if anybody needs it in the future, can do some mailing list
archaeology and have something to start with.

> >>> +    if ( !iter || entry->fixmap_idx =3D=3D fixmap_idx )
> >>> +        return 0;
> >>> +    else
> >>> +        return 1;
> >>
> >> If this case is really needed, this special return value (as documented
> >> in the header) probably needs specially handling in the callers - it's
> >> not necessarily an error after all. But I wonder whether it wouldn't be
> >> easier to check earlier on and fail right away (with e.g. -EBUSY),=20
> >=20
> > The idea is to allow multiple sub-ranges in a single page. Again, if
> > using ioremap() internally, instead of fixmap provided externally, this
> > case will go away.
> >=20
> >> rather
> >> than adding the range and _then_ (kind of, as per patch 2) failing.
> >=20
> > Right, I missed "!=3D 0" there.
>=20
> Hmm, adding "!=3D 0" won't make a difference, will it? Adding "< 0" would.

Right.

> >>> +        }
> >>> +    }
> >>> +    gdprintk(XENLOG_WARNING,
> >>> +             "ignoring write to R/O MMIO mfn %" PRI_mfn " offset %lx=
 len %u\n",
> >>> +             mfn_x(mfn), offset, len);
> >>
> >> ... make it here. (By implication: I'm not convinced this wants to be a
> >> gdprintk(), as I think at least one such warning would better surface =
in
> >> release builds as well.)
> >=20
> > Right, gprintk() would make more sense indeed.
> >=20
> >> At the same time I don't think any message should be issued for write
> >> attempts to pages which don't have part of it marked writable. We deal
> >> with such silently right now, and this shouldn't change.
> >=20
> > At least for HVM domains, it isn't really silent. It's domain_crash()
> > (before my change, not reaching this function at all).
>=20
> Well, yes, but that's one instance in the lifetime of a domain.

What I mean is that it isn't a common or normal case that HVM domain
would exercise in normal operation. It's abnormal situation and as such
it should IMO get a log message.
And even for PV domain, such message would save me quite some time
debugging related issues...

--=20
Best Regards,
Marek Marczykowski-G=C3=B3recki
Invisible Things Lab

--4D6BWUFxZyIsaY8h
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmQkPL4ACgkQ24/THMrX
1yxEuwf/UnBotmJ67KZMJ3dusAxrKs9n8+TYiCXYK+FrZvwA1kg6T9rCot/11Ku/
cslp91MKZHjQ/LibX/XA1pdKc7JOjtMTW8UUXwRk7cQy8GoqUD7mvfSPJt2H3GHc
kquz6jFH0Y19Ekh+3EbFx2K5RXebrHoNJ+itZVxq7Cd4H696rtroo5pZPHmdSSTW
RXumA03+0eI5SPeciSzGkjp6MbHlfNX96uPzPK7MBuydnmwybQv+OYuZ4ZMu7ONe
fE49TG8ENOJx2wuI6ChnD2TxYc/5vlP4rzY6VM2iaxzNlPysYqqBL9hKtwcBaWzh
2bonenrANPGJaE7Di2oyZPje7p3LHw==
=Q55b
-----END PGP SIGNATURE-----

--4D6BWUFxZyIsaY8h--


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 14:13:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 14:13:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516282.800160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phWXz-0007ai-Hi; Wed, 29 Mar 2023 14:13:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516282.800160; Wed, 29 Mar 2023 14: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 1phWXz-0007aZ-El; Wed, 29 Mar 2023 14:13:07 +0000
Received: by outflank-mailman (input) for mailman id 516282;
 Wed, 29 Mar 2023 14:13:05 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phWXx-0007aT-8Q
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 14:13:05 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061b.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1085fc5-ce3b-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 16:13:03 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB9665.eurprd04.prod.outlook.com (2603:10a6:102:240::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 29 Mar
 2023 14:12:59 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 14:12:59 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1085fc5-ce3b-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A0HjRaqs9hBf1Z2Pi3feSeWSKkdpUBIQ2tBzfAe86evdAOoY1wBsURVdPaJyittv6kVG+noWN512VPbm4T2+NQhuQsxs9NrzIdyBbmPPXJhUFjQexoh64gVVnYnUMXjw9Fws54mQVm/Jjttm/nasDFRydJH6BwYgFkpMOrob0HOLNXHxywb3dE2v/69HWryeFxt8mVTuPTA1Hj1giPKLLhL6Gt7znc+pXGW90B20GSCVhZ63E6OWLg3CIVlp4ljVNdylvfjYMN+8O8E+VXIEHGDyIs4v/RJCR1B5E+NAVX1mH5vwiZ85+KirVv7k4QC+v513BM+W0GwgiI+AHmzKIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SBtAeFoGBgB6X6C/UjpTqT4lSAbFKF2yQ9jl3O4F1KY=;
 b=b/dg/XdGoTRRI12IxKAhe6WfjDgrldkr/zksQuMfmKzUNsk8l5aUtahSxEcHIoDVa7G3ncAd9XgSKbQMdN7FcV1xDWfeCXzTYG2vXBG2tVwZotqlzt3oWI4EpH+Ql5UzGh5ktchIxOYcZXSBaaXC59OCzahKY8NFHVwdArFVFZXcPE3teDS2H/1kCN5XGoANqFeKmJ1UfOh/a4Ke0cFC+aFl5tpsIQwr2LPtWSpcwcZ534Juqtt2qFl+zFx3l6GxPaJtylqGULyMukjWzE8RGRjYqalhgVgZatykJjfwW6ljNX9z2EUEGohF5fH6BzC62thUQWGjrqASEYTCIiAaoA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SBtAeFoGBgB6X6C/UjpTqT4lSAbFKF2yQ9jl3O4F1KY=;
 b=RHXoeeTmeW7ZvVPzz4o4KG8XpSXCtC8h43/2Mn67qhP8qwOH+1cTKI8ANkNFgzMN7UEU9YaG/HO9cu7fQ+J2bkzhcYO8o4XtFFSYvRC+VeqelvJMliZOXNxGKzBaBCsULw2bFXF60njktB6UicV9nG49/usAy0+2pHbuHGqkwweZbqng1j+z0T3p6f0OVeFzV5flnjQ9YwuJuQN23Uj4nNhVxC/PXC1mIVSv4nAKL+JbF4W2h92y3tyNJrXEnGFHalN2y87DI4TXKskbGJtB422jX66bmwT9n2u/Y3SpTfTBtrOonD5EPcXPqOhgOd5C2Tr+WflXbVR+zMZVbgx0gA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9cf8a791-6d20-bfd6-dd74-2473c4606b65@suse.com>
Date: Wed, 29 Mar 2023 16:12:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 1/2] x86/mm: add API for marking only part of a MMIO page
 read only
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>
Cc: Paul Durrant <paul@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.0fffd3f3080b5eeb8d22126eda6088734bb0c926.1679911575.git-series.marmarek@invisiblethingslab.com>
 <f5381e06d92cccf9756ad00fd77f82fba98a9d80.1679911575.git-series.marmarek@invisiblethingslab.com>
 <e238bffa-5eba-b18f-ed73-1c5c9730cf70@suse.com> <ZCQYLkoSfZ7klmNC@mail-itl>
 <2c689aeb-db4a-f2a4-d1b2-31f1283c0de7@suse.com> <ZCQ8vmkqvyH/KJEX@mail-itl>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCQ8vmkqvyH/KJEX@mail-itl>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0124.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB9665:EE_
X-MS-Office365-Filtering-Correlation-Id: fdf58263-af0d-482e-5dff-08db305fb362
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uRgYoWmJFGsuuGnK9xh/p2LgztagvVfYXOS2pP7pn3YwYuKkoHxiWdoZBRoqF1DfB+uq40eB4iWtrBvIzb4Pgki8lr3HJT7yiyw1K2BH7970h6DOCBxELI9Sfn9ucDm6eVub7Oka/xkYi+5FDVjdj0Cm1WltGW7l59RX7Tk2IKEQi1grezQl7rmlQtPZwixWBB6voSgWpCKaaGQkyT97f6+QVncb0SvZPPUQvRY+yWseNrNlwBTkrI+q0jj6+wmzsXS2t2wxr94Z7bod41HM2zuI0BrzcA42B2ZlKUZYiH7ZNOt/i3A/r4dMtqTgi3SPa0hvgFu9aBsmpEWZljVwPdxP4k73IRDZpiAjlJdZX1/j28nV1zGT0wiMUcC5ZdUSDpL7z4Nmzcx4IMFM6j3fKAlVoeHIn2GMLWxLZNNTOINjgm5QnqEOOD0lSEpXv0kDnJ46hNyDrDkY4fH/feGGotuIaZn9krm6fjaljn2fHjGfg8H4FXRn6MOOtZjeTFqhkpi04ZZhRcQWrV7t3EK7CWWjhW7XWabw1tVRkFWgmLIfV2ZyTvliVr3es6e51npQ4Au2XRFMdzBmEMozOC3e1yRycS+In1vW5K/XrfJiGjH7V8kCwTZszqDcIvQQCb14ljiW6A0qOv/SRYNQsm6MmA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(376002)(366004)(136003)(346002)(39860400002)(451199021)(66556008)(66899021)(8676002)(86362001)(2906002)(31696002)(26005)(8936002)(66574015)(6486002)(316002)(66476007)(41300700001)(36756003)(54906003)(478600001)(2616005)(53546011)(6512007)(38100700002)(31686004)(5660300002)(66946007)(186003)(6506007)(83380400001)(4326008)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGFWbU5mYlgvOHYwcDRGekVBVnE0djFaMTEzZTg1Rm8wYnRTYzAyeVdqMkhI?=
 =?utf-8?B?TjhjRHdHK0VRZ0FwTWtVdnlMWHE5VXJrbHlqcVoxMkZKN3Y4MmtSbHd5OVFt?=
 =?utf-8?B?SXpYZnRUbXVpbThRUjd5R3UvRWNZcFVCYXFlQnZmRXpwU1ZjdTRmbTVMd2Rz?=
 =?utf-8?B?dVl0M1NaRlZvZzB4Z2cvRHUyRVpFVlRYL3FybFp3Tmw2U0pic29vMjRBYktL?=
 =?utf-8?B?QXcrbXdicUdybEhKR091UzlZTHVkdkVWZExsNit5NGRRYTAvMG5yRjRpanpP?=
 =?utf-8?B?WFZhUDBFa0RCR0Z0N3VtWEdGUElqV2xEYng0VnorSEtDSndGMzNNYks1MzJm?=
 =?utf-8?B?RlVCMVdiVCtoTXgyMTNacUFwRU4yMkg4ZGVtMGtNREhOazRnMjBlbFd3NGxY?=
 =?utf-8?B?TzloUEZwNUhldi9LMy9heDRNcFNiNWZsRWhEdm92c3BoNWgxdk05OGI2SUE4?=
 =?utf-8?B?a0x1RVBwdE5UZldhZndveHVTc3JRWXdHWDhuY29sSVRPTjhEamxzZ3huMUlJ?=
 =?utf-8?B?MlJmTXJMZjNtd1o1RjJzdDdJRHh4Wkx5c3NUTzFTUmJsYVIrOGRZTE5BUGZZ?=
 =?utf-8?B?aUFyMnVWZTl3N1pwV2h6blp3aDRuZHdHZHNMZVNybGtaUnZxQ1h1MkpWNzZK?=
 =?utf-8?B?TDVqK2xQOE9HbVFGeHpqcjlzRERBQVlSaXkrMlVCRkhPaGlPWDloaU04ZkF6?=
 =?utf-8?B?VTBPM2lYbkpPTGN6MEdpQXYrOGUvQ1poeTQrMi91NG9WTHlPdTIwTG5YSjk4?=
 =?utf-8?B?V2p3RDkwNnc4dTl5akJ4TjNUZWkxbE1ULzVpRHh4aUtXSkxWMG00YzJSNmVn?=
 =?utf-8?B?a1ZpeFZMMWVrdlU1ZGVLT0IxZ0xKNHpYRDdjdnJjM1JjZGFtYk1iK1V3RGds?=
 =?utf-8?B?R0JBT3oyeHM4U2lINFVndUFsTGdjODVDVkRVaTFjOWkrWWNWck1HTGIrSWtJ?=
 =?utf-8?B?Qmw0anI0SzY2N3NpL3RZWHdkakVOS3NFNmt0QUJLTlFKT0hXOTFpQnBsbTZB?=
 =?utf-8?B?V2dBVFowcFVUSis5S0NiZXErMGtPR3ZKOEJKejFweUpac2VYaE1aSDlGVzY2?=
 =?utf-8?B?N3I3cnRXTUZyWGVYZFI2T3hzbTRoSFh4T2QwQlRFUnZ3c3BkOGk0dEZuVXNq?=
 =?utf-8?B?WVJtWVVrRDF3M1VpNVhFa2pSSlppTDJtZmhjeHBWVW1pYnBXYVZRcncwaG5u?=
 =?utf-8?B?TDk1Z3AwT01KZDJnRXllVGtpYVo0RHN4OEd4UzEvMHpHa3J6azNjcHMzT3RZ?=
 =?utf-8?B?YUUrZGwzSHZ6ZytTVUlINkVvZzhxdjh1K25hdUVwSXVlZElCL0ZHWEdFeGZw?=
 =?utf-8?B?RHZFN2tsMUVwMkV4RVVlc1JuMVpsVUswaWphdGZGLzR5Z3pQYVlIcjRCUVlN?=
 =?utf-8?B?MnJuS0JGQjM4cEkxSTg4Z0d5L1FONERGN2k4bGJtcU12NFNqR0ZRMDV0ZWF5?=
 =?utf-8?B?Slg5bEJOTTNLMk0wUVBIYjRkNjFSV3NUczRWR0RHNkNMNklqTXg2ZWk4R3lL?=
 =?utf-8?B?RzNiWE50ZWMyczRVUXpSYlB6cGNMdC9qVUV0SUJyOS9FaDhrSFJHaUxBcVdT?=
 =?utf-8?B?UzBJVFVXRFhzbFV0VXZURlRHV0U0TndYcVRJaGFCMldQRWZGREg2enZER1NT?=
 =?utf-8?B?RGI5R085OVhQK0RCcXE2V0xjN3Azb1hLV1lxdzdSVkJXVnQ2RENCbnFKNVhq?=
 =?utf-8?B?K0VjcTVwYTZqb3l3aXc0RVk0ejMzeWErd1JlcHhwZTRvVDYyWHA1VkxveUZa?=
 =?utf-8?B?ZWFjZHdUQ1JsWmNLckswbkgzMEI5blJkaks3NDJXVXpJRGRnRWNZVWErelE4?=
 =?utf-8?B?dG1NRllubUhnMnFTaHM1RHVLWXRLc2s5T05YTGtaN2s4Skx2QUVKeFdRbzND?=
 =?utf-8?B?Y084SGplYWMydlkzVHgxdGFmR2NONlNNRnpWYUJITFhlKzBHR0JRbjdrYzgw?=
 =?utf-8?B?T3JLMVVRa2lPT3hTbjZZYk13STFyUUp5ZmlyN2ZvNjJreTBhRHlhM1lZNU85?=
 =?utf-8?B?YlZQNk1TR0ltUEpYZEFnUG5DZ0hKZnJza2NsZU5DdkUwOExaQ0RTRStOZW0r?=
 =?utf-8?B?b3hBQWVobW04WlhKVzM2aWJteHZRdzg3b0dVNHRkNGVqcVlxR2VvdFp0czYr?=
 =?utf-8?Q?UuwCA/bjhgrnp7Agdr8ghzGha?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fdf58263-af0d-482e-5dff-08db305fb362
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 14:12:59.4506
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fU5b/R7gxc10swLIwyXslmTIKU9m5kOteEG7t5NfxvbuCv67RPNmar1cNGnY7u6/pOKBcnKGt5cSCGflxmFqQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9665

On 29.03.2023 15:27, Marek Marczykowski-Górecki wrote:
> On Wed, Mar 29, 2023 at 02:39:22PM +0200, Jan Beulich wrote:
>> On 29.03.2023 12:51, Marek Marczykowski-Górecki wrote:
>>> On Wed, Mar 29, 2023 at 10:50:20AM +0200, Jan Beulich wrote:
>>>> Taking both remarks together, limiting granularity to 16(?) bytes
>>>> would allow using the advanced EPT functionality down the road, and
>>>> would at the same time limit the suggested bitmap to just 256 bits /
>>>> 32 bytes, which I think gets us below what even an empty rangeset
>>>> would require. Plus lookup would also be quite a bit more lightweight.
>>>
>>> Indeed, in that case it makes sense.
>>
>> Hmm, I've checked the SDM, and I was misremembering: Granularity is
>> 128 bytes, which might be too large for the purposes here.
> 
> Indeed, it seems so. In case of USB3 console, I want to protect 64 bytes
> of registers...
> 
> I guess 16 bytes granularity would work, but it feels kinda arbitrary
> without any good reason to choose this specific number. More logical
> would be 4 bytes (as common register size), but it means 128 bytes for
> the bitmask.

Which is still acceptable, so I'd say 4 bytes it is then.

>>>>> +        }
>>>>> +    }
>>>>> +    gdprintk(XENLOG_WARNING,
>>>>> +             "ignoring write to R/O MMIO mfn %" PRI_mfn " offset %lx len %u\n",
>>>>> +             mfn_x(mfn), offset, len);
>>>>
>>>> ... make it here. (By implication: I'm not convinced this wants to be a
>>>> gdprintk(), as I think at least one such warning would better surface in
>>>> release builds as well.)
>>>
>>> Right, gprintk() would make more sense indeed.
>>>
>>>> At the same time I don't think any message should be issued for write
>>>> attempts to pages which don't have part of it marked writable. We deal
>>>> with such silently right now, and this shouldn't change.
>>>
>>> At least for HVM domains, it isn't really silent. It's domain_crash()
>>> (before my change, not reaching this function at all).
>>
>> Well, yes, but that's one instance in the lifetime of a domain.
> 
> What I mean is that it isn't a common or normal case that HVM domain
> would exercise in normal operation. It's abnormal situation and as such
> it should IMO get a log message.
> And even for PV domain, such message would save me quite some time
> debugging related issues...

Sure. I don't mind a single message. I also don't mind a few. But I'd
prefer if we could avoid relying on (general) rate limiting to bound
the volume, at least when it's the simple case of dropping writes
which don't overlap the intended to be writable region.

That said - if for HVM previously we crashed the domain in such cases
and this now changes, then this change in behavior would also need
mentioning / justifying.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 14:17:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 14:17:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516285.800170 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phWcI-0008Cs-2B; Wed, 29 Mar 2023 14:17:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516285.800170; Wed, 29 Mar 2023 14:17: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 1phWcH-0008Cl-Vf; Wed, 29 Mar 2023 14:17:33 +0000
Received: by outflank-mailman (input) for mailman id 516285;
 Wed, 29 Mar 2023 14:17: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=WOlf=7V=citrix.com=prvs=445effd08=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phWcG-0008Cf-Dm
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 14:17:33 +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 6e4975ab-ce3c-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 16:17:28 +0200 (CEST)
Received: from mail-mw2nam12lp2044.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Mar 2023 10:17:25 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DM6PR03MB5148.namprd03.prod.outlook.com (2603:10b6:5:1e3::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 14:17:23 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Wed, 29 Mar 2023
 14:17: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: 6e4975ab-ce3c-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680099447;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=8MUfk8IDgAfICAX9YhauHqu2m+WcMwN1gT6ZvLgEdBk=;
  b=KMowuDkbr6qVgX6pATcRybQF5ZrZgKAtMuc8t/bsALsMxu7vrjFZDf2/
   FBJs3tafYWR4Fb6zS9NJXUVqdf/pX1VT3DtNAUUtgddF3u5D7VgDuwGM2
   99nyIvVyiuBGGFfCsL4UmIQkoYomeQc47pa9LLdj6UVLqcmwyaJmc3MHF
   o=;
X-IronPort-RemoteIP: 104.47.66.44
X-IronPort-MID: 102890964
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:o2mtrK87ZZ9NJYi0G5CzDrUDp3+TJUtcMsCJ2f8bNWPcYEJGY0x3x
 2NOUWjQbPiIYDemftxzPNjk/UNSv8CHydZgQVRo/Hs8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqoa5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkltr
 vJDKQI0SCvZxOWX2uy7ePVRlIcKeZyD0IM34hmMzBn/JNN/G9XmfP+P4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTaNilAtuFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE37eVzXKjCdxOfFG+3u9qo2KC/2sKMiQ5SkOx5uKBm0ecB80Kf
 iT4/QJr98De7neDTNPwQhm5q36spQMHVpxbFOhSwBGAzO/Y7hiUAkAATyVdc5o2uckuXzso2
 1SV2dTzClRHr7m9WX+bsLCOoluP1TM9KGYDYWoBUlED6ty6+oUr1EqTEpBkDbK/icDzFXfo2
 TeWoSMihrIVy8kWy6G8+lOBiDWpznTUcjMICszsdjrNxmtEiESNPeRENXCzAS58Ebuk
IronPort-HdrOrdr: A9a23:7cRgfaHeAP3LqWwrpLqE/8eALOsnbusQ8zAXPiFKOH9om6mj/K
 qTdZsgpH3JYUkqKRQdcLy7VZVoIkm9yXcW2+cs1N6ZNWHbUQ2TQL2KhrGC/9SPIULDH+dmpM
 NdT5Q=
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="102890964"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XoMHBjiU6jDIuL6e7soRt/Cic0aVK0oWIVuqgeYpH/xDxfOaylXB4PrtFtWyZhTpARacF8PtyYzZ4BJeZPWk7pvrTLX/50EDbbD7fIxRvBoOZrcO+D2F4DT1ZRsR2FNXa4ZWIH2DoiE57g6O4BfoBQHqAwR6h/lmB8TbHZOkGsrOuUwU/cWMa553X93+cdyp2t4zellOwXVRF8T691NQ4wC5gVblfJW3GnRk2YIjD+KVMRRS2n6jMIlFUgwBhXQYdO5tmLiGcbwBcky6eMT4FrI0dbIAhxQhr1FR1VELS3XQ+Xp8+crJDmKyiomy1TtFvnEtJh+T55v+pA6Vw2Zfwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dX3AXwuNoNFFVSVWPI9acrafKEbTr9scnUpdApMnXrw=;
 b=KlB4JYu/W0NH+DdnOn+ImJni30WZQKQwK9/JADfshur084wqjWO/gINvPaISV+52maFNhGXqkUgDcPNBPj3qlr7QMXM8wfcIekgv8RMSR1/j95hQ4v2xR7Wux66lLlPn3+KCqrwp0aK1FYiJmTmkS7uxkvsm8ZadQARgosxWkq/L5fBs/yeU1qsJPlWQw3DImHfH/Q86832+CzjSkagqclZWnkn/R3pygE20jO2hrzLf0C+NvSYsOmI4RWDvjGWI69WELTNKr8xxYgEdm9/tm1izXH5O5Che4nxJxzkWW3uIePXuq/+qKEK/ml8ECXPcKjn2KukmhrsaRKPo6gGFCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dX3AXwuNoNFFVSVWPI9acrafKEbTr9scnUpdApMnXrw=;
 b=FIiSxJUySjh3YWIaQTydvL1NfJbC4NKVhc69zHC/gGq15VcIA9gdpIcGv8Y7PuiL9tTNxCTfDR4tjb0fPQCp+/O3ufqGJ/oqRv53gv4ni727xi687vwJEVDnBgqGaZjpcnUsmn4KPMIpOq5Lf+yQvw8Nt5Rb5y2qvZkRC8YgnTE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 29 Mar 2023 16:17:16 +0200
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 v2 0/8] x86emul: a few small steps towards disintegration
Message-ID: <ZCRIbKcfi8hn1m8Z@Air-de-Roger>
References: <7f5287ad-8442-6c53-d513-f9a8345c4857@suse.com>
 <ZCL3W/HrwLANuE/0@Air-de-Roger>
 <40d58ac1-d0bb-afed-c0ae-c545c7bff30c@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <40d58ac1-d0bb-afed-c0ae-c545c7bff30c@suse.com>
X-ClientProxiedBy: MR1P264CA0210.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:56::10) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DM6PR03MB5148:EE_
X-MS-Office365-Filtering-Correlation-Id: dc96a6f5-4568-4c8a-62a9-08db30605007
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	H1a+Cx5X9RIbnhKyIGgSW+GvSjPazKj84Bj8s9PVsAJVjmdM7aA8Yr5QSAw7Q6HoI9+/OgqKxSlaqvUsP0JqCYAcrrswYHG+lDdZDoKY90Lg+gD4Mia0133yoD3Ti2PouUcLBxPdT0yCRqD80tOPYCTjQG/XT+CZdHPBFq9qKqXHsR7mF+26Iz5/UBd9W3aMuX66texKUwb4VytSOBqM9ZM1cYXxSwk9cFh9VyL9fxAhKRUNtEcSFBOw6lGfPW1IazKcr/fM2I8YiaMSWJrUyUwLq41BVQ7rxnkyURq8HBmA2ocIlUxsAsi3aYP8ZGt/wcS3mEojI496cAMuyt7kVjXVZjmrH7MMusO3/DkRRjJ1xJBmxlWBp0HmKPmA0DAOkPuniRcjpj3QJRGDa7Y3uTMQxr4Ql7Yrnm8KqPS7HnYtkpwt2CxDaOXpbqZlRaEBPtrB9QxHInrDN0L1s4CGUVdspDreMFD/fgQyf3Q+FCc/SUbOmBHeVDdlznGlCIH2RUnBlsQLVIC4yNSyRh8loQmqK29BGHwBcw9cWn7qunwWhSzor0KPwVVElj4QAgNM
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(39860400002)(396003)(376002)(346002)(136003)(366004)(451199021)(6916009)(83380400001)(26005)(6506007)(9686003)(6512007)(53546011)(186003)(86362001)(82960400001)(38100700002)(41300700001)(85182001)(8936002)(478600001)(5660300002)(6666004)(33716001)(66946007)(66476007)(4326008)(8676002)(66556008)(54906003)(6486002)(316002)(2906002)(66899021);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZlVhd2RiUTh6OXdHYjVDcHJIWGlkY1RnNmJOcGRJNisvOTk2eXRSM2lBZW1i?=
 =?utf-8?B?cEJSb3FISUNYcThSMTBlWFcyQVZaMzRlY2EvK3RlVlFuZkNBSTB6TStlcmdZ?=
 =?utf-8?B?SExtZDNoZlZlNVU2QVNESFUxUHNnc2N0ZDBiVDJMcVJXSkJQMUxJaGVFRU1L?=
 =?utf-8?B?VFNzNk1lc1ZmMExYMHQ1QzVXdVJHSzVNTHJwMW1meHBVM2xGeWk1NW9ITFlv?=
 =?utf-8?B?eXNaWm9hNWVuVVYyK1R6ZmhETEJwK1BJRU84NTlRcjhJdzJOVzhLeHMrNm9t?=
 =?utf-8?B?cm9lTzhTcisyVW9HbVpLV01CTGhHdVk1N2I4VVFGck9GR0tZTDZxSUhsRDVy?=
 =?utf-8?B?RjUzOEd4WkZTWlA5ajFIOHpHVWhUbHQxSEhMVEIvY1NTZHNuN2lYUWNxaVph?=
 =?utf-8?B?YzFNcE5WekpYNWhrb045ZGlrVkkrT05WQlRtSmorVlVTS3VZZDVURk1zK0FG?=
 =?utf-8?B?RnJEM1RYQUI4aU9yQTltNG1Zak9SUTJaM25zeXhZby8vaTVTREdIYS9aRzRl?=
 =?utf-8?B?MFcxM3VYYWg5VHRJR0pmbWtRb3NDNW1nQWIwbDQ5N2VkVW80VDNBQ3RMdVVu?=
 =?utf-8?B?OUl2STdaa1RVOCs2eGlqMXNHRGs1S0V0T0ZvNUJYRHZJOForS3Nnb3NwaE5l?=
 =?utf-8?B?NDZKbXFNWlJHNzdpT3hrQ2UxVk1WaC93OWlEWk55WHpuVVJwUVZpME5ZUTFs?=
 =?utf-8?B?ZVhIeFNZZDhadEkxUk5YeWF5eTlOZ1N1TzBWVCtBN0RkYitabUlJZUNEdHhX?=
 =?utf-8?B?MHJIWitSZjNPb2ZRcnBKanpPdHBtZGxiQmpsYVpBNkgrcE5NZW5PMDJxOVgy?=
 =?utf-8?B?T0g5dE5lekhzbjdYdG5kVGFFMU45SnJGMlNqU25VRy90K2ZjN2kvQU1RVnVR?=
 =?utf-8?B?MjYrN084SXlJWEpZQ3FPU2Zic2srNjN4aGxOWmNIeE9OZ0paNUVvYkMzR0h1?=
 =?utf-8?B?aGF3ZzZURm5yRXlVRW1SSFVqVzh6ai9MSXpXbzBIeGNIT2IxclpIRWZDMzJO?=
 =?utf-8?B?aG1oMHgzUVRSRXlocGRuMnVZUW9nNGZydk9ycUF3VGQrUFdxRXlEYnBWWmlL?=
 =?utf-8?B?R1dzTmdqcDNhUnRvaVM2N2NNUlRRWVpXYm1zc0pubHJzdUlOVlhBeDF5SGhK?=
 =?utf-8?B?empqc2ZmRlVoKzRTR0dteWNIZjEvK0xHRXZaV1o5R29wZXVOYVdSWEh4eC9a?=
 =?utf-8?B?ZUszdm12RTVyTyt1N2RyQVY2RXo5c21heEx5TXZOVFk2RTR6NnJYUW5vVk0v?=
 =?utf-8?B?WWcxSnM1QUdmQVoreFlYVDJJQXdFNHJ4SEVOL0RGZGRPenNURXVxdWNiU3ZO?=
 =?utf-8?B?NWhaWUxNbzR4MmE3akxSbElBaFhzZFdDQWNaYldNenRHUXYxMFU5cTVjVG85?=
 =?utf-8?B?M3BGV0ljcklzNlNTQk1YeVVFUjhNTTcwOVdKYWlNT0Z3UzE2c0F3QXFRT3BM?=
 =?utf-8?B?SW0zcFZZd3hiVUlHQTNSTWVQRzNCWVRhUWdjWjBvYVJaY3BNMGl4UGFPbnIw?=
 =?utf-8?B?cVlzVzgzN2JFQUNLUHc1cTR5cWxqQXJDbUVZb0UxTmR1MTFnSEtEUkVoNHBu?=
 =?utf-8?B?NzZ3VlB1K2V2Y2U5RnNweU5mckw2MStXS1dNbHhzL0RwUWx0RXVQL2R4TDBn?=
 =?utf-8?B?NTNnZ0htRWdYM0Fkb0lxVy93ZHkwNXBvM3F1bmhKQWQ0RGU0ODBtUnlJOXhl?=
 =?utf-8?B?MkttSkZzZVR6UHNqQUdFQjJXRUdUN1lwZHBqZWpDNXR4NXMyZzZ5dTVhUDRv?=
 =?utf-8?B?MmpWYTRERFY4MWd6bndtLzczRWV0YzRjY3VqVG9VM1lHTjErWExVbzVMd04w?=
 =?utf-8?B?ZEozcHZnZmRJSzkveWI5M2dEcExXRnJXaWMrK2tVdjJCb0djNzRMcWF4NXFq?=
 =?utf-8?B?RGdncEYrekJrZHFRcjljU1BndG90NkF0cVF6dGVvRDNHSTFVTFJ1dmVaTGJs?=
 =?utf-8?B?TEpQazZrUWpHZnJHNFlsN1YwQzBQczJ1emJKUCtGUjlxRWRSbzVxTnM2eXdw?=
 =?utf-8?B?QkZzaEsvaU4rQnN0YTRDa0syNEZNV20yU0laRkVCRVpQK0trbmVOYUUxTnNR?=
 =?utf-8?B?Z3EwZENISmVZREZZTE1maEpGeTlnb2ZHOU5VVXh6UlBDQnpyQ2c5Ulc4OXpC?=
 =?utf-8?Q?Wdml4qHMghcWBQUTNMW14XRhv?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	YO+q6Fc9j4gJL1S5FNbbxuJPlZ0gWokj5aGvtEp7nkAeWzd1UQ0mLbSW/Tc/QnAdJo4Xeoo3V+j8+TYI5fV/TsvRGAxrOZ4oBetbOPMmE91feVzPt1fTSv5JAlhx6jMe99yF8qy5vuxbGXtnvY/teUGlgSBWvCfj05m7ZsQjydaFZMuZiNSyTncDiezEeyLvVzplNPNr4XZfqTnvHA67qTjSExxrqfbmwc7FqKxy1Doi9H7enjgegbSmH8Tdpzg1lqQ5Uyzs+Yt1sWmghFUVU/Jqh3QoI9h8AvNvoJ2pOzCYz8wyx12f+ttqOPZ98TowbEyfDTXt+0zu4zWifeQ9ber6P3CgDJQKD4JjkT2s46gRl/TH4dY6y0BVkhmRdyy03Kt78s81UHKoD+0rYrqNFUd3bOVdL8BWHy3A2KpWEkVjbowEoST0hcFH25WIGGptmi7IqewdLiWNU6I6hQtcEIe0a4SrvFJf293T83AOYjzqfVfRYAfAemwCtkyzQD3dvzUaqVteEILMYtwCJZ+2aDz9F5FewQHX1KlwRl4Zq6n6hRR1Aw2T4bUVumpUnYLV9pt0NVoaTL3nLZCS2nh2LEsEiYrWKE0sPGEIg3PQ+v2yEjrjVIYkAV44Ubdsv86jb5sEByy4Dy6KcQ55hdZ1ZdzSSuPJHDAwZtYNv8pYFBzuXTa+99LlF6k9/+GB2iuoxVLoqHo55B7EpGelW2JrzpCe6UXYL60AXqBMuBVKowuY66UsDBcwaJxbXZA2vAbbLM8OUXCnGNqSatmmVEg4tHNPGnN/WXuEMZJPOWY9Y/ELQBZCv8TTfN1HX4v2ZWn0
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dc96a6f5-4568-4c8a-62a9-08db30605007
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 14:17:22.6657
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FnUwnuDQ5hyDynIdh8Hju63z/5NMsDF3m7fJ6e+yX9jW+EMtOnOP1qk0/Afd1FgaYGczWrwVVE+94FqZ/npXXA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5148

On Tue, Mar 28, 2023 at 04:48:10PM +0200, Jan Beulich wrote:
> On 28.03.2023 16:19, Roger Pau Monné wrote:
> > On Wed, Jun 15, 2022 at 11:57:54AM +0200, Jan Beulich wrote:
> >> ... of the huge monolithic source file. The series is largely code
> >> movement and hence has the intention of not incurring any functional
> >> change.
> > 
> > I take the intention is to make code simpler and easier to follow by
> > splitting it up into smaller files?
> 
> Well, I can't say yes or no to "simpler" or "easier to follow", but
> splitting is the goal, in the hope that these may end up as a side
> effects. There's always the risk that scattering things around may
> also make things less obvious. My main motivation, however, is the
> observation that this huge source file alone consumes a fair part
> of (non-parallelizable) build time. To the degree that with older
> gcc building this one file takes ten (or so) times as long as the

I wouldn't really trade compiler speed for clarity in a piece of code
like the x86 emulator, which is already very complex.

Do you have some figures of the performance difference this series
makes when building the emulator?

A couple of notes from someone that's not familiar with the x86
emulator.  It would be clearer if the split files where prefixed with
opcode_ for those that deal with emulation (blk.c, 0f01.c, ...) IMO,
so that you clearly see this is an opcode family that has been split
into a separate file, or maybe insn_{opcode,blk,fpu,...}?

I've noticed in some of the newly introduced files the original
copyright notice from Keir is lost, I assume that's on purpose because
none of the code was contributed by Kier in that file? (see 0f01.c vs
0fae.c for example).

Do we expect to be able to split other opcode handling into separate
files?

I wonder how tied together are the remaining cases, and whether we
will be able to split more of them into separate units?

Overall I don't think the disintegration makes the code harder, as the split
cases seems to be fully isolated, I do however wonder whether further splits
might not be so isolated?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 14:20:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 14:20:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516289.800179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phWfM-0001EW-G5; Wed, 29 Mar 2023 14:20:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516289.800179; Wed, 29 Mar 2023 14: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 1phWfM-0001EP-DW; Wed, 29 Mar 2023 14:20:44 +0000
Received: by outflank-mailman (input) for mailman id 516289;
 Wed, 29 Mar 2023 14:20: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=WOlf=7V=citrix.com=prvs=445effd08=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phWfL-0001EJ-5i
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 14:20:43 +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 ddefe2b9-ce3c-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 16:20:40 +0200 (CEST)
Received: from mail-mw2nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-MW2-obe.outbound.protection.outlook.com) ([104.47.55.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Mar 2023 10:20:14 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DM4PR03MB6974.namprd03.prod.outlook.com (2603:10b6:8:41::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Wed, 29 Mar
 2023 14:20:12 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Wed, 29 Mar 2023
 14:20: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: ddefe2b9-ce3c-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680099640;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=655IojzztKO2Y/WzygC/yOWj0GYrcEtwP+FsE7a79DE=;
  b=QSgqO1W2+0tDjjYV9zOAkYmkr1nKtcJJ/CUJWrtUH76y4RrZ1klp0zUB
   jO3j26wpQAm1nhir0iWjy6bi5jdPCE1pU7kALK+xk25IrrWcSMWOWgkz5
   PQlnZOAvC0gZlA5n8KYKJYqk8yjYhX5u+CNLPSE5qsxJWW0WetGWKac6V
   c=;
X-IronPort-RemoteIP: 104.47.55.108
X-IronPort-MID: 103553597
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:BT6j36COmhHk+BVW/zTiw5YqxClBgxIJ4kV8jS/XYbTApG9xhGEFy
 GFJWW+GbvfeNmP3e9xwPNjk908B7Z6DndRmQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhC7wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwqsR1GU9y9
 /IjORNdXA7dh8+5xe66c7w57igjBJGD0II3nFhFlGmcKMl8BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI+Oxuuzi7IA9ZidABNPLPfdOHX4NNl1uwr
 WPa5WXpRBodMbRzzBLcqinx27SSzHyTtIQ6RISoq8d23lKq1C9CDzlRcQWWnubphRvrMz5YA
 wlOksY0loAw/kG2Stj2XzWjvWWJ+BUbXrJ4A+A8rQ2A1KfQywKYHXQfCC5MbsQ8s807TiBs0
 UWG9+4FHhRqubyRDHeCrLGdqGrqPTBPdDdSIygZUQEC/t/v5pkpiQ7CRcpiF6jzicDpHTb3w
 HaBqy1Wa6gvsPPnHp6TpTjv6w9AbLCQEWbZOi2/srqZ0z5E
IronPort-HdrOrdr: A9a23:dcMlAKrkznIK9PlyxdPEGjEaV5tBLNV00zEX/kB9WHVpm5Oj+v
 xGzc5w6farsl0ssREb9uxo9pPwJE800aQFmbX5XI3SJTUO3VHFEGgM1+vfKlHbak7DH6tmpN
 xdmstFeaHN5DpB/KHHCWCDer5PoeVvsprY49s2p00dMD2CAJsQizuRZDzrcHGfE2J9dOAE/d
 enl716jgvlXU5SQtWwB3EDUeSGj9rXlKj+aRpDKw875BKIhTaI7qe/NxSDxB8RXx5G3L9nqA
 H+4kfEz5Tml8v+5g7X1mfV4ZgTsNz9yuFbDMjJptkJJi7qggOIYp0kf7GZpjg6rMym9V5vut
 jRpBULOdh19hrqDymIiCqo/zOl/Ccl6nfkx1PdqXz/ofbhTDZ/L8Zan4pWfjbQ9kJl5bhHoe
 t29lPck6ASIQLLnSz76dSNfxZ2lnCsqX5nteIIlXRQXaYXdbcUh40C+0F+FosGAUvBmfYaOd
 grKPuZyOddcFucYXyclm5zwOa0VnB2JRuCSlhqgL3m7xFm2FRCi2cIzs0WmXkNsLgnTYNf2u
 jCOqN00JlTU84/d8tGdag8aPryLlaIbQPHMWqUL1iiProAIWjxp5n+56hwzP22eaYP0IA5lP
 36IR9lXFYJCgPT4PC1rd12GkinehT/Yd2t8LAS23FBgMyzeFKxWhfzCmzHkKOb0oYi64PgKr
 OO0altco7exFvVaPl0NjLFKudvwFklIbgoU4UAKiazi/OODLHWncrmV9uWDIbRMF8fKxPC6z
 04LXLOGPk=
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="103553597"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fwVStKdmaJlLtMp+7a9rMwjy/uH0lH9adVyPdGHDOF6TOUSOeXobd2+w5ClPSSCbAb3OSUsEJ9hKmp4rdkVlRNOnNUo9hrNS4tFIo3wGnvCvCQrUdMCNDB82/FcJuSy0YTTdtQXcx/Xda6nY7Q3n3j3JSukuVzEBIwvXQ4kLHXNUYgjN3zsRlCfTW+MlR++SXsMkXVZhQHNC4o237q3zhKzZz8OUVqLxguwUhG8nQja4jrV9/HSCqFkjzOSlflfl5Q6K59fQ8JHc9hJwC9/qCiCLOG1F10MtSOaxIQvIDg1ExlUxnS/zXE4s+vmRJSI9T03mSF4p+eMZKAxxENKLmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SqAvuPxhF0UC5OLv0I7PWV09VxCAVxMGI1xMtYDsCaY=;
 b=Zzn8Vfla5TMkd6H6nsO8fF2baLRIBpkpVEx3J1+SpPRVHlryXxLMmWLDIzAw8heEsfQ14G1RwlmPajNIhQ58gj7nsEXTqaWHKnPagZkstYwL9XWh8inEXCp+in7gYBpAkqw1ILwxAyudckK6vBVI1Ox+/vxWf4pl9fH7VnPxGRHfQJnT0BiNvwKh+tM1f+5WBOVyIhq1UQbOxa74Bvc/yPSg3tnUdXxqnbxt1e6KrObRyLjP9ekxkjt9UOrvincvhf+jCLetrc9MU+aVE1HA5gX24gIzB5QBoPgnhGkNaBSPvnooNoQrwzRFAc6JZv56dvorwq/w1eT8lnI9lRo+5Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SqAvuPxhF0UC5OLv0I7PWV09VxCAVxMGI1xMtYDsCaY=;
 b=otCXutVhOkQp/idS9NbMZhpSeoJWo2KWU2pxwc7oZ2k4TIzQtDuZUmmLltc5Pm/T4o5RfiUu5FkAJr4YMPLFy7Moc8OH22WXle6PdjfIk6O271qC0grcKhu92gLPDRhMJbX9W1QVTCGNxsR6UXF77G2aASH4Lhva14gBAycKYVg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 29 Mar 2023 16:20:06 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: [PATCH] vpci/msix: restore PBA access length and alignment
 restrictions
Message-ID: <ZCRJFkaF/ueQEmcC@Air-de-Roger>
References: <20230329101810.84726-1-roger.pau@citrix.com>
 <77d0a652-89f1-af15-0a45-0bf28a826b15@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <77d0a652-89f1-af15-0a45-0bf28a826b15@suse.com>
X-ClientProxiedBy: MR1P264CA0174.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:501:55::14) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DM4PR03MB6974:EE_
X-MS-Office365-Filtering-Correlation-Id: af00e2c8-2857-45a3-bb19-08db3060b565
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uCGJWAw5sKShtEQHE3/KmczQHZhf5zx871YulHKiX89QjAzpYFsvhUZN2CtFyDva3D1uybjxFMYvDE5vzJ9Dle0n9hmBbsZs7hhUZvE9lf3y2FvYtVh/PgJxY0ErOL7FWpFbXTlLPWoYKFDBU8yY3OrOk4UJqD/AzIzYjIk4yAKBC9/zgjFGOw8UpI8qI/CJAVCyqmFILN1CkTHMiwW99p7b3sAkXhjdqhjI1t4NvAZrYRNjYbfeLtcaggZR11fnfgWSwOsPbIGT6fCO3s1G4rRCwB78AVpifXuJEAFx2BTQXA7dqTGAf8FsK1D6oG+RkTI1oivRLNL/9wKeweH8Y2lTLs/eV7L1pXn83/eu0K7+X7VTxc+LcYTzzpnqFzU/gSw9W3B4vsPzMrdzm3Y/iCItO7XQm5qTkdwhiCpu0kMUdxRA5srQPMW/blkik6c+CIu5GQj5rTKRRO/wEVynAFmQMebeUKgPERZ4BW8pKul3qLNL8gNCO98tkz8Pv3yZzRWuOvJx9SICWiT0QHlSXVcnPAm6aUYVPpsZzYjDdGqyAIq1UfSh1RuSQGwMXc7j
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(39860400002)(396003)(376002)(136003)(346002)(366004)(451199021)(82960400001)(33716001)(2906002)(38100700002)(6486002)(66476007)(4326008)(6916009)(41300700001)(66946007)(85182001)(66556008)(316002)(8676002)(478600001)(5660300002)(83380400001)(186003)(86362001)(6512007)(9686003)(6666004)(26005)(6506007)(53546011)(8936002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dWxVekZMdW90ZUY2VzNuaHBxUitQQ1pEV3VlSjdqc1BPbHRubDQzdjQ2UHpy?=
 =?utf-8?B?VEpDOVltYXA2Z3BvSWpISFVqanBrdzJuQXRKQzdseHRBRkxFVHNjbXBrZStY?=
 =?utf-8?B?NUpSQllRK2x4Z3ZDNFFTTUg5NGVURnZBRzZyNUgvYnM3YzRNNEtCZVAzNnB2?=
 =?utf-8?B?MmJKbTBabFkwMmo3NVNTZDVwTXdvRWhvOEQ3N042TXdkNkJSTmVmSTNFZXNp?=
 =?utf-8?B?YlViTklKd0doSTV0MVhWNFhWWUdIczJrVHhNTzVDK0hzVmJ4b1EvazhxczJL?=
 =?utf-8?B?a01BMnlqb2l6ZEtPR0FPclpJQnh3Lys3bG50ZjZmWGQ0ckFmTTZKYzU5cjQz?=
 =?utf-8?B?Vzliby9HUm85bmhtVi9uVXdvZnFDM0t1dEM1U1hHejhIR2w1TmNSQ1FVYmd3?=
 =?utf-8?B?Tkl6R3BjdnM2WkwvY1dzN3hoendvdEhheFMwMzZYOWVMSFZtdlZwaVM0TERJ?=
 =?utf-8?B?eEM2L2dZZ2QvVXVkTHVBcjBxWStCNXhKUGEvd2QwMElBalpVSlJvR2FBL25T?=
 =?utf-8?B?dERxOGROK3NLL1ZaQzY4dU9uVnhpemNMVnFIVW5aT3VySmRkSzRZVEN2K1Uy?=
 =?utf-8?B?eEdQMmJ6Q0lnYWhSaDBvZWdIMlBkVHZnOUFGdVZWeUVzcDJzcmQxdE9tUEk0?=
 =?utf-8?B?Z1RQYzg3R0JHU1g3STkvQUlOWXJDUEl1Mkw0ZXA3dm4wLzQ2dFVaUjhVcjVV?=
 =?utf-8?B?L0RPUjQ4Sk5UTFlGd0lxeTRUdUlQb0dMRnhBN2ZpSldpOEk3S2hheEE0MHpR?=
 =?utf-8?B?ZHNqcjJ2d1QvNFJENlFnZm1SR2d4blJFLzVDc3hHdUhWc0hiWG5KbVBlUUFP?=
 =?utf-8?B?MFhiT09MRURpSmh4R3ovdEF5SFIwZGwrdUtRNmtLdGFsTmxxeFAvV0dkOU96?=
 =?utf-8?B?bWowNFNYR21pUjcyZDhoZGU5UXh2K1ZsVHQrU2Vha3crbStabW5zcnNZd0xZ?=
 =?utf-8?B?QlV3dm8zSzllcTlkN1FDdE14S2gwc3FlN1cwV3dKVmRETk9lMGFyaUtSVVZs?=
 =?utf-8?B?Uitld2crSm5vbDh2WXpuSGoxc0tDVkxIODQwQjV0UWtnMVZ1QVc1aUVMTkdF?=
 =?utf-8?B?cUtVdDNmOTZBZzhOVDh3WktqbkpQRnB1QUxUTWdyeEZmQVNjeFIwcHRQY2tC?=
 =?utf-8?B?NTNvbFlsR0FTM3A2RjFDai9rTzZ3TXIxbnh3NVVFdlIyQWV6UldKdFlIc1hE?=
 =?utf-8?B?cEZTRlBxY2NsZUIxamVGVHFmQWRzd0EwenBOTjNGS0N4Q2pkMjJCaC9zdW1G?=
 =?utf-8?B?aTU0c2NiR0xNM0EyeTEyTk1VUjdWR1M5YmhqNWt6TlY3T1BSOExvZjUraWxR?=
 =?utf-8?B?VXg1dEp4TzloSy9XR3AxYkJPcE5PU0tCMlJDbEllR0JuM1FqUHBOaXpwVUZO?=
 =?utf-8?B?cENtYW1UNE9OTkl0TEZhUlJMaGlROHZucmxPTFMwV0p3UjA2dlBGSlhFZktC?=
 =?utf-8?B?aE1KL2xKT1J1MFhPc0RwQ0lMYW1INjhSdUdodHNZVkFNSEpXd25kZk1xdjBl?=
 =?utf-8?B?T0dLRTMxUS9yTzBMSW9HeXNSMHNsRjAzdlBGRDNmUTU0ZUp5N0krTkpodjEr?=
 =?utf-8?B?bDVhd3JOVnF0ZHA1c1BWYXpycUFwTC9Pb0h0RnM4STNpdHJTMkU5a2UwVHVV?=
 =?utf-8?B?MXVTbThHZG9NUmlJNWtBUHVKS0tOMG1vdno2Ymdnei9aUnZPd3RoNXRYWDhY?=
 =?utf-8?B?UGZLUEV2d2h5aDlZVTR2QTZmRmdydzhuaFgrWm02MnNMejhpWTVFcmgySjgz?=
 =?utf-8?B?bEhjamtsbm1BeWFOcGZOZWlNM3MrM3RKUEdTVkN1aGtVeUFCZzhUQlNuTGdU?=
 =?utf-8?B?K3ZrbWlkc3JDeUdNU09oUDdya0NRY2ZLbWpxR0c2bFJ2MjVwdXBvMXFyMmIw?=
 =?utf-8?B?RTRYamtWa0ppOStmeGxiUCtibEdnRGgzNjFPc3BJRzlyV1pCSFpXU0t1SVJ1?=
 =?utf-8?B?MzUxZ0xNdnRwUmhWeWR1VVB6UGFScS9wZjRWdmxWQnpnZnFmUWlYRVZvRitq?=
 =?utf-8?B?SnY2eWxrRDJ0Z1JaZDlQb0NaV0t5aWRCQmptSG53YVUzTThEU250V2JyR2J0?=
 =?utf-8?B?dUpwYmNKTWI0OGVpL25VbWRWZ29kWHh1MTd2UXgvME03cmd3bTgzWXNicDlv?=
 =?utf-8?Q?JW94RrumRDjH/ViBtNkWvO1Ic?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	ZCMBtIZt6eH8Bb/v0lOJWqKGe8aTGIG6Qo7QYy0warWqJN12Jwtj8ptMOO7fCA6EiKhfLuPaQDDgeBgN8JRA6JgyetTfuV8W0Cc/x+W8ivgy6FYg4GjBloG2/DxucdjRWYFBy5u/0YNZ4vuXmtLw1XYLXZgYGAw8it3gfQPb149BQqC1ms2/jK5sdotVqg05du3E7MHg5es907iM20gH4ovHs02tfc7i1o7gDAwSEEQtv0TvCzhxBAXsfUFzHZi3pzluP3MG8QfKxwW2KgcW/o2gBYsn/Zikj7R3rkW0o4HMZiab6DKbM+GDuDcSUYXwgiJWL44W9949xUMKk7VPNc8+J1/68ppcY9rk8A3CWN1DhOS7kS2pBt9MTIotQDrkip8yciVXUMtvfzurco7VLaFzZgyYuBSgkcnSKw1mxKmQnYLmCwkD26xyJVujGzs+kFqNFXq5I0WYPp+Xu7wRlYSSfNOFCPmWsytqMa1BnWiQLF1OBFFT+Gk1KYig12ANKIWBjDXMtan1hkU2i8IpoFxhNNL2U/RIhA3w+jCK18mE2ToZpRYyX89ETnbwWUeKphNaUAjJ11TOOIXNnbjo8k9BeScGDwy3WuPb0UcMs2T/BhWbCaHdz2F/uH/7o226ak6y8wmMchjYWKn/IFeaOHNOJJV/MwMTKZajhO3H81BQrgkGmQ7wGR41Z4USYDODt/BS38OmSLXmgPee0PFjweaV7XhgkOWs/GZC9eHGp9Rl0aDAg94jse+mHnulU16Unz8ncCu5s49sre5yYuggTvfujeBf8x3ciIRb48G58Sw=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: af00e2c8-2857-45a3-bb19-08db3060b565
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 14:20:12.3269
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: M7LKKQGUbcFakVSHaVNWhPyrgxSv/1oIWOD5nkLV9ik9EAWZEqDfAAhXPAaR22BH4tXU/pdWwK7ezAhM14ovHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR03MB6974

On Wed, Mar 29, 2023 at 03:22:34PM +0200, Jan Beulich wrote:
> On 29.03.2023 12:18, Roger Pau Monne wrote:
> > @@ -419,9 +424,8 @@ static int adjacent_write(const struct domain *d, const struct vpci_msix *msix,
> >       * assumed to be equal or bigger (8 bytes) than the length of any access
> >       * handled here.
> >       */
> > -    if ( (VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) ||
> > -          VMSIX_ADDR_IN_RANGE(addr + len - 1, vpci, VPCI_MSIX_PBA)) &&
> > -         !is_hardware_domain(d) )
> > +    if ( VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) &&
> > +         (!access_allowed(msix->pdev, addr, len) || !is_hardware_domain(d)) )
> >          /* Ignore writes to PBA for DomUs, it's undefined behavior. */
> >          return X86EMUL_OKAY;
> 
> While preparing the backport, where I'm folding this into the earlier
> patch, I've noticed that this change has now left the comment stale
> (the problematic part if just out of context). Not sure though whether
> that's worth yet another fixup patch.

I see, thanks for noticing.  I think I can likely adjust in some further change,
or even just drop it, not sure the comment is that relevant anymore if both the
PBA and the access must be aligned now.

Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 14:28:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 14:28:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516293.800190 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phWmY-0001ve-CO; Wed, 29 Mar 2023 14:28:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516293.800190; Wed, 29 Mar 2023 14:28:10 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phWmY-0001vX-9M; Wed, 29 Mar 2023 14:28:10 +0000
Received: by outflank-mailman (input) for mailman id 516293;
 Wed, 29 Mar 2023 14:28: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=Nc1T=7V=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phWmW-0001vQ-Jg
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 14:28:08 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0610.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec28eb4e-ce3d-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 16:28:07 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PR3PR04MB7451.eurprd04.prod.outlook.com (2603:10a6:102:93::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 14:28:05 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Wed, 29 Mar 2023
 14:28:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec28eb4e-ce3d-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KEzkIKRQO3DyVTyWTDtsUIrYXFzFoFLsAZSTligLxQlkeer45kmpuorlTMYVlqZBlsFtyh9/3T2TmTuBXCRLkDvNScm0OQndUTPurOyuWfPIhw8NAm6ie2gpEEakrGb/CaukIVzId1fw3cZNTN/eqj+mlGscdgjvaAhhPLHKdSDgBYb5gkCTKbwdKhObs2ubvAavQUFTX56QMAZkkBO6otxM57s/6/tTAy1a7t7hja+inaFPkfsiAHAWRXLYjG0sNIAdGBQeFM8w1/9ivLnt6LAmn109wP/gC/uHDyguuDyS9Lz90qraOpge5NXWevRXwWX/q6osZBNinMWVRWr+Aw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WEFc+1aSD0VmI3gjzogVrPnLxrn5weTFYkL6yLR7CBA=;
 b=hjdYpsTmRrrcKKGh6ZHCixJv75L64kD0MgMgBY3ebA2k2ghp7o8ud7SKxaLHg2R1rFT+GcDL0Kt4VOEQWQhRkfYSimmPz/15HPSZcZ6XqK96Xf7JPhrprcvtA8c/Bw8jzSFXULVINekqs5kZMh5kEH7n0bmxfUALffsPNZUMzzCO9XrcDGgLp8P+48zUJdBjwPFOD4PwVe1/FxyYVgYr6jxRuN4jET6c6fDDv/Qs8/1oe2JkjXRjbCfmq8guDzmEB6sAChsYfX4qthA9d0qew8el6aA21PK0c2picud01bz7Sff/59hKv/Ql5ag/3dflSJeRCmqn4x/wfyrHUgicWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WEFc+1aSD0VmI3gjzogVrPnLxrn5weTFYkL6yLR7CBA=;
 b=j1IhigNUsPPXfcDB1vaEKvHHI5HejXsDo4wldAzMrJnSbcgN67Y1ZNe6YbjzDk+2Cu+redjdsfOx1TehmHKz1KzyMRSvY0JUt2f5d/qfdtW/m+UKCHtYF1eeRRmzCSGndl3vV3te4Xjg7mKaL4lBrAEdL8gX3dWX6A6cTTdV1Yn5wo7Cj3UAsjuv4+xbGm3P9XLYhepJhGKhc1VHDwzXs46OgAwsdJRKFkPmAYwKLb5i9gLgrw0UAuGXl2etrt93veC39PqVeKOLkJHhieza7f2fJkdrfUMIKE3KdmuOyXVzFmxu+eVGHvVRpzo7u4nrZdLBTy7TpThxXQAPQIcmiA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e9b29b4a-6d41-5434-191a-1db9e2335954@suse.com>
Date: Wed, 29 Mar 2023 16:28:03 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH] vpci/msix: restore PBA access length and alignment
 restrictions
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <20230329101810.84726-1-roger.pau@citrix.com>
 <77d0a652-89f1-af15-0a45-0bf28a826b15@suse.com>
 <ZCRJFkaF/ueQEmcC@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCRJFkaF/ueQEmcC@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0063.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PR3PR04MB7451:EE_
X-MS-Office365-Filtering-Correlation-Id: c1e4359e-66f9-4b41-0d2b-08db3061cf95
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DUsSaseYt/Qge0/n5YNpNLa/iqfpPZfU55pOlCtpgZeHu6VlBvAwYL829L4QXeWiurT/Jg3bhoCqkpiMSpNtkVihieJfLG3sF1JsxDPkhX94YQkKjYOtpyfESSwHl6Ol9NuSjJTlKPnsJh3e2FCFjNsXMCKPFHcNbErKorkkjz4SyQk7aQDhE/hnDlVJzLAhsuTYwtW2jJ9Zc2YgKtEKSfN1rM0qlyGajYJMC5rGmEyWPPS/JDy8Jg5Y0AI+3h0K9oNP51LR4mkFis+ZdzvNeBwvGnCzdmPYBBZyUKvDRQrAtmVGXGdy4fiPfG2J5IUqMArrReN+br1pBZFWN5serJbH+Nia9eESLmH4TjiDOPw0NO/xjdn3nDzX1RmZklB+k7XfqNQLBxmbN1enPe0A7EmWTcfg1Rx+Y6gM0YZruHaabsH3LXMmo6R8usN01rAa0ZaTO0hwxbhohjp66dAscV2EAyDCqtALQ67tgOJKq/ss/XoPVpD2NBOZlguih0ctPjYwKP1bbFu3xnBuIWzeY550odQkOm/9FmjyzvPwQdqvsJSWrApkZgz80/oZNq64tu4AR/62SxfSJwDRg/5l6NlnAVDaXAfE9xzGP1ImGzuNHlUaUUjqZgde6fr26yTzO1uOZXjqk0zGSEF8pT7Izg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(396003)(376002)(346002)(39860400002)(136003)(451199021)(83380400001)(31686004)(26005)(53546011)(8676002)(478600001)(316002)(6506007)(36756003)(66556008)(66476007)(66946007)(86362001)(31696002)(6916009)(4326008)(41300700001)(6512007)(6486002)(38100700002)(8936002)(5660300002)(2906002)(2616005)(186003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UU5JK0Zxa0g0R0NHSVQzWmNRWlpPb1lqWFhoUkdXU3ZPV0c5Y1dCajBmczZH?=
 =?utf-8?B?QlVFT0xsRzZ4WFhKb0dVekpORFFUZGVTZ1h4T01BbEROdkNSbitxNWtIS0FM?=
 =?utf-8?B?QjZpdHd2QWViUEc5VTZqZkJtcm4zRUhaeDRKajl2bW14cHpqYnhzVUkvNWhj?=
 =?utf-8?B?Rk93a2ZSNmpGc3FmeVovQ0xOQ3VFMDZJZmhpUVNOcnltN1BJSGw0THlsOFBk?=
 =?utf-8?B?YXZNc2JRekRPc0RYOTh4eVY4U3Q0VjhvVGk4YnMrRGFwVEpJNG5lTU9nVHFj?=
 =?utf-8?B?R3VKeEVsMkpScytjN2FIV3hDMEkxSmorOXVDQWw4MWkybjg0bnVLOVlybklR?=
 =?utf-8?B?VmVmNWhtSS9JNXFCVmo0cDc1U0w5VzBta3lvK1ovb1R4ME16QjVHTVpHa0F2?=
 =?utf-8?B?MW1XWnBDV2k4SkUzUmZoWkcxZTBNNWZ0SDI5N1hUakhKeFUyelpXR0cxdGg1?=
 =?utf-8?B?NlRIVDl2dGpOTHJ4dmZraHdCVnNlbGFoazJQTCtxMktzMXJIdnFWYXhYVU5M?=
 =?utf-8?B?alZnQStNSjh4cmZqcUtuM0Q5aVZCT2xMWlhSdzUvQkJ5TkpkcWZUT2N3UjVl?=
 =?utf-8?B?Q2R3enUyVGplMnN5UGdPKzk2ZEcvRmdvNHFCaVdad0VBaEpGSEp5TTdDTmI5?=
 =?utf-8?B?QkM5MlZGQkg5dk96bngwR3FyaXhnUElIQzZpeXlXSmFsdW5ZSnJuYTMrZE5Y?=
 =?utf-8?B?UjNDeUovbGdoSDlTV1BuNUcyVkViUHVESGNjaWtobHozcDE0WGN4U0p0SFJ6?=
 =?utf-8?B?d2xoV29VOVBqQWtEbFo3TFRsanNVMnJHeGttLzZvWVdGcmo0YnYrK29mc2k2?=
 =?utf-8?B?U3JxRmdJWXRaTDB4Y3pvNmQrY3EwQ21EZzIwcFh0STNEbDdXQlZxY2FSVVh0?=
 =?utf-8?B?KzVoNGEyTGVRenVTa3RLRkJrQU1aSnhxSW83MWp6VVNzdkZBQlJxMG9vOUND?=
 =?utf-8?B?U0c2OGNmSkRQV1F0WkFpYnpGSlBiMjBXOUtpYkpuaEZ5WjZUZlZCTlVaNUNx?=
 =?utf-8?B?UkdIaVlIUHRTSVZqYmEwYnlaRkF5cy9zc2dlckJRUU1nQ1JTd1k2eVIxTnN6?=
 =?utf-8?B?dC9SWVJoMS93TTV4dWE5V0ZSZFBmWEQwYW92Y05RaXV5QUxBWGdPdEJmWjl6?=
 =?utf-8?B?aVp6V3U5dkcxSlJaakhLSkFJVXA2SktFdC9RRUdDQmlCUVBOWUJ6MzJSUkVo?=
 =?utf-8?B?TnNQUHEyUUtCMG1SckRxNmtFdEkwdDREQytkWC9FeG1GUHB1NjVGby85L3dU?=
 =?utf-8?B?MUJ6SWk5OVpDbXd4SjY2Z0R2RTF0U2tIdWlSL0FydzVVcXJPbUk3am9Eb3ps?=
 =?utf-8?B?b1hrdGlRZGZzaituRTFCRDBEMjU4SWwwQVBHelllc0orNWRSUnU3cWtrbXJ3?=
 =?utf-8?B?bW9EMW1vSWswODVvQ3FBeTRnZTRhSWFTdUIzcUVRakNaR1hvOXFxMDAwWnYv?=
 =?utf-8?B?alU1RzJ2bVFWK1lZUVltVUt5NnNmNThsMHIyT3czUXNqVkZhY2dpZkV6WWlC?=
 =?utf-8?B?UjdpcGc2MGdRQ3lhN2tHWC90M0VzS3RQcmZiRFpvUXdFS2NVQXFGN3Jhb0RP?=
 =?utf-8?B?Vm9HQXlyTlkyM21zeTJzUzJKZzFFM3ZwNnFvd2c5ZWcvK2V0aDQ0WkhVeTlh?=
 =?utf-8?B?VGVrN2hnTFAwQk9KZHowcXVmcnIxQnRLSjQrMnpRMGRnNGlkczJ6dnhsVmZ0?=
 =?utf-8?B?MS9oYzFubTNLQXpiTnVQb1RiRTJDYUU4eWtGRmVqUmYzblhYbmhERm5qTU5T?=
 =?utf-8?B?UWJPaXhyYm5wMWN4NXYyRUR5L0QwSVlNQzQ3VUJEV3hoWHk1dE5qOFhTS2Y3?=
 =?utf-8?B?ekpqQ0xTVFZ1aFhPWDBsRWZ0RUZLUGhRYnJsQnBWVkQ1V2pSQUs0SC9Qd0tN?=
 =?utf-8?B?cWdTVURuWTc2YVNhaHJMWWtKMHZoME5ZcG5LdVp0dUpZVG8wQ00zK2dpc0tr?=
 =?utf-8?B?MGsxU29rUzhjVDkyMVpvb1J6UE9KMVJtZ2pJM0I0a3RMelBMV1IxOFNOR3Jw?=
 =?utf-8?B?QVZ5SG1TZ293RzJJd0VycEYvaFQ0MlN5MGtGSmU2UzFVRlhwb3VHWXVLcng2?=
 =?utf-8?B?YkVQTDlabklSVVBjVTFBM3ptOFlJSXdwcXpBZjdwSWFYdG9VUGRYN0sxZ25X?=
 =?utf-8?Q?HCdRKL3WYLx54RZSfKSbN/GpC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c1e4359e-66f9-4b41-0d2b-08db3061cf95
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 14:28:05.7067
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LeFVjyEar5tgELvLlX36sgzQD+Ue/vUCewTXk55CS2cgnnSai0lSJ7UL04JTiKq8pGWykMhW/iwZc+W3fATGtw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7451

On 29.03.2023 16:20, Roger Pau Monné wrote:
> On Wed, Mar 29, 2023 at 03:22:34PM +0200, Jan Beulich wrote:
>> On 29.03.2023 12:18, Roger Pau Monne wrote:
>>> @@ -419,9 +424,8 @@ static int adjacent_write(const struct domain *d, const struct vpci_msix *msix,
>>>       * assumed to be equal or bigger (8 bytes) than the length of any access
>>>       * handled here.
>>>       */
>>> -    if ( (VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) ||
>>> -          VMSIX_ADDR_IN_RANGE(addr + len - 1, vpci, VPCI_MSIX_PBA)) &&
>>> -         !is_hardware_domain(d) )
>>> +    if ( VMSIX_ADDR_IN_RANGE(addr, vpci, VPCI_MSIX_PBA) &&
>>> +         (!access_allowed(msix->pdev, addr, len) || !is_hardware_domain(d)) )
>>>          /* Ignore writes to PBA for DomUs, it's undefined behavior. */
>>>          return X86EMUL_OKAY;
>>
>> While preparing the backport, where I'm folding this into the earlier
>> patch, I've noticed that this change has now left the comment stale
>> (the problematic part if just out of context). Not sure though whether
>> that's worth yet another fixup patch.
> 
> I see, thanks for noticing.  I think I can likely adjust in some further change,
> or even just drop it, not sure the comment is that relevant anymore if both the
> PBA and the access must be aligned now.

Yeah, dropping would be fine with me. Plus you're the maintainer anyway ...

Jan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 14:34:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 14:34:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516296.800199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phWs8-0003Q6-16; Wed, 29 Mar 2023 14:33:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516296.800199; Wed, 29 Mar 2023 14: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 1phWs7-0003Pz-Tx; Wed, 29 Mar 2023 14:33:55 +0000
Received: by outflank-mailman (input) for mailman id 516296;
 Wed, 29 Mar 2023 14:33: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=wGTc=7V=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1phWs6-0003Pt-At
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 14:33:54 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b810e5ee-ce3e-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 16:33:49 +0200 (CEST)
Received: from AS9PR06CA0162.eurprd06.prod.outlook.com (2603:10a6:20b:45c::31)
 by DU0PR08MB9420.eurprd08.prod.outlook.com (2603:10a6:10:423::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Wed, 29 Mar
 2023 14:33:38 +0000
Received: from AM7EUR03FT045.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:20b:45c:cafe::f6) by AS9PR06CA0162.outlook.office365.com
 (2603:10a6:20b:45c::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.43 via Frontend
 Transport; Wed, 29 Mar 2023 14:33:38 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM7EUR03FT045.mail.protection.outlook.com (100.127.140.150) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6254.9 via Frontend Transport; Wed, 29 Mar 2023 14:33:38 +0000
Received: ("Tessian outbound 3570909035da:v136");
 Wed, 29 Mar 2023 14:33:38 +0000
Received: from 4c62fec2e42f.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F0DABEBE-0DBA-410A-B085-388E81098274.1; 
 Wed, 29 Mar 2023 14:33:31 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4c62fec2e42f.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 29 Mar 2023 14:33:31 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DB8PR08MB5372.eurprd08.prod.outlook.com (2603:10a6:10:f9::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Wed, 29 Mar
 2023 14:33:30 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6222.035; Wed, 29 Mar 2023
 14:33: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: b810e5ee-ce3e-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tkx2eg6gYLHAn1XB40x+OvCOhM+/Td4YWhdLWp5eA/0=;
 b=vRwAiV0eeBCdt1drMsOaAST/NKr2n2hVA2yu84gMWJfgflz4PNBNP/vxv4ozR3WF4+n0KrxVvKYWcgM8Ep+fCAKzSrc4fjgFrTYnE0f9MJEZkQF5/NJ8rG1Hh3/L565IoDiYRHhNvbCKeW+IJQiFE/lyP9rU5BPppOweuWj3wMI=
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: 4bd79f0f5d0f9d4b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MbUL3aVKdOfp+ukNNFNgIfJ6haWQZyDMH1IH+F68kMWEp2n3RKkJ2NQ0tp6EDsJczTLA7ilhzERajnyPqgNm7Xfq8aypCUk8fig7VpaiDu2gKqWnyjgBq7skYp4u1/lpZguRvZH0rvS+RneRuM+HwWATzKWSD256+oDI05km5tgN/zTji/zEyd8VvuQIODhf4s86+1XB97X9Vr0qst6FAMQMXlD8Ir5w6FQ1qF1GrQ0U2rY7C8LAJYhwvxeiqRkQBskG5oTgub58jiOMC7zRV3TctEQsQfuLnn+2d2kLgGp88dJmNNIoa8hey0MGeoScu5wSpCAq3VljFIl7xf29xA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tkx2eg6gYLHAn1XB40x+OvCOhM+/Td4YWhdLWp5eA/0=;
 b=RbeGE0z/w7jfIyqBeVMG3SK2o5TvpEPWH2ZP1v6LzlZF9JYB6DYdMVRZ8+urBqfnG1PDvQC9T6Fin5brsY0FkeEqa75V1AMWS8wN322D6MqCy6CdL+ZDIJrrmMbMp3/qtX3BKxnsR2lmQTf+Iy11SxY5V7u+9KE6TQzfis32pPQjtwY8k0FZucor09TRwzsCDAZ6F1jTPcTD9l9QuzqOMlHsP9mz4wWbzhzDzdQ2KTY3MFaJ9zsoSiCQ848Z6CUoO6wP62jpTa5H6f5FSF55L8Vc4f5tWMdK+NnuwztoP7q1m0qphGmNC2IsGtjWQujGd2xcqI6etyhdPMwE8wAesA==
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=tkx2eg6gYLHAn1XB40x+OvCOhM+/Td4YWhdLWp5eA/0=;
 b=vRwAiV0eeBCdt1drMsOaAST/NKr2n2hVA2yu84gMWJfgflz4PNBNP/vxv4ozR3WF4+n0KrxVvKYWcgM8Ep+fCAKzSrc4fjgFrTYnE0f9MJEZkQF5/NJ8rG1Hh3/L565IoDiYRHhNvbCKeW+IJQiFE/lyP9rU5BPppOweuWj3wMI=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v4 07/12] xen: enable Dom0 to use SVE feature
Thread-Topic: [PATCH v4 07/12] xen: enable Dom0 to use SVE feature
Thread-Index: AQHZYJtnVirGlcet3UaNyqwRESxZda8P+VUAgAGzKoCAAAUrgIAAI/AA
Date: Wed, 29 Mar 2023 14:33:30 +0000
Message-ID: <BF65C0DA-1B2D-4711-9AF1-F290B7B513EE@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-8-luca.fancellu@arm.com>
 <2846794b-8057-2f41-3082-4d6c6fcd3f50@suse.com>
 <B3F6542B-B6AC-47F1-A273-CC2E0F347E59@arm.com>
 <6f1ac2d6-b772-e25b-7170-5de896aed612@suse.com>
In-Reply-To: <6f1ac2d6-b772-e25b-7170-5de896aed612@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.3731.400.51.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_|DB8PR08MB5372:EE_|AM7EUR03FT045:EE_|DU0PR08MB9420:EE_
X-MS-Office365-Filtering-Correlation-Id: 53081f11-8744-468c-459a-08db306295ff
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:
 rsxyPhCzx0q/HcY0IekKJjzs+ECLjairSBNAMDWmdR6fjLyq5UyXm5zWxaojEEILXvVNAK+PdQ7MYDVFjUk990tXuoAseQ3YWWuIZ+JmJfyc9fk+pIvnzEoRH56NiNpkMOJdFfYw7W1bHULQRTKzt9bI1dOCzrKJmvffJCavyRsWVPTE8/XLfiwIQo1IdZJmjMIYMFB9zHpuLMk7IlW97u7y737VW8FELdomoAmIGaNDG4ilpBcxBN1K1/B7MUvjy2zA9XPB/qlFzw+IHMalhJlFPJizrnnxFNLZ7CpTgHtECvvc4EYCRqFRwSvDVAObcbdYDSwHvlCvO3CBb1uvaNCuzcoiUudTPPPwqiZenCp1g+zmYqLh1xnimp0tIkBxYqoSGlqCv+Egz9NDO1luItOyQQGz0YuWfDhl9KZOGgRMRFJxcBM7OfgjHR9G9fC/Ehb2q1zyeUZ6Kh8ZUHu1bFmWp9udqntv764IZC5/PUCz/IRFWIhYEm45QqSn/9JqWUCMU80m5Wl/WQ/YTIX5Zd1qAmjgJVG55slX7KWdf2zOqqfnE7n7tZDfhkQLgaLdI6104twpG47HHLqxWhTcBsBTWbNQg6LaiQso5ClPOGF0y8xUJ2BE7Fxo1azspYtg2R7aBBe0nEFqJZ2iRCDRGg==
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:(13230028)(4636009)(376002)(366004)(39860400002)(136003)(346002)(396003)(451199021)(54906003)(6512007)(6506007)(2616005)(53546011)(26005)(478600001)(186003)(91956017)(76116006)(4326008)(6916009)(316002)(71200400001)(66556008)(6486002)(8676002)(66476007)(66946007)(66446008)(64756008)(83380400001)(38100700002)(41300700001)(5660300002)(8936002)(2906002)(122000001)(38070700005)(36756003)(33656002)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <C119545DB5411D418675E291CFCC63C4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5372
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:
 AM7EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	29d32248-c678-4412-6251-08db30629105
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oeI8QiN6XS8NhqWUZ7r/TgqdK0IgEu+8D25+UUoNLm0E+tE2sYI/LVTPCyhs6fRoubLMGtwVJCTlecS8RDCqIwCC1RZU725ORMrOjHHs9bdFKq+BkoAKcXxC91OwaWgFd1B74j6voxYLYPAkQXCSXcUFpvjZTxB2J8MhdwQRn21THmvJKLT1iJwxZr982KzUAY9R80x85OV/8EfClJGI9ULQYTzcX4CiTVTjpCslKTgr3LecC6lXZ8jdpeK9ZjrLvhEctgg+0piReajpLLeb6Ed5+ZxwIr/YFxc8qcmjzncXpUI+2HvX3dwhKwLd2JfCDrxHheC+2ZvIzJYbb1351Kkkgr1sa/FDeGsWFasFkL2/UjzVY5pyb0uYpkwyX7HhFSy7jl7biYDaIh963kT5sKyF37CPX0v4/oMKCHLPtY9IXagMoWm311yD7cuXTM2FlHfxhZ2BJ15YRPaQPbExaIwFMYkqj/ZJL3Ehhi4cRdu2FeffUaNcHr6SDKhN8F7v/aycnGPLRKozeL88LfnY0/6gFE3qnbigc+uKUCFXMA+5lnVoD/FZ922WvKLBWsuVsZYH7wIkO03gg4odJcxx7sBL04eBZ+eWIBVNjtc3oHvLQr9lcL9/3LDnxs4LEnd1mN0jZ2H8XVYOqSwNLLKfT2r9enyWW+TbhO+SGPr+waktfAasNv/2eCQIu1Q0QxHsKqGParbawGs9Ef1VXwnMiQ==
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:(13230028)(4636009)(39860400002)(346002)(136003)(376002)(396003)(451199021)(40470700004)(46966006)(36840700001)(2616005)(53546011)(54906003)(316002)(83380400001)(336012)(6512007)(186003)(6506007)(26005)(47076005)(6486002)(40460700003)(6862004)(86362001)(40480700001)(33656002)(82310400005)(36756003)(81166007)(478600001)(5660300002)(8936002)(356005)(82740400003)(70586007)(70206006)(4326008)(8676002)(41300700001)(36860700001)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 14:33:38.3895
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 53081f11-8744-468c-459a-08db306295ff
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:
	AM7EUR03FT045.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9420

DQoNCj4gT24gMjkgTWFyIDIwMjMsIGF0IDEzOjI0LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMjkuMDMuMjAyMyAxNDowNiwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+Pj4gQEAgLTYxLDcgKzYyLDEyIEBAIGN1c3RvbV9wYXJhbSgiZG9tMF9tZW0iLCBw
YXJzZV9kb20wX21lbSk7DQo+Pj4+IA0KPj4+PiBpbnQgX19pbml0IHBhcnNlX2FyY2hfZG9tMF9w
YXJhbShjb25zdCBjaGFyICpzdHJfYmVnaW4sIGNvbnN0IGNoYXIgKnN0cl9lbmQpDQo+Pj4+IHsN
Cj4+Pj4gLSAgICByZXR1cm4gLTE7DQo+Pj4+ICsgICAgaW50IHJjID0gMDsNCj4+Pj4gKw0KPj4+
PiArICAgIGlmICggc3ZlX3BhcnNlX2RvbTBfcGFyYW0oc3RyX2JlZ2luLCBzdHJfZW5kKSA8IDAg
KQ0KPj4+PiArICAgICAgICByYyA9IC1FSU5WQUw7DQo+Pj4gDQo+Pj4gLi4uIGNhbid0IHlvdSBj
YWxsIHBhcnNlX2ludGVnZXIoKSByaWdodCBoZXJlPyBvcHRfZG9tMF9zdmUgaXNuJ3Qgc3RhdGlj
LA0KPj4+IHNvIG91Z2h0IHRvIGJlIGFjY2Vzc2libGUgaGVyZSAocHJvdmlkZWQgdGhlIG5lY2Vz
c2FyeSBoZWFkZXIgd2FzIGluY2x1ZGVkKS4NCj4+PiANCj4+IA0KPj4gT2ggb2sgbm93IEnigJl2
ZSBzZWVuIHdoeSBJ4oCZbSBkb2luZyB0aGlzLCBiZWNhdXNlIG9wc19kb20wX3N2ZSBpcyBjb21w
aWxlZCBvbmx5DQo+PiB3aGVuIENPTkZJR19BUk02NF9TVkUgaXMgZW5hYmxlZCwgc28gSeKAmW0g
dXNpbmcgc3ZlX3BhcnNlX2RvbTBfcGFyYW0oKQ0KPj4gdGhhdCByZXR1cm5zIG5lZ2F0aXZlIGlm
IHRoYXQgb3B0aW9uIGlzIG5vdCBlbmFibGVkLg0KPj4gDQo+PiBPdGhlcndpc2UgSSBzaG91bGQg
ZGVjbGFyZSBvcHNfZG9tMF9zdmUgYW55d2F5LCBidXQgSSBzaG91bGQgbm90IGFjY2VwdCB1c2Vy
DQo+PiBjdXN0b21pemF0aW9uIG9mIGl0IGlmIHRoZSBvcHRpb24gaXMgbm90IGVuYWJsZWQuDQo+
PiANCj4+IFNvIEkgdGhvdWdodCB0aGUgdXNlIG9mIHN2ZV9wYXJzZV9kb20wX3BhcmFtKCkgd2Fz
IHRoZSBiZXN0IHdheSB0byBoYW5kbGUgdGhhdA0KPiANCj4gTWF5YmUuIEJ1dCBwbGVhc2UgYWxz
byBwYXkgYXR0ZW50aW9uIHRvIHRoZSBleGlzdGVuY2Ugb2Ygbm9fY29uZmlnX3BhcmFtKCkNCj4g
KGFzIGluOiBjb25zaWRlciB1c2luZyBpdCBoZXJlLCB3aGljaCB3b3VsZCByZXF1aXJlIHRoZSBj
b2RlIHRvIGxpdmUgb3V0c2lkZQ0KPiBvZiBzdmUuYykuDQoNClRoYW5rIHlvdSwgSSBkaWRu4oCZ
dCBrbm93IHRoZSBleGlzdGVuY2Ugb2Ygbm9fY29uZmlnX3BhcmFtKCksIEnigJl2ZSBoYWQgYSBs
b29rIG9uIHRoZQ0KYXBwcm9hY2gsIGZvciBleGFtcGxlIGluIHN0YXRpYyBpbnQgX19pbml0IGNm
X2NoZWNrIHBhcnNlX2NldChjb25zdCBjaGFyICpzKSwgYW5kIEnigJlsbCBkbw0Kc29tZXRoaW5n
IHNpbWlsYXINCg0KPiANCj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 14:36:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 14:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516299.800210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phWuN-0003zg-E0; Wed, 29 Mar 2023 14:36:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516299.800210; Wed, 29 Mar 2023 14: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 1phWuN-0003zZ-AT; Wed, 29 Mar 2023 14:36:15 +0000
Received: by outflank-mailman (input) for mailman id 516299;
 Wed, 29 Mar 2023 14:36: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=2RLl=7V=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1phWuL-0003zT-UD
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 14:36:14 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20613.outbound.protection.outlook.com
 [2a01:111:f400:7e88::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a46c1df-ce3f-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 16:36:08 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 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.6222.35; Wed, 29 Mar
 2023 14:36:04 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242%4]) with mapi id 15.20.6178.041; Wed, 29 Mar 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
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a46c1df-ce3f-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Pg/bjFNgrV8OL4Li2ITtn8GVsxAkCnNHjCHRojYNTT+Uv9VKRg5az+bLlyLasRq1MzL6UJnAq0Pev0+rS0VilWR7C7cm3LHcAMFJW0f5OZUIoZUI+z6SNrrHel3fwy4YWkun0VsE1L7oi2plTTvR7BBmVqgRx/S6sS3j+A0FTlqtkS5JmdIIXtYU5kcWLYC5JvFm8AYVfPLSOKMoUVBi5PymNVrjXMNfCelH6nSl0qU/yI9rhs+VneWtuCxgMIdYuLsnwNb+oLEdg/9k785b56lQ9X8gEi7QUx0nTkQtSzHQgm1WDqbrQQitIT31BWwApqv9KO7pVUfZFGRK17cIEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kW3qzO+AR7edhE9Q2mf6SOEqSEyUJ4Af6YeInrJtDno=;
 b=Li8kS9uaqSnti3v496TN/eBprA82pcPm8DriMk6sJPmfHff1/aEqcfodj+t3CEyvAOsRxtTRr19YHcvLVPL4KCcR2c9ddE9KmAssLS2Vxg+UZJofvsGK6LQf9sefazbGVk4UIDoHiNLvcgl1LyW0RE9WHgIcIuxhBxhB7lyko4R5eI9vl9YCKNfAmX4Gy1Gfq7s4bE1YGkMGhyJIyjoXMjx1UTnIFDvYNjd/WBJyJYEH3Jfg8y8R2gRY7C1RlYsmK5D8P2dbj76nQc4lzBzJDDXaWMgv2kbPOg9iMFNf6im9QldxataXl8RjG+T7KRJrKL6LX9A9rcGe0FNRozTYvw==
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=kW3qzO+AR7edhE9Q2mf6SOEqSEyUJ4Af6YeInrJtDno=;
 b=2t63GUqdanpo+tl3ejEJUiPM3NlN9qP6vqKejOov1jN/Q/MpZUcro8QK6zI7FPJdDo/tObe58TlQMRjDxqN4r3THD5PTkqknjczbIuKIp/kbsORakr5ZTDO67x+OdVRjCfsV6qTTxVaQqn2hm22j8laU+om980w8PXX2Vlwwjo4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <3e403b20-fa1a-5e0c-8e14-b89afbb10a0f@amd.com>
Date: Wed, 29 Mar 2023 15:35:57 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [XEN v4 04/11] xen/drivers: ns16550: Use paddr_t for
 io_base/io_size
To: Jan Beulich <jbeulich@suse.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com, julien@xen.org,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 rahul.singh@arm.com, xen-devel@lists.xenproject.org
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-5-ayan.kumar.halder@amd.com>
 <197973ce-2361-f3e4-fd38-40b4ad802acf@suse.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
In-Reply-To: <197973ce-2361-f3e4-fd38-40b4ad802acf@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0487.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:13a::12) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|MN2PR12MB4223:EE_
X-MS-Office365-Filtering-Correlation-Id: f1370e3f-14b0-4b0e-6598-08db3062ecf6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2+3xQ5tDrnjNb3MWO8hucpH2LfDuEIfj86qoGKIgLVgonGimlij7TBPKvBRjS22vhE2HGF7R2AZgXZXJVHDbxbJ+GCCYRLK5b3wF+t3aa0Ax80MDbCAJzdt6RpniR+qv78+CRYJ8KIRPgVruZOw9bvpUgVemNS4Pn/eFckqzO7bVCLHmAsvl70kNDR54rYSBmU6GLm3ZVVcInWIrXfPwk10jhWFrgwVqkV2ABrKgfA9ARjE7kZ6AZl2UUv4kjXSGHhTcNDkDFzlM1cgukVZCpYGoDkhW+VmR/TN3fl0hBpftD8FSyvUsF8rEKKUcUPpsCWAHQqcVJA4CCBT9nFvLsAFkqsynWDI1k7IJEIh5odwcTvUhApwFgVAVrs4+dKt5uuVABxKq2MPZFu2kGQURBAWw5TUetobXNSiLXxFgBeVvsDDWt4rO9jblfQJYdzLQMx+mjoWOx0mrKoJZbcFxD7Fz/TxP4GySDu51SG8Ti7B7w8228hOSqUXeHuVfwqOmBknIelMUyF5UYB9KvUS2QUFaVNgoEW6zGcVG0cGMDzumhxsYdkDiz89eLViuq2TSw9jTu00NqwPEu9q6bpU4Ew+rVWBvRrqF9XYfYbP/ynCA1EJ0fI6qy5TNYNa2Io3rHukwGwAhJTzbGOecoZEQ9Q==
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:(13230028)(4636009)(136003)(39860400002)(346002)(396003)(366004)(376002)(451199021)(6666004)(53546011)(26005)(6486002)(38100700002)(6512007)(186003)(2616005)(2906002)(8936002)(5660300002)(36756003)(7416002)(6506007)(478600001)(110136005)(316002)(6636002)(41300700001)(31696002)(66946007)(8676002)(66556008)(66476007)(4326008)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WEYzNm14dzl1a2ZmM21pUElVSXdwN1VRQy9qZ2lCQ1MrUjJEWHhNb3VKRjFh?=
 =?utf-8?B?NTFwMVV5RG9iK2lHdmZnNlZLcEE0Ukp1ekNlTjRYcXp0bUdyN1AzMDViUDN1?=
 =?utf-8?B?SVR0VFlaV2dNNitSMmx5VzB6MnVEV1h2c0xPVkhGbFhZTk5DUUdtb0xVdWI5?=
 =?utf-8?B?SElPRlhvOWxJQUVzTkMyYVovNEpud3REdFJiWmROZnNpRnRUenpnUmpkbHg4?=
 =?utf-8?B?bFpYZmRhVXdjaDRSUWQ1UVJtVWtGTTBPQ1VjcS8za3dTVkhzY0h1UXFSbXcw?=
 =?utf-8?B?eFFxWkluaHBqbzUzY21GMi9HWnlvbHR2MnA1bTRHMHFYTXBFMXVoWEpBOVA5?=
 =?utf-8?B?THVoSHBybzllM2lJdGsyeHFNdlJTcytNbUdXSGp4TC9UTm1mMDVtaGYzQ0Y4?=
 =?utf-8?B?bUU3SWV5aUxUYnI4SjVMZloweEVjOWlpQ0dUVTJTT0VmUnN3bVJsTW11S3ZP?=
 =?utf-8?B?T0cranYrVko2dVNZbEFHZWtZVGMyb0pUaHVaT1JBZU5TUXJWYTJ4SEs3cGZH?=
 =?utf-8?B?UzRabCthSDRMa2xFbEdRU3pyajFaanJNTHVnWnNjV0tXc2VEKzYvNElBUjVq?=
 =?utf-8?B?aVNVcW9aajNhL2IrekNYbm5NRUpXQWVRN3Z0RVkwSWFUN0VNTWtPc080WkNH?=
 =?utf-8?B?U2hIblg5MmpvU3dnV1hrazJUR2pEZy9UR1lKWEwxUUhWMWphMDlzaUdtUTlH?=
 =?utf-8?B?SEhkejlvdW9VWTZEYzVLRlJFeVRwWjZ0R01WV3hKU2IvOEJNMWlwNnNOQkxI?=
 =?utf-8?B?Mm1aditxOEh2dHU4VG1abjdKL0JENGphbkR5UWxmdThVY3U3SzhHYVBZRmFq?=
 =?utf-8?B?bW9lLzVsQTFaM2FZZHFNc0w4eUFvMUxzT2lkZmZGaEpsVC9RZ0UzZ2N0Ukt1?=
 =?utf-8?B?a1JpY1R5Z1hYQkJMdlBrRXJKL3hXRW8xQUREQkt1QkhzRzhsZ2pnMm5YS1Qx?=
 =?utf-8?B?WDd5YXJFNWtaSThlQmhGdmZoclkwYU5nbGhDdFJMbTRqVDFLbldmZmthSUF2?=
 =?utf-8?B?S2MxbW51aUk0ZjBZTEJiRjdjblNqSVcrdUFlc1ozdjlVU0NDNUVBZVhuejdR?=
 =?utf-8?B?bjFWRHJMRlFKYUpIQ0JsRHZHV3ZNSWJjd1A0ZkwxdXVnU01UWW45UE5yTUkx?=
 =?utf-8?B?cUI4QzRzcG5HMTJHSHBzSTlZbllxVGNzL3M4b2FWYTF4dk9aa0JWOGN2K1Rm?=
 =?utf-8?B?THQ0cGZ3UDRNblp2N0dMdTMyaHlnWUJnK29MQUtjNWJNMnFsMTRJTjhmZU5Q?=
 =?utf-8?B?WGhpS0lHbCtuOGlDVXB3UUtKSmo5QmZOMFhiamVTaHdhWWhNL0sxTlV3cG9R?=
 =?utf-8?B?Y3FrVUQwL2k4MHFrOTUvckx1QXJ3LzdaVC9oWko4UzBsa1dQSTRYdkRpeWRa?=
 =?utf-8?B?WXR0WFQ0aFFuYjZBTCt3Yi9aV3RpdWRVMk9YQ2xJU1hCUlpoaDZmYWgvbTRN?=
 =?utf-8?B?MXhTc1ZvNDV3TUh5UytYNkJLU3FjeitmRURUTkRrdHAxckNHYnNPbGtXSnNY?=
 =?utf-8?B?M1RLNlhhVU5BVWNYRHBmZWh4UEZlVzFsVUwvWElZcy8xaitMSjVveXZHc0lO?=
 =?utf-8?B?T1I1SzJjTGpRNnE4Ulc1cy9kN2xLdmtsSk1FZUFBKzVBbWhtcnlkR1hkY2k0?=
 =?utf-8?B?MnlBbWdQYXF5MGhMTTNxaHFtNHpGQmtrL2FsTGlPTkJFQWRTUVJkOGNYYzVy?=
 =?utf-8?B?OTFtaGwvNmdpSnBsSzBCcSthaUZEbU5UclBjeXpQK2ZnSndCOXVZMk5iV0VS?=
 =?utf-8?B?MWF2Q2dIcElueWpaY1RBQTNlTHg5WWJuVmJxL2hKUnFIZFRRek8zWmlncHNG?=
 =?utf-8?B?NFFWOHYyWTJiVGpQN3NwUnlJdjVWWm5UZTRnVTNwQzNhbVpXZENIQ0I3SnZo?=
 =?utf-8?B?VDlGeTQxY3NHeWc3bkxoY3hqWm5IYzRTMk94SGtvekRTa2pZeUVzb1FIYWlW?=
 =?utf-8?B?bFo1eExVQkxvVXRGTEJGUWoyQUI1d3cxVGdrOHlaOE5qUm1yT3MyK0s1Z3A2?=
 =?utf-8?B?eExDZXJUSVRMZk5VT2JndWZtc2o4ZC9ML3IwdjRocWZ3ZlJpbU1BMEMwOWNm?=
 =?utf-8?B?dFhLcnRYYWFYUHhDYlpyUG5sMWg5bGpoeVA2NXZTMHJxM2srdVJhbkd1SUp0?=
 =?utf-8?Q?qTiY1cAl+4f7Lf6Cpvt/44Cpx?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f1370e3f-14b0-4b0e-6598-08db3062ecf6
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 14:36:04.5431
 (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: rwfmf3dSFE3DT3BypluCbH6YpJOY6lKb4cHIiH3aGXYe5W9JV7eZDGEJTFPqNBRZkRxuiX85uT7rO6U5O7+pzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4223

Hi Jan,

On 21/03/2023 14:16, Jan Beulich wrote:
> On 21.03.2023 15:03, Ayan Kumar Halder wrote:
>> @@ -1163,10 +1163,16 @@ static const struct ns16550_config __initconst uart_config[] =
>>       },
>>   };
>>   
>> +#define PARSE_ERR_RET(_f, _a...)             \
>> +    do {                                     \
>> +        printk( "ERROR: " _f "\n" , ## _a ); \
>> +        return false;                        \
>> +    } while ( 0 )
> You can't really re-use this construct unchanged (and perhaps it's also
> not worth changing for this single use that you need): Note the "return
> false", which ...
>
>>   static int __init
>>   pci_uart_config(struct ns16550 *uart, bool_t skip_amt, unsigned int idx)
> ... for a function returning "int" is equivalent to "return 0", which
> is kind of a success indicator here. Whatever adjustment you make
> needs to be in line with (at least) the two callers checking the
> return value (the other two not doing so is suspicious, but then the
> way the return values are used is somewhat odd, too).
>
>> @@ -1235,6 +1241,8 @@ pci_uart_config(struct ns16550 *uart, bool_t skip_amt, unsigned int idx)
>>                   /* MMIO based */
>>                   if ( param->mmio && !(bar & PCI_BASE_ADDRESS_SPACE_IO) )
>>                   {
>> +                    uint64_t pci_uart_io_base;
>> +
>>                       pci_conf_write32(PCI_SBDF(0, b, d, f),
>>                                        PCI_BASE_ADDRESS_0 + bar_idx*4, ~0u);
>>                       len = pci_conf_read32(PCI_SBDF(0, b, d, f),
>> @@ -1259,8 +1267,14 @@ pci_uart_config(struct ns16550 *uart, bool_t skip_amt, unsigned int idx)
>>                       else
>>                           size = len & PCI_BASE_ADDRESS_MEM_MASK;
>>   
>> -                    uart->io_base = ((u64)bar_64 << 32) |
>> -                                    (bar & PCI_BASE_ADDRESS_MEM_MASK);
>> +                    pci_uart_io_base = ((u64)bar_64 << 32) |
> As you touch this code, please be so kind and also switch to using
> uint64_t here.
>
> Also why do you change parse_positional() but not (also)
> parse_namevalue_pairs()?
>
> Jan

Please let me know if the below patch looks fine.

     xen/drivers: ns16550: Use paddr_t for io_base/io_size

     io_base and io_size represent physical addresses. So they should use
     paddr_t (instead of u64).

     However in future, paddr_t may be defined as u32. So when typecasting
     values from u64 to paddr_t, one should always check for any possible
     truncation. If any truncation is discovered, Xen needs to return an
     appropriate an error message for this.

     Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 092f6b9c4b..5c52e7e642 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -42,8 +42,8 @@

  static struct ns16550 {
      int baud, clock_hz, data_bits, parity, stop_bits, fifo_size, irq;
-    u64 io_base;   /* I/O port or memory-mapped I/O address. */
-    u64 io_size;
+    paddr_t io_base;   /* I/O port or memory-mapped I/O address. */
+    paddr_t io_size;
      int reg_shift; /* Bits to shift register offset by */
      int reg_width; /* Size of access to use, the registers
                      * themselves are still bytes */
@@ -1166,7 +1166,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)
  {
-    u64 orig_base = uart->io_base;
+    paddr_t orig_base = uart->io_base;
      unsigned int b, d, f, nextf, i;

      /* NB. Start at bus 1 to avoid AMT: a plug-in card cannot be on 
bus 0. */
@@ -1235,6 +1235,8 @@ pci_uart_config(struct ns16550 *uart, bool_t 
skip_amt, unsigned int idx)
                  /* MMIO based */
                  if ( param->mmio && !(bar & PCI_BASE_ADDRESS_SPACE_IO) )
                  {
+                    uint64_t pci_uart_io_base;
+
                      pci_conf_write32(PCI_SBDF(0, b, d, f),
                                       PCI_BASE_ADDRESS_0 + bar_idx*4, ~0u);
                      len = pci_conf_read32(PCI_SBDF(0, b, d, f),
@@ -1259,8 +1261,17 @@ pci_uart_config(struct ns16550 *uart, bool_t 
skip_amt, unsigned int idx)
                      else
                          size = len & PCI_BASE_ADDRESS_MEM_MASK;

-                    uart->io_base = ((u64)bar_64 << 32) |
-                                    (bar & PCI_BASE_ADDRESS_MEM_MASK);
+                    pci_uart_io_base = ((uint64_t)bar_64 << 32) |
+                                        (bar & PCI_BASE_ADDRESS_MEM_MASK);
+
+                    /* Truncation detected while converting to paddr_t */
+                    if ( pci_uart_io_base != (paddr_t)pci_uart_io_base )
+                    {
+                        printk("ERROR: Truncation detected for io_base 
address");
+                        return -EINVAL;
+                    }
+
+                    uart->io_base = pci_uart_io_base;
                  }
                  /* IO based */
                  else if ( !param->mmio && (bar & 
PCI_BASE_ADDRESS_SPACE_IO) )
@@ -1519,20 +1530,40 @@ static bool __init parse_positional(struct 
ns16550 *uart, char **str)
  #ifdef CONFIG_HAS_PCI
          if ( strncmp(conf, "pci", 3) == 0 )
          {
-            if ( pci_uart_config(uart, 1/* skip AMT */, uart - 
ns16550_com) )
+            int ret;
+
+            ret = pci_uart_config(uart, 1/* skip AMT */, uart - 
ns16550_com);
+
+            if ( ret == -EINVAL )
+                return false;
+            else if ( ret )
                  return true;
+
              conf += 3;
          }
          else if ( strncmp(conf, "amt", 3) == 0 )
          {
-            if ( pci_uart_config(uart, 0, uart - ns16550_com) )
+            int ret = pci_uart_config(uart, 0, uart - ns16550_com);
+
+            if ( ret == -EINVAL )
+                return false;
+            else if ( ret )
                  return true;
+
              conf += 3;
          }
          else
  #endif
          {
-            uart->io_base = simple_strtoull(conf, &conf, 0);
+            uint64_t uart_io_base;
+
+            uart_io_base = simple_strtoull(conf, &conf, 0);
+
+            /* Truncation detected while converting to paddr_t */
+            if ( uart_io_base != (paddr_t)uart_io_base )
+                PARSE_ERR_RET("Truncation detected for uart_io_base 
address");
+
+            uart->io_base = uart_io_base;
          }
      }

@@ -1577,6 +1608,7 @@ static bool __init parse_namevalue_pairs(char 
*str, struct ns16550 *uart)
      char *token, *start = str;
      char *param_value = NULL;
      bool dev_set = false;
+    uint64_t uart_io_base;

      if ( (str == NULL) || (*str == '\0') )
          return true;
@@ -1603,7 +1635,14 @@ static bool __init parse_namevalue_pairs(char 
*str, struct ns16550 *uart)
                         "Can't use io_base with dev=pci or dev=amt 
options\n");
                  break;
              }
-            uart->io_base = simple_strtoull(param_value, NULL, 0);
+

+            uart_io_base = simple_strtoull(param_value, NULL, 0);

+            uart->io_base = uart_io_base;
+            if ( uart_io_base != uart->io_base )
+                PARSE_ERR_RET("Truncation detected for io_base address");
+
              break;

          case irq:


- Ayan


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 14:38:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 14:38:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516303.800220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phWwM-0004dM-UC; Wed, 29 Mar 2023 14:38:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516303.800220; Wed, 29 Mar 2023 14: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 1phWwM-0004dF-R3; Wed, 29 Mar 2023 14:38:18 +0000
Received: by outflank-mailman (input) for mailman id 516303;
 Wed, 29 Mar 2023 14:38: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=WOlf=7V=citrix.com=prvs=445effd08=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phWwM-0004d6-15
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 14:38:18 +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 54d119c6-ce3f-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 16:38:15 +0200 (CEST)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Mar 2023 10:38:10 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB6375.namprd03.prod.outlook.com (2603:10b6:a03:399::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Wed, 29 Mar
 2023 14:38:08 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Wed, 29 Mar 2023
 14: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: 54d119c6-ce3f-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680100694;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=r9R669TM5cYwzzypIODXW8RNpEiSdQxFoV4avACRF38=;
  b=fPOsSlIXhKdUdji0ms6A95wSh+c99piTcODombxklvGNzrQuLxysUXCb
   gMpWddmkDMbTpbKUqTamzLqtgwbpPnev2R6oKpvpfkKN0BiYp7bhiAkq8
   /kaLePkj0Y34t8XA34YVdZcYsjCn+FCMmq7+3+nVbusJ0swf+JcAkQTT5
   E=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 103446127
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:QIyT66wUPEFo40mZprF6t+cQxyrEfRIJ4+MujC+fZmUNrF6WrkVUz
 zAbXmmHaPmMN2GnctF0bIS+oRgBupCDz4c1QQE6pSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlP6ET5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KWdD2
 aJbOhczVEGens6/m4zqSPM3t9t2eaEHPKtH0p1h5RfwKK9/BLrlE+DN79Ie2yosjMdTG/qYf
 9AedTdkcBXHZVtIJ0sTD5U92uyvgxETcRUB8A7T+fVxvjiVlVIguFTuGIO9ltiiX8Jak1zev
 mvb12/4HgsbJJqUzj/tHneE37eUwX+lAdhNfFG+3vc7mWXDyk4xMgRIVwWms+u7t3++A80Kf
 iT4/QJr98De7neDVdj4WBuQoXiavwUdUd5dD+077g6WzqPepQ2eAwAsXjNHLdArqsIybTgrz
 UOS2cPkAyR1t7+YQm7b8a2bxQ5eIgAQJG4GICUCHQ0M5oC6pJlp10yeCNF+DKSyk9v5Xynqx
 CyHpzQ/gLNVitMX06K8/hbMhDfESoX1czPZLz7/BgqNhj6Vrqb+D2B0wTA3Ncp9Ebs=
IronPort-HdrOrdr: A9a23:KH8Etq/dVigruBzbnZNuk+DWI+orL9Y04lQ7vn2ZKCY4TiX8ra
 uTdZsguiMc5Ax+ZJhDo7C90di7IE80nKQdieN9AV7IZniEhILHFvAG0aLShxHmBi3i5qp8+M
 5bAsxD4QTLfDpHsfo=
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="103446127"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WHWDeFPDcgCPPqmK2Ux8B2L46EZ9Wfypg+7Hcc6uw/34+pUlfx5znkhqvuWZSMwPIYJUZPzy0L6ao96raOyXWIEOM6wjvaRq9hnDL+qVsmoM3ENyTeKos24DfIJMPNxwtwo4yWTYu2sXdH6kY8zWyDrDYtSWiKYJX18/C2pHWZ7qKPWBaUD4zlhIoh3KT/7rmANqOwVhTEnCSMABmn+/Wr8E6VbvqsrwfkKtgEqEtGh96pAioypHNDrCNJfwvPzwZMvNMDrLElBlNUSY7nb3iUJkl7vRnQpxUzFoTW4Smwmr3KP81E6HOStD+6xOgTl/647/NAKSul8V5UgBxhUblA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HkfeY+F2wGcHsJ1OmBQV1K3YmSGvL5DFvk9/rD+vxSw=;
 b=Q7ZM71ZfAihvFnzpegJYzRYDz8vWIC/X55VPdVgN107lqtQxgn6ML53ObzvqqlvscwPa+B/JLvpCq4SnfxgqHMqMlJUjBMie9pGbJA3FA/9QZWDPR3YeonuW+Gd5dNiO/G/6AWJScWEXEIed0sR7EW9EqAGcyohweOSygsCQitg9YJYkFqU1mES9n8U6r20nbmjp527zLeRfBx+O0nLex+d1iQnwdTEcOfKMhSgU7XSgg3SSil0WLZsTtr7Cb+nrWaMUfXbyGEra8v1XOooA+6P3u4Th+l5yJi1PuDaI8BDuuLWynlE652X6K0iMjbGAeKYKXdlVQGtSTTqnVRuC7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HkfeY+F2wGcHsJ1OmBQV1K3YmSGvL5DFvk9/rD+vxSw=;
 b=eZG243xXKb8yet5pnp33Fdbc2UE30qekdyzCww5xVg4SyMHf5BZ5mNCP6CoVq1L6EzteldxSpZ0oT6IjMs2wSLn18UIxQafAD1yFKLNG3hSKGQMOIg/w+tqq7cM4Umi8NtNwSYvoChKMGi0lRXz2jwZP+wsGsjs5Yr1ytMncWYY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 29 Mar 2023 16:38:01 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Simon Gaiser <simon@invisiblethingslab.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: S0ix support in Xen
Message-ID: <ZCRNSeQzfYikJMmG@Air-de-Roger>
References: <9051e484-b128-715a-9253-48af8e47bb9d@invisiblethingslab.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <9051e484-b128-715a-9253-48af8e47bb9d@invisiblethingslab.com>
X-ClientProxiedBy: MR2P264CA0022.FRAP264.PROD.OUTLOOK.COM
 (2603:10a6:500:1::34) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB6375:EE_
X-MS-Office365-Filtering-Correlation-Id: baf0a0ae-617d-491a-6278-08db306336a9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2Xi43IbGgcsYdsAt2May3f0l2E6oEPhytPpd/GrvWb3D8T24CXE3Nse3yDuWZHR8rZxXSxh68twELHRFftSqeMDnBAoWur0mFGMeOX3Rh5pX7+/z8OFmO4v33Z9tZyhue2CkvLTfKE1S6OKYh5+skFNDa8UmOLFvKT7kdZVpdqbeiSz0ZkRk9ZEr4vjnyN0g8AZh83oDhagWhrrvmSVj3+dK1xMkIw16/UNsDIQZDRf5Q6qBE2rszm26CF/J/kpKql3/dlQtqqJnNIp8oeS5fubwq6Wdzf4kZGbVBxeeaXsNlkintaaSbpRltmLCJOeqanGjEEKolRou0BcXJO7sk6n6oxnndi3xgU72xY0dUNTVDsXcv1fjFFJ2diJz0C6AsE3rT4qEipFlInXWSGhB3TjmRXWGuypFiaBeRPRnogL69spHufP38x1SV6nRr+R8ZAfYKAAU7OFoqevZE2z/05AmHO8wuyLIqocZOOoNkp1exeEat79E2jQgH7bEY70eF8aX9qrPMxI1sb8wCwb4Hk9O9PSKzom+R1AWjopTZoK2oqUUgSQGWViJ0EfMjG+O0Ax+de8495TqCEDPEUdr8ewsgZQXVapuoY84jb+zzEjlnmzMTJGj4eJjdM6IVTB023rD46WGyeAGu36OjEjZRSxcmxMW0uJwv608zonnD7E=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(366004)(396003)(346002)(376002)(39860400002)(136003)(451199021)(66556008)(85182001)(26005)(6506007)(83380400001)(478600001)(186003)(8936002)(86362001)(9686003)(33716001)(316002)(6512007)(6486002)(66946007)(5660300002)(66476007)(6916009)(38100700002)(4326008)(2906002)(6666004)(8676002)(41300700001)(82960400001)(32563001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OUg3Y05lKzlocHVBM0h6WVJINVFRdVBZa2hPZ0RXSXhpMlNZakZ0TCszRVF5?=
 =?utf-8?B?b2hLTXZmZ1l4WWYvcVh5RXRtK1h6eW81cWhZdFpwdXB3TlJVL2djeFNlRHVB?=
 =?utf-8?B?MVVxTFY3aTNybEhyVnVyeloyVHkrZnlOcFVpVXhnK2lUdkNkR2FMT2U0MVVP?=
 =?utf-8?B?SHlndHRwTUVkcldzbFBtNTRTbEJYVmREMnRiK1FSU29NbDhwajA4MXBKcmFJ?=
 =?utf-8?B?VWc4TjFyRzRXdjhVNFk4UzVGSG1GTHF3aXZlRkkxM1JVWjlta1VDUmR2blJu?=
 =?utf-8?B?aklud3R3WnltM1lKR2tQaXVURFNyNEwvcklrY00ydFZhWWFUbHJmWnN3bEtI?=
 =?utf-8?B?TUE1ZFhIUmkyUDNOU05VZWU3Y1BROUZrUjlSREJNbHZnYVd6OGhhNWpzRmZC?=
 =?utf-8?B?eFZqb3BvZ3VITTFaTC93R1ExVUlYcUloWUkxRDZGd2tXeHYyQWpVeWZHMUpt?=
 =?utf-8?B?ZmNVeUVLQVdDSHBndGxrbGVXeG1TOE5RV1hTdWQrRVBpeVQzK0lsMzJ1aFdR?=
 =?utf-8?B?TFR0Slo4WTIrS2t2dkJ0bksvdXJXSEJyWTNaVDc2TXBlZ0VKd0xvdzZTcFhC?=
 =?utf-8?B?STVCT2MydCtaalkvZlZnMkJrVHEwaDczck5IdXpGZEVLam1GSGRZSUxqTFNh?=
 =?utf-8?B?WUNDVHNBL1l5aEJsYkZxSng1NTNXUXcvdjIwTEJqcE9YRTFrY2NzN2x4djNr?=
 =?utf-8?B?R29WNlpCb0s5Mlkyd1ZlZXlOQ2Q3TWxkcnhidVF2UlhWZTBWbWZWV3hXM3Rh?=
 =?utf-8?B?YXY4cVZ6TWkrc3gvSEhvQkhISm8yQjgxUm92WUUyT2J2K0JjbGdqMExpa2lV?=
 =?utf-8?B?T0RZOGNHb1dKWVJ1MkNNVlZrbHpybEZJdHJjRS9hVkdrcHozMUx4UzhuNmt5?=
 =?utf-8?B?UXJoV05tK2RBbUEwaHV0Vm5hR1I4ZFFSQkh4ZnNSZjlIWk1HSTZVS1NBZFFl?=
 =?utf-8?B?MzJVQmUyYVVxSTJ5SGpCUVNyYnVkdWVLOUkzby83Uno2VS94YXpIMUNzZHIr?=
 =?utf-8?B?K3Y4ZTZ5UEgwRE1DMDFBQkpiOS9ZSEFmREVsWi9GTFR5RU5jOU5jUWt6bjU4?=
 =?utf-8?B?aldBMXJsQnZMR2tnRlZFcHJsZTJZckxTa2pqOGY2dkk4NFJOZVZQRmdoMURG?=
 =?utf-8?B?ek9ldWtEbHhTNFQ4OGY5VXNHMzBQanhnRExoVUZxTWhvUzlNL2syUTlIbWhi?=
 =?utf-8?B?TzBqOVhVUlhLWDZXNVdGSkJpRlhiRkNWUUdZWmtSYnRrZlkzMkhkV3RteEFG?=
 =?utf-8?B?MGFzWlloeUNjR1NWaDY4bmtBRVg0TWJNZitoS1k0VG84cDJvMDZneis1UmRm?=
 =?utf-8?B?bmd0UmRoZ1RxUXV6N21yUHFkMXhTT0VaNGZyMmdLM2hxWGRuYm1rbmsrWW03?=
 =?utf-8?B?LzNRQjRkWTdReHpCcjRRcC9HbWoxUWJoSmM2MFBaNWFCS3ZrYy9XOWtMUDNP?=
 =?utf-8?B?TXU4TlUyc3lKTmQ2LzVCWkZLeENMQzVLYVV1blhWWmlFa3ZBcVk0em9XQ01H?=
 =?utf-8?B?Vm1jaFljaHRqUFRlVDkxMVFOMFN4MnN4OWQvQ1BBMVBuWEpCYWNkeE9BMnFJ?=
 =?utf-8?B?bkpSK1VkVTZDNXM0aEFrUWdDUlhiNXJFcEJkbWFHQm01bkhWQW42Q05sN2F6?=
 =?utf-8?B?OTIzL2Y1dlpQZFdmK3ZUcnBDVnU4elEyVTBUZnM4Z2p3Q1ZvOVYzY3Y5bDkr?=
 =?utf-8?B?NTJ2bC8vT3dDVDM1THE4d1dOczN5N08reXdJQUZFSjZUd09pQ2srMVpXUE5L?=
 =?utf-8?B?UGpLUFl3Sjh0WXlWWG1keXNyaFdEbW45dWx2d05pODhtbWI4S05acDk3dWhU?=
 =?utf-8?B?K29IRndrYWFqeCtod2RLUTBFdlV4dDNxSlhNUlE3TW82V2ZDYTVuc2FqQmJJ?=
 =?utf-8?B?Ym1hTFNidnlCWE1Eb09DNEVmYVAzOGhUdUJqcGhnS0Rwb2czOTU5bEEwaFh0?=
 =?utf-8?B?cks2bGV6dXlic2hBeFBMR0NhaDAxNzlnMGxoSmV1c1ZwRmVkMTlaVEViUmpz?=
 =?utf-8?B?eUlza24yOWo0WktnOFpkd0RRbG50bjVONmtROEhBdTZRWGpWVnBIRFFEVG1W?=
 =?utf-8?B?VTJLKzQrNkFoOG9iMm9JQ0Mrcm92NGZoSmMrWUpiOUZ6WDhyaHRKUlQxdjlr?=
 =?utf-8?Q?Lu1uIXuxykItFwyeyLknb8jlO?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	8OTOJLhJt3q327eAIl0VxLBuQzLf7abqyfHQ+X0WH0YYk/Kfr9aVb5XbI9yuLL3HtuBxJ9JJj9MWXC2b9dDaakTGNAouCUdDEpBZl1RMwhtlfptPAWtlzQjCFegteiJ/sV77QmIVMLDbHO9WD0q0QbZVrkwJ+4YpEt2uASPAxQ9QxwtLv3bV4dgu2zMeq5PhIVMeAnjT+Sb711QhgQGqM4MmlfO4ZjKxEw1WiJ7ruhsw4x9TFRthnRCxR8nWNVH0iZKCYkONqohn/BahrNrYSeqbF7+XJcs6VYg43lRsVB5KJfXCL2y2rftsIUk4wyMYpL4rg1uNlkStUpWWeukhRE99+T5yfhQK4/tvqwst4RRhJpNgcCpEZmVtQa3544kgGp+Oak6Pahe4BNAr1XCaD1OIAWNYp7fO71fsQcJNIVLgnv25qZp9oaJt7O2xYfSutbMlYqKgpnZR7yK2pRekqgWcfscPf3JSaOF9ZrebTyJK8YCVhRKUzVJb/Fvlh5V1eLsKfl7lh5SL32WFkybJ8HDbnkyw7OMVF7ReHmUlHVVXZ9gEqlUgcj1Lv7s6FOoyst/wxjsAz5km9tnlXqJNCC9ISf/bgFydFAeBEhucGBfYj4K+OR1mZhODKeZsnyBTblqilcZ0xHaOcOqcfDqD+HKOwPw5Y3HuqanaVXg8YYAgrZgAf3aEn+1bygl6XQbBS/19qFxW99kscMp4OYhTNnaADsIFyn/VcOXRnnoUhKHfMSZTjZSwagusUxxWVBm1uLZWmLLrwsmP0FIBTN1Wd9n6KGdKVPY2JaYJqL37zNFeA0lgReCEuCXfSX4AdZi5U513738uBtBfrbJ7w4jpXg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: baf0a0ae-617d-491a-6278-08db306336a9
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 14:38:08.1429
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4svUbNGeW4TLrtSBBfxyJUSBN1ytUCc6t1HQvaMWZdEiwUXLYVeULRy6dI9irZx01vYbznsJE3SV0GARDsftwg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6375

On Mon, Feb 27, 2023 at 12:48:03PM +0100, Simon Gaiser wrote:
> Hi,
> 
> I have been looking into using S0ix with Xen. On systems with with 11th
> gen (Tiger Lake) Intel mobile CPUs or newer this is often the only
> supported suspend method, thus we want to support it in Qubes OS.
> 
> Below a summary of my current understanding of what's needed (and known
> unknowns). I would appreciate some feedback (what's missing, preferred
> solutions, etc.).
> 
> Note this topic is much above my previous experience with Xen and x86
> power management internals, so sorry if I'm missing things that are
> obvious to you.
> 
> PIT timer: During some previous private discussion it was mentioned that
> the PIT timer that Xen initializes for IO-APIC testing prevents S0ix
> residency and therefore that part needs to be reworked. But if I'm
> reading the current code correctly Xen can already use the HPET timer
> instead, either with an automatic fallback if PIT is unavailable or by
> forcing it via hpet=legacy-replacement=1. Looking at the rest I think
> the PIT isn't used if Xen finds another clocksource. Did I miss
> something?

Do you have some reference to documentation related to the S0ix
states?

I would like to understand exactly what's required in terms of
hardware devices the OS can use and still be able to enter such
states.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 15:32:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 15:32:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516308.800229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phXm9-0002cV-V7; Wed, 29 Mar 2023 15:31:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516308.800229; Wed, 29 Mar 2023 15: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 1phXm9-0002cO-SW; Wed, 29 Mar 2023 15:31:49 +0000
Received: by outflank-mailman (input) for mailman id 516308;
 Wed, 29 Mar 2023 15:31: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 1phXm8-0002cE-RA; Wed, 29 Mar 2023 15:31: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 1phXm8-00061e-PA; Wed, 29 Mar 2023 15:31: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 1phXm8-0003Lb-BD; Wed, 29 Mar 2023 15:31:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phXm8-0002JZ-Ag; Wed, 29 Mar 2023 15:31:48 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=J3JtX0DCPwkAKWaXfLEZpLlzpVyF3z8NQCn5gHxLvaY=; b=rprXNRubBwPpVlbbEutqlD8ZWm
	DSyG3PeZvI4oKSPl1XMLIBluW9cu6r7vEuEzOCc8fBgjvKUtp+13MK7hCK39ZvDSs+feeNOb1fEGa
	O4dPFx4T1EGe+isocQc2IyPv8os5nINiUoDjXohhTxwodyPdS0dM3jyrXxA4M1KXnDiU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180053-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180053: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=b697a31a8db5f23ed1030f0fea1b56c107ca85a3
X-Osstest-Versions-That:
    ovmf=e3aba976f6d588abd88027fef46999a1d3724576
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Mar 2023 15:31:48 +0000

flight 180053 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180053/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 b697a31a8db5f23ed1030f0fea1b56c107ca85a3
baseline version:
 ovmf                 e3aba976f6d588abd88027fef46999a1d3724576

Last test of basis   180050  2023-03-29 09:42:20 Z    0 days
Testing same since   180053  2023-03-29 13:10:42 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  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
   e3aba976f6..b697a31a8d  b697a31a8db5f23ed1030f0fea1b56c107ca85a3 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 15:44:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 15:44:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516313.800240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phXyE-0004DB-3B; Wed, 29 Mar 2023 15:44:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516313.800240; Wed, 29 Mar 2023 15:44: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 1phXyE-0004D4-0T; Wed, 29 Mar 2023 15:44:18 +0000
Received: by outflank-mailman (input) for mailman id 516313;
 Wed, 29 Mar 2023 15:44: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 1phXyC-0004Cu-4N; Wed, 29 Mar 2023 15:44: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 1phXyC-0006XD-37; Wed, 29 Mar 2023 15:44: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 1phXyB-0004rs-KQ; Wed, 29 Mar 2023 15:44:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phXyB-00079X-Ju; Wed, 29 Mar 2023 15:44: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=pQHMO/rm8r0aKuIPbrdMqDmCIrdrvl4+rgC/BTEh99U=; b=1y1SMlclVOyCRz3Hcj72ChM9lx
	asJ6t9D9xP+Pyk1/rHp5TXecDaQO1PSH6ldEhunDTNZBNtRTqYex4D8aXkuKJPGmEvDAQq1kN0ZUb
	in4UmhOaC+SRLRXZGukwf0C6w4VmPnSdCD5EClAKe04lCX4i6Qb50kSS4a2HzPqtEuAo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180052-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 180052: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=7a502b4fbc339e9d3d3d45fb37f09da06bc3081c
X-Osstest-Versions-That:
    xen=b177892d2d0e8a31122c218989f43130aeba5282
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Mar 2023 15:44:15 +0000

flight 180052 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180052/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  7a502b4fbc339e9d3d3d45fb37f09da06bc3081c
baseline version:
 xen                  b177892d2d0e8a31122c218989f43130aeba5282

Last test of basis   180041  2023-03-28 13:02:04 Z    1 days
Testing same since   180052  2023-03-29 13:01:59 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>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   b177892d2d..7a502b4fbc  7a502b4fbc339e9d3d3d45fb37f09da06bc3081c -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 16:29:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 16:29:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516320.800250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phYfu-0000ui-HJ; Wed, 29 Mar 2023 16:29:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516320.800250; Wed, 29 Mar 2023 16: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 1phYfu-0000ub-EQ; Wed, 29 Mar 2023 16:29:26 +0000
Received: by outflank-mailman (input) for mailman id 516320;
 Wed, 29 Mar 2023 16: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=WOlf=7V=citrix.com=prvs=445effd08=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phYfs-0000uV-KM
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 16:29:24 +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 db5b7cc4-ce4e-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 18:29:22 +0200 (CEST)
Received: from mail-mw2nam12lp2045.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.45])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 29 Mar 2023 12:29:19 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by MW5PR03MB6905.namprd03.prod.outlook.com (2603:10b6:303:1aa::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.29; Wed, 29 Mar
 2023 16:29:14 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Wed, 29 Mar 2023
 16:29: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: db5b7cc4-ce4e-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680107362;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=zZj6pUi3a9z78vJ4/AuF/tZ4v2vbH5BBqeMphywJy+U=;
  b=PyKz5Y8eDdyyUMyQRzJ9xcFrAOo/rWVRLkEr3GM7SqYNlDqPPX6ibamC
   pqprUW+CF8uVuSpTZ75qQwBzljOHNdnKIoKGpGZdxxxBJYhPGL//3jZUH
   0H6SQwiKpUo1Ze5bNWGcSqx/Dxim06h45xnZ0chBtb/xCbfLzFYn/zofs
   I=;
X-IronPort-RemoteIP: 104.47.66.45
X-IronPort-MID: 103466115
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:pe8VXa29EQh2asXtdvbD5Qpwkn2cJEfYwER7XKvMYLTBsI5bp2YDy
 msWXzrQaPjZY2rwe9okPdi09kgC7cDcydY1HAs5pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdkNKgR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfHXtt5
 6FDJBs2cDPaoMW7+rChUMRCr5F2RCXrFNt3VnBI6xj8VKxjZK+ZBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxpvS6PkWSd05C0WDbRUsaNSshP2F6Ru
 0rN/njjAwFcP9uaodaA2iv03bORw3qiBer+EpWf5O5Uq2bI2lYhMx4nFkG0rsCrqVWHDoc3x
 0s8v3BGQbIJ3E6hQ8T5Xha4iGWZpRNaUN1Ve8U/4RuIw7DZ4C6YAHYFVT9LbNE6tM4wSicu3
 1XPlNTsbRRwtJWFRHTb8a2bxRuiNC5QIWIcaCssSQoe/8KlsIw1lgjITNtoDOiylNKdMT35x
 TGHqG49hq0el+YMzayw+V2BiDWpzqUlVSYw7wTTG2e6tAVwYdf/Y5TysQSGq/FdMIyeU1+N+
 mAenNST5/wPCpfLkzGRROIKH/ei4PPt3CDgvGOD1qIJr1yFk0NPt6gJiN2iDC+F6vo5RAI=
IronPort-HdrOrdr: A9a23:m5myaKjhasqsBV5CfNkmPwkRV3BQXiAji2hC6mlwRA09TyX5ra
 2TdTogtSMc6QxhPE3I/OrrBEDuexzhHPJOj7X5Xo3SOTUO2lHYT72KhLGKq1Hd8kXFndK1vp
 0QEZSWZueQMbB75/yKnTVREbwbsaW6GHbDv5ag859vJzsaFZ2J921Ce2Gm+tUdfng8OXI+fq
 DsgPZvln6bVlk8SN+0PXUBV/irnaywqHq3CSR2fiLO8WO1/EuV1II=
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="103466115"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Knc1amvfZU79ofvohnGl9Y8E961Yo0rumjKQJkRPk7YXpHFr3Chb2oZla25QafAIsIyEEatr/IzfXDwQY5zEooMB99iQ4xR6ll4sV12KB6DtgwGv4LHF//l5Z/0hhZJk43C1+mMdTxOtmRa3pogEQX08oVYLuiz4G4jT+yDievtKiCDx20oyWOMf5pJPPQ8Hocs8aA8MRa89QRL+hiIztOFos4XL4LfICUle8amu5ih/Ccq+egMgLm8E6JyV4rdszb/eTy/94Qb6K1WlxoF/2FazLC/jTutc01Z/wy53gzmPqeZJxzKpDo1YWV4CfRyEr6rTd1/h6+bh8k9UowUAGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j/hf9iMuXvPEwEJIrbkvmsceAV6+KICMdxj4UgfOnBw=;
 b=nNTiwI4XrsJpglIDiXEmJLhNdtT7KfyIPyS+EN2keIjZUTDilNcUuY98E0IsN2sQafDaNvRzhnfZsmW7SKb7jRnBADRw1VxLec+KVC0lukn9HlOU9XIiEFHBfRKn0DKlSDqTZzu11BFv8dWPMCrD57T3gcPcPnXk4SS4OAvV66U8aC9eDxgrJm6wt9JSXFtqD0Asjv1hBeR7P2G6SoY+yue5FGtSsI/L0EtFofeWLh8gT6+4E5Zd5/1WqkhY0xO1SUoQ8O6UVB4uorv5BKp+nbFjdTeHcXCdNa9SRG6GOzavVIlsOYlCu+ByXYEC6ek4vUFI0qnU2v/bhg9YBjsGpA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=j/hf9iMuXvPEwEJIrbkvmsceAV6+KICMdxj4UgfOnBw=;
 b=aOo/JdbDRlIX2fYKu1cR48d1DpCQxUPTKLFkuHRyDRt7OXez6tPMANE3TnPb4bQLJAwpYCAHvMNpVIW9rz17hYsWaoK8KsYGpqe8rNqr2tm5KEbD/5SQktWaS7uO0q8PqqJ7w3KkqickFew9UV11XoZT0a4lEHhZwkcpY249/qc=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Wed, 29 Mar 2023 18:29:07 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: marmarek@invisiblethingslab.com,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org,
	Daniel Kiper <daniel.kiper@oracle.com>
Subject: Re: [PATCH 4/5] multiboot2: parse console= option when setting GOP
 mode
Message-ID: <ZCRnU03XDCpqZQ5u@Air-de-Roger>
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-5-roger.pau@citrix.com>
 <8f7e0393-8c0f-a924-7cee-25b9fca6f739@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <8f7e0393-8c0f-a924-7cee-25b9fca6f739@suse.com>
X-ClientProxiedBy: LO4P123CA0019.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:151::6) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|MW5PR03MB6905:EE_
X-MS-Office365-Filtering-Correlation-Id: 57b0516c-5b86-4ee0-1f2c-08db3072bb9c
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yQ9s101XTvAxN4S2FR9R/5iXlvJQ+s/Bg0+FQBXRhSQQngDt/moV4pLDVo7heaIa/YVTy0sinHqN8Aqxd86sAPL+aIad4mxrRQAQHQftm7mG2pUv5h5RIvx8cp6Va9lSMAhWGtoccrFs1XBb5ryJwy4J6ZV0KeNq9hX+cyNIgML5hBwfYssN6BiSe/13X5zAj3CJqEhNgfvkXCedp8WnBCrd4mR/gdJyye5+1hEkyaRDlTzZP5kpYcZPz2I1cfimXDiatc7uS8+147mE2OP7N6xeDLg7wFbUprmTiyB2OoGbm/uCQjSxtoRU2Og9J3TPOBOabz0qt971DgQ22iLEElf2Qrz7vGmHg6xOI7IIa84GiFpG8RoASS+rQ/eK9+qsQ7P7zIfpEVerwYdoHB1zWZvhjQQZHEer0LtDw/+qw01quvzgFTFtsfe//ud+tUzBorn7WS/ybZSt+o3MnrrF1nEjWii5brnFq/v4N7kJGZIWTrYVRnqcGt0SjznBOBGS4YuG82xGkcFffhR1GwfHK/OQ26Asn55rNtN9rxywgW3ia0zDNtYh1aSocBQBkmEo
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(396003)(376002)(366004)(136003)(346002)(39860400002)(451199021)(2906002)(83380400001)(6512007)(6916009)(8676002)(66946007)(66476007)(4326008)(66556008)(478600001)(54906003)(53546011)(9686003)(316002)(26005)(6506007)(186003)(6666004)(38100700002)(33716001)(86362001)(41300700001)(5660300002)(6486002)(82960400001)(85182001)(8936002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eW1MWEIrSWprT0ZaZUgwK09vRjJTbURnN0hNbjVqYms4aXhCdEJjMTlCK2Vv?=
 =?utf-8?B?SGVKZzZxNnBmckhWdFdxdUNEYXRHTUsrRjRmOUpJQmhuNHB5d3lDYjlpRmJX?=
 =?utf-8?B?c0tWUHZYT0ZiNmZYSHF5RzFXL1QvaWUzdUoyRVkyeFZFbkdBWjQ0emR3eFRy?=
 =?utf-8?B?R2J5U3VFU3hhUlNRWDZQN1BrSHpZYXg2YlJ4Nmw0VDBTYlcvWEl6b0NuQ01F?=
 =?utf-8?B?Mi9DVFI1eWpuRng4NTEwdUE0djlmb1h0RFNXdWlJdjIwNURPcS9ibksyajB6?=
 =?utf-8?B?Zk1oa3FWYi9xYVBCRmxUSUFwazRUbTg3Qm5DTmZIamwwaDBwS2k3S3ppbmwz?=
 =?utf-8?B?bFVBRkFUQ0kyNWhGL2plbTRSZ2I4TEJBTkltajUzOXVxK3hYKytpQnN1am5E?=
 =?utf-8?B?cytwK2pjL2VselliYXdLYlFxNGlwM0QyZk8zTW5PQ0FyampCMTVvYVVmYW5H?=
 =?utf-8?B?T3NiQ3oraXhFb0N3M1FWNVVJcnZ2bStweE85WjlZMjQyK0Q0Qzc3dlFzUTQr?=
 =?utf-8?B?bEVwbE9HZUxHZHIyRmI0aTQ5TTZRTGc2cW4rcDkrOGppL2VzcnBEQjcwUWtY?=
 =?utf-8?B?WDdnS0hma0taT0FtbHNuS3VLek9CSVZZb3hyTXRJMmFmOW1GQ1liY3o2UVVG?=
 =?utf-8?B?VEgvVm9YWDJFNzVtdzJEVjhaOHlZSmsxZlVlRGo2T0FHQmlNYm1BVkl3aTNm?=
 =?utf-8?B?eVVCUVd5OHZlY0p1NUtoRVhObUwxRkQxSnZmcG4wcUpCMWV0QjBpTWpwTDYr?=
 =?utf-8?B?c3p0c3hCK1NjT2wrQXZKdGdwWExxNTJrN2x6Tk9ua3VTcitPZ09CTFJjVmlY?=
 =?utf-8?B?cWxEVklJTVB4S2RQVjNhZVROQXlQRWF5dm12Z21qcjJvbFNJZkpha3VUb2xO?=
 =?utf-8?B?bWRtaFF2cElUUUQ0Y3hOa3pnaFRCb1Z4dUdWb1ZoNjE1L0tnck5DMm1aay92?=
 =?utf-8?B?NjhBVmcyZEpmMk5TTUpzVkFEZm91SFc4Wi9Pc3hmenl1Wlh3ZUFKenVNcFRW?=
 =?utf-8?B?eUYxc29aUDRiWVNnQVVkaE9PNjlHR1RWd3pLNjhiWUEyd2dTYTlYVGIyWTJI?=
 =?utf-8?B?L3M1T0UwT1p6WUZUblJ2K3JZa0FwcHdqNEc2ZzRnZjZVQVNiMzJGdkMxRW1T?=
 =?utf-8?B?QUtwNit0WkpNUmI0YkQrOFg1NzU0dHVaZHBKbnBNSlk0eGdSaldoMStWUk1U?=
 =?utf-8?B?dHoyTTU0R1ZuVkgyRHA1c1d5V1ptSXoxN3RaOFRrUFROVGs5THNNUWt0ZVNv?=
 =?utf-8?B?SldRRHBVTFNUMmRvaFVmdG5MUHdaRG13U2lmOGZSdmVXRXpQTUFMUUV4aVph?=
 =?utf-8?B?QTRNVlBuelhBUW1mdlN5YnFrYWRrK2tweHlmWDlmaXFESVpMOFBUQ2dyd2hu?=
 =?utf-8?B?VHhiWkVEVTFEM1M1dUN4M251alFZeTRsMG1CcDVMc0JQWkJhV1NpTVFoU0xy?=
 =?utf-8?B?aTU0QlFjK2hvNTR0QUUwcUFvZUtsRUdxcHpwc29KQURyYkprSDRaaDNGKzVU?=
 =?utf-8?B?clJXaWhRY0tzbTNSSE8vY1AyS0RncHFGTmJiUldNZ3duMFgya0tibG8zN1R4?=
 =?utf-8?B?RGQ4b3ZqUzloRzk2UStReGxXM0ExU2xJZ2daWFdSN3FMblJDbkFXSjBwTm9Z?=
 =?utf-8?B?dmQzN3MwMDg2MUtqUXRjMUlUVjRjZ0JLSjJNVVk0bTM4VkpPcjZFd3orVWRv?=
 =?utf-8?B?dFM5akNmb211QzVNaGVaT3ZLRHY4WTJkUUhac2U2cUlUNGlWQm1aVjlOVEV4?=
 =?utf-8?B?eGwvdlpVRVJ6WlA3WWhWa3I2N1d6Wk9TNXZGMklJMllyVU5sUkdFMGR3S3VS?=
 =?utf-8?B?OGpRNzJ6Zmp1bVloYW54elNaemVFQ2NVVE16UDB6YnBHc2J1bVlmYU5WSmVH?=
 =?utf-8?B?MC9pUHpSZGw3ZVJGVU1MQi9yT2JoRXhNb3VWc3duUldNOVQ5M0ZQc0xwRlpp?=
 =?utf-8?B?V09MVkI2RGtXaVlQTWRieEE2UjNJSGl0SFlLNjhjbDcyenBuUTYzRmNjVEFO?=
 =?utf-8?B?QTlnaEhaOWZMQVNXWHJiOTFRcUV2SERDMUdSWVRrN0ZRTStqLzNzYlpVL2I4?=
 =?utf-8?B?NE5lcUpNa3YzQmpzazZqVjVMeXFOZmFjdEtBc3hVQU94L2hQV2hXQm5BSG5k?=
 =?utf-8?Q?Z16WV8yKWHSkev1799zCQaLou?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	1AoqiY2xrFQlboTeKnWwBEdudq/HUR7TRsxVXugY2X0NRLiSdG12g6R5NqDg8APyYzZZ4Y/c/VkQEohL14wD5Q39m6linPiimCkVFtetLx+a+TgnBVtkf/F6b/a9Ji4fLTOl0a2hXvrzgjEnuLQ9Dmt23bglj9zUEzGGOQelf3NaJzNLhXZ2ZCngTAz0rJzZrpYJRU19IUUn1VLg/mf5RrZoflNpgzRU4LfCqoW9rs0Obb7evfUcZbE0gzppTb8QlR+W70NX1YEQiGnEsUJoLD0j/yveOqqwbHpkftMBAEOtmJez3GyeV+ln+VHAwty0GvYLTe2UudLoSQnHOYQ4sAilBtEBjY2HCrpjWwwi0Z7o45DOIv8OrcnNMQkgHMj5J/TcVglWuaqJnDSuteWgNmtIpHorWck2YH3rva1U1iJDFHc5zMRYLDRA758nhzXUuRu56f82VVcwOmITD8xaRgGEfx1fb7sSy9rZqLPDJ1BrNjKuY6qZkykTgVU/ozyzuTlsRaf0qXH+uXVaOS9ts4TVDQZI+D0YRUpHaZJZGmp6kMK/gyGrkrR30Se3xgCiiiblrnfQCiGHFBdQAwisDqgSmQZdrfctYPb/WxlMNbLzLTjqo5vcwpwB7rVSIbvsmMWmm1xKog2UX8K5nhcdYFG62c8eLjPnWmM5htvz/uuPMGaLqWQVg2cg+N3WO/t/ufxvb/ih/yAsPe8UWabCTLqmWQcbbFqo1A9ypoQDLqaMfPF6BKRi8D6hh8QfEJWVYB+iCeqoygbashBVZyHdZToxKa39jaAFXuZuY01Z3K0Z/+aJzLwyxLg1iLWmCSg2xINYzqg6w70MHPAmc2hdJbKTzPnoX2a+qNGZ/Ddd1QVFFcbeesSxmfexrNrIuyk3XPhrjGmhDmZN8WvcFial+3bGeDKB71HRkczCdcd2hWY=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 57b0516c-5b86-4ee0-1f2c-08db3072bb9c
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Mar 2023 16:29:13.8313
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0tT6r6RHAwiYmJJHj1q/mimcO+u4XGBsQWhMxudueJ22uawWCmIA41gRzz8oEUT6j2F8wnlDbgBu3aHG39PL9Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW5PR03MB6905

On Mon, Dec 05, 2022 at 04:10:28PM +0100, Jan Beulich wrote:
> On 23.11.2022 16:45, Roger Pau Monne wrote:
> > @@ -265,6 +266,15 @@ __efi64_mb2_start:
> >          cmpl    $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx)
> >          je      .Lrun_bs
> >  
> > +        /*
> > +         * Get command line from Multiboot2 information.
> > +         * Must be last parsed tag.
> 
> Why? And how do you guarantee this?

I think the comment is misleading, must be the last checked for tag in
the loop that does this in assembly, because it's not using cmove.
I've adjusted to:

        /* Get command line from Multiboot2 information. */
        cmpl    $MULTIBOOT2_TAG_TYPE_CMDLINE,MB2_tag_type(%rcx)
        jne     .Lno_cmdline
        lea     MB2_tag_string(%rcx),%rdx
        jmp     .Lefi_mb2_next_tag
.Lno_cmdline:

Maybe there's some instruction I'm missing similar to a conditional
lea?

> > --- a/xen/arch/x86/efi/efi-boot.h
> > +++ b/xen/arch/x86/efi/efi-boot.h
> > @@ -786,7 +786,22 @@ static bool __init efi_arch_use_config_file(EFI_SYSTEM_TABLE *SystemTable)
> >  
> >  static void __init efi_arch_flush_dcache_area(const void *vaddr, UINTN size) { }
> >  
> > -void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable)
> > +/* Return the last occurrence of opt in cmd. */
> 
> Is this sufficient in the general case (it may be for "console=", but
> perhaps not for "vga=", which may also need finding as per below)?

I guess for vga= it's possible to have something like:

vga=current vga=keep

And in that case we do care about the non-last option.

> > +static const char __init *get_option(const char *cmd, const char *opt)
> 
> Nit: The first * wants to move earlier.
> 
> > +{
> > +    const char *s = cmd, *o = NULL;
> > +
> > +    while ( (s = strstr(s, opt)) != NULL )
> 
> I'm afraid this is too easy to break without considering separators as
> well. If I'm not mistaken you'd also match e.g. "sync_console=1" for
> the sole present caller.

Right, wasn't taking into account that sync_console can also be a
boolean (and thus assigned).

> > +        }
> 
> Nit: No need for the braces in cases like this one.

I've added the braces here because it will be expended in the next
patch.  Since you asked for both patches to be merged this will go
away.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 17:48:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 17:48:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516325.800259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phZtt-0000u1-5x; Wed, 29 Mar 2023 17:47:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516325.800259; Wed, 29 Mar 2023 17:47: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 1phZtt-0000tu-2r; Wed, 29 Mar 2023 17:47:57 +0000
Received: by outflank-mailman (input) for mailman id 516325;
 Wed, 29 Mar 2023 17:47: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 1phZts-0000tk-O4; Wed, 29 Mar 2023 17:47: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 1phZts-00021v-Lb; Wed, 29 Mar 2023 17:47: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 1phZts-000175-6t; Wed, 29 Mar 2023 17:47:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phZts-0005uS-6R; Wed, 29 Mar 2023 17:47: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=uXn5mNE2ZifXKdxEIdPvvEXJ8cigq+YPNmLC7ELXT0A=; b=QIPJacVplGLp3QFZgsVm8pX+8Y
	CwcMq/L0PvxrSkrHp0ePC9oE9+Drz0Jot5rkSAB67bg8MQucWeRERVOd8VHkfVAdPbKNFXhLyMSIJ
	p8hhgQ/9mdi37cIxU+r003UK/yhFpD2bJVcPtBCmkuSzivqPvjC8ITa0dir0DOY32EKs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180054-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180054: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=6f415f8af48d0ba3e5d4719062a62cbfc3577227
X-Osstest-Versions-That:
    ovmf=b697a31a8db5f23ed1030f0fea1b56c107ca85a3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Mar 2023 17:47:56 +0000

flight 180054 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180054/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 6f415f8af48d0ba3e5d4719062a62cbfc3577227
baseline version:
 ovmf                 b697a31a8db5f23ed1030f0fea1b56c107ca85a3

Last test of basis   180053  2023-03-29 13:10:42 Z    0 days
Testing same since   180054  2023-03-29 15:42:14 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
   b697a31a8d..6f415f8af4  6f415f8af48d0ba3e5d4719062a62cbfc3577227 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 19:37:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 19:37:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516330.800270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phbbR-00040j-0o; Wed, 29 Mar 2023 19:37:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516330.800270; Wed, 29 Mar 2023 19:37: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 1phbbQ-00040c-UB; Wed, 29 Mar 2023 19:37:00 +0000
Received: by outflank-mailman (input) for mailman id 516330;
 Wed, 29 Mar 2023 19:36: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 1phbbP-00040Q-JL; Wed, 29 Mar 2023 19:36: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 1phbbP-0004uP-GX; Wed, 29 Mar 2023 19:36: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 1phbbO-0004i4-Vw; Wed, 29 Mar 2023 19:36:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phbbO-0007Bu-VT; Wed, 29 Mar 2023 19:36: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=9hOKUK80p/LS/ypYMgQBjqQ5BF87PLJitAIL+t16p/A=; b=fFVhPppexSA1hAS6jDe8oGspHH
	jVtPUd9UrDM9nBubJDfZrUxoKRHAuyny5fKDG5MI+BEF4ONn8L02izI8y8QtcbkQSLR3vz/xyr/ft
	7Xx37qRCIsAhpkS1gZMm0DZR7OQ++jbubA5252R26e2gbDz4MNYfXJFkGsSgjVbmguGk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180048-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 180048: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    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-i386-libvirt-xsm: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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=eb677e3a101107d8113feb841537425302784908
X-Osstest-Versions-That:
    libvirt=8dfa2805d84f01ccfb8feef7ecd0a82eaf0ee358
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Mar 2023 19:36:58 +0000

flight 180048 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180048/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-i386-libvirt-xsm  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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              eb677e3a101107d8113feb841537425302784908
baseline version:
 libvirt              8dfa2805d84f01ccfb8feef7ecd0a82eaf0ee358

Last test of basis   180036  2023-03-28 04:20:30 Z    1 days
Testing same since   180048  2023-03-29 04:20:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Jan Tomko <jtomko@redhat.com>
  Ján Tomko <jtomko@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Yuri Chornoivan <yurchor@ukr.net>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   8dfa2805d8..eb677e3a10  eb677e3a101107d8113feb841537425302784908 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 19:56:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 19:56:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516335.800280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phbuI-0006bE-M1; Wed, 29 Mar 2023 19:56:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516335.800280; Wed, 29 Mar 2023 19: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 1phbuI-0006b7-IO; Wed, 29 Mar 2023 19:56:30 +0000
Received: by outflank-mailman (input) for mailman id 516335;
 Wed, 29 Mar 2023 19:56: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 1phbuG-0006ax-Rs; Wed, 29 Mar 2023 19:56: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 1phbuG-0005ZY-QZ; Wed, 29 Mar 2023 19:56: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 1phbuG-0005Ba-F5; Wed, 29 Mar 2023 19:56:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phbuG-00013C-Ea; Wed, 29 Mar 2023 19:56: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=nn5mnONQmc6NseCD+1+1IXckXAeGwb05lwJOiGAKq4E=; b=nMj48YTvDLlWo0Q083LgaoRPu4
	lFgFbcJih9X8hnl7b5Bv7tGPcGj1WdWjWjuQPMzzOo8TSwjbfpy5TNY/SlQ9xPOM8QjQDxiCYJ4gC
	weikmJDp2a71VZugGLdULntVUdFZSSG0z2h79oVCHVtFpdsLQaSFCFp8IM1VC2QTCvuI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180055-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180055: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=f92a9dce10281c103b04d6b38283e0ff1d677b91
X-Osstest-Versions-That:
    ovmf=6f415f8af48d0ba3e5d4719062a62cbfc3577227
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Mar 2023 19:56:28 +0000

flight 180055 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180055/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 f92a9dce10281c103b04d6b38283e0ff1d677b91
baseline version:
 ovmf                 6f415f8af48d0ba3e5d4719062a62cbfc3577227

Last test of basis   180054  2023-03-29 15:42:14 Z    0 days
Testing same since   180055  2023-03-29 18:13:35 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-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
   6f415f8af4..f92a9dce10  f92a9dce10281c103b04d6b38283e0ff1d677b91 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 20:48:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 20:48:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516340.800290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phci6-0003nc-HO; Wed, 29 Mar 2023 20:47:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516340.800290; Wed, 29 Mar 2023 20: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 1phci6-0003nV-CR; Wed, 29 Mar 2023 20:47:58 +0000
Received: by outflank-mailman (input) for mailman id 516340;
 Wed, 29 Mar 2023 20:47: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 1phci5-0003nL-Tv; Wed, 29 Mar 2023 20:47: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 1phci5-0007D4-Ox; Wed, 29 Mar 2023 20:47: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 1phci5-0006MQ-A7; Wed, 29 Mar 2023 20:47:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phci5-0004yy-9j; Wed, 29 Mar 2023 20:47: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=eau271oUzDnEOovh3fboM8Ht5ePe9wnFu8/bTgHJcfg=; b=GzhMuCHYTe/F4crfZBwAqs+xqV
	JtCL8YBDW/Qbpk1wYaXKDclbt/Zua+wHLTwocDppFWMtVbMau+1D3vqR3vaOuvvwQdtEce613id2G
	cy+bMBdseNwDqDHmUfgr4c6BfVCby59MW+lwyh8ve8aZhDGwH0+2PIgXw2Th0THpKOrE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180047-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 180047: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-xsm:guest-start/debian.repeat:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-rtds:guest-localmigrate:fail:allowable
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=d37158bb2425e7ebffb167d611be01f1e9e6c86f
X-Osstest-Versions-That:
    qemuu=eeb2f7e35779845254fda594f7866ec9770ce97c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Mar 2023 20:47:57 +0000

flight 180047 qemu-mainline real [real]
flight 180056 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180047/
http://logs.test-lab.xenproject.org/osstest/logs/180056/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-xsm 22 guest-start/debian.repeat fail pass in 180056-retest

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     18 guest-localmigrate       fail REGR. vs. 180043

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 180043
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 180043
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 180043
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 180043
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 180043
 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-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-vhd 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-raw  14 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-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      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                d37158bb2425e7ebffb167d611be01f1e9e6c86f
baseline version:
 qemuu                eeb2f7e35779845254fda594f7866ec9770ce97c

Last test of basis   180043  2023-03-28 16:08:35 Z    1 days
Testing same since   180047  2023-03-29 02:43:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Florian Westphal <fw@strlen.de>
  Kevin Wolf <kwolf@redhat.com>
  Peter Maydell <peter.maydell@linaro.org>
  Stefan Hajnoczi <stefanha@redhat.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       pass    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   eeb2f7e357..d37158bb24  d37158bb2425e7ebffb167d611be01f1e9e6c86f -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 20:51:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 20:51:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516346.800300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phclp-0005KF-4E; Wed, 29 Mar 2023 20:51:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516346.800300; Wed, 29 Mar 2023 20: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 1phclp-0005K8-0y; Wed, 29 Mar 2023 20:51:49 +0000
Received: by outflank-mailman (input) for mailman id 516346;
 Wed, 29 Mar 2023 20:51:47 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PU7e=7V=citrix.com=prvs=445237bd4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phcln-0005Jv-Op
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 20:51:47 +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 8225ea21-ce73-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 22:51:44 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8225ea21-ce73-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680123103;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=4jHKbo6xgSHAMA7ALHtrpQqN19VeWD23wmDu4cdtUVQ=;
  b=TnCv5FbhPpQeP6nAoBekNEvPo5yHjSI5pIJ+ncmLAH0WVHeQh1i8Bipx
   p7ARm+UDDe/WIuZM3g9+gqDM4SuqY8zISaWTwCKN+guYydzYHA5nbd6QB
   L//4dk5UuHwRE+Nu3nwGfCs3nX4g6ZAxMpsc7PLe3kvABQWCARoMerD4X
   8=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103989103
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:bH+HRahTLdSy6IRtFQ0Exck6X161GhAKZh0ujC45NGQN5FlHY01je
 htvD2mOOvzeNmamedEnaNzipk8O7J+GndEyHgNq+C42EX4b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wWPzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQ1OTkuViiOttuGnp28a+tMn/t5dNjSadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/
 jmXrzWgWkpy2Nq32Aih8nmS2PL1vDrfe909K7rp7bljjwjGroAUIEJPDgbqyRWjsWauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O88Q5RyJy6HUyx2EHWVCRTlEAPQ5sOcmSDps0
 UWG9+4FHhQ27ufTEyjEsO7J83XrY3N9wXI+iTEsYBoMwOHbrbAKvkzgSfdhMLeK1IXkIGSlq
 9yVlxTSl4n/nOZSifrqrACX3278znTaZlVrv1uKBwpJ+is8Pdf4PNLwtDA3+N4adO6kok+9U
 G/ociR0xMQHFtmzmSOEW43h95n5tq/eYFUwbbOCdqTNFghBGFb5J+i8GBkkeC9U3j8sIFcFm
 nP7twJL/4N0N3C3d6JxaI/ZI510nfC5TIi7Ca6EMIQmjn1NmOmvpnkGiam4gQjQfLUEy/lja
 f93j+73ZZrlNUiX5GXvHLpMuVPa7is/2XnSVfjG8vhT6pLHPCT9Ye5cYDOzghURsPvsTPP9r
 4wOaKNnCnx3DIXDX8Ug2dVNfQ1VcSBiXcmeRg4+XrfrHzeK0VoJU5f5qY7NsaQ890iJvo8kJ
 k2AZ3I=
IronPort-HdrOrdr: A9a23:RHNwGKig4LUc/D1tCgwXrCBKpHBQXh4ji2hC6mlwRA09TyX5ra
 2TdZUgpHrJYVMqMk3I9uruBEDtex3hHP1OkOss1NWZPDUO0VHARO1fBOPZqAEIcBeOldK1u5
 0AT0B/YueAd2STj6zBkXSF+wBL+qj6zEiq792usEuEVWtRGsVdB58SMHfiLqVxLjM2YqYRJd
 6nyedsgSGvQngTZtTTPAh/YwCSz+e78q4PeHQ9dmca1DU=
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="103989103"
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/9] x86: Rename struct cpu_policy to struct old_cpuid_policy
Date: Wed, 29 Mar 2023 21:51:29 +0100
Message-ID: <20230329205137.323253-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230329205137.323253-1-andrew.cooper3@citrix.com>
References: <20230329205137.323253-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

We want to merge struct cpuid_policy and struct msr_policy together, and the
result wants to be called struct cpu_policy.

The current struct cpu_policy, being a pair of pointers, isn't terribly
useful.  Rename the type to struct old_cpu_policy, but it will disappear
entirely once the merge is complete.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/libs/guest/xg_cpuid_x86.c          | 4 ++--
 tools/tests/cpu-policy/test-cpu-policy.c | 4 ++--
 xen/arch/x86/domctl.c                    | 4 ++--
 xen/arch/x86/include/asm/cpuid.h         | 2 +-
 xen/arch/x86/sysctl.c                    | 4 ++--
 xen/include/xen/lib/x86/cpu-policy.h     | 6 +++---
 xen/lib/x86/policy.c                     | 4 ++--
 7 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 4542878bbe88..1b02bc987af7 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -868,8 +868,8 @@ bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
                                  xc_cpu_policy_t *guest)
 {
     struct cpu_policy_errors err = INIT_CPU_POLICY_ERRORS;
-    struct cpu_policy h = { &host->cpuid, &host->msr };
-    struct cpu_policy g = { &guest->cpuid, &guest->msr };
+    struct old_cpu_policy h = { &host->cpuid, &host->msr };
+    struct old_cpu_policy g = { &guest->cpuid, &guest->msr };
     int rc = x86_cpu_policies_are_compatible(&h, &g, &err);
 
     if ( !rc )
diff --git a/tools/tests/cpu-policy/test-cpu-policy.c b/tools/tests/cpu-policy/test-cpu-policy.c
index d3f24fd6d274..909d6272f875 100644
--- a/tools/tests/cpu-policy/test-cpu-policy.c
+++ b/tools/tests/cpu-policy/test-cpu-policy.c
@@ -602,7 +602,7 @@ static void test_is_compatible_success(void)
     for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
     {
         struct test *t = &tests[i];
-        struct cpu_policy sys = {
+        struct old_cpu_policy sys = {
             &t->host_cpuid,
             &t->host_msr,
         }, new = {
@@ -654,7 +654,7 @@ static void test_is_compatible_failure(void)
     for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
     {
         struct test *t = &tests[i];
-        struct cpu_policy sys = {
+        struct old_cpu_policy sys = {
             &t->host_cpuid,
             &t->host_msr,
         }, new = {
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 2118fcad5dfe..0b41b279507e 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -40,8 +40,8 @@
 static int update_domain_cpu_policy(struct domain *d,
                                     xen_domctl_cpu_policy_t *xdpc)
 {
-    struct cpu_policy new = {};
-    const struct cpu_policy *sys = is_pv_domain(d)
+    struct old_cpu_policy new = {};
+    const struct old_cpu_policy *sys = is_pv_domain(d)
         ? &system_policies[XEN_SYSCTL_cpu_policy_pv_max]
         : &system_policies[XEN_SYSCTL_cpu_policy_hvm_max];
     struct cpu_policy_errors err = INIT_CPU_POLICY_ERRORS;
diff --git a/xen/arch/x86/include/asm/cpuid.h b/xen/arch/x86/include/asm/cpuid.h
index 9c3637549a10..49b3128f06f9 100644
--- a/xen/arch/x86/include/asm/cpuid.h
+++ b/xen/arch/x86/include/asm/cpuid.h
@@ -51,7 +51,7 @@ extern struct cpuid_policy raw_cpuid_policy, host_cpuid_policy,
     pv_max_cpuid_policy, pv_def_cpuid_policy,
     hvm_max_cpuid_policy, hvm_def_cpuid_policy;
 
-extern const struct cpu_policy system_policies[];
+extern const struct old_cpu_policy system_policies[];
 
 /* Check that all previously present features are still available. */
 bool recheck_cpu_features(unsigned int cpu);
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index 16625b57f01f..3f5b092df16a 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -32,7 +32,7 @@
 #include <asm/psr.h>
 #include <asm/cpuid.h>
 
-const struct cpu_policy system_policies[6] = {
+const struct old_cpu_policy system_policies[6] = {
     [ XEN_SYSCTL_cpu_policy_raw ] = {
         &raw_cpuid_policy,
         &raw_msr_policy,
@@ -391,7 +391,7 @@ long arch_do_sysctl(
 
     case XEN_SYSCTL_get_cpu_policy:
     {
-        const struct cpu_policy *policy;
+        const struct old_cpu_policy *policy;
 
         /* Reserved field set, or bad policy index? */
         if ( sysctl->u.cpu_policy._rsvd ||
diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
index 5a2c4c7b2d90..3a5300d1078c 100644
--- a/xen/include/xen/lib/x86/cpu-policy.h
+++ b/xen/include/xen/lib/x86/cpu-policy.h
@@ -5,7 +5,7 @@
 #include <xen/lib/x86/cpuid.h>
 #include <xen/lib/x86/msr.h>
 
-struct cpu_policy
+struct old_cpu_policy
 {
     struct cpuid_policy *cpuid;
     struct msr_policy *msr;
@@ -33,8 +33,8 @@ struct cpu_policy_errors
  * incompatibility is detected, the optional err pointer may identify the
  * problematic leaf/subleaf and/or MSR.
  */
-int x86_cpu_policies_are_compatible(const struct cpu_policy *host,
-                                    const struct cpu_policy *guest,
+int x86_cpu_policies_are_compatible(const struct old_cpu_policy *host,
+                                    const struct old_cpu_policy *guest,
                                     struct cpu_policy_errors *err);
 
 #endif /* !XEN_LIB_X86_POLICIES_H */
diff --git a/xen/lib/x86/policy.c b/xen/lib/x86/policy.c
index f6cea4e2f9bd..2975711d7c6c 100644
--- a/xen/lib/x86/policy.c
+++ b/xen/lib/x86/policy.c
@@ -2,8 +2,8 @@
 
 #include <xen/lib/x86/cpu-policy.h>
 
-int x86_cpu_policies_are_compatible(const struct cpu_policy *host,
-                                    const struct cpu_policy *guest,
+int x86_cpu_policies_are_compatible(const struct old_cpu_policy *host,
+                                    const struct old_cpu_policy *guest,
                                     struct cpu_policy_errors *err)
 {
     struct cpu_policy_errors e = INIT_CPU_POLICY_ERRORS;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 20:51:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 20:51:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516347.800304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phclp-0005Ne-D2; Wed, 29 Mar 2023 20:51:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516347.800304; Wed, 29 Mar 2023 20: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 1phclp-0005N3-8O; Wed, 29 Mar 2023 20:51:49 +0000
Received: by outflank-mailman (input) for mailman id 516347;
 Wed, 29 Mar 2023 20:51:48 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PU7e=7V=citrix.com=prvs=445237bd4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phclo-0005Jv-Ek
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 20:51:48 +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 8313cab4-ce73-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 22:51:45 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8313cab4-ce73-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680123105;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=raoiTPIVEhjF7vT5N1JRCacx7iW6LptTnC0J47F8mRM=;
  b=RX3DDa3Fg2P9F58tKbVPNFo/8CvcjY2GHe0Fbw2RhUbCtbfOMPGJvEhL
   ZplGiqQsRGMkL+fLMM207qSAoJamiZSvnFRYs83UirCCJ0aBHU7Pmo45F
   T9rTxM7Cy3WV3xHlVhwi3Od8ZARUiR41SUTuFRFHhiVZkvP4rQGOXyfSQ
   0=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103609849
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:wnQ1pKnFCoocOOHpHqwGpCDo5gz7JkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xJKXDuEPqnbY2OnfYolao2+9ksGuMXRz4c2T1Fq/igxFyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5g6GzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dAFCioCUFe7vf315IqrQK5dmdUyKeC+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglHWdTFCpU3Tjq0w+2XJlyR60aT3McqTcduPLSlQth/A/
 TyerjSlU3n2MvSg5X2kyGKQhNTduirLXoRVE57/9qRD1Qj7Kms7V0RNCArTTeOColG6c8JSL
 QoT4CVGhbg/8gmnQ8fwWzW8oWWYpVgMVtxICeo45QqRjK3O7G6xJEIJUzpAY9wOr9ItSHoh0
 Vrhoj/yLWUx6vvPEyvbr+rK62roYkD5MFPuewcoUCkf7OekmLsszTb3XtwkIbGkn9jcTGSYL
 y+xkMQuu1kCpZdViPTqrQCb32LESovhFVBsuFiONo6xxkYgPdP+OdT1gbTOxawYRLt1WGVtq
 5TtdyK2yOkVRa+AmyWWKAnmNOH4vq3VWNEwbLMGInXAy9hO0yT5FWyoyGsiTHqFy+5dEdMTX
 GfduBlK+LhYN2awYKl8buqZUpp6lfG5SYq6CKCKMLKih6SdkifdpEmCgmbOt10BbWB2yf1vU
 XtlWZ3E4Ykm5VRPk2PtGrZ1PU4DzSEi32LDLa3GI+Cc+ePGPha9EO5VWGZim8hltMtoVi2Jq
 YcAXyZLoj0DONDDjt7/qtBDcA9WdSFjXPgbaaV/L4a+H+avI0l5Y9e5/F/rU9YNc3h9/gsQw
 kyAZw==
IronPort-HdrOrdr: A9a23:sKti+6zNbgcdxPUMM6DhKrPw6L1zdoMgy1knxilNoHxuH/Bw9v
 re+cjzsCWftN9/Yh4dcLy7VpVoIkmsl6Kdg7NwAV7KZmCP1FdARLsI0WKI+UyCJ8SRzI9gPa
 cLSdkFNDXzZ2IK8PoTNmODYqodKNrsytHWuQ/HpU0dKT2D88tbnn9E4gDwKDwQeCB2QaAXOb
 C7/cR9qz+paR0sH7+G7ilsZZmkmzXT/qiWGCI7Ow==
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="103609849"
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 7/9] x86: Merge xc_cpu_policy's cpuid and msr objects
Date: Wed, 29 Mar 2023 21:51:35 +0100
Message-ID: <20230329205137.323253-8-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230329205137.323253-1-andrew.cooper3@citrix.com>
References: <20230329205137.323253-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Right now, they're the same underlying type, containing disjoint information.

Use a single object instead.  Also take the opportunity to rename 'entries' to
'msrs' which is more descriptive, and more in line with nr_msrs being the
count of MSR entries in the API.

test-tsx uses xg_private.h to access the internals of xc_cpu_policy, so needs
updating at the same time.

No practical change, but it does reduce the size of struct xc_cpu_policy by
~2k.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/libs/guest/xg_cpuid_x86.c | 36 ++++++++++----------
 tools/libs/guest/xg_private.h   |  5 ++-
 tools/tests/tsx/test-tsx.c      | 58 ++++++++++++++++-----------------
 3 files changed, 48 insertions(+), 51 deletions(-)

diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 5fae06e77804..5061fe357767 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -431,7 +431,7 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
     xc_dominfo_t di;
     unsigned int i, nr_leaves, nr_msrs;
     xen_cpuid_leaf_t *leaves = NULL;
-    struct cpuid_policy *p = 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);
@@ -692,7 +692,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->cpuid, policy->leaves,
+    rc = x86_cpuid_copy_from_buffer(&policy->policy, policy->leaves,
                                     nr_leaves, &err_leaf, &err_subleaf);
     if ( rc )
     {
@@ -702,7 +702,7 @@ static int deserialize_policy(xc_interface *xch, xc_cpu_policy_t *policy,
         return rc;
     }
 
-    rc = x86_msr_copy_from_buffer(&policy->msr, policy->entries,
+    rc = x86_msr_copy_from_buffer(&policy->policy, policy->msrs,
                                   nr_entries, &err_msr);
     if ( rc )
     {
@@ -719,18 +719,18 @@ 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_entries = ARRAY_SIZE(policy->entries);
+    unsigned int nr_msrs = ARRAY_SIZE(policy->msrs);
     int rc;
 
     rc = get_system_cpu_policy(xch, policy_idx, &nr_leaves, policy->leaves,
-                               &nr_entries, policy->entries);
+                               &nr_msrs, policy->msrs);
     if ( rc )
     {
         PERROR("Failed to obtain %u policy", policy_idx);
         return rc;
     }
 
-    rc = deserialize_policy(xch, policy, nr_leaves, nr_entries);
+    rc = deserialize_policy(xch, policy, nr_leaves, nr_msrs);
     if ( rc )
     {
         errno = -rc;
@@ -744,18 +744,18 @@ 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_entries = ARRAY_SIZE(policy->entries);
+    unsigned int nr_msrs = ARRAY_SIZE(policy->msrs);
     int rc;
 
     rc = get_domain_cpu_policy(xch, domid, &nr_leaves, policy->leaves,
-                               &nr_entries, policy->entries);
+                               &nr_msrs, policy->msrs);
     if ( rc )
     {
         PERROR("Failed to obtain domain %u policy", domid);
         return rc;
     }
 
-    rc = deserialize_policy(xch, policy, nr_leaves, nr_entries);
+    rc = deserialize_policy(xch, policy, nr_leaves, nr_msrs);
     if ( rc )
     {
         errno = -rc;
@@ -770,16 +770,16 @@ int xc_cpu_policy_set_domain(xc_interface *xch, uint32_t domid,
 {
     uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
     unsigned int nr_leaves = ARRAY_SIZE(policy->leaves);
-    unsigned int nr_entries = ARRAY_SIZE(policy->entries);
+    unsigned int nr_msrs = ARRAY_SIZE(policy->msrs);
     int rc;
 
     rc = xc_cpu_policy_serialise(xch, policy, policy->leaves, &nr_leaves,
-                                 policy->entries, &nr_entries);
+                                 policy->msrs, &nr_msrs);
     if ( rc )
         return rc;
 
     rc = xc_set_domain_cpu_policy(xch, domid, nr_leaves, policy->leaves,
-                                  nr_entries, policy->entries,
+                                  nr_msrs, policy->msrs,
                                   &err_leaf, &err_subleaf, &err_msr);
     if ( rc )
     {
@@ -802,7 +802,7 @@ int xc_cpu_policy_serialise(xc_interface *xch, const xc_cpu_policy_t *p,
 
     if ( leaves )
     {
-        rc = x86_cpuid_copy_to_buffer(&p->cpuid, leaves, nr_leaves);
+        rc = x86_cpuid_copy_to_buffer(&p->policy, leaves, nr_leaves);
         if ( rc )
         {
             ERROR("Failed to serialize CPUID policy");
@@ -813,7 +813,7 @@ int xc_cpu_policy_serialise(xc_interface *xch, const xc_cpu_policy_t *p,
 
     if ( msrs )
     {
-        rc = x86_msr_copy_to_buffer(&p->msr, msrs, nr_msrs);
+        rc = x86_msr_copy_to_buffer(&p->policy, msrs, nr_msrs);
         if ( rc )
         {
             ERROR("Failed to serialize MSR policy");
@@ -831,7 +831,7 @@ int xc_cpu_policy_update_cpuid(xc_interface *xch, xc_cpu_policy_t *policy,
                                uint32_t nr)
 {
     unsigned int err_leaf = -1, err_subleaf = -1;
-    int rc = x86_cpuid_copy_from_buffer(&policy->cpuid, leaves, nr,
+    int rc = x86_cpuid_copy_from_buffer(&policy->policy, leaves, nr,
                                         &err_leaf, &err_subleaf);
 
     if ( rc )
@@ -850,7 +850,7 @@ int xc_cpu_policy_update_msrs(xc_interface *xch, xc_cpu_policy_t *policy,
                               const xen_msr_entry_t *msrs, uint32_t nr)
 {
     unsigned int err_msr = -1;
-    int rc = x86_msr_copy_from_buffer(&policy->msr, msrs, nr, &err_msr);
+    int rc = x86_msr_copy_from_buffer(&policy->policy, msrs, nr, &err_msr);
 
     if ( rc )
     {
@@ -868,8 +868,8 @@ bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
                                  xc_cpu_policy_t *guest)
 {
     struct cpu_policy_errors err = INIT_CPU_POLICY_ERRORS;
-    struct old_cpu_policy h = { &host->cpuid, &host->msr };
-    struct old_cpu_policy g = { &guest->cpuid, &guest->msr };
+    struct old_cpu_policy h = { &host->policy, &host->policy };
+    struct old_cpu_policy g = { &guest->policy, &guest->policy };
     int rc = x86_cpu_policies_are_compatible(&h, &g, &err);
 
     if ( !rc )
diff --git a/tools/libs/guest/xg_private.h b/tools/libs/guest/xg_private.h
index 09e24f122760..e729a8106c3e 100644
--- a/tools/libs/guest/xg_private.h
+++ b/tools/libs/guest/xg_private.h
@@ -173,10 +173,9 @@ int pin_table(xc_interface *xch, unsigned int type, unsigned long mfn,
 #include <xen/lib/x86/cpu-policy.h>
 
 struct xc_cpu_policy {
-    struct cpuid_policy cpuid;
-    struct msr_policy msr;
+    struct cpu_policy policy;
     xen_cpuid_leaf_t leaves[CPUID_MAX_SERIALISED_LEAVES];
-    xen_msr_entry_t entries[MSR_MAX_SERIALISED_ENTRIES];
+    xen_msr_entry_t msrs[MSR_MAX_SERIALISED_ENTRIES];
 };
 #endif /* x86 */
 
diff --git a/tools/tests/tsx/test-tsx.c b/tools/tests/tsx/test-tsx.c
index d6d98c299bf9..6164cd86c466 100644
--- a/tools/tests/tsx/test-tsx.c
+++ b/tools/tests/tsx/test-tsx.c
@@ -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.cpuid.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.msr.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.cpuid.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.cpuid.feat.rtm )
+    if ( host.policy.feat.rtm )
     {
         if ( rtm_behaviour == RTM_UD )
             fail("  Host reports RTM, but appears unavailable\n");
@@ -297,53 +297,51 @@ static void dump_tsx_details(const struct xc_cpu_policy *p, const char *pref)
 {
     printf("  %s RTM %u, HLE %u, TSX_FORCE_ABORT %u, RTM_ALWAYS_ABORT %u, TSX_CTRL %u\n",
            pref,
-           p->cpuid.feat.rtm,
-           p->cpuid.feat.hle,
-           p->cpuid.feat.tsx_force_abort,
-           p->cpuid.feat.rtm_always_abort,
-           p->msr.arch_caps.tsx_ctrl);
+           p->policy.feat.rtm,
+           p->policy.feat.hle,
+           p->policy.feat.tsx_force_abort,
+           p->policy.feat.rtm_always_abort,
+           p->policy.arch_caps.tsx_ctrl);
 }
 
 /* Sanity test various invariants we expect in the default/max policies. */
 static void test_guest_policies(const struct xc_cpu_policy *max,
                                 const struct xc_cpu_policy *def)
 {
-    const struct cpuid_policy *cm = &max->cpuid;
-    const struct cpuid_policy *cd = &def->cpuid;
-    const struct msr_policy *mm = &max->msr;
-    const struct msr_policy *md = &def->msr;
+    const struct cpu_policy *m = &max->policy;
+    const struct cpu_policy *d = &def->policy;
 
     dump_tsx_details(max, "Max:");
     dump_tsx_details(def, "Def:");
 
-    if ( ((cm->feat.raw[0].d | cd->feat.raw[0].d) &
+    if ( ((m->feat.raw[0].d | d->feat.raw[0].d) &
           (bitmaskof(X86_FEATURE_TSX_FORCE_ABORT) |
            bitmaskof(X86_FEATURE_RTM_ALWAYS_ABORT) |
            bitmaskof(X86_FEATURE_SRBDS_CTRL))) ||
-         ((mm->arch_caps.raw | md->arch_caps.raw) & ARCH_CAPS_TSX_CTRL) )
+         ((m->arch_caps.raw | d->arch_caps.raw) & ARCH_CAPS_TSX_CTRL) )
         fail("  Xen-only TSX controls offered to guest\n");
 
     switch ( rtm_behaviour )
     {
     case RTM_UD:
-        if ( (cm->feat.raw[0].b | cd->feat.raw[0].b) &
+        if ( (m->feat.raw[0].b | d->feat.raw[0].b) &
              (bitmaskof(X86_FEATURE_HLE) | bitmaskof(X86_FEATURE_RTM)) )
              fail("  HLE/RTM offered to guests despite not being available\n");
         break;
 
     case RTM_ABORT:
-        if ( cd->feat.raw[0].b &
+        if ( d->feat.raw[0].b &
              (bitmaskof(X86_FEATURE_HLE) | bitmaskof(X86_FEATURE_RTM)) )
              fail("  HLE/RTM offered to guests by default despite not being usable\n");
         break;
 
     case RTM_OK:
-        if ( !cm->feat.rtm || !cd->feat.rtm )
+        if ( !m->feat.rtm || !d->feat.rtm )
              fail("  RTM not offered to guests despite being available\n");
         break;
     }
 
-    if ( cd->feat.hle )
+    if ( d->feat.hle )
         fail("  Fail: HLE offered in default policy\n");
 }
 
@@ -387,18 +385,18 @@ static void test_guest(struct xen_domctl_createdomain *c)
     /*
      * Check defaults given to the guest.
      */
-    if ( guest_policy.cpuid.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.cpuid.feat.rtm);
+             guest_policy.policy.feat.rtm);
 
-    if ( guest_policy.cpuid.feat.hle ||
-         guest_policy.cpuid.feat.tsx_force_abort ||
-         guest_policy.cpuid.feat.rtm_always_abort ||
-         guest_policy.cpuid.feat.srbds_ctrl ||
-         guest_policy.msr.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.cpuid.feat.rtm )
+    if ( host.policy.feat.rtm )
     {
         unsigned int _7b0;
 
@@ -406,7 +404,7 @@ 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.cpuid.feat.raw[0].b ^=
+        _7b0 = (guest_policy.policy.feat.raw[0].b ^=
                 (bitmaskof(X86_FEATURE_HLE) | bitmaskof(X86_FEATURE_RTM)));
 
         /* Set the new policy. */
@@ -429,10 +427,10 @@ static void test_guest(struct xen_domctl_createdomain *c)
 
         dump_tsx_details(&guest_policy, "Cur:");
 
-        if ( guest_policy.cpuid.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.cpuid.feat.raw[0].b);
+                 _7b0, guest_policy.policy.feat.raw[0].b);
             goto out;
         }
     }
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 20:52:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 20:52:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516348.800320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phclq-0005oe-N5; Wed, 29 Mar 2023 20:51:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516348.800320; Wed, 29 Mar 2023 20: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 1phclq-0005oR-J3; Wed, 29 Mar 2023 20:51:50 +0000
Received: by outflank-mailman (input) for mailman id 516348;
 Wed, 29 Mar 2023 20:51: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=PU7e=7V=citrix.com=prvs=445237bd4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phclp-0005Jv-F5
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 20:51:49 +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 826f04fa-ce73-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 22:51:44 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 826f04fa-ce73-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680123104;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=IZ6DEE+RFa670gQsj58OFOod0mp2818DgUWPUPcoRus=;
  b=QszRaQMoDlFK2iIUtVpEydzBv814NHT5uB7hZRrhDJ7kKo77pxfZgOZh
   WLoiJVhXrkOzVGPqRPbysx+RmV9YpkcFX0GsyQM5T3CeXqGCvnTzLDV0R
   HD1LJw1F88IDIXdbocff9u/ooIyAZLFDB46xHJjKjTNPdQI52sqUT0Sti
   U=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103500084
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:aZTFVaJU4NEfzBhiFE+Rq5UlxSXFcZb7ZxGr2PjKsXjdYENSg2RVz
 DAeC2GFPa3cZmqmLd93PYrk9kpSvpbVzNFnTlBlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QZvPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5xMH5P+
 aUKFQwfVSu/27yc2rzib7RV05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWteGknHTgNRZfr0qYv/Ef6GnP1g1hlrPqNbI5f/TTHZ4Ixh7A9
 j6uE2LRG08nGcW94xq8/3f1veKIkhrUcdkwG+jtnhJtqALKnTFCYPEMbnOkpdGph0j4XMhQQ
 2QE9yxroaUs+UiDStjmQwb+sHOCpgQbWddbD6s98g7l4oj+7hudB2MEZiVcc9Fgv8gzLQHGz
 XfQwYmvX2Y29uTIFzTErOz8QS6O1TY9K14dZCNdXzY58eLYnN1tpAjBF/M+Kfvg5jHqIg0c0
 wxmvQBn2epC3J5bi/nrlbzUq2ny/8aUF2bZ8i2SBzv4tV0hOeZJcqTysTDmAeB8wJF1p7Vrl
 FwNgICg4e8HFvlhfwTdEbxWTNlFCxtoWQAwYGKD/LF7rVxBA1b5IehtDMhWfS+FyPosdz7ze
 1P0sghM/pJVN3bCRfYpM9roUph0kvawS4qNuhXogjxmOMAZmOivoklTibO4hTixwCDAb4lkU
 XtkTSpcJSlDUvk2pNZHb+wczaUq1kgD+I8nfriil07P+ePHNBaopUItbAPmghYRsPnV/204M
 r93a6O39vmoeLagMnSIrdZKdQliwLpSLcmelvG7v9WremJOcFzNwdeIqV/9U+SJR5hoq9o=
IronPort-HdrOrdr: A9a23:ev/R+aNdLJvTTcBcTgWjsMiBIKoaSvp037BK7S1MoH1uA6mlfq
 WV9sjzuiWatN98Yh8dcLO7Scu9qBHnlaKdiLN5VduftWHd01dAR7sSjrcKrQeAJ8X/nNQtr5
 uJccJFeaDN5Y4Rt7eH3OG6eexQv+Vu6MqT9IPjJ+8Gd3ATV0lnhT0JbTqzIwlNayRtI4E2L5
 aY7tovnUvaRZxGBv7LYEXsRoL41qT2qK4=
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="103500084"
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 5/9] x86: Merge the system {cpuid,msr} policy objects
Date: Wed, 29 Mar 2023 21:51:33 +0100
Message-ID: <20230329205137.323253-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230329205137.323253-1-andrew.cooper3@citrix.com>
References: <20230329205137.323253-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Right now, they're the same underlying type, containing disjoint information.

Introduce a new cpu-policy.{h,c} to be the new location for all policy
handling logic.  Place the combined objects in __ro_after_init, which has
appeared since the original logic was written.

As we're trying to phase out the use of struct old_cpu_policy entirely, rework
update_domain_cpu_policy() to not pointer-chase through system_policies[].

This in turn allows system_policies[] in sysctl.c to become static and reduced
in scope to XEN_SYSCTL_get_cpu_policy.

No practical change, but we do half the amount of compile time space required
for the system policies, which saves 6x almost-2k at the moment.

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/Makefile                 |  1 +
 xen/arch/x86/cpu-policy.c             | 18 +++++++
 xen/arch/x86/cpu/common.c             |  4 +-
 xen/arch/x86/cpuid.c                  | 66 +++++++++++---------------
 xen/arch/x86/domctl.c                 | 17 +++++--
 xen/arch/x86/include/asm/cpu-policy.h | 14 ++++++
 xen/arch/x86/include/asm/cpuid.h      |  6 ---
 xen/arch/x86/include/asm/msr.h        |  7 ---
 xen/arch/x86/msr.c                    | 38 ++++++---------
 xen/arch/x86/sysctl.c                 | 67 ++++++++++-----------------
 10 files changed, 114 insertions(+), 124 deletions(-)
 create mode 100644 xen/arch/x86/cpu-policy.c
 create mode 100644 xen/arch/x86/include/asm/cpu-policy.h

diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index 5accbe4c6746..f213a6b56a4d 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -18,6 +18,7 @@ obj-y += bitops.o
 obj-bin-y += bzimage.init.o
 obj-bin-y += clear_page.o
 obj-bin-y += copy_page.o
+obj-y += cpu-policy.o
 obj-y += cpuid.o
 obj-$(CONFIG_PV) += compat.o
 obj-$(CONFIG_PV32) += x86_64/compat.o
diff --git a/xen/arch/x86/cpu-policy.c b/xen/arch/x86/cpu-policy.c
new file mode 100644
index 000000000000..663e9a084c53
--- /dev/null
+++ b/xen/arch/x86/cpu-policy.c
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#include <xen/cache.h>
+#include <xen/kernel.h>
+
+#include <xen/lib/x86/cpu-policy.h>
+
+#include <asm/cpu-policy.h>
+
+struct cpu_policy __ro_after_init     raw_cpu_policy;
+struct cpu_policy __ro_after_init    host_cpu_policy;
+#ifdef CONFIG_PV
+struct cpu_policy __ro_after_init  pv_max_cpu_policy;
+struct cpu_policy __ro_after_init  pv_def_cpu_policy;
+#endif
+#ifdef CONFIG_HVM
+struct cpu_policy __ro_after_init hvm_max_cpu_policy;
+struct cpu_policy __ro_after_init hvm_def_cpu_policy;
+#endif
diff --git a/xen/arch/x86/cpu/common.c b/xen/arch/x86/cpu/common.c
index 5ad347534a22..f11dcda57a69 100644
--- a/xen/arch/x86/cpu/common.c
+++ b/xen/arch/x86/cpu/common.c
@@ -3,6 +3,8 @@
 #include <xen/delay.h>
 #include <xen/param.h>
 #include <xen/smp.h>
+
+#include <asm/cpu-policy.h>
 #include <asm/current.h>
 #include <asm/debugreg.h>
 #include <asm/processor.h>
@@ -141,7 +143,7 @@ bool __init probe_cpuid_faulting(void)
 		return false;
 
 	if ((rc = rdmsr_safe(MSR_INTEL_PLATFORM_INFO, val)) == 0)
-		raw_msr_policy.platform_info.cpuid_faulting =
+		raw_cpu_policy.platform_info.cpuid_faulting =
 			val & MSR_PLATFORM_INFO_CPUID_FAULTING;
 
 	if (rc ||
diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index b22725c492e7..0916bfe175c8 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -4,6 +4,7 @@
 #include <xen/sched.h>
 #include <xen/nospec.h>
 #include <asm/amd.h>
+#include <asm/cpu-policy.h>
 #include <asm/cpuid.h>
 #include <asm/hvm/hvm.h>
 #include <asm/hvm/nestedhvm.h>
@@ -142,17 +143,6 @@ static void zero_leaves(struct cpuid_leaf *l,
     memset(&l[first], 0, sizeof(*l) * (last - first + 1));
 }
 
-struct cpuid_policy __read_mostly     raw_cpuid_policy,
-                    __read_mostly    host_cpuid_policy;
-#ifdef CONFIG_PV
-struct cpuid_policy __read_mostly  pv_max_cpuid_policy;
-struct cpuid_policy __read_mostly  pv_def_cpuid_policy;
-#endif
-#ifdef CONFIG_HVM
-struct cpuid_policy __read_mostly hvm_max_cpuid_policy;
-struct cpuid_policy __read_mostly hvm_def_cpuid_policy;
-#endif
-
 static void sanitise_featureset(uint32_t *fs)
 {
     /* for_each_set_bit() uses unsigned longs.  Extend with zeroes. */
@@ -344,7 +334,7 @@ static void recalculate_misc(struct cpuid_policy *p)
 
 static void __init calculate_raw_policy(void)
 {
-    struct cpuid_policy *p = &raw_cpuid_policy;
+    struct cpuid_policy *p = &raw_cpu_policy;
 
     x86_cpuid_policy_fill_native(p);
 
@@ -354,10 +344,10 @@ static void __init calculate_raw_policy(void)
 
 static void __init calculate_host_policy(void)
 {
-    struct cpuid_policy *p = &host_cpuid_policy;
+    struct cpuid_policy *p = &host_cpu_policy;
     unsigned int max_extd_leaf;
 
-    *p = raw_cpuid_policy;
+    *p = raw_cpu_policy;
 
     p->basic.max_leaf =
         min_t(uint32_t, p->basic.max_leaf,   ARRAY_SIZE(p->basic.raw) - 1);
@@ -449,17 +439,17 @@ static void __init guest_common_feature_adjustments(uint32_t *fs)
      * of IBRS by using the AMD feature bit.  An administrator may wish for
      * performance reasons to offer IBPB without IBRS.
      */
-    if ( host_cpuid_policy.feat.ibrsb )
+    if ( host_cpu_policy.feat.ibrsb )
         __set_bit(X86_FEATURE_IBPB, fs);
 }
 
 static void __init calculate_pv_max_policy(void)
 {
-    struct cpuid_policy *p = &pv_max_cpuid_policy;
+    struct cpuid_policy *p = &pv_max_cpu_policy;
     uint32_t pv_featureset[FSCAPINTS];
     unsigned int i;
 
-    *p = host_cpuid_policy;
+    *p = host_cpu_policy;
     cpuid_policy_to_featureset(p, pv_featureset);
 
     for ( i = 0; i < ARRAY_SIZE(pv_featureset); ++i )
@@ -486,11 +476,11 @@ static void __init calculate_pv_max_policy(void)
 
 static void __init calculate_pv_def_policy(void)
 {
-    struct cpuid_policy *p = &pv_def_cpuid_policy;
+    struct cpuid_policy *p = &pv_def_cpu_policy;
     uint32_t pv_featureset[FSCAPINTS];
     unsigned int i;
 
-    *p = pv_max_cpuid_policy;
+    *p = pv_max_cpu_policy;
     cpuid_policy_to_featureset(p, pv_featureset);
 
     for ( i = 0; i < ARRAY_SIZE(pv_featureset); ++i )
@@ -506,12 +496,12 @@ static void __init calculate_pv_def_policy(void)
 
 static void __init calculate_hvm_max_policy(void)
 {
-    struct cpuid_policy *p = &hvm_max_cpuid_policy;
+    struct cpuid_policy *p = &hvm_max_cpu_policy;
     uint32_t hvm_featureset[FSCAPINTS];
     unsigned int i;
     const uint32_t *hvm_featuremask;
 
-    *p = host_cpuid_policy;
+    *p = host_cpu_policy;
     cpuid_policy_to_featureset(p, hvm_featureset);
 
     hvm_featuremask = hvm_hap_supported() ?
@@ -539,7 +529,7 @@ static void __init calculate_hvm_max_policy(void)
      * HVM guests are able if running in protected mode.
      */
     if ( (boot_cpu_data.x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON)) &&
-         raw_cpuid_policy.basic.sep )
+         raw_cpu_policy.basic.sep )
         __set_bit(X86_FEATURE_SEP, hvm_featureset);
 
     /*
@@ -597,12 +587,12 @@ static void __init calculate_hvm_max_policy(void)
 
 static void __init calculate_hvm_def_policy(void)
 {
-    struct cpuid_policy *p = &hvm_def_cpuid_policy;
+    struct cpuid_policy *p = &hvm_def_cpu_policy;
     uint32_t hvm_featureset[FSCAPINTS];
     unsigned int i;
     const uint32_t *hvm_featuremask;
 
-    *p = hvm_max_cpuid_policy;
+    *p = hvm_max_cpu_policy;
     cpuid_policy_to_featureset(p, hvm_featureset);
 
     hvm_featuremask = hvm_hap_supported() ?
@@ -670,8 +660,8 @@ void recalculate_cpuid_policy(struct domain *d)
 {
     struct cpuid_policy *p = d->arch.cpuid;
     const struct cpuid_policy *max = is_pv_domain(d)
-        ? (IS_ENABLED(CONFIG_PV)  ?  &pv_max_cpuid_policy : NULL)
-        : (IS_ENABLED(CONFIG_HVM) ? &hvm_max_cpuid_policy : NULL);
+        ? (IS_ENABLED(CONFIG_PV)  ?  &pv_max_cpu_policy : NULL)
+        : (IS_ENABLED(CONFIG_HVM) ? &hvm_max_cpu_policy : NULL);
     uint32_t fs[FSCAPINTS], max_fs[FSCAPINTS];
     unsigned int i;
 
@@ -746,7 +736,7 @@ void recalculate_cpuid_policy(struct domain *d)
     /* Fold host's FDP_EXCP_ONLY and NO_FPU_SEL into guest's view. */
     fs[FEATURESET_7b0] &= ~(cpufeat_mask(X86_FEATURE_FDP_EXCP_ONLY) |
                             cpufeat_mask(X86_FEATURE_NO_FPU_SEL));
-    fs[FEATURESET_7b0] |= (host_cpuid_policy.feat._7b0 &
+    fs[FEATURESET_7b0] |= (host_cpu_policy.feat._7b0 &
                            (cpufeat_mask(X86_FEATURE_FDP_EXCP_ONLY) |
                             cpufeat_mask(X86_FEATURE_NO_FPU_SEL)));
 
@@ -797,8 +787,8 @@ void recalculate_cpuid_policy(struct domain *d)
 int init_domain_cpuid_policy(struct domain *d)
 {
     struct cpuid_policy *p = is_pv_domain(d)
-        ? (IS_ENABLED(CONFIG_PV)  ?  &pv_def_cpuid_policy : NULL)
-        : (IS_ENABLED(CONFIG_HVM) ? &hvm_def_cpuid_policy : NULL);
+        ? (IS_ENABLED(CONFIG_PV)  ?  &pv_def_cpu_policy : NULL)
+        : (IS_ENABLED(CONFIG_HVM) ? &hvm_def_cpu_policy : NULL);
 
     if ( !p )
     {
@@ -1102,7 +1092,7 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
         if ( is_pv_domain(d) && is_hardware_domain(d) &&
              guest_kernel_mode(v, regs) && cpu_has_monitor &&
              regs->entry_vector == TRAP_gp_fault )
-            *res = raw_cpuid_policy.basic.raw[5];
+            *res = raw_cpu_policy.basic.raw[5];
         break;
 
     case 0x7:
@@ -1234,14 +1224,14 @@ static void __init __maybe_unused build_assertions(void)
     /* Find some more clever allocation scheme if this trips. */
     BUILD_BUG_ON(sizeof(struct cpuid_policy) > PAGE_SIZE);
 
-    BUILD_BUG_ON(sizeof(raw_cpuid_policy.basic) !=
-                 sizeof(raw_cpuid_policy.basic.raw));
-    BUILD_BUG_ON(sizeof(raw_cpuid_policy.feat) !=
-                 sizeof(raw_cpuid_policy.feat.raw));
-    BUILD_BUG_ON(sizeof(raw_cpuid_policy.xstate) !=
-                 sizeof(raw_cpuid_policy.xstate.raw));
-    BUILD_BUG_ON(sizeof(raw_cpuid_policy.extd) !=
-                 sizeof(raw_cpuid_policy.extd.raw));
+    BUILD_BUG_ON(sizeof(raw_cpu_policy.basic) !=
+                 sizeof(raw_cpu_policy.basic.raw));
+    BUILD_BUG_ON(sizeof(raw_cpu_policy.feat) !=
+                 sizeof(raw_cpu_policy.feat.raw));
+    BUILD_BUG_ON(sizeof(raw_cpu_policy.xstate) !=
+                 sizeof(raw_cpu_policy.xstate.raw));
+    BUILD_BUG_ON(sizeof(raw_cpu_policy.extd) !=
+                 sizeof(raw_cpu_policy.extd.raw));
 }
 
 /*
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 944af63e68d0..5800bb10bc4a 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -35,18 +35,25 @@
 #include <asm/mem_sharing.h>
 #include <asm/xstate.h>
 #include <asm/psr.h>
-#include <asm/cpuid.h>
+#include <asm/cpu-policy.h>
 
 static int update_domain_cpu_policy(struct domain *d,
                                     xen_domctl_cpu_policy_t *xdpc)
 {
     struct old_cpu_policy new = {};
-    const struct old_cpu_policy *sys = is_pv_domain(d)
-        ? &system_policies[XEN_SYSCTL_cpu_policy_pv_max]
-        : &system_policies[XEN_SYSCTL_cpu_policy_hvm_max];
+    struct cpu_policy *sys = is_pv_domain(d)
+        ? (IS_ENABLED(CONFIG_PV)  ?  &pv_max_cpu_policy : NULL)
+        : (IS_ENABLED(CONFIG_HVM) ? &hvm_max_cpu_policy : NULL);
+    struct old_cpu_policy old_sys = { sys, sys };
     struct cpu_policy_errors err = INIT_CPU_POLICY_ERRORS;
     int ret = -ENOMEM;
 
+    if ( !sys )
+    {
+        ASSERT_UNREACHABLE();
+        return -EOPNOTSUPP;
+    }
+
     /* Start by copying the domain's existing policies. */
     if ( !(new.cpuid = xmemdup(d->arch.cpuid)) ||
          !(new.msr   = xmemdup(d->arch.msr)) )
@@ -64,7 +71,7 @@ static int update_domain_cpu_policy(struct domain *d,
     x86_cpuid_policy_clear_out_of_range_leaves(new.cpuid);
 
     /* Audit the combined dataset. */
-    ret = x86_cpu_policies_are_compatible(sys, &new, &err);
+    ret = x86_cpu_policies_are_compatible(&old_sys, &new, &err);
     if ( ret )
         goto out;
 
diff --git a/xen/arch/x86/include/asm/cpu-policy.h b/xen/arch/x86/include/asm/cpu-policy.h
new file mode 100644
index 000000000000..eef14bb4267e
--- /dev/null
+++ b/xen/arch/x86/include/asm/cpu-policy.h
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef X86_CPU_POLICY_H
+#define X86_CPU_POLICY_H
+
+struct cpu_policy;
+
+extern struct cpu_policy     raw_cpu_policy;
+extern struct cpu_policy    host_cpu_policy;
+extern struct cpu_policy  pv_max_cpu_policy;
+extern struct cpu_policy  pv_def_cpu_policy;
+extern struct cpu_policy hvm_max_cpu_policy;
+extern struct cpu_policy hvm_def_cpu_policy;
+
+#endif /* X86_CPU_POLICY_H */
diff --git a/xen/arch/x86/include/asm/cpuid.h b/xen/arch/x86/include/asm/cpuid.h
index d418e8100dde..ea0586277331 100644
--- a/xen/arch/x86/include/asm/cpuid.h
+++ b/xen/arch/x86/include/asm/cpuid.h
@@ -46,12 +46,6 @@ DECLARE_PER_CPU(struct cpuidmasks, cpuidmasks);
 /* Default masking MSR values, calculated at boot. */
 extern struct cpuidmasks cpuidmask_defaults;
 
-extern struct cpuid_policy raw_cpuid_policy, host_cpuid_policy,
-    pv_max_cpuid_policy, pv_def_cpuid_policy,
-    hvm_max_cpuid_policy, hvm_def_cpuid_policy;
-
-extern const struct old_cpu_policy system_policies[];
-
 /* Check that all previously present features are still available. */
 bool recheck_cpu_features(unsigned int cpu);
 
diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index 02eddd919c27..022230acc0af 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -292,13 +292,6 @@ static inline void wrmsr_tsc_aux(uint32_t val)
 
 uint64_t msr_spec_ctrl_valid_bits(const struct cpuid_policy *cp);
 
-extern struct msr_policy     raw_msr_policy,
-                            host_msr_policy,
-                          pv_max_msr_policy,
-                          pv_def_msr_policy,
-                         hvm_max_msr_policy,
-                         hvm_def_msr_policy;
-
 /* Container object for per-vCPU MSRs */
 struct vcpu_msrs
 {
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index 7ddf0078c3a2..bff26bc4e2b5 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -25,6 +25,7 @@
 #include <xen/sched.h>
 
 #include <asm/amd.h>
+#include <asm/cpu-policy.h>
 #include <asm/debugreg.h>
 #include <asm/hvm/nestedhvm.h>
 #include <asm/hvm/viridian.h>
@@ -37,20 +38,9 @@
 
 DEFINE_PER_CPU(uint32_t, tsc_aux);
 
-struct msr_policy __read_mostly     raw_msr_policy,
-                  __read_mostly    host_msr_policy;
-#ifdef CONFIG_PV
-struct msr_policy __read_mostly  pv_max_msr_policy;
-struct msr_policy __read_mostly  pv_def_msr_policy;
-#endif
-#ifdef CONFIG_HVM
-struct msr_policy __read_mostly hvm_max_msr_policy;
-struct msr_policy __read_mostly hvm_def_msr_policy;
-#endif
-
 static void __init calculate_raw_policy(void)
 {
-    struct msr_policy *mp = &raw_msr_policy;
+    struct msr_policy *mp = &raw_cpu_policy;
 
     /* 0x000000ce  MSR_INTEL_PLATFORM_INFO */
     /* Was already added by probe_cpuid_faulting() */
@@ -61,9 +51,9 @@ static void __init calculate_raw_policy(void)
 
 static void __init calculate_host_policy(void)
 {
-    struct msr_policy *mp = &host_msr_policy;
+    struct msr_policy *mp = &host_cpu_policy;
 
-    *mp = raw_msr_policy;
+    *mp = raw_cpu_policy;
 
     /* 0x000000ce  MSR_INTEL_PLATFORM_INFO */
     /* probe_cpuid_faulting() sanity checks presence of MISC_FEATURES_ENABLES */
@@ -81,25 +71,25 @@ static void __init calculate_host_policy(void)
 
 static void __init calculate_pv_max_policy(void)
 {
-    struct msr_policy *mp = &pv_max_msr_policy;
+    struct msr_policy *mp = &pv_max_cpu_policy;
 
-    *mp = host_msr_policy;
+    *mp = host_cpu_policy;
 
     mp->arch_caps.raw = 0; /* Not supported yet. */
 }
 
 static void __init calculate_pv_def_policy(void)
 {
-    struct msr_policy *mp = &pv_def_msr_policy;
+    struct msr_policy *mp = &pv_def_cpu_policy;
 
-    *mp = pv_max_msr_policy;
+    *mp = pv_max_cpu_policy;
 }
 
 static void __init calculate_hvm_max_policy(void)
 {
-    struct msr_policy *mp = &hvm_max_msr_policy;
+    struct msr_policy *mp = &hvm_max_cpu_policy;
 
-    *mp = host_msr_policy;
+    *mp = host_cpu_policy;
 
     /* It's always possible to emulate CPUID faulting for HVM guests */
     mp->platform_info.cpuid_faulting = true;
@@ -109,9 +99,9 @@ static void __init calculate_hvm_max_policy(void)
 
 static void __init calculate_hvm_def_policy(void)
 {
-    struct msr_policy *mp = &hvm_def_msr_policy;
+    struct msr_policy *mp = &hvm_def_cpu_policy;
 
-    *mp = hvm_max_msr_policy;
+    *mp = hvm_max_cpu_policy;
 }
 
 void __init init_guest_msr_policy(void)
@@ -135,8 +125,8 @@ void __init init_guest_msr_policy(void)
 int init_domain_msr_policy(struct domain *d)
 {
     struct msr_policy *mp = is_pv_domain(d)
-        ? (IS_ENABLED(CONFIG_PV)  ?  &pv_def_msr_policy : NULL)
-        : (IS_ENABLED(CONFIG_HVM) ? &hvm_def_msr_policy : NULL);
+        ? (IS_ENABLED(CONFIG_PV)  ?  &pv_def_cpu_policy : NULL)
+        : (IS_ENABLED(CONFIG_HVM) ? &hvm_def_cpu_policy : NULL);
 
     if ( !mp )
     {
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index 3ed7c69f4315..3b2efecede2f 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -30,38 +30,7 @@
 #include <xen/cpu.h>
 #include <xsm/xsm.h>
 #include <asm/psr.h>
-#include <asm/cpuid.h>
-
-const struct old_cpu_policy system_policies[6] = {
-    [ XEN_SYSCTL_cpu_policy_raw ] = {
-        &raw_cpuid_policy,
-        &raw_msr_policy,
-    },
-    [ XEN_SYSCTL_cpu_policy_host ] = {
-        &host_cpuid_policy,
-        &host_msr_policy,
-    },
-#ifdef CONFIG_PV
-    [ XEN_SYSCTL_cpu_policy_pv_max ] = {
-        &pv_max_cpuid_policy,
-        &pv_max_msr_policy,
-    },
-    [ XEN_SYSCTL_cpu_policy_pv_default ] = {
-        &pv_def_cpuid_policy,
-        &pv_def_msr_policy,
-    },
-#endif
-#ifdef CONFIG_HVM
-    [ XEN_SYSCTL_cpu_policy_hvm_max ] = {
-        &hvm_max_cpuid_policy,
-        &hvm_max_msr_policy,
-    },
-    [ XEN_SYSCTL_cpu_policy_hvm_default ] = {
-        &hvm_def_cpuid_policy,
-        &hvm_def_msr_policy,
-    },
-#endif
-};
+#include <asm/cpu-policy.h>
 
 struct l3_cache_info {
     int ret;
@@ -327,15 +296,15 @@ long arch_do_sysctl(
     case XEN_SYSCTL_get_cpu_featureset:
     {
         static const struct cpuid_policy *const policy_table[6] = {
-            [XEN_SYSCTL_cpu_featureset_raw]  = &raw_cpuid_policy,
-            [XEN_SYSCTL_cpu_featureset_host] = &host_cpuid_policy,
+            [XEN_SYSCTL_cpu_featureset_raw]     = &raw_cpu_policy,
+            [XEN_SYSCTL_cpu_featureset_host]    = &host_cpu_policy,
 #ifdef CONFIG_PV
-            [XEN_SYSCTL_cpu_featureset_pv]   = &pv_def_cpuid_policy,
-            [XEN_SYSCTL_cpu_featureset_pv_max] = &pv_max_cpuid_policy,
+            [XEN_SYSCTL_cpu_featureset_pv]      = &pv_def_cpu_policy,
+            [XEN_SYSCTL_cpu_featureset_pv_max]  = &pv_max_cpu_policy,
 #endif
 #ifdef CONFIG_HVM
-            [XEN_SYSCTL_cpu_featureset_hvm]  = &hvm_def_cpuid_policy,
-            [XEN_SYSCTL_cpu_featureset_hvm_max] = &hvm_max_cpuid_policy,
+            [XEN_SYSCTL_cpu_featureset_hvm]     = &hvm_def_cpu_policy,
+            [XEN_SYSCTL_cpu_featureset_hvm_max] = &hvm_max_cpu_policy,
 #endif
         };
         const struct cpuid_policy *p = NULL;
@@ -391,7 +360,19 @@ long arch_do_sysctl(
 
     case XEN_SYSCTL_get_cpu_policy:
     {
-        const struct old_cpu_policy *policy;
+        static const struct cpu_policy *system_policies[6] = {
+            [XEN_SYSCTL_cpu_policy_raw]         = &raw_cpu_policy,
+            [XEN_SYSCTL_cpu_policy_host]        = &host_cpu_policy,
+#ifdef CONFIG_PV
+            [XEN_SYSCTL_cpu_policy_pv_max]      = &pv_max_cpu_policy,
+            [XEN_SYSCTL_cpu_policy_pv_default]  = &pv_def_cpu_policy,
+#endif
+#ifdef CONFIG_HVM
+            [XEN_SYSCTL_cpu_policy_hvm_max]     = &hvm_max_cpu_policy,
+            [XEN_SYSCTL_cpu_policy_hvm_default] = &hvm_def_cpu_policy,
+#endif
+        };
+        const struct cpu_policy *policy;
 
         /* Reserved field set, or bad policy index? */
         if ( sysctl->u.cpu_policy._rsvd ||
@@ -400,11 +381,11 @@ long arch_do_sysctl(
             ret = -EINVAL;
             break;
         }
-        policy = &system_policies[
+        policy = system_policies[
             array_index_nospec(sysctl->u.cpu_policy.index,
                                ARRAY_SIZE(system_policies))];
 
-        if ( !policy->cpuid || !policy->msr )
+        if ( !policy )
         {
             ret = -EOPNOTSUPP;
             break;
@@ -414,7 +395,7 @@ long arch_do_sysctl(
         if ( guest_handle_is_null(sysctl->u.cpu_policy.leaves) )
             sysctl->u.cpu_policy.nr_leaves = CPUID_MAX_SERIALISED_LEAVES;
         else if ( (ret = x86_cpuid_copy_to_buffer(
-                       policy->cpuid,
+                       policy,
                        sysctl->u.cpu_policy.leaves,
                        &sysctl->u.cpu_policy.nr_leaves)) )
             break;
@@ -430,7 +411,7 @@ long arch_do_sysctl(
         if ( guest_handle_is_null(sysctl->u.cpu_policy.msrs) )
             sysctl->u.cpu_policy.nr_msrs = MSR_MAX_SERIALISED_ENTRIES;
         else if ( (ret = x86_msr_copy_to_buffer(
-                       policy->msr,
+                       policy,
                        sysctl->u.cpu_policy.msrs,
                        &sysctl->u.cpu_policy.nr_msrs)) )
             break;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 20:52:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 20:52:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516349.800330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phcls-00065S-6q; Wed, 29 Mar 2023 20:51:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516349.800330; Wed, 29 Mar 2023 20: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 1phcls-00065G-3X; Wed, 29 Mar 2023 20:51:52 +0000
Received: by outflank-mailman (input) for mailman id 516349;
 Wed, 29 Mar 2023 20:51:50 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=PU7e=7V=citrix.com=prvs=445237bd4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phclq-0005Jv-FS
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 20:51:50 +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 857fb6f4-ce73-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 22:51:47 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 857fb6f4-ce73-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680123106;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=NckHj1O1Qja849d/pT2PCkOTAN3iToXm4XGv0xmEyS8=;
  b=HFN8tIsJytnxUayhDlBj3vW+4/qFhPiKG9+36XlvaPcLjGvAeBqrj1md
   MdOy0Nt/BImSjm0OoV9qZw6eWR9zleF6b2L48JEe3hGqcfz+JftR8qjkK
   xq/5ZbvE74+ttjVjre5ZfGw+YJLa0nQibx+l7MYe7DrBh6qigNhjNbkp7
   0=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103989104
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:TZsNV6o8SvieYHrMeBzHW+6GGmFeBmJiZRIvgKrLsJaIsI4StFCzt
 garIBnUPf7bYGqgKt4iPIu//UkH6pXXm9E1Gwo9/i9gFitB+ZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzShNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAB0cZzO7v++H+YLlZe5NhOQ6E5OzLbpK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFOUslWcOSA3xETdxVxrl6PqLVxyG/U1AFri5DmMcbPe8zMTsJQ9qqdj
 juepDWpU0hCaLRzzxKf60+Tt+qMtxijBoQ/D+Sx7/VnvmCckzl75Bo+CgLg/KjRZlSFc8JSL
 QkY9zQjqYA29Ve3VZ/tUhugunmGsxUAHd1KHIUSyiuA167V6AaxHXUfQ3hKb9lOnNAybSwn0
 BmOhdyBONB0mOTLEzTHrO7S9G7sf3FPdgfueBPoUyMo8tDAmLk+vyv/EPlkMayVl+KvQSDJl
 mXiQDcFu1kDsSIa//zlogGW02Lw+sihoh0dvVuOAD/8hu9tTMv8PtHztwCGhRpVBNzBJmRtq
 kTojCR3AAomKZiW3BKAT+wWdF1Cz6bUaWaM6bKD8nRIythMx5JAVdoKiN2GDB01WvvogBewC
 KMphStf5YVIIFyhZrJtboS6BqwClPawTY28Cq6LMIoQPPCdkTNrGgk0PSZ8OEiz+HXAbIllY
 cvLGSpSJS1y5VtbIMqeGL5GjO5DKtEWzmLPX5HrpymaPU6lTCfNE98taQLeBt3VGYvY+G05B
 f4DbZrVo/ieOcWiChTqHXk7dg5acCdnXcmu8qS6tIere2JbJY3oMNeJqZtJRmCvt/09ejvgl
 p1lZnJl9Q==
IronPort-HdrOrdr: A9a23:K7L9SKAYyv0KMVflHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="103989104"
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/9] x86: Rename {domctl,sysctl}.cpu_policy.{cpuid,msr_policy} fields
Date: Wed, 29 Mar 2023 21:51:30 +0100
Message-ID: <20230329205137.323253-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230329205137.323253-1-andrew.cooper3@citrix.com>
References: <20230329205137.323253-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

These weren't great names to begin with, and using {leaves,msrs} matches up
better with the existing nr_{leaves,msr} parameters anyway.

Furthermore,by renaming these fields we can get away with using some #define
trickary to avoid the struct {cpuid,msr}_policy merge needing to happen in a
single changeset.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/libs/guest/xg_cpuid_x86.c | 12 ++++++------
 xen/arch/x86/domctl.c           | 12 ++++++------
 xen/arch/x86/sysctl.c           |  8 ++++----
 xen/include/public/domctl.h     |  4 ++--
 xen/include/public/sysctl.h     |  4 ++--
 5 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 1b02bc987af7..5fae06e77804 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -145,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;
-    set_xen_guest_handle(sysctl.u.cpu_policy.cpuid_policy, 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.msr_policy, msrs);
+    set_xen_guest_handle(sysctl.u.cpu_policy.msrs, msrs);
 
     ret = do_sysctl(xch, &sysctl);
 
@@ -183,9 +183,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;
-    set_xen_guest_handle(domctl.u.cpu_policy.cpuid_policy, 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.msr_policy, msrs);
+    set_xen_guest_handle(domctl.u.cpu_policy.msrs, msrs);
 
     ret = do_domctl(xch, &domctl);
 
@@ -232,9 +232,9 @@ int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid,
     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.cpuid_policy, 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.msr_policy, 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;
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 0b41b279507e..944af63e68d0 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -54,10 +54,10 @@ static int update_domain_cpu_policy(struct domain *d,
 
     /* Merge the toolstack provided data. */
     if ( (ret = x86_cpuid_copy_from_buffer(
-              new.cpuid, xdpc->cpuid_policy, xdpc->nr_leaves,
+              new.cpuid, xdpc->leaves, xdpc->nr_leaves,
               &err.leaf, &err.subleaf)) ||
          (ret = x86_msr_copy_from_buffer(
-              new.msr, xdpc->msr_policy, xdpc->nr_msrs, &err.msr)) )
+              new.msr, xdpc->msrs, xdpc->nr_msrs, &err.msr)) )
         goto out;
 
     /* Trim any newly-stale out-of-range leaves. */
@@ -1317,20 +1317,20 @@ long arch_do_domctl(
 
     case XEN_DOMCTL_get_cpu_policy:
         /* Process the CPUID leaves. */
-        if ( guest_handle_is_null(domctl->u.cpu_policy.cpuid_policy) )
+        if ( guest_handle_is_null(domctl->u.cpu_policy.leaves) )
             domctl->u.cpu_policy.nr_leaves = CPUID_MAX_SERIALISED_LEAVES;
         else if ( (ret = x86_cpuid_copy_to_buffer(
                        d->arch.cpuid,
-                       domctl->u.cpu_policy.cpuid_policy,
+                       domctl->u.cpu_policy.leaves,
                        &domctl->u.cpu_policy.nr_leaves)) )
             break;
 
         /* Process the MSR entries. */
-        if ( guest_handle_is_null(domctl->u.cpu_policy.msr_policy) )
+        if ( guest_handle_is_null(domctl->u.cpu_policy.msrs) )
             domctl->u.cpu_policy.nr_msrs = MSR_MAX_SERIALISED_ENTRIES;
         else if ( (ret = x86_msr_copy_to_buffer(
                        d->arch.msr,
-                       domctl->u.cpu_policy.msr_policy,
+                       domctl->u.cpu_policy.msrs,
                        &domctl->u.cpu_policy.nr_msrs)) )
             break;
 
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index 3f5b092df16a..3ed7c69f4315 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -411,11 +411,11 @@ long arch_do_sysctl(
         }
 
         /* Process the CPUID leaves. */
-        if ( guest_handle_is_null(sysctl->u.cpu_policy.cpuid_policy) )
+        if ( guest_handle_is_null(sysctl->u.cpu_policy.leaves) )
             sysctl->u.cpu_policy.nr_leaves = CPUID_MAX_SERIALISED_LEAVES;
         else if ( (ret = x86_cpuid_copy_to_buffer(
                        policy->cpuid,
-                       sysctl->u.cpu_policy.cpuid_policy,
+                       sysctl->u.cpu_policy.leaves,
                        &sysctl->u.cpu_policy.nr_leaves)) )
             break;
 
@@ -427,11 +427,11 @@ long arch_do_sysctl(
         }
 
         /* Process the MSR entries. */
-        if ( guest_handle_is_null(sysctl->u.cpu_policy.msr_policy) )
+        if ( guest_handle_is_null(sysctl->u.cpu_policy.msrs) )
             sysctl->u.cpu_policy.nr_msrs = MSR_MAX_SERIALISED_ENTRIES;
         else if ( (ret = x86_msr_copy_to_buffer(
                        policy->msr,
-                       sysctl->u.cpu_policy.msr_policy,
+                       sysctl->u.cpu_policy.msrs,
                        &sysctl->u.cpu_policy.nr_msrs)) )
             break;
 
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index 7280e9f96816..529801c89ba3 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -683,8 +683,8 @@ struct xen_domctl_cpu_policy {
                          * 'cpuid_policy'. */
     uint32_t nr_msrs;   /* IN/OUT: Number of MSRs in/written to
                          * 'msr_policy' */
-    XEN_GUEST_HANDLE_64(xen_cpuid_leaf_t) cpuid_policy; /* IN/OUT */
-    XEN_GUEST_HANDLE_64(xen_msr_entry_t) msr_policy;    /* IN/OUT */
+    XEN_GUEST_HANDLE_64(xen_cpuid_leaf_t) leaves; /* IN/OUT */
+    XEN_GUEST_HANDLE_64(xen_msr_entry_t)  msrs;   /* IN/OUT */
 
     /*
      * OUT, set_policy only.  Written in some (but not all) error cases to
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index e8dded9fb94a..2b24d6bfd00e 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -1050,8 +1050,8 @@ struct xen_sysctl_cpu_policy {
                            * 'msr_policy', or the maximum number of MSRs if
                            * the guest handle is NULL. */
     uint32_t _rsvd;       /* Must be zero. */
-    XEN_GUEST_HANDLE_64(xen_cpuid_leaf_t) cpuid_policy; /* OUT */
-    XEN_GUEST_HANDLE_64(xen_msr_entry_t) msr_policy;    /* OUT */
+    XEN_GUEST_HANDLE_64(xen_cpuid_leaf_t) leaves; /* OUT */
+    XEN_GUEST_HANDLE_64(xen_msr_entry_t)  msrs;   /* OUT */
 };
 typedef struct xen_sysctl_cpu_policy xen_sysctl_cpu_policy_t;
 DEFINE_XEN_GUEST_HANDLE(xen_sysctl_cpu_policy_t);
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 20:52:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 20:52:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516350.800340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phclt-0006MQ-GH; Wed, 29 Mar 2023 20:51:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516350.800340; Wed, 29 Mar 2023 20:51:53 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phclt-0006MD-Ct; Wed, 29 Mar 2023 20:51:53 +0000
Received: by outflank-mailman (input) for mailman id 516350;
 Wed, 29 Mar 2023 20:51: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=PU7e=7V=citrix.com=prvs=445237bd4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phcls-0005Jv-IC
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 20:51:52 +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 859ad8a9-ce73-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 22:51:49 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 859ad8a9-ce73-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680123108;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Mqm7QCo3n2EwRQAGYx14tifW4C01FUu/01xeUdpee00=;
  b=LoFUlaNF4RFtjoQAzHrB7ikb6oYcQvYLGTkKBF5vOjw92mv2ca+UHNdT
   83ofLNC0AEURVPAbhkiEStWRUBH5eQWK72L2xied++5jbGmbzr6wGP4WZ
   4ww1JKElOu7xjhyytuYgpQUbgiWOKf10p1pljbpxwb6ue/qL9UEvzDWL1
   I=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103989105
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:84F7lquryR7gWwoqDEdULTk2bufnVCxeMUV32f8akzHdYApBsoF/q
 tZmKW6POffbNjP1ctkgb4ix9E1T75aGzNNqHQdp+X1gQixE+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASExiFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwBSEETSi7itOP8OyUTchupt0cdpH6BdZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfA5NU/rSn8/x7pX7WxRepEiYuuwc5G/LwRYq+LPsLMDUapqBQsA9ckOw/
 zqdrjSoW0lHXDCZ4Si740ucnf7vpDP2VpkYCYSi8KZyo3TGkwT/DzVJDADm8JFVkHWWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8UYwgyQzqvf4y6CG3MJCDVGbbQOq8seVTEsk
 FiTkLvU6SdH6ePPDyjHr/HN8G30YHJORYMfWcMaZSYU6vrbmIwCtyKRYdFCEo6ssYetCAill
 lhmsxMCa6UvYd8jjvvkrAGX027w9vAlXSZuuFyJAzvNAhdRIdf8Otf2sQWzAeNodt7xc7WXg
 JQTdyFyBsgqBIrFqiGCSf5l8FqBt6fca220bbKC8vAcG9WRF52LJ9o4DMlWfhsBDyr9UWaBj
 LXvkQ1Q/oRPG3ChcLV6ZYm8Y+xzk/i4TI25CK+KPoQQCnSUSONh1Hs2DaJ39z6FraTRuftnZ
 cfznTiEVh729piLPBLpHrxAgNfHNwg1xH/JRICT8ilLJYG2PSbPIZ9caQvmUwzMxP/cyOkj2
 4oFZpTiJtQ2eLGWXxQ7BqZIcwBXciRjXMivwyGVH8baSjdb9KgaI6e56dscl0ZNxsy5Ss+gE
 qmBZ3Jl
IronPort-HdrOrdr: A9a23:l+k576gxorRVfXO5vD4lV1r8r3BQXh4ji2hC6mlwRA09TyX5ra
 2TdZUgpHrJYVMqMk3I9uruBEDtex3hHP1OkOss1NWZPDUO0VHARO1fBOPZqAEIcBeOldK1u5
 0AT0B/YueAd2STj6zBkXSF+wBL+qj6zEiq792usEuEVWtRGsVdB58SMHfiLqVxLjM2YqYRJd
 6nyedsgSGvQngTZtTTPAh/YwCSz+e78q4PeHQ9dmca1DU=
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="103989105"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 4/9] x86: Merge struct msr_policy into struct cpu_policy
Date: Wed, 29 Mar 2023 21:51:32 +0100
Message-ID: <20230329205137.323253-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230329205137.323253-1-andrew.cooper3@citrix.com>
References: <20230329205137.323253-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

As with the cpuid side, use a temporary define to make struct msr_policy still
work.

Note, this means that domains now have two separate struct cpu_policy
allocations with disjoint information, and system policies are in a similar
position.  Both will be deduplicated in the following patches.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/fuzz/cpu-policy/afl-policy-fuzzer.c |   1 -
 xen/arch/x86/include/asm/msr.h            |   3 +-
 xen/include/xen/lib/x86/cpu-policy.h      |  81 ++++++++++++++++-
 xen/include/xen/lib/x86/msr.h             | 104 ----------------------
 xen/lib/x86/msr.c                         |   2 +-
 5 files changed, 83 insertions(+), 108 deletions(-)
 delete mode 100644 xen/include/xen/lib/x86/msr.h

diff --git a/tools/fuzz/cpu-policy/afl-policy-fuzzer.c b/tools/fuzz/cpu-policy/afl-policy-fuzzer.c
index 79e42e8bfd04..0ce3d8e16626 100644
--- a/tools/fuzz/cpu-policy/afl-policy-fuzzer.c
+++ b/tools/fuzz/cpu-policy/afl-policy-fuzzer.c
@@ -10,7 +10,6 @@
 
 #include <xen-tools/common-macros.h>
 #include <xen/lib/x86/cpu-policy.h>
-#include <xen/lib/x86/msr.h>
 #include <xen/domctl.h>
 
 static bool debug;
diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index 7946b6b24c11..02eddd919c27 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -6,8 +6,9 @@
 #include <xen/types.h>
 #include <xen/percpu.h>
 #include <xen/errno.h>
+#include <xen/kernel.h>
 
-#include <xen/lib/x86/msr.h>
+#include <xen/lib/x86/cpu-policy.h>
 
 #include <asm/asm_defns.h>
 #include <asm/cpufeature.h>
diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
index 5e430d848021..5af756a02da0 100644
--- a/xen/include/xen/lib/x86/cpu-policy.h
+++ b/xen/include/xen/lib/x86/cpu-policy.h
@@ -3,7 +3,6 @@
 #define XEN_LIB_X86_POLICIES_H
 
 #include <xen/lib/x86/cpuid-autogen.h>
-#include <xen/lib/x86/msr.h>
 
 #define FEATURESET_1d     0 /* 0x00000001.edx      */
 #define FEATURESET_1c     1 /* 0x00000001.ecx      */
@@ -107,6 +106,9 @@ const char *x86_cpuid_vendor_to_str(unsigned int vendor);
      CPUID_GUEST_NR_XSTATE - !!CPUID_GUEST_NR_XSTATE +  \
      CPUID_GUEST_NR_EXTD + 2 /* hv_limit and hv2_limit */ )
 
+/* Maximum number of MSRs written when serialising msr_policy. */
+#define MSR_MAX_SERIALISED_ENTRIES 2
+
 struct cpu_policy
 {
 #define DECL_BITFIELD(word) _DECL_BITFIELD(FEATURESET_ ## word)
@@ -324,6 +326,44 @@ struct cpu_policy
         };
     } extd;
 
+    /*
+     * 0x000000ce - MSR_INTEL_PLATFORM_INFO
+     *
+     * This MSR is non-architectural, but for simplicy we allow it to be read
+     * unconditionally.  CPUID Faulting support can be fully emulated for HVM
+     * guests so can be offered unconditionally, while support for PV guests
+     * is dependent on real hardware support.
+     */
+    union {
+        uint32_t raw;
+        struct {
+            uint32_t :31;
+            bool cpuid_faulting:1;
+        };
+    } platform_info;
+
+    /*
+     * 0x0000010a - MSR_ARCH_CAPABILITIES
+     *
+     * This is an Intel-only MSR, which provides miscellaneous enumeration,
+     * including those which indicate that microarchitectrual sidechannels are
+     * fixed in hardware.
+     */
+    union {
+        uint32_t raw;
+        struct {
+            bool rdcl_no:1;
+            bool ibrs_all:1;
+            bool rsba:1;
+            bool skip_l1dfl:1;
+            bool ssb_no:1;
+            bool mds_no:1;
+            bool if_pschange_mc_no:1;
+            bool tsx_ctrl:1;
+            bool taa_no:1;
+        };
+    } arch_caps;
+
 #undef __DECL_BITFIELD
 #undef _DECL_BITFIELD
 #undef DECL_BITFIELD
@@ -337,6 +377,7 @@ struct cpu_policy
 
 /* Temporary */
 #define cpuid_policy cpu_policy
+#define msr_policy cpu_policy
 
 struct old_cpu_policy
 {
@@ -438,9 +479,11 @@ void x86_cpuid_policy_clear_out_of_range_leaves(struct cpuid_policy *p);
 #ifdef __XEN__
 #include <public/arch-x86/xen.h>
 typedef XEN_GUEST_HANDLE_64(xen_cpuid_leaf_t) cpuid_leaf_buffer_t;
+typedef XEN_GUEST_HANDLE_64(xen_msr_entry_t) msr_entry_buffer_t;
 #else
 #include <xen/arch-x86/xen.h>
 typedef xen_cpuid_leaf_t cpuid_leaf_buffer_t[];
+typedef xen_msr_entry_t msr_entry_buffer_t[];
 #endif
 
 /**
@@ -480,6 +523,42 @@ int x86_cpuid_copy_from_buffer(struct cpuid_policy *policy,
                                uint32_t nr_entries, uint32_t *err_leaf,
                                uint32_t *err_subleaf);
 
+/**
+ * Serialise an msr_policy object into an array.
+ *
+ * @param policy     The msr_policy to serialise.
+ * @param msrs       The array of msrs to serialise into.
+ * @param nr_entries The number of entries in 'msrs'.
+ * @returns -errno
+ *
+ * Writes at most MSR_MAX_SERIALISED_ENTRIES.  May fail with -ENOBUFS if the
+ * buffer array is too short.  On success, nr_entries is updated with the
+ * actual number of msrs written.
+ */
+int x86_msr_copy_to_buffer(const struct msr_policy *policy,
+                           msr_entry_buffer_t msrs, uint32_t *nr_entries);
+
+/**
+ * Unserialise an msr_policy object from an array of msrs.
+ *
+ * @param policy     The msr_policy object to unserialise into.
+ * @param msrs       The array of msrs to unserialise from.
+ * @param nr_entries The number of entries in 'msrs'.
+ * @param err_msr    Optional hint for error diagnostics.
+ * @returns -errno
+ *
+ * Reads at most MSR_MAX_SERIALISED_ENTRIES.  May fail for a number of reasons
+ * based on the content in an individual 'msrs' entry, including the MSR index
+ * not being valid in the policy, the flags field being nonzero, or if the
+ * value provided would truncate when stored in the policy.  In such cases,
+ * the optional err_* pointer will identify the problematic MSR.
+ *
+ * No content validation is performed on the data stored in the policy object.
+ */
+int x86_msr_copy_from_buffer(struct msr_policy *policy,
+                             const msr_entry_buffer_t msrs, uint32_t nr_entries,
+                             uint32_t *err_msr);
+
 /*
  * Calculate whether two policies are compatible.
  *
diff --git a/xen/include/xen/lib/x86/msr.h b/xen/include/xen/lib/x86/msr.h
deleted file mode 100644
index 48ba4a59c036..000000000000
--- a/xen/include/xen/lib/x86/msr.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/* Common data structures and functions consumed by hypervisor and toolstack */
-#ifndef XEN_LIB_X86_MSR_H
-#define XEN_LIB_X86_MSR_H
-
-/* Maximum number of MSRs written when serialising msr_policy. */
-#define MSR_MAX_SERIALISED_ENTRIES 2
-
-/* MSR policy object for shared per-domain MSRs */
-struct msr_policy
-{
-    /*
-     * 0x000000ce - MSR_INTEL_PLATFORM_INFO
-     *
-     * This MSR is non-architectural, but for simplicy we allow it to be read
-     * unconditionally.  CPUID Faulting support can be fully emulated for HVM
-     * guests so can be offered unconditionally, while support for PV guests
-     * is dependent on real hardware support.
-     */
-    union {
-        uint32_t raw;
-        struct {
-            uint32_t :31;
-            bool cpuid_faulting:1;
-        };
-    } platform_info;
-
-    /*
-     * 0x0000010a - MSR_ARCH_CAPABILITIES
-     *
-     * This is an Intel-only MSR, which provides miscellaneous enumeration,
-     * including those which indicate that microarchitectrual sidechannels are
-     * fixed in hardware.
-     */
-    union {
-        uint32_t raw;
-        struct {
-            bool rdcl_no:1;
-            bool ibrs_all:1;
-            bool rsba:1;
-            bool skip_l1dfl:1;
-            bool ssb_no:1;
-            bool mds_no:1;
-            bool if_pschange_mc_no:1;
-            bool tsx_ctrl:1;
-            bool taa_no:1;
-        };
-    } arch_caps;
-};
-
-#ifdef __XEN__
-#include <public/arch-x86/xen.h>
-typedef XEN_GUEST_HANDLE_64(xen_msr_entry_t) msr_entry_buffer_t;
-#else
-#include <xen/arch-x86/xen.h>
-typedef xen_msr_entry_t msr_entry_buffer_t[];
-#endif
-
-/**
- * Serialise an msr_policy object into an array.
- *
- * @param policy     The msr_policy to serialise.
- * @param msrs       The array of msrs to serialise into.
- * @param nr_entries The number of entries in 'msrs'.
- * @returns -errno
- *
- * Writes at most MSR_MAX_SERIALISED_ENTRIES.  May fail with -ENOBUFS if the
- * buffer array is too short.  On success, nr_entries is updated with the
- * actual number of msrs written.
- */
-int x86_msr_copy_to_buffer(const struct msr_policy *policy,
-                           msr_entry_buffer_t msrs, uint32_t *nr_entries);
-
-/**
- * Unserialise an msr_policy object from an array of msrs.
- *
- * @param policy     The msr_policy object to unserialise into.
- * @param msrs       The array of msrs to unserialise from.
- * @param nr_entries The number of entries in 'msrs'.
- * @param err_msr    Optional hint for error diagnostics.
- * @returns -errno
- *
- * Reads at most MSR_MAX_SERIALISED_ENTRIES.  May fail for a number of reasons
- * based on the content in an individual 'msrs' entry, including the MSR index
- * not being valid in the policy, the flags field being nonzero, or if the
- * value provided would truncate when stored in the policy.  In such cases,
- * the optional err_* pointer will identify the problematic MSR.
- *
- * No content validation is performed on the data stored in the policy object.
- */
-int x86_msr_copy_from_buffer(struct msr_policy *policy,
-                             const msr_entry_buffer_t msrs, uint32_t nr_entries,
-                             uint32_t *err_msr);
-
-#endif /* !XEN_LIB_X86_MSR_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/lib/x86/msr.c b/xen/lib/x86/msr.c
index 7d71e92a380a..c4d885e7b568 100644
--- a/xen/lib/x86/msr.c
+++ b/xen/lib/x86/msr.c
@@ -1,6 +1,6 @@
 #include "private.h"
 
-#include <xen/lib/x86/msr.h>
+#include <xen/lib/x86/cpu-policy.h>
 
 /*
  * Copy a single MSR into the provided msr_entry_buffer_t buffer, performing a
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 20:52:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 20:52:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516351.800350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phclv-0006fU-P4; Wed, 29 Mar 2023 20:51:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516351.800350; Wed, 29 Mar 2023 20: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 1phclv-0006fG-Lc; Wed, 29 Mar 2023 20:51:55 +0000
Received: by outflank-mailman (input) for mailman id 516351;
 Wed, 29 Mar 2023 20:51: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=PU7e=7V=citrix.com=prvs=445237bd4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phclt-0005Jv-Qk
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 20:51:54 +0000
Received: from esa2.hc3370-68.iphmx.com (esa2.hc3370-68.iphmx.com
 [216.71.145.153]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86292ea5-ce73-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 22:51:48 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86292ea5-ce73-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680123108;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=zvhL6MDVp+UugXW+gKRectJQUjkcGArPimIjKtjWVf8=;
  b=ZOn44zS3oqlTpRxSMt66gx3pT5zMpnTexXqZVLPkUSM5nrPPVJyMn7a8
   QVM5eksohyTwEMr2n0sJQoNO/qRE7vRacuw2XqWwUKEiC2J7l9CBw3XQT
   O5bcIgYVKFJ1p0LZ3Z3fen53cYkHZNbuggTkOojJ4H4iLxNq47EfBcS0k
   o=;
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103500085
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:PqQBc69KmrfMan8bTauXDrUD+n6TJUtcMsCJ2f8bNWPcYEJGY0x3z
 mAaCGiGOPqINmPzKY8lO4Wwo09Q68eEyt9kHFY/+ys8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqoa5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklIx
 OMZJGkfUyyRvNmKnOyRUOc1o5kaeZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUqGOkcUUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0Mxh3F/
 jqerzmR7hcyPdKb7xq5q1+XrMjLpRvhB6QcC5aS6as/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c/h6HvA+6QqN4rHJ+AvfDW8BJhZebPQ2uclwQiYlv
 mJlhPuwW2Yp6ufMDyvAqPHN92ja1TUpwXEqYx4bTAdc8eTfsroIsk6RZMxtSYvot4igcd3v+
 AxmvBTSlp1K05FahvXroQyX696/jsOXF1Bov207Skrgt1okP9D9OuRE/HCBtZ59wJClok5tV
 ZTus+yX96gwAJ6Ej0Rhq81dTejyt55p3NAx6GOD/qXNFBz3oRZPhagKvFlDyL5Ba67ogwPBb
 k7Joh9275ROJnasZqIfS9vvW5xzlPS+Soq1CK68gj9yjn5ZLlfvEMZGOyatM53FyhBwwcnTx
 7/AGSpTMZrqIfs+l2fnLwvs+bQq2jo/1QvueHwP9Dz+ieD2TCfMGd843K6mMrhRAFWs/F+Er
 L6y9qKil31ibQEJSnKJodNMcQhTdSFT6FKfg5U/S9Nv6zFOQAkJY8I9C5t4E2C5t8y5Ttv1w
 0w=
IronPort-HdrOrdr: A9a23:z/TMsKG0IC78w7Y4pLqELMeALOsnbusQ8zAXPiBKJCC9E/bo8v
 xG+c5w6faaslkssR0b9+xoW5PwI080l6QU3WB5B97LMDUO0FHCEGgI1/qA/9SPIUzDHu4279
 YbT0B9YueAcGSTW6zBkXWF+9VL+qj5zEix792uq0uE1WtRGtldBwESMHf9LmRGADNoKLAeD5
 Sm6s9Ot1ObCA8qhpTSPAhiYwDbzee77a7bXQ==
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="103500085"
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 9/9] RFC: Everything else
Date: Wed, 29 Mar 2023 21:51:37 +0100
Message-ID: <20230329205137.323253-10-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230329205137.323253-1-andrew.cooper3@citrix.com>
References: <20230329205137.323253-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Looking at this diff, I'm wondering whether keeping

    union {
        struct cpu_policy *cpuid;
        struct cpu_policy *cpu_policy;
    };

permentantly might be a good idea, because d->arch.cpuid->$X reads rather
better than d->arch.cpu_policy->$X

Thoughts?

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/fuzz/cpu-policy/afl-policy-fuzzer.c     |  12 +-
 .../fuzz/x86_instruction_emulator/fuzz-emul.c |   2 +-
 tools/tests/cpu-policy/test-cpu-policy.c      |  10 +-
 tools/tests/x86_emulator/test_x86_emulator.c  |   2 +-
 tools/tests/x86_emulator/x86-emulate.c        |   2 +-
 xen/arch/x86/cpu/mcheck/mce_intel.c           |   2 +-
 xen/arch/x86/cpu/vpmu_intel.c                 |   4 +-
 xen/arch/x86/cpuid.c                          |  26 +--
 xen/arch/x86/domain.c                         |   2 +-
 xen/arch/x86/hvm/emulate.c                    |   2 +-
 xen/arch/x86/hvm/hvm.c                        |  38 ++--
 xen/arch/x86/hvm/ioreq.c                      |   4 +-
 xen/arch/x86/hvm/mtrr.c                       |   2 +-
 xen/arch/x86/hvm/svm/svm.c                    |  18 +-
 xen/arch/x86/hvm/svm/svmdebug.c               |   2 +-
 xen/arch/x86/hvm/vlapic.c                     |   2 +-
 xen/arch/x86/hvm/vmx/vmx.c                    |  12 +-
 xen/arch/x86/hvm/vmx/vvmx.c                   |   2 +-
 xen/arch/x86/include/asm/domain.h             |   5 +-
 xen/arch/x86/include/asm/guest_pt.h           |   4 +-
 xen/arch/x86/include/asm/msr.h                |   2 +-
 xen/arch/x86/include/asm/paging.h             |   2 +-
 xen/arch/x86/mm/shadow/hvm.c                  |   2 +-
 xen/arch/x86/msr.c                            |  24 +--
 xen/arch/x86/pv/domain.c                      |   2 +-
 xen/arch/x86/pv/emul-priv-op.c                |   6 +-
 xen/arch/x86/pv/ro-page-fault.c               |   2 +-
 xen/arch/x86/sysctl.c                         |   4 +-
 xen/arch/x86/traps.c                          |   2 +-
 xen/arch/x86/x86_emulate.c                    |   2 +-
 xen/arch/x86/x86_emulate/x86_emulate.c        | 166 +++++++++---------
 xen/arch/x86/x86_emulate/x86_emulate.h        |   4 +-
 xen/arch/x86/xstate.c                         |   4 +-
 xen/include/xen/lib/x86/cpu-policy.h          |  28 ++-
 xen/lib/x86/cpuid.c                           |  10 +-
 xen/lib/x86/msr.c                             |   4 +-
 36 files changed, 205 insertions(+), 212 deletions(-)

diff --git a/tools/fuzz/cpu-policy/afl-policy-fuzzer.c b/tools/fuzz/cpu-policy/afl-policy-fuzzer.c
index 0ce3d8e16626..58b4dbacf96b 100644
--- a/tools/fuzz/cpu-policy/afl-policy-fuzzer.c
+++ b/tools/fuzz/cpu-policy/afl-policy-fuzzer.c
@@ -16,9 +16,9 @@ static bool debug;
 
 #define EMPTY_LEAF ((struct cpuid_leaf){})
 
-static void check_cpuid(struct cpuid_policy *cp)
+static void check_cpuid(struct cpu_policy *cp)
 {
-    struct cpuid_policy new = {};
+    struct cpu_policy new = {};
     size_t data_end;
     xen_cpuid_leaf_t *leaves = malloc(CPUID_MAX_SERIALISED_LEAVES *
                                       sizeof(xen_cpuid_leaf_t));
@@ -76,9 +76,9 @@ static void check_cpuid(struct cpuid_policy *cp)
     free(leaves);
 }
 
-static void check_msr(struct msr_policy *mp)
+static void check_msr(struct cpu_policy *mp)
 {
-    struct msr_policy new = {};
+    struct cpu_policy new = {};
     xen_msr_entry_t *msrs = malloc(MSR_MAX_SERIALISED_ENTRIES *
                                    sizeof(xen_msr_entry_t));
     unsigned int nr = MSR_MAX_SERIALISED_ENTRIES;
@@ -144,8 +144,8 @@ int main(int argc, char **argv)
     while ( __AFL_LOOP(1000) )
 #endif
     {
-        struct cpuid_policy *cp = NULL;
-        struct msr_policy *mp = NULL;
+        struct cpu_policy *cp = NULL;
+        struct cpu_policy *mp = NULL;
 
         if ( fp != stdin )
         {
diff --git a/tools/fuzz/x86_instruction_emulator/fuzz-emul.c b/tools/fuzz/x86_instruction_emulator/fuzz-emul.c
index 966e46bee199..4885a68210d0 100644
--- a/tools/fuzz/x86_instruction_emulator/fuzz-emul.c
+++ b/tools/fuzz/x86_instruction_emulator/fuzz-emul.c
@@ -893,7 +893,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data_p, size_t size)
     struct x86_emulate_ctxt ctxt = {
         .data = &state,
         .regs = &input.regs,
-        .cpuid = &cp,
+        .cpu_policy = &cp,
         .addr_size = 8 * sizeof(void *),
         .sp_size = 8 * sizeof(void *),
     };
diff --git a/tools/tests/cpu-policy/test-cpu-policy.c b/tools/tests/cpu-policy/test-cpu-policy.c
index 5b38702b1c62..a4ca07f33973 100644
--- a/tools/tests/cpu-policy/test-cpu-policy.c
+++ b/tools/tests/cpu-policy/test-cpu-policy.c
@@ -98,7 +98,7 @@ static bool msrs_are_sorted(const xen_msr_entry_t *entries, unsigned int nr)
 
 static void test_cpuid_current(void)
 {
-    struct cpuid_policy p;
+    struct cpu_policy p;
     xen_cpuid_leaf_t leaves[CPUID_MAX_SERIALISED_LEAVES];
     unsigned int nr = ARRAY_SIZE(leaves);
     int rc;
@@ -118,7 +118,7 @@ static void test_cpuid_current(void)
 static void test_cpuid_serialise_success(void)
 {
     static const struct test {
-        struct cpuid_policy p;
+        struct cpu_policy p;
         const char *name;
         unsigned int nr_leaves;
     } tests[] = {
@@ -242,7 +242,7 @@ static void test_cpuid_serialise_success(void)
 static void test_msr_serialise_success(void)
 {
     static const struct test {
-        struct msr_policy p;
+        struct cpu_policy p;
         const char *name;
         unsigned int nr_msrs;
     } tests[] = {
@@ -430,7 +430,7 @@ static void test_cpuid_out_of_range_clearing(void)
     static const struct test {
         const char *name;
         unsigned int nr_markers;
-        struct cpuid_policy p;
+        struct cpu_policy p;
     } tests[] = {
         {
             .name = "basic",
@@ -550,7 +550,7 @@ static void test_cpuid_out_of_range_clearing(void)
     for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
     {
         const struct test *t = &tests[i];
-        struct cpuid_policy *p = memdup(&t->p);
+        struct cpu_policy *p = memdup(&t->p);
         void *ptr;
         unsigned int nr_markers;
 
diff --git a/tools/tests/x86_emulator/test_x86_emulator.c b/tools/tests/x86_emulator/test_x86_emulator.c
index 31586f805726..7b7fbaaf45ec 100644
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -909,7 +909,7 @@ int main(int argc, char **argv)
 
     ctxt.regs = &regs;
     ctxt.force_writeback = 0;
-    ctxt.cpuid     = &cp;
+    ctxt.cpu_policy = &cp;
     ctxt.lma       = sizeof(void *) == 8;
     ctxt.addr_size = 8 * sizeof(void *);
     ctxt.sp_size   = 8 * sizeof(void *);
diff --git a/tools/tests/x86_emulator/x86-emulate.c b/tools/tests/x86_emulator/x86-emulate.c
index ea286d6ad87b..5ad282b57545 100644
--- a/tools/tests/x86_emulator/x86-emulate.c
+++ b/tools/tests/x86_emulator/x86-emulate.c
@@ -38,7 +38,7 @@
 #define put_stub(stb) ((stb).addr = 0)
 
 uint32_t mxcsr_mask = 0x0000ffbf;
-struct cpuid_policy cp;
+struct cpu_policy cp;
 
 static char fpu_save_area[0x4000] __attribute__((__aligned__((64))));
 static bool use_xsave;
diff --git a/xen/arch/x86/cpu/mcheck/mce_intel.c b/xen/arch/x86/cpu/mcheck/mce_intel.c
index 301533722d1a..2f23f02923d2 100644
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -1008,7 +1008,7 @@ int vmce_intel_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
 
 int vmce_intel_rdmsr(const struct vcpu *v, uint32_t msr, uint64_t *val)
 {
-    const struct cpuid_policy *cp = v->domain->arch.cpuid;
+    const struct cpu_policy *cp = v->domain->arch.cpu_policy;
     unsigned int bank = msr - MSR_IA32_MC0_CTL2;
 
     switch ( msr )
diff --git a/xen/arch/x86/cpu/vpmu_intel.c b/xen/arch/x86/cpu/vpmu_intel.c
index bcfa187a14b6..045f40dd582e 100644
--- a/xen/arch/x86/cpu/vpmu_intel.c
+++ b/xen/arch/x86/cpu/vpmu_intel.c
@@ -839,8 +839,8 @@ static int cf_check core2_vpmu_initialise(struct vcpu *v)
     u64 msr_content;
     static bool_t ds_warned;
 
-    if ( v->domain->arch.cpuid->basic.pmu_version <= 1 ||
-         v->domain->arch.cpuid->basic.pmu_version >= 6 )
+    if ( v->domain->arch.cpu_policy->basic.pmu_version <= 1 ||
+         v->domain->arch.cpu_policy->basic.pmu_version >= 6 )
         return -EINVAL;
 
     if ( (arch_pmc_cnt + fixed_pmc_cnt) == 0 )
diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index df3e503ced9d..c7e268e14918 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -178,7 +178,7 @@ static void sanitise_featureset(uint32_t *fs)
     }
 }
 
-static void recalculate_xstate(struct cpuid_policy *p)
+static void recalculate_xstate(struct cpu_policy *p)
 {
     uint64_t xstates = XSTATE_FP_SSE;
     uint32_t xstate_size = XSTATE_AREA_MIN_SIZE;
@@ -256,7 +256,7 @@ static void recalculate_xstate(struct cpuid_policy *p)
  * Misc adjustments to the policy.  Mostly clobbering reserved fields and
  * duplicating shared fields.  Intentionally hidden fields are annotated.
  */
-static void recalculate_misc(struct cpuid_policy *p)
+static void recalculate_misc(struct cpu_policy *p)
 {
     p->basic.raw_fms &= 0x0fff0fff; /* Clobber Processor Type on Intel. */
     p->basic.apic_id = 0; /* Dynamic. */
@@ -334,7 +334,7 @@ static void recalculate_misc(struct cpuid_policy *p)
 
 static void __init calculate_raw_policy(void)
 {
-    struct cpuid_policy *p = &raw_cpu_policy;
+    struct cpu_policy *p = &raw_cpu_policy;
 
     x86_cpuid_policy_fill_native(p);
 
@@ -344,7 +344,7 @@ static void __init calculate_raw_policy(void)
 
 static void __init calculate_host_policy(void)
 {
-    struct cpuid_policy *p = &host_cpu_policy;
+    struct cpu_policy *p = &host_cpu_policy;
     unsigned int max_extd_leaf;
 
     *p = raw_cpu_policy;
@@ -445,7 +445,7 @@ static void __init guest_common_feature_adjustments(uint32_t *fs)
 
 static void __init calculate_pv_max_policy(void)
 {
-    struct cpuid_policy *p = &pv_max_cpu_policy;
+    struct cpu_policy *p = &pv_max_cpu_policy;
     uint32_t pv_featureset[FSCAPINTS];
     unsigned int i;
 
@@ -476,7 +476,7 @@ static void __init calculate_pv_max_policy(void)
 
 static void __init calculate_pv_def_policy(void)
 {
-    struct cpuid_policy *p = &pv_def_cpu_policy;
+    struct cpu_policy *p = &pv_def_cpu_policy;
     uint32_t pv_featureset[FSCAPINTS];
     unsigned int i;
 
@@ -496,7 +496,7 @@ static void __init calculate_pv_def_policy(void)
 
 static void __init calculate_hvm_max_policy(void)
 {
-    struct cpuid_policy *p = &hvm_max_cpu_policy;
+    struct cpu_policy *p = &hvm_max_cpu_policy;
     uint32_t hvm_featureset[FSCAPINTS];
     unsigned int i;
     const uint32_t *hvm_featuremask;
@@ -587,7 +587,7 @@ static void __init calculate_hvm_max_policy(void)
 
 static void __init calculate_hvm_def_policy(void)
 {
-    struct cpuid_policy *p = &hvm_def_cpu_policy;
+    struct cpu_policy *p = &hvm_def_cpu_policy;
     uint32_t hvm_featureset[FSCAPINTS];
     unsigned int i;
     const uint32_t *hvm_featuremask;
@@ -658,8 +658,8 @@ bool recheck_cpu_features(unsigned int cpu)
 
 void recalculate_cpuid_policy(struct domain *d)
 {
-    struct cpuid_policy *p = d->arch.cpuid;
-    const struct cpuid_policy *max = is_pv_domain(d)
+    struct cpu_policy *p = d->arch.cpu_policy;
+    const struct cpu_policy *max = is_pv_domain(d)
         ? (IS_ENABLED(CONFIG_PV)  ?  &pv_max_cpu_policy : NULL)
         : (IS_ENABLED(CONFIG_HVM) ? &hvm_max_cpu_policy : NULL);
     uint32_t fs[FSCAPINTS], max_fs[FSCAPINTS];
@@ -786,7 +786,7 @@ void recalculate_cpuid_policy(struct domain *d)
 
 void __init init_dom0_cpuid_policy(struct domain *d)
 {
-    struct cpuid_policy *p = d->arch.cpuid;
+    struct cpu_policy *p = d->arch.cpu_policy;
 
     /* dom0 can't migrate.  Give it ITSC if available. */
     if ( cpu_has_itsc )
@@ -824,7 +824,7 @@ void guest_cpuid(const struct vcpu *v, uint32_t leaf,
                  uint32_t subleaf, struct cpuid_leaf *res)
 {
     const struct domain *d = v->domain;
-    const struct cpuid_policy *p = d->arch.cpuid;
+    const struct cpu_policy *p = d->arch.cpu_policy;
 
     *res = EMPTY_LEAF;
 
@@ -1199,7 +1199,7 @@ static void __init __maybe_unused build_assertions(void)
     BUILD_BUG_ON(ARRAY_SIZE(deep_features) != FSCAPINTS);
 
     /* Find some more clever allocation scheme if this trips. */
-    BUILD_BUG_ON(sizeof(struct cpuid_policy) > PAGE_SIZE);
+    BUILD_BUG_ON(sizeof(struct cpu_policy) > PAGE_SIZE);
 
     BUILD_BUG_ON(sizeof(raw_cpu_policy.basic) !=
                  sizeof(raw_cpu_policy.basic.raw));
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 7cf66aee042c..c628619ead2c 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -283,7 +283,7 @@ void update_guest_memory_policy(struct vcpu *v,
 
 void domain_cpu_policy_changed(struct domain *d)
 {
-    const struct cpuid_policy *p = d->arch.cpuid;
+    const struct cpu_policy *p = d->arch.cpu_policy;
     struct vcpu *v;
 
     if ( is_pv_domain(d) )
diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 95364deb1996..53f58c805185 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -2846,7 +2846,7 @@ void hvm_emulate_init_once(
 
     hvmemul_ctxt->validate = validate;
     hvmemul_ctxt->ctxt.regs = regs;
-    hvmemul_ctxt->ctxt.cpuid = curr->domain->arch.cpuid;
+    hvmemul_ctxt->ctxt.cpu_policy = curr->domain->arch.cpu_policy;
     hvmemul_ctxt->ctxt.force_writeback = true;
 }
 
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index d326fa1c0136..0cf1b483dbbe 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -925,7 +925,7 @@ const char *hvm_efer_valid(const struct vcpu *v, uint64_t value,
                            signed int cr0_pg)
 {
     const struct domain *d = v->domain;
-    const struct cpuid_policy *p = d->arch.cpuid;
+    const struct cpu_policy *p = d->arch.cpu_policy;
 
     if ( value & ~EFER_KNOWN_MASK )
         return "Unknown bits set";
@@ -962,7 +962,7 @@ const char *hvm_efer_valid(const struct vcpu *v, uint64_t value,
 /* These bits in CR4 can be set by the guest. */
 unsigned long hvm_cr4_guest_valid_bits(const struct domain *d)
 {
-    const struct cpuid_policy *p = d->arch.cpuid;
+    const struct cpu_policy *p = d->arch.cpu_policy;
     bool mce, vmxe, cet;
 
     /* Logic broken out simply to aid readability below. */
@@ -1040,7 +1040,7 @@ static int cf_check hvm_load_cpu_ctxt(struct domain *d, hvm_domain_context_t *h)
         return -EINVAL;
     }
 
-    if ( ctxt.cr3 >> d->arch.cpuid->extd.maxphysaddr )
+    if ( ctxt.cr3 >> d->arch.cpu_policy->extd.maxphysaddr )
     {
         printk(XENLOG_G_ERR "HVM%d restore: bad CR3 %#" PRIx64 "\n",
                d->domain_id, ctxt.cr3);
@@ -1418,7 +1418,7 @@ static int cf_check hvm_save_cpu_msrs(struct vcpu *v, hvm_domain_context_t *h)
         switch ( msr )
         {
         case MSR_SPEC_CTRL:
-            val &= msr_spec_ctrl_valid_bits(d->arch.cpuid);
+            val &= msr_spec_ctrl_valid_bits(d->arch.cpu_policy);
             break;
         }
 
@@ -2397,7 +2397,7 @@ int hvm_set_cr3(unsigned long value, bool noflush, bool may_defer)
     struct vcpu *curr = current;
     struct domain *currd = curr->domain;
 
-    if ( value >> currd->arch.cpuid->extd.maxphysaddr )
+    if ( value >> currd->arch.cpu_policy->extd.maxphysaddr )
     {
         HVM_DBG_LOG(DBG_LEVEL_1,
                     "Attempt to set reserved CR3 bit(s): %lx", value);
@@ -2666,7 +2666,7 @@ bool hvm_vcpu_virtual_to_linear(
         else if ( last_byte > reg->limit )
             goto out; /* last byte is beyond limit */
         else if ( last_byte < offset &&
-                  v->domain->arch.cpuid->x86_vendor == X86_VENDOR_AMD )
+                  v->domain->arch.cpu_policy->x86_vendor == X86_VENDOR_AMD )
             goto out; /* access wraps */
     }
 
@@ -3554,12 +3554,12 @@ int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
         break;
 
     case MSR_MTRRcap:
-        if ( !d->arch.cpuid->basic.mtrr )
+        if ( !d->arch.cpu_policy->basic.mtrr )
             goto gp_fault;
         *msr_content = v->arch.hvm.mtrr.mtrr_cap;
         break;
     case MSR_MTRRdefType:
-        if ( !d->arch.cpuid->basic.mtrr )
+        if ( !d->arch.cpu_policy->basic.mtrr )
             goto gp_fault;
         *msr_content = v->arch.hvm.mtrr.def_type |
                        MASK_INSR(v->arch.hvm.mtrr.enabled, MTRRdefType_E) |
@@ -3567,27 +3567,27 @@ int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
                                  MTRRdefType_FE);
         break;
     case MSR_MTRRfix64K_00000:
-        if ( !d->arch.cpuid->basic.mtrr )
+        if ( !d->arch.cpu_policy->basic.mtrr )
             goto gp_fault;
         *msr_content = fixed_range_base[0];
         break;
     case MSR_MTRRfix16K_80000:
     case MSR_MTRRfix16K_A0000:
-        if ( !d->arch.cpuid->basic.mtrr )
+        if ( !d->arch.cpu_policy->basic.mtrr )
             goto gp_fault;
         index = msr - MSR_MTRRfix16K_80000;
         *msr_content = fixed_range_base[array_index_nospec(index + 1,
                                    ARRAY_SIZE(v->arch.hvm.mtrr.fixed_ranges))];
         break;
     case MSR_MTRRfix4K_C0000...MSR_MTRRfix4K_F8000:
-        if ( !d->arch.cpuid->basic.mtrr )
+        if ( !d->arch.cpu_policy->basic.mtrr )
             goto gp_fault;
         index = msr - MSR_MTRRfix4K_C0000;
         *msr_content = fixed_range_base[array_index_nospec(index + 3,
                                    ARRAY_SIZE(v->arch.hvm.mtrr.fixed_ranges))];
         break;
     case MSR_IA32_MTRR_PHYSBASE(0)...MSR_IA32_MTRR_PHYSMASK(MTRR_VCNT_MAX - 1):
-        if ( !d->arch.cpuid->basic.mtrr )
+        if ( !d->arch.cpu_policy->basic.mtrr )
             goto gp_fault;
         index = msr - MSR_IA32_MTRR_PHYSBASE(0);
         if ( (index / 2) >=
@@ -3693,14 +3693,14 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content,
         goto gp_fault;
 
     case MSR_MTRRdefType:
-        if ( !d->arch.cpuid->basic.mtrr )
+        if ( !d->arch.cpu_policy->basic.mtrr )
             goto gp_fault;
         if ( !mtrr_def_type_msr_set(v->domain, &v->arch.hvm.mtrr,
                                     msr_content) )
            goto gp_fault;
         break;
     case MSR_MTRRfix64K_00000:
-        if ( !d->arch.cpuid->basic.mtrr )
+        if ( !d->arch.cpu_policy->basic.mtrr )
             goto gp_fault;
         if ( !mtrr_fix_range_msr_set(v->domain, &v->arch.hvm.mtrr, 0,
                                      msr_content) )
@@ -3708,7 +3708,7 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content,
         break;
     case MSR_MTRRfix16K_80000:
     case MSR_MTRRfix16K_A0000:
-        if ( !d->arch.cpuid->basic.mtrr )
+        if ( !d->arch.cpu_policy->basic.mtrr )
             goto gp_fault;
         index = msr - MSR_MTRRfix16K_80000 + 1;
         if ( !mtrr_fix_range_msr_set(v->domain, &v->arch.hvm.mtrr,
@@ -3716,7 +3716,7 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content,
             goto gp_fault;
         break;
     case MSR_MTRRfix4K_C0000...MSR_MTRRfix4K_F8000:
-        if ( !d->arch.cpuid->basic.mtrr )
+        if ( !d->arch.cpu_policy->basic.mtrr )
             goto gp_fault;
         index = msr - MSR_MTRRfix4K_C0000 + 3;
         if ( !mtrr_fix_range_msr_set(v->domain, &v->arch.hvm.mtrr,
@@ -3724,7 +3724,7 @@ int hvm_msr_write_intercept(unsigned int msr, uint64_t msr_content,
             goto gp_fault;
         break;
     case MSR_IA32_MTRR_PHYSBASE(0)...MSR_IA32_MTRR_PHYSMASK(MTRR_VCNT_MAX - 1):
-        if ( !d->arch.cpuid->basic.mtrr )
+        if ( !d->arch.cpu_policy->basic.mtrr )
             goto gp_fault;
         index = msr - MSR_IA32_MTRR_PHYSBASE(0);
         if ( ((index / 2) >=
@@ -3830,7 +3830,7 @@ void hvm_ud_intercept(struct cpu_user_regs *regs)
 {
     struct vcpu *cur = current;
     bool should_emulate =
-        cur->domain->arch.cpuid->x86_vendor != boot_cpu_data.x86_vendor;
+        cur->domain->arch.cpu_policy->x86_vendor != boot_cpu_data.x86_vendor;
     struct hvm_emulate_ctxt ctxt;
 
     hvm_emulate_init_once(&ctxt, opt_hvm_fep ? NULL : is_cross_vendor, regs);
@@ -4737,7 +4737,7 @@ static int do_altp2m_op(
 
     case HVMOP_altp2m_set_suppress_ve_multi:
     {
-        uint64_t max_phys_addr = (1UL << d->arch.cpuid->extd.maxphysaddr) - 1;
+        uint64_t max_phys_addr = (1UL << d->arch.cpu_policy->extd.maxphysaddr) - 1;
 
         a.u.suppress_ve_multi.last_gfn = min(a.u.suppress_ve_multi.last_gfn,
                                              max_phys_addr);
diff --git a/xen/arch/x86/hvm/ioreq.c b/xen/arch/x86/hvm/ioreq.c
index 0bdcca1e1a5f..f397ce68cdb5 100644
--- a/xen/arch/x86/hvm/ioreq.c
+++ b/xen/arch/x86/hvm/ioreq.c
@@ -295,9 +295,9 @@ bool arch_ioreq_server_get_type_addr(const struct domain *d,
         *addr = ((uint64_t)sbdf.sbdf << 32) | reg;
         /* AMD extended configuration space access? */
         if ( CF8_ADDR_HI(cf8) &&
-             d->arch.cpuid->x86_vendor == X86_VENDOR_AMD &&
+             d->arch.cpu_policy->x86_vendor == X86_VENDOR_AMD &&
              (x86_fam = get_cpu_family(
-                 d->arch.cpuid->basic.raw_fms, NULL, NULL)) >= 0x10 &&
+                 d->arch.cpu_policy->basic.raw_fms, NULL, NULL)) >= 0x10 &&
              x86_fam < 0x17 )
         {
             uint64_t msr_val;
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index f1a88d761635..805e6d4ff243 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -460,7 +460,7 @@ bool_t mtrr_var_range_msr_set(
         return 0;
 
     if ( d == current->domain )
-        phys_addr = d->arch.cpuid->extd.maxphysaddr;
+        phys_addr = d->arch.cpu_policy->extd.maxphysaddr;
     else
         phys_addr = paddr_bits;
     msr_mask = ~((((uint64_t)1) << phys_addr) - 1);
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 02563e4b7027..5c2399e3eaba 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -328,7 +328,7 @@ static void svm_save_dr(struct vcpu *v)
     v->arch.hvm.flag_dr_dirty = 0;
     vmcb_set_dr_intercepts(vmcb, ~0u);
 
-    if ( v->domain->arch.cpuid->extd.dbext )
+    if ( v->domain->arch.cpu_policy->extd.dbext )
     {
         svm_intercept_msr(v, MSR_AMD64_DR0_ADDRESS_MASK, MSR_INTERCEPT_RW);
         svm_intercept_msr(v, MSR_AMD64_DR1_ADDRESS_MASK, MSR_INTERCEPT_RW);
@@ -359,7 +359,7 @@ static void __restore_debug_registers(struct vmcb_struct *vmcb, struct vcpu *v)
 
     ASSERT(v == current);
 
-    if ( v->domain->arch.cpuid->extd.dbext )
+    if ( v->domain->arch.cpu_policy->extd.dbext )
     {
         svm_intercept_msr(v, MSR_AMD64_DR0_ADDRESS_MASK, MSR_INTERCEPT_NONE);
         svm_intercept_msr(v, MSR_AMD64_DR1_ADDRESS_MASK, MSR_INTERCEPT_NONE);
@@ -583,11 +583,11 @@ static void cf_check svm_cpuid_policy_changed(struct vcpu *v)
 {
     struct svm_vcpu *svm = &v->arch.hvm.svm;
     struct vmcb_struct *vmcb = svm->vmcb;
-    const struct cpuid_policy *cp = v->domain->arch.cpuid;
+    const struct cpu_policy *cp = v->domain->arch.cpu_policy;
     u32 bitmap = vmcb_get_exception_intercepts(vmcb);
 
     if ( opt_hvm_fep ||
-         (v->domain->arch.cpuid->x86_vendor != boot_cpu_data.x86_vendor) )
+         (v->domain->arch.cpu_policy->x86_vendor != boot_cpu_data.x86_vendor) )
         bitmap |= (1U << TRAP_invalid_op);
     else
         bitmap &= ~(1U << TRAP_invalid_op);
@@ -967,7 +967,7 @@ static void cf_check svm_ctxt_switch_from(struct vcpu *v)
      */
     if ( v->arch.msrs->virt_spec_ctrl.raw & SPEC_CTRL_SSBD )
     {
-        ASSERT(v->domain->arch.cpuid->extd.virt_ssbd);
+        ASSERT(v->domain->arch.cpu_policy->extd.virt_ssbd);
         amd_set_legacy_ssbd(false);
     }
 }
@@ -1001,7 +1001,7 @@ static void cf_check svm_ctxt_switch_to(struct vcpu *v)
     /* Load SSBD if set by the guest. */
     if ( v->arch.msrs->virt_spec_ctrl.raw & SPEC_CTRL_SSBD )
     {
-        ASSERT(v->domain->arch.cpuid->extd.virt_ssbd);
+        ASSERT(v->domain->arch.cpu_policy->extd.virt_ssbd);
         amd_set_legacy_ssbd(true);
     }
 }
@@ -1928,7 +1928,7 @@ static int cf_check svm_msr_read_intercept(
 
     case MSR_AMD_OSVW_ID_LENGTH:
     case MSR_AMD_OSVW_STATUS:
-        if ( !d->arch.cpuid->extd.osvw )
+        if ( !d->arch.cpu_policy->extd.osvw )
             goto gpf;
         *msr_content = d->arch.hvm.svm.osvw.raw[msr - MSR_AMD_OSVW_ID_LENGTH];
         break;
@@ -2121,7 +2121,7 @@ static int cf_check svm_msr_write_intercept(
 
     case MSR_AMD_OSVW_ID_LENGTH:
     case MSR_AMD_OSVW_STATUS:
-        if ( !d->arch.cpuid->extd.osvw )
+        if ( !d->arch.cpu_policy->extd.osvw )
             goto gpf;
         /* Write-discard */
         break;
@@ -2187,7 +2187,7 @@ static void svm_vmexit_do_rdtsc(struct cpu_user_regs *regs, bool rdtscp)
     const struct domain *currd = curr->domain;
     unsigned int inst_len;
 
-    if ( rdtscp && !currd->arch.cpuid->extd.rdtscp )
+    if ( rdtscp && !currd->arch.cpu_policy->extd.rdtscp )
     {
         hvm_inject_hw_exception(TRAP_invalid_op, X86_EVENT_NO_EC);
         return;
diff --git a/xen/arch/x86/hvm/svm/svmdebug.c b/xen/arch/x86/hvm/svm/svmdebug.c
index bce86f0ef706..05a2d119c744 100644
--- a/xen/arch/x86/hvm/svm/svmdebug.c
+++ b/xen/arch/x86/hvm/svm/svmdebug.c
@@ -130,7 +130,7 @@ bool svm_vmcb_isvalid(const char *from, const struct vmcb_struct *vmcb,
          ((cr3 & 7) ||
           ((!(cr4 & X86_CR4_PAE) || (efer & EFER_LMA)) && (cr3 & 0xfe0)) ||
           ((efer & EFER_LMA) &&
-           (cr3 >> v->domain->arch.cpuid->extd.maxphysaddr))) )
+           (cr3 >> v->domain->arch.cpu_policy->extd.maxphysaddr))) )
         PRINTF("CR3: MBZ bits are set (%#"PRIx64")\n", cr3);
 
     valid = hvm_cr4_guest_valid_bits(v->domain);
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index dc93b5e930b1..f4f5ffc673e5 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -1083,7 +1083,7 @@ static void set_x2apic_id(struct vlapic *vlapic)
 
 int guest_wrmsr_apic_base(struct vcpu *v, uint64_t value)
 {
-    const struct cpuid_policy *cp = v->domain->arch.cpuid;
+    const struct cpu_policy *cp = v->domain->arch.cpu_policy;
     struct vlapic *vlapic = vcpu_vlapic(v);
 
     if ( !has_vlapic(v->domain) )
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index e05588505871..593400a8608f 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -710,7 +710,7 @@ static void vmx_restore_host_msrs(void)
 
 static void vmx_save_guest_msrs(struct vcpu *v)
 {
-    const struct cpuid_policy *cp = v->domain->arch.cpuid;
+    const struct cpu_policy *cp = v->domain->arch.cpu_policy;
     struct vcpu_msrs *msrs = v->arch.msrs;
 
     /*
@@ -731,7 +731,7 @@ static void vmx_save_guest_msrs(struct vcpu *v)
 
 static void vmx_restore_guest_msrs(struct vcpu *v)
 {
-    const struct cpuid_policy *cp = v->domain->arch.cpuid;
+    const struct cpu_policy *cp = v->domain->arch.cpu_policy;
     const struct vcpu_msrs *msrs = v->arch.msrs;
 
     write_gs_shadow(v->arch.hvm.vmx.shadow_gs);
@@ -784,11 +784,11 @@ void vmx_update_exception_bitmap(struct vcpu *v)
 
 static void cf_check vmx_cpuid_policy_changed(struct vcpu *v)
 {
-    const struct cpuid_policy *cp = v->domain->arch.cpuid;
+    const struct cpu_policy *cp = v->domain->arch.cpu_policy;
     int rc = 0;
 
     if ( opt_hvm_fep ||
-         (v->domain->arch.cpuid->x86_vendor != boot_cpu_data.x86_vendor) )
+         (v->domain->arch.cpu_policy->x86_vendor != boot_cpu_data.x86_vendor) )
         v->arch.hvm.vmx.exception_bitmap |= (1U << TRAP_invalid_op);
     else
         v->arch.hvm.vmx.exception_bitmap &= ~(1U << TRAP_invalid_op);
@@ -3521,7 +3521,7 @@ static int cf_check vmx_msr_write_intercept(
     unsigned int msr, uint64_t msr_content)
 {
     struct vcpu *v = current;
-    const struct cpuid_policy *cp = v->domain->arch.cpuid;
+    const struct cpu_policy *cp = v->domain->arch.cpu_policy;
 
     HVM_DBG_LOG(DBG_LEVEL_MSR, "ecx=%#x, msr_value=%#"PRIx64, msr, msr_content);
 
@@ -4451,7 +4451,7 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
         vmx_invlpg_intercept(exit_qualification);
         break;
     case EXIT_REASON_RDTSCP:
-        if ( !currd->arch.cpuid->extd.rdtscp )
+        if ( !currd->arch.cpu_policy->extd.rdtscp )
         {
             hvm_inject_hw_exception(TRAP_invalid_op, X86_EVENT_NO_EC);
             break;
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 674cdabb0736..f78247d9122c 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -2175,7 +2175,7 @@ int nvmx_msr_read_intercept(unsigned int msr, u64 *msr_content)
     int r = 1;
 
     /* VMX capablity MSRs are available only when guest supports VMX. */
-    if ( !nestedhvm_enabled(d) || !d->arch.cpuid->basic.vmx )
+    if ( !nestedhvm_enabled(d) || !d->arch.cpu_policy->basic.vmx )
         return 0;
 
     /*
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index a1deab1d0dcc..6ab396c28589 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -386,10 +386,7 @@ struct arch_domain
      */
     uint8_t x87_fip_width;
 
-    union {
-        struct cpu_policy *cpuid; /* Temporary */
-        struct cpu_policy *cpu_policy;
-    };
+    struct cpu_policy *cpu_policy;
 
     struct PITState vpit;
 
diff --git a/xen/arch/x86/include/asm/guest_pt.h b/xen/arch/x86/include/asm/guest_pt.h
index 6802db2a415a..bb5e5c4b9fba 100644
--- a/xen/arch/x86/include/asm/guest_pt.h
+++ b/xen/arch/x86/include/asm/guest_pt.h
@@ -293,7 +293,7 @@ static always_inline bool guest_pks_enabled(const struct vcpu *v)
 static always_inline uint64_t guest_rsvd_bits(const struct vcpu *v)
 {
     return ((PADDR_MASK &
-             ~((1ul << v->domain->arch.cpuid->extd.maxphysaddr) - 1)) |
+             ~((1ul << v->domain->arch.cpu_policy->extd.maxphysaddr) - 1)) |
             (guest_nx_enabled(v) ? 0 : put_pte_flags(_PAGE_NX_BIT)));
 }
 
@@ -332,7 +332,7 @@ static always_inline bool guest_l4e_rsvd_bits(const struct vcpu *v,
                                               guest_l4e_t l4e)
 {
     return l4e.l4 & (guest_rsvd_bits(v) | GUEST_L4_PAGETABLE_RSVD |
-                     ((v->domain->arch.cpuid->x86_vendor == X86_VENDOR_AMD)
+                     ((v->domain->arch.cpu_policy->x86_vendor == X86_VENDOR_AMD)
                       ? _PAGE_GLOBAL : 0));
 }
 #endif /* GUEST_PAGING_LEVELS >= 4 */
diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index b59a51d238a7..3efa4b02449e 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -290,7 +290,7 @@ static inline void wrmsr_tsc_aux(uint32_t val)
     }
 }
 
-uint64_t msr_spec_ctrl_valid_bits(const struct cpuid_policy *cp);
+uint64_t msr_spec_ctrl_valid_bits(const struct cpu_policy *cp);
 
 /* Container object for per-vCPU MSRs */
 struct vcpu_msrs
diff --git a/xen/arch/x86/include/asm/paging.h b/xen/arch/x86/include/asm/paging.h
index 2647b95e67a7..5ae8745bb190 100644
--- a/xen/arch/x86/include/asm/paging.h
+++ b/xen/arch/x86/include/asm/paging.h
@@ -346,7 +346,7 @@ int paging_set_allocation(struct domain *d, unsigned int pages,
 /* Is gfn within maxphysaddr for the domain? */
 static inline bool gfn_valid(const struct domain *d, gfn_t gfn)
 {
-    return !(gfn_x(gfn) >> (d->arch.cpuid->extd.maxphysaddr - PAGE_SHIFT));
+    return !(gfn_x(gfn) >> (d->arch.cpu_policy->extd.maxphysaddr - PAGE_SHIFT));
 }
 
 /* Maxphysaddr supportable by the paging infrastructure. */
diff --git a/xen/arch/x86/mm/shadow/hvm.c b/xen/arch/x86/mm/shadow/hvm.c
index e2ee1c77056f..cc84af01925a 100644
--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -319,7 +319,7 @@ const struct x86_emulate_ops *shadow_init_emulation(
     memset(sh_ctxt, 0, sizeof(*sh_ctxt));
 
     sh_ctxt->ctxt.regs = regs;
-    sh_ctxt->ctxt.cpuid = curr->domain->arch.cpuid;
+    sh_ctxt->ctxt.cpu_policy = curr->domain->arch.cpu_policy;
     sh_ctxt->ctxt.lma = hvm_long_mode_active(curr);
 
     /* Segment cache initialisation. Primed with CS. */
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index 672961dd3ac1..bf6c8f5f36ec 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -40,7 +40,7 @@ DEFINE_PER_CPU(uint32_t, tsc_aux);
 
 static void __init calculate_raw_policy(void)
 {
-    struct msr_policy *mp = &raw_cpu_policy;
+    struct cpu_policy *mp = &raw_cpu_policy;
 
     /* 0x000000ce  MSR_INTEL_PLATFORM_INFO */
     /* Was already added by probe_cpuid_faulting() */
@@ -51,7 +51,7 @@ static void __init calculate_raw_policy(void)
 
 static void __init calculate_host_policy(void)
 {
-    struct msr_policy *mp = &host_cpu_policy;
+    struct cpu_policy *mp = &host_cpu_policy;
 
     *mp = raw_cpu_policy;
 
@@ -71,7 +71,7 @@ static void __init calculate_host_policy(void)
 
 static void __init calculate_pv_max_policy(void)
 {
-    struct msr_policy *mp = &pv_max_cpu_policy;
+    struct cpu_policy *mp = &pv_max_cpu_policy;
 
     *mp = host_cpu_policy;
 
@@ -80,14 +80,14 @@ static void __init calculate_pv_max_policy(void)
 
 static void __init calculate_pv_def_policy(void)
 {
-    struct msr_policy *mp = &pv_def_cpu_policy;
+    struct cpu_policy *mp = &pv_def_cpu_policy;
 
     *mp = pv_max_cpu_policy;
 }
 
 static void __init calculate_hvm_max_policy(void)
 {
-    struct msr_policy *mp = &hvm_max_cpu_policy;
+    struct cpu_policy *mp = &hvm_max_cpu_policy;
 
     *mp = host_cpu_policy;
 
@@ -99,7 +99,7 @@ static void __init calculate_hvm_max_policy(void)
 
 static void __init calculate_hvm_def_policy(void)
 {
-    struct msr_policy *mp = &hvm_def_cpu_policy;
+    struct cpu_policy *mp = &hvm_def_cpu_policy;
 
     *mp = hvm_max_cpu_policy;
 }
@@ -138,7 +138,7 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
 {
     const struct vcpu *curr = current;
     const struct domain *d = v->domain;
-    const struct cpuid_policy *cp = d->arch.cpuid;
+    const struct cpu_policy *cp = d->arch.cpu_policy;
     const struct vcpu_msrs *msrs = v->arch.msrs;
     int ret = X86EMUL_OKAY;
 
@@ -409,7 +409,7 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
  * separate CPUID features for this functionality, but only set will be
  * active.
  */
-uint64_t msr_spec_ctrl_valid_bits(const struct cpuid_policy *cp)
+uint64_t msr_spec_ctrl_valid_bits(const struct cpu_policy *cp)
 {
     bool ssbd = cp->feat.ssbd || cp->extd.amd_ssbd;
     bool psfd = cp->feat.intel_psfd || cp->extd.psfd;
@@ -428,7 +428,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
 {
     const struct vcpu *curr = current;
     struct domain *d = v->domain;
-    const struct cpuid_policy *cp = d->arch.cpuid;
+    const struct cpu_policy *cp = d->arch.cpu_policy;
     struct vcpu_msrs *msrs = v->arch.msrs;
     int ret = X86EMUL_OKAY;
 
@@ -469,7 +469,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
          * for backwards compatiblity, the OS should write 0 to it before
          * trying to access the current microcode version.
          */
-        if ( d->arch.cpuid->x86_vendor != X86_VENDOR_INTEL || val != 0 )
+        if ( d->arch.cpu_policy->x86_vendor != X86_VENDOR_INTEL || val != 0 )
             goto gp_fault;
         break;
 
@@ -479,7 +479,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
          * to AMD CPUs as well (at least the architectural/CPUID part does).
          */
         if ( is_pv_domain(d) ||
-             d->arch.cpuid->x86_vendor != X86_VENDOR_AMD )
+             d->arch.cpu_policy->x86_vendor != X86_VENDOR_AMD )
             goto gp_fault;
         break;
 
@@ -491,7 +491,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
          * by any CPUID bit.
          */
         if ( is_pv_domain(d) ||
-             d->arch.cpuid->x86_vendor != X86_VENDOR_INTEL )
+             d->arch.cpu_policy->x86_vendor != X86_VENDOR_INTEL )
             goto gp_fault;
         break;
 
diff --git a/xen/arch/x86/pv/domain.c b/xen/arch/x86/pv/domain.c
index f94f28c8e271..dbda57894543 100644
--- a/xen/arch/x86/pv/domain.c
+++ b/xen/arch/x86/pv/domain.c
@@ -145,7 +145,7 @@ static void release_compat_l4(struct vcpu *v)
 
 unsigned long pv_fixup_guest_cr4(const struct vcpu *v, unsigned long cr4)
 {
-    const struct cpuid_policy *p = v->domain->arch.cpuid;
+    const struct cpu_policy *p = v->domain->arch.cpu_policy;
 
     /* Discard attempts to set guest controllable bits outside of the policy. */
     cr4 &= ~((p->basic.tsc     ? 0 : X86_CR4_TSD)      |
diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
index 5da00e24e4ff..04416f197951 100644
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -885,7 +885,7 @@ static int cf_check read_msr(
 {
     struct vcpu *curr = current;
     const struct domain *currd = curr->domain;
-    const struct cpuid_policy *cp = currd->arch.cpuid;
+    const struct cpu_policy *cp = currd->arch.cpu_policy;
     bool vpmu_msr = false, warn = false;
     uint64_t tmp;
     int ret;
@@ -1034,7 +1034,7 @@ static int cf_check write_msr(
 {
     struct vcpu *curr = current;
     const struct domain *currd = curr->domain;
-    const struct cpuid_policy *cp = currd->arch.cpuid;
+    const struct cpu_policy *cp = currd->arch.cpu_policy;
     bool vpmu_msr = false;
     int ret;
 
@@ -1327,7 +1327,7 @@ int pv_emulate_privileged_op(struct cpu_user_regs *regs)
     struct domain *currd = curr->domain;
     struct priv_op_ctxt ctxt = {
         .ctxt.regs = regs,
-        .ctxt.cpuid = currd->arch.cpuid,
+        .ctxt.cpu_policy = currd->arch.cpu_policy,
         .ctxt.lma = !is_pv_32bit_domain(currd),
     };
     int rc;
diff --git a/xen/arch/x86/pv/ro-page-fault.c b/xen/arch/x86/pv/ro-page-fault.c
index 5963f5ee2d51..0d02c7d2ab10 100644
--- a/xen/arch/x86/pv/ro-page-fault.c
+++ b/xen/arch/x86/pv/ro-page-fault.c
@@ -356,7 +356,7 @@ int pv_ro_page_fault(unsigned long addr, struct cpu_user_regs *regs)
     unsigned int addr_size = is_pv_32bit_domain(currd) ? 32 : BITS_PER_LONG;
     struct x86_emulate_ctxt ctxt = {
         .regs      = regs,
-        .cpuid     = currd->arch.cpuid,
+        .cpu_policy = currd->arch.cpu_policy,
         .addr_size = addr_size,
         .sp_size   = addr_size,
         .lma       = addr_size > 32,
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index 3b2efecede2f..14d3dbca147b 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -295,7 +295,7 @@ long arch_do_sysctl(
 
     case XEN_SYSCTL_get_cpu_featureset:
     {
-        static const struct cpuid_policy *const policy_table[6] = {
+        static const struct cpu_policy *policy_table[6] = {
             [XEN_SYSCTL_cpu_featureset_raw]     = &raw_cpu_policy,
             [XEN_SYSCTL_cpu_featureset_host]    = &host_cpu_policy,
 #ifdef CONFIG_PV
@@ -307,7 +307,7 @@ long arch_do_sysctl(
             [XEN_SYSCTL_cpu_featureset_hvm_max] = &hvm_max_cpu_policy,
 #endif
         };
-        const struct cpuid_policy *p = NULL;
+        const struct cpu_policy *p = NULL;
         uint32_t featureset[FSCAPINTS];
         unsigned int nr;
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index cade9e12f8fa..d12004b1c6fc 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1035,7 +1035,7 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
                              uint32_t subleaf, struct cpuid_leaf *res)
 {
     const struct domain *d = v->domain;
-    const struct cpuid_policy *p = d->arch.cpuid;
+    const struct cpu_policy *p = d->arch.cpu_policy;
     uint32_t base = is_viridian_domain(d) ? 0x40000100 : 0x40000000;
     uint32_t idx  = leaf - base;
     unsigned int limit = is_viridian_domain(d) ? p->hv2_limit : p->hv_limit;
diff --git a/xen/arch/x86/x86_emulate.c b/xen/arch/x86/x86_emulate.c
index 8c7d18521807..ff94758e0ebe 100644
--- a/xen/arch/x86/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate.c
@@ -74,7 +74,7 @@ int cf_check x86emul_read_xcr(
         return X86EMUL_OKAY;
 
     case 1:
-        if ( current->domain->arch.cpuid->xstate.xgetbv1 )
+        if ( current->domain->arch.cpu_policy->xstate.xgetbv1 )
             break;
         /* fall through */
     default:
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.c b/xen/arch/x86/x86_emulate/x86_emulate.c
index e38f98b54726..a26a2934b6a7 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -1923,7 +1923,7 @@ in_protmode(
 }
 
 static bool
-_amd_like(const struct cpuid_policy *cp)
+_amd_like(const struct cpu_policy *cp)
 {
     return cp->x86_vendor & (X86_VENDOR_AMD | X86_VENDOR_HYGON);
 }
@@ -1931,87 +1931,87 @@ _amd_like(const struct cpuid_policy *cp)
 static bool
 amd_like(const struct x86_emulate_ctxt *ctxt)
 {
-    return _amd_like(ctxt->cpuid);
+    return _amd_like(ctxt->cpu_policy);
 }
 
-#define vcpu_has_fpu()         (ctxt->cpuid->basic.fpu)
-#define vcpu_has_sep()         (ctxt->cpuid->basic.sep)
-#define vcpu_has_cx8()         (ctxt->cpuid->basic.cx8)
-#define vcpu_has_cmov()        (ctxt->cpuid->basic.cmov)
-#define vcpu_has_clflush()     (ctxt->cpuid->basic.clflush)
-#define vcpu_has_mmx()         (ctxt->cpuid->basic.mmx)
-#define vcpu_has_fxsr()        (ctxt->cpuid->basic.fxsr)
-#define vcpu_has_sse()         (ctxt->cpuid->basic.sse)
-#define vcpu_has_sse2()        (ctxt->cpuid->basic.sse2)
-#define vcpu_has_sse3()        (ctxt->cpuid->basic.sse3)
-#define vcpu_has_pclmulqdq()   (ctxt->cpuid->basic.pclmulqdq)
-#define vcpu_has_ssse3()       (ctxt->cpuid->basic.ssse3)
-#define vcpu_has_fma()         (ctxt->cpuid->basic.fma)
-#define vcpu_has_cx16()        (ctxt->cpuid->basic.cx16)
-#define vcpu_has_sse4_1()      (ctxt->cpuid->basic.sse4_1)
-#define vcpu_has_sse4_2()      (ctxt->cpuid->basic.sse4_2)
-#define vcpu_has_movbe()       (ctxt->cpuid->basic.movbe)
-#define vcpu_has_popcnt()      (ctxt->cpuid->basic.popcnt)
-#define vcpu_has_aesni()       (ctxt->cpuid->basic.aesni)
-#define vcpu_has_avx()         (ctxt->cpuid->basic.avx)
-#define vcpu_has_f16c()        (ctxt->cpuid->basic.f16c)
-#define vcpu_has_rdrand()      (ctxt->cpuid->basic.rdrand)
-
-#define vcpu_has_mmxext()      (ctxt->cpuid->extd.mmxext || vcpu_has_sse())
-#define vcpu_has_3dnow_ext()   (ctxt->cpuid->extd._3dnowext)
-#define vcpu_has_3dnow()       (ctxt->cpuid->extd._3dnow)
-#define vcpu_has_lahf_lm()     (ctxt->cpuid->extd.lahf_lm)
-#define vcpu_has_cr8_legacy()  (ctxt->cpuid->extd.cr8_legacy)
-#define vcpu_has_lzcnt()       (ctxt->cpuid->extd.abm)
-#define vcpu_has_sse4a()       (ctxt->cpuid->extd.sse4a)
-#define vcpu_has_misalignsse() (ctxt->cpuid->extd.misalignsse)
-#define vcpu_has_xop()         (ctxt->cpuid->extd.xop)
-#define vcpu_has_fma4()        (ctxt->cpuid->extd.fma4)
-#define vcpu_has_tbm()         (ctxt->cpuid->extd.tbm)
-#define vcpu_has_clzero()      (ctxt->cpuid->extd.clzero)
-#define vcpu_has_wbnoinvd()    (ctxt->cpuid->extd.wbnoinvd)
-#define vcpu_has_nscb()        (ctxt->cpuid->extd.nscb)
-
-#define vcpu_has_bmi1()        (ctxt->cpuid->feat.bmi1)
-#define vcpu_has_hle()         (ctxt->cpuid->feat.hle)
-#define vcpu_has_avx2()        (ctxt->cpuid->feat.avx2)
-#define vcpu_has_bmi2()        (ctxt->cpuid->feat.bmi2)
-#define vcpu_has_invpcid()     (ctxt->cpuid->feat.invpcid)
-#define vcpu_has_rtm()         (ctxt->cpuid->feat.rtm)
-#define vcpu_has_mpx()         (ctxt->cpuid->feat.mpx)
-#define vcpu_has_avx512f()     (ctxt->cpuid->feat.avx512f)
-#define vcpu_has_avx512dq()    (ctxt->cpuid->feat.avx512dq)
-#define vcpu_has_rdseed()      (ctxt->cpuid->feat.rdseed)
-#define vcpu_has_adx()         (ctxt->cpuid->feat.adx)
-#define vcpu_has_smap()        (ctxt->cpuid->feat.smap)
-#define vcpu_has_avx512_ifma() (ctxt->cpuid->feat.avx512_ifma)
-#define vcpu_has_clflushopt()  (ctxt->cpuid->feat.clflushopt)
-#define vcpu_has_clwb()        (ctxt->cpuid->feat.clwb)
-#define vcpu_has_avx512pf()    (ctxt->cpuid->feat.avx512pf)
-#define vcpu_has_avx512er()    (ctxt->cpuid->feat.avx512er)
-#define vcpu_has_avx512cd()    (ctxt->cpuid->feat.avx512cd)
-#define vcpu_has_sha()         (ctxt->cpuid->feat.sha)
-#define vcpu_has_avx512bw()    (ctxt->cpuid->feat.avx512bw)
-#define vcpu_has_avx512vl()    (ctxt->cpuid->feat.avx512vl)
-#define vcpu_has_avx512_vbmi() (ctxt->cpuid->feat.avx512_vbmi)
-#define vcpu_has_avx512_vbmi2() (ctxt->cpuid->feat.avx512_vbmi2)
-#define vcpu_has_gfni()        (ctxt->cpuid->feat.gfni)
-#define vcpu_has_vaes()        (ctxt->cpuid->feat.vaes)
-#define vcpu_has_vpclmulqdq()  (ctxt->cpuid->feat.vpclmulqdq)
-#define vcpu_has_avx512_vnni() (ctxt->cpuid->feat.avx512_vnni)
-#define vcpu_has_avx512_bitalg() (ctxt->cpuid->feat.avx512_bitalg)
-#define vcpu_has_avx512_vpopcntdq() (ctxt->cpuid->feat.avx512_vpopcntdq)
-#define vcpu_has_rdpid()       (ctxt->cpuid->feat.rdpid)
-#define vcpu_has_movdiri()     (ctxt->cpuid->feat.movdiri)
-#define vcpu_has_movdir64b()   (ctxt->cpuid->feat.movdir64b)
-#define vcpu_has_enqcmd()      (ctxt->cpuid->feat.enqcmd)
-#define vcpu_has_avx512_4vnniw() (ctxt->cpuid->feat.avx512_4vnniw)
-#define vcpu_has_avx512_4fmaps() (ctxt->cpuid->feat.avx512_4fmaps)
-#define vcpu_has_avx512_vp2intersect() (ctxt->cpuid->feat.avx512_vp2intersect)
-#define vcpu_has_serialize()   (ctxt->cpuid->feat.serialize)
-#define vcpu_has_tsxldtrk()    (ctxt->cpuid->feat.tsxldtrk)
-#define vcpu_has_avx_vnni()    (ctxt->cpuid->feat.avx_vnni)
-#define vcpu_has_avx512_bf16() (ctxt->cpuid->feat.avx512_bf16)
+#define vcpu_has_fpu()         (ctxt->cpu_policy->basic.fpu)
+#define vcpu_has_sep()         (ctxt->cpu_policy->basic.sep)
+#define vcpu_has_cx8()         (ctxt->cpu_policy->basic.cx8)
+#define vcpu_has_cmov()        (ctxt->cpu_policy->basic.cmov)
+#define vcpu_has_clflush()     (ctxt->cpu_policy->basic.clflush)
+#define vcpu_has_mmx()         (ctxt->cpu_policy->basic.mmx)
+#define vcpu_has_fxsr()        (ctxt->cpu_policy->basic.fxsr)
+#define vcpu_has_sse()         (ctxt->cpu_policy->basic.sse)
+#define vcpu_has_sse2()        (ctxt->cpu_policy->basic.sse2)
+#define vcpu_has_sse3()        (ctxt->cpu_policy->basic.sse3)
+#define vcpu_has_pclmulqdq()   (ctxt->cpu_policy->basic.pclmulqdq)
+#define vcpu_has_ssse3()       (ctxt->cpu_policy->basic.ssse3)
+#define vcpu_has_fma()         (ctxt->cpu_policy->basic.fma)
+#define vcpu_has_cx16()        (ctxt->cpu_policy->basic.cx16)
+#define vcpu_has_sse4_1()      (ctxt->cpu_policy->basic.sse4_1)
+#define vcpu_has_sse4_2()      (ctxt->cpu_policy->basic.sse4_2)
+#define vcpu_has_movbe()       (ctxt->cpu_policy->basic.movbe)
+#define vcpu_has_popcnt()      (ctxt->cpu_policy->basic.popcnt)
+#define vcpu_has_aesni()       (ctxt->cpu_policy->basic.aesni)
+#define vcpu_has_avx()         (ctxt->cpu_policy->basic.avx)
+#define vcpu_has_f16c()        (ctxt->cpu_policy->basic.f16c)
+#define vcpu_has_rdrand()      (ctxt->cpu_policy->basic.rdrand)
+
+#define vcpu_has_mmxext()      (ctxt->cpu_policy->extd.mmxext || vcpu_has_sse())
+#define vcpu_has_3dnow_ext()   (ctxt->cpu_policy->extd._3dnowext)
+#define vcpu_has_3dnow()       (ctxt->cpu_policy->extd._3dnow)
+#define vcpu_has_lahf_lm()     (ctxt->cpu_policy->extd.lahf_lm)
+#define vcpu_has_cr8_legacy()  (ctxt->cpu_policy->extd.cr8_legacy)
+#define vcpu_has_lzcnt()       (ctxt->cpu_policy->extd.abm)
+#define vcpu_has_sse4a()       (ctxt->cpu_policy->extd.sse4a)
+#define vcpu_has_misalignsse() (ctxt->cpu_policy->extd.misalignsse)
+#define vcpu_has_xop()         (ctxt->cpu_policy->extd.xop)
+#define vcpu_has_fma4()        (ctxt->cpu_policy->extd.fma4)
+#define vcpu_has_tbm()         (ctxt->cpu_policy->extd.tbm)
+#define vcpu_has_clzero()      (ctxt->cpu_policy->extd.clzero)
+#define vcpu_has_wbnoinvd()    (ctxt->cpu_policy->extd.wbnoinvd)
+#define vcpu_has_nscb()        (ctxt->cpu_policy->extd.nscb)
+
+#define vcpu_has_bmi1()        (ctxt->cpu_policy->feat.bmi1)
+#define vcpu_has_hle()         (ctxt->cpu_policy->feat.hle)
+#define vcpu_has_avx2()        (ctxt->cpu_policy->feat.avx2)
+#define vcpu_has_bmi2()        (ctxt->cpu_policy->feat.bmi2)
+#define vcpu_has_invpcid()     (ctxt->cpu_policy->feat.invpcid)
+#define vcpu_has_rtm()         (ctxt->cpu_policy->feat.rtm)
+#define vcpu_has_mpx()         (ctxt->cpu_policy->feat.mpx)
+#define vcpu_has_avx512f()     (ctxt->cpu_policy->feat.avx512f)
+#define vcpu_has_avx512dq()    (ctxt->cpu_policy->feat.avx512dq)
+#define vcpu_has_rdseed()      (ctxt->cpu_policy->feat.rdseed)
+#define vcpu_has_adx()         (ctxt->cpu_policy->feat.adx)
+#define vcpu_has_smap()        (ctxt->cpu_policy->feat.smap)
+#define vcpu_has_avx512_ifma() (ctxt->cpu_policy->feat.avx512_ifma)
+#define vcpu_has_clflushopt()  (ctxt->cpu_policy->feat.clflushopt)
+#define vcpu_has_clwb()        (ctxt->cpu_policy->feat.clwb)
+#define vcpu_has_avx512pf()    (ctxt->cpu_policy->feat.avx512pf)
+#define vcpu_has_avx512er()    (ctxt->cpu_policy->feat.avx512er)
+#define vcpu_has_avx512cd()    (ctxt->cpu_policy->feat.avx512cd)
+#define vcpu_has_sha()         (ctxt->cpu_policy->feat.sha)
+#define vcpu_has_avx512bw()    (ctxt->cpu_policy->feat.avx512bw)
+#define vcpu_has_avx512vl()    (ctxt->cpu_policy->feat.avx512vl)
+#define vcpu_has_avx512_vbmi() (ctxt->cpu_policy->feat.avx512_vbmi)
+#define vcpu_has_avx512_vbmi2() (ctxt->cpu_policy->feat.avx512_vbmi2)
+#define vcpu_has_gfni()        (ctxt->cpu_policy->feat.gfni)
+#define vcpu_has_vaes()        (ctxt->cpu_policy->feat.vaes)
+#define vcpu_has_vpclmulqdq()  (ctxt->cpu_policy->feat.vpclmulqdq)
+#define vcpu_has_avx512_vnni() (ctxt->cpu_policy->feat.avx512_vnni)
+#define vcpu_has_avx512_bitalg() (ctxt->cpu_policy->feat.avx512_bitalg)
+#define vcpu_has_avx512_vpopcntdq() (ctxt->cpu_policy->feat.avx512_vpopcntdq)
+#define vcpu_has_rdpid()       (ctxt->cpu_policy->feat.rdpid)
+#define vcpu_has_movdiri()     (ctxt->cpu_policy->feat.movdiri)
+#define vcpu_has_movdir64b()   (ctxt->cpu_policy->feat.movdir64b)
+#define vcpu_has_enqcmd()      (ctxt->cpu_policy->feat.enqcmd)
+#define vcpu_has_avx512_4vnniw() (ctxt->cpu_policy->feat.avx512_4vnniw)
+#define vcpu_has_avx512_4fmaps() (ctxt->cpu_policy->feat.avx512_4fmaps)
+#define vcpu_has_avx512_vp2intersect() (ctxt->cpu_policy->feat.avx512_vp2intersect)
+#define vcpu_has_serialize()   (ctxt->cpu_policy->feat.serialize)
+#define vcpu_has_tsxldtrk()    (ctxt->cpu_policy->feat.tsxldtrk)
+#define vcpu_has_avx_vnni()    (ctxt->cpu_policy->feat.avx_vnni)
+#define vcpu_has_avx512_bf16() (ctxt->cpu_policy->feat.avx512_bf16)
 
 #define vcpu_must_have(feat) \
     generate_exception_if(!vcpu_has_##feat(), EXC_UD)
@@ -2078,7 +2078,7 @@ protmode_load_seg(
     struct x86_emulate_ctxt *ctxt,
     const struct x86_emulate_ops *ops)
 {
-    const struct cpuid_policy *cp = ctxt->cpuid;
+    const struct cpu_policy *cp = ctxt->cpu_policy;
     enum x86_segment sel_seg = (sel & 4) ? x86_seg_ldtr : x86_seg_gdtr;
     struct { uint32_t a, b; } desc, desc_hi = {};
     uint8_t dpl, rpl;
@@ -5888,7 +5888,7 @@ x86_emulate(
 
             base = ad_bytes == 8 ? _regs.r(ax) :
                    ad_bytes == 4 ? _regs.eax : _regs.ax;
-            limit = ctxt->cpuid->basic.clflush_size * 8;
+            limit = ctxt->cpu_policy->basic.clflush_size * 8;
             generate_exception_if(limit < sizeof(long) ||
                                   (limit & (limit - 1)), EXC_UD);
             base &= ~(limit - 1);
@@ -6211,7 +6211,7 @@ x86_emulate(
          * in fact risking to make guest OSes vulnerable to the equivalent of
          * XSA-7 (CVE-2012-0217).
          */
-        generate_exception_if(ctxt->cpuid->x86_vendor == X86_VENDOR_INTEL &&
+        generate_exception_if(ctxt->cpu_policy->x86_vendor == X86_VENDOR_INTEL &&
                               op_bytes == 8 && !is_canonical_address(_regs.rcx),
                               EXC_GP, 0);
 #endif
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index 75015104fbdb..8c98a398643a 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -565,8 +565,8 @@ struct x86_emulate_ctxt
      * Input-only state:
      */
 
-    /* CPUID Policy for the domain. */
-    const struct cpuid_policy *cpuid;
+    /* CPU Policy for the domain. */
+    const struct cpu_policy *cpu_policy;
 
     /* Set this if writes may have side effects. */
     bool force_writeback;
diff --git a/xen/arch/x86/xstate.c b/xen/arch/x86/xstate.c
index d481e1db3e7e..22038a251f6d 100644
--- a/xen/arch/x86/xstate.c
+++ b/xen/arch/x86/xstate.c
@@ -684,7 +684,7 @@ void xstate_init(struct cpuinfo_x86 *c)
 int validate_xstate(const struct domain *d, uint64_t xcr0, uint64_t xcr0_accum,
                     const struct xsave_hdr *hdr)
 {
-    uint64_t xcr0_max = cpuid_policy_xcr0_max(d->arch.cpuid);
+    uint64_t xcr0_max = cpuid_policy_xcr0_max(d->arch.cpu_policy);
     unsigned int i;
 
     if ( (hdr->xstate_bv & ~xcr0_accum) ||
@@ -708,7 +708,7 @@ int validate_xstate(const struct domain *d, uint64_t xcr0, uint64_t xcr0_accum,
 int handle_xsetbv(u32 index, u64 new_bv)
 {
     struct vcpu *curr = current;
-    uint64_t xcr0_max = cpuid_policy_xcr0_max(curr->domain->arch.cpuid);
+    uint64_t xcr0_max = cpuid_policy_xcr0_max(curr->domain->arch.cpu_policy);
     u64 mask;
 
     if ( index != XCR_XFEATURE_ENABLED_MASK )
diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
index 51f88f1e217e..82b4c1c0546f 100644
--- a/xen/include/xen/lib/x86/cpu-policy.h
+++ b/xen/include/xen/lib/x86/cpu-policy.h
@@ -94,7 +94,7 @@ const char *x86_cpuid_vendor_to_str(unsigned int vendor);
                                       CPUID_GUEST_NR_EXTD_AMD)
 
 /*
- * Maximum number of leaves a struct cpuid_policy turns into when serialised
+ * Maximum number of leaves a struct cpu_policy turns into when serialised
  * for interaction with the toolstack.  (Sum of all leaves in each union, less
  * the entries in basic which sub-unions hang off of.)
  */
@@ -375,10 +375,6 @@ struct cpu_policy
     uint8_t x86_vendor;
 };
 
-/* Temporary */
-#define cpuid_policy cpu_policy
-#define msr_policy cpu_policy
-
 struct cpu_policy_errors
 {
     uint32_t leaf, subleaf;
@@ -389,7 +385,7 @@ struct cpu_policy_errors
 
 /* Fill in a featureset bitmap from a CPUID policy. */
 static inline void cpuid_policy_to_featureset(
-    const struct cpuid_policy *p, uint32_t fs[FEATURESET_NR_ENTRIES])
+    const struct cpu_policy *p, uint32_t fs[FEATURESET_NR_ENTRIES])
 {
     fs[FEATURESET_1d]  = p->basic._1d;
     fs[FEATURESET_1c]  = p->basic._1c;
@@ -411,7 +407,7 @@ static inline void cpuid_policy_to_featureset(
 
 /* Fill in a CPUID policy from a featureset bitmap. */
 static inline void cpuid_featureset_to_policy(
-    const uint32_t fs[FEATURESET_NR_ENTRIES], struct cpuid_policy *p)
+    const uint32_t fs[FEATURESET_NR_ENTRIES], struct cpu_policy *p)
 {
     p->basic._1d  = fs[FEATURESET_1d];
     p->basic._1c  = fs[FEATURESET_1c];
@@ -431,12 +427,12 @@ static inline void cpuid_featureset_to_policy(
     p->feat._7d1  = fs[FEATURESET_7d1];
 }
 
-static inline uint64_t cpuid_policy_xcr0_max(const struct cpuid_policy *p)
+static inline uint64_t cpuid_policy_xcr0_max(const struct cpu_policy *p)
 {
     return ((uint64_t)p->xstate.xcr0_high << 32) | p->xstate.xcr0_low;
 }
 
-static inline uint64_t cpuid_policy_xstates(const struct cpuid_policy *p)
+static inline uint64_t cpuid_policy_xstates(const struct cpu_policy *p)
 {
     uint64_t val = p->xstate.xcr0_high | p->xstate.xss_high;
 
@@ -448,7 +444,7 @@ const uint32_t *x86_cpuid_lookup_deep_deps(uint32_t feature);
 /**
  * Recalculate the content in a CPUID policy which is derived from raw data.
  */
-void x86_cpuid_policy_recalc_synth(struct cpuid_policy *p);
+void x86_cpuid_policy_recalc_synth(struct cpu_policy *p);
 
 /**
  * Fill a CPUID policy using the native CPUID instruction.
@@ -457,7 +453,7 @@ void x86_cpuid_policy_recalc_synth(struct cpuid_policy *p);
  * Values may be influenced by a hypervisor or from masking/faulting
  * configuration.
  */
-void x86_cpuid_policy_fill_native(struct cpuid_policy *p);
+void x86_cpuid_policy_fill_native(struct cpu_policy *p);
 
 /**
  * Clear leaf data beyond the policies max leaf/subleaf settings.
@@ -468,7 +464,7 @@ void x86_cpuid_policy_fill_native(struct cpuid_policy *p);
  * with out-of-range leaves with stale content in them.  This helper clears
  * them.
  */
-void x86_cpuid_policy_clear_out_of_range_leaves(struct cpuid_policy *p);
+void x86_cpuid_policy_clear_out_of_range_leaves(struct cpu_policy *p);
 
 #ifdef __XEN__
 #include <public/arch-x86/xen.h>
@@ -492,7 +488,7 @@ typedef xen_msr_entry_t msr_entry_buffer_t[];
  * leaves array is too short.  On success, nr_entries is updated with the
  * actual number of leaves written.
  */
-int x86_cpuid_copy_to_buffer(const struct cpuid_policy *policy,
+int x86_cpuid_copy_to_buffer(const struct cpu_policy *policy,
                              cpuid_leaf_buffer_t leaves, uint32_t *nr_entries);
 
 /**
@@ -512,7 +508,7 @@ int x86_cpuid_copy_to_buffer(const struct cpuid_policy *policy,
  * No content validation of in-range leaves is performed.  Synthesised data is
  * recalculated.
  */
-int x86_cpuid_copy_from_buffer(struct cpuid_policy *policy,
+int x86_cpuid_copy_from_buffer(struct cpu_policy *policy,
                                const cpuid_leaf_buffer_t leaves,
                                uint32_t nr_entries, uint32_t *err_leaf,
                                uint32_t *err_subleaf);
@@ -529,7 +525,7 @@ int x86_cpuid_copy_from_buffer(struct cpuid_policy *policy,
  * buffer array is too short.  On success, nr_entries is updated with the
  * actual number of msrs written.
  */
-int x86_msr_copy_to_buffer(const struct msr_policy *policy,
+int x86_msr_copy_to_buffer(const struct cpu_policy *policy,
                            msr_entry_buffer_t msrs, uint32_t *nr_entries);
 
 /**
@@ -549,7 +545,7 @@ int x86_msr_copy_to_buffer(const struct msr_policy *policy,
  *
  * No content validation is performed on the data stored in the policy object.
  */
-int x86_msr_copy_from_buffer(struct msr_policy *policy,
+int x86_msr_copy_from_buffer(struct cpu_policy *policy,
                              const msr_entry_buffer_t msrs, uint32_t nr_entries,
                              uint32_t *err_msr);
 
diff --git a/xen/lib/x86/cpuid.c b/xen/lib/x86/cpuid.c
index e81f76c779c0..58a14163b1cb 100644
--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -60,13 +60,13 @@ const char *x86_cpuid_vendor_to_str(unsigned int vendor)
     }
 }
 
-void x86_cpuid_policy_recalc_synth(struct cpuid_policy *p)
+void x86_cpuid_policy_recalc_synth(struct cpu_policy *p)
 {
     p->x86_vendor = x86_cpuid_lookup_vendor(
         p->basic.vendor_ebx, p->basic.vendor_ecx, p->basic.vendor_edx);
 }
 
-void x86_cpuid_policy_fill_native(struct cpuid_policy *p)
+void x86_cpuid_policy_fill_native(struct cpu_policy *p)
 {
     unsigned int i;
 
@@ -183,7 +183,7 @@ void x86_cpuid_policy_fill_native(struct cpuid_policy *p)
     x86_cpuid_policy_recalc_synth(p);
 }
 
-void x86_cpuid_policy_clear_out_of_range_leaves(struct cpuid_policy *p)
+void x86_cpuid_policy_clear_out_of_range_leaves(struct cpu_policy *p)
 {
     unsigned int i;
 
@@ -291,7 +291,7 @@ static int copy_leaf_to_buffer(uint32_t leaf, uint32_t subleaf,
     return 0;
 }
 
-int x86_cpuid_copy_to_buffer(const struct cpuid_policy *p,
+int x86_cpuid_copy_to_buffer(const struct cpu_policy *p,
                              cpuid_leaf_buffer_t leaves, uint32_t *nr_entries_p)
 {
     const uint32_t nr_entries = *nr_entries_p;
@@ -377,7 +377,7 @@ int x86_cpuid_copy_to_buffer(const struct cpuid_policy *p,
     return 0;
 }
 
-int x86_cpuid_copy_from_buffer(struct cpuid_policy *p,
+int x86_cpuid_copy_from_buffer(struct cpu_policy *p,
                                const cpuid_leaf_buffer_t leaves,
                                uint32_t nr_entries, uint32_t *err_leaf,
                                uint32_t *err_subleaf)
diff --git a/xen/lib/x86/msr.c b/xen/lib/x86/msr.c
index c4d885e7b568..e04b9ca01302 100644
--- a/xen/lib/x86/msr.c
+++ b/xen/lib/x86/msr.c
@@ -23,7 +23,7 @@ static int copy_msr_to_buffer(uint32_t idx, uint64_t val,
     return 0;
 }
 
-int x86_msr_copy_to_buffer(const struct msr_policy *p,
+int x86_msr_copy_to_buffer(const struct cpu_policy *p,
                            msr_entry_buffer_t msrs, uint32_t *nr_entries_p)
 {
     const uint32_t nr_entries = *nr_entries_p;
@@ -48,7 +48,7 @@ int x86_msr_copy_to_buffer(const struct msr_policy *p,
     return 0;
 }
 
-int x86_msr_copy_from_buffer(struct msr_policy *p,
+int x86_msr_copy_from_buffer(struct cpu_policy *p,
                              const msr_entry_buffer_t msrs, uint32_t nr_entries,
                              uint32_t *err_msr)
 {
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 20:52:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 20:52:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516352.800356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phclw-0006jS-5L; Wed, 29 Mar 2023 20:51:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516352.800356; Wed, 29 Mar 2023 20: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 1phclv-0006it-UZ; Wed, 29 Mar 2023 20:51:55 +0000
Received: by outflank-mailman (input) for mailman id 516352;
 Wed, 29 Mar 2023 20:51: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=PU7e=7V=citrix.com=prvs=445237bd4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phclu-0005Jv-Ib
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 20:51:54 +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 876ba61f-ce73-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 22:51:52 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 876ba61f-ce73-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680123112;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=nAB1CKgLZXI0dUASvR3vyS59U8+ZAIysWnLvIiLwXW8=;
  b=FFR79tXwrzz5hFWHHxz/adCbg2QVhOUOJ91OT2G5vy60WGPggbMojoeq
   wMjFsN0pj3QFDlmOPhP1CWNshqU8Ja1C+JkGifwi8a2+ak0nuONhWvE3t
   lQuSPFCW9vZR41tw6mdEklBHKGwjH2Oft6a+hGJjPb3kWpWwX7Md5BiTn
   c=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 102947419
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:NJ6q0KjWlfV70ttFrjZQ4SCQX161GhAKZh0ujC45NGQN5FlHY01je
 htvXGzQa6yPZWXweowlbdzg/B9S6JTWmoNrSgJr/Hw8Rn8b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wWPzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQDOW88cjvfldm13eucb/NyvuMHCubSadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/
 jiXozulW0By2Nq3ljyg+yisvvHzsRilBIE1Crfl2vg7qQjGroAUIEJPDgbqyRWjsWauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O88Q5RyJy6HUyx2EHWVCRTlEAPQ5sOcmSDps0
 UWG9+4FHhQ27ufTEyjEsO7J83XrY3N9wXI+iTEsVhpa0sXI/JMIjQ+WafN5DpaSqvvaIGSlq
 9yVlxTSl4n/nOZSifrqrACX3278znTaZlVrv1uKBwpJ+is8Pdf4PNLwtDA3+N4adO6kok+9U
 G/ociR0xMQHFtmzmSOEW43h95n5tq/eYFUwbbOCdqTNFghBGFb5J+i8GBkkeC9U3j8sIFcFm
 nP7twJL/4N0N3C3d6JxaI/ZI510nfC5TIi7Ca6EMIQmjn1NmOmvpnkGiam4gQjQfLUEy/lja
 f93j+73ZZrlNUiX5GXvHLpMuVPa7is/2XnSVfjG8vhT6pLHPCT9Ye5cYDOzghURsPvsTPP9r
 4wOaKNnCnx3DIXDX8Ug2dVNfQ1VcSBiXcmeRg4+XrfrHzeK0VoJU5f5qY7NsaQ/90iJvo8kJ
 k2AZ3I=
IronPort-HdrOrdr: A9a23:hjOZc6C+njLKiVPlHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="102947419"
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 RFC 0/9] x86: Merge cpuid and msr policy
Date: Wed, 29 Mar 2023 21:51:28 +0100
Message-ID: <20230329205137.323253-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

tl;dr to add MSR_ARCH_CAPS features sensibly, cpu_{featureset<->policy}() need
to not operate on objects of differing lifetimes, so structs
{cpuid,msr}_policy need merging and cpu_policy is the obvious name.

But this does mean that we now have

  cpu_policy->basic.$X
  cpu_policy->feat.$Y
  cpu_policy->arch_caps.$Z

and plenty of code now reads

  d->arch.cpu_policy->feat.$Y

instead of

  d->arch.cpuid->feat.$Y

The latter can be half-fixed with some union magic (see patch 9 commit
message).  The former can be fixed by putting cpuid/msr infixes in cpu_policy,
which is doable but very invasive, and would make plenty of code read

  d->arch.cpu_policy->cpuid.feat.$Y

and the two obviously shouldn't be done together.

So, RFC.  Does this code layout look ok?  If we want to make changes with
naming, now is very much the right time to get them sorted.

Patches 1-8 are pretty ready to go.  Patch 9 is the remainder to take out the
temporary hacks, and I'm still in the process of merging the system policy
derivation.

Andrew Cooper (9):
  x86: Rename struct cpu_policy to struct old_cpuid_policy
  x86: Rename {domctl,sysctl}.cpu_policy.{cpuid,msr_policy} fields
  x86: Rename struct cpuid_policy to struct cpu_policy
  x86: Merge struct msr_policy into struct cpu_policy
  x86: Merge the system {cpuid,msr} policy objects
  x86: Merge a domain's {cpuid,msr} policy objects
  x86: Merge xc_cpu_policy's cpuid and msr objects
  x86: Drop struct old_cpu_policy
  RFC: Everything else

 tools/fuzz/cpu-policy/afl-policy-fuzzer.c     |  15 +-
 .../fuzz/x86_instruction_emulator/fuzz-emul.c |   2 +-
 tools/libs/guest/xg_cpuid_x86.c               |  48 +-
 tools/libs/guest/xg_private.h                 |   5 +-
 tools/tests/cpu-policy/test-cpu-policy.c      |  50 +-
 tools/tests/tsx/test-tsx.c                    |  58 +-
 tools/tests/x86_emulator/Makefile             |   2 +-
 tools/tests/x86_emulator/test_x86_emulator.c  |   2 +-
 tools/tests/x86_emulator/x86-emulate.c        |   2 +-
 tools/tests/x86_emulator/x86-emulate.h        |   2 +-
 xen/arch/x86/Makefile                         |   1 +
 xen/arch/x86/cpu-policy.c                     |  67 +++
 xen/arch/x86/cpu/common.c                     |   4 +-
 xen/arch/x86/cpu/mcheck/mce_intel.c           |   2 +-
 xen/arch/x86/cpu/vpmu_intel.c                 |   4 +-
 xen/arch/x86/cpuid.c                          | 101 ++--
 xen/arch/x86/domain.c                         |  18 +-
 xen/arch/x86/domctl.c                         |  51 +-
 xen/arch/x86/hvm/emulate.c                    |   2 +-
 xen/arch/x86/hvm/hvm.c                        |  38 +-
 xen/arch/x86/hvm/ioreq.c                      |   4 +-
 xen/arch/x86/hvm/mtrr.c                       |   2 +-
 xen/arch/x86/hvm/svm/svm.c                    |  18 +-
 xen/arch/x86/hvm/svm/svmdebug.c               |   2 +-
 xen/arch/x86/hvm/vlapic.c                     |   2 +-
 xen/arch/x86/hvm/vmx/vmx.c                    |  12 +-
 xen/arch/x86/hvm/vmx/vvmx.c                   |   2 +-
 xen/arch/x86/include/asm/cpu-policy.h         |  18 +
 xen/arch/x86/include/asm/cpuid.h              |  10 -
 xen/arch/x86/include/asm/domain.h             |   4 +-
 xen/arch/x86/include/asm/guest_pt.h           |   4 +-
 xen/arch/x86/include/asm/msr.h                |  13 +-
 xen/arch/x86/include/asm/paging.h             |   2 +-
 xen/arch/x86/mm/mem_sharing.c                 |   3 +-
 xen/arch/x86/mm/shadow/hvm.c                  |   2 +-
 xen/arch/x86/msr.c                            |  98 +---
 xen/arch/x86/pv/domain.c                      |   2 +-
 xen/arch/x86/pv/emul-priv-op.c                |   6 +-
 xen/arch/x86/pv/ro-page-fault.c               |   2 +-
 xen/arch/x86/sysctl.c                         |  77 +--
 xen/arch/x86/traps.c                          |   2 +-
 xen/arch/x86/x86_emulate.c                    |   2 +-
 xen/arch/x86/x86_emulate/x86_emulate.c        | 166 +++---
 xen/arch/x86/x86_emulate/x86_emulate.h        |   6 +-
 xen/arch/x86/xstate.c                         |   4 +-
 xen/include/public/domctl.h                   |   4 +-
 xen/include/public/sysctl.h                   |   4 +-
 xen/include/xen/lib/x86/cpu-policy.h          | 540 +++++++++++++++++-
 xen/include/xen/lib/x86/cpuid.h               | 475 ---------------
 xen/include/xen/lib/x86/msr.h                 | 104 ----
 xen/lib/x86/cpuid.c                           |  12 +-
 xen/lib/x86/msr.c                             |   6 +-
 xen/lib/x86/policy.c                          |   8 +-
 53 files changed, 986 insertions(+), 1104 deletions(-)
 create mode 100644 xen/arch/x86/cpu-policy.c
 create mode 100644 xen/arch/x86/include/asm/cpu-policy.h
 delete mode 100644 xen/include/xen/lib/x86/cpuid.h
 delete mode 100644 xen/include/xen/lib/x86/msr.h

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 20:52:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 20:52:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516353.800370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phcly-0007FV-JP; Wed, 29 Mar 2023 20:51:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516353.800370; Wed, 29 Mar 2023 20:51: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 1phcly-0007FG-E4; Wed, 29 Mar 2023 20:51:58 +0000
Received: by outflank-mailman (input) for mailman id 516353;
 Wed, 29 Mar 2023 20:51: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=PU7e=7V=citrix.com=prvs=445237bd4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phclw-0005Jv-S4
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 20:51: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 898a2b0c-ce73-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 22:51:54 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 898a2b0c-ce73-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680123114;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=AC62e4fNE4D+/bp1TOidQW3qjNM3sXqT95rabMm92XE=;
  b=ONBBCpS2wVdyQ/b5rbg/38drHeUVHpnlCARRbaqfWCFjKzNWT67RNc0x
   Q5WaYA9KaS3K7IV+9UwUipK7u2Iq1+kKcKbsCoVk2xWJRsyIVmotirrtB
   k0mfLDYK9JHUG3Lw6pmmBmLlQsSATCWlpU63QJhs0zyPyR8BHfOSjUcB3
   8=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 102947421
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:SN0TmahwIWiENMxYkeHr0WpEX161GhAKZh0ujC45NGQN5FlHY01je
 htvWmCGa/+CMWOmfth2PoSypxxSsJeHmNNiHlY5qCszQnwb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wWPzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQDOW88cjvfldm13eucb/NyvuMHCubSadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/
 jiXozulWEhy2Nq34HmPzXOsu+P0k2DFda0VPYeb5KBGjwjGroAUIEJPDgbqyRWjsWauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O88Q5RyJy6HUyx2EHWVCRTlEAPQ5sOcmSDps0
 UWG9+4FHhQ27ufTEyjEsO7J83XrY3N9wXI+iTEsVhpa0sXI/JMIjQ+WafN5DpaSqvvaIGSlq
 9yVlxTSl4n/nOZSifrqrACX3278znTaZlVrv1uKBwpJ+is8Pdf4PNLwtDA3+N4adO6kok+9U
 G/ociR0xMQHFtmzmSOEW43h95n5tq/eYFUwbbOCdqTNFghBGFb5J+i8GBkkeC9U3j8sIFcFm
 nP7twJL/4N0N3C3d6JxaI/ZI510nfC5TIi7Ca6EMIQmjn1NmOmvpnkGiam4gQjQfLUEy/lja
 f93j+73ZZrlNUiX5GXvHLpMuVPa7is/2XnSVfjG8vhT6pLHPCT9Ye5cYDOzghURsPvsTPP9r
 4wOaKNnCnx3DIXDX8Ug2dVNfQ1VcSBiXcmeRg4+XrfrHzeK0VoJU5f5qY7NsaQ+90iJvo8kJ
 k2AZ3I=
IronPort-HdrOrdr: A9a23:bJj9n6ts80p+C33ddaAK4DIH7skDstV00zEX/kB9WHVpm6yj+v
 xG/c5rsCMc7Qx6ZJhOo7+90cW7L080lqQFg7X5X43DYOCOggLBQL2KhbGI/9SKIVycygcy78
 Zdm6gVMqyLMbB55/yKnTVRxbwbsaW6GKPDv5ag8590JzsaD52Jd21Ce36m+ksdfnggObMJUK
 Cyy+BgvDSadXEefq2AdwI4t7iqnaysqHr+CyR2fiIa1A==
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="102947421"
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 6/9] x86: Merge a domain's {cpuid,msr} policy objects
Date: Wed, 29 Mar 2023 21:51:34 +0100
Message-ID: <20230329205137.323253-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230329205137.323253-1-andrew.cooper3@citrix.com>
References: <20230329205137.323253-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Right now, they're the same underlying type, containing disjoint information.

Drop the d->arch.msr pointer, and union d->arch.cpuid to give it a second name
of cpu_policy in the interim.

Merge init_domain_{cpuid,msr}_policy() into a single init_domain_cpu_policy(),
moving the implementation into cpu-policy.c

No practical change, but this does half the memory allocated for a policy
information per domain.

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/cpu-policy.c             | 49 +++++++++++++++++++++++++
 xen/arch/x86/cpuid.c                  | 23 ------------
 xen/arch/x86/domain.c                 | 16 +++------
 xen/arch/x86/domctl.c                 | 35 +++++++++---------
 xen/arch/x86/include/asm/cpu-policy.h |  4 +++
 xen/arch/x86/include/asm/cpuid.h      |  3 --
 xen/arch/x86/include/asm/domain.h     |  7 ++--
 xen/arch/x86/include/asm/msr.h        |  1 -
 xen/arch/x86/mm/mem_sharing.c         |  3 +-
 xen/arch/x86/msr.c                    | 52 ++-------------------------
 10 files changed, 83 insertions(+), 110 deletions(-)

diff --git a/xen/arch/x86/cpu-policy.c b/xen/arch/x86/cpu-policy.c
index 663e9a084c53..e9ac1269c35a 100644
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -1,10 +1,13 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 #include <xen/cache.h>
 #include <xen/kernel.h>
+#include <xen/sched.h>
 
 #include <xen/lib/x86/cpu-policy.h>
 
 #include <asm/cpu-policy.h>
+#include <asm/msr-index.h>
+#include <asm/setup.h>
 
 struct cpu_policy __ro_after_init     raw_cpu_policy;
 struct cpu_policy __ro_after_init    host_cpu_policy;
@@ -16,3 +19,49 @@ struct cpu_policy __ro_after_init  pv_def_cpu_policy;
 struct cpu_policy __ro_after_init hvm_max_cpu_policy;
 struct cpu_policy __ro_after_init hvm_def_cpu_policy;
 #endif
+
+int init_domain_cpu_policy(struct domain *d)
+{
+    struct cpu_policy *p = is_pv_domain(d)
+        ? (IS_ENABLED(CONFIG_PV)  ?  &pv_def_cpu_policy : NULL)
+        : (IS_ENABLED(CONFIG_HVM) ? &hvm_def_cpu_policy : NULL);
+
+    if ( !p )
+    {
+        ASSERT_UNREACHABLE();
+        return -EOPNOTSUPP;
+    }
+
+    p = xmemdup(p);
+    if ( !p )
+        return -ENOMEM;
+
+    /* See comment in ctxt_switch_levelling() */
+    if ( !opt_dom0_cpuid_faulting && is_control_domain(d) && is_pv_domain(d) )
+        p->platform_info.cpuid_faulting = false;
+
+    /*
+     * Expose the "hardware speculation behaviour" bits of ARCH_CAPS to dom0,
+     * so dom0 can turn off workarounds as appropriate.  Temporary, until the
+     * domain policy logic gains a better understanding of MSRs.
+     */
+    if ( is_hardware_domain(d) && cpu_has_arch_caps )
+    {
+        uint64_t val;
+
+        rdmsrl(MSR_ARCH_CAPABILITIES, val);
+
+        p->arch_caps.raw = val &
+            (ARCH_CAPS_RDCL_NO | ARCH_CAPS_IBRS_ALL | ARCH_CAPS_RSBA |
+             ARCH_CAPS_SSB_NO | ARCH_CAPS_MDS_NO | ARCH_CAPS_IF_PSCHANGE_MC_NO |
+             ARCH_CAPS_TAA_NO | ARCH_CAPS_SBDR_SSDP_NO | ARCH_CAPS_FBSDP_NO |
+             ARCH_CAPS_PSDP_NO | ARCH_CAPS_FB_CLEAR | ARCH_CAPS_RRSBA |
+             ARCH_CAPS_BHI_NO | ARCH_CAPS_PBRSB_NO);
+    }
+
+    d->arch.cpu_policy = p;
+
+    recalculate_cpuid_policy(d);
+
+    return 0;
+}
diff --git a/xen/arch/x86/cpuid.c b/xen/arch/x86/cpuid.c
index 0916bfe175c8..df3e503ced9d 100644
--- a/xen/arch/x86/cpuid.c
+++ b/xen/arch/x86/cpuid.c
@@ -784,29 +784,6 @@ void recalculate_cpuid_policy(struct domain *d)
         p->extd.raw[0x19] = EMPTY_LEAF;
 }
 
-int init_domain_cpuid_policy(struct domain *d)
-{
-    struct cpuid_policy *p = is_pv_domain(d)
-        ? (IS_ENABLED(CONFIG_PV)  ?  &pv_def_cpu_policy : NULL)
-        : (IS_ENABLED(CONFIG_HVM) ? &hvm_def_cpu_policy : NULL);
-
-    if ( !p )
-    {
-        ASSERT_UNREACHABLE();
-        return -EOPNOTSUPP;
-    }
-
-    p = xmemdup(p);
-    if ( !p )
-        return -ENOMEM;
-
-    d->arch.cpuid = p;
-
-    recalculate_cpuid_policy(d);
-
-    return 0;
-}
-
 void __init init_dom0_cpuid_policy(struct domain *d)
 {
     struct cpuid_policy *p = d->arch.cpuid;
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index d5847f70f890..7cf66aee042c 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -66,6 +66,7 @@
 #ifdef CONFIG_COMPAT
 #include <compat/vcpu.h>
 #endif
+#include <asm/cpu-policy.h>
 #include <asm/psr.h>
 #include <asm/pv/domain.h>
 #include <asm/pv/mm.h>
@@ -573,7 +574,6 @@ int arch_vcpu_create(struct vcpu *v)
         /* Idle domain */
         v->arch.cr3 = __pa(idle_pg_table);
         rc = 0;
-        v->arch.msrs = ZERO_BLOCK_PTR; /* Catch stray misuses */
     }
 
     if ( rc )
@@ -743,8 +743,7 @@ int arch_domain_create(struct domain *d,
 
         d->arch.ctxt_switch = &idle_csw;
 
-        d->arch.cpuid = ZERO_BLOCK_PTR; /* Catch stray misuses. */
-        d->arch.msr = ZERO_BLOCK_PTR;
+        d->arch.cpu_policy = ZERO_BLOCK_PTR; /* Catch stray misuses. */
 
         return 0;
     }
@@ -799,10 +798,7 @@ int arch_domain_create(struct domain *d,
         goto fail;
     paging_initialised = true;
 
-    if ( (rc = init_domain_cpuid_policy(d)) )
-        goto fail;
-
-    if ( (rc = init_domain_msr_policy(d)) )
+    if ( (rc = init_domain_cpu_policy(d)) )
         goto fail;
 
     d->arch.ioport_caps =
@@ -873,8 +869,7 @@ int arch_domain_create(struct domain *d,
     iommu_domain_destroy(d);
     cleanup_domain_irq_mapping(d);
     free_xenheap_page(d->shared_info);
-    xfree(d->arch.cpuid);
-    xfree(d->arch.msr);
+    XFREE(d->arch.cpu_policy);
     if ( paging_initialised )
         paging_final_teardown(d);
     free_perdomain_mappings(d);
@@ -888,8 +883,7 @@ void arch_domain_destroy(struct domain *d)
         hvm_domain_destroy(d);
 
     xfree(d->arch.e820);
-    xfree(d->arch.cpuid);
-    xfree(d->arch.msr);
+    XFREE(d->arch.cpu_policy);
 
     free_domain_pirqs(d);
     if ( !is_idle_domain(d) )
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 5800bb10bc4a..81be25c67731 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -40,11 +40,11 @@
 static int update_domain_cpu_policy(struct domain *d,
                                     xen_domctl_cpu_policy_t *xdpc)
 {
-    struct old_cpu_policy new = {};
+    struct cpu_policy *new;
     struct cpu_policy *sys = is_pv_domain(d)
         ? (IS_ENABLED(CONFIG_PV)  ?  &pv_max_cpu_policy : NULL)
         : (IS_ENABLED(CONFIG_HVM) ? &hvm_max_cpu_policy : NULL);
-    struct old_cpu_policy old_sys = { sys, sys };
+    struct old_cpu_policy old_sys = { sys, sys }, old_new;
     struct cpu_policy_errors err = INIT_CPU_POLICY_ERRORS;
     int ret = -ENOMEM;
 
@@ -54,33 +54,33 @@ static int update_domain_cpu_policy(struct domain *d,
         return -EOPNOTSUPP;
     }
 
-    /* Start by copying the domain's existing policies. */
-    if ( !(new.cpuid = xmemdup(d->arch.cpuid)) ||
-         !(new.msr   = xmemdup(d->arch.msr)) )
+    /* Start by copying the domain's existing policy. */
+    if ( !(new = xmemdup(d->arch.cpu_policy)) )
         goto out;
 
+    old_new = (struct old_cpu_policy){ new, new };
+
     /* Merge the toolstack provided data. */
     if ( (ret = x86_cpuid_copy_from_buffer(
-              new.cpuid, xdpc->leaves, xdpc->nr_leaves,
+              new, xdpc->leaves, xdpc->nr_leaves,
               &err.leaf, &err.subleaf)) ||
          (ret = x86_msr_copy_from_buffer(
-              new.msr, xdpc->msrs, xdpc->nr_msrs, &err.msr)) )
+              new, xdpc->msrs, xdpc->nr_msrs, &err.msr)) )
         goto out;
 
     /* Trim any newly-stale out-of-range leaves. */
-    x86_cpuid_policy_clear_out_of_range_leaves(new.cpuid);
+    x86_cpuid_policy_clear_out_of_range_leaves(new);
 
     /* Audit the combined dataset. */
-    ret = x86_cpu_policies_are_compatible(&old_sys, &new, &err);
+    ret = x86_cpu_policies_are_compatible(&old_sys, &old_new, &err);
     if ( ret )
         goto out;
 
     /*
-     * Audit was successful.  Replace existing policies, leaving the old
-     * policies to be freed.
+     * Audit was successful.  Replace the existing policy, leaving the old one
+     * to be freed.
      */
-    SWAP(new.cpuid, d->arch.cpuid);
-    SWAP(new.msr,   d->arch.msr);
+    SWAP(new, d->arch.cpu_policy);
 
     /* TODO: Drop when x86_cpu_policies_are_compatible() is completed. */
     recalculate_cpuid_policy(d);
@@ -89,9 +89,8 @@ static int update_domain_cpu_policy(struct domain *d,
     domain_cpu_policy_changed(d);
 
  out:
-    /* Free whichever cpuid/msr structs are not installed in struct domain. */
-    xfree(new.cpuid);
-    xfree(new.msr);
+    /* Free whichever struct is not installed in struct domain. */
+    xfree(new);
 
     if ( ret )
     {
@@ -1327,7 +1326,7 @@ long arch_do_domctl(
         if ( guest_handle_is_null(domctl->u.cpu_policy.leaves) )
             domctl->u.cpu_policy.nr_leaves = CPUID_MAX_SERIALISED_LEAVES;
         else if ( (ret = x86_cpuid_copy_to_buffer(
-                       d->arch.cpuid,
+                       d->arch.cpu_policy,
                        domctl->u.cpu_policy.leaves,
                        &domctl->u.cpu_policy.nr_leaves)) )
             break;
@@ -1336,7 +1335,7 @@ long arch_do_domctl(
         if ( guest_handle_is_null(domctl->u.cpu_policy.msrs) )
             domctl->u.cpu_policy.nr_msrs = MSR_MAX_SERIALISED_ENTRIES;
         else if ( (ret = x86_msr_copy_to_buffer(
-                       d->arch.msr,
+                       d->arch.cpu_policy,
                        domctl->u.cpu_policy.msrs,
                        &domctl->u.cpu_policy.nr_msrs)) )
             break;
diff --git a/xen/arch/x86/include/asm/cpu-policy.h b/xen/arch/x86/include/asm/cpu-policy.h
index eef14bb4267e..9ba34bbf5ea1 100644
--- a/xen/arch/x86/include/asm/cpu-policy.h
+++ b/xen/arch/x86/include/asm/cpu-policy.h
@@ -3,6 +3,7 @@
 #define X86_CPU_POLICY_H
 
 struct cpu_policy;
+struct domain;
 
 extern struct cpu_policy     raw_cpu_policy;
 extern struct cpu_policy    host_cpu_policy;
@@ -11,4 +12,7 @@ extern struct cpu_policy  pv_def_cpu_policy;
 extern struct cpu_policy hvm_max_cpu_policy;
 extern struct cpu_policy hvm_def_cpu_policy;
 
+/* Allocate and initialise a CPU policy suitable for the domain. */
+int init_domain_cpu_policy(struct domain *d);
+
 #endif /* X86_CPU_POLICY_H */
diff --git a/xen/arch/x86/include/asm/cpuid.h b/xen/arch/x86/include/asm/cpuid.h
index ea0586277331..7f81b998ce01 100644
--- a/xen/arch/x86/include/asm/cpuid.h
+++ b/xen/arch/x86/include/asm/cpuid.h
@@ -49,9 +49,6 @@ extern struct cpuidmasks cpuidmask_defaults;
 /* Check that all previously present features are still available. */
 bool recheck_cpu_features(unsigned int cpu);
 
-/* Allocate and initialise a CPUID policy suitable for the domain. */
-int init_domain_cpuid_policy(struct domain *d);
-
 /* Apply dom0-specific tweaks to the CPUID policy. */
 void init_dom0_cpuid_policy(struct domain *d);
 
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index 17780ad9db2f..a1deab1d0dcc 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -386,9 +386,10 @@ struct arch_domain
      */
     uint8_t x87_fip_width;
 
-    /* CPUID and MSR policy objects. */
-    struct cpuid_policy *cpuid;
-    struct msr_policy *msr;
+    union {
+        struct cpu_policy *cpuid; /* Temporary */
+        struct cpu_policy *cpu_policy;
+    };
 
     struct PITState vpit;
 
diff --git a/xen/arch/x86/include/asm/msr.h b/xen/arch/x86/include/asm/msr.h
index 022230acc0af..b59a51d238a7 100644
--- a/xen/arch/x86/include/asm/msr.h
+++ b/xen/arch/x86/include/asm/msr.h
@@ -419,7 +419,6 @@ struct vcpu_msrs
 };
 
 void init_guest_msr_policy(void);
-int init_domain_msr_policy(struct domain *d);
 int init_vcpu_msr_policy(struct vcpu *v);
 
 /*
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 649d93dc5444..5b3449db7a11 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -1902,8 +1902,7 @@ static int fork(struct domain *cd, struct domain *d)
 
         domain_pause(d);
         cd->max_pages = d->max_pages;
-        *cd->arch.cpuid = *d->arch.cpuid;
-        *cd->arch.msr = *d->arch.msr;
+        *cd->arch.cpu_policy = *d->arch.cpu_policy;
         cd->vmtrace_size = d->vmtrace_size;
         cd->parent = d;
     }
diff --git a/xen/arch/x86/msr.c b/xen/arch/x86/msr.c
index bff26bc4e2b5..672961dd3ac1 100644
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -122,50 +122,6 @@ void __init init_guest_msr_policy(void)
     }
 }
 
-int init_domain_msr_policy(struct domain *d)
-{
-    struct msr_policy *mp = is_pv_domain(d)
-        ? (IS_ENABLED(CONFIG_PV)  ?  &pv_def_cpu_policy : NULL)
-        : (IS_ENABLED(CONFIG_HVM) ? &hvm_def_cpu_policy : NULL);
-
-    if ( !mp )
-    {
-        ASSERT_UNREACHABLE();
-        return -EOPNOTSUPP;
-    }
-
-    mp = xmemdup(mp);
-    if ( !mp )
-        return -ENOMEM;
-
-    /* See comment in ctxt_switch_levelling() */
-    if ( !opt_dom0_cpuid_faulting && is_control_domain(d) && is_pv_domain(d) )
-        mp->platform_info.cpuid_faulting = false;
-
-    /*
-     * Expose the "hardware speculation behaviour" bits of ARCH_CAPS to dom0,
-     * so dom0 can turn off workarounds as appropriate.  Temporary, until the
-     * domain policy logic gains a better understanding of MSRs.
-     */
-    if ( is_hardware_domain(d) && cpu_has_arch_caps )
-    {
-        uint64_t val;
-
-        rdmsrl(MSR_ARCH_CAPABILITIES, val);
-
-        mp->arch_caps.raw = val &
-            (ARCH_CAPS_RDCL_NO | ARCH_CAPS_IBRS_ALL | ARCH_CAPS_RSBA |
-             ARCH_CAPS_SSB_NO | ARCH_CAPS_MDS_NO | ARCH_CAPS_IF_PSCHANGE_MC_NO |
-             ARCH_CAPS_TAA_NO | ARCH_CAPS_SBDR_SSDP_NO | ARCH_CAPS_FBSDP_NO |
-             ARCH_CAPS_PSDP_NO | ARCH_CAPS_FB_CLEAR | ARCH_CAPS_RRSBA |
-             ARCH_CAPS_BHI_NO | ARCH_CAPS_PBRSB_NO);
-    }
-
-    d->arch.msr = mp;
-
-    return 0;
-}
-
 int init_vcpu_msr_policy(struct vcpu *v)
 {
     struct vcpu_msrs *msrs = xzalloc(struct vcpu_msrs);
@@ -183,7 +139,6 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
     const struct vcpu *curr = current;
     const struct domain *d = v->domain;
     const struct cpuid_policy *cp = d->arch.cpuid;
-    const struct msr_policy *mp = d->arch.msr;
     const struct vcpu_msrs *msrs = v->arch.msrs;
     int ret = X86EMUL_OKAY;
 
@@ -267,13 +222,13 @@ int guest_rdmsr(struct vcpu *v, uint32_t msr, uint64_t *val)
         goto get_reg;
 
     case MSR_INTEL_PLATFORM_INFO:
-        *val = mp->platform_info.raw;
+        *val = cp->platform_info.raw;
         break;
 
     case MSR_ARCH_CAPABILITIES:
         if ( !cp->feat.arch_caps )
             goto gp_fault;
-        *val = mp->arch_caps.raw;
+        *val = cp->arch_caps.raw;
         break;
 
     case MSR_INTEL_MISC_FEATURES_ENABLES:
@@ -474,7 +429,6 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
     const struct vcpu *curr = current;
     struct domain *d = v->domain;
     const struct cpuid_policy *cp = d->arch.cpuid;
-    const struct msr_policy *mp = d->arch.msr;
     struct vcpu_msrs *msrs = v->arch.msrs;
     int ret = X86EMUL_OKAY;
 
@@ -574,7 +528,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t msr, uint64_t val)
         bool old_cpuid_faulting = msrs->misc_features_enables.cpuid_faulting;
 
         rsvd = ~0ull;
-        if ( mp->platform_info.cpuid_faulting )
+        if ( cp->platform_info.cpuid_faulting )
             rsvd &= ~MSR_MISC_FEATURES_CPUID_FAULTING;
 
         if ( val & rsvd )
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 20:52:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 20:52:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516354.800381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phcm0-0007XW-0X; Wed, 29 Mar 2023 20:52:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516354.800381; Wed, 29 Mar 2023 20:51: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 1phclz-0007WG-QD; Wed, 29 Mar 2023 20:51:59 +0000
Received: by outflank-mailman (input) for mailman id 516354;
 Wed, 29 Mar 2023 20:51: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=PU7e=7V=citrix.com=prvs=445237bd4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phcly-0007Dz-8d
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 20:51:58 +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 89a00536-ce73-11ed-85db-49a42c6b2330;
 Wed, 29 Mar 2023 22:51:55 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 89a00536-ce73-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680123115;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=eSeAliY8stK5FpKU+Y8ZX7tSMz7VhD1iswPu1xQrQJA=;
  b=ctMnwzR3o056tr02fyy5vTdp6RcmkcYlYKqXJUoxIPSmYTBOh0r71BGR
   fanAHcUPG3S6a2UfTgs4yYejYjC0S777YDGkW02CqK07ZFHilTWcKW1ov
   kiCD10AyVWDLWmX1dSSveFRBMturMywwK3tH0YANBgEovqQhjnQAoU/wT
   E=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 102947420
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:qOyLZqucfHQNWnEPHRrymQltA+fnVCxeMUV32f8akzHdYApBsoF/q
 tZmKW6GPayKNmL9eNF2Yd/go0MEscLXydZjTgs4qH1gFC8U+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASExiFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwMyFSXwyo2/CNw6/ibcx2mPwECO/EBdZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkARfA5NU/rSn8/x7pX7WxRepEiYuuwc5G/LwRYq+LPsLMDUapqBQsA9ckOw/
 zqcrjimXktCXDCZ4RSU3FK8lODgoSKlZIQMLaS30qU2snTGkwT/DzVJDADm8JFVkHWWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8UYwgyQzqvf4y6CG3MJCDVGbbQOq8seVTEsk
 FiTkLvU6SdH6ePPDyjHr/HN8G30YHJORYMfWcMaZRAUvOj/i90htRHSF/FGCrCNqfnTNgill
 lhmsxMCa6UvYd8jjvvkrAGX027w9vAlXSZuuFyJAzvNAhdRIdf8Otf2sQWzAeNodt7xc7WXg
 JQTdyFyBsgqBIrFqiGCSf5l8FqBt6fca220bbKC8vAcG9WRF52LJ9o4DMlWfhsBDyr9UWaBj
 LXvkQ1Q/oRPG3ChcLV6ZYm8Y+xzk/i4TI25CK+KPoQQCnSUSONh1Hs2DaJ39z6FraTRuftnZ
 cfznTiEVh729piLPBLpHrxAgNfHNwg1xH/JRICT8ilLJYG2PSbPIZ9caQvmUwzMxP/cyOkj2
 4oFZpTiJtQ2eLGWXxQ7BqZIcwBXciRjXMivwyGVH8baSjdb9KgaI6e56dscl0ZNxMy5Ss+gE
 qmBZ3Jl
IronPort-HdrOrdr: A9a23:ljlk3qtCu5TIRwrkBKfFlEva7skDstV00zEX/kB9WHVpm6yj+v
 xG/c5rsCMc7Qx6ZJhOo7+90cW7L080lqQFg7X5X43DYOCOggLBQL2KhbGI/9SKIVycygcy78
 Zdm6gVMqyLMbB55/yKnTVRxbwbsaW6GKPDv5ag8590JzsaD52Jd21Ce36m+ksdfnggObMJUK
 Cyy+BgvDSadXEefq2AdwI4t7iqnaysqHr+CyR2fiIa1A==
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="102947420"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
	<JBeulich@suse.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: [PATCH 3/9] x86: Rename struct cpuid_policy to struct cpu_policy
Date: Wed, 29 Mar 2023 21:51:31 +0100
Message-ID: <20230329205137.323253-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230329205137.323253-1-andrew.cooper3@citrix.com>
References: <20230329205137.323253-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Also merge lib/x86/cpuid.h entirely into lib/x86/cpu-policy.h

Use a temporary define to make struct cpuid_policy still work.

There's one forward declaration of struct cpuid_policy in
tools/tests/x86_emulator/x86-emulate.h that isn't covered by the define, and
it's easier to rename that now than to rearrange the includes.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/fuzz/cpu-policy/afl-policy-fuzzer.c |   2 +-
 tools/tests/x86_emulator/Makefile         |   2 +-
 tools/tests/x86_emulator/x86-emulate.h    |   2 +-
 xen/arch/x86/include/asm/cpuid.h          |   1 -
 xen/arch/x86/x86_emulate/x86_emulate.h    |   2 +-
 xen/include/xen/lib/x86/cpu-policy.h      | 463 ++++++++++++++++++++-
 xen/include/xen/lib/x86/cpuid.h           | 475 ----------------------
 xen/lib/x86/cpuid.c                       |   2 +-
 8 files changed, 467 insertions(+), 482 deletions(-)
 delete mode 100644 xen/include/xen/lib/x86/cpuid.h

diff --git a/tools/fuzz/cpu-policy/afl-policy-fuzzer.c b/tools/fuzz/cpu-policy/afl-policy-fuzzer.c
index 7d0f274c6cdd..79e42e8bfd04 100644
--- a/tools/fuzz/cpu-policy/afl-policy-fuzzer.c
+++ b/tools/fuzz/cpu-policy/afl-policy-fuzzer.c
@@ -9,7 +9,7 @@
 #include <getopt.h>
 
 #include <xen-tools/common-macros.h>
-#include <xen/lib/x86/cpuid.h>
+#include <xen/lib/x86/cpu-policy.h>
 #include <xen/lib/x86/msr.h>
 #include <xen/domctl.h>
 
diff --git a/tools/tests/x86_emulator/Makefile b/tools/tests/x86_emulator/Makefile
index 7b07c31bbde4..2f7c58040004 100644
--- a/tools/tests/x86_emulator/Makefile
+++ b/tools/tests/x86_emulator/Makefile
@@ -286,7 +286,7 @@ HOSTCFLAGS += $(CFLAGS_xeninclude) -I. $(HOSTCFLAGS-$(XEN_COMPILE_ARCH))
 x86.h := $(addprefix $(XEN_ROOT)/tools/include/xen/asm/,\
                      x86-vendors.h x86-defns.h msr-index.h) \
          $(addprefix $(XEN_ROOT)/tools/include/xen/lib/x86/, \
-                     cpuid.h cpuid-autogen.h)
+                     cpu-policy.h)
 x86_emulate.h := x86-emulate.h x86_emulate/x86_emulate.h $(x86.h)
 
 x86-emulate.o cpuid.o test_x86_emulator.o evex-disp8.o predicates.o wrappers.o: %.o: %.c $(x86_emulate.h)
diff --git a/tools/tests/x86_emulator/x86-emulate.h b/tools/tests/x86_emulator/x86-emulate.h
index 1af986f78d16..19544b0b3a8a 100644
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -65,7 +65,7 @@
 #define is_canonical_address(x) (((int64_t)(x) >> 47) == ((int64_t)(x) >> 63))
 
 extern uint32_t mxcsr_mask;
-extern struct cpuid_policy cp;
+extern struct cpu_policy cp;
 
 #define MMAP_SZ 16384
 bool emul_test_init(void);
diff --git a/xen/arch/x86/include/asm/cpuid.h b/xen/arch/x86/include/asm/cpuid.h
index 49b3128f06f9..d418e8100dde 100644
--- a/xen/arch/x86/include/asm/cpuid.h
+++ b/xen/arch/x86/include/asm/cpuid.h
@@ -9,7 +9,6 @@
 #include <xen/percpu.h>
 
 #include <xen/lib/x86/cpu-policy.h>
-#include <xen/lib/x86/cpuid.h>
 
 #include <public/sysctl.h>
 
diff --git a/xen/arch/x86/x86_emulate/x86_emulate.h b/xen/arch/x86/x86_emulate/x86_emulate.h
index bb7af967ffee..75015104fbdb 100644
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -23,7 +23,7 @@
 #ifndef __X86_EMULATE_H__
 #define __X86_EMULATE_H__
 
-#include <xen/lib/x86/cpuid.h>
+#include <xen/lib/x86/cpu-policy.h>
 
 #define MAX_INST_LEN 15
 
diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
index 3a5300d1078c..5e430d848021 100644
--- a/xen/include/xen/lib/x86/cpu-policy.h
+++ b/xen/include/xen/lib/x86/cpu-policy.h
@@ -2,9 +2,342 @@
 #ifndef XEN_LIB_X86_POLICIES_H
 #define XEN_LIB_X86_POLICIES_H
 
-#include <xen/lib/x86/cpuid.h>
+#include <xen/lib/x86/cpuid-autogen.h>
 #include <xen/lib/x86/msr.h>
 
+#define FEATURESET_1d     0 /* 0x00000001.edx      */
+#define FEATURESET_1c     1 /* 0x00000001.ecx      */
+#define FEATURESET_e1d    2 /* 0x80000001.edx      */
+#define FEATURESET_e1c    3 /* 0x80000001.ecx      */
+#define FEATURESET_Da1    4 /* 0x0000000d:1.eax    */
+#define FEATURESET_7b0    5 /* 0x00000007:0.ebx    */
+#define FEATURESET_7c0    6 /* 0x00000007:0.ecx    */
+#define FEATURESET_e7d    7 /* 0x80000007.edx      */
+#define FEATURESET_e8b    8 /* 0x80000008.ebx      */
+#define FEATURESET_7d0    9 /* 0x00000007:0.edx    */
+#define FEATURESET_7a1   10 /* 0x00000007:1.eax    */
+#define FEATURESET_e21a  11 /* 0x80000021.eax      */
+#define FEATURESET_7b1   12 /* 0x00000007:1.ebx    */
+#define FEATURESET_7d2   13 /* 0x00000007:2.edx    */
+#define FEATURESET_7c1   14 /* 0x00000007:1.ecx    */
+#define FEATURESET_7d1   15 /* 0x00000007:1.edx    */
+
+struct cpuid_leaf
+{
+    uint32_t a, b, c, d;
+};
+
+/*
+ * Versions of GCC before 5 unconditionally reserve %rBX as the PIC hard
+ * register, and are unable to cope with spilling it.  This results in a
+ * rather cryptic error:
+ *    error: inconsistent operand constraints in an ‘asm’
+ *
+ * In affected situations, work around the issue by using a separate register
+ * to hold the the %rBX output, and xchg twice to leave %rBX preserved around
+ * the asm() statement.
+ */
+#if defined(__PIC__) && __GNUC__ < 5 && !defined(__clang__) && defined(__i386__)
+# define XCHG_BX "xchg %%ebx, %[bx];"
+# define BX_CON [bx] "=&r"
+#elif defined(__PIC__) && __GNUC__ < 5 && !defined(__clang__) && \
+    defined(__x86_64__) && (defined(__code_model_medium__) || \
+                            defined(__code_model_large__))
+# define XCHG_BX "xchg %%rbx, %q[bx];"
+# define BX_CON [bx] "=&r"
+#else
+# define XCHG_BX ""
+# define BX_CON "=&b"
+#endif
+
+static inline void cpuid_leaf(uint32_t leaf, struct cpuid_leaf *l)
+{
+    asm ( XCHG_BX
+          "cpuid;"
+          XCHG_BX
+          : "=a" (l->a), BX_CON (l->b), "=&c" (l->c), "=&d" (l->d)
+          : "a" (leaf) );
+}
+
+static inline void cpuid_count_leaf(
+    uint32_t leaf, uint32_t subleaf, struct cpuid_leaf *l)
+{
+    asm ( XCHG_BX
+          "cpuid;"
+          XCHG_BX
+          : "=a" (l->a), BX_CON (l->b), "=c" (l->c), "=&d" (l->d)
+          : "a" (leaf), "c" (subleaf) );
+}
+
+#undef BX_CON
+#undef XCHG
+
+/**
+ * Given the vendor id from CPUID leaf 0, look up Xen's internal integer
+ * vendor ID.  Returns X86_VENDOR_UNKNOWN for any unknown vendor.
+ */
+unsigned int x86_cpuid_lookup_vendor(uint32_t ebx, uint32_t ecx, uint32_t edx);
+
+/**
+ * Given Xen's internal vendor ID, return a string suitable for printing.
+ * Returns "Unknown" for any unrecognised ID.
+ */
+const char *x86_cpuid_vendor_to_str(unsigned int vendor);
+
+#define CPUID_GUEST_NR_BASIC      (0xdu + 1)
+#define CPUID_GUEST_NR_CACHE      (5u + 1)
+#define CPUID_GUEST_NR_FEAT       (2u + 1)
+#define CPUID_GUEST_NR_TOPO       (1u + 1)
+#define CPUID_GUEST_NR_XSTATE     (62u + 1)
+#define CPUID_GUEST_NR_EXTD_INTEL (0x8u + 1)
+#define CPUID_GUEST_NR_EXTD_AMD   (0x21u + 1)
+#define CPUID_GUEST_NR_EXTD       MAX(CPUID_GUEST_NR_EXTD_INTEL, \
+                                      CPUID_GUEST_NR_EXTD_AMD)
+
+/*
+ * Maximum number of leaves a struct cpuid_policy turns into when serialised
+ * for interaction with the toolstack.  (Sum of all leaves in each union, less
+ * the entries in basic which sub-unions hang off of.)
+ */
+#define CPUID_MAX_SERIALISED_LEAVES                     \
+    (CPUID_GUEST_NR_BASIC +                             \
+     CPUID_GUEST_NR_FEAT   - !!CPUID_GUEST_NR_FEAT +    \
+     CPUID_GUEST_NR_CACHE  - !!CPUID_GUEST_NR_CACHE +   \
+     CPUID_GUEST_NR_TOPO   - !!CPUID_GUEST_NR_TOPO +    \
+     CPUID_GUEST_NR_XSTATE - !!CPUID_GUEST_NR_XSTATE +  \
+     CPUID_GUEST_NR_EXTD + 2 /* hv_limit and hv2_limit */ )
+
+struct cpu_policy
+{
+#define DECL_BITFIELD(word) _DECL_BITFIELD(FEATURESET_ ## word)
+#define _DECL_BITFIELD(x)   __DECL_BITFIELD(x)
+#define __DECL_BITFIELD(x)  CPUID_BITFIELD_ ## x
+
+    /* Basic leaves: 0x000000xx */
+    union {
+        struct cpuid_leaf raw[CPUID_GUEST_NR_BASIC];
+        struct {
+            /* Leaf 0x0 - Max and vendor. */
+            uint32_t max_leaf, vendor_ebx, vendor_ecx, vendor_edx;
+
+            /* Leaf 0x1 - Family/model/stepping and features. */
+            uint32_t raw_fms;
+            uint8_t :8,       /* Brand ID. */
+                clflush_size, /* Number of 8-byte blocks per cache line. */
+                lppp,         /* Logical processors per package. */
+                apic_id;      /* Initial APIC ID. */
+            union {
+                uint32_t _1c;
+                struct { DECL_BITFIELD(1c); };
+            };
+            union {
+                uint32_t _1d;
+                struct { DECL_BITFIELD(1d); };
+            };
+
+            /* Leaf 0x2 - TLB/Cache/Prefetch. */
+            uint8_t l2_nr_queries; /* Documented as fixed to 1. */
+            uint8_t l2_desc[15];
+
+            uint64_t :64, :64; /* Leaf 0x3 - PSN. */
+            uint64_t :64, :64; /* Leaf 0x4 - Structured Cache. */
+            uint64_t :64, :64; /* Leaf 0x5 - MONITOR. */
+            uint64_t :64, :64; /* Leaf 0x6 - Therm/Perf. */
+            uint64_t :64, :64; /* Leaf 0x7 - Structured Features. */
+            uint64_t :64, :64; /* Leaf 0x8 - rsvd */
+            uint64_t :64, :64; /* Leaf 0x9 - DCA */
+
+            /* Leaf 0xa - Intel PMU. */
+            uint8_t pmu_version, _pmu[15];
+
+            uint64_t :64, :64; /* Leaf 0xb - Topology. */
+            uint64_t :64, :64; /* Leaf 0xc - rsvd */
+            uint64_t :64, :64; /* Leaf 0xd - XSTATE. */
+        };
+    } basic;
+
+    /* Structured cache leaf: 0x00000004[xx] */
+    union {
+        struct cpuid_leaf raw[CPUID_GUEST_NR_CACHE];
+        struct cpuid_cache_leaf {
+            uint32_t /* a */ type:5, level:3;
+            bool self_init:1, fully_assoc:1;
+            uint32_t :4, threads_per_cache:12, cores_per_package:6;
+            uint32_t /* b */ line_size:12, partitions:10, ways:10;
+            uint32_t /* c */ sets;
+            bool /* d */ wbinvd:1, inclusive:1, complex:1;
+        } subleaf[CPUID_GUEST_NR_CACHE];
+    } cache;
+
+    /* Structured feature leaf: 0x00000007[xx] */
+    union {
+        struct cpuid_leaf raw[CPUID_GUEST_NR_FEAT];
+        struct {
+            /* Subleaf 0. */
+            uint32_t max_subleaf;
+            union {
+                uint32_t _7b0;
+                struct { DECL_BITFIELD(7b0); };
+            };
+            union {
+                uint32_t _7c0;
+                struct { DECL_BITFIELD(7c0); };
+            };
+            union {
+                uint32_t _7d0;
+                struct { DECL_BITFIELD(7d0); };
+            };
+
+            /* Subleaf 1. */
+            union {
+                uint32_t _7a1;
+                struct { DECL_BITFIELD(7a1); };
+            };
+            union {
+                uint32_t _7b1;
+                struct { DECL_BITFIELD(7b1); };
+            };
+            union {
+                uint32_t _7c1;
+                struct { DECL_BITFIELD(7c1); };
+            };
+            union {
+                uint32_t _7d1;
+                struct { DECL_BITFIELD(7d1); };
+            };
+
+            /* Subleaf 2. */
+            uint32_t /* a */:32, /* b */:32, /* c */:32;
+            union {
+                uint32_t _7d2;
+                struct { DECL_BITFIELD(7d2); };
+            };
+        };
+    } feat;
+
+    /* Extended topology enumeration: 0x0000000B[xx] */
+    union {
+        struct cpuid_leaf raw[CPUID_GUEST_NR_TOPO];
+        struct cpuid_topo_leaf {
+            uint32_t id_shift:5, :27;
+            uint16_t nr_logical, :16;
+            uint8_t level, type, :8, :8;
+            uint32_t x2apic_id;
+        } subleaf[CPUID_GUEST_NR_TOPO];
+    } topo;
+
+    /* Xstate feature leaf: 0x0000000D[xx] */
+    union {
+        struct cpuid_leaf raw[CPUID_GUEST_NR_XSTATE];
+
+        struct {
+            /* Subleaf 0. */
+            uint32_t xcr0_low, /* b */:32, max_size, xcr0_high;
+
+            /* Subleaf 1. */
+            union {
+                uint32_t Da1;
+                struct { DECL_BITFIELD(Da1); };
+            };
+            uint32_t /* b */:32, xss_low, xss_high;
+        };
+
+        /* Per-component common state.  Valid for i >= 2. */
+        struct {
+            uint32_t size, offset;
+            bool xss:1, align:1;
+            uint32_t _res_d;
+        } comp[CPUID_GUEST_NR_XSTATE];
+    } xstate;
+
+    /* Extended leaves: 0x800000xx */
+    union {
+        struct cpuid_leaf raw[CPUID_GUEST_NR_EXTD];
+        struct {
+            /* Leaf 0x80000000 - Max and vendor. */
+            uint32_t max_leaf, vendor_ebx, vendor_ecx, vendor_edx;
+
+            /* Leaf 0x80000001 - Family/model/stepping and features. */
+            uint32_t raw_fms, /* b */:32;
+            union {
+                uint32_t e1c;
+                struct { DECL_BITFIELD(e1c); };
+            };
+            union {
+                uint32_t e1d;
+                struct { DECL_BITFIELD(e1d); };
+            };
+
+            uint64_t :64, :64; /* Brand string. */
+            uint64_t :64, :64; /* Brand string. */
+            uint64_t :64, :64; /* Brand string. */
+            uint64_t :64, :64; /* L1 cache/TLB. */
+            uint64_t :64, :64; /* L2/3 cache/TLB. */
+
+            /* Leaf 0x80000007 - Advanced Power Management. */
+            uint32_t /* a */:32, /* b */:32, /* c */:32;
+            union {
+                uint32_t e7d;
+                struct { DECL_BITFIELD(e7d); };
+            };
+
+            /* Leaf 0x80000008 - Misc addr/feature info. */
+            uint8_t maxphysaddr, maxlinaddr, :8, :8;
+            union {
+                uint32_t e8b;
+                struct { DECL_BITFIELD(e8b); };
+            };
+            uint32_t nc:8, :4, apic_id_size:4, :16;
+            uint32_t /* d */:32;
+
+            uint64_t :64, :64; /* Leaf 0x80000009. */
+            uint64_t :64, :64; /* Leaf 0x8000000a - SVM rev and features. */
+            uint64_t :64, :64; /* Leaf 0x8000000b. */
+            uint64_t :64, :64; /* Leaf 0x8000000c. */
+            uint64_t :64, :64; /* Leaf 0x8000000d. */
+            uint64_t :64, :64; /* Leaf 0x8000000e. */
+            uint64_t :64, :64; /* Leaf 0x8000000f. */
+            uint64_t :64, :64; /* Leaf 0x80000010. */
+            uint64_t :64, :64; /* Leaf 0x80000011. */
+            uint64_t :64, :64; /* Leaf 0x80000012. */
+            uint64_t :64, :64; /* Leaf 0x80000013. */
+            uint64_t :64, :64; /* Leaf 0x80000014. */
+            uint64_t :64, :64; /* Leaf 0x80000015. */
+            uint64_t :64, :64; /* Leaf 0x80000016. */
+            uint64_t :64, :64; /* Leaf 0x80000017. */
+            uint64_t :64, :64; /* Leaf 0x80000018. */
+            uint64_t :64, :64; /* Leaf 0x80000019 - TLB 1GB Identifiers. */
+            uint64_t :64, :64; /* Leaf 0x8000001a - Performance related info. */
+            uint64_t :64, :64; /* Leaf 0x8000001b - IBS feature information. */
+            uint64_t :64, :64; /* Leaf 0x8000001c. */
+            uint64_t :64, :64; /* Leaf 0x8000001d - Cache properties. */
+            uint64_t :64, :64; /* Leaf 0x8000001e - Extd APIC/Core/Node IDs. */
+            uint64_t :64, :64; /* Leaf 0x8000001f - AMD Secure Encryption. */
+            uint64_t :64, :64; /* Leaf 0x80000020 - Platform QoS. */
+
+            /* Leaf 0x80000021 - Extended Feature 2 */
+            union {
+                uint32_t e21a;
+                struct { DECL_BITFIELD(e21a); };
+            };
+            uint32_t /* b */:32, /* c */:32, /* d */:32;
+        };
+    } extd;
+
+#undef __DECL_BITFIELD
+#undef _DECL_BITFIELD
+#undef DECL_BITFIELD
+
+    /* Toolstack selected Hypervisor max_leaf (if non-zero). */
+    uint8_t hv_limit, hv2_limit;
+
+    /* Value calculated from raw data above. */
+    uint8_t x86_vendor;
+};
+
+/* Temporary */
+#define cpuid_policy cpu_policy
+
 struct old_cpu_policy
 {
     struct cpuid_policy *cpuid;
@@ -19,6 +352,134 @@ struct cpu_policy_errors
 
 #define INIT_CPU_POLICY_ERRORS { -1, -1, -1 }
 
+/* Fill in a featureset bitmap from a CPUID policy. */
+static inline void cpuid_policy_to_featureset(
+    const struct cpuid_policy *p, uint32_t fs[FEATURESET_NR_ENTRIES])
+{
+    fs[FEATURESET_1d]  = p->basic._1d;
+    fs[FEATURESET_1c]  = p->basic._1c;
+    fs[FEATURESET_e1d] = p->extd.e1d;
+    fs[FEATURESET_e1c] = p->extd.e1c;
+    fs[FEATURESET_Da1] = p->xstate.Da1;
+    fs[FEATURESET_7b0] = p->feat._7b0;
+    fs[FEATURESET_7c0] = p->feat._7c0;
+    fs[FEATURESET_e7d] = p->extd.e7d;
+    fs[FEATURESET_e8b] = p->extd.e8b;
+    fs[FEATURESET_7d0] = p->feat._7d0;
+    fs[FEATURESET_7a1] = p->feat._7a1;
+    fs[FEATURESET_e21a] = p->extd.e21a;
+    fs[FEATURESET_7b1] = p->feat._7b1;
+    fs[FEATURESET_7d2] = p->feat._7d2;
+    fs[FEATURESET_7c1] = p->feat._7c1;
+    fs[FEATURESET_7d1] = p->feat._7d1;
+}
+
+/* Fill in a CPUID policy from a featureset bitmap. */
+static inline void cpuid_featureset_to_policy(
+    const uint32_t fs[FEATURESET_NR_ENTRIES], struct cpuid_policy *p)
+{
+    p->basic._1d  = fs[FEATURESET_1d];
+    p->basic._1c  = fs[FEATURESET_1c];
+    p->extd.e1d   = fs[FEATURESET_e1d];
+    p->extd.e1c   = fs[FEATURESET_e1c];
+    p->xstate.Da1 = fs[FEATURESET_Da1];
+    p->feat._7b0  = fs[FEATURESET_7b0];
+    p->feat._7c0  = fs[FEATURESET_7c0];
+    p->extd.e7d   = fs[FEATURESET_e7d];
+    p->extd.e8b   = fs[FEATURESET_e8b];
+    p->feat._7d0  = fs[FEATURESET_7d0];
+    p->feat._7a1  = fs[FEATURESET_7a1];
+    p->extd.e21a  = fs[FEATURESET_e21a];
+    p->feat._7b1  = fs[FEATURESET_7b1];
+    p->feat._7d2  = fs[FEATURESET_7d2];
+    p->feat._7c1  = fs[FEATURESET_7c1];
+    p->feat._7d1  = fs[FEATURESET_7d1];
+}
+
+static inline uint64_t cpuid_policy_xcr0_max(const struct cpuid_policy *p)
+{
+    return ((uint64_t)p->xstate.xcr0_high << 32) | p->xstate.xcr0_low;
+}
+
+static inline uint64_t cpuid_policy_xstates(const struct cpuid_policy *p)
+{
+    uint64_t val = p->xstate.xcr0_high | p->xstate.xss_high;
+
+    return (val << 32) | p->xstate.xcr0_low | p->xstate.xss_low;
+}
+
+const uint32_t *x86_cpuid_lookup_deep_deps(uint32_t feature);
+
+/**
+ * Recalculate the content in a CPUID policy which is derived from raw data.
+ */
+void x86_cpuid_policy_recalc_synth(struct cpuid_policy *p);
+
+/**
+ * Fill a CPUID policy using the native CPUID instruction.
+ *
+ * No sanitisation is performed, but synthesised values are calculated.
+ * Values may be influenced by a hypervisor or from masking/faulting
+ * configuration.
+ */
+void x86_cpuid_policy_fill_native(struct cpuid_policy *p);
+
+/**
+ * Clear leaf data beyond the policies max leaf/subleaf settings.
+ *
+ * Policy serialisation purposefully omits out-of-range leaves, because there
+ * are a large number of them due to vendor differences.  However, when
+ * constructing new policies (e.g. levelling down), it is possible to end up
+ * with out-of-range leaves with stale content in them.  This helper clears
+ * them.
+ */
+void x86_cpuid_policy_clear_out_of_range_leaves(struct cpuid_policy *p);
+
+#ifdef __XEN__
+#include <public/arch-x86/xen.h>
+typedef XEN_GUEST_HANDLE_64(xen_cpuid_leaf_t) cpuid_leaf_buffer_t;
+#else
+#include <xen/arch-x86/xen.h>
+typedef xen_cpuid_leaf_t cpuid_leaf_buffer_t[];
+#endif
+
+/**
+ * Serialise a cpuid_policy object into an array of cpuid leaves.
+ *
+ * @param policy     The cpuid_policy to serialise.
+ * @param leaves     The array of leaves to serialise into.
+ * @param nr_entries The number of entries in 'leaves'.
+ * @returns -errno
+ *
+ * Writes at most CPUID_MAX_SERIALISED_LEAVES.  May fail with -ENOBUFS if the
+ * leaves array is too short.  On success, nr_entries is updated with the
+ * actual number of leaves written.
+ */
+int x86_cpuid_copy_to_buffer(const struct cpuid_policy *policy,
+                             cpuid_leaf_buffer_t leaves, uint32_t *nr_entries);
+
+/**
+ * Unserialise a cpuid_policy object from an array of cpuid leaves.
+ *
+ * @param policy      The cpuid_policy to unserialise into.
+ * @param leaves      The array of leaves to unserialise from.
+ * @param nr_entries  The number of entries in 'leaves'.
+ * @param err_leaf    Optional hint for error diagnostics.
+ * @param err_subleaf Optional hint for error diagnostics.
+ * @returns -errno
+ *
+ * Reads at most CPUID_MAX_SERIALISED_LEAVES.  May return -ERANGE if an
+ * incoming leaf is out of range of cpuid_policy, in which case the optional
+ * err_* pointers will identify the out-of-range indicies.
+ *
+ * No content validation of in-range leaves is performed.  Synthesised data is
+ * recalculated.
+ */
+int x86_cpuid_copy_from_buffer(struct cpuid_policy *policy,
+                               const cpuid_leaf_buffer_t leaves,
+                               uint32_t nr_entries, uint32_t *err_leaf,
+                               uint32_t *err_subleaf);
+
 /*
  * Calculate whether two policies are compatible.
  *
diff --git a/xen/include/xen/lib/x86/cpuid.h b/xen/include/xen/lib/x86/cpuid.h
deleted file mode 100644
index fa98b371eef4..000000000000
--- a/xen/include/xen/lib/x86/cpuid.h
+++ /dev/null
@@ -1,475 +0,0 @@
-/* Common data structures and functions consumed by hypervisor and toolstack */
-#ifndef XEN_LIB_X86_CPUID_H
-#define XEN_LIB_X86_CPUID_H
-
-#include <xen/lib/x86/cpuid-autogen.h>
-
-#define FEATURESET_1d     0 /* 0x00000001.edx      */
-#define FEATURESET_1c     1 /* 0x00000001.ecx      */
-#define FEATURESET_e1d    2 /* 0x80000001.edx      */
-#define FEATURESET_e1c    3 /* 0x80000001.ecx      */
-#define FEATURESET_Da1    4 /* 0x0000000d:1.eax    */
-#define FEATURESET_7b0    5 /* 0x00000007:0.ebx    */
-#define FEATURESET_7c0    6 /* 0x00000007:0.ecx    */
-#define FEATURESET_e7d    7 /* 0x80000007.edx      */
-#define FEATURESET_e8b    8 /* 0x80000008.ebx      */
-#define FEATURESET_7d0    9 /* 0x00000007:0.edx    */
-#define FEATURESET_7a1   10 /* 0x00000007:1.eax    */
-#define FEATURESET_e21a  11 /* 0x80000021.eax      */
-#define FEATURESET_7b1   12 /* 0x00000007:1.ebx    */
-#define FEATURESET_7d2   13 /* 0x00000007:2.edx    */
-#define FEATURESET_7c1   14 /* 0x00000007:1.ecx    */
-#define FEATURESET_7d1   15 /* 0x00000007:1.edx    */
-
-struct cpuid_leaf
-{
-    uint32_t a, b, c, d;
-};
-
-/*
- * Versions of GCC before 5 unconditionally reserve %rBX as the PIC hard
- * register, and are unable to cope with spilling it.  This results in a
- * rather cryptic error:
- *    error: inconsistent operand constraints in an ‘asm’
- *
- * In affected situations, work around the issue by using a separate register
- * to hold the the %rBX output, and xchg twice to leave %rBX preserved around
- * the asm() statement.
- */
-#if defined(__PIC__) && __GNUC__ < 5 && !defined(__clang__) && defined(__i386__)
-# define XCHG_BX "xchg %%ebx, %[bx];"
-# define BX_CON [bx] "=&r"
-#elif defined(__PIC__) && __GNUC__ < 5 && !defined(__clang__) && \
-    defined(__x86_64__) && (defined(__code_model_medium__) || \
-                            defined(__code_model_large__))
-# define XCHG_BX "xchg %%rbx, %q[bx];"
-# define BX_CON [bx] "=&r"
-#else
-# define XCHG_BX ""
-# define BX_CON "=&b"
-#endif
-
-static inline void cpuid_leaf(uint32_t leaf, struct cpuid_leaf *l)
-{
-    asm ( XCHG_BX
-          "cpuid;"
-          XCHG_BX
-          : "=a" (l->a), BX_CON (l->b), "=&c" (l->c), "=&d" (l->d)
-          : "a" (leaf) );
-}
-
-static inline void cpuid_count_leaf(
-    uint32_t leaf, uint32_t subleaf, struct cpuid_leaf *l)
-{
-    asm ( XCHG_BX
-          "cpuid;"
-          XCHG_BX
-          : "=a" (l->a), BX_CON (l->b), "=c" (l->c), "=&d" (l->d)
-          : "a" (leaf), "c" (subleaf) );
-}
-
-#undef BX_CON
-#undef XCHG
-
-/**
- * Given the vendor id from CPUID leaf 0, look up Xen's internal integer
- * vendor ID.  Returns X86_VENDOR_UNKNOWN for any unknown vendor.
- */
-unsigned int x86_cpuid_lookup_vendor(uint32_t ebx, uint32_t ecx, uint32_t edx);
-
-/**
- * Given Xen's internal vendor ID, return a string suitable for printing.
- * Returns "Unknown" for any unrecognised ID.
- */
-const char *x86_cpuid_vendor_to_str(unsigned int vendor);
-
-#define CPUID_GUEST_NR_BASIC      (0xdu + 1)
-#define CPUID_GUEST_NR_CACHE      (5u + 1)
-#define CPUID_GUEST_NR_FEAT       (2u + 1)
-#define CPUID_GUEST_NR_TOPO       (1u + 1)
-#define CPUID_GUEST_NR_XSTATE     (62u + 1)
-#define CPUID_GUEST_NR_EXTD_INTEL (0x8u + 1)
-#define CPUID_GUEST_NR_EXTD_AMD   (0x21u + 1)
-#define CPUID_GUEST_NR_EXTD       MAX(CPUID_GUEST_NR_EXTD_INTEL, \
-                                      CPUID_GUEST_NR_EXTD_AMD)
-
-/*
- * Maximum number of leaves a struct cpuid_policy turns into when serialised
- * for interaction with the toolstack.  (Sum of all leaves in each union, less
- * the entries in basic which sub-unions hang off of.)
- */
-#define CPUID_MAX_SERIALISED_LEAVES                     \
-    (CPUID_GUEST_NR_BASIC +                             \
-     CPUID_GUEST_NR_FEAT   - !!CPUID_GUEST_NR_FEAT +    \
-     CPUID_GUEST_NR_CACHE  - !!CPUID_GUEST_NR_CACHE +   \
-     CPUID_GUEST_NR_TOPO   - !!CPUID_GUEST_NR_TOPO +    \
-     CPUID_GUEST_NR_XSTATE - !!CPUID_GUEST_NR_XSTATE +  \
-     CPUID_GUEST_NR_EXTD + 2 /* hv_limit and hv2_limit */ )
-
-struct cpuid_policy
-{
-#define DECL_BITFIELD(word) _DECL_BITFIELD(FEATURESET_ ## word)
-#define _DECL_BITFIELD(x)   __DECL_BITFIELD(x)
-#define __DECL_BITFIELD(x)  CPUID_BITFIELD_ ## x
-
-    /* Basic leaves: 0x000000xx */
-    union {
-        struct cpuid_leaf raw[CPUID_GUEST_NR_BASIC];
-        struct {
-            /* Leaf 0x0 - Max and vendor. */
-            uint32_t max_leaf, vendor_ebx, vendor_ecx, vendor_edx;
-
-            /* Leaf 0x1 - Family/model/stepping and features. */
-            uint32_t raw_fms;
-            uint8_t :8,       /* Brand ID. */
-                clflush_size, /* Number of 8-byte blocks per cache line. */
-                lppp,         /* Logical processors per package. */
-                apic_id;      /* Initial APIC ID. */
-            union {
-                uint32_t _1c;
-                struct { DECL_BITFIELD(1c); };
-            };
-            union {
-                uint32_t _1d;
-                struct { DECL_BITFIELD(1d); };
-            };
-
-            /* Leaf 0x2 - TLB/Cache/Prefetch. */
-            uint8_t l2_nr_queries; /* Documented as fixed to 1. */
-            uint8_t l2_desc[15];
-
-            uint64_t :64, :64; /* Leaf 0x3 - PSN. */
-            uint64_t :64, :64; /* Leaf 0x4 - Structured Cache. */
-            uint64_t :64, :64; /* Leaf 0x5 - MONITOR. */
-            uint64_t :64, :64; /* Leaf 0x6 - Therm/Perf. */
-            uint64_t :64, :64; /* Leaf 0x7 - Structured Features. */
-            uint64_t :64, :64; /* Leaf 0x8 - rsvd */
-            uint64_t :64, :64; /* Leaf 0x9 - DCA */
-
-            /* Leaf 0xa - Intel PMU. */
-            uint8_t pmu_version, _pmu[15];
-
-            uint64_t :64, :64; /* Leaf 0xb - Topology. */
-            uint64_t :64, :64; /* Leaf 0xc - rsvd */
-            uint64_t :64, :64; /* Leaf 0xd - XSTATE. */
-        };
-    } basic;
-
-    /* Structured cache leaf: 0x00000004[xx] */
-    union {
-        struct cpuid_leaf raw[CPUID_GUEST_NR_CACHE];
-        struct cpuid_cache_leaf {
-            uint32_t /* a */ type:5, level:3;
-            bool self_init:1, fully_assoc:1;
-            uint32_t :4, threads_per_cache:12, cores_per_package:6;
-            uint32_t /* b */ line_size:12, partitions:10, ways:10;
-            uint32_t /* c */ sets;
-            bool /* d */ wbinvd:1, inclusive:1, complex:1;
-        } subleaf[CPUID_GUEST_NR_CACHE];
-    } cache;
-
-    /* Structured feature leaf: 0x00000007[xx] */
-    union {
-        struct cpuid_leaf raw[CPUID_GUEST_NR_FEAT];
-        struct {
-            /* Subleaf 0. */
-            uint32_t max_subleaf;
-            union {
-                uint32_t _7b0;
-                struct { DECL_BITFIELD(7b0); };
-            };
-            union {
-                uint32_t _7c0;
-                struct { DECL_BITFIELD(7c0); };
-            };
-            union {
-                uint32_t _7d0;
-                struct { DECL_BITFIELD(7d0); };
-            };
-
-            /* Subleaf 1. */
-            union {
-                uint32_t _7a1;
-                struct { DECL_BITFIELD(7a1); };
-            };
-            union {
-                uint32_t _7b1;
-                struct { DECL_BITFIELD(7b1); };
-            };
-            union {
-                uint32_t _7c1;
-                struct { DECL_BITFIELD(7c1); };
-            };
-            union {
-                uint32_t _7d1;
-                struct { DECL_BITFIELD(7d1); };
-            };
-
-            /* Subleaf 2. */
-            uint32_t /* a */:32, /* b */:32, /* c */:32;
-            union {
-                uint32_t _7d2;
-                struct { DECL_BITFIELD(7d2); };
-            };
-        };
-    } feat;
-
-    /* Extended topology enumeration: 0x0000000B[xx] */
-    union {
-        struct cpuid_leaf raw[CPUID_GUEST_NR_TOPO];
-        struct cpuid_topo_leaf {
-            uint32_t id_shift:5, :27;
-            uint16_t nr_logical, :16;
-            uint8_t level, type, :8, :8;
-            uint32_t x2apic_id;
-        } subleaf[CPUID_GUEST_NR_TOPO];
-    } topo;
-
-    /* Xstate feature leaf: 0x0000000D[xx] */
-    union {
-        struct cpuid_leaf raw[CPUID_GUEST_NR_XSTATE];
-
-        struct {
-            /* Subleaf 0. */
-            uint32_t xcr0_low, /* b */:32, max_size, xcr0_high;
-
-            /* Subleaf 1. */
-            union {
-                uint32_t Da1;
-                struct { DECL_BITFIELD(Da1); };
-            };
-            uint32_t /* b */:32, xss_low, xss_high;
-        };
-
-        /* Per-component common state.  Valid for i >= 2. */
-        struct {
-            uint32_t size, offset;
-            bool xss:1, align:1;
-            uint32_t _res_d;
-        } comp[CPUID_GUEST_NR_XSTATE];
-    } xstate;
-
-    /* Extended leaves: 0x800000xx */
-    union {
-        struct cpuid_leaf raw[CPUID_GUEST_NR_EXTD];
-        struct {
-            /* Leaf 0x80000000 - Max and vendor. */
-            uint32_t max_leaf, vendor_ebx, vendor_ecx, vendor_edx;
-
-            /* Leaf 0x80000001 - Family/model/stepping and features. */
-            uint32_t raw_fms, /* b */:32;
-            union {
-                uint32_t e1c;
-                struct { DECL_BITFIELD(e1c); };
-            };
-            union {
-                uint32_t e1d;
-                struct { DECL_BITFIELD(e1d); };
-            };
-
-            uint64_t :64, :64; /* Brand string. */
-            uint64_t :64, :64; /* Brand string. */
-            uint64_t :64, :64; /* Brand string. */
-            uint64_t :64, :64; /* L1 cache/TLB. */
-            uint64_t :64, :64; /* L2/3 cache/TLB. */
-
-            /* Leaf 0x80000007 - Advanced Power Management. */
-            uint32_t /* a */:32, /* b */:32, /* c */:32;
-            union {
-                uint32_t e7d;
-                struct { DECL_BITFIELD(e7d); };
-            };
-
-            /* Leaf 0x80000008 - Misc addr/feature info. */
-            uint8_t maxphysaddr, maxlinaddr, :8, :8;
-            union {
-                uint32_t e8b;
-                struct { DECL_BITFIELD(e8b); };
-            };
-            uint32_t nc:8, :4, apic_id_size:4, :16;
-            uint32_t /* d */:32;
-
-            uint64_t :64, :64; /* Leaf 0x80000009. */
-            uint64_t :64, :64; /* Leaf 0x8000000a - SVM rev and features. */
-            uint64_t :64, :64; /* Leaf 0x8000000b. */
-            uint64_t :64, :64; /* Leaf 0x8000000c. */
-            uint64_t :64, :64; /* Leaf 0x8000000d. */
-            uint64_t :64, :64; /* Leaf 0x8000000e. */
-            uint64_t :64, :64; /* Leaf 0x8000000f. */
-            uint64_t :64, :64; /* Leaf 0x80000010. */
-            uint64_t :64, :64; /* Leaf 0x80000011. */
-            uint64_t :64, :64; /* Leaf 0x80000012. */
-            uint64_t :64, :64; /* Leaf 0x80000013. */
-            uint64_t :64, :64; /* Leaf 0x80000014. */
-            uint64_t :64, :64; /* Leaf 0x80000015. */
-            uint64_t :64, :64; /* Leaf 0x80000016. */
-            uint64_t :64, :64; /* Leaf 0x80000017. */
-            uint64_t :64, :64; /* Leaf 0x80000018. */
-            uint64_t :64, :64; /* Leaf 0x80000019 - TLB 1GB Identifiers. */
-            uint64_t :64, :64; /* Leaf 0x8000001a - Performance related info. */
-            uint64_t :64, :64; /* Leaf 0x8000001b - IBS feature information. */
-            uint64_t :64, :64; /* Leaf 0x8000001c. */
-            uint64_t :64, :64; /* Leaf 0x8000001d - Cache properties. */
-            uint64_t :64, :64; /* Leaf 0x8000001e - Extd APIC/Core/Node IDs. */
-            uint64_t :64, :64; /* Leaf 0x8000001f - AMD Secure Encryption. */
-            uint64_t :64, :64; /* Leaf 0x80000020 - Platform QoS. */
-
-            /* Leaf 0x80000021 - Extended Feature 2 */
-            union {
-                uint32_t e21a;
-                struct { DECL_BITFIELD(e21a); };
-            };
-            uint32_t /* b */:32, /* c */:32, /* d */:32;
-        };
-    } extd;
-
-#undef __DECL_BITFIELD
-#undef _DECL_BITFIELD
-#undef DECL_BITFIELD
-
-    /* Toolstack selected Hypervisor max_leaf (if non-zero). */
-    uint8_t hv_limit, hv2_limit;
-
-    /* Value calculated from raw data above. */
-    uint8_t x86_vendor;
-};
-
-/* Fill in a featureset bitmap from a CPUID policy. */
-static inline void cpuid_policy_to_featureset(
-    const struct cpuid_policy *p, uint32_t fs[FEATURESET_NR_ENTRIES])
-{
-    fs[FEATURESET_1d]  = p->basic._1d;
-    fs[FEATURESET_1c]  = p->basic._1c;
-    fs[FEATURESET_e1d] = p->extd.e1d;
-    fs[FEATURESET_e1c] = p->extd.e1c;
-    fs[FEATURESET_Da1] = p->xstate.Da1;
-    fs[FEATURESET_7b0] = p->feat._7b0;
-    fs[FEATURESET_7c0] = p->feat._7c0;
-    fs[FEATURESET_e7d] = p->extd.e7d;
-    fs[FEATURESET_e8b] = p->extd.e8b;
-    fs[FEATURESET_7d0] = p->feat._7d0;
-    fs[FEATURESET_7a1] = p->feat._7a1;
-    fs[FEATURESET_e21a] = p->extd.e21a;
-    fs[FEATURESET_7b1] = p->feat._7b1;
-    fs[FEATURESET_7d2] = p->feat._7d2;
-    fs[FEATURESET_7c1] = p->feat._7c1;
-    fs[FEATURESET_7d1] = p->feat._7d1;
-}
-
-/* Fill in a CPUID policy from a featureset bitmap. */
-static inline void cpuid_featureset_to_policy(
-    const uint32_t fs[FEATURESET_NR_ENTRIES], struct cpuid_policy *p)
-{
-    p->basic._1d  = fs[FEATURESET_1d];
-    p->basic._1c  = fs[FEATURESET_1c];
-    p->extd.e1d   = fs[FEATURESET_e1d];
-    p->extd.e1c   = fs[FEATURESET_e1c];
-    p->xstate.Da1 = fs[FEATURESET_Da1];
-    p->feat._7b0  = fs[FEATURESET_7b0];
-    p->feat._7c0  = fs[FEATURESET_7c0];
-    p->extd.e7d   = fs[FEATURESET_e7d];
-    p->extd.e8b   = fs[FEATURESET_e8b];
-    p->feat._7d0  = fs[FEATURESET_7d0];
-    p->feat._7a1  = fs[FEATURESET_7a1];
-    p->extd.e21a  = fs[FEATURESET_e21a];
-    p->feat._7b1  = fs[FEATURESET_7b1];
-    p->feat._7d2  = fs[FEATURESET_7d2];
-    p->feat._7c1  = fs[FEATURESET_7c1];
-    p->feat._7d1  = fs[FEATURESET_7d1];
-}
-
-static inline uint64_t cpuid_policy_xcr0_max(const struct cpuid_policy *p)
-{
-    return ((uint64_t)p->xstate.xcr0_high << 32) | p->xstate.xcr0_low;
-}
-
-static inline uint64_t cpuid_policy_xstates(const struct cpuid_policy *p)
-{
-    uint64_t val = p->xstate.xcr0_high | p->xstate.xss_high;
-
-    return (val << 32) | p->xstate.xcr0_low | p->xstate.xss_low;
-}
-
-const uint32_t *x86_cpuid_lookup_deep_deps(uint32_t feature);
-
-/**
- * Recalculate the content in a CPUID policy which is derived from raw data.
- */
-void x86_cpuid_policy_recalc_synth(struct cpuid_policy *p);
-
-/**
- * Fill a CPUID policy using the native CPUID instruction.
- *
- * No sanitisation is performed, but synthesised values are calculated.
- * Values may be influenced by a hypervisor or from masking/faulting
- * configuration.
- */
-void x86_cpuid_policy_fill_native(struct cpuid_policy *p);
-
-/**
- * Clear leaf data beyond the policies max leaf/subleaf settings.
- *
- * Policy serialisation purposefully omits out-of-range leaves, because there
- * are a large number of them due to vendor differences.  However, when
- * constructing new policies (e.g. levelling down), it is possible to end up
- * with out-of-range leaves with stale content in them.  This helper clears
- * them.
- */
-void x86_cpuid_policy_clear_out_of_range_leaves(struct cpuid_policy *p);
-
-#ifdef __XEN__
-#include <public/arch-x86/xen.h>
-typedef XEN_GUEST_HANDLE_64(xen_cpuid_leaf_t) cpuid_leaf_buffer_t;
-#else
-#include <xen/arch-x86/xen.h>
-typedef xen_cpuid_leaf_t cpuid_leaf_buffer_t[];
-#endif
-
-/**
- * Serialise a cpuid_policy object into an array of cpuid leaves.
- *
- * @param policy     The cpuid_policy to serialise.
- * @param leaves     The array of leaves to serialise into.
- * @param nr_entries The number of entries in 'leaves'.
- * @returns -errno
- *
- * Writes at most CPUID_MAX_SERIALISED_LEAVES.  May fail with -ENOBUFS if the
- * leaves array is too short.  On success, nr_entries is updated with the
- * actual number of leaves written.
- */
-int x86_cpuid_copy_to_buffer(const struct cpuid_policy *policy,
-                             cpuid_leaf_buffer_t leaves, uint32_t *nr_entries);
-
-/**
- * Unserialise a cpuid_policy object from an array of cpuid leaves.
- *
- * @param policy      The cpuid_policy to unserialise into.
- * @param leaves      The array of leaves to unserialise from.
- * @param nr_entries  The number of entries in 'leaves'.
- * @param err_leaf    Optional hint for error diagnostics.
- * @param err_subleaf Optional hint for error diagnostics.
- * @returns -errno
- *
- * Reads at most CPUID_MAX_SERIALISED_LEAVES.  May return -ERANGE if an
- * incoming leaf is out of range of cpuid_policy, in which case the optional
- * err_* pointers will identify the out-of-range indicies.
- *
- * No content validation of in-range leaves is performed.  Synthesised data is
- * recalculated.
- */
-int x86_cpuid_copy_from_buffer(struct cpuid_policy *policy,
-                               const cpuid_leaf_buffer_t leaves,
-                               uint32_t nr_entries, uint32_t *err_leaf,
-                               uint32_t *err_subleaf);
-
-#endif /* !XEN_LIB_X86_CPUID_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/lib/x86/cpuid.c b/xen/lib/x86/cpuid.c
index 8eb88314f53c..e81f76c779c0 100644
--- a/xen/lib/x86/cpuid.c
+++ b/xen/lib/x86/cpuid.c
@@ -1,6 +1,6 @@
 #include "private.h"
 
-#include <xen/lib/x86/cpuid.h>
+#include <xen/lib/x86/cpu-policy.h>
 
 static void zero_leaves(struct cpuid_leaf *l,
                         unsigned int first, unsigned int last)
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 20:52:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 20:52:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516355.800390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phcm1-0007s7-Ll; Wed, 29 Mar 2023 20:52:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516355.800390; Wed, 29 Mar 2023 20:52: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 1phcm1-0007rs-Es; Wed, 29 Mar 2023 20:52:01 +0000
Received: by outflank-mailman (input) for mailman id 516355;
 Wed, 29 Mar 2023 20:51: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=PU7e=7V=citrix.com=prvs=445237bd4=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phclz-0005Jv-GY
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 20:51: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 8b19d3ed-ce73-11ed-b464-930f4c7d94ae;
 Wed, 29 Mar 2023 22:51:57 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b19d3ed-ce73-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680123117;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Il0Yw0uTJOQO+YSoWdWwJOOO1fJO0IpRzyBpho+xVZQ=;
  b=cvRW9D/0lAamAEGRBiOHmlhMA7tks0VgrvBYQqIKfTHSRoH+cmx1qTh0
   Nd/xhuwaDnHr2m38+LZPilYT3LPouMhxdR5R8o4YjHzzH392HKiVbEk62
   WGWT9I9QXXPZZHQF9XBWjbMQwNbCGj8cfyTIJVHnH6llyusa7vhBO+h+8
   c=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 102947422
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:xg4npqpdEWLqvtj/MQQKEUu+KlBeBmJiZRIvgKrLsJaIsI4StFCzt
 garIBmOPquJYmL9f4xwbY6090gF75SDyIVhSgZl/io3QXkX8puZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzShNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXACscMSGfrL6k+7GmE85JnNobC+3NE7pK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSZBFOUslWcOSA3xETdxVxrl6PqLVxyG/U1AFri5DmMcbPe8zMTsJQ9qqdj
 juepTWlXU1AbrRzzxK/6E6p37TvuRn9d5AvNJSK2vM7rVmMkzl75Bo+CgLg/KjRZlSFc8JSL
 QkY9zQjqYA29Ve3VZ/tUhugunmGsxUAHd1KHIUSyiuA167V6AaxHXUfQ3hKb9lOnNAybSwn0
 BmOhdyBONB0mOTLEzTHrO7S9G7sf3FPdgfueBPoUyMe8obSvKpvnCnMU49ENbSrtvrRPx7Jl
 mXiQDcFu1kDsSIa//zlogGW02Lw+sihoh0dvVuOAD/8hu9tTMv8PtHztwCGhRpVBNzBJmRtq
 kTojCR3AAomKZiW3BKAT+wWdF1Cz6bUaWaM6bKD8nRIythMx5JAVdoKiN2GDB01WvvogBewC
 KMphStf5YVIIFyhZrJtboS6BqwClPawTY28Cq6LMIoQPPCdkTNrGgk0PSZ8OEiz+HXAbIllY
 cvLGSpSJS1y5VtbIMqeGL5GjO5DKtEWzmLPX5HrpymaPU6lTCfNE98taQLeBt3VGYvY+G05B
 f4DbZrVo/ieOcWiChTqHXk7dg5acCdnXcmu8qS6tIere2JbJY3oMNeJqZtJRmCvt/89ejvgl
 p1lZnJl9Q==
IronPort-HdrOrdr: A9a23:+cP47q4NcKzEWJgocAPXwAzXdLJyesId70hD6qkQc3Fom62j5q
 WTdZEgvyMc5wx/ZJhNo7690cq7MBHhHPxOgbX5VI3KNGXbUQOTR72KhrGSoAEIdReeygZcv5
 0QCZSXCrfLfCVHZRCR2njFLz4iquP3j5xBnY3lvhNQpZkBUdAZ0+9+YDzrdXFedU19KrcSMo
 GT3cZDryrIQwVtUizqbkN1OdQqvrfw5evbXSI=
X-IronPort-AV: E=Sophos;i="5.98,301,1673931600"; 
   d="scan'208";a="102947422"
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 8/9] x86: Drop struct old_cpu_policy
Date: Wed, 29 Mar 2023 21:51:36 +0100
Message-ID: <20230329205137.323253-9-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20230329205137.323253-1-andrew.cooper3@citrix.com>
References: <20230329205137.323253-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

With all the complicated callers of x86_cpu_policies_are_compatible() updated
to use a single cpu_policy object, we can drop the final user of struct
old_cpu_policy.

Update x86_cpu_policies_are_compatible() to take (new) cpu_policy pointers,
reducing the amount of internal pointer chasing, and update all callers to
pass their cpu_policy objects directly.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
---
 tools/libs/guest/xg_cpuid_x86.c          |  4 +--
 tools/tests/cpu-policy/test-cpu-policy.c | 40 ++++++------------------
 xen/arch/x86/domctl.c                    |  7 ++---
 xen/include/xen/lib/x86/cpu-policy.h     | 12 ++-----
 xen/lib/x86/policy.c                     | 12 +++----
 5 files changed, 22 insertions(+), 53 deletions(-)

diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 5061fe357767..14c00304c03c 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -868,9 +868,7 @@ bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
                                  xc_cpu_policy_t *guest)
 {
     struct cpu_policy_errors err = INIT_CPU_POLICY_ERRORS;
-    struct old_cpu_policy h = { &host->policy, &host->policy };
-    struct old_cpu_policy g = { &guest->policy, &guest->policy };
-    int rc = x86_cpu_policies_are_compatible(&h, &g, &err);
+    int rc = x86_cpu_policies_are_compatible(&host->policy, &host->policy, &err);
 
     if ( !rc )
         return true;
diff --git a/tools/tests/cpu-policy/test-cpu-policy.c b/tools/tests/cpu-policy/test-cpu-policy.c
index 909d6272f875..5b38702b1c62 100644
--- a/tools/tests/cpu-policy/test-cpu-policy.c
+++ b/tools/tests/cpu-policy/test-cpu-policy.c
@@ -574,23 +574,20 @@ static void test_is_compatible_success(void)
 {
     static struct test {
         const char *name;
-        struct cpuid_policy host_cpuid;
-        struct cpuid_policy guest_cpuid;
-        struct msr_policy host_msr;
-        struct msr_policy guest_msr;
+        struct cpu_policy host, guest;
     } tests[] = {
         {
             .name = "Host CPUID faulting, Guest not",
-            .host_msr = {
+            .host = {
                 .platform_info.cpuid_faulting = true,
             },
         },
         {
             .name = "Host CPUID faulting, Guest wanted",
-            .host_msr = {
+            .host = {
                 .platform_info.cpuid_faulting = true,
             },
-            .guest_msr = {
+            .guest = {
                 .platform_info.cpuid_faulting = true,
             },
         },
@@ -602,15 +599,8 @@ static void test_is_compatible_success(void)
     for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
     {
         struct test *t = &tests[i];
-        struct old_cpu_policy sys = {
-            &t->host_cpuid,
-            &t->host_msr,
-        }, new = {
-            &t->guest_cpuid,
-            &t->guest_msr,
-        };
         struct cpu_policy_errors e;
-        int res = x86_cpu_policies_are_compatible(&sys, &new, &e);
+        int res = x86_cpu_policies_are_compatible(&t->host, &t->guest, &e);
 
         /* Check the expected error output. */
         if ( res != 0 || memcmp(&no_errors, &e, sizeof(no_errors)) )
@@ -624,25 +614,22 @@ static void test_is_compatible_failure(void)
 {
     static struct test {
         const char *name;
-        struct cpuid_policy host_cpuid;
-        struct cpuid_policy guest_cpuid;
-        struct msr_policy host_msr;
-        struct msr_policy guest_msr;
+        struct cpu_policy host, guest;
         struct cpu_policy_errors e;
     } tests[] = {
         {
             .name = "Host basic.max_leaf out of range",
-            .guest_cpuid.basic.max_leaf = 1,
+            .guest.basic.max_leaf = 1,
             .e = { 0, -1, -1 },
         },
         {
             .name = "Host extd.max_leaf out of range",
-            .guest_cpuid.extd.max_leaf = 1,
+            .guest.extd.max_leaf = 1,
             .e = { 0x80000000, -1, -1 },
         },
         {
             .name = "Host no CPUID faulting, Guest wanted",
-            .guest_msr = {
+            .guest = {
                 .platform_info.cpuid_faulting = true,
             },
             .e = { -1, -1, 0xce },
@@ -654,15 +641,8 @@ static void test_is_compatible_failure(void)
     for ( size_t i = 0; i < ARRAY_SIZE(tests); ++i )
     {
         struct test *t = &tests[i];
-        struct old_cpu_policy sys = {
-            &t->host_cpuid,
-            &t->host_msr,
-        }, new = {
-            &t->guest_cpuid,
-            &t->guest_msr,
-        };
         struct cpu_policy_errors e;
-        int res = x86_cpu_policies_are_compatible(&sys, &new, &e);
+        int res = x86_cpu_policies_are_compatible(&t->host, &t->guest, &e);
 
         /* Check the expected error output. */
         if ( res == 0 || memcmp(&t->e, &e, sizeof(t->e)) )
diff --git a/xen/arch/x86/domctl.c b/xen/arch/x86/domctl.c
index 81be25c67731..c02528594102 100644
--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -41,10 +41,9 @@ static int update_domain_cpu_policy(struct domain *d,
                                     xen_domctl_cpu_policy_t *xdpc)
 {
     struct cpu_policy *new;
-    struct cpu_policy *sys = is_pv_domain(d)
+    const struct cpu_policy *sys = is_pv_domain(d)
         ? (IS_ENABLED(CONFIG_PV)  ?  &pv_max_cpu_policy : NULL)
         : (IS_ENABLED(CONFIG_HVM) ? &hvm_max_cpu_policy : NULL);
-    struct old_cpu_policy old_sys = { sys, sys }, old_new;
     struct cpu_policy_errors err = INIT_CPU_POLICY_ERRORS;
     int ret = -ENOMEM;
 
@@ -58,8 +57,6 @@ static int update_domain_cpu_policy(struct domain *d,
     if ( !(new = xmemdup(d->arch.cpu_policy)) )
         goto out;
 
-    old_new = (struct old_cpu_policy){ new, new };
-
     /* Merge the toolstack provided data. */
     if ( (ret = x86_cpuid_copy_from_buffer(
               new, xdpc->leaves, xdpc->nr_leaves,
@@ -72,7 +69,7 @@ static int update_domain_cpu_policy(struct domain *d,
     x86_cpuid_policy_clear_out_of_range_leaves(new);
 
     /* Audit the combined dataset. */
-    ret = x86_cpu_policies_are_compatible(&old_sys, &old_new, &err);
+    ret = x86_cpu_policies_are_compatible(sys, new, &err);
     if ( ret )
         goto out;
 
diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
index 5af756a02da0..51f88f1e217e 100644
--- a/xen/include/xen/lib/x86/cpu-policy.h
+++ b/xen/include/xen/lib/x86/cpu-policy.h
@@ -379,12 +379,6 @@ struct cpu_policy
 #define cpuid_policy cpu_policy
 #define msr_policy cpu_policy
 
-struct old_cpu_policy
-{
-    struct cpuid_policy *cpuid;
-    struct msr_policy *msr;
-};
-
 struct cpu_policy_errors
 {
     uint32_t leaf, subleaf;
@@ -559,7 +553,7 @@ int x86_msr_copy_from_buffer(struct msr_policy *policy,
                              const msr_entry_buffer_t msrs, uint32_t nr_entries,
                              uint32_t *err_msr);
 
-/*
+/**
  * Calculate whether two policies are compatible.
  *
  * i.e. Can a VM configured with @guest run on a CPU supporting @host.
@@ -573,8 +567,8 @@ int x86_msr_copy_from_buffer(struct msr_policy *policy,
  * incompatibility is detected, the optional err pointer may identify the
  * problematic leaf/subleaf and/or MSR.
  */
-int x86_cpu_policies_are_compatible(const struct old_cpu_policy *host,
-                                    const struct old_cpu_policy *guest,
+int x86_cpu_policies_are_compatible(const struct cpu_policy *host,
+                                    const struct cpu_policy *guest,
                                     struct cpu_policy_errors *err);
 
 #endif /* !XEN_LIB_X86_POLICIES_H */
diff --git a/xen/lib/x86/policy.c b/xen/lib/x86/policy.c
index 2975711d7c6c..a9c60000af9d 100644
--- a/xen/lib/x86/policy.c
+++ b/xen/lib/x86/policy.c
@@ -2,8 +2,8 @@
 
 #include <xen/lib/x86/cpu-policy.h>
 
-int x86_cpu_policies_are_compatible(const struct old_cpu_policy *host,
-                                    const struct old_cpu_policy *guest,
+int x86_cpu_policies_are_compatible(const struct cpu_policy *host,
+                                    const struct cpu_policy *guest,
                                     struct cpu_policy_errors *err)
 {
     struct cpu_policy_errors e = INIT_CPU_POLICY_ERRORS;
@@ -15,18 +15,18 @@ int x86_cpu_policies_are_compatible(const struct old_cpu_policy *host,
 #define FAIL_MSR(m) \
     do { e.msr = (m); goto out; } while ( 0 )
 
-    if ( guest->cpuid->basic.max_leaf > host->cpuid->basic.max_leaf )
+    if ( guest->basic.max_leaf > host->basic.max_leaf )
         FAIL_CPUID(0, NA);
 
-    if ( guest->cpuid->feat.max_subleaf > host->cpuid->feat.max_subleaf )
+    if ( guest->feat.max_subleaf > host->feat.max_subleaf )
         FAIL_CPUID(7, 0);
 
-    if ( guest->cpuid->extd.max_leaf > host->cpuid->extd.max_leaf )
+    if ( guest->extd.max_leaf > host->extd.max_leaf )
         FAIL_CPUID(0x80000000, NA);
 
     /* TODO: Audit more CPUID data. */
 
-    if ( ~host->msr->platform_info.raw & guest->msr->platform_info.raw )
+    if ( ~host->platform_info.raw & guest->platform_info.raw )
         FAIL_MSR(MSR_INTEL_PLATFORM_INFO);
 
 #undef FAIL_MSR
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Mar 29 21:03:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 21:03:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516389.800400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phcwt-0003aH-MR; Wed, 29 Mar 2023 21:03:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516389.800400; Wed, 29 Mar 2023 21:03: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 1phcwt-0003aA-Ib; Wed, 29 Mar 2023 21:03:15 +0000
Received: by outflank-mailman (input) for mailman id 516389;
 Wed, 29 Mar 2023 21:03: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 1phcws-0003a4-6v
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 21:03: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 1phcwr-0007XO-Fh; Wed, 29 Mar 2023 21:03:13 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=[192.168.25.70]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1phcwr-00081m-9P; Wed, 29 Mar 2023 21: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>
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=Je2CTzdagDW9FVJCrYQyXgi+ods01eHQkbcQ0m4tFDU=; b=6ICq/uQeeN4v88la90gJN+CqqV
	6ajsSpzqpoT4CnpLUK5jKlK7ME8c2bceoIA+ogvh175lfkRZsnX6iTogLYitcCHlNp9SJAzfieudp
	LjprnB8526RTawXvJKpoUdSL7aA0+Q6rgnAcTsq9fVbcSFg1495aiOTfIwdOBsu3Xi4A=;
Message-ID: <78c70925-02d9-1ffa-561d-73ed36778aa0@xen.org>
Date: Wed, 29 Mar 2023 22:03:11 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v2] tools/xenstore: fix quota check in acc_fix_domains()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20230328144327.6562-1-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230328144327.6562-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 28/03/2023 15:43, Juergen Gross wrote:
> Today when finalizing a transaction the number of node quota is checked
> to not being exceeded after the transaction. This check is always done,
> even if the transaction is being performed by a privileged connection,
> or if there were no nodes created in the transaction.
> 
> Correct that by checking quota only if:
> - the transaction is being performed by an unprivileged guest, and
> - at least one node was created in the transaction
> 
> Reported-by: Julien Grall <julien@xen.org>
> Fixes: f2bebf72c4d5 ("xenstore: rework of transaction handling")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

And committed.

Cheers,

> ---
> V2:
> - add comment (Julien Grall)
> ---
>   tools/xenstore/xenstored_core.c        |  3 +++
>   tools/xenstore/xenstored_domain.c      |  4 ++--
>   tools/xenstore/xenstored_domain.h      |  7 ++++++-
>   tools/xenstore/xenstored_transaction.c | 16 ++++++++++++++--
>   tools/xenstore/xenstored_transaction.h |  3 +++
>   5 files changed, 28 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
> index a61db2db2d..3ca68681e3 100644
> --- a/tools/xenstore/xenstored_core.c
> +++ b/tools/xenstore/xenstored_core.c
> @@ -1472,6 +1472,9 @@ static struct node *create_node(struct connection *conn, const void *ctx,
>   	if (!node)
>   		return NULL;
>   
> +	if (conn && conn->transaction)
> +		ta_node_created(conn->transaction);
> +
>   	node->data = data;
>   	node->datalen = datalen;
>   
> diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
> index d7fc2fafc7..f62be2245c 100644
> --- a/tools/xenstore/xenstored_domain.c
> +++ b/tools/xenstore/xenstored_domain.c
> @@ -544,7 +544,7 @@ static struct domain *find_domain_by_domid(unsigned int domid)
>   	return (d && d->introduced) ? d : NULL;
>   }
>   
> -int acc_fix_domains(struct list_head *head, bool update)
> +int acc_fix_domains(struct list_head *head, bool chk_quota, bool update)
>   {
>   	struct changed_domain *cd;
>   	int cnt;
> @@ -552,7 +552,7 @@ int acc_fix_domains(struct list_head *head, bool update)
>   	list_for_each_entry(cd, head, list) {
>   		cnt = domain_nbentry_fix(cd->domid, cd->nbentry, update);
>   		if (!update) {
> -			if (cnt >= quota_nb_entry_per_domain)
> +			if (chk_quota && cnt >= quota_nb_entry_per_domain)
>   				return ENOSPC;
>   			if (cnt < 0)
>   				return ENOMEM;
> diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
> index dc4660861e..279cccb3ad 100644
> --- a/tools/xenstore/xenstored_domain.h
> +++ b/tools/xenstore/xenstored_domain.h
> @@ -96,7 +96,12 @@ void domain_outstanding_dec(struct connection *conn);
>   void domain_outstanding_domid_dec(unsigned int domid);
>   int domain_get_quota(const void *ctx, struct connection *conn,
>   		     unsigned int domid);
> -int acc_fix_domains(struct list_head *head, bool update);
> +
> +/*
> + * Update or check number of nodes per domain at the end of a transaction.
> + * If "update" is true, "chk_quota" is ignored.
> + */
> +int acc_fix_domains(struct list_head *head, bool chk_quota, bool update);
>   
>   /* Write rate limiting */
>   
> diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
> index 1aa9d3cb3d..2b15506953 100644
> --- a/tools/xenstore/xenstored_transaction.c
> +++ b/tools/xenstore/xenstored_transaction.c
> @@ -160,12 +160,20 @@ struct transaction
>   	/* List of changed domains - to record the changed domain entry number */
>   	struct list_head changed_domains;
>   
> +	/* There was at least one node created in the transaction. */
> +	bool node_created;
> +
>   	/* Flag for letting transaction fail. */
>   	bool fail;
>   };
>   
>   uint64_t generation;
>   
> +void ta_node_created(struct transaction *trans)
> +{
> +	trans->node_created = true;
> +}
> +
>   static struct accessed_node *find_accessed_node(struct transaction *trans,
>   						const char *name)
>   {
> @@ -509,6 +517,7 @@ int do_transaction_end(const void *ctx, struct connection *conn,
>   	const char *arg = onearg(in);
>   	struct transaction *trans;
>   	bool is_corrupt = false;
> +	bool chk_quota;
>   	int ret;
>   
>   	if (!arg || (!streq(arg, "T") && !streq(arg, "F")))
> @@ -523,13 +532,16 @@ int do_transaction_end(const void *ctx, struct connection *conn,
>   	if (!conn->transaction_started)
>   		conn->ta_start_time = 0;
>   
> +	chk_quota = trans->node_created && domain_is_unprivileged(conn);
> +
>   	/* Attach transaction to ctx for auto-cleanup */
>   	talloc_steal(ctx, trans);
>   
>   	if (streq(arg, "T")) {
>   		if (trans->fail)
>   			return ENOMEM;
> -		ret = acc_fix_domains(&trans->changed_domains, false);
> +		ret = acc_fix_domains(&trans->changed_domains, chk_quota,
> +				      false);
>   		if (ret)
>   			return ret;
>   		ret = finalize_transaction(conn, trans, &is_corrupt);
> @@ -539,7 +551,7 @@ int do_transaction_end(const void *ctx, struct connection *conn,
>   		wrl_apply_debit_trans_commit(conn);
>   
>   		/* fix domain entry for each changed domain */
> -		acc_fix_domains(&trans->changed_domains, true);
> +		acc_fix_domains(&trans->changed_domains, false, true);
>   
>   		if (is_corrupt)
>   			corrupt(conn, "transaction inconsistency");
> diff --git a/tools/xenstore/xenstored_transaction.h b/tools/xenstore/xenstored_transaction.h
> index b6f8cb7d0a..883145163f 100644
> --- a/tools/xenstore/xenstored_transaction.h
> +++ b/tools/xenstore/xenstored_transaction.h
> @@ -36,6 +36,9 @@ int do_transaction_end(const void *ctx, struct connection *conn,
>   
>   struct transaction *transaction_lookup(struct connection *conn, uint32_t id);
>   
> +/* Set flag for created node. */
> +void ta_node_created(struct transaction *trans);
> +
>   /* This node was accessed. */
>   int __must_check access_node(struct connection *conn, struct node *node,
>                                enum node_access_type type, TDB_DATA *key);

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 21:20:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 21:20:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516393.800409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phdDS-00065Y-1Q; Wed, 29 Mar 2023 21:20:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516393.800409; Wed, 29 Mar 2023 21: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 1phdDR-00065R-V4; Wed, 29 Mar 2023 21:20:21 +0000
Received: by outflank-mailman (input) for mailman id 516393;
 Wed, 29 Mar 2023 21:20: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 1phdDQ-00065L-AJ
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 21:20: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 1phdDP-0008BC-VC; Wed, 29 Mar 2023 21:20:19 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=[192.168.25.70]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1phdDP-0000Kk-OM; Wed, 29 Mar 2023 21:20: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=ni2JAoIlWKHwebBjXY6hHAj3TEw9oSh+J+Vg6nqPlqQ=; b=qkqZPotypGnClISdepx2dmkygy
	bEDYefqpNd1GLr/+sadfy4qj7ydkhpEFdt1MpstLgz6T4fDNI1eO47lb5FKMTbVx470D0hPTcttA0
	ZibBfeKheyjQLtYwJtbXfQkVJ2N7GoU0vCnrOuh/AGVTHMZ6+lWWAT/APL8T86YzPtQk=;
Message-ID: <80af90b9-ac51-3e16-8344-696cd5d46625@xen.org>
Date: Wed, 29 Mar 2023 22:20:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH v2 2/2] xen/arm: vpl011: Fix domain_vpl011_init error path
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>, Michal Orzel <michal.orzel@amd.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230323135636.25318-1-michal.orzel@amd.com>
 <20230323135636.25318-3-michal.orzel@amd.com>
 <97EBE93D-01BE-4DCE-8726-6D8066F79CA0@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <97EBE93D-01BE-4DCE-8726-6D8066F79CA0@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 24/03/2023 09:35, Luca Fancellu wrote:
> 
> 
>> On 23 Mar 2023, at 13:56, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> When vgic_reserve_virq() fails and backend is in domain, we should also
>> free the allocated event channel.
>>
>> When backend is in Xen and call to xzalloc() returns NULL, there is no
>> need to call xfree(). This should be done instead on an error path
>> from vgic_reserve_virq(). Moreover, we should be calling XFREE() to
>> prevent an extra free in domain_vpl011_deinit().
>>
>> In order not to repeat the same steps twice, call domain_vpl011_deinit()
>> on an error path whenever there is more work to do than returning rc.
>> Since this function can now be called from different places and more
>> than once, add proper guards, use XFREE() instead of xfree() and move
>> vgic_free_virq() to it.
>>
>> Take the opportunity to return -ENOMEM instead of -EINVAL when memory
>> allocation fails.
>>
>> Fixes: 1ee1e4b0d1ff ("xen/arm: Allow vpl011 to be used by DomU")
>> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> 
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

And committed the series.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Mar 29 21:29:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Mar 2023 21:29:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516397.800420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phdM3-0006nM-ST; Wed, 29 Mar 2023 21:29:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516397.800420; Wed, 29 Mar 2023 21:29:15 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phdM3-0006nF-Ps; Wed, 29 Mar 2023 21:29:15 +0000
Received: by outflank-mailman (input) for mailman id 516397;
 Wed, 29 Mar 2023 21:29: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 1phdM1-0006n9-Ve
 for xen-devel@lists.xenproject.org; Wed, 29 Mar 2023 21:29: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 1phdM1-0008JL-5l; Wed, 29 Mar 2023 21:29:13 +0000
Received: from 54-240-197-238.amazon.com ([54.240.197.238]
 helo=[192.168.25.70]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1phdM0-0000kb-Q1; Wed, 29 Mar 2023 21:29: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=t1FRKr2C3D04nOxJ1GWwajBy5sm9zi8gqKVC64a2b74=; b=FwS6SK8ysBJWYtdkqN+yyyLBiB
	bwGkT6kJHboIgzLnNcNyfWGve4n7UN2qGbTpxDdjHichz+ADMXZB/mKi4yXirryadsuusk7/f77p8
	aGJXgnWWCuB7c/AjVCLozG+Oh/vmeSiWD9OQg80xr1DbXJzeCReA/LTtSQrKGajEvBkY=;
Message-ID: <0241a223-e717-b59f-845b-21a0985a1d74@xen.org>
Date: Wed, 29 Mar 2023 22:29:10 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [RFC PATCH v2 2/2] tools/misc: Add xen-vcpus-stats tool
Content-Language: en-US
To: Matias Ezequiel Vara Larsen <matiasevara@gmail.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org,
 Matias Ezequiel Vara Larsen <matias.vara@vates.fr>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <cover.1665138677.git.matias.vara@vates.fr>
 <df706d6dcfba965909d776dda163fdb261d1a0ea.1665138677.git.matias.vara@vates.fr>
 <f71bbf79-e452-f2d6-58f9-0f2cf019c7b6@citrix.com>
 <70651f5d-12b9-c7b1-9b69-fc0177f4a1ba@xen.org>
 <20230317110110.GA591920@horizon>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230317110110.GA591920@horizon>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

Sorry for the late reply.

On 17/03/2023 11:01, Matias Ezequiel Vara Larsen wrote:
> On Thu, Feb 23, 2023 at 08:31:29PM +0000, Julien Grall wrote:
>>>> +#define rmb()   asm volatile("lfence":::"memory")
>>>
>>> This is rmb(), but rmb() isn't what you want.
>>>
>>> You want smp_rmb(), which is
>>>
>>> #define smp_rmb() asm volatile ("" ::: "memory")
>>
>>  From the generic PoV, I find smp_rmb() a bit misleading because it is not
>> clear in this context whether we are referring to the SMP-ness of the
>> hypervisor or the tools domain.
>>
>> If the latter, then technically it could be uniprocessor domain and one
>> could argue that for Arm it could be downgraded to just a compiler barrier.
>>
>> AFAICT, this would not be the case here because we are getting data from
>> Xen. So we always need a "dmb ish".
>>
>> So, I would suggest to name it virt_*() (to match Linux's naming).
>>
>> Also, is this tool meant to be arch-agnostic? If so, then we need to
>> introduce the proper barrier for the other arch.
>>
> Thanks Julien for the comment. Is it `xen_rmb()` meant for that?

I believe so.

> 
> Matias

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 00:03:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 00:03:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516401.800430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phfl8-0006iH-2f; Thu, 30 Mar 2023 00:03:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516401.800430; Thu, 30 Mar 2023 00:03: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 1phfl7-0006iA-V9; Thu, 30 Mar 2023 00:03:17 +0000
Received: by outflank-mailman (input) for mailman id 516401;
 Thu, 30 Mar 2023 00:03: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 1phfl5-0006i0-RO; Thu, 30 Mar 2023 00: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 1phfl5-0004sa-Fq; Thu, 30 Mar 2023 00: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 1phfl5-0006ao-1m; Thu, 30 Mar 2023 00:03:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phfl5-0002vg-1I; Thu, 30 Mar 2023 00: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=WXv8ufdvnMrmEdQ0OvGDXgfqgRrvRYmj3K9DTPP2J30=; b=2OGaDP+Bn5Yhfw3iVOvObCwf7X
	eqqR0oFRz384YaNHlGl+FODv5SwudhtPnWc2wOeQC1lcbfCfLXgYaNegGWgglUtBVrtNMggGZTClN
	9voma7fpFQz1ULBif1Hi3vOSaqr2D6GTGYdYyPX6/Qs7M4Vhg37+TGprLm02t7RjTPsk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180058-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 180058: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=eef4608fe71feddb5fea86678cf3acaf84d10fd2
X-Osstest-Versions-That:
    xen=7a502b4fbc339e9d3d3d45fb37f09da06bc3081c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 00:03:15 +0000

flight 180058 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180058/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  eef4608fe71feddb5fea86678cf3acaf84d10fd2
baseline version:
 xen                  7a502b4fbc339e9d3d3d45fb37f09da06bc3081c

Last test of basis   180052  2023-03-29 13:01:59 Z    0 days
Testing same since   180058  2023-03-29 22:01:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>
  Stefano Stabellini <sstabellini@kernel.org>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   7a502b4fbc..eef4608fe7  eef4608fe71feddb5fea86678cf3acaf84d10fd2 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 01:27:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 01:27:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516407.800440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phh4f-000548-CJ; Thu, 30 Mar 2023 01:27:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516407.800440; Thu, 30 Mar 2023 01: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 1phh4f-000541-7x; Thu, 30 Mar 2023 01:27:33 +0000
Received: by outflank-mailman (input) for mailman id 516407;
 Thu, 30 Mar 2023 01:27: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 1phh4e-00053r-4B; Thu, 30 Mar 2023 01:27: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 1phh4d-0005d3-WF; Thu, 30 Mar 2023 01:27: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 1phh4d-0000Na-MA; Thu, 30 Mar 2023 01:27:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phh4d-0004OC-Lh; Thu, 30 Mar 2023 01:27: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=v5ymBRrSJFQ9WCrUgCKA02ZZmYpKsws9glQqFpsIXys=; b=BOpSBM/zZo4q3BvbWa2/dT8TLD
	D6qCq/MVs6eSN7zYftw/gz8jtxsF0qwnzBXTzzzZEH2RFoAhdySo0XhzqIf3gYNO9aWN281H5eI6R
	LgENDw5m7abV7q6/t4UKJ2lK2D76WvGP4TrdiQ/VigtQNsRBXfxKzHnyRhxYuqlelqqo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180049-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 180049: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/dst_host/src_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:guest-start/debianhvm.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-localmigrate/x10:fail:allowable
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-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-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=fcd476ea6a888ef6e6627f4c21a2ea8cca3e9312
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 01:27:31 +0000

flight 180049 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180049/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          19 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 18 guest-saverestore.2      fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 27 guest-migrate/dst_host/src_host fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 16 guest-localmigrate fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 20 guest-start/debianhvm.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds     20 guest-localmigrate/x10   fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                fcd476ea6a888ef6e6627f4c21a2ea8cca3e9312
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   36 days
Failing since        178093  2023-02-22 05:02:47 Z   35 days   65 attempts
Testing same since   180049  2023-03-29 08:43:12 Z    0 days    1 attempts

------------------------------------------------------------
2283 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 268118 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 02:29:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 02:29:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516412.800450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phi2T-0003Ym-Tb; Thu, 30 Mar 2023 02:29:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516412.800450; Thu, 30 Mar 2023 02:29: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 1phi2T-0003Ye-Oz; Thu, 30 Mar 2023 02:29:21 +0000
Received: by outflank-mailman (input) for mailman id 516412;
 Thu, 30 Mar 2023 02:29: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=3fDo=7W=cs.rochester.edu=ejohns48@srs-se1.protection.inumbo.net>)
 id 1phi2S-0003YY-0W
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 02:29:20 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20727.outbound.protection.outlook.com
 [2a01:111:f400:7e89::727])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa2f754c-cea2-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 04:29:17 +0200 (CEST)
Received: from BYAPR07MB6040.namprd07.prod.outlook.com (2603:10b6:a03:131::25)
 by BL0PR07MB4993.namprd07.prod.outlook.com (2603:10b6:208:49::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Thu, 30 Mar
 2023 02:29:12 +0000
Received: from BYAPR07MB6040.namprd07.prod.outlook.com
 ([fe80::3433:91cd:38f6:37fc]) by BYAPR07MB6040.namprd07.prod.outlook.com
 ([fe80::3433:91cd:38f6:37fc%4]) with mapi id 15.20.6222.031; Thu, 30 Mar 2023
 02:29: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: aa2f754c-cea2-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HfhvUmXLt0HLj0Vukcyxn+fYzNDrp74eQwEFC40spF7FFBAwhJ/xEC1/kBNy0QAsvzR+uguty3kN33BKgaZwAF/0Gg2TIKDk+W55sz3xmOC8MRiTYVVepvbopkfigZyUgB9JhBBPGI3pbXXISa5pDzL4pQnJZK3wjyOiPIEfQJ9ufv20RibDncZFaA64+feOYSxe54yxspBjTqFsmgpmSmumu3jP4zj6PvvzNPNOrD7cOhkXmdXM7WOD0dmM67KFLtKob7FhhyDNGQzd9v4UkCh0m1IQSHfc8kLwCRSuLzQTX8oVKUSgEyxfxmD2Wa5mtD+/dsdFo5Fpvo4NwHCIMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IVwoSMxgdsKV2ir8OdY688nrK/9p6/WPA7C1s5ZhPbY=;
 b=i/9pRGvd3T8ZLZgjdo3OriYm9FqvFk1/D3qcphZ+lUavmeZkXxKdetRsz5JoelgtniC5Mli1URvCuNwL5U/BioVlyI7ggsJ5Rp6wJjGW3fauv9xpYh6EGEoO+7BqvQNx2MDwDjun/jeGsQ3TRQrTgZKwXVlh/T9Z/YorzxJQIJOFr3pLwW5Nx2WtKcusLB9rPBB6nrmwGtBTydv+9Cm2d4OGBG2GEFrCkwiHBmhFeQQHC/vCkQn5j3LNi9WsjL3pRXKYoQyZz00uc9ooEpKh1EBwYWfqinUtuVR4w9zJVbKoZ6GxndAhVftFXrd/JcbCMG5wpx/1I/IfKH3BFwbTPQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=cs.rochester.edu; dmarc=pass action=none
 header.from=cs.rochester.edu; dkim=pass header.d=cs.rochester.edu; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.rochester.edu;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IVwoSMxgdsKV2ir8OdY688nrK/9p6/WPA7C1s5ZhPbY=;
 b=E5V1ytAEsgvEKkUFX22mDfKEkFrtUtGZ3IOjv5yn1OzK+oLYrR40lJBgXFFhh+g+MMrFLlmwZdZA0rUSRTAwhcL3Xmu7uaqW9hiILKb9VcpTi+8ngCR/+UhxL+Ggelr4hGBda1YCVzSQ80LswYKR7w8NMAXeUckprQb5PSJGCGQ=
From: "Johnson, Ethan" <ejohns48@cs.rochester.edu>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: RE: Best way to use altp2m to support VMFUNC EPT-switching?
Thread-Topic: Best way to use altp2m to support VMFUNC EPT-switching?
Thread-Index: AQHZYq9pMx3/e6+HckiXIbnimywZSQ==
Date: Thu, 30 Mar 2023 02:29:11 +0000
Message-ID:
 <BYAPR07MB6040EB2AEC1567C5982FBD51E48E9@BYAPR07MB6040.namprd07.prod.outlook.com>
References:
 <MN2PR07MB6045100322F58085DD6B1488E4BF9@MN2PR07MB6045.namprd07.prod.outlook.com>
 <c12ff321-e1ad-1377-2158-195594fdbe04@citrix.com>
 <MN2PR07MB6045B965DD2DA308C55905F9E4BF9@MN2PR07MB6045.namprd07.prod.outlook.com>
 <a1a814cd-9a76-9828-ffab-5590fcd5925f@citrix.com>
In-Reply-To: <a1a814cd-9a76-9828-ffab-5590fcd5925f@citrix.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=cs.rochester.edu;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BYAPR07MB6040:EE_|BL0PR07MB4993:EE_
x-ms-office365-filtering-correlation-id: 2ade34bc-2479-4c8c-9c8f-08db30c68c11
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 NcDNY6qaseI2zPoiUMuzZba+KldTFJoqwFVsHO4RWs66APeag6kofpMS1PV14hYSKskbP67yI42K1vd58lIOakxkZm9kcx80MQbIbZPfDLVAmy097++zGhp5FJmZ1d1FKlHhb8V/Qc22ad3c8U8Lc1nfVUbZNlDzcwBYas/pWY+y13I/0KhQ/RzA04XMV56N2Yi90NY6U6eLsbfw1uzDdlu2+VTUOmwJjQhTE9zOKBUPtIZcuw/vbMXtaXzn6Q5QRYm5rdF+2K4UxzlofDX1zokBAqPVDY8wbPqGR+D132CAAQi3iO5U8QMqIbgEqJuR/LekuBVmvlgN5dzphkcjc6clCj3L4RYH27SbGiif3VP6iT1aT61203uuHEaFv9dbMPKV69+R6uMDU6ectT5m79BQIulc2RiRtmVGaQjoE+ROpURQoi1gkwNE84qI0EKjeZTydLblsSTm1C39ml+m6YqmpOlrXlCIAHqsgz4SvKkX+ecEIc6nEVtAz3hfUrzo6PlHLBu2oiGoqpKsdKH1awpuwbrj2d1Jyi2ufBJlMye6ASu1n8FLEJzdKu69rvT5Kbr5PgKNGmm4cyBST+mGTo0ySE94TMP7viLYNmxqwdePyGc9UJVAdwx344sEcOmN
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR07MB6040.namprd07.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(136003)(366004)(39860400002)(396003)(451199021)(38100700002)(38070700005)(41300700001)(122000001)(8936002)(5660300002)(2906002)(52536014)(55016003)(86362001)(33656002)(41320700001)(75432002)(316002)(110136005)(478600001)(786003)(71200400001)(7696005)(966005)(6506007)(53546011)(64756008)(83380400001)(66946007)(66446008)(66556008)(66476007)(66899021)(8676002)(186003)(9686003)(76116006)(66574015)(43043002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?c21Bajg1YXQ1NTB2ZWxXVUQxT2NOMk5vRUdRTkpzQldHem54bVlaK3lHSEtL?=
 =?utf-8?B?RzZrTzdsZHc3UUFJb0dlVExsWjJXUGRNVVlhTHJwKzFDQThKL0wwcFVCbndC?=
 =?utf-8?B?bjB3eEd2ZkQwZkN2dTVkbkdRcU5wT1NGNjdxUG1ENkJqUlRpUEorM3NlOEpS?=
 =?utf-8?B?RXU0NDRlZE1rM003a3Z2ZUk5WnByakYxTGsxcTlQMmhlczRsb1ZUSElIaEhn?=
 =?utf-8?B?S1BpTEIrWmNiclVjUE9TbWxkUElUamV1d1l4c1ZUM3E4RUo1YTBzWVNtMlM3?=
 =?utf-8?B?a3dHWXZOeFM1NmcvcldtWGFSOG5LR25Nb04wNjNnVGN5OE1yRis2RzgvZzBo?=
 =?utf-8?B?UzA3a21BbDdZV2dMWENZVHVSY2ZaU3JjZjMyZnJYZm5qYnA3azhUS3ZMaDcz?=
 =?utf-8?B?M2o4MTVsM21pUVd2QmcxVk1MZGZHY0pPUURJR0p2U2ZzQ3hGR1NwbWw5djBT?=
 =?utf-8?B?cVVNQ3RoTVZOT0dYbTZvMDdwSUFsSEVjWWIvZ2QxcUpmM0xabWxlQ0VqZDNI?=
 =?utf-8?B?Qkt5eXJWU3VNdXR4elJOeEF1OTZPb1VHRDBuaUJocFc4bG9hM0lpTFBmcVZl?=
 =?utf-8?B?V1B1KzRxdC9KS29ZRExtcWQycE4rMisxZWR0eGxYNVFjQTNMTTFCNEMzMG02?=
 =?utf-8?B?eE83Y0UyNTBCMVJvZXkrMVdHSTE1S0I5Q0E5akt5SThxTitGRW1JcDlEcGQw?=
 =?utf-8?B?WnpSbkQxR3BFQmtPWnFpaUVUeHBxOHQ3N2tQZnM2QlhkYjNHKzFTNDIxVmFW?=
 =?utf-8?B?TkFlR2xMckQvR1FLQnVsR3VRYjN1QzRwS0J0bXJWMVRwc0JkQ1VudHk4NEtG?=
 =?utf-8?B?bHVJZ0JHS3gzSHhWRFlHYlJaUWw0L0hNSDVnYlVYV0lzekRHUDc1eHZEMllv?=
 =?utf-8?B?cVJZbUJadW5vTGR3NjZOa0FUSmM0SUUvWFNqSXI1eFJzaU9vc3ZKbzRYZ3Jq?=
 =?utf-8?B?VGpPVkNuWHBmbmdEcXlOYUxzQlp6eHNxNmxyT3M3d1JOQytVU0VScG9GVTBm?=
 =?utf-8?B?bG02NG1KNGhUa1hVci9JMkpac2loZ2psZWpacnVWcUYvR2FFZGdYaDkrUG15?=
 =?utf-8?B?U3BwdlRXYWlqYlFLMUlmVzBadWJkak9KWEtGRWJNMTE2L0RqbStyb3h3cW5E?=
 =?utf-8?B?U1ZyRUVEclBmMHByWmNmeWs1RzdBZndEMm5pUzIwdEduWDhYMk5la0kzTWY3?=
 =?utf-8?B?U2ltb1ZIVys2SVBtWS9ZRE1PU00yc3dUMytZUHQ5dGlPbU1YMWR6YzN4OUpU?=
 =?utf-8?B?ZzRrNXN2bnRJbldpdDVMb1prUEtqWXBPZHdGL0VUaENsSGR5cGNUc2ZKS1E3?=
 =?utf-8?B?a2NybWN0S01RSndjbk1GdHk5amJ6bFZBclFlSmVETWk2VktSY0cyR1pEbXBt?=
 =?utf-8?B?TmlxTTF2WG5WbHJ4ZWYzcytpaUQxY1VsV1ZoTkt2djE1WWkybk1Kck9vVmFT?=
 =?utf-8?B?bi83QzloMGpKOW9Nbk0ycUdTWFp3UzRZemxRbzlVTlE2QVZlY1JpdG1udDdq?=
 =?utf-8?B?QkVtRnRpaXoreXZXSS84OHZKRW5TMVA2dlNEWis3bWlIR2dRQ1J6Q2R4ZUs2?=
 =?utf-8?B?VFArOTJwazRVanZwSnFCaHFMcG5ISXk4eUVrTW9qUjBYSTk5MHNsNlNvNW5L?=
 =?utf-8?B?NUNlYUpheElrTzF3Z1lFdkRjSytFeE9EQ05JYWVXVFF1WHJMV0Z6RzFDNWgz?=
 =?utf-8?B?N3ZWaFpJZ3lRb1NQNWpNYWRNRGhESW9WTGE5dEZqNzZQVGZiUklxaCtWUitJ?=
 =?utf-8?B?TDRkRmtHZS9LR2Z3Tk4vVkpIRit6Z2ZHTGxsYXZSYTBienYya1pFQ1U1YVA4?=
 =?utf-8?B?bGNEMmtaN3ZVNDIyVEROaE1NaWkyMUdMcDZIb1VuR1p5ZWVhUm4xYVNEWTVX?=
 =?utf-8?B?L01xWXZ2STZaUVhKTkZJai81Q1g1TlQvZlBGWmRNSkhEM1RnTXR2cTU3SFE1?=
 =?utf-8?B?TXVPd0FXd2JkbkNaejg0ajdiSnFZU21MOUZnWElBd1JYL3hwalUwYmI1YVhk?=
 =?utf-8?B?T243N3RXRzZuZWg0WXU5Z0hRM3lPZjdIbHRoK2Z6VlNPd1ZCYkJZdzBiS3Ax?=
 =?utf-8?B?bEJhaXB4cTNpTHU1ZFRTR0R1WWVFUllUcFJtU3VTU0kxK0xLZkhBZDRDd0wr?=
 =?utf-8?B?UTE3SkRKRHYzNjR2Z3JIS1V4cG9wemYzRUxNOHVyTGwvTC9hK2NUaE8vTms5?=
 =?utf-8?Q?YFZ/5ra03uzJE2a5vyKBHbXtREj5rmZTGnc53Ob7qf7K?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: cs.rochester.edu
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BYAPR07MB6040.namprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2ade34bc-2479-4c8c-9c8f-08db30c68c11
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Mar 2023 02:29:11.4324
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 374e17f4-cf11-4ce2-b3ef-5de76bf4ce41
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3QT5LBKdYt/1BP9ONerLGLMOW56T5BduH8HPKRafn9g63KpeWeCO2uu0GbbiYzXmqT6q5355SHM4BHUf5j7Mmn1a/kK6SqmloInXA6Mbibc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR07MB4993

T24gMjAyMy0wMy0xNiAwMjoxNDoxOCArMDAwMCwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4gT2ss
IHNvIHRoZXJlIGlzIGEgbG90IGhlcmUuICBBcG9sb2dpZXMgaW4gYWR2YW5jZSBmb3IgdGhlIG92
ZXJseSBsb25nDQo+IGFuc3dlci4NCj4NCj4gRmlyc3QsIHdoaWxlIGFsdHAybSB3YXMgZGV2ZWxv
cGVkIGluIHBhcmFsbGVsIHdpdGggRVBUUC1zd2l0Y2hpbmcsIHdlDQo+IHRvb2sgY2FyZSB0byBz
cGxpdCB0aGUgdmVuZG9yIG5ldXRyYWwgcGFydHMgZnJvbSB0aGUgdmVuZG9yIHNwZWNpZmljDQo+
IGJpdHMuICBTbyB3aGlsZSB3ZSBkbyBoYXZlIFZNRlVOQyBzdXBwb3J0LCB0aGF0J3MgY29uc2lk
ZXJlZCAianVzdCIgYQ0KPiBoYXJkd2FyZSBvcHRpbWlzYXRpb24gdG8gc3BlZWQgdXAgdGhlIEhW
TU9QX2FsdHAybV9zd2l0Y2hfcDJtIGh5cGVyY2FsbC4NCj4NCj4gQnV0IGJlZm9yZSB5b3Ugc3Rh
cnQsIGl0IGlzIGltcG9ydGFudCB0byB1bmRlcnN0YW5kIHlvdXIgc2VjdXJpdHkNCj4gYm91bmRh
cmllcy4gIFlvdSd2ZSBmb3VuZCBleHRlcm5hbCBtb2RlLCBhbmQgdGhpcyBpcyBhbGwgYWJvdXQN
Cj4gY29udHJvbGxpbmcgd2hpY2ggYXNwZWN0cyBvZiBhbHRwMm0gdGhlIGd1ZXN0IGNhbiBpbnZv
a2UgaXRzZWxmLCBhbmQNCj4gbW9kZXMgb3RoZXIgdGhhbiBleHRlcm5hbCBsZXQgdGhlIGd1ZXN0
IGlzc3VlIEhWTU9QX2FsdHAybSBvcHMgaXRzZWxmLg0KPg0KPiBJZiB5b3UgcGVybWl0IHRoZSBn
dWVzdCB0byBjaGFuZ2Ugdmlld3MgaXRzZWxmLCBlaXRoZXIgd2l0aCBWTUZVTkMsIG9yDQo+IEhW
TU9QX2FsdHAybV9zd2l0Y2hfcDJtLCB5b3UgaGF2ZSB0byByZWFsaXNlIHRoYXQgdGhlc2UgYXJl
IGp1c3QNCj4gInJlZ3VsYXIiIENQTDAgYWN0aW9ucywgYW5kIGNhbiBiZSBpbnZva2VkIGJ5IGFu
eSBrZXJuZWwgY29kZSwgbm90IGp1c3QNCj4geW91ciBkcml2ZXIuICBpLmUuIHRoZSB1bmlvbiBv
ZiBhbGwgcHJpbWFyeSBhbmQgYWx0ZXJuYXRpdmUgdmlld3MgaXMgb25lDQo+IHNpbmdsZSBzZWN1
cml0eSBkb21haW4uDQo+DQo+IEZvciBzb21lIHVzZWNhc2VzIHRoaXMgaXMgZmluZSwgYnV0IHlv
dXJzIGRvZXNuJ3QgbG9vayBsaWtlIGl0IGZpdHMgaW4NCj4gdGhpcyBjYXRlZ29yeS4gIEluIHBh
cnRpY3VsYXIsIG5vIGFtb3VudCBvZiBwcm90ZWN0aW9uIG9uIHRoZSB0cmFtcG9saW5lDQo+IHBh
Z2VzIHN0b3BzIHNvbWVvbmUgd3JpdGluZyBhIFZNRlVOQyBpbnN0cnVjdGlvbiBlbHNld2hlcmUg
aW4ga2VybmVsDQo+IHNwYWNlIGFuZCBleGVjdXRpbmcgaXQuDQo+DQo+IChJIGhhdmUgc2VlbiBw
bGVudHkgb2YgcmVzZWFyY2ggcGFwZXJzIHRyeSB0byBjb25zdHJ1Y3QgYSBzZWN1cml0eQ0KPiBi
b3VuZGFyeSBhcm91bmQgVk1GVU5DLiAgSSBoYXZlIHlldCBzZWUgb25lIHRoYXQgZG9lcyBzbyBy
b2J1c3RseSwgYnV0IEkNCj4gZG8gZW5qb3kgYmVpbmcgc3VycHJpc2VkIG9uIG9jY2FzaW9uLi4u
KQ0KPg0KPiBUaGUgZmlyc3QgcHJvZHVjdGlvbiB1c2UgdGhpcyB0ZWNobm9sb2d5IEknbSBhd2Fy
ZSBvZiB3YXMgQml0ZGVmZW5kZXIncw0KPiBIVk1JLCB3aGVyZSB0aGUgZ3Vlc3QgaGFkIG5vIGNv
bnRyb2wgYXQgYWxsLCBhbmQgd2FzIHN1YmplY3QgdG8gdGhlDQo+IHBlcm1pc3Npb24gcmVzdHJp
Y3Rpb25zIGltcG9zZWQgb24gaXQgYnkgdGhlIGFnZW50IGluIGRvbTAuICBUaGUgYWdlbnQNCj4g
dHJhcHBlZCBldmVyeXRoaW5nIGl0IGNvbnNpZGVyZWQgc2Vuc2l0aXZlLCBpbmNsdWRpbmcgd3Jp
dGVzIHRvDQo+IHNlbnNpdGl2ZSBhcmVhcyBvZiBtZW1vcnkgdXNpbmcgcmVkdWNlZCBFUFQgcGVy
bWlzc2lvbnMsIGFuZCBlaXRoZXINCj4gcGVybWl0dGVkIGV4ZWN1dGlvbiB0byBjb250aW51ZSwg
b3IgdG9vayBvdGhlciBwcmV2ZW50YXRpdmUgYWN0aW9uLg0KPg0KPiBUaGlzIGhpZ2hsaWdodHMg
YW5vdGhlciBrZXkgcG9pbnQuICBTb21lIGVudGl0eSBpbiB0aGUgc3lzdGVtIG5lZWRzIHRvDQo+
IGRlYWwgd2l0aCBmYXVsdHMgdGhhdCBvY2N1ciB3aGVuIHRoZSBndWVzdCBhY2NpZGVudGFsbHkg
KG9yIG90aGVyd2lzZSkNCj4gdmlvbGF0ZXMgdGhlIHJlZHVjZWQgRVBUIHBlcm1pc3Npb25zLiAg
I1ZFIGlzLCBhZ2FpbiwgYW4gb3B0aW1pc2F0aW9uIHRvDQo+IGxldCB2aW9sYXRpb25zIGJlIGhh
bmRsZWQgaW4gZ3Vlc3QgY29udGV4dCwgcmF0aGVyIHRoYW4gdGFraW5nIGEgVk1FeGl0LA0KPiBi
dXQgZXZlbiB3aXRoICNWRSB0aGUgY29tcGxpY2F0ZWQgY29ybmVyIGNhc2VzIGFyZSBsZWZ0IHRv
IHRoZSBleHRlcm5hbA0KPiBhZ2VudC4NCj4NCj4gV2l0aCBIVk1JLCAjVkUgKGJ1dCBub3QgVk1G
VU5DIElJUkMpIGRpZCBnZXQgdXNlZCBhcyBhbiBvcHRpbWlzYXRpb24gdG8NCj4gbWl0aWdhdGUg
dGhlIHBlcmYgaGl0IGZyb20gV2luZG93J3MgTWVsdGRvd24gbWl0aWdhdGlvbiBlbGVjdGluZyB0
byB1c2UNCj4gTE9DSydkIEJUUy9CVEMgb3BlcmF0aW9ucyBvbiBwYWdldGFibGVzICh3aGljaCB3
ZXJlIHdyaXRlIHByb3RlY3RlZA0KPiBiZWhpbmQgdGhlIHNjZW5lcyksIGJ1dCBJJ20gcmVsaWFi
bHkgaW5mb3JtZWQgdGhhdCB0aGUgaG9vcHMgcmVxdWlyZWQgdG8NCj4ganVtcCB0aHJvdWdoIHRv
IG1ha2UgdGhhdCB3b3JrLCBhbmQgaW4gcGFydGljdWxhciBhdm9pZCB0aGUgbm90aWNlIG9mDQo+
IFBhdGNoR3VhcmQsIHdlcmUgc3Vic3RhbnRpYWwuDQo+DQo+IFBlcmhhcHMgYSBtb3JlIGFjY2Vz
c2libGUgZXhhbXBsZSBpcw0KPiBodHRwczovL2dpdGh1Yi5jb20vaW50ZWwva2VybmVsLWZ1enpl
ci1mb3IteGVuLXByb2plY3QgYW5kIHRoZQ0KPiB1bmRlcmx5aW5nIGxpYnZtaS4gIFRoZXJlIGlz
IGFsc28gYSB2ZXJ5IGJhc2ljIGV4YW1wbGUgaW4NCj4gdG9vbHMvbWlzYy94ZW4tYWNjZXNzLmMg
aW4gdGhlIFhlbiB0cmVlLg0KPg0KPiBGb3IgeW91ciBxdWVzdGlvbiBzcGVjaWZpY2FsbHkgYWJv
dXQgbWFwcGluZyBvdGhlciBmcmFtZXMsIHdlIGRvIGhhdmUNCj4gaHlwZXJjYWxscyB0byBtYXAg
b3RoZXIgZnJhbWVzIChpdHMgbmVjZXNzYXJ5IGZvciBlLmcuIG1hcHBpbmcgQkFScyBvZg0KPiBw
YXNzZWQtdGhyb3VnaCBQQ0kgZGV2aWNlcyksIGJ1dCBmb3Igb2J2aW91cyByZWFzb25zLCBpdCdz
IHJlc3RyaWN0ZWQgdG8NCj4gY29udHJvbCBzb2Z0d2FyZSAoUWVtdSkgaW4gZG9tMC4gIEkgc3Vz
cGVjdCB3ZSBkb24ndCBhY3R1YWxseSBoYXZlIGENCj4gaHlwZXJjYWxsIHRvIG1hcCBNTUlPIGlu
dG8gYW4gYWx0ZXJuYXRpdmUgdmlldywgYnV0IGl0IHNob3VsZG4ndCBiZSBoYXJkDQo+IHRvIGFk
ZCAoaWYgeW91IHN0aWxsIGRlY2lkZSB5b3Ugd2FudCBpdCBieSB0aGUgZW5kIG9mIHRoaXMgZW1h
aWwpLg0KPg0KPg0KPiBCdXQgb24gdG8gdGhlIHNwZWNpZmljcyBvZiBtYXBwaW5nIHRoZSB4QVBJ
QyBwYWdlLiAgU29ycnksIGJ1dA0KPiBpcnJlc3BlY3RpdmUgb2YgYWx0cDJtLCB0aGF0IGlzIGEg
bm9uLXN0YXJ0ZXIsIGZvciByZWFzb25zIHRoYXQgZGF0ZQ0KPiBiYWNrIHRvIH4xOTk3IG9yIHRo
ZXJlYWJvdXRzLg0KPg0KPiBJdCdzIHdvcnRoIHNheWluZyB0aGF0IEFNRCBjYW4gZnVsbHkgdmly
dHVhbGlzZSBJUEkgZGVsaXZlcnkgZnJvbSBvbmUNCj4gdkNQVSB0byBhbm90aGVyIHdpdGhvdXQg
ZWl0aGVyIHRha2luZyBhIFZNRXhpdCBpbiB0aGUgY29tbW9uIGNhc2UsIHNpbmNlDQo+IFplbjEg
KElJUkMpLiAgSW50ZWwgaGFzIGEgc2ltaWxhciBjYXBhYmlsaXR5IHNpbmNlIFNhcHBoaXJlIFJh
cGlkcw0KPiAoSUlSQykuICBYZW4gZG9lc24ndCBzdXBwb3J0IGVpdGhlciB5ZXQsIGJlY2F1c2Ug
dGhlcmUgYXJlIG9ubHkgc28gbWFueQ0KPiBob3VycyBpbiB0aGUgZGF5Li4uDQo+DQo+IEl0IGlz
IHRlY2huaWNhbGx5IHBvc3NpYmxlIHRvIG1hcCB0aGUgeEFQSUMgd2luZG93IGludG8gYSBndWVz
dCwgYW5kDQo+IHN1Y2ggYSBndWVzdCBjb3VsZCBpbnRlcmFjdCB0aGUgcmVhbCBpbnRlcnJ1cHQg
Y29udHJvbGxlci4gIEJ1dCBub3cNCj4geW91J3ZlIGdvdCB0aGUgcHJvYmxlbSB0aGF0IHR3byBi
aXRzIG9mIHNvZnR3YXJlIChYZW4sIGFuZCB5b3VyIG1hZ2ljDQo+IHBpZWNlIG9mIGd1ZXN0IGtl
cm5lbCkgYXJlIHRyeWluZyB0byBkcml2ZXIgdGhlIHNhbWUgc2luZ2xlIGludGVycnVwdA0KPiBj
b250cm9sbGVyLg0KPg0KPiBFdmVuIGlmIHlvdSB3ZXJlIHRvIHNheSB0aGF0IHRoZSBndWVzdCB3
b3VsZCBvbmx5IHVzZSBJQ1IgdG8gc2VuZA0KPiBpbnRlcnJ1cHRzLCB0aGF0IHN0aWxsIGRvZXNu
J3Qgd29yay4gIEluIHhBUElDLCBJQ1IgaXMgZm9ybWVkIG9mIHR3bw0KPiBoYWxmIHJlZ2lzdGVy
cywgYXMgaXQgZGF0ZXMgZnJvbSB0aGUgZGF5cyBvZiAzMmJpdCBwcm9jZXNzb3JzLCB3aXRoIGEN
Cj4gbGFyZ2Ugc3RyaWRlIGJldHdlZW4gdGhlIHR3byBoYWxmIHJlZ2lzdGVycy4NCj4NCj4gVGhl
cmVmb3JlLCBpdCBpcyBhIG1pbmltdW0gb2YgdHdvIHNlcGFyYXRlIGluc3RydWN0aW9ucyAoc2V0
IGRlc3RpbmF0aW9uDQo+IGluIElDUl9ISSwgc2V0IHR5cGUvbW9kZS9ldGMgaW4gSUNSX0xPKSB0
byBzZW5kIGFuIGludGVycnVwdC4NCj4NCj4gQSBjb21tb24gYnVnIGluIGtlcm5lbHMgaXMgdG8g
dHJ5IGFuZCBzZW5kIElQSXMgd2hlbiBpbnRlcnJ1cHRzIGFyZQ0KPiBlbmFibGVkLCBvciBpbiBO
TUkgY29udGV4dCwgYm90aCBvZiB3aGljaCBjb3VsZCBpbnRlcnJ1cHQgYW4gSVBJDQo+IHNlcXVl
bmNlLiAgVGhpcyByZXN1bHRzIGluIGEgc2VxdWVuY2Ugb2Ygd3JpdGVzIChmcm9tIHRoZSBMQVBJ
QydzIHBvaW50DQo+IG9mIHZpZXcpIG9mIElDUl9ISSwgSUNSX0hJLCBJQ1JfTE8sIElDUl9MTywg
d2hpY2ggY2F1c2VzIHRoZSBvdXRlciBJUEkNCj4gdG8gYmUgc2VudCB3aXRoIHRoZSB3cm9uZyBk
ZXN0aW5hdGlvbi4NCj4NCj4gR3Vlc3RzIGFsd2F5cyBleGVjdXRlIHdpdGggSVJRcyBlbmFibGVk
LCBidXQgY2FuIHRha2UgYSBWTUV4aXQgb24gYW55DQo+IGFyYml0cmFyeSBpbnN0cnVjdGlvbiBi
b3VuZGFyeSBmb3Igb3RoZXIgcmVhc29ucywgc28gdGhlIGd1ZXN0IGtlcm5lbA0KPiBjYW4gbmV2
ZXIgYmUgc3VyZSB0aGF0IElDUl9ISSBoYXNuJ3QgYmVlbiBtb2RpZmllZCBieSBYZW4gaW4gdGhl
DQo+IGJhY2tncm91bmQsIGV2ZW4gaWYgaXQgdXNlZCB0d28gYWRqYWNlbnQgaW5zdHJ1Y3Rpb25z
IHRvIHNlbmQgdGhlIElQSS4NCj4NCj4gTm93LCBpZiB5b3Ugd2VyZSB0byBzd2FwIHhBUElDIGZv
ciB4MkFQSUMsIG9uZSBvZiB0aGUgYmlnZ2VyIGNoYW5nZXMgd2FzDQo+IG1ha2luZyBJQ1IgYSBz
aW5nbGUgcmVnaXN0ZXIsIHNvIGl0IGNvdWxkIGJlIHdyaXR0ZW4gYXRvbWljYWxseS4gIEJ1dA0K
PiBub3cgeW91IGhhdmUgYW4gTVNSIGJhc2VkIGludGVyZmFjZSwgbm90IGFuIE1NSU8gYmFzZWQg
aW50ZXJmYWNlLg0KPg0KPiBJdCdzIGFsc28gd29ydGggbm90aW5nIHRoYXQgYW55IHN5c3RlbSB3
aXRoID4yNTQgQ1BVcyBpcyBuZWNlc3NhcmlseQ0KPiBvcGVyYXRpbmcgaW4geDJBUElDIG1vZGUg
KHNvIHRoZXJlIGlzbid0IGFuIHhBUElDIHdpbmRvdyB0byBtYXAsIGV2ZW4gaWYNCj4geW91IHdh
bnRlZCB0byB0cnkpLCBhbmQgYmVjYXVzZSBvZiB0aGUgw4ZQSUMgTGVhayB2dWxuZXJhYmlsaXR5
LCBJY2VMYWtlDQo+IGFuZCBsYXRlciBDUFVzIGFyZSBsb2NrZWQgaW50byB4MkFQSUMgbW9kZSBi
eSBmaXJtd2FyZSwgd2l0aCBubyBvcHRpb24NCj4gdG8gcmV2ZXJ0IGJhY2sgaW50byB4QVBJQyBt
b2RlIGV2ZW4gb24gc21hbGxlciBzeXN0ZW1zLg0KPg0KPiBPbiB0b3Agb2YgdGhhdCwgeW91J3Zl
IHN0aWxsIGdvdCB0aGUgcHJvYmxlbSBvZiBkZXRlcm1pbmluZyB0aGUNCj4gZGVzdGluYXRpb24u
ICBFdmVuIGlmIHRoZSBndWVzdCBjb3VsZCBzZW5kIGFuIElQSSwgaXQgc3RpbGwgaGFzIHRvIGtu
b3cNCj4gdGhlIHBoeXNpY2FsIEFQSUMgSUQgb2YgdGhlIENQVSB0aGUgdGFyZ2V0IHZDUFUgaXMg
Y3VycmVudGx5IHNjaGVkdWxlZA0KPiBvbi4gIEFuZCB5b3UnZCBoYXZlIHRvIGlnbm9yZSB0aGlu
Z3MgbGlrZSB0aGUgbG9naWNhbCBtb2RlIG9yDQo+IGRlc3RpbmF0aW9uIHNob3J0aGFuZHMsIGJl
Y2F1c2UgbXVsdGkvYnJvYWRjYXN0IElQSXMgd2lsbCBoaXQgaW5jb3JyZWN0DQo+IHRhcmdldHMu
DQo+DQo+IE9uIHRvcCBvZiB0aGF0LCBldmVuIGlmIHlvdSBjYW4gZGV0ZXJtaW5lIHRoZSByaWdo
dCBkZXN0aW5hdGlvbiwgaG93DQo+IGRvZXMgdGhlIHRhcmdldCByZWNlaXZlIHRoZSBpbnRlcnJ1
cHQ/ICBUaGVyZSBjYW4gb25seSBiZSBvbmUgZW50aXR5IGluDQo+IHRoZSBzeXN0ZW0gcmVjZWl2
aW5nIElOVFIsIGFuZCB0aGF0J3MgWGVuLiAgU28geW91J3ZlIGdvdCB0byBwaWNrIHNvbWUNCj4g
dmVjdG9yIHRoYXQgWGVuIGtub3dzIHdoYXQgdG8gZG8gd2l0aCwgYnV0IGlzbid0IG90aGVyd2lz
ZSB1c2luZy4NCj4NCj4gTm90IHRvIG1lbnRpb24gdGhlcmUncyBhKG5vdGhlcikgZ2lhbnQgc2Vj
dXJpdHkgaG9sZS4uLiBBIGd1ZXN0IGFibGUgdG8NCj4gaXNzdWUgaW50ZXJydXB0cyBjb3VsZCBq
dXN0IHNlbmQgSU5JVC1TSVBJLVNJUEkgYW5kIHJlc2V0IHRoZSB0YXJnZXQgQ1BVDQo+IGJhY2sg
aW50byByZWFsIG1vZGUgYmVoaW5kIFhlbidzIGJhY2suICBYZW4gd2lsbCBub3QgdGFrZSBraW5k
bHkgdG8gdGhpcy4NCj4NCj4NCj4gU28gd2hpbGUgSSBleHBlY3QgdGhlcmUncyBwbGVudHkgb2Yg
cm9vbSB0byBpbm5vdmF0ZSBvbiB0aGUgcmVhbG0gc3dpdGNoDQo+IGFzcGVjdCBvZiBFUFRQLXN3
aXRjaGluZywgdHJ5aW5nIHRvIHNlbmQgSVBJcyBmcm9tIHdpdGhpbiBndWVzdCBjb250ZXh0DQo+
IGlzIHNvbWV0aGluZyB0aGF0IEkgd2lsbCBmaXJtbHkgc3VnZ2VzdCB5b3UgYXZvaWQuICBUaGVy
ZSBhcmUgZ29vZA0KPiByZWFzb25zIHdoeSBpdCBpcyBzbyBjb21wbGljYXRlZCB0byBnZXQgVk1F
eGl0LWxlc3MgZ3Vlc3QgSVBJcyB3b3JraW5nLg0KPg0KPiB+QW5kcmV3DQoNClRoYW5rIHlvdSBm
b3IgdGhlIGRldGFpbGVkIGFuc3dlcnMgYW5kIGNvbnRleHQuIEkgYW0gc29tZXdoYXQgZW5jb3Vy
YWdlZCB0bw0Kbm90ZSB0aGF0IG1vc3Qgb2YgdGhlIHJvYWRibG9ja3MgeW91IG1lbnRpb25lZCBh
cmUgaXNzdWVzIHdlJ3ZlIHNwZWNpZmljYWxseQ0KY29uc2lkZXJlZCAoYW5kIHRoaW5rIHdlIGhh
dmUgc29sdXRpb25zIGZvcikgaW4gb3VyIGRlc2lnbi4gOi0pIFdlJ3JlIHVzaW5nDQpzb21lIHJh
dGhlciBleG90aWMgY29tcGlsZXItYmFzZWQgaW5zdHJ1bWVudGF0aW9uIG9uIHRoZSBndWVzdCBr
ZXJuZWwgKHBsdXMNCnNvbWUgdHJpY2tzIHdpdGggcHV0dGluZyB0aGUgInNlY3VyZSByZWFsbSIn
cyBwYWdlIHRhYmxlcyBpbiBhIG5vbm92ZXJsYXBwaW5nDQpndWVzdC1waHlzaWNhbCBhZGRyZXNz
IHJhbmdlIHRoYXQgaXNuJ3QgcHJlc2VudCBpbiB0aGUgcHJpbWFyeSBwMm0gdXNlZCBieQ0KdW50
cnVzdGVkIGNvZGUpIHRvIHByZXZlbnQgdGhlIGd1ZXN0IGZyb20gZG9pbmcgdGhpbmdzIGl0IGlz
bid0IHN1cHBvc2VkIHRvDQp3aXRoIFZNRlVOQyBhbmQgKHgyKUFQSUMgYWNjZXNzLCBkZXNwaXRl
IHJ1bm5pbmcgaW4gcmluZyAwIHdpdGhpbiBub24tcm9vdA0KbW9kZS4NCg0KT24gYSBtb3JlIGNv
bmNyZXRlIGxldmVsLCBJIGFtIGxvb2tpbmcgdG8gZG8gdGhlIGZvbGxvd2luZyBmcm9tIHdpdGhp
biB0aGUNCmh5cGVydmlzb3IgKHNwZWNpZmljYWxseSwgZnJvbSB3aXRoaW4gYSBuZXcgaHlwZXJj
YWxsIEkndmUgYWRkZWQpOg0KDQoxKSBHZXQgc29tZSAoaG9zdC0pcGh5c2ljYWwgbWVtb3J5IGZy
YW1lcyBmcm9tIHRoZSBkb21haW4gaGVhcCBhbmQgInBpbiIgdGhlbQ0KdG8gbWFrZSBzdXJlIHRo
ZXkgd29uJ3QgYmUgc3dhcHBlZCBvdXQuDQoNCjIpIENyZWF0ZSBhbiBhbHRwMm0gZm9yIHRoZSBj
YWxsaW5nIChjdXJyZW50KSBkb21haW4uDQoNCjMpIE1hcCBzb21lIG9mIHRoZSBuZXdseS1hbGxv
Y2F0ZWQgcGh5c2ljYWwgZnJhbWVzIGludG8gYm90aCB0aGUgZG9tYWluJ3MNCnByaW1hcnkgcDJt
IGFuZCBpdHMgYWx0cDJtLCB3aXRoIFIvWCBwZXJtaXNzaW9ucy4NCg0KNCkgTWFwIHRoZSByZXN0
IG9mIHRoZSBwaHlzaWNhbCBmcmFtZXMgaW50byBvbmx5IHRoZSBhbHRwMm0gKGFzIFIvVyksIGF0
IGENCmd1ZXN0LXBoeXNpY2FsIGFkZHJlc3MgaGlnaGVyIHRoYW4gdGhlIGVuZCBvZiB0aGUgbWFp
biBwMm0ncyBtYXBwZWQgcmFuZ2UgDQooc3VjaCB0aGF0IHdoZW4gdGhlIHByaW1hcnkgcDJtIGlz
IGFjdGl2ZSwgdGhlIGd1ZXN0IGNhbm5vdCBhY2Nlc3MgdGhlc2UNCnBhZ2VzIHdpdGhvdXQgdGFr
aW5nIGEgaGFyZCBWTS1leGl0IGZhdWx0KS4NCg0KSSd2ZSBiZWVuIHBvcmluZyB0aHJvdWdoIFhl
bidzIHAybSBjb2RlIChlLmcuIHhlbi9hcmNoL3g4Ni9tbS9wMm0uYykgdG8gdHJ5DQp0byB1bmRl
cnN0YW5kIGhvdyB0byBhY2hpZXZlIHRoZXNlIGdvYWxzLCBidXQgd2l0aCBsaXR0bGUgc3VjY2Vz
cy4gQ29tbWVudHMNCmluIHRoZSBwMm0gY29kZSBzZWVtIHRvIGJlIHJhdGhlciBzcGFyc2UsIGFu
ZCBtb3N0bHkgdW5oZWxwZnVsIGZvcg0KdW5kZXJzdGFuZGluZyAod2l0aG91dCBwcmUtdW5kZXJz
dG9vZCBjb250ZXh0KSB3aGF0IG1hbnkgb2YgdGhlIGZ1bmN0aW9ucyBkbw0KYW5kIHdoYXQgaXMg
dGhlIGludGVuZGVkIHdvcmtmbG93IGZvciB1c2luZyB0aGVtLiBGb3IgaW5zdGFuY2UsDQpzaW1p
bGFybHktbmFtZWQgZnVuY3Rpb25zIGxpa2UgZ3Vlc3RfcmVtb3ZlX3BhZ2UoKSBhbmQNCmd1ZXN0
X3BoeXNtYXBfcmVtb3ZlX3BhZ2UoKSBzZWVtIHRvIG9wZXJhdGUgYXQgZGlmZmVyZW50IGxldmVs
cyBvZg0KYWJzdHJhY3Rpb24gKGluIHRlcm1zIG9mIG1lbW9yeSBtYW5hZ2VtZW50LCByZWZjb3Vu
dCBib29ra2VlcGluZywgZXRjLikgYnV0DQppdCBpc24ndCBleHRlcm5hbGx5IG9idmlvdXMgaG93
IHRoZXkncmUgbWVhbnQgdG8gYWxsIGZpdCB0b2dldGhlciBhbmQgYmUgdXNlZA0KYnkgY2xpZW50
IGNvZGUuDQoNCkFueSBzdWdnZXN0aW9ucyBvbiB3aGljaCBwMm0gKG9yIG90aGVyKSBBUElzIEkg
c2hvdWxkIGJlIGZvY3VzaW5nIG9uLCBhbmQgaG93DQp0aGV5J3JlIG1lYW50IHRvIGJlIHVzZWQs
IHdvdWxkIGJlIGdyZWF0bHkgYXBwcmVjaWF0ZWQuIEkgc3VwcG9zZSBpbiB0aGVvcnkgSQ0KY291
bGQganVzdCBieXBhc3MgcDJtIGVudGlyZWx5LCBhbmQgcG9wdWxhdGUgb25lIG9mIHRoZSBWTUNT
J3MgRVBUUC1zd2l0Y2hpbmcNCmFycmF5J3Mgc2xvdHMgZGlyZWN0bHkgd2l0aCBteSBvd24gbWFu
dWFsbHkgY29uc3RydWN0ZWQgcGFnaW5nIGhpZXJhcmNoeQ0KKHNpbmNlIEknbSBlbnZpc2lvbmlu
ZyB0aGUgbWVtb3J5IGxheW91dCBvZiBvdXIgInNlY3VyZSByZWFsbSIgYXMgYmVpbmcgcXVpdGUN
CnNpbXBsZSAtIGl0IG9ubHkgbmVlZHMgYSBoYW5kZnVsIG9mIHBhZ2VzKS4gQnV0IEknZCByYXRo
ZXIgImNvbG9yIHdpdGhpbiB0aGUNCmxpbmVzIiBvZiB0aGUgZXhpc3RpbmcgQVBJcyBpZiBwb3Nz
aWJsZSwgZXNwZWNpYWxseSBzaW5jZSBzb21lIG9mIHRoZSBwYWdlcw0Kd2lsbCBuZWVkIHRvIGJl
IG1hcHBlZCBpbnRvIHRoZSBleGlzdGluZyBwcmltYXJ5IHAybSAoZm9yIHRoZSAiaW5zZWN1cmUN
CnJlYWxtIikgYXMgd2VsbC4NCg0KTXVjaCB0aGFua3MsDQoNCkV0aGFuIEpvaG5zb24NCkNvbXB1
dGVyIFNjaWVuY2UgUGhEIGNhbmRpZGF0ZSwgU3lzdGVtcyBncm91cCwgVW5pdmVyc2l0eSBvZiBS
b2NoZXN0ZXINCmVqb2huczQ4QGNzLnJvY2hlc3Rlci5lZHUNCg==


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 04:29:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 04:29:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516418.800459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phjuU-0007qC-Go; Thu, 30 Mar 2023 04:29:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516418.800459; Thu, 30 Mar 2023 04: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 1phjuU-0007q5-EI; Thu, 30 Mar 2023 04:29:14 +0000
Received: by outflank-mailman (input) for mailman id 516418;
 Thu, 30 Mar 2023 04:29: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 1phjuT-0007pv-IC; Thu, 30 Mar 2023 04:29: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 1phjuT-00031k-Dc; Thu, 30 Mar 2023 04:29: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 1phjuS-0006i4-Uw; Thu, 30 Mar 2023 04:29:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phjuS-0004fs-UV; Thu, 30 Mar 2023 04:29: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=4+Z1L9ne66g13fqgGSK7NQYHnhHOasRAwtHG2fXtGgE=; b=XZ/2L10esqekExjJf3bZnNGLcW
	M2QwiqCEzl7KC38dofg/hAy+gso4B0KdL9xSkOZzBFLI/gDkf5pLUcEZaNG/syuRJROjQwwrKBYBA
	RiDN9dezQZHVsB/yAfK2AEEpWKSlXimVlciwmvtT+yIOCgV1uZ4QkpJugKi5wVDYqBKg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180060-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180060: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=e3e88d90e8d777e38120c32c7b3bbfb9bcf99b79
X-Osstest-Versions-That:
    ovmf=f92a9dce10281c103b04d6b38283e0ff1d677b91
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 04:29:12 +0000

flight 180060 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180060/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 e3e88d90e8d777e38120c32c7b3bbfb9bcf99b79
baseline version:
 ovmf                 f92a9dce10281c103b04d6b38283e0ff1d677b91

Last test of basis   180055  2023-03-29 18:13:35 Z    0 days
Testing same since   180060  2023-03-30 02:42:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Linus Wu <linusx.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
   f92a9dce10..e3e88d90e8  e3e88d90e8d777e38120c32c7b3bbfb9bcf99b79 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 05:10:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 05:10:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516423.800470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phkYj-00055r-ON; Thu, 30 Mar 2023 05:10:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516423.800470; Thu, 30 Mar 2023 05:10:49 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phkYj-00055k-Kj; Thu, 30 Mar 2023 05:10:49 +0000
Received: by outflank-mailman (input) for mailman id 516423;
 Thu, 30 Mar 2023 05:10:48 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1phkYi-00055a-Gs; Thu, 30 Mar 2023 05:10:48 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1phkYi-0004kF-9g; Thu, 30 Mar 2023 05:10:48 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1phkYh-0007yL-Qb; Thu, 30 Mar 2023 05:10:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phkYh-0007Pr-QF; Thu, 30 Mar 2023 05:10:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=uiHriWXGROr0bRsnWewFuuFbKyPkYWpkfCpBBwWMtbc=; b=I581y68e6ofj6NpH9R+TVEDyRi
	2rR0jiTe9Xd5P0O6qNsYw5g1jlQzry6ilmjfM053tC8XdfjcmC0L+td1061CRlQzWnbucqSmfDk26
	Gb3zIK1cHjXmEg8tQ6vWSStAkFYAVASgJVqtjj4m7xOZL2lQYrASaQxH9m/rylv+CMow=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180051-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 180051: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-amd64:debian-hvm-install: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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: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-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=b177892d2d0e8a31122c218989f43130aeba5282
X-Osstest-Versions-That:
    xen=b177892d2d0e8a31122c218989f43130aeba5282
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 05:10:47 +0000

flight 180051 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180051/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail in 180046 pass in 180051
 test-amd64-i386-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail pass in 180046

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 180046
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 180046
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 180046
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 180046
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 180046
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 180046
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 180046
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 180046
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 180046
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl          16 saverestore-support-check    fail   never pass
 test-arm64-arm64-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-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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  b177892d2d0e8a31122c218989f43130aeba5282
baseline version:
 xen                  b177892d2d0e8a31122c218989f43130aeba5282

Last test of basis   180051  2023-03-29 12:19:29 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64-xtf                                              pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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                     fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 Mar 30 06:24:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 06:24:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516429.800483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phli0-0004JW-3P; Thu, 30 Mar 2023 06:24:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516429.800483; Thu, 30 Mar 2023 06:24: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 1phli0-0004JP-0r; Thu, 30 Mar 2023 06:24:28 +0000
Received: by outflank-mailman (input) for mailman id 516429;
 Thu, 30 Mar 2023 06:24:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phlhy-0004JF-Ls
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 06:24:26 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061e.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 83ad2ecf-cec3-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 08:24:24 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM7PR04MB7016.eurprd04.prod.outlook.com (2603:10a6:20b:11e::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 06:24:22 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 06: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: 83ad2ecf-cec3-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FA1pWKPh0iX+ELyufR4wQJU6p9DOsoxA4m37pT5g/QHVVzsS35Y8I8ktASJZ+oyU7EVw52g06h/lr/BxsFGRMC5YOhMxjFGiSPvXie4BlTHiGn1R/t8+BO10/YLcSkHo8dPc3IxXEF0SyogsTQUVKZoDtIRUrj19rrgUyntyGka0GQY+EW+VYFC6ibJzPB9fvDV8FxrcaA6fTUl11+jc2W9R2EoAuwE+13wNwZHyew2z1jwvQvZ3CqOuh1I08BhsUABXSbvRvFN+2WQJFwqhtx0/EgNs/XTbnsXvw1z8ROMRfdcJahItsnvIPV7VLU4YT+Qc+MfxAJx1QNp3+a+Y0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7mOdC9rQoLl9g0HVThCVCan8x/t97IU3MikBflDksjk=;
 b=QVZWywIcwLqyC7ft/O/1cr30ru30ocC9VSZ83q/NgAhs/0cNpNRFoSfdXSRmjY73nW1FbrNb+jZOtHUCDmrLJzcQujXcTJGSe2zRZgjhJmJBNggDCQghTxidPO6wa/4Z46qXASN6diig2aGqkFCdeW1xW1Jy15IwlccHMpEmKGAEAzk+2ib3EIbTHozChkAG/bVDmQFytSs1t0dOT81EwB6jRyTFKNqkdN6OFz/LrMaEbKClizEtafTKa/O1FPAGsNS2pihjrp7Td/sEyuhii4mHr7MKQigbwdXDyK3LhrtxpL87/32TiDL0ua1ZFRCywZkdNvwXyMSZNCLOJzVUYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7mOdC9rQoLl9g0HVThCVCan8x/t97IU3MikBflDksjk=;
 b=e996EoHfB+H9pWAEI7i5UH+0wL3kKxRTVWVD4052b0M4THWwfTezUbD+cg8T+kpXUB4Wl3vIgycbscPPK8nt0IKLKAekVGqmFNLcJPK+4Qn4Yn46VmjS9DZdXPHaPkSkjbz5YzThU28WFcsMsT1dVXb1QaG7b+ZtNJQBjS2OlbEa6dJoIyNavYxUNLubWidm1Le/s/fMRTlCFNJDCyd1ABY5NX+PX6XiJsIxlSCsxtZ3OmLbkTtUELviNNccYGocon7kiOD+BoR4At2cit6AwqSdgLgRG9FMSAy/5RYLprUhrwhhzvkBzTa23x8JNBlgMvcir61sWisTWDnr1s+pqw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8fb2f771-3354-3f52-f923-e7fe7861cfbf@suse.com>
Date: Thu, 30 Mar 2023 08:24:20 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 4/5] multiboot2: parse console= option when setting GOP
 mode
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: marmarek@invisiblethingslab.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Daniel Kiper <daniel.kiper@oracle.com>
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-5-roger.pau@citrix.com>
 <8f7e0393-8c0f-a924-7cee-25b9fca6f739@suse.com>
 <ZCRnU03XDCpqZQ5u@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCRnU03XDCpqZQ5u@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0073.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM7PR04MB7016:EE_
X-MS-Office365-Filtering-Correlation-Id: b435fd20-5700-404e-04bb-08db30e766c7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1iAF5i61gFq/V2CWh3ooXkVG9T7xaud/GslPLy5h74FlKvczjNTF84R3Y2nJS0ag1p1Tn/25SYg1ZaEaGG1T3r3viLPXe9I5PKzt3SGqyLcE+oXTQCkus1vawjQuLJii+Tu2CLO2sDa4U/uIiZ/dbx1n/gUm3wecWkrz8mwKhdXuJkm9BVSCu/1HtwbYqx8Ju+DrOkIfZ4t/mm/Knt3eCnFx8sG+beeVNSjPRFeuQ0HboqyTjXXJbW2lYw4yguRe970xtr9kZjTfHKhV7qI1HU1SoWp2AaE2QSPD9/TnOhJnElaQJwvCp3op3tVpxItQ40UiYwSCJlDj7/5jNRTpRM5/p2F5h04VqGqGa8QplWOaQ/fYTfY2sQazHVSFxE9uy8qur8gliCA6ggU/TOENqB/IrRLLef/LwYYFdTEWApSSSLQN4AaA+sD0+FPX73Q5/MZ2iwxxMa7n8mqdJfM3rHrXNU3iA/OF3h6RtboQPx3oVBl9sVCMX/XDdYVn+zSfXEq2wlNq0Zum+UlgDZXzThiKnYkbdi4jpT8vLPv1H+BR8vXGKbnKoXlS7dD7dLvgAo3cTSEp4zi+m7uJsIIFmhuYrrzLCh9O5ACEKZVb9HxV4QJfMNtWIUYW3Sl82x19YR/6S50US8LSLnILI8xawA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(396003)(136003)(346002)(376002)(39850400004)(451199021)(54906003)(478600001)(316002)(2616005)(36756003)(186003)(38100700002)(31696002)(86362001)(6486002)(53546011)(8936002)(26005)(6512007)(6506007)(5660300002)(31686004)(2906002)(66476007)(66556008)(66946007)(4326008)(8676002)(6916009)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?STBkYjVKeGRiUkFWRldNV1pRVFl3aWcwNVQrYytOSDNiODdjS2trV3pYdVU4?=
 =?utf-8?B?UGpmNkdMZjg3UHRNVGNVanduUTloMDNzTEs0R0w2d1NtdVZiQ0dWU0hYdEFk?=
 =?utf-8?B?MzNFQUx0WGNsRnE0UVM4WElSeTR6MHNqZmd5OS9tTUtBMkRkQTVad2xUZ3Q4?=
 =?utf-8?B?aXhkdmtHbEdVSVZ3Vks2OUt3TE9laEY5V1ZIM1lISFlxdjdyQzk1VXRiMFRH?=
 =?utf-8?B?ay9XQjJkanFkTDRiTW4zbFRUbHM3Y3M0dDM2STAzQ3JQUFE4N3AyVzIrTmNs?=
 =?utf-8?B?TUtadmNoUEtlOGNwSFlwNlI1VDhZUnV4cWJIY0thT0N3eWpxdUZpVEFxZ2pH?=
 =?utf-8?B?TmhOVzh2ZFUyUDF0Z1JQWTZkL1BCVXNQSU11YnU0emNqMkowT250STNsUUww?=
 =?utf-8?B?QnowMklHc3ZNaTZzSTB6VGxtYUdlUWdmTk1ZYWZ1cHdQL2lseUtzRlFwdk9a?=
 =?utf-8?B?QWdYZHBVMCtzOXlNNSs4OUd6UWdnVzhTQ0dGVDRURE1ibUF6emtvZys2cDcz?=
 =?utf-8?B?MUJHNThJNTlqWC9qdlZ0c21DZDJvVy9STnc4cGpwMnRpWHJPVjRFek9DbXJL?=
 =?utf-8?B?dmh2M29nd2tqOXVmMTl5WU9kaGowSE0rRjVVMHZVTFlmRlB1MjE3Vkw5VEV0?=
 =?utf-8?B?bGRPSXpTUlhPWU1ZZWZzanhEUUdYT3pNVkNpUDNjcjlmMjdXTm9kQjlYdjdP?=
 =?utf-8?B?MnpiNWdBUWkrd0p4bnJwTU56QXNDOE90SW1JNDVCdGxmcmhkaUsrSXJHenlT?=
 =?utf-8?B?WlE0RTZOUjAvWEhOS2VGOEFqZFRQRlp0azdGaVhwT29WZFFlY2crYTZoWW9Q?=
 =?utf-8?B?SUU4TlN4bEY0ejRKUExiWm4rcG9UZ05EVEFCQ3lmcC9TaUZCUWF0THRsMGJU?=
 =?utf-8?B?YlN4QmhUMzFEd1JZTDVjS2RMd0dTT0NqQXpaVFprUjNYZkZ5WnFHR25ib3ZT?=
 =?utf-8?B?WS9oRVZwTitWdFJWeGY4RTdnWlBqUThjc2VuV0REbTVhRks0dUQ3S2p2OEhP?=
 =?utf-8?B?Wm1nblNNUE9XcVR1RC90ejVLRlk1b2VsRVU0RXJXeHpDYXIxMWswNlNObEFB?=
 =?utf-8?B?VGhpNVcwRFYySFYrNU9PTWtlVjdqYThuQS9sdGJjZVJMcXEzdllFNHNUa0JB?=
 =?utf-8?B?c1Z3dE5PNXJKMUdPcUFGZGNyVUVzblRqd3NaQm1iVlBsSkkvUGJLMEl2YXRk?=
 =?utf-8?B?ZWlMZktIYWczeVVMdHhWNFNqVEdpWU5xdlFCcXNxOWgzd0MxY3Bha0pJU1gr?=
 =?utf-8?B?azNzZ3JPaU95RENZeFhnUyt6S29VL0s0ME5Tays0R1k4N0YxRUVZdFU4Ym9s?=
 =?utf-8?B?WFVmR2dpd1I0OG4rWXNUamNjdkFwZUxEWFJEQzFoOXRBenpYM3A1bGRURGc2?=
 =?utf-8?B?dzR3ek5RbE5Ed1BMQ0hOOUdvRStnRkFSb2wzLzYydmgrY2h3Vi9vQnBDNVRF?=
 =?utf-8?B?dW9YOHhxMXR5MDYydGNsZjBISkNmK0Z1Wm5tWW5zK3JBVW5XWGNvbG9abVFN?=
 =?utf-8?B?d0NQakFDa3NHWDY2ZExpdUxZcmNTeXE4UStmdjNGK1hOTmI1SVpya29XRjVo?=
 =?utf-8?B?UDhKa2JjT0NtUVBzYTloNnJBTTh2UnZiVFllRWk3ZlVweWRzU2YzR0ZCSTlX?=
 =?utf-8?B?RUswbjFXQXZZSWg0L0loM1BjTmRkd1Y1OVNWYkhBUFozWFdoeWxYSEFET3Vn?=
 =?utf-8?B?REoxRFdYWVB5QlBGMldkdE0vQ2dnKzNDZzNabUd6Q0x1aTVsTFFKUC9JbVBu?=
 =?utf-8?B?emgvSUZHYkQ3MGJhQ3ZqS3ZmZWFWMnEzUmE1R3F1U3kvTk55Z3RXcU9PZSs3?=
 =?utf-8?B?UGwyYWtHSG9acFlYTE5NNUhnQmdiYVU0SzFpdndMald6NEpzMWFEUG9TVkFp?=
 =?utf-8?B?N1YxTFJkZnVSY1M1dWc5ZTRDMFQ0U0J5b1NWQXJsTnhlQUV1anAvN1ZEdjRE?=
 =?utf-8?B?RGxpK2V3b0QvWXlnSVhhU3poMXlCUUdUWnZMaFVlOEtuOTNFZE5KY3hxMG5R?=
 =?utf-8?B?dVIvQ2VjaWhDRXVSOTE3WU1hTzlNTnJMaU5reTE4dGRNNTMxVStXdVlIOGxh?=
 =?utf-8?B?QURDaGxGSHBZY1U1SmRIbU93R3VrSVdHNmlrbXd1c3J6c3lJclJ6ZHM1Znlz?=
 =?utf-8?Q?A3tVMR75mnePHzCYL8ZRasSig?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b435fd20-5700-404e-04bb-08db30e766c7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 06:24:22.5172
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wD8E0j2CseHDiVcvmYPj6sbs4q+DV3xhv0b2+6t+wCLkqNkQAN2b7T0eCEkVHSepq73Hq6QMn0rcrkikU9L/Uw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7016

On 29.03.2023 18:29, Roger Pau Monné wrote:
> On Mon, Dec 05, 2022 at 04:10:28PM +0100, Jan Beulich wrote:
>> On 23.11.2022 16:45, Roger Pau Monne wrote:
>>> @@ -265,6 +266,15 @@ __efi64_mb2_start:
>>>          cmpl    $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx)
>>>          je      .Lrun_bs
>>>  
>>> +        /*
>>> +         * Get command line from Multiboot2 information.
>>> +         * Must be last parsed tag.
>>
>> Why? And how do you guarantee this?
> 
> I think the comment is misleading, must be the last checked for tag in
> the loop that does this in assembly, because it's not using cmove.
> I've adjusted to:
> 
>         /* Get command line from Multiboot2 information. */
>         cmpl    $MULTIBOOT2_TAG_TYPE_CMDLINE,MB2_tag_type(%rcx)
>         jne     .Lno_cmdline
>         lea     MB2_tag_string(%rcx),%rdx
>         jmp     .Lefi_mb2_next_tag
> .Lno_cmdline:
> 
> Maybe there's some instruction I'm missing similar to a conditional
> lea?

There isn't. If you want to get away without conditional branch, then
you'll need to LEA to a scratch register (unconditional) and then
CMOVcc from that scratch register.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 06:55:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 06:55:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516433.800493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phmBu-0007rC-Jw; Thu, 30 Mar 2023 06:55:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516433.800493; Thu, 30 Mar 2023 06:55: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 1phmBu-0007r5-GU; Thu, 30 Mar 2023 06:55:22 +0000
Received: by outflank-mailman (input) for mailman id 516433;
 Thu, 30 Mar 2023 06:55: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phmBt-0007qz-Hh
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 06:55:21 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0620.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d5611bfc-cec7-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 08:55:20 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS5PR04MB10058.eurprd04.prod.outlook.com (2603:10a6:20b:683::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 06:55:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 06:55: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: d5611bfc-cec7-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JuP7ZS7JaS82xgIPPnCKTFLVC6emAqQlvEM8QChTBpWO0NB74XTi6Kh1mZd2kU4EQoEkVkYZ5HW7pD/P6Gk7lSYPYRKpYF5tT6NN0vH6TYjHlYaQxOB0lb4Se3cdnVGIxvcXBigM1IK6rRwLU10n9dGmVNN8QQFRyHycYPjKETC8kknxtoCM2UPF4nDbohIbnN0CIO559/XEEgR7M3S2cWfWiew7ZyauXmTXwfF8wBuF6OEydEd06QJu7XCgtZyDA/f4Kw24LCJ5LbUfxsHO2nw9/tPDSf1ctl/3KRlS77PZ0QsZHOiDUaZWNJQ2QV9NCXT/AjpXsls51t0uSpnJ5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ig8A952EM7iw9scAtj6SUv+cQh/8f3uyhdczDEc3b8g=;
 b=h+QbLXfhylTW41/DKG/mIls9wE+Afz0ejkWUuCmScN9fPp9M8qLwZk2zxlamhcoZqL9EwKsgjJBTcTYsRbe3k8rt/xi4t2mTiJySxNCCtl5htsU/pal2FFTZSyeQBfq/NN2N4TSj5AxgGklD+N2/l7ZYhpdeTCglv6tFGDPXIfZuNS8iDRIYopK+o0QlL540ONHFDze0SbbAuqVEse4TGBfiTkk3IWQkZ/joURk7acAYlshZ0pZ97D1i6eC3Zda10H/p21jKMN6u0ZlV3iReSMRGXBj0G0xju5X/GsvT5s1uwf3hlQyfLwZV6a8CNSo/hqfGi1H6AZF1d3mqle9QRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ig8A952EM7iw9scAtj6SUv+cQh/8f3uyhdczDEc3b8g=;
 b=EExd9uEvsc+qyD0VuCwAGLeaVDd9v/1kXoSVlB2aYgAWm/Dw1yR2ePnHKKylV7UiD3+BDP/JXH2Y5k6bKm/fYoanFR7qD/rLQUDPxzOOE/NcuCXkWlzph2t3RaYncwLwX+U3S17yIRU2vWk+oKtpETu7CaSA9PwAkXd0gGFmNZCGSJeSxf4nCC/spG2fRMZSvQbA99gJ+/JMtm7KD9aM07wGedAhlAj3ZBYiiIVlPSX2ZyLLE/ptIzNSJngvrb/8kCrempg51eZwD0oun162IPL86asQnzZx2MSv88fGGqETw8/AAkgvzvF/V/87OjPCmxS16DkOwZ7t8PW/cjC5GA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6196e90f-752e-e61a-45ce-37e46c22b812@suse.com>
Date: Thu, 30 Mar 2023 08:55:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [XEN v4 04/11] xen/drivers: ns16550: Use paddr_t for
 io_base/io_size
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com, julien@xen.org,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, wl@xen.org,
 rahul.singh@arm.com, xen-devel@lists.xenproject.org
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-5-ayan.kumar.halder@amd.com>
 <197973ce-2361-f3e4-fd38-40b4ad802acf@suse.com>
 <3e403b20-fa1a-5e0c-8e14-b89afbb10a0f@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3e403b20-fa1a-5e0c-8e14-b89afbb10a0f@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0057.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS5PR04MB10058:EE_
X-MS-Office365-Filtering-Correlation-Id: bc73646c-703c-4204-7ea7-08db30ebb839
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UjbwyEh34MksPHWTolHzwr96WGgaWwyxvnclzE7yv22U/exjg69KPz5uemrz+AJ3yDBRQUD27o4o2AI1nzc74g3w/aKUdvjakIuqSjv8LjX+AdtXVfDKhCufOEWkvgQGijXC+NTC9/0AqTgplugdSUXOBjtfZs5GM42QVtg2Mb34undrWiglrOkoX1+az9mNhAEftkKS+gpEUFVv0PPcyOv7l/APsyjgPY3sbQTW7e9GUw5QbGUB5E9mNPSzaRytQ4UOknpiMQIaxaIHZZ6FefIZddUv5b5BJOL5YpU5c9VK2DDUJtIlPNGwnMG15gXWRMbu6HqN3LMAniA5/Ojnb4UdQLJEaeaBDVUloRGruf01GEPbeQZlvyvxQB+CwiPXgXMOjA/9jOrJ6JLWfOj/pSGrBtPiwdc+fjjorfCiA/kpHFZOBWVJ5GaWBqKTMirwo7vG6wxWsSrCSyXAIDULf1p9y1sk6XRJ1nma7G4o3faxA+8sk9i/0IVIhXosbsDm5Yfmuu5wy4dp88296Hw5rROfm60s5h4MbP6XE30lQW9fhY9Bu8LcEDc+KTAp3dgjDPBKeOwuWidefyhMbRXcWMVSMkrQ55QRPnhYlBVVsm82qX+jTv74Sz1O5IW1hwEu8YGlh5fVammFrSQ5+uqBMA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(346002)(376002)(39860400002)(366004)(396003)(451199021)(186003)(316002)(66946007)(110136005)(31686004)(4326008)(53546011)(6506007)(6512007)(66556008)(66476007)(8676002)(26005)(41300700001)(478600001)(8936002)(2616005)(83380400001)(5660300002)(7416002)(2906002)(6486002)(38100700002)(36756003)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RXZwTGsrUmtHSS9FY2RKbEJjNmVWK2hGNEs0SHhFTzJHa1owSndJS3duVTYr?=
 =?utf-8?B?U0RVbSsxMUVCeEpwUUExVTB6VEpLZkVmdkt0cGlqbVZWQkx0cUxmQ1RVUmJZ?=
 =?utf-8?B?aHNiMEtYMlpxVlkydzAxSjFVUzF5OWM1OEJjVitkWXZiSDFvbGFyVDJoZWda?=
 =?utf-8?B?T0tLbmxMekZFZXpWWk9mYllPZzJjT2cwb2J6YXZLOXZUR2NMbjkvb3dFbnRN?=
 =?utf-8?B?aTNIbllIZ0dwbzFZQno0bWkwaWowSTcza2VSQVBCSDdXTEMweEhxWEVIWnBD?=
 =?utf-8?B?dlppNXJFc05DcHpJNXNsaG1YSEhvLy9rZTZscU9zNHp6V05ZbUx4aVpJaXB1?=
 =?utf-8?B?Z01jc1RCWXdjTmllQzBMSzEvWFJTdUlLZjk1QU14RndGb0UwMWNzMk9aNml4?=
 =?utf-8?B?aVJkMk0xdFpKamxNSGFIYUtNWEg1VkR0QWZ4bkdUZkpaQ2lrc01IbERrR0t2?=
 =?utf-8?B?UGxTTER1Z0hHSXNiZlJVR1RmcGx3MWVMTVlYTHdZbDV5NzlxTXJQelZLTHlk?=
 =?utf-8?B?RXFPdlcvc0tFYmpBRnZkMFRiZjJ0VG5pL0hNc0J4ZEVnTkpncnBPaVZJVitP?=
 =?utf-8?B?UmtiVTBOMDJmdmVlVlRBTWNYQU1XNXZLNzRCZC82bDFrbzQ1czlMNEpTcnlk?=
 =?utf-8?B?a0tVcG5UWXdLaTRjdkNmYy9HV1o1SWgyTlg4dWJFQkQ2aWc1Wm5scFhxREc5?=
 =?utf-8?B?elFDMVZWQWZzcm5ycitKeldqRVhNeE44ZVhOL0JyMVl1dVo4UXFIZUNrb3o5?=
 =?utf-8?B?NlRqcXd3ZE4wQTU3ZUd0T0ZvQTRmSVBWQXpmeHNPZ3FMSzN0a2tjdDdQYU1Z?=
 =?utf-8?B?eXcrZEpDZHRPTW00TkVCaWEweDJoeUVYVDMvTjVmVjl0QzZhUE5KMHdwNWZF?=
 =?utf-8?B?ZGVBMG1ucVNoeEh5ZDdvQ0lHRlMrS3RJcm1aS2NXN0h0TW5sek1IUHpNbTBT?=
 =?utf-8?B?QVZHay9QbENPM0haUDNRZVhVMEZ4NEwzZHg3aDRnd3p6dHFNcFhmM29pVnVt?=
 =?utf-8?B?MlZDMXRTWXlLMjlybFJDMXRWMG9uQ2JGcDRnMFFoQnpaeWZJaEd5Q0pSalB1?=
 =?utf-8?B?eGNBRkwzRlVuSzdJOXRhQi93T0tRRnhIaWJmUGkzdjBnWG5DYmRuVUQzeFQz?=
 =?utf-8?B?cGdwZldFYWI0bHVhdWk1dXdmWlZSMXVsNnA4SXRRSW1UWGxuRkR5ZWNCZ0FD?=
 =?utf-8?B?d3ZHR3QvWGUwTTZmeGxDQ1hnWXdNMlRHV2JpVER3QjliSUl0b1lOcFhkVHAx?=
 =?utf-8?B?a2ZlTUc0Ym5semZxWm1McG9CRGtsK0lHS1JjeTZXaHJhTWg5dEx3MU1FU1dQ?=
 =?utf-8?B?ZlEvNzJRNkhNaEtZQkx5OVhQQndOL3NLYyszOHUxM2tpOTNyaWdkbSt5bjVX?=
 =?utf-8?B?aWx5UTkxNmNabi9CTmpVdUE2VTNUNWs5WFVzV3dYUWcwNGd6ekoreVJQeFNQ?=
 =?utf-8?B?OUtEY3JxZjJ0WnFTbEs5UThKZGZGYyt1aVMwR1NQSGtINit3UVh0aHZGaUZ0?=
 =?utf-8?B?bzFmcmJIL09oT1FxU2dzYnNxMm1MRnh2WlJLanNmT3k5TDFYQll4ZXlYd0ly?=
 =?utf-8?B?b2QxcHV0SW5JVEJrQW0zVWZ0bkJMa1dueno2bGNCMHJwbWh2Z0JqZS9rc0hF?=
 =?utf-8?B?NWVDS3ZFa01zRG9tVEVyWDJmUUVaUVV0STdCNVlKR05ZZXo4Nmd5Z2lUWXEw?=
 =?utf-8?B?NGFWL3FtTXVWd1RqZlhXbHAxNTFnRGNQYkRobklSREFVUDNCZEZyU1laMjdU?=
 =?utf-8?B?VnNHaFJUQXdGWllYMVZQUjVYbFkyenNiM3VVbEhadTNod01FNjZxSUhId0Ja?=
 =?utf-8?B?RlVweTRiMmp3NFlkTjliTjVKeFBEU1VYajlZa2dpck1idGFZN1FmVVpQU0o0?=
 =?utf-8?B?VmVtNGlXUUlzRzhZSEZqcTlDaWZJTzFNYmJwNWdEL2gvbkdGYW9DRThYbzZO?=
 =?utf-8?B?a1Vmd0R5NnBiaGN6R0pFa1JSa1NQd1d4TndMUGlITUtncU5qTjBTdDVBdmVs?=
 =?utf-8?B?dEFSemFNTkxEQW55S1JiTlprc2pYWkMreEs5N0lIQ1NkQ29Lalh0RUIvNUor?=
 =?utf-8?B?bm9RMUpLa0xwdHdlaTFUMjYyTE5YTXpSajFvNjBRZEpmWnhnYXErZmVMb2pP?=
 =?utf-8?Q?hSzClnnli7PZAfB3i9QFBi/SP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bc73646c-703c-4204-7ea7-08db30ebb839
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 06:55:17.0918
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: I6aB5uM4wBS5J+PhbbFscGzSEhwN+PehEA54VFMdPbYEGEcs6b25Djdpw9Gs8JBUlK/vBxYL++gtfDgoVdjAGw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10058

On 29.03.2023 16:35, Ayan Kumar Halder wrote:
> Please let me know if the below patch looks fine.

Apart from the comments below there may be formatting issues, which
I can't sensibly comment on when the patch was mangled by your mailer
anyway. (Which in turn is why it is generally better to properly send
a new version, rather than replying with kind-of-a-new-version on an
earlier thread.)

Additionally, up front: I'm sorry for the extra requests, but I'm
afraid to sensibly make the changes you want to make some things need
sorting first, to avoid extending pre-existing clumsiness. This is
irrespective of the present state of things clearly not being your
fault.

> @@ -1235,6 +1235,8 @@ pci_uart_config(struct ns16550 *uart, bool_t 
> skip_amt, unsigned int idx)
>                   /* MMIO based */
>                   if ( param->mmio && !(bar & PCI_BASE_ADDRESS_SPACE_IO) )
>                   {
> +                    uint64_t pci_uart_io_base;
> +
>                       pci_conf_write32(PCI_SBDF(0, b, d, f),
>                                        PCI_BASE_ADDRESS_0 + bar_idx*4, ~0u);
>                       len = pci_conf_read32(PCI_SBDF(0, b, d, f),
> @@ -1259,8 +1261,17 @@ pci_uart_config(struct ns16550 *uart, bool_t 
> skip_amt, unsigned int idx)
>                       else
>                           size = len & PCI_BASE_ADDRESS_MEM_MASK;
> 
> -                    uart->io_base = ((u64)bar_64 << 32) |
> -                                    (bar & PCI_BASE_ADDRESS_MEM_MASK);
> +                    pci_uart_io_base = ((uint64_t)bar_64 << 32) |
> +                                        (bar & PCI_BASE_ADDRESS_MEM_MASK);
> +
> +                    /* Truncation detected while converting to paddr_t */
> +                    if ( pci_uart_io_base != (paddr_t)pci_uart_io_base )
> +                    {
> +                        printk("ERROR: Truncation detected for io_base 
> address");
> +                        return -EINVAL;
> +                    }

Further down the function returns -1, so here you assume EINVAL != 1.
Such assumptions (and mixing of value spaces) is generally not a good
idea. Since there are other issues (see below), maybe you really want
to add a prereq patch addressing those? That would include changing the
"return -1" to either "return 1" or making it use some sensible and
properly distinguishable errno value.

> @@ -1519,20 +1530,40 @@ static bool __init parse_positional(struct 
> ns16550 *uart, char **str)
>   #ifdef CONFIG_HAS_PCI
>           if ( strncmp(conf, "pci", 3) == 0 )
>           {
> -            if ( pci_uart_config(uart, 1/* skip AMT */, uart - 
> ns16550_com) )
> +            int ret;
> +
> +            ret = pci_uart_config(uart, 1/* skip AMT */, uart - 
> ns16550_com);
> +
> +            if ( ret == -EINVAL )
> +                return false;
> +            else if ( ret )
>                   return true;

With skip_amt != 0 the function presently can only return 0. You're
therefore converting pre-existing dead code to another form of dead
code. Otoh (and as, I think, previously indicated) ...

> +
>               conf += 3;
>           }
>           else if ( strncmp(conf, "amt", 3) == 0 )
>           {
> -            if ( pci_uart_config(uart, 0, uart - ns16550_com) )
> +            int ret = pci_uart_config(uart, 0, uart - ns16550_com);
> +
> +            if ( ret == -EINVAL )
> +                return false;
> +            else if ( ret )
>                   return true;

... the equivalent of this in parse_namevalue_pairs() not checking
the return value is bogus. But it is further bogus that the case
where skip_amt has passed 1 for it sets dev_set to true
unconditionally, i.e. even when no device was found. IOW I also
question the correctness of the final "return 0" in pci_uart_config().
I looks to me as if this wants to be a skip_amt-independent
"return -ENODEV". skip_amt would only control whether uart->io_base is
restored before returning (leaving aside the question of why that is).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 07:35:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 07:35:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516436.800502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phmoU-0003uZ-J4; Thu, 30 Mar 2023 07:35:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516436.800502; Thu, 30 Mar 2023 07:35: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 1phmoU-0003uS-GS; Thu, 30 Mar 2023 07:35:14 +0000
Received: by outflank-mailman (input) for mailman id 516436;
 Thu, 30 Mar 2023 07:35: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=u6CU=7W=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1phmoS-0003sp-J7
 for xen-devel@lists.xen.org; Thu, 30 Mar 2023 07:35:12 +0000
Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com
 [2607:f8b0:4864:20::102c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 648bc214-cecd-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 09:35:10 +0200 (CEST)
Received: by mail-pj1-x102c.google.com with SMTP id
 lr16-20020a17090b4b9000b0023f187954acso18728875pjb.2
 for <xen-devel@lists.xen.org>; Thu, 30 Mar 2023 00:35:08 -0700 (PDT)
Received: from localhost ([122.172.85.168]) by smtp.gmail.com with ESMTPSA id
 q27-20020a63505b000000b0050bebfe464dsm22584611pgl.53.2023.03.30.00.35.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Mar 2023 00:35: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: 648bc214-cecd-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1680161706;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=WSnfA1xgOrFdrD1/DW7OzeR7rpuxX2XteyLNIaEJqAY=;
        b=mKHZeRK2T67SBQRQnLlCNRWdHicKqCwoQhpM3ylzBn9jEOn8YzHce33QTb3P0pLxTw
         pHojPgD4QgActMYmWuZRqijtUrCo1FkY49EKdd3ibiGtJOQuSfphxxVh8zgok06rhU0N
         vC5j0FNcCg+RlbV4gUTGr8WjpPks+kedZ0KLoFEmf3Tvr/bhM0xmbNz8w7khbOObZEsr
         cQRVIqYSlrhqpr4fgweeETBn5syQnP5zBfvgIQUtoL1Sq4LH9e9xBu6fLzhsNIDJ6MYn
         DBsUtenVWwVrOe11m+9f52K31OdVhtt4qXdP26oYpjsmSjKas9NlN7aR5yEBN4YmRAu/
         +U/A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680161706;
        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=WSnfA1xgOrFdrD1/DW7OzeR7rpuxX2XteyLNIaEJqAY=;
        b=T9NCRpSFlxY3M0Gm7/Fddg286LwAYicA7F0NUSP9xnOyFLWQJiijux205fTuvzRJdY
         wP/1UsiCjf2lzkkcpJGls50XD1mTYy3d+lVBBkzOuF3h7NPj31zMGr1d8kcKGMPNxb0x
         BZMhXx9wqrw7U2COFH9gTn4L/4AW9FtpRn4chlsOHvlkNdtqOZEJbo0Lj/bD1AaIcQwb
         InF6bFFGnvXFUxe55PFrCegrPDu0zhmrwf7ntKKpTYFb2zyn3mg0F3RHlf1zcRtsdpF2
         KfKnyWkMHPs/1rAzOIzpyUrSU7v80veTH8UcJTdPzh+S+Xb6PWQFFxoEToc2Cuanh5Y9
         vheA==
X-Gm-Message-State: AAQBX9fQq/g+9UltuLvhaXmLSaT8CIyNw0lwhmfOzrYLoi+8MPk1ZbMa
	rHlzIKWcdD4aOAvcpoNRujnba/VV0cl+TkV/zbU=
X-Google-Smtp-Source: AKy350akyf7uqfZf0nMu+zqKFWa+fISDa2zCy8RuuYyd57sXyKt8Te3SQUefftZ0budYajOZBItyAg==
X-Received: by 2002:a17:903:5c8:b0:1a1:ad52:4060 with SMTP id kf8-20020a17090305c800b001a1ad524060mr19378730plb.20.1680161706074;
        Thu, 30 Mar 2023 00:35:06 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Erik Schilling <erik.schilling@linaro.org>
Subject: [PATCH] libxl: fix matching of generic virtio device
Date: Thu, 30 Mar 2023 13:05:02 +0530
Message-Id: <210b5be4b7e84fce1519663f28ca24f6761fb2cb.1680161663.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The strings won't be an exact match, and we are only looking to match
the prefix here, i.e. "virtio,device". This is already done properly in
libxl_virtio.c file, lets do the same here too.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 tools/libs/light/libxl_arm.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index ddc7b2a15975..97c80d7ed0fa 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -1033,10 +1033,14 @@ static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt, uint64_t base,
     } else if (!strcmp(type, VIRTIO_DEVICE_TYPE_GPIO)) {
         res = make_virtio_mmio_node_gpio(gc, fdt);
         if (res) return res;
-    } else if (strcmp(type, VIRTIO_DEVICE_TYPE_GENERIC)) {
-        /* Doesn't match generic virtio device */
-        LOG(ERROR, "Invalid type for virtio device: %s", type);
-        return -EINVAL;
+    } else {
+        int len = sizeof(VIRTIO_DEVICE_TYPE_GENERIC) - 1;
+
+        if (strncmp(type, VIRTIO_DEVICE_TYPE_GENERIC, len)) {
+            /* Doesn't match generic virtio device */
+            LOG(ERROR, "Invalid type for virtio device: %s", type);
+            return -EINVAL;
+        }
     }
 
     return fdt_end_node(fdt);
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 07:53:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 07:53:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516439.800512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phn6B-0006Kq-2u; Thu, 30 Mar 2023 07:53:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516439.800512; Thu, 30 Mar 2023 07: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 1phn6B-0006Kj-0C; Thu, 30 Mar 2023 07:53:31 +0000
Received: by outflank-mailman (input) for mailman id 516439;
 Thu, 30 Mar 2023 07:53: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phn69-0006Kd-J8
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 07:53:29 +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 f4640ae2-cecf-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 09:53:28 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9714.eurprd04.prod.outlook.com (2603:10a6:20b:4f8::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Thu, 30 Mar
 2023 07:53:25 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 07:53:25 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4640ae2-cecf-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YAtEcToWzKr9JuDmD075lsgn70h7pQsmIbt0tNOCyoLesJ+A+pnutwe2ebYmorxOWw7UfBBc14CgQO+4Gf1rdKSotKNbbQadcM9++/+MGWqs++Ap+9mO/LS3V9fYRtNRGf8iLXiCr7wdvr3uyraMJ1NwKVNAD/Ny6garjDwg3Ydl1jKtxuqAlrCW5GS3NGVYBCMNkT1vQFoXV0CAy6mChPNFSypgqVOYvsEUEAaKEGI4pLyMe1VzCp2g0NWIwHliSJolLnYIWyT5PUA7IvSb6QGwEh4ex9mchH1GGH3qkUWIGRT6hjn5LejwPkQZoG7nLZNr7NVPcFrpanwqyBRi8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FmyaIWbGd1F1rkkKU61F9iEiMyNoCr2Iem4Xj6WltIQ=;
 b=A52+QWnQUlUrjjWfBzPZ7PwTYmUDnQ/LeAMEqX6ZjC2L2jPIaJR18BcCEGyYgo/K3mzxIXwh+6KvvYRAPygzcNq/rvTYXy5IgXisf+xqNoqcakg76JL23yi2xgsQKy1VNBHenuBzM0cc6Iilv4qeu8O7HVT7+Hnv/vyM+YiNv6xkl4AWGpQWIYn7vOQ2EjVRld3sSwXwSzOccYqDB8dt1sq1xfTHtt6iKZF0qgvXnWK9MIGkKfP+4lwZ5wwwPVNUNV877t4ZKHeByt916yylGqXRA5MFwG/OiMMX8u3WoJMchPBLiu2ZNCzP5xB1wHD6UJvVxD0HjlCeP3eRLRYlIg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FmyaIWbGd1F1rkkKU61F9iEiMyNoCr2Iem4Xj6WltIQ=;
 b=CibbvvkuxTG4XDWtF9WlRmlbfXDz/u5YLuVMPSu9+V6aqGRaNnwvEfZ1OILJxPzY/rbaVFpTqyYlI1rsIp0arLe82at/loVV8r054DalQByUU1qM1wVdJBvkgt8K1ou7BaBymIdsC86D+mQGyG7YCD2uAm3JxTRHGebi2MYkkQlx61kMqc4m16U0xaFLEJfIpLQNVSWtLyxJcQKXl1K0dP8lh8DXyQpo+z8YvGrKTKnT1ga0yB4nxYdhjj3pb/kkjN/rzGN59kwknjyjqQ1qWPSp9jMQ++BcLQUmVDT88VAriprVixii+q6JjrxYBKnJVgI+DPzEmus9yxYMXVtP/w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <600f8643-fddb-e9f8-3d73-41eead3d7cfa@suse.com>
Date: Thu, 30 Mar 2023 09:53:23 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 0/8] x86emul: a few small steps towards disintegration
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: <7f5287ad-8442-6c53-d513-f9a8345c4857@suse.com>
 <ZCL3W/HrwLANuE/0@Air-de-Roger>
 <40d58ac1-d0bb-afed-c0ae-c545c7bff30c@suse.com>
 <ZCRIbKcfi8hn1m8Z@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCRIbKcfi8hn1m8Z@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0157.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS4PR04MB9714:EE_
X-MS-Office365-Filtering-Correlation-Id: a35676f7-8178-4943-2638-08db30f3d732
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UmvGDAKeNGXdWH3Wh3ZlwJHelJN2PvvtN6cNnSQvubk3GaaceIbXmGcXuDMIZ6R6DxDonDtehFC/Vma++A6FBQrRPSgifAfnc0SmtVPWUNv5Q/kQcLneQWdp9K8kMVf62XmGO0kbiKTCdmNDvsPCHMkM3IMXsdR/ob1gctx/VskeMGuA8GUykDsYWusPcJL/F2ZfR+1dsSSUNr1e46Dk/k2ZBwz9ejFl4xbujl1ggliKuuUKsCJQg3uVzDftbQk0FdR8RUDeezeBFjzNkdQdKlEuE9nyk8qMj3qSjfLN7V5iInvzbvFGobjInQcGVzo2Z3VQWu0ttnBFEk5ZcPk+LMXi0YzMoP/OfBB+jKwRUwKEMX3/LzjSh/F0ZD4Y08Sy2LfmmZU0XhB5kOoHcnL2t5MhfrvvmUs5nk69nkL4BrJghar7yPKzo0SzT+jI7dOqu+GKesje4nRwGjWjVEze2bZoy3LJ9Aobb+nBiQHeM2BculJaGJp7NS5L5HBRW5zl/9w8E/dKT6yrih5PTlHJrSagwfN3hLjgRxDVu4/Mg/WvEWf9Ce8I7QMjuTfECDKMGa3Y4DFCTgi6DmJM246gQ80f9zpqXSFbk+xDwo7lJgsaVciqThxb+iim5hjTI/13lp8jbIAuoSaZVLWIQAj1Jw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(39860400002)(366004)(396003)(451199021)(186003)(478600001)(6506007)(38100700002)(66556008)(6916009)(316002)(66946007)(66476007)(8676002)(26005)(54906003)(4326008)(6486002)(2616005)(66899021)(31686004)(41300700001)(53546011)(36756003)(8936002)(6512007)(86362001)(31696002)(5660300002)(2906002)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MFhXVEJHeDZKSG0weDhBK3cySmNTTlpjUFkxajBodERQQmVja1FBems3WTIv?=
 =?utf-8?B?OG0zYmE0WjhaME4xODg2VTZjNlVvZ0ZjeHZZM0ZWakE2VUhXa2pFdTdKTjdG?=
 =?utf-8?B?aGlDbmZ5RkZ0Z2VLWmp1MUhiek9oYVl2c0c3My9wZ2svVCtSdUIvcllydnVQ?=
 =?utf-8?B?Vk9lZkphZ1hyOVBqTjgxQkRlVjNLdnNZV090Sks1bUUxME5GVXc5ZmlMNGJx?=
 =?utf-8?B?dE82YzlyYWNwaDgwOXlMcTRJbTRadFJraFZNMTBjYTJVWjVMSE9lM0E2WlNL?=
 =?utf-8?B?YlZ6bDFoaWcyb2NsZkF6VFNBQVd0OHdUQWtzME0yeHNlckNPZ1VpaDRUM0x4?=
 =?utf-8?B?UHlDMS9BMk1HSkl0enpoL2hnWVFSS2JQcDFtNU5YNm1md21IU1NTdzkvbUQ3?=
 =?utf-8?B?c2c1WmNjeWhlUzVzZ2dGTmJlcVRSelhQMFk1ZjNlbVFkVVFIdER6bk80Ni9z?=
 =?utf-8?B?cXR5Tk1iNDFqRFFWdUZZb3Y0V2x1aS9JUUpPYXFPdW12bkU1dmRGcC9MUkcx?=
 =?utf-8?B?ZkE3WW5GR1o1Q3orWlR6REZtNG82c2ZTZkp0ZCt3Z21EMXZQSWdEY1I0c3Y2?=
 =?utf-8?B?bHN3Z0w0ZjhHV0x4SFQzR1BYeTMyWFNpeUZoUTVLWXk1bnQ5b3YyQjVvNW9F?=
 =?utf-8?B?a0pURnV1dnJ5K2RRVWgxUVFuMXNkVU13c1V1ZFBVQ0ZYZTd1Y2llb0NIcnVl?=
 =?utf-8?B?UUcwdWh5b3hpQ2FrOFNvQnJZcXVjT1dSYUs2M1BxM2Y5VGJsZit5ZS82TDR3?=
 =?utf-8?B?VjRET3E5ekFZbjNSSXFtSVZpUjBkckZCQXAvZmswaG9UQ3d6YitvY2VWTHMy?=
 =?utf-8?B?L2RrR0VPcEp2NFg2YUtHT3VaekpxaHNNTTl4b05PaklIdndSK254ZHhSNEZ4?=
 =?utf-8?B?WTloM0xJajFoZThNdEtjVW40dk4zRFhXUWFYZ1Q0V0VtRVI5UU12N2pZMFRy?=
 =?utf-8?B?WVlkWnZmeU5hQnZlcExiSktML2FxQklDakYwZzk5aEZpTEFadWpQL0puM1dE?=
 =?utf-8?B?SDhXcUJLTXEwbXV6RWZaNGtxZ0tHSk9Kbjg1blBaeWlzbExta0lZMUFDdHAv?=
 =?utf-8?B?M3JDakFjeElHQjlZWndaV3Zyb25yK3gxdVVDT1VDYnNIQVlFYVB4TzN0Y3dM?=
 =?utf-8?B?TmN6d1hVcEpqNVV3alBxVnRUZkhUazN5ajhtYWlWSE1KWm9OZExtWFNqQXhH?=
 =?utf-8?B?cFZ3eDFzS0VKNi9qaDdYdXJvQTVrT0x4Qm5LbVQyT05TV0xaZVFUQVROYkVP?=
 =?utf-8?B?eklQaHdPUlduK0lsUkN3OTFWbTZaenY4MGdkdWNmVXo3MFRWYSt4Mm1JZUpF?=
 =?utf-8?B?WDR6YWM2eGs2RVR6U0RNL3dPOU1PWkM0V3ZJWVBvampnd0IzWkNqcVZ5Wk5O?=
 =?utf-8?B?NVVFYzFPTXRxRk9adTlJenpFbkxjWGc3M3ArNGRjNnQyNkI0djhJUDdIV2JJ?=
 =?utf-8?B?QmxxdnRsWS92L0F6TGtHZXRZaGNwd1Q3YjFpQWc2bHY2czdhamcydXZMcThI?=
 =?utf-8?B?ZXpvcGRHcGJIcWJCM20xRmtIQ3UraGJvSDgvOFliNXdLenpVbUluak5kTHRG?=
 =?utf-8?B?MTdETVg2TFBRREVBek11THRzbjdpNG5YeFZCSm00Q09vaEtVSmdjL3dVWUt1?=
 =?utf-8?B?bGFOUGhpbmFWTkh1cVdUVDloNlgydkczMkk2Z0RtQmNwQUFKTEVoVmwxNjJB?=
 =?utf-8?B?SFFSd2NlSjZ4Q3RXbjBnRTA1WWFSUWx6blNocFlQUVJvTTBaMjNmVU1ZdXAx?=
 =?utf-8?B?RnJ5cWhkUnRXSlkwLzVKenZSbTBVZWVldHo4d3JSdjdEcisvVjdJMGVtaTJN?=
 =?utf-8?B?Zjh3Qm81Z2hYNTdrWDZobHVOUXJSZllzZTlVbkxKdmROeUh6bXVTK3hNa2E2?=
 =?utf-8?B?TE1IU1V5aEd4NDRhYnVYMXFydUg2UUN1NGROU0VGTkl5SmoxUkQ0SmVwZGdN?=
 =?utf-8?B?Umh5WlRhTW5FOWM5cm4rNGlZQkd6dkRON0swdFFZYS90UEg2Nk1PWTlpZ3Vl?=
 =?utf-8?B?bkFNMkdKQjZOdDFwWTIwWWpVNXlUN0o3ZDZjeHc0SmJSTWJDMEEycTl1VFBs?=
 =?utf-8?B?N0RuaVhCekdieEZQQUlETHU3NCtteWpRT2txSGR6QVQyZFZyTEdxTjdJQUpt?=
 =?utf-8?Q?WDzy5/5HVerpnFcx3gHAoXiOQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a35676f7-8178-4943-2638-08db30f3d732
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 07:53:24.9819
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rg7pI2S/tD3owGBIywgzDQfsfpV2iTfsZWsiDDwJzV9NIfv+jvL3hVrXVc3fubSwLftuq68ETt2XUvccRdhaTA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9714

On 29.03.2023 16:17, Roger Pau Monné wrote:
> On Tue, Mar 28, 2023 at 04:48:10PM +0200, Jan Beulich wrote:
>> On 28.03.2023 16:19, Roger Pau Monné wrote:
>>> On Wed, Jun 15, 2022 at 11:57:54AM +0200, Jan Beulich wrote:
>>>> ... of the huge monolithic source file. The series is largely code
>>>> movement and hence has the intention of not incurring any functional
>>>> change.
>>>
>>> I take the intention is to make code simpler and easier to follow by
>>> splitting it up into smaller files?
>>
>> Well, I can't say yes or no to "simpler" or "easier to follow", but
>> splitting is the goal, in the hope that these may end up as a side
>> effects. There's always the risk that scattering things around may
>> also make things less obvious. My main motivation, however, is the
>> observation that this huge source file alone consumes a fair part
>> of (non-parallelizable) build time. To the degree that with older
>> gcc building this one file takes ten (or so) times as long as the
> 
> I wouldn't really trade compiler speed for clarity in a piece of code
> like the x86 emulator, which is already very complex.

Of course, and I specifically said "main" motivation. The hope is that
by splitting things become less entangled / convoluted. I guess fpu.c
is a good example where certain non-trivial macros have isolated use,
and hence are no longer cluttering other parts of the emulator sources.

> Do you have some figures of the performance difference this series
> makes when building the emulator?

No, I don't. And the difference isn't going to be significant, I expect,
as the build being slow is - from all I can tell - directly connected to
the huge switch() statement. Yet the number of cases there shrinks only
marginally for now. The series is named "a few small steps" for this
reason, along with others. See below for a first bigger step, which may
then make a noticeable difference.

> A couple of notes from someone that's not familiar with the x86
> emulator.  It would be clearer if the split files where prefixed with
> opcode_ for those that deal with emulation (blk.c, 0f01.c, ...) IMO,
> so that you clearly see this is an opcode family that has been split
> into a separate file, or maybe insn_{opcode,blk,fpu,...}?

Hmm. For one, "blk" isn't really dealing with any opcode family in
particular. It contains a helper function for code using the emulator.
So it falls more in the group of util*.c. For the others may main
objection would be that I'd prefer to keep file names short. At least
at this point of splitting I think file names are sufficiently
descriptive. Nevertheless, insn-0f01.c or opc-0f01.c may be options, if
we really think we want/need to group files visually. However, I don't
expect there are going to be more files paralleling 0f01.c et al: The
opcode groups split out are the ones that are large/heterogeneous
enough to warrant doing it on this basis. Of course new such groups may
appear in the ISA down the road.

FPU is isolated functionally, and I'd expect a simd.c to appear once
it becomes clear if/how to sensibly split out SIMD code. Unlike fpu.c
I'd further expect this to (long term) consist of more than just a
single function, hopefully replacing the massive use of "goto" within
that big switch statement by function calls (but as said, plans here
- if one can call it that way in the first place - are very vague at
this point).

> I've noticed in some of the newly introduced files the original
> copyright notice from Keir is lost, I assume that's on purpose because
> none of the code was contributed by Kier in that file? (see 0f01.c vs
> 0fae.c for example).

Right - 0fae.c contains only code which was added later (mostly by me),
if I'm not mistaken.

> Do we expect to be able to split other opcode handling into separate
> files?

As per above, "expect" is perhaps too optimistic. I'd say "hope", in
particular for SIMD code (which I guess is now the main part of the
ISA as well as the sources, at least number-of-insns-wise). One
possible (likely intermediate) approach might be to move all SIMD code
from the huge switch() statement to its own file/function, invoked
from that huge switch()'s default: case. It may then still be a big
switch() statement in (e.g.) simd.c, but we'd then at least have two
of them, each about half the size of what we have right now. Plus it
may allow some (most?) of the X86EMUL_NO_SIMD #ifdef-ary to be dropped,
as the new file - like fpu.c - could then itself be built only
conditionally.

> I wonder how tied together are the remaining cases, and whether we
> will be able to split more of them into separate units?

That's the big open question indeed. As per above - with some effort
I expect all SIMD code could collectively be moved out; further
splitting would likely end up more involved.

> Overall I don't think the disintegration makes the code harder, as the split
> cases seems to be fully isolated, I do however wonder whether further splits
> might not be so isolated?

And again - indeed. This series, while already a lot of code churn, is
only collecting some of the very low hanging fruit. But at least I
hope that the pieces now separated out won't need a lot of touching
later on, except of course to add support for new insns.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:12:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:12:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516445.800523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnOA-0000xK-1o; Thu, 30 Mar 2023 08:12:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516445.800523; Thu, 30 Mar 2023 08:12:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnO9-0000xD-V2; Thu, 30 Mar 2023 08:12:05 +0000
Received: by outflank-mailman (input) for mailman id 516445;
 Thu, 30 Mar 2023 08:12: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=fiWc=7W=citrix.com=prvs=446b09b9a=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phnO8-0000x7-PW
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:12:05 +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 8b3825bb-ced2-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 10:12:01 +0200 (CEST)
Received: from mail-mw2nam04lp2169.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 04:11:58 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DS0PR03MB7179.namprd03.prod.outlook.com (2603:10b6:8:128::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Thu, 30 Mar
 2023 08:11:56 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Thu, 30 Mar 2023
 08:11: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: 8b3825bb-ced2-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680163921;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=MU0usBNDTJED7Cf/cXCCqhllQlDJS/e3zli8TERfLhE=;
  b=QRwWD2+YgOr+/dsN96sxNMd+xHQxrTOWT2oGZKT9Dk73kWWzHkbFnuvc
   OdaFZRbkJx2i3b4ULmOi/nyy6BLuYvKEQDB5t/W2kF81GnUTyq6xmLTKi
   P00FlsmtytTcNdPd6th8BXvuAtGTm9wnAdtmcUQIay2zAUtBUqwcIwIkF
   Q=;
X-IronPort-RemoteIP: 104.47.73.169
X-IronPort-MID: 103666968
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:mK4Nqqg0QS65zgROS29Pq3+zX161uBEKZh0ujC45NGQN5FlHY01je
 htvWWyAaP3YazGgetskOtyz9x5T6pHXz9VhGlE++X88Rigb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wSGzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQZLDEKQAiyid6o0e7mGvBcl959dujSadZ3VnFIlVk1DN4AaLWbH+Dv2oUd2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilMqluGzYbI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjA9xMSuzmppaGhnWf/ElKDiYoCGCU+6GhzRSQd4sPN
 04tr39GQa8asRbDosPGdx+yrWOAvxUcc8FNCOB84waIooLR6hycD3IJTRZAbsInr848QTE21
 l6PkMjtDDYpu7qQIVqC8p+EoDX0PjIaRUcSaClBQQYb7t3LpIAokgmJXttlCLSyjND+BXf32
 T/ihCQ3gbQeiYgI1r2253jAmTunopWPRQkwjjg7RUqg5wJ9IYu6PYqh7ACH6e4addjICF6co
 HIDhs6SqvgUCo2AnzCMR+NLG6y14/GCM3vXhlsH84QdyglBMkWLJeh4iAyS7m8zWirYUVcFu
 HPuhD4=
IronPort-HdrOrdr: A9a23:6NHTjK/6WX70TyoryUNuk+DWI+orL9Y04lQ7vn2ZKCY4TiX8ra
 uTdZsguiMc5Ax+ZJhDo7C90di7IE80nKQdieN9AV7IZniEhILHFvAG0aLShxHmBi3i5qp8+M
 5bAsxD4QTLfDpHsfo=
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103666968"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZP7qJHsdyu2xRsPuTu271HV2T4rchWM1tdAW8UJ5XIt6iLpIFZqyXXRaMd4q02sAdZzLr/dQZkChLC8bSpFrAqsj5gCuA0mRe4MqaQ22uLI291qPJhQ2EeMi1YFLaw5Yjv4a2bRhdBkJW8CkmjFE7ZdbYeY9swXoDb+COYPBrMw0jdWSK4ZNGnv6br7eJR8mg1gj4Hjy8QeRE+7I/lMlQVyl0LFdgVaa5RYFoCmfIS7do3FBAYs1bf8rZjrAiyEMyMsQUvPg5HzsYUFft6srwkSJsUHVtMBJ4AugXnbRKJU2euP2PMOsDFbwjUfRKrvqcrvEHOCnOCXGHyhhOUJrug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3Ef3h2gItN7P1uFHlt+Kh39HupcPMIiv0y1HghsB730=;
 b=I9Hlnk1r/5n4NHTEoyHO2LTMoy+8K4LAQKDQuiCdRgXspnug2Ks3HgGWYazkAQ7F4WLvGMJ8UpwvfVFeoUQuO3g99SzmqdgySM4yiHYJdhH86FTyfJs9JRXdgdhNQKxl9mnqwNW5zV4rxeVOX/c2SMFpvGPzGuw3EphSWI1jMR+44GhGSxKxrOLxLfY/DDMjR49GDoggaFGw4bDBHoVNLfsJuiv3/4VS5sDEGg1rUGMRn2I/n1TStBWq/grj6m3Dw6OjIWQD3UIDgpOHvowBTODkvZONBjEIH6KICwLd161w2UDx1G36T6mec6cDZIJrPS63/WgqyQ/BIROPvbdOGg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3Ef3h2gItN7P1uFHlt+Kh39HupcPMIiv0y1HghsB730=;
 b=A9pmrP1T2lxnscc12P7J0v37rvnkoV/8c0B1Jz/lj6evV5V0PRQEZ4qdfFTlKgwlnebB9IdjjcrL+yzNvc9WklQ5M4VzuyUbuP9XgnvGsHZiGe+evccptz8UFQMSri3C7VRI/CuQhE2LbqiowkBCN/8U/lmWEAERhIPgyAn3Erw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 30 Mar 2023 10:11:50 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: marmarek@invisiblethingslab.com,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org,
	Daniel Kiper <daniel.kiper@oracle.com>
Subject: Re: [PATCH 4/5] multiboot2: parse console= option when setting GOP
 mode
Message-ID: <ZCVERoX9+LdQ/GIL@Air-de-Roger>
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-5-roger.pau@citrix.com>
 <8f7e0393-8c0f-a924-7cee-25b9fca6f739@suse.com>
 <ZCRnU03XDCpqZQ5u@Air-de-Roger>
 <8fb2f771-3354-3f52-f923-e7fe7861cfbf@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <8fb2f771-3354-3f52-f923-e7fe7861cfbf@suse.com>
X-ClientProxiedBy: LNXP265CA0006.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:5e::18) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DS0PR03MB7179:EE_
X-MS-Office365-Filtering-Correlation-Id: 05b6ee9b-25f2-4de5-5ae1-08db30f66d71
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MlFGQLGb2soFzesxMfgtQw/a2OJYRWaURd63JkatVEC9Pb9XLsRc2OJSXpb//05LBYPCT316qV/Y/zCCuLOpe7qtC+yyAbfFOPhOplCni0qaI4LPIEKqcY0+d9KjMuu0tqW//UNl1/93LKDVqv6t5uTqlh3bfJy/sOqfJxMQeyaxAxFepgTLqSPE3XSOQPAdeNdUb7WkCZ2Tg3vHRrkGKZuDJ0aFMaIglLXvZ7lTyTOxiUokUfwpp1BCPKLgnaYJlcs4QlZpqcWF2p68nEj8s+d7Dv3Yn1uqHI+CNzUDhrzK+OPrFoKdA7MjDK3AboveGlMY1mTS5EduRlPhrHAWMQTF2LXIqVUnnRxnrtyt42ulti/VpSx1+jgBotN52WFwf54+5C8QbgLDq7OfpDZWPXcNXHt+tGfxzXX35e2i7LxyWJ+P1zZz4z7IDkoHeE6ab2frJOKWwzo0JCGj/bJp3Qv/3ALwgPx6Z5MgsBWOoU6GunA/d/lyqC6LYKQoD5JCZOLJGlcXJMpDmHIyx05JBpJPfcYjtS7or8QP9/8p/FWAIS3mJCvXUo+KrUcdRIIv
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(396003)(366004)(376002)(136003)(39860400002)(346002)(451199021)(26005)(6506007)(6512007)(9686003)(53546011)(186003)(82960400001)(38100700002)(41300700001)(66476007)(478600001)(8936002)(5660300002)(33716001)(6666004)(85182001)(4326008)(86362001)(6486002)(66946007)(8676002)(54906003)(316002)(6916009)(66556008)(2906002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TnJJR1Q1OXU0dzh1UzNPbTR0OStwWm4yYXF1NGs0WU5sK2pKalNuRVl4K3dY?=
 =?utf-8?B?V001Y0wvUG1CSjZrUDBnZWloRWlIbXQyYjVmS1VyVGd5NEdDMndmM0dWcVdI?=
 =?utf-8?B?UHNuNm1Pd2FQcytsd2RuM1AvUm1RN0UzQy9jVEtVeGVYRXFvbGI2M3dpRnN0?=
 =?utf-8?B?c3ZHVCtnNE16ZTRvVDkyTkFqV3dITmtaL1NVV3ZHbWRzRHZic3o0OGREYytr?=
 =?utf-8?B?TU9FOWJKR3BuaFZoVU1qTjFvZ1FzdnVBNGhXeVhCS0RlWHAwTFpnUitjMlRW?=
 =?utf-8?B?Y3VSWDRWWGpJalMxaTBPSEpWT0R0S3gzNkFzemFyMmIrMnVRYWJPMVRpK0VP?=
 =?utf-8?B?QzBtMVVtc1FpY0srYzd6b1Q0SWVLY3p0TzJnWTZNWHFXZ0plaktWd3NRZEE0?=
 =?utf-8?B?eWIyYlBIcFAvaG5JcDdWR3JuSFQxT2JEcEFDWUdYMzgxQmRITUd0TXhjTFNm?=
 =?utf-8?B?bWNvYkdHMFNXZTdEZVE3U1l3QndlN08yWENXMEF5bnlrWnF6OVRNNzRmQm9I?=
 =?utf-8?B?d3FvMEgzSFRZSVBKUDFvdXptSUM2bnRYWTVZYmhYNzl5bXhWb0p4SjJiLzdw?=
 =?utf-8?B?WU9qMjlobVQxL3p2dWZLWkQrNDJycGhIOHlWQ2EvSzhDOS9BV3YyR294U2JY?=
 =?utf-8?B?WEthWHZvaXBQSmdBQmh6Z1ptZlF2RVN0c2FxOFlVbFFMVW82cXVpbER1bDhK?=
 =?utf-8?B?SFNLbXk0QTBOZ25lSzZ1ZzhnY0pTaXBLaTFNcHgycVJHMEF4NFFzTENxUW5q?=
 =?utf-8?B?VlNXOHlWSUNEdTZoZUllMnZwNmJYNUhHcjFGb0ljRUJUME8wUUxpbThhQVVx?=
 =?utf-8?B?MjFtMTJ2SHdYMnFadms0aFZwRTZTMDlJWDNZSlVpY3FXMURldWlSRkY4NEZ3?=
 =?utf-8?B?VStvTThWQlRDYkFTSEthZmhRY0dtWGdxYndBd1lKNWNQc0lyQWwxVUFGTldx?=
 =?utf-8?B?OUNvclBDeG5PaGdRaU4rRG9LSml2dDhMNjdhcVI1VjlDd1ovMjc2Rm0zTStC?=
 =?utf-8?B?a3BmNHpTMUhLR0tQanNGTjRiaVVMa3VEUjA5SFNGS1d5cXVEYkcwZE00WXBr?=
 =?utf-8?B?c21BcXl4em51RnlkRitleS9DbW05eEp1SC9zVjFhZTBlc3hldGlMd0NWL3E1?=
 =?utf-8?B?OFhKS0d4L1huMnNnVnBJMVRFL3duTVp0MGh1b0k2ek9NbDNzOG02bEd6VUxk?=
 =?utf-8?B?L2FqWkdJUHJaek4rZXJkM0oyWXJWSDZLdFFGdXcvb1FaYXo3dHRFTGpILzBw?=
 =?utf-8?B?eWZDdVprdmJhVk5JNVdqM1Q0MlpMa2pIbnRvNzJwK1hjSFI1RThmVGhFdnZ2?=
 =?utf-8?B?ZzZHU05IMzhKTVA0S3BQamxGUHJhcEp4eHI3K1loYzhmNFcvangzK2RzREF1?=
 =?utf-8?B?SzZ0aE13NjMzQ0N0OFNGNFZsWmMzM1FIZUJtZUFINnErdUpUYmcwVzg3T1dZ?=
 =?utf-8?B?VzJ5OHFaR2NOTXJKWmRGa0gwQ1BnTXl4cHhVTUxsSGF0bVYzTnB3RFdLd3pm?=
 =?utf-8?B?ZkJvdHRJMFVDdnU2emI5OTZRZ0gwN1Uxa3h5elhEbFRTOTBnSThJNHZ6LzJt?=
 =?utf-8?B?UWZxeWI5VTRUVGF5NUZMOVNQTzFKTDE1bUdheE5hMHpYMnZBb3lKQzBFdnZK?=
 =?utf-8?B?WUJqUXJIVU5lY1lYUkt0K3dGM1FHbjI2NlhFSCtLczcrRnZucnZVeENYUEJP?=
 =?utf-8?B?di9CMldqbzRLVFhoYXpHdGtBQllxc2hmQktVblFCUWswRXg4bE81VDBucVdS?=
 =?utf-8?B?VTBEeFBVL1EzUUNOL1dRSmVXRUJGWG8yL01mYnV6OHA1Q1ZLck9VcklPdHNp?=
 =?utf-8?B?KzA3T2lpTVVwQjdCN25FeGVzS0cxTnpWeEc5Q2JDUGQvbGhnZkFuZ0tDT0Vq?=
 =?utf-8?B?ZENpVTFNNWo1aUVJK2p0eGNFcHlXQ2EzYWVBeTJHVDVuUXJ5cysyeFFwR05V?=
 =?utf-8?B?YTZhcHcwN1VJbHdiVm8wakd1ODM5QUFkcnRwckVZdnQwdlNaTnlqY1drRnVk?=
 =?utf-8?B?Y0xKS1FUQXNMVHBXYkRJUzdNRG9Ta2gwYXZaaVBmWXk1MlkwTjFFNUFzUUNX?=
 =?utf-8?B?V2ltWkl0b1AyN2lsTHJqMXRqejViWTRmbDBGWUVneWw5b0hPT1g4QnFOSXpx?=
 =?utf-8?Q?Cz/u6UE+NfCUIGwPSMuYvn2fK?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	BygFwxXkflK71ag+LjJp9x/BCc6uq3dlgev4VjZjGyL7UjYeEOqbDTFa/QTgQbZwTZKTx6ChT5vhMaIc8V3LlEo0R7Ok0vP5LKPPJ6cdbuxNnAmTDdoAcq+0l01d5V6S01Idbo70Gg44LlmkjhVPBwtrJFOtTA1ckyFHhMFwrSAVoL6SIo9p8oGyib4boOXflF9JTGzyYy131AFY846TWx91fVqJwdJJ1jVEQr5UiBEwFKQYAFnPUeT/ETJ+omSRWoyXxYhZrpiYzfAgVZGzql5tcdikEaukFp0EbhK2SH2Q6HwNXfXIwpnhU6FFLOoDLgZASOsl6/C9kEIBONfv2+Y6EXNOcrtvvlrfRQ8zv2PWn7iClmCLBWRDc+E76srAZMCpSD8oGsdu1z3g/bJfyPkqgHLM9TcuFVIjs3+5qnwhMAnyNvDDREjL20t2I9mpf5EXAzhHROiwJIgzAR4iJ7Eq5ODieiHmF78QNl5JwFUMwXi2NW5vQZmdQTSF0XR+KE8pcZSlrOGnAqZRRDcEiRaPcRhePYwjZt2Dazh3HxrStvfsxAUammr2yyHF/Eg7Jz1+aHi8yMCn0BOUp3yEADhkD7Hw/6HsPaLoR39GbiwLogqp/Ksi2+mAZKh3j+2VvoSShtPMSgPPR/mD8zzbjKZjtGSZsR/rWlXQRUrP2LhTyU51Jsd8vcXE3WkrRzOAVNai7bhAS2btmgnb0cJNyT5edzM9byzU8NNmoICGhptsUG9q4qFee57OdVxHlK2n3TUq3ByKY41cBRChzFJ/8j3v9fLIxmpuwQSQdgdVjB+vhQBdWB4NYy+cLTl/1EJrDRcPNTLZD5KB+A+D8V82tnFD1MG/VHGk36t59CqTBA8GqW9TXBgrrPJjNtfBhmcBc72pQUJVrKAOqO+gWeGh0MWDOWSMrzS4EZ4hbdq2n7A=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 05b6ee9b-25f2-4de5-5ae1-08db30f66d71
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 08:11:56.1946
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jKtGhE2ZGYkRq2WKDfY8svfjBpvRCJCjJE6Kn1b9+ATV4mCFSX1RMXnJZVIx7FM5pkcG/HOF30OOLO3t6CLoKw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR03MB7179

On Thu, Mar 30, 2023 at 08:24:20AM +0200, Jan Beulich wrote:
> On 29.03.2023 18:29, Roger Pau Monné wrote:
> > On Mon, Dec 05, 2022 at 04:10:28PM +0100, Jan Beulich wrote:
> >> On 23.11.2022 16:45, Roger Pau Monne wrote:
> >>> @@ -265,6 +266,15 @@ __efi64_mb2_start:
> >>>          cmpl    $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx)
> >>>          je      .Lrun_bs
> >>>  
> >>> +        /*
> >>> +         * Get command line from Multiboot2 information.
> >>> +         * Must be last parsed tag.
> >>
> >> Why? And how do you guarantee this?
> > 
> > I think the comment is misleading, must be the last checked for tag in
> > the loop that does this in assembly, because it's not using cmove.
> > I've adjusted to:
> > 
> >         /* Get command line from Multiboot2 information. */
> >         cmpl    $MULTIBOOT2_TAG_TYPE_CMDLINE,MB2_tag_type(%rcx)
> >         jne     .Lno_cmdline
> >         lea     MB2_tag_string(%rcx),%rdx
> >         jmp     .Lefi_mb2_next_tag
> > .Lno_cmdline:
> > 
> > Maybe there's some instruction I'm missing similar to a conditional
> > lea?
> 
> There isn't. If you want to get away without conditional branch, then
> you'll need to LEA to a scratch register (unconditional) and then
> CMOVcc from that scratch register.

Likely not worth it, unless you dislike the extra conditional branch.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:17:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:17:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516449.800532 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnSl-0001Zn-Jm; Thu, 30 Mar 2023 08:16:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516449.800532; Thu, 30 Mar 2023 08:16: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 1phnSl-0001Zg-H3; Thu, 30 Mar 2023 08:16:51 +0000
Received: by outflank-mailman (input) for mailman id 516449;
 Thu, 30 Mar 2023 08:16: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnSk-0001Za-5r
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:16: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 3705b974-ced3-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 10:16:47 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 2560821B24;
 Thu, 30 Mar 2023 08:16: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 D62AA138FF;
 Thu, 30 Mar 2023 08:16:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id bVfzMm5FJWTAEQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:16: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: 3705b974-ced3-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164207; 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=rVyVnzqYt7PdzanhPmujtPSG8g+/e2+OmShWS8r3hDM=;
	b=A0AMxcUuunqFj066hyAbv5FTB0SNNSb5dq3EuN04Wpsjn2AnNDLj02tMUfRurPlYMWMJDl
	tKEU30L3Ym1gt3J2EzyFL2f5eUCKxcIz7CjjTJwgvyQrWny0FH2YiPVzargCEZUvGwCl1d
	ci9pOw8JlmEF0rn2geuWrqWmGvIfBVc=
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>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v3 00/13] tools/xenstore: rework internal accounting
Date: Thu, 30 Mar 2023 10:16:31 +0200
Message-Id: <20230330081644.11480-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series reworks the Xenstore internal accounting to use a uniform
generic framework. It is adding some additional useful diagnostic
information, like accounting trace and max. per-domain and global quota
values seen.

Changes in V2:
- added patch 1 (leftover from previous series)
- rebase

Changes in V3:
- addressed comments

Juergen Gross (13):
  tools/xenstore: take transaction internal nodes into account for quota
  tools/xenstore: manage per-transaction domain accounting data in an
    array
  tools/xenstore: introduce accounting data array for per-domain values
  tools/xenstore: add framework to commit accounting data on success
    only
  tools/xenstore: use accounting buffering for node accounting
  tools/xenstore: add current connection to domain_memory_add()
    parameters
  tools/xenstore: use accounting data array for per-domain values
  tools/xenstore: add accounting trace support
  tools/xenstore: add TDB access trace support
  tools/xenstore: switch transaction accounting to generic accounting
  tools/xenstore: remember global and per domain max accounting values
  tools/xenstore: use generic accounting for remaining quotas
  tools/xenstore: switch quota management to be table based

 docs/misc/xenstore.txt                 |   5 +-
 tools/xenstore/xenstored_control.c     |  65 ++--
 tools/xenstore/xenstored_core.c        | 168 +++++-----
 tools/xenstore/xenstored_core.h        |  24 +-
 tools/xenstore/xenstored_domain.c      | 433 ++++++++++++++++++-------
 tools/xenstore/xenstored_domain.h      |  60 +++-
 tools/xenstore/xenstored_transaction.c |  22 +-
 tools/xenstore/xenstored_watch.c       |  15 +-
 8 files changed, 514 insertions(+), 278 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:17:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:17:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516450.800542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnSp-0001pt-Qy; Thu, 30 Mar 2023 08:16:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516450.800542; Thu, 30 Mar 2023 08: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 1phnSp-0001pm-O7; Thu, 30 Mar 2023 08:16:55 +0000
Received: by outflank-mailman (input) for mailman id 516450;
 Thu, 30 Mar 2023 08:16: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnSo-0001oz-3z
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:16:54 +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 3a53ecec-ced3-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:16:53 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C328621B25;
 Thu, 30 Mar 2023 08:16: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 8B9CF138FF;
 Thu, 30 Mar 2023 08:16:52 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 9+HBIHRFJWTUEQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08: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>
X-Inumbo-ID: 3a53ecec-ced3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164212; 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=jR2CaVJDZ2qBizxTmbgLfYMIkR5bcQwiTfYf2yndaVw=;
	b=fyvDaDCAlz76MuB8S8vg+QrLtijo4rz9TPkqyza344tJHfHtXxZwjhouy9enJk6ktSaccJ
	SYSC5t9cLOzYqee6S7MdHfrAhk5u2qObnSfC3qSap4V+yUopmArUd3GbCLrwVLL9BUg0XJ
	exrBfdrmbqd2TnCjVW6P4iNfCHkOXAA=
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 v3 01/13] tools/xenstore: take transaction internal nodes into account for quota
Date: Thu, 30 Mar 2023 10:16:32 +0200
Message-Id: <20230330081644.11480-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330081644.11480-1-jgross@suse.com>
References: <20230330081644.11480-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The accounting for the number of nodes of a domain in an active
transaction is not working correctly, as it is checking the node quota
only against the number of nodes outside the transaction.

This can result in the transaction finally failing, as node quota is
checked at the end of the transaction again.

On the other hand even in a transaction deleting many nodes, new nodes
might not be creatable, in case the node quota was already reached at
the start of the transaction.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
V3:
- rewrite of commit message (Julien Grall)
---
 tools/xenstore/xenstored_domain.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index f62be2245c..dbbf97accc 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -1116,9 +1116,8 @@ int domain_nbentry_fix(unsigned int domid, int num, bool update)
 
 int domain_nbentry(struct connection *conn)
 {
-	return (domain_is_unprivileged(conn))
-		? conn->domain->nbentry
-		: 0;
+	return domain_is_unprivileged(conn)
+	       ? domain_nbentry_add(conn, conn->id, 0, true) : 0;
 }
 
 static bool domain_chk_quota(struct domain *domain, int mem)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:17:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:17:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516451.800553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnSw-00029b-4c; Thu, 30 Mar 2023 08:17:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516451.800553; Thu, 30 Mar 2023 08: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 1phnSw-00029S-0a; Thu, 30 Mar 2023 08:17:02 +0000
Received: by outflank-mailman (input) for mailman id 516451;
 Thu, 30 Mar 2023 08:17: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnSu-0001Za-Eg
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:17:00 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3da95e72-ced3-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 10:16:58 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 78FDB21B24;
 Thu, 30 Mar 2023 08:16: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 3EEC2138FF;
 Thu, 30 Mar 2023 08:16:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id KlbxDXpFJWTgEQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 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: 3da95e72-ced3-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164218; 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=JlFoqnoU3I4JMyJapnFZtevlraEzWmolnTL1zQ4kqcs=;
	b=H/b2YXNveJyglmyfGcxvftTAagvblILn9lsKLxQfkpOa+gSICsOM4WNOCK/uN6T+yH/OU4
	H53wOZ1/DKYrXg8mnoBzRIBLH9cx4nQgtgaAVh1GuvOszGPj7Wkdf4Kt46JGxc6Qddy6hx
	Ry1Dk3bmqFXYOKx3Tq9B91OYCyO6PMM=
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 v3 02/13] tools/xenstore: manage per-transaction domain accounting data in an array
Date: Thu, 30 Mar 2023 10:16:33 +0200
Message-Id: <20230330081644.11480-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330081644.11480-1-jgross@suse.com>
References: <20230330081644.11480-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to prepare keeping accounting data in an array instead of
using independent fields, switch the struct changed_domain accounting
data to that scheme, for now only using an array with one element.

In order to be able to extend this scheme add the needed indexing enum
to xenstored_domain.h.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
V2:
- make "what" parameter of acc_add_changed_dom() an enum type, and
  assert() that it won't exceed the accounting array (Julien Grall)
---
 tools/xenstore/xenstored_domain.c | 19 +++++++++++--------
 tools/xenstore/xenstored_domain.h | 10 ++++++++++
 2 files changed, 21 insertions(+), 8 deletions(-)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index dbbf97accc..609a9a13ab 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -99,8 +99,8 @@ struct changed_domain
 	/* Identifier of the changed domain. */
 	unsigned int domid;
 
-	/* Amount by which this domain's nbentry field has changed. */
-	int nbentry;
+	/* Accounting data. */
+	int acc[ACC_TR_N];
 };
 
 static struct hashtable *domhash;
@@ -550,7 +550,7 @@ int acc_fix_domains(struct list_head *head, bool chk_quota, bool update)
 	int cnt;
 
 	list_for_each_entry(cd, head, list) {
-		cnt = domain_nbentry_fix(cd->domid, cd->nbentry, update);
+		cnt = domain_nbentry_fix(cd->domid, cd->acc[ACC_NODES], update);
 		if (!update) {
 			if (chk_quota && cnt >= quota_nb_entry_per_domain)
 				return ENOSPC;
@@ -595,19 +595,21 @@ static struct changed_domain *acc_get_changed_domain(const void *ctx,
 	return cd;
 }
 
-static int acc_add_dom_nbentry(const void *ctx, struct list_head *head, int val,
-			       unsigned int domid)
+static int acc_add_changed_dom(const void *ctx, struct list_head *head,
+			       enum accitem what, int val, unsigned int domid)
 {
 	struct changed_domain *cd;
 
+	assert(what < ARRAY_SIZE(cd->acc));
+
 	cd = acc_get_changed_domain(ctx, head, domid);
 	if (!cd)
 		return 0;
 
 	errno = 0;
-	cd->nbentry += val;
+	cd->acc[what] += val;
 
-	return cd->nbentry;
+	return cd->acc[what];
 }
 
 static void domain_conn_reset(struct domain *domain)
@@ -1071,7 +1073,8 @@ static int domain_nbentry_add(struct connection *conn, unsigned int domid,
 
 	if (conn && conn->transaction) {
 		head = transaction_get_changed_domains(conn->transaction);
-		ret = acc_add_dom_nbentry(conn->transaction, head, add, domid);
+		ret = acc_add_changed_dom(conn->transaction, head, ACC_NODES,
+					  add, domid);
 		if (errno) {
 			fail_transaction(conn->transaction);
 			return -1;
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index 279cccb3ad..40803574f6 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -19,6 +19,16 @@
 #ifndef _XENSTORED_DOMAIN_H
 #define _XENSTORED_DOMAIN_H
 
+/*
+ * All accounting data is stored in a per-domain array.
+ * Depending on the account item there might be other scopes as well, like e.g.
+ * a per transaction array.
+ */
+enum accitem {
+	ACC_NODES,
+	ACC_TR_N,		/* Number of elements per transaction. */
+};
+
 void handle_event(void);
 
 void check_domains(void);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:17:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:17:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516452.800563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnT0-0002XP-Dw; Thu, 30 Mar 2023 08:17:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516452.800563; Thu, 30 Mar 2023 08:17:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnT0-0002Wa-9f; Thu, 30 Mar 2023 08:17:06 +0000
Received: by outflank-mailman (input) for mailman id 516452;
 Thu, 30 Mar 2023 08:17: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnSz-0001oz-24
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:17:05 +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 40f980dd-ced3-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:17:04 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 1D7CA1FE98;
 Thu, 30 Mar 2023 08:17: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 E1BC4138FF;
 Thu, 30 Mar 2023 08:17:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ksWuNX9FJWTrEQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:17: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: 40f980dd-ced3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164224; 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=da+NStUV6DXkF4btGUetsd/keYmApwMCJxZfSA0fyN8=;
	b=CSlSGWeAgOI5ZDkK0Q18oikyT905sdGaGx8emdJ/cr35B7J53+cS15u7ocMhvZp8qgYqXK
	9iThyT0X5ZgyJvwBALh+YV9X6et7a9W7mVyR0GbgrSsdk8fQ7Jn+3HvTM5h77n6ku5jBXJ
	G+oHFEqkyz5PqMbp8J54xNI7+YLqwIw=
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 v3 03/13] tools/xenstore: introduce accounting data array for per-domain values
Date: Thu, 30 Mar 2023 10:16:34 +0200
Message-Id: <20230330081644.11480-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330081644.11480-1-jgross@suse.com>
References: <20230330081644.11480-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce the scheme of an accounting data array for per-domain
accounting data and use it initially for the number of nodes owned by
a domain.

Make the accounting data type to be unsigned int, as no data is allowed
to be negative at any time.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- remove domid parameter from domain_acc_add_chk() (Julien Grall)
- rename domain_acc_add_chk() (Julien Grall)
- modify overflow check (Julien Grall)
---
 tools/xenstore/xenstored_domain.c | 70 ++++++++++++++++++-------------
 tools/xenstore/xenstored_domain.h |  3 +-
 2 files changed, 43 insertions(+), 30 deletions(-)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 609a9a13ab..4ff01bac84 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -69,8 +69,8 @@ struct domain
 	/* Has domain been officially introduced? */
 	bool introduced;
 
-	/* number of entry from this domain in the store */
-	int nbentry;
+	/* Accounting data for this domain. */
+	unsigned int acc[ACC_N];
 
 	/* Amount of memory allocated for this domain. */
 	int memory;
@@ -246,7 +246,7 @@ static int domain_tree_remove_sub(const void *ctx, struct connection *conn,
 
 	if (keep_orphans) {
 		set_tdb_key(node->name, &key);
-		domain->nbentry--;
+		domain_nbentry_dec(NULL, domain->domid);
 		node->perms.p[0].id = priv_domid;
 		node->acc.memory = 0;
 		domain_nbentry_inc(NULL, priv_domid);
@@ -270,7 +270,7 @@ static int domain_tree_remove_sub(const void *ctx, struct connection *conn,
 		ret = WALK_TREE_SKIP_CHILDREN;
 	}
 
-	return domain->nbentry > 0 ? ret : WALK_TREE_SUCCESS_STOP;
+	return domain->acc[ACC_NODES] ? ret : WALK_TREE_SUCCESS_STOP;
 }
 
 static void domain_tree_remove(struct domain *domain)
@@ -278,7 +278,7 @@ static void domain_tree_remove(struct domain *domain)
 	int ret;
 	struct walk_funcs walkfuncs = { .enter = domain_tree_remove_sub };
 
-	if (domain->nbentry > 0) {
+	if (domain->acc[ACC_NODES]) {
 		ret = walk_node_tree(domain, NULL, "/", &walkfuncs, domain);
 		if (ret == WALK_TREE_ERROR_STOP)
 			syslog(LOG_ERR,
@@ -437,7 +437,7 @@ int domain_get_quota(const void *ctx, struct connection *conn,
 	resp = talloc_asprintf_append(resp, "%-16s: %8d\n", #t, e); \
 	if (!resp) return ENOMEM
 
-	ent(nodes, d->nbentry);
+	ent(nodes, d->acc[ACC_NODES]);
 	ent(watches, d->nbwatch);
 	ent(transactions, ta);
 	ent(outstanding, d->nboutstanding);
@@ -1047,8 +1047,27 @@ int domain_adjust_node_perms(struct node *node)
 	return 0;
 }
 
-static int domain_nbentry_add(struct connection *conn, unsigned int domid,
-			      int add, bool no_dom_alloc)
+static int domain_acc_add_valid(struct domain *d, enum accitem what, int add)
+{
+	assert(what < ARRAY_SIZE(d->acc));
+
+	if ((add < 0 && -add > d->acc[what]) ||
+	    (INT_MAX - d->acc[what]) < add) {
+		/*
+		 * In a transaction when a node is being added/removed AND the
+		 * same node has been added/removed outside the transaction in
+		 * parallel, the resulting value will be wrong. This is no
+		 * problem, as the transaction will fail due to the resulting
+		 * conflict.
+		 */
+		return (add < 0) ? 0 : INT_MAX;
+	}
+
+	return d->acc[what] + add;
+}
+
+static int domain_acc_add(struct connection *conn, unsigned int domid,
+			  enum accitem what, int add, bool no_dom_alloc)
 {
 	struct domain *d;
 	struct list_head *head;
@@ -1071,56 +1090,49 @@ static int domain_nbentry_add(struct connection *conn, unsigned int domid,
 		}
 	}
 
-	if (conn && conn->transaction) {
+	if (conn && conn->transaction && what < ACC_TR_N) {
 		head = transaction_get_changed_domains(conn->transaction);
-		ret = acc_add_changed_dom(conn->transaction, head, ACC_NODES,
+		ret = acc_add_changed_dom(conn->transaction, head, what,
 					  add, domid);
 		if (errno) {
 			fail_transaction(conn->transaction);
 			return -1;
 		}
-		/*
-		 * In a transaction when a node is being added/removed AND the
-		 * same node has been added/removed outside the transaction in
-		 * parallel, the resulting number of nodes will be wrong. This
-		 * is no problem, as the transaction will fail due to the
-		 * resulting conflict.
-		 * In the node remove case the resulting number can be even
-		 * negative, which should be avoided.
-		 */
-		return max(d->nbentry + ret, 0);
+		return domain_acc_add_valid(d, what, ret);
 	}
 
-	d->nbentry += add;
+	d->acc[what] = domain_acc_add_valid(d, what, add);
 
-	return d->nbentry;
+	return d->acc[what];
 }
 
 int domain_nbentry_inc(struct connection *conn, unsigned int domid)
 {
-	return (domain_nbentry_add(conn, domid, 1, false) < 0) ? errno : 0;
+	return (domain_acc_add(conn, domid, ACC_NODES, 1, false) < 0)
+	       ? errno : 0;
 }
 
 int domain_nbentry_dec(struct connection *conn, unsigned int domid)
 {
-	return (domain_nbentry_add(conn, domid, -1, true) < 0) ? errno : 0;
+	return (domain_acc_add(conn, domid, ACC_NODES, -1, true) < 0)
+	       ? errno : 0;
 }
 
 int domain_nbentry_fix(unsigned int domid, int num, bool update)
 {
 	int ret;
 
-	ret = domain_nbentry_add(NULL, domid, update ? num : 0, update);
+	ret = domain_acc_add(NULL, domid, ACC_NODES, update ? num : 0, update);
 	if (ret < 0 || update)
 		return ret;
 
 	return domid_is_unprivileged(domid) ? ret + num : 0;
 }
 
-int domain_nbentry(struct connection *conn)
+unsigned int domain_nbentry(struct connection *conn)
 {
 	return domain_is_unprivileged(conn)
-	       ? domain_nbentry_add(conn, conn->id, 0, true) : 0;
+	       ? domain_acc_add(conn, conn->id, ACC_NODES, 0, true) : 0;
 }
 
 static bool domain_chk_quota(struct domain *domain, int mem)
@@ -1597,7 +1609,7 @@ static int domain_check_acc_init_sub(const void *k, void *v, void *arg)
 	 * If everything is correct incrementing the value for each node will
 	 * result in dom->nodes being 0 at the end.
 	 */
-	dom->nodes = -d->nbentry;
+	dom->nodes = -d->acc[ACC_NODES];
 
 	if (!hashtable_insert(domains, &dom->domid, dom)) {
 		talloc_free(dom);
@@ -1652,7 +1664,7 @@ static int domain_check_acc_cb(const void *k, void *v, void *arg)
 	if (!d)
 		return 0;
 
-	d->nbentry += dom->nodes;
+	d->acc[ACC_NODES] += dom->nodes;
 
 	return 0;
 }
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index 40803574f6..9d05eb01da 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -27,6 +27,7 @@
 enum accitem {
 	ACC_NODES,
 	ACC_TR_N,		/* Number of elements per transaction. */
+	ACC_N = ACC_TR_N,	/* Number of elements per domain. */
 };
 
 void handle_event(void);
@@ -77,7 +78,7 @@ int domain_alloc_permrefs(struct node_perms *perms);
 int domain_nbentry_inc(struct connection *conn, unsigned int domid);
 int domain_nbentry_dec(struct connection *conn, unsigned int domid);
 int domain_nbentry_fix(unsigned int domid, int num, bool update);
-int domain_nbentry(struct connection *conn);
+unsigned int domain_nbentry(struct connection *conn);
 int domain_memory_add(unsigned int domid, int mem, bool no_quota_check);
 
 /*
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:17:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:17:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516455.800573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnT6-00031n-Qo; Thu, 30 Mar 2023 08:17:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516455.800573; Thu, 30 Mar 2023 08:17:12 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnT6-00031Z-ND; Thu, 30 Mar 2023 08:17:12 +0000
Received: by outflank-mailman (input) for mailman id 516455;
 Thu, 30 Mar 2023 08:17: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnT5-0001Za-Le
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:17: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 445b49a8-ced3-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 10:17:10 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id B06F11FE98;
 Thu, 30 Mar 2023 08:17: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 81FEC138FF;
 Thu, 30 Mar 2023 08:17:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id vtogHoVFJWT5EQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:17:09 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 445b49a8-ced3-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164229; 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=wxraSOtqeOhkoTjswd0lnkSNOJJGOpArCH1b+MkFlr8=;
	b=QtPqe5MaSiSmN2F8QgtagQvb0etNhDfRoTHQ/FhYSuKnCob2PMLD6rOWp4MTlN8DJFrEX2
	9TlH/jrSInxqqbMYK5NWuFwF9e1GA0zYMjkGmtqxou9wErbrOjmKQIp7Dzf/8TwC38E/Ou
	jyBdIX0s2SYet9DqR+Am82RE4daJvZM=
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 v3 04/13] tools/xenstore: add framework to commit accounting data on success only
Date: Thu, 30 Mar 2023 10:16:35 +0200
Message-Id: <20230330081644.11480-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330081644.11480-1-jgross@suse.com>
References: <20230330081644.11480-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of modifying accounting data and undo those modifications in
case of an error during further processing, add a framework for
collecting the needed changes and commit them only when the whole
operation has succeeded.

This scheme can reuse large parts of the per transaction accounting.
The changed_domain handling can be reused, but the array size of the
accounting data should be possible to be different for both use cases.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- call acc_commit() earlier (Julien Grall)
- add assert() to acc_commit()
- use fixed sized acc array in struct changed_domain (Julien Grall)
---
 tools/xenstore/xenstored_core.c   |  9 ++++--
 tools/xenstore/xenstored_core.h   |  3 ++
 tools/xenstore/xenstored_domain.c | 53 ++++++++++++++++++++++++++++++-
 tools/xenstore/xenstored_domain.h |  5 ++-
 4 files changed, 66 insertions(+), 4 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 3ca68681e3..84335f5f3d 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -1023,6 +1023,9 @@ static void send_error(struct connection *conn, int error)
 			break;
 		}
 	}
+
+	acc_drop(conn);
+
 	send_reply(conn, XS_ERROR, xsd_errors[i].errstring,
 			  strlen(xsd_errors[i].errstring) + 1);
 }
@@ -1034,6 +1037,9 @@ void send_reply(struct connection *conn, enum xsd_sockmsg_type type,
 
 	assert(type != XS_WATCH_EVENT);
 
+	conn->in = NULL;
+	acc_commit(conn);
+
 	if ( len > XENSTORE_PAYLOAD_MAX ) {
 		send_error(conn, E2BIG);
 		return;
@@ -1059,8 +1065,6 @@ void send_reply(struct connection *conn, enum xsd_sockmsg_type type,
 		}
 	}
 
-	conn->in = NULL;
-
 	/* Update relevant header fields and fill in the message body. */
 	bdata->hdr.msg.type = type;
 	bdata->hdr.msg.len = len;
@@ -2195,6 +2199,7 @@ struct connection *new_connection(const struct interface_funcs *funcs)
 	new->is_stalled = false;
 	new->transaction_started = 0;
 	INIT_LIST_HEAD(&new->out_list);
+	INIT_LIST_HEAD(&new->acc_list);
 	INIT_LIST_HEAD(&new->ref_list);
 	INIT_LIST_HEAD(&new->watches);
 	INIT_LIST_HEAD(&new->transaction_list);
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index c59b06551f..1f811f38cb 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -139,6 +139,9 @@ struct connection
 	struct list_head out_list;
 	uint64_t timeout_msec;
 
+	/* Not yet committed accounting data (valid if in != NULL). */
+	struct list_head acc_list;
+
 	/* Referenced requests no longer pending. */
 	struct list_head ref_list;
 
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 4ff01bac84..6c4b8d9b32 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -91,6 +91,8 @@ struct domain
 	bool wrl_delay_logged;
 };
 
+#define ACC_CHD_N (ACC_TR_N < ACC_REQ_N ? ACC_REQ_N : ACC_TR_N)
+
 struct changed_domain
 {
 	/* List of all changed domains. */
@@ -100,7 +102,7 @@ struct changed_domain
 	unsigned int domid;
 
 	/* Accounting data. */
-	int acc[ACC_TR_N];
+	int acc[ACC_CHD_N];
 };
 
 static struct hashtable *domhash;
@@ -1070,6 +1072,7 @@ static int domain_acc_add(struct connection *conn, unsigned int domid,
 			  enum accitem what, int add, bool no_dom_alloc)
 {
 	struct domain *d;
+	struct changed_domain *cd;
 	struct list_head *head;
 	int ret;
 
@@ -1090,6 +1093,22 @@ static int domain_acc_add(struct connection *conn, unsigned int domid,
 		}
 	}
 
+	/* Temporary accounting data until final commit? */
+	if (conn && conn->in && what < ACC_REQ_N) {
+		/* Consider transaction local data. */
+		ret = 0;
+		if (conn->transaction && what < ACC_TR_N) {
+			head = transaction_get_changed_domains(
+				conn->transaction);
+			cd = acc_find_changed_domain(head, domid);
+			if (cd)
+				ret = cd->acc[what];
+		}
+		ret += acc_add_changed_dom(conn->in, &conn->acc_list, what,
+					   add, domid);
+		return errno ? -1 : domain_acc_add_valid(d, what, ret);
+	}
+
 	if (conn && conn->transaction && what < ACC_TR_N) {
 		head = transaction_get_changed_domains(conn->transaction);
 		ret = acc_add_changed_dom(conn->transaction, head, what,
@@ -1106,6 +1125,38 @@ static int domain_acc_add(struct connection *conn, unsigned int domid,
 	return d->acc[what];
 }
 
+void acc_drop(struct connection *conn)
+{
+	struct changed_domain *cd;
+
+	while ((cd = list_top(&conn->acc_list, struct changed_domain, list))) {
+		list_del(&cd->list);
+		talloc_free(cd);
+	}
+}
+
+void acc_commit(struct connection *conn)
+{
+	struct changed_domain *cd;
+	enum accitem what;
+
+	/*
+	 * Make sure domain_acc_add() below can't add additional data to
+	 * to be committed accounting records.
+	 */
+	assert(!conn->in);
+
+	while ((cd = list_top(&conn->acc_list, struct changed_domain, list))) {
+		list_del(&cd->list);
+		for (what = 0; what < ACC_REQ_N; what++)
+			if (cd->acc[what])
+				domain_acc_add(conn, cd->domid, what,
+					       cd->acc[what], true);
+
+		talloc_free(cd);
+	}
+}
+
 int domain_nbentry_inc(struct connection *conn, unsigned int domid)
 {
 	return (domain_acc_add(conn, domid, ACC_NODES, 1, false) < 0)
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index 9d05eb01da..6355ad4f37 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -25,7 +25,8 @@
  * a per transaction array.
  */
 enum accitem {
-	ACC_NODES,
+	ACC_REQ_N,		/* Number of elements per request. */
+	ACC_NODES = ACC_REQ_N,
 	ACC_TR_N,		/* Number of elements per transaction. */
 	ACC_N = ACC_TR_N,	/* Number of elements per domain. */
 };
@@ -113,6 +114,8 @@ int domain_get_quota(const void *ctx, struct connection *conn,
  * If "update" is true, "chk_quota" is ignored.
  */
 int acc_fix_domains(struct list_head *head, bool chk_quota, bool update);
+void acc_drop(struct connection *conn);
+void acc_commit(struct connection *conn);
 
 /* Write rate limiting */
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:17:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:17:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516457.800583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnTC-0003Xh-4c; Thu, 30 Mar 2023 08:17:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516457.800583; Thu, 30 Mar 2023 08:17: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 1phnTC-0003XY-1Z; Thu, 30 Mar 2023 08:17:18 +0000
Received: by outflank-mailman (input) for mailman id 516457;
 Thu, 30 Mar 2023 08:17: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnTA-0001oz-2c
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:17: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 47a9b8b5-ced3-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:17:15 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5548421B24;
 Thu, 30 Mar 2023 08:17: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 2A32D138FF;
 Thu, 30 Mar 2023 08:17:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id t8UECYtFJWQEEgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:17: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: 47a9b8b5-ced3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164235; 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=zpWITZM/jycFaeqzkIbP5IXI6C0MvtvZCqGsXHa9q9E=;
	b=VH/haiIOd8XRqrRpX9crp/FKzgzCob1pWzHhnNmDhJ32WW7TZOMEV29dgRm70lm32m+tWi
	UfSuM3GqnbhjopOJaNb28vUi2MbNAilRyfWdqD1893Q41p4zA1QMfE9F3FB1G9IsW54e8r
	dEpNwBMD5qlc7BE5klr6mWFwF7ljvJI=
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 v3 05/13] tools/xenstore: use accounting buffering for node accounting
Date: Thu, 30 Mar 2023 10:16:36 +0200
Message-Id: <20230330081644.11480-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330081644.11480-1-jgross@suse.com>
References: <20230330081644.11480-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the node accounting to the accounting information buffering in
order to avoid having to undo it in case of failure.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_core.c   | 21 ++-------------------
 tools/xenstore/xenstored_domain.h |  4 ++--
 2 files changed, 4 insertions(+), 21 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 84335f5f3d..92a40ccf3f 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -1452,7 +1452,6 @@ static void destroy_node_rm(struct connection *conn, struct node *node)
 static int destroy_node(struct connection *conn, struct node *node)
 {
 	destroy_node_rm(conn, node);
-	domain_nbentry_dec(conn, get_node_owner(node));
 
 	/*
 	 * It is not possible to easily revert the changes in a transaction.
@@ -1797,27 +1796,11 @@ static int do_set_perms(const void *ctx, struct connection *conn,
 	old_perms = node->perms;
 	domain_nbentry_dec(conn, get_node_owner(node));
 	node->perms = perms;
-	if (domain_nbentry_inc(conn, get_node_owner(node))) {
-		node->perms = old_perms;
-		/*
-		 * This should never fail because we had a reference on the
-		 * domain before and Xenstored is single-threaded.
-		 */
-		domain_nbentry_inc(conn, get_node_owner(node));
+	if (domain_nbentry_inc(conn, get_node_owner(node)))
 		return ENOMEM;
-	}
 
-	if (write_node(conn, node, false)) {
-		int saved_errno = errno;
-
-		domain_nbentry_dec(conn, get_node_owner(node));
-		node->perms = old_perms;
-		/* No failure possible as above. */
-		domain_nbentry_inc(conn, get_node_owner(node));
-
-		errno = saved_errno;
+	if (write_node(conn, node, false))
 		return errno;
-	}
 
 	fire_watches(conn, ctx, name, node, false, &old_perms);
 	send_ack(conn, XS_SET_PERMS);
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index 6355ad4f37..e669f57b80 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -25,9 +25,9 @@
  * a per transaction array.
  */
 enum accitem {
+	ACC_NODES,
 	ACC_REQ_N,		/* Number of elements per request. */
-	ACC_NODES = ACC_REQ_N,
-	ACC_TR_N,		/* Number of elements per transaction. */
+	ACC_TR_N = ACC_REQ_N,	/* Number of elements per transaction. */
 	ACC_N = ACC_TR_N,	/* Number of elements per domain. */
 };
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:17:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:17:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516461.800593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnTH-00043I-E7; Thu, 30 Mar 2023 08:17:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516461.800593; Thu, 30 Mar 2023 08:17: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 1phnTH-00042m-9P; Thu, 30 Mar 2023 08:17:23 +0000
Received: by outflank-mailman (input) for mailman id 516461;
 Thu, 30 Mar 2023 08:17: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnTF-0001oz-Ou
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:17: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 4b017941-ced3-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:17:21 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E868121B22;
 Thu, 30 Mar 2023 08:17: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 B9773138FF;
 Thu, 30 Mar 2023 08:17:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id qbbfK5BFJWQSEgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08: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>
X-Inumbo-ID: 4b017941-ced3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164240; 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=QXKu+Gq/9sz04GypdYkd9erzyn6Y47GdsHFpX0r8ngg=;
	b=Gi8he0qySfGgva+mlsJH+ZE/BAVYEajFGkt0vf/vvQUCsU2mvbqs61QbIL5Nh3sscW2wuV
	YXr+ZkB2Il5boNRFlAcaTdvc/Nb9qTcF6DNaKGFDJWtKSHX61pD2+OFRucqE19iCtPd1Wp
	FklKQvYGzqmTapLrudjAb4d1a/IVFJE=
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 v3 06/13] tools/xenstore: add current connection to domain_memory_add() parameters
Date: Thu, 30 Mar 2023 10:16:37 +0200
Message-Id: <20230330081644.11480-7-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330081644.11480-1-jgross@suse.com>
References: <20230330081644.11480-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to enable switching memory accounting to the generic array
based accounting, add the current connection to the parameters of
domain_memory_add().

This requires to add the connection to some other functions, too.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_core.c   | 28 ++++++++++++++++------------
 tools/xenstore/xenstored_domain.c |  3 ++-
 tools/xenstore/xenstored_domain.h | 14 +++++++++-----
 tools/xenstore/xenstored_watch.c  | 11 ++++++-----
 4 files changed, 33 insertions(+), 23 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 92a40ccf3f..88ae674523 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -246,7 +246,8 @@ static void free_buffered_data(struct buffered_data *out,
 		}
 	}
 
-	domain_memory_add_nochk(conn->id, -out->hdr.msg.len - sizeof(out->hdr));
+	domain_memory_add_nochk(conn, conn->id,
+				-out->hdr.msg.len - sizeof(out->hdr));
 
 	if (out->hdr.msg.type == XS_WATCH_EVENT) {
 		req = out->pend.req;
@@ -631,24 +632,25 @@ int do_tdb_write(struct connection *conn, TDB_DATA *key, TDB_DATA *data,
 	 * nodes to new owners.
 	 */
 	if (old_acc.memory)
-		domain_memory_add_nochk(old_domid,
+		domain_memory_add_nochk(conn, old_domid,
 					-old_acc.memory - key->dsize);
-	ret = domain_memory_add(new_domid, data->dsize + key->dsize,
-				no_quota_check);
+	ret = domain_memory_add(conn, new_domid,
+				data->dsize + key->dsize, no_quota_check);
 	if (ret) {
 		/* Error path, so no quota check. */
 		if (old_acc.memory)
-			domain_memory_add_nochk(old_domid,
+			domain_memory_add_nochk(conn, old_domid,
 						old_acc.memory + key->dsize);
 		return ret;
 	}
 
 	/* TDB should set errno, but doesn't even set ecode AFAICT. */
 	if (tdb_store(tdb_ctx, *key, *data, TDB_REPLACE) != 0) {
-		domain_memory_add_nochk(new_domid, -data->dsize - key->dsize);
+		domain_memory_add_nochk(conn, new_domid,
+					-data->dsize - key->dsize);
 		/* Error path, so no quota check. */
 		if (old_acc.memory)
-			domain_memory_add_nochk(old_domid,
+			domain_memory_add_nochk(conn, old_domid,
 						old_acc.memory + key->dsize);
 		errno = EIO;
 		return errno;
@@ -683,7 +685,7 @@ int do_tdb_delete(struct connection *conn, TDB_DATA *key,
 
 	if (acc->memory) {
 		domid = get_acc_domid(conn, key, acc->domid);
-		domain_memory_add_nochk(domid, -acc->memory - key->dsize);
+		domain_memory_add_nochk(conn, domid, -acc->memory - key->dsize);
 	}
 
 	return 0;
@@ -1055,11 +1057,13 @@ void send_reply(struct connection *conn, enum xsd_sockmsg_type type,
 	if (len <= DEFAULT_BUFFER_SIZE) {
 		bdata->buffer = bdata->default_buffer;
 		/* Don't check quota, path might be used for returning error. */
-		domain_memory_add_nochk(conn->id, len + sizeof(bdata->hdr));
+		domain_memory_add_nochk(conn, conn->id,
+					len + sizeof(bdata->hdr));
 	} else {
 		bdata->buffer = talloc_array(bdata, char, len);
 		if (!bdata->buffer ||
-		    domain_memory_add_chk(conn->id, len + sizeof(bdata->hdr))) {
+		    domain_memory_add_chk(conn, conn->id,
+					  len + sizeof(bdata->hdr))) {
 			send_error(conn, ENOMEM);
 			return;
 		}
@@ -1122,7 +1126,7 @@ void send_event(struct buffered_data *req, struct connection *conn,
 		}
 	}
 
-	if (domain_memory_add_chk(conn->id, len + sizeof(bdata->hdr))) {
+	if (domain_memory_add_chk(conn, conn->id, len + sizeof(bdata->hdr))) {
 		talloc_free(bdata);
 		return;
 	}
@@ -3322,7 +3326,7 @@ static void add_buffered_data(struct buffered_data *bdata,
 	 * be smaller. So ignore it. The limit will be applied for any resource
 	 * after the state has been fully restored.
 	 */
-	domain_memory_add_nochk(conn->id, len + sizeof(bdata->hdr));
+	domain_memory_add_nochk(conn, conn->id, len + sizeof(bdata->hdr));
 }
 
 void read_state_buffered_data(const void *ctx, struct connection *conn,
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 6c4b8d9b32..aab23a2506 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -1235,7 +1235,8 @@ static bool domain_chk_quota(struct domain *domain, int mem)
 	return false;
 }
 
-int domain_memory_add(unsigned int domid, int mem, bool no_quota_check)
+int domain_memory_add(struct connection *conn, unsigned int domid, int mem,
+		      bool no_quota_check)
 {
 	struct domain *domain;
 
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index e669f57b80..5cfd730cf6 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -80,25 +80,29 @@ int domain_nbentry_inc(struct connection *conn, unsigned int domid);
 int domain_nbentry_dec(struct connection *conn, unsigned int domid);
 int domain_nbentry_fix(unsigned int domid, int num, bool update);
 unsigned int domain_nbentry(struct connection *conn);
-int domain_memory_add(unsigned int domid, int mem, bool no_quota_check);
+int domain_memory_add(struct connection *conn, unsigned int domid, int mem,
+		      bool no_quota_check);
 
 /*
  * domain_memory_add_chk(): to be used when memory quota should be checked.
  * Not to be used when specifying a negative mem value, as lowering the used
  * memory should always be allowed.
  */
-static inline int domain_memory_add_chk(unsigned int domid, int mem)
+static inline int domain_memory_add_chk(struct connection *conn,
+					unsigned int domid, int mem)
 {
-	return domain_memory_add(domid, mem, false);
+	return domain_memory_add(conn, domid, mem, false);
 }
+
 /*
  * domain_memory_add_nochk(): to be used when memory quota should not be
  * checked, e.g. when lowering memory usage, or in an error case for undoing
  * a previous memory adjustment.
  */
-static inline void domain_memory_add_nochk(unsigned int domid, int mem)
+static inline void domain_memory_add_nochk(struct connection *conn,
+					   unsigned int domid, int mem)
 {
-	domain_memory_add(domid, mem, true);
+	domain_memory_add(conn, domid, mem, true);
 }
 void domain_watch_inc(struct connection *conn);
 void domain_watch_dec(struct connection *conn);
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c
index 8ad0229df6..e30cd89be3 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstore/xenstored_watch.c
@@ -199,7 +199,7 @@ static struct watch *add_watch(struct connection *conn, char *path, char *token,
 	watch->token = talloc_strdup(watch, token);
 	if (!watch->node || !watch->token)
 		goto nomem;
-	if (domain_memory_add(conn->id, strlen(path) + strlen(token),
+	if (domain_memory_add(conn, conn->id, strlen(path) + strlen(token),
 			      no_quota_check))
 		goto nomem;
 
@@ -274,8 +274,9 @@ int do_unwatch(const void *ctx, struct connection *conn,
 	list_for_each_entry(watch, &conn->watches, list) {
 		if (streq(watch->node, node) && streq(watch->token, vec[1])) {
 			list_del(&watch->list);
-			domain_memory_add_nochk(conn->id, -strlen(watch->node) -
-							  strlen(watch->token));
+			domain_memory_add_nochk(conn, conn->id,
+						-strlen(watch->node) -
+						strlen(watch->token));
 			talloc_free(watch);
 			domain_watch_dec(conn);
 			send_ack(conn, XS_UNWATCH);
@@ -291,8 +292,8 @@ void conn_delete_all_watches(struct connection *conn)
 
 	while ((watch = list_top(&conn->watches, struct watch, list))) {
 		list_del(&watch->list);
-		domain_memory_add_nochk(conn->id, -strlen(watch->node) -
-						  strlen(watch->token));
+		domain_memory_add_nochk(conn, conn->id, -strlen(watch->node) -
+							strlen(watch->token));
 		talloc_free(watch);
 		domain_watch_dec(conn);
 	}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:17:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:17:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516465.800603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnTM-0004XC-LH; Thu, 30 Mar 2023 08:17:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516465.800603; Thu, 30 Mar 2023 08: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 1phnTM-0004Wy-Ho; Thu, 30 Mar 2023 08:17:28 +0000
Received: by outflank-mailman (input) for mailman id 516465;
 Thu, 30 Mar 2023 08:17: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnTL-0001oz-Gr
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:17:27 +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 4e560a79-ced3-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:17:26 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 835771FE98;
 Thu, 30 Mar 2023 08:17: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 56E7D138FF;
 Thu, 30 Mar 2023 08:17:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id io/JE5ZFJWQgEgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:17: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: 4e560a79-ced3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164246; 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=UNXsrJE+N9aDBptj7B9Vhh0EYd5gGZ8iu/7wLWa5UHk=;
	b=C+opYmfQ5OjBcKyclLFc9/3rVx2ep1f/eXg2dh8W0vhOunEQ42aieUffHSMD5kOilNYbao
	lo8qHjSBSjwFRuHY1IZ5NkRzfu7iisYvS4dLsSH8yQ9yA+GC2/GnVbRxPnvB/Vj2sKb8tj
	TujFAjwxuZqIMDbQabq3PAuqHVc4xtM=
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 v3 07/13] tools/xenstore: use accounting data array for per-domain values
Date: Thu, 30 Mar 2023 10:16:38 +0200
Message-Id: <20230330081644.11480-8-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330081644.11480-1-jgross@suse.com>
References: <20230330081644.11480-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the accounting of per-domain usage of Xenstore memory, watches, and
outstanding requests to the array based mechanism.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_core.c   |   8 +--
 tools/xenstore/xenstored_domain.c | 111 +++++++++++-------------------
 tools/xenstore/xenstored_domain.h |  10 +--
 3 files changed, 52 insertions(+), 77 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 88ae674523..67aa7c1578 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -255,7 +255,7 @@ static void free_buffered_data(struct buffered_data *out,
 			req->pend.ref.event_cnt--;
 			if (!req->pend.ref.event_cnt && !req->on_out_list) {
 				if (req->on_ref_list) {
-					domain_outstanding_domid_dec(
+					domain_outstanding_dec(conn,
 						req->pend.ref.domid);
 					list_del(&req->list);
 				}
@@ -271,7 +271,7 @@ static void free_buffered_data(struct buffered_data *out,
 		out->on_ref_list = true;
 		return;
 	} else
-		domain_outstanding_dec(conn);
+		domain_outstanding_dec(conn, conn->id);
 
 	talloc_free(out);
 }
@@ -1077,7 +1077,7 @@ void send_reply(struct connection *conn, enum xsd_sockmsg_type type,
 	/* Queue for later transmission. */
 	list_add_tail(&bdata->list, &conn->out_list);
 	bdata->on_out_list = true;
-	domain_outstanding_inc(conn);
+	domain_outstanding_inc(conn, conn->id);
 }
 
 /*
@@ -3320,7 +3320,7 @@ static void add_buffered_data(struct buffered_data *bdata,
 	 * request have been delivered.
 	 */
 	if (bdata->hdr.msg.type != XS_WATCH_EVENT)
-		domain_outstanding_inc(conn);
+		domain_outstanding_inc(conn, conn->id);
 	/*
 	 * We are restoring the state after Live-Update and the new quota may
 	 * be smaller. So ignore it. The limit will be applied for any resource
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index aab23a2506..9e816c5a4b 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -72,19 +72,12 @@ struct domain
 	/* Accounting data for this domain. */
 	unsigned int acc[ACC_N];
 
-	/* Amount of memory allocated for this domain. */
-	int memory;
+	/* Memory quota data for this domain. */
 	bool soft_quota_reported;
 	bool hard_quota_reported;
 	time_t mem_last_msg;
 #define MEM_WARN_MINTIME_SEC 10
 
-	/* number of watch for this domain */
-	int nbwatch;
-
-	/* Number of outstanding requests. */
-	int nboutstanding;
-
 	/* write rate limit */
 	wrl_creditt wrl_credit; /* [ -wrl_config_writecost, +_dburst ] */
 	struct wrl_timestampt wrl_timestamp;
@@ -202,14 +195,15 @@ static bool domain_can_write(struct connection *conn)
 
 static bool domain_can_read(struct connection *conn)
 {
-	struct xenstore_domain_interface *intf = conn->domain->interface;
+	struct domain *domain = conn->domain;
+	struct xenstore_domain_interface *intf = domain->interface;
 
 	if (domain_is_unprivileged(conn)) {
-		if (conn->domain->wrl_credit < 0)
+		if (domain->wrl_credit < 0)
 			return false;
-		if (conn->domain->nboutstanding >= quota_req_outstanding)
+		if (domain->acc[ACC_OUTST] >= quota_req_outstanding)
 			return false;
-		if (conn->domain->memory >= quota_memory_per_domain_hard &&
+		if (domain->acc[ACC_MEM] >= quota_memory_per_domain_hard &&
 		    quota_memory_per_domain_hard)
 			return false;
 	}
@@ -440,10 +434,10 @@ int domain_get_quota(const void *ctx, struct connection *conn,
 	if (!resp) return ENOMEM
 
 	ent(nodes, d->acc[ACC_NODES]);
-	ent(watches, d->nbwatch);
+	ent(watches, d->acc[ACC_WATCH]);
 	ent(transactions, ta);
-	ent(outstanding, d->nboutstanding);
-	ent(memory, d->memory);
+	ent(outstanding, d->acc[ACC_OUTST]);
+	ent(memory, d->acc[ACC_MEM]);
 
 #undef ent
 
@@ -1186,14 +1180,16 @@ unsigned int domain_nbentry(struct connection *conn)
 	       ? domain_acc_add(conn, conn->id, ACC_NODES, 0, true) : 0;
 }
 
-static bool domain_chk_quota(struct domain *domain, int mem)
+static bool domain_chk_quota(struct connection *conn, unsigned int mem)
 {
 	time_t now;
+	struct domain *domain;
 
-	if (!domain || !domid_is_unprivileged(domain->domid) ||
-	    (domain->conn && domain->conn->is_ignored))
+	if (!conn || !domid_is_unprivileged(conn->id) ||
+	    conn->is_ignored)
 		return false;
 
+	domain = conn->domain;
 	now = time(NULL);
 
 	if (mem >= quota_memory_per_domain_hard &&
@@ -1238,80 +1234,57 @@ static bool domain_chk_quota(struct domain *domain, int mem)
 int domain_memory_add(struct connection *conn, unsigned int domid, int mem,
 		      bool no_quota_check)
 {
-	struct domain *domain;
+	int ret;
 
-	domain = find_domain_struct(domid);
-	if (domain) {
-		/*
-		 * domain_chk_quota() will print warning and also store whether
-		 * the soft/hard quota has been hit. So check no_quota_check
-		 * *after*.
-		 */
-		if (domain_chk_quota(domain, domain->memory + mem) &&
-		    !no_quota_check)
-			return ENOMEM;
-		domain->memory += mem;
-	} else {
-		/*
-		 * The domain the memory is to be accounted for should always
-		 * exist, as accounting is done either for a domain related to
-		 * the current connection, or for the domain owning a node
-		 * (which is always existing, as the owner of the node is
-		 * tested to exist and deleted or replaced by domid 0 if not).
-		 * So not finding the related domain MUST be an error in the
-		 * data base.
-		 */
-		errno = ENOENT;
-		corrupt(NULL, "Accounting called for non-existing domain %u\n",
-			domid);
-		return ENOENT;
-	}
+	ret = domain_acc_add(conn, domid, ACC_MEM, 0, true);
+	if (ret < 0)
+		return -ret;
+
+	/*
+	 * domain_chk_quota() will print warning and also store whether the
+	 * soft/hard quota has been hit. So check no_quota_check *after*.
+	 */
+	if (domain_chk_quota(conn, ret + mem) && !no_quota_check)
+		return ENOMEM;
+
+	/*
+	 * The domain the memory is to be accounted for should always exist,
+	 * as accounting is done either for a domain related to the current
+	 * connection, or for the domain owning a node (which is always
+	 * existing, as the owner of the node is tested to exist and deleted
+	 * or replaced by domid 0 if not).
+	 * So not finding the related domain MUST be an error in the data base.
+	 */
+	domain_acc_add(conn, domid, ACC_MEM, mem, true);
 
 	return 0;
 }
 
 void domain_watch_inc(struct connection *conn)
 {
-	if (!conn || !conn->domain)
-		return;
-	conn->domain->nbwatch++;
+	domain_acc_add(conn, conn->id, ACC_WATCH, 1, true);
 }
 
 void domain_watch_dec(struct connection *conn)
 {
-	if (!conn || !conn->domain)
-		return;
-	if (conn->domain->nbwatch)
-		conn->domain->nbwatch--;
+	domain_acc_add(conn, conn->id, ACC_WATCH, -1, true);
 }
 
 int domain_watch(struct connection *conn)
 {
 	return (domain_is_unprivileged(conn))
-		? conn->domain->nbwatch
+		? domain_acc_add(conn, conn->id, ACC_WATCH, 0, true)
 		: 0;
 }
 
-void domain_outstanding_inc(struct connection *conn)
+void domain_outstanding_inc(struct connection *conn, unsigned int domid)
 {
-	if (!conn || !conn->domain)
-		return;
-	conn->domain->nboutstanding++;
+	domain_acc_add(conn, domid, ACC_OUTST, 1, true);
 }
 
-void domain_outstanding_dec(struct connection *conn)
+void domain_outstanding_dec(struct connection *conn, unsigned int domid)
 {
-	if (!conn || !conn->domain)
-		return;
-	conn->domain->nboutstanding--;
-}
-
-void domain_outstanding_domid_dec(unsigned int domid)
-{
-	struct domain *d = find_domain_by_domid(domid);
-
-	if (d)
-		d->nboutstanding--;
+	domain_acc_add(conn, domid, ACC_OUTST, -1, true);
 }
 
 static wrl_creditt wrl_config_writecost      = WRL_FACTOR;
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index 5cfd730cf6..0d61bf4344 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -28,7 +28,10 @@ enum accitem {
 	ACC_NODES,
 	ACC_REQ_N,		/* Number of elements per request. */
 	ACC_TR_N = ACC_REQ_N,	/* Number of elements per transaction. */
-	ACC_N = ACC_TR_N,	/* Number of elements per domain. */
+	ACC_WATCH = ACC_TR_N,
+	ACC_OUTST,
+	ACC_MEM,
+	ACC_N,			/* Number of elements per domain. */
 };
 
 void handle_event(void);
@@ -107,9 +110,8 @@ static inline void domain_memory_add_nochk(struct connection *conn,
 void domain_watch_inc(struct connection *conn);
 void domain_watch_dec(struct connection *conn);
 int domain_watch(struct connection *conn);
-void domain_outstanding_inc(struct connection *conn);
-void domain_outstanding_dec(struct connection *conn);
-void domain_outstanding_domid_dec(unsigned int domid);
+void domain_outstanding_inc(struct connection *conn, unsigned int domid);
+void domain_outstanding_dec(struct connection *conn, unsigned int domid);
 int domain_get_quota(const void *ctx, struct connection *conn,
 		     unsigned int domid);
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:17:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:17:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516469.800613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnTS-00057u-5n; Thu, 30 Mar 2023 08:17:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516469.800613; Thu, 30 Mar 2023 08:17: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 1phnTS-00057l-16; Thu, 30 Mar 2023 08:17:34 +0000
Received: by outflank-mailman (input) for mailman id 516469;
 Thu, 30 Mar 2023 08:17: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnTQ-0001oz-Qi
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:17:32 +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 51b2093e-ced3-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:17:32 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 2B60F21B22;
 Thu, 30 Mar 2023 08:17: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 E9FB1138FF;
 Thu, 30 Mar 2023 08:17:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Cx23N5tFJWQpEgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08: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: 51b2093e-ced3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164252; 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=QXC1m94iQI5wdnXCc2S29mWX1ln4ud9sAXplrxEBqXA=;
	b=lUH/Ti7Crj8uiVaYSTyfEsnbztW5yIEZILg3YL6IYtvdlx7GXk3WDV+o7cCmCFt2fP7W5q
	n0hWIYUKcK8z1VNvf4jUfsUToKQ6P1PEkDxivVAQvAbvhP2SddEzWzdUPog16NSWYMnmVf
	p1dMbaJhBGT2srb8fwNN28CRbwaFo4U=
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 v3 08/13] tools/xenstore: add accounting trace support
Date: Thu, 30 Mar 2023 10:16:39 +0200
Message-Id: <20230330081644.11480-9-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330081644.11480-1-jgross@suse.com>
References: <20230330081644.11480-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a new trace switch "acc" and the related trace calls.

The "acc" switch is off per default.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstore/xenstored_core.c   |  2 +-
 tools/xenstore/xenstored_core.h   |  1 +
 tools/xenstore/xenstored_domain.c | 10 ++++++++++
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 67aa7c1578..bd816ce709 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2746,7 +2746,7 @@ static void set_quota(const char *arg, bool soft)
 
 /* Sorted by bit values of TRACE_* flags. Flag is (1u << index). */
 const char *const trace_switches[] = {
-	"obj", "io", "wrl",
+	"obj", "io", "wrl", "acc",
 	NULL
 };
 
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 1f811f38cb..3e0734a6c6 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -302,6 +302,7 @@ extern unsigned int trace_flags;
 #define TRACE_OBJ	0x00000001
 #define TRACE_IO	0x00000002
 #define TRACE_WRL	0x00000004
+#define TRACE_ACC	0x00000008
 extern const char *const trace_switches[];
 int set_trace_switch(const char *arg);
 
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 9e816c5a4b..310156768e 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -540,6 +540,12 @@ static struct domain *find_domain_by_domid(unsigned int domid)
 	return (d && d->introduced) ? d : NULL;
 }
 
+#define trace_acc(...)				\
+do {						\
+	if (trace_flags & TRACE_ACC)		\
+		trace("acc: " __VA_ARGS__);	\
+} while (0)
+
 int acc_fix_domains(struct list_head *head, bool chk_quota, bool update)
 {
 	struct changed_domain *cd;
@@ -603,6 +609,8 @@ static int acc_add_changed_dom(const void *ctx, struct list_head *head,
 		return 0;
 
 	errno = 0;
+	trace_acc("local change domid %u: what=%u %d add %d\n", domid, what,
+		  cd->acc[what], val);
 	cd->acc[what] += val;
 
 	return cd->acc[what];
@@ -1114,6 +1122,8 @@ static int domain_acc_add(struct connection *conn, unsigned int domid,
 		return domain_acc_add_valid(d, what, ret);
 	}
 
+	trace_acc("global change domid %u: what=%u %u add %d\n", domid, what,
+		  d->acc[what], add);
 	d->acc[what] = domain_acc_add_valid(d, what, add);
 
 	return d->acc[what];
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:17:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:17:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516471.800623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnTZ-0005h2-Dj; Thu, 30 Mar 2023 08:17:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516471.800623; Thu, 30 Mar 2023 08:17:41 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnTZ-0005gK-Ab; Thu, 30 Mar 2023 08:17:41 +0000
Received: by outflank-mailman (input) for mailman id 516471;
 Thu, 30 Mar 2023 08:17: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnTX-0001Za-RF
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:17: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 55210555-ced3-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 10:17:38 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id D435B1FE98;
 Thu, 30 Mar 2023 08:17: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 99CF1138FF;
 Thu, 30 Mar 2023 08:17:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 3hHWI6FFJWQ5EgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:17:37 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55210555-ced3-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164257; 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=GIdwVYCAKepkDxThtVUfw/37sAa1oGJdz4Nx6ZA+2lg=;
	b=a7iidtU0eWRT6rWjaM9fyo+TV5+NSPHvUQPzTLDe3RzuSirayR15TbVk/mUA97z/l0Ocwu
	6WTbAvngphh/BKgBNYUDCXZp6+MUQdivEgZx3YeYknNQBBcI3LDj0mRzpvPUc6ohA0n/gC
	QNpXQENxR8rv3Vbs80Y5GfM+nPNaK78=
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 v3 09/13] tools/xenstore: add TDB access trace support
Date: Thu, 30 Mar 2023 10:16:40 +0200
Message-Id: <20230330081644.11480-10-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330081644.11480-1-jgross@suse.com>
References: <20230330081644.11480-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a new trace switch "tdb" and the related trace calls.

The "tdb" switch is off per default.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstore/xenstored_core.c        | 8 +++++++-
 tools/xenstore/xenstored_core.h        | 7 +++++++
 tools/xenstore/xenstored_transaction.c | 7 ++++++-
 3 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index bd816ce709..2d481fcad9 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -589,6 +589,8 @@ static void get_acc_data(TDB_DATA *key, struct node_account_data *acc)
 		if (old_data.dptr == NULL) {
 			acc->memory = 0;
 		} else {
+			trace_tdb("read %s size %zu\n", key->dptr,
+				  old_data.dsize + key->dsize);
 			hdr = (void *)old_data.dptr;
 			acc->memory = old_data.dsize;
 			acc->domid = hdr->perms[0].id;
@@ -655,6 +657,7 @@ int do_tdb_write(struct connection *conn, TDB_DATA *key, TDB_DATA *data,
 		errno = EIO;
 		return errno;
 	}
+	trace_tdb("store %s size %zu\n", key->dptr, data->dsize + key->dsize);
 
 	if (acc) {
 		/* Don't use new_domid, as it might be a transaction node. */
@@ -682,6 +685,7 @@ int do_tdb_delete(struct connection *conn, TDB_DATA *key,
 		errno = EIO;
 		return errno;
 	}
+	trace_tdb("delete %s\n", key->dptr);
 
 	if (acc->memory) {
 		domid = get_acc_domid(conn, key, acc->domid);
@@ -731,6 +735,8 @@ struct node *read_node(struct connection *conn, const void *ctx,
 		goto error;
 	}
 
+	trace_tdb("read %s size %zu\n", key.dptr, data.dsize + key.dsize);
+
 	node->parent = NULL;
 	talloc_steal(node, data.dptr);
 
@@ -2746,7 +2752,7 @@ static void set_quota(const char *arg, bool soft)
 
 /* Sorted by bit values of TRACE_* flags. Flag is (1u << index). */
 const char *const trace_switches[] = {
-	"obj", "io", "wrl", "acc",
+	"obj", "io", "wrl", "acc", "tdb",
 	NULL
 };
 
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 3e0734a6c6..5a11dc1231 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -303,9 +303,16 @@ extern unsigned int trace_flags;
 #define TRACE_IO	0x00000002
 #define TRACE_WRL	0x00000004
 #define TRACE_ACC	0x00000008
+#define TRACE_TDB	0x00000010
 extern const char *const trace_switches[];
 int set_trace_switch(const char *arg);
 
+#define trace_tdb(...)				\
+do {						\
+	if (trace_flags & TRACE_TDB)		\
+		trace("tdb: " __VA_ARGS__);	\
+} while (0)
+
 extern TDB_CONTEXT *tdb_ctx;
 extern int dom0_domid;
 extern int dom0_event;
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index 2b15506953..11c8bcec84 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -374,8 +374,11 @@ static int finalize_transaction(struct connection *conn,
 				if (tdb_error(tdb_ctx) != TDB_ERR_NOEXIST)
 					return EIO;
 				gen = NO_GENERATION;
-			} else
+			} else {
+				trace_tdb("read %s size %zu\n", key.dptr,
+					  key.dsize + data.dsize);
 				gen = hdr->generation;
+			}
 			talloc_free(data.dptr);
 			if (i->generation != gen)
 				return EAGAIN;
@@ -399,6 +402,8 @@ static int finalize_transaction(struct connection *conn,
 			set_tdb_key(i->trans_name, &ta_key);
 			data = tdb_fetch(tdb_ctx, ta_key);
 			if (data.dptr) {
+				trace_tdb("read %s size %zu\n", ta_key.dptr,
+					  ta_key.dsize + data.dsize);
 				hdr = (void *)data.dptr;
 				hdr->generation = ++generation;
 				*is_corrupt |= do_tdb_write(conn, &key, &data,
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:17:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:17:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516474.800633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnTe-0006JB-Nc; Thu, 30 Mar 2023 08:17:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516474.800633; Thu, 30 Mar 2023 08:17: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 1phnTe-0006J0-KG; Thu, 30 Mar 2023 08:17:46 +0000
Received: by outflank-mailman (input) for mailman id 516474;
 Thu, 30 Mar 2023 08:17: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnTd-0001Za-Bx
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:17:45 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [2001:67c:2178:6::1c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5876a2ff-ced3-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 10:17:43 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7210621B22;
 Thu, 30 Mar 2023 08:17: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 45765138FF;
 Thu, 30 Mar 2023 08:17:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id YDuYD6dFJWRLEgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:17: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: 5876a2ff-ced3-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164263; 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=JFcwZf1JHRNuS4Tzu6qJ/8EH0qCEeGfT0kamH6EibwA=;
	b=WADD0lco6f2vKEn8Z7ZAJOXQnilfn7I+mHCWIa+m4xAq1EJw6laM230QJrNlXeWjOYRqsx
	SGYDhlKwTqu4jSrvMrjLUj94jyC0HW/eGDKuOt1Hri1llT3XeHW20eo2hDn7CbRBinjs71
	aCfFTZIDzHvUB48NxZSlFeAL3+RxMhM=
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 v3 10/13] tools/xenstore: switch transaction accounting to generic accounting
Date: Thu, 30 Mar 2023 10:16:41 +0200
Message-Id: <20230330081644.11480-11-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330081644.11480-1-jgross@suse.com>
References: <20230330081644.11480-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As transaction accounting is active for unprivileged domains only, it
can easily be added to the generic per-domain accounting.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_core.c        |  3 +--
 tools/xenstore/xenstored_core.h        |  1 -
 tools/xenstore/xenstored_domain.c      | 21 ++++++++++++++++++---
 tools/xenstore/xenstored_domain.h      |  4 ++++
 tools/xenstore/xenstored_transaction.c | 12 +++++-------
 5 files changed, 28 insertions(+), 13 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 2d481fcad9..88c569b7d5 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2083,7 +2083,7 @@ static void consider_message(struct connection *conn)
 	 * stalled. This will ignore new requests until Live-Update happened
 	 * or it was aborted.
 	 */
-	if (lu_is_pending() && conn->transaction_started == 0 &&
+	if (lu_is_pending() && conn->ta_start_time == 0 &&
 	    conn->in->hdr.msg.type == XS_TRANSACTION_START) {
 		trace("Delaying transaction start for connection %p req_id %u\n",
 		      conn, conn->in->hdr.msg.req_id);
@@ -2190,7 +2190,6 @@ struct connection *new_connection(const struct interface_funcs *funcs)
 	new->funcs = funcs;
 	new->is_ignored = false;
 	new->is_stalled = false;
-	new->transaction_started = 0;
 	INIT_LIST_HEAD(&new->out_list);
 	INIT_LIST_HEAD(&new->acc_list);
 	INIT_LIST_HEAD(&new->ref_list);
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 5a11dc1231..3564d85d7d 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -151,7 +151,6 @@ struct connection
 	/* List of in-progress transactions. */
 	struct list_head transaction_list;
 	uint32_t next_transaction_id;
-	unsigned int transaction_started;
 	time_t ta_start_time;
 
 	/* List of delayed requests. */
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 310156768e..57ce8641f9 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -419,12 +419,10 @@ int domain_get_quota(const void *ctx, struct connection *conn,
 {
 	struct domain *d = find_domain_struct(domid);
 	char *resp;
-	int ta;
 
 	if (!d)
 		return ENOENT;
 
-	ta = d->conn ? d->conn->transaction_started : 0;
 	resp = talloc_asprintf(ctx, "Domain %u:\n", domid);
 	if (!resp)
 		return ENOMEM;
@@ -435,7 +433,7 @@ int domain_get_quota(const void *ctx, struct connection *conn,
 
 	ent(nodes, d->acc[ACC_NODES]);
 	ent(watches, d->acc[ACC_WATCH]);
-	ent(transactions, ta);
+	ent(transactions, d->acc[ACC_TRANS]);
 	ent(outstanding, d->acc[ACC_OUTST]);
 	ent(memory, d->acc[ACC_MEM]);
 
@@ -1297,6 +1295,23 @@ void domain_outstanding_dec(struct connection *conn, unsigned int domid)
 	domain_acc_add(conn, domid, ACC_OUTST, -1, true);
 }
 
+void domain_transaction_inc(struct connection *conn)
+{
+	domain_acc_add(conn, conn->id, ACC_TRANS, 1, true);
+}
+
+void domain_transaction_dec(struct connection *conn)
+{
+	domain_acc_add(conn, conn->id, ACC_TRANS, -1, true);
+}
+
+unsigned int domain_transaction_get(struct connection *conn)
+{
+	return (domain_is_unprivileged(conn))
+		? domain_acc_add(conn, conn->id, ACC_TRANS, 0, true)
+		: 0;
+}
+
 static wrl_creditt wrl_config_writecost      = WRL_FACTOR;
 static wrl_creditt wrl_config_rate           = WRL_RATE   * WRL_FACTOR;
 static wrl_creditt wrl_config_dburst         = WRL_DBURST * WRL_FACTOR;
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index 0d61bf4344..abc766f343 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -31,6 +31,7 @@ enum accitem {
 	ACC_WATCH = ACC_TR_N,
 	ACC_OUTST,
 	ACC_MEM,
+	ACC_TRANS,
 	ACC_N,			/* Number of elements per domain. */
 };
 
@@ -112,6 +113,9 @@ void domain_watch_dec(struct connection *conn);
 int domain_watch(struct connection *conn);
 void domain_outstanding_inc(struct connection *conn, unsigned int domid);
 void domain_outstanding_dec(struct connection *conn, unsigned int domid);
+void domain_transaction_inc(struct connection *conn);
+void domain_transaction_dec(struct connection *conn);
+unsigned int domain_transaction_get(struct connection *conn);
 int domain_get_quota(const void *ctx, struct connection *conn,
 		     unsigned int domid);
 
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index 11c8bcec84..1c14b8579a 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -479,8 +479,7 @@ int do_transaction_start(const void *ctx, struct connection *conn,
 	if (conn->transaction)
 		return EBUSY;
 
-	if (domain_is_unprivileged(conn) &&
-	    conn->transaction_started > quota_max_transaction)
+	if (domain_transaction_get(conn) > quota_max_transaction)
 		return ENOSPC;
 
 	/* Attach transaction to ctx for autofree until it's complete */
@@ -505,9 +504,9 @@ int do_transaction_start(const void *ctx, struct connection *conn,
 	list_add_tail(&trans->list, &conn->transaction_list);
 	talloc_steal(conn, trans);
 	talloc_set_destructor(trans, destroy_transaction);
-	if (!conn->transaction_started)
+	if (!conn->ta_start_time)
 		conn->ta_start_time = time(NULL);
-	conn->transaction_started++;
+	domain_transaction_inc(conn);
 	wrl_ntransactions++;
 
 	snprintf(id_str, sizeof(id_str), "%u", trans->id);
@@ -533,8 +532,8 @@ int do_transaction_end(const void *ctx, struct connection *conn,
 
 	conn->transaction = NULL;
 	list_del(&trans->list);
-	conn->transaction_started--;
-	if (!conn->transaction_started)
+	domain_transaction_dec(conn);
+	if (list_empty(&conn->transaction_list))
 		conn->ta_start_time = 0;
 
 	chk_quota = trans->node_created && domain_is_unprivileged(conn);
@@ -588,7 +587,6 @@ void conn_delete_all_transactions(struct connection *conn)
 
 	assert(conn->transaction == NULL);
 
-	conn->transaction_started = 0;
 	conn->ta_start_time = 0;
 }
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:18:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:18:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516481.800642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnUn-0007bF-1f; Thu, 30 Mar 2023 08:18:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516481.800642; Thu, 30 Mar 2023 08:18:57 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnUm-0007b8-VN; Thu, 30 Mar 2023 08:18:56 +0000
Received: by outflank-mailman (input) for mailman id 516481;
 Thu, 30 Mar 2023 08:18: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnTn-0001oz-IR
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:17:55 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f25b769-ced3-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:17:54 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B5A7721B22;
 Thu, 30 Mar 2023 08:17: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 87F54138FF;
 Thu, 30 Mar 2023 08:17:54 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 1aqnH7JFJWRiEgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:17: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: 5f25b769-ced3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164274; 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=3xUaezTPSAKky2Dq3ZB1onhLEXm/fynTzjkOxu2lyLc=;
	b=SuU6G1kBMXfUjAcvlOWFw1iRK7MxZDV7HF45FfIQ8EKAQbPG6/PAg/Y92/HjG3Xyk3nPqm
	LypMj6/QjQtAn8olIP6+EBMTYPz6J4lxNChxrL2zp3E7UbZG3Jq8+dKk2BuwG4VGT+9gnp
	RtqawpJb6/e/JyscPxDpaqS3MqkbkWg=
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 v3 12/13] tools/xenstore: use generic accounting for remaining quotas
Date: Thu, 30 Mar 2023 10:16:43 +0200
Message-Id: <20230330081644.11480-13-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330081644.11480-1-jgross@suse.com>
References: <20230330081644.11480-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The maxrequests, node size, number of node permissions, and path length
quota are a little bit special, as they are either active in
transactions only (maxrequests), or they are just per item instead of
count values. Nevertheless being able to know the maximum number of
those quota related values per domain would be beneficial, so add them
to the generic accounting.

The per domain value will never show current numbers other than zero,
but the maximum number seen can be gathered the same way as the number
of nodes during a transaction.

To be able to use the const qualifier for a new function switch
domain_is_unprivileged() to take a const pointer, too.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_core.c        | 14 ++++-----
 tools/xenstore/xenstored_core.h        |  2 +-
 tools/xenstore/xenstored_domain.c      | 39 ++++++++++++++++++++------
 tools/xenstore/xenstored_domain.h      |  6 ++++
 tools/xenstore/xenstored_transaction.c |  4 +--
 tools/xenstore/xenstored_watch.c       |  2 +-
 6 files changed, 48 insertions(+), 19 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 88c569b7d5..65df2866bf 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -799,8 +799,8 @@ int write_node_raw(struct connection *conn, TDB_DATA *key, struct node *node,
 		+ node->perms.num * sizeof(node->perms.p[0])
 		+ node->datalen + node->childlen;
 
-	if (!no_quota_check && domain_is_unprivileged(conn) &&
-	    data.dsize >= quota_max_entry_size) {
+	if (domain_max_chk(conn, ACC_NODESZ, data.dsize, quota_max_entry_size)
+	    && !no_quota_check) {
 		errno = ENOSPC;
 		return errno;
 	}
@@ -1168,7 +1168,7 @@ static bool valid_chars(const char *node)
 		       "0123456789-/_@") == strlen(node));
 }
 
-bool is_valid_nodename(const char *node)
+bool is_valid_nodename(const struct connection *conn, const char *node)
 {
 	int local_off = 0;
 	unsigned int domid;
@@ -1188,7 +1188,8 @@ bool is_valid_nodename(const char *node)
 	if (sscanf(node, "/local/domain/%5u/%n", &domid, &local_off) != 1)
 		local_off = 0;
 
-	if (strlen(node) > local_off + quota_max_path_len)
+	if (domain_max_chk(conn, ACC_PATHLEN, strlen(node) - local_off,
+			   quota_max_path_len))
 		return false;
 
 	return valid_chars(node);
@@ -1250,7 +1251,7 @@ static struct node *get_node_canonicalized(struct connection *conn,
 	*canonical_name = canonicalize(conn, ctx, name);
 	if (!*canonical_name)
 		return NULL;
-	if (!is_valid_nodename(*canonical_name)) {
+	if (!is_valid_nodename(conn, *canonical_name)) {
 		errno = EINVAL;
 		return NULL;
 	}
@@ -1775,8 +1776,7 @@ static int do_set_perms(const void *ctx, struct connection *conn,
 		return EINVAL;
 
 	perms.num--;
-	if (domain_is_unprivileged(conn) &&
-	    perms.num > quota_nb_perms_per_node)
+	if (domain_max_chk(conn, ACC_NPERM, perms.num, quota_nb_perms_per_node))
 		return ENOSPC;
 
 	permstr = in->buffer + strlen(in->buffer) + 1;
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 3564d85d7d..9339820156 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -258,7 +258,7 @@ void check_store(void);
 void corrupt(struct connection *conn, const char *fmt, ...);
 
 /* Is this a valid node name? */
-bool is_valid_nodename(const char *node);
+bool is_valid_nodename(const struct connection *conn, const char *node);
 
 /* Get name of parent node. */
 char *get_parent(const void *ctx, const char *node);
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 25076a61b1..b3adf973c0 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -433,7 +433,7 @@ int domain_get_quota(const void *ctx, struct connection *conn,
 		return ENOMEM;
 
 #define ent(t, e) \
-	resp = talloc_asprintf_append(resp, "%-16s: %8u (max: %8u\n", #t, \
+	resp = talloc_asprintf_append(resp, "%-17s: %8u (max: %8u\n", #t, \
 				      d->acc[e].val, d->acc[e].max); \
 	if (!resp) return ENOMEM
 
@@ -442,6 +442,7 @@ int domain_get_quota(const void *ctx, struct connection *conn,
 	ent(transactions, ACC_TRANS);
 	ent(outstanding, ACC_OUTST);
 	ent(memory, ACC_MEM);
+	ent(transaction-nodes, ACC_TRANSNODES);
 
 #undef ent
 
@@ -459,7 +460,7 @@ int domain_max_global_acc(const void *ctx, struct connection *conn)
 		return ENOMEM;
 
 #define ent(t, e) \
-	resp = talloc_asprintf_append(resp, "%-16s: %8u\n", #t,   \
+	resp = talloc_asprintf_append(resp, "%-17s: %8u\n", #t,   \
 				      acc_global_max[e]);         \
 	if (!resp) return ENOMEM
 
@@ -468,6 +469,7 @@ int domain_max_global_acc(const void *ctx, struct connection *conn)
 	ent(transactions, ACC_TRANS);
 	ent(outstanding, ACC_OUTST);
 	ent(memory, ACC_MEM);
+	ent(transaction-nodes, ACC_TRANSNODES);
 
 #undef ent
 
@@ -1081,12 +1083,22 @@ int domain_adjust_node_perms(struct node *node)
 	return 0;
 }
 
+static void domain_acc_valid_max(struct domain *d, enum accitem what,
+				 unsigned int val)
+{
+	assert(what < ARRAY_SIZE(d->acc));
+	assert(what < ARRAY_SIZE(acc_global_max));
+
+	if (val > d->acc[what].max)
+		d->acc[what].max = val;
+	if (val > acc_global_max[what] && domid_is_unprivileged(d->domid))
+		acc_global_max[what] = val;
+}
+
 static int domain_acc_add_valid(struct domain *d, enum accitem what, int add)
 {
 	unsigned int val;
 
-	assert(what < ARRAY_SIZE(d->acc));
-
 	if ((add < 0 && -add > d->acc[what].val) ||
 	    (INT_MAX - d->acc[what].val) < add) {
 		/*
@@ -1100,10 +1112,7 @@ static int domain_acc_add_valid(struct domain *d, enum accitem what, int add)
 	}
 
 	val = d->acc[what].val + add;
-	if (val > d->acc[what].max)
-		d->acc[what].max = val;
-	if (val > acc_global_max[what] && domid_is_unprivileged(d->domid))
-		acc_global_max[what] = val;
+	domain_acc_valid_max(d, what, val);
 
 	return val;
 }
@@ -1221,6 +1230,20 @@ void domain_reset_global_acc(void)
 	hashtable_iterate(domhash, domain_reset_global_acc_sub, NULL);
 }
 
+bool domain_max_chk(const struct connection *conn, enum accitem what,
+		    unsigned int val, unsigned int quota)
+{
+	if (!conn || !conn->domain)
+		return false;
+
+	if (domain_is_unprivileged(conn) && val > quota)
+		return true;
+
+	domain_acc_valid_max(conn->domain, what, val);
+
+	return false;
+}
+
 int domain_nbentry_inc(struct connection *conn, unsigned int domid)
 {
 	return (domain_acc_add(conn, domid, ACC_NODES, 1, false) < 0)
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index b55c9bcc2d..3e17b63659 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -32,6 +32,10 @@ enum accitem {
 	ACC_OUTST,
 	ACC_MEM,
 	ACC_TRANS,
+	ACC_TRANSNODES,
+	ACC_NPERM,
+	ACC_PATHLEN,
+	ACC_NODESZ,
 	ACC_N,			/* Number of elements per domain. */
 };
 
@@ -128,6 +132,8 @@ void acc_drop(struct connection *conn);
 void acc_commit(struct connection *conn);
 int domain_max_global_acc(const void *ctx, struct connection *conn);
 void domain_reset_global_acc(void);
+bool domain_max_chk(const struct connection *conn, unsigned int what,
+		    unsigned int val, unsigned int quota);
 
 /* Write rate limiting */
 
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index 1c14b8579a..0b256f9b18 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -252,8 +252,8 @@ int access_node(struct connection *conn, struct node *node,
 
 	i = find_accessed_node(trans, node->name);
 	if (!i) {
-		if (trans->nodes >= quota_trans_nodes &&
-		    domain_is_unprivileged(conn)) {
+		if (domain_max_chk(conn, ACC_TRANSNODES, trans->nodes + 1,
+				   quota_trans_nodes)) {
 			ret = ENOSPC;
 			goto err;
 		}
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c
index e30cd89be3..61b1e3421e 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstore/xenstored_watch.c
@@ -176,7 +176,7 @@ static int check_watch_path(struct connection *conn, const void *ctx,
 		*path = canonicalize(conn, ctx, *path);
 		if (!*path)
 			return errno;
-		if (!is_valid_nodename(*path))
+		if (!is_valid_nodename(conn, *path))
 			goto inval;
 	}
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:18:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:18:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516483.800653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnUo-0007r0-DE; Thu, 30 Mar 2023 08:18:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516483.800653; Thu, 30 Mar 2023 08:18: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 1phnUo-0007qn-9t; Thu, 30 Mar 2023 08:18:58 +0000
Received: by outflank-mailman (input) for mailman id 516483;
 Thu, 30 Mar 2023 08:18:56 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnTj-0001Za-DG
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:17:51 +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 5bdc9e3e-ced3-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 10:17:49 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 2512221B22;
 Thu, 30 Mar 2023 08:17: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 D6B4D138FF;
 Thu, 30 Mar 2023 08:17:48 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id BO8fM6xFJWRREgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:17: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: 5bdc9e3e-ced3-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164269; 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=3+7L2q84mMPkL8OunlIvIlZD4lSPX1P6fZNijfuF8aY=;
	b=jTDu1V6DJhzILbtpXVDM7EuAVnJ8Tvz9NiSFmfc4lNVbSg5vJm4AvUdJRJ1o6guTcSKwnA
	IOGxMiaXsystIZo2LvVcKGdFJ8/DqD5DnzzLD1IiK6C7bmfWgA1bGVppTr8szanXoycK56
	Sjw1O2kb6aSEMsmodOPxXjB+UJV6K30=
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 v3 11/13] tools/xenstore: remember global and per domain max accounting values
Date: Thu, 30 Mar 2023 10:16:42 +0200
Message-Id: <20230330081644.11480-12-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330081644.11480-1-jgross@suse.com>
References: <20230330081644.11480-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add saving the maximum values of the different accounting data seen
per domain and (for unprivileged domains) globally, and print those
values via the xenstore-control quota command. Add a sub-command for
resetting the global maximum values seen.

This should help for a decision how to set the related quotas.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 docs/misc/xenstore.txt             |   5 +-
 tools/xenstore/xenstored_control.c |  22 ++++++-
 tools/xenstore/xenstored_domain.c  | 100 +++++++++++++++++++++++------
 tools/xenstore/xenstored_domain.h  |   2 +
 4 files changed, 108 insertions(+), 21 deletions(-)

diff --git a/docs/misc/xenstore.txt b/docs/misc/xenstore.txt
index d807ef0709..38015835b1 100644
--- a/docs/misc/xenstore.txt
+++ b/docs/misc/xenstore.txt
@@ -426,7 +426,7 @@ CONTROL			<command>|[<parameters>|]
 	print|<string>
 		print <string> to syslog (xenstore runs as daemon) or
 		to console (xenstore runs as stubdom)
-	quota|[set <name> <val>|<domid>]
+	quota|[set <name> <val>|<domid>|max [-r]]
 		without parameters: print the current quota settings
 		with "set <name> <val>": set the quota <name> to new value
 		<val> (The admin should make sure all the domain usage is
@@ -435,6 +435,9 @@ CONTROL			<command>|[<parameters>|]
 		violating the new quota setting isn't increased further)
 		with "<domid>": print quota related accounting data for
 		the domain <domid>
+		with "max [-r]": show global per-domain maximum values of all
+		unprivileged domains, optionally reset the values by adding
+		"-r"
 	quota-soft|[set <name> <val>]
 		like the "quota" command, but for soft-quota.
 	help			<supported-commands>
diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstore/xenstored_control.c
index cbd62556c3..a2ba64a15c 100644
--- a/tools/xenstore/xenstored_control.c
+++ b/tools/xenstore/xenstored_control.c
@@ -306,6 +306,22 @@ static int quota_get(const void *ctx, struct connection *conn,
 	return domain_get_quota(ctx, conn, atoi(vec[0]));
 }
 
+static int quota_max(const void *ctx, struct connection *conn,
+		     char **vec, int num)
+{
+	if (num > 1)
+		return EINVAL;
+
+	if (num == 1) {
+		if (!strcmp(vec[0], "-r"))
+			domain_reset_global_acc();
+		else
+			return EINVAL;
+	}
+
+	return domain_max_global_acc(ctx, conn);
+}
+
 static int do_control_quota(const void *ctx, struct connection *conn,
 			    char **vec, int num)
 {
@@ -315,6 +331,9 @@ static int do_control_quota(const void *ctx, struct connection *conn,
 	if (!strcmp(vec[0], "set"))
 		return quota_set(ctx, conn, vec + 1, num - 1, hard_quotas);
 
+	if (!strcmp(vec[0], "max"))
+		return quota_max(ctx, conn, vec + 1, num - 1);
+
 	return quota_get(ctx, conn, vec, num);
 }
 
@@ -978,7 +997,8 @@ static struct cmd_s cmds[] = {
 	{ "memreport", do_control_memreport, "[<file>]" },
 #endif
 	{ "print", do_control_print, "<string>" },
-	{ "quota", do_control_quota, "[set <name> <val>|<domid>]" },
+	{ "quota", do_control_quota,
+		"[set <name> <val>|<domid>|max [-r]]" },
 	{ "quota-soft", do_control_quota_s, "[set <name> <val>]" },
 	{ "help", do_control_help, "" },
 };
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 57ce8641f9..25076a61b1 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -43,6 +43,8 @@ static evtchn_port_t virq_port;
 
 xenevtchn_handle *xce_handle = NULL;
 
+static unsigned int acc_global_max[ACC_N];
+
 struct domain
 {
 	/* The id of this domain */
@@ -70,7 +72,10 @@ struct domain
 	bool introduced;
 
 	/* Accounting data for this domain. */
-	unsigned int acc[ACC_N];
+	struct acc {
+		unsigned int val;
+		unsigned int max;
+	} acc[ACC_N];
 
 	/* Memory quota data for this domain. */
 	bool soft_quota_reported;
@@ -201,9 +206,9 @@ static bool domain_can_read(struct connection *conn)
 	if (domain_is_unprivileged(conn)) {
 		if (domain->wrl_credit < 0)
 			return false;
-		if (domain->acc[ACC_OUTST] >= quota_req_outstanding)
+		if (domain->acc[ACC_OUTST].val >= quota_req_outstanding)
 			return false;
-		if (domain->acc[ACC_MEM] >= quota_memory_per_domain_hard &&
+		if (domain->acc[ACC_MEM].val >= quota_memory_per_domain_hard &&
 		    quota_memory_per_domain_hard)
 			return false;
 	}
@@ -266,7 +271,7 @@ static int domain_tree_remove_sub(const void *ctx, struct connection *conn,
 		ret = WALK_TREE_SKIP_CHILDREN;
 	}
 
-	return domain->acc[ACC_NODES] ? ret : WALK_TREE_SUCCESS_STOP;
+	return domain->acc[ACC_NODES].val ? ret : WALK_TREE_SUCCESS_STOP;
 }
 
 static void domain_tree_remove(struct domain *domain)
@@ -274,7 +279,7 @@ static void domain_tree_remove(struct domain *domain)
 	int ret;
 	struct walk_funcs walkfuncs = { .enter = domain_tree_remove_sub };
 
-	if (domain->acc[ACC_NODES]) {
+	if (domain->acc[ACC_NODES].val) {
 		ret = walk_node_tree(domain, NULL, "/", &walkfuncs, domain);
 		if (ret == WALK_TREE_ERROR_STOP)
 			syslog(LOG_ERR,
@@ -428,14 +433,41 @@ int domain_get_quota(const void *ctx, struct connection *conn,
 		return ENOMEM;
 
 #define ent(t, e) \
-	resp = talloc_asprintf_append(resp, "%-16s: %8d\n", #t, e); \
+	resp = talloc_asprintf_append(resp, "%-16s: %8u (max: %8u\n", #t, \
+				      d->acc[e].val, d->acc[e].max); \
+	if (!resp) return ENOMEM
+
+	ent(nodes, ACC_NODES);
+	ent(watches, ACC_WATCH);
+	ent(transactions, ACC_TRANS);
+	ent(outstanding, ACC_OUTST);
+	ent(memory, ACC_MEM);
+
+#undef ent
+
+	send_reply(conn, XS_CONTROL, resp, strlen(resp) + 1);
+
+	return 0;
+}
+
+int domain_max_global_acc(const void *ctx, struct connection *conn)
+{
+	char *resp;
+
+	resp = talloc_asprintf(ctx, "Max. seen accounting values:\n");
+	if (!resp)
+		return ENOMEM;
+
+#define ent(t, e) \
+	resp = talloc_asprintf_append(resp, "%-16s: %8u\n", #t,   \
+				      acc_global_max[e]);         \
 	if (!resp) return ENOMEM
 
-	ent(nodes, d->acc[ACC_NODES]);
-	ent(watches, d->acc[ACC_WATCH]);
-	ent(transactions, d->acc[ACC_TRANS]);
-	ent(outstanding, d->acc[ACC_OUTST]);
-	ent(memory, d->acc[ACC_MEM]);
+	ent(nodes, ACC_NODES);
+	ent(watches, ACC_WATCH);
+	ent(transactions, ACC_TRANS);
+	ent(outstanding, ACC_OUTST);
+	ent(memory, ACC_MEM);
 
 #undef ent
 
@@ -1051,10 +1083,12 @@ int domain_adjust_node_perms(struct node *node)
 
 static int domain_acc_add_valid(struct domain *d, enum accitem what, int add)
 {
+	unsigned int val;
+
 	assert(what < ARRAY_SIZE(d->acc));
 
-	if ((add < 0 && -add > d->acc[what]) ||
-	    (INT_MAX - d->acc[what]) < add) {
+	if ((add < 0 && -add > d->acc[what].val) ||
+	    (INT_MAX - d->acc[what].val) < add) {
 		/*
 		 * In a transaction when a node is being added/removed AND the
 		 * same node has been added/removed outside the transaction in
@@ -1065,7 +1099,13 @@ static int domain_acc_add_valid(struct domain *d, enum accitem what, int add)
 		return (add < 0) ? 0 : INT_MAX;
 	}
 
-	return d->acc[what] + add;
+	val = d->acc[what].val + add;
+	if (val > d->acc[what].max)
+		d->acc[what].max = val;
+	if (val > acc_global_max[what] && domid_is_unprivileged(d->domid))
+		acc_global_max[what] = val;
+
+	return val;
 }
 
 static int domain_acc_add(struct connection *conn, unsigned int domid,
@@ -1121,10 +1161,10 @@ static int domain_acc_add(struct connection *conn, unsigned int domid,
 	}
 
 	trace_acc("global change domid %u: what=%u %u add %d\n", domid, what,
-		  d->acc[what], add);
-	d->acc[what] = domain_acc_add_valid(d, what, add);
+		  d->acc[what].val, add);
+	d->acc[what].val = domain_acc_add_valid(d, what, add);
 
-	return d->acc[what];
+	return d->acc[what].val;
 }
 
 void acc_drop(struct connection *conn)
@@ -1159,6 +1199,28 @@ void acc_commit(struct connection *conn)
 	}
 }
 
+static int domain_reset_global_acc_sub(const void *k, void *v, void *arg)
+{
+	struct domain *d = v;
+	unsigned int i;
+
+	for (i = 0; i < ACC_N; i++)
+		d->acc[i].max = d->acc[i].val;
+
+	return 0;
+}
+
+void domain_reset_global_acc(void)
+{
+	unsigned int i;
+
+	for (i = 0; i < ACC_N; i++)
+		acc_global_max[i] = 0;
+
+	/* Set current max values seen. */
+	hashtable_iterate(domhash, domain_reset_global_acc_sub, NULL);
+}
+
 int domain_nbentry_inc(struct connection *conn, unsigned int domid)
 {
 	return (domain_acc_add(conn, domid, ACC_NODES, 1, false) < 0)
@@ -1659,7 +1721,7 @@ static int domain_check_acc_init_sub(const void *k, void *v, void *arg)
 	 * If everything is correct incrementing the value for each node will
 	 * result in dom->nodes being 0 at the end.
 	 */
-	dom->nodes = -d->acc[ACC_NODES];
+	dom->nodes = -d->acc[ACC_NODES].val;
 
 	if (!hashtable_insert(domains, &dom->domid, dom)) {
 		talloc_free(dom);
@@ -1714,7 +1776,7 @@ static int domain_check_acc_cb(const void *k, void *v, void *arg)
 	if (!d)
 		return 0;
 
-	d->acc[ACC_NODES] += dom->nodes;
+	d->acc[ACC_NODES].val += dom->nodes;
 
 	return 0;
 }
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index abc766f343..b55c9bcc2d 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -126,6 +126,8 @@ int domain_get_quota(const void *ctx, struct connection *conn,
 int acc_fix_domains(struct list_head *head, bool chk_quota, bool update);
 void acc_drop(struct connection *conn);
 void acc_commit(struct connection *conn);
+int domain_max_global_acc(const void *ctx, struct connection *conn);
+void domain_reset_global_acc(void);
 
 /* Write rate limiting */
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:19:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:19:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516487.800663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnV4-00005A-Lw; Thu, 30 Mar 2023 08:19:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516487.800663; Thu, 30 Mar 2023 08:19: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 1phnV4-00004z-II; Thu, 30 Mar 2023 08:19:14 +0000
Received: by outflank-mailman (input) for mailman id 516487;
 Thu, 30 Mar 2023 08: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnTu-0001oz-4D
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:18: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 6286e783-ced3-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:18:00 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5B47C218FE;
 Thu, 30 Mar 2023 08:18: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 28CCA138FF;
 Thu, 30 Mar 2023 08:18:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ctedCLhFJWRrEgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08: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>
X-Inumbo-ID: 6286e783-ced3-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680164280; 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=4+JuDu/KfqyKoEYrZ1Shto0Gt0QVAIl293nUrTURjCs=;
	b=aTjW59g4QpF+FOzQCQG4KQLyLRZpxflfj4NKtxRkS6h/GQnvR525/Lol7Qw0AnUI1MXOMv
	U6a4YZFJmYa9NcxIQPT96EMuhj4njr2jUD3DUEWNQPIihgWteA/fdgdnm0mKdS8cdrAwjb
	dyNn7uf68EaVpUsBxYq/KmkwY81TX7M=
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 v3 13/13] tools/xenstore: switch quota management to be table based
Date: Thu, 30 Mar 2023 10:16:44 +0200
Message-Id: <20230330081644.11480-14-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330081644.11480-1-jgross@suse.com>
References: <20230330081644.11480-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of having individual quota variables switch to a table based
approach like the generic accounting. Include all the related data in
the same table and add accessor functions.

This enables to use the command line --quota parameter for setting all
possible quota values, keeping the previous parameters for
compatibility.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
One further remark: it would be rather easy to add soft-quota for all
the other quotas (similar to the memory one). This could be used as
an early warning for the need to raise global quota.
---
 tools/xenstore/xenstored_control.c     |  43 ++------
 tools/xenstore/xenstored_core.c        |  85 ++++++++--------
 tools/xenstore/xenstored_core.h        |  10 --
 tools/xenstore/xenstored_domain.c      | 132 +++++++++++++++++--------
 tools/xenstore/xenstored_domain.h      |  12 ++-
 tools/xenstore/xenstored_transaction.c |   5 +-
 tools/xenstore/xenstored_watch.c       |   2 +-
 7 files changed, 155 insertions(+), 134 deletions(-)

diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstore/xenstored_control.c
index a2ba64a15c..75f51a80db 100644
--- a/tools/xenstore/xenstored_control.c
+++ b/tools/xenstore/xenstored_control.c
@@ -221,35 +221,6 @@ static int do_control_log(const void *ctx, struct connection *conn,
 	return 0;
 }
 
-struct quota {
-	const char *name;
-	int *quota;
-	const char *descr;
-};
-
-static const struct quota hard_quotas[] = {
-	{ "nodes", &quota_nb_entry_per_domain, "Nodes per domain" },
-	{ "watches", &quota_nb_watch_per_domain, "Watches per domain" },
-	{ "transactions", &quota_max_transaction, "Transactions per domain" },
-	{ "outstanding", &quota_req_outstanding,
-		"Outstanding requests per domain" },
-	{ "transaction-nodes", &quota_trans_nodes,
-		"Max. number of accessed nodes per transaction" },
-	{ "memory", &quota_memory_per_domain_hard,
-		"Total Xenstore memory per domain (error level)" },
-	{ "node-size", &quota_max_entry_size, "Max. size of a node" },
-	{ "path-max", &quota_max_path_len, "Max. length of a node path" },
-	{ "permissions", &quota_nb_perms_per_node,
-		"Max. number of permissions per node" },
-	{ NULL, NULL, NULL }
-};
-
-static const struct quota soft_quotas[] = {
-	{ "memory", &quota_memory_per_domain_soft,
-		"Total Xenstore memory per domain (warning level)" },
-	{ NULL, NULL, NULL }
-};
-
 static int quota_show_current(const void *ctx, struct connection *conn,
 			      const struct quota *quotas)
 {
@@ -260,9 +231,11 @@ static int quota_show_current(const void *ctx, struct connection *conn,
 	if (!resp)
 		return ENOMEM;
 
-	for (i = 0; quotas[i].quota; i++) {
+	for (i = 0; i < ACC_N; i++) {
+		if (!quotas[i].name)
+			continue;
 		resp = talloc_asprintf_append(resp, "%-17s: %8d %s\n",
-					      quotas[i].name, *quotas[i].quota,
+					      quotas[i].name, quotas[i].val,
 					      quotas[i].descr);
 		if (!resp)
 			return ENOMEM;
@@ -274,7 +247,7 @@ static int quota_show_current(const void *ctx, struct connection *conn,
 }
 
 static int quota_set(const void *ctx, struct connection *conn,
-		     char **vec, int num, const struct quota *quotas)
+		     char **vec, int num, struct quota *quotas)
 {
 	unsigned int i;
 	int val;
@@ -286,9 +259,9 @@ static int quota_set(const void *ctx, struct connection *conn,
 	if (val < 1)
 		return EINVAL;
 
-	for (i = 0; quotas[i].quota; i++) {
-		if (!strcmp(vec[0], quotas[i].name)) {
-			*quotas[i].quota = val;
+	for (i = 0; i < ACC_N; i++) {
+		if (quotas[i].name && !strcmp(vec[0], quotas[i].name)) {
+			quotas[i].val = val;
 			send_ack(conn, XS_CONTROL);
 			return 0;
 		}
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 65df2866bf..6e2fc06840 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -89,17 +89,6 @@ unsigned int trace_flags = TRACE_OBJ | TRACE_IO;
 
 static const char *sockmsg_string(enum xsd_sockmsg_type type);
 
-int quota_nb_entry_per_domain = 1000;
-int quota_nb_watch_per_domain = 128;
-int quota_max_entry_size = 2048; /* 2K */
-int quota_max_transaction = 10;
-int quota_nb_perms_per_node = 5;
-int quota_trans_nodes = 1024;
-int quota_max_path_len = XENSTORE_REL_PATH_MAX;
-int quota_req_outstanding = 20;
-int quota_memory_per_domain_soft = 2 * 1024 * 1024; /* 2 MB */
-int quota_memory_per_domain_hard = 2 * 1024 * 1024 + 512 * 1024; /* 2.5 MB */
-
 unsigned int timeout_watch_event_msec = 20000;
 
 void trace(const char *fmt, ...)
@@ -799,7 +788,7 @@ int write_node_raw(struct connection *conn, TDB_DATA *key, struct node *node,
 		+ node->perms.num * sizeof(node->perms.p[0])
 		+ node->datalen + node->childlen;
 
-	if (domain_max_chk(conn, ACC_NODESZ, data.dsize, quota_max_entry_size)
+	if (domain_max_chk(conn, ACC_NODESZ, data.dsize)
 	    && !no_quota_check) {
 		errno = ENOSPC;
 		return errno;
@@ -1188,8 +1177,7 @@ bool is_valid_nodename(const struct connection *conn, const char *node)
 	if (sscanf(node, "/local/domain/%5u/%n", &domid, &local_off) != 1)
 		local_off = 0;
 
-	if (domain_max_chk(conn, ACC_PATHLEN, strlen(node) - local_off,
-			   quota_max_path_len))
+	if (domain_max_chk(conn, ACC_PATHLEN, strlen(node) - local_off))
 		return false;
 
 	return valid_chars(node);
@@ -1501,7 +1489,7 @@ static struct node *create_node(struct connection *conn, const void *ctx,
 	for (i = node; i; i = i->parent) {
 		/* i->parent is set for each new node, so check quota. */
 		if (i->parent &&
-		    domain_nbentry(conn) >= quota_nb_entry_per_domain) {
+		    domain_nbentry(conn) >= hard_quotas[ACC_NODES].val) {
 			ret = ENOSPC;
 			goto err;
 		}
@@ -1776,7 +1764,7 @@ static int do_set_perms(const void *ctx, struct connection *conn,
 		return EINVAL;
 
 	perms.num--;
-	if (domain_max_chk(conn, ACC_NPERM, perms.num, quota_nb_perms_per_node))
+	if (domain_max_chk(conn, ACC_NPERM, perms.num))
 		return ENOSPC;
 
 	permstr = in->buffer + strlen(in->buffer) + 1;
@@ -2644,7 +2632,16 @@ static void usage(void)
 "                          memory: total used memory per domain for nodes,\n"
 "                                  transactions, watches and requests, above\n"
 "                                  which Xenstore will stop talking to domain\n"
+"                          nodes: number nodes owned by a domain\n"
+"                          node-permissions: number of access permissions per\n"
+"                                            node\n"
+"                          node-size: total size of a node (permissions +\n"
+"                                     children names + content)\n"
 "                          outstanding: number of outstanding requests\n"
+"                          path-length: length of a node path\n"
+"                          transactions: number of concurrent transactions\n"
+"                                        per domain\n"
+"                          watches: number of watches per domain"
 "  -q, --quota-soft <what>=<nb> set a soft quota <what> to the value <nb>,\n"
 "                          causing a warning to be issued via syslog() if the\n"
 "                          limit is violated, allowed quotas are:\n"
@@ -2695,12 +2692,12 @@ int dom0_domid = 0;
 int dom0_event = 0;
 int priv_domid = 0;
 
-static int get_optval_int(const char *arg)
+static unsigned int get_optval_int(const char *arg)
 {
 	char *end;
-	long val;
+	unsigned long val;
 
-	val = strtol(arg, &end, 10);
+	val = strtoul(arg, &end, 10);
 	if (!*arg || *end || val < 0 || val > INT_MAX)
 		barf("invalid parameter value \"%s\"\n", arg);
 
@@ -2709,15 +2706,19 @@ static int get_optval_int(const char *arg)
 
 static bool what_matches(const char *arg, const char *what)
 {
-	unsigned int what_len = strlen(what);
+	unsigned int what_len;
+
+	if (!what)
+		false;
 
+	what_len = strlen(what);
 	return !strncmp(arg, what, what_len) && arg[what_len] == '=';
 }
 
 static void set_timeout(const char *arg)
 {
 	const char *eq = strchr(arg, '=');
-	int val;
+	unsigned int val;
 
 	if (!eq)
 		barf("quotas must be specified via <what>=<seconds>\n");
@@ -2731,22 +2732,22 @@ static void set_timeout(const char *arg)
 static void set_quota(const char *arg, bool soft)
 {
 	const char *eq = strchr(arg, '=');
-	int val;
+	struct quota *q = soft ? soft_quotas : hard_quotas;
+	unsigned int val;
+	unsigned int i;
 
 	if (!eq)
 		barf("quotas must be specified via <what>=<nb>\n");
 	val = get_optval_int(eq + 1);
-	if (what_matches(arg, "outstanding") && !soft)
-		quota_req_outstanding = val;
-	else if (what_matches(arg, "transaction-nodes") && !soft)
-		quota_trans_nodes = val;
-	else if (what_matches(arg, "memory")) {
-		if (soft)
-			quota_memory_per_domain_soft = val;
-		else
-			quota_memory_per_domain_hard = val;
-	} else
-		barf("unknown quota \"%s\"\n", arg);
+
+	for (i = 0; i < ACC_N; i++) {
+		if (what_matches(arg, q[i].name)) {
+			q[i].val = val;
+			return;
+		}
+	}
+
+	barf("unknown quota \"%s\"\n", arg);
 }
 
 /* Sorted by bit values of TRACE_* flags. Flag is (1u << index). */
@@ -2808,7 +2809,7 @@ int main(int argc, char *argv[])
 			no_domain_init = true;
 			break;
 		case 'E':
-			quota_nb_entry_per_domain = strtol(optarg, NULL, 10);
+			hard_quotas[ACC_NODES].val = strtoul(optarg, NULL, 10);
 			break;
 		case 'F':
 			pidfile = optarg;
@@ -2826,10 +2827,10 @@ int main(int argc, char *argv[])
 			recovery = false;
 			break;
 		case 'S':
-			quota_max_entry_size = strtol(optarg, NULL, 10);
+			hard_quotas[ACC_NODESZ].val = strtoul(optarg, NULL, 10);
 			break;
 		case 't':
-			quota_max_transaction = strtol(optarg, NULL, 10);
+			hard_quotas[ACC_TRANS].val = strtoul(optarg, NULL, 10);
 			break;
 		case 'T':
 			tracefile = optarg;
@@ -2849,15 +2850,17 @@ int main(int argc, char *argv[])
 			verbose = true;
 			break;
 		case 'W':
-			quota_nb_watch_per_domain = strtol(optarg, NULL, 10);
+			hard_quotas[ACC_WATCH].val = strtoul(optarg, NULL, 10);
 			break;
 		case 'A':
-			quota_nb_perms_per_node = strtol(optarg, NULL, 10);
+			hard_quotas[ACC_NPERM].val = strtoul(optarg, NULL, 10);
 			break;
 		case 'M':
-			quota_max_path_len = strtol(optarg, NULL, 10);
-			quota_max_path_len = min(XENSTORE_REL_PATH_MAX,
-						 quota_max_path_len);
+			hard_quotas[ACC_PATHLEN].val =
+				strtoul(optarg, NULL, 10);
+			hard_quotas[ACC_PATHLEN].val =
+				 min((unsigned int)XENSTORE_REL_PATH_MAX,
+				     hard_quotas[ACC_PATHLEN].val);
 			break;
 		case 'Q':
 			set_quota(optarg, false);
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 9339820156..92d5b50f3c 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -316,16 +316,6 @@ extern TDB_CONTEXT *tdb_ctx;
 extern int dom0_domid;
 extern int dom0_event;
 extern int priv_domid;
-extern int quota_nb_watch_per_domain;
-extern int quota_max_transaction;
-extern int quota_max_entry_size;
-extern int quota_nb_perms_per_node;
-extern int quota_max_path_len;
-extern int quota_nb_entry_per_domain;
-extern int quota_req_outstanding;
-extern int quota_trans_nodes;
-extern int quota_memory_per_domain_soft;
-extern int quota_memory_per_domain_hard;
 extern bool keep_orphans;
 
 extern unsigned int timeout_watch_event_msec;
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index b3adf973c0..df64c87efc 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -43,7 +43,61 @@ static evtchn_port_t virq_port;
 
 xenevtchn_handle *xce_handle = NULL;
 
-static unsigned int acc_global_max[ACC_N];
+struct quota hard_quotas[ACC_N] = {
+	[ACC_NODES] = {
+		.name = "nodes",
+		.descr = "Nodes per domain",
+		.val = 1000,
+	},
+	[ACC_WATCH] = {
+		.name = "watches",
+		.descr = "Watches per domain",
+		.val = 128,
+	},
+	[ACC_OUTST] = {
+		.name = "outstanding",
+		.descr = "Outstanding requests per domain",
+		.val = 20,
+	},
+	[ACC_MEM] = {
+		.name = "memory",
+		.descr = "Total Xenstore memory per domain (error level)",
+		.val = 2 * 1024 * 1024 + 512 * 1024,	/* 2.5 MB */
+	},
+	[ACC_TRANS] = {
+		.name = "transactions",
+		.descr = "Active transactions per domain",
+		.val = 10,
+	},
+	[ACC_TRANSNODES] = {
+		.name = "transaction-nodes",
+		.descr = "Max. number of accessed nodes per transaction",
+		.val = 1024,
+	},
+	[ACC_NPERM] = {
+		.name = "node-permissions",
+		.descr = "Max. number of permissions per node",
+		.val = 5,
+	},
+	[ACC_PATHLEN] = {
+		.name = "path-max",
+		.descr = "Max. length of a node path",
+		.val = XENSTORE_REL_PATH_MAX,
+	},
+	[ACC_NODESZ] = {
+		.name = "node-size",
+		.descr = "Max. size of a node",
+		.val = 2048,
+	},
+};
+
+struct quota soft_quotas[ACC_N] = {
+	[ACC_MEM] = {
+		.name = "memory",
+		.descr = "Total Xenstore memory per domain (warning level)",
+		.val = 2 * 1024 * 1024,			/* 2.0 MB */
+	},
+};
 
 struct domain
 {
@@ -206,10 +260,10 @@ static bool domain_can_read(struct connection *conn)
 	if (domain_is_unprivileged(conn)) {
 		if (domain->wrl_credit < 0)
 			return false;
-		if (domain->acc[ACC_OUTST].val >= quota_req_outstanding)
+		if (domain->acc[ACC_OUTST].val >= hard_quotas[ACC_OUTST].val)
 			return false;
-		if (domain->acc[ACC_MEM].val >= quota_memory_per_domain_hard &&
-		    quota_memory_per_domain_hard)
+		if (domain->acc[ACC_MEM].val >= hard_quotas[ACC_MEM].val &&
+		    hard_quotas[ACC_MEM].val)
 			return false;
 	}
 
@@ -424,6 +478,7 @@ int domain_get_quota(const void *ctx, struct connection *conn,
 {
 	struct domain *d = find_domain_struct(domid);
 	char *resp;
+	unsigned int i;
 
 	if (!d)
 		return ENOENT;
@@ -432,19 +487,15 @@ int domain_get_quota(const void *ctx, struct connection *conn,
 	if (!resp)
 		return ENOMEM;
 
-#define ent(t, e) \
-	resp = talloc_asprintf_append(resp, "%-17s: %8u (max: %8u\n", #t, \
-				      d->acc[e].val, d->acc[e].max); \
-	if (!resp) return ENOMEM
-
-	ent(nodes, ACC_NODES);
-	ent(watches, ACC_WATCH);
-	ent(transactions, ACC_TRANS);
-	ent(outstanding, ACC_OUTST);
-	ent(memory, ACC_MEM);
-	ent(transaction-nodes, ACC_TRANSNODES);
-
-#undef ent
+	for (i = 0; i < ACC_N; i++) {
+		if (!hard_quotas[i].name)
+			continue;
+		resp = talloc_asprintf_append(resp, "%-17s: %8u (max %8u)\n",
+					      hard_quotas[i].name,
+					      d->acc[i].val, d->acc[i].max);
+		if (!resp)
+			return ENOMEM;
+	}
 
 	send_reply(conn, XS_CONTROL, resp, strlen(resp) + 1);
 
@@ -454,24 +505,21 @@ int domain_get_quota(const void *ctx, struct connection *conn,
 int domain_max_global_acc(const void *ctx, struct connection *conn)
 {
 	char *resp;
+	unsigned int i;
 
 	resp = talloc_asprintf(ctx, "Max. seen accounting values:\n");
 	if (!resp)
 		return ENOMEM;
 
-#define ent(t, e) \
-	resp = talloc_asprintf_append(resp, "%-17s: %8u\n", #t,   \
-				      acc_global_max[e]);         \
-	if (!resp) return ENOMEM
-
-	ent(nodes, ACC_NODES);
-	ent(watches, ACC_WATCH);
-	ent(transactions, ACC_TRANS);
-	ent(outstanding, ACC_OUTST);
-	ent(memory, ACC_MEM);
-	ent(transaction-nodes, ACC_TRANSNODES);
-
-#undef ent
+	for (i = 0; i < ACC_N; i++) {
+		if (!hard_quotas[i].name)
+			continue;
+		resp = talloc_asprintf_append(resp, "%-17s: %8u\n",
+					      hard_quotas[i].name,
+					      hard_quotas[i].max);
+		if (!resp)
+			return ENOMEM;
+	}
 
 	send_reply(conn, XS_CONTROL, resp, strlen(resp) + 1);
 
@@ -586,7 +634,7 @@ int acc_fix_domains(struct list_head *head, bool chk_quota, bool update)
 	list_for_each_entry(cd, head, list) {
 		cnt = domain_nbentry_fix(cd->domid, cd->acc[ACC_NODES], update);
 		if (!update) {
-			if (chk_quota && cnt >= quota_nb_entry_per_domain)
+			if (chk_quota && cnt >= hard_quotas[ACC_NODES].val)
 				return ENOSPC;
 			if (cnt < 0)
 				return ENOMEM;
@@ -1087,12 +1135,12 @@ static void domain_acc_valid_max(struct domain *d, enum accitem what,
 				 unsigned int val)
 {
 	assert(what < ARRAY_SIZE(d->acc));
-	assert(what < ARRAY_SIZE(acc_global_max));
+	assert(what < ARRAY_SIZE(hard_quotas));
 
 	if (val > d->acc[what].max)
 		d->acc[what].max = val;
-	if (val > acc_global_max[what] && domid_is_unprivileged(d->domid))
-		acc_global_max[what] = val;
+	if (val > hard_quotas[what].max && domid_is_unprivileged(d->domid))
+		hard_quotas[what].max = val;
 }
 
 static int domain_acc_add_valid(struct domain *d, enum accitem what, int add)
@@ -1224,19 +1272,19 @@ void domain_reset_global_acc(void)
 	unsigned int i;
 
 	for (i = 0; i < ACC_N; i++)
-		acc_global_max[i] = 0;
+		hard_quotas[i].max = 0;
 
 	/* Set current max values seen. */
 	hashtable_iterate(domhash, domain_reset_global_acc_sub, NULL);
 }
 
 bool domain_max_chk(const struct connection *conn, enum accitem what,
-		    unsigned int val, unsigned int quota)
+		    unsigned int val)
 {
 	if (!conn || !conn->domain)
 		return false;
 
-	if (domain_is_unprivileged(conn) && val > quota)
+	if (domain_is_unprivileged(conn) && val > hard_quotas[what].val)
 		return true;
 
 	domain_acc_valid_max(conn->domain, what, val);
@@ -1285,8 +1333,7 @@ static bool domain_chk_quota(struct connection *conn, unsigned int mem)
 	domain = conn->domain;
 	now = time(NULL);
 
-	if (mem >= quota_memory_per_domain_hard &&
-	    quota_memory_per_domain_hard) {
+	if (mem >= hard_quotas[ACC_MEM].val && hard_quotas[ACC_MEM].val) {
 		if (domain->hard_quota_reported)
 			return true;
 		syslog(LOG_ERR, "Domain %u exceeds hard memory quota, Xenstore interface to domain stalled\n",
@@ -1303,15 +1350,14 @@ static bool domain_chk_quota(struct connection *conn, unsigned int mem)
 			syslog(LOG_INFO, "Domain %u below hard memory quota again\n",
 			       domain->domid);
 		}
-		if (mem >= quota_memory_per_domain_soft &&
-		    quota_memory_per_domain_soft &&
-		    !domain->soft_quota_reported) {
+		if (mem >= soft_quotas[ACC_MEM].val &&
+		    soft_quotas[ACC_MEM].val && !domain->soft_quota_reported) {
 			domain->mem_last_msg = now;
 			domain->soft_quota_reported = true;
 			syslog(LOG_WARNING, "Domain %u exceeds soft memory quota\n",
 			       domain->domid);
 		}
-		if (mem < quota_memory_per_domain_soft &&
+		if (mem < soft_quotas[ACC_MEM].val &&
 		    domain->soft_quota_reported) {
 			domain->mem_last_msg = now;
 			domain->soft_quota_reported = false;
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index 3e17b63659..b9e38abff5 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -39,6 +39,16 @@ enum accitem {
 	ACC_N,			/* Number of elements per domain. */
 };
 
+struct quota {
+	const char *name;
+	const char *descr;
+	unsigned int val;
+	unsigned int max;
+};
+
+extern struct quota hard_quotas[ACC_N];
+extern struct quota soft_quotas[ACC_N];
+
 void handle_event(void);
 
 void check_domains(void);
@@ -133,7 +143,7 @@ void acc_commit(struct connection *conn);
 int domain_max_global_acc(const void *ctx, struct connection *conn);
 void domain_reset_global_acc(void);
 bool domain_max_chk(const struct connection *conn, unsigned int what,
-		    unsigned int val, unsigned int quota);
+		    unsigned int val);
 
 /* Write rate limiting */
 
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index 0b256f9b18..e8968d7a1d 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -252,8 +252,7 @@ int access_node(struct connection *conn, struct node *node,
 
 	i = find_accessed_node(trans, node->name);
 	if (!i) {
-		if (domain_max_chk(conn, ACC_TRANSNODES, trans->nodes + 1,
-				   quota_trans_nodes)) {
+		if (domain_max_chk(conn, ACC_TRANSNODES, trans->nodes + 1)) {
 			ret = ENOSPC;
 			goto err;
 		}
@@ -479,7 +478,7 @@ int do_transaction_start(const void *ctx, struct connection *conn,
 	if (conn->transaction)
 		return EBUSY;
 
-	if (domain_transaction_get(conn) > quota_max_transaction)
+	if (domain_transaction_get(conn) > hard_quotas[ACC_TRANS].val)
 		return ENOSPC;
 
 	/* Attach transaction to ctx for autofree until it's complete */
diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c
index 61b1e3421e..e8eb35de02 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstore/xenstored_watch.c
@@ -239,7 +239,7 @@ int do_watch(const void *ctx, struct connection *conn, struct buffered_data *in)
 			return EEXIST;
 	}
 
-	if (domain_watch(conn) > quota_nb_watch_per_domain)
+	if (domain_watch(conn) > hard_quotas[ACC_WATCH].val)
 		return E2BIG;
 
 	watch = add_watch(conn, vec[0], vec[1], relative, false);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:43:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:43:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516495.800673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnsL-0003wD-Oo; Thu, 30 Mar 2023 08:43:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516495.800673; Thu, 30 Mar 2023 08:43: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 1phnsL-0003w6-L7; Thu, 30 Mar 2023 08:43:17 +0000
Received: by outflank-mailman (input) for mailman id 516495;
 Thu, 30 Mar 2023 08:43: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=u6CU=7W=linaro.org=viresh.kumar@srs-se1.protection.inumbo.net>)
 id 1phnsK-0003w0-8D
 for xen-devel@lists.xen.org; Thu, 30 Mar 2023 08:43:16 +0000
Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com
 [2607:f8b0:4864:20::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e84577ee-ced6-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:43:14 +0200 (CEST)
Received: by mail-pl1-x62a.google.com with SMTP id o11so17454954ple.1
 for <xen-devel@lists.xen.org>; Thu, 30 Mar 2023 01:43:14 -0700 (PDT)
Received: from localhost ([122.172.85.168]) by smtp.gmail.com with ESMTPSA id
 m9-20020a17090a34c900b0023b5528b8d4sm2750132pjf.19.2023.03.30.01.43.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Mar 2023 01:43:12 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e84577ee-ced6-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1680165792;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=mTH7Pu1xaJIPVSB0JvyiLy7lPdTEvp4sIi7KrD+n9+o=;
        b=IWaXKcApZbIuC24ziAwoRhaVOYY9ttrwMWk3MTzELEV3wDAegsMze50vn4jL9v8/zK
         3YMEqzS0sCr5hhtgHAAp1VV9pZ+ZO9YJwk/23c7I7VRcybciS3Y6P43tlCZP1EWTcXm/
         8DNYrp3I3Ad54f3+l7Q62tipdIrAZSh+EnXBSlVyizeJESODlSIFwyB8gMMFLaxvJqXz
         ygtSrzadOmwjqXKjtKABoOQbMbvJ5HyB7Zky5Yv8PkCtBgjAToHX6fEtd7Ia4RuhbDg+
         JE6NTe3xSvwpkClUUqSczlUgIW1S+qf8DjiUDFAM4oxFhMWR8q+IkW5a2Kf579xPouuz
         M25w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680165792;
        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=mTH7Pu1xaJIPVSB0JvyiLy7lPdTEvp4sIi7KrD+n9+o=;
        b=oMyGPHD6iX1bmuNxqabuhfbn8h9LjA9/vszQaMOPqizqTrkOHTkQDw2WA33YWhiRGt
         nBo2NdeTcNUXGzJFR4Jop2wRyaCw3ZWlBRBxgcrCiMjc9GI1lwCJ4HuMa/jycQp7035r
         ti5Nf5vsDWm30uA49/lfpl3iCR4OOGvaOBem/UzP5T058wxAPE1OnCFg69lXR4COrzV1
         ajA4nYgSyvtvCFXtH/ZyFT66AF1KiJIrGsv/xl13weA9kky5j0z2QSltWxckQw4sV2xE
         EpgXNFmUDRsjQRdmMEcm94qTDVndLNmPSTon/6Z0yI3P/7c5FD353uD83b134H7Di6eH
         3OEA==
X-Gm-Message-State: AAQBX9eiX/G4INpjzI3r+xuyqHvJoaMKkgPRrjyzEGYJfbE27mszVLK+
	xv+u2RglSgvj84B017+4fmktep0Tle+PE5dvkhw=
X-Google-Smtp-Source: AKy350aHBep19o3aAPIYjRh7j23ahRYciBWG27Q1IxuGiesYwww5/xYMSHPnLF+i8GCtoO2Pki9jKg==
X-Received: by 2002:a17:90a:318d:b0:237:d867:2260 with SMTP id j13-20020a17090a318d00b00237d8672260mr5434907pjb.4.1680165792646;
        Thu, 30 Mar 2023 01:43:12 -0700 (PDT)
From: Viresh Kumar <viresh.kumar@linaro.org>
To: xen-devel@lists.xen.org,
	Juergen Gross <jgross@suse.com>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Cc: Viresh Kumar <viresh.kumar@linaro.org>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	stratos-dev@op-lists.linaro.org,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Mathieu Poirier <mathieu.poirier@linaro.com>,
	Oleksandr Tyshchenko <olekstysh@gmail.com>,
	Erik Schilling <erik.schilling@linaro.org>
Subject: [PATCH] libxl: arm: Allow grant mappings for backends running on Dom0
Date: Thu, 30 Mar 2023 14:13:08 +0530
Message-Id: <817f0320316dd144826add0ac834618026b91160.1680165772.git.viresh.kumar@linaro.org>
X-Mailer: git-send-email 2.31.1.272.g89b43f80a514
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, we add grant mapping related device tree properties if the
backend domain is not Dom0. While Dom0 is privileged and can do foreign
mapping for the entire guest memory, it is still okay for Dom0 to access
guest's memory via grant mappings and hence map only what is required.

This commit adds another parameter for virtio devices, with which they
can do forced grant mappings irrespective of the backend domain id.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 docs/man/xl.cfg.5.pod.in         |  4 ++++
 tools/libs/light/libxl_arm.c     | 21 ++++++++++++---------
 tools/libs/light/libxl_types.idl |  1 +
 tools/libs/light/libxl_virtio.c  | 11 +++++++++++
 tools/xl/xl_parse.c              |  2 ++
 5 files changed, 30 insertions(+), 9 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 10f37990be57..4879f136aab8 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -1616,6 +1616,10 @@ properties in the Device Tree, the type field must be set to "virtio,device".
 Specifies the transport mechanism for the Virtio device, only "mmio" is
 supported for now.
 
+=item B<forced_grant=BOOLEAN>
+
+Allows Xen Grant memory mapping to be done from Dom0.
+
 =back
 
 =item B<tee="STRING">
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 97c80d7ed0fa..ec2f1844e9b3 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -922,7 +922,8 @@ static int make_xen_iommu_node(libxl__gc *gc, void *fdt)
 
 /* The caller is responsible to complete / close the fdt node */
 static int make_virtio_mmio_node_common(libxl__gc *gc, void *fdt, uint64_t base,
-                                        uint32_t irq, uint32_t backend_domid)
+                                        uint32_t irq, uint32_t backend_domid,
+                                        bool forced_grant)
 {
     int res;
     gic_interrupt intr;
@@ -945,7 +946,7 @@ static int make_virtio_mmio_node_common(libxl__gc *gc, void *fdt, uint64_t base,
     res = fdt_property(fdt, "dma-coherent", NULL, 0);
     if (res) return res;
 
-    if (backend_domid != LIBXL_TOOLSTACK_DOMID) {
+    if (forced_grant || backend_domid != LIBXL_TOOLSTACK_DOMID) {
         uint32_t iommus_prop[2];
 
         iommus_prop[0] = cpu_to_fdt32(GUEST_PHANDLE_IOMMU);
@@ -959,11 +960,12 @@ static int make_virtio_mmio_node_common(libxl__gc *gc, void *fdt, uint64_t base,
 }
 
 static int make_virtio_mmio_node(libxl__gc *gc, void *fdt, uint64_t base,
-                                 uint32_t irq, uint32_t backend_domid)
+                                 uint32_t irq, uint32_t backend_domid,
+                                 bool forced_grant)
 {
     int res;
 
-    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid, forced_grant);
     if (res) return res;
 
     return fdt_end_node(fdt);
@@ -1019,11 +1021,11 @@ static int make_virtio_mmio_node_gpio(libxl__gc *gc, void *fdt)
 
 static int make_virtio_mmio_node_device(libxl__gc *gc, void *fdt, uint64_t base,
                                         uint32_t irq, const char *type,
-                                        uint32_t backend_domid)
+                                        uint32_t backend_domid, bool forced_grant)
 {
     int res;
 
-    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid);
+    res = make_virtio_mmio_node_common(gc, fdt, base, irq, backend_domid, forced_grant);
     if (res) return res;
 
     /* Add device specific nodes */
@@ -1363,7 +1365,7 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
                     iommu_needed = true;
 
                 FDT( make_virtio_mmio_node(gc, fdt, disk->base, disk->irq,
-                                           disk->backend_domid) );
+                                           disk->backend_domid, false) );
             }
         }
 
@@ -1373,12 +1375,13 @@ static int libxl__prepare_dtb(libxl__gc *gc, libxl_domain_config *d_config,
             if (virtio->transport != LIBXL_VIRTIO_TRANSPORT_MMIO)
                 continue;
 
-            if (virtio->backend_domid != LIBXL_TOOLSTACK_DOMID)
+            if (virtio->forced_grant || virtio->backend_domid != LIBXL_TOOLSTACK_DOMID)
                 iommu_needed = true;
 
             FDT( make_virtio_mmio_node_device(gc, fdt, virtio->base,
                                               virtio->irq, virtio->type,
-                                              virtio->backend_domid) );
+                                              virtio->backend_domid,
+                                              virtio->forced_grant) );
         }
 
         /*
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index c10292e0d7e3..cfbcd717dc7f 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -740,6 +740,7 @@ libxl_device_virtio = Struct("device_virtio", [
     ("backend_domname", string),
     ("type", string),
     ("transport", libxl_virtio_transport),
+    ("forced_grant", bool),
     ("devid", libxl_devid),
     # Note that virtio-mmio parameters (irq and base) are for internal
     # use by libxl and can't be modified.
diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_virtio.c
index faada49e184e..e1f15344ef97 100644
--- a/tools/libs/light/libxl_virtio.c
+++ b/tools/libs/light/libxl_virtio.c
@@ -48,11 +48,13 @@ static int libxl__set_xenstore_virtio(libxl__gc *gc, uint32_t domid,
     flexarray_append_pair(back, "base", GCSPRINTF("%#"PRIx64, virtio->base));
     flexarray_append_pair(back, "type", GCSPRINTF("%s", virtio->type));
     flexarray_append_pair(back, "transport", GCSPRINTF("%s", transport));
+    flexarray_append_pair(back, "forced_grant", GCSPRINTF("%u", virtio->forced_grant));
 
     flexarray_append_pair(front, "irq", GCSPRINTF("%u", virtio->irq));
     flexarray_append_pair(front, "base", GCSPRINTF("%#"PRIx64, virtio->base));
     flexarray_append_pair(front, "type", GCSPRINTF("%s", virtio->type));
     flexarray_append_pair(front, "transport", GCSPRINTF("%s", transport));
+    flexarray_append_pair(front, "forced_grant", GCSPRINTF("%u", virtio->forced_grant));
 
     return 0;
 }
@@ -104,6 +106,15 @@ static int libxl__virtio_from_xenstore(libxl__gc *gc, const char *libxl_path,
         }
     }
 
+    tmp = NULL;
+    rc = libxl__xs_read_checked(gc, XBT_NULL,
+				GCSPRINTF("%s/forced_grant", be_path), &tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        virtio->forced_grant = strtoul(tmp, NULL, 0);
+    }
+
     tmp = NULL;
     rc = libxl__xs_read_checked(gc, XBT_NULL,
 				GCSPRINTF("%s/type", be_path), &tmp);
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 1f6f47daf4e1..3e34da099785 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1215,6 +1215,8 @@ static int parse_virtio_config(libxl_device_virtio *virtio, char *token)
     } else if (MATCH_OPTION("transport", token, oparg)) {
         rc = libxl_virtio_transport_from_string(oparg, &virtio->transport);
         if (rc) return rc;
+    } else if (MATCH_OPTION("forced_grant", token, oparg)) {
+        virtio->forced_grant = strtoul(oparg, NULL, 0);
     } else {
         fprintf(stderr, "Unknown string \"%s\" in virtio spec\n", token);
         return -1;
-- 
2.31.1.272.g89b43f80a514



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:50:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:50:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516498.800682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnz9-0005R8-EH; Thu, 30 Mar 2023 08:50:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516498.800682; Thu, 30 Mar 2023 08: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 1phnz9-0005R1-BZ; Thu, 30 Mar 2023 08:50:19 +0000
Received: by outflank-mailman (input) for mailman id 516498;
 Thu, 30 Mar 2023 08:50: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnz7-0005Qp-VF
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:50:18 +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 e335ad5c-ced7-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 10:50:14 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 28EB51FEA2;
 Thu, 30 Mar 2023 08:50: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 E3CF4138FF;
 Thu, 30 Mar 2023 08:50:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id v97jNUVNJWTGIgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08: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: e335ad5c-ced7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166214; 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=Ogccndl2v1UR67f4S1y8WmCiYTytNq5Lwn9uMMjXMbQ=;
	b=SWY5Eadl14irp9VNfMrTPDKOkwsGV/LwVm54IaGuN/n4Frxs+0sHPj0QybD5D6doUOLXaQ
	wjBnSXMJPCT/+uHEsPrr5yI9MUSIgdMP3fMZJUmViuAJJ/QL1VJIYaukLrhgn64850MXXZ
	NNcw6W7NzvzouOTesK/6jsTTlKqDe6g=
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 00/13] tools/xenstore: more cleanups
Date: Thu, 30 Mar 2023 10:49:58 +0200
Message-Id: <20230330085011.9170-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some more cleanups of Xenstore.

Based on top of the previous Xenstore series "tools/xenstore: rework
internal accounting".

Changes in V2:
- rebase
- one small modification of patch 10
- added patches 11-13

Juergen Gross (13):
  tools/xenstore: verify command line parameters better
  tools/xenstore: do some cleanup of hashtable.c
  tools/xenstore: modify interface of create_hashtable()
  tools/xenstore: let hashtable_insert() return 0 on success
  tools/xenstore: make some write limit functions static
  tools/xenstore: switch write limiting to use millisecond time base
  tools/xenstore: remove stale TODO file
  tools/xenstore: remove unused events list
  tools/xenstore: remove support of file backed data base
  tools/xenstore: remove no longer needed functions from xs_lib.c
  tools/xenstore: split out environment specific live update code
  tools/xenstore: split out rest of live update control code
  tools/xenstore: remove unused stuff from list.h

 tools/include/xenstore.h               |   3 +
 tools/include/xenstore_lib.h           |   3 -
 tools/libs/store/xs.c                  |  38 ++
 tools/xenstore/Makefile                |   5 +-
 tools/xenstore/Makefile.common         |  10 +-
 tools/xenstore/TODO                    |  10 -
 tools/xenstore/hashtable.c             |  98 ++--
 tools/xenstore/hashtable.h             |  16 +-
 tools/xenstore/list.h                  | 227 ---------
 tools/xenstore/xenstore_client.c       | 129 +++++
 tools/xenstore/xenstored_control.c     | 657 +------------------------
 tools/xenstore/xenstored_control.h     |   8 -
 tools/xenstore/xenstored_core.c        |  52 +-
 tools/xenstore/xenstored_core.h        |   7 +-
 tools/xenstore/xenstored_domain.c      | 458 +++++++++--------
 tools/xenstore/xenstored_domain.h      |  24 +-
 tools/xenstore/xenstored_lu.c          | 401 +++++++++++++++
 tools/xenstore/xenstored_lu.h          |  81 +++
 tools/xenstore/xenstored_lu_daemon.c   | 132 +++++
 tools/xenstore/xenstored_lu_minios.c   | 121 +++++
 tools/xenstore/xenstored_transaction.c |   4 +-
 tools/xenstore/xenstored_watch.c       |   5 -
 tools/xenstore/xs_lib.c                | 156 ------
 tools/xenstore/xs_lib.h                |  17 -
 tools/xenstore/xs_tdb_dump.c           |  86 ----
 25 files changed, 1204 insertions(+), 1544 deletions(-)
 delete mode 100644 tools/xenstore/TODO
 create mode 100644 tools/xenstore/xenstored_lu.c
 create mode 100644 tools/xenstore/xenstored_lu.h
 create mode 100644 tools/xenstore/xenstored_lu_daemon.c
 create mode 100644 tools/xenstore/xenstored_lu_minios.c
 delete mode 100644 tools/xenstore/xs_tdb_dump.c

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:50:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:50:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516499.800692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnzC-0005gn-LV; Thu, 30 Mar 2023 08:50:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516499.800692; Thu, 30 Mar 2023 08: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 1phnzC-0005gg-I7; Thu, 30 Mar 2023 08:50:22 +0000
Received: by outflank-mailman (input) for mailman id 516499;
 Thu, 30 Mar 2023 08: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnzA-0005fr-Ov
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08: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 e671c27c-ced7-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:50:19 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id AFFD51FEAC;
 Thu, 30 Mar 2023 08:50: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 8241F138FF;
 Thu, 30 Mar 2023 08:50:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id j1JwHktNJWTPIgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08: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>
X-Inumbo-ID: e671c27c-ced7-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166219; 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=3pO10sPGTtdz9QC6xsd1+0esIC5/k5/zllx/QTVNu38=;
	b=DmhuzkqIdzhODt2DGUTtmkrxBKyvhZmORveGHb5t49odyVkcBxg58Ldul7gle+17oGkE0y
	l9C4qHDpsceHqSHpg9zOdTqSo8Qtp6NnVmsRbhjdQtPbw5qtyXiYukkqxwjxnmDsDshn3P
	PiNT3392sf+M+hK/TwxuQhWgOJECEZM=
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 01/13] tools/xenstore: verify command line parameters better
Date: Thu, 30 Mar 2023 10:49:59 +0200
Message-Id: <20230330085011.9170-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330085011.9170-1-jgross@suse.com>
References: <20230330085011.9170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add some more verification of command line parameters.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_core.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 6e2fc06840..7214b3df03 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2809,7 +2809,7 @@ int main(int argc, char *argv[])
 			no_domain_init = true;
 			break;
 		case 'E':
-			hard_quotas[ACC_NODES].val = strtoul(optarg, NULL, 10);
+			hard_quotas[ACC_NODES].val = get_optval_int(optarg);
 			break;
 		case 'F':
 			pidfile = optarg;
@@ -2827,10 +2827,10 @@ int main(int argc, char *argv[])
 			recovery = false;
 			break;
 		case 'S':
-			hard_quotas[ACC_NODESZ].val = strtoul(optarg, NULL, 10);
+			hard_quotas[ACC_NODESZ].val = get_optval_int(optarg);
 			break;
 		case 't':
-			hard_quotas[ACC_TRANS].val = strtoul(optarg, NULL, 10);
+			hard_quotas[ACC_TRANS].val = get_optval_int(optarg);
 			break;
 		case 'T':
 			tracefile = optarg;
@@ -2850,14 +2850,13 @@ int main(int argc, char *argv[])
 			verbose = true;
 			break;
 		case 'W':
-			hard_quotas[ACC_WATCH].val = strtoul(optarg, NULL, 10);
+			hard_quotas[ACC_WATCH].val = get_optval_int(optarg);
 			break;
 		case 'A':
-			hard_quotas[ACC_NPERM].val = strtoul(optarg, NULL, 10);
+			hard_quotas[ACC_NPERM].val = get_optval_int(optarg);
 			break;
 		case 'M':
-			hard_quotas[ACC_PATHLEN].val =
-				strtoul(optarg, NULL, 10);
+			hard_quotas[ACC_PATHLEN].val = get_optval_int(optarg);
 			hard_quotas[ACC_PATHLEN].val =
 				 min((unsigned int)XENSTORE_REL_PATH_MAX,
 				     hard_quotas[ACC_PATHLEN].val);
@@ -2872,13 +2871,13 @@ int main(int argc, char *argv[])
 			set_timeout(optarg);
 			break;
 		case 'e':
-			dom0_event = strtol(optarg, NULL, 10);
+			dom0_event = get_optval_int(optarg);
 			break;
 		case 'm':
-			dom0_domid = strtol(optarg, NULL, 10);
+			dom0_domid = get_optval_int(optarg);
 			break;
 		case 'p':
-			priv_domid = strtol(optarg, NULL, 10);
+			priv_domid = get_optval_int(optarg);
 			break;
 #ifndef NO_LIVE_UPDATE
 		case 'U':
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:50:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:50:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516500.800703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnzH-00060c-Sg; Thu, 30 Mar 2023 08:50:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516500.800703; Thu, 30 Mar 2023 08:50: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 1phnzH-00060R-PU; Thu, 30 Mar 2023 08:50:27 +0000
Received: by outflank-mailman (input) for mailman id 516500;
 Thu, 30 Mar 2023 08:50:26 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnzG-0005fr-4Q
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:50:26 +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 e9c90f8d-ced7-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:50:25 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 4F4CD1FEA2;
 Thu, 30 Mar 2023 08:50: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 21817138FF;
 Thu, 30 Mar 2023 08:50:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id g2iSBlFNJWTyIgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:50: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: e9c90f8d-ced7-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166225; 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=G7duMJqACu3XAMWpzr/xsKoLzajMYtvFv/QO5a4TpxA=;
	b=DV9e35SW1ru5XIa+UoYin8gS3mqqq82qTij2asHRLDX9ANi1YwXGT64mYPh1b25eibveeG
	hY+jZVCAcW0jYnJU0fyBCOc3wpSOi5FmjZ+kde/teh3xRkuGasVHc5JkGvPI8qZUFoXz7E
	2qC0vlO7JLFAhLbdtHdhtABhkG9zlFk=
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 02/13] tools/xenstore: do some cleanup of hashtable.c
Date: Thu, 30 Mar 2023 10:50:00 +0200
Message-Id: <20230330085011.9170-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330085011.9170-1-jgross@suse.com>
References: <20230330085011.9170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Do the following cleanups:
- hashtable_count() isn't used at all, so remove it
- replace prime_table_length and max_load_factor with macros
- make hash() static
- add a loadlimit() helper function
- remove the /***/ lines between functions
- do some style corrections

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/hashtable.c | 71 ++++++++++++++------------------------
 tools/xenstore/hashtable.h | 10 ------
 2 files changed, 26 insertions(+), 55 deletions(-)

diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c
index 3d4466b597..c1b11743bb 100644
--- a/tools/xenstore/hashtable.c
+++ b/tools/xenstore/hashtable.c
@@ -40,22 +40,25 @@ static const unsigned int primes[] = {
 50331653, 100663319, 201326611, 402653189,
 805306457, 1610612741
 };
-const unsigned int prime_table_length = sizeof(primes)/sizeof(primes[0]);
-const unsigned int max_load_factor = 65; /* percentage */
 
-/*****************************************************************************/
-/* indexFor */
-static inline unsigned int
-indexFor(unsigned int tablelength, unsigned int hashvalue) {
+#define PRIME_TABLE_LEN   ARRAY_SIZE(primes)
+#define MAX_LOAD_PERCENT  65
+
+static inline unsigned int indexFor(unsigned int tablelength,
+                                    unsigned int hashvalue)
+{
     return (hashvalue % tablelength);
 }
 
-/*****************************************************************************/
-struct hashtable *
-create_hashtable(const void *ctx, unsigned int minsize,
-                 unsigned int (*hashf) (const void *),
-                 int (*eqf) (const void *, const void *),
-                 unsigned int flags)
+static unsigned int loadlimit(unsigned int pindex)
+{
+    return ((uint64_t)primes[pindex] * MAX_LOAD_PERCENT) / 100;
+}
+
+struct hashtable *create_hashtable(const void *ctx, unsigned int minsize,
+                                   unsigned int (*hashf) (const void *),
+                                   int (*eqf) (const void *, const void *),
+                                   unsigned int flags)
 {
     struct hashtable *h;
     unsigned int pindex, size = primes[0];
@@ -64,7 +67,7 @@ create_hashtable(const void *ctx, unsigned int minsize,
     if (minsize > (1u << 30)) return NULL;
 
     /* Enforce size as prime */
-    for (pindex=0; pindex < prime_table_length; pindex++) {
+    for (pindex=0; pindex < PRIME_TABLE_LEN; pindex++) {
         if (primes[pindex] > minsize) { size = primes[pindex]; break; }
     }
 
@@ -81,7 +84,7 @@ create_hashtable(const void *ctx, unsigned int minsize,
     h->entrycount   = 0;
     h->hashfn       = hashf;
     h->eqfn         = eqf;
-    h->loadlimit    = (unsigned int)(((uint64_t)size * max_load_factor) / 100);
+    h->loadlimit    = loadlimit(pindex);
     return h;
 
 err1:
@@ -90,9 +93,7 @@ err0:
    return NULL;
 }
 
-/*****************************************************************************/
-unsigned int
-hash(const struct hashtable *h, const void *k)
+static unsigned int hash(const struct hashtable *h, const void *k)
 {
     /* Aim to protect against poor hash functions by adding logic here
      * - logic taken from java 1.4 hashtable source */
@@ -104,9 +105,7 @@ hash(const struct hashtable *h, const void *k)
     return i;
 }
 
-/*****************************************************************************/
-static int
-hashtable_expand(struct hashtable *h)
+static int hashtable_expand(struct hashtable *h)
 {
     /* Double the size of the table to accomodate more entries */
     struct entry **newtable;
@@ -114,7 +113,7 @@ hashtable_expand(struct hashtable *h)
     struct entry **pE;
     unsigned int newsize, i, index;
     /* Check we're not hitting max capacity */
-    if (h->primeindex == (prime_table_length - 1)) return 0;
+    if (h->primeindex == (PRIME_TABLE_LEN - 1)) return 0;
     newsize = primes[++(h->primeindex)];
 
     newtable = talloc_realloc(h, h->table, struct entry *, newsize);
@@ -144,21 +143,11 @@ hashtable_expand(struct hashtable *h)
     }
 
     h->tablelength = newsize;
-    h->loadlimit   = (unsigned int)
-        (((uint64_t)newsize * max_load_factor) / 100);
+    h->loadlimit   = loadlimit(h->primeindex);
     return -1;
 }
 
-/*****************************************************************************/
-unsigned int
-hashtable_count(const struct hashtable *h)
-{
-    return h->entrycount;
-}
-
-/*****************************************************************************/
-int
-hashtable_insert(struct hashtable *h, void *k, void *v)
+int hashtable_insert(struct hashtable *h, void *k, void *v)
 {
     /* This method allows duplicate keys - but they shouldn't be used */
     unsigned int index;
@@ -186,9 +175,7 @@ hashtable_insert(struct hashtable *h, void *k, void *v)
     return -1;
 }
 
-/*****************************************************************************/
-void * /* returns value associated with key */
-hashtable_search(const struct hashtable *h, const void *k)
+void *hashtable_search(const struct hashtable *h, const void *k)
 {
     struct entry *e;
     unsigned int hashvalue, index;
@@ -204,7 +191,6 @@ hashtable_search(const struct hashtable *h, const void *k)
     return NULL;
 }
 
-/*****************************************************************************/
 void
 hashtable_remove(struct hashtable *h, const void *k)
 {
@@ -234,10 +220,8 @@ hashtable_remove(struct hashtable *h, const void *k)
     }
 }
 
-/*****************************************************************************/
-int
-hashtable_iterate(struct hashtable *h,
-                  int (*func)(const void *k, void *v, void *arg), void *arg)
+int hashtable_iterate(struct hashtable *h,
+                      int (*func)(const void *k, void *v, void *arg), void *arg)
 {
     int ret;
     unsigned int i;
@@ -260,10 +244,7 @@ hashtable_iterate(struct hashtable *h,
     return 0;
 }
 
-/*****************************************************************************/
-/* destroy */
-void
-hashtable_destroy(struct hashtable *h)
+void hashtable_destroy(struct hashtable *h)
 {
     talloc_free(h);
 }
diff --git a/tools/xenstore/hashtable.h b/tools/xenstore/hashtable.h
index cc0090f133..04310783b6 100644
--- a/tools/xenstore/hashtable.h
+++ b/tools/xenstore/hashtable.h
@@ -74,16 +74,6 @@ hashtable_search(const struct hashtable *h, const void *k);
 void
 hashtable_remove(struct hashtable *h, const void *k);
 
-/*****************************************************************************
- * hashtable_count
-   
- * @name        hashtable_count
- * @param   h   the hashtable
- * @return      the number of items stored in the hashtable
- */
-unsigned int
-hashtable_count(const struct hashtable *h);
-
 /*****************************************************************************
  * hashtable_iterate
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:50:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:50:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516501.800713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnzO-0006Q3-9G; Thu, 30 Mar 2023 08:50:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516501.800713; Thu, 30 Mar 2023 08:50: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 1phnzO-0006Pt-5H; Thu, 30 Mar 2023 08:50:34 +0000
Received: by outflank-mailman (input) for mailman id 516501;
 Thu, 30 Mar 2023 08:50: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnzM-0005Qp-VM
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:50: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 ed27b3ea-ced7-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 10:50:31 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E984321B0D;
 Thu, 30 Mar 2023 08:50: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 B0A51138FF;
 Thu, 30 Mar 2023 08:50:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mcjKKVZNJWQTIwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:50:30 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed27b3ea-ced7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166230; 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=yNDHqsZeJimLNlZjd9q+WaVtry8TrNvKJye99WJK+MI=;
	b=C1P36EdJ4nEFayaBwK+INqIbDnPYvVnIZdKRLJa/Xau0oQlOgrlxHSlNF70o4X8xOxMTop
	6d2mE3Sy6PhCQAjxJds3y/H2e46l+9EoDshJndWSS3nh6twomzv7KsNQoY41bpRCwkyGO4
	vLofgXJltNLvWUHy6jPVhdKS5CIwM7Q=
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 03/13] tools/xenstore: modify interface of create_hashtable()
Date: Thu, 30 Mar 2023 10:50:01 +0200
Message-Id: <20230330085011.9170-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330085011.9170-1-jgross@suse.com>
References: <20230330085011.9170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The minsize parameter of create_hashtable() doesn't have any real use
case for Xenstore, so drop it.

For better talloc_report_full() diagnostic output add a name parameter
to create_hashtable().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/hashtable.c        | 20 ++++++--------------
 tools/xenstore/hashtable.h        |  4 ++--
 tools/xenstore/xenstored_core.c   |  2 +-
 tools/xenstore/xenstored_domain.c |  4 ++--
 4 files changed, 11 insertions(+), 19 deletions(-)

diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c
index c1b11743bb..ab1e687d0b 100644
--- a/tools/xenstore/hashtable.c
+++ b/tools/xenstore/hashtable.c
@@ -55,36 +55,28 @@ static unsigned int loadlimit(unsigned int pindex)
     return ((uint64_t)primes[pindex] * MAX_LOAD_PERCENT) / 100;
 }
 
-struct hashtable *create_hashtable(const void *ctx, unsigned int minsize,
+struct hashtable *create_hashtable(const void *ctx, const char *name,
                                    unsigned int (*hashf) (const void *),
                                    int (*eqf) (const void *, const void *),
                                    unsigned int flags)
 {
     struct hashtable *h;
-    unsigned int pindex, size = primes[0];
-
-    /* Check requested hashtable isn't too large */
-    if (minsize > (1u << 30)) return NULL;
-
-    /* Enforce size as prime */
-    for (pindex=0; pindex < PRIME_TABLE_LEN; pindex++) {
-        if (primes[pindex] > minsize) { size = primes[pindex]; break; }
-    }
 
     h = talloc_zero(ctx, struct hashtable);
     if (NULL == h)
         goto err0;
-    h->table = talloc_zero_array(h, struct entry *, size);
+    talloc_set_name_const(h, name);
+    h->table = talloc_zero_array(h, struct entry *, primes[0]);
     if (NULL == h->table)
         goto err1;
 
-    h->tablelength  = size;
+    h->tablelength  = primes[0];
     h->flags        = flags;
-    h->primeindex   = pindex;
+    h->primeindex   = 0;
     h->entrycount   = 0;
     h->hashfn       = hashf;
     h->eqfn         = eqf;
-    h->loadlimit    = loadlimit(pindex);
+    h->loadlimit    = loadlimit(0);
     return h;
 
 err1:
diff --git a/tools/xenstore/hashtable.h b/tools/xenstore/hashtable.h
index 04310783b6..0e1a6f61c2 100644
--- a/tools/xenstore/hashtable.h
+++ b/tools/xenstore/hashtable.h
@@ -10,7 +10,7 @@ struct hashtable;
    
  * @name                    create_hashtable
  * @param   ctx             talloc context to use for allocations
- * @param   minsize         minimum initial size of hashtable
+ * @param   name            talloc name of the hashtable
  * @param   hashfunction    function for hashing keys
  * @param   key_eq_fn       function for determining key equality
  * @param   flags           flags HASHTABLE_*
@@ -23,7 +23,7 @@ struct hashtable;
 #define HASHTABLE_FREE_KEY   (1U << 1)
 
 struct hashtable *
-create_hashtable(const void *ctx, unsigned int minsize,
+create_hashtable(const void *ctx, const char *name,
                  unsigned int (*hashfunction) (const void *),
                  int (*key_eq_fn) (const void *, const void *),
                  unsigned int flags
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 7214b3df03..6ce7be3161 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2511,7 +2511,7 @@ void check_store(void)
 	struct check_store_data data;
 
 	/* Don't free values (they are all void *1) */
-	data.reachable = create_hashtable(NULL, 16, hash_from_key_fn,
+	data.reachable = create_hashtable(NULL, "checkstore", hash_from_key_fn,
 					  keys_equal_fn, HASHTABLE_FREE_KEY);
 	if (!data.reachable) {
 		log("check_store: ENOMEM");
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index df64c87efc..6d40aefc63 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -1017,7 +1017,7 @@ void domain_init(int evtfd)
 	int rc;
 
 	/* Start with a random rather low domain count for the hashtable. */
-	domhash = create_hashtable(NULL, 8, domhash_fn, domeq_fn, 0);
+	domhash = create_hashtable(NULL, "domains", domhash_fn, domeq_fn, 0);
 	if (!domhash)
 		barf_perror("Failed to allocate domain hashtable");
 
@@ -1804,7 +1804,7 @@ struct hashtable *domain_check_acc_init(void)
 {
 	struct hashtable *domains;
 
-	domains = create_hashtable(NULL, 8, domhash_fn, domeq_fn,
+	domains = create_hashtable(NULL, "domain_check", domhash_fn, domeq_fn,
 				   HASHTABLE_FREE_VALUE);
 	if (!domains)
 		return NULL;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:50:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:50:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516502.800722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnzS-0006mf-GA; Thu, 30 Mar 2023 08:50:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516502.800722; Thu, 30 Mar 2023 08: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 1phnzS-0006mU-D4; Thu, 30 Mar 2023 08:50:38 +0000
Received: by outflank-mailman (input) for mailman id 516502;
 Thu, 30 Mar 2023 08:50: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnzR-0005fr-BG
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:50: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 f0775447-ced7-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:50:36 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8147621B0D;
 Thu, 30 Mar 2023 08:50: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 56483138FF;
 Thu, 30 Mar 2023 08:50:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 78G6E1xNJWQbIwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08: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: f0775447-ced7-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166236; 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=mh22UmQC/9EYE48tEsEFwbVqpQAAehAkZgB8F1H4+sY=;
	b=EBcok8zLDq2vnVCOBh0/ulacFaGPeaJpsHEsURLa6cgq8a7CmCFJxU+OcVPLq1V5B1KA5X
	pVXbT7SwqDYmhxKWhmGhejdPV6jOy6vWeU3EqOr/VCxI0PFuQtDcaYjNM7JcXicUpmx9r0
	/YngaGolj72p420Bm5x6Ecoxuzbj4bk=
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 04/13] tools/xenstore: let hashtable_insert() return 0 on success
Date: Thu, 30 Mar 2023 10:50:02 +0200
Message-Id: <20230330085011.9170-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330085011.9170-1-jgross@suse.com>
References: <20230330085011.9170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today hashtable_insert() returns 0 in case of an error. Change that to
let it return an errno value in the error case and 0 in case of success.

Even if not used today, do the same switch for the return value of
hashtable_expand().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/hashtable.c             | 15 ++++++++++-----
 tools/xenstore/hashtable.h             |  2 +-
 tools/xenstore/xenstored_core.c        |  4 ++--
 tools/xenstore/xenstored_domain.c      |  4 ++--
 tools/xenstore/xenstored_transaction.c |  4 ++--
 5 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c
index ab1e687d0b..084d562b22 100644
--- a/tools/xenstore/hashtable.c
+++ b/tools/xenstore/hashtable.c
@@ -105,14 +105,15 @@ static int hashtable_expand(struct hashtable *h)
     struct entry **pE;
     unsigned int newsize, i, index;
     /* Check we're not hitting max capacity */
-    if (h->primeindex == (PRIME_TABLE_LEN - 1)) return 0;
+    if (h->primeindex == (PRIME_TABLE_LEN - 1))
+        return ENOSPC;
     newsize = primes[++(h->primeindex)];
 
     newtable = talloc_realloc(h, h->table, struct entry *, newsize);
     if (!newtable)
     {
         h->primeindex--;
-        return 0;
+        return ENOMEM;
     }
 
     h->table = newtable;
@@ -136,7 +137,7 @@ static int hashtable_expand(struct hashtable *h)
 
     h->tablelength = newsize;
     h->loadlimit   = loadlimit(h->primeindex);
-    return -1;
+    return 0;
 }
 
 int hashtable_insert(struct hashtable *h, void *k, void *v)
@@ -153,7 +154,11 @@ int hashtable_insert(struct hashtable *h, void *k, void *v)
         hashtable_expand(h);
     }
     e = talloc_zero(h, struct entry);
-    if (NULL == e) { --(h->entrycount); return 0; } /*oom*/
+    if (NULL == e)
+    {
+        --h->entrycount;
+       return ENOMEM;
+    }
     e->h = hash(h,k);
     index = indexFor(h->tablelength,e->h);
     e->k = k;
@@ -164,7 +169,7 @@ int hashtable_insert(struct hashtable *h, void *k, void *v)
         talloc_steal(e, v);
     e->next = h->table[index];
     h->table[index] = e;
-    return -1;
+    return 0;
 }
 
 void *hashtable_search(const struct hashtable *h, const void *k)
diff --git a/tools/xenstore/hashtable.h b/tools/xenstore/hashtable.h
index 0e1a6f61c2..ee4e25cbbf 100644
--- a/tools/xenstore/hashtable.h
+++ b/tools/xenstore/hashtable.h
@@ -36,7 +36,7 @@ create_hashtable(const void *ctx, const char *name,
  * @param   h   the hashtable to insert into
  * @param   k   the key - hashtable claims ownership and will free on removal
  * @param   v   the value - does not claim ownership
- * @return      non-zero for successful insertion
+ * @return      zero for successful insertion
  *
  * This function will cause the table to expand if the insertion would take
  * the ratio of entries to table size over the maximum load factor.
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 6ce7be3161..c5433e5b3f 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2394,7 +2394,7 @@ int remember_string(struct hashtable *hash, const char *str)
 	char *k = talloc_strdup(NULL, str);
 
 	if (!k)
-		return 0;
+		return ENOMEM;
 	return hashtable_insert(hash, k, (void *)1);
 }
 
@@ -2428,7 +2428,7 @@ static int check_store_step(const void *ctx, struct connection *conn,
 				: WALK_TREE_SKIP_CHILDREN;
 	}
 
-	if (!remember_string(data->reachable, node->name))
+	if (remember_string(data->reachable, node->name))
 		return WALK_TREE_ERROR_STOP;
 
 	domain_check_acc_add(node, data->domains);
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 6d40aefc63..be9175a461 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -540,7 +540,7 @@ static struct domain *alloc_domain(const void *context, unsigned int domid)
 	domain->generation = generation;
 	domain->introduced = false;
 
-	if (!hashtable_insert(domhash, &domain->domid, domain)) {
+	if (hashtable_insert(domhash, &domain->domid, domain)) {
 		talloc_free(domain);
 		errno = ENOMEM;
 		return NULL;
@@ -1792,7 +1792,7 @@ static int domain_check_acc_init_sub(const void *k, void *v, void *arg)
 	 */
 	dom->nodes = -d->acc[ACC_NODES].val;
 
-	if (!hashtable_insert(domains, &dom->domid, dom)) {
+	if (hashtable_insert(domains, &dom->domid, dom)) {
 		talloc_free(dom);
 		return -1;
 	}
diff --git a/tools/xenstore/xenstored_transaction.c b/tools/xenstore/xenstored_transaction.c
index e8968d7a1d..c615c0de13 100644
--- a/tools/xenstore/xenstored_transaction.c
+++ b/tools/xenstore/xenstored_transaction.c
@@ -600,13 +600,13 @@ int check_transactions(struct hashtable *hash)
 		list_for_each_entry(trans, &conn->transaction_list, list) {
 			tname = talloc_asprintf(trans, "%"PRIu64,
 						trans->generation);
-			if (!tname || !remember_string(hash, tname))
+			if (!tname || remember_string(hash, tname))
 				goto nomem;
 
 			list_for_each_entry(i, &trans->accessed, list) {
 				if (!i->ta_node)
 					continue;
-				if (!remember_string(hash, i->trans_name))
+				if (remember_string(hash, i->trans_name))
 					goto nomem;
 			}
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:50:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:50:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516507.800733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnzY-0007JP-SA; Thu, 30 Mar 2023 08:50:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516507.800733; Thu, 30 Mar 2023 08:50: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 1phnzY-0007JF-Ok; Thu, 30 Mar 2023 08:50:44 +0000
Received: by outflank-mailman (input) for mailman id 516507;
 Thu, 30 Mar 2023 08: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnzX-0005fr-De
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:50:43 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.220.28])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f3e03993-ced7-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:50:42 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3DD6C21B15;
 Thu, 30 Mar 2023 08:50: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 08202138FF;
 Thu, 30 Mar 2023 08:50:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id t/+mAGJNJWQqIwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08: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: f3e03993-ced7-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166242; 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=lufIwgTGxJUqKBQ8/wNtAQ7gLQcAnt+JrVNaxGYXexI=;
	b=pAS5VjUqAM7IN1Hl4S/LnZ2k9KsBxSzHr6GYVldYjOCQt0VikQpyORtH3Mpay8TK+GVtOn
	D+i9f8fuM77bftCrrcBcwo/FUqxcka4QJf8Viey9UKwIwnirUCQNhpnJhh+3jZtmCd8JA+
	8LlVK6Z1fvaCH1HZxqaVJwXTkCvY0ok=
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 05/13] tools/xenstore: make some write limit functions static
Date: Thu, 30 Mar 2023 10:50:03 +0200
Message-Id: <20230330085011.9170-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330085011.9170-1-jgross@suse.com>
References: <20230330085011.9170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some wrl_*() functions are only used in xenstored_domain.c, so make
them static. In order to avoid the need of forward declarations, move
the whole function block to the start of the file.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_domain.c | 456 +++++++++++++++---------------
 tools/xenstore/xenstored_domain.h |   3 -
 2 files changed, 228 insertions(+), 231 deletions(-)

diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index be9175a461..0a8353dad5 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -159,6 +159,234 @@ struct changed_domain
 
 static struct hashtable *domhash;
 
+static wrl_creditt wrl_config_writecost      = WRL_FACTOR;
+static wrl_creditt wrl_config_rate           = WRL_RATE   * WRL_FACTOR;
+static wrl_creditt wrl_config_dburst         = WRL_DBURST * WRL_FACTOR;
+static wrl_creditt wrl_config_gburst         = WRL_GBURST * WRL_FACTOR;
+static wrl_creditt wrl_config_newdoms_dburst =
+	                         WRL_DBURST * WRL_NEWDOMS * WRL_FACTOR;
+
+long wrl_ntransactions;
+
+static long wrl_ndomains;
+static wrl_creditt wrl_reserve; /* [-wrl_config_newdoms_dburst, +_gburst ] */
+static time_t wrl_log_last_warning; /* 0: no previous warning */
+
+#define trace_wrl(...)				\
+do {						\
+	if (trace_flags & TRACE_WRL)		\
+		trace("wrl: " __VA_ARGS__);	\
+} while (0)
+
+void wrl_gettime_now(struct wrl_timestampt *now_wt)
+{
+	struct timespec now_ts;
+	int r;
+
+	r = clock_gettime(CLOCK_MONOTONIC, &now_ts);
+	if (r)
+		barf_perror("Could not find time (clock_gettime failed)");
+
+	now_wt->sec = now_ts.tv_sec;
+	now_wt->msec = now_ts.tv_nsec / 1000000;
+}
+
+static void wrl_xfer_credit(wrl_creditt *debit,  wrl_creditt debit_floor,
+			    wrl_creditt *credit, wrl_creditt credit_ceil)
+	/*
+	 * Transfers zero or more credit from "debit" to "credit".
+	 * Transfers as much as possible while maintaining
+	 * debit >= debit_floor and credit <= credit_ceil.
+	 * (If that's violated already, does nothing.)
+	 *
+	 * Sufficient conditions to avoid overflow, either of:
+	 *  |every argument| <= 0x3fffffff
+	 *  |every argument| <= 1E9
+	 *  |every argument| <= WRL_CREDIT_MAX
+	 * (And this condition is preserved.)
+	 */
+{
+	wrl_creditt xfer = MIN( *debit      - debit_floor,
+			        credit_ceil - *credit      );
+	if (xfer > 0) {
+		*debit -= xfer;
+		*credit += xfer;
+	}
+}
+
+static void wrl_domain_new(struct domain *domain)
+{
+	domain->wrl_credit = 0;
+	wrl_gettime_now(&domain->wrl_timestamp);
+	wrl_ndomains++;
+	/* Steal up to DBURST from the reserve */
+	wrl_xfer_credit(&wrl_reserve, -wrl_config_newdoms_dburst,
+			&domain->wrl_credit, wrl_config_dburst);
+}
+
+static void wrl_domain_destroy(struct domain *domain)
+{
+	wrl_ndomains--;
+	/*
+	 * Don't bother recalculating domain's credit - this just
+	 * means we don't give the reserve the ending domain's credit
+	 * for time elapsed since last update.
+	 */
+	wrl_xfer_credit(&domain->wrl_credit, 0,
+			&wrl_reserve, wrl_config_dburst);
+}
+
+static void wrl_credit_update(struct domain *domain, struct wrl_timestampt now)
+{
+	/*
+	 * We want to calculate
+	 *    credit += (now - timestamp) * RATE / ndoms;
+	 * But we want it to saturate, and to avoid floating point.
+	 * To avoid rounding errors from constantly adding small
+	 * amounts of credit, we only add credit for whole milliseconds.
+	 */
+	long seconds      = now.sec -  domain->wrl_timestamp.sec;
+	long milliseconds = now.msec - domain->wrl_timestamp.msec;
+	long msec;
+	int64_t denom, num;
+	wrl_creditt surplus;
+
+	seconds = MIN(seconds, 1000*1000); /* arbitrary, prevents overflow */
+	msec = seconds * 1000 + milliseconds;
+
+	if (msec < 0)
+                /* shouldn't happen with CLOCK_MONOTONIC */
+		msec = 0;
+
+	/* 32x32 -> 64 cannot overflow */
+	denom = (int64_t)msec * wrl_config_rate;
+	num  =  (int64_t)wrl_ndomains * 1000;
+	/* denom / num <= 1E6 * wrl_config_rate, so with
+	   reasonable wrl_config_rate, denom / num << 2^64 */
+
+	/* at last! */
+	domain->wrl_credit = MIN( (int64_t)domain->wrl_credit + denom / num,
+				  WRL_CREDIT_MAX );
+	/* (maybe briefly violating the DBURST cap on wrl_credit) */
+
+	/* maybe take from the reserve to make us nonnegative */
+	wrl_xfer_credit(&wrl_reserve,        0,
+			&domain->wrl_credit, 0);
+
+	/* return any surplus (over DBURST) to the reserve */
+	surplus = 0;
+	wrl_xfer_credit(&domain->wrl_credit, wrl_config_dburst,
+			&surplus,            WRL_CREDIT_MAX);
+	wrl_xfer_credit(&surplus,     0,
+			&wrl_reserve, wrl_config_gburst);
+	/* surplus is now implicitly discarded */
+
+	domain->wrl_timestamp = now;
+
+	trace_wrl("dom %4d %6ld msec %9ld credit  %9ld reserve %9ld discard\n",
+		  domain->domid, msec, (long)domain->wrl_credit,
+		  (long)wrl_reserve, (long)surplus);
+}
+
+void wrl_check_timeout(struct domain *domain,
+		       struct wrl_timestampt now,
+		       int *ptimeout)
+{
+	uint64_t num, denom;
+	int wakeup;
+
+	wrl_credit_update(domain, now);
+
+	if (domain->wrl_credit >= 0)
+		/* not blocked */
+		return;
+
+	if (!*ptimeout)
+		/* already decided on immediate wakeup,
+		   so no need to calculate our timeout */
+		return;
+
+	/* calculate  wakeup = now + -credit / (RATE / ndoms); */
+
+	/* credit cannot go more -ve than one transaction,
+	 * so the first multiplication cannot overflow even 32-bit */
+	num   = (uint64_t)(-domain->wrl_credit * 1000) * wrl_ndomains;
+	denom = wrl_config_rate;
+
+	wakeup = MIN( num / denom /* uint64_t */, INT_MAX );
+	if (*ptimeout==-1 || wakeup < *ptimeout)
+		*ptimeout = wakeup;
+
+	trace_wrl("domain %u credit=%ld (reserve=%ld) SLEEPING for %d\n",
+		  domain->domid, (long)domain->wrl_credit, (long)wrl_reserve,
+		  wakeup);
+}
+
+#define WRL_LOG(now, ...) \
+	(syslog(LOG_WARNING, "write rate limit: " __VA_ARGS__))
+
+void wrl_apply_debit_actual(struct domain *domain)
+{
+	struct wrl_timestampt now;
+
+	if (!domain || !domain_is_unprivileged(domain->conn))
+		/* sockets and privileged domain escape the write rate limit */
+		return;
+
+	wrl_gettime_now(&now);
+	wrl_credit_update(domain, now);
+
+	domain->wrl_credit -= wrl_config_writecost;
+	trace_wrl("domain %u credit=%ld (reserve=%ld)\n", domain->domid,
+		  (long)domain->wrl_credit, (long)wrl_reserve);
+
+	if (domain->wrl_credit < 0) {
+		if (!domain->wrl_delay_logged) {
+			domain->wrl_delay_logged = true;
+			WRL_LOG(now, "domain %ld is affected\n",
+				(long)domain->domid);
+		} else if (!wrl_log_last_warning) {
+			WRL_LOG(now, "rate limiting restarts\n");
+		}
+		wrl_log_last_warning = now.sec;
+	}
+}
+
+void wrl_log_periodic(struct wrl_timestampt now)
+{
+	if (wrl_log_last_warning &&
+	    (now.sec - wrl_log_last_warning) > WRL_LOGEVERY) {
+		WRL_LOG(now, "not in force recently\n");
+		wrl_log_last_warning = 0;
+	}
+}
+
+void wrl_apply_debit_direct(struct connection *conn)
+{
+	if (!conn)
+		/* some writes are generated internally */
+		return;
+
+	if (conn->transaction)
+		/* these are accounted for when the transaction ends */
+		return;
+
+	if (!wrl_ntransactions)
+		/* we don't conflict with anyone */
+		return;
+
+	wrl_apply_debit_actual(conn->domain);
+}
+
+void wrl_apply_debit_trans_commit(struct connection *conn)
+{
+	if (wrl_ntransactions <= 1)
+		/* our own transaction appears in the counter */
+		return;
+
+	wrl_apply_debit_actual(conn->domain);
+}
+
 static bool check_indexes(XENSTORE_RING_IDX cons, XENSTORE_RING_IDX prod)
 {
 	return ((prod - cons) <= XENSTORE_RING_SIZE);
@@ -1443,234 +1671,6 @@ unsigned int domain_transaction_get(struct connection *conn)
 		: 0;
 }
 
-static wrl_creditt wrl_config_writecost      = WRL_FACTOR;
-static wrl_creditt wrl_config_rate           = WRL_RATE   * WRL_FACTOR;
-static wrl_creditt wrl_config_dburst         = WRL_DBURST * WRL_FACTOR;
-static wrl_creditt wrl_config_gburst         = WRL_GBURST * WRL_FACTOR;
-static wrl_creditt wrl_config_newdoms_dburst =
-	                         WRL_DBURST * WRL_NEWDOMS * WRL_FACTOR;
-
-long wrl_ntransactions;
-
-static long wrl_ndomains;
-static wrl_creditt wrl_reserve; /* [-wrl_config_newdoms_dburst, +_gburst ] */
-static time_t wrl_log_last_warning; /* 0: no previous warning */
-
-#define trace_wrl(...)				\
-do {						\
-	if (trace_flags & TRACE_WRL)		\
-		trace("wrl: " __VA_ARGS__);	\
-} while (0)
-
-void wrl_gettime_now(struct wrl_timestampt *now_wt)
-{
-	struct timespec now_ts;
-	int r;
-
-	r = clock_gettime(CLOCK_MONOTONIC, &now_ts);
-	if (r)
-		barf_perror("Could not find time (clock_gettime failed)");
-
-	now_wt->sec = now_ts.tv_sec;
-	now_wt->msec = now_ts.tv_nsec / 1000000;
-}
-
-static void wrl_xfer_credit(wrl_creditt *debit,  wrl_creditt debit_floor,
-			    wrl_creditt *credit, wrl_creditt credit_ceil)
-	/*
-	 * Transfers zero or more credit from "debit" to "credit".
-	 * Transfers as much as possible while maintaining
-	 * debit >= debit_floor and credit <= credit_ceil.
-	 * (If that's violated already, does nothing.)
-	 *
-	 * Sufficient conditions to avoid overflow, either of:
-	 *  |every argument| <= 0x3fffffff
-	 *  |every argument| <= 1E9
-	 *  |every argument| <= WRL_CREDIT_MAX
-	 * (And this condition is preserved.)
-	 */
-{
-	wrl_creditt xfer = MIN( *debit      - debit_floor,
-			        credit_ceil - *credit      );
-	if (xfer > 0) {
-		*debit -= xfer;
-		*credit += xfer;
-	}
-}
-
-void wrl_domain_new(struct domain *domain)
-{
-	domain->wrl_credit = 0;
-	wrl_gettime_now(&domain->wrl_timestamp);
-	wrl_ndomains++;
-	/* Steal up to DBURST from the reserve */
-	wrl_xfer_credit(&wrl_reserve, -wrl_config_newdoms_dburst,
-			&domain->wrl_credit, wrl_config_dburst);
-}
-
-void wrl_domain_destroy(struct domain *domain)
-{
-	wrl_ndomains--;
-	/*
-	 * Don't bother recalculating domain's credit - this just
-	 * means we don't give the reserve the ending domain's credit
-	 * for time elapsed since last update.
-	 */
-	wrl_xfer_credit(&domain->wrl_credit, 0,
-			&wrl_reserve, wrl_config_dburst);
-}
-
-void wrl_credit_update(struct domain *domain, struct wrl_timestampt now)
-{
-	/*
-	 * We want to calculate
-	 *    credit += (now - timestamp) * RATE / ndoms;
-	 * But we want it to saturate, and to avoid floating point.
-	 * To avoid rounding errors from constantly adding small
-	 * amounts of credit, we only add credit for whole milliseconds.
-	 */
-	long seconds      = now.sec -  domain->wrl_timestamp.sec;
-	long milliseconds = now.msec - domain->wrl_timestamp.msec;
-	long msec;
-	int64_t denom, num;
-	wrl_creditt surplus;
-
-	seconds = MIN(seconds, 1000*1000); /* arbitrary, prevents overflow */
-	msec = seconds * 1000 + milliseconds;
-
-	if (msec < 0)
-                /* shouldn't happen with CLOCK_MONOTONIC */
-		msec = 0;
-
-	/* 32x32 -> 64 cannot overflow */
-	denom = (int64_t)msec * wrl_config_rate;
-	num  =  (int64_t)wrl_ndomains * 1000;
-	/* denom / num <= 1E6 * wrl_config_rate, so with
-	   reasonable wrl_config_rate, denom / num << 2^64 */
-
-	/* at last! */
-	domain->wrl_credit = MIN( (int64_t)domain->wrl_credit + denom / num,
-				  WRL_CREDIT_MAX );
-	/* (maybe briefly violating the DBURST cap on wrl_credit) */
-
-	/* maybe take from the reserve to make us nonnegative */
-	wrl_xfer_credit(&wrl_reserve,        0,
-			&domain->wrl_credit, 0);
-
-	/* return any surplus (over DBURST) to the reserve */
-	surplus = 0;
-	wrl_xfer_credit(&domain->wrl_credit, wrl_config_dburst,
-			&surplus,            WRL_CREDIT_MAX);
-	wrl_xfer_credit(&surplus,     0,
-			&wrl_reserve, wrl_config_gburst);
-	/* surplus is now implicitly discarded */
-
-	domain->wrl_timestamp = now;
-
-	trace_wrl("dom %4d %6ld msec %9ld credit %9ld reserve %9ld discard\n",
-		  domain->domid, msec, (long)domain->wrl_credit,
-		  (long)wrl_reserve, (long)surplus);
-}
-
-void wrl_check_timeout(struct domain *domain,
-		       struct wrl_timestampt now,
-		       int *ptimeout)
-{
-	uint64_t num, denom;
-	int wakeup;
-
-	wrl_credit_update(domain, now);
-
-	if (domain->wrl_credit >= 0)
-		/* not blocked */
-		return;
-
-	if (!*ptimeout)
-		/* already decided on immediate wakeup,
-		   so no need to calculate our timeout */
-		return;
-
-	/* calculate  wakeup = now + -credit / (RATE / ndoms); */
-
-	/* credit cannot go more -ve than one transaction,
-	 * so the first multiplication cannot overflow even 32-bit */
-	num   = (uint64_t)(-domain->wrl_credit * 1000) * wrl_ndomains;
-	denom = wrl_config_rate;
-
-	wakeup = MIN( num / denom /* uint64_t */, INT_MAX );
-	if (*ptimeout==-1 || wakeup < *ptimeout)
-		*ptimeout = wakeup;
-
-	trace_wrl("domain %u credit=%ld (reserve=%ld) SLEEPING for %d\n",
-		  domain->domid, (long)domain->wrl_credit, (long)wrl_reserve,
-		  wakeup);
-}
-
-#define WRL_LOG(now, ...) \
-	(syslog(LOG_WARNING, "write rate limit: " __VA_ARGS__))
-
-void wrl_apply_debit_actual(struct domain *domain)
-{
-	struct wrl_timestampt now;
-
-	if (!domain || !domid_is_unprivileged(domain->domid))
-		/* sockets and privileged domain escape the write rate limit */
-		return;
-
-	wrl_gettime_now(&now);
-	wrl_credit_update(domain, now);
-
-	domain->wrl_credit -= wrl_config_writecost;
-	trace_wrl("domain %u credit=%ld (reserve=%ld)\n", domain->domid,
-		  (long)domain->wrl_credit, (long)wrl_reserve);
-
-	if (domain->wrl_credit < 0) {
-		if (!domain->wrl_delay_logged) {
-			domain->wrl_delay_logged = true;
-			WRL_LOG(now, "domain %ld is affected\n",
-				(long)domain->domid);
-		} else if (!wrl_log_last_warning) {
-			WRL_LOG(now, "rate limiting restarts\n");
-		}
-		wrl_log_last_warning = now.sec;
-	}
-}
-
-void wrl_log_periodic(struct wrl_timestampt now)
-{
-	if (wrl_log_last_warning &&
-	    (now.sec - wrl_log_last_warning) > WRL_LOGEVERY) {
-		WRL_LOG(now, "not in force recently\n");
-		wrl_log_last_warning = 0;
-	}
-}
-
-void wrl_apply_debit_direct(struct connection *conn)
-{
-	if (!conn)
-		/* some writes are generated internally */
-		return;
-
-	if (conn->transaction)
-		/* these are accounted for when the transaction ends */
-		return;
-
-	if (!wrl_ntransactions)
-		/* we don't conflict with anyone */
-		return;
-
-	wrl_apply_debit_actual(conn->domain);
-}
-
-void wrl_apply_debit_trans_commit(struct connection *conn)
-{
-	if (wrl_ntransactions <= 1)
-		/* our own transaction appears in the counter */
-		return;
-
-	wrl_apply_debit_actual(conn->domain);
-}
-
 const char *dump_state_connections(FILE *fp)
 {
 	const char *ret = NULL;
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index b9e38abff5..8cd69d42ab 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -162,9 +162,6 @@ struct wrl_timestampt {
 extern long wrl_ntransactions;
 
 void wrl_gettime_now(struct wrl_timestampt *now_ts);
-void wrl_domain_new(struct domain *domain);
-void wrl_domain_destroy(struct domain *domain);
-void wrl_credit_update(struct domain *domain, struct wrl_timestampt now);
 void wrl_check_timeout(struct domain *domain,
                        struct wrl_timestampt now,
                        int *ptimeout);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:51:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:51:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516514.800753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnzj-0008OA-OM; Thu, 30 Mar 2023 08:50:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516514.800753; Thu, 30 Mar 2023 08: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 1phnzj-0008Nt-KU; Thu, 30 Mar 2023 08:50:55 +0000
Received: by outflank-mailman (input) for mailman id 516514;
 Thu, 30 Mar 2023 08:50: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnzi-0005fr-2q
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:50: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 fa911ab0-ced7-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:50:53 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 75E2D1FEAA;
 Thu, 30 Mar 2023 08:50: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 4AA7B138FF;
 Thu, 30 Mar 2023 08:50:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id hlzcEG1NJWRDIwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:50: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: fa911ab0-ced7-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166253; 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=eAHb8+QFjd5pkkPNHRs46idZapdPvMHUccr3ff2r5Dk=;
	b=VQiPEYFDNhYmB8OQVoK/9CWPHcjS0d4xwKwM+16jlaTU8Ajh+vamK3QFrQNB2VVhImis0D
	JKowpBqxphEuPUjezkyZD6HYyoRjGnklugh/8doRB3YnaoPC1jCBbHUsZSMp01bEt1v/Y2
	c6jMzFgG2ur6XFO6AOt2INwgjCFy+OE=
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 07/13] tools/xenstore: remove stale TODO file
Date: Thu, 30 Mar 2023 10:50:05 +0200
Message-Id: <20230330085011.9170-8-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330085011.9170-1-jgross@suse.com>
References: <20230330085011.9170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The TODO file is not really helpful any longer. It contains only
entries which no longer apply or it is unknown what they are meant
for ("Dynamic/supply nodes", "Remove assumption that rename doesn't
fail").

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/TODO | 10 ----------
 1 file changed, 10 deletions(-)
 delete mode 100644 tools/xenstore/TODO

diff --git a/tools/xenstore/TODO b/tools/xenstore/TODO
deleted file mode 100644
index 71d5bbbf50..0000000000
--- a/tools/xenstore/TODO
+++ /dev/null
@@ -1,10 +0,0 @@
-TODO in no particular order.  Some of these will never be done.  There
-are omissions of important but necessary things.  It is up to the
-reader to fill in the blanks.
-
-- Timeout failed watch responses
-- Dynamic/supply nodes
-- Persistant storage of introductions, watches and transactions, so daemon can restart
-- Remove assumption that rename doesn't fail
-- Multi-root transactions, for setting up front and back ends at same time.
-
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:51:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:51:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516517.800763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnzp-0000Qp-1p; Thu, 30 Mar 2023 08:51:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516517.800763; Thu, 30 Mar 2023 08:51:01 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnzo-0000Qc-UQ; Thu, 30 Mar 2023 08:51:00 +0000
Received: by outflank-mailman (input) for mailman id 516517;
 Thu, 30 Mar 2023 08:51: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnzn-0005fr-Vq
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:50:59 +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 fe16c54a-ced7-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:50:59 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5F97221B0D;
 Thu, 30 Mar 2023 08:50: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 2F3A1138FF;
 Thu, 30 Mar 2023 08:50:59 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Vhn1CXNNJWRLIwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08: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: fe16c54a-ced7-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166259; 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=T80cElhqLxq4rDBJa35Qe57b/vAHNK+lXXK39qwQ7f8=;
	b=AD2g/j7L31YdO58SaRadPox8D30vLPmjAsZ0YeTMmbSluay7kwuLjb4tFGySknN+kOpZ7D
	/SJHRn5jSeb1gIwuQ1ImYr8ejQS/rFcid7uXIeJtqhfX/DuF98jMuD5ejD3RzcnvOaB8P5
	jiRDaZBkOFeHTpdBg8D1taVcdmLA22s=
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 08/13] tools/xenstore: remove unused events list
Date: Thu, 30 Mar 2023 10:50:06 +0200
Message-Id: <20230330085011.9170-9-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330085011.9170-1-jgross@suse.com>
References: <20230330085011.9170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

struct watch contains an used struct list_head events. Remove it.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_watch.c | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/tools/xenstore/xenstored_watch.c b/tools/xenstore/xenstored_watch.c
index e8eb35de02..4195c59e17 100644
--- a/tools/xenstore/xenstored_watch.c
+++ b/tools/xenstore/xenstored_watch.c
@@ -36,9 +36,6 @@ struct watch
 	/* Watches on this connection */
 	struct list_head list;
 
-	/* Current outstanding events applying to this watch. */
-	struct list_head events;
-
 	/* Offset into path for skipping prefix (used for relative paths). */
 	unsigned int prefix_len;
 
@@ -205,8 +202,6 @@ static struct watch *add_watch(struct connection *conn, char *path, char *token,
 
 	watch->prefix_len = relative ? strlen(get_implicit_path(conn)) + 1 : 0;
 
-	INIT_LIST_HEAD(&watch->events);
-
 	domain_watch_inc(conn);
 	list_add_tail(&watch->list, &conn->watches);
 	talloc_set_destructor(watch, destroy_watch);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:51:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:51:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516512.800743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnzf-0007vt-CO; Thu, 30 Mar 2023 08:50:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516512.800743; Thu, 30 Mar 2023 08:50:51 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnzf-0007vk-8i; Thu, 30 Mar 2023 08:50:51 +0000
Received: by outflank-mailman (input) for mailman id 516512;
 Thu, 30 Mar 2023 08: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnze-0005Qp-0q
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:50:50 +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 f73eadf9-ced7-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 10:50:48 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id D977C1FEAA;
 Thu, 30 Mar 2023 08:50: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 A921A138FF;
 Thu, 30 Mar 2023 08:50:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 311oJ2dNJWQyIwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08: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: f73eadf9-ced7-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166247; 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=ZRzyXcBYIsQ+I9/0pFucQzlw0RZGeyj+n+0oBfMcYu8=;
	b=uwJ0wMqxECH81+WhDgVDnotKmk4+W9GsPICIIaVOvf50oLbSUbloJd45kxpToZesOXFkex
	rxSTN/paBvGZpOPZC/8pVA2Qf8uKYBJM3AbsToTGAO6jLZNIS2rAxHWFiT7O41p8P8HLmZ
	LfLWrRUG6B9DQUXUoBCGGM0h31zRqXE=
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 06/13] tools/xenstore: switch write limiting to use millisecond time base
Date: Thu, 30 Mar 2023 10:50:04 +0200
Message-Id: <20230330085011.9170-7-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330085011.9170-1-jgross@suse.com>
References: <20230330085011.9170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There is no need to keep struct wrl_timestampt, as it serves the same
purpose as the more simple time base provided by get_now().

Move some more stuff from xenstored_domain.h into xenstored_domain.c
as it is being used nowhere else.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/xenstored_core.c   |  8 ++---
 tools/xenstore/xenstored_core.h   |  7 ++--
 tools/xenstore/xenstored_domain.c | 56 +++++++++++++------------------
 tools/xenstore/xenstored_domain.h | 21 ++----------
 4 files changed, 32 insertions(+), 60 deletions(-)

diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index c5433e5b3f..6be2a3aa42 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -192,7 +192,7 @@ void reopen_log(void)
 	}
 }
 
-static uint64_t get_now_msec(void)
+uint64_t get_now_msec(void)
 {
 	struct timespec now_ts;
 
@@ -510,7 +510,6 @@ fail:
 static void initialize_fds(int *p_sock_pollfd_idx, int *ptimeout)
 {
 	struct connection *conn;
-	struct wrl_timestampt now;
 	uint64_t msecs;
 
 	if (fds)
@@ -530,13 +529,12 @@ static void initialize_fds(int *p_sock_pollfd_idx, int *ptimeout)
 		xce_pollfd_idx = set_fd(xenevtchn_fd(xce_handle),
 					POLLIN|POLLPRI);
 
-	wrl_gettime_now(&now);
-	wrl_log_periodic(now);
 	msecs = get_now_msec();
+	wrl_log_periodic(msecs);
 
 	list_for_each_entry(conn, &connections, list) {
 		if (conn->domain) {
-			wrl_check_timeout(conn->domain, now, ptimeout);
+			wrl_check_timeout(conn->domain, msecs, ptimeout);
 			check_event_timeout(conn, msecs, ptimeout);
 			if (conn_can_read(conn) ||
 			    (conn_can_write(conn) &&
diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h
index 92d5b50f3c..84a611cbb5 100644
--- a/tools/xenstore/xenstored_core.h
+++ b/tools/xenstore/xenstored_core.h
@@ -47,10 +47,6 @@
 /* DEFAULT_BUFFER_SIZE should be large enough for each errno string. */
 #define DEFAULT_BUFFER_SIZE 16
 
-typedef int32_t wrl_creditt;
-#define WRL_CREDIT_MAX (1000*1000*1000)
-/* ^ satisfies non-overflow condition for wrl_xfer_credit */
-
 struct xs_state_connection;
 
 struct buffered_data
@@ -320,6 +316,9 @@ extern bool keep_orphans;
 
 extern unsigned int timeout_watch_event_msec;
 
+/* Get internal time in milliseconds. */
+uint64_t get_now_msec(void);
+
 /* Map the kernel's xenstore page. */
 void *xenbus_map(void);
 void unmap_xenbus(void *interface);
diff --git a/tools/xenstore/xenstored_domain.c b/tools/xenstore/xenstored_domain.c
index 0a8353dad5..2fb142c5b3 100644
--- a/tools/xenstore/xenstored_domain.c
+++ b/tools/xenstore/xenstored_domain.c
@@ -99,6 +99,8 @@ struct quota soft_quotas[ACC_N] = {
 	},
 };
 
+typedef int32_t wrl_creditt;
+
 struct domain
 {
 	/* The id of this domain */
@@ -139,7 +141,7 @@ struct domain
 
 	/* write rate limit */
 	wrl_creditt wrl_credit; /* [ -wrl_config_writecost, +_dburst ] */
-	struct wrl_timestampt wrl_timestamp;
+	uint64_t wrl_timestamp;
 	bool wrl_delay_logged;
 };
 
@@ -159,6 +161,17 @@ struct changed_domain
 
 static struct hashtable *domhash;
 
+/* Write rate limiting */
+
+/* Satisfies non-overflow condition for wrl_xfer_credit. */
+#define WRL_CREDIT_MAX (1000*1000*1000)
+#define WRL_FACTOR     1000 /* for fixed-point arithmetic */
+#define WRL_RATE        200
+#define WRL_DBURST       10
+#define WRL_GBURST     1000
+#define WRL_NEWDOMS       5
+#define WRL_LOGEVERY    120 /* seconds */
+
 static wrl_creditt wrl_config_writecost      = WRL_FACTOR;
 static wrl_creditt wrl_config_rate           = WRL_RATE   * WRL_FACTOR;
 static wrl_creditt wrl_config_dburst         = WRL_DBURST * WRL_FACTOR;
@@ -178,19 +191,6 @@ do {						\
 		trace("wrl: " __VA_ARGS__);	\
 } while (0)
 
-void wrl_gettime_now(struct wrl_timestampt *now_wt)
-{
-	struct timespec now_ts;
-	int r;
-
-	r = clock_gettime(CLOCK_MONOTONIC, &now_ts);
-	if (r)
-		barf_perror("Could not find time (clock_gettime failed)");
-
-	now_wt->sec = now_ts.tv_sec;
-	now_wt->msec = now_ts.tv_nsec / 1000000;
-}
-
 static void wrl_xfer_credit(wrl_creditt *debit,  wrl_creditt debit_floor,
 			    wrl_creditt *credit, wrl_creditt credit_ceil)
 	/*
@@ -217,7 +217,7 @@ static void wrl_xfer_credit(wrl_creditt *debit,  wrl_creditt debit_floor,
 static void wrl_domain_new(struct domain *domain)
 {
 	domain->wrl_credit = 0;
-	wrl_gettime_now(&domain->wrl_timestamp);
+	domain->wrl_timestamp = get_now_msec();
 	wrl_ndomains++;
 	/* Steal up to DBURST from the reserve */
 	wrl_xfer_credit(&wrl_reserve, -wrl_config_newdoms_dburst,
@@ -236,7 +236,7 @@ static void wrl_domain_destroy(struct domain *domain)
 			&wrl_reserve, wrl_config_dburst);
 }
 
-static void wrl_credit_update(struct domain *domain, struct wrl_timestampt now)
+static void wrl_credit_update(struct domain *domain, uint64_t now)
 {
 	/*
 	 * We want to calculate
@@ -245,18 +245,12 @@ static void wrl_credit_update(struct domain *domain, struct wrl_timestampt now)
 	 * To avoid rounding errors from constantly adding small
 	 * amounts of credit, we only add credit for whole milliseconds.
 	 */
-	long seconds      = now.sec -  domain->wrl_timestamp.sec;
-	long milliseconds = now.msec - domain->wrl_timestamp.msec;
 	long msec;
 	int64_t denom, num;
 	wrl_creditt surplus;
 
-	seconds = MIN(seconds, 1000*1000); /* arbitrary, prevents overflow */
-	msec = seconds * 1000 + milliseconds;
-
-	if (msec < 0)
-                /* shouldn't happen with CLOCK_MONOTONIC */
-		msec = 0;
+	/* Prevent overflow by limiting to 32 bits. */
+	msec = MIN(now - domain->wrl_timestamp, 1000 * 1000 * 1000);
 
 	/* 32x32 -> 64 cannot overflow */
 	denom = (int64_t)msec * wrl_config_rate;
@@ -288,9 +282,7 @@ static void wrl_credit_update(struct domain *domain, struct wrl_timestampt now)
 		  (long)wrl_reserve, (long)surplus);
 }
 
-void wrl_check_timeout(struct domain *domain,
-		       struct wrl_timestampt now,
-		       int *ptimeout)
+void wrl_check_timeout(struct domain *domain, uint64_t now, int *ptimeout)
 {
 	uint64_t num, denom;
 	int wakeup;
@@ -327,13 +319,13 @@ void wrl_check_timeout(struct domain *domain,
 
 void wrl_apply_debit_actual(struct domain *domain)
 {
-	struct wrl_timestampt now;
+	uint64_t now;
 
 	if (!domain || !domain_is_unprivileged(domain->conn))
 		/* sockets and privileged domain escape the write rate limit */
 		return;
 
-	wrl_gettime_now(&now);
+	now = get_now_msec();
 	wrl_credit_update(domain, now);
 
 	domain->wrl_credit -= wrl_config_writecost;
@@ -348,14 +340,14 @@ void wrl_apply_debit_actual(struct domain *domain)
 		} else if (!wrl_log_last_warning) {
 			WRL_LOG(now, "rate limiting restarts\n");
 		}
-		wrl_log_last_warning = now.sec;
+		wrl_log_last_warning = now / 1000;
 	}
 }
 
-void wrl_log_periodic(struct wrl_timestampt now)
+void wrl_log_periodic(uint64_t now)
 {
 	if (wrl_log_last_warning &&
-	    (now.sec - wrl_log_last_warning) > WRL_LOGEVERY) {
+	    (now / 1000 - wrl_log_last_warning) > WRL_LOGEVERY) {
 		WRL_LOG(now, "not in force recently\n");
 		wrl_log_last_warning = 0;
 	}
diff --git a/tools/xenstore/xenstored_domain.h b/tools/xenstore/xenstored_domain.h
index 8cd69d42ab..f9ee0bd141 100644
--- a/tools/xenstore/xenstored_domain.h
+++ b/tools/xenstore/xenstored_domain.h
@@ -145,27 +145,10 @@ void domain_reset_global_acc(void);
 bool domain_max_chk(const struct connection *conn, unsigned int what,
 		    unsigned int val);
 
-/* Write rate limiting */
-
-#define WRL_FACTOR   1000 /* for fixed-point arithmetic */
-#define WRL_RATE      200
-#define WRL_DBURST     10
-#define WRL_GBURST   1000
-#define WRL_NEWDOMS     5
-#define WRL_LOGEVERY  120 /* seconds */
-
-struct wrl_timestampt {
-	time_t sec;
-	int msec;
-};
-
 extern long wrl_ntransactions;
 
-void wrl_gettime_now(struct wrl_timestampt *now_ts);
-void wrl_check_timeout(struct domain *domain,
-                       struct wrl_timestampt now,
-                       int *ptimeout);
-void wrl_log_periodic(struct wrl_timestampt now);
+void wrl_check_timeout(struct domain *domain, uint64_t now, int *ptimeout);
+void wrl_log_periodic(uint64_t now);
 void wrl_apply_debit_direct(struct connection *conn);
 void wrl_apply_debit_trans_commit(struct connection *conn);
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:51:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:51:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516521.800773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnzx-000134-AW; Thu, 30 Mar 2023 08:51:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516521.800773; Thu, 30 Mar 2023 08:51:09 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phnzx-00012A-6b; Thu, 30 Mar 2023 08:51:09 +0000
Received: by outflank-mailman (input) for mailman id 516521;
 Thu, 30 Mar 2023 08:51: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnzv-0005Qp-90
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:51:07 +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 018071f1-ced8-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 10:51:05 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 15DDB21B0D;
 Thu, 30 Mar 2023 08:51: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 DC573138FF;
 Thu, 30 Mar 2023 08:51:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id poWMNHhNJWRcIwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:51:04 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 018071f1-ced8-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166265; 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=IKAu+O48PLg3XO94zi8bHJvfv1O8cLs67CyWNbGEDfo=;
	b=Xao28aq2UxzLXBiN89YmjAr9pmPSxuysP0GiDIwIqp44OEfCxR2+OtUB5Bd2YPYoZ8s4w4
	3oPwxMZgGHNdHV9A4pFXFMP+gqewvXLX1jROt9JCqd9dKhfTJLSaB9BUR+Tbf1BbaxqaG8
	04X7IJBFbzuCbK2uSVwxLWXNJyVsqQk=
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 09/13] tools/xenstore: remove support of file backed data base
Date: Thu, 30 Mar 2023 10:50:07 +0200
Message-Id: <20230330085011.9170-10-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330085011.9170-1-jgross@suse.com>
References: <20230330085011.9170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to prepare the replacement of TDB with direct accessible nodes
in memory, remove the support for a file backed data base.

This allows to remove xs_tdb_dump, too.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/Makefile         |  5 +-
 tools/xenstore/xenstored_core.c | 18 ++-----
 tools/xenstore/xs_tdb_dump.c    | 86 ---------------------------------
 3 files changed, 4 insertions(+), 105 deletions(-)
 delete mode 100644 tools/xenstore/xs_tdb_dump.c

diff --git a/tools/xenstore/Makefile b/tools/xenstore/Makefile
index ce7a68178f..56723139a1 100644
--- a/tools/xenstore/Makefile
+++ b/tools/xenstore/Makefile
@@ -29,7 +29,7 @@ CLIENTS += xenstore-write xenstore-ls xenstore-watch
 
 TARGETS := xenstore $(CLIENTS) xenstore-control
 ifeq ($(XENSTORE_XENSTORED),y)
-TARGETS += xs_tdb_dump xenstored
+TARGETS += xenstored
 endif
 
 .PHONY: all
@@ -50,9 +50,6 @@ xenstore: xenstore_client.o xs_lib.o
 xenstore-control: xenstore_control.o
 	$(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ $(APPEND_LDFLAGS)
 
-xs_tdb_dump: xs_tdb_dump.o utils.o tdb.o talloc.o
-	$(CC) $(LDFLAGS) $^ -o $@ $(APPEND_LDFLAGS)
-
 .PHONY: clean
 clean::
 	$(RM) $(TARGETS) $(DEPS_RM)
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index 6be2a3aa42..e16d0a6d53 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -2291,8 +2291,6 @@ static void accept_connection(int sock)
 }
 #endif
 
-static int tdb_flags = TDB_INTERNAL | TDB_NOLOCK;
-
 /* We create initial nodes manually. */
 static void manual_node(const char *name, const char *child)
 {
@@ -2344,14 +2342,11 @@ void setup_structure(bool live_update)
 {
 	char *tdbname;
 
-	tdbname = talloc_strdup(talloc_autofree_context(), xs_daemon_tdb());
+	tdbname = talloc_strdup(talloc_autofree_context(), "/dev/mem");
 	if (!tdbname)
 		barf_perror("Could not create tdbname");
 
-	if (!(tdb_flags & TDB_INTERNAL))
-		unlink(tdbname);
-
-	tdb_ctx = tdb_open_ex(tdbname, 7919, tdb_flags,
+	tdb_ctx = tdb_open_ex(tdbname, 7919, TDB_INTERNAL | TDB_NOLOCK,
 			      O_RDWR | O_CREAT | O_EXCL | O_CLOEXEC,
 			      0640, &tdb_logger, NULL);
 	if (!tdb_ctx)
@@ -2649,8 +2644,6 @@ static void usage(void)
 "                          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"
-"  -I, --internal-db [on|off] store database in memory, not on disk, default is\n"
-"                          memory, with \"--internal-db off\" it is on disk\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");
@@ -2677,7 +2670,6 @@ static struct option options[] = {
 	{ "quota-soft", 1, NULL, 'q' },
 	{ "timeout", 1, NULL, 'w' },
 	{ "no-recovery", 0, NULL, 'R' },
-	{ "internal-db", 2, NULL, 'I' },
 	{ "keep-orphans", 0, NULL, 'K' },
 	{ "verbose", 0, NULL, 'V' },
 	{ "watch-nb", 1, NULL, 'W' },
@@ -2800,7 +2792,7 @@ int main(int argc, char *argv[])
 	orig_argv = argv;
 
 	while ((opt = getopt_long(argc, argv,
-				  "DE:F:HI::KNPS:t:A:M:Q:q:T:RVW:w:U",
+				  "DE:F:H::KNPS:t:A:M:Q:q:T:RVW:w:U",
 				  options, NULL)) != -1) {
 		switch (opt) {
 		case 'D':
@@ -2837,10 +2829,6 @@ int main(int argc, char *argv[])
 			if (set_trace_switch(optarg))
 				barf("Illegal trace switch \"%s\"\n", optarg);
 			break;
-		case 'I':
-			if (optarg && !strcmp(optarg, "off"))
-				tdb_flags = 0;
-			break;
 		case 'K':
 			keep_orphans = true;
 			break;
diff --git a/tools/xenstore/xs_tdb_dump.c b/tools/xenstore/xs_tdb_dump.c
deleted file mode 100644
index 5d2db392b4..0000000000
--- a/tools/xenstore/xs_tdb_dump.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Simple program to dump out all records of TDB */
-#include <stdint.h>
-#include <stdlib.h>
-#include <fcntl.h>
-#include <stdio.h>
-#include <stdarg.h>
-#include <string.h>
-#include <sys/types.h>
-#include "xenstore_lib.h"
-#include "tdb.h"
-#include "talloc.h"
-#include "utils.h"
-
-static uint32_t total_size(struct xs_tdb_record_hdr *hdr)
-{
-	return sizeof(*hdr) + hdr->num_perms * sizeof(struct xs_permissions) 
-		+ hdr->datalen + hdr->childlen;
-}
-
-static char perm_to_char(unsigned int perm)
-{
-	return perm == XS_PERM_READ ? 'r' :
-		perm == XS_PERM_WRITE ? 'w' :
-		perm == XS_PERM_NONE ? '-' :
-		perm == (XS_PERM_READ|XS_PERM_WRITE) ? 'b' :
-		'?';
-}
-
-static void tdb_logger(TDB_CONTEXT *tdb, int level, const char * fmt, ...)
-{
-	va_list ap;
-
-	va_start(ap, fmt);
-	vfprintf(stderr, fmt, ap);
-	va_end(ap);
-}
-
-int main(int argc, char *argv[])
-{
-	TDB_DATA key;
-	TDB_CONTEXT *tdb;
-
-	if (argc != 2)
-		barf("Usage: xs_tdb_dump <tdbfile>");
-
-	tdb = tdb_open_ex(talloc_strdup(NULL, argv[1]), 0, 0, O_RDONLY, 0,
-			  &tdb_logger, NULL);
-	if (!tdb)
-		barf_perror("Could not open %s", argv[1]);
-
-	key = tdb_firstkey(tdb);
-	while (key.dptr) {
-		TDB_DATA data;
-		struct xs_tdb_record_hdr *hdr;
-
-		data = tdb_fetch(tdb, key);
-		hdr = (void *)data.dptr;
-		if (data.dsize < sizeof(*hdr))
-			fprintf(stderr, "%.*s: BAD truncated\n",
-				(int)key.dsize, key.dptr);
-		else if (data.dsize != total_size(hdr))
-			fprintf(stderr, "%.*s: BAD length %zu for %u/%u/%u (%u)\n",
-				(int)key.dsize, key.dptr, data.dsize,
-				hdr->num_perms, hdr->datalen,
-				hdr->childlen, total_size(hdr));
-		else {
-			unsigned int i;
-			char *p;
-
-			printf("%.*s: ", (int)key.dsize, key.dptr);
-			for (i = 0; i < hdr->num_perms; i++)
-				printf("%s%c%u",
-				       i == 0 ? "" : ",",
-				       perm_to_char(hdr->perms[i].perms),
-				       hdr->perms[i].id);
-			p = (void *)&hdr->perms[hdr->num_perms];
-			printf(" %.*s\n", hdr->datalen, p);
-			p += hdr->datalen;
-			for (i = 0; i < hdr->childlen; i += strlen(p+i)+1)
-				printf("\t-> %s\n", p+i);
-		}
-		key = tdb_nextkey(tdb, key);
-	}
-	return 0;
-}
-
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:51:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:51:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516527.800783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pho0D-00022c-LO; Thu, 30 Mar 2023 08:51:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516527.800783; Thu, 30 Mar 2023 08:51:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pho0D-00021d-HT; Thu, 30 Mar 2023 08:51:25 +0000
Received: by outflank-mailman (input) for mailman id 516527;
 Thu, 30 Mar 2023 08:51:25 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pho0C-0005Qp-Nk
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:51: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 0b916d88-ced8-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 10:51:22 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id EE52A1FEAA;
 Thu, 30 Mar 2023 08:51: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 B9BB2138FF;
 Thu, 30 Mar 2023 08:51:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id NbzmK4lNJWR3IwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:51: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: 0b916d88-ced8-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166281; 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=HVRwBPRCNdBEJy67m+yudS9lbg/8d/q4E24a/0jlcgQ=;
	b=TyxL24SGpH8Y0jnXq6r4e3ftuV/ZYXbGpu2e0D06cGazE/vZLBU7JEHWtGfe8BVSL1vO4e
	mGf7A3cteP8pPVuQoJlKgwEUSYa8jDpyn/TQdBvmUZqO/GGuBBpaJbwLJ8rvCAYFpq6y6G
	HUIwcBQSQ1Jl3NRrAMyGFJc63+sCqW4=
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 12/13] tools/xenstore: split out rest of live update control code
Date: Thu, 30 Mar 2023 10:50:10 +0200
Message-Id: <20230330085011.9170-13-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330085011.9170-1-jgross@suse.com>
References: <20230330085011.9170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move the rest of live update related code from xenstored_control.c to
a dedicated new source file.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/Makefile.common     |   2 +-
 tools/xenstore/xenstored_control.c | 409 -----------------------------
 tools/xenstore/xenstored_control.h |   8 -
 tools/xenstore/xenstored_core.c    |   1 +
 tools/xenstore/xenstored_lu.c      | 401 ++++++++++++++++++++++++++++
 tools/xenstore/xenstored_lu.h      |  25 ++
 6 files changed, 428 insertions(+), 418 deletions(-)
 create mode 100644 tools/xenstore/xenstored_lu.c

diff --git a/tools/xenstore/Makefile.common b/tools/xenstore/Makefile.common
index dffab34603..2befede03d 100644
--- a/tools/xenstore/Makefile.common
+++ b/tools/xenstore/Makefile.common
@@ -1,7 +1,7 @@
 # Makefile shared with stubdom
 
 XENSTORED_OBJS-y := xenstored_core.o xenstored_watch.o xenstored_domain.o
-XENSTORED_OBJS-y += xenstored_transaction.o xenstored_control.o
+XENSTORED_OBJS-y += xenstored_transaction.o xenstored_control.o xenstored_lu.o
 XENSTORED_OBJS-y += xs_lib.o talloc.o utils.o tdb.o hashtable.o
 
 XENSTORED_OBJS-$(CONFIG_Linux) += xenstored_posix.o xenstored_lu_daemon.o
diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstore/xenstored_control.c
index c9e5766954..4d66e61b2c 100644
--- a/tools/xenstore/xenstored_control.c
+++ b/tools/xenstore/xenstored_control.c
@@ -16,21 +16,13 @@
     along with this program; If not, see <http://www.gnu.org/licenses/>.
 */
 
-#include <assert.h>
-#include <ctype.h>
 #include <errno.h>
 #include <stdarg.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
-#include <syslog.h>
-#include <time.h>
 #include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-#include <fcntl.h>
 #include <unistd.h>
-#include <xenctrl.h>
 
 #include "utils.h"
 #include "talloc.h"
@@ -39,69 +31,6 @@
 #include "xenstored_control.h"
 #include "xenstored_domain.h"
 #include "xenstored_lu.h"
-#include "xenstored_watch.h"
-
-#ifndef NO_LIVE_UPDATE
-struct live_update *lu_status;
-
-const char *lu_begin(struct connection *conn)
-{
-	if (lu_status)
-		return "live-update session already active.";
-
-	lu_status = talloc_zero(conn, struct live_update);
-	if (!lu_status)
-		return "Allocation failure.";
-	lu_status->conn = conn;
-	talloc_set_destructor(lu_status, lu_destroy);
-
-	return NULL;
-}
-
-struct connection *lu_get_connection(void)
-{
-	return lu_status ? lu_status->conn : NULL;
-}
-
-unsigned int lu_write_response(FILE *fp)
-{
-	struct xsd_sockmsg msg;
-
-	assert(lu_status);
-
-	msg = lu_status->in->hdr.msg;
-
-	msg.len = sizeof("OK");
-	if (fp && fwrite(&msg, sizeof(msg), 1, fp) != 1)
-		return 0;
-	if (fp && fwrite("OK", msg.len, 1, fp) != 1)
-		return 0;
-
-	return sizeof(msg) + msg.len;
-}
-
-bool lu_is_pending(void)
-{
-	return lu_status != NULL;
-}
-
-#else
-struct connection *lu_get_connection(void)
-{
-	return NULL;
-}
-
-unsigned int lu_write_response(FILE *fp)
-{
-	/* Unsupported */
-	return 0;
-}
-
-bool lu_is_pending(void)
-{
-	return false;
-}
-#endif
 
 struct cmd_s {
 	char *cmd;
@@ -352,344 +281,6 @@ static int do_control_print(const void *ctx, struct connection *conn,
 	return 0;
 }
 
-#ifndef NO_LIVE_UPDATE
-static const char *lu_abort(const void *ctx, struct connection *conn)
-{
-	syslog(LOG_INFO, "live-update: abort\n");
-
-	if (!lu_status)
-		return "No live-update session active.";
-
-	/* Destructor will do the real abort handling. */
-	talloc_free(lu_status);
-
-	return NULL;
-}
-
-static const char *lu_cmdline(const void *ctx, struct connection *conn,
-			      const char *cmdline)
-{
-	syslog(LOG_INFO, "live-update: cmdline %s\n", cmdline);
-
-	if (!lu_status || lu_status->conn != conn)
-		return "Not in live-update session.";
-
-	lu_status->cmdline = talloc_strdup(lu_status, cmdline);
-	if (!lu_status->cmdline)
-		return "Allocation failure.";
-
-	return NULL;
-}
-
-static bool lu_check_lu_allowed(void)
-{
-	struct connection *conn;
-	time_t now = time(NULL);
-	unsigned int ta_total = 0, ta_long = 0;
-
-	list_for_each_entry(conn, &connections, list) {
-		if (conn->ta_start_time) {
-			ta_total++;
-			if (now - conn->ta_start_time >= lu_status->timeout)
-				ta_long++;
-		}
-	}
-
-	/*
-	 * Allow LiveUpdate if one of the following conditions is met:
-	 *	- There is no active transactions
-	 *	- All transactions are long running (e.g. they have been
-	 *	active for more than lu_status->timeout sec) and the admin as
-	 *	requested to force the operation.
-	 */
-	return ta_total ? (lu_status->force && ta_long == ta_total) : true;
-}
-
-static const char *lu_reject_reason(const void *ctx)
-{
-	char *ret = NULL;
-	struct connection *conn;
-	time_t now = time(NULL);
-
-	list_for_each_entry(conn, &connections, list) {
-		if (conn->ta_start_time &&
-		    (now - conn->ta_start_time >= lu_status->timeout)) {
-			ret = talloc_asprintf(ctx, "%s\nDomain %u: %ld s",
-					      ret ? : "Domains with long running transactions:",
-					      conn->id,
-					      now - conn->ta_start_time);
-		}
-	}
-
-	return ret ? (const char *)ret : "Overlapping transactions";
-}
-
-static const char *lu_dump_state(const void *ctx, struct connection *conn)
-{
-	FILE *fp;
-	const char *ret;
-	struct xs_state_record_header end;
-	struct xs_state_preamble pre;
-
-	fp = lu_dump_open(ctx);
-	if (!fp)
-		return "Dump state open error";
-
-	memcpy(pre.ident, XS_STATE_IDENT, sizeof(pre.ident));
-	pre.version = htobe32(XS_STATE_VERSION);
-	pre.flags = XS_STATE_FLAGS;
-	if (fwrite(&pre, sizeof(pre), 1, fp) != 1) {
-		ret = "Dump write error";
-		goto out;
-	}
-
-	ret = dump_state_global(fp);
-	if (ret)
-		goto out;
-	ret = dump_state_connections(fp);
-	if (ret)
-		goto out;
-	ret = dump_state_nodes(fp, ctx);
-	if (ret)
-		goto out;
-
-	end.type = XS_STATE_TYPE_END;
-	end.length = 0;
-	if (fwrite(&end, sizeof(end), 1, fp) != 1)
-		ret = "Dump write error";
-
- out:
-	lu_dump_close(fp);
-
-	return ret;
-}
-
-void lu_read_state(void)
-{
-	struct lu_dump_state state = {};
-	struct xs_state_record_header *head;
-	void *ctx = talloc_new(NULL); /* Work context for subfunctions. */
-	struct xs_state_preamble *pre;
-
-	syslog(LOG_INFO, "live-update: read state\n");
-	lu_get_dump_state(&state);
-	if (state.size == 0)
-		barf_perror("No state found after live-update");
-
-	pre = state.buf;
-	if (memcmp(pre->ident, XS_STATE_IDENT, sizeof(pre->ident)) ||
-	    pre->version != htobe32(XS_STATE_VERSION) ||
-	    pre->flags != XS_STATE_FLAGS)
-		barf("Unknown record identifier");
-	for (head = state.buf + sizeof(*pre);
-	     head->type != XS_STATE_TYPE_END &&
-		(void *)head - state.buf < state.size;
-	     head = (void *)head + sizeof(*head) + head->length) {
-		switch (head->type) {
-		case XS_STATE_TYPE_GLOBAL:
-			read_state_global(ctx, head + 1);
-			break;
-		case XS_STATE_TYPE_CONN:
-			read_state_connection(ctx, head + 1);
-			break;
-		case XS_STATE_TYPE_WATCH:
-			read_state_watch(ctx, head + 1);
-			break;
-		case XS_STATE_TYPE_TA:
-			xprintf("live-update: ignore transaction record\n");
-			break;
-		case XS_STATE_TYPE_NODE:
-			read_state_node(ctx, head + 1);
-			break;
-		default:
-			xprintf("live-update: unknown state record %08x\n",
-				head->type);
-			break;
-		}
-	}
-
-	lu_close_dump_state(&state);
-
-	talloc_free(ctx);
-
-	/*
-	 * We may have missed the VIRQ_DOM_EXC notification and a domain may
-	 * have died while we were live-updating. So check all the domains are
-	 * still alive.
-	 */
-	check_domains();
-}
-
-static const char *lu_activate_binary(const void *ctx)
-{
-	int argc;
-	char **argv;
-	unsigned int i;
-
-	if (lu_status->cmdline) {
-		argc = 4;   /* At least one arg + progname + "-U" + NULL. */
-		for (i = 0; lu_status->cmdline[i]; i++)
-			if (isspace(lu_status->cmdline[i]))
-				argc++;
-		argv = talloc_array(ctx, char *, argc);
-		if (!argv)
-			return "Allocation failure.";
-
-		i = 0;
-		argc = 1;
-		argv[1] = strtok(lu_status->cmdline, " \t");
-		while (argv[argc]) {
-			if (!strcmp(argv[argc], "-U"))
-				i = 1;
-			argc++;
-			argv[argc] = strtok(NULL, " \t");
-		}
-
-		if (!i) {
-			argv[argc++] = "-U";
-			argv[argc] = NULL;
-		}
-	} else {
-		for (i = 0; i < orig_argc; i++)
-			if (!strcmp(orig_argv[i], "-U"))
-				break;
-
-		argc = orig_argc;
-		argv = talloc_array(ctx, char *, orig_argc + 2);
-		if (!argv)
-			return "Allocation failure.";
-
-		memcpy(argv, orig_argv, orig_argc * sizeof(*argv));
-		if (i == orig_argc)
-			argv[argc++] = "-U";
-		argv[argc] = NULL;
-	}
-
-	domain_deinit();
-
-	return lu_exec(ctx, argc, argv);
-}
-
-static bool do_lu_start(struct delayed_request *req)
-{
-	time_t now = time(NULL);
-	const char *ret;
-	struct buffered_data *saved_in;
-	struct connection *conn = req->data;
-
-	/*
-	 * Cancellation may have been requested asynchronously. In this
-	 * case, lu_status will be NULL.
-	 */
-	if (!lu_status) {
-		ret = "Cancellation was requested";
-		goto out;
-	}
-
-	assert(lu_status->conn == conn);
-
-	if (!lu_check_lu_allowed()) {
-		if (now < lu_status->started_at + lu_status->timeout)
-			return false;
-		if (!lu_status->force) {
-			ret = lu_reject_reason(req);
-			goto out;
-		}
-	}
-
-	assert(req->in == lu_status->in);
-	/* Dump out internal state, including "OK" for live update. */
-	ret = lu_dump_state(req->in, conn);
-	if (!ret) {
-		/* Perform the activation of new binary. */
-		ret = lu_activate_binary(req->in);
-	}
-
-	/* We will reach this point only in case of failure. */
- out:
-	/*
-	 * send_reply() will send the response for conn->in. Save the current
-	 * conn->in and restore it afterwards.
-	 */
-	saved_in = conn->in;
-	conn->in = req->in;
-	send_reply(conn, XS_CONTROL, ret, strlen(ret) + 1);
-	conn->in = saved_in;
-	talloc_free(lu_status);
-
-	return true;
-}
-
-static const char *lu_start(const void *ctx, struct connection *conn,
-			    bool force, unsigned int to)
-{
-	syslog(LOG_INFO, "live-update: start, force=%d, to=%u\n", force, to);
-
-	if (!lu_status || lu_status->conn != conn)
-		return "Not in live-update session.";
-
-#ifdef __MINIOS__
-	if (lu_status->kernel_size != lu_status->kernel_off)
-		return "Kernel not complete.";
-#endif
-
-	lu_status->force = force;
-	lu_status->timeout = to;
-	lu_status->started_at = time(NULL);
-	lu_status->in = conn->in;
-
-	errno = delay_request(conn, conn->in, do_lu_start, conn, false);
-
-	return NULL;
-}
-
-static int do_control_lu(const void *ctx, struct connection *conn,
-			 char **vec, int num)
-{
-	const char *ret = NULL;
-	unsigned int i;
-	bool force = false;
-	unsigned int to = 0;
-
-	if (num < 1)
-		return EINVAL;
-
-	if (!strcmp(vec[0], "-a")) {
-		if (num == 1)
-			ret = lu_abort(ctx, conn);
-		else
-			return EINVAL;
-	} else if (!strcmp(vec[0], "-c")) {
-		if (num == 2)
-			ret = lu_cmdline(ctx, conn, vec[1]);
-		else
-			return EINVAL;
-	} else if (!strcmp(vec[0], "-s")) {
-		for (i = 1; i < num; i++) {
-			if (!strcmp(vec[i], "-F"))
-				force = true;
-			else if (!strcmp(vec[i], "-t") && i < num - 1) {
-				i++;
-				to = atoi(vec[i]);
-			} else
-				return EINVAL;
-		}
-		ret = lu_start(ctx, conn, force, to);
-		if (!ret)
-			return errno;
-	} else {
-		ret = lu_arch(ctx, conn, vec, num);
-		if (!ret && errno)
-			return errno;
-	}
-
-	if (!ret)
-		ret = "OK";
-	send_reply(conn, XS_CONTROL, ret, strlen(ret) + 1);
-	return 0;
-}
-#endif
-
 static int do_control_help(const void *, struct connection *, char **, int);
 
 static struct cmd_s cmds[] = {
diff --git a/tools/xenstore/xenstored_control.h b/tools/xenstore/xenstored_control.h
index a8cb76559b..faa955968d 100644
--- a/tools/xenstore/xenstored_control.h
+++ b/tools/xenstore/xenstored_control.h
@@ -18,11 +18,3 @@
 
 int do_control(const void *ctx, struct connection *conn,
 	       struct buffered_data *in);
-void lu_read_state(void);
-
-struct connection *lu_get_connection(void);
-
-/* Write the "OK" response for the live-update command */
-unsigned int lu_write_response(FILE *fp);
-
-bool lu_is_pending(void);
diff --git a/tools/xenstore/xenstored_core.c b/tools/xenstore/xenstored_core.c
index e16d0a6d53..3842e122ce 100644
--- a/tools/xenstore/xenstored_core.c
+++ b/tools/xenstore/xenstored_core.c
@@ -52,6 +52,7 @@
 #include "xenstored_transaction.h"
 #include "xenstored_domain.h"
 #include "xenstored_control.h"
+#include "xenstored_lu.h"
 #include "tdb.h"
 
 #ifndef NO_SOCKETS
diff --git a/tools/xenstore/xenstored_lu.c b/tools/xenstore/xenstored_lu.c
new file mode 100644
index 0000000000..cfd6d5cee2
--- /dev/null
+++ b/tools/xenstore/xenstored_lu.c
@@ -0,0 +1,401 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+/*
+ * Live Update interfaces for Xen Store Daemon.
+ * Copyright (C) 2022 Juergen Gross, SUSE LLC
+ */
+
+#include <assert.h>
+#include <ctype.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <syslog.h>
+#include <time.h>
+
+#include "talloc.h"
+#include "xs_lib.h"
+#include "xenstored_core.h"
+#include "xenstored_domain.h"
+#include "xenstored_lu.h"
+#include "xenstored_watch.h"
+
+#ifndef NO_LIVE_UPDATE
+struct live_update *lu_status;
+
+const char *lu_begin(struct connection *conn)
+{
+	if (lu_status)
+		return "live-update session already active.";
+
+	lu_status = talloc_zero(conn, struct live_update);
+	if (!lu_status)
+		return "Allocation failure.";
+	lu_status->conn = conn;
+	talloc_set_destructor(lu_status, lu_destroy);
+
+	return NULL;
+}
+
+struct connection *lu_get_connection(void)
+{
+	return lu_status ? lu_status->conn : NULL;
+}
+
+unsigned int lu_write_response(FILE *fp)
+{
+	struct xsd_sockmsg msg;
+
+	assert(lu_status);
+
+	msg = lu_status->in->hdr.msg;
+
+	msg.len = sizeof("OK");
+	if (fp && fwrite(&msg, sizeof(msg), 1, fp) != 1)
+		return 0;
+	if (fp && fwrite("OK", msg.len, 1, fp) != 1)
+		return 0;
+
+	return sizeof(msg) + msg.len;
+}
+
+bool lu_is_pending(void)
+{
+	return lu_status != NULL;
+}
+
+void lu_read_state(void)
+{
+	struct lu_dump_state state = {};
+	struct xs_state_record_header *head;
+	void *ctx = talloc_new(NULL); /* Work context for subfunctions. */
+	struct xs_state_preamble *pre;
+
+	syslog(LOG_INFO, "live-update: read state\n");
+	lu_get_dump_state(&state);
+	if (state.size == 0)
+		barf_perror("No state found after live-update");
+
+	pre = state.buf;
+	if (memcmp(pre->ident, XS_STATE_IDENT, sizeof(pre->ident)) ||
+	    pre->version != htobe32(XS_STATE_VERSION) ||
+	    pre->flags != XS_STATE_FLAGS)
+		barf("Unknown record identifier");
+	for (head = state.buf + sizeof(*pre);
+	     head->type != XS_STATE_TYPE_END &&
+		(void *)head - state.buf < state.size;
+	     head = (void *)head + sizeof(*head) + head->length) {
+		switch (head->type) {
+		case XS_STATE_TYPE_GLOBAL:
+			read_state_global(ctx, head + 1);
+			break;
+		case XS_STATE_TYPE_CONN:
+			read_state_connection(ctx, head + 1);
+			break;
+		case XS_STATE_TYPE_WATCH:
+			read_state_watch(ctx, head + 1);
+			break;
+		case XS_STATE_TYPE_TA:
+			xprintf("live-update: ignore transaction record\n");
+			break;
+		case XS_STATE_TYPE_NODE:
+			read_state_node(ctx, head + 1);
+			break;
+		default:
+			xprintf("live-update: unknown state record %08x\n",
+				head->type);
+			break;
+		}
+	}
+
+	lu_close_dump_state(&state);
+
+	talloc_free(ctx);
+
+	/*
+	 * We may have missed the VIRQ_DOM_EXC notification and a domain may
+	 * have died while we were live-updating. So check all the domains are
+	 * still alive.
+	 */
+	check_domains();
+}
+
+static const char *lu_abort(const void *ctx, struct connection *conn)
+{
+	syslog(LOG_INFO, "live-update: abort\n");
+
+	if (!lu_status)
+		return "No live-update session active.";
+
+	/* Destructor will do the real abort handling. */
+	talloc_free(lu_status);
+
+	return NULL;
+}
+
+static const char *lu_cmdline(const void *ctx, struct connection *conn,
+			      const char *cmdline)
+{
+	syslog(LOG_INFO, "live-update: cmdline %s\n", cmdline);
+
+	if (!lu_status || lu_status->conn != conn)
+		return "Not in live-update session.";
+
+	lu_status->cmdline = talloc_strdup(lu_status, cmdline);
+	if (!lu_status->cmdline)
+		return "Allocation failure.";
+
+	return NULL;
+}
+
+static bool lu_check_lu_allowed(void)
+{
+	struct connection *conn;
+	time_t now = time(NULL);
+	unsigned int ta_total = 0, ta_long = 0;
+
+	list_for_each_entry(conn, &connections, list) {
+		if (conn->ta_start_time) {
+			ta_total++;
+			if (now - conn->ta_start_time >= lu_status->timeout)
+				ta_long++;
+		}
+	}
+
+	/*
+	 * Allow LiveUpdate if one of the following conditions is met:
+	 *	- There is no active transactions
+	 *	- All transactions are long running (e.g. they have been
+	 *	active for more than lu_status->timeout sec) and the admin as
+	 *	requested to force the operation.
+	 */
+	return ta_total ? (lu_status->force && ta_long == ta_total) : true;
+}
+
+static const char *lu_reject_reason(const void *ctx)
+{
+	char *ret = NULL;
+	struct connection *conn;
+	time_t now = time(NULL);
+
+	list_for_each_entry(conn, &connections, list) {
+		if (conn->ta_start_time &&
+		    (now - conn->ta_start_time >= lu_status->timeout)) {
+			ret = talloc_asprintf(ctx, "%s\nDomain %u: %ld s",
+					      ret ? : "Domains with long running transactions:",
+					      conn->id,
+					      now - conn->ta_start_time);
+		}
+	}
+
+	return ret ? (const char *)ret : "Overlapping transactions";
+}
+
+static const char *lu_dump_state(const void *ctx, struct connection *conn)
+{
+	FILE *fp;
+	const char *ret;
+	struct xs_state_record_header end;
+	struct xs_state_preamble pre;
+
+	fp = lu_dump_open(ctx);
+	if (!fp)
+		return "Dump state open error";
+
+	memcpy(pre.ident, XS_STATE_IDENT, sizeof(pre.ident));
+	pre.version = htobe32(XS_STATE_VERSION);
+	pre.flags = XS_STATE_FLAGS;
+	if (fwrite(&pre, sizeof(pre), 1, fp) != 1) {
+		ret = "Dump write error";
+		goto out;
+	}
+
+	ret = dump_state_global(fp);
+	if (ret)
+		goto out;
+	ret = dump_state_connections(fp);
+	if (ret)
+		goto out;
+	ret = dump_state_nodes(fp, ctx);
+	if (ret)
+		goto out;
+
+	end.type = XS_STATE_TYPE_END;
+	end.length = 0;
+	if (fwrite(&end, sizeof(end), 1, fp) != 1)
+		ret = "Dump write error";
+
+ out:
+	lu_dump_close(fp);
+
+	return ret;
+}
+
+static const char *lu_activate_binary(const void *ctx)
+{
+	int argc;
+	char **argv;
+	unsigned int i;
+
+	if (lu_status->cmdline) {
+		argc = 4;   /* At least one arg + progname + "-U" + NULL. */
+		for (i = 0; lu_status->cmdline[i]; i++)
+			if (isspace(lu_status->cmdline[i]))
+				argc++;
+		argv = talloc_array(ctx, char *, argc);
+		if (!argv)
+			return "Allocation failure.";
+
+		i = 0;
+		argc = 1;
+		argv[1] = strtok(lu_status->cmdline, " \t");
+		while (argv[argc]) {
+			if (!strcmp(argv[argc], "-U"))
+				i = 1;
+			argc++;
+			argv[argc] = strtok(NULL, " \t");
+		}
+
+		if (!i) {
+			argv[argc++] = "-U";
+			argv[argc] = NULL;
+		}
+	} else {
+		for (i = 0; i < orig_argc; i++)
+			if (!strcmp(orig_argv[i], "-U"))
+				break;
+
+		argc = orig_argc;
+		argv = talloc_array(ctx, char *, orig_argc + 2);
+		if (!argv)
+			return "Allocation failure.";
+
+		memcpy(argv, orig_argv, orig_argc * sizeof(*argv));
+		if (i == orig_argc)
+			argv[argc++] = "-U";
+		argv[argc] = NULL;
+	}
+
+	domain_deinit();
+
+	return lu_exec(ctx, argc, argv);
+}
+
+static bool do_lu_start(struct delayed_request *req)
+{
+	time_t now = time(NULL);
+	const char *ret;
+	struct buffered_data *saved_in;
+	struct connection *conn = req->data;
+
+	/*
+	 * Cancellation may have been requested asynchronously. In this
+	 * case, lu_status will be NULL.
+	 */
+	if (!lu_status) {
+		ret = "Cancellation was requested";
+		goto out;
+	}
+
+	assert(lu_status->conn == conn);
+
+	if (!lu_check_lu_allowed()) {
+		if (now < lu_status->started_at + lu_status->timeout)
+			return false;
+		if (!lu_status->force) {
+			ret = lu_reject_reason(req);
+			goto out;
+		}
+	}
+
+	assert(req->in == lu_status->in);
+	/* Dump out internal state, including "OK" for live update. */
+	ret = lu_dump_state(req->in, conn);
+	if (!ret) {
+		/* Perform the activation of new binary. */
+		ret = lu_activate_binary(req->in);
+	}
+
+	/* We will reach this point only in case of failure. */
+ out:
+	/*
+	 * send_reply() will send the response for conn->in. Save the current
+	 * conn->in and restore it afterwards.
+	 */
+	saved_in = conn->in;
+	conn->in = req->in;
+	send_reply(conn, XS_CONTROL, ret, strlen(ret) + 1);
+	conn->in = saved_in;
+	talloc_free(lu_status);
+
+	return true;
+}
+
+static const char *lu_start(const void *ctx, struct connection *conn,
+			    bool force, unsigned int to)
+{
+	syslog(LOG_INFO, "live-update: start, force=%d, to=%u\n", force, to);
+
+	if (!lu_status || lu_status->conn != conn)
+		return "Not in live-update session.";
+
+#ifdef __MINIOS__
+	if (lu_status->kernel_size != lu_status->kernel_off)
+		return "Kernel not complete.";
+#endif
+
+	lu_status->force = force;
+	lu_status->timeout = to;
+	lu_status->started_at = time(NULL);
+	lu_status->in = conn->in;
+
+	errno = delay_request(conn, conn->in, do_lu_start, conn, false);
+
+	return NULL;
+}
+
+int do_control_lu(const void *ctx, struct connection *conn, char **vec,
+		  int num)
+{
+	const char *ret = NULL;
+	unsigned int i;
+	bool force = false;
+	unsigned int to = 0;
+
+	if (num < 1)
+		return EINVAL;
+
+	if (!strcmp(vec[0], "-a")) {
+		if (num == 1)
+			ret = lu_abort(ctx, conn);
+		else
+			return EINVAL;
+	} else if (!strcmp(vec[0], "-c")) {
+		if (num == 2)
+			ret = lu_cmdline(ctx, conn, vec[1]);
+		else
+			return EINVAL;
+	} else if (!strcmp(vec[0], "-s")) {
+		for (i = 1; i < num; i++) {
+			if (!strcmp(vec[i], "-F"))
+				force = true;
+			else if (!strcmp(vec[i], "-t") && i < num - 1) {
+				i++;
+				to = atoi(vec[i]);
+			} else
+				return EINVAL;
+		}
+		ret = lu_start(ctx, conn, force, to);
+		if (!ret)
+			return errno;
+	} else {
+		ret = lu_arch(ctx, conn, vec, num);
+		if (!ret && errno)
+			return errno;
+	}
+
+	if (!ret)
+		ret = "OK";
+	send_reply(conn, XS_CONTROL, ret, strlen(ret) + 1);
+	return 0;
+}
+#endif
diff --git a/tools/xenstore/xenstored_lu.h b/tools/xenstore/xenstored_lu.h
index d2f8e4e57c..7aa524a07e 100644
--- a/tools/xenstore/xenstored_lu.h
+++ b/tools/xenstore/xenstored_lu.h
@@ -43,6 +43,16 @@ struct lu_dump_state {
 
 extern struct live_update *lu_status;
 
+struct connection *lu_get_connection(void);
+bool lu_is_pending(void);
+void lu_read_state(void);
+
+/* Write the "OK" response for the live-update command */
+unsigned int lu_write_response(FILE *fp);
+
+int do_control_lu(const void *ctx, struct connection *conn, char **vec,
+		  int num);
+
 /* Live update private interfaces. */
 void lu_get_dump_state(struct lu_dump_state *state);
 void lu_close_dump_state(struct lu_dump_state *state);
@@ -53,4 +63,19 @@ const char *lu_arch(const void *ctx, struct connection *conn, char **vec,
 		    int num);
 const char *lu_begin(struct connection *conn);
 int lu_destroy(void *data);
+#else
+static inline struct connection *lu_get_connection(void)
+{
+	return NULL;
+}
+
+static inline unsigned int lu_write_response(FILE *fp)
+{
+	return 0;
+}
+
+static inline bool lu_is_pending(void)
+{
+	return false;
+}
 #endif
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:52:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:52:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516529.800793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pho1D-00034b-5p; Thu, 30 Mar 2023 08:52:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516529.800793; Thu, 30 Mar 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 1pho1D-00034U-2u; Thu, 30 Mar 2023 08:52:27 +0000
Received: by outflank-mailman (input) for mailman id 516529;
 Thu, 30 Mar 2023 08:52: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pho1B-00034A-Pb
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:52:25 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2062c.outbound.protection.outlook.com
 [2a01:111:f400:fe12::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30da6322-ced8-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:52:25 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 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.6254.22; Thu, 30 Mar
 2023 08:52:23 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 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: 30da6322-ced8-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=INCrI6aDkRRrcLLcNi6lolqi1ywpN+7aLG0/YB8t9LHWy/z5xPmta5hxGY9PhPKyN41dOpops037cG0uN/k7rLJ+24LkPuP+IBcrmZclHIKc2hsk4meGleOisesxbvC9mEpzxrk4OEfkpgDdlSkDDKDNkpTaLUWq2/0lrUtHzA3h88ElGudPeMxb1L4eqUo4qABgTEUMdoKH4MeY4mzd/oNnN+/um09+Gx2Sc2/gXUbUFLkMBbhx/tkVU4QFqOg0ueaJQjWWOZj5KTDUb1q5vuwJWpFrBgEpYgU8ZoWzhFImq3RjyPSHpcno9DUBBlxKmIVu9511jhUhnLObxcRKnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t6z+q7IDztRnIlwyeJV+peCxcITcYbGX7wU+IOeUJbA=;
 b=KzxLZ3WbuzlMAUhclzN5fvmCjNIgzs00+/yPoo6g2AGnTWe8tUc1iHwDoewGubLqk1B/HzqeV5K+NRQb6mJ0Q50arw8lQb3sIThQ/F8M+mn3pg95r5LTVhmXYPoW4isDS2JokOjDvp4jVGZpGqM2JWiKT0+5bBJs/xAH+E8ws1/LBuzTP1GGgWJfALsPpNBZkP8twJt/ZJMDSsYXECJYaC6kwnyhdwLXRTsY8ZRhxWKkPo7T/bCKNXuyp9lMLB3DC3HzhxoANkAzQszHmwxxXX8gF8EmRYxLAGEQPZ3/r3fA4V4RELB0rx5gjs3HopZXND8BL1o8POvwyYOryOmxBQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=t6z+q7IDztRnIlwyeJV+peCxcITcYbGX7wU+IOeUJbA=;
 b=4T4h6lwE19mi/v6WQXtxGqUGsfUn5uiaCCKsbDB2Mx9ySSbLXs18y2XK4S2jUH8B1XptmEuhJzVoO/CTQurkMTlGhd4vhfY0pqkxss6V+Y0O8rYawclaVGg1Y2Fv+eVV5b0FJIvdghzPrcvplh9jsDSGWpLJl6NNETYV5cylxxxs5A7r8zBN8X6ZpbiWs6SeDWUypCTM+G6BAJxZBOmtb0Kr6YRzzrn03QqglklbN306/aMNh/wdY5NJ+vlxxezyuCFzll9H0e5LrJQJw/+ABCFZ2tInu8M8RxiNQn+3851KowX5heaXW627QVlWkMY1VbV66m1mRlhl9KxXbe4GKQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <02c609d2-096c-79ba-823b-46490dd00c04@suse.com>
Date: Thu, 30 Mar 2023 10:52:21 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 4/5] multiboot2: parse console= option when setting GOP
 mode
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: marmarek@invisiblethingslab.com, Andrew Cooper
 <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Daniel Kiper <daniel.kiper@oracle.com>
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-5-roger.pau@citrix.com>
 <8f7e0393-8c0f-a924-7cee-25b9fca6f739@suse.com>
 <ZCRnU03XDCpqZQ5u@Air-de-Roger>
 <8fb2f771-3354-3f52-f923-e7fe7861cfbf@suse.com>
 <ZCVERoX9+LdQ/GIL@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCVERoX9+LdQ/GIL@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0024.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB9192:EE_
X-MS-Office365-Filtering-Correlation-Id: 443b3249-8c7e-4759-c956-08db30fc1422
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JgzWmf5Cs/snruE9uFx7SV9esEsF8GKeNoIMdl1VddC+uZ4A1Zx/XqDd8sjyGlTadxClaGxUCQU/vqfbFZaUUhiRiVg5OmjDuche3/+dHgmqkYEVgiY+/viq7fuXXev8V4lVEOooo8mttfPfAnWD+5oQxY5JI8H0IpfCXWiSeGwBnnegBJQxxSxAbnpE4aPO7tIix9fSzg1lEknyEpMgfxVoziqynSudfU9Xm9M/V8+XibnCo2OBtLxmKo6ss8isDgIG4RiTWB5+v2JvUK6WNL04JyyeEyRcKOe3vUaGw9exBC7073VBMzJ6KiQ0WTo8dIT2mINN1IQ9TikwF8y8DrsPFLPtbBJdwaSdbk3WWOBqU/h2oa6mrRf0NOkfcF7o2d6cqpc7u33tRTS+1IcYR+qQ1a3XiO/0+C+HHf73z0nmdMTE5AOPFZvIJ0Y0WbBT2xPV8a4hisDS0kFeV08QnuBpx04IFaFsQNR1JD5RL2Dl/fxYIX+jSfzR+O99fL7ocupHW0/0pe+P5eh3S7qda0DJJpswAjJmE6g+023qw54DaMIY7kIjy2kP4Oz2x5dPPywbVL5iDIFOM6XpLzkM7/7EZzOFEE+Aftbj/X87c6Hl+BHsOTbF8vGIRnKZPWUA45788bsmL293SyXrF2ucHQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(39860400002)(396003)(136003)(366004)(451199021)(66476007)(6916009)(5660300002)(4326008)(8676002)(66946007)(66556008)(38100700002)(41300700001)(8936002)(31696002)(36756003)(86362001)(2906002)(6486002)(478600001)(2616005)(31686004)(53546011)(6512007)(6506007)(26005)(316002)(54906003)(186003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cW5BYVk1MWVWMmpmMUhScVJtK0RiQnh0MGUwSWYydThncmFHVEQvRENmOEoz?=
 =?utf-8?B?VzI2UVFWT29Yd3Z2SmNsandlRFgzMTNzbVpVNHJMWnRQQi9SU296V1NFd1gv?=
 =?utf-8?B?b0FJRm0xam5iQU9INXEwa0NwbkhFc2FCMGcxeFNDek91U2hiZzZXVGROeXl2?=
 =?utf-8?B?Zk95THFTQ3dkMTQwMnpPS2dsY0NEQ1FSaE81bE5Id1IzMUdBcmtKSXdWcXFY?=
 =?utf-8?B?cFAxY0YrT0JwbXJqNVV0NXpWRTE0VmJGb2lYNVh5SldXRjlPMjNEelhjQUcv?=
 =?utf-8?B?a1dvMjR4SjczUWtITHBiYjRmczNzWVk1N2tMaFpEQVBNWUJha01GeWNMOXgw?=
 =?utf-8?B?S2laaHJ4eEgyc1BJUnAzRzE3L0ZBUkxlYTl3VzBCWHZQR0IvRUtzTTFaa0sz?=
 =?utf-8?B?emJ3M2cwbE5KalZvUVNEblZxTC9POFFCV0RGWWtZQ282cjZDb3ZDeU9xZFBu?=
 =?utf-8?B?S3pEeWFvb21zcEpzSVdCeTZuM3gzbGZSWUE3SVFlMGM2Qy9EZ1Nxd3BvenVw?=
 =?utf-8?B?MVpibVVtN0drMlVYYndDd3JBM0MwNUxzYW5nb2JxUmZweGx0V2NGNDR2MTB0?=
 =?utf-8?B?ME1yTFpIbGJWWmJ2cXBGQ29PanBWTUhVZk81TnAyUDhXbWRzNlNXSXJjSmpB?=
 =?utf-8?B?RWNac3FWc0Q1VEkveHZjbU5rSml3dE5oWmlwZkUreG5LQ3ZKQ2VGdUZKRlBT?=
 =?utf-8?B?UVBpM01sU3crNDUzc3dWUVZkYVVSWkJrY3R3WnlWYkRHM0lJWWRPdnBTenlZ?=
 =?utf-8?B?OGc0cVBiZDU2bVVzbFZQQjlMQ1dLYm9HNTBnQ3pETHdPcE5VSnh2Y0NEaFMv?=
 =?utf-8?B?WHIzQ3lNNTBHYWVBOTNWVzZ2WS9XbzF0RHp5OGVaRFZQWWlsYngxaGEzUmcy?=
 =?utf-8?B?V2l5VzVub20vTG9wRnJIbm1EdmtTVzF3bDJNZ2dBMHdzL3RvekVHdUoxR2Y1?=
 =?utf-8?B?UVN0K3k0cW9ieTdEeU9qbDFpOWFYSTZmYmozVVAvMHBKMHdJZWtLRG5HZXR3?=
 =?utf-8?B?RmZuWlozVVN1KzJ0N1lCNi81ZGF2dmwydElNSXRDVnJnYUtZZ09JQk5lODlx?=
 =?utf-8?B?RmpwRHpoNzZvSFp3N2hZRTNHNDdQZkdxSVVEZnlwczB3Sm02SGR5T3JSZXR4?=
 =?utf-8?B?N05zVkNyWksxbU5Pb2NCQTZCczE0NWJ2WS9rNElVbm5WTkplZjVWcjlTS3Ax?=
 =?utf-8?B?Y201bzVvNGxBUTdvMDJZUVF6Nzdtcm5leUFqWk5rbHpmY0Ztb1NkS3ZmTXpw?=
 =?utf-8?B?NElEVHpPU2JZTUk4amMwRzZoYWRUY1R6U0pvZHpwMUdibit0a0tUR2tqRitJ?=
 =?utf-8?B?UWVzTjBXTnlRSzZGZjliYUVLTVJHWW9SeHpmcTZacnk5ME1iOFJHTkowcGtR?=
 =?utf-8?B?b1NhN1RZMGdwYktXc2oxcFNTYWcvUFNTQXM3TjUrOXNvQXRyMWluRVhDdkk1?=
 =?utf-8?B?YnZNYTVtdmgxSWlIUVlDVWUyU21OcExWcC92WHZDUUxteGJjOUdQUXo3QklX?=
 =?utf-8?B?RVQzZ2twUTFMZFYzSGdubGRSLzdybkZzSS83NVVzWEtCQzhhTElKd29UU3B6?=
 =?utf-8?B?MXd3cHIxRmc0OXJGSTUyWC92TFZzdmFVYVNQdHd5Vjh0b2xIWlpIdnhHdERC?=
 =?utf-8?B?aGwrQzY5b1NUSVk3M3pSbUtML2l1K3R1b1FjZlYvUDBFcmpDWi9ISFExNjdu?=
 =?utf-8?B?WHJsME5NMjloMVhYQS82ZUNGWHZXVm84aDVFa0RWOHV4bFhFUCtWNW41SEM1?=
 =?utf-8?B?MHNOUE9NTkVtdFNBY25XSHVubnU2L2pqR3NLQTVJMVdyZTEvdWJNNDRtTkZE?=
 =?utf-8?B?dUZOaXdMVTVZQStuTytNWm1QNTRVdVViaFBNTWRoQm1sUEV1Y0Q2cFNyeVBV?=
 =?utf-8?B?Wk44aW1BN1NJS1p5Q0E5cE1aN2NHdllsSUh0ZU4yaGc2Vi9aZTRXN2cyV3hY?=
 =?utf-8?B?WW00Uit2bFVxdHdZb1hDcUdVQ2ZkKy82SU1OcFhPbHI2eWQwTmpCejBqQU9X?=
 =?utf-8?B?aFRMT3BIU2ZwL2JyYThMb3VTWm9rUFNhM0dQYS9IOW11aW9iSUUvRDBnSStZ?=
 =?utf-8?B?VlJBR1hYYzA3Y21jbEJNY1BJalhzYTVabzJFT0ZENkk2N2RFOS9ZejlxRm8x?=
 =?utf-8?Q?VBAUuhJdJIBRvmFpzAodgneH/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 443b3249-8c7e-4759-c956-08db30fc1422
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 08:52:23.2002
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: A7U2lLbQlpGsAZKiQLdO8hH/hMU2AP6zO5fsqcRVC4+qOY2kWhr+sh2Miy54Ta6abTsKGcwpGrvOkDA2Eftr4g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9192

On 30.03.2023 10:11, Roger Pau Monné wrote:
> On Thu, Mar 30, 2023 at 08:24:20AM +0200, Jan Beulich wrote:
>> On 29.03.2023 18:29, Roger Pau Monné wrote:
>>> On Mon, Dec 05, 2022 at 04:10:28PM +0100, Jan Beulich wrote:
>>>> On 23.11.2022 16:45, Roger Pau Monne wrote:
>>>>> @@ -265,6 +266,15 @@ __efi64_mb2_start:
>>>>>          cmpl    $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx)
>>>>>          je      .Lrun_bs
>>>>>  
>>>>> +        /*
>>>>> +         * Get command line from Multiboot2 information.
>>>>> +         * Must be last parsed tag.
>>>>
>>>> Why? And how do you guarantee this?
>>>
>>> I think the comment is misleading, must be the last checked for tag in
>>> the loop that does this in assembly, because it's not using cmove.
>>> I've adjusted to:
>>>
>>>         /* Get command line from Multiboot2 information. */
>>>         cmpl    $MULTIBOOT2_TAG_TYPE_CMDLINE,MB2_tag_type(%rcx)
>>>         jne     .Lno_cmdline
>>>         lea     MB2_tag_string(%rcx),%rdx
>>>         jmp     .Lefi_mb2_next_tag
>>> .Lno_cmdline:
>>>
>>> Maybe there's some instruction I'm missing similar to a conditional
>>> lea?
>>
>> There isn't. If you want to get away without conditional branch, then
>> you'll need to LEA to a scratch register (unconditional) and then
>> CMOVcc from that scratch register.
> 
> Likely not worth it, unless you dislike the extra conditional branch.

Entirely up to you - I'm fine either way.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:59:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:59:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516533.800803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pho7c-0003tN-R8; Thu, 30 Mar 2023 08:59:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516533.800803; Thu, 30 Mar 2023 08:59: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 1pho7c-0003tG-Mz; Thu, 30 Mar 2023 08:59:04 +0000
Received: by outflank-mailman (input) for mailman id 516533;
 Thu, 30 Mar 2023 08:59: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pho05-0005fr-KE
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:51:17 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 083a5d76-ced8-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:51:16 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 623061FEAA;
 Thu, 30 Mar 2023 08:51: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 24403138FF;
 Thu, 30 Mar 2023 08:51:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id QGV/B4RNJWRuIwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08: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: 083a5d76-ced8-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166276; 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=zAR+D5IOBUizI647Da3RaQFwZvOMED7CwgvKNtyoeSU=;
	b=sf2j7Au+KNRhktSpIulbaSKhECES2Hr5Xvea+ykuaZAFq/W6WkHHiKkwi9Iqh3bo3Tsl/c
	BtvGku66ic9pZYB84M4rPk4vjSlsI5PlpeMHDa5snWbwYEXpTFtMTw9j1AJhPskM/NBR74
	NV2wMjKiuf4LwBJ3u3+6qDC252SBTJI=
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 11/13] tools/xenstore: split out environment specific live update code
Date: Thu, 30 Mar 2023 10:50:09 +0200
Message-Id: <20230330085011.9170-12-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330085011.9170-1-jgross@suse.com>
References: <20230330085011.9170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instead of using #ifdef in xenstored_control.c split out the code of
environment specific functions (daemon or Mini-OS) to dedicated source
files.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/Makefile.common       |   8 +-
 tools/xenstore/xenstored_control.c   | 252 +--------------------------
 tools/xenstore/xenstored_lu.h        |  56 ++++++
 tools/xenstore/xenstored_lu_daemon.c | 132 ++++++++++++++
 tools/xenstore/xenstored_lu_minios.c | 121 +++++++++++++
 5 files changed, 316 insertions(+), 253 deletions(-)
 create mode 100644 tools/xenstore/xenstored_lu.h
 create mode 100644 tools/xenstore/xenstored_lu_daemon.c
 create mode 100644 tools/xenstore/xenstored_lu_minios.c

diff --git a/tools/xenstore/Makefile.common b/tools/xenstore/Makefile.common
index b18f95c103..dffab34603 100644
--- a/tools/xenstore/Makefile.common
+++ b/tools/xenstore/Makefile.common
@@ -4,10 +4,10 @@ XENSTORED_OBJS-y := xenstored_core.o xenstored_watch.o xenstored_domain.o
 XENSTORED_OBJS-y += xenstored_transaction.o xenstored_control.o
 XENSTORED_OBJS-y += xs_lib.o talloc.o utils.o tdb.o hashtable.o
 
-XENSTORED_OBJS-$(CONFIG_Linux) += xenstored_posix.o
-XENSTORED_OBJS-$(CONFIG_NetBSD) += xenstored_posix.o
-XENSTORED_OBJS-$(CONFIG_FreeBSD) += xenstored_posix.o
-XENSTORED_OBJS-$(CONFIG_MiniOS) += xenstored_minios.o
+XENSTORED_OBJS-$(CONFIG_Linux) += xenstored_posix.o xenstored_lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_NetBSD) += xenstored_posix.o xenstored_lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_FreeBSD) += xenstored_posix.o xenstored_lu_daemon.o
+XENSTORED_OBJS-$(CONFIG_MiniOS) += xenstored_minios.o xenstored_lu_minios.o
 
 # Include configure output (config.h)
 CFLAGS += -include $(XEN_ROOT)/tools/config.h
diff --git a/tools/xenstore/xenstored_control.c b/tools/xenstore/xenstored_control.c
index 75f51a80db..c9e5766954 100644
--- a/tools/xenstore/xenstored_control.c
+++ b/tools/xenstore/xenstored_control.c
@@ -38,63 +38,13 @@
 #include "xenstored_core.h"
 #include "xenstored_control.h"
 #include "xenstored_domain.h"
+#include "xenstored_lu.h"
 #include "xenstored_watch.h"
 
-/* Mini-OS only knows about MAP_ANON. */
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-
 #ifndef NO_LIVE_UPDATE
-struct live_update {
-	/* For verification the correct connection is acting. */
-	struct connection *conn;
-
-	/* Pointer to the command used to request LU */
-	struct buffered_data *in;
+struct live_update *lu_status;
 
-#ifdef __MINIOS__
-	void *kernel;
-	unsigned int kernel_size;
-	unsigned int kernel_off;
-
-	void *dump_state;
-	unsigned long dump_size;
-#else
-	char *filename;
-#endif
-
-	char *cmdline;
-
-	/* Start parameters. */
-	bool force;
-	unsigned int timeout;
-	time_t started_at;
-};
-
-static struct live_update *lu_status;
-
-struct lu_dump_state {
-	void *buf;
-	unsigned int size;
-#ifndef __MINIOS__
-	int fd;
-	char *filename;
-#endif
-};
-
-static int lu_destroy(void *data)
-{
-#ifdef __MINIOS__
-	if (lu_status->dump_state)
-		munmap(lu_status->dump_state, lu_status->dump_size);
-#endif
-	lu_status = NULL;
-
-	return 0;
-}
-
-static const char *lu_begin(struct connection *conn)
+const char *lu_begin(struct connection *conn)
 {
 	if (lu_status)
 		return "live-update session already active.";
@@ -431,202 +381,6 @@ static const char *lu_cmdline(const void *ctx, struct connection *conn,
 	return NULL;
 }
 
-#ifdef __MINIOS__
-static const char *lu_binary_alloc(const void *ctx, struct connection *conn,
-				   unsigned long size)
-{
-	const char *ret;
-
-	syslog(LOG_INFO, "live-update: binary size %lu\n", size);
-
-	ret = lu_begin(conn);
-	if (ret)
-		return ret;
-
-	lu_status->kernel = talloc_size(lu_status, size);
-	if (!lu_status->kernel)
-		return "Allocation failure.";
-
-	lu_status->kernel_size = size;
-	lu_status->kernel_off = 0;
-
-	errno = 0;
-	return NULL;
-}
-
-static const char *lu_binary_save(const void *ctx, struct connection *conn,
-				  unsigned int size, const char *data)
-{
-	if (!lu_status || lu_status->conn != conn)
-		return "Not in live-update session.";
-
-	if (lu_status->kernel_off + size > lu_status->kernel_size)
-		return "Too much kernel data.";
-
-	memcpy(lu_status->kernel + lu_status->kernel_off, data, size);
-	lu_status->kernel_off += size;
-
-	errno = 0;
-	return NULL;
-}
-
-static const char *lu_arch(const void *ctx, struct connection *conn,
-			   char **vec, int num)
-{
-	if (num == 2 && !strcmp(vec[0], "-b"))
-		return lu_binary_alloc(ctx, conn, atol(vec[1]));
-	if (num > 2 && !strcmp(vec[0], "-d"))
-		return lu_binary_save(ctx, conn, atoi(vec[1]), vec[2]);
-
-	errno = EINVAL;
-	return NULL;
-}
-
-static FILE *lu_dump_open(const void *ctx)
-{
-	lu_status->dump_size = ROUNDUP(talloc_total_size(NULL) * 2,
-				       XC_PAGE_SHIFT);
-	lu_status->dump_state = mmap(NULL, lu_status->dump_size,
-				     PROT_READ | PROT_WRITE,
-				     MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
-	if (lu_status->dump_state == MAP_FAILED)
-		return NULL;
-
-	return fmemopen(lu_status->dump_state, lu_status->dump_size, "w");
-}
-
-static void lu_dump_close(FILE *fp)
-{
-	size_t size;
-
-	size = ftell(fp);
-	size = ROUNDUP(size, XC_PAGE_SHIFT);
-	munmap(lu_status->dump_state + size, lu_status->dump_size - size);
-	lu_status->dump_size = size;
-
-	fclose(fp);
-}
-
-static void lu_get_dump_state(struct lu_dump_state *state)
-{
-}
-
-static void lu_close_dump_state(struct lu_dump_state *state)
-{
-}
-
-static char *lu_exec(const void *ctx, int argc, char **argv)
-{
-	return "NYI";
-}
-#else
-static const char *lu_binary(const void *ctx, struct connection *conn,
-			     const char *filename)
-{
-	const char *ret;
-	struct stat statbuf;
-
-	syslog(LOG_INFO, "live-update: binary %s\n", filename);
-
-	if (stat(filename, &statbuf))
-		return "File not accessible.";
-	if (!(statbuf.st_mode & (S_IXOTH | S_IXGRP | S_IXUSR)))
-		return "File not executable.";
-
-	ret = lu_begin(conn);
-	if (ret)
-		return ret;
-
-	lu_status->filename = talloc_strdup(lu_status, filename);
-	if (!lu_status->filename)
-		return "Allocation failure.";
-
-	errno = 0;
-	return NULL;
-}
-
-static const char *lu_arch(const void *ctx, struct connection *conn,
-			   char **vec, int num)
-{
-	if (num == 2 && !strcmp(vec[0], "-f"))
-		return lu_binary(ctx, conn, vec[1]);
-
-	errno = EINVAL;
-	return NULL;
-}
-
-static FILE *lu_dump_open(const void *ctx)
-{
-	char *filename;
-	int fd;
-
-	filename = talloc_asprintf(ctx, "%s/state_dump", xs_daemon_rootdir());
-	if (!filename)
-		return NULL;
-
-	fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
-	if (fd < 0)
-		return NULL;
-
-	return fdopen(fd, "w");
-}
-
-static void lu_dump_close(FILE *fp)
-{
-	fclose(fp);
-}
-
-static void lu_get_dump_state(struct lu_dump_state *state)
-{
-	struct stat statbuf;
-
-	state->size = 0;
-
-	state->filename = talloc_asprintf(NULL, "%s/state_dump",
-					  xs_daemon_rootdir());
-	if (!state->filename)
-		barf("Allocation failure");
-
-	state->fd = open(state->filename, O_RDONLY);
-	if (state->fd < 0)
-		return;
-	if (fstat(state->fd, &statbuf) != 0)
-		goto out_close;
-	state->size = statbuf.st_size;
-
-	state->buf = mmap(NULL, state->size, PROT_READ, MAP_PRIVATE,
-			  state->fd, 0);
-	if (state->buf == MAP_FAILED) {
-		state->size = 0;
-		goto out_close;
-	}
-
-	return;
-
- out_close:
-	close(state->fd);
-}
-
-static void lu_close_dump_state(struct lu_dump_state *state)
-{
-	assert(state->filename != NULL);
-
-	munmap(state->buf, state->size);
-	close(state->fd);
-
-	unlink(state->filename);
-	talloc_free(state->filename);
-}
-
-static char *lu_exec(const void *ctx, int argc, char **argv)
-{
-	argv[0] = lu_status->filename;
-	execvp(argv[0], argv);
-
-	return "Error activating new binary.";
-}
-#endif
-
 static bool lu_check_lu_allowed(void)
 {
 	struct connection *conn;
diff --git a/tools/xenstore/xenstored_lu.h b/tools/xenstore/xenstored_lu.h
new file mode 100644
index 0000000000..d2f8e4e57c
--- /dev/null
+++ b/tools/xenstore/xenstored_lu.h
@@ -0,0 +1,56 @@
+/* SPDX-License-Identifier: MIT */
+
+/*
+ * Live Update interfaces for Xen Store Daemon.
+ * Copyright (C) 2022 Juergen Gross, SUSE LLC
+ */
+
+#ifndef NO_LIVE_UPDATE
+struct live_update {
+	/* For verification the correct connection is acting. */
+	struct connection *conn;
+
+	/* Pointer to the command used to request LU */
+	struct buffered_data *in;
+
+#ifdef __MINIOS__
+	void *kernel;
+	unsigned int kernel_size;
+	unsigned int kernel_off;
+
+	void *dump_state;
+	unsigned long dump_size;
+#else
+	char *filename;
+#endif
+
+	char *cmdline;
+
+	/* Start parameters. */
+	bool force;
+	unsigned int timeout;
+	time_t started_at;
+};
+
+struct lu_dump_state {
+	void *buf;
+	unsigned int size;
+#ifndef __MINIOS__
+	int fd;
+	char *filename;
+#endif
+};
+
+extern struct live_update *lu_status;
+
+/* Live update private interfaces. */
+void lu_get_dump_state(struct lu_dump_state *state);
+void lu_close_dump_state(struct lu_dump_state *state);
+FILE *lu_dump_open(const void *ctx);
+void lu_dump_close(FILE *fp);
+char *lu_exec(const void *ctx, int argc, char **argv);
+const char *lu_arch(const void *ctx, struct connection *conn, char **vec,
+		    int num);
+const char *lu_begin(struct connection *conn);
+int lu_destroy(void *data);
+#endif
diff --git a/tools/xenstore/xenstored_lu_daemon.c b/tools/xenstore/xenstored_lu_daemon.c
new file mode 100644
index 0000000000..bda543e492
--- /dev/null
+++ b/tools/xenstore/xenstored_lu_daemon.c
@@ -0,0 +1,132 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+/*
+ * Live Update for Xen Store Daemon.
+ * Copyright (C) 2022 Juergen Gross, SUSE LLC
+ */
+
+#include <assert.h>
+#include <stdio.h>
+#include <syslog.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+
+#include "talloc.h"
+#include "xs_lib.h"
+#include "xenstored_core.h"
+#include "xenstored_lu.h"
+
+#ifndef NO_LIVE_UPDATE
+void lu_get_dump_state(struct lu_dump_state *state)
+{
+	struct stat statbuf;
+
+	state->size = 0;
+
+	state->filename = talloc_asprintf(NULL, "%s/state_dump",
+					  xs_daemon_rootdir());
+	if (!state->filename)
+		barf("Allocation failure");
+
+	state->fd = open(state->filename, O_RDONLY);
+	if (state->fd < 0)
+		return;
+	if (fstat(state->fd, &statbuf) != 0)
+		goto out_close;
+	state->size = statbuf.st_size;
+
+	state->buf = mmap(NULL, state->size, PROT_READ, MAP_PRIVATE,
+			  state->fd, 0);
+	if (state->buf == MAP_FAILED) {
+		state->size = 0;
+		goto out_close;
+	}
+
+	return;
+
+ out_close:
+	close(state->fd);
+}
+
+void lu_close_dump_state(struct lu_dump_state *state)
+{
+	assert(state->filename != NULL);
+
+	munmap(state->buf, state->size);
+	close(state->fd);
+
+	unlink(state->filename);
+	talloc_free(state->filename);
+}
+
+FILE *lu_dump_open(const void *ctx)
+{
+	char *filename;
+	int fd;
+
+	filename = talloc_asprintf(ctx, "%s/state_dump", xs_daemon_rootdir());
+	if (!filename)
+		return NULL;
+
+	fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
+	if (fd < 0)
+		return NULL;
+
+	return fdopen(fd, "w");
+}
+
+void lu_dump_close(FILE *fp)
+{
+	fclose(fp);
+}
+
+char *lu_exec(const void *ctx, int argc, char **argv)
+{
+	argv[0] = lu_status->filename;
+	execvp(argv[0], argv);
+
+	return "Error activating new binary.";
+}
+
+int lu_destroy(void *data)
+{
+	lu_status = NULL;
+
+	return 0;
+}
+
+static const char *lu_binary(const void *ctx, struct connection *conn,
+			     const char *filename)
+{
+	const char *ret;
+	struct stat statbuf;
+
+	syslog(LOG_INFO, "live-update: binary %s\n", filename);
+
+	if (stat(filename, &statbuf))
+		return "File not accessible.";
+	if (!(statbuf.st_mode & (S_IXOTH | S_IXGRP | S_IXUSR)))
+		return "File not executable.";
+
+	ret = lu_begin(conn);
+	if (ret)
+		return ret;
+
+	lu_status->filename = talloc_strdup(lu_status, filename);
+	if (!lu_status->filename)
+		return "Allocation failure.";
+
+	errno = 0;
+	return NULL;
+}
+
+const char *lu_arch(const void *ctx, struct connection *conn, char **vec,
+		    int num)
+{
+	if (num == 2 && !strcmp(vec[0], "-f"))
+		return lu_binary(ctx, conn, vec[1]);
+
+	errno = EINVAL;
+	return NULL;
+}
+#endif
diff --git a/tools/xenstore/xenstored_lu_minios.c b/tools/xenstore/xenstored_lu_minios.c
new file mode 100644
index 0000000000..0bec8a0037
--- /dev/null
+++ b/tools/xenstore/xenstored_lu_minios.c
@@ -0,0 +1,121 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+/*
+ * Live Update for Xen Store Daemon.
+ * Copyright (C) 2022 Juergen Gross, SUSE LLC
+ */
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <syslog.h>
+#include <sys/mman.h>
+#include <xenctrl.h>
+#include <xen-tools/common-macros.h>
+
+#include "talloc.h"
+#include "xenstored_lu.h"
+
+/* Mini-OS only knows about MAP_ANON. */
+#ifndef MAP_ANONYMOUS
+#define MAP_ANONYMOUS MAP_ANON
+#endif
+
+#ifndef NO_LIVE_UPDATE
+void lu_get_dump_state(struct lu_dump_state *state)
+{
+}
+
+void lu_close_dump_state(struct lu_dump_state *state)
+{
+}
+
+FILE *lu_dump_open(const void *ctx)
+{
+	lu_status->dump_size = ROUNDUP(talloc_total_size(NULL) * 2,
+				       XC_PAGE_SHIFT);
+	lu_status->dump_state = mmap(NULL, lu_status->dump_size,
+				     PROT_READ | PROT_WRITE,
+				     MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
+	if (lu_status->dump_state == MAP_FAILED)
+		return NULL;
+
+	return fmemopen(lu_status->dump_state, lu_status->dump_size, "w");
+}
+
+void lu_dump_close(FILE *fp)
+{
+	size_t size;
+
+	size = ftell(fp);
+	size = ROUNDUP(size, XC_PAGE_SHIFT);
+	munmap(lu_status->dump_state + size, lu_status->dump_size - size);
+	lu_status->dump_size = size;
+
+	fclose(fp);
+}
+
+char *lu_exec(const void *ctx, int argc, char **argv)
+{
+	return "NYI";
+}
+
+int lu_destroy(void *data)
+{
+	if (lu_status->dump_state)
+		munmap(lu_status->dump_state, lu_status->dump_size);
+	lu_status = NULL;
+
+	return 0;
+}
+
+static const char *lu_binary_alloc(const void *ctx, struct connection *conn,
+				   unsigned long size)
+{
+	const char *ret;
+
+	syslog(LOG_INFO, "live-update: binary size %lu\n", size);
+
+	ret = lu_begin(conn);
+	if (ret)
+		return ret;
+
+	lu_status->kernel = talloc_size(lu_status, size);
+	if (!lu_status->kernel)
+		return "Allocation failure.";
+
+	lu_status->kernel_size = size;
+	lu_status->kernel_off = 0;
+
+	errno = 0;
+	return NULL;
+}
+
+static const char *lu_binary_save(const void *ctx, struct connection *conn,
+				  unsigned int size, const char *data)
+{
+	if (!lu_status || lu_status->conn != conn)
+		return "Not in live-update session.";
+
+	if (lu_status->kernel_off + size > lu_status->kernel_size)
+		return "Too much kernel data.";
+
+	memcpy(lu_status->kernel + lu_status->kernel_off, data, size);
+	lu_status->kernel_off += size;
+
+	errno = 0;
+	return NULL;
+}
+
+const char *lu_arch(const void *ctx, struct connection *conn, char **vec,
+		    int num)
+{
+	if (num == 2 && !strcmp(vec[0], "-b"))
+		return lu_binary_alloc(ctx, conn, atol(vec[1]));
+	if (num > 2 && !strcmp(vec[0], "-d"))
+		return lu_binary_save(ctx, conn, atoi(vec[1]), vec[2]);
+
+	errno = EINVAL;
+	return NULL;
+}
+#endif
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:59:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:59:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516535.800814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pho7e-00048C-2o; Thu, 30 Mar 2023 08:59:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516535.800814; Thu, 30 Mar 2023 08: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 1pho7d-000485-UK; Thu, 30 Mar 2023 08:59:05 +0000
Received: by outflank-mailman (input) for mailman id 516535;
 Thu, 30 Mar 2023 08:59: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1phnzz-0005fr-S0
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:51:12 +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 04dd9234-ced8-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 10:51:11 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id B79661FEAA;
 Thu, 30 Mar 2023 08:51: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 80343138FF;
 Thu, 30 Mar 2023 08:51:10 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id LiHdHX5NJWRkIwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08:51: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: 04dd9234-ced8-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166270; 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+LXWDKrHnNBBBh+eqFebI/xwup+/rnEIgqudl+aDTI=;
	b=FW0lERnQI2c8NY81FGNYOqXsmd0iwh6gSC9Xv99qHsYMKX1vrftkz/gLbfOP75s3fXj+La
	+Z7iiketYiYQiDrAm11gEDmC2W15aRlTDCGylChbjMGu9nw0pxfWeloycFVJdzg+PBtSPx
	gKTFk+IxrZDZ6HNuweV9QfiemNzco2c=
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 v2 10/13] tools/xenstore: remove no longer needed functions from xs_lib.c
Date: Thu, 30 Mar 2023 10:50:08 +0200
Message-Id: <20230330085011.9170-11-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330085011.9170-1-jgross@suse.com>
References: <20230330085011.9170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

xs_daemon_tdb() in xs_lib.c is no longer used at all, so it can be
removed. xs_domain_dev() and xs_write_all() are not used by xenstored,
so they can be moved to tools/libs/store/xs.c.

Move functions used by xenstore-client only to xenstore_client.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- move xs_write_all(), too
---
 tools/include/xenstore.h         |   3 +
 tools/include/xenstore_lib.h     |   3 -
 tools/libs/store/xs.c            |  38 ++++++++
 tools/xenstore/xenstore_client.c | 129 +++++++++++++++++++++++++
 tools/xenstore/xs_lib.c          | 156 -------------------------------
 tools/xenstore/xs_lib.h          |  17 ----
 6 files changed, 170 insertions(+), 176 deletions(-)

diff --git a/tools/include/xenstore.h b/tools/include/xenstore.h
index 2b3f69fb61..a442252849 100644
--- a/tools/include/xenstore.h
+++ b/tools/include/xenstore.h
@@ -113,6 +113,9 @@ void *xs_read(struct xs_handle *h, xs_transaction_t t,
 bool xs_write(struct xs_handle *h, xs_transaction_t t,
 	      const char *path, const void *data, unsigned int len);
 
+/* Simple write function: loops for you. */
+bool xs_write_all(int fd, const void *data, unsigned int len);
+
 /* Create a new directory.
  * Returns false on failure, or success if it already exists.
  */
diff --git a/tools/include/xenstore_lib.h b/tools/include/xenstore_lib.h
index 2266009ec1..43eec87379 100644
--- a/tools/include/xenstore_lib.h
+++ b/tools/include/xenstore_lib.h
@@ -47,9 +47,6 @@ const char *xs_daemon_rundir(void);
 const char *xs_daemon_socket(void);
 const char *xs_daemon_socket_ro(void);
 
-/* Simple write function: loops for you. */
-bool xs_write_all(int fd, const void *data, unsigned int len);
-
 /* Convert strings to permissions.  False if a problem. */
 bool xs_strings_to_perms(struct xs_permissions *perms, unsigned int num,
 			 const char *strings);
diff --git a/tools/libs/store/xs.c b/tools/libs/store/xs.c
index 7a9a8b1656..48b0e917be 100644
--- a/tools/libs/store/xs.c
+++ b/tools/libs/store/xs.c
@@ -311,6 +311,26 @@ struct xs_handle *xs_domain_open(void)
 	return xs_open(0);
 }
 
+static const char *xs_domain_dev(void)
+{
+	char *s = getenv("XENSTORED_PATH");
+	if (s)
+		return s;
+#if defined(__RUMPUSER_XEN__) || defined(__RUMPRUN__)
+	return "/dev/xen/xenbus";
+#elif defined(__linux__)
+	if (access("/dev/xen/xenbus", F_OK) == 0)
+		return "/dev/xen/xenbus";
+	return "/proc/xen/xenbus";
+#elif defined(__NetBSD__)
+	return "/kern/xen/xenbus";
+#elif defined(__FreeBSD__)
+	return "/dev/xen/xenstore";
+#else
+	return "/dev/xen/xenbus";
+#endif
+}
+
 struct xs_handle *xs_open(unsigned long flags)
 {
 	struct xs_handle *xsh = NULL;
@@ -431,6 +451,24 @@ out_false:
 #ifdef XSTEST
 #define read_all read_all_choice
 #define xs_write_all write_all_choice
+#else
+/* Simple routine for writing to sockets, etc. */
+bool xs_write_all(int fd, const void *data, unsigned int len)
+{
+	while (len) {
+		int done;
+
+		done = write(fd, data, len);
+		if (done < 0 && errno == EINTR)
+			continue;
+		if (done <= 0)
+			return false;
+		data += done;
+		len -= done;
+	}
+
+	return true;
+}
 #endif
 
 static int get_error(const char *errorstring)
diff --git a/tools/xenstore/xenstore_client.c b/tools/xenstore/xenstore_client.c
index 0628ba275e..8ff8abf12a 100644
--- a/tools/xenstore/xenstore_client.c
+++ b/tools/xenstore/xenstore_client.c
@@ -8,6 +8,7 @@
  *
  */
 
+#include <assert.h>
 #include <err.h>
 #include <errno.h>
 #include <fcntl.h>
@@ -40,12 +41,140 @@ enum mode {
     MODE_watch,
 };
 
+/* Sanitising (quoting) possibly-binary strings. */
+struct expanding_buffer {
+    char *buf;
+    int avail;
+};
+
 static char *output_buf = NULL;
 static int output_pos = 0;
 static struct expanding_buffer ebuf;
 
 static int output_size = 0;
 
+/* Ensure that given expanding buffer has at least min_avail characters. */
+static char *expanding_buffer_ensure(struct expanding_buffer *ebuf,
+                                     int min_avail)
+{
+    int want;
+    char *got;
+
+    if ( ebuf->avail >= min_avail )
+        return ebuf->buf;
+
+    if ( min_avail >= INT_MAX/3 )
+        return 0;
+
+    want = ebuf->avail + min_avail + 10;
+    got = realloc(ebuf->buf, want);
+    if ( !got )
+        return 0;
+
+    ebuf->buf = got;
+    ebuf->avail = want;
+    return ebuf->buf;
+}
+
+/* sanitise_value() may return NULL if malloc fails. */
+static char *sanitise_value(struct expanding_buffer *ebuf,
+                            const char *val, unsigned len)
+{
+    int used, remain, c;
+    unsigned char *ip;
+
+#define ADD(c) (ebuf->buf[used++] = (c))
+#define ADDF(f,c) (used += sprintf(ebuf->buf+used, (f), (c)))
+
+    assert(len < INT_MAX/5);
+
+    ip = (unsigned char *)val;
+    used = 0;
+    remain = len;
+
+    if ( !expanding_buffer_ensure(ebuf, remain + 1) )
+        return NULL;
+
+    while ( remain-- > 0 )
+    {
+        c= *ip++;
+
+        if ( c >= ' ' && c <= '~' && c != '\\' )
+        {
+            ADD(c);
+            continue;
+        }
+
+        if ( !expanding_buffer_ensure(ebuf, used + remain + 5) )
+            /* for "<used>\\nnn<remain>\0" */
+            return 0;
+
+        ADD('\\');
+        switch (c)
+        {
+        case '\t':  ADD('t');   break;
+        case '\n':  ADD('n');   break;
+        case '\r':  ADD('r');   break;
+        case '\\':  ADD('\\');  break;
+        default:
+            if ( c < 010 ) ADDF("%03o", c);
+            else           ADDF("x%02x", c);
+        }
+    }
+
+    ADD(0);
+    assert(used <= ebuf->avail);
+    return ebuf->buf;
+
+#undef ADD
+#undef ADDF
+}
+
+/* *out_len_r on entry is ignored; out must be at least strlen(in)+1 bytes. */
+static void unsanitise_value(char *out, unsigned *out_len_r, const char *in)
+{
+    const char *ip;
+    char *op;
+    unsigned c;
+    int n;
+
+    for ( ip = in, op = out; (c = *ip++); *op++ = c )
+    {
+        if ( c == '\\' )
+        {
+            c = *ip++;
+
+#define GETF(f) do                   \
+{                                    \
+     n = 0;                          \
+     sscanf(ip, f "%n", &c, &n);     \
+     ip += n;                        \
+} while ( 0 )
+
+            switch ( c )
+            {
+            case 't':           c= '\t';           break;
+            case 'n':           c= '\n';           break;
+            case 'r':           c= '\r';           break;
+            case '\\':          c= '\\';           break;
+            case 'x':           GETF("%2x");       break;
+            case '0': case '4':
+            case '1': case '5':
+            case '2': case '6':
+            case '3': case '7': --ip; GETF("%3o"); break;
+            case 0:             --ip;              break;
+            default:;
+            }
+#undef GETF
+        }
+    }
+
+    *op = 0;
+
+    if ( out_len_r )
+        *out_len_r = op - out;
+}
+
 /* make sure there is at least 'len' more space in output_buf */
 static void expand_buffer(size_t len)
 {
diff --git a/tools/xenstore/xs_lib.c b/tools/xenstore/xs_lib.c
index b9941c567c..37e2a272ca 100644
--- a/tools/xenstore/xs_lib.c
+++ b/tools/xenstore/xs_lib.c
@@ -49,13 +49,6 @@ static const char *xs_daemon_path(void)
 	return buf;
 }
 
-const char *xs_daemon_tdb(void)
-{
-	static char buf[PATH_MAX];
-	snprintf(buf, sizeof(buf), "%s/tdb", xs_daemon_rootdir());
-	return buf;
-}
-
 const char *xs_daemon_socket(void)
 {
 	return xs_daemon_path();
@@ -66,44 +59,6 @@ const char *xs_daemon_socket_ro(void)
 	return xs_daemon_path();
 }
 
-const char *xs_domain_dev(void)
-{
-	char *s = getenv("XENSTORED_PATH");
-	if (s)
-		return s;
-#if defined(__RUMPUSER_XEN__) || defined(__RUMPRUN__)
-	return "/dev/xen/xenbus";
-#elif defined(__linux__)
-	if (access("/dev/xen/xenbus", F_OK) == 0)
-		return "/dev/xen/xenbus";
-	return "/proc/xen/xenbus";
-#elif defined(__NetBSD__)
-	return "/kern/xen/xenbus";
-#elif defined(__FreeBSD__)
-	return "/dev/xen/xenstore";
-#else
-	return "/dev/xen/xenbus";
-#endif
-}
-
-/* Simple routines for writing to sockets, etc. */
-bool xs_write_all(int fd, const void *data, unsigned int len)
-{
-	while (len) {
-		int done;
-
-		done = write(fd, data, len);
-		if (done < 0 && errno == EINTR)
-			continue;
-		if (done <= 0)
-			return false;
-		data += done;
-		len -= done;
-	}
-
-	return true;
-}
-
 /* Convert strings to permissions.  False if a problem. */
 bool xs_strings_to_perms(struct xs_permissions *perms, unsigned int num,
 			 const char *strings)
@@ -179,114 +134,3 @@ unsigned int xs_count_strings(const char *strings, unsigned int len)
 
 	return num;
 }
-
-char *expanding_buffer_ensure(struct expanding_buffer *ebuf, int min_avail)
-{
-	int want;
-	char *got;
-
-	if (ebuf->avail >= min_avail)
-		return ebuf->buf;
-
-	if (min_avail >= INT_MAX/3)
-		return 0;
-
-	want = ebuf->avail + min_avail + 10;
-	got = realloc(ebuf->buf, want);
-	if (!got)
-		return 0;
-
-	ebuf->buf = got;
-	ebuf->avail = want;
-	return ebuf->buf;
-}
-
-char *sanitise_value(struct expanding_buffer *ebuf,
-		     const char *val, unsigned len)
-{
-	int used, remain, c;
-	unsigned char *ip;
-
-#define ADD(c) (ebuf->buf[used++] = (c))
-#define ADDF(f,c) (used += sprintf(ebuf->buf+used, (f), (c)))
-
-	assert(len < INT_MAX/5);
-
-	ip = (unsigned char *)val;
-	used = 0;
-	remain = len;
-
-	if (!expanding_buffer_ensure(ebuf, remain + 1))
-		return NULL;
-
-	while (remain-- > 0) {
-		c= *ip++;
-
-		if (c >= ' ' && c <= '~' && c != '\\') {
-			ADD(c);
-			continue;
-		}
-
-		if (!expanding_buffer_ensure(ebuf, used + remain + 5))
-			/* for "<used>\\nnn<remain>\0" */
-			return 0;
-
-		ADD('\\');
-		switch (c) {
-		case '\t':  ADD('t');   break;
-		case '\n':  ADD('n');   break;
-		case '\r':  ADD('r');   break;
-		case '\\':  ADD('\\');  break;
-		default:
-			if (c < 010) ADDF("%03o", c);
-			else         ADDF("x%02x", c);
-		}
-	}
-
-	ADD(0);
-	assert(used <= ebuf->avail);
-	return ebuf->buf;
-
-#undef ADD
-#undef ADDF
-}
-
-void unsanitise_value(char *out, unsigned *out_len_r, const char *in)
-{
-	const char *ip;
-	char *op;
-	unsigned c;
-	int n;
-
-	for (ip = in, op = out; (c = *ip++); *op++ = c) {
-		if (c == '\\') {
-			c = *ip++;
-
-#define GETF(f) do {					\
-			n = 0;				\
-			sscanf(ip, f "%n", &c, &n);	\
-			ip += n;			\
-		} while (0)
-
-			switch (c) {
-			case 't':		c= '\t';		break;
-			case 'n':		c= '\n';		break;
-			case 'r':		c= '\r';		break;
-			case '\\':		c= '\\';		break;
-			case 'x':		GETF("%2x");		break;
-			case '0': case '4':
-			case '1': case '5':
-			case '2': case '6':
-			case '3': case '7':	--ip; GETF("%3o");	break;
-			case 0:			--ip;			break;
-			default:;
-			}
-#undef GETF
-		}
-	}
-
-	*op = 0;
-
-	if (out_len_r)
-		*out_len_r = op - out;
-}
diff --git a/tools/xenstore/xs_lib.h b/tools/xenstore/xs_lib.h
index efa05997d6..61229aa435 100644
--- a/tools/xenstore/xs_lib.h
+++ b/tools/xenstore/xs_lib.h
@@ -22,8 +22,6 @@
 #include "xenstore_lib.h"
 
 const char *xs_daemon_rootdir(void);
-const char *xs_domain_dev(void);
-const char *xs_daemon_tdb(void);
 
 /* Convert permissions to a string (up to len MAX_STRLEN(unsigned int)+1). */
 bool xs_perm_to_string(const struct xs_permissions *perm,
@@ -32,19 +30,4 @@ bool xs_perm_to_string(const struct xs_permissions *perm,
 /* Given a string and a length, count how many strings (nul terms). */
 unsigned int xs_count_strings(const char *strings, unsigned int len);
 
-/* Sanitising (quoting) possibly-binary strings. */
-struct expanding_buffer {
-	char *buf;
-	int avail;
-};
-
-/* Ensure that given expanding buffer has at least min_avail characters. */
-char *expanding_buffer_ensure(struct expanding_buffer *, int min_avail);
-
-/* sanitise_value() may return NULL if malloc fails. */
-char *sanitise_value(struct expanding_buffer *, const char *val, unsigned len);
-
-/* *out_len_r on entry is ignored; out must be at least strlen(in)+1 bytes. */
-void unsanitise_value(char *out, unsigned *out_len_r, const char *in);
-
 #endif /* XS_LIB_H */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 08:59:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 08:59:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516540.800823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pho7i-0004Qx-DA; Thu, 30 Mar 2023 08:59:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516540.800823; Thu, 30 Mar 2023 08: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 1pho7i-0004Qo-A9; Thu, 30 Mar 2023 08:59:10 +0000
Received: by outflank-mailman (input) for mailman id 516540;
 Thu, 30 Mar 2023 08:59: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=QMey=7W=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1pho0H-0005Qp-PP
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 08:51:29 +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 0eeb8b88-ced8-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 10:51:27 +0200 (CEST)
Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 949FE21B1B;
 Thu, 30 Mar 2023 08:51: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 623DE138FF;
 Thu, 30 Mar 2023 08:51:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ow+nFo9NJWSMIwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 30 Mar 2023 08: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: 0eeb8b88-ced8-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1680166287; 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=fx98eisytmRk+NNDmkl4p0Eqn//P5VGBs6rsYeEk9Xk=;
	b=ssDB9Qs3USwxA5Beb+gvk1chdy8+gctEL9x4W3AnsW04+KkBm5oLUpaQ6w49zbVznXVoGj
	ocH2bCmoIge09zeuobVwMfJfUSwv5HY70Uo5wGCo7lqeq0GAGGWYtkEaxN+PALPZezMaNZ
	pQZDlhvtS7X3Sq7Uyg6q+6Gia4EXYpY=
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 13/13] tools/xenstore: remove unused stuff from list.h
Date: Thu, 30 Mar 2023 10:50:11 +0200
Message-Id: <20230330085011.9170-14-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20230330085011.9170-1-jgross@suse.com>
References: <20230330085011.9170-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove the hlist devines/functions and the rcu related functions from
tools/xenstore/list.h, as they are not used.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstore/list.h | 227 ------------------------------------------
 1 file changed, 227 deletions(-)

diff --git a/tools/xenstore/list.h b/tools/xenstore/list.h
index a464a38b61..d722a91220 100644
--- a/tools/xenstore/list.h
+++ b/tools/xenstore/list.h
@@ -88,48 +88,6 @@ static inline void list_add_tail(struct list_head *new, struct list_head *head)
 	__list_add(new, head->prev, head);
 }
 
-/*
- * Insert a new entry between two known consecutive entries. 
- *
- * This is only for internal list manipulation where we know
- * the prev/next entries already!
- */
-static __inline__ void __list_add_rcu(struct list_head * new,
-	struct list_head * prev,
-	struct list_head * next)
-{
-	new->next = next;
-	new->prev = prev;
-	next->prev = new;
-	prev->next = new;
-}
-
-/**
- * list_add_rcu - add a new entry to rcu-protected list
- * @new: new entry to be added
- * @head: list head to add it after
- *
- * Insert a new entry after the specified head.
- * This is good for implementing stacks.
- */
-static __inline__ void list_add_rcu(struct list_head *new, struct list_head *head)
-{
-	__list_add_rcu(new, head, head->next);
-}
-
-/**
- * list_add_tail_rcu - add a new entry to rcu-protected list
- * @new: new entry to be added
- * @head: list head to add it before
- *
- * Insert a new entry before the specified head.
- * This is useful for implementing queues.
- */
-static __inline__ void list_add_tail_rcu(struct list_head *new, struct list_head *head)
-{
-	__list_add_rcu(new, head->prev, head);
-}
-
 /*
  * Delete a list entry by making the prev/next entries
  * point to each other.
@@ -156,23 +114,6 @@ static inline void list_del(struct list_head *entry)
 	entry->prev = LIST_POISON2;
 }
 
-/**
- * list_del_rcu - deletes entry from list without re-initialization
- * @entry: the element to delete from the list.
- *
- * Note: list_empty on entry does not return true after this, 
- * the entry is in an undefined state. It is useful for RCU based
- * lockfree traversal.
- *
- * In particular, it means that we can not poison the forward 
- * pointers that may still be used for walking the list.
- */
-static inline void list_del_rcu(struct list_head *entry)
-{
-	__list_del(entry->prev, entry->next);
-	entry->prev = LIST_POISON2;
-}
-
 /**
  * list_del_init - deletes entry from list and reinitialize it.
  * @entry: the element to delete from the list.
@@ -339,172 +280,4 @@ static inline void list_splice_init(struct list_head *list,
 	     &pos->member != (head); 					\
 	     pos = n, n = list_entry(n->member.next, typeof(*n), member))
 
-
-/* 
- * Double linked lists with a single pointer list head. 
- * Mostly useful for hash tables where the two pointer list head is 
- * too wasteful.
- * You lose the ability to access the tail in O(1).
- */ 
-
-struct hlist_head { 
-	struct hlist_node *first; 
-}; 
-
-struct hlist_node { 
-	struct hlist_node *next, **pprev; 
-}; 
-
-#define HLIST_HEAD_INIT { .first = NULL } 
-#define HLIST_HEAD(name) struct hlist_head name = {  .first = NULL }
-#define INIT_HLIST_HEAD(ptr) ((ptr)->first = NULL) 
-#define INIT_HLIST_NODE(ptr) ((ptr)->next = NULL, (ptr)->pprev = NULL)
-
-static __inline__ int hlist_unhashed(struct hlist_node *h) 
-{ 
-	return !h->pprev;
-} 
-
-static __inline__ int hlist_empty(struct hlist_head *h) 
-{ 
-	return !h->first;
-} 
-
-static __inline__ void __hlist_del(struct hlist_node *n) 
-{
-	struct hlist_node *next = n->next;
-	struct hlist_node **pprev = n->pprev;
-	*pprev = next;  
-	if (next) 
-		next->pprev = pprev;
-}  
-
-static __inline__ void hlist_del(struct hlist_node *n)
-{
-	__hlist_del(n);
-	n->next = LIST_POISON1;
-	n->pprev = LIST_POISON2;
-}
-
-/**
- * hlist_del_rcu - deletes entry from hash list without re-initialization
- * @entry: the element to delete from the hash list.
- *
- * Note: list_unhashed() on entry does not return true after this, 
- * the entry is in an undefined state. It is useful for RCU based
- * lockfree traversal.
- *
- * In particular, it means that we can not poison the forward
- * pointers that may still be used for walking the hash list.
- */
-static inline void hlist_del_rcu(struct hlist_node *n)
-{
-	__hlist_del(n);
-	n->pprev = LIST_POISON2;
-}
-
-static __inline__ void hlist_del_init(struct hlist_node *n) 
-{
-	if (n->pprev)  {
-		__hlist_del(n);
-		INIT_HLIST_NODE(n);
-	}
-}  
-
-#define hlist_del_rcu_init hlist_del_init
-
-static __inline__ void hlist_add_head(struct hlist_node *n, struct hlist_head *h) 
-{ 
-	struct hlist_node *first = h->first;
-	n->next = first; 
-	if (first) 
-		first->pprev = &n->next;
-	h->first = n; 
-	n->pprev = &h->first; 
-} 
-
-static __inline__ void hlist_add_head_rcu(struct hlist_node *n, struct hlist_head *h) 
-{ 
-	struct hlist_node *first = h->first;
-	n->next = first;
-	n->pprev = &h->first; 
-	if (first) 
-		first->pprev = &n->next;
-	h->first = n; 
-} 
-
-/* next must be != NULL */
-static __inline__ void hlist_add_before(struct hlist_node *n, struct hlist_node *next)
-{
-	n->pprev = next->pprev;
-	n->next = next; 
-	next->pprev = &n->next; 
-	*(n->pprev) = n;
-}
-
-static __inline__ void hlist_add_after(struct hlist_node *n,
-				       struct hlist_node *next)
-{
-	next->next	= n->next;
-	*(next->pprev)	= n;
-	n->next		= next;
-}
-
-#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
-
-/* Cannot easily do prefetch unfortunately */
-#define hlist_for_each(pos, head) \
-	for (pos = (head)->first; pos; pos = pos->next) 
-
-#define hlist_for_each_safe(pos, n, head) \
-	for (pos = (head)->first; n = pos ? pos->next : 0, pos; \
-	     pos = n)
-
-/**
- * hlist_for_each_entry	- iterate over list of given type
- * @tpos:	the type * to use as a loop counter.
- * @pos:	the &struct hlist_node to use as a loop counter.
- * @head:	the head for your list.
- * @member:	the name of the hlist_node within the struct.
- */
-#define hlist_for_each_entry(tpos, pos, head, member)			 \
-	for (pos = (head)->first;					 \
-	     pos && ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \
-	     pos = pos->next)
-
-/**
- * hlist_for_each_entry_continue - iterate over a hlist continuing after existing point
- * @tpos:	the type * to use as a loop counter.
- * @pos:	the &struct hlist_node to use as a loop counter.
- * @member:	the name of the hlist_node within the struct.
- */
-#define hlist_for_each_entry_continue(tpos, pos, member)		 \
-	for (pos = (pos)->next;						 \
-	     pos && ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \
-	     pos = pos->next)
-
-/**
- * hlist_for_each_entry_from - iterate over a hlist continuing from existing point
- * @tpos:	the type * to use as a loop counter.
- * @pos:	the &struct hlist_node to use as a loop counter.
- * @member:	the name of the hlist_node within the struct.
- */
-#define hlist_for_each_entry_from(tpos, pos, member)			 \
-	for (; pos && ({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \
-	     pos = pos->next)
-
-/**
- * hlist_for_each_entry_safe - iterate over list of given type safe against removal of list entry
- * @tpos:	the type * to use as a loop counter.
- * @pos:	the &struct hlist_node to use as a loop counter.
- * @n:		another &struct hlist_node to use as temporary storage
- * @head:	the head for your list.
- * @member:	the name of the hlist_node within the struct.
- */
-#define hlist_for_each_entry_safe(tpos, pos, n, head, member) 		 \
-	for (pos = (head)->first;					 \
-	     pos && ({ n = pos->next; 1; }) && 				 \
-		({ tpos = hlist_entry(pos, typeof(*tpos), member); 1;}); \
-	     pos = n)
-
 #endif
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 09:30:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 09:30:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516548.800832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phobt-0000vL-Tn; Thu, 30 Mar 2023 09:30:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516548.800832; Thu, 30 Mar 2023 09:30:21 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phobt-0000vE-Qy; Thu, 30 Mar 2023 09:30:21 +0000
Received: by outflank-mailman (input) for mailman id 516548;
 Thu, 30 Mar 2023 09: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phobs-0000v8-IY
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 09:30:20 +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 7c09f2d1-cedd-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 11:30:19 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9306.eurprd04.prod.outlook.com (2603:10a6:10:36e::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 09:30:17 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 09:30: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: 7c09f2d1-cedd-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M6Yx2mbnZJ1qoVf0jXDj+cscP3KiG8MXpXjwbBiIpSazoSqe2IpIZ6M7aXZdr3/4kPhT95qBOT6ZjlWjJtXtyVhJWjPTaRYoubCG3Qa8cIsVpv6ID6a/KSW8js/COerD+m0dLdLo48gZPUlq4d7bjv5FhH5ZPfUU1XvfQsVEmwMrH6bD8gJ87iFL3VDTr58pLZPuWyBYS1i1iYiqlYddOELBYQ3kXqdOEtHfTtv28wV2Kn/DmmwK2RinjKgerNiU8ayQ/g63UFpAYwBxckBNaRRgfvCc9AVFxzIo4/xbkqVvVtTDzFhKT5cdnNp6we4JS9Hk0NAKIyzpTbKDT2uRHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gNph5fBJ+JkcR9+lNUareAFqobusNg8mSVniHzK5MxA=;
 b=l1znfhALMoLU+TQ8Flv0lGj4p5UEL8yeAHu1jhrLyBWboWyDsht5XltkwpkFrFVkuznbBLGGWtNWAiACE6eQFKASqRci0Gbk2PL6vgoZt8rfKFhZwB7GSl/tg1uiVLdl/s83Hd8+UDcjtMPLY2QTRkA1r3lfGWBhR1/l6Z3p/APL0ldWH8+CaL3Bh4yHLjlZGavRp8W8idivl/kbAji2iZ9ELlX+Ps8eQkoG3FbKBu9FFR+KYA4/umv9CqKWqgexSJrNU35a+zlLzuJ/TrIoZVvrbPEN+c+DSYcivGaTq8ebhnpJYLvT24NhOHLwFHo5LHX/KWwD5Ga2SxoKbutvhw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gNph5fBJ+JkcR9+lNUareAFqobusNg8mSVniHzK5MxA=;
 b=Q30ni2JjenG97QZoB90auKE1ZBb/1Hu6Bq9niFOVINvFEuybg3VxuoRxOAZHEwegUUJjp52NLPhAoQMpGs5sAd/hYqX+afihJSpmFf7o8+zdCeq6UVfprgTpxxsWUgGBGYrlwJeCKSem/RJavp7f+4sSLKa2uz4fvuN1zhFRWt+fknbAWSMjR0gANHElMCJM5Ubn3DHY9UUJIr92/7Y0IZHP0TMKj5N2mlWUGK4Iy4YM7MY2IqGTUaWsu9c+BstSgcow3sMLUsVa/+glSVy3awud7eyIZnr+ipbE8uO3UXn8cRg3CofPNSEYE11uBWpH4NWWRgrdjCfmBb6aZOPVjQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <885610de-aea4-6aec-af73-28ee9147fb65@suse.com>
Date: Thu, 30 Mar 2023 11:30:15 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 4/9] x86: Merge struct msr_policy into struct cpu_policy
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-5-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230329205137.323253-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0259.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::18) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9306:EE_
X-MS-Office365-Filtering-Correlation-Id: 7565c6a9-afae-4924-8c4c-08db31015f43
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OuKdbVecJQP1JmiaEKURnbk5JawNUb7zCYWbNsGXVUtQOz7ixV9lDmDqxJEr2ck4mY8Qxn2ipRucmxST8bWxi+zQqvojmGuqRO52Z0KrENYrcapUHZnx2YXt++pfX/tSnU01r1VQ7ahg4IwQK1HnQEnKyuhtA0ucgbp/SWEMFNFgpXuPJPEnAi227nwndc2kcsXcNq/YU/vhRH2MdeIdDErqqsbYpuQ1QZ6S4YH1pOIe26iE/3CnQ6Ok771AvsB8q91Aw8nG4y3tT57pd3pphw0PFSqBYF2UotRBOT21OIiwSVeKDo09PY19S+2u4kD7JU4hZvnTbPMwkQN4tEjUhlBGY2CbW24kRJc59ZU2qnJjjXZuBm3f2Xrh24Aeke/adUdV91qy8+VuPKT0zvi4Mt57kb7YtL31s8zLhGi+fWtnIDjDV27B7nKAff2o+ZWqPdX4RaiQRqMkxMMj/ppcRZFqAxRefeTEAMwn7EWqdiLlzPWhQCR3J/WMcgKqLcle5XReATHIwvhd8nDaEIKZ6sCA2NqY2eksm7qKM9T04VwFy3fSxLY05vPVrbI9Z0OOmePE8S1xafPHZfENaLGndXalG54OhEkFyKfTvgmooSP5Z0MoJdpQmtO0eMtYhc6yX5KuH5CR14PKdwWK75Z1FfV0phEYtnA0+eKbRKmrb2syIu/6aUWWbq+obOvOhEGF
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(376002)(396003)(136003)(366004)(39860400002)(451199021)(6916009)(66946007)(66476007)(4326008)(54906003)(66556008)(5660300002)(316002)(38100700002)(8676002)(8936002)(41300700001)(186003)(83380400001)(6486002)(53546011)(6506007)(6512007)(2616005)(478600001)(26005)(86362001)(31696002)(2906002)(36756003)(31686004)(43740500002)(45980500001)(309714004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y05tWDVuZ0dSNGNqcmlpbzRQa3poU3JuTDhDQjNCcVNNQ3QvdTcwRmROdXVR?=
 =?utf-8?B?UW94SDFKbUJBYk5majYvYTJWSTE2MHBiNU5sTjFwOUxUTUYyNkhXMTgvTTMy?=
 =?utf-8?B?bHh5MnhDMUpidGhFZUM5amZOOXlJOTR6Zm9kZ1M4L3hKTHRsRVZxR0dkS25p?=
 =?utf-8?B?ckdiQUpvMDhQSzUvRzBzaldJeE55UHh2UUI5MHZHUnBSYWZoa2ZmaE0vS1Y5?=
 =?utf-8?B?c3pwQURHMjFZbGJFbEcxOTcxR0lKdWxpblZMdnZRSkFzSzc2TFJDcWQ0RkZN?=
 =?utf-8?B?OUtxczJJQlNmK3E5cUlGMFN6dlpVbnBMVU5tSkMzaVpiQThWU2NoK1dzcGVI?=
 =?utf-8?B?SXNBUFNBZWh3cGF2Ny8zVFdPejVpNVU3aGdXdGVrdWhFSEFXM1JEa0JFR3di?=
 =?utf-8?B?amVidGluenV5TnJTN2dsRW5jbFhCUWR1SXJ0Y0dZUlB2Ykx2SGhaR1gvOWlL?=
 =?utf-8?B?cllGTXByNFEyOVMyaTZLdUJpZ3Y1V1pyN2M0WHRveWVJd0VrSFZOQ1NXSmhk?=
 =?utf-8?B?b21uUzI3NU1GMXFJOHJJVlVCR2hxd29nRzRlaDZJblV3cDQvN0tjd1lYK2M1?=
 =?utf-8?B?anB0THRHa0RlMzJQNFkzUGVUa1pQUGd5bVYvR0NjaTkzamJERU9yZnZ5c1FY?=
 =?utf-8?B?SzFFRmV2L2pqNTRrNkdOQzNlZUtLYzAyZkkrT0pZNWRHRWh0SkFwYURJbEI5?=
 =?utf-8?B?TGFKRE9zVVZBeWF2NUI3dzhXMWZCTE5UNXEyeUE2M2VEVTZ4S2JHR1NvcEs5?=
 =?utf-8?B?K0lRb0FEZFFubE1abm5qOWxyZ2ZoOTVOS3pvc3YrM3QwV0RwZWVYV1RndTYz?=
 =?utf-8?B?Wjc4UnJuODAzMnZEZld6c094OVYya0UzT2tyT2FuMmpvS0RKaHQ3ZFpnbEtr?=
 =?utf-8?B?MUtTcDhoU3RaRThITFRjbU1hZ09nL0lpOU12cE9OTVc4Q20yc2U1RTdDRWs5?=
 =?utf-8?B?a2s1cWt5WTBKVXd3L3o4aHRuWW53YmVpWk9CWEFxMEU3VnBOL0lmaFJqcjcz?=
 =?utf-8?B?RDM0ZHJwQjl6QURaTWVsY29oTFc5OWNScDJZdFFNMUV4TDFScThkYVlqRmtU?=
 =?utf-8?B?SXJxZXhWaFJFRXB3M1FHaVk3OE9xN0hwTVgvdFJ0eitHOXlRaituMDZ1M283?=
 =?utf-8?B?QVRYb0dNUkIrK2xIUllRV2k0dHNOZXBleVJhbkhtS2FNMzRzb2gvWDdmaGtI?=
 =?utf-8?B?NVRXVGh0dmVWdjYzVVNWVDA1ZENVSGc5bzdraGdYd1hTRXdPa2x1N1AvYnNl?=
 =?utf-8?B?OUsyT1N1UkoyRFBGSEVwODFNVnEzSjErTm9FOCtuVEI2N0hmUktxdWRpY0lS?=
 =?utf-8?B?UXFxSGhOTDd4OXZjSGlaSEZUdGo0aXZvckJpQTMrYkVaRWQ2MXBBYm1ZT3V4?=
 =?utf-8?B?Um5PNWw0b21mTmU1dm82amNmNEg1cDlMci91aVFxZWlvc2pMYVJHWDZtYVN0?=
 =?utf-8?B?cW1kOTVSUEliZHRRV1BWMENIcmQ3VXdVVWJvT1ZUNFd1M1NnQi94N3YzbXZi?=
 =?utf-8?B?RGNXcWpaOXpNMW5jRXlTcmVCckR0UU9LSHZTNkdKeEJNdk1YWFN5bnlYTTRq?=
 =?utf-8?B?VW5oWWZENDdINmhUMVBjK2VWY2c3cGlXYThRcUVZRFZicmNIWEsxWHMwNUxk?=
 =?utf-8?B?OUJkTmdIUmpQc2ZLYnhzVzAvSTV2Lzh1RG1HZ0I0T3ozSmxnbUhDQURXT2pC?=
 =?utf-8?B?YVllaUMwVFZPR0VFYjlscWhtSDJNUnhtd1djY1AwYUh6YzQ1R29HbzJnbkxC?=
 =?utf-8?B?MGp4akFvYlBRTHpwZWJiQkFRTE5ub0NsRk13ZldtU0JoNDQ2Mm5JdnlJTmNs?=
 =?utf-8?B?VWsvNnJjU2prUERhbW1CRytuVFVEZGU5b280aVZISEt1dlJtNUVMZ1RBTWVJ?=
 =?utf-8?B?cDBIN3dtNkZoVHY3cm9GU0tNcmNibGNSZ09kbG96Ly9MZjhCZ3gzN1M3Sm5s?=
 =?utf-8?B?VGZEUGtJaGhXT0p5ZVdiVWM4eDBUUHJPZUZscjEwQWJRYkhXdU9DMlZTa2ti?=
 =?utf-8?B?Myt1S0hRQVU1Zk1xNDd0THF4K3lXaVB6M1FUem4zMzZTcTVrZm9LOTZVUkJy?=
 =?utf-8?B?MFZPU2EwRC9YNVB3TlN6NFoyVjlaWkdpRXRZdG9vOHZrSlhVNk5xakpVOVRU?=
 =?utf-8?Q?U0uGWaiHPD/OKTlkk08HYaWxn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7565c6a9-afae-4924-8c4c-08db31015f43
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 09:30:16.8193
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: P5NUhwytGHkbNJNl2otEL8NpFGE/Cq0zqZwhDQJ4Slzw5DM/cqnmAkl+7bY/myLn4IPlrFFN1UJYI31h9cst0g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9306

On 29.03.2023 22:51, Andrew Cooper wrote:
> --- a/xen/include/xen/lib/x86/cpu-policy.h
> +++ b/xen/include/xen/lib/x86/cpu-policy.h
> @@ -3,7 +3,6 @@
>  #define XEN_LIB_X86_POLICIES_H
>  
>  #include <xen/lib/x86/cpuid-autogen.h>
> -#include <xen/lib/x86/msr.h>
>  
>  #define FEATURESET_1d     0 /* 0x00000001.edx      */
>  #define FEATURESET_1c     1 /* 0x00000001.ecx      */
> @@ -107,6 +106,9 @@ const char *x86_cpuid_vendor_to_str(unsigned int vendor);
>       CPUID_GUEST_NR_XSTATE - !!CPUID_GUEST_NR_XSTATE +  \
>       CPUID_GUEST_NR_EXTD + 2 /* hv_limit and hv2_limit */ )
>  
> +/* Maximum number of MSRs written when serialising msr_policy. */
> +#define MSR_MAX_SERIALISED_ENTRIES 2

The comment better wouldn't refer to msr_policy anymore, I think. I also
wonder whether the comment wouldn't better move ...

> @@ -324,6 +326,44 @@ struct cpu_policy
>          };
>      } extd;
>  
> +    /*
> +     * 0x000000ce - MSR_INTEL_PLATFORM_INFO

... e.g. above here, to increase the chance of it being spotted that
it needs updating if another MSR is added here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 09:40:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 09:40:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516551.800843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phom1-0002Qs-TX; Thu, 30 Mar 2023 09:40:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516551.800843; Thu, 30 Mar 2023 09: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 1phom1-0002Ql-QG; Thu, 30 Mar 2023 09:40:49 +0000
Received: by outflank-mailman (input) for mailman id 516551;
 Thu, 30 Mar 2023 09:40: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phom0-0002Qf-0O
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 09:40:48 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0612.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f21580b9-cede-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 11:40:46 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB10034.eurprd04.prod.outlook.com (2603:10a6:10:4c4::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Thu, 30 Mar
 2023 09:40:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 09:40: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: f21580b9-cede-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eQuUzydJfZZJ2N4/ThDd4SxSZNI0LSphUg5YBp1SzrfbCmIQFrhcrSvTE4jG/hWGebMVBaSadY/IjxOlcIJHsBuISk/y7xf5tSvf3yQY/QD/oiRBf2ohAAx31K8h8TbVFITE4biOnu+t7xgZb2EJ0yjY6V8zhcv7kyc/huwnjjWtFHm8Q2WzOADYNgp5YCcp/HlHXsVmpCPzoNYzBwNmsr2RmLvTlJLJzAXYFE8I8Rl4PyLtSlxFb+lHA2UY6O/TkzgfhOmp64dMzDlKi97upY12f8Y4+3d+dF81kqJ2SbIRIN9bOGtIx8oiRr32vnt9/SQ5dvTqYBBGqoPSHvJO/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=7FOF5IBTMudRrcIzMtKWAZCD5AeZFopY8mfnMr1WqLg=;
 b=ZD+Uw/emS5lRJhglhlydKOH580fWUWKFBSxcy44IjnhFRwt8K/PL4Nbz129uqJK0AAHSJj1ckzIxbrhZ4rArmY7NSxfkOUQy+i5Xx2kMR8ldZuFJJAP42ggSvcF4Qh4Cd5xoBGxUFnGNEHdVUNYJZ7Yfjf4LjJAKKYOkVqvRGl9aal4wnS+6ilgQ0uRzatnerXEToaIC537Hs5dKdn7JkRJeum7CuT5+oUJ0zC8W7sAqLfE/NsOiKkHTEi+q2EHPeavz+vc0TajsT4Jia2O+7gPT4vR4AH+eGE5qUvkZzKUY48+Nk6VLGm/6nPjw7vFieIFSxAOddFtFaP5ZKW0Wtg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7FOF5IBTMudRrcIzMtKWAZCD5AeZFopY8mfnMr1WqLg=;
 b=N97oMY8KVCRSryH2zn+VTqBNwEwJ2YihwJyK0/HyrSBW/d8p//5j+iFLUz/Y39wD39zPS92Aj4xxzZp1P1oW+kM4nnQf596L0kno4lX9+/n6JWKjzr5TgplK3bTbLH9oIjuyMBTSjwDvJ21VNCDanybYTzV+lWlK7AGT/QEbcK0QyGeb2M7HefTLe0jDZUJ7V70cLxlHPIYvfncF1Ko0v/QvgOpAn0r1bF03cUu3Z1pyHbZxISVfl0CW7BJGeXY7eQl2eejJF8MQzI2cwdmejA5CpzxNa3D48b4bEEhTFy6wc7T7fDbwaGJ4QHWaqY+B4uNLYPKrAHI6Xq+fCBVhrg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4051f9f4-2306-204a-1ea7-5cadb6eaa175@suse.com>
Date: Thu, 30 Mar 2023 11:40:42 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 5/9] x86: Merge the system {cpuid,msr} policy objects
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-6-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230329205137.323253-6-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0059.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::21) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB10034:EE_
X-MS-Office365-Filtering-Correlation-Id: bca2b5df-5c66-45ac-25c6-08db3102d509
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7Skmxkst8HOjIB1MgAnAkCBpgfspmzFXndrjitjs9HCfX7YbRgvbbSRNn8/hq8WyXiWbW87VfyE/0aC74dAcQ0FC+jPsYX4B53EM9zUpIEKStOR7ndMPEGuDN0DqmV7BFarN1uj+lZyuu/R2po0wMnc5VFJ2zjNFW4s0TYM8jZNNoCjGdcXRXHSK4aGzZTNfoDH95fFq3LqjJKsVfPRCJXGuoDdDZbHxQKG7ZwY/1yk7mSFbM1EVCDcK8I0r9SnR5u+Jjjvqi7ObNKGghnORmGR42JJ9aims4oRS7lwS4+HB5mlYFAXP6wQkGx0SenfWjPiWCwZFcajh6Sf36O6OdMjl4YKqlydkU4LGFzUtkrXBHxpZLRJZs35Rdzb0WkuzmCcHSRoGRTtLeeEg3O79WzHF+5Hk3JT8+iVFvCBGz9MFmCLdtGwj+j7rs6QsqSclklrz9OLuWERxDtPx2CFtJ3c8zj9wjLPvrntSfGcQxDADcOawFr7O6BrWGNMvb7SA/3vdptUxzeSI9fghkDXTP5AZPD7ojDG0IV0NJE91H4gSca25i9Kg+lgZTHnTDlHF9tK/ycsKmbYW5YhPCvo86P9rCeDEsEOB5ISBCfta3+V8vQVN5zVvqCfIoGMXQOd0HFBkkJrk44XmCleFqdolbw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(376002)(136003)(39860400002)(396003)(451199021)(31686004)(38100700002)(316002)(5660300002)(2616005)(8936002)(2906002)(83380400001)(41300700001)(31696002)(54906003)(6916009)(8676002)(4326008)(66476007)(66946007)(66556008)(6512007)(86362001)(186003)(6506007)(53546011)(26005)(36756003)(478600001)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MUI5TmtmNWNOWHVJZnRiczNSNWxjRGxLbG5yb1oxTHl5YUJUR3dMcHEybytR?=
 =?utf-8?B?WGV2cG5TSU1Sb2ZMUVoyc0RHMXoweHltaXdJR2loOXZybFJ6QmNNcGN6RUpx?=
 =?utf-8?B?eldOV1J3cnd0SkowMU9ER3U1RzVic0o1a3ZHOW15cVhiNkhtZW1IU1JlSXJH?=
 =?utf-8?B?VTNheVVpdHBqMFFrbm9USVMzaGhUSTdObnhlWUczYmpqOXNtd2lLNXlUbVg3?=
 =?utf-8?B?cWhIZ1JsZG9CV0xEM1d6eG9GRVoxTVhGMjhVbWlCUXlrQk9xaUk5dEpHYkwx?=
 =?utf-8?B?b3NQQ2hQWHhwQ091S2JydkZ4VVJxZWRzdC91a0g5VFk0QlFBbjlnM3BtQnNl?=
 =?utf-8?B?M2ZaV2VxZzV4SE56YkV2OGZiV3dtZGs3bFRKeFlFQ0xtbGN2NGJ1eVhoUlJi?=
 =?utf-8?B?NlBpZjc1NFJ5VFp2R05KUHNLcVA3WGc5aVJLN0F1SGRXZmsyakJKNkV4by9i?=
 =?utf-8?B?bUx2cThET1lWeUlXY3A1Y3NESDdCbURjbzdUU0NwSEtqNU1vS1NjM1gvOWY5?=
 =?utf-8?B?ZnNXdnh5TkpNdkd0ZnI0OHRRTGtYM0ZMZ0RhamtDY1FkVXNGaXNSZDhBYTk1?=
 =?utf-8?B?bWpXaEJPK1lqcnQ4NHc2aGtlakVlbzJTdGc5c1BUbEJtWTJQZW82L1J1c3Bv?=
 =?utf-8?B?Q2U5NDRGNyttTklRbHJFdTI2MlVsVmpkVkxXbFNKTzZhOCtxZDh1bWgvUm9z?=
 =?utf-8?B?L3lDWER0MjdISDA4T3ZDVEVJakdybnBGck4zcXNIQVNNQVhuN3VtNXpReFpP?=
 =?utf-8?B?NEZ5MzY2K05hU2pCdEpBR3lrWVdyMnY0KysxcnJEWHdxSjU2UFplVlNkajNV?=
 =?utf-8?B?KzFlbEVKMkxic3FnR3NEaU11eGtIZGRoM0VmckFBaEhrWXhqWFU4dDhlUkdQ?=
 =?utf-8?B?RUFTdkdySG85aFFQZ2dDakFNb1gyT1d6R1F3ZGdtZjJEQ2NxTnVTUS9PdjVF?=
 =?utf-8?B?MXE3TzEzSVprVnoxSXhaMWRXaXVtNnRDcVh2a0Z4SFhNZTBYODdmTlEycU5R?=
 =?utf-8?B?WkpiWnVEUWE3NE1IeGZSckExOGdWaEhVZDhpYUI5N084dFNqcDJvS1Nmd3BL?=
 =?utf-8?B?Z3NyOHRSaC9yUnI2OUx4dUVDUjZhRzZjZ3N5c2FOOWdVWVh2eWFEWjFkWjY4?=
 =?utf-8?B?czlBSk9NZzFqTFpnQnBhay80RmdtcmRHOHp6Zld5Ly9vaHlrV3JTZ0JFUXhN?=
 =?utf-8?B?RUJZZ3p2eHV6aCt1aEhyRCtlc21nQjdFUWdMQVdnRElXR1NKeEdUOUh0bEwr?=
 =?utf-8?B?SW9XVnkxVHhpOXlDelNZaWgrTXJxeFEzaXhnMHg5ZVNNK0pjcVRGbmZUZ2Ro?=
 =?utf-8?B?aVI2OWdQS1p5UDB2UUJtV3JTaVJkZENFcUZJKzNxWEltQ3gyZE1CdEw2Wk8y?=
 =?utf-8?B?VmpwQmM2SmhkbmFDMVdCMGg0bldlRndFaENBNEdrNnZqV1hzVFpmdWJhcW5W?=
 =?utf-8?B?Zjdkc1p4YkluOE5NanpsVWpzSWRoVnF2SXU1R2ZtczNOdVNrQWE3VzdrSGg2?=
 =?utf-8?B?VDJFOFdnWmdOczhMTVc3RVl3NW9JZjRoQk14Q3NhcHNWNUFOL3FNaFpDL1ho?=
 =?utf-8?B?bnlvanlvblA5VGhtbU82cUp4alBORzFLdUdKbS9FZ25ZSGVaYTJYRnVlTHVy?=
 =?utf-8?B?NG5WR09WY1AyR250QTNKV1puTHZrRzJndVBINjNtRjJjVGE1VHA1dnpOamJF?=
 =?utf-8?B?WklHMytTLzNTMGV3S2pxQjhNYnBqMnZrSTZmQ0Rmd2lVTit3OEJrUmZBZ0l0?=
 =?utf-8?B?VFJtMjQ1dU0ySTEyTW5mZ1lSWC9NQzQ0ZnRtZlVWdnMvSHg3ZUFWQnpZMzlq?=
 =?utf-8?B?UTMvR3BqTXlRbDNSVmVmMXc5VktDekQ1dzU1QjNMT01rd1NQR1VPZzJvUzNG?=
 =?utf-8?B?MnpJeUtiSzArYTBUZWRLYnByc25hUUNRVjhicUZmSmdpZW85dU1CRjVpRnNF?=
 =?utf-8?B?YU12Q3FnQ3B0bVlzOUM2cmNpbjRva05nMU1PdEpkOEUydGhzbVdzMkV4S09l?=
 =?utf-8?B?K2RodmhWU2dzbWx5TUJ6dDRsYzNkU0tXWUx6bnNGREh5QWpPb09XTlA1MTJq?=
 =?utf-8?B?dzVBcnNvK3FwdWFJTlBsNkJJK2Vld0hSb1prUDQxVmcwWUdEcnNYbzBLTG5U?=
 =?utf-8?Q?jYQdPGqj9EwEzYDkAMzHqodCR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bca2b5df-5c66-45ac-25c6-08db3102d509
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 09:40:43.8179
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xZqcnW20I5GSTuKrKtv9scbmKUjwA7zhGb61bHv+wUqLNi8rNb4/ZbR4Jopl5nKb0Ls8p5z6gN/+L7BHW63WJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB10034

On 29.03.2023 22:51, Andrew Cooper wrote:
> Right now, they're the same underlying type, containing disjoint information.
> 
> Introduce a new cpu-policy.{h,c} to be the new location for all policy
> handling logic.  Place the combined objects in __ro_after_init, which has
> appeared since the original logic was written.
> 
> As we're trying to phase out the use of struct old_cpu_policy entirely, rework
> update_domain_cpu_policy() to not pointer-chase through system_policies[].
> 
> This in turn allows system_policies[] in sysctl.c to become static and reduced
> in scope to XEN_SYSCTL_get_cpu_policy.
> 
> No practical change, but we do half the amount of compile time space required
> for the system policies, which saves 6x almost-2k at the moment.

But what you save here is only what was introduced earlier in the series,
if I'm not mistaken (just like the "containing disjoint" further up)? Also 
do you mean "halve" in place of "half"?

> @@ -391,7 +360,19 @@ long arch_do_sysctl(
>  
>      case XEN_SYSCTL_get_cpu_policy:
>      {
> -        const struct old_cpu_policy *policy;
> +        static const struct cpu_policy *system_policies[6] = {

Another const wanted here after *?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 09:55:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 09:55:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516555.800853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phozH-00040V-6O; Thu, 30 Mar 2023 09:54:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516555.800853; Thu, 30 Mar 2023 09: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 1phozH-00040O-2V; Thu, 30 Mar 2023 09:54:31 +0000
Received: by outflank-mailman (input) for mailman id 516555;
 Thu, 30 Mar 2023 09:54:29 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fiWc=7W=citrix.com=prvs=446b09b9a=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phozF-00040G-H0
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 09:54:29 +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 da0d6308-cee0-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 11:54:26 +0200 (CEST)
Received: from mail-mw2nam12lp2044.outbound.protection.outlook.com (HELO
 NAM12-MW2-obe.outbound.protection.outlook.com) ([104.47.66.44])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 05:54:14 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SA0PR03MB5385.namprd03.prod.outlook.com (2603:10b6:806:b2::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 09:54:12 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Thu, 30 Mar 2023
 09: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>
X-Inumbo-ID: da0d6308-cee0-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680170066;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=8XG9dPAsH3OTDtiUthCKw6IMShAyGZeZthTCrFfSAmQ=;
  b=LYyT7oI1RY/d8iBs1ITZcZQr7j8rL8FthcalgzvIuusNxZ1/r4z2U7Y1
   ArfhDh5TMHTOtiprVqPSM0Y5KjovYDnBvc6c6qN3OE1MQJCxEtnQfwLuu
   wIMmk6m89N8vqMEptSxc0oz9B3+zvWEfEc4z88/apkX8bgqMILrd9OmOC
   A=;
X-IronPort-RemoteIP: 104.47.66.44
X-IronPort-MID: 103017855
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:JVHmL6I0CleoIATbFE+R9pQlxSXFcZb7ZxGr2PjKsXjdYENSgTNVy
 2MaCm+APq2LM2bxLopzOoSw8x9UsZLTmNIxGgBlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QdmPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c4pXlES9
 PA3MQkwLRWS2Ou87ZKmZMxz05FLwMnDZOvzu1lG5BSAV7MDfsqGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/RppTSPpOBy+OGF3N79YNuFSN8Thk+Fj
 mnH4374ElcRM9n3JT+tqyr33raQzX6mMG4UPK3lx64yim2N+jA4FjNIDHyq/8O3oEHrDrqzL
 GRRoELCt5Ma9kamU938VB2Qu2Ofs1gXXN84O/037kSBx7TZ5y6dB3MYVXhRZdo+rsg0SDc2k
 FiTkLvBGjhHoLCTD3WH+d+pQSiaPCEUKSoHenUCRA5cud37+tlv0lTIU8ppF7OzgpvtAzbsz
 juWrS84wbIOkcoM0Kb99lfC696xmqX0oscOzl2/dgqYAslRPeZJu6TABYDn0Mt9
IronPort-HdrOrdr: A9a23:T7qnC6s1RaVra4ACZle1okEM7skDZ9V00zEX/kB9WHVpm62j+v
 xG+c5xvyMc5wxhO03I5urwWpVoLUmzyXcX2+Us1NWZPDUO0VHARL2KhrGM/9SPIUzDH+dmpM
 JdT5Q=
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103017855"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e1r4UrcfsOw09T/DYeg6k5NLe7ZsJRBoQ6R1gNVFjAw83DCBCFcMCUJw3Jm7I/MxdMNvWWFCNyTn/lnfrG9L5HHWUjEs0ykSqqOrnUSmZ3sNxRQs8cxAoyDSz2B+AY0MOT/T35aN2gM/djbQZgNZ6mxIV3jV2Ss/d3IVGab6Id79w4bthxsrCNR3eDWZc9jgh1BDc5WR+Z/BH2fOX72VpmCY+rmvfdovmYIpDY0NsK7mTfIdYezV4/0uL2RpHfw4b3nGMj1q7HJGre2E/t5lBWCA3lAEbUIy6/KqeMZYm4Cl6vqKF/WchDCX1cK6ipR4+m3DFh6PQF2IVWN9B/44RQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6IxSEg8DkVUQNEGQHlPB8+9xYjyZBvOqPYorJiDMMTo=;
 b=nubaI1nOtVQCu8ryhybxggn52G7GDk8cE+mphrQPLbJlCQ8drrEpNjoV8Tr37nhH+oedVeUrsIwc0hAdwRBvwkF66YjFSOqkWDMSoGHWRUEtSbuvyamoo7xrFVe05vQjniQdK6QQcb85rUEvyWQs+JnC+SuhhVmCJRAgCXvNTJ6jDSHrlesQCoDJUg0eN3iGTPBLiZ1lIOyXe/J7p21iB2ZsIPHDEcwVvnc4QLzyxYT9W9+JabzH8Q8KQ2senAMc+3peLB05p2WNvRRZMZMDeL2pZszOoYi0yVqDuKcpMlPZ9PzDIcAii3KucAv86cJM7OCtiStCZ43McrRVHTnQbQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6IxSEg8DkVUQNEGQHlPB8+9xYjyZBvOqPYorJiDMMTo=;
 b=TX8uURfNCW6b0DD1BFOqJPmnhi4PiVaxRqHWkns2rvMnauy5bznWogJB9GsZRemaixN8W2eIiU3PSDR3rinLEykP+8oMgZh2NsU6ixeRPrdoouPnm4Q3RJ6+e9dvgjnvb6/fNg96WDdecpkTMWDScy6ZGmRg1ZtWTofd5x/d9Ec=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 30 Mar 2023 11:54:05 +0200
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 v2 0/8] x86emul: a few small steps towards disintegration
Message-ID: <ZCVcPQNBS3bjVF+W@Air-de-Roger>
References: <7f5287ad-8442-6c53-d513-f9a8345c4857@suse.com>
 <ZCL3W/HrwLANuE/0@Air-de-Roger>
 <40d58ac1-d0bb-afed-c0ae-c545c7bff30c@suse.com>
 <ZCRIbKcfi8hn1m8Z@Air-de-Roger>
 <600f8643-fddb-e9f8-3d73-41eead3d7cfa@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <600f8643-fddb-e9f8-3d73-41eead3d7cfa@suse.com>
X-ClientProxiedBy: LO4P123CA0591.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:295::13) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SA0PR03MB5385:EE_
X-MS-Office365-Filtering-Correlation-Id: 56c53f17-84a4-4adf-4dcb-08db3104b66a
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0/1bDrz9HJqHL8lDvLwSXyyEE1w1pWmOzKPs/WbJ+o0tu+xSCxLyLf882F7OVeEjjk6A+THevFllxiJX/DlgipYrS0nbvuaoq8szvii4XiUcjZjCZL1tM7qEq8BBVl7IHyja9/iKr/VVfpQhPna6O02p/opJ/fK5YCWnX58b9sYxW7RFsGKHWCcbpLRLjwjpSM9m9rz9qJCBxTxlSXBd7elIE+1TlDfxZTy93jqoFP5F0pDuRO3LqHQ7vLL8XqoozEy3zhztzgJsC5H30wrgvH4jYBMgpS/O0aECic2AwFtcWzvgm3B8pSc+AwfudOVCYP7nKunX9EZKRQ7MQCuq66ml+6TaGVJJo1ljUO/CTDmBG/no/V+aTa1i/NCrDW0HpA35QiaI2h+p9c8jW4aZnY4SEvMiUaAOm/VhbI0CjMucgzTNODsDu0V8lGb0VKzhFO9hKRrmbCpU04S6lUIBMUoriqgOq4UcOMhKwE4RHcqHBQweklNLvYDIJjVxOvQd0B49IY5NhVjiycZjciZxRDehULl4cEFP1+5fIlFqr+Y3EUHgwg28A/KgC3u5iupe2eVxcpBnuvM7ofOC2b7rBqIlqXO0AikRXcuYGIycVW0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(39860400002)(376002)(346002)(136003)(396003)(366004)(451199021)(53546011)(85182001)(9686003)(6512007)(6506007)(26005)(54906003)(478600001)(82960400001)(86362001)(4326008)(6916009)(8676002)(66476007)(66556008)(66946007)(186003)(316002)(41300700001)(33716001)(38100700002)(6666004)(2906002)(6486002)(8936002)(5660300002)(83380400001)(66899021)(67856001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dUQwdVZlLzVZV3FDS0RhTE44QUtXVndWSmVRQWFoRlpQT25TTlRtazFmd1NV?=
 =?utf-8?B?VHI5S0JianNYZlVreFhJUHhici9lTHpTalZCM2VjWUsxSUd3cFArTCtaWUdT?=
 =?utf-8?B?cXIwaUtuK3RYREg1WFg5UzBrbzVjN1AvNHRqK3hqZ1lFbHYvTlMrNTl0VGdH?=
 =?utf-8?B?RHFXSWx3U1RtWlhQdUpJVnhOYlIwS0pqWXpyZkRvckZ6NCtCdEdTbkVoTWx1?=
 =?utf-8?B?N05Xa0oyYTNsT2xULzZTb1ZteS9pUGg2NHVpR3ZkbUxXQ3RTRnNtSVlkditC?=
 =?utf-8?B?UzVUSktEa3RSLzV6VkN2WEU3NmVPQURpUGVYbENLZjVzaHVJcTdxUVJkMlR3?=
 =?utf-8?B?SFJCMHdyOTNqT3R6ZmN1YVBwdHYvRkVZUVZXMWY3L0RJUm5PZ0p5aE9iY2pM?=
 =?utf-8?B?dHJ0NHM4QUJGL0Mxb3FzN0REMGVNelQrbGJ3S1NocHdSYUtaQzl4Ykg4blVR?=
 =?utf-8?B?K2dVL3hoTGw1N1Iyd05CbzVRZHBieDd5MTM0S3VKYk9PaFZPd1ltMTNIUUt3?=
 =?utf-8?B?djNlNnNWbWdxdjcwLy93UUZjSXU3VGJlaWFnUEJFVE01TDl6LzVwRXJyVmFj?=
 =?utf-8?B?UzFEcmRMUmZJNTNaU0xSdGlYOVI0TjNYdjRXK1IxV1YzNEk2TkJETUNzZVdM?=
 =?utf-8?B?SzlZSGlzaURjRUtFWkUxOElxdmQxUTMvdXBOQWRWVmVKN1pWcFR6TTZSUTRP?=
 =?utf-8?B?Y1BQS1hMeFk2eTE3ZGk0eVFLYkhMNE5iQXhHZzI4Q1Nwdjllb095K3BhQVJC?=
 =?utf-8?B?bGlsSGI4Smw0UFhzYlloMkZwRFlmYndybHBDUXQ1Ui9aLzFaKzcyMUdsU2Rx?=
 =?utf-8?B?VmwraytoZWJwZGU4QWNRL2hUeHRLWWxEemlFdzk2d2k4aldWV3JYcC9PYmN0?=
 =?utf-8?B?UmxUaUEwcjhkenpKQk83bTlhYWd6RnpYM2diZlBkb2EvbVZkL3RnaDJ6QWo3?=
 =?utf-8?B?d0JpUFJqcEp3RTRuM0gyaVFneVJJQ1NhYldTNHJJUW4zYXhROTdsRDRhaktY?=
 =?utf-8?B?RmZPRUtzODFUK0JRWmdmZkw5allUdmluUVhKU3NBdldEdGhROTFrdTN5eEpr?=
 =?utf-8?B?OWdjMHM0V0l6dld4czRiWHdNRkd2N0VMWG8wN2tsMTlrYXI5d3BzTGJUcy9r?=
 =?utf-8?B?dmxySzJFSEVXYTVQanI2WlR5UUw1azIwTHU3ODhEUTEvRFVEVmRhQk93bnpY?=
 =?utf-8?B?THJRWmJmN3I1UjZWZjluanFlNnp1ZkFjbDZSNFpxVmpranZqNnhrVmNabVF5?=
 =?utf-8?B?ZUJORjZXL1VrUzMycDFuckExelFEcW5PL1JyTGJKczZUT0Q4WmpvNmxPamVM?=
 =?utf-8?B?SGY2eXByQlF0SWhoNzFoeVVneVZxV2JudVJoWGM0U1Z1MzZ2NjJjNDJvMVFP?=
 =?utf-8?B?ZGhBUElzdm1hQlNGeHFsc0dQeEVwSStrUlEreW45d0ZTRGV2S0EwYTBYWWdy?=
 =?utf-8?B?eUNIaEZhQTFxdlVlcnRhK3Y4SjV2Mm9rZHg2MnBwV3lNd3VSWFRod2dERzNJ?=
 =?utf-8?B?c0JEWXFRMmdhR0RlRzRVNlBpN1M3eFZRUWZIU0hzUmJLYmtzYmsyaU1vWG5N?=
 =?utf-8?B?TjFxZnd6M3RNc0hDeFIrNWE0ZFpmcUcwSVFmVWFEcjBVL0NFTnkzSkFab1gr?=
 =?utf-8?B?SmxWckRWOFNFMU1pOTdKSUYrRGZQOGtPV1JDTS9IcGhZN00xUTJiNlZQakdM?=
 =?utf-8?B?THFCYWJ6bHJTUFNsWWpYeTZLcW91cnVPTnhWYlZVU1FYV3UxQ2pEQUQrWUtl?=
 =?utf-8?B?NkhKS0E2RlNaUms3SjNkZXQvRGRMWjVvbEVyV3ZNbndWaUh6Nkw3N01pVGhr?=
 =?utf-8?B?aUk5RjFUT0paT016c0czYVlyWHdkNmI4STRJSHQ2VnFneDdTbDM3V0hxamZM?=
 =?utf-8?B?a3lzZlhmbjl4VXVjclBvbWM2QjZHR29mWVZjSXdLRnpneDl5d29TbFZ3UUo4?=
 =?utf-8?B?ZmlSRE02Q0pVL0dOUXdiMlpOUi9EUUNyY3RBQTJyZHIrTTlNbS9jT1B4U3Fv?=
 =?utf-8?B?SXZ5RUVvVEYrKzBqb2pqQ2g5WHFSaUtRdEdoY0owT1Z1emJFalNXSmE5Y1gz?=
 =?utf-8?B?ejJWZm1OWFJLbjRZNm9SRUFmNVVIZW1JREZkcEpKR0N6S0Exa3hFQzJrS1VC?=
 =?utf-8?Q?WpOdB1zABeXb9y7VhZfcgMVVA?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	ttppVgmQUiTKv1ua5RphFfFJw/MqZoIxmNutMnuKqHfRhb42AOr9hWtA0gL4djLDfJopX+DByGY8WSeA6yuifIEms7uFYRY2JMI5JpQNwsvE1vKL4XuPc+mvi+OBXpmIy5Dd/Mw0LTLblskC023AAS+K18sABjba6KOvcNpeK5hlEHQVbvQQGAft8Ah5p/iaY/DIfeUUNPffra33uUSvvTYFpZHYGWudjUr4RDvYw2x9qLdpg75KtMCpeQ7h+EWK2oQJzCpKVuB6uZ5w01PRIOh4pjw6/2ozkljf+tsd8XOANZgzsm4amlYu6JxQ236CjnaVn0wFVba6EtFIdvm8QoS45hyDI5L7I+Xm5eUY5S9XRwwrAfoXZdQ2rUdpwUvd3iDkGZ6Kl6GZ3MfA3xHRPLd9Dh+bSeq4LbQ7eECGJj7hOkZsIDM7Y3qpDYlHJcJDrRvXHGJxC6ovr/3VCbxeH7gqRsnTKjxMaV9puCWmLpup4OvVR7Pajginu3zDrR7529k+e9wlw13PwTK9FfgvSyV5n2cujahcWEs/SWmPbCW0JaoV3JIlm7syRJq12X5xXLJ/tel7+u5dIOdxuFcRhzQphCb3ch4IAdCFRWR0iCTzplYH0zgZpWNLXhPt5dyZ+j45vr5/TcsQWooHvBOrBV4u10bnX+jce1eBNbbuJa364rQ0dLAZHmGX9yJWN7ek+DqUuzf41STKhqrvzsGXdA/azbxhTtDnUj+63UGq62rmPCae9wjuROX45THIpl+rfFFHgRrbmHIaSwJ1+9rK8IXRcw7dn/fX5VUZC3ewDtci8CM+x+qIcGDM9vb2Af0O
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 56c53f17-84a4-4adf-4dcb-08db3104b66a
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 09:54:11.7325
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: T9P+QB/MlWg8vpXSaG6ckpVS2Elk2cpdYdQ8hLmXe2UYFydCpjsdLUu6KtQg3cpn2rW523wBKcNlUXmUe6wkuQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR03MB5385

On Thu, Mar 30, 2023 at 09:53:23AM +0200, Jan Beulich wrote:
> On 29.03.2023 16:17, Roger Pau Monné wrote:
> > On Tue, Mar 28, 2023 at 04:48:10PM +0200, Jan Beulich wrote:
> >> On 28.03.2023 16:19, Roger Pau Monné wrote:
> >>> On Wed, Jun 15, 2022 at 11:57:54AM +0200, Jan Beulich wrote:
> >>>> ... of the huge monolithic source file. The series is largely code
> >>>> movement and hence has the intention of not incurring any functional
> >>>> change.
> >>>
> >>> I take the intention is to make code simpler and easier to follow by
> >>> splitting it up into smaller files?
> >>
> >> Well, I can't say yes or no to "simpler" or "easier to follow", but
> >> splitting is the goal, in the hope that these may end up as a side
> >> effects. There's always the risk that scattering things around may
> >> also make things less obvious. My main motivation, however, is the
> >> observation that this huge source file alone consumes a fair part
> >> of (non-parallelizable) build time. To the degree that with older
> >> gcc building this one file takes ten (or so) times as long as the
> > 
> > I wouldn't really trade compiler speed for clarity in a piece of code
> > like the x86 emulator, which is already very complex.
> 
> Of course, and I specifically said "main" motivation. The hope is that
> by splitting things become less entangled / convoluted. I guess fpu.c
> is a good example where certain non-trivial macros have isolated use,
> and hence are no longer cluttering other parts of the emulator sources.
> 
> > Do you have some figures of the performance difference this series
> > makes when building the emulator?
> 
> No, I don't. And the difference isn't going to be significant, I expect,
> as the build being slow is - from all I can tell - directly connected to
> the huge switch() statement. Yet the number of cases there shrinks only
> marginally for now. The series is named "a few small steps" for this
> reason, along with others. See below for a first bigger step, which may
> then make a noticeable difference.
> 
> > A couple of notes from someone that's not familiar with the x86
> > emulator.  It would be clearer if the split files where prefixed with
> > opcode_ for those that deal with emulation (blk.c, 0f01.c, ...) IMO,
> > so that you clearly see this is an opcode family that has been split
> > into a separate file, or maybe insn_{opcode,blk,fpu,...}?
> 
> Hmm. For one, "blk" isn't really dealing with any opcode family in
> particular. It contains a helper function for code using the emulator.
> So it falls more in the group of util*.c. For the others may main
> objection would be that I'd prefer to keep file names short. At least
> at this point of splitting I think file names are sufficiently
> descriptive. Nevertheless, insn-0f01.c or opc-0f01.c may be options, if
> we really think we want/need to group files visually. However, I don't
> expect there are going to be more files paralleling 0f01.c et al: The
> opcode groups split out are the ones that are large/heterogeneous
> enough to warrant doing it on this basis. Of course new such groups may
> appear in the ISA down the road.
> 
> FPU is isolated functionally, and I'd expect a simd.c to appear once
> it becomes clear if/how to sensibly split out SIMD code. Unlike fpu.c
> I'd further expect this to (long term) consist of more than just a
> single function, hopefully replacing the massive use of "goto" within
> that big switch statement by function calls (but as said, plans here
> - if one can call it that way in the first place - are very vague at
> this point).
> 
> > I've noticed in some of the newly introduced files the original
> > copyright notice from Keir is lost, I assume that's on purpose because
> > none of the code was contributed by Kier in that file? (see 0f01.c vs
> > 0fae.c for example).
> 
> Right - 0fae.c contains only code which was added later (mostly by me),
> if I'm not mistaken.

OK, just wanted to make sure this wasn't an oversight.

> > Do we expect to be able to split other opcode handling into separate
> > files?
> 
> As per above, "expect" is perhaps too optimistic. I'd say "hope", in
> particular for SIMD code (which I guess is now the main part of the
> ISA as well as the sources, at least number-of-insns-wise). One
> possible (likely intermediate) approach might be to move all SIMD code
> from the huge switch() statement to its own file/function, invoked
> from that huge switch()'s default: case. It may then still be a big
> switch() statement in (e.g.) simd.c, but we'd then at least have two
> of them, each about half the size of what we have right now. Plus it
> may allow some (most?) of the X86EMUL_NO_SIMD #ifdef-ary to be dropped,
> as the new file - like fpu.c - could then itself be built only
> conditionally.

I don't like the handling of SIMD from a default case in the global
switch much, as we then could end up chaining all kind of random
handling in the default case.  It's IMO clearer if we can detect and
forward insn to the SIMD code when we know it's a SIMD instruction.

I guess that's for another series anyway, so not really the point
here.

> > I wonder how tied together are the remaining cases, and whether we
> > will be able to split more of them into separate units?
> 
> That's the big open question indeed. As per above - with some effort
> I expect all SIMD code could collectively be moved out; further
> splitting would likely end up more involved.
> 
> > Overall I don't think the disintegration makes the code harder, as the split
> > cases seems to be fully isolated, I do however wonder whether further splits
> > might not be so isolated?
> 
> And again - indeed. This series, while already a lot of code churn, is
> only collecting some of the very low hanging fruit. But at least I
> hope that the pieces now separated out won't need a lot of touching
> later on, except of course to add support for new insns.

OK, I'm a bit concerned that we end up growing duplicated switch
cases, in the sense that we will have the following:

switch ( insn )
{
case 0x100:
case 0x1f0:
case 0x200:
	x86emul_foo();
...
}

x86emul_foo()
{
    switch (insn )
    {
    case 0x100:
        /* Handle. */
	break;

    case 0x1f0:
        /* Handle. */
	break;

    case 0x200:
        ...
    }
}

So that we would end up having to add the opcodes twice, once in the
generic switch, and then again at place the insn are actually handled.

So far the introduced splits seems fine in that they deal with a
contiguous range of opcodes.

For patches 1-7:

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Patch 8 I'm unsure, I guess it should be up to the user to decide
whether to use -Os or some other optimization?

I expect introspection users likely care way more about the speed
rather than the size of the generated x86 emulator code?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 10:00:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 10:00:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516559.800863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1php4m-0005Wk-Or; Thu, 30 Mar 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 516559.800863; Thu, 30 Mar 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 1php4m-0005Wd-Lz; Thu, 30 Mar 2023 10:00:12 +0000
Received: by outflank-mailman (input) for mailman id 516559;
 Thu, 30 Mar 2023 10: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1php4m-0005WU-2U
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 10:00:12 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20627.outbound.protection.outlook.com
 [2a01:111:f400:7d00::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a82dcb0c-cee1-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 12:00:10 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB9317.eurprd04.prod.outlook.com (2603:10a6:102:2a4::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.41; Thu, 30 Mar
 2023 10:00:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 10:00:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a82dcb0c-cee1-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XaUm4iNMsDoYdKHa5tSEbyjCg57jsCOXGxvXLmu+oy8Vfm+KdK0OL9iorJ1jXi5y17rWtTtm0HGrc5rUhLqmneMpNEaNDA/kGS372NQJTcMszuMLfsml/eBzqmHwb7FvZz6EOv1BSI16uzX0tCk/Tybetq5QtcZMjanJp70XdZrr+kJHcpOLiR7QMvEe8ZaDHVxIG8+B95wMvbq/A6gUQHNcsP3xUlK70Pla06meO6oUvrdAmiO7KkJCZN/vcXg6m8RtH43YJygDVoczstGwaKix07p4AtdqEI/lEMRU6ioCb8RbyH8ObTdkfTLndUn3bI682dS9O6Vp+sW+HiM+8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OGoAZHpBjVu5hoX0d+UdzOvKvmPCmdbVBv+QUuz5cZI=;
 b=gGQggwru9qF6Dr5DfmhYsgtGfD5jgmMwo2z5gM94xlIPM8RrLIOIIN/6uD2h5p3NZGYKzjWl+0Obu6Cz8bdgZz6JnU2JxwywU/UQNtFDogXBjspZdBMvWpA81RwH2ortibfqwaiR+VKHkN5RTE6vdfYSUjjFIF5+2TtTCjfapH2Mqg9gMkmRceFY+8XHLyKdCzZ4hljdJW3/4NBp177bhyyGJwTyTGSKUx+/j/NIqKIFkMfsx2emNpuH/NcFKDH9K1jBv7jXD9N7Bj72A1WkhIRe0b9c0IwMiaWR355ELn0djJ4hM9dJaoxJRTNQbSLvso8Uff8u6McjEf8ckmK5gQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OGoAZHpBjVu5hoX0d+UdzOvKvmPCmdbVBv+QUuz5cZI=;
 b=M822m0kER1mzJhuZj8349ty+jyn8MEjYZXI19fFaZ94Inqc7RIQPMAFn0vehnrPf4g9Ou4salRcABJ3oYFhptH23xNWUv4Cfei1klYDZX9hBXuEKbyro5Z1OhaqD+YeDKBJWiS6QTA/KhsyQfeOSV/9Tb42OcUSy70JebhC0jZTG735er5oHUDITneHPMAD3cIcrGAICurtX9kMJ1k47Il+TwUxva35Kn4I1B3Q/Dk25D59ErLh1HEisaPxIkDZSvvX5Z9VLHc+BdHxgBe6v1DlXtTVnoAokoPIkTqIyV7tcgMtEUNmVkYh+6RDTPph+oSdk9YOpgTifRUiADrtBJA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b111d60a-5f83-1ab0-3c10-84e9fb743011@suse.com>
Date: Thu, 30 Mar 2023 12:00:06 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 6/9] x86: Merge a domain's {cpuid,msr} policy objects
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-7-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230329205137.323253-7-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0201.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB9317:EE_
X-MS-Office365-Filtering-Correlation-Id: de664d6d-937e-4951-7056-08db31058b54
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	elThiPFXuQEC7JgwmI0iACNoC+tY1wDveobASTbJy5YdAIwjuzh8ulxt3O+skYAoqg5boWePVl6HtKvYaeuU1a1GnQ+u9jGdsDicjpVuc4lOGxFVsfVrm3QY9MY6V4rbiucWPxIR+T3+ESwRaQfqQbt7zKKLWeuIcycHy403mNO2nADl851uoRBzNxdQ3fHAYHRJfAUOgKyrzWd0fwCmo6e/5aa247fzdggVDmUAnvIcW4Ua/GxZXipx0pRCZbHpC194EH3/7vLWPIk1FSrJjaXB57cbeJZY6a41hQKKddWPtEXUerJYEgEjOetaGMgaGGj9TRcs37kdYaYG7nH1EABEbfG56CSvvPrqDUzMyzvomM2+ukI5jTK2QzkrCvWdaFms9U3tzCP6Vc425Ajycevtn0jxvFPVr/y6B7PAdHwHbo1z2Keanv5MQs5VpXRb3LhIkrgfV3x+j3vmNWGhxbyFXC/P0rafN+Z96aqDWczL++K5VvEBMaf3cFxt91l1+Li5P0ZD1+q/vDeQp2GReph3T9ybx457xR0jvM6I5tPQNr3zOieG95Crk3KIeu7hJnF87gylU0ZFmCq5MQfYKtDoIFv/XzLTc4zfLVjRwPPizmf9I/67gqqiKahFvyzr2ddw+vqHLHeNVDtnXIJ05w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(346002)(366004)(376002)(136003)(451199021)(26005)(8676002)(186003)(8936002)(66476007)(66946007)(316002)(6512007)(38100700002)(41300700001)(6506007)(4326008)(4744005)(54906003)(6916009)(5660300002)(53546011)(83380400001)(2616005)(478600001)(66556008)(6486002)(31696002)(86362001)(36756003)(2906002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dXcybWdpRktmc0NGNmR1alBTTWlCNGJIV1ZodE9uVm8zb2NSekVEVEZEZ0VC?=
 =?utf-8?B?SGx2bUcrZ2JURWFSSDNYbW8vK2NUeW52OGxtYlg3a3lQOXEvR0RVVHE2ZllH?=
 =?utf-8?B?b2ovRXZVS2p5WkFTZ00wNityVk9vMGlEYVErc215VDVQMWJTejcxYW5iREtm?=
 =?utf-8?B?aTNhM0g4cXN3ZVVHNm9YNjR5NmhveGxtTTZkb0Ztdk5sN3U0cVliN1NPNWZE?=
 =?utf-8?B?ZnkvNWI3ckFQckRkWlZEdmIxNDl4aXpFMURzaGZiVGExaE8vaGc5VkdzUmI1?=
 =?utf-8?B?UXh6R3dkTUJ5ekpOZENLa3pUSnhEQmpKZ0ttK1BCdjcrY3dnZWtmUXAwanZs?=
 =?utf-8?B?cnVyVzhpTU9HWWFiRUR2RWNsc3RHWitwQnpyRExmQWs3MHBGUDY5bDJHdlRN?=
 =?utf-8?B?Vnpqa25TbEtaaWsvd2J0Z2RDRG11ZkFNc29RWjJaLy94bWpSY0h2emhWcUw0?=
 =?utf-8?B?ZWpTbjE0dzRCdk1waW8xZFlOZGU0VzVkYTBjeG9nQlVJcjByZDBncll3c0dk?=
 =?utf-8?B?aUhmZmZ3RVNxNE1YQjJmOGR4R2hrSEN5SzVqb084OW9acE51QVFvRUdTWkw1?=
 =?utf-8?B?WGlwTm9kcTRHODcxVHM3bGZXcTBXSnJmeUVzazZwQmdFWTU3WkNyL21sM1Nk?=
 =?utf-8?B?Qk04Y2xLMVg0VWI5SThjQWcvT0hzc0JBRVA3bjlRTHk1VTYzNTIrWDRzejFQ?=
 =?utf-8?B?MFRtYUJIakhkaE04eTVBcHF5K3QwWU5ZNXRXK2FZcStQK1dJcjRhajhRRSsy?=
 =?utf-8?B?c0hVU01HcjhBOTFVQk9nZjJ0dU1MQ3gwazRrcUt6bS9CVXRhUDFSa1JuTEFS?=
 =?utf-8?B?S0tuNHZlODFFS0RmT3Q4UkVGUzdQSkpVMDllSUJOWXNNeGRXVTAwUlZhaHZh?=
 =?utf-8?B?WDVhWldLVE53MWU3N0QwY3c4UHNkNWl3THhudWR1d2lpSUpLVFU3Z0VmS1lo?=
 =?utf-8?B?VjZobnBFcDlhMnNuVFgyejljVmRnVkRjZ3g2UjNqdk9PKzJQUEhXNTdabVpC?=
 =?utf-8?B?WHFnazd4dXFYRDJDakNVUzU3WDVvLzNDazRDM0FrMy9WZGdUT2RhK093Q0J2?=
 =?utf-8?B?dDhKK2krcXh4ODFxT0pwQy82M2h0UzFxY20xMVFPd1FnWVlxbFAvdWtVL3dV?=
 =?utf-8?B?UTJjcERuMWVnMkxBN2o3dW5pWmJTY3pPN0FpK0FiMGw4OUtIWHRTemZmTHdU?=
 =?utf-8?B?cU0ycHBlVVB0WkswL0FQK01MQnBWdlh1eUJGNmFGOXJxTmJkM3NwZjEvRzly?=
 =?utf-8?B?bVROS044clZjdlJ0MFl0YlJlR2dzcHFHQ2RPeXQxSmhkRHlFeGNGeThNek9C?=
 =?utf-8?B?REY0UVpkNzQvSzErUG5mWU9wbU4wWXljWjNOK1RXNWNVYy9sVmlydVJ3YzNH?=
 =?utf-8?B?eldmRng5aHYzcGgvb3IvSkdtdjd5amFmb3JwZnBWcm8zbnFWdkxoUVRzZTZL?=
 =?utf-8?B?bno2REFFSjZmNXlpbUxlU3ExYnFiSW5OdW9vQk1XYi9tYklKeWJ1TzVQK3kw?=
 =?utf-8?B?b1NjNjBVT3ZEdERycDIzRUJFR01YQmE0eWhkWng0bVAyL0plNVV1VUd6TTQv?=
 =?utf-8?B?QzJOWmNNaTdDYTJYa3pTYVdhWE1VRkJHOHFWQW56aDlGdlI5Z29IcEJ3bzhv?=
 =?utf-8?B?ekxsSEQ0YUhXeW1WdmRMZk9EeDFEbXNqOWo2R1gyaTFScW5MK0xsbE53VkFp?=
 =?utf-8?B?R2ZQMkRIVE5NRmpFZExrVTU3M0IxakNhWU1hTW5qK2t1T2E2djRBOWNJM0lz?=
 =?utf-8?B?UERLNUtxRGtnczB6TUlwMXJRUUQ1ZkhSaVRxTnJwb0h4b0d6TjVTQ2NvczFB?=
 =?utf-8?B?YmRlTHk4MmZFL3VnYVlrS1dpOHNSYS9KOTl1and2b0toUGlNZ2pQTlNNajZM?=
 =?utf-8?B?UEhKN2VOdS93MVdtRk51N25yOWliSEVjWnljK25nNG15Nm55Y0g4aVZ5K3NJ?=
 =?utf-8?B?NFQxV0NtMlVLOWJ6akEycy9XWEgza2VXV2Vta0Z3WmZXaWV6YVFZRkh1NGZz?=
 =?utf-8?B?RnZDRzEzcm5LV0tNbHEzMVVnODZjQjloM0d2aFNmdmo3cnpYcmVxdVZ1Wmg4?=
 =?utf-8?B?OW1nTW9mdWU0bHlacE9EOXd6RUJOR3QyeGx0Q2h1SThyc0FmSHFXZk9PSEtG?=
 =?utf-8?Q?f6aS+R04SZPhvcgiOaq9sGrR9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: de664d6d-937e-4951-7056-08db31058b54
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 10:00:08.6889
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 34jZkLPG3h6UGZ1xRUs1fOlMW/wwERbQOee7I4wF7I8WGWhm7N5gpVwdtR4vnyHEw9OBGCEB2RnbkygJBDeM5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9317

On 29.03.2023 22:51, Andrew Cooper wrote:
> @@ -573,7 +574,6 @@ int arch_vcpu_create(struct vcpu *v)
>          /* Idle domain */
>          v->arch.cr3 = __pa(idle_pg_table);
>          rc = 0;
> -        v->arch.msrs = ZERO_BLOCK_PTR; /* Catch stray misuses */
>      }

Is this intentional? It's a vCPU pointer here, not a domain one.

> --- a/xen/arch/x86/domctl.c
> +++ b/xen/arch/x86/domctl.c
> @@ -40,11 +40,11 @@
>  static int update_domain_cpu_policy(struct domain *d,
>                                      xen_domctl_cpu_policy_t *xdpc)
>  {
> -    struct old_cpu_policy new = {};
> +    struct cpu_policy *new;
>      struct cpu_policy *sys = is_pv_domain(d)
>          ? (IS_ENABLED(CONFIG_PV)  ?  &pv_max_cpu_policy : NULL)
>          : (IS_ENABLED(CONFIG_HVM) ? &hvm_max_cpu_policy : NULL);
> -    struct old_cpu_policy old_sys = { sys, sys };
> +    struct old_cpu_policy old_sys = { sys, sys }, old_new;

Interesting name, but as long as it's transitional only, that's of course
fine.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 10:04:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 10:04:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516562.800873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1php9G-00069I-9u; Thu, 30 Mar 2023 10:04:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516562.800873; Thu, 30 Mar 2023 10:04:50 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1php9G-00069B-6y; Thu, 30 Mar 2023 10:04:50 +0000
Received: by outflank-mailman (input) for mailman id 516562;
 Thu, 30 Mar 2023 10:04: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1php9F-000695-HI
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 10:04:49 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on060d.outbound.protection.outlook.com
 [2a01:111:f400:fe02::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4d77ecca-cee2-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 12:04:48 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8852.eurprd04.prod.outlook.com (2603:10a6:20b:42f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 10:04:46 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 10:04:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d77ecca-cee2-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mk4/Mzse5TTJ2PHRhDafkmdhBZMvkpBXyeqPsF1P0Ko6U3lyn6efV7PXmPnvk945EEIQyoT74JQDJBwFx+j2Wjpjy6UAi+cSL4GtLfnOx4+hWhhKMf+e4wsSqCq2F4sYy0axVFVas9ahiZwiGczYoCY4HKVtDwgJ/GtF8jw4euBtTTwFWe2iZRWTS6AjTgnhrWAUK/u+AD50/YCF2kiDtm5FAWZ9dFFTqtcbyMe548+t+jOdOfyYEHLJ5ONHUZlWQuxOxn3jnvyPr1xTD0aDqmaXjq+WrFax05LHZ3UWHVvkUu/MBPEKNtQuWk6nOM3n/S1/Gl639chN2NgBPnhgRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FJxnHILv8YrC+nRl0RWcJEJl3oIOaH/Q1FGBUlFzHiE=;
 b=Tt+Tqc8YSSBCOn6Fcewox+hRo43WMy9Ch8jnvC42ewoZjnIu0i/BqHd5O3wjQ/lKYh0wE81TG/6iuucIXXW2iUx+zZ7Wpu4ise2ZorWtO9tOggeWIF1hW+oJ82EwzCgm2wlAT1yes9h7+YjRioZGajDTRXD5srdGqn7AGAzRn/Yj0yIQdRTaBUq+R3HRDK5qWIYTYzClvo8y7uWr3hsYeWHpUX8gi2iaMrbdl0jv++oeZLgnbfjurzEYi4n0mUFOi1AgzqDLQICjZFbfjWzOp9NTGY1pX+JEYUWeMGzXReR+TCoirj6F1q4wysczUBrjIv7oRYxmIrf5uHbFrS2klA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FJxnHILv8YrC+nRl0RWcJEJl3oIOaH/Q1FGBUlFzHiE=;
 b=RZQXxa54mBG5FlLkeySv4dsuxPyoavveXh5R9iSluvmyBTxO08mTBqxITLzPd4P7yQ2t2AEeclyESStVO9xp8auTxTXq9S9Up45V/MOYsKJtJ3YZxoC5SmZ/Xd5+vXLCsc9e2gOL2Fesq7ii6ARoPbyylviQCgmrK4l6mKSZE6wmlanQUg7vT1zht9FqftQ1c0VTDq56my7YF/RO6BEr/XmFV7wtMwgTJP4f0k7r+nUSgRz/5bNrVp5umY96XGvq78yFkmaze3zzczwvDkGpoxjSrUYh5NNOt/1nqqJXCuBCADRn03m1okMEkpEfCLKUuFoNkHRw+kv+gYEMsdApNw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cf81c142-766f-9186-27b0-e3262ccf62bf@suse.com>
Date: Thu, 30 Mar 2023 12:04:44 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 7/9] x86: Merge xc_cpu_policy's cpuid and msr objects
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-8-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230329205137.323253-8-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0009.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::19)
 To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8852:EE_
X-MS-Office365-Filtering-Correlation-Id: 42339b82-0e43-495d-ba4a-08db310630d0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ik/I8QsjfPZMYpeKf/IFYpV6Vs9uU5W2e6lbQ0NhnHlCD+Dv+5lowr6BoiboF4HF70nomVQ9bGVEqtbNSPFe9vj3d1bl/ez/+iHUf5GpMLuMmBKKF8PRrcuEqyv5wiLSL/f9Mti/eAk2rj5wDNOVUsnhThjLlsVfJkA77cNvNqv32EGE/NVDhFMw8VbDOMzoeeS8oucP8iJBiEj3FwvEwfqzroP+ISijdDCrvvYps/zNqiGAQFzQjAii7YHJitjLAa2h5GiW+wNmp2JGmcmNRhgwia4O8wVSotWCClDMNial39LpDcpVitJMC1H199EfUrfpD7yxXkgnGxkeBFnwYYcI1kqq3/5uCHx28CHMujT05nCwpHml+uHL8+x4zJXI4lpNnAHY7IcK96DlERdrLR0/WL2UpFT9yIfqgaGIIWgNULUY/u+zDLVI8fhpzxVsloOY2vzFy5cpkyTgMAIC3EVgUiYhlSH1omwQOv76jVGFd/SH7tysreyY1DgLY8aEAchzT2PwdTMxAa8pVbBlpCqndoWX2ZN05YSrDcB2+xOQ2QrxYwfl7w/tPb5cRLI6vFT3HlCRst9Hz+DXR6B1VSQ7UIFowvn5V68Eo3h815YtEybj2x/QcAtMkmgsSwaLyeBm/oo5QnhFiuypLzy7xA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(376002)(39860400002)(136003)(346002)(396003)(451199021)(2906002)(31686004)(66556008)(66476007)(41300700001)(66899021)(6916009)(4326008)(8676002)(66946007)(316002)(2616005)(54906003)(478600001)(6506007)(6512007)(26005)(53546011)(8936002)(5660300002)(31696002)(86362001)(36756003)(186003)(38100700002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VGZlMXNqb1lLb21iWUxiTnRUeDdNT1BCd2htam4zdlBtYzNIeWJDQ2hQVnRP?=
 =?utf-8?B?a1RYY0FyMGNiaGVydEZvV0IzOElnRTBTSjhvMjBUTzlGZWlmb0JnSkVCdE9J?=
 =?utf-8?B?VUlpVGErOE1ESDVFQ0hxM2w3My8veXRHSGkwZmpad1lOMU1IUkpscFFMRkl0?=
 =?utf-8?B?eWZKdWsyaTFSUFIrZURMbTlQZmwrOWFuRTNWTGpHL2UwWVVNNnpTbUFvMGF6?=
 =?utf-8?B?cnlXdlZ0LytkWHpodkdjems0bCtYMHRrTWNNdE9LT2hGajF1dkVMRzZJUVVW?=
 =?utf-8?B?MEJDYkVuQWdxbnJObXd5UmhwVFJGZ1V3OVN4VU9aVkY1dUdKSlhlMml4YWpk?=
 =?utf-8?B?N2pKS2VGdGhCU3dvMXE0TS9qaVJDZ1VEUzZmVjBzcVFYalRqYU0raDYvNDhj?=
 =?utf-8?B?QjNGQ0kvVjlUZnlXYWx0aUcydlpjN3E5bjF6UXdUQTl2SWYyT2lTVnF3MmxE?=
 =?utf-8?B?SnRjRHlGWEVjZnFxTjVqWml2V1ZwbzFpZ1FXVlV1YkFzTnp4SWZMb29wc1lH?=
 =?utf-8?B?czNtVE1jU3UxTGFjbFh5R2hpODRaWlI4ZXVKWkJRdkVvYW1NVUFEZ0UxSkkw?=
 =?utf-8?B?WVBXdGJSdElWT3V1R2V0YXZhNTNBZW1kdnpnU29tbENnSFRmWXEvRDJQMEZo?=
 =?utf-8?B?d3BsR2ttNGpzeXJVMGJqTGVlMllDL3RGVUtqckF1czcxakIxdGg4RThVRW1U?=
 =?utf-8?B?cFhxcUt5RGk5Zys2bXVoTU9idGdOeldTL0hWYjhDOHQyS2xORXdnS1Z3SUhO?=
 =?utf-8?B?dmRVY0cvamloRVRtdUpudTJrUXZHSW1nY1BmQW9LeXdUT2dNWUtzSjYwNnpz?=
 =?utf-8?B?NnBMQXV2aFVSYjQyU3hqdjlvY2xQdzF5Wjk0VGt2UDR0clhhdDUvNjU1blZR?=
 =?utf-8?B?MW5TWDQ1Rm1RMWZFQklBK2ZyZFFXT1F0MERUNjljV1Z3dlRxeW1POThBcjBF?=
 =?utf-8?B?dkJyeVREYkt6clhFcGYwY3NoVmNhdmRBOGJTRm9hemtwQ1F0dXBlaCs4bzRt?=
 =?utf-8?B?QU9DRVpCZE9QSWJYMHAwM1lON1RxcHkrUmJYYllaSnRnazJQUVhaRGV6TEFa?=
 =?utf-8?B?T3ZpcVpmTzZiZVFYeU1zM0JkN1E0QVphNlZmRS9tbVJCbkE5dlZpVjFKOC9l?=
 =?utf-8?B?LzJ4T0pPNG5ZQXZoWG9SMy9IL2hrY0lUekNGYmtKYXpwYlFVaUNSRE9ibDE4?=
 =?utf-8?B?UE5aL2pLUlo1RXIzNmpFSWpkTDJKTEF0V0pUN0xXWFJFM1lFcUFtNWF2aVdr?=
 =?utf-8?B?dFNhb0l2aFMvOXBvOHRQSkhTRWhvZnFpVkJHMUJxOGdaMXNhWjVxdXlpZ2lp?=
 =?utf-8?B?ck9HblRuY3RLY25kUlFKb08yWTYwR29KeHdXZVZLQ0x4czBLYlkrTTdvb1Zl?=
 =?utf-8?B?bTZKWXJuTVYyVFl2RHFHWEVndkRwUXpaZUxKQkkvSCtFSktGNkUzOW16c3oy?=
 =?utf-8?B?blFTK3RvWEF4cDBTSVVLM29LbjBNNldIM2FjRVRGckY0aXFSc2licUxrS1Jn?=
 =?utf-8?B?NFU5YXllRTdRVWhGTDM2b3p4WGcwT0FVSlF3QXpSaWRwQ3d4aFV6Yjd5VWdx?=
 =?utf-8?B?TjFvT253VkV0YVpJRHdqbTA2YWV2MlEzSE5SMjliSWZaYUdOeWhlZ2d4eW9T?=
 =?utf-8?B?UnoweUFtZWdpWFdvNnBmOWhCOElwcU5HOVpSTWZkeXV5U29mVGowS2RNT2F1?=
 =?utf-8?B?RTU2RXdQT0orN0FncnFGTnBGcWZWcXJBUGo5VFpkTXh1NlA1Tk81U2Vlb09N?=
 =?utf-8?B?b3B1VVk0ZGRiaytsc2lzYWduTloxdHRBdkNQL0ZCaHdRc2hqdlJLWnRjUDRD?=
 =?utf-8?B?Wms1Q0dwTTlodnJpMWxVRlpuc2VTQkQ2KzBSUE9qRmtyTWhyUnJyTUJEM0Ux?=
 =?utf-8?B?TENkdG15OGEvMmFnYXBubTlJUlZZa1o2dHlIZ0hYRUdoSkw4dkNENVE4Uk9V?=
 =?utf-8?B?dzAybFhtWjdPWFUyenk0TldEZzN1UnVERjlnSi9nVGpRZXBBUVpucjhadWQ1?=
 =?utf-8?B?Z1BiQzArTXhRTHl3cjdsSU9LNUUxaHJKeERlM2w2L2F6eEFXcVJFdWw5N0ZY?=
 =?utf-8?B?WGtBK3FQdGk4ei9WTDRsUjVHSDB1b2xTV3NORmlmNUUvTzllaHJHZVhVUlVO?=
 =?utf-8?Q?S8TPnpiGhdWtBa4zRhPJWc0nL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42339b82-0e43-495d-ba4a-08db310630d0
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 10:04:46.3001
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: n1dkNjmqkRHoYdARD8wc/33OS1reJYy018y+3I4ddljWw0SyE1eb7SFLwzHSJhO6q3TB8fgsMqkvU8l1RB9z8g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8852

On 29.03.2023 22:51, Andrew Cooper wrote:
>  /* Sanity test various invariants we expect in the default/max policies. */
>  static void test_guest_policies(const struct xc_cpu_policy *max,
>                                  const struct xc_cpu_policy *def)
>  {
> -    const struct cpuid_policy *cm = &max->cpuid;
> -    const struct cpuid_policy *cd = &def->cpuid;
> -    const struct msr_policy *mm = &max->msr;
> -    const struct msr_policy *md = &def->msr;
> +    const struct cpu_policy *m = &max->policy;
> +    const struct cpu_policy *d = &def->policy;

Looks like you could reduce code churn by keeping "cm" and "cd" as the
names, which would also be consistent with you continuing to use "cp"
in hypervisor code.

Jan

>      dump_tsx_details(max, "Max:");
>      dump_tsx_details(def, "Def:");
>  
> -    if ( ((cm->feat.raw[0].d | cd->feat.raw[0].d) &
> +    if ( ((m->feat.raw[0].d | d->feat.raw[0].d) &
>            (bitmaskof(X86_FEATURE_TSX_FORCE_ABORT) |
>             bitmaskof(X86_FEATURE_RTM_ALWAYS_ABORT) |
>             bitmaskof(X86_FEATURE_SRBDS_CTRL))) ||
> -         ((mm->arch_caps.raw | md->arch_caps.raw) & ARCH_CAPS_TSX_CTRL) )
> +         ((m->arch_caps.raw | d->arch_caps.raw) & ARCH_CAPS_TSX_CTRL) )
>          fail("  Xen-only TSX controls offered to guest\n");
>  
>      switch ( rtm_behaviour )
>      {
>      case RTM_UD:
> -        if ( (cm->feat.raw[0].b | cd->feat.raw[0].b) &
> +        if ( (m->feat.raw[0].b | d->feat.raw[0].b) &
>               (bitmaskof(X86_FEATURE_HLE) | bitmaskof(X86_FEATURE_RTM)) )
>               fail("  HLE/RTM offered to guests despite not being available\n");
>          break;
>  
>      case RTM_ABORT:
> -        if ( cd->feat.raw[0].b &
> +        if ( d->feat.raw[0].b &
>               (bitmaskof(X86_FEATURE_HLE) | bitmaskof(X86_FEATURE_RTM)) )
>               fail("  HLE/RTM offered to guests by default despite not being usable\n");
>          break;
>  
>      case RTM_OK:
> -        if ( !cm->feat.rtm || !cd->feat.rtm )
> +        if ( !m->feat.rtm || !d->feat.rtm )
>               fail("  RTM not offered to guests despite being available\n");
>          break;
>      }
>  
> -    if ( cd->feat.hle )
> +    if ( d->feat.hle )
>          fail("  Fail: HLE offered in default policy\n");
>  }
>  



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 10:08:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 10:08:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516566.800882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phpCq-0006nk-TS; Thu, 30 Mar 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 516566.800882; Thu, 30 Mar 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 1phpCq-0006nd-Qo; Thu, 30 Mar 2023 10:08:32 +0000
Received: by outflank-mailman (input) for mailman id 516566;
 Thu, 30 Mar 2023 10: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phpCp-0006nX-6x
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 10:08:31 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on060e.outbound.protection.outlook.com
 [2a01:111:f400:fe02::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d137657e-cee2-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 12:08:29 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8852.eurprd04.prod.outlook.com (2603:10a6:20b:42f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 10:08:27 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 10:08: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: d137657e-cee2-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bzdSW5jFU4HDicnU0GHiyxZEqTgaHZ2SMuEKpZbYUdP2Th1MoVXYdxCA3az+2Mw4HAZ0V28FHfXRF7DwbzND5okDYndW9zGNg40p7NMJQuwpFl+SiX7NBmzhkQzEi59zkUMIUBnTr+0WMRoZtRBw4DzMMrRySiQbAit0nbAZujVNONDaLrW+OH8tj2A1lpPIczXUn0buaveHYwpnCP0IEKdzNjWvF5WwoEO5p3+Mo44nbwXu9/htVdRANRl2Lg2tbxWm1CHAljtVjxeQ/NJaIxdWgEag8FaDGWHuWOWUQGScKaQquQ8wZg/MBDF+u0cgfPXRFHL16MIuMORbhhG4+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=v/NcKv16TIQD/oQu6LVYAoa5sDgcXoU6q3RNTFBkg4c=;
 b=C/nB1ABjk1ZsFihBycm2cMJlTT4RQL80JAdzZmuB3pliZuB+0bjP7fkaDoAuVO/Mf+KuoQffdrm60TfzNUVllaag3DBxov7xyGxC/RsphxaXHKFSo7n4xlbtCYuVi2t/s8sf/TRwLOp937GKSzTXa7WLcmap3zazDnSgzA3D00ft/7CV0usOCfII0q+EJMazB+7Zh5+AOunAhdvQw+A4sk96ADySmyW5b4DJzPV3mfLx7/ktuPDHCzedzGrX9Y1gFjL5FLWNajYYAhZFYbQT4inowgcAnEz09m6eEsQ7drdSeoNG9KnB0XqRgJT23WqPF2l66gytSzKLRydyQ3Isgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-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/NcKv16TIQD/oQu6LVYAoa5sDgcXoU6q3RNTFBkg4c=;
 b=UwiIWYfbCUPEmUq1LP26/itRPfsppqTE5ocvHPWfmpFh/cmnxuYu1iSNMvY1gqMC/4vVEVWoXrynsRDtx3zB6tZpMw9Uj/+/moFuwVnONnsAkAmfIMmyiGJK78Gi9KOnEDeu+kF8H6F9MvF6Ms+on0s3IKseqHk5lmGK3LNXz6hapWQJVr0uOjtgJSji+0tUNUMtuVSV6cZ8lL39KN3dfeq/CXszxBqbMyZ8yfTkuL55qqeaE8eOnzsUPXJx1WxiyKXUbF1AM4wSn3N/YdtD0ZdfQkQU9AX/8cy5sVdXLZL1Ija1p5bgL9kDLhbKjpFWaSeh7WpWA1iI83ljfyKjcQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <03feb32e-4318-37cc-cb08-16402d4ea430@suse.com>
Date: Thu, 30 Mar 2023 12:08:25 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 8/9] x86: Drop struct old_cpu_policy
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-9-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230329205137.323253-9-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0008.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::18)
 To VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8852:EE_
X-MS-Office365-Filtering-Correlation-Id: aa2cc44c-2398-4fb6-44d1-08db3106b4ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2bROTUaTCE+nm9BWhNbzfHhO3c/vGMCtB9wQnzpD8CBiE9/Ib6DK9RnoCeRh1RXmj+QLQ1+XFWon945U3anMwUKSNobA1gKyYtS0qfavv87w0u+tfFlRhelYIwbhigkl7ke+ixYgBMISuHsyJh6hc1Ge2vpSem3MtX+GbHMbxQuT6+OIht7ZQWMLKgMLOsHmlByzRZ2pQMUXbszFK8KP1CB2Lg/+LPgPEcanu90zPz/XCbr9Otbn7QgQbfX2uok5KEe1MOXTReQCoMTPUhFfgjqzXwb6mjqY2Fu6hRdnq/mtantHCHzL9OaDGp8EVb3bbHQ9INQFdNiSnHEEY9plaS07htDE586ZmmEwgmHSVuDasNT3aH7EkBJxx7eqm/FDAI+QxUxbPHaA4FRhcIJXT8+JZgykF39HTWt/7NMQos2TPd4CMDq1llRh24nVyl+CceRmcg6/wadx3ILQdAi0sNddArv/tORxJnySr73/ZIHs4Xq0BW5ZSenegOVUobldETOsdnZp5pMKXxpEl3r8tqZDLcf7mlGdux2VSxLrCbd2Uo7GJ/3aL1er6i8qvIRVWzpjQV8KRs299hIJcS5ZjC+IKNiT/bpbqmx5JLV5I7tEAhy55fs7yq1RKJg61VDoTbJ4uFayo+msWPHmVSnbBg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(376002)(39860400002)(136003)(346002)(396003)(451199021)(2906002)(4744005)(31686004)(66556008)(66476007)(41300700001)(6916009)(4326008)(8676002)(66946007)(316002)(2616005)(54906003)(478600001)(6506007)(6512007)(26005)(53546011)(8936002)(5660300002)(31696002)(86362001)(36756003)(186003)(38100700002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QW9WalRoMGJUc2NTNVBvcnJEdk5TOXRPVHFZbFViSTFGRndURTZ1dWZYalRs?=
 =?utf-8?B?RDZndWU4TW8vNmNWRU1UalppUXhxOHl6NGRmampjd0NaUTJub2Vad0s1cmRp?=
 =?utf-8?B?b3BVUy9jcWtVdHNtTzU2RFR0QlZUangrTndBZ2pzN1FibWR0alJlUFpZcTlC?=
 =?utf-8?B?eHl4eXBlcG1CdTV6clh6MGdXQk4yZW5DaTFvNGI3aW5Kc3JSdWNRQjE4cjlh?=
 =?utf-8?B?VFFKTGN1aE9pWTZ3RzZ6eXBSdW9HYVVMcjZiNXR0dHQvOWRGNzhMYWNuUUJv?=
 =?utf-8?B?SXpvRnM2UERBWGtJcnlVMjBQL2pXRXM2bTRjd1doQ2FpeUNYdmtUVDZEenFl?=
 =?utf-8?B?Zm1JRG5HcGFaYnI0MkhjYm9sNkhPSGowUWIyK29tVUVoWVJ3dHJaV3RZRGtY?=
 =?utf-8?B?T295MEZacEpZaDVnbndjS0JOVG1HUEo3YUpGanJlcTNnTE1ieitpOWM0aGhB?=
 =?utf-8?B?VC9LY3dSRjdOYUFvTWhVRCtSd3hBa1JaT05tNUpTdU90c0lpZXJzUlY2QjRG?=
 =?utf-8?B?VWsvcDdhZzZ1M0Q2emxSSVJITEdnREdaczZaS2RDVWNMMThvYnI1VzExZ3g5?=
 =?utf-8?B?blEvTUx3NWE5WnA0eTJsbmx6ZEhZZFVFbTE1b2FVK2xPT1YvSmNIQmpKMlpJ?=
 =?utf-8?B?VFBqTDlyL3BiTHpvZFhyVkEwVzB5MGMxNW9RcHFxdDA0M0Z4T3Jjcy92aUhL?=
 =?utf-8?B?MjV4alVBbCtnSDI1MHBBbVZhN0FRcVV2K2FtUU1yOGpHeko4eWtRQWlodEh4?=
 =?utf-8?B?K0t4a3dRTGxYMlFVME9Lakt4YzZ0QURxbmhqMGJyZzE4OHpFUFRIcVc0aFJM?=
 =?utf-8?B?T1NOZE1waWF2bzZ6bGdaUzhQa2tOSjJLeWlzOFBZNWxOSFpLSmxacDU5d01Z?=
 =?utf-8?B?ZHJyMkZyVnRsOWwzc2RIOWc0QW5rWWt5RUNxUmxaaWU1OXVLSnA5ZVJEOGJU?=
 =?utf-8?B?ajhFMGJmYm5sMkYxeWNBTlpqbnJiYllNR3B1YWV2MXplOTFIQTcycE5zSk4z?=
 =?utf-8?B?Ujd2WXdVVGpxTFUzNFZXbzY0L3dsUE94NEEwVHhrcW5XbkpkM2puVSszUGtT?=
 =?utf-8?B?bEZ3V3Bhb1ZCSFBYODRhQ3VyUkZ6TDNYajIvQlRZejNPMGlBSlIxY0xnTkRv?=
 =?utf-8?B?N3NJcWx4MytFRitFRTR4RXUxblJFaUJuaWhXNWluUVBva0piUzhTU0k3cDJ6?=
 =?utf-8?B?UVZKL2NJY0lVd2dPQmNiMXdZTjVPUURGVDZHM0ZlT092QjN5all3VkFZRE9Q?=
 =?utf-8?B?d1FQMW9RZ2c5d2s4aENjUDhBOVRnbUFBaldmbVZlWmRrOVNFNytJLzlkOGZZ?=
 =?utf-8?B?ZTJUZkdiRWtaelIrR0FkaXJoMjlsN29XdllnZDdqdWRFUWUzeFBHbHMyYW9m?=
 =?utf-8?B?YndZNGRKWXZQYlAxUFhyRGhycEZISGZ6aVEwRm9aYmFoT3NOZCtSRjE2T3g5?=
 =?utf-8?B?UmtEN1BjQU4vY1JqQXNmUzNPZ3pRbFViRlllSUEveWJFRWVHZXQrVERlYWJa?=
 =?utf-8?B?cDZnZ3hFb1R3Y0s5TXRObTdmaGVvOW1rUHJpOUwzOEVidyt1ZzdVODRvV0ox?=
 =?utf-8?B?RUZibVdBaklxM095UWxuRkxadkhOaXBSVGlFMjdqU2k4ZkQ1NzhmOEpKTXFC?=
 =?utf-8?B?dWl1VnNzNm5JNzRWRGZkeCtadHBXM08wTjkvQVN2c1hRbHVDQ3ZrOXRXd3J0?=
 =?utf-8?B?K2ZEaDRxd243T3VpQXNRN2l3WmJjMy9XRVJQVGFyZ3VJUGVLM1FOUzA0V1gw?=
 =?utf-8?B?ZFhXQlpJMWZxQkIyQmRROHl4SVRwc1p6TkcvTGRCdDFDL2gyM0JmemRwNmhF?=
 =?utf-8?B?QW5BYkJDV3g2bW5iT3lrNmdaeG9tZ3RqTWpFWEdrMVlIWFNrZDNxbmlGUkJW?=
 =?utf-8?B?YjYybEJReUhkejRhUGNKOTd2M2FPUS9Wd0pEVVlpWGRhcUkzaVVIaEpzRUF6?=
 =?utf-8?B?RTB4TmxOMVZ2a0xZVythMFVXQjJ2YlM0d1RjSUNTS080OURxeTlGMWFjd0xG?=
 =?utf-8?B?KzJyeHlEUVMzZXUvRHRRYm1COVhvZjc0SnFJcmxrR2xxT3gwOVdRV3ExNWFK?=
 =?utf-8?B?T3ZTTWw2c0FNaVo2NS82Z1RMcWlydW8veXF4WmVrOUhMa0VNMFdRd0pSMXdE?=
 =?utf-8?Q?w1QFGTMZeYId6VVpr418Ya3/3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aa2cc44c-2398-4fb6-44d1-08db3106b4ac
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 10:08:27.5805
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wHV6I8NMJsMpLrNHwORgJURL6o57uIfZ2gjXyI8olJ/44VRx49jRkFbuHya2mVYIRlzN8CgDGKs3KhDU96iiwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8852

On 29.03.2023 22:51, Andrew Cooper wrote:
> --- a/tools/libs/guest/xg_cpuid_x86.c
> +++ b/tools/libs/guest/xg_cpuid_x86.c
> @@ -868,9 +868,7 @@ bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
>                                   xc_cpu_policy_t *guest)
>  {
>      struct cpu_policy_errors err = INIT_CPU_POLICY_ERRORS;
> -    struct old_cpu_policy h = { &host->policy, &host->policy };
> -    struct old_cpu_policy g = { &guest->policy, &guest->policy };
> -    int rc = x86_cpu_policies_are_compatible(&h, &g, &err);
> +    int rc = x86_cpu_policies_are_compatible(&host->policy, &host->policy, &err);

One of the two surely wants to be &guest->policy?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 10:17:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 10:17:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516569.800894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phpL3-0008JH-PE; Thu, 30 Mar 2023 10:17:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516569.800894; Thu, 30 Mar 2023 10: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 1phpL3-0008JA-KE; Thu, 30 Mar 2023 10:17:01 +0000
Received: by outflank-mailman (input) for mailman id 516569;
 Thu, 30 Mar 2023 10:16: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phpL1-0008J2-Ob
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 10:16:59 +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 0109738d-cee4-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 12:16:58 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7739.eurprd04.prod.outlook.com (2603:10a6:10:1eb::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 10:16:56 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 10:16: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: 0109738d-cee4-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OUqlJnxE8e9UaXBhtUcxUd3ZXlqMfAdzdtBjm3xlYQ7lEg6qwmFP6ESXrnt70qVkF21viPq+jLRQMhBkxWsw8gh/fFqQr1FjhhtwVC9XyPayJ+GZ7mRS6sJArp29yfVywSIpxXYft+SBPgRy3esV6J5RcK43NQ8Q86er2KNMrbWVAIoypUOvJJzI+d44Io+ZMsGnyrOR5spJv/H8k56WJYrAVMp3kpVcRavQLd1QqNrEbayPDtTJayRzuzaUGSekMR+aNwUpqN39MVYnx760/lVuthrgL+uNPT9WQiyc8a3+KiYYz4lrUoDJhqm/ke1YAFiMh8q1jWz9FzJi03e7Qw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+zWseryIFQAlxrPEZBp2/4HxlhUyvLyYCchfUj/zf6A=;
 b=C4ROk2d9FMHZ/iqI+hg5CnPKULazJ9gpJqrJAMSgHMlBQ2R46BY4BENr+5WFzwYpPMPhjuUzYB8OFqr7ZUO13UdX6Mm6SSDWn7xYs2IIvX+Stn+czIADC4UFI0pPWmgbhUVSozCSA9gHzgxXgD33ieQZchfcXezCbpeXazpMIzMb/KTj3IQO+n21tmhfGo1A/th63/ECMEevdXL62mrJcc5o0RLkaUZQf3Z5KaRpDBJykVWOTDvejx9MX8bQZjTEo4AoBdO5bsFTJSM13Qbs0ZdPJqzBkylH6vq7k5tRTa0TsPmv2HkZl75KfmscZQqAro0s5FV5YEZwEEPEsb9Zsw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+zWseryIFQAlxrPEZBp2/4HxlhUyvLyYCchfUj/zf6A=;
 b=WRSb1/Vm5IOLZTqFU+9GxBerEA5/a6l1CGe97PI2MGbdjdMIplql7k44OJn4h/zODqbMDjM0wn0R6RWvIXsPJ0YjG79mB1hZwmrwrQGp6qrFzErznCMisWe2aQJzVkwhhe3WoBIIs86RLMocTNoLEjwcQzHkJMjOHU9Indr8D2qmIstmAvWVxUws+rUdZFkroWLwi4KlJW3YA6JoOvidBTdE6YMPrFCSmNeJiNjGkastjcOeAr087yngH5sYOMd96WwkCJsjuRvME7OIDTdJ4YE+kIhgBiAtC/0azxpKoAxUxHL/19wbO8uTpcBojlkneDsq7DdWfirhdJUxNZ1q3Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <758615c4-bee6-32fd-0475-0c3c3bb7debe@suse.com>
Date: Thu, 30 Mar 2023 12:16:54 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 9/9] RFC: Everything else
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-10-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230329205137.323253-10-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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7739:EE_
X-MS-Office365-Filtering-Correlation-Id: 156f4e30-51c4-4667-d207-08db3107e3c7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3hM3W2Hiszx3ntxtQXpP52M+/uDiIXAXC3NCttB4305rBNnQO8tRn61K4yUby5qpGv8UBui3BVy7YVb7EZqJ8i4KwH6fmNs1iex3n6SpG1HhGZKJGV0InGEK2xzJl58RPJhTZFwbuLGkPcA/8TBze8dOJKgW844GlN8MBzQ09ZYgPt+perS/8/2eQ9coaZuR+cDNLo1VnmdOcAxnMFZJ4Gm2/kKTOmFvDFfGYyAp4IL9I5HP7susoOAFz+8IWcTSBU2kaHTwqopKimAAeWWDv+KZJneMWwceWVLCJr+I+pOQCHHfUMv89CT1MV8hoNH5Qpk/NsTEnFpIXj/ragHQsRH+JaJgjBFvpswpelvQN7bioF/l7RtH5sMvwdgR9eSL56ZSTV0GlcljIA0wzInrNjp0B5HDh7lcRsI6uq0u8h8FmVNuXeT9qGSfx1etxsf1ovL8e8creMKQQF1HsmdLdApES9SMMhyoc8XLTgQ/JyxRcOhS6lFGhmQWxJzaeOHRjTq5XnCzRHq7cDsbTuK38OqIhvv+UFV36NmcQIcLcILWSPjGiV5L39btkYN010lToQhQdvc6rZCOj2Fl/n69ImL6creySQslQ6vZEioc8UhLzx/KDJC3recCMwgm7W7eTSTDh9MI4qWiIn9NsRxzvg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(39860400002)(376002)(346002)(366004)(451199021)(5660300002)(31686004)(2906002)(8676002)(4326008)(66556008)(66946007)(6512007)(66476007)(6916009)(54906003)(316002)(36756003)(6486002)(2616005)(478600001)(6506007)(26005)(53546011)(186003)(8936002)(41300700001)(86362001)(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?WENRUHRTZzdnM3ZucUpwM0xoYnF1MEFObzRFcmFadkVYUWhCQU9OUUpuNnY1?=
 =?utf-8?B?eklNVkFqMGdBTUhTVEFheVNHczVyTlA0aXpmcGNZdzhTNFVKbTA5WGdYbDI1?=
 =?utf-8?B?OUFucG16bDVBaXBUdDlZKytSeUg0bGhhbzIzdVVjcCtZWjcvTG9LeE5IelBZ?=
 =?utf-8?B?NXA0cWloWVliN2ZETm9HTXpEbzd6VnZFR25QbWlCcE5YN0VHRkhuaURSbzVZ?=
 =?utf-8?B?MDVFb1c1ZnMxMmFxMm5maUtPaWVseENEMWo2L2V3dklNN1JMMm4rbythbVJw?=
 =?utf-8?B?c2Joa291YVpjV2ZyNFJIOFhqZXV6ZlpsV2huWFI5VHpxM0VYamozaDhTb3c5?=
 =?utf-8?B?V1hNdlMyUFkwQ2hvWEZtRzA2b1Mvc2lnUS9uTVNiZFphbVkvUHhnNytDNmZ4?=
 =?utf-8?B?N0hCQy9rQS9weWN3YWJ0YXdGZjIzZCsrZnV0eFhOQUlPd2s1TmRTSU9qZ3lG?=
 =?utf-8?B?bE8ycjltQlA1UkNCREdvRHU0RHpuZERGcmhiYW5rdUszQStKVUkxaS9ENk5J?=
 =?utf-8?B?Y2ZaRkJLNnJhTS9tUDRVTjQ5S3Q3S1dvT1VCcWJtSk9ZcUk5MGQraWZrMkNY?=
 =?utf-8?B?dkp5NCt4T2c3cXpvVWwvOVljR3hZcTllUHhVNS9tMSs2eUNmcTVXYUJLWDMr?=
 =?utf-8?B?QVVEc0JnYVJXbk9zMVFJWFNnc1pRVTE1WGNrVlNkcmpHVTFZY1FXSnIwRjFp?=
 =?utf-8?B?ODJJc2lDRGpjTjBNRmNHaGpZTUhacmROYXdSTnJ1aTExUE5RWE5SRWJUTVhr?=
 =?utf-8?B?bGtHNFMxbzY2MmdLaWQ3cC92UmVVYUVmUHdUK1NQY0pxWC91V3lneld6QXVl?=
 =?utf-8?B?ZmgxQjJIdC9hWUlqSlF4NW83cXgvQytLSXhyRzRGdXVLKzVzN0tGVFNSVHJQ?=
 =?utf-8?B?Y09LNjFXU01IK2t0MVl4ZEMvTjExRlJ0WXVEZGhreEJwVjRqTXErem8zSTl5?=
 =?utf-8?B?QXg4REF2ZDRXV3NGWlFVbnZuRTBQd2diTmZlMG5EcVVEd25jWlE0cmIzSjJU?=
 =?utf-8?B?UUdKVDNwYjVVVGd4QU1ZaG5oUy9LK3VYNnBqU2ZxQjdFU0ZXOTBOSEIzUEp4?=
 =?utf-8?B?OWRvY1BnNVI1c21sUWFjTVhuMnBqcWpQR2tMRDBab08vZnlITDB5dFIyTFBr?=
 =?utf-8?B?ZndjZU1VMUNpVlBQdkZMVy9saVRBeE91YjA5aWhpQWhQU29oVFZ4MXcvaEZq?=
 =?utf-8?B?RzI0VTFtcjBiOTlwVitZMEVqeS9qRG5halNOUHFEbVpOTDdSUDJkWjh5S01k?=
 =?utf-8?B?L0o4WTR1Y0MyOFBKTnNNUlNFY21lMGJXYVVuR3hod0Jta3RVSXB3bVdUazN6?=
 =?utf-8?B?QXprTkI0a25LdzRwb1dIck1HdEx1aFNSQnkrRkt6b2hmY1UyYzdyUnExNmtn?=
 =?utf-8?B?ME5EVmRIUEd2cEZwZnhVOUMycldTdXN1bVowZWFtNFRqZEpDVndUOHFMY1lB?=
 =?utf-8?B?VHdTVm9VWlBrbTdZbFhOUHIvV2E1c0VUcExFa0Vzc3g2Z3lKK0V2Q2hqNks1?=
 =?utf-8?B?Q0syb29UbG1NNEVtSUVMdTUxcHJsL0RuaDZza2l0UjZHb0VUOExnZ21xR1h4?=
 =?utf-8?B?Mkd0dEg2UWpoKzNNajRiQ2tLWUkvNkhpYmt2TUcrcU5hbUVVN3dQWUhqVVpU?=
 =?utf-8?B?aTdZUGhpWVo5WHFMRWFOU0x2bXgrcTR0dFgvNXJTdEZmVmhuMFllNlZhRzlU?=
 =?utf-8?B?S1plaWF4MW9ZVXJKdWZlUjVLbWl4NGl4UEd0cTF2OVRTb0tnblVlQWNPZHlr?=
 =?utf-8?B?WHpPSnkvckV3KytFMSt1R01tN0dvQTJEZlkzSGJXdjBDUkd1ZEhEajBOZGpP?=
 =?utf-8?B?NmJlaWREVldaUFZwSnRmcUdxZTVlelU3dUgraHpVS3dQZ2xybVNLaWRlK1JF?=
 =?utf-8?B?cTI3ZE9ibUZJQTk1Q2YyN1JVMmRlMTRuRzJCS3RkMVREeGtCcStNaFJrUzBJ?=
 =?utf-8?B?RjRmbG42VUZRbGxGVVNBTnVOa29aRm1CWC9lMEJ4a3lJb3JQZ0xXVVk5eS9V?=
 =?utf-8?B?Wnk2WVVGUkFZa1Z4YkRoK1A1N3ZxT1R1bFQ0b1NEVnBCajdNejJLNGZIWkxD?=
 =?utf-8?B?L0JFRTJML2hBUUdkcmROSWN6WXlFWmpKbktNN3lzK25WakhCejRseEFnc0JD?=
 =?utf-8?Q?qmXMGYfuBmwmet3ciZj6ej9XW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 156f4e30-51c4-4667-d207-08db3107e3c7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 10:16:56.1052
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9OX2GSE7CafxIXLZWArJZ+knIhxlcr1dYOTXJY8ieODxXXPFnAUjFj5TUHQcEvu54kkrx7jdooeJA3lnD5meSw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7739

On 29.03.2023 22:51, Andrew Cooper wrote:
> Looking at this diff, I'm wondering whether keeping
> 
>     union {
>         struct cpu_policy *cpuid;
>         struct cpu_policy *cpu_policy;
>     };
> 
> permentantly might be a good idea, because d->arch.cpuid->$X reads rather
> better than d->arch.cpu_policy->$X
> 
> Thoughts?

I'm not overly fussed, but perhaps yes. Nevertheless e.g. ...

> --- a/tools/fuzz/x86_instruction_emulator/fuzz-emul.c
> +++ b/tools/fuzz/x86_instruction_emulator/fuzz-emul.c
> @@ -893,7 +893,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data_p, size_t size)
>      struct x86_emulate_ctxt ctxt = {
>          .data = &state,
>          .regs = &input.regs,
> -        .cpuid = &cp,
> +        .cpu_policy = &cp,

... this and ...

> --- a/tools/tests/x86_emulator/test_x86_emulator.c
> +++ b/tools/tests/x86_emulator/test_x86_emulator.c
> @@ -909,7 +909,7 @@ int main(int argc, char **argv)
>  
>      ctxt.regs = &regs;
>      ctxt.force_writeback = 0;
> -    ctxt.cpuid     = &cp;
> +    ctxt.cpu_policy = &cp;

... this imo want keeping as you have it here.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 10:19:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 10:19:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516572.800903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phpMw-0000Ro-4W; Thu, 30 Mar 2023 10:18:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516572.800903; Thu, 30 Mar 2023 10:18: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 1phpMw-0000Rh-07; Thu, 30 Mar 2023 10:18:58 +0000
Received: by outflank-mailman (input) for mailman id 516572;
 Thu, 30 Mar 2023 10:18: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phpMv-0000RZ-K4
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 10:18:57 +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 45c038ff-cee4-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 12:18:55 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB7739.eurprd04.prod.outlook.com (2603:10a6:10:1eb::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 10:18:52 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 10:18: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: 45c038ff-cee4-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WOt9mHtuNcW/Oq+49aKOkaud4FMs5EvHi/XrcMrGboWT1+HtymlVuUD7t12bQEVx00UcvOyBTeWRSmnkw+TnlAGGr4N9QaAA9ve7dQZC7u2bFzE2xnzix+TE6Zs81S4yHEj8U36B5U/0VUUxKMc5Gh1G6DJodLgjb96fS+f0QsDgTmUAeryDckg1vPD6HNMd7YHFeG3AfYNPQxAynfY8xrWELCv6wp14Vww15YhwRhiR7E28amW9dIWPRiCusMcizIZeztDEaq7GUSi2sqEcNx8MjLS/VDZPv658SsSSS065fA2WOgGX3P1znwFmUPS47WERxW/Zso+NS37TGWUILg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Sk+pDXofJvBMym7BUDCWXAN4ID8AtZJVus9f7/ZFRF4=;
 b=Ix8+Pa64EN8dEozmFQLQY4eGPpl1Qp8sE0En6u5OGHJA4zrLxkL5BYECJVoL0DvAgWy+q1RXUa0mfeApvU4vQCzF3QgHT7isp85dsaj5eTeY+5hKfKeSS+YVTacCYkIRm6xhZndFcCuRORem9hvoa3RErEreFvjzrnNq/LPPc0NGccP/M3xHiZ5B/ibkE5rQHtcGo9eBD29Dis75Z+D0MdDGezeXEL4ixVysi3d/W90xaUXG/hzA1owfKYPxo6+BbByvxjb9D44mn+pZhzyFVMRpUb+eDKXo12slGGx1E0uzzwIxO0fsuD3c6fid8Bk0JhpRyyafi2qg6/IG6JBSFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Sk+pDXofJvBMym7BUDCWXAN4ID8AtZJVus9f7/ZFRF4=;
 b=2dZDXqjaZ5GjVbM3MhHCs8so7HFJIvvBXV0lY3t5XDkk6YK5DmZire0hqGSHeGOvuBwP7xj+RTNKRFlRNxsr/GSVgSyIxLqb8293zvdgtzDFJFQMbpfdJ7VfSTJnxA5vnTUdHtVPrfFc4Py5h2x+1UgCttzVZ3faMwrd5u4ee1KIMoZBY65702jBq6hpwj7OEOSdr+jhZBSoGQ1CNi6B69xIC+xawm6QL9T/KZuZQT9cxOHq7R+2eq5zkGVLDR4cxQfnWK+I8xMoPBIE34pIBnhi89S2kPms+NgpOObVV3VqZB3+yERH7VTIykwij1oXk+jGcs7s02l+rqfb7VToJw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <75fe2fea-1ffc-b23c-373f-10dd21fe53ff@suse.com>
Date: Thu, 30 Mar 2023 12:18:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH RFC 0/9] x86: Merge cpuid and msr policy
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230329205137.323253-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0002.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB7739:EE_
X-MS-Office365-Filtering-Correlation-Id: 36a49408-297b-449b-a4c8-08db3108292d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1qLAAh3rNxRIDYdwiMauqKbI2J5nFrGaxXmm1lwr4kY//Ek/V/fqj9WchbeNxcVL2qSpmYWYLZSj8gWTAW4+JZT3JGqdh6SDu+rYMnU1NhWwGAbP894UaOsyesETIjWq+84sUrNtIFL/RmYQwaU7rLSdjo3mfc32KIdYDd7HMDYWcanrMYeGOrrMEwcK9xajDwJ20LRxNHD4LK1Hdw4h2nKfUMFFgYJYS4sPY7rPS7fAxiovO3zm+zaMDxfKsHOYicQYd0MP1UUVjLwRx4t/DfVkxXCuPIIfWppKsJYc5U0wWf/Mt2fSN+aeoZydu+g6/apxV+K0Lzq2rbnLrRZu7ig7xe4typUGdXow6Laf1aMeQq94kzloyx+HwGRa+N7/IGcjBodZ0ljLWfQ9y0nCILHEPU9T3UPzMeFqyt3rXGnwFbIMzTH+z1t+a3AKQYW4RTL/nQi8JP1kRfFf1MxbDgHrNRYbofbiFfq2OJr1DPJu5NS8PR0V+QWs74+VPsV6Q/CT2cvH4VRLMlouRmloGLnBC+QfNo4V15yBO3hQqJC8IManetNLeSPQrHqPgE2iZxPZzUyY3npT3czIjXdybQLstrClQoKbLC0EtgbeUOpWahgp4FRNpL/ygvwHd05Dj7RNV+YegP48EAcubCVr5Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(39860400002)(376002)(346002)(366004)(451199021)(5660300002)(31686004)(2906002)(8676002)(4326008)(66556008)(66946007)(6512007)(66476007)(6916009)(54906003)(316002)(36756003)(6486002)(2616005)(478600001)(6506007)(26005)(53546011)(186003)(8936002)(41300700001)(86362001)(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?RGQ5WEJXT3BLS25Gd2RscnB6VHNJZHBGYTI1S0hiTGd6VS8yRGszaW00SjNw?=
 =?utf-8?B?ZGFQSjlOTS9kYzMrdGVuWWpHMVNHVHY3OGVzd3JGWUI3SC9tSlhpUU4weEho?=
 =?utf-8?B?a2dVdHkvYXlVMWRVS2N3K3Z2dDdiY1FRK0lQTVhEWE9BMHVnZElzS0t5UFcy?=
 =?utf-8?B?MzIzcmlRVjBsalJGQ2RXTjVRa0ZJYVVUQWMyOG9LRURxd0lwaDRManN2VUkr?=
 =?utf-8?B?UUNmdW1yOG9uRXNwVlhuOGJRcnA3aVJuNFM5SnlPYkpZbzg3T0RDUFJ3eDFr?=
 =?utf-8?B?dW1FRFJTUEkxNEtETTRBTXpwNDRvdkZURG1TbEZWQ3hOcmtqMnBzVkZnendC?=
 =?utf-8?B?d2RicGlqYmd0QnF6eE5IS1dBN2VxYWxWZmFuSVJNWHk4NCt1LzV3SUM1N1pp?=
 =?utf-8?B?NmJKS2k2U0w2QWdDb2k3QTlJVkUvUE9Ddm0vTGh3ZUJPR2Uxb1JCSDI2L0o0?=
 =?utf-8?B?Qk90eVhxdFNpYm0yQnRWVGdTQ2NpbXk0RG1tVlpONlRIOTdKbmNkbm1ld0tk?=
 =?utf-8?B?RERqMlRpa3NHZVZJN1RQL0MzVFZzMHhmSmF6YlIwTDZiUHUxZ3BlOWZPVnRS?=
 =?utf-8?B?dW9zNlQxT0NNaE9MZTh0Wk9Rc0NoekJIaFBtR09waGI5eUlOWlE2d09rTWNk?=
 =?utf-8?B?RS9vS0FzWEpBV3FBQW5MNXpWOGovdWNYeldOQUFyc2JiS0xNVFc3MktOOTFq?=
 =?utf-8?B?VGtKSC9TTXZBeUtBekc3YkdyQjJaSmhhSWRIMjlraDNEOElSR1NxZk9QZGJw?=
 =?utf-8?B?RmVHVGZKdjQ1RWtkaXlyWjdKMHg4SGl5Y2dvMCs2eCtmYVFZajZGcmRSbHNo?=
 =?utf-8?B?UlRBb2VTc3QxSWRwM2hhdmJMT0tjZytkd3FsRnZ2WW5IVXljYWlZYlQ1R1l2?=
 =?utf-8?B?aEZyaWVveFhsTnNwUHg0Uk9haFA1c1lZQzAxTHIvWkRiMFV1azU5NTUra0VB?=
 =?utf-8?B?V3EwKzBKTTVOMjBBN0JxUWtqTVA3WHpGd3pGeTcwS1lMeGhBRVJROUxNRmRh?=
 =?utf-8?B?cm9ldTViMlBmQm1mWndid20xbG5QVWRNSXpWelRBYXgzR3pJSlp0NytHM2o4?=
 =?utf-8?B?ZG1kMlE5VXJCV3ptcVNzRmVKQ2JJMi9WanZKMTNhb3VucVRYZ2FxcUplS3Bj?=
 =?utf-8?B?UUdlM2pNY0Vyc3U3cm1oZEZHMEdqdDlMMHUvMU1QbmVMQjdIYVl0ck1yclNS?=
 =?utf-8?B?cmIrK2hQdmJGMy9kME5Wd1VFaDlIQjlSV1V4ay9RSDlKeVdsbmVOT3Rac0pU?=
 =?utf-8?B?VWZjajJtSDk0Um1rUWV3OE5OSmlqNEIxbXQzM1RKTy9PZmI0cnpXVEMvRTVZ?=
 =?utf-8?B?YmFuU0s3NzhydEVIajUrQ3dveEpjTEY0QkdiRzYvVnNmSmh0YUdZdk03TVNO?=
 =?utf-8?B?anhzYnFyd0s4bkFZUUZNQzNzQksrRHF4ZkhsR2VBUVNDVWQ2UU94eXFiRGsz?=
 =?utf-8?B?Y0grNGZNeEEvbTBpVzFJMmxHakZGN0VxWXhoREt3aUpXZGFWWVBmSjRFQWQ1?=
 =?utf-8?B?QnFjRklaczVab2R4MTZIMllwZTVBdk91S2lDWEZ6R2Ywb0ZMWEd0dmpIWWlk?=
 =?utf-8?B?VEV3SVlMcS9wUE0rN1JnNEMzUkFJQlhiSGUrdnZBMnBWVlNRYjBYU1grM0Qv?=
 =?utf-8?B?V0svWEViMk5NUmxGRGJOMEV2eGRqbnBIM2Zjak4zTGpLNFY3UitpaG5VcjNo?=
 =?utf-8?B?cmJkV01KU1VkNmoxbHdGbytCTi8wNWpMZUxNOG44QUpxRUFoZzRCQ0JudWpZ?=
 =?utf-8?B?aEhOeTRYVjFDTktZZVNHOUxweUJTc2VJUzhTMkVFZXd3UTZqQkJkVkp4NmFF?=
 =?utf-8?B?aDRlT3lmbFhUUHlYWTY0TGJPQXJPNU5xTDVRenIxa29Tc1pOR2JoSTdIODZn?=
 =?utf-8?B?R2psQ0MxNFVZTEFYME9BOEZTWThKSFQ5di9sTWlsMWd6dEo3Nkw5MkxlNWpV?=
 =?utf-8?B?a3VrUGQzbWNNcG4xdGVUSlZTQS9YaFNiZHJHOEhFdVJ0dkNHNGVuYzBOakJ4?=
 =?utf-8?B?OTNFZUZxZmNtdDNuVlJFOHpHK0NnOXBacnppekxsOHJGV0tQWGd0UGpLMGc2?=
 =?utf-8?B?ZG1GMW9vSXM2S0RKdjVQQUd5dlo5Z3I5dHpGY282WTVRb2FVM0MyUmFtNW90?=
 =?utf-8?Q?VlW9jQWWtnm6TmhLsdy4jufSB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 36a49408-297b-449b-a4c8-08db3108292d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 10:18:52.4933
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6pyH8DVQQ/TtR88BAq8OThIDCrZxLzctNLdp56G159KaXBX2I0Y7aFbpgjR9BHdCe/Sx8WrmbwAOPgMCHFo0KA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7739

On 29.03.2023 22:51, Andrew Cooper wrote:
> tl;dr to add MSR_ARCH_CAPS features sensibly, cpu_{featureset<->policy}() need
> to not operate on objects of differing lifetimes, so structs
> {cpuid,msr}_policy need merging and cpu_policy is the obvious name.
> 
> But this does mean that we now have
> 
>   cpu_policy->basic.$X
>   cpu_policy->feat.$Y
>   cpu_policy->arch_caps.$Z
> 
> and plenty of code now reads
> 
>   d->arch.cpu_policy->feat.$Y
> 
> instead of
> 
>   d->arch.cpuid->feat.$Y
> 
> The latter can be half-fixed with some union magic (see patch 9 commit
> message).  The former can be fixed by putting cpuid/msr infixes in cpu_policy,
> which is doable but very invasive, and would make plenty of code read
> 
>   d->arch.cpu_policy->cpuid.feat.$Y
> 
> and the two obviously shouldn't be done together.
> 
> So, RFC.  Does this code layout look ok?  If we want to make changes with
> naming, now is very much the right time to get them sorted.
> 
> Patches 1-8 are pretty ready to go.  Patch 9 is the remainder to take out the
> temporary hacks, and I'm still in the process of merging the system policy
> derivation.
> 
> Andrew Cooper (9):
>   x86: Rename struct cpu_policy to struct old_cpuid_policy
>   x86: Rename {domctl,sysctl}.cpu_policy.{cpuid,msr_policy} fields

Nit: I guess the last closing brace wants moving forward a little.

>   x86: Rename struct cpuid_policy to struct cpu_policy
>   x86: Merge struct msr_policy into struct cpu_policy
>   x86: Merge the system {cpuid,msr} policy objects
>   x86: Merge a domain's {cpuid,msr} policy objects
>   x86: Merge xc_cpu_policy's cpuid and msr objects
>   x86: Drop struct old_cpu_policy

With the small comments on individual patches taken care of one way or
another, up to here:

Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan

>   RFC: Everything else
> 
>  tools/fuzz/cpu-policy/afl-policy-fuzzer.c     |  15 +-
>  .../fuzz/x86_instruction_emulator/fuzz-emul.c |   2 +-
>  tools/libs/guest/xg_cpuid_x86.c               |  48 +-
>  tools/libs/guest/xg_private.h                 |   5 +-
>  tools/tests/cpu-policy/test-cpu-policy.c      |  50 +-
>  tools/tests/tsx/test-tsx.c                    |  58 +-
>  tools/tests/x86_emulator/Makefile             |   2 +-
>  tools/tests/x86_emulator/test_x86_emulator.c  |   2 +-
>  tools/tests/x86_emulator/x86-emulate.c        |   2 +-
>  tools/tests/x86_emulator/x86-emulate.h        |   2 +-
>  xen/arch/x86/Makefile                         |   1 +
>  xen/arch/x86/cpu-policy.c                     |  67 +++
>  xen/arch/x86/cpu/common.c                     |   4 +-
>  xen/arch/x86/cpu/mcheck/mce_intel.c           |   2 +-
>  xen/arch/x86/cpu/vpmu_intel.c                 |   4 +-
>  xen/arch/x86/cpuid.c                          | 101 ++--
>  xen/arch/x86/domain.c                         |  18 +-
>  xen/arch/x86/domctl.c                         |  51 +-
>  xen/arch/x86/hvm/emulate.c                    |   2 +-
>  xen/arch/x86/hvm/hvm.c                        |  38 +-
>  xen/arch/x86/hvm/ioreq.c                      |   4 +-
>  xen/arch/x86/hvm/mtrr.c                       |   2 +-
>  xen/arch/x86/hvm/svm/svm.c                    |  18 +-
>  xen/arch/x86/hvm/svm/svmdebug.c               |   2 +-
>  xen/arch/x86/hvm/vlapic.c                     |   2 +-
>  xen/arch/x86/hvm/vmx/vmx.c                    |  12 +-
>  xen/arch/x86/hvm/vmx/vvmx.c                   |   2 +-
>  xen/arch/x86/include/asm/cpu-policy.h         |  18 +
>  xen/arch/x86/include/asm/cpuid.h              |  10 -
>  xen/arch/x86/include/asm/domain.h             |   4 +-
>  xen/arch/x86/include/asm/guest_pt.h           |   4 +-
>  xen/arch/x86/include/asm/msr.h                |  13 +-
>  xen/arch/x86/include/asm/paging.h             |   2 +-
>  xen/arch/x86/mm/mem_sharing.c                 |   3 +-
>  xen/arch/x86/mm/shadow/hvm.c                  |   2 +-
>  xen/arch/x86/msr.c                            |  98 +---
>  xen/arch/x86/pv/domain.c                      |   2 +-
>  xen/arch/x86/pv/emul-priv-op.c                |   6 +-
>  xen/arch/x86/pv/ro-page-fault.c               |   2 +-
>  xen/arch/x86/sysctl.c                         |  77 +--
>  xen/arch/x86/traps.c                          |   2 +-
>  xen/arch/x86/x86_emulate.c                    |   2 +-
>  xen/arch/x86/x86_emulate/x86_emulate.c        | 166 +++---
>  xen/arch/x86/x86_emulate/x86_emulate.h        |   6 +-
>  xen/arch/x86/xstate.c                         |   4 +-
>  xen/include/public/domctl.h                   |   4 +-
>  xen/include/public/sysctl.h                   |   4 +-
>  xen/include/xen/lib/x86/cpu-policy.h          | 540 +++++++++++++++++-
>  xen/include/xen/lib/x86/cpuid.h               | 475 ---------------
>  xen/include/xen/lib/x86/msr.h                 | 104 ----
>  xen/lib/x86/cpuid.c                           |  12 +-
>  xen/lib/x86/msr.c                             |   6 +-
>  xen/lib/x86/policy.c                          |   8 +-
>  53 files changed, 986 insertions(+), 1104 deletions(-)
>  create mode 100644 xen/arch/x86/cpu-policy.c
>  create mode 100644 xen/arch/x86/include/asm/cpu-policy.h
>  delete mode 100644 xen/include/xen/lib/x86/cpuid.h
>  delete mode 100644 xen/include/xen/lib/x86/msr.h
> 



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 10:37:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 10:37:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516576.800913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phped-0002xH-NJ; Thu, 30 Mar 2023 10:37:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516576.800913; Thu, 30 Mar 2023 10:37: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 1phped-0002xA-KR; Thu, 30 Mar 2023 10:37:15 +0000
Received: by outflank-mailman (input) for mailman id 516576;
 Thu, 30 Mar 2023 10:37: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 1phpec-0002x0-8p; Thu, 30 Mar 2023 10:37: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 1phpec-0006gN-5o; Thu, 30 Mar 2023 10:37: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 1phpeb-000639-Md; Thu, 30 Mar 2023 10:37:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phpeb-0006ua-M9; Thu, 30 Mar 2023 10:37: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=BpNb2JeTcKIRhQ5u8OGdl+Xm9+v6n0wq5aFtyE5RvX4=; b=mQVnSCSHZJ/ce3tRuCKNNRLEvF
	xr6yR1puJ93FYWXVQ0/zOkOid7ZkHLpU/A/qsTaU/eKYTth55YSaEIBerG4nWCKN8YHwBH+gRI+Ex
	8lQQ8pmpC8+wzHGQ2IKXlTNACYttg3E/A4E4F/XjKlFGWrYs02HgDISe7FuaUiuB4tBY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180057-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [qemu-mainline test] 180057: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    qemu-mainline:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    qemu-mainline:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    qemu-mainline:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    qemu-mainline:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf-libvirt:build-check(1):starved:nonblocking
    qemu-mainline:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    qemu-mainline:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    qemuu=f00506aeca2f6d92318967693f8da8c713c163f3
X-Osstest-Versions-That:
    qemuu=d37158bb2425e7ebffb167d611be01f1e9e6c86f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 10:37:13 +0000

flight 180057 qemu-mainline real [real]
flight 180063 qemu-mainline real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180057/
http://logs.test-lab.xenproject.org/osstest/logs/180063/

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 180063-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 180047
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 180047
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 180047
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 180047
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 180047
 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-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-xl-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      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          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-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-amd64-i386-libvirt-raw  14 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-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      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 qemuu                f00506aeca2f6d92318967693f8da8c713c163f3
baseline version:
 qemuu                d37158bb2425e7ebffb167d611be01f1e9e6c86f

Last test of basis   180047  2023-03-29 02:43:12 Z    1 days
Testing same since   180057  2023-03-29 21:10:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Emilio Cota <cota@braap.org>
  Peter Maydell <peter.maydell@linaro.org>
  Philippe Mathieu-Daudé <philmd@linaro.org>
  Richard Henderson <richard.henderson@linaro.org>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-amd64-i386-xl                                           pass    
 test-amd64-coresched-i386-xl                                 pass    
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 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-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 test-amd64-i386-xl-vhd                                       pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/qemu-xen.git
   d37158bb24..f00506aeca  f00506aeca2f6d92318967693f8da8c713c163f3 -> upstream-tested


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 10:38:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 10:38:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516581.800922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phpg8-0003Ub-2f; Thu, 30 Mar 2023 10:38:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516581.800922; Thu, 30 Mar 2023 10:38: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 1phpg7-0003UU-Vv; Thu, 30 Mar 2023 10:38:47 +0000
Received: by outflank-mailman (input) for mailman id 516581;
 Thu, 30 Mar 2023 10:38: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phpg6-0003UO-TJ
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 10:38:47 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20609.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b769cda-cee7-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 12:38:44 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7855.eurprd04.prod.outlook.com (2603:10a6:102:ca::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 10:38:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 10: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>
X-Inumbo-ID: 0b769cda-cee7-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C81zHsjAR0k4mVTAb9pSqr1/Vrpn73OfNFuAS4Fw+IsjWHcNnR1PuWD6aMOzhs35xyyds/z99aRKq7XlmZBzY74HcURjVIEloxqJKmanjWm+H0HQY5xHemttAm2i8gZ2wG0nu5RbE+0UEaGzyzOvpV5PxaAZAguJlpVEco/01YMXYh9skhBsw/wPqFxHTEoxuI7PywPHkoupnqa4h+6MuUh9emRrH+k8JlrvOgSvK7/WEcLNq/VPnyqA2RYuIxz4h3OHrfiu8FgaseBB1wgflaGxUERIZRI6FoZdmHweIJ052TjeayXH1q0JK0U4laFreC6sr4iZo9NBRgjX2KOmmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e7FJlYloGtZt5b/LqpsUIPTZbUKroDx6AHGsuVW6hbU=;
 b=bvXofdowwZwUBAbcxrSLkWA9sZCNIk0bulBIoENDJJN0JMv6LLXF3dYvKRxaWe8VsQuIMnrpkjR+xUwMwAKvQxayWPIYrtbh7WqMEMDlduKysFlz/2orUZlbDGAIVKUyluOF2WtW32TDoERTmjg/InxWSiKbqdl7v34EgLVpNproQuy5gOXVKYRepR3rO8CtEHRDqykeaCMQ1P3jQ9zsfVbnw7OqgjfliSoLeiCfcR1O/QlV+bVN/8VQAuK/SOqRYWN6CDMfyj5Z6Vl+i3rzHCP9ExhkHWJdZfVWf11+nOnFrHQT57G1Es/fY6F0kinHH4ZfIaIHlEK+9DITXhro/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=e7FJlYloGtZt5b/LqpsUIPTZbUKroDx6AHGsuVW6hbU=;
 b=fLHfgRc++uJ+oTFPK5svn6eN//0HiHtyCY9CiVKxhzHactnnRygfYvU4FNKyr6Tj4rzKNvc1tmjdUd0RuTj+pb1TdxZZJMVX3KVUsHg3SDmEAGpeNj0cLNEp4xGMP9uvL9SnxMANrOnnslpiTy91kvWH7GlaRC7paZXz/GYfvXiOECIRPrgCVndLz78Nx1fcyCnGv0l4QG8yOXWnzVGoYs2R6xQ/Dm8WpL8xQE6QpxSIIuK2qGTXSJzbSVpkdQoZuVtnOg3j2mOn35DevvxpiJTjCFCR+PFsUY1IPcmd2Jb4ZGrjI7gEWWtkXqIw9ERS3rYcBElUs2RKIh5CeKGojQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <22a58367-6a7d-867a-348f-b2d18248f3f5@suse.com>
Date: Thu, 30 Mar 2023 12:38:40 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] bump default SeaBIOS version to 1.16.2
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0035.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::8) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7855:EE_
X-MS-Office365-Filtering-Correlation-Id: cdb9ff96-8f57-4f25-8b2b-08db310aee85
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/1cQ3oC/UqWqp4DgIdI+zFRq+QQ8M6IVdZ3w8GndgEm8cPF26EhL8cTYtF3c8/nQ02HSUmingZ0i7R8WTbMmP8j0WPDA1woYCsbDyQEdqgl9XZSk7e05/5a/Um+fStpYSs2p5yOTPbk1rDrQg2aDD+avflDEMXygzSEKk6Bb+18HAO93Fv/njLkpbknorkPY9YKFpnpcFYYfcvllfxAwk9jvlIIdi6fKPIRWxEMjdAsMbFdpmZsLbu/kVdrMSOvOO5KXrIJzvMWt9al+DP/AaoiALVneaQfD1oxtsNo9xTtRKgee7qkX4ZYW3iJ5DYTuGvlSqHw1dIQywul6kkPXPqpPZ8+2FnuXxuAFsKJ+hnA12qVozE9QR0aAX0OwTb0YB7FICAaEYntWXfg7RKntkjYinazssVd1il0SGb889pMJtRKtY+dRB7c9brH5x1cD7N/1GIk0KZU516UGizY6dm4QlP4X7xFw3kUCy7p0vN3ShAgr4fR+bxjVVY9POaXbH8bPloFXuUxfNiesACpWbWLkbXc/7GhhiJf8I4/oi1o25kxo/mdl3CJqXS3KcBOdmTIlJKzwtD1rROpSPtUwNzmUADNFqbAMraLyYL/MMQsaWKNUle+2zbggS/ihmrlaH150sjVoXMGRGJhjElhgpw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(396003)(376002)(366004)(346002)(136003)(451199021)(316002)(66476007)(66556008)(6916009)(66946007)(38100700002)(54906003)(4744005)(5660300002)(4326008)(8936002)(41300700001)(8676002)(186003)(6486002)(478600001)(966005)(26005)(6512007)(6506007)(31696002)(86362001)(36756003)(2616005)(31686004)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QzNEZll4M1BMeExOTjkzeTN3UTMvaldublM3WG9BcHA0c2FLUDI2dVZUaVR3?=
 =?utf-8?B?WERxVmF3N0syZGlvL0pLM3NvTW5XYytlekVsT3BPOUlhMUM0T0ZhQkhsMlNT?=
 =?utf-8?B?U3d4RmE4b3dEMnYrWWNKNjNUWHFJWitqUTB4OHc0cWtxMDdWaUMrYmJ1UUlt?=
 =?utf-8?B?UlpmdDg1blIvcElaeTQ0THo5MUQrYkp1V1p5bGxEZ1BQMkxFWkhmVDIzWFFJ?=
 =?utf-8?B?RDQzV2k1eWVjcGJKWi9JdmNLSm9VR1poSlpJQWFpM3A0bGFKcTBGVlJBZVNT?=
 =?utf-8?B?M0hIanczZ1pvN2g3OTV0cEpVejFzbnI2T0tUenppL2hmbjlKSWdhN0xKWU9y?=
 =?utf-8?B?Zjl4UkprM0ZFQTVOb1J4bEJpVWQ0OGwvelJRSlJVRU5PZnBaaGQ2R04xV1Vp?=
 =?utf-8?B?WkJPTjh4ODYzQ3JScXZ2U2p1U3dZOC9tM29Md1JHSkV3MGtpQWV0OFNTYzBL?=
 =?utf-8?B?RDQ2L3I5VldwSCtrMy85WTNEeENVOXVxYUE3b1pFTkJHZTdMMmIvUkd5eUJL?=
 =?utf-8?B?enBwQzF4c2oxT05rVk5sWWVqSHNKWXhPMjhGSFlpelE1eHh5aFBuQWM3UitL?=
 =?utf-8?B?SjlRM3E5Ni8vQzdJUzNOTDV5TDBza3lFME94QWkzSmw5L3pxNnQxTFJ1UnJT?=
 =?utf-8?B?R3BOSTY3c1l2dXBLam15NXpQeWV1RWpPQjh1OTZhKy81UGN1UVJ5dnYvNTFp?=
 =?utf-8?B?UkdGcmszek4yTEhHWlN2M1NqZGQ3YW9lQUJDdnVnS09Bb1g1NUtCQ092dlh1?=
 =?utf-8?B?YkZ2Z00yaGVTamMrNUw4UVVKSmlmTGRveFpuUWVtQXhUL2VUd0dIeTJwRlQy?=
 =?utf-8?B?MWp1M0pLTkFiU2J0RkJUVURURjk5cWxkbDBET3grUmZHSi83MGZyODJ6WmlJ?=
 =?utf-8?B?MHVMeVBUNmlhcWU3SE1ucER4cllZZEF6aFJ3L0o2RWhQVnVMYkVzek1qK055?=
 =?utf-8?B?WGpKaGZ4WW1SdkJtU1ZSTXNPMEduaGNKOTcwSTZxOGx0OUNwdnFhYlpuZHhR?=
 =?utf-8?B?SnpBalloZkdTYmVDSVRZTkZsZGM2dWlCK0JGVVNYUVlCT3didGxYRXRORVZr?=
 =?utf-8?B?cUlVWlA0SXZrMTZPM2d5UXRkbnVXbmh2ZDFYSGJnZ2FRSDFqTUkxbk1nM2Zr?=
 =?utf-8?B?SG1MNERJbW5DRS85bnltL090UjdrdVBFbElVK0NJaHhhTW54Z21USGd1bmwy?=
 =?utf-8?B?WTZLUDZ1Q0JSTmNDRU9zVnA4R3VXMFNGLy9OczBMM1A5WTJsYk1TYVBkdlBi?=
 =?utf-8?B?bmNXYVlZNmhGUWgyNGw3NVUrY09OTnpmNERuZHBKc2xGdFhtZFhQcjRvODl5?=
 =?utf-8?B?bmdCbzFZNWZyaHU5dUxRbXZ3OHdKeXRWS0lUUW9pNkJ4cHNRU3JrQ0FJdlA2?=
 =?utf-8?B?YStPQjJKQWNRZE1pQ1lEZ2JoQjZwVlpXdWY1d2NVaDJWMnJXVnJMWjl2RFRi?=
 =?utf-8?B?TmtVMk1wUjVVd3JSRU5odUtJN3lGaVJlZmdWMEQwVSt4WUoxZGJKa2w1dDhO?=
 =?utf-8?B?dzRvQUFYUFkvWVZlWEVJb09HWFRzcHhCbHFDS1YwNlpRbWN1MGowSmtTSFBL?=
 =?utf-8?B?QlJOVWZyb2dHNENXR0wzbXFVNHRLODlZalk0czlyT090RkdJcjk4MUdEc29P?=
 =?utf-8?B?ZUV5T3lHZEVvT0xKZkUvclJNZ2d3eGpGUmdKcXpKb2l4ZTNTK1NvOGZCZWp1?=
 =?utf-8?B?b2ZMNzNSd0UrcVFaWWFONTE2akdhK1MyZnJuNVc0ZGp6Y2t5blRlR2pnK2NC?=
 =?utf-8?B?UktFRkh0T1hMU1NXeERoT2s5S0Vha1RkbjZWZncrMmMvRXNPa29wQWpWRDBk?=
 =?utf-8?B?Z25IZFlNSzdmZndFRlpNeVZBbUZabVh0SGlJSmxxd3Y4dVI1UVB4aHdUQlNY?=
 =?utf-8?B?M2tPb3ZmQkEzRDdRK0Vac1kvdWkyeTBXZHZ6TU5YeDZ3Uk9EL1BGYk1mLzdh?=
 =?utf-8?B?ZktNOUorZjd6Uk9jb010LzdBSThiUWR2VzRYTGUzbXlTTmw0OUFLS1lMeWcz?=
 =?utf-8?B?Wk05bFk3cUFncEtyWEZhbkE4cWgweGw4Y0NMcmVCM01XbVJYRGg5d1d1dkFY?=
 =?utf-8?B?SUxiSkxsYlc1a3AxL29wTC9pS01Mbk5OVVFXOW1Lc00zWTJnQS9EWlFIQkxL?=
 =?utf-8?Q?HfmlGRW59m45PHVHHOSRQLV+T?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cdb9ff96-8f57-4f25-8b2b-08db310aee85
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 10:38:42.6005
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f4Nktdx7aGlA3sbwYR7cl83G867kyitBl8Tc5MJ8A8hR4fjLdg4UrH/EvxFEE8QN1zy0kx6J+gK1+goszH2uww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7855

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/Config.mk
+++ b/Config.mk
@@ -225,7 +225,7 @@ MINIOS_UPSTREAM_URL ?= https://xenbits.x
 MINIOS_UPSTREAM_REVISION ?= 5bcb28aaeba1c2506a82fab0cdad0201cd9b54b3
 
 SEABIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/seabios.git
-SEABIOS_UPSTREAM_REVISION ?= rel-1.16.1
+SEABIOS_UPSTREAM_REVISION ?= rel-1.16.2
 
 ETHERBOOT_NICS ?= rtl8139 8086100e
 


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 10:40:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 10:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516584.800932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phpi2-0004up-Dg; Thu, 30 Mar 2023 10:40:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516584.800932; Thu, 30 Mar 2023 10: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 1phpi2-0004ui-Aw; Thu, 30 Mar 2023 10:40:46 +0000
Received: by outflank-mailman (input) for mailman id 516584;
 Thu, 30 Mar 2023 10:40: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phpi1-0004uY-0o
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 10:40:45 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5197738d-cee7-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 12:40:42 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS4PR04MB9291.eurprd04.prod.outlook.com (2603:10a6:20b:4e6::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.30; Thu, 30 Mar
 2023 10:40:40 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 10: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: 5197738d-cee7-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZYPKv6IYaqhRgmEuNfoaXE8yNmg+e1Gr1L1BL+m57KimD9U1ZDuiRJQrrOYf9WKclcuMOWzmWCcMUeRjoft7euogWT89uV1K250qKS53QKZJjbJNWU+30xN47tPNimrdGMeNd1Hlirk79/zS8f2AmpRe4eoBDWOnE0giR39BuiWjjJ+sMG4Ei/2ZKqkVcjuHzDGM8ZMGAvPRv9zDlIxJ+bJpT9aTkYF+XHxdmusFr+aZ53QbA32zEwKglL45pEOqOFT6trPFp2gFW8pla2FB3IlLHm7Us3QpiOoMEutxF0bkR7oHFnfcshnWcSJTPJMqEdhTPE3RYKOdrx4HNKBM2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Q2rCHLkcV3nX2xu2lyRhhhsfXfAAvjvQuVeY+bD0syg=;
 b=NW6GL1cQSmLYLIqx5k6W9Fz7niuuiat7F/nuDgONTcaWfE/oV26dAe7tCSJULtCArCWRtoPaNwrXUbM3agHszVm6NoQbSHmBhSrHfuSoRl1FIBP4XWsThyl9pwOrXd6CX1y8mfqvJnymLdNfS61Y+bfFcZQ//Xx06qLpdy0cK49gmfmSkWzBItLdMfcL1HLDzXBb9v4zAI7nF2oK3BtmCT76ziOZSu3eLomooJTD0TDFdJzfmjDAoT9565OHjfM0vRyhhBhn0Jc7rJ+vKI2Yd/34NkztpUK7mCbYV/xuJjeJhtkgB2mhwkWGuqA4zgYKy17xf1oPTMKmiepUTwNPiw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Q2rCHLkcV3nX2xu2lyRhhhsfXfAAvjvQuVeY+bD0syg=;
 b=uYCtjWZ9Op0CwWe45phSj9/mxISBHss3nrluuLGKKZxiUsByBeSY1asW7jTFHX+6J/qRYOAMxEtL+Gh8nzLuO84WcRap99RoTRM4rtrdeIt2WP3JwqahmPTqkyzVduStdMmHJjhINHa6dgaoJdwgp4QIO4zqIOC4sFm8FUovmmAQdIbshYV5fU/KACS3BUHXD8grv/exrwwWEz4UnVCNlncp0GmFf4paOabedHaN9CWry1hxRxi6Yhr9U8Hxundw+I2uZdT6P1VukGYbL9PRSI81bv5XDJWQz+qHn4FUvi2rZMbmn0SwVv9oYPRNQ18Egek/sOHjKue1r+X7/IpphA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8f2fa47d-89b7-b39c-e60f-edee1de5ca82@suse.com>
Date: Thu, 30 Mar 2023 12:40:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v5] x86: detect CMOS aliasing on ports other than 0x70/0x71
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Paul Durrant <paul@xen.org>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
Content-Language: en-US
In-Reply-To: <5426dd6f-50cd-dc23-5c6b-0ab631d98d38@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0032.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::19) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS4PR04MB9291:EE_
X-MS-Office365-Filtering-Correlation-Id: 1959a24f-0087-4809-63b2-08db310b34d7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uiqp/BcH8Fii9LGvandaExhzKxEntlkfPKGJIilOcKghKAaQ6iH0wW9E1vgn5ISF5pdqsSmiKb6yrfly+MXslTUbKEjz1UVwTbb52Pv4wCdiiF+yP8xX2b0KPUw3FPbBQE8/4Eyx+ih/A+I2sSj/SeCzsI6RDIO3NYKFmNj1eMpszlxX8/B7M7QLQ6GyP4PpPux6UMlq1Qg5ZGZr093TRpK1ksrwV9/ZPvgm8nX9SBIAGcJ5C8b0ybJZ6L81rARbf6k+puRhhxuX9PMmvlloAC6ZPfDJaHLkKv2pPulkRtdEr3R9SWmGqaBcgyq4qcBcuPIZt1W4tkJzkWKTX5bxg8CP3qhe8z1HjfMfANnZdYTNvyTwBIF+g03X9QlcdBIs0cXkNDybvwo9DPxtJZ9AJ9wH8ympBwHTzAphCQ7nkRlY87K5OCx7WpB9z2njSgTgMrYWIaEtkjzz1hICp7wEjJnspF2GrrQOwlLY/3VKtlVYNDlWwe14j7JR91mADQPFgofhE1vwWzWkrv8rPQbFOja8BIt1hBhA71W+Gg0b/16uN0jtj/KlqEdYBli+KDER2tw8wOxY+LSfaAwQnBA0DHMkAdI4lmXiBZ4t3N/SEo6Udl4cgIza3sQ2OxSI9Hw9SyXOd9kCyJ7uU0jNp8llJg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(366004)(376002)(346002)(39860400002)(451199021)(2906002)(6512007)(2616005)(83380400001)(6916009)(66946007)(54906003)(8676002)(66476007)(4326008)(478600001)(66556008)(26005)(316002)(6506007)(186003)(36756003)(86362001)(38100700002)(31696002)(6486002)(5660300002)(41300700001)(31686004)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S0NsUHJIZStEVGJCNDcvM3lwaUZvTjc0WVozWGVvNHN0QU9HTWVucWxpaDBG?=
 =?utf-8?B?Rk0vTGpVQVE1clZheWo4eStpNC9DWGZQOVlRWXVVZWJLMlBzb2c5Zms4Ymoy?=
 =?utf-8?B?enY4amdGUDBINWxNOWxKRENPcGxRT2lQRDFveEJGOVRKM3RZOXFCWHhXU3Fy?=
 =?utf-8?B?SUZQWDZKOE40dnVXNlpNRzdpTTlPaUVaU3pZMmUyeDk3MFBjck1CZkNCS1g1?=
 =?utf-8?B?c3lYSXZQK0NXT0dlb013UU9GdGVKZjJRT3kvU3lwd3hwV3pGZ0xRNHZPM1hm?=
 =?utf-8?B?VmVkbGJ5TzEyU1FhaExIQlZmZDRXQ2kyekNpL01vNlpFMGdSdUpNendnbm1V?=
 =?utf-8?B?TTl1UW15dC8wTFpORGJzMEpJSkZTa29sMzRWcXFxMHI0Sk9kZXo5eU5MNTJ4?=
 =?utf-8?B?RWh6dU53dWVPamFvT2E2bWJPak1IZTY5b09SemQxckpDZ2V6aVZneFFyWURT?=
 =?utf-8?B?UGxQbi81dGNtSEx2d25XSDljVmIxMlpIQXllUnZhQ3RNWlRjWmN3ZFNReGNt?=
 =?utf-8?B?dkEzaFQ4TjJsb3BKem1qWVQ5Sm11SmpsSFlTL0JEQVltTXgreXFySnpCWWw0?=
 =?utf-8?B?R3FwUzZHSVFUVWplWldyajQwbXprMzV2N1dEcmVScXh4RW1hRmRmRUNITmN6?=
 =?utf-8?B?cnA3VXpBNWVUMEc1L25oaU1mN2J3L09HNkhDSXpvUmgrdHdoRnpsSGxLOVBp?=
 =?utf-8?B?dGUvU24vMThoTlFDY2d6STNNSHc1OGQ2RGs5N1hHQ2YzY0w0eEpNMUtlYTJ5?=
 =?utf-8?B?Rk92WFhYZHFjWldRQ05CWkxldzV1WFRYWHM5aCtudjVPNVAzQTU1R3FyMnlp?=
 =?utf-8?B?byttVkhVcmd5SzNQeEJGbjFTbnBncC9DQUpHVGowRVIvZzYyM2I0aXpJSngr?=
 =?utf-8?B?am1LOHdPL0VoMXdlcENJbUc1Rzc4Uzl0eUp5R2pwdzJuY0tnTFl2RklMQzM3?=
 =?utf-8?B?eUtFamFZb05RRzhnYndOdStTMTVmSnAxZXRtM3k5YWY2QUVkL1hSVkk5dzJI?=
 =?utf-8?B?Sjh4WFgyNHpjeHloQVkvMGFSWGF1dUZ1T216dExrblBVeC9XSW9iR0REK2sy?=
 =?utf-8?B?TVBZaGZpOC9JVHZaQVFNNFhTQ2RoTy9JZ2RpVHgzdWQwd2pMbU9GMHFzYmpn?=
 =?utf-8?B?eXRNRWdFaTk1UU41alZjMUJHd3RTejNnWEtOMmR0WFl2ZkpQRm1DRENNaGgx?=
 =?utf-8?B?a3U2OXBkSkhpOWR5NTFqQWFRRVhHa1VTbFNnWXNzalRsdFVFUE9lc3owOVdI?=
 =?utf-8?B?NlhVYU1weEM3NGRTZFVvNmtNWDU1ZDM2NVRMS0pIbS9wZ00wRlloNmxUcDd0?=
 =?utf-8?B?RXVzOW5COEVOUVJkYW4xR1JOdUZ1bkdyOHpuM3pRQmFhQk1LRXIrT0xRaVJ1?=
 =?utf-8?B?OTdTK0dhZytrdVI1Tkx5QndDV2ltYkZ6MTF3MFREZDA5ODE0VkpjOGIzdXhC?=
 =?utf-8?B?bWE0bzBsN0p4dTZlWXh0Sktqc3kvY25GWnBzM2Z4b2pOZnNXa0ZPWjc2eGNV?=
 =?utf-8?B?SUNqd2NTTXFKY0M5Q0xXQ2RNenU3L2lEY3U5SzFGT3JRVU5ENGhHVDRBUUtx?=
 =?utf-8?B?c0lqVURycVVrVjN1bjlHRFRjZnlvV0Fhb1JNMXVjK0VmU0ZkV2RvUWxtdktR?=
 =?utf-8?B?bDlRbEpLK0dEL2JYYWI4Rk1ZQVdOY3NnTisyK280Kys4ZzFFMmo2NENTS0RT?=
 =?utf-8?B?MFRzeWEwVStNak9JZFR5Vy9mbHVIQURPSHZ1Uko4SEVPM3B5aU9IeTZEa0M3?=
 =?utf-8?B?QVdTSVZZaWt5eVI0cmhha3FyMmpsTnd5Q3lZUG1adWI3NkJHRmhqWTVlQzVp?=
 =?utf-8?B?RFNILzlubXFHV2pNbHBrWGwwS1RwR3dLbUJjbkFHS2QxQWJLb2xqbUQzNHFW?=
 =?utf-8?B?MXdMdENwbEl0M1pGcFZ6S3Y1eEhySE4zbEs4UFFDVHU2L3NxckF1aGpZMDd1?=
 =?utf-8?B?c3Y3YVRSTnoxb2w5SUljZFhLYzZCS0J0SXg2d3JpQ0tMVk9oZDBDOUh6cWZL?=
 =?utf-8?B?WVpOMVB2dTRXMzNqaElSY2hhWnhYRVowN2YwOGdGY0xCZUtwUk1RNzJEc3h0?=
 =?utf-8?B?NUszWG03bng5dXR3WkV3b3RHS2N1VEp1Nkw1TlB5cmFZc1Q3YlpJMEVVaWlj?=
 =?utf-8?Q?mSn7aucvRqxg6yOn0uusca/pl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1959a24f-0087-4809-63b2-08db310b34d7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 10:40:40.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: 7rjDgtC5lIVZq5Oa4OXUnpAESadZ5q/JGPjelpKKWpbX35OPsm9QfVqRr/ooSRoWK+LSFFBe/ZPQ/HiSWQ4qAg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9291

... in order to also intercept Dom0 accesses through the alias ports.

Also stop intercepting accesses to the CMOS ports if we won't ourselves
use the CMOS RTC, because of there being none.

Note that rtc_init() deliberately uses 16 as the upper loop bound,
despite probe_cmos_alias() using 8: The higher bound is benign now, but
would save us touching the code (or, worse, missing to touch it) in case
the lower one was doubled.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v5: Simplify logic in is_cmos_port(). Limit the scope of a local
    variable. Adjust a comment that's being moved.
v4: Also conditionally mask top bit for guest index port accesses. Add
    missing adjustments to rtc_init(). Re-work to avoid recursive
    read_lock(). Also adjust guest_io_{read,write}(). Re-base.
v3: Re-base over change to earlier patch.
v2: Re-base.

--- a/xen/arch/x86/hvm/rtc.c
+++ b/xen/arch/x86/hvm/rtc.c
@@ -27,7 +27,7 @@
 #include <asm/hvm/vpt.h>
 #include <asm/hvm/io.h>
 #include <asm/hvm/save.h>
-#include <asm/current.h>
+#include <asm/iocap.h>
 #include <xen/trace.h>
 #include <public/hvm/params.h>
 
@@ -836,10 +836,18 @@ void rtc_init(struct domain *d)
 
     if ( !has_vrtc(d) )
     {
-        if ( is_hardware_domain(d) )
-            /* Hardware domain gets mediated access to the physical RTC. */
-            register_portio_handler(d, RTC_PORT(0), 2, hw_rtc_io);
-        return;
+        unsigned int port;
+
+        if ( !is_hardware_domain(d) )
+            return;
+
+        /*
+         * Hardware domain gets mediated access to the physical RTC/CMOS (of
+         * course unless we don't use it ourselves, for there being none).
+         */
+        for ( port = RTC_PORT(0); port < RTC_PORT(0) + 0x10; port += 2 )
+            if ( is_cmos_port(port, 2, d) )
+                register_portio_handler(d, port, 2, hw_rtc_io);
     }
 
     spin_lock_init(&s->lock);
--- a/xen/arch/x86/include/asm/mc146818rtc.h
+++ b/xen/arch/x86/include/asm/mc146818rtc.h
@@ -9,6 +9,10 @@
 
 extern spinlock_t rtc_lock;             /* serialize CMOS RAM access */
 
+struct domain;
+bool is_cmos_port(unsigned int port, unsigned int bytes,
+                  const struct domain *d);
+
 /**********************************************************************
  * register summary
  **********************************************************************/
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -220,7 +220,7 @@ static bool admin_io_okay(unsigned int p
         return false;
 
     /* We also never permit direct access to the RTC/CMOS registers. */
-    if ( port <= RTC_PORT(1) && port + bytes > RTC_PORT(0) )
+    if ( is_cmos_port(port, bytes, d) )
         return false;
 
     return ioports_access_permitted(d, port, port + bytes - 1);
@@ -290,7 +290,7 @@ static uint32_t guest_io_read(unsigned i
         {
             sub_data = pv_pit_handler(port, 0, 0);
         }
-        else if ( port == RTC_PORT(0) || port == RTC_PORT(1) )
+        else if ( is_cmos_port(port, 1, currd) )
         {
             sub_data = rtc_guest_read(port);
         }
@@ -436,7 +436,7 @@ static void guest_io_write(unsigned int
         {
             pv_pit_handler(port, (uint8_t)data, 1);
         }
-        else if ( port == RTC_PORT(0) || port == RTC_PORT(1) )
+        else if ( is_cmos_port(port, 1, currd) )
         {
             rtc_guest_write(port, data);
         }
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -2131,37 +2131,36 @@ int __hwdom_init xen_in_range(unsigned l
 static int __hwdom_init cf_check io_bitmap_cb(
     unsigned long s, unsigned long e, void *ctx)
 {
-    struct domain *d = ctx;
+    const struct domain *d = ctx;
     unsigned int i;
 
     ASSERT(e <= INT_MAX);
     for ( i = s; i <= e; i++ )
-        __clear_bit(i, d->arch.hvm.io_bitmap);
+        /*
+         * Accesses to RTC ports also need to be trapped in order to keep
+         * consistency with hypervisor accesses.
+         */
+        if ( !is_cmos_port(i, 1, d) )
+            __clear_bit(i, d->arch.hvm.io_bitmap);
 
     return 0;
 }
 
 void __hwdom_init setup_io_bitmap(struct domain *d)
 {
-    int rc;
+    if ( !is_hvm_domain(d) )
+        return;
 
-    if ( is_hvm_domain(d) )
-    {
-        bitmap_fill(d->arch.hvm.io_bitmap, 0x10000);
-        rc = rangeset_report_ranges(d->arch.ioport_caps, 0, 0x10000,
-                                    io_bitmap_cb, d);
-        BUG_ON(rc);
-        /*
-         * NB: we need to trap accesses to 0xcf8 in order to intercept
-         * 4 byte accesses, that need to be handled by Xen in order to
-         * keep consistency.
-         * Access to 1 byte RTC ports also needs to be trapped in order
-         * to keep consistency with PV.
-         */
-        __set_bit(0xcf8, d->arch.hvm.io_bitmap);
-        __set_bit(RTC_PORT(0), d->arch.hvm.io_bitmap);
-        __set_bit(RTC_PORT(1), d->arch.hvm.io_bitmap);
-    }
+    bitmap_fill(d->arch.hvm.io_bitmap, 0x10000);
+    if ( rangeset_report_ranges(d->arch.ioport_caps, 0, 0x10000,
+                                io_bitmap_cb, d) )
+        BUG();
+
+    /*
+     * We need to trap 4-byte accesses to 0xcf8 (see admin_io_okay(),
+     * guest_io_read(), and guest_io_write()).
+     */
+    __set_bit(0xcf8, d->arch.hvm.io_bitmap);
 }
 
 /*
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1234,7 +1234,10 @@ static unsigned long get_cmos_time(void)
         if ( seconds < 60 )
         {
             if ( rtc.sec != seconds )
+            {
                 cmos_rtc_probe = false;
+                acpi_gbl_FADT.boot_flags &= ~ACPI_FADT_NO_CMOS_RTC;
+            }
             break;
         }
 
@@ -1249,6 +1252,77 @@ static unsigned long get_cmos_time(void)
     return mktime(rtc.year, rtc.mon, rtc.day, rtc.hour, rtc.min, rtc.sec);
 }
 
+static unsigned int __ro_after_init cmos_alias_mask;
+
+static int __init cf_check probe_cmos_alias(void)
+{
+    unsigned int offs;
+
+    if ( acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC )
+        return 0;
+
+    for ( offs = 2; offs < 8; offs <<= 1 )
+    {
+        unsigned int i;
+        bool read = true;
+
+        for ( i = RTC_REG_D + 1; i < 0x80; ++i )
+        {
+            uint8_t normal, alt;
+            unsigned long flags;
+
+            if ( i == acpi_gbl_FADT.century )
+                continue;
+
+            spin_lock_irqsave(&rtc_lock, flags);
+
+            normal = CMOS_READ(i);
+            if ( inb(RTC_PORT(offs)) != i )
+                read = false;
+
+            alt = inb(RTC_PORT(offs + 1));
+
+            spin_unlock_irqrestore(&rtc_lock, flags);
+
+            if ( normal != alt )
+                break;
+
+            process_pending_softirqs();
+        }
+        if ( i == 0x80 )
+        {
+            cmos_alias_mask |= offs;
+            printk(XENLOG_INFO "CMOS aliased at %02x, index %s\n",
+                   RTC_PORT(offs), read ? "r/w" : "w/o");
+        }
+    }
+
+    return 0;
+}
+__initcall(probe_cmos_alias);
+
+bool is_cmos_port(unsigned int port, unsigned int bytes, const struct domain *d)
+{
+    unsigned int offs;
+
+    if ( !is_hardware_domain(d) ||
+         !(acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC) )
+        return port <= RTC_PORT(1) && port + bytes > RTC_PORT(0);
+
+    if ( acpi_gbl_FADT.boot_flags & ACPI_FADT_NO_CMOS_RTC )
+        return false;
+
+    for ( offs = 2; offs <= cmos_alias_mask; offs <<= 1 )
+    {
+        if ( !(offs & cmos_alias_mask) )
+            continue;
+        if ( port <= RTC_PORT(offs | 1) && port + bytes > RTC_PORT(offs) )
+            return true;
+    }
+
+    return false;
+}
+
 /* Helpers for guest accesses to the physical RTC. */
 unsigned int rtc_guest_read(unsigned int port)
 {
@@ -1256,23 +1330,25 @@ unsigned int rtc_guest_read(unsigned int
     unsigned long flags;
     unsigned int data = ~0;
 
-    switch ( port )
+    switch ( port & ~cmos_alias_mask )
     {
     case RTC_PORT(0):
         /*
          * All PV domains (and PVH dom0) are allowed to read the latched value
          * of the first RTC port, as there's no access to the physical IO
-         * ports.
+         * ports.  Note that we return the index value regardless of whether
+         * underlying hardware would permit doing so.
          */
-        data = currd->arch.cmos_idx;
+        data = currd->arch.cmos_idx & (0xff >> (port == RTC_PORT(0)));
         break;
 
     case RTC_PORT(1):
-        if ( !ioports_access_permitted(currd, RTC_PORT(0), RTC_PORT(1)) )
+        if ( !ioports_access_permitted(currd, port - 1, port) )
             break;
         spin_lock_irqsave(&rtc_lock, flags);
-        outb(currd->arch.cmos_idx & 0x7f, RTC_PORT(0));
-        data = inb(RTC_PORT(1));
+        outb(currd->arch.cmos_idx & (0xff >> (port == RTC_PORT(1))),
+             port - 1);
+        data = inb(port);
         spin_unlock_irqrestore(&rtc_lock, flags);
         break;
 
@@ -1288,9 +1364,10 @@ void rtc_guest_write(unsigned int port,
     struct domain *currd = current->domain;
     unsigned long flags;
 
-    switch ( port )
+    switch ( port & ~cmos_alias_mask )
     {
         typeof(pv_rtc_handler) hook;
+        unsigned int idx;
 
     case RTC_PORT(0):
         /*
@@ -1298,20 +1375,22 @@ void rtc_guest_write(unsigned int port,
          * value of the first RTC port, as there's no access to the physical IO
          * ports.
          */
-        currd->arch.cmos_idx = data;
+        currd->arch.cmos_idx = data & (0xff >> (port == RTC_PORT(0)));
         break;
 
     case RTC_PORT(1):
-        if ( !ioports_access_permitted(currd, RTC_PORT(0), RTC_PORT(1)) )
+        if ( !ioports_access_permitted(currd, port - 1, port) )
             break;
 
+        idx = currd->arch.cmos_idx & (0xff >> (port == RTC_PORT(1)));
+
         hook = ACCESS_ONCE(pv_rtc_handler);
         if ( hook )
-            hook(currd->arch.cmos_idx & 0x7f, data);
+            hook(idx, data);
 
         spin_lock_irqsave(&rtc_lock, flags);
-        outb(currd->arch.cmos_idx & 0x7f, RTC_PORT(0));
-        outb(data, RTC_PORT(1));
+        outb(idx, port - 1);
+        outb(data, port);
         spin_unlock_irqrestore(&rtc_lock, flags);
         break;
 


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 10:41:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 10:41:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516588.800943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phpj9-0005X5-TJ; Thu, 30 Mar 2023 10:41:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516588.800943; Thu, 30 Mar 2023 10: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 1phpj9-0005Wx-Qa; Thu, 30 Mar 2023 10:41:55 +0000
Received: by outflank-mailman (input) for mailman id 516588;
 Thu, 30 Mar 2023 10: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=mFBc=7W=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1phpj8-0005Wm-6B
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 10:41:54 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20625.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7ac4b1a2-cee7-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 12:41:51 +0200 (CEST)
Received: from DUZPR01CA0053.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:469::11) by DU0PR08MB8472.eurprd08.prod.outlook.com
 (2603:10a6:10:404::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Thu, 30 Mar
 2023 10:41:49 +0000
Received: from DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com
 (2603:10a6:10:469:cafe::a2) by DUZPR01CA0053.outlook.office365.com
 (2603:10a6:10:469::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22 via Frontend
 Transport; Thu, 30 Mar 2023 10:41:49 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DBAEUR03FT051.mail.protection.outlook.com (100.127.142.148) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6222.22 via Frontend Transport; Thu, 30 Mar 2023 10:41:49 +0000
Received: ("Tessian outbound 945aec65ec65:v136");
 Thu, 30 Mar 2023 10:41:49 +0000
Received: from fa0fde7a1a45.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 36BBC740-4C8B-4A63-8AFB-14A6A4082B1F.1; 
 Thu, 30 Mar 2023 10:41:47 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fa0fde7a1a45.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 30 Mar 2023 10:41:47 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by GV1PR08MB8153.eurprd08.prod.outlook.com (2603:10a6:150:93::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Thu, 30 Mar
 2023 10:41:36 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::6c10:9ef5:6e6d:56a3%7]) with mapi id 15.20.6222.035; Thu, 30 Mar 2023
 10:41: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: 7ac4b1a2-cee7-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com;
 s=selector2-armh-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uSAEO2x3X3MlmRd359r+k61fgH3bIwm7sU+bGyYrVSE=;
 b=ccvulJb5Zr5wJNhdRcp2zT44u2mYqAkehrRfEtsKIZwTlEZAY7fqgJu31nf/TlWSVtuyarwkkN99nMP++ZZxbExe5uCFmSdz59C6Mtom6MfOFZt4pqvH9hBKS5UkFIv0cxJ4EsGRNC65dcYqbUtiPRp3NHZN9BZarrLIOk8Zl8g=
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: 2ea1f1956b4062aa
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bzc0NDdc4RxFw/3chQqAyLbFJxnyFhPy+LHVUd6pHoIF70C169YnCv0B/zsPOML44YvaPu54/DdL0LitWdeP0ZxjI0/ji68jbX6dg/tl1oM+p3CBVwuPyfi8XjzvSiUHBRN3v/q7kh/Mykx70YVCjp95Fy+2e1mZcpnsyDFqNpCIF9FYIyxJTjOsfCZaK7YAjox9/vYcYbdJP3r2AjtYi/MKs+r4QgYzKDaX31Yee2QAd3BAMn9fd0bmpHwBcBywh6GNQgWAmViFjgp11ZZiuA28THnLDIN6qOkHyzndNtjAtCuiUy7ga6t1i3sA240dnZqSG+vrG8s0QmTuPTZoKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uSAEO2x3X3MlmRd359r+k61fgH3bIwm7sU+bGyYrVSE=;
 b=Q2dergyF4nRfiquYV1Q/77W5lTyBL43hlZuHY+tlSMVo/kAPhLMFBbmvsBv58dQLS1ds/VZ4VZfIde9qMFfMVqVHtZysOs1cUpzy5YYBupu6mjyYIHwvGVKau4lAP9QNgDoOL5kjSzriBCEFTRdxPs/1FWRSdmhAWYkaa/jULJq4VGyzpZsmsCEjEIgILmLec6m8PCSnmFLrQ9rqUYrwGYHSOuhcqXboOAadW9dXyKYYVcpHAf5xyWNSKD4RSLCAPhvVT05yJIohltj+G4mzfyG2oLG8R++0llMfoROPafNyhV1L0k8xeG4fsCo1KMHV7wideT3mf+0rOVfijBS05A==
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=uSAEO2x3X3MlmRd359r+k61fgH3bIwm7sU+bGyYrVSE=;
 b=ccvulJb5Zr5wJNhdRcp2zT44u2mYqAkehrRfEtsKIZwTlEZAY7fqgJu31nf/TlWSVtuyarwkkN99nMP++ZZxbExe5uCFmSdz59C6Mtom6MfOFZt4pqvH9hBKS5UkFIv0cxJ4EsGRNC65dcYqbUtiPRp3NHZN9BZarrLIOk8Zl8g=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v4 08/12] xen/physinfo: encode Arm SVE vector length in
 arch_capabilities
Thread-Topic: [PATCH v4 08/12] xen/physinfo: encode Arm SVE vector length in
 arch_capabilities
Thread-Index: AQHZYJtgTfBLBphVFEKpZ9zmMHKmq68P+xMAgAMsEIA=
Date: Thu, 30 Mar 2023 10:41:35 +0000
Message-ID: <45149B4D-7127-4CC1-B8D7-A6B4BFC16F43@arm.com>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-9-luca.fancellu@arm.com>
 <b5411b23-2c2a-b771-c2c6-00b0f2a7a033@suse.com>
In-Reply-To: <b5411b23-2c2a-b771-c2c6-00b0f2a7a033@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.3731.400.51.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_|GV1PR08MB8153:EE_|DBAEUR03FT051:EE_|DU0PR08MB8472:EE_
X-MS-Office365-Filtering-Correlation-Id: 9b702d7e-5277-43c5-ae85-08db310b5df2
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:
 VZ2VfEitkjUzwrdBo0G14CiOeYn5SRsNdpIEbhiF4Bf874fcmdFtcj0aWUULm9sDmBOH5b60zn+ipKulohcb5uneAaS2vS3fgscpYenySTGr1F1CzVSo5Dw+0qPY4bNy5Cim2Q0/D2qp1vZoRYLyNOUZ+JYDDyi41b7NkeiEZvBaxKoy/3rOdpWaeB0pynNiimnWlVSQiW3Bio0s4pOevsQsGxReLf9sKx8oyio6SmrPLa8tCoZ/omqGf0F6dtPdRtwPJg1GCdiL2b70GY8SwbIbZDOxQWNrj55RK7HVDUaN94kreDORV2PX/8fVCoXx8GtDB8/1L/tfSDnM+RAYLPhiIyWDsTAhPrrVqC5Zzz9i88yu4p4OorCh7YPxeJ3pBVfeSrnxMmDKqfRTigDE1SF8pDFTqD5OXQO7kXQer2QJSwbQddZz5Vp8dOMM2dgknUotc/9wsj47U4ADtpktHFo00cNpOPFsyIfHEw0q1xCkta1sjLoUeSYvqyVLmCsQms0TyOnjZxaSvL5DBzCywFpgp8ZcgIsvmXmQ4DiiYW3K/DLxXBq8bXeLBxWBPKjcNsHv0iPDUfXy9U1LJXh8p5LqH0zD1fi8XIDo1yiXF1wg7PBhDHijGbRJx09LjN1t+zaA0e6YaGPx+UXR3iirCg==
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:(13230028)(4636009)(376002)(346002)(366004)(136003)(396003)(39860400002)(451199021)(8936002)(4326008)(66556008)(66946007)(6916009)(8676002)(66476007)(91956017)(76116006)(64756008)(66446008)(5660300002)(2906002)(41300700001)(316002)(478600001)(54906003)(6486002)(36756003)(71200400001)(26005)(186003)(33656002)(38100700002)(53546011)(122000001)(2616005)(6506007)(6512007)(86362001)(38070700005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <C9CE249A03696441881C95E102CE2E01@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8153
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:
 DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	495a4728-358d-44b0-1974-08db310b55f8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pc3LD0qFaMFCtTRw3g7qtHOfVWZK9Yz6t/oIQfDUC7jD52HYdX0vUVq9Jyy6powlS8/GlpEjRiIG8Bqj/EdbvhOZSMjme2z7f/RfzQ/ELErYQ+cwRjdjifoEMdBPex6M2MusZH1Ve70qRIanaieQl1OgPxYtR334FDMGYwn5zVWuuOdVZvRc2eKRKnT6kLRH1CPcQUDjsB5NuXS7Mwvjly1NSZj6V1BHrb19ycuyy3UMjGT4OaXSotA7pSdh1LZm17TD8p0eW+Kwn5NM8g9YB8ufNMEfrVNazVdKqZjc5xx9w+uq3eSHSCu/h/3e09W7trGLzSTBbB9trPlQIufljU2WMstUXEQrFl2JoCm6KKztF7ikon4YiQoxeQZvOfWkAtYJwr1YlMoIvkL+hS5YVnQAz5a43zWj/i+wVyrJ5Wql3SPjnl6jtWPfBykr4cigEV6JV/Fr439fKo+aaAjwZWITeKft+MvYVwUuVLdVCNsb/49z/oWKtImrJDCnUW4FKvEPOtFINEP6AwpVzvKYZiqYKn1dIm6JMy2PRmQpxaxuBUGllbWzzmdPWgDsIvkJ2ORvw7HCgHqB92uU+xbY/Y7eEXfw3fYMwdndUv2EMA+c8etjZ8g3KZx+cu5kzzcoTw9rymNowwkm/QdvRwscKQqX2u97/5z+OtqsnAf2puOsGr7X7wjUDvvNdamgsZjuV5QoGCtG9nkLD4P6KNgwzA==
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:(13230028)(4636009)(376002)(346002)(396003)(136003)(39860400002)(451199021)(36840700001)(46966006)(40470700004)(81166007)(356005)(5660300002)(316002)(36860700001)(8936002)(54906003)(70586007)(336012)(82740400003)(41300700001)(86362001)(4326008)(8676002)(40480700001)(70206006)(2906002)(6862004)(6486002)(2616005)(40460700003)(26005)(6512007)(82310400005)(47076005)(6506007)(186003)(33656002)(53546011)(36756003)(478600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 10:41:49.3643
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9b702d7e-5277-43c5-ae85-08db310b5df2
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:
	DBAEUR03FT051.eop-EUR03.prod.protection.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8472

DQoNCj4gT24gMjggTWFyIDIwMjMsIGF0IDExOjE0LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMjcuMDMuMjAyMyAxMjo1OSwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS9hcm02NC9zdmUuYw0KPj4gKysrIGIveGVuL2Fy
Y2gvYXJtL2FybTY0L3N2ZS5jDQo+PiBAQCAtMTI0LDMgKzEyNCwxNSBAQCBpbnQgX19pbml0IHN2
ZV9wYXJzZV9kb20wX3BhcmFtKGNvbnN0IGNoYXIgKnN0cl9iZWdpbiwgY29uc3QgY2hhciAqc3Ry
X2VuZCkNCj4+IHsNCj4+ICAgICByZXR1cm4gcGFyc2VfaW50ZWdlcigic3ZlIiwgc3RyX2JlZ2lu
LCBzdHJfZW5kLCAoaW50Kikmb3B0X2RvbTBfc3ZlKTsNCj4+IH0NCj4+ICsNCj4+ICt2b2lkIHN2
ZV9hcmNoX2NhcF9waHlzaW5mbyh1aW50MzJfdCAqYXJjaF9jYXBhYmlsaXRpZXMpDQo+PiArew0K
Pj4gKyAgICBpZiAoIGNwdV9oYXNfc3ZlICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgLyogVmVj
dG9yIGxlbmd0aCBpcyBkaXZpZGVkIGJ5IDEyOCB0byBzYXZlIHNvbWUgc3BhY2UgKi8NCj4+ICsg
ICAgICAgIHVpbnQzMl90IHN2ZV92bCA9IE1BU0tfSU5TUihzdmVfZW5jb2RlX3ZsKGdldF9zeXNf
dmxfbGVuKCkpLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhFTl9T
WVNDVExfUEhZU0NBUF9BUk1fU1ZFX01BU0spOw0KPj4gKw0KPj4gKyAgICAgICAgKmFyY2hfY2Fw
YWJpbGl0aWVzIHw9IHN2ZV92bDsNCj4+ICsgICAgfQ0KPj4gK30NCj4gDQo+IEknbSBhZ2FpbiB3
b25kZXJpbmcgd2h5IGEgc2VwYXJhdGUgZnVuY3Rpb24gaXMgbmVlZGVkLCB3aGVuIGV2ZXJ5dGhp
bmcNCj4gdGhhdCdzIG5lZWRlZCBpcyAuLi4NCj4gDQo+PiAtLS0gYS94ZW4vYXJjaC9hcm0vc3lz
Y3RsLmMNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9zeXNjdGwuYw0KPj4gQEAgLTExLDExICsxMSwx
NCBAQA0KPj4gI2luY2x1ZGUgPHhlbi9saWIuaD4NCj4+ICNpbmNsdWRlIDx4ZW4vZXJybm8uaD4N
Cj4+ICNpbmNsdWRlIDx4ZW4vaHlwZXJjYWxsLmg+DQo+PiArI2luY2x1ZGUgPGFzbS9hcm02NC9z
dmUuaD4NCj4gDQo+IC4uLiBiZWNvbWluZyBhdmFpbGFibGUgaGVyZSBmb3IgdXNlIC4uLg0KPiAN
Cj4+ICNpbmNsdWRlIDxwdWJsaWMvc3lzY3RsLmg+DQo+PiANCj4+IHZvaWQgYXJjaF9kb19waHlz
aW5mbyhzdHJ1Y3QgeGVuX3N5c2N0bF9waHlzaW5mbyAqcGkpDQo+PiB7DQo+PiAgICAgcGktPmNh
cGFiaWxpdGllcyB8PSBYRU5fU1lTQ1RMX1BIWVNDQVBfaHZtIHwgWEVOX1NZU0NUTF9QSFlTQ0FQ
X2hhcDsNCj4+ICsNCj4+ICsgICAgc3ZlX2FyY2hfY2FwX3BoeXNpbmZvKCZwaS0+YXJjaF9jYXBh
YmlsaXRpZXMpOw0KPiANCj4gLi4uIGhlcmUuIFRoYXQgd291bGQgYmUgZXZlbiBtb3JlIHNvIGlm
LCBsaWtlIHN1Z2dlc3RlZCBiZWZvcmUsDQo+IGdldF9zeXNfdmxfbGVuKCkgcmV0dXJuZWQgMCB3
aGVuICFjcHVfaGFzX3N2ZS4NCg0KSeKAmXZlIGhhZCBhIGxvb2sgb24gdGhpcywgSSBjYW4gZG8g
ZXZlcnl0aGluZyBJbiBhcmNoX2RvX3BoeXNpbmZvIGlmIGluIHhlbi9pbmNsdWRlL3B1YmxpYy9z
eXNjdGwuaA0KdGhlIFhFTl9TWVNDVExfUEhZU0NBUF9BUk1fU1ZFX01BU0sgaXMgcHJvdGVjdGVk
IGJ5IF9fYWFyY2g2NF9fIG9yIF9fYXJtX18gLg0KDQpEbyB5b3UgYWdyZWUgb24gdGhhdD8NCg0K
PiANCj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 10:49:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 10:49:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516591.800953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phpqk-0006Dz-LZ; Thu, 30 Mar 2023 10:49:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516591.800953; Thu, 30 Mar 2023 10:49: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 1phpqk-0006Ds-Ip; Thu, 30 Mar 2023 10:49:46 +0000
Received: by outflank-mailman (input) for mailman id 516591;
 Thu, 30 Mar 2023 10:49:46 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phpqk-0006Dm-77
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 10:49:46 +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 9554ea76-cee8-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 12:49:45 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PA4PR04MB7920.eurprd04.prod.outlook.com (2603:10a6:102:c4::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 10:49:43 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 10:49:43 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9554ea76-cee8-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TTaea0kTbbH869ueOIJCGOEPxH9bfh6qLr6qoteRKMVAE6/etiM6txmc3rGY/BvZCiJkj1kEEZXCkuIh4GIjfyMu7Z64xHEjDmeGsyB4ERG3gi4rsslsZGfZQGLnYkf/t2lwQCCOWLw3wfVWt91XME9HMIltxAK0w93wTWJcHZ+GbF2HKOWMyygTn3NwSVHPElDlEJRSFa8yX5fplDuMwXjYc4SAEgnXfRZe1WnMv2cMU3jQpbn/nFMnwl6Uc9gUeX5yJ5RmYzAXeSwClt+OY1fJ6ss194AhgotwVUuqhSUcl/YOm2TI+qvkCgxAK2YCpPFUAffpRJPQ3O5KNsIygw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VqlUBDKmuxRPMK2AGhLdnImiD1oR+j16HHXc92V7FCM=;
 b=N8J/YmU1Qhfxdp6uFV0CTqsOPXLgRPDHEQ4JmQ7zHU2AtAuO5/3wJ0bdOQPLk2yqfKXpwhCQCpXwumf09EXCjjSM5W1xUHq4wsil/+JD+rAiY/n0HSlXy1TJ0fwpD0Km1hrtSYHdyScbmcpJUwbL2zF9yLBimENWtCNmZNm8PU9cphtxB/7XHqpn2/LWEr+1cQdHvTIpbDXEwR7fOvCKSvfXa5RNCfxZlB6RpplWDN5p2o9UHpt+O22aD89ty18m0qLZLSTl2krr8aLq0V87r9+PgWUWAcui/xaXMnrUAwduwOEE0NQ+AQjG7d/PDp3orGiA5kPdtC1NL4GZsQRzvQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VqlUBDKmuxRPMK2AGhLdnImiD1oR+j16HHXc92V7FCM=;
 b=xBNG5KFr7eYtQRUnWDGCSoTl7q9LddT4GYX9hXaw+elgfWS8ywA0+Yg8OkyanOOTYeYzEl/eC07EW+jbnPz5xExpywLcI4g70ihUyynjxdyMkd81GjM9zyk5CMMcqioc9yrI/cMx4wVLqx2eOvSvDhBWc+BI1utixa4E42COhOmLi+HQbX/QPBgG4iMB6l5gepMgekDFTHncvrejri7COxNM8xx/X4u/8ywU/DXacbGefJ7QwQDhuJ0RHKefUSKTfMlqxJ8/rFP7qowSYP8JBgiit+OzxL/P/x1Zy5i1OGiL2rAYoqRgFk2vBPheA1N/qO17aAPP5PdlmpePfL/vOg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a1aab510-6660-99ca-71bf-dcf127dfbfea@suse.com>
Date: Thu, 30 Mar 2023 12:49:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v4 08/12] xen/physinfo: encode Arm SVE vector length in
 arch_capabilities
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-9-luca.fancellu@arm.com>
 <b5411b23-2c2a-b771-c2c6-00b0f2a7a033@suse.com>
 <45149B4D-7127-4CC1-B8D7-A6B4BFC16F43@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <45149B4D-7127-4CC1-B8D7-A6B4BFC16F43@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0187.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PA4PR04MB7920:EE_
X-MS-Office365-Filtering-Correlation-Id: c8d5c417-85b5-4626-34be-08db310c7853
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5iJaOVb96VRRNMNcZHHsitvcHpGdW+p+slvuj0COVQaehlHqVroduNUI1DZIwdBFpw0ylH89ASL88Wex4VNpYwKxJUA50BUOBiRysIS62mo3ONKmQibnVY55pe33IqfFnE2YmYynrVu5hHSh+plBiuLlQvyhvkLa15GEZmNnPE1QMoLCGy0UIjF8NgsN9g7cqcrjlpPiN3BU/cxyjxrAUvvkG3ZdGgnqhbBfpPVcfSucKQigBGJiOh7wvf6okfKO8MaRoO/XR/KEQf0C0wC+I8azfpH9UiblSvbr1UFwiVvESAC9mMc545qtBjgLkTpNJYX5OlWVJOVnA22bKwF3HhjdKhlYZLXHRaB/Rm9ge5jSo+RX2F54qtWQNkqPUdKFHdbfMvujDDSHH1sFLWutOgf6KVIqfkq48lqvyPPjgnpave0vJXEYgc9qPQRVl6+ryMFlsK6kNyUuaV9PfMdK8GDUfFCrfmIRxA5f5vqvHB7q9TP+EJTVGhEdzaklmc0I2hvmlrdSb/sCGmv1dLY+/SuVjb89SLQYwJBRazzLl5u8GO9o1PM1/dw1FqWxKRaTx5E3VN5Y4MqA+CKmbJm7SQhDys4dZPEuRVGdGPun4Ztv9mDx2rYrGjCZ3f13UOkaMIdd2b79+V2OalAY4fLt8A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(376002)(346002)(396003)(39860400002)(136003)(366004)(451199021)(31686004)(36756003)(6916009)(38100700002)(66556008)(8936002)(5660300002)(7416002)(4326008)(66946007)(86362001)(31696002)(41300700001)(8676002)(66476007)(6506007)(6486002)(2616005)(26005)(6512007)(54906003)(2906002)(478600001)(53546011)(186003)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VUxjU09rMVQ4Ym1pWFJlNHlTMENRR1BZYXlXUWpmbFRRalVqN3lNYzVXWkFG?=
 =?utf-8?B?OWNKK0ZwQUdpTkZKNC9ZeENIWkpUeFB4Mm9DakVjdTFYS3Zja2cwZXd3Z3Fm?=
 =?utf-8?B?Y3ZsMm5CN05CcnZ6QnNrZUppUmtocXUzUmp2STg0bWZPVkRQU29XV0h0TEgw?=
 =?utf-8?B?SmtMNU0zeEdMelBRNFQxUFhmLy9xaUtWN0VxSXdsZmV2RllyVDFyb1ZjTEtt?=
 =?utf-8?B?Wnc5K1pJNnJKQU1uemwyamUwME1Nb2FuZ21iYittU1Bya3JPUi9KYnRvUnlC?=
 =?utf-8?B?WkpoRkIwRUU3L3IwTDdQT3cwOFUzZ2ErNWwvb0VFYTA2NitleVMzRVRaR2M0?=
 =?utf-8?B?Zk1WUEQ3QzBTT2tjakVtRlQrTXFza04zSDZtSE9jN2RGRW5OWXh4UFRoK1Na?=
 =?utf-8?B?QU5ITi9VaWoxdlhFYTFCbzc1d3VvaEpLcTBKd1psSTd4Z1QveEl3RTlkQ0la?=
 =?utf-8?B?VWFUMEM1YzVnWVR1cmtrU25DcE4rWmRWQVpKQzZsV0Q0am5QSm42VnRNRWdq?=
 =?utf-8?B?NjdvYlh5RkFnUG9ZaWdlc0NaSXV0azdSVHEwd29SME5iempZRGlSSllGdWt3?=
 =?utf-8?B?K00ya1FvS1BpWFk3WEYrYjhKVVdEcTUxZXBjSEJTVDljVzB1VEd5RHJIYVNM?=
 =?utf-8?B?V1hWdFF0dlBLbExiYnlZcUhyY29xVTF0cjVIdXN5Ui9JZGRBaC9Hb0FuSnFF?=
 =?utf-8?B?YXk3Y0NrNXpGN3laKzRkTllhQXZyNm80Q0VPZzNueGJUWWFaRmxkWHIyRzNs?=
 =?utf-8?B?MXRiL0J3Z1hCN2JGbGtNM1kvR01vQTljN21SQWt0bWxFZEEvRldJVkZ6amMv?=
 =?utf-8?B?eCtKQXlSL0lvUWlkNE5SU1FNYlZIMlV3YUxISUZjUUZSdEVMS2w3UFJPellu?=
 =?utf-8?B?SlYyOHZac0RTcHdZQms3ald3c0pSZjArTFp6MEFCRy8yR3JmVU55TmVGUDZQ?=
 =?utf-8?B?MXBiS01tNEJna3lNZmFSL0pqbUhyWHdsYnUydm5zVHFaalpBajJPVWI3K2pS?=
 =?utf-8?B?Skk0bVJrMGxjeXBtTVpBTEdTUHZvRktjOUdTaWI3MWxyNXFlNHMybThBQWZK?=
 =?utf-8?B?dXR6aUx6WDV4aHlCczRLRy9XR0xYVXBoaUdvT2FHWk5LTDRNK0NaczFYQ05W?=
 =?utf-8?B?WjQxSzdFVHdaQzNpQ3p6TEN6eHlJT3pic1dTSmx2T2pGT1lPSGdlTnFlcjZr?=
 =?utf-8?B?RW9YYWZidHhBem1BWlpOY1dWK2lEYkt3V2VzTlFZZVdZV0lOVWhtQ0lSaVdt?=
 =?utf-8?B?K05PVDQrMm5CZ0p4U0g2cE8rSkVaOGZGcFFYbVJQRk9ESEphL0FtQmw2TTNq?=
 =?utf-8?B?M2t1Z2ZSMVpna1ZPQVNScmxueFlZQXUwYzM0MFd0bTFiR2JtZUc0dXY5cThT?=
 =?utf-8?B?eTZMRGVnY3hnRmhXRm5oa1g3YzRING05S1dLeGhLRlNmcEZOWSt5b29XTzRu?=
 =?utf-8?B?THdod0lIZ2tCNHJXYUlQOFpiUmd6Z054TVF1bGM2NUE4cUNUTFIxeDJjYUdo?=
 =?utf-8?B?STZGTW1TR2g2cGpnMHBvUytLNVE0NkRhKzRLUFMwRXVlYmYzYUhrMmpyNHJm?=
 =?utf-8?B?aTN0b1BVREpDM0pkZU82MUM3ZERLbkVpR05DeXg4a1F0K3NYbjdWRGt4MVQ2?=
 =?utf-8?B?WEM2RGRaUGs0UlMvVHBwMXNVRW1pS1JNVlh6WlRSeHdqeHpCQ0xzaElyNTVL?=
 =?utf-8?B?dkkrV2xUYUI1aXJFQmhKRWdsYURvWVk5Y3IyaTVsNTNZTTJHbHd4dkZlNTRC?=
 =?utf-8?B?ZjFRWVppYXdXMytTcjZ5SVNMNFdZSnNEUnpvMHVnRURCSUg3WWFCOE9kS0pK?=
 =?utf-8?B?bUg3RWZHMGpYTGZObC9leXU1enRya1dGbndWcHZxZ1FZa3lORmJ5SldTazRM?=
 =?utf-8?B?S3BuM1dGbVhGelBxMXlSNENvcEpIRmlvS0RFNFBybXBuejRrNjF4UXRZSWtS?=
 =?utf-8?B?OEdXTXVocTZkNUVJcHkzSGt1SHZyYjN1b0U0QnoxOCtDWXkrMmhyMTRCMTVN?=
 =?utf-8?B?TFRIRjZQQitCUTFjNEpYQmpxMzlkQnVmaEZYTVRSZVV1QU4xdWd1ejdxL3JN?=
 =?utf-8?B?VTdIZVRIMSt6ZW4yc0Y5eUl4ci9Ca0l1VGFIeUdvaDBCUWM2NGNBT2VHdFRu?=
 =?utf-8?Q?uAgPPFgV7DK/8ckZyGcEbbTcF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c8d5c417-85b5-4626-34be-08db310c7853
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 10:49:43.2658
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0ihrOQlDney5bXtQ+n4SOiNtjcHwxZJIRbmbY8VjcoTKVQd3iAbW+qrk8Qi+YuIjn39dzUsKAPnkwF2AyhVEDQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7920

On 30.03.2023 12:41, Luca Fancellu wrote:
> 
> 
>> On 28 Mar 2023, at 11:14, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 27.03.2023 12:59, Luca Fancellu wrote:
>>> --- a/xen/arch/arm/arm64/sve.c
>>> +++ b/xen/arch/arm/arm64/sve.c
>>> @@ -124,3 +124,15 @@ int __init sve_parse_dom0_param(const char *str_begin, const char *str_end)
>>> {
>>>     return parse_integer("sve", str_begin, str_end, (int*)&opt_dom0_sve);
>>> }
>>> +
>>> +void sve_arch_cap_physinfo(uint32_t *arch_capabilities)
>>> +{
>>> +    if ( cpu_has_sve )
>>> +    {
>>> +        /* Vector length is divided by 128 to save some space */
>>> +        uint32_t sve_vl = MASK_INSR(sve_encode_vl(get_sys_vl_len()),
>>> +                                    XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
>>> +
>>> +        *arch_capabilities |= sve_vl;
>>> +    }
>>> +}
>>
>> I'm again wondering why a separate function is needed, when everything
>> that's needed is ...
>>
>>> --- a/xen/arch/arm/sysctl.c
>>> +++ b/xen/arch/arm/sysctl.c
>>> @@ -11,11 +11,14 @@
>>> #include <xen/lib.h>
>>> #include <xen/errno.h>
>>> #include <xen/hypercall.h>
>>> +#include <asm/arm64/sve.h>
>>
>> ... becoming available here for use ...
>>
>>> #include <public/sysctl.h>
>>>
>>> void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
>>> {
>>>     pi->capabilities |= XEN_SYSCTL_PHYSCAP_hvm | XEN_SYSCTL_PHYSCAP_hap;
>>> +
>>> +    sve_arch_cap_physinfo(&pi->arch_capabilities);
>>
>> ... here. That would be even more so if, like suggested before,
>> get_sys_vl_len() returned 0 when !cpu_has_sve.
> 
> I’ve had a look on this, I can do everything In arch_do_physinfo if in xen/include/public/sysctl.h
> the XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK is protected by __aarch64__ or __arm__ .
> 
> Do you agree on that?

I don't see the connection, but guarding the #define in the public header
looks not only okay, but even desirable to me.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:08:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:08:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516594.800963 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phq8J-0000Df-5b; Thu, 30 Mar 2023 11:07:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516594.800963; Thu, 30 Mar 2023 11: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 1phq8J-0000DY-2l; Thu, 30 Mar 2023 11:07:55 +0000
Received: by outflank-mailman (input) for mailman id 516594;
 Thu, 30 Mar 2023 11: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=fiWc=7W=citrix.com=prvs=446b09b9a=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phq8H-0000DS-PG
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:07: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 1af6a39e-ceeb-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:07:51 +0200 (CEST)
Received: from mail-co1nam11lp2177.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.177])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 07:07:41 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BL1PR03MB6054.namprd03.prod.outlook.com (2603:10b6:208:312::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Thu, 30 Mar
 2023 11:07:39 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Thu, 30 Mar 2023
 11:07: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: 1af6a39e-ceeb-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680174471;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=ohSQm4dtYpRsyGDHEm/B1n+Yw/5Q8ORtjfSR3pJ0OWI=;
  b=AsRexCgl1uVsqwLPjohUgQaU7PP97MYKm+0gjeZzXGBxbRnAKzr+uI1i
   1mF2P0wuzbU2xwwblEurzS9jMFlV8MgQQ+DWtNz44aUpdUY2+FCYeFdbO
   G9BcVNDyVLSReQV/M+QOeKxrseZykLideXmOMiokfj0yF8RM2sJ50GQ9b
   E=;
X-IronPort-RemoteIP: 104.47.56.177
X-IronPort-MID: 102464085
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:+Z3RHq3c2KZGBfNqEPbD5fVwkn2cJEfYwER7XKvMYLTBsI5bpzRVz
 GIbWG/XOf2NZjHwLopybIq+80kP65SAx4dkT1NspC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdlPagS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfJU913
 7tFDmw2dTvSq+6yxI2lT+9giZF2RCXrFNt3VnBI6xj8VK9jareaBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvS6Kk1MZPLvFabI5fvSQQspYhACAr
 3/u9GXlGBAKcteYzFJp91r13rWTw3+jCN96+LuQ5MJJoH3M40coBxQKV3WCmaCGjmKQVIcKQ
 6AT0m90xUQoz2S7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsZhxrZcEitcQ2bSc3z
 VLPlNTsbRRwtJWFRHTb8a2bxQ5eIgAQJG4GICQDFA0M5oC6pJlp102QCNF+DKSyk9v5Xynqx
 CyHpzQ/gLNVitMX06K8/hbMhDfESoX1czPZLz7/BgqNhj6Vrqb8D2B0wTA3Ncp9Ebs=
IronPort-HdrOrdr: A9a23:/U2fEqOPmT0jhcBcTgWjsMiBIKoaSvp037BK7S1MoH1uA6mlfq
 WV9sjzuiWatN98Yh8dcLO7Scu9qBHnlaKdiLN5VduftWHd01dAR7sSjrcKrQeAJ8X/nNQtr5
 uJccJFeaDN5Y4Rt7eH3OG6eexQv+Vu6MqT9IPjJ+8Gd3ATV0lnhT0JbTqzIwlNayRtI4E2L5
 aY7tovnUvaRZxGBv7LYEXsRoL41qT2qK4=
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="102464085"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j5XDNVDQEJT7O61dswpRDW5XokIt0MEvYATM9I0cuoLPS1/81vU4sRgRb5bz6ea0CCUacR4OSzQ2rXYWJ9jihkJzTF8D2puV+J+AR1i9oog57NGIM7tZ4L0zKVq79MybgVwOzbhFKytkjLTJW/ZGMRDcXmWoZ1yoE1GGXmLXPPx0ftLoxIfcF0Axeu1gXkFWyCcOqDimdEFSGEkHsiMp9z5nBcHyUjLy23Tz1qVaV18wIKCSnJbkYuTIVJuJhHq2eqiP+fIz8zAWEJ53iM25fWk96T2dYBDQtmMR4CXV89y36lyqwzXljxMko3asQjC29rV7pkuyGRnSzTZUZx1REg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yiZrw2W1Hr38wUeRuXjhdbDHN/AfPOdaPN12I3VGs7c=;
 b=WMeSYDcnkfT5cSwZgUm+Hvc+1uy2AwT9Gr7bw3XL5kRnRx5BEmLJc7wnY2YluBlmiQuDl3c3htqVYnLVE7xAmjpMQC9rNhrc7NZSnJd+E3nyw75kaW/9eypSrVh+yRAHinbtjMk4yNDEVIUm6JDFJ2i5ay+l0zldd5e6SZ7cx+hj93dteqRkRNVLFZB0vH/9asCAcgYgioJ9YE4Rh+b/NytGHvGWvhXcuOozKdw+GN4+pqD5l6oj1sH94whtBL4vZaPTUU6P2nV0HOFyNBpdwG5rAixdocCUax/yCgj6N07qvBQgyqGRe44kc9DVlQatW/Drk8ubgZiIYYXn0WSxqw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yiZrw2W1Hr38wUeRuXjhdbDHN/AfPOdaPN12I3VGs7c=;
 b=u1vA4/cZaYTzPHje/oCeeu+xmIRKcPfy8btc07GVTKD5mBW2A77bFpQ6uMTCVopirOi3MbgldkMaC6EIuMHSB84ciKyQ7jA0+ktVHw91tMWwCJTg3Nik6zVOy39R0upsdHp2q5INNGoLdfNOqfnBX5TY7sE34460sfUVj3MNKyU=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 30 Mar 2023 13:07:29 +0200
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 RFC 0/9] x86: Merge cpuid and msr policy
Message-ID: <ZCVtcR5u/14/WmCU@Air-de-Roger>
References: <20230329205137.323253-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230329205137.323253-1-andrew.cooper3@citrix.com>
X-ClientProxiedBy: LO2P265CA0040.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:61::28) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BL1PR03MB6054:EE_
X-MS-Office365-Filtering-Correlation-Id: 8fd2e1fc-36de-4587-2809-08db310ef812
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YnRN9d5h7a11KN/XpFxLh8LlLSQd0KTktSqVY6MmVcJbXci30f4w1PprulPk+Q/Nj9e9ZJNiHPSrRRBtUHWh4xwMrPalLZ5Tkfsj/BiZ2+6fCsWIPWDzGsJa21iLobJYeCRRkgY+wmYjamLem87EpF0v6rGWpuvLRySj1AvfCgcoMLTcJzmC1HfPnaaM3CUeNz3epcy39/zMpXpZj6yLwEgKKTIwEkkK31d7giUd/gRATH/Nb9Ug9ayc1vJ+Yfa49T1jUBzUt7U1F6dZbLlnl+6eTTHPdPzu61BKUkoQ/Uhz/+6w2ikWPT7++IkkGUC3G1KfTIoisovkgsUHJZt2grMNGFyadIQLQCVCYRUasjlV7qBP0JTWk1yELpSeaSuaYoX7xjDHpCc+yzmakHhLY2B6qBNuNYbl0wLO+c5sOfiP/zFuK+fOyvOVKpwihFwz06Gx7q47cZlFLR3tYVHYfivkD0nwBraGduRPTKRYIElH0NxJR8n3/Hg8lLT4jod9aS9XiCdPfJROsIzvlsmybpcsm1RoPqrnb6DTt/bcjkS6wZMKr9cfjvI3xhBUvbRc
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(376002)(366004)(396003)(136003)(39860400002)(346002)(451199021)(6506007)(6512007)(9686003)(478600001)(6666004)(4326008)(6636002)(54906003)(26005)(316002)(186003)(66556008)(66476007)(8676002)(66946007)(2906002)(41300700001)(82960400001)(38100700002)(5660300002)(8936002)(85182001)(6862004)(33716001)(6486002)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VWZJR214TlZvckEyYXhTSUwwVmRiZGFRREtVV3MycE84V0JhaGRFWFMwbG9o?=
 =?utf-8?B?UXQ0NUtDb3d2K0Uxb0REbWc5V29hbXlPd1dnY1FBeHlJRHdMTHNxYWUvaFhn?=
 =?utf-8?B?N2FmbTZnRThoMERnV1hsR0VPVTRGK3ZTbVVpOE55YWFIcHJZczVIQmNqc29n?=
 =?utf-8?B?UDVrdUFYaHVXcWlQbE9EaUd1eTNxZXErcmxGVElhNDBtQUxld3IwaTRhOTAv?=
 =?utf-8?B?Q2VqaWdoL0RxbVk0Nm9lb0xyV1h2WG96OU9XYlNDTlFCU3VYZEFtZFNkcEY5?=
 =?utf-8?B?Z2RJYkFQTWdpSHRVTmpFb3U3QzRMZ0lYOTBESml3Umt2a2h4K2FRNjQ1TXp6?=
 =?utf-8?B?RmtaUXUvSTlIeWQxaUZabzRrUzlpK0lBVHdwTlplakIxRUJxZG9DZzJDSVlR?=
 =?utf-8?B?K1JnUHRyZTZZVDRJMytUMzh4U01UWS9JejJuZSs1SCt5VjloSTBwUW0xc2NH?=
 =?utf-8?B?T2tHYVhXd3pzUXNBNi92SGx0alFtMW41SVBXSUVNaStTaDlyVjNnTjlnZ1ZQ?=
 =?utf-8?B?YmtacE5LNlFzVXUrbVVzQVd5SUlyL0ZKV1pzRnlRQlVGbXBBbmpJS2JKaDZi?=
 =?utf-8?B?N3BDQ3lFYlFxVStLK3o3aHRXemtOQnZuQUZlalZPd3lWaDZTUk1tWVJCOEt5?=
 =?utf-8?B?U0c2MHJwc0VLRWR4aGlPM3VBNkxCaXRScFkrK0RoYit5eVc2SU1WMmZGM1cv?=
 =?utf-8?B?Qks2SEJRVFJRdmZuNitZQVVIVUF6cEVtR1ZRRTVqbWVFTzkrSHZ3cWluVktX?=
 =?utf-8?B?bU9jMHZaZk9VZmtmS2VmMkppZHFWenVEZFlVWHh4S2R0QlF3WnBNcU5WczRJ?=
 =?utf-8?B?QmY1WWNOd053U3FHY2JkbzJOaVRUdjVvSURaaU9TazBBQTROSUlteG0rNzBs?=
 =?utf-8?B?R0RFNEdQQmFvaTZIbThURyt4VzQvSFh6ZHVxMG5FcUJtUTI1elRkU2RaVERX?=
 =?utf-8?B?OE1USUZxZDl2ekk3RDRaYjJ0VS9aYVNySjFTQmxuRGh0QWF6aVBRU0M3cHBm?=
 =?utf-8?B?cmZhTTlBdkNpcHFaMWZNdHE4Z0JrVVkwUVk5N1dWSjBkTjJNOENLblRIdWtN?=
 =?utf-8?B?OWl1cVpiOFdqell4cnE2VWhtTkhIcEZubmhZeTdVNkwyVCtTdG02dE9aNE5F?=
 =?utf-8?B?T2p4dXA4dmQ5Vi9KajE5RFlOMGI4WlNQTS85dVBFck5yUE1wR05kRUJud2ZU?=
 =?utf-8?B?RTdzOHNzcS9FdVBZdWtaNm9DbzdaU3pJdXY4T0Q0T0k4eHdERHBvUWl2NmJK?=
 =?utf-8?B?MmxhbUlUek5yQktxaVdJMGc3YUEzeGdBVzdlUVowV2R5eGVsUU1sWEw1OXBL?=
 =?utf-8?B?bkRsVEFTSzRSQzR3SWQxR2Y3aUQrRzg0cjFPcHZMMmNVWTNqS3hHM3JORmkv?=
 =?utf-8?B?cDdXN0R2SkNhWXZlZkYyRnZtT25aTzNJUnhNRWZiTlkycm5sbytFV0ZHT0d5?=
 =?utf-8?B?N3VyUVhpQWtJRW9PcEFhc0N3MHJIZVZXY3dkV2kycVBvOG9UTVRLN0JWQnRn?=
 =?utf-8?B?SHFPd0swRVdnR3VINkNQWjVsV2ptWDNqdTE2SWtiNUZRR01QVVpCbXI0ejlB?=
 =?utf-8?B?UnlaeHV4R1MyTkgxVDVaUjRwbDRwVDJFemV2aHVhdmNLcmVIMHJFMmwvaHZ1?=
 =?utf-8?B?bUhKc1hJaXA1TTczNlJzNS8vSjdBUFFFcFJQbjd5U25qMWs5QUM2YlFQbkJR?=
 =?utf-8?B?QW9aZUdBTFYxUGU2WjIwRnM0S2N6MFlBaU16b1NTUG1kbnRlZFJ6ck9rb2d5?=
 =?utf-8?B?RlRlcll2VVpUYU56WDlSeElqUG95d0RIdWtyMXREUnBlZDdFNVYvYkhCR1N6?=
 =?utf-8?B?ZjVHVVVCcnV2NHFQTWpzazJJMWJ6eWc0cUhzMi94ZnBrY1VBb2U1TUtrYThC?=
 =?utf-8?B?Tkt3YlA3WXMyS2VWeitoazVTeWlMSWMyRGZGQ29ER21ZMHJFOXlOT1hsTHZK?=
 =?utf-8?B?NGpNbGgxRk0yTm5UMkhrY0pRdHVFODdXZ2g3eEZkakN5RXoxYllIVnBpMTkv?=
 =?utf-8?B?ZWgwd1NhYlJHK0VjTEp6cWU5OE82NGJURlRiaGU3K0lEQkNmMFE2MS9BeG44?=
 =?utf-8?B?Q2w4MFduTkZtWlM5QXNoOUg1VHQxWGNCQzlIMFkyQ0Z6bWVhWkgzYjhaajFX?=
 =?utf-8?Q?FgI1IMZyBA8tuXtSbcUKuVEp1?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	9T7f6nn453LpsKiJRxkMJouxrRDfdKeemPRWso5IfhZoCwAUUUQDPjEZsAM9grPMucNYvmZhz5Bxzbq6B1VFK+j8DcM/IvV6zNNMsLtbQMqJHro2NK0BEmewJAEd3ybumLYt5TB8UdLlrYDo6J55gZ5/31YAbnFm3GAd4dIdSc7Wb0suyRfQ8MDFUxalg9I8NOVg9K8NOknLZTSt8XlxnzDZgbhBQrNbnqJNb4jab1gVsDJciFmg5r8yJ6jF4FXr83y1jbZdwBcZVuTy475asRPMri/AVxk9FvrkStMhO6PiVyYs7MTlzSiQnh7xLcP87JwodZHMpsoeG/I5QMfaU4W2nNkPXDTpzYIsEA4rvz/428MHxooPtfCsq/O0KdD+Ox/dyJjH3TZGPPVNs27alwg3xFtnisgqspMF6K7+RhbMkgG1tHD2IsISA48hzjwktwTMK6aVrWm/tXyPDP0i69soJqkf/A6nrQknR7IFHBVekvMw36AA1DkbGmPz8PUJYN6EO2PdBJxn29m0I9qi/DhUSDrNbescf5atEaUZS5d3dspE72ITjtp8BePp35NOiDT5xMiSW0KxR1bEHzc3E6xHahk22LPM0T2ePo8ReDjS9V346HdqCMAHN8tummIAwEG4AYOjB3stEwlSrYFjhURZFMqAsqIpedv3wOe0W1cM5QSNyglAFCxabw9f5qncb+13JinHEkVZzjyPH9UcrEKEmEhKrnNBggCRbTf3LbY/f7k8I+JWg7Sz7RkJEuihPKEEkky/vlibDRfzbfdx4yDsyAlIKJxCkxw9BuHiZGkBflA7nWACRQCo9Qm7+DNLTcTNKAi43G99/P88XbrPNw==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8fd2e1fc-36de-4587-2809-08db310ef812
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:07:36.6799
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wI0jmPc6oQ/kPDvpwZuDNtRcsfkoaYBVy6cmDxyGW4T4LA1llxihnA5otn82v69wlW4gtE4+YACOIfnMgG1rqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6054

On Wed, Mar 29, 2023 at 09:51:28PM +0100, Andrew Cooper wrote:
> tl;dr to add MSR_ARCH_CAPS features sensibly, cpu_{featureset<->policy}() need
> to not operate on objects of differing lifetimes, so structs
> {cpuid,msr}_policy need merging and cpu_policy is the obvious name.

So the problem is that there's a chance we might get a cpu_policy
object that contains a valid (allocated) cpuid object, but not an msr
one?

Or the problem is rather with the domain struct containing separate
cpuid/msr fields not encapsulated in the cpu_policy struct?

I don't think the current set of cpu_policy operations permit you to
operate on incomplete objects anyway.

I assume you are worried about the usage of x86_msr_copy_from_buffer()
for example that could load data into the MSR_ARCH_CAPS field for the
msr object without checking that the corresponding CPUID bit is set?

> But this does mean that we now have
> 
>   cpu_policy->basic.$X
>   cpu_policy->feat.$Y
>   cpu_policy->arch_caps.$Z

I'm not sure I like the fact that we now can't differentiate between
policy fields related to MSRs or CPUID leafs.

Isn't there a chance we might in the future get some name space
collision by us having decided to unify both?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:09:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:09:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516598.800973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phq9z-0000qX-L3; Thu, 30 Mar 2023 11:09:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516598.800973; Thu, 30 Mar 2023 11:09: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 1phq9z-0000qQ-GL; Thu, 30 Mar 2023 11:09:39 +0000
Received: by outflank-mailman (input) for mailman id 516598;
 Thu, 30 Mar 2023 11:09: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phq9y-0000qI-OF
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:09:38 +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 5c0b098e-ceeb-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:09:37 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB8060.eurprd04.prod.outlook.com (2603:10a6:10:1e6::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 11:09:35 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11: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>
X-Inumbo-ID: 5c0b098e-ceeb-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J5FEhAeSahj2JUfpJg1is+sdDernDO9VzSWdeUObID0f3YLb8mE+hWPPivHnAbj2HvcfDs9NS1HdcYf0aQ2N6CmdV9kDBW09jetWfsgIUJMW+nW+coOtF2dgexywH9bPNlk+kSljMnOrBndMTX6NvQMptdLmT/8IfKPW1cnxjUz4eac8yMFca8lfrmwx6+4DK9E2QjMMq1znq4X/pDj/x6+G7jDLoSur7ALwqpUBIjlrqmxDCFaFF/ubbTYX7lnIDMvakJgUQhgPMEDagn0qk9omR02N5Qy12acf+Odbwc6eiC+wl3BJEKQFpuHdzMU1QDnqJMkDRJT0Ju+aSBNflQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RGY6d0J2XaHx38aYuWcLZrVOdu+PDwxliyvBCYwIvHo=;
 b=Q14Ar1qBs6RAGNtNDGRAEeUrVhvcRBiCK9QxGWMUxiBJ3owuwZoBeboJWptumgjExJ6EnuH/jzb3xW0IejXibJJTN2T9u+UFJd7wiS9barIfGI8uC5MCjKyHqsy4Uuh9SWXm/ncU2UBYQi27gWgWibBwE2PMaJo7RBLwatVRZdIwzTIk/5yr506IMJ6GMQ6BYfgc5iILCfmWLtao6N+NbiK/eRlY0a7LyR9cg1rY4baZIoBgvvImqIzWrMJeEhQBarIvgvHWdavOWyp2nSforVCJSanac5sIexE/xdsmiG4g8zRtzcfIUiJ25363YdAflXTYZgQhlHbpNB8KVLv3sA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RGY6d0J2XaHx38aYuWcLZrVOdu+PDwxliyvBCYwIvHo=;
 b=3KJNc+MpeVriGOkyWPCm8P0kzQ3yQxyIWwAb8ev4Vb+AwmzGa0Cl936RnpHQ/X8Cp5vVIg+56h3pgJYqwEmDhUPxNRyzNwyA2Yxd7P3RL5JVd62IILf0RYCeFPEUk6uA/Q0our5muBJ8S+txkAJsqMKBTy40qKr5T4vUcfWlgwEAlt+1uOKWHFWYr9Rp5Ts9L3wKuJpR3atVfUm3KTFrRVD1XJljPJmbTbT9tdpZ57PgLoA8EQveytFtBJv830dREMcGrqdm5XOOKpRHuT4rgZWglj+fI16hcuGPL5qtaUIgPnbLTUFtOxWnndgP+yewVQk8XwwKUBgJn6gR5kKpHg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0045a958-1718-566f-ed46-0648b1fd09c1@suse.com>
Date: Thu, 30 Mar 2023 13:09:33 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86emul: further correct 64-bit mode zero count repeated
 string insn handling
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0003.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::13) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB8060:EE_
X-MS-Office365-Filtering-Correlation-Id: 1cbf96d4-e26b-4301-dea3-08db310f3ef8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yiooRpSt8ccqWFtcRWvsBLeBH0UI9H+jyM7rpC+20mBDeoIbleca+c4SpHMq2EjeNlDzAZAw/nweqHTKwWl+M5rVJ/0lcYvC1tCiPbZjgob7NR4Yppy5OOVQhzhZCmuirScq6aiBNBFxVAw3wJArv9x5pRjwO/vr5PRHpdc6Qc5DS62YL/WNKeWzGJjhidUgmfvtTF118LtgqXWcCSf+Z3J/L6KgEAk0PlMe4R/vooogyNycC5zk1CKnLBLuaGPJBBm1/+e3n6JwVZO/RQA8wXLsonJhGCrWGuI8YSP9Vyp6FiBr4uuQ468TmLKo3U1vxoVBae19L3jfGWbzG77CuxUmcCnmhwYY510kHEf5wAgMXGcYt+tlKRzU847nEABVyVZE0WV65548E57MWgFRA7+kW741H6H4h1lfhbTdOnANao2T1U6pZa/wTgVUkQCBso5R8IXt+Bh0AZsg60So/URRR5B9cjSpD9urNIIBe/CQFm9SztzsVuGJLwzU72wn5QigXqai+aekYqSfa3vVsFJUrDezpGDvwNXyIoo1GNlK036bEdKMZzWc0R0bW7Px76JG8rFuZCgI4EgjwcO5GEUjXIxETSEgYD6RU04jNmZuUMxXEVrF/y6/pDd0iT1dl0HnXqPwlrqZhpUQUuXQHQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(346002)(376002)(396003)(39860400002)(366004)(451199021)(31686004)(38100700002)(31696002)(2906002)(2616005)(83380400001)(6512007)(86362001)(186003)(26005)(6506007)(8936002)(54906003)(316002)(8676002)(478600001)(5660300002)(66556008)(6916009)(66476007)(66946007)(4326008)(6486002)(36756003)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WXIwc3lWTG1BdFpkZ0dtOFdvL2NMcUVUUGtySnJOVjF2WGRXWVg1emFKWFFM?=
 =?utf-8?B?aTBLelR0NVAzTldqZkNYZDJlMUhFeTIybFh3QloyQ2JzZEFLaUdjWm5Qbzlr?=
 =?utf-8?B?MS85bVJWRWFRSFBjZmdpWitnT28wYkYwTXhrVjVibzhwS2hucnJ6alJTdXlC?=
 =?utf-8?B?TlRFQzh6RFJHczRBQjI4b3VtMTJwY3ZhMmwrcjdzd3ZYOTRlajFPb3UyZFhi?=
 =?utf-8?B?eW9yay9HVUJhKzdIZW5nbVliN3FHL0xFTFlLeUVyVlRFSjZ3NWN6TXJFSHd0?=
 =?utf-8?B?cUlRMmFNbTRIY3FKdkg0eXZmU09ES3VYeG1rR1hRZzlGblhEa2diVzFrcUMv?=
 =?utf-8?B?aUZRYTlaTENxWVVtSjNYMUdBbHlUWk1GUnRFQmVWUkNkMXk1TTUrc2M0NUI5?=
 =?utf-8?B?bkFic1VVUVJXS1R6SFViWld0RFA2ZWw0b2o2cVVYbEhVUzVhTmo2cWozazQ3?=
 =?utf-8?B?UGJ1ZGZHdXMrSmxpUFcwRCtPU0hmUzBJejUyQnl6UmxnWkJNTWZXZjYvTjhS?=
 =?utf-8?B?RlNpeDdESVdBZ2pBZHI3UFBqTDhzOFR1Sm5pUUFNVFdJYzc5Y0lIRFJrdGRN?=
 =?utf-8?B?VTFqQ0tqS3RuY21la056Rklta2l5b0N3cnFwQkQ3MnJVRWIyTDdhOXZxYllU?=
 =?utf-8?B?dStaVFNzVysxbUF1RHZMQndRd0lVWXZpaWtCQURWVTEzcStWZUNCUlBKYkFu?=
 =?utf-8?B?RTBhWUFWRmEvVWFPZGEvYVh5TVYzbHlEcDh1NktiRHgvZGZXcVpMMDJhVmN2?=
 =?utf-8?B?MGdsZitwdHBDNlQxUktabUIvTG1rbDluUjRMbzV3cDRSdnQxRXFwUXltOEcy?=
 =?utf-8?B?dXh0bzdUYUw5WDc1WmQrVi9tTEpDRjg1QnRpYXVsbnBpK2tucG52WXBTdHBi?=
 =?utf-8?B?ZE4wM1phdU5wZyt5TGQvb3BNcUtBOXpjOU9BdjdJb2Y4R09SUk4xZGVubUlm?=
 =?utf-8?B?dkFLZGdEQXMxTkNGdlFxRmtUUHVmYUhQYXRNUkh5blc5VFB3S0VDSXk5Q1Vn?=
 =?utf-8?B?QlVwdWQ3RzY4UTdqeGMwSkU0eDdlV0pVQXhvaDVPVzVVb2Z5aDk1cEdnWWhF?=
 =?utf-8?B?N2d1V1dlNTBmWHIyOGd5NjVXMGtvU0lHQjdLMXdLMk9BOEFKRGVNN2dkUXo5?=
 =?utf-8?B?S3VPM2MzTWdTeEUzNHVNVVVuZDBNZk1DSEtSRjlNQnNTM25zWngwTHlERUNm?=
 =?utf-8?B?Rk1sUVJRd21xaytKNkQwVWhIVXV3M05aZHJCbXI1SGJDd0ZldVFPM3p3eW9M?=
 =?utf-8?B?MzR2cnU0OUc5V0s5RUpVcTJOd2tnSUFjNlgzUmV3ZUR6Q1BBb3RDd1hBa0l4?=
 =?utf-8?B?YjlGL2VqZHJValpBNFlQY2ZtTUtpY0ZsT0xUVmVOWE1zTWR3U0grZnYzUldG?=
 =?utf-8?B?NnBjYlFnN2tXUzhMdzRVVXlhNlJ0Wkc3c1hIYWNPcVp1UFZFZDM5WlNGY1VR?=
 =?utf-8?B?UFEvVHpSN0VmdEZORy9GYzcvNnJrbGhmaktHOXBxYXhPNFVCMVdER1RkczZz?=
 =?utf-8?B?cmJpOStWTmQ2K3V4WUpGOU13Y2R4ZExSOExiaFJMcmFwcXo4WC9OVXc2MEh2?=
 =?utf-8?B?RXU3Vk9PeFhvTlY5bllyWmxVNlU4R0dlQVpEQzlvbTRXRlJtbmVSNnp4SGQx?=
 =?utf-8?B?clh3QS9pUlpLMEErNmtUSDc1cjVFazlTOEVYb2NFWFZxZVJtbHVsK3VWQm9h?=
 =?utf-8?B?VnQ0VFVTWTRTUGtxZy9wTGhMMWp3N2wxNGNRNGkrOEJNV0VmbFpodUp1ZG9Y?=
 =?utf-8?B?K0YwYnNjaTNXVXJHZmI5Z1YrNTM0a2dCcmp5S084Y0xKS1lBcklrd0FMK25M?=
 =?utf-8?B?cTk5RTVRSGkyWFc3bHdJR0Nwcjl3Q2g2cCtTZzBGUlFlYTJINFZOaWFLTjcz?=
 =?utf-8?B?cjMzUGk5T2Nkb1FTZXBhUTJIc3ZySXpZNXZCQnB2WG1oRC92d29USHRxajY2?=
 =?utf-8?B?RDU4S3ZCb3hPMS9wemtxcDBvaVF6TElCYlJLK3NyeTdhZythSnVhNWJMWnlL?=
 =?utf-8?B?dmdkeGFtT0V4dzhTdW95MDZXZEhMTi9xNEFOVDkwYjlTVXYxaWxZM0pITnhr?=
 =?utf-8?B?QWRORDc4SXo5bUZMNUs2Qmp3RTVITE1UYnUrdnhHcnQzTlhZUFJiaEt3TkdB?=
 =?utf-8?Q?PSHQtv3SLocp62rYg0ScE1/ro?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1cbf96d4-e26b-4301-dea3-08db310f3ef8
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:09:35.5279
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VedAkZXKYN3L7KdFEaVzX45G1ougkYcTzIqZIUir2iNmAmEaIrcZNROOOAlPtW/PTHbfDmNXhds71vhx+yuJvw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB8060

In an entirely different context I came across Linux commit 428e3d08574b
("KVM: x86: Fix zero iterations REP-string"), which points out that
we're still doing things wrong: For one, there's no zero-extension at
all on AMD. And then while RCX is zero-extended from 32 bits uniformly
for all string instructions on newer hardware, RSI/RDI are only for MOVS
and STOS on the systems I have access to. (On an old family 0xf system
I've further found that for REP LODS even RCX is not zero-extended.)

Fixes: 79e996a89f69 ("x86emul: correct 64-bit mode repeated string insn handling with zero count")
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Partly RFC for none of this being documented anywhere (and it partly
being model specific); inquiry pending.

If I was asked, I would have claimed to have tested all string insns and
for both vendors back at the time. But pretty clearly I didn't, and
instead I did derive uniform behavior from just the MOVS and STOS
observations on just Intel hardware; I'm sorry for that.
---
v2: Re-base over re-ordering against previously 2nd patch in a series.

--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -1589,7 +1589,7 @@ static inline void put_loop_count(
         regs->r(cx) = ad_bytes == 4 ? (uint32_t)count : count;
 }
 
-#define get_rep_prefix(using_si, using_di) ({                           \
+#define get_rep_prefix(extend_si, extend_di) ({                         \
     unsigned long max_reps = 1;                                         \
     if ( rep_prefix() )                                                 \
         max_reps = get_loop_count(&_regs, ad_bytes);                    \
@@ -1597,14 +1597,14 @@ static inline void put_loop_count(
     {                                                                   \
         /*                                                              \
          * Skip the instruction if no repetitions are required, but     \
-         * zero extend involved registers first when using 32-bit       \
+         * zero extend relevant registers first when using 32-bit       \
          * addressing in 64-bit mode.                                   \
          */                                                             \
-        if ( mode_64bit() && ad_bytes == 4 )                            \
+        if ( !amd_like(ctxt) && mode_64bit() && ad_bytes == 4 )         \
         {                                                               \
             _regs.r(cx) = 0;                                            \
-            if ( using_si ) _regs.r(si) = _regs.esi;                    \
-            if ( using_di ) _regs.r(di) = _regs.edi;                    \
+            if ( extend_si ) _regs.r(si) = _regs.esi;                   \
+            if ( extend_di ) _regs.r(di) = _regs.edi;                   \
         }                                                               \
         goto complete_insn;                                             \
     }                                                                   \
@@ -4255,7 +4255,7 @@ x86_emulate(
         dst.bytes = !(b & 1) ? 1 : (op_bytes == 8) ? 4 : op_bytes;
         if ( (rc = ioport_access_check(port, dst.bytes, ctxt, ops)) != 0 )
             goto done;
-        nr_reps = get_rep_prefix(false, true);
+        nr_reps = get_rep_prefix(false, false);
         dst.mem.off = truncate_ea_and_reps(_regs.r(di), nr_reps, dst.bytes);
         dst.mem.seg = x86_seg_es;
         /* Try the presumably most efficient approach first. */
@@ -4297,7 +4297,7 @@ x86_emulate(
         dst.bytes = !(b & 1) ? 1 : (op_bytes == 8) ? 4 : op_bytes;
         if ( (rc = ioport_access_check(port, dst.bytes, ctxt, ops)) != 0 )
             goto done;
-        nr_reps = get_rep_prefix(true, false);
+        nr_reps = get_rep_prefix(false, false);
         ea.mem.off = truncate_ea_and_reps(_regs.r(si), nr_reps, dst.bytes);
         /* Try the presumably most efficient approach first. */
         if ( !ops->rep_outs )
@@ -4633,7 +4633,7 @@ x86_emulate(
     case 0xa6 ... 0xa7: /* cmps */ {
         unsigned long next_eip = _regs.r(ip);
 
-        get_rep_prefix(true, true);
+        get_rep_prefix(false, false);
         src.bytes = dst.bytes = (d & ByteOp) ? 1 : op_bytes;
         if ( (rc = read_ulong(ea.mem.seg, truncate_ea(_regs.r(si)),
                               &dst.val, dst.bytes, ctxt, ops)) ||
@@ -4675,7 +4675,7 @@ x86_emulate(
     }
 
     case 0xac ... 0xad: /* lods */
-        get_rep_prefix(true, false);
+        get_rep_prefix(false, false);
         if ( (rc = read_ulong(ea.mem.seg, truncate_ea(_regs.r(si)),
                               &dst.val, dst.bytes, ctxt, ops)) != 0 )
             goto done;
@@ -4686,7 +4686,7 @@ x86_emulate(
     case 0xae ... 0xaf: /* scas */ {
         unsigned long next_eip = _regs.r(ip);
 
-        get_rep_prefix(false, true);
+        get_rep_prefix(false, false);
         if ( (rc = read_ulong(x86_seg_es, truncate_ea(_regs.r(di)),
                               &dst.val, src.bytes, ctxt, ops)) != 0 )
             goto done;


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:11:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:11:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516601.800983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqBl-0002EX-WB; Thu, 30 Mar 2023 11:11:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516601.800983; Thu, 30 Mar 2023 11:11:29 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqBl-0002EQ-SE; Thu, 30 Mar 2023 11:11:29 +0000
Received: by outflank-mailman (input) for mailman id 516601;
 Thu, 30 Mar 2023 11:11: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=oVKM=7W=citrix.com=prvs=44691dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phqBk-0002EI-8a
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:11:28 +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 9c7952f4-ceeb-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:11:27 +0200 (CEST)
Received: from mail-mw2nam04lp2176.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 07:11:24 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH2PR03MB5286.namprd03.prod.outlook.com (2603:10b6:610:a1::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.32; Thu, 30 Mar
 2023 11:11:23 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6254.022; Thu, 30 Mar 2023
 11:11: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: 9c7952f4-ceeb-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680174686;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=0ZvvTd2C3oQnKKtzGzdEuTuaM5BsD+rPfyO+QSNAcNo=;
  b=CzlSNIO3IU3qbLrsxvcSHjbyi0MQHwHTepy1TMiXrq5q5GjC2C0K3ZQh
   S01YAIJtaRSGxk8/k5ExCMDQcuSqA8zMKofixFCb9X/7uIeOBnNaocDtu
   d7MnVRpcNfram+NgTyis1RlIjTXYcJuQIsTpoZnE+RJSZvFFAnpnagUBN
   c=;
X-IronPort-RemoteIP: 104.47.73.176
X-IronPort-MID: 102464501
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:b4unfq/g9ojHu5J3ymtLDrUDrX+TJUtcMsCJ2f8bNWPcYEJGY0x3n
 TEWC27VOfyCNDTyLt11O9m3oEwH7ZDSxoBjTgFk+H88E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ire7kI/1BjOkGlA5AdmPqsT5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklNz
 qE7NQ5TNSqfqLqs/aK1F9ZBiOgaeZyD0IM34hmMzBn/JNN+HdXmfP+P4tVVmjAtmspJAPDSI
 dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTeIilUujtABM/KMEjCObexTklyVu
 STt+GPhDwtBHNee1SCE4jSngeqncSbTAdpISOPkq6Yz6LGV7mEYLBtLDXmxmKGWpBSjVPFDJ
 HUT2yV7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8yxmdLngJSHhGctNOnN87Q3km2
 0GEm/vtBCdzq/uFRHSF7LCWoDiufy8PIgc/iTQsSAIE55zmv9s1hxeXEtJ7Svfq0JvyBC36x
 C2MoG4mnbIPgMUX1qK9u1fanzaroZuPRQkwjunKYl+YAspCTNbNT+SVBZLztJ6s8K7xooG9g
 UU5
IronPort-HdrOrdr: A9a23:mU8kGai6n/RY5zsJL7kUrxXe43BQXrkji2hC6mlwRA09TyX4ra
 CTdZEgviMc5wx9ZJhNo7q90cq7IE80i6Qb3WB5B97LYOCMggeVxe9Zg7ff/w==
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="102464501"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=awpjTSvEAU10EmJMV9U0RrHvtCmM4nKuAz3yApJvzFqOVhjlBQpcH0n2Tc2qR1v0xa5MX9Ef77ybx1FvZhzkoMdgVyT2xMg+xT1TcZSTO/Q+E2GtUXoo8M7jKmtZYem2EjehNWdLR/5hQxae9/GRf4CDwt30tqKKb4rQoreHPQe6kx0C9ncJBcX8waRztb5JksPrK4gPFLunDTirEh7aFGFAyntV2AToM8HQsdgYhntNpyooDzXA5wY2/cX0BiQIb8jw4yFlb+6v5ZCJqVFtihh6bnwZlJoKuQidIZBn1H+Tn+07Q1xUeQ7/oUF9PGvTYpVgB4yopI9JZBV7hGEolQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aud00+nPEs1KVI12TfTtFvGqSGn47so9rAPgY5V3avA=;
 b=ZXcfVCqEV3QiN7NYuYT+EjvUBcNfesiLzaOreJQhoIyMSqD06mMoE1zWQtFg1TTIzyJIDqPvNA1+NpZtNEhe3aN1Vtmcs30c2vU5wsZobiw2FY0sL1IgsbDhyk+q/JgviCt1YBwxSoD6TB/vAdxT1gdFVdWVvtNEMYgpmf2ecKiJJLxrE46gFaphzStadBuCrpBpOgbv/46aXYeIUuRaM/OvlqlRnMTVJYaWuApfWFTSJdi4aVM3VrY6XrPrcT3EcpHvl7xFf+j9v0T3jTWlWcYjpenajyoV9y6BWeSYhMTF/pD29da8bOMES+x0YlCdosBu7bJ0yAm2Kk6ElUytLQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aud00+nPEs1KVI12TfTtFvGqSGn47so9rAPgY5V3avA=;
 b=kAi7BuW/8vwVeVS5VEwjnQQH0o8QoFfXdKFGfbeBBPHA67Q6bf0CIqSeWcfrVuVOBqbpTAP+wP1ix3PwJF7rIRcV8aGVpYZ4HyDQifgMm8zf7ZTWFxJXhv3C8AwKw1pgsO14C2tMnMIIRbYkV1mJ8kXsddZLfj4Ye/WsR1PnnKA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <bacda91d-a371-ae30-5ea8-19a452e54381@citrix.com>
Date: Thu, 30 Mar 2023 12:11:17 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 4/9] x86: Merge struct msr_policy into struct cpu_policy
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-5-andrew.cooper3@citrix.com>
 <885610de-aea4-6aec-af73-28ee9147fb65@suse.com>
In-Reply-To: <885610de-aea4-6aec-af73-28ee9147fb65@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0523.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:2c5::7) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CH2PR03MB5286:EE_
X-MS-Office365-Filtering-Correlation-Id: f40359c0-13a1-4515-65ae-08db310f7ebf
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yqPmJaSSeTfzVCw62NKiz7p7v2MkwpCIP+Uw2mGIcI0Bk1JXMYtBfD4DrokFCXU1BsWflM3eR/S21deYRrj8V3TcxxT2MEV9dtDo70wcd0yUYn+K6RpNtRn91uE6vPrvfa6tTHmHRMvA4kVvEIVUJb0GdObIAViXmAQu8z6VILbgH65GzTcv9vTiDLq6+7qOB8nD+tHKcS2CyzsBhnyvApwQR/bn6/RtsMpazg0c1/3gq3cUOnXSAfc4ZfQWhwy2g1BRZkBY1iJwych52CU+cUbvzA5anKn8S+xfbRawf1+KZ5FcUpRWWODTgsmbH+hXl/4Zwe3XzmYHj6Jy2JBaofhqB7PrSYXcXtSv/AwcdT67nTdJ+BZeD/8VkNa9/4TGKjBqKI/jxgbSFoB/LEWaCtXQlAiNHUu/4r49Lb5ZnnEr4DVBBij92G4GHnoBFUaQALceinlkl0kNfnBD0N6vxE+YrbQEA6aEgfRsz0bXXj2HkYcjehC+8ULDVrTJZjHfZKf0DXEH0JV+DbXR9Lz7lw/WIV2pcGbuZAd7H7inM/CRWhZgSqKah9wwJXe+l8E3FSC2Subp/4P7kdQCjB/ikM/mEu8W/Gq9RxhaKnN2bPGvEVqLKOSvFlCuSy7rvxhaV+weJczoVRwpYwyw5dDtki1TTiHZdTkaj2APDNsyJ2Q=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(346002)(136003)(366004)(376002)(39860400002)(451199021)(8936002)(4326008)(41300700001)(82960400001)(5660300002)(83380400001)(86362001)(8676002)(2616005)(66556008)(66946007)(66476007)(31696002)(316002)(31686004)(6916009)(6486002)(38100700002)(478600001)(54906003)(36756003)(186003)(53546011)(6512007)(26005)(6506007)(2906002)(6666004)(43740500002)(45980500001)(309714004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z3Q1UVNIQW43T1gyRklHcW4wdVo2RS9HMXptY05hVHB0ZHEvWHhZdHVsWHpJ?=
 =?utf-8?B?akJ6b25wSlVyMi92WHFhNE9WVXZlVERoaXY3K0tEQXQ3U2JTRnE0NFVwb0JY?=
 =?utf-8?B?NHd1WHA4cVBGakd0SzJaZ0xjT3lCRXBlRVBNaGtSOElsRkJ3cEZUd0ZPdzF0?=
 =?utf-8?B?NWpweXM0OHUvUDFQSGxGNGswYlZrRVpsaDQrQXpHY2d2WGs1STR3eVJvam5v?=
 =?utf-8?B?Q3J1NnpTejRjT1BIVTFleHNlL0pKcXFqa2lreFFWcmw3RTVJekh2ZGtrQnlV?=
 =?utf-8?B?V0VKZk03U0hVQlgvMy9FT01QR2Y4NmxCellhMzlacUVyUnpyYlRWRTJlWHZJ?=
 =?utf-8?B?OFd2RmpMbXdsUEgwSzRhaVdjMGpyOGpVY3VpanI4RXZaSStDQWd6MlpnZ0Fk?=
 =?utf-8?B?dFdDNVR1aWZIU0FZSVBsN2NrUitjbi83TlZvdTFtUElxRUFQa0tUaFM4TUx1?=
 =?utf-8?B?ajh3UDlkbTc3REtwQzlZd1ljVzhSaW94ZjhESTBrbW5EcWdXd0xEZnR0c2Jo?=
 =?utf-8?B?cFRLOHJYTnNBdldVNkw5ZjZhbjNseU5pV2E2c2lPK2RZeGs3WkdBa3J2ZDA2?=
 =?utf-8?B?dWhVYTVzdnpXOEtDSFRZM3hVWUZzOGVLaFQzL0FpZXFad1RTOEpOcGRnMUxT?=
 =?utf-8?B?SFJaTzRXakFxR0VrUTM3ODlUKyswcmhLbGVycCtiNEZxaTh1L095ZWFyeUpU?=
 =?utf-8?B?V2p4c3hwcm1JSjErc3BwTTBFRlFiMXRScG1tVVEwRWRHRWFoanZOeXpZUnUz?=
 =?utf-8?B?MU1GaDJqSG1XQ3J5Q0o0a2tXRXZZTHY0bmNRSVAwejg4Z3RvTlRMSllDZzR1?=
 =?utf-8?B?MUlYQ1FmZlc3bDNtWVVKQ1hRcmN3TFYzZGhzMGlQLzVVVitXWnIyMjVKcjc4?=
 =?utf-8?B?ZHhIanMyMGh5QWg4K04raGNHaTI4RXpkaTNVZnZlVnhoSTBwNkdUOXVPMUFo?=
 =?utf-8?B?bnN2dHJTOTFidUE4MCsxU055OEJIUjd0bm8wb1ZpWHd3Y1ZxelE1L3VseHlz?=
 =?utf-8?B?Z1IvRnJuWitXNFRxcHo4aWRxNXppb0Zpb0dUM0NYaGl4NFdETE5aUGd3aENK?=
 =?utf-8?B?d3ZQQ21IWUk3S04wOUdWb25WT294bldxajFWeDRYTjRlSzRYWncxL0R3YllW?=
 =?utf-8?B?aElQeThORDYyZVFhUm0zaUxUYVFEcEgzWG85MjhxL3JWL2lMTUhwNzhaQ1RI?=
 =?utf-8?B?ZnFWSVdRS2N5ZWlLTE5ESWgyQ2pxYnpXVEpmNkY0RkV1Yzc3eTNPd0p4c2o2?=
 =?utf-8?B?ZEFNVG15Mm9KS055c0dDY1ZTZFpoZWRwY29GcGNzdk5NTkxiai9RdFpqY1lW?=
 =?utf-8?B?dVdZelRacU1LaG83UU9JZGptNCtsK1I0NnNuSXJHSG8va21yaWdYU1p3Vmk0?=
 =?utf-8?B?NHVxckVtZW9zTHNXc0pjSG9adUNBOE1uV3psdkloSmtURmpmUGUyajNEK0lZ?=
 =?utf-8?B?TlgzVjEweXJ0S0J0aHhZZ1h6Z3NLN2lmZjZva1k3ZldYZTljaXV5eUVYbUor?=
 =?utf-8?B?L2xPR1BnZXBDMEFKZTRCcFd5cUJZeTA5VXBaNFFBYWVLa01KaU9EdVNCOXow?=
 =?utf-8?B?VmtmTXRpT2tyZmxLWjZMK05VaTM4cGhONHVJMHIveEZJUHhxUFg3WjhFcnpx?=
 =?utf-8?B?WWpCVHZySTBHQVpjWVBwMmlzVUFSSTZYZkh2aXBrVDQ2ODc4MkpyRm0vVWhk?=
 =?utf-8?B?ZGVENEFGMUVSUWc4SE5ublA1bTdJSExJYnFHMjloNC9od2haTnJPdmNsMDcv?=
 =?utf-8?B?RmM0QzAySkxwbHlacGQ3aXJhOXhBVHhkc1pzTGtPcG9uOUhVZzZJS05IalRW?=
 =?utf-8?B?T0NvVVRnRXFFZ1dRc3NvSFJZSk4xWnpUQ2pyNkl5eEl6RzlNLzAvL2huZW5m?=
 =?utf-8?B?cVdDWTRLRlBDQWhWaG02Y1FJWGJyZ0pzdnRWRXhVUS9LdGxxTHpvNTFJK28z?=
 =?utf-8?B?eEZTTkx6QUQ3cFBIZzVTYmYzK1lLUkV4a0RBN2NYN1dlaHQrL0VqMTJ4NXRW?=
 =?utf-8?B?d0gzckpNNTlnR2g3R2VlUzR0cVByWk56aEtsMk53a29WbU5RQVpiSUQwNE94?=
 =?utf-8?B?ZXRvUTMyOER1aytYV09LSGpROENUSmxXYUx1UjFVb2d1ZUl4bXRFVXBjMjdl?=
 =?utf-8?B?Y0VMTUtmcHROcFZQQTY2QW5aZnY2OEo1ZnNHK2VCRXNsUFkrcmh0dDZUeVIz?=
 =?utf-8?B?K1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Il6pZAfCOCG0EQQVkfJXBr8ZpoSPieQ08LWuU3+Mk67wDuivm8Xns054+rtqKil9O6ZYg4A8zdN511hhnyXp8QuPlfTUR8a8mdTr++GBe+7FG0EKnxIT0m5f66XnF+anzbLRAqrzEwpA8kr6Kk0EHHxlX9E9v0tJDb7bLP/bvFIGqFooMGvGxZxToog6lkkPLVm7e3Xlsd4sXAxT1FHMxKX7X2+aJW9djArl+gMr92+fEcqQjKNUqV7g/omsike8vVcunuSPmNlWaBIMzbMK/8YDOheyAwVdS22raUb8aso4CcgQhf6cs2MCz9DU2BwKK03ootM2XsgwPk1+V8jCowfitXD/La+B6YzmRTR/LoZZx91T2mB9ebhR0QfmwY6+/rhtGFxOp0znR+qud9KPqv/g8IfoR4jJgmQabFZR0CGSLpc1Xjzu7aOa5R38wLKE2hKwQbU8uTZujbjPhRRewjwseQQ4KLbuDy4vz/Vp/Oe2K4aKKgBjzsxBqzhG+EnC1WXwgZeP6CzRmR1ng41yd5P8QAMLfyRFal8TFj7IFrQeCt8WU0j5625+xeh/+yPotuXQB2+KRiRkKZF/UBI87dhNBv9AlT+8jmmU63inPKx29meP+6D32pLszLkOcx5PCStgplHm305T3HNUjWXMSg7rtHzJf2z5iZfapjFWMarQ5jB0/2DuhzU9AAze7Vg+MMI0SB94Rg4EtUcX4OftbpscvxrNPELpo2TvlmZz8grkP9QuX16Mbbq2APLP2WnH6pmoOiF4yeas3COjLc+Yr9ynXstKCzSXFm9MVHMS1vzZ6tJTlh5aDUXtcahazVJML94HjFYeXFQL4ngThwgg1Q==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f40359c0-13a1-4515-65ae-08db310f7ebf
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:11:22.7252
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mSSfXjHz/MwXhTaG8DbxN3Eij0euaSkY1r8Hu4KVtxCb5g9nJKZ9JmICsvCXDUO24XsVjmzxKZzYW6hebB6T0b++4Yb8rit8NSE04Lte838=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR03MB5286

On 30/03/2023 10:30 am, Jan Beulich wrote:
> On 29.03.2023 22:51, Andrew Cooper wrote:
>> --- a/xen/include/xen/lib/x86/cpu-policy.h
>> +++ b/xen/include/xen/lib/x86/cpu-policy.h
>> @@ -3,7 +3,6 @@
>>  #define XEN_LIB_X86_POLICIES_H
>>  
>>  #include <xen/lib/x86/cpuid-autogen.h>
>> -#include <xen/lib/x86/msr.h>
>>  
>>  #define FEATURESET_1d     0 /* 0x00000001.edx      */
>>  #define FEATURESET_1c     1 /* 0x00000001.ecx      */
>> @@ -107,6 +106,9 @@ const char *x86_cpuid_vendor_to_str(unsigned int vendor);
>>       CPUID_GUEST_NR_XSTATE - !!CPUID_GUEST_NR_XSTATE +  \
>>       CPUID_GUEST_NR_EXTD + 2 /* hv_limit and hv2_limit */ )
>>  
>> +/* Maximum number of MSRs written when serialising msr_policy. */
>> +#define MSR_MAX_SERIALISED_ENTRIES 2
> The comment better wouldn't refer to msr_policy anymore, I think.

Ah yes.  (There's so much comment and library cleanup still to do)

>  I also
> wonder whether the comment wouldn't better move ...
>
>> @@ -324,6 +326,44 @@ struct cpu_policy
>>          };
>>      } extd;
>>  
>> +    /*
>> +     * 0x000000ce - MSR_INTEL_PLATFORM_INFO
> ... e.g. above here, to increase the chance of it being spotted that
> it needs updating if another MSR is added here.

I'm not sure about that.  In its current position, it's next to it's
CPUID partner.

The unit tests in test-cpu-policy cross-check that we never get -ENOBUFS
for a MSR_MAX_* sized destination, so I'm not worried about it actually
getting stale.


But, with the new merged policies, I need to change the serialising
behaviour anyway.

Right now we serialise everything unconditionally because that's the
only way that merging incremental deltas could be made to work, but now
the MSR enumeration bits are in the same structure we can use those
instead, along with the various "clear" passes we already have.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:14:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:14:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516605.800993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqEZ-0002op-DW; Thu, 30 Mar 2023 11:14:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516605.800993; Thu, 30 Mar 2023 11:14: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 1phqEZ-0002oi-9t; Thu, 30 Mar 2023 11:14:23 +0000
Received: by outflank-mailman (input) for mailman id 516605;
 Thu, 30 Mar 2023 11:14: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=oVKM=7W=citrix.com=prvs=44691dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phqEX-0002oc-Eb
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:14:21 +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 02e1d2c6-ceec-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:14:19 +0200 (CEST)
Received: from mail-co1nam11lp2176.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.176])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 07:14:16 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BY5PR03MB4967.namprd03.prod.outlook.com (2603:10b6:a03:1e2::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Thu, 30 Mar
 2023 11:14:14 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6254.022; Thu, 30 Mar 2023
 11:14: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: 02e1d2c6-ceec-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680174859;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=SK09N79CEU7oRYhY8D8zf5d6hHz66Yv1xLZ33C0vvwo=;
  b=dhjNONg7mN6bBc1rdPVNYl6eOWbz8xz/pyu1HdzsvP1gw3xnB1ae/2/N
   nA38oOlATiQR0tJJddqkchm19npI7ptBcc63VzhmNKilIANKu5AMX9oMy
   9+CGgVDkovmuo2+HSc/U9bAKI1eBx0JtrZfcisyZ48RvSR4b64RXBWq4x
   Y=;
X-IronPort-RemoteIP: 104.47.56.176
X-IronPort-MID: 103690479
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:RCLwS6oFxG6gtakPwtnhekSE7bdeBmI1ZBIvgKrLsJaIsI4StFCzt
 garIBnUM6uIYjOked5+aYnl/E8D65WGm4drQQRr+XxhEyIR+JuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzCFNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXADEzZyGgjrqW+uiqDapjucgJEvXWBbpK7xmMzRmBZRonabbqZvyToPR/hXI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jearaYWLEjCJbZw9ckKwj
 2TK5WnmRDodM8SS02Gt+XOwnO7f2yj8Xer+EZXhrqU00QXPmT175Bs+cFfno8irimqHZfVAK
 0xK2yMRk4cAzRn+JjX6d1jiyJKehTYeUddNF+wx6CmW17HZpQ2eAwAsUTppeNEg8sgsSlQCx
 lKP2t/kGzFrmLmUUm6GsKeZqyuoPioYJnNEYjULJTbp+PHmqYA3yxnIF9BqFffsisWvQG6uh
 TeXsCI5mrMfy9YR0Lm29kzGhDTqoYXVSgky5UPcWWfNAh5FWbNJrreAsTDzhcus5q7AJrVdl
 BDoQ/Sj0d0=
IronPort-HdrOrdr: A9a23:5knNNqoffGO02sZ+AMRjz6IaV5oNeYIsimQD101hICG9JPbo7f
 xGuM5rrCMc7wxhPk3I+OrwX5VoJEm3yXcb2/hzAV7PZmnbUQiTXeVfBOnZsl/d8nbFh5ZgPM
 5bGsAUNDSaNykesS+V2miFOudl6MWb9rulnOLPpk0dNj2CqJsN0+66MGum+4FNKzWuzKBWKK
 ah
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103690479"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gRymO97001nInZBy3t8oKnb6CHL/RPJtimFIyrNVXCih0jovLvd24bvf9cB/VhpCmyeFgysw9yxNobkmX9nOMTUl42B2FgdwujGGDEndK01sEazpbENL6lO+KMTR6ik8M5Mr2WQ/Q5tovMJr1QI5S5ul7P097jkXx9bgLUVgEQEsTkGUbUOy2PZEPHuSgvSVbhMlzVdDmKerVobbiZAByr1tJIzO9aS7tgU8CJdAGPuIRhEZ8LnMStsDNDbyy4Pc0cEefUTd+A8r6yuRjSlnQnfhbzkRVb1H4S887okx0fVU6j81pL9PuQlRWRMnVllrtytfmI/mRc5QKnjYbkjnsg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OhNx8PX4bDPRSPtkhZ7xPTv8UTfYv0sCeUnx9ZKsqIA=;
 b=gPagZIXehqemGRnkgT2z0joUEuKofZwKFRVnZv3iNCi5lil2uQ4lWx74hCnv3nL/pGg0KL2dgKtOfyVYSFJZri6eFaq9z2K8gAMx+TxibZhpl521+Jzs51fIEDnW1mrfIMan4EtxYkZ0me19njwF53ohOWfcC9JFdBCP9h7bFqH1yN2+OV9HqtD5qbooZCsRN1hYBieM+fJJLbZEFkH2SzFoGx7qD+hFduflXOQ2Yygl5Bq1K81w295JUjoTmp/wmA9JnIzc5oP+7BME06skWSL+lrYfFvoGieDDXvk0bD7s6VOhzjwVz4JBcDfqrKXaTTopZYxDShZo4jYTbPuNCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OhNx8PX4bDPRSPtkhZ7xPTv8UTfYv0sCeUnx9ZKsqIA=;
 b=B4XCgM49aQRnglJX0Z5QFhJ8TOeg0RNOZWP/0u4PFVGDM8+x8D97eJEHP8u929CO51x7SmFg9yVfbmQIO9xogypDPDPZe2vrWd2vGXGGeX122nNoPvzrzDkABj1mhAriEEbsgg+G/EiiFKrzXT52TLz0o1Zi8uDnLoNW4+2oZQE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <6f358a18-2f9d-8367-6678-328ef50c331e@citrix.com>
Date: Thu, 30 Mar 2023 12:14:08 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 6/9] x86: Merge a domain's {cpuid,msr} policy objects
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-7-andrew.cooper3@citrix.com>
 <b111d60a-5f83-1ab0-3c10-84e9fb743011@suse.com>
In-Reply-To: <b111d60a-5f83-1ab0-3c10-84e9fb743011@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0116.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:192::13) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BY5PR03MB4967:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b69d0ce-5a02-4615-c55a-08db310fe517
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UUjjYuthniszMhw5Zx9BienDeYo7HXv/0OUVL1YnOlWTuSYUFAIb6kWDa3G+MWCk4ZHI+M9LFdEE8+iBCQHaFAG8fa4+aG6ssE0MTTB+wFwNMuZvOudfKjKJ/2PEx/+S7g4be+bmljorB5EGeTAVjoY+CiCBRHvZ8TXjOhXIWFmoigR0GW9kq1t1EV0Hz4lmysArz4GRomOZNZ8gHM1rdl53/vP4cvA+FHhIbfax05iKj7g3DOCAoAhx9y/h16V7DoHW48idsKWlTuv/D00XTIsbdbfEV9qQTDMlFjAFxDfUHawEbkjQ2lJ5hC6oap1x7sIl2Nwh/vDiEz8s/eG2eRi6IRdE06eZbANLkUSDLm02ThcdnzKPS6M1krXIXqhVQdRZb+3k8fJVVlHf9LO1UTBMQS/hLUv3GWBEm4gcr5u8cTDPKftrB+t2bS36Mhki52+QCBsR1k7kjRSRg95TXLkN1dEwR+q7aVdWCgQngGtLtpAVaZPAEMimM356UKd5wPTCz/rR7rYl9P/rq8tW/XTG6eulCUP3lDPFH1ZJn4Qxtq+h5fcYW6fxlGP4IYQtmVp8L7s86BemRQvB928UtyukHDH1p0BYgBirh4TPPDjNbt6cJg76IeHza9EKsUp5
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(136003)(39860400002)(366004)(396003)(451199021)(26005)(82960400001)(53546011)(478600001)(2906002)(38100700002)(6486002)(5660300002)(2616005)(186003)(8936002)(36756003)(6506007)(54906003)(316002)(31696002)(41300700001)(66556008)(86362001)(66946007)(66476007)(4326008)(6916009)(8676002)(6666004)(6512007)(83380400001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WlRwdTV2NElicWpBanBwckNuMTd5bE9JdHllbFF1anM3Yk5YQW1zeGp0QUNl?=
 =?utf-8?B?QmFuS0ZQSkgxbjRnd1dhaVBJSDRuY0dyYUp1WHdSb3hGdGFaRnRyQW9RZThi?=
 =?utf-8?B?M1dyOHNaMkV6NE1BbXdYejBYSi8vY1ZXM0ZpMU1ZMktzU2JjM1RUc1FDL2pN?=
 =?utf-8?B?bFVsWS8vM01tT3pjY0V6a2pISVZaUFRycFpPOWIzVWFjWTNxemFRaFZGZ3k4?=
 =?utf-8?B?b2ZRL2QrTHZ4U2RhVGtBN240YUovTGNXck1GNWpidUhkb0dyVGF6cjlaaE5t?=
 =?utf-8?B?MVU0VGsvODZhbFR5c3oyMnJTY21hQm1PY0tZOVpqQ3VldDhqcGVnc0dEajhY?=
 =?utf-8?B?WVZPYUdPdk51VTlrVSt3VHZ3MU52cUwzZ25rNzJtV2FTNDl1UTRpbVhOM213?=
 =?utf-8?B?YkVtSnJsQ2Ztb2VFc3dTTVd0cjFqRWM2SVFKaGxnTFpKTWdtbUYyVjE4SGoz?=
 =?utf-8?B?SWtueElEQytJTFM5YVE3ZVJVc3NrdnJuVFNSYnVJN1E0cFNsS3lUSit5VHUr?=
 =?utf-8?B?TmRJTGxFU29VeVpVaFkwOWJ0NjlyMU9sd1NkeGx6akVNL1pRa3BtaHNRQ0g0?=
 =?utf-8?B?bmdJbWdkQytaS3JlTXlTb2ludGNLY0pJeFNLeFRnT1dMeEo4MHlDWjdzMjJZ?=
 =?utf-8?B?RE9rZjl3SXRnMU1WV2d3RWJoSldobzFvWjN4Lyt3cEc3VnRvajBYY3VacDd2?=
 =?utf-8?B?Y3JLKzNVWVZBQ0UrUDBlendxSVdwaU1XcVkzbHdZeTZhT2dqalVjOEcrNk1j?=
 =?utf-8?B?YlpxakxnTm9aQWk5UmdsSDZhUWtka2pBK0U1YzRhaFVhRC9paDZvMVBHd20y?=
 =?utf-8?B?ZTdCam4zWVQ1Q05oV3BSWGFROFBkTWx6T05jRFJFZzE1OG1hTTBmU2FsVndj?=
 =?utf-8?B?YTR4TE4zYUdnMGhtamtHK3ZDbzE1cVl5ZExuL0VzMGlhQVNWL2RJT1c5ZUdr?=
 =?utf-8?B?VGd2YzFaenRtRkQvRXpEQUtWRjdORHZ1Q1VtTFgvZk8xRlFhRmFFcnY4cm55?=
 =?utf-8?B?NGk4b2E5cmVzaWpOTkt5TUhodGEyU1NTTFd4WnN2UFVlOCtTQ0QyQlBnZGhk?=
 =?utf-8?B?cFp0MHdtaDdvd3F4SXNXY2M3MUxXN2JFbXRzTlJtVmREa2t5ZmFZbEFwRC81?=
 =?utf-8?B?OE9KWnl4WGx6cm9WSmJYaGlPQ3RhRGordG9USnRsQkJUaE5mayttcTZIT25N?=
 =?utf-8?B?SHVpZ3Y0QXMxbkRSZWMvVHAxNndVT3c2V01ybGxXcGU4dnZYcGxkQmJtOFJk?=
 =?utf-8?B?OWxzNVpzYjJIZkNmSjI2eVVMaFdvcWxMUWtzbkk3eEpHc1pVUUNYYmpTSFVN?=
 =?utf-8?B?TzhJeCtBWEVMcXNOQi9UUzN5bno5K25zNXhKRWdEWkVtK0lEczFRRUc4L09l?=
 =?utf-8?B?Vm1HK2s3VStIa0lnb3RqaEJaQWpFR0F3c05HbWFqQ2FTTmJJQ2lKcDhKOVhP?=
 =?utf-8?B?WkRBZEwzL3RicGprZnJMNmZ0cUx5RDk1Sy9OeXBZRm1TcWJSZjYxQVlodERR?=
 =?utf-8?B?b01qS3lJSHRNUThXRllmanVYYjIwU1NzcVdpNVRoc1hFTzd6WFpVY2NoeHc4?=
 =?utf-8?B?THdTbFhKZmE5N3lNWFdEcWhUdXpVdzBDSEN2MFFWbEpTLzlnVHExbWEzNW1J?=
 =?utf-8?B?S2VGcThYYkJXcEJicGhaaFp1YmZRUzd4VldZUFpybXFxd1VFWkE5dGt4SGdT?=
 =?utf-8?B?SThqa2dmLytlaHhlWUdvcVVuVndLa21UNVhBcHJaUjBZb3lCK1dwZng1aHhD?=
 =?utf-8?B?RjFqamVab1ZnSk56d1JSQW5qWlZaVzFpVXhuWDhYSTRZN21aenBic0s4TlU5?=
 =?utf-8?B?eUhBUGFFR2V1WTJ5QjRSUWhIUElHMmlaWi81akZ3MUJGMmdOUTdLY2NVTTFI?=
 =?utf-8?B?M1ppVnhwTEhnb3lKMVU1SWpOMDVXSGsxVHNSMHRyQ3hWdXJGVkM0RE1mUkxv?=
 =?utf-8?B?UFJrS0FSekpLZ0RudzkrdGF0Q1VkYkpPQXdoMVB1NVorZGk4bHdkWG5sdXRL?=
 =?utf-8?B?Z3JySWpHTjdDNldJWUhVci9TSXJnczhJQ0dqN2paWlllVjM4TzNSY1A2L2Vl?=
 =?utf-8?B?Q01nTDBsQ2F4bXljZ0c3a29iT2hrcndTRWo3MHhkSG9JMHJTQ0tpZGQvT09I?=
 =?utf-8?B?QWk5VWJ4eWE4TTlVdFpzTEVuRWFKRjFvcW9USkFEUmhOUXVyUWJycnZ5UWQv?=
 =?utf-8?B?S1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	nitpXrNyOiX2mQsByGZrC+S77DUqV/5p+3FHJd748zT7OVTG/m1cjVzoxed1Vf/jJO0FmE4tFZmf285xwuMZJBj+aQGCrExC22FRtYZtkxcn1696bKPWGzQdUNc9zwpEys1D2O/eqeIBSC6AKmB1AN0EaRsfaQN9QT5zXhTyftaQxMlt+KzeMCn+dcgSzoi0ur6N0MrLN2I+EphnOeUt9hucAujdPt5sWI/AFS081Th9uW+5aQe1z7waVC9AeGOXNWeaOJkPWO0ae1nQLYV5n5UiCgVB5dq0px6s0Ygna5radKnI8UiRR/fGDKwhfmLAyIzGjs6u1zK/sRUNXD65ivkOJIKpzaPH5i3WXw0oTam3sL0MUh4k3VsD8vT3v74AKLIz0tn268YgaHTigT25jc4VqXDUtKEBDqCHlo6xwJNZRtHKiJFg4b7ukmAfOEpzrkpn6vbJ59Kj/mv3QliXPkfxnkl4WPhU6ttJFWjIQoJ2DA/UMrsqYAnW1D7yOv84aDfyCJYbbhsmXkPUlmlLBDBBx38vNDfK2RU1916J1HQ0Yn0Q4x+niVaA4O6Vp2tw5UPd3j4CYbgRcjppgOdjvAAuUYqX1HD9iqE9fGlv924776p+3bbjOaWW1dhyiDDOZFNUXCHoTeazKUiRU2cHQV+gdfjUv0Rumtt4WP+B9JSAMjmGRVmJ+oOp5ANUZtA+g7NUZ2KAhGd/GMTy1dK1bvzPmCHgYVGiGKO/56EOBiM/lf1dRF2GhPVKGB1pxMuqpzKfYBoxllFovF0x9o5afBMqhJ3vlmd9BnHI1fJy3d8ggqhuraH4KeP+9wQjLPM5JA46ecZ30epQLGJYyqH9HA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b69d0ce-5a02-4615-c55a-08db310fe517
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:14:14.3442
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f6gxzhFmD2RkFc0DFQ48SiARgdHY5anmrAAiyNLCwoS0SRHqHII1/4GC6BpI71bty/acs4iR+zL5c7lFoJ79ZmdAw0U0UuUDg7/kIiSDdVc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB4967

On 30/03/2023 11:00 am, Jan Beulich wrote:
> On 29.03.2023 22:51, Andrew Cooper wrote:
>> @@ -573,7 +574,6 @@ int arch_vcpu_create(struct vcpu *v)
>>          /* Idle domain */
>>          v->arch.cr3 = __pa(idle_pg_table);
>>          rc = 0;
>> -        v->arch.msrs = ZERO_BLOCK_PTR; /* Catch stray misuses */
>>      }
> Is this intentional? It's a vCPU pointer here, not a domain one.

Ah, no.  And it answers one of my TODO notes that I hadn't got to yet
(of why MSRs was different to CPUID in this case).

It looks like it got caught in my `arch.msrs` rework.  I'll drop this hunk.

>
>> --- a/xen/arch/x86/domctl.c
>> +++ b/xen/arch/x86/domctl.c
>> @@ -40,11 +40,11 @@
>>  static int update_domain_cpu_policy(struct domain *d,
>>                                      xen_domctl_cpu_policy_t *xdpc)
>>  {
>> -    struct old_cpu_policy new = {};
>> +    struct cpu_policy *new;
>>      struct cpu_policy *sys = is_pv_domain(d)
>>          ? (IS_ENABLED(CONFIG_PV)  ?  &pv_max_cpu_policy : NULL)
>>          : (IS_ENABLED(CONFIG_HVM) ? &hvm_max_cpu_policy : NULL);
>> -    struct old_cpu_policy old_sys = { sys, sys };
>> +    struct old_cpu_policy old_sys = { sys, sys }, old_new;
> Interesting name, but as long as it's transitional only, that's of course
> fine.

Yeah... it was the best I could come up with.

It does get removed in patch 8.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:15:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:15:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516610.801003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqFc-0003Rw-R4; Thu, 30 Mar 2023 11:15:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516610.801003; Thu, 30 Mar 2023 11: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 1phqFc-0003Rp-Ni; Thu, 30 Mar 2023 11:15:28 +0000
Received: by outflank-mailman (input) for mailman id 516610;
 Thu, 30 Mar 2023 11:15: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqFb-0003Rd-9a
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:15:27 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20628.outbound.protection.outlook.com
 [2a01:111:f400:7d00::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2bbd15cc-ceec-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:15:26 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB9867.eurprd04.prod.outlook.com (2603:10a6:10:4c0::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 11:15:24 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11: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>
X-Inumbo-ID: 2bbd15cc-ceec-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L3s+f/aXBNajv/bHTzE7npn8+EQIGx+SGWnLWB14imVPatVhyLP3P3NYqiitxrbogdGemavSnSYLpFd2/pj9v0TeEWEBVOhVbH4duuAKUnkHb5npRnjWiqrmNk8ZY7RH0ePZgEFwwnsiAEnFnMHMqU9COaqDjSAg/GhtgFVSoJgYUYSBcLF0gk0dKeryXGL1jjC2csjKSpkHSkmiV1WSmxVMbzjiMcWqCzg0r7awXQwpE3Pl5RuXeYfj+p+RjG6DeGg2Yq1s1yrzXaA/5TvmZ1NZnxzT7OaUWTYtbgBDwwhoEtuec4NOE9Y5bwtpq2pIKYF+WeeBe13k9UEdt/2lcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GVacTh1tgBBQFKPNc8Ong3WaUVzSlbPo+5vRH0B1E6M=;
 b=F7noyuWesR+U6forgICvMMrFKI84tD2iSy+HqnODvP3WGHut5K8tJTAgeKqn/6BwxqrYqQsgXQj5BuK5NVAHuWbpPFfpcSE1aQBy+hW0+717cp08e+gOZvm6Yh7GrgCkOW/9qbqP5IiO3q5lszRY+ax3VrslpFvMjt7h4YsDxVqIdGF+21Ck50qGzmC+fYYheV3r7na37bFXL4y+foP5dUlsFRIDy3SjiDAo6FRlyC/v38hAc5rfGyyEDbnOPIErFHWvGxRzkqrr+pfLP1UHubd7wvnF6d5WmJWf097zeX7Dr1E5Ysd/SQO6xYqPe1qJ0aaf48gd6a4REbO4x5xsYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GVacTh1tgBBQFKPNc8Ong3WaUVzSlbPo+5vRH0B1E6M=;
 b=2B5o/ot3edXR2b6t3DusOKkxb+bRJ/qkXAIOmtP3zttbfsDR6PHGATHXwZDMQhqNF6YfCXqB5IKWI1glj/pFZR2eGeMBGwLGsHHnueEopeWMiWsPjxDag/BR3rkvG/S0ANDwfdOn2xlrz2/hb5OrwjPyqwJQYJMrXTMjiVbb7ODpwAEVLZVYdBMdCAwZZLn8eGRiLuv+pb9sAn6Hf7yWkmu7Dh6gDY0XTXr/ot8XI6BE0eHOQtUgxd1s+Qa6Qmrt+n4LAks4tc2wegVI8ZNhndGyashNP15QF2/jAcsJ3SHYH5CSSIloHeY/WvAza6eIIi0JjAFe+AYDYPxF7TDfqA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6354e5c4-f438-0ae0-0153-3bd1001b6198@suse.com>
Date: Thu, 30 Mar 2023 13:15:22 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 4/9] x86: Merge struct msr_policy into struct cpu_policy
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-5-andrew.cooper3@citrix.com>
 <885610de-aea4-6aec-af73-28ee9147fb65@suse.com>
 <bacda91d-a371-ae30-5ea8-19a452e54381@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <bacda91d-a371-ae30-5ea8-19a452e54381@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0107.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB9867:EE_
X-MS-Office365-Filtering-Correlation-Id: c49a03d3-88ff-4882-d56e-08db31100ee2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rFjWm4YNG9UMEKqpFiMPJUdUMpmHIKrVIo/f0nZNdUi0Yzfrqy1KURp0BOeJODJUqLfkxL8T7SFSdGo7OPEzZkBk8hyaCaoZeGFXqe9uqf1FGbN6g+B4zr2Z7Ne0eMq+RkQF80Ndal8AzR119N0BbbvY5gOXcOCLFbFVBvpGoTGIDlw34b/ORqZOUqrNjzUuFvBztYy4XDtFPhnoQvVSPI7Eds5jwU2gJlU4CK29Gxqljeshgui30jDYkZ6odIHGe1iUG4m9xpWaAHSMOD0SZyTcuRPflljshUsjkuiHVBQlk+ksHJ0lRgZFedrZFAbqvxd7H9LmnyMH8ZCu1SAHiSy7//q+uO+xOc2O9+gPRViSw1V4ycULKVuoNfBRUPJvUc3Ih4VN7mj8Id7JzoIxXku77Wdv5uNCBd9G1p2V/81M1zYYxFsYx/vmzbouhXe083tAZwxDJ3cJrWRMEOWTfv3zpehSsQ0tjfILJggFi0fuPT/8Nb5Un+8zvN6KmIS6mAZTWYsprA46hrO3OmBthVlTdembJ7vHtGC+jgLO8q4mkv0mg0Ep5HaEkrmogaX2uzi86TEdam4zqxyXechOCznikPU28mL5rYH3o22v+iMmt+Mrdj8H0KZVt400aWUyVYg3PGAIlTp7VeYGSUU3idofTDA+W/Bp1Od3Hf4WpjT92q9tbB8XJLsN8Wjxd436
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39860400002)(376002)(346002)(366004)(136003)(396003)(451199021)(54906003)(478600001)(83380400001)(31686004)(2616005)(6486002)(6506007)(6512007)(66946007)(316002)(66476007)(66556008)(6916009)(8676002)(4326008)(53546011)(26005)(186003)(5660300002)(41300700001)(38100700002)(8936002)(2906002)(86362001)(31696002)(36756003)(43740500002)(45980500001)(309714004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V2RkaE1QNm04NUliallrTk1lWTdwQTV0a0ZwS1JYSnp3REM2YVRwWWNEWHkz?=
 =?utf-8?B?T0YrV3pWYXRvek1GNnNzWnVzaEE4VjZqb1hrdGxESTFNYWVqWDNMWmNka2Rz?=
 =?utf-8?B?bkE5ZENmbmkrYWlIbUdmNHdodDE1RkpMZ0pBQlZrZlZBYmVNOFRMVUwyelpi?=
 =?utf-8?B?RVlIWFpxVDBTRUpOOVJqbm0zN0cvOFpDTEROaGltQnFKeS9FSEtvcFpZemNN?=
 =?utf-8?B?Lytzb1pqazB5MDRHMmlTRmhoV29ZMVFiRFR4Rzc2OE9ucitGRVpya0RMc1NX?=
 =?utf-8?B?OE53TmtUMUNwSmlzbXg5VVd1eTlQMVNhM2dUbjVHbjk4L2RGdWNYalpQYS9L?=
 =?utf-8?B?dUgvN1VxTXNXNWQzajQ0Q0lkcmJzQWxXRUx4RVcySG9YMXQyOVIrL015bUZY?=
 =?utf-8?B?bFFrTzF3eGFGaWloUkhRNm42OU5MRjRYTHJNUXBodW1UVkdkMzJmeVYrTW1F?=
 =?utf-8?B?YVoyVHBRNHU2cVgvY0NPbGt2QnpYMDQ5eXNkQU93NTVBYnpxemF0dWd6YmRs?=
 =?utf-8?B?Sk9IeHMxVHV2QXBISU42M21MOXpoSVQzclZWRFhiTFBYMmREZEY2bVB5elVM?=
 =?utf-8?B?VFhrMnFWcXcyQnlBTXMySmdHdzlHT0plT0JyQ0xjWHYxV3VtZXFmNFBBNVRx?=
 =?utf-8?B?MGcvdHJrVTluRm5qZEdmdkNTcDRYMGl4VDRMblNycHN4UDBwdXhHYkM4dDJG?=
 =?utf-8?B?RGx3czRqb3NvanhwZE5qMW5nbGpVa0ZhUkF3NHB0UmpRRjFyaGwrZTFjUEFl?=
 =?utf-8?B?NSthOENBUmJObm43a3piNFp6SCtrVklvTFc2Zm94MDlDTTFZLzJveFlVcyt4?=
 =?utf-8?B?R3hlQjNwSGViam9reDVLU1JscUNpY2RUTlFhY0h4Rlg2M29XZ2wxRzFwdEpq?=
 =?utf-8?B?QXB6VEducmFFVWk3SE9MR01xZWdtQWd2YXVmTDdvRmF0WTJ4ZUdCUWdKZVU4?=
 =?utf-8?B?WUV5a3dNMFhneGVpRFc5dTVEZDB1bDVrRHhUMmprNE5MTUJiemFNbDMyelV1?=
 =?utf-8?B?N1IyVzFEOVhwY1ZiVmwzVFdIUHJweXkvdHNwci9TREk3Vi9CQnMyQ29EZjly?=
 =?utf-8?B?d0Fqd3RrbjZrYldWSTd6VEpLM0JXQ2VtN1YrZHVQNndDUjV1TUp5OE1vZVN5?=
 =?utf-8?B?dXNtaDB6UWhXY2VGOHRsZmVSRzh4VUFOSEU5QXB3cnI4WVpQN0tVblJWU3Nm?=
 =?utf-8?B?cFkyRXZrWVVLRG1ZWVlTTGE0clVZV200ZU5jTUZyRVk3QjVSSUVidngzaG9F?=
 =?utf-8?B?N2E2Z2UzQ2JqN0RXTDJXdDRVY0hNSUhrYmhyWldUbVh6S3FaTDYrZDlDTmdW?=
 =?utf-8?B?Y2ZhUlBZMEdlYi9NQ3FIUDg2WGFtY1lVWnUyQ3JLUW5jaitlRERudWhLTnN5?=
 =?utf-8?B?RjVlREI3SFhFNnZGWllpZXJWaGRWNVNPSnN3MjIxcEFTRElxVDZHdHJxOVZQ?=
 =?utf-8?B?eUVqaEdHVXpyaHVBanB0THB4dVllQUFoRWo5RTR1YUNtMWlpYzUrZTkybXFv?=
 =?utf-8?B?UCtwYkNMRW9TdnhXLzh4NU1KZkZQdXMrbEFBWkR1eWh3MG1KdW9aaVhsYkJ2?=
 =?utf-8?B?bDZTNEYwL2p6TnhSdFBuN1pSQ0JHSDVlR0ROOTBaWjRlNDRFVnRqUWUyM3Nr?=
 =?utf-8?B?akx2c0RDQ0lwS1dtcTc5VEJkL2lSWWpoOSt3c1lSRkdQSmVFRlBuU1Irc3ZI?=
 =?utf-8?B?ZjVyTDNyVFAydTZSZTBkQ2J0aG1IYmcvWVdramhEN1hhaTA0RGtKQkpSOTMv?=
 =?utf-8?B?d2JqTXBzcXRnMFVIZlpYRWxBN0g0cXE2bmExSSt4TVMzU01tNHpmeU1pL043?=
 =?utf-8?B?M1pMV3JpNmhPVEpndzRwVTl5MEJEU0lwL29UUm5HdUROZGltR1NvcEZYY3NX?=
 =?utf-8?B?akUrT0JtVE4rOVNOQVZLWWl1dGw3WklGM0x6TzU2Vkh1WmdrOXU1YWMwSm9l?=
 =?utf-8?B?cUV3VCsrRUNMMjUwNFY0VmdXZzRmWldFOE9HZWVQWWpBeGJ4WFBPOFRWOXBi?=
 =?utf-8?B?NVJkbDVKNHI2YVA1YnhwVThUTDNRRndZWUdBSWdQVlVpV09Sc3JqcGozZktv?=
 =?utf-8?B?RzRBVG43UWJhNm5zS2JzdldmSVdkejlnL0NLQlUzeTNaUWVySE83YUdIM1Bz?=
 =?utf-8?Q?hFSD7cM84pnkSbivSV0wf22rJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c49a03d3-88ff-4882-d56e-08db31100ee2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:15:24.3541
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KS/s+fBOWqxHOQ09SnzFB/hTxwecMeKX5mzZxH88+oFxoU+HwMIEzWSsaEBvGdJzcwEAt/i+J+arbgjNMH3V+g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9867

On 30.03.2023 13:11, Andrew Cooper wrote:
> On 30/03/2023 10:30 am, Jan Beulich wrote:
>> On 29.03.2023 22:51, Andrew Cooper wrote:
>>> --- a/xen/include/xen/lib/x86/cpu-policy.h
>>> +++ b/xen/include/xen/lib/x86/cpu-policy.h
>>> @@ -3,7 +3,6 @@
>>>  #define XEN_LIB_X86_POLICIES_H
>>>  
>>>  #include <xen/lib/x86/cpuid-autogen.h>
>>> -#include <xen/lib/x86/msr.h>
>>>  
>>>  #define FEATURESET_1d     0 /* 0x00000001.edx      */
>>>  #define FEATURESET_1c     1 /* 0x00000001.ecx      */
>>> @@ -107,6 +106,9 @@ const char *x86_cpuid_vendor_to_str(unsigned int vendor);
>>>       CPUID_GUEST_NR_XSTATE - !!CPUID_GUEST_NR_XSTATE +  \
>>>       CPUID_GUEST_NR_EXTD + 2 /* hv_limit and hv2_limit */ )
>>>  
>>> +/* Maximum number of MSRs written when serialising msr_policy. */
>>> +#define MSR_MAX_SERIALISED_ENTRIES 2
>> The comment better wouldn't refer to msr_policy anymore, I think.
> 
> Ah yes.  (There's so much comment and library cleanup still to do)
> 
>>  I also
>> wonder whether the comment wouldn't better move ...
>>
>>> @@ -324,6 +326,44 @@ struct cpu_policy
>>>          };
>>>      } extd;
>>>  
>>> +    /*
>>> +     * 0x000000ce - MSR_INTEL_PLATFORM_INFO
>> ... e.g. above here, to increase the chance of it being spotted that
>> it needs updating if another MSR is added here.
> 
> I'm not sure about that.  In its current position, it's next to it's
> CPUID partner.
> 
> The unit tests in test-cpu-policy cross-check that we never get -ENOBUFS
> for a MSR_MAX_* sized destination, so I'm not worried about it actually
> getting stale.

Well, I wasn't worried so much about ending up with a bad commit, but
rather that something you could spot on the first pass while writing
new code might cause you a build or test failure later on, resulting
in extra hunting. But this was merely a thought, nothing I would insist
one (the more that your CPUID sibling argument is of course also
relevant).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:20:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:20:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516614.801013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqKB-0004u9-Cq; Thu, 30 Mar 2023 11:20:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516614.801013; Thu, 30 Mar 2023 11: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 1phqKB-0004u2-9J; Thu, 30 Mar 2023 11:20:11 +0000
Received: by outflank-mailman (input) for mailman id 516614;
 Thu, 30 Mar 2023 11:20: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=oVKM=7W=citrix.com=prvs=44691dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phqKA-0004tv-5v
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:20:10 +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 d157f40e-ceec-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 13:20:07 +0200 (CEST)
Received: from mail-bn8nam12lp2169.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 07:20:02 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO3PR03MB6792.namprd03.prod.outlook.com (2603:10b6:303:164::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 11:19:55 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6254.022; Thu, 30 Mar 2023
 11:19: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: d157f40e-ceec-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680175207;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=kC93KfM3IacAnsQFtjdIh2gvuT5/bcKCEZ38Xgq4uFg=;
  b=I9qi3HeuHQJNtNjZ2WnhXypJTLAn2dmwzk+KwYUJTnAnBaWe7qEnOaxI
   YtjzQa8E4PTrl3VpLa7+1FBL73dCr1iRyaOP1Oci5g65G9+iHjhg1X2MP
   w/EGLuSK6naPGwihrfbD0mhmUtmAJxsu6anCGsei/1M0TSA4c5/aAxnHx
   I=;
X-IronPort-RemoteIP: 104.47.55.169
X-IronPort-MID: 103579191
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:epFhs6KOy80udt/MFE+R/JQlxSXFcZb7ZxGr2PjKsXjdYENShjRVy
 TYeXm3SaPuDZDbzftt2a4XnoU4DsZKEn4JjTgJlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QdmPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5qClpE5
 fYIGApKSTuHg7y165XrUdlF05FLwMnDZOvzu1lG5BSAV7MMZ8CGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/dqpTGNnWSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHugBd1DTezhnhJsqEOey2VODgFPbGqYgMW4mBW0S/hBJ
 kNBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rXQyxaUAC4DVDEpQMwrsoo6SCIn0
 neNnsj1Hnp/vbuNU3Wf+7yI6zSoNkAowXQqYCYFSU4P5YnlqYRq1BbXFI89Qeiyk8H/Hiz2z
 3aSti8iir4PjMkNkaKm4VTAhDHqrZ/MJuIo2jjqsquexlsRTOaYi0aAsDA3Md4owF6lc2S8
IronPort-HdrOrdr: A9a23:ZzJnM6DGURHl3BrlHemb55DYdb4zR+YMi2TDpHoBMyC9E/bo7v
 xG+c5w6faaskd0ZJhNo6HiBEDiewK7yXcW2/h3AV7KZmCP0wuVxelZjLcKqAeQfhEWg9Qtrp
 uIHZIOauEYzmIXsS852mSF+hobr+VviJrY/ds2Bk0CcT1X
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103579191"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z+y+oHCJxnzP6VyWkUjSQ1NdZ+1cnSJEqJAzO1UT8VXExyDrpOvvflmpqu0ewjayY57NiCLXDEPWZar3o/eFhEdDTYVQfE12BktXuTbLafge6RU8qjJZMvYNbbPyCCEekSVSkpkC3Si3dvh+nL6Yo7v1BwAJEz45DYEzlpm07Nb87IONNHCOgm6BO3AevE8WdmExuP8dq7uZwmIUW38FHwBIcZeDWpMYhIBRF/CqkgHjbd/ZZwDyvmsVynbjJAV+iZcJlfNLuLNBK/yxBrRV1LDS5aPs706LJFcUxwvnHoOdMi/Qyd4eoQJDvQSHEejktu8z7BwdKP1PevmrPZN7nA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Mm5t9wd6Q4AXf+Rr1d85/7NCmxjC6c/bdnbGO4RKlMA=;
 b=Tqkw8OExOV7O4F8kTav+NCzterd84lgaJCBuA+Wz5TEdk81kSRS+qugu6Bo6TKZewZZBsbH0FQRADX9ebwAwFxkltyT3mCyW5Xro6HlEMRuXGwQN8Y+2Kz3c9GDaUcaZMjbCdktVHgProwy0puEJqYSzZ8KHJ23Gm/TrFdZCyqg9kZnWrkab/izgejxmzdy/NQb3GvTdgUhN13tYVRGLk9UZB2LI1+Fa1BlYYYLMOMEHKB2REQKA24vPgcwpuh7HzuBnYpMWxThUR7E/03hQ9JTLAA/7lotdF6u4KJUdMpWK0k//SE3z9AUGZyYH3mExSc9R+jKf4F7KLXOskkAjCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Mm5t9wd6Q4AXf+Rr1d85/7NCmxjC6c/bdnbGO4RKlMA=;
 b=oGJX2zHS9budCqxy/eo/uGi6nq8eUUcUEELSBD8cC1BRm+tLWi5sPprlCN+a0lEoCywb0dgx8+az5nXZTHGH2DMmw8JAyEej4t5Fu4Dwj5bUQeNM7FVFI8Dy3NGCF4ctHYZ5mX73+LliRgONcAn6Vq2YSAStYDYNcdc8Uzifqaw=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <d85a5602-9e97-d7d2-5214-0b019b8a707b@citrix.com>
Date: Thu, 30 Mar 2023 12:19:49 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 5/9] x86: Merge the system {cpuid,msr} policy objects
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-6-andrew.cooper3@citrix.com>
 <4051f9f4-2306-204a-1ea7-5cadb6eaa175@suse.com>
In-Reply-To: <4051f9f4-2306-204a-1ea7-5cadb6eaa175@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0645.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:296::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CO3PR03MB6792:EE_
X-MS-Office365-Filtering-Correlation-Id: 01547176-708b-4713-da65-08db3110b030
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XAsVRdXTtxIO+eqVWM8nNFJdaqNCUvCLkbcJ3SsjTD8iSwRKtH1ZnmxzOa6Fdgs3onXyAI3Nh1MpXQinhQSRXKIjeJ7Arok1V6UUBUQdl0vzQdHAFrT92cXnCOJr5d5ZX+402sX0KOVtaSU+OWuGH6VB6ORGFWDL6o5jE2Jra/zoYvIR+j3kmmc0hzna5ImCKSkyH7gc3ZtMizJsIRh02m/4WfIdeld2cjNsxy1S/OLJplar9k1d9qZUxo8tlIQx+nzOLqWsm8qmwDqiau9+tZpcsopEzpb6HaNtt6bhZsGmzna1vzahWGcpERacgWCWBpFGDtQQWdeXzT2KqX0Qw+XEHms3Cpp/wxcPGX/LDHwmdbpW3uqBsX0u8oHLuDmYBGkjwGtwHUmEYra9cJ9s2bqRvzXd0WZoymhWXs81rZfrpjfRLycGmc0a3tw1sM0K/DlWNKepnFdts3Qk+g3Lh77/dORGJf2QZTL3vJl+c1V27QFsuiAveXgoWFHh6lOjBFvqrl6WuWSCspwe4gIfhdmg+11Ao/5sEvOORF5skaEf7fU1T+fe1QpWtzgl/5aW9pParjbkcqPhHY/HmvQvNxJgRfxaXB5EozkmHGzu5RVJ0v3xR0Vav4vUFPX3K99j1Qu3pPHa31I2et0YMdS7eA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(376002)(136003)(396003)(366004)(451199021)(186003)(478600001)(86362001)(316002)(2616005)(54906003)(2906002)(31696002)(26005)(5660300002)(53546011)(6506007)(6512007)(8936002)(8676002)(83380400001)(6666004)(41300700001)(38100700002)(31686004)(82960400001)(66476007)(66946007)(66556008)(36756003)(6486002)(4326008)(6916009)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cXJtT0JsWTAwN29KNFNmajI0RUZYcDhacm85ckVBaVFpeDJEZi9pSzMyRjk1?=
 =?utf-8?B?M0ZrVWM0aXMvczlPZFNtWllFbThlKy9KdU01S1l5U2Exemg0d2JCS3c1WEUy?=
 =?utf-8?B?NjRSYTlyTytVNlMxR2R6TWJtdUM2eTM4TURTUG1sN0F5MFptTXZxRmhYcjJF?=
 =?utf-8?B?L2NBYmVhTm95Q3BhOGhjRzFYL21OYWpRN3RZVFJYN3pRYXVKYkR3Y3ZuY1ND?=
 =?utf-8?B?ZjVnL0lQbVh6VndSc1lQbThrQVQ4VXpselJxMVZyOVk2MWRQQW1HYmpoNkRn?=
 =?utf-8?B?dXpRdXhiU0UzWDBKL3Y3Ui9SSGc0YllsNk5UaEpJOUFCbDFtNnNjSWhDd0hj?=
 =?utf-8?B?UU1wVnhtY3kyTzMzWmk3UTQxaFZ0emhhS3NUTHBpUUhvR2hmZFZWK0xSMTdT?=
 =?utf-8?B?Wks2aWRTYXV6QzRPZmVwWk5YSktEV3pkSDlPS3NJcG42eFRCWEhFNzNjQXB6?=
 =?utf-8?B?N0lFcjZhZ0xXcGpCdlltYnZEZ1VnanZQUFVqTFpIZFUxTVZKOWNjWjBSN0tQ?=
 =?utf-8?B?VUlqaHloNGdsaFdPdUFXY0libkZVZkhpRkNPL0V2VTJ6cEZ4dGY1bk42YnB3?=
 =?utf-8?B?cmpYVDFPTnY5ZFUxWldaWFN4dmVJTDdWaGJ4QkJGamxZRTJoRERWK0JWcDdN?=
 =?utf-8?B?VXd5WFJNL1Q1QXlRREhVRWp5YUEzc21CajlIOFZ2YWNHaW1VMnNENDdLdHk2?=
 =?utf-8?B?Y0J4WHhsenpYcE9mZHlINC9aWVluaTdBcEVjRUZkN3pLQXhJOEZ2TGo5b3E4?=
 =?utf-8?B?RnQ1dFZYRUkyRG5EUE01YW1mcjZmOE12L2wxSTVTTjBtejUvSmpHSFgzY3A4?=
 =?utf-8?B?enVsUGE1ekRTRERzSEJyYU00WVRtZXJlWllSSzBWUXZCQzM2Rm43ZEN4Mzg3?=
 =?utf-8?B?dUIyUEdhQnhHQjJ1N1haNzdzcHRXblZRcWp4Sk5CcFFPMWdmMUlQRjdvRk56?=
 =?utf-8?B?ZDViUDNLUkc0bWJEVU1idlN3c3BBRWRRakFnLzBFWmlmOWJBM0E0RzhuczI1?=
 =?utf-8?B?cmVSM083QUNVQXVpak4xSW1MVHJ3RmNMaHVCWFhraUYzZEt6VkNhRmtUL1Bl?=
 =?utf-8?B?c21DNmpsMG5PVVlGSi9EM01DMXA1bllZdXJtWlM1U1VwMEVWNFV3ME05UzBa?=
 =?utf-8?B?K3ZhSkdxLzNxWnJlaS9BNWJ2RmUvNVBCOVBFMTBIaG5mTjlJdkpvOGxqa3Z3?=
 =?utf-8?B?SXBVUVEvV0xkV0QreDJqbjlhTHNSamVMbFg1T0p6REhYdEpNUmNTODhzbkpZ?=
 =?utf-8?B?UXUvR2JnMWNIc3k2c1VRdmZGOXY3M29VRGRZdVA2Mkl0M0tWMWpRWVVyTFh1?=
 =?utf-8?B?d0U0WGIzaDhoT2lWSlZoRm4vRndCTDJwS3NlK0t1cUFtNkRvL1NHaGduMHUr?=
 =?utf-8?B?cTM3VGRwOFlVenpKTi9tRTRPNFJmVDg0dndNcHI3NzNvZDBCNlhHQ2oySTMx?=
 =?utf-8?B?UE9GN0ZXL1dFYzRJRWZTWnJkaHFUWVQ4blh0K0JRd1hXK1BLL1NxR0pNWWNt?=
 =?utf-8?B?MEl2T255OXJkYXR5anhtelM0UkJHekVmNFQxL3htSGYxRTI4d3RVMzQ1T0E0?=
 =?utf-8?B?MEVZMzJBdDF2dWtLbFlMNFlNZXJsU2MzMHdCcU9pZVVBVnBRQzNkcXhjS1FB?=
 =?utf-8?B?cXBsSWZLOHA0RWFlK2MyNE1qcDV2UGZGMThPSjdZenMyakEwbi9TM25vRHZP?=
 =?utf-8?B?cFluemZIelRpdmZvV0xQK3oyam1IdUd1bXptNXMvTVUzOEN4TGE5dG5sUXFm?=
 =?utf-8?B?REw4ZUJWVTZpeVJjaVE4ZFJjL0RkRW1lNkljdlJKNkcwSUlyb29XYjVRK2k3?=
 =?utf-8?B?OTJYa0ZmTGhxZlFMODIxN2tmY24xQnFtQVRyc1ZEYjFqNUJNdXlSQXJvdHRP?=
 =?utf-8?B?TlppOC84aVVYcW1VVkxFOC9yaGpjSzR0bUFyYS9ic2V3SFN6aVhFcGppWjRt?=
 =?utf-8?B?dGVtajVVcFdBRXZvb2NPZTBoZzdnZktSSkgxOVZ0eW9UZGx5eVRlNFM0MGp0?=
 =?utf-8?B?VlNHSmk4WElSOWZXcFp5M29HL29iRWdUSFB6K2FaRVNjYWlBVmFFbnV4MkZm?=
 =?utf-8?B?UWFBK3FxTlJ5cHlYeDVhM09EWXp2OGo3Zm9wcXBTZzQ5dWJnalZ0bmkwcEVp?=
 =?utf-8?B?eXZtWUszWWRvWDA2Ry9aV3E5QnZ4NU1vMGlvbFc0ekU0R3VVeUhqZkpheUE3?=
 =?utf-8?B?RUE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	PsnmSFWx0hRe/nhUuJsVXbWEx5CZgrSrSXW5XdWphe6RuVKhENvRBZaP8ScJyN4U+GjAsxcodnkRb379kgI2/De0EWqPgsw9XPjRizixTwTM3GO2aNDDNqHvrDUSQdAB4bCDXnG7Q5Y8appkA8mhD17hizbqQQmbpRjZPLGwIdhEHMxtIRfBobiGEaOx9NMq1qZUEewXTZHw4HqgRkSezk/bbErHqeW361xKCAHAvAnV6MI7QcOrS7+Tfbtcbdy8jZa7+vLfK7A41FfDT658pajl2ZrB3hzleu9Aa3+LdMx4ZEDjCf8CM6GHh5n5AnZk/ShF6TvXlQqM3W/8hCIIGqTE62HyATzL8JDb/GwjICKn9hw06NRhGTHImZYpqUNh0siReVxdindVdIeVr6Yk6VqYvMoXu84LfruFWNtHkM1NZrdLQW4YYdARI+3oO35kI5/z+fPalLzRHrKH4WZ4DfPhlQlaHIudRCBl2bdDgqh/hLExCWh7Aah6hdR0Vk1nxuUeW7iphoFv+pxGd9zEY6JvXmTdOpvPSLKsPzHLldWtUg2JmU2gEFeN52xIapWTBifEjDaQof98zHimhgceYqR8DyyOJvVwrAJusAImFICbULN1C1Fj6uBrtk6d9e8KVFqgJ44g7XknJci9adxWJFKJH/R9/5jOyuB6OEo7OZ7c8N+AazVOzbjeqef+zy4Q6CTXAOXrjuDnhsJkC/nyJzAlBs7txoGA3vH8vDQRiazJOIM/hBwhERpXGWZNGUAxjlUzSC01m6mX7eSwUj0vFHsxN/EZNnkkE9EEEdGFIfRk2haVkDMUXQW65iEkFnX5jMTt8Pa2JLqLmfTEcG5oAg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 01547176-708b-4713-da65-08db3110b030
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:19:55.0902
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: u6bevNdh5UCvFsHnuVYYw1hj2cNLe8EsZy/b2WelwSY7KPscc/3nGgmaiykEiFoMPxGkhYeRo8UmBMcHjpobOpsxfTJkqFw1sEkYx3WHYTA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO3PR03MB6792

On 30/03/2023 10:40 am, Jan Beulich wrote:
> On 29.03.2023 22:51, Andrew Cooper wrote:
>> Right now, they're the same underlying type, containing disjoint information.
>>
>> Introduce a new cpu-policy.{h,c} to be the new location for all policy
>> handling logic.  Place the combined objects in __ro_after_init, which has
>> appeared since the original logic was written.
>>
>> As we're trying to phase out the use of struct old_cpu_policy entirely, rework
>> update_domain_cpu_policy() to not pointer-chase through system_policies[].
>>
>> This in turn allows system_policies[] in sysctl.c to become static and reduced
>> in scope to XEN_SYSCTL_get_cpu_policy.
>>
>> No practical change, but we do half the amount of compile time space required
>> for the system policies, which saves 6x almost-2k at the moment.
> But what you save here is only what was introduced earlier in the series,
> if I'm not mistaken (just like the "containing disjoint" further up)?

Hmm yeah - I should reword to make it clearer that this is returning to
how it was before the series.

> Also do you mean "halve" in place of "half"?

Yes.

>
>> @@ -391,7 +360,19 @@ long arch_do_sysctl(
>>  
>>      case XEN_SYSCTL_get_cpu_policy:
>>      {
>> -        const struct old_cpu_policy *policy;
>> +        static const struct cpu_policy *system_policies[6] = {
> Another const wanted here after *?

Will do.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:23:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:23:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516617.801023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqMt-0005U0-S9; Thu, 30 Mar 2023 11:22:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516617.801023; Thu, 30 Mar 2023 11:22: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 1phqMt-0005Tt-Nu; Thu, 30 Mar 2023 11:22:59 +0000
Received: by outflank-mailman (input) for mailman id 516617;
 Thu, 30 Mar 2023 11:22:58 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqMs-0005Tl-3z
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:22:58 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe0d::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 37f22ab6-ceed-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 13:22:56 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8214.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 11:22:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11:22:54 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37f22ab6-ceed-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aeSasK5IUGjXX2NhcIpNgUzAFWPfvHxrysBwySy8AIBdci+TQkCjm+/Y2Wmy3EgTB1C7RWG/+cfz0k7GJsz/eRf+0ElLyrl5mO4uOeKrUOId6g1U7QAwov+EaAXZpsaMIoaY0sRerfee2im9R8r0kvUyvYvgl/RHPgWcFXH5OYllJUmwqJfZU+Icbt/5AqxClKXwpouxC7oIGldrEmUgtHwSuJwhykrNP+433eluVh1NTYE+jbDMsqqWL45Y+9ZD9OGz68klsQOoZBLTNM6QAWmBgQei3LPJeVwhxx7BtVHSyC7A0JtyyPbI2nl+HxAO308UtC9a4TeFjSRBaOqcXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ryMbBfLypQwN7ZN7lZhfYDuGe0FsQQsKOA5UEThb2/I=;
 b=DIxnDOpKa+xjXOdPmFyo1/NEhLNsqPzZxueOq4PvoykquAuflaUnHquIZYYh1grLiEoVTJOBRXwNZZXckTEAAGqugOtvg6AyNWTFgYzWOuj/iZv7MCtYfoyn1oaRuSfoLAv2FKii/QTHGH1IXmG31ffZdtfaLV9JGEp3PSQwFO9Bou5ArkL3k+3VOVSMls5qG3Onr8XrgUc8quPvel/nvLt22/GyunZNBMK7pg1H9AO2TrS8XCXOjLmS++DvqN0aHKn5HYd1zexSySyIZrGuey5T0ICAfKmBi5amMg031gbBr8SiU46AczJoWZRmrtFx5qkf2KXoWTuBOUtLI6y2Wg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ryMbBfLypQwN7ZN7lZhfYDuGe0FsQQsKOA5UEThb2/I=;
 b=5flajeqzCxJfClevyDmG5dahWM6ivddNaJOjU3VXXtIl9N32wofugbrqzVCF03eMQa1dAf7w03zVkWHMdbkxCKZ27sVZW6k4a90kUejBusL1gu4CaqiS9bb7HIAegiRS2q5LUYtaIjAKX8ziYn0bUffk+TeQumSO+2gzdQbstWwPeOpKvRk+VHdZq2sEHUFNxxYF2LWvP8Wy0ukdn9MGgFojjbLeZa5ZZhHlzgX1OX5samlzSzNlZjOQlkw28tpBr5c6VjIZSAB+07rVr9ZSHT0ACRF2jG0Ib74rhSyq4NMWTKkH78xdHuZ8d/0ha91wACVUhk3+DLA4lQYVfVBbvw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
Date: Thu, 30 Mar 2023 13:22:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 00/13] x86: assorted shadow mode adjustments
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0107.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::10) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8214:EE_
X-MS-Office365-Filtering-Correlation-Id: 9fbf8401-172f-451f-6ebe-08db31111adb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NfMv4H9fET3LEElcgYIziMcPdBBGVL/4nNy1Zu7PONA8e+Juoi7KI1PzFIRZDgOX81Ih70z2vMH4yl8XeQxJdF2S1x0lMpTMuAak5fIEcul60CpWiV4Ir3ka5OhBZUmSSlwLc4A+7sOZy4tUaeTwIghTE5/N4b6EhVsnpAaxxU5JEdlHXtesGvkxYCAPY6ym+3UyDhynHeQaib9K+8s4ESyJE4sPn06879+mQbnnVXBl5PQ5D7FYpug91cG7cJeHQ1/NtJzIMufMLsS+NUqEc0u3eFrvQYC1Zr7ANSXfkGBRHFpo5+0PREstCWmDsHtnkkkKvsR0xp1LU//cxwRkN0qisC3N5jvUgE5GSgVaMHiwOsWTMxLxnfasgapS+eZaQ1lWoWr3x9WtsZo6RQfWW0Pp8/tSZRR0SgCE/VbA5rpCuHqf7OaebKdY5+1guQQvQRuDU+Mrb6CSrBjY16JmxJgUJ1UYZFoGVijBg5HWxrFd50HaN+LHZS9pONHIlmT2bGxGV6BqViL1WwBifO16JiBg6CePyS9JvrQCCXQKL2aGItg96Kr18n0zYzKZ0A3yf/sX6PRw2ATLojMXqpXC15hGdAY3CG0a/5w0sExb98M0T7UsY6j9udbmbJW+FYZKdOKhbPIf1+0KOLoLufa8qA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(346002)(39860400002)(366004)(136003)(376002)(451199021)(2616005)(186003)(83380400001)(6486002)(478600001)(26005)(316002)(6512007)(54906003)(2906002)(6506007)(36756003)(5660300002)(6916009)(38100700002)(8936002)(66476007)(66946007)(66556008)(41300700001)(31696002)(8676002)(86362001)(4326008)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZHYvUTd5eUsyU0tZb0RpRlVzR0cwTE9URXRVMlEzc1BxbjZiN2huUDZNVmtw?=
 =?utf-8?B?SFRXQ0F2WE1ZNTRnUHEwL3JYSVo5TU5BUTFOYWJlY3RsTWZQRHF3eTdpVThz?=
 =?utf-8?B?akVyWUVJaXlIcnc2OEF1M0xBK0l5OXVhL0YvcFJtV2ZvNXA5eGpKTWFOUFcy?=
 =?utf-8?B?YnRMbHNLTzFHb2NsejVIc0lPNVdhRW51V1hiVW9RL0c5VGUwZGdSc0pESWs3?=
 =?utf-8?B?MUZpYk00RlhMaEdNSGsyMWVaZlJNRXRDenRaRWR3cnk1dXNUb1l5ZEI0aGNl?=
 =?utf-8?B?aUdkTDIvWml0NUNhdmViaG1iSXNoUmk3VFBqZnBoSnQvU2xaTUxGeHAzSkVp?=
 =?utf-8?B?dUxrODhMYkdIRGRpMXJTekZtWnNJRWkvb3pRYzBlUENCUlFuSUJnR01qY3hF?=
 =?utf-8?B?bXV5VHBlQ28zUFRuNU5ubkk5V1NoUm9YZ1BDOGRnOEZrM1V0WFpiUC9OYnJy?=
 =?utf-8?B?SURIdkROSWpKRlJRSVJNS3RNcGIwSjNwL3dCVUdiakN0dDZhUTdsNzF0NUdO?=
 =?utf-8?B?L2VnMU5xZE9MeUdFUWtGbEo1bk1tb25vaDJpQStDbm11UDRoYmJzSXdQV000?=
 =?utf-8?B?YkZkN0Uxb0MyOEljZkRHQklBTWhUZ3BLakJaL1prckFBckpUSHVXVEVHUnJU?=
 =?utf-8?B?RkRGN2liV2tycVVwT3JQR3lLN1ptM3dBSm1heStCbDBNNjlNRzhqVlczN3dv?=
 =?utf-8?B?VHlpRkt3djVXRVAyVG5ZcklBQlYza0t1MWpMYkpSc0ZTbExFRkhCQmpqK0lx?=
 =?utf-8?B?UXdCa1hZOUJ6clhUY1lsbzgzUlN1RXZXZlM3OEFwUWF0TzF6dGJ0Nm1MbldM?=
 =?utf-8?B?VHZ6YlI4cUNsT3hKYXd6YUlYWGJ5ZVhsNHFMU0I5NXdhMCtnVFVXZ0Z5QldR?=
 =?utf-8?B?TmNLdlVFK213RnFmTDMyc1lCeUVMRGRxYzFuZDhpVFludjhmaVhDNm1WVWc2?=
 =?utf-8?B?Mm1BeHVNb2gvMU5pVmg0WUN5RWN2OTZrVVplYXByd3lVRU1vaTNuanVkWlJM?=
 =?utf-8?B?cFdOUjRSeENJallGSXJvTHJjK0sxNnVLZCtaZFVTbWVVNGJBVnNGKzd0SlBj?=
 =?utf-8?B?ZjIrSUhlUGpvcXJTZmYyc3RnRzlmQ2s2eXZPb1pPMHE5Mmo3ckRTMUJLOXNM?=
 =?utf-8?B?YzNYd1JaMCtLWmQrZ0JxelZ0SzEyQ0hWWVR3TG9iOWdIZzZuNEpBbUZKUzZH?=
 =?utf-8?B?VjNzZU0wY2RHa0pYUGZDZnl6eG9Ick94WE10bHZiNDEySVVONGkvUVNtTHpo?=
 =?utf-8?B?SHdMTVc2RldHWGdhaW9CdGNmRmUrUHNwd2xkcjExWmVEek5wd3hSSXFPbmQy?=
 =?utf-8?B?aGYvcW04WUN2UTdpejJ4dHB6R3g3YjlBVFdVS253QnF2K2dGbWxJRDNtYTd6?=
 =?utf-8?B?a29YUFBUZWgwb0lSeS9tNkRvNXF1cWNBQ2dxRW0ydlZmS3pucGUxTXkxNDJ1?=
 =?utf-8?B?clErZjluQm4xdHR4UkJLUGlEZ1VjSkJ0djlyY01TcUNtaFhXRzNYWEkyVUYz?=
 =?utf-8?B?b1JXazZDcTk4T0FkaTRySDJQT3ZCUGFlUzdxQUg4OTBEZ1dUUW5UUFFCSVMw?=
 =?utf-8?B?am0xdFZkVnVaaEJ0WXIzQWdVNWloL0F1YmRJcjFuT0l4WUV2SENpVWlwTit6?=
 =?utf-8?B?RG5EWWVUaEJBS3JPT0w3bTdGQnRjUWRERlk2M3hFeDJwbG9pRXZFWkZkQXc4?=
 =?utf-8?B?MUcrblQwYmIwUGJSbS9JMUh4NDhsSGxkU1NEeEc5MzFMcnJmOW5FeEpKdVNC?=
 =?utf-8?B?V1dZRDF0S2tkemZDbXhtb2w4MEVRQzJ5enZNZzMxUElZMjd6c3VvREwwU0Iy?=
 =?utf-8?B?d21adjJxTVlTL0YxK0YwaGhUd04vTkJQeFFxT0NQd0l5RmhJZzRCWlB2VXBx?=
 =?utf-8?B?Y2YyTTNmSCtMZlozaCtRTCtUbjdYTWcvV2hHaC90QXNFSVZZWUlzU2hwZnBt?=
 =?utf-8?B?bWhRVTlJZjk1ZENRNysyYXFMT0JlNGhxZEw2Mnk2RFJjbHZhWW9iUU01Y0RK?=
 =?utf-8?B?NXlKVzhXdjN2d2FoUDBKSTdNcy9qTnhaczBHdXQ3MTBoQ3JFQmFpUnc3dmFj?=
 =?utf-8?B?eFhCNG5mQUJsaWlFNFRtT3l4KyttOFVpUVBTTkJCOUR1V3k4bWRvazVwbWZU?=
 =?utf-8?Q?5SaZmvZAW/59tzHNKM2rB6dlZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9fbf8401-172f-451f-6ebe-08db31111adb
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:22:53.8974
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pFW+Ya/zSYRtEx9PWLBCudfHNp40rmywpaxnIgdqDYJteVdPooCC4vfXldEZJRJRfqCOq71Fm92PEWnSXLMmYA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8214

This is kind of fallout from XSA-427 investigations, partly related to
there having been a more intrusive first approach.

Most patches aren't really dependent upon one another, so can probably
go in independently (as they get acked).

A few patches from v1 went in, but there are also three new patches in
v2. See individual patches for what has changed (in response to review
comments).

01: rename SHADOW_FOREACH_L<N>E() to FOREACH_PRESENT_L<N>E()
02: drop redundant present bit checks from SHADOW_FOREACH_L<N>E() "bodies"
03: reduce explicit log-dirty recording for HVM
04: call sh_update_cr3() directly from sh_page_fault()
05: don't generate bogus "domain dying" trace entry from sh_page_fault()
06: use lighter weight mode checks
07: move OOS functions to their own file
08: sh_rm_write_access_from_sl1p() is HVM-only
09: drop is_hvm_...() where easily possible
10: make monitor table create/destroy more consistent
11: vCPU-s never have "no mode"
12: "monitor table" is a HVM-only concept
13: adjust monitor table prealloc amount

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:25:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:25:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516622.801033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqOk-00067K-AZ; Thu, 30 Mar 2023 11:24:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516622.801033; Thu, 30 Mar 2023 11: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 1phqOk-00067D-6u; Thu, 30 Mar 2023 11:24:54 +0000
Received: by outflank-mailman (input) for mailman id 516622;
 Thu, 30 Mar 2023 11:24: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqOi-000675-7f
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:24:52 +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 7c5f2507-ceed-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:24:51 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8214.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 11:24:49 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11:24:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c5f2507-ceed-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ed5Yb64HBDEojDTjedNMJvcrMEl1ZGkCW/6Uow5ImvTX61u8o5rxNDFZCeI0a2onvnOxBcpLzbgOxVeJL/sLadCfz8TUDOF32EP8ZohsNmCvuj0cXyU2Tgo+Eg3NzDD4y6u6bjk7TGIvj8LOismoCWHW0DJRnBXHAyCB1VlQRaOdEQIiys1PkU5JFDzvbHRcW7j/QqK5sU7J3mke0KD1ngVFiBrbVqdilmp3PGv5L0yw0kcgrm1QkLvLQVOFJuyPBb0Z14zxlFYZo4qSHRjPTmn60Nb1ATBxGMU+fXbb9Xsgb54Qd167SjvQ0FtfHcGaX/yXGwp2cm/cUq8480Xqwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IXU8ERDT0GGzzL6ivSLQ/bjRaCzv5zsN1CtsZo5Kh5Y=;
 b=bq9zzMcmjNHaQTaJKzNvCF8ksQZQdjVV6PZSae6/eRQRGw9676U/V4dkFvyn5Lm7zPCI4kP7F03AyA4xiSyG1RlbpbmztOsVOs+tCu1llvRJ8Wdzt1xuAOlbxf7J7hKKZMXOzhqf2ath1WopiatS6bneapzIOK33JrPS1DWsx8uciPYY7IVOXihkFmDUi/sTvHKeqYwG+XxmiR2/DcQquJyTLRIIcI2UGfrxlUgOkUubU+6ofE1FXu3NMgtqJbwfVdSmZhPkOhBqQNQ+YBPbbPuu4LAdeC1RcFyOIvZF3J7Fju9T5BI33pFckw/cuzaAIB4roqJHFzuBP857fuP+Ng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IXU8ERDT0GGzzL6ivSLQ/bjRaCzv5zsN1CtsZo5Kh5Y=;
 b=1jjis2BQLYgqLLnolxKuGOBtt+jbERMlKBjhSw1VZMcyRoYGNv22x6FA8ZpWWC/qeZdgDu3M3D77XgEl378MaVgRSO69571EXpY0RehC/GSPC999VIuC2ONjz1FYDfofoV+eaYVN/j06Sqs9KM+ZaVkfC/qY4pCTMKLS/QKRdFRAa8dAue5jypfsIDtC33vPTJa7YXvFZ9SNgT/DJP/48XyXkdESAiCIbc9WmUHKEzwXDJK7y5UM9HLSAJprvs5qsoPl7Zvkx/Rr9toAjGkC7oXLhpI+m8PClB0Sqx+NMLLbYIq/PRYlWxwU1fe0sjFQmbsN4rQaCQp8TDVFvkPYUg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b0b576db-08c3-3e2a-e3fe-7a64db871ae8@suse.com>
Date: Thu, 30 Mar 2023 13:24:48 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 01/13] x86/shadow: rename SHADOW_FOREACH_L<N>E() to
 FOREACH_PRESENT_L<N>E()
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
In-Reply-To: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0218.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::14) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8214:EE_
X-MS-Office365-Filtering-Correlation-Id: 13a6fa75-b8ba-43bd-ac0a-08db31115fc7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2twCQSf5zbI+6lLJnnyt3wyYFXaGsXSLlpmrY/2PAVL78yzz+XPGIbjIvdZkLxleZmZI/iRASxqZyCuAj+ZB+mA/1u0mttCRh26XtkDWOFkhZcYSj9D0gfGAdRD+1kFXASmmTjQYQxKZjoNWzdd8ywKvxtsfnzWMQUsfiv67SMsGYV/f+QN6WkdkI2oAkvRrGq4aWt6iijG4DgZZipOSbkJeCurOjg0onPnIwmW+JE/YKN8l4kN7zv+ZDsVBolBvHBgMFIdCc9xSjUgjSnJT2NyznnK3BNkRtiWJXa2u+VFwlUct1U6jYqOiOZFUI7kzXvFeX4MWz6zaI0TPY4Yqa68kHyZBsGmrB7LtK7ryfREcGApUPzjJVjLfSqcmPmpsFBWCAWKu9vVNi51cpK1Jfg4WDKBO2lSP8zWUEbHEw11eOhJxxVAR2efTUMHLQXek2SPRjum6y0FheDUeSpiD/djV4eAQ1TaGMvkhuMBDcRil3yUkflR58e/Uc5ehOHQ7pl4/B1QxE6v742IEGIr0ts8P1+3RWOwqWqcEf5AnYJEi3S8kJkpiEv8nQC7jBOOJldavLnhkBYywlwu0TvTW79S/0k72MGxpJh1dgYZrr0hx1Mx6SpikSp2Uh9LUpV4l/wmpY5jd1kW1/E0mudb1RSKogzXLB752DDU/NP9eDS8z7TvQ4oQ56hJwlPfQm94SEw1Uqq+3vCYcqKd+hD8GkwQkSeTKmge4dxGFasa6cGs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(346002)(39860400002)(366004)(136003)(376002)(451199021)(2616005)(186003)(83380400001)(6486002)(478600001)(26005)(316002)(6512007)(54906003)(2906002)(6506007)(36756003)(5660300002)(6916009)(38100700002)(8936002)(66476007)(66946007)(66556008)(41300700001)(31696002)(8676002)(86362001)(4326008)(31686004)(43740500002)(45980500001)(414714003)(473944003)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dnFWRkJKSTFubklFeExPdHg3SEFnVjYwcTJkY2NqSEUvR2wyR05BZms1WlNS?=
 =?utf-8?B?QmJnS0xPQmtNMm1tajA4SE0rSVQ5VUprVUZyS3JabmxlakJKb09Xbjh3dmpz?=
 =?utf-8?B?TU5hK2xuTlRRUU4vR0FLQTRycCtHYm5vRXZ1bFBUY2FZakJaUnYydGRqOWd4?=
 =?utf-8?B?ZWpPbzVwMW1vODdNeU1Oak90bnZMV3pOZHFLMGZjZEtxb0U1UHlCK3I2K1NM?=
 =?utf-8?B?SHRQVnhZM2kyQmxqUWFwaHZtd3BpQ05aNkF6dnliK0Vra3NLMFFYM3VCTVhX?=
 =?utf-8?B?bEh1bHREMWJpdHY1WWt3cDYyRkJzOWR1N0h3NElReWpBWW1TamU3RS9YU055?=
 =?utf-8?B?aVlmTmlnZVhsL1JvVDFyY3RKOEgxWWlPSnFEZlhVakw2L08xWFFEbVNJSHJV?=
 =?utf-8?B?Q2ZDMlVYU2xEZ3Znbnc5cW9hNURzalJadVJxaUhpY0FDbmY5MCtPNWt5ZDBD?=
 =?utf-8?B?b0xBVytZSmZUYm1QRUEvZHlPeGd2ZTZTbSthTkY4NXcyNHZmVW1FQ2h4dWIx?=
 =?utf-8?B?YXFtNzdxejQ4Sk52Ujg0MUMyaHRRRDIyY0ExUk5vNTdDZ3ZFeXk1ZExXMUlM?=
 =?utf-8?B?b3IwQ0NFZUQzdS9ubERPQWZOTmZOZTQyVk1HdUJ6Q25LZTA0akhwa3BBaG9a?=
 =?utf-8?B?N3ovYzVPbVVwVjBLTlNwcFV3ZHdnQnlXOWdRVXJCRFY5SCtTbnR3SnhKRmVY?=
 =?utf-8?B?dWhsM2k2OFZlM2hnMWZhK1JoR1JDaDQ3U3M5WE92MU1NRkJvUHFUcHkzNXN1?=
 =?utf-8?B?TnBVdDg4OTZHMG1ia05pekc4MG9aeFpOeDB4M2hEOTY0NnZWdXkxWUpzOWRI?=
 =?utf-8?B?OGdITkllRXgzNS96L0JmSWdUU2Z3dU1TYlNOV09Fa01LSG9kcitBcStGOXhM?=
 =?utf-8?B?OFpCNUc2MWNTTDQxOFU0VmRhZGkyWHZYV0FZTDhQdHNVMkVHU2taRTNFUWZt?=
 =?utf-8?B?NWFSNS92MU91ZUhzMDNFYzgwL3pLcFF1UXFPM0FFZ1ZYVmMycmpmM3owdzZa?=
 =?utf-8?B?UUFZNXZ5ZG56YzVzK3RHZExtajJVWVVURDFTbERVUGpLUDk3MFhlUG5ZcU1p?=
 =?utf-8?B?dGVWVXNuNFZKbVZVZWIzL1RXMFJKVXpHWEtQQmNwNmtQNElGSEVwOXA2cFBY?=
 =?utf-8?B?YmorSGlrS2ExbXFOVlZ0amU2YVVtem5pbDFmd3Z1b1l5Q3pvZ3Z3Y280czR5?=
 =?utf-8?B?SkI0UnRDWEF0NHczNXBpeTM1aHdLenY2RU9ab0xaZmFWdEY5bkxvNkJuRHZM?=
 =?utf-8?B?Rk9TZDI3SWhSMXJCNjIySmdEb2V5c1RBUUlWUnlGRjQ3R1dTMFdmcHI4TkNL?=
 =?utf-8?B?UU4xNmlSQ1JJdHBUNE5UelJEZTNXZWN1NFNFMEQvRUJkaG9mdHFTdEpjbUts?=
 =?utf-8?B?U3E4dlhKS0dNZlZBNG44REVVMVZFV2ZSaExYRDBuMmdhSDczVTlUdVhmS2RK?=
 =?utf-8?B?Z1lkTWRYc1YrdlBHWHlLdy92eStSUDVlb3JwNnpNZmY0TUVXRnB4UFFCN3Na?=
 =?utf-8?B?UWZJR2YxZ1ZLWEFScHE2YTB1bTF3dThHbUh2VDEyNUJMNStRWUR6OGdJZi92?=
 =?utf-8?B?Y1JGRVZ3RXNObk1PTGtkUmRxakFKaFdZeXM3eXV4Q2FUeC9sVUExVDJqR1Vl?=
 =?utf-8?B?Q2w2NllkVi9PTHluNjFxWXlQWDdoWGxTQ1l3NjRNNC9oVzBDdWF4RHhMbkRR?=
 =?utf-8?B?bUt5Qjl6ejl0S1dBT3lvVktuOTBpWDVKZytEMkZucHBiZmYvWXdZYklKTHV0?=
 =?utf-8?B?bG1DOHEwcnZVWWxYcjBlbEVWSXcyczRURnl6eVlGZjRQaHY3MFlON3dsMnBZ?=
 =?utf-8?B?REVyd2gvYVlrempmaDdJUVk2Y1FDNFZZdnNIcjM1OTdHYUlJU3RlMzNTck1a?=
 =?utf-8?B?VUJuVGpScDlWVmFpWFB5WEZ4TXRGRUUveXlhTSt6V3FOTW1JYm5ZZTdTL1Bp?=
 =?utf-8?B?UTgxdS9YN1hIMkpVQk9peXp4bHlNemt5TnFtVWYvOVcwRXovQ0xDeWNSYjBs?=
 =?utf-8?B?bzhJTlNvUHQvc2xpaG1RYnJiU2o1bjJYaWtzU1I5WWJvTy9LOHVXWjJPRXJ2?=
 =?utf-8?B?amNJRkZMTlBBYmZuSXdwNzFVVWxPV1duWThPZHJ4aHMyckNLSkJ2cm5scnFs?=
 =?utf-8?Q?qke+bixDk/Q9d5LcGPO1Yl1Ne?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 13a6fa75-b8ba-43bd-ac0a-08db31115fc7
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:24:49.5421
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: jCWgJxjCr/LFGnU4CcNYxCLHeW+RYt1F9H4XWMRgxPmx05qdNdtDmrUdGt8J/rnAPnnhu9AtWAqwqQruwydI6g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8214

These being local macros, the SHADOW prefix doesn't gain us much. What
is more important to be aware of at use sites is that the supplied code
is invoked for present entries only.

While making the adjustment also properly use NULL for the 3rd argument
at respective invocation sites.

Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -777,7 +777,7 @@ static inline void increment_ptr_to_gues
 }
 
 /* All kinds of l1: touch all entries */
-#define _SHADOW_FOREACH_L1E(_sl1mfn, _sl1e, _gl1p, _done, _code)        \
+#define _FOREACH_PRESENT_L1E(_sl1mfn, _sl1e, _gl1p, _done, _code)       \
 do {                                                                    \
     int _i;                                                             \
     shadow_l1e_t *_sp = map_domain_page((_sl1mfn));                     \
@@ -796,25 +796,25 @@ do {
 
 /* 32-bit l1, on PAE or 64-bit shadows: need to walk both pages of shadow */
 #if GUEST_PAGING_LEVELS == 2 && SHADOW_PAGING_LEVELS > 2
-#define SHADOW_FOREACH_L1E(_sl1mfn, _sl1e, _gl1p, _done,  _code)        \
+#define FOREACH_PRESENT_L1E(_sl1mfn, _sl1e, _gl1p, _done,  _code)       \
 do {                                                                    \
     int __done = 0;                                                     \
-    _SHADOW_FOREACH_L1E(_sl1mfn, _sl1e, _gl1p,                          \
+    _FOREACH_PRESENT_L1E(_sl1mfn, _sl1e, _gl1p,                         \
                          ({ (__done = _done); }), _code);               \
     _sl1mfn = sh_next_page(_sl1mfn);                                    \
     if ( !__done )                                                      \
-        _SHADOW_FOREACH_L1E(_sl1mfn, _sl1e, _gl1p, _done, _code);       \
+        _FOREACH_PRESENT_L1E(_sl1mfn, _sl1e, _gl1p, _done, _code);      \
 } while (0)
 #else /* Everything else; l1 shadows are only one page */
-#define SHADOW_FOREACH_L1E(_sl1mfn, _sl1e, _gl1p, _done, _code)         \
-       _SHADOW_FOREACH_L1E(_sl1mfn, _sl1e, _gl1p, _done, _code)
+#define FOREACH_PRESENT_L1E(_sl1mfn, _sl1e, _gl1p, _done, _code)        \
+       _FOREACH_PRESENT_L1E(_sl1mfn, _sl1e, _gl1p, _done, _code)
 #endif
 
 
 #if GUEST_PAGING_LEVELS == 2
 
 /* 32-bit l2 on PAE/64: four pages, touch every second entry */
-#define SHADOW_FOREACH_L2E(_sl2mfn, _sl2e, _gl2p, _done, _dom, _code)     \
+#define FOREACH_PRESENT_L2E(_sl2mfn, _sl2e, _gl2p, _done, _dom, _code)    \
 do {                                                                      \
     int _i, _j;                                                           \
     ASSERT(shadow_mode_external(_dom));                                   \
@@ -839,7 +839,7 @@ do {
 #elif GUEST_PAGING_LEVELS == 3
 
 /* PAE: touch all entries */
-#define SHADOW_FOREACH_L2E(_sl2mfn, _sl2e, _gl2p, _done, _dom, _code)      \
+#define FOREACH_PRESENT_L2E(_sl2mfn, _sl2e, _gl2p, _done, _dom, _code)     \
 do {                                                                       \
     int _i;                                                                \
     shadow_l2e_t *_sp = map_domain_page((_sl2mfn));                        \
@@ -859,7 +859,7 @@ do {
 #else
 
 /* 64-bit l2: touch all entries except for PAE compat guests. */
-#define SHADOW_FOREACH_L2E(_sl2mfn, _sl2e, _gl2p, _done, _dom, _code)       \
+#define FOREACH_PRESENT_L2E(_sl2mfn, _sl2e, _gl2p, _done, _dom, _code)      \
 do {                                                                        \
     unsigned int _i, _end = SHADOW_L2_PAGETABLE_ENTRIES;                    \
     shadow_l2e_t *_sp = map_domain_page((_sl2mfn));                         \
@@ -886,7 +886,7 @@ do {
 #if GUEST_PAGING_LEVELS == 4
 
 /* 64-bit l3: touch all entries */
-#define SHADOW_FOREACH_L3E(_sl3mfn, _sl3e, _gl3p, _done, _code)         \
+#define FOREACH_PRESENT_L3E(_sl3mfn, _sl3e, _gl3p, _done, _code)        \
 do {                                                                    \
     int _i;                                                             \
     shadow_l3e_t *_sp = map_domain_page((_sl3mfn));                     \
@@ -903,7 +903,7 @@ do {
 } while (0)
 
 /* 64-bit l4: avoid Xen mappings */
-#define SHADOW_FOREACH_L4E(_sl4mfn, _sl4e, _gl4p, _done, _dom, _code)   \
+#define FOREACH_PRESENT_L4E(_sl4mfn, _sl4e, _gl4p, _done, _dom, _code)  \
 do {                                                                    \
     shadow_l4e_t *_sp = map_domain_page((_sl4mfn));                     \
     int _xen = !shadow_mode_external(_dom);                             \
@@ -1288,7 +1288,7 @@ void sh_destroy_l4_shadow(struct domain
     shadow_demote(d, gmfn, t);
     /* Decrement refcounts of all the old entries */
     sl4mfn = smfn;
-    SHADOW_FOREACH_L4E(sl4mfn, sl4e, 0, 0, d, {
+    FOREACH_PRESENT_L4E(sl4mfn, sl4e, NULL, 0, d, {
         if ( shadow_l4e_get_flags(*sl4e) & _PAGE_PRESENT )
         {
             sh_put_ref(d, shadow_l4e_get_mfn(*sl4e),
@@ -1319,7 +1319,7 @@ void sh_destroy_l3_shadow(struct domain
 
     /* Decrement refcounts of all the old entries */
     sl3mfn = smfn;
-    SHADOW_FOREACH_L3E(sl3mfn, sl3e, 0, 0, {
+    FOREACH_PRESENT_L3E(sl3mfn, sl3e, NULL, 0, {
         if ( shadow_l3e_get_flags(*sl3e) & _PAGE_PRESENT )
             sh_put_ref(d, shadow_l3e_get_mfn(*sl3e),
                         (((paddr_t)mfn_x(sl3mfn)) << PAGE_SHIFT)
@@ -1351,7 +1351,7 @@ void sh_destroy_l2_shadow(struct domain
 
     /* Decrement refcounts of all the old entries */
     sl2mfn = smfn;
-    SHADOW_FOREACH_L2E(sl2mfn, sl2e, 0, 0, d, {
+    FOREACH_PRESENT_L2E(sl2mfn, sl2e, NULL, 0, d, {
         if ( shadow_l2e_get_flags(*sl2e) & _PAGE_PRESENT )
             sh_put_ref(d, shadow_l2e_get_mfn(*sl2e),
                         (((paddr_t)mfn_x(sl2mfn)) << PAGE_SHIFT)
@@ -1389,7 +1389,7 @@ void sh_destroy_l1_shadow(struct domain
     {
         /* Decrement refcounts of all the old entries */
         mfn_t sl1mfn = smfn;
-        SHADOW_FOREACH_L1E(sl1mfn, sl1e, 0, 0, {
+        FOREACH_PRESENT_L1E(sl1mfn, sl1e, NULL, 0, {
             unsigned int sl1f = shadow_l1e_get_flags(*sl1e);
 
             if ( (sl1f & _PAGE_PRESENT) && !sh_l1e_is_magic(*sl1e) )
@@ -1421,7 +1421,7 @@ void sh_destroy_l1_shadow(struct domain
 void sh_unhook_l2_mappings(struct domain *d, mfn_t sl2mfn, bool user_only)
 {
     shadow_l2e_t *sl2e;
-    SHADOW_FOREACH_L2E(sl2mfn, sl2e, 0, 0, d, {
+    FOREACH_PRESENT_L2E(sl2mfn, sl2e, NULL, 0, d, {
         if ( !user_only || (sl2e->l2 & _PAGE_USER) )
             shadow_set_l2e(d, sl2e, shadow_l2e_empty(), sl2mfn);
     });
@@ -1432,7 +1432,7 @@ void sh_unhook_l2_mappings(struct domain
 void sh_unhook_l4_mappings(struct domain *d, mfn_t sl4mfn, bool user_only)
 {
     shadow_l4e_t *sl4e;
-    SHADOW_FOREACH_L4E(sl4mfn, sl4e, 0, 0, d, {
+    FOREACH_PRESENT_L4E(sl4mfn, sl4e, NULL, 0, d, {
         if ( !user_only || (sl4e->l4 & _PAGE_USER) )
             shadow_set_l4e(d, sl4e, shadow_l4e_empty(), sl4mfn);
     });
@@ -1666,7 +1666,7 @@ void sh_resync_l1(struct vcpu *v, mfn_t
     gp = map_domain_page(gl1mfn);
     gl1p = gp;
 
-   SHADOW_FOREACH_L1E(sl1mfn, sl1p, &gl1p, 0, {
+   FOREACH_PRESENT_L1E(sl1mfn, sl1p, &gl1p, 0, {
         guest_l1e_t gl1e = *gl1p;
 
         if ( snp[guest_index(gl1p)].l1 != gl1e.l1 )
@@ -3564,7 +3564,7 @@ int cf_check sh_rm_write_access_from_l1(
     mfn_t base_sl1mfn = sl1mfn; /* Because sl1mfn changes in the foreach */
 #endif
 
-    SHADOW_FOREACH_L1E(sl1mfn, sl1e, 0, done,
+    FOREACH_PRESENT_L1E(sl1mfn, sl1e, NULL, done,
     {
         flags = shadow_l1e_get_flags(*sl1e);
         if ( (flags & _PAGE_PRESENT)
@@ -3597,7 +3597,7 @@ int cf_check sh_rm_mappings_from_l1(
     int done = 0;
     int flags;
 
-    SHADOW_FOREACH_L1E(sl1mfn, sl1e, 0, done,
+    FOREACH_PRESENT_L1E(sl1mfn, sl1e, NULL, done,
     {
         flags = shadow_l1e_get_flags(*sl1e);
         if ( (flags & _PAGE_PRESENT)
@@ -3648,7 +3648,7 @@ int cf_check sh_remove_l1_shadow(struct
     int done = 0;
     int flags;
 
-    SHADOW_FOREACH_L2E(sl2mfn, sl2e, 0, done, d,
+    FOREACH_PRESENT_L2E(sl2mfn, sl2e, NULL, done, d,
     {
         flags = shadow_l2e_get_flags(*sl2e);
         if ( (flags & _PAGE_PRESENT)
@@ -3671,7 +3671,7 @@ int cf_check sh_remove_l2_shadow(struct
     int done = 0;
     int flags;
 
-    SHADOW_FOREACH_L3E(sl3mfn, sl3e, 0, done,
+    FOREACH_PRESENT_L3E(sl3mfn, sl3e, NULL, done,
     {
         flags = shadow_l3e_get_flags(*sl3e);
         if ( (flags & _PAGE_PRESENT)
@@ -3693,7 +3693,7 @@ int cf_check sh_remove_l3_shadow(struct
     int done = 0;
     int flags;
 
-    SHADOW_FOREACH_L4E(sl4mfn, sl4e, 0, done, d,
+    FOREACH_PRESENT_L4E(sl4mfn, sl4e, NULL, done, d,
     {
         flags = shadow_l4e_get_flags(*sl4e);
         if ( (flags & _PAGE_PRESENT)
@@ -3924,7 +3924,7 @@ int cf_check sh_audit_l1_table(struct do
 #endif
 
     gl1e = gp = map_domain_page(gl1mfn);
-    SHADOW_FOREACH_L1E(sl1mfn, sl1e, &gl1e, done, {
+    FOREACH_PRESENT_L1E(sl1mfn, sl1e, &gl1e, done, {
 
         if ( sh_l1e_is_magic(*sl1e) )
         {
@@ -3978,7 +3978,7 @@ int cf_check sh_audit_fl1_table(struct d
 
     /* fl1 has no useful backpointer: all we can check are flags */
     e = guest_l1e_from_gfn(_gfn(0), 0); gl1e = &e; /* Needed for macro */
-    SHADOW_FOREACH_L1E(sl1mfn, sl1e, 0, done, {
+    FOREACH_PRESENT_L1E(sl1mfn, sl1e, NULL, done, {
         f = shadow_l1e_get_flags(*sl1e);
         f &= ~(_PAGE_AVAIL0|_PAGE_AVAIL1|_PAGE_AVAIL2);
         if ( !(f == 0
@@ -4015,7 +4015,7 @@ int cf_check sh_audit_l2_table(struct do
 #endif
 
     gl2e = gp = map_domain_page(gl2mfn);
-    SHADOW_FOREACH_L2E(sl2mfn, sl2e, &gl2e, done, d, {
+    FOREACH_PRESENT_L2E(sl2mfn, sl2e, &gl2e, done, d, {
 
         s = sh_audit_flags(d, 2, guest_l2e_get_flags(*gl2e),
                            shadow_l2e_get_flags(*sl2e));
@@ -4066,7 +4066,7 @@ int cf_check sh_audit_l3_table(struct do
 #endif
 
     gl3e = gp = map_domain_page(gl3mfn);
-    SHADOW_FOREACH_L3E(sl3mfn, sl3e, &gl3e, done, {
+    FOREACH_PRESENT_L3E(sl3mfn, sl3e, &gl3e, done, {
 
         s = sh_audit_flags(d, 3, guest_l3e_get_flags(*gl3e),
                            shadow_l3e_get_flags(*sl3e));
@@ -4115,7 +4115,7 @@ int cf_check sh_audit_l4_table(struct do
 #endif
 
     gl4e = gp = map_domain_page(gl4mfn);
-    SHADOW_FOREACH_L4E(sl4mfn, sl4e, &gl4e, done, d,
+    FOREACH_PRESENT_L4E(sl4mfn, sl4e, &gl4e, done, d,
     {
         s = sh_audit_flags(d, 4, guest_l4e_get_flags(*gl4e),
                            shadow_l4e_get_flags(*sl4e));



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:26:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:26:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516625.801043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqPw-0006gu-KE; Thu, 30 Mar 2023 11:26:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516625.801043; Thu, 30 Mar 2023 11:26: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 1phqPw-0006gn-HE; Thu, 30 Mar 2023 11:26:08 +0000
Received: by outflank-mailman (input) for mailman id 516625;
 Thu, 30 Mar 2023 11: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqPv-0006gd-8Q
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:26:07 +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 a8e2fd4a-ceed-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:26:05 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8468.eurprd04.prod.outlook.com (2603:10a6:20b:34b::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 11:26:03 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11: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: a8e2fd4a-ceed-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DaJO9OHr6FA//Q9hwgzmYIpkbpmei5cDC09U3SFkty1bDplYEPFxI17Vu3XiRCejhmVnwPsPbwUjvTJ2XX1hNSlPI0o2PJUm6A6fuoGqbhtEStfEAGS/yDoKZ5+JY8r3NPVewjV/IgQW+Z8AfpZGvwNPsxMUUz0Ed3NGnyHVGIRGh1P2Oh4N36I5Py4pQBSVaDO5vvV21LgMxP6V13NiiOWIJ0jCAyKhtzLwbLjkcYG0CRd1y4XUPZ3lFYHBShnL4Nd05Y3axEdtQbfeoJIAeVQUt+V794EMLrayudthVG4LqXe811Ta1Wi4n3Yq5MaZ1R+KIk2DY5ZNPgQbZ3dXKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hACkpCooSftjlIisKDKVvGugJLC80byuS3ebKyYgdUY=;
 b=iI2cFAyrS6xSRYX+RoDIAOnvmxIAghIRkcKHdg1WxqaUYWVDFZTLY9TX4IxP9l6A81y+CZo4U3uK2zCREUcfsdFf9lDAH8u7IWVT5lvXOWtplF7RHEfTPo+HoMdfRVDsi0kdkX+pSIabipMsqry5KRkJu8zHJP6iJqk2rMH3z4OpThWQg8CcwNtjs0rAmdsLknDnFq0Rc2yHNYK6j+sAaw3Zmu5zWZrZn5DuxZ5Bre4Kq9VhTA++taJsWrHH+RBNHx9eYXxIJflY9JnUZj6sRanzS9G67ZLrIEPL+zJUS4Ux3vjOhOIqT38Uig5OqddZ4PZHGh4zS1DDwJoEymm04A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hACkpCooSftjlIisKDKVvGugJLC80byuS3ebKyYgdUY=;
 b=ffIssB7fastpYQGXzHQhQEaq0TEv03XSu/se4dTmKbVSiRfxnqVdcIxg82rXZBJGt5tgWWxDBuEA1C/RJSnLx98jdyHYgONZX2CmHXLgo0ozA8AWgYIesBOM/Db4LjvLRkwB2gi7pKXPcgst56mwCPNG92+/lKo1CGl7Uy7APlTgBk+6TB11T1OEqwTCUBIe4g8ijrq/kkvX1PUC8ne5HxrcxNPTG80C//A8xjFbEoztokFeLyJvOF05TELVqERDd0Xp3r1SXtw2Di2qCyelB7A6F2rZqZHyYQZqgVl2fWX3PrVQUgRTjyXLXYVtbnSGF1tpSKaJpkJA0GR0nnJayA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <44271af1-a6ef-325b-9e56-0c35b2716c58@suse.com>
Date: Thu, 30 Mar 2023 13:26:02 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 02/13] x86/shadow: drop redundant present bit checks from
 FOREACH_PRESENT_L<N>E() "bodies"
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
In-Reply-To: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0171.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8468:EE_
X-MS-Office365-Filtering-Correlation-Id: 8b85f931-04f1-41fd-6136-08db31118bee
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MJ9VEG6HGPTLtZ69reXyMBGc4Bxbg90hPPUpVHRUEx1+ZN0q4e4ONy56dnGInFxFA7wEY7kuzs0q/GYUDNdurgLI4NNAZcHNv943SAa4qWl0POX+bzRqYefjVAj0HpQQBFd2HdyE59xOv0obM9/PPPlDqV9yGZhke8KjU4g/PJIVIxHQR8LRpXL+gK3842u3alMlQN1bRTe6SBi4MAbVDdnzhX0/pmMRefHDPppUEqtwc3jd/tcAd8TFB6Py8ZoYf/GCOwr2EORFjsHGg8QQ/gfzOK1VCDKWl0URsCNBO8NCAFhn2iQhHOUrWx69l5YmGLCxfFkMZIxucq+G61jUkp6ioWnBdiIFa4+vytbpwBwmFNFWM4C5eEE141KgSkQaj1PxvFtVpDXUswV04x+L8UUD7992dnOmc6wE6ybcrKHDgY0x2MTkvFd5kiBwUQzqOBUJm3ereXonRoxOZgGuEYNJ2kDX/mjIZV/GxOTVabOEQs1lK5yhEKqUvdYf235hUS7/RvrwZ6FKKAlRYOj0ESaLubkB5g8HFF1dXrWV/MIlsBJ39NyIbxLuZjXbobPss5nsToUtP9MAPLy4zMkm/O+1ClUHks2cbZv+btdmMLsvY2lTzFa2MmVqngfltscAHy18qQ7bbSjYBRYPQIEiULfYj2pz8H6iXb5JtwzuVvhl+pg6T7pjCSZQltDuF+c5Z9cWWnx5WJwl2nlLRTTcEj/JU3FDY0jGbY8RGWXoQwg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(39860400002)(366004)(396003)(451199021)(2616005)(83380400001)(6486002)(478600001)(316002)(186003)(26005)(6506007)(6512007)(54906003)(2906002)(36756003)(5660300002)(86362001)(4326008)(6916009)(8936002)(38100700002)(41300700001)(31696002)(8676002)(66556008)(66476007)(66946007)(31686004)(45980500001)(43740500002)(414714003)(473944003)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R3p2TWNrMXB3anhXS2lOY09ncHdXbjV0TkpUREliMFpTc3REWXhxcE5uSjR0?=
 =?utf-8?B?cUVsY2lTeCttZVRvNlo2bzZyZEp1dDNlQlk2MnNyNDNoS0dRQUNtQXBjK1dM?=
 =?utf-8?B?M0RnaFZDdThMK24wczVLOFVsUFg3M0dIL211Sm11allTRlpyaFRTSG5Sd1I3?=
 =?utf-8?B?cVBnMW9xVFlNeWlCZWZJSEI1Tkg3VGwxSGE2UzFGZldWSHhVUnJSRVdmdlEy?=
 =?utf-8?B?bit2SXdoRXJwOUY1dG12T2ppalQ3VDMrVkRlVWgwSXJkOFVkMmpTbVlhdzRE?=
 =?utf-8?B?OE55elV3QXlwRkhHTDl4OTVsbVAwQU5CYnlmMSsyMDAyMEVzZnN3blRWZ3po?=
 =?utf-8?B?aHV4SlZiQkg2Nll5djA5U2ZxWkhjQnRlbFpMejgzdGwyN2hPdDNQMlJtWHUw?=
 =?utf-8?B?TndYd3pocG9zRmZSMU1GaFNna3QvYTJhSW8xMDEwL21nZ1Y5Z2NNV0oxSVZn?=
 =?utf-8?B?YlNHUWNYQ2FLTGtuaStnTDhGME03M0xMK1hiT2toVTdCN2p5dDhnV0o5Z1R2?=
 =?utf-8?B?WmxEZzEvTGpyb0lmS1BDVTFpVzZwbWpEMzExS25SK04rVE10NDU3M04xeFRB?=
 =?utf-8?B?TW1IOHo0Q2hOL1JjbmdmYnpya0hLS1pianAvWGhhOWg3a3p0V282SEgzeEI5?=
 =?utf-8?B?ZlJGbVlkMU1Nd0lwSklIMzRSYnpYTkwxVERwTWM4eFBsTXhYSmtHbkR3Qyt2?=
 =?utf-8?B?dE9WMnlLNis0MmFEcHRnVnZIRU1ZdnovTnZqMzBxNk9DMVh3WnMxZFdUTjFP?=
 =?utf-8?B?MDlLUkZGQzRTb1NDQjhSUDBqNmNOOW4zc3N1VDBpU2hVTFpXODVMYVNySDlP?=
 =?utf-8?B?WWtyQ1pYbmsybmhHdHJFRDlPc3RCbTZIejRON3VlaUVrL05WNmpJQldkWDVI?=
 =?utf-8?B?R3ZPZGVTUjRoM3pJcU9lb3RzV2d4a0hkNGxrdjFhcHJCeTNlWkxSeTIraVlm?=
 =?utf-8?B?alVMcEwwejB2VU04L1RRVm1oODdDSmVhTElsa1FHVktkU0pBU2Qyd2dacGZI?=
 =?utf-8?B?Rlp2VEJGbUQxaXdzRUhMNCt5QXU3K0ordndCRWpUb1h5S2V6b24vS1FiRlh4?=
 =?utf-8?B?QTJpUmJNMHREVHlMcUdBSHhrV3BzR0lGR2RNTW5OWTluREEzVlJpQkEzZDQ5?=
 =?utf-8?B?ZFVnWFFaNWZGaCtpY21oU2xLbytiK1laV0xodG1YM1ZrbG9NM2pVbHZqY0RZ?=
 =?utf-8?B?SXplaW5FV0RDMHBRSEtUTDNxcFN5MUY5Q3pNY01sdzUxMnZGT3R5UW8zb2xQ?=
 =?utf-8?B?NUJQQTRFNnVKd2hKOFcrQ082a1FLVFNLVDVyRVNRRW92TVNsTERWQkI5TVE1?=
 =?utf-8?B?L1VUcnEwTEJ4Wm0vdkY2bVJrWTNkTHlSNitNNHdObUhPZ3ErMkUvSk5ZRGdn?=
 =?utf-8?B?S01xZ1hyOC85d1A3NzhsaEJPdlBaZ09mVmlGNWp2b0F2cGdwaUZvMGc5RU5D?=
 =?utf-8?B?ZmpnSDVoTTBlN2NvR3lYRTVCaVBpd1ArYmJSNElDSDNLa2RBNDhRbkIvSUl6?=
 =?utf-8?B?Ni9VWThpbWdUNkVCSGo0MmtsOTRSOG1qUzhXRTBqZ1NyZStJc2F1dEN4ei95?=
 =?utf-8?B?YyszUzFROGlkbm1lZ0IzN3E1OTdvRjExTVZwQkFGUG5FSG9HSTFQSmdBMGZN?=
 =?utf-8?B?bzdCcTd1MzBoU1V5Q01IQUZwUmQ2L2QyNXdBQjRyWkhnVW1SYUhoekU0NUJl?=
 =?utf-8?B?TnRIZGVxZ2NXNjlnWmllNTlSajlPT045Zlh2bDBRN2dZdG5pa3JMUzM4RTNa?=
 =?utf-8?B?N2R2L3p1OVhXNGR2SHR0bjhFWHhzREZ5YWNkMTEzNVdpZnU5K2JQUEJrcnF6?=
 =?utf-8?B?M3VFdmx1c21zV21weGxWcnJURGQ5REdLNFRaRHBrZTBFdnUzTkFPYm5NYkVG?=
 =?utf-8?B?YUF3aDYvUUsreE5XbGExZGd0Y240bk1aY01yT3U5WGRrWmQ4OXc0ekdMU2px?=
 =?utf-8?B?QVlkUHd5WTg0MVpVR3ZYVjZybktyUUhaeXlmNDdUVytzSlJEb1RUL3RMTnhJ?=
 =?utf-8?B?ckNpdzltSmR2andnbUZyaGExQm9tVHBVdWZiZTlGN1ZyUFA2WVNwVXQwVWdk?=
 =?utf-8?B?T1JaVGtKRmhxVkQwdXAwblNwTlNWNWRYL0RwK1pLaXRCem9FVk9jMWVBRGdU?=
 =?utf-8?Q?0Yc/DVi03kGnyP+ONbjygOjYG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8b85f931-04f1-41fd-6136-08db31118bee
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:26:03.6108
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: csN4KbAjQJRFIa6oF57piRbfjOQdCUbvH02Pmp+AeztFyLdfVkFa1/m37nlR1YvG17Z39nXGdpeF1l2tQbHOqg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8468

FOREACH_PRESENT_L<N>E(), as their names (now) say, already invoke the
"body" only when the present bit is set; no need to re-do the check.

While there also
- stop open-coding mfn_to_maddr() in code being touched (re-indented)
  anyway,
- stop open-coding mfn_eq() in code being touched or in adjacent code,
- drop local variables when they're no longer used at least twice.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
v2: Re-base over new earlier patch. More mfn_eq().

--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -1289,12 +1289,8 @@ void sh_destroy_l4_shadow(struct domain
     /* Decrement refcounts of all the old entries */
     sl4mfn = smfn;
     FOREACH_PRESENT_L4E(sl4mfn, sl4e, NULL, 0, d, {
-        if ( shadow_l4e_get_flags(*sl4e) & _PAGE_PRESENT )
-        {
-            sh_put_ref(d, shadow_l4e_get_mfn(*sl4e),
-                       (((paddr_t)mfn_x(sl4mfn)) << PAGE_SHIFT)
-                       | ((unsigned long)sl4e & ~PAGE_MASK));
-        }
+        sh_put_ref(d, shadow_l4e_get_mfn(*sl4e),
+                   mfn_to_maddr(sl4mfn) | ((unsigned long)sl4e & ~PAGE_MASK));
     });
 
     /* Put the memory back in the pool */
@@ -1320,10 +1316,8 @@ void sh_destroy_l3_shadow(struct domain
     /* Decrement refcounts of all the old entries */
     sl3mfn = smfn;
     FOREACH_PRESENT_L3E(sl3mfn, sl3e, NULL, 0, {
-        if ( shadow_l3e_get_flags(*sl3e) & _PAGE_PRESENT )
-            sh_put_ref(d, shadow_l3e_get_mfn(*sl3e),
-                        (((paddr_t)mfn_x(sl3mfn)) << PAGE_SHIFT)
-                        | ((unsigned long)sl3e & ~PAGE_MASK));
+        sh_put_ref(d, shadow_l3e_get_mfn(*sl3e),
+                   mfn_to_maddr(sl3mfn) | ((unsigned long)sl3e & ~PAGE_MASK));
     });
 
     /* Put the memory back in the pool */
@@ -1352,10 +1346,8 @@ void sh_destroy_l2_shadow(struct domain
     /* Decrement refcounts of all the old entries */
     sl2mfn = smfn;
     FOREACH_PRESENT_L2E(sl2mfn, sl2e, NULL, 0, d, {
-        if ( shadow_l2e_get_flags(*sl2e) & _PAGE_PRESENT )
-            sh_put_ref(d, shadow_l2e_get_mfn(*sl2e),
-                        (((paddr_t)mfn_x(sl2mfn)) << PAGE_SHIFT)
-                        | ((unsigned long)sl2e & ~PAGE_MASK));
+        sh_put_ref(d, shadow_l2e_get_mfn(*sl2e),
+                   mfn_to_maddr(sl2mfn) | ((unsigned long)sl2e & ~PAGE_MASK));
     });
 
     /* Put the memory back in the pool */
@@ -1390,11 +1382,10 @@ void sh_destroy_l1_shadow(struct domain
         /* Decrement refcounts of all the old entries */
         mfn_t sl1mfn = smfn;
         FOREACH_PRESENT_L1E(sl1mfn, sl1e, NULL, 0, {
-            unsigned int sl1f = shadow_l1e_get_flags(*sl1e);
-
-            if ( (sl1f & _PAGE_PRESENT) && !sh_l1e_is_magic(*sl1e) )
+            if ( !sh_l1e_is_magic(*sl1e) )
             {
-                shadow_vram_put_mfn(shadow_l1e_get_mfn(*sl1e), sl1f,
+                shadow_vram_put_mfn(shadow_l1e_get_mfn(*sl1e),
+                                    shadow_l1e_get_flags(*sl1e),
                                     sl1mfn, sl1e, d);
                 shadow_put_page_from_l1e(*sl1e, d);
             }
@@ -3558,7 +3549,6 @@ int cf_check sh_rm_write_access_from_l1(
 {
     shadow_l1e_t *sl1e;
     int done = 0;
-    int flags;
 #if SHADOW_OPTIMIZATIONS & SHOPT_WRITABLE_HEURISTIC
     struct vcpu *curr = current;
     mfn_t base_sl1mfn = sl1mfn; /* Because sl1mfn changes in the foreach */
@@ -3566,10 +3556,8 @@ int cf_check sh_rm_write_access_from_l1(
 
     FOREACH_PRESENT_L1E(sl1mfn, sl1e, NULL, done,
     {
-        flags = shadow_l1e_get_flags(*sl1e);
-        if ( (flags & _PAGE_PRESENT)
-             && (flags & _PAGE_RW)
-             && (mfn_x(shadow_l1e_get_mfn(*sl1e)) == mfn_x(readonly_mfn)) )
+        if ( (shadow_l1e_get_flags(*sl1e) & _PAGE_RW) &&
+             mfn_eq(shadow_l1e_get_mfn(*sl1e), readonly_mfn) )
         {
             shadow_l1e_t ro_sl1e = shadow_l1e_remove_flags(*sl1e, _PAGE_RW);
 
@@ -3595,13 +3583,10 @@ int cf_check sh_rm_mappings_from_l1(
 {
     shadow_l1e_t *sl1e;
     int done = 0;
-    int flags;
 
     FOREACH_PRESENT_L1E(sl1mfn, sl1e, NULL, done,
     {
-        flags = shadow_l1e_get_flags(*sl1e);
-        if ( (flags & _PAGE_PRESENT)
-             && (mfn_x(shadow_l1e_get_mfn(*sl1e)) == mfn_x(target_mfn)) )
+        if ( mfn_eq(shadow_l1e_get_mfn(*sl1e), target_mfn) )
         {
             shadow_set_l1e(d, sl1e, shadow_l1e_empty(), p2m_invalid, sl1mfn);
             if ( sh_check_page_has_no_refs(mfn_to_page(target_mfn)) )
@@ -3646,13 +3631,10 @@ int cf_check sh_remove_l1_shadow(struct
 {
     shadow_l2e_t *sl2e;
     int done = 0;
-    int flags;
 
     FOREACH_PRESENT_L2E(sl2mfn, sl2e, NULL, done, d,
     {
-        flags = shadow_l2e_get_flags(*sl2e);
-        if ( (flags & _PAGE_PRESENT)
-             && (mfn_x(shadow_l2e_get_mfn(*sl2e)) == mfn_x(sl1mfn)) )
+        if ( mfn_eq(shadow_l2e_get_mfn(*sl2e), sl1mfn) )
         {
             shadow_set_l2e(d, sl2e, shadow_l2e_empty(), sl2mfn);
             if ( mfn_to_page(sl1mfn)->u.sh.type == 0 )
@@ -3669,13 +3651,10 @@ int cf_check sh_remove_l2_shadow(struct
 {
     shadow_l3e_t *sl3e;
     int done = 0;
-    int flags;
 
     FOREACH_PRESENT_L3E(sl3mfn, sl3e, NULL, done,
     {
-        flags = shadow_l3e_get_flags(*sl3e);
-        if ( (flags & _PAGE_PRESENT)
-             && (mfn_x(shadow_l3e_get_mfn(*sl3e)) == mfn_x(sl2mfn)) )
+        if ( mfn_eq(shadow_l3e_get_mfn(*sl3e), sl2mfn) )
         {
             shadow_set_l3e(d, sl3e, shadow_l3e_empty(), sl3mfn);
             if ( mfn_to_page(sl2mfn)->u.sh.type == 0 )
@@ -3691,13 +3670,10 @@ int cf_check sh_remove_l3_shadow(struct
 {
     shadow_l4e_t *sl4e;
     int done = 0;
-    int flags;
 
     FOREACH_PRESENT_L4E(sl4mfn, sl4e, NULL, done, d,
     {
-        flags = shadow_l4e_get_flags(*sl4e);
-        if ( (flags & _PAGE_PRESENT)
-             && (mfn_x(shadow_l4e_get_mfn(*sl4e)) == mfn_x(sl3mfn)) )
+        if ( mfn_eq(shadow_l4e_get_mfn(*sl4e), sl3mfn) )
         {
             shadow_set_l4e(d, sl4e, shadow_l4e_empty(), sl4mfn);
             if ( mfn_to_page(sl3mfn)->u.sh.type == 0 )



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:26:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:26:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516629.801053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqQS-0007AF-0F; Thu, 30 Mar 2023 11:26:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516629.801053; Thu, 30 Mar 2023 11:26: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 1phqQR-0007A8-Tk; Thu, 30 Mar 2023 11:26:39 +0000
Received: by outflank-mailman (input) for mailman id 516629;
 Thu, 30 Mar 2023 11: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqQR-0006gd-1j
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:26:39 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc64e8e2-ceed-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:26:38 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8468.eurprd04.prod.outlook.com (2603:10a6:20b:34b::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 11:26:37 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11: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: bc64e8e2-ceed-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kawQ88ejvpYSr+SK5zXClVyuo1dvd+jkmp5bnmO2qncx0zmsqa20lcDsPg0BKQQvLdcoyRpEsDdjZBoX9LYqWIMTrykiN0CHgegnba4Z95YMkDsjB9sV4WFOEryekhZ7mKMnPYiD+2iLOpIjtr7M9EWHnO673rvjvmqLnmcKYyR3Nb4DxjzIMm6Z+tvw+byyT9JD6vNafnE1qXunr9Pss64ETSEEF2tzGfgtpJYFeyDDcCksNpfPczjBpjY87YijHBaQ5zAQJgCjVmaoACS9AdD9v3s9MTdlINu2vBPpDm78yrh/UTFU/xZAxOlbi5pi+fNZm5QuTYUzchiDgAn0fA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o37qmZQGz0dUPVarEE5M4F8gAAfRaPl7Obs64dcS6gQ=;
 b=Dlqt8EZ92XFYkUkX6dsOgfeIPc0lRWiBpHdysauln6eQoLm+6lLMrVxjL6eiC1YyW68PtYB2wrEnA6l9GxxT5JJMDQOhrkXTOXN/lYXQq2NiRMPXS5yQ7yzKA3OrgDQWbgmnDYANSJ6D5YnE9QmCRZ3lUfve7BXM4F8lGxH1vfT6K3S8j4ignFth842VT5mkPjWcYp5EoBMMF9rSNAP8l3I6j18Q/W0pSOcgTM5V9vsmYaN79KwmrIHn4ynM5GcnvgARzXSADk764pziCbNB2jxCNzgqB2YDVlDCxQuba7Q4iOrRlmIBsPuDc9ZQOH8DMb9kZmb8ftRx2kaT70TukQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o37qmZQGz0dUPVarEE5M4F8gAAfRaPl7Obs64dcS6gQ=;
 b=jqgZCThEfB4GsA6wvAxQFST6HoPuurWldv1Uuszho1cmWP7KBHvJ2csVBIbqo4HEmz0yO9Sab14BYCUB4tk8IvBhv214+umdEyBiLtAl2vKLuBUs2B2dfqzRTdgE37pNtCyXlfkqF8dq0/CHRnhL8nSt+33YEIaViw6t7UNOQrGFKEVFnJJSuj7OGwwtKgCy0vTap7/oEdlkMPy2VG+OMJ3/hpWny8R/gD2G+e6Z44ktbG1fb5l8RtH8WbI4wxLt3VPjhsD9KxYW8H6YZE8EIHTpejopAmmmJXEhIiH1V6VhVWiPDI6cy5rsNMYsWPzChjhpQc33S4D2/GAz1Xx15g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <feffc9e1-a44b-ec3e-fb61-b2f2098529e9@suse.com>
Date: Thu, 30 Mar 2023 13:26:35 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 03/13] x86/shadow: reduce explicit log-dirty recording for
 HVM
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
In-Reply-To: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0175.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8468:EE_
X-MS-Office365-Filtering-Correlation-Id: 248b542d-67f2-422e-c1d6-08db31119fc6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	is+k0jfzLnA1SefsrgzOh8bkUUhqQFeYigt5qJ7tXEg7F6uSeHvXonN46vPqIsp4ZHdnScYJtCe1xOimsBQm4TnTDKfRyLljsnaOcNHm8aPe2RxEtrJxD4qjyji4M06D91SIdA/mRiqiyTTacpqoACYgs256He2Fr51nGupcFyVEeCCGWt8jWldC30QkhkmIz+qRnoFszYIrQRUwvrGJq7QZw7AQziTGgYrFsT7KEXsSrk/b8R6zyP9lJ7hBj7guTqTnXNPecICAKR+Vt3jyqeIOUdEvzcnTr3AiWDC+co/KarldMlUBoAG427vgRRfHBZofeNd/cOiu5g6cABpuDl6KVN6I3AHUw+T3r6RJf8bVnuuiW1mHrKZTqJDcocp7CRelPwlz3cG3lKWWZJug4yZCFQZeZs8bkepHhKKrJlp1/yPmjUoI6mEXsJs/5HAVxxMbw9y3jf4Op7M5gTwLhATDv1hf7ok3dNdNgvyF5Xj8to36rk5fFwh5w+9qaSOtcyGmJdpjJTBV5jvTMNMJZZb1I/WG6OGRcEop50E9kh12J2F72wZdlq5VOEwgeAG/1nWiVZYnTpxESy/SU3pM7Ik/+iNvXGHcd7dVsCZvunByD+yaXmcCcgwrC2yhO+wn5VgzAgSwnJeIx06vtLhuBVZ2VrpjEg3zCHMf/XkDMfk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(39860400002)(366004)(396003)(451199021)(2616005)(83380400001)(6486002)(478600001)(316002)(186003)(26005)(6506007)(6512007)(54906003)(2906002)(36756003)(5660300002)(86362001)(4326008)(6916009)(8936002)(38100700002)(41300700001)(31696002)(8676002)(66556008)(66476007)(66946007)(31686004)(14143004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bE1lV2ZGbVhWeHZpQkNpdTduNE9neXYvc1hzdG9VNjFDcTRRaC9jZ1dNa1pm?=
 =?utf-8?B?WTlKclhjQkxRdTFFV29lZGNidVp0MmVwMnZjTjFqejJPNlN0eXpQcitzQXNa?=
 =?utf-8?B?azJpWWc4dW10U25MT0wrKzNBWmh0eFpqQ01RRWRRYTlteUlBOEo0eFYvSHZi?=
 =?utf-8?B?RTJmWnN4NnVnVElEbjBDUjh0SnlqcFdQR05jL2xLbStPeTUvRW5wdGRmUjYr?=
 =?utf-8?B?SWlDSUVtWWM1NU5heDZyYTlBTG9pN1BIZ0gzWVc1VmhVcXZkRGo3RzlmaFdr?=
 =?utf-8?B?WEI1b1k4UUxiNE9aSUtHTGN6MTJhcFFlREdGMlFlaWx6Z2wwblhzMFhoUE1T?=
 =?utf-8?B?MzJvMWNIRktpbXRYOGlOdCtLMk5VNk5CL3FmaittVzUyK2VJY0h1c0NoV1JQ?=
 =?utf-8?B?U3BWQXhyNE5YQkNGNzZYL0VPcFNESllhaWpERDcza2I0UHUyM29vcUp5eWRY?=
 =?utf-8?B?NkdPTDZYcUdDVmNNcjQzYmxnL3ZsUFg5SmhPNDdGTHlxNkM1QXhqNnhHa3kx?=
 =?utf-8?B?dUg2VGx3ZlFrcUJESUNSNG9BK05hcDB2M0lpR2ZxZUZjZ0RiaERYNnJ2d3pr?=
 =?utf-8?B?YnFVakJUVFBZZFpYemNVaGNJaGUzY1dja1F3dDlzRjd2VXVjQTA2dHZTUW1J?=
 =?utf-8?B?NTR6ZkxXdFNRVGtVbEw4bDJDVGZUbGFsSUZxUjdxT0tiUW9rUGhvKzN3N1l6?=
 =?utf-8?B?Z3FHRHk2VlJPQ3Q4THdFNDFrRlZaRDQ5dmpHaStocTUxQW0vYW5VNU1xaGht?=
 =?utf-8?B?aEJhRmNrQ1JYcHpiVE1XUm5tTGhkdTJTZnd0aENQb2pTeE5lRmpweC80VC9W?=
 =?utf-8?B?bGRTcGlKRVRIcElNNDN0S3JnUDhZSjk5ZW5kU3ZlZVJtQlVEdUsrZmZ2Rlpz?=
 =?utf-8?B?RFhFSWpNdzMvUTJHY0NtdXlUR3YzaVN2U0FFM0FKRHUxdTZvVC9yN0xvbjU5?=
 =?utf-8?B?RVpacVNndGNEWDM3SXRBOUJwZlZ5K2Y2R1BnUFZ5VFpreTJHdnJ5dU9VUkJJ?=
 =?utf-8?B?WWV5YmdPQ2ZTZ1JGT1FRTzFHTFF4Q3VyWUl0Szl2aTQwaWJTVmRHbjNGeHkw?=
 =?utf-8?B?cy9wMUpXSCtta0J3ZTJtOWhDZHc2cE1TVkNNVitFUXZYSUoxZnUxZURWdXJI?=
 =?utf-8?B?VERVMkN2UEowWUl6TjA1d3RPbEdwaVZCZ0tDU25zcVM1QWo0bTNRTTFvdTRr?=
 =?utf-8?B?dzdQTDlkMnFtWDNJSVhWaUl6UHVUc1pFVGNSaFBIcC9RQnVLMzlFSVNHRWNo?=
 =?utf-8?B?UkVKM2xVY05pOUlYZmpoSkU5ajRRS1lSamx2eTdXWEhNWWVXeGdaenlNQ3VT?=
 =?utf-8?B?SDF3MkhRcmJ2NGhPUHljRHVUL2tnWVNna3VKRzhRR1BRM1RVeEE3RC8vRVMy?=
 =?utf-8?B?OXFxNkVLaTVuaWhyZTlsR2IrUkFTOHJsd0Y5dWFKSCtWUG9aT0ROUnU2Q2E2?=
 =?utf-8?B?dDQ0S01MLzVQYmJlbUpaeGRTOEpTK0hMVXk1ZlhTRVA3TE9EdmhXN1VRSy9B?=
 =?utf-8?B?ZkRkYm9lckQ1S0hJY2xEd205U3B6bGxBdUNzU3FuRmlObUt2VW9CZTVpaEky?=
 =?utf-8?B?aVF4Q2NkOUFGMTFDNTlJS2dKUXRhWEE3UTBkRlZxZng0ME5MM3NuRzFZcmJj?=
 =?utf-8?B?d1pVdk4zMHp2WGtqMmxHVTJkNXA3N3Y2R0xFNCtGZ3lXUzhYQ2V4ejNRNG44?=
 =?utf-8?B?cExvRWVlcWdYa05Fb0ZzbG5INWYxQVZvZXdWbE9TNzRlWUNiUGU2eFBVU25a?=
 =?utf-8?B?RW9lZUhZbGtWN2x2RU9JQzJtRkVhOUVqNmFWd1JJbnlLaEFqeE8rRk5NTjhB?=
 =?utf-8?B?cDgyUC9SbEtCajdZd3JUNjNDV0Rocjk2b2tDQXZ5Ym80M0JrMTdzM0MzL29j?=
 =?utf-8?B?cUV2bzhINmlpekZNbW5YaWllUzZwc1Nidkt5VEdpcS8zb3ZrWWZYTlF5MmFw?=
 =?utf-8?B?V1AzKy82a0kxSXpjdUMrZHRQNHlKY0ZwYjk1WDlCMW9rOHJNc0lVMEhRenJw?=
 =?utf-8?B?b2M0NVlIcGIwQ0VNdDZIT09rMitBeWZiSS85azZsVERvUklyZDNHV0ZCNUM4?=
 =?utf-8?B?elRZRWp4NGNWWDBUcW12RUFvMHcwM0xJc3Bqd0lqY3o1dlhKZzlCSVYvUzJz?=
 =?utf-8?Q?Uu6SA68VK5YjFszww/ZqlVswd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 248b542d-67f2-422e-c1d6-08db31119fc6
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:26:36.9286
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: EEcg+3fq/oYA1PnQCOjBiEXykK6PXKWbSSI/XQ1Igkl7n28ctN3CPhzdNBIIraaDE9+nR5aKjpKIrorKgIE+fQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8468

validate_guest_pt_write(), by calling sh_validate_guest_entry(), already
guarantees the needed update of log-dirty information. Move the
operation into the sole code path needing it (when SHOPT_SKIP_VERIFY is
enabled), making clear that only one such call is needed.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -656,6 +656,7 @@ static void sh_emulate_unmap_dest(struct
     {
         /* Writes with this alignment constraint can't possibly cross pages. */
         ASSERT(!mfn_valid(sh_ctxt->mfn[1]));
+        paging_mark_dirty(v->domain, sh_ctxt->mfn[0]);
     }
     else
 #endif /* SHADOW_OPTIMIZATIONS & SHOPT_SKIP_VERIFY */
@@ -673,12 +674,10 @@ static void sh_emulate_unmap_dest(struct
             validate_guest_pt_write(v, sh_ctxt->mfn[1], addr + b1, b2);
     }
 
-    paging_mark_dirty(v->domain, sh_ctxt->mfn[0]);
     put_page(mfn_to_page(sh_ctxt->mfn[0]));
 
     if ( unlikely(mfn_valid(sh_ctxt->mfn[1])) )
     {
-        paging_mark_dirty(v->domain, sh_ctxt->mfn[1]);
         put_page(mfn_to_page(sh_ctxt->mfn[1]));
         vunmap((void *)((unsigned long)addr & PAGE_MASK));
     }



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:27:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:27:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516632.801062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqR7-0007nW-98; Thu, 30 Mar 2023 11:27:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516632.801062; Thu, 30 Mar 2023 11: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 1phqR7-0007nP-6S; Thu, 30 Mar 2023 11:27:21 +0000
Received: by outflank-mailman (input) for mailman id 516632;
 Thu, 30 Mar 2023 11: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqR6-0007nJ-94
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:27:20 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d4e95526-ceed-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:27:19 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8468.eurprd04.prod.outlook.com (2603:10a6:20b:34b::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 11:27:18 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11: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: d4e95526-ceed-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dC8UDeNwCb1fDsND3XweZkNMR2xrS+GeOZ2+bng0t6GCuHSv02U4YqmSQJzE+I0V7XlK+lyJ10cE05tEUr2Q35yqLlAKpHbKkvLDWxmVVQsusq+pOKL4GeIiEMnDgOjUqJzBODfaA9lDwN4GwDouf6Y/kQ64snED12TORLVmuvO7i9vc4oJQNj1SjyT1Q2ADytN51qtbBLTRVqYttcHpbyjDcLBxHNQA1Az0DFH7VZgtEtLzVVVnpgDNuNn3PacB9EPF1LSz+IKV3apciaVjH5lzurI6vQanqD5jUEtFeJ5KSOEPhWvLvyz+Yqosz3j2nl+unJ1L2FKmg01nFFUSiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ue41tyDmmg6PevYB5Qc1ThieQRcpS48A5cxO6+NoPwo=;
 b=WLSm8A9L1tdmWGODm6ZDoIfx+IpwmJn2iz2DcQhkGpE6IKHgKegb0cIuiGnG5FE2FRjnyQYFV/lqKawWzGqEkVltiPdd86pGaBxsegWf5O4L+AbsJ3i9Qpwd12Ho1i+S2orY9W7T2KtP6UHi1iyK/w5j82Nv7q2+j+kQrwIhNG2kbkOtiATj/PZlkgaWwth6Doq8/1fKfS5kSkoOd4BrkX1GJYTAjPATeOsy+mDzvX1H1FhVi0/0LzFyiLxoDRGkpP2XNr5kV2jPL8OTxoQJ1gRx4uZXwMey2O/MCOKaV2uuw7NNPYh8DA1Z29pmXw60xIDWfewyNXhx/M1lL1FmQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ue41tyDmmg6PevYB5Qc1ThieQRcpS48A5cxO6+NoPwo=;
 b=iAOOAGY1E4Gdlrr7FHuxXKKj5a2/un/Eq/RLSi7Pql5/FIgRH3dtqtf4+t/wcYAX1owY0UiAKyJVNU0oBaaFxJwhoqIrdLP20qWnnW8wQckorHFg87ynfCSK42Y/Da/DB7EHUch0OcO16UWLrGvv3ntDYljvhhVlifxAxYRRJhyDl1vJd72zj3BD4/+3X8QYZ8l96COD32+UWyIEG/gerBHrKvcn3AGmdCDjTann6K5I6L90gDZ3pkMg0Cf96v02Vaee+RiivIso+xz5POCG5WPiGCIOuHzlt+A2VWpIEI+wmjP3APQAm/svcDb/XX8/1XDQnz43jYlC6I4lF+khUA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8ab32f85-d0d5-956d-9375-829e578c65d5@suse.com>
Date: Thu, 30 Mar 2023 13:27:17 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 04/13] x86/shadow: call sh_update_cr3() directly from
 sh_page_fault()
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
In-Reply-To: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8468:EE_
X-MS-Office365-Filtering-Correlation-Id: bce404f4-7a21-4de6-99c6-08db3111b87b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	544vpSndasg0eolfvRm13QOmNe2vn5/NjCm+eq/NKmkhtpG7N2pXm0PnJNgJ1+UCrdUT8JeyQclreuQ9uy0mvZpVzsda0QairrXrCBUoAHTqd8qdjRuo8OvhZb+oFucuZeulMpAbhTMALDTZyQPUOLd59w9fgFyxjcbI7QxLBkzLcmzZRN6wnbXN91V/84/+I2LfYXy9f2rW9Byca/1FbNU8m9zvMRGGEFvqeJOBNpT4/jb6HDL+FJS3bVHejw2ZBpExC/dZXSZ5q+KbPpU3+CCxCG3K3AqpiVXwa8Mx9qGWDh94Cz8twjyp7Cyb/lo7X/uujBDAlwfJBAzqZ8J1vv7dT61IE7UTmhbHzj6pYfOXLJZ7i/kYjSt/XB9h7n6xDj+oe5JkQiJOa2dg36kUnL5zzBRpkyIyxy5IHHwPgxbkhEeoEH/xE5Ef2nZtySo4bIY842FQKHTP9aBAoKQdp8tHCmMXfoTldJfo76+M2adDvrLkBxtG78BbBHt7hbwiI8KKAgk3BSyFmY25StMj4dvSvtAF46/3p2kO0w2dOGQDdgDVrKQpf2P3ackw4ixMtgI5sFHrQgAX6L6F1lO6Fn+jDACVVuC+a5PsEp1v0JX3mMc8BJpEPXCrtO2DrPdwxgXTzImnjq11Hrg7+bKKog==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(136003)(376002)(39860400002)(366004)(396003)(451199021)(2616005)(83380400001)(6486002)(478600001)(316002)(186003)(26005)(6506007)(6512007)(54906003)(2906002)(36756003)(5660300002)(86362001)(4326008)(6916009)(8936002)(38100700002)(41300700001)(31696002)(8676002)(66556008)(66476007)(66946007)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cW1mL2hXaUorWHV4d2xtSStqR05vcXJXeHhwcmxHSmZ2TFRoRHdaMlF0TDBx?=
 =?utf-8?B?QkZUMUhyVkNlWTIvUUdLR0dYaEtINVZxYXV3QjI5dVNEZjhncUZ6cThsazdm?=
 =?utf-8?B?cGJ3M2JSUDhjSndFWVk3Z3hXNnVWN3NXaW50N2RCQ3dLQWplYjJWRmdNVDBw?=
 =?utf-8?B?SmhVbmpubmR5YVllOWtwSzV4REdWTTROMmIxbXl6MEhTMGQyeGxCL1pJWGo3?=
 =?utf-8?B?REw5UnliWWNVcVc2anh2RkF2Rjc2VFAxaXNha3dTMFVJRERuaVNONVV6ZURQ?=
 =?utf-8?B?ZDk4b3pjRldlNnFIdUc2a1VYOG5wanVUOFQwRkpxZ3hyMGMvMm1kNUJqNXpx?=
 =?utf-8?B?Yy9aeURESXBPbkZpU3ZyZEh1N3VVUTlUeHhyRG1FTjhqZU1qamJhMjQraldF?=
 =?utf-8?B?RURnOW1TV3I5Z1RrOGxEbjZyalBwZ0VYeTRENk5UamNQaWhyVDdacWFHNnNV?=
 =?utf-8?B?SU9wZnV0VjRoMTBickdHaUEzQjJvck1CbVk2VFJvQlNsZTBhSjZicTFqbVlt?=
 =?utf-8?B?MkYwQ2VYckhNMEdJUmtwVGJBR3AvUmQ0ZmY3QzBFYU9nalRQZTBJKzI0c09C?=
 =?utf-8?B?MTlzYTk3Tk9UOStuV0c3L3FEdlZpQkVLSXpPeWE1M0V6MG5iWWsxcS9SdVJN?=
 =?utf-8?B?bC90RDFqc2YwZ3U4WlQxdkhFMkNKTkxFL3o5N0hOSzc0TDBnSzhYSGVqV051?=
 =?utf-8?B?MkljbkVGTG1ROXVVQ0JMN29Ec0hSLzRma2hjVzhIcnJhNzRiOTJ0UkcyNSt2?=
 =?utf-8?B?SkpnUVY5UGRVWjQ5N0VEcUp0MDZ5Wnk5NWFtKy9VSk9ZS01TWm1jTDFCcnJ3?=
 =?utf-8?B?WDVZSi85YXRJR244Z2Ixb0p6a0xjODFjUmFFcUE1emhXTTg1a2VnWlJ1YTNv?=
 =?utf-8?B?bTd4SEpUU1FUNHZqOEhPb1hPQStXOGE5cEFMVGVBMUpCZVlOZng1OExjTGtU?=
 =?utf-8?B?U1pudzcxUW02amtsWXg1ZkR0TFladmg1ZWNUU1lZT3BnZTdzN3duTm5HK3c3?=
 =?utf-8?B?aE9CdjEvSXBQRjV0b2NNVDlMQjNkYW5JSlNES1luV0JCc25tYmFSMG9KamJu?=
 =?utf-8?B?RGhpZFZrUURGNkx6ejRncEgzd0U2WStYbkN5K1g2WVRUTzc4Z0ZzaXBHQXR0?=
 =?utf-8?B?bnRzR1NPTWFVa3hITVJLbEdoZ1FxbktzcDRCeExlenBHU2FhY05SZ0Q4RzJx?=
 =?utf-8?B?MGFUVFo0Y2lrcmYwQkZMbXBsTFZxRU9NVEZ6REdxNmtaRHJFeHpHQWFSc3cz?=
 =?utf-8?B?eXRFZTFSWi9keWhnWnQ1MnZhY1NKQ01RMWUyVEpsSTRBTGxLSTlVb0ttS2RZ?=
 =?utf-8?B?MTl3SGJQWmRKR21Jbko4WnI5TXJORUNHU3hTWXJoOExzQVZvZVV4eitYWDg3?=
 =?utf-8?B?YkVOT1ZsYmdxMjNhQm5yaFFEUWpsVlN5eXNrbFVPOVRmcEt4UTRCb3UyKzFa?=
 =?utf-8?B?NVZrenJocW0yRFpUNjkydWNpOFVRanY0cUhjaDlqeXlSMkhlUEFDWFlmYk16?=
 =?utf-8?B?WXlTVWJ2YjYrMTNIdXVmVHJaZk82aDd2Z09oWDgxUGlNcjNpcXArNnlNbVhq?=
 =?utf-8?B?cGVrRlhZTTcvKytORTcwQ08ySE9FOEpUdEFkT00yUEFnNCtpQzFGMVdFSVd3?=
 =?utf-8?B?ZEg3TnlPVk9FOVdwVHl3NWsxSjR5ald1QXVoZGIvdk12V2I2N0dCaTdRZGxC?=
 =?utf-8?B?dkZRbVdpVmpJNDhwRy9FbTEraXdWWTBmaXpTeWFBK0FRZ0dLYU1oSUsycjUx?=
 =?utf-8?B?NnF6T0JIQUE4SHFJbFNpUmNSMmV4Y1dHRnZnL1c1WmhFb1lER2JCZSsyVGlZ?=
 =?utf-8?B?NlpDZFlsWlA2NWJ5Uk9pNk1kb0t1QThTL0ExZE50OSsxWWQ3VDJCM1dpZW5i?=
 =?utf-8?B?UHdOejFKR0tWUGs1Qk1jRnlQUlU5R3p4UXVydlVzT3BCTlBTdFhpakdJQ2pI?=
 =?utf-8?B?ODNoTTdORTVEY3hDWDJNZ0o0dkZSdDFkK0VlNVV3Yk14d1kvRDIza05OajNJ?=
 =?utf-8?B?dzN1UUtGck42Vys3alV0elFjVUo5M0ZCU2g1SEx0UlBncWlVL2Zab1U0OWI2?=
 =?utf-8?B?V2F1NjBHNlFndHR2bWxXbkx6SFhyNzhwNkxBZmFFWU5qUmptelU1Z2R2YlRr?=
 =?utf-8?Q?T+NcsELAHc3mUl/W7ETjvJAwu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bce404f4-7a21-4de6-99c6-08db3111b87b
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:27:18.3537
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZlAprwsSTY/ZAzx4JNVaReyfPSFwMp7tkIbUsnZ1JiKIvtpP6NHLfACLY2R5M9uQ5Ekdt17VW/7/z26lVpvSjQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8468

There's no need for an indirect call here, as the mode is invariant
throughout the entire paging-locked region. All it takes to avoid it is
to have a forward declaration of sh_update_cr3() in place.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
I find this and the respective Win7 related comment suspicious: If we
really need to "fix up" L3 entries "on demand", wouldn't we better retry
the shadow_get_and_create_l1e() rather than exit? The spurious page
fault that the guest observes can, after all, not be known to be non-
fatal inside the guest. That's purely an OS policy.

Furthermore the sh_update_cr3() will also invalidate L3 entries which
were loaded successfully before, but invalidated by the guest
afterwards. I strongly suspect that the described hardware behavior is
_only_ to load previously not-present entries from the PDPT, but not
purge ones already marked present. IOW I think sh_update_cr3() would
need calling in an "incremental" mode here. (The alternative of doing
this in shadow_get_and_create_l3e() instead would likely be more
cumbersome.)

Beyond the "on demand" L3 entry creation I also can't see what guest
actions could lead to the ASSERT() being inapplicable in the PAE case.
The 3-level code in shadow_get_and_create_l2e() doesn't consult guest
PDPTEs, and all other logic is similar to that for other modes.

(See 89329d832aed ["x86 shadow: Update cr3 in PAE mode when guest walk
succeed but shadow walk fails"].)

--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -91,6 +91,8 @@ const char *const fetch_type_names[] = {
 # define for_each_shadow_table(v, i) for ( (i) = 0; (i) < 1; ++(i) )
 #endif
 
+static void cf_check sh_update_cr3(struct vcpu *v, int do_locking, bool noflush);
+
 /* Helper to perform a local TLB flush. */
 static void sh_flush_local(const struct domain *d)
 {
@@ -2487,7 +2489,7 @@ static int cf_check sh_page_fault(
          * In any case, in the PAE case, the ASSERT is not true; it can
          * happen because of actions the guest is taking. */
 #if GUEST_PAGING_LEVELS == 3
-        v->arch.paging.mode->update_cr3(v, 0, false);
+        sh_update_cr3(v, 0, false);
 #else
         ASSERT(d->is_shutting_down);
 #endif



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:28:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:28:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516635.801073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqRu-0008Lm-Jc; Thu, 30 Mar 2023 11:28:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516635.801073; Thu, 30 Mar 2023 11: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 1phqRu-0008Lf-Gk; Thu, 30 Mar 2023 11:28:10 +0000
Received: by outflank-mailman (input) for mailman id 516635;
 Thu, 30 Mar 2023 11:28:09 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqRt-0008Hi-7b
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:28:09 +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 f17ae3ad-ceed-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 13:28:07 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8782.eurprd04.prod.outlook.com (2603:10a6:102:20d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Thu, 30 Mar
 2023 11:28:06 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11: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: f17ae3ad-ceed-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dHhl5j7FNcvkHOfe24V4SM18kCPTzXi+RRxUi7vk0sifUa3lgs6Mp69rZY35nLyx4KsMo0nGDgSmaiombpLoTpHjZZnlfVsHZ1u9sJjg9ZTbc3WPqwmF7GJstR8Nggi7kLa8K8tqEFUG4+v5DsBIJVU1A8QXQRux9wMkH8K3X2cYFkFKDhGyZaoo0tDHDze38gYKY8lZ2ulPvJ1fEzg/S0Zx9vL+K6el6lB0n9wA5ZiA5jhAp32n+HZokynrQyczDfscjXs2wR/UdCpfPKFzb68UorZ5X3jZ6BSglv+4SlNyQc82o9AJuRCATsh2DoBjJHhS9DhXjMAvPVutB2H0Jg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bLFXY1A1PoRDeG2OxMqFXZeghqkcVHyCuf7lr3QrX/U=;
 b=LGIbasSAViVCSKX+dCOV9iyH+d19WKFAnbd2vtR0Eem1zG+jt69M4tfe3W8NM5RJ2e3OVTERrg3gYtvPJAHhAlnMleA81Xl3z7uVVZJ59WptKej4lb8ry5DyxqmsnDyiw+rLeB2Tv0PMrIrxzpDcHuW27bhaN/iNSIafMgJwUlsWRxb+qFDCCXPN9B/yhSoKw3LcIhA5281PjEiN3I/iHTp1Dry3MJmuryhMMb/f846P4UOnaoqQbWoKImcT28PBcrs4SUWHKHEifmy3oxiLQAAr5dtaMod8tIMM+nMuJutsi/h10JVOJHIcUntIbGEJ3RPRZ5Te9XJhus3m/j3Y2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bLFXY1A1PoRDeG2OxMqFXZeghqkcVHyCuf7lr3QrX/U=;
 b=otxxi+15956H2KFZJhaldcSAmVBLCw1pUJDwmbnpRcKcrDxfg6BV4GZ5tAo6H+xP8I1pcBQkaCyTEvLYbkFpJ+G4FkLap9orf0YjxyzT+crw93jd+8AMPecX/Zfv//k9M1dN4vGbm/5VnN8MTl2SL4KXgaa06vLofZdifgOsDyY95bVqnSneN24vycATzeVh2n8BkAUIDYooxjDMxKhylkjUvJZb3JkuOyBjvlOQPAFKXTazKhpILJqr8TynFeFAOq/Re6Azy2RSDKaFiVxWX8Lg1qVzumIQ6tOnaOIIQtdr3sZCujHtDwNERpGwMS9V1WCi2NIVTtX3+ZiF8Q/7HQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6363f9aa-4030-d889-a85d-f5834e607d85@suse.com>
Date: Thu, 30 Mar 2023 13:28:04 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 05/13] x86/shadow: don't generate bogus "domain dying"
 trace entry from sh_page_fault()
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
In-Reply-To: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0192.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8782:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ed8ee46-0696-4e5a-9a0c-08db3111d4d4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kkYaEWtsx7PFfKM1PwHx6ux3lX/5+JYW5iaNU4gaMLqiCj/dLuDY34hw5EYx69kAq3wA5Orm7qsh3/zRJ02Rln81zb026YzqQ/+1al5TPH2uPh71zRBxEq6l/958odINyftdk1VFgMDT6vDxuXRyNHALOCwMDdYzqNX03C5r0ZopW+9b8rwLQ7zFEc7HLEVCSzyxhmH/TKCJB9Eow4ZwPzOPACHrSQddv9M6pcHvjGER0d1dl/edMxb3Urq7P/1X++xwfQ9fduwW7VnlAe610HqOSqNWdTYym7y71XNqjiTKyJA4jZSRkmtzqbatE1FNrmhNQH13njoDkBI+6GDgD39Sf+2w9DaJx4rUZF2vMRagUlmKEapADmzlqx/Xwu/2ELxWP+3P8u4jbujn1p4f/gR9QZTwCwrkxetRt4/ZN9znJN5b0H20F9A80+AkQHHJ5fNYZuiTta5Xu9phyZGWKwGGoDrru/87EtyRxiHaaQhAZK6EZX+aaIzWHqyR5HBCdW6rq0QFXa1rwrKwHzQj6hvlI/zlxhHqv4khPibcFTkkt8icPmxGL8h1mF8ETLuJN1ZlDjAdEGQFoVQ82JyvkDFBnQ9Nt4B2mH4ZCggfBapaAGPd9F25hovP2jh5P5rGmY7DJZzucUn0nvk7vcCb6JenJY+9skcXhSx8B6kjxf3ciBOeSzeZw+SSWIVRFj7AXxRmfZI1z3us6sQQ8mRzSw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(136003)(39860400002)(396003)(376002)(451199021)(316002)(66556008)(8676002)(66476007)(54906003)(6916009)(5660300002)(38100700002)(41300700001)(4744005)(66946007)(8936002)(186003)(4326008)(2616005)(6506007)(6486002)(6512007)(478600001)(83380400001)(26005)(86362001)(2906002)(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?RjFDNkFtdWpUOEdRQjIrNzBPK3AwT2Vvb0tGRHY4akpJK3NoRTBXSm9Qd0Z4?=
 =?utf-8?B?WGRQR1lLVGdodmtRS3VkTlpHcWdkblJWMTRiY25XZVliNDN6Wk5pOUtmcWUr?=
 =?utf-8?B?eU9teGticmpJWnBQc0x0VVZUTnFKaVAxeUN5bWV2RElFWlV1TjZxOEI1UkxW?=
 =?utf-8?B?U1hyNE03aFV1cHlqZ2NIeFY5cnFmdFJpOC95U1RtNDFQSE1rNnB1V3BEdUVq?=
 =?utf-8?B?a0x2eTBWMEljMm1ZMHgvS0tSNTI3MkFhRTBpeU53NVV0cFJ6bXlpaVZjU2VV?=
 =?utf-8?B?SDVyRlRKemQ4RHM4V2ZoSU1TNTNHQU4wVmtEN1IxVkJBL3hGQSs0OTF5dGtJ?=
 =?utf-8?B?QjJndlhQRHgzUHY3VWk0UTQzeE04aGYwQW0wdDdlSEh6OFptTE9pblBXb2JP?=
 =?utf-8?B?VGJqdXE3c3JqU2tDZmZIMlJyTmdubjFKZno3cEwzNm9DNmpGNmNncFB3M0w1?=
 =?utf-8?B?R0tVQ1hUQjg0TEZGQ2N2eDBnamxFSERVMEF0ay9CWTFGbjVHQ2FKSlNzQnI0?=
 =?utf-8?B?N2M5TGpNK3ZBd3krdmFqYVc1V3V3RTFlZ2hkQVhnK1VBZFdlQjJNYi8vVUla?=
 =?utf-8?B?c2cvQThyMVNwYXdGWnE0RzQrWDIwMk1kbmtMQ1lJNk1qeDE4bDdjN0Z3NDBi?=
 =?utf-8?B?b0MyUStENFI2T0tpRXpRU3NHalowcy9BcjhMRk8renlnWERSS2dZR2JaenVD?=
 =?utf-8?B?OW1rTHNBTnU5dWdVYWlGd2hJOWtTZGFvR3ZOeUsveVcySVpDYi91NlcwQXZO?=
 =?utf-8?B?ZHpSZmM5Yi9paXpBUERHSExibDdvcE1WWXRSQzllR05rdHZOZzFJQkJldkQ5?=
 =?utf-8?B?TVJnYkRsWFluT2l6UFZOdTBKZUhhazJod2ZBQUNXRGwzQWV0NHNTVGlISnFQ?=
 =?utf-8?B?bThzSWZUdDE0Yy9YWTJ1WHY4Zm5Bd0FVM2lmUTNxT2hZN2RMSGJ4MTFpM0Y0?=
 =?utf-8?B?TTQ3YzJxVFg0UnhEWndlbW5XY00xSjN6ZXdJM3lzbjkxMmFPZlJaNTltWG9Y?=
 =?utf-8?B?RGloQkxwZUpiSjBtb0puZ0NjN2crTDZINkE1T3lESzlIdWd2ZDArdWQ0QXlz?=
 =?utf-8?B?ZGpyalBJKzRXYXF4ekZEZFB5N09KNHU0S1lXYXdsc3ZqOStVME9CNEorK2VN?=
 =?utf-8?B?eGk2aHF6b0VPNC9GTmJ2U3d1b2tVTFlUeUFNZS9ia3YzbEc0dlkzd3hCYVgx?=
 =?utf-8?B?RFNkMUo2TFpkcXczNFBQOUJNRXVPZzc3dWx6ZURNNlRlenkxVHEySG12dEVr?=
 =?utf-8?B?OW1zcUtjT0JaTkRpd0RWZDFOSHdNWHpvNkxjcExpM2tWcHMya1RnTTRDcy9S?=
 =?utf-8?B?OGE0KzVzUFJ4WVdEeHFsSW0zWUhNZG9zQW9HZHZ4VE9FOEQxQncyc2RjdXVE?=
 =?utf-8?B?aEtyQTVFNlFCdEppck40VHhVSzJNeG5rRXluUjhCSFNIeGVmeFJrTWJoVndP?=
 =?utf-8?B?NW82QlFtZXpOMTZTWldxeVVGaGNqRkVhdTliK0JteGRiL3Y4TmpxQllXS0d0?=
 =?utf-8?B?Qi8zVThualAyQlNqLy9HWSt2L1FQdXZodTY4Sk9kcDRWUTNOZkpyaFgvM2ha?=
 =?utf-8?B?UmpySzR4SVhacWN5Z1l2Z2xsOGFOZXFreVZra3gveXNIbzJlcjh2VTdIWnFi?=
 =?utf-8?B?UncwK1VzL1RzNHBrZE5wMFdleVNVOEZNOTNHOXhkeWRTanFmMVdaTHhtekFT?=
 =?utf-8?B?Sm4rZ09qa1BndmJxT0dWVlhKUFZaclV2Q1V2TCt4b05RMndHakpxeGx5bEx4?=
 =?utf-8?B?d1NZK3BOenVhazV3TjZobjZSZGk2bk93aVVUcytsYjhvMEdGVnNvMmJLenFp?=
 =?utf-8?B?SllWYXJLeGROei9sUEMrM0FRa29rVnVsS2V2ckdreHZHNHhGNFdBM2MyWnRo?=
 =?utf-8?B?YytHVDlHWUk3dDg3SklqQThzUW5XNDEvWEx2end0WWE0SjdJTFBaMkRQalhY?=
 =?utf-8?B?MksvZVRYd1JHallzcjZ6Q1lWQ3htdkw1OVJ1TG9LbktYK0dycDJ4UVoyQUhQ?=
 =?utf-8?B?eExkbSt5SGcxbzRpZVFrUjBaZGVMS1ltd2dBWXhlQzVSY29ick8zYU0xdHJQ?=
 =?utf-8?B?ZVhOalBvK1pmYUR1NlhoeHl4QTR1REI2aFZSd3BFNmhkWWN5aVlzRWErd010?=
 =?utf-8?Q?v5MGSMVN514DlFBMKuGFjASGu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ed8ee46-0696-4e5a-9a0c-08db3111d4d4
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:28:05.9154
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MAPpOQJNCsFA6To+zP515CbVcui0/lVJEhFS/0UQ4q9TUH5kg0u7LDYmbbIovPka0tTJQ9MTfClbu9aTYe8OKw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8782

When in 3-level guest mode we help a guest to stay alive, we also
shouldn't emit a trace entry to the contrary. Move the invocation up
into the respective #ifdef, noting that while this moves it into the
locked region, emitting trace records with the paging lock held is okay
(as done elsewhere as well), just needlessly increasing lock holding
time a little.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -2492,10 +2492,10 @@ static int cf_check sh_page_fault(
         sh_update_cr3(v, 0, false);
 #else
         ASSERT(d->is_shutting_down);
+        trace_shadow_gen(TRC_SHADOW_DOMF_DYING, va);
 #endif
         paging_unlock(d);
         put_gfn(d, gfn_x(gfn));
-        trace_shadow_gen(TRC_SHADOW_DOMF_DYING, va);
         return 0;
     }
 



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:29:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:29:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516639.801083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqSg-0000XK-2j; Thu, 30 Mar 2023 11:28:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516639.801083; Thu, 30 Mar 2023 11:28: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 1phqSf-0000XD-W9; Thu, 30 Mar 2023 11:28:57 +0000
Received: by outflank-mailman (input) for mailman id 516639;
 Thu, 30 Mar 2023 11:28: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqSe-0000Wf-DM
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:28:56 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0603.outbound.protection.outlook.com
 [2a01:111:f400:fe02::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0cf75118-ceee-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 13:28:54 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7262.eurprd04.prod.outlook.com (2603:10a6:800:1ab::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 11:28:51 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11:28: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: 0cf75118-ceee-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IHym341cL9QELRcjy2x7O6q96mwuEBCwMNXjhd92QikchXkzhSMf/rc3PE0uKKPerDQdQdCkjqvfUwQF4PCwaS81BRW9iDgN1AvGcfChEG/XQ/A7ZS7P+j/zibFLzN57IajoC4QOwm05qjiaNTBlNMNtGPPIJ/xlA5ryidq7vMeu+Lzdgd9xR2Vb/5x5gAMKTMPuNCjArPXpbldi+y1zJrGQhXZAGgDk5BQZ3qpPKuhxozsrvZQ7dq1obz7r9KfGln7MjlZj+eBiUwbGLbujMDsiAtkP2HtcEdNwzxjMURH1AzCA8+7kA48jRIm7C5EL/pCpDsAQkDYrzR/0nmj9vg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OMWrhjKLwqoqO04g0GrrD1jO59AIbRDrnsG95manGKw=;
 b=AYsb16hdbV6yw2IeB3weg6oAZSJaQBD3FVdYD38wOLSRg5sleltKalO99Ojd6GtznGojxbmhXi7DbuL+E62m0+NjihGgh/V8CzyOY1W28xwXIwgJBW9+lbkyZkhWdQtkiGkZvIv8GdgM+HCD2apHSHzeHnSMsmZCjn9VEpTMgrWxOjRXkx3vhCaXi963MeBlhGaD1GvL4iG1N3bcpyUS8rPeAHraePJWHXa47WUZvuMD3PCRiU7W8Ugb6H7tdHy8JmNhq1bBT8J56fVD+DUN4+DkFDQN3XBhRgFnJsezmGEkeDf1B5+JbUD6qSwNkF0Q0SivtapwDE0YeJrnBA4E5g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OMWrhjKLwqoqO04g0GrrD1jO59AIbRDrnsG95manGKw=;
 b=qxmeKtZ3WVO/tRgv4DZWBRUVg3siGHJMdzMrPhiLOYginJdqkpjBwYfvKU2kqvCnXeBcfZtZ9mcPKDbJx31iC1CpjQ+rwV9uSKthP+TNoEk105H1wXTh6lfzoR8zsRe4eto40CKEMNhm7JB19kfXxAQGbvygbzo+U5P5YNCWd9o7wyVCs/ak2yW5i2Hc/1YSv4PO57twbf2F7vGFKOLPx7Q2CQ/M4kovz2x/Vffta3NyHGDR3DUJAMpoEpEqu18O9PLXXbSV+CQ9YPHYUfe4T6Me+kuu5SV14d4NUCxys2FAUBIHM8c4rUeQ2War1eMarBzF6sVZvLXV/g1FiAvMlw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <74eb4a4c-8f5c-fd1d-f3a2-479abe736480@suse.com>
Date: Thu, 30 Mar 2023 13:28:50 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 06/13] x86/shadow: use lighter weight mode checks
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
In-Reply-To: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0071.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::7) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7262:EE_
X-MS-Office365-Filtering-Correlation-Id: ad630740-782b-4e70-e904-08db3111eff2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8memgGHnnl3923G4y2R5P0BTvyELGs7DNEdsvhKy4/yfszg5A5bqzZZNkznqif5mhuvcMNAq6rBUeZud9QVj7DN67b61qu9/UMO9lZWXGtQjKKvsFnfAe8DMFURf/jYhrwbGX0u+8qDPSu7y8onqDWiWtMSWJ47mxS41ET7dFmwzjIRKpBN5casbravTVC/EnzbmSHX5KUPos9HL06AP2awRb0C4TmQLwNPajiIb7R3rDklcKD6mf8fS5Q8zYkp90Gex55pOjhD+AZ4waBYVm2u3BlophI9QsN1/deCYmxorMg1dMw6eSvz1BUcJZUCcCAOYQTmNkF1YPlk2KQZQmSfrSPZmO8ds69sdzMUyJGIZq9De6gOvox6irR56LkNS/CtOoqupIamvyFao3yfbq9FtA4ZaBIamLc0scfyPum4cULWpLwguO0xJpCnUf5bEPavUfPIdLMhVjCRztc1TqvnYNEcTacbc2/CnIAtWlonIKmcFjMq30ZnATs4VBQdiU1dF2DW0nl/PF+Ydw8HPq6tVRNH4XsEzqFBmhuOa/70bxaG1P5gwlNGGNs+we5R6qptn6w4FILHYNI7sZwcrPqcY5PxsnAsCti72bT+IbnWia1izGw7bf3JF+OCJYg0yZUbiBDsbSERDBf38KwUyCFS7Sk430PEKKkFYX2O9qxBXzhSbiPNarDFEHbGepf5fZgzwKcsMSe2SoHFTiW6HwiYenbKrr7oxljvs/0TsvFmxYm+WBqnnmMH3CpCCRbOA
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(396003)(136003)(376002)(39850400004)(451199021)(2616005)(83380400001)(6486002)(26005)(478600001)(316002)(186003)(54906003)(6506007)(2906002)(6512007)(36756003)(5660300002)(8936002)(38100700002)(4326008)(6916009)(66556008)(8676002)(66946007)(31696002)(66476007)(41300700001)(86362001)(31686004)(66899021)(16393002)(45980500001)(43740500002)(414714003)(473944003)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TzFwYnVhS1pMdnpseFQzL3NlYWNwWktxNmI0SGdqZ2ZPRU5iWkx2QndLLzVu?=
 =?utf-8?B?eVRabXE3TTZ4SVQzSk5zUi9YeDJDbGFYZE1vR1pSakRtVGFqSm1rYjdMajha?=
 =?utf-8?B?c29IOUZpOXdIL0hFSW1EcGJDWGNSOXdNL2pFOXYyWGZLcjNSS0VpSlVYWWQw?=
 =?utf-8?B?enRrbU8vU0dKdTZLYWczaFloZk1KY3hMK0ZnTEY1K0tyV1dsLzZzbmlZNUcy?=
 =?utf-8?B?d0JaS3liQW90bHVtV2E2MWdlY21zMnUyb1Z2Q09RcGZNYStvVFVUckVXdXJO?=
 =?utf-8?B?eFAyQnRjUE9CVEpabmwzNTd1dnJPSTFLT3drSm9DRFEwUzFnOTU1TjBkL1E2?=
 =?utf-8?B?c0xSYXRFRUFaR3hUcHptMGFoWmIyM05RU0Z5VGIvRE5XSXNQc3kzdXdtcnRu?=
 =?utf-8?B?Mzkyblp4MFJ4MFlnTk9KMGhDcWNpS09ocFFvUmZuVHgrRmhqTUdaVk4zOU1Z?=
 =?utf-8?B?cWhpNmcweU5iK2dxWFN0NjQ1VUdheUdMTkRYT3lXa25ieUxWZCtsNkRZTmVy?=
 =?utf-8?B?bjRBeG16a0FwNFhkQnZ5ZGRLOGpKN1lVcnUwNndyU09QYmJza0xJNnlYMmV3?=
 =?utf-8?B?MHFxbklPaFBPK2VlYmc1bjFvSjFveG15NTRXcDNveVdNUHkvLzdrZ0xXY1gv?=
 =?utf-8?B?VW50ck9pVXN6L3lTUHhFU2lRQmRZK0JmVmsxdUtCTURPbEN1ZUh2MTNscXVO?=
 =?utf-8?B?Wm1Uai9kVjByaWJYME5FM0dDRmN1UnluNXJMcFBNMVVkVVRkdTZPVFZZRHVn?=
 =?utf-8?B?b1BjN3dacUJkdG4zLzRlci85azlYL0RkL2psT2E1NDNxN29xUEF4T1IzN1Mw?=
 =?utf-8?B?c29DSWtROXhkTm9MRmUwak5NYmpqZ2ZEMm85OGxuNmxIUGd4OW9Wd214MzJx?=
 =?utf-8?B?UGUwMGMyQ08xM1dEb2Rkd3ZhOVRURmZzYy82UXVURFBaL1RtN2xXWVBiME1V?=
 =?utf-8?B?VFZ2OXhNSWh1VG85VWgxOFl4ZExNM0lmQUxqK0gwZkNuR1R1K2c3ZkVpM2p3?=
 =?utf-8?B?KzN0SkVOK0lUWFlYR2Z2SlBQcEFDd25YbE5QdjZnakpFWnpvZ0xha1B1UUEz?=
 =?utf-8?B?UW0wT2JqYitYeGlFTU9NbmdyamcrMzd4cThxNVpjbjZ1bHpLZU5INTNvWHRl?=
 =?utf-8?B?L0czd1dzVzdFNzhKbUdXYm85M3pqaW90SGpLZUJIMlNiN1NhYkdNTUpDSXBX?=
 =?utf-8?B?RXhpWGZKdFRaMWVkdERoeHlnc1hhUjVNaVFyY2dmYzRTQ3pCR213V1dIVlZk?=
 =?utf-8?B?MHZzVHFnbjBNenp3ckV0SzFhdjA2U09VajhndGNmWXhUWmlBakhvVmUwSTU4?=
 =?utf-8?B?MVh5QjhSNlI5dmNSZnFyZWU5YXloQmozVmJQbWFiT1dGTUFlYjI3ejlsUk0y?=
 =?utf-8?B?NENCY2V2Tml5b1V1ekhyKzBDZHdtVm1hQXRrZG44a3QzVVZUbmRobzVEbGxn?=
 =?utf-8?B?YzJTUjk1ODRTN2lUbWJDSEdETy9yQUZtZzdZNEE5cnZqSTVkV2dpUHJhcGhp?=
 =?utf-8?B?R3NKVGd1MU04QmhXZldBMWdOZTdqczdETjArVzBZWmlZYmlqSHlrWUc1RXFO?=
 =?utf-8?B?Y2hGanZZRERTTFBwaXhJWnZ6N3NieGwwR2pnYWpycVl6OWVJaHdjZGZrUERE?=
 =?utf-8?B?bllTREgvSGh3bGZtY09jMWxsMGVGMVh4bGs4c1VvK2Q0U0s5eTVrM1RaQU5C?=
 =?utf-8?B?TG5kOFJpd2dTdG4zNk5lVVBvUmswYytTb1ZGMmxMSVFIYjZNT3NHdEcyRUpv?=
 =?utf-8?B?NW8zeitPa3ZONWFoTGhxQk16YnhOVUF3VitMNndaUnYyVktUYnE4SVhsbEtl?=
 =?utf-8?B?MHZJTmgvWGZ1d3VNaXZNTy9LSjkxaHFFR09aNGNpVEFYZFVLQzlxUHVmVXpD?=
 =?utf-8?B?a0UycEhhVTJTZzAwM3NQUlZlSHR3MHMyc21xZis0Ynh0dGZvUnJsWUNwSmNw?=
 =?utf-8?B?SWdpR2h3RXBoak1QRktwemRYaG9KcFBMN1JCWTBJYWtvN29pQXdPQXlkNzNW?=
 =?utf-8?B?MHN3am9BdnRNZThKL1dUeG56MEpTeERHM0tia0E3YVVscEdxVHB3L2N5Tjc5?=
 =?utf-8?B?ZVJ0c01TRTNEYWZ6R0xJL3NKNzV5T2JQOCs4ZDFFMFd0d3ZnVnlqRzZydDkv?=
 =?utf-8?Q?Xj5JBqCcr6fb1HWB3gAaIjL9f?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ad630740-782b-4e70-e904-08db3111eff2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:28:51.4167
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LWpWk8yDV2la+oYkT79E07SY+0eEmvB0wIHZVmKdxSroYbZOm58Q+lBGZpRVYP09bsrp5KrzFtjAAykW+lxFHw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7262

shadow_mode_...(), with the exception of shadow_mode_enabled(), are
shorthands for shadow_mode_enabled() && paging_mode_...(). While
potentially useful outside of shadow-internal functions, when we already
know that we're dealing with a domain in shadow mode, the "paging"
checks are sufficient and cheaper. While the "shadow" ones commonly
translate to a MOV/AND/CMP/Jcc sequence, the "paging" ones typically
resolve to just TEST+Jcc.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Re-base over new earlier patch.

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -1856,7 +1856,7 @@ int sh_remove_write_access(struct domain
      * In guest refcounting, we trust Xen to already be restricting
      * all the writes to the guest page tables, so we do not need to
      * do more. */
-    if ( !shadow_mode_refcounts(d) )
+    if ( !paging_mode_refcounts(d) )
         return 0;
 
     /* Early exit if it's already a pagetable, or otherwise not writeable */
@@ -2088,7 +2088,7 @@ int sh_remove_all_mappings(struct domain
          *   guest pages with an extra reference taken by
          *   prepare_ring_for_helper().
          */
-        if ( !(shadow_mode_external(d)
+        if ( !(paging_mode_external(d)
                && (page->count_info & PGC_count_mask) <= 3
                && ((page->u.inuse.type_info & PGT_count_mask)
                    == (is_special_page(page) ||
@@ -2385,8 +2385,8 @@ static void sh_update_paging_modes(struc
     {
         const struct paging_mode *old_mode = v->arch.paging.mode;
 
-        ASSERT(shadow_mode_translate(d));
-        ASSERT(shadow_mode_external(d));
+        ASSERT(paging_mode_translate(d));
+        ASSERT(paging_mode_external(d));
 
 #if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC)
         /* Need to resync all our pages now, because if a page goes out
@@ -2773,7 +2773,7 @@ void shadow_vcpu_teardown(struct vcpu *v
 
     sh_detach_old_tables(v);
 #ifdef CONFIG_HVM
-    if ( shadow_mode_external(d) )
+    if ( paging_mode_external(d) )
     {
         mfn_t mfn = pagetable_get_mfn(v->arch.hvm.monitor_table);
 
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -526,7 +526,7 @@ _sh_propagate(struct vcpu *v,
                || (level == 1
                    && page_get_owner(mfn_to_page(target_mfn)) == dom_io);
     if ( mmio_mfn
-         && !(level == 1 && (!shadow_mode_refcounts(d)
+         && !(level == 1 && (!paging_mode_refcounts(d)
                              || p2mt == p2m_mmio_direct)) )
     {
         ASSERT((ft == ft_prefetch));
@@ -543,7 +543,7 @@ _sh_propagate(struct vcpu *v,
                        _PAGE_RW | _PAGE_PRESENT);
     if ( guest_nx_enabled(v) )
         pass_thru_flags |= _PAGE_NX_BIT;
-    if ( level == 1 && !shadow_mode_refcounts(d) && mmio_mfn )
+    if ( level == 1 && !paging_mode_refcounts(d) && mmio_mfn )
         pass_thru_flags |= PAGE_CACHE_ATTRS;
     sflags = gflags & pass_thru_flags;
 
@@ -663,7 +663,7 @@ _sh_propagate(struct vcpu *v,
      * (We handle log-dirty entirely inside the shadow code, without using the
      * p2m_ram_logdirty p2m type: only HAP uses that.)
      */
-    if ( level == 1 && unlikely(shadow_mode_log_dirty(d)) && !mmio_mfn )
+    if ( level == 1 && unlikely(paging_mode_log_dirty(d)) && !mmio_mfn )
     {
         if ( ft & FETCH_TYPE_WRITE )
             paging_mark_dirty(d, target_mfn);
@@ -819,7 +819,7 @@ do {
 #define FOREACH_PRESENT_L2E(_sl2mfn, _sl2e, _gl2p, _done, _dom, _code)    \
 do {                                                                      \
     int _i, _j;                                                           \
-    ASSERT(shadow_mode_external(_dom));                                   \
+    ASSERT(paging_mode_external(_dom));                                   \
     ASSERT(mfn_to_page(_sl2mfn)->u.sh.type == SH_type_l2_32_shadow);      \
     for ( _j = 0; _j < 4; _j++ )                                          \
     {                                                                     \
@@ -845,7 +845,7 @@ do {
 do {                                                                       \
     int _i;                                                                \
     shadow_l2e_t *_sp = map_domain_page((_sl2mfn));                        \
-    ASSERT(shadow_mode_external(_dom));                                    \
+    ASSERT(paging_mode_external(_dom));                                    \
     ASSERT(mfn_to_page(_sl2mfn)->u.sh.type == SH_type_l2_pae_shadow);      \
     for ( _i = 0; _i < SHADOW_L2_PAGETABLE_ENTRIES; _i++ )                 \
     {                                                                      \
@@ -866,7 +866,7 @@ do {
     unsigned int _i, _end = SHADOW_L2_PAGETABLE_ENTRIES;                    \
     shadow_l2e_t *_sp = map_domain_page((_sl2mfn));                         \
     ASSERT_VALID_L2(mfn_to_page(_sl2mfn)->u.sh.type);                       \
-    if ( is_pv_32bit_domain(_dom) /* implies !shadow_mode_external */ &&    \
+    if ( is_pv_32bit_domain(_dom) /* implies !paging_mode_external */ &&    \
          mfn_to_page(_sl2mfn)->u.sh.type != SH_type_l2_64_shadow )          \
         _end = COMPAT_L2_PAGETABLE_FIRST_XEN_SLOT(_dom);                    \
     for ( _i = 0; _i < _end; ++_i )                                         \
@@ -908,7 +908,7 @@ do {
 #define FOREACH_PRESENT_L4E(_sl4mfn, _sl4e, _gl4p, _done, _dom, _code)  \
 do {                                                                    \
     shadow_l4e_t *_sp = map_domain_page((_sl4mfn));                     \
-    int _xen = !shadow_mode_external(_dom);                             \
+    int _xen = !paging_mode_external(_dom);                             \
     int _i;                                                             \
     ASSERT(mfn_to_page(_sl4mfn)->u.sh.type == SH_type_l4_64_shadow);\
     for ( _i = 0; _i < SHADOW_L4_PAGETABLE_ENTRIES; _i++ )              \
@@ -977,7 +977,7 @@ sh_make_shadow(struct vcpu *v, mfn_t gmf
 #endif
 
     // Create the Xen mappings...
-    if ( !shadow_mode_external(d) )
+    if ( !paging_mode_external(d) )
     {
         switch (shadow_type)
         {
@@ -1379,7 +1379,7 @@ void sh_destroy_l1_shadow(struct domain
         shadow_demote(d, gmfn, t);
     }
 
-    if ( shadow_mode_refcounts(d) )
+    if ( paging_mode_refcounts(d) )
     {
         /* Decrement refcounts of all the old entries */
         mfn_t sl1mfn = smfn;
@@ -1476,7 +1476,7 @@ static int cf_check validate_gl4e(
     l4e_propagate_from_guest(v, new_gl4e, sl3mfn, &new_sl4e, ft_prefetch);
 
     // check for updates to xen reserved slots
-    if ( !shadow_mode_external(d) )
+    if ( !paging_mode_external(d) )
     {
         int shadow_index = (((unsigned long)sl4p & ~PAGE_MASK) /
                             sizeof(shadow_l4e_t));
@@ -2399,7 +2399,7 @@ static int cf_check sh_page_fault(
     gfn = guest_walk_to_gfn(&gw);
     gmfn = get_gfn(d, gfn, &p2mt);
 
-    if ( shadow_mode_refcounts(d) &&
+    if ( paging_mode_refcounts(d) &&
          ((!p2m_is_valid(p2mt) && !p2m_is_grant(p2mt)) ||
           (!p2m_is_mmio(p2mt) && !mfn_valid(gmfn))) )
     {
@@ -2623,7 +2623,7 @@ static int cf_check sh_page_fault(
     return EXCRET_fault_fixed;
 
  emulate:
-    if ( !shadow_mode_refcounts(d) )
+    if ( !paging_mode_refcounts(d) )
         goto not_a_shadow_fault;
 
 #ifdef CONFIG_HVM
@@ -3067,7 +3067,7 @@ sh_update_linear_entries(struct vcpu *v)
      */
 
     /* Don't try to update the monitor table if it doesn't exist */
-    if ( !shadow_mode_external(d) ||
+    if ( !paging_mode_external(d) ||
          pagetable_get_pfn(v->arch.hvm.monitor_table) == 0 )
         return;
 
@@ -3216,7 +3216,7 @@ static void cf_check sh_update_cr3(struc
     /* Double-check that the HVM code has sent us a sane guest_table */
     if ( is_hvm_domain(d) )
     {
-        ASSERT(shadow_mode_external(d));
+        ASSERT(paging_mode_external(d));
         if ( hvm_paging_enabled(v) )
             ASSERT(pagetable_get_pfn(v->arch.guest_table));
         else
@@ -3241,7 +3241,7 @@ static void cf_check sh_update_cr3(struc
      * table.  We cache the current state of that table and shadow that,
      * until the next CR3 write makes us refresh our cache.
      */
-    ASSERT(shadow_mode_external(d));
+    ASSERT(paging_mode_external(d));
 
     /*
      * Find where in the page the l3 table is, but ignore the low 2 bits of
@@ -3272,7 +3272,7 @@ static void cf_check sh_update_cr3(struc
         ASSERT(d->is_dying || d->is_shutting_down);
         return;
     }
-    if ( !shadow_mode_external(d) && !is_pv_32bit_domain(d) )
+    if ( !paging_mode_external(d) && !is_pv_32bit_domain(d) )
     {
         mfn_t smfn = pagetable_get_mfn(v->arch.paging.shadow.shadow_table[0]);
 
@@ -3366,7 +3366,7 @@ static void cf_check sh_update_cr3(struc
     ///
     /// v->arch.cr3
     ///
-    if ( shadow_mode_external(d) )
+    if ( paging_mode_external(d) )
     {
         make_cr3(v, pagetable_get_mfn(v->arch.hvm.monitor_table));
     }
@@ -3383,7 +3383,7 @@ static void cf_check sh_update_cr3(struc
     ///
     /// v->arch.hvm.hw_cr[3]
     ///
-    if ( shadow_mode_external(d) )
+    if ( paging_mode_external(d) )
     {
         ASSERT(is_hvm_domain(d));
 #if SHADOW_PAGING_LEVELS == 3
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -420,7 +420,7 @@ static inline int sh_remove_write_access
                                          unsigned int level,
                                          unsigned long fault_addr)
 {
-    ASSERT(!shadow_mode_refcounts(d));
+    ASSERT(!paging_mode_refcounts(d));
     return 0;
 }
 #endif
@@ -533,8 +533,8 @@ sh_mfn_is_a_page_table(mfn_t gmfn)
         return 0;
 
     owner = page_get_owner(page);
-    if ( owner && shadow_mode_refcounts(owner)
-         && (page->count_info & PGC_shadowed_pt) )
+    if ( owner && paging_mode_refcounts(owner) &&
+         (page->count_info & PGC_shadowed_pt) )
         return 1;
 
     type_info = page->u.inuse.type_info & PGT_type_mask;
--- a/xen/arch/x86/mm/shadow/set.c
+++ b/xen/arch/x86/mm/shadow/set.c
@@ -93,7 +93,7 @@ shadow_get_page_from_l1e(shadow_l1e_t sl
     struct domain *owner = NULL;
 
     ASSERT(!sh_l1e_is_magic(sl1e));
-    ASSERT(shadow_mode_refcounts(d));
+    ASSERT(paging_mode_refcounts(d));
 
     if ( mfn_valid(mfn) )
     {
@@ -354,7 +354,7 @@ int shadow_set_l1e(struct domain *d, sha
          !sh_l1e_is_magic(new_sl1e) )
     {
         /* About to install a new reference */
-        if ( shadow_mode_refcounts(d) )
+        if ( paging_mode_refcounts(d) )
         {
 #define PAGE_FLIPPABLE (_PAGE_RW | _PAGE_PWT | _PAGE_PCD | _PAGE_PAT)
             int rc;
@@ -387,7 +387,7 @@ int shadow_set_l1e(struct domain *d, sha
 
     old_sl1f = shadow_l1e_get_flags(old_sl1e);
     if ( (old_sl1f & _PAGE_PRESENT) && !sh_l1e_is_magic(old_sl1e) &&
-         shadow_mode_refcounts(d) )
+         paging_mode_refcounts(d) )
     {
         /*
          * We lost a reference to an old mfn.
--- a/xen/arch/x86/mm/shadow/types.h
+++ b/xen/arch/x86/mm/shadow/types.h
@@ -274,7 +274,7 @@ int shadow_set_l4e(struct domain *d, sha
 static void inline
 shadow_put_page_from_l1e(shadow_l1e_t sl1e, struct domain *d)
 {
-    if ( !shadow_mode_refcounts(d) )
+    if ( !paging_mode_refcounts(d) )
         return;
 
     put_page_from_l1e(sl1e, d);



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:29:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:29:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516642.801093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqTX-000183-Ch; Thu, 30 Mar 2023 11:29:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516642.801093; Thu, 30 Mar 2023 11: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 1phqTX-00017s-9g; Thu, 30 Mar 2023 11:29:51 +0000
Received: by outflank-mailman (input) for mailman id 516642;
 Thu, 30 Mar 2023 11:29: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqTW-00017i-5X
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:29:50 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0614.outbound.protection.outlook.com
 [2a01:111:f400:fe02::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ca88dfd-ceee-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 13:29:46 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7262.eurprd04.prod.outlook.com (2603:10a6:800:1ab::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 11:29:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11: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: 2ca88dfd-ceee-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ANvtN6LtwhTDqcjrIm/qSioZOiVayLXVQAgq2BJWraLt/rdoQXVC8TMn6W4TjKg3wxcInIwoc2nufJ+hAkmoZjPfAF56Z9/xmz0PW9IM8xPt4m/k63CleawESvLJzwUqoivU+6U0pELFIsT6IAJuFzeRsIKVwzjBAfEfANgmfRmALP5Znk1YnOLruebiJktVVAHFt9fJgvWWuBYYl2uWvALFF4FGhL9/3b7lW2pVGccQG482mIIh5lE3z5FnYz85TfglT63bIekNvE4z9/YHugm6HtGdxESkQMnxBD76swlc1kYUePF1C3j42wRIMV2bk6pGUDQdNrCOPaprkheVUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1Yc63R99xXpCV2rFaghPhoG7GaIwoeqheiEnc9dAADg=;
 b=go0DRwATzveZ5FzDYQV5cPVed0ra3WSNtvUPYwWiMzlic3n0oeS/24y+IDwIF8BCB1i4DbQdAeDf0KBliLBtjuNW2XNwIhs9URv19qjYttFS9K7USjQz9rBAA+I4cYZsgY13dPk6xmodP+fry79ztxjydAOioP48AzFioDjGTGd+l2f0iL0+YHxdQqM77j6z3W8L4EB36819/QYyVdCYZ+DDK4Jndby9Hmjh8S336CeaJIuhwHhInUCXIUEOPxko/kYLMVApG9L7W9dy6pusJixu//1OaP3JSyl5zxZ/9x0erFjkcASufv+cdpclF1HkELUg+/SfedZVd6eJl3ysVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1Yc63R99xXpCV2rFaghPhoG7GaIwoeqheiEnc9dAADg=;
 b=w73M7jtqUkOuIR1VNn/q7VX4ZVER49pJb3Gy7cEgDVOgXMR8F62A5/GWkSMRHU5ti/pokOipT1xWFiNqjTjMlcjpGqZdBviMVL3B7YE+91xh5QtM8sqSaaFxI79SA/EPCij8WZLNJqjnBPb4KF+t8m4M/2ziJ8l+QDMa7WQPWuGk+i4usg0GayXc+xxAsXaZYDNywCF5mypjatM27CnI+Kxw+pF36lWorI4HP9EjRHSzvBoKVw00i/Vhkb8f/CgdFgjL+AgNgkrMjtCcU12z21vcOKYfXQDsAzr9nmis15V1hgShCsivet7BxBIHRJfpk8qSFN2YeHlwCbS26wLbFg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bae6790f-93ac-dbe4-c43e-8b28d2f7c8b3@suse.com>
Date: Thu, 30 Mar 2023 13:29:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 07/13] x86/shadow: move OOS functions to their own file
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
In-Reply-To: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0261.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7262:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b29130a-6045-490a-0333-08db31120f9f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Y4H5ejcPOHTSmfmzacEXkXyc9yLmltlg4iWflarDccXuQ/Hw+7ffGKmHTHeZsM8Nobhr63f3ZitcxYVju/21gLLgVt74EzQZrPW3TrscwgCSRYjQK4+3t9kQoRO/xHIK+HDdzcavaaFQeCnxL7+ERVVDJDYBpQcZNjuphjw9wbZ6jvl/xNjbJUfMJYBcpnOqIs6nart3biSCvZ97vKqsBrlt6hPr+4YVt3ZEgT6oR+LRm39NU2fzLYyx1L97qLHO7o31ktKquMTT9IHI09EWQvN5GVjVhJM2h/WyXaWtzaUrFd7bMma+4qO/qIN3IulitGEMPUiTPXGrAK6T3NmXP2DcFHr3aA5hvVlaZNJHnJqevZGbepZ62XKHELnMPAdDWjI5ZeLdhCNMFR7Mlb8mdc55VNC30MoWQ0906Xk2+onxHHOSjGDegtsHBBS/2MqXYskLZw/1Z7+yJK66jk4kbG3NoaJrmlwlEkCXJOkqK+VDqFA0VyIMlnAL2zeHX+Tbx7QuSJtmlhKtFQUFLbG5ZymjLXo6tiFBFy9JrZEY7Jj7W5VH64vG9jZ0ARYCrAHSJPAMVHfQL+WG40hELTFVHvQtiSDkslzCRYYgfgIaLLy+HkoNu9o3JxmNs2PLSimLyW4s7tI4eT/5Qnao7lYXBT4LkjKLCpBY/1j0hlVGOkrfSrxreBPcUHrphdAFh3x+mMWYiSe98pm9c1od/x43ng==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(396003)(136003)(376002)(39850400004)(451199021)(2616005)(83380400001)(6486002)(26005)(478600001)(316002)(186003)(54906003)(6506007)(2906002)(6512007)(36756003)(5660300002)(30864003)(8936002)(38100700002)(4326008)(6916009)(66556008)(8676002)(66946007)(31696002)(66476007)(41300700001)(86362001)(31686004)(66899021)(45980500001)(43740500002)(579004)(414714003)(473944003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZkcrdmNYY3Y0aU00M1NSRlJDUjgyRHhSOEZUUDBpa3MzZmVLbXNDQlpxdmM1?=
 =?utf-8?B?ckIvdjNkU01NTGxqUkZpOXB0UG9RL2xDaUhJRGFsUW9Vd09rVmhERmJSUUZp?=
 =?utf-8?B?VzhCc2RtRlA4ZDgyN0U1YXlCZDg5cThnZU5UN3JXK2NKSnBpWCtIZUxJS0FV?=
 =?utf-8?B?YXhxMmowVWl2M3RmTklIQ3ZZYW5aTVZvSUlKSUFVUnhuZ0h2aGtreFlQZk51?=
 =?utf-8?B?N0kzUnV6Y1Q1dWlGOVhsR3BpZkxTaUd3aktBOXVjelJZak1DV0xtdGlJV0Uv?=
 =?utf-8?B?amRtdzNPRDhRcE1KdFJaekUxeWZYUFBJM1lJWXUreXZldlVsU0JqbVNQNEVI?=
 =?utf-8?B?cXlKZWtJS1NzK1JpNWtOU096ekpDbXEwOWJua0dHcEJFSGNtRzh2c1RJSUR0?=
 =?utf-8?B?TDJJMnVDUnIrK0JjWjVIN1RzK2cwL0FxQ09ZeE9jSnYxUmFuODN2ckRtNVc5?=
 =?utf-8?B?MjltSHZHT0h2b09xTElJMFdySHYzLzNmY2tKeGk1bFAvejlxZUxGcnVxOFhP?=
 =?utf-8?B?WHJuSEY1TFlmdis1Tkt3YVphWm1zODgwbkpvOE5vRzdPd0ZwYkdQZTl5dnpO?=
 =?utf-8?B?UmFwNkV1b2xVcUhvU1ZsMWJ2WTVwbDdyVDRzUFFaeXd4Ykk4VHJINnpHUVpI?=
 =?utf-8?B?RU55WFlJZUROa2FrSmVYNTlLaXc1TVcxMG5hK2FVcHlIV3g0Q2ErSG1yVm91?=
 =?utf-8?B?c255QksvNFE3djl0cGVKYlIrMFpsWXZURVU5eUtPTjNxRFAxL3hDVk1ISGhU?=
 =?utf-8?B?ZUJQWk9ySnRoQXpXVUV3a1U5bWYxSzFnT0NsdUJKSk1RTmhXK2dUSWs2VU1s?=
 =?utf-8?B?M3NQZTYrK3ltUWJSK1F3VHk3MlJKeTR0UHdiZWtZZHZ4RTMxY2x4Rks0UTdy?=
 =?utf-8?B?cDdxSi81RTluT0x0Ty9PVmJJOXBGRFpwTXVBWFRGckZQSXdjeEpwYUUvNWlD?=
 =?utf-8?B?cW1uNlZrN3l0TDgxWkgvdG5YNExaT2NWaFBiN3ExV0FtRU1ybHg5NFRxaGdK?=
 =?utf-8?B?alBYQTV3RVVXL1BTbzBnWVlESlRuSkNIZ01aL2wwV2ZrY1ArODh3N3dONFFu?=
 =?utf-8?B?UFI4Mmp1Zjd0YTBIUG5MY09MS3BIQmVNV0FqTmc3eWpYZGpJd0dJK0M2SHBr?=
 =?utf-8?B?VURkaUhIdmV0clRIQUNJYXFhNHRFdjlnd1dPdmdrb1F5MkxseHdPM1BxYis1?=
 =?utf-8?B?YlJXclh2RENUODk3RGIzK1UyQjkvTkVzQmN6L25aT1d0QlUvSzVEMTVWcDRO?=
 =?utf-8?B?MjhRQW4xbWV0RDdjOXlLOWpaMmQ1aStXeGJKWFQ5VHB6U1JaY1cvdHc5dHR4?=
 =?utf-8?B?alBKMTZnWis5eDVOUWVuUjF4eEFtUFdsam9sV1QwNE4wdVZyRVowRWdsZnVE?=
 =?utf-8?B?RVNlYndaMkYrWXkxUE9wUDBzS3BYSTRrc2krcDdTbTkyS09hUU5KeGhncHcv?=
 =?utf-8?B?RlZvN015RjdCUGdPaWFTd1VsSzI3dzdFMEdBeEVValRYSXZOVUk3UGR5dWNk?=
 =?utf-8?B?Sk9HZCtTem1sKzRtK21GYlRoN0lKUXY1SThqWm41bGpjZThybmNqem5vRS9W?=
 =?utf-8?B?eFhCQVJYQUNYTUcyRm8vWjhYZVE4VUgzeXB0UVhqUGdKamYwKzlMSStlZkRq?=
 =?utf-8?B?azYyWG5DaTQrYmU4b1lWa3k3SjVtNjd2OEhzWG9yVjNucW5qMDlsM09qUENt?=
 =?utf-8?B?c2lKc1EvRkZLK0d3cmZDcjhmV24raHVPZ1cvdVlrQ3RSamU3MnlsTk5UZ2Zh?=
 =?utf-8?B?N2pDZHk1QlRpQzB2YklqQW9SeWRzWUNrdytWWml0dXd3ejFiMldtWU5VZ3pW?=
 =?utf-8?B?NDhlc1AzNllIOG53dnZiTWMxU1U3dWh4eXJYcVZZTktPb0wvR05aU3Bmd09V?=
 =?utf-8?B?ZnVOb0ZhNEE1WWIzeGJYVUl3V3ZFRm5ERE1aUTZwS3hON01lVkpibFBvNFFM?=
 =?utf-8?B?b3hic3ZYK2xNQnUzK212dUFnbkhMNmU0eFlSakQ0Tnp5NWtpbDJDenFoTmwv?=
 =?utf-8?B?V0xOVVpIdlNnNnNKbC9SYkE5L1YzUXJsT2dlODBHSDFYWDRoM1VSVnl0QXQ4?=
 =?utf-8?B?QkxpdmdwUWF6RVdOQTRBZk9KT1orT2RINkZFcEZWV2JxeGhPemk3VDlaYVJE?=
 =?utf-8?Q?lUISdoPkntu4M55kcxpaqpt5r?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b29130a-6045-490a-0333-08db31120f9f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:29:44.5688
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: b6RAXunOvFEJ1ADpmT1zQtyEcfMmM/nrVVj6gZTD/UTr6yqpziGosHu1aWzKjV2SshWTk9XujG/jZ8z2WhJs/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7262

The code has been identified as HVM-only, and its main functions are
pretty well isolated. Move them to their own file. While moving, besides
making two functions non-static, do a few style adjustments, mainly
comment formatting, but leave the code otherwise untouched.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
v2: Adjust SPDX to GPL-2.0-only. A few more style adjustments.

--- a/xen/arch/x86/mm/shadow/Makefile
+++ b/xen/arch/x86/mm/shadow/Makefile
@@ -1,6 +1,6 @@
 ifeq ($(CONFIG_SHADOW_PAGING),y)
 obj-y += common.o set.o
-obj-$(CONFIG_HVM) += hvm.o guest_2.o guest_3.o guest_4.o
+obj-$(CONFIG_HVM) += hvm.o guest_2.o guest_3.o guest_4.o oos.o
 obj-$(CONFIG_PV) += pv.o guest_4.o
 else
 obj-y += none.o
--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -152,576 +152,6 @@ static int __init cf_check shadow_audit_
 __initcall(shadow_audit_key_init);
 #endif /* SHADOW_AUDIT */
 
-#if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC)
-/**************************************************************************/
-/* Out-of-sync shadows. */
-
-/* From time to time, we let a shadowed pagetable page go out of sync
- * with its shadow: the guest is allowed to write directly to the page,
- * and those writes are not synchronously reflected in the shadow.
- * This lets us avoid many emulations if the guest is writing a lot to a
- * pagetable, but it relaxes a pretty important invariant in the shadow
- * pagetable design.  Therefore, some rules:
- *
- * 1. Only L1 pagetables may go out of sync: any page that is shadowed
- *    at at higher level must be synchronously updated.  This makes
- *    using linear shadow pagetables much less dangerous.
- *    That means that: (a) unsyncing code needs to check for higher-level
- *    shadows, and (b) promotion code needs to resync.
- *
- * 2. All shadow operations on a guest page require the page to be brought
- *    back into sync before proceeding.  This must be done under the
- *    paging lock so that the page is guaranteed to remain synced until
- *    the operation completes.
- *
- *    Exceptions to this rule: the pagefault and invlpg handlers may
- *    update only one entry on an out-of-sync page without resyncing it.
- *
- * 3. Operations on shadows that do not start from a guest page need to
- *    be aware that they may be handling an out-of-sync shadow.
- *
- * 4. Operations that do not normally take the paging lock (fast-path
- *    #PF handler, INVLPG) must fall back to a locking, syncing version
- *    if they see an out-of-sync table.
- *
- * 5. Operations corresponding to guest TLB flushes (MOV CR3, INVLPG)
- *    must explicitly resync all relevant pages or update their
- *    shadows.
- *
- * Currently out-of-sync pages are listed in a simple open-addressed
- * hash table with a second chance (must resist temptation to radically
- * over-engineer hash tables...)  The virtual address of the access
- * which caused us to unsync the page is also kept in the hash table, as
- * a hint for finding the writable mappings later.
- *
- * We keep a hash per vcpu, because we want as much as possible to do
- * the re-sync on the save vcpu we did the unsync on, so the VA hint
- * will be valid.
- */
-
-static void sh_oos_audit(struct domain *d)
-{
-    unsigned int idx, expected_idx, expected_idx_alt;
-    struct page_info *pg;
-    struct vcpu *v;
-
-    for_each_vcpu(d, v)
-    {
-        for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
-        {
-            mfn_t *oos = v->arch.paging.shadow.oos;
-            if ( mfn_eq(oos[idx], INVALID_MFN) )
-                continue;
-
-            expected_idx = mfn_x(oos[idx]) % SHADOW_OOS_PAGES;
-            expected_idx_alt = ((expected_idx + 1) % SHADOW_OOS_PAGES);
-            if ( idx != expected_idx && idx != expected_idx_alt )
-            {
-                printk("%s: idx %x contains gmfn %lx, expected at %x or %x.\n",
-                       __func__, idx, mfn_x(oos[idx]),
-                       expected_idx, expected_idx_alt);
-                BUG();
-            }
-            pg = mfn_to_page(oos[idx]);
-            if ( !(pg->count_info & PGC_shadowed_pt) )
-            {
-                printk("%s: idx %x gmfn %lx not a pt (count %lx)\n",
-                       __func__, idx, mfn_x(oos[idx]), pg->count_info);
-                BUG();
-            }
-            if ( !(pg->shadow_flags & SHF_out_of_sync) )
-            {
-                printk("%s: idx %x gmfn %lx not marked oos (flags %x)\n",
-                       __func__, idx, mfn_x(oos[idx]), pg->shadow_flags);
-                BUG();
-            }
-            if ( (pg->shadow_flags & SHF_page_type_mask & ~SHF_L1_ANY) )
-            {
-                printk("%s: idx %x gmfn %lx shadowed as non-l1 (flags %x)\n",
-                       __func__, idx, mfn_x(oos[idx]), pg->shadow_flags);
-                BUG();
-            }
-        }
-    }
-}
-
-#if SHADOW_AUDIT & SHADOW_AUDIT_ENTRIES
-void oos_audit_hash_is_present(struct domain *d, mfn_t gmfn)
-{
-    int idx;
-    struct vcpu *v;
-    mfn_t *oos;
-
-    ASSERT(mfn_is_out_of_sync(gmfn));
-
-    for_each_vcpu(d, v)
-    {
-        oos = v->arch.paging.shadow.oos;
-        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
-        if ( !mfn_eq(oos[idx], gmfn) )
-            idx = (idx + 1) % SHADOW_OOS_PAGES;
-
-        if ( mfn_eq(oos[idx], gmfn) )
-            return;
-    }
-
-    printk(XENLOG_ERR "gmfn %"PRI_mfn" marked OOS but not in hash table\n",
-           mfn_x(gmfn));
-    BUG();
-}
-#endif
-
-/* Update the shadow, but keep the page out of sync. */
-static inline void _sh_resync_l1(struct vcpu *v, mfn_t gmfn, mfn_t snpmfn)
-{
-    struct page_info *pg = mfn_to_page(gmfn);
-
-    ASSERT(mfn_valid(gmfn));
-    ASSERT(page_is_out_of_sync(pg));
-
-    /* Call out to the appropriate per-mode resyncing function */
-    if ( pg->shadow_flags & SHF_L1_32 )
-        SHADOW_INTERNAL_NAME(sh_resync_l1, 2)(v, gmfn, snpmfn);
-    else if ( pg->shadow_flags & SHF_L1_PAE )
-        SHADOW_INTERNAL_NAME(sh_resync_l1, 3)(v, gmfn, snpmfn);
-    else if ( pg->shadow_flags & SHF_L1_64 )
-        SHADOW_INTERNAL_NAME(sh_resync_l1, 4)(v, gmfn, snpmfn);
-}
-
-static int sh_remove_write_access_from_sl1p(struct domain *d, mfn_t gmfn,
-                                            mfn_t smfn, unsigned long off)
-{
-    ASSERT(mfn_valid(smfn));
-    ASSERT(mfn_valid(gmfn));
-
-    switch ( mfn_to_page(smfn)->u.sh.type )
-    {
-    case SH_type_l1_32_shadow:
-    case SH_type_fl1_32_shadow:
-        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 2)
-            (d, gmfn, smfn, off);
-
-    case SH_type_l1_pae_shadow:
-    case SH_type_fl1_pae_shadow:
-        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 3)
-            (d, gmfn, smfn, off);
-
-    case SH_type_l1_64_shadow:
-    case SH_type_fl1_64_shadow:
-        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 4)
-            (d, gmfn, smfn, off);
-
-    default:
-        return 0;
-    }
-}
-
-/*
- * Fixup arrays: We limit the maximum number of writable mappings to
- * SHADOW_OOS_FIXUPS and store enough information to remove them
- * quickly on resync.
- */
-
-static inline int oos_fixup_flush_gmfn(struct vcpu *v, mfn_t gmfn,
-                                       struct oos_fixup *fixup)
-{
-    struct domain *d = v->domain;
-    int i;
-    for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )
-    {
-        if ( !mfn_eq(fixup->smfn[i], INVALID_MFN) )
-        {
-            sh_remove_write_access_from_sl1p(d, gmfn,
-                                             fixup->smfn[i],
-                                             fixup->off[i]);
-            fixup->smfn[i] = INVALID_MFN;
-        }
-    }
-
-    /* Always flush the TLBs. See comment on oos_fixup_add(). */
-    return 1;
-}
-
-void oos_fixup_add(struct domain *d, mfn_t gmfn,
-                   mfn_t smfn,  unsigned long off)
-{
-    int idx, next;
-    mfn_t *oos;
-    struct oos_fixup *oos_fixup;
-    struct vcpu *v;
-
-    perfc_incr(shadow_oos_fixup_add);
-
-    for_each_vcpu(d, v)
-    {
-        oos = v->arch.paging.shadow.oos;
-        oos_fixup = v->arch.paging.shadow.oos_fixup;
-        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
-        if ( !mfn_eq(oos[idx], gmfn) )
-            idx = (idx + 1) % SHADOW_OOS_PAGES;
-        if ( mfn_eq(oos[idx], gmfn) )
-        {
-            int i;
-            for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )
-            {
-                if ( mfn_eq(oos_fixup[idx].smfn[i], smfn)
-                     && (oos_fixup[idx].off[i] == off) )
-                    return;
-            }
-
-            next = oos_fixup[idx].next;
-
-            if ( !mfn_eq(oos_fixup[idx].smfn[next], INVALID_MFN) )
-            {
-                TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_OOS_FIXUP_EVICT);
-
-                /* Reuse this slot and remove current writable mapping. */
-                sh_remove_write_access_from_sl1p(d, gmfn,
-                                                 oos_fixup[idx].smfn[next],
-                                                 oos_fixup[idx].off[next]);
-                perfc_incr(shadow_oos_fixup_evict);
-                /* We should flush the TLBs now, because we removed a
-                   writable mapping, but since the shadow is already
-                   OOS we have no problem if another vcpu write to
-                   this page table. We just have to be very careful to
-                   *always* flush the tlbs on resync. */
-            }
-
-            oos_fixup[idx].smfn[next] = smfn;
-            oos_fixup[idx].off[next] = off;
-            oos_fixup[idx].next = (next + 1) % SHADOW_OOS_FIXUPS;
-
-            TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_OOS_FIXUP_ADD);
-            return;
-        }
-    }
-
-    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
-           mfn_x(gmfn));
-    BUG();
-}
-
-static int oos_remove_write_access(struct vcpu *v, mfn_t gmfn,
-                                   struct oos_fixup *fixup)
-{
-    struct domain *d = v->domain;
-    int ftlb = 0;
-
-    ftlb |= oos_fixup_flush_gmfn(v, gmfn, fixup);
-
-    switch ( sh_remove_write_access(d, gmfn, 0, 0) )
-    {
-    default:
-    case 0:
-        break;
-
-    case 1:
-        ftlb |= 1;
-        break;
-
-    case -1:
-        /* An unfindable writeable typecount has appeared, probably via a
-         * grant table entry: can't shoot the mapping, so try to unshadow
-         * the page.  If that doesn't work either, the guest is granting
-         * his pagetables and must be killed after all.
-         * This will flush the tlb, so we can return with no worries. */
-        shadow_remove_all_shadows(d, gmfn);
-        return 1;
-    }
-
-    if ( ftlb )
-        guest_flush_tlb_mask(d, d->dirty_cpumask);
-
-    return 0;
-}
-
-
-static inline void trace_resync(int event, mfn_t gmfn)
-{
-    if ( tb_init_done )
-    {
-        /* Convert gmfn to gfn */
-        gfn_t gfn = mfn_to_gfn(current->domain, gmfn);
-
-        __trace_var(event, 0/*!tsc*/, sizeof(gfn), &gfn);
-    }
-}
-
-/* Pull all the entries on an out-of-sync page back into sync. */
-static void _sh_resync(struct vcpu *v, mfn_t gmfn,
-                       struct oos_fixup *fixup, mfn_t snp)
-{
-    struct page_info *pg = mfn_to_page(gmfn);
-
-    ASSERT(paging_locked_by_me(v->domain));
-    ASSERT(mfn_is_out_of_sync(gmfn));
-    /* Guest page must be shadowed *only* as L1 when out of sync. */
-    ASSERT(!(mfn_to_page(gmfn)->shadow_flags & SHF_page_type_mask
-             & ~SHF_L1_ANY));
-    ASSERT(!sh_page_has_multiple_shadows(mfn_to_page(gmfn)));
-
-    SHADOW_PRINTK("%pv gmfn=%"PRI_mfn"\n", v, mfn_x(gmfn));
-
-    /* Need to pull write access so the page *stays* in sync. */
-    if ( oos_remove_write_access(v, gmfn, fixup) )
-    {
-        /* Page has been unshadowed. */
-        return;
-    }
-
-    /* No more writable mappings of this page, please */
-    pg->shadow_flags &= ~SHF_oos_may_write;
-
-    /* Update the shadows with current guest entries. */
-    _sh_resync_l1(v, gmfn, snp);
-
-    /* Now we know all the entries are synced, and will stay that way */
-    pg->shadow_flags &= ~SHF_out_of_sync;
-    perfc_incr(shadow_resync);
-    trace_resync(TRC_SHADOW_RESYNC_FULL, gmfn);
-}
-
-
-/* Add an MFN to the list of out-of-sync guest pagetables */
-static void oos_hash_add(struct vcpu *v, mfn_t gmfn)
-{
-    int i, idx, oidx, swap = 0;
-    mfn_t *oos = v->arch.paging.shadow.oos;
-    mfn_t *oos_snapshot = v->arch.paging.shadow.oos_snapshot;
-    struct oos_fixup *oos_fixup = v->arch.paging.shadow.oos_fixup;
-    struct oos_fixup fixup = { .next = 0 };
-
-    for (i = 0; i < SHADOW_OOS_FIXUPS; i++ )
-        fixup.smfn[i] = INVALID_MFN;
-
-    idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
-    oidx = idx;
-
-    if ( !mfn_eq(oos[idx], INVALID_MFN)
-         && (mfn_x(oos[idx]) % SHADOW_OOS_PAGES) == idx )
-    {
-        /* Punt the current occupant into the next slot */
-        SWAP(oos[idx], gmfn);
-        SWAP(oos_fixup[idx], fixup);
-        swap = 1;
-        idx = (idx + 1) % SHADOW_OOS_PAGES;
-    }
-    if ( !mfn_eq(oos[idx], INVALID_MFN) )
-    {
-        /* Crush the current occupant. */
-        _sh_resync(v, oos[idx], &oos_fixup[idx], oos_snapshot[idx]);
-        perfc_incr(shadow_unsync_evict);
-    }
-    oos[idx] = gmfn;
-    oos_fixup[idx] = fixup;
-
-    if ( swap )
-        SWAP(oos_snapshot[idx], oos_snapshot[oidx]);
-
-    copy_domain_page(oos_snapshot[oidx], oos[oidx]);
-}
-
-/* Remove an MFN from the list of out-of-sync guest pagetables */
-static void oos_hash_remove(struct domain *d, mfn_t gmfn)
-{
-    int idx;
-    mfn_t *oos;
-    struct vcpu *v;
-
-    SHADOW_PRINTK("d%d gmfn %lx\n", d->domain_id, mfn_x(gmfn));
-
-    for_each_vcpu(d, v)
-    {
-        oos = v->arch.paging.shadow.oos;
-        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
-        if ( !mfn_eq(oos[idx], gmfn) )
-            idx = (idx + 1) % SHADOW_OOS_PAGES;
-        if ( mfn_eq(oos[idx], gmfn) )
-        {
-            oos[idx] = INVALID_MFN;
-            return;
-        }
-    }
-
-    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
-           mfn_x(gmfn));
-    BUG();
-}
-
-mfn_t oos_snapshot_lookup(struct domain *d, mfn_t gmfn)
-{
-    int idx;
-    mfn_t *oos;
-    mfn_t *oos_snapshot;
-    struct vcpu *v;
-
-    for_each_vcpu(d, v)
-    {
-        oos = v->arch.paging.shadow.oos;
-        oos_snapshot = v->arch.paging.shadow.oos_snapshot;
-        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
-        if ( !mfn_eq(oos[idx], gmfn) )
-            idx = (idx + 1) % SHADOW_OOS_PAGES;
-        if ( mfn_eq(oos[idx], gmfn) )
-        {
-            return oos_snapshot[idx];
-        }
-    }
-
-    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
-           mfn_x(gmfn));
-    BUG();
-}
-
-/* Pull a single guest page back into sync */
-void sh_resync(struct domain *d, mfn_t gmfn)
-{
-    int idx;
-    mfn_t *oos;
-    mfn_t *oos_snapshot;
-    struct oos_fixup *oos_fixup;
-    struct vcpu *v;
-
-    for_each_vcpu(d, v)
-    {
-        oos = v->arch.paging.shadow.oos;
-        oos_fixup = v->arch.paging.shadow.oos_fixup;
-        oos_snapshot = v->arch.paging.shadow.oos_snapshot;
-        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
-        if ( !mfn_eq(oos[idx], gmfn) )
-            idx = (idx + 1) % SHADOW_OOS_PAGES;
-
-        if ( mfn_eq(oos[idx], gmfn) )
-        {
-            _sh_resync(v, gmfn, &oos_fixup[idx], oos_snapshot[idx]);
-            oos[idx] = INVALID_MFN;
-            return;
-        }
-    }
-
-    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
-           mfn_x(gmfn));
-    BUG();
-}
-
-/* Figure out whether it's definitely safe not to sync this l1 table,
- * by making a call out to the mode in which that shadow was made. */
-static int sh_skip_sync(struct vcpu *v, mfn_t gl1mfn)
-{
-    struct page_info *pg = mfn_to_page(gl1mfn);
-    if ( pg->shadow_flags & SHF_L1_32 )
-        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 2)(v, gl1mfn);
-    else if ( pg->shadow_flags & SHF_L1_PAE )
-        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 3)(v, gl1mfn);
-    else if ( pg->shadow_flags & SHF_L1_64 )
-        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 4)(v, gl1mfn);
-    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not shadowed as an l1\n",
-           mfn_x(gl1mfn));
-    BUG();
-}
-
-
-/* Pull all out-of-sync pages back into sync.  Pages brought out of sync
- * on other vcpus are allowed to remain out of sync, but their contents
- * will be made safe (TLB flush semantics); pages unsynced by this vcpu
- * are brought back into sync and write-protected.  If skip != 0, we try
- * to avoid resyncing at all if we think we can get away with it. */
-void sh_resync_all(struct vcpu *v, int skip, int this, int others)
-{
-    int idx;
-    struct vcpu *other;
-    mfn_t *oos = v->arch.paging.shadow.oos;
-    mfn_t *oos_snapshot = v->arch.paging.shadow.oos_snapshot;
-    struct oos_fixup *oos_fixup = v->arch.paging.shadow.oos_fixup;
-
-    SHADOW_PRINTK("%pv\n", v);
-
-    ASSERT(paging_locked_by_me(v->domain));
-
-    if ( !this )
-        goto resync_others;
-
-    /* First: resync all of this vcpu's oos pages */
-    for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
-        if ( !mfn_eq(oos[idx], INVALID_MFN) )
-        {
-            /* Write-protect and sync contents */
-            _sh_resync(v, oos[idx], &oos_fixup[idx], oos_snapshot[idx]);
-            oos[idx] = INVALID_MFN;
-        }
-
- resync_others:
-    if ( !others )
-        return;
-
-    /* Second: make all *other* vcpus' oos pages safe. */
-    for_each_vcpu(v->domain, other)
-    {
-        if ( v == other )
-            continue;
-
-        oos = other->arch.paging.shadow.oos;
-        oos_fixup = other->arch.paging.shadow.oos_fixup;
-        oos_snapshot = other->arch.paging.shadow.oos_snapshot;
-
-        for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
-        {
-            if ( mfn_eq(oos[idx], INVALID_MFN) )
-                continue;
-
-            if ( skip )
-            {
-                /* Update the shadows and leave the page OOS. */
-                if ( sh_skip_sync(v, oos[idx]) )
-                    continue;
-                trace_resync(TRC_SHADOW_RESYNC_ONLY, oos[idx]);
-                _sh_resync_l1(other, oos[idx], oos_snapshot[idx]);
-            }
-            else
-            {
-                /* Write-protect and sync contents */
-                _sh_resync(other, oos[idx], &oos_fixup[idx], oos_snapshot[idx]);
-                oos[idx] = INVALID_MFN;
-            }
-        }
-    }
-}
-
-/* Allow a shadowed page to go out of sync. Unsyncs are traced in
- * multi.c:sh_page_fault() */
-int sh_unsync(struct vcpu *v, mfn_t gmfn)
-{
-    struct page_info *pg;
-
-    ASSERT(paging_locked_by_me(v->domain));
-
-    SHADOW_PRINTK("%pv gmfn=%"PRI_mfn"\n", v, mfn_x(gmfn));
-
-    pg = mfn_to_page(gmfn);
-
-    /* Guest page must be shadowed *only* as L1 and *only* once when out
-     * of sync.  Also, get out now if it's already out of sync.
-     * Also, can't safely unsync if some vcpus have paging disabled.*/
-    if ( pg->shadow_flags &
-         ((SHF_page_type_mask & ~SHF_L1_ANY) | SHF_out_of_sync)
-         || sh_page_has_multiple_shadows(pg)
-         || !is_hvm_vcpu(v)
-         || !v->domain->arch.paging.shadow.oos_active )
-        return 0;
-
-    BUILD_BUG_ON(!(typeof(pg->shadow_flags))SHF_out_of_sync);
-    BUILD_BUG_ON(!(typeof(pg->shadow_flags))SHF_oos_may_write);
-
-    pg->shadow_flags |= SHF_out_of_sync|SHF_oos_may_write;
-    oos_hash_add(v, gmfn);
-    perfc_incr(shadow_unsync);
-    TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_UNSYNC);
-    return 1;
-}
-
-#endif /* (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC) */
-
-
 /**************************************************************************/
 /* Code for "promoting" a guest page to the point where the shadow code is
  * willing to let it be treated as a guest page table.  This generally
--- /dev/null
+++ b/xen/arch/x86/mm/shadow/oos.c
@@ -0,0 +1,606 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/******************************************************************************
+ * arch/x86/mm/shadow/oos.c
+ *
+ * Shadow code dealing with out-of-sync shadows.
+ * Parts of this code are Copyright (c) 2006 by XenSource Inc.
+ * Parts of this code are Copyright (c) 2006 by Michael A Fetterman
+ * Parts based on earlier work by Michael A Fetterman, Ian Pratt et al.
+ */
+
+#include "private.h"
+
+#if (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC)
+
+#include <xen/trace.h>
+
+#include <asm/shadow.h>
+
+/*
+ * From time to time, we let a shadowed pagetable page go out of sync
+ * with its shadow: the guest is allowed to write directly to the page,
+ * and those writes are not synchronously reflected in the shadow.
+ * This lets us avoid many emulations if the guest is writing a lot to a
+ * pagetable, but it relaxes a pretty important invariant in the shadow
+ * pagetable design.  Therefore, some rules:
+ *
+ * 1. Only L1 pagetables may go out of sync: any page that is shadowed
+ *    at at higher level must be synchronously updated.  This makes
+ *    using linear shadow pagetables much less dangerous.
+ *    That means that: (a) unsyncing code needs to check for higher-level
+ *    shadows, and (b) promotion code needs to resync.
+ *
+ * 2. All shadow operations on a guest page require the page to be brought
+ *    back into sync before proceeding.  This must be done under the
+ *    paging lock so that the page is guaranteed to remain synced until
+ *    the operation completes.
+ *
+ *    Exceptions to this rule: the pagefault and invlpg handlers may
+ *    update only one entry on an out-of-sync page without resyncing it.
+ *
+ * 3. Operations on shadows that do not start from a guest page need to
+ *    be aware that they may be handling an out-of-sync shadow.
+ *
+ * 4. Operations that do not normally take the paging lock (fast-path
+ *    #PF handler, INVLPG) must fall back to a locking, syncing version
+ *    if they see an out-of-sync table.
+ *
+ * 5. Operations corresponding to guest TLB flushes (MOV CR3, INVLPG)
+ *    must explicitly resync all relevant pages or update their
+ *    shadows.
+ *
+ * Currently out-of-sync pages are listed in a simple open-addressed
+ * hash table with a second chance (must resist temptation to radically
+ * over-engineer hash tables...)  The virtual address of the access
+ * which caused us to unsync the page is also kept in the hash table, as
+ * a hint for finding the writable mappings later.
+ *
+ * We keep a hash per vcpu, because we want as much as possible to do
+ * the re-sync on the save vcpu we did the unsync on, so the VA hint
+ * will be valid.
+ */
+
+#if SHADOW_AUDIT & SHADOW_AUDIT_ENTRIES_FULL
+void sh_oos_audit(struct domain *d)
+{
+    unsigned int idx, expected_idx, expected_idx_alt;
+    struct page_info *pg;
+    struct vcpu *v;
+
+    for_each_vcpu(d, v)
+    {
+        for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
+        {
+            mfn_t *oos = v->arch.paging.shadow.oos;
+
+            if ( mfn_eq(oos[idx], INVALID_MFN) )
+                continue;
+
+            expected_idx = mfn_x(oos[idx]) % SHADOW_OOS_PAGES;
+            expected_idx_alt = ((expected_idx + 1) % SHADOW_OOS_PAGES);
+            if ( idx != expected_idx && idx != expected_idx_alt )
+            {
+                printk("%s: idx %x contains gmfn %lx, expected at %x or %x.\n",
+                       __func__, idx, mfn_x(oos[idx]),
+                       expected_idx, expected_idx_alt);
+                BUG();
+            }
+            pg = mfn_to_page(oos[idx]);
+            if ( !(pg->count_info & PGC_shadowed_pt) )
+            {
+                printk("%s: idx %x gmfn %lx not a pt (count %lx)\n",
+                       __func__, idx, mfn_x(oos[idx]), pg->count_info);
+                BUG();
+            }
+            if ( !(pg->shadow_flags & SHF_out_of_sync) )
+            {
+                printk("%s: idx %x gmfn %lx not marked oos (flags %x)\n",
+                       __func__, idx, mfn_x(oos[idx]), pg->shadow_flags);
+                BUG();
+            }
+            if ( (pg->shadow_flags & SHF_page_type_mask & ~SHF_L1_ANY) )
+            {
+                printk("%s: idx %x gmfn %lx shadowed as non-l1 (flags %x)\n",
+                       __func__, idx, mfn_x(oos[idx]), pg->shadow_flags);
+                BUG();
+            }
+        }
+    }
+}
+#endif
+
+#if SHADOW_AUDIT & SHADOW_AUDIT_ENTRIES
+void oos_audit_hash_is_present(struct domain *d, mfn_t gmfn)
+{
+    int idx;
+    struct vcpu *v;
+    mfn_t *oos;
+
+    ASSERT(mfn_is_out_of_sync(gmfn));
+
+    for_each_vcpu(d, v)
+    {
+        oos = v->arch.paging.shadow.oos;
+        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
+        if ( !mfn_eq(oos[idx], gmfn) )
+            idx = (idx + 1) % SHADOW_OOS_PAGES;
+
+        if ( mfn_eq(oos[idx], gmfn) )
+            return;
+    }
+
+    printk(XENLOG_ERR "gmfn %"PRI_mfn" marked OOS but not in hash table\n",
+           mfn_x(gmfn));
+    BUG();
+}
+#endif
+
+/* Update the shadow, but keep the page out of sync. */
+static inline void _sh_resync_l1(struct vcpu *v, mfn_t gmfn, mfn_t snpmfn)
+{
+    struct page_info *pg = mfn_to_page(gmfn);
+
+    ASSERT(mfn_valid(gmfn));
+    ASSERT(page_is_out_of_sync(pg));
+
+    /* Call out to the appropriate per-mode resyncing function */
+    if ( pg->shadow_flags & SHF_L1_32 )
+        SHADOW_INTERNAL_NAME(sh_resync_l1, 2)(v, gmfn, snpmfn);
+    else if ( pg->shadow_flags & SHF_L1_PAE )
+        SHADOW_INTERNAL_NAME(sh_resync_l1, 3)(v, gmfn, snpmfn);
+    else if ( pg->shadow_flags & SHF_L1_64 )
+        SHADOW_INTERNAL_NAME(sh_resync_l1, 4)(v, gmfn, snpmfn);
+}
+
+static int sh_remove_write_access_from_sl1p(struct domain *d, mfn_t gmfn,
+                                            mfn_t smfn, unsigned long off)
+{
+    ASSERT(mfn_valid(smfn));
+    ASSERT(mfn_valid(gmfn));
+
+    switch ( mfn_to_page(smfn)->u.sh.type )
+    {
+    case SH_type_l1_32_shadow:
+    case SH_type_fl1_32_shadow:
+        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 2)
+            (d, gmfn, smfn, off);
+
+    case SH_type_l1_pae_shadow:
+    case SH_type_fl1_pae_shadow:
+        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 3)
+            (d, gmfn, smfn, off);
+
+    case SH_type_l1_64_shadow:
+    case SH_type_fl1_64_shadow:
+        return SHADOW_INTERNAL_NAME(sh_rm_write_access_from_sl1p, 4)
+            (d, gmfn, smfn, off);
+
+    default:
+        return 0;
+    }
+}
+
+/*
+ * Fixup arrays: We limit the maximum number of writable mappings to
+ * SHADOW_OOS_FIXUPS and store enough information to remove them
+ * quickly on resync.
+ */
+
+static inline int oos_fixup_flush_gmfn(struct vcpu *v, mfn_t gmfn,
+                                       struct oos_fixup *fixup)
+{
+    struct domain *d = v->domain;
+    int i;
+    for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )
+    {
+        if ( !mfn_eq(fixup->smfn[i], INVALID_MFN) )
+        {
+            sh_remove_write_access_from_sl1p(d, gmfn,
+                                             fixup->smfn[i],
+                                             fixup->off[i]);
+            fixup->smfn[i] = INVALID_MFN;
+        }
+    }
+
+    /* Always flush the TLBs. See comment on oos_fixup_add(). */
+    return 1;
+}
+
+void oos_fixup_add(struct domain *d, mfn_t gmfn,
+                   mfn_t smfn,  unsigned long off)
+{
+    int idx, next;
+    mfn_t *oos;
+    struct oos_fixup *oos_fixup;
+    struct vcpu *v;
+
+    perfc_incr(shadow_oos_fixup_add);
+
+    for_each_vcpu(d, v)
+    {
+        oos = v->arch.paging.shadow.oos;
+        oos_fixup = v->arch.paging.shadow.oos_fixup;
+        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
+        if ( !mfn_eq(oos[idx], gmfn) )
+            idx = (idx + 1) % SHADOW_OOS_PAGES;
+        if ( mfn_eq(oos[idx], gmfn) )
+        {
+            int i;
+            for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )
+            {
+                if ( mfn_eq(oos_fixup[idx].smfn[i], smfn) &&
+                     (oos_fixup[idx].off[i] == off) )
+                    return;
+            }
+
+            next = oos_fixup[idx].next;
+
+            if ( !mfn_eq(oos_fixup[idx].smfn[next], INVALID_MFN) )
+            {
+                TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_OOS_FIXUP_EVICT);
+
+                /* Reuse this slot and remove current writable mapping. */
+                sh_remove_write_access_from_sl1p(d, gmfn,
+                                                 oos_fixup[idx].smfn[next],
+                                                 oos_fixup[idx].off[next]);
+                perfc_incr(shadow_oos_fixup_evict);
+                /*
+                 * We should flush the TLBs now, because we removed a
+                 * writable mapping, but since the shadow is already
+                 * OOS we have no problem if another vcpu write to
+                 * this page table. We just have to be very careful to
+                 * *always* flush the tlbs on resync.
+                 */
+            }
+
+            oos_fixup[idx].smfn[next] = smfn;
+            oos_fixup[idx].off[next] = off;
+            oos_fixup[idx].next = (next + 1) % SHADOW_OOS_FIXUPS;
+
+            TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_OOS_FIXUP_ADD);
+            return;
+        }
+    }
+
+    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
+           mfn_x(gmfn));
+    BUG();
+}
+
+static int oos_remove_write_access(struct vcpu *v, mfn_t gmfn,
+                                   struct oos_fixup *fixup)
+{
+    struct domain *d = v->domain;
+    int ftlb = 0;
+
+    ftlb |= oos_fixup_flush_gmfn(v, gmfn, fixup);
+
+    switch ( sh_remove_write_access(d, gmfn, 0, 0) )
+    {
+    default:
+    case 0:
+        break;
+
+    case 1:
+        ftlb |= 1;
+        break;
+
+    case -1:
+        /*
+         * An unfindable writeable typecount has appeared, probably via a
+         * grant table entry: can't shoot the mapping, so try to unshadow
+         * the page.  If that doesn't work either, the guest is granting
+         * his pagetables and must be killed after all.
+         * This will flush the tlb, so we can return with no worries.
+         */
+        shadow_remove_all_shadows(d, gmfn);
+        return 1;
+    }
+
+    if ( ftlb )
+        guest_flush_tlb_mask(d, d->dirty_cpumask);
+
+    return 0;
+}
+
+static inline void trace_resync(int event, mfn_t gmfn)
+{
+    if ( tb_init_done )
+    {
+        /* Convert gmfn to gfn */
+        gfn_t gfn = mfn_to_gfn(current->domain, gmfn);
+
+        __trace_var(event, 0/*!tsc*/, sizeof(gfn), &gfn);
+    }
+}
+
+/* Pull all the entries on an out-of-sync page back into sync. */
+static void _sh_resync(struct vcpu *v, mfn_t gmfn,
+                       struct oos_fixup *fixup, mfn_t snp)
+{
+    struct page_info *pg = mfn_to_page(gmfn);
+
+    ASSERT(paging_locked_by_me(v->domain));
+    ASSERT(mfn_is_out_of_sync(gmfn));
+    /* Guest page must be shadowed *only* as L1 when out of sync. */
+    ASSERT(!(mfn_to_page(gmfn)->shadow_flags & SHF_page_type_mask
+             & ~SHF_L1_ANY));
+    ASSERT(!sh_page_has_multiple_shadows(mfn_to_page(gmfn)));
+
+    SHADOW_PRINTK("%pv gmfn=%"PRI_mfn"\n", v, mfn_x(gmfn));
+
+    /* Need to pull write access so the page *stays* in sync. */
+    if ( oos_remove_write_access(v, gmfn, fixup) )
+    {
+        /* Page has been unshadowed. */
+        return;
+    }
+
+    /* No more writable mappings of this page, please */
+    pg->shadow_flags &= ~SHF_oos_may_write;
+
+    /* Update the shadows with current guest entries. */
+    _sh_resync_l1(v, gmfn, snp);
+
+    /* Now we know all the entries are synced, and will stay that way */
+    pg->shadow_flags &= ~SHF_out_of_sync;
+    perfc_incr(shadow_resync);
+    trace_resync(TRC_SHADOW_RESYNC_FULL, gmfn);
+}
+
+/* Add an MFN to the list of out-of-sync guest pagetables */
+static void oos_hash_add(struct vcpu *v, mfn_t gmfn)
+{
+    int i, idx, oidx, swap = 0;
+    mfn_t *oos = v->arch.paging.shadow.oos;
+    mfn_t *oos_snapshot = v->arch.paging.shadow.oos_snapshot;
+    struct oos_fixup *oos_fixup = v->arch.paging.shadow.oos_fixup;
+    struct oos_fixup fixup = { .next = 0 };
+
+    for ( i = 0; i < SHADOW_OOS_FIXUPS; i++ )
+        fixup.smfn[i] = INVALID_MFN;
+
+    idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
+    oidx = idx;
+
+    if ( !mfn_eq(oos[idx], INVALID_MFN) &&
+         (mfn_x(oos[idx]) % SHADOW_OOS_PAGES) == idx )
+    {
+        /* Punt the current occupant into the next slot */
+        SWAP(oos[idx], gmfn);
+        SWAP(oos_fixup[idx], fixup);
+        swap = 1;
+        idx = (idx + 1) % SHADOW_OOS_PAGES;
+    }
+    if ( !mfn_eq(oos[idx], INVALID_MFN) )
+    {
+        /* Crush the current occupant. */
+        _sh_resync(v, oos[idx], &oos_fixup[idx], oos_snapshot[idx]);
+        perfc_incr(shadow_unsync_evict);
+    }
+    oos[idx] = gmfn;
+    oos_fixup[idx] = fixup;
+
+    if ( swap )
+        SWAP(oos_snapshot[idx], oos_snapshot[oidx]);
+
+    copy_domain_page(oos_snapshot[oidx], oos[oidx]);
+}
+
+/* Remove an MFN from the list of out-of-sync guest pagetables */
+void oos_hash_remove(struct domain *d, mfn_t gmfn)
+{
+    int idx;
+    mfn_t *oos;
+    struct vcpu *v;
+
+    SHADOW_PRINTK("d%d gmfn %lx\n", d->domain_id, mfn_x(gmfn));
+
+    for_each_vcpu(d, v)
+    {
+        oos = v->arch.paging.shadow.oos;
+        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
+        if ( !mfn_eq(oos[idx], gmfn) )
+            idx = (idx + 1) % SHADOW_OOS_PAGES;
+        if ( mfn_eq(oos[idx], gmfn) )
+        {
+            oos[idx] = INVALID_MFN;
+            return;
+        }
+    }
+
+    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
+           mfn_x(gmfn));
+    BUG();
+}
+
+mfn_t oos_snapshot_lookup(struct domain *d, mfn_t gmfn)
+{
+    int idx;
+    mfn_t *oos;
+    mfn_t *oos_snapshot;
+    struct vcpu *v;
+
+    for_each_vcpu(d, v)
+    {
+        oos = v->arch.paging.shadow.oos;
+        oos_snapshot = v->arch.paging.shadow.oos_snapshot;
+        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
+        if ( !mfn_eq(oos[idx], gmfn) )
+            idx = (idx + 1) % SHADOW_OOS_PAGES;
+        if ( mfn_eq(oos[idx], gmfn) )
+        {
+            return oos_snapshot[idx];
+        }
+    }
+
+    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
+           mfn_x(gmfn));
+    BUG();
+}
+
+/* Pull a single guest page back into sync */
+void sh_resync(struct domain *d, mfn_t gmfn)
+{
+    int idx;
+    mfn_t *oos;
+    mfn_t *oos_snapshot;
+    struct oos_fixup *oos_fixup;
+    struct vcpu *v;
+
+    for_each_vcpu(d, v)
+    {
+        oos = v->arch.paging.shadow.oos;
+        oos_fixup = v->arch.paging.shadow.oos_fixup;
+        oos_snapshot = v->arch.paging.shadow.oos_snapshot;
+        idx = mfn_x(gmfn) % SHADOW_OOS_PAGES;
+        if ( !mfn_eq(oos[idx], gmfn) )
+            idx = (idx + 1) % SHADOW_OOS_PAGES;
+
+        if ( mfn_eq(oos[idx], gmfn) )
+        {
+            _sh_resync(v, gmfn, &oos_fixup[idx], oos_snapshot[idx]);
+            oos[idx] = INVALID_MFN;
+            return;
+        }
+    }
+
+    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not in hash table\n",
+           mfn_x(gmfn));
+    BUG();
+}
+
+/*
+ * Figure out whether it's definitely safe not to sync this l1 table,
+ * by making a call out to the mode in which that shadow was made.
+ */
+static int sh_skip_sync(struct vcpu *v, mfn_t gl1mfn)
+{
+    struct page_info *pg = mfn_to_page(gl1mfn);
+
+    if ( pg->shadow_flags & SHF_L1_32 )
+        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 2)(v, gl1mfn);
+    else if ( pg->shadow_flags & SHF_L1_PAE )
+        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 3)(v, gl1mfn);
+    else if ( pg->shadow_flags & SHF_L1_64 )
+        return SHADOW_INTERNAL_NAME(sh_safe_not_to_sync, 4)(v, gl1mfn);
+
+    printk(XENLOG_ERR "gmfn %"PRI_mfn" was OOS but not shadowed as an l1\n",
+           mfn_x(gl1mfn));
+    BUG();
+}
+
+/*
+ * Pull all out-of-sync pages back into sync.  Pages brought out of sync
+ * on other vcpus are allowed to remain out of sync, but their contents
+ * will be made safe (TLB flush semantics); pages unsynced by this vcpu
+ * are brought back into sync and write-protected.  If skip != 0, we try
+ * to avoid resyncing at all if we think we can get away with it.
+ */
+void sh_resync_all(struct vcpu *v, int skip, int this, int others)
+{
+    int idx;
+    struct vcpu *other;
+    mfn_t *oos = v->arch.paging.shadow.oos;
+    mfn_t *oos_snapshot = v->arch.paging.shadow.oos_snapshot;
+    struct oos_fixup *oos_fixup = v->arch.paging.shadow.oos_fixup;
+
+    SHADOW_PRINTK("%pv\n", v);
+
+    ASSERT(paging_locked_by_me(v->domain));
+
+    if ( !this )
+        goto resync_others;
+
+    /* First: resync all of this vcpu's oos pages */
+    for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
+        if ( !mfn_eq(oos[idx], INVALID_MFN) )
+        {
+            /* Write-protect and sync contents */
+            _sh_resync(v, oos[idx], &oos_fixup[idx], oos_snapshot[idx]);
+            oos[idx] = INVALID_MFN;
+        }
+
+ resync_others:
+    if ( !others )
+        return;
+
+    /* Second: make all *other* vcpus' oos pages safe. */
+    for_each_vcpu(v->domain, other)
+    {
+        if ( v == other )
+            continue;
+
+        oos = other->arch.paging.shadow.oos;
+        oos_fixup = other->arch.paging.shadow.oos_fixup;
+        oos_snapshot = other->arch.paging.shadow.oos_snapshot;
+
+        for ( idx = 0; idx < SHADOW_OOS_PAGES; idx++ )
+        {
+            if ( mfn_eq(oos[idx], INVALID_MFN) )
+                continue;
+
+            if ( skip )
+            {
+                /* Update the shadows and leave the page OOS. */
+                if ( sh_skip_sync(v, oos[idx]) )
+                    continue;
+                trace_resync(TRC_SHADOW_RESYNC_ONLY, oos[idx]);
+                _sh_resync_l1(other, oos[idx], oos_snapshot[idx]);
+            }
+            else
+            {
+                /* Write-protect and sync contents */
+                _sh_resync(other, oos[idx], &oos_fixup[idx], oos_snapshot[idx]);
+                oos[idx] = INVALID_MFN;
+            }
+        }
+    }
+}
+
+/*
+ * Allow a shadowed page to go out of sync. Unsyncs are traced in
+ * multi.c:sh_page_fault()
+ */
+int sh_unsync(struct vcpu *v, mfn_t gmfn)
+{
+    struct page_info *pg;
+
+    ASSERT(paging_locked_by_me(v->domain));
+
+    SHADOW_PRINTK("%pv gmfn=%"PRI_mfn"\n", v, mfn_x(gmfn));
+
+    pg = mfn_to_page(gmfn);
+
+    /*
+     * Guest page must be shadowed *only* as L1 and *only* once when out
+     * of sync.  Also, get out now if it's already out of sync.
+     * Also, can't safely unsync if some vcpus have paging disabled.
+     */
+    if ( (pg->shadow_flags &
+          ((SHF_page_type_mask & ~SHF_L1_ANY) | SHF_out_of_sync)) ||
+         sh_page_has_multiple_shadows(pg) ||
+         !is_hvm_vcpu(v) ||
+         !v->domain->arch.paging.shadow.oos_active )
+        return 0;
+
+    BUILD_BUG_ON(!(typeof(pg->shadow_flags))SHF_out_of_sync);
+    BUILD_BUG_ON(!(typeof(pg->shadow_flags))SHF_oos_may_write);
+
+    pg->shadow_flags |= SHF_out_of_sync|SHF_oos_may_write;
+    oos_hash_add(v, gmfn);
+    perfc_incr(shadow_unsync);
+    TRACE_SHADOW_PATH_FLAG(TRCE_SFLAG_UNSYNC);
+    return 1;
+}
+
+#endif /* (SHADOW_OPTIMIZATIONS & SHOPT_OUT_OF_SYNC) */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -452,6 +452,7 @@ int sh_unsync(struct vcpu *v, mfn_t gmfn
 /* Pull an out-of-sync page back into sync. */
 void sh_resync(struct domain *d, mfn_t gmfn);
 
+void oos_hash_remove(struct domain *d, mfn_t gmfn);
 void oos_fixup_add(struct domain *d, mfn_t gmfn, mfn_t smfn, unsigned long off);
 
 /* Pull all out-of-sync shadows back into sync.  If skip != 0, we try
@@ -477,6 +478,7 @@ shadow_sync_other_vcpus(struct vcpu *v)
     sh_resync_all(v, 1 /* skip */, 0 /* this */, 1 /* others */);
 }
 
+void sh_oos_audit(struct domain *d);
 void oos_audit_hash_is_present(struct domain *d, mfn_t gmfn);
 mfn_t oos_snapshot_lookup(struct domain *d, mfn_t gmfn);
 



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:30:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:30:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516644.801103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqTt-0002RV-Qa; Thu, 30 Mar 2023 11:30:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516644.801103; Thu, 30 Mar 2023 11: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 1phqTt-0002RN-Mz; Thu, 30 Mar 2023 11:30:13 +0000
Received: by outflank-mailman (input) for mailman id 516644;
 Thu, 30 Mar 2023 11:30:12 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqTr-00017i-Ro
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:30:11 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0615.outbound.protection.outlook.com
 [2a01:111:f400:fe02::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a683b9f-ceee-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 13:30:10 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7262.eurprd04.prod.outlook.com (2603:10a6:800:1ab::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 11:30:08 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11:30:08 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a683b9f-ceee-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kZg0rSseGpV+uzGMN3CDD6fzLffFmJQacHnt3j6X5kZmjcacOTKDYIwtz0iSsGmecLRnjW2U2UV/WNPwomnRE2VD7xZXfp0y18ao0tigI+DUgVKlQLfVWa6ZhJO/k/R8tSF51Fw3xWAh8cEHBW/DRXptN4VDG53HXp4DY7R1s6l3ISXXoH+2BA3BVvp+SZAPsCyFKW7H2ZMwRLG4PoGrf6s5hX1/jZ8wVqTU+RSM68snYriEvZzPxYoKGpiYSRhmbymHu2jrofJILIFs/+VqH0/CfeCKYM8jZaSbnmDFLKS/Fh5lclbP+eaRy2Hx2GlYDQu2Zc9fIKDuYPG28NJZ0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/nCRqVSKvE7qJC49XJOcofUh4xS4zVFI7oAhMmha4Gk=;
 b=gBKO7HrQfPQ1p4JYHO5L+RwKoialoaGihzmoYjE0OijJM51XrhQXMgh8qVdNJAqCpf4U9eOerzqWhUsgFzx1uO5UBkCvKRSEQemb9j3qZpAeu0OyvQq3gYcutlAEWkRFM2bfebDYacXYh9+ii2OZ3jU+btqLkYxkxmBGCkexEV1bHb1VLoTk4EmxL1hxrVwtr+TqBzG1Tu0o8wE1D2Pj0Qxu9HYRZQCnli5JKa4Tb5fKLAggkgbqZkU7CzL7bXE8nxUmtISsFmegbtuvx1lVZqyVlAi1uG2p+8skDAVtMojw8D24YUmpXR4ZApnIeIcGr6Uw8ylyOA7G+rBxMZVAgA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/nCRqVSKvE7qJC49XJOcofUh4xS4zVFI7oAhMmha4Gk=;
 b=AsZrtxFlawKcFYr6M3F7gfKCIqdlDG4+CcaCwREo2YZ4zmUpLom7ZY74V2ZnEo1JFGt4DKEfhHzbjeDZIkIaMrWEtaRcYGxUlniq3vGoYfcvQIZn9WaLlALSUZBj5Ev7IJteP6i1LxYir3xgzuJRkU7XayzZiD73XtLBjHO6h7O6OdGARmTZ1wdWq+LQUMi0XnUFUNPwkQpzHG4CIJT61wAncKT3OsQEPx39qeSliqAqiUl458e1Dk1QsBYFjpdcCziOEBFJG8P8ZJHchJqlrD80FtMu8MUp3TJTuszG7XdCE08nm4NMFElOyVxKZhvJceRIsrNiGIojdNVTXvN5ug==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <66c0efb0-43d4-9e8d-4429-1f2732d2fe38@suse.com>
Date: Thu, 30 Mar 2023 13:30:07 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 08/13] x86/shadow: sh_rm_write_access_from_sl1p() is
 HVM-only
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
In-Reply-To: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0163.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7262:EE_
X-MS-Office365-Filtering-Correlation-Id: 5ae4d77c-384e-43e2-a875-08db31121df1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uIStktsr9a8Mz2F4tWJ9KB+kdMaBOITVxPp8pMlZPamUt5M6J5G0YlDJwkzP9f8hF1rlSHQ+HS0lyWn/brRyCJ/v/xR++tlknSyPoVvHBPbwljx+dXup4YczSnRBxNl4tuWBLn/ifAm1MFaC4cAdkYYQkE7Oj7jsm7virMYgFSKUsdMctXfOiTR5A3WS/H2J2RItzsTxkweeAhL//iXgIJsfEc+icb7VOqew4yfU+SCIpN99Qpkem3h/KHYH2MIVV8faS2jA5cko6OH6duYuvKm2Dm1o316jIKs42+bAMj+AzwQYs/NifUgLqyG8fv58aa2Njo4nQ+wctBJCNhmpi9ffxdRRii3xbxiBSx5BfjAxf4ZVu6qPGU8f0XitfaBwISfJM35isJW6ASkWY8aQ7JZ/ce5YPpocH2x1Jgl1zxZg4OgOJpQFzqmUjHMWqhpFb5WeE1qlFWJ/6Iaz1fc+rHoY1kVN6atoJsXhkm88jWeyv6VCFweLzg98xd1MBTNimdEuKXJDxI1lV4jq+zIkOl+akbEdENOj4xBMrAttlLnZKkBp/sjp5HwDSJt0tQQDgfUK5fBw7/G6lebJ2HSc6w/M114GlU925z0q/I/dH8drUqiIeliIhvekLFgfvjrx/J9wjrgP0e/hyMszEhVl4Crk39Tylt4CVUaEI0izpcdG/n4Du47QgQdBI0kdHRaW
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(396003)(136003)(376002)(39850400004)(451199021)(2616005)(83380400001)(6486002)(26005)(478600001)(316002)(186003)(54906003)(6506007)(2906002)(6512007)(36756003)(5660300002)(8936002)(38100700002)(4326008)(6916009)(66556008)(8676002)(66946007)(31696002)(66476007)(41300700001)(86362001)(31686004)(45980500001)(43740500002)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ti9pM3BOdy9EaUtDVkVIMDJMdnlGSTkzMjF5NGU0RWpEVmcyQ3dONnhHWGFu?=
 =?utf-8?B?alNoR0xxMUFXWHlFRE5Xb0w0dzF2SGFUNDdQVTd6MGM1b0t4SHJjd3IyYlZw?=
 =?utf-8?B?Rk40QjdtdDNod1hYVk5FUFhFRG5QVW9iRHZ2MFprbXJCUnNKd0U4YnFybXow?=
 =?utf-8?B?emp4cDRIdnN5WnpUZmNSbE9YN0ZiSU9hdWE1M0ZUR01jNEdDanFpNHArVE55?=
 =?utf-8?B?Z0cvUkZQc0I4c0svKzhldkEzeDh4L1Y1cmJCMkVDVFZCcUdiRGxRY3JLdmc4?=
 =?utf-8?B?SHNyaTdKTEFmNDJ3ZXpxTjhDNmNvSVg0aldLcGMyMWtQdXVWa1RHUmpMTTRn?=
 =?utf-8?B?ZVliaW1MMXJVSzZhc2NYNENRSWtkZERaTHhTTWpEUHg2Y2RscWJmMmpRMWdm?=
 =?utf-8?B?b3NqUzBRd1l2WWgxTU55VFh4REoySkpnMXlFdy9HYmZMWGx0c1gvWDYrT1Rq?=
 =?utf-8?B?QTBkL3RwVkdmalM0VG1yay91SjFpYSttMWpXUlYvd3lCd244S0hlbXdNSS9x?=
 =?utf-8?B?MkVBb1JuYnB4ZHJmR0RLTytCQXlZdTg4UCt5S1hTZVlqbzlQTHhDQ01YTWhM?=
 =?utf-8?B?SkFiMHNDajg0M2Jkb2VGNmRSY3FMRTFjdldpSXV1aXZPM3NIYnU2K1JWRXVy?=
 =?utf-8?B?bFFSNUp5N3NwTTRERFpJZjRadGRBZlovLzhYUTE2Vk5YNGw3Vnp4WnhaNk5q?=
 =?utf-8?B?U21WVlNpSmlCZWxWMFZQNGE3Zk40ZXNRYTVRL0ErK1FxeUVBdVF5QlN6aVgr?=
 =?utf-8?B?cEpFam95Ukxia2dWSjRkNElGdDRKbDY2K1hvQlFXOGhRMEVhengzR0FVRU5W?=
 =?utf-8?B?d1BJZDFUaWlld3NJVTMyNjhMQzVUakRRaVFlMjVlai9ObU56U3d4Uk5CdEZw?=
 =?utf-8?B?K3JZbFBFYk1QWHlpTUVYYmRwb0dkOWFUcWVpei93Z0JGNTBlbDRVd2lUZlZM?=
 =?utf-8?B?UVpXbmJYeWZ4T3M3Tzdva2QwVXgvVVM3K091ZUNySFh6VFRqVXRBSzg4RldJ?=
 =?utf-8?B?TGpjMXF4QXNBa1BhMXJuZXNQR1JDaGQ1c1JvNjFTdzduQmJzcDNNOXhCN2NK?=
 =?utf-8?B?TktReUFDOXlYaXdSdEpvYkNpajl1b0sxMnFwUTJFYWtud25hOGRTTEY2aDhk?=
 =?utf-8?B?Wk5JSm5SUU8vcEF1QkxLbTE5dEJKMCtpcVlIbjlQSVBBMWFqak5UdWhJNGhu?=
 =?utf-8?B?S21saWVqVklhS2F3RXVtOEJ6V1pFK1BjdDMxWlF4Yyt3V1Brc2EvMzdwSkkx?=
 =?utf-8?B?ak1VZGNWNUVPVGxucytHNDNPR1lIckl5ZXFSRkJYbnBmQk85SFhaK1RveUtJ?=
 =?utf-8?B?MXVVNmFpUHFsTG1RNkQrWHhmajVUZmJNWEovaW1jY3czSDhVYXhBN1p2NDRO?=
 =?utf-8?B?aHFYU0xUblljaGVXamtLWXYwV2NuUlNWdGJWTGVjRHJZUEx5YXAxT1FWaWdK?=
 =?utf-8?B?NmN3SzU3c2pzR3gwV3VIb1RpUGx1dnJIQXRKR0xkTnY5YllOMDVMRGxuL1g5?=
 =?utf-8?B?LzNEcGgrOFlLVm5QUFZHL213VkwrWXh0WlVkYzBwNytTYmZGWkl4ZXRNejJt?=
 =?utf-8?B?YmJBc3FtVVI0QldpQmFIWk55SjltbkxncFdpeFlESzhLd040Y0pEZlRsbnVK?=
 =?utf-8?B?WkFocjVjL01kL0l6ckhqQU52cGNaWCtOL1dwRklYRDNHN2QxZUFiVVk4c2JC?=
 =?utf-8?B?NUdGbUE3Ym1RN2ErVks3RGlZTzNuMHk4M09nTXhJYkdScWxjZ3k5eWd0YUEx?=
 =?utf-8?B?d0tDUGhMMUV0eEpRNkpNK2JBVGhxRHFsaTcvYkpEaHpBOFdOOXkwRXFjc3ZF?=
 =?utf-8?B?VStDUnRrUUo3QjRZWHVxODc0NkVMcXRwWHpNdURZWVFFWndkbGlJY2VQSEpW?=
 =?utf-8?B?WmxXQ0lqMlFhbml1QWE5dUpUZ2dJMGFOamJGS0piK1lEUEJKVFphNzFDRlhG?=
 =?utf-8?B?bXY4NTZTWldNSmpKU2VBeVFyczNpdXJkbm81bHV4Ukt3MEdSdlRaT2xubnVX?=
 =?utf-8?B?OWVZdkdMdUdrMUZJbjBJcjF0VktoNXRxWFJUWTZOUHBiZGNCeE15c1U2cmZj?=
 =?utf-8?B?QTVvcXJmMlg0ZzlGTjVwK25yS1pOMS9UOGtCWFVSdHIwS3BIbTMxSGI1V2Vt?=
 =?utf-8?Q?3ViN2mJCfT1ZFz6xnSbSWGYUX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5ae4d77c-384e-43e2-a875-08db31121df1
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:30:08.6150
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: R/Wgysh6oGrNNa+Ugu85SAHMhmby4TqCDZlSd5NgHAJJoTt1TKIUU84V+EK72KKBimwQKvtvsT8zqfAtLM/fkA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7262

The function is used from (HVM-only) OOS code only - replace the
respective #ifdef inside the function to make this more obvious. (Note
that SHOPT_OUT_OF_SYNC won't be set when !HVM, so the #ifdef surrounding
the function is already sufficient.)

Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -3429,9 +3429,7 @@ static void cf_check sh_update_cr3(struc
 int sh_rm_write_access_from_sl1p(struct domain *d, mfn_t gmfn,
                                  mfn_t smfn, unsigned long off)
 {
-#ifdef CONFIG_HVM
     struct vcpu *curr = current;
-#endif
     int r;
     shadow_l1e_t *sl1p, sl1e;
     struct page_info *sp;
@@ -3439,12 +3437,10 @@ int sh_rm_write_access_from_sl1p(struct
     ASSERT(mfn_valid(gmfn));
     ASSERT(mfn_valid(smfn));
 
-#ifdef CONFIG_HVM
     /* Remember if we've been told that this process is being torn down */
     if ( curr->domain == d && is_hvm_domain(d) )
         curr->arch.paging.shadow.pagetable_dying
             = mfn_to_page(gmfn)->pagetable_dying;
-#endif
 
     sp = mfn_to_page(smfn);
 



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:30:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:30:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516648.801113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqUH-00031x-5Z; Thu, 30 Mar 2023 11:30:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516648.801113; Thu, 30 Mar 2023 11: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 1phqUH-00031q-0A; Thu, 30 Mar 2023 11:30:37 +0000
Received: by outflank-mailman (input) for mailman id 516648;
 Thu, 30 Mar 2023 11:30:35 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <SRS0=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqUF-00017i-KE
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:30:35 +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 488a6625-ceee-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 13:30:33 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VE1PR04MB7262.eurprd04.prod.outlook.com (2603:10a6:800:1ab::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 11:30:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11:30:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 488a6625-ceee-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WdTjPLQ4EeBnw9fzPy29IBboxuebftSZyWXu3FIOCX34cqzRxjYT/htLlj8cJlZo+Vvj+C+rg8GmqKsuXt0bL1b8FJsMwX52fJEJjJ6YOmS1Zyf5V745TIOpuTWsWQTSyAyPK2MWAew62vzaaJVqCFIhF/d4tUbfSn4S6wtSp2+qQGD+hKd0YY46vFM8Zrl+dFROGTXcqrjXAneQECaRPTSo4J5IuUtRWmknS5u87MrWsujiOFkWMEh48qa2036GTatTBea9Yu5rC99dQXhqSgiOjuYwmvzsYNEozu0GLsfFYNVuXyjRZRFrz9BYeozImCGGC/9DPsJgDNCjQRZZOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Pj7jaA7EDF02LqGniZpgC5UCF349tOE3CFBTSklxv5k=;
 b=mmf1gXxV6ed+FBzw1c8/cWpNrXgzlwCvJrktK71sc1sC+4Y59hKLoclfiq+5ddQ2rJrmmN9RDWqEOMT8DyIf07f1vwqKpZViv1mf/3tsZlSxp0OB7L1Vr4glkLvVdDiocQvSCefm9PMEUo8J1dUbH7eWjIaJLfRW2nwQq1UF40VgDifCo3zWcGz4ddGPRfJbbfixqtSDXfUAa2qY3xFVIkes7z9G6Kwh0UM4bhf+curl9rgGZ9v5OB0VoBrAjOB4EWYAvD8NZVipbHkTMm5anrj07DDCGOQ8fk1o7tbhny/XILbm3vgnC8zMr7I7hpXxLvIlvuf0TyiaqhJUoNAo6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Pj7jaA7EDF02LqGniZpgC5UCF349tOE3CFBTSklxv5k=;
 b=TDrfGO65qWlDdV/Zs9jH6WmcH/wg1zP4l+r8yKqD0XUmJwCmBu9O2LZMdv9JC2J2VZ5dp8NpjXThd5/sXmquIU3mEu+tx5Juu3uaEpKcK3RvjUEEwmUNWFq1+Qq0JQD8ON29uMDZNKilCiEgwFGdeUynNsOAX3fRQvJu0fsdd7VS2ivFsmEROI9iJcWfSpWGwH/yFCsnNvrBt26eTxmcUcXhLzcRjy122MdS3na+x1rQcdQLw2rTfsARvB2sdgwEZ/kmNpGRAk55SWzo+2GJ2FmSQPh7Udwqyo6vt4c12+rg8dvGaexfdI/bgrHBDotFPHuQmGyK34XtQ5fkZGJbLA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bd15a200-aaa0-5c96-3be7-4f484ef3fc82@suse.com>
Date: Thu, 30 Mar 2023 13:30:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 09/13] x86/shadow: drop is_hvm_...() where easily possible
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
In-Reply-To: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0127.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VE1PR04MB7262:EE_
X-MS-Office365-Filtering-Correlation-Id: 09095ce4-d362-463f-c45c-08db31122c3a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bpkTtRmLCbBN3i7c+MvbHdH/Q1WrPlIgHIqzmKA/5Mivdq7sW+8+LNDW9Yz0Kbv7sIvH3lLs6AIQZA8t7JORD9hqKY/xZMRXXeB/1lxhlCfVKit4DBTXm7L8aJY5KVm+XJVxsW0CwrUP2BiPW2ETeube+sO10utqON9uZMceXdLJ3iR6x0hp3E/m0I/pAYGvTDlcyDdLnqdPD6Y6o8G2+B+XqbqhoKn6G3F39Fhm+zjLHPwjMJD8cA88ucHoV7y6B585XyXdVHb8weqX9QahC/GrIG3Hiy9kLgEtHnZ+1ZXxA/dtKrnnzICahRCL8+vOnjpPimVDzgJrx5gZdQFNWTa/OMtV757rW8IcoM3A7t3UERYcsT3jZQJ0QyNrV6QjzNG7Ia5Eqh20nECehVH10BNwc6QOo3LV7Ufe+nkbB3sx3pd8NxKSlCz9bidV8DfNECt1cnxLaaBpTOR79mE7n0Bjr030XnP+4p1305BISTlNRYYDht3y65kinkLYr7fLFfz4pBRh7YJt3W1+YZ/w8R8BBFJH6QcUNASZHA2vKqfBrwm4Kv/BZnHdXy3b/9kiw39wFgxsD28zXIpoV7pBA92jAO0hBCwydcP8nF9sseGase9mHEiWfaLM2ec1I3DI3SC63LQwDFaE+mkl4XRg2A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(396003)(136003)(376002)(39850400004)(451199021)(2616005)(83380400001)(6486002)(26005)(478600001)(316002)(186003)(54906003)(6506007)(2906002)(6512007)(36756003)(5660300002)(8936002)(38100700002)(4326008)(6916009)(66556008)(8676002)(66946007)(31696002)(66476007)(41300700001)(86362001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cDUzQXZoTVRyaGlUN2RRYWxYUGZyeFYyS3pObGN1RWUreW5EY2o0UHhEbmp4?=
 =?utf-8?B?VjVyUXNBamZ0akhGRTdaanYraVd0NVZ5T1VsdG5TTkV3L0Q5QURGNCtxbVRq?=
 =?utf-8?B?Y0xMTEhtRkxHZSs5OVdrTTUzeUdSV0xOYWtLTlNjY1FRT2dLVkMrYzA5WGtB?=
 =?utf-8?B?NlBReWpiQi9ETFlsaC9obThuTGhZUlF5K29WdEZkRUZXMDJBN2p1RktmcEh2?=
 =?utf-8?B?eFhBVS85M0xnSFRhOWRvT0NlVkd3NVBxRUxFMXQ5YUdBYnRmQlRmSGRWVkpk?=
 =?utf-8?B?NFlQMW00bno3SDRPbVdTMHg1YkpRTVZtc0RqaFNYUUtWYS9uYVQ0Tzc0R3Vi?=
 =?utf-8?B?N3RveW9VQ01IejhHbUtPNVV6TW1oN0V6Rjh6MDZBNlIyWDVDVWU1ZU9GOXVl?=
 =?utf-8?B?bG1aSnpTVFFNNG5vOW9TcmhVMmpWUG9ONkd1TzRhQTU5RHoxc05UUVBXQ2JP?=
 =?utf-8?B?a21zMnE0Vnp0ajB0NW90SXlqUUwzejRybi9jNUVoUW54U0JhUU56VW9NZ1k4?=
 =?utf-8?B?TTJieGZveERmTzBoR0VCSmF1VkNVaFBLQ2JIMTMzTHk1Smx6NS9EVVo4TUkr?=
 =?utf-8?B?d01nVG1Md2tHNVBSQXZ0a00rN2hqSHNLRGlhQVplZmFaa2VWdmFHNkVucDJ6?=
 =?utf-8?B?TXJOQ0xzVUNUU1YwbjZZYTZkTXZtTXZLOE1vdFgwNlBLTGJuYzdXSVFKNDhT?=
 =?utf-8?B?emIwMDNXNDNXL29rMWM2NFJocmpuL3B1b1VWTmgwK3d3QWZIS1N6L0J4N29m?=
 =?utf-8?B?SldQWWpvdWRUa21TS3J5a3JXZ0hFZDVKOWFpeEkvL3dtbTJ2aFhwM2V3TFFr?=
 =?utf-8?B?dnZlaG54RUlFWXYxMkd5T1VtYUxleHpYd1AxV0J2QWt4UkwvTmVQRHZnUTFk?=
 =?utf-8?B?SFZYSzdxT2pjeUpWSWRVMnpheGVpOFRsNURUenJIanN4T0xQemVBTXdCSkxm?=
 =?utf-8?B?OHFqQkZTZmwvV0JMejlDVEw3bDZDZzNaRWp2K1JvNis3VnlqQWlhaFJucnNs?=
 =?utf-8?B?eWszNjdiWGlSVGJlUnEzNXpzdjhqeDRhY05HL3o3bDd3UkkyVDROOStTaWdx?=
 =?utf-8?B?M2lqd3BKY2RYa2ZMdDVmRFpEUllWY1pMOFA5VkJDdVhLNnNuOXhBVGdFT2xr?=
 =?utf-8?B?aTIyakk5bVRVZXVIU1daNVB6ZWZKT24ycGx2L0hTcVlCRHNCT1B0elFDTkhm?=
 =?utf-8?B?SWVjSUxxYS8yV2pWcUJHTEVqNm0zb2puczJNU0gxdlFyS0NoK1cvOHNZN2Fw?=
 =?utf-8?B?RHF1d0lUVmdBSlg4d1lON2FDRkxlcHNVNWpTNHJNQ1JQMWIyUXBDSG9TZUIy?=
 =?utf-8?B?d3J4bXJMZDNvYnU4UjVGaTJEQ3haRnp4QWhadko0M3ZMZnhWUU1ncWM5czlY?=
 =?utf-8?B?L0dYVUp3OVJRbFB1MjBrWVBpaUNFVEVIOGJCQlFzM3hYSDllWlB5dmVoK1pR?=
 =?utf-8?B?RzRYRFlwUE5xWFBDTklnQmlkcnhoNFR2Y3JiOWZMTnFITmJINlMxZW1iWUNM?=
 =?utf-8?B?WDY3dDdYcW43bk9NTEZMZ1J5T0tnSk4wMnJyTkRrRmwzUi8wMzUvTi9NcG5K?=
 =?utf-8?B?VFVjYUFpLy9od2dSRExTZ3psQjBqN2hJYzZZeTNCZDM0Nlh4a29PMzNaTTFJ?=
 =?utf-8?B?Y2FWVnpLUmFvdU1ycWZRdzRnSVpKSmhTMVFST1BPNFVQbml4Z3dKZnFZb0cw?=
 =?utf-8?B?QWdaWjlqU3YzcGZoVW5VRnA0U1FWbW05TGtxVGRZVFplaUNiNlZFMVltSUI3?=
 =?utf-8?B?YTJLUlNiY2hrSEFMY2ticjZSY2FWNEVjR3YwQ2hMclhMVDBsZnkxZXBKdmNs?=
 =?utf-8?B?dS9SNXFMMGg3SzFUUFlOcXNrc3A2THVQQXBxeG9TOGEyNzU1eWUrQTYvbU5N?=
 =?utf-8?B?U2NLR0x6ZnBBSVdtZXRUakVtV3VSUUw0akxONk4zN2FQaCsxZjhBamlNUXFU?=
 =?utf-8?B?dXRjOTlUZFZaS2NreUdDcisrWUozQ0swT295WVV2MmpvdlF2RklybXdwNlpj?=
 =?utf-8?B?Wnc4aWEwV0ptcWZzK2h1VUpENk9mU2VmL2Q3THR6bGlXeHd0am1CaWhtTlBs?=
 =?utf-8?B?Uzk1R3VUNjhreXBHM2VtUklVWUdIU0ViMzlLRVNreTlJa3JhVEJCR1N2ZEF2?=
 =?utf-8?Q?iAwpcgHQ00TB61l3HemKNOY2O?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 09095ce4-d362-463f-c45c-08db31122c3a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:30:32.5858
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sIrE36J2LL8rfZyIY17Wvqh4ZKJ029XLYbSoea3QBWLLUqGKodQEZ6fyMbvh/1H2SgHUk70gbadfgqHD8u185g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7262

Emulation related functions are involved in HVM handling only, and in
some cases they even invoke such checks after having already done things
which are valid for HVM domains only. OOS active also implies HVM. In
sh_remove_all_mappings() one of the two checks is redundant with an
earlier paging_mode_external() one (the other, however, needs to stay).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Re-base over changes/additions earlier in the series.

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -1522,7 +1522,7 @@ int sh_remove_all_mappings(struct domain
                && (page->count_info & PGC_count_mask) <= 3
                && ((page->u.inuse.type_info & PGT_count_mask)
                    == (is_special_page(page) ||
-                       (is_hvm_domain(d) && is_ioreq_server_page(d, page))))) )
+                       is_ioreq_server_page(d, page)))) )
             printk(XENLOG_G_ERR "can't find all mappings of mfn %"PRI_mfn
                    " (gfn %"PRI_gfn"): c=%lx t=%lx s=%d i=%d\n",
                    mfn_x(gmfn), gfn_x(gfn),
--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -204,10 +204,6 @@ hvm_emulate_write(enum x86_segment seg,
     if ( rc || !bytes )
         return rc;
 
-    /* Unaligned writes are only acceptable on HVM */
-    if ( (addr & (bytes - 1)) && !is_hvm_vcpu(v)  )
-        return X86EMUL_UNHANDLEABLE;
-
     ptr = sh_emulate_map_dest(v, addr, bytes, sh_ctxt);
     if ( IS_ERR(ptr) )
         return ~PTR_ERR(ptr);
@@ -258,10 +254,6 @@ hvm_emulate_cmpxchg(enum x86_segment seg
     if ( rc )
         return rc;
 
-    /* Unaligned writes are only acceptable on HVM */
-    if ( (addr & (bytes - 1)) && !is_hvm_vcpu(v)  )
-        return X86EMUL_UNHANDLEABLE;
-
     ptr = sh_emulate_map_dest(v, addr, bytes, sh_ctxt);
     if ( IS_ERR(ptr) )
         return ~PTR_ERR(ptr);
@@ -457,8 +449,7 @@ static void *sh_emulate_map_dest(struct
 
 #ifndef NDEBUG
     /* We don't emulate user-mode writes to page tables. */
-    if ( is_hvm_domain(d) ? hvm_get_cpl(v) == 3
-                          : !guest_kernel_mode(v, guest_cpu_user_regs()) )
+    if ( hvm_get_cpl(v) == 3 )
     {
         gdprintk(XENLOG_DEBUG, "User-mode write to pagetable reached "
                  "emulate_map_dest(). This should never happen!\n");
@@ -487,15 +478,6 @@ static void *sh_emulate_map_dest(struct
         sh_ctxt->mfn[1] = INVALID_MFN;
         map = map_domain_page(sh_ctxt->mfn[0]) + (vaddr & ~PAGE_MASK);
     }
-    else if ( !is_hvm_domain(d) )
-    {
-        /*
-         * Cross-page emulated writes are only supported for HVM guests;
-         * PV guests ought to know better.
-         */
-        put_page(mfn_to_page(sh_ctxt->mfn[0]));
-        return MAPPING_UNHANDLEABLE;
-    }
     else
     {
         /* This write crosses a page boundary. Translate the second page. */
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -3438,7 +3438,7 @@ int sh_rm_write_access_from_sl1p(struct
     ASSERT(mfn_valid(smfn));
 
     /* Remember if we've been told that this process is being torn down */
-    if ( curr->domain == d && is_hvm_domain(d) )
+    if ( curr->domain == d )
         curr->arch.paging.shadow.pagetable_dying
             = mfn_to_page(gmfn)->pagetable_dying;
 
--- a/xen/arch/x86/mm/shadow/oos.c
+++ b/xen/arch/x86/mm/shadow/oos.c
@@ -580,7 +580,6 @@ int sh_unsync(struct vcpu *v, mfn_t gmfn
     if ( (pg->shadow_flags &
           ((SHF_page_type_mask & ~SHF_L1_ANY) | SHF_out_of_sync)) ||
          sh_page_has_multiple_shadows(pg) ||
-         !is_hvm_vcpu(v) ||
          !v->domain->arch.paging.shadow.oos_active )
         return 0;
 



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:31:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:31:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516651.801123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqUj-0003aH-DR; Thu, 30 Mar 2023 11:31:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516651.801123; Thu, 30 Mar 2023 11: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 1phqUj-0003aA-9B; Thu, 30 Mar 2023 11:31:05 +0000
Received: by outflank-mailman (input) for mailman id 516651;
 Thu, 30 Mar 2023 11: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqUh-00017i-Tq
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:31:04 +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 598ba096-ceee-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 13:31:02 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by PAXPR04MB8782.eurprd04.prod.outlook.com (2603:10a6:102:20d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Thu, 30 Mar
 2023 11:31:01 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11:31: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: 598ba096-ceee-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YlLFKeR6RaPhYnHgeHi9MiqyGQdzUGh0q2Qywecje3WrA+tU1w5U77WBEGEw2Xeiobf0zpU8bbWtvQxi+nH93oJU3mnvOgf9AOUmoEPhNxrfg+LZyYbdEHOosznCSAGpa6RmToZlrq/vghEztF0x900XZsdRRaCEhAuBhZnylKyayIFdWNaJyMiQREubUgtIUPpBmoSerJczcy4QFcEF7MvpGNVgvYA98S9wyPe3q9kl7KqvoSVRgPYaX93cknWJhl8OuBPcOvLZtPt49ceNAP7JpST+GbIZfHyUrYIsff45510Z+HEsn+wFCU4kLPkuvH30cweOpzoxWPRzIv61kA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8un3XXWErGo1I3D86zB/Aw1v47GFYml06HHbcbR4F10=;
 b=aXToDlwU6bLjvXIa8bB/Qq/aakYoQ7qmDijW1UbZ8ENPOvfQLMsp9UDgUGO/VxPHK7jaw6Y2FefJ2j6M+gPfre+/a3WNYlBG27Unm/w6tWoIIyBG6W+Ts0xV4exwUALor/7c5Kt0iNdR/vjahQDDn5GxukQ+QR/jfSbkqWLFUbP3D7sn2EEUZ8rfurJFm4LsxO9DeS/Clih9tGdsVM0rQugHiS0Uf9siKJUsyAqwPJlHxThGW+zc5lTmWeov/m33mBjYCpJ2HC6vg7clw6f4gA/rxIzoUzqg67tO7aarrYcxkEsvidAgOiPaN0hTyCfatBjT/HmJSM8if9nmZctFAA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8un3XXWErGo1I3D86zB/Aw1v47GFYml06HHbcbR4F10=;
 b=bwYI92QkfbsiXyVCmwFAdQPFhB0zDLAWld4Qhv7lB4JtLT0LWkxgf8xrsPn/7Mi86ZWVQnKiey0NTKgOmfr8tgnd/hbDXjIhpJJShqsscPmn9FI4baAvxq2zphTVE+mvo/gjxUSFZDgFqunWBC1PapssytRH+NYgX9x39BL91dDOuATv9Gwz0rA/5f5Df9Qw0CvNnS3QLt6fEg2bJLT1LssPUpDTFqAa2sWMTiZ2tGtoMhJDasqOB4/kAylQIF52Dvp82VFw0zRGgZbrwG4EaOn1XZgvX9X0CPpX+Qn6petWykr3RXtGYaf4wyHYssu6kpUNBqXmJdXz1HtxOpkxRA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e19d5ce8-de4a-6715-9920-7df56a94fd96@suse.com>
Date: Thu, 30 Mar 2023 13:30:59 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 10/13] x86/shadow: make monitor table create/destroy more
 consistent
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
In-Reply-To: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0192.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::16) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|PAXPR04MB8782:EE_
X-MS-Office365-Filtering-Correlation-Id: 8132e925-4bdf-4ba7-058a-08db31123d1d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pmFGJKVfiuH0X/TqlRbWLCnJ/kQSgAWMcAYCJ67NT31FdZII4NauL61ohuKLjlfmI1R5ZMXfMqx2p9rQ5dxmaIMDkfrbhD1w2E8Ai71LNMMbm44bjwtFy98Hz7LSqOsGIjx4Tz3YEJV3/idN6eubibPqQ8kFIC7tsLNSBWEN8mUWczM9xHbnLnfdMsK8lDqPXhli1uiqj4+mChlxca7Lv7LaUtQo8exxHLHJv7y8gFerDQgW6e7Yng564s/InEK/MyflWLovOtHrwbuMA+BJ2omvE3qCeB9v6vWU/hePkLk9Eu8rbRzO0L9sbenzVbP53+fpUC7JygRAnf6EnB/1LCUbp8rLiyZnqblD9EYGQKvj1YQsXM0v7ZN3RsWSj/w/Xwh42aQrfkZWDNNTa2aTlAVesim6u8gx5P8BQCGnrjr8+9w+N+jD4DQMbVqqyPRM/cdIUtZfWwhksY6+b0fEE/r7wKuWq9pi2/wAjxYJxQoDSkv9XxB8uWFhj+CkD+0WdeqzdnkyPXuCVFReYvzvssLfbre9OVN+1waqieHFBPxypKQ0cQRp+M9WhyddLuefjB6u5nD2l68wtHMMS0UkVSiSP2frrbXc607vW1wEISu+hRd0MkUHbsvQxBkTIejSbQiGVgWC4DDuHNsrk3ae4oiC+p6SJteP/obP0LcVcnXUEdR778E41Bf2F3L3BwNU
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(366004)(136003)(39860400002)(396003)(376002)(451199021)(316002)(66556008)(8676002)(66476007)(54906003)(6916009)(5660300002)(38100700002)(41300700001)(66946007)(8936002)(186003)(4326008)(2616005)(6506007)(6486002)(6512007)(478600001)(83380400001)(26005)(86362001)(2906002)(31696002)(36756003)(31686004)(66899021)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NFdmeXZ4dGFiS0FneFc2dC9KdEk3Q29DU2xCdmVvNjZrMW81VzVCS05HOHJt?=
 =?utf-8?B?cGlCVDVvWk5zUXg2SHdjS1l4ZlFVNGY2L3lWYlJsams4UW5ubS9wQUllcitM?=
 =?utf-8?B?QXpHWFpKSXE4clR0WWlnc2haTlpsbFU0Q2xOWENnZzNqVkhvbU5LS2Yvb3gz?=
 =?utf-8?B?QWxaZ0puS3dhN0VBM1dpVUFnSTQ4ellTL2NVZXl1NDZSWUZiaFNKM1dWcUor?=
 =?utf-8?B?amZJK2JPSVpwWVVKK2llWGltd3dwNHJVZTBZSGZvS2w0N0ZxaVl0SllrQUJ2?=
 =?utf-8?B?RjIvWTd5bkZMQXJidEZqVTdFOHdINXpCdm10NXdiNEI3QldNR0VzNFN5bFR3?=
 =?utf-8?B?NW5Pakh1QkZhVzN4V0l6Ui9HRXhjdHZEaXZLZlhGNnYyTUF4ekFiU2tlZWJn?=
 =?utf-8?B?TTQwTmNHMUlzNktaUUVtNks3R3JvVGhoUHlhdW9GMVhNM2VrNmJGOHZvbkVv?=
 =?utf-8?B?SkVadmxmNlVnd0hSWGl6ZWtHSFNIdkkzekxiQ3ZOeDRuSXpSSUJDaGFyOE56?=
 =?utf-8?B?d3NrZGlXNlUyV0dZeUthWVorcS9RZ2lZTXh6YVhIQVBnR2tGemxNQndJeFVo?=
 =?utf-8?B?ZERzdUd6U0ZmU0RUYU15SFJORi91UTQvU3poZklVOE5MM21YbHlDWXJnc3Fu?=
 =?utf-8?B?c2dibCs0d2xVeWphNVdRd1dTeTlqcC9GT3AydHVTNFZsaGRLejV5Ym9ESDBE?=
 =?utf-8?B?aGR2MjdBOU14NFVqMklHaFFTNDlIOE1Gb2VxU1JudVQwUG1NRitGbzRUdjZu?=
 =?utf-8?B?S3ZnTUEvMXlGOW5vVHAxOWE4TDVUK2JIblN4OGNqaVJ2dGV2bjRkTGk4aFJV?=
 =?utf-8?B?eHhJdko1bng2YTRBUUFnZ2NJbnhGa3lRb21WUDFRcml1M04vd1V1Ykg4Z04r?=
 =?utf-8?B?amJkNEdGN0J3V3NCYVlPa1FmS2RyVjFURnJoYW81a2FteFFDT3kvTm56UHg2?=
 =?utf-8?B?azBhS1orRHlMc2RKcjh1ckNtUFVwQTYwMUZBRVFiTnhUczRRMGdNdmttLytm?=
 =?utf-8?B?eEl5eEFxRWo5UTdmdnNCSW5uQThwSWprNC9NbjdXVFFIa2hzdmJOd1MzeXJs?=
 =?utf-8?B?bmNUMUMwTXdEczBiaTh0ZmVNZXZZVmhTSysxajZKUjZmZmhudVZIQk9Rd3pz?=
 =?utf-8?B?bERKMEhNWGFKSXdNQkdqbzZVSzFJTnVjTEZOa0g0RU8yY0pVWTMwemFFSXBS?=
 =?utf-8?B?cklMZmorWTI3ODNtMUtZTEU3VmNUY1J0UENpU05mbS93aFpPRWl5Rk5nZ3FT?=
 =?utf-8?B?NmFhakRKVkhSZVJtS0E0Q1JoYURSRUhFMjcxODM3RTNUb0hRc3V3OEcxalNa?=
 =?utf-8?B?M0xmQlZpM2Vkdk9EVmJ4ejdoZTB1SDlrUkFmc3Ftb0F1RTFYNFdCbHZJVG1C?=
 =?utf-8?B?UzRKcFZvRFMvVGpYRmllYy9CNnYwSEFYSHAycjVoVGFzcnFMUHM3S2xOTkky?=
 =?utf-8?B?MjU0OG14OFVQcWJvaTBpdDhyLzl4Wmh6bGhnVnBteVFDQWprd3NmZDIwODZF?=
 =?utf-8?B?Q3JITWw4YzN2WTl1WGJsUmcrSWVXQ1Y2ZDEydUo2aUdQc0hFMzhMK3RBUG5t?=
 =?utf-8?B?VXVXNVZTTy92OVJWeWZpUWl2bXV5dUY3MkZoY0tvaDIvejYzZmdwZDA2c280?=
 =?utf-8?B?MUpsd3dUQjdJVUNxRlVFcXBWQ1F1ZUFMWm9EeXhMeXVOeFRZNXNtN0U2aXpG?=
 =?utf-8?B?WW5ZQkx5L3J6dUNDQ0Q1ZzlFREFCblpSWUhqVEtpSlBwZUZrVjdUcDR2ditW?=
 =?utf-8?B?NjVZRk4zSUNWSnhuWTNSTmdwcGFZcGV2T210R0NmbXhaenBRVFM2UHViSmFB?=
 =?utf-8?B?eDQrRDFkZlJmL0ZNeVVuUW81RGdUV0RjQzlUbWFPTk5aajdueWl0ZGkvYlZr?=
 =?utf-8?B?NDAyd2ZOdCt5SllxMnlsTy9GelZEdGQzRnltTkYwWXFaWmh2YXdxRU5jQTlL?=
 =?utf-8?B?V1YrMmVqN3pEd2h3bldJV05meUdqRzQvU0NpOWR6eEY3YXJVeTJ3YmtwSmFH?=
 =?utf-8?B?aXNRTlduRVV0bTdZZ3dMWk12L2NWU1ZoeGJxL2ZEQU1SRHlzeHFWdmNtc2p0?=
 =?utf-8?B?NTJuRmt2ZWx3UHQvWHpNd2VrZGI2R2oySTVpU0I2SUpFSkZMS05UZXZ3YW5V?=
 =?utf-8?Q?QJr2TZmiCwkzIh6fJ72eqn2r4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8132e925-4bdf-4ba7-058a-08db31123d1d
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:31:00.9072
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bvNQRdLzgnYkDnoKIuDBaiIzODn/iX4uP33cF6BCbFAEC7ab0Bk50EAODqWAkyFJ/Pkm5ihvBJUaFIilgxutbw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8782

While benign at present, it is still a little fragile to operate on a
wrong "old_mode" value in sh_update_paging_modes(). This can happen when
no monitor table was present initially - we'd create one for the new
mode without updating old_mode. Correct this in two ways, each of which
would be sufficient on its own: Once by adding "else" to the second of
the involved if()s in the function, and then by setting the correct
initial mode for HVM domains in shadow_vcpu_init().

Further use the same predicate (paging_mode_external()) consistently
when dealing with shadow mode init/update/cleanup, rather than a mix of
is_hvm_vcpu() (init), is_hvm_domain() (update), and
paging_mode_external() (cleanup).

Finally drop a redundant is_hvm_domain() from inside the bigger if()
(which is being converted to paging_mode_external()) in
sh_update_paging_modes().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Style adjustment.

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -129,9 +129,9 @@ void shadow_vcpu_init(struct vcpu *v)
     }
 #endif
 
-    v->arch.paging.mode = is_hvm_vcpu(v) ?
-                          &SHADOW_INTERNAL_NAME(sh_paging_mode, 3) :
-                          &SHADOW_INTERNAL_NAME(sh_paging_mode, 4);
+    v->arch.paging.mode = paging_mode_external(v->domain)
+                          ? &SHADOW_INTERNAL_NAME(sh_paging_mode, 2)
+                          : &SHADOW_INTERNAL_NAME(sh_paging_mode, 4);
 }
 
 #if SHADOW_AUDIT
@@ -1811,7 +1811,7 @@ static void sh_update_paging_modes(struc
         sh_detach_old_tables(v);
 
 #ifdef CONFIG_HVM
-    if ( is_hvm_domain(d) )
+    if ( paging_mode_external(d) )
     {
         const struct paging_mode *old_mode = v->arch.paging.mode;
 
@@ -1864,13 +1864,12 @@ static void sh_update_paging_modes(struc
             make_cr3(v, mmfn);
             hvm_update_host_cr3(v);
         }
-
-        if ( v->arch.paging.mode != old_mode )
+        else if ( v->arch.paging.mode != old_mode )
         {
             SHADOW_PRINTK("new paging mode: %pv pe=%d gl=%u "
                           "sl=%u (was g=%u s=%u)\n",
                           v,
-                          is_hvm_domain(d) ? hvm_paging_enabled(v) : 1,
+                          hvm_paging_enabled(v),
                           v->arch.paging.mode->guest_levels,
                           v->arch.paging.mode->shadow.shadow_levels,
                           old_mode ? old_mode->guest_levels : 0,



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:31:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:31:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516654.801133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqV3-00043L-Qn; Thu, 30 Mar 2023 11:31:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516654.801133; Thu, 30 Mar 2023 11: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 1phqV3-00043E-O0; Thu, 30 Mar 2023 11:31:25 +0000
Received: by outflank-mailman (input) for mailman id 516654;
 Thu, 30 Mar 2023 11:31: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqV2-0002FN-5T
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:31:24 +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 66595093-ceee-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:31:23 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8980.eurprd04.prod.outlook.com (2603:10a6:20b:42f::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 11:31:21 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11:31: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: 66595093-ceee-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZEAezTPRfpOrOzkIsF8PtVUubNazP3Ic4XJR6GZQMJWEraX0SyOlJi6Ox3kwI1+EORJoiva3YLktEXGPCqlmDZaSRDhvf/+4S8RehFG4CJ9zPnR0XgEP/IPjrLy0pJtNqX5UCtCtkLen0sL502qNxkPQmwdnM+uoHYpYksTSwB2hVv0bxCxEbAGX/7nBLq+gmV5sVCvPGztUS5pFks5We6LY/GnrC9Vokj2BFeQByPguO2rOaRKPgFVhdKwmExbbpyQIxNSbt63WMi3jh/AfZjVlvXzh7Z6N27SY6G1awiRGUdGPq8Hn5P7Q7r6xCt85Qsai4DozL0CGOFl3HnE8cg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Pm/MJtSEloG9bhupNLw1FgcnGKAOHIGYAu+yof1N0B0=;
 b=iTHvTioKrh+sf5KlqVV7ZCT85hBZzRAAY+jAmogZviG3mp9mgDzBKEpn2zX61Nx8Z0ADKrsqpS1SPhEFKKnh/m2BLLM2VvxlpFErlL69zKuwfyplduJJVPVVmw4Fmq6ZqFBOkAtO0JrqiFedaGrAPdf5LRxyypbwaHj3xmZyO6CP2ZuXfFxtVkXDIoTAj8Qf82kgxS17ZUlKSG0FCV+giPvcC224enuiWzRgiQ44+0giHgv/fka7uvMnsvnQMuqYxJWehcLVZrJYEpGt1MEz6GvzJzHBPpdTlQ7i9GzuKcWAa/D1Oso737mSJdgGN80DDJYwpXep0N2jihCIk1spbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Pm/MJtSEloG9bhupNLw1FgcnGKAOHIGYAu+yof1N0B0=;
 b=W7EQWDTe/U0GnY63KDgHt6KDHW1JwyZ5Okv+EQJBCU+yCwkvmlaEti7zxujV52Nu0p6c82XWXmKYlWqPfHt+KLdGukMBVuqksFSqx4yitA1lrdxKq2b8I42vqAdA0CP45/MIYTVGcmPudZVgjUjl6m9VXUtHSkU/wOzLRb3uUKtYOE7+xoPTxQcNh9AX+OLC6hVrFHXNC9RHQLm+2VGMdyCT7PSkRv0VrSzfV91oxwd/eRvl8W8rjenZZcjG3wsb8TzXcdbvNr16x25d7Nm6/7RYpeiJVjILZOlJr0SR9lj1zWOgTgL7ZWpHyOzADld7ANui7hzRrrS/0vxNP6JydA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6b41e44e-282a-6397-a8e1-1d0782ace5c0@suse.com>
Date: Thu, 30 Mar 2023 13:31:19 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 11/13] x86/shadow: vCPU-s never have "no mode"
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
In-Reply-To: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0193.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::6) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8980:EE_
X-MS-Office365-Filtering-Correlation-Id: ebf57109-21f5-4f9b-a68e-08db3112493a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	46xan642PeeERT/rLiD0TuQ+k4rZPWDnEdRN9isUjUp7tTEeZ3oZdKcRYRJtaNznc9Qk7Ghydj9Y7LsO2CwJvHviy7mxhA0Wgr8ug4sqEiIYiXNYzrLivBHD9jpAGwcZxKSrfiU0DNPpK84AVN0InqYOCnss8k2Ro4jZ5OIZR9vKujA9ObiOSkLqzr6F09b9tGWlBJfjRMQvrkUFLF4gtZRMtwIG+Wo9in1twWh13xtlESd05w/vqvj9m41WDZ0rfDV3WIEwa+9/IruwWxNHydMtkf5darIh5ye9p8n74XKWaU0ch7m+Njuwydsr4AJWmm2QF0RsIxcc3ItIAvKmCnsUNXEJRc3jEkhxMGG0VEIf6iQ9fr5B3DSMBRbwDn2p/SOtUSq5Xtm1kABXC4U4bTMTcRe0gqb9KGWVXuveWX5q4CnyZqVCANONwv5rk+M5Bgc+4XGH8j6LfHCnuyGapR/Nezs3LRGE7XRKBiUhYMVfFPoC3VNQPX+ozsj2Y+AJYfD92vxHys+LsbVpsG8c+TC8FuJ+gpZFmqrqJJ6giTYt1RyjGe91LCN/ks9F2rsCR7XDpaOz3ssDrGEKop2VhB2sybXUUcK/UhVw1/ilY6YoD45CCZwlzoj0X/r8x+ZMLESWRO+cgqMxHZUjWu3ueg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(346002)(366004)(376002)(39860400002)(451199021)(5660300002)(31686004)(8936002)(2906002)(8676002)(4326008)(66946007)(6512007)(66556008)(66899021)(66476007)(54906003)(316002)(6916009)(36756003)(6486002)(2616005)(478600001)(26005)(6506007)(186003)(41300700001)(86362001)(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?YWhMbUM0UjVrdTBETGZDd0FJYlExTU1lU1B3c2xIT1MzM1l5RXB5NWRESjE1?=
 =?utf-8?B?a2VrT1RkTXlLRFJManZoWEpMVkV5TXRjWVpSb040V1pYNmx1TE9ya0p4ZTlF?=
 =?utf-8?B?Q2NvZzQ4SjZQUUVKeWZSNWZFVStZeGoyeHdWaDVtVEdkdkQ2bGd5eVpCZmVw?=
 =?utf-8?B?d0xnRFk1NEJxSHRCK1VSeHNxbXFQc01pWmJ6N0htUDBlYXJ5UFNLVTR1a080?=
 =?utf-8?B?TDZGb280K0FOeWM1UTY0SDZ6ODJPZGlPNlMwZUkzcDFsenJjOVdxTjlHRkdp?=
 =?utf-8?B?Qmx6TFpRZWt6VE5UUHU1TVlYZjUwbW9aNXJUZU1EWDMvQnFDRmdjcktLZUs5?=
 =?utf-8?B?dXU0dzN4M0VBQ3ZmRGptU01QQ2hyVFhEclIvUnNUbUxMZzFPWFJZblFmc2JB?=
 =?utf-8?B?TnpoZ0tucmcwbWRzMkNMWlFZbU1xeGtTV3Q3TU40QTBNUVhzYllyUDVHRGN6?=
 =?utf-8?B?aDdLZWo5MXRxdkxMSEkvZG42VzhGTTdFMEZyUjF2dDV1bG5DZ0x0eUFxNlJV?=
 =?utf-8?B?TThuM0RlcHRoRUMxNDJUS0RlTzJUcFQzRHA4R0Z1akIzd1lLZ1BsVzNmM0lp?=
 =?utf-8?B?ZUwxUTZnSmQ4ODlGYUpOdUlBTWRjQ3UybS9idk1kN042REdORFZlRjlid2x6?=
 =?utf-8?B?WC9IS1ZRWW1wT3hZSS94cXVSOVNIck52UWE5V1FZR09JQi9zdnA0eDgvRFZo?=
 =?utf-8?B?Mm5UU2VmRWlXU2laOVFYdmZmcml6cjJxbVYrZkRmcTIxZk9aclZoSzd2cmlj?=
 =?utf-8?B?cnR3Z2g5V01FeGZNWHVpNHExQXF2S2Fjajh1b0xoLzVmaXR4RW1HS1NndW54?=
 =?utf-8?B?bXRjcHMrcTNGSTBKc2lsMXBzb0Q1ZlVkb09meE5aZ2NhUCtQazJMZjZIT1lt?=
 =?utf-8?B?QXVSWFBPQW9tZWV1bW1rMVNlNmY5OXA5cnJDam4rMVA2SHVxblgvZW9LMEF0?=
 =?utf-8?B?eTdzeVZudzRZbUpJajZBYjNkN2UralIwSXIvZ3N5R21BQmdmOUw1U2czR1BW?=
 =?utf-8?B?UVdmT0dBYmtveTI1cVJzUXFQMkZsVHV1QzFRdXV5a3FJOGJNZ29STVFiem1v?=
 =?utf-8?B?Mk1PejRYK0JqejVDZVlvNzdoTzZmdTMyS0JXcXdSQTcvYTdDb2dZNm1FZ3k4?=
 =?utf-8?B?U3dFZCszSG1qV2pXVnR4RmVaL0FsRUJNRXRsbjNqaVJ3dURJQUdUVnVZaXEv?=
 =?utf-8?B?VUtUUmVlL3AwaUsrZ1I5NThiVjdVam0zR3BRYlFLM2dFWjZZMnVvdWk5ZFJK?=
 =?utf-8?B?NmNFWXZFbmQzTUVhUzhrN05QbmVSWTdzNlQxRitFVHN6aUVpWHJIK2VMV0Y5?=
 =?utf-8?B?d2xFOThpVEtITWJnbHlTU2tGNjJ0RmhlWXBMU0NaWlFwSUJmQVl2VVBMWk9L?=
 =?utf-8?B?bGNpb2dmRFdkOXZjNE9hb3hwWnRpazEybFRPM2QwUjhHbTlLWkVJS2puNDN2?=
 =?utf-8?B?WGU5MEU4K281Vk94a3ROUktFc0swUjRxVWZSalNCcno5OXZ1eDFVZmFLeTVn?=
 =?utf-8?B?WmJ2bHBuckxFcGVJQk5scWJ4R3YyQVREVUdFSGd0WG1TRU1xVWhsMFhvcGRL?=
 =?utf-8?B?c011c3ZkOG5IM3FscWhaQldJKzlwaHBSZ05MZ05OandiZGRzNnNDM2E2c2xT?=
 =?utf-8?B?YnJUKzlQb1loSmpMd0U0cVJrYXM0MkdzKy9GT3FnUWFJUEsxcDNNOHV4Z3pr?=
 =?utf-8?B?WDBkYkRBTlZPYUpmZUg4Y3RNVml1aFAxSFZzdEkrWXNRU0Y2UlNsWmRlRHNx?=
 =?utf-8?B?STVmTDFmNHlpWEdiQS9NL0JJMElCOW90U0cwZVozb0VaRWdocjNsYU9CNlJ6?=
 =?utf-8?B?WU1udi9KWjNoQlRsOG03bW8xOUovZzl0bnVCY25uNDZvVG9lZ3QxSzR2OHZ1?=
 =?utf-8?B?dXJrR3NUODlOQmd3R3hnSWV6RDYxSmZOdVliWTdsZElUWnY5TmJaRlNBZmQ1?=
 =?utf-8?B?MC9lR1VLRGwxNytlWnBwMHNkTVNFTlF1RnVaaEpyT0UyZlZnSm42d2lxakgx?=
 =?utf-8?B?OXFpRVJqK1Z2UmJLUGNjVHBidzgyTkxOUURtOVhwUm9FWWNNRGlodzR5NTlq?=
 =?utf-8?B?NHEycnJPZ0RBNS9aSzE5ZEIrMlBZR1lSa2w2NEVlVzdjQmJSRlFtT2FjbjFl?=
 =?utf-8?Q?CFxLQTDm37juATzq2j8TDXBvb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ebf57109-21f5-4f9b-a68e-08db3112493a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:31:21.3289
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: U8lRrfegjJ2xUIzWLGmvnl42u+V36Zp82eLEZq9TPxwvf1z1K0dnV4TtSri+CCr9l5CtT7f05pdHntetIN/pew==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8980

With an initial mode installed by shadow_vcpu_init(), there's no need
for sh_update_paging_modes() to deal with the "mode is still unset"
case. Leave an assertion, though.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -1864,6 +1864,8 @@ static void sh_update_paging_modes(struc
             make_cr3(v, mmfn);
             hvm_update_host_cr3(v);
         }
+        else if ( !old_mode )
+            ASSERT_UNREACHABLE();
         else if ( v->arch.paging.mode != old_mode )
         {
             SHADOW_PRINTK("new paging mode: %pv pe=%d gl=%u "
@@ -1872,11 +1874,10 @@ static void sh_update_paging_modes(struc
                           hvm_paging_enabled(v),
                           v->arch.paging.mode->guest_levels,
                           v->arch.paging.mode->shadow.shadow_levels,
-                          old_mode ? old_mode->guest_levels : 0,
-                          old_mode ? old_mode->shadow.shadow_levels : 0);
-            if ( old_mode &&
-                 (v->arch.paging.mode->shadow.shadow_levels !=
-                  old_mode->shadow.shadow_levels) )
+                          old_mode->guest_levels,
+                          old_mode->shadow.shadow_levels);
+            if ( v->arch.paging.mode->shadow.shadow_levels !=
+                 old_mode->shadow.shadow_levels )
             {
                 /* Need to make a new monitor table for the new mode */
                 mfn_t new_mfn, old_mfn;



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:31:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:31:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516658.801143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqVQ-0004eC-4C; Thu, 30 Mar 2023 11:31:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516658.801143; Thu, 30 Mar 2023 11:31:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqVQ-0004e5-1A; Thu, 30 Mar 2023 11:31:48 +0000
Received: by outflank-mailman (input) for mailman id 516658;
 Thu, 30 Mar 2023 11: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqVO-0002FN-O5
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:31:46 +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 73e58b8f-ceee-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:31:46 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8980.eurprd04.prod.outlook.com (2603:10a6:20b:42f::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 11:31:42 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 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>
X-Inumbo-ID: 73e58b8f-ceee-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I2o04hZTFoDpTSL4zM6urm9xv17de54SzbPTwFFd6FinuLMsdRTQ+u8xiW8ghFJBQy8Y+CVhJF/rlwPvpiu9Fs9julzu9hHwMDIeLhFCEeay+QSHRgTpylrmMPofJrJ9xkYzrEJI1751IVNEHGq8zNPdpfx25A/pKMHOq+0JzBXe8/YYJ+PA6IMjmIoIaFej79dMsocsTarFzRJOpL8GS4uDO11RbSf5jMWYoFjJ1a5a4xnuuXEMQ08RpnuODUVG+oW6IcPVsrmmlmNZdUloI0MTJFE7keNuvwFmUn2dFG+DburkjaLeV00nUNViMchTmMg1Sbj9AchxbmL1T3RtEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RpugR2creDQpmbTfh0GSUcRY9SEocvRjzcrAYXp5z+A=;
 b=MJ4dAyMSyDS7NOsmr0GfPUNHjyPG5Hw54A4ODtrLSBbllyfkiqQKs4340kAXNkbWhaV88dt/CfMX4ePqaPbugt0jwjF6qbE7ZN3PSm1OWCS7TehtBuHg7pXADLI+VF2MDSdbkFMpKBCDoCkPESvT6t610fUvgm3uRxVAeilOs9T+uxCjCY/chqAXxdWDF8UDuQFNB17W67XqHk7/xSAavhGqw0BvYUM4lQX5PgzeT3r9ZYf1fhIN42spWZJ1rlUraMgcTWvMsedAaXAnFqn6e6neCAzFgXai6jpz98FwXYgO9zyIl6yJHPkQzbaOZrLymwRQijbIYBbn8cumtAlcFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RpugR2creDQpmbTfh0GSUcRY9SEocvRjzcrAYXp5z+A=;
 b=PBtMUD2Y/3r/ezkaYWXao3GhiZzn3fxdKH+oy4a2xazwjdyl69S7eGRrsuVabM/TFZtm4GRg9YWW84DzuDnSKtyOyejQMpHJEThy3bzp8rt8Qxk5Umg8RJGwVlZhQLkyhe1LUEXi9qfQB+yonFIXKK872L+RCCHBh+5rI47tqe9FQlCr3tZeoZL4oHKXTo3N8ALIrm3fwFqmNh5SC4bB9yDgmCFZCaSBjManCExjoYwbt6TCwdInLJ6oGaD9N1AN8K9auO9iQMFE+VQtRd9qUixbTWiKpgr/Qkl8szIUq5GgnsOqdi0PEVWCCMOV9G7uWaUN0ycRUGoKWmjPZ0iz2Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <354658dc-35f5-1322-a1a7-da44d0d2b0f8@suse.com>
Date: Thu, 30 Mar 2023 13:31:41 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 12/13] x86/shadow: "monitor table" is a HVM-only concept
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
In-Reply-To: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0119.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::15) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8980:EE_
X-MS-Office365-Filtering-Correlation-Id: ea24e251-c833-4649-2837-08db3112561e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MJe2KzOXMMhONTIYdGoBnV7EJQ3rJwZAEdm4+mgebBCbNkbB18cIQ6AAtYFgwHrPFU+wun5PGNo9rm/SN8/RUkiZZxyXMNA/k8LWveVcDtvpMYh1YzFHAiZoGa71yyEDDpqkUruiMVPUcohem8rICJzr8Ix6hBYcMQ0mgCaVKUrSqD2BszO0kvvSdyq1ihhlXt4os5l5CSKn0w2mGOygn49+5vYPhsZC0491OuArIfxAynyAF4HowEzh9RbT5mrUmJXiuNx/0tFFdVc4b0DjLqekeYTZrNrkpsPd2CAHj2OfX5fBCu5eZ8wR5T35353FX/GiuWeW+TnjwqiGyYljYRbai7xupcjwDQ4ETxTWo0Gt/36orycgRDlwEhq7QFIxg1dxDVbeuCj1UyynUFtP29WgVbqpXwLoDrEPTEMmo2DA1dohjIjBg6H9axb3untG/P/CuPlCGDOKUiR0j6+KEAhL3lVzFq/NMS4HcxBPnQI6TxFIJbQO/BtxNVLK2nKF91sFqyxGHJZcXekdU1fMSmvkbV+e6BAX6O/YBWQ+MaUQ4aW2cDW1wzC04V5utfgyLICHRSZmiWSJwzOiZuOTNSISPq70H1qdHHFI9mJhoAAgina/SgesCGmLexS+00DcU5x8oiWd5SJYh+Eq3Z/SYA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(346002)(366004)(376002)(39860400002)(451199021)(5660300002)(31686004)(8936002)(2906002)(8676002)(4326008)(66946007)(6512007)(66556008)(66476007)(54906003)(316002)(6916009)(36756003)(6486002)(2616005)(478600001)(26005)(6506007)(186003)(41300700001)(86362001)(31696002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WG9DVmVSTUhZdWQ3TkNWMFc4TGpRaFJ1Znpab0VqZTA1eXM4MDhHT0RRZGtq?=
 =?utf-8?B?cVlmYW9oa1VEVm10c3ZxblJOelBIc0ZCaUNQZnlXWWl2RHJlcEQ1azlpYSs0?=
 =?utf-8?B?YXVXVjRXeldOeXUxUitDWktBbW5rSXVmU1dJY3I1TlFlZlU5eE9VMXFWOFZa?=
 =?utf-8?B?dEcyRlhkZHFlM0JBZkhiVUNVUnJ1OUNSOXc1SjVFQVdoSzAxdnZiOTlrTXVp?=
 =?utf-8?B?c0tkcWZTSm1NbWJxdXhyYnRnWTNwRWhjVFlPT0RQeEp1S2RJYjR1QkdPUVAz?=
 =?utf-8?B?SDFyNkhjbnhkWGJ5QmdjbzdRTXJqanp1QklNVHJ6clZDR1FsWGNKR3VtR2NG?=
 =?utf-8?B?MmdhMWh1Nlh3aFlmYnFEaHZFM0kyNGxFOXpCamxNUS90UzVHMnpqNk5LZEVU?=
 =?utf-8?B?Z0x6d3BRRUt1bG9xOUhzWFpoZW5sV2R6V2haUys2QThMZUppM2ZLZkU4Rm41?=
 =?utf-8?B?NTMwYjFIZ0VOaEtoSjkxMkhja29JSmZRakxzQWp3RGQ0aTg3aUsyVXVuTGJS?=
 =?utf-8?B?N2J4Um16MHZSdVpsVUtCbTg2RmlrbW8vVU4reGJjUy83bWxkTkVPcTBXazRT?=
 =?utf-8?B?TzdaN1h5aEFDdTd4YVQxcWtZUFdpUEU4K2pqcmI1NThLS0l3eG1lY1h5cmlp?=
 =?utf-8?B?V25DVE5HbFFuTEFianNQUGZGY1NVY3FhczgzNzlIemx0cWZHeExyVERmRlFJ?=
 =?utf-8?B?U3A1aUMyVjdIeTVVYXF0c3gxRlA1b1FLbXBoSlYrVEJvcjZQSTFQd3czY21X?=
 =?utf-8?B?ZGRnSk9NMlk1Y05BK1BMSFhsZVQ3MVg1dFFBMllLZmZ1QlRrSk9xYTFvckhD?=
 =?utf-8?B?RmU2MXNpQjBYQ2tRMjVnYXJsb3R6MUhoS0lVbUx4U2UzZzk5WGQ2OGx2ZW8x?=
 =?utf-8?B?VTBaM0w2bmdmdlJNK0ZWZnBaanFRMnBmMGttZ2JBM09ISlZQR3JVdmRFcHhN?=
 =?utf-8?B?aytLeU5vMGgvK1RsazAvR2x4TlJjUGJRYUM1WFEya0JvbnhVd1BTYkpGQytz?=
 =?utf-8?B?MVAydHZBUHJyZWN6bHhVd3BQSXVTVElqaW4xYUlkZyt2NCtVa2tYUERNSEJu?=
 =?utf-8?B?L3prMDhnbTVTSUtMdkZkRDg4UXRwd2hvNUNLSHhBdURYa0c0UC9ZRnRibVYv?=
 =?utf-8?B?ZjdHd3FwNEFwMHROV0NkTWF0a1NwakYwbmY3YzF0bmE5QVhMMlo5ekFXbElX?=
 =?utf-8?B?ajIreDAzOFVWaG9jbWFmbVg2Z0VyMjczQUswQVYyV2V5dXg5M05oZk51WGl1?=
 =?utf-8?B?c3VaVEN4UThmcU9tNTBEaUZCc0FaQUpkQXlKZWJvRHZud0RubS9oNGZZeW1m?=
 =?utf-8?B?ci9hL0tqd0VWNjgzUTV5MmNSK1VwZ3NMQjI2aUduejdsVnJOTkZPZzgzM1Zj?=
 =?utf-8?B?WnRwVHFuMjZPUS8zSGFDZ3ZMbTVlbTQxb3I5M3c2Y2ZIa1UrMWVGQ0hrMFRL?=
 =?utf-8?B?WnUvd3MwQjBGQmVHck12OExHODZQaUk3VTdqYzd2MUtRMVJ2VDdjVHZvdk0z?=
 =?utf-8?B?Z3hXbzJLK0lMVE1XU3RtaUErcGQ5QUdPaWxCQk5nRFZPTFJCMlhQTVRaWEFS?=
 =?utf-8?B?cTRZWjV5dlFzT2lFdC9HUmNjN09KRTE3MnVZMDNINDhrMEJaMk8raVB4UjJH?=
 =?utf-8?B?YTdHdFZMY2ZRNEZHcnlzZDRsMk1NUmxFUEorN3dtMHVxalk2czIrcUd6WmZa?=
 =?utf-8?B?U292NEJYMW9zSzFnbUlVNzFjMUgwUmlSYmsyRGhJNHVBUkZ5UGQ5bnBpZWxj?=
 =?utf-8?B?cGZobFNDVXRSZmJLMGF6bkNTcDZLalFFZ1BNNVRqQjJxeG1LaFpiRDEyWmpq?=
 =?utf-8?B?T1I0bllnY3NKMWRSZEpPQ2hTTE1lcFBtSFYvM3BmMUZ6NjhqcnFObGNMeTd1?=
 =?utf-8?B?MFJYZXB4b1NWYjN3VUdGNG5pdVBPSHl3bnBIY0ZjT1JCYlZSK1pZOERKL2dX?=
 =?utf-8?B?OU1XVW5aeTJYWFBFQWJ4ZnUwL0JKRCtYWFpFT0FieXQvUm5PWC9jVGVIWkpp?=
 =?utf-8?B?cU9MV09kQkxaNkQrbWJwMEJYbDJDSkF6alYzV2t6Qm1pbDZxMFQwSWI5MFJZ?=
 =?utf-8?B?QUJBNU52aFl6R0lZakNHM2FTWmZtdHFEU3ErUi9TVTZJNmhYaUhiTm5UeUNj?=
 =?utf-8?Q?ac1lx/7k3doffNZhuRoCMOPmm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ea24e251-c833-4649-2837-08db3112561e
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:31:42.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: 2grHUIOVSnqm2zAGrySE86Gky9ltNwd7kbkQiocudmBPEq+GE9v3Ss0YYmqVOkxft9pW/JkB/rQ4OjeAVaL9Mw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8980

It looks like in the combination of aff8bf94ce65 ('x86/shadow: only
4-level guest code needs building when !HVM') and 0b841314dace
('x86/shadow: sh_{make,destroy}_monitor_table() are "even more" HVM-
only') I didn't go quite far enough: SH_type_monitor_table is also
effectively unused when !HVM.

The assertion early in sh_destroy_shadow() can have the type dropped
altogether: it shouldn't make it here in the first place. Pages of
this type are freed directly from sh_destroy_monitor_table() only.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

--- a/xen/arch/x86/mm/shadow/common.c
+++ b/xen/arch/x86/mm/shadow/common.c
@@ -1190,7 +1190,6 @@ void sh_destroy_shadow(struct domain *d,
     ASSERT(t == SH_type_fl1_32_shadow  ||
            t == SH_type_fl1_pae_shadow ||
            t == SH_type_fl1_64_shadow  ||
-           t == SH_type_monitor_table  ||
            (is_pv_32bit_domain(d) && t == SH_type_l4_64_shadow) ||
            (page_get_owner(mfn_to_page(backpointer(sp))) == d));
 
--- a/xen/arch/x86/mm/shadow/private.h
+++ b/xen/arch/x86/mm/shadow/private.h
@@ -205,8 +205,7 @@ extern void shadow_audit_tables(struct v
 #define SH_type_l4_64_shadow   6U /* shadowing a 64-bit L4 page */
 #define SH_type_max_shadow     6U
 #define SH_type_p2m_table      7U /* in use as the p2m table */
-#define SH_type_monitor_table  8U /* in use as a monitor table */
-#define SH_type_unused         9U
+#define SH_type_unused         8U
 #endif
 
 #ifndef CONFIG_PV32 /* Unused (but uglier to #ifdef above): */



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:32:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:32:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516662.801153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqWB-0005KT-Dh; Thu, 30 Mar 2023 11:32:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516662.801153; Thu, 30 Mar 2023 11: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 1phqWB-0005KK-Ac; Thu, 30 Mar 2023 11:32:35 +0000
Received: by outflank-mailman (input) for mailman id 516662;
 Thu, 30 Mar 2023 11:32: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqWA-0002FN-1n
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:32:34 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8fdf046c-ceee-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:32:33 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB8980.eurprd04.prod.outlook.com (2603:10a6:20b:42f::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 11:32:32 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11:32:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8fdf046c-ceee-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Gh/ofto/1gHJ02qlDvJj6RD30SdIKBaldip+atea+Z4sxd41vbYa3PR8L79arSc1uphxUiW6C/t7bEmAlRoKQvvtUbG6YgazjSj0dntfl6w5z0gxCjbaqTpi6DGJBHhN4cPSBRAsthZqC40Io8s0J2L0KJ40LSO2dKHKcOUM1NQQbpasjK6CdxMt4WhiIDdPMU+EQODqySVTVlZJ8WvlBv7zsAzHym2mSdcd8GUb4YBsnOgutSCDG83ip5QhW7B6coN9uBIMVRv1Ew7R+QEek9Zh7HHohmnJ0pblLSh+qfvY6WxJTRU22ks2qP/6V9AOMMig07o+mv7Gde2dwCu6XQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X1l2fkRqRJiGKZyq0x1zbIscrbjHpZaIQjMcBMuPrbQ=;
 b=SDgh5ofhCzXCC3CvMd+3OGGiwuLTQtQrzDEfE81XBWe7BNvQ22uKi97miKVHm+/VShFr4KkakwHDS8ClmCJoFlLYLG38A3HrkMI67XkKDML7tQoJ+rvsGog4SlGHmHRpKALHBgRl7ViseXGjnrFj53O7pC1T3ufoFBfBmZvlzy7mmZMXVCYDVJLfPBqHEHZeyLPlsWRSmZi8JknDefRQFXbonZYQu7P0rvV49TAjT4KffGmWILWvQoGXPHoq95kd08pwkh+RyhmA2T4uAbQ+3A5xKpziYCuuxzIxWOTnbG1kK0b02HO63v9QWtgW8awkQk3IDSbc/++wN5echwWAPA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X1l2fkRqRJiGKZyq0x1zbIscrbjHpZaIQjMcBMuPrbQ=;
 b=3XjdHwsOJQGis5sxBnLb53b5XroEG1UtxOHMa4aBXdf+kl5En/0ffCGWbZGgb2Ws8VqU4841LJ6ia2+1RwutyjrY3lWQOV8h17G7//nYLscEF9/fJ1RZ2OlHMz5Kwn6Xkks75PJufk25dPRUIE/hZaky33FObxvkJ9gNE1NOSQIttmiy1tfuz9ZhQ/ywSZWyrHY53KlfyjiZBrEm8F4xVuWtnY5+9nranWbR4zXhs0OWfc97jJ/zRxoDC82fNTJMzDBT/RzNamsi0d5+WHNd2Qoer7t45ANvoibU7ggyE3Nrnvl2sUS7uh+mRmTU+Hh8t6kmu1UFuKlJGqSZN6ZA9g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9d53c403-da7e-8a56-516e-b5f8151d2707@suse.com>
Date: Thu, 30 Mar 2023 13:32:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: [PATCH v2 13/13] x86/shadow: adjust monitor table prealloc amount
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>,
 George Dunlap <george.dunlap@citrix.com>, Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
In-Reply-To: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.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 VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB8980:EE_
X-MS-Office365-Filtering-Correlation-Id: cdf2c7b0-1bbb-4eb3-b60a-08db3112736c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PXKUekEv+9+Ds7SnzPL4yL+yIQdKbslb0Vr73af1hYc1CCViBpnQCTysYeyKubmaY7+u76r+W4t3u7uCg5QnKAV/tU1RK0+kLS8Ecoq7TbP+eC6GO52x1bxtTNXR22/cPXf8LCXHPj4Q5haD6NoW35j5H3XTm1Jq+zF81zArvWSPEhq/4lssNd/3y7K4xQxUbEwohy01cp+GwgdYtXg0a8FyqVqlEL3OL0CHhJY7zZMEc8vbR7yaKj25P0/u8PIE135uJS6G3bOtcssAjwgcVfrRf5oQGSegsY+XFpPPcwzQjISFMllpmT9frD0ylR7x94JmPbneE2hbzA663g/Ydi3lLOy8DMAYc73jOSoHIW9uVBYOWTxK3g7bXjs1U7JiyMFF+HKh4E8w59/r/jK/l0n9aoPW1janS4ddw8UKA1BrvpZecfNzsdZ5S9fT4g609+qITY+nskE13RejjbBuopYik1K2LidqRqh0tcv7JDkfF0mLrTcOVg+EnqvfJuhFeoLdk86lLxniWlRVpSdaS94dBCCJI/BcqHtt6rioCFxFddCwDuQMsYLnSz5mPz8Q6zjrPApLFjkNlIcwDg+iG4auT4HsxHI1p3pq4j+KNk7dQFxn0rStgXq+2gPTwhxezo3Q73e964JNXg5egzkwFQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(346002)(366004)(376002)(39860400002)(451199021)(5660300002)(31686004)(8936002)(2906002)(8676002)(4326008)(66946007)(6512007)(66556008)(66476007)(54906003)(316002)(6916009)(36756003)(6486002)(2616005)(478600001)(26005)(6506007)(186003)(41300700001)(86362001)(31696002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VFR5ZnJSWUw4VHJHa1RyNHRINHlCVUFnRENHTEJtckF2N21hUWdMSDVDT05x?=
 =?utf-8?B?cThuUklSVTUreU9ubnRsSzBIcy9DdDBGMlMzaks3d05wLzRQQjFsY0hmSXF6?=
 =?utf-8?B?aVYrRnpMUkVWQmtMRmpBZ2o2eVhLRGVzVldZVHc0bEJ6WVlvV3EvNzc1QWtS?=
 =?utf-8?B?K2dTMTVyeDQxclFnWkdJV0toQVhLSEF3K0VPMTJ3L3krdDJsdHhoRnVkdFNt?=
 =?utf-8?B?aVppd3FmUEF6SkF0cUxMZEJWUWNrSFNSZkJzWTErYklOTWJMRTFHcUdPR0lQ?=
 =?utf-8?B?N09SbHhIbmJyMWxhdnJ2b0lPSllaZFNqNjY1MEdaQmM3TTIwcGdmOTlYN1FI?=
 =?utf-8?B?dmpWVVNaZjVQR3F6bFUvZ0VCc2FMY3Y5bG1udEQ0bVViYWFISE5EbFczRnZJ?=
 =?utf-8?B?MSs1cHFSTXFJRTBwOEQ4N2ZUMnZabHowU0NhU1d3akVWWTZCU0MzZnJOYWJJ?=
 =?utf-8?B?ZzdVRVlKMkpyelptQzhzVHNPTEdqZ1IzZExrNENxRnREL1YyR3o1UmpqYjk4?=
 =?utf-8?B?ZVFEOUxaMEc0dVhHOVRHL3RpVFpMemkxVnVVUmxyTUxZdWJLMXlVTDltVlZl?=
 =?utf-8?B?SGczSlVvak9ySlpQdzFkUTU5d09IMXMzRUMyWU5EemErM21sUW9kTGpXSGFa?=
 =?utf-8?B?SW9tZ0VqNlFSU2gyZ1RxSkJpZXVyQ0o0cWJOejdacFM0ZGU5OE02YStVN1dC?=
 =?utf-8?B?Z21JSjMvMEpCSEVab2lSYXVibFpRcFlMdDR3SXUxR29PbHVuM1J4R2c3R3Zs?=
 =?utf-8?B?UzRzYjNWbC9OeVNJN1hvbTF1dXNVQ1ZhelpQbzZjdFZkTEhocEF1ZTVwRFFi?=
 =?utf-8?B?NmszYVVCVlZGbFlUZ3BrQzF4WTZzMDZjUjQxbVVOK2M5VGVQbUhqQ2xyZk94?=
 =?utf-8?B?MDBieFJ5MUhmbDVYSXNCcEVtTDNIYkdQQ2RyM24zVWMxZldqbUE0ZFZCWjhj?=
 =?utf-8?B?M3kzckgwdW5aSEl2dmhuaDFkbUYvaitNb3lxZUpvY0Z4MjBlQ25yTWdqOHcw?=
 =?utf-8?B?cmFmamova2xJcVNVQVg0MFRaekwxQ3NmM1BxeUJSZFRteHJqa3k4SzkyVll1?=
 =?utf-8?B?UmpRTnQ0OG9iS3BKODV5eUlEbXlBRWNIQXd0L3drNjAzcDRFWkF6U3pEZEVU?=
 =?utf-8?B?dTJZcTd0Q2RZN1Z0c0RmdWtYY0lXVndKdXVMeUo0OU9mOEo4aVFiSUFwYkhI?=
 =?utf-8?B?eEhPenZOWnBoWXFmR3ZEL1FobWNsV1d1bHdSRXI0TFBBYWthZ3lBRUlmbXhj?=
 =?utf-8?B?YUJLOXhyeXQ3djNUTFdLNjd2aVNiSjdQblF0RDFCazVsa3Y0OFovZmNBWUIr?=
 =?utf-8?B?VGlMdkJ6cW1Hai9QOEFsRFNnYUtJQm14MUFiOFJoQkhzcmh6bTZNKzBtTUJE?=
 =?utf-8?B?dmFJcG5kOFp4WlJuUTQya2phWXcyUGN3MjJZZ2VOZnJYRjU1MmtlV1dYTWZl?=
 =?utf-8?B?MFkzMHlKdHE1NHkzOVUxSVFOU1FmU1k0dkJjbHZ2bEZvL0dMUWM1SDFuekY3?=
 =?utf-8?B?eldTNFA3ZXNpdW5aWW5lTFBvZTVKemFLaEFtelVFYURPTDRmQTdFN2U1R0ZK?=
 =?utf-8?B?b1BwS2dkZFY2eGRtL21IYkVnblJtSzRCNTBkYWV5KzMrY1NyMzBjTDN5Vm4z?=
 =?utf-8?B?SzlIL1g5enB0eGR0QVhvdEZvVHMrM01CdFlSUC9KcXdtcVdDOGpTSjVucGUx?=
 =?utf-8?B?ZmVmcFVJVytsL05PdFo0TkZMYng5VGQ5SUlQUmZpMVJZWTNna1ZPSDRVbnBp?=
 =?utf-8?B?MC9HWERvQS9DZXJoWXM3ZVdzREpDSzBqWWRhbTJEcktwcTF1NXdYUWVJNGZW?=
 =?utf-8?B?NmJFWDY2SlN6aytZbXhyUEVoaGN6VjdzbnRiTU93ZjFzQ2Zxb0gvd01iQUQv?=
 =?utf-8?B?V0pXSFRLaTNyWGhWcEdydnJUUEo5QUpZKzVuMFhldVhuZ2lodDBNdzhhR3k0?=
 =?utf-8?B?Z1ErQm4zY25WR0RtWm1yUmd5NjNqSkhMM1NkdTc2Q2NBN0o2SnZBWG11aXdQ?=
 =?utf-8?B?anEwY2tlVFhIMG9GWWMvRnFjbVRUQkJxcTNlNDEvOUhhNUJTSy96VU5RZCta?=
 =?utf-8?B?ajMrTndwQ3h2UDJvRy9hNzZxVUdQMkNka1dLa1dwczYwVU8xSUUyS1NCZFNS?=
 =?utf-8?Q?NgrsQ9PL2M5kZFVcTKeZcHehy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cdf2c7b0-1bbb-4eb3-b60a-08db3112736c
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:32:31.9872
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Nra8okp7oP/4xp1ofcR+glPqXrCweXrXZ4az4PviL4/+BEtvgNikhqFrvDON2gBoJssbW9tDICxGiuJsQFkLeQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8980

While 670d6b908ff2 ('x86 shadow: Move the shadow linear mapping for
n-on-3-on-4 shadows so') bumped the amount by one too little for the
32-on-64 case (which luckily was dead code, and hence a bump wasn't
necessary in the first place), 0b841314dace ('x86/shadow:
sh_{make,destroy}_monitor_table() are "even more" HVM-only'), dropping
the dead code, then didn't adjust the amount back. Yet even the original
amount was too high in certain cases. Switch to pre-allocating just as
much as is going to be needed.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/mm/shadow/hvm.c
+++ b/xen/arch/x86/mm/shadow/hvm.c
@@ -738,7 +738,7 @@ mfn_t sh_make_monitor_table(const struct
     ASSERT(!pagetable_get_pfn(v->arch.hvm.monitor_table));
 
     /* Guarantee we can get the memory we need */
-    if ( !shadow_prealloc(d, SH_type_monitor_table, CONFIG_PAGING_LEVELS) )
+    if ( !shadow_prealloc(d, SH_type_monitor_table, shadow_levels < 4 ? 3 : 1) )
         return INVALID_MFN;
 
     m4mfn = shadow_alloc(d, SH_type_monitor_table, 0);



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:41:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:41:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516666.801163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqeA-00070T-As; Thu, 30 Mar 2023 11:40:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516666.801163; Thu, 30 Mar 2023 11: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 1phqeA-00070M-7a; Thu, 30 Mar 2023 11:40:50 +0000
Received: by outflank-mailman (input) for mailman id 516666;
 Thu, 30 Mar 2023 11: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phqe8-00070G-Vr
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:40:49 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20608.outbound.protection.outlook.com
 [2a01:111:f400:fe12::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b63689fd-ceef-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:40:47 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBAPR04MB7477.eurprd04.prod.outlook.com (2603:10a6:10:1a9::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 11:40:44 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 11:40: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: b63689fd-ceef-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XJmlXXLfOM30AySkICluADyfMbqi67YpvHEhOS9gnbFSQIH2oalttE73RCG5tnbkhPSoqOmKz3Prb8aS3RxJlWOeHKWBzaeEjTyNVvMaClkgspXLza5AUpUGNMm6dj/xLZZn4qf1PkmGK2MASSYW4AIVmD9NjdQAHmyg0SLBzJIX7LR0C37EY4nuk6ovTeQbqw0F32FCZhUcqOkfOOwkmOHf9pAx/X7W8mQhxwueDMgCNHdjQ+nTv3/QrVdxrJCVmlQOpXZXFDran0EtxTP9AsEboERPsM575pnd3dpBCH13kDqFDGOdcEObRfKuIP5Re4R5GYgeNlmsyTPW8bz+6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ljr+TGhT/bVsusV+ATUJbeFDluaa1XdB6hxCHA2v6vc=;
 b=fURidG+TTaAMj+HRKoTI4e/4j+SS80tIEX+Czc/cGLYpplZNhOe0NM6YcZS6ZNRsSwV9bpjHknQnXa+dRk1S8XgdQ0ItiEGfQGkn+MyJb2/QLReX1QoA4Drcr3xl7fVdfbUwRHyd91vZOnHjwuckMdi4jiO76wHPASi1opBjDK/eewMlWFAi7J2vRQBZh78CpKxBRbbGTgd4I4CMu2K4wz2tOkW2Ouxp38rYngtWgA8BrdzpjiLyhVPrsbvIYYsnfePP6azFklFa+h56EIe/AS17/pkczN8qX7iU+0FlG//5UM3zBYBcbQ1fSbhmrPg07wti+fB37t61VcpDLl5Hgg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ljr+TGhT/bVsusV+ATUJbeFDluaa1XdB6hxCHA2v6vc=;
 b=ANSkSaVUklkGiFoQ6Ja+KlGmGAeD0zDrRjEwclJ9aZYPIuiuWbze9F8aOJZUQbhCzc/n2mjqo/5znk2RSjQ0/PN+GPYsYKRCxaJmt+g2br2Xht1Jgi8jYSHgL49/D85IJrq28kBqgbS7yHQyJd1yJ4PJ3JOvsJ9s74kGh395/j+RrRMYv2y4pbI7b0Avzcvs3z3C5U+QUxwQZMiZQYC3WNfclsqnIROP6eryW2wm20kGLB8RWyxtDAZGHhywtFjglQ4pmiOcYxAfacGqHhrjTJgCMLx8IFbjqeZVFcVtWFHMY75RtAUPuCI5/T0n9dlTksQmEnQRnQnpPGDHEr7AGQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6591a671-a71e-f669-749f-c36dcd593cde@suse.com>
Date: Thu, 30 Mar 2023 13:40:43 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 0/8] x86emul: a few small steps towards disintegration
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: <7f5287ad-8442-6c53-d513-f9a8345c4857@suse.com>
 <ZCL3W/HrwLANuE/0@Air-de-Roger>
 <40d58ac1-d0bb-afed-c0ae-c545c7bff30c@suse.com>
 <ZCRIbKcfi8hn1m8Z@Air-de-Roger>
 <600f8643-fddb-e9f8-3d73-41eead3d7cfa@suse.com>
 <ZCVcPQNBS3bjVF+W@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCVcPQNBS3bjVF+W@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::12) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBAPR04MB7477:EE_
X-MS-Office365-Filtering-Correlation-Id: 419a96fa-a30d-47ec-1937-08db311398f3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Zz2bsVszE6srmSj8XbGY+rxRo2o+w9fdZcY55BwWTWQq9TlbAgMuubXZDb8tZf38R/Gaikc7Mz72OG2A+NiSPxsQdVxqLvNqG9bq/up0iO1Ja9QU3ZPulamYEBlAVcsXQW/2bEZoN29ZEDmRoSISdAit8HNLmTGTtiPmCra8sxC1YT1NTomgg3+KNS8tbYlac4HDjukTghXlCGE3Zi1+abFvRKAMapUFBUEAShcgP/zzTyb3FzWflWyn5QeU6FMDPqPnsjDRnfffBe2avQJbKH3qmBrrvS/lFVpJ+l/O4VXgaUmK5vhLo9mtOpHd37PQgWTekTsWc4K7gqOjaJ+EEAa65f1ZTdXq/u8nhfIhk6/9Ldtk0pdCYLN6QP0kaG8W782i9U3tLhBjc2xbavgvfButYkkd77B1mKP1VxsE1scU17NNSOK45oIVjVWqhb738vJdCYIT0Pb2X4ng1EG0Op0yFUkaNpSl1CWEWCpt1LHA+TK0+MJ7UguzgopkVhk+PEVvPDY/drgg/IOVE0mG9nVWEajNW9moliilr/HQS3kMtMLNWCXqzNwtcFgdv4UUPZbLoVsd1+gpb+/xnrjOJh1JLbNpWy028VjTsmDxtcnUNFmIbQ9sNvaW3tEiD9VNK8tEhChPQQ8HRWTOK5VuQQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39850400004)(136003)(346002)(376002)(396003)(366004)(451199021)(2616005)(36756003)(31696002)(86362001)(66899021)(31686004)(2906002)(6486002)(478600001)(186003)(83380400001)(53546011)(6506007)(26005)(6512007)(66556008)(6916009)(66476007)(66946007)(316002)(8676002)(8936002)(41300700001)(38100700002)(54906003)(4326008)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGtOTnhYUkIzNjdmQzZBcmtoTjE2bThhc0dSS3dWditqR244KytzMTRhc3JQ?=
 =?utf-8?B?UWJaaHBhcisyQlkvQjNTVTNGcVJNekM4cG9zUVE3dy9XeTZlRHpUNkpzbndi?=
 =?utf-8?B?Wkh3RlI0MjNoamFvTXozSDBUOGpUNXk2Y1NlTkt5UDI1U1I2TXZOT1h3Qm1K?=
 =?utf-8?B?bHFYbW51NUpGT1EyWUMxdEhHYU9HazRPdi9jU3hsM1I3MlcyQ1NUS0ZlQll3?=
 =?utf-8?B?RUtsTTVtSDJvR3BESUVSZGg5LytWVHB6UmFENjlVWkI0YndWUkY0SkIrRldZ?=
 =?utf-8?B?YmhMTjRWajRmdFYyNnh3TmJCV1NJRk54L1g2QzM4a080UzVMMlhXeFA2d2pa?=
 =?utf-8?B?dUlPalY3aXVqYUM1NGQ1S25BREd4bksram1mTnQ5UkV2V21oMFg5S3pCdnNt?=
 =?utf-8?B?UWpqZGwxeTNvSVlBREIzTVZTU1YrTnJUNlF3NFpITjNWLzJyVDEwOVNHeUph?=
 =?utf-8?B?dWtVYllCL1lrMGNxR2Zzd0wvaGZ0d3dXdWkwUHQyOVJ1ZGhBTGtFcWp6ZTZj?=
 =?utf-8?B?REkrUEpxLzh6UUdnMGdMYndZUW12cm1PVFNvNVVtOHByUSs1bmNGSWU0TVBU?=
 =?utf-8?B?OUdBZElRYXNXVmd3T0xpb1ZQTElsUWQ4SS9za3VTTHhOWjB3ekNhVXZLRk5a?=
 =?utf-8?B?ckxGVit2ZFEyZHNMWFE5WHBsbzVUOG95RE1IVW5HcW5ERkE5MmdrWGNQWm81?=
 =?utf-8?B?ZFMvY3FRSTNRLzgvR2s1bC9YOURZZndsVVdVcFJRTUYvMXNYS2xvaTFPSXho?=
 =?utf-8?B?aFVmbDk4dkhydFJ1aW9Ec1E3VHJlbG43NURTQTZrL0pRdXBkMTN2UGh3VitK?=
 =?utf-8?B?T2t4YXBsWkZmL0dxcnlyTmsxcDdXNjRVemo4Mjh3REo2U0R4U1hzNTVFUlpm?=
 =?utf-8?B?TXJ5bUx2Q1NGdTFKUTNQcW04OTYvNXlRa0ZVUE0xa1hSbDZQdTNIUzFac0Jt?=
 =?utf-8?B?emhLM1F4bGY0UDJ5NXp6UzdzbThhb1RpTkhENk1RWXZqUEZHSFVtZlR4Slho?=
 =?utf-8?B?VlZxbmM2bWtZODBseUg5QnRrNEtBWFArU3hpL2Q2ZXp5UnljUHU0eTFHQ2hY?=
 =?utf-8?B?a2F4bmg3bC9FWG00NEgxWEJWZ0pVdFkyQXdkVXkvcDFpK2FyUlFRemFuM1pF?=
 =?utf-8?B?L0ptaU1CVzI5aWRKNGNSWmtKazB1VnNIWHdLT3BsUHVEWWdhTlRPM3NRVDJi?=
 =?utf-8?B?U0tObU1RTC9iL1BaTWdJekJTR283MG1aU1ZZYVp3VFQ3Z1A4S2xCNHQwbVlV?=
 =?utf-8?B?ZExKVUZRYk5vQ0tWbEc3VjhCUWtXdUc2cklSVXl3SUh1MEplZ214MHhraVlk?=
 =?utf-8?B?ZXhCY05XNWJaT0EzMmY0dVNoMGUxaW5kYTNXaER1Zy84aG9RYnVaREpXcFdt?=
 =?utf-8?B?cUVIVXN1c3M1SGJLTldnZTBON2lOTkFOMTZ6alpyMW1kMlp0Y29mdWNWS1VU?=
 =?utf-8?B?U0hJMDk0U0tPTXpqN1RZZE9mZjFISTBhM3RRYW1sSG9mWXdYOGlqZlhmSmZ4?=
 =?utf-8?B?MUZPYUJXcy9ibzBpeDFsNjhzRkFiMU1UZTB4UWUzQk9rVTA3c1EzWVp1UlZw?=
 =?utf-8?B?Y1hkd0lDY3ZFWUlpT0hyZlpha3ZCZG82SmJqbGVzd3Jza3VxTDExZTBkQWpW?=
 =?utf-8?B?RTA2L2FVVlBmbEdSdmNsbXdPWHo1TWoxb3FXd0hJWXNxUktKVDNzWnpKWTBC?=
 =?utf-8?B?MTk0SjZ6R3I3QytSWmNSTjBBWUc3bHJiQk1nOGwybURJamJjdWZmaVd5OHNV?=
 =?utf-8?B?UC9IWHNSQzVQQWIxdDFWL0FWUks0YktsS3YvQTRRL3NTY24wbjJUSEtGVHl5?=
 =?utf-8?B?UFRXd2I5V2U5WWloOHR5bnpkSXEra2ppNS9NTWw5c0dBbW1IVnJTdGJiM2Vj?=
 =?utf-8?B?amx3emlYZlpmTXhBN0E3MVBVMnRzR1JWRXJ4Q0d3TjVpZ3RyaG9LbW1TcHFZ?=
 =?utf-8?B?ekNSYm8zalhvYk9telZnVXVQS0IraUFTdGRiZGNaYXRpcEp0SHZmbjFMSUlm?=
 =?utf-8?B?M3N2eThmTHpSdldacHdTT3dBbmV3ckU0b2oyMFBEVTF6ODU4Q1F4NEU5dGtB?=
 =?utf-8?B?OXpTZ0hGWTBLV1d5VEl1cy90cThkUTV2SkxTc1E3cnR3OHc3L1N6RW94ZHFM?=
 =?utf-8?Q?HPVo2HL+C3Y/knXJKKWoIXgsE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 419a96fa-a30d-47ec-1937-08db311398f3
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:40:44.4615
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Q0nZIKCjkBQC0HS/hZhWgXGf96ne+0PhxPxWNktswO1beGhBpdH0ULYjgePkTgXx0Nvoq3jdTzVzI0W2dzLaKw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7477

On 30.03.2023 11:54, Roger Pau Monné wrote:
> On Thu, Mar 30, 2023 at 09:53:23AM +0200, Jan Beulich wrote:
>> On 29.03.2023 16:17, Roger Pau Monné wrote:
>>> Do we expect to be able to split other opcode handling into separate
>>> files?
>>
>> As per above, "expect" is perhaps too optimistic. I'd say "hope", in
>> particular for SIMD code (which I guess is now the main part of the
>> ISA as well as the sources, at least number-of-insns-wise). One
>> possible (likely intermediate) approach might be to move all SIMD code
>> from the huge switch() statement to its own file/function, invoked
>> from that huge switch()'s default: case. It may then still be a big
>> switch() statement in (e.g.) simd.c, but we'd then at least have two
>> of them, each about half the size of what we have right now. Plus it
>> may allow some (most?) of the X86EMUL_NO_SIMD #ifdef-ary to be dropped,
>> as the new file - like fpu.c - could then itself be built only
>> conditionally.
> 
> I don't like the handling of SIMD from a default case in the global
> switch much, as we then could end up chaining all kind of random
> handling in the default case.  It's IMO clearer if we can detect and
> forward insn to the SIMD code when we know it's a SIMD instruction.

Avoiding of which would require ...

>>> I wonder how tied together are the remaining cases, and whether we
>>> will be able to split more of them into separate units?
>>
>> That's the big open question indeed. As per above - with some effort
>> I expect all SIMD code could collectively be moved out; further
>> splitting would likely end up more involved.
>>
>>> Overall I don't think the disintegration makes the code harder, as the split
>>> cases seems to be fully isolated, I do however wonder whether further splits
>>> might not be so isolated?
>>
>> And again - indeed. This series, while already a lot of code churn, is
>> only collecting some of the very low hanging fruit. But at least I
>> hope that the pieces now separated out won't need a lot of touching
>> later on, except of course to add support for new insns.
> 
> OK, I'm a bit concerned that we end up growing duplicated switch
> cases, in the sense that we will have the following:
> 
> switch ( insn )
> {
> case 0x100:
> case 0x1f0:
> case 0x200:
> 	x86emul_foo();
> ...
> }
> 
> x86emul_foo()
> {
>     switch (insn )
>     {
>     case 0x100:
>         /* Handle. */
> 	break;
> 
>     case 0x1f0:
>         /* Handle. */
> 	break;
> 
>     case 0x200:
>         ...
>     }
> }
> 
> So that we would end up having to add the opcodes twice, once in the
> generic switch, and then again at place the insn are actually handled.

... doing exactly this, which looks like we a agree we'd like to avoid.
I'm also not really concerned of "chaining all kind of random handling
in the default case" - where things are terminated with an error code
doesn't really matter. As first step here I'm literally thinking of
splitting the huge switch() into two. The only thing that I can see may
get in the way is the resulting SIMD function requiring like 20
parameters.

> So far the introduced splits seems fine in that they deal with a
> contiguous range of opcodes.
> 
> For patches 1-7:
> 
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks!

> Patch 8 I'm unsure, I guess it should be up to the user to decide
> whether to use -Os or some other optimization?
> 
> I expect introspection users likely care way more about the speed
> rather than the size of the generated x86 emulator code?

Perhaps. But do we want to introduce another Kconfig control just
for that? And wouldn't there likely be other performance concerns,
if performance really mattered in the introspection case?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:56:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:56:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516669.801172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqtX-00007k-Mv; Thu, 30 Mar 2023 11:56:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516669.801172; Thu, 30 Mar 2023 11: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 1phqtX-00007d-Jz; Thu, 30 Mar 2023 11:56:43 +0000
Received: by outflank-mailman (input) for mailman id 516669;
 Thu, 30 Mar 2023 11: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=oVKM=7W=citrix.com=prvs=44691dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phqtV-00007X-Tw
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:56:41 +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 ed9fb0cf-cef1-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 13:56:40 +0200 (CEST)
Received: from mail-bn8nam11lp2169.outbound.protection.outlook.com (HELO
 NAM11-BN8-obe.outbound.protection.outlook.com) ([104.47.58.169])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 07:56:37 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO6PR03MB6209.namprd03.prod.outlook.com (2603:10b6:5:355::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Thu, 30 Mar
 2023 11:56:30 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6254.022; Thu, 30 Mar 2023
 11:56: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: ed9fb0cf-cef1-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680177400;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=xUl9eeiOlLKqTVCzasdlfkiEGLrLAMydSibTiLUI++c=;
  b=Pcp7qpu1Mpg6mmL3d/7Eilaz0oaC8uu2D31fg4qTooITws7J+LZ/mJ0W
   XM1dDZHbuLdTcfdxg4IPZEBEmCzIffwE3BOxV3gCv7t4wVv0/lCunpBWK
   J8H0IeYCAnoWahMh//FwO0Pa8Ujqe76lo7H/jAP3Ap73UquWtIlhvHT6N
   s=;
X-IronPort-RemoteIP: 104.47.58.169
X-IronPort-MID: 103694797
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:AG4MiavnGF4NrCiLDQ8s8Bzn8efnVHtfMUV32f8akzHdYApBsoF/q
 tZmKW6FO6zeZzDxeoxxbY+z/UIPuZ7VzdU3GgtpriAwEywa+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASFzyFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwCzcdRxTeo/KK5aOJWOMr3u4Pa/uoFdZK0p1g5Wmx4fcOZ7nmGvyPz/kImTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osgP60bou9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgraA73ALCmQT/DjVVeWfirvacgHfmVtRUC
 1MGwhEit/U9oRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LRQ62
 1nMk973CDhHtLyOVWnb5rqStSm1OyUeMSkFfyBscOcey9zqoYV2hBSfSN9mSfexloesR2C2x
 C2Wpi8jgblVldQMy6iw4VHAhXSru4TNSQk2oA7QWwpJ8z9EWWJsXKTwgXCz0BqKBNzxooWp1
 JTcp/Wj0Q==
IronPort-HdrOrdr: A9a23:MOPx/aj2GdKcT+dJxBFr81DUA3BQXvwji2hC6mlwRA09TyXPrb
 HVoB0+726MtN93YgBHpTngAtjmfZq4z/RICOYqTNSftWXd2FdAT7sSibcKoQeQeREWrdQtrZ
 uIGpIWYLbN5DNB/KPHCWeDcuoI8Z2u7L2vnuvGymcFd3AQV0ii1WtE48Sgf3GeiDMoOXPxLv
 Sh2vY=
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103694797"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eVas2PvWtvJw2dkYkl4qKlVRHzMkVhW4yJPXfXvoib4J2+s6+j6jZHqh/NE+/TJd3BK/mZw8KRx7NJo+f0DNQJCzcme3uix4umTDbUgQq99iE1n4qwFai5GKnIshu8ect2Cnr9ZThCQXFlbje8v/mB8FIMhKQCn9rVIwX6BuoaOKYlT+/qNLWuoS34tYe1bUhwZga1SY43cfn0n5Z1uEpHzRS+eIV7zwPSesSP5PKRFS6LkYhWgsfqrwQiAWonctDmwTAp3QcqW/uOQxM1H0+9eUsfgWl0yNvlmO9ou4rmiKoZsA7pki5iLVSOh92dvCjLR5Adx/GPqnZTOsiavRYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fKBRSv4JaaZqbnws3tYTBKZ84gwOmdgiT4UddP5fZBs=;
 b=kEyjsVEg21jma2NQXzEsVqzfui1j1UVFFuR1G1AchSfpRxeBzJc86y5rUqTk8We1Q/FezpVCOLUunQSEuyA7NQ8ufpkC+HQYxOCOz4cuo0Sqc8J2CODTajCTG094Mm+cZa3LqaO0hNsocMjx7E9RbRzVxAmplYMZP48M6+5QiZd64G3yXSpSGi6XLtbI/UncYt+pONWoOS2EjmMSKhW4p7hFZyOrbFZIMZ/mfnLnk9gwdwS99rsOS2YuEFJ29cECQL2HNmq0YGuE2eQKooi6fm4Ip8cNLGIqujgmiZdIri3yBCWyGCz9uAgorEWLzVNToyF9S3fP2jJ04klLlwhKgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fKBRSv4JaaZqbnws3tYTBKZ84gwOmdgiT4UddP5fZBs=;
 b=Fr6sU8W5zeiXG2V7H6SNIfLOlz/0fujDccsV6m8pqoHJuSClf4bxkqNB488brqMB+wRPdS6s5GMcLZxTVDlU3UyY59KRZTEuLXaBfqjvNdG8Y8Nti5v8zlyMuztw2LLxtGrfF7QDVrSWRWc4EvCm9TC+386tZH2rBqEbl4pxU0M=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <af5e1fdc-e3ee-c283-65ff-4d2f1403b61d@citrix.com>
Date: Thu, 30 Mar 2023 12:56:24 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 7/9] x86: Merge xc_cpu_policy's cpuid and msr objects
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-8-andrew.cooper3@citrix.com>
 <cf81c142-766f-9186-27b0-e3262ccf62bf@suse.com>
In-Reply-To: <cf81c142-766f-9186-27b0-e3262ccf62bf@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0064.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1::28) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CO6PR03MB6209:EE_
X-MS-Office365-Filtering-Correlation-Id: 410c7b92-ffac-4768-7d78-08db3115cc20
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Spl76M9VYQPnng4T6CTIpv30SRwQd8wF8+b+7acLsaBxp3I1a7chmIe4k6LyaBw0KwyrtyQi3VOyu1QpfziJlBcRhzSgyk+WFtO3cC9KEZ6ODx6Ibtmpwe9cS3whvUhCffuqhPy8tLOdTPMGPfa2kGVce572ZjJmnyEQus3sftGZQ/g/w8vVMVz2rZuzmFH0U+M/0YcoGhlfXSK5kbxMQlKkfNE1u3vjEZp0iKWLWtGvQDyQbYGq4krDV3OGdRkc+IoParzsxmHj8W7nwZgoE1jOOc5yBn5xHw7Yp82J9eVXydLckQMNdVsbEI1AXBp5UTTnOfolIa+UTb2N8wJWOtOmQ4JpDErLX3a3o25TqVQcfxUWtJ5w5UR7W2Dvhz0MJHYEf9HArhl4lJYASUHDz5TVi3rFrI47KtfKf/NtyU7R3dCPQ3/8bFAsU0avf8yRihGTIsOF1/Zmh0OUmL00mugT5thdc+1Qu0JGcpSbaJcwPz8SyYmF+MTMpFGCxk3UXStGutMyIvYOECtCeyH1m2PAq29Vp0yHw0oblRw/GSRc1GH8p30TznZ3Jn4LqqIDXZhH1CHcjI0MMRy/HB6S+ubWjxvLZ/FB7/Hu5CryhtkdGS44VrA0ivC6RYXqtK1E+STx7PT4z4CDK5dKSDEkRA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(39860400002)(346002)(366004)(396003)(376002)(451199021)(31686004)(53546011)(31696002)(66556008)(6666004)(26005)(478600001)(316002)(36756003)(66946007)(54906003)(66476007)(6916009)(4326008)(41300700001)(86362001)(8676002)(6506007)(6512007)(2616005)(186003)(82960400001)(6486002)(38100700002)(2906002)(5660300002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R1dXaVh6SkN4OUdGSXZ3Y1paQnppaDg2OHZIaVU4UDIrTTBwclVIV2F6NWtG?=
 =?utf-8?B?N1JSUmhJL3d0dEJVUk9uaWJtK2QrbFdJTlRRQjZWZmtONjkyNmt1bXp1UDln?=
 =?utf-8?B?ajNZV2lGWnJaRFBwTk1SVVlxZmVYQXZDa25KWWtOWFRyZDBWZEl3cTJWUGpL?=
 =?utf-8?B?NHdvRk1abTV0QXlyTWJucE1NcU8reFBoaFJOOWtJWWxtUjNaSHVhT1VhT3N2?=
 =?utf-8?B?bE5LY3FOdGRQS3ZQTlF1UXJWalZZd0RETmJqdlI0TEU3WURLS3p1RldFRG9B?=
 =?utf-8?B?NzJ5YksyK3hIWmpXYlMyNVpPSnZGNVJhWmlGS3lCQ05EbzFqa2FMeS9kZm83?=
 =?utf-8?B?STVTTjNNTVNPQUpVOHJkemV2dXhzN3RaYlNidEhJdUgvZE0yZ0hHRHZtVFZT?=
 =?utf-8?B?L3kvQ0VaN3pGNDdzeDgxcVJqeEZiWnVNcS9GK2EwanNucjR4dTUxZmhpUXda?=
 =?utf-8?B?R241NndaZ2hQYjFCbmRFZ1IyOXFaWjVnK3F5d2dKa2s1RnRuMjE0RDZ0cCtx?=
 =?utf-8?B?WW4xWTlSN0xMa2NrVVpKOEVCY0xvQ0NJeDZVOGc0S0tFV3kzb2NrVDl4TW9U?=
 =?utf-8?B?ZTlMdXpRNWtseitWZ1RVMEJRS1d6YTB4SHdlN2ZyWmdIcng1QVNIaTltdDNZ?=
 =?utf-8?B?RUFVb1lpdHJvaHdSdURSVXR5NmRBRkEwV0ZQdkk1Y3FObzRPbXFnMEdsalFr?=
 =?utf-8?B?UFFEQ0FLSW9uc0F0U09zWTFoV2lDa1EyazdMeWVjbXg5ZnNxb2JmdlVLMEJV?=
 =?utf-8?B?TlZKa3YwQWlZSFJ5ZnQzQXN6dW9WSVppVHhzTElZK1ErcHNaeTluT29FREZn?=
 =?utf-8?B?VnJsbXdYWXFpQlhRM3Z2ZDRwVzNmQ2Y3SHJYQUxpT0xtR09UUXhNYjA4aDF0?=
 =?utf-8?B?ZHM2SUsveWk0aDFlcUJGRWtrRDhhREtHdjBpbmhkdUowaE5mY1pZWVduMFRO?=
 =?utf-8?B?OEdsMzJkcEdRb2tTRllHUEhuT1pBdDFrVHh5c1VvSHFsa2lQcHkyZTQzUk5D?=
 =?utf-8?B?TXp1MmlaWGc5eVR6M1NaTWFQenVYdWFMNmUrbXVqbDRmWG9xUTBFL3hFdG5k?=
 =?utf-8?B?a0srK3FHMml6QUllYXBwMkx4YjhlUEE2c1dJZWJYb2R4anFkVkNBaENRM0hQ?=
 =?utf-8?B?TGV0bCtBTVVSTDVCNW43bTh5ZkRoWVFKSWJ2dklWci9GREd4SVdDTkJLUUZI?=
 =?utf-8?B?TjloUWVDSmlIOUcrdFVuV2dEVkRTMm9MaENLUXI4QW8zYVJNcXR1QVBydHBZ?=
 =?utf-8?B?K2FYMktDbDNBSnU0a1NMQmFxdzl1U2VlQU9NQnQxU1JUTU8xbjNxdm9TQ1Bn?=
 =?utf-8?B?RGQrdit3blFSa3dKQ0NYN01yQ3JxMkxoNE1pdzhia0l4MVZIZW9ueGdwUy9k?=
 =?utf-8?B?WEdINC9XU1hhUkRWbzVIVm5FV1FuSDdWV0pPQU9GZGpvVUtwNDZ5S0tsVkdC?=
 =?utf-8?B?Yko1aHNSRy9yd1F0Z0pKWGZjQTlKWjVLOHBmcUNxSmp4alV1T3FRRTNyc0FQ?=
 =?utf-8?B?eEQxdXA0Nm1tSmdRSWZWeklCUkErY1VsZEM2ejE4aDRPb1orS0xlV2N5RUFV?=
 =?utf-8?B?WnhqVXltUjZlb3R4M29TWmxXdHdXaVlSbm90dStTMGNkV1gwd0FaVE43TjRt?=
 =?utf-8?B?TVVNWVRKaXRJK09FQUJIN3dCT3ZPWXowK2x6THF3UXRjSFVrZjc0bVBhamR4?=
 =?utf-8?B?Qzd2bXRheVc3NjA2Z2JoMVhzeWFYOHpFSmFaVkhxL3Q1Nk9aRStDekh2ZHF0?=
 =?utf-8?B?Nnl2a3RCSGVZaGY4UCtUcVNqQjRmTkNieVVnSTlrQkw2SW5Dek12V2FOYzJC?=
 =?utf-8?B?dkJYb3A4TEdNTEN6SFp6bHlQQUI4dSthR3ZoYkFkaERocVBHK0lZZVJvS2No?=
 =?utf-8?B?UlJRcStJZTVGMDAwVTQyYW5NbEFuQkFicUVmWTNJZFVIMlhmZGViVDE5MkFZ?=
 =?utf-8?B?V1hqZ0hGa21STEhjdUVFTlk4WTFCQ2JNSnFxTWd3SGd4QVN4aW5pdHpyVGtP?=
 =?utf-8?B?QUZTdkd0MWZqLzVqZ0Q2NGI4anlHNlh6R1BPQTNBakM4ZUFkNDd5bFE3UlZt?=
 =?utf-8?B?dU1TOWVibGhjSmdHenY0cjNtdXc5VGt6V3M1SDdGRnhFSmMyUFE0c1c3NTJP?=
 =?utf-8?B?ZWIyeDNvS1JxVEZFZWt2SmV0elZaVHdkMHhTK2txaWJVdU1tckk3bXp2djFN?=
 =?utf-8?B?L2c9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	V+3Uyu+7upi6564w0x+l3kkV4I7Hjf8zj7KcKDI7DikqoSJOiC9yvcUNyHAkLymbpJlB7x/LIBNruAmDQB7zJTbVj38IDhKEfqtTad7yfKoCGzooK/kHgo5j+Q9VfLaMnqF9m8yTcDVg9HkAQdYHpG6qjzd71XdPEEOtqnI+DaMrN9Z7iL8F+SvGktuV+/XtzpGn0z/P6dwyENjPAKoh4uZDN53yrtq9CPSh5ukalPCxDV/aMzVUJqpaLXj0CvzdcaO9FSxh/QhCtYUCCtcuGVZ5GM0r6NLkzN1prChIFGoe3h2yV2qVJyoutMb6S8rQ4vzurBCT7xSDKG5d2qiF/uUAdEND6a3NLdqfr9A2ivw/3aZxHjINmVyRU9c6JcvHqnOwOY8FS2flJ7CVvLEJhikqsv1K63EOz1eccIgrxLqX42tu4Z+QW2oh6E+92eYYJ1Dexrm7OO22oCdj3dhU1IMiz+GP7v7OpnBLVscjw5qbDU/zFqAqZH9U8V2LP5CdbWfmumZhgzuAT6Kf+LAXG2mrrgZtmX63n8+XpjjJHyJEXz/FQ4kiqlEb8SFVnzZJ4lyJ7twgqBZf4JapiZZZqSPXxdL0GgMjBcWOMHXCGXpH0TCCb5hMwurL78L1SImVdWRaT+K0/BNHLKwddCAhZ5ru8ep2to7Q/6K08qFKDlKIQ0ErQJOTXHjfTy+GC7ZNW84ZT+lESsXH+/I9tmqvaKhSHWJxK1ckhSRvzF3AbbYVLu4OwiLbjyg3Z5xuxTGmx8TNnPimN5tXRhc16rD+GQf7YSHvCJrvrGAihPWm56fx5kC+cW1qu2w294baAC5dxxiXH3pKLPynI3Slz8CcDQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 410c7b92-ffac-4768-7d78-08db3115cc20
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:56:29.9252
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Lrq14fFwQfhvLHaiDXwv3tnWj/mJbs/7rWqqB0PJO/0A0kGgZ60yDfVwdmjEbGbhbwWHANGeZXXmKI010oM2woUEOTto4Dfo5eezfDNiyHc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR03MB6209

On 30/03/2023 11:04 am, Jan Beulich wrote:
> On 29.03.2023 22:51, Andrew Cooper wrote:
>>  /* Sanity test various invariants we expect in the default/max policies. */
>>  static void test_guest_policies(const struct xc_cpu_policy *max,
>>                                  const struct xc_cpu_policy *def)
>>  {
>> -    const struct cpuid_policy *cm = &max->cpuid;
>> -    const struct cpuid_policy *cd = &def->cpuid;
>> -    const struct msr_policy *mm = &max->msr;
>> -    const struct msr_policy *md = &def->msr;
>> +    const struct cpu_policy *m = &max->policy;
>> +    const struct cpu_policy *d = &def->policy;
> Looks like you could reduce code churn by keeping "cm" and "cd" as the
> names, which would also be consistent with you continuing to use "cp"
> in hypervisor code.

It's a unit test - I'm not worried about churn; I'm more concerned about
the end readability.

I did consider swapping {d,m} with {max,def} so the logic below reads:

    if ( ((max->feat.raw[0].d | def->feat.raw[0].d) &

but it occurs to me that because the policies are now merged, I can get
rid of all of the xc_cpu_policy passing and use cpu_policy instead. 
(For inspection purposes, we don't care about the serialisation buffers
on the tail of xc_cpu_policy).

It will be a slightly larger change, but the end result will be better IMO.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 11:58:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 11:58:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516672.801183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqux-0000fF-1q; Thu, 30 Mar 2023 11:58:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516672.801183; Thu, 30 Mar 2023 11: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 1phquw-0000f8-VC; Thu, 30 Mar 2023 11:58:10 +0000
Received: by outflank-mailman (input) for mailman id 516672;
 Thu, 30 Mar 2023 11:58: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=oVKM=7W=citrix.com=prvs=44691dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phquv-0000f2-P6
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 11:58:09 +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 21a4377d-cef2-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 13:58:07 +0200 (CEST)
Received: from mail-bn8nam04lp2046.outbound.protection.outlook.com (HELO
 NAM04-BN8-obe.outbound.protection.outlook.com) ([104.47.74.46])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 07:57:44 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CO6PR03MB6209.namprd03.prod.outlook.com (2603:10b6:5:355::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Thu, 30 Mar
 2023 11:57:41 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6254.022; Thu, 30 Mar 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: 21a4377d-cef2-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680177487;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=RIe60r++PhgH4eG1SHRNvAQkFD8BRzTqdeDz9ujf5EQ=;
  b=ZSQTdgy0RBR3JUnN8rFrfF2jl8K53zPyzHYEi8b2OaVvjzmmPktYlyxM
   IBA8YxaP9wPIKSFyL345JsaB5mhgM7cfjm11DJ4KT6KH/D8yabIfxrePa
   z+Sd6w14jN8WmHdFS3SyZuLQqETwd/rE6m+72Jj5/3EGNuAzsC4gbBLUY
   Q=;
X-IronPort-RemoteIP: 104.47.74.46
X-IronPort-MID: 103694869
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:LZspZ61Ix77b6uX70PbD5fFwkn2cJEfYwER7XKvMYLTBsI5bp2YEn
 GJOUT/QOf/fYzH8f4slaIWwo0sG78OAztA1G1BopC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdlPagS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfAHNpq
 vY1MT83Nx2cgNCE/+OpbLlTv5F2RCXrFNt3VnBI6xj8Vapja7aTBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxovy6PkmSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHugBtNOROPpnhJsqHKS4CsBMjpGb3e+vsf6pEH9QtRTB
 lNBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rXQyxaUAC4DVDEpQMwrsoo6SCIn0
 neNnsj1Hnp/vbuNU3Wf+7yI6zSoNkAowXQqYCYFSU4P5YnlqYRr0hbXFI4/Tuiyk8H/Hiz2z
 3aSti8iir4PjMkNkaKm4VTAhDHqrZ/MJuIo2jjqsquexlsRTOaYi0aAuDA3Md4owF6lc2S8
IronPort-HdrOrdr: A9a23:W3NtraHcBVuIDodypLqEGMeALOsnbusQ8zAXPiBKJCC9E/bo8/
 xG+c5w6faaslkssR0b9+xoW5PwJE80l6QFgrX5VI3KNGXbUQ2TTb2KhbGI/9SKIVydygcy78
 ddmtNFebrN5VgRt7eH3OG7eexQv+VuJsqT9JnjJ3QGd3AaV0l5hT0JbDpyiidNNXN77ZxSLu
 vk2uN34wCOVF4wdcqBCnwMT4H41qD2fMKPW29/O/Y/gjP+9g+V1A==
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103694869"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Gm6URKUKxQgvjZN8r+6Awcfff7+Oggk3eI2FbWcMcaMI90HxaPKLKp5XX6yVawweReLg+ToEbeyfmLTo4EmAGE33KK4kvBf2k5u4idT/L8M45LfHF+WUuPuWAGBkUPWcCf5aMBtFg/qemySLQt6pqQD5dKryeuXzxhbxwAFaHi38gLmMQzeWdFeMABXlDho4wmn7ROkMWWMqMdmtZ5C3ZaFKWm8KvIRXXdOZuEHuD7m4vv59TdWqMjlEgzr8cT/KI1JDBCit/yGsNfO0LqIkKNr+BVmXzy+OhqTGUgc0oA3ydC7uuZ9BYGzpHQM8m7W9lf0jBmWJAwtMvswP+v0nuw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HNtT79M0wU15ghgmZEdph8dNuTHCW12AL1Ql8JAOlFw=;
 b=Cda4RFMIxX1166EPdLP7PpvK61ltXNinXZLAdgUtdGqDc+4gBlK7pqZYgeDoL5dxhjaR3HW7iL3GJx7CxJv/b5ttM4XUSZGzWwJK9jTLQQ5cvXBY4v/uR7WNuwPxT1jTa/NhfvexUdVylc94TfNSh9aTeB6uxrz9elbzSe5FfrmEeTv2Iqcpupn47j5ahBYg6ZsdE8jorMdl84oMmOb4TKZK2mSg5MecqKeayRxTEI+++4/K2oPplfWZVngrmOMGjSW8wRQltsw9Im+e4nH2cmKv+UMc8UEVQ530Bpnt5V2HItA6QDBaR0zyykE61PieiwL7wA6GqVIh6HZAuU65qQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HNtT79M0wU15ghgmZEdph8dNuTHCW12AL1Ql8JAOlFw=;
 b=uv+XmUASvJmfkvxesK0YDTpv2+XOOyjKwU2apex4Dm/pVXaAWjX99Yp3y/dM6ZmjD7F1UDmRqh/c5suPcMc4WWv9N5RfSvnyuMzIWn2RCk/Rq56IA2PXnRxyCteZ+n6JqEF8iRtlZPAUT7KES7NrroapGj/Q6oZ2mspMY8BOSzE=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <85202e61-a5fd-e0a0-84be-2f56e5defe00@citrix.com>
Date: Thu, 30 Mar 2023 12:57:35 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 8/9] x86: Drop struct old_cpu_policy
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-9-andrew.cooper3@citrix.com>
 <03feb32e-4318-37cc-cb08-16402d4ea430@suse.com>
In-Reply-To: <03feb32e-4318-37cc-cb08-16402d4ea430@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P123CA0053.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1::17) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CO6PR03MB6209:EE_
X-MS-Office365-Filtering-Correlation-Id: 7fc56e76-f809-4d73-d9b0-08db3115f6c4
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QL4q6eJySR1jlb0+rm9jxQ2+O6RStfd5dOp8rC6fEoV+6BuC6XkCXGcldPj2UuE4aBKTH+Cr6asOdOMpgDIWdcMA8jVCMgccPR2xm0rKodJsvzXApA0aFbd/xflp8HODRocaYr1HifPJyIn3OcMG96XnmerJydsLout3AYObG8BV9yluBhOE/IDSW25YIBJqu//PfisaGvTFrDOlVY231wadhSyu8W47g0mPi0mg3zK+3TnUEUzXsdohEuG635L+P9JASAidJhsvW7VQftqZwl4Miu/WqIM+tWYt0CIT8FRmDBhCdK8eAfpMBxrGLIe+TOix5hSK1fSy91Svs05EasxgHMaHYprQY+MPNpESd6O3ubyYkJq4Llbr834Lz8aUM658MVUC3xWe0cAxAjN/VSqKRb9xAOsRTKv6NQTE1nUy5xQQ5MmNVkUHG7dRqsErA2iF1he2YbgTDSs1ZQdSBSFCo297bgU0snJccsKsvJKMcMTmoLiDSUbmFRXBSe3F5zdIo4gjuJKj5OSQtjys3dYGDpZgUbZbq0h6eoGW5Xs9fYcp4SN1OKqXY4KiC0NH7fRHAn5wwKoRAOR5ny7cYGxjfqSVMXiepJVQjJ8GfMkg3j26I4NlOIRU9ZqmbMaSKv5wjoDnMNjwL/2tb1hPYA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(39860400002)(346002)(366004)(396003)(376002)(451199021)(31686004)(53546011)(31696002)(66556008)(6666004)(26005)(478600001)(316002)(36756003)(66946007)(54906003)(66476007)(6916009)(4326008)(41300700001)(86362001)(8676002)(6506007)(6512007)(2616005)(186003)(82960400001)(6486002)(38100700002)(2906002)(4744005)(5660300002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OHBUMzZMRFl4bnJqN0Vsc001bEtxVDBaeWt0ODhWVmxRWGx0N3VFam4yMmI2?=
 =?utf-8?B?aGtkZDZKeVVJMU5CdldMSUw3N1pkL2ZBUWpMOEtEdG4wZU1EWUdncFZZK3lz?=
 =?utf-8?B?RUM3SUsxd1phSkNRTmhuVzIvRXdHbHcvS0Z2SUlwRVo3UlNpRXVFdkZJc2Jq?=
 =?utf-8?B?aHBwK0tiYW5lb0hUb1Z1cHdUZ0VuQlp1dVVpQ0ZnS1M1V09yTVJpSUNXMis5?=
 =?utf-8?B?WGdxRlBjdWc2QUtXRlFwZGNuSmFyTm96dk1NNWUrY04weDRUTjJEY2hUM2lk?=
 =?utf-8?B?bVppYithQXdkcmVSbjB4U2g2WVBYQ05DRitLcG4rMzRBVXk5Qm93TGlCd0N5?=
 =?utf-8?B?Qis3ZE1BQTkraVlJcDRtaGRTeVAzeTFQR0JYdnVZSFRLOVBtWkgzWE9TdDNE?=
 =?utf-8?B?Ym9xdm9iQ3hxTjh5RDdsVzR5Z3NNblN5OFRnNXE0Yko5c1ZWdWREaFVLNVhZ?=
 =?utf-8?B?Q3ZBb2FYNDB0c1dBZjVrM3FvOE5ZT0VsUnZSbTRibXNSWDdWN0t1RVhNdmFP?=
 =?utf-8?B?eGRxYzlLYWkxT2NGaXhUbUhiV1lXNXhYdWI1dFZOREUzcjJMdHlGTDB4dmVB?=
 =?utf-8?B?ek1aTWtLUFdPeExyN3VBdk5aNE9jK2tjNmR0YjF1VkV0RkFuNmdFSWdlLzAx?=
 =?utf-8?B?T3dGdk40eksyd2tPS3QraSs1d2puZ3FSYkJnWDRYZVZsZ2s1eHRSeE45MGhH?=
 =?utf-8?B?eW5SbGtmSHRCUzRZRVQ3SjUzS0ZPeUZWRTlkejZPaS9KZkJFcTBUNUx4RXE4?=
 =?utf-8?B?bEpRNDlweW9SNC93WEk4SUttSUpSV3RCckRHdEUwcm9TZ2xKTldHN1VlMEc1?=
 =?utf-8?B?Nm5hVWF3OE9CbUlyQ2pXZTlWVFdvSzNqZlhjYURLd2dXRXFwWm4rV2NhSWUv?=
 =?utf-8?B?TGx5MnM4d3VDUXF1YXR3L0NhYlhKb0liRlc2a2JWMms0T1Y0SHk1d2FSaTFm?=
 =?utf-8?B?YktlM2p4UDAyYWZHS3RuYXpiT3NmNDVQSUI2c1FpbXhIUEJGT2JVTDRXZnp0?=
 =?utf-8?B?WmhkUXZWNjZ2clRJNXlubUk2UGswdWx0WGZUVjUvZ0ZJZ29rU21oS3BIM3BM?=
 =?utf-8?B?cGx4TFJ0UTliMXo3WGJKU1V6OFpXSHZKSnZLYlo4S25IdENFTVJKSVpMNmEx?=
 =?utf-8?B?YjNmMWdWOWYybWIxYW5xaFczbzlOZkQyditaT2tiL0swQlpYd2g1SkUwVERN?=
 =?utf-8?B?ZmZlZFovaXd1TC85ZlpGUjhBbS9BOEFUb0dIZTZwYm9rRk5XNTBWaXBWTG8y?=
 =?utf-8?B?REVBSDZhV2Z6RUNUaDJaYmg4NVRGb2x6N25ZSmpOWlpnZWNIQXNTZGJHT0ZU?=
 =?utf-8?B?WkRKZmhYb3ZydFhvTUFJcHFZSjR6NmR4TVJWVnFEVlZEcGgvMEVYYXErZitW?=
 =?utf-8?B?RDJMN3Ixb1VIRnpBYTJlZy9TbzZRdncwRWR3QmN3NkNySTFrZU9PajZTRzky?=
 =?utf-8?B?R0VZZHJjSGUrY3Rrc0lCNkdNTk04MUF6RDAzWTJyRTU2STJxYnA3bnhKNGJs?=
 =?utf-8?B?NFFLSXd0Vmt5SWN0d2w1dSs5Qkd0bm9Tb1g1TGtJQVJpVzJJeFAwZzBYdllj?=
 =?utf-8?B?VU9Hcmhvai9aejhVaVluSW8rSTU1bGcxeVN1aUVvdG01TlFpaFVrK01xK09C?=
 =?utf-8?B?cXV4UHZkb004NHBDTDZWaU41T1hNQ2E2Y2UwK21TVVM4RzF5WnV2WTFwVmMv?=
 =?utf-8?B?cXRaSUNzZXFiTWM1d2tuck1UOEJ4Q0lZZDhxbGc4QTNGK0pYaTlwYWtaWFhl?=
 =?utf-8?B?NURRY0VSNGtsZDVMeTVwU3JSUGdRQnFlNXhVVXJZZVNsaFFKb1NRcmthTGJQ?=
 =?utf-8?B?QlpiYm8zTDRKdXIzZnMvYnVyRFROc0JCZVhTcXo1Z24ybUtHdUhaVm1vdnNw?=
 =?utf-8?B?MEVBbThwOVREQWZDMzVVemhrK1c4YTFyMFZIbXF3bWk5SUpLZDBhbUU3YVZm?=
 =?utf-8?B?NG1CdzhqQThjM0h6akJUeWtrT0pLVTB5RDRHa0xOYzkzbXdXaW1lWVB2UU9Z?=
 =?utf-8?B?Rk5mT1hsYVk0c2pzUnBFRXd5bU82YWkxSnA4REoxUjZvbyswOUZZOGphaEk5?=
 =?utf-8?B?TXR5OW5zbnZmMmg0ang3KzRTVzJkSVU2c1p2cFE4TExjbytDZEVFdEtFRy9x?=
 =?utf-8?B?M0pZQmJNRlcvdGxDTWtETWlPaFJoVUNsMmZLMHVySjZWVUZlSk0wRktkZ0RQ?=
 =?utf-8?B?VHc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	7hvkPhS82MiDt2nrfaRGv6NnM9UnV46YoFzdKH50CYIpyVi22v8GO7y+SzZNuIDfyo8kjSEzVaDzDNI4nVTqWSceX5htOH6B6ocUufQBK0YZG3KLyAMNIDEzAsd8exkS55+PV6PoROo2fip7NVpz0WlJtbyYSNfL5leaLH/XV+U7Uunk3AJjMZvmEnxl02rO6tdgZIX4IbNLdgjSxvEPsaE3axIC9ZUqeZ+L1bhGEOTrC1GTf1fAOESkyx8yZ5rlUOArMt1wAdqwpwhi7AvKtvW6QwqcbSYf7LV8gjHDmVm8YJ9ydJSUbRl5GzfdcPeP/LLwYmholqtDzIKepJvRczK/hglEhIOv2otkvsmPOMdqeaIYFikkU4/9167aFOsw4f4qo7lVOG+XVAt7TuM4mH0IRuPSfYmnkpb3VZ6kS0sU1hFoY2j0Dmf0Qy2pJgUHvCeN9TkRa952NQjgOJ5YFVVEWydES9qnab5YNEqFD4cwoz9/vd0NWylCI5bqt2PoBFUsXsxpu6rZ70AW9kMD4JXd30zHUXOJgqeS/vdyPrm8KqB0JkLFVnjXYMsp4m3MkSy7orL71Qux+vLo+3FjTmd9PgEccsU4x1vi3qcIvhPmFSGxko9q976nZHw5WQknxXGOLpuovkpQTb8XRWUZBlz/MtQmerJoMfQv4wKmBYx69Pl731+U1+1TrvRfr1J0JWgSD/vPO2mzxKY4gMundFGJ+FJfjy+Gxwz/E1ZWNwUOIuQ/uE5vEM5RWFN2n+YI1fMlWkS41qGr/DiGQDDtwXKrfq92YOGDneJNyNEZ87Iqxvx/eolVGhTmkp4tUPjH34vfTBeByDTJ8A3AfbtwDw==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7fc56e76-f809-4d73-d9b0-08db3115f6c4
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 11:57:40.9938
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: clSgVEqOmRoo2NcgAZWPNfjcYta1C5B3umJiI5kZGfHHVh3oFXhlO77hWSlzsUFNNITCdYUXupdqyJYsRwViqhndJb0URJ/sF6XbhVh++IQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR03MB6209

On 30/03/2023 11:08 am, Jan Beulich wrote:
> On 29.03.2023 22:51, Andrew Cooper wrote:
>> --- a/tools/libs/guest/xg_cpuid_x86.c
>> +++ b/tools/libs/guest/xg_cpuid_x86.c
>> @@ -868,9 +868,7 @@ bool xc_cpu_policy_is_compatible(xc_interface *xch, xc_cpu_policy_t *host,
>>                                   xc_cpu_policy_t *guest)
>>  {
>>      struct cpu_policy_errors err = INIT_CPU_POLICY_ERRORS;
>> -    struct old_cpu_policy h = { &host->policy, &host->policy };
>> -    struct old_cpu_policy g = { &guest->policy, &guest->policy };
>> -    int rc = x86_cpu_policies_are_compatible(&h, &g, &err);
>> +    int rc = x86_cpu_policies_are_compatible(&host->policy, &host->policy, &err);
> One of the two surely wants to be &guest->policy?

Ah, yes it does.  The second, specifically.

(One of the problems of having an API that's not used by anything
interesting yet.)

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 12:00:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 12:00:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516677.801193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqx5-0002Bs-JG; Thu, 30 Mar 2023 12:00:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516677.801193; Thu, 30 Mar 2023 12:00: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 1phqx5-0002Bl-Fu; Thu, 30 Mar 2023 12:00:23 +0000
Received: by outflank-mailman (input) for mailman id 516677;
 Thu, 30 Mar 2023 12: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=X8Ok=7W=redhat.com=pabeni@srs-se1.protection.inumbo.net>)
 id 1phqx3-0002Bd-TK
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 12:00: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 70a57118-cef2-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 14:00:19 +0200 (CEST)
Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com
 [209.85.222.200]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-619-2Uk5yuQePL20CV_iUyLP4A-1; Thu, 30 Mar 2023 08:00:17 -0400
Received: by mail-qk1-f200.google.com with SMTP id
 pc36-20020a05620a842400b00742c715894bso8690860qkn.21
 for <xen-devel@lists.xenproject.org>; Thu, 30 Mar 2023 05:00:16 -0700 (PDT)
Received: from gerbillo.redhat.com (146-241-228-125.dyn.eolo.it.
 [146.241.228.125]) by smtp.gmail.com with ESMTPSA id
 4-20020a05620a048400b007468bf8362esm13619101qkr.66.2023.03.30.05.00.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Mar 2023 05:00:14 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70a57118-cef2-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1680177618;
	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=y4kBL+83QToteVgKil7VO5tgjxZqNxgaDRNr3gcrywg=;
	b=eI/winFgXfLGgBtkD1h+Do6bZZ2a8HYRDY2rcunOI4PQrQXV4NxfxBG5zz0spcEkonXlsi
	uKRMj7mPVwsWW1MUejpVZt+4czrR3MEa01OfaDnTZqq1pknqipEKOLbIzyej4DvAl9+p/T
	fb0NkQB7jHbCl2xJIgdV1y//gYKJvq8=
X-MC-Unique: 2Uk5yuQePL20CV_iUyLP4A-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680177615; x=1682769615;
        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=y4kBL+83QToteVgKil7VO5tgjxZqNxgaDRNr3gcrywg=;
        b=ZOdu/r5NaVXpOjoaqTlMQp4hu5MsvKHsUsJNdoJRjWE9aekZI6bXzp9n4JbZaC37aF
         WmS7j0AV9WL5M5S2LYOYOnYnKjRiErhHfmy39SyRkBCvpuEfxqoiKuIFec7l/RyS3zU7
         lec/adZeZRN/EZq/PrjUEBNOyEz6mxevF8l3khhuebLeKqkGxHY3DKoN0aRJVsd4Xc/9
         c2XaKLSLz7lpz8u9QrqZlDrKnNLluXparhc5K+YvIEIn0hof+iXMEHjaMi3oqO59SZHr
         VV1NmZWJkKqp/dUBH+ctX1cCYNYDcSCqjH/FR/ZYSZxxEWJEVXfJtAzwZxAlEcJ/4rxH
         gtkw==
X-Gm-Message-State: AAQBX9dsqKlR5qWa+RgzOejlwT/IsZRkGY8zqVshUR1gB8odEo9S5I73
	LkEBDxEJ3+s37r0iGYowNYmX3Zxot/zdlXhmsBO1NBiLwQPmDkqUCh82cWbD6W6LfaIXI0qz/Wj
	D8hQBH1rmWVt8kBFuz7znAD5RfHI=
X-Received: by 2002:a05:622a:1815:b0:3e6:30c4:656f with SMTP id t21-20020a05622a181500b003e630c4656fmr3382248qtc.3.1680177615245;
        Thu, 30 Mar 2023 05:00:15 -0700 (PDT)
X-Google-Smtp-Source: AKy350ZsHaKjIuC84GXaAXjkM9JM90iIamxuSWXB5xzRL6fwcpPAZ7ZkIYl8hCrmXXt/5ZFlO14V9w==
X-Received: by 2002:a05:622a:1815:b0:3e6:30c4:656f with SMTP id t21-20020a05622a181500b003e630c4656fmr3382202qtc.3.1680177614894;
        Thu, 30 Mar 2023 05:00:14 -0700 (PDT)
Message-ID: <4c10487da3a217bcfa9f5d7c515ab4a300c84949.camel@redhat.com>
Subject: Re: [PATCH v3] xen/netback: use same error messages for same errors
From: Paolo Abeni <pabeni@redhat.com>
To: Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org, 
	netdev@vger.kernel.org
Cc: Wei Liu <wei.liu@kernel.org>, Paul Durrant <paul@xen.org>, "David S.
 Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub
 Kicinski <kuba@kernel.org>,  xen-devel@lists.xenproject.org, Jan Beulich
 <jbeulich@suse.com>
Date: Thu, 30 Mar 2023 14:00:11 +0200
In-Reply-To: <20230329080259.14823-1-jgross@suse.com>
References: <20230329080259.14823-1-jgross@suse.com>
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37)
MIME-Version: 1.0
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello,

On Wed, 2023-03-29 at 10:02 +0200, Juergen Gross wrote:
> Issue the same error message in case an illegal page boundary crossing
> has been detected in both cases where this is tested.
>=20
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>

As this was intended to be part of:

xen/netback: fix issue introduced recently

I'm going to apply this one on net, unless someone screams very loudly,
very soon :)

thanks!

Paolo



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 12:01:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 12:01:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516681.801203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phqyE-0002kJ-T2; Thu, 30 Mar 2023 12:01:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516681.801203; Thu, 30 Mar 2023 12:01: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 1phqyE-0002kC-Py; Thu, 30 Mar 2023 12:01:34 +0000
Received: by outflank-mailman (input) for mailman id 516681;
 Thu, 30 Mar 2023 12:01: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=oVKM=7W=citrix.com=prvs=44691dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phqyD-0002jU-9j
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 12:01:33 +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 9b897c9a-cef2-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 14:01:32 +0200 (CEST)
Received: from mail-bn8nam12lp2174.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 08:01:25 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH7PR03MB6969.namprd03.prod.outlook.com (2603:10b6:510:12c::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.28; Thu, 30 Mar
 2023 12:01:18 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6254.022; Thu, 30 Mar 2023
 12:01:18 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b897c9a-cef2-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680177692;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=ann0kxqhGasPhK4krxEgDOZh6Ewe8gPgVvkkePhUrdc=;
  b=SEGjaghy4OxZFpu3+d86FQhETwocmyekm2D7668pseJbP7RylSN5h49g
   hVnLSNS8nSGA51IDmYu9SAvq3ZuBTv/hHbYqvC9++tUUKE8Lsw2ZtiqxM
   WQYJ9tHdfk8zUSQAjirKNJARH45OXvQPK0Kk+fHzXNpO+08XwXbFoiLt1
   I=;
X-IronPort-RemoteIP: 104.47.55.174
X-IronPort-MID: 106089955
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:I0lE16v4omuJ2IH1WA1ohHuOGufnVHtfMUV32f8akzHdYApBsoF/q
 tZmKT2FMv2MNDP3LdglOo608R5QvpOGytA1GQI5/ChkEigW+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASFzyFMZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwMgpRUBui27iMm6+dbvh0n98mHdTrFdZK0p1g5Wmx4fcOZ7nmGv+Pz/kImTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0osjf60b4a9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgqKY60QzOmwT/DjUOElS2oMKUg3KOePlvN
 xA3+goh8LgtoRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LRQ62
 1nMk973CDhHtLyOVWnb5rqStSm1OyUeMSkFfyBscOcey9zqoYV2hBSfSN9mSfSxloesRm22x
 C2Wpi8jgblVldQMy6iw4VHAhXSru4TNSQk2oA7QWwpJ8z9EWWJsXKTwgXCz0BqKBNbxooWp1
 JTcp/Wj0Q==
IronPort-HdrOrdr: A9a23:jV+eA6qom1Yej/ukE/UeLAEaV5o8eYIsimQD101hICG9E/bo9P
 xG+c5xvyMc5wxhOk3I5urwXZVoLUmwyXcX2+ks1NWZMjUO0VHARL2Ki7GP/9SKIUzDH4Bmup
 uIepIObOHNMQ==
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="106089955"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Gud/r0MFXyam+aK7eA2cDDNCfhj8mtNSE7nXM+Wz+lpnYZUtr59b/jbjJUujDTNPguaAHnOljWqdW73tGxxCtyks07DmVhtPnfZ8W3S7BqGUUEAhgpnsEfKi/JeMgylX8VqNSAM9y6Ccyh4a6DW1xH4KsiKgxn73D8sTkZm+Tg0D6auM973sLme4wenGDxcM/41LNXi+GNKq789vkPw5HcaOJKzvaixps1TebaeK+mP9BoYoJNWDuQKtpoXdPkkpMHBdwECslegeDKnaUGkrOTGwJxjgvkAzsLOwLAzm4KJLOrfsM1JZ+7M6nMlL93ExOluQble8LZaAE0JYzDn+sg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pgt+4zNGwgPcQx4D49bppNj7A3bwzLoJnmF/d35Os+w=;
 b=Yn/82k5o5pdLyhbMXTKfCCRDPYw4k2aEu35/AuVRVkFFU/Tj2L2/h+wge4qIR2m0qYYPrRjWyipf2vJZDyDk96zI1aAeqfsFoT0WCJqjQDYRZtCK7HvEjKaRqwWYc3xjx7NTZ1c3q/mESadWdhaNxO6A08MvZKMD3MId/LiJRIXQDjsNwwdxM0NZAbbJdxbhPELj3m9iCK2d+YZ9uks+28QSAEEf0nSIlSffcPnxJKOtCZOUsObfJE03LgPu57U1JivKeB1uJ3iL+eewpQvpx6DZuvIxxCKk3ae9iTr7NqqSlwzowL8VmYeKdFeVqQ8l+KiKAGkajrPuu9r7ilgHXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pgt+4zNGwgPcQx4D49bppNj7A3bwzLoJnmF/d35Os+w=;
 b=tc8rMqku9gD59C43+4qHIUJrQSlY9o8WYt1IZyOXFTUzn26/Juj4uBWvUiNRb6P3gO3NpmTq6OBIiK0AlkATM8DW7zCFQhaDBTDH5rDIY4pe+OLKealxYjnja0TS2tMTSo+Yc4F9Sqql72tBVyqSgd5mT2J5hYHduURA4lmxcQo=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <8b368b4d-8a10-eb82-f7cb-d20e406ed285@citrix.com>
Date: Thu, 30 Mar 2023 13:01:12 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 9/9] RFC: Everything else
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-10-andrew.cooper3@citrix.com>
 <758615c4-bee6-32fd-0475-0c3c3bb7debe@suse.com>
In-Reply-To: <758615c4-bee6-32fd-0475-0c3c3bb7debe@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P265CA0118.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:c::34) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH7PR03MB6969:EE_
X-MS-Office365-Filtering-Correlation-Id: 540e1af9-1fb0-4a38-9c96-08db31167817
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VfvSVI50ox6hpNix89OEcGYD6N2C6uzUTSsAqmyX6angJWfFHOaLam5aD60t4QkWYfPoDDWMRUyvxuPRtSTAKC/TEANUWMSlM99Wf5doWQzGCAuKqPg6q+2Ko8EgVYyhR/lT3g8ZfFQhwTryc/qdTBUltIEnIEaLH+ZVHG+Wx5QQ7b41oCja+KOOqvffy+5NJT205r72ghj9Wv+X9CFpwvl98lNWJIZyjtNpLvtWpHzQHLfMzOJcsrui42XfZaZGQ8N+fAU7cwFBf3JkxeKnxsYUk8O65cPECrl7vXKhBkUl/2jf9cmZ41pS3NmkoodA1uP5ogtcfBo97YZKCnqCgPjpfk8DHDdfbR8g76DgUkhO9gBscStilzGkumfJf3L+6reqkaJamDBvY5X8/ypgGkB19IxY4txNYwtZcEVvoNKdcagtcARBMercdQJI8xy8cvYvlbbHD11dDVCh7YS+KtCIFvxoeGzeM0vjSzeWQqIawPc0ponmXunPZkkR8tgLw0WzTN02skCP/5rFMIw5BL1Bv9Hct4lG/DYPIN+yhgDQuRtlk0mWctbzdXH+zfHGcS/5m7M5JTo4+3nYBHMhN0kf4fyfelyjpU2is+3XSkqNXjU1W2raMUuDC+WbzOicmkD0YiYuq0sneOi9xbuDpA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(136003)(396003)(366004)(39860400002)(346002)(451199021)(6512007)(2906002)(2616005)(83380400001)(6916009)(66946007)(54906003)(8676002)(66476007)(4326008)(478600001)(66556008)(26005)(53546011)(316002)(6506007)(6666004)(186003)(36756003)(38100700002)(31696002)(86362001)(6486002)(82960400001)(5660300002)(41300700001)(31686004)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N0tvVlFUNU5leEI4Q2J1bEZOVTdrQnZiaXJXeUF6NGJXdXo5K3dFTTFkQ08w?=
 =?utf-8?B?V1NERlZLTEQrd25ocWdFT3I1a3prN0N2dVJsT2YxeiswbzZnRU92ekU4L3NO?=
 =?utf-8?B?OHRRS2pqdW9XaUc0Q2N3MWpzQ0FYWktNQmtIREsydmdkRU43Z2lPMVhHYXJC?=
 =?utf-8?B?K3BScklpK0t1aU5CbWY3WnE1dmZIRmNTaUVncHdCQVYyTk1UZkJhSDZxdFdR?=
 =?utf-8?B?SytHb0hYWkR4NENTNlg0N1RoMnlVMjJGaWJLWGcrcTdJbVRYQTl5RDgza2la?=
 =?utf-8?B?NERSL1dvQ04xSVVtMS9mL3FwN09RWFpBenZleEZ1UG85TGp6by94RmhaY0M4?=
 =?utf-8?B?d2FuaUxsSmZmWitQR29mOUVLbEFsRUgwbWxGMDd4ckZFL0ZYZFpucUZHdy9B?=
 =?utf-8?B?MG9KTWVxVWZKWFpja2w0eXhBOHl3RDBHbXhDUmI1KzIyZFhYMTBBSzJkd0Ex?=
 =?utf-8?B?U2ZPU2ZBeTBEK3dEaXNKTnViQmFEODhkVm9pRkU5bU03NGFmc0lFM252bHJv?=
 =?utf-8?B?QUIyQU5lbHFxM0EyZVZHUlhaWjk3YTl3c2dsa016WHN6Mk1EWU52M09GK2px?=
 =?utf-8?B?TWVBbGwwYzgwN3lnbnp0MGxtOE5CU3JaZ3pGb1NtdTU3dHJmNUUvUGd3QUVr?=
 =?utf-8?B?QXBKdHF6NVJGbTNrZ2RIa1RrWHV4RTRnMUluTU9yWWY1ZHdjZlg1Z3pNWGFY?=
 =?utf-8?B?QjNNZ1lKd3dSa1QyenpBRktyMHhaSXVNenM2eVVQNkpGeElGbXpOS1Jub3Ri?=
 =?utf-8?B?ZTNDMXVad2s5Y1IwaEZBdnVNbWpSem1xTmttM0VjWjRyeHBtZHlJRW5KUUxU?=
 =?utf-8?B?OURRR3JLV0d2a0V1S3dzZStiU2V3NVlTTFVRVElvdkZKMTdWbDZjejllWVcz?=
 =?utf-8?B?aWtTMW9uamYxZTNrc1JHcjlWd2NWR2xLRzhsU2RNVFQzL3hsdVMraTJIVVFB?=
 =?utf-8?B?U3pvNTVCMlpvS21OZ2N3SkFtL040YmF3eDJsbXllYTJMYmVEbFBSR2NDRmpL?=
 =?utf-8?B?a0hJNDBPcHJTT1d5WDVuRmhuNVh4eE16RU1rdmxHTkJVVG1veStFTkhOK05p?=
 =?utf-8?B?cmtYOFZHb1J0aXcrMHQ1RHNmQ09Kb0tQcEpIcks2NmFWY0hrU1lPQ0dRRTJR?=
 =?utf-8?B?QkNBVlVoV0NmOUNOanRPN2xnQmFHRkhObHptS1NZUnlkanlZYk9HdkM0WDJI?=
 =?utf-8?B?REsvMHlNNXhrRnNyMWFHdGFINmsrNEFIeStIblA2R0lBcmJSSGNFSitzOWVl?=
 =?utf-8?B?TlRpMG41NmdlUGRpWTFQV0hXajRuWVlnc2xMdnpzMERGMkFxS3BUZ1haRHBh?=
 =?utf-8?B?cVVjV2N3aEo0eWx0Z09Rbk1iank3T2NxNzdtUVkzRkJRL2ROM2ZPcFgwU0dP?=
 =?utf-8?B?R0RldlU0QzBWdmREUnJoM1hSNndTSyt2VnVxVStWRFRlVHhjUXJ1WjBEWTZw?=
 =?utf-8?B?RG9aWHhmUk0yVEh3b3dFYzRweTU1L2k3dytRbWwwbzdDYUxhYnl1VTRXM2U4?=
 =?utf-8?B?bjNRdlJMQ1RZSXBXR0xhVjU2NXhnaCtPMlEvbTNXQnY1SG5BOFFMNWNsOTRq?=
 =?utf-8?B?ZnRoaFJwT0UzWW1IYVZJVy9WS2xGWFBCS3FQZlMrVU9aeU9UQURWOFgzNDIw?=
 =?utf-8?B?Snc2N0JNOWxBS2p6SXdMcHZQOFozdnd2dXdkNm1ueHRlTURZeksvS1JNVkR6?=
 =?utf-8?B?czQ4b21mNVRkRXFCRlM3eWVBMFNlQSs3cHRwSWFVY3lmcmR0YnhyQUtWOEwz?=
 =?utf-8?B?MkxkYlRyL0d0MTFCa08vaitSOVlTREErNDNkdGhuUCtzd2VTTkQ4R0lkL1pJ?=
 =?utf-8?B?b3JHUlF6MjBoVzdBeC83WFVhT0FhdjR5RmtwWlZVRDkzNWw2dkRuR0ZEdlda?=
 =?utf-8?B?ZVhiaFZFbW52TEtVa3JUcmsxRjJ1SVdiVjQ5ZzZ3ejFqNm1aK2hiRnREMTNB?=
 =?utf-8?B?QnpOME1LVUM2bDBEOGhBMUlVK2Y5T3k3bUczZ0tyQ1oydXM4eUkrNy9TUFFj?=
 =?utf-8?B?aWdHZDBMMTBidlFEckwwckN3M3hheEt2YURySENtRXdrYVFUblZSNFd5d2t2?=
 =?utf-8?B?SklEV1kvY3VFcmlIb1NHcFRzOHVQVXd3VnBJQldXNS9rMHBGWVgrTDVMSXFM?=
 =?utf-8?B?ZEFlelFiMkZhRGQ0R0NZTDlsQTlhOXVtcjE3VHJuVytqaFJvcW0rckRzR2Zs?=
 =?utf-8?B?UHc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	fn8VSvqgC2hSIEhqBMtZwETiWQC0DTCvREdj0L6m0mN+E22nL6uj982o5Y+FKEM9ykmqP8M41eTi9MZJVR2Fv5XZZGUMJd3lPMoPNRRQrNTLAOW2vBnUG6fvMxrudMqxaYKLl1ZJdMFdBrRFXytgMe4hvQKeOhHTot0NwmH6AV4auSeXaq1j5AhJpHrB+3GhiaZnTZGAlvg6EH61mRF1TXVbJ0o3uCt/k1TeV24FnHqYOYGTlTLR5tL31QboDaIv12daB1cb4a/pYILOqHdEmKfQXxXpjy4EmpJSwiE9B/oReahJ6X/XwKllTqfXwKqneiLmlCKFMSZ1rzui9ADKIoIN6JMXBWvN5l9pCJtrZt1BPW7C0Oxb9+sebxN22Y1A/IAU9zWBQqOE2Kq7PFjy2AXGZCekehznATd4C55g2HbxlTlFUzS+zTZleQU3iYWRTh1HdeOwWMyon1lvBhggq+4+Ifi55axzlKZzp3aYW00zSb/bcRIjknm8Myka+hHUyQDNxJFjlZJo/GMhYfJR8f9o6Cgpyywq1Ymp1ciWfjyb025Cedrl7E//x9GUMIcZ4R9CUsbmI2iXQlor7vFDmaD7s5HaULEsZAN5bfI5uTyL71+WmQQInPHucXvuzzykJtUq3oIV2blU5u1o9Zr6vkbyfR/MxgmfqjggqoahoV6+ObR0zIv7xeUUWYuXFb9UurQGvi/4E/sXuDUVhBTpa0iW6Xei03gHJrbVvNS5lXmpnSYz4MCKrQSRfgLH17xHsK35k/blTJWsn0UOE+CgE2Q5wgvNTdqJljfl5AuuCYMxsjeTNZhvLcnPm29cHWOnEhzE9ortHpXAcymCRXjdhw==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 540e1af9-1fb0-4a38-9c96-08db31167817
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 12:01:17.9792
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tFwgOWxu1Q9SLT6ux/zGpMP6Vj1EM2mli1TzN7ISpu5w6p4hIt1Wijnp2guy0KkhzkVG1Z3y9STNuxNXv63r+B8vI4mFwCBJ9cX4dE4T0Ck=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB6969

On 30/03/2023 11:16 am, Jan Beulich wrote:
> On 29.03.2023 22:51, Andrew Cooper wrote:
>> Looking at this diff, I'm wondering whether keeping
>>
>>     union {
>>         struct cpu_policy *cpuid;
>>         struct cpu_policy *cpu_policy;
>>     };
>>
>> permentantly might be a good idea, because d->arch.cpuid->$X reads rather
>> better than d->arch.cpu_policy->$X
>>
>> Thoughts?
> I'm not overly fussed, but perhaps yes.

If we were to do this, we ought to keep d->arch.msr too for the same reason.

(Honestly - I'm still undecided on whether this is a good idea or not...)

>  Nevertheless e.g. ...
>
>> --- a/tools/fuzz/x86_instruction_emulator/fuzz-emul.c
>> +++ b/tools/fuzz/x86_instruction_emulator/fuzz-emul.c
>> @@ -893,7 +893,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data_p, size_t size)
>>      struct x86_emulate_ctxt ctxt = {
>>          .data = &state,
>>          .regs = &input.regs,
>> -        .cpuid = &cp,
>> +        .cpu_policy = &cp,
> ... this and ...
>
>> --- a/tools/tests/x86_emulator/test_x86_emulator.c
>> +++ b/tools/tests/x86_emulator/test_x86_emulator.c
>> @@ -909,7 +909,7 @@ int main(int argc, char **argv)
>>  
>>      ctxt.regs = &regs;
>>      ctxt.force_writeback = 0;
>> -    ctxt.cpuid     = &cp;
>> +    ctxt.cpu_policy = &cp;
> ... this imo want keeping as you have it here.

Ok, so that's a firm "switch to using cpu_policy for emul_ctxt" then.

Which is fine - in fact it's one I'd already started splitting out of
this patch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 12:07:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 12:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516685.801212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phr3U-0003Nh-GU; Thu, 30 Mar 2023 12:07:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516685.801212; Thu, 30 Mar 2023 12:07: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 1phr3U-0003Na-DT; Thu, 30 Mar 2023 12:07:00 +0000
Received: by outflank-mailman (input) for mailman id 516685;
 Thu, 30 Mar 2023 12:06: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phr3S-0003NU-TJ
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 12:06:58 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on062e.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5dcd4591-cef3-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 14:06:56 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AM9PR04MB7601.eurprd04.prod.outlook.com (2603:10a6:20b:285::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 12:06:54 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 12:06: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: 5dcd4591-cef3-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mIxKAOfWin6DAf8Qq0pP7zyI82pZbQAQB4m/NfLFqxRxoY1Zc7EliMg9vK716WM8pp3bmODuiHU1D6ny7tHqj8F9nrw2yLY7XJOI1Kq7SCnYrGoc/C8pqyzXLMHnURxHbBaD3NJfE7f4y5ZCDHBMzskSACmOOlYj1eFNbQZkY/wwY+PnYi23MGyiU0SlqKxVJypN4Q5j+IlHaWisisvNTg27+NGiEVoqGD/ieF/u6lL+xjXKgnoIJ8vtrXgJMQ594Nh9cKSkg9N4eTrXFKSnKJW8pAXLFAX+rDvkLetE0dVSWzA/aC+swPHz2RpqT/pHieDEX092+oQAKAeBnKF3dQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+F2yNd1m93iz4OwNbeQZ9bzI/XC3/pXi6YNmHT3v4jc=;
 b=CoEK0ioQlnTxPRm0pk55Y0EVw/zuyoL9HAVGDF6QEKXjjcY4wak2UotD3/vIZAdTyB8ogd3Dj4DdvVW1WpuWTCvQ1y2shkY6Bp7gvCWUosnMiKgf9Wpv/p26Gxi5bzuVDaveNEcajVdMbndOK1DXdSZoeFKfUjs8Wic59I1qV6Psm6mHwCFON4Ci5ryhZtriGkCehHS8OEZkthda6z3qsUcJbybK3C56rS3PoR9CXxgelaEs5QZlXseHZzrAmNRZnvs+DTtEBX8EDSomilbnT+iPtPGsQjhXq1+cOkZWkc3q97N2tD7gx2fGsUXz38s3XNAwsd2xvNXv/AQFTC6ewg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+F2yNd1m93iz4OwNbeQZ9bzI/XC3/pXi6YNmHT3v4jc=;
 b=pHfIg2enjdYFw8uGiejycyZNmRh6B+ftSwUVGdBKuDNAJfxWcEkv07bNy2FKuP77B9f4lB+F//m7W11MbpTSX9nw8fGoM39U5aXmVYVG/P/C8oXeHKSnm4mCdwY4CyRAFENJyQAjkFnXhvPRcT8ipAgzapgnGhCAv4cRj6Ow0s5whKisGjLaTW0jAhr15Ftitzh2JQ2XpTOmlhuW5VJfRPON1znLNQyMAEnwKJvfl8bR3hkuBY4huQl1BbeUXbXeP7raueikzu/DAgJVEo0GN8GEZoVRfs8jEFtHNngjSPRC5JiaQ3C7M3COMjb1Vzf0V0NPxWHTixw34bjFjxOC8Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7cc9be8c-5628-1d19-077b-a70472c9095d@suse.com>
Date: Thu, 30 Mar 2023 14:06:52 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 9/9] RFC: Everything else
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-10-andrew.cooper3@citrix.com>
 <758615c4-bee6-32fd-0475-0c3c3bb7debe@suse.com>
 <8b368b4d-8a10-eb82-f7cb-d20e406ed285@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8b368b4d-8a10-eb82-f7cb-d20e406ed285@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0072.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AM9PR04MB7601:EE_
X-MS-Office365-Filtering-Correlation-Id: 997a9301-2745-4c0c-94f4-08db311740de
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aq7Av6piGiuUPuy2++ypdBOT5QeAPyI8RV+L5X1fOgDzOPaYmEio0kaB63b7utOzi3SufxkAxPI6nWyBbqWvRhg0RcL4Ydd4ixHUZgzepSDNYOkkCHxUJ8qYC3DVi7DhnECEaqPtJi5VERDuXhXrPCUpLwvXTuPsOOwXOFIYK0nqbBDk8ps/2m/nU1EFHmtFx1m3zybJ/aISoQ/eoGVWWwJ1d0k4xj/2SYMV1IkTtwOvWFOwDN58UX+vTPLKib7xoF/u+sWCkQW7sXVN06TrmFJh75CB1kx5UbCSW2dk4bQBk02TPzqZpPiUegDqnsOibcaDvztGwTTmJKprpPwMkl54OqLi0yQ5mozfpwlVZmkgMLvdSIDq0uwHSUEGbLQraNOVaz5ggWbzpj3fVI9eqcW1CnS5mqEAJQ+1l95VIVclG1xNONjjUJCflE9DC3//CYnBkewAQD8xVc8D8tV0oGu51YWQHgjlwOcUzWnh9SEtz+FpDBZPnPI8Sj9eHSYRcNSEK1QPTtBHkUT9iPJCfAnC4t3Jf1p2md0Su5GsuP6frDrbKUNu7Tyx7W31R6HdSbcq9Yk+Bgr1X0tYZJkCNuwnG1PT0vF2MqHRHuL18EdZr8x50lg0crDYI+6M+DuG3bBc7D9nwgTczv95ByhyYw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(136003)(396003)(376002)(39860400002)(366004)(346002)(451199021)(36756003)(31696002)(86362001)(2906002)(31686004)(2616005)(478600001)(6486002)(186003)(53546011)(6512007)(83380400001)(6916009)(66556008)(6506007)(4326008)(26005)(66476007)(66946007)(8676002)(54906003)(41300700001)(8936002)(316002)(38100700002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eGNUN1BQRW5xTy82RUppZDAwbnBsVEdtQmVsRWVONUY5a3BEdm1iVXNpd3hU?=
 =?utf-8?B?M3JJbmFYTjNxa3lBeGxsbUdwdlhmSEJmTWpWRGQ0cWxEN09QTkdrRTFaTUdZ?=
 =?utf-8?B?V0xSMDdRUk1uWU9lVTQvd05FVm5obUIwZzJpY2dWVzUxWmo3VkdiMksvUG5U?=
 =?utf-8?B?cGtuS09WdFJlTVZ4a1JQdmhuUXNrNVZwM2ZjNHZNYk5IQTZ4TVh6MC9kSTEx?=
 =?utf-8?B?WmcrOEhEam4wSC90bzZ5STJCdzl2Mm9LZVBvZnJRVm9zQU5WYk45dUhOb1dz?=
 =?utf-8?B?UXFpQ21zb0c3NlRGR0lOQmhaL0JEWm1qL3JOZDlPLzRPZGFYZnNYckVlNmQw?=
 =?utf-8?B?U2RNUWttTzhlVkl2MUR0bHVuZjZNS1RTUytoRm1KTWl0UjZOMEZiNE1VSHpJ?=
 =?utf-8?B?R2UzVnh2MDNGSWZNQVpLaFAyK2lWbTU3VEtaRVdqSVloOWZVNk9kcllPWEhs?=
 =?utf-8?B?N3dtZFRqSXFybTBIYmtOWG9xOG15d3dKSUgxYkVHVzhPanpwSHN4YUJpdjlu?=
 =?utf-8?B?UVR2QmE0eitHSmd2MWV0U3hkK3ZTYXdnK0NDaUZUZkhObHhLZmhnMXh1SkVQ?=
 =?utf-8?B?V3VPTlVzQWRMTWp1aURYSjBSVnRid0M4OHJ3NERUZlE2QStBd3djS2NCQkxt?=
 =?utf-8?B?YjVMZTNQQythT0xGcy8zY2QwOXZIVmFqYk51em8zWkI3VlVqRjRncmRZZlBo?=
 =?utf-8?B?aHViei9sZlM1WUZTVWhuVERRQnBzMG5wTXUxV0RwMkszSnRXMmd5UjZyN21u?=
 =?utf-8?B?OXU3MDJRamg2Zlh2YXRyRnpIbC8xaWJtSnFFcWFHNU9KVW84aEloWEFEQzZq?=
 =?utf-8?B?YkJGeDV4VldKY1FhRWhjdWtkT3ZZMSs0eFNsVnh1Rk1FUjJIZ2VacHdWODVN?=
 =?utf-8?B?aTgwOGQ1a25lUjNzREhYNTlVTFpSNHA5M21yNUloTjRVRXIyOVo2eG40d2xn?=
 =?utf-8?B?ZU5EODVSdXR4QzNhNXZhalFLcUh4QXczUDNlMTlEWElJT05FWjNVVVRkQnpu?=
 =?utf-8?B?Nm9ITzRSdXRKVURzaXhaMllTZjJvb1FDRVZzM1MwSHlJRkFuQjkvTURTb2tR?=
 =?utf-8?B?VVpwR0QwNEY0VnF3M0p1bE0yeG00RmREQjRNWG40bHBOK1kraFZrV09LTVYx?=
 =?utf-8?B?RzRCZ3UzU1pqeVJUMHFNblZ2Y0h4alNWMGFLSnlhaFd0emVRMkYwd3p0SENO?=
 =?utf-8?B?OTZqbThsVk9EVDNGcWVhT2JQNG5HMWZtVXJXMk9zRlU3TWVWanVGZW9uaUpK?=
 =?utf-8?B?K3FtZUpIY1U2UEJ1L1VFWnMzcncwSXFmSTduUi9BRm1lRzRuNHFxM1hyVjZP?=
 =?utf-8?B?dWJRSnF6THZtd1JTL002RWd1RW1hQ3RBcDY0ZTIxVUtoUTFjRXZCQ3RUeXRo?=
 =?utf-8?B?ZGxxTldwa1gvVitCRER5ejBJMEdKdDFiQUlzY0RSdDEvNnVka0o1bmh0Z3Js?=
 =?utf-8?B?SXNZMU9DZDNtWlRuczFCU25jK3BYN1I5OWwzUlkxNjU5dmRXNzFIZEdqb2hZ?=
 =?utf-8?B?Vk1zY0x3aURKM2ZuUW0vVDZKZlptZVVaWkU5OFZDSDA0NEtnTENIUTB2SVhl?=
 =?utf-8?B?QUhUZ29xR3hvVEh6TzV6K0pZNERXMW5qZmVnbllwWmVLSjYzSXJFOVNCY281?=
 =?utf-8?B?dnVCTTRtN3VHVU85UEJ6Um5ZWllHZSsxWkhRWnhNc3A1dGk5VmJqWVJweHVG?=
 =?utf-8?B?YXpsTUtpeThQWEJJcGFYbTdNM010dTlBNFZyYXVZc0RUNGZVODV4TXFUWjBz?=
 =?utf-8?B?bDR1bk5ELzZGS1NLNjBsNU1qbXg1Y0J2TnhRalhOUUk1bXo4MmhxQmhNbXNi?=
 =?utf-8?B?NHJWVnhEWDRsckR3U2pnSndpeVJMckt4VDdPMkQ3U2p5K3RzZjFYYThSbGxo?=
 =?utf-8?B?ZllXOXc3YnhFRkQwa0xrM1l2VDBSeW5IRjBvMkxYNlA3WWNhZm4xdmpOaSs2?=
 =?utf-8?B?UER5NVUwWkRPWTlqUGIxWHRWZ00vbENJQ1Fvc2dQaTdQZWhHQnRIdHFXZmFC?=
 =?utf-8?B?OW5abW84bjhVNGhRRWZ1MEE2ZE5MdUZmVldxTUVkNVJuVVVpSHQxbGlxWVNP?=
 =?utf-8?B?NEdlWEFjMUNOM3VYak5ZZzVvYlFuV1NPR1pXT1VRN1dJRjJjZ1hkcklGUkpD?=
 =?utf-8?Q?JVwXqY92nAM2rFPHqsW/KDft4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 997a9301-2745-4c0c-94f4-08db311740de
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 12:06:54.6943
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WxpGNb7aP6CIQxUCjYpyH+aL3cbhc1hpchyQY5bhZuotbWBt2hyGxOURqHL/1gWXAOPV9d7AcFM/BkBl84s3CQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7601

On 30.03.2023 14:01, Andrew Cooper wrote:
> On 30/03/2023 11:16 am, Jan Beulich wrote:
>> On 29.03.2023 22:51, Andrew Cooper wrote:
>>> Looking at this diff, I'm wondering whether keeping
>>>
>>>     union {
>>>         struct cpu_policy *cpuid;
>>>         struct cpu_policy *cpu_policy;
>>>     };
>>>
>>> permentantly might be a good idea, because d->arch.cpuid->$X reads rather
>>> better than d->arch.cpu_policy->$X
>>>
>>> Thoughts?
>> I'm not overly fussed, but perhaps yes.
> 
> If we were to do this, we ought to keep d->arch.msr too for the same reason.

I'm not sure this is necessarily a consequence.

> (Honestly - I'm still undecided on whether this is a good idea or not...)
> 
>>  Nevertheless e.g. ...
>>
>>> --- a/tools/fuzz/x86_instruction_emulator/fuzz-emul.c
>>> +++ b/tools/fuzz/x86_instruction_emulator/fuzz-emul.c
>>> @@ -893,7 +893,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data_p, size_t size)
>>>      struct x86_emulate_ctxt ctxt = {
>>>          .data = &state,
>>>          .regs = &input.regs,
>>> -        .cpuid = &cp,
>>> +        .cpu_policy = &cp,
>> ... this and ...
>>
>>> --- a/tools/tests/x86_emulator/test_x86_emulator.c
>>> +++ b/tools/tests/x86_emulator/test_x86_emulator.c
>>> @@ -909,7 +909,7 @@ int main(int argc, char **argv)
>>>  
>>>      ctxt.regs = &regs;
>>>      ctxt.force_writeback = 0;
>>> -    ctxt.cpuid     = &cp;
>>> +    ctxt.cpu_policy = &cp;
>> ... this imo want keeping as you have it here.
> 
> Ok, so that's a firm "switch to using cpu_policy for emul_ctxt" then.
> 
> Which is fine - in fact it's one I'd already started splitting out of
> this patch.

Hmm, wait - CPUID "basic" and "feat" and alike uses I still would prefer
to see using "cpuid". It's really only such initializers which (imo
even logically) want to use the name with the wider coverage.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 12:09:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 12:09:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516689.801223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phr5L-0003yl-2M; Thu, 30 Mar 2023 12:08:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516689.801223; Thu, 30 Mar 2023 12:08:55 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phr5K-0003ye-UO; Thu, 30 Mar 2023 12:08:54 +0000
Received: by outflank-mailman (input) for mailman id 516689;
 Thu, 30 Mar 2023 12:08: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=oVKM=7W=citrix.com=prvs=44691dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phr5I-0003yU-Kn
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 12:08:52 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9fe4297b-cef3-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 14:08:50 +0200 (CEST)
Received: from mail-bn8nam12lp2172.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 08:08:37 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by PH7PR03MB6969.namprd03.prod.outlook.com (2603:10b6:510:12c::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.28; Thu, 30 Mar
 2023 12:08:34 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6254.022; Thu, 30 Mar 2023
 12: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: 9fe4297b-cef3-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680178129;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=WbjLea21fFYE/GAxcYB0Z74lz8qagGQjCUVOG6Jto9Y=;
  b=ScDtDvt54BnqPgJyPwB9YxguGwFJiHd3FyN9dt/Qsan22L1ms+MjOJp8
   WjolRBxw7duh2rohVCvtxsCW7BkAobtkeqfngyBvfZ1Xp7DsDxZRA8q14
   rPFJ2RDqoYajTW1qW3vC3/cM1iAuh48qFk5rtizah4hbpkkuplTjOpvBy
   U=;
X-IronPort-RemoteIP: 104.47.55.172
X-IronPort-MID: 102471724
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:tvn2lqCNd4uERhVW/wTiw5YqxClBgxIJ4kV8jS/XYbTApDsghmMAn
 2dLW2iDafaPNmGjL9h+a4vk9U1U75fRyYQ2QQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhD5gRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw2ugsJmxPx
 9kkJRcxcCuNo7O92e+ZRbw57igjBJGD0II3nFhFlGucJ9B2BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI+OxuvDK7IA9ZidABNPL8fNCQSNoTtUGfv
 m/cpEzyAw0ANczZwj2Amp6prraXx3+kAd1ISNVU8NZ1ulyO5VcoIyYtTHCBnPyw2m2dA892f
 hl8Fi0G6PJaGFaQZtv3UgC8oXWElgUBQNcWGOo/gCmSzoLE7gDfAXILJhZRZdpjuMIoSDgC0
 l6Sg8ivFTFpqKeSS3+W6vGTtzzaBMQOBWoLZCtBRw1V5dDm+ds3lkiWEYwlF7OphNroHz222
 yqNsCU1m7QUi4gMyrm/+lfExTmro/AlUzII2+keZUr9hisRWWJvT9XABYTzhRqYELukcw==
IronPort-HdrOrdr: A9a23:Jtki76Bv21Yfl2LlHelo55DYdb4zR+YMi2TDt3oddfU1SL38qy
 nKpp4mPHDP5wr5NEtPpTniAtjjfZq/z/5ICOAqVN/PYOCPggCVxepZnOjfKlPbehEX9oRmpN
 1dm6oVMqyMMbCt5/yKnDVRELwbsaa6GLjDv5a785/0JzsaE52J6W1Ce2GmO3wzfiZqL7wjGq
 GR48JWzgDQAkj+PqyAdx84t/GonayzqK7b
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="102471724"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HcI9ShkpbutKDwzE8HCNU1l1P75OsffpFISVIzYPm0dNDuVMTLUdSrN5x0arkcd21LUsHCH0RDRO1AxXoE92fTqGlamg3xpBg7B5WcXHwxFye/WsSg27rMQRQ9771Dh9WSvyDU5dVgA69RJh9V51X/cu/Ju6hiuTUeoB1rkQY4Dsk/5orGjKmR6Yk3Sue35agGNmEQrzo8AVt/DGQj9NZghQzM0OkvzmWEkY+hm8H2EetwOPR9lAN9LM5BXhvr8xavXTYMiZy5+bN3/uI/UwU9daHl1H1JaVKyBqLUwpretOxohgLw8JIqUySPLKWQe4x8SPrCEnIwhsOeR/XX2vbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kPm+fUSf7zrx2HT+5FqrMCYov7zaLCvKcAaLlQOHq9U=;
 b=Xukqh311UtmkmrZZdTzWlRaDRJXIfoDJeCfCRL+q8CFaEt2Ar+9e2qMcBj1tixeFpamdi7E5jF5rwV/JOuraW/s9yqma/vK1natee5+Qp/HONUgs8bbGAyQ3hif0qROVDyGkPaLjFDkBQcVXG3yrDKeyPujTvwBL4XXQJL20WTCt8VbnqD1UmHpA/qstVys98HQtzsQufqI77FlPsDvzus3STZjsl5QAMY/HN17nzpjoIqeP5P+Qt3/kwUiXTgsIlrSZg4pchXo/pTVuuw9ooc5NYii/5ha6TWwE289MBL1y9rJlQWvpwxLcsscfREJfgdqRSoBwJzOkS8EUjgufwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kPm+fUSf7zrx2HT+5FqrMCYov7zaLCvKcAaLlQOHq9U=;
 b=KwZiEOVzlGRD8jvFK5ILSeh8EEgFZ8yxApqs2nl3+sHjk4Jzg5tWXnG636D8V/KKIF/M6/og4Wt7ZFA/c/kFkTQpN03OPzKKduLiDcIpHrTpR1NnBt37RUkhIYGt8eodnDiiZ3bNhIsVTgpjdzaXWjgyBBzrxqBvnn7pdlc0b6M=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <4bf348ca-60ea-10ba-d0ac-17ca220e8759@citrix.com>
Date: Thu, 30 Mar 2023 13:08:28 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH RFC 0/9] x86: Merge cpuid and msr policy
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <75fe2fea-1ffc-b23c-373f-10dd21fe53ff@suse.com>
In-Reply-To: <75fe2fea-1ffc-b23c-373f-10dd21fe53ff@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0276.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a1::24) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|PH7PR03MB6969:EE_
X-MS-Office365-Filtering-Correlation-Id: 02ad3487-9575-449e-1c0a-08db31177c5c
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	a4aXGCXeHK9nF+pmH+S2ChBwGB+6tNJ2kCssfkVxY3o8HqE0r264FnQy/AzbtBHUiCA52a3MxHpghuZkFl9p+ecbOG6kourBI3nP1OHN0++/bg7T8A2MD+OlQbAO8v6QrJuL28yJ0G4Zir7kuuPsggNxE3KmKYZd0bOPuOM47LOuOxpQPOWqpd+utZYQRpwAZ97mIKD28ejoMYLv5AH4C9ucAY/0hFXyLa5W9PuT4z4/HJNtcb5in7fitXtOWDHTyJoH2Zea2D/f9kXjXz8VtskfvO0dP+/IjoypmrzcW4FemAlhx5uxsr3J3ezjIjvF0gA3kD8kHRjXLJPMg0UW879t7Y3taE04ZSVkTVG78TBNiI3UqLcoqFSIXJYA8WTYvqwhXvsTUj7B1Z0vcFQIg08HVqwGmX70ZWBBuIlsuuoe8J7QVyQmnA/K20VGfsF+La/6Kts8ZBC/FSwGVmbtiJeK4IQQwK9WMdBhscOmSqmRUFmkdhtRnHIpelO3Y9xy06ZGq6L3Ma/bP2tso3IEcr99ef4ZnqG5FzRRa5NqoYftBKq6bthW7nSGYYmw+IWRjuaDynoVQp+PG5e6FEHbWxUEOVCWzXMGJMLFHXRGX+AkOgHbvMKvMEWz5eHJPe9Sdfoq/XPXD8mjfc8uHY9imw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(136003)(396003)(366004)(39860400002)(346002)(451199021)(6512007)(2906002)(2616005)(6916009)(66946007)(54906003)(8676002)(66476007)(4326008)(478600001)(66556008)(26005)(53546011)(316002)(6506007)(6666004)(186003)(36756003)(38100700002)(31696002)(86362001)(6486002)(82960400001)(5660300002)(41300700001)(31686004)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MlQvZFBxSlZCZ1hpeStTaDE4TXFpNFN5L2dPVHhpRythaWRvR1NEb1hGQmc3?=
 =?utf-8?B?bVc1SE1hYlJDNXlNWUlSelU5SWRHRWFuTi9CRmNnMmJJeGh0Y1l1RXIzK0Zn?=
 =?utf-8?B?TUdpNDRKbmFYS20yTFpFeGlxZjZkL29aTlR3WnUyQ0xyR1A0MEtqR3JPOStH?=
 =?utf-8?B?dDdLOFAyN1BTbGhLVGljeG4zcFNXOEVkTG5uTVhxMzcwOW5ZZnFDY0plcVR2?=
 =?utf-8?B?RThGRU8yc2N3SFoyUEExM0I0RTdRaW85bkRyQW9WTnYwU0pMWUVBczl3VUhl?=
 =?utf-8?B?UHZySmJmSTVIaStQOEp4ZnVzVDZ6TitjQVJET3RoWlJwUjNGRWxxU0l4Y0s5?=
 =?utf-8?B?L2tnNmFrTkdnNGNoOHVpNTZiV2IzUFhNaXVHR25rZERSSkY5dndHa2psOHlJ?=
 =?utf-8?B?by91enFwREo2RmxQTmxMQzErTkorazkyQzlmQzNsdTd3TXh3L2dJQjlRR2tO?=
 =?utf-8?B?aVoyWGY2a0xhOWQ2L1FFNWVFelNmcnZEWlE1Q2ZSWTgwd1M5MzI1cVUxa1Aw?=
 =?utf-8?B?ZEJJbzNNeWJwN0pSWHV5cGZndkdlRm5XeVRvV3JnMFRJRmJraWs0MTdjbXF6?=
 =?utf-8?B?RlRvSHU4SG5VQngyQTV6Mkd5SFN6azE2d0xHbGtMMVhWOFdnRDlvZU93L2Q2?=
 =?utf-8?B?T2NydWcwN0huNk9nSlZJbVVKN0RwNVVnUGxLcTd4RTM1ZVVtWmVyUWllN3hl?=
 =?utf-8?B?ZkI0a2xVZVZYUFU1WWhBM3FpdjRNNjFKUDg4QzNMY2p2bGd6eFc4bzNOOUZZ?=
 =?utf-8?B?NVI3ZnQ5YThXb3lhUW1aVTd4MWxXWmxHbDNqV3NDZythNXQxRW9VZlZmSyth?=
 =?utf-8?B?Z1IrNE5acWpMaWtTemNBV085KzZ1QWtrTXNkNTRxeTVOQlJGRTBFanlZVTI5?=
 =?utf-8?B?ZjBDQ1dTUXVVUXJqb2VqTWF3dUlGWEFzMDQrOTNaUFRuU3YvUlN0VVo3QTZY?=
 =?utf-8?B?SzR5RGZpamN1SGg3UWQ2L25uU1ZuN2NWamJJR0RvNlBEWGJRdVFJZmJyVE1L?=
 =?utf-8?B?U0hScG0xWUxvQTZ2OTNraU96L1R2SmxiSkU0V2VYcUR2bndpUFdKSVY2dmJ2?=
 =?utf-8?B?RVYrK1hncjdIdjJiTW83UXczUE4xcW9vNmM5MjBlejRvSHpBQnBuNlM3Tjgx?=
 =?utf-8?B?WkNtUzRsSUF3QnhUZFNiNXJNMkdjZ29DSE1EMk15MEdwMXM0N1FReDlOR3dS?=
 =?utf-8?B?MVNDbHN1OC9jZ29xSnE5RlRmTG55dTJhSWZERUdDT3pYeGVjS3FkZ1NJZHpT?=
 =?utf-8?B?dTNMcnRUY0EvckdDS2d0V1BZWXk1WHVNZkdtQmlwemNlbmdCbmZhcjdVRXZB?=
 =?utf-8?B?Ly81UjQrWXNWQ29OcC9YMC9UbExzaHB4WUZpc1NCNmdkMXFrZDg5cGg3RXNl?=
 =?utf-8?B?aXQwUWNrU2VoempxaytQVWFoY2xoa3RmOGlEclpYL1ZnYkhtVDZkbjNON0tR?=
 =?utf-8?B?MDRXNE9Ia1pHZ3pOSXBubFMwbWlLM0JRL202U3ZCWGdsSm1samNXTEtFTVM2?=
 =?utf-8?B?QVJwWkllSzJ5WnJ3U1hQUU1PTm1oRUFrOVNzUVZTTzcxZGt2djRhNXFUVUtB?=
 =?utf-8?B?RHM4eVA2YUpkWWdRVENOOCs0cFJGSyt3cEs0dE04QjRiMUJCL3Rmci83RkNq?=
 =?utf-8?B?cjljcGtKUi9wOWRLSlU4dWtvNEJ1Z2FLc1hxSXkzc3hXYzNsU1FPUm1CaHcw?=
 =?utf-8?B?NS90TmRVWHYxOWRMZ1BPT1lqZGJRNnJaNHNNclJLYWhzaXZXZ0ZBRFUzbmE4?=
 =?utf-8?B?dWxiOHdIZ2tRYlM1T0ZERTVGazdaYVZSNTQrUFJkM1FsNGlYSmNqS21id3p4?=
 =?utf-8?B?YmRaTy9tMW1yRDhReFJaVGRhVzM0NlduQ2VZR3pHZ1pueC94YUZyUmx6aExN?=
 =?utf-8?B?emxGcmZkOTdHdkJuVWZZbkduWkxhWXh0RWV4Q091VmhLOE4zUnNRWm5FL2lY?=
 =?utf-8?B?SVZLR1lZRkZzM3pnbUx6NDRDdGtTUkxWbVVmN0hObi9ORUNRK0ZpY1NyUFI0?=
 =?utf-8?B?dXRBbkZWc0JMazJqVFVMc3ZiaVdBa1FhR0xrWnRDMXVTdStWODJRNHNFVWVt?=
 =?utf-8?B?L0tDdE8zRmJWYWtWSCtvVmJRY0g1eEo2VVpobCtCNnEwdE9DT2xidUsrYmlx?=
 =?utf-8?B?N2VNbDBubzh2eXFOOGZnUnBUbGJjaGFDSmpFc0tyYTI1eXc0RVhFVHhrU1pP?=
 =?utf-8?B?dmc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	//mVpIN818BnbkEonNrPwMEKRXTocDe6Lit5gJxRw2mA3kkv/L3HggqZw0zNRj8vBpayuEogQekkn3GsvwUj8SYVytxs4YXp7OK9bgUsCJ/VxbBrSu9+nXrb54nqXRbt+RD1+1ORXe0nSVZetX50JrcPCbAbcpzAGhFgVy/wExjhCVGtbzmeVBSIAX1ELox+x/GjlJMHxgGvMXmPUo/dVfGjKXUj166aZGAN+9Cgdh186HswSSm6cnwuZn/8id+lKmcURKVdZvgENkGmeKPE22qzLBBZvVvHwg9AIiPgRLqPN9ONaT/dpCg39YtHuiJ7ipCmWLMaKZuFVi+y5i+nTftLc5MOR8AWoIL1u/Jt4Ft9gtpXhEtUdvrZihqAuyAyklzAqF6DL48iLhNWzIYi2LJtm77Qj7GGNg8YUzWd0Ni56h1w4/NtaceNtcAGIFPeOLmxoCI5qCcoG3GPeu4cyeBoHBGkgw23VhtarVoxxZ6hAIHPTlPLNHMgGGI+OPUhNAVrCCk9yqHBA+dnrjKR7vK8sPsrd4bBEKZu2ieAwc/QBSABp8brgBKKNyg6Cei6zK2n9rEr4GFKw8C0f+7L6tNvQhCxmLwBmN1eSJys5yK53J4EIuSEBlmOR0DAy2S2YB7x1uquh1A3BH4jdhaDkpJVS6kB+S/+4DJaMFaTZFaBUxi9x6nq/FepnL9KpM/sKQoTz+6w0I+7vjzUz8jiK1xYCPofpfjJMuwYDYBAOgFG2K2bADLggDAXCkYJCa7EHJ5Vly/45TDMF+f0BifjqcLQGIa1QfZ+JqpOCtARGv6yrTC5/8vHpYsL9s12eUMFPfnBXqN92yMqx5/UFaVyqQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 02ad3487-9575-449e-1c0a-08db31177c5c
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 12:08:34.6089
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ROLCx43fuDzmqvK4d/4k+gz5pykrwMOIzNBi2L90chFgAHD4FgLf+qaahIN6zZHjqBibfjzcj5yFc2uM07dJYPqxQMlhC5KhVu5WWD8057o=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR03MB6969

On 30/03/2023 11:18 am, Jan Beulich wrote:
> On 29.03.2023 22:51, Andrew Cooper wrote:
>> Andrew Cooper (9):
>>   x86: Rename struct cpu_policy to struct old_cpuid_policy
>>   x86: Rename {domctl,sysctl}.cpu_policy.{cpuid,msr_policy} fields
> Nit: I guess the last closing brace wants moving forward a little.

Oops yes.

>>   x86: Rename struct cpuid_policy to struct cpu_policy
>>   x86: Merge struct msr_policy into struct cpu_policy
>>   x86: Merge the system {cpuid,msr} policy objects
>>   x86: Merge a domain's {cpuid,msr} policy objects
>>   x86: Merge xc_cpu_policy's cpuid and msr objects
>>   x86: Drop struct old_cpu_policy
> With the small comments on individual patches taken care of one way or
> another, up to here:
>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.  I'll fold this in on these patches, but I don't intend to
commit anything until I've got the full series together.

Right now there's still a lot of shuffling of minor things (comments)
between patches, and not-so-minor things (deciding to split things
differently).

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 12:22:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 12:22:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516693.801232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phrHp-0006WB-5E; Thu, 30 Mar 2023 12:21:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516693.801232; Thu, 30 Mar 2023 12: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 1phrHp-0006W4-2c; Thu, 30 Mar 2023 12:21:49 +0000
Received: by outflank-mailman (input) for mailman id 516693;
 Thu, 30 Mar 2023 12:21:48 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=oVKM=7W=citrix.com=prvs=44691dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phrHo-0006Vy-70
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 12:21:48 +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 6e744932-cef5-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 14:21:46 +0200 (CEST)
Received: from mail-mw2nam04lp2174.outbound.protection.outlook.com (HELO
 NAM04-MW2-obe.outbound.protection.outlook.com) ([104.47.73.174])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 08:20:53 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by BLAPR03MB5474.namprd03.prod.outlook.com (2603:10b6:208:285::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Thu, 30 Mar
 2023 12:20:51 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6254.022; Thu, 30 Mar 2023
 12:20: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: 6e744932-cef5-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680178906;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=+kkj0aixR+SmroELwMn6dm8iCbGt/gbMY0StBirVTt0=;
  b=O+n1GljkAO4xNF2JuU9G+Dpd2N5LP31Pm2astI6wfE+5hIweqn4HMMLn
   /QDz87yjf0glbgn1HH33d7oVHszXuKIe5pDlm3PXNdt6r0Rd3fgjn2MMr
   G4/VoPtYINwV2P8a19ecbyQWjhNpl1IM84Ol7/DIcAFjqcLK33V9fKnah
   k=;
X-IronPort-RemoteIP: 104.47.73.174
X-IronPort-MID: 104077902
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:raXuB6KIPIqhO2RqFE+R45QlxSXFcZb7ZxGr2PjKsXjdYENSgjQCy
 WVKD26PM/+DZ2X8fIh3OYW+8kwEvpbQn9BhG1FlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QdmPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5uGyJg5
 NocJQtKTUCeuemx346KUrhV05FLwMnDZOvzu1lG5BSBUbMDfsqGRK/Ho9hFwD03m8ZCW+7EY
 NYUYiZuaxKGZABTPlAQC9Q1m+LAanvXKmUE7g7K4/VspTGMkGSd05C0WDbRUvWMSd9YgQCzo
 WXe8n6iKhobKMae2XyO9XfEaurnxHunAN1NReXinhJsqGaN3GwpUxsHbkPluf6c2m7kY+4HB
 WVBr0LCqoB3riRHVOLVXRe1vXqFtR40QMdLHqsx7wTl4rrZ5UOVC3YJShZFacc6r4kmSDoyz
 FiLktj1Qzt1v9W9Vna15rqS6zSoNkA9MW4HTT8JS00C+daLnW0ophfGT9ImFbHviNTwQW302
 2rT83R4gKgPh8kW0an95UrAnz+nupnOSEgy+xnTWWWmqAh+YeZJerCV1LQS1t4YRK7xc7VLl
 CFfwaByMMhm4UmxqRGw
IronPort-HdrOrdr: A9a23:Fvr/D6/XWPdwH5g+Hwtuk+AuI+orL9Y04lQ7vn2ZKSY5TiVXra
 CTdZUgpHnJYVMqMk3I9uruBEDtex3hHNtOkOss1NSZLW7bUQmTXeJfBOLZqlWNJ8S9zJ856U
 4JScND4bbLfDxHZKjBgTVRE7wbsaa6GKLDv5ah85+6JzsaGp2J7G1Ce3am+lUdfng+OXKgfq
 Dsm/auoVCbCAwqR/X+PFYpdc7ZqebGkZr3CCR2eyLOuGG1/EiVAKeRKWnj4isj
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="104077902"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CQaZTSSknnF8RBl6/cQv2HsamZT0Onj4pHeFtPVMLG9uGVu6iGSezY7nuzWxrWNCQtEmjKo8hDHUe/U7pONyCQ0uYxPWGU+q6KIRlTdB8bfoDngjW0rabbE5Drv7OhTWxP3rEMpPElJT/gRpSzsVWAwYLjIF5t7PhpF0CEYbVJHrbFiP1XtkCW2Uv/5WzLNWzkEDsrtOGoVUejBzwwSdQNghL9AdnKG4i5xvJSAiepxJPUWoXe0mcFFKvJ2f37TKxxGv38v9OX704zgCdQOq1hAhb5WL8tmND1rLz2QJb8FIFrIoUEKdUvxjTuF9b1JWeBNKATz+YihZZ3XlZHQXnQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+kkj0aixR+SmroELwMn6dm8iCbGt/gbMY0StBirVTt0=;
 b=i2fVoe7LCh+OPvar6P2l0BSDwI6pBpPcrASYRm66Neb3lNzJuzgB+wmo08+xAh0y6UKh9aX/W1djbkAyUS74kduy+YFBMkQNFZGngWcCy3P75HbVFwHh45sr1o0/0JvQJadFbESQLU0bC6fyaIUIFAvfVU8hXMOjUv59VyPIQoynVN4d+2c5WiF7xlTomGIZKeq3+eI0STO7HTOBUqG0asMYa8WLMTDOa48Z0ixPtuxVMH2Vh7iU9yYmTzd4Ae0p+d+RnYHJG8gXTIl1Dn3XdhSefBxfX9Lq2bAZtOLCeFzIibtbkrhhku0tLgzPILFbjduLIjayruuY0XlLQ8nxdw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+kkj0aixR+SmroELwMn6dm8iCbGt/gbMY0StBirVTt0=;
 b=XDTXbrgrqUdJ3HAw0zoZT2n9nsbydnnPspHLGy3YD9Pg0e8JS2wM5puGxoW2C4vCc/Pgp/MKjqFdbE2qvqM0GCP+pkWir+wMevs3K7k3858YJvUuHhiEkYJ//JZLB2CsRix47VqRu8sGWAdXo5gT9X+EvUHMc9nGvjFi2j1QwJ0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <b8e4ee37-0b04-c5a7-93d5-bb8153db0f49@citrix.com>
Date: Thu, 30 Mar 2023 13:20:43 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v2 01/13] x86/shadow: rename SHADOW_FOREACH_L<N>E() to
 FOREACH_PRESENT_L<N>E()
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>, George Dunlap <george.dunlap@citrix.com>,
 Tim Deegan <tim@xen.org>
References: <fae14dc0-83aa-4647-6755-dd6913b6dba4@suse.com>
 <b0b576db-08c3-3e2a-e3fe-7a64db871ae8@suse.com>
In-Reply-To: <b0b576db-08c3-3e2a-e3fe-7a64db871ae8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO4P123CA0223.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:1a6::12) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|BLAPR03MB5474:EE_
X-MS-Office365-Filtering-Correlation-Id: 13ea71e2-0c4d-40cb-e757-08db31193277
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mJTiKYOYpjQaQ4f65+xLdPLFxiPZclanMAXQ2lIfM09apWR6iyjNVyEkEnPEKaIfgMiUQeuOGj2/bx2JpXqbb+shXug7Dbg4iJw9w7wyxpgnCssukmDVSj1cN9WQk1+3FqU7MCkvbujbZomF/4Ac/AqxFYbBoEKqXYKMmsaTtgLWFMC4oQGMshHkW7cHUzXQTulRQHZUMtR5OgzDm252Qoa2VZpQHjwcrMVJBCDjXcagAOOKXdZN7O6UzSRMxn80O8AOLMdaBSMDaPBZMbkXNTa0Wzju9oyHYrIpGmrnIcQ+Yscc4oAsQsKJ50FdB//3BWJLi5cB78V2BWlmUvOuZDt/QqXERa653FaMPE9FyFNqDqPfUqSZPkbdVeH+EVTLmVdRp/saJRLe1O4XMymYEUPZBNd1/Yyddv6728fhcgYbTiDAStNu2BJwOBk7fuVuEeWznwHnsjmuUGoUpsW77bYgi26eV3NcqJNHosqYmMNTkHl/Rpv9rtKIGChWr8kVy5lFDF/7oRUTMeXoYbR5D8N+FbYL5Eud4FLJCSll4ffQtxby11g4DHX5hQW2sCxc9qSTUhDPizc77YJiUcfeHuJ6Fdf8Bp42+0bB59kc5SAIecV7ZkhAd/tO+bVXqjoKFo0OZRCapJRw1rKXhYEftQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(366004)(396003)(136003)(346002)(376002)(451199021)(2906002)(8936002)(5660300002)(4744005)(83380400001)(53546011)(66556008)(26005)(186003)(36756003)(31696002)(4326008)(2616005)(66946007)(86362001)(82960400001)(8676002)(41300700001)(66476007)(316002)(6506007)(54906003)(110136005)(6486002)(6512007)(38100700002)(478600001)(6666004)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NFA0K0N1Z2I5L1dubHFMbkw2eFlzZlpKRWF0anJ4b0NNRjNsT3hLRWpaaFlC?=
 =?utf-8?B?cGlvOVAxWERmRUZhaTVXZmhxUUlIM3U3UlkrSHp2clBSOUl6Szdaa0M3UmhE?=
 =?utf-8?B?cVdnSnBvdEhVUjBhWmRNdVdhOWlzTnc4S3N0ZU8zOHBPN2ljbDI0Mi9zWS93?=
 =?utf-8?B?VU5Gb21RY1dncUpmMnJZb3FOOWllTUFIT2Z1ZnNEMGIzZ29Zd2tsdWVPa2ht?=
 =?utf-8?B?VFQ2ZFY4R1BiS0JuMXdvdzJ3djlkSTNYVUt0VjVNdW5QTUpUTVNsYUtGVlo3?=
 =?utf-8?B?SHJsZjhxUHUya0kxL2hpaWNrVkV0NnVoL3VKakxiU0VnV0xyazFZOVhLY2tl?=
 =?utf-8?B?ZC9lQllwUWYzaXBxblJvZTMxWkg0SVR6cUYzNXpXb1cwbGt4T0l2M3hVU3g0?=
 =?utf-8?B?TGdiWi9BNDd1OFlUSXF0eis2M2dXN1VrT0QrREcwU0FXeDN6VWxXNVh3VlVV?=
 =?utf-8?B?TGdOcVJYR3h0Z0s4MWJLWVJ1QVB2cCtKOTdpdXFySTNpVDJ1Sm1DL24rb0ha?=
 =?utf-8?B?cXg2WTN3OGNRSExKSm55TlhFZldsQkw5TEJGeHgwNlExSE1SN0dCTVl4N3VY?=
 =?utf-8?B?YmpsQi9IQnVvNmdpZjJqUDdmaGxSL1N3VnQ1Qm9kQnlGT2t3OE1UamlzYVN4?=
 =?utf-8?B?b05UZnFhT2ZQN2RkNFNCNzlOTzcwSXQycTdibW9vcDh0cjkzSzhCb1MrZWpv?=
 =?utf-8?B?WWdMZVNDT2tiVjdmMFZ1OEh0UTZValZqb3FoL3JYZktzVURrZ2JKYmlWUzJD?=
 =?utf-8?B?SVpJZWQzTkxuWE54YWt4ZVNRMEpaSnY2NDM0Y2FwbkxWMWxZQTY4YWJYSENs?=
 =?utf-8?B?d2QxejFSQVRXcVVOelg0c2FIcTlzQ3RIcTJuaVVaQk9ZSU9mMmdnRTlXM1U5?=
 =?utf-8?B?Y2sydG9oNWFQWVdkampJOTVIWXZGWlh3RG9RcTA3OEpyM01BenBhYlZtdmVv?=
 =?utf-8?B?bUYwUW55ZDJWNkFqZ01KV1pmRU9hK3FXdnhSanhwcHRTVC9hSmV6a1pFOHY1?=
 =?utf-8?B?eWRvdGF0eVRwd2FnWjZtRGFxVmowWTJZZVlEZWdoYVZCUWI3UURRSlJpaTRp?=
 =?utf-8?B?amxqYnRoK2pRNC9LM2d1bkhLZ2hSVkVmMG00amx3ZXFBWkVJMXlTVnNYbFNa?=
 =?utf-8?B?bWY1aEZnWGVYUFdoSnRuUDFqaVQyekdRaStzMmIrb0ZMcVlYdVlOT1FpTGhu?=
 =?utf-8?B?blhjVGFSTmh5M0tLNnd1UFZ4RnliN3hpNVRLWTZoWHFYbVZTWjRXZmZqekZw?=
 =?utf-8?B?U2FvRHA0cHRRczBtTXBkNGh6QUZ4dGVMUnFsbFlIUnN6OWhCV3Fuaks3aStt?=
 =?utf-8?B?eEpOVUtsWVJ4SkVmaW8xZ20wQmNGUnQ3cE1BdVpGRDhLQndRbXdUQjR3bVZI?=
 =?utf-8?B?STdyWmhiQlc5UHR5U3Mva1Z3aTh4M0xOdHpEcUtkd2xFc0ZOK1o2cE02QTlK?=
 =?utf-8?B?WEt2bURVbTRPcnc0NUY2WVhkb09PSlpIUWthVjdaK1pITDVnKzNTaCtWMTla?=
 =?utf-8?B?S0ExSDJhZ293cHJ3ODJlMC9ReWNjUXZYZXN4T3NZb3BXM3hlYjVlYmJ5MWFs?=
 =?utf-8?B?VlAyamVUQWxDRzEyN09YaHZGZEhtZkdGaHIyeWozdm5DUUMxRkJrM0NhNFFJ?=
 =?utf-8?B?TXhCMWVHdTZ2bDVUb2hFZWpDMWwrRnZaUFBEelB0QVplUFZlNTVQUmhraXhD?=
 =?utf-8?B?cWVhYWxGdGZnOC9kMmFIZHNXOFc0aVdhOTIwUFRuSUNKUFBvazNoeW9MY0pu?=
 =?utf-8?B?V2hYYnRhRWwzSjJneVFHeTIzQXlmZXZXTzNwdDllbXNUMElNY2tybjdwWjla?=
 =?utf-8?B?ekNhQlBXSE15K0VIdU9UVzk0ZTJBKzRvaGo5TG5CT1hNemVibG9HbFVkT0ZC?=
 =?utf-8?B?bXBuMzh1Y2VkSEZDV1NuVTRYSGk0dEMvK3RGaUthRlVrdFJTYi9ORXJsSHEw?=
 =?utf-8?B?dEFHSElYQ2RVNXA1WWpHS1g1R3B5SVNoaXdsalF5ZE9IOHVRZ3BNY0ovQUxx?=
 =?utf-8?B?U1YrYmFTUFQ5dUxwMGx6dm9zQ0Q1NHBMODhGRWpyT0lWVitOM05rWUpkeTFK?=
 =?utf-8?B?bkp6aHYyVzA0QkpRRFk4Rmd1NjZ2QkJtTjVWekYzcDU4RmQ2elcyL2JqbzFZ?=
 =?utf-8?B?Q2RMMnZJSkF4VHVEbmh5emlrdkpqdkx0SWxpQlBhOGxKcEtBWjNxcmZydWN1?=
 =?utf-8?B?Z1E9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	qqODL6evQC/AxpG9Qw+5VR0KH6MRb/QssG6XI+906F4wzAU3zsrme+GZHPO4URjpVxoTooF1fwOLSiEFp6gCSoEDorjISRTp9i6aE1NHerWgNpkflf+kkos69b++GfezA43LVlcNNyLymj8K75dBSKrEm1h0ZzZoGIkDGOsArmD5FFZiRoN8DLWhhz1sqNyp2HVCAdvqXLS4Qn4941vUteFskJW2/oarEcISwlSgKhO+BDcZjCY9QtVmZ/5X1NmBoPMlGax+Ft0OuykHR6K5V0rJLUgeCdY5sfOT1zXv+6/smACiliGBGBiz4o9+2kb1J/kMaB/1RlnIbspx7S/meLy6JSy+EHpXoNLpQvr5dSfidLoGu4Nj8quSUYDnhQX1GZJmW8pe7HbRp0AR2CZiD+lPLIj2OwSYk6H92C3UlE0vPOS5UOhzhQtsL3Kanp/Yo3fB5+aRMqliZhpyY2vdhFVdQwHgT3bN/yPAuNQnMA9u8hAFs0VIRJgNNy52oaU7BTfRmLc1D1q4Cv1wIhdnnlbtvwroXIj1nrWpiZuJKmS/jigg6pPp+BlVSRExSEJ9b2CmWQADesEW3hnhxMd9e9XFqgv+Dut4w85sPUtz33fZh22D5340EhCBX8n/te4wvKgsJUk8rioTZjyAYx1Xv94WkW9MDSd3V8ofKbV5NMFn1BCrT81iKgxH2+7xfCoGX052WVbaaS6Ig3+wUH/xKYlNEQFCV4FQ1ffJ/uhZ2qxYye5HhPnO116a5sTEddsScnrjB9S0njJFP/U7HzsukCOVlGgVrCQIkKEIkAPTVbvTHEnpcLSVIDnSbxjbutMrxcBlVv2zyjLFwVESdtRjmQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 13ea71e2-0c4d-40cb-e757-08db31193277
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 12:20:49.6395
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tVrzJFrTtktB4xw2RLO0F71OfP3DEIGGDwEal96mvtjqyQt0jG+Yydc5PjyqxAwziGPS7Fud+pjJ66ZAvbkHHBatZ9YYxFqodNgh8QFeL1k=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR03MB5474

On 30/03/2023 12:24 pm, Jan Beulich wrote:
> These being local macros, the SHADOW prefix doesn't gain us much. What
> is more important to be aware of at use sites is that the supplied code
> is invoked for present entries only.
>
> While making the adjustment also properly use NULL for the 3rd argument
> at respective invocation sites.
>
> Requested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 12:32:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 12:32:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516697.801243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phrRm-000833-46; Thu, 30 Mar 2023 12:32:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516697.801243; Thu, 30 Mar 2023 12:32: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 1phrRm-00082w-1O; Thu, 30 Mar 2023 12:32:06 +0000
Received: by outflank-mailman (input) for mailman id 516697;
 Thu, 30 Mar 2023 12:32: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=oVKM=7W=citrix.com=prvs=44691dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phrRl-00082q-6S
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 12:32:05 +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 df2674d0-cef6-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 14:32:03 +0200 (CEST)
Received: from mail-bn1nam02lp2047.outbound.protection.outlook.com (HELO
 NAM02-BN1-obe.outbound.protection.outlook.com) ([104.47.51.47])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 08:31:59 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB7103.namprd03.prod.outlook.com (2603:10b6:a03:4e7::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 12:31:56 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6254.022; Thu, 30 Mar 2023
 12: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: df2674d0-cef6-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680179522;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=kZQ9SNMA2Pk37zcwa09V7HLcuuHpJQzjgyIPGp3eIIw=;
  b=A98PIwX3qgyIpFXqfgVWKw1NKfRgGolo22xf2Y6WvF57QG26GI1+8v5R
   mSjKfn2FFJMFWeA/TkhQeQLQ6ufuXGohMQBDvdFGQiP+5bo+id1/108+Q
   0aegFOJbO3v8dfqxCL4oYUlqyK6vw6dAt8DLDQVUTplAQ1lqab+4aTPdw
   c=;
X-IronPort-RemoteIP: 104.47.51.47
X-IronPort-MID: 103699424
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:aje4IaoyoekNrPtSdr8FA5ZzKkVeBmI6ZBIvgKrLsJaIsI4StFCzt
 garIBnTOPrYNjH3eYokYIy3pxgB7cCAyYJqGVdl+C43QX4U8puZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzCFNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXABocTgKAu+2U+paQUtlTu88SF/bXO5xK7xmMzRmBZRonabbqZv2QoPV+hXI3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3jeGrbIW9lt+iHK25mm6xo
 G7c8nu/KRYdLNGFkhKO8262h/+JliT+MG4XPOTgraA70QHJmgT/DjUOcn+8o9zjgHWgAdRgD
 RdM6w1/vfAtoRnDot7VGkfQTGS/lhwWVsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LRQ62
 1nMk973CDhHtLyOVWnb5rqStSm1OyUeMSkFfyBscOcey9zqoYV2hBSWSN9mSPSxloetRW62x
 C2Wpi8jgblVldQMy6iw4VHAhXSru4TNSQk2oA7QWwpJ8z9EWWJsXKTwgXCz0BqKBN/xooWp1
 JTcp/Wj0Q==
IronPort-HdrOrdr: A9a23:afC3uaOKsX6pJ8BcTvKjsMiBIKoaSvp037B87TEJdfU1SL38qy
 jN9M5w6faQslsssR4b9exoVJPufZq+z+8W3WByB9eftVLdyQ2VxehZhOOI/9SHIUPDH4VmpM
 RdmsZFaeEZojJB/L7HCKXTKadF/DEnmprY4tvj8w==
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103699424"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=APz5MwRm+HOF0z1iyDxL71aUvCwMUVStVyZropj/Z+PWLh6jAuA2lqFXWALGwuDFeFdwK9uHYSOZC3+VPqpF1BlVszb41IzPL9rgIWHeQz8EaKRtYj7Pf4qpIEl2gl3q31su0k4XkdGhy+RKuPJVORSL/XM31UhSTg19KpiD+cML7vb3obowPDZtF2iTwt+439VM3AJLPyw1KpnMlppjfUw0OOMUT00rJy3C7N4FwJJTotFdDI+677oTUWwZ8vB0e3xF3SbKZXy6t0WbmTpJ6dqHw1203Cods6ekMXXaQhPkkwtOrGJr6qLq1rtOVQaszqzJs4acCzOidPe0k2rq3w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QTizeSJO+9kOn1+n68Y6N1srWTuUSBn9DfwkGrvQPng=;
 b=ZquVZie8KASDhCz4djdTbzcIJ/9sdP8uxMstGUTTwVzK7rD/DjMaJM57l5rDXv64DUFy/l1Uig914zDWpXexFsosyhUkHcvTmi2kUf4AnG96FADB9H58o03GVBD25TmAdEZGRm48qv9ZlLIu8FfEO6whFFx10s2n7HDRPLdRgB5iArmh/DJU01HqaQl3n24nh01XeTtkFV3h3sYn6pJR6CPhYfBSakCoTmxKBCS0wcwU+9hdBflIYwETMtc9CweGkMue8SyliAr+7pKCRbsWTq8Uj9WMUsWdJbx2ximlrKtESA3UmqU2IhED/SgG4xcN51bJjcQQq/3MxeKXmElNFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=QTizeSJO+9kOn1+n68Y6N1srWTuUSBn9DfwkGrvQPng=;
 b=THLLQyHKkWQjDw0s6QskTLIq5ElRmWOUEkRGi3STIAGV1hJxlIdpbjnPUVyZ41gQBRlEKHl9cA0DBy8oUM7ivSPgNEwTp8Mzed7CXEU4Pu3hNxiXEk80LsVWDaFylQpmgYWJmsBOBQf+gbgnHfyNGShR6xxplwasJ4U9MrglRH0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <cbacbc0b-60a0-35ea-c813-e4d620f6406c@citrix.com>
Date: Thu, 30 Mar 2023 13:31:51 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 9/9] RFC: Everything else
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-10-andrew.cooper3@citrix.com>
 <758615c4-bee6-32fd-0475-0c3c3bb7debe@suse.com>
 <8b368b4d-8a10-eb82-f7cb-d20e406ed285@citrix.com>
 <7cc9be8c-5628-1d19-077b-a70472c9095d@suse.com>
In-Reply-To: <7cc9be8c-5628-1d19-077b-a70472c9095d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P302CA0008.GBRP302.PROD.OUTLOOK.COM
 (2603:10a6:600:2c2::16) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB7103:EE_
X-MS-Office365-Filtering-Correlation-Id: be106e83-2a44-4bab-7e38-08db311abfbb
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yphUDpRAIcKz8jglE9blxPwd/UyLVTIkfVRDfLhgPRnEg23jJyy2fn0BeQ5VfO/Dj6HT7au6nGXAVz5JeYpKYew/vGed0Iw5OudQgRwkczIZoxonNcywfZJ1ebtGg9Go128SWAGgkhcKcCna9I0q8iWmjw5wt+l4jRK7zjDay2hCXGU6ay+I96+Sw+KtKmm8t59TaBpAYjdDEWWZ2nRSgHO9oyJaPW2BCQYE4yxZ0ghXqLv9w/IWmbAvwGSXYqIB6sumEyCdvtyaU5T7Y12yWeY7WmBjjWoHEBL8W0mrVAFyib3LOo7jwrrAok3vh8nCw6N+uRtt/1KUgn4+yoXsPLkxoqXTFKQMuphXveJSyK9DPK5QaUvTXxGbc3NB/6ner6bhK3gQCZOi/qbSTErgLWdLWq+eVAAygtjcGC6sQRAv2rZmGiV7n22CSnd0QEyzPYM4qzEhj+Zgun0kbdsOKlGKqt7+0WGQsKBqrrom8N7uT65mNGq1qVmdAtdoTxWsfvTI6cutqU+UalK4WjqPg5BSeBK5wr7QHyZXbIDfYwKudsMIgG8Kxjue5Rje7dqgeyI6AgEpGaX9xW8yu4FD4cEAJRijNEEcrTSJzPtWKcX/aR7Udm45WTzK5ghHFlbsuIwrL6siDoiHnUmO0WjXCA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(366004)(346002)(376002)(136003)(396003)(451199021)(38100700002)(36756003)(31696002)(86362001)(6666004)(8936002)(83380400001)(2616005)(41300700001)(478600001)(5660300002)(186003)(316002)(4326008)(8676002)(66556008)(53546011)(6506007)(66476007)(6916009)(6512007)(66946007)(54906003)(31686004)(26005)(82960400001)(2906002)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enBEaFRTNzVIVVJKaVN1N09mRWtuYVRWTWNjcHJxN3VEZmhBTWVKeHZSbjV3?=
 =?utf-8?B?OUVLanlKUCszN2JTVGd4dmdEUG0xb3RPbFZpMFlwVTNJZHc2UldGU01BNFJ4?=
 =?utf-8?B?VXRuZTFWZ3ptNGNLRjRvSFE5cWNNaHNrQ0tUeEJDc0krL0NEbjYzWFBtYnZK?=
 =?utf-8?B?Mkw5MnVDckNmd2NVakQvbG15TTZmYlRiUkFDbnpKRGIvcEk1SmJ2cmNCUHc4?=
 =?utf-8?B?dUlBWlQrUkxFbmhDVGI3L21UNkZBQzY4alRlRXdKNTNkRHhkTHhZYVlFNXp0?=
 =?utf-8?B?ell3WjNZWC9TZ1pXUkVyUW13RjVyMmFvYVFCUXIzRjBKOVJ0cG5EMG5nZWtk?=
 =?utf-8?B?Y3dzL1IvRkt4dXFOYXRPQlM4TUQ3RGZJZXlSWnFxM3ZyekFCcGVGWjBONnhD?=
 =?utf-8?B?UXhCVGhIY1RCNC8yVnkraWdmMzVsVEpVN3V1RjdhcWlkbEpUOXFHSGlTOEY1?=
 =?utf-8?B?U1JvMitycWxRVGpIaFRvdFNqaVA1WUY4M1VXOWRwdEpBNUhQalZaZ1p5eTcv?=
 =?utf-8?B?dTNBODFEdVB0ZVZQcWhmbm9wb1UxUnRrLzBueDEzQzF6OE45NHliQWh2ZXRl?=
 =?utf-8?B?UGxhcytWRis1Um0raFpnWktpZ1JmQnJkYkZuUjB3VjlaajI2RGVrV2EzQmc1?=
 =?utf-8?B?Tk1yYjRRSDd2Z2xCbXlucGdkZS9VUTdXZ3NvUGR2T0dZMTlZTWZhVGJIdEFF?=
 =?utf-8?B?Z1Vma1JuN1pmRjVVQVExVWRnNTZOcXFORU9WSHI5cCtPaEtac3pkL0lkZVcv?=
 =?utf-8?B?UnpuVDJ6VlpsaXFRNzhLNFpGM203Ynp2cG5tNXBIamRRYkNJVGRnc1pzdkw2?=
 =?utf-8?B?TVZyaFdndWhmM2tHN0wxbVZMNnR6OFBGeTZCZnF1RWJ1c0dWQ2NqY25HZGdQ?=
 =?utf-8?B?dnVQYWtqSmV4Nm5vK3NEYyt0R1QxQVNud1pTYWVpeGhOemJuUXJHWWJNS2ZO?=
 =?utf-8?B?YVUwV2xXZ0RmQWhaUTF3OGJSWDdtQUZoenZEb0c3dEFmbWl2QVB4UGNqNDdo?=
 =?utf-8?B?UlhDYkFsd2x4a1hYNjJHb0RNa3dxUm02cHRhcUk5VnUzSUp5THVWWVJ0RjJ4?=
 =?utf-8?B?MlNreW5jdW5jMDJVMllMcVZPekFNd2dxaUM1TlZ3bno4d1FCWTgzbHQwNFRv?=
 =?utf-8?B?d0lEOW4rQUJxZEQ2UXhKODZ2bzUrODEvNHIzSUxoWjNPRkg0Z3YvRGFRdkVI?=
 =?utf-8?B?cURRT20wVVV2WWx3L1A5RDd4bmFqUmhZZkthZjl4Z2UycWdRd2JwajZSTGF0?=
 =?utf-8?B?dUdQRVdHeFBYMFRDc2xLVUlpYUpOUm5Iejk3L0VXSVBLQ3gvTnRBL0NvT0RD?=
 =?utf-8?B?dFpwRDVTUm5mN0NiWEg5T3gzangzT2FrWHBqVzltN0tWZUNJSlErUUREMmNP?=
 =?utf-8?B?aGxyZ0pXUTZXVnRCeFhRS3NTRHNXNUNjOENkR1dqdVZNaytpc24yMjEzZXI2?=
 =?utf-8?B?eHlnUUtvNGpYZXdqamtqbXhsUGVSWVFnYUNoSjk2MGlsekNMOVU1MXlBY3NB?=
 =?utf-8?B?dG1uUERwR29vazZzWStiZkZRSkUzOUd2eXdEclQxZ0hENG8yN05HU1hlM3Iy?=
 =?utf-8?B?b2tNV1VmZDdNbFZOU2JPOEVhN2tlWmp0bzFOV2lKdnF4dVNkeUxpWi9BK0FL?=
 =?utf-8?B?WkxxRjAvV2lUT2hqUWtaVzR2NlRJdVk5amgzRnZ6Ny9KY0U4NE9VbnZPMndH?=
 =?utf-8?B?Y1VSNGNaZlA4Mlp3MmlsVXQ5NjZHYVRuYVUzdUpteWhWelZSM21XRXhrbFdq?=
 =?utf-8?B?TDZld1ZwQ1M2QWM0MEtqb3Z2aTR2SjZEZTFHME9VMTFTTlc3THNCUEZoRmFS?=
 =?utf-8?B?WDl1WnpOK20zbHF4K3J6Q1JNakY1V3E4bXd0c2tJOTduVEZtUEsxa0VGUmdG?=
 =?utf-8?B?NEdHMm1yMnBaNzlCZFhISXdseW00RHlQdzZyeHJoYjJ6ZUtyR0Ewblc4Nnoz?=
 =?utf-8?B?SFZDOWNkYk91UGoxRm9MbnJydTVLZnVhMEtpVUtrdStUSUZxTXpBdUlCYWt1?=
 =?utf-8?B?ZkVwMVB0TTA2N0tZVi91azh4bVdsbUZpMmFwRHRYZFVTU3hjUDNqM2RLbnZa?=
 =?utf-8?B?SnFZRnhacHpoeFpMM3hOb240WXRrNWRxYkd0aSsydHliSk05WVR4ell6KzVm?=
 =?utf-8?B?UEh0bDdadXdoYWQ1YzZBS2RCNW9Ja1FvZGx2QiswbHg1WW43aHczeXpvYkRV?=
 =?utf-8?B?ZXc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	GLH+DcmAACmw/XrJYZOZ7ItBAeSqnFnYmOWkxqI+Nz5bKhBMlmZPWQA4omAIIBVrUepruidobzH1exqTIc5YsGhs3qCobWaYsMguj0s8aY+mkSiTc0OfJqjWfiOJ8Jole+OGlglUFdaacNnSSYmkKX5LcOzBwyOaIUksh5Hr//5L4ffCDj5SfzQMr0tPF7buc9OTfY4WWv7hvtW95qAPD1PcGyV7T7D4kAcKmrEnI2KzQTOJJrLPMlmHSIf5qUOz1zkqcyExrefMV7NICQGyENlzSjciBxkhUwByqGi8A+VqE8e0iQ58O2zEaymXuR8H8Yiy7LPZwuG0RCLLlzdQ3qEmGOdtGuFfEIt8fYGpgHYuHbk0DkAFeh2jLTEqg0/NbZc60TG7Sz9VBDJFIKPrmwpjGK0qydyP0SYVdJS7I6qQf3T4XdbkoF7rguO7rKgWSib13nw92ORlk2ajXT8PgeJARH9Bs3i8WSoobBRrtxZiVF9WIj6TilqUofDltraz1IB8AWNbC7eHogzFyRO8u5a9jFQLAMqfOPSeV+/C1Jb1+Rt28KqVw4osWOCMwzjBPre16S7pg8Nf7b0pXAQbdItBJLdCxAoAv2eAcPGQQ3zRsZwccUbQgfNSto2yi1kaMWV48cc8yk3ZUYu08fUAHLH1kF8/v8SVOMVsiyW5L77qW6Bis9DOOFfQHCd/mRzxEOzF/9Loi+yTcirDo4AX6K7wjwB04RaAvKDY/7TnvNXsCY8COUzZ9lcTk+JIBGtA73+FJPK+Q/YvF8NAC3SKPJyazn5zP0ROQ8n/uA8KS43uCcp9QehJG5dVapphXRcN1EjTJ0LZVDGPtcahuo7zAA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: be106e83-2a44-4bab-7e38-08db311abfbb
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 12:31:56.1988
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: M6iYRcYWDON5KqIB6wUCdTv4xMJi1z1UKtm2VTcYBTGMo7frqh0+bBRShOVUmJ1AAEKzsWfkkLe77oMcN3tCFreaiuQmQPQ1TWMdTfh191g=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB7103

On 30/03/2023 1:06 pm, Jan Beulich wrote:
> On 30.03.2023 14:01, Andrew Cooper wrote:
>> On 30/03/2023 11:16 am, Jan Beulich wrote:
>>>> --- a/tools/fuzz/x86_instruction_emulator/fuzz-emul.c
>>>> +++ b/tools/fuzz/x86_instruction_emulator/fuzz-emul.c
>>>> @@ -893,7 +893,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data_p, size_t size)
>>>>      struct x86_emulate_ctxt ctxt = {
>>>>          .data = &state,
>>>>          .regs = &input.regs,
>>>> -        .cpuid = &cp,
>>>> +        .cpu_policy = &cp,
>>> ... this and ...
>>>
>>>> --- a/tools/tests/x86_emulator/test_x86_emulator.c
>>>> +++ b/tools/tests/x86_emulator/test_x86_emulator.c
>>>> @@ -909,7 +909,7 @@ int main(int argc, char **argv)
>>>>  
>>>>      ctxt.regs = &regs;
>>>>      ctxt.force_writeback = 0;
>>>> -    ctxt.cpuid     = &cp;
>>>> +    ctxt.cpu_policy = &cp;
>>> ... this imo want keeping as you have it here.
>> Ok, so that's a firm "switch to using cpu_policy for emul_ctxt" then.
>>
>> Which is fine - in fact it's one I'd already started splitting out of
>> this patch.
> Hmm, wait - CPUID "basic" and "feat" and alike uses I still would prefer
> to see using "cpuid". It's really only such initializers which (imo
> even logically) want to use the name with the wider coverage.

So its the other way around and you're saying you don't want the field
name to change, and you don't want to see

-#define vcpu_has_fpu()         (ctxt->cpuid->basic.fpu)
+#define vcpu_has_fpu()         (ctxt->cpu_policy->basic.fpu)

in the resulting diff ?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 12:54:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 12:54:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516702.801253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phrnG-0002E5-1z; Thu, 30 Mar 2023 12:54:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516702.801253; Thu, 30 Mar 2023 12:54:18 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phrnF-0002Dy-UZ; Thu, 30 Mar 2023 12:54:17 +0000
Received: by outflank-mailman (input) for mailman id 516702;
 Thu, 30 Mar 2023 12: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=tzUU=7W=citrix.com=prvs=446aa7e4f=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1phrnE-0002Ds-Ba
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 12:54:16 +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 f770c9e4-cef9-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 14:54:13 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f770c9e4-cef9-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680180852;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=zFVWl6FHEqhOUvgAIvCkLHmwVEt/WkNWTO6CEDMa4UU=;
  b=RgTqQJQR/plJqWoWkViolA00OOvRghAN4QJMQnFOf03whCYJoUbUccHA
   ziEnLrbA7x1vVhZEVTXFbHgxg6Qfz5UBpIxVI9ZJ+dAEkFIIIaHnDsaFy
   15f21H5cSUT32mEHSgn8pkSdthT3YlZ0pgef+jI9gN8XvnLbw29hmukeb
   s=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103702062
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:blYcU6xJU+HUzXxAaJx6t+cpwSrEfRIJ4+MujC+fZmUNrF6WrkUPm
 2BODWCFPf/fMWKnLookOYqw8UgPsJCBzNNlSVdtqyAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlPqgT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KXEe9
 qBbAhc3Uheoo+2WxZ7hddA8me12eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKZOUYn1lQ/UfrSmM+hgGX/dDtJ7kqYv6Mt70DYzRBr0airO93QEjCPbZwNxRnA/
 DqYpQwVBDkaM922zReP7kv3i+HfsQfAZK1KBpCBo6sCbFq7mTVIVUx+uUGAieK5h0iiVsN3J
 Ekd+y5opq83nGSyQ9zgGhG1vnOAlhgbXdVWDqs98g7l4q/d+Q2UAi4NVjBMbNYvqcoeSjkj1
 1vPlNTsbRR3urqTW3Ob95+OoD+yMDRTJmgHDQcIUg4ay9DmqZM0iFTESZB+E8adjsXyBCrrw
 jaitiU3jKkUlogMzarT1VnamT+op5XPZgco/AjTBTjj6A5lDKaoa5Gh81TcxfZJJoWeVUXHu
 nUY8+CG5f0KJYGAkmqKWuplNKGk4bOJPSPRhXZrHoI97HK99ni7Z4dS7TpiYkBzPa4sfCT1S
 FXetQNY+NlYO37CRbRsf4u7BsAuzK7hPdfoTPbZapxJeJcZXBWG9yFnf0LW323rnEU2iqY5E
 ZOad8+2CjAdE6sP5CK2RuMY3ZcvxyY332SVQor0pzyty7GeeXWWW58MN1/IZec8hIuNuAjP+
 sxTH9eLwR5YFub5Z0HqHZU7dA5QayJhXNav9pIRL7TYSuZ7JI0/I++Bwu9iUatfo6N+sujo+
 13nZXYI13Oq0BUrNj62hmBfhKLHBMgg/CNrbXBwbT5EyFB4P9/xsf53m48fOOB+qbc9laMco
 +wtIZ3oPxhZdtjQF93xh7HZpZcqShmkjBnm08GNMGlmJM4Iq+AkF7bZkurTGMomVHDfWTMW+
 eHI6+8iacNrq/5eJMjXcumz6Fi6oGIQnul/N2ORfIkLIRywrtc0e3Kv5hPSHy3qAU+brtd9/
 1j+PPvljbOV/99dHCfh3shoULtF48MhRxEHTgE3HJ69NDXA/3rL/LKspN2gJGiHPEutofXKW
 Amg562kWBHxtAoQ4tUU/ncC5f5W2uYDUJcAlFo8RCiQNwv1Yl6iS1HftfRyWmR27ucxkWOLt
 oino7G25Z3h1BvZLWMs
IronPort-HdrOrdr: A9a23:ZRgbaaBIfugAqaflHemO55DYdb4zR+YMi2TDtnoBLCC9F/bz+v
 xG88526faZslkssQgb6Le90cq7MBHhHPxOgbX5VI3KNDUO3lHHEGgI1/qA/9SPIUzDH9lmpM
 NdmvhFY+EY1WIK9/oSOjPIa+rIHeP3lpxAWd2utEuFkzsaFp2JgG9Ce3+mLnE=
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103702062"
Date: Thu, 30 Mar 2023 13:54:05 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Bernhard Beschow <shentey@gmail.com>
CC: <qemu-devel@nongnu.org>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>, David Woodhouse <dwmw@amazon.co.uk>,
	=?iso-8859-1?Q?Herv=E9?= Poussineau <hpoussin@reactos.org>, Aurelien Jarno
	<aurelien@aurel32.net>, Eduardo Habkost <eduardo@habkost.net>, Paul Durrant
	<paul@xen.org>, <xen-devel@lists.xenproject.org>, "Michael S. Tsirkin"
	<mst@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, Richard
 Henderson <richard.henderson@linaro.org>, Philippe
 =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, Chuck Zmudzinski
	<brchuckz@aol.com>
Subject: Re: [PATCH v3 1/6] include/hw/xen/xen: Rename xen_piix3_set_irq() to
 xen_intx_set_irq()
Message-ID: <b380f2c5-4f56-4713-b372-91d54114aa4e@perard>
References: <20230312120221.99183-1-shentey@gmail.com>
 <20230312120221.99183-2-shentey@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230312120221.99183-2-shentey@gmail.com>

On Sun, Mar 12, 2023 at 01:02:16PM +0100, Bernhard Beschow wrote:
> xen_piix3_set_irq() isn't PIIX specific: PIIX is a single PCI device
> while xen_piix3_set_irq() maps multiple PCI devices to their respective
> IRQs, which is board-specific. Rename xen_piix3_set_irq() to communicate
> this.
> 
> Also rename XEN_PIIX_NUM_PIRQS to XEN_IOAPIC_NUM_PIRQS since the Xen's
> IOAPIC rather than PIIX has this many interrupt routes.
> 
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 12:55:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 12:55:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516705.801263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phroG-0002lH-AT; Thu, 30 Mar 2023 12:55:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516705.801263; Thu, 30 Mar 2023 12: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 1phroG-0002lA-7H; Thu, 30 Mar 2023 12:55:20 +0000
Received: by outflank-mailman (input) for mailman id 516705;
 Thu, 30 Mar 2023 12:55: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phroE-0002kt-Iw
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 12:55:18 +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 1ed363c0-cefa-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 14:55:17 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by AS8PR04MB9078.eurprd04.prod.outlook.com (2603:10a6:20b:445::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Thu, 30 Mar
 2023 12:55:15 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 12: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: 1ed363c0-cefa-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UuZQxNYSFDZiuZTliIKlC/bBSsTNfOxJ+toUZfUkU6Y6kj1Fd4S3fHbcruVt2Pd7FOWzruBRiddNqVEJoyprtpOtMvyBOks6i2Vkm+dfYxccXy2Oq1INf4B8Vfwhz8VlzxogIFPRCtyMraJZNvz+jIYZ3iZ4RVBpLjVXP/jRTvtvSGPU7In89lINa1u9RRWx7m0BbdbBuJBSy3Pu8Wae54cJfIhMoJKKAWepCldi1WV0AGD90s0lhb6YH6Rmpb4MLLPcxo62WXs6f5s6vKZvf0IjGYk5shCAmN2O42BL/8iZfzZqqegKawpfxAnM03fsNqUwgi6ceClNPCs7fQYKDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NhFPt1TfXePXaRLUkYIb6ATg8B5TONBPN2u8BQmW2xM=;
 b=XYwDYtzf2P2wQ7Fv7RpEiiycoqH/WLkilaT030LTPm1n8+eO+m3C/MsBvOUgBBOGvQUNNG2tYCcJ8SFWVQbpNius0wf6tmUFtPSKzO4LsT0GKc5jmw6DMK4QS8WD9ffERQ51kZXKPDKWjrQ3wffWph9Hba0XgrNuov7k9rElrgnOvIps1UT2klHAOWgRsDvGBCFUdhlhB9vyH3UqL2yXvkBYAK18ajuSZJUmJYRX9T29Xuj/tr3ZwuZcluCTfz2VTut9irbdOmQQsD12BwXIzwXtyGeJ/RuOIOtJqdQEP5UCeQG+TXc71ZA1JNl74Pr4W9NQJyXlPzkQbd7QNc//Kg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=NhFPt1TfXePXaRLUkYIb6ATg8B5TONBPN2u8BQmW2xM=;
 b=o854zPCQNuVEHCWik1JnGCXkXeW0RMqq2U+200nLoFlRYSfab48NepfIiueC3QRXIaHCHL0EZO0WtXrEyrdrHx7BZvmp8dgHvEZ30t5nYlWV4k1NjcArzDsLJYDH4/Hg/P4d08hQsccNH2N2uc7nKe8X9tcAYHhxr2mlJaa7SMqNo3GMrzKkQ0ACF4fmZ2/2ltP5aAi+5x8hnBjQLM0NvJ3RGase4OzP1fVvDBUc/dCXpsa1gkIL7QZRWaYIJyqmiwmojlOYgDuvXh6+N/jPSa9VYhyVqWl27cvGCdsvmhoFgEoJjnShwe2hiicGKb0yGR9C+cC+jpFRXx6OJccy3w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <77067988-9389-87b5-22e7-398a37bef1ef@suse.com>
Date: Thu, 30 Mar 2023 14:55:13 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 9/9] RFC: Everything else
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <20230329205137.323253-10-andrew.cooper3@citrix.com>
 <758615c4-bee6-32fd-0475-0c3c3bb7debe@suse.com>
 <8b368b4d-8a10-eb82-f7cb-d20e406ed285@citrix.com>
 <7cc9be8c-5628-1d19-077b-a70472c9095d@suse.com>
 <cbacbc0b-60a0-35ea-c813-e4d620f6406c@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cbacbc0b-60a0-35ea-c813-e4d620f6406c@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0018.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::28) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|AS8PR04MB9078:EE_
X-MS-Office365-Filtering-Correlation-Id: d757279d-c4cf-4c98-285e-08db311e016f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CMtZyacJsvygumASCJPHOxN+kwBw6wD/nH8ORFddx1Satf/9YWnoTPKGjYg7Nqtt3258p0iZwmawCHu1981qaqmcMGP3xkGphADCE9+NLYsF9vANxLuAk6PRTUe/ZJlUdp0me58KUeLqFdK51FcovyOnbV1OEXTExlxedUlWu/VOg5MphYMNxPP1Ct5nhbnA0aLvE2ybAI4eKic41PrUOK3hQVh2TnCyvx1AejDsnVdRMRveJD2F+LvAtXUg+tzLVz5LkWSNOHgHhiSVBTCydECIEn+Z3n1T88k0sA8mMadurhj8h02yfmDB1VeT98u9CK/MLmDBq1AD79kgrRHhWfGKvL7B1lCGPjnEYnMQCGVdPKD8lwvyjh8ZX4fARF0yMd3gwemifU6uJKdOF8V7rzB+ADIJTkwtAdQbsGpGdN5adoMfb8Dw7TBK0hu1TVu9y6k5bxhZFOnOnBnYE1850uD65WNFODVRdw9scxgB/iFS+XB6g7rYVzk5cfpX53ksdPZcpk6xSvziTBDA7M6u5QyNuHPnlNnTAtWkgsl/f+nzKGIbu4CQSIieNPmr8dv1fcQ5Sg+ugVK8KNIVEOd6asUxWQIucrR8nZpHzRH0e9lkoZ6DoDTyhClWzZSjN1cz5eVnI5fQWuxbizzXIgGgbA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(39860400002)(376002)(136003)(346002)(366004)(451199021)(2906002)(6512007)(316002)(53546011)(6506007)(26005)(8936002)(186003)(66476007)(6916009)(66556008)(4326008)(66946007)(8676002)(54906003)(83380400001)(2616005)(478600001)(5660300002)(41300700001)(6486002)(38100700002)(86362001)(36756003)(31696002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U1ozK0tXSmk5WnFvUWUwQmh5UVc2b3BHNjRQbzFWdDEvQTU2Z3VuZGNZeFdi?=
 =?utf-8?B?QjhRdkZSY0FRNGx0WThFaDlDVTBGVkljNWZHYlN0ZVUzSTRSYnprZkp4eThp?=
 =?utf-8?B?N0dzTWoxVUJiemFBd2E4eE5ZRkFBM0pqNzNrc0NQTm5CanoyakNoeUhBTGo1?=
 =?utf-8?B?dmlNOTZMNklkWFBzME90ODhGVno1bVFGSTFtMGw5MjA5NTRhck91Q0llUUVl?=
 =?utf-8?B?Si9HQkxwNWFoMHN5cmh5SW85dmQ3dzRoZ1pXakdnQ2U3K05ZM09XRnozUEdw?=
 =?utf-8?B?REVmYUp3cG8xUFMveW94OEFWdVhWWUkwS21vZ0djOFJETzAzd3BNdTljRUgw?=
 =?utf-8?B?Z3JpdEYyUEY2RS9hNC9ibU9IR1J5aTQzcUhWdm5KcytiV3JSN3ZKREMrRWRi?=
 =?utf-8?B?enE3M1h5VjNqVlVsNDQxOWp3SWU5eVZTaFNrYy9ySnNOanZOQkxoNEQzc2hH?=
 =?utf-8?B?WURLK1VFR2lMQmVWUWxnUTJMMjkzNzczVFVuR0FWdkQvZUloUWNVd2hqM0FK?=
 =?utf-8?B?aE9jTmVubXRjVU56ck9GZVNBSEJ4eHVvNVdwVlFCN3JEK3hyQ2s2Zld6MW84?=
 =?utf-8?B?QzlUWjZtVXIxWTlqKzhMcnVJTEVEcWlPbWFIcHo0VVowek9pa0FxL2VVd25J?=
 =?utf-8?B?cnI3VjlOTzlKZUNKcm5iOTdoUi9mcjBGK2d6Vlg2NEFJeGhXMVBVQllRUWNp?=
 =?utf-8?B?UlByQ3gwRXZlRC8yRFJodTA4ZW1iYjBhQ1lsd2dTUHJXVUxpYUpVNGRFR0d5?=
 =?utf-8?B?MVYvNmRTbmhFd2lLeVJYUC9rZHhZUVBKS1pLOWVTSXdnTVF3Ukh2alB1WFhm?=
 =?utf-8?B?ekkvRE1pNlBKWlRGcUlqZ2FSZWdSZjB4cklna1B3aWRBZ21PK2hYQmtnMWht?=
 =?utf-8?B?K1M5dlEyNGp6ZFB4WStPQ3pnaWJMUVZLWFBWSjlkcFlQOEk2S3Z3L3RWYTk3?=
 =?utf-8?B?T3dtaXpZQTJwVUYwc0s1Y3JoSzVpazhnemMxWi82cjBGYlNVM1Roa1F0Rzl5?=
 =?utf-8?B?Vm1LYXJJdzdobFVtYWphZUVFeGx3dWg5NGp6d3RrVnNlRXFtL0Y3ZG9yM0I4?=
 =?utf-8?B?NGpFaVZuVG1XRng1d1J1UDArTjU3Slg4bC9hdFZMdUFvSlVqRXdmb2tsVVU0?=
 =?utf-8?B?bmZDbHZDTTBRSGdBM3NNNVd6UTJsV2ZMS0hQQ25QNjcxYXlhSW5vTU5iRVlw?=
 =?utf-8?B?YXhsYnVjalA3eGFDaGtqOWd5Vm8xMFhLK2tCVW5uZDA2R000KzFJMlRxakR3?=
 =?utf-8?B?VHVRVlE1NzJoVzlkVkhNQU5remd4T0tzR3laU21KcTRmUzRLMCtobXN0L2hq?=
 =?utf-8?B?aVdMK2tPZDdIMithTzIvM0hIUUo5WGZGMGtrbkttaEg1Q09XRFlDRFE0eGpO?=
 =?utf-8?B?WjhJODliVFArMGhGRjdxYTYzRVBidHNrOGFBRnNGQXBDaEFWaklpVGZ1Wmhk?=
 =?utf-8?B?VDlpUXJlZldRV0RHTHk1b25IN3BRVlRNZFdPZ3NHUlphMUUrV3V0Z0RBLzVs?=
 =?utf-8?B?Ry8vU3JjU0JiSFI4SEs0dEZNMnYwQmdOR29Ob3RSdU5WRHNueFRjY29rZDMr?=
 =?utf-8?B?UHJ2QnRpWE5lTjBUM0xJN2NGT2FFNGo0a2pRVjRLY1JUTzhmZW5ZR2YwZTR2?=
 =?utf-8?B?K2NrbVdtTjBkR0pPbFVDUUw5M2ZScGQ0UHBScVNNZk83NmZUMGxYS0psSG9H?=
 =?utf-8?B?Q2N6UjFmQWpYZllVTXFISnlDS1FrcHJFUjh3UGtGWXlET2pyNWtLNkFCSHVB?=
 =?utf-8?B?WnhxTGhCUHV6c1FZeXJ2OWJoS0EvdXRqS041Z2J1ZFFmdGRzQ1FrOTJkK2Ra?=
 =?utf-8?B?SWZaVlBjekJkQVFNYkZFemZTdTVCam9uS3BKdWFXUjB2MytWN3B6Rk9FYkV6?=
 =?utf-8?B?MjBGU3ZGbFVJMkNhay93NDdpbnFHQUdZQVZlZFN6a3IxejlFa0RwTWJCK2R0?=
 =?utf-8?B?RDJQT2kvRHhQL3FVUk9KK3d5U2ZlN01JTVEvRTlrUmNaamdTVHlhdlR1b0VR?=
 =?utf-8?B?aFlVOWloRDk5NnFDbEV3YThTckRIaTkwSE1qZWszdW4zK1NRdUtCKzFJZEZ5?=
 =?utf-8?B?KzRFdG04V2MweDBic3YxekVJV0NZa280QlIrc1VVZ2RMaWdRa0VmY1JOTWhU?=
 =?utf-8?Q?iGAF+6qwG82SXjeiKislU8KC+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d757279d-c4cf-4c98-285e-08db311e016f
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 12:55:14.7355
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rwjDHuMNfYEAyamlGqX6ssfyb/us12pHbc88GMvEk5Gjm0i5tA8xggFlwpvSqS8+vJOrgFx8kt5fACXN3WxxlA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9078

On 30.03.2023 14:31, Andrew Cooper wrote:
> On 30/03/2023 1:06 pm, Jan Beulich wrote:
>> On 30.03.2023 14:01, Andrew Cooper wrote:
>>> On 30/03/2023 11:16 am, Jan Beulich wrote:
>>>>> --- a/tools/fuzz/x86_instruction_emulator/fuzz-emul.c
>>>>> +++ b/tools/fuzz/x86_instruction_emulator/fuzz-emul.c
>>>>> @@ -893,7 +893,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data_p, size_t size)
>>>>>      struct x86_emulate_ctxt ctxt = {
>>>>>          .data = &state,
>>>>>          .regs = &input.regs,
>>>>> -        .cpuid = &cp,
>>>>> +        .cpu_policy = &cp,
>>>> ... this and ...
>>>>
>>>>> --- a/tools/tests/x86_emulator/test_x86_emulator.c
>>>>> +++ b/tools/tests/x86_emulator/test_x86_emulator.c
>>>>> @@ -909,7 +909,7 @@ int main(int argc, char **argv)
>>>>>  
>>>>>      ctxt.regs = &regs;
>>>>>      ctxt.force_writeback = 0;
>>>>> -    ctxt.cpuid     = &cp;
>>>>> +    ctxt.cpu_policy = &cp;
>>>> ... this imo want keeping as you have it here.
>>> Ok, so that's a firm "switch to using cpu_policy for emul_ctxt" then.
>>>
>>> Which is fine - in fact it's one I'd already started splitting out of
>>> this patch.
>> Hmm, wait - CPUID "basic" and "feat" and alike uses I still would prefer
>> to see using "cpuid". It's really only such initializers which (imo
>> even logically) want to use the name with the wider coverage.
> 
> So its the other way around and you're saying you don't want the field
> name to change, and you don't want to see
> 
> -#define vcpu_has_fpu()         (ctxt->cpuid->basic.fpu)
> +#define vcpu_has_fpu()         (ctxt->cpu_policy->basic.fpu)
> 
> in the resulting diff ?

Neither. I want the change as seen in the diff further up, but indeed
I'd prefer if the two quoted diff lines in your most recent reply
weren't there. This would again be by way of using a union, this time
in struct x86_emulate_ctxt:

    /* CPU Policy for the domain. */
    union {
        const struct cpu_policy *cpuid;
        const struct cpu_policy *cpu_policy;
    };

Having said that: I realize that this is against what C mandates for
the use of unions, but since we (ab)use unions in similar ways in many
other places, I don't think we need to be concerned. Furthermore this
specific use could, aiui, be "legalized" by making the declaration

    /* CPU Policy for the domain. */
    union {
        struct {
            const struct cpu_policy *cpuid;
        };
        struct {
            const struct cpu_policy *cpu_policy;
        };
    };

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 13:00:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 13:00:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516709.801273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phrsi-0003QE-RL; Thu, 30 Mar 2023 12:59:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516709.801273; Thu, 30 Mar 2023 12:59:56 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phrsi-0003Q7-Ns; Thu, 30 Mar 2023 12:59:56 +0000
Received: by outflank-mailman (input) for mailman id 516709;
 Thu, 30 Mar 2023 12: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=oVKM=7W=citrix.com=prvs=44691dd15=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1phrsh-0003Q1-Ok
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 12:59:55 +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 c22beb4e-cefa-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 14:59:53 +0200 (CEST)
Received: from mail-bn8nam12lp2171.outbound.protection.outlook.com (HELO
 NAM12-BN8-obe.outbound.protection.outlook.com) ([104.47.55.171])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 08:59:45 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by SJ0PR03MB6327.namprd03.prod.outlook.com (2603:10b6:a03:399::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.28; Thu, 30 Mar
 2023 12:59:43 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6254.022; Thu, 30 Mar 2023
 12:59: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: c22beb4e-cefa-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680181193;
  h=message-id:date:from:subject:to:cc:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=bpZI43ZwWrotbAdiH9DcCPgs3Q+9q81egCV50+saht0=;
  b=O8brDqxURJS+aDUVL2Uh0Ta6Sj1ta512zeSIPrbl3u0NbK0LIBjQfGqK
   oQ8iwNAsMWuHN5JJbjei4LQ7RuVm42KXmdv6BI0JO1LS15nJIxUAA4NPy
   KDFkDfhNSoNk3Q0k3qCAbNxeHUdtCy4dwTdaCFAOXi4exlwfpFJPxvSET
   8=;
X-IronPort-RemoteIP: 104.47.55.171
X-IronPort-MID: 103040047
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:tN80iK68GHqFM+s9FBB1gAxRtBXGchMFZxGqfqrLsTDasY5as4F+v
 jFOWW2FP/7eamPyeYgnaoy19khVupKDydVqTAA4pSlhHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasQ5AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m1
 MAxORkUQ0m6pOu7mb74Tes2xZoDBZy+VG8fkikIITDxK98DGMqGaYOaoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6OkUooj+GF3Nn9I7RmQe18mEqCq
 32A1GP+GhwAb/SUyCaf82LqjejK9c/+cNtKT+XkrqY23zV/wEQtFyI8D0Cbi8KFixO6ff99c
 kcf5Gkh+P1aGEuDC4OVsweDiG6JuFsQVsRdF8U+6RqR0ezE7gCBHG8GQzVdLts8u6ceZxYny
 1uIlNPBHiF0vfueTnf13qiQhSO/P24SN2BqWMMfZQ4M4t2mqodjiBvKF4xnCPTs0YSzHizsy
 TeXqiR4n68UkcMAy6S8+xbAni6ooZ/KCAUy4207Q16Y0++wX6b9D6TA1LQRxa8owFqxJrVZg
 EU5pg==
IronPort-HdrOrdr: A9a23:aMgfxa8jQHPFllexZRpuk+AiI+orL9Y04lQ7vn2ZKSY5TiVXra
 CTdZUgpHvJYVMqMk3I9uruBEDtex3hHP1OkOws1NWZLWrbUQKTRekP0WKL+Vbd8kbFh4xgPM
 lbEpSXCLfLfCVHZcSR2njFLz73quP3j5xBho3lvglQpRkBUdAG0+/gYDzraXGfQmN9dPwEPa
 vZ3OVrjRy6d08aa8yqb0N1JdQq97Xw5evbiQdtPW9e1DWz
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103040047"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Wda8d0rHsYfkzVSucAcDtOEA/1XWvOsRu1Q+v96skEMWXR3ZV4fVmu2yEhUmYaAjm+uCh/IfiA0VgozGiH2RC3a5b0WPPbPnoQ6tzTwSv8AEqTmhUvbKA87UMP62PsQ+6JF0OqQXrwiGEXdoclzGl0TNd8PrV3McWOiP657ZuJDOH1Dszfgs3BFVjbYEqP2ctY5KysKT9xgpxQWTeOnyYBvGxodcVSIRLLhvgIUeu1s9OubyUANGAYU233rIWw5xkQGmCDpGGtSSvGI1afFX/QaRw/J7dy/pJX3Odo1rShopI41J/PQyG3pz1QehOlyaM5Mc/JbZQeILGZYg5zTzZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ydxzYJvNQNKpTgpx0Ez9ufD32XjxhTUy40rwB1NomAw=;
 b=WI11VbMWcahzq4Ix4YwIL1kdL6+P0rKfIJ4bO49rvZ0Ba75D0FMELxrko7QGubN7lGRZLXf1ol+JTybQWyMHqC72w6q1jLY36bHY4+xAxivF6FV+2HTVTgNBND07koILaz+van+Ardkwnrmb6NUrL8mtxpM58GYeit5hzm52IYqQJ9QkuDRZ8Lg+h95KnjqFrbhVCVsT1G1frL9PtY77PnxfFNtnkEkn8KeYh6l7edU6+V9QLI7p8JFjpYvGZT8roV2iM4tggoupsQu0WJyVJsKK6wbXHB4Xrib7MKgXsaYncPqJb1jeS27pXVjucdy1dKiUb0GmP5KuoWiehHUEPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ydxzYJvNQNKpTgpx0Ez9ufD32XjxhTUy40rwB1NomAw=;
 b=CEPTJ2dd7eKTMyvFYcAUSu89LXfSIHbMyyS4Lr4NCGUxZGMi3a36k4e8Uq0IRbtP+QzWlYfgdI+C6RxRAt8YEX3USqJ+XHTA2BJJ5gXJ4VREC0FefC7ZxjX0qzjpx9PO9ckjUQ1vKUlmzrQdBOXjIq4PJKtPuS30S22BXYTL49o=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <9108a58f-da8f-14e4-de88-a7c8c8abb0f7@citrix.com>
Date: Thu, 30 Mar 2023 13:59:37 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH RFC 0/9] x86: Merge cpuid and msr policy
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: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <ZCVtcR5u/14/WmCU@Air-de-Roger>
In-Reply-To: <ZCVtcR5u/14/WmCU@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0344.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:18d::7) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|SJ0PR03MB6327:EE_
X-MS-Office365-Filtering-Correlation-Id: b73a3379-3a19-4b02-3c00-08db311ea14c
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Qz+MdEe7TuAVc2ky8HRnfCvOtbUWD5liqSlp9JtEVUytGzyTrpOh4Cf7zQOmVHDwTi1VWsDGrbapdH83SUzduo/48Nae2/HRB4e3saBaeF5m35MPItr97U7QhJ+395iTSfz/6ycblaLww3d1Ko93mASZn3dR2sYfv/3bk4k7Vww5LBE5kVk8u8eRmQzSVTkg0fLAOd0ywi/syUrwbMvOghHBHLDVD2++4gg2EyI02mEswy6699YlaFZl/OcmVqpuaFGl4WCV+ETyY2Tjsc4+vCi8Dc5oFgSgRoelgY/uN9vLG3VO3fsSVB1SpV8rNUImjrrfI73g0PyNlz37xvdT3czimP5yvnXey3i/sykwEQrf4zpAL7wkGjV3m3mL68fToKNLoMLnvq+A0Bl2BRPHUjZHiCHCwkZ0uPl7BPkF2AYz17I2xreHyTbArpC6xHbZ+r2TrvcXic7cKt3NOhDEFdBp3GvHF4euMKVU/1p2ORPego1YCVdQBuH6HSfAxRMvDrvb30VrT6jOrxtpuTFeogwS3E/VAq5b8EtNRX1M+egmb28RdOIrsTgkUJCke2BAiYoOb5KKS8+f7FdwguYErKSIzgUH3IM0pWkLPYhddr3inAvQd87guFPIBRozH89+9dYmfS7JvbFx2A4wz7pwww==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(346002)(366004)(396003)(136003)(376002)(451199021)(8936002)(31686004)(6862004)(6512007)(2906002)(2616005)(38100700002)(31696002)(36756003)(86362001)(41300700001)(6486002)(82960400001)(5660300002)(966005)(478600001)(66556008)(66946007)(54906003)(8676002)(66476007)(4326008)(6666004)(186003)(37006003)(6636002)(53546011)(316002)(26005)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eUgxZUZ1clE4anFtS3UwTjlaS1F6L0hYNkxUbE8wRUpmSVVpQnJwamp6VWZy?=
 =?utf-8?B?QUJHR1o3UEVMM01DeFRRU1V6TWYySzJRQUxEMEg3eC9YNFR0UG14Q1k3R09Y?=
 =?utf-8?B?Ukp4SDV1N1BXUm94VTIvVElDTWVHczN0MGNhZVF5cjNrajdXU0lWZW9vd0Zi?=
 =?utf-8?B?SWZGQ294VWtXQUJFUTAyRmRTL21sb1BhWXh4UVk3Yjk4VlJuL25IMGJCNitW?=
 =?utf-8?B?L0NZdzAvVXMyT09CRjN2eDYyTkJFT3hOMVBzSU9BVGxZbkxSWEp3ODI3Vklk?=
 =?utf-8?B?bURwM0ZBcE43YjA5RHpiMGIrQ2VnTTFxMmdSemE0amlxWk5vdTJpb1llK1Yz?=
 =?utf-8?B?L3VLTURnZGswcmhDdnlJUk15VnNLSkFPdFRJdW84L2FVQW1ISGIzNzJ6dHIx?=
 =?utf-8?B?WWl5NHJRQ3VuRTdJTnNxcW1WV1NkRDZrZjNYTDU2UkltTkRhWGsrblFWWVJi?=
 =?utf-8?B?RVhVc3hXS25rSVJGbE1GNkhNdWxYT0dzRFE3SU04OXNzWk1wZEswcHVKUFNr?=
 =?utf-8?B?VlhPYnFrTmFvU0R0WktvaVorVlRDSkJtZjlsUlovNEVmYldxb1NsMHQrczRV?=
 =?utf-8?B?U083RmxPaGJRUWFGVjUxZGVMVlkzQjBXSStDNkw1dGZ2VldYRzdZdVdWdUlx?=
 =?utf-8?B?N0VTdXZ4clRtUjlQZVd1Wms3dmM2Zk15T1h0aXNZNTNrblRmcm1Od3pacis3?=
 =?utf-8?B?VlkwbklBRXdmNWdMa0ZnUEpJTXREL1FwMjFjUHJxbEVyS3djdStPdDhxaGpR?=
 =?utf-8?B?aEhremZkNVJUZjZqeXVBYXIrT2VqaXo1SFR0QmpRNGJEUFZRWkhwU2xtaWxJ?=
 =?utf-8?B?WE5NQnhDNVZUdjhNdlpQS1hDVGMvcmJtbnNGQVRwaWFDQ1BrRmZIWGlzb0la?=
 =?utf-8?B?WnEvdWtEYVdpL2hPcE1sbUFPNVhkUFVjWnJZcHVhdUk5a0YvSXNsUWdCSGlG?=
 =?utf-8?B?WEtkMkRobng2SU9YRGxPcW5ETVJoQVlDRjNKNWxyaVlpT0hKR2RsbG5hcW5q?=
 =?utf-8?B?M3BnTnFSWWxzSk5nanJJQzBBYmlvczRqalEvcFpGcWVMaVo2TExJYU9tV3ky?=
 =?utf-8?B?aUFqakdNYXovdmQyU0F5eVYrTC9BNGVpcWNCVXJTVVk3SVlSMStRbnd1U2VQ?=
 =?utf-8?B?cTUwWGlmMUk5aXpCaDBjMFNsQS8vL0NNTFhHVXpyUHlzUFZSU0srRlBxMDFW?=
 =?utf-8?B?WTRwby8rV1ZqRGlBeGtjblo3QWVHMExSUlZBVStKTlNWUTZaNllpQUVJS21K?=
 =?utf-8?B?Wkd2ZkFsZUhUT1ppbmQxT2VNQ2lDaWwxOWJmUGFmcXBCenpoSnRabDIyaEYx?=
 =?utf-8?B?TDJ3QVFLWUsyQmFQN1loT0N1Q0l2RVNJUXcxTjEzdEV2ak9IVGVnV2lSWnNp?=
 =?utf-8?B?OVVMend2U1RHNzJOYXozdVN0T2FKc3NyeWRYMTd3YXk1bTAzUzNBR3dNWnlo?=
 =?utf-8?B?TFh5dEJXd3NBY0lBOGtuSEdBMml5c2s1Y3NKQ05weGJXQlltT0U3MEc1aHdW?=
 =?utf-8?B?VkExeWJqYmhxNkFSUkw5dnZYbGVtelNNUHRsbXBKb0FwMDBzNERQV0pETkww?=
 =?utf-8?B?UlVxaFgzNXRpTm41Nlh5TFRhOTVuVWJ2TTV5bHRCeDJHRW5iemRteTNGUGpG?=
 =?utf-8?B?TCs1R0JnVjMvQTFQcjZSb09RVXk1ZlA1dFJ4K210WWZ0Tjg1aUVJeU80cWZY?=
 =?utf-8?B?aG1WTFM3OGVlN3ZVb2JWODd6QWdUbFRGK0dQOVJ1U3RyQy94VUpsQmxkK2x4?=
 =?utf-8?B?YzM3aVVOM21tdXJrZjRMTnU5U2IyS3Z3ZDJwWTMycmpnUFhHMCtRUWNXZVRJ?=
 =?utf-8?B?OUh0eGw2bWtQbXJSSkgrREpPOWZCVUp5YXIrSGR3aVd1OTJBK3JXY2kvMG1l?=
 =?utf-8?B?WEtra25qZDRVRDY3MDNndC84Z0VYc09NQ2NicUkvVzdXZVFacmpuSllPQVli?=
 =?utf-8?B?YWtWZ2RsNHFhcXpROFAreE1YRVRRNG02SmJJMXBBZFJLRXMxSWxReENtRXpk?=
 =?utf-8?B?RFUzUUsvRkVHQjUrUWRxMzIrb0JZRU82OVhuaEZCSmFJWlBJMktYSEwxSXAw?=
 =?utf-8?B?eWFVZXdTbjdPWlZIaU1mZklhNmJGR1FvcnJ3YS9TdG1DeXU2RzZoRDZmQmRK?=
 =?utf-8?B?eDFlbU5DckgyQmpVUjVEbUxaRDFNMHFpY1pGOTlCVGd1MXd6RWEvWGFFQ3hl?=
 =?utf-8?B?UVE9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	tNHa74h+H0jeH0a++Ec4BYF+X4sSW7Zh8Fd4QqF1/MS0aMNPlxwn0Db3KKTM5gcL0gMvMKbqvDOLZMZh1vskU/c29IvFV9RqHivlMaO14gBkrFRMMnx68zpqWRUn3vRErTz14CuCMtX7zaZziUGM71JSLhvaaa3lgfnpgdc73OkmIhBpE0BzjXQpUNXFVdFr67BBKaX6BjtlwuXsPzgDRDQ7pfuli/xol40oLQuYFeFZ4BAczsNy0HW6IoaaGvWMOsRqKDlFrrRF1rcX4Vw0ba6LwwT1h8ngF0nCw/dwviXYxV6W5N0Jku05O6eTTg5RhTa6QEs2ZGUv+kv8zHLZY0pcALlDAfE0G1D/6XorYnTzNNqL6HK2MtGtdIDIaGGtK8VALbSBbJHlyTqXSd4IOJafMbuD/Wm2Pk3CrHnX55dxJHUkYBQu1SeQ8lSrvGwxcxz3CwMG5OUAG1DiTpMiXkDm30nMmFyP1VyZtU/0GU5sRvty3Kd4gbBgyS745uwkX1WwjZD4WGyzDVdy84g4zeY6GmIN0AN/B710c9DLuzRcFcJnhuf8dvDmLHLPfILjAvAd2/FBrtYBBHqSkBvUN6damftk4pM3rt24IcZL5BwnpiqY3sUI3KwY/9hFOb5VCIJ63hCeRoqGP63XGWO4+uP6nakWYrooMC5wbs0Puu1BH6NIXfOtDnbK09RNMTfQhOkMVIaZCr4u0NpONaNtQ+f5OU6h4qOxFTCogH3hDqxNkuoDUHXPmIGDg7y9dJqhKRY2V/iarXShVGWvzJE5ewwQ92rqCuIBzQjynE8r4tJol68x4mxRxSzOoxW9iJ1iTpH+PYKGmhHkSgi48S4UWA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b73a3379-3a19-4b02-3c00-08db311ea14c
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 12:59:43.0955
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OLHObgavwW2Ykq/v7gqBrF6It12ZerNzfGLFOKkBNOsTZWwq2ceQZ25GKWv4NNwgtSrFVDYxGF5bMnCibeYe9ZUdqbh5JFrzaRlsK51WLzg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6327

On 30/03/2023 12:07 pm, Roger Pau Monné wrote:
> On Wed, Mar 29, 2023 at 09:51:28PM +0100, Andrew Cooper wrote:
>> tl;dr to add MSR_ARCH_CAPS features sensibly, cpu_{featureset<->policy}() need
>> to not operate on objects of differing lifetimes, so structs
>> {cpuid,msr}_policy need merging and cpu_policy is the obvious name.
> So the problem is that there's a chance we might get a cpu_policy
> object that contains a valid (allocated) cpuid object, but not an msr
> one?

No - not cpu_policy.  It is that we can get a cpuid_policy and an
msr_policy that aren't at the same point in their lifecycle.

... which is exactly what happens right now for the raw/host msr right
now if you featureset_to_policy() to include MSR data.

Merging the two together into cpu_policy causes there to be a single
object lifecycle.


It's probably worth repeating the advise from the footnote in
https://lwn.net/Articles/193245/ again.  Get your datastructures right,
and the code takes care of itself.  Don't get them right, and the code
tends to be unmaintainable.


>> But this does mean that we now have
>>
>>   cpu_policy->basic.$X
>>   cpu_policy->feat.$Y
>>   cpu_policy->arch_caps.$Z
> I'm not sure I like the fact that we now can't differentiate between
> policy fields related to MSRs or CPUID leafs.
>
> Isn't there a chance we might in the future get some name space
> collision by us having decided to unify both?

The names are chosen by me so far, and the compiler will tell us if
things actually collide.

And renaming the existing field is a perfectly acceptable way of
resolving a conflict which arises in the future.

But yes - this was the whole point of asking the question.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 13:00:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 13:00:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516713.801283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phrtM-0004pF-7K; Thu, 30 Mar 2023 13:00:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516713.801283; Thu, 30 Mar 2023 13: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 1phrtM-0004p8-4U; Thu, 30 Mar 2023 13:00:36 +0000
Received: by outflank-mailman (input) for mailman id 516713;
 Thu, 30 Mar 2023 13:00: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=tzUU=7W=citrix.com=prvs=446aa7e4f=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1phrtK-0004dj-Ip
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 13:00: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 da570ddc-cefa-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 15:00:33 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da570ddc-cefa-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680181233;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=8DRJWvLzrc0qU2F2dmm/GwAwKgJ2cyVW9LJwugMHSuM=;
  b=OfBtWmHfm04ItHuOvbNDlp7oOAoIcoWjZX308KdcD5p5UOAj6doGD4vL
   2+8Nkq0upMnhRUn08+K5nf79UidfiUprkum8eHWgqwPOqyse8Iy36pkHt
   pGRDKQdM1GaJsTk1tf1F1xfykoIA+uSz7McDb5L5QNojfAoAsRnPm1Uhv
   E=;
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103703221
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:5/dgu6g3MkyItm68BKVfqQRgX161fhcKZh0ujC45NGQN5FlHY01je
 htvWTvVP/zYM2XxfdB/bNux/R4CvJbXxoMwSAQ9rS48FSkb9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wSGzyN94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQbGBcxTTumm9nvnomECeBqoeQuFNPSadZ3VnFIlVk1DN4jSJHHBa7L+cVZzHE7gcUm8fT2P
 pRDL2A1NVKZPkMJYw1MYH49tL7Aan3XejtEqFWTtOwv7nLa1gBZ27nxKtvFPNeNQK25m27B/
 jmZpz+jWEhy2Nq3+GC41yyOm9LzpDrlQ9hNJr6m7Ox3nwjGroAUIEJPDgbqyRWjsWa7QM53M
 UEY+iMy66M18SSDVcLhVhe1pHqFuB80WNdKFeA+rgaXxcL8+w+EAkAUQzgHb8Yp3OcmSDpv2
 lKXktfBAT10rKbTWX+b7q2Trz65JW4SN2BqTSUeRgsY6NrxiIg0ilTESdMLOKetg8f8Az3Y3
 zGApy94jLIW5eYR1q679ErLxTKhoJTEVBUy4C3TX2Ss9AQ/Y5SqD6Sw6Vnf6PpoKIefR0OG+
 n8elKC26ekUBpyJ0iWVTugJFri04t6KNTTdhRhkGJxJ3yyn/HixfIZRyCtzKEdgLoAPfjqBS
 FTTtAVN6Y57M36jbKsxaIW0Y+wzwK39UNjoSP3QRtxJZJd3aUmA5i4GTUeNxW3pkUUquagiI
 5qfKpzqC3sGYYxqwCe/Xesa+b8izCM53n+VQ53npzyrzr+BTHeQQKUCNh2FaaYk78usoB3S7
 s1ENs2i0RhWW/H5eW/Q64F7ELwRBSFlX9as8ZURL7PdZFM8QwnNFsM935siS6tZvI9wityRo
 EqCGUZe73ryvWf+fFDihm9YVF//YXpuhStlYn19bQb0hyhLjZWHt/lGKcZuFVUz3Kk6lKMvE
 aFYEymVKq4XIgkr7QjxenUUQGZKUB2wzTyDMCO+CNTUV84xHleZkjMIk+aGycXvMsZUnZFky
 1FY/lmHKafvviw7ZCosVNqhzkmqoV8Wk/9oUk3DL7F7IRu8qNEzd3Ku0K9pfangzCkvIBPAj
 2565j9GzdQhXqdvqIWZ7Ux6h9zB/xRC8rpyQDCAsOfe2djy9Wu/245QONu1kcTmfDqsos2KP
 LwFp8wQxdVbxD6mRaIgSec0pU//jvOzz4JnIvNMRi+VNwz2Ues/fBFrH6Bn78Vw+1OQgiPuM
 mrnxzWQEezh1B/NeLLJGDcYUw==
IronPort-HdrOrdr: A9a23:EiuXFq/ZlB0CewvI0xluk+DWI+orL9Y04lQ7vn2ZKCY4TiX8ra
 uTdZsguiMc5Ax+ZJhDo7C90di7IE80nKQdieN9AV7IZniEhILHFvAG0aLShxHmBi3i5qp8+M
 5bAsxD4QTLfDpHsfo=
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103703221"
Date: Thu, 30 Mar 2023 14:00:25 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Bernhard Beschow <shentey@gmail.com>
CC: <qemu-devel@nongnu.org>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>, David Woodhouse <dwmw@amazon.co.uk>,
	=?iso-8859-1?Q?Herv=E9?= Poussineau <hpoussin@reactos.org>, Aurelien Jarno
	<aurelien@aurel32.net>, Eduardo Habkost <eduardo@habkost.net>, Paul Durrant
	<paul@xen.org>, <xen-devel@lists.xenproject.org>, "Michael S. Tsirkin"
	<mst@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, "Richard
 Henderson" <richard.henderson@linaro.org>, Philippe
 =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, Chuck Zmudzinski
	<brchuckz@aol.com>
Subject: Re: [PATCH v3 2/6] hw/isa/piix3: Reuse piix3_realize() in
 piix3_xen_realize()
Message-ID: <f52c41f7-e662-4afd-8ac9-ce2c0da2b1be@perard>
References: <20230312120221.99183-1-shentey@gmail.com>
 <20230312120221.99183-3-shentey@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230312120221.99183-3-shentey@gmail.com>

On Sun, Mar 12, 2023 at 01:02:17PM +0100, Bernhard Beschow wrote:
> This is a preparational patch for the next one to make the following
> more obvious:
> 
> First, pci_bus_irqs() is now called twice in case of Xen where the
> second call overrides the pci_set_irq_fn with the Xen variant.

pci_bus_irqs() does allocates pci_bus->irq_count, so the second call in
piix3_xen_realize() will leak `pci_bus->irq_count`. Could you look if
pci_bus_irqs_cleanup() can be called before the second pci_bus_irqs()
call, or maybe some other way to avoid the leak?

> Second, pci_bus_set_route_irq_fn() is now also called in Xen mode.
> 
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

Beside the leak which I think can happen only once, patch is fine:
Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 13:04:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 13:04:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516718.801293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phrwi-0005T4-Nv; Thu, 30 Mar 2023 13:04:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516718.801293; Thu, 30 Mar 2023 13:04: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 1phrwi-0005Sx-Kc; Thu, 30 Mar 2023 13:04:04 +0000
Received: by outflank-mailman (input) for mailman id 516718;
 Thu, 30 Mar 2023 13:04: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=tzUU=7W=citrix.com=prvs=446aa7e4f=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1phrwg-0005Sr-S0
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 13:04:02 +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 5694b79d-cefb-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 15:04:01 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5694b79d-cefb-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680181441;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=5FcC/uA7lSp2Phb7/lv7hFKSC5V4AzTs6UovUysFa+A=;
  b=WnLX55kdP4uC+3Lxk1TgT9PwSCRxA+gpbYuRCx/DhKSkNc0WKO1Y57il
   iw3ilon413ALBoPT/UIf0gdlzAb+EaS7z5KU3L1x15AyhXWA/syuI/HLH
   aWrkb2Td3PJX9jNns0OcoKzObDg3zPLYCEV9d5EqJxQkzr3mYBU8NQ9Um
   4=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103041192
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:tTZiAay6tiw4EgF+hHx6t+cpwSrEfRIJ4+MujC+fZmUNrF6WrkVVy
 2NKDT2HbPneZWHzed9/YN+38UsPvcWByNYxGQA4ryAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjP3OHfykTrafYEidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw//F+UMHUMja4mtC5QRlPqgT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KT9Tr
 fESLx0sUh+onfix6a6gG/hGt9t2eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyMlKZOUYn1lQ/UfrSmM+hgGX/dDtJ7kqYv6Mt70DYzRBr0airO93QEjCPbZwNxR7E/
 zuXpQwVBDkRGOe2mRekqku+i8nzwnijAtoWBq2no6sCbFq7mTVIVUx+uUGAieK5h0iiVsN3J
 Ekd+y5opq83nGSyQ9zgGhG1vnOAlhgbXdVWDqs98g7l4q/d+Q2UAi4NVjBMbNYvqcoeSjkj1
 1vPlNTsbRR3urqTW3Ob95+OoD+yMDRTJmgHDQcIUg4ay9DmqZM0iFTESZB+E8adjsXyBCrrw
 jaitiU3jKkUlogMzarT1VnamT+op5XPZgco/AjTBTjj6A5lDKaoa5Gh81TcxfZJJoWeVUXHu
 nUY8+CG5f0KJYGAkmqKWuplNKGk4bOJPSPRhXZrHoI97HK99ni7Z4dS7TpiYkBzPa4sfCT1S
 FXetQNY+NlYO37CRbRsf4u7BsAuzK7hPdfoTPbZapxJeJcZXBWG9yFnf0LW323rnEU2iqY5E
 ZOad8+2CjAdE6sP5CK2RuMY3ZcvxyY332SVQor0pzyty7GeeXWWW58MN1/IZec8hIuNuAjP+
 sxTH9eLwR5YFub5Z0HqHZU7dA5QayJhXNav9pIRL7TYSuZ7JI0/I6HMmb4rfKFEo6t+jP3P1
 22mC15y+UWq0BUrNj62hmBfhKLHBMgg/CNrbXBwbT5EyFB4P9/xsf53m48fOOB+qbc9laMco
 +wtIZ3oPxhZdtjQF93xh7HZpZcqShmkjBnm08GNMGlmJM4Iq+AkF7bZkurTGMomVHDfWTMW+
 eHI6+8iacNrq/5eJMjXcumz6Fi6oGIQnul/N2ORfIkLIRywrtc0e3Kv5hPSHy3qAU+brtd9/
 1j+PPvljbOV/99dHCfh3shoULtF48MhRxEHTgE3HJ69NDXA/3rL/LKspN2gJGiHPEutofXKW
 Amg562kWBHxtAoQ4tUU/ncC5f5W2uYDUJcAlFo8RCiQNwv1Yl6iS1HftfRyWmR27ucxkWOLt
 oinp7G25Z3h1BvZLWMs
IronPort-HdrOrdr: A9a23:jHdlpKzTkAfAAUgVU61xKrPwIr1zdoMgy1knxilNoH1uHvBw8v
 rEoB1173DJYVoqNk3I++rhBEDwexLhHPdOiOF6UItKNzOW21dAQrsSiLfK8nnNHDD/6/4Y9Y
 oISdkbNDQoNykZsfrH
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103041192"
Date: Thu, 30 Mar 2023 14:03:53 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Bernhard Beschow <shentey@gmail.com>
CC: <qemu-devel@nongnu.org>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>, David Woodhouse <dwmw@amazon.co.uk>,
	=?iso-8859-1?Q?Herv=E9?= Poussineau <hpoussin@reactos.org>, Aurelien Jarno
	<aurelien@aurel32.net>, Eduardo Habkost <eduardo@habkost.net>, Paul Durrant
	<paul@xen.org>, <xen-devel@lists.xenproject.org>, "Michael S. Tsirkin"
	<mst@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, Richard
 Henderson <richard.henderson@linaro.org>, Philippe
 =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, Chuck Zmudzinski
	<brchuckz@aol.com>
Subject: Re: [PATCH v3 3/6] hw/isa/piix3: Wire up Xen PCI IRQ handling
 outside of PIIX3
Message-ID: <8871c33b-690a-4a0a-9b8b-eda163910571@perard>
References: <20230312120221.99183-1-shentey@gmail.com>
 <20230312120221.99183-4-shentey@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230312120221.99183-4-shentey@gmail.com>

On Sun, Mar 12, 2023 at 01:02:18PM +0100, Bernhard Beschow wrote:
> xen_intx_set_irq() doesn't depend on PIIX3State. In order to resolve
> TYPE_PIIX3_XEN_DEVICE and in order to make Xen agnostic about the
> precise south bridge being used, set up Xen's PCI IRQ handling of PIIX3
> in the board.
> 
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 13:04:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 13:04:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516721.801302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phrxS-0005zu-05; Thu, 30 Mar 2023 13:04:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516721.801302; Thu, 30 Mar 2023 13: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 1phrxR-0005zn-Tn; Thu, 30 Mar 2023 13:04:49 +0000
Received: by outflank-mailman (input) for mailman id 516721;
 Thu, 30 Mar 2023 13: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=tzUU=7W=citrix.com=prvs=446aa7e4f=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1phrxP-0005v1-VP
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 13:04:48 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 704215d2-cefb-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 15:04:45 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 704215d2-cefb-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680181485;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=Xkpy/kjsmo/X9OUmHcSUliZn05A/VqHXLoRZnj02lSc=;
  b=MQTH4PSiCj/zrnZJ4rU9ZmCfu0iR74NgZB8a3UFHl6edWTvAev/OB8zr
   5rgUWrJDZOSO0g20NY+XFAq/RcBihrC6295nFShajqTIni7NQNNE9vOrj
   O141XR9Q/fsmDCTeeXjKY46Kfn87kZmAB7gAGZpgnTETE0rSUlNAHkYdf
   Q=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 102479599
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:KHAbLqnuFNHxv5OmGTZYucbo5gyYIURdPkR7XQ2eYbSJt1+Wr1Gzt
 xJNWmzVaKrcMDGhL95xad7joB4HsJCHmNdgSgBpqnw1FyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+a6U6icfHgqH2eIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE4p7aSaVA8w5ARkPqgQ5weGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dYfFG4tRRWGu863nvWpR/FnmZkAI8a+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dPVsWYAx/5JEWxY9EglH2dSFYr1SE47I6+WHJwCR60aT3McqTcduPLSlQth/A/
 D6ZrjmoU3n2MvSmigvaqU+VodbznD3rYttKFLKi8dN11Qj7Kms7V0RNCArTTeOColW+VtRDJ
 l089S8nrKx0/0uuJvHkUhil5XKJoBMYc9xXFeI89UeK0KW8ywOQHGMJSnhIcNIrsMU/WDkC2
 VqAntevDjtq2JWNQ3Wb5LaSrBuoNCQVJHNEbigBJSMJ/Nz8iIg2hwDISJBoF+iojbXdGSn33
 iuRrS4WnbgahtIMzOO851+vqzuxvJXNTwMzzgzKRG+htVk/YoO5D6Sl5UXS9/pHBIaQRFqGp
 2RCncWChMgWBIyJvDyARqMKBr7Bz+aINnjQjEBiG7El9i+x4DizcIZI+jZ8KUx1dMEedlfBZ
 VTPkRlc6J9aID2haqofS5mqF80gwKzkFNLkfvPZdNxDZt52bgDv1Dtvbk6ZxWyrkEUqnawlI
 pCdWcKtC38ADuJg1jXeb/8d0Lsuygg6xGXaX5e9yA6ouZKUfnWVVLwGInOHaeR/56SByC3c6
 9tFPtGG4wleWub5JCLQ9OYuwUsidCZhQ8qs8ooOK7DFe1A9cI08NxPP6ZkmR9JFtKFQqsvJo
 DavV1dT1wfcinKSfG1mdUtfhKPTsYdX9CxkbH18bQr0ixDPcq70sv5BKsJfka0PsbU6kKUqF
 6Rtl9CoWKwnd9jRx9gKgXARRqRGfQ/juw+BNjHNjNMXL885HFyhFjMJk2LSGMgy4smf75FWT
 0WIjF+zfHb6b10K4DzqQPyu1UitmnMWhfh/WUDFSvEKJhW0qdE2dXOv3qFpSy3pFfkl7mHCv
 +pxKUlwmAUwi9VtrImhaV6s9O9F7NeS7mIFRjKGvN5axAHR/3a5wJ8obdtkiQv1DTuukI37P
 LU98h0JGKFf9Lq8m9YmQukDIGNXz4eHmoK2OSw+RiuTNwnwUuw+SpREtOEW3pBwKnZikVPec
 iqyFhNyZeTh1B/NeLLJGDcYUw==
IronPort-HdrOrdr: A9a23:YdVeBa0CNvNo9YmPXLN7lwqjBLwkLtp133Aq2lEZdPU1SKClfq
 WV98jzuiWatN98Yh8dcLK7WJVoMEm8yXcd2+B4V9qftWLdyQiVxe9ZnO7f6gylNyri9vNMkY
 dMGpIObOEY1GIK7/rH3A==
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="102479599"
Date: Thu, 30 Mar 2023 14:04:23 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Bernhard Beschow <shentey@gmail.com>
CC: <qemu-devel@nongnu.org>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>, David Woodhouse <dwmw@amazon.co.uk>,
	=?iso-8859-1?Q?Herv=E9?= Poussineau <hpoussin@reactos.org>, Aurelien Jarno
	<aurelien@aurel32.net>, Eduardo Habkost <eduardo@habkost.net>, Paul Durrant
	<paul@xen.org>, <xen-devel@lists.xenproject.org>, "Michael S. Tsirkin"
	<mst@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, Richard
 Henderson <richard.henderson@linaro.org>, Philippe
 =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, Chuck Zmudzinski
	<brchuckz@aol.com>
Subject: Re: [PATCH v3 4/6] hw/isa/piix3: Avoid Xen-specific variant of
 piix3_write_config()
Message-ID: <3bd7846b-2782-4857-b298-817fd683044e@perard>
References: <20230312120221.99183-1-shentey@gmail.com>
 <20230312120221.99183-5-shentey@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230312120221.99183-5-shentey@gmail.com>

On Sun, Mar 12, 2023 at 01:02:19PM +0100, Bernhard Beschow wrote:
> Subscribe to pci_bus_fire_intx_routing_notifier() instead which allows for
> having a common piix3_write_config() for the PIIX3 device models.
> 
> While at it, move the subscription into machine code to facilitate resolving
> TYPE_PIIX3_XEN_DEVICE.
> 
> In a possible future followup, pci_bus_fire_intx_routing_notifier() could
> be adjusted in such a way that subscribing to it doesn't require
> knowledge of the device firing it.
> 
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 13:05:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 13:05:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516723.801313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phrxs-0006Pf-8I; Thu, 30 Mar 2023 13:05:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516723.801313; Thu, 30 Mar 2023 13:05: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 1phrxs-0006PY-5F; Thu, 30 Mar 2023 13:05:16 +0000
Received: by outflank-mailman (input) for mailman id 516723;
 Thu, 30 Mar 2023 13:05: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=tzUU=7W=citrix.com=prvs=446aa7e4f=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1phrxq-0006OR-5s
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 13:05:14 +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 80c2c9de-cefb-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 15:05:12 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80c2c9de-cefb-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680181512;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=adxcuJkdzQDMNqJ6me0RVhVLacrk4QCIJ2X+K9Tdhq8=;
  b=dHl9uvbiJGOmrQefFyIiK8Dpqc0BqqdVdLTFKcPaybWlbs4dJtVXQ+jF
   Zd+vDHAWfBjwHICy03ysc2bOC0CheG5tXRfVpWPZy68rNo2NGmgIBhXW/
   nmS8tDsAKlj9/x/dgQ52YtVSZKAyCQobhZzJIV+eilOnq6SybqhonwS1I
   s=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103042006
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:1OiPjq1hsBrCh86AovbD5c12kn2cJEfYwER7XKvMYLTBsI5bpzVVy
 mUcCmmFPPqDYTHyctF/a9zl8kkDsMTWxtZgSVFtpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdlPagR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfHE5V8
 +YHM2o3clO7ucWqyqK+VcBxiZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKk2aOHWjOX9OYH46tO6umnn4dSwesF+PrLA7y2PS0BZwwP7mN9+9ltmiHJ0OxhrC/
 jqYl4j/KjtHCs6W+SXGznGXnLHmpBjKWqgTDqLto5aGh3XMnzdOWXX6T2CTuvm0jFKzSvpQL
 kUV/mwlqq1a3FWmS8S4UxCmrXqsuBkaVNxNVeog52mlz6PO6AudQGEcQDNFYtU7sec5QDUr0
 hmCmNaBLSRlt7uHSHSc3q2ZoTO7JW4eKmpqTSMbSBQt6tzqsoY1yBnICMtgeIa1ltroAirxx
 RiQoSE1m7IIy8kR2M2T9E3djjatq57hRxMv6wGMBCSj4x8RTIOpeoWy5V/z7f9KL4GCUh+Hs
 WRss9CX8eQmHZyL0iuXT40lDLyvovqILjDYqVpuBIU6sSSg/Wa5eoJd6y04I11mWu4BYiPBe
 kLfuQpNopRUOROCdrRraoi8D8Ary6nIFtn/UP3QKN1UbfBZbg6M/Ch0aQiQ0mbhnVI3lqcXP
 ZadeNyrS3EABsxP1Dq3Q+IR+bsqwCkkwiXUX5+T5x692rqDb32HYb4CNB2FaeVRxKqcrR/c6
 dp3K8qAwBIZW+r7ChQ76qZKcwpMdyJiQ8mr9YoOLLXrzhda9H8JFtDKx6k+YNZfg+dtqMDU9
 GG4RWZFxw+q7ZHYEjlmekyPeZu2A8ku/CJrYXB8Vbq78yN9ONjytc/zY7NyJOB6r7I7kJaYW
 tFfI6297uJzpiMrEtj3Rb30t8RceRuinmpi1AL1MWFkL/aMq+Ekk+IInzcDFwFUVEJbTeNk/
 9WdOvrzGPLvvThKAsfMc+6IxFisp3Ubk+8adxKWcoEKIRmyr9Y6dXKZYhoLzyckc02rKtyyi
 W6r7eow/7GR8+fZDvGS7Ux7k2tZO7QnRRcLd4Uqxb23KTPb7gKe/GO0a87RJWq1fDqtqM2fi
 RB9k6mU3AsvwAwb7OKR0t9DkcoD2jcYj+UAkFw8QS6TMArD53EJCiDu4PSjf5Zlntdx0TZak
 GrWkjWGEd1l4P/YLWM=
IronPort-HdrOrdr: A9a23:FSnW4aMx2+eR7cBcTh2jsMiBIKoaSvp037BL7TELdfUxSKelfq
 +V8sjzuSWYtN9TYgBFpTn4Asi9qCrnlaKdgrNhX4tKPjOWwFdARbsKheHfKlvbakjDH4Vmup
 uIHZITNDS+NykcsS9W2njfL/8whPO82OSDg+PGyndkSgtnL5tn8xxyBm+gYy5LrU19dOMEKK
 Y=
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103042006"
Date: Thu, 30 Mar 2023 14:05:00 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Bernhard Beschow <shentey@gmail.com>
CC: <qemu-devel@nongnu.org>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>, David Woodhouse <dwmw@amazon.co.uk>,
	=?iso-8859-1?Q?Herv=E9?= Poussineau <hpoussin@reactos.org>, Aurelien Jarno
	<aurelien@aurel32.net>, Eduardo Habkost <eduardo@habkost.net>, Paul Durrant
	<paul@xen.org>, <xen-devel@lists.xenproject.org>, "Michael S. Tsirkin"
	<mst@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, Richard
 Henderson <richard.henderson@linaro.org>, Philippe
 =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, Chuck Zmudzinski
	<brchuckz@aol.com>
Subject: Re: [PATCH v3 5/6] hw/isa/piix3: Resolve redundant k->config_write
 assignments
Message-ID: <f9953cc3-de45-4a22-98c6-e734ca1ef536@perard>
References: <20230312120221.99183-1-shentey@gmail.com>
 <20230312120221.99183-6-shentey@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230312120221.99183-6-shentey@gmail.com>

On Sun, Mar 12, 2023 at 01:02:20PM +0100, Bernhard Beschow wrote:
> The previous patch unified handling of piix3_write_config() accross the
> PIIX3 device models which allows for assigning k->config_write once in the
> base class.
> 
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 13:06:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 13:06:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516728.801322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phryk-000734-Id; Thu, 30 Mar 2023 13:06:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516728.801322; Thu, 30 Mar 2023 13: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 1phryk-00072x-Fk; Thu, 30 Mar 2023 13:06:10 +0000
Received: by outflank-mailman (input) for mailman id 516728;
 Thu, 30 Mar 2023 13: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=tzUU=7W=citrix.com=prvs=446aa7e4f=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1phryj-00071a-Nv
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 13:06:09 +0000
Received: from esa6.hc3370-68.iphmx.com (esa6.hc3370-68.iphmx.com
 [216.71.155.175]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a229381c-cefb-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 15:06:08 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a229381c-cefb-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680181568;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=TuGjNP9wS9q3cj3/CeZM+y+PDS7rTjgGAvX7wsCvqME=;
  b=Ic2+uNgLYumPxWEix7Ia6OFW9B+5e91d07snDp60mOAow5vCKQC1Udrs
   mRZ84D1M5lfGyk8SRNjZBViN3sxuRer2QfBrZmR43/C5mY26PVGdikM+Q
   qkGGQZS+LqkJRAsAO2bcbPgDdSQtvl/FBVcoh4+xHJUdGnqrEk8GHRZWX
   8=;
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 103042161
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:APHGX6L6p7KmbJzdFE+RyJIlxSXFcZb7ZxGr2PjKsXjdYENSgjUOy
 jdMCDuGbP2LZWWne99ya4uz9hgB65XTzt9nTAplqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAgk/rOHvykU7Ss1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpJrfPTwP9TlK6q4mhA5QdmPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5sX1tv2
 8ZHdwwHQU7Tov2tmpGVQ8dF05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGQpNU6bC/FMEg5/5JYWleG0hn75YntApUicv6Yf6GnP1g1hlrPqNbI5f/TTHZ4NwhzB+
 DuuE2LRWy4kFs6++yW+6Gvygcr/xyT+Z78pC+jtnhJtqALKnTFCYPEMbnOgofS/lkOvc91aI
 k0QvCEpqMAa7UGuU5zxUgO1pFaCuRgTXccWFPc1gCmIw7Df7gLfD3AKQzpLYcEjnMAzTD0uk
 FSOmrvBHTZotq+UT3O17LqYrTqufyMSKAcqaTABUiMM5tDxp4d1hRWJU9ULOK6ticDuAjD26
 yqHpSMigK5VitQEv42y4ErKhzOhoLDAUxQ44l6NGGSo8mtRaYK4bpak7nDb5PxDK52FCF+Mo
 BAsg8GD6MgeAJfLkzaCKM0dEbfs6/ubPTn0hV90A4Jn5zmr42Skf41b/Hd5PkgBGsMfZRfzb
 UPTsB8X75hWVFOxdrN+aY+1D8UszIDjGM7jW/SSacBBCrBrdQSH9TtiI06d2WzgilMrl4k7O
 JGSa8HqCmwVYYx/zDuyQus11b4tzzo5g2TJSvjTxQ6s0aeVZ2y9QLABdlCJa4gR5buJugzP/
 /5DNsGBzFNUV+iWX8XM2ddNdxZQdyF9XM2o7ZUNLYZvPzaKBkk6VcXw74l+JLBvsPoFs/jTp
 FKTU2FxnQ+XaWL8FemaVpxyQOqxAscu/SJnYXxE0UWAgCZ6P9v2hEsLX95uJOR8qrQ+pRJhZ
 6NdE/hsFMijXdguF941SZDm5LJvex2w7e5lF3r0OWNvF3KMquGgxzMFQucM3HNUZsZPnZFiy
 4BMLyuCKXb5eyxsDdzNdNWkxE6rsH4WlYpaBhWYeoAKJBuzrtg0dUQda8PbxelWcX0vIRPEv
 zt6/D9C/bWdy2PL2IKhaV+4Q3eBTLIlQxsy85jz5reqLyjKlleeLXt7eL/QJ1j1DTqkkJhOk
 M0Jl5kQxtVbxgcV22e9ep43pZ8DCyzH/eUEllw5Ry2UMTxGyNpIexG74CWGjYUVrpcxhOd8c
 hjVkjWGEd1l4P/YLWM=
IronPort-HdrOrdr: A9a23:yna82qvAQS6Vlp0/d72mft3C7skDqtV00zEX/kB9WHVpm62j5r
 uTdZEgviMc5wx+ZJhNo7290eq7MBfhHOdOgLX5ZI3DYOCEghrLEGgB1/qb/9SIIUSXnNK1s5
 0QFpSWY+eeMbEVt6rHCUaDYrEdKXS8gcaVrPab5U1ECSttb7hk7w9/AAreKEtrXwNLbKBJd6
 Z0ovA33gadRQ==
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103042161"
Date: Thu, 30 Mar 2023 14:05:38 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Bernhard Beschow <shentey@gmail.com>
CC: <qemu-devel@nongnu.org>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>, David Woodhouse <dwmw@amazon.co.uk>,
	=?iso-8859-1?Q?Herv=E9?= Poussineau <hpoussin@reactos.org>, Aurelien Jarno
	<aurelien@aurel32.net>, Eduardo Habkost <eduardo@habkost.net>, Paul Durrant
	<paul@xen.org>, <xen-devel@lists.xenproject.org>, "Michael S. Tsirkin"
	<mst@redhat.com>, Stefano Stabellini <sstabellini@kernel.org>, Richard
 Henderson <richard.henderson@linaro.org>, Philippe
 =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, Chuck Zmudzinski
	<brchuckz@aol.com>
Subject: Re: [PATCH v3 6/6] hw/isa/piix3: Resolve redundant
 TYPE_PIIX3_XEN_DEVICE
Message-ID: <3af0ddf0-4c2c-4f42-bc48-0775fa33238c@perard>
References: <20230312120221.99183-1-shentey@gmail.com>
 <20230312120221.99183-7-shentey@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230312120221.99183-7-shentey@gmail.com>

On Sun, Mar 12, 2023 at 01:02:21PM +0100, Bernhard Beschow wrote:
> During the last patches, TYPE_PIIX3_XEN_DEVICE turned into a clone of
> TYPE_PIIX3_DEVICE. Remove this redundancy.
> 
> Signed-off-by: Bernhard Beschow <shentey@gmail.com>
> Reviewed-by: Michael S. Tsirkin <mst@redhat.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 13:13:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 13:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516734.801332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phs5S-0000D9-8p; Thu, 30 Mar 2023 13:13:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516734.801332; Thu, 30 Mar 2023 13:13:06 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phs5S-0000D2-5f; Thu, 30 Mar 2023 13:13:06 +0000
Received: by outflank-mailman (input) for mailman id 516734;
 Thu, 30 Mar 2023 13:13: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 1phs5R-0000Cs-1R; Thu, 30 Mar 2023 13:13: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 1phs5Q-0003Zb-V8; Thu, 30 Mar 2023 13:13: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 1phs5Q-0001Zg-Ib; Thu, 30 Mar 2023 13:13:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phs5Q-0007Ev-I8; Thu, 30 Mar 2023 13: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GQGXVOsGn/CeQqtQOJgIxDQ28hGLV0unq2qdiT+ROs8=; b=qxXqBIntlT1b3w9pvO3PM8gKws
	qD5mx85h28hhpVgO4C+8vbGqD5sLS8ohmyIhqvyoVYf0V/g6FuTTZecQ2z/Vrl4J8qCVH2sZ7pr+U
	YDEz1IDV12YM0IQCe083hXuu+Vt1v/XKpiBEWi9ymIVqWvM7oF1ZKlQ6X6ScrxNEmvCw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180064-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180064: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=53eb26b238541799134aa5846530485c915735da
X-Osstest-Versions-That:
    ovmf=e3e88d90e8d777e38120c32c7b3bbfb9bcf99b79
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 13:13:04 +0000

flight 180064 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180064/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 53eb26b238541799134aa5846530485c915735da
baseline version:
 ovmf                 e3e88d90e8d777e38120c32c7b3bbfb9bcf99b79

Last test of basis   180060  2023-03-30 02:42:13 Z    0 days
Testing same since   180064  2023-03-30 11:13:36 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  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
   e3e88d90e8..53eb26b238  53eb26b238541799134aa5846530485c915735da -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 13:50:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 13:50:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516740.801342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phsfb-0004rc-4g; Thu, 30 Mar 2023 13:50:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516740.801342; Thu, 30 Mar 2023 13:50: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 1phsfb-0004rV-28; Thu, 30 Mar 2023 13:50:27 +0000
Received: by outflank-mailman (input) for mailman id 516740;
 Thu, 30 Mar 2023 13:50: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=Hp/D=7W=kernel.org=patchwork-bot+netdevbpf@srs-se1.protection.inumbo.net>)
 id 1phsfZ-0004rM-JT
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 13:50:25 +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 ced9b997-cf01-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 15:50:20 +0200 (CEST)
Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by dfw.source.kernel.org (Postfix) with ESMTPS id 74A956206D;
 Thu, 30 Mar 2023 13:50:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id CD5A9C4339C;
 Thu, 30 Mar 2023 13:50:17 +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
 B025FE2A037; Thu, 30 Mar 2023 13:50: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: ced9b997-cf01-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1680184217;
	bh=nCIxYfeOpNNYAdQJkG3B1YlgdvS8aT3sViVNWAQZLwA=;
	h=Subject:From:Date:References:In-Reply-To:To:Cc:From;
	b=RzU9+D40oss0bDCVl4JKyGqFN4Ay8AtGAFtuDOuNtAFRQ83P3OFSAP9yAuERvCxK+
	 Lb7bHSs3foWMf+8ZckXx9yRqHJ/mGGpsCdUVvDvisqtiTiULxgd8bSO5y3F4rGbg1Y
	 JQysUuQgHtChR+EFiMwGNin2g1dIjbVsX2Br5o0lNXHM81QPNwM7EpNEKffQ6flO50
	 hHNDNa3+uf5EsGI29LeQVTbSYElfh0FJ0DUo5arJZ5Yx9AMBLzT9sPevlf1e0AFjzv
	 0W/xJ5jBnJDMt44ndG9cQSTp1KACJGz0BvvR2ytTqAJldakrh9k/8RjtdnhTZL+Rag
	 g2H9lz8o1m04w==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: Re: [PATCH v3] xen/netback: use same error messages for same errors
From: patchwork-bot+netdevbpf@kernel.org
Message-Id: 
 <168018421771.9777.1140138877861718257.git-patchwork-notify@kernel.org>
Date: Thu, 30 Mar 2023 13:50:17 +0000
References: <20230329080259.14823-1-jgross@suse.com>
In-Reply-To: <20230329080259.14823-1-jgross@suse.com>
To: Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, wei.liu@kernel.org,
 paul@xen.org, davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
 pabeni@redhat.com, xen-devel@lists.xenproject.org, jbeulich@suse.com

Hello:

This patch was applied to netdev/net.git (main)
by Paolo Abeni <pabeni@redhat.com>:

On Wed, 29 Mar 2023 10:02:59 +0200 you wrote:
> Issue the same error message in case an illegal page boundary crossing
> has been detected in both cases where this is tested.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - new patch
> V3:
> - modify message text (Jan Beulich)
> 
> [...]

Here is the summary with links:
  - [v3] xen/netback: use same error messages for same errors
    https://git.kernel.org/netdev/net/c/2eca98e5b24d

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html




From xen-devel-bounces@lists.xenproject.org Thu Mar 30 13:55:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 13:55:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516743.801353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phsk4-0005S6-Pm; Thu, 30 Mar 2023 13:55:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516743.801353; Thu, 30 Mar 2023 13:55: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 1phsk4-0005Rz-LS; Thu, 30 Mar 2023 13:55:04 +0000
Received: by outflank-mailman (input) for mailman id 516743;
 Thu, 30 Mar 2023 13:55: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=ENe9=7W=intel.com=oliver.sang@srs-se1.protection.inumbo.net>)
 id 1phsk2-0005Rt-G0
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 13:55:03 +0000
Received: from mga03.intel.com (mga03.intel.com [134.134.136.65])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7225337e-cf02-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 15:54:55 +0200 (CEST)
Received: from fmsmga004.fm.intel.com ([10.253.24.48])
 by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Mar 2023 06:24:56 -0700
Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81])
 by fmsmga004.fm.intel.com with ESMTP; 30 Mar 2023 06:24:56 -0700
Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) 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.21; Thu, 30 Mar 2023 06:24:55 -0700
Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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.21 via Frontend Transport; Thu, 30 Mar 2023 06:24:55 -0700
Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.101)
 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.21; Thu, 30 Mar 2023 06:24:52 -0700
Received: from PH8PR11MB6779.namprd11.prod.outlook.com (2603:10b6:510:1ca::17)
 by SA0PR11MB4685.namprd11.prod.outlook.com (2603:10b6:806:9e::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.20; Thu, 30 Mar
 2023 13:24:42 +0000
Received: from PH8PR11MB6779.namprd11.prod.outlook.com
 ([fe80::e073:f89a:39f9:bbf]) by PH8PR11MB6779.namprd11.prod.outlook.com
 ([fe80::e073:f89a:39f9:bbf%5]) with mapi id 15.20.6222.030; Thu, 30 Mar 2023
 13: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: 7225337e-cf02-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1680184495; x=1711720495;
  h=date:from:to:cc:subject:message-id:in-reply-to:
   mime-version;
  bh=yMfx3jCbWCO9QGTGgGmaCeNQo2CYNc+vqlNX1c3+D4M=;
  b=XkZToIyAIbjr7zpUoKiGHPJ/c0yGXwZw2ytcSafu3P+3n93eJw2Lf63a
   hIckkKlkcTiAvni6aAJyp+axfA3qttXnUdZrPFrhkqEa7X6r8d2amQhg1
   P397J/M2ny7JNS9e+75h+McIav1z/8Hcw/ow3veLxv040IGEmeKzAcoG6
   36UvBBU319+fXUmcuf2s9hxJuvvu5qQh88Si+KpUt4jYTleQWY9n2Ktqi
   yJZvPRHYfGg1V4xSer0NuGblBn+WT2HB+ER4/hfO1vZgdX9P0HefaCJ99
   VOujsvTJj6Olm8kBtxhUn7ZIndYcKJrWJ6l3FDf0p6cexoDal4D5N/1wp
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="343641157"
X-IronPort-AV: E=Sophos;i="5.98,303,1673942400"; 
   d="xz'341?scan'341,208,341";a="343641157"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="753991189"
X-IronPort-AV: E=Sophos;i="5.98,303,1673942400"; 
   d="xz'341?scan'341,208,341";a="753991189"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XfOeB2Eb5kEg8pi2OF/cLgwvB/l55o6ZkVrpKvbub8wP0KG0tzR/qVNtb21+nMuj7ywiJLKuVd6OHzX7nvL2u0hWBNEq8ARMQXpHjPU6pEmf0qZL6u+DxlOYVgr5rVetCMLVfahN8FgEOTejuweoVuGQcyju3sIWOUol27ily0SZBWoJ1v64TVqxqmIuBksEDXSRD2him6IGDneYe92X5/U/GcIR6GdobSj3W23c5/KMEg/iSZ8aYvZg2S8gaJHtZ9KtPAdfttwuiKKEMC7QXvYMufp1hNQWbAb7Wa0UUJM9KbYKIm+WCodS8GHfU5nfA68GA6RyqEwDLja6TRplcw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JzO670C7uNKPNSJAS8Bl+0hE8vFt3SBscRYPuBEsA8U=;
 b=L3DSyJleWFtjVzeBx6Q5TUE2NCMgzD/NvmWnPYlina4dRBCH/GCeYofGH+BzYbB5frSiBaSRGfgfb1+WnyzEgSF17rH+/BABi3PqV30jArBcRqPbq+zB2BcJfKdD0EeYsmFX54d7lm8wDmuYiuMPApmcTCq3twTrx5B0Wyfi2cOfaA0ilO+ngJY/UEJ6tr1YoaO8iLgmKMTYXe6VNlxqkq4DIHATenGTqaozG0xClquBku69Dh+KT7Ce/kpciqz/I+PNi5blWrvzQRTYCgMPIz+Z8qGVwgcBOYp/q6ItYiwOy/LQPzeUgjYHkj/02r120cUOcfQclGL4Kw3FZ5bc4w==
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;
Date: Thu, 30 Mar 2023 21:24:21 +0800
From: kernel test robot <oliver.sang@intel.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
CC: <oe-lkp@lists.linux.dev>, <lkp@intel.com>, Krzysztof
 =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>, <linux-pci@vger.kernel.org>,
	=?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>, Andy Shevchenko
	<andriy.shevchenko@linux.intel.com>, Mika Westerberg
	<mika.westerberg@linux.intel.com>, Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>, "Niklas
 Schnelle" <schnelle@linux.ibm.com>, Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>, Pali
 =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>, "Maciej W. Rozycki"
	<macro@orcam.me.uk>, Juergen Gross <jgross@suse.com>, Dominik Brodowski
	<linux@dominikbrodowski.net>, <linux-kernel@vger.kernel.org>,
	<linux-alpha@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>,
	<linux-mips@vger.kernel.org>, <linuxppc-dev@lists.ozlabs.org>,
	<linux-sh@vger.kernel.org>, <sparclinux@vger.kernel.org>,
	<xen-devel@lists.xenproject.org>, <linux-acpi@vger.kernel.org>, Miguel Ojeda
	<ojeda@kernel.org>, Richard Henderson <richard.henderson@linaro.org>, "Ivan
 Kokshaysky" <ink@jurassic.park.msu.ru>, Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>,
	"Sebastian Hesselbarth" <sebastian.hesselbarth@gmail.com>, Gregory Clement
	<gregory.clement@bootlin.com>, Thomas Bogendoerfer
	<tsbogend@alpha.franken.de>, Nicholas Piggin <npiggin@gmail.com>, "Christophe
 Leroy" <christophe.leroy@csgroup.eu>, Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>, Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>, "David S. Miller"
	<davem@davemloft.net>, Bjorn Helgaas <bhelgaas@google.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH v7 3/6] PCI: Allow pci_bus_for_each_resource() to take
 less arguments
Message-ID: <202303302009.55848372-oliver.sang@intel.com>
Content-Type: multipart/mixed; boundary="C5TiEhRBN396VBhV"
Content-Disposition: inline
In-Reply-To: <20230323173610.60442-4-andriy.shevchenko@linux.intel.com>
User-Agent: Mutt/1.10.1 (2018-07-13)
X-ClientProxiedBy: SG2PR02CA0114.apcprd02.prod.outlook.com
 (2603:1096:4:92::30) To PH8PR11MB6779.namprd11.prod.outlook.com
 (2603:10b6:510:1ca::17)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PH8PR11MB6779:EE_|SA0PR11MB4685:EE_
X-MS-Office365-Filtering-Correlation-Id: 59292b4e-5ac9-4f92-1972-08db31221e26
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: GZP8RzgU55DnDt+xUwMjyB5qUdhjB01Rn6acTVFIRUzfruUxqeiaN11DNhiIMAW2RBTr/IpvByWur/tWkwSMwwM/MVIvum+TPklXcx6Gol2C+JImycumxz5qrfAs6BaumBVAL9T+4yIEAo76QJKv5tsRH1CnowiKIYXPg1V7rWJ25hpCYyG72jGpBCBcIbuNNhUtD0Hz6KRWz/1xEH+Q/KJTtQALjN+f+quZcIi91+do1b53bQYJTC1/QAY2ilDzYIZMrj2NE1OzxHyJNkf2Y0TYS9Ge6hUYRtZEt+rHQppcj1K8XAp+GlE0n7CMrdUAg5PD42+5lYwFS7/nbbuPJ+2/q9lG4YxULf3mnJzkFC0FY8WsJLF+Tlh4wj2qe0KAlN8ntyEvJwftpeM1zBnSY+ddhMNb2iaSsxO8y40EfvN0UVPRxoEFIASbqiQ4w6F5txr+Biu2TnsuUIWyjT8Ur31jSMYQEdK4JZRM513Se329Iz11ifaAuTg/LIgwhsZJ1nC/VmW5Cj+epXiGZ1CqvzHB9sNeWLNEoJASDtGE4b1bbmxDicDTOwGw2+UqMKe736E2tBfVWXeRpyyJ1I9hiciTAxDAQO7UtiljrSbweXaR+5FXtrfFK4UlOfQdwyvPSJI1ZSPaaQKyalnP8OsldA==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB6779.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(396003)(366004)(376002)(136003)(39860400002)(451199021)(86362001)(36756003)(8676002)(4326008)(41300700001)(66946007)(66556008)(316002)(6486002)(966005)(66476007)(6916009)(54906003)(7416002)(478600001)(5660300002)(235185007)(2906002)(7406005)(8936002)(82960400001)(38100700002)(6666004)(186003)(1076003)(6512007)(26005)(6506007)(2616005)(44144004)(83380400001)(2700100001);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?8sAGqJxOKi+/nkKflYjwMryhLfJyae1hwGj2fe+qpwN5tP2NJ1gtcB0TVyTr?=
 =?us-ascii?Q?O8Y6+MYIw3QxM9IDrsSJ+mfQdF2qiR3pB8VHgXbJby5Wo36dMLfI/GicBU1G?=
 =?us-ascii?Q?UxPLV3W/Prjv0tR7uxu37RU0gOKARzNS2VuEpyeosRA46kJxJPeTsRH8+G06?=
 =?us-ascii?Q?zDC6OIk4WhLx04POY/q8ZZlMZ5woVW8Q+cf882keG+mIG4nJtBfWdCOo+zta?=
 =?us-ascii?Q?qBLaLjZURQdhxhbW3NZxuYGpzb5KBf94wL6J0jYEyyM/h02Rp0aIo2/yNh/i?=
 =?us-ascii?Q?n+aZpUkvoLxr51/WxGgooDzJ5K9+d1JWkCAp1mAsRpwVbUcLBtcZuSzfeBAG?=
 =?us-ascii?Q?chv0OXQumX+mohNClJBwOLj7TlGEbEnhsHIykB8d59nc0vXC1LIeoaBb10LU?=
 =?us-ascii?Q?0i3JM9SM9s6FA7EHW5TrWW19hl48ZNSxaeqrpvn96mGuSN9dZf7zvzeo4qg4?=
 =?us-ascii?Q?jCHs6FN6q4c7UfFxG0kXYonENDNPzqah8hqQ7v7gNtl0nxA20Q8ng23wWy+W?=
 =?us-ascii?Q?R0ZJVTQ+LU61BfDI/qPWsK13Y0pzgOqMI+B1VnShvBwnoVy3C2MFMN0Yklol?=
 =?us-ascii?Q?u8i2Jt7UKNRYP4yQCov6cwE7W60IpO3pxT4bB3rcnFHL+cOFdsMTUVtTwNoa?=
 =?us-ascii?Q?i1h366Gn/4SshgoMITew21wsWMTy4oQmsvrjE+PzSljs4NNgZuSAafOmE0KS?=
 =?us-ascii?Q?U1A70hSYGrrR1cBf6NFhsmRyHlK2BzfD+Bc8RFv1ZoKIxyt7LJiOiKY0BtWh?=
 =?us-ascii?Q?QwHuaTWyWlKsYZrcwe4qWhw+VvXcXtVMZJp3ar+GWPb5ESf/0NzrS72aVhUc?=
 =?us-ascii?Q?aRyNU/bHFe9+h8GRmvV4uqHvPtVENQawkdisu/Bg5FTf2TxiwsH6khf2yxCI?=
 =?us-ascii?Q?npZlle0+6FjASNSyjac2MIsAcG/8wARgIQ+iVBXspLCrcsNbjQPVssgE8iCZ?=
 =?us-ascii?Q?+B5anuHr+JhLAct0I6fVTD6OvIwNmmXgeWhYFAJ1Vduf8s6UsCIOdea72Vr7?=
 =?us-ascii?Q?SpKEcOikpYfeFlA8wPLA16rqCwPSNUpBgk9XWPn9zh0Yf+Hx0S2sDLJFfHIr?=
 =?us-ascii?Q?gH8Fm3HKTgrr6PQm290jwaxMuY+Xk+gzH/2hEDAP1TZXzgGiUaFVPrQ19kHo?=
 =?us-ascii?Q?JJfjW0p1LWeJq/ym27z8togaCCxnG/d4E+PfMJiVQt0Ytc793i9Tv2Bq2x7p?=
 =?us-ascii?Q?RIKBpnD44MVAmFixPMQhZBfABwvv0R02410zBX1Ul+90gnub1OjvuJlWiuD2?=
 =?us-ascii?Q?sA06EZjMGS7PSpaMwDa2pYy1h/f/SnNTU4uv+/jxCpwm6lRrExS/gci/mGAD?=
 =?us-ascii?Q?sCWCXeZBqs9CJ4wJ/De71MrbsvquHuoKndJjsned5cOkZFiPeE4r4bP0HIAW?=
 =?us-ascii?Q?ZCM0/ru5LBRzaaOsIU20i/bruQ8envKdFrKH+JO/lcD4yEeMr0r6k/kDfKhX?=
 =?us-ascii?Q?KYLkguDHTCNKvl+TUU+EWj1+dxlghT2KtyyA67GXjOlex6ehz9f39pxqlIok?=
 =?us-ascii?Q?UxFSkbP3Ac6WP8nDPUVmtvVkgB7yF1HF3mQmiU92sJ6398cyrfSKORypVFLt?=
 =?us-ascii?Q?zqGqQqoXPaio6nd3X6t5jpU9vhqgH65rH8x58gMc7LTlMNbk4eN9lt8rj3Ko?=
 =?us-ascii?Q?tg=3D=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: 59292b4e-5ac9-4f92-1972-08db31221e26
X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB6779.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 13:24:41.8988
 (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: qOaLikodWP6zps2+ip5wC8jrOekp/X7+zX9XufV/7QSAaOcHoJojVZHkscUQJOCQ0+ncN7MAQRxswFtpF5AkuA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4685
X-OriginatorOrg: intel.com

--C5TiEhRBN396VBhV
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline


Greeting,

FYI, we noticed various errors such like
    "i40e: probe of 0000:3d:00.0 failed with error -12"
due to commit (built with gcc-11):

commit: d23d5938fd7ced817d6aa1ff86cd671ebbaebfc2 ("[PATCH v7 3/6] PCI: Allow pci_bus_for_each_resource() to take less arguments")
url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/kernel-h-Split-out-COUNT_ARGS-and-CONCATENATE/20230324-013857
base: https://git.kernel.org/cgit/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/all/20230323173610.60442-4-andriy.shevchenko@linux.intel.com/
patch subject: [PATCH v7 3/6] PCI: Allow pci_bus_for_each_resource() to take less arguments

in testcase: boot

on test machine: 96 threads 2 sockets Intel(R) Xeon(R) Gold 6252 CPU @ 2.10GHz (Cascade Lake) with 512G memory

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):


If you fix the issue, kindly add following tag
| Reported-by: kernel test robot <oliver.sang@intel.com>
| Link: https://lore.kernel.org/oe-lkp/202303302009.55848372-oliver.sang@intel.com


$ xzgrep error dmesg.xz
[   51.684385][    T1] i40e: probe of 0000:3d:00.0 failed with error -12
[   51.709906][    T1] i40e: probe of 0000:3d:00.1 failed with error -12
[   51.979447][  T638] xhci_hcd: probe of 0000:00:14.0 failed with error -16
[   55.722124][    T1] calling  init_error_injection+0x0/0x70 @ 1
[   55.729441][    T1] initcall init_error_injection+0x0/0x70 returned 0 after 1316 usecs
e Volatile Files[   69.603735][ T1054] ioatdma: probe of 0000:00:04.0 failed with error -22
[   69.630580][ T1054] ioatdma: probe of 0000:00:04.1 failed with error -22
[   69.658415][ T1054] ioatdma: probe of 0000:00:04.2 failed with error -22
[   69.706342][ T1054] ioatdma: probe of 0000:00:04.3 failed with error -22
[   69.788776][ T1054] ioatdma: probe of 0000:00:04.4 failed with error -22
         Startin[   69.810610][ T1054] ioatdma: probe of 0000:00:04.5 failed with error -22
[   69.838865][ T1054] ioatdma: probe of 0000:00:04.6 failed with error -22
ind portmap serv[   69.866504][ T1054] ioatdma: probe of 0000:00:04.7 failed with error -22
[   69.897288][ T1054] ioatdma: probe of 0000:80:04.0 failed with error -22
tem Boot/Shutdow[   69.917172][ T1054] ioatdma: probe of 0000:80:04.1 failed with error -22
[   69.936033][ T1054] ioatdma: probe of 0000:80:04.2 failed with error -22
1;39mRPC bind po[   69.954728][ T1054] ioatdma: probe of 0000:80:04.3 failed with error -22
[   69.979795][ T1054] ioatdma: probe of 0000:80:04.4 failed with error -22
[   70.015547][ T1054] ioatdma: probe of 0000:80:04.6 failed with error -22
[   70.017299][ T1054] ioatdma: probe of 0000:80:04.7 failed with error -22
[   70.093241][ T1012] ahci: probe of 0000:00:11.5 failed with error -22
0m] Reached targ[   70.113139][ T1012] ahci: probe of 0000:00:17.0 failed with error -22



To reproduce:

        # build kernel
	cd linux
	cp config-6.3.0-rc1-00011-gd23d5938fd7c .config
	make HOSTCC=gcc-11 CC=gcc-11 ARCH=x86_64 olddefconfig prepare modules_prepare bzImage modules
	make HOSTCC=gcc-11 CC=gcc-11 ARCH=x86_64 INSTALL_MOD_PATH=<mod-install-dir> modules_install
	cd <mod-install-dir>
	find lib/ | cpio -o -H newc --quiet | gzip > modules.cgz


        git clone https://github.com/intel/lkp-tests.git
        cd lkp-tests
        bin/lkp qemu -k <bzImage> -m modules.cgz job-script # job-script is attached in this email

        # if come across any failure that blocks the test,
        # please remove ~/.lkp and /lkp dir to run from a clean state.



-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests



--C5TiEhRBN396VBhV
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: attachment;
	filename="config-6.3.0-rc1-00011-gd23d5938fd7c"

#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 6.3.0-rc1 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc-11 (Debian 11.3.0-8) 11.3.0"
CONFIG_CC_IS_GCC=y
CONFIG_GCC_VERSION=110300
CONFIG_CLANG_VERSION=0
CONFIG_AS_IS_GNU=y
CONFIG_AS_VERSION=23990
CONFIG_LD_IS_BFD=y
CONFIG_LD_VERSION=23990
CONFIG_LLD_VERSION=0
CONFIG_CC_CAN_LINK=y
CONFIG_CC_CAN_LINK_STATIC=y
CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
CONFIG_CC_HAS_ASM_INLINE=y
CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
CONFIG_PAHOLE_VERSION=125
CONFIG_CONSTRUCTORS=y
CONFIG_IRQ_WORK=y
CONFIG_BUILDTIME_TABLE_SORT=y
CONFIG_THREAD_INFO_IN_TASK=y

#
# General setup
#
CONFIG_INIT_ENV_ARG_LIMIT=32
# CONFIG_COMPILE_TEST is not set
# CONFIG_WERROR is not set
CONFIG_LOCALVERSION=""
CONFIG_LOCALVERSION_AUTO=y
CONFIG_BUILD_SALT=""
CONFIG_HAVE_KERNEL_GZIP=y
CONFIG_HAVE_KERNEL_BZIP2=y
CONFIG_HAVE_KERNEL_LZMA=y
CONFIG_HAVE_KERNEL_XZ=y
CONFIG_HAVE_KERNEL_LZO=y
CONFIG_HAVE_KERNEL_LZ4=y
CONFIG_HAVE_KERNEL_ZSTD=y
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set
# CONFIG_KERNEL_ZSTD is not set
CONFIG_DEFAULT_INIT=""
CONFIG_DEFAULT_HOSTNAME="(none)"
CONFIG_SYSVIPC=y
CONFIG_SYSVIPC_SYSCTL=y
CONFIG_SYSVIPC_COMPAT=y
CONFIG_POSIX_MQUEUE=y
CONFIG_POSIX_MQUEUE_SYSCTL=y
# CONFIG_WATCH_QUEUE is not set
CONFIG_CROSS_MEMORY_ATTACH=y
# CONFIG_USELIB is not set
CONFIG_AUDIT=y
CONFIG_HAVE_ARCH_AUDITSYSCALL=y
CONFIG_AUDITSYSCALL=y

#
# IRQ subsystem
#
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_GENERIC_IRQ_SHOW=y
CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
CONFIG_GENERIC_PENDING_IRQ=y
CONFIG_GENERIC_IRQ_MIGRATION=y
CONFIG_GENERIC_IRQ_INJECTION=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_IRQ_DOMAIN=y
CONFIG_IRQ_DOMAIN_HIERARCHY=y
CONFIG_GENERIC_MSI_IRQ=y
CONFIG_IRQ_MSI_IOMMU=y
CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR=y
CONFIG_GENERIC_IRQ_RESERVATION_MODE=y
CONFIG_IRQ_FORCED_THREADING=y
CONFIG_SPARSE_IRQ=y
# CONFIG_GENERIC_IRQ_DEBUGFS is not set
# end of IRQ subsystem

CONFIG_CLOCKSOURCE_WATCHDOG=y
CONFIG_ARCH_CLOCKSOURCE_INIT=y
CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
CONFIG_GENERIC_TIME_VSYSCALL=y
CONFIG_GENERIC_CLOCKEVENTS=y
CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
CONFIG_GENERIC_CMOS_UPDATE=y
CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
CONFIG_CONTEXT_TRACKING=y
CONFIG_CONTEXT_TRACKING_IDLE=y

#
# Timers subsystem
#
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
# CONFIG_NO_HZ_IDLE is not set
CONFIG_NO_HZ_FULL=y
CONFIG_CONTEXT_TRACKING_USER=y
# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
CONFIG_NO_HZ=y
CONFIG_HIGH_RES_TIMERS=y
CONFIG_CLOCKSOURCE_WATCHDOG_MAX_SKEW_US=125
# end of Timers subsystem

CONFIG_BPF=y
CONFIG_HAVE_EBPF_JIT=y
CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y

#
# BPF subsystem
#
CONFIG_BPF_SYSCALL=y
CONFIG_BPF_JIT=y
CONFIG_BPF_JIT_ALWAYS_ON=y
CONFIG_BPF_JIT_DEFAULT_ON=y
CONFIG_BPF_UNPRIV_DEFAULT_OFF=y
# CONFIG_BPF_PRELOAD is not set
# CONFIG_BPF_LSM is not set
# end of BPF subsystem

CONFIG_PREEMPT_VOLUNTARY_BUILD=y
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
# CONFIG_PREEMPT is not set
CONFIG_PREEMPT_COUNT=y
# CONFIG_PREEMPT_DYNAMIC is not set
# CONFIG_SCHED_CORE is not set

#
# CPU/Task time and stats accounting
#
CONFIG_VIRT_CPU_ACCOUNTING=y
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_SCHED_AVG_IRQ=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASK_XACCT=y
CONFIG_TASK_IO_ACCOUNTING=y
# CONFIG_PSI is not set
# end of CPU/Task time and stats accounting

CONFIG_CPU_ISOLATION=y

#
# RCU Subsystem
#
CONFIG_TREE_RCU=y
CONFIG_RCU_EXPERT=y
CONFIG_SRCU=y
CONFIG_TREE_SRCU=y
CONFIG_TASKS_RCU_GENERIC=y
CONFIG_FORCE_TASKS_RCU=y
CONFIG_TASKS_RCU=y
# CONFIG_FORCE_TASKS_RUDE_RCU is not set
CONFIG_TASKS_RUDE_RCU=y
CONFIG_FORCE_TASKS_TRACE_RCU=y
CONFIG_TASKS_TRACE_RCU=y
CONFIG_RCU_STALL_COMMON=y
CONFIG_RCU_NEED_SEGCBLIST=y
CONFIG_RCU_FANOUT=64
CONFIG_RCU_FANOUT_LEAF=16
CONFIG_RCU_NOCB_CPU=y
# CONFIG_RCU_NOCB_CPU_DEFAULT_ALL is not set
# CONFIG_TASKS_TRACE_RCU_READ_MB is not set
# CONFIG_RCU_LAZY is not set
# end of RCU Subsystem

CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y
# CONFIG_IKHEADERS is not set
CONFIG_LOG_BUF_SHIFT=20
CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
# CONFIG_PRINTK_INDEX is not set
CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y

#
# Scheduler features
#
# CONFIG_UCLAMP_TASK is not set
# end of Scheduler features

CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
CONFIG_CC_HAS_INT128=y
CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
CONFIG_GCC11_NO_ARRAY_BOUNDS=y
CONFIG_GCC12_NO_ARRAY_BOUNDS=y
CONFIG_CC_NO_ARRAY_BOUNDS=y
CONFIG_ARCH_SUPPORTS_INT128=y
CONFIG_NUMA_BALANCING=y
CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
CONFIG_CGROUPS=y
CONFIG_PAGE_COUNTER=y
# CONFIG_CGROUP_FAVOR_DYNMODS is not set
CONFIG_MEMCG=y
CONFIG_MEMCG_KMEM=y
CONFIG_BLK_CGROUP=y
CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_SCHED_MM_CID=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_HUGETLB=y
CONFIG_CPUSETS=y
CONFIG_PROC_PID_CPUSET=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_PERF=y
# CONFIG_CGROUP_BPF is not set
# CONFIG_CGROUP_MISC is not set
# CONFIG_CGROUP_DEBUG is not set
CONFIG_SOCK_CGROUP_DATA=y
CONFIG_NAMESPACES=y
CONFIG_UTS_NS=y
CONFIG_TIME_NS=y
CONFIG_IPC_NS=y
CONFIG_USER_NS=y
CONFIG_PID_NS=y
CONFIG_NET_NS=y
# CONFIG_CHECKPOINT_RESTORE is not set
CONFIG_SCHED_AUTOGROUP=y
# CONFIG_SYSFS_DEPRECATED is not set
CONFIG_RELAY=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y
CONFIG_RD_LZ4=y
CONFIG_RD_ZSTD=y
# CONFIG_BOOT_CONFIG is not set
CONFIG_INITRAMFS_PRESERVE_MTIME=y
CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_LD_ORPHAN_WARN=y
CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
CONFIG_SYSCTL=y
CONFIG_HAVE_UID16=y
CONFIG_SYSCTL_EXCEPTION_TRACE=y
CONFIG_HAVE_PCSPKR_PLATFORM=y
# CONFIG_EXPERT is not set
CONFIG_UID16=y
CONFIG_MULTIUSER=y
CONFIG_SGETMASK_SYSCALL=y
CONFIG_SYSFS_SYSCALL=y
CONFIG_FHANDLE=y
CONFIG_POSIX_TIMERS=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_PCSPKR_PLATFORM=y
CONFIG_BASE_FULL=y
CONFIG_FUTEX=y
CONFIG_FUTEX_PI=y
CONFIG_EPOLL=y
CONFIG_SIGNALFD=y
CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_AIO=y
CONFIG_IO_URING=y
CONFIG_ADVISE_SYSCALLS=y
CONFIG_MEMBARRIER=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_SELFTEST is not set
CONFIG_KALLSYMS_ALL=y
CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
CONFIG_KALLSYMS_BASE_RELATIVE=y
CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
CONFIG_KCMP=y
CONFIG_RSEQ=y
# CONFIG_EMBEDDED is not set
CONFIG_HAVE_PERF_EVENTS=y
CONFIG_GUEST_PERF_EVENTS=y

#
# Kernel Performance Events And Counters
#
CONFIG_PERF_EVENTS=y
# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
# end of Kernel Performance Events And Counters

CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
# end of General setup

CONFIG_64BIT=y
CONFIG_X86_64=y
CONFIG_X86=y
CONFIG_INSTRUCTION_DECODER=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_MMU=y
CONFIG_ARCH_MMAP_RND_BITS_MIN=28
CONFIG_ARCH_MMAP_RND_BITS_MAX=32
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
CONFIG_GENERIC_ISA_DMA=y
CONFIG_GENERIC_CSUM=y
CONFIG_GENERIC_BUG=y
CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ARCH_HAS_CPU_RELAX=y
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_SUSPEND_POSSIBLE=y
CONFIG_AUDIT_ARCH=y
CONFIG_KASAN_SHADOW_OFFSET=0xdffffc0000000000
CONFIG_HAVE_INTEL_TXT=y
CONFIG_X86_64_SMP=y
CONFIG_ARCH_SUPPORTS_UPROBES=y
CONFIG_FIX_EARLYCON_MEM=y
CONFIG_DYNAMIC_PHYSICAL_MASK=y
CONFIG_PGTABLE_LEVELS=5
CONFIG_CC_HAS_SANE_STACKPROTECTOR=y

#
# Processor type and features
#
CONFIG_SMP=y
CONFIG_X86_FEATURE_NAMES=y
CONFIG_X86_X2APIC=y
CONFIG_X86_MPPARSE=y
# CONFIG_GOLDFISH is not set
# CONFIG_X86_CPU_RESCTRL is not set
CONFIG_X86_EXTENDED_PLATFORM=y
# CONFIG_X86_NUMACHIP is not set
# CONFIG_X86_VSMP is not set
CONFIG_X86_UV=y
# CONFIG_X86_GOLDFISH is not set
# CONFIG_X86_INTEL_MID is not set
CONFIG_X86_INTEL_LPSS=y
# CONFIG_X86_AMD_PLATFORM_DEVICE is not set
CONFIG_IOSF_MBI=y
# CONFIG_IOSF_MBI_DEBUG is not set
CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
# CONFIG_SCHED_OMIT_FRAME_POINTER is not set
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
# CONFIG_PARAVIRT_DEBUG is not set
CONFIG_PARAVIRT_SPINLOCKS=y
CONFIG_X86_HV_CALLBACK_VECTOR=y
# CONFIG_XEN is not set
CONFIG_KVM_GUEST=y
CONFIG_ARCH_CPUIDLE_HALTPOLL=y
# CONFIG_PVH is not set
CONFIG_PARAVIRT_TIME_ACCOUNTING=y
CONFIG_PARAVIRT_CLOCK=y
# CONFIG_JAILHOUSE_GUEST is not set
# CONFIG_ACRN_GUEST is not set
CONFIG_INTEL_TDX_GUEST=y
# CONFIG_MK8 is not set
# CONFIG_MPSC is not set
# CONFIG_MCORE2 is not set
# CONFIG_MATOM is not set
CONFIG_GENERIC_CPU=y
CONFIG_X86_INTERNODE_CACHE_SHIFT=6
CONFIG_X86_L1_CACHE_SHIFT=6
CONFIG_X86_TSC=y
CONFIG_X86_CMPXCHG64=y
CONFIG_X86_CMOV=y
CONFIG_X86_MINIMUM_CPU_FAMILY=64
CONFIG_X86_DEBUGCTLMSR=y
CONFIG_IA32_FEAT_CTL=y
CONFIG_X86_VMX_FEATURE_NAMES=y
CONFIG_CPU_SUP_INTEL=y
CONFIG_CPU_SUP_AMD=y
CONFIG_CPU_SUP_HYGON=y
CONFIG_CPU_SUP_CENTAUR=y
CONFIG_CPU_SUP_ZHAOXIN=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
# CONFIG_GART_IOMMU is not set
CONFIG_BOOT_VESA_SUPPORT=y
CONFIG_MAXSMP=y
CONFIG_NR_CPUS_RANGE_BEGIN=8192
CONFIG_NR_CPUS_RANGE_END=8192
CONFIG_NR_CPUS_DEFAULT=8192
CONFIG_NR_CPUS=8192
CONFIG_SCHED_CLUSTER=y
CONFIG_SCHED_SMT=y
CONFIG_SCHED_MC=y
CONFIG_SCHED_MC_PRIO=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
CONFIG_X86_MCE=y
CONFIG_X86_MCELOG_LEGACY=y
CONFIG_X86_MCE_INTEL=y
# CONFIG_X86_MCE_AMD is not set
CONFIG_X86_MCE_THRESHOLD=y
CONFIG_X86_MCE_INJECT=m

#
# Performance monitoring
#
CONFIG_PERF_EVENTS_INTEL_UNCORE=m
CONFIG_PERF_EVENTS_INTEL_RAPL=m
CONFIG_PERF_EVENTS_INTEL_CSTATE=m
# CONFIG_PERF_EVENTS_AMD_POWER is not set
# CONFIG_PERF_EVENTS_AMD_UNCORE is not set
# CONFIG_PERF_EVENTS_AMD_BRS is not set
# end of Performance monitoring

CONFIG_X86_16BIT=y
CONFIG_X86_ESPFIX64=y
CONFIG_X86_VSYSCALL_EMULATION=y
CONFIG_X86_IOPL_IOPERM=y
CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
# CONFIG_MICROCODE_AMD is not set
CONFIG_MICROCODE_LATE_LOADING=y
CONFIG_X86_MSR=m
CONFIG_X86_CPUID=y
CONFIG_X86_5LEVEL=y
CONFIG_X86_DIRECT_GBPAGES=y
# CONFIG_X86_CPA_STATISTICS is not set
CONFIG_X86_MEM_ENCRYPT=y
# CONFIG_AMD_MEM_ENCRYPT is not set
CONFIG_NUMA=y
# CONFIG_AMD_NUMA is not set
CONFIG_X86_64_ACPI_NUMA=y
CONFIG_NUMA_EMU=y
CONFIG_NODES_SHIFT=10
CONFIG_ARCH_SPARSEMEM_ENABLE=y
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
# CONFIG_ARCH_MEMORY_PROBE is not set
CONFIG_ARCH_PROC_KCORE_TEXT=y
CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
CONFIG_X86_PMEM_LEGACY_DEVICE=y
CONFIG_X86_PMEM_LEGACY=m
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
# CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set
CONFIG_MTRR=y
CONFIG_MTRR_SANITIZER=y
CONFIG_MTRR_SANITIZER_ENABLE_DEFAULT=1
CONFIG_MTRR_SANITIZER_SPARE_REG_NR_DEFAULT=1
CONFIG_X86_PAT=y
CONFIG_ARCH_USES_PG_UNCACHED=y
CONFIG_X86_UMIP=y
CONFIG_CC_HAS_IBT=y
CONFIG_X86_KERNEL_IBT=y
CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS=y
# CONFIG_X86_INTEL_TSX_MODE_OFF is not set
# CONFIG_X86_INTEL_TSX_MODE_ON is not set
CONFIG_X86_INTEL_TSX_MODE_AUTO=y
# CONFIG_X86_SGX is not set
CONFIG_EFI=y
CONFIG_EFI_STUB=y
CONFIG_EFI_HANDOVER_PROTOCOL=y
CONFIG_EFI_MIXED=y
# CONFIG_EFI_FAKE_MEMMAP is not set
CONFIG_EFI_RUNTIME_MAP=y
# CONFIG_HZ_100 is not set
# CONFIG_HZ_250 is not set
# CONFIG_HZ_300 is not set
CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_SCHED_HRTICK=y
CONFIG_KEXEC=y
CONFIG_KEXEC_FILE=y
CONFIG_ARCH_HAS_KEXEC_PURGATORY=y
# CONFIG_KEXEC_SIG is not set
CONFIG_CRASH_DUMP=y
CONFIG_KEXEC_JUMP=y
CONFIG_PHYSICAL_START=0x1000000
CONFIG_RELOCATABLE=y
# CONFIG_RANDOMIZE_BASE is not set
CONFIG_PHYSICAL_ALIGN=0x200000
CONFIG_DYNAMIC_MEMORY_LAYOUT=y
CONFIG_HOTPLUG_CPU=y
CONFIG_BOOTPARAM_HOTPLUG_CPU0=y
# CONFIG_DEBUG_HOTPLUG_CPU0 is not set
# CONFIG_COMPAT_VDSO is not set
CONFIG_LEGACY_VSYSCALL_XONLY=y
# CONFIG_LEGACY_VSYSCALL_NONE is not set
# CONFIG_CMDLINE_BOOL is not set
CONFIG_MODIFY_LDT_SYSCALL=y
# CONFIG_STRICT_SIGALTSTACK_SIZE is not set
CONFIG_HAVE_LIVEPATCH=y
CONFIG_LIVEPATCH=y
# end of Processor type and features

CONFIG_CC_HAS_SLS=y
CONFIG_CC_HAS_RETURN_THUNK=y
CONFIG_CC_HAS_ENTRY_PADDING=y
CONFIG_FUNCTION_PADDING_CFI=11
CONFIG_FUNCTION_PADDING_BYTES=16
CONFIG_SPECULATION_MITIGATIONS=y
CONFIG_PAGE_TABLE_ISOLATION=y
# CONFIG_RETPOLINE is not set
CONFIG_CPU_IBPB_ENTRY=y
CONFIG_CPU_IBRS_ENTRY=y
# CONFIG_SLS is not set
CONFIG_ARCH_HAS_ADD_PAGES=y
CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y

#
# Power management and ACPI options
#
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_SUSPEND=y
CONFIG_SUSPEND_FREEZER=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_PM_STD_PARTITION=""
CONFIG_PM_SLEEP=y
CONFIG_PM_SLEEP_SMP=y
# CONFIG_PM_AUTOSLEEP is not set
# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
# CONFIG_PM_WAKELOCKS is not set
CONFIG_PM=y
CONFIG_PM_DEBUG=y
# CONFIG_PM_ADVANCED_DEBUG is not set
# CONFIG_PM_TEST_SUSPEND is not set
CONFIG_PM_SLEEP_DEBUG=y
# CONFIG_PM_TRACE_RTC is not set
CONFIG_PM_CLK=y
# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
# CONFIG_ENERGY_MODEL is not set
CONFIG_ARCH_SUPPORTS_ACPI=y
CONFIG_ACPI=y
CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
CONFIG_ACPI_SYSTEM_POWER_STATES_SUPPORT=y
# CONFIG_ACPI_DEBUGGER is not set
CONFIG_ACPI_SPCR_TABLE=y
# CONFIG_ACPI_FPDT is not set
CONFIG_ACPI_LPIT=y
CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
CONFIG_ACPI_EC_DEBUGFS=m
CONFIG_ACPI_AC=y
CONFIG_ACPI_BATTERY=y
CONFIG_ACPI_BUTTON=y
CONFIG_ACPI_VIDEO=m
CONFIG_ACPI_FAN=y
CONFIG_ACPI_TAD=m
CONFIG_ACPI_DOCK=y
CONFIG_ACPI_CPU_FREQ_PSS=y
CONFIG_ACPI_PROCESSOR_CSTATE=y
CONFIG_ACPI_PROCESSOR_IDLE=y
CONFIG_ACPI_CPPC_LIB=y
CONFIG_ACPI_PROCESSOR=y
CONFIG_ACPI_IPMI=m
CONFIG_ACPI_HOTPLUG_CPU=y
CONFIG_ACPI_PROCESSOR_AGGREGATOR=m
CONFIG_ACPI_THERMAL=y
CONFIG_ACPI_PLATFORM_PROFILE=m
CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
CONFIG_ACPI_TABLE_UPGRADE=y
# CONFIG_ACPI_DEBUG is not set
CONFIG_ACPI_PCI_SLOT=y
CONFIG_ACPI_CONTAINER=y
CONFIG_ACPI_HOTPLUG_MEMORY=y
CONFIG_ACPI_HOTPLUG_IOAPIC=y
CONFIG_ACPI_SBS=m
CONFIG_ACPI_HED=y
# CONFIG_ACPI_CUSTOM_METHOD is not set
CONFIG_ACPI_BGRT=y
CONFIG_ACPI_NFIT=m
# CONFIG_NFIT_SECURITY_DEBUG is not set
CONFIG_ACPI_NUMA=y
# CONFIG_ACPI_HMAT is not set
CONFIG_HAVE_ACPI_APEI=y
CONFIG_HAVE_ACPI_APEI_NMI=y
CONFIG_ACPI_APEI=y
CONFIG_ACPI_APEI_GHES=y
CONFIG_ACPI_APEI_PCIEAER=y
CONFIG_ACPI_APEI_MEMORY_FAILURE=y
CONFIG_ACPI_APEI_EINJ=m
# CONFIG_ACPI_APEI_ERST_DEBUG is not set
# CONFIG_ACPI_DPTF is not set
CONFIG_ACPI_WATCHDOG=y
CONFIG_ACPI_EXTLOG=m
CONFIG_ACPI_ADXL=y
# CONFIG_ACPI_CONFIGFS is not set
# CONFIG_ACPI_PFRUT is not set
CONFIG_ACPI_PCC=y
# CONFIG_ACPI_FFH is not set
CONFIG_PMIC_OPREGION=y
CONFIG_ACPI_PRMT=y
CONFIG_X86_PM_TIMER=y

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

#
# CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
# CONFIG_X86_PCC_CPUFREQ is not set
# CONFIG_X86_AMD_PSTATE is not set
# CONFIG_X86_AMD_PSTATE_UT is not set
CONFIG_X86_ACPI_CPUFREQ=m
CONFIG_X86_ACPI_CPUFREQ_CPB=y
# CONFIG_X86_POWERNOW_K8 is not set
# CONFIG_X86_AMD_FREQ_SENSITIVITY is not set
# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
CONFIG_X86_P4_CLOCKMOD=m

#
# shared options
#
CONFIG_X86_SPEEDSTEP_LIB=m
# end of CPU Frequency scaling

#
# CPU Idle
#
CONFIG_CPU_IDLE=y
# CONFIG_CPU_IDLE_GOV_LADDER is not set
CONFIG_CPU_IDLE_GOV_MENU=y
# CONFIG_CPU_IDLE_GOV_TEO is not set
CONFIG_CPU_IDLE_GOV_HALTPOLL=y
CONFIG_HALTPOLL_CPUIDLE=y
# end of CPU Idle

CONFIG_INTEL_IDLE=y
# end of Power management and ACPI options

#
# Bus options (PCI etc.)
#
CONFIG_PCI_DIRECT=y
CONFIG_PCI_MMCONFIG=y
CONFIG_MMCONF_FAM10H=y
CONFIG_ISA_DMA_API=y
CONFIG_AMD_NB=y
# end of Bus options (PCI etc.)

#
# Binary Emulations
#
CONFIG_IA32_EMULATION=y
# CONFIG_X86_X32_ABI is not set
CONFIG_COMPAT_32=y
CONFIG_COMPAT=y
CONFIG_COMPAT_FOR_U64_ALIGNMENT=y
# end of Binary Emulations

CONFIG_HAVE_KVM=y
CONFIG_HAVE_KVM_PFNCACHE=y
CONFIG_HAVE_KVM_IRQCHIP=y
CONFIG_HAVE_KVM_IRQFD=y
CONFIG_HAVE_KVM_IRQ_ROUTING=y
CONFIG_HAVE_KVM_DIRTY_RING=y
CONFIG_HAVE_KVM_DIRTY_RING_TSO=y
CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
CONFIG_HAVE_KVM_EVENTFD=y
CONFIG_KVM_MMIO=y
CONFIG_KVM_ASYNC_PF=y
CONFIG_HAVE_KVM_MSI=y
CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
CONFIG_KVM_VFIO=y
CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
CONFIG_KVM_COMPAT=y
CONFIG_HAVE_KVM_IRQ_BYPASS=y
CONFIG_HAVE_KVM_NO_POLL=y
CONFIG_KVM_XFER_TO_GUEST_WORK=y
CONFIG_HAVE_KVM_PM_NOTIFIER=y
CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
CONFIG_VIRTUALIZATION=y
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
# CONFIG_KVM_AMD is not set
CONFIG_KVM_SMM=y
# CONFIG_KVM_XEN is not set
CONFIG_AS_AVX512=y
CONFIG_AS_SHA1_NI=y
CONFIG_AS_SHA256_NI=y
CONFIG_AS_TPAUSE=y
CONFIG_AS_GFNI=y

#
# General architecture-dependent options
#
CONFIG_CRASH_CORE=y
CONFIG_KEXEC_CORE=y
CONFIG_HOTPLUG_SMT=y
CONFIG_GENERIC_ENTRY=y
CONFIG_KPROBES=y
CONFIG_JUMP_LABEL=y
# CONFIG_STATIC_KEYS_SELFTEST is not set
# CONFIG_STATIC_CALL_SELFTEST is not set
CONFIG_OPTPROBES=y
CONFIG_KPROBES_ON_FTRACE=y
CONFIG_UPROBES=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_ARCH_USE_BUILTIN_BSWAP=y
CONFIG_KRETPROBES=y
CONFIG_KRETPROBE_ON_RETHOOK=y
CONFIG_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_IOREMAP_PROT=y
CONFIG_HAVE_KPROBES=y
CONFIG_HAVE_KRETPROBES=y
CONFIG_HAVE_OPTPROBES=y
CONFIG_HAVE_KPROBES_ON_FTRACE=y
CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
CONFIG_HAVE_NMI=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_HAVE_DMA_CONTIGUOUS=y
CONFIG_GENERIC_SMP_IDLE_THREAD=y
CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
CONFIG_ARCH_HAS_SET_MEMORY=y
CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
CONFIG_ARCH_WANTS_NO_INSTR=y
CONFIG_HAVE_ASM_MODVERSIONS=y
CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
CONFIG_HAVE_RSEQ=y
CONFIG_HAVE_RUST=y
CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
CONFIG_HAVE_HW_BREAKPOINT=y
CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
CONFIG_HAVE_USER_RETURN_NOTIFIER=y
CONFIG_HAVE_PERF_EVENTS_NMI=y
CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HAVE_PERF_REGS=y
CONFIG_HAVE_PERF_USER_STACK_DUMP=y
CONFIG_HAVE_ARCH_JUMP_LABEL=y
CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
CONFIG_MMU_GATHER_TABLE_FREE=y
CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
CONFIG_MMU_GATHER_MERGE_VMAS=y
CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
CONFIG_HAVE_CMPXCHG_LOCAL=y
CONFIG_HAVE_CMPXCHG_DOUBLE=y
CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
CONFIG_ARCH_WANT_OLD_COMPAT_IPC=y
CONFIG_HAVE_ARCH_SECCOMP=y
CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
CONFIG_SECCOMP=y
CONFIG_SECCOMP_FILTER=y
# CONFIG_SECCOMP_CACHE_DEBUG is not set
CONFIG_HAVE_ARCH_STACKLEAK=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
CONFIG_LTO_NONE=y
CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES=y
CONFIG_HAVE_CONTEXT_TRACKING_USER=y
CONFIG_HAVE_CONTEXT_TRACKING_USER_OFFSTACK=y
CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
CONFIG_HAVE_MOVE_PUD=y
CONFIG_HAVE_MOVE_PMD=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y
CONFIG_HAVE_ARCH_HUGE_VMAP=y
CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
CONFIG_HAVE_ARCH_SOFT_DIRTY=y
CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
CONFIG_MODULES_USE_ELF_RELA=y
CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
CONFIG_SOFTIRQ_ON_OWN_STACK=y
CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
CONFIG_HAVE_EXIT_THREAD=y
CONFIG_ARCH_MMAP_RND_BITS=28
CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
CONFIG_HAVE_ARCH_COMPAT_MMAP_BASES=y
CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
CONFIG_HAVE_OBJTOOL=y
CONFIG_HAVE_JUMP_LABEL_HACK=y
CONFIG_HAVE_NOINSTR_HACK=y
CONFIG_HAVE_NOINSTR_VALIDATION=y
CONFIG_HAVE_UACCESS_VALIDATION=y
CONFIG_HAVE_STACK_VALIDATION=y
CONFIG_HAVE_RELIABLE_STACKTRACE=y
CONFIG_OLD_SIGSUSPEND3=y
CONFIG_COMPAT_OLD_SIGACTION=y
CONFIG_COMPAT_32BIT_TIME=y
CONFIG_HAVE_ARCH_VMAP_STACK=y
CONFIG_VMAP_STACK=y
CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
CONFIG_RANDOMIZE_KSTACK_OFFSET=y
# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
CONFIG_STRICT_KERNEL_RWX=y
CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
CONFIG_STRICT_MODULE_RWX=y
CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
CONFIG_ARCH_USE_MEMREMAP_PROT=y
# CONFIG_LOCK_EVENT_COUNTS is not set
CONFIG_ARCH_HAS_MEM_ENCRYPT=y
CONFIG_ARCH_HAS_CC_PLATFORM=y
CONFIG_HAVE_STATIC_CALL=y
CONFIG_HAVE_STATIC_CALL_INLINE=y
CONFIG_HAVE_PREEMPT_DYNAMIC=y
CONFIG_HAVE_PREEMPT_DYNAMIC_CALL=y
CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
CONFIG_ARCH_HAS_ELFCORE_COMPAT=y
CONFIG_ARCH_HAS_PARANOID_L1D_FLUSH=y
CONFIG_DYNAMIC_SIGFRAME=y
CONFIG_ARCH_HAS_NONLEAF_PMD_YOUNG=y

#
# GCOV-based kernel profiling
#
# CONFIG_GCOV_KERNEL is not set
CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
# end of GCOV-based kernel profiling

CONFIG_HAVE_GCC_PLUGINS=y
CONFIG_GCC_PLUGINS=y
# CONFIG_GCC_PLUGIN_LATENT_ENTROPY is not set
CONFIG_FUNCTION_ALIGNMENT_4B=y
CONFIG_FUNCTION_ALIGNMENT_16B=y
CONFIG_FUNCTION_ALIGNMENT=16
# end of General architecture-dependent options

CONFIG_RT_MUTEXES=y
CONFIG_BASE_SMALL=0
CONFIG_MODULE_SIG_FORMAT=y
CONFIG_MODULES=y
CONFIG_MODULE_FORCE_LOAD=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
# CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_MODULE_SIG=y
# CONFIG_MODULE_SIG_FORCE is not set
CONFIG_MODULE_SIG_ALL=y
# CONFIG_MODULE_SIG_SHA1 is not set
# CONFIG_MODULE_SIG_SHA224 is not set
CONFIG_MODULE_SIG_SHA256=y
# CONFIG_MODULE_SIG_SHA384 is not set
# CONFIG_MODULE_SIG_SHA512 is not set
CONFIG_MODULE_SIG_HASH="sha256"
CONFIG_MODULE_COMPRESS_NONE=y
# CONFIG_MODULE_COMPRESS_GZIP is not set
# CONFIG_MODULE_COMPRESS_XZ is not set
# CONFIG_MODULE_COMPRESS_ZSTD is not set
# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
CONFIG_MODPROBE_PATH="/sbin/modprobe"
CONFIG_MODULES_TREE_LOOKUP=y
CONFIG_BLOCK=y
CONFIG_BLOCK_LEGACY_AUTOLOAD=y
CONFIG_BLK_CGROUP_RWSTAT=y
CONFIG_BLK_DEV_BSG_COMMON=y
CONFIG_BLK_ICQ=y
CONFIG_BLK_DEV_BSGLIB=y
CONFIG_BLK_DEV_INTEGRITY=y
CONFIG_BLK_DEV_INTEGRITY_T10=m
CONFIG_BLK_DEV_ZONED=y
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_BLK_DEV_THROTTLING_LOW is not set
CONFIG_BLK_WBT=y
CONFIG_BLK_WBT_MQ=y
# CONFIG_BLK_CGROUP_IOLATENCY is not set
# CONFIG_BLK_CGROUP_IOCOST is not set
# CONFIG_BLK_CGROUP_IOPRIO is not set
CONFIG_BLK_DEBUG_FS=y
CONFIG_BLK_DEBUG_FS_ZONED=y
# CONFIG_BLK_SED_OPAL is not set
# CONFIG_BLK_INLINE_ENCRYPTION is not set

#
# Partition Types
#
# CONFIG_PARTITION_ADVANCED is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_EFI_PARTITION=y
# end of Partition Types

CONFIG_BLOCK_COMPAT=y
CONFIG_BLK_MQ_PCI=y
CONFIG_BLK_MQ_VIRTIO=y
CONFIG_BLK_MQ_RDMA=y
CONFIG_BLK_PM=y
CONFIG_BLOCK_HOLDER_DEPRECATED=y
CONFIG_BLK_MQ_STACKING=y

#
# IO Schedulers
#
CONFIG_MQ_IOSCHED_DEADLINE=y
CONFIG_MQ_IOSCHED_KYBER=y
CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
# CONFIG_BFQ_CGROUP_DEBUG is not set
# end of IO Schedulers

CONFIG_PREEMPT_NOTIFIERS=y
CONFIG_PADATA=y
CONFIG_ASN1=y
CONFIG_INLINE_SPIN_UNLOCK_IRQ=y
CONFIG_INLINE_READ_UNLOCK=y
CONFIG_INLINE_READ_UNLOCK_IRQ=y
CONFIG_INLINE_WRITE_UNLOCK=y
CONFIG_INLINE_WRITE_UNLOCK_IRQ=y
CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
CONFIG_MUTEX_SPIN_ON_OWNER=y
CONFIG_RWSEM_SPIN_ON_OWNER=y
CONFIG_LOCK_SPIN_ON_OWNER=y
CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
CONFIG_QUEUED_SPINLOCKS=y
CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
CONFIG_QUEUED_RWLOCKS=y
CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y
CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
CONFIG_FREEZER=y

#
# Executable file formats
#
CONFIG_BINFMT_ELF=y
CONFIG_COMPAT_BINFMT_ELF=y
CONFIG_ELFCORE=y
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
CONFIG_BINFMT_SCRIPT=y
CONFIG_BINFMT_MISC=m
CONFIG_COREDUMP=y
# end of Executable file formats

#
# Memory Management options
#
CONFIG_ZPOOL=y
CONFIG_SWAP=y
CONFIG_ZSWAP=y
# CONFIG_ZSWAP_DEFAULT_ON is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
CONFIG_ZBUD=y
# CONFIG_Z3FOLD is not set
CONFIG_ZSMALLOC=y
CONFIG_ZSMALLOC_STAT=y
CONFIG_ZSMALLOC_CHAIN_SIZE=8

#
# SLAB allocator options
#
# CONFIG_SLAB is not set
CONFIG_SLUB=y
CONFIG_SLAB_MERGE_DEFAULT=y
CONFIG_SLAB_FREELIST_RANDOM=y
# CONFIG_SLAB_FREELIST_HARDENED is not set
# CONFIG_SLUB_STATS is not set
CONFIG_SLUB_CPU_PARTIAL=y
# end of SLAB allocator options

CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
# CONFIG_COMPAT_BRK is not set
CONFIG_SPARSEMEM=y
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_SPARSEMEM_VMEMMAP=y
CONFIG_HAVE_FAST_GUP=y
CONFIG_NUMA_KEEP_MEMINFO=y
CONFIG_MEMORY_ISOLATION=y
CONFIG_EXCLUSIVE_SYSTEM_RAM=y
CONFIG_HAVE_BOOTMEM_INFO_NODE=y
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_MEMORY_HOTPLUG=y
# CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set
CONFIG_MEMORY_HOTREMOVE=y
CONFIG_MHP_MEMMAP_ON_MEMORY=y
CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
CONFIG_MEMORY_BALLOON=y
CONFIG_BALLOON_COMPACTION=y
CONFIG_COMPACTION=y
CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
CONFIG_PAGE_REPORTING=y
CONFIG_MIGRATION=y
CONFIG_DEVICE_MIGRATION=y
CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
CONFIG_ARCH_ENABLE_THP_MIGRATION=y
CONFIG_CONTIG_ALLOC=y
CONFIG_PHYS_ADDR_T_64BIT=y
CONFIG_MMU_NOTIFIER=y
CONFIG_KSM=y
CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
CONFIG_MEMORY_FAILURE=y
CONFIG_HWPOISON_INJECT=m
CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
CONFIG_ARCH_WANTS_THP_SWAP=y
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
CONFIG_THP_SWAP=y
# CONFIG_READ_ONLY_THP_FOR_FS is not set
CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
CONFIG_USE_PERCPU_NUMA_NODE_ID=y
CONFIG_HAVE_SETUP_PER_CPU_AREA=y
CONFIG_FRONTSWAP=y
CONFIG_CMA=y
# CONFIG_CMA_DEBUG is not set
# CONFIG_CMA_DEBUGFS is not set
# CONFIG_CMA_SYSFS is not set
CONFIG_CMA_AREAS=19
CONFIG_GENERIC_EARLY_IOREMAP=y
CONFIG_DEFERRED_STRUCT_PAGE_INIT=y
CONFIG_PAGE_IDLE_FLAG=y
CONFIG_IDLE_PAGE_TRACKING=y
CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
CONFIG_ARCH_HAS_PTE_DEVMAP=y
CONFIG_ZONE_DMA=y
CONFIG_ZONE_DMA32=y
CONFIG_ZONE_DEVICE=y
CONFIG_HMM_MIRROR=y
CONFIG_GET_FREE_REGION=y
CONFIG_DEVICE_PRIVATE=y
CONFIG_VMAP_PFN=y
CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
CONFIG_ARCH_HAS_PKEYS=y
CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_PERCPU_STATS is not set
# CONFIG_GUP_TEST is not set
CONFIG_ARCH_HAS_PTE_SPECIAL=y
CONFIG_SECRETMEM=y
# CONFIG_ANON_VMA_NAME is not set
# CONFIG_USERFAULTFD is not set
# CONFIG_LRU_GEN is not set

#
# Data Access Monitoring
#
# CONFIG_DAMON is not set
# end of Data Access Monitoring
# end of Memory Management options

CONFIG_NET=y
CONFIG_COMPAT_NETLINK_MESSAGES=y
CONFIG_NET_INGRESS=y
CONFIG_NET_EGRESS=y
CONFIG_SKB_EXTENSIONS=y

#
# Networking options
#
CONFIG_PACKET=y
CONFIG_PACKET_DIAG=m
CONFIG_UNIX=y
CONFIG_UNIX_SCM=y
CONFIG_AF_UNIX_OOB=y
CONFIG_UNIX_DIAG=m
CONFIG_TLS=m
CONFIG_TLS_DEVICE=y
# CONFIG_TLS_TOE is not set
CONFIG_XFRM=y
CONFIG_XFRM_OFFLOAD=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_USER_COMPAT is not set
# CONFIG_XFRM_INTERFACE is not set
CONFIG_XFRM_SUB_POLICY=y
CONFIG_XFRM_MIGRATE=y
CONFIG_XFRM_STATISTICS=y
CONFIG_XFRM_AH=m
CONFIG_XFRM_ESP=m
CONFIG_XFRM_IPCOMP=m
CONFIG_NET_KEY=m
CONFIG_NET_KEY_MIGRATE=y
# CONFIG_SMC is not set
CONFIG_XDP_SOCKETS=y
# CONFIG_XDP_SOCKETS_DIAG is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_IP_FIB_TRIE_STATS=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_IP_ROUTE_CLASSID=y
CONFIG_IP_PNP=y
CONFIG_IP_PNP_DHCP=y
# CONFIG_IP_PNP_BOOTP is not set
# CONFIG_IP_PNP_RARP is not set
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE_DEMUX=m
CONFIG_NET_IP_TUNNEL=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=y
CONFIG_IP_MROUTE_COMMON=y
CONFIG_IP_MROUTE=y
CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
CONFIG_IP_PIMSM_V1=y
CONFIG_IP_PIMSM_V2=y
CONFIG_SYN_COOKIES=y
CONFIG_NET_IPVTI=m
CONFIG_NET_UDP_TUNNEL=m
# CONFIG_NET_FOU is not set
# CONFIG_NET_FOU_IP_TUNNELS is not set
CONFIG_INET_AH=m
CONFIG_INET_ESP=m
CONFIG_INET_ESP_OFFLOAD=m
# CONFIG_INET_ESPINTCP is not set
CONFIG_INET_IPCOMP=m
CONFIG_INET_TABLE_PERTURB_ORDER=16
CONFIG_INET_XFRM_TUNNEL=m
CONFIG_INET_TUNNEL=m
CONFIG_INET_DIAG=m
CONFIG_INET_TCP_DIAG=m
CONFIG_INET_UDP_DIAG=m
CONFIG_INET_RAW_DIAG=m
# CONFIG_INET_DIAG_DESTROY is not set
CONFIG_TCP_CONG_ADVANCED=y
CONFIG_TCP_CONG_BIC=m
CONFIG_TCP_CONG_CUBIC=y
CONFIG_TCP_CONG_WESTWOOD=m
CONFIG_TCP_CONG_HTCP=m
CONFIG_TCP_CONG_HSTCP=m
CONFIG_TCP_CONG_HYBLA=m
CONFIG_TCP_CONG_VEGAS=m
CONFIG_TCP_CONG_NV=m
CONFIG_TCP_CONG_SCALABLE=m
CONFIG_TCP_CONG_LP=m
CONFIG_TCP_CONG_VENO=m
CONFIG_TCP_CONG_YEAH=m
CONFIG_TCP_CONG_ILLINOIS=m
CONFIG_TCP_CONG_DCTCP=m
# CONFIG_TCP_CONG_CDG is not set
CONFIG_TCP_CONG_BBR=m
CONFIG_DEFAULT_CUBIC=y
# CONFIG_DEFAULT_RENO is not set
CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_TCP_MD5SIG=y
CONFIG_IPV6=y
CONFIG_IPV6_ROUTER_PREF=y
CONFIG_IPV6_ROUTE_INFO=y
CONFIG_IPV6_OPTIMISTIC_DAD=y
CONFIG_INET6_AH=m
CONFIG_INET6_ESP=m
CONFIG_INET6_ESP_OFFLOAD=m
# CONFIG_INET6_ESPINTCP is not set
CONFIG_INET6_IPCOMP=m
CONFIG_IPV6_MIP6=m
# CONFIG_IPV6_ILA is not set
CONFIG_INET6_XFRM_TUNNEL=m
CONFIG_INET6_TUNNEL=m
CONFIG_IPV6_VTI=m
CONFIG_IPV6_SIT=m
CONFIG_IPV6_SIT_6RD=y
CONFIG_IPV6_NDISC_NODETYPE=y
CONFIG_IPV6_TUNNEL=m
CONFIG_IPV6_GRE=m
CONFIG_IPV6_MULTIPLE_TABLES=y
# CONFIG_IPV6_SUBTREES is not set
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
CONFIG_IPV6_PIMSM_V2=y
# CONFIG_IPV6_SEG6_LWTUNNEL is not set
# CONFIG_IPV6_SEG6_HMAC is not set
# CONFIG_IPV6_RPL_LWTUNNEL is not set
# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
CONFIG_NETLABEL=y
# CONFIG_MPTCP is not set
CONFIG_NETWORK_SECMARK=y
CONFIG_NET_PTP_CLASSIFY=y
CONFIG_NETWORK_PHY_TIMESTAMPING=y
CONFIG_NETFILTER=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_BRIDGE_NETFILTER=m

#
# Core Netfilter Configuration
#
CONFIG_NETFILTER_INGRESS=y
CONFIG_NETFILTER_EGRESS=y
CONFIG_NETFILTER_SKIP_EGRESS=y
CONFIG_NETFILTER_NETLINK=m
CONFIG_NETFILTER_FAMILY_BRIDGE=y
CONFIG_NETFILTER_FAMILY_ARP=y
# CONFIG_NETFILTER_NETLINK_HOOK is not set
# CONFIG_NETFILTER_NETLINK_ACCT is not set
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_LOG=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_LOG_SYSLOG=m
CONFIG_NETFILTER_CONNCOUNT=m
CONFIG_NF_CONNTRACK_MARK=y
CONFIG_NF_CONNTRACK_SECMARK=y
CONFIG_NF_CONNTRACK_ZONES=y
CONFIG_NF_CONNTRACK_PROCFS=y
CONFIG_NF_CONNTRACK_EVENTS=y
CONFIG_NF_CONNTRACK_TIMEOUT=y
CONFIG_NF_CONNTRACK_TIMESTAMP=y
CONFIG_NF_CONNTRACK_LABELS=y
CONFIG_NF_CONNTRACK_OVS=y
CONFIG_NF_CT_PROTO_DCCP=y
CONFIG_NF_CT_PROTO_GRE=y
CONFIG_NF_CT_PROTO_SCTP=y
CONFIG_NF_CT_PROTO_UDPLITE=y
CONFIG_NF_CONNTRACK_AMANDA=m
CONFIG_NF_CONNTRACK_FTP=m
CONFIG_NF_CONNTRACK_H323=m
CONFIG_NF_CONNTRACK_IRC=m
CONFIG_NF_CONNTRACK_BROADCAST=m
CONFIG_NF_CONNTRACK_NETBIOS_NS=m
CONFIG_NF_CONNTRACK_SNMP=m
CONFIG_NF_CONNTRACK_PPTP=m
CONFIG_NF_CONNTRACK_SANE=m
CONFIG_NF_CONNTRACK_SIP=m
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_CT_NETLINK_TIMEOUT=m
CONFIG_NF_CT_NETLINK_HELPER=m
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT=m
CONFIG_NF_NAT_AMANDA=m
CONFIG_NF_NAT_FTP=m
CONFIG_NF_NAT_IRC=m
CONFIG_NF_NAT_SIP=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NF_NAT_OVS=y
CONFIG_NETFILTER_SYNPROXY=m
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_INET=y
CONFIG_NF_TABLES_NETDEV=y
CONFIG_NFT_NUMGEN=m
CONFIG_NFT_CT=m
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_REDIR=m
CONFIG_NFT_NAT=m
# CONFIG_NFT_TUNNEL is not set
CONFIG_NFT_QUEUE=m
CONFIG_NFT_QUOTA=m
CONFIG_NFT_REJECT=m
CONFIG_NFT_REJECT_INET=m
CONFIG_NFT_COMPAT=m
CONFIG_NFT_HASH=m
CONFIG_NFT_FIB=m
CONFIG_NFT_FIB_INET=m
# CONFIG_NFT_XFRM is not set
CONFIG_NFT_SOCKET=m
# CONFIG_NFT_OSF is not set
# CONFIG_NFT_TPROXY is not set
# CONFIG_NFT_SYNPROXY is not set
CONFIG_NF_DUP_NETDEV=m
CONFIG_NFT_DUP_NETDEV=m
CONFIG_NFT_FWD_NETDEV=m
CONFIG_NFT_FIB_NETDEV=m
# CONFIG_NFT_REJECT_NETDEV is not set
# CONFIG_NF_FLOW_TABLE is not set
CONFIG_NETFILTER_XTABLES=y
CONFIG_NETFILTER_XTABLES_COMPAT=y

#
# Xtables combined modules
#
CONFIG_NETFILTER_XT_MARK=m
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NETFILTER_XT_SET=m

#
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=m
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m
CONFIG_NETFILTER_XT_TARGET_CT=m
CONFIG_NETFILTER_XT_TARGET_DSCP=m
CONFIG_NETFILTER_XT_TARGET_HL=m
CONFIG_NETFILTER_XT_TARGET_HMARK=m
CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
# CONFIG_NETFILTER_XT_TARGET_LED is not set
CONFIG_NETFILTER_XT_TARGET_LOG=m
CONFIG_NETFILTER_XT_TARGET_MARK=m
CONFIG_NETFILTER_XT_NAT=m
CONFIG_NETFILTER_XT_TARGET_NETMAP=m
CONFIG_NETFILTER_XT_TARGET_NFLOG=m
CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
CONFIG_NETFILTER_XT_TARGET_RATEEST=m
CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
CONFIG_NETFILTER_XT_TARGET_TEE=m
CONFIG_NETFILTER_XT_TARGET_TPROXY=m
CONFIG_NETFILTER_XT_TARGET_TRACE=m
CONFIG_NETFILTER_XT_TARGET_SECMARK=m
CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m

#
# Xtables matches
#
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
CONFIG_NETFILTER_XT_MATCH_BPF=m
CONFIG_NETFILTER_XT_MATCH_CGROUP=m
CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
CONFIG_NETFILTER_XT_MATCH_COMMENT=m
CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_CPU=m
CONFIG_NETFILTER_XT_MATCH_DCCP=m
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
CONFIG_NETFILTER_XT_MATCH_DSCP=m
CONFIG_NETFILTER_XT_MATCH_ECN=m
CONFIG_NETFILTER_XT_MATCH_ESP=m
CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
CONFIG_NETFILTER_XT_MATCH_HELPER=m
CONFIG_NETFILTER_XT_MATCH_HL=m
# CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set
CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
CONFIG_NETFILTER_XT_MATCH_IPVS=m
# CONFIG_NETFILTER_XT_MATCH_L2TP is not set
CONFIG_NETFILTER_XT_MATCH_LENGTH=m
CONFIG_NETFILTER_XT_MATCH_LIMIT=m
CONFIG_NETFILTER_XT_MATCH_MAC=m
CONFIG_NETFILTER_XT_MATCH_MARK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
# CONFIG_NETFILTER_XT_MATCH_NFACCT is not set
CONFIG_NETFILTER_XT_MATCH_OSF=m
CONFIG_NETFILTER_XT_MATCH_OWNER=m
CONFIG_NETFILTER_XT_MATCH_POLICY=m
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
CONFIG_NETFILTER_XT_MATCH_QUOTA=m
CONFIG_NETFILTER_XT_MATCH_RATEEST=m
CONFIG_NETFILTER_XT_MATCH_REALM=m
CONFIG_NETFILTER_XT_MATCH_RECENT=m
CONFIG_NETFILTER_XT_MATCH_SCTP=m
CONFIG_NETFILTER_XT_MATCH_SOCKET=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
CONFIG_NETFILTER_XT_MATCH_STRING=m
CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
# CONFIG_NETFILTER_XT_MATCH_TIME is not set
# CONFIG_NETFILTER_XT_MATCH_U32 is not set
# end of Core Netfilter Configuration

CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_IP_SET_BITMAP_IP=m
CONFIG_IP_SET_BITMAP_IPMAC=m
CONFIG_IP_SET_BITMAP_PORT=m
CONFIG_IP_SET_HASH_IP=m
CONFIG_IP_SET_HASH_IPMARK=m
CONFIG_IP_SET_HASH_IPPORT=m
CONFIG_IP_SET_HASH_IPPORTIP=m
CONFIG_IP_SET_HASH_IPPORTNET=m
CONFIG_IP_SET_HASH_IPMAC=m
CONFIG_IP_SET_HASH_MAC=m
CONFIG_IP_SET_HASH_NETPORTNET=m
CONFIG_IP_SET_HASH_NET=m
CONFIG_IP_SET_HASH_NETNET=m
CONFIG_IP_SET_HASH_NETPORT=m
CONFIG_IP_SET_HASH_NETIFACE=m
CONFIG_IP_SET_LIST_SET=m
CONFIG_IP_VS=m
CONFIG_IP_VS_IPV6=y
# CONFIG_IP_VS_DEBUG is not set
CONFIG_IP_VS_TAB_BITS=12

#
# IPVS transport protocol load balancing support
#
CONFIG_IP_VS_PROTO_TCP=y
CONFIG_IP_VS_PROTO_UDP=y
CONFIG_IP_VS_PROTO_AH_ESP=y
CONFIG_IP_VS_PROTO_ESP=y
CONFIG_IP_VS_PROTO_AH=y
CONFIG_IP_VS_PROTO_SCTP=y

#
# IPVS scheduler
#
CONFIG_IP_VS_RR=m
CONFIG_IP_VS_WRR=m
CONFIG_IP_VS_LC=m
CONFIG_IP_VS_WLC=m
CONFIG_IP_VS_FO=m
CONFIG_IP_VS_OVF=m
CONFIG_IP_VS_LBLC=m
CONFIG_IP_VS_LBLCR=m
CONFIG_IP_VS_DH=m
CONFIG_IP_VS_SH=m
# CONFIG_IP_VS_MH is not set
CONFIG_IP_VS_SED=m
CONFIG_IP_VS_NQ=m
# CONFIG_IP_VS_TWOS is not set

#
# IPVS SH scheduler
#
CONFIG_IP_VS_SH_TAB_BITS=8

#
# IPVS MH scheduler
#
CONFIG_IP_VS_MH_TAB_INDEX=12

#
# IPVS application helper
#
CONFIG_IP_VS_FTP=m
CONFIG_IP_VS_NFCT=y
CONFIG_IP_VS_PE_SIP=m

#
# IP: Netfilter Configuration
#
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_SOCKET_IPV4=m
CONFIG_NF_TPROXY_IPV4=m
CONFIG_NF_TABLES_IPV4=y
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NFT_DUP_IPV4=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NF_TABLES_ARP=y
CONFIG_NF_DUP_IPV4=m
CONFIG_NF_LOG_ARP=m
CONFIG_NF_LOG_IPV4=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_NF_NAT_SNMP_BASIC=m
CONFIG_NF_NAT_PPTP=m
CONFIG_NF_NAT_H323=m
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_MATCH_AH=m
CONFIG_IP_NF_MATCH_ECN=m
CONFIG_IP_NF_MATCH_RPFILTER=m
CONFIG_IP_NF_MATCH_TTL=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_SYNPROXY=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_TARGET_NETMAP=m
CONFIG_IP_NF_TARGET_REDIRECT=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP_NF_TARGET_ECN=m
CONFIG_IP_NF_TARGET_TTL=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_SECURITY=m
CONFIG_IP_NF_ARPTABLES=m
CONFIG_IP_NF_ARPFILTER=m
CONFIG_IP_NF_ARP_MANGLE=m
# end of IP: Netfilter Configuration

#
# IPv6: Netfilter Configuration
#
CONFIG_NF_SOCKET_IPV6=m
CONFIG_NF_TPROXY_IPV6=m
CONFIG_NF_TABLES_IPV6=y
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NFT_DUP_IPV6=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NF_DUP_IPV6=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NF_LOG_IPV6=m
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_MATCH_AH=m
CONFIG_IP6_NF_MATCH_EUI64=m
CONFIG_IP6_NF_MATCH_FRAG=m
CONFIG_IP6_NF_MATCH_OPTS=m
CONFIG_IP6_NF_MATCH_HL=m
CONFIG_IP6_NF_MATCH_IPV6HEADER=m
CONFIG_IP6_NF_MATCH_MH=m
CONFIG_IP6_NF_MATCH_RPFILTER=m
CONFIG_IP6_NF_MATCH_RT=m
# CONFIG_IP6_NF_MATCH_SRH is not set
# CONFIG_IP6_NF_TARGET_HL is not set
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_TARGET_SYNPROXY=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
CONFIG_IP6_NF_TARGET_NPT=m
# end of IPv6: Netfilter Configuration

CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_TABLES_BRIDGE=m
# CONFIG_NFT_BRIDGE_META is not set
CONFIG_NFT_BRIDGE_REJECT=m
# CONFIG_NF_CONNTRACK_BRIDGE is not set
CONFIG_BRIDGE_NF_EBTABLES=m
CONFIG_BRIDGE_EBT_BROUTE=m
CONFIG_BRIDGE_EBT_T_FILTER=m
CONFIG_BRIDGE_EBT_T_NAT=m
CONFIG_BRIDGE_EBT_802_3=m
CONFIG_BRIDGE_EBT_AMONG=m
CONFIG_BRIDGE_EBT_ARP=m
CONFIG_BRIDGE_EBT_IP=m
CONFIG_BRIDGE_EBT_IP6=m
CONFIG_BRIDGE_EBT_LIMIT=m
CONFIG_BRIDGE_EBT_MARK=m
CONFIG_BRIDGE_EBT_PKTTYPE=m
CONFIG_BRIDGE_EBT_STP=m
CONFIG_BRIDGE_EBT_VLAN=m
CONFIG_BRIDGE_EBT_ARPREPLY=m
CONFIG_BRIDGE_EBT_DNAT=m
CONFIG_BRIDGE_EBT_MARK_T=m
CONFIG_BRIDGE_EBT_REDIRECT=m
CONFIG_BRIDGE_EBT_SNAT=m
CONFIG_BRIDGE_EBT_LOG=m
CONFIG_BRIDGE_EBT_NFLOG=m
# CONFIG_BPFILTER is not set
# CONFIG_IP_DCCP is not set
CONFIG_IP_SCTP=m
# CONFIG_SCTP_DBG_OBJCNT is not set
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
CONFIG_SCTP_COOKIE_HMAC_MD5=y
CONFIG_SCTP_COOKIE_HMAC_SHA1=y
CONFIG_INET_SCTP_DIAG=m
# CONFIG_RDS is not set
CONFIG_TIPC=m
# CONFIG_TIPC_MEDIA_IB is not set
CONFIG_TIPC_MEDIA_UDP=y
CONFIG_TIPC_CRYPTO=y
CONFIG_TIPC_DIAG=m
CONFIG_ATM=m
CONFIG_ATM_CLIP=m
# CONFIG_ATM_CLIP_NO_ICMP is not set
CONFIG_ATM_LANE=m
# CONFIG_ATM_MPOA is not set
CONFIG_ATM_BR2684=m
# CONFIG_ATM_BR2684_IPFILTER is not set
CONFIG_L2TP=m
CONFIG_L2TP_DEBUGFS=m
CONFIG_L2TP_V3=y
CONFIG_L2TP_IP=m
CONFIG_L2TP_ETH=m
CONFIG_STP=m
CONFIG_GARP=m
CONFIG_MRP=m
CONFIG_BRIDGE=m
CONFIG_BRIDGE_IGMP_SNOOPING=y
CONFIG_BRIDGE_VLAN_FILTERING=y
# CONFIG_BRIDGE_MRP is not set
# CONFIG_BRIDGE_CFM is not set
# CONFIG_NET_DSA is not set
CONFIG_VLAN_8021Q=m
CONFIG_VLAN_8021Q_GVRP=y
CONFIG_VLAN_8021Q_MVRP=y
CONFIG_LLC=m
# CONFIG_LLC2 is not set
# CONFIG_ATALK is not set
# CONFIG_X25 is not set
# CONFIG_LAPB is not set
# CONFIG_PHONET is not set
CONFIG_6LOWPAN=m
# CONFIG_6LOWPAN_DEBUGFS is not set
# CONFIG_6LOWPAN_NHC is not set
# CONFIG_IEEE802154 is not set
CONFIG_NET_SCHED=y

#
# Queueing/Scheduling
#
CONFIG_NET_SCH_HTB=m
CONFIG_NET_SCH_HFSC=m
CONFIG_NET_SCH_PRIO=m
CONFIG_NET_SCH_MULTIQ=m
CONFIG_NET_SCH_RED=m
CONFIG_NET_SCH_SFB=m
CONFIG_NET_SCH_SFQ=m
CONFIG_NET_SCH_TEQL=m
CONFIG_NET_SCH_TBF=m
# CONFIG_NET_SCH_CBS is not set
# CONFIG_NET_SCH_ETF is not set
CONFIG_NET_SCH_MQPRIO_LIB=m
# CONFIG_NET_SCH_TAPRIO is not set
CONFIG_NET_SCH_GRED=m
CONFIG_NET_SCH_NETEM=m
CONFIG_NET_SCH_DRR=m
CONFIG_NET_SCH_MQPRIO=m
# CONFIG_NET_SCH_SKBPRIO is not set
CONFIG_NET_SCH_CHOKE=m
CONFIG_NET_SCH_QFQ=m
CONFIG_NET_SCH_CODEL=m
CONFIG_NET_SCH_FQ_CODEL=y
# CONFIG_NET_SCH_CAKE is not set
CONFIG_NET_SCH_FQ=m
CONFIG_NET_SCH_HHF=m
CONFIG_NET_SCH_PIE=m
# CONFIG_NET_SCH_FQ_PIE is not set
CONFIG_NET_SCH_INGRESS=m
CONFIG_NET_SCH_PLUG=m
# CONFIG_NET_SCH_ETS is not set
CONFIG_NET_SCH_DEFAULT=y
# CONFIG_DEFAULT_FQ is not set
# CONFIG_DEFAULT_CODEL is not set
CONFIG_DEFAULT_FQ_CODEL=y
# CONFIG_DEFAULT_SFQ is not set
# CONFIG_DEFAULT_PFIFO_FAST is not set
CONFIG_DEFAULT_NET_SCH="fq_codel"

#
# Classification
#
CONFIG_NET_CLS=y
CONFIG_NET_CLS_BASIC=m
CONFIG_NET_CLS_ROUTE4=m
CONFIG_NET_CLS_FW=m
CONFIG_NET_CLS_U32=m
CONFIG_CLS_U32_PERF=y
CONFIG_CLS_U32_MARK=y
CONFIG_NET_CLS_FLOW=m
CONFIG_NET_CLS_CGROUP=y
CONFIG_NET_CLS_BPF=m
CONFIG_NET_CLS_FLOWER=m
CONFIG_NET_CLS_MATCHALL=m
CONFIG_NET_EMATCH=y
CONFIG_NET_EMATCH_STACK=32
CONFIG_NET_EMATCH_CMP=m
CONFIG_NET_EMATCH_NBYTE=m
CONFIG_NET_EMATCH_U32=m
CONFIG_NET_EMATCH_META=m
CONFIG_NET_EMATCH_TEXT=m
# CONFIG_NET_EMATCH_CANID is not set
CONFIG_NET_EMATCH_IPSET=m
# CONFIG_NET_EMATCH_IPT is not set
CONFIG_NET_CLS_ACT=y
CONFIG_NET_ACT_POLICE=m
CONFIG_NET_ACT_GACT=m
CONFIG_GACT_PROB=y
CONFIG_NET_ACT_MIRRED=m
CONFIG_NET_ACT_SAMPLE=m
# CONFIG_NET_ACT_IPT is not set
CONFIG_NET_ACT_NAT=m
CONFIG_NET_ACT_PEDIT=m
CONFIG_NET_ACT_SIMP=m
CONFIG_NET_ACT_SKBEDIT=m
CONFIG_NET_ACT_CSUM=m
# CONFIG_NET_ACT_MPLS is not set
CONFIG_NET_ACT_VLAN=m
CONFIG_NET_ACT_BPF=m
# CONFIG_NET_ACT_CONNMARK is not set
# CONFIG_NET_ACT_CTINFO is not set
CONFIG_NET_ACT_SKBMOD=m
# CONFIG_NET_ACT_IFE is not set
CONFIG_NET_ACT_TUNNEL_KEY=m
# CONFIG_NET_ACT_GATE is not set
# CONFIG_NET_TC_SKB_EXT is not set
CONFIG_NET_SCH_FIFO=y
CONFIG_DCB=y
CONFIG_DNS_RESOLVER=m
# CONFIG_BATMAN_ADV is not set
CONFIG_OPENVSWITCH=m
CONFIG_OPENVSWITCH_GRE=m
CONFIG_VSOCKETS=m
CONFIG_VSOCKETS_DIAG=m
CONFIG_VSOCKETS_LOOPBACK=m
CONFIG_VMWARE_VMCI_VSOCKETS=m
CONFIG_VIRTIO_VSOCKETS=m
CONFIG_VIRTIO_VSOCKETS_COMMON=m
CONFIG_HYPERV_VSOCKETS=m
CONFIG_NETLINK_DIAG=m
CONFIG_MPLS=y
CONFIG_NET_MPLS_GSO=y
CONFIG_MPLS_ROUTING=m
CONFIG_MPLS_IPTUNNEL=m
CONFIG_NET_NSH=y
# CONFIG_HSR is not set
CONFIG_NET_SWITCHDEV=y
CONFIG_NET_L3_MASTER_DEV=y
# CONFIG_QRTR is not set
# CONFIG_NET_NCSI is not set
CONFIG_PCPU_DEV_REFCNT=y
CONFIG_RPS=y
CONFIG_RFS_ACCEL=y
CONFIG_SOCK_RX_QUEUE_MAPPING=y
CONFIG_XPS=y
CONFIG_CGROUP_NET_PRIO=y
CONFIG_CGROUP_NET_CLASSID=y
CONFIG_NET_RX_BUSY_POLL=y
CONFIG_BQL=y
CONFIG_NET_FLOW_LIMIT=y

#
# Network testing
#
CONFIG_NET_PKTGEN=m
CONFIG_NET_DROP_MONITOR=y
# end of Network testing
# end of Networking options

# CONFIG_HAMRADIO is not set
CONFIG_CAN=m
CONFIG_CAN_RAW=m
CONFIG_CAN_BCM=m
CONFIG_CAN_GW=m
# CONFIG_CAN_J1939 is not set
# CONFIG_CAN_ISOTP is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
# CONFIG_AF_KCM is not set
CONFIG_STREAM_PARSER=y
# CONFIG_MCTP is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_CFG80211=m
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
CONFIG_CFG80211_DEFAULT_PS=y
# CONFIG_CFG80211_DEBUGFS is not set
CONFIG_CFG80211_CRDA_SUPPORT=y
CONFIG_CFG80211_WEXT=y
CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
CONFIG_MAC80211_RC_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
CONFIG_MAC80211_MESH=y
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
# CONFIG_MAC80211_MESSAGE_TRACING is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
CONFIG_RFKILL=m
CONFIG_RFKILL_LEDS=y
CONFIG_RFKILL_INPUT=y
# CONFIG_RFKILL_GPIO is not set
CONFIG_NET_9P=y
CONFIG_NET_9P_FD=y
CONFIG_NET_9P_VIRTIO=y
# CONFIG_NET_9P_RDMA is not set
# CONFIG_NET_9P_DEBUG is not set
# CONFIG_CAIF is not set
CONFIG_CEPH_LIB=m
# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
CONFIG_CEPH_LIB_USE_DNS_RESOLVER=y
# CONFIG_NFC is not set
CONFIG_PSAMPLE=m
# CONFIG_NET_IFE is not set
CONFIG_LWTUNNEL=y
CONFIG_LWTUNNEL_BPF=y
CONFIG_DST_CACHE=y
CONFIG_GRO_CELLS=y
CONFIG_SOCK_VALIDATE_XMIT=y
CONFIG_NET_SELFTESTS=y
CONFIG_NET_SOCK_MSG=y
CONFIG_PAGE_POOL=y
# CONFIG_PAGE_POOL_STATS is not set
CONFIG_FAILOVER=m
CONFIG_ETHTOOL_NETLINK=y

#
# Device Drivers
#
CONFIG_HAVE_EISA=y
# CONFIG_EISA is not set
CONFIG_HAVE_PCI=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI_PCIE=y
CONFIG_PCIEAER=y
CONFIG_PCIEAER_INJECT=m
CONFIG_PCIE_ECRC=y
CONFIG_PCIEASPM=y
CONFIG_PCIEASPM_DEFAULT=y
# CONFIG_PCIEASPM_POWERSAVE is not set
# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
# CONFIG_PCIEASPM_PERFORMANCE is not set
CONFIG_PCIE_PME=y
CONFIG_PCIE_DPC=y
# CONFIG_PCIE_PTM is not set
# CONFIG_PCIE_EDR is not set
CONFIG_PCI_MSI=y
CONFIG_PCI_QUIRKS=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
CONFIG_PCI_STUB=y
CONFIG_PCI_PF_STUB=m
CONFIG_PCI_ATS=y
CONFIG_PCI_LOCKLESS_CONFIG=y
CONFIG_PCI_IOV=y
CONFIG_PCI_PRI=y
CONFIG_PCI_PASID=y
# CONFIG_PCI_P2PDMA is not set
CONFIG_PCI_LABEL=y
CONFIG_PCI_HYPERV=m
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=64
CONFIG_HOTPLUG_PCI=y
CONFIG_HOTPLUG_PCI_ACPI=y
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
# CONFIG_HOTPLUG_PCI_CPCI is not set
CONFIG_HOTPLUG_PCI_SHPC=y

#
# PCI controller drivers
#
CONFIG_VMD=y
CONFIG_PCI_HYPERV_INTERFACE=m

#
# DesignWare PCI Core Support
#
# CONFIG_PCIE_DW_PLAT_HOST is not set
# CONFIG_PCI_MESON is not set
# end of DesignWare PCI Core Support

#
# Mobiveil PCIe Core Support
#
# end of Mobiveil PCIe Core Support

#
# Cadence PCIe controllers support
#
# end of Cadence PCIe controllers support
# end of PCI controller drivers

#
# PCI Endpoint
#
# CONFIG_PCI_ENDPOINT is not set
# end of PCI Endpoint

#
# PCI switch controller drivers
#
# CONFIG_PCI_SW_SWITCHTEC is not set
# end of PCI switch controller drivers

# CONFIG_CXL_BUS is not set
# CONFIG_PCCARD is not set
# CONFIG_RAPIDIO is not set

#
# Generic Driver Options
#
CONFIG_AUXILIARY_BUS=y
# CONFIG_UEVENT_HELPER is not set
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
# CONFIG_DEVTMPFS_SAFE is not set
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y

#
# Firmware loader
#
CONFIG_FW_LOADER=y
CONFIG_FW_LOADER_PAGED_BUF=y
CONFIG_FW_LOADER_SYSFS=y
CONFIG_EXTRA_FIRMWARE=""
CONFIG_FW_LOADER_USER_HELPER=y
# CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set
# CONFIG_FW_LOADER_COMPRESS is not set
CONFIG_FW_CACHE=y
# CONFIG_FW_UPLOAD is not set
# end of Firmware loader

CONFIG_ALLOW_DEV_COREDUMP=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set
# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
CONFIG_GENERIC_CPU_AUTOPROBE=y
CONFIG_GENERIC_CPU_VULNERABILITIES=y
CONFIG_REGMAP=y
CONFIG_REGMAP_I2C=m
CONFIG_REGMAP_SPI=m
CONFIG_DMA_SHARED_BUFFER=y
# CONFIG_DMA_FENCE_TRACE is not set
# end of Generic Driver Options

#
# Bus devices
#
# CONFIG_MHI_BUS is not set
# CONFIG_MHI_BUS_EP is not set
# end of Bus devices

CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y

#
# Firmware Drivers
#

#
# ARM System Control and Management Interface Protocol
#
# end of ARM System Control and Management Interface Protocol

CONFIG_EDD=m
# CONFIG_EDD_OFF is not set
CONFIG_FIRMWARE_MEMMAP=y
CONFIG_DMIID=y
CONFIG_DMI_SYSFS=y
CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
# CONFIG_ISCSI_IBFT is not set
CONFIG_FW_CFG_SYSFS=y
# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
CONFIG_SYSFB=y
# CONFIG_SYSFB_SIMPLEFB is not set
# CONFIG_GOOGLE_FIRMWARE is not set

#
# EFI (Extensible Firmware Interface) Support
#
CONFIG_EFI_ESRT=y
CONFIG_EFI_VARS_PSTORE=y
CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE=y
CONFIG_EFI_DXE_MEM_ATTRIBUTES=y
CONFIG_EFI_RUNTIME_WRAPPERS=y
# CONFIG_EFI_BOOTLOADER_CONTROL is not set
# CONFIG_EFI_CAPSULE_LOADER is not set
# CONFIG_EFI_TEST is not set
# CONFIG_APPLE_PROPERTIES is not set
# CONFIG_RESET_ATTACK_MITIGATION is not set
# CONFIG_EFI_RCI2_TABLE is not set
# CONFIG_EFI_DISABLE_PCI_DMA is not set
CONFIG_EFI_EARLYCON=y
CONFIG_EFI_CUSTOM_SSDT_OVERLAYS=y
# CONFIG_EFI_DISABLE_RUNTIME is not set
# CONFIG_EFI_COCO_SECRET is not set
# end of EFI (Extensible Firmware Interface) Support

CONFIG_UEFI_CPER=y
CONFIG_UEFI_CPER_X86=y

#
# Tegra firmware driver
#
# end of Tegra firmware driver
# end of Firmware Drivers

# CONFIG_GNSS is not set
# CONFIG_MTD is not set
# CONFIG_OF is not set
CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PARPORT_SERIAL=m
# CONFIG_PARPORT_PC_FIFO is not set
# CONFIG_PARPORT_PC_SUPERIO is not set
CONFIG_PARPORT_1284=y
CONFIG_PNP=y
# CONFIG_PNP_DEBUG_MESSAGES is not set

#
# Protocols
#
CONFIG_PNPACPI=y
CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_NULL_BLK=m
CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION=y
# CONFIG_BLK_DEV_FD is not set
CONFIG_CDROM=m
# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
# CONFIG_ZRAM is not set
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
# CONFIG_BLK_DEV_DRBD is not set
CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=16384
CONFIG_CDROM_PKTCDVD=m
CONFIG_CDROM_PKTCDVD_BUFFERS=8
# CONFIG_CDROM_PKTCDVD_WCACHE is not set
# CONFIG_ATA_OVER_ETH is not set
CONFIG_VIRTIO_BLK=m
CONFIG_BLK_DEV_RBD=m
# CONFIG_BLK_DEV_UBLK is not set

#
# NVME Support
#
CONFIG_NVME_CORE=m
CONFIG_BLK_DEV_NVME=m
CONFIG_NVME_MULTIPATH=y
# CONFIG_NVME_VERBOSE_ERRORS is not set
# CONFIG_NVME_HWMON is not set
CONFIG_NVME_FABRICS=m
# CONFIG_NVME_RDMA is not set
# CONFIG_NVME_FC is not set
# CONFIG_NVME_TCP is not set
# CONFIG_NVME_AUTH is not set
CONFIG_NVME_TARGET=m
# CONFIG_NVME_TARGET_PASSTHRU is not set
CONFIG_NVME_TARGET_LOOP=m
# CONFIG_NVME_TARGET_RDMA is not set
CONFIG_NVME_TARGET_FC=m
# CONFIG_NVME_TARGET_TCP is not set
# CONFIG_NVME_TARGET_AUTH is not set
# end of NVME Support

#
# Misc devices
#
CONFIG_SENSORS_LIS3LV02D=m
# CONFIG_AD525X_DPOT is not set
# CONFIG_DUMMY_IRQ is not set
# CONFIG_IBM_ASM is not set
# CONFIG_PHANTOM is not set
CONFIG_TIFM_CORE=m
CONFIG_TIFM_7XX1=m
# CONFIG_ICS932S401 is not set
CONFIG_ENCLOSURE_SERVICES=m
CONFIG_SGI_XP=m
CONFIG_HP_ILO=m
CONFIG_SGI_GRU=m
# CONFIG_SGI_GRU_DEBUG is not set
CONFIG_APDS9802ALS=m
CONFIG_ISL29003=m
CONFIG_ISL29020=m
CONFIG_SENSORS_TSL2550=m
CONFIG_SENSORS_BH1770=m
CONFIG_SENSORS_APDS990X=m
# CONFIG_HMC6352 is not set
# CONFIG_DS1682 is not set
CONFIG_VMWARE_BALLOON=m
# CONFIG_LATTICE_ECP3_CONFIG is not set
# CONFIG_SRAM is not set
# CONFIG_DW_XDATA_PCIE is not set
# CONFIG_PCI_ENDPOINT_TEST is not set
# CONFIG_XILINX_SDFEC is not set
CONFIG_MISC_RTSX=m
# CONFIG_C2PORT is not set

#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_AT25 is not set
CONFIG_EEPROM_LEGACY=m
CONFIG_EEPROM_MAX6875=m
CONFIG_EEPROM_93CX6=m
# CONFIG_EEPROM_93XX46 is not set
# CONFIG_EEPROM_IDT_89HPESX is not set
# CONFIG_EEPROM_EE1004 is not set
# end of EEPROM support

CONFIG_CB710_CORE=m
# CONFIG_CB710_DEBUG is not set
CONFIG_CB710_DEBUG_ASSUMPTIONS=y

#
# Texas Instruments shared transport line discipline
#
# CONFIG_TI_ST is not set
# end of Texas Instruments shared transport line discipline

CONFIG_SENSORS_LIS3_I2C=m
CONFIG_ALTERA_STAPL=m
CONFIG_INTEL_MEI=m
CONFIG_INTEL_MEI_ME=m
# CONFIG_INTEL_MEI_TXE is not set
# CONFIG_INTEL_MEI_GSC is not set
# CONFIG_INTEL_MEI_HDCP is not set
# CONFIG_INTEL_MEI_PXP is not set
CONFIG_VMWARE_VMCI=m
# CONFIG_GENWQE is not set
# CONFIG_ECHO is not set
# CONFIG_BCM_VK is not set
# CONFIG_MISC_ALCOR_PCI is not set
CONFIG_MISC_RTSX_PCI=m
# CONFIG_MISC_RTSX_USB is not set
# CONFIG_UACCE is not set
CONFIG_PVPANIC=y
# CONFIG_PVPANIC_MMIO is not set
# CONFIG_PVPANIC_PCI is not set
# CONFIG_GP_PCI1XXXX is not set
# end of Misc devices

#
# SCSI device support
#
CONFIG_SCSI_MOD=y
CONFIG_RAID_ATTRS=m
CONFIG_SCSI_COMMON=y
CONFIG_SCSI=y
CONFIG_SCSI_DMA=y
CONFIG_SCSI_NETLINK=y
CONFIG_SCSI_PROC_FS=y

#
# SCSI support type (disk, tape, CD-ROM)
#
CONFIG_BLK_DEV_SD=m
CONFIG_CHR_DEV_ST=m
CONFIG_BLK_DEV_SR=m
CONFIG_CHR_DEV_SG=m
CONFIG_BLK_DEV_BSG=y
CONFIG_CHR_DEV_SCH=m
CONFIG_SCSI_ENCLOSURE=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y
CONFIG_SCSI_SCAN_ASYNC=y

#
# SCSI Transports
#
CONFIG_SCSI_SPI_ATTRS=m
CONFIG_SCSI_FC_ATTRS=m
CONFIG_SCSI_ISCSI_ATTRS=m
CONFIG_SCSI_SAS_ATTRS=m
CONFIG_SCSI_SAS_LIBSAS=m
CONFIG_SCSI_SAS_ATA=y
CONFIG_SCSI_SAS_HOST_SMP=y
CONFIG_SCSI_SRP_ATTRS=m
# end of SCSI Transports

CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set
# CONFIG_ISCSI_BOOT_SYSFS is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_SCSI_CXGB4_ISCSI is not set
# CONFIG_SCSI_BNX2_ISCSI is not set
# CONFIG_BE2ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_HPSA is not set
# CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_3W_SAS is not set
# CONFIG_SCSI_ACARD is not set
# CONFIG_SCSI_AACRAID is not set
# CONFIG_SCSI_AIC7XXX is not set
# CONFIG_SCSI_AIC79XX is not set
# CONFIG_SCSI_AIC94XX is not set
# CONFIG_SCSI_MVSAS is not set
# CONFIG_SCSI_MVUMI is not set
# CONFIG_SCSI_ADVANSYS is not set
# CONFIG_SCSI_ARCMSR is not set
# CONFIG_SCSI_ESAS2R is not set
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_MPT2SAS_MAX_SGE=128
CONFIG_SCSI_MPT3SAS_MAX_SGE=128
# CONFIG_SCSI_MPT2SAS is not set
# CONFIG_SCSI_MPI3MR is not set
# CONFIG_SCSI_SMARTPQI is not set
# CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_SCSI_MYRB is not set
# CONFIG_SCSI_MYRS is not set
# CONFIG_VMWARE_PVSCSI is not set
CONFIG_HYPERV_STORAGE=m
# CONFIG_LIBFC is not set
# CONFIG_SCSI_SNIC is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_FDOMAIN_PCI is not set
CONFIG_SCSI_ISCI=m
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_PPA is not set
# CONFIG_SCSI_IMM is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
# CONFIG_SCSI_QLOGIC_1280 is not set
# CONFIG_SCSI_QLA_FC is not set
# CONFIG_SCSI_QLA_ISCSI is not set
# CONFIG_SCSI_LPFC is not set
# CONFIG_SCSI_EFCT is not set
# CONFIG_SCSI_DC395x is not set
# CONFIG_SCSI_AM53C974 is not set
# CONFIG_SCSI_WD719X is not set
CONFIG_SCSI_DEBUG=m
# CONFIG_SCSI_PMCRAID is not set
# CONFIG_SCSI_PM8001 is not set
# CONFIG_SCSI_BFA_FC is not set
# CONFIG_SCSI_VIRTIO is not set
# CONFIG_SCSI_CHELSIO_FCOE is not set
CONFIG_SCSI_DH=y
CONFIG_SCSI_DH_RDAC=y
CONFIG_SCSI_DH_HP_SW=y
CONFIG_SCSI_DH_EMC=y
CONFIG_SCSI_DH_ALUA=y
# end of SCSI device support

CONFIG_ATA=m
CONFIG_SATA_HOST=y
CONFIG_PATA_TIMINGS=y
CONFIG_ATA_VERBOSE_ERROR=y
CONFIG_ATA_FORCE=y
CONFIG_ATA_ACPI=y
# CONFIG_SATA_ZPODD is not set
CONFIG_SATA_PMP=y

#
# Controllers with non-SFF native interface
#
CONFIG_SATA_AHCI=m
CONFIG_SATA_MOBILE_LPM_POLICY=0
CONFIG_SATA_AHCI_PLATFORM=m
# CONFIG_AHCI_DWC is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_SATA_ACARD_AHCI is not set
# CONFIG_SATA_SIL24 is not set
CONFIG_ATA_SFF=y

#
# SFF controllers with custom DMA interface
#
# CONFIG_PDC_ADMA is not set
# CONFIG_SATA_QSTOR is not set
# CONFIG_SATA_SX4 is not set
CONFIG_ATA_BMDMA=y

#
# SATA SFF controllers with BMDMA
#
CONFIG_ATA_PIIX=m
# CONFIG_SATA_DWC is not set
# CONFIG_SATA_MV is not set
# CONFIG_SATA_NV is not set
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_SVW is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
# CONFIG_SATA_VITESSE is not set

#
# PATA SFF controllers with BMDMA
#
# CONFIG_PATA_ALI is not set
# CONFIG_PATA_AMD is not set
# CONFIG_PATA_ARTOP is not set
# CONFIG_PATA_ATIIXP is not set
# CONFIG_PATA_ATP867X is not set
# CONFIG_PATA_CMD64X is not set
# CONFIG_PATA_CYPRESS is not set
# CONFIG_PATA_EFAR is not set
# CONFIG_PATA_HPT366 is not set
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
# CONFIG_PATA_IT8213 is not set
# CONFIG_PATA_IT821X is not set
# CONFIG_PATA_JMICRON is not set
# CONFIG_PATA_MARVELL is not set
# CONFIG_PATA_NETCELL is not set
# CONFIG_PATA_NINJA32 is not set
# CONFIG_PATA_NS87415 is not set
# CONFIG_PATA_OLDPIIX is not set
# CONFIG_PATA_OPTIDMA is not set
# CONFIG_PATA_PDC2027X is not set
# CONFIG_PATA_PDC_OLD is not set
# CONFIG_PATA_RADISYS is not set
# CONFIG_PATA_RDC is not set
# CONFIG_PATA_SCH is not set
# CONFIG_PATA_SERVERWORKS is not set
# CONFIG_PATA_SIL680 is not set
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_TOSHIBA is not set
# CONFIG_PATA_TRIFLEX is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set

#
# PIO-only SFF controllers
#
# CONFIG_PATA_CMD640_PCI is not set
# CONFIG_PATA_MPIIX is not set
# CONFIG_PATA_NS87410 is not set
# CONFIG_PATA_OPTI is not set
# CONFIG_PATA_RZ1000 is not set
# CONFIG_PATA_PARPORT is not set

#
# Generic fallback / legacy drivers
#
# CONFIG_PATA_ACPI is not set
CONFIG_ATA_GENERIC=m
# CONFIG_PATA_LEGACY is not set
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y
CONFIG_MD_AUTODETECT=y
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID10=m
CONFIG_MD_RAID456=m
CONFIG_MD_MULTIPATH=m
CONFIG_MD_FAULTY=m
CONFIG_MD_CLUSTER=m
# CONFIG_BCACHE is not set
CONFIG_BLK_DEV_DM_BUILTIN=y
CONFIG_BLK_DEV_DM=m
CONFIG_DM_DEBUG=y
CONFIG_DM_BUFIO=m
# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
CONFIG_DM_BIO_PRISON=m
CONFIG_DM_PERSISTENT_DATA=m
# CONFIG_DM_UNSTRIPED is not set
CONFIG_DM_CRYPT=m
CONFIG_DM_SNAPSHOT=m
CONFIG_DM_THIN_PROVISIONING=m
CONFIG_DM_CACHE=m
CONFIG_DM_CACHE_SMQ=m
CONFIG_DM_WRITECACHE=m
# CONFIG_DM_EBS is not set
CONFIG_DM_ERA=m
# CONFIG_DM_CLONE is not set
CONFIG_DM_MIRROR=m
CONFIG_DM_LOG_USERSPACE=m
CONFIG_DM_RAID=m
CONFIG_DM_ZERO=m
CONFIG_DM_MULTIPATH=m
CONFIG_DM_MULTIPATH_QL=m
CONFIG_DM_MULTIPATH_ST=m
# CONFIG_DM_MULTIPATH_HST is not set
# CONFIG_DM_MULTIPATH_IOA is not set
CONFIG_DM_DELAY=m
# CONFIG_DM_DUST is not set
CONFIG_DM_UEVENT=y
CONFIG_DM_FLAKEY=m
CONFIG_DM_VERITY=m
# CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG is not set
# CONFIG_DM_VERITY_FEC is not set
CONFIG_DM_SWITCH=m
CONFIG_DM_LOG_WRITES=m
CONFIG_DM_INTEGRITY=m
# CONFIG_DM_ZONED is not set
CONFIG_DM_AUDIT=y
CONFIG_TARGET_CORE=m
CONFIG_TCM_IBLOCK=m
CONFIG_TCM_FILEIO=m
CONFIG_TCM_PSCSI=m
CONFIG_TCM_USER2=m
CONFIG_LOOPBACK_TARGET=m
CONFIG_ISCSI_TARGET=m
# CONFIG_SBP_TARGET is not set
# CONFIG_FUSION is not set

#
# IEEE 1394 (FireWire) support
#
CONFIG_FIREWIRE=m
CONFIG_FIREWIRE_OHCI=m
CONFIG_FIREWIRE_SBP2=m
CONFIG_FIREWIRE_NET=m
# CONFIG_FIREWIRE_NOSY is not set
# end of IEEE 1394 (FireWire) support

CONFIG_MACINTOSH_DRIVERS=y
CONFIG_MAC_EMUMOUSEBTN=y
CONFIG_NETDEVICES=y
CONFIG_MII=y
CONFIG_NET_CORE=y
# CONFIG_BONDING is not set
# CONFIG_DUMMY is not set
# CONFIG_WIREGUARD is not set
# CONFIG_EQUALIZER is not set
# CONFIG_NET_FC is not set
# CONFIG_IFB is not set
# CONFIG_NET_TEAM is not set
# CONFIG_MACVLAN is not set
# CONFIG_IPVLAN is not set
# CONFIG_VXLAN is not set
# CONFIG_GENEVE is not set
# CONFIG_BAREUDP is not set
# CONFIG_GTP is not set
# CONFIG_AMT is not set
CONFIG_MACSEC=m
CONFIG_NETCONSOLE=m
CONFIG_NETCONSOLE_DYNAMIC=y
CONFIG_NETPOLL=y
CONFIG_NET_POLL_CONTROLLER=y
CONFIG_TUN=m
# CONFIG_TUN_VNET_CROSS_LE is not set
CONFIG_VETH=m
CONFIG_VIRTIO_NET=m
# CONFIG_NLMON is not set
# CONFIG_NET_VRF is not set
# CONFIG_VSOCKMON is not set
# CONFIG_ARCNET is not set
CONFIG_ATM_DRIVERS=y
# CONFIG_ATM_DUMMY is not set
# CONFIG_ATM_TCP is not set
# CONFIG_ATM_LANAI is not set
# CONFIG_ATM_ENI is not set
# CONFIG_ATM_NICSTAR is not set
# CONFIG_ATM_IDT77252 is not set
# CONFIG_ATM_IA is not set
# CONFIG_ATM_FORE200E is not set
# CONFIG_ATM_HE is not set
# CONFIG_ATM_SOLOS is not set
CONFIG_ETHERNET=y
CONFIG_MDIO=y
# CONFIG_NET_VENDOR_3COM is not set
CONFIG_NET_VENDOR_ADAPTEC=y
# CONFIG_ADAPTEC_STARFIRE is not set
CONFIG_NET_VENDOR_AGERE=y
# CONFIG_ET131X is not set
CONFIG_NET_VENDOR_ALACRITECH=y
# CONFIG_SLICOSS is not set
CONFIG_NET_VENDOR_ALTEON=y
# CONFIG_ACENIC is not set
# CONFIG_ALTERA_TSE is not set
CONFIG_NET_VENDOR_AMAZON=y
# CONFIG_ENA_ETHERNET is not set
# CONFIG_NET_VENDOR_AMD is not set
CONFIG_NET_VENDOR_AQUANTIA=y
# CONFIG_AQTION is not set
CONFIG_NET_VENDOR_ARC=y
CONFIG_NET_VENDOR_ASIX=y
# CONFIG_SPI_AX88796C is not set
CONFIG_NET_VENDOR_ATHEROS=y
# CONFIG_ATL2 is not set
# CONFIG_ATL1 is not set
# CONFIG_ATL1E is not set
# CONFIG_ATL1C is not set
# CONFIG_ALX is not set
# CONFIG_CX_ECAT is not set
CONFIG_NET_VENDOR_BROADCOM=y
# CONFIG_B44 is not set
# CONFIG_BCMGENET is not set
# CONFIG_BNX2 is not set
# CONFIG_CNIC is not set
# CONFIG_TIGON3 is not set
# CONFIG_BNX2X is not set
# CONFIG_SYSTEMPORT is not set
# CONFIG_BNXT is not set
CONFIG_NET_VENDOR_CADENCE=y
# CONFIG_MACB is not set
CONFIG_NET_VENDOR_CAVIUM=y
# CONFIG_THUNDER_NIC_PF is not set
# CONFIG_THUNDER_NIC_VF is not set
# CONFIG_THUNDER_NIC_BGX is not set
# CONFIG_THUNDER_NIC_RGX is not set
CONFIG_CAVIUM_PTP=y
# CONFIG_LIQUIDIO is not set
# CONFIG_LIQUIDIO_VF is not set
CONFIG_NET_VENDOR_CHELSIO=y
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_CHELSIO_T4 is not set
# CONFIG_CHELSIO_T4VF is not set
CONFIG_NET_VENDOR_CISCO=y
# CONFIG_ENIC is not set
CONFIG_NET_VENDOR_CORTINA=y
CONFIG_NET_VENDOR_DAVICOM=y
# CONFIG_DM9051 is not set
# CONFIG_DNET is not set
CONFIG_NET_VENDOR_DEC=y
# CONFIG_NET_TULIP is not set
CONFIG_NET_VENDOR_DLINK=y
# CONFIG_DL2K is not set
# CONFIG_SUNDANCE is not set
CONFIG_NET_VENDOR_EMULEX=y
# CONFIG_BE2NET is not set
CONFIG_NET_VENDOR_ENGLEDER=y
# CONFIG_TSNEP is not set
CONFIG_NET_VENDOR_EZCHIP=y
CONFIG_NET_VENDOR_FUNGIBLE=y
# CONFIG_FUN_ETH is not set
CONFIG_NET_VENDOR_GOOGLE=y
# CONFIG_GVE is not set
CONFIG_NET_VENDOR_HUAWEI=y
# CONFIG_HINIC is not set
CONFIG_NET_VENDOR_I825XX=y
CONFIG_NET_VENDOR_INTEL=y
# CONFIG_E100 is not set
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_E1000E_HWTS=y
CONFIG_IGB=y
CONFIG_IGB_HWMON=y
# CONFIG_IGBVF is not set
# CONFIG_IXGB is not set
CONFIG_IXGBE=y
CONFIG_IXGBE_HWMON=y
# CONFIG_IXGBE_DCB is not set
# CONFIG_IXGBE_IPSEC is not set
# CONFIG_IXGBEVF is not set
CONFIG_I40E=y
# CONFIG_I40E_DCB is not set
# CONFIG_I40EVF is not set
# CONFIG_ICE is not set
# CONFIG_FM10K is not set
CONFIG_IGC=y
CONFIG_NET_VENDOR_WANGXUN=y
# CONFIG_NGBE is not set
# CONFIG_TXGBE is not set
# CONFIG_JME is not set
CONFIG_NET_VENDOR_ADI=y
# CONFIG_ADIN1110 is not set
CONFIG_NET_VENDOR_LITEX=y
CONFIG_NET_VENDOR_MARVELL=y
# CONFIG_MVMDIO is not set
# CONFIG_SKGE is not set
# CONFIG_SKY2 is not set
# CONFIG_OCTEON_EP is not set
# CONFIG_PRESTERA is not set
CONFIG_NET_VENDOR_MELLANOX=y
# CONFIG_MLX4_EN is not set
# CONFIG_MLX5_CORE is not set
# CONFIG_MLXSW_CORE is not set
# CONFIG_MLXFW is not set
CONFIG_NET_VENDOR_MICREL=y
# CONFIG_KS8842 is not set
# CONFIG_KS8851 is not set
# CONFIG_KS8851_MLL is not set
# CONFIG_KSZ884X_PCI is not set
CONFIG_NET_VENDOR_MICROCHIP=y
# CONFIG_ENC28J60 is not set
# CONFIG_ENCX24J600 is not set
# CONFIG_LAN743X is not set
# CONFIG_VCAP is not set
CONFIG_NET_VENDOR_MICROSEMI=y
CONFIG_NET_VENDOR_MICROSOFT=y
# CONFIG_MICROSOFT_MANA is not set
CONFIG_NET_VENDOR_MYRI=y
# CONFIG_MYRI10GE is not set
CONFIG_NET_VENDOR_NI=y
# CONFIG_NI_XGE_MANAGEMENT_ENET is not set
CONFIG_NET_VENDOR_NATSEMI=y
# CONFIG_NATSEMI is not set
# CONFIG_NS83820 is not set
CONFIG_NET_VENDOR_NETERION=y
# CONFIG_S2IO is not set
CONFIG_NET_VENDOR_NETRONOME=y
# CONFIG_NFP is not set
CONFIG_NET_VENDOR_8390=y
# CONFIG_NE2K_PCI is not set
CONFIG_NET_VENDOR_NVIDIA=y
# CONFIG_FORCEDETH is not set
CONFIG_NET_VENDOR_OKI=y
# CONFIG_ETHOC is not set
CONFIG_NET_VENDOR_PACKET_ENGINES=y
# CONFIG_HAMACHI is not set
# CONFIG_YELLOWFIN is not set
CONFIG_NET_VENDOR_PENSANDO=y
# CONFIG_IONIC is not set
CONFIG_NET_VENDOR_QLOGIC=y
# CONFIG_QLA3XXX is not set
# CONFIG_QLCNIC is not set
# CONFIG_NETXEN_NIC is not set
# CONFIG_QED is not set
CONFIG_NET_VENDOR_BROCADE=y
# CONFIG_BNA is not set
CONFIG_NET_VENDOR_QUALCOMM=y
# CONFIG_QCOM_EMAC is not set
# CONFIG_RMNET is not set
CONFIG_NET_VENDOR_RDC=y
# CONFIG_R6040 is not set
CONFIG_NET_VENDOR_REALTEK=y
# CONFIG_ATP is not set
# CONFIG_8139CP is not set
# CONFIG_8139TOO is not set
CONFIG_R8169=y
CONFIG_NET_VENDOR_RENESAS=y
CONFIG_NET_VENDOR_ROCKER=y
# CONFIG_ROCKER is not set
CONFIG_NET_VENDOR_SAMSUNG=y
# CONFIG_SXGBE_ETH is not set
CONFIG_NET_VENDOR_SEEQ=y
CONFIG_NET_VENDOR_SILAN=y
# CONFIG_SC92031 is not set
CONFIG_NET_VENDOR_SIS=y
# CONFIG_SIS900 is not set
# CONFIG_SIS190 is not set
CONFIG_NET_VENDOR_SOLARFLARE=y
# CONFIG_SFC is not set
# CONFIG_SFC_FALCON is not set
# CONFIG_SFC_SIENA is not set
CONFIG_NET_VENDOR_SMSC=y
# CONFIG_EPIC100 is not set
# CONFIG_SMSC911X is not set
# CONFIG_SMSC9420 is not set
CONFIG_NET_VENDOR_SOCIONEXT=y
CONFIG_NET_VENDOR_STMICRO=y
# CONFIG_STMMAC_ETH is not set
CONFIG_NET_VENDOR_SUN=y
# CONFIG_HAPPYMEAL is not set
# CONFIG_SUNGEM is not set
# CONFIG_CASSINI is not set
# CONFIG_NIU is not set
CONFIG_NET_VENDOR_SYNOPSYS=y
# CONFIG_DWC_XLGMAC is not set
CONFIG_NET_VENDOR_TEHUTI=y
# CONFIG_TEHUTI is not set
CONFIG_NET_VENDOR_TI=y
# CONFIG_TI_CPSW_PHY_SEL is not set
# CONFIG_TLAN is not set
CONFIG_NET_VENDOR_VERTEXCOM=y
# CONFIG_MSE102X is not set
CONFIG_NET_VENDOR_VIA=y
# CONFIG_VIA_RHINE is not set
# CONFIG_VIA_VELOCITY is not set
CONFIG_NET_VENDOR_WIZNET=y
# CONFIG_WIZNET_W5100 is not set
# CONFIG_WIZNET_W5300 is not set
CONFIG_NET_VENDOR_XILINX=y
# CONFIG_XILINX_EMACLITE is not set
# CONFIG_XILINX_AXI_EMAC is not set
# CONFIG_XILINX_LL_TEMAC is not set
# CONFIG_FDDI is not set
# CONFIG_HIPPI is not set
# CONFIG_NET_SB1000 is not set
CONFIG_PHYLINK=y
CONFIG_PHYLIB=y
CONFIG_SWPHY=y
# CONFIG_LED_TRIGGER_PHY is not set
CONFIG_FIXED_PHY=y
# CONFIG_SFP is not set

#
# MII PHY device drivers
#
# CONFIG_AMD_PHY is not set
# CONFIG_ADIN_PHY is not set
# CONFIG_ADIN1100_PHY is not set
# CONFIG_AQUANTIA_PHY is not set
CONFIG_AX88796B_PHY=y
# CONFIG_BROADCOM_PHY is not set
# CONFIG_BCM54140_PHY is not set
# CONFIG_BCM7XXX_PHY is not set
# CONFIG_BCM84881_PHY is not set
# CONFIG_BCM87XX_PHY is not set
# CONFIG_CICADA_PHY is not set
# CONFIG_CORTINA_PHY is not set
# CONFIG_DAVICOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_LXT_PHY is not set
# CONFIG_INTEL_XWAY_PHY is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_MARVELL_PHY is not set
# CONFIG_MARVELL_10G_PHY is not set
# CONFIG_MARVELL_88X2222_PHY is not set
# CONFIG_MAXLINEAR_GPHY is not set
# CONFIG_MEDIATEK_GE_PHY is not set
# CONFIG_MICREL_PHY is not set
# CONFIG_MICROCHIP_PHY is not set
# CONFIG_MICROCHIP_T1_PHY is not set
# CONFIG_MICROSEMI_PHY is not set
# CONFIG_MOTORCOMM_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_NXP_C45_TJA11XX_PHY is not set
# CONFIG_NXP_TJA11XX_PHY is not set
# CONFIG_NCN26000_PHY is not set
# CONFIG_QSEMI_PHY is not set
CONFIG_REALTEK_PHY=y
# CONFIG_RENESAS_PHY is not set
# CONFIG_ROCKCHIP_PHY is not set
# CONFIG_SMSC_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_TERANETICS_PHY is not set
# CONFIG_DP83822_PHY is not set
# CONFIG_DP83TC811_PHY is not set
# CONFIG_DP83848_PHY is not set
# CONFIG_DP83867_PHY is not set
# CONFIG_DP83869_PHY is not set
# CONFIG_DP83TD510_PHY is not set
# CONFIG_VITESSE_PHY is not set
# CONFIG_XILINX_GMII2RGMII is not set
# CONFIG_MICREL_KS8995MA is not set
# CONFIG_PSE_CONTROLLER is not set
CONFIG_CAN_DEV=m
CONFIG_CAN_VCAN=m
# CONFIG_CAN_VXCAN is not set
CONFIG_CAN_NETLINK=y
CONFIG_CAN_CALC_BITTIMING=y
# CONFIG_CAN_CAN327 is not set
# CONFIG_CAN_KVASER_PCIEFD is not set
CONFIG_CAN_SLCAN=m
CONFIG_CAN_C_CAN=m
CONFIG_CAN_C_CAN_PLATFORM=m
CONFIG_CAN_C_CAN_PCI=m
CONFIG_CAN_CC770=m
# CONFIG_CAN_CC770_ISA is not set
CONFIG_CAN_CC770_PLATFORM=m
# CONFIG_CAN_CTUCANFD_PCI is not set
# CONFIG_CAN_IFI_CANFD is not set
# CONFIG_CAN_M_CAN is not set
# CONFIG_CAN_PEAK_PCIEFD is not set
CONFIG_CAN_SJA1000=m
CONFIG_CAN_EMS_PCI=m
# CONFIG_CAN_F81601 is not set
CONFIG_CAN_KVASER_PCI=m
CONFIG_CAN_PEAK_PCI=m
CONFIG_CAN_PEAK_PCIEC=y
CONFIG_CAN_PLX_PCI=m
# CONFIG_CAN_SJA1000_ISA is not set
# CONFIG_CAN_SJA1000_PLATFORM is not set
CONFIG_CAN_SOFTING=m

#
# CAN SPI interfaces
#
# CONFIG_CAN_HI311X is not set
# CONFIG_CAN_MCP251X is not set
# CONFIG_CAN_MCP251XFD is not set
# end of CAN SPI interfaces

#
# CAN USB interfaces
#
# CONFIG_CAN_8DEV_USB is not set
# CONFIG_CAN_EMS_USB is not set
# CONFIG_CAN_ESD_USB is not set
# CONFIG_CAN_ETAS_ES58X is not set
# CONFIG_CAN_GS_USB is not set
# CONFIG_CAN_KVASER_USB is not set
# CONFIG_CAN_MCBA_USB is not set
# CONFIG_CAN_PEAK_USB is not set
# CONFIG_CAN_UCAN is not set
# end of CAN USB interfaces

# CONFIG_CAN_DEBUG_DEVICES is not set
CONFIG_MDIO_DEVICE=y
CONFIG_MDIO_BUS=y
CONFIG_FWNODE_MDIO=y
CONFIG_ACPI_MDIO=y
CONFIG_MDIO_DEVRES=y
# CONFIG_MDIO_BITBANG is not set
# CONFIG_MDIO_BCM_UNIMAC is not set
# CONFIG_MDIO_MVUSB is not set
# CONFIG_MDIO_THUNDER is not set

#
# MDIO Multiplexers
#

#
# PCS device drivers
#
# end of PCS device drivers

# CONFIG_PLIP is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
CONFIG_USB_NET_DRIVERS=y
# CONFIG_USB_CATC is not set
# CONFIG_USB_KAWETH is not set
# CONFIG_USB_PEGASUS is not set
# CONFIG_USB_RTL8150 is not set
CONFIG_USB_RTL8152=y
# CONFIG_USB_LAN78XX is not set
CONFIG_USB_USBNET=y
CONFIG_USB_NET_AX8817X=y
CONFIG_USB_NET_AX88179_178A=y
# CONFIG_USB_NET_CDCETHER is not set
# CONFIG_USB_NET_CDC_EEM is not set
# CONFIG_USB_NET_CDC_NCM is not set
# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
# CONFIG_USB_NET_CDC_MBIM is not set
# CONFIG_USB_NET_DM9601 is not set
# CONFIG_USB_NET_SR9700 is not set
# CONFIG_USB_NET_SR9800 is not set
# CONFIG_USB_NET_SMSC75XX is not set
# CONFIG_USB_NET_SMSC95XX is not set
# CONFIG_USB_NET_GL620A is not set
# CONFIG_USB_NET_NET1080 is not set
# CONFIG_USB_NET_PLUSB is not set
# CONFIG_USB_NET_MCS7830 is not set
# CONFIG_USB_NET_RNDIS_HOST is not set
# CONFIG_USB_NET_CDC_SUBSET is not set
# CONFIG_USB_NET_ZAURUS is not set
# CONFIG_USB_NET_CX82310_ETH is not set
# CONFIG_USB_NET_KALMIA is not set
# CONFIG_USB_NET_QMI_WWAN is not set
# CONFIG_USB_HSO is not set
# CONFIG_USB_NET_INT51X1 is not set
# CONFIG_USB_IPHETH is not set
# CONFIG_USB_SIERRA_NET is not set
# CONFIG_USB_NET_CH9200 is not set
# CONFIG_USB_NET_AQC111 is not set
CONFIG_WLAN=y
CONFIG_WLAN_VENDOR_ADMTEK=y
# CONFIG_ADM8211 is not set
CONFIG_WLAN_VENDOR_ATH=y
# CONFIG_ATH_DEBUG is not set
# CONFIG_ATH5K is not set
# CONFIG_ATH5K_PCI is not set
# CONFIG_ATH9K is not set
# CONFIG_ATH9K_HTC is not set
# CONFIG_CARL9170 is not set
# CONFIG_ATH6KL is not set
# CONFIG_AR5523 is not set
# CONFIG_WIL6210 is not set
# CONFIG_ATH10K is not set
# CONFIG_WCN36XX is not set
# CONFIG_ATH11K is not set
# CONFIG_ATH12K is not set
CONFIG_WLAN_VENDOR_ATMEL=y
# CONFIG_ATMEL is not set
# CONFIG_AT76C50X_USB is not set
CONFIG_WLAN_VENDOR_BROADCOM=y
# CONFIG_B43 is not set
# CONFIG_B43LEGACY is not set
# CONFIG_BRCMSMAC is not set
# CONFIG_BRCMFMAC is not set
CONFIG_WLAN_VENDOR_CISCO=y
# CONFIG_AIRO is not set
CONFIG_WLAN_VENDOR_INTEL=y
# CONFIG_IPW2100 is not set
# CONFIG_IPW2200 is not set
# CONFIG_IWL4965 is not set
# CONFIG_IWL3945 is not set
# CONFIG_IWLWIFI is not set
CONFIG_WLAN_VENDOR_INTERSIL=y
# CONFIG_HOSTAP is not set
# CONFIG_HERMES is not set
# CONFIG_P54_COMMON is not set
CONFIG_WLAN_VENDOR_MARVELL=y
# CONFIG_LIBERTAS is not set
# CONFIG_LIBERTAS_THINFIRM is not set
# CONFIG_MWIFIEX is not set
# CONFIG_MWL8K is not set
# CONFIG_WLAN_VENDOR_MEDIATEK is not set
CONFIG_WLAN_VENDOR_MICROCHIP=y
# CONFIG_WILC1000_SDIO is not set
# CONFIG_WILC1000_SPI is not set
CONFIG_WLAN_VENDOR_PURELIFI=y
# CONFIG_PLFXLC is not set
CONFIG_WLAN_VENDOR_RALINK=y
# CONFIG_RT2X00 is not set
CONFIG_WLAN_VENDOR_REALTEK=y
# CONFIG_RTL8180 is not set
# CONFIG_RTL8187 is not set
CONFIG_RTL_CARDS=m
# CONFIG_RTL8192CE is not set
# CONFIG_RTL8192SE is not set
# CONFIG_RTL8192DE is not set
# CONFIG_RTL8723AE is not set
# CONFIG_RTL8723BE is not set
# CONFIG_RTL8188EE is not set
# CONFIG_RTL8192EE is not set
# CONFIG_RTL8821AE is not set
# CONFIG_RTL8192CU is not set
# CONFIG_RTL8XXXU is not set
# CONFIG_RTW88 is not set
# CONFIG_RTW89 is not set
CONFIG_WLAN_VENDOR_RSI=y
# CONFIG_RSI_91X is not set
CONFIG_WLAN_VENDOR_SILABS=y
# CONFIG_WFX is not set
CONFIG_WLAN_VENDOR_ST=y
# CONFIG_CW1200 is not set
CONFIG_WLAN_VENDOR_TI=y
# CONFIG_WL1251 is not set
# CONFIG_WL12XX is not set
# CONFIG_WL18XX is not set
# CONFIG_WLCORE is not set
CONFIG_WLAN_VENDOR_ZYDAS=y
# CONFIG_USB_ZD1201 is not set
# CONFIG_ZD1211RW is not set
CONFIG_WLAN_VENDOR_QUANTENNA=y
# CONFIG_QTNFMAC_PCIE is not set
CONFIG_MAC80211_HWSIM=m
# CONFIG_USB_NET_RNDIS_WLAN is not set
# CONFIG_VIRT_WIFI is not set
# CONFIG_WAN is not set

#
# Wireless WAN
#
# CONFIG_WWAN is not set
# end of Wireless WAN

# CONFIG_VMXNET3 is not set
# CONFIG_FUJITSU_ES is not set
CONFIG_HYPERV_NET=y
# CONFIG_NETDEVSIM is not set
CONFIG_NET_FAILOVER=m
# CONFIG_ISDN is not set

#
# Input device support
#
CONFIG_INPUT=y
CONFIG_INPUT_LEDS=y
CONFIG_INPUT_FF_MEMLESS=m
CONFIG_INPUT_SPARSEKMAP=m
# CONFIG_INPUT_MATRIXKMAP is not set
CONFIG_INPUT_VIVALDIFMAP=y

#
# Userland interfaces
#
CONFIG_INPUT_MOUSEDEV=y
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
CONFIG_INPUT_JOYDEV=m
CONFIG_INPUT_EVDEV=y
# CONFIG_INPUT_EVBUG is not set

#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
# CONFIG_KEYBOARD_ADP5588 is not set
# CONFIG_KEYBOARD_ADP5589 is not set
# CONFIG_KEYBOARD_APPLESPI is not set
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_QT1050 is not set
# CONFIG_KEYBOARD_QT1070 is not set
# CONFIG_KEYBOARD_QT2160 is not set
# CONFIG_KEYBOARD_DLINK_DIR685 is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_GPIO is not set
# CONFIG_KEYBOARD_GPIO_POLLED is not set
# CONFIG_KEYBOARD_TCA6416 is not set
# CONFIG_KEYBOARD_TCA8418 is not set
# CONFIG_KEYBOARD_MATRIX is not set
# CONFIG_KEYBOARD_LM8323 is not set
# CONFIG_KEYBOARD_LM8333 is not set
# CONFIG_KEYBOARD_MAX7359 is not set
# CONFIG_KEYBOARD_MCS is not set
# CONFIG_KEYBOARD_MPR121 is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_OPENCORES is not set
# CONFIG_KEYBOARD_SAMSUNG is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_CYPRESS_SF is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=y
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_BYD=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
CONFIG_MOUSE_PS2_CYPRESS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
CONFIG_MOUSE_PS2_ELANTECH=y
CONFIG_MOUSE_PS2_ELANTECH_SMBUS=y
CONFIG_MOUSE_PS2_SENTELIC=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_PS2_FOCALTECH=y
CONFIG_MOUSE_PS2_VMMOUSE=y
CONFIG_MOUSE_PS2_SMBUS=y
CONFIG_MOUSE_SERIAL=m
# CONFIG_MOUSE_APPLETOUCH is not set
# CONFIG_MOUSE_BCM5974 is not set
CONFIG_MOUSE_CYAPA=m
CONFIG_MOUSE_ELAN_I2C=m
CONFIG_MOUSE_ELAN_I2C_I2C=y
CONFIG_MOUSE_ELAN_I2C_SMBUS=y
CONFIG_MOUSE_VSXXXAA=m
# CONFIG_MOUSE_GPIO is not set
CONFIG_MOUSE_SYNAPTICS_I2C=m
# CONFIG_MOUSE_SYNAPTICS_USB is not set
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
# CONFIG_INPUT_TOUCHSCREEN is not set
# CONFIG_INPUT_MISC is not set
CONFIG_RMI4_CORE=m
CONFIG_RMI4_I2C=m
CONFIG_RMI4_SPI=m
CONFIG_RMI4_SMB=m
CONFIG_RMI4_F03=y
CONFIG_RMI4_F03_SERIO=m
CONFIG_RMI4_2D_SENSOR=y
CONFIG_RMI4_F11=y
CONFIG_RMI4_F12=y
CONFIG_RMI4_F30=y
CONFIG_RMI4_F34=y
# CONFIG_RMI4_F3A is not set
CONFIG_RMI4_F55=y

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PARKBD is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=m
CONFIG_SERIO_ALTERA_PS2=m
# CONFIG_SERIO_PS2MULT is not set
CONFIG_SERIO_ARC_PS2=m
CONFIG_HYPERV_KEYBOARD=m
# CONFIG_SERIO_GPIO_PS2 is not set
# CONFIG_USERIO is not set
# CONFIG_GAMEPORT is not set
# end of Hardware I/O ports
# end of Input device support

#
# Character devices
#
CONFIG_TTY=y
CONFIG_VT=y
CONFIG_CONSOLE_TRANSLATIONS=y
CONFIG_VT_CONSOLE=y
CONFIG_VT_CONSOLE_SLEEP=y
CONFIG_HW_CONSOLE=y
CONFIG_VT_HW_CONSOLE_BINDING=y
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_LEGACY_TIOCSTI=y
CONFIG_LDISC_AUTOLOAD=y

#
# Serial drivers
#
CONFIG_SERIAL_EARLYCON=y
CONFIG_SERIAL_8250=y
# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
# CONFIG_SERIAL_8250_FINTEK is not set
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_DMA=y
CONFIG_SERIAL_8250_PCILIB=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_EXAR=y
CONFIG_SERIAL_8250_NR_UARTS=64
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
CONFIG_SERIAL_8250_PCI1XXXX=y
CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_8250_DETECT_IRQ is not set
CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_8250_DWLIB=y
CONFIG_SERIAL_8250_DW=y
# CONFIG_SERIAL_8250_RT288X is not set
CONFIG_SERIAL_8250_LPSS=y
CONFIG_SERIAL_8250_MID=y
CONFIG_SERIAL_8250_PERICOM=y

#
# Non-8250 serial port support
#
# CONFIG_SERIAL_MAX3100 is not set
# CONFIG_SERIAL_MAX310X is not set
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=m
# CONFIG_SERIAL_LANTIQ is not set
# CONFIG_SERIAL_SCCNXP is not set
# CONFIG_SERIAL_SC16IS7XX is not set
# CONFIG_SERIAL_ALTERA_JTAGUART is not set
# CONFIG_SERIAL_ALTERA_UART is not set
CONFIG_SERIAL_ARC=m
CONFIG_SERIAL_ARC_NR_PORTS=1
# CONFIG_SERIAL_RP2 is not set
# CONFIG_SERIAL_FSL_LPUART is not set
# CONFIG_SERIAL_FSL_LINFLEXUART is not set
# CONFIG_SERIAL_SPRD is not set
# end of Serial drivers

CONFIG_SERIAL_MCTRL_GPIO=y
CONFIG_SERIAL_NONSTANDARD=y
# CONFIG_MOXA_INTELLIO is not set
# CONFIG_MOXA_SMARTIO is not set
CONFIG_SYNCLINK_GT=m
CONFIG_N_HDLC=m
CONFIG_N_GSM=m
CONFIG_NOZOMI=m
# CONFIG_NULL_TTY is not set
CONFIG_HVC_DRIVER=y
# CONFIG_SERIAL_DEV_BUS is not set
CONFIG_PRINTER=m
# CONFIG_LP_CONSOLE is not set
CONFIG_PPDEV=m
CONFIG_VIRTIO_CONSOLE=m
CONFIG_IPMI_HANDLER=m
CONFIG_IPMI_DMI_DECODE=y
CONFIG_IPMI_PLAT_DATA=y
CONFIG_IPMI_PANIC_EVENT=y
CONFIG_IPMI_PANIC_STRING=y
CONFIG_IPMI_DEVICE_INTERFACE=m
CONFIG_IPMI_SI=m
CONFIG_IPMI_SSIF=m
CONFIG_IPMI_WATCHDOG=m
CONFIG_IPMI_POWEROFF=m
CONFIG_HW_RANDOM=y
CONFIG_HW_RANDOM_TIMERIOMEM=m
CONFIG_HW_RANDOM_INTEL=m
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_BA431 is not set
CONFIG_HW_RANDOM_VIA=m
CONFIG_HW_RANDOM_VIRTIO=y
# CONFIG_HW_RANDOM_XIPHERA is not set
# CONFIG_APPLICOM is not set
# CONFIG_MWAVE is not set
CONFIG_DEVMEM=y
CONFIG_NVRAM=y
CONFIG_DEVPORT=y
CONFIG_HPET=y
CONFIG_HPET_MMAP=y
# CONFIG_HPET_MMAP_DEFAULT is not set
CONFIG_HANGCHECK_TIMER=m
CONFIG_UV_MMTIMER=m
CONFIG_TCG_TPM=y
CONFIG_HW_RANDOM_TPM=y
CONFIG_TCG_TIS_CORE=y
CONFIG_TCG_TIS=y
# CONFIG_TCG_TIS_SPI is not set
# CONFIG_TCG_TIS_I2C is not set
# CONFIG_TCG_TIS_I2C_CR50 is not set
CONFIG_TCG_TIS_I2C_ATMEL=m
CONFIG_TCG_TIS_I2C_INFINEON=m
CONFIG_TCG_TIS_I2C_NUVOTON=m
CONFIG_TCG_NSC=m
CONFIG_TCG_ATMEL=m
CONFIG_TCG_INFINEON=m
CONFIG_TCG_CRB=y
# CONFIG_TCG_VTPM_PROXY is not set
CONFIG_TCG_TIS_ST33ZP24=m
CONFIG_TCG_TIS_ST33ZP24_I2C=m
# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
CONFIG_TELCLOCK=m
# CONFIG_XILLYBUS is not set
# CONFIG_XILLYUSB is not set
# end of Character devices

#
# I2C support
#
CONFIG_I2C=y
CONFIG_ACPI_I2C_OPREGION=y
CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_COMPAT=y
CONFIG_I2C_CHARDEV=m
CONFIG_I2C_MUX=m

#
# Multiplexer I2C Chip support
#
# CONFIG_I2C_MUX_GPIO is not set
# CONFIG_I2C_MUX_LTC4306 is not set
# CONFIG_I2C_MUX_PCA9541 is not set
# CONFIG_I2C_MUX_PCA954x is not set
# CONFIG_I2C_MUX_REG is not set
CONFIG_I2C_MUX_MLXCPLD=m
# end of Multiplexer I2C Chip support

CONFIG_I2C_HELPER_AUTO=y
CONFIG_I2C_SMBUS=y
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#

#
# PC SMBus host controller drivers
#
# CONFIG_I2C_ALI1535 is not set
# CONFIG_I2C_ALI1563 is not set
# CONFIG_I2C_ALI15X3 is not set
# CONFIG_I2C_AMD756 is not set
# CONFIG_I2C_AMD8111 is not set
# CONFIG_I2C_AMD_MP2 is not set
CONFIG_I2C_I801=y
CONFIG_I2C_ISCH=m
CONFIG_I2C_ISMT=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_NFORCE2=m
CONFIG_I2C_NFORCE2_S4985=m
# CONFIG_I2C_NVIDIA_GPU is not set
# CONFIG_I2C_SIS5595 is not set
# CONFIG_I2C_SIS630 is not set
CONFIG_I2C_SIS96X=m
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m

#
# ACPI drivers
#
CONFIG_I2C_SCMI=m

#
# I2C system bus drivers (mostly embedded / system-on-chip)
#
# CONFIG_I2C_CBUS_GPIO is not set
CONFIG_I2C_DESIGNWARE_CORE=m
# CONFIG_I2C_DESIGNWARE_SLAVE is not set
CONFIG_I2C_DESIGNWARE_PLATFORM=m
# CONFIG_I2C_DESIGNWARE_AMDPSP is not set
CONFIG_I2C_DESIGNWARE_BAYTRAIL=y
# CONFIG_I2C_DESIGNWARE_PCI is not set
# CONFIG_I2C_EMEV2 is not set
# CONFIG_I2C_GPIO is not set
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_PCA_PLATFORM=m
CONFIG_I2C_SIMTEC=m
# CONFIG_I2C_XILINX is not set

#
# External I2C/SMBus adapter drivers
#
# CONFIG_I2C_DIOLAN_U2C is not set
# CONFIG_I2C_CP2615 is not set
CONFIG_I2C_PARPORT=m
# CONFIG_I2C_PCI1XXXX is not set
# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_TINY_USB is not set

#
# Other I2C/SMBus bus drivers
#
CONFIG_I2C_MLXCPLD=m
# CONFIG_I2C_VIRTIO is not set
# end of I2C Hardware Bus support

CONFIG_I2C_STUB=m
# CONFIG_I2C_SLAVE is not set
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# end of I2C support

# CONFIG_I3C is not set
CONFIG_SPI=y
# CONFIG_SPI_DEBUG is not set
CONFIG_SPI_MASTER=y
# CONFIG_SPI_MEM is not set

#
# SPI Master Controller Drivers
#
# CONFIG_SPI_ALTERA is not set
# CONFIG_SPI_AXI_SPI_ENGINE is not set
# CONFIG_SPI_BITBANG is not set
# CONFIG_SPI_BUTTERFLY is not set
# CONFIG_SPI_CADENCE is not set
# CONFIG_SPI_DESIGNWARE is not set
# CONFIG_SPI_NXP_FLEXSPI is not set
# CONFIG_SPI_GPIO is not set
# CONFIG_SPI_LM70_LLP is not set
# CONFIG_SPI_MICROCHIP_CORE is not set
# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set
# CONFIG_SPI_LANTIQ_SSC is not set
# CONFIG_SPI_OC_TINY is not set
# CONFIG_SPI_PCI1XXXX is not set
# CONFIG_SPI_PXA2XX is not set
# CONFIG_SPI_ROCKCHIP is not set
# CONFIG_SPI_SC18IS602 is not set
# CONFIG_SPI_SIFIVE is not set
# CONFIG_SPI_MXIC is not set
# CONFIG_SPI_XCOMM is not set
# CONFIG_SPI_XILINX is not set
# CONFIG_SPI_ZYNQMP_GQSPI is not set
# CONFIG_SPI_AMD is not set

#
# SPI Multiplexer support
#
# CONFIG_SPI_MUX is not set

#
# SPI Protocol Masters
#
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_LOOPBACK_TEST is not set
# CONFIG_SPI_TLE62X0 is not set
# CONFIG_SPI_SLAVE is not set
CONFIG_SPI_DYNAMIC=y
# CONFIG_SPMI is not set
# CONFIG_HSI is not set
CONFIG_PPS=y
# CONFIG_PPS_DEBUG is not set

#
# PPS clients support
#
# CONFIG_PPS_CLIENT_KTIMER is not set
CONFIG_PPS_CLIENT_LDISC=m
CONFIG_PPS_CLIENT_PARPORT=m
CONFIG_PPS_CLIENT_GPIO=m

#
# PPS generators support
#

#
# PTP clock support
#
CONFIG_PTP_1588_CLOCK=y
CONFIG_PTP_1588_CLOCK_OPTIONAL=y
# CONFIG_DP83640_PHY is not set
# CONFIG_PTP_1588_CLOCK_INES is not set
CONFIG_PTP_1588_CLOCK_KVM=m
# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
# CONFIG_PTP_1588_CLOCK_IDTCM is not set
# CONFIG_PTP_1588_CLOCK_VMW is not set
# end of PTP clock support

CONFIG_PINCTRL=y
# CONFIG_DEBUG_PINCTRL is not set
# CONFIG_PINCTRL_AMD is not set
# CONFIG_PINCTRL_CY8C95X0 is not set
# CONFIG_PINCTRL_MCP23S08 is not set
# CONFIG_PINCTRL_SX150X is not set

#
# Intel pinctrl drivers
#
# CONFIG_PINCTRL_BAYTRAIL is not set
# CONFIG_PINCTRL_CHERRYVIEW is not set
# CONFIG_PINCTRL_LYNXPOINT is not set
# CONFIG_PINCTRL_ALDERLAKE is not set
# CONFIG_PINCTRL_BROXTON is not set
# CONFIG_PINCTRL_CANNONLAKE is not set
# CONFIG_PINCTRL_CEDARFORK is not set
# CONFIG_PINCTRL_DENVERTON is not set
# CONFIG_PINCTRL_ELKHARTLAKE is not set
# CONFIG_PINCTRL_EMMITSBURG is not set
# CONFIG_PINCTRL_GEMINILAKE is not set
# CONFIG_PINCTRL_ICELAKE is not set
# CONFIG_PINCTRL_JASPERLAKE is not set
# CONFIG_PINCTRL_LAKEFIELD is not set
# CONFIG_PINCTRL_LEWISBURG is not set
# CONFIG_PINCTRL_METEORLAKE is not set
# CONFIG_PINCTRL_SUNRISEPOINT is not set
# CONFIG_PINCTRL_TIGERLAKE is not set
# end of Intel pinctrl drivers

#
# Renesas pinctrl drivers
#
# end of Renesas pinctrl drivers

CONFIG_GPIOLIB=y
CONFIG_GPIOLIB_FASTPATH_LIMIT=512
CONFIG_GPIO_ACPI=y
# CONFIG_DEBUG_GPIO is not set
CONFIG_GPIO_CDEV=y
CONFIG_GPIO_CDEV_V1=y

#
# Memory mapped GPIO drivers
#
# CONFIG_GPIO_AMDPT is not set
# CONFIG_GPIO_DWAPB is not set
# CONFIG_GPIO_EXAR is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
CONFIG_GPIO_ICH=m
# CONFIG_GPIO_MB86S7X is not set
# CONFIG_GPIO_VX855 is not set
# CONFIG_GPIO_AMD_FCH is not set
# end of Memory mapped GPIO drivers

#
# Port-mapped I/O GPIO drivers
#
# CONFIG_GPIO_F7188X is not set
# CONFIG_GPIO_IT87 is not set
# CONFIG_GPIO_SCH is not set
# CONFIG_GPIO_SCH311X is not set
# CONFIG_GPIO_WINBOND is not set
# CONFIG_GPIO_WS16C48 is not set
# end of Port-mapped I/O GPIO drivers

#
# I2C GPIO expanders
#
# CONFIG_GPIO_MAX7300 is not set
# CONFIG_GPIO_MAX732X is not set
# CONFIG_GPIO_PCA953X is not set
# CONFIG_GPIO_PCA9570 is not set
# CONFIG_GPIO_PCF857X is not set
# CONFIG_GPIO_TPIC2810 is not set
# end of I2C GPIO expanders

#
# MFD GPIO expanders
#
# end of MFD GPIO expanders

#
# PCI GPIO expanders
#
# CONFIG_GPIO_AMD8111 is not set
# CONFIG_GPIO_BT8XX is not set
# CONFIG_GPIO_ML_IOH is not set
# CONFIG_GPIO_PCI_IDIO_16 is not set
# CONFIG_GPIO_PCIE_IDIO_24 is not set
# CONFIG_GPIO_RDC321X is not set
# end of PCI GPIO expanders

#
# SPI GPIO expanders
#
# CONFIG_GPIO_MAX3191X is not set
# CONFIG_GPIO_MAX7301 is not set
# CONFIG_GPIO_MC33880 is not set
# CONFIG_GPIO_PISOSR is not set
# CONFIG_GPIO_XRA1403 is not set
# end of SPI GPIO expanders

#
# USB GPIO expanders
#
# end of USB GPIO expanders

#
# Virtual GPIO drivers
#
# CONFIG_GPIO_AGGREGATOR is not set
# CONFIG_GPIO_LATCH is not set
# CONFIG_GPIO_MOCKUP is not set
# CONFIG_GPIO_VIRTIO is not set
# CONFIG_GPIO_SIM is not set
# end of Virtual GPIO drivers

# CONFIG_W1 is not set
CONFIG_POWER_RESET=y
# CONFIG_POWER_RESET_RESTART is not set
CONFIG_POWER_SUPPLY=y
# CONFIG_POWER_SUPPLY_DEBUG is not set
CONFIG_POWER_SUPPLY_HWMON=y
# CONFIG_IP5XXX_POWER is not set
# CONFIG_TEST_POWER is not set
# CONFIG_CHARGER_ADP5061 is not set
# CONFIG_BATTERY_CW2015 is not set
# CONFIG_BATTERY_DS2780 is not set
# CONFIG_BATTERY_DS2781 is not set
# CONFIG_BATTERY_DS2782 is not set
# CONFIG_BATTERY_SAMSUNG_SDI is not set
# CONFIG_BATTERY_SBS is not set
# CONFIG_CHARGER_SBS is not set
# CONFIG_MANAGER_SBS is not set
# CONFIG_BATTERY_BQ27XXX is not set
# CONFIG_BATTERY_MAX17040 is not set
# CONFIG_BATTERY_MAX17042 is not set
# CONFIG_CHARGER_MAX8903 is not set
# CONFIG_CHARGER_LP8727 is not set
# CONFIG_CHARGER_GPIO is not set
# CONFIG_CHARGER_LT3651 is not set
# CONFIG_CHARGER_LTC4162L is not set
# CONFIG_CHARGER_MAX77976 is not set
# CONFIG_CHARGER_BQ2415X is not set
# CONFIG_CHARGER_BQ24257 is not set
# CONFIG_CHARGER_BQ24735 is not set
# CONFIG_CHARGER_BQ2515X is not set
# CONFIG_CHARGER_BQ25890 is not set
# CONFIG_CHARGER_BQ25980 is not set
# CONFIG_CHARGER_BQ256XX is not set
# CONFIG_BATTERY_GAUGE_LTC2941 is not set
# CONFIG_BATTERY_GOLDFISH is not set
# CONFIG_BATTERY_RT5033 is not set
# CONFIG_CHARGER_RT9455 is not set
# CONFIG_CHARGER_BD99954 is not set
# CONFIG_BATTERY_UG3105 is not set
CONFIG_HWMON=y
CONFIG_HWMON_VID=m
# CONFIG_HWMON_DEBUG_CHIP is not set

#
# Native drivers
#
CONFIG_SENSORS_ABITUGURU=m
CONFIG_SENSORS_ABITUGURU3=m
# CONFIG_SENSORS_AD7314 is not set
CONFIG_SENSORS_AD7414=m
CONFIG_SENSORS_AD7418=m
CONFIG_SENSORS_ADM1025=m
CONFIG_SENSORS_ADM1026=m
CONFIG_SENSORS_ADM1029=m
CONFIG_SENSORS_ADM1031=m
# CONFIG_SENSORS_ADM1177 is not set
CONFIG_SENSORS_ADM9240=m
CONFIG_SENSORS_ADT7X10=m
# CONFIG_SENSORS_ADT7310 is not set
CONFIG_SENSORS_ADT7410=m
CONFIG_SENSORS_ADT7411=m
CONFIG_SENSORS_ADT7462=m
CONFIG_SENSORS_ADT7470=m
CONFIG_SENSORS_ADT7475=m
# CONFIG_SENSORS_AHT10 is not set
# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
# CONFIG_SENSORS_AS370 is not set
CONFIG_SENSORS_ASC7621=m
# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
CONFIG_SENSORS_K8TEMP=m
CONFIG_SENSORS_K10TEMP=m
CONFIG_SENSORS_FAM15H_POWER=m
CONFIG_SENSORS_APPLESMC=m
CONFIG_SENSORS_ASB100=m
CONFIG_SENSORS_ATXP1=m
# CONFIG_SENSORS_CORSAIR_CPRO is not set
# CONFIG_SENSORS_CORSAIR_PSU is not set
# CONFIG_SENSORS_DRIVETEMP is not set
CONFIG_SENSORS_DS620=m
CONFIG_SENSORS_DS1621=m
# CONFIG_SENSORS_DELL_SMM is not set
CONFIG_SENSORS_I5K_AMB=m
CONFIG_SENSORS_F71805F=m
CONFIG_SENSORS_F71882FG=m
CONFIG_SENSORS_F75375S=m
CONFIG_SENSORS_FSCHMD=m
# CONFIG_SENSORS_FTSTEUTATES is not set
CONFIG_SENSORS_GL518SM=m
CONFIG_SENSORS_GL520SM=m
CONFIG_SENSORS_G760A=m
# CONFIG_SENSORS_G762 is not set
# CONFIG_SENSORS_HIH6130 is not set
CONFIG_SENSORS_IBMAEM=m
CONFIG_SENSORS_IBMPEX=m
CONFIG_SENSORS_I5500=m
CONFIG_SENSORS_CORETEMP=m
CONFIG_SENSORS_IT87=m
CONFIG_SENSORS_JC42=m
# CONFIG_SENSORS_POWR1220 is not set
CONFIG_SENSORS_LINEAGE=m
# CONFIG_SENSORS_LTC2945 is not set
# CONFIG_SENSORS_LTC2947_I2C is not set
# CONFIG_SENSORS_LTC2947_SPI is not set
# CONFIG_SENSORS_LTC2990 is not set
# CONFIG_SENSORS_LTC2992 is not set
CONFIG_SENSORS_LTC4151=m
CONFIG_SENSORS_LTC4215=m
# CONFIG_SENSORS_LTC4222 is not set
CONFIG_SENSORS_LTC4245=m
# CONFIG_SENSORS_LTC4260 is not set
CONFIG_SENSORS_LTC4261=m
# CONFIG_SENSORS_MAX1111 is not set
# CONFIG_SENSORS_MAX127 is not set
CONFIG_SENSORS_MAX16065=m
CONFIG_SENSORS_MAX1619=m
CONFIG_SENSORS_MAX1668=m
CONFIG_SENSORS_MAX197=m
# CONFIG_SENSORS_MAX31722 is not set
# CONFIG_SENSORS_MAX31730 is not set
# CONFIG_SENSORS_MAX31760 is not set
# CONFIG_SENSORS_MAX6620 is not set
# CONFIG_SENSORS_MAX6621 is not set
CONFIG_SENSORS_MAX6639=m
CONFIG_SENSORS_MAX6650=m
CONFIG_SENSORS_MAX6697=m
# CONFIG_SENSORS_MAX31790 is not set
# CONFIG_SENSORS_MC34VR500 is not set
CONFIG_SENSORS_MCP3021=m
# CONFIG_SENSORS_MLXREG_FAN is not set
# CONFIG_SENSORS_TC654 is not set
# CONFIG_SENSORS_TPS23861 is not set
# CONFIG_SENSORS_MR75203 is not set
# CONFIG_SENSORS_ADCXX is not set
CONFIG_SENSORS_LM63=m
# CONFIG_SENSORS_LM70 is not set
CONFIG_SENSORS_LM73=m
CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM77=m
CONFIG_SENSORS_LM78=m
CONFIG_SENSORS_LM80=m
CONFIG_SENSORS_LM83=m
CONFIG_SENSORS_LM85=m
CONFIG_SENSORS_LM87=m
CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM92=m
CONFIG_SENSORS_LM93=m
CONFIG_SENSORS_LM95234=m
CONFIG_SENSORS_LM95241=m
CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_PC87360=m
CONFIG_SENSORS_PC87427=m
# CONFIG_SENSORS_NCT6683 is not set
CONFIG_SENSORS_NCT6775_CORE=m
CONFIG_SENSORS_NCT6775=m
# CONFIG_SENSORS_NCT6775_I2C is not set
# CONFIG_SENSORS_NCT7802 is not set
# CONFIG_SENSORS_NCT7904 is not set
# CONFIG_SENSORS_NPCM7XX is not set
# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
# CONFIG_SENSORS_NZXT_SMART2 is not set
# CONFIG_SENSORS_OCC_P8_I2C is not set
# CONFIG_SENSORS_OXP is not set
CONFIG_SENSORS_PCF8591=m
CONFIG_PMBUS=m
CONFIG_SENSORS_PMBUS=m
# CONFIG_SENSORS_ADM1266 is not set
CONFIG_SENSORS_ADM1275=m
# CONFIG_SENSORS_BEL_PFE is not set
# CONFIG_SENSORS_BPA_RS600 is not set
# CONFIG_SENSORS_DELTA_AHE50DC_FAN is not set
# CONFIG_SENSORS_FSP_3Y is not set
# CONFIG_SENSORS_IBM_CFFPS is not set
# CONFIG_SENSORS_DPS920AB is not set
# CONFIG_SENSORS_INSPUR_IPSPS is not set
# CONFIG_SENSORS_IR35221 is not set
# CONFIG_SENSORS_IR36021 is not set
# CONFIG_SENSORS_IR38064 is not set
# CONFIG_SENSORS_IRPS5401 is not set
# CONFIG_SENSORS_ISL68137 is not set
CONFIG_SENSORS_LM25066=m
# CONFIG_SENSORS_LT7182S is not set
CONFIG_SENSORS_LTC2978=m
# CONFIG_SENSORS_LTC3815 is not set
# CONFIG_SENSORS_MAX15301 is not set
CONFIG_SENSORS_MAX16064=m
# CONFIG_SENSORS_MAX16601 is not set
# CONFIG_SENSORS_MAX20730 is not set
# CONFIG_SENSORS_MAX20751 is not set
# CONFIG_SENSORS_MAX31785 is not set
CONFIG_SENSORS_MAX34440=m
CONFIG_SENSORS_MAX8688=m
# CONFIG_SENSORS_MP2888 is not set
# CONFIG_SENSORS_MP2975 is not set
# CONFIG_SENSORS_MP5023 is not set
# CONFIG_SENSORS_MPQ7932 is not set
# CONFIG_SENSORS_PIM4328 is not set
# CONFIG_SENSORS_PLI1209BC is not set
# CONFIG_SENSORS_PM6764TR is not set
# CONFIG_SENSORS_PXE1610 is not set
# CONFIG_SENSORS_Q54SJ108A2 is not set
# CONFIG_SENSORS_STPDDC60 is not set
# CONFIG_SENSORS_TDA38640 is not set
# CONFIG_SENSORS_TPS40422 is not set
# CONFIG_SENSORS_TPS53679 is not set
# CONFIG_SENSORS_TPS546D24 is not set
CONFIG_SENSORS_UCD9000=m
CONFIG_SENSORS_UCD9200=m
# CONFIG_SENSORS_XDPE152 is not set
# CONFIG_SENSORS_XDPE122 is not set
CONFIG_SENSORS_ZL6100=m
# CONFIG_SENSORS_SBTSI is not set
# CONFIG_SENSORS_SBRMI is not set
CONFIG_SENSORS_SHT15=m
CONFIG_SENSORS_SHT21=m
# CONFIG_SENSORS_SHT3x is not set
# CONFIG_SENSORS_SHT4x is not set
# CONFIG_SENSORS_SHTC1 is not set
CONFIG_SENSORS_SIS5595=m
CONFIG_SENSORS_DME1737=m
CONFIG_SENSORS_EMC1403=m
# CONFIG_SENSORS_EMC2103 is not set
# CONFIG_SENSORS_EMC2305 is not set
CONFIG_SENSORS_EMC6W201=m
CONFIG_SENSORS_SMSC47M1=m
CONFIG_SENSORS_SMSC47M192=m
CONFIG_SENSORS_SMSC47B397=m
CONFIG_SENSORS_SCH56XX_COMMON=m
CONFIG_SENSORS_SCH5627=m
CONFIG_SENSORS_SCH5636=m
# CONFIG_SENSORS_STTS751 is not set
# CONFIG_SENSORS_SMM665 is not set
# CONFIG_SENSORS_ADC128D818 is not set
CONFIG_SENSORS_ADS7828=m
# CONFIG_SENSORS_ADS7871 is not set
CONFIG_SENSORS_AMC6821=m
CONFIG_SENSORS_INA209=m
CONFIG_SENSORS_INA2XX=m
# CONFIG_SENSORS_INA238 is not set
# CONFIG_SENSORS_INA3221 is not set
# CONFIG_SENSORS_TC74 is not set
CONFIG_SENSORS_THMC50=m
CONFIG_SENSORS_TMP102=m
# CONFIG_SENSORS_TMP103 is not set
# CONFIG_SENSORS_TMP108 is not set
CONFIG_SENSORS_TMP401=m
CONFIG_SENSORS_TMP421=m
# CONFIG_SENSORS_TMP464 is not set
# CONFIG_SENSORS_TMP513 is not set
CONFIG_SENSORS_VIA_CPUTEMP=m
CONFIG_SENSORS_VIA686A=m
CONFIG_SENSORS_VT1211=m
CONFIG_SENSORS_VT8231=m
# CONFIG_SENSORS_W83773G is not set
CONFIG_SENSORS_W83781D=m
CONFIG_SENSORS_W83791D=m
CONFIG_SENSORS_W83792D=m
CONFIG_SENSORS_W83793=m
CONFIG_SENSORS_W83795=m
# CONFIG_SENSORS_W83795_FANCTRL is not set
CONFIG_SENSORS_W83L785TS=m
CONFIG_SENSORS_W83L786NG=m
CONFIG_SENSORS_W83627HF=m
CONFIG_SENSORS_W83627EHF=m
# CONFIG_SENSORS_XGENE is not set

#
# ACPI drivers
#
CONFIG_SENSORS_ACPI_POWER=m
CONFIG_SENSORS_ATK0110=m
# CONFIG_SENSORS_ASUS_WMI is not set
# CONFIG_SENSORS_ASUS_EC is not set
CONFIG_THERMAL=y
# CONFIG_THERMAL_NETLINK is not set
# CONFIG_THERMAL_STATISTICS is not set
CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
CONFIG_THERMAL_HWMON=y
CONFIG_THERMAL_ACPI=y
CONFIG_THERMAL_WRITABLE_TRIPS=y
CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
CONFIG_THERMAL_GOV_FAIR_SHARE=y
CONFIG_THERMAL_GOV_STEP_WISE=y
CONFIG_THERMAL_GOV_BANG_BANG=y
CONFIG_THERMAL_GOV_USER_SPACE=y
# CONFIG_THERMAL_EMULATION is not set

#
# Intel thermal drivers
#
CONFIG_INTEL_POWERCLAMP=m
CONFIG_X86_THERMAL_VECTOR=y
CONFIG_INTEL_TCC=y
CONFIG_X86_PKG_TEMP_THERMAL=m
# CONFIG_INTEL_SOC_DTS_THERMAL is not set

#
# ACPI INT340X thermal drivers
#
# CONFIG_INT340X_THERMAL is not set
# end of ACPI INT340X thermal drivers

CONFIG_INTEL_PCH_THERMAL=m
# CONFIG_INTEL_TCC_COOLING is not set
# CONFIG_INTEL_MENLOW is not set
# CONFIG_INTEL_HFI_THERMAL is not set
# end of Intel thermal drivers

CONFIG_WATCHDOG=y
CONFIG_WATCHDOG_CORE=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
CONFIG_WATCHDOG_OPEN_TIMEOUT=0
CONFIG_WATCHDOG_SYSFS=y
# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set

#
# Watchdog Pretimeout Governors
#
# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set

#
# Watchdog Device Drivers
#
CONFIG_SOFT_WATCHDOG=m
CONFIG_WDAT_WDT=m
# CONFIG_XILINX_WATCHDOG is not set
# CONFIG_ZIIRAVE_WATCHDOG is not set
# CONFIG_MLX_WDT is not set
# CONFIG_CADENCE_WATCHDOG is not set
# CONFIG_DW_WATCHDOG is not set
# CONFIG_MAX63XX_WATCHDOG is not set
# CONFIG_ACQUIRE_WDT is not set
# CONFIG_ADVANTECH_WDT is not set
# CONFIG_ADVANTECH_EC_WDT is not set
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
# CONFIG_EBC_C384_WDT is not set
# CONFIG_EXAR_WDT is not set
CONFIG_F71808E_WDT=m
# CONFIG_SP5100_TCO is not set
CONFIG_SBC_FITPC2_WATCHDOG=m
# CONFIG_EUROTECH_WDT is not set
CONFIG_IB700_WDT=m
CONFIG_IBMASR=m
# CONFIG_WAFER_WDT is not set
CONFIG_I6300ESB_WDT=y
CONFIG_IE6XX_WDT=m
CONFIG_ITCO_WDT=y
CONFIG_ITCO_VENDOR_SUPPORT=y
CONFIG_IT8712F_WDT=m
CONFIG_IT87_WDT=m
CONFIG_HP_WATCHDOG=m
CONFIG_HPWDT_NMI_DECODING=y
# CONFIG_SC1200_WDT is not set
# CONFIG_PC87413_WDT is not set
CONFIG_NV_TCO=m
# CONFIG_60XX_WDT is not set
# CONFIG_CPU5_WDT is not set
CONFIG_SMSC_SCH311X_WDT=m
# CONFIG_SMSC37B787_WDT is not set
# CONFIG_TQMX86_WDT is not set
CONFIG_VIA_WDT=m
CONFIG_W83627HF_WDT=m
CONFIG_W83877F_WDT=m
CONFIG_W83977F_WDT=m
CONFIG_MACHZ_WDT=m
# CONFIG_SBC_EPX_C3_WATCHDOG is not set
CONFIG_INTEL_MEI_WDT=m
# CONFIG_NI903X_WDT is not set
# CONFIG_NIC7018_WDT is not set
# CONFIG_MEN_A21_WDT is not set

#
# PCI-based Watchdog Cards
#
CONFIG_PCIPCWATCHDOG=m
CONFIG_WDTPCI=m

#
# USB-based Watchdog Cards
#
# CONFIG_USBPCWATCHDOG is not set
CONFIG_SSB_POSSIBLE=y
# CONFIG_SSB is not set
CONFIG_BCMA_POSSIBLE=y
CONFIG_BCMA=m
CONFIG_BCMA_HOST_PCI_POSSIBLE=y
CONFIG_BCMA_HOST_PCI=y
# CONFIG_BCMA_HOST_SOC is not set
CONFIG_BCMA_DRIVER_PCI=y
CONFIG_BCMA_DRIVER_GMAC_CMN=y
CONFIG_BCMA_DRIVER_GPIO=y
# CONFIG_BCMA_DEBUG is not set

#
# Multifunction device drivers
#
CONFIG_MFD_CORE=y
# CONFIG_MFD_AS3711 is not set
# CONFIG_MFD_SMPRO is not set
# CONFIG_PMIC_ADP5520 is not set
# CONFIG_MFD_AAT2870_CORE is not set
# CONFIG_MFD_BCM590XX is not set
# CONFIG_MFD_BD9571MWV is not set
# CONFIG_MFD_AXP20X_I2C is not set
# CONFIG_MFD_MADERA is not set
# CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_DA9052_SPI is not set
# CONFIG_MFD_DA9052_I2C is not set
# CONFIG_MFD_DA9055 is not set
# CONFIG_MFD_DA9062 is not set
# CONFIG_MFD_DA9063 is not set
# CONFIG_MFD_DA9150 is not set
# CONFIG_MFD_DLN2 is not set
# CONFIG_MFD_MC13XXX_SPI is not set
# CONFIG_MFD_MC13XXX_I2C is not set
# CONFIG_MFD_MP2629 is not set
# CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
CONFIG_LPC_ICH=y
CONFIG_LPC_SCH=m
CONFIG_MFD_INTEL_LPSS=y
CONFIG_MFD_INTEL_LPSS_ACPI=y
CONFIG_MFD_INTEL_LPSS_PCI=y
# CONFIG_MFD_INTEL_PMC_BXT is not set
# CONFIG_MFD_IQS62X is not set
# CONFIG_MFD_JANZ_CMODIO is not set
# CONFIG_MFD_KEMPLD is not set
# CONFIG_MFD_88PM800 is not set
# CONFIG_MFD_88PM805 is not set
# CONFIG_MFD_88PM860X is not set
# CONFIG_MFD_MAX14577 is not set
# CONFIG_MFD_MAX77693 is not set
# CONFIG_MFD_MAX77843 is not set
# CONFIG_MFD_MAX8907 is not set
# CONFIG_MFD_MAX8925 is not set
# CONFIG_MFD_MAX8997 is not set
# CONFIG_MFD_MAX8998 is not set
# CONFIG_MFD_MT6360 is not set
# CONFIG_MFD_MT6370 is not set
# CONFIG_MFD_MT6397 is not set
# CONFIG_MFD_MENF21BMC is not set
# CONFIG_MFD_OCELOT is not set
# CONFIG_EZX_PCAP is not set
# CONFIG_MFD_VIPERBOARD is not set
# CONFIG_MFD_RETU is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_MFD_SY7636A is not set
# CONFIG_MFD_RDC321X is not set
# CONFIG_MFD_RT4831 is not set
# CONFIG_MFD_RT5033 is not set
# CONFIG_MFD_RT5120 is not set
# CONFIG_MFD_RC5T583 is not set
# CONFIG_MFD_SI476X_CORE is not set
CONFIG_MFD_SM501=m
CONFIG_MFD_SM501_GPIO=y
# CONFIG_MFD_SKY81452 is not set
# CONFIG_MFD_SYSCON is not set
# CONFIG_MFD_TI_AM335X_TSCADC is not set
# CONFIG_MFD_LP3943 is not set
# CONFIG_MFD_LP8788 is not set
# CONFIG_MFD_TI_LMU is not set
# CONFIG_MFD_PALMAS is not set
# CONFIG_TPS6105X is not set
# CONFIG_TPS65010 is not set
# CONFIG_TPS6507X is not set
# CONFIG_MFD_TPS65086 is not set
# CONFIG_MFD_TPS65090 is not set
# CONFIG_MFD_TI_LP873X is not set
# CONFIG_MFD_TPS6586X is not set
# CONFIG_MFD_TPS65910 is not set
# CONFIG_MFD_TPS65912_I2C is not set
# CONFIG_MFD_TPS65912_SPI is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_TWL6040_CORE is not set
# CONFIG_MFD_WL1273_CORE is not set
# CONFIG_MFD_LM3533 is not set
# CONFIG_MFD_TQMX86 is not set
CONFIG_MFD_VX855=m
# CONFIG_MFD_ARIZONA_I2C is not set
# CONFIG_MFD_ARIZONA_SPI is not set
# CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM831X_I2C is not set
# CONFIG_MFD_WM831X_SPI is not set
# CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_WM8994 is not set
# CONFIG_MFD_ATC260X_I2C is not set
# CONFIG_MFD_INTEL_M10_BMC_SPI is not set
# end of Multifunction device drivers

# CONFIG_REGULATOR is not set
CONFIG_RC_CORE=m
CONFIG_LIRC=y
CONFIG_RC_MAP=m
CONFIG_RC_DECODERS=y
CONFIG_IR_IMON_DECODER=m
CONFIG_IR_JVC_DECODER=m
CONFIG_IR_MCE_KBD_DECODER=m
CONFIG_IR_NEC_DECODER=m
CONFIG_IR_RC5_DECODER=m
CONFIG_IR_RC6_DECODER=m
# CONFIG_IR_RCMM_DECODER is not set
CONFIG_IR_SANYO_DECODER=m
# CONFIG_IR_SHARP_DECODER is not set
CONFIG_IR_SONY_DECODER=m
# CONFIG_IR_XMP_DECODER is not set
CONFIG_RC_DEVICES=y
CONFIG_IR_ENE=m
CONFIG_IR_FINTEK=m
# CONFIG_IR_IGORPLUGUSB is not set
# CONFIG_IR_IGUANA is not set
# CONFIG_IR_IMON is not set
# CONFIG_IR_IMON_RAW is not set
CONFIG_IR_ITE_CIR=m
# CONFIG_IR_MCEUSB is not set
CONFIG_IR_NUVOTON=m
# CONFIG_IR_REDRAT3 is not set
CONFIG_IR_SERIAL=m
CONFIG_IR_SERIAL_TRANSMITTER=y
# CONFIG_IR_STREAMZAP is not set
# CONFIG_IR_TOY is not set
# CONFIG_IR_TTUSBIR is not set
CONFIG_IR_WINBOND_CIR=m
# CONFIG_RC_ATI_REMOTE is not set
# CONFIG_RC_LOOPBACK is not set
# CONFIG_RC_XBOX_DVD is not set

#
# CEC support
#
# CONFIG_MEDIA_CEC_SUPPORT is not set
# end of CEC support

CONFIG_MEDIA_SUPPORT=m
CONFIG_MEDIA_SUPPORT_FILTER=y
CONFIG_MEDIA_SUBDRV_AUTOSELECT=y

#
# Media device types
#
# CONFIG_MEDIA_CAMERA_SUPPORT is not set
# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
# CONFIG_MEDIA_RADIO_SUPPORT is not set
# CONFIG_MEDIA_SDR_SUPPORT is not set
# CONFIG_MEDIA_PLATFORM_SUPPORT is not set
# CONFIG_MEDIA_TEST_SUPPORT is not set
# end of Media device types

#
# Media drivers
#

#
# Drivers filtered as selected at 'Filter media drivers'
#

#
# Media drivers
#
# CONFIG_MEDIA_USB_SUPPORT is not set
# CONFIG_MEDIA_PCI_SUPPORT is not set
# end of Media drivers

CONFIG_MEDIA_HIDE_ANCILLARY_SUBDRV=y

#
# Media ancillary drivers
#
# end of Media ancillary drivers

#
# Graphics support
#
CONFIG_APERTURE_HELPERS=y
CONFIG_VIDEO_NOMODESET=y
# CONFIG_AGP is not set
CONFIG_INTEL_GTT=m
CONFIG_VGA_SWITCHEROO=y
CONFIG_DRM=m
CONFIG_DRM_MIPI_DSI=y
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_LOAD_EDID_FIRMWARE=y
CONFIG_DRM_DISPLAY_HELPER=m
CONFIG_DRM_DISPLAY_DP_HELPER=y
CONFIG_DRM_DISPLAY_HDCP_HELPER=y
CONFIG_DRM_DISPLAY_HDMI_HELPER=y
CONFIG_DRM_DP_AUX_CHARDEV=y
# CONFIG_DRM_DP_CEC is not set
CONFIG_DRM_TTM=m
CONFIG_DRM_BUDDY=m
CONFIG_DRM_VRAM_HELPER=m
CONFIG_DRM_TTM_HELPER=m
CONFIG_DRM_GEM_SHMEM_HELPER=m

#
# I2C encoder or helper chips
#
CONFIG_DRM_I2C_CH7006=m
CONFIG_DRM_I2C_SIL164=m
# CONFIG_DRM_I2C_NXP_TDA998X is not set
# CONFIG_DRM_I2C_NXP_TDA9950 is not set
# end of I2C encoder or helper chips

#
# ARM devices
#
# end of ARM devices

# CONFIG_DRM_RADEON is not set
# CONFIG_DRM_AMDGPU is not set
# CONFIG_DRM_NOUVEAU is not set
CONFIG_DRM_I915=m
CONFIG_DRM_I915_FORCE_PROBE=""
CONFIG_DRM_I915_CAPTURE_ERROR=y
CONFIG_DRM_I915_COMPRESS_ERROR=y
CONFIG_DRM_I915_USERPTR=y
# CONFIG_DRM_I915_GVT_KVMGT is not set
CONFIG_DRM_I915_REQUEST_TIMEOUT=20000
CONFIG_DRM_I915_FENCE_TIMEOUT=10000
CONFIG_DRM_I915_USERFAULT_AUTOSUSPEND=250
CONFIG_DRM_I915_HEARTBEAT_INTERVAL=2500
CONFIG_DRM_I915_PREEMPT_TIMEOUT=640
CONFIG_DRM_I915_PREEMPT_TIMEOUT_COMPUTE=7500
CONFIG_DRM_I915_MAX_REQUEST_BUSYWAIT=8000
CONFIG_DRM_I915_STOP_TIMEOUT=100
CONFIG_DRM_I915_TIMESLICE_DURATION=1
# CONFIG_DRM_VGEM is not set
# CONFIG_DRM_VKMS is not set
# CONFIG_DRM_VMWGFX is not set
CONFIG_DRM_GMA500=m
# CONFIG_DRM_UDL is not set
CONFIG_DRM_AST=m
# CONFIG_DRM_MGAG200 is not set
CONFIG_DRM_QXL=m
CONFIG_DRM_VIRTIO_GPU=m
CONFIG_DRM_PANEL=y

#
# Display Panels
#
# CONFIG_DRM_PANEL_AUO_A030JTN01 is not set
# CONFIG_DRM_PANEL_ORISETECH_OTA5601A is not set
# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
# end of Display Panels

CONFIG_DRM_BRIDGE=y
CONFIG_DRM_PANEL_BRIDGE=y

#
# Display Interface Bridges
#
# CONFIG_DRM_ANALOGIX_ANX78XX is not set
# end of Display Interface Bridges

# CONFIG_DRM_ETNAVIV is not set
CONFIG_DRM_BOCHS=m
CONFIG_DRM_CIRRUS_QEMU=m
# CONFIG_DRM_GM12U320 is not set
# CONFIG_DRM_PANEL_MIPI_DBI is not set
# CONFIG_DRM_SIMPLEDRM is not set
# CONFIG_TINYDRM_HX8357D is not set
# CONFIG_TINYDRM_ILI9163 is not set
# CONFIG_TINYDRM_ILI9225 is not set
# CONFIG_TINYDRM_ILI9341 is not set
# CONFIG_TINYDRM_ILI9486 is not set
# CONFIG_TINYDRM_MI0283QT is not set
# CONFIG_TINYDRM_REPAPER is not set
# CONFIG_TINYDRM_ST7586 is not set
# CONFIG_TINYDRM_ST7735R is not set
# CONFIG_DRM_VBOXVIDEO is not set
# CONFIG_DRM_GUD is not set
# CONFIG_DRM_SSD130X is not set
# CONFIG_DRM_HYPERV is not set
# CONFIG_DRM_LEGACY is not set
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
CONFIG_DRM_PRIVACY_SCREEN=y

#
# Frame buffer Devices
#
CONFIG_FB_CMDLINE=y
CONFIG_FB_NOTIFY=y
CONFIG_FB=y
# CONFIG_FIRMWARE_EDID is not set
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_SYS_FILLRECT=m
CONFIG_FB_SYS_COPYAREA=m
CONFIG_FB_SYS_IMAGEBLIT=m
# CONFIG_FB_FOREIGN_ENDIAN is not set
CONFIG_FB_SYS_FOPS=m
CONFIG_FB_DEFERRED_IO=y
# CONFIG_FB_MODE_HELPERS is not set
CONFIG_FB_TILEBLITTING=y

#
# Frame buffer hardware drivers
#
# CONFIG_FB_CIRRUS is not set
# CONFIG_FB_PM2 is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_ARC is not set
# CONFIG_FB_ASILIANT is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_UVESA is not set
CONFIG_FB_VESA=y
CONFIG_FB_EFI=y
# CONFIG_FB_N411 is not set
# CONFIG_FB_HGA is not set
# CONFIG_FB_OPENCORES is not set
# CONFIG_FB_S1D13XXX is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_RIVA is not set
# CONFIG_FB_I740 is not set
# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_S3 is not set
# CONFIG_FB_SAVAGE is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_VIA is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_KYRO is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VT8623 is not set
# CONFIG_FB_TRIDENT is not set
# CONFIG_FB_ARK is not set
# CONFIG_FB_PM3 is not set
# CONFIG_FB_CARMINE is not set
# CONFIG_FB_SM501 is not set
# CONFIG_FB_SMSCUFX is not set
# CONFIG_FB_UDL is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MB862XX is not set
CONFIG_FB_HYPERV=m
# CONFIG_FB_SIMPLE is not set
# CONFIG_FB_SSD1307 is not set
# CONFIG_FB_SM712 is not set
# end of Frame buffer Devices

#
# Backlight & LCD device support
#
CONFIG_LCD_CLASS_DEVICE=m
# CONFIG_LCD_L4F00242T03 is not set
# CONFIG_LCD_LMS283GF05 is not set
# CONFIG_LCD_LTV350QV is not set
# CONFIG_LCD_ILI922X is not set
# CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_TDO24M is not set
# CONFIG_LCD_VGG2432A4 is not set
CONFIG_LCD_PLATFORM=m
# CONFIG_LCD_AMS369FG06 is not set
# CONFIG_LCD_LMS501KF03 is not set
# CONFIG_LCD_HX8357 is not set
# CONFIG_LCD_OTM3225A is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_KTD253 is not set
# CONFIG_BACKLIGHT_KTZ8866 is not set
# CONFIG_BACKLIGHT_PWM is not set
CONFIG_BACKLIGHT_APPLE=m
# CONFIG_BACKLIGHT_QCOM_WLED is not set
# CONFIG_BACKLIGHT_SAHARA is not set
# CONFIG_BACKLIGHT_ADP8860 is not set
# CONFIG_BACKLIGHT_ADP8870 is not set
# CONFIG_BACKLIGHT_LM3630A is not set
# CONFIG_BACKLIGHT_LM3639 is not set
CONFIG_BACKLIGHT_LP855X=m
# CONFIG_BACKLIGHT_GPIO is not set
# CONFIG_BACKLIGHT_LV5207LP is not set
# CONFIG_BACKLIGHT_BD6107 is not set
# CONFIG_BACKLIGHT_ARCXCNN is not set
# end of Backlight & LCD device support

CONFIG_HDMI=y

#
# Console display driver support
#
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
# end of Console display driver support

CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
CONFIG_LOGO_LINUX_CLUT224=y
# end of Graphics support

# CONFIG_DRM_ACCEL is not set
# CONFIG_SOUND is not set
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
CONFIG_HID_BATTERY_STRENGTH=y
CONFIG_HIDRAW=y
CONFIG_UHID=m
CONFIG_HID_GENERIC=y

#
# Special HID drivers
#
CONFIG_HID_A4TECH=m
# CONFIG_HID_ACCUTOUCH is not set
CONFIG_HID_ACRUX=m
# CONFIG_HID_ACRUX_FF is not set
CONFIG_HID_APPLE=m
# CONFIG_HID_APPLEIR is not set
CONFIG_HID_ASUS=m
CONFIG_HID_AUREAL=m
CONFIG_HID_BELKIN=m
# CONFIG_HID_BETOP_FF is not set
# CONFIG_HID_BIGBEN_FF is not set
CONFIG_HID_CHERRY=m
# CONFIG_HID_CHICONY is not set
# CONFIG_HID_CORSAIR is not set
# CONFIG_HID_COUGAR is not set
# CONFIG_HID_MACALLY is not set
CONFIG_HID_CMEDIA=m
# CONFIG_HID_CP2112 is not set
# CONFIG_HID_CREATIVE_SB0540 is not set
CONFIG_HID_CYPRESS=m
CONFIG_HID_DRAGONRISE=m
# CONFIG_DRAGONRISE_FF is not set
# CONFIG_HID_EMS_FF is not set
# CONFIG_HID_ELAN is not set
CONFIG_HID_ELECOM=m
# CONFIG_HID_ELO is not set
# CONFIG_HID_EVISION is not set
CONFIG_HID_EZKEY=m
# CONFIG_HID_FT260 is not set
CONFIG_HID_GEMBIRD=m
CONFIG_HID_GFRM=m
# CONFIG_HID_GLORIOUS is not set
# CONFIG_HID_HOLTEK is not set
# CONFIG_HID_VIVALDI is not set
# CONFIG_HID_GT683R is not set
CONFIG_HID_KEYTOUCH=m
CONFIG_HID_KYE=m
# CONFIG_HID_UCLOGIC is not set
CONFIG_HID_WALTOP=m
# CONFIG_HID_VIEWSONIC is not set
# CONFIG_HID_VRC2 is not set
# CONFIG_HID_XIAOMI is not set
CONFIG_HID_GYRATION=m
CONFIG_HID_ICADE=m
CONFIG_HID_ITE=m
CONFIG_HID_JABRA=m
CONFIG_HID_TWINHAN=m
CONFIG_HID_KENSINGTON=m
CONFIG_HID_LCPOWER=m
CONFIG_HID_LED=m
CONFIG_HID_LENOVO=m
# CONFIG_HID_LETSKETCH is not set
CONFIG_HID_LOGITECH=m
CONFIG_HID_LOGITECH_DJ=m
CONFIG_HID_LOGITECH_HIDPP=m
# CONFIG_LOGITECH_FF is not set
# CONFIG_LOGIRUMBLEPAD2_FF is not set
# CONFIG_LOGIG940_FF is not set
# CONFIG_LOGIWHEELS_FF is not set
CONFIG_HID_MAGICMOUSE=y
# CONFIG_HID_MALTRON is not set
# CONFIG_HID_MAYFLASH is not set
# CONFIG_HID_MEGAWORLD_FF is not set
# CONFIG_HID_REDRAGON is not set
CONFIG_HID_MICROSOFT=m
CONFIG_HID_MONTEREY=m
CONFIG_HID_MULTITOUCH=m
# CONFIG_HID_NINTENDO is not set
CONFIG_HID_NTI=m
# CONFIG_HID_NTRIG is not set
CONFIG_HID_ORTEK=m
CONFIG_HID_PANTHERLORD=m
# CONFIG_PANTHERLORD_FF is not set
# CONFIG_HID_PENMOUNT is not set
CONFIG_HID_PETALYNX=m
CONFIG_HID_PICOLCD=m
CONFIG_HID_PICOLCD_FB=y
CONFIG_HID_PICOLCD_BACKLIGHT=y
CONFIG_HID_PICOLCD_LCD=y
CONFIG_HID_PICOLCD_LEDS=y
CONFIG_HID_PICOLCD_CIR=y
CONFIG_HID_PLANTRONICS=m
# CONFIG_HID_PXRC is not set
# CONFIG_HID_RAZER is not set
CONFIG_HID_PRIMAX=m
# CONFIG_HID_RETRODE is not set
# CONFIG_HID_ROCCAT is not set
CONFIG_HID_SAITEK=m
CONFIG_HID_SAMSUNG=m
# CONFIG_HID_SEMITEK is not set
# CONFIG_HID_SIGMAMICRO is not set
# CONFIG_HID_SONY is not set
CONFIG_HID_SPEEDLINK=m
# CONFIG_HID_STEAM is not set
CONFIG_HID_STEELSERIES=m
CONFIG_HID_SUNPLUS=m
CONFIG_HID_RMI=m
CONFIG_HID_GREENASIA=m
# CONFIG_GREENASIA_FF is not set
CONFIG_HID_HYPERV_MOUSE=m
CONFIG_HID_SMARTJOYPLUS=m
# CONFIG_SMARTJOYPLUS_FF is not set
CONFIG_HID_TIVO=m
CONFIG_HID_TOPSEED=m
# CONFIG_HID_TOPRE is not set
CONFIG_HID_THINGM=m
CONFIG_HID_THRUSTMASTER=m
# CONFIG_THRUSTMASTER_FF is not set
# CONFIG_HID_UDRAW_PS3 is not set
# CONFIG_HID_U2FZERO is not set
# CONFIG_HID_WACOM is not set
CONFIG_HID_WIIMOTE=m
CONFIG_HID_XINMO=m
CONFIG_HID_ZEROPLUS=m
# CONFIG_ZEROPLUS_FF is not set
CONFIG_HID_ZYDACRON=m
CONFIG_HID_SENSOR_HUB=y
CONFIG_HID_SENSOR_CUSTOM_SENSOR=m
CONFIG_HID_ALPS=m
# CONFIG_HID_MCP2221 is not set
# end of Special HID drivers

#
# HID-BPF support
#
# CONFIG_HID_BPF is not set
# end of HID-BPF support

#
# USB HID support
#
CONFIG_USB_HID=y
# CONFIG_HID_PID is not set
# CONFIG_USB_HIDDEV is not set
# end of USB HID support

CONFIG_I2C_HID=m
# CONFIG_I2C_HID_ACPI is not set

#
# Intel ISH HID support
#
CONFIG_INTEL_ISH_HID=m
# CONFIG_INTEL_ISH_FIRMWARE_DOWNLOADER is not set
# end of Intel ISH HID support

#
# AMD SFH HID Support
#
# CONFIG_AMD_SFH_HID is not set
# end of AMD SFH HID Support

CONFIG_USB_OHCI_LITTLE_ENDIAN=y
CONFIG_USB_SUPPORT=y
CONFIG_USB_COMMON=y
# CONFIG_USB_LED_TRIG is not set
# CONFIG_USB_ULPI_BUS is not set
# CONFIG_USB_CONN_GPIO is not set
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB=y
CONFIG_USB_PCI=y
CONFIG_USB_ANNOUNCE_NEW_DEVICES=y

#
# Miscellaneous USB options
#
CONFIG_USB_DEFAULT_PERSIST=y
# CONFIG_USB_FEW_INIT_RETRIES is not set
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
# CONFIG_USB_OTG_PRODUCTLIST is not set
CONFIG_USB_LEDS_TRIGGER_USBPORT=y
CONFIG_USB_AUTOSUSPEND_DELAY=2
CONFIG_USB_MON=y

#
# USB Host Controller Drivers
#
# CONFIG_USB_C67X00_HCD is not set
CONFIG_USB_XHCI_HCD=y
# CONFIG_USB_XHCI_DBGCAP is not set
CONFIG_USB_XHCI_PCI=y
# CONFIG_USB_XHCI_PCI_RENESAS is not set
# CONFIG_USB_XHCI_PLATFORM is not set
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_ROOT_HUB_TT=y
CONFIG_USB_EHCI_TT_NEWSCHED=y
CONFIG_USB_EHCI_PCI=y
# CONFIG_USB_EHCI_FSL is not set
# CONFIG_USB_EHCI_HCD_PLATFORM is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_MAX3421_HCD is not set
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_HCD_PCI=y
# CONFIG_USB_OHCI_HCD_PLATFORM is not set
CONFIG_USB_UHCI_HCD=y
# CONFIG_USB_SL811_HCD is not set
# CONFIG_USB_R8A66597_HCD is not set
# CONFIG_USB_HCD_BCMA is not set
# CONFIG_USB_HCD_TEST_MODE is not set

#
# USB Device Class drivers
#
# CONFIG_USB_ACM is not set
# CONFIG_USB_PRINTER is not set
# CONFIG_USB_WDM is not set
# CONFIG_USB_TMC is not set

#
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
#

#
# also be needed; see USB_STORAGE Help for more info
#
CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_REALTEK is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set
# CONFIG_USB_STORAGE_JUMPSHOT is not set
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_STORAGE_ONETOUCH is not set
# CONFIG_USB_STORAGE_KARMA is not set
# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
# CONFIG_USB_STORAGE_ENE_UB6250 is not set
# CONFIG_USB_UAS is not set

#
# USB Imaging devices
#
# CONFIG_USB_MDC800 is not set
# CONFIG_USB_MICROTEK is not set
# CONFIG_USBIP_CORE is not set

#
# USB dual-mode controller drivers
#
# CONFIG_USB_CDNS_SUPPORT is not set
# CONFIG_USB_MUSB_HDRC is not set
# CONFIG_USB_DWC3 is not set
# CONFIG_USB_DWC2 is not set
# CONFIG_USB_CHIPIDEA is not set
# CONFIG_USB_ISP1760 is not set

#
# USB port drivers
#
# CONFIG_USB_USS720 is not set
CONFIG_USB_SERIAL=m
CONFIG_USB_SERIAL_GENERIC=y
# CONFIG_USB_SERIAL_SIMPLE is not set
# CONFIG_USB_SERIAL_AIRCABLE is not set
# CONFIG_USB_SERIAL_ARK3116 is not set
# CONFIG_USB_SERIAL_BELKIN is not set
# CONFIG_USB_SERIAL_CH341 is not set
# CONFIG_USB_SERIAL_WHITEHEAT is not set
# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
# CONFIG_USB_SERIAL_CP210X is not set
# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
# CONFIG_USB_SERIAL_EMPEG is not set
# CONFIG_USB_SERIAL_FTDI_SIO is not set
# CONFIG_USB_SERIAL_VISOR is not set
# CONFIG_USB_SERIAL_IPAQ is not set
# CONFIG_USB_SERIAL_IR is not set
# CONFIG_USB_SERIAL_EDGEPORT is not set
# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
# CONFIG_USB_SERIAL_F81232 is not set
# CONFIG_USB_SERIAL_F8153X is not set
# CONFIG_USB_SERIAL_GARMIN is not set
# CONFIG_USB_SERIAL_IPW is not set
# CONFIG_USB_SERIAL_IUU is not set
# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
# CONFIG_USB_SERIAL_KEYSPAN is not set
# CONFIG_USB_SERIAL_KLSI is not set
# CONFIG_USB_SERIAL_KOBIL_SCT is not set
# CONFIG_USB_SERIAL_MCT_U232 is not set
# CONFIG_USB_SERIAL_METRO is not set
# CONFIG_USB_SERIAL_MOS7720 is not set
# CONFIG_USB_SERIAL_MOS7840 is not set
# CONFIG_USB_SERIAL_MXUPORT is not set
# CONFIG_USB_SERIAL_NAVMAN is not set
# CONFIG_USB_SERIAL_PL2303 is not set
# CONFIG_USB_SERIAL_OTI6858 is not set
# CONFIG_USB_SERIAL_QCAUX is not set
# CONFIG_USB_SERIAL_QUALCOMM is not set
# CONFIG_USB_SERIAL_SPCP8X5 is not set
# CONFIG_USB_SERIAL_SAFE is not set
# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
# CONFIG_USB_SERIAL_SYMBOL is not set
# CONFIG_USB_SERIAL_TI is not set
# CONFIG_USB_SERIAL_CYBERJACK is not set
# CONFIG_USB_SERIAL_OPTION is not set
# CONFIG_USB_SERIAL_OMNINET is not set
# CONFIG_USB_SERIAL_OPTICON is not set
# CONFIG_USB_SERIAL_XSENS_MT is not set
# CONFIG_USB_SERIAL_WISHBONE is not set
# CONFIG_USB_SERIAL_SSU100 is not set
# CONFIG_USB_SERIAL_QT2 is not set
# CONFIG_USB_SERIAL_UPD78F0730 is not set
# CONFIG_USB_SERIAL_XR is not set
CONFIG_USB_SERIAL_DEBUG=m

#
# USB Miscellaneous drivers
#
# CONFIG_USB_EMI62 is not set
# CONFIG_USB_EMI26 is not set
# CONFIG_USB_ADUTUX is not set
# CONFIG_USB_SEVSEG is not set
# CONFIG_USB_LEGOTOWER is not set
# CONFIG_USB_LCD is not set
# CONFIG_USB_CYPRESS_CY7C63 is not set
# CONFIG_USB_CYTHERM is not set
# CONFIG_USB_IDMOUSE is not set
# CONFIG_USB_FTDI_ELAN is not set
# CONFIG_USB_APPLEDISPLAY is not set
# CONFIG_APPLE_MFI_FASTCHARGE is not set
# CONFIG_USB_SISUSBVGA is not set
# CONFIG_USB_LD is not set
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_EHSET_TEST_FIXTURE is not set
# CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_YUREX is not set
# CONFIG_USB_EZUSB_FX2 is not set
# CONFIG_USB_HUB_USB251XB is not set
# CONFIG_USB_HSIC_USB3503 is not set
# CONFIG_USB_HSIC_USB4604 is not set
# CONFIG_USB_LINK_LAYER_TEST is not set
# CONFIG_USB_CHAOSKEY is not set
# CONFIG_USB_ATM is not set

#
# USB Physical Layer drivers
#
# CONFIG_NOP_USB_XCEIV is not set
# CONFIG_USB_GPIO_VBUS is not set
# CONFIG_USB_ISP1301 is not set
# end of USB Physical Layer drivers

# CONFIG_USB_GADGET is not set
CONFIG_TYPEC=y
# CONFIG_TYPEC_TCPM is not set
CONFIG_TYPEC_UCSI=y
# CONFIG_UCSI_CCG is not set
CONFIG_UCSI_ACPI=y
# CONFIG_UCSI_STM32G0 is not set
# CONFIG_TYPEC_TPS6598X is not set
# CONFIG_TYPEC_RT1719 is not set
# CONFIG_TYPEC_STUSB160X is not set
# CONFIG_TYPEC_WUSB3801 is not set

#
# USB Type-C Multiplexer/DeMultiplexer Switch support
#
# CONFIG_TYPEC_MUX_FSA4480 is not set
# CONFIG_TYPEC_MUX_GPIO_SBU is not set
# CONFIG_TYPEC_MUX_PI3USB30532 is not set
# end of USB Type-C Multiplexer/DeMultiplexer Switch support

#
# USB Type-C Alternate Mode drivers
#
# CONFIG_TYPEC_DP_ALTMODE is not set
# end of USB Type-C Alternate Mode drivers

# CONFIG_USB_ROLE_SWITCH is not set
CONFIG_MMC=m
CONFIG_MMC_BLOCK=m
CONFIG_MMC_BLOCK_MINORS=8
CONFIG_SDIO_UART=m
# CONFIG_MMC_TEST is not set

#
# MMC/SD/SDIO Host Controller Drivers
#
# CONFIG_MMC_DEBUG is not set
CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_IO_ACCESSORS=y
CONFIG_MMC_SDHCI_PCI=m
CONFIG_MMC_RICOH_MMC=y
CONFIG_MMC_SDHCI_ACPI=m
CONFIG_MMC_SDHCI_PLTFM=m
# CONFIG_MMC_SDHCI_F_SDH30 is not set
# CONFIG_MMC_WBSD is not set
# CONFIG_MMC_TIFM_SD is not set
# CONFIG_MMC_SPI is not set
# CONFIG_MMC_CB710 is not set
# CONFIG_MMC_VIA_SDMMC is not set
# CONFIG_MMC_VUB300 is not set
# CONFIG_MMC_USHC is not set
# CONFIG_MMC_USDHI6ROL0 is not set
# CONFIG_MMC_REALTEK_PCI is not set
CONFIG_MMC_CQHCI=m
# CONFIG_MMC_HSQ is not set
# CONFIG_MMC_TOSHIBA_PCI is not set
# CONFIG_MMC_MTK is not set
# CONFIG_MMC_SDHCI_XENON is not set
# CONFIG_SCSI_UFSHCD is not set
# CONFIG_MEMSTICK is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
# CONFIG_LEDS_CLASS_FLASH is not set
# CONFIG_LEDS_CLASS_MULTICOLOR is not set
# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set

#
# LED drivers
#
# CONFIG_LEDS_APU is not set
CONFIG_LEDS_LM3530=m
# CONFIG_LEDS_LM3532 is not set
# CONFIG_LEDS_LM3642 is not set
# CONFIG_LEDS_PCA9532 is not set
# CONFIG_LEDS_GPIO is not set
CONFIG_LEDS_LP3944=m
# CONFIG_LEDS_LP3952 is not set
# CONFIG_LEDS_LP50XX is not set
# CONFIG_LEDS_PCA955X is not set
# CONFIG_LEDS_PCA963X is not set
# CONFIG_LEDS_DAC124S085 is not set
# CONFIG_LEDS_PWM is not set
# CONFIG_LEDS_BD2802 is not set
CONFIG_LEDS_INTEL_SS4200=m
CONFIG_LEDS_LT3593=m
# CONFIG_LEDS_TCA6507 is not set
# CONFIG_LEDS_TLC591XX is not set
# CONFIG_LEDS_LM355x is not set
# CONFIG_LEDS_IS31FL319X is not set

#
# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
#
CONFIG_LEDS_BLINKM=m
CONFIG_LEDS_MLXCPLD=m
# CONFIG_LEDS_MLXREG is not set
# CONFIG_LEDS_USER is not set
# CONFIG_LEDS_NIC78BX is not set
# CONFIG_LEDS_TI_LMU_COMMON is not set

#
# Flash and Torch LED drivers
#

#
# RGB LED drivers
#

#
# LED Triggers
#
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=m
CONFIG_LEDS_TRIGGER_ONESHOT=m
# CONFIG_LEDS_TRIGGER_DISK is not set
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
CONFIG_LEDS_TRIGGER_BACKLIGHT=m
# CONFIG_LEDS_TRIGGER_CPU is not set
# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
CONFIG_LEDS_TRIGGER_GPIO=m
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m

#
# iptables trigger is under Netfilter config (LED target)
#
CONFIG_LEDS_TRIGGER_TRANSIENT=m
CONFIG_LEDS_TRIGGER_CAMERA=m
# CONFIG_LEDS_TRIGGER_PANIC is not set
# CONFIG_LEDS_TRIGGER_NETDEV is not set
# CONFIG_LEDS_TRIGGER_PATTERN is not set
CONFIG_LEDS_TRIGGER_AUDIO=m
# CONFIG_LEDS_TRIGGER_TTY is not set

#
# Simple LED drivers
#
# CONFIG_ACCESSIBILITY is not set
CONFIG_INFINIBAND=m
CONFIG_INFINIBAND_USER_MAD=m
CONFIG_INFINIBAND_USER_ACCESS=m
CONFIG_INFINIBAND_USER_MEM=y
CONFIG_INFINIBAND_ON_DEMAND_PAGING=y
CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_ADDR_TRANS_CONFIGFS=y
CONFIG_INFINIBAND_VIRT_DMA=y
# CONFIG_INFINIBAND_EFA is not set
# CONFIG_INFINIBAND_ERDMA is not set
# CONFIG_MLX4_INFINIBAND is not set
# CONFIG_INFINIBAND_MTHCA is not set
# CONFIG_INFINIBAND_OCRDMA is not set
# CONFIG_INFINIBAND_USNIC is not set
# CONFIG_INFINIBAND_RDMAVT is not set
CONFIG_RDMA_RXE=m
CONFIG_RDMA_SIW=m
CONFIG_INFINIBAND_IPOIB=m
# CONFIG_INFINIBAND_IPOIB_CM is not set
CONFIG_INFINIBAND_IPOIB_DEBUG=y
# CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
CONFIG_INFINIBAND_SRP=m
CONFIG_INFINIBAND_SRPT=m
# CONFIG_INFINIBAND_ISER is not set
# CONFIG_INFINIBAND_ISERT is not set
# CONFIG_INFINIBAND_RTRS_CLIENT is not set
# CONFIG_INFINIBAND_RTRS_SERVER is not set
# CONFIG_INFINIBAND_OPA_VNIC is not set
CONFIG_EDAC_ATOMIC_SCRUB=y
CONFIG_EDAC_SUPPORT=y
CONFIG_EDAC=y
CONFIG_EDAC_LEGACY_SYSFS=y
# CONFIG_EDAC_DEBUG is not set
CONFIG_EDAC_GHES=y
CONFIG_EDAC_E752X=m
CONFIG_EDAC_I82975X=m
CONFIG_EDAC_I3000=m
CONFIG_EDAC_I3200=m
CONFIG_EDAC_IE31200=m
CONFIG_EDAC_X38=m
CONFIG_EDAC_I5400=m
CONFIG_EDAC_I7CORE=m
CONFIG_EDAC_I5100=m
CONFIG_EDAC_I7300=m
CONFIG_EDAC_SBRIDGE=m
CONFIG_EDAC_SKX=m
# CONFIG_EDAC_I10NM is not set
CONFIG_EDAC_PND2=m
# CONFIG_EDAC_IGEN6 is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_MC146818_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
# CONFIG_RTC_SYSTOHC is not set
# CONFIG_RTC_DEBUG is not set
CONFIG_RTC_NVMEM=y

#
# RTC interfaces
#
CONFIG_RTC_INTF_SYSFS=y
CONFIG_RTC_INTF_PROC=y
CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
# CONFIG_RTC_DRV_TEST is not set

#
# I2C RTC drivers
#
# CONFIG_RTC_DRV_ABB5ZES3 is not set
# CONFIG_RTC_DRV_ABEOZ9 is not set
# CONFIG_RTC_DRV_ABX80X is not set
CONFIG_RTC_DRV_DS1307=m
# CONFIG_RTC_DRV_DS1307_CENTURY is not set
CONFIG_RTC_DRV_DS1374=m
# CONFIG_RTC_DRV_DS1374_WDT is not set
CONFIG_RTC_DRV_DS1672=m
CONFIG_RTC_DRV_MAX6900=m
CONFIG_RTC_DRV_RS5C372=m
CONFIG_RTC_DRV_ISL1208=m
CONFIG_RTC_DRV_ISL12022=m
CONFIG_RTC_DRV_X1205=m
CONFIG_RTC_DRV_PCF8523=m
# CONFIG_RTC_DRV_PCF85063 is not set
# CONFIG_RTC_DRV_PCF85363 is not set
CONFIG_RTC_DRV_PCF8563=m
CONFIG_RTC_DRV_PCF8583=m
CONFIG_RTC_DRV_M41T80=m
CONFIG_RTC_DRV_M41T80_WDT=y
CONFIG_RTC_DRV_BQ32K=m
# CONFIG_RTC_DRV_S35390A is not set
CONFIG_RTC_DRV_FM3130=m
# CONFIG_RTC_DRV_RX8010 is not set
CONFIG_RTC_DRV_RX8581=m
CONFIG_RTC_DRV_RX8025=m
CONFIG_RTC_DRV_EM3027=m
# CONFIG_RTC_DRV_RV3028 is not set
# CONFIG_RTC_DRV_RV3032 is not set
# CONFIG_RTC_DRV_RV8803 is not set
# CONFIG_RTC_DRV_SD3078 is not set

#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_M41T93 is not set
# CONFIG_RTC_DRV_M41T94 is not set
# CONFIG_RTC_DRV_DS1302 is not set
# CONFIG_RTC_DRV_DS1305 is not set
# CONFIG_RTC_DRV_DS1343 is not set
# CONFIG_RTC_DRV_DS1347 is not set
# CONFIG_RTC_DRV_DS1390 is not set
# CONFIG_RTC_DRV_MAX6916 is not set
# CONFIG_RTC_DRV_R9701 is not set
CONFIG_RTC_DRV_RX4581=m
# CONFIG_RTC_DRV_RS5C348 is not set
# CONFIG_RTC_DRV_MAX6902 is not set
# CONFIG_RTC_DRV_PCF2123 is not set
# CONFIG_RTC_DRV_MCP795 is not set
CONFIG_RTC_I2C_AND_SPI=y

#
# SPI and I2C RTC drivers
#
CONFIG_RTC_DRV_DS3232=m
CONFIG_RTC_DRV_DS3232_HWMON=y
# CONFIG_RTC_DRV_PCF2127 is not set
CONFIG_RTC_DRV_RV3029C2=m
# CONFIG_RTC_DRV_RV3029_HWMON is not set
# CONFIG_RTC_DRV_RX6110 is not set

#
# Platform RTC drivers
#
CONFIG_RTC_DRV_CMOS=y
CONFIG_RTC_DRV_DS1286=m
CONFIG_RTC_DRV_DS1511=m
CONFIG_RTC_DRV_DS1553=m
# CONFIG_RTC_DRV_DS1685_FAMILY is not set
CONFIG_RTC_DRV_DS1742=m
CONFIG_RTC_DRV_DS2404=m
CONFIG_RTC_DRV_STK17TA8=m
# CONFIG_RTC_DRV_M48T86 is not set
CONFIG_RTC_DRV_M48T35=m
CONFIG_RTC_DRV_M48T59=m
CONFIG_RTC_DRV_MSM6242=m
CONFIG_RTC_DRV_BQ4802=m
CONFIG_RTC_DRV_RP5C01=m

#
# on-CPU RTC drivers
#
# CONFIG_RTC_DRV_FTRTC010 is not set

#
# HID Sensor RTC drivers
#
# CONFIG_RTC_DRV_GOLDFISH is not set
CONFIG_DMADEVICES=y
# CONFIG_DMADEVICES_DEBUG is not set

#
# DMA Devices
#
CONFIG_DMA_ENGINE=y
CONFIG_DMA_VIRTUAL_CHANNELS=y
CONFIG_DMA_ACPI=y
# CONFIG_ALTERA_MSGDMA is not set
CONFIG_INTEL_IDMA64=m
CONFIG_INTEL_IDXD_BUS=m
CONFIG_INTEL_IDXD=m
# CONFIG_INTEL_IDXD_COMPAT is not set
# CONFIG_INTEL_IDXD_SVM is not set
# CONFIG_INTEL_IDXD_PERFMON is not set
CONFIG_INTEL_IOATDMA=m
# CONFIG_PLX_DMA is not set
# CONFIG_XILINX_XDMA is not set
# CONFIG_AMD_PTDMA is not set
# CONFIG_QCOM_HIDMA_MGMT is not set
# CONFIG_QCOM_HIDMA is not set
CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC=m
CONFIG_DW_DMAC_PCI=y
# CONFIG_DW_EDMA is not set
CONFIG_HSU_DMA=y
# CONFIG_SF_PDMA is not set
# CONFIG_INTEL_LDMA is not set

#
# DMA Clients
#
CONFIG_ASYNC_TX_DMA=y
CONFIG_DMATEST=m
CONFIG_DMA_ENGINE_RAID=y

#
# DMABUF options
#
CONFIG_SYNC_FILE=y
# CONFIG_SW_SYNC is not set
# CONFIG_UDMABUF is not set
# CONFIG_DMABUF_MOVE_NOTIFY is not set
# CONFIG_DMABUF_DEBUG is not set
# CONFIG_DMABUF_SELFTESTS is not set
# CONFIG_DMABUF_HEAPS is not set
# CONFIG_DMABUF_SYSFS_STATS is not set
# end of DMABUF options

CONFIG_DCA=m
# CONFIG_AUXDISPLAY is not set
# CONFIG_PANEL is not set
CONFIG_UIO=m
CONFIG_UIO_CIF=m
CONFIG_UIO_PDRV_GENIRQ=m
# CONFIG_UIO_DMEM_GENIRQ is not set
CONFIG_UIO_AEC=m
CONFIG_UIO_SERCOS3=m
CONFIG_UIO_PCI_GENERIC=m
# CONFIG_UIO_NETX is not set
# CONFIG_UIO_PRUSS is not set
# CONFIG_UIO_MF624 is not set
CONFIG_UIO_HV_GENERIC=m
CONFIG_VFIO=m
CONFIG_VFIO_CONTAINER=y
CONFIG_VFIO_IOMMU_TYPE1=m
CONFIG_VFIO_NOIOMMU=y
CONFIG_VFIO_VIRQFD=y
CONFIG_VFIO_PCI_CORE=m
CONFIG_VFIO_PCI_MMAP=y
CONFIG_VFIO_PCI_INTX=y
CONFIG_VFIO_PCI=m
# CONFIG_VFIO_PCI_VGA is not set
# CONFIG_VFIO_PCI_IGD is not set
CONFIG_IRQ_BYPASS_MANAGER=m
# CONFIG_VIRT_DRIVERS is not set
CONFIG_VIRTIO_ANCHOR=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI_LIB=y
CONFIG_VIRTIO_PCI_LIB_LEGACY=y
CONFIG_VIRTIO_MENU=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
# CONFIG_VIRTIO_PMEM is not set
CONFIG_VIRTIO_BALLOON=m
# CONFIG_VIRTIO_MEM is not set
CONFIG_VIRTIO_INPUT=m
# CONFIG_VIRTIO_MMIO is not set
CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
# CONFIG_VDPA is not set
CONFIG_VHOST_IOTLB=m
CONFIG_VHOST=m
CONFIG_VHOST_MENU=y
CONFIG_VHOST_NET=m
# CONFIG_VHOST_SCSI is not set
CONFIG_VHOST_VSOCK=m
# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set

#
# Microsoft Hyper-V guest support
#
CONFIG_HYPERV=y
CONFIG_HYPERV_TIMER=y
CONFIG_HYPERV_UTILS=m
CONFIG_HYPERV_BALLOON=m
# end of Microsoft Hyper-V guest support

# CONFIG_GREYBUS is not set
# CONFIG_COMEDI is not set
# CONFIG_STAGING is not set
# CONFIG_CHROME_PLATFORMS is not set
CONFIG_MELLANOX_PLATFORM=y
CONFIG_MLXREG_HOTPLUG=m
# CONFIG_MLXREG_IO is not set
# CONFIG_MLXREG_LC is not set
# CONFIG_NVSW_SN2201 is not set
CONFIG_SURFACE_PLATFORMS=y
# CONFIG_SURFACE3_WMI is not set
# CONFIG_SURFACE_3_POWER_OPREGION is not set
# CONFIG_SURFACE_GPE is not set
# CONFIG_SURFACE_HOTPLUG is not set
# CONFIG_SURFACE_PRO3_BUTTON is not set
CONFIG_X86_PLATFORM_DEVICES=y
CONFIG_ACPI_WMI=m
CONFIG_WMI_BMOF=m
# CONFIG_HUAWEI_WMI is not set
# CONFIG_UV_SYSFS is not set
CONFIG_MXM_WMI=m
# CONFIG_PEAQ_WMI is not set
# CONFIG_NVIDIA_WMI_EC_BACKLIGHT is not set
# CONFIG_XIAOMI_WMI is not set
# CONFIG_GIGABYTE_WMI is not set
# CONFIG_YOGABOOK_WMI is not set
CONFIG_ACERHDF=m
# CONFIG_ACER_WIRELESS is not set
CONFIG_ACER_WMI=m
# CONFIG_AMD_PMF is not set
# CONFIG_AMD_PMC is not set
# CONFIG_AMD_HSMP is not set
# CONFIG_ADV_SWBUTTON is not set
CONFIG_APPLE_GMUX=m
CONFIG_ASUS_LAPTOP=m
# CONFIG_ASUS_WIRELESS is not set
CONFIG_ASUS_WMI=m
CONFIG_ASUS_NB_WMI=m
# CONFIG_ASUS_TF103C_DOCK is not set
# CONFIG_MERAKI_MX100 is not set
CONFIG_EEEPC_LAPTOP=m
CONFIG_EEEPC_WMI=m
# CONFIG_X86_PLATFORM_DRIVERS_DELL is not set
CONFIG_AMILO_RFKILL=m
CONFIG_FUJITSU_LAPTOP=m
CONFIG_FUJITSU_TABLET=m
# CONFIG_GPD_POCKET_FAN is not set
# CONFIG_X86_PLATFORM_DRIVERS_HP is not set
# CONFIG_WIRELESS_HOTKEY is not set
# CONFIG_IBM_RTL is not set
CONFIG_IDEAPAD_LAPTOP=m
CONFIG_SENSORS_HDAPS=m
CONFIG_THINKPAD_ACPI=m
# CONFIG_THINKPAD_ACPI_DEBUGFACILITIES is not set
# CONFIG_THINKPAD_ACPI_DEBUG is not set
# CONFIG_THINKPAD_ACPI_UNSAFE_LEDS is not set
CONFIG_THINKPAD_ACPI_VIDEO=y
CONFIG_THINKPAD_ACPI_HOTKEY_POLL=y
# CONFIG_THINKPAD_LMI is not set
# CONFIG_INTEL_ATOMISP2_PM is not set
# CONFIG_INTEL_IFS is not set
# CONFIG_INTEL_SAR_INT1092 is not set
CONFIG_INTEL_PMC_CORE=m

#
# Intel Speed Select Technology interface support
#
# CONFIG_INTEL_SPEED_SELECT_INTERFACE is not set
# end of Intel Speed Select Technology interface support

CONFIG_INTEL_WMI=y
# CONFIG_INTEL_WMI_SBL_FW_UPDATE is not set
CONFIG_INTEL_WMI_THUNDERBOLT=m

#
# Intel Uncore Frequency Control
#
# CONFIG_INTEL_UNCORE_FREQ_CONTROL is not set
# end of Intel Uncore Frequency Control

CONFIG_INTEL_HID_EVENT=m
CONFIG_INTEL_VBTN=m
# CONFIG_INTEL_INT0002_VGPIO is not set
CONFIG_INTEL_OAKTRAIL=m
# CONFIG_INTEL_ISHTP_ECLITE is not set
# CONFIG_INTEL_PUNIT_IPC is not set
CONFIG_INTEL_RST=m
# CONFIG_INTEL_SMARTCONNECT is not set
CONFIG_INTEL_TURBO_MAX_3=y
# CONFIG_INTEL_VSEC is not set
CONFIG_MSI_LAPTOP=m
CONFIG_MSI_WMI=m
# CONFIG_PCENGINES_APU2 is not set
# CONFIG_BARCO_P50_GPIO is not set
CONFIG_SAMSUNG_LAPTOP=m
CONFIG_SAMSUNG_Q10=m
CONFIG_TOSHIBA_BT_RFKILL=m
# CONFIG_TOSHIBA_HAPS is not set
# CONFIG_TOSHIBA_WMI is not set
CONFIG_ACPI_CMPC=m
CONFIG_COMPAL_LAPTOP=m
# CONFIG_LG_LAPTOP is not set
CONFIG_PANASONIC_LAPTOP=m
CONFIG_SONY_LAPTOP=m
CONFIG_SONYPI_COMPAT=y
# CONFIG_SYSTEM76_ACPI is not set
CONFIG_TOPSTAR_LAPTOP=m
# CONFIG_SERIAL_MULTI_INSTANTIATE is not set
CONFIG_MLX_PLATFORM=m
CONFIG_INTEL_IPS=m
# CONFIG_INTEL_SCU_PCI is not set
# CONFIG_INTEL_SCU_PLATFORM is not set
# CONFIG_SIEMENS_SIMATIC_IPC is not set
# CONFIG_WINMATE_FM07_KEYS is not set
CONFIG_P2SB=y
CONFIG_HAVE_CLK=y
CONFIG_HAVE_CLK_PREPARE=y
CONFIG_COMMON_CLK=y
# CONFIG_LMK04832 is not set
# CONFIG_COMMON_CLK_MAX9485 is not set
# CONFIG_COMMON_CLK_SI5341 is not set
# CONFIG_COMMON_CLK_SI5351 is not set
# CONFIG_COMMON_CLK_SI544 is not set
# CONFIG_COMMON_CLK_CDCE706 is not set
# CONFIG_COMMON_CLK_CS2000_CP is not set
# CONFIG_COMMON_CLK_PWM is not set
# CONFIG_XILINX_VCU is not set
CONFIG_HWSPINLOCK=y

#
# Clock Source drivers
#
CONFIG_CLKEVT_I8253=y
CONFIG_I8253_LOCK=y
CONFIG_CLKBLD_I8253=y
# end of Clock Source drivers

CONFIG_MAILBOX=y
CONFIG_PCC=y
# CONFIG_ALTERA_MBOX is not set
CONFIG_IOMMU_IOVA=y
CONFIG_IOASID=y
CONFIG_IOMMU_API=y
CONFIG_IOMMU_SUPPORT=y

#
# Generic IOMMU Pagetable Support
#
# end of Generic IOMMU Pagetable Support

# CONFIG_IOMMU_DEBUGFS is not set
# CONFIG_IOMMU_DEFAULT_DMA_STRICT is not set
CONFIG_IOMMU_DEFAULT_DMA_LAZY=y
# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
CONFIG_IOMMU_DMA=y
CONFIG_IOMMU_SVA=y
# CONFIG_AMD_IOMMU is not set
CONFIG_DMAR_TABLE=y
CONFIG_INTEL_IOMMU=y
CONFIG_INTEL_IOMMU_SVM=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_INTEL_IOMMU_FLOPPY_WA=y
CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON=y
CONFIG_INTEL_IOMMU_PERF_EVENTS=y
# CONFIG_IOMMUFD is not set
CONFIG_IRQ_REMAP=y
CONFIG_HYPERV_IOMMU=y
# CONFIG_VIRTIO_IOMMU is not set

#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
# end of Remoteproc drivers

#
# Rpmsg drivers
#
# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
# CONFIG_RPMSG_VIRTIO is not set
# end of Rpmsg drivers

# CONFIG_SOUNDWIRE is not set

#
# SOC (System On Chip) specific Drivers
#

#
# Amlogic SoC drivers
#
# end of Amlogic SoC drivers

#
# Broadcom SoC drivers
#
# end of Broadcom SoC drivers

#
# NXP/Freescale QorIQ SoC drivers
#
# end of NXP/Freescale QorIQ SoC drivers

#
# fujitsu SoC drivers
#
# end of fujitsu SoC drivers

#
# i.MX SoC drivers
#
# end of i.MX SoC drivers

#
# Enable LiteX SoC Builder specific drivers
#
# end of Enable LiteX SoC Builder specific drivers

# CONFIG_WPCM450_SOC is not set

#
# Qualcomm SoC drivers
#
# end of Qualcomm SoC drivers

# CONFIG_SOC_TI is not set

#
# Xilinx SoC drivers
#
# end of Xilinx SoC drivers
# end of SOC (System On Chip) specific Drivers

# CONFIG_PM_DEVFREQ is not set
# CONFIG_EXTCON is not set
# CONFIG_MEMORY is not set
# CONFIG_IIO is not set
CONFIG_NTB=m
# CONFIG_NTB_MSI is not set
# CONFIG_NTB_AMD is not set
# CONFIG_NTB_IDT is not set
# CONFIG_NTB_INTEL is not set
# CONFIG_NTB_EPF is not set
# CONFIG_NTB_SWITCHTEC is not set
# CONFIG_NTB_PINGPONG is not set
# CONFIG_NTB_TOOL is not set
# CONFIG_NTB_PERF is not set
# CONFIG_NTB_TRANSPORT is not set
CONFIG_PWM=y
CONFIG_PWM_SYSFS=y
# CONFIG_PWM_DEBUG is not set
# CONFIG_PWM_CLK is not set
# CONFIG_PWM_DWC is not set
CONFIG_PWM_LPSS=m
CONFIG_PWM_LPSS_PCI=m
CONFIG_PWM_LPSS_PLATFORM=m
# CONFIG_PWM_PCA9685 is not set

#
# IRQ chip support
#
# end of IRQ chip support

# CONFIG_IPACK_BUS is not set
# CONFIG_RESET_CONTROLLER is not set

#
# PHY Subsystem
#
# CONFIG_GENERIC_PHY is not set
# CONFIG_USB_LGM_PHY is not set
# CONFIG_PHY_CAN_TRANSCEIVER is not set

#
# PHY drivers for Broadcom platforms
#
# CONFIG_BCM_KONA_USB2_PHY is not set
# end of PHY drivers for Broadcom platforms

# CONFIG_PHY_PXA_28NM_HSIC is not set
# CONFIG_PHY_PXA_28NM_USB2 is not set
# CONFIG_PHY_INTEL_LGM_EMMC is not set
# end of PHY Subsystem

CONFIG_POWERCAP=y
CONFIG_INTEL_RAPL_CORE=m
CONFIG_INTEL_RAPL=m
CONFIG_IDLE_INJECT=y
# CONFIG_MCB is not set

#
# Performance monitor support
#
# end of Performance monitor support

CONFIG_RAS=y
# CONFIG_RAS_CEC is not set
# CONFIG_USB4 is not set

#
# Android
#
# CONFIG_ANDROID_BINDER_IPC is not set
# end of Android

CONFIG_LIBNVDIMM=m
CONFIG_BLK_DEV_PMEM=m
CONFIG_ND_CLAIM=y
CONFIG_ND_BTT=m
CONFIG_BTT=y
CONFIG_ND_PFN=m
CONFIG_NVDIMM_PFN=y
CONFIG_NVDIMM_DAX=y
CONFIG_NVDIMM_KEYS=y
# CONFIG_NVDIMM_SECURITY_TEST is not set
CONFIG_DAX=y
CONFIG_DEV_DAX=m
CONFIG_DEV_DAX_PMEM=m
CONFIG_DEV_DAX_KMEM=m
CONFIG_NVMEM=y
CONFIG_NVMEM_SYSFS=y
# CONFIG_NVMEM_RMEM is not set

#
# HW tracing support
#
CONFIG_STM=m
# CONFIG_STM_PROTO_BASIC is not set
# CONFIG_STM_PROTO_SYS_T is not set
CONFIG_STM_DUMMY=m
CONFIG_STM_SOURCE_CONSOLE=m
CONFIG_STM_SOURCE_HEARTBEAT=m
CONFIG_STM_SOURCE_FTRACE=m
CONFIG_INTEL_TH=m
CONFIG_INTEL_TH_PCI=m
CONFIG_INTEL_TH_ACPI=m
CONFIG_INTEL_TH_GTH=m
CONFIG_INTEL_TH_STH=m
CONFIG_INTEL_TH_MSU=m
CONFIG_INTEL_TH_PTI=m
# CONFIG_INTEL_TH_DEBUG is not set
# end of HW tracing support

# CONFIG_FPGA is not set
# CONFIG_TEE is not set
# CONFIG_SIOX is not set
# CONFIG_SLIMBUS is not set
# CONFIG_INTERCONNECT is not set
# CONFIG_COUNTER is not set
# CONFIG_MOST is not set
# CONFIG_PECI is not set
# CONFIG_HTE is not set
# end of Device Drivers

#
# File systems
#
CONFIG_DCACHE_WORD_ACCESS=y
# CONFIG_VALIDATE_FS_PARSER is not set
CONFIG_FS_IOMAP=y
CONFIG_LEGACY_DIRECT_IO=y
CONFIG_EXT2_FS=m
CONFIG_EXT2_FS_XATTR=y
CONFIG_EXT2_FS_POSIX_ACL=y
CONFIG_EXT2_FS_SECURITY=y
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=y
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
CONFIG_XFS_FS=m
CONFIG_XFS_SUPPORT_V4=y
CONFIG_XFS_QUOTA=y
CONFIG_XFS_POSIX_ACL=y
CONFIG_XFS_RT=y
CONFIG_XFS_ONLINE_SCRUB=y
CONFIG_XFS_ONLINE_REPAIR=y
CONFIG_XFS_DEBUG=y
CONFIG_XFS_ASSERT_FATAL=y
CONFIG_GFS2_FS=m
CONFIG_GFS2_FS_LOCKING_DLM=y
CONFIG_OCFS2_FS=m
CONFIG_OCFS2_FS_O2CB=m
CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m
CONFIG_OCFS2_FS_STATS=y
CONFIG_OCFS2_DEBUG_MASKLOG=y
# CONFIG_OCFS2_DEBUG_FS is not set
CONFIG_BTRFS_FS=m
CONFIG_BTRFS_FS_POSIX_ACL=y
# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
# CONFIG_BTRFS_DEBUG is not set
# CONFIG_BTRFS_ASSERT is not set
# CONFIG_BTRFS_FS_REF_VERIFY is not set
# CONFIG_NILFS2_FS is not set
CONFIG_F2FS_FS=m
CONFIG_F2FS_STAT_FS=y
CONFIG_F2FS_FS_XATTR=y
CONFIG_F2FS_FS_POSIX_ACL=y
CONFIG_F2FS_FS_SECURITY=y
# CONFIG_F2FS_CHECK_FS is not set
# CONFIG_F2FS_FAULT_INJECTION is not set
# CONFIG_F2FS_FS_COMPRESSION is not set
CONFIG_F2FS_IOSTAT=y
# CONFIG_F2FS_UNFAIR_RWSEM is not set
# CONFIG_ZONEFS_FS is not set
CONFIG_FS_DAX=y
CONFIG_FS_DAX_PMD=y
CONFIG_FS_POSIX_ACL=y
CONFIG_EXPORTFS=y
CONFIG_EXPORTFS_BLOCK_OPS=y
CONFIG_FILE_LOCKING=y
CONFIG_FS_ENCRYPTION=y
CONFIG_FS_ENCRYPTION_ALGS=y
# CONFIG_FS_VERITY is not set
CONFIG_FSNOTIFY=y
CONFIG_DNOTIFY=y
CONFIG_INOTIFY_USER=y
CONFIG_FANOTIFY=y
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
CONFIG_QUOTA=y
CONFIG_QUOTA_NETLINK_INTERFACE=y
CONFIG_PRINT_QUOTA_WARNING=y
# CONFIG_QUOTA_DEBUG is not set
CONFIG_QUOTA_TREE=y
# CONFIG_QFMT_V1 is not set
CONFIG_QFMT_V2=y
CONFIG_QUOTACTL=y
CONFIG_AUTOFS4_FS=y
CONFIG_AUTOFS_FS=y
CONFIG_FUSE_FS=m
CONFIG_CUSE=m
# CONFIG_VIRTIO_FS is not set
CONFIG_OVERLAY_FS=m
# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
# CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW is not set
# CONFIG_OVERLAY_FS_INDEX is not set
# CONFIG_OVERLAY_FS_XINO_AUTO is not set
# CONFIG_OVERLAY_FS_METACOPY is not set

#
# Caches
#
CONFIG_NETFS_SUPPORT=y
CONFIG_NETFS_STATS=y
CONFIG_FSCACHE=m
CONFIG_FSCACHE_STATS=y
# CONFIG_FSCACHE_DEBUG is not set
CONFIG_CACHEFILES=m
# CONFIG_CACHEFILES_DEBUG is not set
# CONFIG_CACHEFILES_ERROR_INJECTION is not set
# CONFIG_CACHEFILES_ONDEMAND is not set
# end of Caches

#
# CD-ROM/DVD Filesystems
#
CONFIG_ISO9660_FS=m
CONFIG_JOLIET=y
CONFIG_ZISOFS=y
CONFIG_UDF_FS=m
# end of CD-ROM/DVD Filesystems

#
# DOS/FAT/EXFAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
# CONFIG_FAT_DEFAULT_UTF8 is not set
# CONFIG_EXFAT_FS is not set
# CONFIG_NTFS_FS is not set
# CONFIG_NTFS3_FS is not set
# end of DOS/FAT/EXFAT/NT Filesystems

#
# Pseudo filesystems
#
CONFIG_PROC_FS=y
CONFIG_PROC_KCORE=y
CONFIG_PROC_VMCORE=y
CONFIG_PROC_VMCORE_DEVICE_DUMP=y
CONFIG_PROC_SYSCTL=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_PROC_CHILDREN=y
CONFIG_PROC_PID_ARCH_STATUS=y
CONFIG_KERNFS=y
CONFIG_SYSFS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_XATTR=y
# CONFIG_TMPFS_INODE64 is not set
CONFIG_HUGETLBFS=y
CONFIG_HUGETLB_PAGE=y
CONFIG_ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP=y
# CONFIG_HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON is not set
CONFIG_MEMFD_CREATE=y
CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
CONFIG_CONFIGFS_FS=y
CONFIG_EFIVAR_FS=y
# end of Pseudo filesystems

CONFIG_MISC_FILESYSTEMS=y
# CONFIG_ORANGEFS_FS is not set
# CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set
# CONFIG_ECRYPT_FS is not set
# CONFIG_HFS_FS is not set
# CONFIG_HFSPLUS_FS is not set
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
CONFIG_CRAMFS=m
CONFIG_CRAMFS_BLOCKDEV=y
CONFIG_SQUASHFS=m
# CONFIG_SQUASHFS_FILE_CACHE is not set
CONFIG_SQUASHFS_FILE_DIRECT=y
CONFIG_SQUASHFS_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
CONFIG_SQUASHFS_XATTR=y
CONFIG_SQUASHFS_ZLIB=y
# CONFIG_SQUASHFS_LZ4 is not set
CONFIG_SQUASHFS_LZO=y
CONFIG_SQUASHFS_XZ=y
# CONFIG_SQUASHFS_ZSTD is not set
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
# CONFIG_SQUASHFS_EMBEDDED is not set
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set
# CONFIG_HPFS_FS is not set
# CONFIG_QNX4FS_FS is not set
# CONFIG_QNX6FS_FS is not set
# CONFIG_ROMFS_FS is not set
CONFIG_PSTORE=y
CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
CONFIG_PSTORE_DEFLATE_COMPRESS=y
# CONFIG_PSTORE_LZO_COMPRESS is not set
# CONFIG_PSTORE_LZ4_COMPRESS is not set
# CONFIG_PSTORE_LZ4HC_COMPRESS is not set
# CONFIG_PSTORE_842_COMPRESS is not set
# CONFIG_PSTORE_ZSTD_COMPRESS is not set
CONFIG_PSTORE_COMPRESS=y
CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
# CONFIG_PSTORE_CONSOLE is not set
# CONFIG_PSTORE_PMSG is not set
# CONFIG_PSTORE_FTRACE is not set
CONFIG_PSTORE_RAM=m
# CONFIG_PSTORE_BLK is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_EROFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
CONFIG_NFS_FS=y
# CONFIG_NFS_V2 is not set
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=m
# CONFIG_NFS_SWAP is not set
CONFIG_NFS_V4_1=y
CONFIG_NFS_V4_2=y
CONFIG_PNFS_FILE_LAYOUT=m
CONFIG_PNFS_BLOCK=m
CONFIG_PNFS_FLEXFILE_LAYOUT=m
CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
# CONFIG_NFS_V4_1_MIGRATION is not set
CONFIG_NFS_V4_SECURITY_LABEL=y
CONFIG_ROOT_NFS=y
# CONFIG_NFS_USE_LEGACY_DNS is not set
CONFIG_NFS_USE_KERNEL_DNS=y
CONFIG_NFS_DEBUG=y
CONFIG_NFS_DISABLE_UDP_SUPPORT=y
# CONFIG_NFS_V4_2_READ_PLUS is not set
CONFIG_NFSD=m
# CONFIG_NFSD_V2 is not set
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFSD_PNFS=y
# CONFIG_NFSD_BLOCKLAYOUT is not set
CONFIG_NFSD_SCSILAYOUT=y
# CONFIG_NFSD_FLEXFILELAYOUT is not set
# CONFIG_NFSD_V4_2_INTER_SSC is not set
CONFIG_NFSD_V4_SECURITY_LABEL=y
CONFIG_GRACE_PERIOD=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_NFS_V4_2_SSC_HELPER=y
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=m
CONFIG_SUNRPC_BACKCHANNEL=y
CONFIG_RPCSEC_GSS_KRB5=m
CONFIG_RPCSEC_GSS_KRB5_CRYPTOSYSTEM=y
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_DES is not set
CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA is not set
# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
CONFIG_SUNRPC_DEBUG=y
CONFIG_SUNRPC_XPRT_RDMA=m
CONFIG_CEPH_FS=m
# CONFIG_CEPH_FSCACHE is not set
CONFIG_CEPH_FS_POSIX_ACL=y
# CONFIG_CEPH_FS_SECURITY_LABEL is not set
CONFIG_CIFS=m
CONFIG_CIFS_STATS2=y
CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
CONFIG_CIFS_UPCALL=y
CONFIG_CIFS_XATTR=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_DEBUG=y
# CONFIG_CIFS_DEBUG2 is not set
# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
CONFIG_CIFS_DFS_UPCALL=y
# CONFIG_CIFS_SWN_UPCALL is not set
# CONFIG_CIFS_SMB_DIRECT is not set
# CONFIG_CIFS_FSCACHE is not set
# CONFIG_SMB_SERVER is not set
CONFIG_SMBFS_COMMON=m
# CONFIG_CODA_FS is not set
# CONFIG_AFS_FS is not set
CONFIG_9P_FS=y
CONFIG_9P_FS_POSIX_ACL=y
# CONFIG_9P_FS_SECURITY is not set
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_855=m
CONFIG_NLS_CODEPAGE_857=m
CONFIG_NLS_CODEPAGE_860=m
CONFIG_NLS_CODEPAGE_861=m
CONFIG_NLS_CODEPAGE_862=m
CONFIG_NLS_CODEPAGE_863=m
CONFIG_NLS_CODEPAGE_864=m
CONFIG_NLS_CODEPAGE_865=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_CODEPAGE_869=m
CONFIG_NLS_CODEPAGE_936=m
CONFIG_NLS_CODEPAGE_950=m
CONFIG_NLS_CODEPAGE_932=m
CONFIG_NLS_CODEPAGE_949=m
CONFIG_NLS_CODEPAGE_874=m
CONFIG_NLS_ISO8859_8=m
CONFIG_NLS_CODEPAGE_1250=m
CONFIG_NLS_CODEPAGE_1251=m
CONFIG_NLS_ASCII=y
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_3=m
CONFIG_NLS_ISO8859_4=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_6=m
CONFIG_NLS_ISO8859_7=m
CONFIG_NLS_ISO8859_9=m
CONFIG_NLS_ISO8859_13=m
CONFIG_NLS_ISO8859_14=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_NLS_KOI8_U=m
CONFIG_NLS_MAC_ROMAN=m
CONFIG_NLS_MAC_CELTIC=m
CONFIG_NLS_MAC_CENTEURO=m
CONFIG_NLS_MAC_CROATIAN=m
CONFIG_NLS_MAC_CYRILLIC=m
CONFIG_NLS_MAC_GAELIC=m
CONFIG_NLS_MAC_GREEK=m
CONFIG_NLS_MAC_ICELAND=m
CONFIG_NLS_MAC_INUIT=m
CONFIG_NLS_MAC_ROMANIAN=m
CONFIG_NLS_MAC_TURKISH=m
CONFIG_NLS_UTF8=m
CONFIG_DLM=m
# CONFIG_DLM_DEPRECATED_API is not set
CONFIG_DLM_DEBUG=y
# CONFIG_UNICODE is not set
CONFIG_IO_WQ=y
# end of File systems

#
# Security options
#
CONFIG_KEYS=y
# CONFIG_KEYS_REQUEST_CACHE is not set
CONFIG_PERSISTENT_KEYRINGS=y
CONFIG_TRUSTED_KEYS=y
CONFIG_TRUSTED_KEYS_TPM=y
CONFIG_ENCRYPTED_KEYS=y
# CONFIG_USER_DECRYPTED_DATA is not set
# CONFIG_KEY_DH_OPERATIONS is not set
# CONFIG_SECURITY_DMESG_RESTRICT is not set
CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_SECURITY_NETWORK=y
# CONFIG_SECURITY_INFINIBAND is not set
CONFIG_SECURITY_NETWORK_XFRM=y
# CONFIG_SECURITY_PATH is not set
CONFIG_INTEL_TXT=y
CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
CONFIG_HARDENED_USERCOPY=y
CONFIG_FORTIFY_SOURCE=y
# CONFIG_STATIC_USERMODEHELPER is not set
# CONFIG_SECURITY_SELINUX is not set
# CONFIG_SECURITY_SMACK is not set
# CONFIG_SECURITY_TOMOYO is not set
# CONFIG_SECURITY_APPARMOR is not set
# CONFIG_SECURITY_LOADPIN is not set
CONFIG_SECURITY_YAMA=y
# CONFIG_SECURITY_SAFESETID is not set
# CONFIG_SECURITY_LOCKDOWN_LSM is not set
# CONFIG_SECURITY_LANDLOCK is not set
CONFIG_INTEGRITY=y
CONFIG_INTEGRITY_SIGNATURE=y
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
CONFIG_INTEGRITY_TRUSTED_KEYRING=y
# CONFIG_INTEGRITY_PLATFORM_KEYRING is not set
CONFIG_INTEGRITY_AUDIT=y
# CONFIG_IMA is not set
# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
# CONFIG_EVM is not set
CONFIG_DEFAULT_SECURITY_DAC=y
CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,integrity,bpf"

#
# Kernel hardening options
#

#
# Memory initialization
#
CONFIG_INIT_STACK_NONE=y
# CONFIG_GCC_PLUGIN_STRUCTLEAK_USER is not set
# CONFIG_GCC_PLUGIN_STACKLEAK is not set
# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
# CONFIG_ZERO_CALL_USED_REGS is not set
# end of Memory initialization

CONFIG_RANDSTRUCT_NONE=y
# CONFIG_RANDSTRUCT_FULL is not set
# CONFIG_RANDSTRUCT_PERFORMANCE is not set
# end of Kernel hardening options
# end of Security options

CONFIG_XOR_BLOCKS=m
CONFIG_ASYNC_CORE=m
CONFIG_ASYNC_MEMCPY=m
CONFIG_ASYNC_XOR=m
CONFIG_ASYNC_PQ=m
CONFIG_ASYNC_RAID6_RECOV=m
CONFIG_CRYPTO=y

#
# Crypto core or helper
#
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_SKCIPHER=y
CONFIG_CRYPTO_SKCIPHER2=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_RNG_DEFAULT=y
CONFIG_CRYPTO_AKCIPHER2=y
CONFIG_CRYPTO_AKCIPHER=y
CONFIG_CRYPTO_KPP2=y
CONFIG_CRYPTO_KPP=m
CONFIG_CRYPTO_ACOMP2=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
CONFIG_CRYPTO_NULL=y
CONFIG_CRYPTO_NULL2=y
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_CRYPTD=y
CONFIG_CRYPTO_AUTHENC=m
# CONFIG_CRYPTO_TEST is not set
CONFIG_CRYPTO_SIMD=y
# end of Crypto core or helper

#
# Public-key cryptography
#
CONFIG_CRYPTO_RSA=y
CONFIG_CRYPTO_DH=m
# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set
CONFIG_CRYPTO_ECC=m
CONFIG_CRYPTO_ECDH=m
# CONFIG_CRYPTO_ECDSA is not set
# CONFIG_CRYPTO_ECRDSA is not set
# CONFIG_CRYPTO_SM2 is not set
# CONFIG_CRYPTO_CURVE25519 is not set
# end of Public-key cryptography

#
# Block ciphers
#
CONFIG_CRYPTO_AES=y
# CONFIG_CRYPTO_AES_TI is not set
CONFIG_CRYPTO_ANUBIS=m
# CONFIG_CRYPTO_ARIA is not set
CONFIG_CRYPTO_BLOWFISH=m
CONFIG_CRYPTO_BLOWFISH_COMMON=m
CONFIG_CRYPTO_CAMELLIA=m
CONFIG_CRYPTO_CAST_COMMON=m
CONFIG_CRYPTO_CAST5=m
CONFIG_CRYPTO_CAST6=m
CONFIG_CRYPTO_DES=m
CONFIG_CRYPTO_FCRYPT=m
CONFIG_CRYPTO_KHAZAD=m
CONFIG_CRYPTO_SEED=m
CONFIG_CRYPTO_SERPENT=m
# CONFIG_CRYPTO_SM4_GENERIC is not set
CONFIG_CRYPTO_TEA=m
CONFIG_CRYPTO_TWOFISH=m
CONFIG_CRYPTO_TWOFISH_COMMON=m
# end of Block ciphers

#
# Length-preserving ciphers and modes
#
# CONFIG_CRYPTO_ADIANTUM is not set
CONFIG_CRYPTO_ARC4=m
CONFIG_CRYPTO_CHACHA20=m
CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_CFB=y
CONFIG_CRYPTO_CTR=y
CONFIG_CRYPTO_CTS=m
CONFIG_CRYPTO_ECB=y
# CONFIG_CRYPTO_HCTR2 is not set
# CONFIG_CRYPTO_KEYWRAP is not set
CONFIG_CRYPTO_LRW=m
# CONFIG_CRYPTO_OFB is not set
CONFIG_CRYPTO_PCBC=m
CONFIG_CRYPTO_XTS=m
# end of Length-preserving ciphers and modes

#
# AEAD (authenticated encryption with associated data) ciphers
#
# CONFIG_CRYPTO_AEGIS128 is not set
# CONFIG_CRYPTO_CHACHA20POLY1305 is not set
CONFIG_CRYPTO_CCM=m
CONFIG_CRYPTO_GCM=y
CONFIG_CRYPTO_SEQIV=y
CONFIG_CRYPTO_ECHAINIV=m
CONFIG_CRYPTO_ESSIV=m
# end of AEAD (authenticated encryption with associated data) ciphers

#
# Hashes, digests, and MACs
#
CONFIG_CRYPTO_BLAKE2B=m
CONFIG_CRYPTO_CMAC=m
CONFIG_CRYPTO_GHASH=y
CONFIG_CRYPTO_HMAC=y
CONFIG_CRYPTO_MD4=m
CONFIG_CRYPTO_MD5=y
CONFIG_CRYPTO_MICHAEL_MIC=m
# CONFIG_CRYPTO_POLY1305 is not set
CONFIG_CRYPTO_RMD160=m
CONFIG_CRYPTO_SHA1=y
CONFIG_CRYPTO_SHA256=y
CONFIG_CRYPTO_SHA512=y
CONFIG_CRYPTO_SHA3=m
# CONFIG_CRYPTO_SM3_GENERIC is not set
# CONFIG_CRYPTO_STREEBOG is not set
CONFIG_CRYPTO_VMAC=m
CONFIG_CRYPTO_WP512=m
CONFIG_CRYPTO_XCBC=m
CONFIG_CRYPTO_XXHASH=m
# end of Hashes, digests, and MACs

#
# CRCs (cyclic redundancy checks)
#
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_CRC64_ROCKSOFT=m
# end of CRCs (cyclic redundancy checks)

#
# Compression
#
CONFIG_CRYPTO_DEFLATE=y
CONFIG_CRYPTO_LZO=y
# CONFIG_CRYPTO_842 is not set
# CONFIG_CRYPTO_LZ4 is not set
# CONFIG_CRYPTO_LZ4HC is not set
# CONFIG_CRYPTO_ZSTD is not set
# end of Compression

#
# Random number generation
#
CONFIG_CRYPTO_ANSI_CPRNG=m
CONFIG_CRYPTO_DRBG_MENU=y
CONFIG_CRYPTO_DRBG_HMAC=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_DRBG=y
CONFIG_CRYPTO_JITTERENTROPY=y
# end of Random number generation

#
# Userspace interface
#
CONFIG_CRYPTO_USER_API=y
CONFIG_CRYPTO_USER_API_HASH=y
CONFIG_CRYPTO_USER_API_SKCIPHER=y
CONFIG_CRYPTO_USER_API_RNG=y
# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
CONFIG_CRYPTO_USER_API_AEAD=y
CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
# CONFIG_CRYPTO_STATS is not set
# end of Userspace interface

CONFIG_CRYPTO_HASH_INFO=y

#
# Accelerated Cryptographic Algorithms for CPU (x86)
#
# CONFIG_CRYPTO_CURVE25519_X86 is not set
CONFIG_CRYPTO_AES_NI_INTEL=y
CONFIG_CRYPTO_BLOWFISH_X86_64=m
CONFIG_CRYPTO_CAMELLIA_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64=m
CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64=m
CONFIG_CRYPTO_CAST5_AVX_X86_64=m
CONFIG_CRYPTO_CAST6_AVX_X86_64=m
# CONFIG_CRYPTO_DES3_EDE_X86_64 is not set
CONFIG_CRYPTO_SERPENT_SSE2_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX_X86_64=m
CONFIG_CRYPTO_SERPENT_AVX2_X86_64=m
# CONFIG_CRYPTO_SM4_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_SM4_AESNI_AVX2_X86_64 is not set
CONFIG_CRYPTO_TWOFISH_X86_64=m
CONFIG_CRYPTO_TWOFISH_X86_64_3WAY=m
CONFIG_CRYPTO_TWOFISH_AVX_X86_64=m
# CONFIG_CRYPTO_ARIA_AESNI_AVX_X86_64 is not set
# CONFIG_CRYPTO_ARIA_AESNI_AVX2_X86_64 is not set
# CONFIG_CRYPTO_ARIA_GFNI_AVX512_X86_64 is not set
CONFIG_CRYPTO_CHACHA20_X86_64=m
# CONFIG_CRYPTO_AEGIS128_AESNI_SSE2 is not set
# CONFIG_CRYPTO_NHPOLY1305_SSE2 is not set
# CONFIG_CRYPTO_NHPOLY1305_AVX2 is not set
# CONFIG_CRYPTO_BLAKE2S_X86 is not set
# CONFIG_CRYPTO_POLYVAL_CLMUL_NI is not set
# CONFIG_CRYPTO_POLY1305_X86_64 is not set
CONFIG_CRYPTO_SHA1_SSSE3=y
CONFIG_CRYPTO_SHA256_SSSE3=y
CONFIG_CRYPTO_SHA512_SSSE3=m
# CONFIG_CRYPTO_SM3_AVX_X86_64 is not set
CONFIG_CRYPTO_GHASH_CLMUL_NI_INTEL=m
CONFIG_CRYPTO_CRC32C_INTEL=m
CONFIG_CRYPTO_CRC32_PCLMUL=m
CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m
# end of Accelerated Cryptographic Algorithms for CPU (x86)

CONFIG_CRYPTO_HW=y
CONFIG_CRYPTO_DEV_PADLOCK=m
CONFIG_CRYPTO_DEV_PADLOCK_AES=m
CONFIG_CRYPTO_DEV_PADLOCK_SHA=m
# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
CONFIG_CRYPTO_DEV_CCP=y
CONFIG_CRYPTO_DEV_CCP_DD=m
CONFIG_CRYPTO_DEV_SP_CCP=y
CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
CONFIG_CRYPTO_DEV_SP_PSP=y
# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set
CONFIG_CRYPTO_DEV_QAT=m
CONFIG_CRYPTO_DEV_QAT_DH895xCC=m
CONFIG_CRYPTO_DEV_QAT_C3XXX=m
CONFIG_CRYPTO_DEV_QAT_C62X=m
# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m
CONFIG_CRYPTO_DEV_QAT_C3XXXVF=m
CONFIG_CRYPTO_DEV_QAT_C62XVF=m
CONFIG_CRYPTO_DEV_NITROX=m
CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
# CONFIG_CRYPTO_DEV_VIRTIO is not set
# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
CONFIG_ASYMMETRIC_KEY_TYPE=y
CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
CONFIG_X509_CERTIFICATE_PARSER=y
# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set
CONFIG_PKCS7_MESSAGE_PARSER=y
# CONFIG_PKCS7_TEST_KEY is not set
CONFIG_SIGNED_PE_FILE_VERIFICATION=y
# CONFIG_FIPS_SIGNATURE_SELFTEST is not set

#
# Certificates for signature checking
#
CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
# CONFIG_MODULE_SIG_KEY_TYPE_ECDSA is not set
CONFIG_SYSTEM_TRUSTED_KEYRING=y
CONFIG_SYSTEM_TRUSTED_KEYS=""
# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
CONFIG_SYSTEM_BLACKLIST_KEYRING=y
CONFIG_SYSTEM_BLACKLIST_HASH_LIST=""
# CONFIG_SYSTEM_REVOCATION_LIST is not set
# CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE is not set
# end of Certificates for signature checking

CONFIG_BINARY_PRINTF=y

#
# Library routines
#
CONFIG_RAID6_PQ=m
CONFIG_RAID6_PQ_BENCHMARK=y
# CONFIG_PACKING is not set
CONFIG_BITREVERSE=y
CONFIG_GENERIC_STRNCPY_FROM_USER=y
CONFIG_GENERIC_STRNLEN_USER=y
CONFIG_GENERIC_NET_UTILS=y
CONFIG_CORDIC=m
# CONFIG_PRIME_NUMBERS is not set
CONFIG_RATIONAL=y
CONFIG_GENERIC_PCI_IOMAP=y
CONFIG_GENERIC_IOMAP=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
CONFIG_ARCH_USE_SYM_ANNOTATIONS=y

#
# Crypto library routines
#
CONFIG_CRYPTO_LIB_UTILS=y
CONFIG_CRYPTO_LIB_AES=y
CONFIG_CRYPTO_LIB_ARC4=m
CONFIG_CRYPTO_LIB_GF128MUL=y
CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
# CONFIG_CRYPTO_LIB_CHACHA is not set
# CONFIG_CRYPTO_LIB_CURVE25519 is not set
CONFIG_CRYPTO_LIB_DES=m
CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
# CONFIG_CRYPTO_LIB_POLY1305 is not set
# CONFIG_CRYPTO_LIB_CHACHA20POLY1305 is not set
CONFIG_CRYPTO_LIB_SHA1=y
CONFIG_CRYPTO_LIB_SHA256=y
# end of Crypto library routines

CONFIG_CRC_CCITT=y
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC64_ROCKSOFT=m
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y
# CONFIG_CRC32_SELFTEST is not set
CONFIG_CRC32_SLICEBY8=y
# CONFIG_CRC32_SLICEBY4 is not set
# CONFIG_CRC32_SARWATE is not set
# CONFIG_CRC32_BIT is not set
CONFIG_CRC64=m
# CONFIG_CRC4 is not set
CONFIG_CRC7=m
CONFIG_LIBCRC32C=m
CONFIG_CRC8=m
CONFIG_XXHASH=y
# CONFIG_RANDOM32_SELFTEST is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
CONFIG_LZO_COMPRESS=y
CONFIG_LZO_DECOMPRESS=y
CONFIG_LZ4_DECOMPRESS=y
CONFIG_ZSTD_COMMON=y
CONFIG_ZSTD_COMPRESS=m
CONFIG_ZSTD_DECOMPRESS=y
CONFIG_XZ_DEC=y
CONFIG_XZ_DEC_X86=y
CONFIG_XZ_DEC_POWERPC=y
CONFIG_XZ_DEC_IA64=y
CONFIG_XZ_DEC_ARM=y
CONFIG_XZ_DEC_ARMTHUMB=y
CONFIG_XZ_DEC_SPARC=y
# CONFIG_XZ_DEC_MICROLZMA is not set
CONFIG_XZ_DEC_BCJ=y
# CONFIG_XZ_DEC_TEST is not set
CONFIG_DECOMPRESS_GZIP=y
CONFIG_DECOMPRESS_BZIP2=y
CONFIG_DECOMPRESS_LZMA=y
CONFIG_DECOMPRESS_XZ=y
CONFIG_DECOMPRESS_LZO=y
CONFIG_DECOMPRESS_LZ4=y
CONFIG_DECOMPRESS_ZSTD=y
CONFIG_GENERIC_ALLOCATOR=y
CONFIG_REED_SOLOMON=m
CONFIG_REED_SOLOMON_ENC8=y
CONFIG_REED_SOLOMON_DEC8=y
CONFIG_TEXTSEARCH=y
CONFIG_TEXTSEARCH_KMP=m
CONFIG_TEXTSEARCH_BM=m
CONFIG_TEXTSEARCH_FSM=m
CONFIG_INTERVAL_TREE=y
CONFIG_XARRAY_MULTI=y
CONFIG_ASSOCIATIVE_ARRAY=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT_MAP=y
CONFIG_HAS_DMA=y
CONFIG_DMA_OPS=y
CONFIG_NEED_SG_DMA_LENGTH=y
CONFIG_NEED_DMA_MAP_STATE=y
CONFIG_ARCH_DMA_ADDR_T_64BIT=y
CONFIG_ARCH_HAS_FORCE_DMA_UNENCRYPTED=y
CONFIG_SWIOTLB=y
CONFIG_DMA_CMA=y
# CONFIG_DMA_PERNUMA_CMA is not set

#
# Default contiguous memory area size:
#
CONFIG_CMA_SIZE_MBYTES=200
CONFIG_CMA_SIZE_SEL_MBYTES=y
# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
# CONFIG_CMA_SIZE_SEL_MIN is not set
# CONFIG_CMA_SIZE_SEL_MAX is not set
CONFIG_CMA_ALIGNMENT=8
# CONFIG_DMA_API_DEBUG is not set
# CONFIG_DMA_MAP_BENCHMARK is not set
CONFIG_SGL_ALLOC=y
CONFIG_CHECK_SIGNATURE=y
CONFIG_CPUMASK_OFFSTACK=y
CONFIG_CPU_RMAP=y
CONFIG_DQL=y
CONFIG_GLOB=y
# CONFIG_GLOB_SELFTEST is not set
CONFIG_NLATTR=y
CONFIG_CLZ_TAB=y
CONFIG_IRQ_POLL=y
CONFIG_MPILIB=y
CONFIG_SIGNATURE=y
CONFIG_DIMLIB=y
CONFIG_OID_REGISTRY=y
CONFIG_UCS2_STRING=y
CONFIG_HAVE_GENERIC_VDSO=y
CONFIG_GENERIC_GETTIMEOFDAY=y
CONFIG_GENERIC_VDSO_TIME_NS=y
CONFIG_FONT_SUPPORT=y
# CONFIG_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_SG_POOL=y
CONFIG_ARCH_HAS_PMEM_API=y
CONFIG_MEMREGION=y
CONFIG_ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION=y
CONFIG_ARCH_HAS_UACCESS_FLUSHCACHE=y
CONFIG_ARCH_HAS_COPY_MC=y
CONFIG_ARCH_STACKWALK=y
CONFIG_STACKDEPOT=y
CONFIG_STACKDEPOT_ALWAYS_INIT=y
CONFIG_SBITMAP=y
# end of Library routines

CONFIG_ASN1_ENCODER=y

#
# Kernel hacking
#

#
# printk and dmesg options
#
CONFIG_PRINTK_TIME=y
CONFIG_PRINTK_CALLER=y
# CONFIG_STACKTRACE_BUILD_ID is not set
CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
CONFIG_CONSOLE_LOGLEVEL_QUIET=4
CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
CONFIG_BOOT_PRINTK_DELAY=y
CONFIG_DYNAMIC_DEBUG=y
CONFIG_DYNAMIC_DEBUG_CORE=y
CONFIG_SYMBOLIC_ERRNAME=y
CONFIG_DEBUG_BUGVERBOSE=y
# end of printk and dmesg options

CONFIG_DEBUG_KERNEL=y
CONFIG_DEBUG_MISC=y

#
# Compile-time checks and compiler options
#
CONFIG_DEBUG_INFO=y
CONFIG_AS_HAS_NON_CONST_LEB128=y
# CONFIG_DEBUG_INFO_NONE is not set
# CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is not set
CONFIG_DEBUG_INFO_DWARF4=y
# CONFIG_DEBUG_INFO_DWARF5 is not set
CONFIG_DEBUG_INFO_REDUCED=y
CONFIG_DEBUG_INFO_COMPRESSED_NONE=y
# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set
# CONFIG_DEBUG_INFO_SPLIT is not set
CONFIG_PAHOLE_HAS_SPLIT_BTF=y
CONFIG_PAHOLE_HAS_LANG_EXCLUDE=y
# CONFIG_GDB_SCRIPTS is not set
CONFIG_FRAME_WARN=8192
CONFIG_STRIP_ASM_SYMS=y
# CONFIG_READABLE_ASM is not set
# CONFIG_HEADERS_INSTALL is not set
CONFIG_DEBUG_SECTION_MISMATCH=y
CONFIG_SECTION_MISMATCH_WARN_ONLY=y
CONFIG_OBJTOOL=y
# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set
# end of Compile-time checks and compiler options

#
# Generic Kernel Debugging Instruments
#
CONFIG_MAGIC_SYSRQ=y
CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
CONFIG_MAGIC_SYSRQ_SERIAL=y
CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ALLOW_ALL=y
# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
# CONFIG_DEBUG_FS_ALLOW_NONE is not set
CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set
CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
CONFIG_UBSAN=y
# CONFIG_UBSAN_TRAP is not set
CONFIG_CC_HAS_UBSAN_BOUNDS=y
CONFIG_UBSAN_BOUNDS=y
CONFIG_UBSAN_ONLY_BOUNDS=y
CONFIG_UBSAN_SHIFT=y
# CONFIG_UBSAN_DIV_ZERO is not set
# CONFIG_UBSAN_BOOL is not set
# CONFIG_UBSAN_ENUM is not set
# CONFIG_UBSAN_ALIGNMENT is not set
CONFIG_UBSAN_SANITIZE_ALL=y
# CONFIG_TEST_UBSAN is not set
CONFIG_HAVE_ARCH_KCSAN=y
CONFIG_HAVE_KCSAN_COMPILER=y
# end of Generic Kernel Debugging Instruments

#
# Networking Debugging
#
# CONFIG_NET_DEV_REFCNT_TRACKER is not set
# CONFIG_NET_NS_REFCNT_TRACKER is not set
# CONFIG_DEBUG_NET is not set
# end of Networking Debugging

#
# Memory Debugging
#
CONFIG_PAGE_EXTENSION=y
# CONFIG_DEBUG_PAGEALLOC is not set
CONFIG_SLUB_DEBUG=y
# CONFIG_SLUB_DEBUG_ON is not set
CONFIG_PAGE_OWNER=y
# CONFIG_PAGE_TABLE_CHECK is not set
# CONFIG_PAGE_POISONING is not set
# CONFIG_DEBUG_PAGE_REF is not set
# CONFIG_DEBUG_RODATA_TEST is not set
CONFIG_ARCH_HAS_DEBUG_WX=y
# CONFIG_DEBUG_WX is not set
CONFIG_GENERIC_PTDUMP=y
# CONFIG_PTDUMP_DEBUGFS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_DEBUG_OBJECTS is not set
# CONFIG_SHRINKER_DEBUG is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_SCHED_STACK_END_CHECK is not set
CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
# CONFIG_DEBUG_VM is not set
# CONFIG_DEBUG_VM_PGTABLE is not set
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
# CONFIG_DEBUG_VIRTUAL is not set
CONFIG_DEBUG_MEMORY_INIT=y
# CONFIG_DEBUG_PER_CPU_MAPS is not set
CONFIG_HAVE_ARCH_KASAN=y
CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
CONFIG_CC_HAS_KASAN_GENERIC=y
CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
CONFIG_KASAN=y
CONFIG_KASAN_GENERIC=y
# CONFIG_KASAN_OUTLINE is not set
CONFIG_KASAN_INLINE=y
CONFIG_KASAN_STACK=y
CONFIG_KASAN_VMALLOC=y
# CONFIG_KASAN_MODULE_TEST is not set
CONFIG_HAVE_ARCH_KFENCE=y
# CONFIG_KFENCE is not set
CONFIG_HAVE_ARCH_KMSAN=y
# end of Memory Debugging

CONFIG_DEBUG_SHIRQ=y

#
# Debug Oops, Lockups and Hangs
#
CONFIG_PANIC_ON_OOPS=y
CONFIG_PANIC_ON_OOPS_VALUE=1
CONFIG_PANIC_TIMEOUT=0
CONFIG_LOCKUP_DETECTOR=y
CONFIG_SOFTLOCKUP_DETECTOR=y
# CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set
CONFIG_HARDLOCKUP_DETECTOR_PERF=y
CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y
CONFIG_HARDLOCKUP_DETECTOR=y
CONFIG_BOOTPARAM_HARDLOCKUP_PANIC=y
CONFIG_DETECT_HUNG_TASK=y
CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=480
# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
CONFIG_WQ_WATCHDOG=y
# CONFIG_TEST_LOCKUP is not set
# end of Debug Oops, Lockups and Hangs

#
# Scheduler Debugging
#
CONFIG_SCHED_DEBUG=y
CONFIG_SCHED_INFO=y
CONFIG_SCHEDSTATS=y
# end of Scheduler Debugging

# CONFIG_DEBUG_TIMEKEEPING is not set

#
# Lock Debugging (spinlocks, mutexes, etc...)
#
CONFIG_LOCK_DEBUGGING_SUPPORT=y
# CONFIG_PROVE_LOCKING is not set
# CONFIG_LOCK_STAT is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_DEBUG_SPINLOCK is not set
# CONFIG_DEBUG_MUTEXES is not set
# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set
# CONFIG_DEBUG_RWSEMS is not set
# CONFIG_DEBUG_LOCK_ALLOC is not set
CONFIG_DEBUG_ATOMIC_SLEEP=y
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
# CONFIG_LOCK_TORTURE_TEST is not set
# CONFIG_WW_MUTEX_SELFTEST is not set
# CONFIG_SCF_TORTURE_TEST is not set
# CONFIG_CSD_LOCK_WAIT_DEBUG is not set
# end of Lock Debugging (spinlocks, mutexes, etc...)

# CONFIG_NMI_CHECK_CPU is not set
# CONFIG_DEBUG_IRQFLAGS is not set
CONFIG_STACKTRACE=y
# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
# CONFIG_DEBUG_KOBJECT is not set

#
# Debug kernel data structures
#
CONFIG_DEBUG_LIST=y
# CONFIG_DEBUG_PLIST is not set
# CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
CONFIG_BUG_ON_DATA_CORRUPTION=y
# CONFIG_DEBUG_MAPLE_TREE is not set
# end of Debug kernel data structures

# CONFIG_DEBUG_CREDENTIALS is not set

#
# RCU Debugging
#
CONFIG_TORTURE_TEST=m
# CONFIG_RCU_SCALE_TEST is not set
# CONFIG_RCU_TORTURE_TEST is not set
CONFIG_RCU_REF_SCALE_TEST=m
CONFIG_RCU_CPU_STALL_TIMEOUT=60
CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
# CONFIG_RCU_CPU_STALL_CPUTIME is not set
# CONFIG_RCU_TRACE is not set
# CONFIG_RCU_EQS_DEBUG is not set
# end of RCU Debugging

# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set
# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
CONFIG_LATENCYTOP=y
# CONFIG_DEBUG_CGROUP_REF is not set
CONFIG_USER_STACKTRACE_SUPPORT=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_RETHOOK=y
CONFIG_RETHOOK=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
CONFIG_HAVE_DYNAMIC_FTRACE_NO_PATCHABLE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_HAVE_FENTRY=y
CONFIG_HAVE_OBJTOOL_MCOUNT=y
CONFIG_HAVE_OBJTOOL_NOP_MCOUNT=y
CONFIG_HAVE_C_RECORDMCOUNT=y
CONFIG_HAVE_BUILDTIME_MCOUNT_SORT=y
CONFIG_BUILDTIME_MCOUNT_SORT=y
CONFIG_TRACER_MAX_TRACE=y
CONFIG_TRACE_CLOCK=y
CONFIG_RING_BUFFER=y
CONFIG_EVENT_TRACING=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_TRACING=y
CONFIG_GENERIC_TRACER=y
CONFIG_TRACING_SUPPORT=y
CONFIG_FTRACE=y
# CONFIG_BOOTTIME_TRACING is not set
CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
CONFIG_DYNAMIC_FTRACE=y
CONFIG_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
CONFIG_DYNAMIC_FTRACE_WITH_ARGS=y
# CONFIG_FPROBE is not set
CONFIG_FUNCTION_PROFILER=y
CONFIG_STACK_TRACER=y
# CONFIG_IRQSOFF_TRACER is not set
CONFIG_SCHED_TRACER=y
CONFIG_HWLAT_TRACER=y
# CONFIG_OSNOISE_TRACER is not set
# CONFIG_TIMERLAT_TRACER is not set
# CONFIG_MMIOTRACE is not set
CONFIG_FTRACE_SYSCALLS=y
CONFIG_TRACER_SNAPSHOT=y
# CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set
CONFIG_BRANCH_PROFILE_NONE=y
# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set
# CONFIG_BLK_DEV_IO_TRACE is not set
CONFIG_KPROBE_EVENTS=y
# CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set
CONFIG_UPROBE_EVENTS=y
CONFIG_BPF_EVENTS=y
CONFIG_DYNAMIC_EVENTS=y
CONFIG_PROBE_EVENTS=y
CONFIG_BPF_KPROBE_OVERRIDE=y
CONFIG_FTRACE_MCOUNT_RECORD=y
CONFIG_FTRACE_MCOUNT_USE_CC=y
CONFIG_TRACING_MAP=y
CONFIG_SYNTH_EVENTS=y
CONFIG_HIST_TRIGGERS=y
# CONFIG_TRACE_EVENT_INJECT is not set
# CONFIG_TRACEPOINT_BENCHMARK is not set
CONFIG_RING_BUFFER_BENCHMARK=m
# CONFIG_TRACE_EVAL_MAP_FILE is not set
# CONFIG_FTRACE_RECORD_RECURSION is not set
# CONFIG_FTRACE_STARTUP_TEST is not set
# CONFIG_FTRACE_SORT_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_STARTUP_TEST is not set
# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set
# CONFIG_PREEMPTIRQ_DELAY_TEST is not set
# CONFIG_SYNTH_EVENT_GEN_TEST is not set
# CONFIG_KPROBE_EVENT_GEN_TEST is not set
# CONFIG_HIST_TRIGGERS_DEBUG is not set
# CONFIG_RV is not set
CONFIG_PROVIDE_OHCI1394_DMA_INIT=y
# CONFIG_SAMPLES is not set
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
CONFIG_ARCH_HAS_DEVMEM_IS_ALLOWED=y
CONFIG_STRICT_DEVMEM=y
# CONFIG_IO_STRICT_DEVMEM is not set

#
# x86 Debugging
#
CONFIG_EARLY_PRINTK_USB=y
CONFIG_X86_VERBOSE_BOOTUP=y
CONFIG_EARLY_PRINTK=y
CONFIG_EARLY_PRINTK_DBGP=y
CONFIG_EARLY_PRINTK_USB_XDBC=y
# CONFIG_EFI_PGT_DUMP is not set
# CONFIG_DEBUG_TLBFLUSH is not set
CONFIG_HAVE_MMIOTRACE_SUPPORT=y
# CONFIG_X86_DECODER_SELFTEST is not set
CONFIG_IO_DELAY_0X80=y
# CONFIG_IO_DELAY_0XED is not set
# CONFIG_IO_DELAY_UDELAY is not set
# CONFIG_IO_DELAY_NONE is not set
CONFIG_DEBUG_BOOT_PARAMS=y
# CONFIG_CPA_DEBUG is not set
# CONFIG_DEBUG_ENTRY is not set
# CONFIG_DEBUG_NMI_SELFTEST is not set
# CONFIG_X86_DEBUG_FPU is not set
# CONFIG_PUNIT_ATOM_DEBUG is not set
CONFIG_UNWINDER_ORC=y
# CONFIG_UNWINDER_FRAME_POINTER is not set
# end of x86 Debugging

#
# Kernel Testing and Coverage
#
# CONFIG_KUNIT is not set
# CONFIG_NOTIFIER_ERROR_INJECTION is not set
CONFIG_FUNCTION_ERROR_INJECTION=y
CONFIG_FAULT_INJECTION=y
# CONFIG_FAILSLAB is not set
# CONFIG_FAIL_PAGE_ALLOC is not set
# CONFIG_FAULT_INJECTION_USERCOPY is not set
CONFIG_FAIL_MAKE_REQUEST=y
# CONFIG_FAIL_IO_TIMEOUT is not set
# CONFIG_FAIL_FUTEX is not set
CONFIG_FAULT_INJECTION_DEBUG_FS=y
# CONFIG_FAIL_FUNCTION is not set
# CONFIG_FAIL_MMC_REQUEST is not set
# CONFIG_FAIL_SUNRPC is not set
# CONFIG_FAULT_INJECTION_STACKTRACE_FILTER is not set
CONFIG_ARCH_HAS_KCOV=y
CONFIG_CC_HAS_SANCOV_TRACE_PC=y
# CONFIG_KCOV is not set
CONFIG_RUNTIME_TESTING_MENU=y
# CONFIG_TEST_DHRY is not set
# CONFIG_LKDTM is not set
# CONFIG_TEST_MIN_HEAP is not set
# CONFIG_TEST_DIV64 is not set
# CONFIG_BACKTRACE_SELF_TEST is not set
# CONFIG_TEST_REF_TRACKER is not set
# CONFIG_RBTREE_TEST is not set
# CONFIG_REED_SOLOMON_TEST is not set
# CONFIG_INTERVAL_TREE_TEST is not set
# CONFIG_PERCPU_TEST is not set
# CONFIG_ATOMIC64_SELFTEST is not set
# CONFIG_ASYNC_RAID6_TEST is not set
# CONFIG_TEST_HEXDUMP is not set
# CONFIG_STRING_SELFTEST is not set
# CONFIG_TEST_STRING_HELPERS is not set
# CONFIG_TEST_KSTRTOX is not set
# CONFIG_TEST_PRINTF is not set
# CONFIG_TEST_SCANF is not set
# CONFIG_TEST_BITMAP is not set
# CONFIG_TEST_UUID is not set
# CONFIG_TEST_XARRAY is not set
# CONFIG_TEST_MAPLE_TREE is not set
# CONFIG_TEST_RHASHTABLE is not set
# CONFIG_TEST_IDA is not set
# CONFIG_TEST_LKM is not set
# CONFIG_TEST_BITOPS is not set
# CONFIG_TEST_VMALLOC is not set
# CONFIG_TEST_USER_COPY is not set
CONFIG_TEST_BPF=m
# CONFIG_TEST_BLACKHOLE_DEV is not set
# CONFIG_FIND_BIT_BENCHMARK is not set
# CONFIG_TEST_FIRMWARE is not set
# CONFIG_TEST_SYSCTL is not set
# CONFIG_TEST_UDELAY is not set
# CONFIG_TEST_STATIC_KEYS is not set
# CONFIG_TEST_DYNAMIC_DEBUG is not set
# CONFIG_TEST_KMOD is not set
# CONFIG_TEST_MEMCAT_P is not set
# CONFIG_TEST_LIVEPATCH is not set
# CONFIG_TEST_MEMINIT is not set
# CONFIG_TEST_HMM is not set
# CONFIG_TEST_FREE_PAGES is not set
# CONFIG_TEST_FPU is not set
# CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set
CONFIG_ARCH_USE_MEMTEST=y
# CONFIG_MEMTEST is not set
# CONFIG_HYPERV_TESTING is not set
# end of Kernel Testing and Coverage

#
# Rust hacking
#
# end of Rust hacking
# end of Kernel hacking

--C5TiEhRBN396VBhV
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: attachment; filename="job-script"

#!/bin/sh

export_top_env()
{
	export suite='boot'
	export testcase='boot'
	export category='functional'
	export timeout='10m'
	export job_origin='boot.yaml'
	export queue_cmdline_keys='branch
commit
kbuild_queue_analysis'
	export queue='validate'
	export testbox='lkp-csl-2sp7'
	export tbox_group='lkp-csl-2sp7'
	export branch='linux-review/Andy-Shevchenko/kernel-h-Split-out-COUNT_ARGS-and-CONCATENATE/20230324-013857'
	export commit='d23d5938fd7ced817d6aa1ff86cd671ebbaebfc2'
	export submit_id='6425360bd72cca2e430b1ec2'
	export job_file='/lkp/jobs/scheduled/lkp-csl-2sp7/boot-1-debian-11.1-x86_64-20220510.cgz-d23d5938fd7ced817d6aa1ff86cd671ebbaebfc2-20230330-11843-1kr537c-5.yaml'
	export id='27789a0684b9f388a33c7a5b8286d250194b9e5e'
	export queuer_version='/zday/lkp'
	export model='Cascade Lake'
	export nr_node=2
	export nr_cpu=96
	export memory='512G'
	export nr_hdd_partitions=1
	export nr_ssd_partitions=1
	export hdd_partitions='/dev/disk/by-id/ata-ST1000NM0055-1V410C_ZBS1K5E0-part1'
	export ssd_partitions='/dev/disk/by-id/ata-INTEL_SSDSC2BB800G4_PHWL4204000G800RGN-part1'
	export swap_partitions=
	export rootfs_partition='/dev/disk/by-id/ata-ST1000NM0055-1V410C_ZBS1K5E0-part2'
	export brand='Intel(R) Xeon(R) Gold 6252 CPU @ 2.10GHz'
	export ucode='0x5003302'
	export need_kconfig_hw='{"I40E"=>"y"}
SATA_AHCI'
	export rootfs='debian-11.1-x86_64-20220510.cgz'
	export kconfig='x86_64-rhel-8.3-func'
	export enqueue_time='2023-03-30 15:11:08 +0800'
	export compiler='gcc-11'
	export _id='64253621d72cca2e430b1ec4'
	export _rt='/result/boot/1/lkp-csl-2sp7/debian-11.1-x86_64-20220510.cgz/x86_64-rhel-8.3-func/gcc-11/d23d5938fd7ced817d6aa1ff86cd671ebbaebfc2'
	export user='lkp'
	export LKP_SERVER='internal-lkp-server'
	export result_root='/result/boot/1/lkp-csl-2sp7/debian-11.1-x86_64-20220510.cgz/x86_64-rhel-8.3-func/gcc-11/d23d5938fd7ced817d6aa1ff86cd671ebbaebfc2/3'
	export scheduler_version='/lkp/lkp/.src-20230330-101552'
	export arch='x86_64'
	export max_uptime=600
	export initrd='/osimage/debian/debian-11.1-x86_64-20220510.cgz'
	export bootloader_append='root=/dev/ram0
RESULT_ROOT=/result/boot/1/lkp-csl-2sp7/debian-11.1-x86_64-20220510.cgz/x86_64-rhel-8.3-func/gcc-11/d23d5938fd7ced817d6aa1ff86cd671ebbaebfc2/3
BOOT_IMAGE=/pkg/linux/x86_64-rhel-8.3-func/gcc-11/d23d5938fd7ced817d6aa1ff86cd671ebbaebfc2/vmlinuz-6.3.0-rc1-00011-gd23d5938fd7c
branch=linux-review/Andy-Shevchenko/kernel-h-Split-out-COUNT_ARGS-and-CONCATENATE/20230324-013857
job=/lkp/jobs/scheduled/lkp-csl-2sp7/boot-1-debian-11.1-x86_64-20220510.cgz-d23d5938fd7ced817d6aa1ff86cd671ebbaebfc2-20230330-11843-1kr537c-5.yaml
user=lkp
ARCH=x86_64
kconfig=x86_64-rhel-8.3-func
commit=d23d5938fd7ced817d6aa1ff86cd671ebbaebfc2
initcall_debug
nmi_watchdog=0
max_uptime=600
LKP_SERVER=internal-lkp-server
nokaslr
selinux=0
debug
apic=debug
sysrq_always_enabled
rcupdate.rcu_cpu_stall_timeout=100
net.ifnames=0
printk.devkmsg=on
panic=-1
softlockup_panic=1
nmi_watchdog=panic
oops=panic
load_ramdisk=2
prompt_ramdisk=0
drbd.minor_count=8
systemd.log_level=err
ignore_loglevel
console=tty0
earlyprintk=ttyS0,115200
console=ttyS0,115200
vga=normal
rw'
	export modules_initrd='/pkg/linux/x86_64-rhel-8.3-func/gcc-11/d23d5938fd7ced817d6aa1ff86cd671ebbaebfc2/modules.cgz'
	export bm_initrd='/osimage/deps/debian-11.1-x86_64-20220510.cgz/run-ipconfig_20220515.cgz,/osimage/deps/debian-11.1-x86_64-20220510.cgz/lkp_20220513.cgz,/osimage/deps/debian-11.1-x86_64-20220510.cgz/rsync-rootfs_20220515.cgz,/osimage/deps/debian-11.1-x86_64-20220510.cgz/hw_20220526.cgz'
	export ucode_initrd='/osimage/ucode/intel-ucode-20220804.cgz'
	export lkp_initrd='/osimage/user/lkp/lkp-x86_64.cgz'
	export site='inn'
	export LKP_CGI_PORT=80
	export LKP_CIFS_PORT=139
	export last_kernel='4.20.0'
	export repeat_to=6
	export schedule_notify_address=
	export stop_repeat_if_found='last_state.booting'
	export kbuild_queue_analysis=1
	export kernel='/pkg/linux/x86_64-rhel-8.3-func/gcc-11/d23d5938fd7ced817d6aa1ff86cd671ebbaebfc2/vmlinuz-6.3.0-rc1-00011-gd23d5938fd7c'
	export dequeue_time='2023-03-30 15:18:03 +0800'
	export job_initrd='/lkp/jobs/scheduled/lkp-csl-2sp7/boot-1-debian-11.1-x86_64-20220510.cgz-d23d5938fd7ced817d6aa1ff86cd671ebbaebfc2-20230330-11843-1kr537c-5.cgz'

	[ -n "$LKP_SRC" ] ||
	export LKP_SRC=/lkp/${user:-lkp}/src
}

run_job()
{
	echo $$ > $TMP/run-job.pid

	. $LKP_SRC/lib/http.sh
	. $LKP_SRC/lib/job.sh
	. $LKP_SRC/lib/env.sh

	export_top_env

	run_monitor $LKP_SRC/monitors/one-shot/wrapper boot-slabinfo
	run_monitor $LKP_SRC/monitors/one-shot/wrapper boot-meminfo
	run_monitor $LKP_SRC/monitors/one-shot/wrapper memmap
	run_monitor $LKP_SRC/monitors/no-stdout/wrapper boot-time
	run_monitor $LKP_SRC/monitors/wrapper kmsg
	run_monitor $LKP_SRC/monitors/wrapper heartbeat
	run_monitor $LKP_SRC/monitors/wrapper meminfo
	run_monitor $LKP_SRC/monitors/wrapper oom-killer
	run_monitor $LKP_SRC/monitors/plain/watchdog

	run_test $LKP_SRC/tests/wrapper sleep 1
}

extract_stats()
{
	export stats_part_begin=
	export stats_part_end=

	$LKP_SRC/stats/wrapper boot-slabinfo
	$LKP_SRC/stats/wrapper boot-meminfo
	$LKP_SRC/stats/wrapper memmap
	$LKP_SRC/stats/wrapper boot-memory
	$LKP_SRC/stats/wrapper boot-time
	$LKP_SRC/stats/wrapper kernel-size
	$LKP_SRC/stats/wrapper kmsg
	$LKP_SRC/stats/wrapper sleep
	$LKP_SRC/stats/wrapper meminfo

	$LKP_SRC/stats/wrapper time sleep.time
	$LKP_SRC/stats/wrapper dmesg
	$LKP_SRC/stats/wrapper kmsg
	$LKP_SRC/stats/wrapper last_state
	$LKP_SRC/stats/wrapper stderr
	$LKP_SRC/stats/wrapper time
}

"$@"

--C5TiEhRBN396VBhV
Content-Type: application/x-xz
Content-Disposition: attachment; filename="dmesg.xz"
Content-Transfer-Encoding: base64

/Td6WFoAAATm1rRGAgAhARYAAAB0L+Wj5bvRrONdACIZSGcigsEOvS5SJPSSiEZN91kUwkoEoc4C
r7bBXWVIIX3QflT+sKzVYooFrJJ/12Zhr+XMQhHRqEVRHV3YIeIlRFVveXKG6m6d3upr562L+POo
gIRY2MzE3v9OX939UdlqK4Ny65uRC41SUl4V02SeMhBsXrNd6u9Y824aEmKnyniiblkxTAt90IXg
cDuRzPYD19AQm4sI5FwoN+/dYj6Bcr9OHKdg6kLGtFaM9V7DcbrVpWBkmcVum6Jtomce4yOfdPHc
oZwnS6gpku92mNGWw62IDtpRsO1noKRnfi9qonQPxhX+ewW0OVlyYpb2ywrarLMdPR7JNfAst4Tj
9GAWdkX7u3TVnnDebQQzN9y/wfBjWXKHoG1qojauM31aLCbflQjgua9rDe1lb/Ud107BYnjebZa2
hb+mXechGth+9tU4ueqF7+/c8GFGPNqreu50zZbnisjkJ5k5epgDOU6eXL9CH2ruw8Ml7c1QHmiE
kNw6DCiYWPqfh3BoV3RbM+LIxsFAX8UMS1xoL2UQfyGER1398XjtFsaQ6H4WEP3FeK+ECeX/WkA1
kttcGjDIAuXRWqqJckP5ncoSpTkAkCQVQmoxCqxOHtqxWH+pXJC3ClX6VF5ijNuzCWn1Z+LJLOLx
mJLD+MbTNdxmFooaVHmUaL4ZvYUhBoUums2w+rcg5inzZKCGrLtcyk6CbRvZf1aY+hGzwzB4LYla
aYMVuu/GZI8DXWZegE6qlUmrko4burg++cBrWCMk+wazYDxYg5p1hANSm4Tlp8wk6+lch5DpAvU/
Cst/3LSI6DEKL1rzIDESmtMs8pE0NrRZBO7mBj96WZFcfrFPoRaTCeK1mexyeQbWbpiCGVJYw/zG
qKG1dnQ0lwzIN367a3i/dnaxm9aGq79dwENVcKdZEaRnBGG65wfd7VPfTqWbYNAJJzJ+eE8pAOhk
XMDcHYGok/nj/jA4vvdirE8UAHDENc/o8+mhKt5tSy4WyxG5OUAmdMpdBXnyn3StdfyramA7lmGZ
UhJG7Qvr4ZUN3DSrCIP1A6QXYndGbOw3wh7kRI75M5XwL/CAzQistZRTdCtmZkGxy3SPqbY7oizC
9rl/o5eMXcNGyklIiO76UrRkbbtWSFSx9IZVAjRSQFHB9taa3TkAfoIabEP4kzNU4oB20y2Yqh34
r7E06mTO0SLvwiVBsVvn4AfKDZr/+L8tU7Y/8UIuaUVbFc8+OGHGl+WhujdRW89CndJ4aKmJBKWr
rEsJcQ224h/ts/Wij4OkndX9+D3GlJPhmhm2IxsaRhIrnHvzrB0oN29plMhg6Qex4xkvyS9QYZal
fq6i3rQUjB5rwlQMPbGbxnnZFw4KD/55Nvq8NVA3z/GUqf8vNS9rQbEPoHr2KBgId+Mqs+Xk2coA
ysaKLEuIhqIRWTW/LGfMtWbQTxLqjGsHq5mvbBQ+UnXiMvuZSh1t9Yd03McEfvVJEkDgPNmUrz1p
OKTEo7YXUnngbdynDVFeKJDjsp8G8hxSbwPdEbv0IcjRvX8t6sFBOHQssMJMg+wJXbUrG9l7C33p
XwC0F8p/EInyM8Gehsayb9JMZ6yvAonvGsPxxjkH7EAbaFZBRmRZmyjb7Vl8eVERct979dX3dh0+
T8ZLC8OXhQDndNKm13kjoMZ0tqrVhb9bTC2arORN5dCNREUGrzISXWhjG/ilUcyHhG0HLTZlZQFM
8Ly++8wF9XfGma5HjAcjM8cES5Cu7xbDOw49AWRV2vKyOAOpAhx1m3mlxW17QDM751z7kxerwoNt
UJ14IJAFsZqeNz51FSUnFOR0WJUNY0Oe6WFq0kHG8r1vyo1MFycPYsUFZY6PtHk/B3crNHHrsVIR
z4nVUHjmA59eIur32S3zVMp/1YA1NYxrc2PMD+N4j7i2ffWcQmHfwK+/60ThTPj/MemJuPLbEDuP
HviH2aESlG47G5EL955Z8HXbAXtV7Ml1dzftMW+eAGgClb7x5b6z5+bl8aZV7BQKSAuV49ewfPq8
YjA1iAR5wZL84+Vx6kH7oRKhrgjEWjqDZYQsRpakecriI7QIYv+mjOgZW//uxe+TBSgG7TiA6fRE
GJ7cIjTNdN5Msz8YXn0mpsG/u4cXdICUcMuCAeDwMcILao6rkLY1wXp+Gs0Sv0y9tlSIuVJV2fhs
EhY4q+KhOe2Q+szFSWioh0Amq4zt5oen0hnorzUDBxEnGk9bO1dYxGUATJoLBfBRhmDb1deCblKm
FoOZSA1GXqAredbklMaSWBSzS3uOwBXYvZA+SGff/ONt3lfxlvJIZG3WwG5+cX/XABXj1eksnSm/
O5Io24apxjyeg4oybPNGRfuA//zj8JEkhOkjDU9Tph54slQl3cvXbUXhMY/Ck7xaH1IS3O01ciGn
36wWgAq+8z+MWnEQbb0dTlJsED4gou+xEpkLeTNQHzMky5v9j1CBE4kT5CJczrQ8u3QE/DyPjkX+
HRT6IRy0i5rNxeLjK0k3PYn442i8XBH3gKKwp7niOZ1mYOAQj3Ml+8iHAFwWhv8zMqq0wPL/7ha1
/Hav5t0Z3sa2HNKshzJ6EIN/5xKZJj79iExQXLkdfYbCREv0cDx3N5IFovbAOTexk0WHnNgYAqWE
sj9ly1XFnH2inF0Z7jYdAXpaSmJBIjhHRXIJOdmL/Kw3P+rjmYSedMia6OhiVNvQXqej8EjEutlB
rcWdt5CRmRBIx66GRBfxrCaTG5wGyUOdInftTMkHsagBX3gxlryUb853zuQ2JaMVh3uJlPxfzCx+
C/9ofKHPuPvFj4Q6h9785LqyQ+2Dckg+tGR2+KTe2XvjzMzdxbb1QNuStm5esablrT3j5Km5OxtE
kaALRFP4IqchZuPAScKIiYJZg5eJK3ldttWPryH0rE4Mb1w5mOipveOYtJxFnmkO1EuwqUXhmY/t
h7NzqiQUYddo4ZrKV72vLvmQgpIVhwtkFp/VW9GPh8ti/rbk7fo+xX8VmS1AZy2h2NHAocek2ptq
oMtDJi4O23JL2GVdgtaW1/M5mzaNToa3cJeAHU5oSuW+4lKLh9IoDEzOSD0pcJoD2Xt3EF+8HQKR
bhv8wCwbnCKehhe0tAYF5rAHBFGzA7KwXu3vr9gIYvxgISSr4NV2ZltmF0ssuw4z+W1sk6fNiOLS
0o03J6TUAoWybWCXUeKg+anizvrdDhFnMAJGcwhC/oVLIbMXb+lr1Dbj2stPTtoJW+PmM2Z3+ISb
FZ64oDL7gO2+i5KuDnIEU9d/Z0XxjqJTi12Ci75j5r3PoDFYJBq2ECkD5jHDczgTzfzTtUtRME39
7KDU0QBZrNO95RC/FdrYpTuGNFT6aefG8aUS36GcAJ5ZKwLeOef7wIxITAYmUzFzeWh1rQNaG6TA
IdEL6AEZe36O2qKhFV5wtztoZBXbt6+9PU0NQrpO9bo5rDFhbJF2aYd00/dZ0oK/ENb0HDlCAR3O
52h0Sv+bqcwSQIrdlZFksEFkvZ+l9ZFEc4FGidH1vK6LbBgAB2j6D23daL9U36S5IxEg90wgy48t
Y/ySpW0NrWjrVxPIDyz0Q1xG7fvZOCFpJFYR+BfgNjSEKzRtYp1yWV8sNrv/5WWprRUpi6TPXb7V
IDzfZc3D+f9LEVc4dFPUIblg2ncVryfJO77nBUxrojtLSvdinL73yQebqqmfgEt03ZJwnJ77yw4V
6NN94gayKMB+kIKoKhW23mUJN7/WMcCqztoqbUkG7TxxqnuZTzJKz+KrO3/Y3WXLi8mmfmO6Y+nm
Qqiwhs1skzQbCjPSOqB+aeDjD23eNFE+CCom/WzcFce25s46B2cNEAsxWwIDFqIrgHXCqW7GhMxT
fF/GADJMGE9bgGrQJvJgyGnJf17Xa4REVHTpRwywfeXmxH2Hfdl88SFO/Sdo6IxeJfu28YAYXW9V
K/fvKMrcbXx0bEUErmJYQ2TNpKDVJ1sNl9z3N6wrOF6wT1c6sUzOwOd08RByLgRPqkBliqkitDxf
HTGCzUAzGb34z1U9tTkguP4MmJucpHnQ5wQihcpKd1Fx+PgJ8ocX4KCboW12na0uge1z51tea4Bo
xjIKioW32qRIH3wqWW95vuZG3SGUw7hi0WppudlldqaqVmnZawmRun4vi9KYKjTaeNwvAXTCZt46
4G7lSxVhPT+OehSp6mrxWqiOzwS5y1Gl5Qmg9W36etOkb1B0iX4xLUSAvcBeJPVGaewtWADg+/lZ
/2/Z6Tzn97YP7cZlyA4sotNP3uIC0lx1HvC1n1fSwYdcTFAJ7J7Tk+dodp5cMH0d9XjLNr1BVVc8
apL4BOmzLOQT/z+y0BPnlnwt4+sAAHZSBsQTM2x4awhpVgbjybQhookaWKxXeYl58t/o+3zfOABw
OL16ejHG/tDJFqxyIG83KRYWKXwKZnTjTANZEhNuFe6DO45MKbGnbO5T1o3v8ayKGhySPEGb6Z8G
DQQGy8XunmOzo2qCz4VJM+WsALLhky4OSfPOy0YIJA8hZbx/RHgN85Mxeq3cgEFOnkThG5BVFpK2
SoPpoItQncR4N76uMLwJvINy3wRjtMyGGFkM8SuJ/ZwxKDeSPNtD5XSRCVPcS7D5vwxpAvvC4DTA
9HjsgnP1t9otUa09vO+LnMQ3kBBncc5p8LwjA65yIC3tCjlsl27+1BJHRhtD2irStzFZBHIGjT+o
DW713THOuFwcxCwV0GKAhJes3tnl+3ShR7WEqLrf6qeqU2X1pUbbf2+/1FVHH6nK0ol4nJdfZE5I
0OUoiTRrP8oBvdh4rj4c3bXlD+YrkIH2vO1gKjtvSgE1ciT3hbXD097f0vRMmO0iEGDb0lmDf6Tl
2odT13SuCGlWY8hktqH6ceJjftB1RqgmRyBTst36vfq8ENcafY+cgMRnQpyFrL7BOl/QfMwcKRTL
hHbqV7FIN215Z/OHnUaurJk1Mn+tmTwmA1KTnD6c2aLMxxaQmwaK/gV2iljO0IrwsS2IIxFG93U+
5NYpNaXfTnr+EceTPNw+tfedDrAY8E3P6JteAw5YLiuv0hR3SamsEY8mGss/mrewp9qsgbt3YMAz
Ja4YBK3keKM9I0btL6LF8WBJZdr01X8xpejOlDiQTkyB/KRNrgWd3jVrIXXhzcm7rEG10Sn31RWL
rxKp09xG5sYeS7NvPpQHV7bJOzcSgor73ZfkoKH8bchWCgtOsvYp5l/qJvnKaGZ6b3JemDyBfw4h
6KMpc3wpdAigtTCYbZ7ybE/rXZhk5uJao/EoN+7JMYMCW+HSyTyVvoHTdxva6L6d/3oQ81kd+sAE
IUUKy/wRl6hR7C0BBDPYP6K6BA3xwJbv+TMCQnE8zU8oHJR7/wn8Rtikvb57bsH0tTjvYDSsyTpQ
SnFlgAJHauED8a7KHrwgnTEAhN9aCo+a2mvk6sllTlG538DUdYrJeTuNQsDpFOe8Gs0hal8Mp8mc
YHgDhf0kqAUZIPk9cfjpbjivETzXZTpuWzZt1C3AN+BcK+sKWRhwwiBX7NgaxEAYktmdz0rxodNQ
/6J5uuYn1j0qWg0KOGCS1jQoobK8f2RY4zxf1ziwBAvssV6TkMedCf5OcjIXyx0SXh1IbtQNMdoY
o2geoVbT8Z0YJX4uowFTkDi2lqey3D3c5BppLiMJ4xMGd5sfP2pQYGGo6Bpl/nxJfthc7TQx5/3u
piUzpwwnUxLcEZubmZczltCYG7347hx7aWrd7u+VkByM+Oli44bLUOMMvCJhuXqtbmdxFmNcEvsZ
Q1GJXca+XPsLvE0FJ3trSg9KbChfZa9SVzgGWjyBaw+a6Ie4dt5kutJOs3pL2ajG7kt4PfZNUjE1
TcOrW+WN0qBijbJa8JgaqetQ5IWFVRSA2zcB85ceuE4C9cVDXt7u2AwLhJJBq57+TDiHs/Day5kn
TtfNq8Uetutl/jXQ0YkWHk9SfjlVdaW5mjvv3+xvzY31IWawoMn1lWkoQZMdsPHdCWZhBFGhF4AB
kJ2lQxFs+b+f1HiZdvRjjXkkxDTYdZDSMVCDLgpAYuloWuhr1UwHI91JVibIZqsVE/suYdl6DCGO
afACXX3lngLWfeJSp26WX92cELRLOWxogPI85WOKdFKW+a1hc3tRHeFSZWIu56aWGaTrBHqlSSNM
OQAjIR7ds+ehklrfk2Xnb+lFIRN5Oidjg3xSYUw+AkCg9r4ZnxQ3/jFAM/7nO1NblLClqZIHp5Si
/hVmPZZZy/70y3uPBaeE8yJOUkiKPxoJPrSluC7BxsCyJ4mo5u0JJ5QaoSa9z/ly2gfGCAFyQ0w7
tbJMc9rBwi9ql5PJCAeloWDqp2QEt88l5w6cYxnIzQ2hrAQB72tonbneTDC2C02AIb4YHKDQ8sfB
EfY1l94PPVBd89LHfSRcV9zw6otgYsEQxyQ1ClCHx7ykHcf5gIxY0Yv78CJi82sQ0ZFnctHYbld/
7dpEG1ROBif4yjab6xM57g0sDdbkN7xeelamqmZYi83IdDkle+WV891gPKYlLeLEhjj8OCWtG/ZY
TqWNHa8S0ac9E1HkxtTx0wUVqJRCDZwtC0Ulcjb6z7/z1ajz+BwYbT/yPCDEMoAw/P6mOu0tJFXx
yG0cA4lE3lcjevocIvESaTD4Qx+Qz6JVCiHxEgCshStHl8VIIftBXd5l70ZDZnBltRu7K/yAwOVc
jIOlFlPEWOZLd1FP/7EXrHQ20fskLYmDUI9QzovGvTVKWgGDGI8IbyeMZjommGSLfy5w7rPECmas
DPhuYBq3nXIPcnFvQrB1q3i5+4v7j/QvRmWThT0kZmOilw7akveYobDQy8whoTfVwGlstuG5gnUs
dKsV+Zr0fJbcTUqv2LOtAhJ8HP2on0R8/8UQsPlveLINgJkydM1g4sklEnh+MyZ3JFT+YrwItvqy
VhYe1a9CW1NeuF49xnEEeeRTa9y/Xr080yynbaEsMUcZ2/2wwGNScrNN2OYPL3NjXrU8x2hKyokK
6cZbAlRZqslzCg5wRxa815ZkI3u5LC3ZCEATANnmTx1H4rPmdOm5Hw6/hZ7qasK8NaWfm81qsr09
HfMbRePsTORfNQ3eeAhRRTPVUcDt/F66UJxbfZbRj6ilOVR6RUctscMJM/rJosEAoTJjnRN0oaJC
4lZPb69KWwFhqcTCEjUqcmu6ZU+SLIpKv1WmVcwDn8RhRaBX7oa2LVWfnBdmCQgX1zLaHFWghbLr
wd9cyotsdgQP7nO1rx1qGKg1bKZR5oCsVVyF6gLj7R9zvdbAox29sLFP0s5+PzkJqDzoIyxlB5rE
ananfWgE7GgOFs8RkcMpPC8BTfc8OnU+wP9V3CQxoPyt4Q2th4PuPN+BZk7W9ywtQwesdhvbzZXY
vDF6UeXtIduTRAGkcJqsiIpHg1dDq7zzEMWntWez/P2NkSu/8bqmtvIH3xUIukdTf7ZBZk2COSYY
WxcPYu22JIVEoej8p6+lhtQFXr241bYjNMCb1SZmJKMF931reMKAxhIWEsnxREoGJoioDVVd9+f3
NuUsIYPTm7aVLDt1Aua5/cFzpA6V3cPs9Z7SiL+lQiQ+vfd+Qsfzgtu027elbA9Lwpu0rfn1pOM6
rsySyeHG9mlz27LksuQ2ocyb7Fy4qT4GHXKir7nmgMAp6yc7qwHPhm+NOYg9Fl2jtD4n1s/69WQX
oLDMpCk/+CY2QdAipojOTPaNoDklQKWGSGkyIZ5sbwb79ZS/qou00vbdZ+uYdR6+DUhMj8tJtqO3
zw3hCMo5PaRiH22RoXA5HTq6W90IXFKBkKobER7kUq42rrfI+uFqq5BG65TL/j1fhQarxorUhCmc
oCfTGs9yWNbaM68gbpNJ5INPCGr+ON+CE9Rn+68uoVQgFnlXmRyX5sp4MPNqa+qsn4O4syD5Z+KG
5uDfpYc60f23Bktg/Th3r96FXX8Gl34ok71vxcHmOlUGkToDwpBuw+xPePpkFUVpH40WWx0SvmU4
9JEBgBLEUDuUi6zf7ELhREvntP3CKmEXnOT1WQGkQz4XsVcPN7pqkoodUT+aQlob1Wy4ZvF/TpYH
zWb6RYmzEbq3hWpWiH9IAHMSoHlEU/7m6nE7kkWbfhksHpMxkVTvpnwq8DSmLQSWHJ6dKcCBDxOI
5k375qPEcXbHC1okhUsT0/h8daIqp8xvt1tAOQuW8uf6xFFn815AhV7J2Q6v7jCmgref8bZ049kU
kGjj+ky9h+rOodpkwfzio0NP6Uu7E0Who4+M7Q21HXBQTQm9gFZIZnaRU1/k6BLkoY4a4QdFu1jP
a8j3BqbRpcrPHbzlMDbMgMXWQW9CRjE+vULDe5AgVYBfvEPhZmgpimywvA66EPcEY4G0r1JxGAzy
MGqtKQm0fA+GLBKYuN3ruuDYWsCpgMVO38Fl5ZtPAlaHHjWjOA2Te/NSHGIuWjkq8NNTfMZrxg2C
gOPhcKsfnSQhh3zFIFbZmr7nZ2sy25CpP+gJNTTaylJ4ZnsL8A7fRsKu/qbQF3KTSDa8kByTo1OW
huxa0bcPEJZAY9Iw14QhFUXU48EtYYIO6DfP33mgf3XtB/iA4FW58mDuZeHrnq550IzqNQsUIf1n
XNx6bhPJOJyFrVflcGqda/yZ6Cc8RjNeUQXIx3Jc/OSmDCJDdrb9JxDeOLA0CkFthkE4tgKy2MPs
hkvgbNLrBhmXoMm6RdnhvVBqdYgjsxHAtjh4+c90PHXFgiRfxvW7jd38f6s1sM/AKi186Zr2GO9B
djcoZTLNZlqhNiqYnvEJjpZFl476+FdrsmbBS4U/qsGPx0cmX9JD7qenVMF4hx3UfixRp2XCQRoz
RpLRFl6ch2JVYl1i28r+3v/b6tc5RCvu+0nlhoBrjTahPIbe04jMQYstAqv4383O/FAtZAGuCfTH
DZhggg7EGfxQ6tT4b3IjKGMa2mMODfxvREJISJlYoxpykeqdsbG63hVpnZhE2f0nDoa5ECPHJJ4q
t0KraZBBpBURA6HyO4wKynHWPwbUwlftpAE/eTT00B6C2R8kU90ok9I2DfydAcFUhUIA95D0oLNT
Dd5svLBy0xe8DLOmxdnNiXFXq6XZ7+aMZY9JSWQ3DCwdPM36yFs71ZhniTu/yA5IU+qEZwQNfOpx
cUB/LOlH6dtMW4xZt0rH/8vvA0U82ATH/6pyiF1pfBQtaIeKERlEqdKVFcJurLV9rEeZXCY9VHF5
gkpDlsMq+5Zbo9AARa2foFpPoUMiQ6PTB1W5PITEsl2lmjVA8UIb4YUG2rSlIDkThqQl3CKRbsaG
PDx3fGX9X5WBqV0m//Eg8QsxALq1J4T0CY7AYTH5p4kOLWlddTGhzvKN0lOY/bSGIOGcL0SkRcgu
XiCqtNXTRLS/Uj8BYfUkUifFCBOdeP0w6PtvYQVGARS8tFdXndd0AhbUBL+sbd5Uk4q6LUW2/j1a
GtlTawVhRAWYZUra3I3bDwoLOQYNvmO5THlnJxGBTRaEgf4m5297yN8kZFxFAxUI2jZzbXvEUre/
3brO5ggxdzBREiI8Dh0k27Obk+vdabPYUTpu9Y5vcdHSq2DdNLLzKNdzUkUSY0ZLHW/tAJySRS7b
CiCyURf38uR+FepMzD1InqUOtYjho3hAqLX+hup5MAXyA7+9t5Lc3uu9PtVjHM4af7JCHDPBFNuG
5mUgZISNNnCiNNCieCiF2eY88r8e6Pb7fzepx8ZG3GqG67Axor7GXUPXfWNje3Kmchg1Ja3ncJu3
7EtPNfkARBU2fRTNNJho80zhbu7RcKSZTQv0wrN0HOhlWn56Uv3FQcSsNFp6zR0DaFUBoR+EbtAF
26PXrL1TtdQNF7btz+2FznAz1LUlZCNkh35sSeR9yP7sWh2hcgXkZiaG9490e4MCDJMMK7y9CaCa
aenya8cfxQlADld07ymKpwVcQZ35g8fKJwavrOicAA/gqwwpXJr5jlpsR0LvZFIKWP/2jyesCtd0
5NWu+l51Xj49f4ZJHtFO2ZdlL65MRTpZz5ShZh0kdQ/TPPO0NCufaoMHbN3sJlEB1mcozFlCK0S5
Wmfk+EJFuICy2Wq5xiHiDnH/CJ718ssNCIiWdzxwBHpyT4LsvEQABp4pvZMKF8bbecSmo2YwdYjt
KRqA/YLO3hprHkVD1FnCuz/ZDU0ABlePv9CFa+daxtLUlK+3TFp1kNuZaNVq5OTR8Nu3nWqoCs+J
p2kZ8jJ48fIbJdn+TnrvaIQ+T9Tl6oCCjvrttTXCwffClIfXR829BLBZ0EjfaUmH9p+ijcuVQ77p
RJjncaiYKDZReiHClpt0k5SuYMFparrDACQbaWIeyAtzTA9jXfJ4Gidlj3aUFDJZgXLcgciKqCaT
tdXgKzdlo/+FLq0lYgPgrKWKP2aeAf4af8YxYEAB+TshkJHCM7/3n/NBusWfsVsoyApxDCvXYmRM
Zwm+S9eePG9K3qvCZjQ1lrnPLZ9oLaF6KsJUdIhgYsiKpI6odDXnhsi59Kg14EWK0XVvSGAUSe3y
seXA77OjQ/uFAR3xLzQJPwxyDHHmcBd88mJIDjYrhW6gnJiBFTf2l0zg4wRNBpHcY16e7as3JBjr
b98PEUZLuZtFpzZmmtvfernHMrTwTj7Shfa9DYYhbpaDnu4xY5gwIO1qFkuTqbVmuXSDKfLb/fh3
EVfr77vuhwRhWCMvn+3gBmE9NVacL6DY4YKH+feVMsTBROaC1OaK31BJ32D0ELcBE2Qov1RAr3kp
qEgNOHSaORFc4x1rueM/8NNh6QraFB2Q5qPcDKd+g/uig4zoXIdrH94h1QuTlwS+7LmT/cfqTMtl
O4EVi62ImjWU2Z9TqLoBNDj2jAOr6YiXK5c/I7QLa4tVf+KlHYQgOhDUfV0IqMPWPDumiAyeTzYe
P+xFzxDJPuUBu+SaG6wrwC0OvUog7G0L5mGkitAZgPPcczOfSK1Ec9eaENt8VnZHMmt2goSn79Io
PWcoNagCu0zs+tQqmpf0IwMMJCCHQV4jiNMrmoEdoAl5fqpos7hK7VlYkjk3YysWfjk+YaEm2j25
bekROdzmiMfT2hkxDJZOE4QvndKt8o+07fCbXX3+3q5iJXkgop6YuQblnxzZpNh2+7ZHy4WzaBw/
EGuSL4pVt/Ht8Ppo/7MTHb2FfxloU+FcWwMLDWGp3VIC6God0Oat7NPMz3PLKPX2DFbi4Vp0sOLo
Y6CkYZ4nsWR5w6poIbfmeo/n0ZYlRMz2ddZKRmeTzyMe7tua+zfIVNhw7X5EyFDL7IFrmEuxCApi
kgneDUa8giwcjJjk4eJtu9bCuVJ7nPwIoXXKzOzZY6rgWqyUXPvyFxFQfCnmvIq1VNK+X/EzJlAM
YzNKx0aXY6QYIcpPAt3IIpiPaXM1t/1ekzjtYpxeL2aYCBgAeDTthNYa0e4U1nVaC0mEyiB/4OZB
Hrc/QWgyBgz4ZjvF+Xif9e6BfSSyf+ssQsw2PrYZUOcC7gqHDHqCjbtRYvwH3nSCthlv0pXNFQCL
qUYXvTJqx8ydGrN9oojpEoEXPIowcrd7qE3ra4Tio84fj0IAA/uz8UTqnT8EuQjVRco5YDbz01Ny
xxDyW1ZxttXzy3g9X1RGWFnAZ6P79DtV/jGThI+l76vw0d0YS0u+TFd0n56ttA73fjuV2mFflkY9
MtdxKWB8I6q5cFbgtk26em/2mHvE27ttEr9YUJGDeJgw1e2vqu6ht/5j+WcT3JvItH83lzWWRc3G
U+tJtnO3rqAJM0M6mv5BL/O9kVuJk9WoGYnVXO5kbVnvnQKIZ/nUtYEM+knHhDmAMqQGcDhVtEQ4
GuJeKwt60vL2yzVnR1mKU5E86udM1F23OhpiSNadJT5QNWZXdXcsw8cuKH/+0GlkXaNsoD++AcF+
LbQLdZZD2Y2mBjekrFJ2zuWL6e9afp3MuFkVzKopoAeBWVrEKiQk8ltRcTB2yrZ7JD+OJN9iMPCi
Fe/sv8jcTPGzVYqxJnQXiR6zo5nD+CTXT5In5fTEvxN8swdzPoxiEXCWegFQ8GXpRv7ll3260Zch
7ppJIiq/5exyBYGQFwg99o9bAVe4F/5hYfasNT+5yUTDhivzAbeZg9c3vdDQUQW+zREoxx7mCF4S
SL7pWG7nKHChJHUG3b+JL+LCLcDvUg2y8NoE5PHpVZsOK5cNza8q0hRe4WqWM0HOR+XhmHrlRpqd
66wi+nmPeLdS/MmTQENTE5ic24vOK1tC+730AGEZq25LLOj5M8+abDT1KKDn5wr56r4275VkFV8k
Tw6hyuhCQ7ScMkK9RPUwcZUePxTiOKyudyeLbtIaXn83yYOFwnpYIs9e5MQrjzarYvqpV3ge9v4R
hv1hhJroW1QODlEPddoPn1Uk+q1DlVBkv8f4+wEAH0rycrnsYlqGdNsFnNYcFY4TBDEMpW8jjFSV
mKLlKMnFNAJ/l3wpXKjVh1GGA4gqjMqYMpDsHEqZjihej6NZGQDHhP9NN0SlQvQVZoSQ1hhseOed
qKbrYD4FQOrxFaKkpI/3CGpzBKdjpodXetkJgl6TSZfnPA64bCzgrdhb66tcU0Ksegk1c9ZYu/0d
spxfsIFQGV0rRuneoVQZjr2xK2nouW/7xfXbe5jelvHt48exqQ3dZCYyPIlloKqwSspfmi5AZVjK
3AYbAe0i+F8byf6jeasspNvVZQmhaCRjkQx+sskL6fsZHqzs8TRFJKZ/tVaGpSqDfoLFRQ9BoSc5
MdwohxYVoJOSxtRf4Yb6ZFMO+wvwX+fJ8PzoatR1R5wNJr2BqxZQGTr04cBwLMvMbGQ9iQxanGCn
4GdcIUYZ21Oie99e75KVHVcc6f6aggN9WNa1DhskfIvhpYoApGZuxqTIJL05kksshTcuGHs7WHnD
NAPnMyw+xYPdNdfSfzt13oPgi2glO+wP98pU4jBUhHPLE5g5OYL3g5ouZVnOgTLKZKaUgswewgtB
q+UIzpIpUyVSdGLTi3yisk7VpmDB2YH+Z0+zArndMzFcnkKPme8hn2yh0O3mz8RAPHjlRD9npwin
0VIWtTAQ7KQjJgmE8ciyIGroJHr73kXASooVUZEANvRVg3md7Xlk2Aqf2cFuAcakERnpz5lKFbxJ
Eq9rBqYge6Ahc9orur0JqHBXXw4pcZaY5JXgCAuqxb8AkWID52j5qFIXaI+fAZrOhJ84BqDnY6vU
IqqJyXF+dtCQg+qbS9/ED7oTNGQYHFQHUKR/4uDADNl8SEWoS0sO+m7DLHkIgibbUazuwSl8gwHy
VcTjMkuiqiPs442s1HXkBEJre1MQ4QqIs5TjWl5qjDU2K+yJFOITKD00iiG0qg24oB8kbr+hgqL+
1wgpg6LMzhF2BZOU7vb7X/FhKajOeeGSfV6+ShW3ULi3lyS9+VCT9rUz/HRlvH260+CemzNVNfgm
V9vr87rZRR4LtRXtuMCuvn02MCL9ECNqh9/faKd77avbrDB4fNne6TtnSq/E93CveBmxe6jAOiy2
ZIDbtuN6wbjAlVam0JfQhuqy2WsswWopjgcxlRw6XkXiyb6w7Al6WDwxt1posEKsqsjtDy7Lc5FX
bOVVzjiXJsINX8piZaj2hWufXGteU1bxjkmaa6nGazns/MIS+oTaUFlZB7RlJR1Qsm/n6br5yzxC
62LJ37wVIzAJxyhZACQ0F4MOhdAGqAoLAv9Zz04c3cxTpEjCiy3+k3zhBTeRqSA4CE5QmFpJ7+8o
aM3ntdGn2VNKo5/TKwB8R5Ua0LSK+KGP+Bpz0TLFuW0BKMuftkzFJB/K4q2NibNR5PYDwqAKFuji
mvqKYmwfYuCAPnQtopqM6orDtqZGEZREMMOKzZj/855ye94z0WkcxAIGrA1VqVnTtEhVQLB5L4Za
RkaaygaUgfI9kbR2tAzQePFe/BYZxnQtGuKk6thruLKpVFK2P+ljNzr1f0QGVvrcv/mSmAjg9qkd
FwFDFAhB/xmVXrehP0alEHJHm23of1QFv3+UEkDBI/L0TU4UZ7oGHZYsL3zTnSuq08m00IlXutri
QFfYve+SEI9sP/8iXoo3V3JrZzKzWcElRvUQyN/g0pZneO06pkPlqKxvGvPoz/cbjlbOgvYEk88x
1UkYhyIeATaPrLt8KaszjVbeQZ2Whh7bCkxxdLB9WG6EM/Mz4yJh87MHG9JU5aVXetLB2q1WOWjC
FUUWsD+UZa1PFHsBCxis4Y1t3q1z7msoTYp/BnHXFGmT4t0w1wkX8wPd2rodh1Rs8LUsw4CyKcn0
x+UeN5HveXVxRTJxfQO7eFcoRlAFNzDfDKR8+KghdxRKRJQWNRhCzx8uA/VW1jb6IZXMsHA+BbeE
EzGkohf4z7rUZfJmOatSL9Jh+YhyASATOcPcoulKI4i2jgMtMGd7HQm4eLXUjTtIVIGcvqDld6Nx
9eJ5cXoSdhpZ0/XU8b/dQh1CbS+Y8d4CFcJPRElsgHLAJAdazXBVjqYxEO+c1Vcs+R3mlmVnYHMY
yBTNIwOxGgdBRU9E11DDWX9hTLlxBw06Gfs0D+UaBLSENn/4/6hEEErgp+qgDOzOgsfKHLb0yzqR
qNPhGH9kOj9vXsMZOPrfVqfBjM4aiI2kxEE4JrzZDYCR8zDSbs0PwSmLIDnr2959BbNsqc5VIOY8
gb0v2YbzX253g8SIvyRszfbzaU7G9wBymjYDSi4DYowiLBjAWWSkAEK98gqcFeVranDR5/OxOCzj
uPDSjCrNRLtlOrcn4jDhI751dycN680CODU7eUqzD+zY/ji3BBDNKy3uO+wJDyROhQ296gfQlcP3
DzZOWrAuCcF5CTJJscPmpZI6LC9TFv37DkLV0pAEM5FgnBqhsCVJlutz+DXhzLIDPrjSdjozi47e
qwwAEYpVbn8m/fcIegdSpDmkcHwzs/KzaVzRU44X5D5X5nTZwbu/fRq/H7+y1WISIxwKFJhPQbFG
mRRy9wwljkqC9+3rgQEvKPtE97m1Kl/UoSF6KiWHkSb4FIxiogpv1EoVb3+qn2iECSs37kVix/2m
0BsQYZmiM8BOO2cfRJHAenF28vfnhsi//JzkKAzTN9Vh4gWTzouISFeLF9MlSSBdtk8HuLxWX8T6
IxYjikX1EGxFgvKxOmQmmd1s64zR+zELqyf7t94z/9jvpQgGKJ6K6D/DkSgYgVO4PrZCg/c73n4+
mU/VfV8KeSTXBjIRjrY/nrsrqpE2bZG/wz0o9afVNOgk7ksub8EwJIwUwULVaIxQQOP8yln7/WuR
D/levmv/i8rV7xfsESmFiyrxAADmF40FohatRDTj4aoVo1qPHrrYoHYYV4Qi/Lk7ra/q+OIWqNcx
h85Esp4fNp7VrAckcKkLbgvp2QgYw/TqlislwsHAoCpfIK++57qQN8Iabcr+mwrvyB/xJfiKNnqI
FOFrrRx4ZJptzZtU+1uLrTs8Qw6gbg5f6icDvMSjHj0q+8JH8pEM7nu967Y87xVIZC6w4zYZxEbK
TB9ncm9g7aQFjaUM20rsDz79yRpAnpvNmJ3JqcfiwawcFvoKjGqAvHuO4uaVO2i7h54mADPFpe0K
3LwenMlNoDVhRK45779SxE6M7iQlem7/cZ6l/YAizz2uo0CnDahZkOqwtsrII5x5hYFZcckQ1+BN
w11Dp9RXV3Zva+d9SvLbnYFin/RSuve0ix69W2alMvCioRrkPKNtsyakLsn3IrE4FmrHXZCwtsUS
HIgj9ungHI0FHBcLeGdJ0AvPaetSbJ8pKLwkcQDsx/6x5dLFNz9tDMwWd2ee+ZNXsAreGipi6ZyH
pSfNUXqAXGnZXQxorrLS//Hn++TZnNDwQNbIjdxxOUMpR+W73Z2hLWikdTaukjRwwdk4lx5BGAR9
riafs/3x9z77eaR4Mo8u2D/yvMO83Nv6qJeJ7Heg3VTEl9Kmp4qMREeZUrxbn3qc5dKk7xbi+rGo
DqTrnriuhdu1Zcxgi45NXSO3vDRmHgERmbFir1sK+nKhXHfy3/e1dQUuU8aWjHZatQl3QErWYl/V
93SJemGJB2cYCLN4NJTT12fodykjfHN1z0vsVlQ6FS6n5N+wcKl/LMG/TGXutzuyZc2GrSkC+kwC
23Lp/0Bk0x9W8MW/emCfbE2wfDj/a/fk7bEc/CAe9SXnvT9VPmcx3Y5x8LD2fT/5G4+p7IKUACDz
DBzVvrerZpZLRarbsd+t7f6sZNCxcpfanEWii63C3+IyO6TykbjXPqU6vVmHhHHhRKl7H4Ei/qg7
7ay/WN3zUnUYm4k6e1MiiXBQ+uTvogL1yZRra4KSU81zz5Jy7tRvm8Rit+RcxX4ElAsmMQ+eCiH8
b4Qj8rIvp2Hy1bz7FC5essIS3hVAaU6GvbFJ0sa7RnDYnDHzUeajRC5P72YieKkMY2Hr/lwn64M7
d2Xngt982GgLUwwiz2pUwzRf9MSUIBrnV037GOg2Hev6chvi7nSVeae5PwOBIS6B3wCJrEO9Pl4v
84W4WJ25QlVFPkAxwsBqnahBLd07nVwGPJd4BaTdh0FPl13ddpZnPN7glsKf3BzfwRMK2nI3C9FB
Rcbf7VI/7MpD6jA/7gi43zJMyi7e6vvWH15MAhmZ8KyYN4QhsFab/43PzqSk/9li8MnGoAFmrZgf
07xE4dfkMAZS1Eo/3lbaIxnH78Vt7aWMbKCittuqNmYzZYqA9DWxzlfjadLXlfPmMoNkoWzwrkXn
zpOfhDF2y4lLCw0ZHO37lsXMO8HLrS1+csvD+5YaqukTMqph6Ryt31pAbPLxa2qSA9ZOzaFzrTxo
JuzM6WK7vvWmnKrsWjsDRXJ5YKF6IYwUQvbTQEdXYbzJbt/SqDZwEVw7W1yqlnCqd/0kStSeZkLF
LKqiT4JO3/R7NCTu9ft/sVzzB8ITrj8MNvuk06cds4Zu4QprrXfA9EYcoVLha2btRirJKkkxsqHk
t3M/X9CAneu+ZnbbfzJtam7HMQP482KvPqbXAmdHo6hsUcIZC70MEMxDcH/tQNwc31q9hA1orqtC
GtdFpLspSWEb+HdfWkdqJMmwUeEZtN47Hwl0POtAWRON676aDsQdqbQ5aMYYi1E/QZIN648EcW6n
wqCmh+RUe0a7jt+9Aze8FB6V5BUwdav4MQIKrZGfDHFpwadGj4hr8xM24ZwgczvEtS+mSD8O0qNR
ziFsaB9K2Db5/q/P17Wwf0FrTbcxcN7aenJwQ2Ao3CB3wpi5Fd2qyh6kDlkF7ehrAM1i08K/6eXW
WqVlBp2D6XhmGQ0Se522+tWZSKXE5AZn+qmyCcH+FbRPF3Q0ylkmSpYSLZQQ0dWpYEy6asAtw0lT
vdpwScOblPi3gVDW+lfVJXZ47yQ3/U2D9wj1wbIC6bWBOkIpH+j/M862M3zQ7gjxNdevitt0CP2h
AYBTPa+3GfH857srIbKxpVoYuVVziYDxiHvBpYzIrtRIGIf1rcKQrhO+HILC+V+uEEiKFjuReCFc
T1DlmUn0LSiZYgYYr6Vb00KWzdwfyvTDtn6cqJWUBJtyPbQYrCOeY72/HnB2e4qLLrizwRnB7qJO
l+rRA6d79w8RxjO41T0YSnVqBdVOA9XKzgyD48/vKPI4mUmIc6U2jh/4B1p4zkJHc8/jpweLEHrG
zWfLpz/fnrAD+Y2dBz1facNdMJ30fWrot1zo42XFBcr+DENYJuyLMZpuSeHywlgeQMVlHrcAasHC
fZU2fn9VxwJX6K8Zu4n22yReVLI09W1KrzPl2B5vHTyAconaTfPgRC7vn4kLX4yXcFyGZF268lup
g/hkf+haBJYkOYypxWXoqxVFiqzt+IVRo2rJWKC+lu8uBGi3nRAErLGH8GQ9Y3hQZyQ6OixepccN
CkSo7jnYTBrOWqjUQkFFiTuntAOLFTeU0zvlMvq2Rz0SIwg2a7Ym0kx3T6eEOz3e3Uju3lcfoI4Z
Z3ri76AhKGA/bPBxnBqguLbfyHtv3fYiKcwYfrNzxMiu4fRg8i81RkXxtkNWkCAnC+LpgFnSeTxq
grdRgiy4PzjP2ocnrzGV3QXiVuNiyKMUJ75eyd++fe5cFZLnttd9X0E7Ub3ARtJLIZYSvYeCChJo
RMYXX8vPTmeXyGjyl3L+UkCDVgvkHZLLY65fLeEYW/NV3A10wlZaY5Bi4g4s5zwyV0JhtV/0vPQY
eK7OCILkSHmTY/mqDKIpLSfSNkUbidbbOU2YiY4ZeIPYymdcjxlb5x/BgX4P/g/Ku7MGhmsxioCr
aqDI1bkCB/6JDHq6qVz4PTgDLkX1ZgYf1OmqtkDkOYp0sORAlQD4ZCVOFyxrybs+b02QISXBw+QP
0Ugqj2b31zVOuHySlWA2o+0tAOEtVAPKPeucXcugmW/XxST08MHu7R+wEUhpoNOzsPJxYX27cdeC
TnV4jWFyY66s5ZPjB8uWW+MMSwCWeU8WC6pG3SBS/vjNiJbuOb/BhOpxqGYAd/blVXJP/50I9C/b
fS/cJZ418++AJ21fuezp4neZEMHg4GPfG165kfJF7qmqDqpaCXsZwSuQ8be+py1ioaVVjw2OKnIY
KDJ8t/GDS39tduk3HDL547jcJx7X2brTDvcusT59xgZiteka9LTqP/tqmbSLE+XCYRtZ0+dD90ie
TDV0P07n7wE/3KjQGNep4G7uCMBLTHKVw+Tn6Qv7VQGuNOxIvZq+gRGlG8BPIrWmPmWbBu2/NPxM
spYpeCie4RJE2sA7D1RCfQl6OfrllDEG8b+Z3qAzBLXC57CA0chHB+bjggg/ZEGDB/ieoVKCyPDr
A5XF9lUekA798IR+I3yQf4tI9uMSh2DN8SOmC9vpwxQaqpnPZd4CajVb58Ce3NUqHXHV8/Xo0OOj
D3EHpOZd4Jn5zDUXYT1AL6/yuH7K5ooqCDPYFEbmEjoT0dOFQ7oDsh2rDamiquwgXoxZjPesEUqv
ZC2R4VrSD2m1ocBP+Y5XOjxHt006lg2uJe7gFYZDnBuqDExwzCPhz5XkKICNUMJdvmGr/Wdum1HB
0e9zgIcwl15Ot36+/+bv88zNgMSvN4wi7nTbnnl1ojkK+j8OCv3xAmxQKO9bJlOTtd5hwtzm8pJI
2nq9Lk0xDNAJ2lnPwzfjhkhkGDAB6RNodVBloU9Z9x/TNrsmQh7FzwzQmQQKwCs6ywgtTKLynt3h
19QciGcYehyROlv/1wRPnYa487oWF32rBvrJOFmivQzsvjDxcDjg41iLjgD68p9I5GuwDc4h1GS4
8NlC8+sCm1vGZQtG5YopaiDG7FrFrlvyW16Gliz0olNBs6aW4y0ziTJ4XtbczDbveOSHwkUoTdJc
du9GN9gMWkd0+oml5z0cSrA/0jmDHxKtc1GSWLLDxsgdwbohXnaSVX79FMI8AbnyKMUuYD+Trc4g
MMZhwbnWbzbtyoejCibvw0HwLuNtoXCcHXsfyXkbObtLRSl5sGjiCLZX4JpRbTIC6nyipQq1jHWu
rZLt3nHBYcUf1EnHqKZmQlpq2p+SWWOfBhpRZvJ0JNY7PiQsfYVzFHJZjVHqQB96yMKa+C0vXYxs
AQ//schpQPEJWogn5evd/0vBPqLEywEu9rC3x8OtgfhHnTAPY5znfOK45s2cm4qnfIr+KIGmY1Ao
fDv6r4tBQE/eJs69LkTVkNb5MySoY7q6Cr2ZrewLze9NS5LbUFnGSkTo3ci7+bmnbWJL4CtIByEa
pVo0MvR5xsXrDtSnW71vjm4ZmlmZwGvw7WQ5mlbl7Yw3gaOSNJJ1toEK2BLEI5pUBLG9JcYH8k+H
u9IGoOTglR/RbwpP2kaJgLkqHpE9/6f/ymW+gYIzglO8b+cCtgmj8gKa7Siyt/T3T1mBn9h/m4lU
39cT+Lt3ZMZfLnSPyfUITah2xnLAEOdC8EuTEr2xM+/r3uspwUaiN71F9VcP7Hm14jHMkQkXVquU
3yr7OQWZCsFj0DaPmK3huj6vX8vnJKuQuQgMLdg+zuB6C76ixJEtl2IgHe/mUdXLB13kShwBtOqT
DvnoeveQZ5fcu1q4adYTWm87m0Xd69aUs9xd/Pxs68EtdQcHbNvP7FIU2DJKT3GZJM1GxMu+BvKI
dICgmU52P+w7+Oi6bdIgI8szYTmTsm5r0a21Roz+XHa50M4gJcn2S0cVcPOBBkd0faL8nsXlxu+h
aFEEXzqxVcHUBCGxrsmVwN59jdGZkcLWZq2PD7as78J3HegTtYPLoAUixegFeC9nerQiPBfM6m4i
wmMwE8ZXcbYJbI7rBk+EIxkiMkDqRfIiPvJK/HXh8rysy/ElkGMcRjDA1ScXR+V6mokl+eRHxTRT
Q3Aa8+XkD+1faPZfhrGgbvbhnA1icibJgDGbwYjGQSJdf1hDgqWtaMOO5zEeuF2AvfyntjaHkiFs
3jqhHHaGB+E7aJ02t6Sn1bsRB93iU+S3dOY4ctlhOlnF19oLHDZbd2bqqthZkhNSaykdb5vyso6Q
Q0FDsatOasJsKQHGObwueOyrouTVreej51UzJ5cqnRaWV6xIItUiu1oR0p0Vt0bYk0K6n5PEN3jQ
qOeiwKdg6Btmez4A36aUS9hwEG6MA41V/FhW5egDhuw1KJ81y19JXzj2ioVorKhkQ7Zfvdvlg+Ki
k+TqigL2hLwoeHcVTXf0IkLh9doBmN8D3+MzlzkWv1LCbKHD9BOHq5aXQkI9TTv+MOx1GeATF97F
v27C9C7nDPII67Dmgfbosb5XUBXi+pZ9PpbertX/RfLXvR32U73wH696VuhW44UIdRw1ajYHPsnT
dXvjSGOIWoJlXRU3t7vveWl3Vc5kDc3xCmgbPd8QQaxDQje0+EgF8t9QoK+Q6OCYnqHU8c8D1kJ9
ZiW07QyAVxqLpwnAFBE9ATVKs6wrzZOO1Q2RqvJQVIguVkos4mjMu6jPuDXxIUSSx855hWBHJ9tE
O1gCVBUTmXnuKXw9GoHV5TZ2SVd3eyqjOtdEhU96XvXtNc6P8vX3VaKPpbZfrBSK93HfRV7zRDCM
xCc6QvVJ+R8f5VDvxZ/mMb9/TT7XETu5kBoWBIUuez+ZMbhHP+ELyzPhBe23DxelzIzUE/U6p5+k
Ao5imCu6WUqCfpRQ/5lrjQrY3iZtfKz2D9HliZ4cIZVV7zrRvil+80d2bvfq994WL3jBkHLxr+G1
Couw+z/kL9Zp53bAJWDnOFQJA0LbiHMUtoRc026VOpKbM6CQS3wfAQJu1lK5pJHybSgChURzNpqc
2eXgkZdRo+lWfOLYi7Fg9vENLtEYO7EEsHWA5dRRSxlDsRwOGARHR5smjytQbarglG4+fVqDDOaF
89HTFkOtamDbWo9v9QUTh+EgmHB8StqFXAaoHBz9scD4rpZZ9mH8fmQHRpYMdeh3eIslNyDqeBTd
r5Q8/INgp4q+wUVnYAicnIVc6+hmKCYKHQ3+3++nOhkWKtuUOmOFzuKJU3tUOIiVmppoTdvtvzLS
U4oHEhSj4d0+cdvHiCeM+53v4r9jMvaJz+Ez8ndkCJG/zeAYXtSLs6LlqQ5Wtk6UBSD8lVIiyzqZ
eRh8n0ZcQJaQlOp6lxvyrnIqb1cLfToc616o3YYnT+zRQi923zWWcpjxyZX5ArF3KvRh19MytWU2
ocADW4+wUrk/boLeA3E6GMvBqsa6Zik3hUgQFi3/PuFWQFSJfn4Kyqm4LwWm3tKzXjcqr1O1rcT/
YYoNbOFW/wxE0sKYvqsiQFSkdtdo1oew68kKebkmsW/WpC4jlJM1vUQDYClv+E1ISxo1O8RTlMBw
qsgucHT/kDKeTvDS6CSfz+CwGlCVd3U8CmE3FSSjprsQMbwJcErxUtSfzNdVHOPvBRajg5wYdC5K
uBFxIHQ1CJ0AaKPw7xIQ9UfBkQX3x0RyQud4oJdBMFUhV95x4gK3iUy04qdaX+yzVcfAKqqWslFN
kNjbNqjdm1QxUn8CkN55Ox0gU6cAj131JG4DQUanQW42d7aH90lOI1tFt1zzNEEIwEhWC5Xow22O
6CjSoKyk6WMiGM6P+Rzx5SukLfeb4CRmxd6ipXoQAutUDNZ7HcO3fLJv7qPR7YP9fQKp/uq45WYl
47of/5w1HtrZ7XqefwOVO/3oudWuedZNnhvZveIAhLDnvPqAVcMpWSE67OvaCfyxNentygEeUab1
rrmFj50XgyH5sLknNhiM6FpX2F7rKwQaKLCi6X4Hi0sYo/BTc7o306S3J22dGiKnd5LVFTPFRlwr
QKPUFzm3qO/8DLviPZoRjsdZWVGhOqm3QNdd/RzZsoB6FDN6z7NraJDLDJ9w+du0wwmY2YQki6fL
2NXZR0SiL1HOf15rrb9nzY2Q+WMyl6sTQ0FupvaTzFf3Ro4NVtotO5IE6ld441v6OFjFmYjbMGON
2jg1gwDDMHmu12iY+KNDCXYIXpzLQxxCbvWFCIkcSBpxgOM5Y7PuHW+urWeqMXfb1khopNYwR70Y
kVwJT3mzUBDwEoKyW8UpjSCBTeHmlX83kauc/XfePXWrk+Y/AJ8wGAJoDu8cjIEB7s3SfSUFEU3v
9lvJcGaWfBXPDOdOIfluIru2AaDSEdp/HmsfEvKdnj8RW8EBbcEn3OTcRfPqOdAsgzPOOZAKjTrI
uqJr5P759dYKFAMmOkoM/i1kT5PZDaByvVIYOdMoVXLWI3+4Kq4U0QZeWoolTRl3RJ/SAe6VA1jH
Y5YmRLQo+qIDCiNa2yoly+Umo1a8vyeHTt8eTkhLAX8fbYbHsDp/Mm4g4wdfysMlrb4QkSTSTmSc
xHCF/qvDJA8aW9QnzWtVzqcT3AoXmelq/NAZpm2IuUHT101nSQsq3bwUG9QWV2WYbk4g4y69pnK1
57yX45daPbM4X10MLXWMvB8AempIEePypp27OS8rNOVrX5aUG6HB7he9A/Q1xsPnFWwSSXuCwASM
bVHWdUXx+0dslNBMDWTrOOMjb6k0DVUmgvxjbbkQKWBxCpBQ/88H2DYRvAExRv0SU3hTI2B4kTXn
m9NXU8AhH2xreqDUiN/+7LgPRLZNKeimcQgk2q+lbWqjnKhzzhq2h+cQnqLB7jyXZsNGNRHsZ5x7
eKvWT9H5AHVQD71kBD2ybMg5D8otlLQTXnIgm7nzhGAthEChVaIjCM8ZfIqb5MaOhqLHc4KQSaiM
gK++98+JwaM+F37/fn4/NTghxoYBb5n1dXVEjoCpkumiEQDVeRnRVPEGaM0f2WnMAMRUy7X/FjXa
o9smGpLRipe7CDYuwvSGpJeLPlAVO4T4uGtbd+S4EuW6mOfL4J150W8gufwXI+De2bJ4hA/zQNFX
fFWWQB+A38xxZpNp+XFw0GC63cBPVUn34dVAY+yBu78SldZRN8fYJFo9uPnO2zYyaATyE/fmSO5h
w8pFKKHZK5qCHvMDC2axeajjqeassvdD5LYett5O/TU82+PL/T07ogxoGwPOaj5mmVGuz/NMC5wo
cSEfyBdP58JVPrc+urugm7K+FnEwZQeqzdkrwX9ftqdMUBKZQBh9/shPfl8zcb+j9NLJU2agtTVi
rPtaOe8NojjIBvhUyTOyNVWk2zRq38RIX3M9MJ61V8AjWiwOPNF1esbwcHXL0Hk1DnAob3LhG01M
iQrM5afZGca4IR47U3kjTY12zMdIHMkgITRWJsA5yON8OeC5r5NxjzE0uGoUoP/rEYsR+GFOY2WH
dBLrpJebXG6/ijzKEqiQXHdHcOqVHq86R2y6SlIsrHvxCHAbegDb1uT3b7Ud4TLQsrVR3VHvpKDH
/D2Q+pXeOIZ/EoyL7WOi+lfViXM8u+SoeraKyJSoW+qKjaYwKLKtY9h3fZl3i9uGROKuMHc/nKZK
7WeJ07gfWXJkMpMl0DexPww7o53ScLXQ2XQ8oNZp9Iw+0ozaE1/SWaE8eQyNVQD/2dl/lKE0QIcp
vL/+8qAyv/FaGbrqFQ7rHv9uvoHEW60hm7Zyj+YjBRU7UcuscyPN6uSx9bijxm96PZnQN5xDdPhp
PwhrTuNXfYqg/cbzZ/adwtolX1zpIBwsTc4ugdSwwu+a9Oa0Q82hjZZ2xjUEMNBNy7VPOpWU2LhA
VODr66IR/0SlEKSXp4hIH3SrNM9WL650Zg8ULkF8moVrg0vTvgcxwfR+N3D0wLNQr2X0Ol2y0JT7
BeKec4bEWRWHITwsOtgLZuYpJnXWCNFR+ZpNJp1pJvbaDbkEq86YEnIQ59nGLWMCV1F3113Lamcy
XxhMJKBLNviPtZH8kxhaYTw0opCey6jPAo9ctAy9XP7wpiIhBUlSaqIV1c0YtzE5wrfx9xFiFsHS
9vTaI69tzA50++ktvQqqWoR7tZpP6F0cRR10f8wu/INL1EyXymfB9aK0wnFKjEVjgPuFHsSGRUls
DE0IZhiiJVzHuPUf9k7Sz3VkdHPFhh+/rWM7GOqbNk8GHl7GhgXbvGarlAdyMls2v4IG85wKo+JR
YUFmbFXQtjjr+CGI/zLuqklOAY9lnbmi4EywDfa9mAYl2S/ew+M5BlM5sjPtPLlM453YRhElphY5
MU+TVPHD1KCLgmnRlH0Smmop45GJ30sh039KdKB64Uite8KjJF/GoWWF2dmVt1QL02I7dISnW0aV
ky+eVXPEGm49EMhlW75alilRykGeplOU3Pbb7oJ1rSZr6aEeC0JKICLAzSbpjitlcb56HBO4bmOy
iv5nJZPoQd486XCtg0OQ9SLz4qyxbghiJ3ow+DiIo+ZKL2L8YQEgigqgYajDMawNROQJVXWVxxcw
1EsLTYTZMdCONX8JFvadCRQcrKpYMoMmrGuXaK3RbaY0XkkrMRVV4s8YF4CwoHq24/OfGXbfB6qd
zDS/cvrJ/7G0TakYiIU0JEq0Tgv4I+ZnBYXslM/OJ2BKXHKYBthhZ48zttw6rgK5gM7LKCmCPwrf
vYhBcNpnZgVxBUZBePyqLhFmcV8+xD17E0D+VAOHDrmBLjX6OmkDYM8CsDB/nYc4oU/Vyviz7nHv
PG06EMigSQ7GhNDAujBlalRavLGMXh8q3bwcYHorJHv+tVi/5k7h4dHdada9mSy9rKNDdov6e+St
5hsJofTnU0jlmrUFDIpjgfLWuJ7HDCR6Wza2lioa8iO0IKV9gpza+BKk7EddphlIlDCeUdLJjekm
r3zWDRsUsvIqwfdnFWt4FKYZ0CKcUIID8z6MEagSzUjkfQMKedWLWxR/kcwu+McOXkwZThrhaO0T
tBGVUErMAh7eOpruEbUVyae9LhANGA0GKn1IQeoSh5XLYall5jGJkCIvIs4yBwjtPUSu/NeT/J48
9WHi7YWVENbXFoTwzFk6d6shqc8S18twGNrHtfntQG/ZnbHT+kWHwN8JYtIJyvNNPJpRQK099Ojn
E6cm+NmooJZwoNtasMLILVVlbbcwHUcegzCqdLj/DSX5r3qP+SE1Jyixj8J2E5assULlVXTk7f32
KGdgQdINvMT5CevsCWjbV8amTR+34vrycx+pMTpkKiy0F+uMbBgb4PSAbot1x1nzI+cxmiI2jkCQ
3QZSG2c3aOj5PDo0M3jWsXxW4XV9obmlFiiZjzBm8oK3PKCi+yfgSUz4F+ELlt/2ap65TK8DQh4W
jtOFFewy4huGpSj0uDIZkIQva0A9cygxrDAXpKZCNXNbidM76mBhhoxxDa5/HqkxDa4SGsFMDUy0
HOzlidQR3RtU/0GhXJpqXpyEyLzmuyhOxudZNqiKxEBVMVep+C+yrsb4LA2NL9sMd3QbLMbIlqF8
67nRtKnZE7hdSl63HICyCiM4rE+IedDgRJUzmppDvdRpG1mlGwCZmRHQVuiv3RUeNfgq/i9SAuwu
L6nzfBlDUijiUzwg1Ql1CVb3hFaLjzMaupHNJJFBRZyL+ne+U4Coirk2/wRYRXSs+5/xbg+6X9Gn
qJty+FpEJ4IOcTRAjC3ZmjgkWkZAK/8b1nmBGrUpV8YQzvIL3VXGdcUPh4876R0OoPFHKOy+xc1d
zBbL4tcqurnjc0kAp+6L1RtZmVyXPb212Ji7TQASfuJKeKwGzPAbZCUYZKluzEeyqrjiYWrHoLXy
ruosIIFM/DEudwmHsIR/U++VBwDpod+xIUvdRygaHneu5PctidoLjfkfAmcPu0L8QTgQJvditmwp
qg7A+rghQ2vznKqyfsn7mqjrdCVSIwNBPqh/NtQy+CxHeFqr374QPTOe7vQdWxO0jIsGa2jjoxcM
OqzMsNdRvG/04QHKZxE7fWQgwTUVA7Xzfmqult6ubInV00nPdrlaiivXH8vHl3oAavI4CgFzql8p
6OPSHtQXpBDGMlVMsjl7Wqgp8kHLF/NZUzGKmwrk12ebe1lMJtcMPrGgenY2sB9FlC9lJgffjAEi
kY8M8/Px8OHUw/JKlQjizzkmdTANepp4G6eZSE273HY+tYtR5pAc64RYidIlUKLf7T/9o4NuVhnl
EXwHmbyujLnHNes3K3VRvj8xxa5vh2ZHiPmYPAz9rJSP1aeXdaag2mIm5X/0BymgfQzjPidDCKZW
Z3Yr8b/uFr4aKYW1GOQz1+VyyySyxJ6l8hWTQA7l/uXl0DfeW43cyyPEA60a3S2h0U+77owIu8oa
k1hy2JDZtRMAEX2MnlMGCF1TlGmR6oIZsjh144w2i2THzRbjQkb11KIJKllzJQGvANARr37AksST
V99aBLG7SG88Dy4oZhvUNlAfBGBtQGbstizIhCBKhi3oDTEEBEnWEWmZu09CB6+Ke+r0Q7MKFlzZ
K3P6LaMeyigSdtSdWzmqpbT3WDm//KhrnECpfLlwkRtUd/Xv13Z/TLu3YdSRQDbsAdrntXTh7fTh
zKx8l3fOTM6dH/YBcKec2J+q7tRP/Iy61xTaSk8xuoT746N4iKJ4HTKElvTPR9YcYAwhaLcsmI5S
tUpyJgwjSvfMGxUkQF+MhcP/HZ2Y++48nlUGsfJET1p/LjU7UC85/1BWGABWAgy1b3aWq7YBpWhN
2E1N+X6tWg6X6PicTsVeI8dGZVfKNnErSeKPTryy9l4FZPVMaHOvgRTue60c8+xLc+MDUtBFwFyI
ALMoGxAM1J26NiufaniWOF9NWeW7qdAWOH55hLDIoEG9EoJrRwA0EkYREBlonJNTmvPJiBILPDEJ
J+3cWUhAK44AIufI/580hlAczt410SRnzbAEbwg28sMeMj32ZwokCscsPHaXkhADB0rTzqnVmCss
vNTwBRLRlfLyB7Q/ntakI8tfXTg4OGxm8WToIjWdVDLw84enCiHIz+X+MabD7nacSXyaGK16GvUP
LfcehBSKCL0XxjxvUmSPN/JdKBufq3JTzbXZckfnIEVE4hFxF9UKYjzo59mIvexaTnq2RMrmVGS4
eaUOrbdVWY7ungRTcq+0eTzV2sii6WjDrZ3nU6AG6Mwi5gpXHL2K2QIbLaQruYb/mVmsXidk336k
XpUULyPN6Z3wHEq0swC3gc3uqb5TuQuUye4tmfYnaYzzUgg8IvBVQbZdDFYfGozZX6QBh+qth7Ut
I3dlWhnqJImQeDUniBnzprzFKvesLn14KahyKmsUcUX2alRQLadJWfPRv5xRhC9PEgRugN4K2k5y
WZWOVHVM+UJ4dNpmNjiPbr4f2lgIE1S2TXwByHjLkzJixtEPPQEhu+uJ0XC5uwYjOBTHbKnKgRX0
dcK/MoQMrPeXEdfvjgy01QHUUa0D9EoTomIBcfQ6kpEu8aSugQWuddHjhVAU61nDcutmb+lgdpC2
ANCAzL2B5Gucu9gOPZ6iVjyWw989fq09serSqWbAlGilRNZKjjpGo+UjmU9S5xBEhtW1FGPMuw3z
Tmxh1+l38daMRNSY59lsGWibrP7lOLv9V4tRUr1D4EMtWq7M/wrln9RzUju1g/xXh3/axDqm+MKL
RUjwLg6Dc/l/Dhx6vxJGC5sYnZmnsdg86LfTlov6M0CbuJZvMrropZ5A8MmDIh9vOHFATIBC2JXT
XgUNTOGCvFjVwTkVml0NVaz/2V05q+gc07UMiJuy7baQFbExhIclHA/HKPCiZ4XqTZSJbRf6oJlq
yfKRaZmO2+Ltje+3r0pHDLNDVbiQ0aZoO6bFxQVkjJGFn+vJZppwASqS6V+EglkBFIiNlrwFwByu
Ds7PM1LZACrrxhonh2Fdwhw9GcLxv72ta/6lUfzKVeEeQbe4ruYXySxkD2qBkzYLRgLLk2ctCj0d
7+0cujCCvf4vhbxEw/utGkMRaaflKCPhkG460pKH5NSYOQR9KlWcqy/UkBxoBhYLisY3H7FqzbH4
iU9V3+zQtyJCl/HVl/yAhc7Pf0pr8NcQDqRoUXFjugfjlCG8qYoBp0HxtYagIViAiG59ytPtpGDV
D4ZmKXtOaziOaocEL06eJBdcpR6YcX/ngLydz3vnvP5JKMoi0EFAFo0iFZV6yvnTUrEjnr2Cy2w/
hOxjrJky5JGPpyZ7eEASpXOCjQDCPvLdgGU7ixaZ61CYhgaUp6zxZs7yr1O36D2H+37Q/IHyDC03
eAy2eIbpKpa7aBmXbB5wNDZ7d/cSScsczfcYeMUwCzSsFnpWxYTCW+tywIDeXH7luVxyccgtNye3
STEcuqU8opCtnbPx+kIq52HVZSecPfDNM5nS1QlDfktHwfbXTc6MDNqQISeSCG4w8qbJpTdWD7Hj
Mn6zseKC0vuFChii0QKiJCkwPizqBAdUY/6nXLf4n6ZfxnW30mYZB/hhHERSn/RsC4EdqHqMtov0
9YbACZQc/hm9thhCszv+HM2QvJmQ82saClGwNsSojgNecDy3gT5Cs/abcwolqYOuBU3eQAzM2djs
xlbn5cVyzosHDfKhd7Mg8ffwjxIhidymafAP9Yp0n+Lu7vhYOpv3JGOX/M18AbQXr+TwZF2k3gzu
8A/orSb9GnHXmOLMJOluNBpRmFCCs9h/8I8BAKbGALKD6VYo1X/HbgD3aGyb8Wmax5JHm7X6xNDu
qOg+7WLv/dlodPVtpz6iQKl07bp5grRlv/AUuKcBl/3nZHcd49W0K96UDbH6BG3Ayc0F55Ck9z4F
lMFLM5go7NePfLqWLPKrRnFNsg9u0ka1Xeg6P7QTgVc9ZREUtiTEhlTOUhqR+TGx76AY0ExUie2p
TTh0vVMWet8qqhq9aHP+19YBIDv+A5jUebbphorXUymvs1GHJ52H3f/ugZz6fsXjBYhR+6EUh72K
nh/iBfWu1CJLXb36maq35T1PYxPFbfI0ZTkTm+8U5EzT4axxDsurccybZA1cYynWMJCBFMuMQH1E
pAIaCbtVdj6jFnU0os/ZDk78pPtP02tsTYjEc1OtNQm5eZOXv7cWTCh1Im270WM7gGjbAqv5519w
wZpNTsvZYD1JnjmLV+QudoluJ8DNr8i0dCVC1cdPqcSFcDJYl8nbiMD2u6TTLStx1QTn2sjkkaSK
xt855i8DKNPv7evjo8trNrnuNFwLH13XZQgYcqguxbm1I1p8yOWxvZRTra38o77S8NUNaYRrAE7r
7laR65eEFLBzLmyxV8cLqcCJzc/5+K5H5P37MLhchlXl7uAJXiSZPyTDEWUAUNf4fYKofcKXVZNp
2Ir42eNcMPtJvpTqBOF+p9+q9Y4s0pQzqXJC0Pc+7h+2eRPOkUo2Jra8OAIBNiK1OzYeDC9U6ZSR
1CPgkhW2IGh5R2vX3lDBYLsXoZJJG0ssDjumPn5BbHXmnUXqmnCHj5cUXP9v/M0OMsEEnbl6S9UX
XA27opo545Pcj8tFGvfJR7BINSz9Q6OxIadGx/ZQi1f8uN9nRitV0v10S3IYt5A6qeiqj/Ebeser
QItJeow3btwnHmiMilysJdEDY+BEL3EUm7Pdgp+XHKAi/r100YQzsUovU3rZs1ZZ3kJX7CFlGjng
vznkNhdQhUv5csrK3Yh5NaOi7wsNG6xiNXm5LsTUDRod6R/rThm+V9SdpdJQMCrxuRV/QaphVj7y
0yH1NvEgLB93mY4kJf4aKnYXEA+m75jZIfM/QlnGwAFovcHaECiidUyXwicuYihD6Xmi5SRZcyI6
t+7VxaGmg91EY9w0R/ym/enfP2I2jn6UFh0OliX2F63hYlXZ4kPyIV04FgK1bMphzdNyvJjY7G+b
WHLG66Xb+y7IQUy+hpAPiaDve084vtO73UB0mY8YrJp+VdKzFDy1qt14ommb8MCqeyriN2gNEJWW
YMlS/1aJfTT95g89dZS4zkb3m4hoRmcsIQ/Q8ttta/97DffjiBbmt0F9n6OZZs7Qb03SZ7Z2u1Sv
/LWS6kPyIZACEYxTDMjMNy03zx0djmphICmfymKV7tT516TOQnp4VAqQB3GeNTCJQc93E7Z8W0ED
nsY7S7kc/0gQSMTHxw8qRXOc1/+oLRdBjRG1STBrbNN7GOBPMrwRgi1CT8c7i9bOQSG9cef1xhl7
vcggwhK0oq4Lxb7O8ONwaTMot2PGBY9xFuP/0hyhr7qD1092k34o3WRQ0IBlz5KB5oqGsrbXfMLT
HDjdapaNs9ggKE65bgWpqDUNUNEAkDWmoLdcLKRXhq66qMQiYJGBcIxNx82vUFhcmF8wno7YEnB/
ur7YzssphdYNkOXiusxXeDSIoxvbu4TBmXbmP20uFEPDh2y0McMpoD73CIogix8t6M8Jd6shR9xK
G+jKrxk/XCEmtr6U7DyQHXo338Uf+nDyw3iWM26SIU+iJwAi+R3A83aoAgs87+AWZDDRy+67YzY3
40o6FiQDyVpgO0DsYpmSa8XgLutHipjJRcYwQLw5DYTioie2zULWrC7DCv4/zyfB1SjWYLjRY8Xb
kG4fs+kcUBFxXeJHj+Njkwem6M/cqn42Hl/4H38UzeQRexO/WKmonzmqd/RfMRpsMRepyS2iB+I1
0igtm5FRcOf7S90AMpQWLttp9BoulsBrHxPmN8mrYaBuyFMyBZ0/eJ3/yAKBKgc2HpvLu/w6CJoB
RhKsfPzvcUEcBU+DCziVLCUZlfGO1fPbBR2JXLCN0P/t9VXXPqRTRQ55wzo8fA2TDVSwKtgdyrUH
ejYsRfOU7o9kOiAQhSdmdqTCZbt+U5FIGIsnSycKlZqkng8TRfbUQjXDc5v3lxHN3gUC8AfjqxXD
DNHiOb5XA7JqCpNDU0V/P/42qfUC48+tC1XSP9Oj5OEAYXUmGA8U5qu3zyarAzLtIXO7X2cTbQMD
H1q5ACM/DKdxBPxN2iGxobJzCHdHcCa5ETYhNHvrGkMC+lxG0K5LP3c6N+3cbQuIoZlDbolrT7Bn
28TkEDQ48uaaZhChn1442rgm3diNw4QJs/R8wJ/v4M1vE8uF95hGxH9xcK0vWLTRTlgEUjZdSoAT
tRiv3Ny2zsIuCmyHXzjEXAgAOlywdy4mJLZZ31LzjyZ5UnMarBG6d+L9unwVzsnOxQDkuH0Ootmh
WKGfRKBk+sh4OWGxuhnsLbDGrdFJiJklubUTE3t61WZof+HXL74zaUrUd3hGTsHbpEmvwtN/TtUr
uva9+hy0l1B4yc8fWD8tpXDwNkNSBGweenplc/vDaMsBEN3HLuoP2675S/KhvyYmd4Qrx0o2VJud
yrwu+6vBN+Lg4Rfl+YiGVbPryw2+WNf1lHFWENeP2HoqaPCJ7QvfchyS65wtoH+U2UQl66hQ/mC5
66KUAxgQykXTgHO48YAavJ1Scn4aSHpvEPkzltRhNvNB8/ryiMdLfwfA1VRer5h2GxgBiOTqoUHb
EKm6nfpI8+CpYJaQBz+vtfEH1L4Ao6URWk1LhYHl9iuQ3ETAZEJslVG9iWfquCzQxHXh8eURTpgJ
lNrk6hbRcMLnY7hnP1tlKu/LaGAo1X1zNQlI2OVyWLK7vr7SbPabLFPtfBBmWai9zT5cv34Oms5/
Gkm8dRG1H2BmpzdIQXOKDHAWRDNgcWQScEzeWnha1ARiNTzLw2C+3DKTNZ3IRmSj+Ai22FrQLL5t
p1Ll0T59DzivINX02kxXgjlK9AZ81Un4aewSJnD535CBlNzCOLOAwFNcj4iJrSU28nGzL9MfOZY8
eHSOZSaVNRLsckaq5rV9tYt3WKs1+vxMJcui3dKwJ6FARP56tP/EUcUKr5oCAZphd9RC9GQ4Jkuj
DwPzRNZ6H/ot6gZAfIXAa4sfG9EHc14agqcmYUOJVbtTtFbu2rwt8echGUqLGrLxl5PqPk37HRbw
/R9tZSH/zf9bbO4tVxU61jO76nSskLEEl3tta14QkBLfNHU+7r37HNxJ9ZM6u1uMU5vVtEdG6guu
eR1uVTpKhslT2BJKk41ciVLAMKky4glN05xUtClUbu7CtYO2OLIwmGuOGfUXAy2Mhm0atVhcWf/J
h95uaDGhh08enL5l0TWpf83lzKA86OoFhPBo/oyi0m43qxDPt16LhTfFFRwyDkWpbtm1INGnZaay
BfTc64Y1cE5x9d8arOSTR9bCTfdXM3nJ++3BLr+p1MZGMv3H2YYmqMTLUyAuBV9dMam6pa8lpKXd
u1GRr4wngOvjJQK6xnUKPjOLUVE7JR+ppioKw6iZ8yKJ6CMOXgHhrZaa7hPHyjUEaQrNSxyxuywa
0Zu9pzDz3xmfuGLfPEX7N6wr8OzeJWtMIZOIjIJzkcF+78IcNJelvMgYinE7qJuVKYBwbdxLAOxJ
fOgRGe/qs/i9hmYPPh2CeeUQloHbo405uBikVpsRQNeZrMstLIzQHN6sc4VTKPqYGvQ4XW+0/hEA
HiPCA7Pd71gAOQH4IJ6ysShFnopHm9zADzJlitCMjTZi+/s7HHyPvkrZMWbYUrtSrjM5frwFN5+E
H66H1CVnlXArFNkuscU8afgZjzMsDyYnrutQuIFR6iEBrT/M6VjXYe3yl48hD+kf50SvlsKEKTz9
DVt2qp0XJ+mt2gui/pC9iiafala5zt/+wKLHTwSZXR6Nn9h7Mi/0qzCZfX4WM5E7bjAmexmK+aQg
D8+x6vBuIUWTr7W0mM8F91/fo/I+YS9MsB9sITl6vzbUa4SeZJVYT/09shSikSsZMpllHx4Vw1+h
2nw+HNtyh9xcArN6Y8gyHZO6YzYjUm4P3Yw4GS3k4HIgo4ew4zCgoo4YwoucZxMLJKnAIw55/5Ut
LY783BCokNK2ZYqYrKEB8Ym7dcXYHs3uhly+SC3be5B25JPSVCZ1Ls6MovfF+y+Q2Z6Tm3u/ZHuB
obRcRsItFH8rMltk7wM4cCGahpklr8WI4wUHuEpLq1EBt+47CUBO4IG80zj7E2AZKNGuRz75lmar
bYTrCRVEpMS8W1vwvZn6QcykBxK4Z8y3JdLMSB4RgdH0jNvTEHu/Z6f81DjJA2y6YYn9QpclBaP7
BV0Vh65eHkaix6Qjw0kuTPEonwiKW79TZ/NasCNBOuFypQCJhw7jqtScss8EzbbxCsSo+okT3Yyp
hUxchtNxDe4VgrFDVfrtoAjwm/1Ft82JgwCGMMcosF2lAoozVBQYyh/NwimH8sc8hia5ri/VfCZ5
aBWvpVDq4NxZhqt+UAWsXh1BmkWDXbMcnc2LZn4RMAGsY5NAZmy6mblF+igSCie1YXh7WZfp76t1
6X27+5UcnV0wpDcXWDks+R1q6O41a1KSspT7t/p6OFQmE5yghaRrIuGSNoJkqbW0vlMcbMzaYsgj
U9BRNTOIyEcp53qUL+eQXlKDMOIuBfxc05Sc8ht9TSISmKasmsAnNVe4PSVbDqN2ys0+Vcwc+5NW
q+3s/dXTStRmzpBGVqRvFrwKrWaSjsrrLlJW53wFOG+DFWRxW/rpneZGJdvNkixDopObMXkVYItJ
ghReesb8LANf/gRcpixUJ2gfxeK7Deyvg9DVuL1Z/oec7Gfi0Ep8gFud+dhBUlh5xIvqhk4ab+yI
1KZX6HA5VZw8G9peTdSKqsOGOdofYhKRm8qbTbedBETStQm6h1rEBI2k8XViEjVrx8x81/fXEpo9
AARJImk19cffoNWIn6lQ7Fmi1GNH/zL35zK1NeIrNbY2srsVSBRV2BV9RBYMx4EECifx0o9yEHFe
7Z1DvUwE6JIeN412ppqVPro6DD07GdthO8p+NRXyWt+BHYNCNgXwpqYupfbGCxL6stvpb5e/snE5
EF4USIEkrorh3BKKnExiFOGNfMMqdIUrqJtgzUPvqJGV+LrJMf1grcSE+7txLAHgYTX/CnS38cQm
8rr2d+BBP8b3kMBVPJ07bHSnlp3zDNyzaXqGvJL2iHVonTZc6HfsFmF2u+JI9QI2oWoSHFak3Czk
PPcQ7WP89xNbU/SbM4CJ/mgjobFrGNxX9/w4IA2RGrZZVoWewyHFzR/1ZthvzL6Y68IAcycZURTt
XP/wbTsUrF+XIDBJ6K+kwc/hAMQUMp/kn+L77WyZXfXPwezVMsUHoIOebMgvf1Z6htwHsQyv6Nm3
0BZ/Qx4Wi7Vl6t99BQ7refUkj1qEHeNB20F2TVlzqt1dyZCwwUF4YCjIfqeFLKSkKvtZPiWbcQp1
3HdfJfdLZTJ+0XvlVN8xowg//BTdqVpT8KKvorGCJfgzwiqK9pu2mE6bIky4/PcDqctZXT+jH4pP
l2pIxmPAWYn7SnuXipeLLRE53OSDkUlAkTcDXtqM90JaDlRXAxjsFWiqQZ5ZKvLIrNGji/tWfmxO
R+ghQGlqkgIqnUx+kC6e0v6v2f6emlxtWauJPGrrqHCUktnurfxutJskeIM0G2D8pKjphNF42o4M
/mugCP1J2beJKC/w0PKBx0So074E/sdHahxbUOXlfjQX5GacAqi7HW5sLwzE9kamA0eGYl8im1Uw
kD92ldlA7kTbz5FIpNypPUmGsHUhhKEesoNARxqhZcWokl8bSmpbne/KRJ4XEuqmOzm6Abz6jVns
yY0Z3/PcOj8heksi2pBYAXF5vGE66hIArv2f2Ttd+Xe2Yn8vaaUxgEriSltlr9p4jsp2uDgYI7rk
VwlajnKJ2/WclpiCAe9qCPJ4PxhJFDvdCD7OP7JcPrIgNUY26hMPcvYSSJJrzpebPhF3FDjervLy
/cmXTIqAczbBKkjduBVJn9EV3TPBO80ld5sLQvQFq5LiTDGQn5D4QAl966lnRj5EkGeflMeYgDXP
7SW6/wYSKkVUqq08qW92s+0+cxRlML3K8UAg5AXEh+dg+jwJX3YRxuUGygKAQOJ4Se7EC6EVx2kA
ho90drP7uYmxO8TYIG7LKaYNFfe34REo0MXlTz9GS98cEYn7rAdNaR0WN49kjrd7qfsNAH7XfpA9
DdLm5ui8F92/sigw0IamoRsJMZG720qBWcZhkcFraG/MLkFflg0nGunq9I9DGhdhhXtOj5v10O5X
+lA0l+EV8V+ha1DZ42RQoQQ0LOC8ANHPWJVaoHnMYijJTeEYMHXeRCRASzCR3i2aPE3vWyPlrxmy
+G/+9YZ5/qv4/LD0NJT4PCgfyS34B73rTaR1vxdbgl7YHhWNj2yFw8FjJDksY4YLUzjHr6kGmGSN
Zv3fk/vvY1siqXbyT5WID7CS9/lb8INe21Iu4xSQwpVQ5IJiNh2PQISzGz6g0BdWgjKdnJ0/RGE1
a426uCeBuOs2N42Ue9PBW1nUn7HXOGZ4h3iEbeOEvkH/KN492O7x8pVh0fCRlE7gSkC4dn2P8kw8
qhXmJ23idhT/JdD+JnEPAiY8Ghr4ZKc76XyDHlA5TtjEa2CR6ds5Hc+5DoFuclf/BRUYY6Elprrb
7iGhwraakxhTSJToOLsaXofmnPUBgn1qNY5tUVbJiDVesu8QA4i27vjB9oHI6cDS3ZAKCXqCSNhb
SgJ8hbkTwWDgqye8v22XwV6hOTKcqFKyZ0j5cpVXK+Fe5dBllLuOyVqI4A4BaMiJGiTxtz2q1G+O
yDJU5IniUUxbnhtYul0vmQM/JHX5cLIB8USiH5qY71Z3gtOA3S2OMOn+DsgfvIjA8GARgoXwTmJ0
a0esJ3PiqmRV3dpTXw7Zli7+g+NwxBhskgw9+5tIlOXLME8JRfmbDJvtrN9O6fRuNgncAu/sC+Wt
3qf3hiQX66XbMJhhVXoVZqhYyIWhG0slmRqr91h3Ma1CuR1ft18hhXtEJfK/j4xrmQZDyjdJeSMT
sqVH8dsC2Wis2IidHxM1fd9CiHvDvdj+lsorSyGdoWZ3BcFE8tKTIa12wswXpSCNN7cmTAVDWKN7
CwGMc36L4K85rYHZocsgb5PJgnprjk33xUtxov8fqx3SojV8r1znkyYiUf1JsR9wXyOom4lnp/wG
c8Dupv1JGjUwwjbHnKeRS18GSvFdLFc3nQO8AzhjF1BwcHZfOzIAj3UNOckvmn/zZz0ExA/LZg2k
FZMRq0wFc2Y8zwv/TIzGGYknmoFqf2ETa+aVmiz4epn2gd5yJXNOJheKsmA8PEVWJzx9oWFKgONO
oDkqISFCqpy36DlhESRjpxLkLpUlnb/1h2wistoHczULt2gCjrLl2zVnNvoCNIrN/ZOVexD8lohL
UgBEOHALnKROxswvf5+YRg8Xi4olGF0D0NmTNoJlCAnNMVrSdvEuu0Dkg4YTXpF7IAAwC6ATyW4p
bZ6vzKuEK20eTNI1sAurxwgOC8PpI2UYORn/208zfKHHe7BIDrJ85Hf+OtfartZQ8KKn3EZacDxP
ojHrxU79I9ds+KdSjIvEA7UlWQ7aWWY5nZKjXBPY95tzVWSt6d4dGm4ed/TXETk9FKV5/J2ywo8u
Cs7ql3IfyrCjeEow5w0g6SSHxfY4jL48WPOVBZuqa8m8YhJuNgwEYj1sq8nftcBXIpXnl2Kdribd
A6Y4NQPUfIU+0DcxkeLoUjciiTEorcYnm/ZyKAe48oYZTFk6H4UWbNdzgY+XGF1AerPHQu9/hhYJ
lNgV1Ze1Ht/AaSymYDw5ZDUGSX5CTCKp9fMCxYbcTBUZrOns3xIR7aHh2qBnMN+Z5o+ydsnONdTi
61RSUF2dwkh8y1GNRjncdW1UKnzi9neNnyHpd9imunTbsth7OKfVCaHFT9za126UVu8kOVEZZ2vg
VaFCkIT5xVHjgvWZIgAywtlZQZz0bg3ojj8tGOnX+c6MK9EMs6e6PKRXsj+hrZATxvutA0dnuznH
MLKnhDAAmvys6NvVoPlkSMu1mBW96aeWyVZgzeFdV4CUYKJ5am5J18dKrIP/QBMEmE4VKsuklQsA
NYeMECm1Olrw+tJPT9FV0aUmjwB+g+af3nKp1GhqztYS1uyn0dpurKvajRmcVrRauxcU8Wyd4NJd
yX7AUmzxgd5wboY7SP6gyuU8o0ZABOHMP2mjrrYufhYEcAMpJvnvsDd3ncnVBOUUViaKs6R8Exlv
S032O5znbyQMzgrPc4b4ql+1zWmt7sI75hMuCCMSpRaZt1DeagSPFQHPvMYgzCKu0BIjWK8yScA2
E2qtkXF4B/T5kF1ngOq0NLLoQw/0MYPiGCAPA63/5wIxOIuq8xxyQqJ5ZCq/yO1lpOGCWTxiZ/mZ
9WFsI8cn9Rqu6iOaXqFloL0jjiV6dQs3XGB1v9dw6XHKhg597fv6PFCgDurOuqXaJZhjeygVAVHf
4EwG6Bzw8s9MAre0Gebn2U75DX33rgckgJKS2cX+J4wKdWdsWivuXXdtZ/InHJtbjl3PRNnK8koW
T96Z1ZRnF8pzwh6LqhbynzJcqfK26QvGN+TUPj35ZkKureKG0rQNw1tRJqZQV0EmfBKYV4TmyzAe
t3ML+J3F/BnVJMFmlUCtQdCcLuk8VWWQYMiuDUdwoGpqlAZLNZQYCCSFuK93wN4fRh+mJlylEHMc
DmFJQqAbsPgwkeMM9QTVycJTZcUmL718C4TSnPXa5yKvQMxPwxGP3CaJ+X++2DkycDxne0XvgkDG
Nob/oRfLthJ7LlBvqXzXGu3SUI51wGF2KQECqgSYROxKTQhNpmp5yprcLutID7+2KFyC2j7NOdXA
gx2VVFGZlKtN3qbnOJCzC1qsCThomlB/S4ZCHMbWQZdDxsYvSsrOkx3qAB/cbOiOVOq2lspwcIls
82+6WXmtBefA36uC7atK7GZTayBZovVhvFtj9POorm3tlfx7Qd2J3CLWndMZcxzCg552KaKt2Gtr
kXedl81G3AMjgXPmDcny0C3eQkkKpb0M2kL89ZM19rmrMoAI938srVVgAIoLv7WCtcN7/+pE9GLw
JJafGBQ/ul8QPJ+AZ6gmIPISZIBh4CmSUdeQIjlaMEusanK8sjGYCQr2P8JqYsPbRZqDJN2tGCWM
mIXs3umbQaEuteC0WGzNJGaTt87+JrLnK+KfZg08LZK/drVxXpZFGNokZdW356RAGYH467Db4AV/
cp9wMsgOvTBSc84T1qpgIMoL3qyPQoGXqP2fk7Pq6jqmenQYWKjXDarYQhzafp8y2g+DsGl0wjqq
ZT5HRxN1YpsQCXQZaWjsnHJ0msqhVndZvMP8VZi9ELOOw1+wSO1g2BLgS9jFMqmAWMuGPvL8a1fS
CqN0seup9d/YyXTQr/cR4/dqrKQkbepY2gMuanv63BFuHdqYZ0HCFavMXPeX4CUDb+RJG9yCiIYI
hrva7ps/J7wbA99hIhf3VhSeKC2w6XNqDhMS8nI3fRyHs789o9t2aPoSmhC5VVLN/qDRCXXhPmSl
ZlfnqziSRiSgHLK37Eobl/MATIYIAQ7kxbJxaytaIUvE2eVhEatFhS3sZVTgh4JIZNHSfsf/Afjg
3I9h7BtTpDw7Cp9DRtXg8+bV57v3tQQWdEnL2eSNbWmLQH90W1w/qcOVNgcqekTFquVYhiZsr97g
Q2z1ScUEm1RtZPBGS46ZuZC943hEPOwedv/D2rWXKNlgcNXXWurSPB0wDS0XhLmRZf1EhDYAyOgy
3Xir6Zh0WPOvhH+50BZTUVKhyf4Ezjk1IUrdm5lY/BU4AtBTdhjhxuZ1G1r2eSnbSJvmK9uc1Ydw
kv00gLiGP5x8voCtm3uA2A7DnoWYMzZB+IPQqKe19Vrn+YrsGjPkWpYeZz0YS+h+I/fy05bIOHMB
4dWZE9WuuePLR6+Bsd4cxMunXX4STtKtmWSBSd6fg6w7DDH5qo0HB3r8GTCxlv7fDhwnWeszE2e+
qy4uAccqE0MbJlfXlJM5OquYLGIA0szBrBClmjnXLC7cAQCoNhfbFNV8eTFS5zv1ELyNlhwA8VWU
NsJHVcTE3T6Uho0RMTdAPnrMiqJ/86ArSftl/LkGDGlZ3g7K55PfSyBg22Gp6YFGrcTEJILGdG/6
4gHrT0gxIJFcrDDHgClTY4w8J1PDNgEuTb2hfUea/VtZXEbansyb/wSNNrTRZac3RWRM8WRSZzcy
YMPL6SfawYVqAUG89kxGcaFayxT1JXHacJgdSUPieVAIGzTmlQCwd245LrjJb1Q1AjkB7+JlXhak
oogxZcpZlLj4T6beK1S4rXBu6B4k/EMlS8YmwuRfec/vNFYRW6yNaswooDphX8i+Gg+BgojbeWVD
iucsSNTWj9vqMV0FF/YNnG1mghIwUXNtmnlPY+NL9wzZpFfHBXNqghS9/CxvS/YlupyYdUB+nfyz
XhGnDgWQu3lp67YYNWHyVry3vfNkVcZy2GJyN6ex1b9SnxoTUXHbKsFeQC/5jYc4W4IkIuhIph5l
m14OjtB+CwadCf3E50O0WQA+7sdP5/5LlaJhH6ez9k4aAdx5WOYBzhCYVI91yo55ewVGrR1QgJpY
lEUdh0qCJofsRDZEy67wzwszkBwGywhwGa+ooHad1T+SX7Wo3Z9n3hEjqOOZIKT3GeL+pupD34h2
soqSjMY8cQCOsO+KuD8HHN4jjuIxeO0rsQYvxuWaZRkYJzgBBERkmfI8TJ8rGpGG/eFB9JVFdTF5
KFDYWO+YJu655GJBEhwDKJLIaDKqtOU3a9JgjWsgiHozjN6a7TLeeN4QDjaUyVh4ER/4sTdMEegd
ZmdgsQM56V6rH1Xbxs7CdedJ/jeoKg7gfrMNu3u3X4tcoKLf0SEfmq5/56Dj5rF9tC6/9hti65vo
W47+fgEhdLU++ufsiL2WjlhgwReJo0n8OwwWoh9ZEgk8ePKDnSrdWnv/6ClTP5+FUt6sQHnyF71h
J2SREeu4thhPnrntR253ake86h6eCB9TAX0LIq7cWlHNDKNb5XAKmaD0dfUwmc8gcJJiFQhY/Tlt
NLhNX3XFJhbkE4CL7sArj0NSJS2rn5GozIvluwicZNsU4cpvhdkqf2jAo1kNwHtyi8x5bBgDdmAt
zHGFzHmCKFT6CX8mmE6DqCnrunNnVpE3a86fC7Qwy1fd/69hD9/pQjiyJGwxuOGmolsEwqPSlKOx
i9bcUiJG9QXIGyryfZsiHVOmjKkG4tozYI9t7RaXxF2bcYXsRCW0mWpZnZfSxu1xkT4Y2bfGD8xL
Lf2WBXBDdggkmFoSZdPot3yNwMgG03393h5d7VADwRWlfZFAutncrgDhYVcuINp0k4gtCdnz7yoZ
ZUxb/AFVmkiFBwLTVgUwyHtPPYlP5lEHHGJSRUKSfWVZeqZZl1hLY2MsOQHmydv+Zr/aINbYJUA/
cpzGwTAxzy+4YQtpFcEEjdB2E7KKLp5A0IeLMtahQ5PmnbvNqsSTAmdQGkGhqrO5FUcceFQzbncX
8fkj0PQqwu8jFYP4plrhn2QoRRCPJZ9/BR/nEcMYrlEIKtiexaBukTqAokKSTqiJkNUhkrzqFSI1
e28b0FpQJ6DS+XHTXBMR8F1eJmcMwB0fUraQMmQTW+Tpnn6spmDQYRZ1Bzwv4Nr/efjDCpguzJRU
wfwEnqcpG+iOnNSoTdB+nRtdJ2o2f5SSDgxlUs/O0W9O+rNon9n1G4pDcHTx4JoDMTwpV7j1cVkq
qqmEn0K5vOlH3McSnHWc4XWk/wd3yEDaLK3pAkLzQIeFxo475smOU+rgALuHMJUcaDJVkXuy6V8p
YHS/1ozfeay2exzz1pX3kohU5KTfH0LPaUykNkj8n1mmfldZ8/10dXm5tVnW2L51Msof0pFrROZI
iIIseWDf5VJ3pDKM4HdG5BVcKwzFtxDOeWXnS/23j+/JSS/uE6IxieveKEtMdHOxXVrvDYDSsQXp
kF8tetawSpW5fcZgzOyV0oXLsZLY6uvDi/UIAdLI29pTXUC6LX+bxsA9PKDi83Fp91vVTr/+y219
jSoZF1kUs8zjcxCrg3Y7qztOGEK85CXBBX+BV4UVRd8kIDuslE7GIXpYNhq9GYzfD+tGmzYQsD2l
89W/cvKpZulsD/hVrkHBg9+bxXxZeQ4vozJv2AG878nDjbNmYgS7iJYD3CQpKYwLQ79PI6GfbWAE
oRyXnkdzUgnf6jiDClP2rB3SKAI2ZcR+CkOPA0PgX95nztcm6TdrmR0/e5cDreldDbVuyX1mavqn
FY3R5Yh+cLozVoVzDhsL2dVdFEfxz90t6YO+kkllyX5YDIUzovmkJnc+sE1Al0QBHeqxWNHQBk5r
4zXzSIr9otcsZJYpefWCErwtDw1IMGDmPFdfOFHmzqBhqYzJCMo5xtXWKETuO7KZVo/GApdsYpai
yIOyRH7EMmxUXjxBWpfPpz8PBWTTuzqZLwNAAnxlQEE9gJzKhcNisxMr9U1ixxFe1/oPFGxrCpdB
3fhEJlxcoGQ3kqbRTfeRg5syD2vNz4lTGYI6ku2IVSGuEmOOAai0NF5FWAzfyxfaN5D3u3Ia7Ste
rdZfRlLnwF9FE1Jhfn5e02fu9/dEky2WpO5WSMxWkVOXgiSA6b35pxWGBAY1MCkeyumxbkI1lTbb
dq11UVRqU1gLdSEvYO+0PRAZ/2Z7yHmh9NtatLge6qRtR/6L2dS7kVJOcx5BMtGpQHUkXAlIxTo7
G5SFINTppM55rgnIqFTKbIX0QMRjr9FEYd2+Lt5jvw3vfxBNz4Lhftix/HnlnL1ofGQcp6swFmV6
mgoxoEeC5B/CrKklDmnxVShLWiM7C/xoNkSDVEfsEhBwsZJcp4LR4+aYE8VG8jcjBNJI33n/wUuz
oQ1sUrYihdc/uPDcOQri9TOs48Voys2m7JJs7Vb7rAuhGpiqJvnekvsdCijaZQR1NTlFI7+TmlNY
vXXQTPk9SHRNyDS+RPSqpL962cvcvHYSnDt4dc6+KqKpGkJhQ24BDB8iuNeAuDRjILOKn1vEMyUA
n9aiEuyDJMRCF/7BtSoF/YxaxzWkt4c94VtC34rO6Z9l3jVALJZJYlhqJoKH8mboKGrKxNhJhtAc
AogZ21dIznlpGfw/c8bwD0mWIsKJqcwLbZiPE0CZPce8Wfs0bCpPmo/hoeR5qafUe2yyxueLwo5q
GObY6xh5TqXlFNHtlYsQrVBneMPZJt8PssNED2FC78LB9XJm43Rt1ioyzm/slQmyz6bae1ywikSE
CG1nHagfpGx9dfEn5U7+4ytvADDUai+x6BRXsrg4mW4whekDQzBegSsZ2edZ9qttjoUDSklq9nJh
xHAZTaT1tkBGoziV+LN1Xpq+URIRvJphFuiFKmIP4e53GtUCYZmZ+I7LEJL6e5r4fHVzJJJ1av7O
MF5kptY3u6WAd34W25wMHhVUQcysbDNZl4NMOgvLbRS4guR1y6z0v3lPqAEGhihYqSDcWzg4jStG
BWHp9AZYj9wxopwHNzvkZCZnNPAgSRjdXGJskWZMbiPaTDeWuxqZlQqpJH0m7yk7Ril/6mZV2hvA
NAv+vUqNrbB56PfILGPkPehdQ6RzJyjlfgIqwuB3PkbwSgpdM4KZvW1cfc0J1Q2k2+uUnFpcUPEb
EyFKC7jXtDL8MAgTrHezG1I2RK6SpZThzXlAkvRapfm8P8rUECwN7SqbiGX6dUP2P/mHgiWK84Ju
fDHYYwZxvkhRDAdQICTeuL5zdKYupJ3MpkqkWGvMjol0SNHMi5gDP5xRriZGCa9p8nPro4C+WUbB
v2OmbB/j269B5daAjrLF/rq9bJ8wrvVZQHy5VXGcc0yXGt3k0aS1xuJjTtzDbS0QWtOn8xgRu4II
fx1R+HcEILAmNxKUzDA84nYDwgJcelWgpa4OvzspC32WOCSgmJ1pDQtqJKt0fnmGZ9kiOFbzthrt
6GsPLrWpU6b6HIBktq2LaKQ8QgymZ51EhjYuKiIigzROiv7M2aAn66bPRqfQJL9OSVvv+assLI6Q
3xoceS2ZoDPsLdobk9oa7N3DOTxCrNnjZngpihS3Uv4ZynE0TxCBxme5JDDeT0yWP2DPYVVbBbws
oll8G/1FbZZ44hu6upwwNJEecgGb8d88xduH/CzvS5XVNnLis32o1e2YOC6+uWogCPUeXz6vYNJz
IXpUcuBYzLFLehmW7OuxYeAAldnTAwWU9hNIesEg+W92Yuz43onS6z/9exnx8NZhtTzMb5i+z9QF
XJba3TZj7XdExkhY3lHTPLC8lZbRedJSkewmN8xtKEselmO6TGhOlQAyCN15kBnc7rTp7wBl8VWw
7f38jkozwGIQvQ9iKHzT3KDFZu2NnDoQYyfkc1A+8TytGhMMoHg4itf/UtnG8eOdDerNgQC2aL69
/AACXUCZW89jYavKS8FSkfaezT4xb5tn1L27jO/ibvEI+KXvVqqrbRomCuNcw1Eq0z12dWUJyBvY
VCTs2pi4+0ojQmwKneHo/y6+3ZWsiXiMP4RxyFjgNN7udknL181+jh/44E/qcbsKvC8G9hRhMV9U
4O+hSvwwpOLw2uhm1Kc8y0Md/gY8C9YEAzt7q1N8eLKorxyIUFlqC3GZmV2Ey+IsV6rzBe6IzYTn
J9Ua9qKa7TdYeOm3ey+0hGFXH/eOeuZVflf+Yy7X4XF4O5YK4GA2M827/8p0rNHaaq0oueIVWZOV
q/sRoGtBJIATpxxl2qyuZ3iHT/wwF9Xbxb8HrzBiam7NSkzlZppTpHw6Sd4zWuhKL1yD49WbsbWg
jMAxJez0mXZsVXwgcufqf7IMlVQxfr0V5NQ9XM3iDb5Gu1h/2FEvqd9RnUG6hVj+91T3ql2EEfBh
o+yqbECuaEHBwuCa4+sW9Qb2kGAC29Zpju6XHP1KUB8ai+0CX/a3R7gYxdsg6l89YztfxtFF4jH/
pY8h9R2nKKbdUN51VxHHgX1qrGJlUHEtyWzonW0mIORiwnyhhMve/GUrZY1iJODHtu9ukj9YH6yR
BaQqJZsSqLEi1iTRmaaUWAq51JW9Glvu4ANxkjIplRxjUVgvcYDK8IHfzNXlTGxpBRFN8ZSUuEn8
1MkaZBxdi1vbi4dCTQgb2e9hVqlUhDNvBnRSAXjZe0IjQLfYVyXTWR7LI2SVl9WM2HmtvdEpZ0bj
GAoGIGI4vQYwjWga20IFJWLAqPRO6kF2mT8kb28LFPWbr1x/+75wrbK3ekx7Q4Zyi37N/WJqVOsE
UQS0n+qZHdlPWm9bSa9roanYucKMjQB228HdVcnNM/+wz/5npCHLu/3rbiNzXmOa3y7B446cFYTn
A0uymBYGdZcFkYuVRsk/66d5a/E5MTLLjrzs5pzi8/cN3Q8AWkj70EROZPaveUSfrgaO2C/VT6fz
tlyjXCUH+cHmW/g4rkqGHPu43QaEKpkOz0RANE484eM8FBd0b3f47Zrz8MwaQWeL69tsr2Uv9xke
xeHDHiJnOqLm3/+fqmk62kWotImPIDHbX7l+0ta41FL2QSt83SqFszvDJdghDjiqLU6G5W1yI33w
20e6GQk3HOAsL19IuqJyXn0MHdAiVRR28/OFHHwh0qVloGvpsogw7AyIUOP5BgdPHPBIpeDj/3Hp
7fFkaR5ksSvXNHeMskTG7fOA9KLlTQTVLzrdsKhA2oN6eFg/2u2rpJRe610b9Ex7iSLv8bPe5/Xc
FCoj0CZFXQwgHOHda3FtsT+cPgbYgnr+BISKol8RUfEqp7VYjH4oITnJ99SLqPZhIZWK6UBZJgk1
nJ1ecUe1dsWK018ARoYf7+eQL/DXm+LAP4HzfE0sNLmkZdE/q0yV5Cu/EhWcWnM6CX8SRNOcZGN/
dem/84HueNl1/jSUITlq5PYfb5APFm6ZafNZ90C8VMLefht4cON7FNOLPNBndLebFaDoxwx8nQ63
aJWgqkIVk/IQbSlZ225NWBnPxze26cQOnKvv6jKtlUXBGd6iItX5DltzJbITkoKWo6EvnEBXEnIH
Mzh9qXYi52ZdoDFjFqnT6SAObdb3tVXlTAWjzNBwpi+Njxslte6iCo0C2sfrefKT723vidFHPP32
WgstZon9ZoKImJjcaJoEbu51CW/yUdRxw9jODqXNC2scco9SS0jFxp4kgLwjMgIGu68kKe+U/cr5
b7Pscib1O359qAkfPFLvMPTyNdaw4HuDEFu0Rp85HOMuyLzZrqarylz6pLCqhvdmQrHaxauXSY8p
XP6ttLF49PuC0dagds/ve0sJ28u+UFCaYiBI5lboyLaZ2uUUiSOKZ0yrg2RmV59jORMda0FcpYc/
H8z1J2FixzbLOw5SjLn1YfkuXUESo8hd7mI2ixqqd/MYCSkwJefn1js1tZYI4zLKTlTVw6r/v/V2
hB8CWumcjmQv+AcFOkbKxMLfTZHUUcoC60gRJEe9bqCgO+QFA/fRQgaTWsIKvrN82KrrgHkVaJFV
50Ruqpnos4CXNYzG/emB1xRInURzGHIb/5EfGipIHre82/CBKTaEUd7Km1mFAtEHopvRrAU6H8fM
qvSBkehXykztlVclYiyDb4UHFPSNwxgoj94sRLRhvzc3wLNQYWxCvywHTSc9UWb2DT5edd4THsmF
4F8tMdhNbqOe+xXt5QOqAvDfXe/bm3PvGIl7cjI77A8JN8tkPbqF9zYQYF2wyRoHQ7GbL/qAZ+mQ
RywNX2HMHWrTXvKNtEUaLlqpNGZUbmiUl/zZl7DHeDH82vBwz06u/L/m2wAKMr3vTsYnFohTrj5X
+vY8lIBfabZYCbbqxeoTJFWsJqwmrHXQEtotmroXfKLVsjbXhJT3bXCNilHm1jYTzN+QEub1qYVT
67SejSkm0gG73+EFYumy2i9vrVgXvo2s2QrcTIdETVIpvcxLDJUN2X842uXuVSIjnKzIxUt3bnWC
d0Hr+0vQ+EswPDlN8YjgdDWF7FjIdX+mzbagN9f//d2AwmVQJ78+rC6shb+VIkWQ84JJsXy8YzzN
uaK8eizsvHz3WgvgZUTVZid3d8OZLrCNipzqfygjo4Z6+4e8/s5TuH0biGYCFbX6A2tHof9GC/hW
jMqrEvVHMntF9YzPL0bOft8g/JWJZ9+Rh6PulGO1m1ZS7aCfV6PuU+0oKbr1PLP8drfxhCV637mv
JU69ff+Yj0kFyokH4/XtndjCPfTAHb65cEcl2YwedTPqjjdX9Q+AQ70PwX2jMYJV9J67i0uPAK/c
m0ywllWibXASxUVEnX88+OImF34wbpnftc5GVdwf8RZucqkhAKudbGZRUkFM5QzNaU9EP8gv1ss7
dldd1/Zrn3LeFhON+gILRWKigQtIr4lrzj52ys+r5GkKOWrIenpNaaIVs8zkrzV4JPwPt4PLj0PE
Fp73u3WyPSnwfshrwu1XfgZtgzJoYsnEtoEzcHNAnG37tHZhgvIpXb94RlRbZgRQvgp/i3jucMcX
751/ml7kdNBJ6jjQwUR+jdRf6PMXfGF5cFdQV+ARiSVMFJwQt113ixfbofLGjxwz4oCADDPcdNQg
waBwD3f0p2bJuj6iLhYseUWBlLNF0CgB7jkqVlrmI5XdSK8XC4zULzK2RNT6Q9nMpuO8dTO6jICz
3KRoauZ9VMGPXZj8FshFq24UjKh4mzeLqKrXRb9H0fAvZpyGu1G8HLbpnIVDm7EP5rVhFF/uWJfE
znWZ/4RasNo76T9kXLK6mfw1u7C06z2uJYOOlyt9/CKMB1GEV8NNjn9svAvcKHwebsAxxf5/jujm
nFhw09t8alIdeL/ETFTYK/b+yxJcHybI6ATFkVj8foZc2mbZn9R83Te7FrIXDij99XoEMCqkLl8y
S+7nHFzVq6ag7iXrkRmvyTbL2fDIwMZLqVQU3vms1L9pX2KN3TOS/cat17/KPfQNEbR+jEfxItWK
sMepxkJzeQT0fA1PSztAsu3sB0AszIwhB3Du/9gQkLpKKc5scE1mKBfcE3GgZLfd4U3PpLYLfOhM
QRKVqRvujSA685s7vtKnpnmaEDhKM/gYCn/hKewd/KOVbeGoJfWRx9jI4kBF6jtUWxvOxmjSJng9
uNJt9KIJwzdM0peg37tMFsiuDwBBPZKo1+T+w3v9550u0Ae44flyX6MiEruVH9a6zxZ8cHgbbBGw
CGXX5w5SePqY/Bkfza+UP0kncOLhjOhYO1RxSYNzf6u4b5TXwSBioTzN5L1R/ZR2qNLBnocHT63B
GnMJMv28eEYQtQoSq6JjZH3/mcRnpTLhDOr6pCcGapmIhwoDmZs4H6HuD5/5KaHeiEs3HMc9plJ5
Q97GaYFD7OuxOmxq57yr1S1b4yHfqUF/OZkORxRNjwDup0HWC9kmh8Ws2w4UR0cRq0BEVpjBzuj7
S1G1G3TQ+1tZqGAN9Id00FXRCBTpSOfbTpB0GKr7HWWxwfczdcZx3QvIfeiypPl8wO7w3mvqyU7k
lHlSUPnhNrVGUJU85fd8W+36TZ9biMEZMk05t6Km/WGikJFOy+mPqlMim01FsyovyehkDm+jvDnr
qZ1d3XlxKQ9UAOclJvrxWW2KEEHwvw6wGDWXt+BmQVFHnXSJPkpcmEqYNHNpg1AGEidiahkLn2tU
3fyj/GtdScSIAlcvtC2BCoZwmzkKr/gaSdWd6nUjr01pw03Z0mZ1mNFgs32UUoUogxXEqA9pNg0T
49uiCwkZE247qgdmTwszBIR2FZw8yQbPPJJ/a0hFAQERVJFwJMcwbjxpOKxc8FGjN/KxS2EKX+8P
U2YyTahSgT2/Tax7IBh23AjW0KvK97k8zdhR8T6bnjuQtY1pMp9NERkYSaYOf5ZcI6rYGq5dcfCF
4XvEWHh+akY88e5O/d39XU+IOv+XSCuk2LW7XyJk0EdmpcmiRe79CQ3ZcEgy5sphXwdarL6MRqg0
DawGy0jn6Q/Ku2bpK9ZdDGlhutOwlOZcc6v359om4X7JfWjEiEUsoaDsPyXJynu8M6TvEQqh8HRd
1bEIreIvdZpTW1iR9+IHkZ1Roh5fM0cob1OKx7PP4WM0WkpCkx/AVGaLetorNgiqbRkt8EjmLNEK
kdoWkpA+/9goDtHTxTArqNOJvNG/QbkXqrHOa+3GButjsVEW+BJBUvmcHLIzJVI636Yidev1D9Q7
YXOAe39/chTvp9YpOtn+nexHEECX1724yGhHn6vMcIElZSquH1V8xFo2H5xwjLc8LSmYvkmUCp8D
Joei4kQ8j21wh5hIaGg353T76L+ev8rX26LqEwJvOg5b2/iCiItQjhBxfNse1Aj1GKC+KArrX95s
MBGxCdTgBGY8/6yeslf4Fwz8t1B1Ns5tU6BjSGt/Mhx8buRTtOH9ZWG28q0/Fx4s4zLqlTrXNGH3
SqtCanPVP3BktJS8WCBsQGjRxRhvsoakFPf/NASzTp2XBeZ4mhUtzGlYtDIQdejTGFRz5G4Szlhl
CG8OrFP8LKC5zZtkQXttZ1rt/2fdhqF99xCw+VHPnrFwsMBNfaWVRIbdFjkDAs0rvbVEmD2wwZxF
CotdWa4kBlSEA8nY2Rf49MaXCNG4rMC/Hwda+eUY1ilP/lhUCDO0BAH03MbKu1HX1aIQnGrZScoB
UKWCS89uzt57zmcDnYN5Qrod6vQjUDjatNwWVXNeNoXqDyTi3m10LH8D5SrmLxEhM5Lv4KBq5mer
u+p2jQEBnyX7dBKtyvjFLnIKeg259XI1NUUDKWgJSkzXr6mSNWy7X20DhT4DtU0wDQEIn/DMag1z
Lz4MZQkAargWeV9aue4888UeOHQTLcS6h/G6vwhAMmfsVzY09P1mQdPDRZFZWtE8WmufB3bHBGfP
i8/RpPKd/JbPThLO2or93XKLEz+lNWic+ficH3J+XKm7FsqcBzoO2HPQdC5bigeajrvJz784Nmbg
DYaVrIdYBeviZ05/QiVpDBKqAyMwYsbhJd9Klu9kGlr8VFd528wzEH7TS+SCzbQmYDM8swvawsLS
2uOGfiO/j7tOiyarbR7p0O0eqvLYVOBzqcTi7UKEpjTrF0EePeUoONkbQxkdlmPEbeF4jM7UoEyH
d3ZSOY9sW5ywpKDtfvDBDCeFgkTrCcFicBrbMjEPGWgVaCrg7Zj+R60o19GgC5ZniI9C+RXfmSGv
2IvZDmjyy8lgyVkcRABJxQ8zHHDBaYwd8lQ3koVLeggiuySqvjkUrjUudjT/Yi8unqsPHsxu5q66
Vz8IzdQQO1ad9L4BsRrisjvce9jP0aoRc8dlgwchb118J+/h+k0BR8932P7mn3xfLvgeb+YYFd4g
ejRB6dHqG9Aqap64AZWkaSPdFPbP2h5Sj5BaOZ7MYQOJ5bRDkGs0MTmJArT1nIJQw2KZMADJZSdD
a6zdXZCjNoZq2yJmGGQ8Jv26BHbDLki4Z7Jla3NJnwEdzGXpX1M9AXgQec1h83oowVKfsoQrM5P8
OsHUA3VmkR3jFAN3jp2VhqNAbhQGQFMOqVblplyDD/zurnMLmQiARbjzK+DmGqhDPwVy8I9xm5gw
lA96i/8D2pcbtPK8frW0Ac7VnxGOREvYkkKqLOj0KoIZDZlkYTCrsiV3ywR12BvMocyBGKEyEa8O
qp5sjyrwlgW/7dMa5Lz7TglScj3ytxaKu05mYDGB0WImaSDn6IInQxWxceKuetSxqyIzmBLtnPw7
Cyp3X2j9PEM3zbTTHS2MGTmUosjzSnpv5gXaAofEOB6aMr/cszEPsnjwT11XEkfkQiADTjORY8qk
s3SLyEACWRRmpR098FmfeDZAtIemSXLIUyCIsG5Z9cE47l0YXnoxhtTiUvFFwfuvWxakBHhIg9zK
7Zrv8mhLVxvkfAih05N1HCbHrtru8E2Fh5obKml9CT0aedMKAsi3OjYeww5nkNw0IqDwPOdsEqXs
OZ4LZbw9mCRiAoxvRPfUn2dE3R8m3L2H6lG8MZcJLJr90DK5Sg3G0TXCq7/oPrt3nFkHDYb93F0o
gy+daxTWXVniAvLkFz76KuVV9ZUnroLqP33WbAhtS31a0oOtxJmsYsWyTOsWuwR8Oo+ucoRANvY+
pzRjMkBq2M7Tb4QCJzYnw1+khoFxMnh15/wpjR8YPgB5A4P+cRlIgdab/hx5sVQd7WaYiIQa3gar
pAprRaxhPDCkmA6bt89v10tj4bhQrQM0t3Mc7MDjHbaeKVdnLiyWdZ9ixgkjjobn0CvkPIcR0erb
22h1BdU6tgno7KMRLGcgtKIJA1kd/bwWLCiX5LHWTn3B/HgnjmqOXwk1MeeWVpN/VJcmbwg3tkah
oYJt2zXqN/UlzkVeYFm8Nu8kRVwXvqF1du+AK44d4O6No3DWJEXpsP96SO45whUCi/j5UQOKxh+L
8L6NcsWfB8/dOnMlvbxqGkaRJ0smF/T3Bp3brzT1Myiq9rZMmk1hijqCCrr6PQFVIIy/9g/bcXB1
tpYfTffJuL1S9fxaB/BVpKE4TojWSYunecGa3RnD3PhClflEbOll1KzXBNDH5FQwrWlBcaYmhX5Y
HUL556XD0hu0JTI5qOEpaksK9dx+B+jEOyCEmIQ5/+dpC3MpmY0aI44FCKycLGKb1KDSPMVEWq1K
SSdSMH1dJtqKVRAchq3dPzwA7fY4fpwCSY5nNC1k13zvE20BBU8U37I6PJr7kR5EZuLQAYZFPLat
mzOd24xd+0QkluHMpbUHSuUNMELN/980/a2Dp7cSEGYPT2lodjLgBXEISBg8HEmATCgPZvIfuPMJ
KwjgLCNKmECjMnvCEFn1f1b1poMcbXQ9HxccKhFTq2gOloxRY17vuIKRUuMz67/A+ayCTe4yngT8
RcD1W9XJ/1L/txRzPZR1nS5DEy4WX1v/i4u7Zi9IbodeEhJQV0L2arLAEH0mp2bx379TJDuMRwZP
Reoo6ErxiCXFjr7Rf/65yoi++up0WD9LiVrClQPzoEaFeypZmkFA0IM8LpZPfHZSmi2A7fvVZc5c
KhDKL3vqKO1qkqHMlrNzrxD3d+YQCOuKWM8CKw6OK7Kf3lWt42+HxzYBLigNSMXs4pJQC0pVGGQl
iF0pFZDJiIbxBgbNY5/OPy5goNDQ6ijT5dPWvI99kMOCoCzLPB8XbX4DrFBiKZ3K1v54IhmvldIr
e34Fuuo/kIKjh2kLaHfrwPLpVfwXaEYkGCbkKgV5fRpRdsTAD+TUsurINjs/e+P8FIkXcR3BhNCI
xovRXu/GYjK7+8IF3ZQRkW7IrPrt1RxR9skoYIEQq5ESXhNkcoUWdKd8J5Z5BTUoV1a7c2btacy8
1BzWYle5qdAYrMU14XZDqHMqEnyw0n9ig+Ocp3DkUrk2tI7NfP2VvVnV02nT8wJzKpNkMa9T7+45
opd4Lvd1S8KZzVCDlTV1JN4SaZkZ9g/oCnTznWLOk5m7qFYr0ms8nv+JXPoDS/PNbWAr3kN0aZR7
V5UAt1V2atf6IOHZgmjDv1EKwPU6MKperVxGQ9VWCFCjZEgIQPfBwwK4nmhWnuwFkgz22PE3D4fN
F5kZB9h42ed89lx6PC0HH1DI2a6lFlgFfwnOyMBjec3oG4kZfMLYsvYRuLI38K3wR7V5XXLM2woU
h3udI4DikFkP8jwA1Qje9tKNdMcSb5cQxPcdpF6YOLplH7U5hMpyOiisrkap8ofVj8dnbLwFMRbu
0qfmdLRQ41YPF5E+Mkt3TFiP547vns2fd9bQlUhseKRjRL1yQUWBYTh0HKo1Hzhlq0njCt9gRzeY
s2BMUf1Vxwf+6zWViCd8Y/gPjV33wqGd2KtMTJGWeRCSUbz5hpX15oa0frmFyw5CpX4H+pjHHOBR
p2vhDHt2p9aHM2wnAN8/lriH/61XNJFzvRNTW3b5ZLUrUtrDPk1S0oWyxf89LfBXQMnIi46iCLJB
0307Z/LF0xEdbvkMmBuvjMyNw/qGBvVqD13+rwHEGp46XmZCRhoRWy2iSDsok+0MJi0H3InqtZEP
QrQs/H7NM8IPGG+s9lbNuQz612rMdWdyYPxhz9J05s91iGzInaUBzqKseXx2rVddDpRWyzG24Vy8
tt984Z/HjRunqhO1FeioNu9gfvtTjDLBOp/KkcBxxabVHRSaw27aqAbLer0zlPDnAjjvobMNkMna
IXe/NKAkwiGy02cNUd0GVL6NqvlYsu3YMNBWBQyofvfLyR/4WKgnOInn7nYnWyI5my3NfXZ7Jy5H
eWdkxxjjy/j/DqDw8yJRruTsAU2Lyw3ShbHnOqdKRgb+LiwFWjTxfykAEMaFk8GQmxPuXNtNTk+T
1bTyc4LduJuVMVACidU/DPGaDJHEDfxEWPiGDgAuMBmKFLJ6oX6VZXpwlUQx4rUqHAYZ+8oAIy+j
FwlcOr8ytQPTewlz9+S2OC2VXgGqa4DSoOLcP5wMd2c5/dpjpBIMcr1XaKTw6y6h56ltUsbCPiRN
8DJEQ+8GR2yQIXQoO8Db9qHnPqWGbXsUfSCYwX3KcwiOcv9jh8ENUO8NBZ+ZuCLyXaHlXeq4EpV7
jlFgiWkMDgPAChg2Q0NtGUDWtMnPEb0YMJzEaTJohiLJWiH6Af0soQ+RQZDamIizy6gSD7WLJE5X
KqkO1ndobkENzi8ICCDk0f7bdBs2UVrbg5C4MIxQhhZx6RiG51W5dM9E1ibORGy7OO5R37q2DGOU
ch+CyFL+DYf9CouelAiMoL3wLRifyQM8It7qWZIPktyRUQIVd2V5EIRsmIJGXkjVEMpUnxR5wESI
Mj0RA75luTxCJxXd9GWsyh1VdA8G61Ks+AkxbDhNbnXXlqVox0IGlBiYjPl3VAYzx36E3j1+swd8
HENpx6YiW3Bhl9WzTb6gSjapdmWbXqE0/enx4a4jcqX2TtR1xvDPOS3GmZvdZTPYKm+s9tOX0JX3
49otpGq96Qzj+/Fb0F3uHyoUlusoUixnGoJGSXaAkDYpOqDrGPEvqUDhIrznluZkoWCtDhWZWAaz
+wg6Og/2W3n8IjwtQsoG/xeodHiIFFqLrPDkKU5kMQv6vPbPQGO6UkXSMpciwsZpR+ZXyn7eblDz
bP4iYcmawbGU2hUY/FNcNIxwE/8xBUrJMJp/A/wgAHqXgWP+sUeA3MSCvetEOyfI1hBeCwnIvjo9
BDk2WaUJ6/IPO6w1KZCOAbie/OtzVzPvavnL8SBLVg+9dWHRyKkkXsZbyCmsWe+Le2NeRaMzliPV
dzPrXKz1cyXfOJSPRVJQrwbwiiNQ0VSC2qfT8D4/zpIrOYb9bPeikRhvZv/QiZpoTYWqZk6T3AUv
Hy8sDHAxyccMUnJFtvhaDrK3q63horlenF5xr+NJ/kGQ5ob32zR/vAH9+7aFUI95+0xpp8oABxS+
2TdkTHcJuPHaqy7Gva+qoUkFHLL/mzIOYQr9+R1HPwRlvxXkePQwTmArrzUkdNCuNhjFQ5/u9yuh
/oP1qblaDIWB/PQ9G+i4fmGmMGtM2sQfHXbBpzpJS6BeXdiWLGvfSiBXLW7GV3j4UvbnO+8Fe0RF
a+hknKTlgkRibEArzZOo5DaLDUrLmIkAZ9EDD2x5WzSMaS6ml3GzuXGo8PWRDaJTEfPs8NzMhp/9
jHUzjoeLwAOJjINVWsW1ZfI9v0FM+OAf768m4XN8FIaU9/GkIydxCmhCfqNU0wQive+L1NQMbjLz
mH7rdatCQo14CEdaHsAQ+1UFHGBqQS7vaoCsXsRYV3CHCizRNZUntZS88N2kobDsoicEEwDsdCFg
2KdsWT6b5IUB281VJkDjolz0xnMU3EgK5wQ7UEqcLJEzKYUxkyVJ4f8VUaL4uHkMBuV80W1T4E6O
ClhQRAGY+zyp2WHfOz2JGMr7V0IyCAdzlHIa+/5OdixEjQew82E/d1EmmOY1hZGeMqKNDA1Pxxmt
Dlgy26m4c3ARKrAswHRQJnFokN9bPwPKuY6oh0AXGmKFQB7q7BelM2NYN25lz0dg22yCcRl2T5RP
q4SVztcmu8kPvpPOgd/CGuTxvNnPw4daxu73Xp87N+rYAmeH7JRFNxT7CSZGp9VCvQA4idmTlizL
LoYdQ9F0OPOdbJyzBlapmbilNTf8PRcMGipS67SosOUpp6CegX1WWlKRIw78OGe0djlLHV1eTb2X
FQZADxByKXLKMvfWV2Y+HfCbM/4dzbfcYozuHHk72m06qtfJOB6ltZXzRd7rRJFoNjHpiGrcSZ3X
iUpQL90SeoJb4gZ8y3ndcMRF0a07Aq40/rofU/gPCmCnNqprm/VyErwZKpU8eL0lVAzz9FVACl6y
P8LnvfDAnsOE9HGHQnlSNShhfE1S/N5g8VLwJC9lklrZUbFJAJd3TgHtke+mZPo4+u5HAwnPlBUS
G+Mp6LLVC5w8Ipuv8X+d7ap3w78vc1TmII7lvFsO6NdFlTZHqH2S9A9SSycNenBi9hLv07BLifQC
5y99qQ/V7p0DAExc+HjoPcqZfUs33BHwFXp8bV6+AArT6W3hfDFP9HoRm6GzLyNFk4wlbVA8tGNo
iQJOWbClQPC7JThKstXfhXO8he2/pMc9krEaflPGFyD1KCdDt5pNJJdnqzsEnGDyiTK7DLvCK6Q7
6H+cZQhzly0WZJ9Rbz20Gs0GUg2nubv+JUuyhNbszI+ESQSAFfazT2uGbggbxKG62wJh/QAGTNwZ
vOzo2YkBT7gh4uWuNzvdf1PZRnVc6q7nnW+XGeI0T5osp5cEhwxhSWagTBnGRsAv5PJ/cuuw/RQg
twvMzMowYYYBK57N0PlDghUl+t+qtlXV5+5hMnDIgtmD4klnkauCruMTX2GvrnY+IQKODDp/lcS3
4DbWoNjuwBDxNLoA7M3iHsj5dCEpKiCGK15UDVKf8njJwRU4D3Swr0kh7VNno2+Az5FMoqYwmLgY
QH5yG1eCuyXmQWcbBI9kULSGQvUyY5DERCjxL1Emtn7gK8AFzjEyslt9U4GtPugQY73rrnAxWicz
0Qh7lxisvrUZMkB22EmTH40bnkdtIo8w2p7HqvsS0RfNhLAJKqQOKiFA7I2wg0b7wOX8Vno1p51j
CAYpnbvQBdD6JXfot25hOB/gaWNQOGoXvIQMnmt8AAnz0EWhBwr/+05ieBQHbA87sTaSSd7cvyT0
DqfjRDLlRlm32RydF/vBRO239NdQm2PLppUPJ8a+CTsVbkJHiy5rKaS5KC5+wmTIjfI7Lehfr9hy
L2lRy1L/hMcpPOuna6m0thp5l/Py0Uw7ksGLI8rv4cey1OrsR6JPDXsaxWt7dvH/GtW0Y9GivwDj
khSfqlf7FuH9LsuZPPqFfPajit0pGL8yRLS+pHZkdSx9kxD0o5J5DvyBk8gDCdcCNJBwYFqbhXE+
yOkNxxxJmio5LHGZvkU2tIo89YM2Q2cefINOETjcnSz/4VuLXWtFvcJXKNz6zscaxRsqLW7I0EzG
LcA9PPxiuvfX+oG6Uhc/It9FqP+3vXk6I9SD4S7sZ5rcDeFkxtr+m7T0HFsics8GQzvmAuN99WhI
WFZEMun4dgxAX8iNGhDyuwRAv4fkhT+yXzqoffa6t9t5qTdZdhnVLXR2zoZFF+HzPJ5RynPNSNO1
b2BDIDeSTXMKDOKtm0capeUko2G5cPaV+jBbOXugv5l02LDBrJZQOwiTeoTsUDwjPOeNIZOVeV5c
eC5h+2dYk/eKN59DXD6bbXhJdTKgn4igBo/L9WLX50fqrQTLUsPDzVCahjuTSJ6DPnsBQ2Bus721
/8FwDq4OKsRyrMMA2zhyvIk6hPRn3fDcZhb/oQZMrrJ6a092/LpeLfXi9LALUHA81QQw0m59dhol
ntOv3FoBHw5/2dBcdHfR+qVQArKpEgUBRUYT54y3HzpR7QRh/kqPgmlffSCFaUAF+M20k2OJyURT
dcmsYZYPzmteABV6j24U8FfLFKy5aHRuKLjP7lM97RzSr/RQ5LrHOMFGYD1vGJOIEo5edFuzG70K
jsmmFRD9h17r/AGn2NNxaQ7O69kjunS1bSGAQKg1jPLMdt1i+lB2x5LQ3tKIPuoOSc/b4wgZ/BaS
fdY74fDRt9gje1QWP9i+ZRHs5M3zee9UJtZfwL2SSe5DIfGR/VP1ksOyQHi1xyKufMHdSSMeSUGl
X9+ybJLqMk5sNByaFUj9uCVSB3BsTD3wpBeCgdcUuDII1O5JhfikLZMdWsGGnkKSx0vPN7jupZB7
oQUz4DhvVErlQh0EkHn4wq43gTyzcozGmUTjhFX1OChk6I4z0i1e/Ej58k04Jta1cMI4K9rtNCSi
gCP1CL9t1rYqP3zt792FAhBOvEhH+hCz6qbQDm7lV6RVAaSK76XL2/FzLp8PPYLftTwtT4vGwxEE
bdt3p0Knr8nYJ5iVy7KbzaH4kg9771erCVoAGUl1WqVlXBUngK3loA1T2/eT3CDAFNHRHkHM8j7q
ONl9VVhf2elVtGXoQM+hhHYDZ48xq9/fN2wZEqXX+PD1dvcynr+ZJh6vgmIf5V1jTQTWfUK0gjSI
T20AOpnYKI2oQEIEiWVomSyptTIY3XM4oAL76eqfTotbDFZ9/XyBTxkO7R+m9RiUTig0q33QE9Dv
kwZqIU/mDyejmR+REe5UJjbCQwoOnKv92Fv2xHFHGM1LaJ8TIKjUPwrSacJshE8ssKbLm0f2QhTi
ADH1src/8hTETqzXyOhKqH/Os7ioG//pDc9FFZN0T7N7TzPfUxfLiYaxxDElQc1BnF/U7l2rcLhB
3X12xjm/tA6Om85jJ2R/frvrtqffozlgMuT+vDIMKzUHK+ZY7oj3ziEF+5PeeyWqa4af2bHee19j
+lolVrzN1vsbGKAQpFP/wHYx9qs6u7IzJrCvWJPfsJlfLH8to6nL/OWIMKJnY43p+iRpMPtL6TBJ
v3ue0cuP8Y6OyjhhRY8f7buDNyP+KwIHLxo3Y6e9GkVDLxMXYyjuXKSKzc09jWCpWCYKcx8/B3IB
gC+0+Csu9BhdnKvBZbVYT1iHGeyxxavhuiUO+UwfWL1vLOEuyIdLDDh7MvMIaGWDadSi45svkvlt
nSxRP3n814ywNZb499TZlFtjIqCRBYQjjIU983c1VJ8A5w8+zbYxJENbPwO0/rIcPNs85VLCzD7x
uXN7rYADj0+GY1Ieg5lRMpaOg2yepmTA+p3ZT1jOf22qnp3njCe55qmyZwjfjDXhrvUBCz2QsA1W
66xrvd0lBRp517tvAMZ+wUSsvsmP/G56NBfOvWBVtbbv7li8AlHJD9CNgsuCiawoPbm7R/J5EOtR
pXXhqkt1zrsGurvFi2uf5Ii68PlqYX6DuBrzQA+U13ClDVRPC3VE3UiYo3sRyRhSEPKGK0+vCqWj
MKIvR+OdCqgCs8A+R5/Rvyy1fBjW1+o36N3iVXgBA8C77Djrm7zJhQaksE7xE8toHM31oJ5mflyX
cPNu7esUfGhLSYAmWqL2XmxdLTER3q+cb0h+maV98R87bPw8Waa+PFiWqA49Wzf+tnXzMkvaI8no
qahxgvyD0wB6Z/nnRrnbx+ugadr07+pO8P8VJvjNCFdkI//fXRtXcteUZ7AHDTEXOXlRj3NLjljC
688niiBxn5RT2IbT8phQSCj/YQ98kLt0yDn1EN9HOZQgEOcHG57/yEFcYb2zR5+nXA2qPYBqycWo
3AE6dmaizR+Pm6A8pP47a9iQ2PwyoSN8eX0RW62OPQyihig9bFwx7i6q9woj1yMYa2cfJW0latA4
zMjpir+4Kl36HUdcMl9+MaMW6bgaXWsOekfutDetgg7CqXFDBUtI7tCnh0LztcB7ECPGGOrqNwti
rlZWDHxvZDGFyC552/SfC1t+VC6NkMCKLFHHrqZm6+FPnsEnitHhbQcnros4njmqbb5IWGOEcD/c
79rCpjO/mTBTLfvX5/xhOqrgqgRuKBCc362PyVDSXEtn8oMhBUuRvgE+12T6dw7FrxheP3uQ9skB
ZHyL79BOS6eWusvHT5JlLbGgVBmL1wBBDYARP4KX/yZOsiNlbg/bspMAuyzPL4isbKcycxq1r87A
0SspFP0WqgTubw9INcyywbBTACoE01NP6/Stinv3NgBMyUhKfwyAOYucf6ZMceVr5X5bDaricDwB
pV6akxAWeVJQ0nzDHQfBpRROiRmVNY1XYAPqLhXJI3NR/Y0GWFlW3jsi9Zfr1aiuVcEJhdEb1gsU
M2jyosdlqeRhTKvR0KqI+lcl5O4RTJsfhxKBicrTELxCa3rLJtt6seN+OtVmwbvjJgjpB8O5SRbK
ZacegimXm2B7X8nVbt4DeP5LwXyq50CXgrjLGUNRQrcMl8h4Ys65kbC0uVai0ITqAKFUQ0hLfNdn
fNUl956wVUY/0XFPrNPbJNYMI3fTtZRD4j9/cUxL6u+cUZqhm3oK0chhVmdOjzpU5c3UgmXqOJYr
HaIuhWkhvD7ryOOUIZAX4WH8xZS2MjFay4bE/KEc4ZsR+7l4MyjrHw/C/1onntyWhGABHKoat1K6
PV/JFSxguKIvwvI/eFdUGpRzlWEBxU1T22qV/mfOc2u7DbkQkb9BmgFnI/J0jLkHK3YomYl0PebR
rLwaVGWfnO+IUeRKznU+ClcIFmlppAYq1FzTHKBxvAqTasXZOYGZQfN6Jxrf6oRFXKXuQ8ixps2X
y26w+OPcuo6U9DoMkGbyKinewRSA30Tce0ikEvlGIDYdJUYEutFHbTgdwONy5M037sc01FHej2Jw
+mppgJwM5480fCkVj/bao14+JX6KQsPdns+GsChbLXhVOVlhgtzFd6eGBYeW34KoWrbt0WUnVZmT
2dlwk2jd/G/pwur6y60b7JV7Bj9R1VYfvFTWZsJvF0L9QYw9vu0XueTrVPsBI84OaeesBABdiwGT
CRKmOlBjH1Bfq1apfbWv3pBMDXaW44k0fF7Caj/KNyCuB5O/BLzPITB6+QpFNRzDejTxu6xJsyFq
8WvplkpzhR+Tbu8+MpV1LkYuVtvHVjaVOVsGnVH+rtm2Rbp6x2wJw1Vkz8A2UYdhRN9gdGtkoFQT
BDak3YqnKmtMHaaDXiptOphVIa8Cd5EK+raOMWZD2FVp57u7j3TClFSyGK3terRacQ93FHh86mql
gTF4eflygteIlVhDDiiFtP5zt/J5wS9LbcpRRY5Yh/7Aij5Rultp0exv+tpZi4kPhbriT+HspZSX
3ch3trrCVJSSsZaQ6IB2vV0OMFcu9rifJd4c68p5YiYPKTS6LWfX8B8T8fMWbsPYfLg9FKu3F3dm
VChLjjWgSYFn+KC9yVPka3FpYUtEizc10tai6N2s+Prq+KqssHMGamnheja69T/sDKD7wBD6T/Wr
gAAAHju5hPuQN5AAAf/ZAtL3FseJWSixxGf7AgAAAAAEWVo=

--C5TiEhRBN396VBhV--


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 13:58:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 13:58:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516747.801363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phsnX-000678-JA; Thu, 30 Mar 2023 13:58:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516747.801363; Thu, 30 Mar 2023 13:58:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phsnX-000671-Fg; Thu, 30 Mar 2023 13:58:39 +0000
Received: by outflank-mailman (input) for mailman id 516747;
 Thu, 30 Mar 2023 13:58: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=+wKg=7W=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1phsnW-00066v-Sj
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 13:58:38 +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 f800c20e-cf02-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 15:58:37 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id g17so24653920lfv.4
 for <xen-devel@lists.xenproject.org>; Thu, 30 Mar 2023 06:58:37 -0700 (PDT)
Received: from [192.168.202.197] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 r10-20020a056512102a00b004e7b84c6419sm5861534lfr.192.2023.03.30.06.58.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Mar 2023 06:58: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: f800c20e-cf02-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680184717;
        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=fOCuH3XmKCVc/9Ln2weuEdAmYA5uatSA9IFqwoLcdyk=;
        b=aHOCFd3sHzq2pENF9h6JjLv00p0Pud/Z/TCqnYJ+QGcZwbZsfjeoyZAZwa9RcsaDDv
         MrFfKRWH82nfZEbyt2QlLOMa59B85ieFvyV7VjZSWnQUiIZ1r0xZk6fvc0ZwfERLZwfx
         wfYz0TgEymmmdisJ7dg5NkZb4q9voWl3rHd2LtvzqVnuB+Y4h7iXE2uK6uyogDkPz3B0
         dqIvG0HUDhtpz7Nif8Gv4rVaxVV2Q222fnRWqOwBuBZQA8HHwqZM8KIg6H/R6pfTuq/Z
         WEx5Q4zzV2KiXsidw1WB4OljHD9GePL0grbgsUBi4zz2Vf3V77cFWrib30074Ngxf25+
         l48Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680184717;
        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=fOCuH3XmKCVc/9Ln2weuEdAmYA5uatSA9IFqwoLcdyk=;
        b=XdbKzeZKtLicR1YrC73OI9rc9jZIT00doLewSNbjtyL2iyKifawC63OQcceZwBr+jg
         0/qWPbLyayK8UTfUZ6Z4algDy3kxFf4j4+vZ3S7MLLcP7iO/NOqs4/3fyrcOgEROeJIS
         2uljnWeFxjusDaqFvJRQio/PxTpCqVYx2mUTVCNG18HrGG/mwqFQOkf+xBQbgq/yvajd
         BfxO+unN/3TpnKCfnthTE5bGauuOQm1/jI2IhCVyuEhx2tlCJKwd1Me3zxiSeb7p7rZ9
         ao0/VxKNeFExPCEZMszHB/97WjcmfVK0QgtaWy5I6pwCFfWPtQJeTvgbO34LxM8XXEft
         oTpg==
X-Gm-Message-State: AAQBX9dM3+YONI0G5ni9nfhcQ7fpYXxogaWtXMwp67Hty7h0qANWB6gi
	jzg2ABPi2xMRMsCanjmW1N4=
X-Google-Smtp-Source: AKy350aBIZeGrmnmBU4sKpfpCg5tsjf43ubgqvuQFNP1twEgaPulJgcUnwuygPA7naEktJTVi78NrA==
X-Received: by 2002:ac2:53b0:0:b0:4e9:d158:d56b with SMTP id j16-20020ac253b0000000b004e9d158d56bmr7340199lfh.62.1680184717018;
        Thu, 30 Mar 2023 06:58:37 -0700 (PDT)
Message-ID: <2d741580ef0b5a2b3dea5e903f8bdacd9cda564b.camel@gmail.com>
Subject: Re: [PATCH v3 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Gianluca Guida <gianluca@rivosinc.com>, Bob
 Eshleman <bobbyeshleman@gmail.com>, Alistair Francis
 <alistair.francis@wdc.com>,  Connor Davis <connojdavis@gmail.com>,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>
Date: Thu, 30 Mar 2023 16:58:35 +0300
In-Reply-To: <0f4ec693-d3f5-d1d9-03fb-1a5918bae0b3@suse.com>
References: <cover.1679934166.git.oleksii.kurochko@gmail.com>
	 <93da6ba381604748e2c71e2ebd35e80798ec4bb2.1679934166.git.oleksii.kurochko@gmail.com>
	 <0a16b79e-8292-6947-24d4-dd027113943f@suse.com>
	 <fa074729-ccf7-cf2a-b8df-6c77ae3117f1@xen.org>
	 <66b64c69fdc1404d9ade4be97c4a184715e4c967.camel@gmail.com>
	 <0f4ec693-d3f5-d1d9-03fb-1a5918bae0b3@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-29 at 14:20 +0200, Jan Beulich wrote:
> On 29.03.2023 13:47, Oleksii wrote:
> > On Tue, 2023-03-28 at 16:44 +0100, Julien Grall wrote:
> > > On 28/03/2023 16:34, Jan Beulich wrote:
> > > > On 27.03.2023 19:17, Oleksii Kurochko wrote:
> > > > > --- a/xen/arch/riscv/include/asm/config.h
> > > > > +++ b/xen/arch/riscv/include/asm/config.h
> > > > > @@ -39,12 +39,25 @@
> > > > > =C2=A0=C2=A0=C2=A0 name:
> > > > > =C2=A0 #endif
> > > > > =C2=A0=20
> > > > > -#define XEN_VIRT_START=C2=A0 _AT(UL, 0x80200000)
> > > > > +#define ADDRESS_SPACE_END (_AC(-1, UL))
> > > > > +#define SZ_1G=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 0x40000000
> > > >=20
> > > > No need for this - please use GB(1) (see xen/config.h) in its
> > > > stead.
> > > >=20
> > > > > +#ifdef CONFIG_RISCV_64
> > > > > +#define XEN_VIRT_START=C2=A0=C2=A0=C2=A0 (ADDRESS_SPACE_END - SZ=
_1G + 1)
> > > >=20
> > > > I first thought the " + 1" would be rendering the address
> > > > misaligned.
> > > > May I suggest (ADDRESS_SPACE_END + 1 - SZ_1G) to help avoiding
> > > > this
> > > > impression?
> > >=20
> > > I will jump on this to say that I am finding quite difficult to
> > > review=20
> > > code using define/variable that contains "end" in their name
> > > because
> > > it=20
> > > is never clear whether this is inclusive or exclusive.
> > >=20
> > > In this case, it is inclusive, but within the same patch I can
> > > see=20
> > > map_end which is exclusive.
> > >=20
> > > For this case, my suggestion would be to remove ADDRESS_SPACE_END
> > > and
> > > just hardcode the value where you want to put Xen. For others,
> > > you
> > > could=20
> > > use (start, size) to describe a region.
> > Thanks for the suggestion. I'll take it into account.
> > >=20
> > > Also, are you sure that all the CPU will be able to support more
> > > full
> > > 64-bit VA space?
> > I am not sure but based on Linux it looks like it is true. ( at
> > least,
> > they use the same definitions for RV64 ).
>=20
> Hmm, the spec has this text in a rationalizing remark: "The mapping
> between 64-bit virtual addresses and the 39-bit usable address space
> of Sv39 is not based on zero-extension but instead follows an
> entrenched convention that allows an OS to use one or a few of the
> most-significant bits of a full-size (64-bit) virtual address to
> quickly distinguish user and supervisor address regions."
>=20
> Apart from that all descriptions look to assume that the top VA bits
> are simply ignored for the purpose of translating to PA, which would
> mean that any address within the 64-bit address space can be mapped,
> and the same mapping would appear many times in VA space. I wonder
> whether that's really how it's meant to be, or whether I'm
> overlooking
> something, or whether the spec would want clarifying.
>=20
You are right the top VA bits are ignored but my understanding is that
you can't map any address within 64-bit address space as the top bits
are ignored. Thereby address 0xFFFFFFXXXXXXXXXX are equal to
0x000000XXXXXXXXXX from HW point of view and the top VA bits are used
only by developer.

> > I am curious how that can be checked.
>=20
> Try it out somewhere?
I re-read the initial question and also your answer and it looks like I
misunderstood a little bit the initial question.

So if the question was about if all CPUs support all MMU addressing
modes ( Sv32, Sv39, Sv48, Sv57 ) then an answer is no. There is a rule
that if ,for example, CPU supports Sv57 then it must support lower
modes.


If I understood the question correctly then we can add function which
will write/read SATP_MODE:
    csr_write(CSR_SATP,
              ((unsigned long)stage1_pgtbl_root >> PAGE_SHIFT) |
RV_STAGE1_MODE << SATP_MODE_SHIFT);	__sfence_vma_all();
	csr_write(CSR_SATP, satp);
	if ((csr_read(CSR_SATP) >> SATP_MODE_SHIFT) =3D=3D SATP_MODE_SV57)
	{
		max_supported_mode =3D SATP_MODE_SV57;
		return
	}
	... check other modes ...

~ Oleksii
     =20


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 14:16:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 14:16:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516750.801373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pht49-0000EF-W1; Thu, 30 Mar 2023 14:15:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516750.801373; Thu, 30 Mar 2023 14: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 1pht49-0000E8-TL; Thu, 30 Mar 2023 14:15:49 +0000
Received: by outflank-mailman (input) for mailman id 516750;
 Thu, 30 Mar 2023 14:15: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=+wKg=7W=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1pht49-0000E2-5r
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 14:15:49 +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 5e2620c1-cf05-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 16:15:48 +0200 (CEST)
Received: by mail-lf1-x131.google.com with SMTP id j11so24683993lfg.13
 for <xen-devel@lists.xenproject.org>; Thu, 30 Mar 2023 07:15:48 -0700 (PDT)
Received: from [192.168.202.197] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 z17-20020a056512377100b004e8373b2bfcsm5893447lft.176.2023.03.30.07.15.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Mar 2023 07:15: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: 5e2620c1-cf05-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20210112; t=1680185747;
        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=x8J+C50Gx9N8RiRxl2TNTDmWAh8ayiOOaz/OM0NNRRs=;
        b=D/ap/V2fa08cVTNI4gnxMoQfsB+D4GA+5ovbTi/c5tkmxnEKeXPRnvSJntbEM+Y2+l
         nnXpiDIyde3AUrGdgzKezvTRbh/+ZshhJNdXralPlwIxoae4CZadxaVzaF+BlNpUUzFO
         03bhFCKGC7Huxb8V4Cv7YPaa8ETilaXnI1BYEp0meP/5uABNQHpLoeS4JIcoOk2iTx6k
         PS7B5yUPWzJDuWQCYcqkMKeNEBDyx280RRK7Fgcc5sMUZacbGpiDyW2/O43aR+U0FNra
         EgFthDi0pOguBwwNp5NOm5/9s2PV2bYNHqRejc64JIqMOOwqcLRXgZPDGX5vfQcJ+4dd
         C/JQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680185747;
        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=x8J+C50Gx9N8RiRxl2TNTDmWAh8ayiOOaz/OM0NNRRs=;
        b=ef/1zaQVLV9TO9hdDd2strk57FsTjmVVfhiUzO/51iBDvL4Lhgv9O0fflfg5ZRvKMN
         yyJUYLjJhv/KuP9q5GuxeGVErolHmFJ72DQu3S1zGJNc25ooQCMi/tffUIxKU9ldGPaE
         q2HYTIKg3CFw3YHLVTPYfvSzkIBD8eI1C/+cM61xFa1TuBTubP67iFmKLNmRIiGlSjwq
         Bz9tljdJhLEhWKsO9DBGoMJGTcb3TqQ0nyXAGaQ5P7F/FZgHNDKSFjZhsspsNzLdoy1w
         VvO8NkwF0D2/irMuA6+qILQbYaeGctfbNpUNg2/xWGfu7Jd4t5rgZLLvGYi2F9jp2jML
         0wSA==
X-Gm-Message-State: AAQBX9fZh9yZoT377QQ9fySnTUqwNH0Z2m3iNRM7MdFuSntvuvY1RYVS
	hf+1nZpNrtBejmtXr8waXt0=
X-Google-Smtp-Source: AKy350an6njVXQeYw1ucmgFd0w+zZuWvXBlMcTC7M3VNcqmO0QVeoqkroAqhC1df8nJjRq1gJ4wkZg==
X-Received: by 2002:a19:7518:0:b0:4a4:68b9:19e7 with SMTP id y24-20020a197518000000b004a468b919e7mr7009449lfe.15.1680185747276;
        Thu, 30 Mar 2023 07:15:47 -0700 (PDT)
Message-ID: <66bc6fffbadf14212755b3cee806d43cfa843a0c.camel@gmail.com>
Subject: Re: [PATCH v3 1/3] xen/riscv: introduce setup_initial_pages
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Julien Grall <julien@xen.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>,  Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>, Bob Eshleman
 <bobbyeshleman@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, 
 Connor Davis <connojdavis@gmail.com>, xen-devel@lists.xenproject.org
Date: Thu, 30 Mar 2023 17:15:46 +0300
In-Reply-To: <621425bb-03ad-1a5b-f53f-553eeefebf44@suse.com>
References: <cover.1679934166.git.oleksii.kurochko@gmail.com>
	 <93da6ba381604748e2c71e2ebd35e80798ec4bb2.1679934166.git.oleksii.kurochko@gmail.com>
	 <0a16b79e-8292-6947-24d4-dd027113943f@suse.com>
	 <f83cf0373bdcf31d6d273d53949cb81f54f74d5a.camel@gmail.com>
	 <621425bb-03ad-1a5b-f53f-553eeefebf44@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) 
MIME-Version: 1.0

On Wed, 2023-03-29 at 14:06 +0200, Jan Beulich wrote:
> On 29.03.2023 13:43, Oleksii wrote:
> > On Tue, 2023-03-28 at 17:34 +0200, Jan Beulich wrote:
> > > On 27.03.2023 19:17, Oleksii Kurochko wrote:
> > > > --- /dev/null
> > > > +++ b/xen/arch/riscv/mm.c
> > > > @@ -0,0 +1,277 @@
> > > > +#include <xen/init.h>
> > > > +#include <xen/kernel.h>
> > > > +
> > > > +#include <asm/early_printk.h>
> > > > +#include <asm/config.h>
> > > > +#include <asm/csr.h>
> > > > +#include <asm/mm.h>
> > > > +#include <asm/page.h>
> > > > +#include <asm/processor.h>
> > > > +
> > > > +#define PGTBL_INITIAL_COUNT 8
> > >=20
> > > What does this magic number derive from? (A comment may help.)
> > It can be now 4 tables as it is enough to map 2Mb. 8 it was when I
> > experimented with bigger sizes of Xen binary and verified that
> > logic of
> > working with page tables works.
>=20
> Since this is connected to Xen's image size as you say, I guess the
> constant wants to move to a header, and then be used in an assertion
> in xen.lds.S. That way one will become easily aware if/when this 2Mb
> assumption breaks.
then we can not be tied to 2MB but to:
ASSERT(_end - _start <=3D MB((PAGE_TABLE_INIT_COUNT - 2) * PAGE_SIZE),
"Xen too large for early-boot assumptions")

>=20
> > > > +struct mmu_desc {
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long num_levels;
> > > > +=C2=A0=C2=A0=C2=A0 uint32_t pgtbl_count;
> > >=20
> > > Nit: Style (as before please avoid fixed width types when their
> > > use
> > > isn't really warranted; afaics unsigned int will do fine here and
> > > elsewhere below).
> > I will change it but I am not sure that I fully understand what is
> > an
> > issue with uint32_t.
>=20
> The issue is simply that ./CODING_STYLE says to prefer basic types
> whenever possible.
Thanks.

>=20
> > > > +void __init setup_initial_pagetables(void)
> > > > +{
> > > > +=C2=A0=C2=A0=C2=A0 struct mmu_desc mmu_desc =3D { 0, 0, NULL, 0 };
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 /*
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0 * Access to _{stard, end } is always PC-r=
elative
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0 * thereby when access them we will get lo=
ad adresses
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0 * of start and end of Xen
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0 * To get linker addresses LOAD_TO_LINK() =
is required
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0 * to use
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0 */
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long load_start=C2=A0=C2=A0=C2=A0 =3D =
(unsigned long)_start;
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long load_end=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 =3D (unsigned long)_end;
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long linker_start=C2=A0 =3D LOAD_TO_LI=
NK(load_start);
> > > > +=C2=A0=C2=A0=C2=A0 unsigned long linker_end=C2=A0=C2=A0=C2=A0 =3D =
LOAD_TO_LINK(load_end);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 if ( (linker_start !=3D load_start) &&
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (linker_start <=
=3D load_end) && (load_start <=3D
> > > > linker_end)
> > > > ) {
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 early_printk("(XEN) lin=
ker and load address ranges
> > > > overlap\n");
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 die();
> > > > +=C2=A0=C2=A0=C2=A0 }
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 calc_pgtbl_lvls_num(&mmu_desc);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 mmu_desc.pgtbl_base =3D stage1_pgtbl_root;
> > > > +=C2=A0=C2=A0=C2=A0 mmu_desc.next_pgtbl =3D stage1_pgtbl_nonroot;
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 setup_initial_mapping(&mmu_desc,
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 linker_start,
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 linker_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 load_start,
> > > > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 PTE_LEAF_DEFAULT);
> > > > +
> > > > +=C2=A0=C2=A0=C2=A0 setup_ptes_permission(&mmu_desc);
> > >=20
> > > ...: Why does this require a 2nd pass / function in the first
> > > place?
> > Probably I misunderstood Julien and it setup_pte_permission can be
> > done
> > in setup_initial_mapping() but here is the reply:
> > https://lore.kernel.org/xen-devel/79e83610-5980-d9b5-7994-6b0cb2b9049a@=
xen.org/
>=20
> Hmm, yes, his option 2 looks like what you've implemented. Still I
> don't see why the permissions can't be got right on the first pass.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 14:23:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 14:23:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516754.801386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phtBV-0001ha-Py; Thu, 30 Mar 2023 14:23:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516754.801386; Thu, 30 Mar 2023 14: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 1phtBV-0001hP-M2; Thu, 30 Mar 2023 14:23:25 +0000
Received: by outflank-mailman (input) for mailman id 516754;
 Thu, 30 Mar 2023 14: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=Wurm=7W=bounce.vates.fr=bounce-md_30504962.64259b58.v1-7038c390049c4f2fa21330f42d38cb72@srs-se1.protection.inumbo.net>)
 id 1phtBU-0001h1-HB
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 14:23:24 +0000
Received: from mail180-17.suw31.mandrillapp.com
 (mail180-17.suw31.mandrillapp.com [198.2.180.17])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6bf7a4a0-cf06-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 16:23:22 +0200 (CEST)
Received: from pmta11.mandrill.prod.suw01.rsglab.com (localhost [127.0.0.1])
 by mail180-17.suw31.mandrillapp.com (Mailchimp) with ESMTP id
 4PnQd42RGLzRKM5Zf
 for <xen-devel@lists.xenproject.org>; Thu, 30 Mar 2023 14:23:20 +0000 (GMT)
Received: from [37.26.189.201] by mandrillapp.com id
 7038c390049c4f2fa21330f42d38cb72; Thu, 30 Mar 2023 14: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: 6bf7a4a0-cf06-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vates.fr;
	s=mandrill; t=1680186200; x=1680243800; i=charles.schulz@vates.fr;
	bh=v03fKeJ1Dtzq5D3mOSYPhf696AKYLmjzEpsJ4srESXY=;
	h=From:Subject:To:Cc:Message-Id:Feedback-ID:Date:MIME-Version:
	 Content-Type:Content-Transfer-Encoding:CC:Date:Subject:From;
	b=KNB8kLnDhW2MvPnVTZmIKvfwAgmqcDOtN2wvqOFrAT2p+8oIb5uAicUINhAeMXpbl
	 hV/ikwRrCtdqb8NQ3XVmfuDDIPA/BG+/V3cPSyIbsqt4pYEOcp92Zo/9202PT+VSZ7
	 YF9lh0BuNpDwOTwd5uGod8sDF/T14t1gueR8XtXg=
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mandrillapp.com; 
 i=@mandrillapp.com; q=dns/txt; s=mandrill; t=1680186200; h=From : 
 Subject : To : Cc : Message-Id : Date : MIME-Version : Content-Type : 
 Content-Transfer-Encoding : From : Subject : Date : X-Mandrill-User : 
 List-Unsubscribe; bh=v03fKeJ1Dtzq5D3mOSYPhf696AKYLmjzEpsJ4srESXY=; 
 b=fVdSzXiK0p3IHqvcLGl73IWn9a0ejZYuHFMR/1YTyrNT+47gEs0ZhqH1OfYOWBGNUTHFHL
 zJUwdgNwOrgo0Uqz1AQSzxij7ZJbB32zviw3cw2lncEP5OxEhpqGOYJOoWZqkqa3Ggcd4kg4
 MG6jvb69RyrBRSnmhcrIyGOPY6LYI=
From: "Charles-H. Schulz" <charles.schulz@vates.fr>
Subject: Improving website content and an introduction
X-Bm-Disclaimer: Yes
X-Bm-Milter-Handled: 4924235f-784d-43da-a6b3-ae27d44c951c
X-Bm-Transport-Timestamp: 1680186199186
To: advisory-board@lists.xenproject.org
Cc: xen-devel@lists.xenproject.org
Message-Id: <874jq2tj1l.fsf@vates.fr>
X-Native-Encoded: 0
X-Report-Abuse: Please forward a copy of this message, including all headers, to abuse@mandrill.com
X-Report-Abuse: You can also report abuse here: http://mandrillapp.com/contact/abuse?id=30504962.7038c390049c4f2fa21330f42d38cb72
X-Mandrill-User: md_30504962
Feedback-ID: 30504962:30504962.20230330:md
Date: Thu, 30 Mar 2023 14:23:20 +0000
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit

Hello everyone,

I've recently joined the Xen Project and I'm working at Vates on strategy and
innovation. I will also be formally representing the company at the Advisory
Board. First: I'm very excited to join and do what I can to help Xen, it's an
amazing project!

Second, and on to more concrete things: I'd like to work on improve our
website, both on the content - in fact both the website and the wiki could be
improved- and on the style and looks.

If anyone would like to help and join me in this task I'll be happy to share
the work and the creative side of things as well :)

Please let me know off or on list if you're interested.

All the best,


-- 
Charles-H. Schulz
Chief Strategy Officer - CSO
XCP-ng & Xen Orchestra - Vates solutions


Charles Schulz | Vates Chief Strategy Officer
Mobile: +33 698 655 424
XCP-ng & Xen Orchestra - Vates solutions
w: vates.fr | xcp-ng.org | xen-orchestra.com


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 14:25:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 14:25:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516759.801396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phtDP-0002I5-8P; Thu, 30 Mar 2023 14:25:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516759.801396; Thu, 30 Mar 2023 14:25: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 1phtDP-0002Hy-4N; Thu, 30 Mar 2023 14:25:23 +0000
Received: by outflank-mailman (input) for mailman id 516759;
 Thu, 30 Mar 2023 14:25: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 1phtDN-0002Ho-Cp; Thu, 30 Mar 2023 14:25: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 1phtDN-0005ic-Ay; Thu, 30 Mar 2023 14:25: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 1phtDN-0003BG-1Q; Thu, 30 Mar 2023 14:25:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phtDN-0007ae-0x; Thu, 30 Mar 2023 14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=U4hdrR7/6hTGRqEOY5SCrHP2kEFAtXX33hn5PWl2niM=; b=ZJpWnCBttiMMi83nNiT7c2oct1
	5iw4xPKr5ky6iT9We6tGQtU4GEHeIVmbd7Hv11dRKbmLHzo52rMWkjXUpqQcetqWSvcW5kQMM3pkc
	cPj2C4Pua2vy2k2KoAta9xZ+Y1k4m/KnIjiBJ0x15bVuILFMwwg5a4rhpe1laVMP5sVA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180065-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 180065: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=f41c88a6fca59f99a2eb5e7ed3d90ab7bca08b1b
X-Osstest-Versions-That:
    xen=eef4608fe71feddb5fea86678cf3acaf84d10fd2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 14:25:21 +0000

flight 180065 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180065/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  f41c88a6fca59f99a2eb5e7ed3d90ab7bca08b1b
baseline version:
 xen                  eef4608fe71feddb5fea86678cf3acaf84d10fd2

Last test of basis   180058  2023-03-29 22:01:58 Z    0 days
Testing same since   180065  2023-03-30 12:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   eef4608fe7..f41c88a6fc  f41c88a6fca59f99a2eb5e7ed3d90ab7bca08b1b -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 14:27:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 14:27:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516765.801405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phtFg-0002st-L8; Thu, 30 Mar 2023 14:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516765.801405; Thu, 30 Mar 2023 14: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 1phtFg-0002sm-I5; Thu, 30 Mar 2023 14:27:44 +0000
Received: by outflank-mailman (input) for mailman id 516765;
 Thu, 30 Mar 2023 14: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=fiWc=7W=citrix.com=prvs=446b09b9a=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phtFe-0002se-SF
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 14:27:42 +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 04fc61b3-cf07-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 16:27:39 +0200 (CEST)
Received: from mail-dm6nam11lp2172.outbound.protection.outlook.com (HELO
 NAM11-DM6-obe.outbound.protection.outlook.com) ([104.47.57.172])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 10:27:35 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by SJ0PR03MB6328.namprd03.prod.outlook.com (2603:10b6:a03:395::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 14:27:32 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Thu, 30 Mar 2023
 14:27:32 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04fc61b3-cf07-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680186459;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=9kCejjtMqF0Et5ss0EUIpsTP+/xrK+qjCpkBhj6gq6w=;
  b=OOtZ7G88rNqgIIbR9f0LX+kCS0jN5L69pcvbqHuWxJDrm/2SDUxDY2jS
   Gu5drkmcIa/AUhHB6JGDq117/eEPr3KvE0aQmR8Yan4CZjT8szL5Pcd5C
   mCFUwCSy8aQc8TBv6FzLPwG4epGl6Hc4wzhfAzx/FtPpl05Iya2tHaiIS
   8=;
X-IronPort-RemoteIP: 104.47.57.172
X-IronPort-MID: 103719457
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:Kf0LQq2sqiZwgilUlPbD5fVwkn2cJEfYwER7XKvMYLTBsI5bp2cPz
 TEWCz2FOfmNYzfye4oib4nlo0kB78XRx9UxQVE6pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdlPagR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfI15h1
 tIROi8xZSvZicOon+qCe/lzv5F2RCXrFNt3VnBI6xj8VK9jbbWdBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvC6Kk1YZPLvFabI5fvSQQspYhACAr
 3/u9GXlGBAKcteYzFJp91r13rSQxHKnBd16+LuQ+d1xpUHP6V0qLDosdH+UrvOdrmCcVIcKQ
 6AT0m90xUQoz2SpRNTgWxyzoFafowURHdFXFoUS+AyLj6bZ/QudLmwFVSJaLswrstcsQj4n3
 UPPmMnmbRRwtJWFRHTb8a2bxQ5eIgAQJG4GICMBEw0M5oC6pJlp102VCNF+DKSyk9v5Xynqx
 CyHpzQ/gLNVitMX06K8/hbMhDfESoX1czPZLz7/BgqNhj6Vrqb/D2B0wTA3Ncp9Ebs=
IronPort-HdrOrdr: A9a23:aSVtlq28JogdetT6jkkigwqjBB8kLtp133Aq2lEZdPUzSL3oqy
 nOpoVk6faQskdtZJhOo6H3BEC/ewKlyXcY2/hnAV+NNDOW3ldABrsSiLcL+lXbakrDHgQ079
 YYT0EGMqyVMbEYt7eL3ODbKade/DDdytHSuQ629R4EJmwHBM8Aj3YbNu+1KDwNeOAsP+tLKH
 Pz3Ls6m9JgEU5nDPiTNz0iRfLfq8fX0L3vYRsbHBI8gTP+/w+A2frdCQKE0g0CFwxC2q0j92
 /e1zH57rjLiYDO9jbsk0nI9Ylbgsak9ddZHsyLjdJQFzTtkG+TFfFccozHmiwpr+Sm71RvtN
 HNphMpOK1IgU/sQg==
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103719457"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kRuSfGJ3VCCu5l1og6AIlMRjnxVrZvyNqI2ega0ljpHGAJuy2ZjZKj4IPiKEoc6KC8FXLQEcLAskenkqAtyHOijFuDT3TZzr2dHlryrVJaNRn1CwEjLRs77Ck5JSALyUtDcUuD3w9DtKwGW93PAyZx8IVQuHuutvtzOrZDobJrHvNMEC7U1LfomRkc5g1oeEulSBvSMcQ9lLaJzotvKf+wFPb95MSmOjBWVl67egggxwXwGL/Vud+WCPV6sF7oeXppqDKamTpviRg6yeeQEflyc82HSZzbJtg5WZzx4iiMdeSjbQD38JimdJ8wJwX5Cte/z0hQjBnW0j1YL+x6TlRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D6e9yUkeExtSMix4yJ7tPcifc8tfU+ivlAi1upaQmqU=;
 b=U3kg0N17cRkuB7KN0odRAcGK83zH20Y92659IDniowLXm8lWzVF8Sgl+qlJRxSNB/si5mKMHMN+e9Wao94jKnUbw5xz0OFRUd+MbLyzy2hFobHLhsLlrDZXwwUa2Oh7nJGXfT8CsBqsAvIlHA9PNGtdjIU9K2eDEpaZAMZgSRT0aLxQmqpoEoyrlnI3elgaGXyW24rZvdAqvOEAWk4iJxaIx8TE5u1rY2l5deb523O+KjNBoog0z062UMRKTAwftrRPt+92yDABnhS1+715nseS9juyjon61bGYjtmryHfM1mcL/g0wlt9CPZDp+wKX0DNoNFDfYRK9J0vm9CR9JtQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=D6e9yUkeExtSMix4yJ7tPcifc8tfU+ivlAi1upaQmqU=;
 b=Ji8yoChM8mflsdh44XOhuD7EjN3vPWeaIeukUDpdqi4fxMMF02SUU0WJkSc/aNYCj0LpVt/iIO8FTZZ6EwEYuwPvz/kTzCgz5jC5GW9W0QpPICSrxKkwoBo3vnzv7fMzH+PrdtLE0H9/CiYLYwf01hsjDZnA0VpIuh8gUOVMRgY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 30 Mar 2023 16:27:25 +0200
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 v2 0/8] x86emul: a few small steps towards disintegration
Message-ID: <ZCWcTVLcr02LSLoF@Air-de-Roger>
References: <7f5287ad-8442-6c53-d513-f9a8345c4857@suse.com>
 <ZCL3W/HrwLANuE/0@Air-de-Roger>
 <40d58ac1-d0bb-afed-c0ae-c545c7bff30c@suse.com>
 <ZCRIbKcfi8hn1m8Z@Air-de-Roger>
 <600f8643-fddb-e9f8-3d73-41eead3d7cfa@suse.com>
 <ZCVcPQNBS3bjVF+W@Air-de-Roger>
 <6591a671-a71e-f669-749f-c36dcd593cde@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <6591a671-a71e-f669-749f-c36dcd593cde@suse.com>
X-ClientProxiedBy: LO4P123CA0520.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:272::16) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|SJ0PR03MB6328:EE_
X-MS-Office365-Filtering-Correlation-Id: 71bb6d85-58ea-4026-bce3-08db312ae60b
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9fPuU1P5nFnaqBryUJv0r6o8Zo3QldX4slcxNDXIilE0IkSgaUKNSdWPuGwbrgmimtGNZLxQeSyAJlUXNDjsa4BRZvOqqSfo/VC8T8N0ko5y0vz2uLcSTH5F6YpL80hnY6pcdwVrqrI+ctVbLmhHnHw63cjEqERHe8qYWLcAmkAY3WEgJLs3sapZP77rHIVSPfEcvANIeWKGOcax4N/3Y2ZFyqtfUiISNLr+PwO0lk4reyRkY3X5sjZ6I6BjYso47Ty8GbQNWTBxYV0j8o5SGMx/ZobTy95LTXBFfFPaiDIKo6cn5M9MokSD5mxO6Zdy3IbPMFo2ifCiZaEK2fDweDKyOMP/BiSJCgIAyzYTY/zDE189LBgAj+bd0kWisCxopKN93aphws7Z+6MGmcslYhhmVwA2Pxll0yViJyffh0cCA7S15RnW7SJ0bgwUyUWcO1vi5KmAFtTQ/APjMASIYqJIHOmk/UhH97I/i6Bw6kszfsbnGt9hJo4Q3c5OZ1rBlmHlHNhvvq96ZDNDndHJ1ImWwCfi+xf82OeqCw4V4sIdqVezxd6g3ata/v1BMxgA
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(7916004)(39860400002)(396003)(376002)(346002)(136003)(366004)(451199021)(26005)(6486002)(478600001)(316002)(186003)(6666004)(54906003)(9686003)(6506007)(53546011)(2906002)(6512007)(5660300002)(4744005)(8936002)(85182001)(33716001)(6916009)(38100700002)(4326008)(66556008)(66946007)(82960400001)(8676002)(41300700001)(66476007)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bGJITHlwejZCbkhtNHpTMkFMUXduZ0lOZzI4S1k1a0czTFVRNS9pem9TbklV?=
 =?utf-8?B?Z0lFS1FkQU51Ti95TThhbG85UXdlV2kzbWRSMlVUWFBlS2lxbitXcmVKanNB?=
 =?utf-8?B?WGN4R0xiUnpxNmp0aEk1K25QK1o5M1JRMUlnWjd6c1kvdjlyZEVLa1VzbHRF?=
 =?utf-8?B?ZEdtdkt1dExsQVAwRTAwalZyaWkzTTdZRjg3UFlDZVVUdzF4eEU2STZBN1BH?=
 =?utf-8?B?KzJMSnI3VW52MGpCaVQzZXY1ZG94bm9hdlNBRDNCNFdyeG5RdUFUM051MFUx?=
 =?utf-8?B?cFMrS2ZhWEJ2WVBBZytrZ21EUFJRdFFzTHJzZm84RnZNV2dtVVlqcWE4Vm5H?=
 =?utf-8?B?MTZSYVdNai9MRURnY2JtQmhsNlJvcFdIV29aS3lHb1p4MWI5bXNyOE9USHY1?=
 =?utf-8?B?TUNtdGhXeWZ1bVhEZkh3TXErTVYvWGVyeXIyU09xLzN3VU56RlRYeVRnakQw?=
 =?utf-8?B?YkVjdXVVOU5zdEFSRzhyeUtyT2JsYmdTbEM2dVU3Rk5LOTlVcVExTWtnOVdB?=
 =?utf-8?B?V3RZNzVHeS9QRUZ0TGFnMGRKYlZreGozMlduY2t5Tk16ZEdxUzZpVjBaTWRP?=
 =?utf-8?B?T0x3SzM3bFVlTVZ1Tm5qMHo2VG9jVzI2NTJ2TlFvNFJyenUvM0R5dDA4VzdD?=
 =?utf-8?B?Y1VSb1c5UDd5RWpUYkU4TXpDSDlobGVPQTJGMktrVSt6ZTIyd0NnbW5BempP?=
 =?utf-8?B?eUVwd01JV3pwbCtMZTV4dk1WdEt3Nm1NdkZVOXRud1VzSTVYSGF1YkVYTnNM?=
 =?utf-8?B?Qm5vOTk3TmZSVnFoNXNJY01aTUNLMlo4LzJHT01yRlRtRXJMV2F0V3FaaXhi?=
 =?utf-8?B?TzM0dE9VSmZwdXVQTGw2RGlsUkRwZU5aWlM0NFRJeHJYZGFBREtpSWJsOVpu?=
 =?utf-8?B?QjlNVUh1UEJGODF6RTRPNEtDVDE4RUNNZXN2WVRvdy9tUVNiaXhJSUJiV0FZ?=
 =?utf-8?B?Y2FCeWYyaVoxRzBiSzBJL1lMTTFWL1ZjWXk3WmllTlFwOTF5dWRSUG1sTVRZ?=
 =?utf-8?B?RnZudWE4a0RqY2FoY3diZmxDUmw0SnF0bVNCdURNMnBjUituYmRCeVM4SlNz?=
 =?utf-8?B?d0gwVktBZzV2MVh2Q2VNeDVLdDdiMmtFd0R6dEovWm5qdTEzZTFYUDNucnk0?=
 =?utf-8?B?c2o5Mzl1WTlwR1cvWnA4MEhDMG9nSWE4YkovNzUzTmtRYkYxemlGYWVQSXky?=
 =?utf-8?B?cFVjaHU2UWdITWhnTmZ6SWtsZm1GMFNyRzZKeHk5RlRNK3FRaXNJK2FtVFVs?=
 =?utf-8?B?c2trdVQrallKMThFOEwzNS9ucUJLejNyS29XT0tUS1k1OVY3bDBTbmpHdDZB?=
 =?utf-8?B?RU5RUjc0UnNLVm96T09BVFhBckhGQXAvS3ZHa0srb2dGaEQ3RENaWHVkdzFT?=
 =?utf-8?B?QVhvREd3ZXl2TjFScXZNcGFMSnFTdDRyak12eHlBVlM3M2NhK04vdHR1WmFx?=
 =?utf-8?B?MEtVTzEwajM1bDJzZEFnTk1IZDVTWFhhVnBPMGQvKzdiOWh6Y1hPRHVxbisw?=
 =?utf-8?B?a1JBUU5XKzVNSGptS0xNT3dqRTd1UGZSd3JOVU1tSStVZXJ0YmVyMmY5amY2?=
 =?utf-8?B?cjIxcXB3QUlwSmtkVVpsSkx0WVB4Q09ORlpnOWp1TkV5cUluS2c1a3RLVll6?=
 =?utf-8?B?S00xT3I2cENWTHNnYXh0eFRaM2FjY201OGN3Qkd4b0lmN1h6MSttbXE3Zk9M?=
 =?utf-8?B?OGljdGkxZHhhV0d0K2l0bmlUQUlwcnNVZUVNRmYyYmNKMzd3b29Ca08vQ01o?=
 =?utf-8?B?bG5mTUNTZFpRRWIzOTlxZFd6cndkcGJzUFlqdTNxWVdobE9rV28vbkZSV1JN?=
 =?utf-8?B?WnZhU3hlRWh0TDZmdjVlU0RUdWR4a3FrV0FTajlQVHBPVVBGTFYvM2VWVnJF?=
 =?utf-8?B?Y29OVnpCbTRjRVRCcDNrdmlJWURMbHlUVnZlRWNXU2hpYVptZkRSMGRTNisz?=
 =?utf-8?B?TFpsLzhQYmxNWVN6OGQ3ZVhQdklRWndiOHdjNjBmWTJDL2t1cEFuS3pRQWto?=
 =?utf-8?B?SzVJaWpJeWJ3ZWtQT2hYMllkeXNweW9IZlV5eDJtS3BnZ2I3VkJvTzhHL3BK?=
 =?utf-8?B?NGVNNXRPdjh2MWp4L3hTTDljZkNSd3F3YVl3VXRweVROMEFxSEs2TC8wYUxV?=
 =?utf-8?Q?D5ttVN3xWdMudgFZDBspdk+0z?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	tnv+6a1A5AzB2qWFaYuWlRe7uw8O6Lx8HR5ePogM/qjD+mJeoOraPJh0S5zIapkDutGcAwp9BjmwOK5jWVdl235YMHiS4Gl7eCYYtm7FuLiRwJvG9tfGJOjWDywX3pkSR9jmEcLOQnNhxBGFMSEnvSrubAV58J06W2Ag89PI3c8FOtGUJ2Co6NJ28rIG2vTkWXg5fAW19v1sDhY5V5b6Dib+H004hN88B+XF7kfQCr9lbqCD07TuvsL0xJvcKdlvxzkYJuws62gdTuSzn+fP1B1ULF/mfjv+Ozc9nOhaxZ57alJO+oHRxFOrUjepONGmviHg7YtRwqvYT5CAoHMkekg2i2OX/BncHzKpEydWkDaLUEaBTmn4GwKdjVYTJRHnQCO61HRWyZDfAiKZ8H2E+BYeyzF+mErAvLuzza1+MYLUCQyC9gLZ57E+DygiJbmJgnFwwsBatrjS4XzdxqBSeW4sXzWGuSaaJACNh/lIacYG1lVu9hRnPUdLOB8sVmJRyFViTrpztm/ro3Q+kaVIWEdg5hSmKWXt2xu/M7QUB+B1JpjMVrZJb64bKe+d7vSx1bWiK6vPmI7EnxMYzhEpPTVgE/rzDjvLz5GJgNZ8n91zsonjjPI/4hDttxgAG2gCKvlMIoMm5ucENq0770G3qB1OFZD+VnfLe8UFIE/kiSKymQ4YFO9iM06jp47ai5QqsyCPSuXTaIGg7FI9tX5A0s9xI5hcbGwf5Pobpx2QSZUeCMoVHFr7U87ni86LMDdxljGO0aSTqamxOh23rmwd+kyn6R/K4agam9HF8WBn6rWxJXvT0ZeEGrnH397Y+Ykc
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 71bb6d85-58ea-4026-bce3-08db312ae60b
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 14:27:32.3316
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xF8iK706TRy8AAeGj5HP6Brj7ybU4oahia76RRzoErF0gw/uMw2DGSfhC+8sU3Xr//3QqVzw+wFhXGTa9nfRKw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR03MB6328

On Thu, Mar 30, 2023 at 01:40:43PM +0200, Jan Beulich wrote:
> On 30.03.2023 11:54, Roger Pau Monné wrote:
> > On Thu, Mar 30, 2023 at 09:53:23AM +0200, Jan Beulich wrote:
> >> On 29.03.2023 16:17, Roger Pau Monné wrote:
> > Patch 8 I'm unsure, I guess it should be up to the user to decide
> > whether to use -Os or some other optimization?
> > 
> > I expect introspection users likely care way more about the speed
> > rather than the size of the generated x86 emulator code?
> 
> Perhaps. But do we want to introduce another Kconfig control just
> for that? And wouldn't there likely be other performance concerns,
> if performance really mattered in the introspection case?

I don't really have a strong opinion on the usage of -Os or not.  It's
likely fine as long as we also stay consistent with the flag we use
when building the test harness and the fuzzer, just in case.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 14:44:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 14:44:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516770.801416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phtVQ-0005Ne-31; Thu, 30 Mar 2023 14:44:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516770.801416; Thu, 30 Mar 2023 14:44:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phtVP-0005NX-WD; Thu, 30 Mar 2023 14:44:00 +0000
Received: by outflank-mailman (input) for mailman id 516770;
 Thu, 30 Mar 2023 14: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=fiWc=7W=citrix.com=prvs=446b09b9a=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phtVO-0005NR-O3
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 14:43:58 +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 4aab0742-cf09-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 16:43:55 +0200 (CEST)
Received: from mail-dm6nam12lp2173.outbound.protection.outlook.com (HELO
 NAM12-DM6-obe.outbound.protection.outlook.com) ([104.47.59.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 10:43:52 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BL1PR03MB6184.namprd03.prod.outlook.com (2603:10b6:208:319::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Thu, 30 Mar
 2023 14:43:49 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Thu, 30 Mar 2023
 14:43:49 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4aab0742-cf09-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680187435;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=Fz+xn4mLsHIv6fC3aB6/JxLx7esqtEHvF8seELfnPSA=;
  b=Z7DIxJGtFE5rMw8gwqOp5xgLVH0IpLDkA2dlDnCsFqolph6sDDolKe5A
   sGmwx5LZ3J81IDwvO9sLDwmJzIY+29vqw8CzM6UbGa1B0Fg/b5i46aFfY
   AiYUB0G7X3LvxJp8wuY1ZzSIq4oOZL9BISsagMODB9MV33XFxe+cwXFnp
   A=;
X-IronPort-RemoteIP: 104.47.59.173
X-IronPort-MID: 103722116
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:t65HPqAahRrkNBVW/w/iw5YqxClBgxIJ4kV8jS/XYbTApD4h1zYBm
 mFMUG2BO6mDajH8L9skYNzkpEgOvsDVm4UyQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhD5gRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwwblTMVhs+
 NokDi0payHcmfyqwu6qc7w57igjBJGD0II3nFhFlGucIdN4BJfJTuPN+MNS2yo2ioZWB/HCa
 sEFaD1pKhPdfxlIPVRRA5U79AuqriCnL3sE9xTI9OxuvDO7IA9ZidABNPLPfdOHX4NNl1uwr
 WPa5WXpRBodMbRzzBLcqinz3LWWxH2TtIQ6SJin/9pQnwWvmWUoAgYGcGCjq8CAoxvrMz5YA
 wlOksY0loAi+UruQtTjUhmQpH+fogVaS9dWC/c96gyG1uzT+QnxLkouQyNFadcmnNQrXjFs3
 ViM9/v2ARR/vbvTTmiSnop4thu3MCkRaGMHOykNSFJf58G5+d5oyBXSUtxkDai5yMXvHi39y
 CyLqy54gKgPickM1OOw+lWvby+Qm6UlhzUdvm3/Nl9JJCsgDGJ5T+REMWTm0Ms=
IronPort-HdrOrdr: A9a23:MAhplKB4v0Pp1OnlHemh55DYdb4zR+YMi2TDtnoBLiC9F/bzqy
 nApoV56faZslYssRIb+OxoWpPwI080nKQdieIs1NyZLWzbUQWTXeVfBEjZrwEI2ReSygeQ78
 hdmmFFZuHNMQ==
X-IronPort-AV: E=Sophos;i="5.98,303,1673931600"; 
   d="scan'208";a="103722116"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RsluwsBEHm318guvOkyAYFdqnCqiZua/xbfwpsMrl+6gzmyvPNRLpLMJNZmfUQ9MWIAJMCCfrxCNSzQ7LhgREmQ21H3yqfCvrUib9v7K8SRqMNSFWAck5YItAWBoKuSvO+2x7ZtTC9tx9T+i1h1+k3tVIjPr+4yRHKc773yWGH0BIT2TXzuVAGwWeIXhaQcYGJ6Ni0QjZJUOw6srZdKkdr17YV8rYTLXZu3wtHyIu5JnROCF9jESfwKCxfhLtEcQpGuTWtZWa1NrSKjGFYHVwUcFpu6by3WEcfe4KzvMi7pQ+kv4KaebABOCPG4mLlk2AEPUzD7qHTjK9NmRUn1udg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pBmGcunSnTSN+LCjGzQyIiwP8JZ3jQ2WREZ87h1YaHI=;
 b=AdnB9Se7Kv0hx6R+gxwUGHHKEqgbRiF0wi3t1eTtji01UkEipmbT531ffcztlTOewtkEh35VCaJsms/8Xg+zSuz7AiEbIKOTlOFYCnxu+S074pG8emCw5sOvMMuN61WlIWcWMhusxnKnJ1tcDBgI4hNW7vZCe5BBDqsmURo63MrWF04CWQ9h3prYscKwdi07+Ryimh4A9n2m98TzhW773RJJfVuP+uvLKUTUePsXwltVOHu4ph4XI93w895ztk0hUpKes3ogXzfPoqJtsZsr/BAfzMCISkF3VpoBMkFykqsJjIeUm8fxZtHItK6gfrispX8JvE3doj6PsdgausUraw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pBmGcunSnTSN+LCjGzQyIiwP8JZ3jQ2WREZ87h1YaHI=;
 b=UHWL4M+t3/n6pLsfFMFK8l56mR3fSJcBVdNXGjZzxKG655osYOFbDgv5JQ1+i23sLPrWygtNCoUPsL4WpGgVbLzJiFna1Er3aFgsknewv691pYO2M7/DmRP1rYPz6oKuknZNme+dNuFshbl7/Hg/5FtC1enZ6RL+8FKxNsp+z5s=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 30 Mar 2023 16:43:43 +0200
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 RFC 0/9] x86: Merge cpuid and msr policy
Message-ID: <ZCWgHxCL4yXD6CxC@Air-de-Roger>
References: <20230329205137.323253-1-andrew.cooper3@citrix.com>
 <ZCVtcR5u/14/WmCU@Air-de-Roger>
 <9108a58f-da8f-14e4-de88-a7c8c8abb0f7@citrix.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9108a58f-da8f-14e4-de88-a7c8c8abb0f7@citrix.com>
X-ClientProxiedBy: LO4P123CA0286.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:195::21) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BL1PR03MB6184:EE_
X-MS-Office365-Filtering-Correlation-Id: 34a4c611-2075-42ba-2d64-08db312d2c49
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Kbjw4q++cENjDLnHcfKElw9HmGH2+2CjuGPLm6HfD2+Cvgk2jIcZE4J0/r37Hvw7lEiAMXph0m0/49Zxm+0FcVMMQWIWxsDlBSWRNaHB+oqp10s1ARqt9t6EJ7z4egAB5LPCCEwKNFzEV3qcr2jIXuBOFXjL70S6LThZmKbEEJ9A5s6bVJ2zCGLGnBW4qpb8PkKlEshbTL7ynjYXuajy63DJO9qX+ObTV7TUdb6LhUnmcRfrI8DBuXpC546YR6a5HYFMj5IeCIO8SNusSXO6CmU7j4miIXsYMSwXmXpFjpLrwZQSSYtW/zUngugn+A/kY1RBW1VkAQ5tZecHnP8vNF5954oy6DmFaLLfO5/JZHHdWjHTSdyXwPbaxPTkolvbO8B2pkPAR08JX2LdPSFp+PCQpa47JJhk42cN5yQOp9MDtJO6xhQr/OCJ+zQm0Y2xU68SxQpPlea6uWYcZWa5N7rfioqGELW5Yr1ZhHAAr6dkn7LIWSOmDgm4AhWwmgjZ7ZFaxF3u23o3bc2sL+fWZLvCikGF1hyypRhwk21PfZw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(366004)(346002)(376002)(396003)(39860400002)(136003)(451199021)(4326008)(6486002)(316002)(66946007)(66556008)(966005)(8676002)(66476007)(41300700001)(85182001)(86362001)(53546011)(186003)(54906003)(6506007)(6666004)(26005)(9686003)(6512007)(5660300002)(33716001)(8936002)(6636002)(478600001)(82960400001)(38100700002)(6862004)(2906002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Zm1BUDR1aWJFLzlhUUlHU05XdlI1UzA5VTVCZ2s1cDlLU3lyRkZ3Vk5qOFp5?=
 =?utf-8?B?SlgwVkFyUlRMZU91ZFMxK2gzSndBYVcvblhhMmZFWW5oRzZlaWwzby9CbUF1?=
 =?utf-8?B?YlVDWlpGZmZsSXFEL2dnRmRQNVREczJER3FZOCs3ZWxUU0YyRXZPKzV6bm9o?=
 =?utf-8?B?YlYzK0FuY0UyV3RlZmRzbHdIY0VmSkVSR3JLc2hvL0V6WE8yQVdWNERkN1Ry?=
 =?utf-8?B?Zm5GRk52TlUrQU9ydGxSeW9ta3V0dEt5YkdFWGc4aU40dnRkak1lY1RRQlAr?=
 =?utf-8?B?TUZiVnl2Ykd4SlR5N0dQVk1vc3hSTHcxaDhoYUtGUzdTbWpqSlBscllnMVRL?=
 =?utf-8?B?UUlvQk5Sd2lGS1NhY3Btc2NyVU9GWnJYa3k2SHRyK01USXBzVDY0WXllaVRN?=
 =?utf-8?B?S3pYRW85YWhQc0xoMk1tMkxaV3FQYXAzYXdYNGdPNEh4NnJEYzNkRHZCam1j?=
 =?utf-8?B?Q2JnaUQwa1VvZGJKVHJ5SHpYenR1M1IrN25ESDJqTFZIbXlTdjJBRUJZUVFK?=
 =?utf-8?B?L0NIcmJOSkQvVTgxYWhBODA0aStOdFV3RENCZk4zK2hVWHdESjVOUVl5SVJo?=
 =?utf-8?B?bnZHckJJMU9Uc3hWRHNaVTV1TmJCcDNXb20vNDFhQ1U0Wk9iVWdZY2hsQ3BT?=
 =?utf-8?B?a2hQVjYvUnd3K0NNeXRpWW81ZEFnNnJweU9CV2R2OXZEU0hEUnMzdCtVc01n?=
 =?utf-8?B?dGd6VTZRcjQ3TE1NNXhjY1NmTHA3RGJzNVhtelhFQkRrOXhFN1V0Y3lSMC9S?=
 =?utf-8?B?NDJpMDlIY3d3Q0lxRW05RHNabEdFSDhIVWR5MTAxOFRQODY3a3dWTkRmRnZn?=
 =?utf-8?B?YzczU3UyNzdMaktQU0gzQlFmTGpBZ0s0NXY3N2RHcTRlNkZRbWR5eFp0dGth?=
 =?utf-8?B?TmRGdEJrYXJheHc1V3NLUmFwVWtQalJDVG1MdHByT3h4QklaSXovZldKTEJT?=
 =?utf-8?B?ZUJnMGIxYnNsZ0RlbmVnR3RoUytxdDhBTGRPREpuSi9nOXJQMFEwMEJ6VnI0?=
 =?utf-8?B?bUhOV3ordzBweXJ1VGpHa2F0U2U2MVF1NGVTaVJER2lIVFJIQ24yT1FtUEty?=
 =?utf-8?B?V0xieHNCeDFkNGRpT0hFZCsxME4zTDZOOS9TUFFGL09MQmQ5RXFTb015MzJ6?=
 =?utf-8?B?OCtvb3Z6SFl1eFB3M2pYWTFrQUo0ZzZvOUtLd0l1dGVyTGE3REZnTi96b2d3?=
 =?utf-8?B?YlUxK0twTzRUdllTZ1ozaklpRHgvNlgyU3Q2WFp1dG5lWWkybDRJZ2poWXlx?=
 =?utf-8?B?SWZaa1NTYVY0eG1qYmIzRENSUTZoT1lGOGJ5NkdkUUMzc1oyZk5ZWHBmWVo0?=
 =?utf-8?B?a3J6TURaNHBFSDNCVlpxQnFCQWVVZzMyajRNOUVWTWU2em8rcjNvcWpjeHB1?=
 =?utf-8?B?N1lXQ3dBa1JESGRNSXB6ZW1aRVAzUFZreTlvaXN5M3dmZXF2MTBNV2NvVlRK?=
 =?utf-8?B?by9KQnc3QWdNbHFxRERiV0YrNExYRUthQkV0emhqbUIrYzY5aHIyRERCQWZQ?=
 =?utf-8?B?VHpsTUdNdEpmc0F2dDl2aXR5WG01SldrbnhKbFU1OUhnbmhka3hUN1ZTUjVm?=
 =?utf-8?B?aDhsOCt0ZTJZbEQzWEtUeUZ1RmZqWWdmT3EwMFR2c21OdWRoVmY3bFVwUmpy?=
 =?utf-8?B?REdWMUt5bnBJWVZhazlFTHRBMlU5M0YzcStNc1ozZ2g4eHJEeDdINHk0a1lz?=
 =?utf-8?B?YXlVVEZjaWRqZDF2emkxQjhjWHZiWjVGWEY4Zy9uNWlwdURUb3BsT2w5cG40?=
 =?utf-8?B?bmF6MlFuWXhPSUNYNW1haVQ1RlpXai9qNFFJTDMvN2Z6TGNwNWErbEpVU3JT?=
 =?utf-8?B?ZnJhUnFKOEVMRkdzc0dScVNoS2hrWCtBQy9XcEoxMmhsYkxPMXpLK2I3cUsw?=
 =?utf-8?B?cHkvbFl0QWhSYjBaYU9QMWxtUUY3UU1sRjAySlhXUGpYTzU0Ylg4ODNZL3hW?=
 =?utf-8?B?WlRGeWluN29KNnhHckRXN2VNMTZuVEJOcE5MZm1PT3FSVitOWGZocVZwY1Vk?=
 =?utf-8?B?TTZ2bzVVNUQwVkJNUlJxUjZiZDlLQ0VpM1ZEZmxwZmVETHlCVUkwMEhwQ1NR?=
 =?utf-8?B?ZHFuby84ZXR5TVNvMDE5MU80UU9uZ2ZxNWVIUzBCdDRLTHJoNEhnbGxuRjIx?=
 =?utf-8?Q?vHcTeV8KEAY/EgkY5yUeOCuYe?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	S2MD+X60k1qiTwHbQpZKxTAIbtHoWExEHZVAKcuY031j5pLEq1SUx9+E63Hhcp+5Jxj1YDOI4SKJXqhks01JedPq9A2N32kuNsGuI/mUs5CNmnBXbM5Z4dpXXwufRy/nvDPMXszNTkXmSJO+s1Vt0tETuw5S2/Agud4P3iowY5MvhHKQawDK+OBPe3qwakA832XdanAXVUeljIOyo9azab9ZPsjQHWtete55TnsVMOfxetW61zkPVYbcfWyv3D9qvoy+C1QJJMwj7T+GeM5YYckpUIHqJTt7gm7GrIi+H12qBp7SEjvrSfpQVg2hoN6r1Fgiy2Nqq8JVlHovlkgHQJ/twdmRjC55Oz1Z4ow2p+bt1f94rWI+x+cKpAysmz7fyGTdQ/hgomumIT2XIE13AVv1Okb6bsHwvIGbpdmSF8+3wG23hZR9+GEmNr5g78Tpg4qMxuHkmRenRpZC71lo+SmYDiMN8QPg+xnDXGAdMzoRTF+S9JL/uxLP0A421BSIYUE8HBVS4ojpa2Lod2iFlLAzDtxrt0+emyh3+L8DcFbF7UnPyMCBbtOkkcMvxnalkXY5ph66mm20WK4Yq/d7WEidkiwUoBA2rZi+RglCwpSX4MBv9YCXTSDP6ppTfkjFK37Tg5OSHRYLczSP5sqkzH59AznZAiUl6FR6gXxguah9WdnWxVS8W35thKkwqClDgfE4ncCdAWp8nsdcm2qLHkt2vRbuTKNAY/EzwTsAaq9+H0A6Mu0XqrC/pDp/BxRWN97xb05srNtHs5kUNdAYBzeU9P7GWYd9IOUnhgMQLLS3EiS6WTxMb0LoZSsDY9ST
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 34a4c611-2075-42ba-2d64-08db312d2c49
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 14:43:49.2932
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vltPmXgu32ITyLvoYSJhea0Mcq2K6lAad+dO8ZcuZRvNVvwGokF1cYTcLDy70gtuhG0p7cfCsifyRdUkTnAnJA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR03MB6184

On Thu, Mar 30, 2023 at 01:59:37PM +0100, Andrew Cooper wrote:
> On 30/03/2023 12:07 pm, Roger Pau Monné wrote:
> > On Wed, Mar 29, 2023 at 09:51:28PM +0100, Andrew Cooper wrote:
> >> tl;dr to add MSR_ARCH_CAPS features sensibly, cpu_{featureset<->policy}() need
> >> to not operate on objects of differing lifetimes, so structs
> >> {cpuid,msr}_policy need merging and cpu_policy is the obvious name.
> > So the problem is that there's a chance we might get a cpu_policy
> > object that contains a valid (allocated) cpuid object, but not an msr
> > one?
> 
> No - not cpu_policy.  It is that we can get a cpuid_policy and an
> msr_policy that aren't at the same point in their lifecycle.
> 
> ... which is exactly what happens right now for the raw/host msr right
> now if you featureset_to_policy() to include MSR data.

I see, but that's mostly because we handle the featureset_to_policy()
in two different places for CPUID vs MSR, those need to be unified
into a single helper that does both at the same point.

I assume not having such pointers in side of cpu_policy makes it
clearer that both msr and cpuid should be handled at the same time,
but ultimately this would imply passing a cpu_policy object to
featureset_to_policy() so that both CPUID and MSR sub-structs are
filled from the same featureset.

Sorry, maybe I'm being a bit dull here, just would like to understand
the motivation of the change.

> Merging the two together into cpu_policy causes there to be a single
> object lifecycle.
> 
> 
> It's probably worth repeating the advise from the footnote in
> https://lwn.net/Articles/193245/ again.  Get your datastructures right,
> and the code takes care of itself.  Don't get them right, and the code
> tends to be unmaintainable.
> 
> 
> >> But this does mean that we now have
> >>
> >>   cpu_policy->basic.$X
> >>   cpu_policy->feat.$Y
> >>   cpu_policy->arch_caps.$Z
> > I'm not sure I like the fact that we now can't differentiate between
> > policy fields related to MSRs or CPUID leafs.
> >
> > Isn't there a chance we might in the future get some name space
> > collision by us having decided to unify both?
> 
> The names are chosen by me so far, and the compiler will tell us if
> things actually collide.
> 
> And renaming the existing field is a perfectly acceptable way of
> resolving a conflict which arises in the future.
> 
> But yes - this was the whole point of asking the question.

I think I would prefer to keep the cpu_policy->{cpuid,msr}.
distinction if it doesn't interfere with further work.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 15:14:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 15:14:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516774.801426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phtz3-0000OE-HL; Thu, 30 Mar 2023 15:14:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516774.801426; Thu, 30 Mar 2023 15:14: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 1phtz3-0000O7-Do; Thu, 30 Mar 2023 15:14:37 +0000
Received: by outflank-mailman (input) for mailman id 516774;
 Thu, 30 Mar 2023 15:14: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phtz2-0000Ni-Hq
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 15:14:36 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2061a.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93faeca6-cf0d-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 17:14:35 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DBBPR04MB8057.eurprd04.prod.outlook.com (2603:10a6:10:1f1::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 15:14:33 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 15:14: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: 93faeca6-cf0d-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RHlzn2ypmvv3TFAVUBR7caRELki3z+DAsGE/aWUeBejWhpAemQzoW5LoZF+nkspzgsvWwodticRJErzIKlL5BTwf9gux8Ip4bJsFWOfiGWP4kfo48LSDLh8eD2x9fdWzquHREKijn7/CjAcXB3W6zt7Exg2rHVHz4lpqA/LhFqV+n9bmDp8cE97SwSdqBtXlFU+J1ek0V9ZPBpwoAz3Q5eQOb/HeE+bPq6mYPGuZdFCwaFtVg6SqILk7x0fRwSWch17r4zzTe3iKkeEbMGWv4YzyhYcHPwMzD20wUV3w9ER0CVfbU27NAAOIzJAQLZ5KFUGVqCiDZPpnCgu7ozxPtw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KeHIt9ihxT5cOnOpElgxGNfRw0+SH2AhN4CuIc2+a9o=;
 b=FihD1AvaEgBWhpyFNYMu+ZllrzJi265JNzQJ77HyS2mpjs0dgGkwHppvEldkPrcEclZUcmPk/0NDc0TbGNhWQq6H76zzuRLvSsL9T7zSby+fYbN5Lvnb3jhAMspMF3nJ5DReOZmeVyR6bTPgqN/ePDA6DguM2qaLqTtYFPkqHYc2KX0CmF93/Ze4LFDxX2K4wDr5E913S3bb3VTs1hOvjk396QOniifM/4rHpeI9SyotXlewlmsub7324BZmaGhSoePJ0yL6SPmGhcU2wiCbU2KtWwt0vJufeDqCkOVNudMXLcL0FfYbcA0I/ZDICSTzOAJd5QvnheqynLnMIDEqeA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KeHIt9ihxT5cOnOpElgxGNfRw0+SH2AhN4CuIc2+a9o=;
 b=LTaS7FGcl1Xl0D5JVEsvAZb+BNLjjUUYjozfHrIwMzU1ttHs5Png4y/CBUo9qG5z2sS72/ejUTsVE9Gokp3fNbWLwuX2DQN7NSIbEryUxcLCckrJswtdcaDYlv76BmOXF0exS7CkQpfRbeFUsZJgETEVAtb1ZurXJQAdxy2HSMfoTbsWoCvMBZxa+04C9pXJA7rpwB1pR2j0+lxte6S2CaKDHT1noHbV2HGNy3rkeAtGKx8FRBeo4lrbTCLigUHuepr6pUdkCj70hzfdGPq6MFyo1+XAyBD4EizH1+k8YhHh4Kfw0lCqzF+P0Jty4G7E4XWA3xo+mqNpGwnwu4F7yQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eabdc3d6-9bd3-1b17-ed2c-27e5bc600b88@suse.com>
Date: Thu, 30 Mar 2023 17:14:30 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH v2 0/8] x86emul: a few small steps towards disintegration
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: <7f5287ad-8442-6c53-d513-f9a8345c4857@suse.com>
 <ZCL3W/HrwLANuE/0@Air-de-Roger>
 <40d58ac1-d0bb-afed-c0ae-c545c7bff30c@suse.com>
 <ZCRIbKcfi8hn1m8Z@Air-de-Roger>
 <600f8643-fddb-e9f8-3d73-41eead3d7cfa@suse.com>
 <ZCVcPQNBS3bjVF+W@Air-de-Roger>
 <6591a671-a71e-f669-749f-c36dcd593cde@suse.com>
 <ZCWcTVLcr02LSLoF@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCWcTVLcr02LSLoF@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0007.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::17) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DBBPR04MB8057:EE_
X-MS-Office365-Filtering-Correlation-Id: 97af0fee-2611-4784-5dee-08db31317701
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AlCeYXx/Yb5cgwxT0FZR1aPJczDAPiptGz4g+CamFmHcDFDJtzY2ZoUFumyQ1s+vWcNejFEAOVMhPEWdN7Uhrcc1E4TrzQzKsyoP1EoqNbn0eOXoUrJEI7vP/8vW3vwvFfNSmAg4UrUcH4IuGlhuQs3FonYNOpn9z5HMtiJX1KuKIOb0tFVBKmgFN5oe+yhI+KMdPFPTwaEnKD2P6cQcIhspS5hfx6e14nWzeNIqoEgETbKhASASBfTCBJWLPTi8sxdwinxrDIcK13+O3H1apaXi37lC7FFVJZ5Rig98ZBQiEbk/S26g/4k7vN4tNfPLuq1kr68cJG2mBv5yq+GT3+Q6GlQaTcv5kilv5Vz3STeJdBrNcC1h8a11hBtawZZM0LJRxPDVqbPc8hcIzHchIpmW+jb/t9m7kgX4vwWPRGzQFAtvMUeh25Xfsr/DmymhKwyZrTMPs1rK9os0CgyXuy52HhC4g8fz24UCIVD/HuLoH750cqZUc9yCAYhRcJIY8HCTQ5sC3NEW4GTghRJHFufY9f2g/JFAAMB8ZuSbB7xkpK0eSGhxWTXlaw06RMSCqVB+lf6TTg1Gnsb1FQMCMT4IpmFRpanutoODt6qIPKjz+CufDnrtwho7VjWqPhLfpdi8Q1tEf9xVm+vxzd9rdQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(366004)(39860400002)(346002)(376002)(136003)(396003)(451199021)(36756003)(86362001)(31696002)(6486002)(66476007)(8676002)(41300700001)(66556008)(6916009)(66946007)(316002)(4326008)(2906002)(478600001)(54906003)(5660300002)(8936002)(186003)(53546011)(6512007)(26005)(6506007)(38100700002)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZkpLUGxnWE9OeDNLYlBuVUQ1a0JFek5UU2lEL21kQWVtMlVWanNzTXl2SnRM?=
 =?utf-8?B?ZW9DMHRQam1kRm9NSUZmRjFKc1FpdVV5L3JtZ1hzUGFXWHQzdlNaTXh2WVJB?=
 =?utf-8?B?NTBWeUw2UGtLcms2WjJJemtNU0hrU2s0dkVMMUJGZnhMMkVacmxkQ2JuU3Ex?=
 =?utf-8?B?SzgwdFBlWnQrYWlRZjhHM1RBTkd1bHZ0SDhoUFRTNU9iVmpYL0hhUXh1Mk9i?=
 =?utf-8?B?bDQ5RzA5NDYvODBoV2poRWRqWmhENFdhU1U0UWtXR3RaNXU4Z1BkMlhScWtJ?=
 =?utf-8?B?S2Z6SnR5T3BzbDJvUnZoSTdiaHB5Q1E3M2lkbXdYNjRYdVRXZkZMRzNhMnp0?=
 =?utf-8?B?SmV5a0ZlZ2YzU3E1MFpQQzBBdXVIcjRnVklyZHlYQ0JpWmhXeFlmSlBJdG5h?=
 =?utf-8?B?czV0d2JXb0Nsdno4b3M5dUtKYzUySzczeWovQ2lPYWUvam1nQTI5b2x3VFBr?=
 =?utf-8?B?N2NZbkMvVGNuNmJ0QTNtVG1tcUdmZTlHQlo5QjYwRUdUcVlJRG56VXMrYnI5?=
 =?utf-8?B?M202RnBYQldJTVdqU0VreGtxQUppb2h4NXJuMVBKa3FUb3VnR0dpeVlvcFhn?=
 =?utf-8?B?d3lSOHVVNUtOUG8yRWV4NHB1ZVM0eGhFN0pYcnNpaWdjeTE3YVhJTVhTaHZL?=
 =?utf-8?B?N1MwUTNvNzZ0ZlFuMzluQ1laajRLMk16UFdHRHk1U3ByS2VFeVphK2xmYkh4?=
 =?utf-8?B?dVpaUUVHZmM1U09YTmNDbzhzU0p4VVdxWk1vT0lPa202b3dJQXlBSitSZ2dp?=
 =?utf-8?B?bzRvVGdGV0k2VmwrbWRYUTVpT3JmM0dtcEUrcXA1QTZhaFV0Vm0wUW9kcmhP?=
 =?utf-8?B?dWdJTzJrSHRaRjh0am5icTZGdWZiVnROWlVPZGhvY2p4SzRKZkpzV0VVdnVy?=
 =?utf-8?B?WnBmNDkxU2lxeW9qTHRNVExsYm0zVHIzblk1MlBGSnFmUUJxaldZV1NSQ2hB?=
 =?utf-8?B?Ny9YQXhLcDFkRXRMdWtJaklrbnBvQlJ6OEkzT0tHNG1SZVA1MjN3eHY0WWUy?=
 =?utf-8?B?WDZTQ25NcEJHaXdYNm80TGtMOGRkQnRYdmlqNHRmVXJYWndaUTVsTWtYQjky?=
 =?utf-8?B?ZFFuNlZSTUU3VFQxNHZzNFd2UVU0QUF1cHFmZlBCdjUxaXh3N1p4WjN3MFpU?=
 =?utf-8?B?K0M0U0hwUXlBeGMyWFlTS2V5ZThKa3JTb3FDdXhhdVZIRk53SlVjOWRLTVVs?=
 =?utf-8?B?RzZPcmNsN3o5WGFnOUQ5TURjMVJBSk9tVFhXZWd0VW1aMUN1TEdaaDNzRmly?=
 =?utf-8?B?aUx4Ykh6NzkwdEZRc2dmaSsrYmRqQ0pXSDlLcDZ0c0RQTXVUWWhBTkQ2eUtV?=
 =?utf-8?B?a05xeUIyNFFFZzkwUlU4dFVJNS9jb3A0K2gxUjljYUdFdkYvUTZSVU9wWnFE?=
 =?utf-8?B?aTV2eGJKbUxUdXVJMFhveGsvVnpQV0QxN2dJNk9RSU84N2JMNjVPRThRZXh2?=
 =?utf-8?B?djNlWDRWM1FyWjdkSDBEZW9VaXZtZzhBa3pZaXduSjRERmRocC9CU3k2YXlt?=
 =?utf-8?B?WWdtZFlzUjVlUjl6VXB0dHVHTnUvMWNJVllwYVBlb3FuNUdlKzUrV3podHJr?=
 =?utf-8?B?UDc3QlJDbVNqWUQ2blBFNHFPeUM1L3lzaHVJSU5vaFkvTkROcWMxSEI1TnEr?=
 =?utf-8?B?ak1oemVtdFBkaXRHTFFmSzN3cjlHWUlqaHk3UDJYWVArdGw5Zmsrci9abEk4?=
 =?utf-8?B?WGJxNmxGTkRqTDFMeUZSNzJIS3U0b0NtQ0pUQlFOelk3dHEzNnNubDZTdkcv?=
 =?utf-8?B?MEZEUFIwTzhpZm91Vi9jYis5RTNQbWVGOVgwM2VSUW1SRVdoeHVLaVhqZHRY?=
 =?utf-8?B?TTR5ZzQ5eXM4RUptMGFYQWxTSmZoUFg2V2pPUjhrYmUyTWVNS281TTRFSi95?=
 =?utf-8?B?VDZFaTNyckcyVXdwSkxqSzgybU83VUU2Sm9udkg1QVJiODdZS1lodkpYbjBU?=
 =?utf-8?B?OGxNNU9XYkZkMFRnK3FlTGZwVXdlRHlYSWVPZlQwb1VNSDBXODVYUWlPWGI1?=
 =?utf-8?B?YXNOYmpiMU5tMGRCSDI3a2E5V09VaDV1SGJ3SzZNT2RPZFpXYlZpOFg4SU5j?=
 =?utf-8?B?SVRoN21JVGNTaDhtNElUb2g3RTdPd0hEbHZnQVdQUWQ0Yk0yRGM0QjRsVzNv?=
 =?utf-8?Q?4H4lbti+7ruAp+qI03i1ChUaM?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 97af0fee-2611-4784-5dee-08db31317701
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 15:14:32.7183
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: v8zs4TP84/tBhqcXNpW/ck7nBdMklCTjUXezY33GRvqDaO6Xtm2KEBic/HIuLB96Lxf3U5UHMaRgvm4S5l9Vjw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB8057

On 30.03.2023 16:27, Roger Pau Monné wrote:
> On Thu, Mar 30, 2023 at 01:40:43PM +0200, Jan Beulich wrote:
>> On 30.03.2023 11:54, Roger Pau Monné wrote:
>>> On Thu, Mar 30, 2023 at 09:53:23AM +0200, Jan Beulich wrote:
>>>> On 29.03.2023 16:17, Roger Pau Monné wrote:
>>> Patch 8 I'm unsure, I guess it should be up to the user to decide
>>> whether to use -Os or some other optimization?
>>>
>>> I expect introspection users likely care way more about the speed
>>> rather than the size of the generated x86 emulator code?
>>
>> Perhaps. But do we want to introduce another Kconfig control just
>> for that? And wouldn't there likely be other performance concerns,
>> if performance really mattered in the introspection case?
> 
> I don't really have a strong opinion on the usage of -Os or not.  It's
> likely fine as long as we also stay consistent with the flag we use
> when building the test harness and the fuzzer, just in case.

While they might be built with different compilers (and hence things can't
be compared directly anyway), I can certainly make those two use -Os as
well.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 15:39:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 15:39:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516777.801436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phuN2-0002ud-Fc; Thu, 30 Mar 2023 15:39:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516777.801436; Thu, 30 Mar 2023 15: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 1phuN2-0002uW-Co; Thu, 30 Mar 2023 15:39:24 +0000
Received: by outflank-mailman (input) for mailman id 516777;
 Thu, 30 Mar 2023 15:39:23 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=y3PO=7W=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1phuN0-0002uQ-IU
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 15:39:23 +0000
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 07f508a6-cf11-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 17:39:19 +0200 (CEST)
Received: from orsmga007.jf.intel.com ([10.7.209.58])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Mar 2023 08:39:08 -0700
Received: from smile.fi.intel.com ([10.237.72.54])
 by orsmga007.jf.intel.com with ESMTP; 30 Mar 2023 08:38:56 -0700
Received: from andy by smile.fi.intel.com with local (Exim 4.96)
 (envelope-from <andriy.shevchenko@linux.intel.com>)
 id 1phuMV-00AURJ-0P; Thu, 30 Mar 2023 18:38:51 +0300
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07f508a6-cf11-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1680190759; x=1711726759;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=2y+Qd+RESrzEa/F9wmN52tzUziPss+ZxjSltCa9P/hk=;
  b=QOZnq8W0129ms7qKB838XPHVOJByEr/BgKNYodsmpr+DY7Rn8Vu7EHPj
   Rfxv1V7VdSJP8d/uJ24jqYXi76ey8yTRhwiPAj5qXImAZi3NuDe3CrQgd
   8AfwJHbgBwCwGnHR2veA4AHbuLsNQiNjL5XALdGfLRSFvcIK19w+Wi/er
   pTpuhdFgJKn8Veff0ue8ZQdr2e3AZIj7R7ZcG5R5AhDzIG8NOnLKfRNP6
   Xn6lvl9cnvxCH7E8CaxczTn8pm3gml3huIhs809Rmnqys+E9P52Yi/QjM
   9MkFEv/wNbfrsEphgHTqyO3VxDh+zimLsu/dpWCO2AMW7ztXCZkIopSM1
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="368984338"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="368984338"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="678241953"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="678241953"
Date: Thu, 30 Mar 2023 18:38:50 +0300
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: kernel test robot <oliver.sang@intel.com>
Cc: oe-lkp@lists.linux.dev, lkp@intel.com,
	Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= <kw@linux.com>,
	linux-pci@vger.kernel.org,
	=?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>, Arnd Bergmann <arnd@arndb.de>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Pali =?iso-8859-1?Q?Roh=E1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org, Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>, Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: Re: [PATCH v7 3/6] PCI: Allow pci_bus_for_each_resource() to take
 less arguments
Message-ID: <ZCWtCpQBAM7oR6ra@smile.fi.intel.com>
References: <20230323173610.60442-4-andriy.shevchenko@linux.intel.com>
 <202303302009.55848372-oliver.sang@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <202303302009.55848372-oliver.sang@intel.com>
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

On Thu, Mar 30, 2023 at 09:24:21PM +0800, kernel test robot wrote:
> 
> Greeting,
> 
> FYI, we noticed various errors such like
>     "i40e: probe of 0000:3d:00.0 failed with error -12"
> due to commit (built with gcc-11):
> 
> commit: d23d5938fd7ced817d6aa1ff86cd671ebbaebfc2 ("[PATCH v7 3/6] PCI: Allow pci_bus_for_each_resource() to take less arguments")
> url: https://github.com/intel-lab-lkp/linux/commits/Andy-Shevchenko/kernel-h-Split-out-COUNT_ARGS-and-CONCATENATE/20230324-013857
> base: https://git.kernel.org/cgit/linux/kernel/git/pci/pci.git next
> patch link: https://lore.kernel.org/all/20230323173610.60442-4-andriy.shevchenko@linux.intel.com/
> patch subject: [PATCH v7 3/6] PCI: Allow pci_bus_for_each_resource() to take less arguments
> 
> in testcase: boot
> 
> on test machine: 96 threads 2 sockets Intel(R) Xeon(R) Gold 6252 CPU @ 2.10GHz (Cascade Lake) with 512G memory
> 
> caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):
> 
> 
> If you fix the issue, kindly add following tag
> | Reported-by: kernel test robot <oliver.sang@intel.com>
> | Link: https://lore.kernel.org/oe-lkp/202303302009.55848372-oliver.sang@intel.com

Thanks, that is useful test!

-- 
With Best Regards,
Andy Shevchenko




From xen-devel-bounces@lists.xenproject.org Thu Mar 30 15:45:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 15:45:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516781.801446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phuSJ-0004Oo-6j; Thu, 30 Mar 2023 15:44:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516781.801446; Thu, 30 Mar 2023 15:44: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 1phuSJ-0004Oh-3q; Thu, 30 Mar 2023 15:44:51 +0000
Received: by outflank-mailman (input) for mailman id 516781;
 Thu, 30 Mar 2023 15:44: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=fiWc=7W=citrix.com=prvs=446b09b9a=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phuSH-0004Ob-RW
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 15:44:49 +0000
Received: from esa1.hc3370-68.iphmx.com (esa1.hc3370-68.iphmx.com
 [216.71.145.142]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb3a5a7f-cf11-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 17:44:46 +0200 (CEST)
Received: from mail-dm6nam04lp2046.outbound.protection.outlook.com (HELO
 NAM04-DM6-obe.outbound.protection.outlook.com) ([104.47.73.46])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 11:44:43 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DM6PR03MB5163.namprd03.prod.outlook.com (2603:10b6:5:22b::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.35; Thu, 30 Mar
 2023 15:44:41 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Thu, 30 Mar 2023
 15:44: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: cb3a5a7f-cf11-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680191086;
  h=date:from:to:cc:subject:message-id:references:
   in-reply-to:mime-version;
  bh=a+GwM7p5K9GJNs2alCHcirrZ7MwehNLuVidonvdeyWQ=;
  b=T4hfQLrYVyNxJqlJnZ97/BA5jLJNAT0bSPn7IBH2SaEio6AC8EanG7rm
   3oqq2vVgfNR5EUQw1Wx8VOmLA/PppvcrLKn8M0NO/h3KREBDvk+o2YN7/
   X1Z+zBY+adeibI00TqV6nJNFE1GW2iSq5fc0x/4fUjrpcEMFTFP1KOy1A
   4=;
X-IronPort-RemoteIP: 104.47.73.46
X-IronPort-MID: 104111598
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:YO69zK6NOYj6O9Be2neGfwxRtArGchMFZxGqfqrLsTDasY5as4F+v
 jAWDGDSOKzZZDSkftxzPou/9R4CuJDdm9ZgGgts/HhmHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasQ5AeF/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m2
 NpJIyorUhe42eebkKjmbu9HidstI5y+VG8fkikIITDxK98DGcyGb4CUoNhS0XE3m9xEGuvYa
 4wBcz1zYR/cYhpJfFAKFJY5m+TujX76G9FagAvN+exrvC6Ml0otjtABM/KMEjCObd9SkUuC4
 HrP4kzyAw0ANczZwj2Amp6prraXwXqiAd9DRNVU8NZlpmfN50o9GSQoVEGkhtuWgFTufIxQf
 hl8Fi0G6PJaGFaQZtv3UgC8oXWElgUBQNcWGOo/gCmIw7DR6hyUBUAFSCBAc90ssMIqRT0s2
 USNltmvDjtq2JWFRHTY+rqKoDeaPSkOMXREdSICVREC4dTovMc0lB2nczp4OKu8j9mwFTSux
 TmP9HQ6n+9L0ZBN0Lin91fahT7qvoLOUgM++gTQWCSi8x99Y4mmIYev7DA38Mp9EWpQdXHZ1
 FBspiRUxLtm4U2l/MBVfNgwIQ==
IronPort-HdrOrdr: A9a23:Sm6X/K/6WtESljnHs4huk+GYdr1zdoMgy1knxilNoENuHfBwxv
 rDoB1E73LJYW4qKQkdcdDpAsm9qADnhOVICOgqTP+ftWzd01dAQ7sSi7cKrwePJ8TezJ846U
 4CSdk0NDSTNykCsS+S2mDRLz9J+qjDzEnCv5a8854Zd3AOV0gW1XYaNu/0KCxLrIAsP/AE/B
 T13LsAmxOQPVAsKuirDHgMWObO4/fRkoj9XBIADxk7rCGTkDKB8tfBYlKl9yZbdwkK7aYp8G
 DDnQC8zL6kqeuHxhjV0HKWx4hKmeHm1sBICKW3+4Uow3TX+0qVjbZaKvO/VQMO0aCSAZER4Z
 nxSiIbTotOArXqDyKISFXWqkvdOX0VmgXfIBej8AbeSIrCNXYH4rF69OVkmpey0TtmgDg06t
 M140uJ85VQFh/OhyL7+pzBUAxrjFO9pT44nfcUlGE3a/poVFZ9l/1rwKpuKuZ1IAvqrIQ8VO
 V+BsDV4/hbNVuccnDCp2FqhNihRG46EBuKSlUL/pX96UkeoFlpi08DgMAPlHYJ85wwD5FC+u
 TfK6xt0LVDVNUfY65xDPoIBcG3FmvOSxTRN3/6GyWQKIgXf3bW75Ln6rQ84++nPJQO0ZspgZ
 zEFEhVsGYjEniee/GmzdlO6FTAUW+9VTPixoVV7510vbD1X/7wPTaCREprk8y7vv0ZCMGeW/
 vbAuMpPxYiFxqcJW9k5XyPZ3AJEwhjbCQ8gKdLZ26z
X-IronPort-AV: E=Sophos;i="5.98,305,1673931600"; 
   d="scan'208";a="104111598"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cc0lmtxWfDEu9dAPHo8TOOsNRGN720ZiRof7QNOT7ZGMu3kwxZgIzUsVCwuectj1WMmpZIoITMOb9/86VywWBkfjotXR6tdXAo9vQ4JFoJSdQ5hUIn3xgrkAC8zXybA2U2ADg0oHHRupWS05VMykuZOzjMPXs6NOMWC6b0oB3wWZNV4PnBRNIuPPegO5ZykDpZ1n+poXnSAzsUYfcfXpB3LzqErucWSnLFKBkcRHFDrEW33uM0a4L87zQgUX3m4xW4iMFe11Jm3CTIhS/a19yMLiNFZkTcHdFBhYUADgRcCAOyvbMOImh62nItpTaBfaKfRrxzmx1PRmM9u9T6J/Ng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9FJhgGxI+xAdJfNiJr2C96Uyu4FlD2es1J5YxDl4xeQ=;
 b=fMzHGpkJyNjiLvMCTa/vIdJgMYiEbLv1uG2XqnbeDiDVxvPM9afSYjhgbdhFmAtxRd3VZbKpm6uctRzJCExuho0/yzcuwNjWDxd1zF+UgqRdf4N8OHFGKjWiEW1FtSd2xdmLmEE1y4fOo4Jb9mbx/y05SG1/zGcOx24XND+LS5M6VjVEI91YKvxyeCld3srYYHL3vjvBWGzDs6AnNHfjjfZTo+M+1ZMUfs9Nx4FG1+IslR8PFI271MU3EOrrtU/ploUUQ8XwvumWy+QI5cKdvubtP9XuhmYKxVdPh7G+0Cz/XKEdHC/2O4lrqiI8q77FTu8BoE1ET44QIgTUV/g8Cg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9FJhgGxI+xAdJfNiJr2C96Uyu4FlD2es1J5YxDl4xeQ=;
 b=fBaxUd2VyXJJILdB2OWWDvJZN88J+Y/DB2vFvi/zBIfvOgiBGfH2hqhUlgHkIacZjSzF7dSf4Ic6Vl0mgOgFnSX6/nzrMHf0j6/lcPnzGCaJFMfzwMLfF4c811TcQnxuTe8xqStXZxrt8f8rWinaBt+TXPUPniB5iaSgCfWZX/Q=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 30 Mar 2023 17:44:34 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: marmarek@invisiblethingslab.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 2/5] efi: only set a console mode if the current one is
 invalid
Message-ID: <ZCWuYjP7L4obvXt9@Air-de-Roger>
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-3-roger.pau@citrix.com>
 <c62446e1-8e47-5fa9-1c7b-a441d38711e6@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <c62446e1-8e47-5fa9-1c7b-a441d38711e6@suse.com>
X-ClientProxiedBy: LO4P123CA0583.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:276::13) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DM6PR03MB5163:EE_
X-MS-Office365-Filtering-Correlation-Id: d8ed8047-5363-466b-0ec4-08db3135ace7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PircOjYDAfbl4gpnhpXZrjrSeiUMk86zexx2ceIhdw7kMDuBaNHFwzhNgQ9e2kNvJFy+MCvWpGbmOvkfv2mNru0KvzRxt0G7xBiT3TaDX4MQmE3aD7uxkI0hTGSKP+IAruxJr4D6fn5QRJtfMd3jYPyTF8IPlGkXOg1cxeXdPrDJOFAwsymuKdS/nw3t/KUy74uBUfv7lBa5daZLpk91rOMrkoC5yPlwuEvqYWsxXPyiwtu58XII9Frs3lao1D93EVIm8QJw9hVAGAYvT9WgDExARg9ayL2zvhpdGcmB6NykU/gslGEqDF/tP/dwfApTPJWqca6aJIqHafv7c/Z1b526eOwwvJnqjlzTMvb+VDBgnQ8n6J2JfPaJG8r64DDN1qUWulgzLeZbcoodwSFIwA2uAbH+rkq/3YcvsFqu2G872H24JRAgux0LOqX3DLQx7d4pacTdcZ6NlYK6o1xhT5Z4CtLE8luSDEkCTEU3OEWKpJwbW7N7k+sLmRjAW82ZR43xNn8xRKOFW/2XKJgjcTrhNfrMZxYQAsFJpIf8zm8P9Ko4p6PdEQeoL5pvgE2N
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(366004)(136003)(396003)(39860400002)(346002)(376002)(451199021)(6512007)(66476007)(26005)(6666004)(53546011)(82960400001)(316002)(33716001)(6916009)(6506007)(8676002)(478600001)(66946007)(66556008)(4326008)(86362001)(41300700001)(85182001)(5660300002)(9686003)(6486002)(38100700002)(8936002)(2906002)(186003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDVQR2pocXRwY2x6NFBSMEtkL2xQNXJBQ3FjZVovY0ZrWGZZQnpSdnova2wx?=
 =?utf-8?B?ZFZrSjVYek9hNVdibWdxWHpidG1sWVh1SjRqcXF5RzJBS1NDMXEwK2JuMktr?=
 =?utf-8?B?UEovb005eERQT3l0SFVnWExJU2ZsekNKckk0Q1dndFl2c05BRFI1dEF0cjBi?=
 =?utf-8?B?UG1ETWRLekxDUmFlRWJYOEFRcHJXYTBTUlkxNEhkVG8rczAxd01zVDdUZTl1?=
 =?utf-8?B?STczVG92djliK01kM1BEOUgrclgyN3NyR1lWTlFzNU5VaWVROGJiSllvQzNp?=
 =?utf-8?B?UVhDMWd1bVI3YS9Cb1o5ajlJTE1HdlZ6SkNMQ0F6VU1OaVZJT1B1TVFqS09t?=
 =?utf-8?B?elp1azdUTkJseDljSXR5V1MvVHlYMWE0bnFlbkw1UDI4cE5sdDgyUnZjRDRR?=
 =?utf-8?B?dHh6KzRySFU5N1Yxd2g1M09XSnhVdWdKb0xibzYydDdHUXNTNW0xM2t5OHlh?=
 =?utf-8?B?VnJvSWlQQjk5ZlZzNDh5WU9IZkpDdGpoeWMrRmw0MTRmR0V0RjA3UWlLa05N?=
 =?utf-8?B?VjlXWEJrTGt0OWpkOFdWaXp6ZTdvZm95WVZiRU51Tmlwd05kaEZ3MWxpTyty?=
 =?utf-8?B?cktZSmlVdVhyUEFRc0NKQ0oyREhFcjFsaXZDZlpBc3M1Q3U4MWdqOCsydkpO?=
 =?utf-8?B?WEZhdGlObDBLQSs5Q2RwRUVQLzBnbU1TMldSMEdoZGo0aXNBMWxCcHJGMzIv?=
 =?utf-8?B?OXdlQ0p3ZjNaa2dJNmo3Zm1vbnlrZHVuK0ZGVnMxckNUVzArRDI2ZmZ4b0Iw?=
 =?utf-8?B?NTk2UDhLcWIxdWRJdlpIMy9sTTQ2OUU2VVFja2hSa05sdC9ZUmRJbkRNREJr?=
 =?utf-8?B?dENHeHN6ZktCaUxpc2JJaU1adC9tcWRNNTZtWTlIc0tzdFUxZGt5bHFRaDZY?=
 =?utf-8?B?RloyOTVvR2pKTG1GSUEzYXJ1SmNEbDVzZ3lnQ3RmYnozUWlVOW1wUWdUZCtw?=
 =?utf-8?B?TjdKRWhjanZKRWp4SktQVkd5cHBhdTNBZTFMdVlSSUt4L0NjVjI2MVpYTW8z?=
 =?utf-8?B?R283UFc4RC8xT01MWXU0NlZoMEpIWEt6SlBKWVQ2bFUrbVQvVzBSaU5TaWhN?=
 =?utf-8?B?b0RrTlAvSk1PVEQ4MVdLcmgwRklpSmluOWVFVEpaVG5pQTBVMEIyS2l3dmNr?=
 =?utf-8?B?RmRzNis5V0krOEdIUzhSZDhvYkQ5aXVVQUNXNVB6aGErR1FYdENud0lBU052?=
 =?utf-8?B?OXlobW9hUEZWOHV1OXZyV2Q0NmtZaE5WdjgrYlVDSGZNY1p1RU5JaVNyb0hF?=
 =?utf-8?B?OW9RbkRneUNoN1U1OTRFQWZBRFFSMUh5bVUzVHVTakVXbndvbUpEdSs4bUV6?=
 =?utf-8?B?Q3dCdjdyUFB0YVk4alNrTDczaWt4Q1hMNmFJRnVxMkxYc0NIakR3VXJrT2Y5?=
 =?utf-8?B?MVBxMVMvMnE0Z3dSVWsrSENacmxNZXBrVTYzb2U4ZjFHMkxTN2lOK2UxaTNS?=
 =?utf-8?B?bmdNcVlCR01XdnIyRHN3RFFpN1A1M1N6c0JwQzVtVEhTeWc0WGliU2dyQy92?=
 =?utf-8?B?RHpsQ0x1TUROZFcwZFpvVTJjVlY1RmFJYzhNSUY1cHlwUENTT3FkMzdWQ09m?=
 =?utf-8?B?dUdOVWx6OEFaOGlmQktsbFh0enBVMWZkM2N5cG45NlB4ajFEeHBUeHhKUDE0?=
 =?utf-8?B?dy9UV2JKVjM5NGRTVHMvUEVuMnV1YmxUQ0k5c003SlN3U3JTOHh6SkZ2MXc2?=
 =?utf-8?B?OWxYUDZZYVo2b2g0cWJhbVpYSnRZYVFQNWVLc0tTbWJhQjNRbUlsNVBDZkZl?=
 =?utf-8?B?aHpvRDIxeW5zdGM1UlZnQW5ZejJqMUE5T004TnhTMXhHejBlQ3FZd1dTSmV1?=
 =?utf-8?B?b3RrRDVwbTZtcWt1Y21lTGJ5RTNVYWxvZ29iWGE3TnNZVVVzZnVlVGNZSXEr?=
 =?utf-8?B?dDVtangxRzl1bkJvKzV5WThyUkxEdk1DWEt6d1ZQREFyamQ3eVdqZjRZeDBQ?=
 =?utf-8?B?TjllRGFzS2FkMWdheEc5czZFcXNiT3M2RTUzTURNdmZMS1k2MUg5bXB6ZnZU?=
 =?utf-8?B?YlpRNWxQaDJkdUxLdWlBTytjcUZtU3lDZ0RvNEZJRE0zTkZYUFNORitOeE85?=
 =?utf-8?B?WDRNM012Rm0ralFnc2tmSW9YL2VSTW5heDNHZjN2N09xN1RjUmQ2Rmt6WWU0?=
 =?utf-8?Q?9wyFWrY/eVGhH/z5JAU365uc5?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	G2Op/5sFOyt0MkgVjqbtwkCnbwakqNxIB0pd8f9xkC4Fmw5hGz2dg08ksxqG9gIO4HUT6ov289XOk4UxPZZFiNG4MHCusqXkRfODM2peNbW4x5lzkrz4QO9LqkSjXg//ukovKUDx3B6+gzXWlaCOxGGFfpSn8C8zDrq3UgHLU8yndkeMK6zmB3hLZo9Gv2m7ZSNQoEg2gpRFRitY9FSODsEkA1fsZs7t0/3baDdlaCOKTfy5bpFnDsjKo/3KNcDDhjfh/T6gqk4mhABKChThoPN7TnhAggHR8Y6dv/R+rXxR/oAGrVekIkbq57eBoI3OCtDdO7CrH0yGi4vemIh1Zyh1eZMIu3J3H4BGjIfeyeeyXO4wskgz5/Sg1TXK7cymjUsQaO9HHECR5AkkD6tbXIvdBlHDUN6/VsUqySLDf4v2WUkyNWcppLqrqR4dF8LALTGvWOmimF89Rw23M/VwdVUy4jiHk7HxeKh/GDBrmWsndiqy6jhu3qqrK4ZOOzr/Kd1eMkSNVR4oJRbpYT9MigVndfurBD9l7Jd4D/NfussjcBkT5zOXHYzIwI2YG80kJfi8KYlHhB/q6PqLl7lplmFcPC93EevacENFXHgYjXssa79ez3PBINgCjQyLVwIyhVgDPUg3I5EWFnhrwrJCnaumMWH6j8CgT5GeXDWfJ96k+v24a+3/19pzznetOz1GIo8LyHWgKWAnhIxPrd7HM8NrO+7mRo8ZRkOO6nxQ6IDn6OaSiwEGdrCOMqegmxGPY+nXzMNhj/uUA8SzEC7N/e8QyaTUisxNrTdMGCkIfNOE+c5UnITQS5TtXB0vo66N/9viOPAA1IMzzCoskc4eze22VXs7WetRMw+7NCytHUg=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d8ed8047-5363-466b-0ec4-08db3135ace7
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 15:44:40.9876
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Fymsq18no+Ewl/UcwePEzXf0mHkk0agWExPd90WVfhpgHJxtApEBb/O/ee9j5yfpopdsajSJKttsXeaFn4MUPA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR03MB5163

On Mon, Dec 05, 2022 at 03:19:13PM +0100, Jan Beulich wrote:
> On 23.11.2022 16:45, Roger Pau Monne wrote:
> > Do not unconditionally set a mode in efi_console_set_mode(), do so
> > only if the currently set mode is not valid.
> 
> You don't say why you want to do so. Furthermore ...
> 
> > --- a/xen/common/efi/boot.c
> > +++ b/xen/common/efi/boot.c
> > @@ -799,6 +799,11 @@ static void __init efi_console_set_mode(void)
> >      UINTN cols, rows, size;
> >      unsigned int best, i;
> >  
> > +    /* Only set a mode if the current one is not valid. */
> > +    if ( StdOut->QueryMode(StdOut, StdOut->Mode->Mode, &cols, &rows) ==
> > +         EFI_SUCCESS )
> > +        return;
> 
> ... it might be okay if you put such a check in efi_multiboot2(), but
> the call here from efi_start() is specifically guarded by a check of
> whether "-basevideo" was passed to xen.efi. This _may_ not be as
> relevant anymore today, but it certainly was 20 years ago (recall
> that we've inherited this code from a much older project of ours) -
> at that time EFI usually started in 80x25 text mode. And I think that
> even today when you end up launching xen.efi from the EFI shell,
> you'd be stuck with 80x25 text mode on at least some implementations.

Won't you use console=vga vga=gfx-...

To switch to a best mode?

> Overall, looking at (for now) just the titles of subsequent patches,
> I'm not convinced the change here is needed at all. Or if anything it
> may want to go at the end, taking action only when "vga=current" was
> specified.

I guess I'm slightly confused by the usage of both GOP and StdOut, I
would assume if we have a gop, and can correctly initialize it there's
no need to fiddle with StdOut also?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 15:51:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 15:51:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516784.801456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phuYD-0005s0-Rb; Thu, 30 Mar 2023 15:50:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516784.801456; Thu, 30 Mar 2023 15:50: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 1phuYD-0005rt-Od; Thu, 30 Mar 2023 15:50:57 +0000
Received: by outflank-mailman (input) for mailman id 516784;
 Thu, 30 Mar 2023 15:50: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=IhQB=7W=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1phuYC-0005rn-5L
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 15:50:56 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a5e7fac4-cf12-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 17:50:53 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by SA1PR12MB6945.namprd12.prod.outlook.com (2603:10b6:806:24c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6222.33; Thu, 30 Mar
 2023 15:50:49 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242%4]) with mapi id 15.20.6178.041; Thu, 30 Mar 2023
 15:50: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: a5e7fac4-cf12-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iEiRtmcVoBLZWBtC41eXQsAeA8WMG7WAjtvgtGmZWxxGF7+m8pBy5x4zdaYGxi+Fnlc1MAPcsC2RtdPe3jxYX3XWlVqCAxmufURbr6+NZvM5Ma2M9IIF7Pn5mxDTR4Gbq/g0Cp0TooYDXmBlNWBUqkAJg7wpCZrD2AhsYuTNS/puFdqMkDYjnC2NoFbNkcSNrJq3EIP7W1w3pJh6KI3MGxQjuwwHm76l9BTM5ocl5YIm00lIs5xsNwDgZvrBgBuMvfu+LRsvwyL93+p5/J8ClE9hXQ9zL+uXoqgs8h2gSi7Z3Aki4NJf2RPqYTHAfT06K0A6S78vgGt5E3n6hLAgPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=36UGZNAd6m+VrexqEHUbCI4Q7pyBZp5b4OX2S6to97c=;
 b=BNdwpTPvpMpvC2nbZFT1ZZlJPfRIHdopUYqAcmMYLePjcH5QeTl9+kKzqbwJtEkSiO8jw8+pFLcbqWsR4GsZ0nXZr6c1yf7oQU7bJlSlFxMujw3ARDHIe3OzgJFFOCYvWQAmRVZxvJZdI+WMpEUHFNOJ0otfOMCqwjfvIf6cd3WgvqT8HwIerpQVcRSH+vdzvTNhqwiSwI034T/i+yg2CtiIGT6NfuC+J353z/+iHhUkEgsJ6Ea6PWc6J8CNz1HK2CQQiWSJXOsRIyzyKCXoAdXQGt8OwwH1p6fITR2naVZHzmjV1RZzchaB5Saa8dO+VwLvcO1doRqGQ3iq3DqXXQ==
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=36UGZNAd6m+VrexqEHUbCI4Q7pyBZp5b4OX2S6to97c=;
 b=1nmDs44SJ/u8EcapobazN32V7dVSj6mxeet0WhhRY0cUsazdgWGfnb+3qsViDTTN6UY+g3VcuY31PS0pvwa6YGGUL1lKgg4Hlg8gX15jQ10JfRJ9IQNytdstBBZFj6DbIF/7Qgmfm7R1/gwa7naqNGBzS38SHz/1/pwqJp+lbsI=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <b4badb12-8887-d8d8-138e-8b4536ad95a4@amd.com>
Date: Thu, 30 Mar 2023 16:50:40 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 "Garhwal, Vikram" <vikram.garhwal@amd.com>,
 "Stabellini, Stefano" <stefano.stabellini@amd.com>
From: Ayan Kumar Halder <ayankuma@amd.com>
Subject: Need help on a issue (Unable to schedule guest for Xen on Arm)
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0135.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c4::10) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|SA1PR12MB6945:EE_
X-MS-Office365-Filtering-Correlation-Id: aeba4d60-8ccb-4ee7-be39-08db3136882c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tQqzUofPHYpfgaeTB9KOeTlb6zRc1PX4+C5rYTsiXraCEuWFK2rsu9RJp4p5/sDM1HdGuQ/RzT3FZlgmkU/lXGiRiCnzZZBBjmpUxoXoSdn3QSEtUZQa5yd+dV3y+0zfUZGTFHpEjrwVZcGQ8z/nZWjA1Bu0Osm1Dh9uxF25m95g+t8sq21SB7F2jbdB9bxsCmUBi7da0klO8MCkM58vWLLt1MzfHD+R5tgoB1l+s5+H1I/7DVAa6GBTZFIPjHmKX2tb8eHtWh2bnOqOCUZ9YRl416EZF6uYteWzY4HzWQkj8C6LCZerzlaen5pgkyymWVG9Xb1WU1Xerbv+FktIZDguD3uv9YjMZuwAnf0/aQX+dw0CgpCcormJfX7jUNIL0tQ6LpEie67NY/B5W4A3MdjbOF28I4aXWBd0j/LYJb3x4zOWJMmCV1IuVaubCJrXJb32FHQIIwlvst2vZlpTp9Um2xmQpKNgOauQiL6E2vmagzYVgBixoCScxQCBSGheeJ7zr20XSPVIiRvwscxP6lEfw//ejBQFUjcuap3GDIuVuIiAKSsziR4/JfOUe80iARWetFNb8PCu9dlKZdcHtLG6tOZzd58/abZmQeUiL0ePR+S3fZjmjzXjtvedU5SJPrTp+tTfoyYTe3H7Z8QmRQ==
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:(13230028)(4636009)(136003)(346002)(396003)(39860400002)(366004)(376002)(451199021)(2906002)(38100700002)(4326008)(41300700001)(8936002)(5660300002)(31696002)(36756003)(478600001)(31686004)(6916009)(316002)(54906003)(6666004)(966005)(26005)(6486002)(6512007)(6506007)(66476007)(8676002)(83380400001)(66946007)(66556008)(186003)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S00zOWgxaDh6RTNiNVYxbWtlczdQdUlaSjE0UkU1bDE4ZkdUcDBQeTh0WUhi?=
 =?utf-8?B?bGRTZ1NQRG9ZSGM0YUlVLzlzdWZOYWtNL1crR05GejYzb3FXbllOYXFJU1I2?=
 =?utf-8?B?MzZaZlUwaDNySmd1R3prQ2pYTTlIaklQY2U0VktMSTFSbTJpSElLNXdlcko5?=
 =?utf-8?B?cEtNR2dwdVV6T0FQZW1nbXhkc2pmenR6QkUzNElkUW5IQnBGbUVuRXh6dG1K?=
 =?utf-8?B?MFNDL0kzQnJVWDBmejV0anU5Q0NERWVxTmdUdEFnRncydkVCSUpFZ2tSdzFM?=
 =?utf-8?B?bkRGSEE1WWpKL2MwMUJ2MUlsdmRhUUJtMHJFOTNQU29DTEtSYVVZS1lNRy9T?=
 =?utf-8?B?ZjV6eTlMUldOdmVwbVR3VE43TC9iaEppQnpwTjRSWDNvcUo0ZGpJMHI0WE5Z?=
 =?utf-8?B?UWt4UUo2SzdkczFmaVhRZHQ0bkpmdW9saFJDQi8wakVMZnpHUmR3Q2RCNHpU?=
 =?utf-8?B?OGgvaC90UmlBWVgwdk1xdFo2ampmcXczMThickJhWXd4N1RWUkxsS3NvY3Fv?=
 =?utf-8?B?ZlhoUitrMUtGTS9GMkowYkZ2dFB3ekFGOVFYUVlZaDRsOVYrUzhxRmk2K1JX?=
 =?utf-8?B?Z1FDdmVFMDdodVFWeTVXRVBaYkxxSnNueVFYYXpGdTlydzdxYWFNK0NCT0Ny?=
 =?utf-8?B?VzdUZW5Cc3pJZVBaMElJcTVGeGxxcEhsNHJBbGgxUWwzRk4xNGxLWUp6SVl5?=
 =?utf-8?B?YjF1ZmtvVW44ZC9rZEVtWTFCUFhXQTQwelhHTUR3ZEpSS0NCTnJUdFdVd25t?=
 =?utf-8?B?M1Y2RWxSYXovaittOElhVGJ5WEx0VmVIV2FwK3VTMEhwa0U3T3BOMmZ5RlVl?=
 =?utf-8?B?VVplUStBUllMSG1JU29lbFh0cjAyTGo4NlV1N2xqL0xJaHY2N2twdkRpWGhU?=
 =?utf-8?B?WkxKUGwzK0tPZEFabmRuNW1MUWFzSndiOHgyblVQTHBXcHdXd3BSMDd6ZDRx?=
 =?utf-8?B?NXBCSjkvWitaM0tydEE4OWdPUUs3eUlkZnZldGx0R1dsWlZHZ0Fwb3gxUmR1?=
 =?utf-8?B?OGk4eldiUk9MR2NxVWhQMzRvbi9UMWwrNE9SQnFObXQ4d1MwTXhERnZGWFNx?=
 =?utf-8?B?TDRiajVlSzhMY2g5U3dOWjZncUdHQkthVXovNmlmMitGb2dLMFhtUE1qYXV3?=
 =?utf-8?B?SkUxdTBwMWtoMzEwamZ1LzA0Mi9tMkFGeFpSTnczeGZHRWZVczh0dkh0dEZs?=
 =?utf-8?B?S3E1WTVmdXJIZzNQZzdpRGJJRjZ5dUx6Z2hLK013cmRBeFByWlpheTBHV0Zu?=
 =?utf-8?B?V3QraHcwR2krd3JHV25ESUcxMFlFNWhIK3dNMHBYK2dRR1V0UmszelZ3SDN1?=
 =?utf-8?B?TVRFQ1FxUktHTkJJRnJXVWI5RllyamFwT1ZIRHNyUGRrWVhSbWNYallVQ2Ur?=
 =?utf-8?B?UjhQQjNUdHJxcmZaOXlTR2QrV0s1clhCT1JXS2FON0NCbHNycEtMZzVOZUor?=
 =?utf-8?B?UkFwekRSWWhTanhlL2w1NG1ldXNYYXBXTXdid002M2ROTG5FQ1d0VlREcDVr?=
 =?utf-8?B?MUE0Tm0waWRsNDAzc29DZ2RCUXdoRWFRZExCcmtWeVdQSjdOM2M4TEw0ZFBk?=
 =?utf-8?B?LzU4aXNIZm5laHBmQm1TU21yUFJoZ2cvRUJGVFAySHBIM1BxVFgvdWlOc0VK?=
 =?utf-8?B?YjJCWWt0ZGRyRTZEWWY0cFBOMGFMdGs1Q0lBRExzbVdZVkg0TEZxMSsraDhN?=
 =?utf-8?B?MVNGYlJHYTcwbkg2Q0FvVnlNNzVNTUJmRlk4UTZNR3R6RWt5MytwVW1OTTFO?=
 =?utf-8?B?clZrZXl2aHhpMm5BUzVLRC9YNTA4cGVocW9zaHlvZjBuV05ONkNjL1RHN2Zy?=
 =?utf-8?B?MmJDMFBCNnIwczBjU29IbmQ5MU5zNFNDY1FPT0QyejAzdkVKMHdEOTh1ekJ4?=
 =?utf-8?B?TXdDYTV2VjJZcVJiZEl1ZEFsaEg4MC9Xam8rOWdHMHR3RjFNYjlzbUFOVUtY?=
 =?utf-8?B?TjlOeVF0MzM5Q2NRc0tvMmlOQ0t0eVlNVCtoQWlFR3VwVUhoNkpFdUxhUDRv?=
 =?utf-8?B?KzhlRnoxWWIwVytSa1FabStEeWNkZzB5MkFYdUVubnpNMUhzSlFhZnNyTm5C?=
 =?utf-8?B?cG5yTHBsL1lSeFRDRkduckJjbTNyQUhnbU9WaTFCQXY2K21ja0ovWVhrc2xN?=
 =?utf-8?Q?lNqvJbs7A9EFUYlG1XdltSPCi?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aeba4d60-8ccb-4ee7-be39-08db3136882c
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 15:50:48.8966
 (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: MUZ4fkImpo6I6Te3eiH83mIcIoMoJjEC3CN9n2tUUVWfapQTqmYLx3kiYvNZ2QPim1qgDmMsw984JHbwIefMpA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6945

Hi Xen experts,

I need some pointers on an issue I am facing.

I am running my downstream port of Xen on Cortex-R52 hardware. The 
hardware consist of two R52 cores (the second core is in lockstep mode). 
So, currently the hardware does not support SMP.

The issue is that Xen is unable to schedule a guest. So 
leave_hypervisor_to_guest() ---> check_for_pcpu_work() and this does not 
return.

Debugging this, I see  check_for_pcpu_work() --> do_softirq() --> 
__do_softirq() --> timer_softirq_action().

In timer_softirq_action(), the problem I see is that for all the timers, 
"((t = heap[1])->expires < now)" is true.

     while ( (heap_metadata(heap)->size != 0) &&
             ((t = heap[1])->expires < now) )
     {
         remove_from_heap(heap, t); <<<<------ So, this gets invoked for 
all the timers.
         execute_timer(ts, t);
     }

So, further below reprogram_timer() gets invoked with timeout = 0 and it 
disables the timer. So, timer_interrupt() is never invoked.

Can someone give any pointers on what the underlying issue could be and 
how to debug further ?

I do not observe this behavior while running on R52 FVP. The difference 
is that for most of the timers "((t = heap[1])->expires < now)" is 
false, so reprogram_timer() gets invoked with non zero timeout and 
subsequently, the timer_interrupt() get invoked.

Also, looking at 
https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l211

208 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l208> 
/* Set the timer to wake us up at a particular time.
209 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l209> 
  * Timeout is a Xen system time (nanoseconds since boot); 0 disables the timer.
210 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l210> 
  * Returns 1 on success; 0 if the timeout is too soon or is in the past. */
211 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l211> 
int reprogram_timer(s_time_t timeout)
212 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l212> 
{
213 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l213> 
     uint64_t deadline;
214 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l214> 

215 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l215> 
     if ( timeout == 0 )
216 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l216> 
     {
217 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l217> 
         WRITE_SYSREG(0, CNTHP_CTL_EL2);
218 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l218> 
         return 1; <<<<<<<<<<<<<<<<<<<<<<-------------- Shouldn't this 
be 0 as the comment suggets ?
219 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l219> 
     }
220 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l220> 

221 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l221> 
     deadline = ns_to_ticks(timeout) + boot_count;
222 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l222> 
     WRITE_SYSREG64(deadline, CNTHP_CVAL_EL2);
223 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l223> 
     WRITE_SYSREG(CNTx_CTL_ENABLE, CNTHP_CTL_EL2);
224 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l224> 
     isb();
225 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l225> 

226 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l226> 
     /* No need to check for timers in the past; the Generic Timer fires
227 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l227> 
      * on a signed 63-bit comparison. */
228 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l228> 
     return 1;
229 
<https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=xen/arch/arm/time.c;h=0b482d7db30c89fc70b191722a89dea8a675c2b6;hb=refs/heads/staging#l229> 
}

Kind regards,

Ayan





From xen-devel-bounces@lists.xenproject.org Thu Mar 30 15:58:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 15:58:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516787.801466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phuew-0006Vl-Jp; Thu, 30 Mar 2023 15:57:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516787.801466; Thu, 30 Mar 2023 15: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 1phuew-0006Ve-GV; Thu, 30 Mar 2023 15:57:54 +0000
Received: by outflank-mailman (input) for mailman id 516787;
 Thu, 30 Mar 2023 15:57:53 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=IhQB=7W=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1phuev-0006VY-Om
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 15:57:53 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9fcd63ad-cf13-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 17:57:52 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by CY8PR12MB7292.namprd12.prod.outlook.com (2603:10b6:930:53::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 15:57:47 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242%4]) with mapi id 15.20.6178.041; Thu, 30 Mar 2023
 15:57:47 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9fcd63ad-cf13-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VYC1JdqCcME2zvcoXsp9zCXyPc68wndURkltdag9ItUufUplOfzBeTcP3FgFXOLTrZEvbZbnh6I5PuJorf66WB0ToRxomATd6CiVtO5EZrm/p0YZpctwLw9VOZ+uXqJZHVXNvJvMt9QUnW1FHmxZCq1uQHt7IYSQlgmb0SrnQU/K79aaqUCc2dRHke6PFirFsKn+pdgLOk0YkJft+bPHDvd8b/pygkVcKOVRqxLBHu/c0uKpmm4j7DewGwYPWioLPZoYYAtHu/GbaLVpZc3bPjAqy9l8uVnUobhurRdUzfdehLuSboWhkMCNKY4S1NPPSEBRep+UmvFJRlNk6Bl+8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p5HwkUDx95h6sNWQjqad4mtQrWIR3hbH2JzrcpAvgyY=;
 b=CyFtqE232GC8A61kkojb9fP6xQHYQj4z8hGtWLoGQwI3FEFWE/v+eDZZKlt3A1t9MrbgUkLL4W1fCuLAkK+8CnmcaeNmaBrlSPCUg/ONu3/ZCkWOGcqD38h0G2WKtvwgl+Q38VmOMWmRcAWz2KfbOhRbNE1KD1w7FrNx+CgXdcfLWJhTuSCC5CJTeKw2LWwOBg1Cts0iBfvFFzDk7Qm2D10OdfvazRCw1u6I6gTCPK7yJofcA+6rLdT2O6ODa1Fbsh7HOR31Mo14RFwGMfCapVf/wPsecMwzDO7460XgS1z0oBYW9tLUfnmfemBa4iOCppWoqgaCl9NOcdiHXuYImA==
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=p5HwkUDx95h6sNWQjqad4mtQrWIR3hbH2JzrcpAvgyY=;
 b=As2Ep12pbQfE6vwnF/prmTMWuAaeVzfd8QVJ1l6HihThLj81axPRCL+uOpp9bWwL+4fEuLRwmoqDd74dC1NQmBBMgl/LrYeOW65VjocCGMoxqeMMo397oRf+qKahID3Jx2d6+OOyVlwGuLvHLOHOsTGE2V8v6eNP0zM4LC9fEC8=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <2f7a00eb-50c9-bee7-231e-9285ffa4c9a9@amd.com>
Date: Thu, 30 Mar 2023 16:57:40 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: Need help on a issue (Unable to schedule guest for Xen on Arm)
From: Ayan Kumar Halder <ayankuma@amd.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 "Garhwal, Vikram" <vikram.garhwal@amd.com>,
 "Stabellini, Stefano" <stefano.stabellini@amd.com>
References: <b4badb12-8887-d8d8-138e-8b4536ad95a4@amd.com>
In-Reply-To: <b4badb12-8887-d8d8-138e-8b4536ad95a4@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0685.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:37b::8) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|CY8PR12MB7292:EE_
X-MS-Office365-Filtering-Correlation-Id: ae619c44-38ec-4e47-c4a4-08db313781c2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3oqYFnYD93D1C/Itei5xy2kEBpIeaULyUVRjMWm9ZvHOtoeIO65DmfQ3Lr7GPJELZ+vnEs1ELnF+A+7jmn8gjExixkUddbn3C0IOX0LQqTLDmYnjNJRVAWeVZLZ+28oeBSbF4HCiHH8SVPeWAYT6gatUE4894oKdI0H73heN/8XlJXauMjM9ITFlKU7ilQpjuOkTxi/FK78bq4YIKm/NIqKZXG+CrePrLnR2tuZUARh38G7KSEecFU+DsiHzVsXloks3hdl8A2kGDv8l4U0sAJ+LV8IXLx4D9AwDVHdqWB6pJ8a57ZD00L5Kxn940QVzIU+/c/Lc0cpBs2Xh2165r5BBlPDcMea7/7m/DZMRcjwflZcScLPmI1MlZ3auBNMlTBUeSXO+LCFqMgeC7Fm15FT9qMnnukwZGG+EMnLnhNGM/XEXX/IRqMYj1qxaWbaBHRZLyZhbq7Uk+hJ6Wo9w/HqLazha51J1ijY5G8quCpoocNZOVHfa2YJnVl7LLbrvCn+ftpmIBLVPk9OxXgVMO+US798JnmnNkkIMwpNPwMaE+pfBoCRknEudbQh5dKaOVJrUWR/oeGWDaUZABRZ+JKqyFFsNBSp2GxyFJ+A1IDODSbkvXjaLeIrtw54vlY4UXO8ERLLixB2bZR2MygeSJQ==
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:(13230028)(4636009)(346002)(136003)(366004)(396003)(39860400002)(376002)(451199021)(31686004)(6916009)(8936002)(38100700002)(5660300002)(4326008)(66946007)(66476007)(66556008)(8676002)(31696002)(36756003)(41300700001)(83380400001)(186003)(53546011)(2616005)(6486002)(54906003)(6666004)(6512007)(2906002)(6506007)(478600001)(26005)(316002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c1JFTXdJOFEwNEZFa3ZXYW4ra2twZGFlUlBCV2FwdWhTenlxUCswR25DMk5y?=
 =?utf-8?B?bHBXVkFmRVhYZ3RLY1Z1dEgxS0ViOGpYeEJpZEJNM2VMQnhPT1duTUsxUEJC?=
 =?utf-8?B?Q2luK0F4UEZxU09tRzY0Ym1GaU4zN0hEZmYxb1JkYWduaVNOZlJTMmNrRUk2?=
 =?utf-8?B?VDNma3FscmRyRlROckxra1VXTmhMSDRheTd1Q0xkVlZBYmJZVW0zdjNCQzFS?=
 =?utf-8?B?VjlmR2o1YlVlQk5vQlAySTFtdGZjTy9zY0l5dDkxMXZJTldMUmJZOGFkQmxL?=
 =?utf-8?B?azEybmlOdGZPQWRJR2FJeGNYSUJuWlpRU054TFAxNmhOQ00zMEN6bDZqWU10?=
 =?utf-8?B?RHQrSUxzWFcxSFdlZGI5cFlPRlY1VElCMEVlYUdzRHNQMEtpV1VjK1N2RHU0?=
 =?utf-8?B?eVNRN3ZBbXAvb29kaUhidXc1eEVQMkhEbnNrais3dkM4TFkvYlZaQlNZQTdz?=
 =?utf-8?B?WkZvdFdJVWZjSk9HbE9EbldKK1N3SHhETm9BNmJ1UCtGQjZEdi9HVWNIOHg1?=
 =?utf-8?B?Z1R0U1QvOWNFTkp1RGpJU2Vzd25acDFtWDhNSFlqS3hSTElLQVJSVDdTRjhu?=
 =?utf-8?B?WUNobC85MkI3OGU1RkJmY0R4UDdYcXZkTGh0T2h6MHhSYk9ELzRycC9vTVhC?=
 =?utf-8?B?WjM4MURQdjlkdExkWXF3SEM1bzF1dW40ZWhKb1J0NkNIKzg4UzhWLzRNVmQz?=
 =?utf-8?B?N3NybkhhYUhHSXQwZk10YnZYd3FzcWkwMXh4SUpIMUlzbmpmQ0xrRXpNZTRS?=
 =?utf-8?B?WTZSNFN0VWpIWjNrZUZ0Nm9wZGIzNUloOGoxbTd2OSs0blRpT2wwUGNBZUM3?=
 =?utf-8?B?VUJVd0JjNDlTbUNjVmFVSUp5a2x4bUR1dWtsenJMOE9LWVBCaDRaWUdsZlVQ?=
 =?utf-8?B?aEFSUFl2OUowcUZsWnhrUjZtM01FMDFMeEp2Tm10T1Rudnk5WFM2emhmSS9z?=
 =?utf-8?B?UnhWTDJqbnBXQWVOVXNqSE1VVk00OEN5bXg2Tk1KV2RjRmlNZFlEUkFaR3Fv?=
 =?utf-8?B?VkJ5cTRkTVFDM0ZENzA3dmVNNkR0VWd3TDhYNk9lVEtnVmFmVjc3Nlpnczg1?=
 =?utf-8?B?UmE4a1RWRURqZk1Sd1F5b3pPSWNTOHhseGpNSlBEdjBobzN6VUFqNjBhdEVl?=
 =?utf-8?B?SE9HUlpLT2dFanRTVUMwamNCWk1xMG1qY2xnUm1abjVXd3IvRStOOTdLZ0xG?=
 =?utf-8?B?bzVMMFVHajZVWUN2bUFOS24vdHAycTQzMVVwU1pHdUdHUnlQMU5jTTljVGlv?=
 =?utf-8?B?d28waDVGc2NuNy9xTityRlZtUnMxWHJ4Ni9mYjA0UWtKOUtySm8vbkY3UjVJ?=
 =?utf-8?B?WFJQVmFZZ2ViODdxNForaUZiT0hvLzNucGNNdDZZb1JucllJLzZ3bWEvR2Ny?=
 =?utf-8?B?TEVIL2w4d1QwZnRkR3dLQjlucFJJUXV1ZEh6a3h6YkNxejhkczJncmpINmdN?=
 =?utf-8?B?QWlvUkJHNEhCeDNoM1AwY3g0c05Cd05sOExHSllOVDVveksxRVEva09GTURU?=
 =?utf-8?B?OUtaOEs3QXNXZnNmQUFuMFgwVDl2TU03QU14aUo5OFFGYkE3N3BMNlVVOVdh?=
 =?utf-8?B?cGk1UWZlRXNGWlpFYmNHV2J0QWgrdzVZaTVWN25ZajdvWkpMdy9XUnhVZ3Y5?=
 =?utf-8?B?OGl0REttNzd5WVYva3p6RU5ybmMzOVVVckVWTVV2eXNXUkE5S2VObUYvcGhq?=
 =?utf-8?B?VlA3RUVNZnhiMTcvUEdkSlQ4bFRHa3ArL2Q1aDdsakdtcXkrR0RvNjhEeDFX?=
 =?utf-8?B?MU5JRDRPRlF5c29yMWxheGd6QTM3b3BRK1FnMmNpSE5TNVZWRi9pZmhBMERE?=
 =?utf-8?B?OWg1WXhCK2FHUjlkZzZUbU5rR2lwZXJTTTBJRURiWHJ5T3ZGQWg1aWRYeEpq?=
 =?utf-8?B?cHFOaXZuNTFteGRLUDZTWUJGT2IzWGdoQjNkb3I3N01HRW9RbExnQlpVMGF4?=
 =?utf-8?B?TDdQbitPWXArMDM0elNJRjd2cTgzOUx4YnV6RzVkdytNMDdOMVBNTVBZK2hs?=
 =?utf-8?B?ZmdIc1FtcCtkSHBER0MzaDVCUHVodmM3TTdEY21XMlV1bCswL09PcC8zaERp?=
 =?utf-8?B?MSswaWNyWEk5dWJHRGRFeWtoOFc2cmNIWVlvaXRpVTR6bmErWHZyQnB0S21a?=
 =?utf-8?Q?R6eBWnrO2rSkJRFYSlFxZiQU8?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae619c44-38ec-4e47-c4a4-08db313781c2
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 15:57:47.5388
 (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: ILVDm09NxraRBFgjMkt8GbaFmOUKCxMFI3Yr4oh0BiDyTzOSalIoE0qu58DF/EcV+7xSemy9T1whuyArNHi9Wg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7292

(Apologies, fixed the formatting issue)

On 30/03/2023 16:50, Ayan Kumar Halder wrote:
> Hi Xen experts,
>
> I need some pointers on an issue I am facing.
>
> I am running my downstream port of Xen on Cortex-R52 hardware. The 
> hardware consist of two R52 cores (the second core is in lockstep 
> mode). So, currently the hardware does not support SMP.
>
> The issue is that Xen is unable to schedule a guest. So 
> leave_hypervisor_to_guest() ---> check_for_pcpu_work() and this does 
> not return.
>
> Debugging this, I see  check_for_pcpu_work() --> do_softirq() --> 
> __do_softirq() --> timer_softirq_action().
>
> In timer_softirq_action(), the problem I see is that for all the 
> timers, "((t = heap[1])->expires < now)" is true.
>
>     while ( (heap_metadata(heap)->size != 0) &&
>             ((t = heap[1])->expires < now) )
>     {
>         remove_from_heap(heap, t); <<<<------ So, this gets invoked 
> for all the timers.
>         execute_timer(ts, t);
>     }
>
> So, further below reprogram_timer() gets invoked with timeout = 0 and 
> it disables the timer. So, timer_interrupt() is never invoked.
>
> Can someone give any pointers on what the underlying issue could be 
> and how to debug further ?
>
> I do not observe this behavior while running on R52 FVP. The 
> difference is that for most of the timers "((t = heap[1])->expires < 
> now)" is false, so reprogram_timer() gets invoked with non zero 
> timeout and subsequently, the timer_interrupt() get invoked.
>
> Also, looking at the following from xen/arch/arm/time.c.

/* Set the timer to wake us up at a particular time.
  * Timeout is a Xen system time (nanoseconds since boot); 0 disables 
the timer.
  * Returns 1 on success; 0 if the timeout is too soon or is in the past. */
int reprogram_timer(s_time_t timeout)
{
     uint64_t deadline;

     if ( timeout == 0 )
     {
         WRITE_SYSREG(0, CNTHP_CTL_EL2);
         return 1; <<<<<<<<<<<<<<<<<<<<<<-------------- Shouldn't this 
be 0 as the comment suggets ?
     }

     deadline = ns_to_ticks(timeout) + boot_count;
     WRITE_SYSREG64(deadline, CNTHP_CVAL_EL2);
     WRITE_SYSREG(CNTx_CTL_ENABLE, CNTHP_CTL_EL2);
     isb();

     /* No need to check for timers in the past; the Generic Timer fires
      * on a signed 63-bit comparison. */
     return 1;
}

> Kind regards,
>
> Ayan
>
>
>
>


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 16:08:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 16:08:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516791.801475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phuom-0000B1-L2; Thu, 30 Mar 2023 16:08:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516791.801475; Thu, 30 Mar 2023 16: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 1phuom-0000Au-Ho; Thu, 30 Mar 2023 16:08:04 +0000
Received: by outflank-mailman (input) for mailman id 516791;
 Thu, 30 Mar 2023 16:08: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=yKpO=7W=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1phuol-0000Ao-6l
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 16:08:03 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2061f.outbound.protection.outlook.com
 [2a01:111:f400:fe16::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b0126b9-cf15-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 18:08:00 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by DB9PR04MB8447.eurprd04.prod.outlook.com (2603:10a6:10:2be::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.21; Thu, 30 Mar
 2023 16:07:58 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Thu, 30 Mar 2023
 16:07: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: 0b0126b9-cf15-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Bzi7QfqwjbvfZiMLqUgKy1wh4XRUq9e9D0s0cqDoCWSYPzOU065oepttEgtqsm4DWAWfKjbEepI1k8BKSBDqQLzwFahGPLwlhcxW5S4ulkBien1Q2jx3aqz5sPyEXgnnGgPm3awR2iX1nlrYDVl1Q5sKxz40aaC9JlqcWRpWg17UolMs46j+fuo8G4NtAKbfL+nvCPrRNvSxyQWP+zhGJLSCWSuXscsXhExSOvRHGJIySfCJtD8l6SY/Y7XAcf/36SA9hGaP3YjvAJcaS48zm4Z7yIQ2i/yWkNyCfp97rgRmbzj0dJpkHTrH6kuNgor43BkJg+jhG3Qtikz55fBX5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WHPfIzER4JtM89tv8E0PaasF82WxqEoWR8fdYkGYY3w=;
 b=KGkeR3CjGZ39+DbT4GCR0es8sOiV2l+Oq3DWyYSXDUpZHSDca9i580HJjUD1eq5NlaQU+LRBVZyxTekSjQ1VHFQ/cPncrFiV781T3l3YlS6+qP/NMlm8nIxmOcYWAJvVVTAxSj0GXGobpdLqlghVD7Aiactz77ZpagUpltgWE3Gyp1UlWVDH4KuNXrF9HLLqJVL8IDEqXJSZ+Cvh3Iqyf/8smn2IbqIr06qJZ2WI9/Z02gFwqIo0Iv30OF2cVLH2eV//el/rkmt8U9Ff4Wzlld7JspV8RX/eNAUg7OR5pAL463pr9cgRYKJ4eNqS8isR3EdQH1MTRl5paW8Ujf7jow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WHPfIzER4JtM89tv8E0PaasF82WxqEoWR8fdYkGYY3w=;
 b=VzpsJWZF23fnYEXi28+iqpzoTt02ZY9NQae++NDRXzZArJ8osx2IK7ox2ZqkhrNCu1ROVbVEQFRDxDSA58QAifw7OIsvFgnIh+ZCpUMoME2P1RTxZZjVAMrQRO1l+qGpTdbVvsAv21PrM1/zYUKNbKN2wZc+lK2ZxF7In0wZctDsoC5o6wIC2nDtipt34/ULw//KhyTsvsvbJpkDWMhtEBtLMSPJYlRAmjBEAyfASV+UOqdeHKHUa7vmRQdZpoQiBuwghraHxZDjOeV7iE6d/zFyG9p/40g03dpEhFSELvNMoVxPyRBzRSsjnqP/nlh2UsWy6H3TrFSVQF+CLGisAQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <50fe2ff9-9633-1cbb-4afb-b577778d3edd@suse.com>
Date: Thu, 30 Mar 2023 18:07:57 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 2/5] efi: only set a console mode if the current one is
 invalid
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: marmarek@invisiblethingslab.com, xen-devel@lists.xenproject.org
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-3-roger.pau@citrix.com>
 <c62446e1-8e47-5fa9-1c7b-a441d38711e6@suse.com>
 <ZCWuYjP7L4obvXt9@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCWuYjP7L4obvXt9@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0154.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|DB9PR04MB8447:EE_
X-MS-Office365-Filtering-Correlation-Id: 5722d9e2-aad5-42b3-5c7a-08db3138ede2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jdoznDq4SDIRca2db7dXdqB6enh2gvZQ8ZxhycmgwpEX2W1Hj2DiqA6UZT0rOkvRy4k1c7imqlMBLjOS+0euYlVwaTlQyaenGvQdPbXoJ3qKyVc4Frx5c3Bqt5uqnC0j0WzsO8waLSi1icO/8KOno70V549t+GmLecduqlzw0IBXYDTogxbAclzBQWUrpkUYvi90GiH9qe06S7ZwTmFS+iPCDGugM/nX9ksQD7dzVCFZp7EPoLOIaUWiUpvRGpCluRFeBTgK/3nUrWR1Op+RibFUjsAcQ/l8c3sXUszbgRvMO0uyaqZLVEM4NKaX6F21ysCctnR2uk7Q3KINsjSkEBCMWn2l/JZOplpgX2A8rEwSrwrfGupHxn6/GtGmcJ/J5eP/0ae6cT7IKG3khWywFBbJSzp1Vj7PolGNmMQaV4ITNgJ7Isp4dH+DaQ+4dfpBGhf17EUM4Y+x9wfhSMFICwFAKSdq4LTrGay/qvKgavTTQXvew5MbkPUwSCTRKDxzQGYlnOZuyK+dbvjJGoO8vxt+CsaNxsHoqMHVqLcud8avFV/z8okrBkrYxCTZaCV6cJFHjnFQeBDX1lfuYP5mC4D+OAfr1U+T3tcDVWbHFvV0ddjNsvou2s7DL71BplKsBG70ZPrWUbbGxB0ZxKa9IQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(396003)(136003)(39860400002)(366004)(346002)(376002)(451199021)(36756003)(31696002)(86362001)(2906002)(31686004)(6486002)(2616005)(186003)(8676002)(6512007)(26005)(53546011)(6506007)(478600001)(4326008)(66476007)(66946007)(66556008)(8936002)(6916009)(41300700001)(38100700002)(316002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SDU0TkRVNTVQeTdxMk9TTk9kMmZscktJeXNNc1FuNXVxRGtBam9IY1RxOGdL?=
 =?utf-8?B?WUtmTGVEZnhiOGs3c3Yvd3lnU2ozaTEyV0dMN1d2d25oTS9JVjhwMFVNSWxW?=
 =?utf-8?B?VW80VGE2RmFSQkhnWTlWUkIzZlRweEFLM2ROaVBhbnVhTEtiVm13aW1OU1VI?=
 =?utf-8?B?dHB1NTh3ODRTMlpBTjRKS0ZzM3BwbGtMMzZFQ2Y5WmRQR3RoNlRNb2F1SExq?=
 =?utf-8?B?NGwwbElkUDhFdkRZdzZNdnFvR2FpY2JUTlpZYmtiVlF3NFZYZWd5WkF5d1l5?=
 =?utf-8?B?MzFhb0UwcWQyd3ozL0c5UWI3MW5tQVhSVExibFgvNzU2aTg1WjFjUDg2ZlVN?=
 =?utf-8?B?QVNmS2o5L1gxTmVtMzYrQmtvdE5ZOGV5MkFTWkJoRUQrWTEwajhMRkZoZHpr?=
 =?utf-8?B?Szh4YmRqM1BXbW5wVnEyS0lUajAycU44dTJMUjk2cXd4bWdSRWFtN0FneC9F?=
 =?utf-8?B?VVF2Wm5Vd2prZ25nbVAxOWE5SVUvSktaRnNQaEFaN01TR2lPVlQ2ZjVWcElQ?=
 =?utf-8?B?QkpzY2g3all1OG0wSzBtb1JqZlhicjN6a2IvbDg0RTV2clFWRjhLamU2Y2Jq?=
 =?utf-8?B?aXhqbXhZZGE3eHNuVnk4QjFYSi9FZkFpM01oM1pWaDlnWFlkSFJZQVBSQmVr?=
 =?utf-8?B?algwclo4UnpwT29mcStJbUk5MTRLT0NWY29XeUgrOFFPb2gvb0Uwa1dWRSs1?=
 =?utf-8?B?VW4xNlp1Vk9jZ1RIL0MrSDh3T0d5U2QraE9TeE1obzVOVDAvZG1sdE9FZVdx?=
 =?utf-8?B?ZWd0T1htM1J6U3FFc29yY1FocG1mVW1iOWRkUzNWaWhMTGt4YTJEN2wvTWRT?=
 =?utf-8?B?Mnp3NEpDWTJKcUNDRXV1NjcyMjhkM0lOeWVpcjIxS05uWVlLRFVMWDR1citS?=
 =?utf-8?B?RUZoVWtoODNMNUYzRWc1RUVCRHVNTktQWDlOa1BjOVZ6Tk44VlQ0OWZpdFVR?=
 =?utf-8?B?SGpvQjZDWFhVc3JWd1A3NStwRXB4ZVZqWEtudVZvaS9RNU50STVoaWlDZVZF?=
 =?utf-8?B?UWRPQlhEcmYrVUdweDVnOW13aExYaWE0SVNQQUlGZ0QvT0Y5bW9GUFBTbjNR?=
 =?utf-8?B?d0svbCtBNEdDL0h2QS8yRTFxdzk2cVRPWE5JdXZ3ZlpwMXdRS3NhZE1oWHhZ?=
 =?utf-8?B?VzdSSno0aUp6ZFJMbXFIU3h0VEFCZ0ZURHk3Z2ZpSVRMMm4xSDk0RTk2TDVQ?=
 =?utf-8?B?aUFtQUE2WnJLTGFtemdLRlA3NzBKaXFzOTJBckNBTjlybG53Z1BZN2pFMFU4?=
 =?utf-8?B?eHE0UUtldU4yU0ljbnN4TU5Pb2JWcDN1MmI5aXhoMUdGaDMwSm03YnFjaXha?=
 =?utf-8?B?MzZTRndOVTVLbHZiVnVDcG0rVzRqV1FZMjZKK3Y1cUROc3lSWHp0eTh3RTg1?=
 =?utf-8?B?eS9VU2preU51ekhLTFJ1TGZwMWxLYW4xQkU0QXBicVphSEZRc05tVWJobHRN?=
 =?utf-8?B?aytoeUFZODZqaVNSTk51UjFqOTh3V1JWZy9sN0lYQ1BFL0dBTFArMTllMXdu?=
 =?utf-8?B?Tm80eTMrbGNjRXVwaWwrUHh1em5ra0t3MlV5eDlLejVFNzNBTUl5SDhCR1o4?=
 =?utf-8?B?YWdaOWNoelFUOHJJMTZ4TjdQc2hlcE5xNUVHeER1SVRBd3Nia0Vnb3Vzallt?=
 =?utf-8?B?WEJDZnNraCs3bDZuSVB6ZnNBdVVSQ0QwUGJxZTQ1RWN2TFNpOFJYbm92M3d5?=
 =?utf-8?B?NUtWbTdRd0hpdzkwVHNja1FONDFIbWp2a1BWNW9oak5CdzIycS95bHI5QTZI?=
 =?utf-8?B?akwwU3ZsZ243blhiVlpzVnNod09Ic1lzR3R0eTIvdmhaSWtQWXZSRnpNem1W?=
 =?utf-8?B?QXlYMFBiNjNseHg4cVZVS0NoMXU5cnhpY0JlUmxmb2hPOXU5U0hrdjlFcm9h?=
 =?utf-8?B?WWJPUlU2MHpzTlZRYUplTWRVeW5XdUc1a2VhNG9SbkJJQzZ0UmgyeUVoRDJL?=
 =?utf-8?B?bUxzTFNNbEh5RHFhRGxPMUM4RmJMTlNZQ1dYdCs5Sk9BNkhQdStwQUV5WmZ4?=
 =?utf-8?B?STZYUHdTZG9EQVpMaVM2aG1ORmpUMHFYUXkzMmk0b0twV3FQREdGRXQyVlhC?=
 =?utf-8?B?UzdKODcyTjdESm5OWXJDTGY2QUtiQlFNZTVaY3AvMUNrckZ2SmZnZ2dYS1pP?=
 =?utf-8?Q?sw2R4eh8yOIfjnbaFCZ+FPada?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5722d9e2-aad5-42b3-5c7a-08db3138ede2
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 16:07:58.3958
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f725gCr3rUTxoD2dxNgrnGndjuT+pBUQAwa/N96Fj+UoYXBQMg5pEwzhaORy6uEw4Aml2MAMbo17Z6Cs71aqRw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8447

On 30.03.2023 17:44, Roger Pau Monné wrote:
> On Mon, Dec 05, 2022 at 03:19:13PM +0100, Jan Beulich wrote:
>> On 23.11.2022 16:45, Roger Pau Monne wrote:
>>> Do not unconditionally set a mode in efi_console_set_mode(), do so
>>> only if the currently set mode is not valid.
>>
>> You don't say why you want to do so. Furthermore ...
>>
>>> --- a/xen/common/efi/boot.c
>>> +++ b/xen/common/efi/boot.c
>>> @@ -799,6 +799,11 @@ static void __init efi_console_set_mode(void)
>>>      UINTN cols, rows, size;
>>>      unsigned int best, i;
>>>  
>>> +    /* Only set a mode if the current one is not valid. */
>>> +    if ( StdOut->QueryMode(StdOut, StdOut->Mode->Mode, &cols, &rows) ==
>>> +         EFI_SUCCESS )
>>> +        return;
>>
>> ... it might be okay if you put such a check in efi_multiboot2(), but
>> the call here from efi_start() is specifically guarded by a check of
>> whether "-basevideo" was passed to xen.efi. This _may_ not be as
>> relevant anymore today, but it certainly was 20 years ago (recall
>> that we've inherited this code from a much older project of ours) -
>> at that time EFI usually started in 80x25 text mode. And I think that
>> even today when you end up launching xen.efi from the EFI shell,
>> you'd be stuck with 80x25 text mode on at least some implementations.
> 
> Won't you use console=vga vga=gfx-...
> 
> To switch to a best mode?

I don't think "vga=gfx-..." is presently consumed in any way xen.efi.
Doing so would require a similar hack of peeking at the (ordinary)
command line options as in legacy booting, except that in xen.efi we
read that command line from a file, which iirc is done only after
fiddling with the video mode.

>> Overall, looking at (for now) just the titles of subsequent patches,
>> I'm not convinced the change here is needed at all. Or if anything it
>> may want to go at the end, taking action only when "vga=current" was
>> specified.
> 
> I guess I'm slightly confused by the usage of both GOP and StdOut, I
> would assume if we have a gop, and can correctly initialize it there's
> no need to fiddle with StdOut also?

Setting the GOP mode is done last before exiting boot services; this
may be a graphics mode which doesn't support a text output protocol.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 16:18:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 16:18:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516794.801486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phuyP-0001iH-Jy; Thu, 30 Mar 2023 16:18:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516794.801486; Thu, 30 Mar 2023 16: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 1phuyP-0001iA-GZ; Thu, 30 Mar 2023 16:18:01 +0000
Received: by outflank-mailman (input) for mailman id 516794;
 Thu, 30 Mar 2023 16:17:59 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=fiWc=7W=citrix.com=prvs=446b09b9a=roger.pau@srs-se1.protection.inumbo.net>)
 id 1phuyN-0001i4-Pj
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 16:17: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 6ccccff5-cf16-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 18:17:57 +0200 (CEST)
Received: from mail-bn7nam10lp2108.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.108])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 30 Mar 2023 12:17:44 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by BY5PR03MB5000.namprd03.prod.outlook.com (2603:10b6:a03:1ee::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Thu, 30 Mar
 2023 16:17:42 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Thu, 30 Mar 2023
 16:17: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: 6ccccff5-cf16-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680193076;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=iFpHDpTkpP9jaj/L6dnLnJNfkeEr0jufmkgET8tMWJ4=;
  b=FHJ6Ec+5rEkQEYKid7Rs7WbKnu63DN50paK4B0kSDuV4A/D8mvs/LD09
   WlzkYpAVvD+XBT1AX2dw9hr5RFocbH9wZUG5tjrLVR0PGFscHhQBQblby
   p2ejVwU4aIQZ+fbN7qxzgGzo0vcsV0ZG17G/tj5suG0wuVavlrwmpEXC3
   U=;
X-IronPort-RemoteIP: 104.47.70.108
X-IronPort-MID: 103077549
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:g6RGqavLWZEboSUg8x9Mo3aDR+fnVGtfMUV32f8akzHdYApBsoF/q
 tZmKWyBbvjcYGbyeN5/aY23o0NXvMOAmt42GwNupXszRSpG+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVKiffHg3HVQ+IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4bKj6Fv0gnRkPaoQ5ASFzyFOZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwCS02LQyfpNiNxq/rbuxO2ugjNfPAFdZK0p1g5Wmx4fcOZ7nmGv2Pz/kHmTA6i4ZJAOrUY
 NcfZXx3dhPcbhZTO1ARTpUjgOOvgXq5eDpdwL6XjfNvvy6Pk0ouiP60aIq9lt+iHK25mm6Co
 W3L5SLhCwwyP92D0zuVtHmrg4cjmAuiANlKS+Llqq8CbFu7yWAIAhQXCkKCvLql0kWVZOlYD
 mJIw397xUQ13AnxJjXnZDW6qnOZuh8XW/JLDvY3rgqKz8L85g+DA2EeQz1pado4tdQ3Tzgny
 l+ImdzyATVl9raSTBq15rqS6D+/JyURBWsDfjMfCxsI5cH5p4M+hQ6JScxseJNZlfXwEDD0h
 jqM8y43guxLidZRjv3ru1fanziru57FCBYv4RnaVX6k6QU/Y5O5Y4uv6h7Q6vMowJulc2Rtd
 UMsw6C2hN3ix7nW/MBRaI3hxI2U2ss=
IronPort-HdrOrdr: A9a23:4Onv36DEKzvPfjTlHela55DYdb4zR+YMi2TDt3oddfWaSKylfq
 GV7ZImPHrP4gr5N0tOpTntAse9qDbnhPxICOoqTNCftWvdyQiVxehZhOOP/9SjIVyaygc078
 xdmsNFebnN5DZB7PoT4GODYqkdKNvsytHXuQ8JpU0dPD2DaMtbnndE4h7wKDwOeOHfb6BJaa
 Z14KB81kKdUEVSVOuXLF8fUdPOotXa/aiWHSLvV3YcmXKzZSrD0s+BLySl
X-IronPort-AV: E=Sophos;i="5.98,305,1673931600"; 
   d="scan'208";a="103077549"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YtoHFhMUsUzaVRRjPM00cMW6QtvkURZu9YUXQqZntcRrkf2gf+Pd9Nl1K2N81AT2gCEd/t2lnHGdiBffLDQovZZydWSQFC7PCsgsvGoSHzLO++K9aJZ8/vVoejlln5srqJLO55tAiLW8ABKwU7mq3hYoB/6A4QpSu4qxwbfB3Dojw0y76/8xGdmGDQCYY3RYVEedWsYhrHXh6+mrXXplJN5X6A2RQSrOXCfvMjI94xRPLc8OgtyV8gud6nlSj76ucmy5qy+m3zfPLIENukv3gOFNxVzy0GbUzdf9MQ+e0cs+SJsyZ/RHL1Gy+zVZLftBpsvCpH7s2fVend/ifPb2tQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=em7eAcOH84sb9CI6wNZvCbA9Cerek/Jl5dXFIQOBVp8=;
 b=NDMHCj9vdaO2fZFjjNjIwHjfa/VeOkzfbUd78KNTbrflrj2vfiA/OeAxNk//8kyYMw52NsLk2Vg7IGyKiZHa/ULZNrOQkWFj8Ta/XVEfNjq/mpId4kb2M89Fb/WdUFqx0N6Vvn71cjKVzzYNZIs3R1Y2yJ7urvyWtE0dDtIZw3TR+AA4dfAa+Z5Qp9aAe6dzrIXirGfsT53dPnxrkxLkEpCSeXIsY05UMlcNvZg8vylp5CmQE1pzTIu40yZF1XabERfbxWgesNnA+JSgGOD5dzYiKYTzrcNKEA56w1XvjJK5lnvfvTcYSisWRzP2wuHcTYTkFmhHAHz+fwtNm1KffQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=em7eAcOH84sb9CI6wNZvCbA9Cerek/Jl5dXFIQOBVp8=;
 b=OZ/gBFKVsy0nRbA0cPzRYHnzs0+gu1hXigsi3qDws4klkZrEcwGyLlozFdB0K7+AcyuyEQJojbk+x4cTOQQJF0Hqvf/CyRglYY1Wabco0zRhBuCekEpTlahlWW79LfyZxmPO89PmhdUg52rB+vBBff+X5TL4q2FDO3MGBwdgS9w=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Thu, 30 Mar 2023 18:17:36 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: marmarek@invisiblethingslab.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 2/5] efi: only set a console mode if the current one is
 invalid
Message-ID: <ZCW2IHKP4GHNmBuk@Air-de-Roger>
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-3-roger.pau@citrix.com>
 <c62446e1-8e47-5fa9-1c7b-a441d38711e6@suse.com>
 <ZCWuYjP7L4obvXt9@Air-de-Roger>
 <50fe2ff9-9633-1cbb-4afb-b577778d3edd@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <50fe2ff9-9633-1cbb-4afb-b577778d3edd@suse.com>
X-ClientProxiedBy: LO3P265CA0015.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:bb::20) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|BY5PR03MB5000:EE_
X-MS-Office365-Filtering-Correlation-Id: 978972c8-4053-4b22-c791-08db313a49f0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	trO09HTIIpD+Pe2E5pit+S0gMa0lygsSiIqvlptEMTmBliMY40GbPzlO4tgiqDlyLmNwTPJjlafd1CbYtXwrHdZNkgeDRPMO/eVC/TtFc6e4oiuGcwvFjNPn8OIEQEe2XvG1GKYxQ83p56ETvkCG5BJIQMTGexWXH06LzOX0sZnYwHIxxZ3yB0zFwQq86WkcuHtQaPkJhPIZ+aoFFtZ6wVqAakYiwpXhkKxRKKgLzo4Mu5nwu4Q1K9TxIHDQwSOvJ9BPEjwik0NADvoOdhmovc6d1Yys17mrAHvX1qmuOdr4XBp0fYH/QgSQPTmXtD5ZG9w7M1xiGuHgZ+CxakMjgdVw2+1YYCLff5zK6AMLyuhCDR4rbilUomPhXwEbeIOSPnIjMc2kszr4+quhweGM38viF4/K4gfzk5/h2at9uE5D/vVg9V8WYcI51uCDtF30gL+ri7ht/tBLUuttKKe5hRMw5hv7cFo1acNpxgRVPLyYzzmLPDeDnAxCCeuNrp/aA/EvtcRUR5kvwCUxX66S+1qkMKJmt3QATFIoXdku1iSo5e6x+0ye++qdimwVet1O
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(39860400002)(396003)(376002)(346002)(136003)(366004)(451199021)(478600001)(26005)(6666004)(2906002)(85182001)(316002)(6506007)(6512007)(53546011)(186003)(9686003)(6486002)(33716001)(6916009)(66476007)(66946007)(66556008)(8676002)(4326008)(38100700002)(41300700001)(8936002)(83380400001)(82960400001)(5660300002)(86362001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UVcwM0l2NC9kNEluRVRYbGlPTFJUQWNpZVRZSWxrUUphMWIzczczTEYxZ2pu?=
 =?utf-8?B?dlN4TDV2U3IvTElBMW9NRWRmQ04wUy9RQUIyR0F0TUxzbjRRUGpiV2VybzhC?=
 =?utf-8?B?ZWVIaDdVUjRObGlqOWlZbFBQMzhMTkFweXlhMGhpSUltYmxYdzVKd2YzeElk?=
 =?utf-8?B?UmhFZFQ0R00veFlUT21GWHZ4Q2tkanYrc0MyVmZYSndwQTBtSVEyVFd3eHNG?=
 =?utf-8?B?SFF0bS95TE9sWjhLTm42KzJsK01RcS82Z2xuZnJYQ1lZNnkrR1NNY0NiYU9r?=
 =?utf-8?B?KzJyclJJb3puTElNYy9TVXIxbU9ac21LbU9xaGZ2L2dVSEttUWp4czFxbVJX?=
 =?utf-8?B?bVZVREJzVzNJZ0FoUFpucnhNVjd6RFVscU54VFo3emUvWFpOL0tZa1A1QTB1?=
 =?utf-8?B?QVhza1cvRnp5dXRPcFoybFBPVS8weXFJV1ZxVklveEZWUUZiTnJ3QitVOXI1?=
 =?utf-8?B?ekhhNHRTTEhXanBreDhWWlY4WXVOMk1vVFlTUHlOVVZNNkVERVdYemJRb25C?=
 =?utf-8?B?SmtsL3RyYTkzdm91bnlHYUs4cUZ0R2xZeng1Y1NGVVhmckFDczJDbzUxa25P?=
 =?utf-8?B?ZUVNZ3MvU3ZXY3NENUN3U3BSajV6ZDhQUjl6UXR4WFNjbEkrMXcwb2JYZS9o?=
 =?utf-8?B?eDRFaVloMlphL1Yzc1U3amZuNkcyTHBSUVBBS0JqQTRIeTRNTGk3OXRMSVZi?=
 =?utf-8?B?UlFsMllOMFhEM0dNajZKbWloeURKRE0zdWhPN3piVGNzZVlmQm5lcUhFd1pM?=
 =?utf-8?B?bzNlcTJjUC83dElrazArTElCcXQrajNvUGRQT0p6NTlkWXduT0wvdVZJTXJ4?=
 =?utf-8?B?K2YvZlVKQ2F1cnJuU3NrVjc2WVFoM0Vqd0gwZXlPTVVnTldEYXp3ZkpWU2Fy?=
 =?utf-8?B?T3kxb1I0alFaT1QraDlVYmJxRUYzNkpqWnUxdmdEVndrWU16MVNpclByTHVZ?=
 =?utf-8?B?aXBQTGI4cmIycmVyV05KU1pRS1Q5QVJMaFc5cWQwaUJWS0JsVFN3VnYwQzN1?=
 =?utf-8?B?SGp5Y1d2UWUyZ2JMKytOUytGVWlyanlpMWREb3RIRWdpcEptS2dsZFdjL3Qx?=
 =?utf-8?B?cnIzNzc1Q1ZVcW5qbEh0OFJjNlFTaXdNYU9EVytsYk9HOXB0SFhvV3QzTE4r?=
 =?utf-8?B?V1JmT3R0cXBiaVA4bWhNZHBYMC9xYVZqSVJGTE1DbGNrOXZOSXQ2cVlyOWZB?=
 =?utf-8?B?bGNFSGxXUFFmcldLb3BPM2VIR2k3Z3lnZU1Sc1RyczM0RllTcGhzdmpHRU1i?=
 =?utf-8?B?Y1E5QXN6NnBIZDZnRTdIeEpYczF2RGZwVlM3eTlhTjBIRWhla2NEYnQ4ZVlG?=
 =?utf-8?B?SVF1T0hCKzdZRDNqTXhKUGxrZitWZTZGRm9wUG8rR0tDeE0rOVZTaFF6c0ky?=
 =?utf-8?B?cTMzYkcrd0tuS2g1KzBSOExWamtjMUlKQnlOb2taeVRDVWl0dmIweWs3YkNL?=
 =?utf-8?B?bmluVlJHdlg2ZWVXVXpqT0hkU2hHZllzaTJ2ZUF5d2todCtFQ3UvNXdXNEZT?=
 =?utf-8?B?NlZwNWVZaSs1dDVXd0RHd2RZb21Wb0FzSG12Ni9Vc3l0THpmVlB3RUtHQWJu?=
 =?utf-8?B?Nlk1dU9WRERLWTJHRE5qRkMwcGl5MEhyMSs3eTNXeDg0UTYzSnVyUkVyTDQ0?=
 =?utf-8?B?ZjB4UlQ4d29PV2I1aHdDc29Jc2ZZQTdnQWpJaWd6YTNUTmVOZCtYbHREQnV5?=
 =?utf-8?B?emIreld5TmtoTVBNQ2ptWDlGN2gvaUFNc3o4dlh4UnRobmh5QlFncFNOK0VV?=
 =?utf-8?B?QkZzM3ZwUGhvbUhxZlM5QnN4a3BqMnc2d1ZHTGltNis1Z0ZWaEVHRnB2REpq?=
 =?utf-8?B?ZlUwNlBqR1dBWTNZZkFLd2l5eitSSFJrVTJiaWIvcURyeVRwNU1VSWZUMkFR?=
 =?utf-8?B?b0tzOVVtdFdoSHh2bVRVclZpNGJMVWgrVkRxS21tY3hJVW43Qm4rSXdKWEl2?=
 =?utf-8?B?M1ZXQkIzYk1YODc1NExabVpzUmRPVHBBNFlTQXBjcUZ2UjFvZll1QndHL2NB?=
 =?utf-8?B?cTBpdWxEejNmMWQ1MXpzRmVEL3MzOUd3TzdacFhmYmVXRTBjTWtleS9oTGFN?=
 =?utf-8?B?NnluMDB1OFdoNzhMZ0FtZ2R0RUxnODJ0SjhINnBIOFFSelRJNGtCYzk1K05p?=
 =?utf-8?Q?QpDwoAqW752GnsXDjvSeAJume?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	J3W1deEM/EdI8dPDOKjB6qVNnoYG+N23fJ5dAWhPsDL1EA76cSJhf/TEDs8NguEzos9de+iibjzU5qs73e73NTn54f6BkHvJoVMt+P0k2qCJmL8o1ZgDLWt/vyaD4WV2uw5oweqjQQSCZXJNsNL31iLQcVMBdPwzc0GkxeZ58tp0g1Ho0kaQotfdI2HoR3WC7CUZVxR2xGABNZTEnjqEbgFtMTjPiHdVeaZWdSkxERo1WbVrC+uMfn2J4O1WFx7pIYh850uJVLpax3CCuw21JcK528plmwjI2084jCKkY7ZyZRBXycaiHqG+1t3Z7VcAqkOfPtom1+f0c+e7LNVdqK8uuzxYL/163PSJVAu4eg0GU/31f6gL2/CGvIHojYEpjH0c/Bh9W/q+HyFhfwf1qQ7s/iEPe9rrSMQn9qUqKKjk4nHyClcekDPturMU497EJdZmdC0jsq/pvcCQIEvQWEh5cxzfvzhljYENV9KudvulIXsJ93WJcTh9RC8oP4vRxuIwyQhsBYgHrt1V9cfaowoRG0sk5iErSoPwMbMY/SR/r8spIJ1OLXnqSKKr8LT/jtbQEFQWkek066R0ecky59bvtejy+X5yWE5ELEN3Anct/cQv+HixUlgLZlpkxs1PjXe26mE/yC1njUMkzXp9vdHzaHiOn5AwlLtdukhBDdxhG6X3pCERvx4T3d5hqUbkLAiyDn1q63AsnmE6kj69HamhXZ/mNt58rGt0uFJPeIw6MCwvtKVuehAYimfdY1HYgYZvvyNLC1CTLDd2WcCi16TzMc/cahnc9wCixMzGlY6WQNkeRcDwdDfYL6hVyaCmDlcCm9cSj3SiQjhI8fyzDYXXBjspbZYaluYcielpY6k=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 978972c8-4053-4b22-c791-08db313a49f0
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2023 16:17:42.3312
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZrmHBmZLffdxBsPn8G2Ks8sIHD44BxugUvgnzni/FKIelQR5GLQps7LMMXUWrh8u2eG+tIgK6W5U/sFdidaB1A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR03MB5000

On Thu, Mar 30, 2023 at 06:07:57PM +0200, Jan Beulich wrote:
> On 30.03.2023 17:44, Roger Pau Monné wrote:
> > On Mon, Dec 05, 2022 at 03:19:13PM +0100, Jan Beulich wrote:
> >> On 23.11.2022 16:45, Roger Pau Monne wrote:
> >>> Do not unconditionally set a mode in efi_console_set_mode(), do so
> >>> only if the currently set mode is not valid.
> >>
> >> You don't say why you want to do so. Furthermore ...
> >>
> >>> --- a/xen/common/efi/boot.c
> >>> +++ b/xen/common/efi/boot.c
> >>> @@ -799,6 +799,11 @@ static void __init efi_console_set_mode(void)
> >>>      UINTN cols, rows, size;
> >>>      unsigned int best, i;
> >>>  
> >>> +    /* Only set a mode if the current one is not valid. */
> >>> +    if ( StdOut->QueryMode(StdOut, StdOut->Mode->Mode, &cols, &rows) ==
> >>> +         EFI_SUCCESS )
> >>> +        return;
> >>
> >> ... it might be okay if you put such a check in efi_multiboot2(), but
> >> the call here from efi_start() is specifically guarded by a check of
> >> whether "-basevideo" was passed to xen.efi. This _may_ not be as
> >> relevant anymore today, but it certainly was 20 years ago (recall
> >> that we've inherited this code from a much older project of ours) -
> >> at that time EFI usually started in 80x25 text mode. And I think that
> >> even today when you end up launching xen.efi from the EFI shell,
> >> you'd be stuck with 80x25 text mode on at least some implementations.
> > 
> > Won't you use console=vga vga=gfx-...
> > 
> > To switch to a best mode?
> 
> I don't think "vga=gfx-..." is presently consumed in any way xen.efi.
> Doing so would require a similar hack of peeking at the (ordinary)
> command line options as in legacy booting, except that in xen.efi we
> read that command line from a file, which iirc is done only after
> fiddling with the video mode.

I will only take care of multiboot2, since I don't have a way to test
xen.efi ATM.

> >> Overall, looking at (for now) just the titles of subsequent patches,
> >> I'm not convinced the change here is needed at all. Or if anything it
> >> may want to go at the end, taking action only when "vga=current" was
> >> specified.
> > 
> > I guess I'm slightly confused by the usage of both GOP and StdOut, I
> > would assume if we have a gop, and can correctly initialize it there's
> > no need to fiddle with StdOut also?
> 
> Setting the GOP mode is done last before exiting boot services; this
> may be a graphics mode which doesn't support a text output protocol.

Right, that's what I was missing.  I assumed that all modes available
in GOP would be compatible with the ConOut mode.

Would you be OK with leaving StdOut as-is when booted from multiboot2,
or there's a chance of things not being properly setup?

IMO it's not very friendly to change the StdOut mode if not explicitly
requested, as in the multiboot2 case that gets setup by the
bootloader.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 16:20:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 16:20:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516797.801496 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phv0L-0002Hb-0T; Thu, 30 Mar 2023 16:20:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516797.801496; Thu, 30 Mar 2023 16:20: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 1phv0K-0002HU-Sa; Thu, 30 Mar 2023 16:20:00 +0000
Received: by outflank-mailman (input) for mailman id 516797;
 Thu, 30 Mar 2023 16:19:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1phv0J-0002HO-9O
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 16:19:59 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1phv0I-0001a1-Tv; Thu, 30 Mar 2023 16:19:58 +0000
Received: from [15.248.2.61] (helo=[10.24.67.13])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1phv0I-0001f8-LE; Thu, 30 Mar 2023 16:19: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=fFay2VQGBFo8b+MWU800+V6xqHR5dczPyfrocxzUJ5E=; b=VvCTXwQOw8Kp9wyCMC8F+huW43
	i/niujTAPDpmhLWC8hY+tpX0wbI1rXPBcGy5LSYExiwxrbe8P0BNHmlFKKLJMhQEa2CwxT6u38JAk
	HaJSLwFbShVIEaJAMalqeha1sKpeaULaRn1VWY8uqktHYrnB6ae11XB3iqR1TOaEUVNM=;
Message-ID: <e556f895-2b3f-92eb-a6be-e51f04fc869d@xen.org>
Date: Thu, 30 Mar 2023 17:19:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: Need help on a issue (Unable to schedule guest for Xen on Arm)
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.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@epam.com" <Volodymyr_Babchuk@epam.com>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 "Garhwal, Vikram" <vikram.garhwal@amd.com>,
 "Stabellini, Stefano" <stefano.stabellini@amd.com>
References: <b4badb12-8887-d8d8-138e-8b4536ad95a4@amd.com>
 <2f7a00eb-50c9-bee7-231e-9285ffa4c9a9@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <2f7a00eb-50c9-bee7-231e-9285ffa4c9a9@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 30/03/2023 16:57, Ayan Kumar Halder wrote:
> (Apologies, fixed the formatting issue)

Hi,

> 
> On 30/03/2023 16:50, Ayan Kumar Halder wrote:
>> Hi Xen experts,
>>
>> I need some pointers on an issue I am facing.
>>
>> I am running my downstream port of Xen on Cortex-R52 hardware. The 
>> hardware consist of two R52 cores (the second core is in lockstep 
>> mode). So, currently the hardware does not support SMP.
>>
>> The issue is that Xen is unable to schedule a guest.

Are you sure about this? Because...

> So 
>> leave_hypervisor_to_guest() ---> check_for_pcpu_work() and this does 
>> not return.

... leave_hypervisor_to_guest() indicates that a guest vCPU was 
scheduled. Before we return to the guest we always check if there is 
some softirq that need to be handled. So...

>>
>> Debugging this, I see  check_for_pcpu_work() --> do_softirq() --> 
>> __do_softirq() --> timer_softirq_action().

.. the fact that check_for_pcpu_work() doesn't return seems to indicate 
that there is a softirq that is always pending. Can you look which one 
it is?

>>
>> In timer_softirq_action(), the problem I see is that for all the 
>> timers, "((t = heap[1])->expires < now)" is true.
>>
>>     while ( (heap_metadata(heap)->size != 0) &&
>>             ((t = heap[1])->expires < now) )
>>     {
>>         remove_from_heap(heap, t); <<<<------ So, this gets invoked 
>> for all the timers.
>>         execute_timer(ts, t);
>>     }
>>
>> So, further below reprogram_timer() gets invoked with timeout = 0 and 
>> it disables the timer. So, timer_interrupt() is never invoked.

Which is expected because there is no timer armed, so there is no need 
to configure the physical timer.

>>
>> Can someone give any pointers on what the underlying issue could be 
>> and how to debug further ?

See above. You could also look why there is no softtimer pending and/or 
where Xen is stuck (e.g. the PC).

>>
>> I do not observe this behavior while running on R52 FVP. The 
>> difference is that for most of the timers "((t = heap[1])->expires < 
>> now)" is false, so reprogram_timer() gets invoked with non zero 
>> timeout and subsequently, the timer_interrupt() get invoked.
This reads as one of the following:
   1) There is a missing barrier
   2) You didn't properly configure some registers
   3) There is an HW errata (I know that some of the Cortex-A had an 
issue in when reading the Timer counter but seems unlikely here)

>>
>> Also, looking at the following from xen/arch/arm/time.c.
> 
> /* Set the timer to wake us up at a particular time.
>   * Timeout is a Xen system time (nanoseconds since boot); 0 disables 
> the timer.
>   * Returns 1 on success; 0 if the timeout is too soon or is in the 
> past. */
> int reprogram_timer(s_time_t timeout)
> {
>      uint64_t deadline;
> 
>      if ( timeout == 0 )
>      {
>          WRITE_SYSREG(0, CNTHP_CTL_EL2);
>          return 1; <<<<<<<<<<<<<<<<<<<<<<-------------- Shouldn't this 
> be 0 as the comment suggets ?

I think 1 is correct because we want to disable the timer so this is a 
success. 0 should be return if this was effectively a timeout.

FWIW, x86 also seems to return 1 when the timeout is 0.

>      }
> 
>      deadline = ns_to_ticks(timeout) + boot_count;
>      WRITE_SYSREG64(deadline, CNTHP_CVAL_EL2);
>      WRITE_SYSREG(CNTx_CTL_ENABLE, CNTHP_CTL_EL2);
>      isb();
> 
>      /* No need to check for timers in the past; the Generic Timer fires
>       * on a signed 63-bit comparison. */
>      return 1;
> }
> 
>> Kind regards,
>>
>> Ayan
>>
>>
>>
>>

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 16:28:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 16:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516801.801505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phv8W-0003qN-Tr; Thu, 30 Mar 2023 16:28:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516801.801505; Thu, 30 Mar 2023 16: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 1phv8W-0003qG-Qu; Thu, 30 Mar 2023 16:28:28 +0000
Received: by outflank-mailman (input) for mailman id 516801;
 Thu, 30 Mar 2023 16:28: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=y3PO=7W=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1phv8V-0003qA-AP
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 16:28:27 +0000
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e343b9e2-cf17-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 18:28:24 +0200 (CEST)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Mar 2023 09:28:21 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga005.jf.intel.com with ESMTP; 30 Mar 2023 09:28:11 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 9DDDB13A; Thu, 30 Mar 2023 19:24:42 +0300 (EEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e343b9e2-cf17-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1680193704; x=1711729704;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=+jsYsz3z4S0KxQURpz+5dUW16i3yUqiq6XHaWQFPwWw=;
  b=mivwcMf9HOkCM7eXDBH8b6cc89f4ST2N1Ame/dD36aFowxQeQhlKlXC6
   Zj7vJ7BNaweDmG1J+2oLvtje0RkLJWis7CRZtUV0Ua0gAs252pa39tIHb
   SEIgiOAF9VwGeh7VMu6m1CqwOxl93lLi+O+HO0GjZ0H2dnxW7EigkdgzW
   bvaSkloC2KP6XXnOT0qsfs/Xsqf62vHaSR2gqfictN35IBek/e49gYXQw
   dHUiJRgimxKDUuoLxmHS58IB9b94ocgWy4mze+l0OpVbYzDgBh7QrHSCU
   iSrZlqTndD9aa8SJZLUo8qjI5Me343+7OxeBB+YFoxk4UGTboxNPAJto0
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="427495924"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="427495924"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="858971536"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="858971536"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v8 0/7] Add pci_dev_for_each_resource() helper and update users
Date: Thu, 30 Mar 2023 19:24:27 +0300
Message-Id: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Provide two new helper macros to iterate over PCI device resources and
convert users.

Looking at it, refactor existing pci_bus_for_each_resource() and convert
users accordingly.

Note, the amount of lines grew due to the documentation update.

Changelog v8:
- fixed issue with pci_bus_for_each_resource() macro (LKP)
- due to above added a new patch to document how it works
- moved the last patch to be #2 (Philippe)
- added tags (Philippe)

Changelog v7:
- made both macros to share same name (Bjorn)
- split out the pci_resource_n() conversion (Bjorn)

Changelog v6:
- dropped unused variable in PPC code (LKP)

Changelog v5:
- renamed loop variable to minimize the clash (Keith)
- addressed smatch warning (Dan)
- addressed 0-day bot findings (LKP)

Changelog v4:
- rebased on top of v6.3-rc1
- added tag (Krzysztof)

Changelog v3:
- rebased on top of v2 by Mika, see above
- added tag to pcmcia patch (Dominik)

Changelog v2:
- refactor to have two macros
- refactor existing pci_bus_for_each_resource() in the same way and
  convert users

Andy Shevchenko (6):
  kernel.h: Split out COUNT_ARGS() and CONCATENATE()
  PCI: Introduce pci_resource_n()
  PCI: Document pci_bus_for_each_resource() to avoid confusion
  PCI: Allow pci_bus_for_each_resource() to take less arguments
  EISA: Convert to use less arguments in pci_bus_for_each_resource()
  pcmcia: Convert to use less arguments in pci_bus_for_each_resource()

Mika Westerberg (1):
  PCI: Introduce pci_dev_for_each_resource()

 .clang-format                             |  1 +
 arch/alpha/kernel/pci.c                   |  5 +-
 arch/arm/kernel/bios32.c                  | 16 +++--
 arch/arm/mach-dove/pcie.c                 | 10 ++--
 arch/arm/mach-mv78xx0/pcie.c              | 10 ++--
 arch/arm/mach-orion5x/pci.c               | 10 ++--
 arch/mips/pci/ops-bcm63xx.c               |  8 +--
 arch/mips/pci/pci-legacy.c                |  3 +-
 arch/powerpc/kernel/pci-common.c          | 21 +++----
 arch/powerpc/platforms/4xx/pci.c          |  8 +--
 arch/powerpc/platforms/52xx/mpc52xx_pci.c |  5 +-
 arch/powerpc/platforms/pseries/pci.c      | 16 ++---
 arch/sh/drivers/pci/pcie-sh7786.c         | 10 ++--
 arch/sparc/kernel/leon_pci.c              |  5 +-
 arch/sparc/kernel/pci.c                   | 10 ++--
 arch/sparc/kernel/pcic.c                  |  5 +-
 drivers/eisa/pci_eisa.c                   |  4 +-
 drivers/pci/bus.c                         |  7 +--
 drivers/pci/hotplug/shpchp_sysfs.c        |  8 +--
 drivers/pci/pci.c                         |  3 +-
 drivers/pci/probe.c                       |  2 +-
 drivers/pci/remove.c                      |  5 +-
 drivers/pci/setup-bus.c                   | 37 +++++-------
 drivers/pci/setup-res.c                   |  4 +-
 drivers/pci/vgaarb.c                      | 17 ++----
 drivers/pci/xen-pcifront.c                |  4 +-
 drivers/pcmcia/rsrc_nonstatic.c           |  9 +--
 drivers/pcmcia/yenta_socket.c             |  3 +-
 drivers/pnp/quirks.c                      | 29 ++++-----
 include/linux/args.h                      | 13 ++++
 include/linux/kernel.h                    |  8 +--
 include/linux/pci.h                       | 72 +++++++++++++++++++----
 32 files changed, 190 insertions(+), 178 deletions(-)
 create mode 100644 include/linux/args.h

-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 16:28:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 16:28:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516802.801516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phv8a-00045s-52; Thu, 30 Mar 2023 16:28:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516802.801516; Thu, 30 Mar 2023 16:28:32 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phv8a-00045l-13; Thu, 30 Mar 2023 16:28:32 +0000
Received: by outflank-mailman (input) for mailman id 516802;
 Thu, 30 Mar 2023 16: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=y3PO=7W=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1phv8Y-0003qA-DV
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 16:28:30 +0000
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e7538ac5-cf17-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 18:28:29 +0200 (CEST)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Mar 2023 09:28:28 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga005.jf.intel.com with ESMTP; 30 Mar 2023 09:28:18 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id DCBBF1D9; Thu, 30 Mar 2023 19:24:49 +0300 (EEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7538ac5-cf17-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1680193709; x=1711729709;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=yhhBl9vHYjEoa/C6LYyaGmzTAsrwMbBX/9yhSQi3PhY=;
  b=eB5C1OzY1asxXvzkN6NmOx8NmWLcSDi1o6o0vQzAnDcqz+xslbgfzhEb
   XDNw9hfx/jy6ngofMgRUUDTQDC/ykqkPphM0MtQSCzE7yEkvqDUUZ7kAB
   kgga3g2haWi2Pe9FSnlANvBKaXXCRSShLQ/jUGSfj3iySTmFjiBL4y9qs
   k+Ma/q7Coj/tcNo2fcYvKVGBDo+BgyBg6CN+PzAQTuwUtDQj1nTFq77JU
   /gBT03edahvVi7DzVJsAjUUV/2OGav8FyMQ2oKQwjoZb0GG+HwmUJCVBs
   t/UIm3NuwgQwGlhKNuK/gOFlx/nyEfzQGRH8pZPQ3hmaG24BmSTtI5kaf
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="427495956"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="427495956"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="858971546"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="858971546"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v8 2/7] PCI: Introduce pci_resource_n()
Date: Thu, 30 Mar 2023 19:24:29 +0300
Message-Id: <20230330162434.35055-3-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
In-Reply-To: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
References: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Introduce pci_resource_n() and replace open-coded implementations of it
in pci.h.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/linux/pci.h | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/include/linux/pci.h b/include/linux/pci.h
index b50e5c79f7e3..aeaa95455d4c 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1995,14 +1995,13 @@ int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma);
  * These helpers provide future and backwards compatibility
  * for accessing popular PCI BAR info
  */
-#define pci_resource_start(dev, bar)	((dev)->resource[(bar)].start)
-#define pci_resource_end(dev, bar)	((dev)->resource[(bar)].end)
-#define pci_resource_flags(dev, bar)	((dev)->resource[(bar)].flags)
-#define pci_resource_len(dev,bar) \
-	((pci_resource_end((dev), (bar)) == 0) ? 0 :	\
-							\
-	 (pci_resource_end((dev), (bar)) -		\
-	  pci_resource_start((dev), (bar)) + 1))
+#define pci_resource_n(dev, bar)	(&(dev)->resource[(bar)])
+#define pci_resource_start(dev, bar)	(pci_resource_n(dev, bar)->start)
+#define pci_resource_end(dev, bar)	(pci_resource_n(dev, bar)->end)
+#define pci_resource_flags(dev, bar)	(pci_resource_n(dev, bar)->flags)
+#define pci_resource_len(dev,bar)					\
+	(pci_resource_end((dev), (bar)) ? 				\
+	 resource_size(pci_resource_n((dev), (bar))) : 0)
 
 /*
  * Similar to the helpers above, these manipulate per-pci_dev
-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 16:28:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 16:28:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516803.801526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phv8b-0004La-B3; Thu, 30 Mar 2023 16:28:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516803.801526; Thu, 30 Mar 2023 16:28: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 1phv8b-0004LR-7o; Thu, 30 Mar 2023 16:28:33 +0000
Received: by outflank-mailman (input) for mailman id 516803;
 Thu, 30 Mar 2023 16:28: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=y3PO=7W=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1phv8Z-0003qA-LA
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 16:28:31 +0000
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e829bbd8-cf17-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 18:28:30 +0200 (CEST)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Mar 2023 09:28:28 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga005.jf.intel.com with ESMTP; 30 Mar 2023 09:28:17 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id C528C14B; Thu, 30 Mar 2023 19:24:48 +0300 (EEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e829bbd8-cf17-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1680193710; x=1711729710;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=gIQa0UBc6rrUYtPkGDZ1t1xT6zplGxALb8OYgbohTeo=;
  b=BMtTgumTEElOfhQRh4w1CoFSlfi1IAEExZC2z1RKdIUvoIe6ccOxQVzV
   Rlksvnz+TcvSvVLgBTVVNHnv3EBmaC9Jdg26SckfEbnntjcaNkiJJkduh
   m4oUcxXM2199ksPs7gvzF+1LgO9qQToWjlEGN6L8oBajTJAuOKW2GgO8N
   bFBgi8gxJySCKoYEYvHJW0k0FHYB/J1zvzOvZ+OHAFlDGBrAbqdQ6itQ6
   FlBGGA05YlYApYayjV7BP6ISso81/5cVOkvzXSErGBro1mVIKHNLLSFH9
   fXvfsJRlgeuDd0n4MFFAh5vkidqwRdCSRQMSHS+pe5vQG+7X0A0wF0TNd
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="427495985"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="427495985"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="858971548"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="858971548"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v8 1/7] kernel.h: Split out COUNT_ARGS() and CONCATENATE()
Date: Thu, 30 Mar 2023 19:24:28 +0300
Message-Id: <20230330162434.35055-2-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
In-Reply-To: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
References: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

kernel.h is being used as a dump for all kinds of stuff for a long time.
The COUNT_ARGS() and CONCATENATE() macros may be used in some places
without need of the full kernel.h dependency train with it.

Here is the attempt on cleaning it up by splitting out these macros().

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 include/linux/args.h   | 13 +++++++++++++
 include/linux/kernel.h |  8 +-------
 2 files changed, 14 insertions(+), 7 deletions(-)
 create mode 100644 include/linux/args.h

diff --git a/include/linux/args.h b/include/linux/args.h
new file mode 100644
index 000000000000..16ef6fad8add
--- /dev/null
+++ b/include/linux/args.h
@@ -0,0 +1,13 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef _LINUX_ARGS_H
+#define _LINUX_ARGS_H
+
+/* This counts to 12. Any more, it will return 13th argument. */
+#define __COUNT_ARGS(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _n, X...) _n
+#define COUNT_ARGS(X...) __COUNT_ARGS(, ##X, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
+
+#define __CONCAT(a, b) a ## b
+#define CONCATENATE(a, b) __CONCAT(a, b)
+
+#endif	/* _LINUX_ARGS_H */
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 0d91e0af0125..fa675d50d7b7 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -13,6 +13,7 @@
 
 #include <linux/stdarg.h>
 #include <linux/align.h>
+#include <linux/args.h>
 #include <linux/limits.h>
 #include <linux/linkage.h>
 #include <linux/stddef.h>
@@ -457,13 +458,6 @@ ftrace_vprintk(const char *fmt, va_list ap)
 static inline void ftrace_dump(enum ftrace_dump_mode oops_dump_mode) { }
 #endif /* CONFIG_TRACING */
 
-/* This counts to 12. Any more, it will return 13th argument. */
-#define __COUNT_ARGS(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _n, X...) _n
-#define COUNT_ARGS(X...) __COUNT_ARGS(, ##X, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0)
-
-#define __CONCAT(a, b) a ## b
-#define CONCATENATE(a, b) __CONCAT(a, b)
-
 /* Rebuild everything on CONFIG_FTRACE_MCOUNT_RECORD */
 #ifdef CONFIG_FTRACE_MCOUNT_RECORD
 # define REBUILD_DUE_TO_FTRACE_MCOUNT_RECORD
-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 16:28:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 16:28:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516804.801536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phv8d-0004cW-JO; Thu, 30 Mar 2023 16:28:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516804.801536; Thu, 30 Mar 2023 16: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 1phv8d-0004cM-EL; Thu, 30 Mar 2023 16:28:35 +0000
Received: by outflank-mailman (input) for mailman id 516804;
 Thu, 30 Mar 2023 16: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=y3PO=7W=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1phv8b-0003qA-Qk
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 16:28:34 +0000
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8ec9d31-cf17-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 18:28:32 +0200 (CEST)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Mar 2023 09:28:29 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga005.jf.intel.com with ESMTP; 30 Mar 2023 09:28:19 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 924B4211; Thu, 30 Mar 2023 19:24:50 +0300 (EEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8ec9d31-cf17-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1680193712; x=1711729712;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=KHCoRXEtiwe/FhEOF5L3Qq5P3Xpu9j6hzV2s/by6feA=;
  b=meD7qi3xjfYznSFrKs6ZIg/4hKheS14hWxQocmmLX9Q83Qsd6O20NYZh
   XWPPPayOU+r09Y0BaeFFkJHv1j3evXxfIZoUYedIKey1wm8uFEfxd2YKt
   FHP/ePPldmuuoufA9Qg8E8vxf+EQS7wHk+AVkrS9PwekjxQrDD8ZI8pIB
   JI3zT4gZGzPCaMq0jF+qZU38+0vwuPzSJESuqJ1Vj15mW4lAfZmX5N2xC
   4IeNSs1yyfCaPVicc69gU7ea3kUgshztlrbqfqjLHWq6XkN1Net3ZEzcX
   VBDIKAZdBJc/Yak65RDay0hoZKni259i6GX/N99dwZDXE9JC5cLUNbQyc
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="427496024"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="427496024"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="858971551"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="858971551"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v8 3/7] PCI: Introduce pci_dev_for_each_resource()
Date: Thu, 30 Mar 2023 19:24:30 +0300
Message-Id: <20230330162434.35055-4-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
In-Reply-To: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
References: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Mika Westerberg <mika.westerberg@linux.intel.com>

Instead of open-coding it everywhere introduce a tiny helper that can be
used to iterate over each resource of a PCI device, and convert the most
obvious users into it.

While at it drop doubled empty line before pdev_sort_resources().

No functional changes intended.

Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
---
 .clang-format                             |  1 +
 arch/alpha/kernel/pci.c                   |  5 ++--
 arch/arm/kernel/bios32.c                  | 16 ++++++-------
 arch/arm/mach-dove/pcie.c                 | 10 ++++----
 arch/arm/mach-mv78xx0/pcie.c              | 10 ++++----
 arch/arm/mach-orion5x/pci.c               | 10 ++++----
 arch/mips/pci/ops-bcm63xx.c               |  8 +++----
 arch/mips/pci/pci-legacy.c                |  3 +--
 arch/powerpc/kernel/pci-common.c          | 21 ++++++++--------
 arch/powerpc/platforms/4xx/pci.c          |  8 +++----
 arch/powerpc/platforms/52xx/mpc52xx_pci.c |  5 ++--
 arch/powerpc/platforms/pseries/pci.c      | 16 ++++++-------
 arch/sh/drivers/pci/pcie-sh7786.c         | 10 ++++----
 arch/sparc/kernel/leon_pci.c              |  5 ++--
 arch/sparc/kernel/pci.c                   | 10 ++++----
 arch/sparc/kernel/pcic.c                  |  5 ++--
 drivers/pci/remove.c                      |  5 ++--
 drivers/pci/setup-bus.c                   | 27 ++++++++-------------
 drivers/pci/setup-res.c                   |  4 +---
 drivers/pci/vgaarb.c                      | 17 ++++---------
 drivers/pci/xen-pcifront.c                |  4 +---
 drivers/pnp/quirks.c                      | 29 ++++++++---------------
 include/linux/pci.h                       | 15 ++++++++++++
 23 files changed, 112 insertions(+), 132 deletions(-)

diff --git a/.clang-format b/.clang-format
index d988e9fa9b26..2048b0296d76 100644
--- a/.clang-format
+++ b/.clang-format
@@ -520,6 +520,7 @@ ForEachMacros:
   - 'of_property_for_each_string'
   - 'of_property_for_each_u32'
   - 'pci_bus_for_each_resource'
+  - 'pci_dev_for_each_resource'
   - 'pci_doe_for_each_off'
   - 'pcl_for_each_chunk'
   - 'pcl_for_each_segment'
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c
index 64fbfb0763b2..4458eb7f44f0 100644
--- a/arch/alpha/kernel/pci.c
+++ b/arch/alpha/kernel/pci.c
@@ -288,11 +288,10 @@ pcibios_claim_one_bus(struct pci_bus *b)
 	struct pci_bus *child_bus;
 
 	list_for_each_entry(dev, &b->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 			if (pci_has_flag(PCI_PROBE_ONLY) ||
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c
index e7ef2b5bea9c..d334c7fb672b 100644
--- a/arch/arm/kernel/bios32.c
+++ b/arch/arm/kernel/bios32.c
@@ -142,15 +142,15 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_WINBOND2, PCI_DEVICE_ID_WINBOND2_89C940F,
  */
 static void pci_fixup_dec21285(struct pci_dev *dev)
 {
-	int i;
-
 	if (dev->devfn == 0) {
+		struct resource *r;
+
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource(dev, r) {
+			r->start = 0;
+			r->end = 0;
+			r->flags = 0;
 		}
 	}
 }
@@ -162,13 +162,11 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_DEC, PCI_DEVICE_ID_DEC_21285, pci_fixup_d
 static void pci_fixup_ide_bases(struct pci_dev *dev)
 {
 	struct resource *r;
-	int i;
 
 	if ((dev->class >> 8) != PCI_CLASS_STORAGE_IDE)
 		return;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		r = dev->resource + i;
+	pci_dev_for_each_resource(dev, r) {
 		if ((r->start & ~0x80) == 0x374) {
 			r->start |= 2;
 			r->end = r->start;
diff --git a/arch/arm/mach-dove/pcie.c b/arch/arm/mach-dove/pcie.c
index 754ca381f600..3044b7e03890 100644
--- a/arch/arm/mach-dove/pcie.c
+++ b/arch/arm/mach-dove/pcie.c
@@ -142,14 +142,14 @@ static struct pci_ops pcie_ops = {
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource(dev, r) {
+			r->start = 0;
+			r->end   = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/arm/mach-mv78xx0/pcie.c b/arch/arm/mach-mv78xx0/pcie.c
index 6190f538a124..0ebc909ea273 100644
--- a/arch/arm/mach-mv78xx0/pcie.c
+++ b/arch/arm/mach-mv78xx0/pcie.c
@@ -186,14 +186,14 @@ static struct pci_ops pcie_ops = {
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource(dev, r) {
+			r->start = 0;
+			r->end   = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c
index 888fdc9099c5..3313bc5a63ea 100644
--- a/arch/arm/mach-orion5x/pci.c
+++ b/arch/arm/mach-orion5x/pci.c
@@ -522,14 +522,14 @@ static int __init pci_setup(struct pci_sys_data *sys)
 static void rc_pci_fixup(struct pci_dev *dev)
 {
 	if (dev->bus->parent == NULL && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
 		dev->class &= 0xff;
 		dev->class |= PCI_CLASS_BRIDGE_HOST << 8;
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end   = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource(dev, r) {
+			r->start	= 0;
+			r->end		= 0;
+			r->flags	= 0;
 		}
 	}
 }
diff --git a/arch/mips/pci/ops-bcm63xx.c b/arch/mips/pci/ops-bcm63xx.c
index dc6dc2741272..b0ea023c47c0 100644
--- a/arch/mips/pci/ops-bcm63xx.c
+++ b/arch/mips/pci/ops-bcm63xx.c
@@ -413,18 +413,18 @@ struct pci_ops bcm63xx_cb_ops = {
 static void bcm63xx_fixup(struct pci_dev *dev)
 {
 	static int io_window = -1;
-	int i, found, new_io_window;
+	int found, new_io_window;
+	struct resource *r;
 	u32 val;
 
 	/* look for any io resource */
 	found = 0;
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		if (pci_resource_flags(dev, i) & IORESOURCE_IO) {
+	pci_dev_for_each_resource(dev, r) {
+		if (resource_type(r) == IORESOURCE_IO) {
 			found = 1;
 			break;
 		}
 	}
-
 	if (!found)
 		return;
 
diff --git a/arch/mips/pci/pci-legacy.c b/arch/mips/pci/pci-legacy.c
index 468722c8a5c6..ec2567f8efd8 100644
--- a/arch/mips/pci/pci-legacy.c
+++ b/arch/mips/pci/pci-legacy.c
@@ -249,12 +249,11 @@ static int pcibios_enable_resources(struct pci_dev *dev, int mask)
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	old_cmd = cmd;
-	for (idx = 0; idx < PCI_NUM_RESOURCES; idx++) {
+	pci_dev_for_each_resource(dev, r, idx) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<idx)))
 			continue;
 
-		r = &dev->resource[idx];
 		if (!(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
 			continue;
 		if ((idx == PCI_ROM_RESOURCE) &&
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index d67cf79bf5d0..e88d7c9feeec 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -880,6 +880,7 @@ int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
 static void pcibios_fixup_resources(struct pci_dev *dev)
 {
 	struct pci_controller *hose = pci_bus_to_host(dev->bus);
+	struct resource *res;
 	int i;
 
 	if (!hose) {
@@ -891,9 +892,9 @@ static void pcibios_fixup_resources(struct pci_dev *dev)
 	if (dev->is_virtfn)
 		return;
 
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		struct resource *res = dev->resource + i;
+	pci_dev_for_each_resource(dev, res, i) {
 		struct pci_bus_region reg;
+
 		if (!res->flags)
 			continue;
 
@@ -1452,11 +1453,10 @@ void pcibios_claim_one_bus(struct pci_bus *bus)
 	struct pci_bus *child_bus;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 
@@ -1705,19 +1705,20 @@ EXPORT_SYMBOL_GPL(pcibios_scan_phb);
 
 static void fixup_hide_host_resource_fsl(struct pci_dev *dev)
 {
-	int i, class = dev->class >> 8;
+	int class = dev->class >> 8;
 	/* When configured as agent, programming interface = 1 */
 	int prog_if = dev->class & 0xf;
+	struct resource *r;
 
 	if ((class == PCI_CLASS_PROCESSOR_POWERPC ||
 	     class == PCI_CLASS_BRIDGE_OTHER) &&
 		(dev->hdr_type == PCI_HEADER_TYPE_NORMAL) &&
 		(prog_if == 0) &&
 		(dev->bus->parent == NULL)) {
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start = 0;
-			dev->resource[i].end = 0;
-			dev->resource[i].flags = 0;
+		pci_dev_for_each_resource(dev, r) {
+			r->start = 0;
+			r->end = 0;
+			r->flags = 0;
 		}
 	}
 }
diff --git a/arch/powerpc/platforms/4xx/pci.c b/arch/powerpc/platforms/4xx/pci.c
index ca5dd7a5842a..07dcc2b8007f 100644
--- a/arch/powerpc/platforms/4xx/pci.c
+++ b/arch/powerpc/platforms/4xx/pci.c
@@ -57,7 +57,7 @@ static inline int ppc440spe_revA(void)
 static void fixup_ppc4xx_pci_bridge(struct pci_dev *dev)
 {
 	struct pci_controller *hose;
-	int i;
+	struct resource *r;
 
 	if (dev->devfn != 0 || dev->bus->self != NULL)
 		return;
@@ -79,9 +79,9 @@ static void fixup_ppc4xx_pci_bridge(struct pci_dev *dev)
 	/* Hide the PCI host BARs from the kernel as their content doesn't
 	 * fit well in the resource management
 	 */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		dev->resource[i].start = dev->resource[i].end = 0;
-		dev->resource[i].flags = 0;
+	pci_dev_for_each_resource(dev, r) {
+		r->start = r->end = 0;
+		r->flags = 0;
 	}
 
 	printk(KERN_INFO "PCI: Hiding 4xx host bridge resources %s\n",
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_pci.c b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
index 859e2818c43d..0ca4401ba781 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_pci.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
@@ -327,14 +327,13 @@ mpc52xx_pci_setup(struct pci_controller *hose,
 static void
 mpc52xx_pci_fixup_resources(struct pci_dev *dev)
 {
-	int i;
+	struct resource *res;
 
 	pr_debug("%s() %.4x:%.4x\n", __func__, dev->vendor, dev->device);
 
 	/* We don't rely on boot loader for PCI and resets all
 	   devices */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		struct resource *res = &dev->resource[i];
+	pci_dev_for_each_resource(dev, res) {
 		if (res->end > res->start) {	/* Only valid resources */
 			res->end -= res->start;
 			res->start = 0;
diff --git a/arch/powerpc/platforms/pseries/pci.c b/arch/powerpc/platforms/pseries/pci.c
index 60e0a58928ef..1772ae3d193d 100644
--- a/arch/powerpc/platforms/pseries/pci.c
+++ b/arch/powerpc/platforms/pseries/pci.c
@@ -240,7 +240,7 @@ void __init pSeries_final_fixup(void)
  */
 static void fixup_winbond_82c105(struct pci_dev* dev)
 {
-	int i;
+	struct resource *r;
 	unsigned int reg;
 
 	if (!machine_is(pseries))
@@ -251,14 +251,14 @@ static void fixup_winbond_82c105(struct pci_dev* dev)
 	/* Enable LEGIRQ to use INTC instead of ISA interrupts */
 	pci_write_config_dword(dev, 0x40, reg | (1<<11));
 
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; ++i) {
+	pci_dev_for_each_resource(dev, r) {
 		/* zap the 2nd function of the winbond chip */
-		if (dev->resource[i].flags & IORESOURCE_IO
-		    && dev->bus->number == 0 && dev->devfn == 0x81)
-			dev->resource[i].flags &= ~IORESOURCE_IO;
-		if (dev->resource[i].start == 0 && dev->resource[i].end) {
-			dev->resource[i].flags = 0;
-			dev->resource[i].end = 0;
+		if (dev->bus->number == 0 && dev->devfn == 0x81 &&
+		    r->flags & IORESOURCE_IO)
+			r->flags &= ~IORESOURCE_IO;
+		if (r->start == 0 && r->end) {
+			r->flags = 0;
+			r->end = 0;
 		}
 	}
 }
diff --git a/arch/sh/drivers/pci/pcie-sh7786.c b/arch/sh/drivers/pci/pcie-sh7786.c
index b0c2a5238d04..4f5e49f10805 100644
--- a/arch/sh/drivers/pci/pcie-sh7786.c
+++ b/arch/sh/drivers/pci/pcie-sh7786.c
@@ -140,12 +140,12 @@ static void sh7786_pci_fixup(struct pci_dev *dev)
 	 * Prevent enumeration of root complex resources.
 	 */
 	if (pci_is_root_bus(dev->bus) && dev->devfn == 0) {
-		int i;
+		struct resource *r;
 
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			dev->resource[i].start	= 0;
-			dev->resource[i].end	= 0;
-			dev->resource[i].flags	= 0;
+		pci_dev_for_each_resource(dev, r) {
+			r->start	= 0;
+			r->end		= 0;
+			r->flags	= 0;
 		}
 	}
 }
diff --git a/arch/sparc/kernel/leon_pci.c b/arch/sparc/kernel/leon_pci.c
index e5e5ff6b9a5c..b6663a3fbae9 100644
--- a/arch/sparc/kernel/leon_pci.c
+++ b/arch/sparc/kernel/leon_pci.c
@@ -62,15 +62,14 @@ void leon_pci_init(struct platform_device *ofdev, struct leon_pci_info *info)
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index cb1ef25116e9..a948a49817c7 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -663,11 +663,10 @@ static void pci_claim_bus_resources(struct pci_bus *bus)
 	struct pci_dev *dev;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
-
+		pci_dev_for_each_resource(dev, r, i) {
 			if (r->parent || !r->start || !r->flags)
 				continue;
 
@@ -724,15 +723,14 @@ struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm,
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/arch/sparc/kernel/pcic.c b/arch/sparc/kernel/pcic.c
index ee4c9a9a171c..25fe0a061732 100644
--- a/arch/sparc/kernel/pcic.c
+++ b/arch/sparc/kernel/pcic.c
@@ -643,15 +643,14 @@ void pcibios_fixup_bus(struct pci_bus *bus)
 
 int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
+	struct resource *res;
 	u16 cmd, oldcmd;
 	int i;
 
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	oldcmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, res, i) {
 		/* Only set up the requested stuff */
 		if (!(mask & (1<<i)))
 			continue;
diff --git a/drivers/pci/remove.c b/drivers/pci/remove.c
index 0145aef1b930..c049eddc1e2f 100644
--- a/drivers/pci/remove.c
+++ b/drivers/pci/remove.c
@@ -5,10 +5,9 @@
 
 static void pci_free_resources(struct pci_dev *dev)
 {
-	int i;
+	struct resource *res;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = dev->resource + i;
+	pci_dev_for_each_resource(dev, res) {
 		if (res->parent)
 			release_resource(res);
 	}
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index c690572b10ce..027b985dd1ee 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -124,20 +124,17 @@ static resource_size_t get_res_add_align(struct list_head *head,
 	return dev_res ? dev_res->min_align : 0;
 }
 
-
 /* Sort resources by alignment */
 static void pdev_sort_resources(struct pci_dev *dev, struct list_head *head)
 {
+	struct resource *r;
 	int i;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *r;
+	pci_dev_for_each_resource(dev, r, i) {
 		struct pci_dev_resource *dev_res, *tmp;
 		resource_size_t r_align;
 		struct list_head *n;
 
-		r = &dev->resource[i];
-
 		if (r->flags & IORESOURCE_PCI_FIXED)
 			continue;
 
@@ -895,10 +892,9 @@ static void pbus_size_io(struct pci_bus *bus, resource_size_t min_size,
 
 	min_align = window_alignment(bus, IORESOURCE_IO);
 	list_for_each_entry(dev, &bus->devices, bus_list) {
-		int i;
+		struct resource *r;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
+		pci_dev_for_each_resource(dev, r) {
 			unsigned long r_size;
 
 			if (r->parent || !(r->flags & IORESOURCE_IO))
@@ -1014,10 +1010,10 @@ static int pbus_size_mem(struct pci_bus *bus, unsigned long mask,
 	size = 0;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
+		struct resource *r;
 		int i;
 
-		for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-			struct resource *r = &dev->resource[i];
+		pci_dev_for_each_resource(dev, r, i) {
 			resource_size_t r_size;
 
 			if (r->parent || (r->flags & IORESOURCE_PCI_FIXED) ||
@@ -1358,11 +1354,10 @@ static void assign_fixed_resource_on_bus(struct pci_bus *b, struct resource *r)
  */
 static void pdev_assign_fixed_resources(struct pci_dev *dev)
 {
-	int i;
+	struct resource *r;
 
-	for (i = 0; i <  PCI_NUM_RESOURCES; i++) {
+	pci_dev_for_each_resource(dev, r) {
 		struct pci_bus *b;
-		struct resource *r = &dev->resource[i];
 
 		if (r->parent || !(r->flags & IORESOURCE_PCI_FIXED) ||
 		    !(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
@@ -1795,11 +1790,9 @@ static void remove_dev_resources(struct pci_dev *dev, struct resource *io,
 				 struct resource *mmio,
 				 struct resource *mmio_pref)
 {
-	int i;
-
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		struct resource *res = &dev->resource[i];
+	struct resource *res;
 
+	pci_dev_for_each_resource(dev, res) {
 		if (resource_type(res) == IORESOURCE_IO) {
 			remove_dev_resource(io, dev, res);
 		} else if (resource_type(res) == IORESOURCE_MEM) {
diff --git a/drivers/pci/setup-res.c b/drivers/pci/setup-res.c
index b492e67c3d87..967f9a758923 100644
--- a/drivers/pci/setup-res.c
+++ b/drivers/pci/setup-res.c
@@ -484,12 +484,10 @@ int pci_enable_resources(struct pci_dev *dev, int mask)
 	pci_read_config_word(dev, PCI_COMMAND, &cmd);
 	old_cmd = cmd;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
+	pci_dev_for_each_resource(dev, r, i) {
 		if (!(mask & (1 << i)))
 			continue;
 
-		r = &dev->resource[i];
-
 		if (!(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
 			continue;
 		if ((i == PCI_ROM_RESOURCE) &&
diff --git a/drivers/pci/vgaarb.c b/drivers/pci/vgaarb.c
index f80b6ec88dc3..5a696078b382 100644
--- a/drivers/pci/vgaarb.c
+++ b/drivers/pci/vgaarb.c
@@ -548,10 +548,8 @@ static bool vga_is_firmware_default(struct pci_dev *pdev)
 #if defined(CONFIG_X86) || defined(CONFIG_IA64)
 	u64 base = screen_info.lfb_base;
 	u64 size = screen_info.lfb_size;
+	struct resource *r;
 	u64 limit;
-	resource_size_t start, end;
-	unsigned long flags;
-	int i;
 
 	/* Select the device owning the boot framebuffer if there is one */
 
@@ -561,19 +559,14 @@ static bool vga_is_firmware_default(struct pci_dev *pdev)
 	limit = base + size;
 
 	/* Does firmware framebuffer belong to us? */
-	for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-		flags = pci_resource_flags(pdev, i);
-
-		if ((flags & IORESOURCE_MEM) == 0)
+	pci_dev_for_each_resource(pdev, r) {
+		if (resource_type(r) != IORESOURCE_MEM)
 			continue;
 
-		start = pci_resource_start(pdev, i);
-		end  = pci_resource_end(pdev, i);
-
-		if (!start || !end)
+		if (!r->start || !r->end)
 			continue;
 
-		if (base < start || limit >= end)
+		if (base < r->start || limit >= r->end)
 			continue;
 
 		return true;
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
index fcd029ca2eb1..83c0ab50676d 100644
--- a/drivers/pci/xen-pcifront.c
+++ b/drivers/pci/xen-pcifront.c
@@ -390,9 +390,7 @@ static int pcifront_claim_resource(struct pci_dev *dev, void *data)
 	int i;
 	struct resource *r;
 
-	for (i = 0; i < PCI_NUM_RESOURCES; i++) {
-		r = &dev->resource[i];
-
+	pci_dev_for_each_resource(dev, r, i) {
 		if (!r->parent && r->start && r->flags) {
 			dev_info(&pdev->xdev->dev, "claiming resource %s/%d\n",
 				pci_name(dev), i);
diff --git a/drivers/pnp/quirks.c b/drivers/pnp/quirks.c
index ac98b9919029..6085a1471de2 100644
--- a/drivers/pnp/quirks.c
+++ b/drivers/pnp/quirks.c
@@ -229,8 +229,7 @@ static void quirk_ad1815_mpu_resources(struct pnp_dev *dev)
 static void quirk_system_pci_resources(struct pnp_dev *dev)
 {
 	struct pci_dev *pdev = NULL;
-	struct resource *res;
-	resource_size_t pnp_start, pnp_end, pci_start, pci_end;
+	struct resource *res, *r;
 	int i, j;
 
 	/*
@@ -243,32 +242,26 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 	 * so they won't be claimed by the PNP system driver.
 	 */
 	for_each_pci_dev(pdev) {
-		for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
-			unsigned long flags, type;
+		pci_dev_for_each_resource(pdev, r, i) {
+			unsigned long type = resource_type(r);
 
-			flags = pci_resource_flags(pdev, i);
-			type = flags & (IORESOURCE_IO | IORESOURCE_MEM);
-			if (!type || pci_resource_len(pdev, i) == 0)
+			if (!(type == IORESOURCE_IO || type == IORESOURCE_MEM) ||
+			    resource_size(r) == 0)
 				continue;
 
-			if (flags & IORESOURCE_UNSET)
+			if (r->flags & IORESOURCE_UNSET)
 				continue;
 
-			pci_start = pci_resource_start(pdev, i);
-			pci_end = pci_resource_end(pdev, i);
 			for (j = 0;
 			     (res = pnp_get_resource(dev, type, j)); j++) {
 				if (res->start == 0 && res->end == 0)
 					continue;
 
-				pnp_start = res->start;
-				pnp_end = res->end;
-
 				/*
 				 * If the PNP region doesn't overlap the PCI
 				 * region at all, there's no problem.
 				 */
-				if (pnp_end < pci_start || pnp_start > pci_end)
+				if (!resource_overlaps(res, r))
 					continue;
 
 				/*
@@ -278,8 +271,7 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 				 * PNP device describes a bridge with PCI
 				 * behind it.
 				 */
-				if (pnp_start <= pci_start &&
-				    pnp_end >= pci_end)
+				if (res->start <= r->start && res->end >= r->end)
 					continue;
 
 				/*
@@ -288,9 +280,8 @@ static void quirk_system_pci_resources(struct pnp_dev *dev)
 				 * driver from requesting its resources.
 				 */
 				dev_warn(&dev->dev,
-					 "disabling %pR because it overlaps "
-					 "%s BAR %d %pR\n", res,
-					 pci_name(pdev), i, &pdev->resource[i]);
+					 "disabling %pR because it overlaps %s BAR %d %pR\n",
+					 res, pci_name(pdev), i, r);
 				res->flags |= IORESOURCE_DISABLED;
 			}
 		}
diff --git a/include/linux/pci.h b/include/linux/pci.h
index aeaa95455d4c..5cacd9e4c8cd 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -26,6 +26,7 @@
 
 #include <linux/mod_devicetable.h>
 
+#include <linux/args.h>
 #include <linux/types.h>
 #include <linux/init.h>
 #include <linux/ioport.h>
@@ -2003,6 +2004,20 @@ int pci_iobar_pfn(struct pci_dev *pdev, int bar, struct vm_area_struct *vma);
 	(pci_resource_end((dev), (bar)) ? 				\
 	 resource_size(pci_resource_n((dev), (bar))) : 0)
 
+#define __pci_dev_for_each_res0(dev, res, ...)				\
+	for (unsigned int __b = 0;					\
+	     res = pci_resource_n(dev, __b), __b < PCI_NUM_RESOURCES;	\
+	     __b++)
+
+#define __pci_dev_for_each_res1(dev, res, __b)				\
+	for (__b = 0;							\
+	     res = pci_resource_n(dev, __b), __b < PCI_NUM_RESOURCES;	\
+	     __b++)
+
+#define pci_dev_for_each_resource(dev, res, ...)			\
+	CONCATENATE(__pci_dev_for_each_res, COUNT_ARGS(__VA_ARGS__)) 	\
+		    (dev, res, __VA_ARGS__)
+
 /*
  * Similar to the helpers above, these manipulate per-pci_dev
  * driver-specific data.  They are really just a wrapper around
-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 16:28:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 16:28:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516805.801545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phv8e-0004tV-VE; Thu, 30 Mar 2023 16:28:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516805.801545; Thu, 30 Mar 2023 16: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 1phv8e-0004tG-RZ; Thu, 30 Mar 2023 16:28:36 +0000
Received: by outflank-mailman (input) for mailman id 516805;
 Thu, 30 Mar 2023 16:28: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=y3PO=7W=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1phv8d-0003qA-9k
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 16:28:35 +0000
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea40b6d3-cf17-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 18:28:34 +0200 (CEST)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Mar 2023 09:28:32 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga005.jf.intel.com with ESMTP; 30 Mar 2023 09:28:22 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 85CC62BE; Thu, 30 Mar 2023 19:24:52 +0300 (EEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea40b6d3-cf17-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1680193714; x=1711729714;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=xbQWUNZRhMDKSfWq+Wm+hoCdoGH5KZ6pm5K/n+XSSwM=;
  b=HT85l5NYyZLNzawnUtxbMAOFjsxDUmwxdiOu9NPsFbr3jTarqFqrumeb
   ADFomDuksf0r16xVkhXHTJtMi82ssKSmNZVJm1IueNDOuEQEnMsuWdwpV
   k5On/KlKTBy4Qv4YbZUQJakA7oFY7c0Mq8GyeD1CsnlHxSNF1WSa0TM+D
   XGlYiPil0mPNDQCh2gVTQw+xJD8WDYczG5X0SxONWIt9k6yPns26oWl5b
   nF/gzBfSKEdbt0TBLd9Xjr7N6aF30BQ82lhXJ0cs9P8giPP/J249Xkvzx
   nYLM3TZfjZ+uz1sQ2h93CPQuhtNYLmUWeBaFSvqW1dM68/NjirmKPZ10v
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="427496089"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="427496089"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="858971554"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="858971554"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v8 6/7] EISA: Convert to use less arguments in pci_bus_for_each_resource()
Date: Thu, 30 Mar 2023 19:24:33 +0300
Message-Id: <20230330162434.35055-7-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
In-Reply-To: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
References: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The pci_bus_for_each_resource() can hide the iterator loop since
it may be not used otherwise. With this, we may drop that iterator
variable definition.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 drivers/eisa/pci_eisa.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/eisa/pci_eisa.c b/drivers/eisa/pci_eisa.c
index 930c2332c3c4..8173e60bb808 100644
--- a/drivers/eisa/pci_eisa.c
+++ b/drivers/eisa/pci_eisa.c
@@ -20,8 +20,8 @@ static struct eisa_root_device pci_eisa_root;
 
 static int __init pci_eisa_init(struct pci_dev *pdev)
 {
-	int rc, i;
 	struct resource *res, *bus_res = NULL;
+	int rc;
 
 	if ((rc = pci_enable_device (pdev))) {
 		dev_err(&pdev->dev, "Could not enable device\n");
@@ -38,7 +38,7 @@ static int __init pci_eisa_init(struct pci_dev *pdev)
 	 * eisa_root_register() can only deal with a single io port resource,
 	*  so we use the first valid io port resource.
 	 */
-	pci_bus_for_each_resource(pdev->bus, res, i)
+	pci_bus_for_each_resource(pdev->bus, res)
 		if (res && (res->flags & IORESOURCE_IO)) {
 			bus_res = res;
 			break;
-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 16:28:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 16:28:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516806.801556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phv8g-0005B4-7N; Thu, 30 Mar 2023 16:28:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516806.801556; Thu, 30 Mar 2023 16:28: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 1phv8g-0005Au-49; Thu, 30 Mar 2023 16:28:38 +0000
Received: by outflank-mailman (input) for mailman id 516806;
 Thu, 30 Mar 2023 16:28: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=y3PO=7W=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1phv8e-0003qA-Mh
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 16:28:36 +0000
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb156f40-cf17-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 18:28:35 +0200 (CEST)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Mar 2023 09:28:33 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga005.jf.intel.com with ESMTP; 30 Mar 2023 09:28:22 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id E3FC727B; Thu, 30 Mar 2023 19:24:51 +0300 (EEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eb156f40-cf17-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1680193715; x=1711729715;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=VJ1PyQpGGPwbQf2lA7TScIDKb/DRRzKOJStqePaN450=;
  b=QDVgFCAh3EJ+pMB+BYsqmtGjC+FerPaWqyncraQAYxNWFskfaSxPDUXj
   je2x3xuJdOU270FN5YiA5oO3su9qC/10tN+8NJNDOsKFxenHrBEraO4iR
   CEreuwh8ry30/LFjLw+85DNcICTTBwd9GrpiGdtxhMFbZmbd33t6AvzQz
   yHclRxWBUe/KrePyfSdVRAAoO4jJMk8ZtmqvSoAzCFJKMGc/+ccIDKgRs
   YVqMRzSr6+FneoyA4H+VH0cdZeJdR5jLoMkpeImku1lpN9sR+2Ou9wcXD
   NPx2OUUVfchZ2SADd+sGLTXOkJc1z0/ilPGByhh8iTn92yze+ee5Yk3a7
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="427496114"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="427496114"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="858971556"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="858971556"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v8 5/7] PCI: Allow pci_bus_for_each_resource() to take less arguments
Date: Thu, 30 Mar 2023 19:24:32 +0300
Message-Id: <20230330162434.35055-6-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
In-Reply-To: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
References: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Refactor pci_bus_for_each_resource() in the same way as it's done in
pci_dev_for_each_resource() case. This will allow to hide iterator
inside the loop, where it's not used otherwise.

No functional changes intended.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 drivers/pci/bus.c                  |  7 +++----
 drivers/pci/hotplug/shpchp_sysfs.c |  8 ++++----
 drivers/pci/pci.c                  |  3 +--
 drivers/pci/probe.c                |  2 +-
 drivers/pci/setup-bus.c            | 10 ++++------
 include/linux/pci.h                | 24 +++++++++++++++++++-----
 6 files changed, 32 insertions(+), 22 deletions(-)

diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c
index 549c4bd5caec..5bc81cc0a2de 100644
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -182,13 +182,13 @@ static int pci_bus_alloc_from_region(struct pci_bus *bus, struct resource *res,
 		void *alignf_data,
 		struct pci_bus_region *region)
 {
-	int i, ret;
 	struct resource *r, avail;
 	resource_size_t max;
+	int ret;
 
 	type_mask |= IORESOURCE_TYPE_BITS;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource(bus, r) {
 		resource_size_t min_used = min;
 
 		if (!r)
@@ -289,9 +289,8 @@ bool pci_bus_clip_resource(struct pci_dev *dev, int idx)
 	struct resource *res = &dev->resource[idx];
 	struct resource orig_res = *res;
 	struct resource *r;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource(bus, r) {
 		resource_size_t start, end;
 
 		if (!r)
diff --git a/drivers/pci/hotplug/shpchp_sysfs.c b/drivers/pci/hotplug/shpchp_sysfs.c
index 64beed7a26be..01d47a42da04 100644
--- a/drivers/pci/hotplug/shpchp_sysfs.c
+++ b/drivers/pci/hotplug/shpchp_sysfs.c
@@ -24,16 +24,16 @@
 static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char *buf)
 {
 	struct pci_dev *pdev;
-	int index, busnr;
 	struct resource *res;
 	struct pci_bus *bus;
 	size_t len = 0;
+	int busnr;
 
 	pdev = to_pci_dev(dev);
 	bus = pdev->subordinate;
 
 	len += sysfs_emit_at(buf, len, "Free resources: memory\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource(bus, res) {
 		if (res && (res->flags & IORESOURCE_MEM) &&
 				!(res->flags & IORESOURCE_PREFETCH)) {
 			len += sysfs_emit_at(buf, len,
@@ -43,7 +43,7 @@ static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char
 		}
 	}
 	len += sysfs_emit_at(buf, len, "Free resources: prefetchable memory\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource(bus, res) {
 		if (res && (res->flags & IORESOURCE_MEM) &&
 			       (res->flags & IORESOURCE_PREFETCH)) {
 			len += sysfs_emit_at(buf, len,
@@ -53,7 +53,7 @@ static ssize_t show_ctrl(struct device *dev, struct device_attribute *attr, char
 		}
 	}
 	len += sysfs_emit_at(buf, len, "Free resources: IO\n");
-	pci_bus_for_each_resource(bus, res, index) {
+	pci_bus_for_each_resource(bus, res) {
 		if (res && (res->flags & IORESOURCE_IO)) {
 			len += sysfs_emit_at(buf, len,
 					     "start = %8.8llx, length = %8.8llx\n",
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 45c3bb039f21..585bb3988ddf 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -779,9 +779,8 @@ struct resource *pci_find_parent_resource(const struct pci_dev *dev,
 {
 	const struct pci_bus *bus = dev->bus;
 	struct resource *r;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource(bus, r) {
 		if (!r)
 			continue;
 		if (resource_contains(r, res)) {
diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index a3f68b6ba6ac..f8191750f6b7 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -533,7 +533,7 @@ void pci_read_bridge_bases(struct pci_bus *child)
 	pci_read_bridge_mmio_pref(child);
 
 	if (dev->transparent) {
-		pci_bus_for_each_resource(child->parent, res, i) {
+		pci_bus_for_each_resource(child->parent, res) {
 			if (res && res->flags) {
 				pci_bus_add_resource(child, res,
 						     PCI_SUBTRACTIVE_DECODE);
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 027b985dd1ee..fdeb121e9175 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -770,9 +770,8 @@ static struct resource *find_bus_resource_of_type(struct pci_bus *bus,
 						  unsigned long type)
 {
 	struct resource *r, *r_assigned = NULL;
-	int i;
 
-	pci_bus_for_each_resource(bus, r, i) {
+	pci_bus_for_each_resource(bus, r) {
 		if (r == &ioport_resource || r == &iomem_resource)
 			continue;
 		if (r && (r->flags & type_mask) == type && !r->parent)
@@ -1204,7 +1203,7 @@ void __pci_bus_size_bridges(struct pci_bus *bus, struct list_head *realloc_head)
 			additional_mmio_pref_size = 0;
 	struct resource *pref;
 	struct pci_host_bridge *host;
-	int hdr_type, i, ret;
+	int hdr_type, ret;
 
 	list_for_each_entry(dev, &bus->devices, bus_list) {
 		struct pci_bus *b = dev->subordinate;
@@ -1228,7 +1227,7 @@ void __pci_bus_size_bridges(struct pci_bus *bus, struct list_head *realloc_head)
 		host = to_pci_host_bridge(bus->bridge);
 		if (!host->size_windows)
 			return;
-		pci_bus_for_each_resource(bus, pref, i)
+		pci_bus_for_each_resource(bus, pref)
 			if (pref && (pref->flags & IORESOURCE_PREFETCH))
 				break;
 		hdr_type = -1;	/* Intentionally invalid - not a PCI device. */
@@ -1333,12 +1332,11 @@ EXPORT_SYMBOL(pci_bus_size_bridges);
 
 static void assign_fixed_resource_on_bus(struct pci_bus *b, struct resource *r)
 {
-	int i;
 	struct resource *parent_r;
 	unsigned long mask = IORESOURCE_IO | IORESOURCE_MEM |
 			     IORESOURCE_PREFETCH;
 
-	pci_bus_for_each_resource(b, parent_r, i) {
+	pci_bus_for_each_resource(b, parent_r) {
 		if (!parent_r)
 			continue;
 
diff --git a/include/linux/pci.h b/include/linux/pci.h
index e3b3af606280..56670d016cac 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1446,11 +1446,21 @@ int devm_request_pci_bus_resources(struct device *dev,
 /* Temporary until new and working PCI SBR API in place */
 int pci_bridge_secondary_bus_reset(struct pci_dev *dev);
 
+#define __pci_bus_for_each_res0(bus, res, ...)				\
+	for (unsigned int __b = 0;					\
+	     (res = pci_bus_resource_n(bus, __b)) || __b < PCI_BRIDGE_RESOURCE_NUM; \
+	     __b++)
+
+#define __pci_bus_for_each_res1(bus, res, __b)				\
+	for (__b = 0;							\
+	     (res = pci_bus_resource_n(bus, __b)) || __b < PCI_BRIDGE_RESOURCE_NUM; \
+	     __b++)
+
 /**
  * pci_bus_for_each_resource - iterate over PCI bus resources
  * @bus: the PCI bus
  * @res: a varible to keep a pointer to the current resource
- * @i: a variable to keep the index of the current resource
+ * @...: an optional variable to keep the index of the current resource
  *
  * Iterate over PCI bus resources. The first part is to go over PCI bus
  * resource array, which has at most the %PCI_BRIDGE_RESOURCE_NUM entries.
@@ -1463,13 +1473,17 @@ int pci_bridge_secondary_bus_reset(struct pci_dev *dev);
  *	struct resource *res;
  *	unsigned int i;
  *
+ * 	// With an additional index variable
  * 	pci_bus_for_each_resource(bus, res, i)
  * 		pr_info("PCI bus resource[%u]: %pR\n", i, res);
+ *
+ * 	// Without index
+ * 	pci_bus_for_each_resource(bus, res)
+ * 		_do_something_(res);
  */
-#define pci_bus_for_each_resource(bus, res, i)				\
-	for (i = 0;							\
-	    (res = pci_bus_resource_n(bus, i)) || i < PCI_BRIDGE_RESOURCE_NUM; \
-	     i++)
+#define pci_bus_for_each_resource(bus, res, ...)			\
+	CONCATENATE(__pci_bus_for_each_res, COUNT_ARGS(__VA_ARGS__))	\
+		    (bus, res, __VA_ARGS__)
 
 int __must_check pci_bus_alloc_resource(struct pci_bus *bus,
 			struct resource *res, resource_size_t size,
-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 16:28:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 16:28:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516807.801566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phv8h-0005SD-KV; Thu, 30 Mar 2023 16:28:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516807.801566; Thu, 30 Mar 2023 16:28:39 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phv8h-0005RH-FC; Thu, 30 Mar 2023 16:28:39 +0000
Received: by outflank-mailman (input) for mailman id 516807;
 Thu, 30 Mar 2023 16:28: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=y3PO=7W=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1phv8f-0004tu-B1
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 16:28:37 +0000
Received: from mga05.intel.com (mga05.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e85ccbff-cf17-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 18:28:33 +0200 (CEST)
Received: from orsmga002.jf.intel.com ([10.7.209.21])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Mar 2023 09:28:30 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by orsmga002.jf.intel.com with ESMTP; 30 Mar 2023 09:28:19 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 43047238; Thu, 30 Mar 2023 19:24:51 +0300 (EEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e85ccbff-cf17-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1680193713; x=1711729713;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=mMeyztJwnpsG6WpiZZE3Wzd++aYBpdo5TdtsAUuwHek=;
  b=UKJh84Ox4ppKFyS170YQltzUlOlRmEuBpL/+hQTzzZtAKsUQHFent1GC
   HAXifF3kiaOlNmQG3yOZL2Ke7Q84Wx8GsIwk0TX2oeA1zVLZP0FSNDBGa
   S3lEADeLlZZlJmCsHtHuzkoQFC8I2I5arjfETaCq0aYz75FNwi8wXLHK9
   Rhsx3RKOIzZ94fYX12A2JmZ2OGWsrS8/GvEt30w9rY/XVus+ppdYmGfLn
   vSdvNDayqURixPN0TECvUAOkJjrXzd4hOmn3PfMP6CdC3PQ4kUtI9tdj4
   Lh7taW/KOBvvNmtDHK/NyTvKsbkk2qqYD1Cs6Zv7LhIzvVZLqQp9A4hbw
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="427496048"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="427496048"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="684762351"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="684762351"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v8 4/7] PCI: Document pci_bus_for_each_resource() to avoid confusion
Date: Thu, 30 Mar 2023 19:24:31 +0300
Message-Id: <20230330162434.35055-5-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
In-Reply-To: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
References: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

There might be a confusion with the implementation of the
pci_bus_for_each_resources() due to side effect of Logical
OR. Document entire macro and explain how it works and why
the conditional needs to be like that.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 include/linux/pci.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/include/linux/pci.h b/include/linux/pci.h
index 5cacd9e4c8cd..e3b3af606280 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -1446,6 +1446,26 @@ int devm_request_pci_bus_resources(struct device *dev,
 /* Temporary until new and working PCI SBR API in place */
 int pci_bridge_secondary_bus_reset(struct pci_dev *dev);
 
+/**
+ * pci_bus_for_each_resource - iterate over PCI bus resources
+ * @bus: the PCI bus
+ * @res: a varible to keep a pointer to the current resource
+ * @i: a variable to keep the index of the current resource
+ *
+ * Iterate over PCI bus resources. The first part is to go over PCI bus
+ * resource array, which has at most the %PCI_BRIDGE_RESOURCE_NUM entries.
+ * After that continue with the separate list of the additional resources,
+ * if not empty. That's why the Logical OR is being used.
+ *
+ * Possible usage:
+ *
+ *	struct pci_bus *bus = ...;
+ *	struct resource *res;
+ *	unsigned int i;
+ *
+ * 	pci_bus_for_each_resource(bus, res, i)
+ * 		pr_info("PCI bus resource[%u]: %pR\n", i, res);
+ */
 #define pci_bus_for_each_resource(bus, res, i)				\
 	for (i = 0;							\
 	    (res = pci_bus_resource_n(bus, i)) || i < PCI_BRIDGE_RESOURCE_NUM; \
-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 16:29:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 16:29:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516812.801576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phv8r-0006PJ-TI; Thu, 30 Mar 2023 16:28:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516812.801576; Thu, 30 Mar 2023 16: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 1phv8r-0006P3-PS; Thu, 30 Mar 2023 16:28:49 +0000
Received: by outflank-mailman (input) for mailman id 516812;
 Thu, 30 Mar 2023 16:28: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=y3PO=7W=linux.intel.com=andriy.shevchenko@srs-se1.protection.inumbo.net>)
 id 1phv8q-0004tu-LQ
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 16:28:48 +0000
Received: from mga17.intel.com (mga17.intel.com [192.55.52.151])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f0b8694e-cf17-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 18:28:46 +0200 (CEST)
Received: from fmsmga007.fm.intel.com ([10.253.24.52])
 by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Mar 2023 09:28:39 -0700
Received: from black.fi.intel.com ([10.237.72.28])
 by fmsmga007.fm.intel.com with ESMTP; 30 Mar 2023 09:28:29 -0700
Received: by black.fi.intel.com (Postfix, from userid 1003)
 id 4A5522E9; Thu, 30 Mar 2023 19:24:53 +0300 (EEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0b8694e-cf17-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1680193726; x=1711729726;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=CylzEgRAmJXOphwnxg3IbL2UXwW6z4Wch9KnUOezzDg=;
  b=KWdy3V8PuSK/O9+XoiZNNnunwlnaY0F5BUg2OmimFGnUp1wZTl/5exrd
   n+Y4U9UnzKB6Z9GKmhDGSNR2o2dH3Q7NpSAAyCguS5g2e352hfvqPvTZY
   Oe3T/kdo859DwvyFStL/tlET33PdcZReDeYUjwW+THHn9NJt/EgzB5iFu
   m3n6ZV9BdGCKM1zXnx9IMgiG5fzIDnLiy3qHNH0XARN5GBQ6zmGnaRVQy
   51sAhUOcMNf8gqAciCcgBZ0cZkJUHaoWMgaAAUN+YaZO5Qn66i+J4sk5y
   LFNYcI8Y6c7fa8VQu7ZjaTOxplNoa/sh2M5to+Y3BJGGMBC9szhGUuc98
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="321607014"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="321607014"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10665"; a="687307670"
X-IronPort-AV: E=Sophos;i="5.98,305,1673942400"; 
   d="scan'208";a="687307670"
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
	=?UTF-8?q?Krzysztof=20Wilczy=C5=84ski?= <kw@linux.com>,
	Mika Westerberg <mika.westerberg@linux.intel.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Randy Dunlap <rdunlap@infradead.org>,
	Arnd Bergmann <arnd@arndb.de>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Niklas Schnelle <schnelle@linux.ibm.com>,
	Bjorn Helgaas <helgaas@kernel.org>,
	"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	=?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>,
	"Maciej W. Rozycki" <macro@orcam.me.uk>,
	Juergen Gross <jgross@suse.com>,
	Dominik Brodowski <linux@dominikbrodowski.net>,
	linux-kernel@vger.kernel.org,
	linux-alpha@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mips@vger.kernel.org,
	linuxppc-dev@lists.ozlabs.org,
	linux-sh@vger.kernel.org,
	sparclinux@vger.kernel.org,
	linux-pci@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-acpi@vger.kernel.org
Cc: Miguel Ojeda <ojeda@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
	Matt Turner <mattst88@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Andrew Lunn <andrew@lunn.ch>,
	Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com>,
	Gregory Clement <gregory.clement@bootlin.com>,
	Thomas Bogendoerfer <tsbogend@alpha.franken.de>,
	Nicholas Piggin <npiggin@gmail.com>,
	Christophe Leroy <christophe.leroy@csgroup.eu>,
	Anatolij Gustschin <agust@denx.de>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Rich Felker <dalias@libc.org>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	"David S. Miller" <davem@davemloft.net>,
	Bjorn Helgaas <bhelgaas@google.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Subject: [PATCH v8 7/7] pcmcia: Convert to use less arguments in pci_bus_for_each_resource()
Date: Thu, 30 Mar 2023 19:24:34 +0300
Message-Id: <20230330162434.35055-8-andriy.shevchenko@linux.intel.com>
X-Mailer: git-send-email 2.40.0.1.gaa8946217a0b
In-Reply-To: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
References: <20230330162434.35055-1-andriy.shevchenko@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The pci_bus_for_each_resource() can hide the iterator loop since
it may be not used otherwise. With this, we may drop that iterator
variable definition.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Krzysztof Wilczyński <kw@linux.com>
Acked-by: Dominik Brodowski <linux@dominikbrodowski.net>
---
 drivers/pcmcia/rsrc_nonstatic.c | 9 +++------
 drivers/pcmcia/yenta_socket.c   | 3 +--
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/pcmcia/rsrc_nonstatic.c b/drivers/pcmcia/rsrc_nonstatic.c
index ad1141fddb4c..96264ebee46a 100644
--- a/drivers/pcmcia/rsrc_nonstatic.c
+++ b/drivers/pcmcia/rsrc_nonstatic.c
@@ -934,7 +934,7 @@ static int adjust_io(struct pcmcia_socket *s, unsigned int action, unsigned long
 static int nonstatic_autoadd_resources(struct pcmcia_socket *s)
 {
 	struct resource *res;
-	int i, done = 0;
+	int done = 0;
 
 	if (!s->cb_dev || !s->cb_dev->bus)
 		return -ENODEV;
@@ -960,12 +960,9 @@ static int nonstatic_autoadd_resources(struct pcmcia_socket *s)
 	 */
 	if (s->cb_dev->bus->number == 0)
 		return -EINVAL;
-
-	for (i = 0; i < PCI_BRIDGE_RESOURCE_NUM; i++) {
-		res = s->cb_dev->bus->resource[i];
-#else
-	pci_bus_for_each_resource(s->cb_dev->bus, res, i) {
 #endif
+
+	pci_bus_for_each_resource(s->cb_dev->bus, res) {
 		if (!res)
 			continue;
 
diff --git a/drivers/pcmcia/yenta_socket.c b/drivers/pcmcia/yenta_socket.c
index 1365eaa20ff4..fd18ab571ce8 100644
--- a/drivers/pcmcia/yenta_socket.c
+++ b/drivers/pcmcia/yenta_socket.c
@@ -673,9 +673,8 @@ static int yenta_search_res(struct yenta_socket *socket, struct resource *res,
 			    u32 min)
 {
 	struct resource *root;
-	int i;
 
-	pci_bus_for_each_resource(socket->dev->bus, root, i) {
+	pci_bus_for_each_resource(socket->dev->bus, root) {
 		if (!root)
 			continue;
 
-- 
2.40.0.1.gaa8946217a0b



From xen-devel-bounces@lists.xenproject.org Thu Mar 30 16:50:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 16:50:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516828.801586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phvSo-0001y4-Nl; Thu, 30 Mar 2023 16:49:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516828.801586; Thu, 30 Mar 2023 16: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 1phvSo-0001xx-Kg; Thu, 30 Mar 2023 16:49:26 +0000
Received: by outflank-mailman (input) for mailman id 516828;
 Thu, 30 Mar 2023 16:49: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=tzUU=7W=citrix.com=prvs=446aa7e4f=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1phvSn-0001xr-9r
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 16:49:25 +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 d0a6e1d1-cf1a-11ed-85db-49a42c6b2330;
 Thu, 30 Mar 2023 18:49:22 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0a6e1d1-cf1a-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680194962;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=9I+Qa8/u0JoQK4SkLbQ3emOfSO7UtZyUN3JTfPvNN88=;
  b=OXh5neX0Oh/c8IJIc4LRw8rz8kogI2x7/1kgKBMx+xb+VIOBuhX4uMZw
   DaO9rGhkPB6iXozwrhcyrGuZbHLArETWvwHFu/FmUNfsZtL8WVwKzm7t2
   /Wsf5F+m7ex2C8FNm3KGEKuVam7MdAaWhIdjZ0zFMQ1oVmn5v2Sh9fufB
   k=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 104121359
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:pInhz6DR7oYiNRVW/7bjw5YqxClBgxIJ4kV8jS/XYbTApD8m1mZRx
 jEbWTzUMvyLYGH8LtlxaIuw8EgPvcCAy4RnQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48T8nk/nOHuGmYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbyRFu8pvlDs15K6p4GhD5gRlDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw+s15PGpMr
 d8hJiEKTRrZxMSk3p+0Y7w57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdHL2M1N3wsYDUWUrsTIJs4gOevgGi5azBCoUiZjaE2/3LS3Ep6172F3N/9I4TWHJ8MxRvJz
 o7A12ajAQshBPrF8wCu2Sr1v/PCkgDDAJ1HQdVU8dY12QbOlwT/EiY+UUawqL+3g0i1VtZbN
 mQd4C9opq83nGS7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsZjRMcsA8vck6Azkjz
 EaUnsjBDCZq9raSTBq16bqV6ziyNC49JHUHIyQDSGMt+d74qps0iRHJZtlmGa+xyNbyHFnY3
 DSivCU4wbIJgqYj1aqh+kvcqymxvZWPRQkwji3bV3yoxhl0b4mkY8qv81ezxfNJNoOQVFSCl
 HkChcmF7eoKAI2NlSqCW+EEFvei4PPtGDTEjERmBZUJ6zWn8HnldodViAySP28wbJxCI2WwJ
 haO50UIvsQ70GaWgbFfY6m/Ns8olYvZG8XidfqOLfxcfLV+XVrSlM1xXnJ8z1wBgWB1z/5ua
 MfLLZr8ZZoJIf85lWTrHo/xxZdun3ljnj2LGPgX2jz9idKjiGippaDp2bdkRsQw9+u6rQrc6
 L6z3OPamkwEAIUSjsQ6mLP/zGzmzlBhX/gaU+QNKoa+zvNOQQnN8cP5z7I7YJBClK9IjOrO9
 XzVchYGmAKm3CGZdlvaNC4LhFbTsXBX9ypT0csEYz6VN4ULO97zvM/zibNsFVXYyACT5aEtF
 KRUEylxKv9OVi7G61wgUHUJl6Q7LE7DrVvXb0KYjM0XI8YIq/rhpoW1IWMCNUAmUkKKiCfJi
 +T4hl2CG8FfGlQK4QS/QKvH8m5ddEM1wIpaN3Yk6PEKEKkw2OCG8xDMs8I=
IronPort-HdrOrdr: A9a23:+mJdsqyp8DVIODLdoZfkKrPw6L1zdoMgy1knxilNoHxuH/Bw9v
 re+cjzsCWftN9/Yh4dcLy7VpVoIkmsl6Kdg7NwAV7KZmCP1FdARLsI0WKI+UyCJ8SRzI9gPa
 cLSdkFNDXzZ2IK8PoTNmODYqodKNrsytHWuQ/HpU0dKT2D88tbnn9E4gDwKDwQeCB2QaAXOb
 C7/cR9qz+paR0sH7+G7ilsZZmkmzXT/qiWGCI7Ow==
X-IronPort-AV: E=Sophos;i="5.98,305,1673931600"; 
   d="scan'208";a="104121359"
Date: Thu, 30 Mar 2023 17:49:09 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Luca Fancellu <luca.fancellu@arm.com>
CC: <xen-devel@lists.xenproject.org>, <bertrand.marquis@arm.com>,
	<wei.chen@arm.com>, George Dunlap <george.dunlap@citrix.com>, Nick Rosbrook
	<rosbrookn@gmail.com>, Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, Marek =?iso-8859-1?Q?Marczykowski-G=F3recki?=
	<marmarek@invisiblethingslab.com>, Christian Lindig
	<christian.lindig@cloud.com>
Subject: Re: [PATCH v4 09/12] tools: add physinfo arch_capabilities handling
 for Arm
Message-ID: <9804fbab-3e8d-49dc-847b-4804a6de286b@perard>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-10-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230327105944.1360856-10-luca.fancellu@arm.com>

On Mon, Mar 27, 2023 at 11:59:41AM +0100, Luca Fancellu wrote:
> ---
>  tools/golang/xenlight/helpers.gen.go    |  2 ++
>  tools/golang/xenlight/types.gen.go      |  1 +
>  tools/include/arm-arch-capabilities.h   | 33 +++++++++++++++++++++++++

Could you move that new file into "tools/include/xen-tools/", where
"common-macros.h" is. The top-dir "tools/include" already has a mixture
of installed and internal headers, but most of them are installed. So
the fairly recent "xen-tools" dir which have been introduced to share
macros at build time seems more appropriate for another built-time
macro.

>  tools/include/xen-tools/common-macros.h |  2 ++
> 
> diff --git a/tools/include/arm-arch-capabilities.h b/tools/include/arm-arch-capabilities.h
> new file mode 100644
> index 000000000000..46e876651052
> --- /dev/null
> +++ b/tools/include/arm-arch-capabilities.h
> @@ -0,0 +1,33 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * Copyright (C) 2023 ARM Ltd.
> + */
> +
> +#ifndef ARM_ARCH_CAPABILITIES_H
> +#define ARM_ARCH_CAPABILITIES_H
> +
> +/* Tell the Xen public headers we are a user-space tools build. */
> +#ifndef __XEN_TOOLS__
> +#define __XEN_TOOLS__ 1

Somehow, this doesn't seems appropriate in this header. This macro
should instead be set on the command line. Any reason you've added this
in the header?

> +#endif
> +
> +#include <stdint.h>
> +#include <xen/sysctl.h>
> +
> +#include <xen-tools/common-macros.h>
> +
> +static inline
> +unsigned int arch_capabilities_arm_sve(unsigned int arch_capabilities)
> +{
> +#if defined(__aarch64__)
> +    unsigned int sve_vl = MASK_EXTR(arch_capabilities,
> +                                    XEN_SYSCTL_PHYSCAP_ARM_SVE_MASK);
> +
> +    /* Vector length is divided by 128 before storing it in arch_capabilities */
> +    return sve_vl * 128U;
> +#else
> +    return 0;
> +#endif
> +}
> +
> +#endif /* ARM_ARCH_CAPABILITIES_H */
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index c10292e0d7e3..fd31dacf7d5a 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -1133,6 +1133,7 @@ libxl_physinfo = Struct("physinfo", [
>      ("cap_vpmu", bool),
>      ("cap_gnttab_v1", bool),
>      ("cap_gnttab_v2", bool),
> +    ("arch_capabilities", uint32),

This additional field needs a new LIBXL_HAVE_ macro in "libxl.h".

>      ], dir=DIR_OUT)
>  
>  libxl_connectorinfo = Struct("connectorinfo", [
> diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c
> index 35901c2d63b6..254d3b5dccd2 100644
> --- a/tools/python/xen/lowlevel/xc/xc.c
> +++ b/tools/python/xen/lowlevel/xc/xc.c
> @@ -7,6 +7,7 @@
>  #define PY_SSIZE_T_CLEAN
>  #include <Python.h>
>  #define XC_WANT_COMPAT_MAP_FOREIGN_API
> +#include <arm-arch-capabilities.h>

Could you add this header ...

>  #include <xenctrl.h>
>  #include <xenguest.h>
>  #include <fcntl.h>
> @@ -22,8 +23,6 @@
>  #include <xen/hvm/hvm_info_table.h>
>  #include <xen/hvm/params.h>
>  
> -#include <xen-tools/common-macros.h>
> -

... here, instead?

Also, I think #include common-macros, can stay.

>  /* Needed for Python versions earlier than 2.3. */
>  #ifndef PyMODINIT_FUNC
>  #define PyMODINIT_FUNC DL_EXPORT(void)
> @@ -897,7 +896,7 @@ static PyObject *pyxc_physinfo(XcObject *self)
>      if ( p != virt_caps )
>        *(p-1) = '\0';
>  
> -    return Py_BuildValue("{s:i,s:i,s:i,s:i,s:l,s:l,s:l,s:i,s:s,s:s}",
> +    return Py_BuildValue("{s:i,s:i,s:i,s:i,s:l,s:l,s:l,s:i,s:s,s:s,s:i}",
>                              "nr_nodes",         pinfo.nr_nodes,
>                              "threads_per_core", pinfo.threads_per_core,
>                              "cores_per_socket", pinfo.cores_per_socket,
> @@ -907,7 +906,10 @@ static PyObject *pyxc_physinfo(XcObject *self)
>                              "scrub_memory",     pages_to_kib(pinfo.scrub_pages),
>                              "cpu_khz",          pinfo.cpu_khz,
>                              "hw_caps",          cpu_cap,
> -                            "virt_caps",        virt_caps);
> +                            "virt_caps",        virt_caps,
> +                            "arm_sve_vl",
> +                              arch_capabilities_arm_sve(pinfo.arch_capabilities)

arch_capabilities_arm_sve() returns an "unsigned int", but the format is
"i", which seems to be an "int". Shouldn't the format be "I" instead?

https://docs.python.org/3/c-api/arg.html#c.Py_BuildValue

> +                        );
>  }
>  
>  static PyObject *pyxc_getcpuinfo(XcObject *self, PyObject *args, PyObject *kwds)
> diff --git a/tools/xl/xl_info.c b/tools/xl/xl_info.c
> index 712b7638b013..bf18ba2449ef 100644
> --- a/tools/xl/xl_info.c
> +++ b/tools/xl/xl_info.c
> @@ -14,6 +14,7 @@
>  
>  #define _GNU_SOURCE
>  
> +#include <arm-arch-capabilities.h>

Any reason reason to have this header first?
I feel like private headers should come after public ones, so here, this
include would be added between <libxlutil.h> and "xl.h".

>  #include <fcntl.h>
>  #include <inttypes.h>
>  #include <stdlib.h>
> @@ -224,6 +225,13 @@ static void output_physinfo(void)
>           info.cap_gnttab_v2 ? " gnttab-v2" : ""
>          );
>  
> +    /* Print arm SVE vector length only on ARM platforms */
> +#if defined(__aarch64__)
> +    maybe_printf("arm_sve_vector_length  : %u\n",
> +         arch_capabilities_arm_sve(info.arch_capabilities)
> +        );
> +#endif
> +
>      vinfo = libxl_get_version_info(ctx);
>      if (vinfo) {
>          i = (1 << 20) / vinfo->pagesize;

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 17:13:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 17:13:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516832.801596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phvq5-0005Mb-Lb; Thu, 30 Mar 2023 17:13:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516832.801596; Thu, 30 Mar 2023 17: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 1phvq5-0005MU-I6; Thu, 30 Mar 2023 17:13:29 +0000
Received: by outflank-mailman (input) for mailman id 516832;
 Thu, 30 Mar 2023 17:13:28 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1phvq4-0005MK-AF; Thu, 30 Mar 2023 17:13:28 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1phvq4-0003OZ-5n; Thu, 30 Mar 2023 17:13:28 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1phvq3-00051I-LF; Thu, 30 Mar 2023 17:13:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phvq3-0000h5-Kq; Thu, 30 Mar 2023 17:13:27 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=GSJOUdREpT1+PkpRXZX66RQeRXBr2V2xaEWYljoadhw=; b=298mvsIuOovy9Orz/f9j2UkUaj
	nXTe9dYCVAm1E/pSudAU+yfy9UhSZBiUM2SuI799FgCm7Lum1Db+JMHudEr0Vl75fDb7C18gDA9kT
	3I9gnV2U68jzAy+EqWPHpNysc5+RbH3RvA9FoYNBzcl7IhSsCvJIfvvO1r67LaNRx7xI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180059-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 180059: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-xl-credit1:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-migrate/src_host/dst_host:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start/debian.repeat:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-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-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=ffe78bbd512166e0ef1cc4858010b128c510ed7d
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 17:13:27 +0000

flight 180059 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180059/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-xl-credit1  18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 17 guest-localmigrate   fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow   17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 17 guest-saverestore     fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 20 guest-localmigrate/x10  fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 26 guest-migrate/src_host/dst_host fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 18 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 17 guest-saverestore.2 fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds    22 guest-start/debian.repeat fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-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-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                ffe78bbd512166e0ef1cc4858010b128c510ed7d
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   36 days
Failing since        178093  2023-02-22 05:02:47 Z   36 days   66 attempts
Testing same since   180059  2023-03-30 01:42:07 Z    0 days    1 attempts

------------------------------------------------------------
2284 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 268199 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 17:35:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 17:35:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516837.801605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phwBC-0007sU-E0; Thu, 30 Mar 2023 17:35:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516837.801605; Thu, 30 Mar 2023 17:35: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 1phwBC-0007sN-B7; Thu, 30 Mar 2023 17:35:18 +0000
Received: by outflank-mailman (input) for mailman id 516837;
 Thu, 30 Mar 2023 17:35:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1phwBB-0007sD-CU; Thu, 30 Mar 2023 17:35:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1phwBB-0003m6-AY; Thu, 30 Mar 2023 17:35:17 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1phwBA-0005dC-RR; Thu, 30 Mar 2023 17:35:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phwBA-00010K-Qw; Thu, 30 Mar 2023 17:35:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=izzzQ+waM7EynEV9KS+sabzq3D70C2VkviwaaMGJOfQ=; b=yq/Q7S0/BhpHNSpGG/n/7EVigQ
	F27tHpeo38VwoZ51kL9qEpOGZvKNVby/7fVcQ1wT3X58qrMmhXHQalHtDoHv/vi036TEKJ5TSkfdi
	CHVzmQe9aQaYrCw82MLvyDZgZ4QChEZbaCa4F4qCgX21MiGiYSk7j2CXgJl/RbwY78lY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180067-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180067: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=6f0c65cdb073eb8ee8c1cb6fad5d0060ec86f3cc
X-Osstest-Versions-That:
    ovmf=53eb26b238541799134aa5846530485c915735da
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 17:35:16 +0000

flight 180067 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180067/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 6f0c65cdb073eb8ee8c1cb6fad5d0060ec86f3cc
baseline version:
 ovmf                 53eb26b238541799134aa5846530485c915735da

Last test of basis   180064  2023-03-30 11:13:36 Z    0 days
Testing same since   180067  2023-03-30 14:12:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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
   53eb26b238..6f0c65cdb0  6f0c65cdb073eb8ee8c1cb6fad5d0060ec86f3cc -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 17:57:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 17:57:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516843.801616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phwVl-0001zU-B3; Thu, 30 Mar 2023 17:56:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516843.801616; Thu, 30 Mar 2023 17: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 1phwVl-0001zN-8A; Thu, 30 Mar 2023 17:56:33 +0000
Received: by outflank-mailman (input) for mailman id 516843;
 Thu, 30 Mar 2023 17:56: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 1phwVj-0001zC-LK; Thu, 30 Mar 2023 17:56: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 1phwVj-0004as-K1; Thu, 30 Mar 2023 17:56: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 1phwVj-0006BO-9Q; Thu, 30 Mar 2023 17:56:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phwVj-0001JW-8x; Thu, 30 Mar 2023 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=TjkLAVsGUkJG0J/NJmjRZON3eNvNTw9wPAVNt7k3Ctc=; b=YWvncLy47ybKcvJ41s86tEkD5O
	Yd++usp5nb44v+JKNBCslfcmiVneT7HbASsKbe8gl8gmlNhoJd0rZJUtf8tnjRhTgM6LCOhNhYOqc
	8fTxChdRtn65iTr9ailS1cBEqQCaUWMPuy5ulJXdGuVzNPX6701TfpuXMJbUeFT56JZI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180068-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 180068: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=12c5eea3ca6fa2674726d62cc9f369f81861d23f
X-Osstest-Versions-That:
    xen=f41c88a6fca59f99a2eb5e7ed3d90ab7bca08b1b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 17:56:31 +0000

flight 180068 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180068/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  12c5eea3ca6fa2674726d62cc9f369f81861d23f
baseline version:
 xen                  f41c88a6fca59f99a2eb5e7ed3d90ab7bca08b1b

Last test of basis   180065  2023-03-30 12:00:25 Z    0 days
Testing same since   180068  2023-03-30 16:01:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   f41c88a6fc..12c5eea3ca  12c5eea3ca6fa2674726d62cc9f369f81861d23f -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 18:06:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 18:06:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516848.801626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phwfU-0003ZN-7A; Thu, 30 Mar 2023 18:06:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516848.801626; Thu, 30 Mar 2023 18:06: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 1phwfU-0003ZG-46; Thu, 30 Mar 2023 18:06:36 +0000
Received: by outflank-mailman (input) for mailman id 516848;
 Thu, 30 Mar 2023 18:06:34 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1phwfS-0003Z6-U9; Thu, 30 Mar 2023 18:06:34 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1phwfS-0004qn-MK; Thu, 30 Mar 2023 18:06: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 1phwfS-0006PP-AS; Thu, 30 Mar 2023 18:06:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phwfS-00076F-9x; Thu, 30 Mar 2023 18:06:34 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=vlR+sO3jZJUs2CMlUVIxShkmL0QnBVNUEhcgOSQKKXc=; b=Z/BeG17u1R83JZIhe4DWRyFQtF
	x5awBkivgWtG2ul9EZOhw41YV0mAgidd/61ELG0Bbu+2bKOw/vdXgOgdyoPZxGSSmIcNx5wrR+37u
	ylcyPTZX/n8ZpPyNu+Bqs5yDA10Cu9/KvLG0dr6PwUVjjm98ffNNipQvzxcH9oI0ReGQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180061-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 180061: tolerable trouble: pass/starved - PUSHED
X-Osstest-Failures:
    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-i386-libvirt-xsm: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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=2c6b5a84257379e516ca1999782dca88dfd8a9de
X-Osstest-Versions-That:
    libvirt=eb677e3a101107d8113feb841537425302784908
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 18:06:34 +0000

flight 180061 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180061/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-i386-libvirt-xsm  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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              2c6b5a84257379e516ca1999782dca88dfd8a9de
baseline version:
 libvirt              eb677e3a101107d8113feb841537425302784908

Last test of basis   180048  2023-03-29 04:20:27 Z    1 days
Testing same since   180061  2023-03-30 04:20:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Anastasia Belova <abelova@astralinux.ru>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 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
   eb677e3a10..2c6b5a8425  2c6b5a84257379e516ca1999782dca88dfd8a9de -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 19:33:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 19:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516853.801636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phy0u-0004J7-Gg; Thu, 30 Mar 2023 19:32:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516853.801636; Thu, 30 Mar 2023 19:32:48 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phy0u-0004J0-Dq; Thu, 30 Mar 2023 19:32:48 +0000
Received: by outflank-mailman (input) for mailman id 516853;
 Thu, 30 Mar 2023 19:32: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 1phy0s-0004Iu-SJ
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 19:32: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 1phy0r-0007cp-V0; Thu, 30 Mar 2023 19:32: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 1phy0r-0006sc-PV; Thu, 30 Mar 2023 19:32: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=oEWMyL4xPNjrp2kPqTBMtGWhBNXOeOfQgwSd65yL2aU=; b=JXjOPf6VVBOk72uyUDaHWd8dhN
	/5tMD3AcRlhg+j5FQIiLaqZIrwS3M2Dyc6YEZWRYfQG3pJPXLDnuOuq/AYjmUn0F5Egv48tQHJ051
	+mEix0jesuMD7NlvjdyA1AMo8Idy9/AEhllJVTqYI0P6H/uLDg80J+Pqn4veGQWmirS4=;
Message-ID: <c1dea62d-f0e9-6b8e-6476-6a0e501c8be4@xen.org>
Date: Thu, 30 Mar 2023 20:32:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [PATCH] bump default SeaBIOS version to 1.16.2
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <22a58367-6a7d-867a-348f-b2d18248f3f5@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <22a58367-6a7d-867a-348f-b2d18248f3f5@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 30/03/2023 11:38, Jan Beulich wrote:
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

FWIW:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

> 
> --- a/Config.mk
> +++ b/Config.mk
> @@ -225,7 +225,7 @@ MINIOS_UPSTREAM_URL ?= https://xenbits.x
>   MINIOS_UPSTREAM_REVISION ?= 5bcb28aaeba1c2506a82fab0cdad0201cd9b54b3
>   
>   SEABIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/seabios.git
> -SEABIOS_UPSTREAM_REVISION ?= rel-1.16.1
> +SEABIOS_UPSTREAM_REVISION ?= rel-1.16.2
>   
>   ETHERBOOT_NICS ?= rtl8139 8086100e
>   

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 19:58:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 19:58:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516856.801646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phyPQ-0006qr-HZ; Thu, 30 Mar 2023 19:58:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516856.801646; Thu, 30 Mar 2023 19:58: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 1phyPQ-0006qk-EL; Thu, 30 Mar 2023 19:58:08 +0000
Received: by outflank-mailman (input) for mailman id 516856;
 Thu, 30 Mar 2023 19:58: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 1phyPP-0006qe-0R
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 19:58: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 1phyPO-0008TG-I8; Thu, 30 Mar 2023 19:58:06 +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 1phyPO-0007zV-AL; Thu, 30 Mar 2023 19:58: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=uXvFeM3VtiDCEvNzcZJ9/MCwemAXMFTH1Vw3Q1VPQk8=; b=z1ChguVbcNxca/Tx81rjgSmvax
	GDqC56yS9qerP1rOqXRUP5O68HFQMX05QkjBKXxoxpmROyiZvfpL2/nI6qB806FWEmXaA3ru92zlD
	t8CRiIo7Uy6RB4jFvw/QGpI25fZHQKEk+0GG3MHYf7gGXzz9bPmLl7DtQNi5a6Pjmm4U=;
Message-ID: <8e6aaf2e-0a62-125d-6e55-7638530a9a85@xen.org>
Date: Thu, 30 Mar 2023 20:58:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [XEN v4 01/11] xen/arm: Use the correct format specifier
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,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, jbeulich@suse.com,
 wl@xen.org, rahul.singh@arm.com
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-2-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230321140357.24094-2-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 21/03/2023 14:03, Ayan Kumar Halder wrote:
> 1. One should use 'PRIpaddr' to display 'paddr_t' variables. However,
> while creating nodes in fdt, the address (if present in the node name)
> should be represented using 'PRIx64'. This is to be in conformance
> with the following rule present in https://elinux.org/Device_Tree_Linux
> 
> . node names
> "unit-address does not have leading zeros"
> 
> As 'PRIpaddr' introduces leading zeros, we cannot use it.
> 
> So, we have introduced a wrapper ie domain_fdt_begin_node() which will
> represent physical address using 'PRIx64'.
> 
> 2. One should use 'PRIx64' to display 'u64' in hex format. The current
> use of 'PRIpaddr' for printing PTE is buggy as this is not a physical
> address.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> Acked-by: Julien Grall <jgrall@amazon.com>

I have committed this patch.

Cheers,

> ---
> 
> Changes from -
> 
> v3 - 1. Extracted the patch from https://lists.xenproject.org/archives/html/xen-devel/2023-02/msg00655.html
> and added to this series.
> 2. No changes done.
> 
>   xen/arch/arm/domain_build.c | 64 +++++++++++++++++++++++--------------
>   xen/arch/arm/gic-v2.c       |  6 ++--
>   xen/arch/arm/mm.c           |  2 +-
>   3 files changed, 44 insertions(+), 28 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 9707eb7b1b..15fa88e977 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -1288,6 +1288,39 @@ static int __init fdt_property_interrupts(const struct kernel_info *kinfo,
>       return res;
>   }
>   
> +/*
> + * Wrapper to convert physical address from paddr_t to uint64_t and
> + * invoke fdt_begin_node(). This is required as the physical address
> + * provided as part of node name should not contain any leading
> + * zeroes. Thus, one should use PRIx64 (instead of PRIpaddr) to append
> + * 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)
> +{
> +    /*
> +     * The size of the buffer to hold the longest possible string (i.e.
> +     * interrupt-controller@ + a 64-bit number + \0).
> +     */
> +    char buf[38];
> +    int ret;
> +
> +    /* ePAPR 3.4 */
> +    ret = snprintf(buf, sizeof(buf), "%s@%"PRIx64, name, unit);
> +
> +    if ( ret >= sizeof(buf) )
> +    {
> +        printk(XENLOG_ERR
> +               "Insufficient buffer. Minimum size required is %d\n",
> +               (ret + 1));
> +
> +        return -FDT_ERR_TRUNCATED;
> +    }
> +
> +    return fdt_begin_node(fdt, buf);
> +}
> +
>   static int __init make_memory_node(const struct domain *d,
>                                      void *fdt,
>                                      int addrcells, int sizecells,
> @@ -1296,8 +1329,6 @@ static int __init make_memory_node(const struct domain *d,
>       unsigned int i;
>       int res, reg_size = addrcells + sizecells;
>       int nr_cells = 0;
> -    /* Placeholder for memory@ + a 64-bit number + \0 */
> -    char buf[24];
>       __be32 reg[NR_MEM_BANKS * 4 /* Worst case addrcells + sizecells */];
>       __be32 *cells;
>   
> @@ -1314,9 +1345,7 @@ static int __init make_memory_node(const struct domain *d,
>   
>       dt_dprintk("Create memory node\n");
>   
> -    /* ePAPR 3.4 */
> -    snprintf(buf, sizeof(buf), "memory@%"PRIx64, mem->bank[i].start);
> -    res = fdt_begin_node(fdt, buf);
> +    res = domain_fdt_begin_node(fdt, "memory", mem->bank[i].start);
>       if ( res )
>           return res;
>   
> @@ -1375,16 +1404,13 @@ static int __init make_shm_memory_node(const struct domain *d,
>       {
>           uint64_t start = mem->bank[i].start;
>           uint64_t size = mem->bank[i].size;
> -        /* Placeholder for xen-shmem@ + a 64-bit number + \0 */
> -        char buf[27];
>           const char compat[] = "xen,shared-memory-v1";
>           /* Worst case addrcells + sizecells */
>           __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
>           __be32 *cells;
>           unsigned int len = (addrcells + sizecells) * sizeof(__be32);
>   
> -        snprintf(buf, sizeof(buf), "xen-shmem@%"PRIx64, mem->bank[i].start);
> -        res = fdt_begin_node(fdt, buf);
> +        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
>           if ( res )
>               return res;
>   
> @@ -2716,12 +2742,9 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
>       __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
>       __be32 *cells;
>       const struct domain *d = kinfo->d;
> -    /* Placeholder for interrupt-controller@ + a 64-bit number + \0 */
> -    char buf[38];
>   
> -    snprintf(buf, sizeof(buf), "interrupt-controller@%"PRIx64,
> -             vgic_dist_base(&d->arch.vgic));
> -    res = fdt_begin_node(fdt, buf);
> +    res = domain_fdt_begin_node(fdt, "interrupt-controller",
> +                                vgic_dist_base(&d->arch.vgic));
>       if ( res )
>           return res;
>   
> @@ -2771,14 +2794,10 @@ static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
>       int res = 0;
>       __be32 *reg, *cells;
>       const struct domain *d = kinfo->d;
> -    /* Placeholder for interrupt-controller@ + a 64-bit number + \0 */
> -    char buf[38];
>       unsigned int i, len = 0;
>   
> -    snprintf(buf, sizeof(buf), "interrupt-controller@%"PRIx64,
> -             vgic_dist_base(&d->arch.vgic));
> -
> -    res = fdt_begin_node(fdt, buf);
> +    res = domain_fdt_begin_node(fdt, "interrupt-controller",
> +                                vgic_dist_base(&d->arch.vgic));
>       if ( res )
>           return res;
>   
> @@ -2858,11 +2877,8 @@ static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
>       __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
>       __be32 *cells;
>       struct domain *d = kinfo->d;
> -    /* Placeholder for sbsa-uart@ + a 64-bit number + \0 */
> -    char buf[27];
>   
> -    snprintf(buf, sizeof(buf), "sbsa-uart@%"PRIx64, d->arch.vpl011.base_addr);
> -    res = fdt_begin_node(fdt, buf);
> +    res = domain_fdt_begin_node(fdt, "sbsa-uart", d->arch.vpl011.base_addr);
>       if ( res )
>           return res;
>   
> diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
> index 61802839cb..5d4d298b86 100644
> --- a/xen/arch/arm/gic-v2.c
> +++ b/xen/arch/arm/gic-v2.c
> @@ -1049,7 +1049,7 @@ static void __init gicv2_dt_init(void)
>       if ( csize < SZ_8K )
>       {
>           printk(XENLOG_WARNING "GICv2: WARNING: "
> -               "The GICC size is too small: %#"PRIx64" expected %#x\n",
> +               "The GICC size is too small: %#"PRIpaddr" expected %#x\n",
>                  csize, SZ_8K);
>           if ( platform_has_quirk(PLATFORM_QUIRK_GIC_64K_STRIDE) )
>           {
> @@ -1280,11 +1280,11 @@ static int __init gicv2_init(void)
>           gicv2.map_cbase += aliased_offset;
>   
>           printk(XENLOG_WARNING
> -               "GICv2: Adjusting CPU interface base to %#"PRIx64"\n",
> +               "GICv2: Adjusting CPU interface base to %#"PRIpaddr"\n",
>                  cbase + aliased_offset);
>       } else if ( csize == SZ_128K )
>           printk(XENLOG_WARNING
> -               "GICv2: GICC size=%#"PRIx64" but not aliased\n",
> +               "GICv2: GICC size=%#"PRIpaddr" but not aliased\n",
>                  csize);
>   
>       gicv2.map_hbase = ioremap_nocache(hbase, PAGE_SIZE);
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index f758cad545..b99806af99 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -263,7 +263,7 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
>   
>           pte = mapping[offsets[level]];
>   
> -        printk("%s[0x%03x] = 0x%"PRIpaddr"\n",
> +        printk("%s[0x%03x] = 0x%"PRIx64"\n",
>                  level_strs[level], offsets[level], pte.bits);
>   
>           if ( level == 3 || !pte.walk.valid || !pte.walk.table )

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 20:06:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 20:06:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516859.801656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phyXS-0008Px-C4; Thu, 30 Mar 2023 20:06:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516859.801656; Thu, 30 Mar 2023 20: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 1phyXS-0008Pq-92; Thu, 30 Mar 2023 20:06:26 +0000
Received: by outflank-mailman (input) for mailman id 516859;
 Thu, 30 Mar 2023 20: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=RwyT=7W=tibco.com=gdunlap@srs-se1.protection.inumbo.net>)
 id 1phyXR-0008Pk-Ir
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 20:06:25 +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 578e2cae-cf36-11ed-b464-930f4c7d94ae;
 Thu, 30 Mar 2023 22:06:22 +0200 (CEST)
Received: by mail-lf1-x129.google.com with SMTP id y15so26026784lfa.7
 for <xen-devel@lists.xenproject.org>; Thu, 30 Mar 2023 13:06:22 -0700 (PDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 578e2cae-cf36-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1680206781;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=rsJJ14tsq1+UEnl8Ks5LzGINrZ9GierHl/Yqb8GLeGc=;
        b=UEDXuxANp8x6uiTo4P3h2IHw9xXNrorNKBn0/u0fdXQAE5LIoxas1ddEcI1ZO8InJn
         uODAUYgnQBuOMyP5AEO6f4IZwamWjgqbYbig0gSRdDqfqg/n8Zo7EzxstmVCJGDEhNqT
         +Sw0eJZWgmLBVSankrg7CYcEtyPTeYJySwWw0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20210112; t=1680206781;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=rsJJ14tsq1+UEnl8Ks5LzGINrZ9GierHl/Yqb8GLeGc=;
        b=mnhre/bw/B4kTMDeaXaFDR9uEh3OWL26GdAs8Urj1DTfmMXiWcZejgXCLrdpw7IdHK
         UzJs5x/xO3364dxaW+7+GGvPreWLK8lZQ2K7z5QFN/TaRHMRUzmbD9t8fT6BdKzDyoLm
         srFr8+ydegtdPq+k1/vD29KM8mWoxnkTR/DzWErLYvPeSLbi/7yjAsFB2lwOL1pwleQN
         BffOoegzLi3vvyDgTX2Fj/dJ5nWLnA8IS6+LvaOMQcdN7LwKa/cbeYPw8X0MpN76gKXr
         uE7oPmx5XSBx37RB05XWhLmkWVeIxvvEwt38tqVkKUkhJnFwbo1meVxYY9YLRgIgrE9v
         w8yQ==
X-Gm-Message-State: AAQBX9efnUtCbx4XKW2ih6ubsVKJCPj31H4Mv60X5oyd0NRY79lRQuZD
	yTMXac/F/xn362SMwoN9rTWO7ubdX8K2ar8kmK7pi4/yAsrlY64/OlY=
X-Google-Smtp-Source: AKy350aT68eD6IOCr7L36865sD5MsvXTA0ykHxMOSfgVHMacu/E7EeoSLvTPuREKjKKH5hAHgNPAlLnv5vDw/Ugz/v4=
X-Received: by 2002:a05:6512:507:b0:4dd:cb1d:b3d3 with SMTP id
 o7-20020a056512050700b004ddcb1db3d3mr7313688lfb.1.1680206781508; Thu, 30 Mar
 2023 13:06:21 -0700 (PDT)
MIME-Version: 1.0
From: George Dunlap <george.dunlap@cloud.com>
Date: Thu, 30 Mar 2023 21:06:10 +0100
Message-ID: <CA+zSX=YxdNQLj1b4uC_gskzsQ=dkRipf2LnD8Cm8x7MCZoVwpQ@mail.gmail.com>
Subject: [ANNOUNCE] Call for agenda items for 13 April Community Call @ 1600 UTC
To: Xen-devel <xen-devel@lists.xenproject.org>, 
	Tamas K Lengyel <tamas.k.lengyel@gmail.com>, "intel-xen@intel.com" <intel-xen@intel.com>, 
	"daniel.kiper@oracle.com" <daniel.kiper@oracle.com>, Roger Pau Monne <roger.pau@citrix.com>, 
	Sergey Dyasli <sergey.dyasli@citrix.com>, 
	Christopher Clark <christopher.w.clark@gmail.com>, Rich Persaud <persaur@gmail.com>, 
	Kevin Pearson <kevin.pearson@ortmanconsulting.com>, Juergen Gross <jgross@suse.com>, 
	Paul Durrant <pdurrant@amazon.com>, "Ji, John" <john.ji@intel.com>, 
	"edgar.iglesias@xilinx.com" <edgar.iglesias@xilinx.com>, 
	"robin.randhawa@arm.com" <robin.randhawa@arm.com>, Artem Mygaiev <Artem_Mygaiev@epam.com>, 
	Matt Spencer <Matt.Spencer@arm.com>, Stewart Hildebrand <Stewart.Hildebrand@amd.com>, 
	Volodymyr Babchuk <volodymyr_babchuk@epam.com>, Jeff Kubascik <Jeff.Kubascik@dornerworks.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Rian Quinn <rianquinn@gmail.com>, "Daniel P. Smith" <dpsmith@apertussolutions.com>, 
	=?UTF-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLRG91ZyBHb2xkc3RlaW4=?= <cardoe@cardoe.com>, 
	George Dunlap <george.dunlap@citrix.com>, David Woodhouse <dwmw@amazon.co.uk>, 
	=?UTF-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLQW1pdCBTaGFo?= <amit@infradead.org>, 
	=?UTF-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLVmFyYWQgR2F1dGFt?= <varadgautam@gmail.com>, 
	Brian Woods <brian.woods@xilinx.com>, Robert Townley <rob.townley@gmail.com>, 
	Bobby Eshleman <bobby.eshleman@gmail.com>, 
	=?UTF-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLQ29yZXkgTWlueWFyZA==?= <cminyard@mvista.com>, 
	Olivier Lambert <olivier.lambert@vates.fr>, Andrew Cooper <andrew.cooper3@citrix.com>, 
	Ash Wilding <ash.j.wilding@gmail.com>, Rahul Singh <Rahul.Singh@arm.com>, 
	=?UTF-8?Q?Piotr_Kr=C3=B3l?= <piotr.krol@3mdeb.com>, 
	Brendan Kerrigan <brendank310@gmail.com>, insurgo@riseup.net, 
	Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Scott Davis <scottwd@gmail.com>, 
	Anthony PERARD <anthony.perard@citrix.com>, Michal Orzel <michal.orzel@amd.com>, 
	Marc Ungeschikts <marc.ungeschikts@vates.fr>, Zhiming Shen <zshen@exotanium.io>, 
	Xenia Ragiadakou <burzalodowa@gmail.com>, 
	=?UTF-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLSGVucnkgV2FuZw==?= <Henry.Wang@arm.com>, 
	Per Bilse <per.bilse@citrix.com>, Samuel Verschelde <stormi-xcp@ylix.fr>, 
	Andrei Semenov <andrei.semenov@vates.fr>, Yann Dirson <yann.dirson@vates.fr>, 
	=?UTF-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLTHVjYSBGYW5jZWxsdQ==?= <luca.fancellu@arm.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Content-Type: multipart/alternative; boundary="0000000000005c851505f823a0ef"

--0000000000005c851505f823a0ef
Content-Type: text/plain; charset="UTF-8"

Hi all,

NOTE THE DATE CHANGE: The call has been pushed back by a week to avoid any
clashes with Easter holidays.


The proposed agenda is in
https://cryptpad.fr/pad/#/2/pad/edit/HtfnjfjUlr9KcUC-vP2RGLXe/ and you can
edit to add items.  Alternatively, you can reply to this mail directly.

Agenda items appreciated a few days before the call: please put your name
besides items if you edit the document.

Note the following administrative conventions for the call:
* Unless, agreed in the previous meeting otherwise, the call is on the 1st
Thursday of each month at 1600 British Time (either GMT or BST)
* I usually send out a meeting reminder a few days before with a
provisional agenda

* To allow time to switch between meetings, we'll plan on starting the
agenda at 16:05 sharp.  Aim to join by 16:03 if possible to allocate time
to sort out technical difficulties &c

* If you want to be CC'ed please add or remove yourself from the
sign-up-sheet at
https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRCf+/

Best Regards
George


== Dial-in Information ==
## Meeting time
15:00 - 16:00 UTC
Further International meeting times:
<https://www.timeanddate.com/worldclock/meetingdetails.html?year=2020&month=4&day=2&hour=15&min=0&sec=0&p1=1234&p2=37&p3=224&p4=179>
<https://www.timeanddate.com/worldclock/meetingdetails.html?year=2021&month=04&day=8&hour=15&min=0&sec=0&p1=1234&p2=37&p3=224&p4=179>
https://www.timeanddate.com/worldclock/meetingdetails.html?year=2023&month=4&day=13&hour=15&min=0&sec=0&p1=1234&p2=37&p3=224&p4=179


## Dial in details
Web: https://meet.jit.si/XenProjectCommunityCall

Dial-in info and pin can be found here:

https://meet.jit.si/static/dialInInfo.html?room=XenProjectCommunityCall

--0000000000005c851505f823a0ef
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><p>Hi all,<br></p><p>NOTE THE DATE CHANGE: The call has be=
en pushed back by a week to avoid any clashes with Easter holidays.</p><p><=
br>The proposed agenda is in <a href=3D"https://cryptpad.fr/pad/#/2/pad/edi=
t/HtfnjfjUlr9KcUC-vP2RGLXe/">https://cryptpad.fr/pad/#/2/pad/edit/HtfnjfjUl=
r9KcUC-vP2RGLXe/</a>=C2=A0and you can edit to add items.=C2=A0 Alternativel=
y, you can reply to this mail directly.<br></p><p>Agenda items appreciated =
a few days before the call: please put your name besides items if you edit =
the document.<br></p><p>Note the following administrative conventions for t=
he call:<br>* Unless, agreed in the previous meeting otherwise, the call is=
 on the 1st Thursday of each month at 1600 British Time (either GMT or BST)=
<br>* I usually send out a meeting reminder a few days before with a provis=
ional agenda<br></p><p>* To allow time to switch between meetings, we&#39;l=
l plan on starting the agenda at 16:05 sharp.=C2=A0 Aim to join by 16:03 if=
 possible to allocate time to sort out technical difficulties &amp;c</p><p>=
* If you want to be CC&#39;ed please add or remove yourself from the sign-u=
p-sheet at=C2=A0<a href=3D"https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxA=
Oe6RFPz0sRCf+/">https://cryptpad.fr/pad/#/2/pad/edit/D9vGzihPxxAOe6RFPz0sRC=
f+/</a><br></p><p>Best Regards<br>George<br></p><p><br></p><p>=3D=3D Dial-i=
n Information =3D=3D<br>## Meeting time<br>15:00 - 16:00 UTC<br>Further Int=
ernational meeting times:=C2=A0<a href=3D"https://www.timeanddate.com/world=
clock/meetingdetails.html?year=3D2020&amp;month=3D4&amp;day=3D2&amp;hour=3D=
15&amp;min=3D0&amp;sec=3D0&amp;p1=3D1234&amp;p2=3D37&amp;p3=3D224&amp;p4=3D=
179"></a><a href=3D"https://www.timeanddate.com/worldclock/meetingdetails.h=
tml?year=3D2021&amp;month=3D04&amp;day=3D8&amp;hour=3D15&amp;min=3D0&amp;se=
c=3D0&amp;p1=3D1234&amp;p2=3D37&amp;p3=3D224&amp;p4=3D179"></a><a href=3D"h=
ttps://www.timeanddate.com/worldclock/meetingdetails.html?year=3D2023&amp;m=
onth=3D4&amp;day=3D13&amp;hour=3D15&amp;min=3D0&amp;sec=3D0&amp;p1=3D1234&a=
mp;p2=3D37&amp;p3=3D224&amp;p4=3D179">https://www.timeanddate.com/worldcloc=
k/meetingdetails.html?year=3D2023&amp;month=3D4&amp;day=3D13&amp;hour=3D15&=
amp;min=3D0&amp;sec=3D0&amp;p1=3D1234&amp;p2=3D37&amp;p3=3D224&amp;p4=3D179=
</a><br></p><p><br>## Dial in details<br>Web:=C2=A0<a href=3D"https://meet.=
jit.si/XenProjectCommunityCall">https://meet.jit.si/XenProjectCommunityCall=
</a><br></p><p>Dial-in info and pin can be found here:<br></p><p><a href=3D=
"https://meet.jit.si/static/dialInInfo.html?room=3DXenProjectCommunityCall"=
>https://meet.jit.si/static/dialInInfo.html?room=3DXenProjectCommunityCall<=
/a></p></div>

--0000000000005c851505f823a0ef--


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 20:26:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 20:26:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516864.801666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phyqQ-0002WF-3K; Thu, 30 Mar 2023 20:26:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516864.801666; Thu, 30 Mar 2023 20:26: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 1phyqQ-0002W8-0U; Thu, 30 Mar 2023 20:26:02 +0000
Received: by outflank-mailman (input) for mailman id 516864;
 Thu, 30 Mar 2023 20:26: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 1phyqO-0002Vw-Ir; Thu, 30 Mar 2023 20:26: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 1phyqO-00015s-F5; Thu, 30 Mar 2023 20:26: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 1phyqN-0003G0-TM; Thu, 30 Mar 2023 20:26:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phyqN-0004G7-Sx; Thu, 30 Mar 2023 20:25: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=RK5aNKHJ6Fkm6im9SToG61+3N4ikeWgfjTMIF9E4zoc=; b=3Em5eVPfFBShi1MnnJL7P4tj85
	e1BlXOJUaKdzFGGazq2G5Cv3FyjAIrTb8APWsac+KRHTa0J3+4m8BLlDwqhWGKs4nChjaB5ZYeOwk
	1lij6jbOMEUlWeW2U07PPtBRO/zU2Czvu9GivZDsdjTipt3FBGJwXfe96ovakE/nkK+Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180070-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180070: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=e9e61671237e10f7d7672ff74e8907941a954c1d
X-Osstest-Versions-That:
    ovmf=6f0c65cdb073eb8ee8c1cb6fad5d0060ec86f3cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 20:25:59 +0000

flight 180070 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180070/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 e9e61671237e10f7d7672ff74e8907941a954c1d
baseline version:
 ovmf                 6f0c65cdb073eb8ee8c1cb6fad5d0060ec86f3cc

Last test of basis   180067  2023-03-30 14:12:20 Z    0 days
Testing same since   180070  2023-03-30 17:40:41 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
   6f0c65cdb0..e9e6167123  e9e61671237e10f7d7672ff74e8907941a954c1d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 20:32:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 20:32:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516869.801676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phyww-0003zz-SB; Thu, 30 Mar 2023 20:32:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516869.801676; Thu, 30 Mar 2023 20: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 1phyww-0003zs-Nv; Thu, 30 Mar 2023 20:32:46 +0000
Received: by outflank-mailman (input) for mailman id 516869;
 Thu, 30 Mar 2023 20:32: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 1phywv-0003zi-Q6; Thu, 30 Mar 2023 20:32: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 1phywv-0001DR-Mf; Thu, 30 Mar 2023 20:32: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 1phywv-0003Zc-7t; Thu, 30 Mar 2023 20:32:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1phywv-0006AR-7K; Thu, 30 Mar 2023 20:32: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=/B+gGEyrheE7gwUu8WF3UKKcl0suN7v5YiyUq+e+haI=; b=mtTtY7CCGyLA9/OjWtAMbgtw9/
	MxPaDFfDV2vi4btorTbgjgQxLVbTM13QaDAG/66REjgsnRNmnlkXw1/dZDmn7oaGyqOiznmOtPO8m
	AgEF9CbX4Fvb3gsb3btXkAgkclDGY6I79/c8eA0ETZ4/vwHCCIeh7A+JZiFp/pkhz7gw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180062-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 180062: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-libvirt-raw:debian-di-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qcow2:guest-start.2:fail:heisenbug
    xen-unstable:test-amd64-i386-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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: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-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-libvirt-qemuu-debianhvm-amd64-xsm: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:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=eef4608fe71feddb5fea86678cf3acaf84d10fd2
X-Osstest-Versions-That:
    xen=b177892d2d0e8a31122c218989f43130aeba5282
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 20:32:45 +0000

flight 180062 xen-unstable real [real]
flight 180071 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180062/
http://logs.test-lab.xenproject.org/osstest/logs/180071/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-libvirt-raw  12 debian-di-install   fail pass in 180071-retest
 test-amd64-amd64-xl-qcow2    22 guest-start.2       fail pass in 180071-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-libvirt-raw 14 migrate-support-check fail in 180071 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 180051
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 180051
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 180051
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 180051
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 180051
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 180051
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 180051
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 180051
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 180051
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-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-vhd 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 test-arm64-arm64-libvirt-xsm  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl           3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-thunderx  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-vhd       3 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-raw  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit2   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-xsm       3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  eef4608fe71feddb5fea86678cf3acaf84d10fd2
baseline version:
 xen                  b177892d2d0e8a31122c218989f43130aeba5282

Last test of basis   180051  2023-03-29 12:19:29 Z    1 days
Testing same since   180062  2023-03-30 05:16:10 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>
  Michal Orzel <michal.orzel@amd.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-armhf-armhf-xl                                          starved 
 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                                 starved 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  starved 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  starved 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    fail    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 starved 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-i386-examine-uefi                                 pass    
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      starved 
 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
   b177892d2d..eef4608fe7  eef4608fe71feddb5fea86678cf3acaf84d10fd2 -> master


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 20:45:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 20:45:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516882.801714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phz8m-0005qY-8d; Thu, 30 Mar 2023 20:45:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516882.801714; Thu, 30 Mar 2023 20:45:00 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phz8m-0005qR-4f; Thu, 30 Mar 2023 20:45:00 +0000
Received: by outflank-mailman (input) for mailman id 516882;
 Thu, 30 Mar 2023 20:44:59 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1phz8l-0005qL-6K
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 20:44:59 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1phz8k-0001ry-Gc; Thu, 30 Mar 2023 20:44:58 +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 1phz8k-00021R-Ah; Thu, 30 Mar 2023 20:44: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:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=U3S5PqIIBkW3vk5kEQf2RihQCN+6HthW6USM3+suAZY=; b=IGr9aLTBeXBvw4t2+sfi/htrNG
	sr39crq5gDSz6hOAAqAv3r0s8vY2dR4xZ4mQzv/iC1NQZzZlOZ0JVacHxllxNC5rqUPkklL4dUEZk
	Ww4NCXC95t3ciMpMJLeSbjVtdUiktkdsG7op4lsYcadvXy8597xIdoOyOCLDY6jhKf1c=;
Message-ID: <e1fb180f-5bd3-dcbb-a0dd-98e27d2a406b@xen.org>
Date: Thu, 30 Mar 2023 21:44:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
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,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, jbeulich@suse.com,
 wl@xen.org, rahul.singh@arm.com
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-3-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [XEN v4 02/11] xen/arm: domain_build: Track unallocated pages
 using the frame number
In-Reply-To: <20230321140357.24094-3-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 21/03/2023 14:03, Ayan Kumar Halder wrote:
> rangeset_{xxx}_range() functions are invoked with 'start' and 'size' as
> arguments which are either 'uint64_t' or 'paddr_t'. However, the function
> accepts 'unsigned long' for 'start' and 'size'. 'unsigned long' is 32 bits for
> ARM_32. Thus, there is an implicit downcasting from 'uint64_t'/'paddr_t' to
> 'unsigned long' when invoking rangeset_{xxx}_range().
> 
> So, it may seem there is a possibility of lose of data due to truncation.
> 
> In reality, 'start' and 'size' are always page aligned. And ARM_32 currently
> supports 40 bits as the width of physical address.
> So if the addresses are page aligned, the last 12 bits contain zeroes.
> Thus, we could instead pass page frame number which will contain 28 bits (40-12
> on Arm_32) and this can be represented using 'unsigned long'.

Is Arm_32 meant to refer to the config or the architecture? If the 
former, then it should be ARM_32 if the latter, it should be Arm32. I 
would prefer the latter.

> 
> On Arm_64, this change will not induce any adverse side effect as the width of

Same here for Arm_64.

> physical address is 48 bits. Thus, the width of 'mfn' (ie 48 - 12 = 36) can be
> represented using 'unsigned long' (which is 64 bits wide).
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> Changes from -
> 
> v3 - 1. Extracted the patch from https://lists.xenproject.org/archives/html/xen-devel/2023-02/msg00657.html
> and added it to this series.
> 2. Modified add_ext_regions(). This accepts a frame number instead of physical
> address.
> 
>   xen/arch/arm/domain_build.c | 27 +++++++++++++++++----------
>   1 file changed, 17 insertions(+), 10 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 15fa88e977..24b12b7512 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -1500,10 +1500,13 @@ static int __init make_resv_memory_node(const struct domain *d,
>       return res;
>   }
>   
> -static int __init add_ext_regions(unsigned long s, unsigned long e, void *data)
> +static int __init add_ext_regions(unsigned long s_pfn, unsigned long e_pfn,

We are trying to phase out any using of 'pfn' in the code. In this case, 
this is mean (see include/xen/mm.h for more details). Here, you want to 
use 'gfn' as we are looking for space in the dom0 memory address space.

> +                                  void *data)
>   {
>       struct meminfo *ext_regions = data;
>       paddr_t start, size;
> +    paddr_t s = PFN_UP(s_pfn);
> +    paddr_t e = PFN_UP(e_pfn);

PFN_UP() takes a physical address in parameter and return a page frame 
number. So this is not what you want here. You want pfn_to_paddr().

The rest looks good to me.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 21:10:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 21:10:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516885.801724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phzXp-0000qX-3W; Thu, 30 Mar 2023 21:10:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516885.801724; Thu, 30 Mar 2023 21: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 1phzXp-0000qQ-0W; Thu, 30 Mar 2023 21:10:53 +0000
Received: by outflank-mailman (input) for mailman id 516885;
 Thu, 30 Mar 2023 21:10: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 1phzXn-0000qK-Pg
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 21:10: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 1phzXn-0002lt-2R; Thu, 30 Mar 2023 21:10: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 1phzXm-0003AX-LY; Thu, 30 Mar 2023 21:10: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:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=jnw/04vf1w4KZ/tUsayPAf6i7C5UalNBdM7jrGCOxgk=; b=cjLCdzc9OrVmvd0rkxFnQce8Jr
	SeC2Ls2bXhz7ck0WMTlOeXtlG3f2ovLw52MRXrDYqq0XPkfvzClkDBjimkkf7CU2fdNH7aCNgbW+m
	7jT8DnUjzP7fW13ifatCCNBgKZBj+bBOVsMnA9yvdu3cupEWHRcGTAy8klTeqZJMFz8I=;
Message-ID: <e6289fe9-df58-07d0-77f6-ccc6edf7d3b2@xen.org>
Date: Thu, 30 Mar 2023 22:10:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
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,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, jbeulich@suse.com,
 wl@xen.org, rahul.singh@arm.com
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-4-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [XEN v4 03/11] xen/arm: Typecast the DT values into paddr_t
In-Reply-To: <20230321140357.24094-4-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 21/03/2023 14:03, Ayan Kumar Halder wrote:
> In future, we wish to support 32 bit physical address.
> However, the current dt and fdt functions can only read u64 values.

Reading this again this is a bit misleading. At least the DT functions 
are able to deal read 32-bit or 64-bit values (this is based on the 
number of cells). The difference is that the functions are expecting 
64-bit variable and this will be incompatible with paddr_t (which after 
your patch may be 32-bit).

> We wish to make the DT functions read 32bit as well 64bit values
> (depending on the width of physical address). Also, we wish to detect
> if any truncation has occurred (ie while reading 32bit physical
> addresses from 64bit values read from DT).
> 
> device_tree_get_reg() should now be able to return paddr_t. This is
> invoked by various callers to get DT address and size.
> 
> For fdt_get_mem_rsv(), we have introduced wrapper ie
> fdt_get_mem_rsv_paddr() while will invoke fdt_get_mem_rsv() and
> translate uint64_t to paddr_t. The reason being we cannot modify
> fdt_get_mem_rsv() as it has been imported from external source.
> 
> For dt_read_number(), we have also introduced a wrapper ie

NIT: 'ie' seems to be out of place. I would drop it.

> dt_read_paddr() to read physical addresses. We chose not to modify the
> original function as it been used in places where it needs to

"it been used" -> "it is used" ?

> specifically 64bit values from dt (For eg dt_property_read_u64()).

I can't parse the sencen after "where it needs to...".
> 
> Xen prints an error when it detects a truncation (during typecast
> between uint64_t and paddr_t). It is not possible to return an error in
> all scenarios. So, it is user's responsibility to check the error logs.

The last sentence is a bit odd to say. Quite likely a user will not be 
aware of this requirements. And a single line in the log is likely going 
to be difficult to spot (see more below).

> 
> Also, replaced u32/u64 with uint32_t/uint64_t in the functions touched
> by the code changes.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> 
> Changes from
> 
> v1 - 1. Dropped "[XEN v1 2/9] xen/arm: Define translate_dt_address_size() for the translation between u64 and paddr_t" and
> "[XEN v1 4/9] xen/arm: Use translate_dt_address_size() to translate between device tree addr/size and paddr_t", instead
> this approach achieves the same purpose.
> 
> 2. No need to check for truncation while converting values from u64 to paddr_t.
> 
> v2 - 1. Use "( (dt_start >> (PADDR_SHIFT - 1)) > 1 )" to detect truncation.
> 2. Introduced libfdt_xen.h to implement fdt_get_mem_rsv_paddr
> 3. Logged error messages in case truncation is detected.
> 
> v3 - 1. Renamed libfdt_xen.h to libfdt-xen.h.
> 2. Replaced u32/u64 with uint32_t/uint64_t
> 3. Use "(paddr_t)val != val" to check for truncation.
> 4. Removed the alias "#define PADDR_SHIFT PADDR_BITS".
> 
>   xen/arch/arm/bootfdt.c              | 41 ++++++++++++++++++-----
>   xen/arch/arm/domain_build.c         |  2 +-
>   xen/arch/arm/include/asm/setup.h    |  4 +--
>   xen/arch/arm/setup.c                | 14 ++++----
>   xen/arch/arm/smpboot.c              |  2 +-
>   xen/include/xen/device_tree.h       | 21 ++++++++++++
>   xen/include/xen/libfdt/libfdt-xen.h | 52 +++++++++++++++++++++++++++++
>   7 files changed, 116 insertions(+), 20 deletions(-)
>   create mode 100644 xen/include/xen/libfdt/libfdt-xen.h
> 
> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> index 0085c28d74..33bef1c15e 100644
> --- a/xen/arch/arm/bootfdt.c
> +++ b/xen/arch/arm/bootfdt.c
> @@ -11,7 +11,7 @@
>   #include <xen/efi.h>
>   #include <xen/device_tree.h>
>   #include <xen/lib.h>
> -#include <xen/libfdt/libfdt.h>
> +#include <xen/libfdt/libfdt-xen.h>
>   #include <xen/sort.h>
>   #include <xsm/xsm.h>
>   #include <asm/setup.h>
> @@ -52,11 +52,32 @@ static bool __init device_tree_node_compatible(const void *fdt, int node,
>       return false;
>   }
>   
> -void __init device_tree_get_reg(const __be32 **cell, u32 address_cells,
> -                                u32 size_cells, u64 *start, u64 *size)
> +void __init device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
> +                                uint32_t size_cells, paddr_t *start,
> +                                paddr_t *size)
>   {
> -    *start = dt_next_cell(address_cells, cell);
> -    *size = dt_next_cell(size_cells, cell);
> +    uint64_t dt_start, dt_size;
> +
> +    /*
> +     * dt_next_cell will return u64 whereas paddr_t may be u64 or u32. Thus,

s/u64/uint64_t/ I would also say "whereas paddr_t may not be 64-bit" 
just to shorten the sentence.

> +     * there is an implicit cast from u64 to paddr_t.

s/u64/uint64_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("Error: Physical address greater than max width supported\n");

I would add a WARN(). Same...

> +
> +    if ( dt_size != (paddr_t)dt_size )
> +        printk("Error: Physical size greater than max width supported\n");

... here as this is easier to spot in the logs.

> +
> +    /*
> +     * Note: It is user's responsibility to check for the error messages.

See my remark above about this.

> +     * Xen will sliently truncate in case if the address/size is greater than
> +     * the max supported width.
> +     */
> +    *start = dt_start;
> +    *size = dt_size;
>   }
>   
>   static int __init device_tree_get_meminfo(const void *fdt, int node,
> @@ -326,7 +347,7 @@ static int __init process_chosen_node(const void *fdt, int node,
>           printk("linux,initrd-start property has invalid length %d\n", len);
>           return -EINVAL;
>       }
> -    start = dt_read_number((void *)&prop->data, dt_size_to_cells(len));
> +    start = dt_read_paddr((void *)&prop->data, dt_size_to_cells(len));
>   
>       prop = fdt_get_property(fdt, node, "linux,initrd-end", &len);
>       if ( !prop )
> @@ -339,7 +360,7 @@ static int __init process_chosen_node(const void *fdt, int node,
>           printk("linux,initrd-end property has invalid length %d\n", len);
>           return -EINVAL;
>       }
> -    end = dt_read_number((void *)&prop->data, dt_size_to_cells(len));
> +    end = dt_read_paddr((void *)&prop->data, dt_size_to_cells(len));
>   
>       if ( start >= end )
>       {
> @@ -594,9 +615,11 @@ static void __init early_print_info(void)
>       for ( i = 0; i < nr_rsvd; i++ )
>       {
>           paddr_t s, e;
> -        if ( fdt_get_mem_rsv(device_tree_flattened, i, &s, &e) < 0 )
> +
> +        if ( fdt_get_mem_rsv_paddr(device_tree_flattened, i, &s, &e) < 0 )
>               continue;
> -        /* fdt_get_mem_rsv returns length */
> +
> +        /* fdt_get_mem_rsv_paddr returns length */
>           e += s;
>           printk(" RESVD[%u]: %"PRIpaddr" - %"PRIpaddr"\n", i, s, e);
>       }
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 24b12b7512..6573d15302 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -949,7 +949,7 @@ static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
>           BUG_ON(!prop);
>           cells = (const __be32 *)prop->value;
>           device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
> -        psize = dt_read_number(cells, size_cells);
> +        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",
> diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
> index a926f30a2b..7b697d879e 100644
> --- a/xen/arch/arm/include/asm/setup.h
> +++ b/xen/arch/arm/include/asm/setup.h
> @@ -157,8 +157,8 @@ const char *boot_module_kind_as_string(bootmodule_kind kind);
>   extern uint32_t hyp_traps_vector[];
>   void init_traps(void);
>   
> -void device_tree_get_reg(const __be32 **cell, u32 address_cells,
> -                         u32 size_cells, u64 *start, u64 *size);
> +void device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
> +                         uint32_t size_cells, paddr_t *start, paddr_t *size);
>   
>   u32 device_tree_get_u32(const void *fdt, int node,
>                           const char *prop_name, u32 dflt);
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index 1f26f67b90..755173e5a3 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -29,7 +29,7 @@
>   #include <xen/virtual_region.h>
>   #include <xen/vmap.h>
>   #include <xen/trace.h>
> -#include <xen/libfdt/libfdt.h>
> +#include <xen/libfdt/libfdt-xen.h>
>   #include <xen/acpi.h>
>   #include <xen/warning.h>
>   #include <asm/alternative.h>
> @@ -222,11 +222,11 @@ static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
>       {
>           paddr_t r_s, r_e;
>   
> -        if ( fdt_get_mem_rsv(device_tree_flattened, i, &r_s, &r_e ) < 0 )
> +        if ( fdt_get_mem_rsv_paddr(device_tree_flattened, i, &r_s, &r_e ) < 0 )
>               /* If we can't read it, pretend it doesn't exist... */
>               continue;
>   
> -        r_e += r_s; /* fdt_get_mem_rsv returns length */
> +        r_e += r_s; /* fdt_get_mem_rsv_paddr returns length */
>   
>           if ( s < r_e && r_s < e )
>           {
> @@ -502,13 +502,13 @@ static paddr_t __init consider_modules(paddr_t s, paddr_t e,
>       {
>           paddr_t mod_s, mod_e;
>   
> -        if ( fdt_get_mem_rsv(device_tree_flattened,
> -                             i - mi->nr_mods,
> -                             &mod_s, &mod_e ) < 0 )
> +        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 returns length */
> +        /* fdt_get_mem_rsv_paddr returns length */
>           mod_e += mod_s;
>   
>           if ( s < mod_e && mod_s < e )
> diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
> index 412ae22869..c15c177487 100644
> --- a/xen/arch/arm/smpboot.c
> +++ b/xen/arch/arm/smpboot.c
> @@ -159,7 +159,7 @@ static void __init dt_smp_init_cpus(void)
>               continue;
>           }
>   
> -        addr = dt_read_number(prop, dt_n_addr_cells(cpu));
> +        addr = dt_read_paddr(prop, dt_n_addr_cells(cpu));
>   
>           hwid = addr;
>           if ( hwid != addr )
> diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
> index 19a74909ce..bbc7d7377a 100644
> --- a/xen/include/xen/device_tree.h
> +++ b/xen/include/xen/device_tree.h
> @@ -241,6 +241,27 @@ static inline u64 dt_read_number(const __be32 *cell, int size)
>       return r;
>   }
>   
> +/* Wrapper for dt_read_number() to return paddr_t (instead of u64) */
> +static inline paddr_t dt_read_paddr(const __be32 *cell, int size)
> +{
> +    uint64_t dt_r = 0;
> +    paddr_t r;
> +
> +    dt_r = dt_read_number(cell, size);
> +
> +    if ( dt_r != (paddr_t)dt_r )
> +        printk("Error: Physical address greater than max width supported\n");

Same remark as abovo here and ...

> +
> +    /*
> +     * Note: It is user's responsibility to check for the error messages.

... here. I also find interesting, you explain the check in 
device_tree_get_reg() but not in dt_read_paddr().

> +     * Xen will sliently truncate in case if the address/size is greater than
> +     * the max supported width.
> +     */
> +    r = dt_r;
> +
> +    return r;
> +}
> +
>   /* Helper to convert a number of cells to bytes */
>   static inline int dt_cells_to_size(int size)
>   {
> diff --git a/xen/include/xen/libfdt/libfdt-xen.h b/xen/include/xen/libfdt/libfdt-xen.h
> new file mode 100644
> index 0000000000..648bf41be6
> --- /dev/null
> +++ b/xen/include/xen/libfdt/libfdt-xen.h
> @@ -0,0 +1,52 @@
> +// SPDX-License-Identifier: GPL-2.0

This should be /* ... */ rather than //. Also please use GPL-2.0-only.

> +/*
> + * xen/include/xen/libfdt/libfdt-xen.h
> + *
> + * Wrapper functions for device tree. This helps to convert dt values
> + * between u64 and paddr_t.
> + *
> + * Copyright (C) 2023, Advanced Micro Devices, Inc. All Rights Reserved.
> + */
> +
> +#ifndef LIBFDT_XEN_H
> +#define LIBFDT_XEN_H
> +
> +#include <xen/libfdt/libfdt.h>
> +
> +inline int fdt_get_mem_rsv_paddr(const void *fdt, int n,

This should be static inline to avoid any issue if the header is 
included in multiple units and not inlined (a compiler is free to ignore 
the inline request).

> +                                 paddr_t *address,
> +                                 paddr_t *size)
> +{
> +    uint64_t dt_addr;
> +    uint64_t dt_size;
> +    int ret = 0;
> +
> +    ret = fdt_get_mem_rsv(fdt, n, &dt_addr, &dt_size);

dt_addr and dt_size will not be set if fdt_get_mem_rsv() return an 
error. So the checks below will happen on unknown value (dt_addr/dt_size 
are not initialized) and the checks will be unpredicatable.

So you want to check the return value first and then the truncation.

> +    if ( dt_addr != (paddr_t)dt_addr ) > +    {
> +        printk("Error: Physical address greater than max width supported\n");
> +        return -1;

-1 already means something in the libfdt case (it is defined as 
-FDT_ERR_NOTFOUND). So you want to use a different error value. I would 
use -FDT_ERR_MAX in this case.

BTW, I am not suggesting to use WARN() here because the error is 
properly propagated.

> +    }
> +
> +    if ( dt_size != (paddr_t)dt_size )
> +    {
> +        printk("Error: Physical size greater than max width supported\n");
> +        return -1;

Same here.

> +    }
> +
> +    *address = dt_addr;
> +    *size = dt_size;
> +
> +    return ret;
> +}
> +
> +#endif /* LIBFDT_XEN_H */
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 21:25:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 21:25:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516889.801734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phzlY-0002an-Go; Thu, 30 Mar 2023 21:25:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516889.801734; Thu, 30 Mar 2023 21:25:04 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phzlY-0002ag-CJ; Thu, 30 Mar 2023 21:25:04 +0000
Received: by outflank-mailman (input) for mailman id 516889;
 Thu, 30 Mar 2023 21:25: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 1phzlW-0002aa-Hd
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 21:25: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 1phzlW-00031X-27; Thu, 30 Mar 2023 21:25:02 +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 1phzlV-0003kn-RF; Thu, 30 Mar 2023 21:25: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:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=YMWUwnPCc58PE1cVOBe/vi2qQd9a6lRSf0uMMWMUfP8=; b=n4srpHZw0S3gFB1VoG02+ndqgI
	AGginpsEIuaL56KHRIvfr+30AcwGktp+mQGFQXHInr9hVMP40Gy8ZAWy0we/tJDpo21+0TXDjz0bC
	wr5W9/Ql70ZH8EIQ2Zu/ak9JRnCAU3kcH/fhbWOiNohX+hSPDPfRLPmKkWk9C0F4A+oE=;
Message-ID: <91baebab-ef49-6aee-43bb-c7bf1f41cfb5@xen.org>
Date: Thu, 30 Mar 2023 22:24:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
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,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, jbeulich@suse.com,
 wl@xen.org, rahul.singh@arm.com
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-6-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [XEN v4 05/11] xen/arm: Introduce a wrapper for
 dt_device_get_address() to handle paddr_t
In-Reply-To: <20230321140357.24094-6-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 21/03/2023 14:03, Ayan Kumar Halder wrote:
> dt_device_get_address() can accept uint64_t only for address and size.
> However, the address/size denotes physical addresses. Thus, they should
> be represented by 'paddr_t'.
> Consequently, we introduce a wrapper for dt_device_get_address() ie
> dt_device_get_paddr() which accepts address/size as paddr_t and inturn
> invokes dt_device_get_address() after converting address/size to
> uint64_t.
> 
> The reason for introducing doing this is that in future 'paddr_t' may
> be defined as uint32_t.

Technically, you will define it as 'unsigned long' after. To avoid 
relying on how paddr_t is defined, I would suggest ot write "'paddr_t' 
may not always be 64-bit" or similar.

> diff --git a/xen/arch/arm/platforms/brcm-raspberry-pi.c b/xen/arch/arm/platforms/brcm-raspberry-pi.c
> index 811b40b1a6..407ec07f63 100644
> --- a/xen/arch/arm/platforms/brcm-raspberry-pi.c
> +++ b/xen/arch/arm/platforms/brcm-raspberry-pi.c
> @@ -64,7 +64,7 @@ static void __iomem *rpi4_map_watchdog(void)
>       if ( !node )
>           return NULL;
>   
> -    ret = dt_device_get_address(node, 0, &start, &len);
> +    ret = dt_device_get_paddr(node, 0, &start, &len);
>       if ( ret )
>       {
>           printk("Cannot read watchdog register address\n");
> diff --git a/xen/arch/arm/platforms/brcm.c b/xen/arch/arm/platforms/brcm.c
> index d481b2c60f..4310feee73 100644
> --- a/xen/arch/arm/platforms/brcm.c
> +++ b/xen/arch/arm/platforms/brcm.c
> @@ -40,7 +40,7 @@ static __init int brcm_get_dt_node(char *compat_str,
>                                      u32 *reg_base)
>   {
>       const struct dt_device_node *node;
> -    u64 reg_base_64;
> +    paddr_t reg_base_64;

'64' reads a bit odd now. I think you want to rename to reg_base_paddr.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 21:27:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 21:27:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516892.801744 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phzny-00039w-Tl; Thu, 30 Mar 2023 21:27:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516892.801744; Thu, 30 Mar 2023 21:27:34 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phzny-00039p-QW; Thu, 30 Mar 2023 21:27:34 +0000
Received: by outflank-mailman (input) for mailman id 516892;
 Thu, 30 Mar 2023 21: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 1phzny-00039j-Ai
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 21: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 1phzny-00033z-01; Thu, 30 Mar 2023 21:27:34 +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 1phznx-0003oa-R3; Thu, 30 Mar 2023 21: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>
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=EErW5ytElLiKja3//Z1aZAcNs5ZuHLsSuXIftpylWJA=; b=hmq22jCuGadB+fgMSJ7ojUjPL1
	nsYKv9gRD2GIgaEiVqD429c6G+26p5j9vS2avlB4oKrrqxD/Khe0UlAejaemhZAj7uxIC72yGDd9m
	Ad3/TDTEfZydk3nxnM8yA+xd/AF4ISuyJ9ePmZaNHb0WDGTNWiPOO8E7kQw/a8jjBjWw=;
Message-ID: <f1e638f2-28c8-fcee-bfb4-a7d459281420@xen.org>
Date: Thu, 30 Mar 2023 22:27:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [XEN v4 06/11] xen/arm: smmu: Use writeq_relaxed_non_atomic() for
 writing to SMMU_CBn_TTBR0
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,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, jbeulich@suse.com,
 wl@xen.org, rahul.singh@arm.com
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-7-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230321140357.24094-7-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 21/03/2023 14:03, Ayan Kumar Halder wrote:
> Refer ARM IHI 0062D.c ID070116 (SMMU 2.0 spec), 17-360, 17.3.9,
> SMMU_CBn_TTBR0 is a 64 bit register. Thus, one can use
> writeq_relaxed_non_atomic() to write to it instead of invoking
> writel_relaxed() twice for lower half and upper half of the register.
> 
> This also helps us as p2maddr is 'paddr_t' (which may be u32 in future).
> Thus, one can assign p2maddr to a 64 bit register and do the bit
> manipulations on it, to generate the value for SMMU_CBn_TTBR0.
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

The tags should be ordered in a timeline. So Signed-off-by should be first.

I am happy to do it on commit if you can confirm that this patch doesn't 
dependent on the patches before.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 21:34:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 21:34:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516895.801754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phzuI-0004cx-KC; Thu, 30 Mar 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 516895.801754; Thu, 30 Mar 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 1phzuI-0004cq-Gp; Thu, 30 Mar 2023 21:34:06 +0000
Received: by outflank-mailman (input) for mailman id 516895;
 Thu, 30 Mar 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 1phzuH-0004ck-Fi
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 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 1phzuG-0003Aj-Vv; Thu, 30 Mar 2023 21:34:04 +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 1phzuG-00044Y-Of; Thu, 30 Mar 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=g6jKfMlR3xj6B5fnmWjCX7uvOE/PmharSAcD9GAXHNs=; b=1DTtP4tefkIu/wSN8FDmdo6Q+n
	30dJhAaKNZ+4lzOZA9nXPgCXGaG6j+meWZHcSYYDSwpyd4h21XCgypwbQUib85gCMolayLTvHz2Eg
	fJgMYi/6H7ZXaLvMEW9/5mk8xYIVfEUELvZM7OG+xQdWIQI3XJmuMe12cemdetgnlSa4=;
Message-ID: <cf65c4cb-ff3f-f8a3-28ec-abb1ea765468@xen.org>
Date: Thu, 30 Mar 2023 22:34:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [XEN v4 09/11] xen/arm: Restrict zeroeth_table_offset for ARM_64
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,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, jbeulich@suse.com,
 wl@xen.org, rahul.singh@arm.com
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-10-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230321140357.24094-10-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 21/03/2023 14:03, Ayan Kumar Halder wrote:
> When 32 bit physical addresses are used (ie ARM_PA_32=y),
> "va >> ZEROETH_SHIFT" causes an overflow.
> Also, there is no zeroeth level page table on Arm 32-bit.
> 
> Also took the opportunity to clean up dump_pt_walk(). One could use
> DECLARE_OFFSETS() macro instead of declaring the declaring an array
> of page table offsets.
> 
> Acked-by: Julien Grall <jgrall@amazon.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

This should be re-ordered so the signed-off-by tag is first.

> ---
> Changes from -
> 
> v1 - Removed the duplicate declaration for DECLARE_OFFSETS.
> 
> v2 - 1. Reworded the commit message.
> 2. Use CONFIG_ARM_PA_32 to restrict zeroeth_table_offset.
> 
> v3 - 1. Added R-b and Ack.
> 
>   xen/arch/arm/include/asm/lpae.h | 4 ++++
>   xen/arch/arm/mm.c               | 7 +------
>   2 files changed, 5 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/arch/arm/include/asm/lpae.h b/xen/arch/arm/include/asm/lpae.h
> index 3fdd5d0de2..0d40388f93 100644
> --- a/xen/arch/arm/include/asm/lpae.h
> +++ b/xen/arch/arm/include/asm/lpae.h
> @@ -259,7 +259,11 @@ lpae_t mfn_to_xen_entry(mfn_t mfn, unsigned int attr);
>   #define first_table_offset(va)  TABLE_OFFSET(first_linear_offset(va))
>   #define second_table_offset(va) TABLE_OFFSET(second_linear_offset(va))
>   #define third_table_offset(va)  TABLE_OFFSET(third_linear_offset(va))
> +#ifdef CONFIG_ARM_PA_BITS_32

I know I already acked this patch. However, looking at the previous 
patch, you are using CONFIG_PHYS_ADDR_T_32 but here you are using 
CONFIG_ARM_PA_BITS_32.

It is not fully clear to me why you differ in the #ifdef approach. Can 
you clarify?

> +#define zeroeth_table_offset(va)  0
> +#else
>   #define zeroeth_table_offset(va)  TABLE_OFFSET(zeroeth_linear_offset(va))
> +#endif
>   
>   /*
>    * Macros to define page-tables:
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index d8b43ef38c..41e0896b0f 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -221,12 +221,7 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
>   {
>       static const char *level_strs[4] = { "0TH", "1ST", "2ND", "3RD" };
>       const mfn_t root_mfn = maddr_to_mfn(ttbr);
> -    const unsigned int offsets[4] = {
> -        zeroeth_table_offset(addr),
> -        first_table_offset(addr),
> -        second_table_offset(addr),
> -        third_table_offset(addr)
> -    };
> +    DECLARE_OFFSETS(offsets, addr);
>       lpae_t pte, *mapping;
>       unsigned int level, root_table;
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 21:39:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 21:39:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516898.801763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1phzzq-0005HF-8k; Thu, 30 Mar 2023 21:39:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516898.801763; Thu, 30 Mar 2023 21: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 1phzzq-0005H8-5z; Thu, 30 Mar 2023 21:39:50 +0000
Received: by outflank-mailman (input) for mailman id 516898;
 Thu, 30 Mar 2023 21:39: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 1phzzo-0005H2-K5
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 21:39: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 1phzzo-0003Mq-2q; Thu, 30 Mar 2023 21:39:48 +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 1phzzn-0004M9-So; Thu, 30 Mar 2023 21:39: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=Lx8CLIoPc+LHQUQ6lLnLEpmlefRXvABATUFOcJlXwH8=; b=CYgZ+DBhDyEJTZ03E2b/0FgmLe
	SBxZoG3ftX9/kfa0nGyi8LE/zGnv3gBj87HGQVyOze7zrTDRcTqLfVv9KYixifdRVsbEXQuBFoQRz
	xzXGb1Ywrlgo4RgHNOPd187K+oyh7rmVCXp5v5gk7zC2f6xr89tKIfLEVA5/Zv2JIa/s=;
Message-ID: <2b7eb980-e3f8-c029-ca01-44709a294b2f@xen.org>
Date: Thu, 30 Mar 2023 22:39:45 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [XEN v4 10/11] xen/arm: p2m: Use the pa_range_info table to
 support Arm_32 and Arm_64
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,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, jbeulich@suse.com,
 wl@xen.org, rahul.singh@arm.com
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-11-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230321140357.24094-11-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan:

Title: Shouldn't you remove the _ or use uppercase?

On 21/03/2023 14:03, Ayan Kumar Halder wrote:
> Restructure the code so that one can use pa_range_info[] table for both
> ARM_32 as well as ARM_64. >
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> Changes from -
> 
> v3 - 1. New patch introduced in v4.
> 2. Restructure the code such that pa_range_info[] is used both by ARM_32 as
> well as ARM_64.
> 
>   xen/arch/arm/p2m.c | 28 +++++++++++++++-------------
>   1 file changed, 15 insertions(+), 13 deletions(-)
> 
> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> index 948f199d84..f34b6e6f11 100644
> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -2265,22 +2265,16 @@ 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;
>   
> -#ifdef CONFIG_ARM_32
> -    if ( p2m_ipa_bits < 40 )
> -        panic("P2M: Not able to support %u-bit IPA at the moment\n",
> -              p2m_ipa_bits);
> -
> -    printk("P2M: 40-bit IPA\n");
> -    p2m_ipa_bits = 40;
> -    val |= VTCR_T0SZ(0x18); /* 40 bit IPA */
> -    val |= VTCR_SL0(0x1); /* P2M starts at first level */
> -#else /* CONFIG_ARM_64 */
>       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 = {
> +#ifdef CONFIG_ARM_32
> +        [0] = { 40,      24/*24*/,  1,          1 },
> +        [1] = { 0 } /* Invalid */
> +#else
>           /* T0SZ minimum and SL0 maximum from ARM DDI 0487H.a Table D5-6 */
>           /*      PA size, t0sz(min), root-order, sl0(max) */
>           [0] = { 32,      32/*32*/,  0,          1 },
> @@ -2291,11 +2285,13 @@ void __init setup_virt_paging(void)
>           [5] = { 48,      16/*16*/,  0,          2 },
>           [6] = { 52,      12/*12*/,  4,          2 },
>           [7] = { 0 }  /* Invalid */
> +#endif
>       };
>   
>       unsigned int i;
>       unsigned int pa_range = 0x10; /* Larger than any possible value */
>   
> +#ifdef CONFIG_ARM_64
>       /*
>        * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
>        * with IPA bits == PA bits, compare against "pabits".
> @@ -2309,6 +2305,9 @@ void __init setup_virt_paging(void)
>        */
>       if ( system_cpuinfo.mm64.vmid_bits == MM64_VMID_16_BITS_SUPPORT )
>           max_vmid = MAX_VMID_16_BIT;
> +#else
> +    p2m_ipa_bits = PADDR_BITS;
> +#endif
>   
>       /* Choose suitable "pa_range" according to the resulted "p2m_ipa_bits". */
>       for ( i = 0; i < ARRAY_SIZE(pa_range_info); i++ )
> @@ -2324,14 +2323,13 @@ void __init setup_virt_paging(void)
>       if ( pa_range >= ARRAY_SIZE(pa_range_info) || !pa_range_info[pa_range].pabits )
>           panic("Unknown encoding of ID_AA64MMFR0_EL1.PARange %x\n", pa_range);
>   
> -    val |= VTCR_PS(pa_range);
> +#ifdef CONFIG_ARM_64
>       val |= VTCR_TG0_4K;
> +    val |= VTCR_PS(pa_range);
Why is this moved rather than adding #ifdef a line before?

>   
>       /* Set the VS bit only if 16 bit VMID is supported. */
>       if ( MAX_VMID == MAX_VMID_16_BIT )
>           val |= VTCR_VS;
> -    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;
> @@ -2342,6 +2340,10 @@ void __init setup_virt_paging(void)
>              pa_range_info[pa_range].pabits,
>              ( MAX_VMID == MAX_VMID_16_BIT ) ? 16 : 8);
>   #endif
> +
> +    val |= VTCR_SL0(pa_range_info[pa_range].sl0);
> +    val |= VTCR_T0SZ(pa_range_info[pa_range].t0sz);
> +
>       printk("P2M: %d levels with order-%d root, VTCR 0x%"PRIregister"\n",
>              4 - P2M_ROOT_LEVEL, P2M_ROOT_ORDER, val);
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 21:45:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 21:45:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516901.801774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pi05H-0006jV-To; Thu, 30 Mar 2023 21:45:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516901.801774; Thu, 30 Mar 2023 21:45: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 1pi05H-0006jO-R2; Thu, 30 Mar 2023 21:45:27 +0000
Received: by outflank-mailman (input) for mailman id 516901;
 Thu, 30 Mar 2023 21:45: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 1pi05F-0006jF-PN
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 21:45: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 1pi05F-0003rV-5p; Thu, 30 Mar 2023 21:45:25 +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 1pi05E-0004ey-W6; Thu, 30 Mar 2023 21:45: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:Subject:
	From:References:Cc:To:MIME-Version:Date:Message-ID;
	bh=E7RTxC8u2YBM+KkLz9rVVyHulWD1jNs+F06vVX2aM8k=; b=xwq/sVnJpFLjP3w8291NjFf+6E
	B5SNr+lmnjCWZSgDOqFNawhdkBVLNo2Vs3nIPkauYX8QwVRf5oLN7QHJDedkx4FqfSQ+4sEBS5V78
	10T6la2wgsO7jOXMhlj26y9hyKUWikUyxXT3/XCuZZ0PF57+2ddMiOYSlveMNMK5+ePM=;
Message-ID: <22ce7663-e63c-a3b8-9444-8f43cc4620c4@xen.org>
Date: Thu, 30 Mar 2023 22:45:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
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,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, jbeulich@suse.com,
 wl@xen.org, rahul.singh@arm.com
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-12-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
Subject: Re: [XEN v4 11/11] xen/arm: p2m: Enable support for 32bit IPA for
 ARM_32
In-Reply-To: <20230321140357.24094-12-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 21/03/2023 14:03, Ayan Kumar Halder wrote:
> The pabits, t0sz, root_order and sl0 values are the same as those for
> ARM_64.

To me this read as the line should be common. But you still duplicate it.

In any case, you should justify this change with a pointer to the Arm 
Arm. Not just saying they are common.

> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> 
> Changes from -
> 
> v1 - New patch.
> 
> v2 - 1. Added Ack.
> 
> v3 - 1. Dropped Ack.
> 2. Rebased the patch based on the previous change.
> 
>   xen/arch/arm/p2m.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
> index f34b6e6f11..20beecc6e8 100644
> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -2272,8 +2272,9 @@ void __init setup_virt_paging(void)
>           unsigned int sl0;    /* Desired SL0, maximum in comment */
>       } pa_range_info[] __initconst = {
>   #ifdef CONFIG_ARM_32
> -        [0] = { 40,      24/*24*/,  1,          1 },
> -        [1] = { 0 } /* Invalid */
> +        [0] = { 32,      32/*32*/,  0,          1 },

As I pointed out in one of the previous version, the root order is 
different than ...

> +        [1] = { 40,      24/*24*/,  1,          1 },

... here. Yet, you still keep P2M_ROOT_ORDER and P2M_ROOT_LEVEL 
hardcoded. Your previous patch wants to define p2M_root_order and 
p2m_root_level (lower-case intended). IOW making more code common 
between arm64 and arm32.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 21:47:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 21:47:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516904.801783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pi06y-0007Gh-AN; Thu, 30 Mar 2023 21:47:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516904.801783; Thu, 30 Mar 2023 21: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 1pi06y-0007Ga-7U; Thu, 30 Mar 2023 21:47:12 +0000
Received: by outflank-mailman (input) for mailman id 516904;
 Thu, 30 Mar 2023 21:47:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1pi06x-0007GU-Gj
 for xen-devel@lists.xenproject.org; Thu, 30 Mar 2023 21:47:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1pi06x-0003td-0C; Thu, 30 Mar 2023 21:47:11 +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 1pi06w-0004hr-R2; Thu, 30 Mar 2023 21:47:10 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
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=97g3XpLbWw5XWFYatjuYCInqYISRqOwIfCv15mU9DD0=; b=nkoaAL713zUa+IHu6Zrjeih3Bp
	myZpbBofVmMrkf/vDNZTc0hJVnfulJnM3+sDhckqXABvFB3WzDQAgAXp4Cr/jAVbWZ4cEc4neJzZV
	DOh7F9I7KAgniQQeq721cv5+H/qLo0TUctvJy6b4zLKB75aSq/s9Y7gmanw5y1uWF60Y=;
Message-ID: <f8507422-884b-5510-444a-ee87bf97eba9@xen.org>
Date: Thu, 30 Mar 2023 22:47:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: [XEN v4 10/11] xen/arm: p2m: Use the pa_range_info table to
 support Arm_32 and Arm_64
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,
 andrew.cooper3@citrix.com, george.dunlap@citrix.com, jbeulich@suse.com,
 wl@xen.org, rahul.singh@arm.com
References: <20230321140357.24094-1-ayan.kumar.halder@amd.com>
 <20230321140357.24094-11-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230321140357.24094-11-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 21/03/2023 14:03, Ayan Kumar Halder wrote:
>       /* Choose suitable "pa_range" according to the resulted "p2m_ipa_bits". */
>       for ( i = 0; i < ARRAY_SIZE(pa_range_info); i++ )
> @@ -2324,14 +2323,13 @@ void __init setup_virt_paging(void)
>       if ( pa_range >= ARRAY_SIZE(pa_range_info) || !pa_range_info[pa_range].pabits )
>           panic("Unknown encoding of ID_AA64MMFR0_EL1.PARange %x\n", pa_range);
>   
> -    val |= VTCR_PS(pa_range);
> +#ifdef CONFIG_ARM_64
>       val |= VTCR_TG0_4K;
> +    val |= VTCR_PS(pa_range);
>   
>       /* Set the VS bit only if 16 bit VMID is supported. */
>       if ( MAX_VMID == MAX_VMID_16_BIT )
>           val |= VTCR_VS;
> -    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;

As mentioned in the next patch, this now wants to be outside of the 
ARM_64 specific section because at least the root order will be 
different. The root level is the same, but I think you would be better 
if this is moved out at the same time.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 21:59:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 21:59:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516907.801794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pi0Ig-0000Pa-D5; Thu, 30 Mar 2023 21:59:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516907.801794; Thu, 30 Mar 2023 21: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 1pi0Ig-0000PT-9l; Thu, 30 Mar 2023 21:59:18 +0000
Received: by outflank-mailman (input) for mailman id 516907;
 Thu, 30 Mar 2023 21:59:17 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pi0If-0000PJ-5J; Thu, 30 Mar 2023 21:59:17 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pi0Ie-00049X-Ua; Thu, 30 Mar 2023 21:59: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 1pi0Ie-00065u-El; Thu, 30 Mar 2023 21:59:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pi0Ie-0001Ft-BT; Thu, 30 Mar 2023 21:59:16 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=MggUPg63SzWgXPK0wgxAlI6STB47rLtBS3TUjXPeLpw=; b=s0Hz/4sfLvWw2BeVKHdHOLytgc
	wd4T2SPVfMwyjtqmz6PHSaGhll7OpR3y116bXvF9RrFRl9SRPJx+OKZfdOMp4J2OPAU0oEKu0T4vv
	xrMMkFAsmczsNxpA57JqBVS+RXt5IgRZG1YtX651dpCA1tGAoHBX4ywFBTE9pkTteeVo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180072-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 180072: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:xen-boot:fail:regression
    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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=64c21916167e6269280929fab1202537b54b13cf
X-Osstest-Versions-That:
    xen=12c5eea3ca6fa2674726d62cc9f369f81861d23f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 21:59:16 +0000

flight 180072 xen-unstable-smoke real [real]
flight 180075 xen-unstable-smoke real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180072/
http://logs.test-lab.xenproject.org/osstest/logs/180075/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-libvirt      8 xen-boot                 fail REGR. vs. 180068

Tests which did not succeed, but are not blocking:
 test-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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  64c21916167e6269280929fab1202537b54b13cf
baseline version:
 xen                  12c5eea3ca6fa2674726d62cc9f369f81861d23f

Last test of basis   180068  2023-03-30 16:01:56 Z    0 days
Testing same since   180072  2023-03-30 20:00:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 64c21916167e6269280929fab1202537b54b13cf
Author: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Date:   Tue Mar 21 14:03:47 2023 +0000

    xen/arm: Use the correct format specifier
    
    1. One should use 'PRIpaddr' to display 'paddr_t' variables. However,
    while creating nodes in fdt, the address (if present in the node name)
    should be represented using 'PRIx64'. This is to be in conformance
    with the following rule present in https://elinux.org/Device_Tree_Linux
    
    . node names
    "unit-address does not have leading zeros"
    
    As 'PRIpaddr' introduces leading zeros, we cannot use it.
    
    So, we have introduced a wrapper ie domain_fdt_begin_node() which will
    represent physical address using 'PRIx64'.
    
    2. One should use 'PRIx64' to display 'u64' in hex format. The current
    use of 'PRIpaddr' for printing PTE is buggy as this is not a physical
    address.
    
    Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Julien Grall <jgrall@amazon.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 23:50:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 23:50:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516916.801813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pi21m-0003Av-Pj; Thu, 30 Mar 2023 23:49:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516916.801813; Thu, 30 Mar 2023 23: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 1pi21m-0003Ao-N1; Thu, 30 Mar 2023 23:49:58 +0000
Received: by outflank-mailman (input) for mailman id 516916;
 Thu, 30 Mar 2023 23:49:57 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1pi21l-0003Ae-8T; Thu, 30 Mar 2023 23:49: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 1pi21l-0007xb-5O; Thu, 30 Mar 2023 23:49: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 1pi21k-00041c-VH; Thu, 30 Mar 2023 23:49:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pi21k-0007rq-Ur; Thu, 30 Mar 2023 23:49:56 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=grwAg1fZ16O21Qy+tt6mHTklhdOOG4v3kbOAfESx71s=; b=7PCkOITprKjC0/oVS59RwInLeo
	9mHePxdKxuGlbDzbIHsEXPZGjl04cur/jGFH2kXqHwHLYzmGnsv+XmMssslHlU86DBi4m/DRyrXSm
	sxc+NhyLZmYLowhNRTUo98ch18w/H5njZha2yFuUibzIDj0xa5ry3XC99K7NlsoRCoN4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180076-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 180076: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=64c21916167e6269280929fab1202537b54b13cf
X-Osstest-Versions-That:
    xen=12c5eea3ca6fa2674726d62cc9f369f81861d23f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 23:49:56 +0000

flight 180076 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180076/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  64c21916167e6269280929fab1202537b54b13cf
baseline version:
 xen                  12c5eea3ca6fa2674726d62cc9f369f81861d23f

Last test of basis   180068  2023-03-30 16:01:56 Z    0 days
Testing same since   180072  2023-03-30 20:00:24 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   12c5eea3ca..64c2191616  64c21916167e6269280929fab1202537b54b13cf -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Mar 30 23:55:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Mar 2023 23:55:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516921.801823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pi27J-0004dq-EN; Thu, 30 Mar 2023 23:55:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516921.801823; Thu, 30 Mar 2023 23: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 1pi27J-0004dj-Aa; Thu, 30 Mar 2023 23:55:41 +0000
Received: by outflank-mailman (input) for mailman id 516921;
 Thu, 30 Mar 2023 23:55: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 1pi27I-0004dZ-6C; Thu, 30 Mar 2023 23:55: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 1pi27I-00084E-42; Thu, 30 Mar 2023 23:55: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 1pi27H-0004kI-Ls; Thu, 30 Mar 2023 23:55:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pi27H-0003Oj-LT; Thu, 30 Mar 2023 23: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=sjOvP4UB6Gx0pvmtoYRsLEHBRdDPpyLMsoQgxNfgGyc=; b=4KaWygFMzNLnrhwjGS7xscGezJ
	Efz1YtYOYVBcNZ7nBqdNSR4mVpWDWJgnxyiMpY6LjwSY21u+egTyVJ27X5OUfmc7nBDrJOPWwCB3A
	es9RWAgl0MxSSoYqSOFckOdnpNuVBxns1dhzYX5tIArwe1rvPk6opv2UJKf7KKbVhYQA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180074-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180074: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=b08a19eae28e76fb5a296a604c27d06fab29b08a
X-Osstest-Versions-That:
    ovmf=e9e61671237e10f7d7672ff74e8907941a954c1d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Mar 2023 23:55:39 +0000

flight 180074 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180074/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 b08a19eae28e76fb5a296a604c27d06fab29b08a
baseline version:
 ovmf                 e9e61671237e10f7d7672ff74e8907941a954c1d

Last test of basis   180070  2023-03-30 17:40:41 Z    0 days
Testing same since   180074  2023-03-30 20:41:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ard Biesheuvel <ardb@kernel.org>
  Michael D Kinney <michael.d.kinney@intel.com>

jobs:
 build-amd64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Pushing revision :

To xenbits.xen.org:/home/xen/git/osstest/ovmf.git
   e9e6167123..b08a19eae2  b08a19eae28e76fb5a296a604c27d06fab29b08a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 02:10:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 02:10:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516927.801836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pi4D3-00007x-Kw; Fri, 31 Mar 2023 02:09:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516927.801836; Fri, 31 Mar 2023 02:09: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 1pi4D3-00007i-Ej; Fri, 31 Mar 2023 02:09:45 +0000
Received: by outflank-mailman (input) for mailman id 516927;
 Fri, 31 Mar 2023 02: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 1pi4D1-00007H-Az; Fri, 31 Mar 2023 02: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 1pi4D1-0003Fj-7G; Fri, 31 Mar 2023 02:09: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 1pi4D0-0001pj-OO; Fri, 31 Mar 2023 02:09:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pi4D0-0003zh-Nu; Fri, 31 Mar 2023 02: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=feGSHsi5ZwMSlvE9aKjILYSuTcOfIXsd108O1Q3ogxE=; b=oU3Ypr5q9/iSTltgGFDCMMipti
	Pg7WCN+dXJ4+Yx7zgbbO94QHKo0EGjfcjVp+3psdVpmJzZJ6lIxx2RjQGZZre1bYaM7fj/hSIGTK4
	Cm9j5LPn71kCUSCkdqiOzP/pOMjN+MVPgBBpGAi/5lB+fcw06/UzS3vUeYXFX+tD9jYQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180066-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 180066: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-5.4:test-amd64-i386-examine-bios:xen-install:fail:heisenbug
    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-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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-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-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl: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-xl-credit2: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: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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-5.4:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-5.4:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=09b1a76e7879184fb35d71a221cae9451b895fff
X-Osstest-Versions-That:
    linux=6849d8c4a61a93bb3abf2f65c84ec1ebfa9a9fb6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 31 Mar 2023 02:09:42 +0000

flight 180066 linux-5.4 real [real]
flight 180079 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180066/
http://logs.test-lab.xenproject.org/osstest/logs/180079/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine-bios  6 xen-install         fail pass in 180079-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179870
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179870
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179870
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179870
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179870
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179870
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179870
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179870
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179870
 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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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-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-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                09b1a76e7879184fb35d71a221cae9451b895fff
baseline version:
 linux                6849d8c4a61a93bb3abf2f65c84ec1ebfa9a9fb6

Last test of basis   179870  2023-03-22 12:45:03 Z    8 days
Testing same since   180066  2023-03-30 13:12:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Rishabh Bhatnagar <risbhat@amazon.com>

jobs:
 build-amd64-xsm                                              pass    
 build-arm64-xsm                                              pass    
 build-i386-xsm                                               pass    
 build-amd64                                                  pass    
 build-arm64                                                  pass    
 build-armhf                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-i386-examine-bios                                 fail    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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
   6849d8c4a61a..09b1a76e7879  09b1a76e7879184fb35d71a221cae9451b895fff -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 05:39:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 05:39:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516932.801845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pi7TM-0005VD-BV; Fri, 31 Mar 2023 05:38:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516932.801845; Fri, 31 Mar 2023 05:38: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 1pi7TM-0005V6-8O; Fri, 31 Mar 2023 05:38:48 +0000
Received: by outflank-mailman (input) for mailman id 516932;
 Fri, 31 Mar 2023 05:38: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 1pi7TL-0005Uw-7H; Fri, 31 Mar 2023 05:38: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 1pi7TL-00023L-3J; Fri, 31 Mar 2023 05:38: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 1pi7TK-0006S6-Lh; Fri, 31 Mar 2023 05:38:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pi7TK-0000Wc-LF; Fri, 31 Mar 2023 05:38:46 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=t1GohCs/pRQUCuS4b093PPq8K77tAtyPHpZHZXKHG6Q=; b=m6/Djvid+AklURumJ+0QfK667F
	IoaHQRgNroIjD2+zA9rHCPyi6sCWpIY+svE6rohBr5LdxEmMymAHACI74+nh7GHBGNAlJgz+OjaQ9
	OC1HHwcbnl8nZwGwYA5TvunX7wyl8dQCvPQyidwxKNfTtTocfIyR74NIdIHXbWYZV+1k=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180069-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 180069: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-credit1:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-multivcpu:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-xsm:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl:guest-localmigrate:fail:regression
    linux-linus:test-amd64-amd64-xl-pvhv2-amd:guest-start:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start:fail:regression
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-shadow:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-pair:guest-start/debian:fail:regression
    linux-linus:test-amd64-coresched-amd64-xl:guest-saverestore.2:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:guest-saverestore.2:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:guest-stop:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:guest-start:fail:regression
    linux-linus:test-arm64-arm64-xl:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:guest-localmigrate/x10:fail:regression
    linux-linus:test-amd64-amd64-xl-credit2:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt:guest-start:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-ovmf-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-debianhvm-amd64:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:debian-hvm-install:fail:regression
    linux-linus:test-amd64-amd64-xl-pvshim:guest-start:fail:regression
    linux-linus:test-amd64-amd64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-pygrub:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-libvirt-qcow2:debian-di-install:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:debian-hvm-install:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:debian-di-install:fail:regression
    linux-linus:test-amd64-amd64-xl-rtds:guest-start/debian.repeat:fail:allowable
    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-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=8bb95a1662f8b97c443984550a7aefbe5a1a064e
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 31 Mar 2023 05:38:46 +0000

flight 180069 linux-linus real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180069/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-credit1  17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-pair        25 guest-start/debian       fail REGR. vs. 178042
 test-amd64-amd64-freebsd12-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-intel 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl-multivcpu 17 guest-saverestore       fail REGR. vs. 178042
 test-amd64-amd64-xl-xsm      17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-amd 14 guest-start           fail REGR. vs. 178042
 test-amd64-amd64-xl          18 guest-localmigrate       fail REGR. vs. 178042
 test-amd64-amd64-xl-pvhv2-amd 14 guest-start             fail REGR. vs. 178042
 test-amd64-amd64-freebsd11-amd64 13 guest-start          fail REGR. vs. 178042
 test-amd64-amd64-dom0pvh-xl-intel 14 guest-start         fail REGR. vs. 178042
 test-amd64-amd64-xl-shadow  22 guest-start/debian.repeat fail REGR. vs. 178042
 test-amd64-amd64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-pair 25 guest-start/debian      fail REGR. vs. 178042
 test-amd64-coresched-amd64-xl 19 guest-saverestore.2     fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm 17 guest-saverestore.2 fail REGR. vs. 178042
 test-arm64-arm64-xl-thunderx 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit1  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-xsm      17 guest-stop               fail REGR. vs. 178042
 test-arm64-arm64-libvirt-xsm 14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl-credit2  14 guest-start              fail REGR. vs. 178042
 test-arm64-arm64-xl          14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 18 guest-localmigrate/x10 fail REGR. vs. 178042
 test-amd64-amd64-xl-credit2  17 guest-saverestore        fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-intel 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-libvirt     14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-ovmf-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-qemuu-nested-amd 12 debian-hvm-install  fail REGR. vs. 178042
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 12 debian-hvm-install fail REGR. vs. 178042
 test-amd64-amd64-xl-pvshim   14 guest-start              fail REGR. vs. 178042
 test-amd64-amd64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-pygrub      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-libvirt-qcow2 12 debian-di-install      fail REGR. vs. 178042
 test-arm64-arm64-xl-vhd      12 debian-di-install        fail REGR. vs. 178042
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict 12 debian-hvm-install fail REGR. vs. 178042
 test-arm64-arm64-libvirt-raw 12 debian-di-install        fail REGR. vs. 178042

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds    22 guest-start/debian.repeat fail REGR. vs. 178042

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 test-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                8bb95a1662f8b97c443984550a7aefbe5a1a064e
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   37 days
Failing since        178093  2023-02-22 05:02:47 Z   37 days   67 attempts
Testing same since   180069  2023-03-30 17:16:20 Z    0 days    1 attempts

------------------------------------------------------------
2287 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 build-i386-libvirt                                           pass    
 build-amd64-pvops                                            pass    
 build-arm64-pvops                                            pass    
 build-armhf-pvops                                            pass    
 build-i386-pvops                                             pass    
 test-amd64-amd64-xl                                          fail    
 test-amd64-coresched-amd64-xl                                fail    
 test-arm64-arm64-xl                                          fail    
 test-armhf-armhf-xl                                          starved 
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm           fail    
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm        fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 fail    
 test-amd64-amd64-libvirt-xsm                                 fail    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      fail    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                fail    
 test-amd64-amd64-dom0pvh-xl-amd                              fail    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    fail    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    fail    
 test-amd64-amd64-freebsd11-amd64                             fail    
 test-amd64-amd64-freebsd12-amd64                             fail    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         fail    
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  fail    
 test-arm64-arm64-xl-credit1                                  fail    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  fail    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        fail    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 test-amd64-amd64-qemuu-nested-intel                          fail    
 test-amd64-amd64-xl-pvhv2-intel                              fail    
 test-amd64-amd64-dom0pvh-xl-intel                            fail    
 test-amd64-amd64-libvirt                                     fail    
 test-armhf-armhf-libvirt                                     starved 
 test-amd64-amd64-xl-multivcpu                                fail    
 test-armhf-armhf-xl-multivcpu                                starved 
 test-amd64-amd64-pair                                        fail    
 test-amd64-amd64-libvirt-pair                                fail    
 test-amd64-amd64-xl-pvshim                                   fail    
 test-amd64-amd64-pygrub                                      fail    
 test-amd64-amd64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               starved 
 test-amd64-amd64-libvirt-raw                                 fail    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     fail    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             fail    
 test-amd64-amd64-xl-shadow                                   fail    
 test-arm64-arm64-xl-thunderx                                 fail    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      fail    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

(No revision log; it would be 268540 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 05:48:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 05:48:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516938.801856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pi7cj-00073n-DV; Fri, 31 Mar 2023 05:48:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516938.801856; Fri, 31 Mar 2023 05: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 1pi7cj-00073g-AN; Fri, 31 Mar 2023 05:48:29 +0000
Received: by outflank-mailman (input) for mailman id 516938;
 Fri, 31 Mar 2023 05:48: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 1pi7ci-00073W-Ic; Fri, 31 Mar 2023 05:48: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 1pi7ci-0002Vu-Eo; Fri, 31 Mar 2023 05:48: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 1pi7ci-0006lG-0v; Fri, 31 Mar 2023 05:48:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1pi7ci-0006WU-0T; Fri, 31 Mar 2023 05:48: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=Jw+OyHOpISDR1H68D7jBMAx5b7YRHpNArX8uXjz3k+E=; b=5EGQmxpF8xo9Zg6iHGX+F5z0B4
	yoSFKB6l/aUsZuWMZi0ELJZd6FwiuAnxHcUfzU11fOgLXNCtjWvnarfN6TMVIcga6lojI8RdAy5WK
	4rD/bZIbZfMRoGeV3Ia7MbhAjtEYqtOmR/E2sXdAFnJzNxGZ7VUztbHpCBXcOdq9PRvw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180073-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 180073: regressions - trouble: blocked/fail/pass/starved
X-Osstest-Failures:
    xen-unstable:build-arm64-pvops:kernel-build: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-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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: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-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-libvirt-qemuu-debianhvm-amd64-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=12c5eea3ca6fa2674726d62cc9f369f81861d23f
X-Osstest-Versions-That:
    xen=eef4608fe71feddb5fea86678cf3acaf84d10fd2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 31 Mar 2023 05:48:28 +0000

flight 180073 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180073/

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. 180062

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-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 180062
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 180062
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 180062
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 180062
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 180062
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 180062
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 180062
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 180062
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 180062
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  12c5eea3ca6fa2674726d62cc9f369f81861d23f
baseline version:
 xen                  eef4608fe71feddb5fea86678cf3acaf84d10fd2

Last test of basis   180062  2023-03-30 05:16:10 Z    1 days
Testing same since   180073  2023-03-30 20:38:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@cloud.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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                              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-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 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                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                      starved 
 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 12c5eea3ca6fa2674726d62cc9f369f81861d23f
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Feb 6 20:06:45 2023 +0000

    tools/ocaml/mmap: Drop the len parameter from Xenmmap.write
    
    Strings in Ocaml carry their own length.  Absolutely nothing good can come
    from having caml_string_length(data) be different to len.
    
    Use the appropriate accessor, String_val(), but retain the workaround for the
    Ocaml -safe-string constness bug in the same way as we've done elsewhere in
    Xen.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>

commit f41c88a6fca59f99a2eb5e7ed3d90ab7bca08b1b
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Mar 30 13:07:16 2023 +0200

    x86emul: pull permission check ahead for REP INS/OUTS
    
    Based on observations on a fair range of hardware from both primary
    vendors even zero-iteration-count instances of these insns perform the
    port related permission checking first.
    
    Fixes: fe300600464c ("x86: Fix emulation of REP prefix")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 06:52:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 06:52:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516944.801869 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pi8cC-0005m2-7L; Fri, 31 Mar 2023 06:52:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516944.801869; Fri, 31 Mar 2023 06: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 1pi8cC-0005lv-42; Fri, 31 Mar 2023 06:52:00 +0000
Received: by outflank-mailman (input) for mailman id 516944;
 Fri, 31 Mar 2023 06:51: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=XLms=7X=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1pi8cA-0005lp-RV
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 06:51:59 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20605.outbound.protection.outlook.com
 [2a01:111:f400:fe16::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84cf8920-cf90-11ed-b464-930f4c7d94ae;
 Fri, 31 Mar 2023 08:51:55 +0200 (CEST)
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com (2603:10a6:803:122::25)
 by VI1PR04MB7102.eurprd04.prod.outlook.com (2603:10a6:800:124::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.23; Fri, 31 Mar
 2023 06:51:50 +0000
Received: from VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b]) by VE1PR04MB6560.eurprd04.prod.outlook.com
 ([fe80::154e:166d:ec25:531b%6]) with mapi id 15.20.6222.033; Fri, 31 Mar 2023
 06: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: 84cf8920-cf90-11ed-b464-930f4c7d94ae
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LJQTRMiPuYZhCH1kh9+ACJ/VZmDGliGJT+URu9x9w3FcxyPxggTiXHWIVi+IyFDycxG3R0aA6sjOdNZobw3FKbS+tmzGfhw7J7be+dAub4cxaX9LipkoAis02E2X/fhilt5nm0VcxjNGSc5U7TKRpFlC7/9ctQbO1LaAwKr4Bgp+zf0ciyuFh0klDnbCg2etUZfoffp+bCi3SbUOYs488KMmWAvYfggKcgOEk08e7Z88UwCjovdASEP00TtWZOyleIKHoDOQ043szuh6IPomRFomdpsfuyg3tcEJOY3tskqrzlh2Y9xXFDI3kYRX8pME7tAljS/TAbqlXx57nQ0pvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P6trnKtko8ZbHqiRaYgoPgjyTwZDnxJcvnhRnJ+ZYDA=;
 b=HSauT+VIjF7Rm3Vs5nR/a7Ls8mhyb2pH9cMxkJnsjxs1xr4JWw9EkMH2JagFVt306pt6j3hUz7p/WVj7MC2B+jTKZi0F0JomPq+pZQSA1VKhyrGPPTUkONQuKVbodIUHuWFSuHeWAplWXxsa6BxOjiZ6g+rJ5H3XDuYbzWesFJH00cdsjdWPDO+vGXzGgPz5Kcjv6vOrQyvwM5MqP4nv8E6RMQynM1gevDzx3QBerKz6rDMN4bwDxwyK+kcdQuMoJ8JLB1XAwB+AFRRflb6DZlcxag/lvKD2fv5xIVZx6blxMejaUL3bfOWpl17jHuA2+bR1UXD1T8zNRcQ1gzGcFA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=P6trnKtko8ZbHqiRaYgoPgjyTwZDnxJcvnhRnJ+ZYDA=;
 b=JlJZwnO3vA0KZwpLX2xVbGUwpplAK9ye9Pzn1sOS8xGsmM0iXJV2tALc6t+fa24B0LwS/B13uQsS1vAZYmYxGLHwwg24vM6oRYLv2kix6Ym17liRIq+KFB4pu/3qKOfOActVqoJh3sPk1WptycNlF9ufJuTM1VpGRcYfwHyANA7JTpAUbkAv1xUsrhg5wUfviC8sjH0Eqpd2eseJTC+IF5jYreqx2bxLfH0XYqMxdyELkBWYicDaMXJJYHSRnerrfft5BXLxJAo863aO3Q+L5M8kdd0EPvaJDL+86Lc/VnfTj7+qbYRluXz6Z0NGHr0FovxVJHfs9xIOEpv5WqTZAw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6dcc187a-5e81-2f36-4104-d9caac148cdd@suse.com>
Date: Fri, 31 Mar 2023 08:51:46 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
Subject: Re: [PATCH 2/5] efi: only set a console mode if the current one is
 invalid
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: marmarek@invisiblethingslab.com, xen-devel@lists.xenproject.org
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-3-roger.pau@citrix.com>
 <c62446e1-8e47-5fa9-1c7b-a441d38711e6@suse.com>
 <ZCWuYjP7L4obvXt9@Air-de-Roger>
 <50fe2ff9-9633-1cbb-4afb-b577778d3edd@suse.com>
 <ZCW2IHKP4GHNmBuk@Air-de-Roger>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZCW2IHKP4GHNmBuk@Air-de-Roger>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0096.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::9) To VE1PR04MB6560.eurprd04.prod.outlook.com
 (2603:10a6:803:122::25)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: VE1PR04MB6560:EE_|VI1PR04MB7102:EE_
X-MS-Office365-Filtering-Correlation-Id: f82b17d1-a3c8-42c7-75d1-08db31b4660a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Vdaf+hxC/BpkKOZw7G9okviQP/7r2tZ5d5nvFwbYUU0rnvPU1LThbuSqV/Zq6Qy5zOCrg5DB3VBe6rmGl3G2ZaGurGNz1g0nBAPNSLIgMetmGqZHksl4CLT9Zp+QotfrsDLpfh7+fufIKqSaAXyUqsV14b+8qz83nJMuDsuWO8gy5HTDwz5uV8UHSOH/269CaytFvYX3fTjb2oRi7PkNqr44UB+XzTi/FeQEZp98MbXdYvoAc741bShTmWnDbHkMZ7jknVWgyVIojjvJqHEXbdO09Vv03H2poU+jsgz+OmTe95LSIkIGqpahswAPDa8q81V+Zakacl1kckdg38tiDiHfUzxOE/RVZXeghvVTroKhh42zAcEAqkj6cFdEPCBa0pA+W1X14PsgZvXciNOW3lgJvMegNyNdZJno/drbRLDPd2hA4RLaN/tgTahukBMem1KNB7Rvv/9SsEaho2Dqb0vqhnZqRLWg+OXJ+bj1FdOIxrcLgtq2dvAQd+hNUfuMJrbdkwi8yLRAijnkqansOWSirileLsja9tdLIcBSXJ31RuQzuILjkuYvS8/KGg0BlEGoKT//Iw6hW8ogiKTujITMzQfNREx/q3EoLwKkn2cUEVOabulkUpnlr0yQS36rjqAt4Q/uS1JZOEjpetnVNQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VE1PR04MB6560.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(39850400004)(366004)(396003)(346002)(376002)(136003)(451199021)(83380400001)(186003)(36756003)(6506007)(6512007)(53546011)(31686004)(66946007)(66476007)(66556008)(4326008)(6916009)(478600001)(41300700001)(8676002)(8936002)(5660300002)(38100700002)(2906002)(6486002)(26005)(2616005)(316002)(86362001)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UWkrcWpDNXU1KzNOa1RDdU1HcmFTMmdzZGoxeHd0U2RJTThXaTZ3cU1SRGwx?=
 =?utf-8?B?WS94REQ3WUt4VmFsaG92dkhvTmhhbkV0T2ZvREN6aXlRUTcybmlQWUt4YU1K?=
 =?utf-8?B?ZDAwcUJObGkzdndZWUc5eUlXdk9VWHQyWkYyUUlIUjdDdEcwU0xOZ3RkbGUz?=
 =?utf-8?B?cE13WXVYbTR3RXdOL1FJendObUt4U3ZFeXZXRXIyV1dlM2E0TTI2S3NISFB6?=
 =?utf-8?B?TC9CcHJzRUFtdFFFcTYyVFVCMm5icEFrREF0WjgzUXVSR1drNGlRTVFlS0Vv?=
 =?utf-8?B?RSt0WUZCVEVhUmszZGdnM1grL08wVDExWEVhT1I3Z3NQQ3lFVXpBM1NkdnN0?=
 =?utf-8?B?V0dPc2l1M1ZLQUErYVB3SHNYenJLcWxiMk9FcjlYbHBsdzZOa2hiOUhCQk5m?=
 =?utf-8?B?RlZ2T3NFMXhrck0vaFYyWW9OK1F2ZzZWSW1paVZLV1ZQZFlRM043S2VvSVFa?=
 =?utf-8?B?NlRONk9ob0dGd2xKOHhNRU4xWHFaRmhqQSszYUxyU0xTSjFkYWtxcmppY29Y?=
 =?utf-8?B?TGkzS0JaMElLNko2Rk5lYkRHNjZETUsxbmE2R2JUemw5bEw3TlJpNUlhUW53?=
 =?utf-8?B?b3JJeTVlN0dPakxpQnk3Vk9LZG1seTVQQ01WNHpIUW96eU8xc3dUZXh2THZr?=
 =?utf-8?B?S056OFAvUzI1ZjA3eHpjN2k3V2RrYlZPNHc3WHJiZENpVnFkQm1MS0hLNWln?=
 =?utf-8?B?YUpoYTJjNnNhY24yMHZBSytwQXJ1M292T01FZUlEWEpjZ2lYS1FUL0x0M3cx?=
 =?utf-8?B?OWppbENaZXJ6cTF4cWZpdTQyZUkyQXdoMGJhNHc5Q3NlMkVuWUFwWCtFMnV6?=
 =?utf-8?B?VHNzMDZLWWIxdzZ5VXBXYlBwZ0p5YzlWVEpkeGdyNkc0VVE4NWNLVlRER2U0?=
 =?utf-8?B?VkZiaGN5ZzgxNDNBcDBRWElGd2dzMVhORUhiWVRQVjErd1VZdVQ4VVN3dUFo?=
 =?utf-8?B?UUZ1SzBjUlVKQmtVTXBSdllObGFqTjNkOHBzdGZ3Ymx2YmdDK3d4TTlwMkQ5?=
 =?utf-8?B?dVNvVndsWVJTVk9uOEd4Z01lejJOSFc3Wm9yV2k4SE5BdW9VZFNKZjNaVWNq?=
 =?utf-8?B?VTBWa0hKcmxIV3RyaEt3U1poNWF0MWF2akN5dCs0R1RKVERaLzM4cXg1Y2Zn?=
 =?utf-8?B?cFJxRWh4Q1FiNVZKREsyRE9Uei9lMFJ0VHloc05ISGZJWmhuZHF3KzJFUG5a?=
 =?utf-8?B?RnhvTmNUajAxbnFnNkplMUZSQ2xiMVBiY2JIbHZWbUhFc1cxbDYyblZwR0dz?=
 =?utf-8?B?Y2Y0bDJ6ZmhQNlYxa3ZOL0VZTXg1QXcxTGtkNWJVV3JocWcwYTc4dFdUb0JZ?=
 =?utf-8?B?L3RZelYybmFUTmg4dmE2RzJyVEdsZVFkcHVTeFNWbC82MmFRTkFHRjgzYisr?=
 =?utf-8?B?OFpSUUhGRFVZWnNHVTM1NXU0S2creVo1MXVIK1NxRVVNTFhCSjdTWHVwUWVl?=
 =?utf-8?B?aXNNa2kyTVo1NzBwU0JtSm9SVEhVbzkvS1d5OUN6YUNYeDBXTTIvYW44alZx?=
 =?utf-8?B?dnNKV0xSTVZpTFB4R3pzdUltMVpMQjQxOWxtOXU5Q3d6eXlKUXVNVkk2OFJH?=
 =?utf-8?B?QVV6RDM1NHNmejEvdkpTUG1Na3VPc0NDSG9SRGxUV1VyanhENjF3N2pLeHNM?=
 =?utf-8?B?SWdUQU1YNUZmOXpYUXdueWdva29lWHJKK2xhSEgzeVowU1hFWlEwU0pQc0Nm?=
 =?utf-8?B?dE9WSDVZc0QvV1RBN01DNFdhT1JGeUhuNENwem4zdWd3VmFUR1NBSE1iMVFh?=
 =?utf-8?B?c0pFeTZjQ0FBb21sa245enVldWNxeVl6dVZpQkczaUtha3ZSY1FLMHdBb0ty?=
 =?utf-8?B?MHhROEppeHNpWURCT0ZLZFN0ZzdwYVJ0SlhtZVFBYUp2UVBNc1NaV0FKQTZ5?=
 =?utf-8?B?Q1VudFdtelNDL1pNV3JjVUQ5N0hDZ1BiMCtVdlVBK0NYdXh5dFFmdXJxMjd1?=
 =?utf-8?B?WGZkdWtYclRuTm1RaDlmTlg4THE4NjB4UzNRZmZMR1pDYzBZQzI0M3h6UVZ3?=
 =?utf-8?B?dmh2TmVmU1d6Lzkvb3crUFNUaVZEK09pL1phSFpuOUhoU2w5cktpQ3NXSE9G?=
 =?utf-8?B?RTlMWGpPVHVOSVJzcHNMakJSUVB4V2ZCMFdkWXpRVnE5QjZCOTFBelJvS1or?=
 =?utf-8?Q?jgu8sHng5QtYXO5EZDJmiRafo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f82b17d1-a3c8-42c7-75d1-08db31b4660a
X-MS-Exchange-CrossTenant-AuthSource: VE1PR04MB6560.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2023 06:51:48.0719
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: En/otVuu92nVmi09xbvWpzhKkhzw+y7HJ4Ejq9edRUWtVmRSG4K5gEwDOPoOMOsgCkRZR0aPXP8YTE7QuJtbhw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7102

On 30.03.2023 18:17, Roger Pau Monné wrote:
> On Thu, Mar 30, 2023 at 06:07:57PM +0200, Jan Beulich wrote:
>> On 30.03.2023 17:44, Roger Pau Monné wrote:
>>> I guess I'm slightly confused by the usage of both GOP and StdOut, I
>>> would assume if we have a gop, and can correctly initialize it there's
>>> no need to fiddle with StdOut also?
>>
>> Setting the GOP mode is done last before exiting boot services; this
>> may be a graphics mode which doesn't support a text output protocol.
> 
> Right, that's what I was missing.  I assumed that all modes available
> in GOP would be compatible with the ConOut mode.
> 
> Would you be OK with leaving StdOut as-is when booted from multiboot2,
> or there's a chance of things not being properly setup?

On modern UEFI it may be unlikely, but I think it's not impossible (see
below).

> IMO it's not very friendly to change the StdOut mode if not explicitly
> requested, as in the multiboot2 case that gets setup by the
> bootloader.

May get set up, that is. If it was set up, then yes, we probably should
leave it alone unless told to use another mode. I.e. no vga= or
vga=current should minimally result in no further mode change. Aiui we
can't easily honor vga=gfx-... in that case, so leaving the mode alone
there may also be better than trying to guess a mode. The only time
where I would think it would be nice to switch by default even in the
xen.gz case is if the boot loader handed us the screen in some text
mode.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 07:38:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 07:38:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516948.801879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1pi9Kc-0001pX-SX; Fri, 31 Mar 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 516948.801879; Fri, 31 Mar 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 1pi9Kc-0001pQ-PK; Fri, 31 Mar 2023 07:37:54 +0000
Received: by outflank-mailman (input) for mailman id 516948;
 Fri, 31 Mar 2023 07: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=uTo5=7X=citrix.com=prvs=447f045ac=roger.pau@srs-se1.protection.inumbo.net>)
 id 1pi9Kb-0001pK-DD
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 07:37:53 +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 ef5635ea-cf96-11ed-85db-49a42c6b2330;
 Fri, 31 Mar 2023 09:37:51 +0200 (CEST)
Received: from mail-bn7nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 31 Mar 2023 03:37:46 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DS7PR03MB5416.namprd03.prod.outlook.com (2603:10b6:5:2c7::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.23; Fri, 31 Mar
 2023 07:37:44 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Fri, 31 Mar 2023
 07: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: ef5635ea-cf96-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680248270;
  h=date:from:to:cc:subject:message-id:references:
   content-transfer-encoding:in-reply-to:mime-version;
  bh=clWnBxpLLT5C3ApFVuUe5q6p0Jl6UZft2aLPOiBnOGM=;
  b=dn8VzS8M0HltR3E4SV8yV081db0OshKU1hyMXhQwNNwpBPqd9ivpaYoE
   jmI1WbMXT1ILPLzDVail1ShuaXUzl+XHC3pprwymuy+EFuPryA9ene2yx
   lC6VkLk/OUMqzWMWgdopAOxu1FoeNByaUom5CGSECldn9rNK63Dn9jeRZ
   U=;
X-IronPort-RemoteIP: 104.47.70.101
X-IronPort-MID: 104196197
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:WKIEEKpT2y32wMin0CVKyIoKm7xeBmIlZBIvgKrLsJaIsI4StFCzt
 garIBmAM/bYZ2GjLdsja461pkgGsMLTzNI2TwI/pHtgES1D9puZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzCBNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXABsSUzyhocay+7LlEOk0q559IM7ae7pK7xmMzRmBZRonabbqZvySoPV+g3I3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3j+CraYKMEjCJbZw9ckKwv
 GXJ8n6/GhgHHNee1SCE4jSngeqncSbTAdpOTezmr6816LGV7nBDVSwJBUKkmtC8tXeTVOtDM
 UcZ1RN7+MDe82TuFLERRSaQonSJoxodUNp4CPAh5UeGza+8ywOQHG0NVDNCQN0gqs4tRDYu2
 0OJntXmHjhmuvueTnf13qeZq3a+NDYYKUcGZDQYVk0V7t/7uoYxgxnTCNF5H8aIYsbdHDjxx
 3WAqnc4jrBK1coTjfzjpBbAni6moYXPQkgt/ALLU2m57wR/Iom4e4iv7lud5vFFRGqEcmS8U
 LE/s5D2xIgz4VulzkRhnM1l8GmV2su4
IronPort-HdrOrdr: A9a23:OsD+dKv6zf0l9p89Mfu0y+Qu7skD7tV00zEX/kB9WHVpmwKj5r
 +TdZMgpG7JYVcqKQ8dcL+7SdG9qB/nhOdICMwqTNGftUrdyR6VxeJZnO/fKl/balfDH7VmpN
 VdmsFFYbWaZzUX/KWKgjVQUexQp+Vvm5rY+Ns2oU0dMT2CqJsP0y5JTiieGk1yAC9cBZQ4E5
 KYou5KvSCpd3hSTunTPAh/YwEAnbL2fV7dACIuNloC4AmKjTSnrJv7CQXw5GZrb9qH+9dSlF
 QtizaJlZlLrcvLuiPh6w==
X-IronPort-AV: E=Sophos;i="5.98,307,1673931600"; 
   d="scan'208";a="104196197"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B80eWaAhnhD083jL+7eBNK5UTXNORYtLZNM0KnYooxgez9wmV9272iDl2VeZknMxUnxw6jh/xXbLB7tEeoeMN9X24i1zTvveLzf3lAMkuSL3hO7WEqazEBFNU5shxKcH0ZpxrzQd4zEaluCOemlTfB7o8raf1zHQh9NJaNZ4qXuW57pQFgB1QKtu4zI14F00+bkUZzQHVRSHLKYZ+f5wzdB7Ur0PXJa4t79HDh9CJJikp4yoEy3pX869t9AKGagCEA68rVTP3HWasPmYg2P013/N3AJdWQLSYA2UB03DQRL0aJ0u8iYDvwHLEvwGt6hvh+nfpqar/qUQBzix1t7lfg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+aI9uKe9hlSzwKfouteDkfCzenuGzoJ/N2quFscoYNA=;
 b=C+etPsLb1T3QwDYCJqbBYolYvkDopaPiaZM449u84dJPU218Bc1pt3DOYcRhsXcN655MNneqzafQNtmpGi4/QsCfxqzp7HHssStKrNraoZaG/D9YRVhq+0Hz0/K68Jc2wS4FUfMjwe3c9q04EFxhhgzP8x1J94u6Z8WbwSoFiDnXps8ZUa1uNtrrQ4b3S9fJ6LucpwAosbQzLyYOxqTOWhsOOjlBh7mHTm3BGMdpDVRvunrCCjeAORfWS1pcFegHCK/8gj9uN4bZ8xnnQNSzs0lLg5wU5agnrGqscM18HGsJG2UlzpmLz6FjSLA+e2DCQgZtlGFk4TanqCUdr1difw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+aI9uKe9hlSzwKfouteDkfCzenuGzoJ/N2quFscoYNA=;
 b=LiThyoZI2wBHTjwC5X8B9Z+OD/ZOpIIsopwYrRzauI3tv1Y2dut3ikhZPa+kTNZDumPP4e3uxjMwYr3IsTdjnlRpjvAbZCNN0JApWR9SIdyPFbjJr0gFT3FIw8jhZdspdQDYpuRlWxuh21bvCAvO5oHAhiNi/rMl9fp5K8tK1P0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Date: Fri, 31 Mar 2023 09:37:38 +0200
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: marmarek@invisiblethingslab.com, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 2/5] efi: only set a console mode if the current one is
 invalid
Message-ID: <ZCaNwp6dJg5MhRpP@Air-de-Roger>
References: <20221123154525.63068-1-roger.pau@citrix.com>
 <20221123154525.63068-3-roger.pau@citrix.com>
 <c62446e1-8e47-5fa9-1c7b-a441d38711e6@suse.com>
 <ZCWuYjP7L4obvXt9@Air-de-Roger>
 <50fe2ff9-9633-1cbb-4afb-b577778d3edd@suse.com>
 <ZCW2IHKP4GHNmBuk@Air-de-Roger>
 <6dcc187a-5e81-2f36-4104-d9caac148cdd@suse.com>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <6dcc187a-5e81-2f36-4104-d9caac148cdd@suse.com>
X-ClientProxiedBy: LO2P265CA0151.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9::19) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DS7PR03MB5416:EE_
X-MS-Office365-Filtering-Correlation-Id: 83ca5a4e-488d-4184-095c-08db31bad0c6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ir54nCXd35xnMzXPezUEkF+b5WNr1F8nJS2wqkLSH2O0cSCKrb0Yx6Q3B3UT4LoyhWT4iUlotNzUyPbMEkIhb1axJki1mXQOaLiH1R4AV8Ims/dmxuEU/77F5f97cWLSo/6XTexPaE2wL/FyuSu+eA2j3eVyM112JAV27VyHXh0SgkZjhegNNwH/9Vih7DVPt+c21tpSj61XwOYsCYlkleSkHvVYRT2+0TkOqhqOi3zS2/BYFgowq0/W64/4RiP1ZS1a1FtUmsY+CHBgsWnskDKNpYNK/clAmQkDjIXWRdyEpZSWvo+UD+4d9oXXFqVSEDEkIZWMM4hIvmveBoskyvs9gXCm5JCv4SOI9dDNOfUDJ/r/8xwZa1FlKRB1gkA1OI1A4bGUDxQLy3iSQWFPei87A8DRaZ02BdIzZCQwOUjF7aB7ks1cNEb/6hzlwcEDFpSFzlnwaKL0JcHU93+hiHxmwoFuVrQhjdTrdxNmDOv59H9EG6UXr/+8QkEslRuwJZSsugIN7l1/ypYFvWGqq9k6gK6I7mXGl5dC6BBXgGVgQwRf/Y8b6l0EYnPtCWid
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(7916004)(4636009)(136003)(39860400002)(376002)(366004)(396003)(346002)(451199021)(33716001)(53546011)(186003)(6666004)(6512007)(6506007)(83380400001)(26005)(41300700001)(66476007)(66556008)(478600001)(66946007)(316002)(6486002)(6916009)(8676002)(38100700002)(2906002)(82960400001)(85182001)(4326008)(86362001)(5660300002)(8936002)(9686003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZGdaTG9SZ2dRWFMvbVF6QnR1eHllRXYzNG9ydGNoaHFyTmhPVjl4em93L3dl?=
 =?utf-8?B?TTRoOUtNNnZkU3VGbzloYmxzNWNBS0tFTVA5VForM2IvVlBaamU1ZFd5bnpG?=
 =?utf-8?B?eDBSUW5oT05nMENVb2I3ekJOOWlZQ0Q3UE9HWkUyaFNIQ1pJdHBQRlNBZlNY?=
 =?utf-8?B?RTZESS9oV00xTWI0QTBxcGI0VkY1TlR6UmdoUFU2bGVpM0RQT1ZiaG4rbmJh?=
 =?utf-8?B?YWYwNVJBcVJ1S1o1NW5VeTJDbkpZY24wMlh6Vy9iRFpHckhNeGt4d0ZEOVNa?=
 =?utf-8?B?ZlFPV05DUytPK3JiVXBCbWFpdnlzMXFwUzEvOGFGbS9ldjBNeHBGQkl4aWxQ?=
 =?utf-8?B?L1M0c3d5WGNCN3FSRll3aHN0WWswZjhwM0RyblJDY0llcXFMWVdaNW02Zjh1?=
 =?utf-8?B?VkJ1NUQ0T2RsTmpGMDFhdGQ3QWtRRDhmVnJ5RzFYRVpMVFhFdGkxWHl2RHFq?=
 =?utf-8?B?Y1dpNE5vWG9IOHpUUy8rdFRPcDJBN2QvdGpMWC9oSFZIVDE2UjNWbXF3clls?=
 =?utf-8?B?alVkM1lBa3NkTnJiRi9LOVd1cWxROXMzVndZQU1EY3UzVXAxT2tHcjVadm5Z?=
 =?utf-8?B?eXpxeWNibVZQYWllSnVTMXlxK0ZPK255dDJNaHdtLzJSSmUzZ1plS3dXNGNE?=
 =?utf-8?B?Tmk0THA2TlVIQnR3b0hJR0JCc3E4U2plb2ZVLzAvRW43RDVRYlZKNWdoVUly?=
 =?utf-8?B?eldHUlI5RWJPS1pOK3lKZ2xxUW5sc05Fc2Z6OXNCalpCOU8xTUNpS1Y0TXpT?=
 =?utf-8?B?YW1IaDlwWEhDbHkvVnp4SlE0cWdwdGF0RjloMkVXSTBEYVduUUFuRldCMzFP?=
 =?utf-8?B?dkFueXBsNGZ4R2ZVSHJ6bnlwYyszL1pOQTd2dC84a2pFNXpYanAxeFJib2po?=
 =?utf-8?B?RlJyL1JqYmFLa2lSUFJPOUhaZ1dibGNhUWR6RTRzQXMzR1BsNy9sMGx6eW9P?=
 =?utf-8?B?N1YxZks4MktEc2ZXbmoxVDNwNFJNNWJiaGNMODVldlA5OENpWkdZS1RQd09q?=
 =?utf-8?B?NFhIdzFOT0xkeUd4QmNmNFdUS0xLMVpvTjY4V09lMjMxY0FZZlU2bkQ4ZnNy?=
 =?utf-8?B?VEZpM1p4Vkl0U3dSaU8rc3lMLzYxL2F4L0ZYK05hTlBKMTRodXZ4SkJVblFY?=
 =?utf-8?B?bTdZcWl4Ri9nQ0dnS3lKRFFKb0dUajBUVUFweitoOWNBTkw5V0NvR0lpUzky?=
 =?utf-8?B?eTBBN2xEU3BnLzNYVzVRSU1yeHQxZlNsa01NYStPcmxFY0JCZS92YmpZRUNp?=
 =?utf-8?B?M2g2VWJnWjlwc0UyZDdjUWtKUjh0VEZXbkhpOVRPM25QYmdjdW1vY2oxRDM5?=
 =?utf-8?B?cDBqTHJweHUyU1hrNm55cUdMWEhFeEZhWVVSUG16ZDN1WjlMc2I2emNzTXgx?=
 =?utf-8?B?UVFjNHRsWVZQYUw3R291VzRvK21hMS9NTWFoa0pZNlNtNW5sZ2tWUTlhTWN6?=
 =?utf-8?B?aXhJYkxsc3A1R0FLRklXS3ZyZXFlS1ZwNUZESHJ5SFVMbGNpSXZGMjZqQkZ3?=
 =?utf-8?B?QllDL2JQdHRXVGdubnZ6WkZzbXdnWC9OZ0dIL055T2J2eVpnQ2U2dDVBQ2NN?=
 =?utf-8?B?V2MwRXVJWFM0Umk5TXg5SHBPbTdMa08rRDlqSkJORGU5cTh6eWpHUzlBdHVi?=
 =?utf-8?B?anBuNTZDakJGYU5rS1ZIb0Y4N3g5L3R4QlpQdUkzVVBHSVc5TTljZGgwYTNZ?=
 =?utf-8?B?RDdaYlR2a2lMelVtQjZCYzUvUmNwVWlES2hwTkxreFE1MVM0Mm9JVHNyY0Fa?=
 =?utf-8?B?RzNiSjEwSCs2dE9MNHdXMEhPQXkxKzV0ZCtWeXZPRnpLZVJ4MVhsaXJrbUdK?=
 =?utf-8?B?R3pkREk2M0IxR0dLYWZWWmg0THVveElRNkZ2ZTZXMUFOTGVTdklia0hDZzdz?=
 =?utf-8?B?SXdpV2hXZjNOSVN1U0JtY08zb0xlcUJoUkZEbFZUMkJDbzdXMGloRXNVMkNG?=
 =?utf-8?B?bzkwbmhweTZva2MzWWtCbmRtcXYrdWlkc2ZRZVNIUUVoTS9iOFBGZmhTNnFm?=
 =?utf-8?B?QzN2MjBiVlRLRnZGSzNlUGxZQThjUUp2ZTRDa3B6WlJGYitWNC9NWXd1OVhS?=
 =?utf-8?B?akZjZ3FmQzZreWxMTEF2T3dKbmJCVGwyQkp0WEJmaGJhTnNVMy8xeUQ5UmJS?=
 =?utf-8?Q?x+IZ7+1zjaUjRW0vvqC5afui7?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Es8xRueY3Lp6lkSAi+3jQOyurd67jZvDgG8Iij9For6WXwCnsxqEjVqD5kh7n8BeJy1vObOQCjZOXNYyJZ8Sd92pXxK2y5ktVdU86oLtBN1xeC/iyJTFzSbRB3owhLwUge1Qp+2N1by6++i9iheQYDXjFs7d4FxvlzrpedTOX/SXmZOMtetzS+qGDIbOiEfpJMupsJj9Abip9EsSq1xJW9TKNZgj3xAk17YCgMdtn6YezmUEmpt/tXo8LCzY3CejKm8BSTKiPtZWoDjaXwOpBYjV5LHguMBl5d/re2O8F/QTDdpnsh+4+nEA20+x/hdCyBhs63mE1kz9dfk0qhPn0iiBHScNg8UXqWgS/v7MPDxp9WkcmnGLlNUHzxQDFlkp5/JGlImf1GXsyvx0yRB599DKDmlUDWigbygIWaNu4nvcpp/v8Ql/QozkxmuDQjCyOA2aMLsxec6tXwaCecTK3GPhcrF4S8wOoX3LZljPKjdpqafgRfp5kJAiNA2RbwZAjcgLi84u7Tvx0lvg14spBBgJ/52bGCESaheKjclWwHYhNI1NgamFY4Un2/bLiDdsTCoC6bSRVkKrs+9RdCyQoR6xOTeSJU0OpLVmJgZ1WJTRnXpqfStJ+R7EQqt1kA2+EjbSkQNb+EtQv2dWPZdSUuWZ4mg31qpf11CLTR2Jjea7G2bFp2gte/yrp0Fl5B6j5y7npSP/BSYBlt8wHtPIQfe6i3IB0yoln/2N6G5OS35edxEjbNy5BZ6Fzsj7tDCbV/uyjllw+NtHTxRukKkNGyi7d6sOVCpSqEnAQrvbwNK+mQCRO4NAe2XmxbNWwoTjwFX3brZP8FMuWnOvpnQ2/BV8PPSaQ48T+h6L8h3Vn18=
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 83ca5a4e-488d-4184-095c-08db31bad0c6
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2023 07:37:44.1874
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6z+HOqhcWl2ErXntGTefLO4JQgGAQPk35R400qt+zLqDCG8kyWgAY445tp5xWLthnm4s+MpefE2sCA9bz3oILw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5416

On Fri, Mar 31, 2023 at 08:51:46AM +0200, Jan Beulich wrote:
> On 30.03.2023 18:17, Roger Pau Monné wrote:
> > On Thu, Mar 30, 2023 at 06:07:57PM +0200, Jan Beulich wrote:
> >> On 30.03.2023 17:44, Roger Pau Monné wrote:
> >>> I guess I'm slightly confused by the usage of both GOP and StdOut, I
> >>> would assume if we have a gop, and can correctly initialize it there's
> >>> no need to fiddle with StdOut also?
> >>
> >> Setting the GOP mode is done last before exiting boot services; this
> >> may be a graphics mode which doesn't support a text output protocol.
> > 
> > Right, that's what I was missing.  I assumed that all modes available
> > in GOP would be compatible with the ConOut mode.
> > 
> > Would you be OK with leaving StdOut as-is when booted from multiboot2,
> > or there's a chance of things not being properly setup?
> 
> On modern UEFI it may be unlikely, but I think it's not impossible (see
> below).
> 
> > IMO it's not very friendly to change the StdOut mode if not explicitly
> > requested, as in the multiboot2 case that gets setup by the
> > bootloader.
> 
> May get set up, that is. If it was set up, then yes, we probably should
> leave it alone unless told to use another mode. I.e. no vga= or
> vga=current should minimally result in no further mode change. Aiui we
> can't easily honor vga=gfx-... in that case, so leaving the mode alone
> there may also be better than trying to guess a mode. The only time
> where I would think it would be nice to switch by default even in the
> xen.gz case is if the boot loader handed us the screen in some text
> mode.

How would you detect such case?

ConOut is always text-mode like because it's a
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL interface.

Would it be a matter of checking whether the current GOP mode is
valid, and if so leave it as-is unless told otherwise by a command
line parameter?

I would also like to avoid the unconditional resizing of the ConOut
interface that's done in efi_console_set_mode(), as that has the size
effect of changing the GOP mode, so I would only call
efi_console_set_mode() is there's no gop.

Not sure it's meaningful to change the ConOut number of cols/rows if
there's no GOP, maybe it's possible to have some kind of screen that's
usable for EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL but not as a GOP?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 09:56:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 09:56:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516960.801888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piBUV-0007st-W6; Fri, 31 Mar 2023 09:56:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516960.801888; Fri, 31 Mar 2023 09:56: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 1piBUV-0007sm-Sr; Fri, 31 Mar 2023 09:56:15 +0000
Received: by outflank-mailman (input) for mailman id 516960;
 Fri, 31 Mar 2023 09:56: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 1piBUU-0007sc-KE; Fri, 31 Mar 2023 09:56: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 1piBUU-0001GS-IP; Fri, 31 Mar 2023 09:56: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 1piBUU-00026p-55; Fri, 31 Mar 2023 09:56:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1piBUU-0000sc-1I; Fri, 31 Mar 2023 09: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=em22FWZpeP2uUDLr75KF/CwBT6SA1+CswCxxlRBrgpw=; b=LnKJaHCPzLk/OcaulEtQhzur6s
	U6ZP9wi/Dj+EVyMrBBjOmuv1sZ/LEDxuVfCQh7Kat6oc05eN+H40uFulyhszJpgWHCH7zMlxtKQpU
	6CMI3BggidMluGk+XWGwnmRGHCxCWOm8dh+Wf7yJwbUM5shMfAxYXdDHoMthS1NwNgec=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180085-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 180085: tolerable trouble: pass/starved - 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:build-check(1):starved:nonblocking
    xen-unstable-smoke:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=d6e0b4c41a38655ade7ecb566e8b2961282769fb
X-Osstest-Versions-That:
    xen=64c21916167e6269280929fab1202537b54b13cf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 31 Mar 2023 09:56:14 +0000

flight 180085 xen-unstable-smoke real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180085/

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           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  d6e0b4c41a38655ade7ecb566e8b2961282769fb
baseline version:
 xen                  64c21916167e6269280929fab1202537b54b13cf

Last test of basis   180076  2023-03-30 22:03:31 Z    0 days
Testing same since   180085  2023-03-31 07:01:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>

jobs:
 build-arm64-xsm                                              pass    
 build-amd64                                                  pass    
 build-armhf                                                  starved 
 build-amd64-libvirt                                          pass    
 test-armhf-armhf-xl                                          starved 
 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
   64c2191616..d6e0b4c41a  d6e0b4c41a38655ade7ecb566e8b2961282769fb -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 10:00:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 10:00:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516965.801898 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piBYQ-0000wT-HX; Fri, 31 Mar 2023 10:00:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516965.801898; Fri, 31 Mar 2023 10:00: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 1piBYQ-0000wM-EV; Fri, 31 Mar 2023 10:00:18 +0000
Received: by outflank-mailman (input) for mailman id 516965;
 Fri, 31 Mar 2023 10: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=uTo5=7X=citrix.com=prvs=447f045ac=roger.pau@srs-se1.protection.inumbo.net>)
 id 1piBYO-0000wE-UT
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 10:00:17 +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 d1fbc074-cfaa-11ed-b464-930f4c7d94ae;
 Fri, 31 Mar 2023 12:00:12 +0200 (CEST)
Received: from mail-co1nam11lp2173.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.173])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 31 Mar 2023 06:00:02 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DS7PR03MB5557.namprd03.prod.outlook.com (2603:10b6:5:2d3::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Fri, 31 Mar
 2023 10:00:00 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Fri, 31 Mar 2023
 10:00:00 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1fbc074-cfaa-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680256812;
  h=from:to:cc:subject:date:message-id:
   content-transfer-encoding:mime-version;
  bh=6dCMfhL/hEOv75UU34Rk44CzQCk3O+XuawbTHRORqCA=;
  b=Ei8+u4xbUW3uPlWj4MJppVk38gSEEW0/xadkvozsvKJB3I4+yPKM+llh
   nsse9kknPgy21gePkcSfKKgmLSTkH1/zoPnUJ9jFIQOG2yXqrRYB3ANYp
   aHP1D4bgLe2PS3iZ2qlEKhVdJwdooNoG1CjvSy6UNSPMItZafd6zZt2uD
   4=;
X-IronPort-RemoteIP: 104.47.56.173
X-IronPort-MID: 103170684
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:84d3O61a44C/ATqLp/bD5fVwkn2cJEfYwER7XKvMYLTBsI5bp2MFn
 GEYC2qPOqnZNmf9edl3Yd+28U1UvJ/Ty4BqSApvpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdlPKgS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfBFF1z
 b8yLAA0c06cuuuJ/rTjW+JnmZF2RCXrFNt3VnBI6xj8VK9jareaBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxqvS6Kk1cZPLvFabI5fvSQQspYhACAr
 3/u9GXlGBAKcteYzFJp91r13rSWwnulCN56+LuQrMBYn1iX4TYpKzIyT3vro/O1ul/nRIcKQ
 6AT0m90xUQoz2S7Q9+4UxCmrXqsuh8HR8EWA+A88BuKyKff/0CeHGdsZjxLZcEitcQ2bSc3z
 VLPlNTsbRRwtJWFRHTb8a2bxQ5eIgAQJG4GICQDFA0M5oC6pJlp102UCNF+DKSyk9v5Xynqx
 CyHpzQ/gLNVitMX06K8/hbMhDfESoX1czPZLz7/BgqNhj6Vrqb8D2B0wTA3Ncp9Ebs=
IronPort-HdrOrdr: A9a23:CvdseKvnn0Dyq+gN+/OJ57h77skDgNV00zEX/kB9WHVpm6yj+v
 xGUs566faUskd2ZJhEo7q90ca7Lk80maQa3WBVB8bBYOCEghrOEGgB1/qA/9SIIUSXmtK1l5
 0QFpSWYOeaMbEQt7ef3ODXKbcdKNnsytHWuQ/dpU0dMz2DvctbnnZE4gXwKDwHeOFfb6BJba
 Z1fqB81kedkXJ8VLXCOlA1G9Ltivfsj5zcbRsPF3ccmXWzZWPB0s+AL/CAtC1uKQ9y/Q==
X-IronPort-AV: E=Sophos;i="5.98,307,1673931600"; 
   d="scan'208";a="103170684"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C1FHA07wi4bwXlN5833NcEaeRIg/ymSKWJxQvwtp9SqXg6+NncxJ5KhL7Ipg7o0yewcs/i5XFm3beoSNEJir5ksJqpcJ7Cp+Smy1pCTV0Cq97RYdn6TpBH0nO0knC8ZcRImq02QKtgJBNySt7yFRtAggJAlks9Yhb0eCGn5hkbBZePg/SrzULvzk/EBZcaBoxEgse9uezmua8fmid4ebrlF7jo0AoTh9nzSowAcr8x3Z+fLVp6M1uW0JBeqeA5aCOrgG9jLzJtSbb1aZzHG0DcpPUTbEuzdvPzMMXZbAxtZwDnc2GRDdKnLqx6oezPNypkUa5jqBNDJ5IcidXw6QSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jeRkSMfeNtcpfu4Pt7FDwXFNss6b/EzkGQuEwiSMQnI=;
 b=TwCB+rgKByMA/TtBcaE22oJQy2rCxYQ2MWpWYh5KnChy0NJiyVyhOnU6jU7pV2LGF8USrdq7tTxPco2TQiTeH/iF5cM/zobvyQp94+nfdNI8brkgOSRQULUsNzCLyB+VneqJwIUSvZ9S/GSFjZbhr9Elul3+5bmSaDJEFz9sOuCxIK31wPwlSetzQXrPhm49DL0aTE+HE/lndgJKBlj33pZb7k1Zu3x8pnGWjXPpxRT5sOo3y3fajuDxqlUWUqXraZNHf8NizqZK8WnartYRzkvEFhv83KwcVppYtYZ1p6k4e8w+jKmL+TXPLhEBfVgoNP1QBnNEsuvimS6iCaaI2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jeRkSMfeNtcpfu4Pt7FDwXFNss6b/EzkGQuEwiSMQnI=;
 b=WfyQIDDqi0vReQDA6jr9RHZ6UzjqWoG/q6Kn18sMHdo2qhMVP19ozP7DXYHq/Nji4IZWK8ip6JoVCwrSYiyPDWNAf9EbcNK+SwEHxQg1LrmzrfkuOwbO2az3AmIa5sRy9101WtSyToSnvFS/t3IsdjivFeckHoysxjegca8mabg=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
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 v2 0/3] gfx: improvements when using multiboot2 and EFI
Date: Fri, 31 Mar 2023 11:59:43 +0200
Message-Id: <20230331095946.45024-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.40.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0164.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:9::32) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DS7PR03MB5557:EE_
X-MS-Office365-Filtering-Correlation-Id: 9bee647c-1ed0-4fa5-52f4-08db31ceb0ad
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UrX72c6PxcxaTaerZDL7tr2o0V53Uy38/mghUyyalDIvWE3kmMUOxaB26K/UV4D3M9SXtGtYstp471BBzlXEsUEtRV3F8UqEB+a7+jf3pyAsLaO2JTbDb01kGZ6bkrXChRPpZQfWDpGOGtCPgneS3T8KnvCEQpRLSqqJV/SWQPIb2nXVgtZuzcS/SIbBwWWqmu8J2q1qQzqXJZT/TJhM1kT5icHLhvEPjfB0cdiKnbH3pQM64nHhVethvvGL1uHlYVjwhARwQpHMiIjNp7x/pRRyqN4Rjx0m/Ezwx11WHuTPlovkdyimKxm1TRUabaf9ALFJIhhh6S1B/rtGIH5OY2oM77c1dD5LbtD9s5gBbuz4Hx4wnfwM+YI+jpUNkbMP/JHjAwt++ncx4Sp20tmxPjoyu94Y+JyqjCI6oCsX8/WP+bN+sZ/uDQbyzkOvZe6v9GyTpDMN2MCPqJjz1a2fp9YWZjoBXHe0Q38z/C2BR2J2wDBxy5f0jv4XB191x0WPIWWjbw/UZ4AoOmVhPqc7FPA5PKV2vT2W6eNy9k+R0Pf+4lkBH6OINbDfqCpDmqDBZZYSqUeOKjI+B61KgD5XeCLG8e1xnZny01BHQkJzPLg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(346002)(366004)(39860400002)(376002)(451199021)(478600001)(4744005)(41300700001)(82960400001)(66556008)(66946007)(66476007)(83380400001)(2906002)(36756003)(54906003)(8676002)(316002)(4326008)(6512007)(86362001)(8936002)(186003)(26005)(6506007)(1076003)(6666004)(38100700002)(5660300002)(6916009)(6486002)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RWRiQzBJY09kTDgrSE0yaytWUzZHMVFWaGxLVUVuSjJFbmY0QWpUNm1xOFcw?=
 =?utf-8?B?WEpHbFg3RHprLzNybmIvRk1jNUxxNWxtVVdwdFcxbitrUjM5enVaSGdXTW9a?=
 =?utf-8?B?WmNmVjFKMEpaenIvN3FJbzJXbG9iZUcrcGxCQ1JuanR1MkpRaWRtcEJQTnBZ?=
 =?utf-8?B?V1R1Vm96OXk2ZkU1TENhdTU3bWsvcjJLMDhGQ2VDRnpxMTJBTGFEVU82SGpE?=
 =?utf-8?B?bitHWWJSQmcxeEpmWm9vUTJ0dDhKcENSNWtoTDBJSFJZM1J6dzVGOWQ1SkhD?=
 =?utf-8?B?bjFobUt3SlNaZ25nZU1FYStxb3dsd3RwbFZTVnVwZjB2UlZ5dVhTYnBxM2p5?=
 =?utf-8?B?NVJzT2MxdEp3Y3l3MlBlRTR2U0pmcU02cEtpSndLeUM3MjV5ZEl2MEw1bVgr?=
 =?utf-8?B?NVRaY2dVR0Q1MFd3UkY2WWs0dG10S2ZTYTBWSVdDMUhXdFROa1d6SzdyZDV0?=
 =?utf-8?B?UFNUTjlSN3o0TDFKM1ppY3A4SFFrMjhBWEMyYXdBejZicUI5a0ExK2ZsT3lQ?=
 =?utf-8?B?MnVreTQ5MWMxYTJRWHJQRTFUOEhSUGh3elJuTFlHS3dxUnNLa0xHSDlWMjds?=
 =?utf-8?B?UmJEYm15ZnlUbHRzSWlyVXRIb0lBbXpTZDJYMWx2S3NIQUU5MW9OVHhHYlli?=
 =?utf-8?B?L3NTUWFCMzVWWXFkY2VIV2lDYUt5TVlpSUVUV016V0Z3QTZ1UE5xa3VVMlpt?=
 =?utf-8?B?NUxSS3VKa3JSbW5ZYWpLZWJtTXp6emVZMkZVVFoxZVZpdXJuRzUrbFkzUkxB?=
 =?utf-8?B?TFlTZm9pNFAvN21GWFJWaEExVUx2OEUyL25PUjNBUGxYT01OOUFiVWxIbWE3?=
 =?utf-8?B?UFRFTWVWTW1UNW1LVWllZlBrNnpIMVdhUSs5ZDNkL3JITklVNU1iQlRTOEFa?=
 =?utf-8?B?dWw5MG5nNnlldU45YkpkR0d3a1labDlyNDVQZldKNUIyUm5QNXZlck83NG1M?=
 =?utf-8?B?NkZQUllVRUdwNnNwQkswa0dyaXZDcXgxQ2hXZTRYenE3WEoxNWZVYjNHaHNl?=
 =?utf-8?B?S1Q0NnltL0RsMFVOdTB0YUdMRmplK3l3M2tLT2IyaEFLWlpxWTN4eFRFNGQ2?=
 =?utf-8?B?aGRlKzVkT1lJbFR0R0NiZjZ6OVJ4ZTBnd2NtRDF5ckViT2JNS2xFVlQ4TzZa?=
 =?utf-8?B?dXNWNkpaRXYzK1dKdVQxdnIyRGg2SnhWWDdkOTl5a3FMYUJOSU1UdHpCL1ZY?=
 =?utf-8?B?RFphWERPRjJhRjZQNVQyQS96WDMydFIvNFhhM1JaMHlLUUFWbVlOUVRUYTF0?=
 =?utf-8?B?bEtlTmlzU1BsQTRiUTZGejVhem8vWUNZdkROL3RXbVJuNXpDMngzcWpVSjcx?=
 =?utf-8?B?U2hTdWt4K3FyZkRKR3pXSnkvL3JSZ2VvN3lQVkhTMTdqVEVwd203aFNoS1BU?=
 =?utf-8?B?M3pwRlhIVFljN0dRU2tCR1RlOE42cG1GZDJRNktCb211L1dWL3p0Ry9yc21R?=
 =?utf-8?B?S25sMDEyM1llcG1wWXZKTytGVlhJZ29QbFNVK0ZGRmU1YWVjS3B0ZktlMm9o?=
 =?utf-8?B?RXJIN3ZZWlJ1czNxZHBDQjdVaStWSEVHR2x4aFpKMEhIUGRES0Q2TGxIbEFQ?=
 =?utf-8?B?cXV6SHFVcFBIOXdzcjRqOTNrRkJ2Y0p6N1hDRUtLTU1NakFwa2lsalMycHha?=
 =?utf-8?B?emhtZ0lJV002ZDFZRmIyb3VJRWlUbWl4TmpwV2t6cHptd3FTbFd2NHEwZGoy?=
 =?utf-8?B?NjdHRG1QdzBKd3BpQWpmY1k0Z3RGQUxjRVUrZFJPS0YrbzI4bXpsZU5MT1NP?=
 =?utf-8?B?Ty8yMGE1UmFkcGwvK2JKMWg5bUdLRzR6WEkzdFRIOHpqNmwzRDN3T2I1K01m?=
 =?utf-8?B?bGdWYjU4R2hVQ3FnbExkbG9QZkdyT1BvalVUWW1keWlrM2trY0ZteGw0NFor?=
 =?utf-8?B?MmRnOUpVU0NkRC9xaS9TQW9hY2FuNEo2c2J6enF2THlMZHJMdGUvdmx3Ujdr?=
 =?utf-8?B?M1RBUjZZSmc2RFRqQmlVUnQ0Q0MyeG02R2VweE02ak4zbTVpQzFEU2RpRzJj?=
 =?utf-8?B?TEFNNHM2dXcybEQ5b1Z0eWt2MlhrejNCbEx4N0phZGd6M3hkK0tUbG5MS0Nn?=
 =?utf-8?B?bFJSZ2Y1QzQ1RWNzSStGMmtDVFRSQzhSLzhyODFjR2lOaHY1MGJKSlFyMHZx?=
 =?utf-8?Q?4xvhs5UDAbnmLagc9zvAY26zt?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	DlywWMIStnnJfHnGNVjNjtxC9mhQWQeO4Nam1+1IfMYlBeVN2jTqtRVT5jE5He47JCBI4AiYgmI9KyuAesxmYl3U/MTZZdADbU6qRjQFYnae1qkpr+ovoJKd1NUGKXKvLlG7yGMdYSI1CwL+//5gFOMsN6KagVfGE73Oqn6dmBAzakHIRezR+ncjOTUml0yBUI8BjFRw1HFIMqlK+oIzToZHu06eMSbxoZn06jBkaBLz26Tc4m+ailUzeiselaWJUbyW61Rwgmvs3y0U7pjWZy3P9BdRcUTscG9wxTWNf7KaGSxY4qFnIytv8ZD3ECUhPe/D2PqlDoN/3If90L2J/H248aI+zyCm4djjmAAxBN4f+XSWKOPUJfFWnVtSrmCKuqLwn653glWyEIPo7YrJ0+0+bT4ZchXoh8I6jkSX6S54edz+HgNACzEahC3GfLGTIu6sqQ+dE6rSVBC0brv+qgmdomMmigG9HFOBW2eYZgZ9dXfP0x7BunFc9344GvzF/OHOvFF1+xCi2GIY+CW/ITgmoz21ZM9je63uLp2x8wLTTZrTpcTxQVqVDgtnODvTql45RP/ddl48wegju8BqBl3HJ8IxZ1pjj1JSS0vlZGhDpGvEBC6W7jkji0v+KlgQN33CEko+g7JVgz3plYsKm5B7otzHEyeXP2BOVUSxxiXyvdmDeXKQLIc91q8tJo3LQOxGneTgsI2wheaEV5xrhQK0prOmcrDVKbPsCZT1Q1RUO6G8V95q7vJ/mdxM+rxFxFdu+OERYlDi1JWul1hqCpo3RRUtorPCGz9bm5vrl9BL9f8abZSAAw7KAwrKdDr75huoFGOV/KK4tAAg1bqkLA==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9bee647c-1ed0-4fa5-52f4-08db31ceb0ad
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2023 10:00:00.1792
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mph9AgWIvcwP/EDIh0wjcsoCEeCb2aXAdC89PHl3bX1d7/ygZehuPf7Q8iICB/R9MQpoDIuTnE6zf6Aju/6Fjw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5557

Hello,

The following series contains some fixes and improvements related to
graphics usage when booting Xen.

Proposed patches fix some shortcomings when using multiboot2, mostly the
ignoring of the console=vga (or lack of) and the vga=gfx- parameters.
It also switches default Xen behaviour from trying to reuse the
currently set GOP mode instead of attempting to set the maximum
supported resolution.

Thanks, Roger.

Roger Pau Monne (3):
  efi: try to use the currently set GOP mode
  multiboot2: parse console= and vga= options when setting GOP mode
  multiboot2: do not set StdOut mode unconditionally

 xen/arch/x86/boot/head.S          | 13 ++++-
 xen/arch/x86/efi/efi-boot.h       | 95 ++++++++++++++++++++++++++++---
 xen/arch/x86/x86_64/asm-offsets.c |  1 +
 xen/common/efi/boot.c             | 21 +++++++
 4 files changed, 120 insertions(+), 10 deletions(-)

-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 31 10:00:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 10:00:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516966.801909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piBYT-0001D5-UR; Fri, 31 Mar 2023 10:00:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516966.801909; Fri, 31 Mar 2023 10: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 1piBYT-0001Cw-R8; Fri, 31 Mar 2023 10:00:21 +0000
Received: by outflank-mailman (input) for mailman id 516966;
 Fri, 31 Mar 2023 10:00: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=uTo5=7X=citrix.com=prvs=447f045ac=roger.pau@srs-se1.protection.inumbo.net>)
 id 1piBYS-00016S-6I
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 10:00:20 +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 d585af4c-cfaa-11ed-85db-49a42c6b2330;
 Fri, 31 Mar 2023 12:00:17 +0200 (CEST)
Received: from mail-bn7nam10lp2103.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.103])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 31 Mar 2023 06:00:13 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DS7PR03MB5557.namprd03.prod.outlook.com (2603:10b6:5:2d3::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Fri, 31 Mar
 2023 10:00:11 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Fri, 31 Mar 2023
 10:00: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: d585af4c-cfaa-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680256817;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=9mkcKgO6MSvhJxuRmV4lSgTE2Puli7Zu3o7kFqRJRFM=;
  b=arvx/i9OH84/udlX/Uha850v0+G/rJoABHNNR5kXttjyX89qQWKg+9BB
   FvBdPDC/H0eWy36+gA7ZS/pq+KMSaK4x3Xp5RbYn0N0YCNxOOqRfdxMJF
   JKMcpfn6Obel7DXso9bw6IOGZ6MpH+08AVTyAg+APZMLPi9vwGb2EXsRU
   w=;
X-IronPort-RemoteIP: 104.47.70.103
X-IronPort-MID: 103834773
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:C0GeXqqVjJr7+AopzZDkwKhf3u5eBmI+ZBIvgKrLsJaIsI4StFCzt
 garIBnSMv+DZWOheY1wPovk90wCv5WBmIU1QQs6/ng2RC9Ho5uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbKCYWYpA1c/Ek/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKm06WNwUmAWP6gR5weFzCBNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXADQDVwq9tt2N+Y2YW+hFrcE4D/nVIYxK7xmMzRmBZRonabbqZvySoPV+g3I3jM0IGuvCb
 c0EbzYpdA7HfxBEJlYQDtQ5gfusgX78NTZfrTp5p4JuuzSVkFM3j+CraYKOEjCJbZw9ckKwv
 GXJ8n6/GhgHHNee1SCE4jSngeqncSbTAdpJRObkqaEx6LGV7l5QWT80dVGnm6C8uBOkUopvK
 mYs3BN7+MDe82TuFLERRSaQsHOC+xIRRddUO+k78x2WjLrZ5R6DAWoJRSIHb8Yp3Oc0TzE30
 l6Cn/vyGCdi9raSTBq16bO8vT60fy8PIgc/iTQsSAIE55zppt41hxeWFtJ7Svft1ZvyBC36x
 C2MoG4mnbIPgMUX1qK9u1fanzaroZuPRQkwjunKYl+YAspCTNbNT+SVBZLztJ6s8K7xooG9g
 UU5
IronPort-HdrOrdr: A9a23:UbRYyaBAvADCUuTlHel/55DYdb4zR+YMi2TDtnoBMCC9F/bzqy
 nAppQmPHPP+VEssRIb9+xoWpPwJE80nKQdieIs1NyZLW3bUQWTXedfBEjZrwEI2ReSygeQ78
 hdWpk7L9vsDVd7h87m4A++Cb8bsbq62ZHtouHCz3hsRwl2a6dm9UNTDBqdGEEzZA5IA/MCZf
 ihDwN8xgadRQ==
X-IronPort-AV: E=Sophos;i="5.98,307,1673931600"; 
   d="scan'208";a="103834773"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CoCEJcampkBfI/QEd7vw+F+VBexzeRBeYbzAfGuP4Ax0wCpJ3SQT3XhwF3cbBKu8L1iR+B062VCGkmpXwGHYjD/AI1uDB/k9kczWF1+IumhpMFBvxbJGinaSUkyd6wS1Zou4kTFjNU8JN+n+x1P0lA1W4U/KnVv++h5WL4ghbLwk1Qg1Nx88Gm8Du1+sh27D4UqlBWuydHtUq5dHm6rPDkpS4eC/jmJHuu08TTe7B07VrUL/eZLAni4KKNxJhExg6GVmzrHmZnUdLz81ciCzf8XFKc/eZiScLIExcLs1h3uEYUyV7XBjRZivr/AMrQ0MP8HoTn8Z/ywZKFtIO4h3wA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o57kufVo1caTCe7BHceGTpC82HwXX2FBnVVlDnpxb3M=;
 b=HUGRFUR2eYkm290iRRr7bMrgEeoicDPS6OkngqaV54TK1vk/ajOiwubJhmPOsLOPqfCNXhYoKpUvfhqVQZoFeTnNsesSBT4hEzotpiP04ebl63IuLoqzlK9nBvlGtQjw41i5+twU91PMuoul3/WywEEyqHHIYI9+b635mkuA4kw11YdtO42KT9Jtv30wmby1nRV3ZORkodxeW/UzvkaWtJKvCTG4ws62p5EFCWV26HLrlyQFj9rHIBSIUJjHOBWvW/rnhqgY7X4VL/uQavBD7R8jHgI6DsF2/IHtRfszMWNyhWTOD8xxpLFBDvpjP+XK1eL200jdWLFiLYRDQakseg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o57kufVo1caTCe7BHceGTpC82HwXX2FBnVVlDnpxb3M=;
 b=MBFxG5T7zEWGiRuRrC2CALpmnC56iPsi4CpgvWF7ESSqv1GoqV96g0ICiTX4+2oUm5pxqoGYdZr1qiLJd9SY3xX4ggXo8c4FAfeHTKb4oyx9saEwlyDV5JpBidFBClbS7rpDE9KwXSRa01DsA+AkrNrZ6hEm+5X3hHFGliuW5WA=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
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 v2 2/3] multiboot2: parse console= and vga= options when setting GOP mode
Date: Fri, 31 Mar 2023 11:59:45 +0200
Message-Id: <20230331095946.45024-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.40.0
In-Reply-To: <20230331095946.45024-1-roger.pau@citrix.com>
References: <20230331095946.45024-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO0P123CA0010.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:354::19) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DS7PR03MB5557:EE_
X-MS-Office365-Filtering-Correlation-Id: c6d3d0c2-8ea0-40b9-c76d-08db31ceb757
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ADrwufvB9naEiH9NGcz1cEKcidt3/8HWfv0dRMPPAgZiYIN+xbiTnGfe1hzp0/WxV87lNLSa+nN77ZthkBwLAFlX8JSmpWmhjw71r6AN389o5QYXB1TNykcwmcOm47dfKhS2VYBiyl/AdBChlu7dHnwv4TttqVe6jkStRIV1R0tVUc9dVdX85QnAWR1baGauSGgDPOB0C5Fgn67zIFL+J4a7Y+tPfrVh2/S5u2c6xaa0/ysw14nTsxIqHB63qg6dmrZpOo+xJ5iPsKUSBY0DQ3UD1/iDaH6RVzx+qWQg4Ua+8UKFZYvn9PWzn+f5nGmJjw5LcmR5FV2cogf4EHJRin0xz4d/0zdV8jc1jIdJ8Qeg0E832PlWhkNkJgBF977ogmWn028yvOgG29vdgcw7HHHG45JvnQuE4kx/I4AR39Xr/U9RiRj7xxa5QiSjyTdi0wsiGig3UCXQVrByIJk7YdYerGNlEG5rspfH8TMSZFotmFeahS5su2EI26hkk5k6b3wB/c32OlhKFNxlPeHo8iNmsHqHCETmNevHUdREvRahpsjJhf5ksZNjySnaP5xAfE6yG1I0yK/Okwg53nhJqTiobYOscgInA2Fd0jleMTs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(346002)(366004)(39860400002)(376002)(451199021)(478600001)(41300700001)(82960400001)(66556008)(66946007)(66476007)(83380400001)(2906002)(36756003)(54906003)(8676002)(316002)(4326008)(6512007)(86362001)(8936002)(186003)(26005)(6506007)(1076003)(6666004)(38100700002)(5660300002)(6916009)(6486002)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OGZBVzVLWFZjenR3NnJSdjNsVDJPZ3VLZ0VTckh3cDVkRXUzUE5sU2tsSmJK?=
 =?utf-8?B?QmNFUlRWV2JMVmo1Rm9EblBHQTZCR2dsZHJiK1M3MXpjbUlNZUN0MDZ0c0JL?=
 =?utf-8?B?N25KOU9oQVN6N0FtRTR2eFhNTHZXdThwb3BaSTFYcmJSaHdTcDl2UWhuSnVY?=
 =?utf-8?B?V1lld0RCSXhZdkVCazJxRnJRai9nMkNLS3YyMWRteE84M0pobUY3TmdTUzVZ?=
 =?utf-8?B?Sk5FN2xYL1M1RWVub1ZPaHJlQzF2RFBaTW8vdVZyYWdUVm44clBHODNWM2tk?=
 =?utf-8?B?N0NqYXRKN2JVTkFTMkRtdlI0Y3JqN3JVdWFXYjdVTWxIQTJBb0hkay91cFVo?=
 =?utf-8?B?RVptQjk2ZnpaZzNVakFvYnkyc0Y3cGVZUE5CNjc3TlQ1bkhzdENNaFhWcHZm?=
 =?utf-8?B?UWFpaXhYTHdWVjNZcXNBUUxrUWowSXRmeHpjdnAzK2w5UkNVWERnQlFZcnV6?=
 =?utf-8?B?UmhpejB4Tk1lV3FSNlV6NzhHcjlHS0didHMyWVJGZmpnYnljQkM1YWdYbWF0?=
 =?utf-8?B?NDQ1MWJpQ2tjRVNPN1ROejJrYXZhMW9wd1Jld0dPUXEyL1dDVkRhUk5pNGp0?=
 =?utf-8?B?RDFhQ0xCaEpVbzdQVnRwRzV0VEwxeFd0T2RPTk5KL1Rsai9KanI4aUJURFll?=
 =?utf-8?B?RW1GTVo1Nnk0ZkJIYW84WStnbi93VTBoSnVCZEFRcjFKa0VXNGdkNlZCYm0v?=
 =?utf-8?B?bXBhRFBkNzBTSy9SUWhZK3VnOUE3RjBIaUQ1M0hEcUJKYUovMTdxN0k4RVpZ?=
 =?utf-8?B?VktrUlVVcXhnenBxSUxtOEpROUF4ajh5bFJ0VkkwRU1oY2RhV1NYOUlMRlB3?=
 =?utf-8?B?QnFwcUpqbzZML1ZJbmM1ZHhmK0pTR1ZvNUtEWmoreFp5NngxVnovZDJETkUy?=
 =?utf-8?B?QU4xa0hjaWdONFR2R1FCNHJrTjNIbnNReFdFYjlOMkFWKzhvVFdyK01ISzcy?=
 =?utf-8?B?UVhiQVk0QVd0bUVCT2ZLaTdOZUFaTUhKWFJiWXRHN2Q1TUtZL0FLTjRkMU83?=
 =?utf-8?B?bkRsVGtaNXFyR21vNE5UTTE2M0JldEhJL1BPbEg0MEpZRFM5SmRXVkY0UWti?=
 =?utf-8?B?a01OYmh5YXpHYzFBYWVLWkE2K0NkL3lxVXI0NW9FR08xNkx3dFhZdXBkYVZO?=
 =?utf-8?B?Vk9OVXowWnVFNHlXOEg0L0w2MHBLTTM4d2w1U0J0aUR3M3N1MHVXU1dOUkVG?=
 =?utf-8?B?RWFnK2FTWkFWWGxNQTNSYjczem1kTjkxemdmU0FmdDJmMGhMMmhFWEhVd2Uw?=
 =?utf-8?B?WDJya1N2T3VZYjQ0RXRhSDFvNmxnTDArb0s2bFIwcEx1Q1d6RUw1VFI2ckhG?=
 =?utf-8?B?SzVOdGxBNlhHcG9UOUJqaHdJVnVOd3ZrdGFMOXhIdzAzT3ZlaEpSWTVlYlVO?=
 =?utf-8?B?eWVmM2tyR0JwUUFvdzZKcXJORHNzVFBPbTgyT3JxNG5kbHV6eWZhTHZaZWk5?=
 =?utf-8?B?T3lUVDM0YTNYTFpjbGlyVnE0akhxRDQxMTRqcEFuRy9NZG1VSnZUcWRKcUpR?=
 =?utf-8?B?aXM0S2tGTkp0b2FGb0ZQd1dobXhPdXNEQ2RTdmFSbG9EZUd5STNvc3B4T3p5?=
 =?utf-8?B?UmhhcDE0eG94aDlva2F4N1NkS0phT0k2bDdmblVrS0dGZm1zTnNhV09ucnl0?=
 =?utf-8?B?dk4ySHRxR0dtRDdtbFJpRSsrNTBYWHI3OENXRSsycFROb1pzZXNqdmRKbDMx?=
 =?utf-8?B?eE12RG1kYzRuN0ZmQTlYUXhUbU5McjlKdTNoZ3NyZjFmWHJVTFRKUjgxbFdx?=
 =?utf-8?B?N3dpcDljdGdQandqNFdGSlRtaDN2Y0Rkb1B6bG84WmZ0TmE4S3dDQWovNldr?=
 =?utf-8?B?L3hlVjlyVDI2Q3BDRGp4a3YzdlJFK3FNS2d6R29qUXZqODhFcmc1VWxaQzZX?=
 =?utf-8?B?K2p1Sjc3SDU0NThQOXpLSnNmd0RlUWZjQXRDTVRwL2xWSThSd0d3SFRRSklv?=
 =?utf-8?B?NndnbjlXaWpFZjZHQ0RGR1MwN0R6NW1wV1BzZWRqWWRpNTRvQ1B4bDNPTlll?=
 =?utf-8?B?cTRSMnhKNWlFVkE1c0prakpRcHR2OVg2ZWVUQzZFWWQvaHp0WHowZGJnM3Jo?=
 =?utf-8?B?WHhQc0h4c1FwRkliemZERUxZVHJ6citYUEhlNk45bnY5bndBcWFRV1lvTXdG?=
 =?utf-8?Q?QsZCPCwSfzg4dviQeHtXsA2cv?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Pshf/8AOXsgL1rV1TS7br85K/2P6yCMDwcL59t61oPIqb7HRvdaC2IGrOjQ1T2ZyyXrOHKakBDx1KBx6AkPrc/Ij8xqWEYop1JClWDkIm8wZRw+HH66hspl1ZGCTRELw01CMvdRpT8EeuoZ5LtSZ/OPkg5QOf8XCktk2ej7qjpKk/DiuFIvoPJSn46q3OUW6VorcVwEIXWnUWAoiWUfk/G6SBW3g3LSUMbKHg2AdmqkZNym5oNdlJzMAv8sSQ4nSLaKIIF3EVHPULMuBGga7hW8E0qeRafbKe7hfNySWPJGgo0Wj67D3lzP2Czo21ancFC58O1loz5QJm3No0YheAWTEm2d+gaB8G7UNTXXMAHy6T/OtABru2XGnrCifRKPQaUI3g9IZBqTvGr/nU7vU4lJQyBve6tt5Y7A1xiLtAuanKuWaQl/uyAq9QXMEmTEXkDmNw4okaC+PRQncUlAIgJz7SMJqLmKPInwzORQjICYbm5wshQIkOYDh5gcv59J4dbKm/DVaZbBK1L9aEYRXhVRnwjnb/BVHupPPFETjsZmyq0eTUhCHFVMKotP+8ktNQm1tY6L2j1EhjA83iUYMjkoxfh9Sh+YJJ4uh7OceCXLQcxVtnNwuFGu32OkJrlA2nJ9CYAoKlZ7qRbrg4D1U3mSRZDHgb0W8NXj0XoRW96+6zQn47t6m9BMx03xekEjtGMaMZekKVB++cOEQ+7ECwI8tkStz6WbJ8jHxt/avQmBClWL1oRD8N7GY7V5i1kHMGlhpzdnYsq0iW4hF6EjYC9AFnzJWQf4Farj0VM+m1h1Anwx9j28RLRCckCA95GiTXoHfNIOBUQ6F8+Nit+vWAQ==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c6d3d0c2-8ea0-40b9-c76d-08db31ceb757
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2023 10:00:11.3939
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1w9i5U+swFQ3Hp3iPXECrU+YCN7i4yZMOlD1F1umKlaZv5iuGyCYZiqEmN7AOCCjaa9vgdN5AeRyMSbzxCwDVA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5557

Only set the GOP mode if vga is selected in the console option,
otherwise just fetch the information from the current mode in order to
make it available to dom0.

Introduce support for passing the command line to the efi_multiboot2()
helper, and parse the console= and vga= options if present.

Add support for the 'gfx' and 'current' vga options, ignore the 'keep'
option, and print a warning message about other options not being
currently implemented.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Do not return the last occurrence of a command line.
 - Rearrange the code for assembly processing of the cmdline and use
   lea.
 - Merge patches handling console= and vga= together.
---
 xen/arch/x86/boot/head.S          | 13 ++++-
 xen/arch/x86/efi/efi-boot.h       | 80 ++++++++++++++++++++++++++++++-
 xen/arch/x86/x86_64/asm-offsets.c |  1 +
 3 files changed, 90 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/boot/head.S b/xen/arch/x86/boot/head.S
index 0fb7dd3029..9d13eee50b 100644
--- a/xen/arch/x86/boot/head.S
+++ b/xen/arch/x86/boot/head.S
@@ -221,9 +221,10 @@ __efi64_mb2_start:
         jmp     x86_32_switch
 
 .Lefi_multiboot2_proto:
-        /* Zero EFI SystemTable and EFI ImageHandle addresses. */
+        /* Zero EFI SystemTable, EFI ImageHandle addresses and cmdline. */
         xor     %esi,%esi
         xor     %edi,%edi
+        xor     %edx,%edx
 
         /* Skip Multiboot2 information fixed part. */
         lea     (MB2_fixed_sizeof+MULTIBOOT2_TAG_ALIGN-1)(%rbx),%ecx
@@ -261,6 +262,13 @@ __efi64_mb2_start:
         cmove   MB2_efi64_ih(%rcx),%rdi
         je      .Lefi_mb2_next_tag
 
+        /* Get command line from Multiboot2 information. */
+        cmpl    $MULTIBOOT2_TAG_TYPE_CMDLINE,MB2_tag_type(%rcx)
+        jne     .Lno_cmdline
+        lea     MB2_tag_string(%rcx),%rdx
+        jmp     .Lefi_mb2_next_tag
+.Lno_cmdline:
+
         /* Is it the end of Multiboot2 information? */
         cmpl    $MULTIBOOT2_TAG_TYPE_END,MB2_tag_type(%rcx)
         je      .Lrun_bs
@@ -324,7 +332,8 @@ __efi64_mb2_start:
 
         /*
          * efi_multiboot2() is called according to System V AMD64 ABI:
-         *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable.
+         *   - IN:  %rdi - EFI ImageHandle, %rsi - EFI SystemTable,
+         *          %rdx - MB2 cmdline
          */
         call    efi_multiboot2
 
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index c94e53d139..f46c1f021e 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -786,7 +786,30 @@ static bool __init efi_arch_use_config_file(EFI_SYSTEM_TABLE *SystemTable)
 
 static void __init efi_arch_flush_dcache_area(const void *vaddr, UINTN size) { }
 
-void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable)
+/* Return the next occurrence of opt in cmd. */
+static const char __init *get_option(const char *cmd, const char *opt)
+{
+    const char *s = cmd, *o = NULL;
+
+    if ( !cmd || !opt )
+        return NULL;
+
+    while ( (s = strstr(s, opt)) != NULL )
+    {
+        if ( s == cmd || *(s - 1) == ' ' )
+        {
+            o = s + strlen(opt);
+            break;
+        }
+
+        s += strlen(opt);
+    }
+
+    return o;
+}
+
+void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable,
+                           const char *cmdline)
 {
     EFI_GRAPHICS_OUTPUT_PROTOCOL *gop;
     EFI_HANDLE gop_handle;
@@ -807,7 +830,60 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable
 
     if ( gop )
     {
-        gop_mode = efi_find_gop_mode(gop, 0, 0, 0);
+        const char *opt = NULL, *last = cmdline;
+        /* Default console selection is "com1,vga". */
+        bool vga = true;
+
+        /* For the console option the last occurrence is the enforced one. */
+        while ( (last = get_option(last, "console=")) != NULL )
+            opt = last;
+
+        if ( opt )
+        {
+            const char *s = strstr(opt, "vga");
+
+            if ( !s || s > strpbrk(opt, " ") )
+                vga = false;
+        }
+
+        if ( vga )
+        {
+            unsigned int width = 0, height = 0, depth = 0;
+            bool keep_current = false;
+
+            last = cmdline;
+            while ( (last = get_option(last, "vga=")) != NULL )
+            {
+                if ( !strncmp(last, "gfx-", 4) )
+                {
+                    width = simple_strtoul(last + 4, &last, 10);
+                    if ( *last == 'x' )
+                        height = simple_strtoul(last + 1, &last, 10);
+                    if ( *last == 'x' )
+                        depth = simple_strtoul(last + 1, &last, 10);
+                    /* Allow depth to be 0 or unset. */
+                    if ( !width || !height )
+                        width = height = depth = 0;
+                    keep_current = false;
+                }
+                else if ( !strncmp(last, "current", 7) )
+                    keep_current = true;
+                else if ( !strncmp(last, "keep", 4) )
+                {
+                    /* Ignore. */
+                }
+                else
+                {
+                    /* Fallback to defaults if unimplemented. */
+                    width = height = depth = 0;
+                    keep_current = false;
+                    PrintStr(L"Warning: Cannot use selected vga option.\r\n");
+                }
+            }
+
+            if ( !keep_current )
+                gop_mode = efi_find_gop_mode(gop, width, height, depth);
+        }
 
         efi_arch_edid(gop_handle);
     }
diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
index 287dac101a..fbd6c54188 100644
--- a/xen/arch/x86/x86_64/asm-offsets.c
+++ b/xen/arch/x86/x86_64/asm-offsets.c
@@ -175,6 +175,7 @@ void __dummy__(void)
     OFFSET(MB2_mem_lower, multiboot2_tag_basic_meminfo_t, mem_lower);
     OFFSET(MB2_efi64_st, multiboot2_tag_efi64_t, pointer);
     OFFSET(MB2_efi64_ih, multiboot2_tag_efi64_ih_t, pointer);
+    OFFSET(MB2_tag_string, multiboot2_tag_string_t, string);
     BLANK();
 
     OFFSET(DOMAIN_vm_assist, struct domain, vm_assist);
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 31 10:00:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 10:00:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516967.801919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piBYV-0001T2-7z; Fri, 31 Mar 2023 10:00:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516967.801919; Fri, 31 Mar 2023 10:00: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 1piBYV-0001Ss-4C; Fri, 31 Mar 2023 10:00:23 +0000
Received: by outflank-mailman (input) for mailman id 516967;
 Fri, 31 Mar 2023 10:00: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=uTo5=7X=citrix.com=prvs=447f045ac=roger.pau@srs-se1.protection.inumbo.net>)
 id 1piBYT-0000wE-FL
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 10:00:21 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d53bc2a4-cfaa-11ed-b464-930f4c7d94ae;
 Fri, 31 Mar 2023 12:00:16 +0200 (CEST)
Received: from mail-co1nam11lp2175.outbound.protection.outlook.com (HELO
 NAM11-CO1-obe.outbound.protection.outlook.com) ([104.47.56.175])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 31 Mar 2023 06:00:07 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DS7PR03MB5557.namprd03.prod.outlook.com (2603:10b6:5:2d3::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Fri, 31 Mar
 2023 10:00:05 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Fri, 31 Mar 2023
 10:00:05 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d53bc2a4-cfaa-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680256816;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=lYj38XyWiQWsj/xF0BWs/BuiMegSu0fDwGfxzapWfb4=;
  b=XdEdfZvGUQV0oeiBoDHnXcEHr8AW3VdNljkPbDd2VM1nyu3/TznCQp6k
   0Pz1FygJ/I9ZPNSSnTmsOF/Ke7GqER1Mjq0QFJUHw4v81lBP/ZddVxvoF
   5aETbcvrpLpSaOLPlA9K8PYGTzGrOAAQZ5HFA/UGpBRbEB7YZY+X6+guk
   I=;
X-IronPort-RemoteIP: 104.47.56.175
X-IronPort-MID: 102606344
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:0TQopaP1jG0qD57vrR23lsFynXyQoLVcMsEvi/4bfWQNrUorhGEHn
 2VKXjyBa/iNYmfxeY9xaIi3oxhTsJbSndYxSQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CU6jufQAOKnUoYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGj9SuvLrRC9H5qyo42tD5QVmPJingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0rx5M1hsy
 +1JEQEyXgiNxLic246yTMA506zPLOGzVG8ekldJ6GiASN0BGNXESaiM4sJE1jAtgMwIBezZe
 8cSdTtoalLHfgFLPVAUTpk5mY9EhFGmK2Ee9A3T+PRxujeOpOBy+OGF3N79YNuFSN8Thk+Fj
 mnH4374ElcRM9n3JT+tqyr22LeRxn+nMG4UPKS60L1zn1Sv+lFQAh4Xf2aZhNy6kkHrDrqzL
 GRRoELCt5Ma5EGtC9XwQRC8iHqFpQIHHcpdFfUg7wOAwbaS5ByWbkAGRDNcbN0ttOctWCcnk
 FSOmrvU6SdHtbSUTTeW8e6SpDbrYCwNdzZdOGkDUBcP5MTlrMcrlBXTQ91/EamzyNroBTX3x
 DPMpy8771kOsfM2O2yA1Qivq1qRSlLhF2bZOi2/srqZ0z5E
IronPort-HdrOrdr: A9a23:lL8nLqvPPJ97VxMW7/7YC2QB7skDpdV00zEX/kB9WHVpm62j5r
 mTdZEgvyMc5wxwZJhNo6HmBEDiex3hHPxOkOws1N6ZNWGMhILCFvAH0WKN+UyHJ8Q8zIJgPG
 VbHpSWxOeeMXFKyeH9/Qm2E9wp3dmA97rAv5a8815dCSZtdqFu7w1wFwacFVczbw9bApA0UL
 qa6cwvnUvDRZ3fVKWGOkU=
X-IronPort-AV: E=Sophos;i="5.98,307,1673931600"; 
   d="scan'208";a="102606344"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=igjDDLpU9rUeXuHFQN0gC7VKP+Mxmzg5imRcMyyrv6BFJ7pe2bKHOLDPiWaxs+x8sblVFXer9kgGHw+tMRpCl/Y69eW9ag7e8Zigha3wDbN1s5BJLOQ3eKuOX/9XK+Hg6dWk07/twjXl9f3MgkJzuYKqfFwfWGfGFFKuenBAOnOWEdwPiz52YqOROqncxVo8awomgApWihXiU5Tka+RBXTZ3N8F98fDEXi/zlWC9GwnKJ92fMtAfy2LWDYhsFjwj+DrjqFGko8OBkvCn1AZUqi9e/w5wFD1r51Yg9qLTOG6u2ttWt60X7OKSRB9sNcLocj7MqT7VDwSSlY3ZJa0VVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FtEAq5Ug7QXlXwnPC+8yAaWQRyQAyZNLb8vOr9AL0ng=;
 b=f9EpS/0FNO9XokSp7TGJff8wMiufzZRq2aVO9Wu3fqjTeYGO7Keb04y5hfS/sPuWdTvzM1NipZCKgLhSGZAk0WQjNsRCWuz+60BXznNuPQJXvOL7DjS/6/4PVah2PxLsWB1TK02eyXipRN/x58+9a7La7g1Gl0PdezZj7nKrg6AEOB8HkpfGjN+3f1SP9qpqciNKRNYhZiFGgjmm88IdHrcF9P/TanzPAVuF7qTEt/huo7sxoYgxHT88dEjzXbAbT+NGkQeWop5z26oUJBX/f3QuOj7EDWPaqbqaJIunskZWBRAn6nZfV8d0N9M1CHSVb0TL2viRic1Pzply7y0Auw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FtEAq5Ug7QXlXwnPC+8yAaWQRyQAyZNLb8vOr9AL0ng=;
 b=XqPGRGWQ5gjZq0yeO+pV5kaO8ur0v7qT+B3kzNVcmykiug+fC5VhqPzPNUufwrkqWYVX6BXVOIuCZFy8IfHbARpoDPJ/QL1E9fJTBHaYUVex7DPmlAIgDHmaarzrrz7H4Qax7OxeaGeS5E9wTMEnPG+UtGJc7UDiKHno3ynluC0=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
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>
Subject: [PATCH v2 1/3] efi: try to use the currently set GOP mode
Date: Fri, 31 Mar 2023 11:59:44 +0200
Message-Id: <20230331095946.45024-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.40.0
In-Reply-To: <20230331095946.45024-1-roger.pau@citrix.com>
References: <20230331095946.45024-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO2P265CA0363.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:a3::15) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DS7PR03MB5557:EE_
X-MS-Office365-Filtering-Correlation-Id: 4648e4f9-f5e2-4994-af99-08db31ceb3f0
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cIXg8mBMF5wDdBszW+QaDIsn8M8pvK7kR+/hWMIzsA2XrCbADcXno+RQ/DciTHdqWKBc17ezuMtQPi82i5LCAk3rtfNXx2KHiRrGz6QvXXRK5eUIe8QANj1nQrkwX6nn+xdBVQ4YIi1ougltgp6/EzAgXdE2iU6sHgpg/WXVJBDzAjb5PM4/blR+fXsX7QI1ugw7ar6mXefYTgSPnTH0HTGBzMUx8w46uiXp9s+pj1jMTobdwOvqVYJWFQ3FmQ7eQq6iTeznua/4N3/+xhYMR/Hydmz2Et1+2q3ibTltkNee/GTu7pav4xO3ju6Q3gmrPL2aIRmVbzz5//aU19XhMUvn4Bb6A5iwtAGZZDjQQECzmeDNI8h6YXtc7DaqzMK2L8kG0lo/dsgE7kQnmf2UOhHP0NRw852ea7RDUbTXIlJcPCG9e6pupnZCl57zgHl9LOgsFh7QBR5JP7HWyTAJeJboaZYss3VEf52hBUm8kc6qFegu016p6z5rMcH8xV9GB3K55NHO8kIhF+PVf1UpbdYc9CxhmnorEopdvugKj7Eofqynx1j5JutiaUKhPl8PR/LBPsPxlq01lcsFuy3L0zj70CuG8p6u0UIZsvJEPP4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(346002)(366004)(39860400002)(376002)(451199021)(478600001)(41300700001)(82960400001)(66556008)(66946007)(66476007)(83380400001)(2906002)(36756003)(54906003)(8676002)(316002)(4326008)(6512007)(86362001)(8936002)(186003)(26005)(6506007)(1076003)(6666004)(38100700002)(5660300002)(6916009)(6486002)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a3oxbWZLejF5WmZTc0pzS01JM0prLzR3WXhKZmorSnJzbTI2Uys3aG5WaDNE?=
 =?utf-8?B?NnRxSTZoQmhyNmVZT0M0TDlEY002UGMzVWpOcFRvenAwUHhhMXdXSVpTQ3hU?=
 =?utf-8?B?amhJblpKNUM5MmFWM05sYkFscitxNnVRWmxkOFQ2Y0N1V2NhN2VwRVlBRG5D?=
 =?utf-8?B?ajRrWUlnaVZMUUY4cUNuUDJxNkIxRHpwdlJVai9nOSt5NXZnOEE4NnBicEpW?=
 =?utf-8?B?K01mbHJrL0VObUUzckRHUTQvNGRrL3V5UmkzT0ZOcHdtRXVmRmxXVUtxL2hX?=
 =?utf-8?B?VE1zVFcxN3NyS3BKRWh4dEo3SzV2L1FRSTBpcmFtbUhlN05xRWlzQTNsaEJQ?=
 =?utf-8?B?VGZYY2VGc3c1Lzk1WkZmT2pTMWU2b0RNeTk3a01CYXZoMUtsK2xsK1RrWGpO?=
 =?utf-8?B?c0RJNi9zNUpVQ0x3MEk1SkpFN0NCVDRTT1FpcW9Uc3UyZHNNMUhTbGEyK0FU?=
 =?utf-8?B?dkJzeE04dzF5Vjc2RVZTZlNMd0o3QXNvTzNyNWJhNXRkL0dnSEpVS3ZtYmcx?=
 =?utf-8?B?NHFDbGZNVW5lZVNqZGliVlRtVlZCRFppZHNzUTJXWXh0WlV5YjZkaVF3Q3FL?=
 =?utf-8?B?M0VySGtHZjZadlM1cUIya084KzJuVEVLNXBFRE51VnBhTlNZVjRpeVdoL2NZ?=
 =?utf-8?B?QVZSZER1UlhrWjJnek93QUdnQnlCelRWWk54QmJVZ2xsMFBuMlFDVHo2SmVI?=
 =?utf-8?B?UEhBQmVGL3dsQUJ2Q2pjdGQwanZkOHpHRU9jUFhUV2hzRFVpRmNET3kxUHo5?=
 =?utf-8?B?NURVUloyUTI3VTZvT2NhT096Q1c5dXJ0blNieHROcnIrb29WcnF6YVI4ZjBm?=
 =?utf-8?B?RFNQUHJBcHNXZEZlSDhFVmdHaXBsZkhpcm9WMldiSzlydWFycjhrNkpTUmdY?=
 =?utf-8?B?VFMvTjc3UUs5T0xJTUs0QnpvTHByYW9kRDVTRGpnTG8wU01UZWdIN2ZBWllk?=
 =?utf-8?B?aEQ1ZlMyakNjRTJVd2Q2a09qV0pNNkxDTG5qNkIxQ0NqVWM4bDNYMnd6YjZU?=
 =?utf-8?B?d0t5amFGYk51Rkd2cVFOZmRJNFZhanRNTWo5ZWp4YnFKaW9YYjNJLzd0SHNF?=
 =?utf-8?B?MzQ0NFl2YXJVSTU4QndpaFpMcEZXY1RxUDZJc2JEM1F1UEFzR21IV1A1S0do?=
 =?utf-8?B?V0RHQ2hlc0tZVFQ0dTFMMjFwUmdPWGw0NndLbHVBYVkyUWFCVFNhUGNIZlRT?=
 =?utf-8?B?YjA2Sk52UWhPZFZYQ3VhMFcwcUpkQnF1bHh0ZXpCSE81V3hNMUlJdmZ5OWRt?=
 =?utf-8?B?R0g1WDFSQ2lEVlBTYkp0NlVLbllOUCs0a09jc2JXdU0vSy9HQlA5YUFrTDNE?=
 =?utf-8?B?T04zaEh6dGRBT0dmR21XTlByY0M4bEJzejd6UEdhMjZyYzZZVnpkaW11MS94?=
 =?utf-8?B?QVM3VUZYelNtbXNFOW9rbWFqSXZMS0w5ZDdVR0xYYld4MFZraWowOFp0R0Ry?=
 =?utf-8?B?L3lqR255aUUycWVza3REQWVhZGxqV1MzMHp3L0xXanBqSXp2RWxqcENNclhm?=
 =?utf-8?B?Q1dEc2xkOHdtbmd1YnJNTDFMb1kwd3hEZlZ2V2c5dFZIczJUZHZYbUdZaTZD?=
 =?utf-8?B?blQraHFPbTNLMUZGcFkzRGlLaDBPSnFLbTZUU1dlNXNuWldaSWxNekxFTlda?=
 =?utf-8?B?Q3EyTnNMU0hKRnExV0JaamFieXIxNHpoZWRhV2VPZzRuTFI3aEFPUENEMDdi?=
 =?utf-8?B?cHlrZlg4RW1hMWI0UHdtYUN6OHJLTHE3YmhiWjFDODJrYys0LzM5TnNuRitI?=
 =?utf-8?B?THBENGpiS1A0Z2loR2pWVE0xNkRIczlWN3dzU1QzVlQzREFqTlNFQnNkU1ZO?=
 =?utf-8?B?MHV3SjRCVld3OWdSNDQwb3RqcFFFRXpjUHI0U1NQYnMyR1BPbzIrMjdLeXpz?=
 =?utf-8?B?K1dvcmJwaVNmV29HZm92dW1penhteDd1R3hVTWwzbU02dHJWcWQycDB0WEpx?=
 =?utf-8?B?WndISW12K1RSQkRxcHI3NDRVM3hqTURYb2pQeHY2eHVINi9SU2xTUTd1TXhL?=
 =?utf-8?B?ZjdqMkMzKzIzOEU5WGVpQW0yeWhZYUdIMlV2REpGNmR3SEtXL2Y0VmhMTDdi?=
 =?utf-8?B?YTVOOTdVdzdOQk55NGIyVG9OUEk2OUNCWHRCbGptRzRxZURtQ2lqMlZLTTBy?=
 =?utf-8?Q?sBpHxniEANujPhf8KPXazuT99?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	Es0Ljvs6tzutq4DzvVyXT7iFmMxp4RRmnNKZl9XFD4Ea7trIDoK1J1o8JTHf+0Tpg0IAUS3DiFF9WwpLTMsufy3Ln0jdRqR4Vh2MSjilY6UC89xogmYQyD5Hc84fIe6nGGC9iBRT0mNhLLM/JoRXYGg34QO7NkeBus1YxFjRnXgx5aii2FqvPlOAg+U+eOQn5rlaBeru9jLEYXDAwmYsQEocsFwqaSDsXUe019VLiYic8ejqeCkol79CI2GglBcZWK4suLrW8PYuVJZa8yBR2BRwcyWsQ/vhDPIHr7KRFzEOeOdVCAO8z0E8RoddDNICSBV2XMjdVYFbJIEw9b5wFeeRx+0BC//RVJZFwPdD+sTdqQ1+Br+B8wvKiJWkqlKa25zuOyZRvk04AnCaPA87BNhwLuMpux+UKAV7XHB29OtA8Bl6xDcttodzV+Ei9I3J9A0m1/qTPsYBV1kn/wUisMbmdJcUU0tIAS0+YemQjmIQ/Lo76uslACTvZIwX9czQjqaSKHcFDFuO+n11pPxbR9d6CvcRsq9ZHaF5A0KTwrYq6jIwLxQh8wnumeS7oQgs7wktUF9XUOLa1qkcAP2KbkYs9vuNaPyzF7zj10S58UyQcylNK8pMY/U5SRETn73eTC7ux1GZLXbc824JJaOigtUkf53Q9V1l9IJ4bXnc25MfZGEwxweouPmfpBYaxTcqX7Gehstlyv2QHvZ6VVINp6364kP+1Deq9LvsQUIUXRILQJhXLNLSrhFRf1SsGPOvdHvMemjGCya9vq1OzXFmu7MqVrmqNfiYoRsA2/rlkhf1hGbch8yvqM3n2q7Czf0W
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4648e4f9-f5e2-4994-af99-08db31ceb3f0
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2023 10:00:05.7970
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3RiHCddHh7SWdxVnnQM6KY3tBdGd7aTtWj9jYHERjV/IsInWUHiM3gVCOJV1K0RPiGM4VNZ1fEbydP1P7JrXDw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5557

Modify efi_find_gop_mode() so that passing cols or rows as 0 is
interpreted as a request to attempt to keep the currently set mode,
and do so if the mode query for information is successful and the depth
is supported.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Only update cols or rows if the value is 0.
 - Leave depth alone.
---
 xen/common/efi/boot.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index b69c83e354..766a2553be 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -930,6 +930,27 @@ static UINTN __init efi_find_gop_mode(EFI_GRAPHICS_OUTPUT_PROTOCOL *gop,
     UINTN gop_mode = ~0, info_size, size;
     unsigned int i;
 
+    if ( (!cols || !rows) && gop->Mode->Mode < gop->Mode->MaxMode )
+    {
+        /* If no (valid) resolution suggested, try to use the current mode. */
+        status = gop->QueryMode(gop, gop->Mode->Mode, &info_size, &mode_info);
+        if ( EFI_ERROR(status) )
+            PrintErr(L"Invalid current graphics mode\r\n");
+        else if ( mode_info->PixelFormat < PixelBltOnly )
+            return gop->Mode->Mode;
+        else
+        {
+            /*
+             * Try to find a mode with the same resolution and a valid pixel
+             * format.
+             */
+            if ( !cols )
+                cols = mode_info->HorizontalResolution;
+            if ( !rows )
+                rows = mode_info->VerticalResolution;
+        }
+    }
+
     for ( i = size = 0; i < gop->Mode->MaxMode; ++i )
     {
         unsigned int bpp = 0;
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 31 10:00:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 10:00:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516968.801929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piBYW-0001k1-Nd; Fri, 31 Mar 2023 10:00:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516968.801929; Fri, 31 Mar 2023 10:00: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 1piBYW-0001jo-Js; Fri, 31 Mar 2023 10:00:24 +0000
Received: by outflank-mailman (input) for mailman id 516968;
 Fri, 31 Mar 2023 10: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=uTo5=7X=citrix.com=prvs=447f045ac=roger.pau@srs-se1.protection.inumbo.net>)
 id 1piBYU-00016S-OV
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 10:00: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 d9272ac6-cfaa-11ed-85db-49a42c6b2330;
 Fri, 31 Mar 2023 12:00:21 +0200 (CEST)
Received: from mail-bn7nam10lp2109.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.109])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 31 Mar 2023 06:00:20 -0400
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com (2603:10b6:a03:395::11)
 by DS7PR03MB5557.namprd03.prod.outlook.com (2603:10b6:5:2d3::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.22; Fri, 31 Mar
 2023 10:00:18 +0000
Received: from SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda]) by SJ0PR03MB6360.namprd03.prod.outlook.com
 ([fe80::48a7:d1ab:897:acda%6]) with mapi id 15.20.6178.041; Fri, 31 Mar 2023
 10: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: d9272ac6-cfaa-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680256821;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:content-transfer-encoding:mime-version;
  bh=M19Wr4/u1Hw5Q+a4Q004XZh/o2wNS/KY8iHSo/EjDL0=;
  b=D+YTWypyyUtvJijljEjf7jeGtZpWI+23BKZt0GqZPe4hmMLbSIYnpMuO
   Bp8Wtk044ch3EzbrPaCAGkAsQi5pw2MJC1AifnAEaF5XPisvKjm0YzvX4
   vm4Fca4Ea2W19LXtLCghOi77+zyvk7TKYnm40KJtfPBny//t6OFwslpQa
   w=;
X-IronPort-RemoteIP: 104.47.70.109
X-IronPort-MID: 103834789
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:V+H4LaholW2EJQ0My+4CBsaOX161RhEKZh0ujC45NGQN5FlHY01je
 htvXG3UOP+DNzfxKox0PITi/UMF68DVz4NrTVE9qyBnHn8b9cadCdqndUqhZCn6wu8v7q5Ex
 55HNoSfdpBcolv0/ErF3m3J9CEkvU2wbuOgTrWCYmYpHlUMpB4J0XpLg/Q+jpNjne+3CgaMv
 cKai8DEMRqu1iUc3lg8sspvkzsy+qWi0N8klgZmP6sT5wSHzyB94K83fsldEVOpGuG4IcbiL
 wrz5OnR1n/U+R4rFuSknt7TGqHdauePVeQmoiM+t5mK2nCulARrukoIHKN0hXNsoyeIh7hMJ
 OBl7vRcf+uL0prkw4zxWzEAe8130DYvFLXveRBTuuTLp6HKnueFL1yDwyjaMKVBktubD12i+
 tQ4MzUrdAyE3N6fmqC+E/RQgMg6duvSadZ3VnFIlVk1DN4AaLWaG+Dgw4Ad2z09wMdTAfzZe
 swVLyJ1awjNaAFOPVFRD48imOCvhT/0dDgwRFC9/PJrpTSMilMpluG1YbI5efTTLSlRtlyfq
 W/cuXzwHzkRNcCFyCrD+XWp7gPKtXqjA9JJSOLop5aGhnW49z0dExQNWWf8rMKzkmmZW4pdM
 A8tr39GQa8asRbDosPGdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QOtsU7WDgr3
 V+hhM7yCHpkt7j9YW2Z3qeZq3W1Iyd9EIMZTSoNTA9A6d+8pog210rLVow6SP/zicDpEzbtx
 TzMtDI5m7gYkc8M0eO84EzDhDWv4JPOS2bZ+znqY45s1SshDKbNWmBiwQGzASpoRGpBcmS8g
 Q==
IronPort-HdrOrdr: A9a23:CPZTl6GnjrDZAztDpLqFrZHXdLJyesId70hD6qkRc20hTiX8ra
 vBoB1173/JYUkqKQ0dcLy7WZVoIkmshqKdn7NhX4tKNTOO0AGVxepZnOjfKlPbakjDHuU079
 YeT0AXYuedMbAQ5/yU3OF2eexM/PC3tJmNwcPi5zNVSwduApsQnTuQyGygYzNLrM0tP+tIKH
 JYjPA31gZIAk5nCviTNz0+Ru3eoN+OvIv+CCR2fiIP2U21lDa177y/OASZ2xp2aUIz/Z4StV
 LdlhD/5OGFu/W2oyWssFP73tBtgd78zdkGItKKhtN9EESLti+YIL55XqGEvnQOgMzH0idTrP
 D85y04Oth16TfqcnqrrQDL0w3tuQxekEPK+BujmH7+ps68ez4gEcpGgutiA2Hk13Y=
X-IronPort-AV: E=Sophos;i="5.98,307,1673931600"; 
   d="scan'208";a="103834789"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IwdbeT1NH9i3Wtr7pDMtL3YtuYKhn+nAOoYpLS0hBcw0jIFwzhIAahEGh6QuBC6BvouzqLByoiSpOkGSkP7mxTwKPzTpmlRgziv4Fiq/11RdZImzwJSe21QnSts1UI9ibx2+OWriBa4iYP7ti9NZpfz7Nf/oXA96VAY/13/qNab6sU98QTZFtvt1M54QO981P87PduSybCxFS65Y+2FtvSDapgCX+8dlFaUNHhS9WhIct9ZvxiMa0dnL8GnKRUQni8DPoOAcQAAQ/uvB0itwYJfjF77mfg80Jik6HvH3DnNIML14gO+M0i768LCfFRrNbIrbRT9afS5Uq9HkNnBSQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/gUHftM+0/IaXHuGHEEgkWb+8UwO8uBl34DbIg0DDU4=;
 b=j8OQDqtX4CkhVInjkrknSC9NTwC/sTk6OCaRBc7i+xsSh/z/gOWhzHVQhusPsoFJH6w2AA4etD3JaPNr3IycV5CA3y7ptowmtAu1uD/xLUl4lG9DDCOLTNp4trmr6nR+LzHIGAKFikV4dsv2CWu5laEuuJsRZxIlGtM267Y5iH7/v1HtsaPRMfc00+/b4Bfbn+ZtsiK/f4v+66vU9RxQYlKx9TJtRbEtX3zAPFwUjia0JSM5mjDz0DGrlSh4JNnPChSG7d2o4WsZwlNmiqRAAIqFPvI+6LQBhqb/GGR+/krcehoFSSkvbT9wElzX+CM8mHPRScySBlktoF+8fH+Gqg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/gUHftM+0/IaXHuGHEEgkWb+8UwO8uBl34DbIg0DDU4=;
 b=VGtxQvYoC/y60qrlH8pkUaEVm//wbw4uD0Piy7u1XiFPPSbEPQMKeqDun7oKyRzJC8tqSWapfpEsKj6mBPWvcooDMJEwl1npO7eAaCPfBcfft7ID4S2crr8aLfUCV6v+DllSL9f3gC2iDFI3ZGnWNk4ZMdzkKIqMO6Ibc67Zzs4=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
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 v2 3/3] multiboot2: do not set StdOut mode unconditionally
Date: Fri, 31 Mar 2023 11:59:46 +0200
Message-Id: <20230331095946.45024-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.40.0
In-Reply-To: <20230331095946.45024-1-roger.pau@citrix.com>
References: <20230331095946.45024-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P123CA0650.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:296::20) To SJ0PR03MB6360.namprd03.prod.outlook.com
 (2603:10b6:a03:395::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SJ0PR03MB6360:EE_|DS7PR03MB5557:EE_
X-MS-Office365-Filtering-Correlation-Id: 58f99fb6-eafa-4949-a6f9-08db31cebb6d
X-LD-Processed: 335836de-42ef-43a2-b145-348c2ee9ca5b,ExtAddr,ExtFwd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/OduDf4G3x34y19qsdGVmTgkLjflysEi391dwap/MpFAGMob2qV6H2KrD6xkRagutyvMmDaMFwc2eHqJsaG/mYCezwrA9+uF6FPqH2l6JAlyxG+80EqrE319dRXAW1W4Itnp5GDAv+i62lbwntdP0dU/xhKy+LUsnMyhn9+pQAzK8+M+mw6iJD3ISUUw8CCvIyiJEQbLXY/hIBp+lQ3g0ly2lUlla2QkFj6xj2GwG9WOwKdDjTZuybr9/oMJ3v0gVCCeQ4CO7SQPNOCM3yPG6kQI1ukaeZCyCj5FzoSDlF3ShCr4pbuQKPqhn6N13TL+a1xAxBOztaWYHhIk9ofCXLwGVDzDUZTmJxBWIeMFHWVvpVUlfY0QRVn4es+bKYUXe4PhyeUkKQg3dtrZ69N+c9Dg+DPeRDtvQYRMqvjV1fT8/PmNBVfbhM9hmDRmP3MI13WLg6CMpNA4n+XtPFMiwCHSxjQ9ig3wO6K4oTznOA3tl6BpoVDADNR9Nei8XbyI8oq32geJEmaP7IbS54MO1GjKdaVhuwW4gmN97QwjLkXXQXy2ZzQbKVxOiVQwg0n/AkAAD5Ml3pBtuGmxLffhNfbBpJhXWTl2u+ow69zcblk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ0PR03MB6360.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(136003)(396003)(346002)(366004)(39860400002)(376002)(451199021)(478600001)(41300700001)(82960400001)(66556008)(66946007)(66476007)(83380400001)(2906002)(36756003)(54906003)(8676002)(316002)(4326008)(6512007)(86362001)(8936002)(186003)(26005)(6506007)(1076003)(6666004)(38100700002)(5660300002)(6916009)(6486002)(2616005);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b3FQc05vYUNEWS84OVVCS1I1b3lXLzZIQTJwZXA2Z3NacGFDbGhTcS9xY0FL?=
 =?utf-8?B?UEFBUS9QTCtQUFdER0R1em43SXIvVTFHNTlJUlB6SGpXWFlSUitiaGhHMTV3?=
 =?utf-8?B?MEtjUG5hcjJZQWpTVURGSXF4OUhySTZuWDdacUxod0sxK0p3dDFkMWJCeWMw?=
 =?utf-8?B?SGU2ZlU5anV6S0FybkVTM1U5b2p4cDBkVERsbzV3MExpZndYdVZMMU1rUGor?=
 =?utf-8?B?bXU2UnlIQ0FCVlRENTdmK1lmOGlOa3A4dlltT0gyWllmMUlOdGxFZnJMeFhS?=
 =?utf-8?B?V2ozdTlkSmg0bkwxT0JvNTI4bjdoQVZ5VCttVlZGZU5OQndBSituK1hUalJQ?=
 =?utf-8?B?UVEyZ3VsUmZwVnBRMEhrcjViNFZzYnZCTzJRNjlPTVVBOUFrdFpiV3VNRFdW?=
 =?utf-8?B?TDRWMjZCWk5qbDhYRlJvNkNKVzNoSDh4WnN5NXh5emlXUWRpR0VWaTBRT3o4?=
 =?utf-8?B?K2tvUG1wbTA4eHNucng2V2FkS3RkYktSVHNvVGpZK1dHSVlYc1dFS2NoWjlB?=
 =?utf-8?B?RWU3QkNrQ0lCZVprYTVwNVBQMVYxeTFxSHJCUVlaaU5VMnRPNUpzY1F4NjI0?=
 =?utf-8?B?VHFIQS9GWUpsVWNvaGlSRDc0Z1gzY1daSHlVYWlxeHNudmhJOFZlYnhDTmw1?=
 =?utf-8?B?T3ZIVXROMWozOTZvUGpwVG5iQ3BJWUdQajRqYzJYZk5iM3FkMVJxUHBRUTUw?=
 =?utf-8?B?OFZCQ0xrL2JxZ2hOYjZkQ0NhckgySUJYS3krNFNNa0pZV2hvYU9hYWQxL2w4?=
 =?utf-8?B?cDFkRHBXRkw2aXVicjJsR1ZlR3I2YlNxWkx3TUpyUlZlNTlxTC93cFh3QjUv?=
 =?utf-8?B?WGlKZWc2ekQwUkt4L2J3aUc5RC90Mk9tczU2Sy9KckpjeUpvbG9kYVNJZllI?=
 =?utf-8?B?L2x0aEw2UjJXeEZQQWluVGZYZlo1OHhRQ1pvRXBoTStVL3BmTThSSDM4YzA3?=
 =?utf-8?B?RktETXZBYUJBZnBSS0ZLQnVBQWZ3NXhoRzU0YWdWZzJieWZFNE5RU05nNExR?=
 =?utf-8?B?QTdhL0hvblEvOWNzMWluMnlVdkJKSGp3QU9sVnZTRHpzRFdGWXUyL1dJTU1s?=
 =?utf-8?B?Rm5QSjJJbEZ6dFlIdUtTbFRWZ29Td3hVUEd5ZjlRbC81SHVaU25PK0c1ZVVP?=
 =?utf-8?B?bnhyVXJQcXRsUFRxS2JTTGZtelRlQ3d6SUVWaG9UQm1KTUY4bko5bXhBQ1Zw?=
 =?utf-8?B?dXBzYTBTQlJ2SGpoTWpyZjJtY2pxZC9oQ3BuMzFqWTJsbGZWQms5eURnNC9Z?=
 =?utf-8?B?S0M1QlFBRVRzTksvZk5ZOXdDRDNSNkR2YUNCWXgzWmdMekJMUG56U3ZlWUUv?=
 =?utf-8?B?WmNsbFV6SzhEak4zTTdVbVFwQmYrWDhNNmxsTlBaNWY2US9zSWxJY1pCMEFL?=
 =?utf-8?B?QWRXMVhCemhZZXl4UDdWRXp1RjJlNVFPWHVybkJacDJlMUsrRGpoWEZEUWRT?=
 =?utf-8?B?QUJBTjR4M2MrOUwwUFB1TWNDTllpaDJEdDRGU2lvZDJESW1GNXZZYlpDS0FZ?=
 =?utf-8?B?MGlvTlFYWTF0N1pZaWZKY3BLdVdZQXZIOEZsZEpEYVJCazhyU05uQjVTRWww?=
 =?utf-8?B?OXRscjBweWlidUkwS3NYdlR2UU4yYWNPREp2L0RneDJxT0YrQ2gzTUZTa0di?=
 =?utf-8?B?b0U0QVYvRmdGbnlzcndPcnBsMFVpdmViMVhKbklTVHhnclVTUmRLL3BUUWkz?=
 =?utf-8?B?eVZ0MDFGRGpoSGkzbTJBRElZOTg2Z1ZOeUxPU3VZOU9jM1FCOUpzbzIxc0JT?=
 =?utf-8?B?dFpYVVFBYkV6aHhjSFc1ei9EclhZa043VjYwN2ZlNnZMQjB6ZEFtUGZTK3RX?=
 =?utf-8?B?YW9oeW5KR25aZWc1dGNNSGJ5T0ZrWmM2K255NVIyeTBIZ2tGaG9aaFZEU2Ru?=
 =?utf-8?B?YjN1M1RwK3Ezd0c2bFc4YjRYS2dUZHcrYnJIdW80Z0s3VFhkbjFVa1RSR3Vv?=
 =?utf-8?B?WVBydjBSeUtBV3VqZS96VUt1QUlPcUttbTZvQnc4VkRFQzFBWThCY3NjNURx?=
 =?utf-8?B?eEJvMFMydlg5VmdaNVJtMGgwc3BJa29lQXVFcXNWNTgyc3pVOHo2K1p3TGVX?=
 =?utf-8?B?NmRmV1NDYm1sV1hITktWNDNBOXZOREtpaUFJUXZIYTNPY3g5U2tVZjdYRTRw?=
 =?utf-8?Q?XtMDDwYPNPtE2MTWPOA1UL5Zh?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	X4IIke7tDZbZQ6eDb0ySNpIfrqYke0cDRPVo8olbEwdHTQmiIaQ2hRwmeCfuw2YcEjmBVSLp7aWshb/NrmbyDeOewb3BfCbTPTyVh57ZQe3aKKKhY5yEzdtgk1aAOL/sVEj1Uez5Fc65qCqc3UnzjoU5Zo+CRdnf4Cg5+FnrQkoYuqGinLb2xhBkuwnTyZ+lKFj+fB/bJTR5XuxacrA3j3E50BZAQoyNrp28iINWZzBXJwCjkn/Y5AKzvexM15ylQ9qC+Wyrs0TCnIqE0/C10MajNnT5vwDOMSdTX93n/xa83tCDVnZFPWSRfptXjwOILSjLpJG0r7Jp/uAFBJJRzt/ScL8yAGcE8t/tp+Fue7pVDuI1FgOhArMmu5ac9Z0QSDypki4Mhh5jXkep/penRpQM6qDEZiMIhnv/ITSoYXAN6v/ns2pcSTNifbYdv5XkZiNn66y7kcmcw4bFIRiB2sgfCbTRdaqqtIEtwA09s2gngJ9UHcWanxmb0pGkQuoEFjsmbviMOLkLRX0/ztp+GyeSI05PzlOfyhOqPis5v41ZYXWL34EDN/5vBD9B0F1dIms3ls7tnqXBCvtp6zUxhR2S75quvhoDDFBl9aSaDNiNH8WzxQcY/jMQiQcpKJ6klN5knbSDXo7FTya8uWlF3AwPhDbFDDcrOwhHvtqpFALk7PTwgMQkZDQCRYa0SW7Ld5XluEe39vkPKLX7i2OI58378KBQeHsQGtC+Eqr1LXsAF4XBdNZ8I1YnGirwkMqvhTOp3Iuub2k92xJoi2LWDtUgU4FlQQ5glvtR7wC3BYA0HzYCDGHXmOAd7nCpVk51+gwvB5Sb3yGow0I4VeazIg==
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 58f99fb6-eafa-4949-a6f9-08db31cebb6d
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR03MB6360.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2023 10:00:18.3106
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: J4MikM2Pjn9vHBDui3VDQWCfTGOQ6NaCRzFR1EN7oBQzKsDhWNHVVWtw7KdEE3CpY3sOX4hsxXfNYJOvuAhETg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR03MB5557

Only initialize StdOut if there's no GOP available.  This avoids
forcefully switching StdOut to the maximum supported resolution, and
thus very likely changing the GOP mode without having first parsed the
command line options.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - New in this version.
---
 xen/arch/x86/efi/efi-boot.h | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index f46c1f021e..42aa135446 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -820,12 +820,6 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable
 
     efi_init(ImageHandle, SystemTable);
 
-    efi_console_set_mode();
-
-    if ( StdOut->QueryMode(StdOut, StdOut->Mode->Mode,
-                           &cols, &rows) == EFI_SUCCESS )
-        efi_arch_console_init(cols, rows);
-
     gop = efi_get_gop(&gop_handle);
 
     if ( gop )
@@ -887,6 +881,15 @@ void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable
 
         efi_arch_edid(gop_handle);
     }
+    else
+    {
+        /* If no GOP, init ConOut (StdOut) to the max supported size. */
+        efi_console_set_mode();
+
+        if ( StdOut->QueryMode(StdOut, StdOut->Mode->Mode,
+                               &cols, &rows) == EFI_SUCCESS )
+            efi_arch_console_init(cols, rows);
+    }
 
     efi_arch_edd();
     efi_arch_cpu();
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Fri Mar 31 13:05:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 13:05:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516990.801939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piEQw-0003qE-U3; Fri, 31 Mar 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 516990.801939; Fri, 31 Mar 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 1piEQw-0003q7-QU; Fri, 31 Mar 2023 13:04:46 +0000
Received: by outflank-mailman (input) for mailman id 516990;
 Fri, 31 Mar 2023 13:04: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 1piEQv-0003px-4h; Fri, 31 Mar 2023 13:04: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 1piEQv-0005zT-1M; Fri, 31 Mar 2023 13:04: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 1piEQu-0006wc-Iw; Fri, 31 Mar 2023 13:04:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1piEQu-0001sX-Er; Fri, 31 Mar 2023 13:04: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=EJGulChphEGC4RLyfFfOXx211Xq9MJ+gvNceBG2xpbA=; b=SdS5gU4wf7PO7IAF9T/DDHk0WX
	sRuL/qcDCh6EjkMSiudUXQXeHak5C8NUgG65esTroI8FqfsVsDgtUyYpzlusiFijojPlTWEfSYVVo
	hpkSaP4pACcs/Jd6flOm/lOIOrZAGAk7S39152bSxb3RICCXM6Bu5SYlgB1MTPReKMfA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180080-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 180080: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    libvirt:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:regression
    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-i386-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-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-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-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:build-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    libvirt:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    libvirt:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    libvirt=0bfd11dd852335c1274b6dc1e771bd745d1fd94d
X-Osstest-Versions-That:
    libvirt=2c6b5a84257379e516ca1999782dca88dfd8a9de
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 31 Mar 2023 13:04:44 +0000

flight 180080 libvirt real [real]
flight 180087 libvirt real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180080/
http://logs.test-lab.xenproject.org/osstest/logs/180087/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail REGR. vs. 180061

Tests which did not succeed, but are not blocking:
 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-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-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-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-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
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 libvirt              0bfd11dd852335c1274b6dc1e771bd745d1fd94d
baseline version:
 libvirt              2c6b5a84257379e516ca1999782dca88dfd8a9de

Last test of basis   180061  2023-03-30 04:20:17 Z    1 days
Testing same since   180080  2023-03-31 04:21:50 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                     starved 
 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                               starved 
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-vhd                                 fail    


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README;hb=master

Test harness code can be found at
    http://xenbits.xen.org/gitweb?p=osstest.git;a=summary


Not pushing.

------------------------------------------------------------
commit 0bfd11dd852335c1274b6dc1e771bd745d1fd94d
Author: Peter Krempa <pkrempa@redhat.com>
Date:   Thu Mar 30 11:42:31 2023 +0200

    conf: Clear pointer to freed bitmap holding hostdev's 'origstates'
    
    'virDomainHostdevDefClear' must clear the pointers too as it can be
    invoked multiple times on the same object e.g. inside
    qemuDomainRemoveHostDevice once via virDomainHostdevDefFree which skips
    freeing the object if it's used via <interface> and thus has a 'net'
    definition corresponding to it, and then subsequently via
    virDomainNetDefFree.
    
    Fix it by clearing the pointer along with freeing it.
    
    Fixes: d9e4075d4e9
    Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2182961
    Signed-off-by: Peter Krempa <pkrempa@redhat.com>
    Reviewed-by: Ján Tomko <jtomko@redhat.com>


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 14:23:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 14:23:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.516997.801952 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piFfB-0003TC-Is; Fri, 31 Mar 2023 14:23:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 516997.801952; Fri, 31 Mar 2023 14:23: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 1piFfB-0003T5-Fw; Fri, 31 Mar 2023 14:23:33 +0000
Received: by outflank-mailman (input) for mailman id 516997;
 Fri, 31 Mar 2023 14:23:31 +0000
Received: from se1-gles-flk1-in.inumbo.com ([94.247.172.50]
 helo=se1-gles-flk1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=4TQI=7X=citrix.com=prvs=447e39241=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1piFf9-0003Sz-5E
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 14:23:31 +0000
Received: from esa5.hc3370-68.iphmx.com (esa5.hc3370-68.iphmx.com
 [216.71.155.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 98b4cd8c-cfcf-11ed-b464-930f4c7d94ae;
 Fri, 31 Mar 2023 16:23:26 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98b4cd8c-cfcf-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680272606;
  h=date:from:to:cc:subject:message-id:references:
   mime-version:in-reply-to;
  bh=MUUvTA6+WipI0M3QYAnR36sZaHtPvHvArxepZlCbb4w=;
  b=VTWkh/w5udZhnuzxtBXjSiwKWno1Ds0nduqwTwiOmPhOoBFmfg0za3ll
   /Pu5OX3hgAK1+aIqaJGQnwwVgcZPK7/52hG++//lMbQqAgCf8wv4BaICl
   Xj3JDCBWcogxf1trrtumgCkGZggs2DGb+ILU+ENYA/bo1qfz5BYRG/wAw
   Y=;
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 102638425
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:tT+BB65KzA+BF9O1Lg28PgxRtN7HchMFZxGqfqrLsTDasY5as4F+v
 jAcXGiFPPiPMWCgc9t1bd/kp0MHuJ6AzdBlQAE6rS03Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRGvynTraCYnsrLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9VU+7JwehBtC5gZlPasQ5QeH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m5
 d8YDDIgS1e/rqGH2Jy3TLRItup/BZy+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmeJUQVYT/7C7pn9AusrnD5bz1frkPTvact6nLf5AdwzKLsIJzefdniqcB9xx7C+
 DmWoz6kav0cHMKgxD2k8U2guuzotC/+fdIQFLK/+eE/1TV/wURMUUZLBDNXu8KRkEmlUchYL
 E8S0iUrpKk2skesS7HVXRKip2WflgUBQNcWGOo/gCmE0qfO6hyVLnQFRDVGLtchsaceVTEsk
 1OEgd7tLThuq6GOD2KQ8K+OqjG/MjRTKnUNDQcAUAAMpdfqpoo+ihbSZt95Fei+ididMTv92
 SyQpS4ywbAal9cW1r6T9ErCxTmro/DhUQod9gjRGGW/4WtRe4OkIYeo5F7z5OxFao2eSzG8U
 GMswpbEqrpUVNfUyXLLGb9WdF202xqbGC3/gXptMrxmyx3uymaNcYYNxAFQeG48Z67oZgTVj
 F/vVRJ5vcEDZCHxMf8qM+pdGOxxk/G+SI2NuuT8K4MXP8MvLFLvEDRGPxb44oz7rKQ7fUjT0
 7+/eN3kM3sVAL8PINGeF7ZEiu9DKszTKAruqXHHI/ePi+D2iIa9E+ttDbd3RrlRAFm4iAvU6
 c1DEMCB1g9SVubzCgGOr95LdwhTdiBlWMmtwyCySgJkClsOJY3cI6WJneNJl3JNxMy5adskD
 lniAxQFmTITdFXMKBmQa2ALVY4Dqa1X9CphVQR1ZAbA5pTWSdr3hEvpX8dtLOZPGS0K5aIcc
 sTpjO3ZWq4VGm+ao2tCBXQ/xaQ7HCmWacu1F3LNSFACk1RIHlKhFgPMFuc3yBQzMw==
IronPort-HdrOrdr: A9a23:i33AaqxR6Vp0H4T6UVGoKrPwLr1zdoMgy1knxilNoRw8SK2lfu
 SV7ZMmPH7P+VIssR4b9exoVJPufZqYz+8S3WBzB8bGYOCFghrKEGgK1+KLqFeMJ8S9zJ8+6U
 4JSdkGNDSaNzhHZKjBjjWFLw==
X-IronPort-AV: E=Sophos;i="5.98,307,1673931600"; 
   d="scan'208";a="102638425"
Date: Fri, 31 Mar 2023 15:23:00 +0100
From: Anthony PERARD <anthony.perard@citrix.com>
To: Luca Fancellu <luca.fancellu@arm.com>
CC: <xen-devel@lists.xenproject.org>, <bertrand.marquis@arm.com>,
	<wei.chen@arm.com>, Wei Liu <wl@xen.org>, George Dunlap
	<george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, "Juergen
 Gross" <jgross@suse.com>, George Dunlap <george.dunlap@cloud.com>
Subject: Re: [PATCH v4 10/12] xen/tools: add sve parameter in XL configuration
Message-ID: <9bd2924b-bb4a-440d-ae31-0253e66c56e5@perard>
References: <20230327105944.1360856-1-luca.fancellu@arm.com>
 <20230327105944.1360856-11-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <20230327105944.1360856-11-luca.fancellu@arm.com>

On Mon, Mar 27, 2023 at 11:59:42AM +0100, Luca Fancellu wrote:
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index 10f37990be57..adf48fe8ac1d 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -2952,6 +2952,17 @@ Currently, only the "sbsa_uart" model is supported for ARM.
>  
>  =back
>  
> +=item B<sve="NUMBER">
> +
> +To enable SVE, user must specify a number different from zero, maximum 2048 and
> +multiple of 128. That value will be the maximum number of SVE registers bits
> +that the hypervisor will impose to this guest. If the platform has a lower

Maybe start by describing what the "sve" value is before imposing
limits. Maybe something like:

    Set the maximum vector length that a guest's Scalable Vector
    Extension (SVE) can use. Or disable it by specifying 0, the default.

    Value needs to be a multiple of 128, with a maximum of 2048 or the
    maximum supported by the platform.

Would this, or something like that be a good explanation of the "sve"
configuration option?

> +supported bits value, then the domain creation will fail.
> +A value equal to zero is the default and it means this guest is not allowed to
> +use SVE.
> +
> +=back
> +
>  =head3 x86
>  
>  =over 4
> diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
> index ddc7b2a15975..16a49031fd51 100644
> --- a/tools/libs/light/libxl_arm.c
> +++ b/tools/libs/light/libxl_arm.c
> @@ -211,6 +211,8 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>          return ERROR_FAIL;
>      }
>  
> +    config->arch.sve_vl = d_config->b_info.arch_arm.sve;

This truncate a 16bit value into an 8bit value, I think you should check
that the value can actually fit.

And maybe check `d_config->b_info.arch_arm.sve` value here instead of
`xl` as commented later.

> +
>      return 0;
>  }
>  
> diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
> index fd31dacf7d5a..ef4a8358e54e 100644
> --- a/tools/libs/light/libxl_types.idl
> +++ b/tools/libs/light/libxl_types.idl
> @@ -690,6 +690,7 @@ libxl_domain_build_info = Struct("domain_build_info",[
>  
>      ("arch_arm", Struct(None, [("gic_version", libxl_gic_version),
>                                 ("vuart", libxl_vuart_type),
> +                               ("sve", uint16),

I wonder if renaming "sve" to "sve_vl" here would make sense, seeing
that "sve_vl" is actually used in other places.

>                                ])),
>      ("arch_x86", Struct(None, [("msr_relaxed", libxl_defbool),
>                                ])),
> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> index 1f6f47daf4e1..3cbc23b36952 100644
> --- a/tools/xl/xl_parse.c
> +++ b/tools/xl/xl_parse.c
> @@ -12,6 +12,7 @@
>   * GNU Lesser General Public License for more details.
>   */
>  
> +#include <arm-arch-capabilities.h>

Could you add this headers after public ones?

>  #include <ctype.h>
>  #include <inttypes.h>
>  #include <limits.h>
> @@ -1312,8 +1313,6 @@ void parse_config_data(const char *config_source,
>          exit(EXIT_FAILURE);
>      }
>  
> -    libxl_physinfo_dispose(&physinfo);
> -
>      config= xlu_cfg_init(stderr, config_source);
>      if (!config) {
>          fprintf(stderr, "Failed to allocate for configuration\n");
> @@ -2887,6 +2886,29 @@ skip_usbdev:
>          }
>      }
>  
> +    if (!xlu_cfg_get_long (config, "sve", &l, 0)) {
> +        unsigned int arm_sve_vl =
> +            arch_capabilities_arm_sve(physinfo.arch_capabilities);
> +        if (!arm_sve_vl) {
> +            fprintf(stderr, "SVE is not supported by the platform\n");
> +            exit(-ERROR_FAIL);

"ERROR_FAIL" is a "libxl_error", instead exit with "EXIT_FAILURE".

> +        } else if (((l % 128) != 0) || (l > 2048)) {
> +            fprintf(stderr,
> +                    "Invalid sve value: %ld. Needs to be <= 2048 and multiple"
> +                    " of 128\n", l);
> +            exit(-ERROR_FAIL);
> +        } else if (l > arm_sve_vl) {
> +            fprintf(stderr,
> +                    "Invalid sve value: %ld. Platform supports up to %u bits\n",
> +                    l, arm_sve_vl);
> +            exit(-ERROR_FAIL);
> +        }
> +        /* Vector length is divided by 128 in domain configuration struct */

That's wrong, beside this comment there's nothing that say that
`b_info->arch_arm.sve` needs to have a value divided by 128.
`b_info->arch_arm.sve` is just of type uint16_t (libxl_type.idl).

BTW, "tools/xl" (xl) use just one user of "tools/libs/light" (libxl), so
it's possible that other users would set `sve` to a value that haven't
been checked. So I think all the check that the `sve` value is correct
could be done in libxl instead.


> +        b_info->arch_arm.sve = l / 128U;
> +    }
> +
> +    libxl_physinfo_dispose(&physinfo);
> +
>      parse_vkb_list(config, d_config);
>  
>      d_config->virtios = NULL;

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 14:24:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 14:24:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.517002.801962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piFg5-0003y2-UA; Fri, 31 Mar 2023 14:24:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 517002.801962; Fri, 31 Mar 2023 14: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 1piFg5-0003xt-Pm; Fri, 31 Mar 2023 14:24:29 +0000
Received: by outflank-mailman (input) for mailman id 517002;
 Fri, 31 Mar 2023 14:24:27 +0000
Received: from se1-gles-sth1-in.inumbo.com ([159.253.27.254]
 helo=se1-gles-sth1.inumbo.com)
 by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from
 <SRS0=Vsh6=7X=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1piFg3-0003sp-DE
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 14:24:27 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc97c264-cfcf-11ed-85db-49a42c6b2330;
 Fri, 31 Mar 2023 16:24:26 +0200 (CEST)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by IA0PR12MB7579.namprd12.prod.outlook.com (2603:10b6:208:43c::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.23; Fri, 31 Mar
 2023 14:24:22 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::659f:af8f:6d3e:8242%4]) with mapi id 15.20.6254.024; Fri, 31 Mar 2023
 14: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: bc97c264-cfcf-11ed-85db-49a42c6b2330
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E8Lc/baoLl3jEjTmJj4wYbipweqFRmdV3SfUk7Mg7gdQKVDmUM0lFD/2WrqGDhqKCiD5gxYZ0+8RDgeK+XI3HdmWqLr5IiLGfWTkPIh+1uyaHoYBTg4v7P7CpLmIrtrPVthiUr4Sr8dImUgP75fGrJa4v/rlqUboEVkaNWnOhD8oH5Quukmx2H4oQdGRicAi/ktELAwZXEaP/0IcGE7KcMoGQE2m/FSip0mrhwiNzGRfNbPKSVbMoLN3y0Obn+yLOALeV90st72FnoqvD/tf6wBxGMEpWMcZbRFIAQpdqpJmtY1OprsKcSeSn3U2HFdwRo/sNEtNyhw0hEpmCT/oBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hNXy4+uNae/wj0KYsQCSgQVNoWDjOYKOm9OrEgS8sro=;
 b=cv0OfzXKkAk9l5BapTp6NcTXrc9YDNQMLsKvrUD4+cbQf+x00ntnuIKMKxxgG+M6ODjdbM4IhOJrSgK0+dTHG8bBrkL6BvU4okcSxtuF479Lpvr94NpYvW7++zzMnjWr+THD+MCLxCtuaTU2IINmpq2HHmi0xPLL9jFMkaPGXC8iSZBld4YDdo98Z7BxaNGlYWFBSClFqTc6mOLIb1hhn8tivoq5tYaya39XR1lnCFiZIgCZWzkzMXEd5QgyotXHjn9LRUckCDDirdo7zoms3e1qO1cA2FcfiZQsueYmeYvn3mCpjDwK7ojQ2hpo1qtLwJFr5r987X7TYVAgxFr62w==
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=hNXy4+uNae/wj0KYsQCSgQVNoWDjOYKOm9OrEgS8sro=;
 b=x5hcRKgzTSHlakswKVxmzq0cDnIhG3KCrV7CT80fMIkNi48kimmQbCs02UVLjh0mVVwy1wIBrJjqx5RYURkikF2f6gvRbry388o/Ik5USxVfCR/7VXUT7LrSqR445k21AtHSH2LOUR8o4gBGAoBMdPGw/ilw3QgzrqeCoXWuAtY=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <47c54c8b-98bb-5bbb-d5a1-05214e51537b@amd.com>
Date: Fri, 31 Mar 2023 15:24:15 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.0
Subject: Re: Need help on a issue (Unable to schedule guest for Xen on Arm)
To: xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>
References: <b4badb12-8887-d8d8-138e-8b4536ad95a4@amd.com>
 <2f7a00eb-50c9-bee7-231e-9285ffa4c9a9@amd.com>
 <e556f895-2b3f-92eb-a6be-e51f04fc869d@xen.org>
From: Ayan Kumar Halder <ayankuma@amd.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "Stabellini, Stefano" <stefano.stabellini@amd.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 "volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 "Garhwal, Vikram" <vikram.garhwal@amd.com>
In-Reply-To: <e556f895-2b3f-92eb-a6be-e51f04fc869d@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO3P123CA0028.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:388::20) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|IA0PR12MB7579:EE_
X-MS-Office365-Filtering-Correlation-Id: e9802754-ca3d-4383-22ec-08db31f39f23
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UOjXwxMnTQLGsxnS2hfCgR3/7G5VTZiyOGdNs/FGYlN9w28J5/6nNSOCJSqlnsg5uNCNbwt8a1rvbAIVpFWmc00rlFlaxN8vAcjWFhLcakFmn4UPCNl+gXoi7qu+cnfw0ZNv6ouo16A6yapRdJOvhNcVn+qXcTAIsAZMnIu3N/mjQDJBaEcbN8U8Do9mq/FhPjo+IDfCIcK7PE+Xk42AWeF4ExftuMNHOmxtwDGfe2h7fFrdffT98fZzysDlwp/8/0CYdjj699V1fzrhjtpoWHkTrQfuODSPwXPl+FyxsF4WRQJtkHWiXu56lfuAeHkWbZSVqjWoVoAkv6Y/hdgraTS6Xv7KTmx1C4J0zZ31plvaoyZVN7/NeuYYj9ol/KeSKJw+Z07nOhuAIa0+4hA97sUCj4oJnYwQ82nMbOUKuWp8Fhd4p1Vb8iR8cugWFIYbfR7HRpuqC/b6amX7T2JyIfimR7JS400yOHv3dbp3xMkn4vx2u8e2M/oT1hI7zEwrargy+hLg6wEJT3ByAIkNOb14PULY08NcMMijvnDrqruNEyjyoKVidmmseqSMFtqKUZukqsqmQ7q5GjyfQCvn1OQGd9p4Im0pPFVuaG+noFKzAFKfpmXQpAw4Pzyf29hAekcSC/zDlVB4dRSoNcItCQ==
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:(13230028)(4636009)(366004)(376002)(39860400002)(136003)(346002)(396003)(451199021)(186003)(316002)(54906003)(478600001)(31696002)(36756003)(6486002)(8936002)(38100700002)(2906002)(5660300002)(4326008)(66946007)(6916009)(66556008)(66476007)(8676002)(41300700001)(6512007)(26005)(53546011)(6666004)(6506007)(83380400001)(2616005)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d1cweDRONUVLd1UyV1ZMZUIwdmQzWi93UDV2R3hGQUc5TXRQSkdvcklxUitF?=
 =?utf-8?B?clJCT2FDVGNaS0VTRC9teVJacU9UVHNWZlYyMTVFUE9NdjdZd2czMTh6bmpC?=
 =?utf-8?B?Uzlsa2UxdlBWOVNtZGtDdFRtQkNoWWZsNlE1RHc1VmZmaENXRGtaTGM3OThJ?=
 =?utf-8?B?RDNXcXZVejdiZVkwMklPN2ZBeDFZN2R4elVWUExpQThxUzl2YWJVYmhWNHhJ?=
 =?utf-8?B?cFpkQVhDNDgyVldCRTFwSFVTei9xbC9DNW1aMmxRY29DN2RzQXJKWGQwNWF5?=
 =?utf-8?B?NngrUERKQzlSTUVVSGdJbXBGdHhnRndXdk4wQWV6Y0NtY1lnTmJjcXUyWXlB?=
 =?utf-8?B?NVY2dEFnenBqWmoxejdRMWJtZS9iUDg0TERoMDJHZmI5cTFNL0lFZGRxL2Nx?=
 =?utf-8?B?cDVKTUhCQnFLTURZSHBhRlBHaEZnMlYxQTB4Z1c5QXFjazF6emtUYVN4NjRm?=
 =?utf-8?B?eXZ0SzF4dEIrR0dVc0xieXRJc3VhSVV1Ly8vRytsbGQzRXM3VEo3M3YyM2xI?=
 =?utf-8?B?NFFnV3Q1VmZEd0NPMDh2T3M4SGNVdW1YTWR5TVRCOVhVV2RnM1ZIck9hSnBH?=
 =?utf-8?B?VllVbUpZRXE0OEFwUko5ZFY4cmV1cWtNNmsyYTB2L3BGOExPV2xBa0dnOEFE?=
 =?utf-8?B?SUswSjZONXZhYnpwZGNCb3Rnb0wzaEJSQkJJcjFQd1VxKzgzREd6d1FnR1dE?=
 =?utf-8?B?bzF0MTZOeTZuM3BYZlZoRzFFTHArbjZxNVlzYi96aTJ5NTlFVmdPZGZ4MHYw?=
 =?utf-8?B?VytDUnZoVHB3NHJGdW5pN3pzTGJnVmVZTXZhMlZWa1F4SEx1M2FNQzZ6eGRJ?=
 =?utf-8?B?VTZDRUc0WGlLT1E1ZFFIM293dWxpdWQ0OUxhQXpSMHhiZmJOcTlxWHc0S3F0?=
 =?utf-8?B?cmtlY2FmRVUyUDJpSElZRzc0aCtBMnZZRlpNUWlvWGZ6a0xDU3c2SlJMRUtZ?=
 =?utf-8?B?WkJiNGcyS1oxeXJHMmd5bmhSRmdPTEdBMlQ2VmZ1WVhreGRuUklLMDRiQkcx?=
 =?utf-8?B?dXRBNUhaWmVDTDJRb3Jsd0ZiTjBkMHQxYlZVbER6NE5BelZlVHU5R2ZqR0da?=
 =?utf-8?B?S0NLUXFVN0V6ZjBqWDBlVCtvZWhHbjZ5aUZpZnJieXJQTFdNOWFNdVRmY1lj?=
 =?utf-8?B?M29yZWtmcExrbmJ4TWZDcUN4dFlSSndSeWJtMGdjT0FMU2ZvRlJXWkZJTkJ1?=
 =?utf-8?B?NEVGcWFER1Brcmg2NUJDRitwQmhmbDRadFhSTy9kNzQwdERSSXdXOW9KOGRi?=
 =?utf-8?B?SkNtRG5teVNOek04UkFHdTV3dW5OTXlGTlphQ1JmVVpTRzNSaDlMYnNHeVZ3?=
 =?utf-8?B?NU1pT2ZWbkF4eHpxZGVJZzZubXQ5anFRbmhDVmplMzdVUk9LaGFsRHJDbzQ2?=
 =?utf-8?B?eFlMNVRkbXNWTElGZzJCUmpBbDdTbEh5Q2djb3lWRlQzNDhmWVlZQjNqVllZ?=
 =?utf-8?B?Q28remUyR1JUa2NIZFEwMkkrbm9iNWVWTHpmQVZiK2NHYVVNTEIra1o4KzRk?=
 =?utf-8?B?RC91QnlrallyTGQzbXZDWTRaN211N201bGpKamo1TEJpdmE3bFIwS1plQmha?=
 =?utf-8?B?eGE2OWQyNnAvRDdFTWZhM0I1MVlSTFEwUHFwV2Uxc2ZIWFI1S3lkcFN1a2J3?=
 =?utf-8?B?eFg3cGFKOFZMYU5RMTFMRzhld2RBdHBBYTBhZ3pBdWwwLzR4OHh0c21uUy80?=
 =?utf-8?B?ZFk1eEtJMDh2QlVHbldHeTZoRjF3OFZCZmJya3NYWHJYSnk3Wm4xeVJUY3hN?=
 =?utf-8?B?YVN3blROcklKMzB5SEd1b3R0R1lvUk52L2YxR2t3cldXLy9aZkQ4YUZNQ05I?=
 =?utf-8?B?UVNCYjZTRmNYK0I1SHVuaTh5VitiZ0U3aHJOdlpNRFVpZmtlRGZSZVhEUU1a?=
 =?utf-8?B?TnBnanFjeFZ5VG5MYjVwUkttM2RPUllKZTRiWWk0UmRHcVI2SzIvNDl0engy?=
 =?utf-8?B?RnAxbTdWdXVpTGVNeUdPa1VlZWROR3ZGaFpqY3VISGhUSUdNRTRRT0lKT0pV?=
 =?utf-8?B?QjZZaEd5NEwvM0ZNUHlJbGtrU09malMrVUYwcDAyNUJmNGtKZDR3RDVIb1ZZ?=
 =?utf-8?B?SmZOMzhRWFVlUjlMdHYrRVhhWjFGbzN1TjVYRU9tT2VRTVZXL2g2cWNVZ0w1?=
 =?utf-8?Q?MMkNVYLvB2MJh/iEJC4+miZM2?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e9802754-ca3d-4383-22ec-08db31f39f23
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2023 14:24:22.2681
 (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: zTx+Mli9jGi/Jk7fxSL4mpKAw3Y77o39nB71AY106vXhwSrZeO0IPfNPyxsi3s6TMcmctJMjGmgtXsNTGcqFKA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7579


On 30/03/2023 17:19, Julien Grall wrote:
> CAUTION: This message has originated from an External Source. Please 
> use proper judgment and caution when opening attachments, clicking 
> links, or responding to this email.
>
>
> On 30/03/2023 16:57, Ayan Kumar Halder wrote:
>> (Apologies, fixed the formatting issue)
>
> Hi,

Hi Julien,

Appreciate your inputs.

>
>>
>> On 30/03/2023 16:50, Ayan Kumar Halder wrote:
>>> Hi Xen experts,
>>>
>>> I need some pointers on an issue I am facing.
>>>
>>> I am running my downstream port of Xen on Cortex-R52 hardware. The
>>> hardware consist of two R52 cores (the second core is in lockstep
>>> mode). So, currently the hardware does not support SMP.
>>>
>>> The issue is that Xen is unable to schedule a guest.
>
> Are you sure about this? Because...
>
>> So
>>> leave_hypervisor_to_guest() ---> check_for_pcpu_work() and this does
>>> not return.
>
> ... leave_hypervisor_to_guest() indicates that a guest vCPU was
> scheduled. Before we return to the guest we always check if there is
> some softirq that need to be handled. So...
>
>>>
>>> Debugging this, I see  check_for_pcpu_work() --> do_softirq() -->
>>> __do_softirq() --> timer_softirq_action().
>
> .. the fact that check_for_pcpu_work() doesn't return seems to indicate
> that there is a softirq that is always pending. Can you look which one
> it is?

Yes, it is the SCHEDULE_SOFTIRQ which is always pending. What happens is 
in timer_softirq_action()

     /* Execute ready list timers. */
     while ( ((t = ts->list) != NULL) && (t->expires < now) )
     {
         ts->list = t->list_next;
         execute_timer(ts, t);  <<<---- This invokes s_timer_fn() 
--->raise_softirq(SCHEDULE_SOFTIRQ)
     }

In the next and all subsequent iterations of timer_softirq_action, the 
following gets executed

     while ( (heap_metadata(heap)->size != 0) &&
             ((t = heap[1])->expires < now) )
     {
         remove_from_heap(heap, t);
         execute_timer(ts, t);  /* again raises SCHEDULE_SOFTIRQ */
     }

Thus, SCHEDULE_SOFTIRQ is always active.

So I tried to debug how "t->expires" is set.

It gets set from set_timer() which is invoked from do_schedule().

"set_timer(&sr->s_timer, now + prev->next_time);"

And "prev->next_time" is set from csched2_schedule()

"currunit->next_time = csched2_runtime(ops, sched_cpu, snext, now);"

So, looking at the timer logs .......

timer_softirq_action; 517: t->expires = 0x1415dc73b8  now = 0x14f3b757e8

timer_softirq_action; 509: expires = 0x169ea47ae0 now = 0x17cfb0ac70

timer_softirq_action; 509: expires = 0x1967f86738 now = 0x1a990325b0

timer_softirq_action; 509: expires = 0x1c3149e290 now = 0x1d6254c818

I tried a hack as follows in credit2.c :-

@@ -3740,7 +3744,9 @@ static void cf_check csched2_schedule(
      /*
       * Return task to run next...
       */
-    currunit->next_time = csched2_runtime(ops, sched_cpu, snext, now);
+    currunit->next_time = (0x200000000 + csched2_runtime(ops, 
sched_cpu, snext, now));

With this, the softirqs get cleared. Also reprogram_timer() get invoked 
with non zero deadline and I get timer interrupts.

So, it seems I need to debug csched2_runtime() and see why 
"currunit->next_time" is not set correctly.

- Ayan

>
>>>
>>> In timer_softirq_action(), the problem I see is that for all the
>>> timers, "((t = heap[1])->expires < now)" is true.
>>>
>>>     while ( (heap_metadata(heap)->size != 0) &&
>>>             ((t = heap[1])->expires < now) )
>>>     {
>>>         remove_from_heap(heap, t); <<<<------ So, this gets invoked
>>> for all the timers.
>>>         execute_timer(ts, t);
>>>     }
>>>
>>> So, further below reprogram_timer() gets invoked with timeout = 0 and
>>> it disables the timer. So, timer_interrupt() is never invoked.
>
> Which is expected because there is no timer armed, so there is no need
> to configure the physical timer.
>
>>>
>>> Can someone give any pointers on what the underlying issue could be
>>> and how to debug further ?
>
> See above. You could also look why there is no softtimer pending and/or
> where Xen is stuck (e.g. the PC).
>
>>>
>>> I do not observe this behavior while running on R52 FVP. The
>>> difference is that for most of the timers "((t = heap[1])->expires <
>>> now)" is false, so reprogram_timer() gets invoked with non zero
>>> timeout and subsequently, the timer_interrupt() get invoked.
> This reads as one of the following:
>   1) There is a missing barrier
>   2) You didn't properly configure some registers
>   3) There is an HW errata (I know that some of the Cortex-A had an
> issue in when reading the Timer counter but seems unlikely here)
>
>>>
>>> Also, looking at the following from xen/arch/arm/time.c.
>>
>> /* Set the timer to wake us up at a particular time.
>>   * Timeout is a Xen system time (nanoseconds since boot); 0 disables
>> the timer.
>>   * Returns 1 on success; 0 if the timeout is too soon or is in the
>> past. */
>> int reprogram_timer(s_time_t timeout)
>> {
>>      uint64_t deadline;
>>
>>      if ( timeout == 0 )
>>      {
>>          WRITE_SYSREG(0, CNTHP_CTL_EL2);
>>          return 1; <<<<<<<<<<<<<<<<<<<<<<-------------- Shouldn't this
>> be 0 as the comment suggets ?
>
> I think 1 is correct because we want to disable the timer so this is a
> success. 0 should be return if this was effectively a timeout.
>
> FWIW, x86 also seems to return 1 when the timeout is 0.
>
>>      }
>>
>>      deadline = ns_to_ticks(timeout) + boot_count;
>>      WRITE_SYSREG64(deadline, CNTHP_CVAL_EL2);
>>      WRITE_SYSREG(CNTx_CTL_ENABLE, CNTHP_CTL_EL2);
>>      isb();
>>
>>      /* No need to check for timers in the past; the Generic Timer fires
>>       * on a signed 63-bit comparison. */
>>      return 1;
>> }
>>
>>> Kind regards,
>>>
>>> Ayan
>>>
>>>
>>>
>>>
>
> -- 
> Julien Grall
>


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 17:57:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 17:57:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.517014.801981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piJ0L-0008OI-RZ; Fri, 31 Mar 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 517014.801981; Fri, 31 Mar 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 1piJ0L-0008OB-O0; Fri, 31 Mar 2023 17:57:37 +0000
Received: by outflank-mailman (input) for mailman id 517014;
 Fri, 31 Mar 2023 17:57: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=l1cV=7X=citrix.com=prvs=4478a6bcf=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1piJ0K-0008O5-AO
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 17:57:36 +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 80c8b250-cfed-11ed-b464-930f4c7d94ae;
 Fri, 31 Mar 2023 19:57:32 +0200 (CEST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80c8b250-cfed-11ed-b464-930f4c7d94ae
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680285452;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=fuQPshvUigDB1cxH2VT1nTmph/TYDOfPO4Nsf0h3MtY=;
  b=iZNkubVf/E1iMZBLbX4fN5QO9yaM8NdcQhkfJTGoYxWISlJXap8H69BQ
   AoWrJVZNs4mjgMKBPjCyNOZbAbLICM3mJ3IS8py7NmtY0MnDIkEldcktC
   Xeg/MqLj8WDfZWmlPnlRR+DYEp2EIWnzNWuSXkMDd7lwph37Qr2MwVKq+
   g=;
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 104275096
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.156.123
X-Policy: $RELAYED
IronPort-Data: A9a23:hkMl5a1b5dKHgQCAFvbD5a9xkn2cJEfYwER7XKvMYLTBsI5bp2YAm
 jYfCj3SOazYajT2ed51ad7g8RgOv5SDzYVqSwJupC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdlPKgS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfMDpq+
 O0TCAg2NC+M3NmY4538bMNOiZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGcxKk2aOHWjOX9OYH46tM6uimPybHtzr1WNqLBsy2PS0BZwwP7mN9+9ltmiHJ0JxBnF/
 jOYl4j/KjAUBPi+8iaayWryo/OfuijrYKAIM5Tto5aGh3XMnzdOWXX6T2CTvv2RmkO4HdVFJ
 CQ86ico6KQ/6kGvZt38RAGj5m6JuAYGXNhdGPF87xuCooL2yQuEAmkPThZadccr8sQxQFQXO
 kShxo2zQ2Y16fvMFCzbr+3Pxd+vBcQLBV5ZQSIVRis92IPcr9oIoDHgCfBJMqHg27UZBgrML
 yC2QDkW3utD1ZRQi/XmrTgrkBr3+MGXE1ddChH/Gzv8s1gnPNPNi5mAswCz0BpWEGqOorBtV
 lAgktPW0u0BBIrleMelELRUR+HBCxpo3VThbb9T83oJrW7FF4aLJ9w43d2HDB4B3jw4UTHoe
 lTPngha+YVeOnCnBYcuPdLpUZxzlvC+SI2+PhwxUjapSskZSeN61Hs2OR74M57FyyDAbp3Ty
 b/EKJ3xXB72+IxszSasRvd17ILHMhsWnDuJLbiilkTP7FZrTCLNIVvzGAfUP79RAWLtiFm9z
 uuzwOPRl0UAAb2kP3mOmWPRRHhTRUUG6VnNg5Q/Xoa+zsBOQQnN19e5LWsdRrFY
IronPort-HdrOrdr: A9a23:24KBnKgnJqXgO3rRuHwqY/ryUHBQX1R23DAbv31ZSRFFG/FwyP
 rDoB1L73LJYWgqMk3IwerwQpVpQRvnhPxICPoqTMqftWjdySCVxeRZgrcKrAeQfREWmtQ86U
 4kSdkENDSSNykxsS+Z2njALz9I+rDum87IuQ6d9QYUcegAUdAE0+4NMHf9LqQAfngjOXNWLu
 v+2iMUnUv6RZy3A/7LWEXtCtKz/uHjpdbMTSQ9Qzg69QKJkTSkrITiGxzd5RsGVShTqI1SrV
 TtokjTyp+Y99em1xTby2jfq65OkN+k8NFEH8DksLlJFhzczi2FXr4kfaGetzYop+zq0k8jlJ
 33vh88I94b0QKPQkiF5TDA4TOl6T409mWK8y7DvZK2m72geBsKT+56wa5JeBrQ7EQt+Pl6za
 Jwxmqc87ZHEB/amyz5xt7QEzVnjFC9r3YOmfMayyU3a/pTVJZh6agkuG9FGpYJGyz3rKghDe
 lVFcnZoNpGbF+AaHjdn293hPihRG46EBuqSlUL/uaVzz9VtnZkyFZw/r1Tol4wsLYGD7VU7e
 XNNapl0JtUSNUNUK57DOAdBeOqF23kW3v3QSyvCGWiMJtCF2PGqpbx7rlwzvqtYoY0wJw7n4
 mEeE9EtFQ1Z1nlBaS1rdx2G1H2MSWAtAbWu4NjDqtCy/jBrX3QQGm+oWUV4oidSjMkc4rmsr
 iISdRr6rTYXBfT8M5yrnLDst9pWDYjuYQuy6gGckPLrcTRJoLwsOvHNP7VObr2CD4hHnjyG3
 0ZQVHIVbN9B22QKwvFaSLqKgTQU126+Yg1HLnR/uAVxoRIPopQshINgVD84s2QMzVNvqE/YU
 M7edrc4+uGjHjz+XyN43RiOxJbAEoQ6LL8U2lSrQtPN0/va74Mt9iWZGgX1nqaIR10Sd/QDW
 dk1h1K0LPyK4bVyTEpCtqhPG7fh3wPpGiSR5NZgaGH7deNQOJMMn/nYt0CKezmLW0Hpe8xkh
 YzVOYtfD6uKg/T
X-IronPort-AV: E=Sophos;i="5.98,307,1673931600"; 
   d="scan'208";a="104275096"
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/pci: Correct ECS handling with CF8/CFC emulation
Date: Fri, 31 Mar 2023 18:57:19 +0100
Message-ID: <20230331175719.500285-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 started by noticing the dubious Fam17h check in
arch_ioreq_server_get_type_addr(), and then realising that checking the host
CF8_EXT setting is utterly bogus for the guest <-> qemu emulation path.

What should be consulted here is the guest's MSR_AMD64_NB_CFG setting, but a)
there isn't one, and b) the vestigial remnants of the cross-vendor migration
logic cause MSR_AMD64_NB_CFG to be unconditionally read-as-zero, making the
CF8_EXT path unused by any suitably-written OS in the first place.

MSR_AMD64_NB_CFG really has been removed on Fam17h (it's now just a read-zero,
write-discard stub), and the ECS extension is unconditionally active, meaning
it is not correct for Xen to ignore the ExtRegNo field on newer AMD CPUs.

It turns out that Xen did even have this behaviour in 4.5 and earlier, with
this problematic CF8_EXT checking being added in 4.6.  Therefore, revert back
to Xen's older behaviour - it is objectively less wrong than the current
logic.

While fixing this, get rid of hvm_pci_decode_addr() - it is more complicated
to follow (and to call) than using the CF8* macros in the calling context.
Rename CF8_ADDR() to CF8_REG() to better describe what it does, and write a
comment explaining all about CF8/CFC accesses.

There's one rare case when CF8_EXT is visible to guests, and that is for a
pinned hwdom.  Right now, we permit such a dom0 to modify the CF8_EXT bit, but
this seems like a very unwise idea.  Leave a TODO for people to consider.

Fixes: e0fbf3bf9871 ("x86/AMD: correct certain Fam17 checks")
Fixes: 2d67a7a4d37a ("x86: synchronize PCI config space access decoding")
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>

Whoever reviewed those two patches originally was clearly a fool...
---
 xen/arch/x86/hvm/io.c             | 24 ++++++------------------
 xen/arch/x86/hvm/ioreq.c          | 19 ++-----------------
 xen/arch/x86/include/asm/hvm/io.h |  4 ----
 xen/arch/x86/include/asm/pci.h    | 26 ++++++++++++++++++++++++--
 xen/arch/x86/pv/emul-priv-op.c    | 19 ++++++-------------
 5 files changed, 38 insertions(+), 54 deletions(-)

diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
index 5ae209d3b6b3..b0d3c236e985 100644
--- a/xen/arch/x86/hvm/io.c
+++ b/xen/arch/x86/hvm/io.c
@@ -248,20 +248,6 @@ void register_g2m_portio_handler(struct domain *d)
     handler->ops = &g2m_portio_ops;
 }
 
-unsigned int hvm_pci_decode_addr(unsigned int cf8, unsigned int addr,
-                                 pci_sbdf_t *sbdf)
-{
-    ASSERT(CF8_ENABLED(cf8));
-
-    sbdf->bdf = CF8_BDF(cf8);
-    sbdf->seg = 0;
-    /*
-     * NB: the lower 2 bits of the register address are fetched from the
-     * offset into the 0xcfc register when reading/writing to it.
-     */
-    return CF8_ADDR_LO(cf8) | (addr & 3);
-}
-
 /* vPCI config space IO ports handlers (0xcf8/0xcfc). */
 static bool cf_check vpci_portio_accept(
     const struct hvm_io_handler *handler, const ioreq_t *p)
@@ -275,7 +261,7 @@ static int cf_check vpci_portio_read(
 {
     const struct domain *d = current->domain;
     unsigned int reg;
-    pci_sbdf_t sbdf;
+    pci_sbdf_t sbdf = {};
     uint32_t cf8;
 
     *data = ~(uint64_t)0;
@@ -292,7 +278,8 @@ static int cf_check vpci_portio_read(
     if ( !CF8_ENABLED(cf8) )
         return X86EMUL_UNHANDLEABLE;
 
-    reg = hvm_pci_decode_addr(cf8, addr, &sbdf);
+    sbdf.bdf = CF8_BDF(cf8);
+    reg = CF8_REG(cf8) | (addr & 3);
 
     if ( !vpci_access_allowed(reg, size) )
         return X86EMUL_OKAY;
@@ -308,7 +295,7 @@ static int cf_check vpci_portio_write(
 {
     struct domain *d = current->domain;
     unsigned int reg;
-    pci_sbdf_t sbdf;
+    pci_sbdf_t sbdf = {};
     uint32_t cf8;
 
     if ( addr == 0xcf8 )
@@ -323,7 +310,8 @@ static int cf_check vpci_portio_write(
     if ( !CF8_ENABLED(cf8) )
         return X86EMUL_UNHANDLEABLE;
 
-    reg = hvm_pci_decode_addr(cf8, addr, &sbdf);
+    sbdf.bdf = CF8_BDF(cf8);
+    reg = CF8_REG(cf8) | (addr & 3);
 
     if ( !vpci_access_allowed(reg, size) )
         return X86EMUL_OKAY;
diff --git a/xen/arch/x86/hvm/ioreq.c b/xen/arch/x86/hvm/ioreq.c
index 0bdcca1e1a5f..325a9d118e52 100644
--- a/xen/arch/x86/hvm/ioreq.c
+++ b/xen/arch/x86/hvm/ioreq.c
@@ -285,27 +285,12 @@ bool arch_ioreq_server_get_type_addr(const struct domain *d,
          (p->addr & ~3) == 0xcfc &&
          CF8_ENABLED(cf8) )
     {
-        unsigned int x86_fam, reg;
-        pci_sbdf_t sbdf;
-
-        reg = hvm_pci_decode_addr(cf8, p->addr, &sbdf);
+        pci_sbdf_t sbdf = { .bdf = CF8_BDF(cf8) };
+        unsigned int reg = CF8_REG(cf8) | (p->addr & 3);
 
         /* PCI config data cycle */
         *type = XEN_DMOP_IO_RANGE_PCI;
         *addr = ((uint64_t)sbdf.sbdf << 32) | reg;
-        /* AMD extended configuration space access? */
-        if ( CF8_ADDR_HI(cf8) &&
-             d->arch.cpuid->x86_vendor == X86_VENDOR_AMD &&
-             (x86_fam = get_cpu_family(
-                 d->arch.cpuid->basic.raw_fms, NULL, NULL)) >= 0x10 &&
-             x86_fam < 0x17 )
-        {
-            uint64_t msr_val;
-
-            if ( !rdmsr_safe(MSR_AMD64_NB_CFG, msr_val) &&
-                 (msr_val & (1ULL << AMD64_NB_CFG_CF8_EXT_ENABLE_BIT)) )
-                *addr |= CF8_ADDR_HI(cf8);
-        }
     }
     else
     {
diff --git a/xen/arch/x86/include/asm/hvm/io.h b/xen/arch/x86/include/asm/hvm/io.h
index 54e0161b492c..3f3fb6403ccb 100644
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -144,10 +144,6 @@ void stdvga_deinit(struct domain *d);
 
 extern void hvm_dpci_msi_eoi(struct domain *d, int vector);
 
-/* Decode a PCI port IO access into a bus/slot/func/reg. */
-unsigned int hvm_pci_decode_addr(unsigned int cf8, unsigned int addr,
-                                 pci_sbdf_t *sbdf);
-
 /*
  * HVM port IO handler that performs forwarding of guest IO ports into machine
  * IO ports.
diff --git a/xen/arch/x86/include/asm/pci.h b/xen/arch/x86/include/asm/pci.h
index f4a58c8acf13..3b814f4ebacf 100644
--- a/xen/arch/x86/include/asm/pci.h
+++ b/xen/arch/x86/include/asm/pci.h
@@ -3,10 +3,32 @@
 
 #include <xen/mm.h>
 
+/*
+ * PCI config space accesses with CF8/CFC:
+ *
+ * 1) Write {Enable | BDF | Reg} to CF8 to set an address
+ * 2) Read or write CF{C..F} to access the register
+ *
+ * For sub-dword register accesses, the bottom two register address bits come
+ * from the CF{C..F} address, not from CF8.
+ *
+ * AMD have extention to this protocol to access PCIe Extend Config Space by
+ * storing the 4 extra register address bits in the penultimate nibble of CF8.
+ * This extention:
+ *  - Is unconditionally active on Fam17h and later
+ *  - Has model specific enablement on Fam10h thru Fam16h
+ *  - Has reserved behaviour in all other cases, including other vendors
+ *
+ * For simplicity and because we are permitted to, given "reserved", Xen
+ * always treats ECS as active when emulating guest PCI config space accesses.
+ */
 #define CF8_BDF(cf8)     (  ((cf8) & 0x00ffff00) >> 8)
-#define CF8_ADDR_LO(cf8) (   (cf8) & 0x000000fc)
-#define CF8_ADDR_HI(cf8) (  ((cf8) & 0x0f000000) >> 16)
 #define CF8_ENABLED(cf8) (!!((cf8) & 0x80000000))
+#define CF8_REG(cf8)                                    \
+    ({                                                  \
+        unsigned int _c = cf8;                          \
+        ((_c & 0x0f000000) >> 16) | (_c & 0xfc);        \
+    })
 
 #define IS_SNB_GFX(id) (id == 0x01068086 || id == 0x01168086 \
                         || id == 0x01268086 || id == 0x01028086 \
diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
index 5da00e24e4ff..008367195c78 100644
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -245,19 +245,7 @@ static bool pci_cfg_ok(struct domain *currd, unsigned int start,
         if ( ro_map && test_bit(machine_bdf, ro_map) )
             return false;
     }
-    start |= CF8_ADDR_LO(currd->arch.pci_cf8);
-    /* AMD extended configuration space access? */
-    if ( CF8_ADDR_HI(currd->arch.pci_cf8) &&
-         boot_cpu_data.x86_vendor == X86_VENDOR_AMD &&
-         boot_cpu_data.x86 >= 0x10 && boot_cpu_data.x86 < 0x17 )
-    {
-        uint64_t msr_val;
-
-        if ( rdmsr_safe(MSR_AMD64_NB_CFG, msr_val) )
-            return false;
-        if ( msr_val & (1ULL << AMD64_NB_CFG_CF8_EXT_ENABLE_BIT) )
-            start |= CF8_ADDR_HI(currd->arch.pci_cf8);
-    }
+    start |= CF8_REG(currd->arch.pci_cf8);
 
     return !write ?
            xsm_pci_config_permission(XSM_HOOK, currd, machine_bdf,
@@ -1104,6 +1092,11 @@ static int cf_check write_msr(
         if ( !is_hwdom_pinned_vcpu(curr) )
             return X86EMUL_OKAY;
         if ( (rdmsr_safe(MSR_AMD64_NB_CFG, temp) != 0) ||
+             /*
+              * TODO: this is broken.  What happens when dom0 is pinned but
+              * can't see the full system?  CF8_EXT probably ought to be a
+              * Xen-owned setting, and made symmetric across the system.
+              */
              ((val ^ temp) & ~(1ULL << AMD64_NB_CFG_CF8_EXT_ENABLE_BIT)) )
             goto invalid;
         if ( wrmsr_safe(MSR_AMD64_NB_CFG, val) == 0 )
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Mar 31 20:21:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 20:21:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.517020.801994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piLFW-0006Fy-04; Fri, 31 Mar 2023 20:21:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 517020.801994; Fri, 31 Mar 2023 20:21:25 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piLFV-0006Fr-TM; Fri, 31 Mar 2023 20:21:25 +0000
Received: by outflank-mailman (input) for mailman id 517020;
 Fri, 31 Mar 2023 20:21: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 1piLFU-0006Fh-Gu; Fri, 31 Mar 2023 20:21: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 1piLFU-0000m8-Bx; Fri, 31 Mar 2023 20:21: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 1piLFT-0004Iz-W3; Fri, 31 Mar 2023 20:21:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1piLFT-0007vI-Ve; Fri, 31 Mar 2023 20:21:23 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=LFPGZUobYFzYFuaV+oRzGxlXmmuRbLFaw7m53lFGcrY=; b=tkY9eJsdFCbk3nHRo/FDAhriZ0
	QrIe7nFQh/kfht1jFTbp5SQDhVzOeFfKUWH5hMdLkYrF5tRLz5ZeKmy76EiOrJKZtohswC3hMZfSc
	EiAUtm01UbF1Ro5fhfKWHsXasM/kUFHTRKWKyXP+fJUG2pw7hdhiQPrGkclX31G9DTjM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180081-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 180081: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-xl-vhd: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-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-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-raw:migrate-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    linux-linus:test-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-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-examine:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    linux-linus:build-armhf-libvirt:build-check(1):starved:nonblocking
    linux-linus:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=62bad54b26db8bc98e28749cd76b2d890edb4258
X-Osstest-Versions-That:
    linux=3f0b0903fde584a7398f82fc00bf4f8138610b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 31 Mar 2023 20:21:23 +0000

flight 180081 linux-linus real [real]
flight 180092 linux-linus real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180081/
http://logs.test-lab.xenproject.org/osstest/logs/180092/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-xl-vhd 17 guest-start/debian.repeat fail pass in 180092-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 178042
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 178042
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 178042
 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-raw 14 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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-arm64-arm64-xl-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-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-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-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-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 linux                62bad54b26db8bc98e28749cd76b2d890edb4258
baseline version:
 linux                3f0b0903fde584a7398f82fc00bf4f8138610b87

Last test of basis   178042  2023-02-21 17:44:43 Z   38 days
Failing since        178093  2023-02-22 05:02:47 Z   37 days   68 attempts
Testing same since   180081  2023-03-31 05:40:32 Z    0 days    1 attempts

------------------------------------------------------------
2311 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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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-amd64-amd64-examine-bios                                pass    
 test-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  pass    
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     pass    
 test-armhf-armhf-examine                                     starved 
 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                                     starved 
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 pass    
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      fail    
 test-armhf-armhf-xl-vhd                                      starved 


------------------------------------------------------------
sg-report-flight on osstest.test-lab.xenproject.org
logs: /home/logs/logs
images: /home/logs/images

Logs, config files, etc. are available at
    http://logs.test-lab.xenproject.org/osstest/logs

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   3f0b0903fde5..62bad54b26db  62bad54b26db8bc98e28749cd76b2d890edb4258 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 20:22:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 20:22:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.517025.802004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piLGJ-0006ke-BQ; Fri, 31 Mar 2023 20:22:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 517025.802004; Fri, 31 Mar 2023 20: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 1piLGJ-0006kX-8l; Fri, 31 Mar 2023 20:22:15 +0000
Received: by outflank-mailman (input) for mailman id 517025;
 Fri, 31 Mar 2023 20:22: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 1piLGI-0006kF-5l; Fri, 31 Mar 2023 20:22: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 1piLGI-0000mz-4h; Fri, 31 Mar 2023 20:22: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 1piLGH-0004K8-TU; Fri, 31 Mar 2023 20:22:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1piLGH-0008PS-T1; Fri, 31 Mar 2023 20: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=NuOXlbkhc4di9b8f5YKlhla6CKGFdM2ULqmqv9leZmI=; b=1o1MWzEY1dI3WGcP4zZxmbhQQU
	yAYmdCEwgzdd/QyWrk/e84v8R+o+iVIyfoWqT8y/2Hm/KMTswCs+FzbLdys4xqKQ1X6CtLN3d4kyj
	0CcM3TrUJEpnoSuZHYu48iFs6VFRMlf1eoHKAu9YpQRwpaAQkI/kA2aW3y4GAJPmAcHM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180091-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 180091: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=66f4b1b0d2e603c2b0a3f4149976cdc297a3606d
X-Osstest-Versions-That:
    ovmf=b08a19eae28e76fb5a296a604c27d06fab29b08a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 31 Mar 2023 20:22:13 +0000

flight 180091 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/180091/

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 66f4b1b0d2e603c2b0a3f4149976cdc297a3606d
baseline version:
 ovmf                 b08a19eae28e76fb5a296a604c27d06fab29b08a

Last test of basis   180074  2023-03-30 20:41:05 Z    0 days
Testing same since   180091  2023-03-31 17:40:47 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
   b08a19eae2..66f4b1b0d2  66f4b1b0d2e603c2b0a3f4149976cdc297a3606d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 20:32:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 20:32:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.517033.802013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piLPu-0008N6-Fr; Fri, 31 Mar 2023 20:32:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 517033.802013; Fri, 31 Mar 2023 20: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 1piLPu-0008Mz-CN; Fri, 31 Mar 2023 20:32:10 +0000
Received: by outflank-mailman (input) for mailman id 517033;
 Fri, 31 Mar 2023 20:32: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 1piLPt-0008Mt-E9
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 20:32: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 1piLPs-00010z-EG; Fri, 31 Mar 2023 20:32:08 +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 1piLPs-0006Jf-83; Fri, 31 Mar 2023 20: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>
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=1lUAEEHzJeMhHnTcKMdQNylqux/a5cz5lAYUo1yUJxk=; b=XMOAeH7MtiA3ZTRxdNmIiXYCZf
	Yd5SgzwHU/yYTbCNOwpA0E59QVsCOeU4+PdDsCgxqxCJGCAP7MIHNSY+/fE3RDMgg/dzCuWK/MZ1m
	QKxDo1zfVNjFMdvZJdZI+T5aELoqryakvjGOYBi8BmaZ9cv5gann3mx+KL4FmNNN6CEg=;
Message-ID: <381b4622-4da8-a963-4561-ca9931bcfd09@xen.org>
Date: Fri, 31 Mar 2023 21:32:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.1
Subject: Re: [PATCH v9 1/5] xen: introduce CONFIG_GENERIC_BUG_FRAME
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
References: <cover.1680086655.git.oleksii.kurochko@gmail.com>
 <c9fb416c98e023ff3150064222cb42b6c67f37e8.1680086655.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <c9fb416c98e023ff3150064222cb42b6c67f37e8.1680086655.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 29/03/2023 11:50, Oleksii Kurochko wrote:
> A large part of the content of the bug.h is repeated among all
> architectures, so it was decided to create a new config
> CONFIG_GENERIC_BUG_FRAME.
> 
> The version of <bug.h> from x86 was taken as the base version.
> 
> The patch introduces the following stuff:
>    * common bug.h header
>    * generic implementation of do_bug_frame
>    * new config CONFIG_GENERIC_BUG_FRAME
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

I have tested the implementation on Arm. So:

Tested-by: Julien Grall <jgrall@amazon.com>
Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 20:32:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 20:32:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.517035.802024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piLQK-0000L6-Nl; Fri, 31 Mar 2023 20:32:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 517035.802024; Fri, 31 Mar 2023 20:32:36 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piLQK-0000Kz-Kk; Fri, 31 Mar 2023 20:32:36 +0000
Received: by outflank-mailman (input) for mailman id 517035;
 Fri, 31 Mar 2023 20:32: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 1piLQI-0000J9-LS
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 20:32: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 1piLQH-00011L-Vg; Fri, 31 Mar 2023 20:32:33 +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 1piLQH-0006Jz-Q8; Fri, 31 Mar 2023 20:32:33 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ERiYcRs86MRhRTn4Jl9K3fKZEYKy3WCKex3NCAihrsI=; b=nTprS005e4QcEWq8hEgnHce06o
	95OAHT3V0qNwb0TSyEqdux56LpTHgeNgdPk+MWPJl7zgD6lo6FD43RKqVRvvzlqwCQ6QgUMBiRZqy
	KXLoUCv+6lHRDmJWkceINfGCCuxadE0Mzg7oo3kINSpktaARLvKl07WiK3w4mETn4hrA=;
Message-ID: <875899c3-1ff0-e14f-d3f0-fa99c8ed7cbc@xen.org>
Date: Fri, 31 Mar 2023 21:32:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.1
Subject: Re: [PATCH v9 2/5] xen/arm: remove unused defines in <asm/bug.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1680086655.git.oleksii.kurochko@gmail.com>
 <b1f14f37c933fb4185d85b0ecf6fe9794ce81970.1680086655.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <b1f14f37c933fb4185d85b0ecf6fe9794ce81970.1680086655.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 29/03/2023 11:50, Oleksii Kurochko wrote:
> The following defines BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH,
> BUG_LINE_HI_WIDTH aren't used in ARM so could be purged
> as unused.
> 
> Requested-by: Jan Beulich <jbeulich@suse.com>
> 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 Mar 31 20:36:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 20:36:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.517041.802034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piLTo-000161-7Z; Fri, 31 Mar 2023 20:36:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 517041.802034; Fri, 31 Mar 2023 20:36: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 1piLTo-00015u-4R; Fri, 31 Mar 2023 20:36:12 +0000
Received: by outflank-mailman (input) for mailman id 517041;
 Fri, 31 Mar 2023 20:36:11 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1piLTn-00015o-1q
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 20:36:11 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1piLTm-00016m-6L; Fri, 31 Mar 2023 20:36: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 1piLTm-0006ZI-0p; Fri, 31 Mar 2023 20: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=tigIOCtjuThVy+YSAtJCvw+OV15EKijP7ezekp+330E=; b=hml9q3uQ+E3A30KE3aPqJjTY+v
	Du6MM3ctOK9PL64xaTr8fj5KPZVq4PpaBJmEjKa3EGEwiqbhpCaEHxH16KXLmM2a5bCTsjYcoowkv
	ckZ3hEryESzYiYKqxBEzos+YvfCAbnLIh7L7dEvwZCTlAjWBNJtnJVp9cHAUonspuNtk=;
Message-ID: <a5e7a9df-590b-4c59-d064-b73bbe7e828b@xen.org>
Date: Fri, 31 Mar 2023 21:36:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.1
Subject: Re: [PATCH v9 3/5] xen: change <asm/bug.h> to <xen/bug.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.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: <cover.1680086655.git.oleksii.kurochko@gmail.com>
 <67e4c153cecb5757c7b55a4cffc8c7bb6b10c0d0.1680086655.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <67e4c153cecb5757c7b55a4cffc8c7bb6b10c0d0.1680086655.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 29/03/2023 11:50, Oleksii Kurochko wrote:
> The idea of the patch is to change all <asm/bug.h> to <xen/bug.h> and
> keep Xen compilable with adding only minimal amount of changes:
> 1. It was added "#include <xen/types.h>" to ARM's "<asm/bug.h>" as it
>    uses uint_{16,32}t in 'struct bug_frame'.
> 2. It was added '#define BUG_FRAME_STRUCT' which means that ARM hasn't
>    been switched to generic implementation yet.
> 3. It was added '#define BUG_FRAME_STRUCT' which means that x86 hasn't
>    been switched to generic implementation yet.
> 4. BUGFRAME_* and _start_bug_frame[], _stop_bug_frame_*[] were removed
>    for ARM & x86 to deal with compilation errors such as:
>        redundant redeclaration of ...
> 5. Remove BUG_DISP_WIDTH, BUG_LINE_LO_WIDTH, BUG_LINE_HI_WIDTH from
>    x86's <asm.bug.h> to not to produce #undef for them and #define again
>    with the same values as in <xen/bug.h>. These #undef and #define will
>    be anyway removed in the patch [2]
> 6. Remove <asm/bug.h> from <x86/acpi/cpufreq/cpufreq.c> and
>    <drivers/cpufreq/cpufreq.c> as nothing from <xen/bug.h> are used in
>    <*/cpufreq.c>
> 
> In the following two patches x86 and ARM archictectures will be
> switched fully:
> [1] xen/arm: switch ARM to use generic implementation of bug.h
> [2] xen/x86: switch x86 to use generic implemetation of bug.h
> 
> 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 Mar 31 21:05:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 21:05:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.517045.802044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piLvw-0004Uj-DW; Fri, 31 Mar 2023 21:05:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 517045.802044; Fri, 31 Mar 2023 21:05: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 1piLvw-0004Uc-Ak; Fri, 31 Mar 2023 21:05:16 +0000
Received: by outflank-mailman (input) for mailman id 517045;
 Fri, 31 Mar 2023 21:05:15 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>) id 1piLvv-0004UU-5T
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 21:05:15 +0000
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1piLvu-0001oI-JF; Fri, 31 Mar 2023 21:05: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 1piLvu-0007kE-Bn; Fri, 31 Mar 2023 21:05: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=NjeBsEH+C7JxdiTIUMhlfWn669UNcYMu2mEBcWk9lFg=; b=FhKfV347VrlYobvsFljdsY+9S5
	fJDMT6LrJWwSWpipNBpLdTZ47bXWD2XmSPqCFjNaAZo19ckk1kEAH8YeMsRaxKVVM7tJse0pkpImk
	VTC6yYxD2tGwQGuhGwMwXb0e7xP+Fv07PegiNc5NZtbfVtvyOHNMKcZsqkVULdipDS70=;
Message-ID: <3a94ad32-159d-d06f-cba6-3bb40f9f2085@xen.org>
Date: Fri, 31 Mar 2023 22:05:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0)
 Gecko/20100101 Thunderbird/102.9.1
Subject: Re: [PATCH v9 4/5] xen/arm: switch ARM to use generic implementation
 of bug.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Gianluca Guida <gianluca@rivosinc.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1680086655.git.oleksii.kurochko@gmail.com>
 <8fdb98350ae4fc6029738d0aabe13a57e1945a50.1680086655.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <8fdb98350ae4fc6029738d0aabe13a57e1945a50.1680086655.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

I was going to ack the patch but then I spotted something that would 
want some clarification.

On 29/03/2023 11:50, Oleksii Kurochko wrote:
> diff --git a/xen/arch/arm/include/asm/bug.h b/xen/arch/arm/include/asm/bug.h
> index cacaf014ab..3fb0471a9b 100644
> --- a/xen/arch/arm/include/asm/bug.h
> +++ b/xen/arch/arm/include/asm/bug.h
> @@ -1,6 +1,24 @@
>   #ifndef __ARM_BUG_H__
>   #define __ARM_BUG_H__
>   
> +/*
> + * Please do not include in the header any header that might
> + * use BUG/ASSERT/etc maros asthey will be defined later after
> + * the return to <xen/bug.h> from the current header:
> + *
> + * <xen/bug.h>:
> + *  ...
> + *   <asm/bug.h>:
> + *     ...
> + *     <any_header_which_uses_BUG/ASSERT/etc macros.h>
> + *     ...
> + *  ...
> + *  #define BUG() ...
> + *  ...
> + *  #define ASSERT() ...
> + *  ...
> + */
> +
>   #include <xen/types.h>
>   
>   #if defined(CONFIG_ARM_32)
> @@ -11,76 +29,7 @@
>   # error "unknown ARM variant"
>   #endif
>   
> -#define BUG_FRAME_STRUCT
> -
> -struct bug_frame {
> -    signed int loc_disp;    /* Relative address to the bug address */
> -    signed int file_disp;   /* Relative address to the filename */
> -    signed int msg_disp;    /* Relative address to the predicate (for ASSERT) */
> -    uint16_t line;          /* Line number */
> -    uint32_t pad0:16;       /* Padding for 8-bytes align */
> -};
> -
> -#define bug_loc(b) ((const void *)(b) + (b)->loc_disp)
> -#define bug_file(b) ((const void *)(b) + (b)->file_disp);
> -#define bug_line(b) ((b)->line)
> -#define bug_msg(b) ((const char *)(b) + (b)->msg_disp)
> -
> -/* Many versions of GCC doesn't support the asm %c parameter which would
> - * be preferable to this unpleasantness. We use mergeable string
> - * sections to avoid multiple copies of the string appearing in the
> - * Xen image. BUGFRAME_run_fn needs to be handled separately.
> - */

Given this comment ...

> -#define BUG_FRAME(type, line, file, has_msg, msg) do {                      \
> -    BUILD_BUG_ON((line) >> 16);                                             \
> -    BUILD_BUG_ON((type) >= BUGFRAME_NR);                                    \
> -    asm ("1:"BUG_INSTR"\n"                                                  \
> -         ".pushsection .rodata.str, \"aMS\", %progbits, 1\n"                \
> -         "2:\t.asciz " __stringify(file) "\n"                               \
> -         "3:\n"                                                             \
> -         ".if " #has_msg "\n"                                               \
> -         "\t.asciz " #msg "\n"                                              \
> -         ".endif\n"                                                         \
> -         ".popsection\n"                                                    \
> -         ".pushsection .bug_frames." __stringify(type) ", \"a\", %progbits\n"\
> -         "4:\n"                                                             \
> -         ".p2align 2\n"                                                     \
> -         ".long (1b - 4b)\n"                                                \
> -         ".long (2b - 4b)\n"                                                \
> -         ".long (3b - 4b)\n"                                                \
> -         ".hword " __stringify(line) ", 0\n"                                \
> -         ".popsection");                                                    \
> -} while (0)
> -
> -/*
> - * GCC will not allow to use "i"  when PIE is enabled (Xen doesn't set the
> - * flag but instead rely on the default value from the compiler). So the
> - * easiest way to implement run_in_exception_handler() is to pass the to
> - * be called function in a fixed register.
> - */
> -#define  run_in_exception_handler(fn) do {                                  \
> -    asm ("mov " __stringify(BUG_FN_REG) ", %0\n"                            \
> -         "1:"BUG_INSTR"\n"                                                  \
> -         ".pushsection .bug_frames." __stringify(BUGFRAME_run_fn) ","       \
> -         "             \"a\", %%progbits\n"                                 \
> -         "2:\n"                                                             \
> -         ".p2align 2\n"                                                     \
> -         ".long (1b - 2b)\n"                                                \
> -         ".long 0, 0, 0\n"                                                  \
> -         ".popsection" :: "r" (fn) : __stringify(BUG_FN_REG) );             \
> -} while (0)
> -
> -#define WARN() BUG_FRAME(BUGFRAME_warn, __LINE__, __FILE__, 0, "")
> -
> -#define BUG() do {                                              \
> -    BUG_FRAME(BUGFRAME_bug,  __LINE__, __FILE__, 0, "");        \
> -    unreachable();                                              \
> -} while (0)
> -
> -#define assert_failed(msg) do {                                 \
> -    BUG_FRAME(BUGFRAME_assert, __LINE__, __FILE__, 1, msg);     \
> -    unreachable();                                              \
> -} while (0)
> +#define BUG_ASM_CONST   "c"

... you should explain in the commit message why this is needed and the 
problem described above is not a problem anymore.

For instance, I managed to build it without 'c' on arm64 [1]. But it 
does break on arm32 [2]. I know that Arm is also where '%c' was an issue.

Skimming through linux, the reason seems to be that GCC may add '#' when 
it should not. That said, I haven't look at the impact on the generic 
implementation. Neither I looked at which version may be affected (the 
original message was from 2011).

However, without an explanation, I am afraid this can't go in because I 
am worry we may break some users (thankfully that might just be a 
compilation issues rather than weird behavior).

Bertrand, Stefano, do you know if this is still an issue?

Cheers,

[1] aarch64-linux-gnu-gcc (Linaro GCC 7.5-2019.12) 7.5.0
[2] arm-none-linux-gnueabihf-gcc (GNU Toolchain for the A-profile 
Architecture 10.3-2021.07 (arm-10.29)) 10.3.1 20210621

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 21:06:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 21:06:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.517048.802054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piLxE-00051W-Os; Fri, 31 Mar 2023 21:06:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 517048.802054; Fri, 31 Mar 2023 21:06: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 1piLxE-00051P-M1; Fri, 31 Mar 2023 21:06:36 +0000
Received: by outflank-mailman (input) for mailman id 517048;
 Fri, 31 Mar 2023 21:06: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=l1cV=7X=citrix.com=prvs=4478a6bcf=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1piLxD-00051F-Hf
 for xen-devel@lists.xenproject.org; Fri, 31 Mar 2023 21:06:35 +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 e8f1ff9f-d007-11ed-85db-49a42c6b2330;
 Fri, 31 Mar 2023 23:06:32 +0200 (CEST)
Received: from mail-bn7nam10lp2101.outbound.protection.outlook.com (HELO
 NAM10-BN7-obe.outbound.protection.outlook.com) ([104.47.70.101])
 by ob1.hc3370-68.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES128-GCM-SHA256;
 31 Mar 2023 17:06:23 -0400
Received: from BYAPR03MB3623.namprd03.prod.outlook.com (2603:10b6:a02:aa::12)
 by CH0PR03MB6001.namprd03.prod.outlook.com (2603:10b6:610:e0::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.24; Fri, 31 Mar
 2023 21:06:21 +0000
Received: from BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030]) by BYAPR03MB3623.namprd03.prod.outlook.com
 ([fe80::a5a1:8cae:d45b:2030%5]) with mapi id 15.20.6254.022; Fri, 31 Mar 2023
 21:06:21 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8f1ff9f-d007-11ed-85db-49a42c6b2330
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1680296792;
  h=message-id:date:from:subject:to:references:in-reply-to:
   content-transfer-encoding:mime-version;
  bh=edhrLyDijSiqEEWFaghKS9+MLSBYiZJqhTQ3j1xs3Lk=;
  b=dLLisByv0OwqqZIF1EmrAVSHxObzPT2D+EHUvR2rvtBBJrQZQwMdtB7S
   jznWfUBKckKDznHMXt00ajxq03zApZP+Go3ZV1DrWc/IW+FTQUrIFXbwi
   ksQ7QwC0FsKvP0XQJS4C7V37VnErHIf/Ax15uk1U3Eb1VjfTC1BMv98gc
   4=;
X-IronPort-RemoteIP: 104.47.70.101
X-IronPort-MID: 102686308
X-IronPort-Reputation: None
X-IronPort-Listener: OutboundMail
X-IronPort-SenderGroup: RELAY_O365
X-IronPort-MailFlowPolicy: $RELAYED
IronPort-Data: A9a23:E3IyLa0m5dhD7dUiRvbD5fJwkn2cJEfYwER7XKvMYLTBsI5bp2RRm
 msYUG+DOP6LZmKmKYglbo3i8UMHvJ6Hy9BhHlBtpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliefTAOK6ULWeUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8tuTS+HuDgNyo4GlD5gdlPKgS1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfJkVc5
 K0Sbyk0LT+Epvy55q3ka+92v5F2RCXrFNt3VnBI6xj8VK5ja7acBqLA6JlfwSs6gd1IEbDGf
 c0FZDFzbRPGJRpSJlMQD5F4l+Ct7pX9W2QA9BTJ+uxouy6KlFUZPLvFabI5fvSjQ8lPk1nej
 WXB52njWTkRNcCFyCrD+XWp7gPKtXqjAtxCSubgppaGhnXP+1MeN00fT2ec4qKU0Babfu0Fd
 kobr39GQa8asRbDosPGdxC6p36CpUJMc9FLVfc94wGA0bbZ+UCUCnVsZi5MbpkqudE7QRQu1
 0SVhJX5CDp3qrqXRHmBsLCOoluP1TM9KGYDYWoOS1QD6ty6+IUr1EuXF5BkDbK/icDzFXfo2
 TeWoSMihrIVy8kWy6G8+lOBiDWpznTUcjMICszsdjrNxmtEiESNO+RENXCzAS58Ebuk
IronPort-HdrOrdr: A9a23:9QmQ765WMLp/nDQDFAPXwMzXdLJyesId70hD6qkXc203TiX4ra
 CTdZEgviMc5wx+ZJhNo7+90cq7LU80l6QFg7X5VI3KNGOKhILCFuBfBOXZslndMhy72ulB1b
 pxN4hSYeeAamSSVPyKhTWFLw==
X-IronPort-AV: E=Sophos;i="5.98,307,1673931600"; 
   d="scan'208";a="102686308"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ntbgZbXihO6rNJm5bR67pQsvUnXCzgn/DvuehkgtlkArx4+UasbUKrqwedzf34eadBMKQ2mALMpUhPEODeZj1X08chlBE5xR8pySJjDSmwfE4yaMGcftTQ3zOhN6HLKzE6281yRkWTU7u8HnAutJhFTlbJWWVnRKeiwdGfUKrq4pTAz0AHV3kI4Z6tzVHWI+F6ytsXEEtDSw5l1izGv5SezqH7nLzuNi/81rc/WtzUABtHy5Sl65c1U5bDypXiIMqXNYlaE7KWK2Pc5CdKTqnF4/C9uHqe8iEFzrBeW4iythgDYVvvnbtHsEFI7zeVSit1g3QmuCcuCrwHU7BmPkSg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=I6gcDtpK/u111jI6Os9InU0zkYCUcV40cq/9kO08AqE=;
 b=UtS5GiAchVzDHfbYoczs6QfWctH5eX5Y6tIW8HpfW9xxVtGglrqRE7Vqxinv2Ba3thu7kykiupv81cda03BRUdRhhAEjjacuW2RUrJt6XdtWBNDVEeS0ySP9Y8TOkXQDDrt7qIm/5geCOuACv6HT7mfL5+BrIuyY3N7YFB8Y5oBXMa+5ZXSoLutR5f2M/mFZc1NvWZhz6R4cpPYwQhE8dyyLoEQ2Hh1BNTcUFU9m+oLRgrqObptlN9Mee5voJ2xQrpb8PFWRJttI8vfEqut626CqCNOfNrbXa7aJxP+45J0IfOIEI7Mt4I/b3iBK8eQwx0a6Oz549Ylmmqem3eINHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com;
 dkim=pass header.d=citrix.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=citrix.onmicrosoft.com; s=selector2-citrix-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=I6gcDtpK/u111jI6Os9InU0zkYCUcV40cq/9kO08AqE=;
 b=FgUvoflt1wsKeZQB4b9gfHm0KWU8TFHSzYBeyhVn0vclAjV8WKRCcnJLD+e9Qf8XXJasUx24r/XqcDkZiRD43Sbg038mRdJawEXMhjIzorO/8eqR+eZCFf1Ihq3zYBBJIdq85NdT9CIwaBPI34Jc/jtfgPFU+SzBGuNisFH+eLQ=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=citrix.com;
Message-ID: <40e25bb7-aa5d-1629-04aa-4f552501e08a@citrix.com>
Date: Fri, 31 Mar 2023 22:06:15 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.9.0
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: Best way to use altp2m to support VMFUNC EPT-switching?
To: "Johnson, Ethan" <ejohns48@cs.rochester.edu>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <MN2PR07MB6045100322F58085DD6B1488E4BF9@MN2PR07MB6045.namprd07.prod.outlook.com>
 <c12ff321-e1ad-1377-2158-195594fdbe04@citrix.com>
 <MN2PR07MB6045B965DD2DA308C55905F9E4BF9@MN2PR07MB6045.namprd07.prod.outlook.com>
 <a1a814cd-9a76-9828-ffab-5590fcd5925f@citrix.com>
 <BYAPR07MB6040EB2AEC1567C5982FBD51E48E9@BYAPR07MB6040.namprd07.prod.outlook.com>
Content-Language: en-GB
In-Reply-To: <BYAPR07MB6040EB2AEC1567C5982FBD51E48E9@BYAPR07MB6040.namprd07.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO0P123CA0010.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:354::19) To BYAPR03MB3623.namprd03.prod.outlook.com
 (2603:10b6:a02:aa::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BYAPR03MB3623:EE_|CH0PR03MB6001:EE_
X-MS-Office365-Filtering-Correlation-Id: e4d1e676-f523-4e10-c07f-08db322bc718
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VSEmysnpKVwYoMLoJKABaupag25kWcbJL1cowW37i+cntFwfMMZYrKWZ8+ymSw6bXQQRLS6wxr5CIALn8xIVJrRhzZ1i2xdB+wFgIYSlHiwzgjGHJ5ySzekpxlRQIEzQonrsHomsQaAuhcjaLmX12qHWaUdIca5YwPrYV5+jXjpQ4nrewEzufHGQsKxzWM7fydUfXuFnhbk5Lio+3CHKRelZL+eNXJeB/pQbzSQeRpPHQeGh/YPXDcaFqq9DFAlnQiQ/FfS+TYwlIJepw0cWGmtW91OaW3SRUijiSB0hUIxPV56uh02FeXkbjlZJiS2yQiPx13Wcpg71GdE535XerS9uNv4tiwG/kj1dFqskOu2RpYP8UDiA3SmU8e30wMlZ12rM8cqPG3mZhUctoMcKir90ZHGOhsobDnvrevOk9PKZlrg36FhSuoIjDhrAZguUdeKCDwPU1a9t4axB+/sCY0RyFK+080lx7hSTt8xLnP5yf9HEvAuUnFTTf1QQv88i9hBOORupq8hswCAhOv/H1UKnGAZiJtAVRzUra6HlSsgNFIBPBqWybUnXWKSZ8sNBt/edW37ghpfW54QSJlRGUfnOnW2shk3PAplR73lSfpRWcS67c2V3hN7xBowDSFJ0Yn+YafY5PCnkmqNg10CjIL6TclZiuSzDn0oYSRnGpSY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BYAPR03MB3623.namprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(346002)(376002)(396003)(136003)(366004)(39860400002)(451199021)(478600001)(82960400001)(66899021)(66556008)(41300700001)(66476007)(66946007)(2906002)(316002)(296002)(110136005)(8676002)(36756003)(8936002)(5660300002)(86362001)(38100700002)(186003)(66574015)(83380400001)(2616005)(31686004)(6486002)(53546011)(30864003)(966005)(26005)(31696002)(6512007)(6506007)(6666004)(43043002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SHNUUkh3WXFjSDZCbnc1VDRrM0hIeVYvTFk1YkJReWlVMGZSeHliQ0w0bUtF?=
 =?utf-8?B?dDB4RCtWVnVXWXQ0S0Y2M2wzejdZNkUwQXF1VGFTdm9xQyt1ZjVDa1dVUnhr?=
 =?utf-8?B?WDBJQ1ZsaUxEbmxzaTFzbEhLZTIrVWxLTHUwM3EvbHJwMTl6TDRkdzJtS2pw?=
 =?utf-8?B?RXVQWHZCUzRJN010cUplRTQrNG9Vc0NoSnkxU09hY1J2RTNhUWZIZ01UKzB3?=
 =?utf-8?B?Y3k3bElUQTE1SVFkb21MQkhNMG9FMnlqcGYzR2tOUHpvQUgrc2p2UGdBOGRK?=
 =?utf-8?B?ZWk1NENJMVpYM3pWbXdEdlpRT3lMNDN1SDdBUjNlbU9zclFnRlk4bjZydFZz?=
 =?utf-8?B?WFdwd3FmT3p6MmYwSGtPb1lHdytkRTJ0YUZ2OFFwTzlQa2pQTFlkcjlROUFy?=
 =?utf-8?B?QktGT1diZWdHRUk3cjA0OC9qOWVYd1hsSmVveVlKRDM3NlpTZnpCQzh2VUYw?=
 =?utf-8?B?dmtwZWVYcXNiTWtTYXQxeEkrZDhHTktkb3JyMjVLM0RoR21yYlRzWWhONU9N?=
 =?utf-8?B?RWJPTC9raVQyRDBhTlFZVnNrVnFXZTQ3cVF0eUF0cnA5N0NTOGwxVW5XM1p0?=
 =?utf-8?B?L1ViU3NNYVN2dHdmQ05FTXY5Q0V0RW02UTdOZkcwT2ZFeVRNank3VTdSbytt?=
 =?utf-8?B?aVJqYThGTHNXNzJKaXdkdW5PLzBmMFUyZXVrdkM2YjJlWjFqclpNYmEyOEMz?=
 =?utf-8?B?V3ZEQURVS0xxeGxrVkRuTWU3aWxsT3F3U3ovczZlR0ZvNkR0aW16WERkVUt1?=
 =?utf-8?B?bGpSSWs1UGFLRFM4VG9kS01RelZKb2V5SVFHeFV1ZWljbzBNNnVvYitMK3Ro?=
 =?utf-8?B?aDM1VUlBeXllZ05SdUtsK2p1bjFXS2RuUExyMThvb1ZQVmQ5VWRnRlEwVkdk?=
 =?utf-8?B?NDNvZ2paUTUrUURneWNVdG9LUC8zWGFxMlZCZmM3ZUxsdjFyMzdPa2YySGNh?=
 =?utf-8?B?MlVOUmJGMmhNeHFUcUMwS2VGUkVHVEhyOE9QNXNDazJTb0FGbThOQVFIaUd5?=
 =?utf-8?B?bGt4SElONG1kSW9jd0k4SWhKVm9PbDlwTDZPdzd4QXRqK2FSNm13b1EvdTlU?=
 =?utf-8?B?b1BNM0k3U25UOUJxYm5leTVxZzB5WFpuRU81ZHlqVlJJN0cxQ0pGUjg4YWRN?=
 =?utf-8?B?MjFzMlFCanQvWUQ4c0g1RHRTOWhnSDBZTVpPUGF0L3RzNlptZzRFVHhmSWNL?=
 =?utf-8?B?VUwrR05Cd2J5R0VkWmVsU29rVG9LS1pCODlkK3BsS1FwZGtHYjFGRm1pcTAw?=
 =?utf-8?B?VzlZWHdOb1U5Ukg4SS9mN0ZPN0IyVHViNTRtYUcwNXFoODhnWmN0M3g4UUFG?=
 =?utf-8?B?Y3BwcXNJanN2bG9uay9Senp1LzFlNWxXb1RTait3TnI2TUhpM2NvMTRCZFIr?=
 =?utf-8?B?YUtjcmc3cGt1OWg0eW11UU9sbGxGTnlILzQ2U2JGdTZ6KzZ2ZHVUN0dBNFp1?=
 =?utf-8?B?VW5oNW8vQ3NrQzBkSjNsaUtmaDJaV3IyeE1JNHRuZ09ORXM3cWYxYXBNK0Qv?=
 =?utf-8?B?TUlBbE5WNk5TaGpNMzdvQ0hlS3B2NFFnUDNOQ1NoTy9vbDR2T1c1enRWbFRB?=
 =?utf-8?B?L3lFWUVpV21hZjVLLzRCWVdtOXJwREVDQUIrNFVadmM2SkE3SDB3M0RyQzRi?=
 =?utf-8?B?RE5td2xNSXRXeThzdTFGMkZzQzFGMEh0RVVYYXZoYXJGUlRZVEswT1ByRmdw?=
 =?utf-8?B?YXBGZldFT0tib1ZvZEF0bkN3SkZRMjBaR0pVVzV3aVpwakxDOEpXN2ZwOGZk?=
 =?utf-8?B?Y05FeW0vSFp1cUxDZkdMS0ZEVGIxSThTNWE1RjRqM1NDSW05OWlDUHgrMU5P?=
 =?utf-8?B?L0JXVlNlQXFqVCt1LytpcWpGeGprdW51SDRDbE5sT0wyLzZpSnBVVDUwbDlP?=
 =?utf-8?B?OTkzamZhemkyUHR0b3ZWQzdYTU9GUTFoUUFqcHFHQVI3ZFlHMXNCTnVNTEhP?=
 =?utf-8?B?YzB6Q2IvMloxblVmMjg2cmJqUis1emJkcy9RYWU4T0dsZmNzMlpxRkpsYmt3?=
 =?utf-8?B?UHRpdzQ0RUlGLzQvblcvWUFxSmJuYzJyOVFlK3JaM2REZGF6UjdiaUNSL0FD?=
 =?utf-8?B?UVZLZ0lVRmp0bmFKaWRsZ0s4cnQvN1drMkwvN0RWRUwvT2YySEYxS0xaTTMr?=
 =?utf-8?B?b09IVlRudnArTi9TK2UrTVBlY0RnbWtpN3hZYnhKeVU5RTE0QXA5bWJoM1F5?=
 =?utf-8?B?ZWc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	bkS+RVas5LljZB4vAfjdRna0JxJhAL+Htl8Bs56fDxb1S7HN20MWYsy/cfnfZ7LojWitz4T9IAeTX4kdn/qOHuuF3saJrR1T7T9Q7GbGx3+SJY3y7sGPXmQxBYZzNMCpb2pPlW3jcjYScR/wEMW8FkjJKKCrnthefcnxqCm2U8RrAS7SGqmybSeOJ7s0PnRuOu8aXmC74o+qOwJ3jK2fAmt1kw2Z4JM5lor2k8ZFcOJLwOb6bipPqLQBpXxze5DpqzoaKtrAhMXadn+dxFzeLo5SOu18m5fuu/GAJ/rsQ5dWyL4/9JIdseMwIHixX+2FI+nu0WdwgLq9tz/LcEmoTpwdsaCr8cOS7jDEXef4B1Xxwvkc2brcZ2yOBVqbhMNCSQCJ7TTFB/XqeXBcjcwFSHTSc0P4uQfOx59K0Mb75dMsElOmCcAz54mw+ZbW9jCLvBdaHDQ5mMkTOncaPISjpdWm/1IN7LIrt9RZHhD4d0sZ0vZQDpfFgbWmhVPoiyQRWyAB9M7/v04AhizFuEcW1bSq8t1OGp+ZFOENQ5FuFHLAF/Em2fQnncm6cHTw+2B57D/lPIyn3pw3lxQX/WEs11IzJo93i8UPK/yYIjamGPzQesBrqwp3l/i/SAop1fz+vN10pAWLB9tfgnIPndJ/96b9MwEeRgGeeixscF3Mhx2bR2tJCznoCCs+JIs0+aUu5yNQHuFaZYbkvVTTqoTTAsx3NugbCcqLPVxkIBZwIPxAzsUwupvM2htkDTEH5ZGp82AQCcBccSZucibxnagFDvtukzftWsKecGNEtQv2HpnYzhj5Il1IeQ5NaHaRCcEK
X-OriginatorOrg: citrix.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e4d1e676-f523-4e10-c07f-08db322bc718
X-MS-Exchange-CrossTenant-AuthSource: BYAPR03MB3623.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2023 21:06:21.2184
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 335836de-42ef-43a2-b145-348c2ee9ca5b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: z8vmmh1NASRIf5miS4UI4hg1ur+0jB4O6K6ne3kpSSxiJjT7IFsdNSTW3vTOIEMdA8Pj8nJPfSoVEaiiLP+Ocr2KZRZaNFlmvVsrEc1NQ1s=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR03MB6001

On 30/03/2023 3:29 am, Johnson, Ethan wrote:
> On 2023-03-16 02:14:18 +0000, Andrew Cooper wrote:
>> Ok, so there is a lot here.  Apologies in advance for the overly long
>> answer.
>>
>> First, while altp2m was developed in parallel with EPTP-switching, we
>> took care to split the vendor neutral parts from the vendor specific
>> bits.  So while we do have VMFUNC support, that's considered "just" a
>> hardware optimisation to speed up the HVMOP_altp2m_switch_p2m hypercall.
>>
>> But before you start, it is important to understand your security
>> boundaries.  You've found external mode, and this is all about
>> controlling which aspects of altp2m the guest can invoke itself, and
>> modes other than external let the guest issue HVMOP_altp2m ops itself.
>>
>> If you permit the guest to change views itself, either with VMFUNC, or
>> HVMOP_altp2m_switch_p2m, you have to realise that these are just
>> "regular" CPL0 actions, and can be invoked by any kernel code, not just
>> your driver.  i.e. the union of all primary and alternative views is one
>> single security domain.
>>
>> For some usecases this is fine, but yours doesn't look like it fits in
>> this category.  In particular, no amount of protection on the trampoline
>> pages stops someone writing a VMFUNC instruction elsewhere in kernel
>> space and executing it.
>>
>> (I have seen plenty of research papers try to construct a security
>> boundary around VMFUNC.  I have yet see one that does so robustly, but I
>> do enjoy being surprised on occasion...)
>>
>> The first production use this technology I'm aware of was Bitdefender's
>> HVMI, where the guest had no control at all, and was subject to the
>> permission restrictions imposed on it by the agent in dom0.  The agent
>> trapped everything it considered sensitive, including writes to
>> sensitive areas of memory using reduced EPT permissions, and either
>> permitted execution to continue, or took other preventative action.
>>
>> This highlights another key point.  Some entity in the system needs to
>> deal with faults that occur when the guest accidentally (or otherwise)
>> violates the reduced EPT permissions.  #VE is, again, an optimisation to
>> let violations be handled in guest context, rather than taking a VMExit,
>> but even with #VE the complicated corner cases are left to the external
>> agent.
>>
>> With HVMI, #VE (but not VMFUNC IIRC) did get used as an optimisation to
>> mitigate the perf hit from Window's Meltdown mitigation electing to use
>> LOCK'd BTS/BTC operations on pagetables (which were write protected
>> behind the scenes), but I'm reliably informed that the hoops required to
>> jump through to make that work, and in particular avoid the notice of
>> PatchGuard, were substantial.
>>
>> Perhaps a more accessible example is
>> https://github.com/intel/kernel-fuzzer-for-xen-project and the
>> underlying libvmi.  There is also a very basic example in
>> tools/misc/xen-access.c in the Xen tree.
>>
>> For your question specifically about mapping other frames, we do have
>> hypercalls to map other frames (its necessary for e.g. mapping BARs of
>> passed-through PCI devices), but for obvious reasons, it's restricted to
>> control software (Qemu) in dom0.  I suspect we don't actually have a
>> hypercall to map MMIO into an alternative view, but it shouldn't be hard
>> to add (if you still decide you want it by the end of this email).
>>
>>
>> But on to the specifics of mapping the xAPIC page.  Sorry, but
>> irrespective of altp2m, that is a non-starter, for reasons that date
>> back to ~1997 or thereabouts.
>>
>> It's worth saying that AMD can fully virtualise IPI delivery from one
>> vCPU to another without either taking a VMExit in the common case, since
>> Zen1 (IIRC).  Intel has a similar capability since Sapphire Rapids
>> (IIRC).  Xen doesn't support either yet, because there are only so many
>> hours in the day...
>>
>> It is technically possible to map the xAPIC window into a guest, and
>> such a guest could interact the real interrupt controller.  But now
>> you've got the problem that two bits of software (Xen, and your magic
>> piece of guest kernel) are trying to driver the same single interrupt
>> controller.
>>
>> Even if you were to say that the guest would only use ICR to send
>> interrupts, that still doesn't work.  In xAPIC, ICR is formed of two
>> half registers, as it dates from the days of 32bit processors, with a
>> large stride between the two half registers.
>>
>> Therefore, it is a minimum of two separate instructions (set destination
>> in ICR_HI, set type/mode/etc in ICR_LO) to send an interrupt.
>>
>> A common bug in kernels is to try and send IPIs when interrupts are
>> enabled, or in NMI context, both of which could interrupt an IPI
>> sequence.  This results in a sequence of writes (from the LAPIC's point
>> of view) of ICR_HI, ICR_HI, ICR_LO, ICR_LO, which causes the outer IPI
>> to be sent with the wrong destination.
>>
>> Guests always execute with IRQs enabled, but can take a VMExit on any
>> arbitrary instruction boundary for other reasons, so the guest kernel
>> can never be sure that ICR_HI hasn't been modified by Xen in the
>> background, even if it used two adjacent instructions to send the IPI.
>>
>> Now, if you were to swap xAPIC for x2APIC, one of the bigger changes was
>> making ICR a single register, so it could be written atomically.  But
>> now you have an MSR based interface, not an MMIO based interface.
>>
>> It's also worth noting that any system with >254 CPUs is necessarily
>> operating in x2APIC mode (so there isn't an xAPIC window to map, even if
>> you wanted to try), and because of the ÆPIC Leak vulnerability, IceLake
>> and later CPUs are locked into x2APIC mode by firmware, with no option
>> to revert back into xAPIC mode even on smaller systems.
>>
>> On top of that, you've still got the problem of determining the
>> destination.  Even if the guest could send an IPI, it still has to know
>> the physical APIC ID of the CPU the target vCPU is currently scheduled
>> on.  And you'd have to ignore things like the logical mode or
>> destination shorthands, because multi/broadcast IPIs will hit incorrect
>> targets.
>>
>> On top of that, even if you can determine the right destination, how
>> does the target receive the interrupt?  There can only be one entity in
>> the system receiving INTR, and that's Xen.  So you've got to pick some
>> vector that Xen knows what to do with, but isn't otherwise using.
>>
>> Not to mention there's a(nother) giant security hole... A guest able to
>> issue interrupts could just send INIT-SIPI-SIPI and reset the target CPU
>> back into real mode behind Xen's back.  Xen will not take kindly to this.
>>
>>
>> So while I expect there's plenty of room to innovate on the realm switch
>> aspect of EPTP-switching, trying to send IPIs from within guest context
>> is something that I will firmly suggest you avoid.  There are good
>> reasons why it is so complicated to get VMExit-less guest IPIs working.
>>
>> ~Andrew
> Thank you for the detailed answers and context. I am somewhat encouraged to
> note that most of the roadblocks you mentioned are issues we've specifically
> considered (and think we have solutions for) in our design. :-) We're using
> some rather exotic compiler-based instrumentation on the guest kernel (plus
> some tricks with putting the "secure realm"'s page tables in a nonoverlapping
> guest-physical address range that isn't present in the primary p2m used by
> untrusted code) to prevent the guest from doing things it isn't supposed to
> with VMFUNC and (x2)APIC access, despite running in ring 0 within non-root
> mode.
>
> On a more concrete level, I am looking to do the following from within the
> hypervisor (specifically, from within a new hypercall I've added):
>
> 1) Get some (host-)physical memory frames from the domain heap and "pin" them
> to make sure they won't be swapped out.

Xen doesn't have paging, owing to not having a disk driver.

There is a paging subsystem which you've probably found already in the
code, but it's a decade old and never got beyond experimental status, so
for most intents and purposes you can pretend that it doesn't exist.

i.e. nothing allocated in Xen moves around unexpectedly behind your back.

However, pages that are allocated to a guest (PGT_allocated) are
reference counted, and can be freed when the refcount drops to zero. 
This can include explicit guest actions such as a decrease_reservation()
hypercall.  You have to be aware of this if you want to point any other
non-refcounted thing at the memory, but I suspect it wont matter for
your cases here.

> 2) Create an altp2m for the calling (current) domain.
>
> 3) Map some of the newly-allocated physical frames into both the domain's
> primary p2m and its altp2m, with R/X permissions.
>
> 4) Map the rest of the physical frames into only the altp2m (as R/W), at a
> guest-physical address higher than the end of the main p2m's mapped range 
> (such that when the primary p2m is active, the guest cannot access these
> pages without taking a hard VM-exit fault).
>
> I've been poring through Xen's p2m code (e.g. xen/arch/x86/mm/p2m.c) to try
> to understand how to achieve these goals, but with little success. Comments
> in the p2m code seem to be rather sparse, and mostly unhelpful for
> understanding (without pre-understood context) what many of the functions do
> and what is the intended workflow for using them. For instance,
> similarly-named functions like guest_remove_page() and
> guest_physmap_remove_page() seem to operate at different levels of
> abstraction (in terms of memory management, refcount bookkeeping, etc.) but
> it isn't externally obvious how they're meant to all fit together and be used
> by client code.

Don't feel too bad...  Not even the maintainers can agree on where that
split is either.

It's mostly an answer of history.  Originally Xen had paravirtual guests
(dom0 still runs in this mode) which were aware they were running under
Xen, and had to manage their own memory, including whatever idea they
had about their layout.

Then HVM guests came along and Xen had to start managing the guest
physical address space on behalf of the guest, and this was (dubiously)
called the physical_to_machine or P2M.

Notice how the guest_phymap_* functions have paging_mode_translate()
checks and do two totally different things.  Read
paging_mode_translate() as is_hvm_domain() and it might help.  The
guest_physmap_* functions are for doing logically-the-same operation on
PV or HVM guests, where PV is often a no-op, and HVM is quite involved.

The p2m functions are all for HVM guests specifically.

But yes - the APIs are a mess and you're not the only person to have
noticed.

> Any suggestions on which p2m (or other) APIs I should be focusing on, and how
> they're meant to be used, would be greatly appreciated. I suppose in theory I
> could just bypass p2m entirely, and populate one of the VMCS's EPTP-switching
> array's slots directly with my own manually constructed paging hierarchy
> (since I'm envisioning the memory layout of our "secure realm" as being quite
> simple - it only needs a handful of pages). But I'd rather "color within the
> lines" of the existing APIs if possible, especially since some of the pages
> will need to be mapped into the existing primary p2m (for the "insecure
> realm") as well.

Taking your analogy, I'm afraid you're probably going to have to start
with a pencil and draw some more lines.

The altp2m work got as far as minor {i,d}TLB bifurcation (to
stealth-breakpoint code under analysis), but didn't ever get to "I'd
like something totally different in different views".

There has to be an authoritative idea of what the guest physmap
(singular) looks like, and that's the host p2m.  (Not relevant to your
case, but to highlight a point.  Consider trying to migrate a VM with a
mutli-view setup.  The logdirty bitmap is expressed as a bit per gfn,
and all those gfn bits had better come from the same view, not the
alternate view which happened to be active.)

I suspect what you might want to do is create the guest with all memory
(but mark the secure realm's memory as either E820_RESERVED, or remove
the entry entirely), and create two altp2m's; one for the insecure
secure realm and one for the secure realm.

IIRC, views are populated copy-on-write style from the hostp2m as the
vCPU executes in that view, but you can make modifications using
HVMOP_altp2m_set_mem_access{,_multi} to give it specific perms or
HVMOP_altp2m_change_gfn to bifurcate.

I suspect what you want to do is set the default perm to no access (i.e.
disable CoW) and use HVMOP_altp2m_set_mem_access_multi explicitly create
the subset of mappings you want in each view.

But honestly, you're beyond my experience of using altp2m.  Good luck :)

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 22:56:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 22:56:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.517055.802063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piNfi-0007dD-NQ; Fri, 31 Mar 2023 22:56:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 517055.802063; Fri, 31 Mar 2023 22: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 1piNfi-0007d6-Kp; Fri, 31 Mar 2023 22:56:38 +0000
Received: by outflank-mailman (input) for mailman id 517055;
 Fri, 31 Mar 2023 22:56: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 1piNfh-0007cw-Of; Fri, 31 Mar 2023 22:56: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 1piNfh-0004ZG-KC; Fri, 31 Mar 2023 22:56: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 1piNfg-00023e-VU; Fri, 31 Mar 2023 22:56:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1piNfg-0002Kj-Sv; Fri, 31 Mar 2023 22:56:36 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=N06MQzGswJLP7ooFwnwVxecWu5NTKwRKLySdn7nAjn4=; b=v3Cmc97nepZpsQ5G4LNFPVuL6t
	DiqomrwUFe4JbQK9EW5YdnkSgAw237QA+UOofUEJvZElTDjVUT+TgVZL9qjy1nnUgcfXdjOiaIdkC
	/pAAaRMzufx4F/F7O41MmmejAuQF1H3N5gAYv93acb2xeqkvCeyrNk3Z8Gm7M2cTuuz0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180082-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 180082: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-libvirt-vhd:guest-start/debian.repeat:fail:regression
    xen-unstable:test-amd64-i386-examine:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-xl-xsm:xen-install: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-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-thunderx:migrate-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-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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:migrate-support-check:fail:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-examine:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-unstable:build-armhf:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=64c21916167e6269280929fab1202537b54b13cf
X-Osstest-Versions-That:
    xen=eef4608fe71feddb5fea86678cf3acaf84d10fd2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 31 Mar 2023 22:56:36 +0000

flight 180082 xen-unstable real [real]
flight 180094 xen-unstable real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180082/
http://logs.test-lab.xenproject.org/osstest/logs/180094/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-libvirt-vhd 19 guest-start/debian.repeat fail REGR. vs. 180062

Tests which are failing intermittently (not blocking):
 test-amd64-i386-examine       6 xen-install         fail pass in 180094-retest
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-install fail pass in 180094-retest
 test-amd64-i386-xl-xsm        7 xen-install         fail pass in 180094-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 180062
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 180062
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 180062
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 180062
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 180062
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 180062
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 180062
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 180062
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 180062
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-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-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-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-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-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-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-examine      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  64c21916167e6269280929fab1202537b54b13cf
baseline version:
 xen                  eef4608fe71feddb5fea86678cf3acaf84d10fd2

Last test of basis   180062  2023-03-30 05:16:10 Z    1 days
Failing since        180073  2023-03-30 20:38:51 Z    1 days    2 attempts
Testing same since   180082  2023-03-31 05:50:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Christian Lindig <christian.lindig@cloud.com>
  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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 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         fail    
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-i386-xl-xsm                                       fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-i386-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              pass    
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemut-debianhvm-amd64                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-i386-freebsd10-amd64                              pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-amd64                       pass    
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         pass    
 test-amd64-i386-xl-qemuu-ovmf-amd64                          pass    
 test-amd64-amd64-xl-qemut-win7-amd64                         fail    
 test-amd64-i386-xl-qemut-win7-amd64                          fail    
 test-amd64-amd64-xl-qemuu-win7-amd64                         fail    
 test-amd64-i386-xl-qemuu-win7-amd64                          fail    
 test-amd64-amd64-xl-qemut-ws16-amd64                         fail    
 test-amd64-i386-xl-qemut-ws16-amd64                          fail    
 test-amd64-amd64-xl-qemuu-ws16-amd64                         fail    
 test-amd64-i386-xl-qemuu-ws16-amd64                          fail    
 test-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                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 test-amd64-i386-examine                                      fail    
 test-amd64-i386-freebsd10-i386                               pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-amd64-xl-pvhv2-intel                              pass    
 test-amd64-i386-qemut-rhel6hvm-intel                         pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     starved 
 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                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 fail    
 test-arm64-arm64-xl-vhd                                      pass    
 test-armhf-armhf-xl-vhd                                      starved 
 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 64c21916167e6269280929fab1202537b54b13cf
Author: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Date:   Tue Mar 21 14:03:47 2023 +0000

    xen/arm: Use the correct format specifier
    
    1. One should use 'PRIpaddr' to display 'paddr_t' variables. However,
    while creating nodes in fdt, the address (if present in the node name)
    should be represented using 'PRIx64'. This is to be in conformance
    with the following rule present in https://elinux.org/Device_Tree_Linux
    
    . node names
    "unit-address does not have leading zeros"
    
    As 'PRIpaddr' introduces leading zeros, we cannot use it.
    
    So, we have introduced a wrapper ie domain_fdt_begin_node() which will
    represent physical address using 'PRIx64'.
    
    2. One should use 'PRIx64' to display 'u64' in hex format. The current
    use of 'PRIpaddr' for printing PTE is buggy as this is not a physical
    address.
    
    Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Julien Grall <jgrall@amazon.com>

commit 12c5eea3ca6fa2674726d62cc9f369f81861d23f
Author: Andrew Cooper <andrew.cooper3@citrix.com>
Date:   Mon Feb 6 20:06:45 2023 +0000

    tools/ocaml/mmap: Drop the len parameter from Xenmmap.write
    
    Strings in Ocaml carry their own length.  Absolutely nothing good can come
    from having caml_string_length(data) be different to len.
    
    Use the appropriate accessor, String_val(), but retain the workaround for the
    Ocaml -safe-string constness bug in the same way as we've done elsewhere in
    Xen.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Christian Lindig <christian.lindig@cloud.com>

commit f41c88a6fca59f99a2eb5e7ed3d90ab7bca08b1b
Author: Jan Beulich <jbeulich@suse.com>
Date:   Thu Mar 30 13:07:16 2023 +0200

    x86emul: pull permission check ahead for REP INS/OUTS
    
    Based on observations on a fair range of hardware from both primary
    vendors even zero-iteration-count instances of these insns perform the
    port related permission checking first.
    
    Fixes: fe300600464c ("x86: Fix emulation of REP prefix")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Fri Mar 31 23:58:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 31 Mar 2023 23:58:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.517071.802113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1piOdY-0005o7-LS; Fri, 31 Mar 2023 23:58:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 517071.802113; Fri, 31 Mar 2023 23:58: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 1piOdY-0005o0-I7; Fri, 31 Mar 2023 23:58:28 +0000
Received: by outflank-mailman (input) for mailman id 517071;
 Fri, 31 Mar 2023 23:58:26 +0000
Received: from mail.xenproject.org ([104.130.215.37])
 by lists.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1piOdW-0005nq-Ki; Fri, 31 Mar 2023 23:58:26 +0000
Received: from host146.205.237.98.conversent.net ([205.237.98.146]
 helo=infra.test-lab.xenproject.org)
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1piOdW-0005zN-Is; Fri, 31 Mar 2023 23:58:26 +0000
Received: from [172.16.148.1] (helo=osstest.test-lab.xenproject.org)
 by infra.test-lab.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <osstest-admin@xenproject.org>)
 id 1piOdW-0004NG-1U; Fri, 31 Mar 2023 23:58:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1piOdW-0005Jc-13; Fri, 31 Mar 2023 23:58:26 +0000
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=SXN+EubYMaAoAYii2CFsZMl6xvNRddIUXyY2DmIGU9U=; b=WpVett1gK/IEizwlZcE6ia2LQo
	MBc8MDm50E48edGk6vtZU9WUg/20DginBIKkbPg5sfqwyiHcv17EluNWSwH9MgVn5zrhpRpjIiqY3
	6b6vkp6eCvu10hjaA9kFuRfZ4XUYBnPuSqb5rt5iEmwdET4F5CVF3KQy2ZmTYDJkbD6Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-180086-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 180086: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-i386-migrupgrade:debian-fixup/dst_host:fail:heisenbug
    xen-4.16-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.16-testing:test-amd64-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-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.16-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.16-testing:build-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-qcow2:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit1:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-credit2:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-cubietruck:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-multivcpu:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-rtds:build-check(1):starved:nonblocking
    xen-4.16-testing:test-armhf-armhf-xl-vhd:build-check(1):starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-raw:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit1:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-credit2:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-thunderx:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-xsm:hosts-allocate:starved:nonblocking
    xen-4.16-testing:build-armhf:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-libvirt-xsm:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl:hosts-allocate:starved:nonblocking
    xen-4.16-testing:test-arm64-arm64-xl-vhd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=06264af090ac69a95cdadbc261cc82d964dcb568
X-Osstest-Versions-That:
    xen=54102e428ba3f677904278479f8110c8eef6fedc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 31 Mar 2023 23:58:26 +0000

flight 180086 xen-4.16-testing real [real]
flight 180096 xen-4.16-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/180086/
http://logs.test-lab.xenproject.org/osstest/logs/180096/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-migrupgrade 21 debian-fixup/dst_host fail pass in 180096-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 179858
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 179858
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 179858
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 179858
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 179858
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 179858
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 179858
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 179858
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 179858
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-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-i386-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-vhd 14 migrate-support-check        fail   never pass
 build-armhf-libvirt           1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt      1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-qcow2  1 build-check(1)               starved  n/a
 test-armhf-armhf-libvirt-raw  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl           1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-cubietruck  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               starved  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               starved  n/a
 test-arm64-arm64-libvirt-raw  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit1   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-credit2   3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-thunderx  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-xsm       3 hosts-allocate               starved  n/a
 build-armhf                   2 hosts-allocate               starved  n/a
 test-arm64-arm64-libvirt-xsm  3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl           3 hosts-allocate               starved  n/a
 test-arm64-arm64-xl-vhd       3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  06264af090ac69a95cdadbc261cc82d964dcb568
baseline version:
 xen                  54102e428ba3f677904278479f8110c8eef6fedc

Last test of basis   179858  2023-03-22 03:34:27 Z    9 days
Testing same since   180086  2023-03-31 07:08:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.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                                                  starved 
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          pass    
 build-armhf-libvirt                                          starved 
 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                                          starved 
 test-armhf-armhf-xl                                          starved 
 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                                 starved 
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      starved 
 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-amd64-amd64-xl-credit1                                  pass    
 test-arm64-arm64-xl-credit1                                  starved 
 test-armhf-armhf-xl-credit1                                  starved 
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  starved 
 test-armhf-armhf-xl-credit2                                  starved 
 test-armhf-armhf-xl-cubietruck                               starved 
 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                                     starved 
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-livepatch                                   pass    
 test-amd64-i386-livepatch                                    pass    
 test-amd64-amd64-migrupgrade                                 pass    
 test-amd64-i386-migrupgrade                                  fail    
 test-amd64-amd64-xl-multivcpu                                pass    
 test-armhf-armhf-xl-multivcpu                                starved 
 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                               starved 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 starved 
 test-armhf-armhf-libvirt-raw                                 starved 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     starved 
 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                                 starved 
 test-amd64-amd64-libvirt-vhd                                 pass    
 test-arm64-arm64-xl-vhd                                      starved 
 test-armhf-armhf-xl-vhd                                      starved 
 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
   54102e428b..06264af090  06264af090ac69a95cdadbc261cc82d964dcb568 -> stable-4.16


